From 295941e007722bd2187f9d2bd43559599654cc76 Mon Sep 17 00:00:00 2001 From: mattf Date: Sun, 15 Mar 2009 13:59:55 +0000 Subject: [PATCH] Created stable release branch of 2.0.5 git-svn-id: svn://192.168.202.10@1074 3d104415-ff17-0410-8863-d5cf3c621b8a --- agc_2-X/branches/agc_2.0.5/INSTALL | 15 + .../LANG_www/agc/active_list_refresh.php | 482 + .../agc_2.0.5/LANG_www/agc/astguiclient.php | 2905 + .../LANG_www/agc/call_log_display.php | 196 + .../LANG_www/agc/conf_exten_check.php | 297 + .../agc_2.0.5/LANG_www/agc/dbconnect.php | 58 + .../agc_2.0.5/LANG_www/agc/images/Thumbs.db | Bin 0 -> 151552 bytes .../agc/images/agc_check_voicemail_BLINK.gif | Bin 0 -> 2627 bytes .../images/agc_check_voicemail_BLINK_e.gif | Bin 0 -> 780 bytes .../images/agc_check_voicemail_BLINK_es.gif | Bin 0 -> 780 bytes .../images/agc_check_voicemail_BLINK_ptbr.gif | Bin 0 -> 886 bytes .../agc/images/agc_check_voicemail_OFF.gif | Bin 0 -> 919 bytes .../agc/images/agc_check_voicemail_OFF_es.gif | Bin 0 -> 785 bytes .../images/agc_check_voicemail_OFF_ptbr.gif | Bin 0 -> 880 bytes .../agc/images/agc_check_voicemail_ON.gif | Bin 0 -> 919 bytes .../agc/images/agc_check_voicemail_ON_es.gif | Bin 0 -> 781 bytes .../images/agc_check_voicemail_ON_ptbr.gif | Bin 0 -> 881 bytes .../LANG_www/agc/images/agc_live_call_OFF.gif | Bin 0 -> 541 bytes .../agc/images/agc_live_call_OFF_es.gif | Bin 0 -> 513 bytes .../agc/images/agc_live_call_OFF_pl.gif | Bin 0 -> 565 bytes .../agc/images/agc_live_call_OFF_ptbr.gif | Bin 0 -> 459 bytes .../LANG_www/agc/images/agc_live_call_ON.gif | Bin 0 -> 793 bytes .../agc/images/agc_live_call_ON_es.gif | Bin 0 -> 871 bytes .../agc/images/agc_live_call_ON_pl.gif | Bin 0 -> 951 bytes .../agc/images/agc_live_call_ON_ptbr.gif | Bin 0 -> 2750 bytes .../agc/images/agc_tab_active_lines.gif | Bin 0 -> 886 bytes .../agc/images/agc_tab_active_lines_el.gif | Bin 0 -> 984 bytes .../agc/images/agc_tab_active_lines_es.gif | Bin 0 -> 704 bytes .../agc/images/agc_tab_active_lines_ptbr.gif | Bin 0 -> 1005 bytes .../agc/images/agc_tab_astguiclient.gif | Bin 0 -> 1092 bytes .../agc/images/agc_tab_astguiclient_ptbr.gif | Bin 0 -> 1092 bytes .../agc/images/agc_tab_conferences.gif | Bin 0 -> 928 bytes .../agc/images/agc_tab_conferences_el.gif | Bin 0 -> 861 bytes .../agc/images/agc_tab_conferences_es.gif | Bin 0 -> 718 bytes .../agc/images/agc_tab_conferences_ptbr.gif | Bin 0 -> 718 bytes .../LANG_www/agc/images/agc_tab_main.gif | Bin 0 -> 596 bytes .../LANG_www/agc/images/agc_tab_main_el.gif | Bin 0 -> 722 bytes .../LANG_www/agc/images/agc_tab_main_es.gif | Bin 0 -> 541 bytes .../LANG_www/agc/images/agc_tab_main_ptbr.gif | Bin 0 -> 541 bytes .../agc_2.0.5/LANG_www/agc/images/blank.gif | Bin 0 -> 43 bytes .../agc_2.0.5/LANG_www/agc/images/br.gif | Bin 0 -> 397 bytes .../agc_2.0.5/LANG_www/agc/images/de.gif | Bin 0 -> 162 bytes .../agc_2.0.5/LANG_www/agc/images/down.gif | Bin 0 -> 169 bytes .../agc_2.0.5/LANG_www/agc/images/el.gif | Bin 0 -> 245 bytes .../agc_2.0.5/LANG_www/agc/images/en.gif | Bin 0 -> 322 bytes .../agc_2.0.5/LANG_www/agc/images/es.gif | Bin 0 -> 222 bytes .../agc_2.0.5/LANG_www/agc/images/fr.gif | Bin 0 -> 217 bytes .../agc_2.0.5/LANG_www/agc/images/it.gif | Bin 0 -> 198 bytes .../agc_2.0.5/LANG_www/agc/images/pl.gif | Bin 0 -> 276 bytes .../agc_2.0.5/LANG_www/agc/images/pt.gif | Bin 0 -> 208 bytes .../agc_2.0.5/LANG_www/agc/images/remove.gif | Bin 0 -> 176 bytes .../agc_2.0.5/LANG_www/agc/images/up.gif | Bin 0 -> 169 bytes .../agc/images/vdc_LB_dialnextnumber.gif | Bin 0 -> 831 bytes .../agc/images/vdc_LB_dialnextnumber_OFF.gif | Bin 0 -> 827 bytes .../images/vdc_LB_dialnextnumber_OFF_es.gif | Bin 0 -> 914 bytes .../images/vdc_LB_dialnextnumber_OFF_ptbr.gif | Bin 0 -> 961 bytes .../agc/images/vdc_LB_dialnextnumber_es.gif | Bin 0 -> 914 bytes .../agc/images/vdc_LB_dialnextnumber_ptbr.gif | Bin 0 -> 965 bytes .../agc/images/vdc_LB_grabparkedcall.gif | Bin 0 -> 804 bytes .../agc/images/vdc_LB_grabparkedcall_OFF.gif | Bin 0 -> 802 bytes .../images/vdc_LB_grabparkedcall_OFF_es.gif | Bin 0 -> 827 bytes .../images/vdc_LB_grabparkedcall_OFF_ptbr.gif | Bin 0 -> 981 bytes .../agc/images/vdc_LB_grabparkedcall_es.gif | Bin 0 -> 826 bytes .../agc/images/vdc_LB_grabparkedcall_ptbr.gif | Bin 0 -> 985 bytes .../agc/images/vdc_LB_hangupcustomer.gif | Bin 0 -> 803 bytes .../agc/images/vdc_LB_hangupcustomer_OFF.gif | Bin 0 -> 803 bytes .../images/vdc_LB_hangupcustomer_OFF_es.gif | Bin 0 -> 693 bytes .../images/vdc_LB_hangupcustomer_OFF_pl.gif | Bin 0 -> 924 bytes .../images/vdc_LB_hangupcustomer_OFF_ptbr.gif | Bin 0 -> 811 bytes .../agc/images/vdc_LB_hangupcustomer_es.gif | Bin 0 -> 697 bytes .../agc/images/vdc_LB_hangupcustomer_pl.gif | Bin 0 -> 924 bytes .../agc/images/vdc_LB_hangupcustomer_ptbr.gif | Bin 0 -> 1029 bytes .../LANG_www/agc/images/vdc_LB_parkcall.gif | Bin 0 -> 601 bytes .../agc/images/vdc_LB_parkcall_OFF.gif | Bin 0 -> 607 bytes .../agc/images/vdc_LB_parkcall_OFF_es.gif | Bin 0 -> 644 bytes .../agc/images/vdc_LB_parkcall_OFF_pl.gif | Bin 0 -> 949 bytes .../agc/images/vdc_LB_parkcall_OFF_ptbr.gif | Bin 0 -> 830 bytes .../agc/images/vdc_LB_parkcall_es.gif | Bin 0 -> 646 bytes .../agc/images/vdc_LB_parkcall_pl.gif | Bin 0 -> 978 bytes .../agc/images/vdc_LB_parkcall_ptbr.gif | Bin 0 -> 858 bytes .../LANG_www/agc/images/vdc_LB_pause.gif | Bin 0 -> 483 bytes .../LANG_www/agc/images/vdc_LB_pause_OFF.gif | Bin 0 -> 483 bytes .../agc/images/vdc_LB_pause_OFF_es.gif | Bin 0 -> 404 bytes .../agc/images/vdc_LB_pause_OFF_pl.gif | Bin 0 -> 545 bytes .../agc/images/vdc_LB_pause_OFF_ptbr.gif | Bin 0 -> 438 bytes .../LANG_www/agc/images/vdc_LB_pause_es.gif | Bin 0 -> 410 bytes .../LANG_www/agc/images/vdc_LB_pause_pl.gif | Bin 0 -> 551 bytes .../LANG_www/agc/images/vdc_LB_pause_ptbr.gif | Bin 0 -> 989 bytes .../LANG_www/agc/images/vdc_LB_resume.gif | Bin 0 -> 535 bytes .../LANG_www/agc/images/vdc_LB_resume_OFF.gif | Bin 0 -> 533 bytes .../agc/images/vdc_LB_resume_OFF_es.gif | Bin 0 -> 495 bytes .../agc/images/vdc_LB_resume_OFF_pl.gif | Bin 0 -> 579 bytes .../agc/images/vdc_LB_resume_OFF_ptbr.gif | Bin 0 -> 416 bytes .../LANG_www/agc/images/vdc_LB_resume_es.gif | Bin 0 -> 500 bytes .../LANG_www/agc/images/vdc_LB_resume_pl.gif | Bin 0 -> 591 bytes .../agc/images/vdc_LB_resume_ptbr.gif | Bin 0 -> 394 bytes .../LANG_www/agc/images/vdc_LB_senddtmf.gif | Bin 0 -> 567 bytes .../agc/images/vdc_LB_senddtmf_OFF.gif | Bin 0 -> 563 bytes .../agc/images/vdc_LB_senddtmf_OFF_es.gif | Bin 0 -> 563 bytes .../agc/images/vdc_LB_senddtmf_OFF_ptbr.gif | Bin 0 -> 563 bytes .../agc/images/vdc_LB_senddtmf_es.gif | Bin 0 -> 564 bytes .../agc/images/vdc_LB_senddtmf_ptbr.gif | Bin 0 -> 564 bytes .../LANG_www/agc/images/vdc_LB_spacer.gif | Bin 0 -> 90 bytes .../agc/images/vdc_LB_startrecording.gif | Bin 0 -> 778 bytes .../agc/images/vdc_LB_startrecording_OFF.gif | Bin 0 -> 778 bytes .../images/vdc_LB_startrecording_OFF_es.gif | Bin 0 -> 788 bytes .../images/vdc_LB_startrecording_OFF_p.gif | Bin 0 -> 824 bytes .../images/vdc_LB_startrecording_OFF_pl.gif | Bin 0 -> 647 bytes .../images/vdc_LB_startrecording_OFF_ptbr.gif | Bin 0 -> 783 bytes .../agc/images/vdc_LB_startrecording_es.gif | Bin 0 -> 788 bytes .../agc/images/vdc_LB_startrecording_pl.gif | Bin 0 -> 823 bytes .../agc/images/vdc_LB_startrecording_ptbr.gif | Bin 0 -> 784 bytes .../agc/images/vdc_LB_stoprecording.gif | Bin 0 -> 758 bytes .../agc/images/vdc_LB_stoprecording_OFF.gif | Bin 0 -> 757 bytes .../images/vdc_LB_stoprecording_OFF_es.gif | Bin 0 -> 701 bytes .../images/vdc_LB_stoprecording_OFF_pl.gif | Bin 0 -> 839 bytes .../images/vdc_LB_stoprecording_OFF_ptbr.gif | Bin 0 -> 778 bytes .../agc/images/vdc_LB_stoprecording_es.gif | Bin 0 -> 699 bytes .../agc/images/vdc_LB_stoprecording_pl.gif | Bin 0 -> 876 bytes .../agc/images/vdc_LB_stoprecording_ptbr.gif | Bin 0 -> 779 bytes .../agc/images/vdc_LB_transferconf.gif | Bin 0 -> 732 bytes .../agc/images/vdc_LB_transferconf_OFF.gif | Bin 0 -> 732 bytes .../agc/images/vdc_LB_transferconf_OFF_es.gif | Bin 0 -> 712 bytes .../agc/images/vdc_LB_transferconf_OFF_pl.gif | Bin 0 -> 1007 bytes .../images/vdc_LB_transferconf_OFF_ptbr.gif | Bin 0 -> 896 bytes .../agc/images/vdc_LB_transferconf_es.gif | Bin 0 -> 714 bytes .../agc/images/vdc_LB_transferconf_pl.gif | Bin 0 -> 1019 bytes .../agc/images/vdc_LB_transferconf_ptbr.gif | Bin 0 -> 898 bytes .../LANG_www/agc/images/vdc_LB_webform.gif | Bin 0 -> 542 bytes .../agc/images/vdc_LB_webform_OFF.gif | Bin 0 -> 615 bytes .../agc/images/vdc_LB_webform_OFF_es.gif | Bin 0 -> 661 bytes .../agc/images/vdc_LB_webform_OFF_pl.gif | Bin 0 -> 788 bytes .../agc/images/vdc_LB_webform_OFF_ptbr.gif | Bin 0 -> 661 bytes .../LANG_www/agc/images/vdc_LB_webform_es.gif | Bin 0 -> 583 bytes .../LANG_www/agc/images/vdc_LB_webform_pl.gif | Bin 0 -> 703 bytes .../agc/images/vdc_LB_webform_ptbr.gif | Bin 0 -> 583 bytes .../LANG_www/agc/images/vdc_XB_ammessage.gif | Bin 0 -> 396 bytes .../agc/images/vdc_XB_ammessage_OFF.gif | Bin 0 -> 403 bytes .../agc/images/vdc_XB_blindtransfer.gif | Bin 0 -> 774 bytes .../agc/images/vdc_XB_blindtransfer_OFF.gif | Bin 0 -> 774 bytes .../images/vdc_XB_blindtransfer_OFF_es.gif | Bin 0 -> 758 bytes .../images/vdc_XB_blindtransfer_OFF_ptbr.gif | Bin 0 -> 901 bytes .../agc/images/vdc_XB_blindtransfer_es.gif | Bin 0 -> 758 bytes .../agc/images/vdc_XB_blindtransfer_ptbr.gif | Bin 0 -> 901 bytes .../LANG_www/agc/images/vdc_XB_channel.gif | Bin 0 -> 314 bytes .../LANG_www/agc/images/vdc_XB_channel_es.gif | Bin 0 -> 242 bytes .../agc/images/vdc_XB_channel_ptbr.gif | Bin 0 -> 242 bytes .../LANG_www/agc/images/vdc_XB_code.gif | Bin 0 -> 247 bytes .../agc/images/vdc_XB_dialwithcustomer.gif | Bin 0 -> 881 bytes .../images/vdc_XB_dialwithcustomer_OFF.gif | Bin 0 -> 881 bytes .../images/vdc_XB_dialwithcustomer_OFF_es.gif | Bin 0 -> 776 bytes .../vdc_XB_dialwithcustomer_OFF_ptbr.gif | Bin 0 -> 873 bytes .../agc/images/vdc_XB_dialwithcustomer_es.gif | Bin 0 -> 776 bytes .../images/vdc_XB_dialwithcustomer_ptbr.gif | Bin 0 -> 873 bytes .../agc/images/vdc_XB_hangupbothlines.gif | Bin 0 -> 849 bytes .../agc/images/vdc_XB_hangupbothlines_OFF.gif | Bin 0 -> 849 bytes .../images/vdc_XB_hangupbothlines_OFF_es.gif | Bin 0 -> 809 bytes .../vdc_XB_hangupbothlines_OFF_ptbr.gif | Bin 0 -> 858 bytes .../agc/images/vdc_XB_hangupbothlines_es.gif | Bin 0 -> 809 bytes .../images/vdc_XB_hangupbothlines_ptbr.gif | Bin 0 -> 858 bytes .../agc/images/vdc_XB_hangupxferline.gif | Bin 0 -> 803 bytes .../agc/images/vdc_XB_hangupxferline_OFF.gif | Bin 0 -> 803 bytes .../images/vdc_XB_hangupxferline_OFF_es.gif | Bin 0 -> 702 bytes .../images/vdc_XB_hangupxferline_OFF_ptbr.gif | Bin 0 -> 828 bytes .../agc/images/vdc_XB_hangupxferline_es.gif | Bin 0 -> 702 bytes .../agc/images/vdc_XB_hangupxferline_ptbr.gif | Bin 0 -> 828 bytes .../LANG_www/agc/images/vdc_XB_header.gif | Bin 0 -> 884 bytes .../LANG_www/agc/images/vdc_XB_header_es.gif | Bin 0 -> 639 bytes .../agc/images/vdc_XB_header_ptbr.gif | Bin 0 -> 639 bytes .../agc/images/vdc_XB_hotkeysactive.gif | Bin 0 -> 791 bytes .../agc/images/vdc_XB_hotkeysactive_OFF.gif | Bin 0 -> 786 bytes .../vdc_XB_hotkeysactive_OFF_es-orig.gif | Bin 0 -> 1231 bytes .../images/vdc_XB_hotkeysactive_OFF_es.gif | Bin 0 -> 1256 bytes .../images/vdc_XB_hotkeysactive_OFF_pl.gif | Bin 0 -> 882 bytes .../images/vdc_XB_hotkeysactive_OFF_ptbr.gif | Bin 0 -> 948 bytes .../agc/images/vdc_XB_hotkeysactive_es.gif | Bin 0 -> 1231 bytes .../agc/images/vdc_XB_hotkeysactive_pl.gif | Bin 0 -> 817 bytes .../agc/images/vdc_XB_hotkeysactive_ptbr.gif | Bin 0 -> 997 bytes .../agc/images/vdc_XB_hotkeysinactive_es.gif | Bin 0 -> 1256 bytes .../agc/images/vdc_XB_internalcloser.gif | Bin 0 -> 801 bytes .../agc/images/vdc_XB_internalcloser_OFF.gif | Bin 0 -> 801 bytes .../images/vdc_XB_internalcloser_OFF_es.gif | Bin 0 -> 640 bytes .../images/vdc_XB_internalcloser_OFF_ptbr.gif | Bin 0 -> 640 bytes .../agc/images/vdc_XB_internalcloser_es.gif | Bin 0 -> 640 bytes .../agc/images/vdc_XB_internalcloser_ptbr.gif | Bin 0 -> 640 bytes .../agc/images/vdc_XB_leave3waycall.gif | Bin 0 -> 816 bytes .../agc/images/vdc_XB_leave3waycall_OFF.gif | Bin 0 -> 816 bytes .../images/vdc_XB_leave3waycall_OFF_es.gif | Bin 0 -> 834 bytes .../images/vdc_XB_leave3waycall_OFF_ptbr.gif | Bin 0 -> 816 bytes .../agc/images/vdc_XB_leave3waycall_es.gif | Bin 0 -> 834 bytes .../agc/images/vdc_XB_leave3waycall_ptbr.gif | Bin 0 -> 816 bytes .../agc/images/vdc_XB_localcloser.gif | Bin 0 -> 728 bytes .../agc/images/vdc_XB_localcloser_OFF.gif | Bin 0 -> 728 bytes .../agc/images/vdc_XB_localcloser_OFF_es.gif | Bin 0 -> 607 bytes .../images/vdc_XB_localcloser_OFF_ptbr.gif | Bin 0 -> 607 bytes .../agc/images/vdc_XB_localcloser_es.gif | Bin 0 -> 606 bytes .../agc/images/vdc_XB_localcloser_ptbr.gif | Bin 0 -> 606 bytes .../LANG_www/agc/images/vdc_XB_number.gif | Bin 0 -> 480 bytes .../LANG_www/agc/images/vdc_XB_number_es.gif | Bin 0 -> 416 bytes .../agc/images/vdc_XB_number_ptbr.gif | Bin 0 -> 449 bytes .../agc/images/vdc_XB_parkcustomerdial.gif | Bin 0 -> 896 bytes .../images/vdc_XB_parkcustomerdial_OFF.gif | Bin 0 -> 896 bytes .../images/vdc_XB_parkcustomerdial_OFF_es.gif | Bin 0 -> 661 bytes .../vdc_XB_parkcustomerdial_OFF_ptbr.gif | Bin 0 -> 916 bytes .../agc/images/vdc_XB_parkcustomerdial_es.gif | Bin 0 -> 659 bytes .../images/vdc_XB_parkcustomerdial_ptbr.gif | Bin 0 -> 916 bytes .../LANG_www/agc/images/vdc_XB_seconds.gif | Bin 0 -> 352 bytes .../LANG_www/agc/images/vdc_XB_seconds_es.gif | Bin 0 -> 333 bytes .../agc/images/vdc_XB_seconds_ptbr.gif | Bin 0 -> 333 bytes .../LANG_www/agc/images/vdc_tab_script.gif | Bin 0 -> 825 bytes .../LANG_www/agc/images/vdc_tab_script_es.gif | Bin 0 -> 916 bytes .../agc/images/vdc_tab_script_ptbr.gif | Bin 0 -> 825 bytes .../LANG_www/agc/images/vdc_tab_vicidial.gif | Bin 0 -> 866 bytes .../agc/images/vdc_tab_vicidial_ptbr.gif | Bin 0 -> 866 bytes .../LANG_www/agc/images/vdc_volume_MUTE.gif | Bin 0 -> 601 bytes .../LANG_www/agc/images/vdc_volume_UNMUTE.gif | Bin 0 -> 624 bytes .../LANG_www/agc/images/vdc_volume_down.gif | Bin 0 -> 356 bytes .../agc/images/vdc_volume_down_off.gif | Bin 0 -> 343 bytes .../LANG_www/agc/images/vdc_volume_up.gif | Bin 0 -> 377 bytes .../LANG_www/agc/images/vdc_volume_up_off.gif | Bin 0 -> 379 bytes .../agc_2.0.5/LANG_www/agc/inbound_popup.php | 351 + .../LANG_www/agc/live_exten_check.php | 278 + .../agc_2.0.5/LANG_www/agc/manager_send.php | 1142 + .../LANG_www/agc/park_calls_display.php | 146 + .../agc_2.0.5/LANG_www/agc/vdc_db_query.php | 2535 + .../agc_2.0.5/LANG_www/agc/vicidial.php | 6797 ++ .../LANG_www/agc/voicemail_check.php | 140 + .../LANG_www/agc_br/active_list_refresh.php | 482 + .../LANG_www/agc_br/astguiclient.php | 2905 + .../LANG_www/agc_br/call_log_display.php | 196 + .../LANG_www/agc_br/conf_exten_check.php | 297 + .../agc_2.0.5/LANG_www/agc_br/dbconnect.php | 58 + .../LANG_www/agc_br/inbound_popup.php | 351 + .../LANG_www/agc_br/live_exten_check.php | 278 + .../LANG_www/agc_br/manager_send.php | 1142 + .../LANG_www/agc_br/park_calls_display.php | 146 + .../LANG_www/agc_br/vdc_db_query.php | 2535 + .../agc_2.0.5/LANG_www/agc_br/vicidial.php | 6797 ++ .../LANG_www/agc_br/voicemail_check.php | 140 + .../LANG_www/agc_de/active_list_refresh.php | 482 + .../LANG_www/agc_de/astguiclient.php | 2905 + .../LANG_www/agc_de/call_log_display.php | 196 + .../LANG_www/agc_de/conf_exten_check.php | 297 + .../agc_2.0.5/LANG_www/agc_de/dbconnect.php | 58 + .../LANG_www/agc_de/inbound_popup.php | 351 + .../LANG_www/agc_de/live_exten_check.php | 278 + .../LANG_www/agc_de/manager_send.php | 1142 + .../LANG_www/agc_de/park_calls_display.php | 146 + .../LANG_www/agc_de/vdc_db_query.php | 2535 + .../agc_2.0.5/LANG_www/agc_de/vicidial.php | 6797 ++ .../LANG_www/agc_de/voicemail_check.php | 140 + .../LANG_www/agc_el/active_list_refresh.php | 482 + .../LANG_www/agc_el/astguiclient.php | 2905 + .../LANG_www/agc_el/call_log_display.php | 196 + .../LANG_www/agc_el/conf_exten_check.php | 297 + .../agc_2.0.5/LANG_www/agc_el/dbconnect.php | 58 + .../LANG_www/agc_el/inbound_popup.php | 351 + .../LANG_www/agc_el/live_exten_check.php | 278 + .../LANG_www/agc_el/manager_send.php | 1142 + .../LANG_www/agc_el/park_calls_display.php | 146 + .../LANG_www/agc_el/vdc_db_query.php | 2535 + .../agc_2.0.5/LANG_www/agc_el/vicidial.php | 6797 ++ .../LANG_www/agc_el/voicemail_check.php | 140 + .../agc_2.0.5/LANG_www/agc_en/vicidial.php | 29 + .../LANG_www/agc_es/active_list_refresh.php | 482 + .../LANG_www/agc_es/astguiclient.php | 2905 + .../LANG_www/agc_es/call_log_display.php | 196 + .../LANG_www/agc_es/conf_exten_check.php | 297 + .../agc_2.0.5/LANG_www/agc_es/dbconnect.php | 58 + .../LANG_www/agc_es/inbound_popup.php | 351 + .../LANG_www/agc_es/live_exten_check.php | 278 + .../LANG_www/agc_es/manager_send.php | 1142 + .../LANG_www/agc_es/park_calls_display.php | 146 + .../LANG_www/agc_es/vdc_db_query.php | 2535 + .../agc_2.0.5/LANG_www/agc_es/vicidial.php | 6797 ++ .../LANG_www/agc_es/voicemail_check.php | 140 + .../LANG_www/agc_fr/active_list_refresh.php | 482 + .../LANG_www/agc_fr/astguiclient.php | 2905 + .../LANG_www/agc_fr/call_log_display.php | 196 + .../LANG_www/agc_fr/conf_exten_check.php | 297 + .../agc_2.0.5/LANG_www/agc_fr/dbconnect.php | 58 + .../LANG_www/agc_fr/inbound_popup.php | 351 + .../LANG_www/agc_fr/live_exten_check.php | 278 + .../LANG_www/agc_fr/manager_send.php | 1142 + .../LANG_www/agc_fr/park_calls_display.php | 146 + .../LANG_www/agc_fr/vdc_db_query.php | 2535 + .../agc_2.0.5/LANG_www/agc_fr/vicidial.php | 6797 ++ .../LANG_www/agc_fr/voicemail_check.php | 140 + .../LANG_www/agc_it/active_list_refresh.php | 482 + .../LANG_www/agc_it/astguiclient.php | 2905 + .../LANG_www/agc_it/call_log_display.php | 196 + .../LANG_www/agc_it/conf_exten_check.php | 412 + .../agc_2.0.5/LANG_www/agc_it/dbconnect.php | 58 + .../LANG_www/agc_it/inbound_popup.php | 351 + .../LANG_www/agc_it/live_exten_check.php | 278 + .../LANG_www/agc_it/manager_send.php | 1888 + .../LANG_www/agc_it/park_calls_display.php | 146 + .../LANG_www/agc_it/vdc_db_query.php | 3669 + .../agc_2.0.5/LANG_www/agc_it/vicidial.php | 7876 ++ .../LANG_www/agc_it/voicemail_check.php | 140 + .../LANG_www/agc_pl/active_list_refresh.php | 482 + .../LANG_www/agc_pl/astguiclient.php | 2905 + .../LANG_www/agc_pl/call_log_display.php | 196 + .../LANG_www/agc_pl/conf_exten_check.php | 297 + .../agc_2.0.5/LANG_www/agc_pl/dbconnect.php | 58 + .../LANG_www/agc_pl/inbound_popup.php | 351 + .../LANG_www/agc_pl/live_exten_check.php | 278 + .../LANG_www/agc_pl/manager_send.php | 1142 + .../LANG_www/agc_pl/park_calls_display.php | 146 + .../LANG_www/agc_pl/vdc_db_query.php | 2535 + .../agc_2.0.5/LANG_www/agc_pl/vicidial.php | 6797 ++ .../LANG_www/agc_pl/voicemail_check.php | 140 + .../LANG_www/agc_pt/active_list_refresh.php | 482 + .../LANG_www/agc_pt/astguiclient.php | 2905 + .../LANG_www/agc_pt/call_log_display.php | 196 + .../LANG_www/agc_pt/conf_exten_check.php | 297 + .../agc_2.0.5/LANG_www/agc_pt/dbconnect.php | 58 + .../LANG_www/agc_pt/inbound_popup.php | 351 + .../LANG_www/agc_pt/live_exten_check.php | 278 + .../LANG_www/agc_pt/manager_send.php | 1142 + .../LANG_www/agc_pt/park_calls_display.php | 146 + .../LANG_www/agc_pt/vdc_db_query.php | 2535 + .../agc_2.0.5/LANG_www/agc_pt/vicidial.php | 6797 ++ .../LANG_www/agc_pt/voicemail_check.php | 140 + .../LANG_www/agc_sk/active_list_refresh.php | 482 + .../LANG_www/agc_sk/astguiclient.php | 2905 + .../LANG_www/agc_sk/call_log_display.php | 196 + .../LANG_www/agc_sk/conf_exten_check.php | 353 + .../agc_2.0.5/LANG_www/agc_sk/dbconnect.php | 58 + .../LANG_www/agc_sk/inbound_popup.php | 351 + .../LANG_www/agc_sk/live_exten_check.php | 278 + .../LANG_www/agc_sk/manager_send.php | 1779 + .../LANG_www/agc_sk/park_calls_display.php | 146 + .../LANG_www/agc_sk/vdc_db_query.php | 3163 + .../agc_2.0.5/LANG_www/agc_sk/vicidial.php | 7763 ++ .../LANG_www/agc_sk/voicemail_check.php | 140 + .../LANG_www/vicidial/AST_CLOSERstats.php | 617 + .../LANG_www/vicidial/AST_VDADstats.php | 647 + .../vicidial/AST_VICIDIAL_hopperlist.php | 169 + .../vicidial/AST_admin_log_display.php | 118 + .../vicidial/AST_agent_disposition.php | 237 + .../vicidial/AST_agent_performance.php | 257 + .../vicidial/AST_agent_performance_detail.php | 557 + .../vicidial/AST_agent_time_sheet.php | 286 + .../vicidial/AST_agent_time_sheet_archive.php | 286 + .../LANG_www/vicidial/AST_inboundEXTstats.php | 400 + .../AST_inboundEXTstats_department.php | 178 + .../LANG_www/vicidial/AST_parkstats.php | 396 + .../vicidial/AST_server_performance.php | 306 + .../LANG_www/vicidial/AST_timeonVDAD.php | 374 + .../vicidial/AST_timeonVDAD_closer.php | 318 + .../LANG_www/vicidial/AST_timeonVDADall.php | 826 + .../vicidial/AST_timeonVDADallREC.php | 943 + .../vicidial/AST_timeonVDADallSUMMARY.php | 442 + .../LANG_www/vicidial/AST_timeoncall.php | 180 + .../LANG_www/vicidial/AST_timeonpark.php | 219 + .../agc_2.0.5/LANG_www/vicidial/admin.php | 13575 ++++ .../LANG_www/vicidial/admin_modify_lead.php | 610 + .../LANG_www/vicidial/admin_search_lead.php | 225 + .../vicidial/closer-fronter_popup.php | 516 + .../vicidial/closer-fronter_popup2.php | 431 + .../agc_2.0.5/LANG_www/vicidial/closer.php | 353 + .../LANG_www/vicidial/closer_dispo.php | 329 + .../LANG_www/vicidial/closer_popup.php | 453 + .../agc_2.0.5/LANG_www/vicidial/count.htm | 1 + .../agc_2.0.5/LANG_www/vicidial/dbconnect.php | 49 + .../LANG_www/vicidial/group_hourly_stats.php | 252 + .../agc_2.0.5/LANG_www/vicidial/help.gif | Bin 0 -> 492 bytes .../LANG_www/vicidial/listloader.php | 926 + .../agc_2.0.5/LANG_www/vicidial/listloader.pl | 1084 + .../LANG_www/vicidial/listloaderMAIN.php | 86 + .../vicidial/listloader_rowdisplay.pl | 153 + .../LANG_www/vicidial/listloader_super.pl | 1086 + .../agc_2.0.5/LANG_www/vicidial/log_test.php | 37 + .../vicidial/new_listloader_superL.php | 2069 + .../LANG_www/vicidial/phone_stats.php | 245 + .../LANG_www/vicidial/record_conf_1_hour.php | 156 + .../LANG_www/vicidial/remote_dispo.php | 327 + .../LANG_www/vicidial/server_stats.php | 97 + .../LANG_www/vicidial/user_stats.php | 408 + .../LANG_www/vicidial/user_status.php | 242 + .../agc_2.0.5/LANG_www/vicidial/vdremote.php | 602 + .../agc_2.0.5/LANG_www/vicidial/voice_lab.php | 312 + .../LANG_www/vicidial/vtiger_search.php | 313 + .../agc_2.0.5/LANG_www/vicidial/welcome.php | 25 + .../LANG_www/vicidial_de/AST_CLOSERstats.php | 617 + .../LANG_www/vicidial_de/AST_VDADstats.php | 647 + .../vicidial_de/AST_VICIDIAL_hopperlist.php | 169 + .../vicidial_de/AST_admin_log_display.php | 118 + .../vicidial_de/AST_agent_performance.php | 257 + .../AST_agent_performance_detail.php | 557 + .../vicidial_de/AST_agent_time_sheet.php | 286 + .../vicidial_de/AST_inboundEXTstats.php | 400 + .../vicidial_de/AST_server_performance.php | 306 + .../LANG_www/vicidial_de/AST_timeonVDAD.php | 374 + .../vicidial_de/AST_timeonVDAD_closer.php | 318 + .../vicidial_de/AST_timeonVDADall.php | 826 + .../vicidial_de/AST_timeonVDADallSUMMARY.php | 442 + .../LANG_www/vicidial_de/AST_timeoncall.php | 180 + .../LANG_www/vicidial_de/AST_timeonpark.php | 219 + .../agc_2.0.5/LANG_www/vicidial_de/admin.php | 13575 ++++ .../vicidial_de/admin_modify_lead.php | 610 + .../vicidial_de/admin_search_lead.php | 225 + .../agc_2.0.5/LANG_www/vicidial_de/count.htm | 1 + .../LANG_www/vicidial_de/dbconnect.php | 49 + .../vicidial_de/group_hourly_stats.php | 252 + .../agc_2.0.5/LANG_www/vicidial_de/help.gif | Bin 0 -> 492 bytes .../LANG_www/vicidial_de/listloader.php | 926 + .../LANG_www/vicidial_de/listloader.pl | 1084 + .../LANG_www/vicidial_de/listloaderMAIN.php | 86 + .../vicidial_de/listloader_rowdisplay.pl | 153 + .../LANG_www/vicidial_de/listloader_super.pl | 1086 + .../vicidial_de/new_listloader_superL.php | 2069 + .../LANG_www/vicidial_de/remote_dispo.php | 327 + .../LANG_www/vicidial_de/server_stats.php | 97 + .../LANG_www/vicidial_de/user_stats.php | 408 + .../LANG_www/vicidial_de/user_status.php | 242 + .../LANG_www/vicidial_de/vdremote.php | 602 + .../LANG_www/vicidial_de/welcome.php | 25 + .../LANG_www/vicidial_el/AST_CLOSERstats.php | 617 + .../LANG_www/vicidial_el/AST_VDADstats.php | 647 + .../vicidial_el/AST_VICIDIAL_hopperlist.php | 169 + .../vicidial_el/AST_admin_log_display.php | 118 + .../vicidial_el/AST_agent_performance.php | 257 + .../AST_agent_performance_detail.php | 557 + .../vicidial_el/AST_agent_time_sheet.php | 286 + .../vicidial_el/AST_inboundEXTstats.php | 400 + .../vicidial_el/AST_server_performance.php | 306 + .../LANG_www/vicidial_el/AST_timeonVDAD.php | 374 + .../vicidial_el/AST_timeonVDAD_closer.php | 318 + .../vicidial_el/AST_timeonVDADall.php | 826 + .../vicidial_el/AST_timeonVDADallSUMMARY.php | 442 + .../LANG_www/vicidial_el/AST_timeoncall.php | 180 + .../LANG_www/vicidial_el/AST_timeonpark.php | 219 + .../agc_2.0.5/LANG_www/vicidial_el/admin.php | 13593 ++++ .../vicidial_el/admin_modify_lead.php | 610 + .../vicidial_el/admin_search_lead.php | 225 + .../agc_2.0.5/LANG_www/vicidial_el/count.htm | 1 + .../LANG_www/vicidial_el/dbconnect.php | 49 + .../vicidial_el/group_hourly_stats.php | 252 + .../agc_2.0.5/LANG_www/vicidial_el/help.gif | Bin 0 -> 492 bytes .../LANG_www/vicidial_el/listloader.php | 926 + .../LANG_www/vicidial_el/listloader.pl | 1084 + .../LANG_www/vicidial_el/listloaderMAIN.php | 86 + .../vicidial_el/listloader_rowdisplay.pl | 153 + .../LANG_www/vicidial_el/listloader_super.pl | 1086 + .../vicidial_el/new_listloader_superL.php | 2069 + .../LANG_www/vicidial_el/remote_dispo.php | 327 + .../LANG_www/vicidial_el/server_stats.php | 97 + .../LANG_www/vicidial_el/user_stats.php | 408 + .../LANG_www/vicidial_el/user_status.php | 242 + .../LANG_www/vicidial_el/vdremote.php | 602 + .../LANG_www/vicidial_el/welcome.php | 25 + .../agc_2.0.5/LANG_www/vicidial_en/admin.php | 29 + .../LANG_www/vicidial_es/AST_CLOSERstats.php | 617 + .../LANG_www/vicidial_es/AST_VDADstats.php | 647 + .../vicidial_es/AST_VICIDIAL_hopperlist.php | 169 + .../vicidial_es/AST_admin_log_display.php | 118 + .../vicidial_es/AST_agent_performance.php | 257 + .../AST_agent_performance_detail.php | 557 + .../vicidial_es/AST_agent_time_sheet.php | 286 + .../vicidial_es/AST_inboundEXTstats.php | 400 + .../vicidial_es/AST_server_performance.php | 306 + .../LANG_www/vicidial_es/AST_timeonVDAD.php | 374 + .../vicidial_es/AST_timeonVDAD_closer.php | 318 + .../vicidial_es/AST_timeonVDADall.php | 826 + .../vicidial_es/AST_timeonVDADallSUMMARY.php | 442 + .../LANG_www/vicidial_es/AST_timeoncall.php | 180 + .../LANG_www/vicidial_es/AST_timeonpark.php | 219 + .../agc_2.0.5/LANG_www/vicidial_es/admin.php | 13575 ++++ .../vicidial_es/admin_modify_lead.php | 610 + .../vicidial_es/admin_search_lead.php | 225 + .../agc_2.0.5/LANG_www/vicidial_es/count.htm | 1 + .../LANG_www/vicidial_es/dbconnect.php | 49 + .../vicidial_es/group_hourly_stats.php | 252 + .../agc_2.0.5/LANG_www/vicidial_es/help.gif | Bin 0 -> 492 bytes .../LANG_www/vicidial_es/listloader.php | 926 + .../LANG_www/vicidial_es/listloader.pl | 1084 + .../LANG_www/vicidial_es/listloaderMAIN.php | 86 + .../vicidial_es/listloader_rowdisplay.pl | 153 + .../LANG_www/vicidial_es/listloader_super.pl | 1086 + .../vicidial_es/new_listloader_superL.php | 2069 + .../LANG_www/vicidial_es/remote_dispo.php | 327 + .../LANG_www/vicidial_es/server_stats.php | 97 + .../LANG_www/vicidial_es/user_stats.php | 408 + .../LANG_www/vicidial_es/user_status.php | 242 + .../LANG_www/vicidial_es/vdremote.php | 602 + .../LANG_www/vicidial_es/welcome.php | 25 + .../LANG_www/vicidial_it/AST_CLOSERstats.php | 1490 + .../LANG_www/vicidial_it/AST_IVRstats.php | 675 + .../LANG_www/vicidial_it/AST_VDADstats.php | 958 + .../vicidial_it/AST_VICIDIAL_hopperlist.php | 169 + .../vicidial_it/AST_admin_log_display.php | 118 + .../vicidial_it/AST_agent_performance.php | 257 + .../AST_agent_performance_detail.php | 862 + .../vicidial_it/AST_agent_time_sheet.php | 385 + .../vicidial_it/AST_inboundEXTstats.php | 400 + .../vicidial_it/AST_server_performance.php | 332 + .../LANG_www/vicidial_it/AST_timeonVDAD.php | 435 + .../vicidial_it/AST_timeonVDADall.php | 1530 + .../vicidial_it/AST_timeonVDADallSUMMARY.php | 447 + .../LANG_www/vicidial_it/AST_timeonpark.php | 219 + .../agc_2.0.5/LANG_www/vicidial_it/admin.php | 16921 +++++ .../vicidial_it/admin_modify_lead.php | 711 + .../vicidial_it/admin_search_lead.php | 261 + .../agc_2.0.5/LANG_www/vicidial_it/count.htm | 1 + .../LANG_www/vicidial_it/dbconnect.php | 60 + .../vicidial_it/group_hourly_stats.php | 252 + .../agc_2.0.5/LANG_www/vicidial_it/help.gif | Bin 0 -> 492 bytes .../LANG_www/vicidial_it/listloader.pl | 1102 + .../LANG_www/vicidial_it/listloaderMAIN.php | 86 + .../vicidial_it/listloader_rowdisplay.pl | 153 + .../LANG_www/vicidial_it/listloader_super.pl | 1104 + .../vicidial_it/new_listloader_superL.php | 2035 + .../LANG_www/vicidial_it/remote_dispo.php | 329 + .../LANG_www/vicidial_it/user_stats.php | 558 + .../LANG_www/vicidial_it/user_status.php | 477 + .../LANG_www/vicidial_it/vdremote.php | 604 + .../LANG_www/vicidial_it/welcome.php | 26 + agc_2-X/branches/agc_2.0.5/Makefile | 151 + .../branches/agc_2.0.5/SuSE/get_sources.sh | 29 + agc_2-X/branches/agc_2.0.5/UPGRADE | 640 + agc_2-X/branches/agc_2.0.5/VDconfig | 924 + .../branches/agc_2.0.5/agi/VDL_CID_lookup.agi | 405 + agc_2-X/branches/agc_2.0.5/agi/VD_amd.agi | 448 + .../branches/agc_2.0.5/agi/VD_amd_post.agi | 311 + .../agc_2.0.5/agi/VD_auto_post_VERIFY.agi | 392 + .../agc_2.0.5/agi/agi-AGENT_dial_in.agi | 463 + .../agc_2.0.5/agi/agi-CANADA_PRI_CIDname.agi | 261 + .../branches/agc_2.0.5/agi/agi-DID_route.agi | 406 + .../agi/agi-IVR_recording_verification.agi | 738 + .../agc_2.0.5/agi/agi-VDAD_ALL_inbound.agi | 2631 + .../agc_2.0.5/agi/agi-VDAD_ALL_outbound.agi | 1761 + .../agi/agi-VDAD_inbound_calltime_check.agi | 480 + .../agc_2.0.5/agi/agi-VDAD_pin_IVR.agi | 240 + .../agc_2.0.5/agi/agi-VDADautoREMINDER.agi | 667 + .../agi/agi-VDADautoREMINDERxfer.agi | 729 + .../agc_2.0.5/agi/agi-VDADfixCXFER.agi | 261 + .../agi/agi-VDADinbound_NI_DNC_CIDlookup.agi | 445 + .../agc_2.0.5/agi/agi-VDADlisten_DTMF.agi | 293 + .../agc_2.0.5/agi/agi-VDADselective_CID.agi | 175 + .../agi/agi-VDADselective_CID_hangup.agi | 226 + agc_2-X/branches/agc_2.0.5/agi/agi-dtmf.agi | 140 + .../agc_2.0.5/agi/agi-record_prompts.agi | 439 + .../branches/agc_2.0.5/agi/call_inbound.agi | 292 + .../branches/agc_2.0.5/agi/debug_speak.agi | 123 + .../branches/agc_2.0.5/agi/invalid_speak.agi | 139 + agc_2-X/branches/agc_2.0.5/agi/park_CID.agi | 229 + .../bin/ADMIN_adjust_GMTnow_on_leads.pl | 1506 + .../agc_2.0.5/bin/ADMIN_area_code_populate.pl | 381 + .../branches/agc_2.0.5/bin/ADMIN_backup.pl | 374 + .../agc_2.0.5/bin/ADMIN_keepalive_ALL.pl | 940 + .../agc_2.0.5/bin/ADMIN_restart_roll_logs.pl | 50 + .../bin/ADMIN_timeclock_auto_logout.pl | 275 + .../agc_2.0.5/bin/ADMIN_update_server_ip.pl | 484 + .../bin/AST_CRON_GSM_SALE_recordings.pl | 164 + .../bin/AST_CRON_audio_1_move_VDonly.pl | 227 + .../bin/AST_CRON_audio_1_move_mix.pl | 245 + .../bin/AST_CRON_audio_2_compress.pl | 311 + .../agc_2.0.5/bin/AST_CRON_audio_3_ftp.pl | 301 + .../bin/AST_CRON_purge_recordings.pl | 193 + .../bin/AST_DB_lead_status_change.pl | 111 + .../branches/agc_2.0.5/bin/AST_DB_optimize.pl | 381 + .../agc_2.0.5/bin/AST_DB_tz_divide.pl | 209 + .../agc_2.0.5/bin/AST_SWAMPauto_dial.pl | 265 + agc_2-X/branches/agc_2.0.5/bin/AST_VDadapt.pl | 1624 + .../branches/agc_2.0.5/bin/AST_VDauto_dial.pl | 1886 + .../agc_2.0.5/bin/AST_VDauto_dial_FILL.pl | 1032 + .../branches/agc_2.0.5/bin/AST_VDhopper.pl | 1539 + .../agc_2.0.5/bin/AST_VDhopper_MIXtest.pl | 1659 + .../bin/AST_VDlist_summary_export.pl | 472 + .../bin/AST_VDlist_summary_export_UK.pl | 445 + .../agc_2.0.5/bin/AST_VDremote_agents.pl | 889 + .../agc_2.0.5/bin/AST_VDsales_export.pl | 703 + .../agc_2.0.5/bin/AST_agent_daily_SPH.pl | 735 + .../agc_2.0.5/bin/AST_agent_daily_SPHfront.pl | 664 + .../branches/agc_2.0.5/bin/AST_agent_day.pl | 300 + .../agc_2.0.5/bin/AST_agent_logout.pl | 318 + .../branches/agc_2.0.5/bin/AST_agent_week.pl | 352 + .../agc_2.0.5/bin/AST_agent_week_tally.pl | 311 + .../agc_2.0.5/bin/AST_cleanup_agent_log.pl | 764 + .../branches/agc_2.0.5/bin/AST_conf_update.pl | 430 + .../agc_2.0.5/bin/AST_email_web_report.pl | 248 + .../agc_2.0.5/bin/AST_flush_DBqueue.pl | 235 + .../bin/AST_manager_kill_hung_congested.pl | 377 + .../agc_2.0.5/bin/AST_manager_listen.pl | 726 + .../agc_2.0.5/bin/AST_manager_send.pl | 371 + .../agc_2.0.5/bin/AST_phone_update.pl | 322 + .../agc_2.0.5/bin/AST_reset_mysql_vars.pl | 123 + .../agc_2.0.5/bin/AST_send_action_child.pl | 330 + .../bin/AST_sourceID_summary_export.pl | 348 + agc_2-X/branches/agc_2.0.5/bin/AST_update.pl | 1300 + .../branches/agc_2.0.5/bin/AST_vm_update.pl | 247 + agc_2-X/branches/agc_2.0.5/bin/FastAGI_log.pl | 1214 + .../agc_2.0.5/bin/QC_gather_records.pl | 575 + .../agc_2.0.5/bin/VICIDIAL_DEDUPE_leads.pl | 323 + .../bin/VICIDIAL_IN_new_leads_file.pl | 1508 + .../bin/VICIDIAL_fix_list_statuses.pl | 177 + .../bin/VICIDIAL_fix_status_mismatch.pl | 180 + .../VICIDIAL_last_local_call_time_UPDATE.pl | 188 + .../bin/Vtiger_IN_new_accounts_file.pl | 640 + .../bin/Vtiger_OUT_sync2VICIDIAL_file.pl | 491 + .../bin/build_translation_www_files.pl | 420 + .../agc_2.0.5/bin/start_asterisk_boot.pl | 106 + agc_2-X/branches/agc_2.0.5/docs/ACQS.txt | 93 + agc_2-X/branches/agc_2.0.5/docs/AGENT_API.txt | 191 + .../docs/ALTERNATE_NUMBER_DIALING.txt | 119 + .../agc_2.0.5/docs/APP_CONFERENCE.txt | 86 + .../agc_2.0.5/docs/ASTERISK_CONF-GEN.txt | 26 + .../agc_2.0.5/docs/BALANCE_FILL_PROCESS.txt | 42 + .../branches/agc_2.0.5/docs/BASE_INSTALL.txt | 681 + .../agc_2.0.5/docs/CALLBACKS_PROCESS.txt | 98 + .../agc_2.0.5/docs/IE_INCOMPATIBILITIES.txt | 31 + .../agc_2.0.5/docs/INBOUND-CLOSER_PROCESS.txt | 113 + .../agc_2.0.5/docs/Inbound_VDAC_IVR.txt | 64 + agc_2-X/branches/agc_2.0.5/docs/LICENSE.txt | 277 + .../agc_2.0.5/docs/LIST_SUGGESTIONS.txt | 213 + .../agc_2.0.5/docs/LOAD_BALANCING.txt | 345 + .../branches/agc_2.0.5/docs/NON-AGENT_API.txt | 112 + .../agc_2.0.5/docs/OUTBOUND_LIST_ORDERING.txt | 48 + .../agc_2.0.5/docs/PERFORMANCE_TESTING.txt | 136 + .../branches/agc_2.0.5/docs/PREDICTIVE.txt | 132 + .../branches/agc_2.0.5/docs/QC_PROCESS.txt | 256 + .../branches/agc_2.0.5/docs/QUEUEMETRICS.txt | 212 + agc_2-X/branches/agc_2.0.5/docs/README.txt | 583 + .../agc_2.0.5/docs/REQUIRED_APPS_INSTALL.txt | 558 + .../branches/agc_2.0.5/docs/REQUIREMENTS.txt | 32 + .../agc_2.0.5/docs/SCRATCH_INSTALL.txt | 3240 + .../docs/Slackware-Linux_USA_DST_changes.txt | 48 + .../agc_2.0.5/docs/SuSE_10_3_OS_INSTALL.odt | Bin 0 -> 26552 bytes .../agc_2.0.5/docs/SuSE_10_3_OS_INSTALL.pdf | Bin 0 -> 108807 bytes .../agc_2.0.5/docs/TIMECLOCK_PROCESS.txt | 175 + agc_2-X/branches/agc_2.0.5/docs/VICIDIAL.txt | 207 + .../agc_2.0.5/docs/VICIDIAL_statuses.txt | 34 + agc_2-X/branches/agc_2.0.5/docs/VTIGER.txt | 320 + .../docs/Vicidial_Hardware_Requirements.odt | Bin 0 -> 15685 bytes .../docs/Vicidial_Hardware_Requirements.pdf | Bin 0 -> 81248 bytes .../agc_2.0.5/docs/bind_named_install.txt | 108 + .../docs/conf_examples/dnsmgr.conf.sample | 3 + .../docs/conf_examples/extensions.conf.sample | 591 + .../conf_examples/extensions.conf.sample-1.4 | 591 + .../docs/conf_examples/features.conf.sample | 53 + .../docs/conf_examples/iax.conf.sample | 57 + .../docs/conf_examples/iax.conf.sample-1.4 | 88 + .../docs/conf_examples/logger.conf.sample | 3 + .../docs/conf_examples/manager.conf.sample | 24 + .../docs/conf_examples/meetme.conf.sample | 314 + .../conf_examples/musiconhold.conf.sample | 20 + .../docs/conf_examples/sip.conf.sample | 80 + .../docs/conf_examples/sip.conf.sample-1.4 | 104 + .../docs/conf_examples/voicemail.conf.sample | 18 + .../docs/conf_examples/zapata.conf.e1.sample | 46 + .../conf_examples/zapata.conf.t100p.sample | 46 + .../conf_examples/zapata.conf.x100p.sample | 13 + .../docs/conf_examples/zaptel.conf.e1.sample | 24 + .../conf_examples/zaptel.conf.t100p.sample | 23 + .../conf_examples/zaptel.conf.x100p.sample | 10 + .../agc_2.0.5/experimental/AST_update.pl | 1225 + .../experimental/FastAGI_log_multi_server.pl | 1021 + .../experimental/convert_latin1_db_to_utf8.sh | 61 + .../agc_2.0.5/extras/1.2-gsm-gcc4.2.patch | 18 + .../agc_2.0.5/extras/1.4_gsm_gcc4.2.patch | 18 + .../agc_2.0.5/extras/AUS_zipcode_ranges.txt | 14 + agc_2-X/branches/agc_2.0.5/extras/Asterisk.pm | 20 + .../branches/agc_2.0.5/extras/Asterisk/AGI.pm | 685 + .../agc_2.0.5/extras/Asterisk/Manager.pm | 412 + .../agc_2.0.5/extras/Asterisk/Outgoing.pm | 110 + .../agc_2.0.5/extras/Asterisk/QCall.pm | 61 + .../agc_2.0.5/extras/Asterisk/Voicemail.pm | 261 + .../extras/Changed_meetme_sounds.txt | 37 + .../branches/agc_2.0.5/extras/GMT_notes.txt | 28 + .../extras/MySQL_AST_CREATE_tables.sql | 1539 + .../agc_2.0.5/extras/Net/HTTP/Methods.pm | 520 + .../branches/agc_2.0.5/extras/Net/HTTP/NB.pm | 106 + .../branches/agc_2.0.5/extras/Net/Telnet.pm | 5252 ++ .../agc_2.0.5/extras/OLD_vdc_tab_script.gif | Bin 0 -> 825 bytes .../agc_2.0.5/extras/OLD_vdc_tab_vicidial.gif | Bin 0 -> 866 bytes .../agc_2.0.5/extras/OLD_vtc_tab_vicidial.gif | Bin 0 -> 728 bytes agc_2-X/branches/agc_2.0.5/extras/Telnet.pm | 5252 ++ .../agc_2.0.5/extras/Time/HiRes.1.55.pm | 351 + .../agc_2.0.5/extras/Time/HiRes.1.59.pm | 359 + .../agc_2.0.5/extras/Time/HiRes.1.65.pm | 369 + .../branches/agc_2.0.5/extras/Time/Local.pm | 289 + .../branches/agc_2.0.5/extras/Time/gmtime.pm | 90 + .../agc_2.0.5/extras/Time/localtime.pm | 86 + agc_2-X/branches/agc_2.0.5/extras/Time/tm.pm | 33 + .../agc_2.0.5/extras/UK_region_codes.sql | 474 + .../agc_2.0.5/extras/US_zipcode_ranges.txt | 51 + .../agc_2.0.5/extras/UTF8_lead_file.txt | 16 + .../agc_2.0.5/extras/Vtiger504_vicidial.patch | 250 + .../agc_2.0.5/extras/app_conference/0.gsm | Bin 0 -> 429 bytes .../agc_2.0.5/extras/app_conference/0.wav | Bin 0 -> 4100 bytes .../agc_2.0.5/extras/app_conference/1.gsm | 1 + .../agc_2.0.5/extras/app_conference/1.wav | Bin 0 -> 4100 bytes .../agc_2.0.5/extras/app_conference/2.gsm | 3 + .../agc_2.0.5/extras/app_conference/2.wav | Bin 0 -> 4018 bytes .../agc_2.0.5/extras/app_conference/3.gsm | 2 + .../agc_2.0.5/extras/app_conference/3.wav | Bin 0 -> 4046 bytes .../agc_2.0.5/extras/app_conference/4.gsm | 2 + .../agc_2.0.5/extras/app_conference/4.wav | Bin 0 -> 3990 bytes .../agc_2.0.5/extras/app_conference/5.gsm | 1 + .../agc_2.0.5/extras/app_conference/5.wav | Bin 0 -> 3990 bytes .../agc_2.0.5/extras/app_conference/6.gsm | 1 + .../agc_2.0.5/extras/app_conference/6.wav | Bin 0 -> 4046 bytes .../extras/app_conference/64_Makefile | 115 + .../agc_2.0.5/extras/app_conference/7.gsm | 2 + .../agc_2.0.5/extras/app_conference/7.wav | Bin 0 -> 4072 bytes .../agc_2.0.5/extras/app_conference/8.gsm | Bin 0 -> 429 bytes .../agc_2.0.5/extras/app_conference/8.wav | Bin 0 -> 4018 bytes .../agc_2.0.5/extras/app_conference/9.gsm | Bin 0 -> 429 bytes .../agc_2.0.5/extras/app_conference/9.wav | Bin 0 -> 4018 bytes .../agc_2.0.5/extras/app_conference/LICENSE | 341 + .../agc_2.0.5/extras/app_conference/Makefile | 121 + .../agc_2.0.5/extras/app_conference/README | 170 + .../extras/app_conference/VICIDIAL.txt | 86 + .../extras/app_conference/app_conference.c | 146 + .../extras/app_conference/app_conference.h | 200 + .../agc_2.0.5/extras/app_conference/cli.c | 332 + .../agc_2.0.5/extras/app_conference/cli.h | 47 + .../agc_2.0.5/extras/app_conference/common.h | 50 + .../extras/app_conference/conf_frame.h | 61 + .../extras/app_conference/conference.c | 1410 + .../extras/app_conference/conference.h | 121 + .../agc_2.0.5/extras/app_conference/enter.gsm | Bin 0 -> 231 bytes .../agc_2.0.5/extras/app_conference/frame.c | 614 + .../agc_2.0.5/extras/app_conference/frame.h | 60 + .../agc_2.0.5/extras/app_conference/hash.gsm | 2 + .../agc_2.0.5/extras/app_conference/hash.wav | Bin 0 -> 3990 bytes .../agc_2.0.5/extras/app_conference/leave.gsm | Bin 0 -> 330 bytes .../app_conference/libspeex/CVS/Entries | 7 + .../app_conference/libspeex/CVS/Repository | 1 + .../extras/app_conference/libspeex/CVS/Root | 1 + .../extras/app_conference/libspeex/misc.c | 145 + .../extras/app_conference/libspeex/misc.h | 147 + .../app_conference/libspeex/preprocess.c | 1136 + .../app_conference/libspeex/qc_20060323.zip | Bin 0 -> 22409 bytes .../extras/app_conference/libspeex/smallft.c | 1256 + .../extras/app_conference/libspeex/smallft.h | 42 + .../libspeex/speex_preprocess.h | 139 + .../agc_2.0.5/extras/app_conference/member.c | 1946 + .../agc_2.0.5/extras/app_conference/member.h | 212 + .../agc_2.0.5/extras/app_conference/star.gsm | 2 + .../agc_2.0.5/extras/app_conference/star.wav | Bin 0 -> 4124 bytes .../agc_2.0.5/extras/channel.c-42600.patch | 20 + .../extras/cli_chan_concise_delimiter.patch | 11 + .../agc_2.0.5/extras/convert_audio.sh | 26 + .../agc_2.0.5/extras/convert_moh_audio.sh | 39 + agc_2-X/branches/agc_2.0.5/extras/enter.h | 106 + agc_2-X/branches/agc_2.0.5/extras/enter.raw | 4 + .../extras/experimental_gsm_asm.patch | 31 + .../agc_2.0.5/extras/first_server_install.sql | 348 + .../branches/agc_2.0.5/extras/init.d/vicidial | 424 + .../extras/ip_relay/ip_relay_1.0.021902.tar | Bin 0 -> 204800 bytes .../extras/ip_relay/ip_relay_1.1.112705.zip | Bin 0 -> 326119 bytes .../extras/ip_relay/ip_relay_linux_i386 | Bin 0 -> 27238 bytes .../ip_relay/lib_ip_relay_linux_i386.so.1.0.1 | Bin 0 -> 17009 bytes .../ip_relay/lib_ip_relay_linux_i386_gcc.a | Bin 0 -> 11368 bytes .../agc_2.0.5/extras/ip_relay/relay_control | 59 + agc_2-X/branches/agc_2.0.5/extras/leave.h | 110 + agc_2-X/branches/agc_2.0.5/extras/leave.raw | 1 + .../extras/meetme_DTMF_passthru-1.2.23.patch | 79 + .../extras/meetme_volume_control_1.2.16.patch | 81 + .../meetmeadmin_volume_control.1.2.7.1.patch | 180 + .../extras/meetmeadmin_volume_control.patch | 180 + .../branches/agc_2.0.5/extras/mysql-tuning.sh | 1466 + .../agc_2.0.5/extras/old_agi/VD_hangup.agi | 456 + .../extras/old_agi/agi-VDAD_LB_closer.agi | 634 + .../old_agi/agi-VDAD_LB_closer_inbound.agi | 765 + .../old_agi/agi-VDAD_LB_closer_inboundCID.agi | 691 + .../extras/old_agi/agi-VDAD_LB_transfer.agi | 804 + .../extras/old_agi/agi-VDAD_LO_closer.agi | 723 + .../old_agi/agi-VDAD_LO_closer_inbound.agi | 850 + .../extras/old_agi/agi-VDAD_LO_transfer.agi | 952 + .../extras/old_agi/agi-VDADcloser.agi | 629 + .../extras/old_agi/agi-VDADcloser_PHONE.agi | 653 + .../extras/old_agi/agi-VDADcloser_inbound.agi | 743 + .../old_agi/agi-VDADcloser_inboundANI.agi | 723 + .../old_agi/agi-VDADcloser_inboundCID.agi | 739 + .../agi-VDADcloser_inboundCIDlookup.agi | 760 + .../old_agi/agi-VDADcloser_inbound_5ID.agi | 741 + .../old_agi/agi-VDADcloser_inbound_NOCID.agi | 663 + .../extras/old_agi/agi-VDADtransfer.agi | 774 + .../old_agi/agi-VDADtransferBROADCAST.agi | 608 + .../extras/old_agi/agi-VDADtransferSURVEY.agi | 922 + .../extras/old_agi/agi-VDADtransferTEST.agi | 779 + .../agc_2.0.5/extras/old_agi/call_log.agi | 379 + .../agc_2.0.5/extras/old_agi/call_logCID.agi | 372 + .../extras/old_bin/AST_CRON_mix_recordings.pl | 183 + .../old_bin/AST_CRON_mix_recordings_BASIC.pl | 148 + .../old_bin/AST_CRON_mix_recordings_GSM.pl | 204 + .../old_bin/AST_CRON_mix_recordings_MP3.pl | 206 + .../AST_CRON_mix_recordings_MP3_DATE.pl | 231 + .../AST_CRON_mix_recordings_VDonly_DATE.pl | 198 + .../extras/old_upgrade/upgrade_2.0.1.sql | 32 + .../extras/old_upgrade/upgrade_2.0.2.sql | 59 + .../extras/old_upgrade/upgrade_2.0.3.sql | 121 + .../extras/old_upgrade/upgrade_2.0.4.sql | 155 + .../extras/performance_test_alt_multi.txt | 14 + .../extras/performance_test_leads.txt | 60000 ++++++++++++++++ .../extras/second_server_install.sql | 303 + .../extras/single_channelbank_phones.sql | 49 + .../agc_2.0.5/extras/sip-iax_phones.sql | 106 + .../branches/agc_2.0.5/extras/sphinxNA.zip | Bin 0 -> 27727 bytes .../extras/testMULTI_VICIDIAL_lead_file.csv | 14 + .../extras/testMULTI_VICIDIAL_lead_file.txt | 14 + .../extras/testMULTI_VICIDIAL_lead_file.xls | Bin 0 -> 77312 bytes .../extras/test_VICIDIAL_lead_file.txt | 14 + .../branches/agc_2.0.5/extras/test_call.pl | 68 + .../agc_2.0.5/extras/upgrade_2.0.5.sql | 796 + .../agc_2.0.5/extras/vicidial_modules.sh | 158 + .../vicidial_paraxip_chan_sip-1.2.patch | 36 + .../vicidial_paraxip_chan_sip-1.4.patch | 32 + agc_2-X/branches/agc_2.0.5/install.pl | 2302 + agc_2-X/branches/agc_2.0.5/libs/viciagi.pm | 62 + agc_2-X/branches/agc_2.0.5/libs/vicidial.pm | 682 + .../agc_2.0.5/libs/vicilib-testcode.pl | 217 + agc_2-X/branches/agc_2.0.5/sounds/,.wav | Bin 0 -> 8044 bytes agc_2-X/branches/agc_2.0.5/sounds/0.gsm | Bin 0 -> 429 bytes agc_2-X/branches/agc_2.0.5/sounds/0.wav | Bin 0 -> 4100 bytes agc_2-X/branches/agc_2.0.5/sounds/1.gsm | 1 + agc_2-X/branches/agc_2.0.5/sounds/1.wav | Bin 0 -> 4100 bytes agc_2-X/branches/agc_2.0.5/sounds/2.gsm | 3 + agc_2-X/branches/agc_2.0.5/sounds/2.wav | Bin 0 -> 4018 bytes agc_2-X/branches/agc_2.0.5/sounds/3.gsm | 2 + agc_2-X/branches/agc_2.0.5/sounds/3.wav | Bin 0 -> 4046 bytes agc_2-X/branches/agc_2.0.5/sounds/4.gsm | 2 + agc_2-X/branches/agc_2.0.5/sounds/4.wav | Bin 0 -> 3990 bytes agc_2-X/branches/agc_2.0.5/sounds/5.gsm | 1 + agc_2-X/branches/agc_2.0.5/sounds/5.wav | Bin 0 -> 3990 bytes agc_2-X/branches/agc_2.0.5/sounds/6.gsm | 1 + agc_2-X/branches/agc_2.0.5/sounds/6.wav | Bin 0 -> 4046 bytes agc_2-X/branches/agc_2.0.5/sounds/7.gsm | 2 + agc_2-X/branches/agc_2.0.5/sounds/7.wav | Bin 0 -> 4072 bytes agc_2-X/branches/agc_2.0.5/sounds/8.gsm | Bin 0 -> 429 bytes agc_2-X/branches/agc_2.0.5/sounds/8.wav | Bin 0 -> 4018 bytes agc_2-X/branches/agc_2.0.5/sounds/9.gsm | Bin 0 -> 429 bytes agc_2-X/branches/agc_2.0.5/sounds/9.wav | Bin 0 -> 4018 bytes .../agc_2.0.5/sounds/US_pol_survey_hello.gsm | Bin 0 -> 55737 bytes .../sounds/US_pol_survey_transfer.gsm | Bin 0 -> 10461 bytes .../agc_2.0.5/sounds/US_reminder_callback.gsm | Bin 0 -> 5610 bytes .../agc_2.0.5/sounds/US_reminder_goodbye.gsm | Bin 0 -> 1980 bytes .../agc_2.0.5/sounds/US_reminder_message.gsm | Bin 0 -> 14058 bytes .../agc_2.0.5/sounds/US_reminder_options.gsm | Bin 0 -> 11748 bytes .../agc_2.0.5/sounds/US_thanks_no_contact.gsm | Bin 0 -> 3894 bytes .../agc_2.0.5/sounds/auth-thankyou.gsm | Bin 0 -> 1947 bytes agc_2-X/branches/agc_2.0.5/sounds/buzz.gsm | Bin 0 -> 363 bytes agc_2-X/branches/agc_2.0.5/sounds/ding.gsm | Bin 0 -> 363 bytes .../agc_2.0.5/sounds/enter-password.gsm | Bin 0 -> 4917 bytes agc_2-X/branches/agc_2.0.5/sounds/enter.gsm | Bin 0 -> 231 bytes .../agc_2.0.5/sounds/four_digit_id.gsm | Bin 0 -> 2211 bytes .../agc_2.0.5/sounds/generic_hold.gsm | Bin 0 -> 8250 bytes agc_2-X/branches/agc_2.0.5/sounds/hash.gsm | 2 + agc_2-X/branches/agc_2.0.5/sounds/hash.wav | Bin 0 -> 3990 bytes .../branches/agc_2.0.5/sounds/hold_tone.gsm | Bin 0 -> 759 bytes .../sounds/ld_invalid_pin_number.gsm | Bin 0 -> 2772 bytes .../sounds/ld_welcome_pin_number.gsm | Bin 0 -> 4587 bytes agc_2-X/branches/agc_2.0.5/sounds/leave.gsm | Bin 0 -> 330 bytes .../branches/agc_2.0.5/sounds/login-fail.gsm | Bin 0 -> 2409 bytes .../branches/agc_2.0.5/sounds/pin-invalid.gsm | Bin 0 -> 4752 bytes .../agc_2.0.5/sounds/pin-number-accepted.gsm | Bin 0 -> 2343 bytes .../agc_2.0.5/sounds/quicksilence.alaw | 1 + .../agc_2.0.5/sounds/quicksilence.g729 | Bin 0 -> 20 bytes .../agc_2.0.5/sounds/quicksilence.gsm | Bin 0 -> 33 bytes .../agc_2.0.5/sounds/quicksilence.ulaw | 1 + .../agc_2.0.5/sounds/quicksilence.wav | Bin 0 -> 364 bytes agc_2-X/branches/agc_2.0.5/sounds/silence.wav | Bin 0 -> 8044 bytes .../branches/agc_2.0.5/sounds/silence10.gsm | Bin 0 -> 16533 bytes .../branches/agc_2.0.5/sounds/sip-silence.gsm | Bin 0 -> 33 bytes agc_2-X/branches/agc_2.0.5/sounds/star.gsm | 2 + agc_2-X/branches/agc_2.0.5/sounds/star.wav | Bin 0 -> 4124 bytes .../agc_2.0.5/sounds/to-be-called-back.gsm | Bin 0 -> 5874 bytes .../branches/agc_2.0.5/sounds/vm-goodbye.gsm | Bin 0 -> 1419 bytes .../branches/agc_2.0.5/sounds/vm-msgsaved.gsm | Bin 0 -> 3168 bytes .../agc_2.0.5/sounds/vm-rec-generic.gsm | Bin 0 -> 6534 bytes .../branches/agc_2.0.5/sounds/vm-review.gsm | Bin 0 -> 14487 bytes .../sounds/you-must-be-logged-in.gsm | Bin 0 -> 5643 bytes .../agc_2.0.5/translations/br_language.txt | 429 + .../agc_2.0.5/translations/de_language.txt | 439 + .../translations/de_language_admin.txt | 1416 + .../agc_2.0.5/translations/el_language.txt | 429 + .../translations/el_language_admin.txt | 1428 + .../agc_2.0.5/translations/es_language.txt | 431 + .../translations/es_language_admin.txt | 1424 + .../agc_2.0.5/translations/fr_language.txt | 431 + .../translations/fr_language_admin.txt | 1424 + .../agc_2.0.5/translations/it_language.txt | 451 + .../translations/it_language_admin.txt | 1537 + .../agc_2.0.5/translations/pl_language.txt | 431 + .../agc_2.0.5/translations/pt_language.txt | 431 + .../TO_BE_TRANSLATED_2.0.2.txt | 54 + .../TO_BE_TRANSLATED_2.0.3.txt | 186 + .../TO_BE_TRANSLATED_2.0.4.txt | 145 + .../TO_BE_TRANSLATED_2.0.5.txt | 612 + .../TO_BE_TRANSLATED_2.0.txt | 51 + .../de_language_first.txt | 422 + .../de_translation_standards.txt | 17 + .../raw_translation_files/language.txt | 402 + .../raw_translation_files/language_admin.txt | 936 + .../raw_translation_files/languages.txt_en_de | 8 + .../raw_translation_files/languages.txt_en_el | 216 + .../raw_translation_files/languages.txt_en_es | 127 + .../raw_translation_files/languages.txt_en_fr | 10 + .../raw_translation_files/languages.txt_en_it | 10 + .../raw_translation_files/languages.txt_en_pt | 10 + .../pl_language_first.txt | 403 + .../agc_2.0.5/translations/sk_language.txt | 431 + agc_2-X/branches/agc_2.0.5/version | 1 + .../agc_2.0.5/www/agc/active_list_refresh.php | 482 + agc_2-X/branches/agc_2.0.5/www/agc/api.php | 514 + .../agc_2.0.5/www/agc/astguiclient.php | 2905 + .../agc_2.0.5/www/agc/call_log_display.php | 196 + .../agc_2.0.5/www/agc/conf_exten_check.php | 514 + .../branches/agc_2.0.5/www/agc/dbconnect.php | 58 + .../agc_2.0.5/www/agc/images/Thumbs.db | Bin 0 -> 429568 bytes .../agc/images/agc_check_voicemail_BLINK.gif | Bin 0 -> 2627 bytes .../images/agc_check_voicemail_BLINK_e.gif | Bin 0 -> 780 bytes .../images/agc_check_voicemail_BLINK_es.gif | Bin 0 -> 780 bytes .../images/agc_check_voicemail_BLINK_ptbr.gif | Bin 0 -> 886 bytes .../agc/images/agc_check_voicemail_OFF.gif | Bin 0 -> 919 bytes .../agc/images/agc_check_voicemail_OFF_es.gif | Bin 0 -> 785 bytes .../images/agc_check_voicemail_OFF_ptbr.gif | Bin 0 -> 880 bytes .../www/agc/images/agc_check_voicemail_ON.gif | Bin 0 -> 919 bytes .../agc/images/agc_check_voicemail_ON_es.gif | Bin 0 -> 781 bytes .../images/agc_check_voicemail_ON_ptbr.gif | Bin 0 -> 881 bytes .../www/agc/images/agc_live_call_OFF.gif | Bin 0 -> 541 bytes .../www/agc/images/agc_live_call_OFF_de.jpg | Bin 0 -> 9634 bytes .../www/agc/images/agc_live_call_OFF_es.gif | Bin 0 -> 513 bytes .../www/agc/images/agc_live_call_OFF_pl.gif | Bin 0 -> 565 bytes .../www/agc/images/agc_live_call_OFF_ptbr.gif | Bin 0 -> 459 bytes .../www/agc/images/agc_live_call_ON.gif | Bin 0 -> 793 bytes .../www/agc/images/agc_live_call_ON_de.gif | Bin 0 -> 523 bytes .../www/agc/images/agc_live_call_ON_es.gif | Bin 0 -> 871 bytes .../www/agc/images/agc_live_call_ON_pl.gif | Bin 0 -> 951 bytes .../www/agc/images/agc_live_call_ON_ptbr.gif | Bin 0 -> 2750 bytes .../www/agc/images/agc_tab_active_lines.gif | Bin 0 -> 886 bytes .../agc/images/agc_tab_active_lines_el.gif | Bin 0 -> 984 bytes .../agc/images/agc_tab_active_lines_es.gif | Bin 0 -> 704 bytes .../agc/images/agc_tab_active_lines_ptbr.gif | Bin 0 -> 1005 bytes .../www/agc/images/agc_tab_astguiclient.gif | Bin 0 -> 1092 bytes .../agc/images/agc_tab_astguiclient_ptbr.gif | Bin 0 -> 1092 bytes .../www/agc/images/agc_tab_conferences.gif | Bin 0 -> 928 bytes .../www/agc/images/agc_tab_conferences_el.gif | Bin 0 -> 861 bytes .../www/agc/images/agc_tab_conferences_es.gif | Bin 0 -> 718 bytes .../agc/images/agc_tab_conferences_ptbr.gif | Bin 0 -> 718 bytes .../agc_2.0.5/www/agc/images/agc_tab_main.gif | Bin 0 -> 596 bytes .../www/agc/images/agc_tab_main_el.gif | Bin 0 -> 722 bytes .../www/agc/images/agc_tab_main_es.gif | Bin 0 -> 541 bytes .../www/agc/images/agc_tab_main_ptbr.gif | Bin 0 -> 541 bytes .../agc_2.0.5/www/agc/images/blank.gif | Bin 0 -> 43 bytes .../branches/agc_2.0.5/www/agc/images/br.gif | Bin 0 -> 397 bytes .../branches/agc_2.0.5/www/agc/images/de.gif | Bin 0 -> 162 bytes .../agc_2.0.5/www/agc/images/down.gif | Bin 0 -> 169 bytes .../branches/agc_2.0.5/www/agc/images/el.gif | Bin 0 -> 245 bytes .../branches/agc_2.0.5/www/agc/images/en.gif | Bin 0 -> 322 bytes .../branches/agc_2.0.5/www/agc/images/es.gif | Bin 0 -> 222 bytes .../branches/agc_2.0.5/www/agc/images/fr.gif | Bin 0 -> 217 bytes .../branches/agc_2.0.5/www/agc/images/it.gif | Bin 0 -> 198 bytes .../branches/agc_2.0.5/www/agc/images/pl.gif | Bin 0 -> 276 bytes .../branches/agc_2.0.5/www/agc/images/pt.gif | Bin 0 -> 208 bytes .../agc_2.0.5/www/agc/images/remove.gif | Bin 0 -> 176 bytes .../branches/agc_2.0.5/www/agc/images/sk.gif | Bin 0 -> 334 bytes .../branches/agc_2.0.5/www/agc/images/up.gif | Bin 0 -> 169 bytes .../www/agc/images/vdc_LB_dialnextnumber.gif | Bin 0 -> 831 bytes .../agc/images/vdc_LB_dialnextnumber_OFF.gif | Bin 0 -> 827 bytes .../images/vdc_LB_dialnextnumber_OFF_de.gif | Bin 0 -> 1562 bytes .../images/vdc_LB_dialnextnumber_OFF_es.gif | Bin 0 -> 914 bytes .../images/vdc_LB_dialnextnumber_OFF_ptbr.gif | Bin 0 -> 961 bytes .../agc/images/vdc_LB_dialnextnumber_de.gif | Bin 0 -> 1556 bytes .../agc/images/vdc_LB_dialnextnumber_es.gif | Bin 0 -> 914 bytes .../agc/images/vdc_LB_dialnextnumber_ptbr.gif | Bin 0 -> 965 bytes .../www/agc/images/vdc_LB_grabparkedcall.gif | Bin 0 -> 804 bytes .../agc/images/vdc_LB_grabparkedcall_OFF.gif | Bin 0 -> 802 bytes .../images/vdc_LB_grabparkedcall_OFF_es.gif | Bin 0 -> 827 bytes .../images/vdc_LB_grabparkedcall_OFF_ptbr.gif | Bin 0 -> 981 bytes .../agc/images/vdc_LB_grabparkedcall_es.gif | Bin 0 -> 826 bytes .../agc/images/vdc_LB_grabparkedcall_ptbr.gif | Bin 0 -> 985 bytes .../www/agc/images/vdc_LB_hangupcustomer.gif | Bin 0 -> 803 bytes .../agc/images/vdc_LB_hangupcustomer_OFF.gif | Bin 0 -> 803 bytes .../images/vdc_LB_hangupcustomer_OFF_de.gif | Bin 0 -> 1378 bytes .../images/vdc_LB_hangupcustomer_OFF_es.gif | Bin 0 -> 693 bytes .../images/vdc_LB_hangupcustomer_OFF_pl.gif | Bin 0 -> 924 bytes .../images/vdc_LB_hangupcustomer_OFF_ptbr.gif | Bin 0 -> 811 bytes .../agc/images/vdc_LB_hangupcustomer_de.gif | Bin 0 -> 1320 bytes .../agc/images/vdc_LB_hangupcustomer_es.gif | Bin 0 -> 697 bytes .../agc/images/vdc_LB_hangupcustomer_pl.gif | Bin 0 -> 924 bytes .../agc/images/vdc_LB_hangupcustomer_ptbr.gif | Bin 0 -> 1029 bytes .../www/agc/images/vdc_LB_parkcall.gif | Bin 0 -> 601 bytes .../www/agc/images/vdc_LB_parkcall_OFF.gif | Bin 0 -> 607 bytes .../www/agc/images/vdc_LB_parkcall_OFF_de.gif | Bin 0 -> 1331 bytes .../www/agc/images/vdc_LB_parkcall_OFF_es.gif | Bin 0 -> 644 bytes .../www/agc/images/vdc_LB_parkcall_OFF_pl.gif | Bin 0 -> 949 bytes .../agc/images/vdc_LB_parkcall_OFF_ptbr.gif | Bin 0 -> 830 bytes .../www/agc/images/vdc_LB_parkcall_de.gif | Bin 0 -> 1317 bytes .../www/agc/images/vdc_LB_parkcall_es.gif | Bin 0 -> 646 bytes .../www/agc/images/vdc_LB_parkcall_pl.gif | Bin 0 -> 978 bytes .../www/agc/images/vdc_LB_parkcall_ptbr.gif | Bin 0 -> 858 bytes .../agc_2.0.5/www/agc/images/vdc_LB_pause.gif | Bin 0 -> 483 bytes .../www/agc/images/vdc_LB_pause_OFF.gif | Bin 0 -> 483 bytes .../www/agc/images/vdc_LB_pause_OFF_es.gif | Bin 0 -> 404 bytes .../www/agc/images/vdc_LB_pause_OFF_pl.gif | Bin 0 -> 545 bytes .../www/agc/images/vdc_LB_pause_OFF_ptbr.gif | Bin 0 -> 438 bytes .../www/agc/images/vdc_LB_pause_es.gif | Bin 0 -> 410 bytes .../www/agc/images/vdc_LB_pause_pl.gif | Bin 0 -> 551 bytes .../www/agc/images/vdc_LB_pause_ptbr.gif | Bin 0 -> 989 bytes .../www/agc/images/vdc_LB_resume.gif | Bin 0 -> 535 bytes .../www/agc/images/vdc_LB_resume_OFF.gif | Bin 0 -> 533 bytes .../www/agc/images/vdc_LB_resume_OFF_de.gif | Bin 0 -> 1225 bytes .../www/agc/images/vdc_LB_resume_OFF_es.gif | Bin 0 -> 495 bytes .../www/agc/images/vdc_LB_resume_OFF_pl.gif | Bin 0 -> 579 bytes .../www/agc/images/vdc_LB_resume_OFF_ptbr.gif | Bin 0 -> 416 bytes .../www/agc/images/vdc_LB_resume_de.gif | Bin 0 -> 1236 bytes .../www/agc/images/vdc_LB_resume_es.gif | Bin 0 -> 500 bytes .../www/agc/images/vdc_LB_resume_pl.gif | Bin 0 -> 591 bytes .../www/agc/images/vdc_LB_resume_ptbr.gif | Bin 0 -> 394 bytes .../www/agc/images/vdc_LB_senddtmf.gif | Bin 0 -> 567 bytes .../www/agc/images/vdc_LB_senddtmf_OFF.gif | Bin 0 -> 563 bytes .../www/agc/images/vdc_LB_senddtmf_OFF_de.gif | Bin 0 -> 1362 bytes .../www/agc/images/vdc_LB_senddtmf_OFF_es.gif | Bin 0 -> 563 bytes .../agc/images/vdc_LB_senddtmf_OFF_ptbr.gif | Bin 0 -> 563 bytes .../www/agc/images/vdc_LB_senddtmf_de.gif | Bin 0 -> 1341 bytes .../www/agc/images/vdc_LB_senddtmf_es.gif | Bin 0 -> 564 bytes .../www/agc/images/vdc_LB_senddtmf_ptbr.gif | Bin 0 -> 564 bytes .../www/agc/images/vdc_LB_spacer.gif | Bin 0 -> 90 bytes .../www/agc/images/vdc_LB_startrecording.gif | Bin 0 -> 778 bytes .../agc/images/vdc_LB_startrecording_OFF.gif | Bin 0 -> 778 bytes .../images/vdc_LB_startrecording_OFF_es.gif | Bin 0 -> 788 bytes .../images/vdc_LB_startrecording_OFF_p.gif | Bin 0 -> 824 bytes .../images/vdc_LB_startrecording_OFF_pl.gif | Bin 0 -> 647 bytes .../images/vdc_LB_startrecording_OFF_ptbr.gif | Bin 0 -> 783 bytes .../agc/images/vdc_LB_startrecording_de.gif | Bin 0 -> 1505 bytes .../agc/images/vdc_LB_startrecording_es.gif | Bin 0 -> 788 bytes .../agc/images/vdc_LB_startrecording_pl.gif | Bin 0 -> 823 bytes .../agc/images/vdc_LB_startrecording_ptbr.gif | Bin 0 -> 784 bytes .../www/agc/images/vdc_LB_stoprecording.gif | Bin 0 -> 758 bytes .../agc/images/vdc_LB_stoprecording2_de.gif | Bin 0 -> 1506 bytes .../agc/images/vdc_LB_stoprecording_OFF.gif | Bin 0 -> 757 bytes .../images/vdc_LB_stoprecording_OFF_es.gif | Bin 0 -> 701 bytes .../images/vdc_LB_stoprecording_OFF_pl.gif | Bin 0 -> 839 bytes .../images/vdc_LB_stoprecording_OFF_ptbr.gif | Bin 0 -> 778 bytes .../agc/images/vdc_LB_stoprecording_es.gif | Bin 0 -> 699 bytes .../agc/images/vdc_LB_stoprecording_pl.gif | Bin 0 -> 876 bytes .../agc/images/vdc_LB_stoprecording_ptbr.gif | Bin 0 -> 779 bytes .../www/agc/images/vdc_LB_transferconf.gif | Bin 0 -> 732 bytes .../agc/images/vdc_LB_transferconf_OFF.gif | Bin 0 -> 732 bytes .../agc/images/vdc_LB_transferconf_OFF_de.gif | Bin 0 -> 1395 bytes .../agc/images/vdc_LB_transferconf_OFF_es.gif | Bin 0 -> 712 bytes .../agc/images/vdc_LB_transferconf_OFF_pl.gif | Bin 0 -> 1007 bytes .../images/vdc_LB_transferconf_OFF_ptbr.gif | Bin 0 -> 896 bytes .../www/agc/images/vdc_LB_transferconf_de.gif | Bin 0 -> 1435 bytes .../www/agc/images/vdc_LB_transferconf_es.gif | Bin 0 -> 714 bytes .../www/agc/images/vdc_LB_transferconf_pl.gif | Bin 0 -> 1019 bytes .../agc/images/vdc_LB_transferconf_ptbr.gif | Bin 0 -> 898 bytes .../www/agc/images/vdc_LB_webform.gif | Bin 0 -> 542 bytes .../www/agc/images/vdc_LB_webform_OFF.gif | Bin 0 -> 615 bytes .../www/agc/images/vdc_LB_webform_OFF_de.gif | Bin 0 -> 1426 bytes .../www/agc/images/vdc_LB_webform_OFF_es.gif | Bin 0 -> 661 bytes .../www/agc/images/vdc_LB_webform_OFF_pl.gif | Bin 0 -> 788 bytes .../agc/images/vdc_LB_webform_OFF_ptbr.gif | Bin 0 -> 661 bytes .../www/agc/images/vdc_LB_webform_de.gif | Bin 0 -> 1245 bytes .../www/agc/images/vdc_LB_webform_es.gif | Bin 0 -> 583 bytes .../www/agc/images/vdc_LB_webform_pl.gif | Bin 0 -> 703 bytes .../www/agc/images/vdc_LB_webform_ptbr.gif | Bin 0 -> 583 bytes .../www/agc/images/vdc_XB_ammessage.gif | Bin 0 -> 396 bytes .../www/agc/images/vdc_XB_ammessage_OFF.gif | Bin 0 -> 403 bytes .../www/agc/images/vdc_XB_blindtransfer.gif | Bin 0 -> 774 bytes .../agc/images/vdc_XB_blindtransfer_OFF.gif | Bin 0 -> 774 bytes .../images/vdc_XB_blindtransfer_OFF_es.gif | Bin 0 -> 758 bytes .../images/vdc_XB_blindtransfer_OFF_ptbr.gif | Bin 0 -> 901 bytes .../agc/images/vdc_XB_blindtransfer_es.gif | Bin 0 -> 758 bytes .../agc/images/vdc_XB_blindtransfer_ptbr.gif | Bin 0 -> 901 bytes .../www/agc/images/vdc_XB_channel.gif | Bin 0 -> 314 bytes .../www/agc/images/vdc_XB_channel_es.gif | Bin 0 -> 242 bytes .../www/agc/images/vdc_XB_channel_ptbr.gif | Bin 0 -> 242 bytes .../agc_2.0.5/www/agc/images/vdc_XB_code.gif | Bin 0 -> 247 bytes .../agc/images/vdc_XB_dialwithcustomer.gif | Bin 0 -> 881 bytes .../images/vdc_XB_dialwithcustomer_OFF.gif | Bin 0 -> 881 bytes .../images/vdc_XB_dialwithcustomer_OFF_es.gif | Bin 0 -> 776 bytes .../vdc_XB_dialwithcustomer_OFF_ptbr.gif | Bin 0 -> 873 bytes .../agc/images/vdc_XB_dialwithcustomer_es.gif | Bin 0 -> 776 bytes .../images/vdc_XB_dialwithcustomer_ptbr.gif | Bin 0 -> 873 bytes .../www/agc/images/vdc_XB_hangupbothlines.gif | Bin 0 -> 849 bytes .../agc/images/vdc_XB_hangupbothlines_OFF.gif | Bin 0 -> 849 bytes .../images/vdc_XB_hangupbothlines_OFF_es.gif | Bin 0 -> 809 bytes .../vdc_XB_hangupbothlines_OFF_ptbr.gif | Bin 0 -> 858 bytes .../agc/images/vdc_XB_hangupbothlines_es.gif | Bin 0 -> 809 bytes .../images/vdc_XB_hangupbothlines_ptbr.gif | Bin 0 -> 858 bytes .../www/agc/images/vdc_XB_hangupxferline.gif | Bin 0 -> 803 bytes .../agc/images/vdc_XB_hangupxferline_OFF.gif | Bin 0 -> 803 bytes .../images/vdc_XB_hangupxferline_OFF_es.gif | Bin 0 -> 702 bytes .../images/vdc_XB_hangupxferline_OFF_ptbr.gif | Bin 0 -> 828 bytes .../agc/images/vdc_XB_hangupxferline_es.gif | Bin 0 -> 702 bytes .../agc/images/vdc_XB_hangupxferline_ptbr.gif | Bin 0 -> 828 bytes .../www/agc/images/vdc_XB_header.gif | Bin 0 -> 884 bytes .../www/agc/images/vdc_XB_header_es.gif | Bin 0 -> 639 bytes .../www/agc/images/vdc_XB_header_ptbr.gif | Bin 0 -> 639 bytes .../www/agc/images/vdc_XB_hotkeysactive.gif | Bin 0 -> 791 bytes .../agc/images/vdc_XB_hotkeysactive_OFF.gif | Bin 0 -> 786 bytes .../images/vdc_XB_hotkeysactive_OFF_de.gif | Bin 0 -> 585 bytes .../vdc_XB_hotkeysactive_OFF_es-orig.gif | Bin 0 -> 1231 bytes .../images/vdc_XB_hotkeysactive_OFF_es.gif | Bin 0 -> 1256 bytes .../images/vdc_XB_hotkeysactive_OFF_pl.gif | Bin 0 -> 882 bytes .../images/vdc_XB_hotkeysactive_OFF_ptbr.gif | Bin 0 -> 948 bytes .../agc/images/vdc_XB_hotkeysactive_de.gif | Bin 0 -> 577 bytes .../agc/images/vdc_XB_hotkeysactive_es.gif | Bin 0 -> 1231 bytes .../agc/images/vdc_XB_hotkeysactive_pl.gif | Bin 0 -> 817 bytes .../agc/images/vdc_XB_hotkeysactive_ptbr.gif | Bin 0 -> 997 bytes .../agc/images/vdc_XB_hotkeysinactive_es.gif | Bin 0 -> 1256 bytes .../www/agc/images/vdc_XB_internalcloser.gif | Bin 0 -> 801 bytes .../agc/images/vdc_XB_internalcloser_OFF.gif | Bin 0 -> 801 bytes .../images/vdc_XB_internalcloser_OFF_es.gif | Bin 0 -> 640 bytes .../images/vdc_XB_internalcloser_OFF_ptbr.gif | Bin 0 -> 640 bytes .../agc/images/vdc_XB_internalcloser_es.gif | Bin 0 -> 640 bytes .../agc/images/vdc_XB_internalcloser_ptbr.gif | Bin 0 -> 640 bytes .../www/agc/images/vdc_XB_leave3waycall.gif | Bin 0 -> 816 bytes .../agc/images/vdc_XB_leave3waycall_OFF.gif | Bin 0 -> 816 bytes .../images/vdc_XB_leave3waycall_OFF_es.gif | Bin 0 -> 834 bytes .../images/vdc_XB_leave3waycall_OFF_ptbr.gif | Bin 0 -> 816 bytes .../agc/images/vdc_XB_leave3waycall_es.gif | Bin 0 -> 834 bytes .../agc/images/vdc_XB_leave3waycall_ptbr.gif | Bin 0 -> 816 bytes .../www/agc/images/vdc_XB_localcloser.gif | Bin 0 -> 728 bytes .../www/agc/images/vdc_XB_localcloser_OFF.gif | Bin 0 -> 728 bytes .../agc/images/vdc_XB_localcloser_OFF_es.gif | Bin 0 -> 607 bytes .../images/vdc_XB_localcloser_OFF_ptbr.gif | Bin 0 -> 607 bytes .../www/agc/images/vdc_XB_localcloser_es.gif | Bin 0 -> 606 bytes .../agc/images/vdc_XB_localcloser_ptbr.gif | Bin 0 -> 606 bytes .../www/agc/images/vdc_XB_number.gif | Bin 0 -> 480 bytes .../www/agc/images/vdc_XB_number_es.gif | Bin 0 -> 416 bytes .../www/agc/images/vdc_XB_number_ptbr.gif | Bin 0 -> 449 bytes .../agc/images/vdc_XB_parkcustomerdial.gif | Bin 0 -> 896 bytes .../images/vdc_XB_parkcustomerdial_OFF.gif | Bin 0 -> 896 bytes .../images/vdc_XB_parkcustomerdial_OFF_es.gif | Bin 0 -> 661 bytes .../vdc_XB_parkcustomerdial_OFF_ptbr.gif | Bin 0 -> 916 bytes .../agc/images/vdc_XB_parkcustomerdial_es.gif | Bin 0 -> 659 bytes .../images/vdc_XB_parkcustomerdial_ptbr.gif | Bin 0 -> 916 bytes .../www/agc/images/vdc_XB_seconds.gif | Bin 0 -> 352 bytes .../www/agc/images/vdc_XB_seconds_es.gif | Bin 0 -> 333 bytes .../www/agc/images/vdc_XB_seconds_ptbr.gif | Bin 0 -> 333 bytes .../www/agc/images/vdc_tab_script.gif | Bin 0 -> 697 bytes .../www/agc/images/vdc_tab_script_de.gif | Bin 0 -> 1337 bytes .../www/agc/images/vdc_tab_script_es.gif | Bin 0 -> 916 bytes .../www/agc/images/vdc_tab_script_ptbr.gif | Bin 0 -> 825 bytes .../www/agc/images/vdc_tab_vicidial.gif | Bin 0 -> 1859 bytes .../www/agc/images/vdc_tab_vicidial_ptbr.gif | Bin 0 -> 866 bytes .../www/agc/images/vdc_volume_MUTE.gif | Bin 0 -> 601 bytes .../www/agc/images/vdc_volume_MUTE_de.gif | Bin 0 -> 1220 bytes .../www/agc/images/vdc_volume_UNMUTE.gif | Bin 0 -> 624 bytes .../www/agc/images/vdc_volume_UNMUTE_de.gif | Bin 0 -> 1192 bytes .../www/agc/images/vdc_volume_down.gif | Bin 0 -> 356 bytes .../www/agc/images/vdc_volume_down_off.gif | Bin 0 -> 343 bytes .../www/agc/images/vdc_volume_up.gif | Bin 0 -> 377 bytes .../www/agc/images/vdc_volume_up_off.gif | Bin 0 -> 379 bytes .../www/agc/images/vtc_tab_vicidial.gif | Bin 0 -> 1802 bytes .../agc_2.0.5/www/agc/inbound_popup.php | 351 + .../agc_2.0.5/www/agc/live_exten_check.php | 278 + .../agc_2.0.5/www/agc/manager_send.php | 1943 + .../agc_2.0.5/www/agc/park_calls_display.php | 146 + .../branches/agc_2.0.5/www/agc/timeclock.php | 455 + .../agc_2.0.5/www/agc/vdc_db_query.php | 3955 + .../branches/agc_2.0.5/www/agc/vicidial.php | 8608 +++ .../agc_2.0.5/www/agc/vicidial_redirect.php | 46 + .../agc_2.0.5/www/agc/voicemail_check.php | 140 + .../www/vicidial/AST_CLOSER_service_level.php | 956 + .../www/vicidial/AST_CLOSERstats.php | 1508 + .../agc_2.0.5/www/vicidial/AST_IVRfilter.php | 248 + .../agc_2.0.5/www/vicidial/AST_IVRstats.php | 684 + .../agc_2.0.5/www/vicidial/AST_VDADstats.php | 1011 + .../www/vicidial/AST_VICIDIAL_hopperlist.php | 169 + .../www/vicidial/AST_admin_log_display.php | 118 + .../www/vicidial/AST_agent_days_detail.php | 601 + .../www/vicidial/AST_agent_disposition.php | 237 + .../www/vicidial/AST_agent_performance.php | 257 + .../vicidial/AST_agent_performance_detail.php | 943 + .../www/vicidial/AST_agent_status_detail.php | 665 + .../www/vicidial/AST_agent_time_sheet.php | 409 + .../vicidial/AST_agent_time_sheet_archive.php | 286 + .../www/vicidial/AST_inboundEXTstats.php | 400 + .../AST_inboundEXTstats_department.php | 195 + .../agc_2.0.5/www/vicidial/AST_parkstats.php | 396 + .../www/vicidial/AST_server_performance.php | 343 + .../agc_2.0.5/www/vicidial/AST_timeonVDAD.php | 444 + .../www/vicidial/AST_timeonVDADall.php | 1662 + .../www/vicidial/AST_timeonVDADallREC.php | 943 + .../www/vicidial/AST_timeonVDADallSUMMARY.php | 456 + .../agc_2.0.5/www/vicidial/AST_timeonpark.php | 219 + .../branches/agc_2.0.5/www/vicidial/admin.php | 20243 ++++++ .../agc_2.0.5/www/vicidial/admin_header.php | 932 + .../www/vicidial/admin_modify_lead.php | 745 + .../www/vicidial/admin_search_lead.php | 296 + .../www/vicidial/call_report_export.php | 513 + .../www/vicidial/closer-fronter_popup.php | 516 + .../www/vicidial/closer-fronter_popup2.php | 431 + .../agc_2.0.5/www/vicidial/closer.php | 353 + .../agc_2.0.5/www/vicidial/closer_dispo.php | 331 + .../agc_2.0.5/www/vicidial/closer_popup.php | 455 + .../branches/agc_2.0.5/www/vicidial/count.htm | 1 + .../agc_2.0.5/www/vicidial/dbconnect.php | 60 + .../agc_2.0.5/www/vicidial/fcstats.php | 600 + .../www/vicidial/group_hourly_stats.php | 274 + .../branches/agc_2.0.5/www/vicidial/help.gif | Bin 0 -> 492 bytes .../agc_2.0.5/www/vicidial/high_pitch.mid | Bin 0 -> 832 bytes .../agc_2.0.5/www/vicidial/list_download.php | 130 + .../agc_2.0.5/www/vicidial/listloader.pl | 1102 + .../agc_2.0.5/www/vicidial/listloaderMAIN.php | 86 + .../www/vicidial/listloader_rowdisplay.pl | 153 + .../www/vicidial/listloader_super.pl | 1104 + .../agc_2.0.5/www/vicidial/log_test.php | 37 + .../branches/agc_2.0.5/www/vicidial/loud.mid | Bin 0 -> 160 bytes .../agc_2.0.5/www/vicidial/loud_phone.mid | Bin 0 -> 159 bytes .../www/vicidial/new_listloader_superL.php | 2054 + .../agc_2.0.5/www/vicidial/non_agent_api.php | 1419 + .../agc_2.0.5/www/vicidial/phone_stats.php | 245 + .../branches/agc_2.0.5/www/vicidial/quick.mid | Bin 0 -> 137 bytes .../agc_2.0.5/www/vicidial/quick_ring.mid | Bin 0 -> 136 bytes .../www/vicidial/record_conf_1_hour.php | 156 + .../www/vicidial/recording_lookup.php | 170 + .../www/vicidial/recording_lookup_DIRECT.php | 143 + .../agc_2.0.5/www/vicidial/remote_dispo.php | 329 + .../agc_2.0.5/www/vicidial/short_long.mid | Bin 0 -> 226 bytes .../agc_2.0.5/www/vicidial/sph_report.php | 567 + .../www/vicidial/spreadsheet_sales_viewer.pl | 384 + .../agc_2.0.5/www/vicidial/timeclock_edit.php | 478 + .../www/vicidial/timeclock_report.php | 359 + .../www/vicidial/timeclock_status.php | 548 + .../agc_2.0.5/www/vicidial/up_down.mid | Bin 0 -> 401 bytes .../www/vicidial/user_group_bulk_change.php | 269 + .../agc_2.0.5/www/vicidial/user_stats.php | 690 + .../agc_2.0.5/www/vicidial/user_status.php | 507 + .../agc_2.0.5/www/vicidial/vdremote.php | 604 + .../www/vicidial/vicidial_admin_web_logo.gif | Bin 0 -> 2483 bytes .../vicidial_admin_web_logo_small.gif | Bin 0 -> 1011 bytes .../www/vicidial/vicidial_sales_viewer.php | 236 + .../agc_2.0.5/www/vicidial/voice_lab.php | 312 + .../agc_2.0.5/www/vicidial/vtiger_search.php | 788 + .../agc_2.0.5/www/vicidial/vtiger_user.php | 316 + .../www/vicidial/web_form_forward.php | 37 + .../agc_2.0.5/www/vicidial/welcome.php | 26 + .../agc_2.0.5/www/vicidial/welcome_demo.php | 76 + .../www/vicidial/welcome_languages.php | 76 + 1238 files changed, 563622 insertions(+) create mode 100644 agc_2-X/branches/agc_2.0.5/INSTALL create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/active_list_refresh.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/astguiclient.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/call_log_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/conf_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/dbconnect.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/Thumbs.db create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_BLINK.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_BLINK_e.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_BLINK_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_BLINK_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_ON.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_ON_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_ON_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_OFF_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_ON.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_ON_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_ON_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_ON_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_active_lines.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_active_lines_el.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_active_lines_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_active_lines_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_astguiclient.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_astguiclient_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_conferences.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_conferences_el.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_conferences_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_conferences_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_main.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_main_el.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_main_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_main_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/blank.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/br.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/down.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/el.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/en.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/fr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/it.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/pt.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/remove.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/up.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_dialnextnumber.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_dialnextnumber_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_dialnextnumber_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_dialnextnumber_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_dialnextnumber_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_dialnextnumber_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_grabparkedcall.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_grabparkedcall_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_grabparkedcall_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_grabparkedcall_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_grabparkedcall_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_grabparkedcall_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_hangupcustomer.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_hangupcustomer_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_hangupcustomer_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_hangupcustomer_OFF_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_hangupcustomer_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_hangupcustomer_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_hangupcustomer_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_hangupcustomer_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_parkcall.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_parkcall_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_parkcall_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_parkcall_OFF_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_parkcall_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_parkcall_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_parkcall_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_parkcall_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_pause.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_pause_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_pause_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_pause_OFF_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_pause_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_pause_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_pause_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_pause_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_resume.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_resume_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_resume_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_resume_OFF_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_resume_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_resume_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_resume_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_resume_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_senddtmf.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_senddtmf_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_senddtmf_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_senddtmf_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_senddtmf_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_senddtmf_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_spacer.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording_OFF_p.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording_OFF_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording_OFF_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_transferconf.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_transferconf_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_transferconf_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_transferconf_OFF_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_transferconf_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_transferconf_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_transferconf_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_transferconf_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_webform.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_webform_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_webform_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_webform_OFF_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_webform_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_webform_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_webform_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_webform_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_ammessage.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_ammessage_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_blindtransfer.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_blindtransfer_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_blindtransfer_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_blindtransfer_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_blindtransfer_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_blindtransfer_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_channel.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_channel_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_channel_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_code.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_dialwithcustomer.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_dialwithcustomer_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_dialwithcustomer_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_dialwithcustomer_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_dialwithcustomer_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_dialwithcustomer_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hangupbothlines.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hangupbothlines_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hangupbothlines_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hangupbothlines_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hangupbothlines_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hangupbothlines_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hangupxferline.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hangupxferline_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hangupxferline_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hangupxferline_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hangupxferline_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hangupxferline_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_header.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_header_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_header_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive_OFF_es-orig.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive_OFF_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysinactive_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_internalcloser.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_internalcloser_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_internalcloser_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_internalcloser_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_internalcloser_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_internalcloser_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_leave3waycall.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_leave3waycall_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_leave3waycall_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_leave3waycall_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_leave3waycall_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_leave3waycall_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_localcloser.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_localcloser_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_localcloser_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_localcloser_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_localcloser_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_localcloser_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_number.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_number_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_number_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_parkcustomerdial.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_parkcustomerdial_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_parkcustomerdial_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_parkcustomerdial_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_parkcustomerdial_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_parkcustomerdial_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_seconds.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_seconds_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_seconds_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_tab_script.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_tab_script_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_tab_script_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_tab_vicidial.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_tab_vicidial_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_volume_MUTE.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_volume_UNMUTE.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_volume_down.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_volume_down_off.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_volume_up.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_volume_up_off.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/inbound_popup.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/live_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/manager_send.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/park_calls_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/vdc_db_query.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/vicidial.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc/voicemail_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/active_list_refresh.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/astguiclient.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/call_log_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/conf_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/dbconnect.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/inbound_popup.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/live_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/manager_send.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/park_calls_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/vdc_db_query.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/vicidial.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/voicemail_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/active_list_refresh.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/astguiclient.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/call_log_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/conf_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/dbconnect.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/inbound_popup.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/live_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/manager_send.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/park_calls_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/vdc_db_query.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/vicidial.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/voicemail_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/active_list_refresh.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/astguiclient.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/call_log_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/conf_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/dbconnect.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/inbound_popup.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/live_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/manager_send.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/park_calls_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/vdc_db_query.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/vicidial.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/voicemail_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_en/vicidial.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/active_list_refresh.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/astguiclient.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/call_log_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/conf_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/dbconnect.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/inbound_popup.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/live_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/manager_send.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/park_calls_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/vdc_db_query.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/vicidial.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/voicemail_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/active_list_refresh.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/astguiclient.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/call_log_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/conf_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/dbconnect.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/inbound_popup.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/live_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/manager_send.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/park_calls_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/vdc_db_query.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/vicidial.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/voicemail_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/active_list_refresh.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/astguiclient.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/call_log_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/conf_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/dbconnect.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/inbound_popup.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/live_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/manager_send.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/park_calls_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/vdc_db_query.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/vicidial.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/voicemail_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/active_list_refresh.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/astguiclient.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/call_log_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/conf_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/dbconnect.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/inbound_popup.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/live_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/manager_send.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/park_calls_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/vdc_db_query.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/vicidial.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/voicemail_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/active_list_refresh.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/astguiclient.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/call_log_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/conf_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/dbconnect.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/inbound_popup.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/live_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/manager_send.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/park_calls_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/vdc_db_query.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/vicidial.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/voicemail_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/active_list_refresh.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/astguiclient.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/call_log_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/conf_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/dbconnect.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/inbound_popup.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/live_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/manager_send.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/park_calls_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/vdc_db_query.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/vicidial.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/voicemail_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_CLOSERstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_VDADstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_VICIDIAL_hopperlist.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_admin_log_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_agent_disposition.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_agent_performance.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_agent_performance_detail.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_agent_time_sheet.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_agent_time_sheet_archive.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_inboundEXTstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_inboundEXTstats_department.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_parkstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_server_performance.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonVDAD.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonVDAD_closer.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonVDADall.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonVDADallREC.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonVDADallSUMMARY.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeoncall.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonpark.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/admin.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/admin_modify_lead.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/admin_search_lead.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/closer-fronter_popup.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/closer-fronter_popup2.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/closer.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/closer_dispo.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/closer_popup.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/count.htm create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/dbconnect.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/group_hourly_stats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/help.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/listloader.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/listloader.pl create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/listloaderMAIN.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/listloader_rowdisplay.pl create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/listloader_super.pl create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/log_test.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/new_listloader_superL.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/phone_stats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/record_conf_1_hour.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/remote_dispo.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/server_stats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/user_stats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/user_status.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/vdremote.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/voice_lab.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/vtiger_search.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/welcome.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_CLOSERstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_VDADstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_VICIDIAL_hopperlist.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_admin_log_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_agent_performance.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_agent_performance_detail.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_agent_time_sheet.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_inboundEXTstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_server_performance.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeonVDAD.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeonVDAD_closer.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeonVDADall.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeonVDADallSUMMARY.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeoncall.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeonpark.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/admin.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/admin_modify_lead.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/admin_search_lead.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/count.htm create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/dbconnect.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/group_hourly_stats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/help.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/listloader.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/listloader.pl create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/listloaderMAIN.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/listloader_rowdisplay.pl create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/listloader_super.pl create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/new_listloader_superL.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/remote_dispo.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/server_stats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/user_stats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/user_status.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/vdremote.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/welcome.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_CLOSERstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_VDADstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_VICIDIAL_hopperlist.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_admin_log_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_agent_performance.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_agent_performance_detail.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_agent_time_sheet.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_inboundEXTstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_server_performance.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeonVDAD.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeonVDAD_closer.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeonVDADall.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeonVDADallSUMMARY.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeoncall.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeonpark.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/admin.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/admin_modify_lead.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/admin_search_lead.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/count.htm create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/dbconnect.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/group_hourly_stats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/help.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/listloader.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/listloader.pl create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/listloaderMAIN.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/listloader_rowdisplay.pl create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/listloader_super.pl create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/new_listloader_superL.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/remote_dispo.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/server_stats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/user_stats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/user_status.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/vdremote.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/welcome.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_en/admin.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_CLOSERstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_VDADstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_VICIDIAL_hopperlist.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_admin_log_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_agent_performance.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_agent_performance_detail.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_agent_time_sheet.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_inboundEXTstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_server_performance.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeonVDAD.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeonVDAD_closer.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeonVDADall.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeonVDADallSUMMARY.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeoncall.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeonpark.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/admin.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/admin_modify_lead.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/admin_search_lead.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/count.htm create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/dbconnect.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/group_hourly_stats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/help.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/listloader.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/listloader.pl create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/listloaderMAIN.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/listloader_rowdisplay.pl create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/listloader_super.pl create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/new_listloader_superL.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/remote_dispo.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/server_stats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/user_stats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/user_status.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/vdremote.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/welcome.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_CLOSERstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_IVRstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_VDADstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_VICIDIAL_hopperlist.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_admin_log_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_agent_performance.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_agent_performance_detail.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_agent_time_sheet.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_inboundEXTstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_server_performance.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_timeonVDAD.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_timeonVDADall.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_timeonVDADallSUMMARY.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_timeonpark.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/admin.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/admin_modify_lead.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/admin_search_lead.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/count.htm create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/dbconnect.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/group_hourly_stats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/help.gif create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/listloader.pl create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/listloaderMAIN.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/listloader_rowdisplay.pl create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/listloader_super.pl create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/new_listloader_superL.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/remote_dispo.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/user_stats.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/user_status.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/vdremote.php create mode 100644 agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/welcome.php create mode 100644 agc_2-X/branches/agc_2.0.5/Makefile create mode 100644 agc_2-X/branches/agc_2.0.5/SuSE/get_sources.sh create mode 100644 agc_2-X/branches/agc_2.0.5/UPGRADE create mode 100644 agc_2-X/branches/agc_2.0.5/VDconfig create mode 100644 agc_2-X/branches/agc_2.0.5/agi/VDL_CID_lookup.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/VD_amd.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/VD_amd_post.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/VD_auto_post_VERIFY.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/agi-AGENT_dial_in.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/agi-CANADA_PRI_CIDname.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/agi-DID_route.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/agi-IVR_recording_verification.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/agi-VDAD_ALL_inbound.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/agi-VDAD_ALL_outbound.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/agi-VDAD_inbound_calltime_check.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/agi-VDAD_pin_IVR.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/agi-VDADautoREMINDER.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/agi-VDADautoREMINDERxfer.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/agi-VDADfixCXFER.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/agi-VDADinbound_NI_DNC_CIDlookup.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/agi-VDADlisten_DTMF.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/agi-VDADselective_CID.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/agi-VDADselective_CID_hangup.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/agi-dtmf.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/agi-record_prompts.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/call_inbound.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/debug_speak.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/invalid_speak.agi create mode 100644 agc_2-X/branches/agc_2.0.5/agi/park_CID.agi create mode 100644 agc_2-X/branches/agc_2.0.5/bin/ADMIN_adjust_GMTnow_on_leads.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/ADMIN_area_code_populate.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/ADMIN_backup.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/ADMIN_keepalive_ALL.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/ADMIN_restart_roll_logs.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/ADMIN_timeclock_auto_logout.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/ADMIN_update_server_ip.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_CRON_GSM_SALE_recordings.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_CRON_audio_1_move_VDonly.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_CRON_audio_1_move_mix.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_CRON_audio_2_compress.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_CRON_audio_3_ftp.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_CRON_purge_recordings.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_DB_lead_status_change.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_DB_optimize.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_DB_tz_divide.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_SWAMPauto_dial.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_VDadapt.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_VDauto_dial.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_VDauto_dial_FILL.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_VDhopper.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_VDhopper_MIXtest.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_VDlist_summary_export.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_VDlist_summary_export_UK.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_VDremote_agents.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_VDsales_export.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_agent_daily_SPH.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_agent_daily_SPHfront.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_agent_day.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_agent_logout.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_agent_week.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_agent_week_tally.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_cleanup_agent_log.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_conf_update.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_email_web_report.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_flush_DBqueue.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_manager_kill_hung_congested.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_manager_listen.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_manager_send.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_phone_update.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_reset_mysql_vars.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_send_action_child.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_sourceID_summary_export.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_update.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/AST_vm_update.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/FastAGI_log.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/QC_gather_records.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/VICIDIAL_DEDUPE_leads.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/VICIDIAL_IN_new_leads_file.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/VICIDIAL_fix_list_statuses.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/VICIDIAL_fix_status_mismatch.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/VICIDIAL_last_local_call_time_UPDATE.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/Vtiger_IN_new_accounts_file.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/Vtiger_OUT_sync2VICIDIAL_file.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/build_translation_www_files.pl create mode 100644 agc_2-X/branches/agc_2.0.5/bin/start_asterisk_boot.pl create mode 100644 agc_2-X/branches/agc_2.0.5/docs/ACQS.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/AGENT_API.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/ALTERNATE_NUMBER_DIALING.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/APP_CONFERENCE.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/ASTERISK_CONF-GEN.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/BALANCE_FILL_PROCESS.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/BASE_INSTALL.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/CALLBACKS_PROCESS.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/IE_INCOMPATIBILITIES.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/INBOUND-CLOSER_PROCESS.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/Inbound_VDAC_IVR.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/LICENSE.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/LIST_SUGGESTIONS.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/LOAD_BALANCING.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/NON-AGENT_API.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/OUTBOUND_LIST_ORDERING.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/PERFORMANCE_TESTING.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/PREDICTIVE.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/QC_PROCESS.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/QUEUEMETRICS.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/README.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/REQUIRED_APPS_INSTALL.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/REQUIREMENTS.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/SCRATCH_INSTALL.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/Slackware-Linux_USA_DST_changes.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/SuSE_10_3_OS_INSTALL.odt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/SuSE_10_3_OS_INSTALL.pdf create mode 100644 agc_2-X/branches/agc_2.0.5/docs/TIMECLOCK_PROCESS.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/VICIDIAL.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/VICIDIAL_statuses.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/VTIGER.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/Vicidial_Hardware_Requirements.odt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/Vicidial_Hardware_Requirements.pdf create mode 100644 agc_2-X/branches/agc_2.0.5/docs/bind_named_install.txt create mode 100644 agc_2-X/branches/agc_2.0.5/docs/conf_examples/dnsmgr.conf.sample create mode 100644 agc_2-X/branches/agc_2.0.5/docs/conf_examples/extensions.conf.sample create mode 100644 agc_2-X/branches/agc_2.0.5/docs/conf_examples/extensions.conf.sample-1.4 create mode 100644 agc_2-X/branches/agc_2.0.5/docs/conf_examples/features.conf.sample create mode 100644 agc_2-X/branches/agc_2.0.5/docs/conf_examples/iax.conf.sample create mode 100644 agc_2-X/branches/agc_2.0.5/docs/conf_examples/iax.conf.sample-1.4 create mode 100644 agc_2-X/branches/agc_2.0.5/docs/conf_examples/logger.conf.sample create mode 100644 agc_2-X/branches/agc_2.0.5/docs/conf_examples/manager.conf.sample create mode 100644 agc_2-X/branches/agc_2.0.5/docs/conf_examples/meetme.conf.sample create mode 100644 agc_2-X/branches/agc_2.0.5/docs/conf_examples/musiconhold.conf.sample create mode 100644 agc_2-X/branches/agc_2.0.5/docs/conf_examples/sip.conf.sample create mode 100644 agc_2-X/branches/agc_2.0.5/docs/conf_examples/sip.conf.sample-1.4 create mode 100644 agc_2-X/branches/agc_2.0.5/docs/conf_examples/voicemail.conf.sample create mode 100644 agc_2-X/branches/agc_2.0.5/docs/conf_examples/zapata.conf.e1.sample create mode 100644 agc_2-X/branches/agc_2.0.5/docs/conf_examples/zapata.conf.t100p.sample create mode 100644 agc_2-X/branches/agc_2.0.5/docs/conf_examples/zapata.conf.x100p.sample create mode 100644 agc_2-X/branches/agc_2.0.5/docs/conf_examples/zaptel.conf.e1.sample create mode 100644 agc_2-X/branches/agc_2.0.5/docs/conf_examples/zaptel.conf.t100p.sample create mode 100644 agc_2-X/branches/agc_2.0.5/docs/conf_examples/zaptel.conf.x100p.sample create mode 100644 agc_2-X/branches/agc_2.0.5/experimental/AST_update.pl create mode 100644 agc_2-X/branches/agc_2.0.5/experimental/FastAGI_log_multi_server.pl create mode 100644 agc_2-X/branches/agc_2.0.5/experimental/convert_latin1_db_to_utf8.sh create mode 100644 agc_2-X/branches/agc_2.0.5/extras/1.2-gsm-gcc4.2.patch create mode 100644 agc_2-X/branches/agc_2.0.5/extras/1.4_gsm_gcc4.2.patch create mode 100644 agc_2-X/branches/agc_2.0.5/extras/AUS_zipcode_ranges.txt create mode 100644 agc_2-X/branches/agc_2.0.5/extras/Asterisk.pm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/Asterisk/AGI.pm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/Asterisk/Manager.pm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/Asterisk/Outgoing.pm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/Asterisk/QCall.pm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/Asterisk/Voicemail.pm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/Changed_meetme_sounds.txt create mode 100644 agc_2-X/branches/agc_2.0.5/extras/GMT_notes.txt create mode 100644 agc_2-X/branches/agc_2.0.5/extras/MySQL_AST_CREATE_tables.sql create mode 100644 agc_2-X/branches/agc_2.0.5/extras/Net/HTTP/Methods.pm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/Net/HTTP/NB.pm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/Net/Telnet.pm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/OLD_vdc_tab_script.gif create mode 100644 agc_2-X/branches/agc_2.0.5/extras/OLD_vdc_tab_vicidial.gif create mode 100644 agc_2-X/branches/agc_2.0.5/extras/OLD_vtc_tab_vicidial.gif create mode 100644 agc_2-X/branches/agc_2.0.5/extras/Telnet.pm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/Time/HiRes.1.55.pm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/Time/HiRes.1.59.pm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/Time/HiRes.1.65.pm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/Time/Local.pm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/Time/gmtime.pm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/Time/localtime.pm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/Time/tm.pm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/UK_region_codes.sql create mode 100644 agc_2-X/branches/agc_2.0.5/extras/US_zipcode_ranges.txt create mode 100644 agc_2-X/branches/agc_2.0.5/extras/UTF8_lead_file.txt create mode 100644 agc_2-X/branches/agc_2.0.5/extras/Vtiger504_vicidial.patch create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/0.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/0.wav create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/1.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/1.wav create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/2.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/2.wav create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/3.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/3.wav create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/4.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/4.wav create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/5.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/5.wav create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/6.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/6.wav create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/64_Makefile create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/7.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/7.wav create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/8.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/8.wav create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/9.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/9.wav create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/LICENSE create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/Makefile create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/README create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/VICIDIAL.txt create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/app_conference.c create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/app_conference.h create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/cli.c create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/cli.h create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/common.h create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/conf_frame.h create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/conference.c create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/conference.h create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/enter.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/frame.c create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/frame.h create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/hash.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/hash.wav create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/leave.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/CVS/Entries create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/CVS/Repository create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/CVS/Root create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/misc.c create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/misc.h create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/preprocess.c create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/qc_20060323.zip create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/smallft.c create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/smallft.h create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/speex_preprocess.h create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/member.c create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/member.h create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/star.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/extras/app_conference/star.wav create mode 100644 agc_2-X/branches/agc_2.0.5/extras/channel.c-42600.patch create mode 100644 agc_2-X/branches/agc_2.0.5/extras/cli_chan_concise_delimiter.patch create mode 100644 agc_2-X/branches/agc_2.0.5/extras/convert_audio.sh create mode 100644 agc_2-X/branches/agc_2.0.5/extras/convert_moh_audio.sh create mode 100644 agc_2-X/branches/agc_2.0.5/extras/enter.h create mode 100644 agc_2-X/branches/agc_2.0.5/extras/enter.raw create mode 100644 agc_2-X/branches/agc_2.0.5/extras/experimental_gsm_asm.patch create mode 100644 agc_2-X/branches/agc_2.0.5/extras/first_server_install.sql create mode 100644 agc_2-X/branches/agc_2.0.5/extras/init.d/vicidial create mode 100644 agc_2-X/branches/agc_2.0.5/extras/ip_relay/ip_relay_1.0.021902.tar create mode 100644 agc_2-X/branches/agc_2.0.5/extras/ip_relay/ip_relay_1.1.112705.zip create mode 100644 agc_2-X/branches/agc_2.0.5/extras/ip_relay/ip_relay_linux_i386 create mode 100644 agc_2-X/branches/agc_2.0.5/extras/ip_relay/lib_ip_relay_linux_i386.so.1.0.1 create mode 100644 agc_2-X/branches/agc_2.0.5/extras/ip_relay/lib_ip_relay_linux_i386_gcc.a create mode 100644 agc_2-X/branches/agc_2.0.5/extras/ip_relay/relay_control create mode 100644 agc_2-X/branches/agc_2.0.5/extras/leave.h create mode 100644 agc_2-X/branches/agc_2.0.5/extras/leave.raw create mode 100644 agc_2-X/branches/agc_2.0.5/extras/meetme_DTMF_passthru-1.2.23.patch create mode 100644 agc_2-X/branches/agc_2.0.5/extras/meetme_volume_control_1.2.16.patch create mode 100644 agc_2-X/branches/agc_2.0.5/extras/meetmeadmin_volume_control.1.2.7.1.patch create mode 100644 agc_2-X/branches/agc_2.0.5/extras/meetmeadmin_volume_control.patch create mode 100644 agc_2-X/branches/agc_2.0.5/extras/mysql-tuning.sh create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/VD_hangup.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LB_closer.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LB_closer_inbound.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LB_closer_inboundCID.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LB_transfer.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LO_closer.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LO_closer_inbound.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LO_transfer.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_PHONE.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inbound.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inboundANI.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inboundCID.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inboundCIDlookup.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inbound_5ID.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inbound_NOCID.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADtransfer.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADtransferBROADCAST.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADtransferSURVEY.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADtransferTEST.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/call_log.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_agi/call_logCID.agi create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings.pl create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings_BASIC.pl create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings_GSM.pl create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings_MP3.pl create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings_MP3_DATE.pl create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings_VDonly_DATE.pl create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_upgrade/upgrade_2.0.1.sql create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_upgrade/upgrade_2.0.2.sql create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_upgrade/upgrade_2.0.3.sql create mode 100644 agc_2-X/branches/agc_2.0.5/extras/old_upgrade/upgrade_2.0.4.sql create mode 100644 agc_2-X/branches/agc_2.0.5/extras/performance_test_alt_multi.txt create mode 100644 agc_2-X/branches/agc_2.0.5/extras/performance_test_leads.txt create mode 100644 agc_2-X/branches/agc_2.0.5/extras/second_server_install.sql create mode 100644 agc_2-X/branches/agc_2.0.5/extras/single_channelbank_phones.sql create mode 100644 agc_2-X/branches/agc_2.0.5/extras/sip-iax_phones.sql create mode 100644 agc_2-X/branches/agc_2.0.5/extras/sphinxNA.zip create mode 100644 agc_2-X/branches/agc_2.0.5/extras/testMULTI_VICIDIAL_lead_file.csv create mode 100644 agc_2-X/branches/agc_2.0.5/extras/testMULTI_VICIDIAL_lead_file.txt create mode 100644 agc_2-X/branches/agc_2.0.5/extras/testMULTI_VICIDIAL_lead_file.xls create mode 100644 agc_2-X/branches/agc_2.0.5/extras/test_VICIDIAL_lead_file.txt create mode 100644 agc_2-X/branches/agc_2.0.5/extras/test_call.pl create mode 100644 agc_2-X/branches/agc_2.0.5/extras/upgrade_2.0.5.sql create mode 100644 agc_2-X/branches/agc_2.0.5/extras/vicidial_modules.sh create mode 100644 agc_2-X/branches/agc_2.0.5/extras/vicidial_paraxip_chan_sip-1.2.patch create mode 100644 agc_2-X/branches/agc_2.0.5/extras/vicidial_paraxip_chan_sip-1.4.patch create mode 100644 agc_2-X/branches/agc_2.0.5/install.pl create mode 100644 agc_2-X/branches/agc_2.0.5/libs/viciagi.pm create mode 100644 agc_2-X/branches/agc_2.0.5/libs/vicidial.pm create mode 100644 agc_2-X/branches/agc_2.0.5/libs/vicilib-testcode.pl create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/,.wav create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/0.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/0.wav create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/1.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/1.wav create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/2.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/2.wav create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/3.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/3.wav create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/4.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/4.wav create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/5.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/5.wav create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/6.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/6.wav create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/7.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/7.wav create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/8.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/8.wav create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/9.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/9.wav create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/US_pol_survey_hello.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/US_pol_survey_transfer.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/US_reminder_callback.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/US_reminder_goodbye.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/US_reminder_message.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/US_reminder_options.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/US_thanks_no_contact.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/auth-thankyou.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/buzz.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/ding.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/enter-password.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/enter.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/four_digit_id.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/generic_hold.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/hash.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/hash.wav create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/hold_tone.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/ld_invalid_pin_number.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/ld_welcome_pin_number.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/leave.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/login-fail.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/pin-invalid.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/pin-number-accepted.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/quicksilence.alaw create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/quicksilence.g729 create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/quicksilence.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/quicksilence.ulaw create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/quicksilence.wav create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/silence.wav create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/silence10.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/sip-silence.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/star.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/star.wav create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/to-be-called-back.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/vm-goodbye.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/vm-msgsaved.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/vm-rec-generic.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/vm-review.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/sounds/you-must-be-logged-in.gsm create mode 100644 agc_2-X/branches/agc_2.0.5/translations/br_language.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/de_language.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/de_language_admin.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/el_language.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/el_language_admin.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/es_language.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/es_language_admin.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/fr_language.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/fr_language_admin.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/it_language.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/it_language_admin.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/pl_language.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/pt_language.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/raw_translation_files/TO_BE_TRANSLATED_2.0.2.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/raw_translation_files/TO_BE_TRANSLATED_2.0.3.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/raw_translation_files/TO_BE_TRANSLATED_2.0.4.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/raw_translation_files/TO_BE_TRANSLATED_2.0.5.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/raw_translation_files/TO_BE_TRANSLATED_2.0.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/raw_translation_files/de_language_first.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/raw_translation_files/de_translation_standards.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/raw_translation_files/language.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/raw_translation_files/language_admin.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/raw_translation_files/languages.txt_en_de create mode 100644 agc_2-X/branches/agc_2.0.5/translations/raw_translation_files/languages.txt_en_el create mode 100644 agc_2-X/branches/agc_2.0.5/translations/raw_translation_files/languages.txt_en_es create mode 100644 agc_2-X/branches/agc_2.0.5/translations/raw_translation_files/languages.txt_en_fr create mode 100644 agc_2-X/branches/agc_2.0.5/translations/raw_translation_files/languages.txt_en_it create mode 100644 agc_2-X/branches/agc_2.0.5/translations/raw_translation_files/languages.txt_en_pt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/raw_translation_files/pl_language_first.txt create mode 100644 agc_2-X/branches/agc_2.0.5/translations/sk_language.txt create mode 100644 agc_2-X/branches/agc_2.0.5/version create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/active_list_refresh.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/api.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/astguiclient.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/call_log_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/conf_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/dbconnect.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/Thumbs.db create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_BLINK.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_BLINK_e.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_BLINK_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_BLINK_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_ON.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_ON_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_ON_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_OFF_de.jpg create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_OFF_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_ON.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_ON_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_ON_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_ON_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_ON_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_active_lines.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_active_lines_el.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_active_lines_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_active_lines_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_astguiclient.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_astguiclient_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_conferences.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_conferences_el.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_conferences_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_conferences_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_main.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_main_el.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_main_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_main_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/blank.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/br.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/down.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/el.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/en.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/fr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/it.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/pt.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/remove.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/sk.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/up.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_dialnextnumber.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_dialnextnumber_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_dialnextnumber_OFF_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_dialnextnumber_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_dialnextnumber_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_dialnextnumber_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_dialnextnumber_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_dialnextnumber_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_grabparkedcall.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_grabparkedcall_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_grabparkedcall_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_grabparkedcall_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_grabparkedcall_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_grabparkedcall_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_OFF_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_OFF_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_parkcall.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_parkcall_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_parkcall_OFF_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_parkcall_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_parkcall_OFF_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_parkcall_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_parkcall_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_parkcall_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_parkcall_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_parkcall_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_pause.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_pause_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_pause_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_pause_OFF_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_pause_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_pause_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_pause_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_pause_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_resume.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_resume_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_resume_OFF_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_resume_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_resume_OFF_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_resume_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_resume_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_resume_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_resume_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_resume_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_senddtmf.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_senddtmf_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_senddtmf_OFF_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_senddtmf_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_senddtmf_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_senddtmf_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_senddtmf_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_senddtmf_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_spacer.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_OFF_p.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_OFF_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording2_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording_OFF_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_transferconf.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_transferconf_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_transferconf_OFF_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_transferconf_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_transferconf_OFF_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_transferconf_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_transferconf_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_transferconf_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_transferconf_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_transferconf_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_OFF_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_OFF_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_ammessage.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_ammessage_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_blindtransfer.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_blindtransfer_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_blindtransfer_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_blindtransfer_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_blindtransfer_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_blindtransfer_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_channel.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_channel_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_channel_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_code.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_dialwithcustomer.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_dialwithcustomer_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_dialwithcustomer_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_dialwithcustomer_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_dialwithcustomer_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_dialwithcustomer_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hangupbothlines.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hangupbothlines_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hangupbothlines_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hangupbothlines_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hangupbothlines_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hangupbothlines_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hangupxferline.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hangupxferline_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hangupxferline_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hangupxferline_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hangupxferline_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hangupxferline_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_header.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_header_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_header_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_OFF_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_OFF_es-orig.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_OFF_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_pl.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysinactive_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_internalcloser.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_internalcloser_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_internalcloser_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_internalcloser_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_internalcloser_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_internalcloser_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_leave3waycall.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_leave3waycall_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_leave3waycall_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_leave3waycall_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_leave3waycall_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_leave3waycall_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_localcloser.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_localcloser_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_localcloser_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_localcloser_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_localcloser_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_localcloser_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_number.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_number_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_number_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_parkcustomerdial.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_parkcustomerdial_OFF.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_parkcustomerdial_OFF_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_parkcustomerdial_OFF_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_parkcustomerdial_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_parkcustomerdial_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_seconds.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_seconds_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_seconds_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_tab_script.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_tab_script_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_tab_script_es.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_tab_script_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_tab_vicidial.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_tab_vicidial_ptbr.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_volume_MUTE.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_volume_MUTE_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_volume_UNMUTE.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_volume_UNMUTE_de.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_volume_down.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_volume_down_off.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_volume_up.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_volume_up_off.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/images/vtc_tab_vicidial.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/inbound_popup.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/live_exten_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/manager_send.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/park_calls_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/timeclock.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/vdc_db_query.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/vicidial.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/vicidial_redirect.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/agc/voicemail_check.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_CLOSER_service_level.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_CLOSERstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_IVRfilter.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_IVRstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_VDADstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_VICIDIAL_hopperlist.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_admin_log_display.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_days_detail.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_disposition.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_performance.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_performance_detail.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_status_detail.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_time_sheet.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_time_sheet_archive.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_inboundEXTstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_inboundEXTstats_department.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_parkstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_server_performance.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_timeonVDAD.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_timeonVDADall.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_timeonVDADallREC.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_timeonVDADallSUMMARY.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/AST_timeonpark.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/admin.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/admin_header.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/admin_modify_lead.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/admin_search_lead.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/call_report_export.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/closer-fronter_popup.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/closer-fronter_popup2.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/closer.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/closer_dispo.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/closer_popup.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/count.htm create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/dbconnect.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/fcstats.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/group_hourly_stats.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/help.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/high_pitch.mid create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/list_download.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/listloader.pl create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/listloaderMAIN.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/listloader_rowdisplay.pl create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/listloader_super.pl create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/log_test.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/loud.mid create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/loud_phone.mid create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/new_listloader_superL.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/non_agent_api.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/phone_stats.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/quick.mid create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/quick_ring.mid create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/record_conf_1_hour.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/recording_lookup.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/recording_lookup_DIRECT.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/remote_dispo.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/short_long.mid create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/sph_report.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/spreadsheet_sales_viewer.pl create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/timeclock_edit.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/timeclock_report.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/timeclock_status.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/up_down.mid create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/user_group_bulk_change.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/user_stats.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/user_status.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/vdremote.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/vicidial_admin_web_logo.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/vicidial_admin_web_logo_small.gif create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/vicidial_sales_viewer.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/voice_lab.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/vtiger_search.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/vtiger_user.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/web_form_forward.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/welcome.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/welcome_demo.php create mode 100644 agc_2-X/branches/agc_2.0.5/www/vicidial/welcome_languages.php diff --git a/agc_2-X/branches/agc_2.0.5/INSTALL b/agc_2-X/branches/agc_2.0.5/INSTALL new file mode 100644 index 00000000..33c96586 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/INSTALL @@ -0,0 +1,15 @@ +################ INSTALL + +For in-depth installation instructions read the docs/SCRATCH_INSTALL.txt file + +For more brief install instructions read the docs/BASE_INSTALL.txt file + +For Requirements of astGUIclient/VICIDIAL read the docs/REQUIREMENTS.txt file + + +To place the astGUIclient/VICIDIAL files where they belong on the server: +run the install.pl script from this directory: +perl install.pl + + +If you are upgrading from a previous version, see the UPGRADE file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/active_list_refresh.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/active_list_refresh.php new file mode 100644 index 00000000..7ea0bff0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/active_list_refresh.php @@ -0,0 +1,482 @@ + LICENSE: GPLv2 +### +### This script is designed purely to serve updates of the live data to the display scripts +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $ADD - ('1','2','3','4','5') +### - $order - ('asc','desc') +### - $format - ('text','table','menu','selectlist','textarea') +### - $bgcolor - ('#123456','white','black','etc...') +### - $txtcolor - ('#654321','black','white','etc...') +### - $txtsize - ('1','2','3','etc...') +### - $selectsize - ('2','3','4','etc...') +### - $selectfontsize - ('8','10','12','etc...') +### - $selectedext - ('cc100') +### - $selectedtrunk - ('Zap/25-1') +### - $selectedlocal - ('SIP/cc100') +### - $textareaheight - ('8','10','12','etc...') +### - $textareawidth - ('8','10','12','etc...') +### - $field_name - ('extension','busyext','extension_xfer','etc...') +### + +# changes +# 50323-1147 - First build of script +# 50401-1132 - small formatting changes +# 50502-1402 - added field_name as modifiable variable +# 50503-1213 - added session_name checking for extra security +# 50503-1311 - added conferences list +# 50610-1155 - Added NULL check on MySQL results to reduced errors +# 50711-1209 - removed HTTP authentication in favor of user/pass vars +# 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1118 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["order"])) {$order=$_GET["order"];} + elseif (isset($_POST["order"])) {$order=$_POST["order"];} +if (isset($_GET["bgcolor"])) {$bgcolor=$_GET["bgcolor"];} + elseif (isset($_POST["bgcolor"])) {$bgcolor=$_POST["bgcolor"];} +if (isset($_GET["txtcolor"])) {$txtcolor=$_GET["txtcolor"];} + elseif (isset($_POST["txtcolor"])) {$txtcolor=$_POST["txtcolor"];} +if (isset($_GET["txtsize"])) {$txtsize=$_GET["txtsize"];} + elseif (isset($_POST["txtsize"])) {$txtsize=$_POST["txtsize"];} +if (isset($_GET["selectsize"])) {$selectsize=$_GET["selectsize"];} + elseif (isset($_POST["selectsize"])) {$selectsize=$_POST["selectsize"];} +if (isset($_GET["selectfontsize"])) {$selectfontsize=$_GET["selectfontsize"];} + elseif (isset($_POST["selectfontsize"])) {$selectfontsize=$_POST["selectfontsize"];} +if (isset($_GET["selectedext"])) {$selectedext=$_GET["selectedext"];} + elseif (isset($_POST["selectedext"])) {$selectedext=$_POST["selectedext"];} +if (isset($_GET["selectedtrunk"])) {$selectedtrunk=$_GET["selectedtrunk"];} + elseif (isset($_POST["selectedtrunk"])) {$selectedtrunk=$_POST["selectedtrunk"];} +if (isset($_GET["selectedlocal"])) {$selectedlocal=$_GET["selectedlocal"];} + elseif (isset($_POST["selectedlocal"])) {$selectedlocal=$_POST["selectedlocal"];} +if (isset($_GET["textareaheight"])) {$textareaheight=$_GET["textareaheight"];} + elseif (isset($_POST["textareaheight"])) {$textareaheight=$_POST["textareaheight"];} +if (isset($_GET["textareawidth"])) {$textareawidth=$_GET["textareawidth"];} + elseif (isset($_POST["textareawidth"])) {$textareawidth=$_POST["textareawidth"];} +if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} + elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} + +### security strip all non-alphanumeric characters out of the variables ### + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $ADD=ereg_replace("[^0-9]","",$ADD); + $order=ereg_replace("[^0-9a-zA-Z]","",$order); + $format=ereg_replace("[^0-9a-zA-Z]","",$format); + $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); + $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); + $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); + $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); + $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); + $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); + $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); + $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); + $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); + $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); + $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + +# default optional vars if not set +if (!isset($ADD)) {$ADD="1";} +if (!isset($order)) {$order='desc';} +if (!isset($format)) {$format="text";} +if (!isset($bgcolor)) {$bgcolor='white';} +if (!isset($txtcolor)) {$txtcolor='black';} +if (!isset($txtsize)) {$txtsize='2';} +if (!isset($selectsize)) {$selectsize='4';} +if (!isset($selectfontsize)) {$selectfontsize='10';} +if (!isset($textareaheight)) {$textareaheight='10';} +if (!isset($textareawidth)) {$textareawidth='20';} + +$version = '0.0.8'; +$build = '60619-1118'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalid server_ip: |$server_ip| or Invalid session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalid session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='table') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "List Display: "; +if ($ADD==1) {echo "Live Extensions";} +if ($ADD==2) {echo "Busy Extensions";} +if ($ADD==3) {echo "Outside Lines";} +if ($ADD==4) {echo "Local Extensions";} +if ($ADD==5) {echo "Conferences";} +if ($ADD==99999) {echo "HELP";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ADD=1 display all live extensions on a server +###################### +if ($ADD==1) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'extension';} + if ($format=='table') {echo "\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + +###################### +# ADD=2 display all busy extensions on a server +###################### +if ($ADD==2) +{ + if (!$field_name) {$field_name = 'busyext';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=3 display all busy outside lines(trunks) on a server +###################### +if ($ADD==3) +{ + if (!$field_name) {$field_name = 'trunk';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=4 display all busy Local lines on a server +###################### +if ($ADD==4) +{ + if (!$field_name) {$field_name = 'local';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=5 display all agc-usable conferences on a server +###################### +if ($ADD==5) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'conferences';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='table') {echo "\n";} +if ($format=='table') {echo "\n\n\n";} + +exit; + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/astguiclient.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/astguiclient.php new file mode 100644 index 00000000..c5fe5902 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/astguiclient.php @@ -0,0 +1,2905 @@ + LICENSE: GPLv2 +# +# make sure you have added a user to the vicidial_users MySQL table with at least +# user_level 1 or greater to access this page. Also you need to have the login +# and pass of a phone listed in the asterisk.phones table. The page grabs the +# server info and other details from this login and pass +# +# Other scripts that this application depends on: +# - active_list_refresh.php: displays active/live channels and phones +# - manager_send.php: sends Actions to be executed on Asterisk servers +# - live_exten_check.php: checks to see if user's phone is on a live call +# - call_log_display.php: retrieves log of inbound and outbound calls +# - voicemail_check.php: retrieves counts of new and old messages +# - inbound_popup.php: opens upon live_inbound call coming in +# - conf_exten_check.php: checks to see if and calls are in a specific conf +# - park_calls_display.php: retrieves list of parked calls +# - vdc_db_query.php: Changes values in the DB for non-calling records +# +# CHANGES +# 50215-1356 - Proof-of-concept test of XMLHttpRequest for astGUIclient web +# 50323-1411 - First build version display-only +# 50331-1040 - Second-build, added phone login and hangup/hijack display +# 50401-1006 - Trunk/Local Hangup functions enabled +# 50404-1056 - Trunk/Local Hijack functions enabled +# 50404-1459 - Simple live calls display and grabs updated time from server +# 50405-1221 - Reorganized the display and layers, added some images +# 50406-1005 - Added In/Out call log display to MAIN panel +# 50407-1254 - Start/Stop Recording on live calls enabled +# 50422-1101 - Activated Check Voicemail button and new/old messages count +# 50428-1449 - Added dial from log and basic live_inbound call popup +# 50429-1455 - Modified inbound popup code for IE and to add more functions +# 50502-1442 - Added basic method to transfer live calls somewhere else +# 50503-1205 - Added web_client_sessions entry for more security of subscripts +# 50503-1537 - Added basic conferences display +# 50509-1132 - Added conference connected list and hangup/xfer for them +# 50511-1129 - Added registration of conference rooms and added manual dial +# 50523-1342 - Added Conference recording and send DTMF +# 50523-1622 - Added Local Dial window frame for calling local extensions +# 50524-1456 - Added ability to park call and display number of parked calls +# 50524-1600 - Added ability to display and pickup/hangup/xfer parked calls +# 50525-1224 - Added ability to place outbound call from within conferene +# 50531-1225 - Added ability to do dual transfers to meetme rooms from Main +# 50711-1229 - removed HTTP authentication in favor of user/pass vars +# 50711-1610 - Added Zap monitoring to Trunk/Local Action screens +# 50804-1604 - Minor bug fix in inbound_popup functions +# 50818-1715 - Added pretty login section +# 50913-1137 - Added custom outbound_cid from phones table +# 51110-1430 - Fixed non-standard http port issue +# 60103-1421 - Added code for favorite extensions chooser +# 60104-1347 - Added basic layout for favorites editing frame +# 60105-1124 - Finished Favorites frame and added DB submission +# 60112-1622 - Several formatting changes +# 60421-1357 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1103 - Added variable filters to close security holes for login form +# 60829-1528 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +$version = '2.0.1'; +$build = '60829-1528'; + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + + +if ($force_logout) +{ + if( (strlen($_SERVER['user'])>0) or (strlen($_SERVER['pass'])>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "You have now logged out. Thank you\n"; + exit; +} + +$StarTtime = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd-His"); + $month_old = mktime(0, 0, 0, date("m"), date("d")-7, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$US='_'; +$CL=':'; +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./astguiclient_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = $agcPAGE; +$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); + + if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) + { + header ("Content-type: text/html; charset=utf-8"); + + echo "astGUIclient web client: Login\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login
 
User Login:
User Password:
Phone Login:
Phone Password:

VERSION: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($user); + $password=strtoupper($pass); + $stmt="SELECT full_name,user_level from vicidial_users where user='$user' and pass='$pass'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + } + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "astGUIclient web client: Phone Login\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Phone Login
 
Phone Login:
Phone Password:

VERSION: $version       BUILD: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +$authphone=0; +$stmt="SELECT count(*) from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "astGUIclient web client: Phone Login\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Phone Login
 
Sorry, your phone login and password are not active in this system, please try again:
 
Phone Login:
Phone Password:

VERSION: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { + echo "astGUIclient web client\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $phone_login=$row[6]; + $phone_pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $CaLLerID_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $outbound_cid=$row[65]; + + $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtime$US$session_ext$session_rand"; + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'agc';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','agc','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT count(*) from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_present=$row[0]; + if ($favorites_present > 0) + { + $stmt="SELECT extensions_list from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_list=$row[0]; + $h=0; + $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites = explode(',',$favorites_listX); + $favorites_count = count($favorites); + $favorites_listX=''; + + $o=0; + while ($favorites_count > $o) + { + $stmt="SELECT fullname,protocol from phones where extension = '$favorites[$o]' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $favorites_names[$o] = $rowx[0]; + $favorites_listX .= "$rowx[1]/$favorites[$o],"; + $o++; + } + + echo "\n"; + echo "\n"; + } + else + { + echo "\n"; + } + +### gather phone extensions and fullnames for favorites editor ### + $stmt="SELECT extension,fullname from phones where server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $exten_ct = mysql_num_rows($rslt); + $favlistCT=0; + $nofavlistCT=0; + while ($favlistCT < $exten_ct) + { + $row=mysql_fetch_row($rslt); + $favlist[$favlistCT]= "$row[0] - $row[1]"; + $favlistCT++; + } + + } +} + + +?> + + + + + + +\n"; + + +?> + +
+ + + + + + + + + +
+ + +LOGOUT
\n"; ?> +
Main PanelActive Lines PanelConferences PanelCheck VoicemailLive Call
+
+ + +

Logout
+
+ + +
TRUNK HANGUP

+ Active Trunks Menu
+ Hangup Trunk   |   + Hijack Trunk   |   + Listen Trunk   |   + Refresh   |   + Back to Main Window +
+
+ + +
LOCAL HANGUP

+ Active Local Menu
+ Hangup Local   |   + Hijack Local   |   + Listen Local   |   + Refresh   |   + Back to Main Window +
+
+ + + + + + + +
LIVE CALL TRANSFER
Channel to be transferred: Channel
Extensions:
Extensions Menu
+
+ Send to selected extension

+ Send to selected vmail box

+ Send to this number:


+ Refresh


+ Back to Main Window

+
Conferences:
(click on a number below to send to a conference)
Send my channel too
Conferences Menu
+
+ + + + + +
LOCAL Extensions Dial
Phone calling from: Channel
Extensions:
Extensions Menu
+
+ Call selected extension

+ Call selected vmail box

+ Refresh


+ Back to Main Window

+
+
+ + +
PARKED CALLS:
+ Back to Main Window

+
+
+ + + + + + + + + + + + + + + +
  +
VOICEMAIL     NEW:     OLD:             MANUAL DIAL       DIAL
PARKED CALLS: 0                LOCAL DIAL EXTENSIONS
OUTBOUND CALLS:
INBOUND CALLS:
astGUIclient web-client VERSION: BUILD:
+ + + + $h) + { + if (strlen($favorites[$h])>1) + { + echo "\n"; + } + $h++; + } +?> + +
FAVORITES       edit
$favorites[$h] - $favorites_names[$h]
 
+
+ + + + + + + +
FAVORITES

 
SUBMIT FAVORITES CHANGES - requires logout
BACK TO MAIN WINDOW - ignore changes made
+
+ +
+ + + + + + + + + + + + + +
+PAUSE | START     Refresh rate: 1000 ms Faster | Slower

+
Initializing..
+
Active Extensions
+REFRESH | +ORDER | +
Outside Lines
+REFRESH | +ORDER | +
Local Extensions
+REFRESH | +ORDER | +
+ Data Goes Here

+
+ Data Goes Here

Trunk Action +
+ Data Goes Here

Local Action +
+
+ + + + +
+ + +Conferences List + + + +
+Click on a conference room number on the left for info on that conference +
+ + + + + + + + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/call_log_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/call_log_display.php new file mode 100644 index 00000000..28d3ea87 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/call_log_display.php @@ -0,0 +1,196 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send the inbound and outbound calls for a specific phone +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### - $in_limit - ('10','20','50','100',...) +### - $out_limit - ('10','20','50','100',...) +### + +# changes +# 50406-1013 - First build of script +# 50407-1452 - Added definable limits +# 50503-1236 - added session_name checking for extra security +# 50610-1158 - Added NULL check on MySQL results to reduced errors +# 50711-1202 - removed HTTP authentication in favor of user/pass vars +# 60323-1550 - added option for showing different number dialed in log +# 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1202 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($in_limit)) {$in_limit="100";} +if (!isset($out_limit)) {$out_limit="100";} +$number_dialed = 'number_dialed'; +#$number_dialed = 'extension'; + +$version = '0.0.8'; +$build = '60619-1202'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalid server_ip: |$server_ip| or Invalid session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalid session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Call Log Display"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten is not valid or protocol $protocol is not valid\n"; + exit; + } + else + { + ##### print outbound calls from the call_log table + $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} + echo "$out_calls_count|"; + $loop_count=0; + while ($out_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[3] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + + if ($number_dialed == 'extension') {$row[2] = substr($row[2],-10);} + echo "$row[0] ~$row[1] ~$row[2] ~$call_time_MS|"; + } + echo "\n"; + + ##### print inbound calls from the live_inbound_log table + $stmt="SELECT call_log.uniqueid,live_inbound_log.start_time,live_inbound_log.extension,caller_id,length_in_sec from live_inbound_log,call_log where phone_ext='$exten' and live_inbound_log.server_ip = '$server_ip' and call_log.uniqueid=live_inbound_log.uniqueid order by start_time desc limit $in_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} + echo "$in_calls_count|"; + $loop_count=0; + while ($in_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[4] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $callerIDnum = $row[3]; $callerIDname = $row[3]; + $callerIDnum = preg_replace("/.*<|>.*/","",$callerIDnum); + $callerIDname = preg_replace("/\"| <\d*>/","",$callerIDname); + + echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; + } + echo "\n"; + + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/conf_exten_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/conf_exten_check.php new file mode 100644 index 00000000..ae3b84b5 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/conf_exten_check.php @@ -0,0 +1,297 @@ + LICENSE: GPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('refresh','register') +# - $client - ('agc','vdc') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $campagentstdisp - ('YES',...) +# + +# changes +# 50509-1054 - First build of script +# 50511-1112 - Added ability to register a conference room +# 50610-1159 - Added NULL check on MySQL results to reduced errors +# 50706-1429 - script changed to not use HTTP login vars, user/pass instead +# 50706-1525 - Added date-time display for vicidial client display +# 50816-1500 - Added random update to vicidial_live_agents table for vdc users +# 51121-1353 - Altered echo statements for several small PHP speed optimizations +# 60410-1424 - Added ability to grab calls-being-placed and agent status +# 60421-1405 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1201 - Added variable filters to close security holes for login form +# 61128-2255 - Added update for manual dial vicidial_live_agents +# 70319-1542 - Added agent disabled display function +# 71122-0205 - Added vicidial_live_agent status output +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["client"])) {$client=$_GET["client"];} + elseif (isset($_POST["client"])) {$client=$_POST["client"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campagentstdisp"])) {$campagentstdisp=$_GET["campagentstdisp"];} + elseif (isset($_POST["campagentstdisp"])) {$campagentstdisp=$_POST["campagentstdisp"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($client)) {$client="agc";} + +$version = '2.0.4-12'; +$build = '71122-0205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd_His"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$random = (rand(1000000, 9999999) + 10000000); + + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalid server_ip: |$server_ip| or Invalid session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalid session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Conf Extension Check"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + if ($ACTION == 'refresh') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($conf_exten)<1) + { + $channel_live=0; + echo "Conf Exten $conf_exten is not valid\n"; + exit; + } + else + { + + if ($client == 'vdc') + { + $Acount=0; + $AexternalDEAD=0; + + ### see if the agent has a record in the vicidial_live_agents table + $stmt="SELECT count(*) from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Acount=$row[0]; + + if ($Acount > 0) + { + $stmt="SELECT status from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Astatus=$row[0]; + } + # ### find out if external table shows agent should be disabled + # $stmt="SELECT count(*) from another_table where user='$user' and status='DEAD';"; + # if ($DB) {echo "|$stmt|\n";} + # $rslt=mysql_query($stmt, $link); + # $row=mysql_fetch_row($rslt); + # $AexternalDEAD=$row[0]; + + if ($auto_dial_level > 0) + { + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + if ($campagentstdisp == 'YES') + { + ### grab the status of this agent to display + $stmt="SELECT status,campaign_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Alogin=$row[0]; + $Acampaign=$row[1]; + + ### grab the number of calls being placed from this server and campaign + $stmt="SELECT count(*) from vicidial_auto_calls where server_ip='$server_ip' and status NOT IN('XFER') and campaign_id='$Acampaign';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $RingCalls=$row[0]; + } + else + { + $Alogin='N'; + $RingCalls='N'; + } + } + else + { + $Alogin='N'; + $RingCalls='N'; + + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } + + if ($Acount < 1) {$Alogin='DEAD_VLA';} + if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} + + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . "|\n"; + + } + $total_conf=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$sip_list = mysql_num_rows($rslt);} + # echo "$sip_list|"; + $loop_count=0; + while ($sip_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $ChannelA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + # echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $ChannelA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + } + $channels_list = ($channels_list + $sip_list); + echo "$channels_list|"; + + $counter=0; + $countecho=''; + while($total_conf > $counter) + { + $counter++; + $countecho = "$countecho$ChannelA[$counter] ~"; + # echo "$ChannelA[$counter] ~"; + } + + echo "$countecho\n"; + } + + if ($ACTION == 'register') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($exten)<1) ) + { + $channel_live=0; + echo "Conf Exten $conf_exten is not valid or Exten $exten is not valid\n"; + exit; + } + else + { + $stmt="UPDATE conferences set extension='$exten' where server_ip = '$server_ip' and conf_exten = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + echo "Conference $conf_exten has been registered to $exten\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/dbconnect.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/dbconnect.php new file mode 100644 index 00000000..723d3c59 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/dbconnect.php @@ -0,0 +1,58 @@ + LICENSE: AGPLv2 +# +if ( file_exists("/etc/astguiclient.conf") ) +{ +$DBCagc = file("/etc/astguiclient.conf"); +foreach ($DBCagc as $DBCline) + { + $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); + if (ereg("^PATHlogs", $DBCline)) + {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} + if (ereg("^PATHweb", $DBCline)) + {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} + if (ereg("^VARDB_server", $DBCline)) + {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} + if (ereg("^VARDB_database", $DBCline)) + {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} + if (ereg("^VARDB_user", $DBCline)) + {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} + if (ereg("^VARDB_pass", $DBCline)) + {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} + if (ereg("^VARDB_port", $DBCline)) + {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} + } + +} +else +{ +#defaults for DB connection +$VARDB_server = 'localhost'; +$VARDB_user = 'cron'; +$VARDB_pass = '1234'; +$VARDB_database = '1234'; +$WeBServeRRooT = '/usr/local/apache2/htdocs'; +} + +$link=mysql_connect("$VARDB_server", "$VARDB_user", "$VARDB_pass"); +if (!$link) { + die('MySQL connect ERROR: ' . mysql_error()); +} +mysql_select_db("$VARDB_database",$link); + +$local_DEF = 'Local/'; +$conf_silent_prefix = '7'; +$local_AMP = '@'; +$ext_context = 'demo'; +$recording_exten = '8309'; +$WeBRooTWritablE = '1'; +$non_latin = '0'; # set to 1 for UTF rules, overridden by system_settings +$flag_channels=0; +$flag_string = 'VICIast20'; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/Thumbs.db b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..d6ae4c5916fc536684299cbd2c3e8e9ed5c77783 GIT binary patch literal 151552 zcmeF)2V4|Qz9{S=2`D*dlprcW$vI0B0RaUhDmf!L2SGrxWF6zzymk{e)KE-8~g>%!9L=E^F;)p0~i4EoMQr5 z05)(HxCYgWk3aZ1gHY)z;oa+@C48RGyyH(DWDDL0J?xaUbN?|xvZ2KL4dJo7p@a$B%;_`@^6FMeYp1Fx8$FLUJU;y+EI*0fZaT_|YCm8Mbt zuqyKW{WA$2f{OApf8_GFZmS0QLI(-?di!S*GJoWeAdl&{=8r5J=6}i``P%(w((gHb zWEuLIKXTtu0p$MwqwM#g~uO8G~|3*NK#sEJ6 zc}|h9fnxA_y!?8(03moFs~`(O0Wa!j;2-328iZCfR8-`DkkG+@3@i)`baafXn3z|v zaIWIuT)TSh8ZI6Y0WKaP-nDB4WCVo7B&4LIIQZlgWF!60sBfO3p)f#D2~p4pQ7$`>^#}?E*jwZd|0$uMf_=P#iG_Xj8d#x{ z0F+QPG*omnVAt*6>X#wMm_<`$NYPR=f_Ztfld zuL6UDUx$Ro#Ky%ZB))x@l$n*Clbe@cQ2435qOz*GrnauFy`!_M`*Tn4=-Bv|iOH|u zrWTi$S60{7H#WCm2Zu+;C#Uf5Kaj_T0zv!ZVf~*Y`>W$31jmJnj*fwv&alX9@-y{?6)15|L;1o z|8rn}KCUSU4jKwLd1!>70zOwS!-faLhC0Nk;mMARdMppC8*UT4)0ZG&z)FyFb#Z=z z#*%bu`JH}wC_s#*2bOuNyYCyIT%X%#$)4lBdtHlz(d`LSc#(WbB)*7)K$#qBfl$oJ zL}l9f=XmJ*QRy>D_`%xZQb7Bop{gZCwf!BZc^WZCuQqF=zI9Q2<%TCOVe{QB-)#4f zQw(?UD{r_PK6>-r$L#GTr0F}kEuIdojN5KK8;d0n8NI~Gs)M-$DK}Q7hQ{7+o0%Iefx#-V9tdzgqW_jrKk9u{3Hz) z{Mu>S^IW`rM0ZNL8Ykw?T{;PkIQqGL3Fj732hOBJD^bRips}M=IfY8Nm5E)}7V(hi zU@A#M0eYIXBBfHMY9NXv#kwm~QtSSFd)X9Pn-AG|1ulQfsI-|km-3(;d-zALcyUJe zW)5gk8lFq&h#ZEQj}GF5yuouK2X@$9_wIB=Zy|{_`EArk%?zg^WGUU`x6r#x;c|m z7$u!`AvrZqo|=j`ovqyJ5}<*p1S_3quvZ?INbi>^hp8q|X4a(%mW=F%*Spr&4N|*) z=Jbd3w5*k{w(0EnFpeMRiwS#4)_vlC<7S9mB2jbGyx+tgrK92d>}!EzXi|Q2g=XYC zCv~t>9nY-D4rZUm6pDOajv8?A^*mS%BvI8@crHWo z2<5L}UVi%-?0&{?-CyzhSN#5a71MuP{HB0achM7=HxpFS<85ktSN6Mn$XsEm5JdG8DUMl7|614l5Z$TgEPaNqsu+ zh1H$J>N*b!W`%(>9qn1qSu)L&_b|mCD!Ik5knmDim*FR~r<8aUxAB8oX$zRn^BbO! zr#H7%TddrvsINGs)3U2m8S3)XOq<#ir?)O%tPWW0;ADFqq_+0W0qaE;>LZ9Ms~?2c zeGtRoz(=?#*^{OjCqYkYNkU__Y@x%V>QT$xR9S_>!<=gKlq(@)}H-ip&;AlkNcgMD z6`Th#9bF2^yNG#xOdg-Zex+x1x6XI=oT8?TI)zp{2O4wz=+>s(N^)N=Vr?>ot4gY0 z7k7L1!#>H#XDscu)MA6smK0kkZb5(HAmKybhVQM0oYkUMy%qCV2=`GD#iH$mdHip7 zyaH*I0rNU_`G#1m?;I!}_-Dt+vMN*KPod5!nyCbmZ6b1IbuD!la7#5}#t zHH4vKjKoH?6)O+t>-;bsx4y4M9>QyEXLMq6vEq>=X?Hpi`;Pea?>;KWGo`93f+EfZ zHW}v`HuJs+*4NB&_YD=8>ijjhy|VWtH$sUwmAH7Sqv*wu9SVUrV7EPp({7ptBh2 zBRV=QYqavvojRmb7JQ_e)-`MQEHjkVsPF2nOuxS-{^xl6Gw%Le{))f9+Ry*+!r)i@ z{S|+I#ozzd`1}6fr2UKcKdk=(*=P38BxL_1vj6Z30J@}pQ~#?pShob6FJwaY*Z(u= z_w;`v`{U97ls|H;;Gapz{E?f&1b*xBBm4h<=8x>B{AbedIsR85!!pnnhD^Wuul{b& z+&}8SI(^OF@WeeYY#MuKz&|@@CArx2UM+4nMs>b{?!*+Fc}5)dh|xxuXxdy)ssPCU>* z&*Z6#k6%f+l_j;R^?|+eiaSf0?xDUzRKclwVXTF~`4FN}#qFXO_G#l(D0wK4y_isj zl~mR-g!G-*R?3UK*q38zmZJLYT}juYZA+ahYRK=}&{i$34Qi+obKx(c42rt3&}a^6 zUP3DPL!5;PO&oep-e=kqw1syS7mUb(ZjL=|w3BRD+Nq-xW!lPYOmFaMV0#Q#18xi7 zNSE9L-Lihs2G8zY-xY6S%mA?)x|XLu9C~uUpIFd@!b_iPNP&Cj}AaXZrZN#6z zWZy5IMHoRnY#NJ|VO`~K%7in6Ou}8S6CQu=vij`1Sm^b_I8wGbMnT=2NWL{CkgbJ` zH3r3H0XAT2VNk*H`bhCw7&XHiZRO6i>m=dP0pSJH(XCxv0`EJIYL@kHih@SD zv`_aRL@tjuc{iQsBg_hlN>=BmzVw-xU0ufM?UdCFoC$S_6xdXgIn!`kyE0Fg#h}n2 z_~zc+SHsq)RV$@Wo77wmN7L^X(9O@z@gMoFcxnd4cBQfIuU?ctn~dA zwn4RNcr-d<248trw8-3Ne2#}aTF<+fGE=Sa!F!rFiiFh|A&*=M(=d7B4Aj>3$-N@^ zkbBUTp6k}G9`?}6TTb4c7kjljl(B}Z;Tff?R}BgZrQlwdRT#X$cWDpL&2kw!CTUyd z&XG1J(Y_l+{lT|R8i#ISGVzyOc2~Qsov-(D&P*mxNx~de=Bm=LBS$fl6v7E~ zrJ`eC?#84<&-?@__l9`c()X*@BIg9Xu8~A{Vt#u^wZ-+Rv)puo&Q=JF(F>Alqs*6e z(i2rSerXvsJQFRFFIS5H8c4!z($Mc@(p~CSSm)a%>iMK1bZzp1LPp$!Cv8#RO;NlM zh-deHtcNaUge|R>M9hYZVfwRPD`1MTx}Sg%QJo=GgFg(x+Dmh=;+NlF?~EXptsi3- zVPtYSPAH{F>a;b`#ZO%MsiGX$$A`*O> z?)fsZeKeH{p%wO6=#>vjm11?|{iG*Jq!wYzj@;NNL%l)-m?CP!_|joZDxs#;+}&B7 zOxGVg46BHmO%WF}D_ft+peIGhYpU4oIHO*$q|L<)6M*la%;vXAlzv1gY8$VxyJdpE90s!Qgav)d+ z0l~m)AOt|p9SH-%fe0WHhyvaK(Lf9k3&a8OKmvf=)?2WA2P6T>Knjowqygzb2Jjxp z1hRl^AP2|=@_>Ax04M~CfMTEoKyJGXEI$Arfloj=Pyti|RX{aR1JnX_Kt0d^Gy+XP zGtdIG0&PG$fZT2;Sat#3z-OQb=mq+KeqaC?1crcNU<4Qi#(;6)3orpp0$%~-K+O~| z4IsBa3zl=hJg@*P0!zR$umY?CYrs0N0c-+Wz&5Z0Kmp`-_P}xK z00+JUKY%j;0h|LD0P;c&xt(9*_rJ#P|IW;We{}r=#_t(m>75adGO#Zvfw^CGX5{RM z9-73x!pc!+ewQloJq6{Mbi4A9zsnnQiOHAPne`Ha<95p}Rzo*2medrOv`?lsM%zvKkrAX6947Xi1F(kS1(JRIS$96ATNl3|FoJ0@8rj`bH9hXe6)>>F)|1Y^ zyOQqXv42M^2Y!6*3Oybp8#9+l*)ygB_PCzJyn*8dM+w@K_%msE?9-YW|4C_FdpjPN zgElZb!PTY^i_2`!9y*ugYu-%6vEYQMMri!V<~3K5fXwYfL`#g2X+vRmyDv?}9>G>! zKRx~mxktDPNqrgg+haa3lEZa1o`NaGuwpT6xdY#}XMYtXn?T2s=Qn`oV4}E%Hmf5u) zjM|XU(DTQGVZo6`JDdphj?z`PN!wHw;-9Je-qljrvA+OH@W`!pVoi)tN-YC z_aB`#8hyFxr-atN0{LdPm1E!fW5uu(mt3FUK_>*v%kk4$wRVs{IuSW4OGYT2J=_u! zE6KO0^GQiJe2V%Z=^^*0v<9cO0)D9dl5A@38OEpH4l)yKvg<2m*M@HTiN&7rePU;- z;gVpK(GWmCUy$DrZHk+&aSju0Q?PmEFHO~*{_e9)cK$B60k_K8Ge`;%ff*@~?fO)0)7NvWVm$3}Xj4;D@P ze4&D-5J}@DTSp5rC%QATlyV6mZlP@!)q7iZi#bXZ-XJF1f_$d<;V&zrc%E8%o~z?M zaba!m-YE%9frt)0VqJ4@w(=#?4Ile|vfP&|AQQ(Syc0Zqim*@g#dtANN!_!8BRjVWN#rJ3va zdDDRX64I_}B{iEtWm4BM>Yk&aL20Ltp?e7ls)5~2`s5un@8OR!-!0J7B`AXDF^oC- zMrUi1)!L}0f?c@6vSEdk(i+yq#To%GD6;aQ-%ssNvy^}eR18X}aJv{YwHEB&`C0H zepP&4P2lsIh=s>7TqO)u0wS=_ON}&Fv$qtdwI^Jfy|IuJcw0gD^6r*dBtEXBSYL=u zSo_B@uNU734zWK*-Ay?X6@sa!M_!1jo7A^gnR6_hsU;>{C!)XGe@K5i&j4-hGs-Wc z8*{RoqL<;yP2OLdSFVUzv&t>6sHqMmG7k8U(|6OlPXg=zdit(tbNp(YGymV3zN>_0r$$Z=rd`HAF^55(_Va^sz;8o*VEROLlqzUtMD<0=Z@TJ^UDZ#tdCJBrpHAH zo@a=#EP5+Sj(OoS@wtvML2ooxadq@QMntT^>Mhp;QZp-5Tc6G+TtY+x_vnuE5niy9 z1mnX7UfZQxc`@qOne`W5a24Xzli7@5Bn+HjU#%-=e(WCIO`o)Kak|>(^;LjL zGjaN<&xnf#_tVz>T?(iPS7I3SMU_`qbaFyUY=5!4XmE~#JtmaeiM=BokF8gGkL>fO z>05!?eMH1-&{YA_n+VB12gEEZ@Fp+e|qH^x>W=dLhgz-OuxaFCpeS z)VJ6(;Er}g9h8o=ou5qP-`r~JgCHhBVu9e!8%j|J&d zwQJ4`yew?YESxR~YY$3ut=y`D03%_0nO5p ztNfKl)M>f^TMKIKw!V4}ocQGBNW+s7tCJ=aR`0^L{eHTW*)M1WlDd6wdY?S_$P}(o zOvMi+v|}#n-rps7CZnF5>^ny=Lezaas}f5g(9$9RNg1~= zrYWH8V$_m$cBDg73^I+ccIfZ+^j|`_R!I=w1Zgc5^~6s?s=U`12P!_j4!_Nm$hZ22 zz;EIEx0UNdwknmZ&phS!p6}6?R-fs>^X|vWDI6(kHCOCrRR_*GG`u~fPmppWx{a{f z7D9X><>HFv50!ni67w2;0yJZz9+R_ttk(Hj zW00>ZL%K@!*Mly|@BcXP@-zN^`!|WdzxscE-q-hUfB)N2pQjy_fkjxpMKu}bL;1D4 zY={aQ3f&@DtIZbqc+!UE;$$c0B*#%)?I_j37t&Qa-DC+f<3G+Jnng>Q97qc8#&v0R zX1}WxUs6&3&d8!<5dZB+N`Z*|XIgv#$^q>}a0l6VU0gM2;a4!5AzoOH;OKTIVGj(wTp zI3QE9c?ls95o6Zr8=&P#fI=B6@Ii z=hE|Ph05~4l~CTAXHgCt?^6wFDg5Lp*BL3x?txyL4A_|>O<9Qw+Xxi(sZ0Hv;{J?} zYFem!t)IWY-h3*=->pIn_kCD5c61hPXX4Pg;>Yl5C7f>tIlpK+JQ7!6(qH9Wcb?qg z2ASC~)owhDxIK9QF=foz{j4smC%jPB`0p09X$ln_*eTSY}ulI!T*jjCb#NJ1nfLCGP~xq!+U zo5s3k2iNt0kLHf4Ig*A?n*NYC6h?a}%l`spb2_im4u8tE+wceV5LC*RLF0)Ljj>k; zQK!qo$2)oM7&SCs1{*lO)7WfWLOv^S&+rVec562XNo#M_QTG(gC|cpLyfAT#ZjAP+lgW}C9) zl7Kb#hun!?W1YbuzUO7kjjrz)9m%P%q!Q)B21|&x&)GT+aksL+o*>Oc$P?J2TJJN^ z@+K?>UtqoQt{wHpmqyx4$X$u@ztwB@$G#8b*ProU9rTC%JIp_#`X4rb_*eh`@9zIU zSI^91l77kbzQnWb5c<%eNPZpH@<)A0)2=c9Ns5GNi@-ZIPTYb6$ZRjw#TwTEb= ztvzU={i6u!{4LEYGCB*L*AGkFzS0B=(5D|~;4OtNAUI35lF~BLoDO)z9B;Qs)X>(g zRd`7j%<;cw99wFna$@*8XnF^4IksE0CIhcDbg@BlDJ)r3Tq$(w;x@-k4cFQTF%2}) z#v%GZ6`Q4k(p@j1HWPWA4I>A#VQQT`gUhJzw$MEZ9k*kjMx{4P{k8-Y#FN~ zSQ0~+o~$-inubCKg4;dx8rz0wUtx1qEo`L(Y^z&Ri6#^hLtRFO%6AiK@2rxbC^>~O zB?)Rw++ea;EwZ7%^W*AE1b2=CmFxro*A3>!d62Z`-inP3oE|Uk9A(Bsw(Gv^QXJ}; zkzX=jf6OfOE6jr6wWZ2He1F5x5&7T0|&w_jsNWA}o{29S^n1J7!KPSjP z8xxs37`OP%>GBWnzwxX7`CoJW0qURHbaE@#B;JX%i9+M>1Pddy1PLzRhZD|;VYXxw z)bFk-;}8#2-;l--F^hTtfo_zldYK8|k~X8#<>?~|N?bunbW!NexelA$bxnRkS#8mB zC>(-nl-FdAR-9S;3ic|Z0E=owV}8*5VXm?(`s^6(9bbHS>T&Y-k~H)vYs1HGUq7&> zxS|~``3YTRO&P0vmuutB{LXc{fBR|*DnvJ`#B3TqVSat=RWx&JjDXiVj_VcQXZOU3 zC1_JgyN8xN^Jo1nHhRuxvj_aW$`9$%UOfqmqI~O&#h^vF=*z~5r&#bj?QQp(Ia+>Z zO-+N5Gkfn$oeXJ~PS2hD#@j(HGxn_|LwMU|C322yQVcQJe0-zwB4*)!=4cOeoA*4-O~q8<4vEOtH=hogKA%gEH^}tk_FbeIgS_z$y*r0Wy}BJ6`{PTp zsL-^E2H9}-jnC{AMl5rn&P4WrAm26z6##F`0zn5bfGYqdfCXR!SAlB)4uA{b0r&uN z{vaV(5&^^j2|x;v0ptJ$KnYL*)Bp`Y3(x`J{cRxEfg1n=zz8q_%)m{61-J#=2JQf? z02{y#Z~%9KdjN7DxWJMd-~o66K7bz(00aRcKo}4KL;*2C9FPDc0VzNlxDUtxvVa^Q z4=4Z+07c*-padubDgZKXRj^b8)Pcvq6F>vd1hjysfHt55=mL6xK41Vm1D*qhfDvE} zm;k1L8DI`r0G5CifXvSZENuZh;00h0H~@}-6W|QE0Iq-=;0|~Io`4tN4fp`QfFJO) z{V@;f!+(eCpR2#FfBy8oR{!?>U+1?PU>LK_p<-Rk>L}muTfTdKu+D<;&=5@zJytk! zsX2RWC+OB9QPje;{_?0y@@r0ch1n#DKNBsX+@b`{WN_v7tW>*tO}uM^0S_m%wNOFl(S#$Yvg7DkjHH!=lnJC-Qd3WxysrqN{Js@In{=Bp#c#flf0<6sxTME{w5Dtwc z!wq7Wufq#?;%uW^Vt2BoTS; zS@FL_#*K>=7u4Cs7j7nc>ud8Yt>akZ-@O+3S^lX(d-UI-{Qqiy{x52O7HT(D=b4k) zxE9RoSWFb1=GDa;NgkVCe=-Hvxwxv9r3q7MEyJHP^(I&SVtS?*%XzRiRTR^?EMGcpO?lNOzkpo2YfiiU++js@0Z$DL~u6vqW9!*HGgaREFo39 z8PT1${KRx0Kls>}z)O91)^^@IDi6 zl!z^?Ha(je*X%`90^91m_G8svS@P#(Q9j_TpUmU3oh24GUxSw~gt;>*cs+kF3ri8I z%E7whjX%(-JA857&8Xv4c3KWb7GF4nQqyVTPE(3mN)l@jaX|}rUKoK%EAB_kg_yaE zr7v!B91G^oJgk0bBxp^8$Vflim{@O3hElhuS0uLgMP1_yG-GqnR}kDkdq^cC@4%SY zFChFu0&VzAL(6L}?Pi0yR7$00Q$khM85ExK&6n&^|HlulqwjeKYim?+)I$YBZ|a4WI2k+ElMY0O44Vr&x)u%Fq9WFAh3llx6q4k-;0hH zyw#m?<9<~Rd0>S+&dD5EWBkhFnmCkK`kZgF#|o0i@~C3t=-D{RoQsrLnLT%ZYzQHq z2Di5pYCGlZYzlH%bsBqN7 z%Zkfk>WEt(*B+?5FMS))sSY>G-<&6@Gzb>Mo6M^DQsTret{!P6yy|<0j~@qS!%|8R znJT18v-WCZutL4UFmKGvTl7igRWCjNqE{v1uXG}WR0~h))zn6;>Q*g|n$=I1x-O<4 zSA=d2F0s~I$Zo8?Y|n~%BzL7)vlUFBRZ5?_+j;_Sp5RdloQf>tZ4O(iuR9ZsALl3> zA!iGtjt+SFm5z1q>Z!Vt9=#pqZDuCYh2~0woo;dHHIv2qMwSl7c73M(<1sxgeMM^y zhCT@8Q|$GOGLOu-%sg^R)?B3rFN!dgGaIzaRZP=1)6=!95yZ_)T}>xZzAz&x3%1>? zroiQ4QY|IQULsj8?yoCUHq8iP;!ZxQXqZWQ=Pg6{OZNUKdoQOCHcTP0wnMCTDeHd1?=*%HCBd_zY{*iUKHGhE}zl=++ zWk<3pPIiNiyMgHDdq>x7)@k|h$BV?`cR?iv4c+pgx`ecfH>l(w9_+7&c-bw_3Tu}S zm*UQlX=}Vmh+ul#J-AGNw+h$0Rz|Ju`S=$ZB}aDRPj#{%dp{7C(A+ndQNGR0@x&?S zlfu*{bEaH-n%E`8-v^$q0#nZO-tX?Jq7n-%(4(FlJ}wc_m9ycdDestBaP7jJsQv7_ zkep7q$J7|02JeP^9N#5de-tzH;G07~xOCZFfMlSImC;OY@RHue2#lMRQx+L=H8x>O zW>2*+WDX8UNwPU8s!AQRogMWlpic)guh2K(IVJ@br!MK_M?EHEH#~K2?^Z~RzSg0{ zQxJ|qE43H^>m0!=el+HmfO%SGQc;g8H0AY0Q657Ut_%tt?Xn)>g$5@sOxI`8O|z#X zgt^?WsI&C%SL~TKVeRZWR}JoN51fkKf$N-MxRp!6a~9Ld-Nu%1gR1d^cX4M+(h{>v z3fv#We@`)r^e}Atk{P<4^B@)LmRe}&PK8`SP}^|p=;If|kNm$e#hgX|C;gZ|+YfI+ zf6}k^!>{|d|8L&EEk5ZbZLxT!nYJbII*Tc3VF-%9NFaYP5)dU<#(rLX+y`ZB;V(1e zp8oJUwbwpPNOR4!$S%LE3m?m3TlB}qR76QiHAS?)NQ~^$3)^p^Mg3i-Bp;OSBu;Q8 z_TJ_{oRseFUW?;e%X%VeBxo^(&DW@RByQmp71~5QapUQY@f&w!7Y{>+!3f3P{YywX z+;{Ke1uuNyy<1r49QD3SR?$WFL)L z-V0B07@s9xmJ4#8GzoYVSoH>vu9>=|LCs6^?rZd>n_qIqijM+3?bft;)VeubVkE8k zL_;veX13id5Goc0-#8+cZrC~ToL$?@GPY^bec#X%!r`DaK?2CaC{+!V);Tt6XdW-T8n5`VX|;K;^d0u?J^JrL8(((vW#?xqhUKs?%Cnc%w9bj%t= zSr&2J{MDc{@vxHu#+P4JRa$0)N4teK^B5uTn}w{@(tp{J=& zKGb+ArFvLuOl=B#=pw$RpP<6n2jh~glTI=x9t7QG9T2#s#i_o<#XX=RzC*nf^0nS7 zv4|!0B#M*T3Y*V*HhSKI^@#U}}-M&a=l2N zv|4alK}kBNZ8;)&=5aMWe^GpW+~Yic(kIm;`aJn1D3Ao(Cz^Wn%0)iwYg?e*AbQ+$ ztf;50q;EQ2;-_V6{Ag5`JQq*+(fq#3C4_J)T)IrZvu;7}V<0#)8{OlF2H9G4{^9tN z+9Diuit%F_(fNfevaW(|_*nDrU@Xag$sSMEYqsjSe#TuJd%g3#->JJ& z!3xygKPH!MnoN|wYBo6|bP+VVA`m4$+uFr?6oodd`f}qo8y%IfdX!DV?5htH@*4$m zR$i>O)7CyNZdNC_lf}4|ucjJjk{;Ymu%R7FEO&v{91U5X`7UbuE$`z8L643eHECnC zP;BbuV&<@0DM#GlKe2!Cqn=go)O7sAk-5P)N!i`q9@eJaS(X2!@&@BSeEioE}Z89etU@LTh@2Km$cY5YszUywfm z$eZ}TkbelspZ-tz3;ql8X90QN`Y+_43-TxVQ~p2OZ_VI*{5!PYe!c(y|C;`vGqjU< z_+h>q-H&OR5h+@!WdV+_k0Hh%#r!mTU-(R=an_96LV2Ky%3mgE`IH_hnb@yg2@wj% zllDNHXbLzlZX&jvDs8k{!sQw$>yU@_+2&!41W}-Uo$O2_KTkexMz!KkOe5Kk-%a>r z{%JEzFp*nipm%WgB|09+V2!t2%aG|qbc6eo3Jr()#%WhQcH>juyCDNb>rOEB$SdT* z46CDj4)x94HoPWQPlaa@jT&Po)3A=ZplFEQJ^E$m12H0a+q7=o_`-h5zMejBz^v>mccl{tX+L~Z>FT5dldvUrwalu6`SgjC zl`)$yLquA;tmTS$WyVbdwY6h*o(DC;Hg&Z#J!dBHAMG7=n8B-O!t+*qUAqjQXg_B9 zYt=&iaD^Y9SBO}YSkB$}a3+%)ut6kEJ5#L|AO1bZpHwW^0@3M?pvUquJ1=xr5Mg1T z%cD!?OU0kU;zVKVl4Zj4+5NIS7t(~gU7h&j%u)=eX}V-eOWK(>t}vj#itBmY8@C&8 zJP^5=T1^a(EJi1K^lt49mX6xlDozhj_EC3QCMyS3J=m06Ithicus0@K7!-=C%bZtu zS(LbiX^fx~wz_6opFNMhP}31cO+n|amQ6GDB`k{%p_VFu4O52Ee-b0S` z{rYYV@}z|K^Z^rAP`M|O7p5sOL;}NX@^4#bY6evtEOGBHXhu}n5$kWkHeC71vL8;k za8>sai!04#7$21>;)f2VunHYHuj(dLcUlQ=mnRgS6K*fsH%KhLc1sa&{9Mc42g{C& zoit-{_WcyOOFxa-^&=|Wu7QV_U1<7o_2cLp2}bXhjprK$R#3*rwKbs;%c2jb70ik( zsuRYxFds%PQHIE+_dVrXr;CUxai2z9gE?J@?N5f%w>eDfZ`N7YIl**jpoAX=A#;2p!}HRF-sq~dE^p0#iuf-<_XO< z$c_|vyyOwWzgv}AJZ_z{S0G9^w`1IpW1Hkjmwe{vHmwzP|6aCzUy*^LksVIBv~8G} z5xoorqu7_@;GId>#a{R1skT^Y54gXpnwk2}VjMxQr$1KN>$_rjZcWSG_S+xaWS{sC zwk=%~zKwM->b_!@B-?Gu=HWTn=+ke2i%`vTn^zhya|+1j;R~_iv5#FPNa2`+qeWU( zql64>8D<^V=~hg+PRqGW>PLU_u|9I>*Z0(<#4jCQ&AC;N5Zg(%VW*wVGCqR8JJ}1l zge>0iuBzAQp%N;(-Jp5qJx{1CoGbAO%PT(tvaz19%T)0$D&dkOLs| z%md4Opa3WYihyFE1Skc{fDgb&;1f^|Q~;Gg6;KV-0JT6JP!BW!jX)F74732PKpTL} zvjZ$Ufi9pM_zd&_y+9w(4-5ca%=*U%%XLaR{no zrD4M*OnS&TF4Du@9%4${yqc~b->T*iFGo?YwHB8gtB{^`fY5TgyYw;UP$lw2^({2D zCA$05Zclzxmq2H$-HD9XjbmCnjmDl!eGo82{ zc-`TC2oz^&ReU7GQ2ryuOI$MkynP)t{>t(nHZpXxhIWK$3=Y`lc5(KpVV^V)?} zE1)}8R9WF9OUb)w%$~k*9CYB^R^;y}>NAZni5b25=FLkun?z5SiU_LJ3b>i(ffX+6 ziOc@OzMIK5xjI%pH1;>szJ7{iZm1S~9or!(hbit#nhNe-@0NlkhF=iQmedY z^AYpuVw8BT<_)<3Y1X>p((OZz zyiL-m&V(<_Nvy&HV!QIx)&*$6oawSCHR9SwO5~3&#>d!q-Db8AQNGnru2%27PT~)^ z;D8%F_!QMnwSH0-yh}IK(L@@*P*W2~#V5vOx%DSCyOl3wuj^lUr}gcy_00 z#t#z>^QCs4+y@)=vxnbwXcc?-=B+vJrmm9B7|n-6KV#b3rFNqrDlG zu^Ev&)z4wGGd0MK!xhBFbbmU~reEg;We-c^V;FtA0hU|W@m=0a$kmOc)v4+JYpF`cIrnt)g$x%Nh7Mjn z)@LR^c`rI zm48-pV%?yHprHBCFg;x5`0g$kr1zqSWnB=TE1rGuoySC2EqMBdiHY&~lJlCuZWd?B zC3X;QPM7hNTakZTkH3D+mK-W5quOUoTPrwV`PI^Ze8uj;q)`428$~qqOTYXP1ya|EbNv_}e8!?P7=i6r2Vs#5Z{N*#j?y{k8Wnez_5Z zB9HozFWVIEsE*Y9^Qv;WgiZ2W(x^@Hea07up|M@`6~P@P{A#e9!4^xmV~*g_r8~Pm z1Ngf zmg_wJQBj1We%-{eo-%q(-I?*pXk&I4uhErf_jU1!F&(|H6R?><`VTrGf z=;>9`2{*J&>pu35$|l99xL%{C%aINUh!iL+STMkqd3JJp5qg^~MXJQQN)_v?OcWF8 zbU-k7N?WBI&j!l}c z87(fI8p$iKepkFgG)>8%aZhZtK9+G+_-T-wfT1w5f-%}k#}i>L*;XvJ6eAz8J9fUK zaj~ruq|h~AA3~{UKb>}ajt=g=Xn-}R==$ExOm4(>O)o|zPfG@^Ze4&a6q|BA=~m_r zhrR)>1$N%_SB`k&D!zl_;i)huLOF(}V`trG_w3#heik{-Q(A;_tnSU(@C|B?GicqV zT#&LgdL)(oj$X*GA0mime+=s2D_+g`UaUe~J&PrDGA7YjR#>kYB*-Lu^utLdkFRor z_vrUSaEnASrO}QWN4E!=eteyPe?7WY*nMWJ)LRSH9lT5PSKT3TEH5n6`nPb__FSEo zKF1rQ8M6Y0lmV&feDdh)1*FXjd$=2O=-BwdPB!AwRfiqWE2)+Vu<`}e&PNc1t5-Z0 z@E_dDb0IhT4OQsR`V;F{{rT(j8~-nVe&ZjnKRFa%O__Xtj5~I-=B*Et{tTr^Ze?Ph zVbljRE4+-u){~-nf;~iEvL~;IEdPg7QE`=Z19}7m9#X$38*fdeNw&;-*`=mI{nhDke_RpGSlxqywD= zOaw#-JR&oT|FQ=2aowP&5OHh9Kf30NyY<62D9hmLw$F{4dz&G5Q+b=-Gvv22Qu`zN z9hBEZm1QHMpb9X0eOPyJZl#WnjUdA?#zZ_@!lRsxCVxSeH#}q6)4@qzABpY>Lqw9I zKp5u)v%VbnE+Kyr$p5nHK3tYNFKn>kkKDcf35FX~kYyz#Tke^syEXCQsg8DI-j6&K zV~hLVPr?_mS)*GR8iP+B!9SM5Plh@?Tth1rb}Jiim#oBGD-vKd&rA^QUGj9Nx~=-! zF#DO`6~`nsXT#E!n`@P|$5#;#8mtnkH7mFagUo~HAV*AQ0tLQ*Zof41cu~UCRaK_a z?uI&82qAo^V0ex8i|J5{l6Ou$Jcm`+L}QE*7hW=TzI{@xA0~Xb-155SuOV#m2Vmq% z9~!^#q5ZG%zpotvww@$TwQdVOXhiK?W%3 zxdMix(^9Bn|6I3P9bQ7D;DJl&m`}I0o07eaN)61#@b-60Jo9tn3_Z^zc?KMb1$vg) zTWC^9hw}5i+|Lx<4t%kiUsv2E@-@4eUzb~(_0`u@$KR>mRUWz$^K@0Ua=-tHwET3} z6;8Q5JJ_}PU7vuzJom0t9PiHya&=~4wUcXT<*sD|I`mUkUH>0@cLE6YzBi74gd`%e z%MwaivoBeaY^j9oF`=?0*+Pb?>{~)8LfOfZ>`V3~3fVJuLS&h-PS)SsJ?A|4+~@z? z=Q;QM&i|h0-e2E(`ATEn1~Z?}`~CeaP2+x#ZuS(OF+v`k{q!}gneI6e{mEkbH^(d& zu9meQp+_a1JW2D&#S!^(gi`F#r$K|fNsVU-iZwe4aW)qmwJ+E?jGa1VcyY3D)3>ZQ zm&>!#6j^;&KJsoC>J;`;V~KMHitVL(7GvcnXOb>@v@8<$ zPCd_+zV7b%Jf*RD9?2+DejVzT(}|1>1z``17euHptZ;qlMq_g;1h=zOXVKWlR-Bq$ z>~y^nW-aokZHrI7yo;zlI+0Ctbtv%5eHTb5XXv|3KI4(f1r^V~gsc1C=1^mN zVRlYmz|*v5bx~JFWYmrVFQO4sr|@ZIo3+Ko>UeQpk!rZItU57*?XtVQ5{b8M~j zk*{~ZW+%?HCe>bTNQ+f%Eu+2OqAO#|aGl}$U1jS6dCDz8yY$%@Zxfczq{^NvO=yQA z%>aQmWU^;lVdJ)x8<$F=*HR|FDY=HzdaEw!zmf^Mhf}7LrX#2$#?GQ$6 z%S&SyiBM{9a8s|wW6v<$8I7pJB+W=DkDjEykp9@o9#LMDGLQ2KE*q3G|%(N^q-9k&!EWprrq ztz$j-0QBf)P*on%@bdsN2o{S{ck6X=4&gNWZt>9~*oEOlr3JQlu6dmKJ4(=QJmEl% zo2hv!K1%9Uc@(K8cWK#(&C;S2U-A<-vXT9zunN>oJBDva3g>6e=mRS5 zee~jsT!zU?9|IrXs4a_2sCdsB(wh`6+dLWSxIl-Kdsyaolq9g4Cvj>za+Ngh z^Lm3o!uTZ-y|U86ydHkRJGPhm$BIh~SUJCrQtRPzgA0+5&{Se}kC`r)4U-vN?b_0| zLSf><-ky(Xu&uY{{Mf$c7a>LNbzmPhOEo8Y4T+bXkoS|P%UuxI62++aw#I$bIFYs{ zwZIXUHXK0QEg9}Qa6I5S&0`X-t0i2y_L8sfxZ8!mN`vy`c#`pAZyAD&*t#s&r&7f+ z$F+$og^#qERp&ly(YZ^ZD$CQDha0HF+{+#}KGB-v9A{qFZXLZwrz|fdvsA7+JWD~i zZxHvwdA!mNU$`lb(!r;VqXSrl3wp9w$hzMZBPqXj87SHF59)HM*>YS9sP_8!v{K>P z=+=-`yfFUwggmut?6~JEJM0_=>6*#Ee}}oCq+p+f|3GZ{Ejy7j#Yv^|&J`73!U<9s ztkS#92RGSWy)Ii$Jh9eImEt;`6wpULA$7&EnL);Rw8sX`WT_Y9(X+y|5GNaw!7KaG zC9L3XSoax1pDmlo5cHZGu0Z}s#Z7_O_hST{B*>d4Bta%-x-%xOx}X{oV6?tLprW^KDN`ozK&29Qc5@4=t^0}I!te- z?ILowzD@2T`i*Mixv>_t6RECgmx{UsqOX)j4NKa-EQ(TPT<42WArw{Tq*gniIy3xk zv6jj2v)FqF`=eFmc1>yD0yDMNoF$I3@wJ&OYL&*%TCrYgYg3avx_o83$Zm1xQ6TTv zI3{FE>(KP( zryGVAwQlbsK4~hkHbyVymPna@mK%^*-$f{>4BXn;MSMM(7;3KmU2pJc-rUc3k)r;+ zqsRLh`3l%URlx2hn&)fdMagjY=X839)^AcZ zCb2uU$?9tdn=?1g$8d$q?UdlNvoH!=T|-87b?o!mH6GfLpV9Zg64n#tk>uW>2Z_jtwZW(Gg#H8o?ELdc2Ev9*!czJl*xy>`?Bi z(T7;6m}M_&2F$Gf+r(P$)t&uxt7G-h{#m7n zD|w}6WX9*h-z)A@I7_&Xo?+s_JpCHUl3dZ-?c6Q-biCpf+@<2+0yn2avXO#2<9yox4X2ZtOF ztwRQv*{(e`H@?^TaYoxZ#@IJD9obIvnk(KF7HPb>FC*-+$Uw|WP}q2A5EQdfRJl-U zKa`C(x`drdNZ)>Id|Qe2dzwE-(_s~}tz85?A10LHvZK!J-njT!6#Ihqui5*>PXF0z+}UJmNc> ztKpV@ub^#W$)hP!(?}x!Z-?tnF%o&w3U2YuyX?3t?IJvVP=q+e>MHtGO1g_3L#~OE zY^ra9&L=1?AE$F6V>t5M-fbW6VlzKS$;}B&QH2LKfBbS4cjK8Z_i-yRhO8_uY-v}a zfvsuOJb(8^-1+c%l8+=_P29PL_xzUj$AuP|CW*DcZ~zAAa5w#4x6IhM#my25b}bG6m{{2jM=&~oE&4vjqxOsm~vI3aG`LUxkc}d;{HOnIpa6cr%F{eVa{J~`=minYMglY z?N2eE#-@*_K8Xm||B{d`9LW3bwk71vr(vz|2mb+sHRWtDG@+13olMM6sNN=8`>$3q z{J(8K_BQX{2M7TXAO`yZ2{-^q!9hR<$iX2%0Vu)V7$Yh;Q-dRb2G9aJKo1xIBVYo| z;3!}Ltbh%$gJXaLZ~`uH9Gn2$;3PN&cmOZp1N>kwt{|LG10f&`M1Uv|1L8meNCGJ! z4bA`=APeMxJU9y!z&W4@&I2W&3{=2g95py!0P5f(xCAZ(4R8f$0xh5ot^ysP3-o|K zFaU>@%!69`VT+)4?p@3{~rAZy&u<~e_Vh5 zCtrV7>4B@T`A#znl7m4@UW02nq@E{5W)EF2*5yaNewVH2brPvn+9vzWv8i~#>`{jX zAF6SKBJ%qr)=G}~eVIUh?gu86eF;uEHh{kwf24kvbN zs++5)oHd8_soRm5cbf^W3b^xwBbRO-8uBiF^WbK&%Kr0g^CzX)LZm!TsNz(32Kz-F z!l~-^u`zO!$V`wd<+g?TP`N6PT*MQ<#yhC%;>**&?H~iV9$%aldGr>_hS{GN< zy(o7vmu#D}V1bcFJG9s08Mgxjor4xh@XSimg}J`o(mqceNZy4MGAr8^M}$7zN-2t; zHrAbak7{w`q++^${qUQXfciN_;m_H z^!p{+&1)>RrU^$S+rNSB}52R+Zycb1ZHy&5L$$OETZzV!>P@D>7Wg zZ}w>gDrW~!f<-ZGBrjv@S=qzC)eQ?8(5rTwI3S@v`o?Z3Y-#zCs$_#R@^IG`tVW2F zAf4+4S&mEcb*zMfnO5;M(;6jjqo!1ID%(i8{QE1ag)f_nF6!A?)^-DPDf^w8IA z@*PR)L;5OfClAJ=-fj(1eiW(77O>7Jn1ZszgELxI?*7~4q2mFun&Gu)%1Nq1T;64t z2xo3Yww=wHINL*!otixV@Wh1@ljpe~DPbR*&nC><$px*-7!68%x(%y9w{2qge2lsV zRsZE$b1n({_*+GnQk3r^mOkr!9eJ==bgkX8$&b0){c+VarZ7p@J~K(mScIqh70+eO zkQm`Dy)zm)g9~51*;%XgSSTNEov|CYLMhRCr8eZY#9xa^G*lKa_8@;Ys4@YYpY+&a z)O+G1x!%3-I6Nd@9naiZq3Dup;EKLj(7VtmAa;^(LOnobQ;VQvhr3X$0Ee<@^Srsc zt-pfOlK+4YPcpgv!^e>-N_d+w%0vFX5o5+j)Tu5DB+(f z>m?fP^3Qz!t4N=Cvc8IudHDmD(xI_;`?NfAFZvoUpC(8?^K|n46*6ab$_u5bc>22g zVkO00Te2zo)%=+DmZGqv4DCXm)AJ3d&5thXF_Lhc(|0s4Xn$rJ-akzC@e`B$L^!4}qCz@E?^^9I! z?%jBo^lJJeAy$UzWTqEtCPK8-@W0C0e^vhdkL%ZG|D^h_=$~-?Q2_GJi$7m~75fw7 zt3v$TpW}=F3GvN;6<^{{i0=vUU4DN2zj^s@nxEGH{-fs~{@;#Y_)-7={q=uYoWL85 z*n@D{RK4q&%xUi&MzAkt<%j%szROQs#x<;C#KelVBYoU<5w6QSv~7Cr@&qp`W8>*3N2lu1ryV}+ zXwM7&DjE0ZpNcnJot(8el z`up`r)dZ(F8Juyl90$%mp+*YF9l&srWT2+6Lhi2TrwQsYNABk0Z4KxJya;~TJz_P(Y{R2=6Lp=3eB;QTbp{gp1zPcyQ!k0k{1I!>UKwi^9H%>m9rTl z!u;Cq-E`%6nyD9P+iu!ObEET$-1EN)I*Ss^63@SWBf|1I!)xN1c@rCBwug(A?HPsT zNBKT9ZPq2=Ue}pf%xlG#-55WOU9+t*NIJMQmXkB}d}q1T{0hwF${reun=#O@E`;`# zuR@92pMOgt+2~s*onWStIrWf`sqcv^<&RZJ;;lbnQ~mkJiO$7IU zrQ5Kv!dc$Gec!!IwKv0x!M}|7K!Z?l`gz1eNYLX)fv1)wy7|g!SLOZUX?y2v=L*@# zzple{zaUrJg)EM6$wXpRC0(t3lQg6Dk*tsMn`){MyoPVE^1gM3=%!L8rApK9#i#`C z56jf9i>*KRAN0F+=v)QWDxwyeYMBm24rZ~c&9A&S5Bn^6SDm=|SdWq1OV-3JyhSxD zJyyGIhZQ><_Oh^A=Xt>ghV0-676e5n+l1{Cw3TQa_r5mfRk64_!=XB1k1uy?15a^V zI2|(9|HsD7{n7{d<@!O=pVa^O(f*82e3_h@{yH;@TUuUOU0cV0-`K6+TOXg0;Fsg4 z9~QwrLL%b*B>z73V+Gv)bf-A6>5GiQw1iHr4#>YYKe`oe9+l%{Ix_6Tb%T&|$*s2N zc?H&A(y{k?t5WP+SJR~xQ+}&>i=S?%bEj?drr(C92U*|o7U(M z_9IGor`H(WcsmythH~_vxz!W9c`4Q41|9ZrDLS8l2t}1o5-)N!X**rUjl^rQFbGXM zBRxNrHs+q~cH4ID6B}haOScf0hVSw207g}m_$1fWWxYEcu`KB+E;Jt7XdI6%&)}fR zph1820d2l79A91#gxiO^zGj05#r9L1ii{tj%0*dB4B1@7`URjAEwWC8;z%?ely*!A z4K|7SVRXg4^R%dfPPSirQQxXBvVi-%a6O|pKRi{&Q=`BBA)mD zm{NZO)u4cQVUfm}a398%|Fwl2<2Rq+U-XqxJigis$|RNq%wg3lxg1Gy;n%=}U`^t&W#>7Jm4kUOI6}W>!mqC0S(OoA0TN z=R~uo4!kJ(Bs6kJMiFzphq!{WBjHyqbj}Brs-4cRmn9R9xgSZ)hbt7TF&nPAHTNkB zkG9^8@$sfVr~9B5iLxH3c&m1C`iz79tWDPzu?I|DR)(p|H14cbodvaKCuWx}4Ntjd z9=`hhWtOAi+`QxKq4L$`16w47-*uQy<_g?dvW*X>O$_swp&IKLcN`abWtCJNn|j&1W9i6yMLc^fp+3|Po1i$n3J9qY7~7^r7@LxH5uj?{1_Bdu;M zgq4?J{>ED)=QsWw)n7!z2#T2*Bh^g2A82r7G-J`#;WOr!(EBY9UFS0JDPFrRhkTYv zYjkJu#!0gH5`qqry ze^UPS5Nd&sfEVxvKEN0F0e=tx0znW61|i@v2nA0-7zhUu;3xd9X)2g$T<2{=P8{^R zUS`T0Pa4g*&HD-;lnEn}@g}3ZW=7%c$fiZl2YX|^i|pnJ#zXs;YvNhDw@#U+%u4%a zWah+oSm&wEcrm{jczeF4)-^#VqdTmj}x;Re@lTz z8G6hf-7UC_;6$%Nb=s$47jdO(3nu*Z=C+Ms&}$f+N-a82BAyw0*(=p%1MN3wT8U$6 z7<4#e6mb0f!4$45CDir8il|NsIqif*ln(AP4gOFLN(uX+22CT!Qqm{7d^fr2nEI_q zqKEoNZy>4r_WR9 z&32%uMljV(8MAB51}^(cq2-B922D3nDblIMw$I&5)8X#+#>hHK%rIMELcT^&g>!0+ zmE8m-x#hZxv~R>oa~c;-qYD3f3*@E_&)LL1mlj$g)XsU`D^~YO^vL`5H`?T3$}DN- zOmANpHiG@GtjGX1*B^eoyNJM;;>N0n@r=0CQoEZrnbv5l`NGiM$>gFWJXu!}p5{^*sfk!v~msEzn+7iaF_DBaul$+7YT zS6>fY-9RKld&OZ%3fUjz}XL8&%Lh3M0xLWPQEq2igbQf{% zrR_MmV^$*vwwyOjUGp_Dd@CV$+m5|QiZ%4UY|iJ>n`FU z8{v)=esOFU5hP=rrZ%cuh<_2@oSs0voslzq!cC?5t+;-7^sQ^uo?~-DDOia{rrbwz z#9N;DBjYogG74kHBzo};icxC(F&K^0%9lycetau%mP_N4IpKEn8*Y$@3`mCyG&n>s~xJfy!4&#V;_*@~QhYu?4q#9MQp z;n#Vz6m7eM@lpW~lKi2TxS{jT%g{O5!4nPdQ(+~2hR{ik2W z7y1L@(?V>~e<1!G#NX@h?H#|=Ps;wJ{^vj5|Iqx={~&{oSK+_@{+~bhKXjn~ahBNa z!Rb+$2x78iali{})KQZC!>PHHvYtbb5q^sD4jB%^6 zUZ-YM><3FH_nEEe# zHOL=CUHe2)ICjW-#HcGuk*xW^4a-5q1!+n0kVg~@gzvMeNKtNB`o~*t*?7ToI2tCu zfC4*_`Cd|*O!LoUY!oe2Yk7z{ZlXTDyrk5GfNSX+Y`=~Xiob?jC4+WvWZU|?d1F;! zLT!~_yhs%`{@u8ht&HOJ!-M@wDJIt#>Kfmk8lvG#OlP+HLbHvl3BJ#)*j;>$0_$)4-4euI4H@j92o96 zyT_`{&lgWKo4avpo@ygmSa(oKPx{=k^UQ!v?QeQ@dM~Y9X7>6Q_SgvJqvR{?cD0p< zvBmSSCQ3uuyl;ffIO*I%AvbASWm@WBf5UyX>ZRl;G3^&Q1nhBj`zovP8kyU#m13G> z1#M1TMZX!`MaYiCIqIemQ&`_9$bL20p+sA)@MVO~8Cme{u>R|t{1J|nYXb>iNT!jI zdH5YlLeFkC7Sv)e5}Q%klYuec;R>@xVwklw7L#r-t>0@zwOem<_1Yz9_v9=jZ+5n{ zhAPC9j7nxY&-0jk(Q;=tQe5sD?Q2x?B-)sWx5HBTxRNfet3KwV;h;pm^&4aLZ-J2>p4;_VRH2GnK+fESmWd}U)9d@ z#erP9)ER0d!sMtqxvzEiN#;#)u%jc*))}m}2{tE#H7{8{bZ*QjJ*-1LN0IzANoa~k ztdd^-{ck1uTVJZS6Dkxo&u!h`PAc#aY;dq-a?T#g>avF3F?p7Q%pGNs6)u1!Yeg|-51wHOWIk6D@RB2ia32ndf2Diit1 z5F%Z-m@CS#+f!jyX#43wwcAm}B1aO0FC|S)_xOFgwn8V~`&OMx9H+?D zud!nUC64muza>JD`?6ee=DBK|6s)56eev|r z1AY4esmwJ|cM={s-@o4&R+?kenpo)C$J+f?6OOtj)ZO zL(*{7Uuz7nt2zsbdYlGq-s9DhC`eM>J!!G>4Qv?cE_JM+_tvFR78PY2|Kr?ocNPkp zkVe;z6J}h5<{1XC5kZ+nq*U(P$|JK?)*ZLr-ui%Pj%3`~KmC1rImdeCWs`Qh*(#05Oe?FbJQO%`(o3`ysgv+_@^mx`0rYalx(5UtaG!0(4rN`;yg6)BWOc8@!(E`j8<2QN{f2Lf^5W# zjoGvF^a8)WAaUc;WBmU3vSTynJmxW(rENv~39g`zj+}E>B!p(0SkzY2<_gQm*y5Pv z^2g*U*!op;aD{INUGKHml?8WIM77$}knfv|I)BAe$2Lt;Qc^Zw+Xx>&qKemZe_fMo zWr%)Qp@O?SzFxOc?Cfe6AWz^z=Dz z@t&Pa9egq`JKBm#3)drN9zG1cwmMN9-iR^Mv|hu>z9B$Goz*6M*>w4|Jdcmsx7^hm zbn>F2HbHJH$ivJYmsyP2#(TYlhilS;h)PtHd3gpxOG2BGnr)YDR^7)Mv$vm*yHdqc zUGpOJ&=}f2%NFvNwEwsoRbbiSmbyF^o=9G$hIh4lS--9Hw|R_5b~E$E4!&nA?@2Z~ zOgKN)|5qc#ezbo-uAfUQo>x*<|_|edr&03!@AE5_d25-tk*LnHAPwP2am{0*A;S@c8NBe#F6V zjeiOrJHgM7U-S=%&j7I{{(<=75PNSt$=-d*ep-!5QII{vazz&W94!{Yxz;SQ_aD$WJ9N+=G zfDiBk0U!uY10f&`M1Uv|1AB2K;4BHGfHXJ*WPmJ?1M=W3Pyl?KnW-V6`%^# zzy+WVE`m$oGSC25fF{ra+TbeC0lHxC`KS*JfFUpfdvRRgYyyzrIxq!hVDI^G1Kb3+ zfCaDwR=^tAfZM_n@y$VbVR!unkmYS@ME&nFAZ3%Ui4JytxPl5y|JfzPBu zPY>RUs;QBs5HTDk>V1h_4-(znj3_$LA30)W`!FoRlYnS`=!L}#vv(%Dh;i2FRJ?he zxCG7$J5#pr1E1dMi(KlB`u$X<{&K5rTP)kf79=rS;li4ZcXX|cd6CbD2P=)+*a&I) zPFTr&p!lArS#edM&@0GxU_81aiCIO*eeU^EHcieze=Oq0G~vtS+>0;>hziqpW}FSb zgWQ;sf1VgPo`PeWZ10%ZQHOCceVGZbo-5JlS?wex{15H(FYWJB;@{W){mJ6CZ*n&BBeX_dgal}&l7<}rgUCGqgfk*qKC-Q8z?+f%~vC4?0gzQSVacp?8+{Hu=TACyIyyZ#GV*BHg?-gE3v$C1>;1`_N z8I$y69l^IoT$NUe_NVks*1QvMRZf3y;F!yV#k0B>UXSe!q(|l>$83)@N*4t?A!(6T zhH@FKL7A?JO&6(WbR}~0*M;A+eQbGtSV+I+QC++eY8T;wO&ZtyB!>338cmD1ScQjg z87ZHM2vcNw9?Uc&yJwI%G8J&vINoG9O{&Ro7s2RB?z*mpe>cu=S6xZcUBNw3K4ivN zuy_=2Q*UoHLoa?k^+vbtji>qVGp6<{1=~q}izrQRT(iTi>{KZuD7C?ow1G$ z86Ae^^a++ONXdHpNKoKp?x!2giG{kH6erG*KqGu$eG_7u{~T zi&)Il?_RfUX}ez(Qi>dR6P!Oa5ocE$Bk%;HvlXQwRzrcqsvdN0PoZtw>2;w}OZ;kj zQ<-C|gq#u^!)t9NITWjPL9<*=0-rI#f^yx|XB&u#l3CkDM3>5X7Q!s_TJv03Bim7H z7g1d*-x$d2I`{b5oY&3~7W9r+O!N+M^WGu>e|wu#PuZ}~zU?Abj&@gJ1vK_H(fie{ zHP4c4osix|Y?FuyZjnW7!9(zFLc;poQzsp3_464m>9*r?`#{115ZOky=IG|YM=)hfj+B* z_cvCuzBzs-shov^P5)z|A9V)jnR$Z45zU+tNdAwDrMMUEv5p_*n0ERr591@VEtwo< z;!j|kafg!oF#IF_1^G6%8A>#sw^JDvg^ND#IEKra*r<=8=WRyYgQ_THbSC&oSCzVC zMBl1=5YMMYIG7pP-+jwVs&K#bfA;1b{GR&5 zKfC{P5VF}H{hxn}{!cSD?Lj5^Y&^@GavVuRwz^VpYN+#Y0&9@y2cqYbiVuC8(sPBo zqsWYvXIbRdj0O%&Iu(~*ztYOU#Th9peA<3MOv~N1Vn+U6f-9_Bx0$vao80EC#@!A9>UiKJUpL!!yw*Zs-u!M4$RV04(Yk^*n z3ZE0VRBgo~zwvkE^pTdj>vGvzDN4E;aYI9?xs$0emVfV=V$DWz=wQ>Oo-GCPC=*r* z%c%8EqeJ7O1B4d{bj{8Zc-Ww;tMb`GE16u=8l>5_xR~q$DtO1+_a#t#$S^ceN&V&d zv-2;~e#Z;N8x_XfZzK44} z&O?gcuPqRkHxtmJ4PG+uXC*`5KhN^5;{<*vld|7eKJf6&r{;|2vCpe1T^F-Bghds$ z-VNDD1ot%;A(<9M=lQI9D;cmK={TmCYxY@v5saheQQ{uiZ1E4Iy#7)LO^Gs!u8rBB z^lFBc7Tf9@n%?+k=ySvM;j8ao`e>Eo9*|B9XEewL*=v~h+o5l7yJ(gd6nt7aN!(qQ zZzXZK)y~<4Kda+&c0H~@clO#_wMvnP!2%1BeKWg=0=A%4yAbWI(?wk?s;f>N`^(C_ z*Qv8iw3RcT6v%(0(-bnRUI`^(6kC=n$Emu;xIbT&Kj3P(;2v9-eu;CYUSyD=URg`g zt0d8<{pITzy~grZimA@2x;i<=!qUQ$&1*-R(!#hLzH=NJE1s6q^4>u3#OQuXqqU`4 zxs`z1Y$Dy1nq{N9vvTRgy8fnCjcM{{4W8txnZ!Pu@)fgw_Qz6;i~1Oq`B3|D#oTLF z_it82(Mg+Rr=RV-Fn(_Bu0ivps=QC}wX)N*eV zOp;K4ugR;*eZIWymg8=WkDv@N3zt=|siZAa6TH=ZgGA%zi2Z3z(GWjI0a_Qry6ZQX z)C3YW4F}iC69z1diuI$-${4|Yu1f6Phn1WX`qQY{BX1t`^dxzfiD&6% z?NL+7vr^2IZEr#sQHG!>PlS+Sw zsEoiZq&eRlwY8oijVJAFQ`Xa+ygb}kNmhV=yC!|JH;&SKOMovYo3+-JS%dGbQTd|f zfPh0vX;ZcnEBp3qlnr|9^^nv=XD3Gep0{_=^>Y(PSyo>px$C!Fc~`3OdpqJyY1c3{ zYwm)=g!Y^to*8$S?IN5kjvndmIdevR1NON+!SIK2QhhK?7(6P2fFf1|Pr(_y}4-8-V2`5uZRO zm;ha%8}xu)@ELS~et-c3U=R#}VK54CU<`Z#1O%|21Dq$p6qp8I!3>xM-@qK02Mb^k zEP;LSc|>3t-d_Q$U=6H;?_e7`1sibQ1Y3Lm20P#{9X0qoHVFM={RScg!9Ev2NJT_^ zOlUu~f+mTn{Sgk~hX-iRg}utFA>|a&!qS>KbR4AP5*<5^+e=OVl9~Rt#Prec%1r;K z{>M5c=FD0OF1NNS(4~^8(@pDn8FViD5F2nYKfBvPfRtcE>|({blhKd&DAz2&^RX&)=ORZ-fx=uCR-O`mBQRR!7I0m4Qf0|VRG z>Eo(=`@4Lbv~i(p>E(Fi9DTf*EkR?I$4iaO=X9eV4kf>)X*jY#z~lGO>*yo{uKO?h%P*Z)D`!mQqV@@p!u~K5kP576UYq!495sPpKK(jAI&}S`hcY zbhl5NZ{X^~li^|~L_eRu6YS!9qtUu3VAH9;*`XH`<C@ZyhtBKmr$dp4x7CPPq=OmO=8S?*g`K`@eR&; zY0m_CzlEG=op7mFmXrN!mL`pDV|vF_pZJ!shifA&NFF$>E)GoSe41Y|R-UNdMcm3S zr>9c4Ig!bvaC-BIf}ehSi`J^TDZ?WQk;kq&+eyxamJF^gwXa@s)hmaW20yF6kt>4= z%xJ=Qz6o~~<&P*J`noGC#x5vim-OG8oX9c@?7&pHw$YcYYG zw;8A0XJta&Cu++j9+Kl~=3!!2@XGD>ExTjFm~Vd()JVoASqAHJYIqzDoL0q7)}JH1O>HbH z?60O}USn4tsa>4bB1?Q#zCiiS&61~ho7#BW5A<=nh`cVREX95L(^Fh$yy8E4T;ht% z>Kp&doBJtE^V77xi5TbUM~i0N$KF(xmG}tOd58Be^nK7ps!@5e`^T~jSSY^~-{s~X7l>Jv|axzp>s*zN1&XBl$$N3T8Z<9?#X z?N`Ci_3(J8;|$N`eujde7b^~Grh_kDbW1PJi;M@oK4jY%_e#Mr!|1!7%N70GF*kLN zDN5chB4D?WeAOTuJuYx{4H@*C<~6D&<o zAP54%AOt)Hp~OQUV%iA1d>4tNCjyi z9b|yLICXH&0@)x3cT2!_C3tTi}~f-x`-Ccqak z38ug__zGsgEcgcIz&uz0ivSC7UfZLG6 z3AzD@He&eL=iO1n;S0)Y%FrDlKwO7Eh}{8%B5V%1Z|^T0MDUmRz}`wu#0N=8_8%bs zXJ5Y||6f)=`%ypn{q+-?@Tn_v67hx0yNFQON@;|~mA4_DhctO6I-U``^D50M|AqwZ{GK%CKR78yXK1G4a-8z!Zt&Z zD(7Qm_g?XcO|wCK=;r+i^)A~ld3l|yw&&==RjBFneLFRH6t?)wCOiDDm~ZrjDs7&( z`Gj{9WmvJJObrevjjGpAI4K$3b|_>U)t>OJ)e$pY?}}2R37a*cz!tWsxr@JImv$G} z3^*4M_h#aFZO*9cZE~-(tUZpKHs9`TtYB2uh{MXI8=v1qY$|T86%!CGg+0zI@Fy{U z=cwOXRm>eUQfKI!BH^1ArFbh^S1NEx%*>gAuLaQ@8_c)4Oe)DkuvuHNF)_j4Gn|O= z9;V0EM`!Jr#uY3k+`}hGjck8CCa>SunfDTx8fR;hZlp4bB;{gybYS6%RT}llUzbO^ z;rC2>`;CmvXn?4t(b=~ZW#wHV%ZkS%w==>OU2PNn*2AVo+y(+p5D3@3phBv;E?+Ir z$I2DjlP{9bSa9;5`b%MivH+h2g^{)dD2$xu%dur`wA?F%-zIB=Ms8=K zV2iNwpX(xyq@=g|$%5~?d?NX+^$-@k_Gm%?(@4M$LBCD>e!Bw$TPHgN=I*TWt7sLL z6n9(LN*bJJ*S}$L(tb*a{knbdXdeqU3Fd>>BmK}vL}hZ zXny17tzS2c|NrE_YoQpCwIp0xZF`_ZC36SIUj94(m;AT?rohsr5?@3p2V-6r5n=m< zj;^XZ3}W8BtW9--?yS$JN^o0c_R_SIFp^$DX09L$l34?{t(cJm*!nc0Z4ve`1qU9gHbNr{2ci@+lR}<&AmR5mBLdtu~nD|#I zZ`MyK?@3C+{Zi)$veVL0c}uUL;MP%szrnC8A_| ziSDd;z^%BPRD+_7eVSa>7f#f2I+<69oDk7jK@P<9sz()d7ibb)$u4U~VV3 z)9}cYIraVE<;iPa?W{WPn@Zne;*+e>jlaq|vAG zhZ!^#vl{MJ>G;Vl`NT`;ti~rpP0n^)y_@v6_MKazQFt~XL$FTY`9QX_Zf!Q$)k~vm z>eHQ^=&O+53N`1?eR>y?Qk!!w?ARd(1+G*?8zo}OW~8_%`_;hLGM}bLo~;)51URBF zmoyC_y=DF>y~X{K-rn3!bWVZv*1fj6TFpP?IQrg2Ghw}WIi;%;_^T9;o;z-yn_Z9E zQEKwt;+0`Aom5Na6#ST(T_ZWEb9KXq@Xbp~1AND(p{rjtM$fyjmF>czB%64~1ije# zlP2n?V&ALV4rrXb8TWHuTbZ(XS3UVdHh<9rlmdTTeP(a(dPlYGFL`Yc=~2RBIR`-o zKGf8=wHG+CxpTZBP@|yA+W(oW%Xtj5kj_3&w!UpmOMto2M zQGz0{(Zz`wHF8q(cr}XA>3lZrv#e?Mo36+A^4SqDL9;5~#*Nu=no0_4b&GN&Kk~!D zn#v~b)+Y*1-!-_L>5v7Hi@{>@On99Y$3$zx%L(@EC0?59QPk%(kCQ*tNn%bh4j%c2 z;35dbx}h!K-EkudcSYAONvd%UVlG4!oikKwyD!A`X5sQBr5w-BO75~Zy)UdVH1yIT zRguol#JbK@u6sp| zSGeG%dT zqYQww^Dkv(c=x|OUPJEr0e)V4$LYVUT=>)bzvu1V`ipyUe>r~3eKbJ)1JGaDJB0p( z_#+U%@aM-b{3pa;hxlVZ$NzOR{ky8v|L=~U+TP1w=a=IPmx}gwkIk(cmhYLn)x8q5 zEwO3lA@J0T)wM*=4#Ppc;^Kg@MY5EkZ&}fLWXb8_W078`!t$ezJz#$^8vKbQ=PR=KP);s| zuLX7kmPIqZbf{a;u;Om4%zny1a~Z?HSc%8IR^8o1bZIQjmC^gvxA zk#rJYDJjl~mkRD=nD6gWr$SZS^wd3ydfoJ9a_k=ikA56NpMG!A%X7sJy5V6X_z4oQT!g~bI z^KDa1fqM4JELGI?)G>)HX2)f<+tmUS5Bl4W&VG|Gj4F1=Dx;adny>{Fp5gcGQ;$`D zyedfTr6&d3W-3?4Gb9L;BY&1M+Y zxAq)&Jj7dE93$_?KlkdX21|jVrGDqx0k2HoYTLmtj`5a+rJYrG0!aLvWY3Ma$SUtF zbuubHC;C7Xz2EXn)c;}cKA_=l^M>(HLXe1>=sk!;@0}q!K@ibPl;{M(5R4EddI^Gr z6e4;=8C~>f(SjJ==pqckVDP`(duN|#cmMA``|j@9J^Q?wb3VD;&Y9oWVeYG6-%CPy zPW?(mCFyPKAWlLwodFb)oo?`TZrGp5$IjQ&ho11FabnL~!6DWv+qeyUL_FtnS8DcD z#51w=Gx@d6>$6$s%bKVouS!bZ6Q*G?$b?Kx5KG8baA%d9BX}o|nKo;`CD@uF)t^h2 z3BF%?XJb-a&|soazGH zyVfx2ImtcrajuW;%nMf-2kdR^pt6cyaITw<1+~iIO;{pVhScMMI`LG>hsV8~D?!3^ z$Hy(TT(#1u5i?2e4P31en!D;}$H(WrVQxc;#Lx)eClAU-6m@D3@@_>=`SKsY7>;`mI{ z#cELdNms7%@z%|a(8R6%5siY-!P{#0yPA@-ofjf32{^=AMYc<$jLQ~SD2u0ZOF&b^ z@V12bvEAm@%Fu63k=SWdBpml`Um}52eQ8}MK0=j~COISeJC@?8Fbj3B$iX%j=K1Yi z|CF|;&rvpeEJbL7f!+6}_|jx(4SsLu$G%77#{Kn)Wxk za252@X@_m7gdbYm3Q!iVs`zp@W$G&8kt-fQ944K2>%Om-t+>b%S>Tsr?l3M@)Q~ik z-rJY*Q%xW)jc%^x~Svq^VD*FGH*AT_3WW&+b@X{z#&N>lumu3U%NK98P%EFU?2D zaxqNi`t7`P&&WcWx&;nOck*1|4%6gczbaU}yn(q+bckH~Cpb zVlj$03T-)9KZrG&Sg}Cp#Sz>4#k58H#T+eU3&!xCPdU$f5#7n{QT*o(Rjq@Cb(H=l z&*Y1R-iiC%0*)Gj&$_i@XH%ecj8k&?_o*#Y%tN}zcSDBFRT=68X0O6nNn1OVZ?=c9 zaX#O~TRfe}FizJ-N|~m*ov>kJ--N5+1&YxZMmin}Mj$`8O~ZUT(xuivAD;CU$fb?rq?$v5mX7T*iW))7*IksyNRdna}{GE*#XwJ+CRV1}u@r3kxjL(OMF<(c? zJ|8eWfvh`8do25rs!@EZ_77!7ExfLLn-nuPpmhDlH%#}OPqfzw1Y>B2yh-;%%fLgK3B`eFOpngx$jR)xir@{))>W3{ZCv3%=9Dq5Ns$7?O*DmR7N zJh`5T8xdTD#JRTYZAb5CMK#F6j{8~}eTDXA)2mNwL{fJjWI7i; zC}Qnmjx;j1Cl|g)oK3FtG)Re2{0JeflRJemMyb#S)aUGl7w(u8NPU%mYFa;0xkpMq z)V}t9Mug9TW;7yV}yT-amOrn{S7OhA&(m#L5Ar*1<+B3Ei>J+7x zv$MnJxjvPM!s8lb6VftTJ%t3nS>26DYzUuU>708OD1}*1qs9c^_yo~)ne7Vlfb5Gm z&Ff3N{hp@v+I6LDz@^cdFTz=v;ObD}6^&=?0T#Dm)V$&JesN>zPVW>S7jTl&GIuzU zYpk1Qq-IrQMHg)}T&MU_ewQjNRhN=fTE`X}EGjj(*2_x6u_tF4u)5WUG0&7Z+Q4dO z?Y(>g9hlv3TFXj${>5Um#^1)q7g~v*#>~0Ct19?$2lv}zs#u!zTJ?{>s6$2AQ-4uR zOd-$bXj5NU|Ggoj!qdL6feMw=#sw_);?oH$+GO+WS zA*kF~mm3jYOOLOyD0*)epIM9M@N;!UUS8#L*oQaCMtp%g5#YT*^E&a^sZmL4rQ+qx z9vUs4HEB)KHYt3{O&HXAG+}w+N8T};F|2I%UT)#C8gw z2cV1wya68o2KWMgz(c?v2mk^BI1mKHA+h(?8!Mb4+rAtJ5O zxW*qGGeoG1Vm@e9qR*D5T)a(GwTdqTD{=o)Hnb(1s4p^bjNdPN`Kamyg81RWOZKwE zYtAI12s=&}pm~F)@H!3JfJ_HdWXc~>62jHwvMtnGfXIM+67WY9w8 zgLcYf0Ikwv#5n44a~Ng3;;ZltlZ6(S!HB@hRCX~ECy*zj`WN5>cjqr!27G=_ z@=0$Vvw})fyt}jHPWx1DWb;M7G653@4!u=+-V%l-KVuEUy6i?3*qmVb@}H$R~l^S#j2^{7IzD2t{|+w%pK)oS4{3v0VIQJb*E=HK(iv8@lHH$b^eo{>k2|KyjrHFa+uh!8 z{Vo`g$QWPaJMmdfej z@sbhik7=a$cMVlvi_Y;Qb0MKWbJQmX<(vlziQ1F$VR44#_4XnRcW@}?SECMF#o6WB zFO#2JBm?tdIu3hUf_`RBccKkY8Oj)XvG1x8OG%My9;8PhD3 z%70I(BlK@rewd+8_TjUsgF7iO23}EZtL(;b>Nv~yqdD^ z%SdU@LpRtP?fT84_E_PyhhX0g@z^TD+n_(>TJ^(fm+#E%xiO=6BcjJ&OT`lhF+3;MRN-jvqt)P4J@~v&x?omh$?n^SZ%3a9r-dA7pg7v& zBBp3D2wQLuDS^WXGByb>&aKdq$o<0X6{kGbOT?7e&1JWs-|sDlHo z*cTGgdL$ij3}viLq^d@c3z~Hjw}|DKIH;u~AwQ(tz?2Fd(b@Cmld{*ozf9hV(Vwxb zp?6<}-g78^MNS@_7c_t;WteE;I6ql;ROD~#7J$B4{N{C`IgOdBp&VK%^-zM20qwPz z5S?`RQUI&JFuhst?|C?l$%1aklf&OAY=?|OIV3i2fedl0=!8VIKg<uJgf)`wJaW&*)Sz1UE+8Ebq+L@C%x!dPU2lDddzhvoJ3_ztd1Q(l6=F4Kq30hD zc$tyRF-0)xJ&1%8JM8J+7%4U3-gZ^w+jg~y@~h=cyIo0er7m_F)fdM-v&D?YjaTUV zjzWYQWY*!nZ9)%qh`v&k+-|;1`dZ4~0J775so@+XfG96;wnF^v;P12{^x(^`+to;9UMI$czOH4eEojyzv=kY*)=%yWq4%t>lpHXI{$i5 zb~^slYqp>$dcaz=B8itqQJ>S?lsDeVebAKdz?vxK5tA&y?bzepc+kdEAuqBp!nAn{ zx*jD?6!$pMq;qUgT=_$8uhgs|_N5gOi>#jz1aH_tdVQ%6Ym4sd5Wo~48CWDy?vZm# z1YfbH>FDxyZ}ZSVTeRt5B6*BNG}EK+v`=!F*grDt#^c26@xsZhyM^D+cXSMABn@02P!ue0l_KwLOk`QsKBa&L! z=NvQU46SbSF!#u%bX(iKJDkcA>p(ZQzpq^0c^wU*F)@@!Q6Ce3Ws1*j0h85t25DGE zGp`eC{Xjfs^xGm2k})6MogVg=D(ti^ai~mxl4WQni(C0@T-u$k^QE9=I5{aLYjg?P zvtJ)9AGsbz1&EZC)LnMwnXfQfw@Ee9{ZQNHz-|BaadMYAhqyCYH2plR%>O>R>^)CW z3iEedWV7#DR<-&x7}l&*R5TkI4F1Vf)^wR^6CFQ!9ch>n}&2>oOg( zPMf-=v_?eMXAbwIZ=2saMy0OdjQaB&Ikz-J;Ty8^Op51qeoYTsJYvc zqtz9JIA=dZ$7H&jafCEFv7)_4TP3~1lCDOv8M7gu3RN6*N`?yXvPE1INVM%r)LJ-G zi{4(vdZ3#rxQYdnmzBy{>8%elg97zCIHE;jSZ|}RmfHFCI~tecadi$;?M3)<;_<(X zKaa#y#r>tyb;q8oV46c)d<#S1HqpPDWEbwbao_wy^1y8%Ap0mPbd!Yd!4K`mR7q?dnZVHH)$;Bp$KB zB0Xw}4Ks-{%LT-+NSbRiS+B4#9JT6i%p|Fw73XwA2qBCBi<{_ zzIw1HU@lbjw(tW168s={E?zfJQIIG1?I%T!>sDF!p_ z<&%w6o#WFwFZzD=1$S)|`YWJGLhFRw-Z=O@sTfKW)1gYH6WbsZS{TzHZ~L046=*HT zxStm|u_tK}!(Bw2X6<9`lbzk5S^2Jrp2|gBZo{k0Zfy6(l&d%-vCaTw5kRgTlBi+4 z{4%L)szDP`B}E}N&|2B`fz8hPeQRs##aH)@&fNWK&?D*7wn4c<>rxc@wrG9~Ii8a( zKxnV3n(UqL@d7ee+z5s~pWYW>f|U(@qv>F(S^`_x=YgQ9fVa3I2lqPsa>q8LncTBK zB5jaQb=%$*b$?>5tf(d+Rjw=dN!UC580$C6_bPBIVYL$JyeCVR*e*3LwU*Ofa(PK~ zv-}k#=KOweyvDZ+ALBA8Py+ri^gK5$lvIrd2U1kWiUYC!?gxRMF+z5LA9A%uX)<)A zXc4K6`(BM|?DZ|3CgSSz3GrI)a*VSshwu*f2WS$!&nrYR3*QiAj%Z;mmRP&9m&$!V zMyQwSYzbKgpAq?L4=vAGY9;K8XrPhQT~5yp7e0YV6!TP&ln2k(NHR^n9l2vZ{s{NM ziiMD|zXSS3QBED16Z@4gD5nTz|Lm<;xqV5-;|j_O(6!j3HGdgbqN>z$vy38`T@YuK z?W+C%&7DM-|K``pM+g}Kysa!DhkW?|HG^aAzr2 zSBP?b7KoVS@9#J&8=uTo>$wmJ7F;Jvyd=RAC($RO(tH9T#VX9g ziAjDlmBX0v`}hae1^6zwlA>X+81gT7V(bmEq9EbzEooq zk^U4|00hbVh(Ii^4F<=odv%+k?a4R}Nsc-il&=wd%(2Lkd1kq&&e$#469|l~&v;Q7 zI^HH?;v)Jm>wKpz!}^PzL6kwHX9mppR*>>zY?CVc?m0`9-bgg8K??Jol87mSEhgwA z7cTRoAb~v@2vbnuk;U9zl$Y7n)#kN3f}p91S7RERgS-i5@VLav{CqCXVF|;$Tc0%( z=U#c#NIthP$4Fdd6WPACYZ6fbOXnc%5PEbTDLtdeZuoAW=DmEA$mp^~`HPLX64@&- z`xR@YFIcJE{UVvlSG)11sVWMG<;bq?@%zlNFSr(+EMjDZD#{VTJT}?4Iu?|Jk@TDi zpO`olrbpg@Q!lWoCCx@Pk(CP*%H5*O5mflas;2$oUXP^%_eeNPC2Z15r3os0f0HeTHU<^P4Wk38#xU(CzeJ1^Yh>6n~kGO0LwSso51ltdF zVfvwJ(ecetfv^SX(EAT*$J~(cw#Ln8SF?5t_-*T|-fPlWde>U;lCRwFVUn_8rl1pD zhr(#L^w1C6dK)EMUhGdkyRu(43gz?DL5H->xr>jO-o%?0>WuQ15kiRMa-`0AaI4o( zOlyCraU0EB8J(_xMtivkX}J-ZA{`CHNLR?ZT&%aTwFOyHeNlL~=~BCIa`CfDkGjn9 zMaxQTE`|8hB8Nw^W?k$I(q_Mi5Ge>6eWi$*R5%w;)K?)#w|SnG0|zRjg!XBBAIv&J z%Wnej##LC{Ijj#@*~Z$SlfT@PsOY>Gy`y#|<`MS7mnzw?(l&XHo^iKM6Szgn(gzZx zTPvBFv0+2*+X)Nvx6!*At{>jjn`DH=&d#c|d4@Ov9dTY}R2}5wYqZxI z2826z>~*ObZS|i_-sF4YasEPGl`=k*1t(4rN`*BaRACu0?IZ=qe4?(&oEdMsf;B^X z_>OypSx6n-V~%h;fjnGTLg#)uBt;9j8OhdD?Ps#% zlpVWdd?>Hm{?#|!wRhZ4)`(6@$^Ff4J9>Y(u`K$IhOpS^TZfBo<;ZJZl^wl%J@Gx% zKaR#eQhaJ`C!tp3_Gl}_4y0~_Wij_;+%J-CTJ z-{|ear*sVG!*FkKpFkY7BMwp@3v*4%E{@+G7NP6o)o>zI%}o?!Y4 z%SY&Sk##?nR!yfi=sBK>{f##!YrWS@RYwF z=YA75(|1{{**^O|&rMs`8=?9Zbz@`n8^<&mXlyi{*XJpEnPkL!#{SsG1R}Nu|=D8{LN8i z%c`VT?ygC#Y0eNdDKA{$ndV1aD``Qou?(VwnC_N=orJIz`6cF3qR~Zxbt^3`vyY71@g!O4@hc;I1mZIV=FUvAC3}{v?zM?B16+K9#hzJoq+x}4~ zh^57HL2YG}Q8bH6+JqL@%q&^%qYkdzndc`EpV4%~V_r-p4W;T%m>QM1Z7{R4-!`J2 zu}>v;uC+8qou_xqwc0vwk8gK)4|@bQPX*i&i^j^o8^>thNtEhL7#Zt&?<(Ks4-POA zmbHU>ANft;(_|+Qw1~DLSap%=fPtV%;+*{p{R1EiJ#k9 z{@Xwa`48qF`B{IP{i?rz?SK5&?teTq-q5R2dHQ5J8kN3(qi?qj9fi^5TB|4fw(-4A z?A&^=aG-sCefqpy7~7M{9t+XAZ2abQl)oOjyW`Fj>z7witwPyqQu*&dqdrJIlUmT=lLHn%dponlEEP6udyilbw^MG7uwe z5Qk_lp%ulhx%$kDy3C#S);T0T<}lGoJM!Y9Ox?xl6dM#xN>^T_wL$!n!C7Vt6oZ}m z5L5Hu*VR-5e*4lc7nVbnR3ERU{mpg3*WWF8_@h^qeMP1)sVJ)0I)NEDPG!Al>MW0^ z@r#)+6+Egm+~r%PpH^w^$cd?y$}!$M!)E(lXxra{R@x47MaJRHIcyJmox+DSTtu5KGi3J=dA)NWhk40kJevR%K* zkgV@RENi|`Kf(~VE`wUPxPksLa?lXO_k)2GWfaO%nP>|#vEK~f8o&r^boob?wz79PM2l{=)0?Svz z1n=*3KY;|IP9SskI8zlCNIK&|>3}&xr+PbWM8zQQB0~Ejp%L4cjaRWlecN-tceft} zj}@CWy1Y==bAdC)QNNEQOme?0wkEAB8KrQEr~g)d!EPcOyH;~U<$9rH#sUuy$PziWBHk!s&vY3CAxFkx!8OTqaB5|DXP7|4q~5IA{D zEpH_S{xwXwHWr<|B_huf{n1s9D`Io`1Y+wfsw`H5SL4PMIP3!@uEU=tAze-9<(0nC zwU*19v)y*)3?gi6^Bcv}>Y>Lt4&Z?-B z387(eF{|2w8H$7SHRxAo<3BQueRXJp32C7%dS6ppftF3F@i$OLDOM&5!MsxADElDI75;ICNhF# z3N()@M2NI+mexfz3np-$clCA>P)$&FW2v|p{m#EH{eifYYKtB9JVx!%W;GLv_6e^O zfX@y%1-xtDkeRG}8y){%$dcO`NBk_k06wR-Rux(i(}%j&e`SsP9p2d}m>iBo$HWfJ z!C)KuP5b?>4=P2%9=!M0+(=oaGrfIYk~Dy8(TW?FYLC6bQ7;@1hMJH){gZ0+c}^^M z^gfA~L_%i+V28(H8gYkvOyKb1?TV6^V~K`A*YzbdQEPlB9oMT^S$PK8b;$qe>doJJ z(SOs$s(&Sa@6Y;|{a5|_A6fqj{Nw9S5Kiz(k_EuB!r!$1Gyv8h1imRK@ z{>shF|I_~eL(u-tgZ6jEZY1p}2TUl)OmCM&fYpt@-^NF;qgwT{9ex`hK}ZfOQbFf< ztz-I!Aee6e$HFn`kR2ZD-6AyKW30~Hc~`e@B8NOucfJ%_v=~1)=SA(ZKI=d}o7Dro z&Ura8$iD@@!Zdt$w5BdjF&YE^Cg?aadNGv=Svtw4`$jc_!b;anP0mO3qoB$yr*BSZxclR|8O zg$C6qJEa&T!ik8`$7)O|OBZgU$Bd`E#L`X5ND^(g2QteWhT?B%OlYlnU^lvDC~ z>yb*Z?^&O%thy3*#m+(8>i8#}7EU14m@GYXInrs(0O~55c#qloHjb3q#mkVEdF|v6 zvN~-K&{%u)b6q!0hlD-1iApq1ZKh{g3CFhZnIGX`V$gm?T12cZN@LQhnL(rFzVv~9 zhma4*n-Zvtr`MZlZKvF~&kPi!bR$iUloX@b-nU&LVdGtlph@=s z=xfXBVu*nsTAN`~wwr2fM-o`g*3{1S37X|gc5;`gJiCj$S^Da6s(;MOV3k|a7qOb? z>%*Vld2vr?Sd{v<6Fk`x!`nh5s6XLv7IdO>+Y{y@UQV z_Y3%67V-~#{*S0qwrt~rmM-^I_8x8DGM!LN;&;%|er3tYR{=If%e*;(G_*lraIEOY z<11*T#bnQHOn#qs8TxW2Wmc>13fqeNbm7nT+Zogczt%5)tzY~*)-Rs^>G}l?maej>&BE>;!~K3O=8G0PM?fxHSv9b>?KK~G9v>`P>cNeQlbp`$qDeevFzIJARM%nde@3b-sbTu!^gR`om+k@uc6Gqde`3wWb`X z=0>Bay4wp?QV4FEv~7iaAxVuKPwGZX=R}ryCm}F;*s)d0tjgGe?B#*pe8Y_K;3(Fb zNuGRn7duw&haqkrqrQYq$U@%^8Oo?bvq?-`>!sxb^Y}d<=(zg|sj3K1>8HX}zQt03 z1=T~=;Fn@kOd|ecbA4p1vizyq0amE>u#uas7dRgcF^59<_o>1@?W<4>aJ2PNwjK@{ z*aVCtxXExbeGlt>p=obd3S3I^_}kUA22*Q~Dd1}xvSFj3hR?_%(L~FRY#Wz_-`f1a zBbs3|nBON^l=xYzc?_Q6BPUMLV-bk#%QbTn9b9>=VVOjYoxI7aJ}}Yd7A{XmjVP~8 z4eJVeh(>K;4bi6CG}*)covKX6sM{?hC6vFP|)3EBZs- zPMD%^9V93xlc$^o@2Pn<3ZJZX+cn6-ifP8Z;yr;lSATy{FjiEg{M7Ap5LC;xa3DVkft6B>kl;ED@>B zf2iuYv5M&P!&=#17pIOgz6H7mOYch|oZBa?nVFi4bK5qkl$X~E1~n6c26P`)1e`#iAbs$(eiRBy>Uaxwx{fgh)-gU=PJ~2aHcm63 zfZQ6Epij}j3I_I$nI)jb^GP@Ra>;3^PFGp~>1z)XEMDntyMR7*qfDAMB*}M`|5}Hh z(rSNUxPEREhZMg@C~~ci0whp2=$NLI*4f-pud0(gfrN(~ z>ps7s!6OXau6}av&-$C?@2tPifcKpRZ~$E39DoPl0|dZ%-~vDhTm*;!Vt@o71;_w$ z;1Y1UuZRnjlmHb#4bT9mb8~b6J-`4k0!#oiaQbs!0ayVx;B*{$x;KpjxCUGYIDyk= z%YpK=-^>f}0sO$}I6@E*0)zn(KokJoA&5920Z0N;fHWWj$O2H{^qF@+c>_=Y6aghb z8BhUK0X0A!&;V`%r{|=#0BztFpabXvdcbW!A2@yPX?to27y-tB31AAGt}~ef7Jwyi z7q9|O`{Oo%EpQL81MGp*eS(gF6L9+6$Dnit+&2Y>;-fFJM> z@CO2bKmZN|0srXvzrXqT$K^kq|M+!&;(yKgiK9Q}|I|D*o!%a3l*FjCGcifSZRcL- z5=g7LUly2IWkgKpgu-lvRR zYi^M7H^L;%x-nwxS~4L+FNcfWevJ3tu+I&(xJu(Ppdh759Ru|ryIU8_|F!|72>!E& zz7+$3B8ZsdF^Qhcy03Z!Y;eBV*=gY~=yASJ{BY-r{wsEyLO2KHv=`Pa+X4E_ytP`||&6LQT5@#FDRAp`dG&MzD5c`adUqB1Wfb}+TK;wq` z>_6LLY2Vlg_}sAL`nrC=HQ#k@3!LT-pvgWSuB1xGZ#GkhliLfl&0UW1T9F-j#QoL@ zFYBJq@wfdb1kq#o0FetnZkYME1wQ=qRr3*eLE$ zU;2X&#UVX)U$LlH!OEe$|BV=mORb{>k^B@^5fB;KbyLSS*Qgl#k|!4PfsX@<-S(HK zUs%Ep^=m(D-a$xHkz5`?s(xDa)kC~134_kQ3cLdEAMpHrLftW}7QNOndLXh;(eZ@W zCd@F6;iCH%!OEWF3wsl*Nk8we|JCT84!nMUVPZ-!9fuyr3aA$*tp|J|s8K6TJ{?B) z^v?!QOk9_o-C240YlGT6q36K`$|X_Ii(VU#GsVE&0qb!6)4KzHw!a3TF8wur`Za#~ z7mlC)f9hXo+cc9u+-@#Fm%v}conGg^>fg@4s47eTTm3s#XM1?t(VP-Nk=nGY z!xOVGQ}Gm~12cyWt>f%Dibf>e-H*CSFk`?Aoq3f4{VFP%1hW^YuBnVxB7Xm&B$-={ zg>#Jz&#)y3O>Z5Sk-kN@5z8pnSXPaw8qH3jY1-C#8AXy1ot0E9wUaN&(H2KxU&9cV zW}8pI&2zR_Eb9 z=K&Hsv@Z0duc?|YM2+9@d9bzx{{UrKk;9-+UZzCuK@6egvX9}O{Rxkc`wu0WGW1-b=r*z~Z($=l@!Ldl^_DFe>ARONs?8>;aaN4rjwOT&n+GS5 z_M0`Y2Dx{(XR9xpl%%_c_E&x~!;CHdtiMmsas0nne~bJR)*pDmpW+4ph9`g1`VTi~ zD^Jg?oW4Z=3Gw;Ba}%oIeTn@O;`4*&C<1?L{L{X|>6rEOCH_x{F94pS z1pKY>T|n&e-{b4t#lPZyS@2Q9D}w*X^~?X@^{e0Rj|2Cgmrs|2t=TfP4Mb?Sj*SS) z%&T8!!dnq!Z452>SK1gM_~2%QEQ~!oBI}2+DVT_=Y6Oc{M+ApA8@C4vnvP|$zYUm} zVAd^JBtO22IAt6O?%hhKnK9@LGqJh#c}S5}ds@`cjWzmuNyZ6e_SNyvZZkOUGv^R< zDCaNlpcvkoly)|m_-+(4;~Oc-`%q5Ek7}q3$>k{rIN4(P(A{7YDX+TC+Fm=s4&Mut zMTNPZPmQW!^XI4`?6-kAk{WxD*JNWd~luA+W~d|SVwK6;$`?a=E=6D!wZOC!@z zdEx&WC1J2$e=|iiy z&f1I|Upc0N)@UkGkOUty{U%<_Hd&-$fUT5T4CLX#`k{K#^W zOVJYv(Oy`BfA4!%dw&AOTJ-R!_#I!--RjC}qxD63HjnnE-ZcPKUySYc?Z_5m#~d}G1_t9fg*K?VbEpjWD|tU~kj#A{q)J>3gJ zA6F~K^yh;h{w0YH@xm8wyPccuPf$b#%93J{Zsqk%x8szCrM0c!o_|nF*D-dO#zwMe zdozN%&{qC#-<1Y<14bXsye!$+{ImT$o#Xp|vHkp2e~L>;Dkv%`tEj4}|7-W({X_NV zUJ1?duyI@{+@5N)Z|r6R@rNhQZhYsmb7_-4ZntOI<8y*SvGfT97Aw%v+v`hl0_k9)xA;0~GT}6+adBq< zUB6N|n>EM$TI`WyN;ulO&G>5Q-JCJUU_wIi6me$C{^Xb&q10V|5TTJE*=MP{Emf7n z!iK#5+$kyP#W_B<=Z4$gCxpjNt@D^YrQRG&4d^D2;EeWhkBpklT~9xOT;4enQyY}# zXLOpprzvso_zNC8Lc{&OtDqI`i_q}YxVkEEomXE6NEP)=nYdwIxot>v6IJ$cz+wpYdJH(r^|A6eM?}iH47&-0&bu-~n zN3{wVVSIYbM7VqOH1fIKFG;Tu2E6KlJ+ihtm$5|sV@1#Z(oxxWSr%ArvpM;f@^PPG zkqqCZl-;h4`A1KCK4qE@Ro`?E*u*C7xtmjh%oD?kK~9F`M8)R{q5P+Y%6&imS$!MW98M32ebI+Y#8b%35 zGU0!m&5Qzzk@>XXPv6Kiy^N?FWn`~TJpad`%wNCS^7f{6=UWS`Jjia9$VWq@{?+hp zrrXH3GNr~|@}OGj`g$$T*!TX{7%^0@%G^eTR|yV`RcA9dwnPMGJA`%rcAo&#Bg}&lXV20Ie~b80R2&a%zxX(D#uuq6F3~mURpE2mZ3K&ZJj&$_HcBNT*IRD zyOYRRbyPw5y@d~FI%gOj)24Lq&eV*E5Jt)HHTS{U3>s~T)8F5=5gb>HOQQ5JUJ_Cn$pIM`_ zKx9xlIR!v?h76TF8_aHVdv8@md8oJZUnUW`|M5i!4q^Ig1LN_CC+6kqh>!8ZKA$%* z2a)cyLOX7|cm?`I#Zn47VjH@^dwmuD`=?Xi?f5=eE!j=T3FM8!Clt>2ha_FuQQ(d! zOK;dtN6a%9?)Qr4=`RNK-QB;1U&688lyB-#x#xX+A;tEgMR{k8>y>$U8oqdO4TRK}u z6etAiB;{OVyGDJ1XZ9og38eIR0NYnYj@ z^@MCEnYp(6eq_Q2#ilKuY-jYaJkE2N4bx?RZMUM%Je9m}^-eaGf)Q8xQVQp<(cQ;0 zJAlK6QD9r#RTi2NwP?uMfOL9GJ9_8!r2T&UsdU#y_dJIY#1rAjR5I>-LJu5>%64HR z{hGl@Ch^FJZF-uh< z4J+rebzJJ^ z4)7Mp1x|mbc|bl;02Bg6Krv7Pya!5w4?r1kI;T+qR00T~3aAE7`UD z4goB11RMh=00iV*{FVRZA3J~cZ`}X<$MgTE`{xXzVd1Fo2xnRLY5Uw($$N2bcAidd zcxeH+iDr&Y+;`Je(@cW0lV?@&L?`6tVI@xjg)oC8q>f}AC0Y@GOcC%24$kW*+NAB| z(b`ah)8{ETU)M{rVkBJ04tAWq&a+duz0I;MnTt~#g1Zu#XlxcIKqG|RFd3%u*1}Qe zj)&8)&rR7XeZ8*&t>t(t>$t*kRI6u`3=2NI>D{|@aS!JMDNaC}GT<@z)Rkoh9K1cUGoFze~ z)#;JM*=R_GYhOTidTZu%JRgn7wC60S@NT$!7qLhm>$H@GF+S$pYK0@SYVq%Dm$e1C zN2A9+M4@dJs8PHQ>T6hm^|fh>k2`A?<3hLV z2e?aSHe0vA)ySIMYK6*O2{~=$GzR)CPn@!6LRp>cMsm<# zrJb9p3p+YHSw`T4eaB#>vt*Y>q9sTmVm`h*QdKqV{H<}8sroKA)g?7|#$1}{eK*O) zv$uVh{ev}l`Kjq?(L|o$whfVbUMH?~g}#cXSL*Ijx6c&PDBlPPx=sJ^PB@mQkuoL= zE#@{EoOc+}aLez}*5V#gBVLCl5H$289Uc&1*{ zUHB40FHboG`A9Rqa%&ZAd&k=O=1j_q)=Raq*&3;HFrPp^Ix<`rE%X}dxvosEPbIYc zEp;CLr#%3@Ps>i@vg2ZVz5Xm-oA5Ry6-Y`DF~yoOTM{L$;gk=1?C58^6prrFHRJ)r0pbm@1^?v?zWUk! zIqf(6CyYP;zxK`qp31Fz{HG*^%wz~GL-35W+y|0V>}wnA%u`5Qwpaz zW;w}JNit`i3E`YfC*yxV4fi(azPI<@-~0aV|JQRrU(dPmto=-9@3q!mYwd6A5C0nf z{;}g9$bXp90r?N~iUxT0d5REJMweKKy}3R2i%TNWd_gDsb~s(s?&^91WksmIJ*h_$ z(l1qWX>N&3ITTTnB{#6ebcWtlTKRc0m(M=cp;sjFp8HpFWO(uHdanfZHSj!sH37Ef zr44AAgJ~;qZCaswmfOj-{mi9J-@jDtV?XkWaAwH>DLv3z(Mw0DIpn2rp`Jn@!lc~8 zdZ_D0>jsA$F0*%GOvGC`NT3@UYq6O-j^IM zD2sk=f3i7q^KsH#+6MQLf@Rtz3Bpo;eW2%w+XVq))3iwaDiabpb}!|ZFJ%8m?j?^!lZ%r~h-= z0;ifsPVAr(?YXdRo*H;I-?Z0ny!o5X$taGl!Olz+XGaZ*N__4x9OKL7b}zn| zJc1ZG`UJaaS*3MZ1IJctgwtH+*z3vLV3%n($Ev8EUs%v=;U)c6%Z-dImwx{YWBy(_ zlhQVBTzo%!CA&YCR!rjrNJgQ|3-dpJDzCdH5ECGyxv7V>1$$v+e`cSXaa2mAU90V- zy~kYUVIavBi$VK>*&#$_F9qh=G^${BlV!qaLA$+N_2KJK^s_w&KW?w4`)n_i^8(+p z%)1irEwC)wRz^!0SUB0_ykf$tH*QaD$@oP_f5(UNtA6^sUVhJQ@=17Q+@rn#&3h&(91d4BAJ0YG3?sYX9g@wBHQcKmDnFiNC3Rjh|?L3bap50uBJ%=kePToX@ZE`|}*DQ`M5QnR?(R$SelO6Bf*k;l2BvHd5t1{g0LE1lh6t-6RFKwSdv zWiwA8{z_TaJlCpBgb4;aYQ?1b)svUcI8h%?Ut2Z%qLX2BF zMqiBipD(eO4(!8HhYcSk#WA!Ikre%#jTb9Rh&ZEnmZO1!~ir3R9rgYnouNbr* zh(T;<_I!U@r_V0?{(RC(A*w$ikDYwXg>6$2-Xiy&wJ1VA&clYIVYX9;sdv}OVG?e0 z5)xRY!!f0^o)=d9Jk{|rl|9_n-rSE@ncC7q;W>yna`%v_YxD~k7fFHsBxSCvu)XO! z25#fomuX#<@aZA;c_B_Ui!);x{Y!9)F+FDYl{iB~E5Sx8o*N}zxA$wmC^=3u*%<^I zlaurA(o5WeL0{G5SsM} zN1PWNudII{ph*Z}Zl-((diAiE@ahx(HQ1e$JB9pe8SSDk(7e2uSo~-;Wq>zd z9wB4k=^4DlLpl)~r^w4Yf5^V=F`@nP)Q{l)kL|26*niog30$B(d}!@a?@eYwUe!}3wQtDhLZ z7g4o4A2Li^N;&b~c(D=3bM+UyclFY}V{MNk-hZOt<<>`{u8HKfJkb@7id51*eBL$@Y0Zz) zpT1}2i@f?My%sNPS}u>%uJ>h=AzV%(oUPEnn=urRpm+PH5<;hs=rjonUB9iXLc=6y zDzJmGLO7A>+D@*J&gss!{?)|f<+IHx4a-Mfc?ve)Zk$UsH1uktsdeSP6K~(!e_f4* z#we-dV7ZKbtqBNMxOB$T1ji8Aw@p)(aJgR^EU7{;thB7$d*E+~Kivnu$HxJGR{tg@ zg25mg0NVEcb^Z54yHMNE_EG8||J(uEhvr?NP2{h)|H1xI1+xBZ`+Gp_^Qlkm@B5qD zSNnBfMn|_H_IL zuHfURg=yy19upFrZ%xGnnLRn7zRF-B1hdCeCEdzoN2B)Cyz~LneY?VCT8INqIX=vt zd}oxuxv?XW7G*0;;>n8(^T`V_t?(9&)Wv63_p0MCQY>i?M>2H7xeB7LZ9c^nDzlmU zMUd$X)fAiQl7e@&w-6rv1WQ6-f3j!~EgiHwrXK;{)pOirWip?p(*!mx{9b zsoE>p=EH_nxJB|sNW}~^a`#tIG}Mi1-5;~WlGRoa=fBw8@T_ZIx z&e)*sT%|!3SL5N-oB8YQo*@ z2K)gtVS;#*+`EQIzxn;>?6V<8#D`;jc2M{*KLu`&%R0bE9W}bL2D1l_4vbAcB|%kO zb8)K)s(1c_hk9p={2Ok!H5jTBEM9$sWSNUOePt6`etHQN!j8LUlQ>HQZY6f|qXYa8 ze#xe?q=D?LG?4Up%hNQsqFrs#oUF*5Hx&L5&UfPKeWI%uYaZMQ;=jYbwMnyI9_SrH zFw5U`4=7(@JK(eZtMiZ1Kh%jfaKJWFZy=)HuvQ8C<-h*t`mZ@6MifRz#0TM2D4P)e z$MRI!rHr>2@L@sDB^q*q+Wj(;DZy1iTbWwa&yAv5_Qy6sM2W3mXW!oy8+za4 z|Fp^a*~}wK)smGw&s|*JRJJ6lc+IPZRZ==})rs5vF<6Y+JaUNosoA0N=ejQ&_bPj| z)YE#mcEJ6Ha4SIs(dtEXpm>O!tqu~Q*{GYxBCVS8uEToJO@|};F-*iX{Nht|Y#!(e zR>lYr z>{Bjv;EXeR0Q+JQS_&2u<6G)HAWUktcsS-=7c%B>yvf4|LsRB09O0(nX5@+j7rVBV zc(5U^Yj#>bwsq|@bTPKz9ArH^bGWH{a=V!;Lz_sa+9=f;j3d?}L}%vaJen0ZdPPpe zb03xac3}^`R)imrh0@qi@l8 zS}lTQU$9eZN9V-6iyVJTiVwWA_%&FiB)XvZ0&%U+&@;Q+#Ub}}hAv*xzG|O|nVVaK z`EWDBPgze)07Yg|vXVW2!Dm@ovhv1Am|>wktQN8Po^58!6}0Tr{DYf~+-_WtIycCo zX{7Iks~_aT(o6}1l#VO%Rjc$%9Le^0iI{ou`173936q6aoyNl9R1>{9^_89VS9+;! zDgCvlE9H1zVWb032kYgj#A~m1#cN>$j+nz3D@RAUcpsD21ug2&o4yiW=JXoaV(&>d zfF|keRv}wSu43C4Y)rdv`vwl(!s}HP5t`3gh9@riiqkU;%+1ZxD{Uz+d_LXQw7PXx zz9V(@Jvv;Dci9AQ7mFt`%)_+W2~H*@nw?j6xF-=BHRu1kFTRY0@Q6>o5=*tO_<`gO zDpWgtg0S1Tsq#Df_!Bj&e8?I&n_Mf&{77n;EOvNG6Q1RW!rcHjYIa96_M=z*ZRpeK z(5LeKB5j}|%Yh6OGzSV?>r!j56%ujb50j{OVu78zH53abP3zQun>79MfDcx#DS8d| z%1QgTSySgV*dm1u{L{24aOQu}ZYEjXv3KL+rz}ctS)U5Dj5zedJ0)(<{lFASFz8$W z^P~=7&h#wI@ejwJ_rJ!UU-s{R*#3nP!tk6b1pU5lc$EnkcD24itgv(O_XqFT9WNlrROfqiooOt4)zC`V{>m(b(6NrHc4Skzd)t-SM87!t)hn+Kw{?{2FX$WGh~f$}?R=<{|DN=rbC2sry3;}LpSEYg zO-7#|s`IEvd*v_HAHh*hnkEqjtBNK4vrDB1>PfmMUa6f=svocwu|3lgwcR6t$?Pm6 zPkoL;NWo1#a`}R=ir6wLr2oKPsm3=QY-wWg_a$;R;$G-7(uH}G(s?ZvY{)w~pRG+M zAAn-@=3eG2!s}Nw;TAM-vR!dy$zIMG9Y$m&=v<5%@tr4Ao;me}xwh~1SJEX27Rkxq#sBL@==!HWHU!ZDJsOQ+7rmxL|}cJiHto@6F*|ho#E% z5*;|yNw6?J=xl6QUf_~H?_QOKY1_L2^g9~?M1V~IXdULw0206!z*Yb$0E#&z2m5UR z3IHX53P25@0nh^I0Q3L`z;*y5fC<11U;*p^umacs?0}tsT>uUMCje@L8|-%jcmR6< zyZ}A`KR^H=2oM4Y1NH($0Q&%<05O0#Kms5M*bg`WkOD{pWB{@NIRMm_0@xn}90Di; z4g-_`$^aFBDnJcz1fUK$3eW%?184#u8Cqbk4LAXSYzSR|9zY*(5^xG&05Aj?0gM4A z0Lb47%>kYPoCTNy%mC&93jj19X9a-TumO8$zVaNv7GMXk2RH!E0~`U+eCh>&Gr$Gl z3P1wf0PX+}fG5BU;0-_ld;qUcR?&~f?27eFQ&B#yrhSZb$jSJ+{1%|W(I9tMD6ms_ zDkT||4{B15w>c1Us~I{PiZDSF&P|*wu@VC3(~g*J?|tXDvk4=Rx9mj}oe()P+4gFY z9lnw@>&33$CRVad)EF<9nlhFzl^I=3e62Xb!=s2RboZ6bEcjtjNrmksy9*yt&JW_` z(07nET7{tY&7DNDo{q5?7lY8){1K0dOSSYV)X5Lsate9Njcad`4?f;WP{I%PWi3>x z%4|)o7!WUN0#0`dg1Vkm>OBqHw9GbbJAQ$uNAnwAJ`@_b9d(EdhDZW_>JtN_1lfLB zvI==pJ5Q0jp7MCMgn|3~#vYYYp3?*B0UZY&xZ{}E&%NNXoZ))h{eWWg#^JCT?_IUT z^XLNj#Nw=67{Pc+X$(axqj8sT)_8lR90guC+ibHui`P71ro~cr@746A z)nGn|@-jZKESYairJ!9;lSv6CKgcV*g2+~BgF>HoUWcc6lcyRuB+{+S=SVVM+cipR)%<9+9JtyN$%2hZ4f6y zb2>)0^pPenA!ASwwaUO&EMFilKo&u=Xmry-cH%lv2W#NK9v?~l6f>rO*hS^2%fHrv zo`VpCFO{C}l%_qmiB@S@QLC5ZVm?Hxp`LuDGkpw!_^R#W@!F+DQK@m`Zsw-ZuGbvMg1UB!4zf>vx8ZHh%-lk9f&|PhdBYQ3i>JZoBa;OIR7)|um5-1 z?@%1y$243RDRJ z;?E!b{Tb{8hbw&{<6G?+^0q2}@%w*$hU;tLQa}c@axM(PbsdV5`C5(>xI#N{?PfrK zw*_zDmshC(4uZ~N{j2=;$nUQZ@;^a7+dq5!_xBlU9g4d7ISJpMiR9npe}>|Xz)-rgFI+k63hWW+g?zCnBwo6k?}j|UFCj@MR; zBQcpQ&XUgrUOW@iddfPuA#zs?qbX+eHc5)HcgHQ-2>C7fms1GI)!PO_gfvVwgDV!{ z9b8LN`$G@CF+LLIgu%H@>wBs%8CsX^h*Wq8CqZ`V;@Qw=B<{&bo=LfHBjFORHjHVi zes@=?+Xr^GhLb29E{a%#5zE+SbT4x?^AOZB3_6ggCv8#^Nq3NnRrw$c!|44}-N75i z{9?zb6Nzsu4|<=pC}t0alg%MMGaMG4jfUO464$;6#6a{Cf5!vO|`%6(6n z9(RV;#0^Kzzs89g6WF@_94Cde?sKWP(rxG89Bm^LEQ#fER(pOY#qPP|k?7F_*~-)N zh6Mk+%i=hVqQ*(vxg}|KdYc>t;mPiE;{5TohILXKhaWqd6&yEKZsBuODBsDh4DM0> z^u*76*Ogrd6k93~Q2|5EjY4}CoSY~tIx+i>KOCAiZE6{eLmS03*dY6T~wg%mClC^d?7^AI0cEUL@UYo;^V7#{b zprM=v|L6Fdmh$b`2Q0MT^v7h-AO6xGf5kukC*vPG2P7*Kc>3X&=TLNnP_SGd^X{1K z3Fi-JSCaec>h8!Dr9V!>^?-Ha#RbYv$|nm226-SG8cVY*UDz~R&^nJSIkv>paW0Z& zBp|sE7@XCrkzCsn5SsIM2u>(GqF*TMwv}si^y0EBLve`DBgY3a^9$53!=Hs7!p0PE zruBK~Utd;jSQTDv?4>M4^mQYi#Hm!+QY zBIyCT4Pz)uP_t--y~c#UVU{eBf`Bexa33y>k>V=b-K5tls7tL_crjW<`V#BX4u0EF zdSA-PPTV5u$}LVpK)S(d)hlO_lx{jRF`T$aJeZ<+XrA-%ea>X zi}5NxlogZw<@z}`iy@OE83+fvsmg6M2W=jdunWWp80TLlr%;h&Vt*Tn7hR<$y2H9p zB+Uc~*C{G#s!m3{EPP<&(yA4~RZgSgMP&D~Wv|eH$YYXL1CV(a3nKq1I}lB>*(Gj5 zAY{~A!TLx$4p)nmw zj?8Z|B=_0sglym~_gaJPIlB$!MKVCyA$p`?E&-wTurY6%c3jFN(fpol*+nyz=S$d5&^8f~#0}2EJA=#Jv;7BFjtpwzg|2#vdLUA}PuWP>b;buz_?d?`ZfSY_ zOhU)*80pleK1;R@Bv0f+vBc=rJr#Yj62jDi)rsi@)D!ny8oPkDLygt=AR8s&JkKipU6FVs6gXDJOk_klWjWV*J zz)o6k??Ktgp`4cywF0-)_oW=6;>(Z@~vdf^3QMP#&z*%I~3=oP@JVst2-*kjqEk~`fZ`PhhRcRf+5S9-=nl4?TG z#P1gNH^?ZAKT?48J5E%GAq(&mS<07{twCuSfo^(3GKdmOq~gM(D<--v4I0o%fo!ZC z*5s{1cd3&jV2*T?T@;P!Jox1$GG0^ByTh;Fdyw-7dpE@jxmjB|iM7bGxVo1ZNLUWv z+!bNYI4*zczLsuwA}*m({XG`jq;zLVE%G1~I8Lx#*6f=|!;|=Hy>OC@${DGvrg%0m zSx(|OtU4MrYOaNGkZQ~Fq-^W$OTXgmrBcm&LE@HB%dqn5i`+`>T4tgg^?@_{0KK7ZOqIGmDAjC#0sF4xnLA@GZ^wRCzWH$UxD@f5k|z7z z4~t-Tqe=K)%c{_6nUwZ3hdaa-d!*;e%lN7_#${;aapxL{ztM>vKQ-)T?!*{|1tWn@~{5m|BwD-WgGgIjN6g} zlD)s+@^q<2_M6q6myhP+C6_tgG14@;ioSPL8$BaL!O=Agmorb=8!eMXr@i@7Q18^#YoYbkr z!?>1^Obzcb+8ot)l#*xn@YP7aRN%RN&P~!+zAuq&C&76zF*pM0QOWF8bGcN#&sP7* zDqBvoouwr6xtMbiT$)SyY=`7yXZRW3=VBr>H12p;^-_DYSg*l|mQVDDC|1Pzhpn=; z8;=#Zd%c~>PW0L|?SOLK6Xu?iRS|mJQr6pOFUegSY=P^gQdyiv8MnlrsuiD9jv$R_q&crXS_LAcdqSXTBZZ~My*Sjhg ziNlr-(YW!|4W8b(no0IPeY~cx_A1$ad#(qCdCh%PU4}1%GQlG7G16v=71T5CLzL0e z*wdQyU^PGX@=-#9$8DR%?Y^bLlKy#jGwr92E|A}M%+GmTP4~=r{)Kwf`|!du3y<37 zB?QDvFKv5rBXXgrzAonJPP55puyK?XCDVA% zR$QuYPne^i9rvS?vGbdszqdPIU&tOs@4uuA;+(@$L42(eYF6jEKC!j9^lrDPVQz^? zIT=DZp0Y|0OD}VZTyA$Oho9gvVuJI! ztxb&;4Vvw*m|fp4>8Ms9d%p1Ig*!ofrv$*P-1>7SP^3Rp@%!Vv!)N`|2;`Ig6ZB6S znDMXi^{Pg^XHPAJzKII?p`!BTb58BuI)V}C{q5V|QKIfWxC4OvuPFei-88UI2iyf@0PX?q12O?wfNTIXfA;|J5Re1N z1z-SqfP6p!pb$_5CX270^R_| z0ONoOz+1p1U^pDPq` zi_X_B?y7QFgE7cSSj%r-mN&mQ;kP=}+gp|T`s7%2-FasZSE0cjBFa(^NoyiVNa7~! zvN_aVf1H6EX2HE2MKb$ek$HN_eJ22m-a zvcwHmtdy@n)Uhq;<1o`a!53D%+n&5bFkc?i)60KTD_H6(6taKj#*oiFy2t|ijd@{j zGqMq7n;T_B?pm2_dL?!r&SY({G8`J4+1sn+X1(={W2oKPm-8C;?(R(=d1f%WGHM#L zfUPC4H4IXAj6Pu_&%<}u)sE}GB1p0B_E>mu(VTYoole`MB*@+fW%tu;q6XM)D619D z0sSER<-NuB0Wu;32x+Be7FE1ZT&q4!M@;)@_10alr^+K- zRaQ^poo9E(-1Yq|Zy}@1qqw52&10#erRfj(K4y}&u1Uy4uEF$CIMOhTqkh<&Yg=P= zdMFCfP5HP?43z9i!A%Fxl_XLew0FL5{Kj3SWAg1loG6FPRdnIDdqd0E$KB_3mk~=A zNT>3w{`M0G@vZ@4SZc4R3tomwjh++g?}a$`DbXE!netTkmP~)^|a{@?*x;824AzV?v z9D4cCN^U88rsttnneEQ@Xe;Ka$m9f@DZ#Uq3J)s<`wNlJdNgl5eCc~VbZ^(}ONq!O zH-aP_7wV55ladb>S88?k2%)JzhH0XoW*cF=k|P{7a)H##gN@iNtcLydL=}prY!_jv zvV$jJR)f!;YFzKoR_>zfs$vx>Wr=qccT!WaR%})vBf`+=%;qFMJhvD!6>FMVf4duL zKp7y_7R2+wZywo>S-ShYvocjnHR@P*g~M?Y@)q{e61~-I%cY6D=h!qa<34+~`oS=Y zgZI~9W)p1eGpE|#GEbu0vm+7I(P2EWLC#wT>4)Sou9a{qg1uqm=_YaBbAw3Z8_MSk zhn&%;aAE#p!W)r}wFh4%ht{a&XkRmYKe_wy$%iZn!E9>d8lG#gB^}Kjw>TT-pN0gx zzInVrk7*MSZXSyp_FYWe>#2?RE|&4gq?~-Dve5+;>A8h97?$rB{<1b2eU)JQXf4Q$ zkD2(bFi-L-&B_-A*i^59_&MyCHP^oS>knmozLcr5%)R(~y*5Y0oq+wcQE>)%SCFaM=~ z|C+!256)kH9DjX=NZ%y}_F~c!aTV1D`o89`JT(V2oV0Tyk6&u5C`Oi?A-AJ$_nYG+ zjwv{A661WH&MD_p3fuIg_>wdNyWN|Q0I!nL4ZAWoDXHFQC-xrGOFiBeeIPTyHZj=>Sux(kAM5*1bSusxOa6aFonMI}zIY@Jrd>Rb^!mV+MCF!oVxrGJOP z=0s-<$R6SEMjXQ#XYO5=X)fipO*8BBM z`p}{pVPDpGd!` zJ1^cFPu{>^39B@}_>5ScN|M5whrjbWZNlWU6{7{=U^qrE5$A6L)`@XTCiquMVFRKk z-wKqw~bD6lPj9wY<+c6p!Hi)k1Wg!F)peuxTASvKv_0IjOc~;qiGAdrO#Ycn&FVZFX z@oue&9vWq@XuIiHz@FRuWt+{gu4Hvh;p`dWe z8`%SD1A)B8AhKF`W-ITEnvyr0`kYiJw$uJev0PSPmZVXGr+$AYmZ5tkQd7h5DAnZ3 zkVt0E@~GLlrfQ;hQnOVDGrhZeh#JsxyEqNf@0qmSSPlYyL~Uh7 z@=C7ii!L2neX-b9&8k?@G}ciaZoU%P?=iXWfDn(v*jeyZh}UIY=Rg+-(cg)US)~r6B^bWF8k}2M?E1RH_VLYXNr^s@`ZOgs z^du`DM5(j1&fXBKJ7T!MXS)UUO}hiEh*zsSJjHOXPc(!kh&Ft*3#h=J7_c3%89)Nq z0@w;51&{&A0owo+07?Kg0J14)z@8RB2cQQq0HA+|_|e7={$?j&7k~r63E%>719k%j zz}WVqV}Jeo-**R&;S#R8>n6PDwThO{dnPg3vHd{!>rhzV4*j6j7TPMHBzom=p6#CT zBPq;ED>~zyez;9g`cZuhm^8;4vq`srB0#R73Q)HEy9FLX8~^t@PByRI%dK`5Un)9c zs3-6*iqZ!0(tM>>eWQedD!5;2Ro`l4AFJSgtyq1d=|NR+zicok&&yt`nMb)8TU=yr z#2aVfcwjP8iC*}u`9t9K1n(hW{fO}Iqs%_*U)z7_U%&D<|HJv4pW}}!JPinK$;(W* zx#;`Z@k^0+;gI{oIy%egclXDZkM55tI}Wu^0mz_SG{&-G#c&|qXL2@c<6uRkQ8{W` zSFvkgR#x`SY#VS3za_w&{siBqmf$4x2qVpd6Fd);KyHilH9h| zD-&%jJ?LhdhLBvq^%xvFY0MdaBll6H%{_A7_c?k#vdPu*d2N?Vw_6X^#z!}!lW^yx zjxJ26Kh6nk(mI`=MpWt+%Vn9iVNg5^S3e)tu*ywHTZ2`Qr6K*FtnSXm7$3x-XvVV4 z&kJUF-SRvg!AjJxMsmpkF&wP<`b1R^BaXegm&~e%ufdr`n6~aV+K*kY^oDF|cA|^r zJE4<@D~S(r9*TcQXK8tGs+V$=g)pj1XvNZabD0oKTBkJ|%o@ZV@l?>(%N)sh9#Jcn z^CF-sEczau5bW860<*W&3L3+{5!qIGi#f95*51}BPf6lOt!USzvCUIG&v}#gaXx*% ztoA2sZ%GkpiB_j{Y0Z>_+a4zw^Sp;>--?zrRGg3AS+LMr=cJ1E7 z_N!Ofj|_R9z~v6KM&g49!U9Xlock;rm+ei{PsKVDHScUsb-^t!Pg^#v7t*IBI!=UR!}^XTc61 z`#19WsLRe_0q*seva|9giHsY?oU)9oGEW9D?Ds8|q-1lA9LaP_GUvQ1DJvS5vf5Kd zh9|iqCWumN@HD(9ly|?&D%#yS?FQO?VQ(dO_)!x}g>+fSpW$C4|GKj(k!F>{Qvoj* zI3P=TB)-xhD&W#7J9C|9+MeClFx0oh%;_mdDQZ3(=&tPK6YhtZO;QDKYLew{36oJKV+C9DX))E`50=nLwe5a|6813!IM)p?5NwiZxv|C|h8}N}cB*cHH3!i1W z%Htlk>?scl!;gDS#DG!n@2>s+H%GKRZFR0wIiA2gas10c^+QEsC~NHdkrT=wJNuje z0`gh^@?ZS&U;HQi7oW$^VRkxsYYoYM)YaKU(%Rd|#LD84baSC3Vzj?lzsnQGF3#L- z%9YxB!J%fv?MzBY?=bO$ z4KL-+bhRDsr4rK#TGhjEzRB_6lJxx=$@7!>zRfvmyXv22-o91?^HCjx^QkZKjF)jX z-+9zJJ56k$NLlen{fSGl@uT6YS%#P zygg>Xjcb|`7c`jfA+x-8FDEMU1?Q%{)srcUda0vTK=rq7&6kw)-uEiY7CoRgxjX)Z zFU^4D>AU!d*UlE^$CVEXkhs5hszK%ShRzvc8ETVkyvg@Y$Vsw+AZlHi#^^hBr#Bd9 z4ZX7<-};_}&w8eq35OqW6&z(ajkR!ZdEC zhK-Yug{!EM+Zgj?rW<)o(11T!le$;aE+V+FPifDYphGSJT{i~_?lYm_&z~)$w-M2ow4O{9b9u4nd4bRnNq`zqLz&6H7)57dGsat@7M6YRlTwQ+K`b z`#0?wf_eGlng*JCX>6y5!2kuXVq;k1msFRP@RWYe zk2tmoYe&E2@om4N!V;=tFbnrvgOQiA;=Kp$mwtL*v6y4r$i0Pe=1V z<}Q7%hN}#WPEN@3tn&M?_R80}$p2I0C#Y%xnuMz7|7;%ddR2{}yl+U}`quOJS<&ms zfYu{`s@ebOd>lTkLIdS>{T>DXF&iA36Zz3m7r;@DAaWk6AplhraQvW=*nt?>FQq`| z4rLPmyp->A%b>G?Vx@j`FMfPR>t)p+`$04objPWoR(?=D;rkVPpbR;va>B=afARl9 z{7Em+^*+a+Nc2>{Iluz>vz04snEzz*06*ahGKK=E)~ z0O)UbgFO#m4}cfI2jB+?00aR-0AavhfCyk8KolSb5C=#ABmw&Y2LMt4X@Cp>k}n7L z@&E}zyYTLX8>mbrT{a5Iluy734mfGtpPRw1OSr#cW*hln7sUg!lL3Q z6_r)hHBX;CZ)|FAX>EJm-Z3yZG(0l;W^DZ3%>8F>U{9EiNix0{Uq`B{fK7G=IzqX#Nfc6jR`p%#ht10;D z1S|pj4;8G)!69I}`9r_|%m4Vx|M;KuKYoZ`{uMvcyU*x~|EB5ONu+lkf9l+}6 zAAH2$SDpRrHHF?_sQxD7Z}Zm$|B(8#zuw>fUH-Sf^8S)WjGvxds-BpD%PwoI+y?ar zrb8AjeY4OQs|)x2a;}s+gf2MdRTMM8_MhY3qFi~+YjTp22~C4X)zq`M6Owff^uUvN~leaWs3K1~Hh2IpR$=(%})h~cm%;hM%q|4C~K1X|hb7oZ7F}%v8 z5?-{N*(GU5gmusE);n#}7YLb{ZstLGvz!gtyH7``J}yEgpYXZ+ax0hKqqfO|gT^NY ziSy%=;u&yCBgv*`?C*6Mj8Me*y15Pei8HY#Vwz2#)a(MS_bw&aQTOt( zn{N!vH}2o9YErEpGQv|rJt+`GqbW@;Nxrc#n`d?VXjo|mCz#$0vKKlUqsbv4;XZV3 zRCb&!F{DQvg!G4nSk*VJm}d$$rRz*azHf3m)@te$oEI-UadaiMRLyN*%gz`h+#EJi zFyWq+lOiV^VPc!&BwLrO#Cb2t)$BOY?RW7Pe4LCj*I;?|p(uT9dgZ_L0epc_6-u+C1eFd{`rh93m zQf7ykV;y(00%txly6?R`|({tezK!YY|iG zQ`_Q^-sc7nyqE5?98-_a-7arQU~5VCZt>n-N(k#;;hXZ>*Fm1R`_%qlY5ViBU;5-f|J#3Z|5w^)2ktN84Ij48r@Ub!(I(=}B%jAg zDp044h-l*`B4XlApvc??FYtTVCTe1uT_OiJ(`ua|;W$sX?_zk;mS6GT|JnHOC3_Iw z8!9fp(Nn%PukL`hVTq20pFGo8*)5Imrl&`S zy;Dle?~O^u9HB zD1OlR`IUX_59Q1@o!&3)6b_e1J(w=X>S;GuF3AS7jqlb%HUg#A+KZ<8ej?)Qz z$hLXbXXa+cX;K`bd5%5g9n!K!j)D;URxMIW2*ZQHGfYKo27NUP~5B3#E%G9+VsxJePc_ zL73)1$H=LyvzDxCkS^K%^Rk&1=3CJN4JvGaPHen z0qgcVarxq{{q*<;gt5UWi!F5S5sXK-Q|ER+Z=-l~5;p!?n<^x5 z=Tc|KUQrXyf!?rQDnS{IjB?6AJI)|!e;uVD85pHz$w}>HB)+SSx=U?fE7vXgB7Vas zr@Z|wlwj_bK`0yfz*{6ud5lAm8hD8U$^hXHMjykvMqgFiq#|VW(Pzged0i}}^tk)_ zq~Ul0L+ll=v^u-(o;^qo#gZXS0l)pmkK^!Fgt@`WYfsB|MVU$G3~X_93h8<~eK9dr z+*^t;OvN$r@-FEEE&DCMS$#fo;jg>}mKAadDtP-Ush6oKaMyG6bCFOt@u7mme3HsKo`Zqn;*GOer%De3gKx2M&u&$-hY_Q0fzz8j)H$w1 zzO2|*0n6sU3Ra3*8l2`+U4!*=#Mj1fH$4reyj8?FG3F2^|tEw5*)keAM!SV0frX zYQ1GLL^%s2=u>fwvippRQS06r2PGp4}G) zo)zT6``}~d{$a2FF`||V6hVTbG*5p5@=HVW!JkKhk5y9Pz#nJ@>_k)G*M`Gfz}&Gl z_-qblkk5cmkbnCShtY1a*5Re3| zKmVgMT7T8MFMEQI^AAA65AOB)625`Yd?!pg1MOSJ$-@`~k%0vx6jk`5x>6zk0G$4>Ak z9MIo=x=JV(>PtD07w_luPrl8=fZhTwsFihB)ca8u%g0rE)|(^#SL62|ulV!j^{wx} z{cPj?@tJ*Geee5T>Lj>Oo`3UdKg(S2&44r#=(+wocX2&=(6ie|{Ukj@SF6Gg>b@270yv(3yRDw|`#R_h$$_TR}+Xx^MEIIm7jPe(2c> zL300%bN$h?6^7)kd!9dzeEd3p3VOExPW&Xay4HH%TM_7t*1f_%I-?&w+kJmY+V^J& zJzLSgD097M0X0WzRrJx1pi;wfB&!B zztHoCdIK=C_1m}hvvu(2ZT|J&Ht4qvz97D(rYd_|w59>0H*kR?j~Q%8S)P0*d*_LDN!yAl~7gW^xi`T8kA;{)YS9Q*xM zKsqVaPf1ws8le06SMr~s6ZpT}|9|$&{PKT%+uwZl4gKV3M^Zxlhe?5Obe|$f`$M}NLNo_|qKmqU!2`Db^ z?R``g7x%o3{(Qb~xaEFEkR6?F=RPs?4v*)j`||AU=mRaIR#u)X!WBL~%G1jB)B0v} z&1iE;A3L(i)8<}#8Z$4rwkGFQrCX4jTcwkgXH#)6!>w}b&pEIqVPR-}<^0)8h8joI zfFb|@;J_wGR0DtnsBZ6o?`Hr+x5f|NcX7{hW0!a=JoQ$6g}eI}U$Pv$yj7p$ZK5g{ z*E$8M_t43H&BB>JzFs=uVM7OtbH>Z?W=F7l$GieNJoyh@H7}hh9bW!a6Z&fT%NCJz z4RQezEe<=SHLl6Srk`1e9}?hNK5tA_iOoCVNl^`){en?xj}H{(2!uqz|hE) z0ssOYgwl2mQ^yqYSEj+4fWc8=#pAVWC7EI&3InpLS37M^?iPS`%rqAz(LsygtS?C> z^17gxY8tEf-9(U2f$!G0;q|y2kjTN+@()DQf|k@hbi|tt!+j^oACyqY5P&bsd+E`pYl;02LrjX*emjI`3sHFjDtVX zEN|Yl9GHvk0VJ#F1{xL~J6IBR*G#02pPa8-Bso7P`^e_2GIfNea?%1(AH2Xj;B8LXq<}k^WuX-u3$F1`Mae zGJ~2T9x5nPzIx508kcuTMkd_RLC?0*Y#}ql|MNNUpPXUeIqw080;mAk zch39&!TBf?3isINyijqri@(j;dOf&~!JOoIgG-EC$YaKnO`>B!s7? zJA0eJ@UTd~IG~>t#y^$gN2{&kiSOb&HCG~`O`Kig2r0ji*2uWmoa)FL9!5Meh2K}? zSZZJX#4q1(*HATr&*jA@_bseQLFYT2`g*(ipuiPnf=mZOCkT`Pna7$WWcnw)Qv(A_ za^SwcI_B?)j>KblrZYXN2x8WD2l-A8=XsF4_dL?7V7AQp9HK7IX_M|;8heY{qVDQ#KM)q;swGE@bG^J4Qh&N;knDJV1LSi2 z#!ikZft35rW?g&MLbOV%QrGO+#ZXe4s!{OX5({$Owa;zWKd<%Es?lAu5$#aMde2u3 zVMg!US3taoJrN}1HckRKeP}lL6{@+I|L$bzI?VffC)f`N0 z>t{##B~U3iks2MOC>wXv!&uZy6v-?KXNuS{L0LsbC52_khe*Hjn?(sl zyE)7oBFw6?q`G1dzmn@+CS(6NrYXnc`XhEDv$S2ds}e^jQhdoS^P=_)YO>0@{}>(M z4|2m~Uo@>1FY)_J=HJ{kTAhe=ZR7eNUH)KCT^v>22pN4O!wQJSaF!iWKA*5J(6?z{0jO zM05)vn3rv6S@zsZ14dt) zd`i@b$6^^Xv$JKnf<(Q*;9vcb5lx75J%mGcDoN J{p~X8{u>&T{`3F< literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_BLINK_e.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_BLINK_e.gif new file mode 100644 index 0000000000000000000000000000000000000000..600cef8995d2783ac2eee7fbb1928ba1f98ca006 GIT binary patch literal 780 zcmV+n1M~bxNk%w1VX6Qg0J8u9>D1N1iHggcoV$I0hFV*kVq?&yrhQjfwsUpXu(6L_ zUdEAM)j$~<` zXsWJk>%MR-&vb3ycz!i}@BhG{a7Zi~kH})(hUFe-fsslWFUI- zkS??8lI#Plog^f{XrNc6S8jhkWtc~n3tISyedEYitkSu0gGu;TRc293%K{(9DCib| zk;Dq0swPevW63y$Wek~=+1#LYq2auk*k~`mo}Ky>Y&5g6qMQU~P70e7D?t>fnhyDT z83IhTWn(@Ktm5j_bRjvcrBebcdRtR>UZ|E{W{xS-J`k{0fK=-exKA6jd7jMZkhfpn z-raT9kkA7o2d#W)Ed-l`IlwQ?4{GWq5o43Nb#2`QOh%*>7||fq9K#rL~=%I)vs_3GOHtOi3kVY!$ Kq?CRT0RTI6+hm;p literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_BLINK_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_BLINK_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..600cef8995d2783ac2eee7fbb1928ba1f98ca006 GIT binary patch literal 780 zcmV+n1M~bxNk%w1VX6Qg0J8u9>D1N1iHggcoV$I0hFV*kVq?&yrhQjfwsUpXu(6L_ zUdEAM)j$~<` zXsWJk>%MR-&vb3ycz!i}@BhG{a7Zi~kH})(hUFe-fsslWFUI- zkS??8lI#Plog^f{XrNc6S8jhkWtc~n3tISyedEYitkSu0gGu;TRc293%K{(9DCib| zk;Dq0swPevW63y$Wek~=+1#LYq2auk*k~`mo}Ky>Y&5g6qMQU~P70e7D?t>fnhyDT z83IhTWn(@Ktm5j_bRjvcrBebcdRtR>UZ|E{W{xS-J`k{0fK=-exKA6jd7jMZkhfpn z-raT9kkA7o2d#W)Ed-l`IlwQ?4{GWq5o43Nb#2`QOh%*>7||fq9K#rL~=%I)vs_3GOHtOi3kVY!$ Kq?CRT0RTI6+hm;p literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_BLINK_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_BLINK_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..3670af28aa0d98d290db1bb982da788bc3ded829 GIT binary patch literal 886 zcmZ?wbhEHb>|_vOxXQqAYT}fhgrp;F9cO3EK2THt@$r*i-@e`7xBuIlx7Sv$eS7QH zrA13l_D_6r{KS&1oEH}^o|`qNBR-)lJfb-!?qFlf{EV!I=-B{ta_YGa8>gkDot-i3_LgmhpR zZ2JHI|L)>42C{(SPZqE~9S{lf69e0Shl^PrI#T^7mK2@Lv6_G3`61?$F6(csDccDuo=Fw*EFtMAD zacT}j^Q2j`=ggfqYs$2y`Ae2ATRwSeBZG`4bBm@X%f>BC%v&^@x3Ay9sk^adv*x}Q zo{j5uw{LAfbVT>qx|ZFCHf-8|pnb^N}Y#BSY%tEF}Lb(wTHbalRb z+5T0B?V*n5=dWDgou7#h9A)VOj-I9S2={WlX=Bnn*-$JZ$>#lWJM{K_BNYK|CTCEF`_Aar_eemAQi< zX|(~XWL`qUBHKAqqAFj%PLE&LFg03cg6Qo9dv0vzeR|K9duje^ma=VMrY9{o-fLQ{ zpOKz@plNO;b67}$OkS3c?xv^|x$OC?YmU}#l9k<-&A5=QW0lD<{@g!K?;f5$?!I3> zxLMPuz27=p@=|EVxzf~zw9w4yBJ~@WCNOa>YFHkjruFs8p@fYQUnUDzZ{TS;!1Q55 zs921Q)S(9*szOCd_Df@@hIFx9_{`g(^=`|8ZY8VDLEXD@mq^&khRop9@=#m(MESn# z&L@)tv}Q`ND$GfEIyE9~<d-Y;*sh5G10E0CEgM^Gd literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_OFF.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..5b7e4c758bd5acee9357c1baab87a4c0c4f7b44f GIT binary patch literal 919 zcmV;I18Dq5Nk%w1VX6Qg0K^{v=jZ8=kd(N%y{xRU$;r&~^YpQ?w%gm??d|UQ`T4iE zyw%m%!^6j%oT0L^x8dRAudlR^kCKOnikX?6jEs-Jzr%}*j>yQ&m6e&#&(giU!G(o~ z&CSrIrK|t{|NsC0A^8LW0018VEC2ui0IC2U000I5;3tk`X`X1Ru59bRa4gSsZQppV z?|kq7z@TtQEEns;rRFxUd}r$;QBu z+^>?y*uIgVigl%s3JD(X9tp%6?-`Kq0MPL8`R)7i`aEP9fZ*MONd@Audv}1~J`V^6 zbja{7m^*j?DL%9Z0A4_WkOu5y5DDMJij&a)iSj|pR6-Bj-XRERuY*Z?9st~;^)eq=#5NHO|y{;8v`T6*Yp~_AX)5dpVuPlB81IBLfVTX^@Ch zr^bA3t)gYBmaR;9<|57I=%GM|gnl6b7CZMVfwfMnO6$`pA#ge9^6*XglObe(2DUvCJcO+fs%S?7NBS)P( zFd!Dt?M-}EXDerZ+9V|c@34DlW&O4X*{!F`VtA{SV+09Pfz-Y#t#GlL(;Z*e!QIT> zGo?S@8p(bK{2v{F)icGolTbb#K;{AeF$x$2pML-n7l~sF0OweOqFMHygpiaqpD9wk zWRHGfRriil=(UDZL^uUD$x<*~^G*T)Tog-YA+}bVNsj%tonyTf@CsHWnY80~9e6kj za*$LA&jK=TwckTc?gM3VOO+N0P8veOz)SJyLY$NDTzO8GHED(a}Dej0&%qf|=42CTN~>Z`EED(kGY)@tjmxaK;m1QwhcgsQp*E9|hu7E3Iz t5d_h|s>U|!?6c6?DuDz_RBP=Nwb*8>?Y7)@>+QGThAZy4M)j$~<` zXsWJk>%MR-&vb3ycz!i}@BhG{a7Zi~kH}<_V2CXU%BXZotyYrLA+6X`$Galz<85$YLV3QL|c!TGo<* ziro^*j49TbXG2b7-UyUMFCQK=yhPxF_%~=s7)V#%Wq5 z0RDk^@2;|lJV*{IfRMxDi;bWt2#qn?c*qut*ws)U z#|TnjkVF<)q>nB1aex9$HtFP(P(m3%08v(H<&{`wspXbjGRfR50Tdtr17wzI=9y@w zspgt&w&~`ZaK_1|03x~&=9qHkspp=2_Q@xmF^K8spoA7`Xq-AEs_3GOHtOi3kVY!$ Pq?A@_>7|%{5CH%?p}u%; literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..3b1c464400dafdde5153aac50b724f54656043cf GIT binary patch literal 880 zcmZ?wbhEHb>|_vOxXQqA_3G6rQ>I+FaN+FPvtPb^`ThI%vuDqK{P=PI{{4?1KiTO1ckkZ%_3O`^ zIkR!&#zl)3J%0T7^5x5O=g!@|dv`-a!~FU4A3b_>{rdIt^74ldAO8RU|K!P&4AcOM zKUu)W=zvI&pBUKwJ9KAy=t%XSSW|6xas-}>9{f9#pJZXwI1EGCWSme#iRj?S*`p5DIx30=JP4Gc{aXUv>6d(Mo> z^;y&AE?%;9*`z58#gtW=m6e&-Z(>r}q};T1?KTdL_01cV_cU{_U#qcobK8MK8b{VN z?>w+>!`^*u+om&f9As{0T7PKUzH`TRYRsQ1tInsvq|UCP{^`@!&+4rA)s;Vf=KS-P z^%rlFLVtsH^$!kC4vq8jTutgc-!6Us(9$HR&a-9q@&f{g7`dN6ls@pG#lHHJmYdBE z{#Xru#;vJOo~J$9$E^P9t+%JfQpW$a%p58&+9n_1bd<<{rt(F2TEHT~{#!1NpBx&Q z?+Uo2KKRJOwOFMtOT_!p+|Bdi*hQz#`VzCsfkn{5Vq?SoJ)NIM z3c=)iPW8RK(l(oQ;}VNSkLal6yErg*_RkEdOt`NwuZdG&-YcUC32dw?m$How8w2C2 zzux^NF4@W$At5Z#GW~by!du&uXWp?bWjHtWkK2QkwDPoE*4G&m0~$8J+kfrI?P+4E zQOe4aAH0Y;6+2c?`|RtrB|*B1F$GEbXPc0q50b!O+)Ypty^FBChPJ68B-gh;wR zV)#_DIkD41az;}7nI$cYawR3z&a(-06`h*kBKGq{*>s7OPbRrdGh^gXa?yM`B_u5K z>C}j{l~1R|l)Y4)Chx&;ibdQZ;LyyBWhe3O`4RMHn-;6 d%jfeOepN1Kk$fZhVqu5cDvddUEdneI)&MzUm68Ae literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_ON.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_ON.gif new file mode 100644 index 0000000000000000000000000000000000000000..ad55916d60f2ee323295232f3b9982245ca11034 GIT binary patch literal 919 zcmV;I18Dq5Nk%w1VX6Qg0K^{v*VpTah{Rc0h;nkcq@>a7>-Btmz2V{T!^7eA_4atT@p+OT*`E|ns;rRFxUd}r$;QBu z+^>?y*uIgVigl%s3JD(X9tp%6?-`Kq0MPL8`R)7i`aEP9aNym8Nd@AudxwDFJ`V>5 zbja{7m^*j?DL%9Z0A4_WkOu5?5DDMJij&a)iSj|pR6-Bj-W>>NuY*Z?9st~;^)e`pA#ge9^6*XglObe(2DUzv!cO+fs%S?7NBS)P( zI3O0#?M-}EXDerZ+9V|c@34DlW&O4X*{!F`VtA{S;{yp(fz-Y#t#GlL(;Z*e!QIT> zGo?S@8p(bK{2w8J)icGolTbb#K;{AeF$x$2pML-n7l~sF0OweOqFMHygpiaqpD9wk zWRHGfRriil=(UDZL^uUD$x<*~^G*T)Tog-YA+}bVNsj%tonyTf@CsHWnY80~9e6kj za*$LA&jK=TwckTc?gM3VOO+N0P8veuz)SJyLY$NDTzO8GHED(a}Dema4Cqf}bK2CTN~>Z`EED(kGY)@tjmxaK-*1QnbbgsQp*E9|hu7E3Iz t69mD)s>U|!?6c6?8bJg~RBP=Nwb*8>?Y7)@>+QGThAZy4VwNk%w1VX6Qg0J8u9)YR%(S%|N%*P5Elhlj&*a=3hay;W6xq@>YcV4hrD zk&uwbQBiKItJP>|v;Y79A^8LV00000EC2ui0IC2U000F4@X1N5y*TU5yZ>M)j$~<` zXsWJk>%MR-&vb3ycz!i}@BhG{a7Zi~kH}3xM%BXZotyYBo68xBR0C57SU%!A&SVtk+geDLF92gVX(Ln`J!zSe72ucDU3Me0R zO6iiMN|O{a1~ZV8(z1mP8qVsYETo`j%7S4`Nv-7rQ!;T1z|_ka$Zb*C4Fhm>WFUI- zkS??8lI#Plog@grh@e-cS8jhkWtc~n3tISyedEYitkSu0gGu;TRc293%K{(9DCib| zk;Dq0swPevW63y$Wek~=+1#LYq2auk*k~`mo}Ky>Y&5g6qMQU~P70e7D?t>fnhyDT zSpiJ7Wn(@Ktm5j_bRjvcrBebcdRtR>UZ|E{W{xS-J{YiefK=-exKA6jd7jMZkhfpn z-raT9kkA7o2d#W)tpb~aIlwQ?4{GWq5o43Ob#2`QOh%*>7||fq9K#- literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_ON_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_check_voicemail_ON_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..ae53a393d4be0ee1922ea185cd90843830be8ab8 GIT binary patch literal 881 zcmZ?wbhEHb>|_vOxXQrL(Qza)vZJVI$HRvozJC2xQ?vK=>#sX^-noAL^^zqQ+u9Bt zKKw8tVcx7+XKHKrojv<3D5y9rtbX$3le1=>Eid045z!JKKeMQ4=ZY0qLPKklk`^vr ze6h84MNCY8aBx|E{)|K|No4P z%?uO(#h)x--8vu=*ZfR|6@96C6?&;{U%oRO=_&#Ti0&m)L!4bQEhKC*ZQ?Px9w;> zcv$=Bn&w>x*KOFhzwP7!&O=Pitm_YN+kgJ}F75eKm9_Y_S+&@-wLX2?`dN$RzLwg@ z&m4c=vi#zWQpj)6uKvLx%As-oK39_#&#z1016-MfwfMHozJ5T!iIMyHL*WAft@hQQ zwA^fV@W*PfGP0_iIC1{$ky^HpE4Qal3OMzj`4v45B*>9$oR|&{(t3Rat58 z&ZZ@dOl-T(+Uz>8xJ%UCpW&*-wVkvZ93D%q zrztfp-uvU#?yvrzx|lZ@C@FCGo4;||R(Ra#e7wP`nngZ%%k*!%tW6d@DAyK=j?w4Qk) zS!^s=a5Ln_P4n~B95WaWu`ghmG~Gz!?G~nl^#NCetJblk^f@rUTVXmaT0*SoLAxTK z(IUG=p`{_6OeZe$wyQl$Sy$1^_!Fhu#1H literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_OFF.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..3752fb5ec4186f9563a250d45a9fb8e76187c5d2 GIT binary patch literal 541 zcmZ?wbhEHb%w>>cI3mFC@#Du^w{HFT@#FI4%YXj-xpwW^lP6EkpFjWq|NqyoUw{4j z^}&M&@7}$;d-v}1=g-faIRg}DAO$G?WMO1r5Ma;&X#&~F!1`Z7r7tCOUdF0*Ij{E> z=$tRfyrP{#Hr_vwUI8lJNk*U9{O_hs% zPLDEc7n^cpyUGfa*%Mpa`&lCznfs^ zeh$}qflhuV4vrgD0+V-4xZZgG=+n0R6y?+W+)A7bVbxO`dj&2mzhu)*r?o19pn*<6H4i*TVpB1T;)-Yvv zar_F25Y47W+cIXEhN8Ch$*XFgNN8AL8jk;TOz#U%bKjn0f(l5Q!VEw0}F zaamovNZ?=TrB<%2Q^j)_d{VFLEWE~E%Oq;R-6*2Me#2*P@0Rb%5ll;hG&yEmWI5uH zB{(UhMnZ>kW9v=T=7OzZ_xIVDob_>XSi47KfpfQ<@2)K`FRut*9d~xu*4NkloER9a E0ZDk_tpET3 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..1ff376d80923153360849a7c35a2252adb5eb4fb GIT binary patch literal 513 zcmV+c0{;C+Nk%w1VQl~&0J8u9@$vE6+S>T|`0MNI&(F`+*4Fj)_2lH_{QUgj;Nace z-R|!0)6>)E=jY7K%>V!YA^8LV00000EC2ui0Brys000F4@X1N5y*TU5yZ>M)j$~<` zXsWJk>%MR-&vb3yc&_h!@BhG+pwW;38i2>3A;1xv6Jl#P00A71YQs?sIFdIkSb}X` z16C{nu`L<^2n0ZIG)SoOCLl@I8-@!LOGp-C6lD)b4OI_x2ulJ(V}p~64roe5V;5Ig z2W<~tdkzI^aRgYUMP;B445(iZ2Uu8)6Na}A4-2#o2@hMPq_B3gv{eedXvVb}SFm1P zU(X8+Ujvt+To0_$I6ox!O&APSg*RW&Do=v;9?c2C*L;wIg Dj27oH literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_OFF_pl.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_OFF_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..3c42a377208dde6c6b4b0c6f015ebf012adb2c2e GIT binary patch literal 565 zcmZ?wbhEHb%w>>cI3mFC?Af#P=g;52fB(;)Kc7B*dh_PZ&!0apUApw>(W9?lzh1j` z?d8jt@87?_bLY;@n>Wv#IrIPje+E*3;!hSv1_l8J9grrFoeZr16;%3CGUsKiT9@;B zUxCi~lHB_h>)zMA|9@aXfrpM%|A{3{@FZA-2A)(%nK5gSyxZpCa~jT zFZ%?3rQNK2SL?0|9H^bCyjtZf`_yafTW;{5om+ocfR**dBL35lHZfjqzIE^90=d%J zB@4LqBk#Rf6XnJ*rMW_YNyhrh>5H9=v*To2E@VhCFuoFEx^d$%KO@T=mrV+rT=*i7 z2`UTMaX(|YvLQ!_gJFiTM);9Z<`Xk-S!NyyP?*?c_hOT_&&G28Gd&Ul-Lj%SX|psX z5*UJ)PUP}3Y5j2J@w`4u=f53WPxmx3cQl0>nXVLM$ezsLA+oUR_Bzk}S7wX8n!U5! zd{Rj6Z{Pzx8HOr0lV!)vC!{j;OGW4D6r8^{r}3G?4w)CdDGXEOxl+A0B z?$*}U@$vEJ=jY7K%>V!YA^8LV00000EC2ui0B-;b000F4@X1N5y*TU5yZ>M)j^w8_ zO(3Ccz@R~ZGS!=|4K4|@WXHV+Yr?uccnw+wNwcvSFUCoULNF^0ht@&cYG2w!LYtca zyj_PxD=BCftMJ&73v3nZtwHc`JKz<5a9Lg`bYlb$b_0EH6$f-v4_{D14g&xH19TGz z4h9Gf3ptc*51R`PDp{DCoMWj4c@Jl@sHzpWDwbtg4G0Df2x9=Jf4CC@!43p`UTRqc z3kL+8J`M*J&uRjHS;f)Q)j8D)!3dLT4A|YH4#mmd?{U4HZVA-_?cWqo3}=Zb(eOpa z+L1pG{-uG!Cd&agj0n=VCq2Wk)8z5Jp;pFB~1zf zAUP6MO~9G-;f0f1J5S_yS&&3no#j;g$OO9&oJxUk{Fhz&;o06UW8 B$_fAg literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_ON.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_ON.gif new file mode 100644 index 0000000000000000000000000000000000000000..ed8ba2dd6e9d4cceed03fc567c6b3fbbb085561c GIT binary patch literal 793 zcmV+!1LpikNk%w1VQl~&0K^{vva+&SSy|rR-U+KJ@$vEc`ub&MWe{y6A|fK9qN0?P zlloUFB{3p$$!F00QW=3Q;5y)`Vk0Rdl~*h`Nh~jusTfBoL4! zFwe63nk_3LcpqD4d~P}g4gnpD9RUtg5{#0I2o?sDn2ZwwN&*&{7k819695yE7ZC&k zql^-qI}E3!3;>z8xRMo60<#?r8X66ZilCSm7`B)IJP#Kg86F-P9TyJ@i_#t)2htmi z4cZMG+T|J@1`7lbiy9o|8^ep?+6Rmp-iuY)(u)c_4iG?-Mh$@jb{(`Wdgno2HxC0k zkSizcTmS|EJK&?};oG8z(jvCY*C7Hzg&iRO02CN)S_gwC`wev2VSqGy6Eg%0HcSG6 z3X5`TWN5FZw09itku=F~TgsI)3m$AbvLnBw5<_O#O09ze0;lL<!S`I+5a{3Jesfy|s6v$iW>fQALO0!2&}y;u6G!a^?Y>9?oU$ zxS_Mh1c5b@#DrNV(yAUMRYq_@!UM=NB-2za^H<1ssV8cdq+mhVql^X&$k2cuM|+5A z-*vU%hU^VoiQAQAlVR7*I(H5WARs}|$s0W!07)_8Mh?->X^U>ppmUZSGf!tkUfyPk z)U08679O6_X~8^{RDbK)0+o_zM{=bwO{5CQ-@9+^tj literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_ON_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_ON_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..041d398fa52f1f7c533744eab7a60320c32633d3 GIT binary patch literal 871 zcmV-t1DO0rNk%w1VQl~&0J8u97#kQ5Qx9)%ZwiMB*x1-cNJh7}x5&uI`T6FEN+ z0+*MU^78Wj{{8^}0RR90A^8LV00000EC2ui0Brys000F4@X1N5y*TU5yZ>M)j$~<` zXu36Q>#EYb%5w`pETZo`&yua4?nlW95k#EvXe${RjD&Pbg))Y&tTu?SPN6%O4qCkm z$y6yAxovbB-6&yBug|~Mync^P*zsdget&9xc64}pK5iIrf&>Q#29uPOk%(!Tnskwt z2X|?6lAechQr+Lg1`$iK$Y)yLh|)8E^l1PND+6tA(<1@rXv-G;Dj7^&;LR8Nh)8q&o{5Kc?CCegF;%Sw8)aXo~a1(ExIrC{# z#y|lWj!byKTEvZQGOp;fspGhi9q_&ODFFh&2?Rf`Z1ZVX$vAHUohg>=+SjyOYtBg* z=;wVZYU;`A6roza%zQN1akR&4)8rlEGQspuhX@J%)01oUBLpKOeQ2+?MR33#4y zjkyRHNj&oQp;G;chvbV3viMkoG0OK21JKwvPfazAR6v$)Npx417J<1XPf3OKrI}j- zuoGTt0%Xf4S12S$G!2ny=bd=wsVABJ$QY+fRf?0*poA7`=%I-AS=w_nJ~K)_kVY!$ zq?A^QO=$^L;K(4wY~$&tpn|%KE}?2es;TO*)Ql2wNKwkGu*NFuthClzMK0ctg&XSs_7C(H0$gXv(QE>?X+Pid&9NZW~=SC+&&Ni06S$%ui^jz literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_ON_pl.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_ON_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..330346eb5280b2bff3db468efa2c50a74be77bd3 GIT binary patch literal 951 zcmV;o14#TwNk%w1VQl~&0M$4E06+}@e;EM3CO|+yfPjDiU=sk(DF6@yyu7>sFbV*# zBLI&b03Zec?=S$LAOKJhe0+QWa2CJ6zX0DY+uPgw`}@nw%M1(*92^`}R8-~V+5W6Y@eT>V`F1bP*9VTlW=fwudlCzgM+NBth2MTU|?XJoSYOC6r-b~1Ox>2 z_4VK1-;a-v)z#G`BqYzz&!wfMb8~aGwY32MGXMYp|Ns9000000000000000000000 z00000A^8LW001}uEC2ui0Brys000L6K%8($EEvAf1~VH7cT~qA{lznWv$hrl^}Vu3eh4n=H7yyuH4?ms&EL2?EB(3J;aZ zjd>GF;prevs~fy^83vMhbL5`eypbg{mb>Xxj)2Ms6oGCKdph@x}%%bN|`k$8@Ja$oTGt6$s#>*Ni(0a{{^va07V@K*sht)5Zb7 zwl_^u+R;V;t-gtQE*d=YW~!uh#$>m1;#%P2=1p`=Q{T1C#^&AQAh-7>eIhrxU6{~D zKcE%$0!T0rsyVMVj+V9Ix1jBwTRBbqNA@!B&NiH*U1IY%uz*{Y;buSp38)@gbMGt5<;1&^Z2PNbe zd-iPd0TwPu#ULjSFgRKQ3}VPsgG}DT;88ir_aspT1Q3CIoiKP1lAz_3o|coEn|5fhZWvAcUNq*m(n?oQQzvCL(Zw z009IbfI|l)Kq{#aj}kxv95_^vDWsr&KtZMmcp51Vqz*yB2L!y36sDH8nX0L!!WwCt ZXXL8uuDtf@>#x8DE9|hu7TZM-06Vv_neYGr literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_ON_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_live_call_ON_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0601666192c90273ff44138e9417135ef69c137 GIT binary patch literal 2750 zcmV;v3PJTpNk%w1VQl~t0QUd@NJvOxVq!i%J_4))ii(O#TS|t8h7_C>tgNhrgoKZe zk3m5}adB}R92^^x8v(olMMXugudifeWC2A1Awwaao}MvNF;-SqC5t6QL_~UedSGB+ zIyyRnf`S0<00II6OG`_foSX*I28f7=mX?+rM;ry>1;WC@3~~%qR8$cW5tNja(b3TW znE(q53t3rN2`dQ=l?|$@s=&a&1J46&Y-}8)95yyKXlQ6oPEIm*G60AG7L68uetsKp z8wJ1xT3T8Q#tVFWd@Cy}8$BBgwhRr(4Fd220~7;*fPh|JUQ$w0GBPqCARrP}5}BEq z1X%=TW@Z5+0VgLXYHDf)d<7$#BNbT{4uuW}O9vTl87Mg@0yP3HPc0u(A1Ej&=;-L? z=H~G5@Bq62^78V^%F6Na@!8qg<>lq=?d?rXP0r5Fd3kxw&CSWl$)u#Dsi~;}cmZ8q zUChkP?(Xi~+}ympy#D_F)z#GsfeMn6lIQ2=sHmvv>FEI70C;$KqN1Yj@9*T~j7{rmg-xVX4;b8~cbbfcrA?Ck8z%gguo_ot_)`uh5j zk&&gPrL?rP0Cxby#KgL~x^{MUv9YmkZf+lzAJ^B{*4EY?lpV9Pv-S1$rlzL1x3{68 zp?7z8a&mHvjEud#z2M;BprD`vc>>4B#{%C1-QC^%{QT6^)b#Z9xw*O1)6>$@(zdp? zZ*Om0TwJ@myO5BO+0(2#l^+4va0h5!Hu&}VczP<`h z3MgzS1iu6uUmFZi35S1`i+)7=9QKsSpvn5g~^m3t$Tfp$I==KM6buC21usU@a?NDL>m?1-v zjG2oR&4>v^r(;8j88K!Q(=m{lW}|?Onne+%u|*_o?Y6BU9r2v(gsg$jL5bmkK%Ja|BTI+N&Y*somc zl&xB4l^`^NR&`y4Ce18k(VwXxWT3t%DCOg@ZWm9EGmo7VYG%>n$NtCEdw-~*yeOpy*JG6M;vU7q^ z8A2zLCCjv?P-Ze|4B>GzLsM(s#W-RA8-Kc3F;U}6(XvBZmnK@PH6?RpYZatXv63p1 zlxC0{Q57g)KmrDgKtM0Oq@rLi3h1!{2_#&jMixL|IAOQ|hND#o9Yi=M15L$2hYWI!@xDA;2}(uiZr7PF|3@DLN)(H{7(!GToJJo4PX&*6C8^W zF~t>23=TLFU(rAVF+?l^$4yAA@)ytyp@qZ+bW+JA2vm@S95zHuLjz8@EOF5PV1dFv zM{rz1#6+MRaWxlc@CG5g%%Vsvft*3hE)rl6F*5^13_}(XXW;@f5xd|*I{zTjw%TMz z38^nQHvj{_<6fWR_+Fa{-r!GZ`RVF^a~#{=LOyxj@yAHn;@KdiBX zf9wExW5}Qeo%ewXw!jzv_{H`9k-guI;R7J_1Lyvsjzerf0xwv=0sip~5Q?yU?;9Z| zK46Uyt}u5Vq+2lmAi#hMWI`FU7@#d8(18>raDlgLAn!2oI|xdFcVY7b2ATH{Dsqr? zW2oRiau=~3n(zbE^FtiI2M-PaAO{Oz0^}Yb#@v0teJ9l62Ugg_8-h`c76^a>G?54~ zEP@W7xCH@t_74wyAR3L7f&-s7JP5|&fn3<#119Od2}Dn5*~1C|i z2ZGz?Kk^{|xT8fZ9V!UtJo7-#Y5*Yt5wOKD6fuf0v;hGI2ml6-5V0e8;S1r2SU9G@ zgNRWeVm=tc5N2qCZu}z%QwT;drVxaGbOUk+5UCHC<}wlZ;0y8iM=(UXg@|Eb0T~cL zJN|Kin9cMb6kzE|p%Jr)@qnp4)#((b08^Pp>>LCTMJjqg(Gr{3kKZwwhSmPDjabN;BKN3xTpaRs8EAW$QBu= zIK>};+gu^^;71+kK@T*bf#4zox69qccG>WU_OgMzY}mwb8IayTl$Q-X7=bf5(S}l? ziV|c911K^f3QJTV1QlS#BP?NwH#is&rbw_U9zhB?z+n<^fUqe5;ot|GV#9BkgoR1* z2v!^z!K~o0B}g#|KDfBWa6mu=B7gt{$iTuEw!|X<@rXB&!o_@;1dQPz13r-A4Le@& zk1fmx1aLwXb9j;@1fqy(G@}oLs6`owkqKhBq70FUL>b2H212;P70#K%8rCp}GL)H{ z5N;SVnF#^sGN_r&WpD+TyX=ZMM`8|hXoH{wy@qA5;Lyuh#+unIW;et+(1R9q8`j*0 zMmze?lU~E5ZE*%e+~-tOHi#I8fd)e;!w`Z9gQ{1J2D}I&)q4N~81@i`R^MgSwZ01) z!Vv3Ohd~g$FoYp^aqB(wTGqYp!!U#~j6OJ9*1m2vuc1xtXVY5R)28+?(m)1Da3&xC EJH5!D-v9sr literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_active_lines.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_active_lines.gif new file mode 100644 index 0000000000000000000000000000000000000000..9f8eaf67dda1a9f7790905c84baa7002dceedefd GIT binary patch literal 886 zcmV-+1Bv`cNk%w1VT%AB0K^{v?)2)>;>P0b+t1;|(&NcDJTz^0XATby8y*^@vzxNQ zs9_z(X~=qPKlL)dxmuW{{BQuLHqst^7rr7=FR;5{NC%=-Rjod>eZH{j??7I z`TO?(007P4!vFvOA^8LW0018VEC2ui0E++~000I5;3tk`X`X1Ru59bRa4gSsZQppV z?>s$mz@TtQEER?)S$Uj7EjlKd22SU=)|T$E^h)4 zXz-u_SO*0jcxiCZfq}*b&lI@&hvtDRjK>`RXygS^pD%tdt(`OWN}$S>-Vk(fV2atT zL@ZRXG6#$ungqMji1er?UcP-gC8SwkPT7lH+Hfu<1JCf+$<4g^-NO_y{Uow;oTbSL_y*3z$9 z9Zy;;A?w zEkM$go<=Z{IA2EYsYv0Iym-*SHVj~7WHE2-X95OpB&ddCu%rXv8c9;Qq6Z^BHjO)P zTB(bhGt$_VJ3+crU>g{iV8H-x+_hFmN8N+KpM4%!XJBhM7o(lI;Atb80`VE7I_6;L z#sC)ZcnC=KiDK#;q#zb%2^pN~>Z^QYK*FG~)@th;ppMYvt-SUs<_E3zDy*%ticrC@ M$i7;E2q6FfJ5czjNB{r; literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_active_lines_el.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_active_lines_el.gif new file mode 100644 index 0000000000000000000000000000000000000000..1bea40dcd0754c269e0f4ad77f133ce23913d9c8 GIT binary patch literal 984 zcmZ?wbhEHb>|l^%xXJ(m|NsC0{rC6Ze}Dh{{Ua?W_4&s~7jMU)C_hbI^*gVwe)#rw z|HZ8dnbDV@oVxV*L&D)26T=FL3{%#IlW`2wUi~#%AAhqZf};qtB;Nz0b6Sh;F-q=pBRf-K+WEnBy3-?4Mo?mc_=?cXD- zz~rN}=J<(|r^1!onI%K#)-%+w<`uO>REvofgx;KZB~p2TXjEH7=ACw)1-ZGE4XO;y z%AIW-TI{T~g;Bf=d?_al96H)lIfS)Bo+@@7ZWmDYnqzU~z@cu5iIN#fN{f&8FZa<% zJg9iq+9~IU>*2DXJ9Eofy=t;gu2q#YGg-f<=J?ALrvJsEYkE1@8H8Bb-s^463}|(k zJx_h%rzHm#_DmGf_WzW4nPH0UH1*GS919j|D;IUs&ut z-*4}(udi=x&OYz==4A832aa|XN{V|b`-NsnSfBrww0WY;t<(Myp`OQo{+Qb7vPr=& zZJ7n@rB3Okp^H4Fodqo-Sv6CSB}mtMvQ3e5^*weaS0ZAuP;Tc+*01fsxf-D%q6|01 zW~PX1t%wxmmO02|a;b%xOP={x;w{CBug1Pf;Xa3^n=Sw8tfZ`^!XOY3)48}af#K=K z>77v)OAlp*rX+|83akm4Wy8qZakEKj-{I-$yzj0}k-m3l#yL-|6CwPptSeYfDCA60 zh|VbQNl3~J^*N->Dj-tGl#<=C_?o#{)WMsgDP6^^%ynWyDLo=*gcGGWb}U=Y_2-0H zKi5pB&Z9Q0ODd0YItwgdOwrvL);cf2ck2q#-fbm~QSU!ktez06uvLPUVPe2dC6iT+ qewKe{Y?-#nGjd^LA*05G`&+m*1spi8q|FZCkj;3VYa|QI1l9n|>Zh{+ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_active_lines_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_active_lines_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..bdefd01514c2e122ca1b6017d3b8deb994f4fc03 GIT binary patch literal 704 zcmV;x0zdsnNk%w1VT%AB0J8u9GdM9!Q%L;%{L2xt zXVc`$`TO?(00960|IOgSA^8LV00000EC2ui0E++~000F4(8)=wy*TU5yZ>M)j$~<` zXsWI(DKKy>&vb3yc&_jKE{KA{Vn{3+kI1BQ$!t2G&cZJ=cv!F4tai)odcWYXI6M#; z#^|(q%^n*W7uV)KXyME92mOp2Gf`fZ+9&u<23WSV}4|pC`SPBgQTmTJ=j$Hu_ z4Q!N_eSaK*la*Wz0h?X~o~vOB1e&3Ph8u{dqFIWpU6h^#Vwjo_#eI+)lDb^Sw8vJ8 z(8j&I)tsuH)6!U&0kl`p*WA|A52P8U%v!Y%#ID*`@D0Mzp7+J`s$JThu=4k2xx4qN z7NvT|_H`miiy%TQw=m>d#|za!0sv%L#FUYv6<6Q?FnxO9PmwEg2NRC8!chSxVHzK^?_)Sb-&+WinGZm+^pAGDlU~QKH@4W?h@`pRoY&J_h^7C1M2x%`6sWsaLIB zhAJyfef%&SL4x*tUP-HX=}E@)L;}3$_X+|G0)!4#jJ9!2y!He>m>Lc6zAPdyyCqtU z^Dci~_o{s>dhC=62Y$_!*3hWyku`N%Y6ol)0NJo->(v^3s#Djy|~H;xXQpVZAl*=KkuePE0%1Y9Ter4kQv=MwQ>K&t<`NMn!4)Ja#Akd zj{pAsyY}qt!#B4sK05yC`}+%zj{f=k=jr?VAHKdh_wexFe}6AMK5^&O)i=A0B!4<<+IfC-1zx^8V}VM{n=keRb{gkB|3WU;ps!t+|a!Zh89UC#TLFdhq}M ze+CAIvkwjdN%DZ=PZqF79S{lf69e0Shp7b`cYLH)EGasfV>SQ6iW0B2Uec3!3r~ku zMm*S1;iEVE{EIDBXXC1O6k$kL1^kOF8GiHV@E9k^H}z(f9Mxp( znKh&A7E^_B!~5A@$vTk=AJWz^NHFU63K}FkEIjo;S0`iMuBip;Gg#L0DSQ=s5NE!O z?c$V<#S52&imhRqVX@H2@pOJnc!lkPqJx}a+F61TjtmS;Qw@)=VcmZ1^>r4r{IgSB z&&_BEV)PRU*ct4g!^|LbD|9g9-8# zMs8_d{VV)<;dUvlgv_3qFZNCNqkqq&qLz zx$+}hcd7fvQ0{yo*>s+|G?#>fVhVEty_kf*cJO)~PLP<>_U`SCd-ZB(*d9nsZ9Kx1 zn6Tu=nHsru0>awM6%r05$**EOB&PHtBS8sZO!a)JqImX>KsWJu^<+olG43zw6a@~#HIYHs|h9mPD z8wG?y0^V#o6ZRpC?TlM=4x3hu!rQISYZf>$-zdB7$*kF;{cgvTY1!{~zF4-J>)oz5 O+g`uht;xd3U=09Zp}lGV literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_astguiclient.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_astguiclient.gif new file mode 100644 index 0000000000000000000000000000000000000000..3037357602871896af76d7e1ba02b910c0256318 GIT binary patch literal 1092 zcmb7<={p;C0LOnciLl1iIc7#!Bcw^$)>$^=Nj#YnS7dQNLp*fVCnhzG@u(-R63-qp zS0aMAT1vH6M4yeuEmR$2&D`QB5~Pl*3fa2slst2fJY+lr0-g%|Qk$?9nD z^7FpsNy*Bt;&5(yYi)6N@oz;*UhU-Y>YJkz0DxMpe%7<}ul%oB9Yg->vG4fq6M(4+ zT&6qL?3bb1cnRaH%JKRH@`I3v(k9l(b~5+62L^{q^?mdtd^iRJe?HZq=Z&}^)`XNopyzNh*?A0a zr4-0OF-E3QwS!aI?;Uim3oi6}_IJUTq~B4$Xcl&8a>wb`w&P)cByJ-YK4l8C?nQg@ zk0bF+bM_DRa0gS7xS%HwXGT`7Dzn(vk+J1-3Em#<-kQch+TcpCQ5!jFV0i(Xv&5Lo zy=@NpoNhMox-{C<*Rn87h9_tancNJk<65g5m)R&vObF7rgzpDrj_{;Bw@+~ zR%A@0*s+N$h+ZcDZS@ULZt8n8+vMFx?7kJbPh3O##gC ziUHi`02JxaVv=O;Hia7-28yr$mS?1dX`8uC=w^(n74TBQXZQG$D@w& zsK;>R3jSOX%{192%n(6A8(ia&7Gn&po%1K^=)W#Ohbquk=5!*9e-S2*?@h}QFwi@A zI&~wsx->30EIyQmLnU%Sr~%rKA06<)%UoZUbsE$yO3aA~p9l&9H7FW4^X>BIJ{m|X zK*&&Y3ReOlZ3J457Rfz7al2kt%8!&p!_`h*(BNOE$^=Nj#YnS7dQNLp*fVCnhzG@u(-R63-qp zS0aMAT1vH6M4yeuEmR$2&D`QB5~Pl*3fa2slst2fJY+lr0-g%|Qk$?9nD z^7FpsNy*Bt;&5(yYi)6N@oz;*UhU-Y>YJkz0DxMpe%7<}ul%oB9Yg->vG4fq6M(4+ zT&6qL?3bb1cnRaH%JKRH@`I3v(k9l(b~5+62L^{q^?mdtd^iRJe?HZq=Z&}^)`XNopyzNh*?A0a zr4-0OF-E3QwS!aI?;Uim3oi6}_IJUTq~B4$Xcl&8a>wb`w&P)cByJ-YK4l8C?nQg@ zk0bF+bM_DRa0gS7xS%HwXGT`7Dzn(vk+J1-3Em#<-kQch+TcpCQ5!jFV0i(Xv&5Lo zy=@NpoNhMox-{C<*Rn87h9_tancNJk<65g5m)R&vObF7rgzpDrj_{;Bw@+~ zR%A@0*s+N$h+ZcDZS@ULZt8n8+vMFx?7kJbPh3O##gC ziUHi`02JxaVv=O;Hia7-28yr$mS?1dX`8uC=w^(n74TBQXZQG$D@w& zsK;>R3jSOX%{192%n(6A8(ia&7Gn&po%1K^=)W#Ohbquk=5!*9e-S2*?@h}QFwi@A zI&~wsx->30EIyQmLnU%Sr~%rKA06<)%UoZUbsE$yO3aA~p9l&9H7FW4^X>BIJ{m|X zK*&&Y3ReOlZ3J457Rfz7al2kt%8!&p!_`h*(BNOE0PFA|ZLn2-`LgKP{8ZycbRq-mdg92{?o zEsSdh3LPB^25JZova_{mvJhzo9km>}#Aw912gbw-5u?M$!5+^EX$KvuXt1)h)zBSj z4!PWHlP#8N;m5lk4bTp}9SgtF&&SHg$sXSF(%!UFfHDq=K>v(Q*GU=rJc zo4E2NV&Mv02cZZ$G@#b*U7Du%_yPMTRE;b*SG!SdQ!k(gnjXR-RZ0yk8(9b-9;lk8 zoQiW=ZNVFrFyFQgzNYqLs|@S6r}U0;oyGC%HN)#P3T*SU0fe-08m4$ya`4|Y&y)d^ zr+1iwwQEsA!zR&yfe5o=dP6g8ZHIthQ@S}=Fk!9;*xIl{5dgy)*=#ba5so$%gwCVy z5hHy}LCby!_fCs_xDD-G>$K%s$OZ!?6a>yzUn3lI)~lP5FEDMoV@i{dC8F*?ci2mk zdksIJo_ozsn6^OhKr9xyK|l%vu+dKcVh%9ZA24=(gFq}lZ6%&xXrQJ5WUURB%rif! zvLHIxm}LtG+#wL68w2p>+ZsWoVG}6rc!kDKPGz-HV0?Lmp$9fO)nRagc`)B$F+wB@ zC?=Z6k51#Q;oS-0d6H2A?eK#UP=)z;V@5;%c1=%x*{0fkC*=oZE~+qaWtLF#1Yc6G zrL_`dZ5(Jqf^86#%X93w15X-TS}108S!onYK=lywVUZr-Qk|c&Ja-+N9_*Nljcv48 z!UP4pq1^)9X++RCWqxU>RjYYvW~0ccx#oDIa(5|kenx<28wE^ILX~ic5(-_VWFqVy zsqFfOo+I#C?6c7J;i(9qMr-XIwQ}@20n$400`Tp)-2yNI1>~k1Ed?Kh002A3 CNw=W@ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_conferences_el.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_conferences_el.gif new file mode 100644 index 0000000000000000000000000000000000000000..91282b42f0a2c1c3e9ac3c46ad19e875232ab130 GIT binary patch literal 861 zcmZ?wbhEHb>|l^%xXJ(m|NsC0_xHDgtmNNc-wIR062rWHe|quf>sv=lLjgV>Lv7X1 z*LE)Iul{^}*W(jw53QcEX>P~o>$|_)-1p_y{x7!=etUHG`{VQ9pIrR$?8=Yl*M7db z{ppx%L z|Nr+7=mxM`NG242vM@3*=rZVlbb|ck!1n(@LxG2mRR4)3MJIEt<_9QuA6gN${>GZJ z({HQxKiDwiP*B>D2%!aqvW!lO2RZ~98F)$@mi%JixfYri##)~fCQ!!^R+PZW8QGJ^ znh`7MDm!K7tl4wsCdqopORK9bUABD1%2lh^tX;Q$!^U;$((*nW^LFmqy_>^bL3K_C zcVu5!sbFD!wGx8>Pi;jLPkmW=V?Iyb`JVV=5k36OT#CC@6`aKOyngd`wpifDPoKYh z{pPIw?$_^~+P<29n7EcqapLUeocStZa$F4 z<()9?^^z&I2g{rkT^gDjJA~7V6dufbe0+kk^-qTdo1UJYVVr&M%+Afv&o6Lp-u87# z)1%AG+BO#(c9lBt`WEb*xAy#W$CfR{>$6v~EO>W+H<||`6>6x3a{$jIgP7`VjlMF~; zbl-Yb;!>}8lV<2-Dfy>CP2MgE7doX)BMlk+Llqte`W4(|KVjlxs8AImT6kvTO{?N~E~o6S|`z)5EAfL7Ls3#L;pcUb*ZIbqP(^I5c2aovrM?(Q=eCn)Zg zF=$~BN?AHd)Z*C@2WLT(%~Kega!QZ7{ows{EJ%5W;H2Q-Y1=3037Lo;U_Eg3UQzhv)BE%4{{8#(*}nDN#M)j$~<` zXsWI(Nic9M&vb3yc&_jKPKX47VL>b!kI1BQ$!t2G(56A~3oRbltai)odcWYXcuXEI zM1!(=&2GEPgOK1&uiNiiL8yT5`~P4CAZdVwhJJA#b8QC)ca4XUTzVdSYX}XQ4G44r znF*3xnSg>Fgle9enVfA3pRA!+qkxGUi)F5x4+;shYzGaXv09LTlpB_1p2EAq3RnsN z2mr*63e(V-2?x*72#(O)(%sVFyW9`sTHfZxy9m?I(9#IxhTsxrayUz4CTpty8c-us3&X84AHDQSfM6w-fEP0< z04Q)-OOX#hfwD;u;j4`=gQapbYvs*@o&p@uR^}LnWGEY$Bj#*ZFGsx`UiB$VCfA(I zyaEH2@L55!!LYO>+5n5RifOZ&wI>GO1$|McW`UT+6Q`{YwvOcr4^vydgyD@E{1sC_ zS#9UV1Z6nbNH`fz?$g!Rk>kC(01Hm*QBzJ==fR zWVpixkn0GkhJO4FqvVobIHe(zP)6B>jW|kaUQzhv)BE%4{{8#(*}nDN#M)j$~<` zXsWI(Nic9M&vb3yc&_jKPKX47VL>b!kI1BQ$!t2G(56A~3oRbltai)odcWYXcuXEI zM1!(=&2GEPgOK1&uiNiiL8yT5`~P4CAZdVwhJJA#b8QC)ca4XUTzVdSYX}XQ4G44r znF*3xnSg>Fgle9enVfA3pRA!+qkxGUi)F5x4+;shYzGaXv09LTlpB_1p2EAq3RnsN z2mr*63e(V-2?x*72#(O)(%sVFyW9`sTHfZxy9m?I(9#IxhTsxrayUz4CTpty8c-us3&X84AHDQSfM6w-fEP0< z04Q)-OOX#hfwD;u;j4`=gQapbYvs*@o&p@uR^}LnWGEY$Bj#*ZFGsx`UiB$VCfA(I zyaEH2@L55!!LYO>+5n5RifOZ&wI>GO1$|McW`UT+6Q`{YwvOcr4^vydgyD@E{1sC_ zS#9UV1Z6nbNH`fz?$g!Rk>kC(01Hm*QBzJ==fR zWVpixkn0GkhJO4FqvVobIHe(zP)6B>jW|kah0?E(a7U%XLpv4q&74>8yX&ZbcPNM z5B~oCqnoo*PFlXT(TIVSL_tfjsKQ@cY1Pf<{QUjk+U)%M{m{qaDJL!E-|ykv?b6ER z`1kt&007Lw;Q#;sA^8LW0018VEC2ui08;=S000I5;3tk`X`X1Ru59bRa4gSsZIc$K z?|kq7z@QLliCHp}jdICsI-k&})H%r%VH=Nj%k6r<;IJ6Hi3P^!w0a$YY1Z&~T=QBG zr~n~$B4l3b%-gDQoMuMb-duU@W|30}LNnYy-Mi7Ja;st1n^Te8;AT-(gF zqTI}o3|qTir7EbYj|UJP3R(=0xXvK`6JupZ2m_gJ0t((A-8dj~Le5GLVKgn`?V zDFkOu9KCJWJPhm-?Zg5AU#dOqfK3*ybMxTQWqY(w%QAWn04CeW1%N3N1He@CfB{}g z2^zV1AQs7h(RcUw-Rhu8m4cN0zzjekKxaFD?H(Bj+Hd5mO2S-PWU8fMhn_;e2=E9p zOjSQ%rt31OS9(95jm}Pu#y%#dv*5k!!w5-?Av;A@$Ai2C2c`|QJU(y7f(FCaQxBLv(Ii{d3opR ztNS&PnW|YrGy)W#JG|H8Z&}k2uLjSN%rf~OL~IO zDSiwPekR9YzgXqO)*voDZUgpncdm1%irBW6P5WSZ^su1VhHITGXBKYIYcE=|hf%=e zRFd74#TtjD6Ax`nW9zi=;5d-4n3kI3W*OMQqZljNc$ewnh7WdCyOvsL7&$$8rpZ|O z)-h4~s6qVxPZw)+((cJ$TDabRiBZxCF1B-`Q5K(T<))gdf6&~c`Df>phBAh0%z_nM f%}W?_0M)j$~<4 z!lJHh>%MR-!$K$wO0MsG@BhHyZ%_j%9>}C}$!t2GP^Thfh+41MtN}F0dcWTRC;%>- zoq`2uJ3DAAq?tF)?(Id2v z(1UVFSY0@<5I#7NjETc}(typwh$K@=B^)Uo zjF{`0L6Hy6Q6OLv(Jf!|B&u^6G)YWss@N6aHxtzZ0v7}@Y&eR^%akmezU+0hqEA4H zLPkt-pa=zJ%&JNXidC&KiyPm??c+|CTyE=bjx}e2XU`^ASGrX-2wt9k2LB;|cI}V7 z!%dk$MKP5sV77vhYGP+_u0(b+zYPk6bEH`ZXy-inX;m9*U{0Z&^Q-#IOE!}oNUhE0 f_L;I0QuFqbYuA}Kw1+GIGWp2z=UJvWhyVaP^xXZL literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_main_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/agc_tab_main_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..b5fc2a5e5136d1fc47a06c48a30a4dbd3920ce58 GIT binary patch literal 541 zcmV+&0^M)j$~<4 z!lJHh>%MR-!$K$wO0MsG@BhHyZ%_j%9>}C}$!t2GP^Thfh+41MtN}F0dcWTRC;%>- zoq`2uJ3DAAq?tF)?(Id2v z(1UVFSY0@<5I#7NjETc}(typwh$K@=B^)Uo zjF{`0L6Hy6Q6OLv(Jf!|B&u^6G)YWss@N6aHxtzZ0v7}@Y&eR^%akmezU+0hqEA4H zLPkt-pa=zJ%&JNXidC&KiyPm??c+|CTyE=bjx}e2XU`^ASGrX-2wt9k2LB;|cI}V7 z!%dk$MKP5sV77vhYGP+_u0(b+zYPk6bEH`ZXy-inX;m9*U{0Z&^Q-#IOE!}oNUhE0 f_L;I0QuFqbYuA}Kw1+GIGWp2z=UJvWhyVaP^xXZL literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/blank.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..3a46969559121702f82e857181bf431069555d91 GIT binary patch literal 43 scmZ?wbhEHbWMp7uXkcJCaNs~11B2pE7Dfgj&;b!383raM7e)qa0KNkTq5uE@ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/br.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/br.gif new file mode 100644 index 0000000000000000000000000000000000000000..423b8a0cc6e0f1370e9f9a9a7249323954c30a27 GIT binary patch literal 397 zcmV;80doFFNk%w1VIBY!0K@08l zZ05uTk+2&7$^o^BC3C4F?zsj4k3(NXQ(0w^7M3~yi96T46Z^#gAPsQ#!vO%0LI9CK z0F6BWjy(XAKLCKEys2>)Ndy`Wi9#W9Gy+g*j%vjL zAB)QX!|x9o3lAR}I&?^70R{~g6B7jr1buE70SQq!h8hPC8BG@mjR*jskrEjf1{n_r zgmfDM7EPxR3Vj3x2nYoP5ErKg7GSQhvKO=j$dMSh2))0-8=0G(z7ojw9_XVR=`^Tv`KO#R~Z(847j7(zn~ r9pQ0+0jekNA|@Qd!$*uG{5sH>5o6?w4k9`Vs9edirAwC;LI40es)CL7 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/de.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/de.gif new file mode 100644 index 0000000000000000000000000000000000000000..4dd34f6a6bbfdbdbfdfb23f49aad444b14ca1981 GIT binary patch literal 162 zcmZ?wbhEHblw%NK*v!E2jDg|*d4^{@7@oy2{J+ca>d996FAK}<=@NL!p2OG?M^s0|PGm%)EXME#b2@8WY E04O>?s{jB1 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/down.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/down.gif new file mode 100644 index 0000000000000000000000000000000000000000..32d0a007e39335e82e173fc5d1045ef81eb224d1 GIT binary patch literal 169 zcmZ?wbhEHb2HoM{iq4)$AGUsXRvwvJPL$185tD~8M&*HX)Vh&S;OpkRMD6}##SOWmv2robY literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/el.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/el.gif new file mode 100644 index 0000000000000000000000000000000000000000..9e79d8bfee73ff55997a1643470b07bf73d5c23c GIT binary patch literal 245 zcmVs;j1#u1!_3va__Z0Askhy1Tp#9Sgw0!o$SH3K0N1P<3y8 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/en.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/en.gif new file mode 100644 index 0000000000000000000000000000000000000000..cb45f5f4e26b8b9f4bb93784217f944c8bb92198 GIT binary patch literal 322 zcmV-I0lof5Nk%w1VIBY!0J8u9Ra%|T4-e#-oCE}9-&a-Y)Y;CulsiDHs6cf)3 z3;pr&|K{V%007JY0RR90A^8LV00000EC2ui03HAo000EfF4pFeUM1`-7j0Pkn6e`vWm23rLv)bU6+f_1DUj;S<8Idce%XnH9 z3{YC3X9d0haQK>#Jfs-{`f3~3EdC1y3kM4fe+&Ub1%D5O27-Va36qqSCLJ9CmYWIBhGT_NHR-64$boy3Ny;>2Ya##uJ6{KZqyPW_ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/es.gif new file mode 100644 index 0000000000000000000000000000000000000000..308ea3cb1fed4dc419f0fbb49c051ded44e42fef GIT binary patch literal 222 zcmZ?wbhEHblw%NK*v!E2I8o}wRL)Ot_+HOVzI%`H%i+LBC9|KO5#6#|=fnlY|8)$v z85r&}F#Jzr_zxuiGbsLKVE_Rg5CJlSfu*}(qwDIuKh8bf^*=$wFDbL`$;vjK3wsK5 z&YL*cRIGbn<9}y2ixT4-N%{SE84s{<^c`E`C&0kMcOm1WV=e;^^Fia)lZ)7|H8RF1 zOz&=LTx7W7`d!Q7KMNAfxN<8zqB&~nI60e|tvJj%*_k@JSQxmbO`kDy)@%kD?fJ5r W3$zz4Ru|@3xoY*Awd=SA8LR5;2;kGE}IHDpba>c-5LnxOg`M> z^8Whz05F{ZF`V8Z5dZ)GA^8LV00000EC2ui03HAo000Dr@UTW}G3x29S3*uGhEio= z9Or?fSenh1rQO%M6D-p;d%va~Z*?Q(f~cXb2t3VbMCQ@SdqjUziV(WQ!eU9TuhrCs zQ&(~p{6u%v->rK*DzmHU`dY4f>*HsAbU1)*f<+E?d>eT#0t}Fm0)dPl1echX00Eqx ToB#?7qNAb;2?MC9sSyA>Do$Bc literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/it.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/it.gif new file mode 100644 index 0000000000000000000000000000000000000000..6c7b17921936a8feb27e9a0cf2c668f07732c6a1 GIT binary patch literal 198 zcmZ?wbhEHblw%NK*v!Ci_1*R3Dn?h{0!hO&eDYV{UHkF=?J*UjBX;mDRX;}1?48FH%GSCwrkils5-`0E4O*Y=?XGf0{}SvQi1>g literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/pl.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..cde0790592ab20556bb06754b81dd7cf5b9e46b3 GIT binary patch literal 276 zcmV+v0qg!pNk%w1VIBY!0K@;sK9K^(ZFa-rn{S4deFq z|M2kt4-fzU|Nj60A^8LV00000EC2ui03HAo000G%peK%`cL4y$p;zg?WRWC>F*9&p z4w%qDg2+Kf^e`$5h-5(+7IO^3B!iep2G86;u*qbS&a7)-5lAErOIS=|I2sj#K(l6x zD40kihzSr?fPpFi4-^Fj6b~taf(adukdYk<3Nw_Fn2sNtoSmMZppT%Vq@ALrsGp~) atRJhbsIRc3va_KMwx|w{n7zK4Apkoeh=KM1 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/pt.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/pt.gif new file mode 100644 index 0000000000000000000000000000000000000000..646b76ac68792d5bb88a7ac96f94cbaccc4da1a3 GIT binary patch literal 208 zcmZ?wbhEHblw%NK*v!CiOF>4aRsMFU-pwiV{TCZ-UE*+NiA&EO$14XfoUb=8uho2) zkZ}04|K`*08K%jMdj3txF;<0617+v zZcjQ=DAB1h($ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/remove.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/remove.gif new file mode 100644 index 0000000000000000000000000000000000000000..89b0521ce1d802a03fc69a7a788f8b57b3d2475e GIT binary patch literal 176 zcmZ?wbhEHbIu<3BU=e;b?syLbQB z*Z)6%{(nZs|1~xLCr%>!PzOYU>||ioT_D)=B!k0Y)v~57>lzR6 ml&qEE3wiUWNQJ+t;D&{aQqvM4!>W}@e$!UC7_~4kSOWmeJT*-K literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/up.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/up.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d55544fb366ab4c9e91ee6b3b697504a7744326 GIT binary patch literal 169 zcmZ?wbhEHb2HoM{iq4&&E7|i2jFi5{Dk=4*6vSihv5Z6<+@~y4TLK{nLt0=4^9fum%9x{xDtu literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_dialnextnumber.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_dialnextnumber.gif new file mode 100644 index 0000000000000000000000000000000000000000..a5a080d6787aa49e59d18da261d38a105816b240 GIT binary patch literal 831 zcmV-F1Hk-8Nk%w1VUYk50K@rJbV{vSuh^`1%k6rj0s`YP5PZ()w0g~MyWjA*d`_>U z1CR*WZ14O3fPsK`dS!787l{`Z3Lgy@3}_Y?5@{C+ZHOIbj}0FQiir#p7Y1h?i;tm@ zmZoP3n24SqvY(V^3Zk}(60@rpo~sFsZG?Mq79I;13(5)=9u{Z_2p+Q^9v5xN4vo+i z9~aq*kqOZX)Dx=Jx@aEJXNe!l;PW2f;vS71@6zIm9uPDN7|IhtX4%{rGX#g;nPd#0 zN&CPr8KyG{*(8JaEu4on=nxoyhejNmcLKxzX>(`~pSVq+;F)}N51TeM89y{rnCDo- znjaK+Fd*@a1bqt}xVyO~nFN6y#Z{PEffzq!YG&d*>Te}bhl(&QNapX})CDP(QLU%8 zLI(s&i}hsqhNaD-9}q0~WDO%zHOVF*kP!8q;d*&Vmi)LTnmJNl>w#UgKxol?h9?>} zjB&GrYikzrsSETjJbsIgUd##jBiWi#sS?}R%@Sjrj6}*~Ihh{=eKO5fkcw@=T8zd= zM&em$v>TQciyrmtciTq=4yxh1jYcp6a~I=rcPA|w0`m}aW!rkp}* JfB_)@06V80bb9~* literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_dialnextnumber_OFF.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_dialnextnumber_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..75bc0e8fed5acb00b66cc6e2319f3c2d499fafd9 GIT binary patch literal 827 zcmV-B1H}ACNk%w1VUYk50K@iHV7~x3}iz z=IiV0A0Hpv+uO3TvgqjOe}8{mTwKS;$L{X#VPRpYsHl2+dObZoR8&;e)z$Iw@$BsE z=jZ2{nVA3p0OjT7A^8LV00000EC2ui0FeL^000I5peBxFX`X1Ru59bR@VP0|wB2~F z?|kq7z@TtQEanyp$6~>0I-k&}bV{vSuh^`1`}_b9i-+PvE}PHjw0g~MyWjA*yxed= z!sEGq&+q&Db$4QJ2p5JI76l&(7YJn*7ZGL`25N;JWQ++P28V_S5*Gqw9f*vcjgzBf z29<@IAFrH|WCfqIhY_%-7n`UCifVy)ZWbN~7YD}$6&@C41Oy(iA08KK#te$h6(1MY zhmHo$1alXxOww{rW^qQ?aF*h!|tEAYYXT9)%%92Q@fF@=vBLR#^MKM2kj73DDy)B z4+0*NiE!@#gLO2~7>n>vD+J4T>1IG5zgL=T^v8eLSR_H+B zs4$%g*`%B)^aFtdoTgPwdd8Rp0uh|D8!XRmNRb@TI2#vgtGup=4*V2qZ!pBcgDYZY zKn)GTJaT)|ZI=%bQHnPEattf;Y1CjCwM|M~GttL)DIw=WaPQ^V3QwyYKwEJ*NJlvZ zfnJkRqEMon_hRE%fPu7nw9EV@Fpi?T?CYKxBd`^d%9B42;PqWbXlm&0+o_zM{=bwNED(Iku=4k;1b4Gx{qKr1`=%bKED(R$@R%+>`m}c6j00M*n F06Sl0hfDwf literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_dialnextnumber_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_dialnextnumber_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..405ff336c759af317ff601d5142701ad7b3145a4 GIT binary patch literal 914 zcmV;D18w|ANk%w1VUYk50K@#>QM+TrMsy>+9?0=H_c_YqGMke}8|uxw(3JdObZo)z#HhR8;Zt@$BsE z=jZ2{nVA3p0OjT7A^8LV00000EC2ui0FeL^000I5peBxFX`X1Ru59bR@VP}>ZQppV z?|kq7z@TuLgG43}2xrM`I-k&}bV{vSuh?w!BTzs9k&k#xE}PHjw0g~MyWj9}U_$wZ zB^Sb{ak(hsfD#g99S9x>3m*#?iEIiNZU>ELj|XCYV+4PIX>)a89~T}T9|xlroN#?( z3<(LM2#Sntk8KMcmS`3pkRKkX9~}=2sc4>dp`r^GqNoc57ad|29RwW=4$)#Ad5H%W z3VLJAz^h`W(h9f@77f7{-w~qxXlOKW2@{ ziK!<66|;h3j)Cffpo0W}s1l6w;LgLVMI#&k+!_^Y*MmXRMxru@?@+sQ>qd!0rEt}* zP$LtH4Cw3B$X+pD`QkYflF3mISniV^*FT&9>No0`@F0|X9yT{sMBmxT-n80>Nvb5~ixt9a2( zfQ?k$4|l7IL9iIEJFdwr5J(VMuLDB~QTb)1TIAF+BS#G;!=Rc61%7`n9qtoXZl_I4 z;Sv?}U@JqIkq`cvo0K_)vr+dE=7GU4bryETR`k0;0tK%v0K82mLE;Y5Xzr!_D>%u* zz6Oz=daGfgo{;zz+5!p~bX!(D=_g(PaUZxBOnkjKs7@lBY+fLQ=^KF#zH-;{tGv00Dd|`AHbX6naJj2T(S~0Vz6W=%bJdicF-Gnqi1ZidL$r8=e5b zK>!$pD(a}DmTKy$sHRG41qK*UfvT{^D(kGNHc$X60u%t>uDtf@>#x8DE9|hu7HjOW o$o6W%00kJ}KnBo8EA6z@R%`7Kwb*8>?Y7)@>#ei|5D)?YJGt|cMF0Q* literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_dialnextnumber_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_dialnextnumber_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d297820b18336af1e10a01b08f968ba32f21cca GIT binary patch literal 961 zcmZ?wbhEHboX8-=aFv09pP#?8v-8-oW7n=-+rE9fyu7@RkB^?7UQA3(c6Ro&XU|^0 zetrA)?fUxq7cX9H+O+A@r%&(Rz4P|=E-o&9`0(L}4<8mTT)1@U(%|6W{rmSPCMHHi zMC{qK=jF?nTefVeuCA`As5pK4^s85|mMvR$=gytUlPBBS+E!Intyr-lBqZeO)vF&r zeth%h&GYBaXU?3-z`*eI=~Ey{JW%|}0#>X8B0+v)VEgaDk>aW&)qi41(a9XE`4?7P ziAdB`5}a0c`fb(z2OBDU^k$#Wc<1ymvLouljvBx9x8MKRQ+NLT@23WmjNE)&2JIc4 zUEMvsef<+APMSPrY6lNLZ%bQ0r`mk=c1E>ny)5(9*jRd))K+&dUq6kLt(}vzW9_D; zQ)kR-ouH42d^ci|MIhL*4bBNJke#iL}OZUw_xP)2ltj0nXHZ@M>c6GId z22a)W44BmQ)R@{&X&9*MYdmJ$8X#e?AYZPLQ9a;{uzn{A@UCq`ogW-QFtH;CF+w-4w zGjmQ6j28XE(lGz;AzteT#SZ5a-|}%*8+M8KN*w+1l_ely`PD=QHU`r|G3_PO=Exj8 zTw1L;L?+5B?I+w4RW4HGGD_%4M_P zeBG8?x?O*h^tC?%nG!z_%)8KO`uqC&jrB)!SuPtLy3NF4q5736s*z>F_V1_l=4dQh z&&I`bL;8a5=S4Rpw{|g}^)P2Bb>&q!P-Po*FW@K)6;*jcHym!#um+$t*`yjVQJP3z^7DPdVJ zm(ECA^>W!9JE=pg3IPWiS@ou5y;`|q*{WBo)@*zAYW0R=TCdkEoA#lRP1$FIBiEj9 fuU@Y|z^46X!x6FUHycl=t?X zC>8Q&a!Gt57Z(n7gcB2J9Sj}}4<8Q~jc^VZato1blM7~oX9i8{+x9;7k zldK%R`UMhY!;=MttwI^h<}6`BaZ*}&N-~LK{qTyf(IRV3G)+S z*nerE>1cQ2kYh+z0U$Ltiivy3Jb&6xQ(KVi5z(_#k1ByU)93_l3@Bm%v zp;6qK?p&beo4R?q2$;b@kiefzj#5T4h^`UA0{5M<0E@p6ljx+Bu14vlY$&o)qnLI| z$1)rgfWfGwmTKy$sHUpws-`|5fB+A$D(kGY*1GDVtRS$!e7yGR>#x8DE9|hu7HjOW o$R_J+dkYAlKnBo8EA6z@R%`7Kwb*8>?Y7)@>#ej2BoG1sJMyubQ~&?~ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_dialnextnumber_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_dialnextnumber_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..8625b1c99bc27790c1337f10357142f177c95348 GIT binary patch literal 965 zcmV;$13LUiNk%w1VUYk50M!5h4iOG|nR>C^v7^kRzV5yoA{#_iL@6^VQf5+LcVEu` z&e#9fp2nWT^uyBs(s7M(<^Sc{|Jv36)yezGR%}*7R6}lwZsh;ulem*+fM(JE(Zuz{ zkF$?XVospQplgO}wc@o(TuPL=l;Z#5-T&Rq|IMe-r-P(}s@1CB|KB!5Hf@M)mb;cp zT}r;~zT^Mn+5g$k|Idi3hyVZp%>T>)00000000000000000000000000000000000 z00000A^8LV00000EC2ui0FeL^000L6KnUdWDjJW-q;kn@I-k&}bZQ($6e&^!#_f8) z;IMd1E}PHjw7R=ccwiDuY)-G+@A$la&+q&HfPr)+C;+n;6EA#4*Z+;&looU0LKJ0D{yKbKz}x897xdYm@A?y00;$0&e(yV1b`ZY zr>NKrQ>SjyK=uzPfC4_V8UsLJs0y`PC&By_X(qp$N@d6@V1Ph@6#@(hs2LC$qo&3< z{&R%@z<>b&rUiILiXS-w2>?!JF*yK%0~|FTIIB%8S%5VGBb)sAYqMluKZkzF37pKL zcV{4d*3a;w00__)?zgDf0amWW&YXFbo#n8)bGOs2@trZ~icZtuH+DtOt=z?mr7esu zq?wr)>J~5{>Zuvi3M8299U%AOM;D1TP=J76f^j{E)OJa^VgNMN5pW$+1PGuVcc%%k z&{X{_M#F(})fQ7-0H|={6;CrbhyV)(Ok;pjr;TP`ent^DT`4mZfEGO-Hr5tZ*zw~a z09TdN)hP(f09^q<)kk1&s>!$_LeKP=VR^(H)7O9j0F@67;|Pi6RV(OpUyF>47Zm`o zv5?h>I1b323}_+1PIdKY`PmGa83|!BK<#oLoAA9!o^9O(D(Iku20B-vh$gD2qQOWI z!v-!yD(R$@R%+>`m}aW!rkr-_>8Fx{fWZe7n81MysHUpws;su^>Z`EED(kGY)@p02 nCs;s%2pM$H!mq#vE9|hu7HjOW$R?}ovdlIMYzP$?5Ci}_R${Kb literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_grabparkedcall.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_grabparkedcall.gif new file mode 100644 index 0000000000000000000000000000000000000000..a6779255a93d90921769e3400414eb3e2211c1e9 GIT binary patch literal 804 zcmV+<1Ka#ZNk%w1VUYk30K@T z|Ih!bh^hbp0RPPYA^8LV00000EC2ui0FeL?000I5pde;sX`X1Ru59bRa4ehDU>MY< z?|kq7z@TtQEEU z0~1L(4oO@t2@q!ve}4rXX$=<^X@!3Y3~GLbjAx3KXO4i84;Kz+ehD9hj-s7~4G(M% z1s4q!X%?<&erklOYq-AOd`b(7Ry;cry$Y?hG|6qo^e(nmO}^#T8@I)0L?#_0@D!W^`@LC zauq5VL#B-12L=c(AeA|BfdvZ*Jp8n|O_qlSNR`F}msDKKa=?t9Sy$+j%1juknzV+1 z!G&-B(xO4RW@oQ9XXTAsr)`0tnF%Uf`>R(T0!(Q2Vs#)@um{3Pd4m2JLo(oopTcv zwtz(MfdZn5h~T!(Spza~Oko&NCXZ8VK+pg%G%7Tej&T)M!Hd4>q#93l6lvsA+slxgOfXr`&=nryb|=9_TFDd(JL ijud7C804wvo_zM{=bwNED(Iku7Ha6BdlpbY2mm`eFn6Z_ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_grabparkedcall_OFF.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_grabparkedcall_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..74b1f5a1369d2b352e85a76987e28dfbc797e2ca GIT binary patch literal 802 zcmV+-1Ks>bNk%w1VUYk30K@+9y`=IH3?+uPf+va)}Ff9~$?b8~a3sHl2+dObZoR8&;e)z$Iw@$BsE z=jZ2{nVA3p0OjT7A^8LV00000EC2ui0FeL?000I5peBxFX`X1Ru59bR@VPnDwB2~F z?|kq7z@TtQEan=HNTb1NI-k&}bV{vSuh^`1`}_bDjfdkyE}PHjw0g~MyWjA*ybOs* z!sGU$aJdu~WD0$K0v%=v7ZzrNeFX?-e1nQ)h?8WDevb?n3S@i*AA*dan}Z1qX$k@t z2^D4*tY&;?f~aYAcVcZF1RfU#9t5Zs9tM5At{)7+1ZKf~z!zs1z841`ipvDeWzWC9 z9~Iai3B`}Z#*N_~2YntM$z{Op@111Z9=0FUXTVWKz-s zVa1N+`+$JJg`zJZ9Lp9f50#9(d#vFFb~mfC-+&QNY)-XJp@{Eseo8)*e(kC7&QfSBkU%dm9t4$*ZV6Vwio4x(T26BWDddnu7C9s?4{!iM z223{T0+o_zM{=bwNED(Iku7MiC30)zknJ85fv2LJ#7 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_grabparkedcall_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_grabparkedcall_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..21991dd5746c7752dcf53417fbf89ab68d4fc87b GIT binary patch literal 827 zcmV-B1H}ACNk%w1VUYk30K@=H}+>>+64if3mW&=;-J@Jw2$XsCs&O)z#HhR8;Zt@$BsE z=jZ2{nVA3p0OjT7A^8LV00000EC2ui0FeL?000I5peBxFX`X1Ru59bR@VP--ZQppV z?|kq7z@TuLi$Erk2xrM`I-k&}bV{vSuh?w!BVa@*kdJswE}PHjw0g~MyWj9}U?Ta3 zKMsQDaB*7}ab_1D9~BjWf`o`134D4CYzvf&mV}0+rKn4zp~Tb{`$19}S?51Ro3)gB1@69tjH-fCva52n`7h76-`=%LpD0tEPv* z!WG)SuMZ!3e8R7Kc*qJJWDE!C&U(SAAD7kF*&Ym(9gGbtbOBi(c?vEZ`haWGB{B{? z5YS_xn6`q+230y$!2<#d3KCqLl%P+yLKPzaPNXzwrAQAK{vkm2;6O=hz4#nh_(2qb z1|F7qkQTI5t5+XFj?6fz!+~Ff_8^$|!RAy&4Z}RdBWA$@Z52J3OHe_UER=;3&|2{C zLQ_WGdVXao_AShw7COGw_Tj;T4hnb{>!?ue*=~*?;b9B&?IfEgJ?5k20Ulq5baL&g zRI|Z?z(B)}ElcSvS+ox-ymZU!q@m9hLhBm^lYs&PdMiUCgg`-qz@<7^u;Ad-;mKrD zuRc3T!8YV~HR`^cRg3~Y$igDfYq9ZAQPVseGA{pNG93F z0UvcTBpnoR5C8^LR%xY`0C;famRxq}<(FWFDdw1DZdrgM9soe40|pGhg#jJJDd(JX zG5`Rbc;>0+o_zM{=bwNEnx~x%%y~fp1_01N28=f9=%bKED(R$@R%+>`m}aV}qZ5Sy F06SRAboKxM literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_grabparkedcall_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_grabparkedcall_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..19932ad2e14d91f75d5c1f535d625d6217b1e833 GIT binary patch literal 981 zcmV;`11kJSNk%w1VUYk30M!5h4-XHhsHkgeYabsUTwGi(E-p+=OxD)ciHV8E#>Tg| zx9jWc=H}+;=;(icf7{#Jva+&paB!TQobvMW?(Xi7kB{*1@N;u>%gf8*;o(b5OT4_i zczAfKs;cVh>SJSLlarI7p`m+wd+F)vzrVlS+}t@iIa50000000000 z00000A^8LV00000EC2ui0FeL?000L6z{$i$EE41ejE#XMEwws3q!T|&c37-SaGM)np2mk;AtEX1*$xE(+#xQYs3qcVIs6t&01nm71PJ^FcAB%{;ZC63LCwswSxba6KDh#*mT@y` zb7ce#P8GHADnSksgeoZpDR7X%1|jI+>Z`EE8o>*()@tjm zxXKzquDtf@E3XwqP{FUYf*?W+D_o#L4a_#{?6c5DEA6z@R%`9G*k-G3vnOa^Ko9^s D=?t=h literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_grabparkedcall_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_grabparkedcall_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..9acc363a85b980c650f992720c785e1b234646e4 GIT binary patch literal 826 zcmV-A1I7GDNk%w1VUYk30K@RL|vEA;z?#7SV z?|kq7z@TtQEE?P zCKR$ca_}fFauyDCY8M_K6%~Yqhl^;29v%&YZ5AFDXNGcjc?M-441awOa1NJ_nTLs} zsjOy(7Z(Z*ZkCvPw{V<#9j6}u+64;6+L5)2*;4i$q73m*#*3=kFy%Mr~B9ucpq zio(Pd+`zLEAANtsvwa^C$_*W84+`theZ#FEn%CLe9v)okfUFpz3(5f1Yj8o)hh3id zH98Z)!+|~)j&Vb{%n+tk6+A4k(15{4OAG-2eM3~C;>AmbUYhi9LEr*q5)`Dw_Un%V zhaXHGfZ(B-2WmxA#hUe@1ZK{w=kJ?fU0xzncxf0UJ7;8$bhqo%5PP-NU9QP#PTCo;qx?}xQCEBtYu)g;el zSAhz>+E>x>uVz>>)OVQJQVn!~7?P8>ebwplPDoR|gPkD{us5Cr5;*5TAF7e(P)Ijf z)0%oMO&HK@n9w8@L)|Ro&N06|f=x8#0+o_zM{=bwP$S?2?CUI0M?2tbg*qKr1`=%bKED(R$@R%+>`m}c7OMIitH EI~($RE&u=k literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_grabparkedcall_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_grabparkedcall_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..e37d0fb4ed85d38b8ae318b4d77687903f75a284 GIT binary patch literal 985 zcmV;~119`ONk%w1VUYk30M!5h5e^Z%mb-UfcOn}iGbuAwL{(-|X70Z3nR=PsvE9t0 z%>T~+|JVPGagFrD^#9WT#-7G~WPShI|E`O!|Kd|35Q7FD5U@pveE^|JAD1R6|s`l(|GUM2KyO?Y`|@N?rfs|Nq(l|Ih!bh^hbp z0RPPYA^8LV00000EC2ui0FeL?000L6Kng{sD;kf;q;kn@I-k&}bZSIN7Os_K$L)H* z;IMd1E}PHjw7Sb!#C8=EZ%(h<@A$la&+q&HfPr)vGYAY13qOjBjE#L43Y7;4nU6j=EIskOF^o1KV?Jw63D0JM|^ueXY;j0&Zh z2>}5;#?hI%o{9v;0R{;Pq65%2p#usC0008#KM1c1HUd5gHa-BX0tN&Ii^z-U?l(55 zJplM1kl=>_d8oMg@Rm+gfdhZG=<41u1fj1DWBG5CQfB^YeEpqjOP|zdlO94OJ z{m`kCr%xZyekceKZ!v*JFc*XK5g1v5ajSGDKoFR4RGttOgBlfYD(9cjU@o*FDi(mY zkD*<&YlCP2)IUB8RqEGTF`fx#&3fenv0}!r9REa0j#$xRNn361eB%HCxuGwQ#yVg* zaMgHwI7=Yi2U6K>odp+A8}^Ug1Dpjo;MhBO;+#~IjxSy@Czn<<%|x3&s|fTMQg(%M z9cJK6rCC!?-O$uQu2psR)md7F)y`LngjIl7zx6cTOG^Eq)(r#{5Rhw=owW*81q{HS ziel+g94G>jgqIDoyrh;mc*z*dQxE2D{FtM{xDF>PP(?KL*h0vLcHOFON0lHL4X3|I!0F*qn*a(b$+OlFTxm3VI1~@e8 z=%bMOZ~>&0R%+>`kHSEu3MW*W0tqi*D(a}CPT<1?q*e-o1}&7}fe1asD(kGYMi2t6 zxaO+suC+$M>#x8D`>O>JSRgE}9gM(14I6xr!?VyvEA6z@R%`9G*k-Hkw%m3LEekXh H5Ci}_ZMDrc literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_hangupcustomer.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_hangupcustomer.gif new file mode 100644 index 0000000000000000000000000000000000000000..b4fdfae8fe0eb85e6efbb6b8b98210353b4aa749 GIT binary patch literal 803 zcmV+;1Kj*aNk%w1VUYk30K@e zo12cQ7Y?hev8IKNt%aqzoo#u0W^WfBX~St29tsF)6&@ZIAI;DZ4;~G}9*)vz+sM}q z9)N1#57>^#l;|JB*U1ox7YgB+3-ayR(ayx{&d|xNrT$$2CvMFzKEn3#OY`6X0S~j9 zx!d;8(FX_$0By?$P2C4@YLG#@sO*DBbsir7pb=S2Ap(3P733RsDBQCT;n?Iv1Cq_b zU~YzOlE>}Y#%9$F-L%H2f>Vw~J9;2s;i1Zwp4Oc7aLAhj2D8u@L&G!>S7}C{EzP)z zEL(8PeCk0MbY8rD6)PyXDs9+Hf8wwaJ9-nDz6+&Vs+qNw5(Enl9w_Lbm~26lXPxIS=+0tXge%KRXYYPGJr+hA1S{^o*Y z4jd@Bo}B71;|t-2p9R(2Ce3|m`SXCF1q@nHlQ_9ihsIB)v4NT~;9!^GMt?E#QcAKg z0!~U6c_beJ@+_DJ1JziQ7z7{EhaGCseAvK9+sHH9QmZXhP>0!-cE^xJ7HQ;>NB)uk z2L@!|0+o_zM{=bwNED(Iku7HX)T2p|vw06W$8bglpZ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_hangupcustomer_OFF.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_hangupcustomer_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..e5736ae0d003492fed8edc78dee85dea732dc9e3 GIT binary patch literal 803 zcmV+;1Kj*aNk%w1VUYk30K@X8Z8kPGN=nbq&)M18 zh=_>3zPgTX`X1Ru59bRa4ehCBM8%` z?|kq7z@TtQEE}Y#%9$F-L%H2f>Vw~J9=L&G!>S7}C{EzP)z zEL(8PeCk0MbY8rD6)POLDs9+Hf8wwaJ9-nDz6+&Vs+qNwQUePM7#!fBm~26lXPIS>nfdv*`%KRXYYPGJr+h9E4{w9KC z3lo}B71;|t-2p9R(2Ce3|m`NM#q1q@nHlQ_9ihsIB)v4NT~;9!^GMt?E#QcAKg z0!~U6c_g0$@+_D}0@YZPSOXu@haGCse5k-k+sHH9QmZXhP>0!-cE^xJ7HQ;>NB%;A z1_5;70+o_zM{=bwNED(Iku7HX)T1r!hh06V?Od?)|_ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_hangupcustomer_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_hangupcustomer_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..570a6e5ab1d915650a9360b2f4125dc32b3c006a GIT binary patch literal 693 zcmV;m0!sZyNk%w1VUYk30K@k)K&eGD-!^6WVDJkCG-fL@XL_|boWo3_# zkAs7QmX?+d4h|a|8(&{vdU|@Xv9Y70qu1Bho}Qj@adB;JZ8kPGN=nbq&)M18 zzP`SQh=>3H0L;wHA^8LV00000EC2ui0FeL?000I5U?5^-X`X1Ru59bRa4egfU>IAj z?|kq7z@TtQEE?T zC>3&j&9OK<4Hj({9t?YL9v5j501X}v9cGCi7anwihi`Xz17(?Kl>io%4{U^npKFt6 z91RT*ejbsN5~y(qmZ@x;dZ`Q^rDh0%9E~0b5g(@?5Uvmx5X_Da63iD59?@nJe+}BJ zW`vO+5f`(H4~iVPuV&ZS)Xj+!5Pt>Ly1bpb%V_||*a|2sB;ipk3lTgNz@~^$0fc89 z1ac%v5vW{gCRO_I?*T4B9y|cRg+Sf~1qvZyVbRPrQ*;9tYFXMQcD z7#B?hR}UUI>WkMBE&$l>R^_?CU;zh&Q*qVBL9{_L#T+3UXh>ybo)P|BK+vEM=8Fz& zcJ_=*;kdu+LINP{R}s(#^!`9%Ih!RN2Co?W!{oiZc{jW?5a7VRz5Dm@`*uDB*+@R%qdc3@%^+01PAmKn5U& bDB_4DmT2OMD5j|5iY&J1qKF6}5CQ-@6hbN| literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_hangupcustomer_OFF_pl.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_hangupcustomer_OFF_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..50407590ed80ce94e6084cf2f87da80e0c78aec6 GIT binary patch literal 924 zcmZ?wbhEHboX8-+aFv0fzP^6{{{6hXyvvp?b8v9*_4QR#Q`@v@la!RyxpU`wdU~#3 zzkcb`rFrw_9X@=xu&^*HDypccXwsxfPoF-$diCn9TemVZGn<;4TwGl4-MhDV@#3JM zpsK1W6&01-+}w>DH}2cF&&$iJqod>e`SUk#-hBM{@ywYs)6&w6jg1)?7|xtI10*Q{ zia%Mv+I2uA$WIJx{||I-aM6+KKe43fWRBJR3oEWfc%~SMPAWV7wrc-_4HZ6mv(LYH zt8`HzP-5|p8o%|o-~ZTCcmDnF|3#cqGTc0zS{I~fs6S{i)`#L6f_w=!M zGxsrfPMbbkYl_xn#yM(TYU=ZrPgn1lp|yVA=82tx>T8$H=HumWZ9mYVrpck9p~=?4 z$fkLjZT0rcH#9rW&KA5Z*u{Et_sN^LW@~C(XE~v{rBhvV|Fh?pw|rdt>{SQ*<=@9U zTLg_+KHReA&~)kS7I`1LL*z|JL9~m5!!8$wIjj-}x?xI%g5pcL8yp(8rttZnbS?=@ z;hOv-Pt`cVNkl1MY^|tB#2N*!|1OVQI2|T<+*HcHx^1b3fYE^<7R@z+9viux82hy* zyb76;x9afx4`Hhc(iY`hoYZ%u?{9ktLsKiO;71h>gPTT~zoYtWulqHeWe#AqIJ1J` z;kvZ_W~!gL-#j&0^fu_&o$j?7UBXNPYS&gD(qv&3c)V&x_M3=Jr!TL0Id_^ygDY#| zVy#bHn{v5s^!P*+*Z!8+nzrNMH6ib7I^H7dbo0_?Z*;KP$Kd(9WVzFw-Ce64+NVq_ zYA|v2JA0RBZBmxbJBE0<6FdBOoT|*}UmbF~GRy4F#rCgjylV@snP;e)#95tLpx|Z9 z%H%L3cZ2I=o)A`^hy{%=-Y|!1mx=z6^JenV*eUP%M?uuV(|nwt(Qxtgk`;4I>YGILAKUBfkVp|v}wIsv1D4- WtCcI3t$MX;%{D15HVGC+25SJd!h>x9 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_hangupcustomer_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_hangupcustomer_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..57918268a48e7e057b24d7d1b1502d9e88867e6f GIT binary patch literal 811 zcmV+`1JwLSNk%w1VUYk30M!5h4h{}qUtcLHDMUm>Qc_YI8yn8f&ezx1adC0O!^57Q zp3>6NdU|@JqoaR+f3dN#WMpLJ<>d_x4RUgF)z#J7+S=dW-)n1YR#sMngM;GY;y*t> zPEJl{W@hB%P4$;ruCSy_{llWuNqs;a7#l$2#-QC@_ zwYAaF(QR#QmX?+_Ha5P#zT@NLN=i!4&(GP}*@%dU0002Y%*+4)000000000000000 z00000A^8LV00000EC2ui0FeL?000L6z(~Y1D;kf;q;kn@I-k&}bZXR83>H?!#_f8) z;IMd1E}PHjw7PpRq-+#dZBDP-@A$la&+q&HfPr);Bn$@&204n0jE#_o1KWeilQ$s1ULeysyQ$X zz_E?Xzzi}kH^7m-p4Os^FF4f!0HrcH3VSIS--)0j@HlIP5tw1OmE>&W!8r z@8ac{H_BcE0XPa&BUn#Sg8}CPj01-47qD&oR52(Opi~Y31z-dqAj26ghy;q^$WiPC zLKv*-F<8`Z(McRBN3m4(@*{x%7XSdrXxY4$e%ggG-3w7MVuZVwkU%w)u8b){ z$Pb1nm|9^ao0aug4z9|);(*}{hP1R_Q`tkiOR2V%in`qpb%QNTasmd&zTS0awv(5;NgYvo2x$|>7LRm8M*ive_ii~<5+bbCPKqNsDa>I$*~5qvllxj~t^Pd$H*N&Ae?R|zNDrCCpCr9dP{Rr`B>m3^wTCgAg|8 zfCQvW5aERkPFNv?CTtK$0)`-h*n$WbfS>{j`K74hiY&J1;)^ai009IJz-VKOGSYbC pjy&F&!3Y?X&;bWD6lvs z?|kq7z@TtQEE_M76Bd)7H<|F4t{YS7i$y<4;}#>XpA2h9(IL_ad~@YoNAZ|7MKujhl!zW zmT40Y4-kPKl$HXja|D^IZk~L+4j!jy1ceij9t0F0sUH%s5*HHAkpTkE7Z4uPXaa%{ z+^uMblphoqwT%#s6S}cz+1l36i~;qeBrC zrU^hOQl&;|FtKW+F(3q8g*H3Pq%5 zLRJJwonl0ztz58>95YFB!1r3Kr&x;Qa0)Y$m{>ec`E?oG3`{l9J7 z%$S(n1qHg&(r2ow_7@j7`1(4islDy%i?y)$KY#wJw6y=nkN@AinSp`f|IC>{k`kc! zlLf3@2SkGW#K897q4R@_j#U4NB}FH5tma=>ab<^Rijnk`veR#?_CMHA;iEVE{EJ-W zjSh)2OLx@xt-t;L$DX?L?|=U<;uMwP<>S=q==aO3yKFWOH-BsUfer;t4kaZ`whl%% z&C6`7w_m=Y*>QHZz-56h)|m(FgH_pv)f-h>oHyCgX5a$%UmDqx@+rc@{>zLdKmpj^rTnYgmTCwX9SCC4TqEeQQQL{JUu(jv zkSTeq4$uD(wyJ<_QO?CleMkEKws$ZzwXzC+RN*kVX_Waps?YX%Uc*`D0CtNrD;OTG zOWSXz`kDL9Q`WldbH z^@(d!F4v77hlt|Z-x6EXb{xDWpFbEtNi=npw>W*?26@}6J*J`QPFsUteQgn?7xkREHthi(R4 zv4mhPVIyTP7Gb|n{0tm>gdI4}ym3nIHC9t{V(HK*n8~G8#lg@jbae;sBrOfg#}hjn z9w^x>wUqF5Eo#+#rle3|`D|v!GRb8Q5>pNw;3znz`Fu{vwan*pi=rMhvQ~V1`Fwr@ z+pBa|5uXKz*hOY6c(JI*?A43K6Wp|3E}0UR^>XP9BdbO>*&MG!%NMk1y;`wkTGp$T UE0(Q#wQ9{asaLGxEQ}1+03vaHe*gdg literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_hangupcustomer_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_hangupcustomer_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..5841050cb734dbfc845b669493130ba6ef8627f7 GIT binary patch literal 1029 zcmZ?wbhEHboX8-+@Qi^$kc+F_-Q8GTKGfJa&DK^)MC4t6|Nl92{;yyEf7!AxlO`Q2 zFYgTvof#8zrmE_0YwP^@_*!r8zR=Kl@$mwjocT^p|4*O(zir$9xpV&?IdY<+BF5bO zVr}it{QMnxdH+|f`hVt3osZA|)vNz+-THsuz8pu#|0hrWU%WWU+PW?Do3pe3 z&z{}j>lPWe&aM3H_!2tH_uu+Ja%B_zh>cJ?&x6o;LOX{ zXWqU)&BVaS`t|bdyC;61I&yc1BSQy6$*ZOZ1q=ppn_C&AC3bvdPS{d+Pp2!ojM?KT z1H&mvj!O#|1Zud1pK%C0X|!Nsydx>V-jX^&hK1!t@UsawPfgQLW}9hwZW%M916PPj zRPfAZMs?;MmX43|2YPL;nretIh!J35EnrbdIG|{|f`yBTGw1_bkj$I^S!NN}if=|L zWFFrb`u&@BgERw!M8@swDGXc0R@dEbH+{-mXj#;h{Wl)lddljb!1rd;m`N-?W(UrkGfAJoY`3{sJ!;~WOQy|Pt3e+J9hIeEJqnWwWC zt~dWzv%i7!+5Id>3AU-eTT9bLlb=i}_7hN$JaU0wZK2B?Z`0f>7vniEDn~Vc*x8)u zlbyRGPJnO5k`MtkwJ#wd!KyFLCy8CHn9N}RM_@*;`Li9$CjK*zEjIaE^WZSImCDK| zNt1lcUOt%|U}nk4`ou%v=~N%TNYyEdX95_fB{Xq1vumz6aFEM#*~(|La<;vEHapKr zz>!7ZKxX>vqDz&}=hfWHWad>ZxxmC_Et2(OVTanP7mIq#UcFd6!AT z|Ih!bh^hbp0RPPYA^8LV00000EC2ui0FeL?000I5U?FB?X`X1Ru59bRa4egf5d>SV z?|kq7z@TtQEE?T z8V_=PkG}XX2pwk;7Xy8N7Yh&{6c-F;3yEqB2p16vXakmLk!g*Od~|nt2W6pq9twU6 z9+(uV3TUZ*5*`;H2_A+K9ukXawG$T}9-toztQ2R%X}N}{a-(|Cbhc(4x*xm)#b?%L zwYa*xzG>Xg4hjfn47wf>%O1_y)NsZE*0|OJq5L5+RXJ*!gTI+JL@}MluuwM=p zK)4Xg3^O#&^1ZodO5+=1#1t56w;;hV2L)Bu5qp-)RxdRd&7l0?z*d3<-9E%LlhGp^ zjy^x$0tRwr!CMrNEy}eH=Ylji1$_v33un=xJHcgW6PdRySDAyxK}%xqep*4Ea>#>TR;vVVVnA0HnsE-qYLT(`Hk?(Xh$b92kf%RN0kR8&;e)z$Iw@$BsE z=jZ1D005bpndRl>A^8LV00000EC2ui0FeL?000I5peBxFX`X1Ru59bR@VO-vwcU8G z?|kq7z@TtQEansmheE+=I-k&}bV{vSuh^`1`}_Wz}S~ zx4FB$XWPyV2Lxmbxg8S9%-GXz(WUcn9S{Kl5X20r|J0F@b%B;TT&p@HJ0r{&!vhR1 zz#=0op0j&v>gB=MX4tR;h1el5AgsZ_RKuLy;i|<8O~o=MKQyRi00FlTFUvIJn9+_j zo@~68q2*CtwF$=*;ZkQ)5~mJsV_4+kUSesElApRf}Z-A}nAew0)VU@lQ*PLSR zAW2x!vPHx4BwV<(>C<%V0N@}XgX`C@W6PdRySDAyxO3~?&HJ^50)++?@Ibt{@#Dyo tD__pMx%21Hqf0j)Kth2E5-@1r&b_<$@8H9WA5Xr#`Sa+x6Ce-*06SAnAT0m@ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_parkcall_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_parkcall_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..110ce6b01a093bac934c742c76f268dfa7e76130 GIT binary patch literal 644 zcmV-~0(<>ONk%w1VUYk30K@+9&~=-b=dzP`S4a&mZhcuY)8sHmuGYikb= z57yS!iHV6HA0OuC=3HD{va+%+E-rt6f48@{$H&L+?(TYedObZo)z#HhR8;Zt@$BsE z=jZ1D005bpndRl>A^8LV00000EC2ui0FeL?000I5peBxFX`X1Ru59bR@VPlvwcU8G z?|kq7z@TtQEan0ZNFcyzI-k&}bV{vSuh^`1`}`0X0fFN~E}PHjw0g~MyWjA*ygYzN z!sEI6(P`-aXcrwH799wHYK4c0YIS#FjAaXb9UhT?f`o>bW{R9=j(D659i$Ir6BibO z31kckeG?xH7YU^c2OSC)WVRg_3m*v=d=zDwp1#1sstOGVg3HRm3w#Z^htrp#ke3k( zAGyH@y2Bk76de(^7n%|1xd{=5qzAdYf(N|EgNpU{AENQ;@Ia7-f9EvSf`tI#K1ST~ zFq-fSfh}I-T1{$4q2Vu0mOiNaKmpx{2^JIo3JPWh*(Q`119k{Dk{mCXDrX9Nneri` zh?jhI7#iV2#t$1OG+6i1lgOeaDZC<dPfKNN8@#aD6AXlbUO?&%h>T2{HD}xFXFg%Q4S_?C&BfZTxwk||)m za6rKVr?_kUPVBf?`gk;ZMHVuZs#>avtK(-+wGGXo4$h!2joZqhXELp zD__pMx%1_b3p}4ry}I@5*t1)w0KkA303O1NA5Xr#`SA=2FgVY?z5Dm@IWA&%eL_{{RLk;D7`cXyAbe@@G#02mm|$|0|LJ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_parkcall_OFF_pl.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_parkcall_OFF_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..c188f0fa4c87215e74c3353d4ca8d362c376c680 GIT binary patch literal 949 zcmZ?wbhEHboX8-+aFv1K`t|F(cJ1Qh<4a9V)z;QNapJ_>xpO@{Ji@}lWMyUh`}<$N ze*Ns(vllO3+`fIgp`l^ZrcL$r^-Gp4dH3$!zJ2?Ae0-{^s$ybdIy*a0pFZ8z*2c@r z+uGV{X=zzpT>R$Eo9EA;uUWI^>eZ_uAt4_>ew;aTCIbV*)2B~?BvpXoPZqE_Iv^6{ zCkD3v4wDKzbfo%EEGasfV>SQ6<95TDHS2DyDLegk-o6JLEY?)?oPV*UO84Ea``m0P z8yRlC|FNg;e0nz{Cp%kROKVF_N2j`o1UD~FCWGSSDT$1VtO?T@)F&~f!w}Y3lFQ9;?6muw0F4(@cq!T$vpO zzdIzI#X5zWvfs{N{j*8u7DE~X!;BBt*2ZZvu=8Ui1CF0M}Xyv?sLK{_arrLTvpjJ z+3xa!Jr?gCYB8y`eQk+)uhh_;;y*+5MCL4}Y^DvFtHU!iolRM{vV0&q>g>0Lt?hhgHu1@^ad;fKt~}!avmn38LWK(^&1x?F(QOBu*{4eFRf>7MeWlbE zwfzyF8^WV5Ua5??p7wU(4{Zj1zCDk5%nlw5kGJJMBOCJAk9B$Ts%@*z9)8rl`he*7 z4_dx&Q!?b-xIY`*(JH+i5+r@^<|hU}m*XWY%O9LR8vcIHqInYWvMdf||7!&mQWT%C zOvtF!O}Q<3%^*$2PPvsqT;j}z&6j2bd|@?}tL#>N(CGDg>E{`VXIh_Ja(*)>;331~ z)K6EFE~Y$B;xPC%P0UVhiAG$nmuJU4iKhxFzV+%)j>H5sKQRdmpWy0t&aY*q=p(=1 zEe+EczSmA%GBy6`mH4tdHImDcZ!9s1pZZATm$Y2cs(=nX% literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_parkcall_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_parkcall_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..25a6a2f2ace8cab78ce6f27644c31bd8aa2e3449 GIT binary patch literal 830 zcmV-E1Ht@9Nk%w1VUYk30M!5hmX?-8L_`}K8(&{v4h{}dQc@`?DWjvKv9Ynv&dz#z zde_(2!^6X#o}SXu(s6Nd<>lqo)z#YC+NYP4 z-{0Te-Q8|(Zpq2XprD|&wY9{=#Hy;QR#sNc&CQdOla!Q{c6N4TWMqPZf@^DQ(b3U1 zHa2Z-ZR6wPN=i!4&(GP}*@%dUzP`Qy007L)%m4rY0000000000000000000000000 z00000A^8LV00000EC2ui0FeL?000L6KnO(hDjJW-q;kn@I-k&}bZWFn5}b}i#_f8) z;IMd1E}PHjw7R=UfMgL?Y)-G+@A$la&+q&HfPr)+BMJ)+2{ww0jE#ursI`u)!i+U7F3AYR z!ndBT0|YcSGywpp3N-8Z_3TnwjpN*sfo> zs;c-2RJ3VZ6$IM~;6TfE{4!2PsZu4vz^rH(Fi;L|3jqL93%;lMr=psQQW6j_R z)7AsT&00LwqAIkc3K~bpbDVY?lu_}f&5l@8hyk@jfKmRnW=t%sARx|wHnpSB0Rt5z z6n)tEMiny{W(W#i8b)$kO9U~95ZH($mT2OMD5j|5iY&H>A_joDC}WBtn6SbJ6HqY2 zjy(40RLNfue?MhX2?9|K9)IvEB5;^#A4m|IYva(*IRN zReoiDyOz6mUw07>5$?Y3nR=Nb8zPNyjWa1T#-7H_qs@qIh(tC-?Y`|@N?rfs|Nq(l z|Ih!bh^hbp0RPPYA^8LV00000EC2ui0FeL?000I5;2~;cX`X1Ru59bRa4ee}LJ(W7 z?|kq7z@TtQEE?b zC=znL4e&(vfNB>W9~K@Afoz6|iEMXy31y9D4}KmUlYoPThnZ-Lo@tMInGhbP0A>{z z7K06D5DtD79}pJ}rwyS{@8zR84(_ws$1*2e>YK^6k0<8(_F1BLw> zd6U$rLNErne3^Sy>0N<`!8l?1!0tl0d<0_LIUgby1(bgU4eT}V(QkDe6cz}QYf|Lj%mqmK~DcQ|8N?K%wC!>tP^37rIu zf!kdwi=wk&NI{=>Q0LW?=3y>Ptep7z-Sib{I#&o8HgJeItwcPe5_RZ%W^w~_3L;Q0 zp!tFV2M?g?;^nJ@tOgO@5q_DKf$6@f{}#si8uh!L*$&l?trqgPP-$=iA5J{bC=LcN zC|}OJx%21DCoh0by}I@5*t2WD{!u_m*B!!(A5Xr#dGP@jKse97z5Dm@cBt&|<-GExp=aF9r2};WD^P0<7gi7)5Km*!4AVYjq(Sh`J|<{@@V6OgG(ot^8xwf=%WKYV`r{PKxE%RP2H zM+K1}8w6>uXenWo>CS015>=Kd9RrRH^9GO26P^=_GDRlLL<%N>UjTRrw(o3Dwoiil zKwc`ZE2#r3;6e9;f{zM@zZwQhAU!snpTKwg=n!Rz%zAT!xPfwj!e+4zHHOiqQG37L zqOq71rk08pbBme%4qH+n@r--GGyn?#JOVv+J%SGe5CnlK@UQ+?S#ES-D{wiFJG-?oq+~^mn(CU>& zntG@e^}!A8<8p!y)tWUE!{!@u;tS;Zshc>HIe-P)`cPk{H|k|m`@v`=litQOstHT5 z`#uw<)4iE$^s)D*ze#1w@94@PPM$8uc6So@&cK*AlPI~&DO{E$SPjQ(kQ~*~^N*8- zn)rV5sS7sN+qcRY;n<7J=1Y08mX0LVD(RYf?@1gC@GW6bEnRouhw_uQzkMX=qE|zV z--Z3PkMoZ9w6B)bs3f_uIdeqzDUu>B@v|M?vs(BfyBbqei~HvBdlmuTyLfcJ8iGwu zFOK#iP4hkahTy`gzs++_8ttjSYKgSWW}sed(@1LrN4)M8%l>Lt$Ey~ zBaN|_`rM3_M|#>5LaWlGW5>7B(ukn^&d`p3){ zOPQsz?JN%W_NMLxNXZROegB*Ejo+?L81iwJ>+IZAsj9L(xrpHVU1sHn(Ql?yK0P$A z@kd@w3zm{I#oD;d^?}?XDL>Wmo*oW8NVPBDu_e`$Wwxrc5IiIE*mX1nE)*Ce&e4nW zR^ElO7b1cJW>Z_D=+AP!0$5Ug0X0K&$l4l1rdXTh1k^~~X+vm{pG1(@Rp}jfwK9z5 zTGQj)Feh9Z<|hvz8g$OiHnGcT)Lnba)n#ZZbal6j@!N#!^+Kr+$`f(|hvo|1eYaM7 w+&9K{U2c;Fi7M`+B=9(d$r0W9z!b~9J~+dT@(j&p6nVa%Kk_Ava3JX9KZpanXaE2J literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_parkcall_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_parkcall_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..b37d8358ecee57392eb55c5a6dc6dc04bf9599be GIT binary patch literal 858 zcmV-g1Eu^&Nk%w1VUYk30M!5hcSlDN3JM|=6jd`b?vIaVJw4rph0J<-nOt1|oSgr! zuQMMX^pcXscXy3dRsW`@R5CLEqoe=J%WOeGeM?J*P*90dQh-fO(S3c@fPnvrdueFVvorshK0RaFq0y?Iswv()`#gDNw zGR-o{wz!^@0K$p}GYC7V1*8W%2%`eu2+RTj2-V}@;@lY5-j(j@y?U+$ufdB#mbpWU&P1huWk7N~)H^2a@YN=QWkTGgT zwUQ@^v2r;o1_B);br@9C4S>A=X98V{{7I11jH4S_$;dIoR8RoDcJw4F3jl&{G8W96 z)bW!fkc$kQT5u|r0h=CHP3quS1G0ge)jn{Y?Lq5_V(^ec;**tpeV zD9hRNULE%mhoh*I5h=(qzJVq7_i^h+ z24n~nAUbuc*O0$uhB`nXvdNsLO)}660MvPzQL!4(E#Zo>&1D%7%nSnrKtO2N35ZI8zQxl@4x<1N z*g>)ka1VCq6*Y@2F}x#pi$bEQ;|@X=0ti|}N>Q>OG%U8*B3Lfo!bu1?fI!2IIOeG1 zjy(40KN=1u9_BK@LzxDdm(@R%zvxSZ1l^mRia{0heG-`GN%# ktZ)GfHKeKLnryb|=9_TFDd(JY)@kRRYN7za06_o%J1ez>lK=n! literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_pause.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_pause.gif new file mode 100644 index 0000000000000000000000000000000000000000..3486a1c1a2a6e5ea87f0f093eead6eef02fc5787 GIT binary patch literal 483 zcmV<90UZ8ENk%w1VMYKF0K@QTIzV5!G%%dqYDH|di+W*>?yOuUYHf@M)N?l66?Y`sx{O7Z($`wdZ%AfJ9lthDe?;FT|`Id$+8asag#H zSOF#K7nxwHSW)xPp$a*33>Y}50IJ;qOcgp{i2{%>UqLkoyCkdvYE~6ovmE?+Wa>+7jhyH1&(k?EEem4J~J7Y&w>9t~}UTZd|79u|S0 z4G|I^4^x@4pBAtm4;F=ybZ1|PsHz_dmJS{Z9Ugd?pUi*@ipW%v7ZuizrN5_Rii`{n zksS{nlg_k&xs84hpz6(C+G5;`782~97Z(w?v*vZ3en3^bW++}FVR76w!c&RVtOXLN zcmmaHj463sQdJ2zWn4K13=~xG#7=;v3Y$P+NywM4U>b~DG)lZR#a1i@eHxK+;Hgmr zc99gi1ZKtz!730cuq#>x4FV1cGDw|DwW`&tShH%)>R>CcCYHEpzi9J0%R8&;e)z$Iw z@$BsE=jZ2{nVA3p0OjT7A^8LV00000EC2ui07d{3000F4P{~QFy*TSF7h7N`j$~<` zXbLjJA~0|)&vb3yIQ|TV%RIoKa7Zi~kH}+U0PrQB&}ekod_4_^>;aGf0uBga;Sd}H z2M32EFbF2HgelXR1UR&g@I&or1Jgl(32FreYC(2ua#cTd4sj2F4Gwk%fex1s1P+!D zUw&B#4qZ=FbVzoPfTC|?f0(ZigLhnRoRbDnrdE!4mUj<^ps$;%~S<(%Y7YSm@ yoJq5$&6_xL>NL26K!cw^g9;r=w5ZXeM*$Qth@h#{r%KB#udlbXw7h=(`iT=KQd3j4 zwY9^-!ua_3WMyS{?b_Af-#>Tm+$BqvynFX<-@bh@F)=`0(MHHEXV3y&4h{^5)H(=g*&i{P>Z9fnny%nNOcS1v01w6o0aSjnV;;AU`p% z{Xa0Vz(Yr>|HP6aO&(6Q$rDPv)<&(ru_jDfK!k~LVug?1?DH?SMCC3@VPa{_^jm-X z{f|9$>*Ymw3W{o)TUuM{8VcJ=xTCR~lTT$4mzvz7BAU7W;C&LbQ2DuH~attaw#miQ5u&YdI+uGE6UgBbp%4W44 z)77|D`p*<|sT{dfKd()2Iq&Vq#pg@TA6a(jDc|hNv*oxR>^!~Ytg_(-IZk$VK7#{c z8S#oN5(*Q9IkKa7W~@09c;|@b+_g??Bp4E&^3LmIQR#W86gp8^w!Kv@M_{Xh)3)5D z2TTJ#oKkVOo1xdtW!l)$(7`A_Nh|i$mX(*62P}4as_@W>olD3o|0Voz^ddwYAq<6~PB6ge2I0TnXPQUCw| literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_pause_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_pause_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..3d8c87593dd8ab8e178a906128a9dfdcc3379998 GIT binary patch literal 438 zcmZ?wbhEHbbYl==IKsfNV#SK{x6ca*2wb~%t)RQ0y1Lre*Ec36=J@gB+qZAe&d!#X zm)Fx;#z07+S%D{Ikv?s){Bvm@#)j247h>fPZqGG4u}NV$-w%5 zfofk$=Ddtm>vCT2`yg?oAv#ukPy*1*6dNsk`UlL=c4 z{w=xDl~^q#q}`NVsBIwSa^CBT(N-O8F6WO5UJ1`jGK6@l9i7!mxm+1|U8_Xx3yVv$ zcsXr3z4}DCl}kBFQ`=SDS#u{;F)b+a3rGmzT%N(6lFQaBI|g(L1_;S4t4;8fzSlPQB# zfngwl&6_xL>fFh*r_Y`%3m72Kps3NKNRujE%CxD|0ssO4KtQ#s)vH*uYTe4UE7b@9 EI|81q{{R30 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_pause_pl.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_pause_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0e2066eaa953c99d0b44d9731138f0565162149 GIT binary patch literal 551 zcmZ?wbhEHbbYl==xXQp_>|mVMkT!Gw%ya+GUH^am(*H|`zZ{--Y+hk+A+G>$&-xxI z1*!V^^~=sLa|m$Qbbpg?g75zK`=9=Qn%j{(Y5Sz2{-UUYD3?$dH3PL<|8L#C?&VPxW8&lFQe$LP!^vH?sZ>n$X#3Wlwu1ue&u&)R zA$neQ-}22|s*GD27qsznt`JyOdam>!)2F8&4l}-)c=^S)UVcWGsSOLxp4(IP%ukhp z;Q-^_;;vPqNfRdA*;b);!n2rx@7^}QdA~eWjtDw1@Tl&o+_QN>c&m^ESJN8jwSg=g zZ`$r2%y`6j+(n4*Tjy-gV3muDJ)F6e5+5{QULLU6Yp&PURaaNZY4{jyY&_JlKH+ee ktoODxH#euN7hE{S*m8S&!Q)eNy|=H6-7T)i!pL9^05Sa7MgRZ+ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_pause_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_pause_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..bea56d65628a5056533247952e994e5f4d8d2de8 GIT binary patch literal 989 zcmZ?wbhEHbbYl==_|Cv^^3TcKj@-p(7V``7Z@jxv%S3D6yM5I&t7VjBT*F+0(t{Ez z5;|6Oc*S~6+da+P)qKg>C5()WXa1jI7zLvtF!Vz}@h1z|6FMLglqVQCb}^`O$arj6 zaIl#}SS#klhJ}aQ1(dz!cx+sBw40eR;f_b(Q<&w9ODKjaf%%j); z*I##EzV5zpjd7mFo(>TX8zLK0W>R{Yda~ZK+W*=%L^f@RZI-*1N?l66?Y`sxkLQzm#ZQppV z?|kpu3V~yz7;uirq;kn@I-gLafFLOfKG>{w%k6r<;BYqJXjsMQv|3Fz53bxqWj?oH zCG`0MyLfmYb{}{NcNK(nSQm4Ld4^$aXIvM5a}XYO79I$6dzlp$2$vt37g(ep9-4fq zr5+D?gkX?wU6X+f9u=b=rCJpp3?B>?oxG;TxxgQr$hvH0kz11y7Z;fkyB5_K6CVq% z3msXfyRDfWxTl)iy|U1>lBx0)!I|=+!}1V>8$aZ)P;>?Kllc7@WTb1g8gr{~wF`!Ct zs~4VYz9hI1E6dso!Q!HU#34Y2zkmY^9!$8f;lqdlPdH$QzyYR^BTJr4xw7TUm?c|? Zz&HYi&!9t#9!C>n~0{{>L06T30_^bc` literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_resume_OFF.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_resume_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..0ae4cb9ad8838d1d853f5e494d3f9f5ba5a0753f GIT binary patch literal 533 zcmV+w0_y!oNk%w1VM_oK0K@uYOkx3{;}*4DDJ zvgqjOe}8}5+uIKh4<8>NTwGjzj9tj@_6`HxD!?wL2n8mkfuw__~5EmDg5V#i77ZM)_s|Ouc zq`0b<9kryF*t)M`jzkfE>NzkmY^9!$8fVZRat1b89CXcOga80Le(>@_ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_resume_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_resume_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..921d5d5e38e6e3ce11a6898e5511517585050892 GIT binary patch literal 495 zcmVn_>yZXI(+5)D8fyS3nP;kwaTU@^5el38LJY#9Wp(p+aEp z8n7S-gKT034IY4L2^cxBb|{-22ek1DsjpE0e5ArxNjM@_UPK&BxUk{Fh!ZPbY`B0K ly$vEuo=my2<;$2eYo46QF@n#aLyI0wy0q!js7Xfv06Pnd%zgj> literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_resume_OFF_pl.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_resume_OFF_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..3cb532bce5d22a831f7336d7a7ae06548ed4f1c3 GIT binary patch literal 579 zcmZ?wbhEHb^kxuZxXQp#TwH8vY5Dr~>u1lNZQ8Wy#fum9_4Tr{vbS&FK5^p2u3fvX zU%$@B$2WKGTy1UbhK7dJ)YP!Bu>Su3B}HRaJNH+&O;y zxQB;FXJ_Y{HEXV3y&4h{^5)H(=g*&i{P=O^%$W=f3{Rgv1(MVPia%MvM(Kb^ke?XX z{vViF;GrYce_}~dB@eH`j0q)PYopfRSX1UL%EQ6bnBk*0`}~V7RcG~PYsoq$Cak*s z{>PrW^Y4GZGOv3!DHncTFAylQjjP3~%H>6pvN zz^*E!#>lA3!zfV3JC%Kos-T=4pDH&O<9>F=bxV6%+Za^&)ee@c&L|g9-Op7zcgY#K zo2pAXx|g>v+I)P<li->9GolLRm$hVByf7Bnef|7dwsqLPGkz3 z{$}B3)N$z^78UAF)_Zr zzS-H?kDorCIdf)QSzPPv))gyO*xA`_Ikv?s){Bvm@#)j247h>fPZqGG4u}NV$-w%5 zfofk$=Ddtm>vCT2`@nIeo;%e zTkKuKvEk&7z3MCa1(}nJLMDl(v9ocx%$&U|YUWLr3(NOk-V%OYjJ1-jqH4oyQMMMZ z9Wyx&omtxPV%mz$3l4~?a5JybI63LGlTkf?`qfnl@8Ty4Id#OiBxWsk7nQZ|Qn~oR rqnT49Sawy+$xTa7Pd7+rt6+G**gD&y_|=`0o0p%T?~vcdz+epknKqsg literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_resume_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_resume_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..1b096144c2d29f00b803c8f5331b20b2afca3d8b GIT binary patch literal 500 zcmV|Nk%w1VM_oK0J8u9S#Mbs85Gk0(y-jHkF$@KyOwQ;Z8k(UN?l66?Y`sx zu?PYq&vb3yc&_jBGZ-(%V@NC-kI1BQ$s{HUz*uuityZ5=A+d3AI1qzj0uXQn z3`D>IAU+(>>xaQjXU`kM!C|1MyYmQM2Y60UL0e`90A>jfT?lgyY>r-y4PIyt2XdNq zoB@pm4h4N~UOoW<00w1*4_Jposf}_04F(QqLtSB}cxt&1nw$kjxWS^uL|tf$$_c53 zS$UF2fnh_qaBggG!Nb}G;$gUCPorto57Ft^uu>1Ax&zlh(9RTCvO38t7m;r)y%3*_cj?j7$5$8`0W3)Ua?+}|3AL@|7ORk4h9B>Gyl&3Ny>rZPZqEt zIv^6{CkD3v4qX#mbfo%EEGasfBW20L(-yocYW;lW&Z@Sa-oCz$F81m^ZUF^ht{N_dxpM_;859KS zc;+e0(pa{9LT7g$zq$gSI)es-`p%uKwOiDAYZbOK2&)Te9NMM6cG8p{R&^c?UWNrV zJNDFG*tqh<>6%Rk@1I%U!@X01;pTPq*Q?aI)P*0_$f_@?In=K)@o5j&zD2EB&z~Q( zi8`?7Wz~j;dyDHP%Q1F0WXo)`6ZEs0QM$-^Um4H4pBKMh2tDGqqc63_pdj{ypOj10 z>}jhX9I=5O+Gqj^E@%X2GF@z9IrFa;oK<0-0GERBk*8W@zxudaV-S$~g6W z(~8<%({i@0UlUoxD8Li3+pOjG_JYT!=6Y|>i``anvu;HK9_|p< fmdiC5()WXa1jIAPy-0WC1JG0g)g(8Cd@>Q0Ys_oR_g`UC!%$ z1v=+Ta_=iQ%x`-9MoadTVCSDMEXoC4T0jmJ)+q_U|~7G@0rX<7^``^Mtrv6ZyE(h02u*1giu?Cr7ZccB&_< zdAkP-a`1He&8|?LBE;Ai$Qc_a$lc`Zx`d~sq+->&wVm_a%Gp*Q*}Ox2aTgy`T&{nw zU?Mv!m;ID!TSKQ@VLZKP*SYmUmxNeKSc^+nKNDoFcilXNZSU~~nrEK~ajooD;phlz z;nL+i@=3LXRols;*1_Y;4?)4Cquq`MSuTQEkKGuK^EgO&Zd!73vPLlbs+f~PPR#-g F)&Rd2gq#2X literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_senddtmf.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_senddtmf.gif new file mode 100644 index 0000000000000000000000000000000000000000..d19888ad1b70cd3e65fd2d38e46267353bc872bc GIT binary patch literal 567 zcmV-70?7SGNk%w1VO;B-v9K&^oVVU)2Y+{<^TWA|NqkeRYX<)*Z+54 zca3q4#-7F^8zRi3%n=R|nR=NsDKp-(-tNBcW>RMV)&Hb}q+Lo~|KtDdzU}|n|Nqbb zs)(vYHbejb0RPPYA^8LV00000EC2ui09^nQ000I5U?E~;X`X1Ru59bFnh^wAZQppV z?|kq7y@Y|GsT?-Qq;kn@I-k&}^l2bK5(mR)%k6r<;IMd1E{g?>1y*ZryWem!TAdwF z2Az&VvQ^~&5FdU3eH~kW9S9s>et!d75QupWe_ND#ACZU-U~_9@9Uc*(4}77BfuRi( zAE8?w4|xwBk6ou74IYM?u#+CYgaf~Z!lRR&X`f;q4O_yGu3n)Y3auWmh946R57O6L z2p*i+T)MQarys(EW1e+l#R?F7)|=M30MWW!>$cw?0M3!amgfVleZ}%rLq>;<7zqOu za9eciSg3#vB7EED%mcea{{q%Bn2qE*aR^1UDGcMz;TH)FD3mi4&7YuO8%u^_#igdO zMFUAX(A6#FN0!Onh0#a>j|Z8d21p%{>e{wnuNp`VCDWf&3e382B>7<$0Z=2X}qAcN)0m@{kM z%(=7Y&!9U?0Pu(a01l{At6t5zwd>cgW6OSRVE_fv6fWrA&AYen-@t*nU>sHmuGYiqKy zvVVVnA0HpLx3>=u4~dD1E-o&{#>Upx)?8d%?(Xh$b92kf%T!cU)z#JU@$u~J?C0m_ zJv}{{nVA3p0OjT7A^8LV00000EC2ui09^nQ000I5U?z@aX`X1Ru57Cv6s65{ZQppV z?|i=-2Zh0~DH@N+q;kn@I-kwY;9&q9KG>{w%k6r<;IQ}`P%Ns~v3kvJhs$RxSR&wX z5)o{|&VPLN2zne?d>jNFTzh;1SPzAE4SZOUcOQ<04P9_(U>qJ0o(_4Qg?^q45+9ye z9u9U69*kO~91I?Vm#vTE&jH_Fo9to-*tb-pC3=YrKSOgxK z)mgW(s-z#kfnb|*U&09wdDEEFwg}F*S?IIe9|+{()$DwTg-@6rX~p8C`4T}uf^3Lr z5%c7a0R(RNmU&1=h@U@M1FeNb_pRWkgI?CKE#wk`!31%GobCI=3!_L+sj|rYg$Q8C z2Dh}CXo?h;IIw6^sj3Gb3A`n)eI-@IDdTTWy z6||Z$xdFvk(?NoqI%|3$5YHz*Z;Xb%LF=Zl;lpGIBVNq74IBU)0$`X-xw7TUm@{kM z%(=5>3k4VrDA1v_>C>oFt6t5zwd>cd1xzSVVZw#mxO3~?&AYen-@t?aCO{wr06Sl} B4E+EA literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_senddtmf_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_senddtmf_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..2d32c5e96ebf85c685d86208da558b548cce8fa2 GIT binary patch literal 563 zcmV-30?hqKNk%w1VO;*nU>Yinz=va;LT z+vw=%e}8|sx3?c3AJ*2^E-o%yTwKS;$L{X#;o;$^sHl2+dObZoR8&;e)z$Iw@$BsE z=jZ2{nVA3p0OjT7A^8LV00000EC2ui09^nQ000I5peBxFX`X1Ru57y<)3nWWZQppV z?|i=-hlIhvDH@N+q;kn@I-kuCpkP=WKG>{w%k6r<;IR0sNHD6`v3kvJhs$THw{WS~ z5o>ybZNCUQSbcX5cUW{61s{TVTX1Mz79J3GjAIoR5^Np>bp#$3iWd%&7YG#|sDY@U zo0MFRa$S)XTL_2*1c??GScDyV9|fKcdvq2Al^-6w9}f-$S+iKD7ap|BpUTW$uxVV8 zlXZ#JrJKPXi4h(Wvl5aB%O8;h7PMLMSkm&=)1RNGkyvr6v!{`nN3uwXQ{>?RLo5z1 zJRlHZA1w(L3dD<)XbV1z`S^VRDB!{|fXW82UMQ%g8zhlgs;LSoZB_#Z5a99Br{!Zc zhag9OisT37$1W}tMzFvXl+1_C2t*8d$%6oOJ7L~)z_eOLs{Jf9SY>n@(u1+Sp<3$! z>eCPEI<_0-hrk1#_tqi<8Wg3c24%q{bwjwY;j?kP9bU|M4V(oW6l9o8xw7TUm@{kM z%(=5>2?GL905G6~>C>oFt6t5zwd>cgU0a9{Is%5*nU>Yinz=va;LT z+vw=%e}8|sx3?c3AJ*2^E-o%yTwKS;$L{X#;o;$^sHl2+dObZoR8&;e)z$Iw@$BsE z=jZ2{nVA3p0OjT7A^8LV00000EC2ui09^nQ000I5peBxFX`X1Ru57y<)3nWWZQppV z?|i=-hlIhvDH@N+q;kn@I-kuCpkP=WKG>{w%k6r<;IR0sNHD6`v3kvJhs$THw{WS~ z5o>ybZNCUQSbcX5cUW{61s{TVTX1Mz79J3GjAIoR5^Np>bp#$3iWd%&7YG#|sDY@U zo0MFRa$S)XTL_2*1c??GScDyV9|fKcdvq2Al^-6w9}f-$S+iKD7ap|BpUTW$uxVV8 zlXZ#JrJKPXi4h(Wvl5aB%O8;h7PMLMSkm&=)1RNGkyvr6v!{`nN3uwXQ{>?RLo5z1 zJRlHZA1w(L3dD<)XbV1z`S^VRDB!{|fXW82UMQ%g8zhlgs;LSoZB_#Z5a99Br{!Zc zhag9OisT37$1W}tMzFvXl+1_C2t*8d$%6oOJ7L~)z_eOLs{Jf9SY>n@(u1+Sp<3$! z>eCPEI<_0-hrk1#_tqi<8Wg3c24%q{bwjwY;j?kP9bU|M4V(oW6l9o8xw7TUm@{kM z%(=5>2?GL905G6~>C>oFt6t5zwd>cgU0a9{Is%5T z|Ih!bh^hbp0RPPYA^8LV00000EC2ui09^nQ000I5pde;sX`X1Ru59bF)KC=EX5VTmtT=|VU!hK3X2E`j20JLhaG(%384>ucNPekA0EFS5Dy4kwp*$f9=Fb-&Cg-8 zbzhX0c#PPnp2QxE5*`z_6O{_iACw3dw_NmF)%DrdqC}~p^y(8HKakQ$5_hUxBM%TB zZh3G40s;yCZcV6=fF31AUiM|=_wU0%0~eIB4Qyuc0>UofYL(=Itrf{?wj4Z&Fz;8t zE+Vl-9BEP%r9dl1f{8iFg9HmuN7a-F4FN@xnmib2=X0jM2T-wL#0t=Y16N7CEmcUX z>8iI>r+#P$5}v6*2q65__jcJ(qANo=NIQlpoWqC{ubmT4vE#>WB5?qqp|a)6m@{kM z%(=7Y&zvV57!}|^htsH2t6t5zwd>cgW52c_VYCDcxO3~?&AYen-@tT z|Ih!bh^hbp0RPPYA^8LV00000EC2ui09^nQ000I5pde;sX`X1Ru59bF)KC=EX5VTmtT=|VU!hK3X2E`j20JLhaG(%384>ucNPekA0EFS5Dy4kwp*$f9=Fb-&Cg-8 zbzhX0c#PPnp2QxE5*`z_6O{_iACw3dw_NmF)%DrdqC}~p^y(8HKakQ$5_hUxBM%TB zZh3G40s;yCZcV6=fF31AUiM|=_wU0%0~eIB4Qyuc0>UofYL(=Itrf{?wj4Z&Fz;8t zE+Vl-9BEP%r9dl1f{8iFg9HmuN7a-F4FN@xnmib2=X0jM2T-wL#0t=Y16N7CEmcUX z>8iI>r+#P$5}v6*2q65__jcJ(qANo=NIQlpoWqC{ubmT4vE#>WB5?qqp|a)6m@{kM z%(=7Y&zvV57!}|^htsH2t6t5zwd>cgW52c_VYCDcxO3~?&AYen-@tA{!#^zV6JU%y(aRnR=OKQf7^DjmDnFgK2|ePGX2{h(tC-T}oa5T z|Ih!bh^hbp0RPPYA^8LV00000EC2ui0FeL?000I5AR%UCX`X1Ru59bRa4ef!5d>SV z?|kq7z@TtQEE?P zCK7VIVYyr$3m*=CgclGW2!0J`5QPUFf`xvEXOa(#gOZE~7ZC_&e13qHg_j?Vgr*;V zkr8Htl%buUZ+CeHWpEcB3cCplnF$_~9|yt~XBNDE!U(~`hG-rMehR~g9t?$M*4iE( zhYrHM-;~qU*UG)t35(YV-^lRD3k=KUwRn1P*=EYfW_F!f;2{D72FX0o>fiz3Di3R} zaf3K7%|9~>5*#Q74r77@W+Z;F_CXn~i|@Yw{i+zDn%C98&vnbO{cio9MS7%OuhoCOvhFh~HY z=$W+$AQS{@k3mkiYR<(o!!*@HG&x0P{iL@cPg+*F#+9!MFpQ}z`2%5rQX*4k7#?{G zjzJRFNBOMdX%Rs6R|8?0L7-I9Igky9RMj07lNpX#01s#1e6m0U!Z6?v0{Ixc_! zG6Epb!IMx%Ddm(@R%zvxSZ1l^mRxojr3Ic)Pyq&HmTBghXr`&=nryb|=9_TFDW{nS I91sEkJJ-f+VgLXD literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording_OFF.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..3ee4ca62464a9aabe253bf236ac4e5d1f24971c0 GIT binary patch literal 778 zcmV+l1NHnzNk%w1VUYk30K@U1UA0O7% z*0;B}YinzXiHTfXTYIkI-k&}bV{vSuh^`1`}_nNj|k*LE}PHjw0g~MyWjA*ybO>` z!eh6>a=9=N9}9hh7Y!c;eF|j_gaaLcgnfo(kqnB0k&6Qt4h3a1_+o29+Dpez!qf|x_!U}zrlrO9tM2}!G|6Rgk;p%9v+4Z zz`Na((bLt)yVM4X)dk(g?#2iS$>X$kcyHHa$i`&3We|99kRZV^53@RW@TbZ{nrhk{ z#yiuG3<3iKhIzASzyKMDAE@ebP&ClP#KZ@5m@c)zHjMkXJq7U8r*wRjn`Mu_=nqoYDv%b^gHQ$Z*p2SU8LK-6hfQD1o2%!70wUSeBHM zuIvyNnW4_D4FeR7`Q!x)*exKqXy7FMII5k~|Q7@6fm<8@=){Q3!H~>rn3>DDd0StlkpnTmN zFbjMR5*A2*35b$kOmnp8;)^iG7-KCFZ~#CCIOeG1jy(40mTBghXr`&=nryb|=9_TFDW{nO I3=jeUJ9?XCO#lD@ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..ff9a3447481573b9d6e54da199c844ad7a754bf2 GIT binary patch literal 788 zcmV+v1MB=pNk%w1VUYk30K@U3x=H~0`>wkZL=;-L%+uO3TvhMEgVPRoA^8LV00000EC2ui0FeL?000I5peBxFX`X1Ru59bR@VPb9wB2~F z?|kq7z@TtQEan^yiNnEZI-k&}bV{vSuh^`1`}_bB4oKreE}PHjw0g~MyWjA*yd04{ z!eg{zVdx+ZbAfRe7jYg49UTIIZG>}aCLWLX$S@d6$Azhf}w1XZjuBQ1qK9e zq;Lm}A08fYmUw6$9kU+{0v53Z9T$KJ7X`rbC3=gSU~201$rkbnfdn0 z7)&xUPbR9_P1^yt0}+s!XVS()xj~R!MK0Udm$zmo7=}I#lg&HEPyu;Urb4 z>5JjOLSo5&NI*aUTEyg5mL+h3VqyX2Xl6#etTpAldxf!f{dctBtOpHeLwzP8V>6oi z88D#0p~i@w<1$oL0RczLgcvNZAo2n>uf)Bb;?A8Uy~L(a0W*6$T!HgD1^9FiUufK- zB#~Y|nV5|6G<)NG7S| zl1w(~0+o^QGo0suRf`d+O7 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording_OFF_p.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording_OFF_p.gif new file mode 100644 index 0000000000000000000000000000000000000000..91098453b67b6161890cc610023410afa15790d7 GIT binary patch literal 824 zcmZ?wbhEHboX8-+aFv0<($aF*u3aZioY2wCTcBhA#yYIi7R1?>9`~8nS zb?4vz{$HgkBE`kaUDDCn)hQz@%UIMmiLIEiub63)>=f1BSxg=CCQqGSG;^`)Oqn81 z{@I)pWtYjW?%uYIhfkojefz!+S(QU7EUJeOF%+{O+A5>M!N8!xta|YH*5Yf2PZph4 zIeVUgS>@!pO`NQUSr;5Cdba;V(azm%A3v}%b214Yl{v>Oqi|Al!nz1`p-o-_3W5#{ z?Wz102ZE*~+-bIC>D=jjqxa!%b`=fVjt#5s9&GuRclPnrOW}^33!Y6_EX?q5b1&y~ zPM$X3K$ibP>{>Tn8iLQAXOLg+I>mEQhIh=a2)o#n2QwU#?>y02bK---mcq!&TU^uf z&s{5=FsF9z&%V_LEE9b8&0dv}YP+k8MdE{6!7~{a4l9qzPk9=)c3$15TePi@FX5mJ zxAh~F?ZNCUDoPUBRYLhnyZ73h=45z~#JQ#D&$JblJ-2qJY8+J)ny^m&b>ce9OO@^n z3_6@M&6`(s1(k4KIOe-l+MqA$)f(>Pq%w(_E{!=|!hdxHbZ0pUT{;-9w`)SR73ck( z+}$%}DnEtn^;Tvp`08-MgF$7&vl0deU1kQ37LS^{s>$(YKi{@@G^t7mFfy literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording_OFF_pl.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording_OFF_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..a8d5cbc30fa6a8cb7ccc3382f35606afa1e94dc6 GIT binary patch literal 647 zcmV;20(kvLNk%w1VUYk30K@lp>nVIqN@$BsER8&;e)z#f4-ZUC zOvc8>Jv}|Qx3^qeTU*YI-gE}bP9l4uh^`1%k6rM$&G^7iJT)vnh z>hO6WKfj{`eS1;?Z+vc30eAp$f>H=m3yo`&lv5HD7G-CZoQnw&3I_}T4GN*Ag#iZ+ zb_b>m2MeXA3WZY?rlF%!2N$iTpHc~r01OEV2?=-yb_t!&X_uL1(3B3l01=JMRIuCt z2+mRrth|*7v5p7n;Nk!Wd&2;#Qw|j7j_%dZ(wh5g6xgBp#!FS9a8t-lA(&>t0bd3Jv8;;0X)8l#)c`WcFk z7XztpIx3*a5YoeL7o^_nNJU006T}1B-H=_ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..221057781e3724d1d457e17ae173cc85f590ddc8 GIT binary patch literal 783 zcmV+q1MvJuNk%w1VUYk30M!5hmX?+d4h|a|8?mvmL_|b-dU{`9U!$X=DJdz=&d%4@ z*HTha($dny!^57Qo^f$;<>lqo)z#YC+F4mylarH9PEMeppxxcw-{0SlkB{W!mn;DV04=4w zk-#&r%#*pE(Tu1DEi5!FGBqp(H3QlL#0Ca61*{0c1qQ~!HL|vfEyV4{2igIqGrsu; z258VAph#RRd+Ok|V6~uIHAT~QJ@ht8TLERJmJtvD0D%CCH4qq(Wl9+VXv!2F004lP z$rdvL03bjk9E}+@3`%al2! zSJRuoQCd~DK+u%{Qdi+x(6qITYK^M_O|d|rC}7g1NuBzV3Uz8#ZUG1s$l7($ft!m^ zrL3{A#e%LeWeos80~-yteq{t6ESGN1!qxCj)T@XuP>&QTx4_64v?6237J}`{f+N{Q z0t66LHskS6+Z;===6v)nCu*ZB?#(!L95JWc2+VdQ!vHG*3xX| z5zM2^GbuBfdYSIN?q*VE-Lc*O*Z+-ijmDnF|JwhEZHT*;yF@lbT}oa5T z|Ih!bh^hbp0RPPYA^8LV00000EC2ui0FeL?000I5pde;sX`X1Ru59bRa4ehDU>MY< z?|kq7z@TtQEEU z0~1M^?RY3W3=4LHbQc$N9Sj~G1%hyfc93Tl9u0GNdIV-`3hk6v%f#vl2|o1E#_hv}3ikr8!KG;pxit^~ zRcJMi*aK||LVZxcV4^v4-^>{rR-u811d90oNgPG*5SoYuvIRrqftv#hIB%|GB-5aW z2Nx^A?8z}1H%J!~WV3`((X2apa;16rvZA_O7RaePS&@>xVO9;gT%h2=nFSW^skD?v zoUCLs&(u`82q(C13*Z`LaK;{9xRh))sCJ0!2fth?#f6$_Q<`19D8=(|)k9Vfa=DSC zQ~_r&s*uQ<{m=kG0kw+Hxjc*D!o|e}(%syg+L>$1d;1n^{W>sd!XFGH=9XFwL&s@4 z0aT#CLBx&}sm^`asse+Ln8iY1UZLcLZD5OsQ`Nou$$N`atr~_FH@O7peHIA%K7P@; zNKY;eP8_%Ks12>r#~;P4^Nb+UX@;4RGaev-V0MO3vIsF9aA%o#^h~%21jA%h5E>RJ z!bmWwad?s{d)-rja~-1C&jsp0GSD`eskGP`$CaYvjy(3rBQ6{Spuvzt7HQ;>NG7S| zl1w(~rwPdN~mRxq}<(FWFDdw1DmTBge6+BSo0~oaF=9_TFDd(JY S)@kRRc;>0+o^Qq!0suS8{BPa> literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording_pl.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_startrecording_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..ef031de9f1d28120898b278ef03c75aa6208799c GIT binary patch literal 823 zcmZ?wbhEHboX8-+aFv05dF;8*9>dJ)*mE1y$xo57|*gUzJUqEoez9vQWC$3}Q z@Tuh66Ks|{y-}E%qoF~K(M8Xm`;zB{#Riglg?BIDU7`MvMV(VP<81bc_x$@3b${zD zY4GabWy|ak^jktGN$r18quLyY3!clF=2f=zv2-p7$fqqmwhGgc;fFZnbrs37T((Mp}aiymlKF*NjQ+<7K>r%Tdo+J!PpH||%m zx8|JLlAj`qQN#A*H7#-*(s)_F*jy^# zT(je^EbIHL>*ua``Q75vz2(x(54svM)EGp3COa`WL@_aNd}Nd_KX>IhZ{4qt6BW2P zeHa*+?s_EfGBIuw=kZyTy5eD*6DPL%%@W$(pEm5 O7UQ(CkRMV<^TWM|Nqth|IPool(}zNZ{oG$$e_rEYli>b|5QU% z|Iz>T#Py_uq}8g`er0}QPGbAX`)pQhxRbcEkF$VgfQfF2|KI;yN?iZq|NrFwPd`u5 zr_n?`H{o1KWar=yPm1CIv>mo5PY057Gy zk-#;t%#*pE(Tu1CFD^DN2sbVUHv`%N#03R62CNCe1_j2!H?p>hFU0M}2igIqHNN== z1#H+Lph#RRd+Ol5UW!-bO}R**C}7g1NuBzV3Uz8#ZUG1w$l7($ft!m^ zrM$851%$3KWeose1Dg%Deh~y7ESGN1!qxCj)T@XuP>&QTzre^Cv?6237J}{Sf+N{Q z0t66LR^#zc+Z;===6v)nCu*ZB?#(!L95JWc2+Vebpa3fY5P~g^x$iPpoC5?@Mr)9q zR~ORhG29yZxWuIJ<3~C`z_a{FxhBx)0HeSE{{RLk;D7`cXyAbe{s#gJ79{B4fftaF zfe0;>P{V~7W~kwY9Cqj};fElGDB_4DmWZJTCyY>m2_eMb;)^iGDC3MY)@b96IOeG1 Ojy%4Y!UhBc0RTHeduROs literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording.gif new file mode 100644 index 0000000000000000000000000000000000000000..6f3bfedef7d3482f2667125fb2e348054fe81098 GIT binary patch literal 758 zcmVT z|Ih!bh^hbp0RPPYA^8LV00000EC2ui0FeL?000I5AR%UCX`X1Ru59bRa4ef!5d>SV z?|kq7z@TtQEE?P zCK7Tza=0`QW(*gDgk~0fe`kV(7HJWL7Y7}IkQWhV5Q`QHXB`cZmu8QIl9Y^Q50)Q- zfU6g02%i_5b9Z?LWpfrD2^S6?lY$Gpg9^jFzYS&=9)k%Ujc2j91W^y~=lRTyd zzY;JIDtap6fb%e8S40sEBhW?)Sn!N<0|#vM9DoW9*dTcq1vHmI=N%A=O?dEA$A=(> zDB_4A?!&k!H+-&Dddnu7HQ;>NG7S| ol1w%kBzC{Nk%w1VUYk30K@YinFw zTn`Tqx3{;(#>VF6=IiV0iHV7Se}A&FvgqjO?(XjD>gsxWdObZoR8&;e)z$Iw@$BsE z=jZ2{nVA3p0OjT7A^8LV00000EC2ui0FeL?000I5peBxFX`X1Ru59bR@VPk@wcU8G z?|kq7z@TtQEan~#$)mz)I-k&}bV{vSuh^`1`}_nTkBQ?$E}PHjw0g~MyWjA*ybO>; z!ecpPa8VS<2^WHcWEOmWWr2ehXApxI108^m7Z79(iWUcD9SV?^WR8Q8lZ#{wl^=nB zsuyJio)?;Nb$4QN79Iu{3m%ez2)cp?!MnW*WEUQS1|E!Mxd?*2f69-R9UjZg2%8EX z3m4p*(bFE)%i_x)1<*t%`hfQC&;PW1LPu>sroW+#;hs1Dr;vT7{Q3`w7G3_cAtSVhzBMZ z_`#&4tY|`h_y+fkLj({DWD7`-rD)Q7A$CyAaI-e80S^?&HJMH2IGbgCyG(}bhX%)r zzKpF#^oL;Rh!VB58G(i2n}P`k*Uvfhg+zzHC3&D(Tx%8*H0!NG7S| nl1w%k*r&ga80LJ#}7} literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..2806311fd1ccdfba0fd88e5dd7940e9d2351ef09 GIT binary patch literal 701 zcmV;u0z&;qNk%w1VUYk30K@A^8LV00000EC2ui0FeL?000I5peBxFX`X1Ru59bR@VP}*wcU8G z?|kq7z@TtQEan~&$>YIkI-k&}bV{vSuh^`1`}_zX4?yHYE}PHjw0g~MyWjA*yd02F z!sGd+!|yZ}b7uz~atj1}3KwsC26F}-ie!%vfogSkVu5=M7YrQ=m1To*3kV1a7YZE- zZj5sd1`}l-9-(QMc$yuJAEOJZ2$Ty42?z`hho^#sW)6d^XNQ1f1gsFm9S{%*pMaaD zkqLYU4j;%J2#UkP$qD5N2iw7cxS4t#oSp|C3hCS*kJ1_Nl;BV#GNa58Y_Q8rhkYLw z7?}8BPlF2+{D|APCy}ZJ5IPVr_~B3jh7%$G@mqC>L9d765YV%e>t3G&fM9u01rXW? zbO#1OM99p{#6i5s_#w)tVuxBECKw3G@#zN-DkX|jv~&W-M;9Kk`oQpIxrB1+<&opc z%mD=qc!E``V4{I(M9*A6Kme&3X%P*Sbu~djgN;sWVZGo1!2wTP8$|sINi3PN3DL$; zt1D^G!~f=%#JANgqzkA6rfOKG)Ts-}oHp7+K%die9|yrxX%gjJRRy7CF1nefJ+`bx zeG->4(m8zPl=nG}ZqGq7h7cu?MOf7V0tg&@o7Z@if_>-G^;FmHEHlk;INO>}zrKC? zmjG}GkfFc-{{RLk;D7`cXyAbeCaB;#g8ofVzyMwpK+A*_R%qdc7-p#9h8%Y2;fEkn jXhA0rGJwH}D5j|5iY&J1;)^iGDC3MY)|lc*Apih7IqX2* literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording_OFF_pl.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording_OFF_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..0cf042fca096c3eeebae22c87d37e0d6bc449a7e GIT binary patch literal 839 zcmZ?wbhEHboX8-+aFv1K`t|F(cJ1QhC+i zn>O|L_usyKyS~1D?%cTz4GkV19!r)iiHV6RD=T~V?%lq9`+R(SUcGu%RaMp5*?H{P zvEt(5=g*&8T3W7Iv*zm6t05sFZ{EE5`0?Y+nKKy}7@j_T3M8oo6o0aSjnV;;AU`p% z{Xa0Vz(Yr>|HP7_lQ~xNFD%vwT-mYi#+tIzZ>#n{*ihl4m(JgLl<{)r?)x8hWcsbY z{r<1>w)vjE2^^77}h2UhkCv`Gq1O* z_C{y%WWRay^xkm>tX$m5peiA<<9kSmZhtX@fxHschKjIMs6A6NU1%^Z z!asH6N>dGoYmclLc#f>y+%xsclm=^0-Go<%UcyT_T=@O>#G^RBf{>{9EknEB;Gm=+WqXnwUal>gkVUrLv^&*DwqWhQR! z5+=`h#%UJMUiKX?s+4m0))e0lQF~L!DpgVXfM53SlQ0H(4`|x2GK)p_TqPG6I1G+yJnk{MmhrgP z;@OJFeKy}-B=<;rI4~*-O-Oh$(L-(JlSw{iFP}^faMOG`B}8fFK^7-JfkV?`%3eO5 ap3tWGY(~no%x5z*mfd{HD$c^lU=0A@30r9Z literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0259410348526d42f3ae43c3aa57a7eaa1caad6 GIT binary patch literal 778 zcmV+l1NHnzNk%w1VUYk30M!5hHa0d64i1)(DJdHp8_v$oQc_YxL`2uu z*TciZ($dm#adEM+v7Vluqobqc<>l4Y)!N$H&CSiHr>9m{R>Z`_larHXW@dwfgWcWT z$;ruUYis1>ISV^jcK|Z>Z9Qc*o+wg1SFuLh@pT217f-2Hg3_i8W4QRBS~NY z0D}Jr&^TBCfdgZ`Y6M7t5kU?AkRofSdKOILLr&BriW=oj5rh^6IMyhoNJh(SH2|=) zCY2kFe_Gpx`=^tD1Bx{qwAknit-Kmmfw`jkldMCCpB$bv=?#HYtTJ}W9BJ1njeLp# zfF-LHDp{B6Y6vLRYjQ1lffEd#%CA7-Xn2k8O>E%fUssb`B+L3at1)B&7I)+sThZB8 z6KD9XwX9p~af@YXaGgWDHnkz$R;Wtfn7qe$c_a0k{c%J;)8f zbGUw+8ZBKJiY&J1;)^iGDC3MY)@b96II>7W I0zm)(J7?2Y82|tP literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..94f9de9d67f7767cad0dbf53bd0c8900613cc8f3 GIT binary patch literal 699 zcmV;s0z~~sNk%w1VUYk30K@?!NAsdYQ(a#@(^qjd6{MZi$0wgNSX2T}oa5T z|Ih!bh^hbp0RPPYA^8LV00000EC2ui0FeL?000I5AR%UCX`X1Ru59bRa4ef!5d>SV z?|kq7z@TtQEE?P zBouP}bMg2+4-I>02_AF}2Yw6}aeWAN2p)`Pkr9JycXJppdtcm3)5U!a6l=VY9A_zEhAPdb~c{1hPRtTqMW=Mx~ucZqa zlv6oL9cgq%|M*G0u8+cri9{)=MYvUh0}CLCv)9-a1Apq+{cHyhEkn(5jOUt9zrOuC zyEqKcz`wu${{RLk;D7`cXyAbeCa7RIe^W6c00Or}DB*+@R%qdc7-p#9h8%Y2;e-`9 hfPe)KU|`~jD5j|5iY&J1;)^iGDC3MYqDWE*06UjbG~NIJ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording_pl.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..562822d954771cacfaacdc4c3a91710a8e1d9db1 GIT binary patch literal 876 zcmZ?wbhEHboX8-+aFv1K{lWL=m!B8l6)1=*P>@o%zvaGxy21bJ{}cQYj?Fvv}=LNBkp{Qutn-P3l*c*We^cz1LE z=KVAG&#ao+klyhB{C@`%hyAnm$9l!S-S_tYz&! zU=wseB*;$;Z2u2*PH@qY>OZlh=wy!7{0l3tWO&8uEn8D|`fb(z2OBDU^k$#G?W~n( zWnlMVM~$8T&G$d{)SZ9-`+q~DW=TtHiKduro~A}`U;l&&s zlugl8RF_+w)Ju^S6pYCbEAs;)m*+Z{#7iy9w}a5v0qbxiA|w` z^;`s3%4H$5BDP*e<<^O-ZVIQqY+<4G~dXDh-7-Ms=H=8Je1fnctk@ z5==_4pRTK`q!I8TZPUEdWmYb)GbXL_OKCS-8=`Y0XvyL!My9Ek{2Tmqf>|s!E?_vg zVO7<^EiDJGcKVq0&rRj_eCxa|Pxga%qD6LB&(2q~4tcN3cV*mV^O!NA!C+qYmJ`1Y zKh|ft$+XVN#m-{pCgs!n>Wk{$cr%>6_W0GdH7eJY!q@2vwlpjVd+xS zPeUT4qC_I7tGq?xP|G{h63M707R@IUT$m0iw_d1OaDcIL1 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_stoprecording_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..8a76e8605464cf9539f20a04d82aa76d4450d482 GIT binary patch literal 779 zcmV+m1N8hyNk%w1VUYk30M!5hL^edbmb(!S5qDpAnR=NsDKjD)BJRHKW>RMV&i_?J zRsYxj^uzSsvE9a=#*J}}|I+`=qs;&1|Nq+m|JDDbgQRR$Z2QUk|IPn^W`O_X|MkT6 z$e_r%l(~j$hKX*8|K0zykF(;n;#^8x|Kk7u(f?FKRANqI(WlY4lej-KKmXtVj&hEE zWq#GF)rf6~?Y`|@N?rfs|Nq(l|Ih!bh^hbp0RPPY0000000000000000000000000 z00000A^8LV00000EC2ui0FeL?000L6K#4>nD;kf;q;kn@I-k&}bZR6`5-ZST#_f8) z;IMd1E}PHjw7R=UaAuSeZBDP-@A$la&+q&HfPr)vE(8k@2{($1jE#wort!Oq5%N|HUzti00IO7qOQY^ z0Sz_E%agdC(Tt*tHZKPNHUi23F9HJus|5`=11|;zi?OweFA?bK1rY|UH8(G&Hv|Ca zqZB9#a1X$Ne&x=k>ISXajcK|Z>a*bsSdAJ20w}Pdh+%*N17f-2Hg3_i8xefTBS~NY z0D}Jr*f>}KK?7sGZU|6-5y1`rkRorWdKOILLr&BriW=ojQG^!-INm6w=s?SCHvq7+ zCY76we_Gpx`=^sY1By2qyx8aqt-Kpnfw`jkldMCCpB$bv=?#HYtOs_=9BJ37jeLp# zfF-LHDp{B6ZUiXRYjQ1lffWp%%CA7-Xn2k8O>E%fUssb~B+L3at1)B(7I)+sThZB8 z6KnXbwX72q=Te@W`Kxoh(tC-T}oa5T z|Ih!bh^hbp0RPPYA^8LV00000EC2ui0FeL?000I5AR%UCX`X1Ru59bRa4ef!5d>SV z?|kq7z@TtQEE?P zA`-H^aq0UPe0~QVXcHF}XnhZ67Z7F$h6fF13x0i*mVFB!5SA00aSaC-69{Jy7JU#5 zl%%bbfq!y$c?M;neI5y#79I|L2_B{&3%Utt9v%l~9v2@7x)%x_j?fBzlhLvl&AADS zZw?;U$&(Agzva)#h|q|=znZgndUVZay~7hpbC>2`8g6GG z2z%43AAfCC^MO{qISxPnzys!C(}P_vmoc06?H&V#2P_P;=7-s? zo*%gR83(Qnx1wi!p^=EdS~HQpRLwDIt4>OI(-g4!(102OZd;r6(&)@g2Mc7^UF+l1 z5~F6p4j^S

84%Xu_5?lg}MDjqjp1no6&#y}cv<^%Iwj9W!T)o%Pzr5xVz|hWF4xvP$HiAfinYTO%W(i@R(RKXZsXbfDkOCWn{wZ z>I{naLr0`*I!>@K4bi>?5U5jI7ud3EIqiKFn|UWR%qdc7-p#9h8%Y2;fElG zC}M>nAtC?*9i*t@iY&J1;)^iGDC3MY)@b96DpFuUDHTkB!H+-&Dddnu7HQ;>NG7S| Ol1w%kNx3{-0E-uE# z#)*lE*4EZ*YisN4>*nU>=;-Kwe}7zDT(YvV?(Xh$b8~undObZoR8&;e)z$Iw@$BsE z=jZ2{nVA3p0OjT7A^8LV00000EC2ui0FeL?000I5peBxFX`X1Ru59bR@VPw{wcU8G z?|kq7z@TtQEan`KiNnEZI-k&}bV{vSuh^`1`}_nJ4#?v}E}PHjw0g~MyWjA*ybPE` z!sGYi!tW#YeFGh45*HR`d<XeKVFW*|NpUbZNDhu$W%A9~gWC z=7@1p4}&t}`ta?OK@SYpQEUuyj?_Gc$+q6C;Mmdv2M#z6W^5V00~Q+i@|aH{aJo2u z-uPi&p-p|(a-@d-dfJZ*!;*PzNr88>cd^_Uw4 z5_|zKQ{dt*eU<&S7iWXb0$WH3CaB<9f(*VP3j`bhkimo$R%qdc7-p#9h8%Y2;fElG zNTC7*2;c<)9i*t@iY&J1;)^iGDC3MY)@b96D_S4{0ToDq!H+-&Dddnu7HQ;>NG7S| Ol1w%k+9=(e}Cxc=-b=dva+&VTwKS;$L{X#b8~ZgdU`!QJ*cRtR8&;e)z$Iw@$BsE z=jZ1D005bpndRl>A^8LV00000EC2ui0FeL?000I5peBxFX`X1Ru59bR@VPD1wB2~F z?|kq7z@TtQEan&s2!p|CI-k&}bV{vSuh^`1`}_bB49DU_E}PHjw0g~MyWjA*y!?PP z!eh9>!si?2X%!X`fNvHFfCqvW6$f&Hgl~0sVsU#29S9bGg=H6+7M*Ps7jp-g2&j&4 zpPF!!cyphn3XB8>3I!bnr3r@w1qvUz9k(B-hz1=UoQwqs2NuPMwFw0Th#v_A9RiMr z!@9hq9i<;01Rm$Q7Q)rnh{&&Yv2wE?p9G}W6$GIb9X56QAb?ke2&Xb70BAs2g%8UN zBoLraKnDe%3iKl|ETBV(5Bd3PV*vpg37Pu;6~MP^<1vNvDCLQB?^Ct|7d#aB*Wnw_ z0uf5xv*3?ts1A{K@##RSgF1j806Iz_jOhoQIzyFNNU97UGZLcqJXh}1(+(`nNupQD zUb(baOB&cImdw`!2@GILFqGGY3soON6!7Y6~0h8%Y2;fElG uDB_4DmT2OMD0X?n>xPDgXV0F!c=6))?c19+ZK|)YU$SJ$zJ2?Ae0*YJV&1)bckbM|ii(P=s;Xnh zjyXF!U%q@fGBUEfyu7osbIqDH#l^*zmX=qqUVZcCO-M+{$B!Rp&Ya1>!0`0xQy@tR zQ2faP)~*90L4IOj`+s0^frpM%|A{3=HzTd)UwELoMfD zY_U31;3C1(SmU>R^}8Q?>dwFa9m>nVT;I~#)?QKCRjehVz{Ag1&Y(P1S*clTnlhVW z#q6nET2p2-ELP?%SLQC~RxamSux9yc_L?PAXH+P%O`oZ?Zt1G2&CJtw@7<-PxZ?0+ z<>m$JD+C0ECQQ;&(&SL$xKpmlsHDWIxoFljP0e|?S*I<#t+`F}va)8m;-hJ67#=-i zse5?yTCO7(^W=X^H5$}!a4>1Qv_z+C9ki-hEMgQ=n6QwG^|gy6hd|$fWj0sWx$fG0 zb~0D-!(}fg&v<@&%e1N|iUEQCqR0Nvta``mrI5kz=PSXV&oXB7X@y3SbrCjSOP)ldzRBWwKKz# zWxG_1YcJR=r-g=i95->-WeVILN*w&%lwb*Qepo zrZZ-*-)z3%ru}xym9Xr$TW_S@Uc)BlqtL{v)}sAx$CGKaewwmYNt~c9WzuWyd KEWlBK!5RR44!suu literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_transferconf_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_transferconf_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..ebb69344df2710e3a49d46a4b8be8b7e075b1cee GIT binary patch literal 896 zcmV-`1AqKSNk%w1VUYk30M!5hmX?-ZUtb#=8x9T*qobolL_~UedQwtSDJdz=&d#y1 zvDeqv!^6X#o}O`WanjP#<>lqo)z#YC+Gb{E;^N}u{f9gM)*hprFLW#A|D7 zkB^T|PEMMdnzgmH-{0S-r>B#Xld7t!Zf zN=nbq&)M18h=_>3zPnT`qqG6$0~q?9VC1Fe=SG6MvYF#@)iD=U_porsVsDl4oi0Huwz z0S1!*3a&CMDg`nDmof+{(ULGQ1hSL_x0S%2lC+8j)G{yz1Jls~^wTjj@G=4h1gI+n zF^mmxMu6IY04to)TQQ*9q8Ol=pJvt{WlDZkRwt1MQk(9Cj1J+2%C;%XUik1Hg#Ii;Jz(uD%hl*3=R3;;f0jxRu z8I)rH0#XMQm|?5{v1>hN)Czz=#;pO{2KeeVLx2Dkav{V=BzWwLS^`YKt~DU2BaUek>c8?s(b z=xjQ^*>6Q!x}otMK&9a3PyomU%aEDa*CU9kOkU>fnXL1|g=xV+o(%Ykn8+Du40rBmZ@S&^16cHVT}7?~0BD7CtW^F00+o_zM{=bwPmi2(@~pfEuPEhMVwqKr1` W=%bKED(R$@R%+>`i=I$G5CA(uS(GjS literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_transferconf_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_transferconf_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..10cfa495e22198ce1fe7c347d6befa0ad7a00e78 GIT binary patch literal 714 zcmV;*0yX_dNk%w1VUYk30K@UQ_#-7HFagAnDX5O;i|JDD9ZHPoRM7x%|T}oa5T z|Ih!bh^hbp0RPPYA^8LV00000EC2ui0FeL?000I5pde;sX`X1Ru59bRa4ehKU>IAj z?|kq7z@TtQEEU z1CR*WJXcu$e+qVN6&4bMauy7O3xyUH3w4Eua(H@WbbbvU4HklkXcwFopl}rzb_<&g ztC4b|opY9ZcA}^bj|d752_6Zk42lQ|4j;T8x*w~H3LYMxj|mM67RZaZ3<(H}9}EZ{ z1(Axzy}za&s2?2&9qPRn#n{@5%d&a2b+#X(2&dW=2uM}%;0fG^0>3IqP{oPCKn2Yz zd~l|KL4ke+JU9@Q03ZTm1S3wA_%9$F3k}x)OyC4C!9HIel{K_?i4PrpqPQ)%&>?|9 z58{3%kbp{`g@8v%d7$L$kB3tp+70|LFcO1ePe1JJNeYd_Q)vFAnLrh&I&`9>dU%~_uTtni0suF^K{ zfL88QeKhgil#3Ib0+Uleh)s~7181nH21+Nk%w1VUYk30M!5hpMReq8X)h#?+^_TP(V;HCNN-4V6Tj?-?HD&rq6I% zaR1l;|IYu9a*xKI#`MGV|I+`BagDo{yZ`0?)2Y*lZHQ)4W>rL0|K9)KzTe-+-`%m@ zN<2znQef}G?}clHpMjs5dYRs`-j8&Tq=TftnZJN$fIu@q?Y`~*&;S3~|NrCvs)(vx zN?iZ|0RPPY0000000000000000000000000000000000000000000000000000000 z00000A^8LV00000EC2ui0FeL?000L6z=?20EE9{iEw0g}RFBlHh0+OoR@A$la&+p$yARc~$goTEK3=|=A3@mI{svCyoi7rl2PZ2%EByl9Zbz1e2Agp_Y-A0+P46wl5_oq@1as zm7U9u4-OHGjwUV!CI;7zE&(Pc1umb;kuENp)&-KH)-JIw%O@_5CEb#y0NvpOyRz2U z3S1CylrKQI0-I1p8sNeNH*=y6n49-Vp9_R95L|qbz}zPS0k{pgBrDo92#sD?)AS-7 zw`KJl%F?!Mr7V@^47`A6iDJzEoAN3h0MKufO->XC1gK<9)GQbLUJe*&U}VyzIGqNV z*T5X90Xla+yJ?adPE84vzC7i^DZy^L{(WOU_id!rzwt>X4YDR5+(XwJl1xT z@$!RNrq5T~XTzH>1PC|~PW0dg1y#L&AyM%QyJ0zYf<{o~)sam7IigWG2n19BMqG?+g*jDklXP*EA6cCGD$eE@|I9g$aqG=Ec_`+5?*%p9{=*?K5 zM3%`YA!#WcB@13#376e_znSBZP0#hD*J-I}Gf@G8S(pz-2PhSee@8CEQ$VTNmZd?M zZKBOU0+^GUY7>=2VM-;K(3?L_#hDrcp@pVNoO$jkrz7|gBom%_I+egTYr+?2Z{O^K zKm#Tus#2aNI8`Y}G65jkqmkYeCrgm_lP4x_o|KY=sHUpws;su^>Z`E6nm~*%l$F8* zDCDZ^uDtf@>#x8DE9|hu7HjOVB5?4*t{X^D!3z{fz{0fDR%`9G*k-Hkw%m5>?YH2D pODzc%SRjE37PO!k?z-%@>+ZYo#w+i<^ww+dz4)?w!39A806X^T&B*`& literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_transferconf_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_transferconf_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..f008e92ce2a9964784b496171d52eddc9ad04287 GIT binary patch literal 898 zcmV-|1AY8QNk%w1VUYk30M!5hcVBnAmb)SwA`uP|%%jXzL{*u3neM*sW>RJ|DKr1h z|J||O|JVP|Iw$>;MuY000000000000000000000000000000 z00000A^8LV00000EC2ui0FeL?000L6z{v#jDjJW-q;kn@I-k&}bZYEG6dF+^#_f8) z;IMd1E}PHjw7SbssA7_gY)-G+@A$la&+q&HfPr)z76uFt3N?z0jE#a2LiU2EiIOtorsVuEG?`o0i}(! z00xr*3$8RRECnl=pJvt{WlDZnSwr!ZEk(4q21lCB=C=dVuihR)B=!z#;pO{2Kee#Lx2Dlav{nEKTHO`|Fu;mz0!4+5 zCHRWduUY}USUGj3)~5hSRTp(DStG&R!<9qR>V=BzWwLS^`YKt~>5LiyUei4g8?s(b z=xjQ^*{?-fx}otQK(*lJ&;ZB<(~z0i*CU9kOkU>fnXL1|g=x(|o(y=4n8+Jy40rBmZ@S&^0a)~TokcDL0ceGDtW^F00+o_zM{=bwPm=>ZBMd{Dv#E+nexqKr1` Y=%bKED(R$@R%+>`ih^K50YLx&JE4W7SpWb4 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_webform.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_webform.gif new file mode 100644 index 0000000000000000000000000000000000000000..4d5228f315a95554722d2f1f2ba7a652cfbfe1d0 GIT binary patch literal 542 zcmV+(0^$8fNk%w1VUYk30K@(4h=@c)L|t87 z?d|QVs;U400RR90A^8LV00000EC2ui0FeL?000I5;3tk`X`X1Ru59bRa4gSsZQpH$ z?|kpK7{zZ$EYcDOgwYfTh%y?@Q^PPsuR_ID6X=w*+kvRF;0i_7>q0z;8bsjp5~*C0 z0v^Jr;qfp&1p*%$9$P{g9tBYX9sneWicw+<9s(MC1$u;6l>`8N9wLMu8Fn9ZrXz?Q z1ce@~9!`WNh>jl}q>qgx1BrSc2D!6njh}>$uBCRUsUN)=xSs}}rJGk`hzl7Rfq$xr zZXc^7ty0#64W6W=)Va$^%_5eFfEtKm=Nj0cefqkQZ)%Y!G^h}x0D7neuqS|;DQ3;^ zXea>8pr}wK1UieQ%hni(BTJr4xw7TUm=`

C>oFt6t5zwQJE90)zknJMka$ga7~l literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_webform_OFF.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_webform_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..64316ced737605d7f1754494f4d37c999f6a11ef GIT binary patch literal 615 zcmV-t0+{_rNk%w1VUYk30K@hg4aqR5uR#sL^OG}}lp{1pz4-XHtw6xOF z(&FOcEiEl+X=&%@=ZA-fe0+S@*VnJFuUlJN#KgoN9v*mjcsx8j(b3UTQc~~l@8jd+ z>FMc~mX-hj0O8@`A^8LV00000EC2ui0FeL?000I5peBxFX`X1Ru59bR@X0O1z}AfY z3b-EN9(}iHyTKnF*TTSN3B0Wz4ejTcz|yzD;@I78rMUfL6VC!WX$_=db7n}=t_c<_ z(2`YVn5Pfl%7hEV@K%Lr*RCmSH;_%hQzhHvB-=IX!Y)Z2FF2eAOQt(wpVFDZWeeA@ z0<9DlaEU-+$~7lZ9Zj?90t0$Jt5G|n^FzEo72lO%hZUoTPv;acc&Bg|Bcn^vBu$%U z*VjbI0`-g-QI`jZ7LHADr>@Lcm&Xvux<>&40+1Hsi6qIE&Nh^d;lXl50hT{&(*n7j z29)m^1r}Z*C_wR^*8)a=B|sbb!`jxcV@EF4Bm#!pxO3~?&AYen-@t^x%21Hqf4Joy}I@5*t2Wj{yeV%0R%FLA5Xr#`Sa-0t6$H)z5Dm@$@2*T06V9> BAbJ1* literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_webform_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_webform_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..75a5619688a3e2a42a61dbbe8fa79b3db34ebd4d GIT binary patch literal 661 zcmV;G0&4w7Nk%w1VUYk30K@{eD*OG`_kp`mGMX%7z%EiEmyw6q=` z9^&HS($doB=jVrqhu7EFudlD=<>h>Qe8a=T@bK`ZrKNaycsx8j(b3UTQc~~l@8jd+ z>FMc~mX-hj0O8@`A^8LV00000EC2ui0FeL?000I5AVq0pX`X1Ru59bRa4etPA_!cr z?|kq7z@TtQEE?< zAQEzY?YQ{;343uD25<=%4sQemW)^;p7ZYlSiGpl*c@brnXBHj^e}SBB9v5&E78Qyf z3?B*}9+C(LYZV?AqiUFXxt^+M9S9x@xF3WU2Zsh19tI8v2Z?=w(;uZD49v}D$H|Bv z2?QPo2CbbQ9So)D>Wm4(3W>G^uK?zwyPCNlo}h$b<17g4V9f)8RO1Z1A~uen2UWhT znF7#Em?~HYZQ*)lKwP0S32t?G*i56V0|Gt&B(Oz}SuuQgc#Z1kr;sOt>P!tYW6LHw zV;&qrd?=A;1!fl&@VwR2jIcBZE_nI?%G1hW7la`!lyhIcO*4s}!+Gu62a^$*3H@Mz z=rsce2p}zbmgzRCLD7iI%C;1(c@+XrXxcT`*L@MsOb9rTE?S~$`@waq6XmOmrs{5N z<}r<@Z4Sm|hSu>wU|7p;d5x*Bm)JAGh7~jWSe4prpTuEyh*C9e)!`D}GZXUXV%6Y; zp{z^qu3^?-_eq~ly}GWL8y;ZT&b_<$@8H9WA5Xr#`Sa-0bDvNESAqf^;>({;zrOwZ v`19-E&%eL_|MOV@Kmh>^kimfnCaB;Nf($n3;DZoGDB*+@R+!)-Apih73uZNM literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_webform_OFF_pl.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_webform_OFF_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..cfbd2d921a91f49f7eed5edfd8e7efdcba91b828 GIT binary patch literal 788 zcmZ?wbhEHboX8-+aFu~!<;s;kJw1GUd`FKSt*fik($czo`SR1JPoF=3{^-%8>({TZ zU%!6)_U$z_HKC!QGBPsB$;s~S?z3jiTDWlGn>TMNDk{9ay?5=})!yEIqS->RuzGki$`wne$}#V2Yd7D*L!bFRAFUf=4YCD^R|!*OUzB}utf)UXqOr+YtMSJ}oPz+yUSp+N(er-cN=g%qa=e+4)TJ~X(j%2@nG zwrjzq$H)Fh%hsMNQtN%PB7=Kkp~bY!c}5d;1Sf6SW+1z;UPxhqisU*q+jW0h&OQ3! z_a-2BcF(NO)80C^&k|bE)$*cfl~Y!jx5bWa<xx-2#m%lAMJa;g6~gygVkG@%*0c%;pof z8rk=s^Ji*LU~HOhFhNI{{eD*OG`_kp`mGMX%7z%EiEmyw6q=` z9^&HS($doB=jVrqhu7EFudlD=<>h>Qe8a=T@bK`ZrKNaycsx8j(b3UTQc~~l@8jd+ z>FMc~mX-hj0O8@`A^8LV00000EC2ui0FeL?000I5AVq0pX`X1Ru59bRa4etPA_!cr z?|kq7z@TtQEE?< zAQEzY?YQ{;343uD25<=%4sQemW)^;p7ZYlSiGpl*c@brnXBHj^e}SBB9v5&E78Qyf z3?B*}9+C(LYZV?AqiUFXxt^+M9S9x@xF3WU2Zsh19tI8v2Z?=w(;uZD49v}D$H|Bv z2?QPo2CbbQ9So)D>Wm4(3W>G^uK?zwyPCNlo}h$b<17g4V9f)8RO1Z1A~uen2UWhT znF7#Em?~HYZQ*)lKwP0S32t?G*i56V0|Gt&B(Oz}SuuQgc#Z1kr;sOt>P!tYW6LHw zV;&qrd?=A;1!fl&@VwR2jIcBZE_nI?%G1hW7la`!lyhIcO*4s}!+Gu62a^$*3H@Mz z=rsce2p}zbmgzRCLD7iI%C;1(c@+XrXxcT`*L@MsOb9rTE?S~$`@waq6XmOmrs{5N z<}r<@Z4Sm|hSu>wU|7p;d5x*Bm)JAGh7~jWSe4prpTuEyh*C9e)!`D}GZXUXV%6Y; zp{z^qu3^?-_eq~ly}GWL8y;ZT&b_<$@8H9WA5Xr#`Sa-0bDvNESAqf^;>({;zrOwZ v`19-E&%eL_|MOV@Kmh>^kimfnCaB;Nf($n3;DZoGDB*+@R+!)-Apih73uZNM literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_webform_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_webform_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..d7590d66ce46679810c1cf0441b664cde042b36c GIT binary patch literal 583 zcmV-N0=WH0Nk%w1VUYk30K@E0aXAR9smac0YXern;&i;29%W|kC9d%1a$!b zcOz&W25ug(9$Ey71ww!Wc?_*KglB0@Qwtse8HydAwQ|P*d5p&&hSVN&pA40X*v)`~ zc>r}&BLsmR*OlLR$chAjtCWqvNrl5w*2}SPiz0wiuN-->HmBOB4;U~|!dAdvpnoD1 zl?b2#%?CAT-YwFg$k~*AID+k{=4uwGPY2h;Rii}k1AuFu-T(+NU|~#$9wQDUQHP^T zH-2^{#IOJ&$QvSYkQ8C8oynAeTCzkVU?xnI$ns!&gD`5iaV5}X{T3 zX+2?wMkHF)2&$l!14E^$v(*~1sCH4QVpYPNNn>qq9TT)G+>WG1B1@he>;Z?%m@{kM z%(=7Y&!9t#9!hg{Y3Yph@jZS0tJY+xu(C1pFcqy`&#%JLesrcP>-P04FRoeV#>aGY zvq}vslPlZy3(5Nr9&%y1T>1X?wDUJrxS7v?x-s$AUS}q5i3tKBUH+St_};JvZ}*#` zSyAJa`S?rXWSP2ocOLF`Ym(ipbWYA>0sH!C2NG4MFU{VfcZ=Ohp!8(cQHGWS?1%2u zUcPQ9t#zkfRcwvWuT@u=7P2bj3VrEFG^lgoJF}xyUZ^Z@e05w~dHbES zyHyYKDK&A+`|a8B@$ret+VSW1?EL)vkh#x>0H&rEfg78%@1NVd`}_L`hr8wd_wD)l nMn)^(0E5!uj_)5HpPui(f8XEVKR&;{e|~@cA8t7oMh0sD7i}lj literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_webform_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_LB_webform_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..d7590d66ce46679810c1cf0441b664cde042b36c GIT binary patch literal 583 zcmV-N0=WH0Nk%w1VUYk30K@E0aXAR9smac0YXern;&i;29%W|kC9d%1a$!b zcOz&W25ug(9$Ey71ww!Wc?_*KglB0@Qwtse8HydAwQ|P*d5p&&hSVN&pA40X*v)`~ zc>r}&BLsmR*OlLR$chAjtCWqvNrl5w*2}SPiz0wiuN-->HmBOB4;U~|!dAdvpnoD1 zl?b2#%?CAT-YwFg$k~*AID+k{=4uwGPY2h;Rii}k1AuFu-T(+NU|~#$9wQDUQHP^T zH-2^{#IOJ&$QvSYkQ8C8oynAeTCzkVU?xnI$ns!&gD`5iaV5}X{T3 zX+2?wMkHF)2&$l!14E^$v(*~1sCH4QVpYPNNn>qq9TT)G+>WG1B1@he>;Z?%m@{kM z%(=7Y&!9t#9!%-i^U<0Yt_C0RzD+x(KRp!W}C(G2Ae5N+^6UdOwJZ4Oo quxlvrAp`*)0%+XGvExPxAVZ1-sjEa*$p9i`z{62!H!8#Drd?ok z2@{2e$3Ywv3K0MlfB*(`4j3Oj9|UwB8cGBjfdG^fe`yMY01R{jKp0YO7m@%RU=ezM z2pks*2nqlLFGfs4w2?X=5FG#(8~}f+2OX+CL$n4J%*#3iA9ny53IQDu!V0Vu$7&7| z4Gj`>;8LK{ud!x-2OJy_-D_1?Q%N9kSU6u_naB*T#btI{5%dJEH*1KUDz+ xBAnPp-;yRx|_vNxXQrb?p`h;qQu1|7!xzIs_Klqyz%no|2J;@UsrdjzyDoY+N##p zyT-<$wzg^W=l_q4oU(WC|3ioVo0>)%83iv`@c-)7|LN(gTUzey-~T@)W%-pW{|gFs z2L*L#YPy^|_dhpx>*me>)zuvt7#L>G{0}6l4itZ~fX&naksv=Yu>C*Kb<9~us{h22 zqLVpR^Dn$GessXW;l`S>({HQxKiE*=qt`DxvpMld-tPM!cGUQ-zy1ElA6dqL*Z&(D zo0?l{>gr`XI~h2YS!9{>Wf_#2Wo2@vu_!ZiP0#P2H(_Ddj9eL6-n_ZeIdgNk=T7fc zUNmLeyzTRNxJuiy>y?-~S(Rj!rInWD9#fW4Qks2!t?V&b#>H_+niBwZKG$J zmg6?YQ!Xp4*n2PSN|Bb&6FQN0OM0@hh{T`k>@(y987&GJ6qN!KVLa zw)wP?A(GZgOhM$|{BI8+xBx+9Wk2UnK9onV5WIs^f#R znc;TlJvw{6`l~n{W=HTWTX}`E_1fIJmksVG8adQfJdo?vees}KfawrBt9VVq!&Zs3 y6%X5F%3dfxY*%R0c+{b2r_jhM+_K|_vNxXQo~A0IC*EzQfzTUAxHc=2LQP0bZ6R$RV(`NoYK`}XbY=;+wE zaifciOJHE&`Sa&nTU$45*x>H&{_54MmoH!5yLYdwtn9&q2lwyacXD#-?ChL6b!u*I zu9=zH#EBDc-n{wj*)tOp69xu`GiS~KNm>BKpDbWwbwDJ@PYi7T9Zo)R){*Kzv83o^ zj@A4NFD^gY5nyv;P1)(URr?=osPNJ2m*qd=cqDK4{SP~8{MO%o|KrbHhJe@q8ycIM zTWad+WjZ?Al$d3tbEdH3ma}bx8)w%#mTjK zMnjyEn8alV;~?Foxzd{yH!N&yVBmIfd1_E9zodqB1LL==Mh^_ll&+pSy)s1AWQ*!a zw=1tV2bs-^-Mp6h?uIpYXRCjg)(HzfLGMow<(rNMd%E z+A;=46ODR_idd!`UhxUc8yIK5JHFiH)RdJ~3fVXGKDV?}40l7xq?5@{zP`SwsHoG^ z)7aS9qobqG&(G@W>fYYou&}U4M@P`m(20qO;o;%m-`@@n4wjadHa0eGZEcZ}k=fbV z=jZ1%G&BGJ0L;wHA^8LV00000EC2ui0Eqw)000I5pyP04X`X1Ru59bRaQsqD^=x>q z?|kq7z@TtQEDjrmh2q0(I-k&}bV{vSuh{H0Ay8_+;IMd1=6XLF4~FUST$lk%Gu^fr zn1zAoz-Y$jZ60<`7=Z(Q7#W0$9so>+0|lJ}85suy9|UR{1HiYryS=}Ji5V6FACOIuZJ*Qt8HI11Y1jnB z%Ekz|x@e7{q5!4<9(|3yckjJuyuQG%ofsAb1_8DP2Lw1mv*tqqQ34JyArRmbK!N%2 zh?;gvz#3_f7+G*cZ5xJxl(uD)$mHQbXC4Uug!&Lb022W5wy}{(kR(2W0SsWX6(GX} zPR=msyLie;&!3$v2vtgGfKU&*Fh*nKsbfSZwqh+Ucoe8m04skE08p;dn>|8Z1|9n0 zX0{9oLtPl>6RK7Z0T4`WqL*$cT|x2co#s@ZOQ{`&TCIsyq*B4R>H@|PD$PQjgXDce zi$U$BcnkRmdJv_>KCpv#sFeiWguXc9V2Y)Xr8`Go~3nX zHHD?KAV9#z`IKPO%Qpqp7u{Y^F=s(@0oloAkRBK?Fpf+MHppBdZ4B@RhL%_*3?p@D z(%4mhDac?!?2O_MWXz!w$R!2IbrTsh)@b96Rm_Ovjy(3L1s4)Ppuvzt7HQ;>NG7S| ol1w(~|_vNxXQpFEiD}%A0HGHR8>{AZ{I!_7nhEXjuk6bT)uqy#*G^rH*VC_ z)LguH@%i)TU%h&@VZ#O|C#SNqvU~ULUAS=J;lqb*ZEg4O-|y_~ba!{>x zS#ECb#EBDc-n{wz`EwH!69xu`GiS~KNm>BKpDbWwbwDJ@PYi7T9oio|>qzyVSW77k}^tCU5YXbx@Puv_A4##UclTTrNq#v zt7HLVClkx6g;Gm$dgtZLR-C*3@Vtdb+p?$2C^E@#NlVMfNHXQHF(~fazix&S(_ALS zgNtsyx+$~n`pw&`ZrtQrFiq*D5(C2w#qUlM+>8erW-}@>v3Q7`ms`Oz!AK=JxsTZ@ z;&+JQ;xL8<9qIW-Ny)+r!8;kaV^*F@=)BX$Ai{nl%Xo6o#z|6lZAzw|b7=ctz(MI^0ym&SDTV31Xj6>FD1auU_o#1#6A=sZDoSzF*Ds3Y=g#F!KQCxD9cTO)Qm18j_0HQgm2atyt{JaAZ*B8wGMZDL8-aF}iHN z;mhPjA#9AiY7Pds6ij{Nr5ng9R* literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_blindtransfer_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_blindtransfer_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..fdad633a72c62d52421726d166b2b1c4c1fc6604 GIT binary patch literal 758 zcmV+0|lJ}85sxz9|UR{1HiYryS=}Ji5V6FACOIuZJ*Qt8HI11Y1jnB z%Ekw{x@e7{q5!4<9(|3yckjJuyuQG%ofsAb1_8DP2n0Anv*tqqQ34P!ArRmbK!N%2 zh?;gvz#3_f7+G*cZ5xJxl(uD)$mHQbXC4Uug!&Lb022W5wy}{(kR(2W0SsWX6(GX} zPR=msyLie;&!3$v2vtgGfKU&*Fh*nKsbfSZwqh+Ucoe8m04skE08p;dn>|8Z1|9n0 zX0{9oLtPl>6RK7Z0S-)UqL*$cT|x2co#s@ZOQ{`&TCIsyq*B4R>H@|PD$PQjgXDce zi$U$BcnkRmdJv_>KCpv#sFeiWguXc9V2Y)Xr8`Go~3nX zHHD?KAV9#z`IKPO%Qpqp7u{Y^F=s(@0oloAkRBK?Fpf+MHppBdZ4B@RhL%_*3?p@D z(%4mhDac?!?2O_MWXz!w$R!2IbrTsh)@b96Rm_Ovjy(3L1s4rWu)&Z-7HQ;>NG7S| ol1w(~|_vNxXQpFBBJE(UT$lf785hGzyF=FacElFs=B&M%a{M(xbc5$>s@(y z*me>)zuvt7#L>G{0}6l4itZ~fX&naksv=Yu>E)NJnF0?)qi41 z(a9XE`4?UoUn)p&xUr_}^xLZa4>nZz==Dp_WJx-bxBLEw9W{RIZ@>TX=dVD(>;Dan zP0cMebva6%ozgO03_Q6~thq7_IkGa!EWJ{)%F zvQct_0>gGQS+STV%Sp>Rn3zQ}GFEY=SFU8Ct0F7bJ`Dq{aA_t6717l$;p>hvvaZ;~`XFp(SXQq{ z%^T*mXRotz?*7ZVJW%?aAQxN6li9v{vAY+nHQJ{(-C_BDHPe$5S zW%CVRCNG-8#>lJYU~o&p)Hi;b$&!T*y-$v~wQv_6K4|&h^1EB3*{&76j7>+G{DKoQ zFI@~~36S9GKAKV7qqLZ#O+aUpz!xzK$=(GA^Obc}4lzwwb7{7No~HYO39LVama>I~ zTFR!kY&@hWvVOG_!Jyuule@!`TPbptrrVg#Ijy2>`<%HU=_1raO9Za aruA~kl(4LqOJ}65dbw;)*{w_g25SJL^|W)2P!L_}4iqs(7lcN-fbv9aALDKm(O zs+N|!Ha0|UZHNE>0L;w)A^8LV00000EC2ui07L)|000E%@X1N5y*TU5yZ>Od2n?Y} zg+T$pgb=Gh8O38X6eBTwzk`AVU;#L^7P?6TClL@@l7@r%U@WSRtHiNgc)iu#v#fZA z!e)u)K#8XU2j&F}Og_SWAVYzR?|@@~14~0QE7QkIj64=`ZU$>?<}n=fb5&qrX<*e3 zl!y@Kd@EM#DRJa+ql<%lfpngAkyM~47mJy95(8sZA`=TYR}FV#vos@5AtzUI#+=G( qCT9EahOp_9EUp~9JPvm5?5sU~HD1AUO{}-C+_(S0!9((b4AuZE&rgg1 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_channel_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_channel_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..a4fbf1f57848740d610db3eab175d98fc1bb2548 GIT binary patch literal 242 zcmZ?wbhEHbbYb9Q*v!Ci=FERHGnd@lj%m|&@7woIT3V^9YG!u#v#fZA z!e)u)K#8XU2j&F}Og_SWAVYzR?|@@~14~0QE7QkIj64=`ZU$>?<}n=fb5&qrX<*e3 zl!y@Kd@EM#DRJa+ql<%lfpngAkyM~47mJy95(8sZA`=TYR}FV#vos@5AtzUI#+=G( qCT9EahOp_9EUp~9JPvm5?5sU~HD1AUO{}-C+_(S0!9((b4AuZE&rgg1 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_code.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_code.gif new file mode 100644 index 0000000000000000000000000000000000000000..8fb2b8c52d136fe0dde19cb30b348c465b4ea4f1 GIT binary patch literal 247 zcmV|W<*3)8yg~)mb+hHccY`sh={7OvE3;t zGkSWNZEc7)Hbejb0L;w)A^8LV00000EC2ui04o3x000D}@X1N5y*TU5yZ>M)T7}RI z3&jkLP)tT6H_SB8M`k!c12}?5K;a*rKNfoTTK84YzYEC1hRb&x&wS=y1$Mi!o$SH#>c}E06Sd+Tg?Cf literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_dialwithcustomer.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_dialwithcustomer.gif new file mode 100644 index 0000000000000000000000000000000000000000..68697edca82b97cd549e24bb7f031ba0b74c8fba GIT binary patch literal 881 zcmZ?wbhEHboWLN!aFv09i%Zbmy}YXGOiav7d3odh{&ylGN@;1U>gp~T8;34m{(s}f z|E;ZeZEe%$&;P$*!T&2){_oxUKQeMkdirWp)5t@I{$IWN-^eI<|Nj3iEq78c3-v|vry>9ZSD1q%CbGOoa}kbvP^lbJ<|D1vdqOYvOLP{JyRC3Phy(Y+rzwk;^ZP`PFda= z%4@f+=V9!TVO3taY7WzG*}dy#=N(zGsweLZ1`%>8|w3o2x(MeJx;7Vv~I}=lciNXHS(saL?`tWxi5+g1sSVdvo5EO6BeA z1CL~LD|!Vl+1S9yaA(g>!vqD{6@pK;ofK41I>5p7Cq{^&GJj%+`G1#3I_6D|JN{3& zuhy0EK&^4N`Ja0X884nSa1`F1H0kkn#icU6`uTZF+C<~_P6-SAG^KcL!?xC|3tny6 zDV)a6oSo~|JXu(He-it%O`@+q`R08r+s+H~>TKm*z_3X)|clTsF{Cslnbk0M@4^tTAj=Ht2Um3h}N7Um>tPEaL zIylYlHY;&iJbhm9HhsYY&;AVdOqT=4?yf4fV`!Khac}-vsg7fl6l@}I<@DDw2ObF8 zt1MJ#df?#YfCZeEA*Eg=S+#ukRxaan_u9$Grse(4K1`iH&C?etN_co!kx7u+^K&xk5p9{#&5#9KMDWkK@AqX!wX ze|<1xh*=oe6lCXk=;It+k1~M}n`;cNj|*lbq>AK!^esLyEvD?{Q#tKA&1W-G#6BHo zmaJLuY*x;;m(OMw9MgP0r{r4Z^SKq9G#OciV+0P(Z(!4Uv7kjP>&3zjwN)<`^_W>@ I2ryU!0KPqJ;s5{u literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_dialwithcustomer_OFF.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_dialwithcustomer_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..8bf2e44b703b46e4cbd6fccaf960afea356b8fda GIT binary patch literal 881 zcmZ?wbhEHboWLN!aFv09mzOs_K7R4y#Z^^R($dnJnwtCe?d$01aB*?DeEIT<6)SGs zxUq5L#=yY9^XJdszkh$jh7C?mPWSHJd-dwo%a<=7Jb2*l?p{__*4f$F+S)pG>eSra zTr)GXi4!N@ym|B4vu7qICJYP=XU?1flC%JdKUu)W>VQa)pBUKwAK-lItRvNbVoA}- z9IN>kR$PfFv{9M2rtI|Fs{Ic(RQTx4J|FF#Hc?>b{SP~8{MO%o|6@@qO_8<;?}zi9QjhW<|lu?xabNmn$xn>DABAThb;Pw|7cd;HN3YXB)P)US05N%T8f6 zcBbrHx8}*h!uylhpKTI-{mFOVgt)DoYfmg(Z|e5*NN(?m#N};OFWE8}91i$KSh}6e z%t+sw7F4Zx=g``xKC5R>F1@=a+u`Svd#7_AGJa@bkUQ$uwti*s&K*&YFR?LrP3hn? zyW6bDWAXHP!Q1o&3p~3s*gahi9J{-!*p8uLa>Tv)XN5YBO;WIlyp_{m%N%$hXs?n` zq3VW%mjf1XnunBnm1O&1c=v8)#hJJeRaSkz-?l_9`j F4FH_pY;XVo literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_dialwithcustomer_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_dialwithcustomer_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..7ef98a94dd44bdb7586a2095872a72cada57f81f GIT binary patch literal 776 zcmV+j1NZz#Nk%w1VUPe20K@000I5;PY@~X`X1Ru59bRa4egWBS~AX z?|kq7z@TtQEEbsrv%mWFbdRFH=YA8Uzr7$0|drFR9P z9v76FuXs*rO=|)Oj{=+rhX8f~85xYL00ILDe@?sszJ(aU0s&A3(HVDc3myO&$O9jg z0fC%P9?!vv<5Ahqkp-eq7^%R)Zg&Q(7p}+%8LpSXduXvT;A;RKIRx5xSY@izhin(J zf%@j{kwS*!26%v?G0+DCZU9Jgg6zPnO_fMdLZ8sHHuJ;w2*`C7mcrNa3Um5D!Cxr&CnoqiHH>yn4j|?A(bp zUd5lS1SD*5i5G$kE}bA{1RxNlCk*Z4ZFVRUF0xKAI=Z^h!$Bxf<9!vo67X26NW0d< zkdThfnLN9`1yie4Q2|dA8d?>PCn$+}rK!fVic?mO9s(V>^+Dv5l7CM^W=Xksvo!>E z>a7{2^{LOJ{`w@1kJ7zM1oHuH=p?|%Vg`w-m5K7r)Wp>oCCUcuj<>(NRh9$jX8yS+ z>oN!sa9|C;U27mDddn^{7B@HNG3_f z7Z6aO!IMx%Ddm(@R%zvxSZ1l^mRxojWds#WU_l3DmTBghXr`&=nryb|=9_TFDJPmC G002A1=T#*D literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_dialwithcustomer_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_dialwithcustomer_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..1ac7dbbb6fc70ce069c6ec44b09a8fdbad971fd7 GIT binary patch literal 873 zcmZ?wbhEHboWLN!aFu~!+O%o$@$r0oeA3d=K|w)_7cbtpabs0gm8PcVzJ2>TIyzij zTyEUBaryG)6)RS}diCo3`SbVg-770AYinzBcXz*V;ewNs)5C`kJ3Bi!Y}j!B{(Unu zv)tU=i4!N@ym|Ba^XDceCJYP=XU?1flC%JdKUu)W>VQa)pBUKwA2|NlSx2h>#FCl+Ig6nmK%^JEm2SUD7#Wb)aW6`8s6S?A_Y>Q!VZnmu>E5+`@BG^ z@67zQ>o*oMGAV9QnpCJbbLkGHMTaL#pHSSqbZ1d#Zuc^obu*7J&p5}R#C1?+4qG1M zoYj+LZf+@fB>hD38AtyUCbk}?T8pX9uqh3&omv^LTVlSST0Qj?m8|vKJ^k_4o+F#els2r=)X0!wapBt57_4s|x3ufVhQ^6Y zSU9fr&ic~!c6MLkqD8i54Qn?f+<4*j_R04gnbqYBdwU}n+})VT!pk(_i{~XaMkXVx z)-}^|-5J@PT4pV~zD|128le?)SFO>%9dV4KrNH$1%Irib#z^lug^o_1tZYxVbTcf` zDWBstSLqmskniIjK8~xB3m!L}UUS!H|I?Ud#h#w5@6YbL$zX6W@ba^;DKi+@Z{Aib z%E{Df6|QCyXt=O$8Dz4UQUX51&gu6%%sW zXUUbewrOplFOLOk_UnXsDzmImbJF5Ck~E>KM`J+<6Vn0~_U^qZ3eg4|OH87gtv)Fo z*WbL-%}aBQZS$nSITb5-jLd?RA1Q`}Wj>u+rO@_tT1=Vc33<_!3kPSUOv`*WGh^Ax wXR~s)y?i#i;8^4`7LkMmMvjVSE1%D+`S$Yp{026y7Yka%vNYy9GB8*J09;pJhyVZp literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_dialwithcustomer_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_dialwithcustomer_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..d71bca154129935a3575853146678737e8ead24e GIT binary patch literal 776 zcmV+j1NZz#Nk%w1VUPe20K@000I5;3R2eX`X1Ru59bRa4egZQ(0WD z?|kq7z@TtQEEbsrv%mWFbdRFH=XA8Uzr7$0|drFR9P z9v76FuXs*rO=|)Oj{=+qhX8f~85xYL00ILDe@?sszJ(aU0s&A3(HVDc3LXF%$O9jg z0fC%P9?!vv<5Ahqkp-eq7^%R)Zg&T)7p}+%8LpSXduXvb;A;RKIRx5xSY@izhin(J zf%@j{kwS*!26%v?G0=wtZU9Jgg3Q3HO_fMdLZ8sHHuJ;w2*`C7mcrNa3Um5D!Cxr&CnoqiHH>yn4j|?A(bp zUd5lS1SD*5i5G$kE}bA{1RxNlCk*Z4ZFVRUF0xKAI=Z^h!$Bxf<9!vo67X26NW0d< zkdThfnLN9`1yie4Q2|dA8d?>PCn$+}rK!fVic?mO9s(J-^+Dv5l7CM^W=Xksvo!>E z>a7{2^{LOJ{`w@1kJ7zM1oHuH=p?|%Vg`w-m5K7r)Wp>oCCUcuj<>(NRh9$jX8yS+ z>oN!sU|27mDddn^{7B@HNG3_f z7Y;zM!IMx%Ddm(@R%zvxSZ1l^mRxojWdsi>KtTs&mTBghXr`&=nryb|=9_TFDJPmC G0027-y;48` literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_dialwithcustomer_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_dialwithcustomer_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..90ec03f81c903c0b7800dacaff8a7b71609565f7 GIT binary patch literal 873 zcmZ?wbhEHboWLN!aFv0fpkTMVdpQ@EpooZ)t!-LW)tT1TyD>2{`}^O?%NwVqtui(a zUB3K(UEQUP8~@Lr|35NvN=wU~t5^T;-~ZppDA?3A^2(L}hYtNuPhY)v@Bal0{->lY z*VJ?g3hFp_?tgCX*3Fy$tE)RQFfh!V`5#D99Vq@}0h_4w+v|vry>9eRZ?cniKS@v-1*8J+`Tfa$~{W# z%51$e^VhE5Sjfnvv_W}Nq0-EyJCqk4o-A`hY4g&ZMV-0b%VgKhJi(K%tE;LsGz6)D+VZ1mKtaBEIy$`*zchX1+w z1$iLQzb*wR1-#l(<--82< z6IEC^ul3IQ()M@F>{mR(;by=RTUin*)S=--Yw#?et=dVOVfq7-AK_nbmUCr?(kCtGGS zEYT^S<26_57>AJW;~qYatC9;IH=SN{*JuCJm}SMDo~-ZB?z_oga4_)lv#=>M9N2H( zRx9OJ_${($1Cu}x8$&}w#L`WIOYU0CSee#YJ>x0!wVWr6Ext_!5-tsn8fy=qOFk77 za@uFfmA1BNZJ{rZ1#0%|gn25ntT1!Z;yjWxp{qw@fd~`R0v7h}y$TA^1{+IEqMEHf zDIM3}ywc4}bB%5Dq`)~9D|n2|f|MUAhJP_H|qdKxXQp#=I$=Y#ib-7Vk9T`y07n4Rn>~r)DUCi>Cw@DmM#0capQ&B z+EiQHTP-br=FR(e<;ueDr3^3c5NS$=iMZ!;Tui^|#;u*i*+C@cMs4V^ecW zZcSaDJVS0*u9UnyOD>1Jbj}pk9A1VA47@q4@*E2mDb1NMHGj$qcD7vB<r6#H4w1%l^L0xY@3cmwtmxlt z#>nWFEzs1+!1!?+ufRj!7KY*+o+Zxhy-(LRDRHEzNIsI@QNkE-FJuMZY`6bC%*6*) zIt*G?XX@R}kam5bV%(j7Y9ZGP-)Oa2@69Tl-2x9TPimP0C{p4;WY*te0DZc4yz4GC_$XO4CuKDcZ&Ad@M)%x72 zX_8TmOPn75n&M@?;;u`Dw&%Oq-}9xJrTNa}h?PDtnL6|Pr7I1))fyR?R4TXn1TJ0L zT;$cIF(DwWAVAUW8;h6h*SoDxbbdeilezt2H@CQv!K>1hIS$K*_87-u8z3KfR>YbEMTx#w?)d6wj!FbVSX zUCN&4SH^sT$*YV>$5>wGR!Z3c9gdXmj)^=+rv}EpN%`iHHD}|so8})nzsO6Ah$%gp z;38(}KEX|G<&#O39~2o`|qdKxXQo~7Z=CN%PTD{y=TuJ4GoP&ix#!DwK+RGFI%?k;>C-Vm6d^k zf$P_=KYRA<%aLoJfF$jJ;!hT^;W{7^4CzceQ%(0q(Va1n= zJ3_2(tSLMFwrc-_4HZ6mv!y5aF&)X zZda~^j0|%wmyBf26xJLbh6xNjIjk~V3l=HNnJ_hf$_jS2T-N21la{Smq0pPNBX>^z zp6wHNb}!s2lOw?`!@fALJv&eSXwHRPc1HPWIg;}7GjB;Kuw9d3k!PGKasAj!nF}&Z zFLQ6POt^NR>-OWPGv_>EnxJrbiEHwghrHIA@_ZaDjpyd;mN4F_jYwJ1zuAnD(JlEy zVj~0N$8CZP4|!V{igS3DIJfscUE8FWkuJNjPwo*V6q1gIkNq z=cSG_FU>5;cP2-y^nuCLncpuRY1sX&fq_Y-a;s0^(xuHsUQHSk z0@4ZsCMf}M@L88+}z*a-$Ft{&d$z+goNJS-mb2$Ha0eFY;5M{=8un$ z*VorGGcy1H0LseBA^8LV00000EC2ui0E_?-000I5pyOy{X`X1Ru59bRa4buY6>)g3 z?|kq7z@TtQEE*pb4&%dYI-k&}bV{vSuTw!_f$cgQ0Ht?KE}N+e?%4_!I{^U?Moma~ zuMl$DKh8P(c0l7~Fl7f`c9|(VcLV}T zCC*@Hkv=goY0p?1;RDM6RMzFj8eDei<(F8L2j-Y$mRSZE6kM>unryb|=9_TFDd(JY n)@kRRc;|qdKxXQqgl$0bRBg4nXw|)C|EiJ8(kdXTN`lCmWy1BWnT)DEhxA*4F zo9ouCyLRo`+qZAKy1J^Ws$5-Ny}Z1hK7D%i>eX%Awmo_B#n{*ihl4H(Q$jJkyc9-SBYvr(b0{kjK8C zC5Ks_Wg$~vE(;UuqntZ)=XWhN;CLP06T?uf@aQaefIi=53wf_bfr&gKfIPDy;oRDjBTWNz&bW{`FcZ6iCeepQPgZ={G}gvrl{N zti2m8d4w4K=ks+`J>yuep2uvGF@v*7L}lH68^fyR2lHLRRd?=FTz>7<{(>uPr#`DZ z2oC3ozqx>Q!MC%AU4%+4TTeY}V4BRRmG|Yi?*fye3VVf;?+Y9D9-3+@P;s1}xskut zQRT$+?2rDNf5l{0&046(abkji-6tL?%|%OvSkp{>Gv_AU+j}gn)+#7;RnXeNjR(bE z&SD7hx!LnCqAI+Ahgs*O>Nn5(N(pT93Dpr z%E~8`e9kqdOb&3yC~x9v)>qJ(pWs+JuBuGc(G1 zdZ=Y({jst9rl!z+eg4$c{GOiu!osCwWZ8p*QZX_7pP&7_y#2qwLn$eSQBnTR&i%5o zvutcYCno>^0Q{JkA^8LV00000EC2ui0E_?-000I5;PYr?X`X1Ru59bRa4bjAWo>w_ z?|kq7z@TtQEE*vaM&rY5I-k&}bV{vSuhT(5f$cgS0Ht?KE}N+f?%4_!I{^U?Moma~ zuMl$DKh8P(c0l7~Fl7f`c9|(VcLV}T zCC*@Hkv=goY0p?1;RA~RRMzFj8eDei<(F8L2j-Y$mRSZE6->avnryb|=9_TFDd(JY n)@kRRc;|qdKxXQp#=I*W}A|lAeb*rVtNKP)*)^>Vy^y|L95M$$0RaGleQ!muk z{@u9o&$4BI=FR(e<;vefhyL!_GbtkCW^;3dscDd*;mWkMr70`@RvAMCP?DX5J{SP)&_~^}+6?bz!lDGT*haEM3>uN5`XK&8(jhlDpwP$xqOEFBJ#VU1`nXPB){9So_FP@iPpTo7EA$R&! zrUQBG`&n|B6J+G05O3fv zwJrD6wuP~cW*iBf8V(Extm1_h?>*S2E3CrWZ>EyLs+}a=z2{%Al|q5U?EgtBzMr@m zCpY`F*Us9z(UM1q(SJT)N7XZqtNUhOZq z!glJj%7fr=-uRmfSQmUdd)P&&)Ux%|vj(Qgj9PhLj{7b!DXMT*C=p-Ou=mhZOM!~x z{>+U6wXP~Bre}Zj-~1~kvufAEbsQ%q2-tn%kf*qDP5K( zla!9fx2mjsGRfy$W6I=9`zpH7P@d--&FLYwBZ87b2;m$8UM1Tb>s dY!<@oc5~Y)1wLYXFSfP?i7y literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hangupxferline.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hangupxferline.gif new file mode 100644 index 0000000000000000000000000000000000000000..d25a105ae5164b0fcd7dd0f1940a3980842cd26f GIT binary patch literal 803 zcmZ?wbhEHb>|_vNxXQp#=I$=Y#ib-7^183@R8^IcoZO#f%T}bO{@u9oLTzoTt!;?0 z@$~5ETP-br=FR(eEHePCq+d3nLmGNO3KQ#w7+}y{5^Ci$k6a+bMwyp{IeDwNdMOqw>TYjv8lPG zrY>KBA-6MENyyRqqqC9EInn&Nk$}Hak>(h5z}=RsGxko<826y}y{z?%bSH9SQT3G}caXb~9{X zW8+@fdO$46kz>(|C7RZqA@7}Ha@pnxH+Ub^P7VW$Ketr~TD(h?w5JOY8Qw>1lIMZwb|!;cYT& zMQ7RjUm^=av}dPrna$aJ&5+M6y*v3SvUz5I zZO<#iM=l3Xt^cUEfl-|C9#h99?(F;?u?BVC8)gT}^nZq)bSyJ9TM*y(;#io8aba3- zb-TbLhllM7Z9i^TD^1II)Y>r= alL;|_vNxXQo~7Z=CN%PTD{y=Tv!MT-_`XlS&xwOzb;aoMtEfq{X}&d!yU zmFw59KYRA<%a<=(T3YVhxl>wN>gMLQZr!?j_wKc~x8J{i-_g-=%9JVD+1byYJ?ro9 zzkdC?nVFffu`vS!!>LoJfF$jJ;!hT^;W{7^4CzceQ%(0q(;l<@k z3mhzNtSLMFwrc-_4HZ6m{nGsB7?0%bzW-rIjoyuweO;jr}t=Gfd2zoxe+= ze@D-TjU{c_`SP;4$8)(D<)`LI%FEBVD51c1R+d$safZaXocmK{kIOPW=#^(xxP9$D z)AB`kHqQ8b>r~#84*8r*Tz^m868<%>LS*SB8&V z4xU>7QEvjHIO9F0j!WFx`8{F{>O42h4wUKt3_a;sW@@$|zVF4cFcag#wBG7=fkzGx z+ZEb=+^$xdmhq^w;lsrPEYe$EJnA+$rt!GPD=7hb#-;l&dx$YLf+oquCA`%-`__^N0gM5Y;0^cHa6zw=8un$ z*VorGGcy1H0LseBA^8LV00000EC2ui0Eqw)000I5pyOy{X`X1Ru59bRaQs%y^l*5t z?|kq7z@TtQEDjq5j^e{?I-k&}bV{un1ca(~%jG5j%C2}!USP=RwDcRUE;1egz`z6u zJb?l;lX)5lcLRD&0UiiU7aodu7fyUmi5H1k9~d5$i;7JL9+XW59%q&XiJ2d8i+z@< zhg57!R0skA7z7>w9{?T<7;t)zP6M47g{`0gxF3@k7_*LjO_8OImYB@UO#_8=jsmiM z%h(yT%m>yOx}Ixbuv5C+=mwpH1ETI0{{d-1zT}(V<8PojCk3;NH46Q-DP)*rb|BOiUL4NIE1B!vYU_5_N>5?xeI^p&EMNlOdU% z4-D!(u|=trqB9u;@HA(MkFbd!+es05kt7q79vz}O!-p4K$9zdk~+2;_?oCon4m^U?FNpVl6Ug#$<*ghAaj733>Y99?r8GF4HPQA2vo8U zpa$t`ln8+6@uqB~&1Bp8rN)5>CaB;$7~C!B;DZpV@kIm_Y+&Jq7-p#9h8%Y2;fElG kDB_4ALSR7w5_F*AiY&J1;)^iGDC3MY)@b96H--QJJ9*hPPXGV_ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hangupxferline_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hangupxferline_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..f6d9080b113a23fd577b028c7d083301499abe68 GIT binary patch literal 828 zcmZ?wbhEHb>|_vNxXQpFBO{ZPloS#Y!pFy_rKPoU<;vdP-un9bqeqY4ym@oox^>&P zZ+CNZyLRo`+qZA8UcLJC>C>vJDlacDS6A0<+qOM=^r)+=>&cTRg@uK)XV12 zX-A07jWuPb-&XB^u%W_7uU}fspXo^6?)x8h)cCEx{r<cnp@+IWE z7}#^V`Xv-tS>%}~Do9D?NyyqLwY|HLAA~9v2yp+WCc?{E}=5Ag;ZwiwHgZvo<#wSY^IdB4eIbsF}SQQu;BL(b3dzPP+*Gc^z^^7_2lZp&uS4!a=%k|P6|Cw~9zg0d{Te>}P zrpXO&7KesibLR$$IUIWv!p6gVL*oq?t@uPyQ7OHxr3V;d;$xLw0|Pw3C(U$0=$sYuv-|(t z;84*pUl~(W@ma{XRN@FjnD$MP1eIA~7y2eE`>yrKyK1#>j@mBG8tyG`=iO{GObOmu z^fv!~9c#APmqe4iD{Er2m*_J1g)QFxoLjy3#>%FJb(;@n`h9WusBc?n-S^vO)0Z{H z)y0~8(fgPc4n7nx={{iWV>&5dlK@kP=45`2MFJN(oOsGo9K815VVmCkvGGErSnc+J z8pS^0Q{JkA^8LV00000EC2ui0Eqw)000I5;PYr?X`X1Ru59bRaQsG2RBd>! z?|kq7z@TtQEDjw8M&iS4I-k&}bV{uj0)(n|%jGTr%C2}!R$$2JwDcRUDl(n`puhwK zJOTqVlX(^hcLRD&0v-rV7aodu7fyUmi5H1k9~d5$i;7JL9+XW69%q&YiJ2d8i+z@< zhg57!R0shA7z7>w9{?T=7;t)zP6M47g{`0hxF3@k7_*LjO_8OImYB@UO#_8=jsdcL z%h(yT%m>yOx}Ixbuv5C+=mnjG1E1zT}(V<8PojCk3;NH46Q-DP)*rb|BOiUF2NIE1Bg8~nF5_N>5?xeI^p&EMNlOdU% z4-M))u|=trqB9u+@HA(MkFbd!+es05kt7q79vz}O!--UY2Fg5W3-!dN!h%T;HszB{ zKtEjyo(K~fu2IsZn34t<Y99?r8GF3lu882vo8U zpa$t`ln8+6@uqB~&1Bp8rN)5>CaB;$7~C!B;DZpV@r45raA4tu7-p#9h8%Y2;fElG kDB_4AN?^eR6m+2CiY&J1;)^iGDC3MY)@b96H--QJJ0|QfxBvhE literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hangupxferline_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hangupxferline_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..c7d264173c8b9ef83a2031fac39fcfd36474596d GIT binary patch literal 828 zcmZ?wbhEHb>|_vNxXQqwBqCDg?w)FEE6BxVBqw*Os%m<4^y|L9Kg*V_NKO5_apQ&B z+FLCxA;!jk=FR(e<;tXph`)RG{5^E&@BaNao10grrTv*dKgiH9!qjwWN=jQ`;LiMf zXHCt2=g$4zv}torj)S^70|UdK88d(+Er8-r7O=58AQI#!2DbkPjxToBk?KFOr08Uh z)%*)Df*;LrvAMCP?DX5J{SP)&_~`Y^O0qf~$=iMZ!;Tui^|#;u_){ww@cMs4V^ecW zOXnLKGlX(e_hW<>_hT-L?8o&8MtGiT48vu4JubxL#Q zO0@0oJcVu99Y>_5%u|$+x;~F#n#|nI>*q~jl44Liqr~`R zsZ!^4Ud7(rtvTC|vEJLdJ?DkutK2!)?^-bI2-6XBWMgA)neg?P=q`I(pLvJmFGy99AH&oV2l*75A9igQeG$Zd(<=Gz)vbNj9n>(b1c`-=J?N~EB&qV zncC9rfio>`c(XV(?3z0_NX+5bn=5R*%r{g{xtx>N*QM1Sc9>|H z*KfsCdX!URskalqDDOwnOttl_COf)WzG}rMii%30L;w)A^8LV00000EC2ui0OM)j$~<` zXsWJk>rw}F4L-P^01E-1 z3p)?83k3l_(9%1|6U)55i@|5D&J^3W)#yUr65s;F;{Xbn*_aOtdjtoq1v2j(06DYZ zOae>|4(zI+>f68v(IhM~FwlsoSos1_0Mc;d!*>t=BTh*0u)&T4)ZRhTM-rs6kNPfj zeDE({GDSInfNS|}2ZMqbVlrfBljqKoDSzU8pg*w*2M9DURc#qKWnGuuiu;w}!i*IFsL}`EKtXU-+!kEWPjD=^1O^nyS9sar zE`DEDyL$$KTbPaE%#6u5GB~Rllu8sLwL;Bh@sKDrFu-z30e5ExCLr+20#*&OB`Mgl zqXGl`AhmV-F78^mQfm*jAe6#hA*lh!9o)Fp;oJeJ5x)GG7Zo2fDKM~199?F!qiuTs ztU=#;9olPFFMFn|O7 zj0$UuomR?Xq-G}MKx?MJCjcr6BtU5)uf)C}?X=WZYwfkzW~=SC+;;2jx8Q~=?zrTZ KYc2>800283h;Ot2 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_header_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_header_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..a92c2df01aa8d9aea2d97d0d6511661cb01b7cd8 GIT binary patch literal 639 zcmV-_0)YKTNk%w1Vd(%40J8u9%*_97ZHP8DM3$Dj0002KzV4%=%u-TjUtf0)4iT}j z-5VPsdU}~DDKkVwRfveHA^8LV00000EC2ui0OM)j$~<` zXsWJk>%MR-&-6STg7bieaJUSH2q7pI5vYPgP-q#DwJ7M&Uro{;^ zg)#-1DOC}ZaRxM~z(*xGtx;tzLh9w_0;B^JH2o?QTmhj}=y{`Hom7XO{P{&3v2=?SkEDJ={ Z-GvxtsNsejcIe@UAciR7h-gIs06Vm=^J)M9 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_header_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_header_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..a92c2df01aa8d9aea2d97d0d6511661cb01b7cd8 GIT binary patch literal 639 zcmV-_0)YKTNk%w1Vd(%40J8u9%*_97ZHP8DM3$Dj0002KzV4%=%u-TjUtf0)4iT}j z-5VPsdU}~DDKkVwRfveHA^8LV00000EC2ui0OM)j$~<` zXsWJk>%MR-&-6STg7bieaJUSH2q7pI5vYPgP-q#DwJ7M&Uro{;^ zg)#-1DOC}ZaRxM~z(*xGtx;tzLh9w_0;B^JH2o?QTmhj}=y{`Hom7XO{P{&3v2=?SkEDJ={ Z-GvxtsNsejcIe@UAciR7h-gIs06Vm=^J)M9 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive.gif new file mode 100644 index 0000000000000000000000000000000000000000..8382205e6fc8bea086053783549dc60c04626c82 GIT binary patch literal 791 zcmV+y1L*umNk%w1VTk}B0J8u985IxCt$cQ4M~ZY)sEuV{Q99bVg#F~d{Mx2NIVt|? z&a;+m{ok@cHYWf80Q}ULA^8LV00000EC2ui0Eqw~000F4P{~QFy*TU5yZ_(u90y~b zXsWJk>%MR-&+$Vr$fNIk@BhG{a7Zi~kHvrhhip2Z(5O_&lv=OYERmYidcR;NH%u;@ zcjL2qeND69aHBg;uk+^eg~7fvEEZ9I0c>~<4m^fC1OSE(340F-jgx>oi8=y?fRl|2 z1&%ulhI^TY00Te)hNwISpQeKkoSmSIl@9|B1(CC?I)#Up!J-ZT35)=HlC!t6!33*1 zvkrQrI-k3_jt!bW+PgfG#>jiq)S#cfk_5b*z7N2N!HnPr+~7Kr&BE~X{65$o7_gS^ znyw$q0Px7wV2?cq0_24Pl`DZTWz>SiM2O1{k?=z)BJ;0|Vaa z80bjkgHP;qED+G_(gRTzY3g*)AfHVi!2bM6lnb8@MzMJ9lcvj1RA);6?5J1_lC}l| zAo+k+AXmhv4#fWO2^1}$TrF8RLmYl3mVhackFB0|XD|q4Gg%XG0p7t|-eRuLh*AZlrqG zscQ#OJImWukT;OFKLUKR{mT$$Myy^7yb610X_}(&3GcBRw&IV>w^Ma^y7~{~M#cKn zp=}bl;tw)8mA!+J%e_arSMIU?l0Sj>gfx}Jc>$T{1A4rGBMNg5a5I2X)+`7JF@FW~ zlVgurW7L4Z>?hGb#EetkhM%Ef%{0Cs2n|uoyhD>%+~o91Bc+{$o;KmlQX@PbF6PrB zG*Ty?fs*Wk;zT>%WmpdkEp!lj$Oxd8dFat}SUZ#Kh({87@DWOvUdqv9m}H)@WtnJt zab}uqTCrxEaEdWzoOH@rMV)vep#%bcWaa0dfCeh)poA7`=%I)v`o{nT5Kuq^kVY!$ Vq?A@_>7|%vs_CYjcG_tK06Rd}cxV6s literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive_OFF.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..3357ed2be1c10e76f3dfc5e992c9356475384dc7 GIT binary patch literal 786 zcmV+t1MU1rNk%w1VTk}B0J8u9d3kw%MR-&+!v5#iQ?h@BhG{a7Zi~kHx_Ohip2Z(5O_&lv=OYERmYidcR;NH%u;@ zcjL2qeND69aHBg;uk+@`M4~>}hx=!E4hB004m$`AiVXughKi5~I|&Yw4*-e}l#q%E z4GxVupN*f22R)RMiKm*CJPr*#1COo`oRF!QmaPYyoPIijgpP+ci=~aUk&~_iiUF;+ z37D+Z4+pT1(9Eitt-F|@Jf98Pwzm$c&chFh0KT|)OIJC z94s9H9I(PI+z4fJ?ATn5j%MOfUbfC@oA!MCx4)AX0Peq zl5eZj8)V>7U$=>XC1#ebB&Bkd`*o6+mq){NpAuPW5X)K2z^2EpK4hrT=g@&e66^a@ zDAdgvK_#?=vxgxd4r6zlw#*r2j50MT4=VICb&zoRiG)c~J4#j@i}N@hOe@czna{a$ z$f*(4-z$O2#{}^D(d_luk^e*!+rqok^(BeFc;}sC7Fc^YB#9wPsdf<~Lg^)2Fk#sz z3w|c)S4={%Amd$twiI>CF62ezmm)2l<_C%)zOs@s;!uZ^htY7-l5YQ$6b>w30qBp3 zVvSf}j((xEoQVjibx$Y~8SvF&yI>RFV>e=$hg)y-(W4zt;KAjWYj_Ffm}H1a=9yZU ziRPM9Sjpy_QK$*$oJkx|zyJ&6spp=2_UY%JfCeh)poA7`D4_rl5C8$JHR|Z2kVY!$ Qq?A@_>7|%vs%ZoOJGAd}TL1t6 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive_OFF_es-orig.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive_OFF_es-orig.gif new file mode 100644 index 0000000000000000000000000000000000000000..638ef859afb2ed25d03b46cf000bbfc80f92055a GIT binary patch literal 1231 zcmV;=1TgzYNk%w1VTk}B0K@FLeQ&2@EkLPA2{-`~#8&fMJGuCA`$-rh$?M{I0tl$4YZ z?|kq7z@TtQEDjw9&f>#tI-k&}bV{vSuh{IB5m0KsOajIL4r2yiG5I;bTn%F=#$D!m zzn;AQlF{ccOaXcs1Rob3Q3f6eP6&DeYfl0NPl9=bOalUW0E`%Zc}xX^O$Y#-2Vizf zUl|#jt_T?buCaz58GIgqhf#+LO#~hS7o)&z9so{005M< zoGX*?!#XF57%^E>u}Q{78;2n%=R`n&1Q9d;dK49K<-ta{4%GV~;20AHEwfAnQ?ZYq zIUeXNLxj)+fdn=!;cD1qfQJLrn7njy(a9%2?h@!JP-xfCFFU{Vq*bd;P$(UlAiXsc z!@gmalsQc`Rh>Jl*lGnRRp1mQuT9cg39F^&-H?Dp0ZXgM4Tuv!6y9xi6hgqbSfBv`)FP9Vk%tVL{Ew|)BU$}BNs z4wIGlz|`DyimdrW3OAc{RvRdXMCKI#Bc`BI(qRy#S71LM5HJdKgKfRqA(C;%D)UUJW70QnQ0Lm&bmqJJc2F`p}& z2z3fmwrv88SF_x9oHu=}*~Fbq4O0v*9A=iHteU~J~0IVS|tyBJs#=7>jOWUYW9^5LucoB4#FbK@W zpEGYq&d$!>-rh$?M}&lgb#-;z+}uJ!LX?!0Y;0`i=H`!&kJs1N zHa0dhGcy1H0LseBA^8LV00000EC2ui0Eqw~000I5pyOm@X`X1Ru59bRaQr?^RBd>! z?|kq7z@TtQEDjr!&EmssI-k&}bV{vSuh{IB5m0KsOu|I~4qpymG5LA8Tm@t3#a-rl zzn;7v!_nt4OaXcv1Roe4Q34(YP6m1aYfk_LPl9=bOa}mY1B@4bc}xX^O$Gy;3Sf3i zUmP5pt_B!9s^E?xqW~H00RL50|R0n2(=s^3b?v} ziqg~`kyxu`w@t240NYHj=}-upg&&`Eqfh~xsZ8za06sXP^U1)yC%yb_8-?b>fdQ1X zoGX*?!#XF57%^E>u}Q{78;2Pv=LA3i1Q9d;dK49K<-ta{6x90w;24txEwfAnQ?ZYq zIUeXNLxj)+0R%QJ;cD3AfCmNCn7njy(a9%2?hxoHP-xfCFFU{Vq*bd;P$(UlAiXv7 z!oFdZlsQc`Rh>Jl*lGnRRp1mQuT9cg39F^&-H?Dp0ZXgM4Tuv!3x9xi6hgqf=Wz#R4KCe&%RSIR!ji;bHbV1}PZ z)f4oAVI~g|b*4r)R@>fBv`)FP9SZ@1CV~hMs5Y&dlkiNs(M>k%tVL{Ew|)BU$}BNs z4wIGlz|`DyimdrW3OAc{RvRdXMCKI#Bc`BI(qRy#S71LM5HJdKg>fS zm~ie01Hg9&HZdBa6^%j$0I)IPh>wOwS=Cz<{_{>wFZD8)n6DYt1YiSk`d<}*2~e6q zi$oa@hlup)(IS^Q5#g_Z{7FgwRVJYnQfTGmN|ZGI0P|63(O^(xoWnK=3LOa`AWUKj z7K00_wCz&Ymt1n7>P2%!WsiGuxR+1?0jYGzQ8smxhk?Q}IR%}0^z*K0q*}Q!8qQLC z?_v2WQouz~?fO|0-c|~kuWKFb5e8Z*J4L630^&%ZppbFM971Kh<}T4TF)b7MHbjOS?NeR^dp`MTV}!QUErZ8wrr*%(8YZd&sJ--U4g2+cdU~Z>~i18gWPq z%vu6?-cn0(itMGd)KS1pZAgT8V7GAJ3D#$wfF3w#*g%sl%Dm_qw_bJtCygwBfP?32 z9|d5r$+=GGow$_29(Xck6n$PPWgc33s`$>^*viDT3QUL>9Th23@TUtpw8zA{<> literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive_OFF_pl.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive_OFF_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..5414a7d846d16a2d2992d04b635ceca2fb860f95 GIT binary patch literal 882 zcmV-&1C9JgNk%w1VTk}B0K@f`gmZVcd#NiMDP^Y=r{XqvR~E9dCc87{eC1&BT%uPc z>f7A8X*$r^^0Kmd#P9e1>RYx#7jFZv88ukS_uUOJH50CmQ|+6C7NPd`BFt& zR>UR~V@?HUbl%PBSYB?b_#Bm;6#51xh9)`&bc!~*D4~uZ`EED(kGY$~u7r5lAr7uDtf@>#x8DE9|hu7HjOW I$c6v_J4MxmS^xk5 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..335e635665e8555552db46e1547275437ae845ff GIT binary patch literal 948 zcmZ?wbhEHb>|{`2xXQp_VPTP!lr($xY#AAun>TOr@$qSCX{}qguD-rLBqZeM(WAY+ zy>4!9D_5@EzJ2?(YuDbsecRR5_2|)~r%#`Hd3jyEdUe~jZLY4aRaI3_o;)cmESxrN z+N)Qu%*@R0-Mh!Yz;OBUWgtmAp!kyoY`6}H1o?@9?Y{#@i?fbY|A{3#n{*ihl4*Do)~&v+zn_x%q$YW&vUe*fdoUx9$v{~H>cnpS~@zr zy35+KdnQbr)X+D1+VmN@Q)kYZ+c|sQ!bKGe7B5?#w{*qoMXT1VpSfv&vg3w(ftR{KT%*{ z&XKx)fcy2H_fniZxreyV6-?!jVrIzDnC8&jmbjbA;KzjnbEH|Aw=@=fXk^?__>L`u zBf!CVYZLq302zh%@dp|ORKpH)Jd%|z=4`AidH!1LP&PB0jj?7x!-4;``dd{c81zEt zyT4BBI&5a#$k3iE#3LKl6V;SxV!W=0IWSAQF=q+ifn6rrhRJM~GBsWaIW(5(X)^t> z5`J@uVV_A|!3Q>x8(C}&3=&~xFJ?1wi)=c1jA3S&Ecc?VlYRBJto?qSU7_*_Ph7QV^2G}d zY!<2xQ5y{p_%NN$aJl6!zfG`#(O;E;FGA5SRiTaTZ*ZUCZWV>eRtbt1PTTpv-Nakb z{j%kZ!_gCqJ#+ts9zJb(XwFq$=P1L=+@|lI81+sO+4NAhxQ5eZV$m;Cj|I*$ADN%{ zFy5Vf-hjVsCj-;@z_v$|UtfHbuCnQm<_m>JzN{5;t#Yd}WIOd-Kzm Q^?LmQHtjVV92pp_0jU;(yZ`_I literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..b064725c50f6ae0e8b8a0adcd4d6e92c19197c74 GIT binary patch literal 1231 zcmV;=1TgzYNk%w1VTk}B0K@&A{{RXy6cgs6>Wmw#I_Djrlv zGyK}7{ob+AuYLaQ)TN7L{MVmSMKS!>o|1c5sg7p-005M< zoGX*?!#XF57%^E>u}Q{78;2n%=R`n&1Q9d;dK49K<-ta{4%GV~;20AHEwfAnQ?ZYq zIUeXNLxj)+fdn=!;cD1qfQJLrn7njy(a9%2?h@!JP-xfCFFU{Vq*bd;P$(UlAiXsc z!@gmalsQc`Rh>Jl*lGnRRp1mQuT9cg39F^&-H?Dp0ZXgM4Tuv!6y9xi6hgqbSfBv`)FP9Vk%tVL{Ew|)BU$}BNs z4wIGlz|`DyimdrW3OAc{RvRdXMCKI#Bc`BI(qRy#S71LM5HJdKgKfRqA(C;%D)UUJW70QnQ0Lm&bmqJJc2F`p}& z2z3fmwrv88SF_x9oHu=}*~Fbq4O0v*9A=iHteU~J~0IVS|tyBJs#=7>jOWUYW9^5LucoB4#FbK@W zp0|f&J zauBd#k+^~jHawW95kLfW91sY2CIB4+e&PoIKzUZN*SP};25b^Z(j>|NDlh(u#^GB! zjTe<{P>^hm!Yb4tsG7C`o`NORlpNR)fWv@(#D+pGsN|bDO3gHCO(%dFSf)(8{!>EH zA-|^zs=`aKfk9M*Rj)8>G7nk;bQhl`fJLn&wS9RFa=j~+ZsH~o>OK<%k0oHVwj3{k z_n_>@sp#O1d~o+5S1Eg&0C1oH+B$8mEmFe?6z`IIn3sGz+XSM=mhgt6+}dO}lc50w zME)jAGy-k~xs|+(`skDc5Z3jKS2$zNsFkhd%=k1n+on%W9*mG~@JH=InNT#vv}wlS zqOIbliY4_Dx}DJ_%Uy@X_slxaJpe$iYiBWb9(_zihCn8C(UK20#L0)=5)^H)30>@w zCC`2XOh+9Q{;l%SP+;8^-d)e-1;H}|SY#eY5H11H67S`Ak#-K^$b?f$d}NW2rI}__ z8I?4tM~Y5HIfivoR_O+mR%V$6m0EWB1(sfhc?g$cmRTK>W~TWBm}+XN1pyXZAm^NP v)@kRRc;>0+o_zM{=bwF6FaZS! literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_hotkeysactive_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..a34409c2c118220ed41aca373a42ef8a2e39d953 GIT binary patch literal 997 zcmZ?wbhEHb>|{`2xXQrLRv1{8?0#xh)rIx7fA4Mlb8DF(AJ^++ebeisjkM&HWJFR! zZEx*p32`@G(VP13?UkF`n}b{pmv*Q8eX{@0^?84;&!1Es@%QPWm3?UuUZ#H^@A-3W z-p<+i|6ZNjJT2$%{Y?&L>duy$3=9l^uFL?ER0oPbS-@uMfJl&^7})+FIKJ3fN2>qC zlA@D2R`V~s_`GRmhTV-dWvAa(?SHVL!bh)PQ^+atNZ#)IA9mFEt-t;L$Ddk(fY<*U z8k?G1YU)}#I=i~d+Om5lOq|rvH+kCh8M#wu&Y9aed)~rD6$=(GTb{Rc#p*??)~uho zZo}qDeT<4b6d9Rz?#N-{RN`V%=1?qPP?X7KU{g|L&)dF(A?NZAj{K9S_v}5wdttxg zkw;GyZ?f|$u`w3#C~{xh%XsWP-=psjF0QO)Ra9b_U&z5xaD-T++5+mr-hHMe5W| zDUX9z9bcD!fcGj_*>k4#%2ENj9n5PPp_T zfp22Hk=k~%{EoED+bnW#gkC&3mdB&=`RCRw!z*l$8kygI7ffh6K0&YU@#&?e4Qw6T z{ALAbX5aU`$>nxeQq_^6Yxd?Pwl&Wiw<*2bDdW+1cG+$21?k2i=C8i_hq`G@Fv7 z9N>0=k#WM+|1v?05ld%FORFTwQvjYUm{QAVmcs zhf_05oAQ|~n1fSHSEkHrdd}z~RMh+L#|c%Y1UGJ(mQtnDE7vG(%38f4C@Eyk7QRne zYj>P0%wD(0>&EN#yUuaF+3+WXp^^QB+Uhr(&X~P^v-yIX_S-F2!mQV_N+t*}a@;9< a{dW6&A{{RXvw~Tgs|>GAbTaM>D96 zW&GNv{ob+AuYLaQ)cn?-{p7#=*Po?}WZAcal6zQEMKP(4X1SYhhH+8;>dv#4Z2jM| zKsF~sIVk`D0Q}ULA^8LV00000EC2ui0Eqw~000I5pyOm@X`X1Ru59bRaQs3K1Z{Y( z?|kq7z@TtQEDj?Q#^S?lI-k&}bV{vSuh{Ih5m0KsOu}UV4qpymG5LA8TnA(5#a-rl zzn;7v)6wTKOaXcw1Roe4Q3D!9s*8>xqW~H00IF40s>+l2(=v_3b?v} ziqg~`kyxu`w@t240NYHj=}-upg&&`Eqfh~xsZ8za06sXP^U1)yC%yb_8-?b>0Rfb> zoGX*?!#XF57%^E>u}Q{78;2Pv=LA3i1Q9d;dK49K<-ta{6x90w;24txEwfAnQ?ZYq zIUeXNLxj)+0R%QJ;cD3AfCmNCn7njy(a9%2?hxoHP-xfCFFU{Vq*bd;P$(UlAiXv7 z!oFdZlsQc`Rh>Jl*lGnRRp1mQuT9cg39F^&-H?Dp0ZXgM52FEzZwaO8hmxYm1%UPS z2tYwyhZ;X5KvdHSPOx2A@g!>Tuv!3x9xi6hgqbS=z#R4KCe&%RSIR!ji;bHbV1}PZ z)f4oAVI~g|b*4r)R@>fBv`)FP9SZ@1CV~hMs5Y&dlkiNs(M>k%tVL{Ew|)BU$}BNs z4wIGlz|`DyimdrW3OAc{RvRdXMCKI#Bc`BI(qRy#S71LM5HJdKg>fS zm~ie01Hg9&HZdBa6^%j$0I)IPh>wOwS=Cz<{_{>wFZD8)n6DYt1YiSk`d<}*4N#gu zi$oa@hlup)(IS^Q5#g_Z{7FgwRVJYnQfTGmN|ZGI0P|63(O^(xoWnK=3LOa`AWUKj z7K00_wCz&Ymt1zB>P2%!WsiGuxR+1?0jYGzQ8smxhk?Q}IR%}0^z*K0q*}Q!8qQLC z?_v2WQouz~?fO|0-c|~kuWKFb5e8Z*J4L630^&%ZppbFM971Kh<}T4TF)b7MHbjOS?NeR^dp`MTV}!QUErZ8wrr*%(8YZd&sJ--U4g2+cdU~Z>~i18gWPq z%vu6?-cn0(itMGd)KS1pZAgT8V7GAJ3D#$wfF3w#*g%sl%Dm_qw_bJtCygwBfP?32 z9|d5r$+=GGow$_29(Xck6n$PPWgc33s`$>^*viDT3QUL>9Th23@TUtpw8~`K{|gFs z2L*MUJNG{~cdMqR%jV7h)zuvt7#L>G{0}6l4itZ~fX&naksv=Yu>E&9yVzMrs{h22 zqLVpR^Dn$OQrOwB?#7z3({HQxKiE*=Qx+l6IkD<&-tPM!cGUQ-zx|$_;n%tMzyCK> zRAnl&$+Idm$V+E+DYME?oWwR^k~~BIG%lXr?z!146MM4SItsYEla&itwgx`hwbHXZ zVD6#xEGCu=g{Em6i}P7nK5#fNEN;sZ=`h&p(7@2H?JmIaq3AxlIWO}jMYj_RHvKP? z7F(A&!&hk0qT4P%eqHlj;W%G@@=nWT>v>PrGT&f$v8`bl6Q97($ROo!&IgK^yMLCH z=`@^MXns|}mZjKX_r$fkbgNHqJis=Q)p1*+R`89`Dg5e10g~HuR5o3@;^}+)^PNL$ zUr8Km9yyp*yrl+?_ zZ)9wLd{U^N<3(@D?sV1(xi==PJLn#Iyi|47u}0+`sV62c6=rB~-Y58ysX!xB+NS8b zaNxf_sdX0$HqBl+vu@d)1DgUQet!3H*eh7kleykjXaWaU#TI!t=@m!jTAb%SaMJF# z>g5Sulh2CVooH8R(@;uPo|f^bv*?MUBdgq&7mvCPj%hsZF}arUxYy#@iexsC1O`VA b2R6+o6I{eHpG@>nTlr*?j~Qo*0E0CEWCuUM literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_internalcloser_OFF.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_internalcloser_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..9d3489fa69695efe455efeb36ae42ac915aae10d GIT binary patch literal 801 zcmZ?wbhEHbtYHvfxXQo~A0IC*Ev>1k$;->TZ{NPEs;b3{7hk@7dButqH*VZ;adFwW zabrhEM_^#!`Sa&DY}oMN!GnAE?zy|WJ2^SEwzj@}`SSk#`>$TTDl04N?ChL6b!u*I zu9=zH#EBDc-n{wj*)tOp69xu`GiS~KNm>BKpDbWwbwDJ@PYi7T4|qRy){*Kzv83o^ zj@A4N8b=a4E7sjuQ+E1o)&2(?DtyWUgxDumoz2^Q|HFL)7w2an`L58R$E5_cbAMbOV;!}7U_u$+}TpR zGF;1)rcGqqJ&j>ac4f7al%n)*MaDHUiZjnK@0C_$nl$6eH5q2bo^xkTWnW?D+IpgZ zM^RCR@#>n_xomf?z3MoA>Fo?9#Y>Za|7Ci>E4}1dgi*Spfn~CC0L#|EN4r*fmIur| zl%B=Jk|EGEZDVmh8_Nfd1ct?JSt2b4TN4g2v}?NxaC|6|XE*0%-lXVuV!@{WWm016 zGH3V-En0Nj>Bp~YzAGH(%TL~Exokb}samER3@^4dENkKw_!$|bJk9w)5p(y?k}{o! za|_L{D%i3FJM5mgc9(AT>5UC+6ImU%HEIRl2%W;Oo);jwJx68Jr7NDkw?E%GwDy(6 zu~yE&buN8D`m3wm624@(wcMO??$ysHX{L;|Cv(_WCuh&L$Uh~m;KO_VfM|MpoAkzm zZI4e1b#uJvE!myUIwAAIgmnkqLywoLuG-e9yd(9*yuh{p-8rx+K;q|jABVky6+M~jZG{3jxGJ{DyGgA$GS}if=Yf-Uzf~_! z@S1#9-0noXLYszCs`9jqN1a7a9v)zp-SXm5x4|)u$2}(3G9LF@JX@j6CX`~p$l<`I Z`DB8NSmu+79%?I}O!6_~Oc7wP1^@>AKm`B* literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_internalcloser_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_internalcloser_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..45bc42903668d2b577952a8946d2bd179c5726c1 GIT binary patch literal 640 zcmV-`0)PESNk%w1VSE4(0K@ zO@aXcXC7+@gt3=;8Mzq@f*84R2ZxDrtBnk~Xt@`ex)*%{xd3{b0itbe9=@~zhEJqq zP6?_@25Z+$1Rj^2XdiK+%XQhUvUc-Jh=G3knylDP_dcZCH1FC1Lip-=8v`YulXFV~ ze#n;~4*>wq`UJqh5yJ;X9MLQgrY{|VMoS?5w&{rB)h2YT9ARJMwTD-qzjNSA-_18QgYhF(xoI#ZNvo_*t1VgC*PnPT-9kKP$lWs4L~!1 zfPkP9ldfqHH(#Rxc@zSL7_=fcR*2+$IA|atS+ESDq(hZ#lP*WDU^S-YtIaB0%}{=j z)^FmlH3#*ol%-2v&VwG$rQ@_R!?tdScRCpWAP+QblRn0o!{<&OP=*G{(!5rkQ_XSu zjsD{?VDfX~IC)AFYEnk9b# literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_internalcloser_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_internalcloser_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..45bc42903668d2b577952a8946d2bd179c5726c1 GIT binary patch literal 640 zcmV-`0)PESNk%w1VSE4(0K@ zO@aXcXC7+@gt3=;8Mzq@f*84R2ZxDrtBnk~Xt@`ex)*%{xd3{b0itbe9=@~zhEJqq zP6?_@25Z+$1Rj^2XdiK+%XQhUvUc-Jh=G3knylDP_dcZCH1FC1Lip-=8v`YulXFV~ ze#n;~4*>wq`UJqh5yJ;X9MLQgrY{|VMoS?5w&{rB)h2YT9ARJMwTD-qzjNSA-_18QgYhF(xoI#ZNvo_*t1VgC*PnPT-9kKP$lWs4L~!1 zfPkP9ldfqHH(#Rxc@zSL7_=fcR*2+$IA|atS+ESDq(hZ#lP*WDU^S-YtIaB0%}{=j z)^FmlH3#*ol%-2v&VwG$rQ@_R!?tdScRCpWAP+QblRn0o!{<&OP=*G{(!5rkQ_XSu zjsD{?VDfX~IC)AFYEnk9b# literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_internalcloser_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_internalcloser_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..d5c05657affed58bd7db42399b8e774277bff82c GIT binary patch literal 640 zcmV-`0)PESNk%w1VSE4(0K@|FN zO@aXcXC7+_gt3=;8Mzq@f*84R35SVttBnk~Xt@`ex)*%{xd3{b0itbe9=@~zhEJqq zP710^2y53&1Rj^2XdiK+%XQhUvUc-Jh=G3knylDP_dcZCH1FC1Lip-=8v`YulXFV~ ze#oaF4*>wq`UJqh5yJ;X9MLQgrY{|VMoS?5w&{rB)h2YT9ARJMwTD-qzjNSA-_18QgYhF(xoI#ZNvo_*t1VgC*PnPT-9kKP$lWs4L~!1 zfPkP9ldfqHH(#Rxc@zSL7_=fcR*2+$IEWx2S+ESDq(hZ#lP*WDU^S-YtIaB0%}{=j z)^FmlH3#*ol%-2v&VwG$rQ@_R!?tdScRCpWAP+QblRn0o!{<&OP=*G{(!5rkQ_XSu zjsD{?VDfX~IC)AFYE|FN zO@aXcXC7+_gt3=;8Mzq@f*84R35SVttBnk~Xt@`ex)*%{xd3{b0itbe9=@~zhEJqq zP710^2y53&1Rj^2XdiK+%XQhUvUc-Jh=G3knylDP_dcZCH1FC1Lip-=8v`YulXFV~ ze#oaF4*>wq`UJqh5yJ;X9MLQgrY{|VMoS?5w&{rB)h2YT9ARJMwTD-qzjNSA-_18QgYhF(xoI#ZNvo_*t1VgC*PnPT-9kKP$lWs4L~!1 zfPkP9ldfqHH(#Rxc@zSL7_=fcR*2+$IEWx2S+ESDq(hZ#lP*WDU^S-YtIaB0%}{=j z)^FmlH3#*ol%-2v&VwG$rQ@_R!?tdScRCpWAP+QblRn0o!{<&OP=*G{(!5rkQ_XSu zjsD{?VDfX~IC)AFYE|_vNxXQrb?p|I{u)Dwi9T%5iTG}cR5v7=zney_+t*v)$ZPTi%&eYXi z+PLxm^5y@HjYH?p|9|!Be^b-Q^z_w6M!{FE{9mx(e@e>o$jB*s_x?Y0=>Pux|65w_ z1O;_yYPy^|_dhpx>*me>)zuvt7#L>G{0}6l4itZ~fX&naksv=Yu>E)7IO?n;)qi41 z(a9XE`4?Uof4-35aAQr`>9TXr8w&d^XwM-mV-OSFT)C5#8TxwJ@)`MLS@KyHDRazSE-RD6xq9m2Ra5df zX0K+-W$Iph zrld6G%9`sJa+ogcxV0zu%JE0+JCsi`^W`$SY$z(uiI|^M!nG?f>^!ek>Si{X1ZIaQ zGr?j9)`ahFi9CQSjq}U)jzOk{CSZ&|Y9QJ2oL)|hUCV;af|H6a@gvRgb`@wm_C+l$Bj4s4oF nCb)=MK4BH~FmUAXF?;!Ba)6uW(|_vNxXQo~A0Iz;>ePMv_VM!ac64+|OG|5NYF1TM1qKFg+_-V^;>9ag zthjvn@{JoeTwGkvpFjWL!2>5JrBKpDbWwbwDJ@PYi7T4|F|o){*Kzv83o^ zj@A4NFN8l`h_Jb_rtI|Fs{Ic(RQTxi%TH!=K9aZl{)Zhke(P_)|M91mG2r$8hQ_Am zmYTX!8HRjzncm*69BCPji85Tdla(0ydfD?C`D9q~Sr#dA&Rs4eox`zu>f%*X@;GO& zX3AyiWz6N0nU~jD+Lm3aD3dR($ksPOiJ4h(I*Z~2uB%Ei$NLWCa4IshDsIfV-o>t{ zIOWQk>lbpEF6_9qC-=(nM{GNkPBHW4GCFN2D$a?RpH#xND=_RluT|=1Hi-mghp24= z#SW|q-`y51OBU9Sb5by1G00*FDASqH@Tj4Rm1{zdrqY80W?at&HcvLbWb{8T$AagA z>4MOXX@<>t*(IG<82EnQvN&+UM>0_GFAGFF#2(CMe#tmVt2g-K0k%o3EH+d8 zdV>yxHrTcX?ECX$Vaq{N@i|^OD@uG*#2==~FkH0wASxaF(@n@tbYk$sszRB9Xb!$D zCBD%i@@z{Ma2!lzaZhhqvf@#f&a&2+Zi8bQ$_h0$6CBwso~?M?XY=jF<9-J=%_kFF k#4J@(asHj9l zMA+Ea>gwvx&(C&tcHiIMLPA2`-rk0WhOn@(;o;$5Utb#=8#XpJZEbCqmX?u`k=fbV z=jZ1%G&BGJ0L;wHA^8LV00000EC2ui0Eqw)000I5Aj5EEX`X1Ru59bRaQsru6K!~| z?|kq7z@TtQEDjrz1>(bOI-k&}bV{vSuh{H0QBi8Y;IMd1=6XK`kD%#k3kuAN$H2^Z zGM@|P)An58A94c$Odfj}7jbh;7=3?DdQEmu0v>>Ec$gms9u;+co{Dr$1Qr$tO&DvO zo)rool?4PIgtGx=OPdy!g#Z`>d$1Ovc8QT502KqCjjnfm0|kgo0>g|J7{9@J+mlUc z7NZ`(2LsO)7Hc1N7yygHp-cb*0Jdx6<`sCrjF+2ca z1-sy>O}0b|)lK6DshbBU1}r2iMA5*7X961k!SSX502)K;>SVxR@53wt7cLC=U?D)r zk+Td864)hI&yjot=p^tVfQ4BrJ&1g`?&C9jiKJpnca z1N~)aObD4O0Jda+4r`4_=F2kpbfUn&Gj|jd;DFPN2T5D|8Inx^1MGK!OLv?U-Y^-E zMgTi<81Ud=u+W2Ig0D1k0frj76drIz@f1u;e6(>2hD;pb!H6Fzl%pSj2y!1DO7ZxC zj|6O_9a()~V8?a#M07_%e2|992ZK!6NmDy5`D2d*46r2=oa|u-T2&5)UyWqMDd(JY zS}{`m}aW!rkr-_ M>8GHE8fpjtJLwc=dH?_b literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_leave3waycall_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_leave3waycall_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..63594d6570eee9c43792a3620cb74e10791af6b6 GIT binary patch literal 816 zcmZ?wbhEHb>|_vNxXQo~A0Iz;>ePMv_VM!ac64+|OG|5NYF1TM1qKFg+_-V^;>9ag zthjvn@{JoeTwGkvpFjWL!2>5JrBKpDbWwbwDJ@PYi7T4|F|o){*Kzv83o^ zj@A4NFN8l`h_Jb_rtI|Fs{Ic(RQTxi%TH!=K9aZl{)Zhke(P_)|M91mG2r$8hQ_Am zmYTX!8HRjzncm*69BCPji85Tdla(0ydfD?C`D9q~Sr#dA&Rs4eox`zu>f%*X@;GO& zX3AyiWz6N0nU~jD+Lm3aD3dR($ksPOiJ4h(I*Z~2uB%Ei$NLWCa4IshDsIfV-o>t{ zIOWQk>lbpEF6_9qC-=(nM{GNkPBHW4GCFN2D$a?RpH#xND=_RluT|=1Hi-mghp24= z#SW|q-`y51OBU9Sb5by1G00*FDASqH@Tj4Rm1{zdrqY80W?at&HcvLbWb{8T$AagA z>4MOXX@<>t*(IG<82EnQvN&+UM>0_GFAGFF#2(CMe#tmVt2g-K0k%o3EH+d8 zdV>yxHrTcX?ECX$Vaq{N@i|^OD@uG*#2==~FkH0wASxaF(@n@tbYk$sszRB9Xb!$D zCBD%i@@z{Ma2!lzaZhhqvf@#f&a&2+Zi8bQ$_h0$6CBwso~?M?XY=jF<9-J=%_kFF k#4J@s(O0Nr>FljGgYy% z|9*bbpP&C(S(Me)|GvKeWMrpjXR9(YQ^LakprHRpM|TtyA}J|EQc{R;aJ$aV|7~rx zv$OvvCqV!J0GXNpA^8LV00000EC2ui0Eqw)000I5pyOy{X`X1Ru59bRaQsfp^Kf{s z?|kq7z@TtQEDjkE1>(bOI-k&}bV{vSuh{H$QBi8Y;IMd1=6XK`kD%#k3kuAN$H2^Z zGM@|P)An58A94c$Odfj}7jbh;7=3?DdQEmu0v>>Ec$gms9u;+co{Dr$1Qr$tO&DvO zo)rlnl?4PIgtGx=OPdy!g#Z`>d$1Ovc8QT502KqCjjnfm0|kgo0>g|J7{9@J+mlUc z7NZ`(2LsO)7Hc1N7yygHp-cb*0Jdx6<`sCrjF+2ca z1-sy>O}0b|)lK6DshbBU1}r2iMA5*7X961k!SR*=02)K;>SVxR@53wt7cLC=U?D)r zk+Td864)hI&yjot=p^tVfQ4BrJ&1g`?&C9jiKJpnca z1N~)aObD4O0Jda+4r`4_=F2kpbdtcoGj|jd;DFPN2T5D|8Inx^1MGK!OLv?U-Y^-E zMgTi<81Ud=u+W2Ig0D1k0frj76drIz@f1u;e6(>2hD;pb!H6Fzl%pSj2y!1DO7ZxC zj|6O_9a()~V8?a#M07_%e2|992ZK!6NmDy5`D2d*46r2=oa|u-T2&5)UyWqMDd(JY zS}{`m}aW!rkr-_ M>8GHE8fpjtJ9O4$D*ylh literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_leave3waycall_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_leave3waycall_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..7bca06f94630a6e8ad47d9e2b5fa7768cac0d2a8 GIT binary patch literal 816 zcmZ?wbhEHb>|_vNxXQrb?p|I{u)Dwi9T%5iTG}cR5v7=zney_+t*v)$ZPTi%&eYXi z+PLxm^5y@HjYH?p|9|!Be^b-Q^z_w6M!{FE{9mx(e@e>o$jB*s_x?Y0=>Pux|65w_ z1O;_yYPy^|_dhpx>*me>)zuvt7#L>G{0}6l4itZ~fX&naksv=Yu>E)7IO?n;)qi41 z(a9XE`4?Uof4-35aAQr`>9TXr8w&d^XwM-mV-OSFT)C5#8TxwJ@)`MLS@KyHDRazSE-RD6xq9m2Ra5df zX0K+-W$Iph zrld6G%9`sJa+ogcxV0zu%JE0+JCsi`^W`$SY$z(uiI|^M!nG?f>^!ek>Si{X1ZIaQ zGr?j9)`ahFi9CQSjq}U)jzOk{CSZ&|Y9QJ2oL)|hUCV;af|H6a@gvRgb`@wm_C+l$Bj4s4oF nCb)=MK4BH~FmUAXF?;!Ba)6uW(FKNY?){&VvV6gU|A!9!zk2n5WaJbhqhM3h$SYU= z2L*L#YPy^|_dhpx>*me>)zuvt7#L>G{0}6l4itZ~fX&naksv=Yu>C)9`k1qhRR4)3 zMJIEt=KGyyHe!rie`8JA>9 z?7EV%Icr-s*D+=06Hk?7GCpx-uzyvWd|D}Q$<1zYh51`b__i%%49GuXV8Zlr>Ew=O zj)(2bGZtnZU&pXCbMKCgF9jGFJslZtx1iGTa8o$4P zczAoIz{BRhzkhsweg8Z#;r(Y|<4|Ce@|fVr!J)R|K@*SJiwDgDZW<3;MA#S^tO0TG BA87yp literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_localcloser_OFF.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_localcloser_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..ed11b7aca56f642f2c94b6f0aaf0dc776759e7c1 GIT binary patch literal 728 zcmZ?wbhEHb%w`Z^xXQo~A0N-l%R6=I)QuZAN=r*?YH9`s23A#7?c2BS#*G^;E-oup zthjvnaz{tU;>C;4pFe;9{{0ObHoScKva_?($;rvx-TmIZdu3&14<0;dZEbz^>Xn(9 zS#ECb#EBDc-n{wj*)tOp69xu`GiS~KNm>BKpDbWwbwDJ@PYi7T9eSTQ>qzyVSWopnQa{mU9&q@x6E11#hcTRo~bx3 zi;q!}Ra#MTi4vDD~f zQq6|QSs~0hoCzFfUYwZnUBOTJ)Vpg8d<+~c9j(R9=a_DBEIA~Ru{glw&=kcBZ4HV( zEH_*XzC3+B?XqcJ^0C~R$CB(;uHg7loY9#-YuYuoNmpM?U}!)7O^1!)fTOfxB_mHr zo<~DN!}<3jUz^S(>ZF~$^~Uq^ABjmDcxBeG2B`QHulHQ-8O&o=YG}P{-vy3}?cN_5 zn0Lu^Z}3==#Nl-G#WL%8H4980eB;T~?wC@MmUq4Jy`P7}l3hJ@msZE`XV>`s{lmlC zl>!T!|Nj2*`Stzt`}hC<&%nmW>d(*5M@L8B-`|OeiLkJ+(9qD~;o;ui-jqodih?0s={*k6}y;ut*mI37MO79tq0HyhsGX#7oH^0ozF4 zNVR7Hz@{E+rUeEc2C&i4#gR;+a!Jlg)k&2f36vSq=JtGBg`w5658yHZ@r*%5D?EmO9BquB8)ZdnKO?_0?1i)0f2{f*`Qc-(hp#! z1{{&tT*r>ohXKAmILnzN*{q~ZS#t9Lby5JEazq)(|Z{ zKrpkx)=eUip_KtqYuT=ZcF+TywS8>Du~f=!0g-+`5GZh=F@pl;@@62qL~N4)*Zi*G z>NU{<23;AT!`yX%G*MoYc^gomUh2f@RI&Wrm4Hm6NP437suGE1FTjHfr}BHa@#Dj- tP?(^hx%21Hqf4Joy}I@5*snK$Ab~-L@8H9WA5Xr#`Sa-0t6v`i06U$v6t(~W literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_localcloser_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_localcloser_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..fbad052dc2e69833d6c28150b84307a91a0a6645 GIT binary patch literal 607 zcmV-l0-*gzNk%w1VQT;o0K@W>d(*5M@L8B-`|OeiLkJ+(9qD~;o;ui-jqodih?0s={*k6}y;ut*mI37MO79tq0HyhsGX#7oH^0ozF4 zNVR7Hz@{E+rUeEc2C&i4#gR;+a!Jlg)k&2f36vSq=JtGBg`w5658yHZ@r*%5D?EmO9BquB8)ZdnKO?_0?1i)0f2{f*`Qc-(hp#! z1{{&tT*r>ohXKAmILnzN*{q~ZS#t9Lby5JEazq)(|Z{ zKrpkx)=eUip_KtqYuT=ZcF+TywS8>Du~f=!0g-+`5GZh=F@pl;@@62qL~N4)*Zi*G z>NU{<23;AT!`yX%G*MoYc^gomUh2f@RI&Wrm4Hm6NP437suGE1FTjHfr}BHa@#Dj- tP?(^hx%21Hqf4Joy}I@5*snK$Ab~-L@8H9WA5Xr#`Sa-0t6v`i06U$v6t(~W literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_localcloser_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_localcloser_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..d36e1944c7976070d7192840703d0a7963d2ebe3 GIT binary patch literal 606 zcmV-k0-^m!Nk%w1VQT;o0K@ z|9X1NTwIwmGgY6T|Dd4%GBQ)u)&JDg|GmBc!ovS#WT(Hs|8Q`-DJeu!Qi#sZ|7~rx zv$OvvCqV!J0GXNpA^8LV00000EC2ui0BZmc000I5U?gc|X`X1Ru59bRF6CGgXWw|P z?|kq7z#!03K`1`Rq;kn@I-k&}bSg~%jMS`l%k3(y*e9cb0R%n^%wieHU@)08(hWy4 z-uN~C%~)dkOBZAW7fEez8A=y*b{JJxM@|GD0vMD57aoO%0+gKsXBnOz03V`zYaRt} z1)548iAoF}0~iAyeF2>qodih@0|QB-k6}y;ut*mJ2br659tX@r*v5D?EmO9KwuB8)ZdnKO?_0?1i)0f2{f*`Qc-(hp!J z1{{&tT*r>o2LZl5ILnzN*{q~ZS#t9Lby5JEazq)(|Z{ zKrpkx)=eUip_KtqYuT=ZcF+TywS8>Du~f=!0g-+`5GZh=af1Tp@@62qL~N4)*Zi*G z>NU}V23;GV!`xMXG*MoYc@t2eUh2f@RI&Wrm4Hm6NP437suGE1FTjHfr}BHa@#Dj- sJTS1Kx%21Hqf4Joy}I@5*sqT{0HK5T@8H9WA5Xr#`Sa-0s}BJHJIMbIl>h($ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_localcloser_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_localcloser_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..d36e1944c7976070d7192840703d0a7963d2ebe3 GIT binary patch literal 606 zcmV-k0-^m!Nk%w1VQT;o0K@ z|9X1NTwIwmGgY6T|Dd4%GBQ)u)&JDg|GmBc!ovS#WT(Hs|8Q`-DJeu!Qi#sZ|7~rx zv$OvvCqV!J0GXNpA^8LV00000EC2ui0BZmc000I5U?gc|X`X1Ru59bRF6CGgXWw|P z?|kq7z#!03K`1`Rq;kn@I-k&}bSg~%jMS`l%k3(y*e9cb0R%n^%wieHU@)08(hWy4 z-uN~C%~)dkOBZAW7fEez8A=y*b{JJxM@|GD0vMD57aoO%0+gKsXBnOz03V`zYaRt} z1)548iAoF}0~iAyeF2>qodih@0|QB-k6}y;ut*mJ2br659tX@r*v5D?EmO9KwuB8)ZdnKO?_0?1i)0f2{f*`Qc-(hp!J z1{{&tT*r>o2LZl5ILnzN*{q~ZS#t9Lby5JEazq)(|Z{ zKrpkx)=eUip_KtqYuT=ZcF+TywS8>Du~f=!0g-+`5GZh=af1Tp@@62qL~N4)*Zi*G z>NU}V23;GV!`xMXG*MoYc@t2eUh2f@RI&Wrm4Hm6NP437suGE1FTjHfr}BHa@#Dj- sJTS1Kx%21Hqf4Joy}I@5*sqT{0HK5T@8H9WA5Xr#`Sa-0s}BJHJIMbIl>h($ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_number.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_number.gif new file mode 100644 index 0000000000000000000000000000000000000000..33f303308b856190585ce243cd5c6585bd7de6eb GIT binary patch literal 480 zcmV<60U!QHNk%w1VR8Tt0J8u98yg~{qs)4GnGOySUtf1bL{(B!X0fr|DJe6)zV3*K zs+N|!Ha0|UZHNE>0L;w)A^8LV00000EC2ui0CE5h000F4@X1N5y*TU5yZ>M)j%4{T z%M=jLN(sUvpi{#HGNUt%6zn?I52&aBb+O07z$hdwf&#;Un;Z(Sr-V@5I0gyHf}teW zdX0f$0vMzkhJ~D`M9Ag1gi|f`BzR zLr$asu|)v~4w^-5-~fjyv}h6JfeV-EmYAF>MEWw&LV&Xl49UPXp&MJcWEjxx!PA7} W$B-jSo=my2<;$2eYu;QU0suSAL%4$g literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_number_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_number_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..6d672accc6b9494df75a7665685349aea7210c73 GIT binary patch literal 416 zcmV;R0bl+{Nk%w1VQv5p0J8u9%*_97ZHNE>05mX^D|zV4%=%wJ!38yg}H4iS2K znNm__L_}4wvE3;tGl+<)A^8LV00000EC2ui0B!&d000F45XecZy*TU5yZ>M)j$~<` zXlf0_WE|?LDAf>;LQ+VCeUpJeMeqv=0=^z#CV2r40YpM^$Qb~IMGgj73mKnf0uguuMeBd!NkTmViRL<~YoZvaXI3 zR}+C)h!l$xL=6ZHj6_il1qhFk01s@FHjV(Q5|A83uLO!hjJGWSM8n1d$__Ti1P-9W zEI6DkOQMMNOp8E5G9Zk2$CBd}TeJoPiJ?5zY61d164b$~w;-RW0qrEb}&;kIPaY+F-tfOt?uiw9VBLDz9KM0~| literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_parkcustomerdial.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_parkcustomerdial.gif new file mode 100644 index 0000000000000000000000000000000000000000..195b1a9032282c3fe36670f53ef490eb05a366a9 GIT binary patch literal 896 zcmZ?wbhEHboXjA=aFv09i%Zbmy9H(@)%_qi&)rXIi>ShWSLj4R%Vr%!7+P! z@4OA0^5!gDJ6Cz@x~(${7xYb4UbQA~^6{QUbq%?BN({XWN-LPJFce(rWm1w=mR6d| zsl+s^-~qd=lF~ex8+o5rykmODz_I)KHsz>R;FAl#sOABQATBHO0 zuW!rad#W+XEa?#k>r=Nmlb>fsxfMJ6*{hlEU15dylbK$8S%wL?OYLXe|N&la5 z=fuvwRK=aIiF+zp!uEyx4idqYK|;wH7flI50)EF5zWhWJy?{_CVnUU-`YpBMD85 z-YoUCe4aRUt|+_9PR0Zo*TMomzpoF{@74Xi`z6s>+2NUdoYESzLnX$$E(&*8F>aM( z;*4p&D$U~2(r3i+#l@E?`)cWoNlY@%w@sPnw9ko`eEVZU3fq|={=WHFZd{!DMYrk1 z%#39#pUE1nd--g30oSMFEJ8I2&*xS=Tlsum&9|4&=Qprvy;#ul&hsF%n2W%nMLlM( ZUM!yAruA~kl(4LqOJ}5MWePA@0|3E^b0h!& literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_parkcustomerdial_OFF.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_parkcustomerdial_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..7c2757329221b9c5c8cb424de56c21a5f601e295 GIT binary patch literal 896 zcmZ?wbhEHboXjA=aFv09mzOs_K3-E(bMfNE($dl{E-qD7Rr~hs+qiLKU|?WJN5_pD zH!fekykffcJa{m5>eSra zTr)GXi4!N@ym|B4vu7qICJYP=XU?1flC%JdKUu)W>VQa)pBUKwJNP_x){*Kzv83o^ zj@A4ND@2pO0%#IViC6{)Zhke(P_)|FNg;{Csn!oZ6=5 zme#iR{QAZ`nO+%Iu6#}z>4LsqMs_7;8MZt|8O9zF8 z^7x)=Oj1i)#KHR1WzOX1nNe;9k5A3@7I(jA$il!CFvnatl!NJulT=MG!#wH#Gwz(& zx%nku;xThM*9A2vjE^*QDV_dl;+d`-#3XIzVN$RlDtzYURfP=dlkb==FS@g`nR)9X z8%9Q+GgXiIRx(&HZkSlS(>&#nTjKs!25<8tv-gVbF8a~+MMGxw<$HmvQxsenc;7v% zvVPI_VDFZ;`)6{!g%7qdurRpX^8D(%ckfa&h8wp7bspS$S7P)wW?jWDyHsIJBt8?A43K W6Wp|3E}0UR^>XQqG_6bl25SJM3vzk@ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_parkcustomerdial_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_parkcustomerdial_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..ef710c9c52b9504fcc81678712bb63d7f50799f4 GIT binary patch literal 661 zcmV;G0&4w7Nk%w1VUqw50J8u9dU|@()6NTJVmjb zXsWJk>%MR-&veZ`!V)}u@BhG{a7Zi~kI1AlI7sN0(5Q4ut@fJFN5a893?2>y&XM3D z9KdaNaOOG==b*swW}|zDM7w(i@WO6nYFuRxdj?_$foEbqhhkd-Jc9;)2n`O1hIe2H zif#y4J6Z+_2?ht9qzz`AJ*TFqXQl}NaX$kN1g8YIJbAOGwwZqb2?wPJu%?Z{1_lEM zd8WCIJ;4nI57~vw*#ia*3E#e9(zFAjlc}54+go40uk3xU^6O^3uE6%0eqmbJ9RqR; z9DqDN06MyJCf7K8V+1((0!~0VPlb4>3)lltsEG#uB;Diq=Zv%i!+;>XwolI+X~Ryr z8%XM8GfsJsom90jRwZZ?YwD!=fL}*XsH8pENYo<$b7e+0H3@U%%6KiQqHI_SAk9-Y zTj4pDG?hY@To4gxfFNYeIz)|@)Txvyy@_E6xX~u{?$d>71R~1XkCaz|>;Utqw6f$6 zd33lC;0RA*lSmDhLiNG46xdG5p4y?+XqhZQwSwtswTp~ujH**UpaV%T=~kwYMVpo& z*REP(H9D|$iev)<;0)-622Px!-RPLQ@dD;)qe^?oOqyJ11KQjgcMe2 v;e{AxsNsejcIe@UAYKRn0RpVmz=!EFvck3j5OBRVgvv?;L$4! literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_parkcustomerdial_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_parkcustomerdial_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..72dee5c09484be2ce4a5a9a274703f47d6492d2a GIT binary patch literal 916 zcmZ?wbhEHboXjA=aFu}}DJe-tMuv}%FC-+SzP|qG(W6>gTHCj8U%7JSx^?Sr-n`k{ z+w11$cJ11=w{PD*efsptlP8ZJJ?iS}a&>j}^77iYZQIqWSF5V3X3w5&VPR2NSU7Fk zv{$cQnVFg0yLXR)f#LGy%RrKLK=CIF*l-;X3Gx#I+kc1lW@jC#{u4`zPUcw6zp%pO z=LQF*d27l}zpdK;U_*tE-t6=D+Kwz{*m?iMjvBx9x8MKRQ+Iy8IzvuvQ*%peTYG+e zW0916A2X|hyaWfMyyQd$26-lyd^Y)+eSHiCtdjDK91467X`yLy&9cWGB{52F+V)4IvbcbS& z60;PuJo~-}Y)os8oZcw8_R{VzYJwRo@8_EM=l${&R%>A7V0>_|reXQP;0B)AVh1Lv zB^+?elrSj~wmi_=$gu4X!!0p)XMF*s{KS^XQw)av3Sul03E4s%|H~xqF#J9Fz+rXx zpD%B(QQN9beNNPP}?_CTy~ZSIC>p%NP4)6ThBraAwmsUQeQW(u#uLhH`&?tl7T$p!n{{ z55CMMKC^z8iZPtJ#=tDWvSV`btc#~-OlGQhb?a^Va^}r8zD@!cd4Da~(8K1(<-S1q z!H=ggXOAZs7Oha&;C?=QqXKJt1oIcxCe{8K%f!s@xtMS=e`8??wp=08z{9q~Ky>4j z^qD4VlUlh#Rc6>fWJ&d`V+%F8>h#m3iJ?fO(rIqGoM=XLhC*j3gT;$N)`nIs-Ak7= zCfsRa&{)-Tv{Rkgf@N~6-QN}GHCL|r1#Qb_0L!w8+0K4caPH9 z@&^xuAK18VYB@2t;@QgOvUlIUd_KQ{?~^;TXimb5g&k_EUM%V{d-Y=R1UIdhOQz^m kF|u;|TsXLFPT8xM%NMk1y;`wkTGp$TE0$?x2{2d#07AEQZvX%Q literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_parkcustomerdial_es.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_parkcustomerdial_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..accda01c85b5f905d644563725477b017d5950f2 GIT binary patch literal 659 zcmV;E0&M+9Nk%w1VUqw50J8u9rl$WmI9^;_nPz6He}B}!zyHM)X2nw! zOscMI>%MR-&vb3y?lUmJ}YLgz^M z5DsDY`#^gg2lQ~zfVb1XL&E(<3&MP5YhGq|UJV2f2XA6xL4jjk13rTee*|@icRyl_ zZwOjFTn!0bV2%k54QF^jsikmer3nIZK?Du~T>-W}da|Xp4yzBA2?wMIucc#mrFDvW zrMS&Mz^V_bh0EB(scF5P(g_5ilwfz%*&Md}Y1wE%BcK~3rdSJQ&=qK@ha*IJr2k@^WW%t^pi zf{cIE@e+V<7Xl4oJp>rBP+y9aNTs@&tSJFtdqO{pBZwC2W@vPkd5v#Y)jEk)Gs}4_ zO~_febkQ<-)RMAQ{u)#sh8K^wMbUuMeS^-D#xTO(Y@=?d4!EFvck3j4Va~06Po*Dyskh literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_parkcustomerdial_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_parkcustomerdial_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..0101ea9e8939ac0f00b6ccfc170e45c9fb9e029c GIT binary patch literal 916 zcmZ?wbhEHboXjA=aFv0<-Mw5yM2U+_(AG9BCT3=T|2uhkMm{E_<#BG z|7mHfjEzI*&;Nhu(Et7W{~H+vx3t{3a^-(Y%5qcF$OQ}jM@CM$diDR_z5mnGR~HoQ z*3@(f3hFp_?tgCX*3Fy$tE)RQFfh!V`5#D99Vq@}0h_48{c$!AlV+1JNVz$&A}$gV6Sn=h@jX7NU) zrIVyrES|JjCVyw&rgbaUu9)s zFqnaFw#0!+Y6%D2GNr9bge?#BHZpAc!*EM%x$}BKrToN}$Wsi4{mK$75((LtIR2MO z-(mQBlfiLy_@6ItwO)P>+qj^x@7JS*hPffjg*NgkFr4l^y)Hjy7vqKQSa#-{Vdn&Q zzZYW`WMgp2`jvJdY|A8`0uBWQ;fVNOyWYJG&w8|HS;yBRhZCFlGB93830-P6}{EbE`K zI5y}&{O=y6v*iyS2tTlK-PCeoZpE{e%VqDreffNT1K+21R-u}N7YjSoR=rr%WA^IB t;t6hAFPBWwt8!$OauGPRY);v$m&+HlX}wypWLnm%l`EEMWeG4?0|3}ucW?jz literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_seconds.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_XB_seconds.gif new file mode 100644 index 0000000000000000000000000000000000000000..92fc7f2b380b00341c73446d06dec171457d0a9b GIT binary patch literal 352 zcmV-m0iXUyNk%w1VMG890J8u9zP|2ydYKLm5no?-v9aALDKkVwRT~>3qod4HQf7#V zsx~%6ZEc8_mb(A|0L;w)A^8LV00000EC2ui07L)|000F4@X1N5y*TU5yZ<0X49mg* zQmHP}STa{U;9zSA z0@Fh7(kM`JV2c1jNdO23)TG8^2=sAr5(EMd3L{z1#|#@C^U2g?z;~N0^0-zhylwF?FSm#IB?Jp y*1&_`7#tXAK$W3|0un@`XDHCYEa?_HFc3*sh>su*Ly805mX^B?4iR5pcPS||v9aC0zU~_v zB6@n6qod4-h^j!BA^8LV00000EC2ui07L)|000E~5XecZy*TU5yZ>M)jvrzS zLy(Z&z*kR~XgheYDw8W1D_pa6&{Fc<}C4>|#C2@f{|QUOc|X&eX(1_}=V0SYJs1q60M zb$6C}6LxtL2|5D}ri2A4D;*0!69)tV4m30godBFuprtwzq*nl_ssN`F423=&eNq4o zfq-{z2@7#^E)IppwFe8UPJA5C)>f3^Xp1hyVaP7j05mX^B?4iR5pcPS||v9aC0zU~_v zB6@n6qod4-h^j!BA^8LV00000EC2ui07L)|000E~5XecZy*TU5yZ>M)jvrzS zLy(Z&z*kR~XgheYDw8W1D_pa6&{Fc<}C4>|#C2@f{|QUOc|X&eX(1_}=V0SYJs1q60M zb$6C}6LxtL2|5D}ri2A4D;*0!69)tV4m30godBFuprtwzq*nl_ssN`F423=&eNq4o zfq-{z2@7#^E)IppwFe8UPJA5C)>f3^Xp1hyVaP7j9<{j1f?`|A2*3%N?=bPDG zt0XUz7887C=dw^=*SjaS{Qv*&|H~_@W_AC6edGU&%m06V{{Qju|9^k}Kfn0@@1OFV z#Q)#l|9}7B|Hmi)e|-4={lotckN&^E|Nqi-v){{Q^) z|J{9{?PLSRpDbX#Iv^6{CkD3v2O0`Ibfo%EEGasfV>SQ6iW0B2QR{EKPB{IxYX5@` z6+U|Xrv7I;olXec`>>Duo=f<9tPSFh<2^AYc0-Q2^+DzJ8EtGM^VR$(@#Lx(uo+qgLo zAL8e0W<7O^hmE`WAQNlj`3p>3Y{wd}-9F6Lw%lt~3;Ux(yv-aZUthWT`taKahi)+3 zdd>O$3)2&xyWz7{h7JMPlO?5(x#Wr0>=9LU{4%sf@ebu;|eTUkHpQhOg zEIh5X(j{eq9m;}Q7nX9pZH%nx{+1hj;ecAhzW?9EwAQR(TBRf}qNq{upfQ;7{u4K` zwCUQ+Qw0>8=f>O=NOzU*DKSWSeZbZ6)jYOERuUB*ui-; zxHZyLqvu)hX@+fFe5XF&b-Xd-u->e`6-}H<3NI$@d2wLYV}}nyHdomF8_zy@XnB+& z{@g@W&gzZ^hZc?w0o6XH4Ku$h@CY)gTz~g)~|G?A} zzRVh790!EFzjAA^Z%cp|6g5mu`}-J+Z}DPpdp9an-Eu|NsB}e|hEq>l^=ne*XXO&;J*f|9^b^|L>pw z&oBP}_~ie)d;h<^{r~R%|Mw66zq(v2~AU`p%{Xfu9;GrYce_~0|$sDWs7gm&bt&LiLLp$;G+p7H! zHdOfN^_%*iT@`dgkKY z-mOOk51(Q`bWnh+k(r6@>V<xe2BRWletwj^At}bY@$Tn>c{fHn(NnTsyf(0L$`U@APZS@wNv-KFeoHEM?3C0u7YJENj6fEL59y<7h z(IX}!VZ)?}&%>6zsY+8|V|w%OT^0xPDkWt;#$t|-caCuIHF>7^W)!Avp7iwCGN0d{ z9?x!?(JJ#{hx$T6HwTXO)-M`c=6&hui{W-?YKqD$be<P5(q*eij;5 zc4S_vgXp3|tWFCqoYbkl> literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_tab_script_ptbr.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_tab_script_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..69e43b796cf4e54e22bffc09ba16377d76657104 GIT binary patch literal 825 zcmZ?wbhEHb%w&*bxXQrr|M`Xg|Nk=p8GnBMe|2s5%9$>9<{j1f?`|A2*3%N?=bPDG zt0XUz7887C=dw^=*SjaS{Qv*&|H~_@W_AC6edGU&%m06V{{Qju|9^k}Kfn0@@1OFV z#Q)#l|9}7B|Hmi)e|-4={lotckN&^E|Nqi-v){{Q^) z|J{9{?PLSRpDbX#Iv^6{CkD3v2O0`Ibfo%EEGasfV>SQ6iW0B2QR{EKPB{IxYX5@` z6+U|Xrv7I;olXec`>>Duo=f<9tPSFh<2^AYc0-Q2^+DzJ8EtGM^VR$(@#Lx(uo+qgLo zAL8e0W<7O^hmE`WAQNlj`3p>3Y{wd}-9F6Lw%lt~3;Ux(yv-aZUthWT`taKahi)+3 zdd>O$3)2&xyWz7{h7JMPlO?5(x#Wr0>=9LU{4%sf@ebu;|eTUkHpQhOg zEIh5X(j{eq9m;}Q7nX9pZH%nx{+1hj;ecAhzW?9EwAQR(TBRf}qNq{upfQ;7{u4K` zwCUQ+Qw0>8=f>O=NOzU*DKSWSeZbZ6)jYOERuUB*ui-; zxHZyLqvu)hX@+fFe5XF&b-Xd-u->e`6-}H<3NI$@d2wLYV}}nyHdomF8_zy@XnB+& z{@g@W&gzZ^hZc?w0o6XH4Ku$h@CY)gTz~g)~|G?A} zzRVh790!EFqEekJvnvz_xE2*`sO}3e7&ut;o{a4a#FH3 zCYJoXe7fq|QGQ{ER_ye4bl*IC^}m1rrZ)Ef{qy(l?>~=@-uV9hYi4xHn_JJGoxS_$ z_|1ohufMwX_|?_NpI^Lxc;x!)>rWn^y#4sZtsfu1zPzb$=i>P-2l3TB%t_{1*~2NM1uUp!1n(@LxG2mRR4)3MJIEt=3iJ* z;e{VImjv#8*iqxRUYPI4p1Skri{tdlnwnXp)H3~) z7`l6U`}!wLoHTjL)M@=n{wmYw%$+xXfr_8%f~Cur&r|gkQeLrc{RReQAs_LL+jq

>?4tw&tk9Gv&APT)Fo zZo;i8(px;Y^>W_g=;P!$bN9-F?h8jciw~TTS8imIw$b?UR*00C9>)WylN(-M+a|S~ ziKDw=vAcV|>Rg9INTzb*Lo*JK-R@~}&x&P>ycl*vrz0*_`b61I&U?SOI zm&Prt&-L3PDCu;M1h>H169yK$D+0YYDfD}EduB2gv^1EFqEekJvnvz_xE2*`sO}3e7&ut;o{a4a#FH3 zCYJoXe7fq|QGQ{ER_ye4bl*IC^}m1rrZ)Ef{qy(l?>~=@-uV9hYi4xHn_JJGoxS_$ z_|1ohufMwX_|?_NpI^Lxc;x!)>rWn^y#4sZtsfu1zPzb$=i>P-2l3TB%t_{1*~2NM1uUp!1n(@LxG2mRR4)3MJIEt=3iJ* z;e{VImjv#8*iqxRUYPI4p1Skri{tdlnwnXp)H3~) z7`l6U`}!wLoHTjL)M@=n{wmYw%$+xXfr_8%f~Cur&r|gkQeLrc{RReQAs_LL+jq

>?4tw&tk9Gv&APT)Fo zZo;i8(px;Y^>W_g=;P!$bN9-F?h8jciw~TTS8imIw$b?UR*00C9>)WylN(-M+a|S~ ziKDw=vAcV|>Rg9INTzb*Lo*JK-R@~}&x&P>ycl*vrz0*_`b61I&U?SOI zm&Prt&-L3PDCu;M1h>H169yK$D+0YYDfD}EduB2gv^1FJ_3H?p*}@csSi0s^0yn60g? zb8~a%=H~zZ{{R30A^8LV00000EC2ui05kv(000I5AQEt7X`X1Rk|T#$7Rv>qCkTsY z<2rxmi=0j;94>B10fqr-5E@VjBRAj(Iu*(0a>!l=oe0<~iEJ-u$pC%XL@J$l=aFzu z5)8&9LzoCQRviKcA0HPUga91~00#mWh5?0>0|=8JfpK(C3=a`gM|hj zmWqrA1&|v9G?)ev000I70T%^v6$efX7zF|Y02CQe4GyS@2nCFduYVs7IfNYx9RM6d zznTes4+8@Z$$Sap3eO*mxQrFAvDe0u5(O2xEpM6=1S$-eq%4C13>_N8xH8Ba01e(g zENW!U!MzXp4p^FGQB#vgg$h#OfT4mycNYNGh~nUiA|#6f@D(_aOM`)1aOO;CP+*`) zOae?U6hugZB?N>juspC}gT0s-XL|FHBix*E2_pQ&grQD5hJ-YJu&IcUh7KG)47ixD z8v-!{BFO2$;7OfQ8v|fyqQPAULbN^{z%>a07N{8kTr!;V0YFj-N?Hn#Aj5=HR|E#= zQ02gd0I(_{;2;4`EDl{N7%*XAE*yXj5*+vhg8+mA8v=MJU~IPl-@A<+xxu@4aUnp8 n7Z-4s8I%bH7F<9uV1xDR*t2Wj&fPj11u!fq(9q_Bfe-*YMzrL3 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_volume_UNMUTE.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_volume_UNMUTE.gif new file mode 100644 index 0000000000000000000000000000000000000000..b3937d136bf7655b0b616171e5682094b08bd25e GIT binary patch literal 624 zcmV-$0+0PiNk%w1VKe{_0K@FJ4yiM_qOfq{WmR#xur?)LWf zb8~a8t*!t6{{R30A^8LV00000EC2ui05kv(000I5VDoTfX`X1Rl1A&kPxg4pHYMJc z)OteD8=Z$hs7;DLkJ6`H2A>;Z&~q_B9Dzy!TPRclmqNr*2!I`j1Gb`8JKl~l{E{^X z7KaWZpy^-+3=$In9}pP~5eN+e4j&W&5ey##3WyVx79W})3=Wc-4Rv=14FD5-et;1h zgb;)Z6AcZG9|sqjl$Mna76J?p7PkNx4+?h+8wHXEr+t5ctc8RP6^ot>9e@nE5tknl z9vBQ72^S0nN(2%Y7abIu%&5;2(S{7z0<#Pa7#so=3MzFINZbg_La_r6A}AP80fU1HrUh6@?Epgn1P2V1zyRUP?*$wT zEFkOQ$dLsIh#*+tgZcs@>mgI5;?LY-|@4yXooaQ&UqG78aP8 znA_Xiy}aJOzP{Ad+lYvWd3kxXw6yH(?C9v|_V)Izt*!3v?yjz`@9*#T_xE&kbOQjl z=jZ3<=H~zZ{{R30A^8LV00000EC2ui02}}h000HyAOUG)X`W~aA&^JCFqO@8?alA( zHCopFzz%0f98NG5#{qb}^n$=5aY9ifltGLWAn1C(00{DoH2+r z9v^c>Gf-Qc831x}02T;&hzSD^1Xvb(J_3Uq0uu*^h-MBR1qv1&k52<{aRv+%5}1h# zsSy*PkUxTP034_q1Oy3r2^Rf>792oG zPe1?wLQ+E*$^#NnS}hju@D^k9^cf2r81G{l5eN+x00UOIK(HV|fDtYXEEwTI2mm`& CYKtWR literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_volume_down_off.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_volume_down_off.gif new file mode 100644 index 0000000000000000000000000000000000000000..9bd1b04fbc675d9bb4b6c59d0cf0ecd48b230922 GIT binary patch literal 343 zcmV-d0jT~*Nk%w1VH^Mt0K@fA$jHdPzP`7&x8L92!otFBZEeHD!K=!hPQp+T)u4H^Ll(y=5G07wuA1t>P?G+HrXPy&ra=78}q zoF8ZhqgGc05nmaD2LT2W06`peHx_*x4Hp6fgOvvW9S9aqi$(+vY6uLHl$CP;lMjlF zI239RACd(N3kQT60}f+)ISptAM*<8Ba{&RdWJNbP69^j&Iv3Iq6U3-btT`00NFNXZ p5)*jIEga_O=;<6C0N&^w4-pg?^z|4T`1$zs4;uIR4-A9=06QvQkmmpZ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_volume_up.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_volume_up.gif new file mode 100644 index 0000000000000000000000000000000000000000..8aa17f195edf9fda7dc19f79af61b7427d9f5f07 GIT binary patch literal 377 zcmV-<0fzoZNk%w1VH^Mt0K@88 zcH_6Vx3{;<%*@l%)9C2vq@<)478dU9?Yq0XX=!P*v$K19d++b>va+)G_xF5!eAfT~ z=H}+-=jZ?b{{R30A^8LV00000EC2ui02}}h000H{Ab?n8X=!Mho*GMP6yjxcZQt~q zUD@nSnha;iSu8l6q%!%qKpYtefN{B0f0J0t!HE0fQS{4-x>2oDqot4FCiHjY4jgaG9H& zb_O045EK}sK?{PY2Lqa{t(pt~6SNYQsBc^f2?-I45wjY>!5A6?Th-P9149ygb_4_r z2@@0olSJlT4^7-0vl9XUR)FS6UP%`OeGdc_00tS-9wZ1HIH!t1gKRRm@g$ZUN XnyEmsB1JO{DqvtRK_deJApih702q*} literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_volume_up_off.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/images/vdc_volume_up_off.gif new file mode 100644 index 0000000000000000000000000000000000000000..2e78579afcd215a133314d1270981224f8b847c8 GIT binary patch literal 379 zcmV->0fhcXNk%w1VH^Mt0K@mBSzP`TH)YP)Fvb?;!mX?;Ps;c7R;@;lg-{0SAYHGp3!Q_u(i!}4b0ef z1CO_Lz)nEW`52E!%p|ax3=9~I#usFa7)Yc=;)n<|kU?QH{Q)N&P64@yS_&BlBQQuP z1_1+Am`EoCM*;>41Q{6!5FP;y1QH27KMVwEX#`jo6o#4(0t5pB19yo(5R{Y?9~T3f zhFt&+1q}vbJ_3EF9CoU#aSW;k6bG~yE4XPM3<(1R4u*&#!Uq&n3LX{L*w-EgK>-MH z3JMxe91@U0=vfPG-g4sx5(5}|X6Qv(Mi`(03jz%T3@l6maG{{V3sDj(+`yp2h64pK Z$S}Y`oQ8`SGiuaezyQYw9^r)m06TZNn5F;# literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/inbound_popup.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/inbound_popup.php new file mode 100644 index 00000000..c92583de --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/inbound_popup.php @@ -0,0 +1,351 @@ + LICENSE: GPLv2 +### +### This script is designed to open up when a live_inbound call comes in giving the user +### options of what to do with the call or options to lookup the callerID on various web sites +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $uniqueid - ('1234567890.123456',...) +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $vmail_box - ('101','1234',...) +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $ext_context - ('default','demo',...) +### - $ext_priority - ('1','2',...) +### - $voicemail_dump_exten - ('85026666666666') +### - $local_web_callerID_URL_enc - ( rawurlencoded custom callerid lookup URL) +### + +# changes +# 50428-1500 - First build of script display only +# 50429-1241 - some formatting, hangup and Vmail redirect, 30s timeout on actions, and CID web lookup links +# 50503-1244 - added session_name checking for extra security +# 50711-1203 - removed HTTP authentication in favor of user/pass vars +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["voicemail_dump_exten"])) {$voicemail_dump_exten=$_GET["voicemail_dump_exten"];} + elseif (isset($_POST["voicemail_dump_exten"])) {$voicemail_dump_exten=$_POST["voicemail_dump_exten"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_GET["local_web_callerID_URL_enc"];} + elseif (isset($_POST["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_POST["local_web_callerID_URL_enc"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} + else {$local_web_callerID_URL = '';} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.6'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$DO = '-1'; +if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalid server_ip: |$server_ip| or Invalid session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalid session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +echo "\n"; +echo "\n"; +echo "\n"; +?> + + +LIVE INBOUND CALL"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "

LIVE INBOUND CALL

\n"; +echo "$NOW_TIME

\n"; +} + + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($uniqueid)<9) + { + $channel_live=0; + echo "Uniqueid $uniqueid is not valid\n"; + exit; + } + else + { + $stmt="SELECT * FROM live_inbound where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $channels_list = mysql_num_rows($rslt); + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); +# echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; +# Zap/73|"V.I.C.I. MARKET" <7275338730>|2005-04-28 14:01:21|7274514936|Inbound direct to Matt||||| + if ($format=='debug') {echo "\n";} + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Channel: $row[1]
CallerID: $row[3]
\n"; + + $phone = eregi_replace(".*\<","",$row[3]); + $phone = eregi_replace("\>.*","",$phone); + $NPA = substr($phone, 0, 3); + $NXX = substr($phone, 3, 3); + $XXXX = substr($phone, 6, 4); + $D='-'; + echo "GOOGLE - \n"; + echo "ANYWHO - \n"; + echo "SWITCHBOARD - \n"; + echo "VERIZON - \n"; + echo "WHITEPAGES - \n"; + echo "411.COM - \n"; + echo "411.COM - \n"; + + $local_web_callerID_QUERY_STRING =''; + $local_web_callerID_QUERY_STRING.="?callerID_areacode=$NPA"; + $local_web_callerID_QUERY_STRING.="&callerID_prefix=$NXX"; + $local_web_callerID_QUERY_STRING.="&callerID_last4=$XXXX"; + $local_web_callerID_QUERY_STRING.="&callerID_Time=$row[6]"; + $local_web_callerID_QUERY_STRING.="&callerID_Channel=$row[1]"; + $local_web_callerID_QUERY_STRING.="&callerID_uniqueID=$row[0]"; + $local_web_callerID_QUERY_STRING.="&callerID_phone_ext=$row[5]"; + $local_web_callerID_QUERY_STRING.="&callerID_server_ip=$row[2]"; + $local_web_callerID_QUERY_STRING.="&callerID_extension=$row[4]"; + $local_web_callerID_QUERY_STRING.="&callerID_inbound_number=$row[8]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_a=$row[9]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_b=$row[10]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_c=$row[11]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_d=$row[12]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_e=$row[13]"; + echo "CUSTOM - \n"; + + echo "
Number Dialed: $row[8]
Notes: $row[9]|$row[10]|$row[11]|$row[12]|$row[13]|
\n"; + echo "HANGUP - \n"; + echo "SEND TO MY VOICEMAIL\n"; + echo "
\n"; + + + $stmt="UPDATE live_inbound set acknowledged='Y' where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + + } + + + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/live_exten_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/live_exten_check.php new file mode 100644 index 00000000..3dadf572 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/live_exten_check.php @@ -0,0 +1,278 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send whether the client channel is live and to what channel it is connected +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### + +# changes +# 50404-1249 - First build of script +# 50406-1402 - added connected trunk lookup +# 50428-1452 - added live_inbound check for exten on 2nd line of output +# 50503-1233 - added session_name checking for extra security +# 50524-1429 - added parked calls count +# 50610-1204 - Added NULL check on MySQL results to reduced errors +# 50711-1204 - removed HTTP authentication in favor of user/pass vars +# 60103-1541 - added favorite extens status display +# 60421-1359 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1203 - Added variable filters to close security holes for login form +# 60825-1029 - Fixed translation variable issue ChannelA +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count"];} + elseif (isset($_POST["favorites_count"])) {$favorites_count=$_POST["favorites_count"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '2.0.1'; +$build = '60825-1029'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalid server_ip: |$server_ip| or Invalid session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalid session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Live Extension Check"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + +echo "DateTime: $NOW_TIME|"; +echo "UnixTime: $StarTtime|"; + +$stmt="SELECT count(*) FROM parked_channels where server_ip = '$server_ip';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +echo "$row[0]|"; + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten is not valid or protocol $protocol is not valid\n"; + exit; + } + else + { + $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + $ChanneLA[$loop_count] = "$row[0]"; + $ChanneLB[$loop_count] = "$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + $counter=0; + while($loop_count > $counter) + { + $counter++; + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "ChannelA: $ChanneLA[$counter] ~"; + echo "ChannelB: $ChanneLB[$counter] ~"; + echo "ChannelBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "ChannelA: $ChanneLA[$counter] ~"; + echo "ChannelB: $ChanneLB[$counter] ~"; + echo "ChannelBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "ChannelA: $ChanneLA[$counter] ~"; + echo "ChannelB: $ChanneLB[$counter] ~"; + echo "ChannelBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "ChannelA: $ChanneLA[$counter] ~"; + echo "ChannelB: $ChanneLB[$counter] ~"; + echo "ChannelBtrunk: $row[0]|"; + } + else + { + echo "Conversation: $counter ~"; + echo "ChannelA: $ChanneLA[$counter] ~"; + echo "ChannelB: $ChanneLB[$counter] ~"; + echo "ChannelBtrunk: $ChanneLA[$counter]|"; + } + } + } + } + } + +echo "\n"; + +### check for live_inbound entry +$stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = '$exten' and acknowledged='N';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +if ($rslt) {$channels_list = mysql_num_rows($rslt);} + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); + $LIuniqueid = "$row[0]"; + $LIchannel = "$row[1]"; + $LIcallerid = "$row[3]"; + $LIdatetime = "$row[6]"; + echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; + if ($format=='debug') {echo "\n";} + } + +echo "\n"; + + +### if favorites are present do a lookup to see if any are active +if ($favorites_count > 0) + { + $favorites = explode(',',$favorites_list); + $h=0; + $favs_print=''; + while ($favorites_count > $h) + { + $fav_extension = explode('/',$favorites[$h]); + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$favorites[$h]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favs_print .= "$fav_extension[1]: $row[0] ~"; + $h++; + } + echo "$favs_print\n"; + } + +if ($format=='debug') {echo "\n";} + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/manager_send.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/manager_send.php new file mode 100644 index 00000000..94eff7b6 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/manager_send.php @@ -0,0 +1,1142 @@ + LICENSE: GPLv2 +# +# This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $ACTION - ('Originate','Redirect','Hangup','Command','Monitor','StopMonitor','SysCIDOriginate','RedirectName','RedirectNameVmail','MonitorConf','StopMonitorConf','RedirectXtra','RedirectXtraCX','RedirectVD','HangupConfDial','VolumeControl','OriginateVDRelogin') +# - $queryCID - ('CN012345678901234567',...) +# - $format - ('text','debug') +# - $channel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $exten - ('1234','913125551212',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $filename - ('20050406-125623_44444',...) +# - $extenName - ('phone100',...) +# - $parkedby - ('phone100',...) +# - $extrachannel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $auto_dial_level - ('0','1','1.1',...) +# - $campaign - ('CLOSER','TESTCAMP',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('1234',...) +# - $seconds - ('32',...) +# - $outbound_cid - ('3125551212','0000000000',...) +# - $agent_log_id - ('123456',...) +# - $call_server_ip - ('10.10.10.15',...) +# - $CalLCID - ('VD01234567890123456',...) +# - $stage - ('UP','DOWN') +# + +# CHANGELOG: +# 50401-1002 - First build of script, Hangup function only +# 50404-1045 - Redirect basic function enabled +# 50406-1522 - Monitor basic function enabled +# 50407-1647 - Monitor and StopMonitor full functions enabled +# 50422-1120 - basic Originate function enabled +# 50428-1451 - basic SysCIDOriginate function enabled for checking voicemail +# 50502-1539 - basic RedirectName and RedirectNameVmail added +# 50503-1227 - added session_name checking for extra security +# 50523-1341 - added Conference call start/stop recording +# 50523-1421 - added OriginateName and OriginateNameVmail for local calls +# 50524-1602 - added RedirectToPark and RedirectFromPark +# 50531-1203 - added RedirecXtra for dual channel redirection +# 50630-1100 - script changed to not use HTTP login vars, user/pass instead +# 50804-1148 - Added RedirectVD for VICIDIAL blind redirection with logging +# 50815-1204 - Added NEXTAVAILABLE to RedirectXtra function +# 50903-2343 - Added HangupConfDial function to hangup in-dial channels in conf +# 50913-1057 - Added outbound_cid set if present to originate call +# 51020-1556 - Added agent_log_id framework for detailed agent activity logging +# 51118-1204 - Fixed Blind transfer bug from VICIDIAL when in manual dial mode +# 51129-1014 - Added ability to accept calls from other VICIDIAL servers +# 51129-1253 - Fixed Hangups of other agents channels in VICIDIAL AD +# 60310-2022 - Fixed NEXTAVAILABLE bug in leave-3way-call redirect function +# 60421-1413 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1158 - Added variable filters to close security holes for login form +# 60809-1544 - Added direct transfers to leave-3ways in consultative transfers +# 61004-1526 - Added parsing of volume control command and lookup or number +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61201-1115 - Added user to MonitorConf for recording_log +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70226-1251 - Added Mute/UnMute to conference volume control +# 70320-1502 - Added option to allow retry of leave-3way-call and debug logging +# 70322-1636 - Added sipsak display ability +# + +require("dbconnect.php"); + +### These are variable assignments for PHP globals off +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["queryCID"])) {$queryCID=$_GET["queryCID"];} + elseif (isset($_POST["queryCID"])) {$queryCID=$_POST["queryCID"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["filename"])) {$filename=$_GET["filename"];} + elseif (isset($_POST["filename"])) {$filename=$_POST["filename"];} +if (isset($_GET["extenName"])) {$extenName=$_GET["extenName"];} + elseif (isset($_POST["extenName"])) {$extenName=$_POST["extenName"];} +if (isset($_GET["parkedby"])) {$parkedby=$_GET["parkedby"];} + elseif (isset($_POST["parkedby"])) {$parkedby=$_POST["parkedby"];} +if (isset($_GET["extrachannel"])) {$extrachannel=$_GET["extrachannel"];} + elseif (isset($_POST["extrachannel"])) {$extrachannel=$_POST["extrachannel"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["secondS"])) {$secondS=$_GET["secondS"];} + elseif (isset($_POST["secondS"])) {$secondS=$_POST["secondS"];} +if (isset($_GET["outbound_cid"])) {$outbound_cid=$_GET["outbound_cid"];} + elseif (isset($_POST["outbound_cid"])) {$outbound_cid=$_POST["outbound_cid"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["call_server_ip"])) {$call_server_ip=$_GET["call_server_ip"];} + elseif (isset($_POST["call_server_ip"])) {$call_server_ip=$_POST["call_server_ip"];} +if (isset($_GET["CalLCID"])) {$CalLCID=$_GET["CalLCID"];} + elseif (isset($_POST["CalLCID"])) {$CalLCID=$_POST["CalLCID"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["allow_sipsak_messages"])) {$allow_sipsak_messages=$_GET["allow_sipsak_messages"];} + elseif (isset($_POST["allow_sipsak_messages"])) {$allow_sipsak_messages=$_POST["allow_sipsak_messages"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$secondS = ereg_replace("[^0-9]","",$secondS); + +# default optional vars if not set +if (!isset($ACTION)) {$ACTION="Originate";} +if (!isset($format)) {$format="alert";} +if (!isset($ext_priority)) {$ext_priority="1";} + +$version = '2.0.29'; +$build = '70320-1502'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalid server_ip: |$server_ip| or Invalid session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalid session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Manager Send: "; +if ($ACTION=="Originate") {echo "Originate";} +if ($ACTION=="Redirect") {echo "Redirect";} +if ($ACTION=="RedirectName") {echo "RedirectName";} +if ($ACTION=="Hangup") {echo "Hangup";} +if ($ACTION=="Command") {echo "Command";} +if ($ACTION==99999) {echo "HELP";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ACTION=SysCIDOriginate - insert Originate Manager statement allowing small CIDs for system calls +###################### +if ($ACTION=="SysCIDOriginate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<1) ) + { + echo "Exten $exten is not valid or queryCID $queryCID is not valid, Originate command not inserted\n"; + } + else + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Originate command sent for Exten $exten Channel $channel on $server_ip\n"; + } +} + + + +###################### +# ACTION=Originate, OriginateName, OriginateNameVmail - insert Originate Manager statement +###################### +if ($ACTION=="OriginateName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "extenName $extenName must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "\nOriginateName Action not sent\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "extenName $extenName must be set\n"; + echo "exten $exten must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "\nOriginateNameVmail Action not sent\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateVDRelogin") +{ + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $CIDdate = date("ymdHis"); + $DS='-'; + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $queryCID = "$SIPSAK_prefix$campaign$DS$CIDdate"; + + } + $ACTION="Originate"; +} + +if ($ACTION=="Originate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<10) ) + { + echo "Exten $exten is not valid or queryCID $queryCID is not valid, Originate command not inserted\n"; + } + else + { + if (strlen($outbound_cid)>1) + {$outCID = "\"$queryCID\" <$outbound_cid>";} + else + {$outCID = "$queryCID";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $outCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Originate command sent for Exten $exten Channel $channel on $server_ip\n"; + } +} + + + +###################### +# ACTION=HangupConfDial - find the Local channel that is in the conference and needs to be hung up +###################### +if ($ACTION=="HangupConfDial") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "conference $exten is not valid or ext_context $ext_context or queryCID $queryCID is not valid, Hangup command not inserted\n"; + } + else + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $hangup_channel_prefix = "$local_DEF$exten$local_AMP$ext_context"; + + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row > 0) + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $channel=$rowx[0]; + $ACTION="Hangup"; + $queryCID = eregi_replace("^.","G",$queryCID); + } + } +} + + + +###################### +# ACTION=Hangup - insert Hangup Manager statement +###################### +if ($ACTION=="Hangup") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) ) + { + $channel_live=0; + echo "Channel $channel is not valid or queryCID $queryCID is not valid, Hangup command not inserted\n"; + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + +# $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $row=mysql_fetch_row($rslt); +# if ($row[0]==0) +# { +# $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $rowx=mysql_fetch_row($rslt); +# if ($rowx[0]==0) +# { +# $channel_live=0; +# echo "Channel $channel is not live on $call_server_ip, Hangup command not inserted\n"; +# } +# } + if ( ($auto_dial_level > 0) and (strlen($CalLCID)>2) and (strlen($exten)>2) and ($secondS > 4)) + { + $stmt="SELECT count(*) FROM vicidial_auto_calls where channel='$channel' and callerid='$CalLCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + echo "Call $CalLCID $channel is not live on $call_server_ip, Checking Live Channel...\n"; + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel' and extension LIKE \"%$exten\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $channel_live=0; + echo "Channel $channel is not live on $call_server_ip, Hangup command not inserted $rowx[0]\n$stmt\n"; + } + else + { + echo "$stmt\n"; + } + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Hangup','$queryCID','Channel: $channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Hangup command sent for Channel $channel on $call_server_ip\n"; + } + } +} + + + +###################### +# ACTION=Redirect, RedirectName, RedirectNameVmail, RedirectToPark, RedirectFromPark, RedirectVD, RedirectXtra, RedirectXtraCX +# - insert Redirect Manager statement using extensions name +###################### +if ($ACTION=="RedirectVD") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($campaign)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($uniqueid)<2) or (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "exten $exten must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "auto_dial_level $auto_dial_level must be set\n"; + echo "campaign $campaign must be set\n"; + echo "uniqueid $uniqueid must be set\n"; + echo "lead_id $lead_id must be set\n"; + echo "\nRedirectVD Action not sent\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where lead_id='$lead_id' order by start_epoch desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + if ($auto_dial_level < 1) + { + $stmt = "UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt = "DELETE from vicidial_auto_calls where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectToPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($parkedby)<1) ) + { + $channel_live=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "exten $exten must be set\n"; + echo "extenName $extenName must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "parkedby $parkedby must be set\n"; + echo "\nRedirectToPark Action not sent\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "INSERT INTO parked_channels values('$channel','$server_ip','','$extenName','$parkedby','$NOW_TIME');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectFromPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "exten $exten must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "\nRedirectFromPark Action not sent\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "DELETE FROM parked_channels where server_ip='$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "extenName $extenName must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "\nRedirectName Action not sent\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Redirect"; + } + } +} + +if ($ACTION=="RedirectNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "extenName $extenName must be set\n"; + echo "exten $exten must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "\nRedirectNameVmail Action not sent\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Redirect"; + } + } +} + +if ($ACTION=="RedirectXtraCX") +{ + $DBout=''; + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "ExtraChannel $extrachannel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "exten $exten must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "\nRedirect Action not sent\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Channel $channel is not live on $call_server_ip, Redirect command not inserted\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel is not live on $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Channel $channel is not live on $server_ip, Redirect command not inserted\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel is not live on $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + $stmt="SELECT count(*) FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $channel_liveY=0; + echo "No Local agent to send call to, Redirect command not inserted\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + } + else + { + $stmt="SELECT server_ip,conf_exten,user FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $dest_server_ip = $rowx[0]; + $dest_session_id = $rowx[1]; + $dest_user = $rowx[2]; + $S='*'; + + $D_s_ip = explode('.', $dest_server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$dest_session_id$S$lead_id$S$dest_user$S$phone_code$S$phone_number$S$campaign$S"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','$queryCID','Channel: $extrachannel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtraCX command sent for Channel $channel on $call_server_ip and \nHungup $extrachannel on $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel on $call_server_ip, Hungup $extrachannel on $server_ip";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel on $server_ip";} + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } +} + +if ($ACTION=="RedirectXtra") +{ + if ($channel=="$extrachannel") + {$ACTION="Redirect";} + else + { + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "ExtraChannel $extrachannel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "exten $exten must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "\nRedirect Action not sent\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if ($exten == "NEXTAVAILABLE") + { + $stmt="SELECT conf_exten FROM conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 3) + { + $stmt="UPDATE conferences set extension='$user' where server_ip='$server_ip' and conf_exten='$row[0]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $exten = $row[0]; + } + else + { + $channel_liveX=0; + echo "Cannot find empty conference on $server_ip, Redirect command not inserted\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Cannot find empty conference on $server_ip";} + } + } + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Channel $channel is not live on $call_server_ip, Redirect command not inserted\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel is not live on $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Channel $channel is not live on $server_ip, Redirect command not inserted\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel is not live on $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + if ( ($server_ip=="$call_server_ip") or (strlen($call_server_ip)<7) ) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','ExtraChannel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra command sent for Channel $channel and \nExtraChannel $extrachannel\n to $exten on $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten on $server_ip";} + } + else + { + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$exten"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra command sent for Channel $channel on $call_server_ip and \nExtraChannel $extrachannel\n to $exten on $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } + } +} + + +if ($ACTION=="Redirect") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "exten $exten must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "\nRedirect Action not sent\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Channel $channel is not live on $server_ip, Redirect command not inserted\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "Redirect command sent for Channel $channel on $server_ip\n"; + } + } +} + + + +###################### +# ACTION=Monitor or Stop Monitor - insert Monitor/StopMonitor Manager statement to start recording on a channel +###################### +if ( ($ACTION=="Monitor") || ($ACTION=="StopMonitor") ) +{ + if ($ACTION=="StopMonitor") + {$SQLfile = "";} + else + {$SQLfile = "File: $filename";} + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Channel $channel is not valid or queryCID $queryCID is not valid or filename: $filename is not valid, $ACTION command not inserted\n"; + } + else + { + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Channel $channel is not live on $server_ip, $ACTION command not inserted\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','$ACTION','$queryCID','Channel: $channel','$SQLfile','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + if ($ACTION=="Monitor") + { + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + } + else + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + } + echo "$ACTION command sent for Channel $channel on $server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n"; + } + } +} + + + + + + +###################### +# ACTION=MonitorConf or StopMonitorConf - insert Monitor/StopMonitor Manager statement to start recording on a conference +###################### +if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<3) or (strlen($channel)<4) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Channel $channel is not valid or exten $exten is not valid or filename: $filename is not valid, $ACTION command not inserted\n"; + } + else + { + + if ($ACTION=="MonitorConf") + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$filename','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $filename','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + } + else + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + # find and hang up all recordings going on in this conference # and extension = '$exten' + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + # $rec_count = intval(mysql_num_rows($rslt) / 2); + $rec_count = mysql_num_rows($rslt); + $h=0; + while ($rec_count>$h) + { + $rowx=mysql_fetch_row($rslt); + $HUchannel[$h] = $rowx[0]; + $h++; + } + $i=0; + while ($h>$i) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$i','Channel: $HUchannel[$i]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $i++; + } + + } + echo "$ACTION command sent for Channel $channel on $server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n RECORDING WILL LAST UP TO 60 MINUTES\n"; + } +} + + + + + +###################### +# ACTION=VolumeControl - raise or lower the volume of a meetme participant +###################### +if ($ACTION=="VolumeControl") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($stage)<1) or (strlen($queryCID)<1) ) + { + echo "Conference $exten, Stage $stage is not valid or queryCID $queryCID is not valid, Originate command not inserted\n"; + } + else + { + $participant_number='XXYYXXYYXXYYXX'; + if (eregi('UP',$stage)) {$vol_prefix='4';} + if (eregi('DOWN',$stage)) {$vol_prefix='3';} + if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} + if (eregi('MUTING',$stage)) {$vol_prefix='1';} + $local_DEF = 'Local/'; + $local_AMP = '@'; + $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $volume_local_channel','Context: $ext_context','Exten: 8300','Priority: 1','Callerid: $queryCID','','','','$channel','$exten');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Volume command sent for Conference $exten, Stage $stage Channel $channel on $server_ip\n"; + } +} + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='debug') {echo "\n";} +if ($format=='debug') {echo "\n\n\n";} + +exit; + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/park_calls_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/park_calls_display.php new file mode 100644 index 00000000..872f5780 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/park_calls_display.php @@ -0,0 +1,146 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send the details on the parked calls on the server +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### + +# changes +# 50524-1515 - First build of script +# 50711-1208 - removed HTTP authentication in favor of user/pass vars +# 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($park_limit)) {$park_limit="1000";} + +$version = '0.0.4'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) ) + { + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { + echo "Invalid server_ip: |$server_ip| or Invalid session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalid session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Parked Calls Display"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten is not valid or protocol $protocol is not valid\n"; + exit; + } + else + { + ##### print parked calls from the parked_channels table + $stmt="SELECT * from parked_channels where server_ip = '$server_ip' order by parked_time limit $park_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $park_calls_count = mysql_num_rows($rslt); + echo "$park_calls_count\n"; + $loop_count=0; + while ($park_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0] ~$row[2] ~$row[3] ~$row[4] ~$row[5]|"; + } + echo "\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/vdc_db_query.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/vdc_db_query.php new file mode 100644 index 00000000..129af642 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/vdc_db_query.php @@ -0,0 +1,2535 @@ + LICENSE: GPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('regCLOSER','manDiaLnextCALL','manDiaLskip','manDiaLonly','manDiaLlookCALL','manDiaLlogCALL','userLOGout','updateDISPO','VDADpause','VDADready','VDADcheckINCOMING','UpdatEFavoritEs','CalLBacKLisT','CalLBacKCounT','PauseCodeSubmit','LogiNCamPaigns') +# - $stage - ('start','finish','lookup','new') +# - $closer_choice - ('CL_TESTCAMP_L CL_OUT123_L -') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $campaign - ('testcamp',...) +# - $dial_timeout - ('60','26',...) +# - $dial_prefix - ('9','8',...) +# - $campaign_cid - ('3125551212','0000000000',...) +# - $MDnextCID - ('M06301413000000002',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('36524',...) +# - $list_id - ('101','123456',...) +# - $length_in_sec - ('12',...) +# - $phone_code - ('1',...) +# - $phone_number - ('3125551212',...) +# - $channel - ('Zap/12-1',...) +# - $start_epoch - ('1120236911',...) +# - $vendor_lead_code - ('1234test',...) +# - $title - ('Mr.',...) +# - $first_name - ('Bob',...) +# - $middle_initial - ('L',...) +# - $last_name - ('Wilson',...) +# - $address1 - ('1324 Main St.',...) +# - $address2 - ('Apt. 12',...) +# - $address3 - ('co Robert Wilson',...) +# - $city - ('Chicago',...) +# - $state - ('IL',...) +# - $province - ('NA',...) +# - $postal_code - ('60054',...) +# - $country_code - ('USA',...) +# - $gender - ('M',...) +# - $date_of_birth - ('1970-01-01',...) +# - $alt_phone - ('3125551213',...) +# - $email - ('bob@bob.com',...) +# - $security_phrase - ('Hello',...) +# - $comments - ('Good Customer',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $VDstop_rec_after_each_call - ('0','1') +# - $conf_silent_prefix - ('7','8','',...) +# - $extension - ('123','user123','25-1',...) +# - $protocol - ('Zap','SIP','IAX2',...) +# - $user_abb - ('1234','6666',...) +# - $preview - ('YES','NO',...) +# - $called_count - ('0','1','2',...) +# - $agent_log_id - ('123456',...) +# - $agent_log - ('NO',...) +# - $favorites_list - (",'cc160','cc100'",...) +# - $CallBackDatETimE - ('2006-04-21 14:30:00',...) +# - $recipient - ('ANYONE,'USERONLY') +# - $callback_id - ('12345','12346',...) +# - $use_internal_dnc - ('Y','N') +# - $omit_phone_code - ('Y','N') +# - $no_delete_sessions - ('0','1') + +# CHANGELOG: +# 50629-1044 - First build of script +# 50630-1422 - Added manual dial action and MD channel lookup +# 50701-1451 - Added dial log for start and end of vicidial calls +# 50705-1239 - Added call disposition update +# 50804-1627 - Fixed updateDispo to update vicidial_log entry +# 50816-1605 - Added VDADpause/ready for auto dialing +# 50816-1811 - Added basic autodial call pickup functions +# 50817-1005 - Altered logging functions to accomodate auto_dialing +# 50818-1305 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1411 - Added hangup of agent phone after Logout +# 50901-1315 - Fixed CLOSER IN-GROUP Web Form bug +# 50902-1507 - Fixed CLOSER log length_in_sec bug +# 50902-1730 - Added functions for manual preview dialing and revert +# 50913-1214 - Added agent random update to leadupdate +# 51020-1421 - Added agent_log_id framework for detailed agent activity logging +# 51021-1717 - Allows for multi-line comments (changes \n to !N in database) +# 51111-1046 - Added vicidial_agent_log lead_id earlier for manual dial +# 51121-1445 - Altered echo statements for several small PHP speed optimizations +# 51122-1328 - Fixed UserLogout issue not removing conference reservation +# 51129-1012 - Added ability to accept calls from other VICIDIAL servers +# 51129-1729 - Changed manual dial to use the '/n' flag for calls +# 51221-1154 - Added SCRIPT id lookup and sending to vicidial.php for display +# 60105-1059 - Added Updating of astguiclient favorites in the DB +# 60208-1617 - Added dtmf buttons output per call +# 60213-1521 - Added closer_campaigns update to vicidial_users +# 60215-1036 - Added Callback date-time entry into vicidial_callbacks table +# 60413-1541 - Added USERONLY Callback listings output - CalLBacKLisT +# - Added USERONLY Callback count output - CalLBacKCounT +# 60414-1140 - Added Callback lead lookup for manual dialing +# 60419-1517 - After CALLBK is sent to agent, update callback record to INACTIVE +# 60421-1419 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60427-1236 - Fixed closer_choice error for CLOSER campaigns +# 60609-1148 - Added ability to check for manual dial numbers in DNC +# 60619-1117 - Added variable filters to close security holes for login form +# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic +# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing +# 60821-1647 - Added ability to not delete sessions at logout +# 60906-1124 - Added lookup and sending of callback data for CALLBK calls +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70115-1733 - Added alt_dial functionality in auto-dial modes +# 70118-1501 - Added user_group to vicidial_log,_agent_log,_closer_log,_callbacks +# 70123-1357 - Fixed bug that would not update vicidial_closer_log status to dispo +# 70202-1438 - Added pause code submit function +# 70203-0930 - Added dialed_number to lead info output +# 70203-1030 - Added dialed_label to lead info output +# 70206-1126 - Added INBOUND status for inbound/closer calls in vicidial_live_agents +# 70212-1253 - Fixed small issue with CXFER +# 70213-1431 - Added QueueMetrics PAUSE/UNPAUSE/AGENTLOGIN/AGENTLOGOFF actions +# 70214-1231 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1210 - Added queuemetrics COMPLETEAGENT action +# 70216-1051 - Fixed double call complete queuemetrics logging +# 70222-1616 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70309-1034 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70319-1544 - Added agent disable update customer data function +# 70322-1545 - Added sipsak display ability +# 70413-1253 - Fixed bug for outbound call time in CLOSER-type blended campaigns +# 70424-1100 - Fixed bug for fronter/closer calls that would delete vdac records +# 70802-1729 - Fixed bugs with pause_sec and wait_sec under certain call handling +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71029-1855 - removed campaign_id naming restrictions for CLOSER-type campaigns +# 71030-2047 - added hopper priority for auto alt dial entries +# 71116-1011 - added calls_today count updating of the vicidial_live_agents upon INCALL +# 71120-1520 - added LogiNCamPaigns to show only allowed campaigns for agents upon login +# 71125-1751 - Added inbound-group default inbound group sending to vicidial.php +# 71129-2025 - restricted callbacks count and list to campaign only +# + +$version = '2.0.4-65'; +$build = '71129-2025'; + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["closer_choice"])) {$closer_choice=$_GET["closer_choice"];} + elseif (isset($_POST["closer_choice"])) {$closer_choice=$_POST["closer_choice"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["dial_timeout"])) {$dial_timeout=$_GET["dial_timeout"];} + elseif (isset($_POST["dial_timeout"])) {$dial_timeout=$_POST["dial_timeout"];} +if (isset($_GET["dial_prefix"])) {$dial_prefix=$_GET["dial_prefix"];} + elseif (isset($_POST["dial_prefix"])) {$dial_prefix=$_POST["dial_prefix"];} +if (isset($_GET["campaign_cid"])) {$campaign_cid=$_GET["campaign_cid"];} + elseif (isset($_POST["campaign_cid"])) {$campaign_cid=$_POST["campaign_cid"];} +if (isset($_GET["MDnextCID"])) {$MDnextCID=$_GET["MDnextCID"];} + elseif (isset($_POST["MDnextCID"])) {$MDnextCID=$_POST["MDnextCID"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["length_in_sec"])) {$length_in_sec=$_GET["length_in_sec"];} + elseif (isset($_POST["length_in_sec"])) {$length_in_sec=$_POST["length_in_sec"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["start_epoch"])) {$start_epoch=$_GET["start_epoch"];} + elseif (isset($_POST["start_epoch"])) {$start_epoch=$_POST["start_epoch"];} +if (isset($_GET["dispo_choice"])) {$dispo_choice=$_GET["dispo_choice"];} + elseif (isset($_POST["dispo_choice"])) {$dispo_choice=$_POST["dispo_choice"];} +if (isset($_GET["vendor_lead_code"])) {$vendor_lead_code=$_GET["vendor_lead_code"];} + elseif (isset($_POST["vendor_lead_code"])) {$vendor_lead_code=$_POST["vendor_lead_code"];} +if (isset($_GET["title"])) {$title=$_GET["title"];} + elseif (isset($_POST["title"])) {$title=$_POST["title"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["middle_initial"])) {$middle_initial=$_GET["middle_initial"];} + elseif (isset($_POST["middle_initial"])) {$middle_initial=$_POST["middle_initial"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["gender"])) {$gender=$_GET["gender"];} + elseif (isset($_POST["gender"])) {$gender=$_POST["gender"];} +if (isset($_GET["date_of_birth"])) {$date_of_birth=$_GET["date_of_birth"];} + elseif (isset($_POST["date_of_birth"])) {$date_of_birth=$_POST["date_of_birth"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["security_phrase"])) {$security_phrase=$_GET["security_phrase"];} + elseif (isset($_POST["security_phrase"])) {$security_phrase=$_POST["security_phrase"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_GET["VDstop_rec_after_each_call"];} + elseif (isset($_POST["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_POST["VDstop_rec_after_each_call"];} +if (isset($_GET["conf_silent_prefix"])) {$conf_silent_prefix=$_GET["conf_silent_prefix"];} + elseif (isset($_POST["conf_silent_prefix"])) {$conf_silent_prefix=$_POST["conf_silent_prefix"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["user_abb"])) {$user_abb=$_GET["user_abb"];} + elseif (isset($_POST["user_abb"])) {$user_abb=$_POST["user_abb"];} +if (isset($_GET["preview"])) {$preview=$_GET["preview"];} + elseif (isset($_POST["preview"])) {$preview=$_POST["preview"];} +if (isset($_GET["called_count"])) {$called_count=$_GET["called_count"];} + elseif (isset($_POST["called_count"])) {$called_count=$_POST["called_count"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["agent_log"])) {$agent_log=$_GET["agent_log"];} + elseif (isset($_POST["agent_log"])) {$agent_log=$_POST["agent_log"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} +if (isset($_GET["CallBackDatETimE"])) {$CallBackDatETimE=$_GET["CallBackDatETimE"];} + elseif (isset($_POST["CallBackDatETimE"])) {$CallBackDatETimE=$_POST["CallBackDatETimE"];} +if (isset($_GET["recipient"])) {$recipient=$_GET["recipient"];} + elseif (isset($_POST["recipient"])) {$recipient=$_POST["recipient"];} +if (isset($_GET["callback_id"])) {$callback_id=$_GET["callback_id"];} + elseif (isset($_POST["callback_id"])) {$callback_id=$_POST["callback_id"];} +if (isset($_GET["use_internal_dnc"])) {$use_internal_dnc=$_GET["use_internal_dnc"];} + elseif (isset($_POST["use_internal_dnc"])) {$use_internal_dnc=$_POST["use_internal_dnc"];} +if (isset($_GET["omit_phone_code"])) {$omit_phone_code=$_GET["omit_phone_code"];} + elseif (isset($_POST["omit_phone_code"])) {$omit_phone_code=$_POST["omit_phone_code"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} + + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); +$phone_code = ereg_replace("[^0-9]","",$phone_code); +$phone_number = ereg_replace("[^0-9]","",$phone_number); + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} + +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$MT[0]=''; +$agents='@agents'; + +if ($ACTION == 'LogiNCamPaigns') + { + $skip_user_validation=1; + } +else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalid server_ip: |$server_ip| or Invalid session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalid session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } +} + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDiaL Database Query Script"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + +################################################################################ +### LogiNCamPaigns - generates an HTML SELECT list of allowed campaigns for a +### specific agent on the login screen +################################################################################ +if ($ACTION == 'LogiNCamPaigns') +{ + if ( (strlen($user)<1) ) + { + echo "\n"; + exit; + } + else + { + echo "\n"; + exit; + } +} + + + +################################################################################ +### regCLOSER - update the vicidial_live_agents table to reflect the closer +### inbound choices made upon login +################################################################################ +if ($ACTION == 'regCLOSER') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($closer_choice)<1) || (strlen($user)<1) ) + { + $channel_live=0; + echo "Group Choice $closer_choice is not valid\n"; + exit; + } + else + { + if ($closer_choice == "MGRLOCK-") + { + $stmt="SELECT closer_campaigns FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $closer_choice =$row[0]; + + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_users set closer_campaigns='$closer_choice' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $in_groups_pre = preg_replace('/-$/','',$closer_choice); + $in_groups = explode(" ",$in_groups_pre); + $in_groups_ct = count($in_groups); + $k=1; + while ($k < $in_groups_ct) + { + if (strlen($in_groups[$k])>1) + { + $stmt="SELECT group_weight,calls_today FROM vicidial_inbound_group_agents where user='$user' and group_id='$in_groups[$k]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $viga_ct = mysql_num_rows($rslt); + if ($viga_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_weight = $row[0]; + $calls_today = $row[1]; + } + else + { + $group_weight = 0; + $calls_today = 0; + } + $stmt="INSERT INTO vicidial_live_inbound_agents set user='$user',group_id='$in_groups[$k]',group_weight='$group_weight',calls_today='$calls_today',last_call_time='$NOW_TIME',last_call_finish='$NOW_TIME';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + $k++; + } + + } + echo "Closer In Group Choice $closer_choice has been registered to user $user\n"; +} + + +################################################################################ +### manDiaLnextCALL - for manual VICIDiaL dialing this will grab the next lead +### in the campaign, reserve it, send data back to client and +### place the call by inserting into vicidial_manager +################################################################################ +if ($ACTION == 'manDiaLnextCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "HOPPER EMPTY\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context is not valid\n"; + exit; + } + else + { + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### check if this is a callback, if it is, skip the grabbing of a new lead and mark the callback as INACTIVE + if ( (strlen($callback_id)>0) and (strlen($lead_id)>0) ) + { + $affected_rows=1; + $CBleadIDset=1; + + $stmt = "UPDATE vicidial_callbacks set status='INACTIVE' where callback_id='$callback_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + if (strlen($phone_number)>3) + { + if ($use_internal_dnc=='Y') + { + $stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + echo "DNC NUMBER\n"; + exit; + } + } + if ($stage=='lookup') + { + $stmt="SELECT lead_id FROM vicidial_list where phone_number='$phone_number' order by modify_date desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $man_leadID_ct = mysql_num_rows($rslt); + if ($man_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $affected_rows=1; + $lead_id =$row[0]; + $CBleadIDset=1; + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### grab the next lead in the hopper for this campaign and reserve it for the user + $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by hopper_id LIMIT 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + } + + if ($affected_rows > 0) + { + if (!$CBleadIDset) + { + ##### grab the lead_id of the reserved user in vicidial_hopper + $stmt="SELECT lead_id FROM vicidial_hopper where campaign_id='$campaign' and status='QUEUE' and user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $hopper_leadID_ct = mysql_num_rows($rslt); + if ($hopper_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + } + } + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = trim("$row[29]"); + $called_count = trim("$row[30]"); + } + + $called_count++; + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M\n"); + fclose($fp); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='Y', called_count='$called_count',user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + if (!$CBleadIDset) + { + ### delete the lead from the hopper + $stmt = "DELETE FROM vicidial_hopper where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id',comments='MANUAL' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + ### if preview dialing, do not send the call + if ( (strlen($preview)<1) || ($preview == 'NO') ) + { + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + $Local_persist = '/n'; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update calls_today count in vicidial_campaign_agents + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $MqueryCID . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= "MAIN\n"; + $LeaD_InfO .= $source_id . "\n"; + + echo $LeaD_InfO; + + } + else + { + echo "HOPPER EMPTY\n"; + } + } +} + + +################################################################################ +### manDiaLskip - for manual VICIDiaL dialing this skips the lead that was +### previewed in the step above and puts it back in orig status +################################################################################ +if ($ACTION == 'manDiaLskip') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($stage)<1) || (strlen($called_count)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "LEAD NOT REVERTED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context is not valid\n"; + exit; + } + else + { + $called_count = ($called_count - 1); + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='$stage', called_count='$called_count',user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + + echo "LEAD REVERTED\n"; + } +} + + +################################################################################ +### manDiaLonly - for manual VICIDiaL dialing this sends the call that was +### previewed in the step above +################################################################################ +if ($ACTION == 'manDiaLonly') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) || (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo " CALL NOT PLACED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context is not valid\n"; + exit; + } + else + { + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + $Local_persist = '/n'; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + echo "$MqueryCID\n"; + } +} + + +################################################################################ +### manDiaLlookCALL - for manual VICIDiaL dialing this will attempt to look up +### the trunk channel that the call was placed on +################################################################################ +if ($ACTION == 'manDiaLlookCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; +if (strlen($MDnextCID)<18) + { + echo "NO\n"; + echo "MDnextCID $MDnextCID is not valid\n"; + exit; + } +else + { + ##### look for the channel in the UPDATED vicidial_manager record of the call initiation + $stmt="SELECT uniqueid,channel FROM vicidial_manager where callerid='$MDnextCID' and server_ip='$server_ip' and status='UPDATED' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid =$row[0]; + $channel =$row[1]; + echo "$uniqueid\n$channel"; + + $wait_sec=0; + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',wait_epoch='$StarTtime',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + echo "NO\n"; + } + } +} + + + +################################################################################ +### manDiaLlogCALL - for manual VICIDiaL logging of calls places record in +### vicidial_log and then sends process to call_log entry +################################################################################ +if ($ACTION == 'manDiaLlogCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + +if ($stage == "start") + { + if ( (strlen($uniqueid)<1) || (strlen($lead_id)<1) || (strlen($list_id)<1) || (strlen($phone_number)<1) || (strlen($campaign)<1) ) + { + echo "LOG NOT ENTERED\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id or list_id: $list_id or phone_number: $phone_number or campaign: $campaign is not valid\n"; + exit; + } + else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### insert log into vicidial_log for manual VICIDiaL call + $stmt="INSERT INTO vicidial_log (uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,comments,processed,user_group) values('$uniqueid','$lead_id','$list_id','$campaign','$NOW_TIME','$StarTtime','INCALL','$phone_code','$phone_number','$user','MANUAL','N','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "VICIDiaL_LOG Inserted: $uniqueid|$channel|$NOW_TIME\n"; + echo "$StarTtime\n"; + } + else + { + echo "LOG NOT ENTERED\n"; + } + + $stmt = "UPDATE vicidial_auto_calls SET uniqueid='$uniqueid' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + # ##### insert log into call_log for manual VICIDiaL call + # $stmt = "INSERT INTO call_log (uniqueid,channel,server_ip,extension,number_dialed,caller_code,start_time,start_epoch) values('$uniqueid','$channel','$server_ip','$exten','$phone_code$phone_number','MD $user $lead_id','$NOW_TIME','$StarTtime')"; + # if ($DB) {echo "$stmt\n";} + # $rslt=mysql_query($stmt, $link); + # $affected_rows = mysql_affected_rows($link); + + # if ($affected_rows > 0) + # { + # echo "CALL_LOG Inserted: $uniqueid|$channel|$NOW_TIME"; + # } + # else + # { + # echo "LOG NOT ENTERED\n"; + # } + } + } + +if ($stage == "end") + { + if ( (strlen($uniqueid)<1) || (strlen($lead_id)<1) ) + { + echo "LOG NOT ENTERED\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id is not valid\n"; + exit; + } + else + { + if ($start_epoch < 1000) + { + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ##### look for the start epoch in the vicidial_closer_log table + $stmt="SELECT start_epoch FROM vicidial_closer_log where phone_number='$phone_number' and lead_id='$lead_id' and user='$user' order by closecallid desc limit 1;"; + } + else + { + ##### look for the start epoch in the vicidial_log table + $stmt="SELECT start_epoch FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';"; + } + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch =$row[0]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($length_in_sec < 1) and ($row[0] > 0) ) + { + ##### start epoch in the vicidial_log table, couldn't find one in vicidial_closer_log + $stmt="SELECT start_epoch FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch =$row[0]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + } + } + else {$length_in_sec = ($StarTtime - $start_epoch);} + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec',status='DONE' where lead_id='$lead_id' order by start_epoch desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ($auto_dial_level > 0) + { + ### check to see if campaign has alt_dial enabled + $stmt="SELECT auto_alt_dial FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_alt_dial =$row[0]; + } + else {$auto_alt_dial = 'NONE';} + if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3)",$auto_alt_dial)) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT alt_dial FROM vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_dial =$row[0]; + } + else {$alt_dial = 'NONE';} + + if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3)",$auto_alt_dial)) ) + { + $stmt="SELECT alt_phone,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_phone = $row[0]; + $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$alt_phone = '';} + if (strlen($alt_phone)>5) + { + ### insert record into vicidial_hopper for alt_phone call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ALT',user='',priority='25';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + } + if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + { + $stmt="SELECT address3,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $address3 = $row[0]; + $address3 = eregi_replace("[^0-9]","",$address3); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$address3 = '';} + if (strlen($address3)>5) + { + ### insert record into vicidial_hopper for address3 call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ADDR3',user='',priority='20';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + + if ($enable_queuemetrics_logging > 0) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/.*-/",'',$CLstage); + if (strlen($CLstage) < 1) {$CLstage=0;} + + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt="SELECT count(*) from queue_log where call_id='$MDnextCID' and verb='COMPLETECALLER';"; + $rslt=mysql_query($stmt, $linkB); + if ($DB) {echo "$stmt\n";} + $VAC_cc_ct = mysql_num_rows($rslt); + if ($VAC_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $caller_complete = $row[0]; + } + + if ($caller_complete < 1) + { + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + } + mysql_close($linkB); + } + + ### delete call record from vicidial_auto_calls + $stmt = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',lead_id='',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } + else + { + if ($enable_queuemetrics_logging > 0) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/XFER|-/",'',$CLstage); + if ($CLstage < 0.25) {$CLstage=0;} + + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + $stmt = "DELETE from vicidial_auto_calls lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',lead_id='',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } + + ##### look for the channel in the UPDATED vicidial_manager record of the call initiation + $stmt="UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec' where uniqueid='$uniqueid' and lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "$uniqueid\n$channel\n"; + } + else + { + echo "LOG NOT ENTERED\n\n"; + } + } + + echo $VDstop_rec_after_each_call . '|' . $extension . '|' . $conf_silent_prefix . '|' . $conf_exten . '|' . $user_abb . "|\n"; + + ##### if VICIDiaL call and hangup_after_each_call activated, find all recording + ##### channels and hang them up while entering info into recording_log and + ##### returning filename/recordingID + if ($VDstop_rec_after_each_call == 1) + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $total_rec=0; + $loop_count=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten' order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$rec_list = mysql_num_rows($rslt);} + while ($rec_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/Local\/$conf_silent_prefix$conf_exten\@/i",$row[0])) + { + $rec_channels[$total_rec] = "$row[0]"; + $total_rec++; + } + if ($format=='debug') {echo "\n";} + $loop_count++; + } + + $total_recFN=0; + $loop_count=0; + $filename=$MT; # not necessary : and cmd_line_f LIKE \"%_$user_abb\" + $stmt="SELECT cmd_line_f FROM vicidial_manager where server_ip='$server_ip' and action='Originate' and cmd_line_b = 'Channel: $local_DEF$conf_silent_prefix$conf_exten$local_AMP$ext_context' order by entry_date desc limit $total_rec;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$recFN_list = mysql_num_rows($rslt);} + while ($recFN_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + $filename[$total_recFN] = preg_replace("/Callerid: /i","",$row[0]); + if ($format=='debug') {echo "\n";} + $total_recFN++; + $loop_count++; + } + + $loop_count=0; + while($loop_count < $total_rec) + { + if (strlen($rec_channels[$loop_count])>5) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$loop_count','Channel: $rec_channels[$loop_count]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "REC_STOP|$rec_channels[$loop_count]|$filename[$loop_count]|"; + if (strlen($filename)>2) + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename[$loop_count]'"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$fn_count = mysql_num_rows($rslt);} + if ($fn_count) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt="UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename[$loop_count]' and end_epoch is NULL;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "$recording_id|$length_in_min|"; + } + else {echo "||";} + } + else {echo "||";} + echo "\n"; + } + $loop_count++; + } + } + + + $talk_sec=0; + $StarTtime = date("U"); + $stmt = "select talk_epoch,talk_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $talk_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set talk_sec='$talk_sec',talk_epoch='$StarTtime',dispo_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } +} + + +################################################################################ +### VDADREcheckINCOMING - for auto-dial VICIDiaL dialing this will recheck for +### calls to see if the channel has updated +################################################################################ +if ($ACTION == 'VDADREcheckINCOMING') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Campaign $campaign is not valid\n"; + echo "lead_id $lead_id is not valid\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + } + } +} + + +################################################################################ +### VDADcheckINCOMING - for auto-dial VICIDiaL dialing this will check for calls +### in the vicidial_live_agents table in QUEUE status, then +### lookup the lead info and pass it back to vicidial.php +################################################################################ +if ($ACTION == 'VDADcheckINCOMING') +{ + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Campaign $campaign is not valid\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and status='QUEUE';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',comments='AUTO',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = trim("$row[29]"); + $called_count = trim("$row[30]"); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + $stmt = "UPDATE vicidial_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select campaign_id,phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group =$row[0]; + $dialed_number =$row[1]; + $dialed_label =$row[2]; + } + else + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|\n"); + fclose($fp); + } + } + + $stmt = "select count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + + $stmt = "select * from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[1]; + $VDCL_group_color = $row[2]; + $VDCL_group_web = $row[4]; + $VDCL_fronter_display = $row[7]; + $VDCL_ingroup_script = $row[8]; + $VDCL_get_call_launch = $row[9]; + $VDCL_xferconf_a_dtmf = $row[10]; + $VDCL_xferconf_a_number = $row[11]; + $VDCL_xferconf_b_dtmf = $row[12]; + $VDCL_xferconf_b_number = $row[13]; + $VDCL_default_xfer_group= $row[28]; + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set comments='INBOUND' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $Ctype = 'I'; + } + else + { + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + } + } + + ### if web form is set then send on to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|\n";} + else {echo "|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + } + else + { + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_campaign_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + } + echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|\n|\n"; + + $stmt = "select phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dialed_number =$row[0]; + $dialed_label =$row[1]; + } + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + ### If CALLBK, change vicidial_callback record to INACTIVE + if (eregi("CALLBK|CBHOLD", $dispo)) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype\n"); + fclose($fp); + } + + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user on $server_ip\n"; + exit; + } + } +} + + +################################################################################ +### userLOGout - Logs the user out of VICIDiaL client, deleting db records and +### inserting into vicidial_user_log +################################################################################ +if ($ACTION == 'userLOGout') +{ + $MT[0]=''; + $row=''; $rowx=''; +if ( (strlen($campaign)<1) || (strlen($conf_exten)<1) ) + { + echo "NO\n"; + echo "campaign $campaign or conf_exten $conf_exten is not valid\n"; + exit; + } +else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### Insert a LOGOUT record into the user log + $stmt="INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$user','LOGOUT','$campaign','$NOW_TIME','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vul_insert = mysql_affected_rows($link); + + if ($no_delete_sessions < 1) + { + ##### Remove the reservation on the vicidial_conferences meetme room + $stmt="UPDATE vicidial_conferences set extension='' where server_ip='$server_ip' and conf_exten='$conf_exten';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vc_remove = mysql_affected_rows($link); + } + + ##### Delete the vicidial_live_agents record for this session + $stmt="DELETE from vicidial_live_agents where server_ip='$server_ip' and user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vla_delete = mysql_affected_rows($link); + + ##### Delete the vicidial_live_inbound_agents records for this session + $stmt="DELETE from vicidial_live_inbound_agents where user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vlia_delete = mysql_affected_rows($link); + + ##### Delete the web_client_sessions + $stmt="DELETE from web_client_sessions where server_ip='$server_ip' and session_name ='$session_name';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $wcs_delete = mysql_affected_rows($link); + + ##### Hangup the client phone + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$extension%\" order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) + { + $row=mysql_fetch_row($rslt); + $agent_channel = "$row[0]"; + if ($format=='debug') {echo "\n";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','ULGH3459$StarTtime','Channel: $agent_channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) + { + $row=mysql_fetch_row($rslt); + $pause_sec = (($StarTtime - $row[0]) + $row[1]); + + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + if ($vla_delete > 0) + { + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_message = 'LOGGED OUT'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='PAUSE',serverid='1';"; + # if ($DB) {echo "$stmt\n";} + # if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + # $rslt=mysql_query($stmt, $linkB); + # $affected_rows = mysql_affected_rows($linkB); + + $stmt = "SELECT time_id FROM queue_log where agent='Agent/$user' and verb='AGENTLOGIN' order by time_id desc limit 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + if ($DB) {echo "$stmt\n";} + echo "$stmt\n"; + $li_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $li_conf_ct) + { + $row=mysql_fetch_row($rslt); + $logintime = $row[0]; + $i++; + } + + $time_logged_in = ($StarTtime - $logintime); + if ($time_logged_in > 1000000) {$time_logged_in=1;} + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='AGENTLOGOFF',data1='$user$agents',data2='$time_logged_in',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + echo "$vul_insert|$vc_remove|$vla_delete|$wcs_delete|$agent_channel|$vlia_delete\n"; + } +} + + +################################################################################ +### updateDISPO - update the vicidial_list table to reflect the agent choice of +### call disposition for that leand +################################################################################ +if ($ACTION == 'updateDISPO') +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($dispo_choice)<1) || (strlen($lead_id)<1) ) + { + echo "Dispo Choice $dispo or lead_id $lead_id is not valid\n"; + exit; + } + else + { + $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by uniqueid desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + if ( ($use_internal_dnc=='Y') and ($dispo_choice=='DNC') ) + { + $stmt = "select phone_number from vicidial_list where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $stmt="INSERT INTO vicidial_dnc (phone_number) values('$row[0]');"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + } + } + + $dispo_sec=0; + $StarTtime = date("U"); + $stmt = "select dispo_epoch,dispo_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dispo_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set dispo_sec='$dispo_sec',dispo_epoch='$StarTtime',status='$dispo_choice' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group) values('$user','$server_ip','$NOW_TIME','$campaign','$StarTtime','0','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + + ### CALLBACK ENTRY + if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) + { + $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$row[0])) ) + { + $stmt = "select count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE vicidial_hopper set status='READY' where lead_id='$lead_id' and status='HOLD' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + $stmt="DELETE from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='CALLSTATUS',data1='$dispo_choice',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + echo 'Lead ' . $lead_id . ' has been changed to ' . $dispo_choice . " Status\nNext agent_log_id:\n" . $agent_log_id . "\n"; +} + +################################################################################ +### updateLEAD - update the vicidial_list table to reflect the values that are +### in the agents screen at time of call hangup +################################################################################ +if ($ACTION == 'updateLEAD') +{ + $MT[0]=''; + $row=''; $rowx=''; + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + if ( (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + echo "phone_number $phone_number or lead_id $lead_id is not valid\n"; + exit; + } + else + { + + $stmt = "SELECT disable_alter_custdata FROM vicidial_campaigns where campaign_id='$campaign'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $dac_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $dac_conf_ct) + { + $row=mysql_fetch_row($rslt); + $disable_alter_custdata = $row[0]; + $i++; + } + if (ereg('Y',$disable_alter_custdata)) + { + $DO_NOT_UPDATE=1; + $DO_NOT_UPDATE_text=' NOT'; + $stmt = "SELECT alter_custdata_override FROM vicidial_users where user='$user'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $aco_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $aco_conf_ct) + { + $row=mysql_fetch_row($rslt); + $alter_custdata_override = $row[0]; + $i++; + } + if (ereg('ALLOW_ALTER',$alter_custdata_override)) + { + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + } + } + + if ($DO_NOT_UPDATE < 1) + { + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + $comments = eregi_replace("--AMP--",'&',$comments); + $comments = eregi_replace("--QUES--",'?',$comments); + $comments = eregi_replace("--POUND--",'#',$comments); + + $stmt="UPDATE vicidial_list set vendor_lead_code='" . mysql_real_escape_string($vendor_lead_code) . "', title='" . mysql_real_escape_string($title) . "', first_name='" . mysql_real_escape_string($first_name) . "', middle_initial='" . mysql_real_escape_string($middle_initial) . "', last_name='" . mysql_real_escape_string($last_name) . "', address1='" . mysql_real_escape_string($address1) . "', address2='" . mysql_real_escape_string($address2) . "', address3='" . mysql_real_escape_string($address3) . "', city='" . mysql_real_escape_string($city) . "', state='" . mysql_real_escape_string($state) . "', province='" . mysql_real_escape_string($province) . "', postal_code='" . mysql_real_escape_string($postal_code) . "', country_code='" . mysql_real_escape_string($country_code) . "', gender='" . mysql_real_escape_string($gender) . "', date_of_birth='" . mysql_real_escape_string($date_of_birth) . "', alt_phone='" . mysql_real_escape_string($alt_phone) . "', email='" . mysql_real_escape_string($email) . "', security_phrase='" . mysql_real_escape_string($security_phrase) . "', comments='" . mysql_real_escape_string($comments) . "' where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } + echo "Lead $lead_id information has$DO_NOT_UPDATE_text been updated\n"; +} + + +################################################################################ +### VDADpause - update the vicidial_live_agents table to show that the agent is +### or ready now active and ready to take calls +################################################################################ +if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($stage)<2) || (strlen($server_ip)<1) ) + { + echo "stage $stage is not valid\n"; + exit; + } + else + { + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set lead_id='',uniqueid=0,callerid='',channel='', random_id='$random',comments='' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_live_agents set status='$stage' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + if (ereg('READY',$stage)) {$QMstatus='UNPAUSEALL';} + if (ereg('PAUSE',$stage)) {$QMstatus='PAUSEALL';} + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='$QMstatus',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + if ($agent_log == 'NO') + {$donothing=1;} + else + { + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,wait_sec,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec=0; + if ($row[2] > 0) + { + $wait_sec = (($StarTtime - $row[2]) + $row[3]); + } + if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} + else + {$pause_sec = (($row[4] - $row[0]) + $row[1]);} + + } + if ($ACTION == 'VDADready') + { + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + if ($ACTION == 'VDADpause') + { + $stmt="UPDATE vicidial_agent_log set pause_epoch='$StarTtime',wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + echo 'Agent ' . $user . ' is now in status ' . $stage . "\n"; +} + + +################################################################################ +### UpdatEFavoritEs - update the astguiclient favorites list for this extension +################################################################################ +if ($ACTION == 'UpdatEFavoritEs') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($favorites_list)<1) || (strlen($user)<1) || (strlen($exten)<1) ) + { + echo "favorites list $favorites_list is not valid\n"; + exit; + } + else + { + $stmt = "select count(*) from phone_favorites where extension='$exten' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE phone_favorites set extensions_list=\"$favorites_list\" where extension='$exten' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO phone_favorites values('$exten','$server_ip',\"$favorites_list\");"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + echo "Favorites list has been updated to $favorites_list for $exten\n"; +} + + +################################################################################ +### PauseCodeSubmit - Update vicidial_agent_log with pause code +################################################################################ +if ($ACTION == 'PauseCodeSubmit') +{ + $row=''; $rowx=''; + if ( (strlen($status)<1) || (strlen($agent_log_id)<1) ) + { + echo "agent_log_id $agent_log_id or pause_code $status is not valid\n"; + exit; + } + else + { + $stmt="UPDATE vicidial_agent_log set sub_status=\"$status\" where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'BK-'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='PAUSEREASON',serverid='$queuemetrics_log_id',data1='$status';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } +echo "Pause Code has been updated to $status for $agent_log_id\n"; +} + + +################################################################################ +### CalLBacKLisT - List the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKLisT') +{ +$stmt = "select callback_id,lead_id,campaign_id,status,entry_time,callback_time,comments from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD') order by callback_time;"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); +if ($rslt) {$callbacks_count = mysql_num_rows($rslt);} +echo "$callbacks_count\n"; +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $row=mysql_fetch_row($rslt); + $callback_id[$loop_count] = $row[0]; + $lead_id[$loop_count] = $row[1]; + $campaign_id[$loop_count] = $row[2]; + $status[$loop_count] = $row[3]; + $entry_time[$loop_count] = $row[4]; + $callback_time[$loop_count] = $row[5]; + $comments[$loop_count] = $row[6]; + $loop_count++; + } +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $stmt = "select first_name,last_name,phone_number from vicidial_list where lead_id='$lead_id[$loop_count]';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + echo "$row[0] ~$row[1] ~$row[2] ~$callback_id[$loop_count] ~$lead_id[$loop_count] ~$campaign_id[$loop_count] ~$status[$loop_count] ~$entry_time[$loop_count] ~$callback_time[$loop_count] ~$comments[$loop_count]\n"; + $loop_count++; + } + +} + + +################################################################################ +### CalLBacKCounT - send the count of the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKCounT') +{ +$stmt = "select count(*) from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD');"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$cbcount=$row[0]; + +echo "$cbcount"; +} + + + + +if ($format=='debug') +{ +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +echo "\n"; +echo "\n\n\n"; +} + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/vicidial.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/vicidial.php new file mode 100644 index 00000000..ccd81ed1 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/vicidial.php @@ -0,0 +1,6797 @@ + LICENSE: GPLv2 +# +# make sure you have added a user to the vicidial_users MySQL table with at least +# user_level 1 or greater to access this page. Also, you need to have the login +# and pass of a phone listed in the asterisk.phones table. The page grabs the +# server info and other details from this login and pass. +# +# This script works best with Firefox or Mozilla, but will run for a couple +# hours on Internet Explorer before the memory leaks cause a crash. +# +# Other scripts that this application depends on: +# - vdc_db_query.php: Updates information in the database +# - manager_send.php: Sends manager actions to the DB for execution +# +# CHANGELOG +# 50607-1426 - First Build of VICIDIAL web client basic login process finished +# 50628-1620 - Added some basic formatting and worked on process flow +# 50628-1715 - Startup variables mapped to javascript variables +# 50629-1303 - Added Login Closer in-groups selection box and vla update +# 50629-1530 - Rough layout for customer info form section and button links +# 50630-1453 - Rough Manual Dial/Hangup with customer info displayed +# 50701-1450 - Added vicidial_log entries on dial and hangup +# 50701-1634 - Added Logout function +# 50705-1259 - Added call disposition functionality +# 50705-1432 - Added lead info DB update function +# 50705-1658 - Added web form functionality +# 50706-1043 - Added call park and pickup functions +# 50706-1234 - Added Start/Stop Recording functionality +# 50706-1614 - Added conference channels display option +# 50711-1333 - Removed call check redundancy and fixed a span bug +# 50727-1424 - Added customer channel and participant present sensing/alerts +# 50804-1057 - Added SendDTMF function and reconfigured the transfer span +# 50804-1224 - Added Local and Internal Closer transfer functions +# 50804-1628 - Added Blind transfer, activated LIVE CALL image and fixed bugs +# 50804-1808 - Added button images for left buttons +# 50815-1151 - Added 3Way calling functions to Transfer-conf frame +# 50815-1602 - Added images and buttons for xfer functions +# 50816-1813 - Added basic autodial outbound call pickup functions +# 50817-1113 - Fixes to auto_dialing call receipt +# 50817-1234 - Added inbound call receipt capability +# 50817-1541 - Added customer time display +# 50817-1541 - Added customer time display +# 50818-1327 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1703 - Added pretty login section +# 50825-1200 - Modified form field lengths, added double-click dispositions +# 50831-1603 - Fixed customer time bug and fronter display bug for CLOSER +# 50901-1314 - Fixed CLOSER IN-GROUP Web Form bug +# 50903-0904 - Added preview-lead code for manual dialing +# 50904-0016 - Added ability to hangup manual dials before pickup +# 50906-1319 - Added override for filters on xfer calls, fixed login display bug +# 50909-1243 - Added hotkeys functionality for quick dispoing in auto-dial mode +# 50912-0958 - Modified hotkeys function, agent must have user_level >= 5 to use +# 50913-1212 - Added campaign_cid to 3rd party calls +# 50923-1546 - Modified to work with language translation +# 50926-1656 - Added campaign pull-down at login of active campaigns +# 50928-1633 - Added manual dial alternate number dial option +# 50930-1538 - Added session_id empty login failure and fixed 2 minor bugs +# 51004-1656 - Fixed recording filename bug and new Spanish translation +# 51020-1103 - Added campaign-specific recording control abilities +# 51020-1352 - Added Basic vicidial_agent_log framework +# 51021-1050 - Fixed custtime display and disable Enter/Return keypresses +# 51021-1718 - Allows for multi-line comments (changes \n to !N in database) +# 51110-1432 - Fixed non-standard http port issue +# 51111-1047 - Added vicidial_agent_log lead_id earlier for manual dial +# 51118-1305 - Activate multi-line comments from $multi_line_comments var +# 51118-1313 - Move Transfer DIV to a floating span to preserve 800x600 view +# 51121-1506 - Small PHP optimizations in many scripts and disabled globalize +# 51129-1010 - Added ability to accept calls from other VICIDIAL servers +# 51129-1254 - Fixed Hangups of other agents channels when customer hangs up +# 51208-1732 - Created user-first login that looks for default phone info +# 51219-1526 - Added variable framework for campaign and in-group scripts +# 51221-1200 - Added SCRIPT tab, layout and functionality +# 51221-1714 - Added auto-switch-to-SCRIPT-tab and auto-webform-popup +# 51222-1605 - Added VMail message blind transfer button to xfer-conf frame +# 51229-1028 - Added checks on web_form_address to allow for var in the DB value +# 60117-1312 - Added Transfer-conf frame toggle on button press +# 60208-1152 - Added DTMF-xfernumber preset links to xfer-conf frame +# 60213-1129 - Added vicidial_users.hotkeys_active for any user hotkeys +# 60213-1210 - Added ability to sort routing of calls by user_level +# 60214-0932 - Initial Callback calendar display framework +# 60214-1407 - Added ability to minimize the dispo screen to see info below +# 60215-1104 - Added ANYONE scheduled callbacks functionality +# 60410-1116 - Added persistant pause after dispo option and change dispo text +# - Added web form submit that opens new window with dispo on submit +# - Added PREVIOUS CALLBACK in customer info to flag callbacks +# - Added link to try to hangup the call again in the dispo screen +# - Added link noone-in-session screen to call agent phone again +# - Added link customer-hungup screen to go straight to dispo screen +# 60410-1532 - Added agent status and campaign calls dialing display option +# 60411-1547 - Add ability to set callback as USERONLY and some basic formatting +# 60413-1752 - Add basic USERONLY callback frame and listings +# 60414-1039 - Changed manual dial preview and alt dial checkboxes to spans +# - Added beta-level USERONLY callback functionality +# - Added beta-level manual dialing with lead insertion functionality +# 60415-1534 - Fixed manual dial lead preview and fixed manuald dial override bug +# 60417-1108 - Added capability to do alt-number-dialing in auto-dial mode +# - Changed several permissions to database-defined +# 60419-1529 - Prevent manual dial or callbacks when alt-dial lead not finished +# 60420-1647 - Fixed DiaLDiaLAltPhonE error, Call Agent Again DialControl error +# 60421-1229 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60424-1005 - Fixed Alt phone disabled bug for callbacks and manual dials +# 60426-1058 - Added vicidial_user setting for default blended check for CLOSER +# 60501-1008 - Added option to manual dial screen to manually lookup phone number +# 60503-1653 - Fixed agentonly_callback not-defined bug in scheduled callbacks screen +# 60504-1032 - Fixed manual dial display bug and transfer dispo alert bug +# - Fixed recording filename display to not overrun 25 characters +# 60510-1051 - Added Wrapup timer and wrapup message on wrapup screen after dispo +# 60608-1453 - Added CLOSER campaign allowable in-groups limitations +# 60609-1123 - Added add-number-to-DNC-list function and manual dial check DNC +# 60619-1047 - Added variable filters to close security holes for login form +# 60804-1710 - fixed scheduled CALLBK for other languages build +# 60808-1145 - Added consultative transfers with customer data +# 60808-2232 - Added campaign name to pulldown for login screen +# 60809-1603 - Added option to locally transfer consult xfers +# 60809-1732 - Added recheck of transferred channels before customer gone mesg +# 60810-1011 - Fixed CXFER leave 3way call bugs +# 60816-1602 - Added ALLCALLS recording delay option allcalls_delay +# 60816-1716 - Fixed customer time display bug and client DST setting +# 60821-1555 - Added option to omit phone_code on dialout of leads +# 60821-1628 - Added ALLFORCE recording option +# 60821-1643 - Added no_delete_sessions option to not delete sessions +# 60822-0512 - Changed phone number fields to be maxlength of 12 +# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# 60906-1152 - Added Previous CallBack info display span +# 60906-1715 - Allow for Local phone extension conferences +# 61004-1729 - Add ability to control volume per channel in "calls in this session" +# 61122-1341 - Added vicidial_user_groups allowed_campaigns restrictions +# 61122-1523 - Added more SCRIPT variables +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61221-1212 - Changed width to 760 to better fit 800x600 screens, widened SCRIPT +# 70109-1128 - Fixed wrapup timer bug +# 70109-1635 - Added option for HotKeys automatically dialing next number in manual mode +# - Added option for alternate number dialing with hotkeys +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70118-1517 - Added vicidial_agent_log and vicidial_user_log logging of user_group +# 70201-1249 - Added FAST DIAL option for manually dialing, added UTF8 compatible code +# 70201-1703 - Fixed cursor bug for most text input fields +# 70202-1453 - Added first portions of Agent Pause Codes +# 70203-0108 - Finished Agent Pause Codes functionality +# 70203-0930 - Added dialed_number to webform output +# 70203-1010 - Added dialed_label to webform output +# 70206-1201 - Fixed allow_closers bug +# 70206-1332 - Added vicidial_recording_override users setting function +# 70212-1252 - Fixed small issue with CXFER +# 70213-1018 - Changed CXFER and AXFER to update customer information before transfer +# 70214-1233 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1240 - Added queuemetrics_log_id field for server_id in queue_log +# 70222-1617 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70226-1252 - Added Mute/UnMute to agent screen +# 70309-1035 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70316-1406 - Moved the MUTE button to be accessible during a transfer/conf +# 70319-1446 - Added agent-deactive-display and disable customer info update functions +# 70319-1626 - Added option to allow agent logins to campaigns with no leads in the hopper +# 70320-1501 - Added option to allow retry of leave-3way-call from dispo screen +# 70322-1545 - Added sipsak display ability +# 70510-1319 - Added onUnload force Logout +# 70806-1530 - Added Presets Dial links above agent mute button +# 70823-2118 - Fixed XMLHTTPRequest, HotKeys and Scheduled Callbacks issues with MSIE +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71022-1427 - Added formatting of the customer phone number in the main status bar +# 71029-1848 - Changed CLOSER-type campaign to not use campaign_id restrictions +# 71101-1204 - Fixed bug in callback calendar with DST +# 71116-0957 - Added campaign_weight and calls_today to the vla table insertion +# 71120-1719 - Added XMLHTPRequest lookup of allowable campaigns for agents during login +# 71122-0256 - Added auto-pause notification +# 71125-1751 - Changed Transfer section to allow for selection of in-groups to send calls to +# 71127-0408 - Added height and width settings for easier modification of screen size +# 71129-2025 - restricted callbacks count and list to campaign only +# + +$version = '2.0.4-142'; +$build = '71129-2025'; + +require("dbconnect.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["VD_login"])) {$VD_login=$_GET["VD_login"];} + elseif (isset($_POST["VD_login"])) {$VD_login=$_POST["VD_login"];} +if (isset($_GET["VD_pass"])) {$VD_pass=$_GET["VD_pass"];} + elseif (isset($_POST["VD_pass"])) {$VD_pass=$_POST["VD_pass"];} +if (isset($_GET["VD_campaign"])) {$VD_campaign=$_GET["VD_campaign"];} + elseif (isset($_POST["VD_campaign"])) {$VD_campaign=$_POST["VD_campaign"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + if (isset($VD_campaign)) + { + $VD_campaign = strtoupper($VD_campaign); + $VD_campaign = eregi_replace(" ",'',$VD_campaign); + } + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); + $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); + $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); + + +$forever_stop=0; + +if ($force_logout) +{ + echo "You have now logged out. Thank you\n"; + exit; +} + +$isdst = date("I"); +$StarTtimE = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$tsNOW_TIME = date("YmdHis"); +$FILE_TIME = date("Ymd-His"); +$CIDdate = date("ymdHis"); + $month_old = mktime(11, 0, 0, date("m"), date("d")-2, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + + +$random = (rand(1000000, 9999999) + 10000000); + +$conf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently +$HKuser_level = '5'; # minimum vicidial user_level for HotKeys +$campaign_login_list = '1'; # show drop-down list of campaigns at login +$manual_dial_preview = '1'; # allow preview lead option when manual dial +$multi_line_comments = '1'; # set to 1 to allow multi-line comment box +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the phone login +$view_scripts = '1'; # set to 1 to show the SCRIPTS tab +$dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo +$agentcallsstatus = '0'; # set to 1 to show agent status and call count + $campagentstatctmax = '0'; # Number of seconds for campaign call and agent stats +$show_campname_pulldown = '1'; # set to 1 to show campaign name on login pulldown +$webform_sessionname = '1'; # set to 1 to include the session_name in webform URL +$local_consult_xfers = '1'; # set to 1 to send consultative transfers from original server +$clientDST = '1'; # set to 1 to check for DST on server for agent time +$no_delete_sessions = '0'; # set to 1 to not delete sessions at logout +$volumecontrol_active = '1'; # set to 1 to allow agents to alter volume of channels +$PreseT_DiaL_LinKs = '1'; # set to 1 to show a DIAL link for Dial Presets +$LogiNAJAX = '1'; # set to 1 to do lookups +$HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from "session calls" + +$TEST_all_statuses = '0'; # TEST variable allows all statuses in dispo screen + +$BROWSER_HEIGHT = 500; # set to the minimum browser height, default=500 +$BROWSER_WIDTH = 770; # set to the minimum browser width, default=770 + + +# options now set in DB: +#$alt_phone_dialing = '1'; # allow agents to call alt phone numbers +#$scheduled_callbacks = '1'; # set to 1 to allow agent to choose scheduled callbacks +# $agentonly_callbacks = '1'; # set to 1 to allow agent to choose agent-only scheduled callbacks +#$agentcall_manual = '1'; # set to 1 to allow agent to make manual calls during autodial session + +### SCREEN WIDTH AND HEIGHT CALCULATIONS ### +### DO NOT EDIT! ### +$MASTERwidth=($BROWSER_WIDTH - 340); +$MASTERheight=($BROWSER_HEIGHT - 200); +if ($MASTERwidth < 430) {$MASTERwidth = '430';} +if ($MASTERheight < 300) {$MASTERheight = '300';} + +$CAwidth = ($MASTERwidth + 340); # 770 - cover all (none-in-session, customer hunngup, etc...) +$MNwidth = ($MASTERwidth + 330); # 760 - main frame +$XFwidth = ($MASTERwidth + 320); # 750 - transfer/conference +$HCwidth = ($MASTERwidth + 310); # 740 - hotkeys and callbacks +$AMwidth = ($MASTERwidth + 270); # 700 - agent mute and preset-dial links +$SSwidth = ($MASTERwidth + 176); # 606 - scroll script +$SDwidth = ($MASTERwidth + 170); # 600 - scroll script, customer data and calls-in-session +$HKwidth = ($MASTERwidth + 70); # 500 - Hotkeys button +$HSwidth = ($MASTERwidth + 1); # 431 - Header spacer + +$HKheight = ($MASTERheight + 105); # 405 - HotKey active Button +$AMheight = ($MASTERheight + 100); # 400 - Agent mute and preset dial links +$MBheight = ($MASTERheight + 65); # 365 - Manual Dial Buttons +$CBheight = ($MASTERheight + 50); # 350 - Agent Callback, pause code, volume control Buttons and agent status +$SSheight = ($MASTERheight + 31); # 331 - script content +$HTheight = ($MASTERheight + 10); # 310 - transfer frame, callback comments and hotkey +$BPheight = ($MASTERheight - 250); # 50 - bottom buffer + + +$US='_'; +$CL=':'; +$AT='@'; +$DS='-'; +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = eregi_replace('vicidial.php','',$agcPAGE); + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ($campaign_login_list > 0) +{ +$camp_form_code = "\n"; +} +else +{ +$camp_form_code = "\n"; +} + + +if ($LogiNAJAX > 0) +{ +?> + + + +VICIDIAL web client: Re-Login\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
\n"; +echo "
\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Re-Login
 
Phone Login:
Phone Password:
User Login:
User Password:
Campaign: $camp_form_code

VERSION: $version       BUILD: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} + +if ($user_login_first == 1) +{ + if ( (strlen($VD_login)<1) or (strlen($VD_pass)<1) or (strlen($VD_campaign)<1) ) + { + echo "VICIDIAL web client: Campaign Login\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "
\n"; + echo "\n"; + #echo "\n"; + #echo "\n"; + echo "

User Login

"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Campaign Login
 
User Login:
User Password:
Campaign: $camp_form_code
  \n"; + echo "

VERSION: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + echo "VICIDIAL web client: Login\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login
 
Phone Login:
Phone Password:
User Login:
User Password:
Campaign: $camp_form_code
  \n"; + echo "

VERSION: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + + } + } +} + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "VICIDIAL web client: Phone Login\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
\n"; +echo "
\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Phone Login
 
Phone Login:
Phone Password:
  \n"; +echo "

VERSION: $version       BUILD: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./vicidial_auth_entries.txt", "a");} +$VDloginDISPLAY=0; + + if ( (strlen($VD_login)<2) or (strlen($VD_pass)<2) or (strlen($VD_campaign)<2) ) + { + $VDloginDISPLAY=1; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if($auth>0) + { + $login=strtoupper($VD_login); + $password=strtoupper($VD_pass); + ##### grab the full name of the agent + $stmt="SELECT full_name,user_level,hotkeys_active,agent_choose_ingroups,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,closer_default_blended,user_group,vicidial_recording_override from vicidial_users where user='$VD_login' and pass='$VD_pass'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $user_level=$row[1]; + $VU_hotkeys_active=$row[2]; + $VU_agent_choose_ingroups=$row[3]; + $VU_scheduled_callbacks=$row[4]; + $agentonly_callbacks=$row[5]; + $agentcall_manual=$row[6]; + $VU_vicidial_recording=$row[7]; + $VU_vicidial_transfers=$row[8]; + $VU_closer_default_blended=$row[9]; + $VU_user_group=$row[10]; + $VU_vicidial_recording_override=$row[11]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|GOOD|$date|$VD_login|$VD_pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + $user_abb = "$VD_login$VD_login$VD_login$VD_login"; + while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns =$row[0]; + + if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) + { + echo "VICIDIAL web client: VICIDIAL Campaign Login\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "Sorry, you are not allowed to login to this campaign: $VD_campaign\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Login: \n
"; + echo "Password:
\n"; + echo "Campaign: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + ##### check to see that the campaign is active + $stmt="SELECT count(*) FROM vicidial_campaigns where campaign_id='$VD_campaign' and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $CAMPactive=$row[0]; + if($CAMPactive>0) + { + if ($TEST_all_statuses > 0) {$selectableSQL = '';} + else {$selectableSQL = "selectable='Y' and";} + $VARstatuses=''; + $VARstatusnames=''; + ##### grab the statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_statuses WHERE $selectableSQL status != 'NEW' order by status limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_statuses_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $VD_statuses_ct) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + } + + ##### grab the campaign-specific statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_campaign_statuses WHERE $selectableSQL status != 'NEW' and campaign_id='$VD_campaign' order by status limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_statuses_camp = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + $j++; + } + $VD_statuses_ct = ($VD_statuses_ct+$VD_statuses_camp); + $VARstatuses = substr("$VARstatuses", 0, -1); + $VARstatusnames = substr("$VARstatusnames", 0, -1); + + ##### grab the campaign-specific HotKey statuses that can be used for dispositioning by an agent + $stmt="SELECT hotkey,status,status_name FROM vicidial_campaign_hotkeys WHERE selectable='Y' and status != 'NEW' and campaign_id='$VD_campaign' order by hotkey limit 9;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $HK_statuses_camp = mysql_num_rows($rslt); + $w=0; + $HKboxA=''; + $HKboxB=''; + $HKboxC=''; + while ($w < $HK_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $HKhotkey[$w] =$row[0]; + $HKstatus[$w] =$row[1]; + $HKstatus_name[$w] =$row[2]; + $HKhotkeys = "$HKhotkeys'$HKhotkey[$w]',"; + $HKstatuses = "$HKstatuses'$HKstatus[$w]',"; + $HKstatusnames = "$HKstatusnames'$HKstatus_name[$w]',"; + if ($w < 3) + {$HKboxA = "$HKboxA $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + if ( ($w >= 3) and ($w < 6) ) + {$HKboxB = "$HKboxB $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + if ($w >= 6) + {$HKboxC = "$HKboxC $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + $w++; + } + $HKhotkeys = substr("$HKhotkeys", 0, -1); + $HKstatuses = substr("$HKstatuses", 0, -1); + $HKstatusnames = substr("$HKstatusnames", 0, -1); + + ##### grab the statuses to be dialed for your campaign as well as other campaign settings + $stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups FROM vicidial_campaigns where campaign_id = '$VD_campaign';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $park_ext = $row[0]; + $park_file_name = $row[1]; + $web_form_address = $row[2]; + $allow_closers = $row[3]; + $auto_dial_level = $row[4]; + $dial_timeout = $row[5]; + $dial_prefix = $row[6]; + $campaign_cid = $row[7]; + $campaign_vdad_exten = $row[8]; + $campaign_rec_exten = $row[9]; + $campaign_recording = $row[10]; + $campaign_rec_filename = $row[11]; + $campaign_script = $row[12]; + $get_call_launch = $row[13]; + $campaign_am_message_exten = $row[14]; + $xferconf_a_dtmf = $row[15]; + $xferconf_a_number = $row[16]; + $xferconf_b_dtmf = $row[17]; + $xferconf_b_number = $row[18]; + $alt_number_dialing = $row[19]; + $VC_scheduled_callbacks = $row[20]; + $wrapup_seconds = $row[21]; + $wrapup_message = $row[22]; + $closer_campaigns = $row[23]; + $use_internal_dnc = $row[24]; + $allcalls_delay = $row[25]; + $omit_phone_code = $row[26]; + $agent_pause_codes_active = $row[27]; + $no_hopper_leads_logins = $row[28]; + $campaign_allow_inbound = $row[29]; + $manual_dial_list_id = $row[30]; + $default_xfer_group = $row[31]; + $xfer_groups = $row[32]; + + if ( (!ereg('DISABLED',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) + { + $campaign_recording = $VU_vicidial_recording_override; + print "\n"; + } + if ( ($VC_scheduled_callbacks=='Y') and ($VU_scheduled_callbacks=='1') ) + {$scheduled_callbacks='1';} + if ($VU_vicidial_recording=='0') + {$campaign_recording='NEVER';} + if ($alt_number_dialing=='Y') + {$alt_phone_dialing='1';} + else + {$alt_phone_dialing='0';} + $closer_campaigns = preg_replace("/^ | -$/","",$closer_campaigns); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + if ($agent_pause_codes_active=='Y') + { + ##### grab the pause codes for this campaign + $stmt="SELECT pause_code,pause_code_name FROM vicidial_pause_codes WHERE campaign_id='$VD_campaign' order by pause_code limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_pause_codes = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_pause_codes) + { + $row=mysql_fetch_row($rslt); + $pause_codes[$i] =$row[0]; + $pause_code_names[$i] =$row[1]; + $VARpause_codes = "$VARpause_codes'$pause_codes[$i]',"; + $VARpause_code_names = "$VARpause_code_names'$pause_code_names[$i]',"; + $i++; + $j++; + } + $VD_pause_codes_ct = ($VD_pause_codes_ct+$VD_pause_codes); + $VARpause_codes = substr("$VARpause_codes", 0, -1); + $VARpause_code_names = substr("$VARpause_code_names", 0, -1); + } + + ##### grab the inbound groups to choose from if campaign contains CLOSER + $VARingroups="''"; + if ($campaign_allow_inbound == 'Y') + { + $VARingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 60;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $closer_ct = mysql_num_rows($rslt); + $INgrpCT=0; + while ($INgrpCT < $closer_ct) + { + $row=mysql_fetch_row($rslt); + $closer_groups[$INgrpCT] =$row[0]; + $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $INgrpCT++; + } + $VARingroups = substr("$VARingroups", 0, -1); + } + + ##### grab the allowable inbound groups to choose from for transfer options + $xfer_groups = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groups = preg_replace("/ /","','",$xfer_groups); + $xfer_groups = "'$xfer_groups'"; + $VARxfergroups="''"; + if ($allow_closers == 'Y') + { + $VARxfergroups=''; + $stmt="select group_id,group_name from vicidial_inbound_groups where active = 'Y' and group_id IN($xfer_groups) order by group_id limit 60;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $xfer_ct = mysql_num_rows($rslt); + $XFgrpCT=0; + while ($XFgrpCT < $xfer_ct) + { + $row=mysql_fetch_row($rslt); + $VARxfergroups = "$VARxfergroups'$row[0]',"; + $VARxfergroupsnames = "$VARxfergroupsnames'$row[1]',"; + if ($row[0] == "$default_xfer_group") {$default_xfer_group_name = $row[1];} + $XFgrpCT++; + } + $VARxfergroups = substr("$VARxfergroups", 0, -1); + $VARxfergroupsnames = substr("$VARxfergroupsnames", 0, -1); + } + + ##### grab the number of leads in the hopper for this campaign + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id = '$VD_campaign' and status='READY';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $campaign_leads_to_call = $row[0]; + print "\n"; + + } + else + { + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "Campaign not active, please try again
"; + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|FAIL|$date|$VD_login|$VD_pass|$ip|$browser|\n"); + fclose($fp); + } + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "Login incorrect, please try again
"; + } + } + if ($VDloginDISPLAY) + { + echo "VICIDIAL web client: Campaign Login\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

$VDdisplayMESSAGE

"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Campaign Login
 
User Login:
User Password:
Campaign: $camp_form_code
  \n"; + echo "

VERSION: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + +$authphone=0; +$stmt="SELECT count(*) from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "VICIDIAL web client: Phone Login Error\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login Error
 
Sorry, your phone login and password are not active in this system, please try again:
 
Phone Login:
Phone Password:

VERSION: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { + echo "VICIDIAL web client\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $login=$row[6]; + $pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $CallerID_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $enable_sipsak_messages=$row[66]; + + if ($clientDST) + { + $local_gmt = ($local_gmt + $isdst); + } + if ($protocol == 'EXTERNAL') + { + $protocol = 'Local'; + $extension = "$dialplan_number$AT$ext_context"; + } + $SIP_user = "$protocol/$extension"; + + $stmt="SELECT asterisk_version from servers where server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $asterisk_version=$row[0]; + + # If a park extension is not set, use the default one + if ( (strlen($park_ext)>0) && (strlen($park_file_name)>0) ) + { + $VICIDiaL_park_on_extension = "$park_ext"; + $VICIDiaL_park_on_filename = "$park_file_name"; + print "\n"; + } + print "\n"; + + # If a web form address is not set, use the default one + if (strlen($web_form_address)>0) + { + $VICIDiaL_web_form_address = "$web_form_address"; + print "\n"; + } + else + { + $VICIDiaL_web_form_address = "$VICIDiaL_web_URL"; + print "\n"; + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + } + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + # If closers are allowed on this campaign + if ($allow_closers=="Y") + { + $VICIDiaL_allow_closers = 1; + print "\n"; + } + else + { + $VICIDiaL_allow_closers = 0; + print "\n"; + } + + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtimE$US$session_ext$session_rand"; + + if ($webform_sessionname) + {$webform_sessionname = "&session_name=$session_name";} + else + {$webform_sessionname = '';} + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'vicidial';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','vicidial','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + if ( ($campaign_allow_inbound == 'Y') || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + { + ### insert an entry into the user log for the login event + $stmt = "INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$VD_login','LOGIN','$VD_campaign','$NOW_TIME','$StarTtimE','$VU_user_group')"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly + $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $prev_login_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $prev_login_ct) + { + $row=mysql_fetch_row($rslt); + $session_id =$row[0]; + $i++; + } + if ($prev_login_ct > 0) + {print "\n";} + else + { + ##### grab the next available vicidial_conference room and reserve it + $stmt="SELECT conf_exten FROM vicidial_conferences where server_ip = '$server_ip' and ((extension='') or (extension is null)) LIMIT 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $free_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $free_conf_ct) + { + $row=mysql_fetch_row($rslt); + $session_id =$row[0]; + $i++; + } + $stmt="UPDATE vicidial_conferences set extension='$SIP_user' where server_ip='$server_ip' and conf_exten='$session_id';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + print "\n"; + + } + + $stmt="UPDATE vicidial_list set status='N', user='' where status IN('QUEUE','INCALL') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_hopper where status IN('QUEUE','INCALL','DONE') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_inbound_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + # print "You have logged in as user: $VD_login on phone: $SIP_user to campaign: $VD_campaign
\n"; + $VICIDiaL_is_logged_in=1; + + ### set the callerID for manager middleware-app to connect the phone to the user + $SIqueryCID = "S$CIDdate$session_id"; + + ############################################# + ##### START SYSTEM_SETTINGS LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,vicidial_agent_disable,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $vicidial_agent_disable = $row[6]; + $allow_sipsak_messages = $row[7]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$VD_campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $SIqueryCID = "$SIPSAK_prefix$VD_campaign$DS$CIDdate"; + } + + ### insert a NEW record to the vicidial_manager table to be processed + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $SIP_user','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: $SIqueryCID','','','','','');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($auto_dial_level > 0) + { + print "\n"; + + ##### grab the campaign_weight and number of calls today on that campaign for the agent + $stmt="SELECT campaign_weight,calls_today FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vca_ct = mysql_num_rows($rslt); + if ($vca_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_weight = $row[0]; + $calls_today = $row[1]; + $i++; + } + else + { + $campaign_weight = '0'; + $calls_today = '0'; + $stmt="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) values('$VD_login','$VD_campaign','0','0','$calls_today');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + } + $closer_chooser_string=''; + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,closer_campaigns,user_level,campaign_weight,calls_today) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$closer_chooser_string','$user_level','$campaign_weight','$calls_today');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='$VD_campaign',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + + + if ($campaign_allow_inbound == 'Y') + { + print "\n"; + } + } + else + { + print "\n"; + + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,user_level) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$user_level');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='$VD_campaign',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + } + } + else + { + echo "VICIDIAL web client: VICIDIAL Campaign Login\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "Sorry, there are no leads in the hopper for this campaign\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Login: \n
"; + echo "Password:
\n"; + echo "Campaign: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + if (strlen($session_id) < 1) + { + echo "VICIDIAL web client: VICIDIAL Campaign Login\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "Sorry, there are no available sessions\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Login: \n
"; + echo "Password:
\n"; + echo "Campaign: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + if (ereg('MSIE',$browser)) + { + $useIE=1; + print "\n"; + } + else + { + $useIE=0; + print "\n"; + } + + $StarTtimE = date("U"); + $NOW_TIME = date("Y-m-d H:i:s"); + ##### Agent is going to log in so insert the vicidial_agent_log entry now + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group,sub_status) values('$VD_login','$server_ip','$NOW_TIME','$VD_campaign','$StarTtimE','0','$StarTtimE','$VU_user_group','LOGIN');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + print "\n"; + + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $server_ip_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S"; + + ##### grab the datails of all active scripts in the system + $stmt="SELECT script_id,script_name,script_text FROM vicidial_scripts WHERE active='Y' order by script_id limit 100;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $MM_scripts = mysql_num_rows($rslt); + $e=0; + while ($e < $MM_scripts) + { + $row=mysql_fetch_row($rslt); + $MMscriptid[$e] =$row[0]; + $MMscriptname[$e] = rawurlencode($row[1]); + $MMscripttext[$e] = rawurlencode($row[2]); + $MMscriptids = "$MMscriptids'$MMscriptid[$e]',"; + $MMscriptnames = "$MMscriptnames'$MMscriptname[$e]',"; + $MMscripttexts = "$MMscripttexts'$MMscripttext[$e]',"; + $e++; + } + $MMscriptids = substr("$MMscriptids", 0, -1); + $MMscriptnames = substr("$MMscriptnames", 0, -1); + $MMscripttexts = substr("$MMscripttexts", 0, -1); + + } +} + +################################################################ +### BEGIN - build the callback calendar (12 months) ### +################################################################ +define ('ADAY', (60*60*24)); +$CdayARY = getdate(); +$Cmon = $CdayARY['mon']; +$Cyear = $CdayARY['year']; +$CTODAY = date("Y-m"); +$CTODAYmday = date("j"); +$CINC=0; + +$Cmonths = Array('January','February','March','April','May','June', + 'July','August','September','October','November','December'); +$Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); + +$CCAL_OUT = ''; + +$CCAL_OUT .= ""; + +while ($CINC < 12) +{ +if ( ($CINC == 0) || ($CINC == 4) ||($CINC == 8) ) + {$CCAL_OUT .= "";} + +$CCAL_OUT .= ""; + +if ( ($CINC == 3) || ($CINC == 7) ||($CINC == 11) ) + {$CCAL_OUT .= "";} +$CINC++; +} + +$CCAL_OUT .= "
"; + +$CYyear = $Cyear; +$Cmonth= ($Cmon + $CINC); +if ($Cmonth > 12) + { + $Cmonth = ($Cmonth - 12); + $CYyear++; + } +$Cstart= mktime(11,0,0,$Cmonth,1,$CYyear); +$CfirstdayARY = getdate($Cstart); +#echo "|$Cmon|$Cmonth|$CINC|\n"; +$CPRNTDAY = date("Y-m", $Cstart); + +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; + +foreach($Cdays as $Cday) +{ + $CDCLR="#ffffff"; +$CCAL_OUT .= ""; +} + +for( $Ccount=0;$Ccount<(6*7);$Ccount++) +{ + $Cdayarray = getdate($Cstart); + if((($Ccount) % 7) == 0) + { + if($Cdayarray['mon'] != $CfirstdayARY['mon']) + break; + $CCAL_OUT .= ""; + } + if($Ccount < $CfirstdayARY['wday'] || $Cdayarray['mon'] != $Cmonth) + { + $CCAL_OUT .= ""; + } + else + { + if( ($Cdayarray['mday'] == $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + else + { + $CDCLR="#ffffff"; + if ( ($Cdayarray['mday'] < $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CDCLR="#CCCCCC"; + $CBL = ''; + $CEL = ''; + } + else + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + } + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + } +} +$CCAL_OUT .= ""; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "$Cday"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
 "; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; + +#echo "$CCAL_OUT\n"; +################################################################ +### END - build the callback calendar (12 months) ### +################################################################ + + +?> + + + + +\n"; + + +?> + +
+ + MARGINWIDTH=0 MARGINHEIGHT=0 LEFTMARGIN=0 TOPMARGIN=0 VALIGN=TOP ALIGN=LEFT> +
+ + + +LOGOUT\n"; ?> +
+
+ + + height=30> + + + + + +
VICIDIALSCRIPT VALIGN=MIDDLE ALIGN=CENTER>   LIVE     session ID: Live Call
+
+ + + + + height=>

VICIDIAL
+
+ + +MANUAL DIAL       FAST DIAL
+
+ + +X ACTIVE CALLBACKS
+
+ + +
+
+ + + D1 - DIAL\n"; + echo "
\n"; + echo "D2 - DIAL\n"; + } + else {echo "
\n";} + ?> +

+
+
+ + + height=460>
CALLBACKS FOR AGENT :
Click on a callback below to call the customer back now. If you click on a record below to call it, it will be removed from the list. +
+
+
  + Refresh +                 + Go Back +
+
+ + + height=460>
NEW MANUAL DIAL LEAD FOR :

Enter information below for the new lead you wish to call. +
+ \n"; + } + ?> + Note: all new manual dial leads will go into list

+ + + + + + + + + + + + + + + +
Dial Code:   (This is usually a 1 in the USA-Canada)
Phone Number: +   (12 digits max - digits only) +
Search Existing Leads:   (This option if checked will attempt to find the phone number in the system before inserting it as a new lead)


If you want to dial a number and have it NOT be added as a new lead, enter in the exact dialstring that you want to call in the Dial Override field below. To hangup this call you will have to open the CALLS IN THIS SESSION link at the bottom of the screen and hang it up by clicking on its channel link there.
 
Dial Override:   (digits only please) +
+
+ Dial Now +                 + Go Back +
+
+ + + +
+
+ + + + +Your Status:
Calls Dialing: +
+ + + + + > + +
+
+ + Transfer - Conference
+ + + LOCAL CLOSER + Hangup Xfer Line + Hangup Both Lines + +
+ + Number to call   + + DIAL OVERRIDE   + LEAVE 3-WAY CALL + Dial Blind Transfer + D1 + D2 + +
+ + seconds   + channel + Dial With Customer + Park Customer Dial + Blind Transfer VMail Message +
+
+
+
+ + + + height=70> + +
Lead Dispositioned As:

+ -
+
+
+ + + height=70> + + + + +
Disposition Hot Keys: + When active, simply press the keyboard key for the desired disposition for this call. The call will then be hungup and dispositioned automatically:
+ + + + + +
+
+ + + height=70> + + + + + + +
Previous Callback Information: close
+
+
+
+
+ +
+
+ + + height=500>
Noone is in your session:
+ Go Back +

+ Call Agent Again +
+
+ + + height=500>
Customer has hung up:
+ Go Back +

+ Finish and Disposition Call + +
+
+ + + height=550>
Call Wrapup: seconds remaining in wrapup

+ +

+ Finish Wrapup and Move On + +
+
+ + + height=500>
Your session has been disabled
LOGOUT

Go Back +
+
+ + + height=500>

LOGOUT
+
+ + +
+
+ + +
 
+
+ + + height=47>
Any changes made to the customer information below at this time will not be comitted, You must change customer information before you Hangup the call.
+
+ + + height=460>
DISPOSITION CALL :       Hangup Again       minimize
+ End-of-call Disposition Selection +
+ PAUSE AGENT DIALING
+ CLEAR FORM | + SUBMIT +

+ WEB FORM SUBMIT +

  +
+
+ + + height=460>
SELECT A PAUSE CODE :
+ Pause Code Selection + +

  +
+
+ + + height=460>
Select a CallBack Date :
+ + + Select a Date Below   +     + Hour: +   + Minutes: +   + +  
+ MY CALLBACK ONLY
";} + ?> + CB Comments:

+ + SUBMIT

+ +

  +
+
+ + + height=460>
CLOSER INBOUND GROUP SELECTION
+ Closer Inbound Group Selection +
+ BLENDED CALLING(outbound activated)
+ RESET | + SUBMIT +



  +
+
+ + + + Channel + Channel + MY CALLBACK ONLY
";} + ?> +
+ + + + height=>
VICIDIAL SCRIPT
+
+ + + 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> +HOT KEYS INACTIVE + + + + +> + + + +
VICIDIAL web-client version:     BUILD:               Server:              
+Show conference call channel information

 
+
+ + + +
+
+ + + + + id="MainTable"> + + + + + + + + + + + + + + + +
STATUS:
+
+Dial Next Number
+ LEAD PREVIEW
+ ALT PHONE DIAL
+ + +RECORDING FILE:
+
+
+RECORD ID:
+
+ +Start Recording
+
+Web Form
+
+Park Call
+Transfer - Conference
+
+Hangup Customer
+
+
Send DTMF

+
+
+
align=left valign=top> + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
seconds:   Channel:   Cust Time:
Customer Information:
Title:   First:   MI:   Last:
Address1:
Address2:   Address3:
City:   State:   PostCode:
Province:   Vendor ID:
Phone:   DialCode:   Alt. Phone:
Show:   Email:
Comments: + +\n";} +else + {echo "\n";} +?> + +
+
+ +
+
> + 
+ + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc/voicemail_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/voicemail_check.php new file mode 100644 index 00000000..0aa152d7 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc/voicemail_check.php @@ -0,0 +1,140 @@ + LICENSE: GPLv2 +### +### This script is designed purely to check whether the voicemail box on the server defined has new and old messages +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $vmail_box - ('101','1234',...) +### + +# changes +# 50422-1147 - First build of script +# 50503-1241 - added session_name checking for extra security +# 50711-1201 - removed HTTP authentication in favor of user/pass vars +# 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1204 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.5'; +$build = '60619-1204'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalid server_ip: |$server_ip| or Invalid session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalid session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Voicemail Check"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + $MT[0]=''; + $row=''; $rowx=''; + if (strlen($vmail_box)<1) + { + $channel_live=0; + echo "voicemail box $vmail_box is not valid\n"; + exit; + } + else + { + $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $vmails_list = mysql_num_rows($rslt); + $loop_count=0; + while ($vmails_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0]|$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/active_list_refresh.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/active_list_refresh.php new file mode 100644 index 00000000..61d75d5d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/active_list_refresh.php @@ -0,0 +1,482 @@ + LICENSE: GPLv2 +### +### This script is designed purely to serve updates of the live data to the display scripts +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $ADD - ('1','2','3','4','5') +### - $order - ('asc','desc') +### - $format - ('text','table','menu','selectlist','textarea') +### - $bgcolor - ('#123456','white','black','etc...') +### - $txtcolor - ('#654321','black','white','etc...') +### - $txtsize - ('1','2','3','etc...') +### - $selectsize - ('2','3','4','etc...') +### - $selectfontsize - ('8','10','12','etc...') +### - $selectedext - ('cc100') +### - $selectedtrunk - ('Zap/25-1') +### - $selectedlocal - ('SIP/cc100') +### - $textareaheight - ('8','10','12','etc...') +### - $textareawidth - ('8','10','12','etc...') +### - $field_name - ('extension','busyext','extension_xfer','etc...') +### + +# changes +# 50323-1147 - First build of script +# 50401-1132 - small formatting changes +# 50502-1402 - added field_name as modifiable variable +# 50503-1213 - added session_name checking for extra security +# 50503-1311 - added conferences list +# 50610-1155 - Added NULL check on MySQL results to reduced errors +# 50711-1209 - removed HTTP authentication in favor of user/pass vars +# 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1118 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["order"])) {$order=$_GET["order"];} + elseif (isset($_POST["order"])) {$order=$_POST["order"];} +if (isset($_GET["bgcolor"])) {$bgcolor=$_GET["bgcolor"];} + elseif (isset($_POST["bgcolor"])) {$bgcolor=$_POST["bgcolor"];} +if (isset($_GET["txtcolor"])) {$txtcolor=$_GET["txtcolor"];} + elseif (isset($_POST["txtcolor"])) {$txtcolor=$_POST["txtcolor"];} +if (isset($_GET["txtsize"])) {$txtsize=$_GET["txtsize"];} + elseif (isset($_POST["txtsize"])) {$txtsize=$_POST["txtsize"];} +if (isset($_GET["selectsize"])) {$selectsize=$_GET["selectsize"];} + elseif (isset($_POST["selectsize"])) {$selectsize=$_POST["selectsize"];} +if (isset($_GET["selectfontsize"])) {$selectfontsize=$_GET["selectfontsize"];} + elseif (isset($_POST["selectfontsize"])) {$selectfontsize=$_POST["selectfontsize"];} +if (isset($_GET["selectedext"])) {$selectedext=$_GET["selectedext"];} + elseif (isset($_POST["selectedext"])) {$selectedext=$_POST["selectedext"];} +if (isset($_GET["selectedtrunk"])) {$selectedtrunk=$_GET["selectedtrunk"];} + elseif (isset($_POST["selectedtrunk"])) {$selectedtrunk=$_POST["selectedtrunk"];} +if (isset($_GET["selectedlocal"])) {$selectedlocal=$_GET["selectedlocal"];} + elseif (isset($_POST["selectedlocal"])) {$selectedlocal=$_POST["selectedlocal"];} +if (isset($_GET["textareaheight"])) {$textareaheight=$_GET["textareaheight"];} + elseif (isset($_POST["textareaheight"])) {$textareaheight=$_POST["textareaheight"];} +if (isset($_GET["textareawidth"])) {$textareawidth=$_GET["textareawidth"];} + elseif (isset($_POST["textareawidth"])) {$textareawidth=$_POST["textareawidth"];} +if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} + elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} + +### security strip all non-alphanumeric characters out of the variables ### + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $ADD=ereg_replace("[^0-9]","",$ADD); + $order=ereg_replace("[^0-9a-zA-Z]","",$order); + $format=ereg_replace("[^0-9a-zA-Z]","",$format); + $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); + $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); + $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); + $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); + $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); + $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); + $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); + $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); + $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); + $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); + $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + +# default optional vars if not set +if (!isset($ADD)) {$ADD="1";} +if (!isset($order)) {$order='desc';} +if (!isset($format)) {$format="text";} +if (!isset($bgcolor)) {$bgcolor='white';} +if (!isset($txtcolor)) {$txtcolor='black';} +if (!isset($txtsize)) {$txtsize='2';} +if (!isset($selectsize)) {$selectsize='4';} +if (!isset($selectfontsize)) {$selectfontsize='10';} +if (!isset($textareaheight)) {$textareaheight='10';} +if (!isset($textareawidth)) {$textareawidth='20';} + +$version = '0.0.8'; +$build = '60619-1118'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Usuário/Senha: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='table') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Mostrar Lista: "; +if ($ADD==1) {echo "Extensões Ativas";} +if ($ADD==2) {echo "Extensões Ocupadas";} +if ($ADD==3) {echo "Linhas externas";} +if ($ADD==4) {echo "Extensões Locais";} +if ($ADD==5) {echo "Conferencias";} +if ($ADD==99999) {echo "AJUDA";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ADD=1 display all live extensions on a server +###################### +if ($ADD==1) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'extension';} + if ($format=='table') {echo "\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + +###################### +# ADD=2 display all busy extensions on a server +###################### +if ($ADD==2) +{ + if (!$field_name) {$field_name = 'busyext';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=3 display all busy outside lines(trunks) on a server +###################### +if ($ADD==3) +{ + if (!$field_name) {$field_name = 'trunk';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=4 display all busy Local lines on a server +###################### +if ($ADD==4) +{ + if (!$field_name) {$field_name = 'local';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=5 display all agc-usable conferences on a server +###################### +if ($ADD==5) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'conferences';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='table') {echo "\n";} +if ($format=='table') {echo "\n\n\n";} + +exit; + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/astguiclient.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/astguiclient.php new file mode 100644 index 00000000..1fe0f403 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/astguiclient.php @@ -0,0 +1,2905 @@ + LICENSE: GPLv2 +# +# make sure you have added a user to the vicidial_users MySQL table with at least +# user_level 1 or greater to access this page. Also you need to have the login +# and pass of a phone listed in the asterisk.phones table. The page grabs the +# server info and other details from this login and pass +# +# Other scripts that this application depends on: +# - active_list_refresh.php: displays active/live channels and phones +# - manager_send.php: sends Actions to be executed on Asterisk servers +# - live_exten_check.php: checks to see if user's phone is on a live call +# - call_log_display.php: retrieves log of inbound and outbound calls +# - voicemail_check.php: retrieves counts of new and old messages +# - inbound_popup.php: opens upon live_inbound call coming in +# - conf_exten_check.php: checks to see if and calls are in a specific conf +# - park_calls_display.php: retrieves list of parked calls +# - vdc_db_query.php: Changes values in the DB for non-calling records +# +# CHANGES +# 50215-1356 - Proof-of-concept test of XMLHttpRequest for astGUIclient web +# 50323-1411 - First build version display-only +# 50331-1040 - Second-build, added phone login and hangup/hijack display +# 50401-1006 - Trunk/Local Hangup functions enabled +# 50404-1056 - Trunk/Local Hijack functions enabled +# 50404-1459 - Simple live calls display and grabs updated time from server +# 50405-1221 - Reorganized the display and layers, added some images +# 50406-1005 - Added In/Out call log display to MAIN panel +# 50407-1254 - Start/Stop Recording on live calls enabled +# 50422-1101 - Activated Check Voicemail button and new/old messages count +# 50428-1449 - Added dial from log and basic live_inbound call popup +# 50429-1455 - Modified inbound popup code for IE and to add more functions +# 50502-1442 - Added basic method to transfer live calls somewhere else +# 50503-1205 - Added web_client_sessions entry for more security of subscripts +# 50503-1537 - Added basic conferences display +# 50509-1132 - Added conference connected list and hangup/xfer for them +# 50511-1129 - Added registration of conference rooms and added manual dial +# 50523-1342 - Added Conference recording and send DTMF +# 50523-1622 - Added Local Dial window frame for calling local extensions +# 50524-1456 - Added ability to park call and display number of parked calls +# 50524-1600 - Added ability to display and pickup/hangup/xfer parked calls +# 50525-1224 - Added ability to place outbound call from within conferene +# 50531-1225 - Added ability to do dual transfers to meetme rooms from Main +# 50711-1229 - removed HTTP authentication in favor of user/pass vars +# 50711-1610 - Added Zap monitoring to Trunk/Local Action screens +# 50804-1604 - Minor bug fix in inbound_popup functions +# 50818-1715 - Added pretty login section +# 50913-1137 - Added custom outbound_cid from phones table +# 51110-1430 - Fixed non-standard http port issue +# 60103-1421 - Added code for favorite extensions chooser +# 60104-1347 - Added basic layout for favorites editing frame +# 60105-1124 - Finished Favorites frame and added DB submission +# 60112-1622 - Several formatting changes +# 60421-1357 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1103 - Added variable filters to close security holes for login form +# 60829-1528 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +$version = '2.0.1'; +$build = '60829-1528'; + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + + +if ($force_logout) +{ + if( (strlen($_SERVER['user'])>0) or (strlen($_SERVER['pass'])>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "Você fez o logoff. Obrigado\n"; + exit; +} + +$StarTtime = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd-His"); + $month_old = mktime(0, 0, 0, date("m"), date("d")-7, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$US='_'; +$CL=':'; +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./astguiclient_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = $agcPAGE; +$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); + + if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) + { + header ("Content-type: text/html; charset=utf-8"); + + echo "astGUIclient web client: Login\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Brazil
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login
 
Login do Usuário:
Senha do Usuário:
Login do Telefone:
Senha do Telefone:

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($user); + $password=strtoupper($pass); + $stmt="SELECT full_name,user_level from vicidial_users where user='$user' and pass='$pass'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDISCAR|GOOD|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDISCAR|FAIL|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + } + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "astGUIclient web client: Login do Telefone\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Brazil
\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Login do Telefone
 
Login do Telefone:
Senha do Telefone:

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +$authphone=0; +$stmt="SELECT count(*) from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "astGUIclient web client: Login do Telefone\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Brazil
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login do Telefone
 
Desculpe seu login de telefone e senha não estão ativos nesta campanha, por favor tente novamente:
 
Login do Telefone:
Senha do Telefone:

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { + echo "astGUIclient web client\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $phone_login=$row[6]; + $phone_pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $CaLLerID_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $outbound_cid=$row[65]; + + $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtime$US$session_ext$session_rand"; + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'agc';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','agc','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT count(*) from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_present=$row[0]; + if ($favorites_present > 0) + { + $stmt="SELECT extensions_list from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_list=$row[0]; + $h=0; + $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites = explode(',',$favorites_listX); + $favorites_count = count($favorites); + $favorites_listX=''; + + $o=0; + while ($favorites_count > $o) + { + $stmt="SELECT fullname,protocol from phones where extension = '$favorites[$o]' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $favorites_names[$o] = $rowx[0]; + $favorites_listX .= "$rowx[1]/$favorites[$o],"; + $o++; + } + + echo "\n"; + echo "\n"; + } + else + { + echo "\n"; + } + +### gather phone extensions and fullnames for favorites editor ### + $stmt="SELECT extension,fullname from phones where server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $exten_ct = mysql_num_rows($rslt); + $favlistCT=0; + $nofavlistCT=0; + while ($favlistCT < $exten_ct) + { + $row=mysql_fetch_row($rslt); + $favlist[$favlistCT]= "$row[0] - $row[1]"; + $favlistCT++; + } + + } +} + + +?> + + + + + + +\n"; + + +?> + +
+ + + + + + + + + +
+ + +SAIR
\n"; ?> +
Painel PrincipalLinhas Ativas no PainelPainel de ConferênciasVerificar Caixa PostalChamadas Ativas
+
+ + +

Logout
+
+ + +
TRUNK DESLIGAR

+ Active Trunks Menu
+ Desligar o Canal   |   + Capturar o Canal   |   + Ouvir o Canal   |   + Atualizar   |   + Voltar a página principal +
+
+ + +
DESLIGAR LOCAL

+ Menu Local Ativo
+ Desligar Local   |   + Capturar Local   |   + Ouvir Local   |   + Atualizar   |   + Voltar a página principal +
+
+ + + + + + + +
TRANSFERIR CHAMADAS ATIVAS
Canal a ser transferido: Canal
Extensões:
Extensões do Menu
+
+ Enviar para a extensão selecionada

+ Enviar para a caixa postal selecionada

+ Envie para este número:


+ Atualizar


+ Voltar a página principal

+
Conferencias:
(Clique no número abaixo para enviar a conferência)
Enviar meu canal para
Menu das conferências
+
+ + + + + +
Discar a extensão local
Telefone ligando de: Canal
Extensões:
Extensões do Menu
+
+ Ligar para a extensão selecionada

+ Ligar para a caixa postal selecionada

+ Atualizar


+ Voltar a página principal

+
+
+ + +
CHAMADAS EM ESPERA:
+ Voltar a página principal

+
+
+ + + + + + + + + + + + + + + +
  +
CAIXA POSTAL     NOVO:     VELHO:             DISCAGEM MANUAL       DISCAR
CHAMADAS EM ESPERA: 0                DISCAR A EXTENSÃO LOCAL
CHAMADAS SAINTES:
CHAMADAS ENTRANTES:
Versão do cliente web do astGUIClient: CONFIGURAÇÃO:
+ + + + $h) + { + if (strlen($favorites[$h])>1) + { + echo "\n"; + } + $h++; + } +?> + +
FAVORITOS       editar
$favorites[$h] - $favorites_names[$h]
 
+
+ + + + + + + +
FAVORITOS

 
PARA ENVIAR MODIFICACOES FAVORITAS E NECESSARIO FAZER O SAIR
VOLTAR A TELA PRINCIPAL - as alterações serão ignoradas
+
+ +
+ + + + + + + + + + + + + +
+PAUSAR | INICIAR     Atualizar a taxa: 1000 ms Mais rápido | Mais devagar

+
Inicializando..
+
Extensões Ativas
+ATUALIZAR | +ORDEM | +
Linhas externas
+ATUALIZAR | +ORDEM | +
Extensões Locais
+ATUALIZAR | +ORDEM | +
+ Data vai aqui

+
+ Data vai aqui

Atividade do Tronco +
+ Data vai aqui

Atividade Local +
+
+ + + + +
+ + +Lista das conferências + + + +
+Clique no número da conferência, a esquerda, para entrar na conferência +
+ + + + + + + + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/call_log_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/call_log_display.php new file mode 100644 index 00000000..abbaabeb --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/call_log_display.php @@ -0,0 +1,196 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send the inbound and outbound calls for a specific phone +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### - $in_limit - ('10','20','50','100',...) +### - $out_limit - ('10','20','50','100',...) +### + +# changes +# 50406-1013 - First build of script +# 50407-1452 - Added definable limits +# 50503-1236 - added session_name checking for extra security +# 50610-1158 - Added NULL check on MySQL results to reduced errors +# 50711-1202 - removed HTTP authentication in favor of user/pass vars +# 60323-1550 - added option for showing different number dialed in log +# 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1202 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($in_limit)) {$in_limit="100";} +if (!isset($out_limit)) {$out_limit="100";} +$number_dialed = 'number_dialed'; +#$number_dialed = 'extension'; + +$version = '0.0.8'; +$build = '60619-1202'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Usuário/Senha: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Registro de Ligações"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten não é válido ou protocolo $protocol não é válido\n"; + exit; + } + else + { + ##### print outbound calls from the call_log table + $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} + echo "$out_calls_count|"; + $loop_count=0; + while ($out_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[3] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + + if ($number_dialed == 'extension') {$row[2] = substr($row[2],-10);} + echo "$row[0] ~$row[1] ~$row[2] ~$call_time_MS|"; + } + echo "\n"; + + ##### print inbound calls from the live_inbound_log table + $stmt="SELECT call_log.uniqueid,live_inbound_log.start_time,live_inbound_log.extension,caller_id,length_in_sec from live_inbound_log,call_log where phone_ext='$exten' and live_inbound_log.server_ip = '$server_ip' and call_log.uniqueid=live_inbound_log.uniqueid order by start_time desc limit $in_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} + echo "$in_calls_count|"; + $loop_count=0; + while ($in_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[4] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $callerIDnum = $row[3]; $callerIDname = $row[3]; + $callerIDnum = preg_replace("/.*<|>.*/","",$callerIDnum); + $callerIDname = preg_replace("/\"| <\d*>/","",$callerIDname); + + echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; + } + echo "\n"; + + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/conf_exten_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/conf_exten_check.php new file mode 100644 index 00000000..eee0f698 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/conf_exten_check.php @@ -0,0 +1,297 @@ + LICENSE: GPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('refresh','register') +# - $client - ('agc','vdc') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $campagentstdisp - ('YES',...) +# + +# changes +# 50509-1054 - First build of script +# 50511-1112 - Added ability to register a conference room +# 50610-1159 - Added NULL check on MySQL results to reduced errors +# 50706-1429 - script changed to not use HTTP login vars, user/pass instead +# 50706-1525 - Added date-time display for vicidial client display +# 50816-1500 - Added random update to vicidial_live_agents table for vdc users +# 51121-1353 - Altered echo statements for several small PHP speed optimizations +# 60410-1424 - Added ability to grab calls-being-placed and agent status +# 60421-1405 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1201 - Added variable filters to close security holes for login form +# 61128-2255 - Added update for manual dial vicidial_live_agents +# 70319-1542 - Added agent disabled display function +# 71122-0205 - Added vicidial_live_agent status output +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["client"])) {$client=$_GET["client"];} + elseif (isset($_POST["client"])) {$client=$_POST["client"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campagentstdisp"])) {$campagentstdisp=$_GET["campagentstdisp"];} + elseif (isset($_POST["campagentstdisp"])) {$campagentstdisp=$_POST["campagentstdisp"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($client)) {$client="agc";} + +$version = '2.0.4-12'; +$build = '71122-0205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd_His"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$random = (rand(1000000, 9999999) + 10000000); + + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Usuário/Senha: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Verificação da Extensão de Conferência"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + if ($ACTION == 'refresh') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($conf_exten)<1) + { + $channel_live=0; + echo "Conf Exten $conf_exten não é válido\n"; + exit; + } + else + { + + if ($client == 'vdc') + { + $Acount=0; + $AexternalDEAD=0; + + ### see if the agent has a record in the vicidial_live_agents table + $stmt="SELECT count(*) from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Acount=$row[0]; + + if ($Acount > 0) + { + $stmt="SELECT status from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Astatus=$row[0]; + } + # ### find out if external table shows agent should be disabled + # $stmt="SELECT count(*) from another_table where user='$user' and status='DEAD';"; + # if ($DB) {echo "|$stmt|\n";} + # $rslt=mysql_query($stmt, $link); + # $row=mysql_fetch_row($rslt); + # $AexternalDEAD=$row[0]; + + if ($auto_dial_level > 0) + { + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + if ($campagentstdisp == 'YES') + { + ### grab the status of this agent to display + $stmt="SELECT status,campaign_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Alogin=$row[0]; + $Acampaign=$row[1]; + + ### grab the number of calls being placed from this server and campaign + $stmt="SELECT count(*) from vicidial_auto_calls where server_ip='$server_ip' and status NOT IN('XFER') and campaign_id='$Acampaign';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $RingCalls=$row[0]; + } + else + { + $Alogin='N'; + $RingCalls='N'; + } + } + else + { + $Alogin='N'; + $RingCalls='N'; + + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } + + if ($Acount < 1) {$Alogin='DEAD_VLA';} + if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} + + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . "|\n"; + + } + $total_conf=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$sip_list = mysql_num_rows($rslt);} + # echo "$sip_list|"; + $loop_count=0; + while ($sip_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $CanalA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + # echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $CanalA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + } + $channels_list = ($channels_list + $sip_list); + echo "$channels_list|"; + + $counter=0; + $countecho=''; + while($total_conf > $counter) + { + $counter++; + $countecho = "$countecho$CanalA[$counter] ~"; + # echo "$CanalA[$counter] ~"; + } + + echo "$countecho\n"; + } + + if ($ACTION == 'register') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($exten)<1) ) + { + $channel_live=0; + echo "Conf Exten $conf_exten não é válido or Exten $exten não é válido\n"; + exit; + } + else + { + $stmt="UPDATE conferences set extension='$exten' where server_ip = '$server_ip' and conf_exten = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + echo "Conferencia $conf_exten já foi registrado para $exten\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/dbconnect.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/dbconnect.php new file mode 100644 index 00000000..723d3c59 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/dbconnect.php @@ -0,0 +1,58 @@ + LICENSE: AGPLv2 +# +if ( file_exists("/etc/astguiclient.conf") ) +{ +$DBCagc = file("/etc/astguiclient.conf"); +foreach ($DBCagc as $DBCline) + { + $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); + if (ereg("^PATHlogs", $DBCline)) + {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} + if (ereg("^PATHweb", $DBCline)) + {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} + if (ereg("^VARDB_server", $DBCline)) + {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} + if (ereg("^VARDB_database", $DBCline)) + {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} + if (ereg("^VARDB_user", $DBCline)) + {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} + if (ereg("^VARDB_pass", $DBCline)) + {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} + if (ereg("^VARDB_port", $DBCline)) + {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} + } + +} +else +{ +#defaults for DB connection +$VARDB_server = 'localhost'; +$VARDB_user = 'cron'; +$VARDB_pass = '1234'; +$VARDB_database = '1234'; +$WeBServeRRooT = '/usr/local/apache2/htdocs'; +} + +$link=mysql_connect("$VARDB_server", "$VARDB_user", "$VARDB_pass"); +if (!$link) { + die('MySQL connect ERROR: ' . mysql_error()); +} +mysql_select_db("$VARDB_database",$link); + +$local_DEF = 'Local/'; +$conf_silent_prefix = '7'; +$local_AMP = '@'; +$ext_context = 'demo'; +$recording_exten = '8309'; +$WeBRooTWritablE = '1'; +$non_latin = '0'; # set to 1 for UTF rules, overridden by system_settings +$flag_channels=0; +$flag_string = 'VICIast20'; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/inbound_popup.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/inbound_popup.php new file mode 100644 index 00000000..d75c9b5b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/inbound_popup.php @@ -0,0 +1,351 @@ + LICENSE: GPLv2 +### +### This script is designed to open up when a live_inbound call comes in giving the user +### options of what to do with the call or options to lookup the callerID on various web sites +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $uniqueid - ('1234567890.123456',...) +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $vmail_box - ('101','1234',...) +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $ext_context - ('default','demo',...) +### - $ext_priority - ('1','2',...) +### - $voicemail_dump_exten - ('85026666666666') +### - $local_web_callerID_URL_enc - ( rawurlencoded custom callerid lookup URL) +### + +# changes +# 50428-1500 - First build of script display only +# 50429-1241 - some formatting, hangup and Vmail redirect, 30s timeout on actions, and CID web lookup links +# 50503-1244 - added session_name checking for extra security +# 50711-1203 - removed HTTP authentication in favor of user/pass vars +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["voicemail_dump_exten"])) {$voicemail_dump_exten=$_GET["voicemail_dump_exten"];} + elseif (isset($_POST["voicemail_dump_exten"])) {$voicemail_dump_exten=$_POST["voicemail_dump_exten"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_GET["local_web_callerID_URL_enc"];} + elseif (isset($_POST["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_POST["local_web_callerID_URL_enc"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} + else {$local_web_callerID_URL = '';} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.6'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$DO = '-1'; +if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Usuário/Senha: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +echo "\n"; +echo "\n"; +echo "\n"; +?> + + +CHAMADA ENTRANDO"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "

CHAMADA ENTRANDO

\n"; +echo "$NOW_TIME

\n"; +} + + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($uniqueid)<9) + { + $channel_live=0; + echo "Uniqueid $uniqueid não é válido\n"; + exit; + } + else + { + $stmt="SELECT * FROM live_inbound where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $channels_list = mysql_num_rows($rslt); + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); +# echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; +# Zap/73|"V.I.C.I. MARKET" <7275338730>|2005-04-28 14:01:21|7274514936|Inbound direct to Matt||||| + if ($format=='debug') {echo "\n";} + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Canal: $row[1]
CallerID: $row[3]
\n"; + + $phone = eregi_replace(".*\<","",$row[3]); + $phone = eregi_replace("\>.*","",$phone); + $NPA = substr($phone, 0, 3); + $NXX = substr($phone, 3, 3); + $XXXX = substr($phone, 6, 4); + $D='-'; + echo "GOOGLE - \n"; + echo "ANYWHO - \n"; + echo "SWITCHBOARD - \n"; + echo "VERIZON - \n"; + echo "WHITEPAGES - \n"; + echo "411.COM - \n"; + echo "411.COM - \n"; + + $local_web_callerID_QUERY_STRING =''; + $local_web_callerID_QUERY_STRING.="?callerID_areacode=$NPA"; + $local_web_callerID_QUERY_STRING.="&callerID_prefix=$NXX"; + $local_web_callerID_QUERY_STRING.="&callerID_last4=$XXXX"; + $local_web_callerID_QUERY_STRING.="&callerID_Time=$row[6]"; + $local_web_callerID_QUERY_STRING.="&callerID_Canal=$row[1]"; + $local_web_callerID_QUERY_STRING.="&callerID_uniqueID=$row[0]"; + $local_web_callerID_QUERY_STRING.="&callerID_phone_ext=$row[5]"; + $local_web_callerID_QUERY_STRING.="&callerID_server_ip=$row[2]"; + $local_web_callerID_QUERY_STRING.="&callerID_extension=$row[4]"; + $local_web_callerID_QUERY_STRING.="&callerID_inbound_number=$row[8]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_a=$row[9]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_b=$row[10]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_c=$row[11]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_d=$row[12]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_e=$row[13]"; + echo "CUSTOMIZADO - \n"; + + echo "
Número Discado: $row[8]
Notas: $row[9]|$row[10]|$row[11]|$row[12]|$row[13]|
\n"; + echo "DESLIGAR - \n"; + echo "ENVIAR PARA MINHA CAIXA POSTAL\n"; + echo "
\n"; + + + $stmt="UPDATE live_inbound set acknowledged='Y' where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + + } + + + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/live_exten_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/live_exten_check.php new file mode 100644 index 00000000..7e9fcba6 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/live_exten_check.php @@ -0,0 +1,278 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send whether the client channel is live and to what channel it is connected +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### + +# changes +# 50404-1249 - First build of script +# 50406-1402 - added connected trunk lookup +# 50428-1452 - added live_inbound check for exten on 2nd line of output +# 50503-1233 - added session_name checking for extra security +# 50524-1429 - added parked calls count +# 50610-1204 - Added NULL check on MySQL results to reduced errors +# 50711-1204 - removed HTTP authentication in favor of user/pass vars +# 60103-1541 - added favorite extens status display +# 60421-1359 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1203 - Added variable filters to close security holes for login form +# 60825-1029 - Fixed translation variable issue ChannelA +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count"];} + elseif (isset($_POST["favorites_count"])) {$favorites_count=$_POST["favorites_count"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '2.0.1'; +$build = '60825-1029'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Usuário/Senha: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Verificação de extensões ativas"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + +echo "DateTime: $NOW_TIME|"; +echo "UnixTime: $StarTtime|"; + +$stmt="SELECT count(*) FROM parked_channels where server_ip = '$server_ip';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +echo "$row[0]|"; + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten não é válido ou protocolo $protocol não é válido\n"; + exit; + } + else + { + $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + $ChanneLA[$loop_count] = "$row[0]"; + $ChanneLB[$loop_count] = "$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + $counter=0; + while($loop_count > $counter) + { + $counter++; + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "CanalA: $ChanneLA[$counter] ~"; + echo "CanalB: $ChanneLB[$counter] ~"; + echo "CanalBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "CanalA: $ChanneLA[$counter] ~"; + echo "CanalB: $ChanneLB[$counter] ~"; + echo "CanalBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "CanalA: $ChanneLA[$counter] ~"; + echo "CanalB: $ChanneLB[$counter] ~"; + echo "CanalBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "CanalA: $ChanneLA[$counter] ~"; + echo "CanalB: $ChanneLB[$counter] ~"; + echo "CanalBtrunk: $row[0]|"; + } + else + { + echo "Conversation: $counter ~"; + echo "CanalA: $ChanneLA[$counter] ~"; + echo "CanalB: $ChanneLB[$counter] ~"; + echo "CanalBtrunk: $ChanneLA[$counter]|"; + } + } + } + } + } + +echo "\n"; + +### check for live_inbound entry +$stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = '$exten' and acknowledged='N';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +if ($rslt) {$channels_list = mysql_num_rows($rslt);} + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); + $LIuniqueid = "$row[0]"; + $LIchannel = "$row[1]"; + $LIcallerid = "$row[3]"; + $LIdatetime = "$row[6]"; + echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; + if ($format=='debug') {echo "\n";} + } + +echo "\n"; + + +### if favorites are present do a lookup to see if any are active +if ($favorites_count > 0) + { + $favorites = explode(',',$favorites_list); + $h=0; + $favs_print=''; + while ($favorites_count > $h) + { + $fav_extension = explode('/',$favorites[$h]); + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$favorites[$h]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favs_print .= "$fav_extension[1]: $row[0] ~"; + $h++; + } + echo "$favs_print\n"; + } + +if ($format=='debug') {echo "\n";} + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/manager_send.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/manager_send.php new file mode 100644 index 00000000..de1bac2b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/manager_send.php @@ -0,0 +1,1142 @@ + LICENSE: GPLv2 +# +# This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $ACTION - ('Originate','Redirect','Hangup','Command','Monitor','StopMonitor','SysCIDOriginate','RedirectName','RedirectNameVmail','MonitorConf','StopMonitorConf','RedirectXtra','RedirectXtraCX','RedirectVD','HangupConfDial','VolumeControl','OriginateVDRelogin') +# - $queryCID - ('CN012345678901234567',...) +# - $format - ('text','debug') +# - $channel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $exten - ('1234','913125551212',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $filename - ('20050406-125623_44444',...) +# - $extenName - ('phone100',...) +# - $parkedby - ('phone100',...) +# - $extrachannel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $auto_dial_level - ('0','1','1.1',...) +# - $campaign - ('CLOSER','TESTCAMP',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('1234',...) +# - $seconds - ('32',...) +# - $outbound_cid - ('3125551212','0000000000',...) +# - $agent_log_id - ('123456',...) +# - $call_server_ip - ('10.10.10.15',...) +# - $CalLCID - ('VD01234567890123456',...) +# - $stage - ('UP','DOWN') +# + +# CHANGELOG: +# 50401-1002 - First build of script, Hangup function only +# 50404-1045 - Redirect basic function enabled +# 50406-1522 - Monitor basic function enabled +# 50407-1647 - Monitor and StopMonitor full functions enabled +# 50422-1120 - basic Originate function enabled +# 50428-1451 - basic SysCIDOriginate function enabled for checking voicemail +# 50502-1539 - basic RedirectName and RedirectNameVmail added +# 50503-1227 - added session_name checking for extra security +# 50523-1341 - added Conference call start/stop recording +# 50523-1421 - added OriginateName and OriginateNameVmail for local calls +# 50524-1602 - added RedirectToPark and RedirectFromPark +# 50531-1203 - added RedirecXtra for dual channel redirection +# 50630-1100 - script changed to not use HTTP login vars, user/pass instead +# 50804-1148 - Added RedirectVD for VICIDIAL blind redirection with logging +# 50815-1204 - Added NEXTAVAILABLE to RedirectXtra function +# 50903-2343 - Added HangupConfDial function to hangup in-dial channels in conf +# 50913-1057 - Added outbound_cid set if present to originate call +# 51020-1556 - Added agent_log_id framework for detailed agent activity logging +# 51118-1204 - Fixed Blind transfer bug from VICIDIAL when in manual dial mode +# 51129-1014 - Added ability to accept calls from other VICIDIAL servers +# 51129-1253 - Fixed Hangups of other agents channels in VICIDIAL AD +# 60310-2022 - Fixed NEXTAVAILABLE bug in leave-3way-call redirect function +# 60421-1413 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1158 - Added variable filters to close security holes for login form +# 60809-1544 - Added direct transfers to leave-3ways in consultative transfers +# 61004-1526 - Added parsing of volume control command and lookup or number +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61201-1115 - Added user to MonitorConf for recording_log +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70226-1251 - Added Mute/UnMute to conference volume control +# 70320-1502 - Added option to allow retry of leave-3way-call and debug logging +# 70322-1636 - Added sipsak display ability +# + +require("dbconnect.php"); + +### These are variable assignments for PHP globals off +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["queryCID"])) {$queryCID=$_GET["queryCID"];} + elseif (isset($_POST["queryCID"])) {$queryCID=$_POST["queryCID"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["filename"])) {$filename=$_GET["filename"];} + elseif (isset($_POST["filename"])) {$filename=$_POST["filename"];} +if (isset($_GET["extenName"])) {$extenName=$_GET["extenName"];} + elseif (isset($_POST["extenName"])) {$extenName=$_POST["extenName"];} +if (isset($_GET["parkedby"])) {$parkedby=$_GET["parkedby"];} + elseif (isset($_POST["parkedby"])) {$parkedby=$_POST["parkedby"];} +if (isset($_GET["extrachannel"])) {$extrachannel=$_GET["extrachannel"];} + elseif (isset($_POST["extrachannel"])) {$extrachannel=$_POST["extrachannel"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["secondS"])) {$secondS=$_GET["secondS"];} + elseif (isset($_POST["secondS"])) {$secondS=$_POST["secondS"];} +if (isset($_GET["outbound_cid"])) {$outbound_cid=$_GET["outbound_cid"];} + elseif (isset($_POST["outbound_cid"])) {$outbound_cid=$_POST["outbound_cid"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["call_server_ip"])) {$call_server_ip=$_GET["call_server_ip"];} + elseif (isset($_POST["call_server_ip"])) {$call_server_ip=$_POST["call_server_ip"];} +if (isset($_GET["CalLCID"])) {$CalLCID=$_GET["CalLCID"];} + elseif (isset($_POST["CalLCID"])) {$CalLCID=$_POST["CalLCID"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["allow_sipsak_messages"])) {$allow_sipsak_messages=$_GET["allow_sipsak_messages"];} + elseif (isset($_POST["allow_sipsak_messages"])) {$allow_sipsak_messages=$_POST["allow_sipsak_messages"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$secondS = ereg_replace("[^0-9]","",$secondS); + +# default optional vars if not set +if (!isset($ACTION)) {$ACTION="Originate";} +if (!isset($format)) {$format="alert";} +if (!isset($ext_priority)) {$ext_priority="1";} + +$version = '2.0.29'; +$build = '70320-1502'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Usuário/Senha: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Gerente Envia: "; +if ($ACTION=="Originate") {echo "Originate";} +if ($ACTION=="Redirect") {echo "Redirect";} +if ($ACTION=="RedirectName") {echo "RedirectName";} +if ($ACTION=="Hangup") {echo "Hangup";} +if ($ACTION=="Command") {echo "Command";} +if ($ACTION==99999) {echo "AJUDA";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ACTION=SysCIDOriginate - insert Originate Manager statement allowing small CIDs for system calls +###################### +if ($ACTION=="SysCIDOriginate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<1) ) + { + echo "Exten $exten não é válido or queryCID $queryCID não é válido, Originate comando não inserido\n"; + } + else + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Originate comando enviado para Exten $exten Canal $channelligado$server_ip\n"; + } +} + + + +###################### +# ACTION=Originate, OriginateName, OriginateNameVmail - insert Originate Manager statement +###################### +if ($ACTION=="OriginateName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Uma dessas variáveis não é válido:\n"; + echo "Canal $channel Deve ser maior que 2 caracteres\n"; + echo "queryCID $queryCID Deve ser maior que 14 caracateres\n"; + echo "extenName $extenName Deve ser definido\n"; + echo "ext_context $ext_context Deve ser definido\n"; + echo "ext_priority $ext_priority Deve ser definido\n"; + echo "\nOriginateName Action não enviado\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Uma dessas variáveis não é válido:\n"; + echo "Canal $channel Deve ser maior que 2 caracteres\n"; + echo "queryCID $queryCID Deve ser maior que 14 caracateres\n"; + echo "extenName $extenName Deve ser definido\n"; + echo "exten $exten Deve ser definido\n"; + echo "ext_context $ext_context Deve ser definido\n"; + echo "ext_priority $ext_priority Deve ser definido\n"; + echo "\nOriginateNameVmail Action não enviado\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateVDRelogin") +{ + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $CIDdate = date("ymdHis"); + $DS='-'; + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $queryCID = "$SIPSAK_prefix$campaign$DS$CIDdate"; + + } + $ACTION="Originate"; +} + +if ($ACTION=="Originate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<10) ) + { + echo "Exten $exten não é válido or queryCID $queryCID não é válido, Originate comando não inserido\n"; + } + else + { + if (strlen($outbound_cid)>1) + {$outCID = "\"$queryCID\" <$outbound_cid>";} + else + {$outCID = "$queryCID";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $outCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Originate comando enviado para Exten $exten Canal $channelligado$server_ip\n"; + } +} + + + +###################### +# ACTION=HangupConfDial - find the Local channel that is in the conference and needs to be hung up +###################### +if ($ACTION=="HangupConfDial") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "conference $exten não é válido or ext_context $ext_context or queryCID $queryCID não é válido, Hangup comando não inserido\n"; + } + else + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $hangup_channel_prefix = "$local_DEF$exten$local_AMP$ext_context"; + + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row > 0) + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $channel=$rowx[0]; + $ACTION="Hangup"; + $queryCID = eregi_replace("^.","G",$queryCID); + } + } +} + + + +###################### +# ACTION=Hangup - insert Hangup Manager statement +###################### +if ($ACTION=="Hangup") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) ) + { + $channel_live=0; + echo "Canal $channel não é válido or queryCID $queryCID não é válido, Hangup comando não inserido\n"; + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + +# $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $row=mysql_fetch_row($rslt); +# if ($row[0]==0) +# { +# $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $rowx=mysql_fetch_row($rslt); +# if ($rowx[0]==0) +# { +# $channel_live=0; +# echo "Channel $channel is not live on $call_server_ip, Hangup command not inserted\n"; +# } +# } + if ( ($auto_dial_level > 0) and (strlen($CalLCID)>2) and (strlen($exten)>2) and ($secondS > 4)) + { + $stmt="SELECT count(*) FROM vicidial_auto_calls where channel='$channel' and callerid='$CalLCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + echo "Call $CalLCID $channel não está ativoligado$call_server_ip, Checking Live Canal...\n"; + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel' and extension LIKE \"%$exten\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $channel_live=0; + echo "Canal $channel não está ativoligado$call_server_ip, Hangup comando não inserido $rowx[0]\n$stmt\n"; + } + else + { + echo "$stmt\n"; + } + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Hangup','$queryCID','Channel: $channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Hangup comando enviado para Canal $channelligado$call_server_ip\n"; + } + } +} + + + +###################### +# ACTION=Redirect, RedirectName, RedirectNameVmail, RedirectToPark, RedirectFromPark, RedirectVD, RedirectXtra, RedirectXtraCX +# - insert Redirect Manager statement using extensions name +###################### +if ($ACTION=="RedirectVD") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($campaign)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($uniqueid)<2) or (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "Uma dessas variáveis não é válido:\n"; + echo "Canal $channel Deve ser maior que 2 caracteres\n"; + echo "queryCID $queryCID Deve ser maior que 14 caracateres\n"; + echo "exten $exten Deve ser definido\n"; + echo "ext_context $ext_context Deve ser definido\n"; + echo "ext_priority $ext_priority Deve ser definido\n"; + echo "auto_dial_level $auto_dial_level Deve ser definido\n"; + echo "campaign $campaign Deve ser definido\n"; + echo "uniqueid $uniqueid Deve ser definido\n"; + echo "lead_id $lead_id Deve ser definido\n"; + echo "\nRedirectVD Action não enviado\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where lead_id='$lead_id' order by start_epoch desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + if ($auto_dial_level < 1) + { + $stmt = "UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt = "DELETE from vicidial_auto_calls where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectToPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($parkedby)<1) ) + { + $channel_live=0; + echo "Uma dessas variáveis não é válido:\n"; + echo "Canal $channel Deve ser maior que 2 caracteres\n"; + echo "queryCID $queryCID Deve ser maior que 14 caracateres\n"; + echo "exten $exten Deve ser definido\n"; + echo "extenName $extenName Deve ser definido\n"; + echo "ext_context $ext_context Deve ser definido\n"; + echo "ext_priority $ext_priority Deve ser definido\n"; + echo "parkedby $parkedby Deve ser definido\n"; + echo "\nRedirectToPark Action não enviado\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "INSERT INTO parked_channels values('$channel','$server_ip','','$extenName','$parkedby','$NOW_TIME');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectFromPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Uma dessas variáveis não é válido:\n"; + echo "Canal $channel Deve ser maior que 2 caracteres\n"; + echo "queryCID $queryCID Deve ser maior que 14 caracateres\n"; + echo "exten $exten Deve ser definido\n"; + echo "ext_context $ext_context Deve ser definido\n"; + echo "ext_priority $ext_priority Deve ser definido\n"; + echo "\nRedirectFromPark Action não enviado\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "DELETE FROM parked_channels where server_ip='$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Uma dessas variáveis não é válido:\n"; + echo "Canal $channel Deve ser maior que 2 caracteres\n"; + echo "queryCID $queryCID Deve ser maior que 14 caracateres\n"; + echo "extenName $extenName Deve ser definido\n"; + echo "ext_context $ext_context Deve ser definido\n"; + echo "ext_priority $ext_priority Deve ser definido\n"; + echo "\nRedirectName Action não enviado\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Redirect"; + } + } +} + +if ($ACTION=="RedirectNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Uma dessas variáveis não é válido:\n"; + echo "Canal $channel Deve ser maior que 2 caracteres\n"; + echo "queryCID $queryCID Deve ser maior que 14 caracateres\n"; + echo "extenName $extenName Deve ser definido\n"; + echo "exten $exten Deve ser definido\n"; + echo "ext_context $ext_context Deve ser definido\n"; + echo "ext_priority $ext_priority Deve ser definido\n"; + echo "\nRedirectNameVmail Action não enviado\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Redirect"; + } + } +} + +if ($ACTION=="RedirectXtraCX") +{ + $DBout=''; + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Uma dessas variáveis não é válido:\n"; + echo "Canal $channel Deve ser maior que 2 caracteres\n"; + echo "ExtraCanal $extrachannel Deve ser maior que 2 caracteres\n"; + echo "queryCID $queryCID Deve ser maior que 14 caracateres\n"; + echo "exten $exten Deve ser definido\n"; + echo "ext_context $ext_context Deve ser definido\n"; + echo "ext_priority $ext_priority Deve ser definido\n"; + echo "\nRedirect Action não enviado\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Canal $channel não está ativoligado$call_server_ip, Redirect comando não inserido\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel não está ativoligado$call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Canal $channel não está ativoligado$server_ip, Redirect comando não inserido\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel não está ativoligado$server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + $stmt="SELECT count(*) FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $channel_liveY=0; + echo "No Local agent to send call to, Redirect comando não inserido\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + } + else + { + $stmt="SELECT server_ip,conf_exten,user FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $dest_server_ip = $rowx[0]; + $dest_session_id = $rowx[1]; + $dest_user = $rowx[2]; + $S='*'; + + $D_s_ip = explode('.', $dest_server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$dest_session_id$S$lead_id$S$dest_user$S$phone_code$S$phone_number$S$campaign$S"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','$queryCID','Channel: $extrachannel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtraCX comando enviado para Canal $channelligado$call_server_ip and \nHungup $extrachannelligado$server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channelligado$call_server_ip, Hungup $extrachannelligado$server_ip";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channelligado$server_ip";} + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } +} + +if ($ACTION=="RedirectXtra") +{ + if ($channel=="$extrachannel") + {$ACTION="Redirect";} + else + { + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Uma dessas variáveis não é válido:\n"; + echo "Canal $channel Deve ser maior que 2 caracteres\n"; + echo "ExtraCanal $extrachannel Deve ser maior que 2 caracteres\n"; + echo "queryCID $queryCID Deve ser maior que 14 caracateres\n"; + echo "exten $exten Deve ser definido\n"; + echo "ext_context $ext_context Deve ser definido\n"; + echo "ext_priority $ext_priority Deve ser definido\n"; + echo "\nRedirect Action não enviado\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if ($exten == "NEXTAVAILABLE") + { + $stmt="SELECT conf_exten FROM conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 3) + { + $stmt="UPDATE conferences set extension='$user' where server_ip='$server_ip' and conf_exten='$row[0]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $exten = $row[0]; + } + else + { + $channel_liveX=0; + echo "Não foi possível achar uma conferência vazialigado$server_ip, Redirect comando não inserido\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Não foi possível achar uma conferência vazialigado$server_ip";} + } + } + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Canal $channel não está ativoligado$call_server_ip, Redirect comando não inserido\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel não está ativoligado$call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Canal $channel não está ativoligado$server_ip, Redirect comando não inserido\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel não está ativoligado$server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + if ( ($server_ip=="$call_server_ip") or (strlen($call_server_ip)<7) ) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','ExtraChannel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra comando enviado para Canal $channel and \nExtraCanal $extrachannel\n to $extenligado$server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $extenligado$server_ip";} + } + else + { + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$exten"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra comando enviado para Canal $channelligado$call_server_ip and \nExtraCanal $extrachannel\n to $extenligado$server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } + } +} + + +if ($ACTION=="Redirect") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Uma dessas variáveis não é válido:\n"; + echo "Canal $channel Deve ser maior que 2 caracteres\n"; + echo "queryCID $queryCID Deve ser maior que 14 caracateres\n"; + echo "exten $exten Deve ser definido\n"; + echo "ext_context $ext_context Deve ser definido\n"; + echo "ext_priority $ext_priority Deve ser definido\n"; + echo "\nRedirect Action não enviado\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Canal $channel não está ativoligado$server_ip, Redirect comando não inserido\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "Redirect comando enviado para Canal $channelligado$server_ip\n"; + } + } +} + + + +###################### +# ACTION=Monitor or Stop Monitor - insert Monitor/StopMonitor Manager statement to start recording on a channel +###################### +if ( ($ACTION=="Monitor") || ($ACTION=="StopMonitor") ) +{ + if ($ACTION=="StopMonitor") + {$SQLfile = "";} + else + {$SQLfile = "File: $filename";} + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Canal $channel não é válido or queryCID $queryCID não é válido or filename: $filename não é válido, $ACTION comando não inserido\n"; + } + else + { + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Canal $channel não está ativoligado$server_ip, $ACTION comando não inserido\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','$ACTION','$queryCID','Channel: $channel','$SQLfile','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + if ($ACTION=="Monitor") + { + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + } + else + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + } + echo "$ACTION comando enviado para Canal $channelligado$server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n"; + } + } +} + + + + + + +###################### +# ACTION=MonitorConf or StopMonitorConf - insert Monitor/StopMonitor Manager statement to start recording on a conference +###################### +if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<3) or (strlen($channel)<4) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Canal $channel não é válido or exten $exten não é válido or filename: $filename não é válido, $ACTION comando não inserido\n"; + } + else + { + + if ($ACTION=="MonitorConf") + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$filename','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $filename','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + } + else + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + # find and hang up all recordings goingligadoin this conference # and extension = '$exten' + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + # $rec_count = intval(mysql_num_rows($rslt) / 2); + $rec_count = mysql_num_rows($rslt); + $h=0; + while ($rec_count>$h) + { + $rowx=mysql_fetch_row($rslt); + $HUchannel[$h] = $rowx[0]; + $h++; + } + $i=0; + while ($h>$i) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$i','Channel: $HUchannel[$i]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $i++; + } + + } + echo "$ACTION comando enviado para Canal $channelligado$server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n AS GRAVAÇÕES VÃO DURAR 60 MINUTOS\n"; + } +} + + + + + +###################### +# ACTION=VolumeControl - raise or lower the volume of a meetme participant +###################### +if ($ACTION=="VolumeControl") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($stage)<1) or (strlen($queryCID)<1) ) + { + echo "Conferencia $exten, Stage $stage não é válido or queryCID $queryCID não é válido, Originate comando não inserido\n"; + } + else + { + $participant_number='XXYYXXYYXXYYXX'; + if (eregi('UP',$stage)) {$vol_prefix='4';} + if (eregi('DOWN',$stage)) {$vol_prefix='3';} + if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} + if (eregi('MUTING',$stage)) {$vol_prefix='1';} + $local_DEF = 'Local/'; + $local_AMP = '@'; + $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $volume_local_channel','Context: $ext_context','Exten: 8300','Priority: 1','Callerid: $queryCID','','','','$channel','$exten');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Volume comando enviado para Conferencia $exten, Stage $stage Canal $channelligado$server_ip\n"; + } +} + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='debug') {echo "\n";} +if ($format=='debug') {echo "\n\n\n";} + +exit; + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/park_calls_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/park_calls_display.php new file mode 100644 index 00000000..d9682d85 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/park_calls_display.php @@ -0,0 +1,146 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send the details on the parked calls on the server +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### + +# changes +# 50524-1515 - First build of script +# 50711-1208 - removed HTTP authentication in favor of user/pass vars +# 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($park_limit)) {$park_limit="1000";} + +$version = '0.0.4'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) ) + { + echo "Inválido Usuário/Senha: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Mostra as ligações em espera"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten não é válido ou protocolo $protocol não é válido\n"; + exit; + } + else + { + ##### print parked calls from the parked_channels table + $stmt="SELECT * from parked_channels where server_ip = '$server_ip' order by parked_time limit $park_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $park_calls_count = mysql_num_rows($rslt); + echo "$park_calls_count\n"; + $loop_count=0; + while ($park_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0] ~$row[2] ~$row[3] ~$row[4] ~$row[5]|"; + } + echo "\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/vdc_db_query.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/vdc_db_query.php new file mode 100644 index 00000000..bea93986 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/vdc_db_query.php @@ -0,0 +1,2535 @@ + LICENSE: GPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('regCLOSER','manDiaLnextCALL','manDiaLskip','manDiaLonly','manDiaLlookCALL','manDiaLlogCALL','userLOGout','updateDISPO','VDADpause','VDADready','VDADcheckINCOMING','UpdatEFavoritEs','CalLBacKLisT','CalLBacKCounT','PauseCodeSubmit','LogiNCamPaigns') +# - $stage - ('start','finish','lookup','new') +# - $closer_choice - ('CL_TESTCAMP_L CL_OUT123_L -') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $campaign - ('testcamp',...) +# - $dial_timeout - ('60','26',...) +# - $dial_prefix - ('9','8',...) +# - $campaign_cid - ('3125551212','0000000000',...) +# - $MDnextCID - ('M06301413000000002',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('36524',...) +# - $list_id - ('101','123456',...) +# - $length_in_sec - ('12',...) +# - $phone_code - ('1',...) +# - $phone_number - ('3125551212',...) +# - $channel - ('Zap/12-1',...) +# - $start_epoch - ('1120236911',...) +# - $vendor_lead_code - ('1234test',...) +# - $title - ('Mr.',...) +# - $first_name - ('Bob',...) +# - $middle_initial - ('L',...) +# - $last_name - ('Wilson',...) +# - $address1 - ('1324 Main St.',...) +# - $address2 - ('Apt. 12',...) +# - $address3 - ('co Robert Wilson',...) +# - $city - ('Chicago',...) +# - $state - ('IL',...) +# - $province - ('NA',...) +# - $postal_code - ('60054',...) +# - $country_code - ('USA',...) +# - $gender - ('M',...) +# - $date_of_birth - ('1970-01-01',...) +# - $alt_phone - ('3125551213',...) +# - $email - ('bob@bob.com',...) +# - $security_phrase - ('Hello',...) +# - $comments - ('Good Customer',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $VDstop_rec_after_each_call - ('0','1') +# - $conf_silent_prefix - ('7','8','',...) +# - $extension - ('123','user123','25-1',...) +# - $protocol - ('Zap','SIP','IAX2',...) +# - $user_abb - ('1234','6666',...) +# - $preview - ('YES','NO',...) +# - $called_count - ('0','1','2',...) +# - $agent_log_id - ('123456',...) +# - $agent_log - ('NO',...) +# - $favorites_list - (",'cc160','cc100'",...) +# - $CallBackDatETimE - ('2006-04-21 14:30:00',...) +# - $recipient - ('ANYONE,'USERONLY') +# - $callback_id - ('12345','12346',...) +# - $use_internal_dnc - ('Y','N') +# - $omit_phone_code - ('Y','N') +# - $no_delete_sessions - ('0','1') + +# CHANGELOG: +# 50629-1044 - First build of script +# 50630-1422 - Added manual dial action and MD channel lookup +# 50701-1451 - Added dial log for start and end of vicidial calls +# 50705-1239 - Added call disposition update +# 50804-1627 - Fixed updateDispo to update vicidial_log entry +# 50816-1605 - Added VDADpause/ready for auto dialing +# 50816-1811 - Added basic autodial call pickup functions +# 50817-1005 - Altered logging functions to accomodate auto_dialing +# 50818-1305 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1411 - Added hangup of agent phone after Logout +# 50901-1315 - Fixed CLOSER IN-GROUP Web Form bug +# 50902-1507 - Fixed CLOSER log length_in_sec bug +# 50902-1730 - Added functions for manual preview dialing and revert +# 50913-1214 - Added agent random update to leadupdate +# 51020-1421 - Added agent_log_id framework for detailed agent activity logging +# 51021-1717 - Allows for multi-line comments (changes \n to !N in database) +# 51111-1046 - Added vicidial_agent_log lead_id earlier for manual dial +# 51121-1445 - Altered echo statements for several small PHP speed optimizations +# 51122-1328 - Fixed UserLogout issue not removing conference reservation +# 51129-1012 - Added ability to accept calls from other VICIDIAL servers +# 51129-1729 - Changed manual dial to use the '/n' flag for calls +# 51221-1154 - Added SCRIPT id lookup and sending to vicidial.php for display +# 60105-1059 - Added Updating of astguiclient favorites in the DB +# 60208-1617 - Added dtmf buttons output per call +# 60213-1521 - Added closer_campaigns update to vicidial_users +# 60215-1036 - Added Callback date-time entry into vicidial_callbacks table +# 60413-1541 - Added USERONLY Callback listings output - CalLBacKLisT +# - Added USERONLY Callback count output - CalLBacKCounT +# 60414-1140 - Added Callback lead lookup for manual dialing +# 60419-1517 - After CALLBK is sent to agent, update callback record to INACTIVE +# 60421-1419 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60427-1236 - Fixed closer_choice error for CLOSER campaigns +# 60609-1148 - Added ability to check for manual dial numbers in DNC +# 60619-1117 - Added variable filters to close security holes for login form +# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic +# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing +# 60821-1647 - Added ability to not delete sessions at logout +# 60906-1124 - Added lookup and sending of callback data for CALLBK calls +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70115-1733 - Added alt_dial functionality in auto-dial modes +# 70118-1501 - Added user_group to vicidial_log,_agent_log,_closer_log,_callbacks +# 70123-1357 - Fixed bug that would not update vicidial_closer_log status to dispo +# 70202-1438 - Added pause code submit function +# 70203-0930 - Added dialed_number to lead info output +# 70203-1030 - Added dialed_label to lead info output +# 70206-1126 - Added INBOUND status for inbound/closer calls in vicidial_live_agents +# 70212-1253 - Fixed small issue with CXFER +# 70213-1431 - Added QueueMetrics PAUSE/UNPAUSE/AGENTLOGIN/AGENTLOGOFF actions +# 70214-1231 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1210 - Added queuemetrics COMPLETEAGENT action +# 70216-1051 - Fixed double call complete queuemetrics logging +# 70222-1616 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70309-1034 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70319-1544 - Added agent disable update customer data function +# 70322-1545 - Added sipsak display ability +# 70413-1253 - Fixed bug for outbound call time in CLOSER-type blended campaigns +# 70424-1100 - Fixed bug for fronter/closer calls that would delete vdac records +# 70802-1729 - Fixed bugs with pause_sec and wait_sec under certain call handling +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71029-1855 - removed campaign_id naming restrictions for CLOSER-type campaigns +# 71030-2047 - added hopper priority for auto alt dial entries +# 71116-1011 - added calls_today count updating of the vicidial_live_agents upon INCALL +# 71120-1520 - added LogiNCamPaigns to show only allowed campaigns for agents upon login +# 71125-1751 - Added inbound-group default inbound group sending to vicidial.php +# 71129-2025 - restricted callbacks count and list to campaign only +# + +$version = '2.0.4-65'; +$build = '71129-2025'; + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["closer_choice"])) {$closer_choice=$_GET["closer_choice"];} + elseif (isset($_POST["closer_choice"])) {$closer_choice=$_POST["closer_choice"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["dial_timeout"])) {$dial_timeout=$_GET["dial_timeout"];} + elseif (isset($_POST["dial_timeout"])) {$dial_timeout=$_POST["dial_timeout"];} +if (isset($_GET["dial_prefix"])) {$dial_prefix=$_GET["dial_prefix"];} + elseif (isset($_POST["dial_prefix"])) {$dial_prefix=$_POST["dial_prefix"];} +if (isset($_GET["campaign_cid"])) {$campaign_cid=$_GET["campaign_cid"];} + elseif (isset($_POST["campaign_cid"])) {$campaign_cid=$_POST["campaign_cid"];} +if (isset($_GET["MDnextCID"])) {$MDnextCID=$_GET["MDnextCID"];} + elseif (isset($_POST["MDnextCID"])) {$MDnextCID=$_POST["MDnextCID"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["length_in_sec"])) {$length_in_sec=$_GET["length_in_sec"];} + elseif (isset($_POST["length_in_sec"])) {$length_in_sec=$_POST["length_in_sec"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["start_epoch"])) {$start_epoch=$_GET["start_epoch"];} + elseif (isset($_POST["start_epoch"])) {$start_epoch=$_POST["start_epoch"];} +if (isset($_GET["dispo_choice"])) {$dispo_choice=$_GET["dispo_choice"];} + elseif (isset($_POST["dispo_choice"])) {$dispo_choice=$_POST["dispo_choice"];} +if (isset($_GET["vendor_lead_code"])) {$vendor_lead_code=$_GET["vendor_lead_code"];} + elseif (isset($_POST["vendor_lead_code"])) {$vendor_lead_code=$_POST["vendor_lead_code"];} +if (isset($_GET["title"])) {$title=$_GET["title"];} + elseif (isset($_POST["title"])) {$title=$_POST["title"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["middle_initial"])) {$middle_initial=$_GET["middle_initial"];} + elseif (isset($_POST["middle_initial"])) {$middle_initial=$_POST["middle_initial"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["gender"])) {$gender=$_GET["gender"];} + elseif (isset($_POST["gender"])) {$gender=$_POST["gender"];} +if (isset($_GET["date_of_birth"])) {$date_of_birth=$_GET["date_of_birth"];} + elseif (isset($_POST["date_of_birth"])) {$date_of_birth=$_POST["date_of_birth"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["security_phrase"])) {$security_phrase=$_GET["security_phrase"];} + elseif (isset($_POST["security_phrase"])) {$security_phrase=$_POST["security_phrase"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_GET["VDstop_rec_after_each_call"];} + elseif (isset($_POST["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_POST["VDstop_rec_after_each_call"];} +if (isset($_GET["conf_silent_prefix"])) {$conf_silent_prefix=$_GET["conf_silent_prefix"];} + elseif (isset($_POST["conf_silent_prefix"])) {$conf_silent_prefix=$_POST["conf_silent_prefix"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["user_abb"])) {$user_abb=$_GET["user_abb"];} + elseif (isset($_POST["user_abb"])) {$user_abb=$_POST["user_abb"];} +if (isset($_GET["preview"])) {$preview=$_GET["preview"];} + elseif (isset($_POST["preview"])) {$preview=$_POST["preview"];} +if (isset($_GET["called_count"])) {$called_count=$_GET["called_count"];} + elseif (isset($_POST["called_count"])) {$called_count=$_POST["called_count"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["agent_log"])) {$agent_log=$_GET["agent_log"];} + elseif (isset($_POST["agent_log"])) {$agent_log=$_POST["agent_log"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} +if (isset($_GET["CallBackDatETimE"])) {$CallBackDatETimE=$_GET["CallBackDatETimE"];} + elseif (isset($_POST["CallBackDatETimE"])) {$CallBackDatETimE=$_POST["CallBackDatETimE"];} +if (isset($_GET["recipient"])) {$recipient=$_GET["recipient"];} + elseif (isset($_POST["recipient"])) {$recipient=$_POST["recipient"];} +if (isset($_GET["callback_id"])) {$callback_id=$_GET["callback_id"];} + elseif (isset($_POST["callback_id"])) {$callback_id=$_POST["callback_id"];} +if (isset($_GET["use_internal_dnc"])) {$use_internal_dnc=$_GET["use_internal_dnc"];} + elseif (isset($_POST["use_internal_dnc"])) {$use_internal_dnc=$_POST["use_internal_dnc"];} +if (isset($_GET["omit_phone_code"])) {$omit_phone_code=$_GET["omit_phone_code"];} + elseif (isset($_POST["omit_phone_code"])) {$omit_phone_code=$_POST["omit_phone_code"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} + + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); +$phone_code = ereg_replace("[^0-9]","",$phone_code); +$phone_number = ereg_replace("[^0-9]","",$phone_number); + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} + +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$MT[0]=''; +$agents='@agents'; + +if ($ACTION == 'LogiNCamPaigns') + { + $skip_user_validation=1; + } +else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Usuário/Senha: |$user|$pass|\n"; + exit; + } + else + { + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } +} + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDiaL Script de consulta ao banco de dados"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + +################################################################################ +### LogiNCamPaigns - generates an HTML SELECT list of allowed campaigns for a +### specific agent on the login screen +################################################################################ +if ($ACTION == 'LogiNCamPaigns') +{ + if ( (strlen($user)<1) ) + { + echo "\n"; + exit; + } + else + { + echo "\n"; + exit; + } +} + + + +################################################################################ +### regCLOSER - update the vicidial_live_agents table to reflect the closer +### inbound choices made upon login +################################################################################ +if ($ACTION == 'regCLOSER') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($closer_choice)<1) || (strlen($user)<1) ) + { + $channel_live=0; + echo "Escolha do Grupo $closer_choice não é válido\n"; + exit; + } + else + { + if ($closer_choice == "MGRLOCK-") + { + $stmt="SELECT closer_campaigns FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $closer_choice =$row[0]; + + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_users set closer_campaigns='$closer_choice' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $in_groups_pre = preg_replace('/-$/','',$closer_choice); + $in_groups = explode(" ",$in_groups_pre); + $in_groups_ct = count($in_groups); + $k=1; + while ($k < $in_groups_ct) + { + if (strlen($in_groups[$k])>1) + { + $stmt="SELECT group_weight,calls_today FROM vicidial_inbound_group_agents where user='$user' and group_id='$in_groups[$k]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $viga_ct = mysql_num_rows($rslt); + if ($viga_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_weight = $row[0]; + $calls_today = $row[1]; + } + else + { + $group_weight = 0; + $calls_today = 0; + } + $stmt="INSERT INTO vicidial_live_inbound_agents set user='$user',group_id='$in_groups[$k]',group_weight='$group_weight',calls_today='$calls_today',last_call_time='$NOW_TIME',last_call_finish='$NOW_TIME';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + $k++; + } + + } + echo "Closer In Escolha do Grupo $closer_choice foi registrado para o usuário $user\n"; +} + + +################################################################################ +### manDiaLnextCALL - for manual VICIDiaL dialing this will grab the next lead +### in the campaign, reserve it, send data back to client and +### place the call by inserting into vicidial_manager +################################################################################ +if ($ACTION == 'manDiaLnextCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "LISTA DE DISCAGEM VAZIA\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context não é válido\n"; + exit; + } + else + { + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### check if this is a callback, if it is, skip the grabbing of a new lead and mark the callback as INACTIVE + if ( (strlen($callback_id)>0) and (strlen($lead_id)>0) ) + { + $affected_rows=1; + $CBleadIDset=1; + + $stmt = "UPDATE vicidial_callbacks set status='INACTIVE' where callback_id='$callback_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + if (strlen($phone_number)>3) + { + if ($use_internal_dnc=='Y') + { + $stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + echo "DNC NUMERO\n"; + exit; + } + } + if ($stage=='lookup') + { + $stmt="SELECT lead_id FROM vicidial_list where phone_number='$phone_number' order by modify_date desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $man_leadID_ct = mysql_num_rows($rslt); + if ($man_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $affected_rows=1; + $lead_id =$row[0]; + $CBleadIDset=1; + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### grab the next lead in the hopper for this campaign and reserve it for the user + $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by hopper_id LIMIT 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + } + + if ($affected_rows > 0) + { + if (!$CBleadIDset) + { + ##### grab the lead_id of the reserved user in vicidial_hopper + $stmt="SELECT lead_id FROM vicidial_hopper where campaign_id='$campaign' and status='QUEUE' and user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $hopper_leadID_ct = mysql_num_rows($rslt); + if ($hopper_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + } + } + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = trim("$row[29]"); + $called_count = trim("$row[30]"); + } + + $called_count++; + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M\n"); + fclose($fp); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='Y', called_count='$called_count',user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + if (!$CBleadIDset) + { + ### delete the lead from the hopper + $stmt = "DELETE FROM vicidial_hopper where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id',comments='MANUAL' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + ### if preview dialing, do not send the call + if ( (strlen($preview)<1) || ($preview == 'NO') ) + { + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + $Local_persist = '/n'; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update calls_today count in vicidial_campaign_agents + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $MqueryCID . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= "MAIN\n"; + $LeaD_InfO .= $source_id . "\n"; + + echo $LeaD_InfO; + + } + else + { + echo "LISTA DE DISCAGEM VAZIA\n"; + } + } +} + + +################################################################################ +### manDiaLskip - for manual VICIDiaL dialing this skips the lead that was +### previewed in the step above and puts it back in orig status +################################################################################ +if ($ACTION == 'manDiaLskip') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($stage)<1) || (strlen($called_count)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "LEAD NOT REVERTED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context não é válido\n"; + exit; + } + else + { + $called_count = ($called_count - 1); + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='$stage', called_count='$called_count',user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + + echo "LEAD REVERTED\n"; + } +} + + +################################################################################ +### manDiaLonly - for manual VICIDiaL dialing this sends the call that was +### previewed in the step above +################################################################################ +if ($ACTION == 'manDiaLonly') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) || (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo " CHAMADA NOT PLACED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context não é válido\n"; + exit; + } + else + { + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + $Local_persist = '/n'; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + echo "$MqueryCID\n"; + } +} + + +################################################################################ +### manDiaLlookCALL - for manual VICIDiaL dialing this will attempt to look up +### the trunk channel that the call was placed on +################################################################################ +if ($ACTION == 'manDiaLlookCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; +if (strlen($MDnextCID)<18) + { + echo "NO\n"; + echo "MDnextCID $MDnextCID não é válido\n"; + exit; + } +else + { + ##### look for the channel in the UPDATED vicidial_manager record of the call initiation + $stmt="SELECT uniqueid,channel FROM vicidial_manager where callerid='$MDnextCID' and server_ip='$server_ip' and status='UPDATED' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid =$row[0]; + $channel =$row[1]; + echo "$uniqueid\n$channel"; + + $wait_sec=0; + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',wait_epoch='$StarTtime',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + echo "NO\n"; + } + } +} + + + +################################################################################ +### manDiaLlogCALL - for manual VICIDiaL logging of calls places record in +### vicidial_log and then sends process to call_log entry +################################################################################ +if ($ACTION == 'manDiaLlogCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + +if ($stage == "start") + { + if ( (strlen($uniqueid)<1) || (strlen($lead_id)<1) || (strlen($list_id)<1) || (strlen($phone_number)<1) || (strlen($campaign)<1) ) + { + echo "REGISTRO NÃO DEFINIDO\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id or list_id: $list_id or phone_number: $phone_number or campaign: $campaign não é válido\n"; + exit; + } + else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### insert log into vicidial_log for manual VICIDiaL call + $stmt="INSERT INTO vicidial_log (uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,comments,processed,user_group) values('$uniqueid','$lead_id','$list_id','$campaign','$NOW_TIME','$StarTtime','INCALL','$phone_code','$phone_number','$user','MANUAL','N','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "VICIDiaL_LOG Inserido: $uniqueid|$channel|$NOW_TIME\n"; + echo "$StarTtime\n"; + } + else + { + echo "REGISTRO NÃO DEFINIDO\n"; + } + + $stmt = "UPDATE vicidial_auto_calls SET uniqueid='$uniqueid' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + # ##### insert log into call_log for manual VICIDiaL call + # $stmt = "INSERT INTO call_log (uniqueid,channel,server_ip,extension,number_dialed,caller_code,start_time,start_epoch) values('$uniqueid','$channel','$server_ip','$exten','$phone_code$phone_number','MD $user $lead_id','$NOW_TIME','$StarTtime')"; + # if ($DB) {echo "$stmt\n";} + # $rslt=mysql_query($stmt, $link); + # $affected_rows = mysql_affected_rows($link); + + # if ($affected_rows > 0) + # { + # echo "CALL_LOG Inserido: $uniqueid|$channel|$NOW_TIME"; + # } + # else + # { + # echo "REGISTRO NÃO DEFINIDO\n"; + # } + } + } + +if ($stage == "end") + { + if ( (strlen($uniqueid)<1) || (strlen($lead_id)<1) ) + { + echo "REGISTRO NÃO DEFINIDO\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id não é válido\n"; + exit; + } + else + { + if ($start_epoch < 1000) + { + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ##### look for the start epoch in the vicidial_closer_log table + $stmt="SELECT start_epoch FROM vicidial_closer_log where phone_number='$phone_number' and lead_id='$lead_id' and user='$user' order by closecallid desc limit 1;"; + } + else + { + ##### look for the start epoch in the vicidial_log table + $stmt="SELECT start_epoch FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';"; + } + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch =$row[0]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($length_in_sec < 1) and ($row[0] > 0) ) + { + ##### start epoch in the vicidial_log table, couldn't find one in vicidial_closer_log + $stmt="SELECT start_epoch FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch =$row[0]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + } + } + else {$length_in_sec = ($StarTtime - $start_epoch);} + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec',status='DONE' where lead_id='$lead_id' order by start_epoch desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + ############################################# + ##### INICIAR QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ($auto_dial_level > 0) + { + ### check to see if campaign has alt_dial enabled + $stmt="SELECT auto_alt_dial FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_alt_dial =$row[0]; + } + else {$auto_alt_dial = 'NONE';} + if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3)",$auto_alt_dial)) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT alt_dial FROM vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_dial =$row[0]; + } + else {$alt_dial = 'NONE';} + + if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3)",$auto_alt_dial)) ) + { + $stmt="SELECT alt_phone,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_phone = $row[0]; + $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$alt_phone = '';} + if (strlen($alt_phone)>5) + { + ### insert record into vicidial_hopper for alt_phone call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ALT',user='',priority='25';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + } + if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + { + $stmt="SELECT address3,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $address3 = $row[0]; + $address3 = eregi_replace("[^0-9]","",$address3); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$address3 = '';} + if (strlen($address3)>5) + { + ### insert record into vicidial_hopper for address3 call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ADDR3',user='',priority='20';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + + if ($enable_queuemetrics_logging > 0) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/.*-/",'',$CLstage); + if (strlen($CLstage) < 1) {$CLstage=0;} + + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt="SELECT count(*) from queue_log where call_id='$MDnextCID' and verb='COMPLETECALLER';"; + $rslt=mysql_query($stmt, $linkB); + if ($DB) {echo "$stmt\n";} + $VAC_cc_ct = mysql_num_rows($rslt); + if ($VAC_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $caller_complete = $row[0]; + } + + if ($caller_complete < 1) + { + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + } + mysql_close($linkB); + } + + ### delete call record from vicidial_auto_calls + $stmt = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',lead_id='',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='PAUSARALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } + else + { + if ($enable_queuemetrics_logging > 0) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/XFER|-/",'',$CLstage); + if ($CLstage < 0.25) {$CLstage=0;} + + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + $stmt = "DELETE from vicidial_auto_calls lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',lead_id='',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='PAUSARALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } + + ##### look for the channel in the UPDATED vicidial_manager record of the call initiation + $stmt="UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec' where uniqueid='$uniqueid' and lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "$uniqueid\n$channel\n"; + } + else + { + echo "REGISTRO NÃO DEFINIDO\n\n"; + } + } + + echo $VDstop_rec_after_each_call . '|' . $extension . '|' . $conf_silent_prefix . '|' . $conf_exten . '|' . $user_abb . "|\n"; + + ##### if VICIDiaL call and hangup_after_each_call activated, find all recording + ##### channels and hang them up while entering info into recording_log and + ##### returning filename/recordingID + if ($VDstop_rec_after_each_call == 1) + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $total_rec=0; + $loop_count=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten' order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$rec_list = mysql_num_rows($rslt);} + while ($rec_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/Local\/$conf_silent_prefix$conf_exten\@/i",$row[0])) + { + $rec_channels[$total_rec] = "$row[0]"; + $total_rec++; + } + if ($format=='debug') {echo "\n";} + $loop_count++; + } + + $total_recFN=0; + $loop_count=0; + $filename=$MT; # not necessary : and cmd_line_f LIKE \"%_$user_abb\" + $stmt="SELECT cmd_line_f FROM vicidial_manager where server_ip='$server_ip' and action='Originate' and cmd_line_b = 'Channel: $local_DEF$conf_silent_prefix$conf_exten$local_AMP$ext_context' order by entry_date desc limit $total_rec;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$recFN_list = mysql_num_rows($rslt);} + while ($recFN_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + $filename[$total_recFN] = preg_replace("/Callerid: /i","",$row[0]); + if ($format=='debug') {echo "\n";} + $total_recFN++; + $loop_count++; + } + + $loop_count=0; + while($loop_count < $total_rec) + { + if (strlen($rec_channels[$loop_count])>5) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$loop_count','Channel: $rec_channels[$loop_count]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "REC_STOP|$rec_channels[$loop_count]|$filename[$loop_count]|"; + if (strlen($filename)>2) + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename[$loop_count]'"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$fn_count = mysql_num_rows($rslt);} + if ($fn_count) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt="UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename[$loop_count]' and end_epoch is NULL;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "$recording_id|$length_in_min|"; + } + else {echo "||";} + } + else {echo "||";} + echo "\n"; + } + $loop_count++; + } + } + + + $talk_sec=0; + $StarTtime = date("U"); + $stmt = "select talk_epoch,talk_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $talk_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set talk_sec='$talk_sec',talk_epoch='$StarTtime',dispo_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } +} + + +################################################################################ +### VDADREcheckINCOMING - for auto-dial VICIDiaL dialing this will recheck for +### calls to see if the channel has updated +################################################################################ +if ($ACTION == 'VDADREcheckINCOMING') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Campanha $campaign não é válido\n"; + echo "lead_id $lead_id não é válido\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + } + } +} + + +################################################################################ +### VDADcheckINCOMING - for auto-dial VICIDiaL dialing this will check for calls +### in the vicidial_live_agents table in QUEUE status, then +### lookup the lead info and pass it back to vicidial.php +################################################################################ +if ($ACTION == 'VDADcheckINCOMING') +{ + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Campanha $campaign não é válido\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and status='QUEUE';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',comments='AUTO',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = trim("$row[29]"); + $called_count = trim("$row[30]"); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + $stmt = "UPDATE vicidial_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select campaign_id,phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group =$row[0]; + $dialed_number =$row[1]; + $dialed_label =$row[2]; + } + else + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|\n"); + fclose($fp); + } + } + + $stmt = "select count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + + $stmt = "select * from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[1]; + $VDCL_group_color = $row[2]; + $VDCL_group_web = $row[4]; + $VDCL_fronter_display = $row[7]; + $VDCL_ingroup_script = $row[8]; + $VDCL_get_call_launch = $row[9]; + $VDCL_xferconf_a_dtmf = $row[10]; + $VDCL_xferconf_a_number = $row[11]; + $VDCL_xferconf_b_dtmf = $row[12]; + $VDCL_xferconf_b_number = $row[13]; + $VDCL_default_xfer_group= $row[28]; + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set comments='INBOUND' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $Ctype = 'I'; + } + else + { + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + } + } + + ### if web form is set then sendligadoto vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|\n";} + else {echo "|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + } + else + { + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_campaign_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + } + echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|\n|\n"; + + $stmt = "select phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dialed_number =$row[0]; + $dialed_label =$row[1]; + } + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + ### If CHAMADABK, change vicidial_callback record to INACTIVE + if (eregi("CALLBK|CBHOLD", $dispo)) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype\n"); + fclose($fp); + } + + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $userligado$server_ip\n"; + exit; + } + } +} + + +################################################################################ +### userLOGout - Logs the user out of VICIDiaL client, deleting db records and +### inserting into vicidial_user_log +################################################################################ +if ($ACTION == 'userLOGout') +{ + $MT[0]=''; + $row=''; $rowx=''; +if ( (strlen($campaign)<1) || (strlen($conf_exten)<1) ) + { + echo "NO\n"; + echo "campaign $campaign or conf_exten $conf_exten não é válido\n"; + exit; + } +else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### Insert a SAIR record into the user log + $stmt="INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$user','SAIR','$campaign','$NOW_TIME','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vul_insert = mysql_affected_rows($link); + + if ($no_delete_sessions < 1) + { + ##### Remove the reservationligadothe vicidial_conferences meetme room + $stmt="UPDATE vicidial_conferences set extension='' where server_ip='$server_ip' and conf_exten='$conf_exten';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vc_remove = mysql_affected_rows($link); + } + + ##### Delete the vicidial_live_agents record for this session + $stmt="DELETE from vicidial_live_agents where server_ip='$server_ip' and user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vla_delete = mysql_affected_rows($link); + + ##### Delete the vicidial_live_inbound_agents records for this session + $stmt="DELETE from vicidial_live_inbound_agents where user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vlia_delete = mysql_affected_rows($link); + + ##### Delete the web_client_sessions + $stmt="DELETE from web_client_sessions where server_ip='$server_ip' and session_name ='$session_name';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $wcs_delete = mysql_affected_rows($link); + + ##### Hangup the client phone + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$extension%\" order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) + { + $row=mysql_fetch_row($rslt); + $agent_channel = "$row[0]"; + if ($format=='debug') {echo "\n";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','ULGH3459$StarTtime','Channel: $agent_channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) + { + $row=mysql_fetch_row($rslt); + $pause_sec = (($StarTtime - $row[0]) + $row[1]); + + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + if ($vla_delete > 0) + { + ############################################# + ##### INICIAR QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_message = 'LOGGED OUT'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='PAUSAR',serverid='1';"; + # if ($DB) {echo "$stmt\n";} + # if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + # $rslt=mysql_query($stmt, $linkB); + # $affected_rows = mysql_affected_rows($linkB); + + $stmt = "SELECT time_id FROM queue_log where agent='Agent/$user' and verb='AGENTLOGIN' order by time_id desc limit 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + if ($DB) {echo "$stmt\n";} + echo "$stmt\n"; + $li_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $li_conf_ct) + { + $row=mysql_fetch_row($rslt); + $logintime = $row[0]; + $i++; + } + + $time_logged_in = ($StarTtime - $logintime); + if ($time_logged_in > 1000000) {$time_logged_in=1;} + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='AGENTLOGOFF',data1='$user$agents',data2='$time_logged_in',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + echo "$vul_insert|$vc_remove|$vla_delete|$wcs_delete|$agent_channel|$vlia_delete\n"; + } +} + + +################################################################################ +### updateDISPO - update the vicidial_list table to reflect the agent choice of +### call disposition for that leand +################################################################################ +if ($ACTION == 'updateDISPO') +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($dispo_choice)<1) || (strlen($lead_id)<1) ) + { + echo "Dispo Choice $dispo or lead_id $lead_id não é válido\n"; + exit; + } + else + { + $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by uniqueid desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + if ( ($use_internal_dnc=='Y') and ($dispo_choice=='DNC') ) + { + $stmt = "select phone_number from vicidial_list where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $stmt="INSERT INTO vicidial_dnc (phone_number) values('$row[0]');"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + } + } + + $dispo_sec=0; + $StarTtime = date("U"); + $stmt = "select dispo_epoch,dispo_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dispo_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set dispo_sec='$dispo_sec',dispo_epoch='$StarTtime',status='$dispo_choice' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group) values('$user','$server_ip','$NOW_TIME','$campaign','$StarTtime','0','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + + ### CHAMADABACK ENTRY + if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) + { + $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$row[0])) ) + { + $stmt = "select count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE vicidial_hopper set status='READY' where lead_id='$lead_id' and status='HOLD' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + $stmt="DELETE from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + ############################################# + ##### INICIAR QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='CALLSTATUS',data1='$dispo_choice',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + echo 'Lead ' . $lead_id . ' foi modificado para ' . $dispo_choice . " Status\nNext agent_log_id:\n" . $agent_log_id . "\n"; +} + +################################################################################ +### updateLEAD - update the vicidial_list table to reflect the values that are +### in the agents screen at time of call hangup +################################################################################ +if ($ACTION == 'updateLEAD') +{ + $MT[0]=''; + $row=''; $rowx=''; + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + if ( (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + echo "phone_number $phone_number or lead_id $lead_id não é válido\n"; + exit; + } + else + { + + $stmt = "SELECT disable_alter_custdata FROM vicidial_campaigns where campaign_id='$campaign'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $dac_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $dac_conf_ct) + { + $row=mysql_fetch_row($rslt); + $disable_alter_custdata = $row[0]; + $i++; + } + if (ereg('Y',$disable_alter_custdata)) + { + $DO_NOT_UPDATE=1; + $DO_NOT_UPDATE_text=' NOT'; + $stmt = "SELECT alter_custdata_override FROM vicidial_users where user='$user'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $aco_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $aco_conf_ct) + { + $row=mysql_fetch_row($rslt); + $alter_custdata_override = $row[0]; + $i++; + } + if (ereg('ALLOW_ALTER',$alter_custdata_override)) + { + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + } + } + + if ($DO_NOT_UPDATE < 1) + { + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + $comments = eregi_replace("--AMP--",'&',$comments); + $comments = eregi_replace("--QUES--",'?',$comments); + $comments = eregi_replace("--POUND--",'#',$comments); + + $stmt="UPDATE vicidial_list set vendor_lead_code='" . mysql_real_escape_string($vendor_lead_code) . "', title='" . mysql_real_escape_string($title) . "', first_name='" . mysql_real_escape_string($first_name) . "', middle_initial='" . mysql_real_escape_string($middle_initial) . "', last_name='" . mysql_real_escape_string($last_name) . "', address1='" . mysql_real_escape_string($address1) . "', address2='" . mysql_real_escape_string($address2) . "', address3='" . mysql_real_escape_string($address3) . "', city='" . mysql_real_escape_string($city) . "', state='" . mysql_real_escape_string($state) . "', province='" . mysql_real_escape_string($province) . "', postal_code='" . mysql_real_escape_string($postal_code) . "', country_code='" . mysql_real_escape_string($country_code) . "', gender='" . mysql_real_escape_string($gender) . "', date_of_birth='" . mysql_real_escape_string($date_of_birth) . "', alt_phone='" . mysql_real_escape_string($alt_phone) . "', email='" . mysql_real_escape_string($email) . "', security_phrase='" . mysql_real_escape_string($security_phrase) . "', comments='" . mysql_real_escape_string($comments) . "' where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } + echo "Lead $lead_id information has$DO_NOT_UPDATE_text been updated\n"; +} + + +################################################################################ +### VDADpause - update the vicidial_live_agents table to show that the agent is +### or ready now active and ready to take calls +################################################################################ +if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($stage)<2) || (strlen($server_ip)<1) ) + { + echo "stage $stage não é válido\n"; + exit; + } + else + { + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set lead_id='',uniqueid=0,callerid='',channel='', random_id='$random',comments='' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_live_agents set status='$stage' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### INICIAR QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + if (ereg('READY',$stage)) {$QMstatus='UNPAUSEALL';} + if (ereg('PAUSAR',$stage)) {$QMstatus='PAUSARALL';} + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='$QMstatus',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + if ($agent_log == 'NO') + {$donothing=1;} + else + { + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,wait_sec,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec=0; + if ($row[2] > 0) + { + $wait_sec = (($StarTtime - $row[2]) + $row[3]); + } + if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} + else + {$pause_sec = (($row[4] - $row[0]) + $row[1]);} + + } + if ($ACTION == 'VDADready') + { + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + if ($ACTION == 'VDADpause') + { + $stmt="UPDATE vicidial_agent_log set pause_epoch='$StarTtime',wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + echo 'Agent ' . $user . ' está agora com o status ' . $stage . "\n"; +} + + +################################################################################ +### UpdatEFavoritEs - update the astguiclient favorites list for this extension +################################################################################ +if ($ACTION == 'UpdatEFavoritEs') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($favorites_list)<1) || (strlen($user)<1) || (strlen($exten)<1) ) + { + echo "favorites list $favorites_list não é válido\n"; + exit; + } + else + { + $stmt = "select count(*) from phone_favorites where extension='$exten' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE phone_favorites set extensions_list=\"$favorites_list\" where extension='$exten' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO phone_favorites values('$exten','$server_ip',\"$favorites_list\");"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + echo "Favorites list has been updated to $favorites_list for $exten\n"; +} + + +################################################################################ +### PauseCodeSubmit - Update vicidial_agent_log with pause code +################################################################################ +if ($ACTION == 'PausaCodeSubmit') +{ + $row=''; $rowx=''; + if ( (strlen($status)<1) || (strlen($agent_log_id)<1) ) + { + echo "agent_log_id $agent_log_id or pause_code $status não é válido\n"; + exit; + } + else + { + $stmt="UPDATE vicidial_agent_log set sub_status=\"$status\" where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### INICIAR QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'BK-'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='PAUSARREASON',serverid='$queuemetrics_log_id',data1='$status';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } +echo "Pausa Code has been updated to $status for $agent_log_id\n"; +} + + +################################################################################ +### CalLBacKLisT - List the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKLisT') +{ +$stmt = "select callback_id,lead_id,campaign_id,status,entry_time,callback_time,comments from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD') order by callback_time;"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); +if ($rslt) {$callbacks_count = mysql_num_rows($rslt);} +echo "$callbacks_count\n"; +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $row=mysql_fetch_row($rslt); + $callback_id[$loop_count] = $row[0]; + $lead_id[$loop_count] = $row[1]; + $campaign_id[$loop_count] = $row[2]; + $status[$loop_count] = $row[3]; + $entry_time[$loop_count] = $row[4]; + $callback_time[$loop_count] = $row[5]; + $comments[$loop_count] = $row[6]; + $loop_count++; + } +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $stmt = "select first_name,last_name,phone_number from vicidial_list where lead_id='$lead_id[$loop_count]';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + echo "$row[0] ~$row[1] ~$row[2] ~$callback_id[$loop_count] ~$lead_id[$loop_count] ~$campaign_id[$loop_count] ~$status[$loop_count] ~$entry_time[$loop_count] ~$callback_time[$loop_count] ~$comments[$loop_count]\n"; + $loop_count++; + } + +} + + +################################################################################ +### CalLBacKCounT - send the count of the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKCounT') +{ +$stmt = "select count(*) from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD');"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$cbcount=$row[0]; + +echo "$cbcount"; +} + + + + +if ($format=='debug') +{ +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +echo "\n"; +echo "\n\n\n"; +} + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/vicidial.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/vicidial.php new file mode 100644 index 00000000..20997130 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/vicidial.php @@ -0,0 +1,6797 @@ + LICENSE: GPLv2 +# +# make sure you have added a user to the vicidial_users MySQL table with at least +# user_level 1 or greater to access this page. Also, you need to have the login +# and pass of a phone listed in the asterisk.phones table. The page grabs the +# server info and other details from this login and pass. +# +# This script works best with Firefox or Mozilla, but will run for a couple +# hours on Internet Explorer before the memory leaks cause a crash. +# +# Other scripts that this application depends on: +# - vdc_db_query.php: Updates information in the database +# - manager_send.php: Sends manager actions to the DB for execution +# +# CHANGELOG +# 50607-1426 - First Build of VICIDIAL web client basic login process finished +# 50628-1620 - Added some basic formatting and worked on process flow +# 50628-1715 - Startup variables mapped to javascript variables +# 50629-1303 - Added Login Closer in-groups selection box and vla update +# 50629-1530 - Rough layout for customer info form section and button links +# 50630-1453 - Rough Manual Dial/Hangup with customer info displayed +# 50701-1450 - Added vicidial_log entries on dial and hangup +# 50701-1634 - Added Logout function +# 50705-1259 - Added call disposition functionality +# 50705-1432 - Added lead info DB update function +# 50705-1658 - Added web form functionality +# 50706-1043 - Added call park and pickup functions +# 50706-1234 - Added Start/Stop Recording functionality +# 50706-1614 - Added conference channels display option +# 50711-1333 - Removed call check redundancy and fixed a span bug +# 50727-1424 - Added customer channel and participant present sensing/alerts +# 50804-1057 - Added SendDTMF function and reconfigured the transfer span +# 50804-1224 - Added Local and Internal Closer transfer functions +# 50804-1628 - Added Blind transfer, activated LIVE CALL image and fixed bugs +# 50804-1808 - Added button images for left buttons +# 50815-1151 - Added 3Way calling functions to Transfer-conf frame +# 50815-1602 - Added images and buttons for xfer functions +# 50816-1813 - Added basic autodial outbound call pickup functions +# 50817-1113 - Fixes to auto_dialing call receipt +# 50817-1234 - Added inbound call receipt capability +# 50817-1541 - Added customer time display +# 50817-1541 - Added customer time display +# 50818-1327 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1703 - Added pretty login section +# 50825-1200 - Modified form field lengths, added double-click dispositions +# 50831-1603 - Fixed customer time bug and fronter display bug for CLOSER +# 50901-1314 - Fixed CLOSER IN-GROUP Web Form bug +# 50903-0904 - Added preview-lead code for manual dialing +# 50904-0016 - Added ability to hangup manual dials before pickup +# 50906-1319 - Added override for filters on xfer calls, fixed login display bug +# 50909-1243 - Added hotkeys functionality for quick dispoing in auto-dial mode +# 50912-0958 - Modified hotkeys function, agent must have user_level >= 5 to use +# 50913-1212 - Added campaign_cid to 3rd party calls +# 50923-1546 - Modified to work with language translation +# 50926-1656 - Added campaign pull-down at login of active campaigns +# 50928-1633 - Added manual dial alternate number dial option +# 50930-1538 - Added session_id empty login failure and fixed 2 minor bugs +# 51004-1656 - Fixed recording filename bug and new Spanish translation +# 51020-1103 - Added campaign-specific recording control abilities +# 51020-1352 - Added Basic vicidial_agent_log framework +# 51021-1050 - Fixed custtime display and disable Enter/Return keypresses +# 51021-1718 - Allows for multi-line comments (changes \n to !N in database) +# 51110-1432 - Fixed non-standard http port issue +# 51111-1047 - Added vicidial_agent_log lead_id earlier for manual dial +# 51118-1305 - Activate multi-line comments from $multi_line_comments var +# 51118-1313 - Move Transfer DIV to a floating span to preserve 800x600 view +# 51121-1506 - Small PHP optimizations in many scripts and disabled globalize +# 51129-1010 - Added ability to accept calls from other VICIDIAL servers +# 51129-1254 - Fixed Hangups of other agents channels when customer hangs up +# 51208-1732 - Created user-first login that looks for default phone info +# 51219-1526 - Added variable framework for campaign and in-group scripts +# 51221-1200 - Added SCRIPT tab, layout and functionality +# 51221-1714 - Added auto-switch-to-SCRIPT-tab and auto-webform-popup +# 51222-1605 - Added VMail message blind transfer button to xfer-conf frame +# 51229-1028 - Added checks on web_form_address to allow for var in the DB value +# 60117-1312 - Added Transfer-conf frame toggle on button press +# 60208-1152 - Added DTMF-xfernumber preset links to xfer-conf frame +# 60213-1129 - Added vicidial_users.hotkeys_active for any user hotkeys +# 60213-1210 - Added ability to sort routing of calls by user_level +# 60214-0932 - Initial Callback calendar display framework +# 60214-1407 - Added ability to minimize the dispo screen to see info below +# 60215-1104 - Added ANYONE scheduled callbacks functionality +# 60410-1116 - Added persistant pause after dispo option and change dispo text +# - Added web form submit that opens new window with dispo on submit +# - Added PREVIOUS CALLBACK in customer info to flag callbacks +# - Added link to try to hangup the call again in the dispo screen +# - Added link noone-in-session screen to call agent phone again +# - Added link customer-hungup screen to go straight to dispo screen +# 60410-1532 - Added agent status and campaign calls dialing display option +# 60411-1547 - Add ability to set callback as USERONLY and some basic formatting +# 60413-1752 - Add basic USERONLY callback frame and listings +# 60414-1039 - Changed manual dial preview and alt dial checkboxes to spans +# - Added beta-level USERONLY callback functionality +# - Added beta-level manual dialing with lead insertion functionality +# 60415-1534 - Fixed manual dial lead preview and fixed manuald dial override bug +# 60417-1108 - Added capability to do alt-number-dialing in auto-dial mode +# - Changed several permissions to database-defined +# 60419-1529 - Prevent manual dial or callbacks when alt-dial lead not finished +# 60420-1647 - Fixed DiaLDiaLAltPhonE error, Call Agent Again DialControl error +# 60421-1229 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60424-1005 - Fixed Alt phone disabled bug for callbacks and manual dials +# 60426-1058 - Added vicidial_user setting for default blended check for CLOSER +# 60501-1008 - Added option to manual dial screen to manually lookup phone number +# 60503-1653 - Fixed agentonly_callback not-defined bug in scheduled callbacks screen +# 60504-1032 - Fixed manual dial display bug and transfer dispo alert bug +# - Fixed recording filename display to not overrun 25 characters +# 60510-1051 - Added Wrapup timer and wrapup message on wrapup screen after dispo +# 60608-1453 - Added CLOSER campaign allowable in-groups limitations +# 60609-1123 - Added add-number-to-DNC-list function and manual dial check DNC +# 60619-1047 - Added variable filters to close security holes for login form +# 60804-1710 - fixed scheduled CALLBK for other languages build +# 60808-1145 - Added consultative transfers with customer data +# 60808-2232 - Added campaign name to pulldown for login screen +# 60809-1603 - Added option to locally transfer consult xfers +# 60809-1732 - Added recheck of transferred channels before customer gone mesg +# 60810-1011 - Fixed CXFER leave 3way call bugs +# 60816-1602 - Added ALLCALLS recording delay option allcalls_delay +# 60816-1716 - Fixed customer time display bug and client DST setting +# 60821-1555 - Added option to omit phone_code on dialout of leads +# 60821-1628 - Added ALLFORCE recording option +# 60821-1643 - Added no_delete_sessions option to not delete sessions +# 60822-0512 - Changed phone number fields to be maxlength of 12 +# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# 60906-1152 - Added Previous CallBack info display span +# 60906-1715 - Allow for Local phone extension conferences +# 61004-1729 - Add ability to control volume per channel in "calls in this session" +# 61122-1341 - Added vicidial_user_groups allowed_campaigns restrictions +# 61122-1523 - Added more SCRIPT variables +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61221-1212 - Changed width to 760 to better fit 800x600 screens, widened SCRIPT +# 70109-1128 - Fixed wrapup timer bug +# 70109-1635 - Added option for HotKeys automatically dialing next number in manual mode +# - Added option for alternate number dialing with hotkeys +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70118-1517 - Added vicidial_agent_log and vicidial_user_log logging of user_group +# 70201-1249 - Added FAST DIAL option for manually dialing, added UTF8 compatible code +# 70201-1703 - Fixed cursor bug for most text input fields +# 70202-1453 - Added first portions of Agent Pause Codes +# 70203-0108 - Finished Agent Pause Codes functionality +# 70203-0930 - Added dialed_number to webform output +# 70203-1010 - Added dialed_label to webform output +# 70206-1201 - Fixed allow_closers bug +# 70206-1332 - Added vicidial_recording_override users setting function +# 70212-1252 - Fixed small issue with CXFER +# 70213-1018 - Changed CXFER and AXFER to update customer information before transfer +# 70214-1233 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1240 - Added queuemetrics_log_id field for server_id in queue_log +# 70222-1617 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70226-1252 - Added Mute/UnMute to agent screen +# 70309-1035 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70316-1406 - Moved the MUTE button to be accessible during a transfer/conf +# 70319-1446 - Added agent-deactive-display and disable customer info update functions +# 70319-1626 - Added option to allow agent logins to campaigns with no leads in the hopper +# 70320-1501 - Added option to allow retry of leave-3way-call from dispo screen +# 70322-1545 - Added sipsak display ability +# 70510-1319 - Added onUnload force Logout +# 70806-1530 - Added Presets Dial links above agent mute button +# 70823-2118 - Fixed XMLHTTPRequest, HotKeys and Scheduled Callbacks issues with MSIE +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71022-1427 - Added formatting of the customer phone number in the main status bar +# 71029-1848 - Changed CLOSER-type campaign to not use campaign_id restrictions +# 71101-1204 - Fixed bug in callback calendar with DST +# 71116-0957 - Added campaign_weight and calls_today to the vla table insertion +# 71120-1719 - Added XMLHTPRequest lookup of allowable campaigns for agents during login +# 71122-0256 - Added auto-pause notification +# 71125-1751 - Changed Transfer section to allow for selection of in-groups to send calls to +# 71127-0408 - Added height and width settings for easier modification of screen size +# 71129-2025 - restricted callbacks count and list to campaign only +# + +$version = '2.0.4-142'; +$build = '71129-2025'; + +require("dbconnect.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["VD_login"])) {$VD_login=$_GET["VD_login"];} + elseif (isset($_POST["VD_login"])) {$VD_login=$_POST["VD_login"];} +if (isset($_GET["VD_pass"])) {$VD_pass=$_GET["VD_pass"];} + elseif (isset($_POST["VD_pass"])) {$VD_pass=$_POST["VD_pass"];} +if (isset($_GET["VD_campaign"])) {$VD_campaign=$_GET["VD_campaign"];} + elseif (isset($_POST["VD_campaign"])) {$VD_campaign=$_POST["VD_campaign"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + if (isset($VD_campaign)) + { + $VD_campaign = strtoupper($VD_campaign); + $VD_campaign = eregi_replace(" ",'',$VD_campaign); + } + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); + $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); + $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); + + +$forever_stop=0; + +if ($force_logout) +{ + echo "Você fez o logoff. Obrigado\n"; + exit; +} + +$isdst = date("I"); +$StarTtimE = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$tsNOW_TIME = date("YmdHis"); +$FILE_TIME = date("Ymd-His"); +$CIDdate = date("ymdHis"); + $month_old = mktime(11, 0, 0, date("m"), date("d")-2, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + + +$random = (rand(1000000, 9999999) + 10000000); + +$conf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently +$HKuser_level = '5'; # minimum vicidial user_level for HotKeys +$campaign_login_list = '1'; # show drop-down list of campaigns at login +$manual_dial_preview = '1'; # allow preview lead option when manual dial +$multi_line_comments = '1'; # set to 1 to allow multi-line comment box +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the phone login +$view_scripts = '1'; # set to 1 to show the SCRIPTS tab +$dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo +$agentcallsstatus = '0'; # set to 1 to show agent status and call count + $campagentstatctmax = '0'; # Number of segundos for campaign call and agent stats +$show_campname_pulldown = '1'; # set to 1 to show campaign nameligadologin pulldown +$webform_sessionname = '1'; # set to 1 to include the session_name in webform URL +$local_consult_xfers = '1'; # set to 1 to send consultative transfers from original server +$clientDST = '1'; # set to 1 to check for DSTligadoserver for agent time +$no_delete_sessions = '0'; # set to 1 to not delete sessions at logout +$volumecontrol_active = '1'; # set to 1 to allow agents to alter volume of channels +$PreseT_DiaL_LinKs = '1'; # set to 1 to show a DISCAR link for Dial Presets +$LogiNAJAX = '1'; # set to 1 to do lookups +$HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from "session calls" + +$TEST_all_statuses = '0'; # TEST variable allows all statuses in dispo screen + +$BROWSER_HEIGHT = 500; # set to the minimum browser height, default=500 +$BROWSER_WIDTH = 770; # set to the minimum browser width, default=770 + + +# options now set in DB: +#$alt_phone_dialing = '1'; # allow agents to call alt phone numbers +#$scheduled_callbacks = '1'; # set to 1 to allow agent to choose scheduled callbacks +# $agentonly_callbacks = '1'; # set to 1 to allow agent to choose agent-only scheduled callbacks +#$agentcall_manual = '1'; # set to 1 to allow agent to make manual calls during autodial session + +### SCREEN WIDTH AND HEIGHT CALCULATIONS ### +### DO NOT EDIT! ### +$MASTERwidth=($BROWSER_WIDTH - 340); +$MASTERheight=($BROWSER_HEIGHT - 200); +if ($MASTERwidth < 430) {$MASTERwidth = '430';} +if ($MASTERheight < 300) {$MASTERheight = '300';} + +$CAwidth = ($MASTERwidth + 340); # 770 - cover all (none-in-session, customer hunngup, etc...) +$MNwidth = ($MASTERwidth + 330); # 760 - main frame +$XFwidth = ($MASTERwidth + 320); # 750 - transfer/conference +$HCwidth = ($MASTERwidth + 310); # 740 - hotkeys and callbacks +$AMwidth = ($MASTERwidth + 270); # 700 - agent mute and preset-dial links +$SSwidth = ($MASTERwidth + 176); # 606 - scroll script +$SDwidth = ($MASTERwidth + 170); # 600 - scroll script, customer data and calls-in-session +$HKwidth = ($MASTERwidth + 70); # 500 - Hotkeys button +$HSwidth = ($MASTERwidth + 1); # 431 - Header spacer + +$HKheight = ($MASTERheight + 105); # 405 - HotKey active Button +$AMheight = ($MASTERheight + 100); # 400 - Agent mute and preset dial links +$MBheight = ($MASTERheight + 65); # 365 - Manual Dial Buttons +$CBheight = ($MASTERheight + 50); # 350 - Agent Callback, pause code, volume control Buttons and agent status +$SSheight = ($MASTERheight + 31); # 331 - script content +$HTheight = ($MASTERheight + 10); # 310 - transfer frame, callback comments and hotkey +$BPheight = ($MASTERheight - 250); # 50 - bottom buffer + + +$US='_'; +$CL=':'; +$AT='@'; +$DS='-'; +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = eregi_replace('vicidial.php','',$agcPAGE); + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ($campaign_login_list > 0) +{ +$camp_form_code = "\n"; +} +else +{ +$camp_form_code = "\n"; +} + + +if ($LogiNAJAX > 0) +{ +?> + + + +VICIDISCAR web client: Re-Login\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Brazil
\n"; +echo "
\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Re-Login
 
Login do Telefone:
Senha do Telefone:
Login do Usuário:
Senha do Usuário:
Campanha: $camp_form_code

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} + +if ($user_login_first == 1) +{ + if ( (strlen($VD_login)<1) or (strlen($VD_pass)<1) or (strlen($VD_campaign)<1) ) + { + echo "VICIDISCAR web client: Login da Campanha\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Brazil
\n"; + echo "
\n"; + echo "\n"; + #echo "\n"; + #echo "\n"; + echo "

Login do Usuário

"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login da Campanha
 
Login do Usuário:
Senha do Usuário:
Campanha: $camp_form_code
  \n"; + echo "

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + echo "VICIDISCAR web client: Login\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Brazil
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login
 
Login do Telefone:
Senha do Telefone:
Login do Usuário:
Senha do Usuário:
Campanha: $camp_form_code
  \n"; + echo "

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + + } + } +} + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "VICIDISCAR web client: Login do Telefone\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Brazil
\n"; +echo "
\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Login do Telefone
 
Login do Telefone:
Senha do Telefone:
  \n"; +echo "

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./vicidial_auth_entries.txt", "a");} +$VDloginDISPLAY=0; + + if ( (strlen($VD_login)<2) or (strlen($VD_pass)<2) or (strlen($VD_campaign)<2) ) + { + $VDloginDISPLAY=1; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if($auth>0) + { + $login=strtoupper($VD_login); + $password=strtoupper($VD_pass); + ##### grab the full name of the agent + $stmt="SELECT full_name,user_level,hotkeys_active,agent_choose_ingroups,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,closer_default_blended,user_group,vicidial_recording_override from vicidial_users where user='$VD_login' and pass='$VD_pass'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $user_level=$row[1]; + $VU_hotkeys_active=$row[2]; + $VU_agent_choose_ingroups=$row[3]; + $VU_scheduled_callbacks=$row[4]; + $agentonly_callbacks=$row[5]; + $agentcall_manual=$row[6]; + $VU_vicidial_recording=$row[7]; + $VU_vicidial_transfers=$row[8]; + $VU_closer_default_blended=$row[9]; + $VU_user_group=$row[10]; + $VU_vicidial_recording_override=$row[11]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|GOOD|$date|$VD_login|$VD_pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + $user_abb = "$VD_login$VD_login$VD_login$VD_login"; + while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns =$row[0]; + + if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) + { + echo "VICIDISCAR web client: VICIDISCAR Login da Campanha\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Brazil
\n"; + echo "Sorry, you are not allowed to login to this campaign: $VD_campaign\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Login: \n
"; + echo "Senha:
\n"; + echo "Campanha: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + ##### check to see that the campaign is active + $stmt="SELECT count(*) FROM vicidial_campaigns where campaign_id='$VD_campaign' and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $CAMPactive=$row[0]; + if($CAMPactive>0) + { + if ($TEST_all_statuses > 0) {$selectableSQL = '';} + else {$selectableSQL = "selectable='Y' and";} + $VARstatuses=''; + $VARstatusnames=''; + ##### grab the statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_statuses WHERE $selectableSQL status != 'NEW' order by status limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_statuses_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $VD_statuses_ct) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + } + + ##### grab the campaign-specific statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_campaign_statuses WHERE $selectableSQL status != 'NEW' and campaign_id='$VD_campaign' order by status limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_statuses_camp = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + $j++; + } + $VD_statuses_ct = ($VD_statuses_ct+$VD_statuses_camp); + $VARstatuses = substr("$VARstatuses", 0, -1); + $VARstatusnames = substr("$VARstatusnames", 0, -1); + + ##### grab the campaign-specific HotKey statuses that can be used for dispositioning by an agent + $stmt="SELECT hotkey,status,status_name FROM vicidial_campaign_hotkeys WHERE selectable='Y' and status != 'NEW' and campaign_id='$VD_campaign' order by hotkey limit 9;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $HK_statuses_camp = mysql_num_rows($rslt); + $w=0; + $HKboxA=''; + $HKboxB=''; + $HKboxC=''; + while ($w < $HK_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $HKhotkey[$w] =$row[0]; + $HKstatus[$w] =$row[1]; + $HKstatus_name[$w] =$row[2]; + $HKhotkeys = "$HKhotkeys'$HKhotkey[$w]',"; + $HKstatuses = "$HKstatuses'$HKstatus[$w]',"; + $HKstatusnames = "$HKstatusnames'$HKstatus_name[$w]',"; + if ($w < 3) + {$HKboxA = "$HKboxA $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + if ( ($w >= 3) and ($w < 6) ) + {$HKboxB = "$HKboxB $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + if ($w >= 6) + {$HKboxC = "$HKboxC $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + $w++; + } + $HKhotkeys = substr("$HKhotkeys", 0, -1); + $HKstatuses = substr("$HKstatuses", 0, -1); + $HKstatusnames = substr("$HKstatusnames", 0, -1); + + ##### grab the statuses to be dialed for your campaign as well as other campaign settings + $stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups FROM vicidial_campaigns where campaign_id = '$VD_campaign';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $park_ext = $row[0]; + $park_file_name = $row[1]; + $web_form_address = $row[2]; + $allow_closers = $row[3]; + $auto_dial_level = $row[4]; + $dial_timeout = $row[5]; + $dial_prefix = $row[6]; + $campaign_cid = $row[7]; + $campaign_vdad_exten = $row[8]; + $campaign_rec_exten = $row[9]; + $campaign_recording = $row[10]; + $campaign_rec_filename = $row[11]; + $campaign_script = $row[12]; + $get_call_launch = $row[13]; + $campaign_am_message_exten = $row[14]; + $xferconf_a_dtmf = $row[15]; + $xferconf_a_number = $row[16]; + $xferconf_b_dtmf = $row[17]; + $xferconf_b_number = $row[18]; + $alt_number_dialing = $row[19]; + $VC_scheduled_callbacks = $row[20]; + $wrapup_segundos = $row[21]; + $wrapup_message = $row[22]; + $closer_campaigns = $row[23]; + $use_internal_dnc = $row[24]; + $allcalls_delay = $row[25]; + $omit_phone_code = $row[26]; + $agent_pause_codes_active = $row[27]; + $no_hopper_leads_logins = $row[28]; + $campaign_allow_inbound = $row[29]; + $manual_dial_list_id = $row[30]; + $default_xfer_group = $row[31]; + $xfer_groups = $row[32]; + + if ( (!ereg('DISABLED',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) + { + $campaign_recording = $VU_vicidial_recording_override; + print "\n"; + } + if ( ($VC_scheduled_callbacks=='Y') and ($VU_scheduled_callbacks=='1') ) + {$scheduled_callbacks='1';} + if ($VU_vicidial_recording=='0') + {$campaign_recording='NEVER';} + if ($alt_number_dialing=='Y') + {$alt_phone_dialing='1';} + else + {$alt_phone_dialing='0';} + $closer_campaigns = preg_replace("/^ | -$/","",$closer_campaigns); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + if ($agent_pause_codes_active=='Y') + { + ##### grab the pause codes for this campaign + $stmt="SELECT pause_code,pause_code_name FROM vicidial_pause_codes WHERE campaign_id='$VD_campaign' order by pause_code limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_pause_codes = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_pause_codes) + { + $row=mysql_fetch_row($rslt); + $pause_codes[$i] =$row[0]; + $pause_code_names[$i] =$row[1]; + $VARpause_codes = "$VARpause_codes'$pause_codes[$i]',"; + $VARpause_code_names = "$VARpause_code_names'$pause_code_names[$i]',"; + $i++; + $j++; + } + $VD_pause_codes_ct = ($VD_pause_codes_ct+$VD_pause_codes); + $VARpause_codes = substr("$VARpause_codes", 0, -1); + $VARpause_code_names = substr("$VARpause_code_names", 0, -1); + } + + ##### grab the inbound groups to choose from if campaign contains CLOSER + $VARingroups="''"; + if ($campaign_allow_inbound == 'Y') + { + $VARingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 60;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $closer_ct = mysql_num_rows($rslt); + $INgrpCT=0; + while ($INgrpCT < $closer_ct) + { + $row=mysql_fetch_row($rslt); + $closer_groups[$INgrpCT] =$row[0]; + $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $INgrpCT++; + } + $VARingroups = substr("$VARingroups", 0, -1); + } + + ##### grab the allowable inbound groups to choose from for transfer options + $xfer_groups = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groups = preg_replace("/ /","','",$xfer_groups); + $xfer_groups = "'$xfer_groups'"; + $VARxfergroups="''"; + if ($allow_closers == 'Y') + { + $VARxfergroups=''; + $stmt="select group_id,group_name from vicidial_inbound_groups where active = 'Y' and group_id IN($xfer_groups) order by group_id limit 60;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $xfer_ct = mysql_num_rows($rslt); + $XFgrpCT=0; + while ($XFgrpCT < $xfer_ct) + { + $row=mysql_fetch_row($rslt); + $VARxfergroups = "$VARxfergroups'$row[0]',"; + $VARxfergroupsnames = "$VARxfergroupsnames'$row[1]',"; + if ($row[0] == "$default_xfer_group") {$default_xfer_group_name = $row[1];} + $XFgrpCT++; + } + $VARxfergroups = substr("$VARxfergroups", 0, -1); + $VARxfergroupsnames = substr("$VARxfergroupsnames", 0, -1); + } + + ##### grab the number of leads in the hopper for this campaign + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id = '$VD_campaign' and status='READY';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $campaign_leads_to_call = $row[0]; + print "\n"; + + } + else + { + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "A campanha não está ativa, por favor tente novamente
"; + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|FAIL|$date|$VD_login|$VD_pass|$ip|$browser|\n"); + fclose($fp); + } + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "Usuário incorreto, por favor tente novamente
"; + } + } + if ($VDloginDISPLAY) + { + echo "VICIDISCAR web client: Login da Campanha\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Brazil
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

$VDdisplayMESSAGE

"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login da Campanha
 
Login do Usuário:
Senha do Usuário:
Campanha: $camp_form_code
  \n"; + echo "

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + +$authphone=0; +$stmt="SELECT count(*) from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "VICIDISCAR web client: Login do Telefone Error\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Brazil
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login Error
 
Desculpe seu login de telefone e senha não estão ativos nesta campanha, por favor tente novamente:
 
Login do Telefone:
Senha do Telefone:

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { + echo "VICIDISCAR web client\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $login=$row[6]; + $pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $CallerID_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $enable_sipsak_messages=$row[66]; + + if ($clientDST) + { + $local_gmt = ($local_gmt + $isdst); + } + if ($protocol == 'EXTERNAL') + { + $protocol = 'Local'; + $extension = "$dialplan_number$AT$ext_context"; + } + $SIP_user = "$protocol/$extension"; + + $stmt="SELECT asterisk_version from servers where server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $asterisk_version=$row[0]; + + # If a park extension is not set, use the default one + if ( (strlen($park_ext)>0) && (strlen($park_file_name)>0) ) + { + $VICIDiaL_park_on_extension = "$park_ext"; + $VICIDiaL_park_on_filename = "$park_file_name"; + print "\n"; + } + print "\n"; + + # If a web form address is not set, use the default one + if (strlen($web_form_address)>0) + { + $VICIDiaL_web_form_address = "$web_form_address"; + print "\n"; + } + else + { + $VICIDiaL_web_form_address = "$VICIDiaL_web_URL"; + print "\n"; + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + } + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + # If closers are allowedligadothis campaign + if ($allow_closers=="Y") + { + $VICIDiaL_allow_closers = 1; + print "\n"; + } + else + { + $VICIDiaL_allow_closers = 0; + print "\n"; + } + + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtimE$US$session_ext$session_rand"; + + if ($webform_sessionname) + {$webform_sessionname = "&session_name=$session_name";} + else + {$webform_sessionname = '';} + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'vicidial';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','vicidial','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + if ( ($campaign_allow_inbound == 'Y') || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + { + ### insert an entry into the user log for the login event + $stmt = "INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$VD_login','LOGIN','$VD_campaign','$NOW_TIME','$StarTtimE','$VU_user_group')"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly + $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $prev_login_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $prev_login_ct) + { + $row=mysql_fetch_row($rslt); + $session_id =$row[0]; + $i++; + } + if ($prev_login_ct > 0) + {print "\n";} + else + { + ##### grab the next available vicidial_conference room and reserve it + $stmt="SELECT conf_exten FROM vicidial_conferences where server_ip = '$server_ip' and ((extension='') or (extension is null)) LIMIT 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $free_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $free_conf_ct) + { + $row=mysql_fetch_row($rslt); + $session_id =$row[0]; + $i++; + } + $stmt="UPDATE vicidial_conferences set extension='$SIP_user' where server_ip='$server_ip' and conf_exten='$session_id';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + print "\n"; + + } + + $stmt="UPDATE vicidial_list set status='N', user='' where status IN('QUEUE','INCALL') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_hopper where status IN('QUEUE','INCALL','DONE') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_inbound_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + # print "You have logged in as user: $VD_loginligadophone: $SIP_userpara a campanha: $VD_campaign
\n"; + $VICIDiaL_is_logged_in=1; + + ### set the callerID for manager middleware-app to connect the phone to the user + $SIqueryCID = "S$CIDdate$session_id"; + + ############################################# + ##### INICIAR SYSTEM_SETTINGS LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,vicidial_agent_disable,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $vicidial_agent_disable = $row[6]; + $allow_sipsak_messages = $row[7]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$VD_campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $SIqueryCID = "$SIPSAK_prefix$VD_campaign$DS$CIDdate"; + } + + ### insert a NOVO record to the vicidial_manager table to be processed + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $SIP_user','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: $SIqueryCID','','','','','');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($auto_dial_level > 0) + { + print "\n"; + + ##### grab the campaign_weight and number of calls todayligadothat campaign for the agent + $stmt="SELECT campaign_weight,calls_today FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vca_ct = mysql_num_rows($rslt); + if ($vca_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_weight = $row[0]; + $calls_today = $row[1]; + $i++; + } + else + { + $campaign_weight = '0'; + $calls_today = '0'; + $stmt="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) values('$VD_login','$VD_campaign','0','0','$calls_today');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + } + $closer_chooser_string=''; + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,closer_campaigns,user_level,campaign_weight,calls_today) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$closer_chooser_string','$user_level','$campaign_weight','$calls_today');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='$VD_campaign',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PAUSARALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + + + if ($campaign_allow_inbound == 'Y') + { + print "\n"; + } + } + else + { + print "\n"; + + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,user_level) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$user_level');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='$VD_campaign',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PAUSARALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + } + } + else + { + echo "VICIDISCAR web client: VICIDISCAR Login da Campanha\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Brazil
\n"; + echo "Desculpe, não existem registros na fila de discagem\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Login: \n
"; + echo "Senha:
\n"; + echo "Campanha: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + if (strlen($session_id) < 1) + { + echo "VICIDISCAR web client: VICIDISCAR Login da Campanha\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Brazil
\n"; + echo "Sorry, there are no available sessions\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Login: \n
"; + echo "Senha:
\n"; + echo "Campanha: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + if (ereg('MSIE',$browser)) + { + $useIE=1; + print "\n"; + } + else + { + $useIE=0; + print "\n"; + } + + $StarTtimE = date("U"); + $NOW_TIME = date("Y-m-d H:i:s"); + ##### Agent is going to log in so insert the vicidial_agent_log entry now + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group,sub_status) values('$VD_login','$server_ip','$NOW_TIME','$VD_campaign','$StarTtimE','0','$StarTtimE','$VU_user_group','LOGIN');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + print "\n"; + + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $server_ip_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S"; + + ##### grab the datails of all active scripts in the system + $stmt="SELECT script_id,script_name,script_text FROM vicidial_scripts WHERE active='Y' order by script_id limit 100;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $MM_scripts = mysql_num_rows($rslt); + $e=0; + while ($e < $MM_scripts) + { + $row=mysql_fetch_row($rslt); + $MMscriptid[$e] =$row[0]; + $MMscriptname[$e] = rawurlencode($row[1]); + $MMscripttext[$e] = rawurlencode($row[2]); + $MMscriptids = "$MMscriptids'$MMscriptid[$e]',"; + $MMscriptnames = "$MMscriptnames'$MMscriptname[$e]',"; + $MMscripttexts = "$MMscripttexts'$MMscripttext[$e]',"; + $e++; + } + $MMscriptids = substr("$MMscriptids", 0, -1); + $MMscriptnames = substr("$MMscriptnames", 0, -1); + $MMscripttexts = substr("$MMscripttexts", 0, -1); + + } +} + +################################################################ +### BEGIN - build the callback calendar (12 months) ### +################################################################ +define ('ADAY', (60*60*24)); +$CdayARY = getdate(); +$Cmon = $CdayARY['mon']; +$Cyear = $CdayARY['year']; +$CTODAY = date("Y-m"); +$CTODAYmday = date("j"); +$CINC=0; + +$Cmonths = Array('Janeiro','February','Março','Abril','Pode','Junho', + 'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'); +$Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); + +$CCAL_OUT = ''; + +$CCAL_OUT .= ""; + +while ($CINC < 12) +{ +if ( ($CINC == 0) || ($CINC == 4) ||($CINC == 8) ) + {$CCAL_OUT .= "";} + +$CCAL_OUT .= ""; + +if ( ($CINC == 3) || ($CINC == 7) ||($CINC == 11) ) + {$CCAL_OUT .= "";} +$CINC++; +} + +$CCAL_OUT .= "
"; + +$CYyear = $Cyear; +$Cmonth= ($Cmon + $CINC); +if ($Cmonth > 12) + { + $Cmonth = ($Cmonth - 12); + $CYyear++; + } +$Cstart= mktime(11,0,0,$Cmonth,1,$CYyear); +$CfirstdayARY = getdate($Cstart); +#echo "|$Cmon|$Cmonth|$CINC|\n"; +$CPRNTDAY = date("Y-m", $Cstart); + +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; + +foreach($Cdays as $Cday) +{ + $CDCLR="#ffffff"; +$CCAL_OUT .= ""; +} + +for( $Ccount=0;$Ccount<(6*7);$Ccount++) +{ + $Cdayarray = getdate($Cstart); + if((($Ccount) % 7) == 0) + { + if($Cdayarray['mon'] != $CfirstdayARY['mon']) + break; + $CCAL_OUT .= ""; + } + if($Ccount < $CfirstdayARY['wday'] || $Cdayarray['mon'] != $Cmonth) + { + $CCAL_OUT .= ""; + } + else + { + if( ($Cdayarray['mday'] == $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + else + { + $CDCLR="#ffffff"; + if ( ($Cdayarray['mday'] < $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CDCLR="#CCCCCC"; + $CBL = ''; + $CEL = ''; + } + else + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + } + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + } +} +$CCAL_OUT .= ""; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "$Cday"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
 "; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; + +#echo "$CCAL_OUT\n"; +################################################################ +### END - build the callback calendar (12 months) ### +################################################################ + + +?> + + + + +\n"; + + +?> + +
+ + MARGINWIDTH=0 MARGINHEIGHT=0 LEFTMARGIN=0 TOPMARGIN=0 VALIGN=TOP ALIGN=LEFT> +
+ + + +SAIR\n"; ?> +
+
+ + + height=30> + + + + + +
VICIDISCARSCRIPT VALIGN=MIDDLE ALIGN=CENTER>   LIVE    ID da sessão: Chamadas Ativas
+
+ + + + + height=>

VICIDISCAR
+
+ + +DISCAGEM MANUAL       SELETOR RÁPIDO
+
+ + +X AGENDAMENTOS ATIVOS
+
+ + +
+
+ + + D1 - DISCAR\n"; + echo "
\n"; + echo "D2 - DISCAR\n"; + } + else {echo "
\n";} + ?> +

+
+
+ + + height=460>
AGENDAMENTOS POR AGENTE :
Clique em um dos contatos abaixo para ligar. Se você clicar em um contatos abaixo o mesmo será removido da lista de Agendamentos. +
+
+
  + Atualizar +                 + Voltar +
+
+ + + height=460>
NOVA DISCAGEM MANUAL PARA :

Digite abaixo a informação do novo contato que você deseja ligar. +
+ \n"; + } + ?> + Note: all new manual dial leads will go into list

+ + + + + + + + + + + + + + + +
Codigo de Área:   (Normalmente é 1 nos EUA-Canada)
Telefone Number: +   (12 digits max - digits only) +
Ligações Existentes Da Busca:   (Esta opção se verificado tentará encontrar o número de telefone no sistema antes de introduzi-lo como uma ligação nova)


Se você deseja ligar para um número que não está na lista de contatos, digite o número que voc6e deseja discar no campo Discagem Sobreposta abaixo. Para desligar essa ligação você deve abrir o link Ligações em sua sessão link no rodapé da página e desligar clicando no link do canal.
 
Discagem Sobreposta:   (digitos apenas por favor) +
+
+ Discar Agora +                 + Voltar +
+
+ + + +
+
+ + + + +Your Status:
Calls Dialing: +
+ + + + + > + +
+
+ + Transferir a conferência
+ + + CLOSER LOCAL + Desligar linha Xfer + Desligar ambas as linhas + +
+ + Número a ser discado   + + DISCAGEM SOBREPOSTA   + ABANDONAR CHAMADA A TRES + Transferência sem acompanhamento + D1 + D2 + +
+ + segundos   + channel + Discar com o cliente + Colocar chamada do cliente em espera + Blind Transfer VMail Message +
+
+
+
+ + + + height=70> + +
Status da ligação definida como:

+ -
+
+
+ + + height=70> + + + + +
Atalhos para os status: + Quanto ativo apenas pressione a tecla do teclado referente ao status desejado. A ligação será desligada e salva com o status definido automaticamemente:
+ + + + + +
+
+ + + height=70> + + + + + + +
Informação Precedente Da Rechamada: close
+
+
+
+
+ +
+
+ + + height=500>
Não existe ninguem na sua sessão:
+ Voltar +

+ Ligar novamente para o agente +
+
+ + + height=500>
O cliente desligou:
+ Voltar +

+ Finalize e coloque o status da ligação + +
+
+ + + height=550>
Chamada Wrapup: segundos restantes no wrapup

+ +

+ Revestimento Wrapup e movimento sobre + +
+
+ + + height=500>
Sua sessão foi incapacitada
SAIR

Voltar +
+
+ + + height=500>

SAIR
+
+ + +
+
+ + +
 
+
+ + + height=47>
Qualquer alteração feita nesta página não será salva. Você deve mudar as informações do cliente antes de desligar a ligação.
+
+ + + height=460>
SELEÇÃO DE STATUS :       Desligue novamente       minimizar
+ Fim da seleção de status +
+ PAUSAR DISCAGEM DO AGENTE
+ LIMPAR FORMULARIO | + ENVIAR +

+ WEB FORM ENVIAR +

  +
+
+ + + height=460>
SELECIONE Um CÓDIGO Da PAUSA :
+ Pausa Code Selection + +

  +
+
+ + + height=460>
Selecione uma data para o retorno :
+ + + Selecione uma data abaixo   +     + Hour: +   + Minutes: +   + +  
+ ESTE AGENDAMENTO SO APARECE PARA MIM
";} + ?> + Comentarios do CB:

+ + ENVIAR

+ +

  +
+
+ + + height=460>
SELECAO DO GRUPO DE ENTRADA DO CLOSER
+ Seleção do grupo de entrada do closer +
+ LIGACAO MISTURADA(ligações externas ativadas)
+ REINICIAR | + ENVIAR +



  +
+
+ + + + Canal + Canal + ESTE AGENDAMENTO SO APARECE PARA MIM
";} + ?> +
+ + + + height=>
VICIDISCAR SCRIPT
+
+ + + 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> +ATALHOS DE STATUS INATIVOS + + + + +> + + + +
VICIDISCAR web-client version:     CONFIGURAÇÃO:               Servidor:              
+Mostrar informações de discagem do canal

 
+
+ + + +
+
+ + + + + id="MainTable"> + + + + + + + + + + + + + + + +
STATUS:
+
+Discar proximo número
+ VISUALIZAR CONTATO
+ DISCAR TELEFONE ALTERNATIVO
+ + +GRAVANDO ARQUIVO:
+
+
+ID da gravação:
+
+ +Inicia Gravação
+
+Web Form
+
+Colocar em espera
+Transferir a conferência
+
+Desligar Cliente
+
+
Enviar DTMF

+
+
+
align=left valign=top> + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
segundos:   Canal:   Tempo de cliente:
Informações do cliente:
Título:   Primeiro:   MI:  Ultimo:
Endereço1:
Endereço2:   Endereço3:
Cidade:   Estado:   CEP:
Bairro:   ID do Vendedor:
Telefone:   Codigo de Area:   Telefone Alternativo:
Mostrar:   Email:
Comentários: + +\n";} +else + {echo "\n";} +?> + +
+
+ +
+
> + 
+ + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/voicemail_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/voicemail_check.php new file mode 100644 index 00000000..628f19b0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_br/voicemail_check.php @@ -0,0 +1,140 @@ + LICENSE: GPLv2 +### +### This script is designed purely to check whether the voicemail box on the server defined has new and old messages +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $vmail_box - ('101','1234',...) +### + +# changes +# 50422-1147 - First build of script +# 50503-1241 - added session_name checking for extra security +# 50711-1201 - removed HTTP authentication in favor of user/pass vars +# 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1204 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.5'; +$build = '60619-1204'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Usuário/Senha: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Verificar caixa postal"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + $MT[0]=''; + $row=''; $rowx=''; + if (strlen($vmail_box)<1) + { + $channel_live=0; + echo "Caixa Postal $vmail_box não é válido\n"; + exit; + } + else + { + $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $vmails_list = mysql_num_rows($rslt); + $loop_count=0; + while ($vmails_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0]|$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/active_list_refresh.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/active_list_refresh.php new file mode 100644 index 00000000..3cd974e6 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/active_list_refresh.php @@ -0,0 +1,482 @@ + LICENSE: GPLv2 +### +### This script is designed purely to serve updates of the live data to the display scripts +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $ADD - ('1','2','3','4','5') +### - $order - ('asc','desc') +### - $format - ('text','table','menu','selectlist','textarea') +### - $bgcolor - ('#123456','white','black','etc...') +### - $txtcolor - ('#654321','black','white','etc...') +### - $txtsize - ('1','2','3','etc...') +### - $selectsize - ('2','3','4','etc...') +### - $selectfontsize - ('8','10','12','etc...') +### - $selectedext - ('cc100') +### - $selectedtrunk - ('Zap/25-1') +### - $selectedlocal - ('SIP/cc100') +### - $textareaheight - ('8','10','12','etc...') +### - $textareawidth - ('8','10','12','etc...') +### - $field_name - ('extension','busyext','extension_xfer','etc...') +### + +# changes +# 50323-1147 - First build of script +# 50401-1132 - small formatting changes +# 50502-1402 - added field_name as modifiable variable +# 50503-1213 - added session_name checking for extra security +# 50503-1311 - added conferences list +# 50610-1155 - Added NULL check on MySQL results to reduced errors +# 50711-1209 - removed HTTP authentication in favor of user/pass vars +# 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1118 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["order"])) {$order=$_GET["order"];} + elseif (isset($_POST["order"])) {$order=$_POST["order"];} +if (isset($_GET["bgcolor"])) {$bgcolor=$_GET["bgcolor"];} + elseif (isset($_POST["bgcolor"])) {$bgcolor=$_POST["bgcolor"];} +if (isset($_GET["txtcolor"])) {$txtcolor=$_GET["txtcolor"];} + elseif (isset($_POST["txtcolor"])) {$txtcolor=$_POST["txtcolor"];} +if (isset($_GET["txtsize"])) {$txtsize=$_GET["txtsize"];} + elseif (isset($_POST["txtsize"])) {$txtsize=$_POST["txtsize"];} +if (isset($_GET["selectsize"])) {$selectsize=$_GET["selectsize"];} + elseif (isset($_POST["selectsize"])) {$selectsize=$_POST["selectsize"];} +if (isset($_GET["selectfontsize"])) {$selectfontsize=$_GET["selectfontsize"];} + elseif (isset($_POST["selectfontsize"])) {$selectfontsize=$_POST["selectfontsize"];} +if (isset($_GET["selectedext"])) {$selectedext=$_GET["selectedext"];} + elseif (isset($_POST["selectedext"])) {$selectedext=$_POST["selectedext"];} +if (isset($_GET["selectedtrunk"])) {$selectedtrunk=$_GET["selectedtrunk"];} + elseif (isset($_POST["selectedtrunk"])) {$selectedtrunk=$_POST["selectedtrunk"];} +if (isset($_GET["selectedlocal"])) {$selectedlocal=$_GET["selectedlocal"];} + elseif (isset($_POST["selectedlocal"])) {$selectedlocal=$_POST["selectedlocal"];} +if (isset($_GET["textareaheight"])) {$textareaheight=$_GET["textareaheight"];} + elseif (isset($_POST["textareaheight"])) {$textareaheight=$_POST["textareaheight"];} +if (isset($_GET["textareawidth"])) {$textareawidth=$_GET["textareawidth"];} + elseif (isset($_POST["textareawidth"])) {$textareawidth=$_POST["textareawidth"];} +if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} + elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} + +### security strip all non-alphanumeric characters out of the variables ### + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $ADD=ereg_replace("[^0-9]","",$ADD); + $order=ereg_replace("[^0-9a-zA-Z]","",$order); + $format=ereg_replace("[^0-9a-zA-Z]","",$format); + $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); + $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); + $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); + $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); + $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); + $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); + $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); + $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); + $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); + $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); + $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + +# default optional vars if not set +if (!isset($ADD)) {$ADD="1";} +if (!isset($order)) {$order='desc';} +if (!isset($format)) {$format="text";} +if (!isset($bgcolor)) {$bgcolor='white';} +if (!isset($txtcolor)) {$txtcolor='black';} +if (!isset($txtsize)) {$txtsize='2';} +if (!isset($selectsize)) {$selectsize='4';} +if (!isset($selectfontsize)) {$selectfontsize='10';} +if (!isset($textareaheight)) {$textareaheight='10';} +if (!isset($textareawidth)) {$textareawidth='20';} + +$version = '0.0.8'; +$build = '60619-1118'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Unzulässig Benutzername/Passwort: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Unzulässig server_ip: |$server_ip| or Unzulässig session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Unzulässig session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='table') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Liste Display: "; +if ($ADD==1) {echo "Live Erweiterungen";} +if ($ADD==2) {echo "Besetzte Erweiterungen";} +if ($ADD==3) {echo "Amtsleitungen";} +if ($ADD==4) {echo "Lokale Erweiterungen";} +if ($ADD==5) {echo "Konferenzen";} +if ($ADD==99999) {echo "HILFE";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ADD=1 display all live extensions on a server +###################### +if ($ADD==1) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'extension';} + if ($format=='table') {echo "\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + +###################### +# ADD=2 display all busy extensions on a server +###################### +if ($ADD==2) +{ + if (!$field_name) {$field_name = 'busyext';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=3 display all busy outside lines(trunks) on a server +###################### +if ($ADD==3) +{ + if (!$field_name) {$field_name = 'trunk';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=4 display all busy Local lines on a server +###################### +if ($ADD==4) +{ + if (!$field_name) {$field_name = 'local';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=5 display all agc-usable conferences on a server +###################### +if ($ADD==5) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'conferences';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='table') {echo "\n";} +if ($format=='table') {echo "\n\n\n";} + +exit; + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/astguiclient.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/astguiclient.php new file mode 100644 index 00000000..7ac371a4 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/astguiclient.php @@ -0,0 +1,2905 @@ + LICENSE: GPLv2 +# +# make sure you have added a user to the vicidial_users MySQL table with at least +# user_level 1 or greater to access this page. Also you need to have the login +# and pass of a phone listed in the asterisk.phones table. The page grabs the +# server info and other details from this login and pass +# +# Other scripts that this application depends on: +# - active_list_refresh.php: displays active/live channels and phones +# - manager_send.php: sends Actions to be executed on Asterisk servers +# - live_exten_check.php: checks to see if user's phone is on a live call +# - call_log_display.php: retrieves log of inbound and outbound calls +# - voicemail_check.php: retrieves counts of new and old messages +# - inbound_popup.php: opens upon live_inbound call coming in +# - conf_exten_check.php: checks to see if and calls are in a specific conf +# - park_calls_display.php: retrieves list of parked calls +# - vdc_db_query.php: Changes values in the DB for non-calling records +# +# CHANGES +# 50215-1356 - Proof-of-concept test of XMLHttpRequest for astGUIclient web +# 50323-1411 - First build version display-only +# 50331-1040 - Second-build, added phone login and hangup/hijack display +# 50401-1006 - Trunk/Local Hangup functions enabled +# 50404-1056 - Trunk/Local Hijack functions enabled +# 50404-1459 - Simple live calls display and grabs updated time from server +# 50405-1221 - Reorganized the display and layers, added some images +# 50406-1005 - Added In/Out call log display to MAIN panel +# 50407-1254 - Start/Stop Recording on live calls enabled +# 50422-1101 - Activated Check Voicemail button and new/old messages count +# 50428-1449 - Added dial from log and basic live_inbound call popup +# 50429-1455 - Modified inbound popup code for IE and to add more functions +# 50502-1442 - Added basic method to transfer live calls somewhere else +# 50503-1205 - Added web_client_sessions entry for more security of subscripts +# 50503-1537 - Added basic conferences display +# 50509-1132 - Added conference connected list and hangup/xfer for them +# 50511-1129 - Added registration of conference rooms and added manual dial +# 50523-1342 - Added Conference recording and send DTMF +# 50523-1622 - Added Local Dial window frame for calling local extensions +# 50524-1456 - Added ability to park call and display number of parked calls +# 50524-1600 - Added ability to display and pickup/hangup/xfer parked calls +# 50525-1224 - Added ability to place outbound call from within conferene +# 50531-1225 - Added ability to do dual transfers to meetme rooms from Main +# 50711-1229 - removed HTTP authentication in favor of user/pass vars +# 50711-1610 - Added Zap monitoring to Trunk/Local Action screens +# 50804-1604 - Minor bug fix in inbound_popup functions +# 50818-1715 - Added pretty login section +# 50913-1137 - Added custom outbound_cid from phones table +# 51110-1430 - Fixed non-standard http port issue +# 60103-1421 - Added code for favorite extensions chooser +# 60104-1347 - Added basic layout for favorites editing frame +# 60105-1124 - Finished Favorites frame and added DB submission +# 60112-1622 - Several formatting changes +# 60421-1357 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1103 - Added variable filters to close security holes for login form +# 60829-1528 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +$version = '2.0.1'; +$build = '60829-1528'; + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + + +if ($force_logout) +{ + if( (strlen($_SERVER['user'])>0) or (strlen($_SERVER['pass'])>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "Sie haben sich abgemeldet. Danke\n"; + exit; +} + +$StarTtime = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd-His"); + $month_old = mktime(0, 0, 0, date("m"), date("d")-7, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$US='_'; +$CL=':'; +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./astguiclient_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = $agcPAGE; +$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); + + if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) + { + header ("Content-type: text/html; charset=utf-8"); + + echo "astGUIclient web client: Login\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Deutsch
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login
 
Benutzer Login:
Benutzer Passwort:
Telefon Login:
Telefon Passwort:

VERSION: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($user); + $password=strtoupper($pass); + $stmt="SELECT full_name,user_level from vicidial_users where user='$user' and pass='$pass'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIWÄHLEN|GOOD|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIWÄHLEN|FAIL|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + } + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "astGUIclient web client: Telefon Login\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Deutsch
\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Telefon Login
 
Telefon Login:
Telefon Passwort:

VERSION: $version       BUILD: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +$authphone=0; +$stmt="SELECT count(*) from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "astGUIclient web client: Telefon Login\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Deutsch
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Telefon Login
 
Ihr Telefon Login ist nicht aktiv, bitte versuchen sie es noch einmal:
 
Telefon Login:
Telefon Passwort:

VERSION: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { + echo "astGUIclient web client\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $phone_login=$row[6]; + $phone_pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $CaLLerID_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $outbound_cid=$row[65]; + + $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtime$US$session_ext$session_rand"; + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'agc';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','agc','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT count(*) from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_present=$row[0]; + if ($favorites_present > 0) + { + $stmt="SELECT extensions_list from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_list=$row[0]; + $h=0; + $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites = explode(',',$favorites_listX); + $favorites_count = count($favorites); + $favorites_listX=''; + + $o=0; + while ($favorites_count > $o) + { + $stmt="SELECT fullname,protocol from phones where extension = '$favorites[$o]' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $favorites_names[$o] = $rowx[0]; + $favorites_listX .= "$rowx[1]/$favorites[$o],"; + $o++; + } + + echo "\n"; + echo "\n"; + } + else + { + echo "\n"; + } + +### gather phone extensions and fullnames for favorites editor ### + $stmt="SELECT extension,fullname from phones where server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $exten_ct = mysql_num_rows($rslt); + $favlistCT=0; + $nofavlistCT=0; + while ($favlistCT < $exten_ct) + { + $row=mysql_fetch_row($rslt); + $favlist[$favlistCT]= "$row[0] - $row[1]"; + $favlistCT++; + } + + } +} + + +?> + + + + + + +\n"; + + +?> + +
+ + + + + + + + + +
+ + +LOGOUT
\n"; ?> +
Haupt BedienfeldAktive Leitungen BedienfeldKonferenz BedienfeldVoicemail checkenLive Anruf
+
+ + +

Logout
+
+ + +
TRUNK AUFLEGEN

+ Active Trunks Menu
+ Amtsleitung auflegen   |   + Amtsleitung übernehmen   |   + Amtsleitung hören   |   + Aktualisieren   |   + Zurück zu Hauptfenster +
+
+ + +
LOKALES AUFLEGEN

+ Aktives Lokales Menü
+ Lokale Leitung auflegen   |   + Lokale Leitung übernehmen   |   + Lokale Leitung hören   |   + Aktualisieren   |   + Zurück zu Hauptfenster +
+
+ + + + + + + +
LIVE ANRUF WEITERLEITEN
Leitung, die verbunden werden soll: Kanal
Erweiterungen:
Extension Menü
+
+ Senden Sie an ausgewählte Extension

+ Senden Sie an ausgewählte Voicemalbox

+ Verbinden mit dieser Nummer:


+ Aktualisieren


+ Zurück zu Hauptfenster

+
Konferenzen:
(Klicken Sie unten auf eine Nummer, um mit einer Konferenz zu verbinden)
Meinen Kanal auch senden
Konferenz Menü
+
+ + + + + +
LOKALER Anruf über Extension
Telefon ruft an von: Kanal
Erweiterungen:
Extension Menü
+
+ Rufe ausgewählte Extension an

+ Rufe ausgewählte Voicemalbox an

+ Aktualisieren


+ Zurück zu Hauptfenster

+
+
+ + +
GEPARKTE ANRUFE:
+ Zurück zu Hauptfenster

+
+
+ + + + + + + + + + + + + + + +
  +
VOICEMAIL     NEU:     ALT:             MANUELLER ANRUF       WÄHLEN
GEPARKTE ANRUFE: 0                LOKALE ANRUF EXTENSIONS
OUTBOUND ANRUFE:
INBOUND ANRUFE:
astGUIclient Web-Client VERSION: BUILD:
+ + + + $h) + { + if (strlen($favorites[$h])>1) + { + echo "\n"; + } + $h++; + } +?> + +
FAVORITEN       bearbeiten
$favorites[$h] - $favorites_names[$h]
 
+
+ + + + + + + +
FAVORITEN

 
FAVORITEN ÄNDERUNGEN ÜBERNEHMEN - erfordert Logout
ZURÜCK ZUM HAUPTFENSTER - Änderungen verwerfen
+
+ +
+ + + + + + + + + + + + + +
+PAUSE | START     Aktualisierungsfrequenz: 1000 ms Schneller | Langsamer

+
Initialisierung..
+
Aktive Erweiterung
+AKTUALISIEREN | +BESTELLEN | +
Amtsleitungen
+AKTUALISIEREN | +BESTELLEN | +
Lokale Erweiterungen
+AKTUALISIEREN | +BESTELLEN | +
+ Daten kommen hier rein

+
+ Daten kommen hier rein

Amtsleitungs Aktion +
+ Daten kommen hier rein

Lokale Aktion +
+
+ + + + +
+ + +Konferenzliste + + + +
+Klicken Sie auf die Konferenzraumnummer links, für Informationen über die Konferenz +
+ + + + + + + + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/call_log_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/call_log_display.php new file mode 100644 index 00000000..42b10ec2 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/call_log_display.php @@ -0,0 +1,196 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send the inbound and outbound calls for a specific phone +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### - $in_limit - ('10','20','50','100',...) +### - $out_limit - ('10','20','50','100',...) +### + +# changes +# 50406-1013 - First build of script +# 50407-1452 - Added definable limits +# 50503-1236 - added session_name checking for extra security +# 50610-1158 - Added NULL check on MySQL results to reduced errors +# 50711-1202 - removed HTTP authentication in favor of user/pass vars +# 60323-1550 - added option for showing different number dialed in log +# 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1202 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($in_limit)) {$in_limit="100";} +if (!isset($out_limit)) {$out_limit="100";} +$number_dialed = 'number_dialed'; +#$number_dialed = 'extension'; + +$version = '0.0.8'; +$build = '60619-1202'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Unzulässig Benutzername/Passwort: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Unzulässig server_ip: |$server_ip| or Unzulässig session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Unzulässig session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Anruf Log Anzeige"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten ist unzulässig oder Protokoll $protocol ist unzulässig\n"; + exit; + } + else + { + ##### print outbound calls from the call_log table + $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} + echo "$out_calls_count|"; + $loop_count=0; + while ($out_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[3] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + + if ($number_dialed == 'extension') {$row[2] = substr($row[2],-10);} + echo "$row[0] ~$row[1] ~$row[2] ~$call_time_MS|"; + } + echo "\n"; + + ##### print inbound calls from the live_inbound_log table + $stmt="SELECT call_log.uniqueid,live_inbound_log.start_time,live_inbound_log.extension,caller_id,length_in_sec from live_inbound_log,call_log where phone_ext='$exten' and live_inbound_log.server_ip = '$server_ip' and call_log.uniqueid=live_inbound_log.uniqueid order by start_time desc limit $in_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} + echo "$in_calls_count|"; + $loop_count=0; + while ($in_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[4] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $callerIDnum = $row[3]; $callerIDname = $row[3]; + $callerIDnum = preg_replace("/.*<|>.*/","",$callerIDnum); + $callerIDname = preg_replace("/\"| <\d*>/","",$callerIDname); + + echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; + } + echo "\n"; + + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/conf_exten_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/conf_exten_check.php new file mode 100644 index 00000000..f6d2cb2b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/conf_exten_check.php @@ -0,0 +1,297 @@ + LICENSE: GPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('refresh','register') +# - $client - ('agc','vdc') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $campagentstdisp - ('YES',...) +# + +# changes +# 50509-1054 - First build of script +# 50511-1112 - Added ability to register a conference room +# 50610-1159 - Added NULL check on MySQL results to reduced errors +# 50706-1429 - script changed to not use HTTP login vars, user/pass instead +# 50706-1525 - Added date-time display for vicidial client display +# 50816-1500 - Added random update to vicidial_live_agents table for vdc users +# 51121-1353 - Altered echo statements for several small PHP speed optimizations +# 60410-1424 - Added ability to grab calls-being-placed and agent status +# 60421-1405 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1201 - Added variable filters to close security holes for login form +# 61128-2255 - Added update for manual dial vicidial_live_agents +# 70319-1542 - Added agent disabled display function +# 71122-0205 - Added vicidial_live_agent status output +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["client"])) {$client=$_GET["client"];} + elseif (isset($_POST["client"])) {$client=$_POST["client"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campagentstdisp"])) {$campagentstdisp=$_GET["campagentstdisp"];} + elseif (isset($_POST["campagentstdisp"])) {$campagentstdisp=$_POST["campagentstdisp"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($client)) {$client="agc";} + +$version = '2.0.4-12'; +$build = '71122-0205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd_His"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$random = (rand(1000000, 9999999) + 10000000); + + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Unzulässig Benutzername/Passwort: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Unzulässig server_ip: |$server_ip| or Unzulässig session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Unzulässig session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Konferenz Erweiterung überprüfen"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + if ($ACTION == 'refresh') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($conf_exten)<1) + { + $channel_live=0; + echo "Conf Exten $conf_exten ist unzulässig\n"; + exit; + } + else + { + + if ($client == 'vdc') + { + $Acount=0; + $AexternalDEAD=0; + + ### see if the agent has a record in the vicidial_live_agents table + $stmt="SELECT count(*) from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Acount=$row[0]; + + if ($Acount > 0) + { + $stmt="SELECT status from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Astatus=$row[0]; + } + # ### find out if external table shows agent should be disabled + # $stmt="SELECT count(*) from another_table where user='$user' and status='DEAD';"; + # if ($DB) {echo "|$stmt|\n";} + # $rslt=mysql_query($stmt, $link); + # $row=mysql_fetch_row($rslt); + # $AexternalDEAD=$row[0]; + + if ($auto_dial_level > 0) + { + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + if ($campagentstdisp == 'YES') + { + ### grab the status of this agent to display + $stmt="SELECT status,campaign_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Alogin=$row[0]; + $Acampaign=$row[1]; + + ### grab the number of calls being placed from this server and campaign + $stmt="SELECT count(*) from vicidial_auto_calls where server_ip='$server_ip' and status NOT IN('XFER') and campaign_id='$Acampaign';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $RingCalls=$row[0]; + } + else + { + $Alogin='N'; + $RingCalls='N'; + } + } + else + { + $Alogin='N'; + $RingCalls='N'; + + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } + + if ($Acount < 1) {$Alogin='DEAD_VLA';} + if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} + + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . "|\n"; + + } + $total_conf=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$sip_list = mysql_num_rows($rslt);} + # echo "$sip_list|"; + $loop_count=0; + while ($sip_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $KanalA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + # echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $KanalA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + } + $channels_list = ($channels_list + $sip_list); + echo "$channels_list|"; + + $counter=0; + $countecho=''; + while($total_conf > $counter) + { + $counter++; + $countecho = "$countecho$KanalA[$counter] ~"; + # echo "$KanalA[$counter] ~"; + } + + echo "$countecho\n"; + } + + if ($ACTION == 'register') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($exten)<1) ) + { + $channel_live=0; + echo "Conf Exten $conf_exten ist unzulässig or Exten $exten ist unzulässig\n"; + exit; + } + else + { + $stmt="UPDATE conferences set extension='$exten' where server_ip = '$server_ip' and conf_exten = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + echo "Konferenz $conf_exten wurde registriert bei $exten\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/dbconnect.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/dbconnect.php new file mode 100644 index 00000000..723d3c59 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/dbconnect.php @@ -0,0 +1,58 @@ + LICENSE: AGPLv2 +# +if ( file_exists("/etc/astguiclient.conf") ) +{ +$DBCagc = file("/etc/astguiclient.conf"); +foreach ($DBCagc as $DBCline) + { + $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); + if (ereg("^PATHlogs", $DBCline)) + {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} + if (ereg("^PATHweb", $DBCline)) + {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} + if (ereg("^VARDB_server", $DBCline)) + {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} + if (ereg("^VARDB_database", $DBCline)) + {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} + if (ereg("^VARDB_user", $DBCline)) + {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} + if (ereg("^VARDB_pass", $DBCline)) + {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} + if (ereg("^VARDB_port", $DBCline)) + {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} + } + +} +else +{ +#defaults for DB connection +$VARDB_server = 'localhost'; +$VARDB_user = 'cron'; +$VARDB_pass = '1234'; +$VARDB_database = '1234'; +$WeBServeRRooT = '/usr/local/apache2/htdocs'; +} + +$link=mysql_connect("$VARDB_server", "$VARDB_user", "$VARDB_pass"); +if (!$link) { + die('MySQL connect ERROR: ' . mysql_error()); +} +mysql_select_db("$VARDB_database",$link); + +$local_DEF = 'Local/'; +$conf_silent_prefix = '7'; +$local_AMP = '@'; +$ext_context = 'demo'; +$recording_exten = '8309'; +$WeBRooTWritablE = '1'; +$non_latin = '0'; # set to 1 for UTF rules, overridden by system_settings +$flag_channels=0; +$flag_string = 'VICIast20'; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/inbound_popup.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/inbound_popup.php new file mode 100644 index 00000000..1d84f761 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/inbound_popup.php @@ -0,0 +1,351 @@ + LICENSE: GPLv2 +### +### This script is designed to open up when a live_inbound call comes in giving the user +### options of what to do with the call or options to lookup the callerID on various web sites +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $uniqueid - ('1234567890.123456',...) +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $vmail_box - ('101','1234',...) +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $ext_context - ('default','demo',...) +### - $ext_priority - ('1','2',...) +### - $voicemail_dump_exten - ('85026666666666') +### - $local_web_callerID_URL_enc - ( rawurlencoded custom callerid lookup URL) +### + +# changes +# 50428-1500 - First build of script display only +# 50429-1241 - some formatting, hangup and Vmail redirect, 30s timeout on actions, and CID web lookup links +# 50503-1244 - added session_name checking for extra security +# 50711-1203 - removed HTTP authentication in favor of user/pass vars +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["voicemail_dump_exten"])) {$voicemail_dump_exten=$_GET["voicemail_dump_exten"];} + elseif (isset($_POST["voicemail_dump_exten"])) {$voicemail_dump_exten=$_POST["voicemail_dump_exten"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_GET["local_web_callerID_URL_enc"];} + elseif (isset($_POST["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_POST["local_web_callerID_URL_enc"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} + else {$local_web_callerID_URL = '';} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.6'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$DO = '-1'; +if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Unzulässig Benutzername/Passwort: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Unzulässig server_ip: |$server_ip| or Unzulässig session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Unzulässig session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +echo "\n"; +echo "\n"; +echo "\n"; +?> + + +LIVE INBOUND ANRUF"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "

LIVE INBOUND ANRUF

\n"; +echo "$NOW_TIME

\n"; +} + + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($uniqueid)<9) + { + $channel_live=0; + echo "Uniqueid $uniqueid ist unzulässig\n"; + exit; + } + else + { + $stmt="SELECT * FROM live_inbound where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $channels_list = mysql_num_rows($rslt); + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); +# echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; +# Zap/73|"V.I.C.I. MARKET" <7275338730>|2005-04-28 14:01:21|7274514936|Inbound direct to Matt||||| + if ($format=='debug') {echo "\n";} + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Kanal: $row[1]
AnruferID: $row[3]
\n"; + + $phone = eregi_replace(".*\<","",$row[3]); + $phone = eregi_replace("\>.*","",$phone); + $NPA = substr($phone, 0, 3); + $NXX = substr($phone, 3, 3); + $XXXX = substr($phone, 6, 4); + $D='-'; + echo "GOOGLE - \n"; + echo "ANYWHO - \n"; + echo "SWITCHBOARD - \n"; + echo "VERIZON - \n"; + echo "WHITEPAGES - \n"; + echo "411.COM - \n"; + echo "411.COM - \n"; + + $local_web_callerID_QUERY_STRING =''; + $local_web_callerID_QUERY_STRING.="?callerID_areacode=$NPA"; + $local_web_callerID_QUERY_STRING.="&callerID_prefix=$NXX"; + $local_web_callerID_QUERY_STRING.="&callerID_last4=$XXXX"; + $local_web_callerID_QUERY_STRING.="&callerID_Time=$row[6]"; + $local_web_callerID_QUERY_STRING.="&callerID_Kanal=$row[1]"; + $local_web_callerID_QUERY_STRING.="&callerID_uniqueID=$row[0]"; + $local_web_callerID_QUERY_STRING.="&callerID_phone_ext=$row[5]"; + $local_web_callerID_QUERY_STRING.="&callerID_server_ip=$row[2]"; + $local_web_callerID_QUERY_STRING.="&callerID_extension=$row[4]"; + $local_web_callerID_QUERY_STRING.="&callerID_inbound_number=$row[8]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_a=$row[9]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_b=$row[10]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_c=$row[11]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_d=$row[12]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_e=$row[13]"; + echo "ANGEPASST - \n"; + + echo "
Nummer Gewählt: $row[8]
Anmerkungen: $row[9]|$row[10]|$row[11]|$row[12]|$row[13]|
\n"; + echo "AUFLEGEN - \n"; + echo "SENDE AN MEINE VOICEMAILBOX\n"; + echo "
\n"; + + + $stmt="UPDATE live_inbound set acknowledged='Y' where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + + } + + + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/live_exten_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/live_exten_check.php new file mode 100644 index 00000000..1fb73011 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/live_exten_check.php @@ -0,0 +1,278 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send whether the client channel is live and to what channel it is connected +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### + +# changes +# 50404-1249 - First build of script +# 50406-1402 - added connected trunk lookup +# 50428-1452 - added live_inbound check for exten on 2nd line of output +# 50503-1233 - added session_name checking for extra security +# 50524-1429 - added parked calls count +# 50610-1204 - Added NULL check on MySQL results to reduced errors +# 50711-1204 - removed HTTP authentication in favor of user/pass vars +# 60103-1541 - added favorite extens status display +# 60421-1359 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1203 - Added variable filters to close security holes for login form +# 60825-1029 - Fixed translation variable issue ChannelA +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count"];} + elseif (isset($_POST["favorites_count"])) {$favorites_count=$_POST["favorites_count"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '2.0.1'; +$build = '60825-1029'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Unzulässig Benutzername/Passwort: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Unzulässig server_ip: |$server_ip| or Unzulässig session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Unzulässig session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "LIVE Erweiterung überprüfen"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + +echo "DateTime: $NOW_TIME|"; +echo "UnixTime: $StarTtime|"; + +$stmt="SELECT count(*) FROM parked_channels where server_ip = '$server_ip';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +echo "$row[0]|"; + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten ist unzulässig oder Protokoll $protocol ist unzulässig\n"; + exit; + } + else + { + $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + $ChanneLA[$loop_count] = "$row[0]"; + $ChanneLB[$loop_count] = "$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + $counter=0; + while($loop_count > $counter) + { + $counter++; + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "KanalA: $ChanneLA[$counter] ~"; + echo "KanalB: $ChanneLB[$counter] ~"; + echo "KanalBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "KanalA: $ChanneLA[$counter] ~"; + echo "KanalB: $ChanneLB[$counter] ~"; + echo "KanalBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "KanalA: $ChanneLA[$counter] ~"; + echo "KanalB: $ChanneLB[$counter] ~"; + echo "KanalBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "KanalA: $ChanneLA[$counter] ~"; + echo "KanalB: $ChanneLB[$counter] ~"; + echo "KanalBtrunk: $row[0]|"; + } + else + { + echo "Conversation: $counter ~"; + echo "KanalA: $ChanneLA[$counter] ~"; + echo "KanalB: $ChanneLB[$counter] ~"; + echo "KanalBtrunk: $ChanneLA[$counter]|"; + } + } + } + } + } + +echo "\n"; + +### check for live_inbound entry +$stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = '$exten' and acknowledged='N';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +if ($rslt) {$channels_list = mysql_num_rows($rslt);} + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); + $LIuniqueid = "$row[0]"; + $LIchannel = "$row[1]"; + $LIcallerid = "$row[3]"; + $LIdatetime = "$row[6]"; + echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; + if ($format=='debug') {echo "\n";} + } + +echo "\n"; + + +### if favorites are present do a lookup to see if any are active +if ($favorites_count > 0) + { + $favorites = explode(',',$favorites_list); + $h=0; + $favs_print=''; + while ($favorites_count > $h) + { + $fav_extension = explode('/',$favorites[$h]); + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$favorites[$h]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favs_print .= "$fav_extension[1]: $row[0] ~"; + $h++; + } + echo "$favs_print\n"; + } + +if ($format=='debug') {echo "\n";} + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/manager_send.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/manager_send.php new file mode 100644 index 00000000..fcb79355 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/manager_send.php @@ -0,0 +1,1142 @@ + LICENSE: GPLv2 +# +# This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $ACTION - ('Originate','Redirect','Hangup','Command','Monitor','StopMonitor','SysCIDOriginate','RedirectName','RedirectNameVmail','MonitorConf','StopMonitorConf','RedirectXtra','RedirectXtraCX','RedirectVD','HangupConfDial','VolumeControl','OriginateVDRelogin') +# - $queryCID - ('CN012345678901234567',...) +# - $format - ('text','debug') +# - $channel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $exten - ('1234','913125551212',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $filename - ('20050406-125623_44444',...) +# - $extenName - ('phone100',...) +# - $parkedby - ('phone100',...) +# - $extrachannel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $auto_dial_level - ('0','1','1.1',...) +# - $campaign - ('CLOSER','TESTCAMP',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('1234',...) +# - $seconds - ('32',...) +# - $outbound_cid - ('3125551212','0000000000',...) +# - $agent_log_id - ('123456',...) +# - $call_server_ip - ('10.10.10.15',...) +# - $CalLCID - ('VD01234567890123456',...) +# - $stage - ('UP','DOWN') +# + +# CHANGELOG: +# 50401-1002 - First build of script, Hangup function only +# 50404-1045 - Redirect basic function enabled +# 50406-1522 - Monitor basic function enabled +# 50407-1647 - Monitor and StopMonitor full functions enabled +# 50422-1120 - basic Originate function enabled +# 50428-1451 - basic SysCIDOriginate function enabled for checking voicemail +# 50502-1539 - basic RedirectName and RedirectNameVmail added +# 50503-1227 - added session_name checking for extra security +# 50523-1341 - added Conference call start/stop recording +# 50523-1421 - added OriginateName and OriginateNameVmail for local calls +# 50524-1602 - added RedirectToPark and RedirectFromPark +# 50531-1203 - added RedirecXtra for dual channel redirection +# 50630-1100 - script changed to not use HTTP login vars, user/pass instead +# 50804-1148 - Added RedirectVD for VICIDIAL blind redirection with logging +# 50815-1204 - Added NEXTAVAILABLE to RedirectXtra function +# 50903-2343 - Added HangupConfDial function to hangup in-dial channels in conf +# 50913-1057 - Added outbound_cid set if present to originate call +# 51020-1556 - Added agent_log_id framework for detailed agent activity logging +# 51118-1204 - Fixed Blind transfer bug from VICIDIAL when in manual dial mode +# 51129-1014 - Added ability to accept calls from other VICIDIAL servers +# 51129-1253 - Fixed Hangups of other agents channels in VICIDIAL AD +# 60310-2022 - Fixed NEXTAVAILABLE bug in leave-3way-call redirect function +# 60421-1413 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1158 - Added variable filters to close security holes for login form +# 60809-1544 - Added direct transfers to leave-3ways in consultative transfers +# 61004-1526 - Added parsing of volume control command and lookup or number +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61201-1115 - Added user to MonitorConf for recording_log +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70226-1251 - Added Mute/UnMute to conference volume control +# 70320-1502 - Added option to allow retry of leave-3way-call and debug logging +# 70322-1636 - Added sipsak display ability +# + +require("dbconnect.php"); + +### These are variable assignments for PHP globals off +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["queryCID"])) {$queryCID=$_GET["queryCID"];} + elseif (isset($_POST["queryCID"])) {$queryCID=$_POST["queryCID"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["filename"])) {$filename=$_GET["filename"];} + elseif (isset($_POST["filename"])) {$filename=$_POST["filename"];} +if (isset($_GET["extenName"])) {$extenName=$_GET["extenName"];} + elseif (isset($_POST["extenName"])) {$extenName=$_POST["extenName"];} +if (isset($_GET["parkedby"])) {$parkedby=$_GET["parkedby"];} + elseif (isset($_POST["parkedby"])) {$parkedby=$_POST["parkedby"];} +if (isset($_GET["extrachannel"])) {$extrachannel=$_GET["extrachannel"];} + elseif (isset($_POST["extrachannel"])) {$extrachannel=$_POST["extrachannel"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["secondS"])) {$secondS=$_GET["secondS"];} + elseif (isset($_POST["secondS"])) {$secondS=$_POST["secondS"];} +if (isset($_GET["outbound_cid"])) {$outbound_cid=$_GET["outbound_cid"];} + elseif (isset($_POST["outbound_cid"])) {$outbound_cid=$_POST["outbound_cid"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["call_server_ip"])) {$call_server_ip=$_GET["call_server_ip"];} + elseif (isset($_POST["call_server_ip"])) {$call_server_ip=$_POST["call_server_ip"];} +if (isset($_GET["CalLCID"])) {$CalLCID=$_GET["CalLCID"];} + elseif (isset($_POST["CalLCID"])) {$CalLCID=$_POST["CalLCID"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["allow_sipsak_messages"])) {$allow_sipsak_messages=$_GET["allow_sipsak_messages"];} + elseif (isset($_POST["allow_sipsak_messages"])) {$allow_sipsak_messages=$_POST["allow_sipsak_messages"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$secondS = ereg_replace("[^0-9]","",$secondS); + +# default optional vars if not set +if (!isset($ACTION)) {$ACTION="Originate";} +if (!isset($format)) {$format="alert";} +if (!isset($ext_priority)) {$ext_priority="1";} + +$version = '2.0.29'; +$build = '70320-1502'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Unzulässig Benutzername/Passwort: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Unzulässig server_ip: |$server_ip| or Unzulässig session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Unzulässig session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Manager Senden: "; +if ($ACTION=="Originate") {echo "Originate";} +if ($ACTION=="Redirect") {echo "Redirect";} +if ($ACTION=="RedirectName") {echo "RedirectName";} +if ($ACTION=="Hangup") {echo "Hangup";} +if ($ACTION=="Command") {echo "Command";} +if ($ACTION==99999) {echo "HILFE";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ACTION=SysCIDOriginate - insert Originate Manager statement allowing small CIDs for system calls +###################### +if ($ACTION=="SysCIDOriginate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<1) ) + { + echo "Exten $exten ist unzulässig or queryCID $queryCID ist unzulässig, Originate Befehl nicht eingesetzt\n"; + } + else + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Originate Befehl gesendet um Exten $exten Kanal $channel an $server_ip\n"; + } +} + + + +###################### +# ACTION=Originate, OriginateName, OriginateNameVmail - insert Originate Manager statement +###################### +if ($ACTION=="OriginateName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Eine dieser Variablen ist unzulässig:\n"; + echo "Kanal $channel muss länger als 2 Buchstaben sein\n"; + echo "queryCID $queryCID muss länger als 14 Buchstaben sein\n"; + echo "extenName $extenName muß eingestellt werden\n"; + echo "ext_context $ext_context muß eingestellt werden\n"; + echo "ext_priority $ext_priority muß eingestellt werden\n"; + echo "\nOriginateName Action nicht gesendet\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Eine dieser Variablen ist unzulässig:\n"; + echo "Kanal $channel muss länger als 2 Buchstaben sein\n"; + echo "queryCID $queryCID muss länger als 14 Buchstaben sein\n"; + echo "extenName $extenName muß eingestellt werden\n"; + echo "exten $exten muß eingestellt werden\n"; + echo "ext_context $ext_context muß eingestellt werden\n"; + echo "ext_priority $ext_priority muß eingestellt werden\n"; + echo "\nOriginateNameVmail Action nicht gesendet\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateVDRelogin") +{ + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $CIDdate = date("ymdHis"); + $DS='-'; + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $queryCID = "$SIPSAK_prefix$campaign$DS$CIDdate"; + + } + $ACTION="Originate"; +} + +if ($ACTION=="Originate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<10) ) + { + echo "Exten $exten ist unzulässig or queryCID $queryCID ist unzulässig, Originate Befehl nicht eingesetzt\n"; + } + else + { + if (strlen($outbound_cid)>1) + {$outCID = "\"$queryCID\" <$outbound_cid>";} + else + {$outCID = "$queryCID";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $outCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Originate Befehl gesendet um Exten $exten Kanal $channel an $server_ip\n"; + } +} + + + +###################### +# ACTION=HangupConfDial - find the Local channel that is in the conference and needs to be hung up +###################### +if ($ACTION=="HangupConfDial") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "conference $exten ist unzulässig or ext_context $ext_context or queryCID $queryCID ist unzulässig, Hangup Befehl nicht eingesetzt\n"; + } + else + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $hangup_channel_prefix = "$local_DEF$exten$local_AMP$ext_context"; + + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row > 0) + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $channel=$rowx[0]; + $ACTION="Hangup"; + $queryCID = eregi_replace("^.","G",$queryCID); + } + } +} + + + +###################### +# ACTION=Hangup - insert Hangup Manager statement +###################### +if ($ACTION=="Hangup") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) ) + { + $channel_live=0; + echo "Kanal $channel ist unzulässig or queryCID $queryCID ist unzulässig, Hangup Befehl nicht eingesetzt\n"; + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + +# $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $row=mysql_fetch_row($rslt); +# if ($row[0]==0) +# { +# $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $rowx=mysql_fetch_row($rslt); +# if ($rowx[0]==0) +# { +# $channel_live=0; +# echo "Channel $channel is not live on $call_server_ip, Hangup command not inserted\n"; +# } +# } + if ( ($auto_dial_level > 0) and (strlen($CalLCID)>2) and (strlen($exten)>2) and ($secondS > 4)) + { + $stmt="SELECT count(*) FROM vicidial_auto_calls where channel='$channel' and callerid='$CalLCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + echo "Call $CalLCID $channel ist nicht Live an $call_server_ip, Checking Live Kanal...\n"; + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel' and extension LIKE \"%$exten\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $channel_live=0; + echo "Kanal $channel ist nicht Live an $call_server_ip, Hangup Befehl nicht eingesetzt $rowx[0]\n$stmt\n"; + } + else + { + echo "$stmt\n"; + } + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Hangup','$queryCID','Channel: $channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Hangup Befehl gesendet um Kanal $channel an $call_server_ip\n"; + } + } +} + + + +###################### +# ACTION=Redirect, RedirectName, RedirectNameVmail, RedirectToPark, RedirectFromPark, RedirectVD, RedirectXtra, RedirectXtraCX +# - insert Redirect Manager statement using extensions name +###################### +if ($ACTION=="RedirectVD") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($campaign)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($uniqueid)<2) or (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "Eine dieser Variablen ist unzulässig:\n"; + echo "Kanal $channel muss länger als 2 Buchstaben sein\n"; + echo "queryCID $queryCID muss länger als 14 Buchstaben sein\n"; + echo "exten $exten muß eingestellt werden\n"; + echo "ext_context $ext_context muß eingestellt werden\n"; + echo "ext_priority $ext_priority muß eingestellt werden\n"; + echo "auto_dial_level $auto_dial_level muß eingestellt werden\n"; + echo "campaign $campaign muß eingestellt werden\n"; + echo "uniqueid $uniqueid muß eingestellt werden\n"; + echo "lead_id $lead_id muß eingestellt werden\n"; + echo "\nRedirectVD Action nicht gesendet\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where lead_id='$lead_id' order by start_epoch desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + if ($auto_dial_level < 1) + { + $stmt = "UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt = "DELETE from vicidial_auto_calls where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectToPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($parkedby)<1) ) + { + $channel_live=0; + echo "Eine dieser Variablen ist unzulässig:\n"; + echo "Kanal $channel muss länger als 2 Buchstaben sein\n"; + echo "queryCID $queryCID muss länger als 14 Buchstaben sein\n"; + echo "exten $exten muß eingestellt werden\n"; + echo "extenName $extenName muß eingestellt werden\n"; + echo "ext_context $ext_context muß eingestellt werden\n"; + echo "ext_priority $ext_priority muß eingestellt werden\n"; + echo "parkedby $parkedby muß eingestellt werden\n"; + echo "\nRedirectToPark Action nicht gesendet\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "INSERT INTO parked_channels values('$channel','$server_ip','','$extenName','$parkedby','$NOW_TIME');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectFromPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Eine dieser Variablen ist unzulässig:\n"; + echo "Kanal $channel muss länger als 2 Buchstaben sein\n"; + echo "queryCID $queryCID muss länger als 14 Buchstaben sein\n"; + echo "exten $exten muß eingestellt werden\n"; + echo "ext_context $ext_context muß eingestellt werden\n"; + echo "ext_priority $ext_priority muß eingestellt werden\n"; + echo "\nRedirectFromPark Action nicht gesendet\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "DELETE FROM parked_channels where server_ip='$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Eine dieser Variablen ist unzulässig:\n"; + echo "Kanal $channel muss länger als 2 Buchstaben sein\n"; + echo "queryCID $queryCID muss länger als 14 Buchstaben sein\n"; + echo "extenName $extenName muß eingestellt werden\n"; + echo "ext_context $ext_context muß eingestellt werden\n"; + echo "ext_priority $ext_priority muß eingestellt werden\n"; + echo "\nRedirectName Action nicht gesendet\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Redirect"; + } + } +} + +if ($ACTION=="RedirectNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Eine dieser Variablen ist unzulässig:\n"; + echo "Kanal $channel muss länger als 2 Buchstaben sein\n"; + echo "queryCID $queryCID muss länger als 14 Buchstaben sein\n"; + echo "extenName $extenName muß eingestellt werden\n"; + echo "exten $exten muß eingestellt werden\n"; + echo "ext_context $ext_context muß eingestellt werden\n"; + echo "ext_priority $ext_priority muß eingestellt werden\n"; + echo "\nRedirectNameVmail Action nicht gesendet\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Redirect"; + } + } +} + +if ($ACTION=="RedirectXtraCX") +{ + $DBout=''; + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Eine dieser Variablen ist unzulässig:\n"; + echo "Kanal $channel muss länger als 2 Buchstaben sein\n"; + echo "ExtraKanal $extrachannel muss länger als 2 Buchstaben sein\n"; + echo "queryCID $queryCID muss länger als 14 Buchstaben sein\n"; + echo "exten $exten muß eingestellt werden\n"; + echo "ext_context $ext_context muß eingestellt werden\n"; + echo "ext_priority $ext_priority muß eingestellt werden\n"; + echo "\nRedirect Action nicht gesendet\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Kanal $channel ist nicht Live an $call_server_ip, Redirect Befehl nicht eingesetzt\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel ist nicht Live an $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Kanal $channel ist nicht Live an $server_ip, Redirect Befehl nicht eingesetzt\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel ist nicht Live an $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + $stmt="SELECT count(*) FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $channel_liveY=0; + echo "No Local agent to send call to, Redirect Befehl nicht eingesetzt\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + } + else + { + $stmt="SELECT server_ip,conf_exten,user FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $dest_server_ip = $rowx[0]; + $dest_session_id = $rowx[1]; + $dest_user = $rowx[2]; + $S='*'; + + $D_s_ip = explode('.', $dest_server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$dest_session_id$S$lead_id$S$dest_user$S$phone_code$S$phone_number$S$campaign$S"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','$queryCID','Channel: $extrachannel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtraCX Befehl gesendet um Kanal $channel an $call_server_ip and \nHungup $extrachannel an $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel an $call_server_ip, Hungup $extrachannel an $server_ip";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel an $server_ip";} + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } +} + +if ($ACTION=="RedirectXtra") +{ + if ($channel=="$extrachannel") + {$ACTION="Redirect";} + else + { + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Eine dieser Variablen ist unzulässig:\n"; + echo "Kanal $channel muss länger als 2 Buchstaben sein\n"; + echo "ExtraKanal $extrachannel muss länger als 2 Buchstaben sein\n"; + echo "queryCID $queryCID muss länger als 14 Buchstaben sein\n"; + echo "exten $exten muß eingestellt werden\n"; + echo "ext_context $ext_context muß eingestellt werden\n"; + echo "ext_priority $ext_priority muß eingestellt werden\n"; + echo "\nRedirect Action nicht gesendet\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if ($exten == "NEXTAVAILABLE") + { + $stmt="SELECT conf_exten FROM conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 3) + { + $stmt="UPDATE conferences set extension='$user' where server_ip='$server_ip' and conf_exten='$row[0]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $exten = $row[0]; + } + else + { + $channel_liveX=0; + echo "Kann keine leere Konferenz finden an $server_ip, Redirect Befehl nicht eingesetzt\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Kann keine leere Konferenz finden an $server_ip";} + } + } + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Kanal $channel ist nicht Live an $call_server_ip, Redirect Befehl nicht eingesetzt\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel ist nicht Live an $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Kanal $channel ist nicht Live an $server_ip, Redirect Befehl nicht eingesetzt\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel ist nicht Live an $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + if ( ($server_ip=="$call_server_ip") or (strlen($call_server_ip)<7) ) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','ExtraChannel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra Befehl gesendet um Kanal $channel and \nExtraKanal $extrachannel\n to $exten an $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten an $server_ip";} + } + else + { + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$exten"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra Befehl gesendet um Kanal $channel an $call_server_ip and \nExtraKanal $extrachannel\n to $exten an $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } + } +} + + +if ($ACTION=="Redirect") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Eine dieser Variablen ist unzulässig:\n"; + echo "Kanal $channel muss länger als 2 Buchstaben sein\n"; + echo "queryCID $queryCID muss länger als 14 Buchstaben sein\n"; + echo "exten $exten muß eingestellt werden\n"; + echo "ext_context $ext_context muß eingestellt werden\n"; + echo "ext_priority $ext_priority muß eingestellt werden\n"; + echo "\nRedirect Action nicht gesendet\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Kanal $channel ist nicht Live an $server_ip, Redirect Befehl nicht eingesetzt\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "Redirect Befehl gesendet um Kanal $channel an $server_ip\n"; + } + } +} + + + +###################### +# ACTION=Monitor or Stop Monitor - insert Monitor/StopMonitor Manager statement to start recording on a channel +###################### +if ( ($ACTION=="Monitor") || ($ACTION=="StopMonitor") ) +{ + if ($ACTION=="StopMonitor") + {$SQLfile = "";} + else + {$SQLfile = "File: $filename";} + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Kanal $channel ist unzulässig or queryCID $queryCID ist unzulässig or filename: $filename ist unzulässig, $ACTION Befehl nicht eingesetzt\n"; + } + else + { + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Kanal $channel ist nicht Live an $server_ip, $ACTION Befehl nicht eingesetzt\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','$ACTION','$queryCID','Channel: $channel','$SQLfile','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + if ($ACTION=="Monitor") + { + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + } + else + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + } + echo "$ACTION Befehl gesendet um Kanal $channel an $server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n"; + } + } +} + + + + + + +###################### +# ACTION=MonitorConf or StopMonitorConf - insert Monitor/StopMonitor Manager statement to start recording on a conference +###################### +if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<3) or (strlen($channel)<4) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Kanal $channel ist unzulässig or exten $exten ist unzulässig or filename: $filename ist unzulässig, $ACTION Befehl nicht eingesetzt\n"; + } + else + { + + if ($ACTION=="MonitorConf") + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$filename','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $filename','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + } + else + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + # find and hang up all recordings going an in this conference # and extension = '$exten' + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + # $rec_count = intval(mysql_num_rows($rslt) / 2); + $rec_count = mysql_num_rows($rslt); + $h=0; + while ($rec_count>$h) + { + $rowx=mysql_fetch_row($rslt); + $HUchannel[$h] = $rowx[0]; + $h++; + } + $i=0; + while ($h>$i) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$i','Channel: $HUchannel[$i]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $i++; + } + + } + echo "$ACTION Befehl gesendet um Kanal $channel an $server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n AUFNAHME DAUERT BIS ZU 60 MINUTEN\n"; + } +} + + + + + +###################### +# ACTION=VolumeControl - raise or lower the volume of a meetme participant +###################### +if ($ACTION=="VolumeControl") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($stage)<1) or (strlen($queryCID)<1) ) + { + echo "Konferenz $exten, Stage $stage ist unzulässig or queryCID $queryCID ist unzulässig, Originate Befehl nicht eingesetzt\n"; + } + else + { + $participant_number='XXYYXXYYXXYYXX'; + if (eregi('UP',$stage)) {$vol_prefix='4';} + if (eregi('DOWN',$stage)) {$vol_prefix='3';} + if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} + if (eregi('MUTING',$stage)) {$vol_prefix='1';} + $local_DEF = 'Local/'; + $local_AMP = '@'; + $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $volume_local_channel','Context: $ext_context','Exten: 8300','Priority: 1','Callerid: $queryCID','','','','$channel','$exten');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Volume Befehl gesendet um Konferenz $exten, Stage $stage Kanal $channel an $server_ip\n"; + } +} + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='debug') {echo "\n";} +if ($format=='debug') {echo "\n\n\n";} + +exit; + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/park_calls_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/park_calls_display.php new file mode 100644 index 00000000..044634c8 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/park_calls_display.php @@ -0,0 +1,146 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send the details on the parked calls on the server +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### + +# changes +# 50524-1515 - First build of script +# 50711-1208 - removed HTTP authentication in favor of user/pass vars +# 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($park_limit)) {$park_limit="1000";} + +$version = '0.0.4'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) ) + { + echo "Unzulässig Benutzername/Passwort: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { + echo "Unzulässig server_ip: |$server_ip| or Unzulässig session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Unzulässig session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Geparkte Anruf anzeigen"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten ist unzulässig oder Protokoll $protocol ist unzulässig\n"; + exit; + } + else + { + ##### print parked calls from the parked_channels table + $stmt="SELECT * from parked_channels where server_ip = '$server_ip' order by parked_time limit $park_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $park_calls_count = mysql_num_rows($rslt); + echo "$park_calls_count\n"; + $loop_count=0; + while ($park_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0] ~$row[2] ~$row[3] ~$row[4] ~$row[5]|"; + } + echo "\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/vdc_db_query.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/vdc_db_query.php new file mode 100644 index 00000000..f40fd378 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/vdc_db_query.php @@ -0,0 +1,2535 @@ + LICENSE: GPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('regCLOSER','manDiaLnextCALL','manDiaLskip','manDiaLonly','manDiaLlookCALL','manDiaLlogCALL','userLOGout','updateDISPO','VDADpause','VDADready','VDADcheckINCOMING','UpdatEFavoritEs','CalLBacKLisT','CalLBacKCounT','PauseCodeSubmit','LogiNCamPaigns') +# - $stage - ('start','finish','lookup','new') +# - $closer_choice - ('CL_TESTCAMP_L CL_OUT123_L -') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $campaign - ('testcamp',...) +# - $dial_timeout - ('60','26',...) +# - $dial_prefix - ('9','8',...) +# - $campaign_cid - ('3125551212','0000000000',...) +# - $MDnextCID - ('M06301413000000002',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('36524',...) +# - $list_id - ('101','123456',...) +# - $length_in_sec - ('12',...) +# - $phone_code - ('1',...) +# - $phone_number - ('3125551212',...) +# - $channel - ('Zap/12-1',...) +# - $start_epoch - ('1120236911',...) +# - $vendor_lead_code - ('1234test',...) +# - $title - ('Mr.',...) +# - $first_name - ('Bob',...) +# - $middle_initial - ('L',...) +# - $last_name - ('Wilson',...) +# - $address1 - ('1324 Main St.',...) +# - $address2 - ('Apt. 12',...) +# - $address3 - ('co Robert Wilson',...) +# - $city - ('Chicago',...) +# - $state - ('IL',...) +# - $province - ('NA',...) +# - $postal_code - ('60054',...) +# - $country_code - ('USA',...) +# - $gender - ('M',...) +# - $date_of_birth - ('1970-01-01',...) +# - $alt_phone - ('3125551213',...) +# - $email - ('bob@bob.com',...) +# - $security_phrase - ('Hello',...) +# - $comments - ('Good Customer',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $VDstop_rec_after_each_call - ('0','1') +# - $conf_silent_prefix - ('7','8','',...) +# - $extension - ('123','user123','25-1',...) +# - $protocol - ('Zap','SIP','IAX2',...) +# - $user_abb - ('1234','6666',...) +# - $preview - ('YES','NO',...) +# - $called_count - ('0','1','2',...) +# - $agent_log_id - ('123456',...) +# - $agent_log - ('NO',...) +# - $favorites_list - (",'cc160','cc100'",...) +# - $CallBackDatETimE - ('2006-04-21 14:30:00',...) +# - $recipient - ('ANYONE,'USERONLY') +# - $callback_id - ('12345','12346',...) +# - $use_internal_dnc - ('Y','N') +# - $omit_phone_code - ('Y','N') +# - $no_delete_sessions - ('0','1') + +# CHANGELOG: +# 50629-1044 - First build of script +# 50630-1422 - Added manual dial action and MD channel lookup +# 50701-1451 - Added dial log for start and end of vicidial calls +# 50705-1239 - Added call disposition update +# 50804-1627 - Fixed updateDispo to update vicidial_log entry +# 50816-1605 - Added VDADpause/ready for auto dialing +# 50816-1811 - Added basic autodial call pickup functions +# 50817-1005 - Altered logging functions to accomodate auto_dialing +# 50818-1305 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1411 - Added hangup of agent phone after Logout +# 50901-1315 - Fixed CLOSER IN-GROUP Web Form bug +# 50902-1507 - Fixed CLOSER log length_in_sec bug +# 50902-1730 - Added functions for manual preview dialing and revert +# 50913-1214 - Added agent random update to leadupdate +# 51020-1421 - Added agent_log_id framework for detailed agent activity logging +# 51021-1717 - Allows for multi-line comments (changes \n to !N in database) +# 51111-1046 - Added vicidial_agent_log lead_id earlier for manual dial +# 51121-1445 - Altered echo statements for several small PHP speed optimizations +# 51122-1328 - Fixed UserLogout issue not removing conference reservation +# 51129-1012 - Added ability to accept calls from other VICIDIAL servers +# 51129-1729 - Changed manual dial to use the '/n' flag for calls +# 51221-1154 - Added SCRIPT id lookup and sending to vicidial.php for display +# 60105-1059 - Added Updating of astguiclient favorites in the DB +# 60208-1617 - Added dtmf buttons output per call +# 60213-1521 - Added closer_campaigns update to vicidial_users +# 60215-1036 - Added Callback date-time entry into vicidial_callbacks table +# 60413-1541 - Added USERONLY Callback listings output - CalLBacKLisT +# - Added USERONLY Callback count output - CalLBacKCounT +# 60414-1140 - Added Callback lead lookup for manual dialing +# 60419-1517 - After CALLBK is sent to agent, update callback record to INACTIVE +# 60421-1419 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60427-1236 - Fixed closer_choice error for CLOSER campaigns +# 60609-1148 - Added ability to check for manual dial numbers in DNC +# 60619-1117 - Added variable filters to close security holes for login form +# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic +# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing +# 60821-1647 - Added ability to not delete sessions at logout +# 60906-1124 - Added lookup and sending of callback data for CALLBK calls +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70115-1733 - Added alt_dial functionality in auto-dial modes +# 70118-1501 - Added user_group to vicidial_log,_agent_log,_closer_log,_callbacks +# 70123-1357 - Fixed bug that would not update vicidial_closer_log status to dispo +# 70202-1438 - Added pause code submit function +# 70203-0930 - Added dialed_number to lead info output +# 70203-1030 - Added dialed_label to lead info output +# 70206-1126 - Added INBOUND status for inbound/closer calls in vicidial_live_agents +# 70212-1253 - Fixed small issue with CXFER +# 70213-1431 - Added QueueMetrics PAUSE/UNPAUSE/AGENTLOGIN/AGENTLOGOFF actions +# 70214-1231 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1210 - Added queuemetrics COMPLETEAGENT action +# 70216-1051 - Fixed double call complete queuemetrics logging +# 70222-1616 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70309-1034 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70319-1544 - Added agent disable update customer data function +# 70322-1545 - Added sipsak display ability +# 70413-1253 - Fixed bug for outbound call time in CLOSER-type blended campaigns +# 70424-1100 - Fixed bug for fronter/closer calls that would delete vdac records +# 70802-1729 - Fixed bugs with pause_sec and wait_sec under certain call handling +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71029-1855 - removed campaign_id naming restrictions for CLOSER-type campaigns +# 71030-2047 - added hopper priority for auto alt dial entries +# 71116-1011 - added calls_today count updating of the vicidial_live_agents upon INCALL +# 71120-1520 - added LogiNCamPaigns to show only allowed campaigns for agents upon login +# 71125-1751 - Added inbound-group default inbound group sending to vicidial.php +# 71129-2025 - restricted callbacks count and list to campaign only +# + +$version = '2.0.4-65'; +$build = '71129-2025'; + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["closer_choice"])) {$closer_choice=$_GET["closer_choice"];} + elseif (isset($_POST["closer_choice"])) {$closer_choice=$_POST["closer_choice"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["dial_timeout"])) {$dial_timeout=$_GET["dial_timeout"];} + elseif (isset($_POST["dial_timeout"])) {$dial_timeout=$_POST["dial_timeout"];} +if (isset($_GET["dial_prefix"])) {$dial_prefix=$_GET["dial_prefix"];} + elseif (isset($_POST["dial_prefix"])) {$dial_prefix=$_POST["dial_prefix"];} +if (isset($_GET["campaign_cid"])) {$campaign_cid=$_GET["campaign_cid"];} + elseif (isset($_POST["campaign_cid"])) {$campaign_cid=$_POST["campaign_cid"];} +if (isset($_GET["MDnextCID"])) {$MDnextCID=$_GET["MDnextCID"];} + elseif (isset($_POST["MDnextCID"])) {$MDnextCID=$_POST["MDnextCID"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["length_in_sec"])) {$length_in_sec=$_GET["length_in_sec"];} + elseif (isset($_POST["length_in_sec"])) {$length_in_sec=$_POST["length_in_sec"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["start_epoch"])) {$start_epoch=$_GET["start_epoch"];} + elseif (isset($_POST["start_epoch"])) {$start_epoch=$_POST["start_epoch"];} +if (isset($_GET["dispo_choice"])) {$dispo_choice=$_GET["dispo_choice"];} + elseif (isset($_POST["dispo_choice"])) {$dispo_choice=$_POST["dispo_choice"];} +if (isset($_GET["vendor_lead_code"])) {$vendor_lead_code=$_GET["vendor_lead_code"];} + elseif (isset($_POST["vendor_lead_code"])) {$vendor_lead_code=$_POST["vendor_lead_code"];} +if (isset($_GET["title"])) {$title=$_GET["title"];} + elseif (isset($_POST["title"])) {$title=$_POST["title"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["middle_initial"])) {$middle_initial=$_GET["middle_initial"];} + elseif (isset($_POST["middle_initial"])) {$middle_initial=$_POST["middle_initial"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["gender"])) {$gender=$_GET["gender"];} + elseif (isset($_POST["gender"])) {$gender=$_POST["gender"];} +if (isset($_GET["date_of_birth"])) {$date_of_birth=$_GET["date_of_birth"];} + elseif (isset($_POST["date_of_birth"])) {$date_of_birth=$_POST["date_of_birth"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["security_phrase"])) {$security_phrase=$_GET["security_phrase"];} + elseif (isset($_POST["security_phrase"])) {$security_phrase=$_POST["security_phrase"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_GET["VDstop_rec_after_each_call"];} + elseif (isset($_POST["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_POST["VDstop_rec_after_each_call"];} +if (isset($_GET["conf_silent_prefix"])) {$conf_silent_prefix=$_GET["conf_silent_prefix"];} + elseif (isset($_POST["conf_silent_prefix"])) {$conf_silent_prefix=$_POST["conf_silent_prefix"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["user_abb"])) {$user_abb=$_GET["user_abb"];} + elseif (isset($_POST["user_abb"])) {$user_abb=$_POST["user_abb"];} +if (isset($_GET["preview"])) {$preview=$_GET["preview"];} + elseif (isset($_POST["preview"])) {$preview=$_POST["preview"];} +if (isset($_GET["called_count"])) {$called_count=$_GET["called_count"];} + elseif (isset($_POST["called_count"])) {$called_count=$_POST["called_count"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["agent_log"])) {$agent_log=$_GET["agent_log"];} + elseif (isset($_POST["agent_log"])) {$agent_log=$_POST["agent_log"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} +if (isset($_GET["CallBackDatETimE"])) {$CallBackDatETimE=$_GET["CallBackDatETimE"];} + elseif (isset($_POST["CallBackDatETimE"])) {$CallBackDatETimE=$_POST["CallBackDatETimE"];} +if (isset($_GET["recipient"])) {$recipient=$_GET["recipient"];} + elseif (isset($_POST["recipient"])) {$recipient=$_POST["recipient"];} +if (isset($_GET["callback_id"])) {$callback_id=$_GET["callback_id"];} + elseif (isset($_POST["callback_id"])) {$callback_id=$_POST["callback_id"];} +if (isset($_GET["use_internal_dnc"])) {$use_internal_dnc=$_GET["use_internal_dnc"];} + elseif (isset($_POST["use_internal_dnc"])) {$use_internal_dnc=$_POST["use_internal_dnc"];} +if (isset($_GET["omit_phone_code"])) {$omit_phone_code=$_GET["omit_phone_code"];} + elseif (isset($_POST["omit_phone_code"])) {$omit_phone_code=$_POST["omit_phone_code"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} + + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); +$phone_code = ereg_replace("[^0-9]","",$phone_code); +$phone_number = ereg_replace("[^0-9]","",$phone_number); + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} + +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$MT[0]=''; +$agents='@agents'; + +if ($ACTION == 'LogiNCamPaigns') + { + $skip_user_validation=1; + } +else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Unzulässig Benutzername/Passwort: |$user|$pass|\n"; + exit; + } + else + { + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Unzulässig server_ip: |$server_ip| or Unzulässig session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Unzulässig session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } +} + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDiaL Datenbank-Abfrage Script"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + +################################################################################ +### LogiNCamPaigns - generates an HTML SELECT list of allowed campaigns for a +### specific agent on the login screen +################################################################################ +if ($ACTION == 'LogiNCamPaigns') +{ + if ( (strlen($user)<1) ) + { + echo "\n"; + exit; + } + else + { + echo "\n"; + exit; + } +} + + + +################################################################################ +### regCLOSER - update the vicidial_live_agents table to reflect the closer +### inbound choices made upon login +################################################################################ +if ($ACTION == 'regCLOSER') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($closer_choice)<1) || (strlen($user)<1) ) + { + $channel_live=0; + echo "Gruppe Wählen $closer_choice ist unzulässig\n"; + exit; + } + else + { + if ($closer_choice == "MGRLOCK-") + { + $stmt="SELECT closer_campaigns FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $closer_choice =$row[0]; + + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_users set closer_campaigns='$closer_choice' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $in_groups_pre = preg_replace('/-$/','',$closer_choice); + $in_groups = explode(" ",$in_groups_pre); + $in_groups_ct = count($in_groups); + $k=1; + while ($k < $in_groups_ct) + { + if (strlen($in_groups[$k])>1) + { + $stmt="SELECT group_weight,calls_today FROM vicidial_inbound_group_agents where user='$user' and group_id='$in_groups[$k]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $viga_ct = mysql_num_rows($rslt); + if ($viga_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_weight = $row[0]; + $calls_today = $row[1]; + } + else + { + $group_weight = 0; + $calls_today = 0; + } + $stmt="INSERT INTO vicidial_live_inbound_agents set user='$user',group_id='$in_groups[$k]',group_weight='$group_weight',calls_today='$calls_today',last_call_time='$NOW_TIME',last_call_finish='$NOW_TIME';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + $k++; + } + + } + echo "Closer In Gruppe Wählen $closer_choice ist beim Benutzer registriert worden $user\n"; +} + + +################################################################################ +### manDiaLnextCALL - for manual VICIDiaL dialing this will grab the next lead +### in the campaign, reserve it, send data back to client and +### place the call by inserting into vicidial_manager +################################################################################ +if ($ACTION == 'manDiaLnextCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "HOPPER LEER\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context ist unzulässig\n"; + exit; + } + else + { + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### check if this is a callback, if it is, skip the grabbing of a new lead and mark the callback as INACTIVE + if ( (strlen($callback_id)>0) and (strlen($lead_id)>0) ) + { + $affected_rows=1; + $CBleadIDset=1; + + $stmt = "UPDATE vicidial_callbacks set status='INACTIVE' where callback_id='$callback_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + if (strlen($phone_number)>3) + { + if ($use_internal_dnc=='Y') + { + $stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + echo "DNC NUMMER\n"; + exit; + } + } + if ($stage=='lookup') + { + $stmt="SELECT lead_id FROM vicidial_list where phone_number='$phone_number' order by modify_date desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $man_leadID_ct = mysql_num_rows($rslt); + if ($man_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $affected_rows=1; + $lead_id =$row[0]; + $CBleadIDset=1; + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### grab the next lead in the hopper for this campaign and reserve it for the user + $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by hopper_id LIMIT 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + } + + if ($affected_rows > 0) + { + if (!$CBleadIDset) + { + ##### grab the lead_id of the reserved user in vicidial_hopper + $stmt="SELECT lead_id FROM vicidial_hopper where campaign_id='$campaign' and status='QUEUE' and user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $hopper_leadID_ct = mysql_num_rows($rslt); + if ($hopper_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + } + } + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = trim("$row[29]"); + $called_count = trim("$row[30]"); + } + + $called_count++; + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M\n"); + fclose($fp); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='Y', called_count='$called_count',user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + if (!$CBleadIDset) + { + ### delete the lead from the hopper + $stmt = "DELETE FROM vicidial_hopper where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id',comments='MANUAL' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + ### if preview dialing, do not send the call + if ( (strlen($preview)<1) || ($preview == 'NO') ) + { + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + $Local_persist = '/n'; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update calls_today count in vicidial_campaign_agents + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $MqueryCID . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= "MAIN\n"; + $LeaD_InfO .= $source_id . "\n"; + + echo $LeaD_InfO; + + } + else + { + echo "HOPPER LEER\n"; + } + } +} + + +################################################################################ +### manDiaLskip - for manual VICIDiaL dialing this skips the lead that was +### previewed in the step above and puts it back in orig status +################################################################################ +if ($ACTION == 'manDiaLskip') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($stage)<1) || (strlen($called_count)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "LEAD NOT REVERTED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context ist unzulässig\n"; + exit; + } + else + { + $called_count = ($called_count - 1); + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='$stage', called_count='$called_count',user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + + echo "LEAD REVERTED\n"; + } +} + + +################################################################################ +### manDiaLonly - for manual VICIDiaL dialing this sends the call that was +### previewed in the step above +################################################################################ +if ($ACTION == 'manDiaLonly') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) || (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo " ANRUF NOT PLACED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context ist unzulässig\n"; + exit; + } + else + { + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + $Local_persist = '/n'; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + echo "$MqueryCID\n"; + } +} + + +################################################################################ +### manDiaLlookCALL - for manual VICIDiaL dialing this will attempt to look up +### the trunk channel that the call was placed on +################################################################################ +if ($ACTION == 'manDiaLlookCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; +if (strlen($MDnextCID)<18) + { + echo "NO\n"; + echo "MDnextCID $MDnextCID ist unzulässig\n"; + exit; + } +else + { + ##### look for the channel in the UPDATED vicidial_manager record of the call initiation + $stmt="SELECT uniqueid,channel FROM vicidial_manager where callerid='$MDnextCID' and server_ip='$server_ip' and status='UPDATED' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid =$row[0]; + $channel =$row[1]; + echo "$uniqueid\n$channel"; + + $wait_sec=0; + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',wait_epoch='$StarTtime',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + echo "NO\n"; + } + } +} + + + +################################################################################ +### manDiaLlogCALL - for manual VICIDiaL logging of calls places record in +### vicidial_log and then sends process to call_log entry +################################################################################ +if ($ACTION == 'manDiaLlogCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + +if ($stage == "start") + { + if ( (strlen($uniqueid)<1) || (strlen($lead_id)<1) || (strlen($list_id)<1) || (strlen($phone_number)<1) || (strlen($campaign)<1) ) + { + echo "LOG NICHT EINGEGEBEN\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id or list_id: $list_id or phone_number: $phone_number or campaign: $campaign ist unzulässig\n"; + exit; + } + else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### insert log into vicidial_log for manual VICIDiaL call + $stmt="INSERT INTO vicidial_log (uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,comments,processed,user_group) values('$uniqueid','$lead_id','$list_id','$campaign','$NOW_TIME','$StarTtime','INCALL','$phone_code','$phone_number','$user','MANUAL','N','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "VICIDiaL_LOG Eingesetzt: $uniqueid|$channel|$NOW_TIME\n"; + echo "$StarTtime\n"; + } + else + { + echo "LOG NICHT EINGEGEBEN\n"; + } + + $stmt = "UPDATE vicidial_auto_calls SET uniqueid='$uniqueid' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + # ##### insert log into call_log for manual VICIDiaL call + # $stmt = "INSERT INTO call_log (uniqueid,channel,server_ip,extension,number_dialed,caller_code,start_time,start_epoch) values('$uniqueid','$channel','$server_ip','$exten','$phone_code$phone_number','MD $user $lead_id','$NOW_TIME','$StarTtime')"; + # if ($DB) {echo "$stmt\n";} + # $rslt=mysql_query($stmt, $link); + # $affected_rows = mysql_affected_rows($link); + + # if ($affected_rows > 0) + # { + # echo "CALL_LOG Eingesetzt: $uniqueid|$channel|$NOW_TIME"; + # } + # else + # { + # echo "LOG NICHT EINGEGEBEN\n"; + # } + } + } + +if ($stage == "end") + { + if ( (strlen($uniqueid)<1) || (strlen($lead_id)<1) ) + { + echo "LOG NICHT EINGEGEBEN\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id ist unzulässig\n"; + exit; + } + else + { + if ($start_epoch < 1000) + { + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ##### look for the start epoch in the vicidial_closer_log table + $stmt="SELECT start_epoch FROM vicidial_closer_log where phone_number='$phone_number' and lead_id='$lead_id' and user='$user' order by closecallid desc limit 1;"; + } + else + { + ##### look for the start epoch in the vicidial_log table + $stmt="SELECT start_epoch FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';"; + } + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch =$row[0]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($length_in_sec < 1) and ($row[0] > 0) ) + { + ##### start epoch in the vicidial_log table, couldn't find one in vicidial_closer_log + $stmt="SELECT start_epoch FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch =$row[0]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + } + } + else {$length_in_sec = ($StarTtime - $start_epoch);} + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec',status='DONE' where lead_id='$lead_id' order by start_epoch desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ($auto_dial_level > 0) + { + ### check to see if campaign has alt_dial enabled + $stmt="SELECT auto_alt_dial FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_alt_dial =$row[0]; + } + else {$auto_alt_dial = 'NONE';} + if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3)",$auto_alt_dial)) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT alt_dial FROM vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_dial =$row[0]; + } + else {$alt_dial = 'NONE';} + + if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3)",$auto_alt_dial)) ) + { + $stmt="SELECT alt_phone,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_phone = $row[0]; + $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$alt_phone = '';} + if (strlen($alt_phone)>5) + { + ### insert record into vicidial_hopper for alt_phone call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ALT',user='',priority='25';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + } + if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + { + $stmt="SELECT address3,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $address3 = $row[0]; + $address3 = eregi_replace("[^0-9]","",$address3); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$address3 = '';} + if (strlen($address3)>5) + { + ### insert record into vicidial_hopper for address3 call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ADDR3',user='',priority='20';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + + if ($enable_queuemetrics_logging > 0) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/.*-/",'',$CLstage); + if (strlen($CLstage) < 1) {$CLstage=0;} + + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt="SELECT count(*) from queue_log where call_id='$MDnextCID' and verb='COMPLETECALLER';"; + $rslt=mysql_query($stmt, $linkB); + if ($DB) {echo "$stmt\n";} + $VAC_cc_ct = mysql_num_rows($rslt); + if ($VAC_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $caller_complete = $row[0]; + } + + if ($caller_complete < 1) + { + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + } + mysql_close($linkB); + } + + ### delete call record from vicidial_auto_calls + $stmt = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',lead_id='',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } + else + { + if ($enable_queuemetrics_logging > 0) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/XFER|-/",'',$CLstage); + if ($CLstage < 0.25) {$CLstage=0;} + + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + $stmt = "DELETE from vicidial_auto_calls lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',lead_id='',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } + + ##### look for the channel in the UPDATED vicidial_manager record of the call initiation + $stmt="UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec' where uniqueid='$uniqueid' and lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "$uniqueid\n$channel\n"; + } + else + { + echo "LOG NICHT EINGEGEBEN\n\n"; + } + } + + echo $VDstop_rec_after_each_call . '|' . $extension . '|' . $conf_silent_prefix . '|' . $conf_exten . '|' . $user_abb . "|\n"; + + ##### if VICIDiaL call and hangup_after_each_call activated, find all recording + ##### channels and hang them up while entering info into recording_log and + ##### returning filename/recordingID + if ($VDstop_rec_after_each_call == 1) + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $total_rec=0; + $loop_count=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten' order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$rec_list = mysql_num_rows($rslt);} + while ($rec_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/Local\/$conf_silent_prefix$conf_exten\@/i",$row[0])) + { + $rec_channels[$total_rec] = "$row[0]"; + $total_rec++; + } + if ($format=='debug') {echo "\n";} + $loop_count++; + } + + $total_recFN=0; + $loop_count=0; + $filename=$MT; # not necessary : and cmd_line_f LIKE \"%_$user_abb\" + $stmt="SELECT cmd_line_f FROM vicidial_manager where server_ip='$server_ip' and action='Originate' and cmd_line_b = 'Channel: $local_DEF$conf_silent_prefix$conf_exten$local_AMP$ext_context' order by entry_date desc limit $total_rec;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$recFN_list = mysql_num_rows($rslt);} + while ($recFN_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + $filename[$total_recFN] = preg_replace("/Callerid: /i","",$row[0]); + if ($format=='debug') {echo "\n";} + $total_recFN++; + $loop_count++; + } + + $loop_count=0; + while($loop_count < $total_rec) + { + if (strlen($rec_channels[$loop_count])>5) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$loop_count','Channel: $rec_channels[$loop_count]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "REC_STOP|$rec_channels[$loop_count]|$filename[$loop_count]|"; + if (strlen($filename)>2) + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename[$loop_count]'"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$fn_count = mysql_num_rows($rslt);} + if ($fn_count) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt="UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename[$loop_count]' and end_epoch is NULL;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "$recording_id|$length_in_min|"; + } + else {echo "||";} + } + else {echo "||";} + echo "\n"; + } + $loop_count++; + } + } + + + $talk_sec=0; + $StarTtime = date("U"); + $stmt = "select talk_epoch,talk_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $talk_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set talk_sec='$talk_sec',talk_epoch='$StarTtime',dispo_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } +} + + +################################################################################ +### VDADREcheckINCOMING - for auto-dial VICIDiaL dialing this will recheck for +### calls to see if the channel has updated +################################################################################ +if ($ACTION == 'VDADREcheckINCOMING') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Kampagne $campaign ist unzulässig\n"; + echo "lead_id $lead_id ist unzulässig\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + } + } +} + + +################################################################################ +### VDADcheckINCOMING - for auto-dial VICIDiaL dialing this will check for calls +### in the vicidial_live_agents table in QUEUE status, then +### lookup the lead info and pass it back to vicidial.php +################################################################################ +if ($ACTION == 'VDADcheckINCOMING') +{ + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Kampagne $campaign ist unzulässig\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and status='QUEUE';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',comments='AUTO',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = trim("$row[29]"); + $called_count = trim("$row[30]"); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + $stmt = "UPDATE vicidial_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select campaign_id,phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group =$row[0]; + $dialed_number =$row[1]; + $dialed_label =$row[2]; + } + else + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|\n"); + fclose($fp); + } + } + + $stmt = "select count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + + $stmt = "select * from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[1]; + $VDCL_group_color = $row[2]; + $VDCL_group_web = $row[4]; + $VDCL_fronter_display = $row[7]; + $VDCL_ingroup_script = $row[8]; + $VDCL_get_call_launch = $row[9]; + $VDCL_xferconf_a_dtmf = $row[10]; + $VDCL_xferconf_a_number = $row[11]; + $VDCL_xferconf_b_dtmf = $row[12]; + $VDCL_xferconf_b_number = $row[13]; + $VDCL_default_xfer_group= $row[28]; + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set comments='INBOUND' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $Ctype = 'I'; + } + else + { + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + } + } + + ### if web form is set then send an to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|\n";} + else {echo "|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + } + else + { + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_campaign_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + } + echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|\n|\n"; + + $stmt = "select phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dialed_number =$row[0]; + $dialed_label =$row[1]; + } + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + ### If ANRUFBK, change vicidial_callback record to INACTIVE + if (eregi("CALLBK|CBHOLD", $dispo)) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype\n"); + fclose($fp); + } + + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user an $server_ip\n"; + exit; + } + } +} + + +################################################################################ +### userLOGout - Logs the user out of VICIDiaL client, deleting db records and +### inserting into vicidial_user_log +################################################################################ +if ($ACTION == 'userLOGout') +{ + $MT[0]=''; + $row=''; $rowx=''; +if ( (strlen($campaign)<1) || (strlen($conf_exten)<1) ) + { + echo "NO\n"; + echo "campaign $campaign or conf_exten $conf_exten ist unzulässig\n"; + exit; + } +else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### Insert a LOGOUT record into the user log + $stmt="INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$user','LOGOUT','$campaign','$NOW_TIME','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vul_insert = mysql_affected_rows($link); + + if ($no_delete_sessions < 1) + { + ##### Remove the reservation an the vicidial_conferences meetme room + $stmt="UPDATE vicidial_conferences set extension='' where server_ip='$server_ip' and conf_exten='$conf_exten';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vc_remove = mysql_affected_rows($link); + } + + ##### Delete the vicidial_live_agents record for this session + $stmt="DELETE from vicidial_live_agents where server_ip='$server_ip' and user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vla_delete = mysql_affected_rows($link); + + ##### Delete the vicidial_live_inbound_agents records for this session + $stmt="DELETE from vicidial_live_inbound_agents where user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vlia_delete = mysql_affected_rows($link); + + ##### Delete the web_client_sessions + $stmt="DELETE from web_client_sessions where server_ip='$server_ip' and session_name ='$session_name';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $wcs_delete = mysql_affected_rows($link); + + ##### Hangup the client phone + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$extension%\" order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) + { + $row=mysql_fetch_row($rslt); + $agent_channel = "$row[0]"; + if ($format=='debug') {echo "\n";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','ULGH3459$StarTtime','Channel: $agent_channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) + { + $row=mysql_fetch_row($rslt); + $pause_sec = (($StarTtime - $row[0]) + $row[1]); + + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + if ($vla_delete > 0) + { + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_message = 'LOGGED OUT'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='PAUSE',serverid='1';"; + # if ($DB) {echo "$stmt\n";} + # if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + # $rslt=mysql_query($stmt, $linkB); + # $affected_rows = mysql_affected_rows($linkB); + + $stmt = "SELECT time_id FROM queue_log where agent='Agent/$user' and verb='AGENTLOGIN' order by time_id desc limit 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + if ($DB) {echo "$stmt\n";} + echo "$stmt\n"; + $li_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $li_conf_ct) + { + $row=mysql_fetch_row($rslt); + $logintime = $row[0]; + $i++; + } + + $time_logged_in = ($StarTtime - $logintime); + if ($time_logged_in > 1000000) {$time_logged_in=1;} + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='AGENTLOGOFF',data1='$user$agents',data2='$time_logged_in',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + echo "$vul_insert|$vc_remove|$vla_delete|$wcs_delete|$agent_channel|$vlia_delete\n"; + } +} + + +################################################################################ +### updateDISPO - update the vicidial_list table to reflect the agent choice of +### call disposition for that leand +################################################################################ +if ($ACTION == 'updateDISPO') +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($dispo_choice)<1) || (strlen($lead_id)<1) ) + { + echo "Dispo Choice $dispo or lead_id $lead_id ist unzulässig\n"; + exit; + } + else + { + $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by uniqueid desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + if ( ($use_internal_dnc=='Y') and ($dispo_choice=='DNC') ) + { + $stmt = "select phone_number from vicidial_list where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $stmt="INSERT INTO vicidial_dnc (phone_number) values('$row[0]');"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + } + } + + $dispo_sec=0; + $StarTtime = date("U"); + $stmt = "select dispo_epoch,dispo_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dispo_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set dispo_sec='$dispo_sec',dispo_epoch='$StarTtime',status='$dispo_choice' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group) values('$user','$server_ip','$NOW_TIME','$campaign','$StarTtime','0','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + + ### ANRUFBACK ENTRY + if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) + { + $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$row[0])) ) + { + $stmt = "select count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE vicidial_hopper set status='READY' where lead_id='$lead_id' and status='HOLD' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + $stmt="DELETE from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='CALLSTATUS',data1='$dispo_choice',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + echo 'Lead ' . $lead_id . ' wurde geändert zu ' . $dispo_choice . " Status\nNext agent_log_id:\n" . $agent_log_id . "\n"; +} + +################################################################################ +### updateLEAD - update the vicidial_list table to reflect the values that are +### in the agents screen at time of call hangup +################################################################################ +if ($ACTION == 'updateLEAD') +{ + $MT[0]=''; + $row=''; $rowx=''; + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + if ( (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + echo "phone_number $phone_number or lead_id $lead_id ist unzulässig\n"; + exit; + } + else + { + + $stmt = "SELECT disable_alter_custdata FROM vicidial_campaigns where campaign_id='$campaign'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $dac_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $dac_conf_ct) + { + $row=mysql_fetch_row($rslt); + $disable_alter_custdata = $row[0]; + $i++; + } + if (ereg('Y',$disable_alter_custdata)) + { + $DO_NOT_UPDATE=1; + $DO_NOT_UPDATE_text=' NOT'; + $stmt = "SELECT alter_custdata_override FROM vicidial_users where user='$user'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $aco_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $aco_conf_ct) + { + $row=mysql_fetch_row($rslt); + $alter_custdata_override = $row[0]; + $i++; + } + if (ereg('ALLOW_ALTER',$alter_custdata_override)) + { + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + } + } + + if ($DO_NOT_UPDATE < 1) + { + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + $comments = eregi_replace("--AMP--",'&',$comments); + $comments = eregi_replace("--QUES--",'?',$comments); + $comments = eregi_replace("--POUND--",'#',$comments); + + $stmt="UPDATE vicidial_list set vendor_lead_code='" . mysql_real_escape_string($vendor_lead_code) . "', title='" . mysql_real_escape_string($title) . "', first_name='" . mysql_real_escape_string($first_name) . "', middle_initial='" . mysql_real_escape_string($middle_initial) . "', last_name='" . mysql_real_escape_string($last_name) . "', address1='" . mysql_real_escape_string($address1) . "', address2='" . mysql_real_escape_string($address2) . "', address3='" . mysql_real_escape_string($address3) . "', city='" . mysql_real_escape_string($city) . "', state='" . mysql_real_escape_string($state) . "', province='" . mysql_real_escape_string($province) . "', postal_code='" . mysql_real_escape_string($postal_code) . "', country_code='" . mysql_real_escape_string($country_code) . "', gender='" . mysql_real_escape_string($gender) . "', date_of_birth='" . mysql_real_escape_string($date_of_birth) . "', alt_phone='" . mysql_real_escape_string($alt_phone) . "', email='" . mysql_real_escape_string($email) . "', security_phrase='" . mysql_real_escape_string($security_phrase) . "', comments='" . mysql_real_escape_string($comments) . "' where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } + echo "Lead $lead_id information has$DO_NOT_UPDATE_text been updated\n"; +} + + +################################################################################ +### VDADpause - update the vicidial_live_agents table to show that the agent is +### or ready now active and ready to take calls +################################################################################ +if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($stage)<2) || (strlen($server_ip)<1) ) + { + echo "stage $stage ist unzulässig\n"; + exit; + } + else + { + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set lead_id='',uniqueid=0,callerid='',channel='', random_id='$random',comments='' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_live_agents set status='$stage' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + if (ereg('READY',$stage)) {$QMstatus='UNPAUSEALL';} + if (ereg('PAUSE',$stage)) {$QMstatus='PAUSEALL';} + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='$QMstatus',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + if ($agent_log == 'NO') + {$donothing=1;} + else + { + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,wait_sec,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec=0; + if ($row[2] > 0) + { + $wait_sec = (($StarTtime - $row[2]) + $row[3]); + } + if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} + else + {$pause_sec = (($row[4] - $row[0]) + $row[1]);} + + } + if ($ACTION == 'VDADready') + { + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + if ($ACTION == 'VDADpause') + { + $stmt="UPDATE vicidial_agent_log set pause_epoch='$StarTtime',wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + echo 'Agent ' . $user . ' ist jetzt im Status ' . $stage . "\n"; +} + + +################################################################################ +### UpdatEFavoritEs - update the astguiclient favorites list for this extension +################################################################################ +if ($ACTION == 'UpdatEFavoritEs') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($favorites_list)<1) || (strlen($user)<1) || (strlen($exten)<1) ) + { + echo "favorites list $favorites_list ist unzulässig\n"; + exit; + } + else + { + $stmt = "select count(*) from phone_favorites where extension='$exten' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE phone_favorites set extensions_list=\"$favorites_list\" where extension='$exten' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO phone_favorites values('$exten','$server_ip',\"$favorites_list\");"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + echo "Favorites list has been updated to $favorites_list for $exten\n"; +} + + +################################################################################ +### PauseCodeSubmit - Update vicidial_agent_log with pause code +################################################################################ +if ($ACTION == 'PauseCodeSubmit') +{ + $row=''; $rowx=''; + if ( (strlen($status)<1) || (strlen($agent_log_id)<1) ) + { + echo "agent_log_id $agent_log_id or pause_code $status ist unzulässig\n"; + exit; + } + else + { + $stmt="UPDATE vicidial_agent_log set sub_status=\"$status\" where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'BK-'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='PAUSEREASON',serverid='$queuemetrics_log_id',data1='$status';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } +echo "Pause Code has been updated to $status for $agent_log_id\n"; +} + + +################################################################################ +### CalLBacKLisT - List the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKLisT') +{ +$stmt = "select callback_id,lead_id,campaign_id,status,entry_time,callback_time,comments from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD') order by callback_time;"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); +if ($rslt) {$callbacks_count = mysql_num_rows($rslt);} +echo "$callbacks_count\n"; +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $row=mysql_fetch_row($rslt); + $callback_id[$loop_count] = $row[0]; + $lead_id[$loop_count] = $row[1]; + $campaign_id[$loop_count] = $row[2]; + $status[$loop_count] = $row[3]; + $entry_time[$loop_count] = $row[4]; + $callback_time[$loop_count] = $row[5]; + $comments[$loop_count] = $row[6]; + $loop_count++; + } +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $stmt = "select first_name,last_name,phone_number from vicidial_list where lead_id='$lead_id[$loop_count]';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + echo "$row[0] ~$row[1] ~$row[2] ~$callback_id[$loop_count] ~$lead_id[$loop_count] ~$campaign_id[$loop_count] ~$status[$loop_count] ~$entry_time[$loop_count] ~$callback_time[$loop_count] ~$comments[$loop_count]\n"; + $loop_count++; + } + +} + + +################################################################################ +### CalLBacKCounT - send the count of the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKCounT') +{ +$stmt = "select count(*) from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD');"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$cbcount=$row[0]; + +echo "$cbcount"; +} + + + + +if ($format=='debug') +{ +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +echo "\n"; +echo "\n\n\n"; +} + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/vicidial.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/vicidial.php new file mode 100644 index 00000000..b72ec677 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/vicidial.php @@ -0,0 +1,6797 @@ + LICENSE: GPLv2 +# +# make sure you have added a user to the vicidial_users MySQL table with at least +# user_level 1 or greater to access this page. Also, you need to have the login +# and pass of a phone listed in the asterisk.phones table. The page grabs the +# server info and other details from this login and pass. +# +# This script works best with Firefox or Mozilla, but will run for a couple +# hours on Internet Explorer before the memory leaks cause a crash. +# +# Other scripts that this application depends on: +# - vdc_db_query.php: Updates information in the database +# - manager_send.php: Sends manager actions to the DB for execution +# +# CHANGELOG +# 50607-1426 - First Build of VICIDIAL web client basic login process finished +# 50628-1620 - Added some basic formatting and worked on process flow +# 50628-1715 - Startup variables mapped to javascript variables +# 50629-1303 - Added Login Closer in-groups selection box and vla update +# 50629-1530 - Rough layout for customer info form section and button links +# 50630-1453 - Rough Manual Dial/Hangup with customer info displayed +# 50701-1450 - Added vicidial_log entries on dial and hangup +# 50701-1634 - Added Logout function +# 50705-1259 - Added call disposition functionality +# 50705-1432 - Added lead info DB update function +# 50705-1658 - Added web form functionality +# 50706-1043 - Added call park and pickup functions +# 50706-1234 - Added Start/Stop Recording functionality +# 50706-1614 - Added conference channels display option +# 50711-1333 - Removed call check redundancy and fixed a span bug +# 50727-1424 - Added customer channel and participant present sensing/alerts +# 50804-1057 - Added SendDTMF function and reconfigured the transfer span +# 50804-1224 - Added Local and Internal Closer transfer functions +# 50804-1628 - Added Blind transfer, activated LIVE CALL image and fixed bugs +# 50804-1808 - Added button images for left buttons +# 50815-1151 - Added 3Way calling functions to Transfer-conf frame +# 50815-1602 - Added images and buttons for xfer functions +# 50816-1813 - Added basic autodial outbound call pickup functions +# 50817-1113 - Fixes to auto_dialing call receipt +# 50817-1234 - Added inbound call receipt capability +# 50817-1541 - Added customer time display +# 50817-1541 - Added customer time display +# 50818-1327 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1703 - Added pretty login section +# 50825-1200 - Modified form field lengths, added double-click dispositions +# 50831-1603 - Fixed customer time bug and fronter display bug for CLOSER +# 50901-1314 - Fixed CLOSER IN-GROUP Web Form bug +# 50903-0904 - Added preview-lead code for manual dialing +# 50904-0016 - Added ability to hangup manual dials before pickup +# 50906-1319 - Added override for filters on xfer calls, fixed login display bug +# 50909-1243 - Added hotkeys functionality for quick dispoing in auto-dial mode +# 50912-0958 - Modified hotkeys function, agent must have user_level >= 5 to use +# 50913-1212 - Added campaign_cid to 3rd party calls +# 50923-1546 - Modified to work with language translation +# 50926-1656 - Added campaign pull-down at login of active campaigns +# 50928-1633 - Added manual dial alternate number dial option +# 50930-1538 - Added session_id empty login failure and fixed 2 minor bugs +# 51004-1656 - Fixed recording filename bug and new Spanish translation +# 51020-1103 - Added campaign-specific recording control abilities +# 51020-1352 - Added Basic vicidial_agent_log framework +# 51021-1050 - Fixed custtime display and disable Enter/Return keypresses +# 51021-1718 - Allows for multi-line comments (changes \n to !N in database) +# 51110-1432 - Fixed non-standard http port issue +# 51111-1047 - Added vicidial_agent_log lead_id earlier for manual dial +# 51118-1305 - Activate multi-line comments from $multi_line_comments var +# 51118-1313 - Move Transfer DIV to a floating span to preserve 800x600 view +# 51121-1506 - Small PHP optimizations in many scripts and disabled globalize +# 51129-1010 - Added ability to accept calls from other VICIDIAL servers +# 51129-1254 - Fixed Hangups of other agents channels when customer hangs up +# 51208-1732 - Created user-first login that looks for default phone info +# 51219-1526 - Added variable framework for campaign and in-group scripts +# 51221-1200 - Added SCRIPT tab, layout and functionality +# 51221-1714 - Added auto-switch-to-SCRIPT-tab and auto-webform-popup +# 51222-1605 - Added VMail message blind transfer button to xfer-conf frame +# 51229-1028 - Added checks on web_form_address to allow for var in the DB value +# 60117-1312 - Added Transfer-conf frame toggle on button press +# 60208-1152 - Added DTMF-xfernumber preset links to xfer-conf frame +# 60213-1129 - Added vicidial_users.hotkeys_active for any user hotkeys +# 60213-1210 - Added ability to sort routing of calls by user_level +# 60214-0932 - Initial Callback calendar display framework +# 60214-1407 - Added ability to minimize the dispo screen to see info below +# 60215-1104 - Added ANYONE scheduled callbacks functionality +# 60410-1116 - Added persistant pause after dispo option and change dispo text +# - Added web form submit that opens new window with dispo on submit +# - Added PREVIOUS CALLBACK in customer info to flag callbacks +# - Added link to try to hangup the call again in the dispo screen +# - Added link noone-in-session screen to call agent phone again +# - Added link customer-hungup screen to go straight to dispo screen +# 60410-1532 - Added agent status and campaign calls dialing display option +# 60411-1547 - Add ability to set callback as USERONLY and some basic formatting +# 60413-1752 - Add basic USERONLY callback frame and listings +# 60414-1039 - Changed manual dial preview and alt dial checkboxes to spans +# - Added beta-level USERONLY callback functionality +# - Added beta-level manual dialing with lead insertion functionality +# 60415-1534 - Fixed manual dial lead preview and fixed manuald dial override bug +# 60417-1108 - Added capability to do alt-number-dialing in auto-dial mode +# - Changed several permissions to database-defined +# 60419-1529 - Prevent manual dial or callbacks when alt-dial lead not finished +# 60420-1647 - Fixed DiaLDiaLAltPhonE error, Call Agent Again DialControl error +# 60421-1229 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60424-1005 - Fixed Alt phone disabled bug for callbacks and manual dials +# 60426-1058 - Added vicidial_user setting for default blended check for CLOSER +# 60501-1008 - Added option to manual dial screen to manually lookup phone number +# 60503-1653 - Fixed agentonly_callback not-defined bug in scheduled callbacks screen +# 60504-1032 - Fixed manual dial display bug and transfer dispo alert bug +# - Fixed recording filename display to not overrun 25 characters +# 60510-1051 - Added Wrapup timer and wrapup message on wrapup screen after dispo +# 60608-1453 - Added CLOSER campaign allowable in-groups limitations +# 60609-1123 - Added add-number-to-DNC-list function and manual dial check DNC +# 60619-1047 - Added variable filters to close security holes for login form +# 60804-1710 - fixed scheduled CALLBK for other languages build +# 60808-1145 - Added consultative transfers with customer data +# 60808-2232 - Added campaign name to pulldown for login screen +# 60809-1603 - Added option to locally transfer consult xfers +# 60809-1732 - Added recheck of transferred channels before customer gone mesg +# 60810-1011 - Fixed CXFER leave 3way call bugs +# 60816-1602 - Added ALLCALLS recording delay option allcalls_delay +# 60816-1716 - Fixed customer time display bug and client DST setting +# 60821-1555 - Added option to omit phone_code on dialout of leads +# 60821-1628 - Added ALLFORCE recording option +# 60821-1643 - Added no_delete_sessions option to not delete sessions +# 60822-0512 - Changed phone number fields to be maxlength of 12 +# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# 60906-1152 - Added Previous CallBack info display span +# 60906-1715 - Allow for Local phone extension conferences +# 61004-1729 - Add ability to control volume per channel in "calls in this session" +# 61122-1341 - Added vicidial_user_groups allowed_campaigns restrictions +# 61122-1523 - Added more SCRIPT variables +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61221-1212 - Changed width to 760 to better fit 800x600 screens, widened SCRIPT +# 70109-1128 - Fixed wrapup timer bug +# 70109-1635 - Added option for HotKeys automatically dialing next number in manual mode +# - Added option for alternate number dialing with hotkeys +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70118-1517 - Added vicidial_agent_log and vicidial_user_log logging of user_group +# 70201-1249 - Added FAST DIAL option for manually dialing, added UTF8 compatible code +# 70201-1703 - Fixed cursor bug for most text input fields +# 70202-1453 - Added first portions of Agent Pause Codes +# 70203-0108 - Finished Agent Pause Codes functionality +# 70203-0930 - Added dialed_number to webform output +# 70203-1010 - Added dialed_label to webform output +# 70206-1201 - Fixed allow_closers bug +# 70206-1332 - Added vicidial_recording_override users setting function +# 70212-1252 - Fixed small issue with CXFER +# 70213-1018 - Changed CXFER and AXFER to update customer information before transfer +# 70214-1233 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1240 - Added queuemetrics_log_id field for server_id in queue_log +# 70222-1617 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70226-1252 - Added Mute/UnMute to agent screen +# 70309-1035 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70316-1406 - Moved the MUTE button to be accessible during a transfer/conf +# 70319-1446 - Added agent-deactive-display and disable customer info update functions +# 70319-1626 - Added option to allow agent logins to campaigns with no leads in the hopper +# 70320-1501 - Added option to allow retry of leave-3way-call from dispo screen +# 70322-1545 - Added sipsak display ability +# 70510-1319 - Added onUnload force Logout +# 70806-1530 - Added Presets Dial links above agent mute button +# 70823-2118 - Fixed XMLHTTPRequest, HotKeys and Scheduled Callbacks issues with MSIE +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71022-1427 - Added formatting of the customer phone number in the main status bar +# 71029-1848 - Changed CLOSER-type campaign to not use campaign_id restrictions +# 71101-1204 - Fixed bug in callback calendar with DST +# 71116-0957 - Added campaign_weight and calls_today to the vla table insertion +# 71120-1719 - Added XMLHTPRequest lookup of allowable campaigns for agents during login +# 71122-0256 - Added auto-pause notification +# 71125-1751 - Changed Transfer section to allow for selection of in-groups to send calls to +# 71127-0408 - Added height and width settings for easier modification of screen size +# 71129-2025 - restricted callbacks count and list to campaign only +# + +$version = '2.0.4-142'; +$build = '71129-2025'; + +require("dbconnect.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["VD_login"])) {$VD_login=$_GET["VD_login"];} + elseif (isset($_POST["VD_login"])) {$VD_login=$_POST["VD_login"];} +if (isset($_GET["VD_pass"])) {$VD_pass=$_GET["VD_pass"];} + elseif (isset($_POST["VD_pass"])) {$VD_pass=$_POST["VD_pass"];} +if (isset($_GET["VD_campaign"])) {$VD_campaign=$_GET["VD_campaign"];} + elseif (isset($_POST["VD_campaign"])) {$VD_campaign=$_POST["VD_campaign"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + if (isset($VD_campaign)) + { + $VD_campaign = strtoupper($VD_campaign); + $VD_campaign = eregi_replace(" ",'',$VD_campaign); + } + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); + $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); + $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); + + +$forever_stop=0; + +if ($force_logout) +{ + echo "Sie haben sich abgemeldet. Danke\n"; + exit; +} + +$isdst = date("I"); +$StarTtimE = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$tsNOW_TIME = date("YmdHis"); +$FILE_TIME = date("Ymd-His"); +$CIDdate = date("ymdHis"); + $month_old = mktime(11, 0, 0, date("m"), date("d")-2, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + + +$random = (rand(1000000, 9999999) + 10000000); + +$conf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently +$HKuser_level = '5'; # minimum vicidial user_level for HotKeys +$campaign_login_list = '1'; # show drop-down list of campaigns at login +$manual_dial_preview = '1'; # allow preview lead option when manual dial +$multi_line_comments = '1'; # set to 1 to allow multi-line comment box +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the phone login +$view_scripts = '1'; # set to 1 to show the SCRIPTS tab +$dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo +$agentcallsstatus = '0'; # set to 1 to show agent status and call count + $campagentstatctmax = '0'; # Number of Sekunden for campaign call and agent stats +$show_campname_pulldown = '1'; # set to 1 to show campaign name an login pulldown +$webform_sessionname = '1'; # set to 1 to include the session_name in webform URL +$local_consult_xfers = '1'; # set to 1 to send consultative transfers from original server +$clientDST = '1'; # set to 1 to check for DST an server for agent time +$no_delete_sessions = '0'; # set to 1 to not delete sessions at logout +$volumecontrol_active = '1'; # set to 1 to allow agents to alter volume of channels +$PreseT_DiaL_LinKs = '1'; # set to 1 to show a WÄHLEN link for Dial Presets +$LogiNAJAX = '1'; # set to 1 to do lookups +$HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from "session calls" + +$TEST_all_statuses = '0'; # TEST variable allows all statuses in dispo screen + +$BROWSER_HEIGHT = 500; # set to the minimum browser height, default=500 +$BROWSER_WIDTH = 770; # set to the minimum browser width, default=770 + + +# options now set in DB: +#$alt_phone_dialing = '1'; # allow agents to call alt phone numbers +#$scheduled_callbacks = '1'; # set to 1 to allow agent to choose scheduled callbacks +# $agentonly_callbacks = '1'; # set to 1 to allow agent to choose agent-only scheduled callbacks +#$agentcall_manual = '1'; # set to 1 to allow agent to make manual calls during autodial session + +### SCREEN WIDTH AND HEIGHT CALCULATIONS ### +### DO NOT EDIT! ### +$MASTERwidth=($BROWSER_WIDTH - 340); +$MASTERheight=($BROWSER_HEIGHT - 200); +if ($MASTERwidth < 430) {$MASTERwidth = '430';} +if ($MASTERheight < 300) {$MASTERheight = '300';} + +$CAwidth = ($MASTERwidth + 340); # 770 - cover all (none-in-session, customer hunngup, etc...) +$MNwidth = ($MASTERwidth + 330); # 760 - main frame +$XFwidth = ($MASTERwidth + 320); # 750 - transfer/conference +$HCwidth = ($MASTERwidth + 310); # 740 - hotkeys and callbacks +$AMwidth = ($MASTERwidth + 270); # 700 - agent mute and preset-dial links +$SSwidth = ($MASTERwidth + 176); # 606 - scroll script +$SDwidth = ($MASTERwidth + 170); # 600 - scroll script, customer data and calls-in-session +$HKwidth = ($MASTERwidth + 70); # 500 - Hotkeys button +$HSwidth = ($MASTERwidth + 1); # 431 - Header spacer + +$HKheight = ($MASTERheight + 105); # 405 - HotKey active Button +$AMheight = ($MASTERheight + 100); # 400 - Agent mute and preset dial links +$MBheight = ($MASTERheight + 65); # 365 - Manual Dial Buttons +$CBheight = ($MASTERheight + 50); # 350 - Agent Callback, pause code, volume control Buttons and agent status +$SSheight = ($MASTERheight + 31); # 331 - script content +$HTheight = ($MASTERheight + 10); # 310 - transfer frame, callback comments and hotkey +$BPheight = ($MASTERheight - 250); # 50 - bottom buffer + + +$US='_'; +$CL=':'; +$AT='@'; +$DS='-'; +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = eregi_replace('vicidial.php','',$agcPAGE); + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ($campaign_login_list > 0) +{ +$camp_form_code = "\n"; +} +else +{ +$camp_form_code = "\n"; +} + + +if ($LogiNAJAX > 0) +{ +?> + + + +VICIWÄHLEN web client: Re-Login\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Deutsch
\n"; +echo "
\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Re-Login
 
Telefon Login:
Telefon Passwort:
Benutzer Login:
Benutzer Passwort:
Kampagne: $camp_form_code

VERSION: $version       BUILD: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} + +if ($user_login_first == 1) +{ + if ( (strlen($VD_login)<1) or (strlen($VD_pass)<1) or (strlen($VD_campaign)<1) ) + { + echo "VICIWÄHLEN web client: Kampagne Login\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Deutsch
\n"; + echo "
\n"; + echo "\n"; + #echo "\n"; + #echo "\n"; + echo "

Benutzer Login

"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Kampagne Login
 
Benutzer Login:
Benutzer Passwort:
Kampagne: $camp_form_code
  \n"; + echo "

VERSION: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + echo "VICIWÄHLEN web client: Login\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Deutsch
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login
 
Telefon Login:
Telefon Passwort:
Benutzer Login:
Benutzer Passwort:
Kampagne: $camp_form_code
  \n"; + echo "

VERSION: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + + } + } +} + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "VICIWÄHLEN web client: Telefon Login\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Deutsch
\n"; +echo "
\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Telefon Login
 
Telefon Login:
Telefon Passwort:
  \n"; +echo "

VERSION: $version       BUILD: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./vicidial_auth_entries.txt", "a");} +$VDloginDISPLAY=0; + + if ( (strlen($VD_login)<2) or (strlen($VD_pass)<2) or (strlen($VD_campaign)<2) ) + { + $VDloginDISPLAY=1; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if($auth>0) + { + $login=strtoupper($VD_login); + $password=strtoupper($VD_pass); + ##### grab the full name of the agent + $stmt="SELECT full_name,user_level,hotkeys_active,agent_choose_ingroups,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,closer_default_blended,user_group,vicidial_recording_override from vicidial_users where user='$VD_login' and pass='$VD_pass'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $user_level=$row[1]; + $VU_hotkeys_active=$row[2]; + $VU_agent_choose_ingroups=$row[3]; + $VU_scheduled_callbacks=$row[4]; + $agentonly_callbacks=$row[5]; + $agentcall_manual=$row[6]; + $VU_vicidial_recording=$row[7]; + $VU_vicidial_transfers=$row[8]; + $VU_closer_default_blended=$row[9]; + $VU_user_group=$row[10]; + $VU_vicidial_recording_override=$row[11]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|GOOD|$date|$VD_login|$VD_pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + $user_abb = "$VD_login$VD_login$VD_login$VD_login"; + while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns =$row[0]; + + if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) + { + echo "VICIWÄHLEN web client: VICIWÄHLEN Kampagne Login\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Deutsch
\n"; + echo "Sorry, you are not allowed to login to this campaign: $VD_campaign\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Login: \n
"; + echo "Passwort:
\n"; + echo "Kampagne: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + ##### check to see that the campaign is active + $stmt="SELECT count(*) FROM vicidial_campaigns where campaign_id='$VD_campaign' and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $CAMPactive=$row[0]; + if($CAMPactive>0) + { + if ($TEST_all_statuses > 0) {$selectableSQL = '';} + else {$selectableSQL = "selectable='Y' and";} + $VARstatuses=''; + $VARstatusnames=''; + ##### grab the statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_statuses WHERE $selectableSQL status != 'NEW' order by status limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_statuses_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $VD_statuses_ct) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + } + + ##### grab the campaign-specific statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_campaign_statuses WHERE $selectableSQL status != 'NEW' and campaign_id='$VD_campaign' order by status limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_statuses_camp = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + $j++; + } + $VD_statuses_ct = ($VD_statuses_ct+$VD_statuses_camp); + $VARstatuses = substr("$VARstatuses", 0, -1); + $VARstatusnames = substr("$VARstatusnames", 0, -1); + + ##### grab the campaign-specific HotKey statuses that can be used for dispositioning by an agent + $stmt="SELECT hotkey,status,status_name FROM vicidial_campaign_hotkeys WHERE selectable='Y' and status != 'NEW' and campaign_id='$VD_campaign' order by hotkey limit 9;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $HK_statuses_camp = mysql_num_rows($rslt); + $w=0; + $HKboxA=''; + $HKboxB=''; + $HKboxC=''; + while ($w < $HK_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $HKhotkey[$w] =$row[0]; + $HKstatus[$w] =$row[1]; + $HKstatus_name[$w] =$row[2]; + $HKhotkeys = "$HKhotkeys'$HKhotkey[$w]',"; + $HKstatuses = "$HKstatuses'$HKstatus[$w]',"; + $HKstatusnames = "$HKstatusnames'$HKstatus_name[$w]',"; + if ($w < 3) + {$HKboxA = "$HKboxA $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + if ( ($w >= 3) and ($w < 6) ) + {$HKboxB = "$HKboxB $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + if ($w >= 6) + {$HKboxC = "$HKboxC $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + $w++; + } + $HKhotkeys = substr("$HKhotkeys", 0, -1); + $HKstatuses = substr("$HKstatuses", 0, -1); + $HKstatusnames = substr("$HKstatusnames", 0, -1); + + ##### grab the statuses to be dialed for your campaign as well as other campaign settings + $stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups FROM vicidial_campaigns where campaign_id = '$VD_campaign';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $park_ext = $row[0]; + $park_file_name = $row[1]; + $web_form_address = $row[2]; + $allow_closers = $row[3]; + $auto_dial_level = $row[4]; + $dial_timeout = $row[5]; + $dial_prefix = $row[6]; + $campaign_cid = $row[7]; + $campaign_vdad_exten = $row[8]; + $campaign_rec_exten = $row[9]; + $campaign_recording = $row[10]; + $campaign_rec_filename = $row[11]; + $campaign_script = $row[12]; + $get_call_launch = $row[13]; + $campaign_am_message_exten = $row[14]; + $xferconf_a_dtmf = $row[15]; + $xferconf_a_number = $row[16]; + $xferconf_b_dtmf = $row[17]; + $xferconf_b_number = $row[18]; + $alt_number_dialing = $row[19]; + $VC_scheduled_callbacks = $row[20]; + $wrapup_Sekunden = $row[21]; + $wrapup_message = $row[22]; + $closer_campaigns = $row[23]; + $use_internal_dnc = $row[24]; + $allcalls_delay = $row[25]; + $omit_phone_code = $row[26]; + $agent_pause_codes_active = $row[27]; + $no_hopper_leads_logins = $row[28]; + $campaign_allow_inbound = $row[29]; + $manual_dial_list_id = $row[30]; + $default_xfer_group = $row[31]; + $xfer_groups = $row[32]; + + if ( (!ereg('DISABLED',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) + { + $campaign_recording = $VU_vicidial_recording_override; + print "\n"; + } + if ( ($VC_scheduled_callbacks=='Y') and ($VU_scheduled_callbacks=='1') ) + {$scheduled_callbacks='1';} + if ($VU_vicidial_recording=='0') + {$campaign_recording='NEVER';} + if ($alt_number_dialing=='Y') + {$alt_phone_dialing='1';} + else + {$alt_phone_dialing='0';} + $closer_campaigns = preg_replace("/^ | -$/","",$closer_campaigns); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + if ($agent_pause_codes_active=='Y') + { + ##### grab the pause codes for this campaign + $stmt="SELECT pause_code,pause_code_name FROM vicidial_pause_codes WHERE campaign_id='$VD_campaign' order by pause_code limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_pause_codes = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_pause_codes) + { + $row=mysql_fetch_row($rslt); + $pause_codes[$i] =$row[0]; + $pause_code_names[$i] =$row[1]; + $VARpause_codes = "$VARpause_codes'$pause_codes[$i]',"; + $VARpause_code_names = "$VARpause_code_names'$pause_code_names[$i]',"; + $i++; + $j++; + } + $VD_pause_codes_ct = ($VD_pause_codes_ct+$VD_pause_codes); + $VARpause_codes = substr("$VARpause_codes", 0, -1); + $VARpause_code_names = substr("$VARpause_code_names", 0, -1); + } + + ##### grab the inbound groups to choose from if campaign contains CLOSER + $VARingroups="''"; + if ($campaign_allow_inbound == 'Y') + { + $VARingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 60;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $closer_ct = mysql_num_rows($rslt); + $INgrpCT=0; + while ($INgrpCT < $closer_ct) + { + $row=mysql_fetch_row($rslt); + $closer_groups[$INgrpCT] =$row[0]; + $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $INgrpCT++; + } + $VARingroups = substr("$VARingroups", 0, -1); + } + + ##### grab the allowable inbound groups to choose from for transfer options + $xfer_groups = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groups = preg_replace("/ /","','",$xfer_groups); + $xfer_groups = "'$xfer_groups'"; + $VARxfergroups="''"; + if ($allow_closers == 'Y') + { + $VARxfergroups=''; + $stmt="select group_id,group_name from vicidial_inbound_groups where active = 'Y' and group_id IN($xfer_groups) order by group_id limit 60;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $xfer_ct = mysql_num_rows($rslt); + $XFgrpCT=0; + while ($XFgrpCT < $xfer_ct) + { + $row=mysql_fetch_row($rslt); + $VARxfergroups = "$VARxfergroups'$row[0]',"; + $VARxfergroupsnames = "$VARxfergroupsnames'$row[1]',"; + if ($row[0] == "$default_xfer_group") {$default_xfer_group_name = $row[1];} + $XFgrpCT++; + } + $VARxfergroups = substr("$VARxfergroups", 0, -1); + $VARxfergroupsnames = substr("$VARxfergroupsnames", 0, -1); + } + + ##### grab the number of leads in the hopper for this campaign + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id = '$VD_campaign' and status='READY';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $campaign_leads_to_call = $row[0]; + print "\n"; + + } + else + { + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "Die Kampagne ist nicht aktiv, versuchen sie es bitte noch einmal
"; + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|FAIL|$date|$VD_login|$VD_pass|$ip|$browser|\n"); + fclose($fp); + } + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "Falsches Passwort, versuchen sie es bitte noch einmal
"; + } + } + if ($VDloginDISPLAY) + { + echo "VICIWÄHLEN web client: Kampagne Login\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Deutsch
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

$VDdisplayMESSAGE

"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Kampagne Login
 
Benutzer Login:
Benutzer Passwort:
Kampagne: $camp_form_code
  \n"; + echo "

VERSION: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + +$authphone=0; +$stmt="SELECT count(*) from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "VICIWÄHLEN web client: Telefon Login Error\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Deutsch
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login Error
 
Ihr Telefon Login ist nicht aktiv, bitte versuchen sie es noch einmal:
 
Telefon Login:
Telefon Passwort:

VERSION: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { + echo "VICIWÄHLEN web client\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $login=$row[6]; + $pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $AnruferID_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $enable_sipsak_messages=$row[66]; + + if ($clientDST) + { + $local_gmt = ($local_gmt + $isdst); + } + if ($protocol == 'EXTERNAL') + { + $protocol = 'Local'; + $extension = "$dialplan_number$AT$ext_context"; + } + $SIP_user = "$protocol/$extension"; + + $stmt="SELECT asterisk_version from servers where server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $asterisk_version=$row[0]; + + # If a park extension is not set, use the default one + if ( (strlen($park_ext)>0) && (strlen($park_file_name)>0) ) + { + $VICIDiaL_park_on_extension = "$park_ext"; + $VICIDiaL_park_on_filename = "$park_file_name"; + print "\n"; + } + print "\n"; + + # If a web form address is not set, use the default one + if (strlen($web_form_address)>0) + { + $VICIDiaL_web_form_address = "$web_form_address"; + print "\n"; + } + else + { + $VICIDiaL_web_form_address = "$VICIDiaL_web_URL"; + print "\n"; + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + } + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + # If closers are allowed an this campaign + if ($allow_closers=="Y") + { + $VICIDiaL_allow_closers = 1; + print "\n"; + } + else + { + $VICIDiaL_allow_closers = 0; + print "\n"; + } + + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtimE$US$session_ext$session_rand"; + + if ($webform_sessionname) + {$webform_sessionname = "&session_name=$session_name";} + else + {$webform_sessionname = '';} + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'vicidial';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','vicidial','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + if ( ($campaign_allow_inbound == 'Y') || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + { + ### insert an entry into the user log for the login event + $stmt = "INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$VD_login','LOGIN','$VD_campaign','$NOW_TIME','$StarTtimE','$VU_user_group')"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly + $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $prev_login_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $prev_login_ct) + { + $row=mysql_fetch_row($rslt); + $session_id =$row[0]; + $i++; + } + if ($prev_login_ct > 0) + {print "\n";} + else + { + ##### grab the next available vicidial_conference room and reserve it + $stmt="SELECT conf_exten FROM vicidial_conferences where server_ip = '$server_ip' and ((extension='') or (extension is null)) LIMIT 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $free_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $free_conf_ct) + { + $row=mysql_fetch_row($rslt); + $session_id =$row[0]; + $i++; + } + $stmt="UPDATE vicidial_conferences set extension='$SIP_user' where server_ip='$server_ip' and conf_exten='$session_id';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + print "\n"; + + } + + $stmt="UPDATE vicidial_list set status='N', user='' where status IN('QUEUE','INCALL') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_hopper where status IN('QUEUE','INCALL','DONE') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_inbound_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + # print "You have logged in as user: $VD_login an phone: $SIP_user zur Kampagne: $VD_campaign
\n"; + $VICIDiaL_is_logged_in=1; + + ### set the callerID for manager middleware-app to connect the phone to the user + $SIqueryCID = "S$CIDdate$session_id"; + + ############################################# + ##### START SYSTEM_SETTINGS LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,vicidial_agent_disable,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $vicidial_agent_disable = $row[6]; + $allow_sipsak_messages = $row[7]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$VD_campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $SIqueryCID = "$SIPSAK_prefix$VD_campaign$DS$CIDdate"; + } + + ### insert a NEU record to the vicidial_manager table to be processed + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $SIP_user','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: $SIqueryCID','','','','','');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($auto_dial_level > 0) + { + print "\n"; + + ##### grab the campaign_weight and number of calls today an that campaign for the agent + $stmt="SELECT campaign_weight,calls_today FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vca_ct = mysql_num_rows($rslt); + if ($vca_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_weight = $row[0]; + $calls_today = $row[1]; + $i++; + } + else + { + $campaign_weight = '0'; + $calls_today = '0'; + $stmt="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) values('$VD_login','$VD_campaign','0','0','$calls_today');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + } + $closer_chooser_string=''; + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,closer_campaigns,user_level,campaign_weight,calls_today) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$closer_chooser_string','$user_level','$campaign_weight','$calls_today');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='$VD_campaign',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + + + if ($campaign_allow_inbound == 'Y') + { + print "\n"; + } + } + else + { + print "\n"; + + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,user_level) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$user_level');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='$VD_campaign',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + } + } + else + { + echo "VICIWÄHLEN web client: VICIWÄHLEN Kampagne Login\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Deutsch
\n"; + echo "Es sind keine aktiven Adressen mehr im Hopper\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Login: \n
"; + echo "Passwort:
\n"; + echo "Kampagne: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + if (strlen($session_id) < 1) + { + echo "VICIWÄHLEN web client: VICIWÄHLEN Kampagne Login\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Deutsch
\n"; + echo "Sorry, there are no available sessions\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Login: \n
"; + echo "Passwort:
\n"; + echo "Kampagne: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + if (ereg('MSIE',$browser)) + { + $useIE=1; + print "\n"; + } + else + { + $useIE=0; + print "\n"; + } + + $StarTtimE = date("U"); + $NOW_TIME = date("Y-m-d H:i:s"); + ##### Agent is going to log in so insert the vicidial_agent_log entry now + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group,sub_status) values('$VD_login','$server_ip','$NOW_TIME','$VD_campaign','$StarTtimE','0','$StarTtimE','$VU_user_group','LOGIN');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + print "\n"; + + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $server_ip_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S"; + + ##### grab the datails of all active scripts in the system + $stmt="SELECT script_id,script_name,script_text FROM vicidial_scripts WHERE active='Y' order by script_id limit 100;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $MM_scripts = mysql_num_rows($rslt); + $e=0; + while ($e < $MM_scripts) + { + $row=mysql_fetch_row($rslt); + $MMscriptid[$e] =$row[0]; + $MMscriptname[$e] = rawurlencode($row[1]); + $MMscripttext[$e] = rawurlencode($row[2]); + $MMscriptids = "$MMscriptids'$MMscriptid[$e]',"; + $MMscriptnames = "$MMscriptnames'$MMscriptname[$e]',"; + $MMscripttexts = "$MMscripttexts'$MMscripttext[$e]',"; + $e++; + } + $MMscriptids = substr("$MMscriptids", 0, -1); + $MMscriptnames = substr("$MMscriptnames", 0, -1); + $MMscripttexts = substr("$MMscripttexts", 0, -1); + + } +} + +################################################################ +### BEGIN - build the callback calendar (12 months) ### +################################################################ +define ('ADAY', (60*60*24)); +$CdayARY = getdate(); +$Cmon = $CdayARY['mon']; +$Cyear = $CdayARY['year']; +$CTODAY = date("Y-m"); +$CTODAYmday = date("j"); +$CINC=0; + +$Cmonths = Array('Januar','February','März','April','Mai','Juni', + 'Juli','August','September','Oktober','November','Dezember'); +$Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); + +$CCAL_OUT = ''; + +$CCAL_OUT .= ""; + +while ($CINC < 12) +{ +if ( ($CINC == 0) || ($CINC == 4) ||($CINC == 8) ) + {$CCAL_OUT .= "";} + +$CCAL_OUT .= ""; + +if ( ($CINC == 3) || ($CINC == 7) ||($CINC == 11) ) + {$CCAL_OUT .= "";} +$CINC++; +} + +$CCAL_OUT .= "
"; + +$CYyear = $Cyear; +$Cmonth= ($Cmon + $CINC); +if ($Cmonth > 12) + { + $Cmonth = ($Cmonth - 12); + $CYyear++; + } +$Cstart= mktime(11,0,0,$Cmonth,1,$CYyear); +$CfirstdayARY = getdate($Cstart); +#echo "|$Cmon|$Cmonth|$CINC|\n"; +$CPRNTDAY = date("Y-m", $Cstart); + +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; + +foreach($Cdays as $Cday) +{ + $CDCLR="#ffffff"; +$CCAL_OUT .= ""; +} + +for( $Ccount=0;$Ccount<(6*7);$Ccount++) +{ + $Cdayarray = getdate($Cstart); + if((($Ccount) % 7) == 0) + { + if($Cdayarray['mon'] != $CfirstdayARY['mon']) + break; + $CCAL_OUT .= ""; + } + if($Ccount < $CfirstdayARY['wday'] || $Cdayarray['mon'] != $Cmonth) + { + $CCAL_OUT .= ""; + } + else + { + if( ($Cdayarray['mday'] == $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + else + { + $CDCLR="#ffffff"; + if ( ($Cdayarray['mday'] < $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CDCLR="#CCCCCC"; + $CBL = ''; + $CEL = ''; + } + else + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + } + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + } +} +$CCAL_OUT .= ""; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "$Cday"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
 "; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; + +#echo "$CCAL_OUT\n"; +################################################################ +### END - build the callback calendar (12 months) ### +################################################################ + + +?> + + + + +\n"; + + +?> + +
+ + MARGINWIDTH=0 MARGINHEIGHT=0 LEFTMARGIN=0 TOPMARGIN=0 VALIGN=TOP ALIGN=LEFT> +
+ + + +LOGOUT\n"; ?> +
+
+ + + height=30> + + + + + +
VICIWÄHLENSCRIPT VALIGN=MIDDLE ALIGN=CENTER>   LIVE     Session ID: Live Anruf
+
+ + + + + height=>

VICIWÄHLEN
+
+ + +MANUELLER ANRUF       SCHNELLER VORWAHLKNOPF
+
+ + +X AKTIVE WIEDERVORLAGEN
+
+ + +
+
+ + + D1 - WÄHLEN\n"; + echo "
\n"; + echo "D2 - WÄHLEN\n"; + } + else {echo "
\n";} + ?> +

+
+
+ + + height=460>
WIEDERVORLAGEN FÜR AGENT :
Klicken Sie jetzt unten auf eine Wiedervorlage, um den Kunden zurückzurufen. Danach wird die Wiedervorlage aus der Liste gelöscht.. +
+
+
  + Aktualisieren +                 + Zurück +
+
+ + + height=460>
NEUE MANUELLE ADRESSE FÜR :

Tragen Sie unten die Informationen zu der neuen Adresse ein, die SIE wählen möchten. +
+ \n"; + } + ?> + Note: all new manual dial leads will go into list

+ + + + + + + + + + + + + + + +
Wahl Code:   (Dieses ist normalerweise 49 in Deutschland)
Telefon Number: +   (12 digits max - digits only) +
Suche existierende Adresse:   (Wenn diese Option ausgewählt ist, wird versucht, die Telefonnummer im System zu finden, bevor eine neue Adresse eingefügt wird)


Wenn Sie eine Nummer wählen möchten, die nicht in der Adressliste aufgenommen werden soll, müssen die genaue Nummer in das WÄHLVORGANG OVERRIDE Feld eintragen. Um diesen Anruf aufzulegen, müssen Sie auf den ANRUFS IN THIS SESSION Link klicken, und dann mit dem Leitung Link den Anruf zu beenden..
 
Wahl Override:   (Bitte nur Zahlen) +
+
+ Jetzt wählen +                 + Zurück +
+
+ + + +
+
+ + + + +Ihr Status:
Calls Dialing: +
+ + + + + > + +
+
+ + Transfer - Konferenz
+ + + LOKALER SUPERVISOR + Transferleitung auflegen + Beide Leitungen auflegen + +
+ + Anzurufende Telefonnummer   + + WÄHLVORGANG OVERRIDE   + 3-WEGE ANRUF VERLASSEN + Wähle blinden Transfer + D1 + D2 + +
+ + Sekunden   + channel + Kunden anrufen + Kundenanruf parken + Blind Transfer VMail Message +
+
+
+
+ + + + height=70> + +
Adresse hat das Gesprächsergebnis:

+ -
+
+
+ + + height=70> + + + + +
Gesprächsergebniss Tastaturkürzel: + Wenn aktiviert, drücken sie einfach die entsprechende Taste, um das Gesprächsgebnis zu speichern. Der Anruf wird dann automatisch aufgelegt.:
+ + + + + +
+
+ + + height=70> + + + + + + +
Informationen zur letzten Wiedervorlage: close
+
+
+
+
+ +
+
+ + + height=500>
Niemand ist in ihrer Konferenz.:
+ Zurück +

+ Agent wieder anrufen +
+
+ + + height=500>
Kunde hat aufgelegt:
+ Zurück +

+ Ende und Gesprächsergebniss + +
+
+ + + height=550>
Anruf Nachbereitung Verbleibende Sekunden der Nachbereitung

+ +

+ Beende Nachbereitung und mache weiter + +
+
+ + + height=500>
Ihr Lernabschnitt ist gesperrt worden
LOGOUT

Zurück +
+
+ + + height=500>

LOGOUT
+
+ + +
+
+ + +
 
+
+ + + height=47>
Die Änderungen an den Kundendaten werden nicht übernommen. Sie müssen die Kundendaten ändern bevor Sie aufgelegt haben..
+
+ + + height=460>
ABSCHLUSS ANRUF :       Wieder Auflegen       minimieren
+ Gesprächsergebnis Auswahl +
+ WÄHLPAUSE
+ FORMULAR ZURÜCKSETZEN | + ÜBERNEHMEN +

+ WEB FORM ÜBERNEHMEN +

  +
+
+ + + height=460>
WÄHLEN Sie Einen PAUSE CODE Vor :
+ Pause Code Selection + +

  +
+
+ + + height=460>
Wählen Sie ein Rückrufadatum :
+ + + Wählen Sie unten ein Datum   +     + Hour: +   + Minutes: +   + +  
+ NUR MEINE WIEDERVORLAGE
";} + ?> + WV Anmerkungen:

+ + ÜBERNEHMEN

+ +

  +
+
+ + + height=460>
SUPERVISOR INBOUND GRUPPENWAHL
+ Supervisor Inbound Gruppenwahl +
+ GEMISCHTES ANRUFEN(Outbound aktiviert)
+ ZURÜCKSETZEN | + ÜBERNEHMEN +



  +
+
+ + + + Kanal + Kanal + NUR MEINE WIEDERVORLAGE
";} + ?> +
+ + + + height=>
VICIWÄHLEN SCRIPT
+
+ + + 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> +TASTATURKÜRZEL DEAKTIVIERT + + + + +> + + + +
VICIWÄHLEN Web-Client Version:     BUILD:               Server:              
+Konferenz Informationen zeigen

 
+
+ + + +
+
+ + + + + id="MainTable"> + + + + + + + + + + + + + + + +
STATUS:
+
+Nächste Nummer wählen
+ ADRESSEN VORSCHAU
+ ALTERNATIVE TELEFONNUMMER WÄHLEN
+ + +Aufzeichnungsdatei:
+
+
+Aufzeichnugs ID:
+
+ +Starte Aufnahme
+
+Web Formular
+
+Parke Anruf
+Transfer - Konferenz
+
+Kunden auflegen
+
+
Senden Sie DTMF

+
+
+
align=left valign=top> + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Sekunden:   Kanal:   Cust Zeit:
Kunden Information:
Titel:   Vorname:   MI:  Nachname:
Adresse1:
Adresse2:   Adresse3:
Stadt:   Bundesland:   Postleitzahl:
Region:   Anbieter ID:
Telefon:   Vorwahl:   Alternative Telefonnummer:
Zeigen:   Email:
Anmerkungen: + +\n";} +else + {echo "\n";} +?> + +
+
+ +
+
> + 
+ + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/voicemail_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/voicemail_check.php new file mode 100644 index 00000000..6ddcee43 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_de/voicemail_check.php @@ -0,0 +1,140 @@ + LICENSE: GPLv2 +### +### This script is designed purely to check whether the voicemail box on the server defined has new and old messages +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $vmail_box - ('101','1234',...) +### + +# changes +# 50422-1147 - First build of script +# 50503-1241 - added session_name checking for extra security +# 50711-1201 - removed HTTP authentication in favor of user/pass vars +# 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1204 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.5'; +$build = '60619-1204'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Unzulässig Benutzername/Passwort: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Unzulässig server_ip: |$server_ip| or Unzulässig session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Unzulässig session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Voicemail Check"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + $MT[0]=''; + $row=''; $rowx=''; + if (strlen($vmail_box)<1) + { + $channel_live=0; + echo "Voicemailbox $vmail_box ist unzulässig\n"; + exit; + } + else + { + $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $vmails_list = mysql_num_rows($rslt); + $loop_count=0; + while ($vmails_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0]|$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/active_list_refresh.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/active_list_refresh.php new file mode 100644 index 00000000..2de39cae --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/active_list_refresh.php @@ -0,0 +1,482 @@ + LICENSE: GPLv2 +### +### This script is designed purely to serve updates of the live data to the display scripts +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $ADD - ('1','2','3','4','5') +### - $order - ('asc','desc') +### - $format - ('text','table','menu','selectlist','textarea') +### - $bgcolor - ('#123456','white','black','etc...') +### - $txtcolor - ('#654321','black','white','etc...') +### - $txtsize - ('1','2','3','etc...') +### - $selectsize - ('2','3','4','etc...') +### - $selectfontsize - ('8','10','12','etc...') +### - $selectedext - ('cc100') +### - $selectedtrunk - ('Zap/25-1') +### - $selectedlocal - ('SIP/cc100') +### - $textareaheight - ('8','10','12','etc...') +### - $textareawidth - ('8','10','12','etc...') +### - $field_name - ('extension','busyext','extension_xfer','etc...') +### + +# changes +# 50323-1147 - First build of script +# 50401-1132 - small formatting changes +# 50502-1402 - added field_name as modifiable variable +# 50503-1213 - added session_name checking for extra security +# 50503-1311 - added conferences list +# 50610-1155 - Added NULL check on MySQL results to reduced errors +# 50711-1209 - removed HTTP authentication in favor of user/pass vars +# 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1118 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["order"])) {$order=$_GET["order"];} + elseif (isset($_POST["order"])) {$order=$_POST["order"];} +if (isset($_GET["bgcolor"])) {$bgcolor=$_GET["bgcolor"];} + elseif (isset($_POST["bgcolor"])) {$bgcolor=$_POST["bgcolor"];} +if (isset($_GET["txtcolor"])) {$txtcolor=$_GET["txtcolor"];} + elseif (isset($_POST["txtcolor"])) {$txtcolor=$_POST["txtcolor"];} +if (isset($_GET["txtsize"])) {$txtsize=$_GET["txtsize"];} + elseif (isset($_POST["txtsize"])) {$txtsize=$_POST["txtsize"];} +if (isset($_GET["selectsize"])) {$selectsize=$_GET["selectsize"];} + elseif (isset($_POST["selectsize"])) {$selectsize=$_POST["selectsize"];} +if (isset($_GET["selectfontsize"])) {$selectfontsize=$_GET["selectfontsize"];} + elseif (isset($_POST["selectfontsize"])) {$selectfontsize=$_POST["selectfontsize"];} +if (isset($_GET["selectedext"])) {$selectedext=$_GET["selectedext"];} + elseif (isset($_POST["selectedext"])) {$selectedext=$_POST["selectedext"];} +if (isset($_GET["selectedtrunk"])) {$selectedtrunk=$_GET["selectedtrunk"];} + elseif (isset($_POST["selectedtrunk"])) {$selectedtrunk=$_POST["selectedtrunk"];} +if (isset($_GET["selectedlocal"])) {$selectedlocal=$_GET["selectedlocal"];} + elseif (isset($_POST["selectedlocal"])) {$selectedlocal=$_POST["selectedlocal"];} +if (isset($_GET["textareaheight"])) {$textareaheight=$_GET["textareaheight"];} + elseif (isset($_POST["textareaheight"])) {$textareaheight=$_POST["textareaheight"];} +if (isset($_GET["textareawidth"])) {$textareawidth=$_GET["textareawidth"];} + elseif (isset($_POST["textareawidth"])) {$textareawidth=$_POST["textareawidth"];} +if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} + elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} + +### security strip all non-alphanumeric characters out of the variables ### + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $ADD=ereg_replace("[^0-9]","",$ADD); + $order=ereg_replace("[^0-9a-zA-Z]","",$order); + $format=ereg_replace("[^0-9a-zA-Z]","",$format); + $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); + $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); + $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); + $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); + $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); + $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); + $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); + $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); + $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); + $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); + $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + +# default optional vars if not set +if (!isset($ADD)) {$ADD="1";} +if (!isset($order)) {$order='desc';} +if (!isset($format)) {$format="text";} +if (!isset($bgcolor)) {$bgcolor='white';} +if (!isset($txtcolor)) {$txtcolor='black';} +if (!isset($txtsize)) {$txtsize='2';} +if (!isset($selectsize)) {$selectsize='4';} +if (!isset($selectfontsize)) {$selectfontsize='10';} +if (!isset($textareaheight)) {$textareaheight='10';} +if (!isset($textareawidth)) {$textareawidth='20';} + +$version = '0.0.8'; +$build = '60619-1118'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Ακυρο Όνομα χρήστη/Κωδικός πρόσβασης: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Ακυρο server_ip: |$server_ip| or Ακυρο session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Ακυρο session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='table') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Κατάλογος Οθόνης: "; +if ($ADD==1) {echo "Ενεργές τηλ. συνδέσεις";} +if ($ADD==2) {echo "Απασχολημένες τηλ. συνδέσεις";} +if ($ADD==3) {echo "Εξωτερικές γραμμές";} +if ($ADD==4) {echo "Τοπικές τηλ. συνδέσεις";} +if ($ADD==5) {echo "Διασκέψεις";} +if ($ADD==99999) {echo "ΒΟΗΘΕΙΑ";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ADD=1 display all live extensions on a server +###################### +if ($ADD==1) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'extension';} + if ($format=='table') {echo "\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + +###################### +# ADD=2 display all busy extensions on a server +###################### +if ($ADD==2) +{ + if (!$field_name) {$field_name = 'busyext';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=3 display all busy outside lines(trunks) on a server +###################### +if ($ADD==3) +{ + if (!$field_name) {$field_name = 'trunk';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=4 display all busy Local lines on a server +###################### +if ($ADD==4) +{ + if (!$field_name) {$field_name = 'local';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=5 display all agc-usable conferences on a server +###################### +if ($ADD==5) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'conferences';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='table') {echo "\n";} +if ($format=='table') {echo "\n\n\n";} + +exit; + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/astguiclient.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/astguiclient.php new file mode 100644 index 00000000..c54d4038 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/astguiclient.php @@ -0,0 +1,2905 @@ + LICENSE: GPLv2 +# +# make sure you have added a user to the vicidial_users MySQL table with at least +# user_level 1 or greater to access this page. Also you need to have the login +# and pass of a phone listed in the asterisk.phones table. The page grabs the +# server info and other details from this login and pass +# +# Other scripts that this application depends on: +# - active_list_refresh.php: displays active/live channels and phones +# - manager_send.php: sends Actions to be executed on Asterisk servers +# - live_exten_check.php: checks to see if user's phone is on a live call +# - call_log_display.php: retrieves log of inbound and outbound calls +# - voicemail_check.php: retrieves counts of new and old messages +# - inbound_popup.php: opens upon live_inbound call coming in +# - conf_exten_check.php: checks to see if and calls are in a specific conf +# - park_calls_display.php: retrieves list of parked calls +# - vdc_db_query.php: Changes values in the DB for non-calling records +# +# CHANGES +# 50215-1356 - Proof-of-concept test of XMLHttpRequest for astGUIclient web +# 50323-1411 - First build version display-only +# 50331-1040 - Second-build, added phone login and hangup/hijack display +# 50401-1006 - Trunk/Local Hangup functions enabled +# 50404-1056 - Trunk/Local Hijack functions enabled +# 50404-1459 - Simple live calls display and grabs updated time from server +# 50405-1221 - Reorganized the display and layers, added some images +# 50406-1005 - Added In/Out call log display to MAIN panel +# 50407-1254 - Start/Stop Recording on live calls enabled +# 50422-1101 - Activated Check Voicemail button and new/old messages count +# 50428-1449 - Added dial from log and basic live_inbound call popup +# 50429-1455 - Modified inbound popup code for IE and to add more functions +# 50502-1442 - Added basic method to transfer live calls somewhere else +# 50503-1205 - Added web_client_sessions entry for more security of subscripts +# 50503-1537 - Added basic conferences display +# 50509-1132 - Added conference connected list and hangup/xfer for them +# 50511-1129 - Added registration of conference rooms and added manual dial +# 50523-1342 - Added Conference recording and send DTMF +# 50523-1622 - Added Local Dial window frame for calling local extensions +# 50524-1456 - Added ability to park call and display number of parked calls +# 50524-1600 - Added ability to display and pickup/hangup/xfer parked calls +# 50525-1224 - Added ability to place outbound call from within conferene +# 50531-1225 - Added ability to do dual transfers to meetme rooms from Main +# 50711-1229 - removed HTTP authentication in favor of user/pass vars +# 50711-1610 - Added Zap monitoring to Trunk/Local Action screens +# 50804-1604 - Minor bug fix in inbound_popup functions +# 50818-1715 - Added pretty login section +# 50913-1137 - Added custom outbound_cid from phones table +# 51110-1430 - Fixed non-standard http port issue +# 60103-1421 - Added code for favorite extensions chooser +# 60104-1347 - Added basic layout for favorites editing frame +# 60105-1124 - Finished Favorites frame and added DB submission +# 60112-1622 - Several formatting changes +# 60421-1357 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1103 - Added variable filters to close security holes for login form +# 60829-1528 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +$version = '2.0.1'; +$build = '60829-1528'; + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + + +if ($force_logout) +{ + if( (strlen($_SERVER['user'])>0) or (strlen($_SERVER['pass'])>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "Έχετε αποσυνδεθεί. Σας ευχαριστούμε\n"; + exit; +} + +$StarTtime = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd-His"); + $month_old = mktime(0, 0, 0, date("m"), date("d")-7, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$US='_'; +$CL=':'; +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./astguiclient_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = $agcPAGE; +$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); + + if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) + { + header ("Content-type: text/html; charset=utf-8"); + + echo "χειριστής astGUIclient: Σύνδεση\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Ελληνικά
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Σύνδεση
 
Σύνδεση χρήστη:
Κωδικός πρόσβασης χρήστη:
Σύνδεση Τηλεφώνου:
Κωδικός πρόσβασης Τηλεφώνου:

ΕΚΔΟΣΗ: $version       ΔΗΜΙΟΥΡΓΙΑ: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($user); + $password=strtoupper($pass); + $stmt="SELECT full_name,user_level from vicidial_users where user='$user' and pass='$pass'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIΚΛΗΣΗ|GOOD|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIΚΛΗΣΗ|FAIL|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + } + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "χειριστής astGUIclient: Σύνδεση Τηλεφώνου\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Ελληνικά
\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Σύνδεση Τηλεφώνου
 
Σύνδεση Τηλεφώνου:
Κωδικός πρόσβασης Τηλεφώνου:

ΕΚΔΟΣΗ: $version       ΔΗΜΙΟΥΡΓΙΑ: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +$authphone=0; +$stmt="SELECT count(*) from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "χειριστής astGUIclient: Σύνδεση Τηλεφώνου\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Ελληνικά
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Σύνδεση Τηλεφώνου
 
Συγγνώμη, αλλά η τηλεφωνική σύνδεση και ο κωδικός πρόσβασής σας δεν είναι ενεργά σε αυτό το σύστημα, παρακαλώ προσπαθήστε πάλι:
 
Σύνδεση Τηλεφώνου:
Κωδικός πρόσβασης Τηλεφώνου:

ΕΚΔΟΣΗ: $version       ΔΗΜΙΟΥΡΓΙΑ: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { + echo "χειριστής astGUIclient\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $phone_login=$row[6]; + $phone_pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $CaLLerID_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $outbound_cid=$row[65]; + + $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtime$US$session_ext$session_rand"; + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'agc';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','agc','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT count(*) from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_present=$row[0]; + if ($favorites_present > 0) + { + $stmt="SELECT extensions_list from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_list=$row[0]; + $h=0; + $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites = explode(',',$favorites_listX); + $favorites_count = count($favorites); + $favorites_listX=''; + + $o=0; + while ($favorites_count > $o) + { + $stmt="SELECT fullname,protocol from phones where extension = '$favorites[$o]' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $favorites_names[$o] = $rowx[0]; + $favorites_listX .= "$rowx[1]/$favorites[$o],"; + $o++; + } + + echo "\n"; + echo "\n"; + } + else + { + echo "\n"; + } + +### gather phone extensions and fullnames for favorites editor ### + $stmt="SELECT extension,fullname from phones where server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $exten_ct = mysql_num_rows($rslt); + $favlistCT=0; + $nofavlistCT=0; + while ($favlistCT < $exten_ct) + { + $row=mysql_fetch_row($rslt); + $favlist[$favlistCT]= "$row[0] - $row[1]"; + $favlistCT++; + } + + } +} + + +?> + + + + + + +\n"; + + +?> + +
+ + + + + + + + + +
+ + +ΑΠΟΣΥΝΔΕΣΗ
\n"; ?> +
Κύριος ΠίνακαςΠίνακας Ενεργών ΓραμμώνΠίνακας διασκέψεωνΕλεγχος Φωνητικού ταχυδρομείουΕνεργή κλήση
+
+ + +

Logout
+
+ + +
TRUNK ΚΛΕΙΣΙΜΟ

+ Active Trunks Menu
+ Κλείσιμο Κορμού   |   + Κλέψιμο Κορμού   |   + Ακούστε Κορμό   |   + Ανανέωση   |   + Επιστροφή στο Βασικό Παράθυρο +
+
+ + +
ΤΟΠΙΚΟ ΚΛΕΙΣΙΜΟ ΤΗΛΕΦΩΝΟΥ

+ Ενεργές Τοπικές Επιλογές
+ Κλείσιμο τοπικού   |   + Κλέψιμο τοπικού   |   + Ακούστε τοπικό   |   + Ανανέωση   |   + Επιστροφή στο Βασικό Παράθυρο +
+
+ + + + + + + +
ΜΕΤΑΦΟΡΑ ΕΝΕΡΓΗΣ ΚΛΗΣΗΣ
Κανάλι προς μεταφορά: Κανάλι
Τηλ.συνδέσεις:
Επιλογές τηλ. συνδέσεων
+
+ Στείλε στην επιλεγμένη τηλ.σύνδεση

+ Στείλε στο επιλεγμένο vmail

+ Στείλε σε αυτόν τον αριθμό:


+ Ανανέωση


+ Επιστροφή στο Βασικό Παράθυρο

+
Διασκέψεις:
(επιλέξτε έναν αριθμό κατωτέρω που θα σταλεί σε μια διάσκεψη)
Στείλε το κανάλι μου επίσης
Επιλογές διασκέψεων
+
+ + + + + +
ΤΟΠΙΚΕΣ τηλ. συνδέσεις Κλήσεως
Τηλέφωνο που καλεί από: Κανάλι
Τηλ.συνδέσεις:
Επιλογές τηλ. συνδέσεων
+
+ Επιλεγμένη κλήση τηλ. σύνδεσης

+ Επιλεγμένη κλήση vmail

+ Ανανέωση


+ Επιστροφή στο Βασικό Παράθυρο

+
+
+ + +
ΣΤΑΘΜ.ΚΛΗΣΕΙΣ:
+ Επιστροφή στο Βασικό Παράθυρο

+
+
+ + + + + + + + + + + + + + + +
  +
ΦΩΝ.ΤΑΧ.     ΝΕΟ:     ΠΑΛΑΙΟ:             ΧΕΙΡ.ΚΛΗΣΗ       ΚΛΗΣΗ
ΣΤΑΘΜ.ΚΛΗΣΕΙΣ: 0                ΤΗΛ.ΣΥΝΔ. ΤΟΠΙΚΗΣ ΚΛΗΣΗΣ
ΕΞΕΡΧΟΜΕΝΕΣ ΚΛΗΣΕΙΣ:
ΕΙΣΕΡΧΟΜΕΝΕΣ ΚΛΗΣΕΙΣ:
ΈΚΔΟΣΗ astGUIclient: ΔΗΜΙΟΥΡΓΙΑ:
+ + + + $h) + { + if (strlen($favorites[$h])>1) + { + echo "\n"; + } + $h++; + } +?> + +
ΑΓΑΠΗΜΕΝΑ       διορθώστε
$favorites[$h] - $favorites_names[$h]
 
+
+ + + + + + + +
ΑΓΑΠΗΜΕΝΑ

 
ΥΠΟΒΑΛΤΕ τις ΑΛΛΑΓΕΣ ΣΥΜΠΑΘΕΙΩΝ - απαιτεί την αποσύνδεση
ΠΙΣΩ στο ΚΥΡΙΟ ΠΑΡΑΘΥΡΟ - αγνοήστε τις αλλαγές που γίνονται
+
+ +
+ + + + + + + + + + + + + +
+ΠΑΥΣΗ | ΕΝΑΡΞΗ     Ρυθμός ανανέωσης: 1000 ms Γρηγορότερα | Πιό αργά

+
Αρχή..
+
Ενεργές τηλ. συνδέσεις
+ΑΝΑΝΕΩΣΗ | +ΤΑΞΙΝ | +
Εξωτερικές γραμμές
+ΑΝΑΝΕΩΣΗ | +ΤΑΞΙΝ | +
Τοπικές τηλ. συνδέσεις
+ΑΝΑΝΕΩΣΗ | +ΤΑΞΙΝ | +
+ Τα δεδομένα πηγαίνουν εδώ

+
+ Τα δεδομένα πηγαίνουν εδώ

Κίνηση Κορμού +
+ Τα δεδομένα πηγαίνουν εδώ

Τοπική Κίνηση +
+
+ + + + +
+ + +Κατάλογος διασκέψεων + + + +
+Επιλέξτε έναν αριθμό δωματίου συνδιάσκεψης στα αριστερά για τις πληροφορίες σε εκείνη την συνδιάσκεψη +
+ + + + + + + + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/call_log_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/call_log_display.php new file mode 100644 index 00000000..d6f4ea88 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/call_log_display.php @@ -0,0 +1,196 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send the inbound and outbound calls for a specific phone +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### - $in_limit - ('10','20','50','100',...) +### - $out_limit - ('10','20','50','100',...) +### + +# changes +# 50406-1013 - First build of script +# 50407-1452 - Added definable limits +# 50503-1236 - added session_name checking for extra security +# 50610-1158 - Added NULL check on MySQL results to reduced errors +# 50711-1202 - removed HTTP authentication in favor of user/pass vars +# 60323-1550 - added option for showing different number dialed in log +# 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1202 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($in_limit)) {$in_limit="100";} +if (!isset($out_limit)) {$out_limit="100";} +$number_dialed = 'number_dialed'; +#$number_dialed = 'extension'; + +$version = '0.0.8'; +$build = '60619-1202'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Ακυρο Όνομα χρήστη/Κωδικός πρόσβασης: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Ακυρο server_ip: |$server_ip| or Ακυρο session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Ακυρο session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Έμφάνιση Καταγραμμένων Κλήσεων"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten δεν ισχύει ή πρωτόκολλο $protocol δεν ισχύει\n"; + exit; + } + else + { + ##### print outbound calls from the call_log table + $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} + echo "$out_calls_count|"; + $loop_count=0; + while ($out_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[3] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + + if ($number_dialed == 'extension') {$row[2] = substr($row[2],-10);} + echo "$row[0] ~$row[1] ~$row[2] ~$call_time_MS|"; + } + echo "\n"; + + ##### print inbound calls from the live_inbound_log table + $stmt="SELECT call_log.uniqueid,live_inbound_log.start_time,live_inbound_log.extension,caller_id,length_in_sec from live_inbound_log,call_log where phone_ext='$exten' and live_inbound_log.server_ip = '$server_ip' and call_log.uniqueid=live_inbound_log.uniqueid order by start_time desc limit $in_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} + echo "$in_calls_count|"; + $loop_count=0; + while ($in_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[4] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $callerIDnum = $row[3]; $callerIDname = $row[3]; + $callerIDnum = preg_replace("/.*<|>.*/","",$callerIDnum); + $callerIDname = preg_replace("/\"| <\d*>/","",$callerIDname); + + echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; + } + echo "\n"; + + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/conf_exten_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/conf_exten_check.php new file mode 100644 index 00000000..9d5a9c1f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/conf_exten_check.php @@ -0,0 +1,297 @@ + LICENSE: GPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('refresh','register') +# - $client - ('agc','vdc') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $campagentstdisp - ('YES',...) +# + +# changes +# 50509-1054 - First build of script +# 50511-1112 - Added ability to register a conference room +# 50610-1159 - Added NULL check on MySQL results to reduced errors +# 50706-1429 - script changed to not use HTTP login vars, user/pass instead +# 50706-1525 - Added date-time display for vicidial client display +# 50816-1500 - Added random update to vicidial_live_agents table for vdc users +# 51121-1353 - Altered echo statements for several small PHP speed optimizations +# 60410-1424 - Added ability to grab calls-being-placed and agent status +# 60421-1405 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1201 - Added variable filters to close security holes for login form +# 61128-2255 - Added update for manual dial vicidial_live_agents +# 70319-1542 - Added agent disabled display function +# 71122-0205 - Added vicidial_live_agent status output +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["client"])) {$client=$_GET["client"];} + elseif (isset($_POST["client"])) {$client=$_POST["client"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campagentstdisp"])) {$campagentstdisp=$_GET["campagentstdisp"];} + elseif (isset($_POST["campagentstdisp"])) {$campagentstdisp=$_POST["campagentstdisp"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($client)) {$client="agc";} + +$version = '2.0.4-12'; +$build = '71122-0205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd_His"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$random = (rand(1000000, 9999999) + 10000000); + + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Ακυρο Όνομα χρήστη/Κωδικός πρόσβασης: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Ακυρο server_ip: |$server_ip| or Ακυρο session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Ακυρο session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Ελεγχος τηλ.σύνδεσης διάσκεψης"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + if ($ACTION == 'refresh') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($conf_exten)<1) + { + $channel_live=0; + echo "Conf Exten $conf_exten δεν ισχύει\n"; + exit; + } + else + { + + if ($client == 'vdc') + { + $Acount=0; + $AexternalDEAD=0; + + ### see if the agent has a record in the vicidial_live_agents table + $stmt="SELECT count(*) from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Acount=$row[0]; + + if ($Acount > 0) + { + $stmt="SELECT status from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Astatus=$row[0]; + } + # ### find out if external table shows agent should be disabled + # $stmt="SELECT count(*) from another_table where user='$user' and status='DEAD';"; + # if ($DB) {echo "|$stmt|\n";} + # $rslt=mysql_query($stmt, $link); + # $row=mysql_fetch_row($rslt); + # $AexternalDEAD=$row[0]; + + if ($auto_dial_level > 0) + { + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + if ($campagentstdisp == 'YES') + { + ### grab the status of this agent to display + $stmt="SELECT status,campaign_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Alogin=$row[0]; + $Acampaign=$row[1]; + + ### grab the number of calls being placed from this server and campaign + $stmt="SELECT count(*) from vicidial_auto_calls where server_ip='$server_ip' and status NOT IN('XFER') and campaign_id='$Acampaign';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $RingCalls=$row[0]; + } + else + { + $Alogin='N'; + $RingCalls='N'; + } + } + else + { + $Alogin='N'; + $RingCalls='N'; + + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } + + if ($Acount < 1) {$Alogin='DEAD_VLA';} + if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} + + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Κατάσταση: ' . $Astatus . "|\n"; + + } + $total_conf=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$sip_list = mysql_num_rows($rslt);} + # echo "$sip_list|"; + $loop_count=0; + while ($sip_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $ΚανάλιA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + # echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $ΚανάλιA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + } + $channels_list = ($channels_list + $sip_list); + echo "$channels_list|"; + + $counter=0; + $countecho=''; + while($total_conf > $counter) + { + $counter++; + $countecho = "$countecho$ΚανάλιA[$counter] ~"; + # echo "$ΚανάλιA[$counter] ~"; + } + + echo "$countecho\n"; + } + + if ($ACTION == 'register') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($exten)<1) ) + { + $channel_live=0; + echo "Conf Exten $conf_exten δεν ισχύει or Exten $exten δεν ισχύει\n"; + exit; + } + else + { + $stmt="UPDATE conferences set extension='$exten' where server_ip = '$server_ip' and conf_exten = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + echo "Διάσκεψη $conf_exten έχει καταχωρηθεί $exten\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/dbconnect.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/dbconnect.php new file mode 100644 index 00000000..723d3c59 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/dbconnect.php @@ -0,0 +1,58 @@ + LICENSE: AGPLv2 +# +if ( file_exists("/etc/astguiclient.conf") ) +{ +$DBCagc = file("/etc/astguiclient.conf"); +foreach ($DBCagc as $DBCline) + { + $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); + if (ereg("^PATHlogs", $DBCline)) + {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} + if (ereg("^PATHweb", $DBCline)) + {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} + if (ereg("^VARDB_server", $DBCline)) + {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} + if (ereg("^VARDB_database", $DBCline)) + {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} + if (ereg("^VARDB_user", $DBCline)) + {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} + if (ereg("^VARDB_pass", $DBCline)) + {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} + if (ereg("^VARDB_port", $DBCline)) + {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} + } + +} +else +{ +#defaults for DB connection +$VARDB_server = 'localhost'; +$VARDB_user = 'cron'; +$VARDB_pass = '1234'; +$VARDB_database = '1234'; +$WeBServeRRooT = '/usr/local/apache2/htdocs'; +} + +$link=mysql_connect("$VARDB_server", "$VARDB_user", "$VARDB_pass"); +if (!$link) { + die('MySQL connect ERROR: ' . mysql_error()); +} +mysql_select_db("$VARDB_database",$link); + +$local_DEF = 'Local/'; +$conf_silent_prefix = '7'; +$local_AMP = '@'; +$ext_context = 'demo'; +$recording_exten = '8309'; +$WeBRooTWritablE = '1'; +$non_latin = '0'; # set to 1 for UTF rules, overridden by system_settings +$flag_channels=0; +$flag_string = 'VICIast20'; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/inbound_popup.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/inbound_popup.php new file mode 100644 index 00000000..fd8c7ba5 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/inbound_popup.php @@ -0,0 +1,351 @@ + LICENSE: GPLv2 +### +### This script is designed to open up when a live_inbound call comes in giving the user +### options of what to do with the call or options to lookup the callerID on various web sites +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $uniqueid - ('1234567890.123456',...) +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $vmail_box - ('101','1234',...) +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $ext_context - ('default','demo',...) +### - $ext_priority - ('1','2',...) +### - $voicemail_dump_exten - ('85026666666666') +### - $local_web_callerID_URL_enc - ( rawurlencoded custom callerid lookup URL) +### + +# changes +# 50428-1500 - First build of script display only +# 50429-1241 - some formatting, hangup and Vmail redirect, 30s timeout on actions, and CID web lookup links +# 50503-1244 - added session_name checking for extra security +# 50711-1203 - removed HTTP authentication in favor of user/pass vars +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["voicemail_dump_exten"])) {$voicemail_dump_exten=$_GET["voicemail_dump_exten"];} + elseif (isset($_POST["voicemail_dump_exten"])) {$voicemail_dump_exten=$_POST["voicemail_dump_exten"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_GET["local_web_callerID_URL_enc"];} + elseif (isset($_POST["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_POST["local_web_callerID_URL_enc"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} + else {$local_web_callerID_URL = '';} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.6'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$DO = '-1'; +if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Ακυρο Όνομα χρήστη/Κωδικός πρόσβασης: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Ακυρο server_ip: |$server_ip| or Ακυρο session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Ακυρο session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +echo "\n"; +echo "\n"; +echo "\n"; +?> + + +ΕΝΕΡΓΗ ΕΙΣΕΡΧΟΜΕΝΗ ΚΛΗΣΗ"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "

ΕΝΕΡΓΗ ΕΙΣΕΡΧΟΜΕΝΗ ΚΛΗΣΗ

\n"; +echo "$NOW_TIME

\n"; +} + + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($uniqueid)<9) + { + $channel_live=0; + echo "Uniqueid $uniqueid δεν ισχύει\n"; + exit; + } + else + { + $stmt="SELECT * FROM live_inbound where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $channels_list = mysql_num_rows($rslt); + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); +# echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; +# Zap/73|"V.I.C.I. MARKET" <7275338730>|2005-04-28 14:01:21|7274514936|Inbound direct to Matt||||| + if ($format=='debug') {echo "\n";} + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Κανάλι: $row[1]
CallerID: $row[3]
\n"; + + $phone = eregi_replace(".*\<","",$row[3]); + $phone = eregi_replace("\>.*","",$phone); + $NPA = substr($phone, 0, 3); + $NXX = substr($phone, 3, 3); + $XXXX = substr($phone, 6, 4); + $D='-'; + echo "GOOGLE - \n"; + echo "ANYWHO - \n"; + echo "SWITCHBOARD - \n"; + echo "VERIZON - \n"; + echo "WHITEPAGES - \n"; + echo "411.COM - \n"; + echo "411.COM - \n"; + + $local_web_callerID_QUERY_STRING =''; + $local_web_callerID_QUERY_STRING.="?callerID_areacode=$NPA"; + $local_web_callerID_QUERY_STRING.="&callerID_prefix=$NXX"; + $local_web_callerID_QUERY_STRING.="&callerID_last4=$XXXX"; + $local_web_callerID_QUERY_STRING.="&callerID_Time=$row[6]"; + $local_web_callerID_QUERY_STRING.="&callerID_Κανάλι=$row[1]"; + $local_web_callerID_QUERY_STRING.="&callerID_uniqueID=$row[0]"; + $local_web_callerID_QUERY_STRING.="&callerID_phone_ext=$row[5]"; + $local_web_callerID_QUERY_STRING.="&callerID_server_ip=$row[2]"; + $local_web_callerID_QUERY_STRING.="&callerID_extension=$row[4]"; + $local_web_callerID_QUERY_STRING.="&callerID_inbound_number=$row[8]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_a=$row[9]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_b=$row[10]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_c=$row[11]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_d=$row[12]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_e=$row[13]"; + echo "ΣΥΝΗΘΕΙΑ - \n"; + + echo "
Αριθμός που καλέσατε: $row[8]
Σημειώσεις: $row[9]|$row[10]|$row[11]|$row[12]|$row[13]|
\n"; + echo "ΚΛΕΙΣΙΜΟ - \n"; + echo "ΣΤΕΙΛΕ ΣΤΟ ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ ΜΟΥ\n"; + echo "
\n"; + + + $stmt="UPDATE live_inbound set acknowledged='Y' where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + + } + + + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/live_exten_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/live_exten_check.php new file mode 100644 index 00000000..ad511dc2 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/live_exten_check.php @@ -0,0 +1,278 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send whether the client channel is live and to what channel it is connected +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### + +# changes +# 50404-1249 - First build of script +# 50406-1402 - added connected trunk lookup +# 50428-1452 - added live_inbound check for exten on 2nd line of output +# 50503-1233 - added session_name checking for extra security +# 50524-1429 - added parked calls count +# 50610-1204 - Added NULL check on MySQL results to reduced errors +# 50711-1204 - removed HTTP authentication in favor of user/pass vars +# 60103-1541 - added favorite extens status display +# 60421-1359 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1203 - Added variable filters to close security holes for login form +# 60825-1029 - Fixed translation variable issue ChannelA +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count"];} + elseif (isset($_POST["favorites_count"])) {$favorites_count=$_POST["favorites_count"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '2.0.1'; +$build = '60825-1029'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Ακυρο Όνομα χρήστη/Κωδικός πρόσβασης: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Ακυρο server_ip: |$server_ip| or Ακυρο session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Ακυρο session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Ελεγχος ενεργής τηλ.σύνδεσης"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + +echo "DateTime: $NOW_TIME|"; +echo "UnixTime: $StarTtime|"; + +$stmt="SELECT count(*) FROM parked_channels where server_ip = '$server_ip';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +echo "$row[0]|"; + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten δεν ισχύει ή πρωτόκολλο $protocol δεν ισχύει\n"; + exit; + } + else + { + $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + $ChanneLA[$loop_count] = "$row[0]"; + $ChanneLB[$loop_count] = "$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + $counter=0; + while($loop_count > $counter) + { + $counter++; + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "ΚανάλιA: $ChanneLA[$counter] ~"; + echo "ΚανάλιB: $ChanneLB[$counter] ~"; + echo "ΚανάλιBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "ΚανάλιA: $ChanneLA[$counter] ~"; + echo "ΚανάλιB: $ChanneLB[$counter] ~"; + echo "ΚανάλιBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "ΚανάλιA: $ChanneLA[$counter] ~"; + echo "ΚανάλιB: $ChanneLB[$counter] ~"; + echo "ΚανάλιBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "ΚανάλιA: $ChanneLA[$counter] ~"; + echo "ΚανάλιB: $ChanneLB[$counter] ~"; + echo "ΚανάλιBtrunk: $row[0]|"; + } + else + { + echo "Conversation: $counter ~"; + echo "ΚανάλιA: $ChanneLA[$counter] ~"; + echo "ΚανάλιB: $ChanneLB[$counter] ~"; + echo "ΚανάλιBtrunk: $ChanneLA[$counter]|"; + } + } + } + } + } + +echo "\n"; + +### check for live_inbound entry +$stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = '$exten' and acknowledged='N';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +if ($rslt) {$channels_list = mysql_num_rows($rslt);} + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); + $LIuniqueid = "$row[0]"; + $LIchannel = "$row[1]"; + $LIcallerid = "$row[3]"; + $LIdatetime = "$row[6]"; + echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; + if ($format=='debug') {echo "\n";} + } + +echo "\n"; + + +### if favorites are present do a lookup to see if any are active +if ($favorites_count > 0) + { + $favorites = explode(',',$favorites_list); + $h=0; + $favs_print=''; + while ($favorites_count > $h) + { + $fav_extension = explode('/',$favorites[$h]); + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$favorites[$h]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favs_print .= "$fav_extension[1]: $row[0] ~"; + $h++; + } + echo "$favs_print\n"; + } + +if ($format=='debug') {echo "\n";} + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/manager_send.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/manager_send.php new file mode 100644 index 00000000..a66018c8 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/manager_send.php @@ -0,0 +1,1142 @@ + LICENSE: GPLv2 +# +# This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $ACTION - ('Originate','Redirect','Hangup','Command','Monitor','StopMonitor','SysCIDOriginate','RedirectName','RedirectNameVmail','MonitorConf','StopMonitorConf','RedirectXtra','RedirectXtraCX','RedirectVD','HangupConfDial','VolumeControl','OriginateVDRelogin') +# - $queryCID - ('CN012345678901234567',...) +# - $format - ('text','debug') +# - $channel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $exten - ('1234','913125551212',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $filename - ('20050406-125623_44444',...) +# - $extenName - ('phone100',...) +# - $parkedby - ('phone100',...) +# - $extrachannel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $auto_dial_level - ('0','1','1.1',...) +# - $campaign - ('CLOSER','TESTCAMP',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('1234',...) +# - $seconds - ('32',...) +# - $outbound_cid - ('3125551212','0000000000',...) +# - $agent_log_id - ('123456',...) +# - $call_server_ip - ('10.10.10.15',...) +# - $CalLCID - ('VD01234567890123456',...) +# - $stage - ('UP','DOWN') +# + +# CHANGELOG: +# 50401-1002 - First build of script, Hangup function only +# 50404-1045 - Redirect basic function enabled +# 50406-1522 - Monitor basic function enabled +# 50407-1647 - Monitor and StopMonitor full functions enabled +# 50422-1120 - basic Originate function enabled +# 50428-1451 - basic SysCIDOriginate function enabled for checking voicemail +# 50502-1539 - basic RedirectName and RedirectNameVmail added +# 50503-1227 - added session_name checking for extra security +# 50523-1341 - added Conference call start/stop recording +# 50523-1421 - added OriginateName and OriginateNameVmail for local calls +# 50524-1602 - added RedirectToPark and RedirectFromPark +# 50531-1203 - added RedirecXtra for dual channel redirection +# 50630-1100 - script changed to not use HTTP login vars, user/pass instead +# 50804-1148 - Added RedirectVD for VICIDIAL blind redirection with logging +# 50815-1204 - Added NEXTAVAILABLE to RedirectXtra function +# 50903-2343 - Added HangupConfDial function to hangup in-dial channels in conf +# 50913-1057 - Added outbound_cid set if present to originate call +# 51020-1556 - Added agent_log_id framework for detailed agent activity logging +# 51118-1204 - Fixed Blind transfer bug from VICIDIAL when in manual dial mode +# 51129-1014 - Added ability to accept calls from other VICIDIAL servers +# 51129-1253 - Fixed Hangups of other agents channels in VICIDIAL AD +# 60310-2022 - Fixed NEXTAVAILABLE bug in leave-3way-call redirect function +# 60421-1413 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1158 - Added variable filters to close security holes for login form +# 60809-1544 - Added direct transfers to leave-3ways in consultative transfers +# 61004-1526 - Added parsing of volume control command and lookup or number +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61201-1115 - Added user to MonitorConf for recording_log +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70226-1251 - Added Mute/UnMute to conference volume control +# 70320-1502 - Added option to allow retry of leave-3way-call and debug logging +# 70322-1636 - Added sipsak display ability +# + +require("dbconnect.php"); + +### These are variable assignments for PHP globals off +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["queryCID"])) {$queryCID=$_GET["queryCID"];} + elseif (isset($_POST["queryCID"])) {$queryCID=$_POST["queryCID"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["filename"])) {$filename=$_GET["filename"];} + elseif (isset($_POST["filename"])) {$filename=$_POST["filename"];} +if (isset($_GET["extenName"])) {$extenName=$_GET["extenName"];} + elseif (isset($_POST["extenName"])) {$extenName=$_POST["extenName"];} +if (isset($_GET["parkedby"])) {$parkedby=$_GET["parkedby"];} + elseif (isset($_POST["parkedby"])) {$parkedby=$_POST["parkedby"];} +if (isset($_GET["extrachannel"])) {$extrachannel=$_GET["extrachannel"];} + elseif (isset($_POST["extrachannel"])) {$extrachannel=$_POST["extrachannel"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["secondS"])) {$secondS=$_GET["secondS"];} + elseif (isset($_POST["secondS"])) {$secondS=$_POST["secondS"];} +if (isset($_GET["outbound_cid"])) {$outbound_cid=$_GET["outbound_cid"];} + elseif (isset($_POST["outbound_cid"])) {$outbound_cid=$_POST["outbound_cid"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["call_server_ip"])) {$call_server_ip=$_GET["call_server_ip"];} + elseif (isset($_POST["call_server_ip"])) {$call_server_ip=$_POST["call_server_ip"];} +if (isset($_GET["CalLCID"])) {$CalLCID=$_GET["CalLCID"];} + elseif (isset($_POST["CalLCID"])) {$CalLCID=$_POST["CalLCID"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["allow_sipsak_messages"])) {$allow_sipsak_messages=$_GET["allow_sipsak_messages"];} + elseif (isset($_POST["allow_sipsak_messages"])) {$allow_sipsak_messages=$_POST["allow_sipsak_messages"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$secondS = ereg_replace("[^0-9]","",$secondS); + +# default optional vars if not set +if (!isset($ACTION)) {$ACTION="Originate";} +if (!isset($format)) {$format="alert";} +if (!isset($ext_priority)) {$ext_priority="1";} + +$version = '2.0.29'; +$build = '70320-1502'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Ακυρο Όνομα χρήστη/Κωδικός πρόσβασης: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Ακυρο server_ip: |$server_ip| or Ακυρο session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Ακυρο session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Ο διαχτής στέλνει: "; +if ($ACTION=="Originate") {echo "Originate";} +if ($ACTION=="Redirect") {echo "Redirect";} +if ($ACTION=="RedirectName") {echo "RedirectName";} +if ($ACTION=="Hangup") {echo "Hangup";} +if ($ACTION=="Command") {echo "Command";} +if ($ACTION==99999) {echo "ΒΟΗΘΕΙΑ";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ACTION=SysCIDOriginate - insert Originate Manager statement allowing small CIDs for system calls +###################### +if ($ACTION=="SysCIDOriginate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<1) ) + { + echo "Exten $exten δεν ισχύει or queryCID $queryCID δεν ισχύει, Originate εντολή που δεν έγινε εισαγωγή\n"; + } + else + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Originate εντολή που στέλνεται για Exten $exten Κανάλι $channel στο $server_ip\n"; + } +} + + + +###################### +# ACTION=Originate, OriginateName, OriginateNameVmail - insert Originate Manager statement +###################### +if ($ACTION=="OriginateName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Μία από αυτές τις μεταβλητές δεν ισχύει:\n"; + echo "Κανάλι $channel πρέπει να είναι μεγαλύτερος από 2 χαρακτήρες\n"; + echo "queryCID $queryCID πρέπει να είναι μεγαλύτερος από 14 χαρακτήρες\n"; + echo "extenName $extenName πρέπει να τεθεί\n"; + echo "ext_context $ext_context πρέπει να τεθεί\n"; + echo "ext_priority $ext_priority πρέπει να τεθεί\n"; + echo "\nOriginateName Action μην σταλμένος\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Μία από αυτές τις μεταβλητές δεν ισχύει:\n"; + echo "Κανάλι $channel πρέπει να είναι μεγαλύτερος από 2 χαρακτήρες\n"; + echo "queryCID $queryCID πρέπει να είναι μεγαλύτερος από 14 χαρακτήρες\n"; + echo "extenName $extenName πρέπει να τεθεί\n"; + echo "exten $exten πρέπει να τεθεί\n"; + echo "ext_context $ext_context πρέπει να τεθεί\n"; + echo "ext_priority $ext_priority πρέπει να τεθεί\n"; + echo "\nOriginateNameVmail Action μην σταλμένος\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateVDRelogin") +{ + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $CIDdate = date("ymdHis"); + $DS='-'; + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $queryCID = "$SIPSAK_prefix$campaign$DS$CIDdate"; + + } + $ACTION="Originate"; +} + +if ($ACTION=="Originate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<10) ) + { + echo "Exten $exten δεν ισχύει or queryCID $queryCID δεν ισχύει, Originate εντολή που δεν έγινε εισαγωγή\n"; + } + else + { + if (strlen($outbound_cid)>1) + {$outCID = "\"$queryCID\" <$outbound_cid>";} + else + {$outCID = "$queryCID";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $outCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Originate εντολή που στέλνεται για Exten $exten Κανάλι $channel στο $server_ip\n"; + } +} + + + +###################### +# ACTION=HangupConfDial - find the Local channel that is in the conference and needs to be hung up +###################### +if ($ACTION=="HangupConfDial") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "conference $exten δεν ισχύει or ext_context $ext_context or queryCID $queryCID δεν ισχύει, Hangup εντολή που δεν έγινε εισαγωγή\n"; + } + else + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $hangup_channel_prefix = "$local_DEF$exten$local_AMP$ext_context"; + + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row > 0) + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $channel=$rowx[0]; + $ACTION="Hangup"; + $queryCID = eregi_replace("^.","G",$queryCID); + } + } +} + + + +###################### +# ACTION=Hangup - insert Hangup Manager statement +###################### +if ($ACTION=="Hangup") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) ) + { + $channel_live=0; + echo "Κανάλι $channel δεν ισχύει or queryCID $queryCID δεν ισχύει, Hangup εντολή που δεν έγινε εισαγωγή\n"; + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + +# $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $row=mysql_fetch_row($rslt); +# if ($row[0]==0) +# { +# $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $rowx=mysql_fetch_row($rslt); +# if ($rowx[0]==0) +# { +# $channel_live=0; +# echo "Channel $channel is not live on $call_server_ip, Hangup command not inserted\n"; +# } +# } + if ( ($auto_dial_level > 0) and (strlen($CalLCID)>2) and (strlen($exten)>2) and ($secondS > 4)) + { + $stmt="SELECT count(*) FROM vicidial_auto_calls where channel='$channel' and callerid='$CalLCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + echo "Call $CalLCID $channel δεν είναι ενεργό στο $call_server_ip, Checking Live Κανάλι...\n"; + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel' and extension LIKE \"%$exten\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $channel_live=0; + echo "Κανάλι $channel δεν είναι ενεργό στο $call_server_ip, Hangup εντολή που δεν έγινε εισαγωγή $rowx[0]\n$stmt\n"; + } + else + { + echo "$stmt\n"; + } + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Hangup','$queryCID','Channel: $channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Hangup εντολή που στέλνεται για Κανάλι $channel στο $call_server_ip\n"; + } + } +} + + + +###################### +# ACTION=Redirect, RedirectName, RedirectNameVmail, RedirectToPark, RedirectFromPark, RedirectVD, RedirectXtra, RedirectXtraCX +# - insert Redirect Manager statement using extensions name +###################### +if ($ACTION=="RedirectVD") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($campaign)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($uniqueid)<2) or (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "Μία από αυτές τις μεταβλητές δεν ισχύει:\n"; + echo "Κανάλι $channel πρέπει να είναι μεγαλύτερος από 2 χαρακτήρες\n"; + echo "queryCID $queryCID πρέπει να είναι μεγαλύτερος από 14 χαρακτήρες\n"; + echo "exten $exten πρέπει να τεθεί\n"; + echo "ext_context $ext_context πρέπει να τεθεί\n"; + echo "ext_priority $ext_priority πρέπει να τεθεί\n"; + echo "auto_dial_level $auto_dial_level πρέπει να τεθεί\n"; + echo "campaign $campaign πρέπει να τεθεί\n"; + echo "uniqueid $uniqueid πρέπει να τεθεί\n"; + echo "lead_id $lead_id πρέπει να τεθεί\n"; + echo "\nRedirectVD Action μην σταλμένος\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where lead_id='$lead_id' order by start_epoch desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + if ($auto_dial_level < 1) + { + $stmt = "UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt = "DELETE from vicidial_auto_calls where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectToPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($parkedby)<1) ) + { + $channel_live=0; + echo "Μία από αυτές τις μεταβλητές δεν ισχύει:\n"; + echo "Κανάλι $channel πρέπει να είναι μεγαλύτερος από 2 χαρακτήρες\n"; + echo "queryCID $queryCID πρέπει να είναι μεγαλύτερος από 14 χαρακτήρες\n"; + echo "exten $exten πρέπει να τεθεί\n"; + echo "extenName $extenName πρέπει να τεθεί\n"; + echo "ext_context $ext_context πρέπει να τεθεί\n"; + echo "ext_priority $ext_priority πρέπει να τεθεί\n"; + echo "parkedby $parkedby πρέπει να τεθεί\n"; + echo "\nRedirectToPark Action μην σταλμένος\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "INSERT INTO parked_channels values('$channel','$server_ip','','$extenName','$parkedby','$NOW_TIME');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectFromPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Μία από αυτές τις μεταβλητές δεν ισχύει:\n"; + echo "Κανάλι $channel πρέπει να είναι μεγαλύτερος από 2 χαρακτήρες\n"; + echo "queryCID $queryCID πρέπει να είναι μεγαλύτερος από 14 χαρακτήρες\n"; + echo "exten $exten πρέπει να τεθεί\n"; + echo "ext_context $ext_context πρέπει να τεθεί\n"; + echo "ext_priority $ext_priority πρέπει να τεθεί\n"; + echo "\nRedirectFromPark Action μην σταλμένος\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "DELETE FROM parked_channels where server_ip='$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Μία από αυτές τις μεταβλητές δεν ισχύει:\n"; + echo "Κανάλι $channel πρέπει να είναι μεγαλύτερος από 2 χαρακτήρες\n"; + echo "queryCID $queryCID πρέπει να είναι μεγαλύτερος από 14 χαρακτήρες\n"; + echo "extenName $extenName πρέπει να τεθεί\n"; + echo "ext_context $ext_context πρέπει να τεθεί\n"; + echo "ext_priority $ext_priority πρέπει να τεθεί\n"; + echo "\nRedirectName Action μην σταλμένος\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Redirect"; + } + } +} + +if ($ACTION=="RedirectNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Μία από αυτές τις μεταβλητές δεν ισχύει:\n"; + echo "Κανάλι $channel πρέπει να είναι μεγαλύτερος από 2 χαρακτήρες\n"; + echo "queryCID $queryCID πρέπει να είναι μεγαλύτερος από 14 χαρακτήρες\n"; + echo "extenName $extenName πρέπει να τεθεί\n"; + echo "exten $exten πρέπει να τεθεί\n"; + echo "ext_context $ext_context πρέπει να τεθεί\n"; + echo "ext_priority $ext_priority πρέπει να τεθεί\n"; + echo "\nRedirectNameVmail Action μην σταλμένος\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Redirect"; + } + } +} + +if ($ACTION=="RedirectXtraCX") +{ + $DBout=''; + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Μία από αυτές τις μεταβλητές δεν ισχύει:\n"; + echo "Κανάλι $channel πρέπει να είναι μεγαλύτερος από 2 χαρακτήρες\n"; + echo "ExtraΚανάλι $extrachannel πρέπει να είναι μεγαλύτερος από 2 χαρακτήρες\n"; + echo "queryCID $queryCID πρέπει να είναι μεγαλύτερος από 14 χαρακτήρες\n"; + echo "exten $exten πρέπει να τεθεί\n"; + echo "ext_context $ext_context πρέπει να τεθεί\n"; + echo "ext_priority $ext_priority πρέπει να τεθεί\n"; + echo "\nRedirect Action μην σταλμένος\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Κανάλι $channel δεν είναι ενεργό στο $call_server_ip, Redirect εντολή που δεν έγινε εισαγωγή\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel δεν είναι ενεργό στο $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Κανάλι $channel δεν είναι ενεργό στο $server_ip, Redirect εντολή που δεν έγινε εισαγωγή\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel δεν είναι ενεργό στο $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + $stmt="SELECT count(*) FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $channel_liveY=0; + echo "No Local agent to send call to, Redirect εντολή που δεν έγινε εισαγωγή\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + } + else + { + $stmt="SELECT server_ip,conf_exten,user FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $dest_server_ip = $rowx[0]; + $dest_session_id = $rowx[1]; + $dest_user = $rowx[2]; + $S='*'; + + $D_s_ip = explode('.', $dest_server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$dest_session_id$S$lead_id$S$dest_user$S$phone_code$S$phone_number$S$campaign$S"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','$queryCID','Channel: $extrachannel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtraCX εντολή που στέλνεται για Κανάλι $channel στο $call_server_ip and \nHungup $extrachannel στο $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel στο $call_server_ip, Hungup $extrachannel στο $server_ip";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel στο $server_ip";} + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } +} + +if ($ACTION=="RedirectXtra") +{ + if ($channel=="$extrachannel") + {$ACTION="Redirect";} + else + { + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Μία από αυτές τις μεταβλητές δεν ισχύει:\n"; + echo "Κανάλι $channel πρέπει να είναι μεγαλύτερος από 2 χαρακτήρες\n"; + echo "ExtraΚανάλι $extrachannel πρέπει να είναι μεγαλύτερος από 2 χαρακτήρες\n"; + echo "queryCID $queryCID πρέπει να είναι μεγαλύτερος από 14 χαρακτήρες\n"; + echo "exten $exten πρέπει να τεθεί\n"; + echo "ext_context $ext_context πρέπει να τεθεί\n"; + echo "ext_priority $ext_priority πρέπει να τεθεί\n"; + echo "\nRedirect Action μην σταλμένος\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if ($exten == "NEXTAVAILABLE") + { + $stmt="SELECT conf_exten FROM conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 3) + { + $stmt="UPDATE conferences set extension='$user' where server_ip='$server_ip' and conf_exten='$row[0]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $exten = $row[0]; + } + else + { + $channel_liveX=0; + echo "Δεν υπάρχει κενή διάσκεψη στο $server_ip, Redirect εντολή που δεν έγινε εισαγωγή\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Δεν υπάρχει κενή διάσκεψη στο $server_ip";} + } + } + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Κανάλι $channel δεν είναι ενεργό στο $call_server_ip, Redirect εντολή που δεν έγινε εισαγωγή\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel δεν είναι ενεργό στο $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Κανάλι $channel δεν είναι ενεργό στο $server_ip, Redirect εντολή που δεν έγινε εισαγωγή\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel δεν είναι ενεργό στο $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + if ( ($server_ip=="$call_server_ip") or (strlen($call_server_ip)<7) ) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','ExtraChannel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra εντολή που στέλνεται για Κανάλι $channel and \nExtraΚανάλι $extrachannel\n to $exten στο $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten στο $server_ip";} + } + else + { + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$exten"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra εντολή που στέλνεται για Κανάλι $channel στο $call_server_ip and \nExtraΚανάλι $extrachannel\n to $exten στο $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } + } +} + + +if ($ACTION=="Redirect") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Μία από αυτές τις μεταβλητές δεν ισχύει:\n"; + echo "Κανάλι $channel πρέπει να είναι μεγαλύτερος από 2 χαρακτήρες\n"; + echo "queryCID $queryCID πρέπει να είναι μεγαλύτερος από 14 χαρακτήρες\n"; + echo "exten $exten πρέπει να τεθεί\n"; + echo "ext_context $ext_context πρέπει να τεθεί\n"; + echo "ext_priority $ext_priority πρέπει να τεθεί\n"; + echo "\nRedirect Action μην σταλμένος\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Κανάλι $channel δεν είναι ενεργό στο $server_ip, Redirect εντολή που δεν έγινε εισαγωγή\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "Redirect εντολή που στέλνεται για Κανάλι $channel στο $server_ip\n"; + } + } +} + + + +###################### +# ACTION=Monitor or Stop Monitor - insert Monitor/StopMonitor Manager statement to start recording on a channel +###################### +if ( ($ACTION=="Monitor") || ($ACTION=="StopMonitor") ) +{ + if ($ACTION=="StopMonitor") + {$SQLfile = "";} + else + {$SQLfile = "File: $filename";} + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Κανάλι $channel δεν ισχύει or queryCID $queryCID δεν ισχύει or filename: $filename δεν ισχύει, $ACTION εντολή που δεν έγινε εισαγωγή\n"; + } + else + { + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Κανάλι $channel δεν είναι ενεργό στο $server_ip, $ACTION εντολή που δεν έγινε εισαγωγή\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','$ACTION','$queryCID','Channel: $channel','$SQLfile','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + if ($ACTION=="Monitor") + { + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + } + else + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + } + echo "$ACTION εντολή που στέλνεται για Κανάλι $channel στο $server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n"; + } + } +} + + + + + + +###################### +# ACTION=MonitorConf or StopMonitorConf - insert Monitor/StopMonitor Manager statement to start recording on a conference +###################### +if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<3) or (strlen($channel)<4) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Κανάλι $channel δεν ισχύει or exten $exten δεν ισχύει or filename: $filename δεν ισχύει, $ACTION εντολή που δεν έγινε εισαγωγή\n"; + } + else + { + + if ($ACTION=="MonitorConf") + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$filename','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $filename','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + } + else + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + # find and hang up all recordings going στο in this conference # and extension = '$exten' + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + # $rec_count = intval(mysql_num_rows($rslt) / 2); + $rec_count = mysql_num_rows($rslt); + $h=0; + while ($rec_count>$h) + { + $rowx=mysql_fetch_row($rslt); + $HUchannel[$h] = $rowx[0]; + $h++; + } + $i=0; + while ($h>$i) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$i','Channel: $HUchannel[$i]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $i++; + } + + } + echo "$ACTION εντολή που στέλνεται για Κανάλι $channel στο $server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n Η ΚΑΤΑΓΡΑΦΗ ΘΑ ΔΙΑΡΚΕΣΕΙ ΜΕΧΡΙ 60 ΛΕΠΤΑ\n"; + } +} + + + + + +###################### +# ACTION=VolumeControl - raise or lower the volume of a meetme participant +###################### +if ($ACTION=="VolumeControl") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($stage)<1) or (strlen($queryCID)<1) ) + { + echo "Διάσκεψη $exten, Stage $stage δεν ισχύει or queryCID $queryCID δεν ισχύει, Originate εντολή που δεν έγινε εισαγωγή\n"; + } + else + { + $participant_number='XXYYXXYYXXYYXX'; + if (eregi('UP',$stage)) {$vol_prefix='4';} + if (eregi('DOWN',$stage)) {$vol_prefix='3';} + if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} + if (eregi('MUTING',$stage)) {$vol_prefix='1';} + $local_DEF = 'Local/'; + $local_AMP = '@'; + $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $volume_local_channel','Context: $ext_context','Exten: 8300','Priority: 1','Callerid: $queryCID','','','','$channel','$exten');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Volume εντολή που στέλνεται για Διάσκεψη $exten, Stage $stage Κανάλι $channel στο $server_ip\n"; + } +} + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='debug') {echo "\n";} +if ($format=='debug') {echo "\n\n\n";} + +exit; + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/park_calls_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/park_calls_display.php new file mode 100644 index 00000000..4937023c --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/park_calls_display.php @@ -0,0 +1,146 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send the details on the parked calls on the server +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### + +# changes +# 50524-1515 - First build of script +# 50711-1208 - removed HTTP authentication in favor of user/pass vars +# 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($park_limit)) {$park_limit="1000";} + +$version = '0.0.4'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) ) + { + echo "Ακυρο Όνομα χρήστη/Κωδικός πρόσβασης: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { + echo "Ακυρο server_ip: |$server_ip| or Ακυρο session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Ακυρο session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Εμφάνιση Σταθμευμένων Κλήσεων"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten δεν ισχύει ή πρωτόκολλο $protocol δεν ισχύει\n"; + exit; + } + else + { + ##### print parked calls from the parked_channels table + $stmt="SELECT * from parked_channels where server_ip = '$server_ip' order by parked_time limit $park_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $park_calls_count = mysql_num_rows($rslt); + echo "$park_calls_count\n"; + $loop_count=0; + while ($park_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0] ~$row[2] ~$row[3] ~$row[4] ~$row[5]|"; + } + echo "\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/vdc_db_query.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/vdc_db_query.php new file mode 100644 index 00000000..d39f9fad --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/vdc_db_query.php @@ -0,0 +1,2535 @@ + LICENSE: GPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('regCLOSER','manDiaLnextCALL','manDiaLskip','manDiaLonly','manDiaLlookCALL','manDiaLlogCALL','userLOGout','updateDISPO','VDADpause','VDADready','VDADcheckINCOMING','UpdatEFavoritEs','CalLBacKLisT','CalLBacKCounT','PauseCodeSubmit','LogiNCamPaigns') +# - $stage - ('start','finish','lookup','new') +# - $closer_choice - ('CL_TESTCAMP_L CL_OUT123_L -') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $campaign - ('testcamp',...) +# - $dial_timeout - ('60','26',...) +# - $dial_prefix - ('9','8',...) +# - $campaign_cid - ('3125551212','0000000000',...) +# - $MDnextCID - ('M06301413000000002',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('36524',...) +# - $list_id - ('101','123456',...) +# - $length_in_sec - ('12',...) +# - $phone_code - ('1',...) +# - $phone_number - ('3125551212',...) +# - $channel - ('Zap/12-1',...) +# - $start_epoch - ('1120236911',...) +# - $vendor_lead_code - ('1234test',...) +# - $title - ('Mr.',...) +# - $first_name - ('Bob',...) +# - $middle_initial - ('L',...) +# - $last_name - ('Wilson',...) +# - $address1 - ('1324 Main St.',...) +# - $address2 - ('Apt. 12',...) +# - $address3 - ('co Robert Wilson',...) +# - $city - ('Chicago',...) +# - $state - ('IL',...) +# - $province - ('NA',...) +# - $postal_code - ('60054',...) +# - $country_code - ('USA',...) +# - $gender - ('M',...) +# - $date_of_birth - ('1970-01-01',...) +# - $alt_phone - ('3125551213',...) +# - $email - ('bob@bob.com',...) +# - $security_phrase - ('Hello',...) +# - $comments - ('Good Customer',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $VDstop_rec_after_each_call - ('0','1') +# - $conf_silent_prefix - ('7','8','',...) +# - $extension - ('123','user123','25-1',...) +# - $protocol - ('Zap','SIP','IAX2',...) +# - $user_abb - ('1234','6666',...) +# - $preview - ('YES','NO',...) +# - $called_count - ('0','1','2',...) +# - $agent_log_id - ('123456',...) +# - $agent_log - ('NO',...) +# - $favorites_list - (",'cc160','cc100'",...) +# - $CallBackDatETimE - ('2006-04-21 14:30:00',...) +# - $recipient - ('ANYONE,'USERONLY') +# - $callback_id - ('12345','12346',...) +# - $use_internal_dnc - ('Y','N') +# - $omit_phone_code - ('Y','N') +# - $no_delete_sessions - ('0','1') + +# CHANGELOG: +# 50629-1044 - First build of script +# 50630-1422 - Added manual dial action and MD channel lookup +# 50701-1451 - Added dial log for start and end of vicidial calls +# 50705-1239 - Added call disposition update +# 50804-1627 - Fixed updateDispo to update vicidial_log entry +# 50816-1605 - Added VDADpause/ready for auto dialing +# 50816-1811 - Added basic autodial call pickup functions +# 50817-1005 - Altered logging functions to accomodate auto_dialing +# 50818-1305 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1411 - Added hangup of agent phone after Logout +# 50901-1315 - Fixed CLOSER IN-GROUP Web Form bug +# 50902-1507 - Fixed CLOSER log length_in_sec bug +# 50902-1730 - Added functions for manual preview dialing and revert +# 50913-1214 - Added agent random update to leadupdate +# 51020-1421 - Added agent_log_id framework for detailed agent activity logging +# 51021-1717 - Allows for multi-line comments (changes \n to !N in database) +# 51111-1046 - Added vicidial_agent_log lead_id earlier for manual dial +# 51121-1445 - Altered echo statements for several small PHP speed optimizations +# 51122-1328 - Fixed UserLogout issue not removing conference reservation +# 51129-1012 - Added ability to accept calls from other VICIDIAL servers +# 51129-1729 - Changed manual dial to use the '/n' flag for calls +# 51221-1154 - Added SCRIPT id lookup and sending to vicidial.php for display +# 60105-1059 - Added Updating of astguiclient favorites in the DB +# 60208-1617 - Added dtmf buttons output per call +# 60213-1521 - Added closer_campaigns update to vicidial_users +# 60215-1036 - Added Callback date-time entry into vicidial_callbacks table +# 60413-1541 - Added USERONLY Callback listings output - CalLBacKLisT +# - Added USERONLY Callback count output - CalLBacKCounT +# 60414-1140 - Added Callback lead lookup for manual dialing +# 60419-1517 - After CALLBK is sent to agent, update callback record to INACTIVE +# 60421-1419 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60427-1236 - Fixed closer_choice error for CLOSER campaigns +# 60609-1148 - Added ability to check for manual dial numbers in DNC +# 60619-1117 - Added variable filters to close security holes for login form +# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic +# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing +# 60821-1647 - Added ability to not delete sessions at logout +# 60906-1124 - Added lookup and sending of callback data for CALLBK calls +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70115-1733 - Added alt_dial functionality in auto-dial modes +# 70118-1501 - Added user_group to vicidial_log,_agent_log,_closer_log,_callbacks +# 70123-1357 - Fixed bug that would not update vicidial_closer_log status to dispo +# 70202-1438 - Added pause code submit function +# 70203-0930 - Added dialed_number to lead info output +# 70203-1030 - Added dialed_label to lead info output +# 70206-1126 - Added INBOUND status for inbound/closer calls in vicidial_live_agents +# 70212-1253 - Fixed small issue with CXFER +# 70213-1431 - Added QueueMetrics PAUSE/UNPAUSE/AGENTLOGIN/AGENTLOGOFF actions +# 70214-1231 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1210 - Added queuemetrics COMPLETEAGENT action +# 70216-1051 - Fixed double call complete queuemetrics logging +# 70222-1616 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70309-1034 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70319-1544 - Added agent disable update customer data function +# 70322-1545 - Added sipsak display ability +# 70413-1253 - Fixed bug for outbound call time in CLOSER-type blended campaigns +# 70424-1100 - Fixed bug for fronter/closer calls that would delete vdac records +# 70802-1729 - Fixed bugs with pause_sec and wait_sec under certain call handling +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71029-1855 - removed campaign_id naming restrictions for CLOSER-type campaigns +# 71030-2047 - added hopper priority for auto alt dial entries +# 71116-1011 - added calls_today count updating of the vicidial_live_agents upon INCALL +# 71120-1520 - added LogiNCamPaigns to show only allowed campaigns for agents upon login +# 71125-1751 - Added inbound-group default inbound group sending to vicidial.php +# 71129-2025 - restricted callbacks count and list to campaign only +# + +$version = '2.0.4-65'; +$build = '71129-2025'; + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["closer_choice"])) {$closer_choice=$_GET["closer_choice"];} + elseif (isset($_POST["closer_choice"])) {$closer_choice=$_POST["closer_choice"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["dial_timeout"])) {$dial_timeout=$_GET["dial_timeout"];} + elseif (isset($_POST["dial_timeout"])) {$dial_timeout=$_POST["dial_timeout"];} +if (isset($_GET["dial_prefix"])) {$dial_prefix=$_GET["dial_prefix"];} + elseif (isset($_POST["dial_prefix"])) {$dial_prefix=$_POST["dial_prefix"];} +if (isset($_GET["campaign_cid"])) {$campaign_cid=$_GET["campaign_cid"];} + elseif (isset($_POST["campaign_cid"])) {$campaign_cid=$_POST["campaign_cid"];} +if (isset($_GET["MDnextCID"])) {$MDnextCID=$_GET["MDnextCID"];} + elseif (isset($_POST["MDnextCID"])) {$MDnextCID=$_POST["MDnextCID"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["length_in_sec"])) {$length_in_sec=$_GET["length_in_sec"];} + elseif (isset($_POST["length_in_sec"])) {$length_in_sec=$_POST["length_in_sec"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["start_epoch"])) {$start_epoch=$_GET["start_epoch"];} + elseif (isset($_POST["start_epoch"])) {$start_epoch=$_POST["start_epoch"];} +if (isset($_GET["dispo_choice"])) {$dispo_choice=$_GET["dispo_choice"];} + elseif (isset($_POST["dispo_choice"])) {$dispo_choice=$_POST["dispo_choice"];} +if (isset($_GET["vendor_lead_code"])) {$vendor_lead_code=$_GET["vendor_lead_code"];} + elseif (isset($_POST["vendor_lead_code"])) {$vendor_lead_code=$_POST["vendor_lead_code"];} +if (isset($_GET["title"])) {$title=$_GET["title"];} + elseif (isset($_POST["title"])) {$title=$_POST["title"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["middle_initial"])) {$middle_initial=$_GET["middle_initial"];} + elseif (isset($_POST["middle_initial"])) {$middle_initial=$_POST["middle_initial"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["gender"])) {$gender=$_GET["gender"];} + elseif (isset($_POST["gender"])) {$gender=$_POST["gender"];} +if (isset($_GET["date_of_birth"])) {$date_of_birth=$_GET["date_of_birth"];} + elseif (isset($_POST["date_of_birth"])) {$date_of_birth=$_POST["date_of_birth"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["security_phrase"])) {$security_phrase=$_GET["security_phrase"];} + elseif (isset($_POST["security_phrase"])) {$security_phrase=$_POST["security_phrase"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_GET["VDstop_rec_after_each_call"];} + elseif (isset($_POST["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_POST["VDstop_rec_after_each_call"];} +if (isset($_GET["conf_silent_prefix"])) {$conf_silent_prefix=$_GET["conf_silent_prefix"];} + elseif (isset($_POST["conf_silent_prefix"])) {$conf_silent_prefix=$_POST["conf_silent_prefix"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["user_abb"])) {$user_abb=$_GET["user_abb"];} + elseif (isset($_POST["user_abb"])) {$user_abb=$_POST["user_abb"];} +if (isset($_GET["preview"])) {$preview=$_GET["preview"];} + elseif (isset($_POST["preview"])) {$preview=$_POST["preview"];} +if (isset($_GET["called_count"])) {$called_count=$_GET["called_count"];} + elseif (isset($_POST["called_count"])) {$called_count=$_POST["called_count"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["agent_log"])) {$agent_log=$_GET["agent_log"];} + elseif (isset($_POST["agent_log"])) {$agent_log=$_POST["agent_log"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} +if (isset($_GET["CallBackDatETimE"])) {$CallBackDatETimE=$_GET["CallBackDatETimE"];} + elseif (isset($_POST["CallBackDatETimE"])) {$CallBackDatETimE=$_POST["CallBackDatETimE"];} +if (isset($_GET["recipient"])) {$recipient=$_GET["recipient"];} + elseif (isset($_POST["recipient"])) {$recipient=$_POST["recipient"];} +if (isset($_GET["callback_id"])) {$callback_id=$_GET["callback_id"];} + elseif (isset($_POST["callback_id"])) {$callback_id=$_POST["callback_id"];} +if (isset($_GET["use_internal_dnc"])) {$use_internal_dnc=$_GET["use_internal_dnc"];} + elseif (isset($_POST["use_internal_dnc"])) {$use_internal_dnc=$_POST["use_internal_dnc"];} +if (isset($_GET["omit_phone_code"])) {$omit_phone_code=$_GET["omit_phone_code"];} + elseif (isset($_POST["omit_phone_code"])) {$omit_phone_code=$_POST["omit_phone_code"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} + + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); +$phone_code = ereg_replace("[^0-9]","",$phone_code); +$phone_number = ereg_replace("[^0-9]","",$phone_number); + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} + +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$MT[0]=''; +$agents='@agents'; + +if ($ACTION == 'LogiNCamPaigns') + { + $skip_user_validation=1; + } +else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Ακυρο Όνομα χρήστη/Κωδικός πρόσβασης: |$user|$pass|\n"; + exit; + } + else + { + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Ακυρο server_ip: |$server_ip| or Ακυρο session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Ακυρο session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } +} + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDiaL Κώδικας ερώτησης βάσεων δεδομένων"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + +################################################################################ +### LogiNCamPaigns - generates an HTML SELECT list of allowed campaigns for a +### specific agent on the login screen +################################################################################ +if ($ACTION == 'LogiNCamPaigns') +{ + if ( (strlen($user)<1) ) + { + echo "\n"; + exit; + } + else + { + echo "\n"; + exit; + } +} + + + +################################################################################ +### regCLOSER - update the vicidial_live_agents table to reflect the closer +### inbound choices made upon login +################################################################################ +if ($ACTION == 'regCLOSER') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($closer_choice)<1) || (strlen($user)<1) ) + { + $channel_live=0; + echo "Επιλογή ομάδας $closer_choice δεν ισχύει\n"; + exit; + } + else + { + if ($closer_choice == "MGRLOCK-") + { + $stmt="SELECT closer_campaigns FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $closer_choice =$row[0]; + + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_users set closer_campaigns='$closer_choice' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $in_groups_pre = preg_replace('/-$/','',$closer_choice); + $in_groups = explode(" ",$in_groups_pre); + $in_groups_ct = count($in_groups); + $k=1; + while ($k < $in_groups_ct) + { + if (strlen($in_groups[$k])>1) + { + $stmt="SELECT group_weight,calls_today FROM vicidial_inbound_group_agents where user='$user' and group_id='$in_groups[$k]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $viga_ct = mysql_num_rows($rslt); + if ($viga_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_weight = $row[0]; + $calls_today = $row[1]; + } + else + { + $group_weight = 0; + $calls_today = 0; + } + $stmt="INSERT INTO vicidial_live_inbound_agents set user='$user',group_id='$in_groups[$k]',group_weight='$group_weight',calls_today='$calls_today',last_call_time='$NOW_TIME',last_call_finish='$NOW_TIME';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + $k++; + } + + } + echo "Closer In Επιλογή ομάδας $closer_choice έχει καταχωρηθεί στο χρήστη $user\n"; +} + + +################################################################################ +### manDiaLnextCALL - for manual VICIDiaL dialing this will grab the next lead +### in the campaign, reserve it, send data back to client and +### place the call by inserting into vicidial_manager +################################################################################ +if ($ACTION == 'manDiaLnextCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "ΚΕΝΟΣ HOPPER\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context δεν ισχύει\n"; + exit; + } + else + { + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### check if this is a callback, if it is, skip the grabbing of a new lead and mark the callback as INACTIVE + if ( (strlen($callback_id)>0) and (strlen($lead_id)>0) ) + { + $affected_rows=1; + $CBleadIDset=1; + + $stmt = "UPDATE vicidial_callbacks set status='INACTIVE' where callback_id='$callback_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + if (strlen($phone_number)>3) + { + if ($use_internal_dnc=='Y') + { + $stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + echo "DNC ΑΡΙΘΜΟΣ\n"; + exit; + } + } + if ($stage=='lookup') + { + $stmt="SELECT lead_id FROM vicidial_list where phone_number='$phone_number' order by modify_date desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $man_leadID_ct = mysql_num_rows($rslt); + if ($man_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $affected_rows=1; + $lead_id =$row[0]; + $CBleadIDset=1; + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### grab the next lead in the hopper for this campaign and reserve it for the user + $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by hopper_id LIMIT 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + } + + if ($affected_rows > 0) + { + if (!$CBleadIDset) + { + ##### grab the lead_id of the reserved user in vicidial_hopper + $stmt="SELECT lead_id FROM vicidial_hopper where campaign_id='$campaign' and status='QUEUE' and user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $hopper_leadID_ct = mysql_num_rows($rslt); + if ($hopper_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + } + } + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = trim("$row[29]"); + $called_count = trim("$row[30]"); + } + + $called_count++; + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M\n"); + fclose($fp); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='Y', called_count='$called_count',user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + if (!$CBleadIDset) + { + ### delete the lead from the hopper + $stmt = "DELETE FROM vicidial_hopper where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id',comments='MANUAL' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + ### if preview dialing, do not send the call + if ( (strlen($preview)<1) || ($preview == 'NO') ) + { + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + $Local_persist = '/n'; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update calls_today count in vicidial_campaign_agents + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $MqueryCID . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= "MAIN\n"; + $LeaD_InfO .= $source_id . "\n"; + + echo $LeaD_InfO; + + } + else + { + echo "ΚΕΝΟΣ HOPPER\n"; + } + } +} + + +################################################################################ +### manDiaLskip - for manual VICIDiaL dialing this skips the lead that was +### previewed in the step above and puts it back in orig status +################################################################################ +if ($ACTION == 'manDiaLskip') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($stage)<1) || (strlen($called_count)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "LEAD NOT REVERTED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context δεν ισχύει\n"; + exit; + } + else + { + $called_count = ($called_count - 1); + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='$stage', called_count='$called_count',user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + + echo "LEAD REVERTED\n"; + } +} + + +################################################################################ +### manDiaLonly - for manual VICIDiaL dialing this sends the call that was +### previewed in the step above +################################################################################ +if ($ACTION == 'manDiaLonly') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) || (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo " ΚΛΗΣΗ NOT PLACED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context δεν ισχύει\n"; + exit; + } + else + { + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + $Local_persist = '/n'; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + echo "$MqueryCID\n"; + } +} + + +################################################################################ +### manDiaLlookCALL - for manual VICIDiaL dialing this will attempt to look up +### the trunk channel that the call was placed on +################################################################################ +if ($ACTION == 'manDiaLlookCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; +if (strlen($MDnextCID)<18) + { + echo "NO\n"; + echo "MDnextCID $MDnextCID δεν ισχύει\n"; + exit; + } +else + { + ##### look for the channel in the UPDATED vicidial_manager record of the call initiation + $stmt="SELECT uniqueid,channel FROM vicidial_manager where callerid='$MDnextCID' and server_ip='$server_ip' and status='UPDATED' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid =$row[0]; + $channel =$row[1]; + echo "$uniqueid\n$channel"; + + $wait_sec=0; + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',wait_epoch='$StarTtime',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + echo "NO\n"; + } + } +} + + + +################################################################################ +### manDiaLlogCALL - for manual VICIDiaL logging of calls places record in +### vicidial_log and then sends process to call_log entry +################################################################################ +if ($ACTION == 'manDiaLlogCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + +if ($stage == "start") + { + if ( (strlen($uniqueid)<1) || (strlen($lead_id)<1) || (strlen($list_id)<1) || (strlen($phone_number)<1) || (strlen($campaign)<1) ) + { + echo "ΔΕΝ ΕΓΙΝΕ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΑΤΑΓΡΑΦΗ ΓΕΓΟΝΟΤΩΝ\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id or list_id: $list_id or phone_number: $phone_number or campaign: $campaign δεν ισχύει\n"; + exit; + } + else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### insert log into vicidial_log for manual VICIDiaL call + $stmt="INSERT INTO vicidial_log (uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,comments,processed,user_group) values('$uniqueid','$lead_id','$list_id','$campaign','$NOW_TIME','$StarTtime','INCALL','$phone_code','$phone_number','$user','MANUAL','N','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "VICIDiaL_LOG Εισαγωγή : $uniqueid|$channel|$NOW_TIME\n"; + echo "$StarTtime\n"; + } + else + { + echo "ΔΕΝ ΕΓΙΝΕ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΑΤΑΓΡΑΦΗ ΓΕΓΟΝΟΤΩΝ\n"; + } + + $stmt = "UPDATE vicidial_auto_calls SET uniqueid='$uniqueid' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + # ##### insert log into call_log for manual VICIDiaL call + # $stmt = "INSERT INTO call_log (uniqueid,channel,server_ip,extension,number_dialed,caller_code,start_time,start_epoch) values('$uniqueid','$channel','$server_ip','$exten','$phone_code$phone_number','MD $user $lead_id','$NOW_TIME','$StarTtime')"; + # if ($DB) {echo "$stmt\n";} + # $rslt=mysql_query($stmt, $link); + # $affected_rows = mysql_affected_rows($link); + + # if ($affected_rows > 0) + # { + # echo "CALL_LOG Εισαγωγή : $uniqueid|$channel|$NOW_TIME"; + # } + # else + # { + # echo "ΔΕΝ ΕΓΙΝΕ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΑΤΑΓΡΑΦΗ ΓΕΓΟΝΟΤΩΝ\n"; + # } + } + } + +if ($stage == "end") + { + if ( (strlen($uniqueid)<1) || (strlen($lead_id)<1) ) + { + echo "ΔΕΝ ΕΓΙΝΕ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΑΤΑΓΡΑΦΗ ΓΕΓΟΝΟΤΩΝ\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id δεν ισχύει\n"; + exit; + } + else + { + if ($start_epoch < 1000) + { + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ##### look for the start epoch in the vicidial_closer_log table + $stmt="SELECT start_epoch FROM vicidial_closer_log where phone_number='$phone_number' and lead_id='$lead_id' and user='$user' order by closecallid desc limit 1;"; + } + else + { + ##### look for the start epoch in the vicidial_log table + $stmt="SELECT start_epoch FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';"; + } + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch =$row[0]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($length_in_sec < 1) and ($row[0] > 0) ) + { + ##### start epoch in the vicidial_log table, couldn't find one in vicidial_closer_log + $stmt="SELECT start_epoch FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch =$row[0]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + } + } + else {$length_in_sec = ($StarTtime - $start_epoch);} + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec',status='DONE' where lead_id='$lead_id' order by start_epoch desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + ############################################# + ##### ΕΝΑΡΞΗ QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ($auto_dial_level > 0) + { + ### check to see if campaign has alt_dial enabled + $stmt="SELECT auto_alt_dial FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_alt_dial =$row[0]; + } + else {$auto_alt_dial = 'NONE';} + if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3)",$auto_alt_dial)) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT alt_dial FROM vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_dial =$row[0]; + } + else {$alt_dial = 'NONE';} + + if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3)",$auto_alt_dial)) ) + { + $stmt="SELECT alt_phone,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_phone = $row[0]; + $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$alt_phone = '';} + if (strlen($alt_phone)>5) + { + ### insert record into vicidial_hopper for alt_phone call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ALT',user='',priority='25';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + } + if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + { + $stmt="SELECT address3,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $address3 = $row[0]; + $address3 = eregi_replace("[^0-9]","",$address3); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$address3 = '';} + if (strlen($address3)>5) + { + ### insert record into vicidial_hopper for address3 call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ADDR3',user='',priority='20';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + + if ($enable_queuemetrics_logging > 0) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/.*-/",'',$CLstage); + if (strlen($CLstage) < 1) {$CLstage=0;} + + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt="SELECT count(*) from queue_log where call_id='$MDnextCID' and verb='COMPLETECALLER';"; + $rslt=mysql_query($stmt, $linkB); + if ($DB) {echo "$stmt\n";} + $VAC_cc_ct = mysql_num_rows($rslt); + if ($VAC_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $caller_complete = $row[0]; + } + + if ($caller_complete < 1) + { + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + } + mysql_close($linkB); + } + + ### delete call record from vicidial_auto_calls + $stmt = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',lead_id='',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='ΠΑΥΣΗALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } + else + { + if ($enable_queuemetrics_logging > 0) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/XFER|-/",'',$CLstage); + if ($CLstage < 0.25) {$CLstage=0;} + + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + $stmt = "DELETE from vicidial_auto_calls lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',lead_id='',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='ΠΑΥΣΗALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } + + ##### look for the channel in the UPDATED vicidial_manager record of the call initiation + $stmt="UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec' where uniqueid='$uniqueid' and lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "$uniqueid\n$channel\n"; + } + else + { + echo "ΔΕΝ ΕΓΙΝΕ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΑΤΑΓΡΑΦΗ ΓΕΓΟΝΟΤΩΝ\n\n"; + } + } + + echo $VDstop_rec_after_each_call . '|' . $extension . '|' . $conf_silent_prefix . '|' . $conf_exten . '|' . $user_abb . "|\n"; + + ##### if VICIDiaL call and hangup_after_each_call activated, find all recording + ##### channels and hang them up while entering info into recording_log and + ##### returning filename/recordingID + if ($VDstop_rec_after_each_call == 1) + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $total_rec=0; + $loop_count=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten' order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$rec_list = mysql_num_rows($rslt);} + while ($rec_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/Local\/$conf_silent_prefix$conf_exten\@/i",$row[0])) + { + $rec_channels[$total_rec] = "$row[0]"; + $total_rec++; + } + if ($format=='debug') {echo "\n";} + $loop_count++; + } + + $total_recFN=0; + $loop_count=0; + $filename=$MT; # not necessary : and cmd_line_f LIKE \"%_$user_abb\" + $stmt="SELECT cmd_line_f FROM vicidial_manager where server_ip='$server_ip' and action='Originate' and cmd_line_b = 'Channel: $local_DEF$conf_silent_prefix$conf_exten$local_AMP$ext_context' order by entry_date desc limit $total_rec;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$recFN_list = mysql_num_rows($rslt);} + while ($recFN_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + $filename[$total_recFN] = preg_replace("/Callerid: /i","",$row[0]); + if ($format=='debug') {echo "\n";} + $total_recFN++; + $loop_count++; + } + + $loop_count=0; + while($loop_count < $total_rec) + { + if (strlen($rec_channels[$loop_count])>5) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$loop_count','Channel: $rec_channels[$loop_count]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "REC_STOP|$rec_channels[$loop_count]|$filename[$loop_count]|"; + if (strlen($filename)>2) + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename[$loop_count]'"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$fn_count = mysql_num_rows($rslt);} + if ($fn_count) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt="UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename[$loop_count]' and end_epoch is NULL;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "$recording_id|$length_in_min|"; + } + else {echo "||";} + } + else {echo "||";} + echo "\n"; + } + $loop_count++; + } + } + + + $talk_sec=0; + $StarTtime = date("U"); + $stmt = "select talk_epoch,talk_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $talk_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set talk_sec='$talk_sec',talk_epoch='$StarTtime',dispo_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } +} + + +################################################################################ +### VDADREcheckINCOMING - for auto-dial VICIDiaL dialing this will recheck for +### calls to see if the channel has updated +################################################################################ +if ($ACTION == 'VDADREcheckINCOMING') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Εκστρατεία $campaign δεν ισχύει\n"; + echo "lead_id $lead_id δεν ισχύει\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + } + } +} + + +################################################################################ +### VDADcheckINCOMING - for auto-dial VICIDiaL dialing this will check for calls +### in the vicidial_live_agents table in QUEUE status, then +### lookup the lead info and pass it back to vicidial.php +################################################################################ +if ($ACTION == 'VDADcheckINCOMING') +{ + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Εκστρατεία $campaign δεν ισχύει\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and status='QUEUE';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',comments='AUTO',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = trim("$row[29]"); + $called_count = trim("$row[30]"); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + $stmt = "UPDATE vicidial_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select campaign_id,phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group =$row[0]; + $dialed_number =$row[1]; + $dialed_label =$row[2]; + } + else + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|\n"); + fclose($fp); + } + } + + $stmt = "select count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + + $stmt = "select * from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[1]; + $VDCL_group_color = $row[2]; + $VDCL_group_web = $row[4]; + $VDCL_fronter_display = $row[7]; + $VDCL_ingroup_script = $row[8]; + $VDCL_get_call_launch = $row[9]; + $VDCL_xferconf_a_dtmf = $row[10]; + $VDCL_xferconf_a_number = $row[11]; + $VDCL_xferconf_b_dtmf = $row[12]; + $VDCL_xferconf_b_number = $row[13]; + $VDCL_default_xfer_group= $row[28]; + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set comments='INBOUND' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $Ctype = 'I'; + } + else + { + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + } + } + + ### if web form is set then send στο to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|\n";} + else {echo "|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + } + else + { + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_campaign_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + } + echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|\n|\n"; + + $stmt = "select phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dialed_number =$row[0]; + $dialed_label =$row[1]; + } + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + ### If ΚΛΗΣΗBK, change vicidial_callback record to INACTIVE + if (eregi("CALLBK|CBHOLD", $dispo)) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype\n"); + fclose($fp); + } + + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user στο $server_ip\n"; + exit; + } + } +} + + +################################################################################ +### userLOGout - Logs the user out of VICIDiaL client, deleting db records and +### inserting into vicidial_user_log +################################################################################ +if ($ACTION == 'userLOGout') +{ + $MT[0]=''; + $row=''; $rowx=''; +if ( (strlen($campaign)<1) || (strlen($conf_exten)<1) ) + { + echo "NO\n"; + echo "campaign $campaign or conf_exten $conf_exten δεν ισχύει\n"; + exit; + } +else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### Insert a ΑΠΟΣΥΝΔΕΣΗ record into the user log + $stmt="INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$user','ΑΠΟΣΥΝΔΕΣΗ','$campaign','$NOW_TIME','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vul_insert = mysql_affected_rows($link); + + if ($no_delete_sessions < 1) + { + ##### Remove the reservation στο the vicidial_conferences meetme room + $stmt="UPDATE vicidial_conferences set extension='' where server_ip='$server_ip' and conf_exten='$conf_exten';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vc_remove = mysql_affected_rows($link); + } + + ##### Delete the vicidial_live_agents record for this session + $stmt="DELETE from vicidial_live_agents where server_ip='$server_ip' and user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vla_delete = mysql_affected_rows($link); + + ##### Delete the vicidial_live_inbound_agents records for this session + $stmt="DELETE from vicidial_live_inbound_agents where user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vlia_delete = mysql_affected_rows($link); + + ##### Delete the web_client_sessions + $stmt="DELETE from web_client_sessions where server_ip='$server_ip' and session_name ='$session_name';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $wcs_delete = mysql_affected_rows($link); + + ##### Hangup the client phone + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$extension%\" order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) + { + $row=mysql_fetch_row($rslt); + $agent_channel = "$row[0]"; + if ($format=='debug') {echo "\n";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','ULGH3459$StarTtime','Channel: $agent_channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) + { + $row=mysql_fetch_row($rslt); + $pause_sec = (($StarTtime - $row[0]) + $row[1]); + + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + if ($vla_delete > 0) + { + ############################################# + ##### ΕΝΑΡΞΗ QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_message = 'LOGGED OUT'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='ΠΑΥΣΗ',serverid='1';"; + # if ($DB) {echo "$stmt\n";} + # if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + # $rslt=mysql_query($stmt, $linkB); + # $affected_rows = mysql_affected_rows($linkB); + + $stmt = "SELECT time_id FROM queue_log where agent='Agent/$user' and verb='AGENTLOGIN' order by time_id desc limit 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + if ($DB) {echo "$stmt\n";} + echo "$stmt\n"; + $li_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $li_conf_ct) + { + $row=mysql_fetch_row($rslt); + $logintime = $row[0]; + $i++; + } + + $time_logged_in = ($StarTtime - $logintime); + if ($time_logged_in > 1000000) {$time_logged_in=1;} + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='AGENTLOGOFF',data1='$user$agents',data2='$time_logged_in',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + echo "$vul_insert|$vc_remove|$vla_delete|$wcs_delete|$agent_channel|$vlia_delete\n"; + } +} + + +################################################################################ +### updateDISPO - update the vicidial_list table to reflect the agent choice of +### call disposition for that leand +################################################################################ +if ($ACTION == 'updateDISPO') +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($dispo_choice)<1) || (strlen($lead_id)<1) ) + { + echo "Dispo Choice $dispo or lead_id $lead_id δεν ισχύει\n"; + exit; + } + else + { + $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by uniqueid desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + if ( ($use_internal_dnc=='Y') and ($dispo_choice=='DNC') ) + { + $stmt = "select phone_number from vicidial_list where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $stmt="INSERT INTO vicidial_dnc (phone_number) values('$row[0]');"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + } + } + + $dispo_sec=0; + $StarTtime = date("U"); + $stmt = "select dispo_epoch,dispo_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dispo_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set dispo_sec='$dispo_sec',dispo_epoch='$StarTtime',status='$dispo_choice' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group) values('$user','$server_ip','$NOW_TIME','$campaign','$StarTtime','0','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + + ### ΚΛΗΣΗBACK ENTRY + if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) + { + $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$row[0])) ) + { + $stmt = "select count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE vicidial_hopper set status='READY' where lead_id='$lead_id' and status='HOLD' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + $stmt="DELETE from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + ############################################# + ##### ΕΝΑΡΞΗ QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='CALLΚΑΤΑΣΤΑΣΗ',data1='$dispo_choice',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + echo 'Lead ' . $lead_id . ' έχει αλλαχτεί ' . $dispo_choice . " Κατάσταση\nNext agent_log_id:\n" . $agent_log_id . "\n"; +} + +################################################################################ +### updateLEAD - update the vicidial_list table to reflect the values that are +### in the agents screen at time of call hangup +################################################################################ +if ($ACTION == 'updateLEAD') +{ + $MT[0]=''; + $row=''; $rowx=''; + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + if ( (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + echo "phone_number $phone_number or lead_id $lead_id δεν ισχύει\n"; + exit; + } + else + { + + $stmt = "SELECT disable_alter_custdata FROM vicidial_campaigns where campaign_id='$campaign'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $dac_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $dac_conf_ct) + { + $row=mysql_fetch_row($rslt); + $disable_alter_custdata = $row[0]; + $i++; + } + if (ereg('Y',$disable_alter_custdata)) + { + $DO_NOT_UPDATE=1; + $DO_NOT_UPDATE_text=' NOT'; + $stmt = "SELECT alter_custdata_override FROM vicidial_users where user='$user'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $aco_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $aco_conf_ct) + { + $row=mysql_fetch_row($rslt); + $alter_custdata_override = $row[0]; + $i++; + } + if (ereg('ALLOW_ALTER',$alter_custdata_override)) + { + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + } + } + + if ($DO_NOT_UPDATE < 1) + { + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + $comments = eregi_replace("--AMP--",'&',$comments); + $comments = eregi_replace("--QUES--",'?',$comments); + $comments = eregi_replace("--POUND--",'#',$comments); + + $stmt="UPDATE vicidial_list set vendor_lead_code='" . mysql_real_escape_string($vendor_lead_code) . "', title='" . mysql_real_escape_string($title) . "', first_name='" . mysql_real_escape_string($first_name) . "', middle_initial='" . mysql_real_escape_string($middle_initial) . "', last_name='" . mysql_real_escape_string($last_name) . "', address1='" . mysql_real_escape_string($address1) . "', address2='" . mysql_real_escape_string($address2) . "', address3='" . mysql_real_escape_string($address3) . "', city='" . mysql_real_escape_string($city) . "', state='" . mysql_real_escape_string($state) . "', province='" . mysql_real_escape_string($province) . "', postal_code='" . mysql_real_escape_string($postal_code) . "', country_code='" . mysql_real_escape_string($country_code) . "', gender='" . mysql_real_escape_string($gender) . "', date_of_birth='" . mysql_real_escape_string($date_of_birth) . "', alt_phone='" . mysql_real_escape_string($alt_phone) . "', email='" . mysql_real_escape_string($email) . "', security_phrase='" . mysql_real_escape_string($security_phrase) . "', comments='" . mysql_real_escape_string($comments) . "' where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } + echo "Lead $lead_id information has$DO_NOT_UPDATE_text been updated\n"; +} + + +################################################################################ +### VDADpause - update the vicidial_live_agents table to show that the agent is +### or ready now active and ready to take calls +################################################################################ +if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($stage)<2) || (strlen($server_ip)<1) ) + { + echo "stage $stage δεν ισχύει\n"; + exit; + } + else + { + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set lead_id='',uniqueid=0,callerid='',channel='', random_id='$random',comments='' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_live_agents set status='$stage' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### ΕΝΑΡΞΗ QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + if (ereg('READY',$stage)) {$QMstatus='UNPAUSEALL';} + if (ereg('ΠΑΥΣΗ',$stage)) {$QMstatus='ΠΑΥΣΗALL';} + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='$QMstatus',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + if ($agent_log == 'NO') + {$donothing=1;} + else + { + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,wait_sec,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec=0; + if ($row[2] > 0) + { + $wait_sec = (($StarTtime - $row[2]) + $row[3]); + } + if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} + else + {$pause_sec = (($row[4] - $row[0]) + $row[1]);} + + } + if ($ACTION == 'VDADready') + { + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + if ($ACTION == 'VDADpause') + { + $stmt="UPDATE vicidial_agent_log set pause_epoch='$StarTtime',wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + echo 'Agent ' . $user . ' είναι τώρα στη κατάσταση ' . $stage . "\n"; +} + + +################################################################################ +### UpdatEFavoritEs - update the astguiclient favorites list for this extension +################################################################################ +if ($ACTION == 'UpdatEFavoritEs') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($favorites_list)<1) || (strlen($user)<1) || (strlen($exten)<1) ) + { + echo "favorites list $favorites_list δεν ισχύει\n"; + exit; + } + else + { + $stmt = "select count(*) from phone_favorites where extension='$exten' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE phone_favorites set extensions_list=\"$favorites_list\" where extension='$exten' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO phone_favorites values('$exten','$server_ip',\"$favorites_list\");"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + echo "Favorites list has been updated to $favorites_list for $exten\n"; +} + + +################################################################################ +### PauseCodeSubmit - Update vicidial_agent_log with pause code +################################################################################ +if ($ACTION == 'ΠαύσηCodeSubmit') +{ + $row=''; $rowx=''; + if ( (strlen($status)<1) || (strlen($agent_log_id)<1) ) + { + echo "agent_log_id $agent_log_id or pause_code $status δεν ισχύει\n"; + exit; + } + else + { + $stmt="UPDATE vicidial_agent_log set sub_status=\"$status\" where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### ΕΝΑΡΞΗ QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'BK-'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='ΠΑΥΣΗREASON',serverid='$queuemetrics_log_id',data1='$status';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } +echo "Παύση Code has been updated to $status for $agent_log_id\n"; +} + + +################################################################################ +### CalLBacKLisT - List the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKLisT') +{ +$stmt = "select callback_id,lead_id,campaign_id,status,entry_time,callback_time,comments from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD') order by callback_time;"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); +if ($rslt) {$callbacks_count = mysql_num_rows($rslt);} +echo "$callbacks_count\n"; +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $row=mysql_fetch_row($rslt); + $callback_id[$loop_count] = $row[0]; + $lead_id[$loop_count] = $row[1]; + $campaign_id[$loop_count] = $row[2]; + $status[$loop_count] = $row[3]; + $entry_time[$loop_count] = $row[4]; + $callback_time[$loop_count] = $row[5]; + $comments[$loop_count] = $row[6]; + $loop_count++; + } +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $stmt = "select first_name,last_name,phone_number from vicidial_list where lead_id='$lead_id[$loop_count]';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + echo "$row[0] ~$row[1] ~$row[2] ~$callback_id[$loop_count] ~$lead_id[$loop_count] ~$campaign_id[$loop_count] ~$status[$loop_count] ~$entry_time[$loop_count] ~$callback_time[$loop_count] ~$comments[$loop_count]\n"; + $loop_count++; + } + +} + + +################################################################################ +### CalLBacKCounT - send the count of the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKCounT') +{ +$stmt = "select count(*) from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD');"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$cbcount=$row[0]; + +echo "$cbcount"; +} + + + + +if ($format=='debug') +{ +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +echo "\n"; +echo "\n\n\n"; +} + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/vicidial.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/vicidial.php new file mode 100644 index 00000000..4d71a6d7 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/vicidial.php @@ -0,0 +1,6797 @@ + LICENSE: GPLv2 +# +# make sure you have added a user to the vicidial_users MySQL table with at least +# user_level 1 or greater to access this page. Also, you need to have the login +# and pass of a phone listed in the asterisk.phones table. The page grabs the +# server info and other details from this login and pass. +# +# This script works best with Firefox or Mozilla, but will run for a couple +# hours on Internet Explorer before the memory leaks cause a crash. +# +# Other scripts that this application depends on: +# - vdc_db_query.php: Updates information in the database +# - manager_send.php: Sends manager actions to the DB for execution +# +# CHANGELOG +# 50607-1426 - First Build of VICIDIAL web client basic login process finished +# 50628-1620 - Added some basic formatting and worked on process flow +# 50628-1715 - Startup variables mapped to javascript variables +# 50629-1303 - Added Login Closer in-groups selection box and vla update +# 50629-1530 - Rough layout for customer info form section and button links +# 50630-1453 - Rough Manual Dial/Hangup with customer info displayed +# 50701-1450 - Added vicidial_log entries on dial and hangup +# 50701-1634 - Added Logout function +# 50705-1259 - Added call disposition functionality +# 50705-1432 - Added lead info DB update function +# 50705-1658 - Added web form functionality +# 50706-1043 - Added call park and pickup functions +# 50706-1234 - Added Start/Stop Recording functionality +# 50706-1614 - Added conference channels display option +# 50711-1333 - Removed call check redundancy and fixed a span bug +# 50727-1424 - Added customer channel and participant present sensing/alerts +# 50804-1057 - Added SendDTMF function and reconfigured the transfer span +# 50804-1224 - Added Local and Internal Closer transfer functions +# 50804-1628 - Added Blind transfer, activated LIVE CALL image and fixed bugs +# 50804-1808 - Added button images for left buttons +# 50815-1151 - Added 3Way calling functions to Transfer-conf frame +# 50815-1602 - Added images and buttons for xfer functions +# 50816-1813 - Added basic autodial outbound call pickup functions +# 50817-1113 - Fixes to auto_dialing call receipt +# 50817-1234 - Added inbound call receipt capability +# 50817-1541 - Added customer time display +# 50817-1541 - Added customer time display +# 50818-1327 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1703 - Added pretty login section +# 50825-1200 - Modified form field lengths, added double-click dispositions +# 50831-1603 - Fixed customer time bug and fronter display bug for CLOSER +# 50901-1314 - Fixed CLOSER IN-GROUP Web Form bug +# 50903-0904 - Added preview-lead code for manual dialing +# 50904-0016 - Added ability to hangup manual dials before pickup +# 50906-1319 - Added override for filters on xfer calls, fixed login display bug +# 50909-1243 - Added hotkeys functionality for quick dispoing in auto-dial mode +# 50912-0958 - Modified hotkeys function, agent must have user_level >= 5 to use +# 50913-1212 - Added campaign_cid to 3rd party calls +# 50923-1546 - Modified to work with language translation +# 50926-1656 - Added campaign pull-down at login of active campaigns +# 50928-1633 - Added manual dial alternate number dial option +# 50930-1538 - Added session_id empty login failure and fixed 2 minor bugs +# 51004-1656 - Fixed recording filename bug and new Spanish translation +# 51020-1103 - Added campaign-specific recording control abilities +# 51020-1352 - Added Basic vicidial_agent_log framework +# 51021-1050 - Fixed custtime display and disable Enter/Return keypresses +# 51021-1718 - Allows for multi-line comments (changes \n to !N in database) +# 51110-1432 - Fixed non-standard http port issue +# 51111-1047 - Added vicidial_agent_log lead_id earlier for manual dial +# 51118-1305 - Activate multi-line comments from $multi_line_comments var +# 51118-1313 - Move Transfer DIV to a floating span to preserve 800x600 view +# 51121-1506 - Small PHP optimizations in many scripts and disabled globalize +# 51129-1010 - Added ability to accept calls from other VICIDIAL servers +# 51129-1254 - Fixed Hangups of other agents channels when customer hangs up +# 51208-1732 - Created user-first login that looks for default phone info +# 51219-1526 - Added variable framework for campaign and in-group scripts +# 51221-1200 - Added SCRIPT tab, layout and functionality +# 51221-1714 - Added auto-switch-to-SCRIPT-tab and auto-webform-popup +# 51222-1605 - Added VMail message blind transfer button to xfer-conf frame +# 51229-1028 - Added checks on web_form_address to allow for var in the DB value +# 60117-1312 - Added Transfer-conf frame toggle on button press +# 60208-1152 - Added DTMF-xfernumber preset links to xfer-conf frame +# 60213-1129 - Added vicidial_users.hotkeys_active for any user hotkeys +# 60213-1210 - Added ability to sort routing of calls by user_level +# 60214-0932 - Initial Callback calendar display framework +# 60214-1407 - Added ability to minimize the dispo screen to see info below +# 60215-1104 - Added ANYONE scheduled callbacks functionality +# 60410-1116 - Added persistant pause after dispo option and change dispo text +# - Added web form submit that opens new window with dispo on submit +# - Added PREVIOUS CALLBACK in customer info to flag callbacks +# - Added link to try to hangup the call again in the dispo screen +# - Added link noone-in-session screen to call agent phone again +# - Added link customer-hungup screen to go straight to dispo screen +# 60410-1532 - Added agent status and campaign calls dialing display option +# 60411-1547 - Add ability to set callback as USERONLY and some basic formatting +# 60413-1752 - Add basic USERONLY callback frame and listings +# 60414-1039 - Changed manual dial preview and alt dial checkboxes to spans +# - Added beta-level USERONLY callback functionality +# - Added beta-level manual dialing with lead insertion functionality +# 60415-1534 - Fixed manual dial lead preview and fixed manuald dial override bug +# 60417-1108 - Added capability to do alt-number-dialing in auto-dial mode +# - Changed several permissions to database-defined +# 60419-1529 - Prevent manual dial or callbacks when alt-dial lead not finished +# 60420-1647 - Fixed DiaLDiaLAltPhonE error, Call Agent Again DialControl error +# 60421-1229 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60424-1005 - Fixed Alt phone disabled bug for callbacks and manual dials +# 60426-1058 - Added vicidial_user setting for default blended check for CLOSER +# 60501-1008 - Added option to manual dial screen to manually lookup phone number +# 60503-1653 - Fixed agentonly_callback not-defined bug in scheduled callbacks screen +# 60504-1032 - Fixed manual dial display bug and transfer dispo alert bug +# - Fixed recording filename display to not overrun 25 characters +# 60510-1051 - Added Wrapup timer and wrapup message on wrapup screen after dispo +# 60608-1453 - Added CLOSER campaign allowable in-groups limitations +# 60609-1123 - Added add-number-to-DNC-list function and manual dial check DNC +# 60619-1047 - Added variable filters to close security holes for login form +# 60804-1710 - fixed scheduled CALLBK for other languages build +# 60808-1145 - Added consultative transfers with customer data +# 60808-2232 - Added campaign name to pulldown for login screen +# 60809-1603 - Added option to locally transfer consult xfers +# 60809-1732 - Added recheck of transferred channels before customer gone mesg +# 60810-1011 - Fixed CXFER leave 3way call bugs +# 60816-1602 - Added ALLCALLS recording delay option allcalls_delay +# 60816-1716 - Fixed customer time display bug and client DST setting +# 60821-1555 - Added option to omit phone_code on dialout of leads +# 60821-1628 - Added ALLFORCE recording option +# 60821-1643 - Added no_delete_sessions option to not delete sessions +# 60822-0512 - Changed phone number fields to be maxlength of 12 +# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# 60906-1152 - Added Previous CallBack info display span +# 60906-1715 - Allow for Local phone extension conferences +# 61004-1729 - Add ability to control volume per channel in "calls in this session" +# 61122-1341 - Added vicidial_user_groups allowed_campaigns restrictions +# 61122-1523 - Added more SCRIPT variables +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61221-1212 - Changed width to 760 to better fit 800x600 screens, widened SCRIPT +# 70109-1128 - Fixed wrapup timer bug +# 70109-1635 - Added option for HotKeys automatically dialing next number in manual mode +# - Added option for alternate number dialing with hotkeys +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70118-1517 - Added vicidial_agent_log and vicidial_user_log logging of user_group +# 70201-1249 - Added FAST DIAL option for manually dialing, added UTF8 compatible code +# 70201-1703 - Fixed cursor bug for most text input fields +# 70202-1453 - Added first portions of Agent Pause Codes +# 70203-0108 - Finished Agent Pause Codes functionality +# 70203-0930 - Added dialed_number to webform output +# 70203-1010 - Added dialed_label to webform output +# 70206-1201 - Fixed allow_closers bug +# 70206-1332 - Added vicidial_recording_override users setting function +# 70212-1252 - Fixed small issue with CXFER +# 70213-1018 - Changed CXFER and AXFER to update customer information before transfer +# 70214-1233 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1240 - Added queuemetrics_log_id field for server_id in queue_log +# 70222-1617 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70226-1252 - Added Mute/UnMute to agent screen +# 70309-1035 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70316-1406 - Moved the MUTE button to be accessible during a transfer/conf +# 70319-1446 - Added agent-deactive-display and disable customer info update functions +# 70319-1626 - Added option to allow agent logins to campaigns with no leads in the hopper +# 70320-1501 - Added option to allow retry of leave-3way-call from dispo screen +# 70322-1545 - Added sipsak display ability +# 70510-1319 - Added onUnload force Logout +# 70806-1530 - Added Presets Dial links above agent mute button +# 70823-2118 - Fixed XMLHTTPRequest, HotKeys and Scheduled Callbacks issues with MSIE +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71022-1427 - Added formatting of the customer phone number in the main status bar +# 71029-1848 - Changed CLOSER-type campaign to not use campaign_id restrictions +# 71101-1204 - Fixed bug in callback calendar with DST +# 71116-0957 - Added campaign_weight and calls_today to the vla table insertion +# 71120-1719 - Added XMLHTPRequest lookup of allowable campaigns for agents during login +# 71122-0256 - Added auto-pause notification +# 71125-1751 - Changed Transfer section to allow for selection of in-groups to send calls to +# 71127-0408 - Added height and width settings for easier modification of screen size +# 71129-2025 - restricted callbacks count and list to campaign only +# + +$version = '2.0.4-142'; +$build = '71129-2025'; + +require("dbconnect.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["VD_login"])) {$VD_login=$_GET["VD_login"];} + elseif (isset($_POST["VD_login"])) {$VD_login=$_POST["VD_login"];} +if (isset($_GET["VD_pass"])) {$VD_pass=$_GET["VD_pass"];} + elseif (isset($_POST["VD_pass"])) {$VD_pass=$_POST["VD_pass"];} +if (isset($_GET["VD_campaign"])) {$VD_campaign=$_GET["VD_campaign"];} + elseif (isset($_POST["VD_campaign"])) {$VD_campaign=$_POST["VD_campaign"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + if (isset($VD_campaign)) + { + $VD_campaign = strtoupper($VD_campaign); + $VD_campaign = eregi_replace(" ",'',$VD_campaign); + } + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); + $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); + $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); + + +$forever_stop=0; + +if ($force_logout) +{ + echo "Έχετε αποσυνδεθεί. Σας ευχαριστούμε\n"; + exit; +} + +$isdst = date("I"); +$StarTtimE = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$tsNOW_TIME = date("YmdHis"); +$FILE_TIME = date("Ymd-His"); +$CIDdate = date("ymdHis"); + $month_old = mktime(11, 0, 0, date("m"), date("d")-2, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + + +$random = (rand(1000000, 9999999) + 10000000); + +$conf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently +$HKuser_level = '5'; # minimum vicidial user_level for HotKeys +$campaign_login_list = '1'; # show drop-down list of campaigns at login +$manual_dial_preview = '1'; # allow preview lead option when manual dial +$multi_line_comments = '1'; # set to 1 to allow multi-line comment box +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the phone login +$view_scripts = '1'; # set to 1 to show the SCRIPTS tab +$dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo +$agentcallsstatus = '0'; # set to 1 to show agent status and call count + $campagentstatctmax = '0'; # Number of δευτερόλεπτα for campaign call and agent stats +$show_campname_pulldown = '1'; # set to 1 to show campaign name στο login pulldown +$webform_sessionname = '1'; # set to 1 to include the session_name in webform URL +$local_consult_xfers = '1'; # set to 1 to send consultative transfers from original server +$clientDST = '1'; # set to 1 to check for DST στο server for agent time +$no_delete_sessions = '0'; # set to 1 to not delete sessions at logout +$volumecontrol_active = '1'; # set to 1 to allow agents to alter volume of channels +$PreseT_DiaL_LinKs = '1'; # set to 1 to show a ΚΛΗΣΗ link for Dial Presets +$LogiNAJAX = '1'; # set to 1 to do lookups +$HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from "session calls" + +$TEST_all_statuses = '0'; # TEST variable allows all statuses in dispo screen + +$BROWSER_HEIGHT = 500; # set to the minimum browser height, default=500 +$BROWSER_WIDTH = 770; # set to the minimum browser width, default=770 + + +# options now set in DB: +#$alt_phone_dialing = '1'; # allow agents to call alt phone numbers +#$scheduled_callbacks = '1'; # set to 1 to allow agent to choose scheduled callbacks +# $agentonly_callbacks = '1'; # set to 1 to allow agent to choose agent-only scheduled callbacks +#$agentcall_manual = '1'; # set to 1 to allow agent to make manual calls during autodial session + +### SCREEN WIDTH AND HEIGHT CALCULATIONS ### +### DO NOT EDIT! ### +$MASTERwidth=($BROWSER_WIDTH - 340); +$MASTERheight=($BROWSER_HEIGHT - 200); +if ($MASTERwidth < 430) {$MASTERwidth = '430';} +if ($MASTERheight < 300) {$MASTERheight = '300';} + +$CAwidth = ($MASTERwidth + 340); # 770 - cover all (none-in-session, customer hunngup, etc...) +$MNwidth = ($MASTERwidth + 330); # 760 - main frame +$XFwidth = ($MASTERwidth + 320); # 750 - transfer/conference +$HCwidth = ($MASTERwidth + 310); # 740 - hotkeys and callbacks +$AMwidth = ($MASTERwidth + 270); # 700 - agent mute and preset-dial links +$SSwidth = ($MASTERwidth + 176); # 606 - scroll script +$SDwidth = ($MASTERwidth + 170); # 600 - scroll script, customer data and calls-in-session +$HKwidth = ($MASTERwidth + 70); # 500 - Hotkeys button +$HSwidth = ($MASTERwidth + 1); # 431 - Header spacer + +$HKheight = ($MASTERheight + 105); # 405 - HotKey active Button +$AMheight = ($MASTERheight + 100); # 400 - Agent mute and preset dial links +$MBheight = ($MASTERheight + 65); # 365 - Manual Dial Buttons +$CBheight = ($MASTERheight + 50); # 350 - Agent Callback, pause code, volume control Buttons and agent status +$SSheight = ($MASTERheight + 31); # 331 - script content +$HTheight = ($MASTERheight + 10); # 310 - transfer frame, callback comments and hotkey +$BPheight = ($MASTERheight - 250); # 50 - bottom buffer + + +$US='_'; +$CL=':'; +$AT='@'; +$DS='-'; +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = eregi_replace('vicidial.php','',$agcPAGE); + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ($campaign_login_list > 0) +{ +$camp_form_code = "\n"; +} +else +{ +$camp_form_code = "\n"; +} + + +if ($LogiNAJAX > 0) +{ +?> + + + +χειριστής VICIΚΛΗΣΗ: Επανασύνδεση\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Ελληνικά
\n"; +echo "
\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Επανασύνδεση
 
Σύνδεση Τηλεφώνου:
Κωδικός πρόσβασης Τηλεφώνου:
Σύνδεση χρήστη:
Κωδικός πρόσβασης χρήστη:
Εκστρατεία: $camp_form_code

ΕΚΔΟΣΗ: $version       ΔΗΜΙΟΥΡΓΙΑ: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} + +if ($user_login_first == 1) +{ + if ( (strlen($VD_login)<1) or (strlen($VD_pass)<1) or (strlen($VD_campaign)<1) ) + { + echo "χειριστής VICIΚΛΗΣΗ: Σύνδεση εκστρατείας\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Ελληνικά
\n"; + echo "
\n"; + echo "\n"; + #echo "\n"; + #echo "\n"; + echo "

Σύνδεση χρήστη

"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Σύνδεση εκστρατείας
 
Σύνδεση χρήστη:
Κωδικός πρόσβασης χρήστη:
Εκστρατεία: $camp_form_code
  \n"; + echo "

ΕΚΔΟΣΗ: $version       ΔΗΜΙΟΥΡΓΙΑ: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + echo "χειριστής VICIΚΛΗΣΗ: Σύνδεση\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Ελληνικά
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Σύνδεση
 
Σύνδεση Τηλεφώνου:
Κωδικός πρόσβασης Τηλεφώνου:
Σύνδεση χρήστη:
Κωδικός πρόσβασης χρήστη:
Εκστρατεία: $camp_form_code
  \n"; + echo "

ΕΚΔΟΣΗ: $version       ΔΗΜΙΟΥΡΓΙΑ: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + + } + } +} + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "χειριστής VICIΚΛΗΣΗ: Σύνδεση Τηλεφώνου\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Ελληνικά
\n"; +echo "
\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Σύνδεση Τηλεφώνου
 
Σύνδεση Τηλεφώνου:
Κωδικός πρόσβασης Τηλεφώνου:
  \n"; +echo "

ΕΚΔΟΣΗ: $version       ΔΗΜΙΟΥΡΓΙΑ: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./vicidial_auth_entries.txt", "a");} +$VDloginDISPLAY=0; + + if ( (strlen($VD_login)<2) or (strlen($VD_pass)<2) or (strlen($VD_campaign)<2) ) + { + $VDloginDISPLAY=1; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if($auth>0) + { + $login=strtoupper($VD_login); + $password=strtoupper($VD_pass); + ##### grab the full name of the agent + $stmt="SELECT full_name,user_level,hotkeys_active,agent_choose_ingroups,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,closer_default_blended,user_group,vicidial_recording_override from vicidial_users where user='$VD_login' and pass='$VD_pass'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $user_level=$row[1]; + $VU_hotkeys_active=$row[2]; + $VU_agent_choose_ingroups=$row[3]; + $VU_scheduled_callbacks=$row[4]; + $agentonly_callbacks=$row[5]; + $agentcall_manual=$row[6]; + $VU_vicidial_recording=$row[7]; + $VU_vicidial_transfers=$row[8]; + $VU_closer_default_blended=$row[9]; + $VU_user_group=$row[10]; + $VU_vicidial_recording_override=$row[11]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|GOOD|$date|$VD_login|$VD_pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + $user_abb = "$VD_login$VD_login$VD_login$VD_login"; + while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns =$row[0]; + + if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) + { + echo "χειριστής VICIΚΛΗΣΗ: VICIΚΛΗΣΗ Σύνδεση εκστρατείας\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Ελληνικά
\n"; + echo "Sorry, you are not allowed to login to this campaign: $VD_campaign\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Σύνδεση: \n
"; + echo "Κωδικός πρόσβασης:
\n"; + echo "Εκστρατεία: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + ##### check to see that the campaign is active + $stmt="SELECT count(*) FROM vicidial_campaigns where campaign_id='$VD_campaign' and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $CAMPactive=$row[0]; + if($CAMPactive>0) + { + if ($TEST_all_statuses > 0) {$selectableSQL = '';} + else {$selectableSQL = "selectable='Y' and";} + $VARstatuses=''; + $VARstatusnames=''; + ##### grab the statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_statuses WHERE $selectableSQL status != 'NEW' order by status limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_statuses_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $VD_statuses_ct) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + } + + ##### grab the campaign-specific statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_campaign_statuses WHERE $selectableSQL status != 'NEW' and campaign_id='$VD_campaign' order by status limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_statuses_camp = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + $j++; + } + $VD_statuses_ct = ($VD_statuses_ct+$VD_statuses_camp); + $VARstatuses = substr("$VARstatuses", 0, -1); + $VARstatusnames = substr("$VARstatusnames", 0, -1); + + ##### grab the campaign-specific HotKey statuses that can be used for dispositioning by an agent + $stmt="SELECT hotkey,status,status_name FROM vicidial_campaign_hotkeys WHERE selectable='Y' and status != 'NEW' and campaign_id='$VD_campaign' order by hotkey limit 9;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $HK_statuses_camp = mysql_num_rows($rslt); + $w=0; + $HKboxA=''; + $HKboxB=''; + $HKboxC=''; + while ($w < $HK_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $HKhotkey[$w] =$row[0]; + $HKstatus[$w] =$row[1]; + $HKstatus_name[$w] =$row[2]; + $HKhotkeys = "$HKhotkeys'$HKhotkey[$w]',"; + $HKstatuses = "$HKstatuses'$HKstatus[$w]',"; + $HKstatusnames = "$HKstatusnames'$HKstatus_name[$w]',"; + if ($w < 3) + {$HKboxA = "$HKboxA $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + if ( ($w >= 3) and ($w < 6) ) + {$HKboxB = "$HKboxB $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + if ($w >= 6) + {$HKboxC = "$HKboxC $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + $w++; + } + $HKhotkeys = substr("$HKhotkeys", 0, -1); + $HKstatuses = substr("$HKstatuses", 0, -1); + $HKstatusnames = substr("$HKstatusnames", 0, -1); + + ##### grab the statuses to be dialed for your campaign as well as other campaign settings + $stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups FROM vicidial_campaigns where campaign_id = '$VD_campaign';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $park_ext = $row[0]; + $park_file_name = $row[1]; + $web_form_address = $row[2]; + $allow_closers = $row[3]; + $auto_dial_level = $row[4]; + $dial_timeout = $row[5]; + $dial_prefix = $row[6]; + $campaign_cid = $row[7]; + $campaign_vdad_exten = $row[8]; + $campaign_rec_exten = $row[9]; + $campaign_recording = $row[10]; + $campaign_rec_filename = $row[11]; + $campaign_script = $row[12]; + $get_call_launch = $row[13]; + $campaign_am_message_exten = $row[14]; + $xferconf_a_dtmf = $row[15]; + $xferconf_a_number = $row[16]; + $xferconf_b_dtmf = $row[17]; + $xferconf_b_number = $row[18]; + $alt_number_dialing = $row[19]; + $VC_scheduled_callbacks = $row[20]; + $wrapup_δευτερόλεπτα = $row[21]; + $wrapup_message = $row[22]; + $closer_campaigns = $row[23]; + $use_internal_dnc = $row[24]; + $allcalls_delay = $row[25]; + $omit_phone_code = $row[26]; + $agent_pause_codes_active = $row[27]; + $no_hopper_leads_logins = $row[28]; + $campaign_allow_inbound = $row[29]; + $manual_dial_list_id = $row[30]; + $default_xfer_group = $row[31]; + $xfer_groups = $row[32]; + + if ( (!ereg('DISABLED',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) + { + $campaign_recording = $VU_vicidial_recording_override; + print "\n"; + } + if ( ($VC_scheduled_callbacks=='Y') and ($VU_scheduled_callbacks=='1') ) + {$scheduled_callbacks='1';} + if ($VU_vicidial_recording=='0') + {$campaign_recording='NEVER';} + if ($alt_number_dialing=='Y') + {$alt_phone_dialing='1';} + else + {$alt_phone_dialing='0';} + $closer_campaigns = preg_replace("/^ | -$/","",$closer_campaigns); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + if ($agent_pause_codes_active=='Y') + { + ##### grab the pause codes for this campaign + $stmt="SELECT pause_code,pause_code_name FROM vicidial_pause_codes WHERE campaign_id='$VD_campaign' order by pause_code limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_pause_codes = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_pause_codes) + { + $row=mysql_fetch_row($rslt); + $pause_codes[$i] =$row[0]; + $pause_code_names[$i] =$row[1]; + $VARpause_codes = "$VARpause_codes'$pause_codes[$i]',"; + $VARpause_code_names = "$VARpause_code_names'$pause_code_names[$i]',"; + $i++; + $j++; + } + $VD_pause_codes_ct = ($VD_pause_codes_ct+$VD_pause_codes); + $VARpause_codes = substr("$VARpause_codes", 0, -1); + $VARpause_code_names = substr("$VARpause_code_names", 0, -1); + } + + ##### grab the inbound groups to choose from if campaign contains CLOSER + $VARingroups="''"; + if ($campaign_allow_inbound == 'Y') + { + $VARingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 60;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $closer_ct = mysql_num_rows($rslt); + $INgrpCT=0; + while ($INgrpCT < $closer_ct) + { + $row=mysql_fetch_row($rslt); + $closer_groups[$INgrpCT] =$row[0]; + $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $INgrpCT++; + } + $VARingroups = substr("$VARingroups", 0, -1); + } + + ##### grab the allowable inbound groups to choose from for transfer options + $xfer_groups = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groups = preg_replace("/ /","','",$xfer_groups); + $xfer_groups = "'$xfer_groups'"; + $VARxfergroups="''"; + if ($allow_closers == 'Y') + { + $VARxfergroups=''; + $stmt="select group_id,group_name from vicidial_inbound_groups where active = 'Y' and group_id IN($xfer_groups) order by group_id limit 60;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $xfer_ct = mysql_num_rows($rslt); + $XFgrpCT=0; + while ($XFgrpCT < $xfer_ct) + { + $row=mysql_fetch_row($rslt); + $VARxfergroups = "$VARxfergroups'$row[0]',"; + $VARxfergroupsnames = "$VARxfergroupsnames'$row[1]',"; + if ($row[0] == "$default_xfer_group") {$default_xfer_group_name = $row[1];} + $XFgrpCT++; + } + $VARxfergroups = substr("$VARxfergroups", 0, -1); + $VARxfergroupsnames = substr("$VARxfergroupsnames", 0, -1); + } + + ##### grab the number of leads in the hopper for this campaign + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id = '$VD_campaign' and status='READY';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $campaign_leads_to_call = $row[0]; + print "\n"; + + } + else + { + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "Η εκστρατεία είναι μη ενεργή, παρακαλώ προσπαθήστε πάλι
"; + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|FAIL|$date|$VD_login|$VD_pass|$ip|$browser|\n"); + fclose($fp); + } + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "Η σύνδεση δεν είναι σωστή, παρακαλώ προσπαθήστε πάλι
"; + } + } + if ($VDloginDISPLAY) + { + echo "χειριστής VICIΚΛΗΣΗ: Σύνδεση εκστρατείας\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Ελληνικά
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

$VDdisplayMESSAGE

"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Σύνδεση εκστρατείας
 
Σύνδεση χρήστη:
Κωδικός πρόσβασης χρήστη:
Εκστρατεία: $camp_form_code
  \n"; + echo "

ΕΚΔΟΣΗ: $version       ΔΗΜΙΟΥΡΓΙΑ: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + +$authphone=0; +$stmt="SELECT count(*) from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "χειριστής VICIΚΛΗΣΗ: Σύνδεση Τηλεφώνου Error\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Ελληνικά
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Σύνδεση Error
 
Συγγνώμη, αλλά η τηλεφωνική σύνδεση και ο κωδικός πρόσβασής σας δεν είναι ενεργά σε αυτό το σύστημα, παρακαλώ προσπαθήστε πάλι:
 
Σύνδεση Τηλεφώνου:
Κωδικός πρόσβασης Τηλεφώνου:

ΕΚΔΟΣΗ: $version       ΔΗΜΙΟΥΡΓΙΑ: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { + echo "χειριστής VICIΚΛΗΣΗ\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $login=$row[6]; + $pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $CallerID_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $enable_sipsak_messages=$row[66]; + + if ($clientDST) + { + $local_gmt = ($local_gmt + $isdst); + } + if ($protocol == 'EXTERNAL') + { + $protocol = 'Local'; + $extension = "$dialplan_number$AT$ext_context"; + } + $SIP_user = "$protocol/$extension"; + + $stmt="SELECT asterisk_version from servers where server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $asterisk_version=$row[0]; + + # If a park extension is not set, use the default one + if ( (strlen($park_ext)>0) && (strlen($park_file_name)>0) ) + { + $VICIDiaL_park_on_extension = "$park_ext"; + $VICIDiaL_park_on_filename = "$park_file_name"; + print "\n"; + } + print "\n"; + + # If a web form address is not set, use the default one + if (strlen($web_form_address)>0) + { + $VICIDiaL_web_form_address = "$web_form_address"; + print "\n"; + } + else + { + $VICIDiaL_web_form_address = "$VICIDiaL_web_URL"; + print "\n"; + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + } + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + # If closers are allowed στο this campaign + if ($allow_closers=="Y") + { + $VICIDiaL_allow_closers = 1; + print "\n"; + } + else + { + $VICIDiaL_allow_closers = 0; + print "\n"; + } + + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtimE$US$session_ext$session_rand"; + + if ($webform_sessionname) + {$webform_sessionname = "&session_name=$session_name";} + else + {$webform_sessionname = '';} + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'vicidial';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','vicidial','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + if ( ($campaign_allow_inbound == 'Y') || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + { + ### insert an entry into the user log for the login event + $stmt = "INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$VD_login','LOGIN','$VD_campaign','$NOW_TIME','$StarTtimE','$VU_user_group')"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly + $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $prev_login_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $prev_login_ct) + { + $row=mysql_fetch_row($rslt); + $session_id =$row[0]; + $i++; + } + if ($prev_login_ct > 0) + {print "\n";} + else + { + ##### grab the next available vicidial_conference room and reserve it + $stmt="SELECT conf_exten FROM vicidial_conferences where server_ip = '$server_ip' and ((extension='') or (extension is null)) LIMIT 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $free_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $free_conf_ct) + { + $row=mysql_fetch_row($rslt); + $session_id =$row[0]; + $i++; + } + $stmt="UPDATE vicidial_conferences set extension='$SIP_user' where server_ip='$server_ip' and conf_exten='$session_id';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + print "\n"; + + } + + $stmt="UPDATE vicidial_list set status='N', user='' where status IN('QUEUE','INCALL') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_hopper where status IN('QUEUE','INCALL','DONE') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_inbound_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + # print "You have logged in as user: $VD_login στο phone: $SIP_user στην εκστρατεία: $VD_campaign
\n"; + $VICIDiaL_is_logged_in=1; + + ### set the callerID for manager middleware-app to connect the phone to the user + $SIqueryCID = "S$CIDdate$session_id"; + + ############################################# + ##### ΕΝΑΡΞΗ SYSTEM_SETTINGS LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,vicidial_agent_disable,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $vicidial_agent_disable = $row[6]; + $allow_sipsak_messages = $row[7]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$VD_campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $SIqueryCID = "$SIPSAK_prefix$VD_campaign$DS$CIDdate"; + } + + ### insert a ΝΕΟ record to the vicidial_manager table to be processed + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $SIP_user','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: $SIqueryCID','','','','','');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($auto_dial_level > 0) + { + print "\n"; + + ##### grab the campaign_weight and number of calls today στο that campaign for the agent + $stmt="SELECT campaign_weight,calls_today FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vca_ct = mysql_num_rows($rslt); + if ($vca_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_weight = $row[0]; + $calls_today = $row[1]; + $i++; + } + else + { + $campaign_weight = '0'; + $calls_today = '0'; + $stmt="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) values('$VD_login','$VD_campaign','0','0','$calls_today');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + } + $closer_chooser_string=''; + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,closer_campaigns,user_level,campaign_weight,calls_today) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$closer_chooser_string','$user_level','$campaign_weight','$calls_today');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='$VD_campaign',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='ΠΑΥΣΗALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + + + if ($campaign_allow_inbound == 'Y') + { + print "\n"; + } + } + else + { + print "\n"; + + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,user_level) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$user_level');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='$VD_campaign',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='ΠΑΥΣΗALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + } + } + else + { + echo "χειριστής VICIΚΛΗΣΗ: VICIΚΛΗΣΗ Σύνδεση εκστρατείας\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Ελληνικά
\n"; + echo "Συγγνώμη, δεν υπάρχουν οδηγοί στον hopper για αυτήν την εκστρατεία\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Σύνδεση: \n
"; + echo "Κωδικός πρόσβασης:
\n"; + echo "Εκστρατεία: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + if (strlen($session_id) < 1) + { + echo "χειριστής VICIΚΛΗΣΗ: VICIΚΛΗΣΗ Σύνδεση εκστρατείας\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Ελληνικά
\n"; + echo "Sorry, there are no available sessions\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Σύνδεση: \n
"; + echo "Κωδικός πρόσβασης:
\n"; + echo "Εκστρατεία: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + if (ereg('MSIE',$browser)) + { + $useIE=1; + print "\n"; + } + else + { + $useIE=0; + print "\n"; + } + + $StarTtimE = date("U"); + $NOW_TIME = date("Y-m-d H:i:s"); + ##### Agent is going to log in so insert the vicidial_agent_log entry now + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group,sub_status) values('$VD_login','$server_ip','$NOW_TIME','$VD_campaign','$StarTtimE','0','$StarTtimE','$VU_user_group','LOGIN');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + print "\n"; + + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $server_ip_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S"; + + ##### grab the datails of all active scripts in the system + $stmt="SELECT script_id,script_name,script_text FROM vicidial_scripts WHERE active='Y' order by script_id limit 100;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $MM_scripts = mysql_num_rows($rslt); + $e=0; + while ($e < $MM_scripts) + { + $row=mysql_fetch_row($rslt); + $MMscriptid[$e] =$row[0]; + $MMscriptname[$e] = rawurlencode($row[1]); + $MMscripttext[$e] = rawurlencode($row[2]); + $MMscriptids = "$MMscriptids'$MMscriptid[$e]',"; + $MMscriptnames = "$MMscriptnames'$MMscriptname[$e]',"; + $MMscripttexts = "$MMscripttexts'$MMscripttext[$e]',"; + $e++; + } + $MMscriptids = substr("$MMscriptids", 0, -1); + $MMscriptnames = substr("$MMscriptnames", 0, -1); + $MMscripttexts = substr("$MMscripttexts", 0, -1); + + } +} + +################################################################ +### BEGIN - build the callback calendar (12 months) ### +################################################################ +define ('ADAY', (60*60*24)); +$CdayARY = getdate(); +$Cmon = $CdayARY['mon']; +$Cyear = $CdayARY['year']; +$CTODAY = date("Y-m"); +$CTODAYmday = date("j"); +$CINC=0; + +$Cmonths = Array('Φεβρουάριος','February','Μάρτιος','Απρίλιος','Μάιος','Ιούνιος', + 'Ιούλιος','Αύγουστος','Σεπτέμβριος','Οκτώβριος','Νοέμβριος','Δεκέμβριος'); +$Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); + +$CCAL_OUT = ''; + +$CCAL_OUT .= ""; + +while ($CINC < 12) +{ +if ( ($CINC == 0) || ($CINC == 4) ||($CINC == 8) ) + {$CCAL_OUT .= "";} + +$CCAL_OUT .= ""; + +if ( ($CINC == 3) || ($CINC == 7) ||($CINC == 11) ) + {$CCAL_OUT .= "";} +$CINC++; +} + +$CCAL_OUT .= "
"; + +$CYyear = $Cyear; +$Cmonth= ($Cmon + $CINC); +if ($Cmonth > 12) + { + $Cmonth = ($Cmonth - 12); + $CYyear++; + } +$Cstart= mktime(11,0,0,$Cmonth,1,$CYyear); +$CfirstdayARY = getdate($Cstart); +#echo "|$Cmon|$Cmonth|$CINC|\n"; +$CPRNTDAY = date("Y-m", $Cstart); + +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; + +foreach($Cdays as $Cday) +{ + $CDCLR="#ffffff"; +$CCAL_OUT .= ""; +} + +for( $Ccount=0;$Ccount<(6*7);$Ccount++) +{ + $Cdayarray = getdate($Cstart); + if((($Ccount) % 7) == 0) + { + if($Cdayarray['mon'] != $CfirstdayARY['mon']) + break; + $CCAL_OUT .= ""; + } + if($Ccount < $CfirstdayARY['wday'] || $Cdayarray['mon'] != $Cmonth) + { + $CCAL_OUT .= ""; + } + else + { + if( ($Cdayarray['mday'] == $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + else + { + $CDCLR="#ffffff"; + if ( ($Cdayarray['mday'] < $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CDCLR="#CCCCCC"; + $CBL = ''; + $CEL = ''; + } + else + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + } + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + } +} +$CCAL_OUT .= ""; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "$Cday"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
 "; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; + +#echo "$CCAL_OUT\n"; +################################################################ +### END - build the callback calendar (12 months) ### +################################################################ + + +?> + + + + +\n"; + + +?> + +
+ + MARGINWIDTH=0 MARGINHEIGHT=0 LEFTMARGIN=0 TOPMARGIN=0 VALIGN=TOP ALIGN=LEFT> +
+ + + +ΑΠΟΣΥΝΔΕΣΗ\n"; ?> +
+
+ + + height=30> + + + + + +
VICIΚΛΗΣΗSCRIPT VALIGN=MIDDLE ALIGN=CENTER>   LIVE     ID εργασίας: Ενεργή κλήση
+
+ + + + + height=>

VICIΚΛΗΣΗ
+
+ + +ΧΕΙΡ.ΚΛΗΣΗ       ΓΡΗΓΟΡΟΣ ΠΙΝΑΚΑΣ
+
+ + +X ΕΝΕΡΓΕΣ ΕΠΑΝΑΚΛΗΣΕΙΣ
+
+ + +
+
+ + + D1 - ΚΛΗΣΗ\n"; + echo "
\n"; + echo "D2 - ΚΛΗΣΗ\n"; + } + else {echo "
\n";} + ?> +

+
+
+ + + height=460>
ΕΠΑΝΑΚΛΗΣΕΙΣ ΓΙΑ ΤΟΝ ΧΕΙΡΙΣΤΗ :
Επιλέξτε μία επανάκληση παρακάτω για να καλέσετε τον πελάτη τώρα. Εάν επιλέξετε μία εγγραφή παρακάτω, θα διαγραφεί από την λίστα. +
+
+
  + Ανανέωση +                 + Επιστροφή +
+
+ + + height=460>
ΝΕΑ ΧΕΙΡΟΚΙΝΗΤΗ ΚΛΗΣΗ ΟΔΗΓΟΥ ΓΙΑ :

Καταχωρήστε τις πληροφορίες παρακάτω για τον νέο οδηγό που επιθυμήτε να καλέσετε. +
+ \n"; + } + ?> + Note: all new manual dial leads will go into list

+ + + + + + + + + + + + + + + +
Κωδικός Κλήσης:   (Αυτό είναι συνήθως ένα 1 στις ΗΠΑ)
Τηλ Number: +   (12 digits max - digits only) +
Αναζήτηση Οδηγών:   (Η επιλογή αυτή επιτρέπει να βρει τον αριθμό στο σύστημα προτού γίνει εισαγωγή ως νέος οδηγός)


Εάν θέλετε να καλέσετε έναν αριθμό και να μην προστεθεί ως νέος οδηγός, καταχωρήστε τον με την σωστή μορφή στο πεδίο Αγνόησε Κλήση παρακάτω. Για να κλείσετε αυτή την κλήση θα πρέπει να ανοίξετε το ΚΛΗΣΕΙΣ ΣΕ ΑΥΤΗ ΤΗΝ ΔΙΑΙΔΚΑΣΙΑ στο κάτω μέρος της οθόνης και να την κλείσετε επιλέγοντας το κανάλι.
 
Αγνόησε Κλήση:   (παρακαλώ μόνο ψηφία) +
+
+ Κάλεσε Τώρα +                 + Επιστροφή +
+
+ + + +
+
+ + + + +Your Κατάσταση:
Calls Dialing: +
+ + + + + > + +
+
+ + Μεταφορά - διάσκεψη
+ + + ΤΟΠΙΚΟΣ CLOSER + Κλείσιμο Γραμμής Xfer + Κλείσιμο και τις δύο γραμμές + +
+ + Αριθμός για κλήση   + + Υπέρβαση Κλήσης   + ΑΠΟΧΩΡΗΣΗ 3μελής ΚΛΗΣΗΣ + Τυφλή μεταφορά κλήσης + D1 + D2 + +
+ + δευτερόλεπτα   + channel + Κλήση με τον πελάτη + Στάθμευση κλήσης πελάτη + Blind Transfer VMail Message +
+
+
+
+ + + + height=70> + +
Τερματισμό Καθοδήγησης όπως:

+ -
+
+
+ + + height=70> + + + + +
Πλήκτρα κλειδιά Τερματισμού: + Όταν είναι ενεργό, πιέστε απλά το πλήκτρο κλειδί για τον επιθυμητό τερματισμό της κλήσης. Η κλήση θα τρεματίσει αυτόματα:
+ + + + + +
+
+ + + height=70> + + + + + + +
Προηγούμενες πληροφορίες επανάκλησης: close
+
+
+
+
+ +
+
+ + + height=500>
Κανένας δεν είναι στη σύνοδό σας:
+ Επιστροφή +

+ Ξανακάλεσε τον Χειριστή +
+
+ + + height=500>
Ο πελάτης έχει κλείσει το τηλέφωνο:
+ Επιστροφή +

+ Τελείωσε και Τερμάτισε την Κλήση + +
+
+ + + height=550>
Αναδίπλωση Κλήσης: απομύνοντα δευτερόλεπτα σε αναδίπλωση

+ +

+ Τελείωμα Αναδίπλωσης και Συνέχεια + +
+
+ + + height=500>
Η σύνοδός σας έχει τεθεί εκτός λειτουργίας
ΑΠΟΣΥΝΔΕΣΗ

Επιστροφή +
+
+ + + height=500>

ΑΠΟΣΥΝΔΕΣΗ
+
+ + +
+
+ + +
 
+
+ + + height=47>
Οποιεσδήποτε αλλαγές που γίνονται στις πληροφορίες πελατών κατωτέρω αυτή τη στιγμή δεν θα είναι, πρέπει να αλλάξετε τις πληροφορίες πελατών ενώπιον σας Hangup η κλήση.
+
+ + + height=460>
Τερματισμός Κλήσης :       Ξανακλήσε       ελαχιστοποιήστε
+ Επιλογή τερματισμού της κλήσης +
+ ΤΕΡΜΑΤΙΣΜΟΣ ΚΛΗΣΗΣ
+ ΕΠΑΝΑΦΟΡΑ | + ΥΠΟΒΑΛΕΤΕ +

+ WEB FORM ΥΠΟΒΑΛΕΤΕ +

  +
+
+ + + height=460>
ΕΠΙΛΕΞΤΕ έναν ΚΩΔΙΚΑ ΜΙΚΡΗΣ ΔΙΑΚΟΠΉΣ :
+ Παύση Code Selection + +

  +
+
+ + + height=460>
Επιλέξτε μια ημερομηνία CallBack :
+ + + Επιλέξτε μια ημερομηνία κατωτέρω   +     + Hour: +   + Minutes: +   + +  
+ ΜΟΝΟ ΤΗΝ ΕΠΑΝΑΚΛΗΣΗ ΜΟΥ
";} + ?> + Σχόλια CB:

+ + ΥΠΟΒΑΛΕΤΕ

+ +

  +
+
+ + + height=460>
CLOSER ΕΙΣΕΡΧΟΜΕΝΗ ΕΠΙΛΟΓΗ ΟΜΑΔΑΣ
+ Επιλογή Closer εισερχόμενης ομάδας +
+ ΣΥΝΔΥΑΣΜΕΝΗ ΚΛΗΣΗ(εξερχόμενες ενεργοποιημένες)
+ ΕΠΑΝΑΦΟΡΑ | + ΥΠΟΒΑΛΕΤΕ +



  +
+
+ + + + Κανάλι + Κανάλι + ΜΟΝΟ ΤΗΝ ΕΠΑΝΑΚΛΗΣΗ ΜΟΥ
";} + ?> +
+ + + + height=>
VICIΚΛΗΣΗ SCRIPT
+
+ + + 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> +ΠΛΗΚΤΡΑ ΚΛΕΙΔΙΑ ΑΝΕΝΕΡΓΑ + + + + +> + + + +
Έκδοση VICIΚΛΗΣΗ:     ΔΗΜΙΟΥΡΓΙΑ:               Κεντρικός υπολογιστής:              
+Παρουσίαση πληροφοριών κλήσης καναλιού διασκέψης

 
+
+ + + +
+
+ + + + + id="MainTable"> + + + + + + + + + + + + + + + +
ΚΑΤΑΣΤΑΣΗ:
+
+Κλήση επόμενου αριθμού
+ ΠΡΟΒΟΛΗ ΟΔΗΓΟΥ
+ ΚΛΗΣΗ ENAΛ/ΚΟΥ ΤΗΛΕΦΩΝΟΥ
+ + +ΑΡΧΕΙΟ ΗΧΟΓΡ:
+
+
+ΤΑΥΤΟΤΗΤΑ ΕΓΓΡΑΦΗΣ:
+
+ +Εναρξη ηχογράφισης
+
+Σελίδα Διαδικτύου
+
+Στάθμευση Κλήσης
+Μεταφορά - διάσκεψη
+
+Κλείσιμο Πελάτη
+
+
Στείλε DTMF

+
+
+
align=left valign=top> + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
δευτερόλεπτα:   Κανάλι:   Χρόνος Πελάτη:
Πληροφορίες Πελάτη:
Τίτλος:   Πρώτο:   Μσ:  Επίθετο:
Διεύθυνση1:
Διεύθυνση2:   Διεύθυνση3:
Πόλη:   Κράτος:   Ταχ.Κωδ.:
Επαρχία:   ID προμηθευτού:
Τηλ:   Κωδικός Κλήσης:   Εναλ/κό Τηλ:
Παρουσίαση:   Ηλεκτρονικό ταχυδρομείο:
Σχολιάζει: + +\n";} +else + {echo "\n";} +?> + +
+
+ +
+
> + 
+ + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/voicemail_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/voicemail_check.php new file mode 100644 index 00000000..fb64e8a9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_el/voicemail_check.php @@ -0,0 +1,140 @@ + LICENSE: GPLv2 +### +### This script is designed purely to check whether the voicemail box on the server defined has new and old messages +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $vmail_box - ('101','1234',...) +### + +# changes +# 50422-1147 - First build of script +# 50503-1241 - added session_name checking for extra security +# 50711-1201 - removed HTTP authentication in favor of user/pass vars +# 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1204 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.5'; +$build = '60619-1204'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Ακυρο Όνομα χρήστη/Κωδικός πρόσβασης: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Ακυρο server_ip: |$server_ip| or Ακυρο session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Ακυρο session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Έλεγχος φωνητικού ταχυδρομείου"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + $MT[0]=''; + $row=''; $rowx=''; + if (strlen($vmail_box)<1) + { + $channel_live=0; + echo "Κουτί φωνητικού ταχυδρομείου $vmail_box δεν ισχύει\n"; + exit; + } + else + { + $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $vmails_list = mysql_num_rows($rslt); + $loop_count=0; + while ($vmails_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0]|$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_en/vicidial.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_en/vicidial.php new file mode 100644 index 00000000..3881d790 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_en/vicidial.php @@ -0,0 +1,29 @@ +\n"; +echo"\n"; +echo"\n"; +echo"\n"; +echo"\n"; +echo"click here to continue. . .\n"; +echo"\n"; + +exit; +?> \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/active_list_refresh.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/active_list_refresh.php new file mode 100644 index 00000000..fb94a573 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/active_list_refresh.php @@ -0,0 +1,482 @@ + LICENSE: GPLv2 +### +### This script is designed purely to serve updates of the live data to the display scripts +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $ADD - ('1','2','3','4','5') +### - $order - ('asc','desc') +### - $format - ('text','table','menu','selectlist','textarea') +### - $bgcolor - ('#123456','white','black','etc...') +### - $txtcolor - ('#654321','black','white','etc...') +### - $txtsize - ('1','2','3','etc...') +### - $selectsize - ('2','3','4','etc...') +### - $selectfontsize - ('8','10','12','etc...') +### - $selectedext - ('cc100') +### - $selectedtrunk - ('Zap/25-1') +### - $selectedlocal - ('SIP/cc100') +### - $textareaheight - ('8','10','12','etc...') +### - $textareawidth - ('8','10','12','etc...') +### - $field_name - ('extension','busyext','extension_xfer','etc...') +### + +# changes +# 50323-1147 - First build of script +# 50401-1132 - small formatting changes +# 50502-1402 - added field_name as modifiable variable +# 50503-1213 - added session_name checking for extra security +# 50503-1311 - added conferences list +# 50610-1155 - Added NULL check on MySQL results to reduced errors +# 50711-1209 - removed HTTP authentication in favor of user/pass vars +# 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1118 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["order"])) {$order=$_GET["order"];} + elseif (isset($_POST["order"])) {$order=$_POST["order"];} +if (isset($_GET["bgcolor"])) {$bgcolor=$_GET["bgcolor"];} + elseif (isset($_POST["bgcolor"])) {$bgcolor=$_POST["bgcolor"];} +if (isset($_GET["txtcolor"])) {$txtcolor=$_GET["txtcolor"];} + elseif (isset($_POST["txtcolor"])) {$txtcolor=$_POST["txtcolor"];} +if (isset($_GET["txtsize"])) {$txtsize=$_GET["txtsize"];} + elseif (isset($_POST["txtsize"])) {$txtsize=$_POST["txtsize"];} +if (isset($_GET["selectsize"])) {$selectsize=$_GET["selectsize"];} + elseif (isset($_POST["selectsize"])) {$selectsize=$_POST["selectsize"];} +if (isset($_GET["selectfontsize"])) {$selectfontsize=$_GET["selectfontsize"];} + elseif (isset($_POST["selectfontsize"])) {$selectfontsize=$_POST["selectfontsize"];} +if (isset($_GET["selectedext"])) {$selectedext=$_GET["selectedext"];} + elseif (isset($_POST["selectedext"])) {$selectedext=$_POST["selectedext"];} +if (isset($_GET["selectedtrunk"])) {$selectedtrunk=$_GET["selectedtrunk"];} + elseif (isset($_POST["selectedtrunk"])) {$selectedtrunk=$_POST["selectedtrunk"];} +if (isset($_GET["selectedlocal"])) {$selectedlocal=$_GET["selectedlocal"];} + elseif (isset($_POST["selectedlocal"])) {$selectedlocal=$_POST["selectedlocal"];} +if (isset($_GET["textareaheight"])) {$textareaheight=$_GET["textareaheight"];} + elseif (isset($_POST["textareaheight"])) {$textareaheight=$_POST["textareaheight"];} +if (isset($_GET["textareawidth"])) {$textareawidth=$_GET["textareawidth"];} + elseif (isset($_POST["textareawidth"])) {$textareawidth=$_POST["textareawidth"];} +if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} + elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} + +### security strip all non-alphanumeric characters out of the variables ### + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $ADD=ereg_replace("[^0-9]","",$ADD); + $order=ereg_replace("[^0-9a-zA-Z]","",$order); + $format=ereg_replace("[^0-9a-zA-Z]","",$format); + $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); + $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); + $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); + $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); + $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); + $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); + $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); + $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); + $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); + $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); + $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + +# default optional vars if not set +if (!isset($ADD)) {$ADD="1";} +if (!isset($order)) {$order='desc';} +if (!isset($format)) {$format="text";} +if (!isset($bgcolor)) {$bgcolor='white';} +if (!isset($txtcolor)) {$txtcolor='black';} +if (!isset($txtsize)) {$txtsize='2';} +if (!isset($selectsize)) {$selectsize='4';} +if (!isset($selectfontsize)) {$selectfontsize='10';} +if (!isset($textareaheight)) {$textareaheight='10';} +if (!isset($textareawidth)) {$textareawidth='20';} + +$version = '0.0.8'; +$build = '60619-1118'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Nombre del usuario/Contraseña: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='table') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Mostrar Listas: "; +if ($ADD==1) {echo "Extensiones Activas";} +if ($ADD==2) {echo "Extensiones Ocupadas";} +if ($ADD==3) {echo "Líneas de salida";} +if ($ADD==4) {echo "Extensiones Locales";} +if ($ADD==5) {echo "Conferencias";} +if ($ADD==99999) {echo "AYUDA";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ADD=1 display all live extensions on a server +###################### +if ($ADD==1) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'extension';} + if ($format=='table') {echo "\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + +###################### +# ADD=2 display all busy extensions on a server +###################### +if ($ADD==2) +{ + if (!$field_name) {$field_name = 'busyext';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=3 display all busy outside lines(trunks) on a server +###################### +if ($ADD==3) +{ + if (!$field_name) {$field_name = 'trunk';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=4 display all busy Local lines on a server +###################### +if ($ADD==4) +{ + if (!$field_name) {$field_name = 'local';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=5 display all agc-usable conferences on a server +###################### +if ($ADD==5) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'conferences';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='table') {echo "\n";} +if ($format=='table') {echo "\n\n\n";} + +exit; + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/astguiclient.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/astguiclient.php new file mode 100644 index 00000000..667ad057 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/astguiclient.php @@ -0,0 +1,2905 @@ + LICENSE: GPLv2 +# +# make sure you have added a user to the vicidial_users MySQL table with at least +# user_level 1 or greater to access this page. Also you need to have the login +# and pass of a phone listed in the asterisk.phones table. The page grabs the +# server info and other details from this login and pass +# +# Other scripts that this application depends on: +# - active_list_refresh.php: displays active/live channels and phones +# - manager_send.php: sends Actions to be executed on Asterisk servers +# - live_exten_check.php: checks to see if user's phone is on a live call +# - call_log_display.php: retrieves log of inbound and outbound calls +# - voicemail_check.php: retrieves counts of new and old messages +# - inbound_popup.php: opens upon live_inbound call coming in +# - conf_exten_check.php: checks to see if and calls are in a specific conf +# - park_calls_display.php: retrieves list of parked calls +# - vdc_db_query.php: Changes values in the DB for non-calling records +# +# CHANGES +# 50215-1356 - Proof-of-concept test of XMLHttpRequest for astGUIclient web +# 50323-1411 - First build version display-only +# 50331-1040 - Second-build, added phone login and hangup/hijack display +# 50401-1006 - Trunk/Local Hangup functions enabled +# 50404-1056 - Trunk/Local Hijack functions enabled +# 50404-1459 - Simple live calls display and grabs updated time from server +# 50405-1221 - Reorganized the display and layers, added some images +# 50406-1005 - Added In/Out call log display to MAIN panel +# 50407-1254 - Start/Stop Recording on live calls enabled +# 50422-1101 - Activated Check Voicemail button and new/old messages count +# 50428-1449 - Added dial from log and basic live_inbound call popup +# 50429-1455 - Modified inbound popup code for IE and to add more functions +# 50502-1442 - Added basic method to transfer live calls somewhere else +# 50503-1205 - Added web_client_sessions entry for more security of subscripts +# 50503-1537 - Added basic conferences display +# 50509-1132 - Added conference connected list and hangup/xfer for them +# 50511-1129 - Added registration of conference rooms and added manual dial +# 50523-1342 - Added Conference recording and send DTMF +# 50523-1622 - Added Local Dial window frame for calling local extensions +# 50524-1456 - Added ability to park call and display number of parked calls +# 50524-1600 - Added ability to display and pickup/hangup/xfer parked calls +# 50525-1224 - Added ability to place outbound call from within conferene +# 50531-1225 - Added ability to do dual transfers to meetme rooms from Main +# 50711-1229 - removed HTTP authentication in favor of user/pass vars +# 50711-1610 - Added Zap monitoring to Trunk/Local Action screens +# 50804-1604 - Minor bug fix in inbound_popup functions +# 50818-1715 - Added pretty login section +# 50913-1137 - Added custom outbound_cid from phones table +# 51110-1430 - Fixed non-standard http port issue +# 60103-1421 - Added code for favorite extensions chooser +# 60104-1347 - Added basic layout for favorites editing frame +# 60105-1124 - Finished Favorites frame and added DB submission +# 60112-1622 - Several formatting changes +# 60421-1357 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1103 - Added variable filters to close security holes for login form +# 60829-1528 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +$version = '2.0.1'; +$build = '60829-1528'; + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + + +if ($force_logout) +{ + if( (strlen($_SERVER['user'])>0) or (strlen($_SERVER['pass'])>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "Usted ahora ha registrado hacia fuera. Gracias\n"; + exit; +} + +$StarTtime = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd-His"); + $month_old = mktime(0, 0, 0, date("m"), date("d")-7, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$US='_'; +$CL=':'; +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./astguiclient_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = $agcPAGE; +$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); + + if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) + { + header ("Content-type: text/html; charset=utf-8"); + + echo "web client astGUIclient: Conexión\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Español
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Conexión
 
Conexión Del Usuario:
Contraseña Del Usuario:
Conexión Del Teléfono:
Contraseña Del Teléfono:

VERSIÓN: $version       CONSTRUCCION: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($user); + $password=strtoupper($pass); + $stmt="SELECT full_name,user_level from vicidial_users where user='$user' and pass='$pass'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + } + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "web client astGUIclient: Conexión Del Teléfono\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Español
\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Conexión Del Teléfono
 
Conexión Del Teléfono:
Contraseña Del Teléfono:

VERSIÓN: $version       CONSTRUCCION: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +$authphone=0; +$stmt="SELECT count(*) from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "web client astGUIclient: Conexión Del Teléfono\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Español
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Conexión Del Teléfono
 
Disculpe, la conexión del teléfono y contraseña no están activos en este sistema, intentelo otra vez por favor:
 
Conexión Del Teléfono:
Contraseña Del Teléfono:

VERSIÓN: $version       CONSTRUCCION: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { + echo "web client astGUIclient\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $phone_login=$row[6]; + $phone_pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $CaLLerID_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $outbound_cid=$row[65]; + + $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtime$US$session_ext$session_rand"; + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'agc';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','agc','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT count(*) from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_present=$row[0]; + if ($favorites_present > 0) + { + $stmt="SELECT extensions_list from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_list=$row[0]; + $h=0; + $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites = explode(',',$favorites_listX); + $favorites_count = count($favorites); + $favorites_listX=''; + + $o=0; + while ($favorites_count > $o) + { + $stmt="SELECT fullname,protocol from phones where extension = '$favorites[$o]' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $favorites_names[$o] = $rowx[0]; + $favorites_listX .= "$rowx[1]/$favorites[$o],"; + $o++; + } + + echo "\n"; + echo "\n"; + } + else + { + echo "\n"; + } + +### gather phone extensions and fullnames for favorites editor ### + $stmt="SELECT extension,fullname from phones where server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $exten_ct = mysql_num_rows($rslt); + $favlistCT=0; + $nofavlistCT=0; + while ($favlistCT < $exten_ct) + { + $row=mysql_fetch_row($rslt); + $favlist[$favlistCT]= "$row[0] - $row[1]"; + $favlistCT++; + } + + } +} + + +?> + + + + + + +\n"; + + +?> + +
+ + + + + + + + + +
+ + +SALIR
\n"; ?> +
Pantalla PrincipalPantalla Lineas ActivasPantalla de ConferenciasComprobar buzón de vozLlamada Activa
+
+ + +

Logout
+
+ + +
TRUNK COLGAR

+ Active Trunks Menu
+ Colgar Trunk   |   + Capturar Trunk   |   + Escuchar Trunk   |   + Recarga   |   + Volver a la pantalla principal +
+
+ + +
Colgar Local

+ Menú Local Activa
+ Colgar Local   |   + Capturar Local   |   + Escuchar Local   |   + Recarga   |   + Volver a la pantalla principal +
+
+ + + + + + + +
TRANSFERIR LLAMADA ACTIVA
Canal que va a ser transferido: Canal
Extensiones:
Menú Extensiones
+
+ Envíe a la extensión seleccionada

+ Enviar al buzón de voz seleccionada

+ Envíe a este número:


+ Recarga


+ Volver a la pantalla principal

+
Conferencias:
(Pinchar en un número de abajo para enviar a una conferencia)
Enviar mi canal también
Menú de Conferencias
+
+ + + + + +
Marcar a Extensiones LOCALES
Teléfono llamando desde: Canal
Extensiones:
Menú Extensiones
+
+ Llamar extensión seleccionada

+ Llamar buzón de voz seleccionado

+ Recarga


+ Volver a la pantalla principal

+
+
+ + +
LLAMADAS APARCADAS:
+ Volver a la pantalla principal

+
+
+ + + + + + + + + + + + + + + +
  +
BUZÓN DE VOZ     NUEVO:     VIEJO:             MARCADO MANUAL       DIAL
LLAMADAS APARCADAS: 0                MARCAR EXTENSIONES LOCALES
LLAMADAS SALIENTES:
LLAMADAS ENTRANTES:
versión astGUIclient del tela-cliente: CONSTRUCCION:
+ + + + $h) + { + if (strlen($favorites[$h])>1) + { + echo "\n"; + } + $h++; + } +?> + +
FAVORITOS       corrija
$favorites[$h] - $favorites_names[$h]
 
+
+ + + + + + + +
FAVORITOS

 
SOMETA LOS CAMBIOS de los FAVORITOS - requiere registro de estado de la máquina
DE NUEVO A VENTANA PRINCIPAL - no haga caso de los cambios realizados
+
+ +
+ + + + + + + + + + + + + +
+PAUSA | COMIENZO     Actualizar la tarifa: 1000 ms Más rápido | Más lento

+
Inizializando..
+
Extensiones Activas
+ACTUALIZAR | +ORDEN | +
Líneas de salida
+ACTUALIZAR | +ORDEN | +
Extensiones Locales
+ACTUALIZAR | +ORDEN | +
+ Los Datos Van Aquí

+
+ Los Datos Van Aquí

Acciones en Trunk +
+ Los Datos Van Aquí

Acción Local +
+
+ + + + +
+ + +Lista De las Conferencias + + + +
+Pinchar a la izquierda del número de una sala de conferencias para obtener información +
+ + + + + + + + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/call_log_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/call_log_display.php new file mode 100644 index 00000000..cc48a77b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/call_log_display.php @@ -0,0 +1,196 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send the inbound and outbound calls for a specific phone +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### - $in_limit - ('10','20','50','100',...) +### - $out_limit - ('10','20','50','100',...) +### + +# changes +# 50406-1013 - First build of script +# 50407-1452 - Added definable limits +# 50503-1236 - added session_name checking for extra security +# 50610-1158 - Added NULL check on MySQL results to reduced errors +# 50711-1202 - removed HTTP authentication in favor of user/pass vars +# 60323-1550 - added option for showing different number dialed in log +# 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1202 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($in_limit)) {$in_limit="100";} +if (!isset($out_limit)) {$out_limit="100";} +$number_dialed = 'number_dialed'; +#$number_dialed = 'extension'; + +$version = '0.0.8'; +$build = '60619-1202'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Nombre del usuario/Contraseña: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Motrar el registro de llamadas"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten No es válido o protocolo $protocol No es válido\n"; + exit; + } + else + { + ##### print outbound calls from the call_log table + $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} + echo "$out_calls_count|"; + $loop_count=0; + while ($out_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[3] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + + if ($number_dialed == 'extension') {$row[2] = substr($row[2],-10);} + echo "$row[0] ~$row[1] ~$row[2] ~$call_time_MS|"; + } + echo "\n"; + + ##### print inbound calls from the live_inbound_log table + $stmt="SELECT call_log.uniqueid,live_inbound_log.start_time,live_inbound_log.extension,caller_id,length_in_sec from live_inbound_log,call_log where phone_ext='$exten' and live_inbound_log.server_ip = '$server_ip' and call_log.uniqueid=live_inbound_log.uniqueid order by start_time desc limit $in_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} + echo "$in_calls_count|"; + $loop_count=0; + while ($in_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[4] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $callerIDnum = $row[3]; $callerIDname = $row[3]; + $callerIDnum = preg_replace("/.*<|>.*/","",$callerIDnum); + $callerIDname = preg_replace("/\"| <\d*>/","",$callerIDname); + + echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; + } + echo "\n"; + + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/conf_exten_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/conf_exten_check.php new file mode 100644 index 00000000..e7fdc4ad --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/conf_exten_check.php @@ -0,0 +1,297 @@ + LICENSE: GPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('refresh','register') +# - $client - ('agc','vdc') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $campagentstdisp - ('YES',...) +# + +# changes +# 50509-1054 - First build of script +# 50511-1112 - Added ability to register a conference room +# 50610-1159 - Added NULL check on MySQL results to reduced errors +# 50706-1429 - script changed to not use HTTP login vars, user/pass instead +# 50706-1525 - Added date-time display for vicidial client display +# 50816-1500 - Added random update to vicidial_live_agents table for vdc users +# 51121-1353 - Altered echo statements for several small PHP speed optimizations +# 60410-1424 - Added ability to grab calls-being-placed and agent status +# 60421-1405 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1201 - Added variable filters to close security holes for login form +# 61128-2255 - Added update for manual dial vicidial_live_agents +# 70319-1542 - Added agent disabled display function +# 71122-0205 - Added vicidial_live_agent status output +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["client"])) {$client=$_GET["client"];} + elseif (isset($_POST["client"])) {$client=$_POST["client"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campagentstdisp"])) {$campagentstdisp=$_GET["campagentstdisp"];} + elseif (isset($_POST["campagentstdisp"])) {$campagentstdisp=$_POST["campagentstdisp"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($client)) {$client="agc";} + +$version = '2.0.4-12'; +$build = '71122-0205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd_His"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$random = (rand(1000000, 9999999) + 10000000); + + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Nombre del usuario/Contraseña: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Comprobar la Extensión de Conf"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + if ($ACTION == 'refresh') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($conf_exten)<1) + { + $channel_live=0; + echo "Conf Exten $conf_exten No es válido\n"; + exit; + } + else + { + + if ($client == 'vdc') + { + $Acount=0; + $AexternalDEAD=0; + + ### see if the agent has a record in the vicidial_live_agents table + $stmt="SELECT count(*) from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Acount=$row[0]; + + if ($Acount > 0) + { + $stmt="SELECT status from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Astatus=$row[0]; + } + # ### find out if external table shows agent should be disabled + # $stmt="SELECT count(*) from another_table where user='$user' and status='DEAD';"; + # if ($DB) {echo "|$stmt|\n";} + # $rslt=mysql_query($stmt, $link); + # $row=mysql_fetch_row($rslt); + # $AexternalDEAD=$row[0]; + + if ($auto_dial_level > 0) + { + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + if ($campagentstdisp == 'YES') + { + ### grab the status of this agent to display + $stmt="SELECT status,campaign_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Alogin=$row[0]; + $Acampaign=$row[1]; + + ### grab the number of calls being placed from this server and campaign + $stmt="SELECT count(*) from vicidial_auto_calls where server_ip='$server_ip' and status NOT IN('XFER') and campaign_id='$Acampaign';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $RingCalls=$row[0]; + } + else + { + $Alogin='N'; + $RingCalls='N'; + } + } + else + { + $Alogin='N'; + $RingCalls='N'; + + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } + + if ($Acount < 1) {$Alogin='DEAD_VLA';} + if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} + + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Estado: ' . $Astatus . "|\n"; + + } + $total_conf=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$sip_list = mysql_num_rows($rslt);} + # echo "$sip_list|"; + $loop_count=0; + while ($sip_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $CanalA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + # echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $CanalA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + } + $channels_list = ($channels_list + $sip_list); + echo "$channels_list|"; + + $counter=0; + $countecho=''; + while($total_conf > $counter) + { + $counter++; + $countecho = "$countecho$CanalA[$counter] ~"; + # echo "$CanalA[$counter] ~"; + } + + echo "$countecho\n"; + } + + if ($ACTION == 'register') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($exten)<1) ) + { + $channel_live=0; + echo "Conf Exten $conf_exten No es válido or Exten $exten No es válido\n"; + exit; + } + else + { + $stmt="UPDATE conferences set extension='$exten' where server_ip = '$server_ip' and conf_exten = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + echo "Conferencia $conf_exten Ha sido registrado para $exten\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/dbconnect.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/dbconnect.php new file mode 100644 index 00000000..723d3c59 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/dbconnect.php @@ -0,0 +1,58 @@ + LICENSE: AGPLv2 +# +if ( file_exists("/etc/astguiclient.conf") ) +{ +$DBCagc = file("/etc/astguiclient.conf"); +foreach ($DBCagc as $DBCline) + { + $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); + if (ereg("^PATHlogs", $DBCline)) + {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} + if (ereg("^PATHweb", $DBCline)) + {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} + if (ereg("^VARDB_server", $DBCline)) + {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} + if (ereg("^VARDB_database", $DBCline)) + {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} + if (ereg("^VARDB_user", $DBCline)) + {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} + if (ereg("^VARDB_pass", $DBCline)) + {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} + if (ereg("^VARDB_port", $DBCline)) + {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} + } + +} +else +{ +#defaults for DB connection +$VARDB_server = 'localhost'; +$VARDB_user = 'cron'; +$VARDB_pass = '1234'; +$VARDB_database = '1234'; +$WeBServeRRooT = '/usr/local/apache2/htdocs'; +} + +$link=mysql_connect("$VARDB_server", "$VARDB_user", "$VARDB_pass"); +if (!$link) { + die('MySQL connect ERROR: ' . mysql_error()); +} +mysql_select_db("$VARDB_database",$link); + +$local_DEF = 'Local/'; +$conf_silent_prefix = '7'; +$local_AMP = '@'; +$ext_context = 'demo'; +$recording_exten = '8309'; +$WeBRooTWritablE = '1'; +$non_latin = '0'; # set to 1 for UTF rules, overridden by system_settings +$flag_channels=0; +$flag_string = 'VICIast20'; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/inbound_popup.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/inbound_popup.php new file mode 100644 index 00000000..58462f0d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/inbound_popup.php @@ -0,0 +1,351 @@ + LICENSE: GPLv2 +### +### This script is designed to open up when a live_inbound call comes in giving the user +### options of what to do with the call or options to lookup the callerID on various web sites +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $uniqueid - ('1234567890.123456',...) +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $vmail_box - ('101','1234',...) +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $ext_context - ('default','demo',...) +### - $ext_priority - ('1','2',...) +### - $voicemail_dump_exten - ('85026666666666') +### - $local_web_callerID_URL_enc - ( rawurlencoded custom callerid lookup URL) +### + +# changes +# 50428-1500 - First build of script display only +# 50429-1241 - some formatting, hangup and Vmail redirect, 30s timeout on actions, and CID web lookup links +# 50503-1244 - added session_name checking for extra security +# 50711-1203 - removed HTTP authentication in favor of user/pass vars +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["voicemail_dump_exten"])) {$voicemail_dump_exten=$_GET["voicemail_dump_exten"];} + elseif (isset($_POST["voicemail_dump_exten"])) {$voicemail_dump_exten=$_POST["voicemail_dump_exten"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_GET["local_web_callerID_URL_enc"];} + elseif (isset($_POST["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_POST["local_web_callerID_URL_enc"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} + else {$local_web_callerID_URL = '';} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.6'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$DO = '-1'; +if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Nombre del usuario/Contraseña: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +echo "\n"; +echo "\n"; +echo "\n"; +?> + + +LLAMADA DE ENTRADA ACTIVA"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "

LLAMADA DE ENTRADA ACTIVA

\n"; +echo "$NOW_TIME

\n"; +} + + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($uniqueid)<9) + { + $channel_live=0; + echo "Uniqueid $uniqueid No es válido\n"; + exit; + } + else + { + $stmt="SELECT * FROM live_inbound where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $channels_list = mysql_num_rows($rslt); + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); +# echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; +# Zap/73|"V.I.C.I. MARKET" <7275338730>|2005-04-28 14:01:21|7274514936|Inbound direct to Matt||||| + if ($format=='debug') {echo "\n";} + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Canal: $row[1]
LlamadorID: $row[3]
\n"; + + $phone = eregi_replace(".*\<","",$row[3]); + $phone = eregi_replace("\>.*","",$phone); + $NPA = substr($phone, 0, 3); + $NXX = substr($phone, 3, 3); + $XXXX = substr($phone, 6, 4); + $D='-'; + echo "GOOGLE - \n"; + echo "ANYWHO - \n"; + echo "SWITCHBOARD - \n"; + echo "VERIZON - \n"; + echo "WHITEPAGES - \n"; + echo "411.COM - \n"; + echo "411.COM - \n"; + + $local_web_callerID_QUERY_STRING =''; + $local_web_callerID_QUERY_STRING.="?callerID_areacode=$NPA"; + $local_web_callerID_QUERY_STRING.="&callerID_prefix=$NXX"; + $local_web_callerID_QUERY_STRING.="&callerID_last4=$XXXX"; + $local_web_callerID_QUERY_STRING.="&callerID_Time=$row[6]"; + $local_web_callerID_QUERY_STRING.="&callerID_Canal=$row[1]"; + $local_web_callerID_QUERY_STRING.="&callerID_uniqueID=$row[0]"; + $local_web_callerID_QUERY_STRING.="&callerID_phone_ext=$row[5]"; + $local_web_callerID_QUERY_STRING.="&callerID_server_ip=$row[2]"; + $local_web_callerID_QUERY_STRING.="&callerID_extension=$row[4]"; + $local_web_callerID_QUERY_STRING.="&callerID_inbound_number=$row[8]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_a=$row[9]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_b=$row[10]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_c=$row[11]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_d=$row[12]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_e=$row[13]"; + echo "A MEDIDA - \n"; + + echo "
Número Marcado: $row[8]
Notas: $row[9]|$row[10]|$row[11]|$row[12]|$row[13]|
\n"; + echo "COLGAR - \n"; + echo "ENVIAR A MI BUZÓN DE VOZ\n"; + echo "
\n"; + + + $stmt="UPDATE live_inbound set acknowledged='Y' where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + + } + + + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/live_exten_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/live_exten_check.php new file mode 100644 index 00000000..817f49d1 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/live_exten_check.php @@ -0,0 +1,278 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send whether the client channel is live and to what channel it is connected +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### + +# changes +# 50404-1249 - First build of script +# 50406-1402 - added connected trunk lookup +# 50428-1452 - added live_inbound check for exten on 2nd line of output +# 50503-1233 - added session_name checking for extra security +# 50524-1429 - added parked calls count +# 50610-1204 - Added NULL check on MySQL results to reduced errors +# 50711-1204 - removed HTTP authentication in favor of user/pass vars +# 60103-1541 - added favorite extens status display +# 60421-1359 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1203 - Added variable filters to close security holes for login form +# 60825-1029 - Fixed translation variable issue ChannelA +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count"];} + elseif (isset($_POST["favorites_count"])) {$favorites_count=$_POST["favorites_count"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '2.0.1'; +$build = '60825-1029'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Nombre del usuario/Contraseña: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Comprobar Extensión Activa"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + +echo "DateTime: $NOW_TIME|"; +echo "UnixTime: $StarTtime|"; + +$stmt="SELECT count(*) FROM parked_channels where server_ip = '$server_ip';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +echo "$row[0]|"; + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten No es válido o protocolo $protocol No es válido\n"; + exit; + } + else + { + $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + $ChanneLA[$loop_count] = "$row[0]"; + $ChanneLB[$loop_count] = "$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + $counter=0; + while($loop_count > $counter) + { + $counter++; + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "CanalA: $ChanneLA[$counter] ~"; + echo "CanalB: $ChanneLB[$counter] ~"; + echo "CanalBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "CanalA: $ChanneLA[$counter] ~"; + echo "CanalB: $ChanneLB[$counter] ~"; + echo "CanalBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "CanalA: $ChanneLA[$counter] ~"; + echo "CanalB: $ChanneLB[$counter] ~"; + echo "CanalBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "CanalA: $ChanneLA[$counter] ~"; + echo "CanalB: $ChanneLB[$counter] ~"; + echo "CanalBtrunk: $row[0]|"; + } + else + { + echo "Conversation: $counter ~"; + echo "CanalA: $ChanneLA[$counter] ~"; + echo "CanalB: $ChanneLB[$counter] ~"; + echo "CanalBtrunk: $ChanneLA[$counter]|"; + } + } + } + } + } + +echo "\n"; + +### check for live_inbound entry +$stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = '$exten' and acknowledged='N';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +if ($rslt) {$channels_list = mysql_num_rows($rslt);} + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); + $LIuniqueid = "$row[0]"; + $LIchannel = "$row[1]"; + $LIcallerid = "$row[3]"; + $LIdatetime = "$row[6]"; + echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; + if ($format=='debug') {echo "\n";} + } + +echo "\n"; + + +### if favorites are present do a lookup to see if any are active +if ($favorites_count > 0) + { + $favorites = explode(',',$favorites_list); + $h=0; + $favs_print=''; + while ($favorites_count > $h) + { + $fav_extension = explode('/',$favorites[$h]); + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$favorites[$h]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favs_print .= "$fav_extension[1]: $row[0] ~"; + $h++; + } + echo "$favs_print\n"; + } + +if ($format=='debug') {echo "\n";} + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/manager_send.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/manager_send.php new file mode 100644 index 00000000..e56b8680 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/manager_send.php @@ -0,0 +1,1142 @@ + LICENSE: GPLv2 +# +# This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $ACTION - ('Originate','Redirect','Hangup','Command','Monitor','StopMonitor','SysCIDOriginate','RedirectName','RedirectNameVmail','MonitorConf','StopMonitorConf','RedirectXtra','RedirectXtraCX','RedirectVD','HangupConfDial','VolumeControl','OriginateVDRelogin') +# - $queryCID - ('CN012345678901234567',...) +# - $format - ('text','debug') +# - $channel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $exten - ('1234','913125551212',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $filename - ('20050406-125623_44444',...) +# - $extenName - ('phone100',...) +# - $parkedby - ('phone100',...) +# - $extrachannel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $auto_dial_level - ('0','1','1.1',...) +# - $campaign - ('CLOSER','TESTCAMP',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('1234',...) +# - $seconds - ('32',...) +# - $outbound_cid - ('3125551212','0000000000',...) +# - $agent_log_id - ('123456',...) +# - $call_server_ip - ('10.10.10.15',...) +# - $CalLCID - ('VD01234567890123456',...) +# - $stage - ('UP','DOWN') +# + +# CHANGELOG: +# 50401-1002 - First build of script, Hangup function only +# 50404-1045 - Redirect basic function enabled +# 50406-1522 - Monitor basic function enabled +# 50407-1647 - Monitor and StopMonitor full functions enabled +# 50422-1120 - basic Originate function enabled +# 50428-1451 - basic SysCIDOriginate function enabled for checking voicemail +# 50502-1539 - basic RedirectName and RedirectNameVmail added +# 50503-1227 - added session_name checking for extra security +# 50523-1341 - added Conference call start/stop recording +# 50523-1421 - added OriginateName and OriginateNameVmail for local calls +# 50524-1602 - added RedirectToPark and RedirectFromPark +# 50531-1203 - added RedirecXtra for dual channel redirection +# 50630-1100 - script changed to not use HTTP login vars, user/pass instead +# 50804-1148 - Added RedirectVD for VICIDIAL blind redirection with logging +# 50815-1204 - Added NEXTAVAILABLE to RedirectXtra function +# 50903-2343 - Added HangupConfDial function to hangup in-dial channels in conf +# 50913-1057 - Added outbound_cid set if present to originate call +# 51020-1556 - Added agent_log_id framework for detailed agent activity logging +# 51118-1204 - Fixed Blind transfer bug from VICIDIAL when in manual dial mode +# 51129-1014 - Added ability to accept calls from other VICIDIAL servers +# 51129-1253 - Fixed Hangups of other agents channels in VICIDIAL AD +# 60310-2022 - Fixed NEXTAVAILABLE bug in leave-3way-call redirect function +# 60421-1413 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1158 - Added variable filters to close security holes for login form +# 60809-1544 - Added direct transfers to leave-3ways in consultative transfers +# 61004-1526 - Added parsing of volume control command and lookup or number +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61201-1115 - Added user to MonitorConf for recording_log +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70226-1251 - Added Mute/UnMute to conference volume control +# 70320-1502 - Added option to allow retry of leave-3way-call and debug logging +# 70322-1636 - Added sipsak display ability +# + +require("dbconnect.php"); + +### These are variable assignments for PHP globals off +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["queryCID"])) {$queryCID=$_GET["queryCID"];} + elseif (isset($_POST["queryCID"])) {$queryCID=$_POST["queryCID"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["filename"])) {$filename=$_GET["filename"];} + elseif (isset($_POST["filename"])) {$filename=$_POST["filename"];} +if (isset($_GET["extenName"])) {$extenName=$_GET["extenName"];} + elseif (isset($_POST["extenName"])) {$extenName=$_POST["extenName"];} +if (isset($_GET["parkedby"])) {$parkedby=$_GET["parkedby"];} + elseif (isset($_POST["parkedby"])) {$parkedby=$_POST["parkedby"];} +if (isset($_GET["extrachannel"])) {$extrachannel=$_GET["extrachannel"];} + elseif (isset($_POST["extrachannel"])) {$extrachannel=$_POST["extrachannel"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["secondS"])) {$secondS=$_GET["secondS"];} + elseif (isset($_POST["secondS"])) {$secondS=$_POST["secondS"];} +if (isset($_GET["outbound_cid"])) {$outbound_cid=$_GET["outbound_cid"];} + elseif (isset($_POST["outbound_cid"])) {$outbound_cid=$_POST["outbound_cid"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["call_server_ip"])) {$call_server_ip=$_GET["call_server_ip"];} + elseif (isset($_POST["call_server_ip"])) {$call_server_ip=$_POST["call_server_ip"];} +if (isset($_GET["CalLCID"])) {$CalLCID=$_GET["CalLCID"];} + elseif (isset($_POST["CalLCID"])) {$CalLCID=$_POST["CalLCID"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["allow_sipsak_messages"])) {$allow_sipsak_messages=$_GET["allow_sipsak_messages"];} + elseif (isset($_POST["allow_sipsak_messages"])) {$allow_sipsak_messages=$_POST["allow_sipsak_messages"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$secondS = ereg_replace("[^0-9]","",$secondS); + +# default optional vars if not set +if (!isset($ACTION)) {$ACTION="Originate";} +if (!isset($format)) {$format="alert";} +if (!isset($ext_priority)) {$ext_priority="1";} + +$version = '2.0.29'; +$build = '70320-1502'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Nombre del usuario/Contraseña: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Enviar al Manager: "; +if ($ACTION=="Originate") {echo "Originate";} +if ($ACTION=="Redirect") {echo "Redirect";} +if ($ACTION=="RedirectName") {echo "RedirectName";} +if ($ACTION=="Hangup") {echo "Hangup";} +if ($ACTION=="Command") {echo "Command";} +if ($ACTION==99999) {echo "AYUDA";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ACTION=SysCIDOriginate - insert Originate Manager statement allowing small CIDs for system calls +###################### +if ($ACTION=="SysCIDOriginate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<1) ) + { + echo "Exten $exten No es válido or queryCID $queryCID No es válido, Originate comando no insertado\n"; + } + else + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Originate comando enviado a Exten $exten Canal $channel en $server_ip\n"; + } +} + + + +###################### +# ACTION=Originate, OriginateName, OriginateNameVmail - insert Originate Manager statement +###################### +if ($ACTION=="OriginateName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Una de estas variables No es válido:\n"; + echo "Canal $channel debe ser mayor de 2 caracteres\n"; + echo "queryCID $queryCID debe ser mayor de 14 caracteres\n"; + echo "extenName $extenName debe ser fijado\n"; + echo "ext_context $ext_context debe ser fijado\n"; + echo "ext_priority $ext_priority debe ser fijado\n"; + echo "\nOriginateName Action no enviado\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Una de estas variables No es válido:\n"; + echo "Canal $channel debe ser mayor de 2 caracteres\n"; + echo "queryCID $queryCID debe ser mayor de 14 caracteres\n"; + echo "extenName $extenName debe ser fijado\n"; + echo "exten $exten debe ser fijado\n"; + echo "ext_context $ext_context debe ser fijado\n"; + echo "ext_priority $ext_priority debe ser fijado\n"; + echo "\nOriginateNameVmail Action no enviado\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateVDRelogin") +{ + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $CIDdate = date("ymdHis"); + $DS='-'; + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $queryCID = "$SIPSAK_prefix$campaign$DS$CIDdate"; + + } + $ACTION="Originate"; +} + +if ($ACTION=="Originate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<10) ) + { + echo "Exten $exten No es válido or queryCID $queryCID No es válido, Originate comando no insertado\n"; + } + else + { + if (strlen($outbound_cid)>1) + {$outCID = "\"$queryCID\" <$outbound_cid>";} + else + {$outCID = "$queryCID";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $outCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Originate comando enviado a Exten $exten Canal $channel en $server_ip\n"; + } +} + + + +###################### +# ACTION=HangupConfDial - find the Local channel that is in the conference and needs to be hung up +###################### +if ($ACTION=="HangupConfDial") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "conference $exten No es válido or ext_context $ext_context or queryCID $queryCID No es válido, Hangup comando no insertado\n"; + } + else + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $hangup_channel_prefix = "$local_DEF$exten$local_AMP$ext_context"; + + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row > 0) + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $channel=$rowx[0]; + $ACTION="Hangup"; + $queryCID = eregi_replace("^.","G",$queryCID); + } + } +} + + + +###################### +# ACTION=Hangup - insert Hangup Manager statement +###################### +if ($ACTION=="Hangup") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) ) + { + $channel_live=0; + echo "Canal $channel No es válido or queryCID $queryCID No es válido, Hangup comando no insertado\n"; + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + +# $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $row=mysql_fetch_row($rslt); +# if ($row[0]==0) +# { +# $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $rowx=mysql_fetch_row($rslt); +# if ($rowx[0]==0) +# { +# $channel_live=0; +# echo "Channel $channel is not live on $call_server_ip, Hangup command not inserted\n"; +# } +# } + if ( ($auto_dial_level > 0) and (strlen($CalLCID)>2) and (strlen($exten)>2) and ($secondS > 4)) + { + $stmt="SELECT count(*) FROM vicidial_auto_calls where channel='$channel' and callerid='$CalLCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + echo "Call $CalLCID $channel no está activo en $call_server_ip, Checking Live Canal...\n"; + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel' and extension LIKE \"%$exten\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $channel_live=0; + echo "Canal $channel no está activo en $call_server_ip, Hangup comando no insertado $rowx[0]\n$stmt\n"; + } + else + { + echo "$stmt\n"; + } + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Hangup','$queryCID','Channel: $channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Hangup comando enviado a Canal $channel en $call_server_ip\n"; + } + } +} + + + +###################### +# ACTION=Redirect, RedirectName, RedirectNameVmail, RedirectToPark, RedirectFromPark, RedirectVD, RedirectXtra, RedirectXtraCX +# - insert Redirect Manager statement using extensions name +###################### +if ($ACTION=="RedirectVD") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($campaign)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($uniqueid)<2) or (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "Una de estas variables No es válido:\n"; + echo "Canal $channel debe ser mayor de 2 caracteres\n"; + echo "queryCID $queryCID debe ser mayor de 14 caracteres\n"; + echo "exten $exten debe ser fijado\n"; + echo "ext_context $ext_context debe ser fijado\n"; + echo "ext_priority $ext_priority debe ser fijado\n"; + echo "auto_dial_level $auto_dial_level debe ser fijado\n"; + echo "campaign $campaign debe ser fijado\n"; + echo "uniqueid $uniqueid debe ser fijado\n"; + echo "lead_id $lead_id debe ser fijado\n"; + echo "\nRedirectVD Action no enviado\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where lead_id='$lead_id' order by start_epoch desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + if ($auto_dial_level < 1) + { + $stmt = "UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt = "DELETE from vicidial_auto_calls where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectToPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($parkedby)<1) ) + { + $channel_live=0; + echo "Una de estas variables No es válido:\n"; + echo "Canal $channel debe ser mayor de 2 caracteres\n"; + echo "queryCID $queryCID debe ser mayor de 14 caracteres\n"; + echo "exten $exten debe ser fijado\n"; + echo "extenName $extenName debe ser fijado\n"; + echo "ext_context $ext_context debe ser fijado\n"; + echo "ext_priority $ext_priority debe ser fijado\n"; + echo "parkedby $parkedby debe ser fijado\n"; + echo "\nRedirectToPark Action no enviado\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "INSERT INTO parked_channels values('$channel','$server_ip','','$extenName','$parkedby','$NOW_TIME');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectFromPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Una de estas variables No es válido:\n"; + echo "Canal $channel debe ser mayor de 2 caracteres\n"; + echo "queryCID $queryCID debe ser mayor de 14 caracteres\n"; + echo "exten $exten debe ser fijado\n"; + echo "ext_context $ext_context debe ser fijado\n"; + echo "ext_priority $ext_priority debe ser fijado\n"; + echo "\nRedirectFromPark Action no enviado\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "DELETE FROM parked_channels where server_ip='$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Una de estas variables No es válido:\n"; + echo "Canal $channel debe ser mayor de 2 caracteres\n"; + echo "queryCID $queryCID debe ser mayor de 14 caracteres\n"; + echo "extenName $extenName debe ser fijado\n"; + echo "ext_context $ext_context debe ser fijado\n"; + echo "ext_priority $ext_priority debe ser fijado\n"; + echo "\nRedirectName Action no enviado\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Redirect"; + } + } +} + +if ($ACTION=="RedirectNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Una de estas variables No es válido:\n"; + echo "Canal $channel debe ser mayor de 2 caracteres\n"; + echo "queryCID $queryCID debe ser mayor de 14 caracteres\n"; + echo "extenName $extenName debe ser fijado\n"; + echo "exten $exten debe ser fijado\n"; + echo "ext_context $ext_context debe ser fijado\n"; + echo "ext_priority $ext_priority debe ser fijado\n"; + echo "\nRedirectNameVmail Action no enviado\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Redirect"; + } + } +} + +if ($ACTION=="RedirectXtraCX") +{ + $DBout=''; + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Una de estas variables No es válido:\n"; + echo "Canal $channel debe ser mayor de 2 caracteres\n"; + echo "ExtraCanal $extrachannel debe ser mayor de 2 caracteres\n"; + echo "queryCID $queryCID debe ser mayor de 14 caracteres\n"; + echo "exten $exten debe ser fijado\n"; + echo "ext_context $ext_context debe ser fijado\n"; + echo "ext_priority $ext_priority debe ser fijado\n"; + echo "\nRedirect Action no enviado\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Canal $channel no está activo en $call_server_ip, Redirect comando no insertado\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel no está activo en $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Canal $channel no está activo en $server_ip, Redirect comando no insertado\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel no está activo en $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + $stmt="SELECT count(*) FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $channel_liveY=0; + echo "No Local agent to send call to, Redirect comando no insertado\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + } + else + { + $stmt="SELECT server_ip,conf_exten,user FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $dest_server_ip = $rowx[0]; + $dest_session_id = $rowx[1]; + $dest_user = $rowx[2]; + $S='*'; + + $D_s_ip = explode('.', $dest_server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$dest_session_id$S$lead_id$S$dest_user$S$phone_code$S$phone_number$S$campaign$S"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','$queryCID','Channel: $extrachannel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtraCX comando enviado a Canal $channel en $call_server_ip and \nHungup $extrachannel en $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel en $call_server_ip, Hungup $extrachannel en $server_ip";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel en $server_ip";} + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } +} + +if ($ACTION=="RedirectXtra") +{ + if ($channel=="$extrachannel") + {$ACTION="Redirect";} + else + { + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Una de estas variables No es válido:\n"; + echo "Canal $channel debe ser mayor de 2 caracteres\n"; + echo "ExtraCanal $extrachannel debe ser mayor de 2 caracteres\n"; + echo "queryCID $queryCID debe ser mayor de 14 caracteres\n"; + echo "exten $exten debe ser fijado\n"; + echo "ext_context $ext_context debe ser fijado\n"; + echo "ext_priority $ext_priority debe ser fijado\n"; + echo "\nRedirect Action no enviado\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if ($exten == "NEXTAVAILABLE") + { + $stmt="SELECT conf_exten FROM conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 3) + { + $stmt="UPDATE conferences set extension='$user' where server_ip='$server_ip' and conf_exten='$row[0]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $exten = $row[0]; + } + else + { + $channel_liveX=0; + echo "No puede encontrar conferencia vacía en $server_ip, Redirect comando no insertado\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No puede encontrar conferencia vacía en $server_ip";} + } + } + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Canal $channel no está activo en $call_server_ip, Redirect comando no insertado\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel no está activo en $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Canal $channel no está activo en $server_ip, Redirect comando no insertado\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel no está activo en $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + if ( ($server_ip=="$call_server_ip") or (strlen($call_server_ip)<7) ) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','ExtraChannel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra comando enviado a Canal $channel and \nExtraCanal $extrachannel\n to $exten en $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten en $server_ip";} + } + else + { + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$exten"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra comando enviado a Canal $channel en $call_server_ip and \nExtraCanal $extrachannel\n to $exten en $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } + } +} + + +if ($ACTION=="Redirect") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Una de estas variables No es válido:\n"; + echo "Canal $channel debe ser mayor de 2 caracteres\n"; + echo "queryCID $queryCID debe ser mayor de 14 caracteres\n"; + echo "exten $exten debe ser fijado\n"; + echo "ext_context $ext_context debe ser fijado\n"; + echo "ext_priority $ext_priority debe ser fijado\n"; + echo "\nRedirect Action no enviado\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Canal $channel no está activo en $server_ip, Redirect comando no insertado\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "Redirect comando enviado a Canal $channel en $server_ip\n"; + } + } +} + + + +###################### +# ACTION=Monitor or Stop Monitor - insert Monitor/StopMonitor Manager statement to start recording on a channel +###################### +if ( ($ACTION=="Monitor") || ($ACTION=="StopMonitor") ) +{ + if ($ACTION=="StopMonitor") + {$SQLfile = "";} + else + {$SQLfile = "File: $filename";} + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Canal $channel No es válido or queryCID $queryCID No es válido or filename: $filename No es válido, $ACTION comando no insertado\n"; + } + else + { + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Canal $channel no está activo en $server_ip, $ACTION comando no insertado\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','$ACTION','$queryCID','Channel: $channel','$SQLfile','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + if ($ACTION=="Monitor") + { + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + } + else + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + } + echo "$ACTION comando enviado a Canal $channel en $server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n"; + } + } +} + + + + + + +###################### +# ACTION=MonitorConf or StopMonitorConf - insert Monitor/StopMonitor Manager statement to start recording on a conference +###################### +if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<3) or (strlen($channel)<4) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Canal $channel No es válido or exten $exten No es válido or filename: $filename No es válido, $ACTION comando no insertado\n"; + } + else + { + + if ($ACTION=="MonitorConf") + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$filename','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $filename','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + } + else + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + # find and hang up all recordings going en in this conference # and extension = '$exten' + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + # $rec_count = intval(mysql_num_rows($rslt) / 2); + $rec_count = mysql_num_rows($rslt); + $h=0; + while ($rec_count>$h) + { + $rowx=mysql_fetch_row($rslt); + $HUchannel[$h] = $rowx[0]; + $h++; + } + $i=0; + while ($h>$i) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$i','Channel: $HUchannel[$i]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $i++; + } + + } + echo "$ACTION comando enviado a Canal $channel en $server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n LA GRABACIÓN DURARÁ HASTA 60 MINUTOS\n"; + } +} + + + + + +###################### +# ACTION=VolumeControl - raise or lower the volume of a meetme participant +###################### +if ($ACTION=="VolumeControl") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($stage)<1) or (strlen($queryCID)<1) ) + { + echo "Conferencia $exten, Stage $stage No es válido or queryCID $queryCID No es válido, Originate comando no insertado\n"; + } + else + { + $participant_number='XXYYXXYYXXYYXX'; + if (eregi('UP',$stage)) {$vol_prefix='4';} + if (eregi('DOWN',$stage)) {$vol_prefix='3';} + if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} + if (eregi('MUTING',$stage)) {$vol_prefix='1';} + $local_DEF = 'Local/'; + $local_AMP = '@'; + $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $volume_local_channel','Context: $ext_context','Exten: 8300','Priority: 1','Callerid: $queryCID','','','','$channel','$exten');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Volume comando enviado a Conferencia $exten, Stage $stage Canal $channel en $server_ip\n"; + } +} + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='debug') {echo "\n";} +if ($format=='debug') {echo "\n\n\n";} + +exit; + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/park_calls_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/park_calls_display.php new file mode 100644 index 00000000..20b4c114 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/park_calls_display.php @@ -0,0 +1,146 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send the details on the parked calls on the server +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### + +# changes +# 50524-1515 - First build of script +# 50711-1208 - removed HTTP authentication in favor of user/pass vars +# 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($park_limit)) {$park_limit="1000";} + +$version = '0.0.4'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) ) + { + echo "Inválido Nombre del usuario/Contraseña: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Mostrar Llamadas Aparcadas"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten No es válido o protocolo $protocol No es válido\n"; + exit; + } + else + { + ##### print parked calls from the parked_channels table + $stmt="SELECT * from parked_channels where server_ip = '$server_ip' order by parked_time limit $park_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $park_calls_count = mysql_num_rows($rslt); + echo "$park_calls_count\n"; + $loop_count=0; + while ($park_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0] ~$row[2] ~$row[3] ~$row[4] ~$row[5]|"; + } + echo "\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/vdc_db_query.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/vdc_db_query.php new file mode 100644 index 00000000..a0cba6aa --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/vdc_db_query.php @@ -0,0 +1,2535 @@ + LICENSE: GPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('regCLOSER','manDiaLnextCALL','manDiaLskip','manDiaLonly','manDiaLlookCALL','manDiaLlogCALL','userLOGout','updateDISPO','VDADpause','VDADready','VDADcheckINCOMING','UpdatEFavoritEs','CalLBacKLisT','CalLBacKCounT','PauseCodeSubmit','LogiNCamPaigns') +# - $stage - ('start','finish','lookup','new') +# - $closer_choice - ('CL_TESTCAMP_L CL_OUT123_L -') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $campaign - ('testcamp',...) +# - $dial_timeout - ('60','26',...) +# - $dial_prefix - ('9','8',...) +# - $campaign_cid - ('3125551212','0000000000',...) +# - $MDnextCID - ('M06301413000000002',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('36524',...) +# - $list_id - ('101','123456',...) +# - $length_in_sec - ('12',...) +# - $phone_code - ('1',...) +# - $phone_number - ('3125551212',...) +# - $channel - ('Zap/12-1',...) +# - $start_epoch - ('1120236911',...) +# - $vendor_lead_code - ('1234test',...) +# - $title - ('Mr.',...) +# - $first_name - ('Bob',...) +# - $middle_initial - ('L',...) +# - $last_name - ('Wilson',...) +# - $address1 - ('1324 Main St.',...) +# - $address2 - ('Apt. 12',...) +# - $address3 - ('co Robert Wilson',...) +# - $city - ('Chicago',...) +# - $state - ('IL',...) +# - $province - ('NA',...) +# - $postal_code - ('60054',...) +# - $country_code - ('USA',...) +# - $gender - ('M',...) +# - $date_of_birth - ('1970-01-01',...) +# - $alt_phone - ('3125551213',...) +# - $email - ('bob@bob.com',...) +# - $security_phrase - ('Hello',...) +# - $comments - ('Good Customer',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $VDstop_rec_after_each_call - ('0','1') +# - $conf_silent_prefix - ('7','8','',...) +# - $extension - ('123','user123','25-1',...) +# - $protocol - ('Zap','SIP','IAX2',...) +# - $user_abb - ('1234','6666',...) +# - $preview - ('YES','NO',...) +# - $called_count - ('0','1','2',...) +# - $agent_log_id - ('123456',...) +# - $agent_log - ('NO',...) +# - $favorites_list - (",'cc160','cc100'",...) +# - $CallBackDatETimE - ('2006-04-21 14:30:00',...) +# - $recipient - ('ANYONE,'USERONLY') +# - $callback_id - ('12345','12346',...) +# - $use_internal_dnc - ('Y','N') +# - $omit_phone_code - ('Y','N') +# - $no_delete_sessions - ('0','1') + +# CHANGELOG: +# 50629-1044 - First build of script +# 50630-1422 - Added manual dial action and MD channel lookup +# 50701-1451 - Added dial log for start and end of vicidial calls +# 50705-1239 - Added call disposition update +# 50804-1627 - Fixed updateDispo to update vicidial_log entry +# 50816-1605 - Added VDADpause/ready for auto dialing +# 50816-1811 - Added basic autodial call pickup functions +# 50817-1005 - Altered logging functions to accomodate auto_dialing +# 50818-1305 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1411 - Added hangup of agent phone after Logout +# 50901-1315 - Fixed CLOSER IN-GROUP Web Form bug +# 50902-1507 - Fixed CLOSER log length_in_sec bug +# 50902-1730 - Added functions for manual preview dialing and revert +# 50913-1214 - Added agent random update to leadupdate +# 51020-1421 - Added agent_log_id framework for detailed agent activity logging +# 51021-1717 - Allows for multi-line comments (changes \n to !N in database) +# 51111-1046 - Added vicidial_agent_log lead_id earlier for manual dial +# 51121-1445 - Altered echo statements for several small PHP speed optimizations +# 51122-1328 - Fixed UserLogout issue not removing conference reservation +# 51129-1012 - Added ability to accept calls from other VICIDIAL servers +# 51129-1729 - Changed manual dial to use the '/n' flag for calls +# 51221-1154 - Added SCRIPT id lookup and sending to vicidial.php for display +# 60105-1059 - Added Updating of astguiclient favorites in the DB +# 60208-1617 - Added dtmf buttons output per call +# 60213-1521 - Added closer_campaigns update to vicidial_users +# 60215-1036 - Added Callback date-time entry into vicidial_callbacks table +# 60413-1541 - Added USERONLY Callback listings output - CalLBacKLisT +# - Added USERONLY Callback count output - CalLBacKCounT +# 60414-1140 - Added Callback lead lookup for manual dialing +# 60419-1517 - After CALLBK is sent to agent, update callback record to INACTIVE +# 60421-1419 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60427-1236 - Fixed closer_choice error for CLOSER campaigns +# 60609-1148 - Added ability to check for manual dial numbers in DNC +# 60619-1117 - Added variable filters to close security holes for login form +# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic +# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing +# 60821-1647 - Added ability to not delete sessions at logout +# 60906-1124 - Added lookup and sending of callback data for CALLBK calls +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70115-1733 - Added alt_dial functionality in auto-dial modes +# 70118-1501 - Added user_group to vicidial_log,_agent_log,_closer_log,_callbacks +# 70123-1357 - Fixed bug that would not update vicidial_closer_log status to dispo +# 70202-1438 - Added pause code submit function +# 70203-0930 - Added dialed_number to lead info output +# 70203-1030 - Added dialed_label to lead info output +# 70206-1126 - Added INBOUND status for inbound/closer calls in vicidial_live_agents +# 70212-1253 - Fixed small issue with CXFER +# 70213-1431 - Added QueueMetrics PAUSE/UNPAUSE/AGENTLOGIN/AGENTLOGOFF actions +# 70214-1231 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1210 - Added queuemetrics COMPLETEAGENT action +# 70216-1051 - Fixed double call complete queuemetrics logging +# 70222-1616 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70309-1034 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70319-1544 - Added agent disable update customer data function +# 70322-1545 - Added sipsak display ability +# 70413-1253 - Fixed bug for outbound call time in CLOSER-type blended campaigns +# 70424-1100 - Fixed bug for fronter/closer calls that would delete vdac records +# 70802-1729 - Fixed bugs with pause_sec and wait_sec under certain call handling +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71029-1855 - removed campaign_id naming restrictions for CLOSER-type campaigns +# 71030-2047 - added hopper priority for auto alt dial entries +# 71116-1011 - added calls_today count updating of the vicidial_live_agents upon INCALL +# 71120-1520 - added LogiNCamPaigns to show only allowed campaigns for agents upon login +# 71125-1751 - Added inbound-group default inbound group sending to vicidial.php +# 71129-2025 - restricted callbacks count and list to campaign only +# + +$version = '2.0.4-65'; +$build = '71129-2025'; + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["closer_choice"])) {$closer_choice=$_GET["closer_choice"];} + elseif (isset($_POST["closer_choice"])) {$closer_choice=$_POST["closer_choice"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["dial_timeout"])) {$dial_timeout=$_GET["dial_timeout"];} + elseif (isset($_POST["dial_timeout"])) {$dial_timeout=$_POST["dial_timeout"];} +if (isset($_GET["dial_prefix"])) {$dial_prefix=$_GET["dial_prefix"];} + elseif (isset($_POST["dial_prefix"])) {$dial_prefix=$_POST["dial_prefix"];} +if (isset($_GET["campaign_cid"])) {$campaign_cid=$_GET["campaign_cid"];} + elseif (isset($_POST["campaign_cid"])) {$campaign_cid=$_POST["campaign_cid"];} +if (isset($_GET["MDnextCID"])) {$MDnextCID=$_GET["MDnextCID"];} + elseif (isset($_POST["MDnextCID"])) {$MDnextCID=$_POST["MDnextCID"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["length_in_sec"])) {$length_in_sec=$_GET["length_in_sec"];} + elseif (isset($_POST["length_in_sec"])) {$length_in_sec=$_POST["length_in_sec"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["start_epoch"])) {$start_epoch=$_GET["start_epoch"];} + elseif (isset($_POST["start_epoch"])) {$start_epoch=$_POST["start_epoch"];} +if (isset($_GET["dispo_choice"])) {$dispo_choice=$_GET["dispo_choice"];} + elseif (isset($_POST["dispo_choice"])) {$dispo_choice=$_POST["dispo_choice"];} +if (isset($_GET["vendor_lead_code"])) {$vendor_lead_code=$_GET["vendor_lead_code"];} + elseif (isset($_POST["vendor_lead_code"])) {$vendor_lead_code=$_POST["vendor_lead_code"];} +if (isset($_GET["title"])) {$title=$_GET["title"];} + elseif (isset($_POST["title"])) {$title=$_POST["title"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["middle_initial"])) {$middle_initial=$_GET["middle_initial"];} + elseif (isset($_POST["middle_initial"])) {$middle_initial=$_POST["middle_initial"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["gender"])) {$gender=$_GET["gender"];} + elseif (isset($_POST["gender"])) {$gender=$_POST["gender"];} +if (isset($_GET["date_of_birth"])) {$date_of_birth=$_GET["date_of_birth"];} + elseif (isset($_POST["date_of_birth"])) {$date_of_birth=$_POST["date_of_birth"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["security_phrase"])) {$security_phrase=$_GET["security_phrase"];} + elseif (isset($_POST["security_phrase"])) {$security_phrase=$_POST["security_phrase"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_GET["VDstop_rec_after_each_call"];} + elseif (isset($_POST["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_POST["VDstop_rec_after_each_call"];} +if (isset($_GET["conf_silent_prefix"])) {$conf_silent_prefix=$_GET["conf_silent_prefix"];} + elseif (isset($_POST["conf_silent_prefix"])) {$conf_silent_prefix=$_POST["conf_silent_prefix"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["user_abb"])) {$user_abb=$_GET["user_abb"];} + elseif (isset($_POST["user_abb"])) {$user_abb=$_POST["user_abb"];} +if (isset($_GET["preview"])) {$preview=$_GET["preview"];} + elseif (isset($_POST["preview"])) {$preview=$_POST["preview"];} +if (isset($_GET["called_count"])) {$called_count=$_GET["called_count"];} + elseif (isset($_POST["called_count"])) {$called_count=$_POST["called_count"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["agent_log"])) {$agent_log=$_GET["agent_log"];} + elseif (isset($_POST["agent_log"])) {$agent_log=$_POST["agent_log"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} +if (isset($_GET["CallBackDatETimE"])) {$CallBackDatETimE=$_GET["CallBackDatETimE"];} + elseif (isset($_POST["CallBackDatETimE"])) {$CallBackDatETimE=$_POST["CallBackDatETimE"];} +if (isset($_GET["recipient"])) {$recipient=$_GET["recipient"];} + elseif (isset($_POST["recipient"])) {$recipient=$_POST["recipient"];} +if (isset($_GET["callback_id"])) {$callback_id=$_GET["callback_id"];} + elseif (isset($_POST["callback_id"])) {$callback_id=$_POST["callback_id"];} +if (isset($_GET["use_internal_dnc"])) {$use_internal_dnc=$_GET["use_internal_dnc"];} + elseif (isset($_POST["use_internal_dnc"])) {$use_internal_dnc=$_POST["use_internal_dnc"];} +if (isset($_GET["omit_phone_code"])) {$omit_phone_code=$_GET["omit_phone_code"];} + elseif (isset($_POST["omit_phone_code"])) {$omit_phone_code=$_POST["omit_phone_code"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} + + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); +$phone_code = ereg_replace("[^0-9]","",$phone_code); +$phone_number = ereg_replace("[^0-9]","",$phone_number); + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} + +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$MT[0]=''; +$agents='@agents'; + +if ($ACTION == 'LogiNCamPaigns') + { + $skip_user_validation=1; + } +else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Nombre del usuario/Contraseña: |$user|$pass|\n"; + exit; + } + else + { + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } +} + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDiaL Database Query Script"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + +################################################################################ +### LogiNCamPaigns - generates an HTML SELECT list of allowed campaigns for a +### specific agent on the login screen +################################################################################ +if ($ACTION == 'LogiNCamPaigns') +{ + if ( (strlen($user)<1) ) + { + echo "\n"; + exit; + } + else + { + echo "\n"; + exit; + } +} + + + +################################################################################ +### regCLOSER - update the vicidial_live_agents table to reflect the closer +### inbound choices made upon login +################################################################################ +if ($ACTION == 'regCLOSER') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($closer_choice)<1) || (strlen($user)<1) ) + { + $channel_live=0; + echo "Opción Del Grupo $closer_choice No es válido\n"; + exit; + } + else + { + if ($closer_choice == "MGRLOCK-") + { + $stmt="SELECT closer_campaigns FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $closer_choice =$row[0]; + + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_users set closer_campaigns='$closer_choice' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $in_groups_pre = preg_replace('/-$/','',$closer_choice); + $in_groups = explode(" ",$in_groups_pre); + $in_groups_ct = count($in_groups); + $k=1; + while ($k < $in_groups_ct) + { + if (strlen($in_groups[$k])>1) + { + $stmt="SELECT group_weight,calls_today FROM vicidial_inbound_group_agents where user='$user' and group_id='$in_groups[$k]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $viga_ct = mysql_num_rows($rslt); + if ($viga_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_weight = $row[0]; + $calls_today = $row[1]; + } + else + { + $group_weight = 0; + $calls_today = 0; + } + $stmt="INSERT INTO vicidial_live_inbound_agents set user='$user',group_id='$in_groups[$k]',group_weight='$group_weight',calls_today='$calls_today',last_call_time='$NOW_TIME',last_call_finish='$NOW_TIME';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + $k++; + } + + } + echo "Closer In Opción Del Grupo $closer_choice se ha registrado al usuario $user\n"; +} + + +################################################################################ +### manDiaLnextCALL - for manual VICIDiaL dialing this will grab the next lead +### in the campaign, reserve it, send data back to client and +### place the call by inserting into vicidial_manager +################################################################################ +if ($ACTION == 'manDiaLnextCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "TOLVA VACÍA\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context No es válido\n"; + exit; + } + else + { + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### check if this is a callback, if it is, skip the grabbing of a new lead and mark the callback as INACTIVE + if ( (strlen($callback_id)>0) and (strlen($lead_id)>0) ) + { + $affected_rows=1; + $CBleadIDset=1; + + $stmt = "UPDATE vicidial_callbacks set status='INACTIVE' where callback_id='$callback_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + if (strlen($phone_number)>3) + { + if ($use_internal_dnc=='Y') + { + $stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + echo "DNC NÚMERO\n"; + exit; + } + } + if ($stage=='lookup') + { + $stmt="SELECT lead_id FROM vicidial_list where phone_number='$phone_number' order by modify_date desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $man_leadID_ct = mysql_num_rows($rslt); + if ($man_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $affected_rows=1; + $lead_id =$row[0]; + $CBleadIDset=1; + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### grab the next lead in the hopper for this campaign and reserve it for the user + $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by hopper_id LIMIT 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + } + + if ($affected_rows > 0) + { + if (!$CBleadIDset) + { + ##### grab the lead_id of the reserved user in vicidial_hopper + $stmt="SELECT lead_id FROM vicidial_hopper where campaign_id='$campaign' and status='QUEUE' and user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $hopper_leadID_ct = mysql_num_rows($rslt); + if ($hopper_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + } + } + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = trim("$row[29]"); + $called_count = trim("$row[30]"); + } + + $called_count++; + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M\n"); + fclose($fp); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='Y', called_count='$called_count',user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + if (!$CBleadIDset) + { + ### delete the lead from the hopper + $stmt = "DELETE FROM vicidial_hopper where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id',comments='MANUAL' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + ### if preview dialing, do not send the call + if ( (strlen($preview)<1) || ($preview == 'NO') ) + { + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + $Local_persist = '/n'; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update calls_today count in vicidial_campaign_agents + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $MqueryCID . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= "MAIN\n"; + $LeaD_InfO .= $source_id . "\n"; + + echo $LeaD_InfO; + + } + else + { + echo "TOLVA VACÍA\n"; + } + } +} + + +################################################################################ +### manDiaLskip - for manual VICIDiaL dialing this skips the lead that was +### previewed in the step above and puts it back in orig status +################################################################################ +if ($ACTION == 'manDiaLskip') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($stage)<1) || (strlen($called_count)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "LEAD NOT REVERTED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context No es válido\n"; + exit; + } + else + { + $called_count = ($called_count - 1); + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='$stage', called_count='$called_count',user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + + echo "LEAD REVERTED\n"; + } +} + + +################################################################################ +### manDiaLonly - for manual VICIDiaL dialing this sends the call that was +### previewed in the step above +################################################################################ +if ($ACTION == 'manDiaLonly') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) || (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo " LLAMADA NOT PLACED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context No es válido\n"; + exit; + } + else + { + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + $Local_persist = '/n'; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + echo "$MqueryCID\n"; + } +} + + +################################################################################ +### manDiaLlookCALL - for manual VICIDiaL dialing this will attempt to look up +### the trunk channel that the call was placed on +################################################################################ +if ($ACTION == 'manDiaLlookCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; +if (strlen($MDnextCID)<18) + { + echo "NO\n"; + echo "MDnextCID $MDnextCID No es válido\n"; + exit; + } +else + { + ##### look for the channel in the UPDATED vicidial_manager record of the call initiation + $stmt="SELECT uniqueid,channel FROM vicidial_manager where callerid='$MDnextCID' and server_ip='$server_ip' and status='UPDATED' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid =$row[0]; + $channel =$row[1]; + echo "$uniqueid\n$channel"; + + $wait_sec=0; + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',wait_epoch='$StarTtime',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + echo "NO\n"; + } + } +} + + + +################################################################################ +### manDiaLlogCALL - for manual VICIDiaL logging of calls places record in +### vicidial_log and then sends process to call_log entry +################################################################################ +if ($ACTION == 'manDiaLlogCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + +if ($stage == "start") + { + if ( (strlen($uniqueid)<1) || (strlen($lead_id)<1) || (strlen($list_id)<1) || (strlen($phone_number)<1) || (strlen($campaign)<1) ) + { + echo "REGISTRO NO ENTRADO\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id or list_id: $list_id or phone_number: $phone_number or campaign: $campaign No es válido\n"; + exit; + } + else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### insert log into vicidial_log for manual VICIDiaL call + $stmt="INSERT INTO vicidial_log (uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,comments,processed,user_group) values('$uniqueid','$lead_id','$list_id','$campaign','$NOW_TIME','$StarTtime','INCALL','$phone_code','$phone_number','$user','MANUAL','N','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "VICIDiaL_LOG Insertado: $uniqueid|$channel|$NOW_TIME\n"; + echo "$StarTtime\n"; + } + else + { + echo "REGISTRO NO ENTRADO\n"; + } + + $stmt = "UPDATE vicidial_auto_calls SET uniqueid='$uniqueid' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + # ##### insert log into call_log for manual VICIDiaL call + # $stmt = "INSERT INTO call_log (uniqueid,channel,server_ip,extension,number_dialed,caller_code,start_time,start_epoch) values('$uniqueid','$channel','$server_ip','$exten','$phone_code$phone_number','MD $user $lead_id','$NOW_TIME','$StarTtime')"; + # if ($DB) {echo "$stmt\n";} + # $rslt=mysql_query($stmt, $link); + # $affected_rows = mysql_affected_rows($link); + + # if ($affected_rows > 0) + # { + # echo "CALL_LOG Insertado: $uniqueid|$channel|$NOW_TIME"; + # } + # else + # { + # echo "REGISTRO NO ENTRADO\n"; + # } + } + } + +if ($stage == "end") + { + if ( (strlen($uniqueid)<1) || (strlen($lead_id)<1) ) + { + echo "REGISTRO NO ENTRADO\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id No es válido\n"; + exit; + } + else + { + if ($start_epoch < 1000) + { + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ##### look for the start epoch in the vicidial_closer_log table + $stmt="SELECT start_epoch FROM vicidial_closer_log where phone_number='$phone_number' and lead_id='$lead_id' and user='$user' order by closecallid desc limit 1;"; + } + else + { + ##### look for the start epoch in the vicidial_log table + $stmt="SELECT start_epoch FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';"; + } + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch =$row[0]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($length_in_sec < 1) and ($row[0] > 0) ) + { + ##### start epoch in the vicidial_log table, couldn't find one in vicidial_closer_log + $stmt="SELECT start_epoch FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch =$row[0]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + } + } + else {$length_in_sec = ($StarTtime - $start_epoch);} + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec',status='DONE' where lead_id='$lead_id' order by start_epoch desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + ############################################# + ##### COMIENZO QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ($auto_dial_level > 0) + { + ### check to see if campaign has alt_dial enabled + $stmt="SELECT auto_alt_dial FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_alt_dial =$row[0]; + } + else {$auto_alt_dial = 'NONE';} + if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3)",$auto_alt_dial)) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT alt_dial FROM vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_dial =$row[0]; + } + else {$alt_dial = 'NONE';} + + if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3)",$auto_alt_dial)) ) + { + $stmt="SELECT alt_phone,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_phone = $row[0]; + $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$alt_phone = '';} + if (strlen($alt_phone)>5) + { + ### insert record into vicidial_hopper for alt_phone call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ALT',user='',priority='25';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + } + if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + { + $stmt="SELECT address3,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $address3 = $row[0]; + $address3 = eregi_replace("[^0-9]","",$address3); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$address3 = '';} + if (strlen($address3)>5) + { + ### insert record into vicidial_hopper for address3 call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ADDR3',user='',priority='20';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + + if ($enable_queuemetrics_logging > 0) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/.*-/",'',$CLstage); + if (strlen($CLstage) < 1) {$CLstage=0;} + + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt="SELECT count(*) from queue_log where call_id='$MDnextCID' and verb='COMPLETECALLER';"; + $rslt=mysql_query($stmt, $linkB); + if ($DB) {echo "$stmt\n";} + $VAC_cc_ct = mysql_num_rows($rslt); + if ($VAC_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $caller_complete = $row[0]; + } + + if ($caller_complete < 1) + { + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + } + mysql_close($linkB); + } + + ### delete call record from vicidial_auto_calls + $stmt = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',lead_id='',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='PAUSAALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } + else + { + if ($enable_queuemetrics_logging > 0) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/XFER|-/",'',$CLstage); + if ($CLstage < 0.25) {$CLstage=0;} + + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + $stmt = "DELETE from vicidial_auto_calls lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',lead_id='',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='PAUSAALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } + + ##### look for the channel in the UPDATED vicidial_manager record of the call initiation + $stmt="UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec' where uniqueid='$uniqueid' and lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "$uniqueid\n$channel\n"; + } + else + { + echo "REGISTRO NO ENTRADO\n\n"; + } + } + + echo $VDstop_rec_after_each_call . '|' . $extension . '|' . $conf_silent_prefix . '|' . $conf_exten . '|' . $user_abb . "|\n"; + + ##### if VICIDiaL call and hangup_after_each_call activated, find all recording + ##### channels and hang them up while entering info into recording_log and + ##### returning filename/recordingID + if ($VDstop_rec_after_each_call == 1) + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $total_rec=0; + $loop_count=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten' order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$rec_list = mysql_num_rows($rslt);} + while ($rec_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/Local\/$conf_silent_prefix$conf_exten\@/i",$row[0])) + { + $rec_channels[$total_rec] = "$row[0]"; + $total_rec++; + } + if ($format=='debug') {echo "\n";} + $loop_count++; + } + + $total_recFN=0; + $loop_count=0; + $filename=$MT; # not necessary : and cmd_line_f LIKE \"%_$user_abb\" + $stmt="SELECT cmd_line_f FROM vicidial_manager where server_ip='$server_ip' and action='Originate' and cmd_line_b = 'Channel: $local_DEF$conf_silent_prefix$conf_exten$local_AMP$ext_context' order by entry_date desc limit $total_rec;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$recFN_list = mysql_num_rows($rslt);} + while ($recFN_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + $filename[$total_recFN] = preg_replace("/Callerid: /i","",$row[0]); + if ($format=='debug') {echo "\n";} + $total_recFN++; + $loop_count++; + } + + $loop_count=0; + while($loop_count < $total_rec) + { + if (strlen($rec_channels[$loop_count])>5) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$loop_count','Channel: $rec_channels[$loop_count]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "REC_STOP|$rec_channels[$loop_count]|$filename[$loop_count]|"; + if (strlen($filename)>2) + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename[$loop_count]'"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$fn_count = mysql_num_rows($rslt);} + if ($fn_count) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt="UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename[$loop_count]' and end_epoch is NULL;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "$recording_id|$length_in_min|"; + } + else {echo "||";} + } + else {echo "||";} + echo "\n"; + } + $loop_count++; + } + } + + + $talk_sec=0; + $StarTtime = date("U"); + $stmt = "select talk_epoch,talk_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $talk_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set talk_sec='$talk_sec',talk_epoch='$StarTtime',dispo_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } +} + + +################################################################################ +### VDADREcheckINCOMING - for auto-dial VICIDiaL dialing this will recheck for +### calls to see if the channel has updated +################################################################################ +if ($ACTION == 'VDADREcheckINCOMING') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Campaña $campaign No es válido\n"; + echo "lead_id $lead_id No es válido\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + } + } +} + + +################################################################################ +### VDADcheckINCOMING - for auto-dial VICIDiaL dialing this will check for calls +### in the vicidial_live_agents table in QUEUE status, then +### lookup the lead info and pass it back to vicidial.php +################################################################################ +if ($ACTION == 'VDADcheckINCOMING') +{ + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Campaña $campaign No es válido\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and status='QUEUE';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',comments='AUTO',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = trim("$row[29]"); + $called_count = trim("$row[30]"); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + $stmt = "UPDATE vicidial_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select campaign_id,phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group =$row[0]; + $dialed_number =$row[1]; + $dialed_label =$row[2]; + } + else + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|\n"); + fclose($fp); + } + } + + $stmt = "select count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + + $stmt = "select * from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[1]; + $VDCL_group_color = $row[2]; + $VDCL_group_web = $row[4]; + $VDCL_fronter_display = $row[7]; + $VDCL_ingroup_script = $row[8]; + $VDCL_get_call_launch = $row[9]; + $VDCL_xferconf_a_dtmf = $row[10]; + $VDCL_xferconf_a_number = $row[11]; + $VDCL_xferconf_b_dtmf = $row[12]; + $VDCL_xferconf_b_number = $row[13]; + $VDCL_default_xfer_group= $row[28]; + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set comments='INBOUND' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $Ctype = 'I'; + } + else + { + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + } + } + + ### if web form is set then send en to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|\n";} + else {echo "|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + } + else + { + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_campaign_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + } + echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|\n|\n"; + + $stmt = "select phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dialed_number =$row[0]; + $dialed_label =$row[1]; + } + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + ### If LLAMADABK, change vicidial_callback record to INACTIVE + if (eregi("CALLBK|CBHOLD", $dispo)) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype\n"); + fclose($fp); + } + + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user en $server_ip\n"; + exit; + } + } +} + + +################################################################################ +### userLOGout - Logs the user out of VICIDiaL client, deleting db records and +### inserting into vicidial_user_log +################################################################################ +if ($ACTION == 'userLOGout') +{ + $MT[0]=''; + $row=''; $rowx=''; +if ( (strlen($campaign)<1) || (strlen($conf_exten)<1) ) + { + echo "NO\n"; + echo "campaign $campaign or conf_exten $conf_exten No es válido\n"; + exit; + } +else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### Insert a SALIR record into the user log + $stmt="INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$user','SALIR','$campaign','$NOW_TIME','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vul_insert = mysql_affected_rows($link); + + if ($no_delete_sessions < 1) + { + ##### Remove the reservation en the vicidial_conferences meetme room + $stmt="UPDATE vicidial_conferences set extension='' where server_ip='$server_ip' and conf_exten='$conf_exten';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vc_remove = mysql_affected_rows($link); + } + + ##### Delete the vicidial_live_agents record for this session + $stmt="DELETE from vicidial_live_agents where server_ip='$server_ip' and user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vla_delete = mysql_affected_rows($link); + + ##### Delete the vicidial_live_inbound_agents records for this session + $stmt="DELETE from vicidial_live_inbound_agents where user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vlia_delete = mysql_affected_rows($link); + + ##### Delete the web_client_sessions + $stmt="DELETE from web_client_sessions where server_ip='$server_ip' and session_name ='$session_name';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $wcs_delete = mysql_affected_rows($link); + + ##### Hangup the client phone + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$extension%\" order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) + { + $row=mysql_fetch_row($rslt); + $agent_channel = "$row[0]"; + if ($format=='debug') {echo "\n";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','ULGH3459$StarTtime','Channel: $agent_channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) + { + $row=mysql_fetch_row($rslt); + $pause_sec = (($StarTtime - $row[0]) + $row[1]); + + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + if ($vla_delete > 0) + { + ############################################# + ##### COMIENZO QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_message = 'LOGGED OUT'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='PAUSA',serverid='1';"; + # if ($DB) {echo "$stmt\n";} + # if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + # $rslt=mysql_query($stmt, $linkB); + # $affected_rows = mysql_affected_rows($linkB); + + $stmt = "SELECT time_id FROM queue_log where agent='Agent/$user' and verb='AGENTLOGIN' order by time_id desc limit 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + if ($DB) {echo "$stmt\n";} + echo "$stmt\n"; + $li_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $li_conf_ct) + { + $row=mysql_fetch_row($rslt); + $logintime = $row[0]; + $i++; + } + + $time_logged_in = ($StarTtime - $logintime); + if ($time_logged_in > 1000000) {$time_logged_in=1;} + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='AGENTLOGOFF',data1='$user$agents',data2='$time_logged_in',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + echo "$vul_insert|$vc_remove|$vla_delete|$wcs_delete|$agent_channel|$vlia_delete\n"; + } +} + + +################################################################################ +### updateDISPO - update the vicidial_list table to reflect the agent choice of +### call disposition for that leand +################################################################################ +if ($ACTION == 'updateDISPO') +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($dispo_choice)<1) || (strlen($lead_id)<1) ) + { + echo "Dispo Choice $dispo or lead_id $lead_id No es válido\n"; + exit; + } + else + { + $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by uniqueid desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + if ( ($use_internal_dnc=='Y') and ($dispo_choice=='DNC') ) + { + $stmt = "select phone_number from vicidial_list where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $stmt="INSERT INTO vicidial_dnc (phone_number) values('$row[0]');"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + } + } + + $dispo_sec=0; + $StarTtime = date("U"); + $stmt = "select dispo_epoch,dispo_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dispo_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set dispo_sec='$dispo_sec',dispo_epoch='$StarTtime',status='$dispo_choice' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group) values('$user','$server_ip','$NOW_TIME','$campaign','$StarTtime','0','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + + ### LLAMADABACK ENTRY + if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) + { + $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$row[0])) ) + { + $stmt = "select count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE vicidial_hopper set status='READY' where lead_id='$lead_id' and status='HOLD' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + $stmt="DELETE from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + ############################################# + ##### COMIENZO QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='CALLESTADO',data1='$dispo_choice',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + echo 'Lead ' . $lead_id . ' se ha cambiado a ' . $dispo_choice . " Estado\nNext agent_log_id:\n" . $agent_log_id . "\n"; +} + +################################################################################ +### updateLEAD - update the vicidial_list table to reflect the values that are +### in the agents screen at time of call hangup +################################################################################ +if ($ACTION == 'updateLEAD') +{ + $MT[0]=''; + $row=''; $rowx=''; + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + if ( (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + echo "phone_number $phone_number or lead_id $lead_id No es válido\n"; + exit; + } + else + { + + $stmt = "SELECT disable_alter_custdata FROM vicidial_campaigns where campaign_id='$campaign'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $dac_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $dac_conf_ct) + { + $row=mysql_fetch_row($rslt); + $disable_alter_custdata = $row[0]; + $i++; + } + if (ereg('Y',$disable_alter_custdata)) + { + $DO_NOT_UPDATE=1; + $DO_NOT_UPDATE_text=' NOT'; + $stmt = "SELECT alter_custdata_override FROM vicidial_users where user='$user'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $aco_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $aco_conf_ct) + { + $row=mysql_fetch_row($rslt); + $alter_custdata_override = $row[0]; + $i++; + } + if (ereg('ALLOW_ALTER',$alter_custdata_override)) + { + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + } + } + + if ($DO_NOT_UPDATE < 1) + { + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + $comments = eregi_replace("--AMP--",'&',$comments); + $comments = eregi_replace("--QUES--",'?',$comments); + $comments = eregi_replace("--POUND--",'#',$comments); + + $stmt="UPDATE vicidial_list set vendor_lead_code='" . mysql_real_escape_string($vendor_lead_code) . "', title='" . mysql_real_escape_string($title) . "', first_name='" . mysql_real_escape_string($first_name) . "', middle_initial='" . mysql_real_escape_string($middle_initial) . "', last_name='" . mysql_real_escape_string($last_name) . "', address1='" . mysql_real_escape_string($address1) . "', address2='" . mysql_real_escape_string($address2) . "', address3='" . mysql_real_escape_string($address3) . "', city='" . mysql_real_escape_string($city) . "', state='" . mysql_real_escape_string($state) . "', province='" . mysql_real_escape_string($province) . "', postal_code='" . mysql_real_escape_string($postal_code) . "', country_code='" . mysql_real_escape_string($country_code) . "', gender='" . mysql_real_escape_string($gender) . "', date_of_birth='" . mysql_real_escape_string($date_of_birth) . "', alt_phone='" . mysql_real_escape_string($alt_phone) . "', email='" . mysql_real_escape_string($email) . "', security_phrase='" . mysql_real_escape_string($security_phrase) . "', comments='" . mysql_real_escape_string($comments) . "' where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } + echo "Lead $lead_id information has$DO_NOT_UPDATE_text been updated\n"; +} + + +################################################################################ +### VDADpause - update the vicidial_live_agents table to show that the agent is +### or ready now active and ready to take calls +################################################################################ +if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($stage)<2) || (strlen($server_ip)<1) ) + { + echo "stage $stage No es válido\n"; + exit; + } + else + { + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set lead_id='',uniqueid=0,callerid='',channel='', random_id='$random',comments='' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_live_agents set status='$stage' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### COMIENZO QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + if (ereg('READY',$stage)) {$QMstatus='UNPAUSEALL';} + if (ereg('PAUSA',$stage)) {$QMstatus='PAUSAALL';} + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='$QMstatus',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + if ($agent_log == 'NO') + {$donothing=1;} + else + { + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,wait_sec,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec=0; + if ($row[2] > 0) + { + $wait_sec = (($StarTtime - $row[2]) + $row[3]); + } + if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} + else + {$pause_sec = (($row[4] - $row[0]) + $row[1]);} + + } + if ($ACTION == 'VDADready') + { + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + if ($ACTION == 'VDADpause') + { + $stmt="UPDATE vicidial_agent_log set pause_epoch='$StarTtime',wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + echo 'Agent ' . $user . ' ahora está en estado ' . $stage . "\n"; +} + + +################################################################################ +### UpdatEFavoritEs - update the astguiclient favorites list for this extension +################################################################################ +if ($ACTION == 'UpdatEFavoritEs') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($favorites_list)<1) || (strlen($user)<1) || (strlen($exten)<1) ) + { + echo "favorites list $favorites_list No es válido\n"; + exit; + } + else + { + $stmt = "select count(*) from phone_favorites where extension='$exten' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE phone_favorites set extensions_list=\"$favorites_list\" where extension='$exten' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO phone_favorites values('$exten','$server_ip',\"$favorites_list\");"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + echo "Favorites list has been updated to $favorites_list for $exten\n"; +} + + +################################################################################ +### PauseCodeSubmit - Update vicidial_agent_log with pause code +################################################################################ +if ($ACTION == 'PausaCodeSubmit') +{ + $row=''; $rowx=''; + if ( (strlen($status)<1) || (strlen($agent_log_id)<1) ) + { + echo "agent_log_id $agent_log_id or pause_code $status No es válido\n"; + exit; + } + else + { + $stmt="UPDATE vicidial_agent_log set sub_status=\"$status\" where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### COMIENZO QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'BK-'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='PAUSAREASON',serverid='$queuemetrics_log_id',data1='$status';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } +echo "Pausa Code has been updated to $status for $agent_log_id\n"; +} + + +################################################################################ +### CalLBacKLisT - List the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKLisT') +{ +$stmt = "select callback_id,lead_id,campaign_id,status,entry_time,callback_time,comments from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD') order by callback_time;"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); +if ($rslt) {$callbacks_count = mysql_num_rows($rslt);} +echo "$callbacks_count\n"; +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $row=mysql_fetch_row($rslt); + $callback_id[$loop_count] = $row[0]; + $lead_id[$loop_count] = $row[1]; + $campaign_id[$loop_count] = $row[2]; + $status[$loop_count] = $row[3]; + $entry_time[$loop_count] = $row[4]; + $callback_time[$loop_count] = $row[5]; + $comments[$loop_count] = $row[6]; + $loop_count++; + } +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $stmt = "select first_name,last_name,phone_number from vicidial_list where lead_id='$lead_id[$loop_count]';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + echo "$row[0] ~$row[1] ~$row[2] ~$callback_id[$loop_count] ~$lead_id[$loop_count] ~$campaign_id[$loop_count] ~$status[$loop_count] ~$entry_time[$loop_count] ~$callback_time[$loop_count] ~$comments[$loop_count]\n"; + $loop_count++; + } + +} + + +################################################################################ +### CalLBacKCounT - send the count of the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKCounT') +{ +$stmt = "select count(*) from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD');"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$cbcount=$row[0]; + +echo "$cbcount"; +} + + + + +if ($format=='debug') +{ +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +echo "\n"; +echo "\n\n\n"; +} + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/vicidial.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/vicidial.php new file mode 100644 index 00000000..b7272b81 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/vicidial.php @@ -0,0 +1,6797 @@ + LICENSE: GPLv2 +# +# make sure you have added a user to the vicidial_users MySQL table with at least +# user_level 1 or greater to access this page. Also, you need to have the login +# and pass of a phone listed in the asterisk.phones table. The page grabs the +# server info and other details from this login and pass. +# +# This script works best with Firefox or Mozilla, but will run for a couple +# hours on Internet Explorer before the memory leaks cause a crash. +# +# Other scripts that this application depends on: +# - vdc_db_query.php: Updates information in the database +# - manager_send.php: Sends manager actions to the DB for execution +# +# CHANGELOG +# 50607-1426 - First Build of VICIDIAL web client basic login process finished +# 50628-1620 - Added some basic formatting and worked on process flow +# 50628-1715 - Startup variables mapped to javascript variables +# 50629-1303 - Added Login Closer in-groups selection box and vla update +# 50629-1530 - Rough layout for customer info form section and button links +# 50630-1453 - Rough Manual Dial/Hangup with customer info displayed +# 50701-1450 - Added vicidial_log entries on dial and hangup +# 50701-1634 - Added Logout function +# 50705-1259 - Added call disposition functionality +# 50705-1432 - Added lead info DB update function +# 50705-1658 - Added web form functionality +# 50706-1043 - Added call park and pickup functions +# 50706-1234 - Added Start/Stop Recording functionality +# 50706-1614 - Added conference channels display option +# 50711-1333 - Removed call check redundancy and fixed a span bug +# 50727-1424 - Added customer channel and participant present sensing/alerts +# 50804-1057 - Added SendDTMF function and reconfigured the transfer span +# 50804-1224 - Added Local and Internal Closer transfer functions +# 50804-1628 - Added Blind transfer, activated LIVE CALL image and fixed bugs +# 50804-1808 - Added button images for left buttons +# 50815-1151 - Added 3Way calling functions to Transfer-conf frame +# 50815-1602 - Added images and buttons for xfer functions +# 50816-1813 - Added basic autodial outbound call pickup functions +# 50817-1113 - Fixes to auto_dialing call receipt +# 50817-1234 - Added inbound call receipt capability +# 50817-1541 - Added customer time display +# 50817-1541 - Added customer time display +# 50818-1327 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1703 - Added pretty login section +# 50825-1200 - Modified form field lengths, added double-click dispositions +# 50831-1603 - Fixed customer time bug and fronter display bug for CLOSER +# 50901-1314 - Fixed CLOSER IN-GROUP Web Form bug +# 50903-0904 - Added preview-lead code for manual dialing +# 50904-0016 - Added ability to hangup manual dials before pickup +# 50906-1319 - Added override for filters on xfer calls, fixed login display bug +# 50909-1243 - Added hotkeys functionality for quick dispoing in auto-dial mode +# 50912-0958 - Modified hotkeys function, agent must have user_level >= 5 to use +# 50913-1212 - Added campaign_cid to 3rd party calls +# 50923-1546 - Modified to work with language translation +# 50926-1656 - Added campaign pull-down at login of active campaigns +# 50928-1633 - Added manual dial alternate number dial option +# 50930-1538 - Added session_id empty login failure and fixed 2 minor bugs +# 51004-1656 - Fixed recording filename bug and new Spanish translation +# 51020-1103 - Added campaign-specific recording control abilities +# 51020-1352 - Added Basic vicidial_agent_log framework +# 51021-1050 - Fixed custtime display and disable Enter/Return keypresses +# 51021-1718 - Allows for multi-line comments (changes \n to !N in database) +# 51110-1432 - Fixed non-standard http port issue +# 51111-1047 - Added vicidial_agent_log lead_id earlier for manual dial +# 51118-1305 - Activate multi-line comments from $multi_line_comments var +# 51118-1313 - Move Transfer DIV to a floating span to preserve 800x600 view +# 51121-1506 - Small PHP optimizations in many scripts and disabled globalize +# 51129-1010 - Added ability to accept calls from other VICIDIAL servers +# 51129-1254 - Fixed Hangups of other agents channels when customer hangs up +# 51208-1732 - Created user-first login that looks for default phone info +# 51219-1526 - Added variable framework for campaign and in-group scripts +# 51221-1200 - Added SCRIPT tab, layout and functionality +# 51221-1714 - Added auto-switch-to-SCRIPT-tab and auto-webform-popup +# 51222-1605 - Added VMail message blind transfer button to xfer-conf frame +# 51229-1028 - Added checks on web_form_address to allow for var in the DB value +# 60117-1312 - Added Transfer-conf frame toggle on button press +# 60208-1152 - Added DTMF-xfernumber preset links to xfer-conf frame +# 60213-1129 - Added vicidial_users.hotkeys_active for any user hotkeys +# 60213-1210 - Added ability to sort routing of calls by user_level +# 60214-0932 - Initial Callback calendar display framework +# 60214-1407 - Added ability to minimize the dispo screen to see info below +# 60215-1104 - Added ANYONE scheduled callbacks functionality +# 60410-1116 - Added persistant pause after dispo option and change dispo text +# - Added web form submit that opens new window with dispo on submit +# - Added PREVIOUS CALLBACK in customer info to flag callbacks +# - Added link to try to hangup the call again in the dispo screen +# - Added link noone-in-session screen to call agent phone again +# - Added link customer-hungup screen to go straight to dispo screen +# 60410-1532 - Added agent status and campaign calls dialing display option +# 60411-1547 - Add ability to set callback as USERONLY and some basic formatting +# 60413-1752 - Add basic USERONLY callback frame and listings +# 60414-1039 - Changed manual dial preview and alt dial checkboxes to spans +# - Added beta-level USERONLY callback functionality +# - Added beta-level manual dialing with lead insertion functionality +# 60415-1534 - Fixed manual dial lead preview and fixed manuald dial override bug +# 60417-1108 - Added capability to do alt-number-dialing in auto-dial mode +# - Changed several permissions to database-defined +# 60419-1529 - Prevent manual dial or callbacks when alt-dial lead not finished +# 60420-1647 - Fixed DiaLDiaLAltPhonE error, Call Agent Again DialControl error +# 60421-1229 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60424-1005 - Fixed Alt phone disabled bug for callbacks and manual dials +# 60426-1058 - Added vicidial_user setting for default blended check for CLOSER +# 60501-1008 - Added option to manual dial screen to manually lookup phone number +# 60503-1653 - Fixed agentonly_callback not-defined bug in scheduled callbacks screen +# 60504-1032 - Fixed manual dial display bug and transfer dispo alert bug +# - Fixed recording filename display to not overrun 25 characters +# 60510-1051 - Added Wrapup timer and wrapup message on wrapup screen after dispo +# 60608-1453 - Added CLOSER campaign allowable in-groups limitations +# 60609-1123 - Added add-number-to-DNC-list function and manual dial check DNC +# 60619-1047 - Added variable filters to close security holes for login form +# 60804-1710 - fixed scheduled CALLBK for other languages build +# 60808-1145 - Added consultative transfers with customer data +# 60808-2232 - Added campaign name to pulldown for login screen +# 60809-1603 - Added option to locally transfer consult xfers +# 60809-1732 - Added recheck of transferred channels before customer gone mesg +# 60810-1011 - Fixed CXFER leave 3way call bugs +# 60816-1602 - Added ALLCALLS recording delay option allcalls_delay +# 60816-1716 - Fixed customer time display bug and client DST setting +# 60821-1555 - Added option to omit phone_code on dialout of leads +# 60821-1628 - Added ALLFORCE recording option +# 60821-1643 - Added no_delete_sessions option to not delete sessions +# 60822-0512 - Changed phone number fields to be maxlength of 12 +# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# 60906-1152 - Added Previous CallBack info display span +# 60906-1715 - Allow for Local phone extension conferences +# 61004-1729 - Add ability to control volume per channel in "calls in this session" +# 61122-1341 - Added vicidial_user_groups allowed_campaigns restrictions +# 61122-1523 - Added more SCRIPT variables +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61221-1212 - Changed width to 760 to better fit 800x600 screens, widened SCRIPT +# 70109-1128 - Fixed wrapup timer bug +# 70109-1635 - Added option for HotKeys automatically dialing next number in manual mode +# - Added option for alternate number dialing with hotkeys +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70118-1517 - Added vicidial_agent_log and vicidial_user_log logging of user_group +# 70201-1249 - Added FAST DIAL option for manually dialing, added UTF8 compatible code +# 70201-1703 - Fixed cursor bug for most text input fields +# 70202-1453 - Added first portions of Agent Pause Codes +# 70203-0108 - Finished Agent Pause Codes functionality +# 70203-0930 - Added dialed_number to webform output +# 70203-1010 - Added dialed_label to webform output +# 70206-1201 - Fixed allow_closers bug +# 70206-1332 - Added vicidial_recording_override users setting function +# 70212-1252 - Fixed small issue with CXFER +# 70213-1018 - Changed CXFER and AXFER to update customer information before transfer +# 70214-1233 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1240 - Added queuemetrics_log_id field for server_id in queue_log +# 70222-1617 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70226-1252 - Added Mute/UnMute to agent screen +# 70309-1035 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70316-1406 - Moved the MUTE button to be accessible during a transfer/conf +# 70319-1446 - Added agent-deactive-display and disable customer info update functions +# 70319-1626 - Added option to allow agent logins to campaigns with no leads in the hopper +# 70320-1501 - Added option to allow retry of leave-3way-call from dispo screen +# 70322-1545 - Added sipsak display ability +# 70510-1319 - Added onUnload force Logout +# 70806-1530 - Added Presets Dial links above agent mute button +# 70823-2118 - Fixed XMLHTTPRequest, HotKeys and Scheduled Callbacks issues with MSIE +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71022-1427 - Added formatting of the customer phone number in the main status bar +# 71029-1848 - Changed CLOSER-type campaign to not use campaign_id restrictions +# 71101-1204 - Fixed bug in callback calendar with DST +# 71116-0957 - Added campaign_weight and calls_today to the vla table insertion +# 71120-1719 - Added XMLHTPRequest lookup of allowable campaigns for agents during login +# 71122-0256 - Added auto-pause notification +# 71125-1751 - Changed Transfer section to allow for selection of in-groups to send calls to +# 71127-0408 - Added height and width settings for easier modification of screen size +# 71129-2025 - restricted callbacks count and list to campaign only +# + +$version = '2.0.4-142'; +$build = '71129-2025'; + +require("dbconnect.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["VD_login"])) {$VD_login=$_GET["VD_login"];} + elseif (isset($_POST["VD_login"])) {$VD_login=$_POST["VD_login"];} +if (isset($_GET["VD_pass"])) {$VD_pass=$_GET["VD_pass"];} + elseif (isset($_POST["VD_pass"])) {$VD_pass=$_POST["VD_pass"];} +if (isset($_GET["VD_campaign"])) {$VD_campaign=$_GET["VD_campaign"];} + elseif (isset($_POST["VD_campaign"])) {$VD_campaign=$_POST["VD_campaign"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + if (isset($VD_campaign)) + { + $VD_campaign = strtoupper($VD_campaign); + $VD_campaign = eregi_replace(" ",'',$VD_campaign); + } + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); + $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); + $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); + + +$forever_stop=0; + +if ($force_logout) +{ + echo "Usted ahora ha registrado hacia fuera. Gracias\n"; + exit; +} + +$isdst = date("I"); +$StarTtimE = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$tsNOW_TIME = date("YmdHis"); +$FILE_TIME = date("Ymd-His"); +$CIDdate = date("ymdHis"); + $month_old = mktime(11, 0, 0, date("m"), date("d")-2, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + + +$random = (rand(1000000, 9999999) + 10000000); + +$conf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently +$HKuser_level = '5'; # minimum vicidial user_level for HotKeys +$campaign_login_list = '1'; # show drop-down list of campaigns at login +$manual_dial_preview = '1'; # allow preview lead option when manual dial +$multi_line_comments = '1'; # set to 1 to allow multi-line comment box +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the phone login +$view_scripts = '1'; # set to 1 to show the SCRIPTS tab +$dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo +$agentcallsstatus = '0'; # set to 1 to show agent status and call count + $campagentstatctmax = '0'; # Number of segundos for campaign call and agent stats +$show_campname_pulldown = '1'; # set to 1 to show campaign name en login pulldown +$webform_sessionname = '1'; # set to 1 to include the session_name in webform URL +$local_consult_xfers = '1'; # set to 1 to send consultative transfers from original server +$clientDST = '1'; # set to 1 to check for DST en server for agent time +$no_delete_sessions = '0'; # set to 1 to not delete sessions at logout +$volumecontrol_active = '1'; # set to 1 to allow agents to alter volume of channels +$PreseT_DiaL_LinKs = '1'; # set to 1 to show a DIAL link for Dial Presets +$LogiNAJAX = '1'; # set to 1 to do lookups +$HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from "session calls" + +$TEST_all_statuses = '0'; # TEST variable allows all statuses in dispo screen + +$BROWSER_HEIGHT = 500; # set to the minimum browser height, default=500 +$BROWSER_WIDTH = 770; # set to the minimum browser width, default=770 + + +# options now set in DB: +#$alt_phone_dialing = '1'; # allow agents to call alt phone numbers +#$scheduled_callbacks = '1'; # set to 1 to allow agent to choose scheduled callbacks +# $agentonly_callbacks = '1'; # set to 1 to allow agent to choose agent-only scheduled callbacks +#$agentcall_manual = '1'; # set to 1 to allow agent to make manual calls during autodial session + +### SCREEN WIDTH AND HEIGHT CALCULATIONS ### +### DO NOT EDIT! ### +$MASTERwidth=($BROWSER_WIDTH - 340); +$MASTERheight=($BROWSER_HEIGHT - 200); +if ($MASTERwidth < 430) {$MASTERwidth = '430';} +if ($MASTERheight < 300) {$MASTERheight = '300';} + +$CAwidth = ($MASTERwidth + 340); # 770 - cover all (none-in-session, customer hunngup, etc...) +$MNwidth = ($MASTERwidth + 330); # 760 - main frame +$XFwidth = ($MASTERwidth + 320); # 750 - transfer/conference +$HCwidth = ($MASTERwidth + 310); # 740 - hotkeys and callbacks +$AMwidth = ($MASTERwidth + 270); # 700 - agent mute and preset-dial links +$SSwidth = ($MASTERwidth + 176); # 606 - scroll script +$SDwidth = ($MASTERwidth + 170); # 600 - scroll script, customer data and calls-in-session +$HKwidth = ($MASTERwidth + 70); # 500 - Hotkeys button +$HSwidth = ($MASTERwidth + 1); # 431 - Header spacer + +$HKheight = ($MASTERheight + 105); # 405 - HotKey active Button +$AMheight = ($MASTERheight + 100); # 400 - Agent mute and preset dial links +$MBheight = ($MASTERheight + 65); # 365 - Manual Dial Buttons +$CBheight = ($MASTERheight + 50); # 350 - Agent Callback, pause code, volume control Buttons and agent status +$SSheight = ($MASTERheight + 31); # 331 - script content +$HTheight = ($MASTERheight + 10); # 310 - transfer frame, callback comments and hotkey +$BPheight = ($MASTERheight - 250); # 50 - bottom buffer + + +$US='_'; +$CL=':'; +$AT='@'; +$DS='-'; +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = eregi_replace('vicidial.php','',$agcPAGE); + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ($campaign_login_list > 0) +{ +$camp_form_code = "\n"; +} +else +{ +$camp_form_code = "\n"; +} + + +if ($LogiNAJAX > 0) +{ +?> + + + +web client VICIDIAL: Conexión Otra Vez\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Español
\n"; +echo "
\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Conexión Otra Vez
 
Conexión Del Teléfono:
Contraseña Del Teléfono:
Conexión Del Usuario:
Contraseña Del Usuario:
Campaña: $camp_form_code

VERSIÓN: $version       CONSTRUCCION: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} + +if ($user_login_first == 1) +{ + if ( (strlen($VD_login)<1) or (strlen($VD_pass)<1) or (strlen($VD_campaign)<1) ) + { + echo "web client VICIDIAL: Conexión en la Campaña\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Español
\n"; + echo "
\n"; + echo "\n"; + #echo "\n"; + #echo "\n"; + echo "

Conexión Del Usuario

"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Conexión en la Campaña
 
Conexión Del Usuario:
Contraseña Del Usuario:
Campaña: $camp_form_code
  \n"; + echo "

VERSIÓN: $version       CONSTRUCCION: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + echo "web client VICIDIAL: Conexión\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Español
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Conexión
 
Conexión Del Teléfono:
Contraseña Del Teléfono:
Conexión Del Usuario:
Contraseña Del Usuario:
Campaña: $camp_form_code
  \n"; + echo "

VERSIÓN: $version       CONSTRUCCION: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + + } + } +} + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "web client VICIDIAL: Conexión Del Teléfono\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Español
\n"; +echo "
\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Conexión Del Teléfono
 
Conexión Del Teléfono:
Contraseña Del Teléfono:
  \n"; +echo "

VERSIÓN: $version       CONSTRUCCION: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./vicidial_auth_entries.txt", "a");} +$VDloginDISPLAY=0; + + if ( (strlen($VD_login)<2) or (strlen($VD_pass)<2) or (strlen($VD_campaign)<2) ) + { + $VDloginDISPLAY=1; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if($auth>0) + { + $login=strtoupper($VD_login); + $password=strtoupper($VD_pass); + ##### grab the full name of the agent + $stmt="SELECT full_name,user_level,hotkeys_active,agent_choose_ingroups,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,closer_default_blended,user_group,vicidial_recording_override from vicidial_users where user='$VD_login' and pass='$VD_pass'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $user_level=$row[1]; + $VU_hotkeys_active=$row[2]; + $VU_agent_choose_ingroups=$row[3]; + $VU_scheduled_callbacks=$row[4]; + $agentonly_callbacks=$row[5]; + $agentcall_manual=$row[6]; + $VU_vicidial_recording=$row[7]; + $VU_vicidial_transfers=$row[8]; + $VU_closer_default_blended=$row[9]; + $VU_user_group=$row[10]; + $VU_vicidial_recording_override=$row[11]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|GOOD|$date|$VD_login|$VD_pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + $user_abb = "$VD_login$VD_login$VD_login$VD_login"; + while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns =$row[0]; + + if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) + { + echo "web client VICIDIAL: VICIDIAL Conexión en la Campaña\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Español
\n"; + echo "Sorry, you are not allowed to login to this campaign: $VD_campaign\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Conexión: \n
"; + echo "Contraseña:
\n"; + echo "Campaña: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + ##### check to see that the campaign is active + $stmt="SELECT count(*) FROM vicidial_campaigns where campaign_id='$VD_campaign' and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $CAMPactive=$row[0]; + if($CAMPactive>0) + { + if ($TEST_all_statuses > 0) {$selectableSQL = '';} + else {$selectableSQL = "selectable='Y' and";} + $VARstatuses=''; + $VARstatusnames=''; + ##### grab the statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_statuses WHERE $selectableSQL status != 'NEW' order by status limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_statuses_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $VD_statuses_ct) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + } + + ##### grab the campaign-specific statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_campaign_statuses WHERE $selectableSQL status != 'NEW' and campaign_id='$VD_campaign' order by status limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_statuses_camp = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + $j++; + } + $VD_statuses_ct = ($VD_statuses_ct+$VD_statuses_camp); + $VARstatuses = substr("$VARstatuses", 0, -1); + $VARstatusnames = substr("$VARstatusnames", 0, -1); + + ##### grab the campaign-specific HotKey statuses that can be used for dispositioning by an agent + $stmt="SELECT hotkey,status,status_name FROM vicidial_campaign_hotkeys WHERE selectable='Y' and status != 'NEW' and campaign_id='$VD_campaign' order by hotkey limit 9;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $HK_statuses_camp = mysql_num_rows($rslt); + $w=0; + $HKboxA=''; + $HKboxB=''; + $HKboxC=''; + while ($w < $HK_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $HKhotkey[$w] =$row[0]; + $HKstatus[$w] =$row[1]; + $HKstatus_name[$w] =$row[2]; + $HKhotkeys = "$HKhotkeys'$HKhotkey[$w]',"; + $HKstatuses = "$HKstatuses'$HKstatus[$w]',"; + $HKstatusnames = "$HKstatusnames'$HKstatus_name[$w]',"; + if ($w < 3) + {$HKboxA = "$HKboxA $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + if ( ($w >= 3) and ($w < 6) ) + {$HKboxB = "$HKboxB $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + if ($w >= 6) + {$HKboxC = "$HKboxC $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + $w++; + } + $HKhotkeys = substr("$HKhotkeys", 0, -1); + $HKstatuses = substr("$HKstatuses", 0, -1); + $HKstatusnames = substr("$HKstatusnames", 0, -1); + + ##### grab the statuses to be dialed for your campaign as well as other campaign settings + $stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups FROM vicidial_campaigns where campaign_id = '$VD_campaign';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $park_ext = $row[0]; + $park_file_name = $row[1]; + $web_form_address = $row[2]; + $allow_closers = $row[3]; + $auto_dial_level = $row[4]; + $dial_timeout = $row[5]; + $dial_prefix = $row[6]; + $campaign_cid = $row[7]; + $campaign_vdad_exten = $row[8]; + $campaign_rec_exten = $row[9]; + $campaign_recording = $row[10]; + $campaign_rec_filename = $row[11]; + $campaign_script = $row[12]; + $get_call_launch = $row[13]; + $campaign_am_message_exten = $row[14]; + $xferconf_a_dtmf = $row[15]; + $xferconf_a_number = $row[16]; + $xferconf_b_dtmf = $row[17]; + $xferconf_b_number = $row[18]; + $alt_number_dialing = $row[19]; + $VC_scheduled_callbacks = $row[20]; + $wrapup_segundos = $row[21]; + $wrapup_message = $row[22]; + $closer_campaigns = $row[23]; + $use_internal_dnc = $row[24]; + $allcalls_delay = $row[25]; + $omit_phone_code = $row[26]; + $agent_pause_codes_active = $row[27]; + $no_hopper_leads_logins = $row[28]; + $campaign_allow_inbound = $row[29]; + $manual_dial_list_id = $row[30]; + $default_xfer_group = $row[31]; + $xfer_groups = $row[32]; + + if ( (!ereg('DISABLED',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) + { + $campaign_recording = $VU_vicidial_recording_override; + print "\n"; + } + if ( ($VC_scheduled_callbacks=='Y') and ($VU_scheduled_callbacks=='1') ) + {$scheduled_callbacks='1';} + if ($VU_vicidial_recording=='0') + {$campaign_recording='NEVER';} + if ($alt_number_dialing=='Y') + {$alt_phone_dialing='1';} + else + {$alt_phone_dialing='0';} + $closer_campaigns = preg_replace("/^ | -$/","",$closer_campaigns); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + if ($agent_pause_codes_active=='Y') + { + ##### grab the pause codes for this campaign + $stmt="SELECT pause_code,pause_code_name FROM vicidial_pause_codes WHERE campaign_id='$VD_campaign' order by pause_code limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_pause_codes = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_pause_codes) + { + $row=mysql_fetch_row($rslt); + $pause_codes[$i] =$row[0]; + $pause_code_names[$i] =$row[1]; + $VARpause_codes = "$VARpause_codes'$pause_codes[$i]',"; + $VARpause_code_names = "$VARpause_code_names'$pause_code_names[$i]',"; + $i++; + $j++; + } + $VD_pause_codes_ct = ($VD_pause_codes_ct+$VD_pause_codes); + $VARpause_codes = substr("$VARpause_codes", 0, -1); + $VARpause_code_names = substr("$VARpause_code_names", 0, -1); + } + + ##### grab the inbound groups to choose from if campaign contains CLOSER + $VARingroups="''"; + if ($campaign_allow_inbound == 'Y') + { + $VARingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 60;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $closer_ct = mysql_num_rows($rslt); + $INgrpCT=0; + while ($INgrpCT < $closer_ct) + { + $row=mysql_fetch_row($rslt); + $closer_groups[$INgrpCT] =$row[0]; + $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $INgrpCT++; + } + $VARingroups = substr("$VARingroups", 0, -1); + } + + ##### grab the allowable inbound groups to choose from for transfer options + $xfer_groups = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groups = preg_replace("/ /","','",$xfer_groups); + $xfer_groups = "'$xfer_groups'"; + $VARxfergroups="''"; + if ($allow_closers == 'Y') + { + $VARxfergroups=''; + $stmt="select group_id,group_name from vicidial_inbound_groups where active = 'Y' and group_id IN($xfer_groups) order by group_id limit 60;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $xfer_ct = mysql_num_rows($rslt); + $XFgrpCT=0; + while ($XFgrpCT < $xfer_ct) + { + $row=mysql_fetch_row($rslt); + $VARxfergroups = "$VARxfergroups'$row[0]',"; + $VARxfergroupsnames = "$VARxfergroupsnames'$row[1]',"; + if ($row[0] == "$default_xfer_group") {$default_xfer_group_name = $row[1];} + $XFgrpCT++; + } + $VARxfergroups = substr("$VARxfergroups", 0, -1); + $VARxfergroupsnames = substr("$VARxfergroupsnames", 0, -1); + } + + ##### grab the number of leads in the hopper for this campaign + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id = '$VD_campaign' and status='READY';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $campaign_leads_to_call = $row[0]; + print "\n"; + + } + else + { + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "La campaña no está activa, intentelo otra vez, por favor
"; + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|FAIL|$date|$VD_login|$VD_pass|$ip|$browser|\n"); + fclose($fp); + } + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "La conexión incorrecta, intentelo otra vez, por favor
"; + } + } + if ($VDloginDISPLAY) + { + echo "web client VICIDIAL: Conexión en la Campaña\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Español
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

$VDdisplayMESSAGE

"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Conexión en la Campaña
 
Conexión Del Usuario:
Contraseña Del Usuario:
Campaña: $camp_form_code
  \n"; + echo "

VERSIÓN: $version       CONSTRUCCION: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + +$authphone=0; +$stmt="SELECT count(*) from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "web client VICIDIAL: Conexión Del Teléfono Error\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Español
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Conexión Error
 
Disculpe, la conexión del teléfono y contraseña no están activos en este sistema, intentelo otra vez por favor:
 
Conexión Del Teléfono:
Contraseña Del Teléfono:

VERSIÓN: $version       CONSTRUCCION: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { + echo "web client VICIDIAL\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $login=$row[6]; + $pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $LlamadorID_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $enable_sipsak_messages=$row[66]; + + if ($clientDST) + { + $local_gmt = ($local_gmt + $isdst); + } + if ($protocol == 'EXTERNAL') + { + $protocol = 'Local'; + $extension = "$dialplan_number$AT$ext_context"; + } + $SIP_user = "$protocol/$extension"; + + $stmt="SELECT asterisk_version from servers where server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $asterisk_version=$row[0]; + + # If a park extension is not set, use the default one + if ( (strlen($park_ext)>0) && (strlen($park_file_name)>0) ) + { + $VICIDiaL_park_on_extension = "$park_ext"; + $VICIDiaL_park_on_filename = "$park_file_name"; + print "\n"; + } + print "\n"; + + # If a web form address is not set, use the default one + if (strlen($web_form_address)>0) + { + $VICIDiaL_web_form_address = "$web_form_address"; + print "\n"; + } + else + { + $VICIDiaL_web_form_address = "$VICIDiaL_web_URL"; + print "\n"; + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + } + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + # If closers are allowed en this campaign + if ($allow_closers=="Y") + { + $VICIDiaL_allow_closers = 1; + print "\n"; + } + else + { + $VICIDiaL_allow_closers = 0; + print "\n"; + } + + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtimE$US$session_ext$session_rand"; + + if ($webform_sessionname) + {$webform_sessionname = "&session_name=$session_name";} + else + {$webform_sessionname = '';} + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'vicidial';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','vicidial','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + if ( ($campaign_allow_inbound == 'Y') || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + { + ### insert an entry into the user log for the login event + $stmt = "INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$VD_login','LOGIN','$VD_campaign','$NOW_TIME','$StarTtimE','$VU_user_group')"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly + $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $prev_login_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $prev_login_ct) + { + $row=mysql_fetch_row($rslt); + $session_id =$row[0]; + $i++; + } + if ($prev_login_ct > 0) + {print "\n";} + else + { + ##### grab the next available vicidial_conference room and reserve it + $stmt="SELECT conf_exten FROM vicidial_conferences where server_ip = '$server_ip' and ((extension='') or (extension is null)) LIMIT 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $free_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $free_conf_ct) + { + $row=mysql_fetch_row($rslt); + $session_id =$row[0]; + $i++; + } + $stmt="UPDATE vicidial_conferences set extension='$SIP_user' where server_ip='$server_ip' and conf_exten='$session_id';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + print "\n"; + + } + + $stmt="UPDATE vicidial_list set status='N', user='' where status IN('QUEUE','INCALL') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_hopper where status IN('QUEUE','INCALL','DONE') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_inbound_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + # print "You have logged in as user: $VD_login en phone: $SIP_user a la campaña: $VD_campaign
\n"; + $VICIDiaL_is_logged_in=1; + + ### set the callerID for manager middleware-app to connect the phone to the user + $SIqueryCID = "S$CIDdate$session_id"; + + ############################################# + ##### COMIENZO SYSTEM_SETTINGS LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,vicidial_agent_disable,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $vicidial_agent_disable = $row[6]; + $allow_sipsak_messages = $row[7]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$VD_campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $SIqueryCID = "$SIPSAK_prefix$VD_campaign$DS$CIDdate"; + } + + ### insert a NUEVO record to the vicidial_manager table to be processed + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $SIP_user','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: $SIqueryCID','','','','','');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($auto_dial_level > 0) + { + print "\n"; + + ##### grab the campaign_weight and number of calls today en that campaign for the agent + $stmt="SELECT campaign_weight,calls_today FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vca_ct = mysql_num_rows($rslt); + if ($vca_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_weight = $row[0]; + $calls_today = $row[1]; + $i++; + } + else + { + $campaign_weight = '0'; + $calls_today = '0'; + $stmt="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) values('$VD_login','$VD_campaign','0','0','$calls_today');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + } + $closer_chooser_string=''; + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,closer_campaigns,user_level,campaign_weight,calls_today) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$closer_chooser_string','$user_level','$campaign_weight','$calls_today');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='$VD_campaign',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PAUSAALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + + + if ($campaign_allow_inbound == 'Y') + { + print "\n"; + } + } + else + { + print "\n"; + + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,user_level) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$user_level');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='$VD_campaign',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PAUSAALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + } + } + else + { + echo "web client VICIDIAL: VICIDIAL Conexión en la Campaña\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Español
\n"; + echo "Lo siento, no hay leads en el hopper de esta campaña\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Conexión: \n
"; + echo "Contraseña:
\n"; + echo "Campaña: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + if (strlen($session_id) < 1) + { + echo "web client VICIDIAL: VICIDIAL Conexión en la Campaña\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Español
\n"; + echo "Sorry, there are no available sessions\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Conexión: \n
"; + echo "Contraseña:
\n"; + echo "Campaña: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + if (ereg('MSIE',$browser)) + { + $useIE=1; + print "\n"; + } + else + { + $useIE=0; + print "\n"; + } + + $StarTtimE = date("U"); + $NOW_TIME = date("Y-m-d H:i:s"); + ##### Agent is going to log in so insert the vicidial_agent_log entry now + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group,sub_status) values('$VD_login','$server_ip','$NOW_TIME','$VD_campaign','$StarTtimE','0','$StarTtimE','$VU_user_group','LOGIN');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + print "\n"; + + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $server_ip_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S"; + + ##### grab the datails of all active scripts in the system + $stmt="SELECT script_id,script_name,script_text FROM vicidial_scripts WHERE active='Y' order by script_id limit 100;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $MM_scripts = mysql_num_rows($rslt); + $e=0; + while ($e < $MM_scripts) + { + $row=mysql_fetch_row($rslt); + $MMscriptid[$e] =$row[0]; + $MMscriptname[$e] = rawurlencode($row[1]); + $MMscripttext[$e] = rawurlencode($row[2]); + $MMscriptids = "$MMscriptids'$MMscriptid[$e]',"; + $MMscriptnames = "$MMscriptnames'$MMscriptname[$e]',"; + $MMscripttexts = "$MMscripttexts'$MMscripttext[$e]',"; + $e++; + } + $MMscriptids = substr("$MMscriptids", 0, -1); + $MMscriptnames = substr("$MMscriptnames", 0, -1); + $MMscripttexts = substr("$MMscripttexts", 0, -1); + + } +} + +################################################################ +### BEGIN - build the callback calendar (12 months) ### +################################################################ +define ('ADAY', (60*60*24)); +$CdayARY = getdate(); +$Cmon = $CdayARY['mon']; +$Cyear = $CdayARY['year']; +$CTODAY = date("Y-m"); +$CTODAYmday = date("j"); +$CINC=0; + +$Cmonths = Array('Enero','February','Marcha','Abril','Puede','Junio', + 'Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'); +$Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); + +$CCAL_OUT = ''; + +$CCAL_OUT .= ""; + +while ($CINC < 12) +{ +if ( ($CINC == 0) || ($CINC == 4) ||($CINC == 8) ) + {$CCAL_OUT .= "";} + +$CCAL_OUT .= ""; + +if ( ($CINC == 3) || ($CINC == 7) ||($CINC == 11) ) + {$CCAL_OUT .= "";} +$CINC++; +} + +$CCAL_OUT .= "
"; + +$CYyear = $Cyear; +$Cmonth= ($Cmon + $CINC); +if ($Cmonth > 12) + { + $Cmonth = ($Cmonth - 12); + $CYyear++; + } +$Cstart= mktime(11,0,0,$Cmonth,1,$CYyear); +$CfirstdayARY = getdate($Cstart); +#echo "|$Cmon|$Cmonth|$CINC|\n"; +$CPRNTDAY = date("Y-m", $Cstart); + +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; + +foreach($Cdays as $Cday) +{ + $CDCLR="#ffffff"; +$CCAL_OUT .= ""; +} + +for( $Ccount=0;$Ccount<(6*7);$Ccount++) +{ + $Cdayarray = getdate($Cstart); + if((($Ccount) % 7) == 0) + { + if($Cdayarray['mon'] != $CfirstdayARY['mon']) + break; + $CCAL_OUT .= ""; + } + if($Ccount < $CfirstdayARY['wday'] || $Cdayarray['mon'] != $Cmonth) + { + $CCAL_OUT .= ""; + } + else + { + if( ($Cdayarray['mday'] == $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + else + { + $CDCLR="#ffffff"; + if ( ($Cdayarray['mday'] < $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CDCLR="#CCCCCC"; + $CBL = ''; + $CEL = ''; + } + else + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + } + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + } +} +$CCAL_OUT .= ""; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "$Cday"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
 "; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; + +#echo "$CCAL_OUT\n"; +################################################################ +### END - build the callback calendar (12 months) ### +################################################################ + + +?> + + + + +\n"; + + +?> + +
+ + MARGINWIDTH=0 MARGINHEIGHT=0 LEFTMARGIN=0 TOPMARGIN=0 VALIGN=TOP ALIGN=LEFT> +
+ + + +SALIR\n"; ?> +
+
+ + + height=30> + + + + + +
VICIDIALSCRIPT VALIGN=MIDDLE ALIGN=CENTER>   LIVE     sesión ID: Llamada Activa
+
+ + + + + height=>

VICIDIAL
+
+ + +MARCADO MANUAL       DIAL RÁPIDO
+
+ + +X SERVICIOS REPETIDOS ACTIVOS
+
+ + +
+
+ + + D1 - DIAL\n"; + echo "
\n"; + echo "D2 - DIAL\n"; + } + else {echo "
\n";} + ?> +

+
+
+ + + height=460>
SERVICIOS REPETIDOS PARA EL AGENTE :
Chasque encendido un servicio repetido abajo ahora para llamar la parte posteriora del cliente. Si usted chasca encendido un expediente abajo para llamarlo, será quitado de la lista. +
+
+
  + Recarga +                 + Vaya Detrás +
+
+ + + height=460>
NUEVO PLOMO MANUAL DEL DIAL PARA :

Incorpore la información abajo para el nuevo plomo que usted desea llamar. +
+ \n"; + } + ?> + Note: all new manual dial leads will go into list

+ + + + + + + + + + + + + + + +
Dial Código:   (Éste es generalmente un 1 en los U.S.A. y el Canadá)
Teléfono Number: +   (12 digits max - digits only) +
Plomos Existentes De la Búsqueda:   (Esta opción si está comprobada procurará encontrar el número de teléfono en el sistema antes de insertarlo como nuevo plomo)


Si usted desea marcar un número y hacerlo no agregar como nuevo plomo, entre en dialstring exacto ese usted desean llamar en el campo de la invalidación del dial abajo. Al retraso esta llamada usted tendrá que abrir las LLAMADAS EN ESTE acoplamiento de la SESIÓN en el fondo de la pantalla y colgarlas para arriba chascando en su acoplamiento del canal allí.
 
Inválidoación Del Dial:   (los dígitos satisfacen solamente) +
+
+ Dial Ahora +                 + Vaya Detrás +
+
+ + + +
+
+ + + + +Su Estado:
Calls Dialing: +
+ + + + + > + +
+
+ + Transferencia - Conferencia
+ + + CLOSER LOCAL + Colgar Línea Xfer + Colgar Ambas Líneas + +
+ + Número a llamar   + + INVALIDACIÓN DEL MARCADO   + ABANDONAR LLAMADA 3-WAY + Marcar Blind Transfer + D1 + D2 + +
+ + segundos   + channel + Marcar Con El Cliente + Dial Del Cliente Del Parque + Blind Transfer VMail Message +
+
+
+
+ + + + height=70> + +
Lead Dispositioned Como:

+ -
+
+
+ + + height=70> + + + + +
Teclas de acceso rápido a la Disposición: + Cuando esté activo, presione simplemente la tecla para la disposición deseada para esta llamada. La llamada después será colgada y dispositioned automáticamente:
+ + + + + +
+
+ + + height=70> + + + + + + +
Información Anterior Del Servicio repetido: close
+
+
+
+
+ +
+
+ + + height=500>
Nadie está en su sesión:
+ Vaya Detrás +

+ Agente De la Llamada Otra vez +
+
+ + + height=500>
El cliente ha colgado:
+ Vaya Detrás +

+ Final y llamada de la disposición + +
+
+ + + height=550>
Llamada Wrapup: segundos restantes en wrapup

+ +

+ Final Wrapup y movimiento encendido + +
+
+ + + height=500>
Se ha inhabilitado su sesión
SALIR

Vaya Detrás +
+
+ + + height=500>

SALIR
+
+ + +
+
+ + +
 
+
+ + + height=47>
Cualquier cambio realizado al cliente que no será la información abajo en este tiempo comitted, usted debe cambiar la información del cliente antes de usted retraso la llamada.
+
+ + + height=460>
DISPOSITION LLAMADA :       Retraso Otra vez       reduzca al mínimo
+ selección de la disposición del End-of-call +
+ PARAR LA LLAMADA
+ REINICIAR | + ENVIAR +

+ WEB FORM ENVIAR +

  +
+
+ + + height=460>
SELECCIONE Un CÓDIGO De la PAUSA :
+ Pausa Code Selection + +

  +
+
+ + + height=460>
Seleccione una fecha del servicio repetido :
+ + + Seleccione una fecha abajo   +     + Hour: +   + Minutes: +   + +  
+ MI SERVICIO REPETIDO SOLAMENTE
";} + ?> + Comentarios de los CBES:

+ + ENVIAR

+ +

  +
+
+ + + height=460>
SELECCIÓN DEL GRUPO DE ENTRANTES CLOSER
+ SELECCIÓN DEL GRUPO DE ENTRANTES CLOSER +
+ BLENDED LLAMADAING(Salientes activdas)
+ REINICIAR | + ENVIAR +



  +
+
+ + + + Canal + Canal + MI SERVICIO REPETIDO SOLAMENTE
";} + ?> +
+ + + + height=>
VICIDIAL SCRIPT
+
+ + + 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> +TECLAS ACCESO RÁPIDO INACTIVAS + + + + +> + + + +
versión web client VICIDIAL:     CONSTRUCCION:               Servidor:              
+Mostrar la información del canal Conferencia

 
+
+ + + +
+
+ + + + + id="MainTable"> + + + + + + + + + + + + + + + +
ESTADO:
+
+Marcar el Siguiente Número
+ MOSTRAR LEAD
+ TELÉFONO DEL ALT
+ + +GRABANDO ARCHIVO:
+
+
+GRABACIÓN ID:
+
+ +Comenzar La Grabación
+
+Formulario Web
+
+Aparcar llamada
+Transferencia - Conferencia
+
+Colgar al Cliente
+
+
Enviar DTMF

+
+
+
align=left valign=top> + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
segundos:   Canal:   Tiempo:
Información Del Cliente:
Título:   Primero:   IM:   Último:
Dirección1:
Dirección2:   Dirección3:
Ciudad:   Estado:   Código Postal:
Provincia:   Vendedor ID:
Teléfono:   Código Del Dial:   Teléfono Alt:
Demostración:   Email:
Comentarios: + +\n";} +else + {echo "\n";} +?> + +
+
+ +
+
> + 
+ + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/voicemail_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/voicemail_check.php new file mode 100644 index 00000000..f153ee04 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_es/voicemail_check.php @@ -0,0 +1,140 @@ + LICENSE: GPLv2 +### +### This script is designed purely to check whether the voicemail box on the server defined has new and old messages +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $vmail_box - ('101','1234',...) +### + +# changes +# 50422-1147 - First build of script +# 50503-1241 - added session_name checking for extra security +# 50711-1201 - removed HTTP authentication in favor of user/pass vars +# 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1204 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.5'; +$build = '60619-1204'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Nombre del usuario/Contraseña: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Comprobar el buzón de voz"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + $MT[0]=''; + $row=''; $rowx=''; + if (strlen($vmail_box)<1) + { + $channel_live=0; + echo "caja del buzón de voz $vmail_box No es válido\n"; + exit; + } + else + { + $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $vmails_list = mysql_num_rows($rslt); + $loop_count=0; + while ($vmails_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0]|$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/active_list_refresh.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/active_list_refresh.php new file mode 100644 index 00000000..013bf635 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/active_list_refresh.php @@ -0,0 +1,482 @@ + LICENSE: GPLv2 +### +### This script is designed purely to serve updates of the live data to the display scripts +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $ADD - ('1','2','3','4','5') +### - $order - ('asc','desc') +### - $format - ('text','table','menu','selectlist','textarea') +### - $bgcolor - ('#123456','white','black','etc...') +### - $txtcolor - ('#654321','black','white','etc...') +### - $txtsize - ('1','2','3','etc...') +### - $selectsize - ('2','3','4','etc...') +### - $selectfontsize - ('8','10','12','etc...') +### - $selectedext - ('cc100') +### - $selectedtrunk - ('Zap/25-1') +### - $selectedlocal - ('SIP/cc100') +### - $textareaheight - ('8','10','12','etc...') +### - $textareawidth - ('8','10','12','etc...') +### - $field_name - ('extension','busyext','extension_xfer','etc...') +### + +# changes +# 50323-1147 - First build of script +# 50401-1132 - small formatting changes +# 50502-1402 - added field_name as modifiable variable +# 50503-1213 - added session_name checking for extra security +# 50503-1311 - added conferences list +# 50610-1155 - Added NULL check on MySQL results to reduced errors +# 50711-1209 - removed HTTP authentication in favor of user/pass vars +# 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1118 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["order"])) {$order=$_GET["order"];} + elseif (isset($_POST["order"])) {$order=$_POST["order"];} +if (isset($_GET["bgcolor"])) {$bgcolor=$_GET["bgcolor"];} + elseif (isset($_POST["bgcolor"])) {$bgcolor=$_POST["bgcolor"];} +if (isset($_GET["txtcolor"])) {$txtcolor=$_GET["txtcolor"];} + elseif (isset($_POST["txtcolor"])) {$txtcolor=$_POST["txtcolor"];} +if (isset($_GET["txtsize"])) {$txtsize=$_GET["txtsize"];} + elseif (isset($_POST["txtsize"])) {$txtsize=$_POST["txtsize"];} +if (isset($_GET["selectsize"])) {$selectsize=$_GET["selectsize"];} + elseif (isset($_POST["selectsize"])) {$selectsize=$_POST["selectsize"];} +if (isset($_GET["selectfontsize"])) {$selectfontsize=$_GET["selectfontsize"];} + elseif (isset($_POST["selectfontsize"])) {$selectfontsize=$_POST["selectfontsize"];} +if (isset($_GET["selectedext"])) {$selectedext=$_GET["selectedext"];} + elseif (isset($_POST["selectedext"])) {$selectedext=$_POST["selectedext"];} +if (isset($_GET["selectedtrunk"])) {$selectedtrunk=$_GET["selectedtrunk"];} + elseif (isset($_POST["selectedtrunk"])) {$selectedtrunk=$_POST["selectedtrunk"];} +if (isset($_GET["selectedlocal"])) {$selectedlocal=$_GET["selectedlocal"];} + elseif (isset($_POST["selectedlocal"])) {$selectedlocal=$_POST["selectedlocal"];} +if (isset($_GET["textareaheight"])) {$textareaheight=$_GET["textareaheight"];} + elseif (isset($_POST["textareaheight"])) {$textareaheight=$_POST["textareaheight"];} +if (isset($_GET["textareawidth"])) {$textareawidth=$_GET["textareawidth"];} + elseif (isset($_POST["textareawidth"])) {$textareawidth=$_POST["textareawidth"];} +if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} + elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} + +### security strip all non-alphanumeric characters out of the variables ### + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $ADD=ereg_replace("[^0-9]","",$ADD); + $order=ereg_replace("[^0-9a-zA-Z]","",$order); + $format=ereg_replace("[^0-9a-zA-Z]","",$format); + $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); + $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); + $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); + $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); + $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); + $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); + $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); + $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); + $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); + $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); + $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + +# default optional vars if not set +if (!isset($ADD)) {$ADD="1";} +if (!isset($order)) {$order='desc';} +if (!isset($format)) {$format="text";} +if (!isset($bgcolor)) {$bgcolor='white';} +if (!isset($txtcolor)) {$txtcolor='black';} +if (!isset($txtsize)) {$txtsize='2';} +if (!isset($selectsize)) {$selectsize='4';} +if (!isset($selectfontsize)) {$selectfontsize='10';} +if (!isset($textareaheight)) {$textareaheight='10';} +if (!isset($textareawidth)) {$textareawidth='20';} + +$version = '0.0.8'; +$build = '60619-1118'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalide Utilisateurname/Mot de passe: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalide server_ip: |$server_ip| or Invalide session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalide session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='table') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Mode Liste: "; +if ($ADD==1) {echo "Extensions en cours d'appel";} +if ($ADD==2) {echo "Extensions Occupées";} +if ($ADD==3) {echo "Lignes Extérieures";} +if ($ADD==4) {echo "Extensions Locales";} +if ($ADD==5) {echo "Conférences";} +if ($ADD==99999) {echo "AIDE";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ADD=1 display all live extensions on a server +###################### +if ($ADD==1) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'extension';} + if ($format=='table') {echo "\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + +###################### +# ADD=2 display all busy extensions on a server +###################### +if ($ADD==2) +{ + if (!$field_name) {$field_name = 'busyext';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=3 display all busy outside lines(trunks) on a server +###################### +if ($ADD==3) +{ + if (!$field_name) {$field_name = 'trunk';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=4 display all busy Local lines on a server +###################### +if ($ADD==4) +{ + if (!$field_name) {$field_name = 'local';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=5 display all agc-usable conferences on a server +###################### +if ($ADD==5) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'conferences';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='table') {echo "\n";} +if ($format=='table') {echo "\n\n\n";} + +exit; + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/astguiclient.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/astguiclient.php new file mode 100644 index 00000000..d1182304 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/astguiclient.php @@ -0,0 +1,2905 @@ + LICENSE: GPLv2 +# +# make sure you have added a user to the vicidial_users MySQL table with at least +# user_level 1 or greater to access this page. Also you need to have the login +# and pass of a phone listed in the asterisk.phones table. The page grabs the +# server info and other details from this login and pass +# +# Other scripts that this application depends on: +# - active_list_refresh.php: displays active/live channels and phones +# - manager_send.php: sends Actions to be executed on Asterisk servers +# - live_exten_check.php: checks to see if user's phone is on a live call +# - call_log_display.php: retrieves log of inbound and outbound calls +# - voicemail_check.php: retrieves counts of new and old messages +# - inbound_popup.php: opens upon live_inbound call coming in +# - conf_exten_check.php: checks to see if and calls are in a specific conf +# - park_calls_display.php: retrieves list of parked calls +# - vdc_db_query.php: Changes values in the DB for non-calling records +# +# CHANGES +# 50215-1356 - Proof-of-concept test of XMLHttpRequest for astGUIclient web +# 50323-1411 - First build version display-only +# 50331-1040 - Second-build, added phone login and hangup/hijack display +# 50401-1006 - Trunk/Local Hangup functions enabled +# 50404-1056 - Trunk/Local Hijack functions enabled +# 50404-1459 - Simple live calls display and grabs updated time from server +# 50405-1221 - Reorganized the display and layers, added some images +# 50406-1005 - Added In/Out call log display to MAIN panel +# 50407-1254 - Start/Stop Recording on live calls enabled +# 50422-1101 - Activated Check Voicemail button and new/old messages count +# 50428-1449 - Added dial from log and basic live_inbound call popup +# 50429-1455 - Modified inbound popup code for IE and to add more functions +# 50502-1442 - Added basic method to transfer live calls somewhere else +# 50503-1205 - Added web_client_sessions entry for more security of subscripts +# 50503-1537 - Added basic conferences display +# 50509-1132 - Added conference connected list and hangup/xfer for them +# 50511-1129 - Added registration of conference rooms and added manual dial +# 50523-1342 - Added Conference recording and send DTMF +# 50523-1622 - Added Local Dial window frame for calling local extensions +# 50524-1456 - Added ability to park call and display number of parked calls +# 50524-1600 - Added ability to display and pickup/hangup/xfer parked calls +# 50525-1224 - Added ability to place outbound call from within conferene +# 50531-1225 - Added ability to do dual transfers to meetme rooms from Main +# 50711-1229 - removed HTTP authentication in favor of user/pass vars +# 50711-1610 - Added Zap monitoring to Trunk/Local Action screens +# 50804-1604 - Minor bug fix in inbound_popup functions +# 50818-1715 - Added pretty login section +# 50913-1137 - Added custom outbound_cid from phones table +# 51110-1430 - Fixed non-standard http port issue +# 60103-1421 - Added code for favorite extensions chooser +# 60104-1347 - Added basic layout for favorites editing frame +# 60105-1124 - Finished Favorites frame and added DB submission +# 60112-1622 - Several formatting changes +# 60421-1357 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1103 - Added variable filters to close security holes for login form +# 60829-1528 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +$version = '2.0.1'; +$build = '60829-1528'; + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + + +if ($force_logout) +{ + if( (strlen($_SERVER['user'])>0) or (strlen($_SERVER['pass'])>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "Vous êtes maintenant déconnecté.\n"; + exit; +} + +$StarTtime = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd-His"); + $month_old = mktime(0, 0, 0, date("m"), date("d")-7, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$US='_'; +$CL=':'; +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./astguiclient_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = $agcPAGE; +$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); + + if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) + { + header ("Content-type: text/html; charset=utf-8"); + + echo "astGUIclient Client Web: Ouverture de Session\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Français
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Ouverture de Session
 
Ouverture de Session:
Mot de passe Utilisateur:
Ouverture de Session téléphonique:
Mot de passe du Téléphone:

VERSION: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($user); + $password=strtoupper($pass); + $stmt="SELECT full_name,user_level from vicidial_users where user='$user' and pass='$pass'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICICOMPOSER|GOOD|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICICOMPOSER|FAIL|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + } + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "astGUIclient Client Web: Ouverture de Session téléphonique\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Français
\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Ouverture de Session téléphonique
 
Ouverture de Session téléphonique:
Mot de passe du Téléphone:

VERSION: $version       BUILD: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +$authphone=0; +$stmt="SELECT count(*) from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "astGUIclient Client Web: Ouverture de Session téléphonique\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Français
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Ouverture de Session téléphonique
 
L'ouverture de la session Téléphonique à échoué, réessayez:
 
Ouverture de Session téléphonique:
Mot de passe du Téléphone:

VERSION: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { + echo "astGUIclient Client Web\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $phone_login=$row[6]; + $phone_pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $CaLLerID_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $outbound_cid=$row[65]; + + $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtime$US$session_ext$session_rand"; + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'agc';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','agc','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT count(*) from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_present=$row[0]; + if ($favorites_present > 0) + { + $stmt="SELECT extensions_list from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_list=$row[0]; + $h=0; + $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites = explode(',',$favorites_listX); + $favorites_count = count($favorites); + $favorites_listX=''; + + $o=0; + while ($favorites_count > $o) + { + $stmt="SELECT fullname,protocol from phones where extension = '$favorites[$o]' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $favorites_names[$o] = $rowx[0]; + $favorites_listX .= "$rowx[1]/$favorites[$o],"; + $o++; + } + + echo "\n"; + echo "\n"; + } + else + { + echo "\n"; + } + +### gather phone extensions and fullnames for favorites editor ### + $stmt="SELECT extension,fullname from phones where server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $exten_ct = mysql_num_rows($rslt); + $favlistCT=0; + $nofavlistCT=0; + while ($favlistCT < $exten_ct) + { + $row=mysql_fetch_row($rslt); + $favlist[$favlistCT]= "$row[0] - $row[1]"; + $favlistCT++; + } + + } +} + + +?> + + + + + + +\n"; + + +?> + +
+ + + + + + + + + +
+ + +DÉCONNEXION
\n"; ?> +
Ecran PrincipalLignes ActivesConférencesConsulter Votre Boite VocaleAppel en cours
+
+ + +

Logout
+
+ + +
TRUNK RACCROCHER

+ Active Trunks Menu
+ Raccrocher le Faisceau   |   + Intercepter le Faisceau   |   + Ecoute du Faisceau   |   + Rafraichir   |   + Retour à la Fenêtre Principale +
+
+ + +
RACROCHAGE LOCAL

+ Menu Local Actif
+ Raccrochage Local   |   + Interception Locale   |   + Ecoute Locale   |   + Rafraichir   |   + Retour à la Fenêtre Principale +
+
+ + + + + + + +
TRANSFERT D'APPEL EN COURS
Canal à transférer: Canal
Extensions:
Extensions
+
+ Renvoyer l'Appel

+ Renvoyer vers la Boite Vocale

+ Renvoyer vers ce Numéro:


+ Rafraichir


+ Retour à la Fenêtre Principale

+
Conférences:
(Selectionnez un Numéro de Conférence)
Renvoyez également mon canal
Conférences
+
+ + + + + +
Composer une Extension LOCALE
Téléphone appelant de: Canal
Extensions:
Extensions
+
+ Appeler l'extension séléctionnée

+ Appeler la boite vocale séléctionnée

+ Rafraichir


+ Retour à la Fenêtre Principale

+
+
+ + +
APPELS EN ATTENTE:
+ Retour à la Fenêtre Principale

+
+
+ + + + + + + + + + + + + + + +
  +
Boite Vocale     NOUVEAU:     ANCIEN:             APPEL MANUEL       COMPOSER
APPELS EN ATTENTE: 0                EXTENSIONS LOCALES
APPELS SORTANTS:
APPELS ENTRANTS:
astGUIclient Client Web: BUILD:
+ + + + $h) + { + if (strlen($favorites[$h])>1) + { + echo "\n"; + } + $h++; + } +?> + +
FAVORIS       Modifier
$favorites[$h] - $favorites_names[$h]
 
+
+ + + + + + + +
FAVORIS

 
Modification de paramétrage - vous devrez vous fermer la session
RETOUR À LA FENÊTRE PRINCIPALE - annuler les modifications
+
+ +
+ + + + + + + + + + + + + +
+PAUSE | DEBUT     Vitesse de rafraichissement: 1000 ms Plus rapidement | Plus lentement

+
Initialisation..
+
Extensions Actives
+RAFRAICHIR | +ORDRE | +
Lignes Extérieures
+RAFRAICHIR | +ORDRE | +
Extensions Locales
+RAFRAICHIR | +ORDRE | +
+ Données Transférées vers

+
+ Données Transférées vers

Action sur Faisceau +
+ Données Transférées vers

Action Locale +
+
+ + + + +
+ + +Liste Des Conférences + + + +
+Cliquez à Gauche du numéro de salle de conférence pour obtenir des informations +
+ + + + + + + + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/call_log_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/call_log_display.php new file mode 100644 index 00000000..723cbca9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/call_log_display.php @@ -0,0 +1,196 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send the inbound and outbound calls for a specific phone +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### - $in_limit - ('10','20','50','100',...) +### - $out_limit - ('10','20','50','100',...) +### + +# changes +# 50406-1013 - First build of script +# 50407-1452 - Added definable limits +# 50503-1236 - added session_name checking for extra security +# 50610-1158 - Added NULL check on MySQL results to reduced errors +# 50711-1202 - removed HTTP authentication in favor of user/pass vars +# 60323-1550 - added option for showing different number dialed in log +# 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1202 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($in_limit)) {$in_limit="100";} +if (!isset($out_limit)) {$out_limit="100";} +$number_dialed = 'number_dialed'; +#$number_dialed = 'extension'; + +$version = '0.0.8'; +$build = '60619-1202'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalide Utilisateurname/Mot de passe: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalide server_ip: |$server_ip| or Invalide session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalide session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Affichage de l'historique d'Appel"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten est invalide ou protocole $protocol est invalide\n"; + exit; + } + else + { + ##### print outbound calls from the call_log table + $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} + echo "$out_calls_count|"; + $loop_count=0; + while ($out_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[3] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + + if ($number_dialed == 'extension') {$row[2] = substr($row[2],-10);} + echo "$row[0] ~$row[1] ~$row[2] ~$call_time_MS|"; + } + echo "\n"; + + ##### print inbound calls from the live_inbound_log table + $stmt="SELECT call_log.uniqueid,live_inbound_log.start_time,live_inbound_log.extension,caller_id,length_in_sec from live_inbound_log,call_log where phone_ext='$exten' and live_inbound_log.server_ip = '$server_ip' and call_log.uniqueid=live_inbound_log.uniqueid order by start_time desc limit $in_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} + echo "$in_calls_count|"; + $loop_count=0; + while ($in_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[4] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $callerIDnum = $row[3]; $callerIDname = $row[3]; + $callerIDnum = preg_replace("/.*<|>.*/","",$callerIDnum); + $callerIDname = preg_replace("/\"| <\d*>/","",$callerIDname); + + echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; + } + echo "\n"; + + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/conf_exten_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/conf_exten_check.php new file mode 100644 index 00000000..415c0e14 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/conf_exten_check.php @@ -0,0 +1,297 @@ + LICENSE: GPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('refresh','register') +# - $client - ('agc','vdc') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $campagentstdisp - ('YES',...) +# + +# changes +# 50509-1054 - First build of script +# 50511-1112 - Added ability to register a conference room +# 50610-1159 - Added NULL check on MySQL results to reduced errors +# 50706-1429 - script changed to not use HTTP login vars, user/pass instead +# 50706-1525 - Added date-time display for vicidial client display +# 50816-1500 - Added random update to vicidial_live_agents table for vdc users +# 51121-1353 - Altered echo statements for several small PHP speed optimizations +# 60410-1424 - Added ability to grab calls-being-placed and agent status +# 60421-1405 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1201 - Added variable filters to close security holes for login form +# 61128-2255 - Added update for manual dial vicidial_live_agents +# 70319-1542 - Added agent disabled display function +# 71122-0205 - Added vicidial_live_agent status output +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["client"])) {$client=$_GET["client"];} + elseif (isset($_POST["client"])) {$client=$_POST["client"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campagentstdisp"])) {$campagentstdisp=$_GET["campagentstdisp"];} + elseif (isset($_POST["campagentstdisp"])) {$campagentstdisp=$_POST["campagentstdisp"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($client)) {$client="agc";} + +$version = '2.0.4-12'; +$build = '71122-0205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd_His"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$random = (rand(1000000, 9999999) + 10000000); + + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalide Utilisateurname/Mot de passe: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalide server_ip: |$server_ip| or Invalide session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalide session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Vérification de l'extension de la Conférence"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + if ($ACTION == 'refresh') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($conf_exten)<1) + { + $channel_live=0; + echo "Conf Exten $conf_exten est invalide\n"; + exit; + } + else + { + + if ($client == 'vdc') + { + $Acount=0; + $AexternalDEAD=0; + + ### see if the agent has a record in the vicidial_live_agents table + $stmt="SELECT count(*) from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Acount=$row[0]; + + if ($Acount > 0) + { + $stmt="SELECT status from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Astatus=$row[0]; + } + # ### find out if external table shows agent should be disabled + # $stmt="SELECT count(*) from another_table where user='$user' and status='DEAD';"; + # if ($DB) {echo "|$stmt|\n";} + # $rslt=mysql_query($stmt, $link); + # $row=mysql_fetch_row($rslt); + # $AexternalDEAD=$row[0]; + + if ($auto_dial_level > 0) + { + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + if ($campagentstdisp == 'YES') + { + ### grab the status of this agent to display + $stmt="SELECT status,campaign_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Alogin=$row[0]; + $Acampaign=$row[1]; + + ### grab the number of calls being placed from this server and campaign + $stmt="SELECT count(*) from vicidial_auto_calls where server_ip='$server_ip' and status NOT IN('XFER') and campaign_id='$Acampaign';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $RingCalls=$row[0]; + } + else + { + $Alogin='N'; + $RingCalls='N'; + } + } + else + { + $Alogin='N'; + $RingCalls='N'; + + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } + + if ($Acount < 1) {$Alogin='DEAD_VLA';} + if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} + + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Statut: ' . $Astatus . "|\n"; + + } + $total_conf=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$sip_list = mysql_num_rows($rslt);} + # echo "$sip_list|"; + $loop_count=0; + while ($sip_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $CanalA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + # echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $CanalA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + } + $channels_list = ($channels_list + $sip_list); + echo "$channels_list|"; + + $counter=0; + $countecho=''; + while($total_conf > $counter) + { + $counter++; + $countecho = "$countecho$CanalA[$counter] ~"; + # echo "$CanalA[$counter] ~"; + } + + echo "$countecho\n"; + } + + if ($ACTION == 'register') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($exten)<1) ) + { + $channel_live=0; + echo "Conf Exten $conf_exten est invalide or Exten $exten est invalide\n"; + exit; + } + else + { + $stmt="UPDATE conferences set extension='$exten' where server_ip = '$server_ip' and conf_exten = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + echo "Conférence $conf_exten a été attribué à $exten\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/dbconnect.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/dbconnect.php new file mode 100644 index 00000000..723d3c59 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/dbconnect.php @@ -0,0 +1,58 @@ + LICENSE: AGPLv2 +# +if ( file_exists("/etc/astguiclient.conf") ) +{ +$DBCagc = file("/etc/astguiclient.conf"); +foreach ($DBCagc as $DBCline) + { + $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); + if (ereg("^PATHlogs", $DBCline)) + {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} + if (ereg("^PATHweb", $DBCline)) + {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} + if (ereg("^VARDB_server", $DBCline)) + {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} + if (ereg("^VARDB_database", $DBCline)) + {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} + if (ereg("^VARDB_user", $DBCline)) + {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} + if (ereg("^VARDB_pass", $DBCline)) + {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} + if (ereg("^VARDB_port", $DBCline)) + {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} + } + +} +else +{ +#defaults for DB connection +$VARDB_server = 'localhost'; +$VARDB_user = 'cron'; +$VARDB_pass = '1234'; +$VARDB_database = '1234'; +$WeBServeRRooT = '/usr/local/apache2/htdocs'; +} + +$link=mysql_connect("$VARDB_server", "$VARDB_user", "$VARDB_pass"); +if (!$link) { + die('MySQL connect ERROR: ' . mysql_error()); +} +mysql_select_db("$VARDB_database",$link); + +$local_DEF = 'Local/'; +$conf_silent_prefix = '7'; +$local_AMP = '@'; +$ext_context = 'demo'; +$recording_exten = '8309'; +$WeBRooTWritablE = '1'; +$non_latin = '0'; # set to 1 for UTF rules, overridden by system_settings +$flag_channels=0; +$flag_string = 'VICIast20'; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/inbound_popup.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/inbound_popup.php new file mode 100644 index 00000000..12da02df --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/inbound_popup.php @@ -0,0 +1,351 @@ + LICENSE: GPLv2 +### +### This script is designed to open up when a live_inbound call comes in giving the user +### options of what to do with the call or options to lookup the callerID on various web sites +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $uniqueid - ('1234567890.123456',...) +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $vmail_box - ('101','1234',...) +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $ext_context - ('default','demo',...) +### - $ext_priority - ('1','2',...) +### - $voicemail_dump_exten - ('85026666666666') +### - $local_web_callerID_URL_enc - ( rawurlencoded custom callerid lookup URL) +### + +# changes +# 50428-1500 - First build of script display only +# 50429-1241 - some formatting, hangup and Vmail redirect, 30s timeout on actions, and CID web lookup links +# 50503-1244 - added session_name checking for extra security +# 50711-1203 - removed HTTP authentication in favor of user/pass vars +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["voicemail_dump_exten"])) {$voicemail_dump_exten=$_GET["voicemail_dump_exten"];} + elseif (isset($_POST["voicemail_dump_exten"])) {$voicemail_dump_exten=$_POST["voicemail_dump_exten"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_GET["local_web_callerID_URL_enc"];} + elseif (isset($_POST["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_POST["local_web_callerID_URL_enc"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} + else {$local_web_callerID_URL = '';} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.6'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$DO = '-1'; +if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalide Utilisateurname/Mot de passe: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalide server_ip: |$server_ip| or Invalide session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalide session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +echo "\n"; +echo "\n"; +echo "\n"; +?> + + +APPEL ENTRANT EN COURS"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "

APPEL ENTRANT EN COURS

\n"; +echo "$NOW_TIME

\n"; +} + + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($uniqueid)<9) + { + $channel_live=0; + echo "Uniqueid $uniqueid est invalide\n"; + exit; + } + else + { + $stmt="SELECT * FROM live_inbound where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $channels_list = mysql_num_rows($rslt); + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); +# echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; +# Zap/73|"V.I.C.I. MARKET" <7275338730>|2005-04-28 14:01:21|7274514936|Inbound direct to Matt||||| + if ($format=='debug') {echo "\n";} + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Canal: $row[1]
Appelant: $row[3]
\n"; + + $phone = eregi_replace(".*\<","",$row[3]); + $phone = eregi_replace("\>.*","",$phone); + $NPA = substr($phone, 0, 3); + $NXX = substr($phone, 3, 3); + $XXXX = substr($phone, 6, 4); + $D='-'; + echo "GOOGLE - \n"; + echo "ANYWHO - \n"; + echo "SWITCHBOARD - \n"; + echo "VERIZON - \n"; + echo "WHITEPAGES - \n"; + echo "411.COM - \n"; + echo "411.COM - \n"; + + $local_web_callerID_QUERY_STRING =''; + $local_web_callerID_QUERY_STRING.="?callerID_areacode=$NPA"; + $local_web_callerID_QUERY_STRING.="&callerID_prefix=$NXX"; + $local_web_callerID_QUERY_STRING.="&callerID_last4=$XXXX"; + $local_web_callerID_QUERY_STRING.="&callerID_Time=$row[6]"; + $local_web_callerID_QUERY_STRING.="&callerID_Canal=$row[1]"; + $local_web_callerID_QUERY_STRING.="&callerID_uniqueID=$row[0]"; + $local_web_callerID_QUERY_STRING.="&callerID_phone_ext=$row[5]"; + $local_web_callerID_QUERY_STRING.="&callerID_server_ip=$row[2]"; + $local_web_callerID_QUERY_STRING.="&callerID_extension=$row[4]"; + $local_web_callerID_QUERY_STRING.="&callerID_inbound_number=$row[8]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_a=$row[9]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_b=$row[10]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_c=$row[11]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_d=$row[12]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_e=$row[13]"; + echo "COUTUME - \n"; + + echo "
Numéro Composé: $row[8]
Notes: $row[9]|$row[10]|$row[11]|$row[12]|$row[13]|
\n"; + echo "RACCROCHER - \n"; + echo "ENVOYEZ VERS MA BOITE VOCALE\n"; + echo "
\n"; + + + $stmt="UPDATE live_inbound set acknowledged='Y' where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + + } + + + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/live_exten_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/live_exten_check.php new file mode 100644 index 00000000..2a734ad9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/live_exten_check.php @@ -0,0 +1,278 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send whether the client channel is live and to what channel it is connected +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### + +# changes +# 50404-1249 - First build of script +# 50406-1402 - added connected trunk lookup +# 50428-1452 - added live_inbound check for exten on 2nd line of output +# 50503-1233 - added session_name checking for extra security +# 50524-1429 - added parked calls count +# 50610-1204 - Added NULL check on MySQL results to reduced errors +# 50711-1204 - removed HTTP authentication in favor of user/pass vars +# 60103-1541 - added favorite extens status display +# 60421-1359 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1203 - Added variable filters to close security holes for login form +# 60825-1029 - Fixed translation variable issue ChannelA +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count"];} + elseif (isset($_POST["favorites_count"])) {$favorites_count=$_POST["favorites_count"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '2.0.1'; +$build = '60825-1029'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalide Utilisateurname/Mot de passe: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalide server_ip: |$server_ip| or Invalide session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalide session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Vérification De l'extension"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + +echo "DateTime: $NOW_TIME|"; +echo "UnixTime: $StarTtime|"; + +$stmt="SELECT count(*) FROM parked_channels where server_ip = '$server_ip';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +echo "$row[0]|"; + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten est invalide ou protocole $protocol est invalide\n"; + exit; + } + else + { + $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + $ChanneLA[$loop_count] = "$row[0]"; + $ChanneLB[$loop_count] = "$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + $counter=0; + while($loop_count > $counter) + { + $counter++; + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "CanalA: $ChanneLA[$counter] ~"; + echo "CanalB: $ChanneLB[$counter] ~"; + echo "CanalBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "CanalA: $ChanneLA[$counter] ~"; + echo "CanalB: $ChanneLB[$counter] ~"; + echo "CanalBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "CanalA: $ChanneLA[$counter] ~"; + echo "CanalB: $ChanneLB[$counter] ~"; + echo "CanalBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "CanalA: $ChanneLA[$counter] ~"; + echo "CanalB: $ChanneLB[$counter] ~"; + echo "CanalBtrunk: $row[0]|"; + } + else + { + echo "Conversation: $counter ~"; + echo "CanalA: $ChanneLA[$counter] ~"; + echo "CanalB: $ChanneLB[$counter] ~"; + echo "CanalBtrunk: $ChanneLA[$counter]|"; + } + } + } + } + } + +echo "\n"; + +### check for live_inbound entry +$stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = '$exten' and acknowledged='N';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +if ($rslt) {$channels_list = mysql_num_rows($rslt);} + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); + $LIuniqueid = "$row[0]"; + $LIchannel = "$row[1]"; + $LIcallerid = "$row[3]"; + $LIdatetime = "$row[6]"; + echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; + if ($format=='debug') {echo "\n";} + } + +echo "\n"; + + +### if favorites are present do a lookup to see if any are active +if ($favorites_count > 0) + { + $favorites = explode(',',$favorites_list); + $h=0; + $favs_print=''; + while ($favorites_count > $h) + { + $fav_extension = explode('/',$favorites[$h]); + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$favorites[$h]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favs_print .= "$fav_extension[1]: $row[0] ~"; + $h++; + } + echo "$favs_print\n"; + } + +if ($format=='debug') {echo "\n";} + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/manager_send.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/manager_send.php new file mode 100644 index 00000000..e0d38628 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/manager_send.php @@ -0,0 +1,1142 @@ + LICENSE: GPLv2 +# +# This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $ACTION - ('Originate','Redirect','Hangup','Command','Monitor','StopMonitor','SysCIDOriginate','RedirectName','RedirectNameVmail','MonitorConf','StopMonitorConf','RedirectXtra','RedirectXtraCX','RedirectVD','HangupConfDial','VolumeControl','OriginateVDRelogin') +# - $queryCID - ('CN012345678901234567',...) +# - $format - ('text','debug') +# - $channel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $exten - ('1234','913125551212',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $filename - ('20050406-125623_44444',...) +# - $extenName - ('phone100',...) +# - $parkedby - ('phone100',...) +# - $extrachannel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $auto_dial_level - ('0','1','1.1',...) +# - $campaign - ('CLOSER','TESTCAMP',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('1234',...) +# - $seconds - ('32',...) +# - $outbound_cid - ('3125551212','0000000000',...) +# - $agent_log_id - ('123456',...) +# - $call_server_ip - ('10.10.10.15',...) +# - $CalLCID - ('VD01234567890123456',...) +# - $stage - ('UP','DOWN') +# + +# CHANGELOG: +# 50401-1002 - First build of script, Hangup function only +# 50404-1045 - Redirect basic function enabled +# 50406-1522 - Monitor basic function enabled +# 50407-1647 - Monitor and StopMonitor full functions enabled +# 50422-1120 - basic Originate function enabled +# 50428-1451 - basic SysCIDOriginate function enabled for checking voicemail +# 50502-1539 - basic RedirectName and RedirectNameVmail added +# 50503-1227 - added session_name checking for extra security +# 50523-1341 - added Conference call start/stop recording +# 50523-1421 - added OriginateName and OriginateNameVmail for local calls +# 50524-1602 - added RedirectToPark and RedirectFromPark +# 50531-1203 - added RedirecXtra for dual channel redirection +# 50630-1100 - script changed to not use HTTP login vars, user/pass instead +# 50804-1148 - Added RedirectVD for VICIDIAL blind redirection with logging +# 50815-1204 - Added NEXTAVAILABLE to RedirectXtra function +# 50903-2343 - Added HangupConfDial function to hangup in-dial channels in conf +# 50913-1057 - Added outbound_cid set if present to originate call +# 51020-1556 - Added agent_log_id framework for detailed agent activity logging +# 51118-1204 - Fixed Blind transfer bug from VICIDIAL when in manual dial mode +# 51129-1014 - Added ability to accept calls from other VICIDIAL servers +# 51129-1253 - Fixed Hangups of other agents channels in VICIDIAL AD +# 60310-2022 - Fixed NEXTAVAILABLE bug in leave-3way-call redirect function +# 60421-1413 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1158 - Added variable filters to close security holes for login form +# 60809-1544 - Added direct transfers to leave-3ways in consultative transfers +# 61004-1526 - Added parsing of volume control command and lookup or number +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61201-1115 - Added user to MonitorConf for recording_log +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70226-1251 - Added Mute/UnMute to conference volume control +# 70320-1502 - Added option to allow retry of leave-3way-call and debug logging +# 70322-1636 - Added sipsak display ability +# + +require("dbconnect.php"); + +### These are variable assignments for PHP globals off +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["queryCID"])) {$queryCID=$_GET["queryCID"];} + elseif (isset($_POST["queryCID"])) {$queryCID=$_POST["queryCID"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["filename"])) {$filename=$_GET["filename"];} + elseif (isset($_POST["filename"])) {$filename=$_POST["filename"];} +if (isset($_GET["extenName"])) {$extenName=$_GET["extenName"];} + elseif (isset($_POST["extenName"])) {$extenName=$_POST["extenName"];} +if (isset($_GET["parkedby"])) {$parkedby=$_GET["parkedby"];} + elseif (isset($_POST["parkedby"])) {$parkedby=$_POST["parkedby"];} +if (isset($_GET["extrachannel"])) {$extrachannel=$_GET["extrachannel"];} + elseif (isset($_POST["extrachannel"])) {$extrachannel=$_POST["extrachannel"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["secondS"])) {$secondS=$_GET["secondS"];} + elseif (isset($_POST["secondS"])) {$secondS=$_POST["secondS"];} +if (isset($_GET["outbound_cid"])) {$outbound_cid=$_GET["outbound_cid"];} + elseif (isset($_POST["outbound_cid"])) {$outbound_cid=$_POST["outbound_cid"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["call_server_ip"])) {$call_server_ip=$_GET["call_server_ip"];} + elseif (isset($_POST["call_server_ip"])) {$call_server_ip=$_POST["call_server_ip"];} +if (isset($_GET["CalLCID"])) {$CalLCID=$_GET["CalLCID"];} + elseif (isset($_POST["CalLCID"])) {$CalLCID=$_POST["CalLCID"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["allow_sipsak_messages"])) {$allow_sipsak_messages=$_GET["allow_sipsak_messages"];} + elseif (isset($_POST["allow_sipsak_messages"])) {$allow_sipsak_messages=$_POST["allow_sipsak_messages"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$secondS = ereg_replace("[^0-9]","",$secondS); + +# default optional vars if not set +if (!isset($ACTION)) {$ACTION="Originate";} +if (!isset($format)) {$format="alert";} +if (!isset($ext_priority)) {$ext_priority="1";} + +$version = '2.0.29'; +$build = '70320-1502'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalide Utilisateurname/Mot de passe: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalide server_ip: |$server_ip| or Invalide session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalide session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Envoi de l'Administrateur: "; +if ($ACTION=="Originate") {echo "Originate";} +if ($ACTION=="Redirect") {echo "Redirect";} +if ($ACTION=="RedirectName") {echo "RedirectName";} +if ($ACTION=="Hangup") {echo "Hangup";} +if ($ACTION=="Command") {echo "Command";} +if ($ACTION==99999) {echo "AIDE";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ACTION=SysCIDOriginate - insert Originate Manager statement allowing small CIDs for system calls +###################### +if ($ACTION=="SysCIDOriginate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<1) ) + { + echo "Exten $exten est invalide or queryCID $queryCID est invalide, Originate commande non insérée\n"; + } + else + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Originate commande envoyée pour Exten $exten Canal $channel sur $server_ip\n"; + } +} + + + +###################### +# ACTION=Originate, OriginateName, OriginateNameVmail - insert Originate Manager statement +###################### +if ($ACTION=="OriginateName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Une de ces variables est invalide:\n"; + echo "Canal $channel doit avoir plus de 2 caractères \n"; + echo "queryCID $queryCID doit avoir plus de 14 caractères \n"; + echo "extenName $extenName est obligatoire\n"; + echo "ext_context $ext_context est obligatoire\n"; + echo "ext_priority $ext_priority est obligatoire\n"; + echo "\nOriginateName Action pas envoyé\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Une de ces variables est invalide:\n"; + echo "Canal $channel doit avoir plus de 2 caractères \n"; + echo "queryCID $queryCID doit avoir plus de 14 caractères \n"; + echo "extenName $extenName est obligatoire\n"; + echo "exten $exten est obligatoire\n"; + echo "ext_context $ext_context est obligatoire\n"; + echo "ext_priority $ext_priority est obligatoire\n"; + echo "\nOriginateNameVmail Action pas envoyé\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateVDRelogin") +{ + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $CIDdate = date("ymdHis"); + $DS='-'; + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $queryCID = "$SIPSAK_prefix$campaign$DS$CIDdate"; + + } + $ACTION="Originate"; +} + +if ($ACTION=="Originate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<10) ) + { + echo "Exten $exten est invalide or queryCID $queryCID est invalide, Originate commande non insérée\n"; + } + else + { + if (strlen($outbound_cid)>1) + {$outCID = "\"$queryCID\" <$outbound_cid>";} + else + {$outCID = "$queryCID";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $outCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Originate commande envoyée pour Exten $exten Canal $channel sur $server_ip\n"; + } +} + + + +###################### +# ACTION=HangupConfDial - find the Local channel that is in the conference and needs to be hung up +###################### +if ($ACTION=="HangupConfDial") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "conference $exten est invalide or ext_context $ext_context or queryCID $queryCID est invalide, Hangup commande non insérée\n"; + } + else + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $hangup_channel_prefix = "$local_DEF$exten$local_AMP$ext_context"; + + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row > 0) + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $channel=$rowx[0]; + $ACTION="Hangup"; + $queryCID = eregi_replace("^.","G",$queryCID); + } + } +} + + + +###################### +# ACTION=Hangup - insert Hangup Manager statement +###################### +if ($ACTION=="Hangup") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) ) + { + $channel_live=0; + echo "Canal $channel est invalide or queryCID $queryCID est invalide, Hangup commande non insérée\n"; + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + +# $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $row=mysql_fetch_row($rslt); +# if ($row[0]==0) +# { +# $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $rowx=mysql_fetch_row($rslt); +# if ($rowx[0]==0) +# { +# $channel_live=0; +# echo "Channel $channel is not live on $call_server_ip, Hangup command not inserted\n"; +# } +# } + if ( ($auto_dial_level > 0) and (strlen($CalLCID)>2) and (strlen($exten)>2) and ($secondS > 4)) + { + $stmt="SELECT count(*) FROM vicidial_auto_calls where channel='$channel' and callerid='$CalLCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + echo "Call $CalLCID $channel n'est pas en ligne sur $call_server_ip, Checking Live Canal...\n"; + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel' and extension LIKE \"%$exten\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $channel_live=0; + echo "Canal $channel n'est pas en ligne sur $call_server_ip, Hangup commande non insérée $rowx[0]\n$stmt\n"; + } + else + { + echo "$stmt\n"; + } + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Hangup','$queryCID','Channel: $channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Hangup commande envoyée pour Canal $channel sur $call_server_ip\n"; + } + } +} + + + +###################### +# ACTION=Redirect, RedirectName, RedirectNameVmail, RedirectToPark, RedirectFromPark, RedirectVD, RedirectXtra, RedirectXtraCX +# - insert Redirect Manager statement using extensions name +###################### +if ($ACTION=="RedirectVD") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($campaign)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($uniqueid)<2) or (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "Une de ces variables est invalide:\n"; + echo "Canal $channel doit avoir plus de 2 caractères \n"; + echo "queryCID $queryCID doit avoir plus de 14 caractères \n"; + echo "exten $exten est obligatoire\n"; + echo "ext_context $ext_context est obligatoire\n"; + echo "ext_priority $ext_priority est obligatoire\n"; + echo "auto_dial_level $auto_dial_level est obligatoire\n"; + echo "campaign $campaign est obligatoire\n"; + echo "uniqueid $uniqueid est obligatoire\n"; + echo "lead_id $lead_id est obligatoire\n"; + echo "\nRedirectVD Action pas envoyé\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where lead_id='$lead_id' order by start_epoch desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + if ($auto_dial_level < 1) + { + $stmt = "UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt = "DELETE from vicidial_auto_calls where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectToPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($parkedby)<1) ) + { + $channel_live=0; + echo "Une de ces variables est invalide:\n"; + echo "Canal $channel doit avoir plus de 2 caractères \n"; + echo "queryCID $queryCID doit avoir plus de 14 caractères \n"; + echo "exten $exten est obligatoire\n"; + echo "extenName $extenName est obligatoire\n"; + echo "ext_context $ext_context est obligatoire\n"; + echo "ext_priority $ext_priority est obligatoire\n"; + echo "parkedby $parkedby est obligatoire\n"; + echo "\nRedirectToPark Action pas envoyé\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "INSERT INTO parked_channels values('$channel','$server_ip','','$extenName','$parkedby','$NOW_TIME');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectFromPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Une de ces variables est invalide:\n"; + echo "Canal $channel doit avoir plus de 2 caractères \n"; + echo "queryCID $queryCID doit avoir plus de 14 caractères \n"; + echo "exten $exten est obligatoire\n"; + echo "ext_context $ext_context est obligatoire\n"; + echo "ext_priority $ext_priority est obligatoire\n"; + echo "\nRedirectFromPark Action pas envoyé\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "DELETE FROM parked_channels where server_ip='$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Une de ces variables est invalide:\n"; + echo "Canal $channel doit avoir plus de 2 caractères \n"; + echo "queryCID $queryCID doit avoir plus de 14 caractères \n"; + echo "extenName $extenName est obligatoire\n"; + echo "ext_context $ext_context est obligatoire\n"; + echo "ext_priority $ext_priority est obligatoire\n"; + echo "\nRedirectName Action pas envoyé\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Redirect"; + } + } +} + +if ($ACTION=="RedirectNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Une de ces variables est invalide:\n"; + echo "Canal $channel doit avoir plus de 2 caractères \n"; + echo "queryCID $queryCID doit avoir plus de 14 caractères \n"; + echo "extenName $extenName est obligatoire\n"; + echo "exten $exten est obligatoire\n"; + echo "ext_context $ext_context est obligatoire\n"; + echo "ext_priority $ext_priority est obligatoire\n"; + echo "\nRedirectNameVmail Action pas envoyé\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Redirect"; + } + } +} + +if ($ACTION=="RedirectXtraCX") +{ + $DBout=''; + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Une de ces variables est invalide:\n"; + echo "Canal $channel doit avoir plus de 2 caractères \n"; + echo "ExtraCanal $extrachannel doit avoir plus de 2 caractères \n"; + echo "queryCID $queryCID doit avoir plus de 14 caractères \n"; + echo "exten $exten est obligatoire\n"; + echo "ext_context $ext_context est obligatoire\n"; + echo "ext_priority $ext_priority est obligatoire\n"; + echo "\nRedirect Action pas envoyé\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Canal $channel n'est pas en ligne sur $call_server_ip, Redirect commande non insérée\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel n'est pas en ligne sur $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Canal $channel n'est pas en ligne sur $server_ip, Redirect commande non insérée\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel n'est pas en ligne sur $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + $stmt="SELECT count(*) FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $channel_liveY=0; + echo "No Local agent to send call to, Redirect commande non insérée\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + } + else + { + $stmt="SELECT server_ip,conf_exten,user FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $dest_server_ip = $rowx[0]; + $dest_session_id = $rowx[1]; + $dest_user = $rowx[2]; + $S='*'; + + $D_s_ip = explode('.', $dest_server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$dest_session_id$S$lead_id$S$dest_user$S$phone_code$S$phone_number$S$campaign$S"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','$queryCID','Channel: $extrachannel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtraCX commande envoyée pour Canal $channel sur $call_server_ip and \nHungup $extrachannel sur $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel sur $call_server_ip, Hungup $extrachannel sur $server_ip";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel sur $server_ip";} + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } +} + +if ($ACTION=="RedirectXtra") +{ + if ($channel=="$extrachannel") + {$ACTION="Redirect";} + else + { + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Une de ces variables est invalide:\n"; + echo "Canal $channel doit avoir plus de 2 caractères \n"; + echo "ExtraCanal $extrachannel doit avoir plus de 2 caractères \n"; + echo "queryCID $queryCID doit avoir plus de 14 caractères \n"; + echo "exten $exten est obligatoire\n"; + echo "ext_context $ext_context est obligatoire\n"; + echo "ext_priority $ext_priority est obligatoire\n"; + echo "\nRedirect Action pas envoyé\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if ($exten == "NEXTAVAILABLE") + { + $stmt="SELECT conf_exten FROM conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 3) + { + $stmt="UPDATE conferences set extension='$user' where server_ip='$server_ip' and conf_exten='$row[0]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $exten = $row[0]; + } + else + { + $channel_liveX=0; + echo "Il n'y a pas de conférence disponible sur $server_ip, Redirect commande non insérée\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Il n'y a pas de conférence disponible sur $server_ip";} + } + } + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Canal $channel n'est pas en ligne sur $call_server_ip, Redirect commande non insérée\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel n'est pas en ligne sur $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Canal $channel n'est pas en ligne sur $server_ip, Redirect commande non insérée\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel n'est pas en ligne sur $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + if ( ($server_ip=="$call_server_ip") or (strlen($call_server_ip)<7) ) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','ExtraChannel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra commande envoyée pour Canal $channel and \nExtraCanal $extrachannel\n to $exten sur $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten sur $server_ip";} + } + else + { + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$exten"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra commande envoyée pour Canal $channel sur $call_server_ip and \nExtraCanal $extrachannel\n to $exten sur $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } + } +} + + +if ($ACTION=="Redirect") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Une de ces variables est invalide:\n"; + echo "Canal $channel doit avoir plus de 2 caractères \n"; + echo "queryCID $queryCID doit avoir plus de 14 caractères \n"; + echo "exten $exten est obligatoire\n"; + echo "ext_context $ext_context est obligatoire\n"; + echo "ext_priority $ext_priority est obligatoire\n"; + echo "\nRedirect Action pas envoyé\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Canal $channel n'est pas en ligne sur $server_ip, Redirect commande non insérée\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "Redirect commande envoyée pour Canal $channel sur $server_ip\n"; + } + } +} + + + +###################### +# ACTION=Monitor or Stop Monitor - insert Monitor/StopMonitor Manager statement to start recording on a channel +###################### +if ( ($ACTION=="Monitor") || ($ACTION=="StopMonitor") ) +{ + if ($ACTION=="StopMonitor") + {$SQLfile = "";} + else + {$SQLfile = "File: $filename";} + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Canal $channel est invalide or queryCID $queryCID est invalide or filename: $filename est invalide, $ACTION commande non insérée\n"; + } + else + { + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Canal $channel n'est pas en ligne sur $server_ip, $ACTION commande non insérée\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','$ACTION','$queryCID','Channel: $channel','$SQLfile','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + if ($ACTION=="Monitor") + { + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + } + else + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + } + echo "$ACTION commande envoyée pour Canal $channel sur $server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n"; + } + } +} + + + + + + +###################### +# ACTION=MonitorConf or StopMonitorConf - insert Monitor/StopMonitor Manager statement to start recording on a conference +###################### +if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<3) or (strlen($channel)<4) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Canal $channel est invalide or exten $exten est invalide or filename: $filename est invalide, $ACTION commande non insérée\n"; + } + else + { + + if ($ACTION=="MonitorConf") + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$filename','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $filename','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + } + else + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + # find and hang up all recordings going sur in this conference # and extension = '$exten' + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + # $rec_count = intval(mysql_num_rows($rslt) / 2); + $rec_count = mysql_num_rows($rslt); + $h=0; + while ($rec_count>$h) + { + $rowx=mysql_fetch_row($rslt); + $HUchannel[$h] = $rowx[0]; + $h++; + } + $i=0; + while ($h>$i) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$i','Channel: $HUchannel[$i]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $i++; + } + + } + echo "$ACTION commande envoyée pour Canal $channel sur $server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n L'ENREGISTREMENT DURERA AU MAXIMUM 60 MINUTES\n"; + } +} + + + + + +###################### +# ACTION=VolumeControl - raise or lower the volume of a meetme participant +###################### +if ($ACTION=="VolumeControl") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($stage)<1) or (strlen($queryCID)<1) ) + { + echo "Conférence $exten, Stage $stage est invalide or queryCID $queryCID est invalide, Originate commande non insérée\n"; + } + else + { + $participant_number='XXYYXXYYXXYYXX'; + if (eregi('UP',$stage)) {$vol_prefix='4';} + if (eregi('DOWN',$stage)) {$vol_prefix='3';} + if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} + if (eregi('MUTING',$stage)) {$vol_prefix='1';} + $local_DEF = 'Local/'; + $local_AMP = '@'; + $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $volume_local_channel','Context: $ext_context','Exten: 8300','Priority: 1','Callerid: $queryCID','','','','$channel','$exten');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Volume commande envoyée pour Conférence $exten, Stage $stage Canal $channel sur $server_ip\n"; + } +} + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='debug') {echo "\n";} +if ($format=='debug') {echo "\n\n\n";} + +exit; + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/park_calls_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/park_calls_display.php new file mode 100644 index 00000000..c50f7365 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/park_calls_display.php @@ -0,0 +1,146 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send the details on the parked calls on the server +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### + +# changes +# 50524-1515 - First build of script +# 50711-1208 - removed HTTP authentication in favor of user/pass vars +# 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($park_limit)) {$park_limit="1000";} + +$version = '0.0.4'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) ) + { + echo "Invalide Utilisateurname/Mot de passe: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { + echo "Invalide server_ip: |$server_ip| or Invalide session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalide session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Affichage des appels en Attente"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten est invalide ou protocole $protocol est invalide\n"; + exit; + } + else + { + ##### print parked calls from the parked_channels table + $stmt="SELECT * from parked_channels where server_ip = '$server_ip' order by parked_time limit $park_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $park_calls_count = mysql_num_rows($rslt); + echo "$park_calls_count\n"; + $loop_count=0; + while ($park_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0] ~$row[2] ~$row[3] ~$row[4] ~$row[5]|"; + } + echo "\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/vdc_db_query.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/vdc_db_query.php new file mode 100644 index 00000000..b9b7f19f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/vdc_db_query.php @@ -0,0 +1,2535 @@ + LICENSE: GPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('regCLOSER','manDiaLnextCALL','manDiaLskip','manDiaLonly','manDiaLlookCALL','manDiaLlogCALL','userLOGout','updateDISPO','VDADpause','VDADready','VDADcheckINCOMING','UpdatEFavoritEs','CalLBacKLisT','CalLBacKCounT','PauseCodeSubmit','LogiNCamPaigns') +# - $stage - ('start','finish','lookup','new') +# - $closer_choice - ('CL_TESTCAMP_L CL_OUT123_L -') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $campaign - ('testcamp',...) +# - $dial_timeout - ('60','26',...) +# - $dial_prefix - ('9','8',...) +# - $campaign_cid - ('3125551212','0000000000',...) +# - $MDnextCID - ('M06301413000000002',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('36524',...) +# - $list_id - ('101','123456',...) +# - $length_in_sec - ('12',...) +# - $phone_code - ('1',...) +# - $phone_number - ('3125551212',...) +# - $channel - ('Zap/12-1',...) +# - $start_epoch - ('1120236911',...) +# - $vendor_lead_code - ('1234test',...) +# - $title - ('Mr.',...) +# - $first_name - ('Bob',...) +# - $middle_initial - ('L',...) +# - $last_name - ('Wilson',...) +# - $address1 - ('1324 Main St.',...) +# - $address2 - ('Apt. 12',...) +# - $address3 - ('co Robert Wilson',...) +# - $city - ('Chicago',...) +# - $state - ('IL',...) +# - $province - ('NA',...) +# - $postal_code - ('60054',...) +# - $country_code - ('USA',...) +# - $gender - ('M',...) +# - $date_of_birth - ('1970-01-01',...) +# - $alt_phone - ('3125551213',...) +# - $email - ('bob@bob.com',...) +# - $security_phrase - ('Hello',...) +# - $comments - ('Good Customer',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $VDstop_rec_after_each_call - ('0','1') +# - $conf_silent_prefix - ('7','8','',...) +# - $extension - ('123','user123','25-1',...) +# - $protocol - ('Zap','SIP','IAX2',...) +# - $user_abb - ('1234','6666',...) +# - $preview - ('YES','NO',...) +# - $called_count - ('0','1','2',...) +# - $agent_log_id - ('123456',...) +# - $agent_log - ('NO',...) +# - $favorites_list - (",'cc160','cc100'",...) +# - $CallBackDatETimE - ('2006-04-21 14:30:00',...) +# - $recipient - ('ANYONE,'USERONLY') +# - $callback_id - ('12345','12346',...) +# - $use_internal_dnc - ('Y','N') +# - $omit_phone_code - ('Y','N') +# - $no_delete_sessions - ('0','1') + +# CHANGELOG: +# 50629-1044 - First build of script +# 50630-1422 - Added manual dial action and MD channel lookup +# 50701-1451 - Added dial log for start and end of vicidial calls +# 50705-1239 - Added call disposition update +# 50804-1627 - Fixed updateDispo to update vicidial_log entry +# 50816-1605 - Added VDADpause/ready for auto dialing +# 50816-1811 - Added basic autodial call pickup functions +# 50817-1005 - Altered logging functions to accomodate auto_dialing +# 50818-1305 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1411 - Added hangup of agent phone after Logout +# 50901-1315 - Fixed CLOSER IN-GROUP Web Form bug +# 50902-1507 - Fixed CLOSER log length_in_sec bug +# 50902-1730 - Added functions for manual preview dialing and revert +# 50913-1214 - Added agent random update to leadupdate +# 51020-1421 - Added agent_log_id framework for detailed agent activity logging +# 51021-1717 - Allows for multi-line comments (changes \n to !N in database) +# 51111-1046 - Added vicidial_agent_log lead_id earlier for manual dial +# 51121-1445 - Altered echo statements for several small PHP speed optimizations +# 51122-1328 - Fixed UserLogout issue not removing conference reservation +# 51129-1012 - Added ability to accept calls from other VICIDIAL servers +# 51129-1729 - Changed manual dial to use the '/n' flag for calls +# 51221-1154 - Added SCRIPT id lookup and sending to vicidial.php for display +# 60105-1059 - Added Updating of astguiclient favorites in the DB +# 60208-1617 - Added dtmf buttons output per call +# 60213-1521 - Added closer_campaigns update to vicidial_users +# 60215-1036 - Added Callback date-time entry into vicidial_callbacks table +# 60413-1541 - Added USERONLY Callback listings output - CalLBacKLisT +# - Added USERONLY Callback count output - CalLBacKCounT +# 60414-1140 - Added Callback lead lookup for manual dialing +# 60419-1517 - After CALLBK is sent to agent, update callback record to INACTIVE +# 60421-1419 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60427-1236 - Fixed closer_choice error for CLOSER campaigns +# 60609-1148 - Added ability to check for manual dial numbers in DNC +# 60619-1117 - Added variable filters to close security holes for login form +# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic +# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing +# 60821-1647 - Added ability to not delete sessions at logout +# 60906-1124 - Added lookup and sending of callback data for CALLBK calls +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70115-1733 - Added alt_dial functionality in auto-dial modes +# 70118-1501 - Added user_group to vicidial_log,_agent_log,_closer_log,_callbacks +# 70123-1357 - Fixed bug that would not update vicidial_closer_log status to dispo +# 70202-1438 - Added pause code submit function +# 70203-0930 - Added dialed_number to lead info output +# 70203-1030 - Added dialed_label to lead info output +# 70206-1126 - Added INBOUND status for inbound/closer calls in vicidial_live_agents +# 70212-1253 - Fixed small issue with CXFER +# 70213-1431 - Added QueueMetrics PAUSE/UNPAUSE/AGENTLOGIN/AGENTLOGOFF actions +# 70214-1231 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1210 - Added queuemetrics COMPLETEAGENT action +# 70216-1051 - Fixed double call complete queuemetrics logging +# 70222-1616 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70309-1034 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70319-1544 - Added agent disable update customer data function +# 70322-1545 - Added sipsak display ability +# 70413-1253 - Fixed bug for outbound call time in CLOSER-type blended campaigns +# 70424-1100 - Fixed bug for fronter/closer calls that would delete vdac records +# 70802-1729 - Fixed bugs with pause_sec and wait_sec under certain call handling +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71029-1855 - removed campaign_id naming restrictions for CLOSER-type campaigns +# 71030-2047 - added hopper priority for auto alt dial entries +# 71116-1011 - added calls_today count updating of the vicidial_live_agents upon INCALL +# 71120-1520 - added LogiNCamPaigns to show only allowed campaigns for agents upon login +# 71125-1751 - Added inbound-group default inbound group sending to vicidial.php +# 71129-2025 - restricted callbacks count and list to campaign only +# + +$version = '2.0.4-65'; +$build = '71129-2025'; + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["closer_choice"])) {$closer_choice=$_GET["closer_choice"];} + elseif (isset($_POST["closer_choice"])) {$closer_choice=$_POST["closer_choice"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["dial_timeout"])) {$dial_timeout=$_GET["dial_timeout"];} + elseif (isset($_POST["dial_timeout"])) {$dial_timeout=$_POST["dial_timeout"];} +if (isset($_GET["dial_prefix"])) {$dial_prefix=$_GET["dial_prefix"];} + elseif (isset($_POST["dial_prefix"])) {$dial_prefix=$_POST["dial_prefix"];} +if (isset($_GET["campaign_cid"])) {$campaign_cid=$_GET["campaign_cid"];} + elseif (isset($_POST["campaign_cid"])) {$campaign_cid=$_POST["campaign_cid"];} +if (isset($_GET["MDnextCID"])) {$MDnextCID=$_GET["MDnextCID"];} + elseif (isset($_POST["MDnextCID"])) {$MDnextCID=$_POST["MDnextCID"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["length_in_sec"])) {$length_in_sec=$_GET["length_in_sec"];} + elseif (isset($_POST["length_in_sec"])) {$length_in_sec=$_POST["length_in_sec"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["start_epoch"])) {$start_epoch=$_GET["start_epoch"];} + elseif (isset($_POST["start_epoch"])) {$start_epoch=$_POST["start_epoch"];} +if (isset($_GET["dispo_choice"])) {$dispo_choice=$_GET["dispo_choice"];} + elseif (isset($_POST["dispo_choice"])) {$dispo_choice=$_POST["dispo_choice"];} +if (isset($_GET["vendor_lead_code"])) {$vendor_lead_code=$_GET["vendor_lead_code"];} + elseif (isset($_POST["vendor_lead_code"])) {$vendor_lead_code=$_POST["vendor_lead_code"];} +if (isset($_GET["title"])) {$title=$_GET["title"];} + elseif (isset($_POST["title"])) {$title=$_POST["title"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["middle_initial"])) {$middle_initial=$_GET["middle_initial"];} + elseif (isset($_POST["middle_initial"])) {$middle_initial=$_POST["middle_initial"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["gender"])) {$gender=$_GET["gender"];} + elseif (isset($_POST["gender"])) {$gender=$_POST["gender"];} +if (isset($_GET["date_of_birth"])) {$date_of_birth=$_GET["date_of_birth"];} + elseif (isset($_POST["date_of_birth"])) {$date_of_birth=$_POST["date_of_birth"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["security_phrase"])) {$security_phrase=$_GET["security_phrase"];} + elseif (isset($_POST["security_phrase"])) {$security_phrase=$_POST["security_phrase"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_GET["VDstop_rec_after_each_call"];} + elseif (isset($_POST["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_POST["VDstop_rec_after_each_call"];} +if (isset($_GET["conf_silent_prefix"])) {$conf_silent_prefix=$_GET["conf_silent_prefix"];} + elseif (isset($_POST["conf_silent_prefix"])) {$conf_silent_prefix=$_POST["conf_silent_prefix"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["user_abb"])) {$user_abb=$_GET["user_abb"];} + elseif (isset($_POST["user_abb"])) {$user_abb=$_POST["user_abb"];} +if (isset($_GET["preview"])) {$preview=$_GET["preview"];} + elseif (isset($_POST["preview"])) {$preview=$_POST["preview"];} +if (isset($_GET["called_count"])) {$called_count=$_GET["called_count"];} + elseif (isset($_POST["called_count"])) {$called_count=$_POST["called_count"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["agent_log"])) {$agent_log=$_GET["agent_log"];} + elseif (isset($_POST["agent_log"])) {$agent_log=$_POST["agent_log"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} +if (isset($_GET["CallBackDatETimE"])) {$CallBackDatETimE=$_GET["CallBackDatETimE"];} + elseif (isset($_POST["CallBackDatETimE"])) {$CallBackDatETimE=$_POST["CallBackDatETimE"];} +if (isset($_GET["recipient"])) {$recipient=$_GET["recipient"];} + elseif (isset($_POST["recipient"])) {$recipient=$_POST["recipient"];} +if (isset($_GET["callback_id"])) {$callback_id=$_GET["callback_id"];} + elseif (isset($_POST["callback_id"])) {$callback_id=$_POST["callback_id"];} +if (isset($_GET["use_internal_dnc"])) {$use_internal_dnc=$_GET["use_internal_dnc"];} + elseif (isset($_POST["use_internal_dnc"])) {$use_internal_dnc=$_POST["use_internal_dnc"];} +if (isset($_GET["omit_phone_code"])) {$omit_phone_code=$_GET["omit_phone_code"];} + elseif (isset($_POST["omit_phone_code"])) {$omit_phone_code=$_POST["omit_phone_code"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} + + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); +$phone_code = ereg_replace("[^0-9]","",$phone_code); +$phone_number = ereg_replace("[^0-9]","",$phone_number); + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} + +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$MT[0]=''; +$agents='@agents'; + +if ($ACTION == 'LogiNCamPaigns') + { + $skip_user_validation=1; + } +else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalide Utilisateurname/Mot de passe: |$user|$pass|\n"; + exit; + } + else + { + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalide server_ip: |$server_ip| or Invalide session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalide session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } +} + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDiaL Script De Requète à la Base de données"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + +################################################################################ +### LogiNCamPaigns - generates an HTML SELECT list of allowed campaigns for a +### specific agent on the login screen +################################################################################ +if ($ACTION == 'LogiNCamPaigns') +{ + if ( (strlen($user)<1) ) + { + echo "\n"; + exit; + } + else + { + echo "\n"; + exit; + } +} + + + +################################################################################ +### regCLOSER - update the vicidial_live_agents table to reflect the closer +### inbound choices made upon login +################################################################################ +if ($ACTION == 'regCLOSER') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($closer_choice)<1) || (strlen($user)<1) ) + { + $channel_live=0; + echo "Selection De Groupe $closer_choice est invalide\n"; + exit; + } + else + { + if ($closer_choice == "MGRLOCK-") + { + $stmt="SELECT closer_campaigns FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $closer_choice =$row[0]; + + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_users set closer_campaigns='$closer_choice' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $in_groups_pre = preg_replace('/-$/','',$closer_choice); + $in_groups = explode(" ",$in_groups_pre); + $in_groups_ct = count($in_groups); + $k=1; + while ($k < $in_groups_ct) + { + if (strlen($in_groups[$k])>1) + { + $stmt="SELECT group_weight,calls_today FROM vicidial_inbound_group_agents where user='$user' and group_id='$in_groups[$k]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $viga_ct = mysql_num_rows($rslt); + if ($viga_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_weight = $row[0]; + $calls_today = $row[1]; + } + else + { + $group_weight = 0; + $calls_today = 0; + } + $stmt="INSERT INTO vicidial_live_inbound_agents set user='$user',group_id='$in_groups[$k]',group_weight='$group_weight',calls_today='$calls_today',last_call_time='$NOW_TIME',last_call_finish='$NOW_TIME';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + $k++; + } + + } + echo "Closer In Selection De Groupe $closer_choice a été attribué à l'utilisateur $user\n"; +} + + +################################################################################ +### manDiaLnextCALL - for manual VICIDiaL dialing this will grab the next lead +### in the campaign, reserve it, send data back to client and +### place the call by inserting into vicidial_manager +################################################################################ +if ($ACTION == 'manDiaLnextCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "LISTE D'APPEL VIDE\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context est invalide\n"; + exit; + } + else + { + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### check if this is a callback, if it is, skip the grabbing of a new lead and mark the callback as INACTIVE + if ( (strlen($callback_id)>0) and (strlen($lead_id)>0) ) + { + $affected_rows=1; + $CBleadIDset=1; + + $stmt = "UPDATE vicidial_callbacks set status='INACTIVE' where callback_id='$callback_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + if (strlen($phone_number)>3) + { + if ($use_internal_dnc=='Y') + { + $stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + echo "DNC NOMBRE\n"; + exit; + } + } + if ($stage=='lookup') + { + $stmt="SELECT lead_id FROM vicidial_list where phone_number='$phone_number' order by modify_date desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $man_leadID_ct = mysql_num_rows($rslt); + if ($man_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $affected_rows=1; + $lead_id =$row[0]; + $CBleadIDset=1; + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### grab the next lead in the hopper for this campaign and reserve it for the user + $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by hopper_id LIMIT 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + } + + if ($affected_rows > 0) + { + if (!$CBleadIDset) + { + ##### grab the lead_id of the reserved user in vicidial_hopper + $stmt="SELECT lead_id FROM vicidial_hopper where campaign_id='$campaign' and status='QUEUE' and user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $hopper_leadID_ct = mysql_num_rows($rslt); + if ($hopper_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + } + } + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = trim("$row[29]"); + $called_count = trim("$row[30]"); + } + + $called_count++; + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M\n"); + fclose($fp); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='Y', called_count='$called_count',user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + if (!$CBleadIDset) + { + ### delete the lead from the hopper + $stmt = "DELETE FROM vicidial_hopper where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id',comments='MANUAL' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + ### if preview dialing, do not send the call + if ( (strlen($preview)<1) || ($preview == 'NO') ) + { + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + $Local_persist = '/n'; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update calls_today count in vicidial_campaign_agents + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $MqueryCID . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= "MAIN\n"; + $LeaD_InfO .= $source_id . "\n"; + + echo $LeaD_InfO; + + } + else + { + echo "LISTE D'APPEL VIDE\n"; + } + } +} + + +################################################################################ +### manDiaLskip - for manual VICIDiaL dialing this skips the lead that was +### previewed in the step above and puts it back in orig status +################################################################################ +if ($ACTION == 'manDiaLskip') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($stage)<1) || (strlen($called_count)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "LEAD NOT REVERTED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context est invalide\n"; + exit; + } + else + { + $called_count = ($called_count - 1); + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='$stage', called_count='$called_count',user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + + echo "LEAD REVERTED\n"; + } +} + + +################################################################################ +### manDiaLonly - for manual VICIDiaL dialing this sends the call that was +### previewed in the step above +################################################################################ +if ($ACTION == 'manDiaLonly') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) || (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo " APPEL NOT PLACED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context est invalide\n"; + exit; + } + else + { + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + $Local_persist = '/n'; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + echo "$MqueryCID\n"; + } +} + + +################################################################################ +### manDiaLlookCALL - for manual VICIDiaL dialing this will attempt to look up +### the trunk channel that the call was placed on +################################################################################ +if ($ACTION == 'manDiaLlookCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; +if (strlen($MDnextCID)<18) + { + echo "NO\n"; + echo "MDnextCID $MDnextCID est invalide\n"; + exit; + } +else + { + ##### look for the channel in the UPDATED vicidial_manager record of the call initiation + $stmt="SELECT uniqueid,channel FROM vicidial_manager where callerid='$MDnextCID' and server_ip='$server_ip' and status='UPDATED' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid =$row[0]; + $channel =$row[1]; + echo "$uniqueid\n$channel"; + + $wait_sec=0; + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',wait_epoch='$StarTtime',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + echo "NO\n"; + } + } +} + + + +################################################################################ +### manDiaLlogCALL - for manual VICIDiaL logging of calls places record in +### vicidial_log and then sends process to call_log entry +################################################################################ +if ($ACTION == 'manDiaLlogCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + +if ($stage == "start") + { + if ( (strlen($uniqueid)<1) || (strlen($lead_id)<1) || (strlen($list_id)<1) || (strlen($phone_number)<1) || (strlen($campaign)<1) ) + { + echo "NOTATION NON ENTRÉE\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id or list_id: $list_id or phone_number: $phone_number or campaign: $campaign est invalide\n"; + exit; + } + else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### insert log into vicidial_log for manual VICIDiaL call + $stmt="INSERT INTO vicidial_log (uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,comments,processed,user_group) values('$uniqueid','$lead_id','$list_id','$campaign','$NOW_TIME','$StarTtime','INCALL','$phone_code','$phone_number','$user','MANUAL','N','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "VICIDiaL_LOG Inséré: $uniqueid|$channel|$NOW_TIME\n"; + echo "$StarTtime\n"; + } + else + { + echo "NOTATION NON ENTRÉE\n"; + } + + $stmt = "UPDATE vicidial_auto_calls SET uniqueid='$uniqueid' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + # ##### insert log into call_log for manual VICIDiaL call + # $stmt = "INSERT INTO call_log (uniqueid,channel,server_ip,extension,number_dialed,caller_code,start_time,start_epoch) values('$uniqueid','$channel','$server_ip','$exten','$phone_code$phone_number','MD $user $lead_id','$NOW_TIME','$StarTtime')"; + # if ($DB) {echo "$stmt\n";} + # $rslt=mysql_query($stmt, $link); + # $affected_rows = mysql_affected_rows($link); + + # if ($affected_rows > 0) + # { + # echo "CALL_LOG Inséré: $uniqueid|$channel|$NOW_TIME"; + # } + # else + # { + # echo "NOTATION NON ENTRÉE\n"; + # } + } + } + +if ($stage == "end") + { + if ( (strlen($uniqueid)<1) || (strlen($lead_id)<1) ) + { + echo "NOTATION NON ENTRÉE\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id est invalide\n"; + exit; + } + else + { + if ($start_epoch < 1000) + { + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ##### look for the start epoch in the vicidial_closer_log table + $stmt="SELECT start_epoch FROM vicidial_closer_log where phone_number='$phone_number' and lead_id='$lead_id' and user='$user' order by closecallid desc limit 1;"; + } + else + { + ##### look for the start epoch in the vicidial_log table + $stmt="SELECT start_epoch FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';"; + } + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch =$row[0]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($length_in_sec < 1) and ($row[0] > 0) ) + { + ##### start epoch in the vicidial_log table, couldn't find one in vicidial_closer_log + $stmt="SELECT start_epoch FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch =$row[0]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + } + } + else {$length_in_sec = ($StarTtime - $start_epoch);} + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec',status='DONE' where lead_id='$lead_id' order by start_epoch desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + ############################################# + ##### DEBUT QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ($auto_dial_level > 0) + { + ### check to see if campaign has alt_dial enabled + $stmt="SELECT auto_alt_dial FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_alt_dial =$row[0]; + } + else {$auto_alt_dial = 'NONE';} + if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3)",$auto_alt_dial)) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT alt_dial FROM vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_dial =$row[0]; + } + else {$alt_dial = 'NONE';} + + if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3)",$auto_alt_dial)) ) + { + $stmt="SELECT alt_phone,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_phone = $row[0]; + $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$alt_phone = '';} + if (strlen($alt_phone)>5) + { + ### insert record into vicidial_hopper for alt_phone call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ALT',user='',priority='25';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + } + if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + { + $stmt="SELECT address3,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $address3 = $row[0]; + $address3 = eregi_replace("[^0-9]","",$address3); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$address3 = '';} + if (strlen($address3)>5) + { + ### insert record into vicidial_hopper for address3 call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ADDR3',user='',priority='20';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + + if ($enable_queuemetrics_logging > 0) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/.*-/",'',$CLstage); + if (strlen($CLstage) < 1) {$CLstage=0;} + + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt="SELECT count(*) from queue_log where call_id='$MDnextCID' and verb='COMPLETECALLER';"; + $rslt=mysql_query($stmt, $linkB); + if ($DB) {echo "$stmt\n";} + $VAC_cc_ct = mysql_num_rows($rslt); + if ($VAC_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $caller_complete = $row[0]; + } + + if ($caller_complete < 1) + { + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + } + mysql_close($linkB); + } + + ### delete call record from vicidial_auto_calls + $stmt = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',lead_id='',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } + else + { + if ($enable_queuemetrics_logging > 0) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/XFER|-/",'',$CLstage); + if ($CLstage < 0.25) {$CLstage=0;} + + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + $stmt = "DELETE from vicidial_auto_calls lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',lead_id='',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } + + ##### look for the channel in the UPDATED vicidial_manager record of the call initiation + $stmt="UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec' where uniqueid='$uniqueid' and lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "$uniqueid\n$channel\n"; + } + else + { + echo "NOTATION NON ENTRÉE\n\n"; + } + } + + echo $VDstop_rec_after_each_call . '|' . $extension . '|' . $conf_silent_prefix . '|' . $conf_exten . '|' . $user_abb . "|\n"; + + ##### if VICIDiaL call and hangup_after_each_call activated, find all recording + ##### channels and hang them up while entering info into recording_log and + ##### returning filename/recordingID + if ($VDstop_rec_after_each_call == 1) + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $total_rec=0; + $loop_count=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten' order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$rec_list = mysql_num_rows($rslt);} + while ($rec_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/Local\/$conf_silent_prefix$conf_exten\@/i",$row[0])) + { + $rec_channels[$total_rec] = "$row[0]"; + $total_rec++; + } + if ($format=='debug') {echo "\n";} + $loop_count++; + } + + $total_recFN=0; + $loop_count=0; + $filename=$MT; # not necessary : and cmd_line_f LIKE \"%_$user_abb\" + $stmt="SELECT cmd_line_f FROM vicidial_manager where server_ip='$server_ip' and action='Originate' and cmd_line_b = 'Channel: $local_DEF$conf_silent_prefix$conf_exten$local_AMP$ext_context' order by entry_date desc limit $total_rec;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$recFN_list = mysql_num_rows($rslt);} + while ($recFN_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + $filename[$total_recFN] = preg_replace("/Callerid: /i","",$row[0]); + if ($format=='debug') {echo "\n";} + $total_recFN++; + $loop_count++; + } + + $loop_count=0; + while($loop_count < $total_rec) + { + if (strlen($rec_channels[$loop_count])>5) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$loop_count','Channel: $rec_channels[$loop_count]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "REC_STOP|$rec_channels[$loop_count]|$filename[$loop_count]|"; + if (strlen($filename)>2) + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename[$loop_count]'"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$fn_count = mysql_num_rows($rslt);} + if ($fn_count) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt="UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename[$loop_count]' and end_epoch is NULL;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "$recording_id|$length_in_min|"; + } + else {echo "||";} + } + else {echo "||";} + echo "\n"; + } + $loop_count++; + } + } + + + $talk_sec=0; + $StarTtime = date("U"); + $stmt = "select talk_epoch,talk_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $talk_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set talk_sec='$talk_sec',talk_epoch='$StarTtime',dispo_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } +} + + +################################################################################ +### VDADREcheckINCOMING - for auto-dial VICIDiaL dialing this will recheck for +### calls to see if the channel has updated +################################################################################ +if ($ACTION == 'VDADREcheckINCOMING') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Campagne $campaign est invalide\n"; + echo "lead_id $lead_id est invalide\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + } + } +} + + +################################################################################ +### VDADcheckINCOMING - for auto-dial VICIDiaL dialing this will check for calls +### in the vicidial_live_agents table in QUEUE status, then +### lookup the lead info and pass it back to vicidial.php +################################################################################ +if ($ACTION == 'VDADcheckINCOMING') +{ + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Campagne $campaign est invalide\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and status='QUEUE';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',comments='AUTO',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = trim("$row[29]"); + $called_count = trim("$row[30]"); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + $stmt = "UPDATE vicidial_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select campaign_id,phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group =$row[0]; + $dialed_number =$row[1]; + $dialed_label =$row[2]; + } + else + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|\n"); + fclose($fp); + } + } + + $stmt = "select count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + + $stmt = "select * from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[1]; + $VDCL_group_color = $row[2]; + $VDCL_group_web = $row[4]; + $VDCL_fronter_display = $row[7]; + $VDCL_ingroup_script = $row[8]; + $VDCL_get_call_launch = $row[9]; + $VDCL_xferconf_a_dtmf = $row[10]; + $VDCL_xferconf_a_number = $row[11]; + $VDCL_xferconf_b_dtmf = $row[12]; + $VDCL_xferconf_b_number = $row[13]; + $VDCL_default_xfer_group= $row[28]; + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set comments='INBOUND' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $Ctype = 'I'; + } + else + { + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + } + } + + ### if web form is set then send sur to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|\n";} + else {echo "|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + } + else + { + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_campaign_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + } + echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|\n|\n"; + + $stmt = "select phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dialed_number =$row[0]; + $dialed_label =$row[1]; + } + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + ### If APPELBK, change vicidial_callback record to INACTIVE + if (eregi("CALLBK|CBHOLD", $dispo)) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype\n"); + fclose($fp); + } + + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user sur $server_ip\n"; + exit; + } + } +} + + +################################################################################ +### userLOGout - Logs the user out of VICIDiaL client, deleting db records and +### inserting into vicidial_user_log +################################################################################ +if ($ACTION == 'userLOGout') +{ + $MT[0]=''; + $row=''; $rowx=''; +if ( (strlen($campaign)<1) || (strlen($conf_exten)<1) ) + { + echo "NO\n"; + echo "campaign $campaign or conf_exten $conf_exten est invalide\n"; + exit; + } +else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### Insert a DÉCONNEXION record into the user log + $stmt="INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$user','DÉCONNEXION','$campaign','$NOW_TIME','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vul_insert = mysql_affected_rows($link); + + if ($no_delete_sessions < 1) + { + ##### Remove the reservation sur the vicidial_conferences meetme room + $stmt="UPDATE vicidial_conferences set extension='' where server_ip='$server_ip' and conf_exten='$conf_exten';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vc_remove = mysql_affected_rows($link); + } + + ##### Delete the vicidial_live_agents record for this session + $stmt="DELETE from vicidial_live_agents where server_ip='$server_ip' and user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vla_delete = mysql_affected_rows($link); + + ##### Delete the vicidial_live_inbound_agents records for this session + $stmt="DELETE from vicidial_live_inbound_agents where user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vlia_delete = mysql_affected_rows($link); + + ##### Delete the web_client_sessions + $stmt="DELETE from web_client_sessions where server_ip='$server_ip' and session_name ='$session_name';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $wcs_delete = mysql_affected_rows($link); + + ##### Hangup the client phone + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$extension%\" order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) + { + $row=mysql_fetch_row($rslt); + $agent_channel = "$row[0]"; + if ($format=='debug') {echo "\n";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','ULGH3459$StarTtime','Channel: $agent_channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) + { + $row=mysql_fetch_row($rslt); + $pause_sec = (($StarTtime - $row[0]) + $row[1]); + + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + if ($vla_delete > 0) + { + ############################################# + ##### DEBUT QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_message = 'LOGGED OUT'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='PAUSE',serverid='1';"; + # if ($DB) {echo "$stmt\n";} + # if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + # $rslt=mysql_query($stmt, $linkB); + # $affected_rows = mysql_affected_rows($linkB); + + $stmt = "SELECT time_id FROM queue_log where agent='Agent/$user' and verb='AGENTLOGIN' order by time_id desc limit 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + if ($DB) {echo "$stmt\n";} + echo "$stmt\n"; + $li_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $li_conf_ct) + { + $row=mysql_fetch_row($rslt); + $logintime = $row[0]; + $i++; + } + + $time_logged_in = ($StarTtime - $logintime); + if ($time_logged_in > 1000000) {$time_logged_in=1;} + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='AGENTLOGOFF',data1='$user$agents',data2='$time_logged_in',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + echo "$vul_insert|$vc_remove|$vla_delete|$wcs_delete|$agent_channel|$vlia_delete\n"; + } +} + + +################################################################################ +### updateDISPO - update the vicidial_list table to reflect the agent choice of +### call disposition for that leand +################################################################################ +if ($ACTION == 'updateDISPO') +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($dispo_choice)<1) || (strlen($lead_id)<1) ) + { + echo "Dispo Choice $dispo or lead_id $lead_id est invalide\n"; + exit; + } + else + { + $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by uniqueid desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + if ( ($use_internal_dnc=='Y') and ($dispo_choice=='DNC') ) + { + $stmt = "select phone_number from vicidial_list where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $stmt="INSERT INTO vicidial_dnc (phone_number) values('$row[0]');"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + } + } + + $dispo_sec=0; + $StarTtime = date("U"); + $stmt = "select dispo_epoch,dispo_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dispo_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set dispo_sec='$dispo_sec',dispo_epoch='$StarTtime',status='$dispo_choice' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group) values('$user','$server_ip','$NOW_TIME','$campaign','$StarTtime','0','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + + ### APPELBACK ENTRY + if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) + { + $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$row[0])) ) + { + $stmt = "select count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE vicidial_hopper set status='READY' where lead_id='$lead_id' and status='HOLD' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + $stmt="DELETE from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + ############################################# + ##### DEBUT QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='CALLSTATUT',data1='$dispo_choice',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + echo 'Lead ' . $lead_id . ' a été changé en ' . $dispo_choice . " Statut\nNext agent_log_id:\n" . $agent_log_id . "\n"; +} + +################################################################################ +### updateLEAD - update the vicidial_list table to reflect the values that are +### in the agents screen at time of call hangup +################################################################################ +if ($ACTION == 'updateLEAD') +{ + $MT[0]=''; + $row=''; $rowx=''; + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + if ( (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + echo "phone_number $phone_number or lead_id $lead_id est invalide\n"; + exit; + } + else + { + + $stmt = "SELECT disable_alter_custdata FROM vicidial_campaigns where campaign_id='$campaign'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $dac_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $dac_conf_ct) + { + $row=mysql_fetch_row($rslt); + $disable_alter_custdata = $row[0]; + $i++; + } + if (ereg('Y',$disable_alter_custdata)) + { + $DO_NOT_UPDATE=1; + $DO_NOT_UPDATE_text=' NOT'; + $stmt = "SELECT alter_custdata_override FROM vicidial_users where user='$user'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $aco_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $aco_conf_ct) + { + $row=mysql_fetch_row($rslt); + $alter_custdata_override = $row[0]; + $i++; + } + if (ereg('ALLOW_ALTER',$alter_custdata_override)) + { + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + } + } + + if ($DO_NOT_UPDATE < 1) + { + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + $comments = eregi_replace("--AMP--",'&',$comments); + $comments = eregi_replace("--QUES--",'?',$comments); + $comments = eregi_replace("--POUND--",'#',$comments); + + $stmt="UPDATE vicidial_list set vendor_lead_code='" . mysql_real_escape_string($vendor_lead_code) . "', title='" . mysql_real_escape_string($title) . "', first_name='" . mysql_real_escape_string($first_name) . "', middle_initial='" . mysql_real_escape_string($middle_initial) . "', last_name='" . mysql_real_escape_string($last_name) . "', address1='" . mysql_real_escape_string($address1) . "', address2='" . mysql_real_escape_string($address2) . "', address3='" . mysql_real_escape_string($address3) . "', city='" . mysql_real_escape_string($city) . "', state='" . mysql_real_escape_string($state) . "', province='" . mysql_real_escape_string($province) . "', postal_code='" . mysql_real_escape_string($postal_code) . "', country_code='" . mysql_real_escape_string($country_code) . "', gender='" . mysql_real_escape_string($gender) . "', date_of_birth='" . mysql_real_escape_string($date_of_birth) . "', alt_phone='" . mysql_real_escape_string($alt_phone) . "', email='" . mysql_real_escape_string($email) . "', security_phrase='" . mysql_real_escape_string($security_phrase) . "', comments='" . mysql_real_escape_string($comments) . "' where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } + echo "Lead $lead_id information has$DO_NOT_UPDATE_text been updated\n"; +} + + +################################################################################ +### VDADpause - update the vicidial_live_agents table to show that the agent is +### or ready now active and ready to take calls +################################################################################ +if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($stage)<2) || (strlen($server_ip)<1) ) + { + echo "stage $stage est invalide\n"; + exit; + } + else + { + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set lead_id='',uniqueid=0,callerid='',channel='', random_id='$random',comments='' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_live_agents set status='$stage' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### DEBUT QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + if (ereg('READY',$stage)) {$QMstatus='UNPAUSEALL';} + if (ereg('PAUSE',$stage)) {$QMstatus='PAUSEALL';} + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='$QMstatus',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + if ($agent_log == 'NO') + {$donothing=1;} + else + { + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,wait_sec,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec=0; + if ($row[2] > 0) + { + $wait_sec = (($StarTtime - $row[2]) + $row[3]); + } + if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} + else + {$pause_sec = (($row[4] - $row[0]) + $row[1]);} + + } + if ($ACTION == 'VDADready') + { + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + if ($ACTION == 'VDADpause') + { + $stmt="UPDATE vicidial_agent_log set pause_epoch='$StarTtime',wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + echo 'Agent ' . $user . ' le statut actuel est ' . $stage . "\n"; +} + + +################################################################################ +### UpdatEFavoritEs - update the astguiclient favorites list for this extension +################################################################################ +if ($ACTION == 'UpdatEFavoritEs') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($favorites_list)<1) || (strlen($user)<1) || (strlen($exten)<1) ) + { + echo "favorites list $favorites_list est invalide\n"; + exit; + } + else + { + $stmt = "select count(*) from phone_favorites where extension='$exten' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE phone_favorites set extensions_list=\"$favorites_list\" where extension='$exten' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO phone_favorites values('$exten','$server_ip',\"$favorites_list\");"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + echo "Favorites list has been updated to $favorites_list for $exten\n"; +} + + +################################################################################ +### PauseCodeSubmit - Update vicidial_agent_log with pause code +################################################################################ +if ($ACTION == 'PauseCodeSubmit') +{ + $row=''; $rowx=''; + if ( (strlen($status)<1) || (strlen($agent_log_id)<1) ) + { + echo "agent_log_id $agent_log_id or pause_code $status est invalide\n"; + exit; + } + else + { + $stmt="UPDATE vicidial_agent_log set sub_status=\"$status\" where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### DEBUT QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'BK-'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='PAUSEREASON',serverid='$queuemetrics_log_id',data1='$status';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } +echo "Pause Code has been updated to $status for $agent_log_id\n"; +} + + +################################################################################ +### CalLBacKLisT - List the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKLisT') +{ +$stmt = "select callback_id,lead_id,campaign_id,status,entry_time,callback_time,comments from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD') order by callback_time;"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); +if ($rslt) {$callbacks_count = mysql_num_rows($rslt);} +echo "$callbacks_count\n"; +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $row=mysql_fetch_row($rslt); + $callback_id[$loop_count] = $row[0]; + $lead_id[$loop_count] = $row[1]; + $campaign_id[$loop_count] = $row[2]; + $status[$loop_count] = $row[3]; + $entry_time[$loop_count] = $row[4]; + $callback_time[$loop_count] = $row[5]; + $comments[$loop_count] = $row[6]; + $loop_count++; + } +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $stmt = "select first_name,last_name,phone_number from vicidial_list where lead_id='$lead_id[$loop_count]';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + echo "$row[0] ~$row[1] ~$row[2] ~$callback_id[$loop_count] ~$lead_id[$loop_count] ~$campaign_id[$loop_count] ~$status[$loop_count] ~$entry_time[$loop_count] ~$callback_time[$loop_count] ~$comments[$loop_count]\n"; + $loop_count++; + } + +} + + +################################################################################ +### CalLBacKCounT - send the count of the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKCounT') +{ +$stmt = "select count(*) from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD');"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$cbcount=$row[0]; + +echo "$cbcount"; +} + + + + +if ($format=='debug') +{ +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +echo "\n"; +echo "\n\n\n"; +} + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/vicidial.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/vicidial.php new file mode 100644 index 00000000..16774d12 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/vicidial.php @@ -0,0 +1,6797 @@ + LICENSE: GPLv2 +# +# make sure you have added a user to the vicidial_users MySQL table with at least +# user_level 1 or greater to access this page. Also, you need to have the login +# and pass of a phone listed in the asterisk.phones table. The page grabs the +# server info and other details from this login and pass. +# +# This script works best with Firefox or Mozilla, but will run for a couple +# hours on Internet Explorer before the memory leaks cause a crash. +# +# Other scripts that this application depends on: +# - vdc_db_query.php: Updates information in the database +# - manager_send.php: Sends manager actions to the DB for execution +# +# CHANGELOG +# 50607-1426 - First Build of VICIDIAL web client basic login process finished +# 50628-1620 - Added some basic formatting and worked on process flow +# 50628-1715 - Startup variables mapped to javascript variables +# 50629-1303 - Added Login Closer in-groups selection box and vla update +# 50629-1530 - Rough layout for customer info form section and button links +# 50630-1453 - Rough Manual Dial/Hangup with customer info displayed +# 50701-1450 - Added vicidial_log entries on dial and hangup +# 50701-1634 - Added Logout function +# 50705-1259 - Added call disposition functionality +# 50705-1432 - Added lead info DB update function +# 50705-1658 - Added web form functionality +# 50706-1043 - Added call park and pickup functions +# 50706-1234 - Added Start/Stop Recording functionality +# 50706-1614 - Added conference channels display option +# 50711-1333 - Removed call check redundancy and fixed a span bug +# 50727-1424 - Added customer channel and participant present sensing/alerts +# 50804-1057 - Added SendDTMF function and reconfigured the transfer span +# 50804-1224 - Added Local and Internal Closer transfer functions +# 50804-1628 - Added Blind transfer, activated LIVE CALL image and fixed bugs +# 50804-1808 - Added button images for left buttons +# 50815-1151 - Added 3Way calling functions to Transfer-conf frame +# 50815-1602 - Added images and buttons for xfer functions +# 50816-1813 - Added basic autodial outbound call pickup functions +# 50817-1113 - Fixes to auto_dialing call receipt +# 50817-1234 - Added inbound call receipt capability +# 50817-1541 - Added customer time display +# 50817-1541 - Added customer time display +# 50818-1327 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1703 - Added pretty login section +# 50825-1200 - Modified form field lengths, added double-click dispositions +# 50831-1603 - Fixed customer time bug and fronter display bug for CLOSER +# 50901-1314 - Fixed CLOSER IN-GROUP Web Form bug +# 50903-0904 - Added preview-lead code for manual dialing +# 50904-0016 - Added ability to hangup manual dials before pickup +# 50906-1319 - Added override for filters on xfer calls, fixed login display bug +# 50909-1243 - Added hotkeys functionality for quick dispoing in auto-dial mode +# 50912-0958 - Modified hotkeys function, agent must have user_level >= 5 to use +# 50913-1212 - Added campaign_cid to 3rd party calls +# 50923-1546 - Modified to work with language translation +# 50926-1656 - Added campaign pull-down at login of active campaigns +# 50928-1633 - Added manual dial alternate number dial option +# 50930-1538 - Added session_id empty login failure and fixed 2 minor bugs +# 51004-1656 - Fixed recording filename bug and new Spanish translation +# 51020-1103 - Added campaign-specific recording control abilities +# 51020-1352 - Added Basic vicidial_agent_log framework +# 51021-1050 - Fixed custtime display and disable Enter/Return keypresses +# 51021-1718 - Allows for multi-line comments (changes \n to !N in database) +# 51110-1432 - Fixed non-standard http port issue +# 51111-1047 - Added vicidial_agent_log lead_id earlier for manual dial +# 51118-1305 - Activate multi-line comments from $multi_line_comments var +# 51118-1313 - Move Transfer DIV to a floating span to preserve 800x600 view +# 51121-1506 - Small PHP optimizations in many scripts and disabled globalize +# 51129-1010 - Added ability to accept calls from other VICIDIAL servers +# 51129-1254 - Fixed Hangups of other agents channels when customer hangs up +# 51208-1732 - Created user-first login that looks for default phone info +# 51219-1526 - Added variable framework for campaign and in-group scripts +# 51221-1200 - Added SCRIPT tab, layout and functionality +# 51221-1714 - Added auto-switch-to-SCRIPT-tab and auto-webform-popup +# 51222-1605 - Added VMail message blind transfer button to xfer-conf frame +# 51229-1028 - Added checks on web_form_address to allow for var in the DB value +# 60117-1312 - Added Transfer-conf frame toggle on button press +# 60208-1152 - Added DTMF-xfernumber preset links to xfer-conf frame +# 60213-1129 - Added vicidial_users.hotkeys_active for any user hotkeys +# 60213-1210 - Added ability to sort routing of calls by user_level +# 60214-0932 - Initial Callback calendar display framework +# 60214-1407 - Added ability to minimize the dispo screen to see info below +# 60215-1104 - Added ANYONE scheduled callbacks functionality +# 60410-1116 - Added persistant pause after dispo option and change dispo text +# - Added web form submit that opens new window with dispo on submit +# - Added PREVIOUS CALLBACK in customer info to flag callbacks +# - Added link to try to hangup the call again in the dispo screen +# - Added link noone-in-session screen to call agent phone again +# - Added link customer-hungup screen to go straight to dispo screen +# 60410-1532 - Added agent status and campaign calls dialing display option +# 60411-1547 - Add ability to set callback as USERONLY and some basic formatting +# 60413-1752 - Add basic USERONLY callback frame and listings +# 60414-1039 - Changed manual dial preview and alt dial checkboxes to spans +# - Added beta-level USERONLY callback functionality +# - Added beta-level manual dialing with lead insertion functionality +# 60415-1534 - Fixed manual dial lead preview and fixed manuald dial override bug +# 60417-1108 - Added capability to do alt-number-dialing in auto-dial mode +# - Changed several permissions to database-defined +# 60419-1529 - Prevent manual dial or callbacks when alt-dial lead not finished +# 60420-1647 - Fixed DiaLDiaLAltPhonE error, Call Agent Again DialControl error +# 60421-1229 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60424-1005 - Fixed Alt phone disabled bug for callbacks and manual dials +# 60426-1058 - Added vicidial_user setting for default blended check for CLOSER +# 60501-1008 - Added option to manual dial screen to manually lookup phone number +# 60503-1653 - Fixed agentonly_callback not-defined bug in scheduled callbacks screen +# 60504-1032 - Fixed manual dial display bug and transfer dispo alert bug +# - Fixed recording filename display to not overrun 25 characters +# 60510-1051 - Added Wrapup timer and wrapup message on wrapup screen after dispo +# 60608-1453 - Added CLOSER campaign allowable in-groups limitations +# 60609-1123 - Added add-number-to-DNC-list function and manual dial check DNC +# 60619-1047 - Added variable filters to close security holes for login form +# 60804-1710 - fixed scheduled CALLBK for other languages build +# 60808-1145 - Added consultative transfers with customer data +# 60808-2232 - Added campaign name to pulldown for login screen +# 60809-1603 - Added option to locally transfer consult xfers +# 60809-1732 - Added recheck of transferred channels before customer gone mesg +# 60810-1011 - Fixed CXFER leave 3way call bugs +# 60816-1602 - Added ALLCALLS recording delay option allcalls_delay +# 60816-1716 - Fixed customer time display bug and client DST setting +# 60821-1555 - Added option to omit phone_code on dialout of leads +# 60821-1628 - Added ALLFORCE recording option +# 60821-1643 - Added no_delete_sessions option to not delete sessions +# 60822-0512 - Changed phone number fields to be maxlength of 12 +# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# 60906-1152 - Added Previous CallBack info display span +# 60906-1715 - Allow for Local phone extension conferences +# 61004-1729 - Add ability to control volume per channel in "calls in this session" +# 61122-1341 - Added vicidial_user_groups allowed_campaigns restrictions +# 61122-1523 - Added more SCRIPT variables +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61221-1212 - Changed width to 760 to better fit 800x600 screens, widened SCRIPT +# 70109-1128 - Fixed wrapup timer bug +# 70109-1635 - Added option for HotKeys automatically dialing next number in manual mode +# - Added option for alternate number dialing with hotkeys +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70118-1517 - Added vicidial_agent_log and vicidial_user_log logging of user_group +# 70201-1249 - Added FAST DIAL option for manually dialing, added UTF8 compatible code +# 70201-1703 - Fixed cursor bug for most text input fields +# 70202-1453 - Added first portions of Agent Pause Codes +# 70203-0108 - Finished Agent Pause Codes functionality +# 70203-0930 - Added dialed_number to webform output +# 70203-1010 - Added dialed_label to webform output +# 70206-1201 - Fixed allow_closers bug +# 70206-1332 - Added vicidial_recording_override users setting function +# 70212-1252 - Fixed small issue with CXFER +# 70213-1018 - Changed CXFER and AXFER to update customer information before transfer +# 70214-1233 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1240 - Added queuemetrics_log_id field for server_id in queue_log +# 70222-1617 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70226-1252 - Added Mute/UnMute to agent screen +# 70309-1035 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70316-1406 - Moved the MUTE button to be accessible during a transfer/conf +# 70319-1446 - Added agent-deactive-display and disable customer info update functions +# 70319-1626 - Added option to allow agent logins to campaigns with no leads in the hopper +# 70320-1501 - Added option to allow retry of leave-3way-call from dispo screen +# 70322-1545 - Added sipsak display ability +# 70510-1319 - Added onUnload force Logout +# 70806-1530 - Added Presets Dial links above agent mute button +# 70823-2118 - Fixed XMLHTTPRequest, HotKeys and Scheduled Callbacks issues with MSIE +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71022-1427 - Added formatting of the customer phone number in the main status bar +# 71029-1848 - Changed CLOSER-type campaign to not use campaign_id restrictions +# 71101-1204 - Fixed bug in callback calendar with DST +# 71116-0957 - Added campaign_weight and calls_today to the vla table insertion +# 71120-1719 - Added XMLHTPRequest lookup of allowable campaigns for agents during login +# 71122-0256 - Added auto-pause notification +# 71125-1751 - Changed Transfer section to allow for selection of in-groups to send calls to +# 71127-0408 - Added height and width settings for easier modification of screen size +# 71129-2025 - restricted callbacks count and list to campaign only +# + +$version = '2.0.4-142'; +$build = '71129-2025'; + +require("dbconnect.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["VD_login"])) {$VD_login=$_GET["VD_login"];} + elseif (isset($_POST["VD_login"])) {$VD_login=$_POST["VD_login"];} +if (isset($_GET["VD_pass"])) {$VD_pass=$_GET["VD_pass"];} + elseif (isset($_POST["VD_pass"])) {$VD_pass=$_POST["VD_pass"];} +if (isset($_GET["VD_campaign"])) {$VD_campaign=$_GET["VD_campaign"];} + elseif (isset($_POST["VD_campaign"])) {$VD_campaign=$_POST["VD_campaign"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + if (isset($VD_campaign)) + { + $VD_campaign = strtoupper($VD_campaign); + $VD_campaign = eregi_replace(" ",'',$VD_campaign); + } + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); + $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); + $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); + + +$forever_stop=0; + +if ($force_logout) +{ + echo "Vous êtes maintenant déconnecté.\n"; + exit; +} + +$isdst = date("I"); +$StarTtimE = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$tsNOW_TIME = date("YmdHis"); +$FILE_TIME = date("Ymd-His"); +$CIDdate = date("ymdHis"); + $month_old = mktime(11, 0, 0, date("m"), date("d")-2, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + + +$random = (rand(1000000, 9999999) + 10000000); + +$conf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently +$HKuser_level = '5'; # minimum vicidial user_level for HotKeys +$campaign_login_list = '1'; # show drop-down list of campaigns at login +$manual_dial_preview = '1'; # allow preview lead option when manual dial +$multi_line_comments = '1'; # set to 1 to allow multi-line comment box +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the phone login +$view_scripts = '1'; # set to 1 to show the SCRIPTS tab +$dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo +$agentcallsstatus = '0'; # set to 1 to show agent status and call count + $campagentstatctmax = '0'; # Number of secondes for campaign call and agent stats +$show_campname_pulldown = '1'; # set to 1 to show campaign name sur login pulldown +$webform_sessionname = '1'; # set to 1 to include the session_name in webform URL +$local_consult_xfers = '1'; # set to 1 to send consultative transfers from original server +$clientDST = '1'; # set to 1 to check for DST sur server for agent time +$no_delete_sessions = '0'; # set to 1 to not delete sessions at logout +$volumecontrol_active = '1'; # set to 1 to allow agents to alter volume of channels +$PreseT_DiaL_LinKs = '1'; # set to 1 to show a COMPOSER link for Dial Presets +$LogiNAJAX = '1'; # set to 1 to do lookups +$HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from "session calls" + +$TEST_all_statuses = '0'; # TEST variable allows all statuses in dispo screen + +$BROWSER_HEIGHT = 500; # set to the minimum browser height, default=500 +$BROWSER_WIDTH = 770; # set to the minimum browser width, default=770 + + +# options now set in DB: +#$alt_phone_dialing = '1'; # allow agents to call alt phone numbers +#$scheduled_callbacks = '1'; # set to 1 to allow agent to choose scheduled callbacks +# $agentonly_callbacks = '1'; # set to 1 to allow agent to choose agent-only scheduled callbacks +#$agentcall_manual = '1'; # set to 1 to allow agent to make manual calls during autodial session + +### SCREEN WIDTH AND HEIGHT CALCULATIONS ### +### DO NOT EDIT! ### +$MASTERwidth=($BROWSER_WIDTH - 340); +$MASTERheight=($BROWSER_HEIGHT - 200); +if ($MASTERwidth < 430) {$MASTERwidth = '430';} +if ($MASTERheight < 300) {$MASTERheight = '300';} + +$CAwidth = ($MASTERwidth + 340); # 770 - cover all (none-in-session, customer hunngup, etc...) +$MNwidth = ($MASTERwidth + 330); # 760 - main frame +$XFwidth = ($MASTERwidth + 320); # 750 - transfer/conference +$HCwidth = ($MASTERwidth + 310); # 740 - hotkeys and callbacks +$AMwidth = ($MASTERwidth + 270); # 700 - agent mute and preset-dial links +$SSwidth = ($MASTERwidth + 176); # 606 - scroll script +$SDwidth = ($MASTERwidth + 170); # 600 - scroll script, customer data and calls-in-session +$HKwidth = ($MASTERwidth + 70); # 500 - Hotkeys button +$HSwidth = ($MASTERwidth + 1); # 431 - Header spacer + +$HKheight = ($MASTERheight + 105); # 405 - HotKey active Button +$AMheight = ($MASTERheight + 100); # 400 - Agent mute and preset dial links +$MBheight = ($MASTERheight + 65); # 365 - Manual Dial Buttons +$CBheight = ($MASTERheight + 50); # 350 - Agent Callback, pause code, volume control Buttons and agent status +$SSheight = ($MASTERheight + 31); # 331 - script content +$HTheight = ($MASTERheight + 10); # 310 - transfer frame, callback comments and hotkey +$BPheight = ($MASTERheight - 250); # 50 - bottom buffer + + +$US='_'; +$CL=':'; +$AT='@'; +$DS='-'; +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = eregi_replace('vicidial.php','',$agcPAGE); + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ($campaign_login_list > 0) +{ +$camp_form_code = "\n"; +} +else +{ +$camp_form_code = "\n"; +} + + +if ($LogiNAJAX > 0) +{ +?> + + + +VICICOMPOSER Client Web: S'identifier à nouveau\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Français
\n"; +echo "
\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
S'identifier à nouveau
 
Ouverture de Session téléphonique:
Mot de passe du Téléphone:
Ouverture de Session:
Mot de passe Utilisateur:
Campagne: $camp_form_code

VERSION: $version       BUILD: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} + +if ($user_login_first == 1) +{ + if ( (strlen($VD_login)<1) or (strlen($VD_pass)<1) or (strlen($VD_campaign)<1) ) + { + echo "VICICOMPOSER Client Web: Ouverture de Campagne\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Français
\n"; + echo "
\n"; + echo "\n"; + #echo "\n"; + #echo "\n"; + echo "

Ouverture de Session

"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Ouverture de Campagne
 
Ouverture de Session:
Mot de passe Utilisateur:
Campagne: $camp_form_code
  \n"; + echo "

VERSION: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + echo "VICICOMPOSER Client Web: Ouverture de Session\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Français
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Ouverture de Session
 
Ouverture de Session téléphonique:
Mot de passe du Téléphone:
Ouverture de Session:
Mot de passe Utilisateur:
Campagne: $camp_form_code
  \n"; + echo "

VERSION: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + + } + } +} + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "VICICOMPOSER Client Web: Ouverture de Session téléphonique\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Français
\n"; +echo "
\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Ouverture de Session téléphonique
 
Ouverture de Session téléphonique:
Mot de passe du Téléphone:
  \n"; +echo "

VERSION: $version       BUILD: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./vicidial_auth_entries.txt", "a");} +$VDloginDISPLAY=0; + + if ( (strlen($VD_login)<2) or (strlen($VD_pass)<2) or (strlen($VD_campaign)<2) ) + { + $VDloginDISPLAY=1; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if($auth>0) + { + $login=strtoupper($VD_login); + $password=strtoupper($VD_pass); + ##### grab the full name of the agent + $stmt="SELECT full_name,user_level,hotkeys_active,agent_choose_ingroups,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,closer_default_blended,user_group,vicidial_recording_override from vicidial_users where user='$VD_login' and pass='$VD_pass'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $user_level=$row[1]; + $VU_hotkeys_active=$row[2]; + $VU_agent_choose_ingroups=$row[3]; + $VU_scheduled_callbacks=$row[4]; + $agentonly_callbacks=$row[5]; + $agentcall_manual=$row[6]; + $VU_vicidial_recording=$row[7]; + $VU_vicidial_transfers=$row[8]; + $VU_closer_default_blended=$row[9]; + $VU_user_group=$row[10]; + $VU_vicidial_recording_override=$row[11]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|GOOD|$date|$VD_login|$VD_pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + $user_abb = "$VD_login$VD_login$VD_login$VD_login"; + while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns =$row[0]; + + if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) + { + echo "VICICOMPOSER Client Web: VICICOMPOSER Ouverture de Campagne\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Français
\n"; + echo "Sorry, you are not allowed to login to this campaign: $VD_campaign\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Ouverture de Session: \n
"; + echo "Mot de passe:
\n"; + echo "Campagne: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + ##### check to see that the campaign is active + $stmt="SELECT count(*) FROM vicidial_campaigns where campaign_id='$VD_campaign' and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $CAMPactive=$row[0]; + if($CAMPactive>0) + { + if ($TEST_all_statuses > 0) {$selectableSQL = '';} + else {$selectableSQL = "selectable='Y' and";} + $VARstatuses=''; + $VARstatusnames=''; + ##### grab the statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_statuses WHERE $selectableSQL status != 'NEW' order by status limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_statuses_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $VD_statuses_ct) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + } + + ##### grab the campaign-specific statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_campaign_statuses WHERE $selectableSQL status != 'NEW' and campaign_id='$VD_campaign' order by status limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_statuses_camp = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + $j++; + } + $VD_statuses_ct = ($VD_statuses_ct+$VD_statuses_camp); + $VARstatuses = substr("$VARstatuses", 0, -1); + $VARstatusnames = substr("$VARstatusnames", 0, -1); + + ##### grab the campaign-specific HotKey statuses that can be used for dispositioning by an agent + $stmt="SELECT hotkey,status,status_name FROM vicidial_campaign_hotkeys WHERE selectable='Y' and status != 'NEW' and campaign_id='$VD_campaign' order by hotkey limit 9;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $HK_statuses_camp = mysql_num_rows($rslt); + $w=0; + $HKboxA=''; + $HKboxB=''; + $HKboxC=''; + while ($w < $HK_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $HKhotkey[$w] =$row[0]; + $HKstatus[$w] =$row[1]; + $HKstatus_name[$w] =$row[2]; + $HKhotkeys = "$HKhotkeys'$HKhotkey[$w]',"; + $HKstatuses = "$HKstatuses'$HKstatus[$w]',"; + $HKstatusnames = "$HKstatusnames'$HKstatus_name[$w]',"; + if ($w < 3) + {$HKboxA = "$HKboxA $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + if ( ($w >= 3) and ($w < 6) ) + {$HKboxB = "$HKboxB $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + if ($w >= 6) + {$HKboxC = "$HKboxC $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + $w++; + } + $HKhotkeys = substr("$HKhotkeys", 0, -1); + $HKstatuses = substr("$HKstatuses", 0, -1); + $HKstatusnames = substr("$HKstatusnames", 0, -1); + + ##### grab the statuses to be dialed for your campaign as well as other campaign settings + $stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups FROM vicidial_campaigns where campaign_id = '$VD_campaign';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $park_ext = $row[0]; + $park_file_name = $row[1]; + $web_form_address = $row[2]; + $allow_closers = $row[3]; + $auto_dial_level = $row[4]; + $dial_timeout = $row[5]; + $dial_prefix = $row[6]; + $campaign_cid = $row[7]; + $campaign_vdad_exten = $row[8]; + $campaign_rec_exten = $row[9]; + $campaign_recording = $row[10]; + $campaign_rec_filename = $row[11]; + $campaign_script = $row[12]; + $get_call_launch = $row[13]; + $campaign_am_message_exten = $row[14]; + $xferconf_a_dtmf = $row[15]; + $xferconf_a_number = $row[16]; + $xferconf_b_dtmf = $row[17]; + $xferconf_b_number = $row[18]; + $alt_number_dialing = $row[19]; + $VC_scheduled_callbacks = $row[20]; + $wrapup_secondes = $row[21]; + $wrapup_message = $row[22]; + $closer_campaigns = $row[23]; + $use_internal_dnc = $row[24]; + $allcalls_delay = $row[25]; + $omit_phone_code = $row[26]; + $agent_pause_codes_active = $row[27]; + $no_hopper_leads_logins = $row[28]; + $campaign_allow_inbound = $row[29]; + $manual_dial_list_id = $row[30]; + $default_xfer_group = $row[31]; + $xfer_groups = $row[32]; + + if ( (!ereg('DISABLED',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) + { + $campaign_recording = $VU_vicidial_recording_override; + print "\n"; + } + if ( ($VC_scheduled_callbacks=='Y') and ($VU_scheduled_callbacks=='1') ) + {$scheduled_callbacks='1';} + if ($VU_vicidial_recording=='0') + {$campaign_recording='NEVER';} + if ($alt_number_dialing=='Y') + {$alt_phone_dialing='1';} + else + {$alt_phone_dialing='0';} + $closer_campaigns = preg_replace("/^ | -$/","",$closer_campaigns); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + if ($agent_pause_codes_active=='Y') + { + ##### grab the pause codes for this campaign + $stmt="SELECT pause_code,pause_code_name FROM vicidial_pause_codes WHERE campaign_id='$VD_campaign' order by pause_code limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_pause_codes = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_pause_codes) + { + $row=mysql_fetch_row($rslt); + $pause_codes[$i] =$row[0]; + $pause_code_names[$i] =$row[1]; + $VARpause_codes = "$VARpause_codes'$pause_codes[$i]',"; + $VARpause_code_names = "$VARpause_code_names'$pause_code_names[$i]',"; + $i++; + $j++; + } + $VD_pause_codes_ct = ($VD_pause_codes_ct+$VD_pause_codes); + $VARpause_codes = substr("$VARpause_codes", 0, -1); + $VARpause_code_names = substr("$VARpause_code_names", 0, -1); + } + + ##### grab the inbound groups to choose from if campaign contains CLOSER + $VARingroups="''"; + if ($campaign_allow_inbound == 'Y') + { + $VARingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 60;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $closer_ct = mysql_num_rows($rslt); + $INgrpCT=0; + while ($INgrpCT < $closer_ct) + { + $row=mysql_fetch_row($rslt); + $closer_groups[$INgrpCT] =$row[0]; + $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $INgrpCT++; + } + $VARingroups = substr("$VARingroups", 0, -1); + } + + ##### grab the allowable inbound groups to choose from for transfer options + $xfer_groups = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groups = preg_replace("/ /","','",$xfer_groups); + $xfer_groups = "'$xfer_groups'"; + $VARxfergroups="''"; + if ($allow_closers == 'Y') + { + $VARxfergroups=''; + $stmt="select group_id,group_name from vicidial_inbound_groups where active = 'Y' and group_id IN($xfer_groups) order by group_id limit 60;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $xfer_ct = mysql_num_rows($rslt); + $XFgrpCT=0; + while ($XFgrpCT < $xfer_ct) + { + $row=mysql_fetch_row($rslt); + $VARxfergroups = "$VARxfergroups'$row[0]',"; + $VARxfergroupsnames = "$VARxfergroupsnames'$row[1]',"; + if ($row[0] == "$default_xfer_group") {$default_xfer_group_name = $row[1];} + $XFgrpCT++; + } + $VARxfergroups = substr("$VARxfergroups", 0, -1); + $VARxfergroupsnames = substr("$VARxfergroupsnames", 0, -1); + } + + ##### grab the number of leads in the hopper for this campaign + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id = '$VD_campaign' and status='READY';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $campaign_leads_to_call = $row[0]; + print "\n"; + + } + else + { + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "Campagne inactive, réessayez
"; + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|FAIL|$date|$VD_login|$VD_pass|$ip|$browser|\n"); + fclose($fp); + } + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "L'ouverture de session a èchoué, réessayez
"; + } + } + if ($VDloginDISPLAY) + { + echo "VICICOMPOSER Client Web: Ouverture de Campagne\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Français
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

$VDdisplayMESSAGE

"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Ouverture de Campagne
 
Ouverture de Session:
Mot de passe Utilisateur:
Campagne: $camp_form_code
  \n"; + echo "

VERSION: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + +$authphone=0; +$stmt="SELECT count(*) from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "VICICOMPOSER Client Web: Ouverture de Session téléphonique Error\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Français
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Ouverture de Session Error
 
L'ouverture de la session Téléphonique à échoué, réessayez:
 
Ouverture de Session téléphonique:
Mot de passe du Téléphone:

VERSION: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { + echo "VICICOMPOSER Client Web\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $login=$row[6]; + $pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $Appelant_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $enable_sipsak_messages=$row[66]; + + if ($clientDST) + { + $local_gmt = ($local_gmt + $isdst); + } + if ($protocol == 'EXTERNAL') + { + $protocol = 'Local'; + $extension = "$dialplan_number$AT$ext_context"; + } + $SIP_user = "$protocol/$extension"; + + $stmt="SELECT asterisk_version from servers where server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $asterisk_version=$row[0]; + + # If a park extension is not set, use the default one + if ( (strlen($park_ext)>0) && (strlen($park_file_name)>0) ) + { + $VICIDiaL_park_on_extension = "$park_ext"; + $VICIDiaL_park_on_filename = "$park_file_name"; + print "\n"; + } + print "\n"; + + # If a web form address is not set, use the default one + if (strlen($web_form_address)>0) + { + $VICIDiaL_web_form_address = "$web_form_address"; + print "\n"; + } + else + { + $VICIDiaL_web_form_address = "$VICIDiaL_web_URL"; + print "\n"; + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + } + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + # If closers are allowed sur this campaign + if ($allow_closers=="Y") + { + $VICIDiaL_allow_closers = 1; + print "\n"; + } + else + { + $VICIDiaL_allow_closers = 0; + print "\n"; + } + + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtimE$US$session_ext$session_rand"; + + if ($webform_sessionname) + {$webform_sessionname = "&session_name=$session_name";} + else + {$webform_sessionname = '';} + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'vicidial';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','vicidial','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + if ( ($campaign_allow_inbound == 'Y') || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + { + ### insert an entry into the user log for the login event + $stmt = "INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$VD_login','LOGIN','$VD_campaign','$NOW_TIME','$StarTtimE','$VU_user_group')"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly + $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $prev_login_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $prev_login_ct) + { + $row=mysql_fetch_row($rslt); + $session_id =$row[0]; + $i++; + } + if ($prev_login_ct > 0) + {print "\n";} + else + { + ##### grab the next available vicidial_conference room and reserve it + $stmt="SELECT conf_exten FROM vicidial_conferences where server_ip = '$server_ip' and ((extension='') or (extension is null)) LIMIT 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $free_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $free_conf_ct) + { + $row=mysql_fetch_row($rslt); + $session_id =$row[0]; + $i++; + } + $stmt="UPDATE vicidial_conferences set extension='$SIP_user' where server_ip='$server_ip' and conf_exten='$session_id';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + print "\n"; + + } + + $stmt="UPDATE vicidial_list set status='N', user='' where status IN('QUEUE','INCALL') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_hopper where status IN('QUEUE','INCALL','DONE') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_inbound_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + # print "You have logged in as user: $VD_login sur phone: $SIP_user Campagne:: $VD_campaign
\n"; + $VICIDiaL_is_logged_in=1; + + ### set the callerID for manager middleware-app to connect the phone to the user + $SIqueryCID = "S$CIDdate$session_id"; + + ############################################# + ##### DEBUT SYSTEM_SETTINGS LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,vicidial_agent_disable,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $vicidial_agent_disable = $row[6]; + $allow_sipsak_messages = $row[7]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$VD_campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $SIqueryCID = "$SIPSAK_prefix$VD_campaign$DS$CIDdate"; + } + + ### insert a NOUVEAU record to the vicidial_manager table to be processed + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $SIP_user','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: $SIqueryCID','','','','','');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($auto_dial_level > 0) + { + print "\n"; + + ##### grab the campaign_weight and number of calls today sur that campaign for the agent + $stmt="SELECT campaign_weight,calls_today FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vca_ct = mysql_num_rows($rslt); + if ($vca_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_weight = $row[0]; + $calls_today = $row[1]; + $i++; + } + else + { + $campaign_weight = '0'; + $calls_today = '0'; + $stmt="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) values('$VD_login','$VD_campaign','0','0','$calls_today');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + } + $closer_chooser_string=''; + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,closer_campaigns,user_level,campaign_weight,calls_today) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$closer_chooser_string','$user_level','$campaign_weight','$calls_today');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='$VD_campaign',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + + + if ($campaign_allow_inbound == 'Y') + { + print "\n"; + } + } + else + { + print "\n"; + + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,user_level) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$user_level');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='$VD_campaign',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + } + } + else + { + echo "VICICOMPOSER Client Web: VICICOMPOSER Ouverture de Campagne\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Français
\n"; + echo "Aucune fiche client n'est éligible pour cette campagne\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Ouverture de Session: \n
"; + echo "Mot de passe:
\n"; + echo "Campagne: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + if (strlen($session_id) < 1) + { + echo "VICICOMPOSER Client Web: VICICOMPOSER Ouverture de Campagne\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Français
\n"; + echo "Sorry, there are no available sessions\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Ouverture de Session: \n
"; + echo "Mot de passe:
\n"; + echo "Campagne: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + if (ereg('MSIE',$browser)) + { + $useIE=1; + print "\n"; + } + else + { + $useIE=0; + print "\n"; + } + + $StarTtimE = date("U"); + $NOW_TIME = date("Y-m-d H:i:s"); + ##### Agent is going to log in so insert the vicidial_agent_log entry now + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group,sub_status) values('$VD_login','$server_ip','$NOW_TIME','$VD_campaign','$StarTtimE','0','$StarTtimE','$VU_user_group','LOGIN');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + print "\n"; + + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $server_ip_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S"; + + ##### grab the datails of all active scripts in the system + $stmt="SELECT script_id,script_name,script_text FROM vicidial_scripts WHERE active='Y' order by script_id limit 100;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $MM_scripts = mysql_num_rows($rslt); + $e=0; + while ($e < $MM_scripts) + { + $row=mysql_fetch_row($rslt); + $MMscriptid[$e] =$row[0]; + $MMscriptname[$e] = rawurlencode($row[1]); + $MMscripttext[$e] = rawurlencode($row[2]); + $MMscriptids = "$MMscriptids'$MMscriptid[$e]',"; + $MMscriptnames = "$MMscriptnames'$MMscriptname[$e]',"; + $MMscripttexts = "$MMscripttexts'$MMscripttext[$e]',"; + $e++; + } + $MMscriptids = substr("$MMscriptids", 0, -1); + $MMscriptnames = substr("$MMscriptnames", 0, -1); + $MMscripttexts = substr("$MMscripttexts", 0, -1); + + } +} + +################################################################ +### BEGIN - build the callback calendar (12 months) ### +################################################################ +define ('ADAY', (60*60*24)); +$CdayARY = getdate(); +$Cmon = $CdayARY['mon']; +$Cyear = $CdayARY['year']; +$CTODAY = date("Y-m"); +$CTODAYmday = date("j"); +$CINC=0; + +$Cmonths = Array('Janvier','February','Mars','Avril','Mai','Juin', + 'Juillet','Août','Septembre','Octobre','Novembre','Décembre'); +$Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); + +$CCAL_OUT = ''; + +$CCAL_OUT .= ""; + +while ($CINC < 12) +{ +if ( ($CINC == 0) || ($CINC == 4) ||($CINC == 8) ) + {$CCAL_OUT .= "";} + +$CCAL_OUT .= ""; + +if ( ($CINC == 3) || ($CINC == 7) ||($CINC == 11) ) + {$CCAL_OUT .= "";} +$CINC++; +} + +$CCAL_OUT .= "
"; + +$CYyear = $Cyear; +$Cmonth= ($Cmon + $CINC); +if ($Cmonth > 12) + { + $Cmonth = ($Cmonth - 12); + $CYyear++; + } +$Cstart= mktime(11,0,0,$Cmonth,1,$CYyear); +$CfirstdayARY = getdate($Cstart); +#echo "|$Cmon|$Cmonth|$CINC|\n"; +$CPRNTDAY = date("Y-m", $Cstart); + +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; + +foreach($Cdays as $Cday) +{ + $CDCLR="#ffffff"; +$CCAL_OUT .= ""; +} + +for( $Ccount=0;$Ccount<(6*7);$Ccount++) +{ + $Cdayarray = getdate($Cstart); + if((($Ccount) % 7) == 0) + { + if($Cdayarray['mon'] != $CfirstdayARY['mon']) + break; + $CCAL_OUT .= ""; + } + if($Ccount < $CfirstdayARY['wday'] || $Cdayarray['mon'] != $Cmonth) + { + $CCAL_OUT .= ""; + } + else + { + if( ($Cdayarray['mday'] == $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + else + { + $CDCLR="#ffffff"; + if ( ($Cdayarray['mday'] < $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CDCLR="#CCCCCC"; + $CBL = ''; + $CEL = ''; + } + else + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + } + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + } +} +$CCAL_OUT .= ""; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "$Cday"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
 "; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; + +#echo "$CCAL_OUT\n"; +################################################################ +### END - build the callback calendar (12 months) ### +################################################################ + + +?> + + + + +\n"; + + +?> + +
+ + MARGINWIDTH=0 MARGINHEIGHT=0 LEFTMARGIN=0 TOPMARGIN=0 VALIGN=TOP ALIGN=LEFT> +
+ + + +DÉCONNEXION\n"; ?> +
+
+ + + height=30> + + + + + +
VICICOMPOSERSCRIPT VALIGN=MIDDLE ALIGN=CENTER>   LIVE     Id de session: Appel en cours
+
+ + + + + height=>

VICICOMPOSER
+
+ + +APPEL MANUEL       CADRAN RAPIDE
+
+ + +X RAPPELS EN COURS
+
+ + +
+
+ + + D1 - COMPOSER\n"; + echo "
\n"; + echo "D2 - COMPOSER\n"; + } + else {echo "
\n";} + ?> +

+
+
+ + + height=460>
RAPPELS PERSONNELS :
Selectionnez un rappel a éffectuer immédiatement. Une fois éffectué, ce rappel diparaitra de la liste. +
+
+
  + Rafraichir +                 + Retour +
+
+ + + height=460>
NOUVEL APPEL MANUEL VERS :

Nouveau prospect: remplissez le formulaire ci dessous. +
+ \n"; + } + ?> + Note: all new manual dial leads will go into list

+ + + + + + + + + + + + + + + +
Code d'Appel:   (La valeur de ce champ est habituellement 1 aux Etats-Unis et au Canada)
Téléphone Number: +   (12 digits max - digits only) +
Rechercher dans les fiches client existantes:   (Si cette option est activée, le numéro de téléphone sera recherché dans la base avant d'être inséré)


Si vous désirez composer un numéro sans insérer de nouvelle fiche client, entrez le N° a appeler dans le champ Surnumerotation. Pour raccrocher cet appel, vous devrez ouvrir la page Appels en Cours et raccrocher manuellement le canal correspondant.
 
Surnumérotation:   (Ce champ n'accepte que des chiffres) +
+
+ Appel Manuel +                 + Retour +
+
+ + + +
+
+ + + + +Votre Statut:
Calls Dialing: +
+ + + + + > + +
+
+ + Transfert - Conférence
+ + + CLOSER LOCAL + Raccrocher la ligne transférée + Raccrocher les deux lignes + +
+ + Numéro à appeler   + + SURNUMEROTATION   + QUITTER LA CONF A 3 + Transfert immédiat + D1 + D2 + +
+ + secondes   + channel + Appel Client + Mettre en Attente + Blind Transfer VMail Message +
+
+
+
+ + + + height=70> + +
Fiche Prospect Statuée en:

+ -
+
+
+ + + height=70> + + + + +
Raccourcis clavier des Statut: + Si actif, utilisez le raccourci clavier pour statuer et raccrocher un appel:
+ + + + + +
+
+ + + height=70> + + + + + + +
Information De Rappels: close
+
+
+
+
+ +
+
+ + + height=500>
Votre session est vide:
+ Retour +

+ Rappeler l'agent +
+
+ + + height=500>
Le client a raccroché:
+ Retour +

+ Terminer et Statuer l'Appel + +
+
+ + + height=550>
Traitement Post Appel : secondes restant pour le traitement post appel

+ +

+ Terminer le traitement post appel et continuer + +
+
+ + + height=500>
Votre session a été neutralisée
DÉCONNEXION

Retour +
+
+ + + height=500>

DÉCONNEXION
+
+ + +
+
+ + +
 
+
+ + + height=47>
Aucune modification ne peut être prise en compte, les modifications doivent être validées avant de raccrocher.
+
+ + + height=460>
STATUER L'APPEL :       Décrochement Encore       réduire
+ Selection du status de fin d'appel +
+ PAUSE DE LA NUMEROTATION
+ EFFACER LE FORMULAIRE | + VALIDER +

+ WEB FORM VALIDER +

  +
+
+ + + height=460>
CHOISISSEZ Un CODE De PAUSE :
+ Pause Code Selection + +

  +
+
+ + + height=460>
Choisissez une date de Rappel :
+ + + Choisissez une date ci-dessous   +     + Hour: +   + Minutes: +   + +  
+ RAPPELS PERSONNELS
";} + ?> + Commentaires du Rappel:

+ + VALIDER

+ +

  +
+
+ + + height=460>
UN CHOIX DE GROUPE D'ARRIVÉE PLUS ÉTROIT
+ Un Choix De Groupe D'arrivée Plus étroit +
+ APPEL EN MODE BLENDED(Mode "Appels Sortants" Activé)
+ REINITIALISATION | + VALIDER +



  +
+
+ + + + Canal + Canal + RAPPELS PERSONNELS
";} + ?> +
+ + + + height=>
VICICOMPOSER SCRIPT
+
+ + + 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> +RACCOURCIS INACTIFS + + + + +> + + + +
VICICOMPOSER Client Web:     BUILD:               Serveur:              
+Montrez les informations sur la conférence

 
+
+ + + +
+
+ + + + + id="MainTable"> + + + + + + + + + + + + + + + +
STATUT:
+
+Appel Numéro Suivant
+ Prévisualisation
+ APPEL NUM. 2nd.
+ + +ENREGISTREMENT:
+
+
+IDENTIFIANT:
+
+ +Enregistrer
+
+Formulaire Web
+
+Mettre en Attente
+Transfert - Conférence
+
+Raccrocher
+
+
Envoyez DTMF

+
+
+
align=left valign=top> + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
secondes:   Canal:   Durée d'Appel:
Informations Client:
Titre:   Prenom:   Mi:  Nom:
Adresse1:
Adresse2:   Adresse3:
Ville:   État:   Code postal:
Province:   Code Vendeur:
Téléphone:   DialCode:   Tel. 2nd:
Visualiser:   Email:
Commentaires: + +\n";} +else + {echo "\n";} +?> + +
+
+ +
+
> + 
+ + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/voicemail_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/voicemail_check.php new file mode 100644 index 00000000..1d3f197c --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_fr/voicemail_check.php @@ -0,0 +1,140 @@ + LICENSE: GPLv2 +### +### This script is designed purely to check whether the voicemail box on the server defined has new and old messages +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $vmail_box - ('101','1234',...) +### + +# changes +# 50422-1147 - First build of script +# 50503-1241 - added session_name checking for extra security +# 50711-1201 - removed HTTP authentication in favor of user/pass vars +# 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1204 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.5'; +$build = '60619-1204'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalide Utilisateurname/Mot de passe: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalide server_ip: |$server_ip| or Invalide session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalide session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Consultation de la Boite Vocale"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + $MT[0]=''; + $row=''; $rowx=''; + if (strlen($vmail_box)<1) + { + $channel_live=0; + echo "boîte vocale $vmail_box est invalide\n"; + exit; + } + else + { + $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $vmails_list = mysql_num_rows($rslt); + $loop_count=0; + while ($vmails_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0]|$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/active_list_refresh.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/active_list_refresh.php new file mode 100644 index 00000000..3560e8d3 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/active_list_refresh.php @@ -0,0 +1,482 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to serve updates of the live data to the display scripts +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $ADD - ('1','2','3','4','5') +# - $order - ('asc','desc') +# - $format - ('text','table','menu','selectlist','textarea') +# - $bgcolor - ('#123456','white','black','etc...') +# - $txtcolor - ('#654321','black','white','etc...') +# - $txtsize - ('1','2','3','etc...') +# - $selectsize - ('2','3','4','etc...') +# - $selectfontsize - ('8','10','12','etc...') +# - $selectedext - ('cc100') +# - $selectedtrunk - ('Zap/25-1') +# - $selectedlocal - ('SIP/cc100') +# - $textareaheight - ('8','10','12','etc...') +# - $textareawidth - ('8','10','12','etc...') +# - $field_name - ('extension','busyext','extension_xfer','etc...') +# +# +# changes +# 50323-1147 - First build of script +# 50401-1132 - small formatting changes +# 50502-1402 - added field_name as modifiable variable +# 50503-1213 - added session_name checking for extra security +# 50503-1311 - added conferences list +# 50610-1155 - Added NULL check on MySQL results to reduced errors +# 50711-1209 - removed HTTP authentication in favor of user/pass vars +# 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1118 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["order"])) {$order=$_GET["order"];} + elseif (isset($_POST["order"])) {$order=$_POST["order"];} +if (isset($_GET["bgcolor"])) {$bgcolor=$_GET["bgcolor"];} + elseif (isset($_POST["bgcolor"])) {$bgcolor=$_POST["bgcolor"];} +if (isset($_GET["txtcolor"])) {$txtcolor=$_GET["txtcolor"];} + elseif (isset($_POST["txtcolor"])) {$txtcolor=$_POST["txtcolor"];} +if (isset($_GET["txtsize"])) {$txtsize=$_GET["txtsize"];} + elseif (isset($_POST["txtsize"])) {$txtsize=$_POST["txtsize"];} +if (isset($_GET["selectsize"])) {$selectsize=$_GET["selectsize"];} + elseif (isset($_POST["selectsize"])) {$selectsize=$_POST["selectsize"];} +if (isset($_GET["selectfontsize"])) {$selectfontsize=$_GET["selectfontsize"];} + elseif (isset($_POST["selectfontsize"])) {$selectfontsize=$_POST["selectfontsize"];} +if (isset($_GET["selectedext"])) {$selectedext=$_GET["selectedext"];} + elseif (isset($_POST["selectedext"])) {$selectedext=$_POST["selectedext"];} +if (isset($_GET["selectedtrunk"])) {$selectedtrunk=$_GET["selectedtrunk"];} + elseif (isset($_POST["selectedtrunk"])) {$selectedtrunk=$_POST["selectedtrunk"];} +if (isset($_GET["selectedlocal"])) {$selectedlocal=$_GET["selectedlocal"];} + elseif (isset($_POST["selectedlocal"])) {$selectedlocal=$_POST["selectedlocal"];} +if (isset($_GET["textareaheight"])) {$textareaheight=$_GET["textareaheight"];} + elseif (isset($_POST["textareaheight"])) {$textareaheight=$_POST["textareaheight"];} +if (isset($_GET["textareawidth"])) {$textareawidth=$_GET["textareawidth"];} + elseif (isset($_POST["textareawidth"])) {$textareawidth=$_POST["textareawidth"];} +if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} + elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} + +### security strip all non-alphanumeric characters out of the variables ### + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $ADD=ereg_replace("[^0-9]","",$ADD); + $order=ereg_replace("[^0-9a-zA-Z]","",$order); + $format=ereg_replace("[^0-9a-zA-Z]","",$format); + $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); + $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); + $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); + $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); + $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); + $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); + $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); + $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); + $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); + $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); + $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + +# default optional vars if not set +if (!isset($ADD)) {$ADD="1";} +if (!isset($order)) {$order='desc';} +if (!isset($format)) {$format="text";} +if (!isset($bgcolor)) {$bgcolor='white';} +if (!isset($txtcolor)) {$txtcolor='black';} +if (!isset($txtsize)) {$txtsize='2';} +if (!isset($selectsize)) {$selectsize='4';} +if (!isset($selectfontsize)) {$selectfontsize='10';} +if (!isset($textareaheight)) {$textareaheight='10';} +if (!isset($textareawidth)) {$textareawidth='20';} + +$version = '0.0.8'; +$build = '60619-1118'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Utentename/Password non validi: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "ip del server non valido: |$server_ip| or Nome sessione non valido: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nome sessione non valido: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='table') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Visualizza Lista: "; +if ($ADD==1) {echo "Estensioni Attive";} +if ($ADD==2) {echo "Estensioni Occupate";} +if ($ADD==3) {echo "Linee Esterne";} +if ($ADD==4) {echo "Interni Locali";} +if ($ADD==5) {echo "Conferenze";} +if ($ADD==99999) {echo "AIUTO";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ADD=1 display all live extensions on a server +###################### +if ($ADD==1) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'extension';} + if ($format=='table') {echo "\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + +###################### +# ADD=2 display all busy extensions on a server +###################### +if ($ADD==2) +{ + if (!$field_name) {$field_name = 'busyext';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=3 display all busy outside lines(trunks) on a server +###################### +if ($ADD==3) +{ + if (!$field_name) {$field_name = 'trunk';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=4 display all busy Local lines on a server +###################### +if ($ADD==4) +{ + if (!$field_name) {$field_name = 'local';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=5 display all agc-usable conferences on a server +###################### +if ($ADD==5) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'conferences';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='table') {echo "\n";} +if ($format=='table') {echo "\n\n\n";} + +exit; + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/astguiclient.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/astguiclient.php new file mode 100644 index 00000000..b4dacfff --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/astguiclient.php @@ -0,0 +1,2905 @@ + LICENSE: AGPLv2 +# +# make sure you have added a user to the vicidial_users MySQL table with at least +# user_level 1 or greater to access this page. Also you need to have the login +# and pass of a phone listed in the asterisk.phones table. The page grabs the +# server info and other details from this login and pass +# +# Other scripts that this application depends on: +# - active_list_refresh.php: displays active/live channels and phones +# - manager_send.php: sends Actions to be executed on Asterisk servers +# - live_exten_check.php: checks to see if user's phone is on a live call +# - call_log_display.php: retrieves log of inbound and outbound calls +# - voicemail_check.php: retrieves counts of new and old messages +# - inbound_popup.php: opens upon live_inbound call coming in +# - conf_exten_check.php: checks to see if and calls are in a specific conf +# - park_calls_display.php: retrieves list of parked calls +# - vdc_db_query.php: Changes values in the DB for non-calling records +# +# CHANGES +# 50215-1356 - Proof-of-concept test of XMLHttpRequest for astGUIclient web +# 50323-1411 - First build version display-only +# 50331-1040 - Second-build, added phone login and hangup/hijack display +# 50401-1006 - Trunk/Local Hangup functions enabled +# 50404-1056 - Trunk/Local Hijack functions enabled +# 50404-1459 - Simple live calls display and grabs updated time from server +# 50405-1221 - Reorganized the display and layers, added some images +# 50406-1005 - Added In/Out call log display to MAIN panel +# 50407-1254 - Start/Stop Recording on live calls enabled +# 50422-1101 - Activated Check Voicemail button and new/old messages count +# 50428-1449 - Added dial from log and basic live_inbound call popup +# 50429-1455 - Modified inbound popup code for IE and to add more functions +# 50502-1442 - Added basic method to transfer live calls somewhere else +# 50503-1205 - Added web_client_sessions entry for more security of subscripts +# 50503-1537 - Added basic conferences display +# 50509-1132 - Added conference connected list and hangup/xfer for them +# 50511-1129 - Added registration of conference rooms and added manual dial +# 50523-1342 - Added Conference recording and send DTMF +# 50523-1622 - Added Local Dial window frame for calling local extensions +# 50524-1456 - Added ability to park call and display number of parked calls +# 50524-1600 - Added ability to display and pickup/hangup/xfer parked calls +# 50525-1224 - Added ability to place outbound call from within conferene +# 50531-1225 - Added ability to do dual transfers to meetme rooms from Main +# 50711-1229 - removed HTTP authentication in favor of user/pass vars +# 50711-1610 - Added Zap monitoring to Trunk/Local Action screens +# 50804-1604 - Minor bug fix in inbound_popup functions +# 50818-1715 - Added pretty login section +# 50913-1137 - Added custom outbound_cid from phones table +# 51110-1430 - Fixed non-standard http port issue +# 60103-1421 - Added code for favorite extensions chooser +# 60104-1347 - Added basic layout for favorites editing frame +# 60105-1124 - Finished Favorites frame and added DB submission +# 60112-1622 - Several formatting changes +# 60421-1357 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1103 - Added variable filters to close security holes for login form +# 60829-1528 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +$version = '2.0.1'; +$build = '60829-1528'; + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + + +if ($force_logout) +{ + if( (strlen($_SERVER['user'])>0) or (strlen($_SERVER['pass'])>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "Ora non sei collegato. Grazie\n"; + exit; +} + +$StarTtime = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd-His"); + $month_old = mktime(0, 0, 0, date("m"), date("d")-7, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$US='_'; +$CL=':'; +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./astguiclient_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = $agcPAGE; +$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); + + if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) + { + header ("Content-type: text/html; charset=utf-8"); + + echo "web client astGUIclient: Login\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Italiano
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login
 
Login Utente:
Password Utente:
Login Telefono:
Password Telefono:

VERSIONE: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($user); + $password=strtoupper($pass); + $stmt="SELECT full_name,user_level from vicidial_users where user='$user' and pass='$pass'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + } + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "web client astGUIclient: Login Telefono\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Italiano
\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Login Telefono
 
Login Telefono:
Password Telefono:

VERSIONE: $version       BUILD: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +$authphone=0; +$stmt="SELECT count(*) from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "web client astGUIclient: Login Telefono\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Italiano
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login Telefono
 
Spiacente, il telefono inserito non e` attivo in questo sistema, riprova di nuovo:
 
Login Telefono:
Password Telefono:

VERSIONE: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { + echo "web client astGUIclient\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $phone_login=$row[6]; + $phone_pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $CaLLerID_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $outbound_cid=$row[65]; + + $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtime$US$session_ext$session_rand"; + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'agc';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','agc','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT count(*) from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_present=$row[0]; + if ($favorites_present > 0) + { + $stmt="SELECT extensions_list from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_list=$row[0]; + $h=0; + $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites = explode(',',$favorites_listX); + $favorites_count = count($favorites); + $favorites_listX=''; + + $o=0; + while ($favorites_count > $o) + { + $stmt="SELECT fullname,protocol from phones where extension = '$favorites[$o]' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $favorites_names[$o] = $rowx[0]; + $favorites_listX .= "$rowx[1]/$favorites[$o],"; + $o++; + } + + echo "\n"; + echo "\n"; + } + else + { + echo "\n"; + } + +### gather phone extensions and fullnames for favorites editor ### + $stmt="SELECT extension,fullname from phones where server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $exten_ct = mysql_num_rows($rslt); + $favlistCT=0; + $nofavlistCT=0; + while ($favlistCT < $exten_ct) + { + $row=mysql_fetch_row($rslt); + $favlist[$favlistCT]= "$row[0] - $row[1]"; + $favlistCT++; + } + + } +} + + +?> + + + + + + +\n"; + + +?> + +
+ + + + + + + + + +
+ + +LOGOUT
\n"; ?> +
Pannello PrincipalePannello Linee AttivePannello ConferenzeControlla VoicemailChiamata in corso
+
+ + +

Logout
+
+ + +
TRUNK RIAGGANCIA

+ Active Trunks Menu
+ Disconnetti il Trunk   |   + Dirotta il Trunk   |   + Ascolta il Trunk   |   + Aggiorna   |   + Torna alla schermata principale +
+
+ + +
DISCONNETTI LOCALE

+ Menu Locale Attivo
+ Disconnetti locale   |   + Dirotta Locale   |   + Ascolta Locale   |   + Aggiorna   |   + Torna alla schermata principale +
+
+ + + + + + + +
TRASFERIMENTO DELLA CHIAMATA IN CORSO
Canale trasferito: Canale
Interni:
Menu Interni
+
+ Invia all`interno selezionato

+ Invia alla VoiceMail selezionata

+ Invia a questo numero:


+ Aggiorna


+ Torna alla schermata principale

+
Conferenze:
(Seleziona uno dei numeri sotto per inviarlo ad una conferenza)
Invia anche il mio canale
Menu Conferenze
+
+ + + + + +
LOCAL Interni Dial
Chiamata proveniente da: Canale
Interni:
Menu Interni
+
+ Chiama l`interno selezionato

+ Chiama la VoiceMail selezionata

+ Aggiorna


+ Torna alla schermata principale

+
+
+ + +
CHIAMATE IN ATTESA:
+ Torna alla schermata principale

+
+
+ + + + + + + + + + + + + + + +
  +
VOICEMAIL     NUOVO:     VECCHIO:             CHIAMATA MANUALE       DIAL
CHIAMATE IN ATTESA: 0                LOCAL CHIAMA EXTENSIONS
CHIAMATE OUTBOUND:
CHIAMATE INBOUND:
Versione di astGUIclient web-client: BUILD:
+ + + + $h) + { + if (strlen($favorites[$h])>1) + { + echo "\n"; + } + $h++; + } +?> + +
PREFERITI       modifica
$favorites[$h] - $favorites_names[$h]
 
+
+ + + + + + + +
PREFERITI

 
SALVA I CAMBIAMENTI AI PREFERITI - richiede Logout
TORNA ALLA SCHERMATA PRECEDENTE- ignora i cambiamenti fatti
+
+ +
+ + + + + + + + + + + + + +
+ARRESTO | INIZIO     Frequenza di refresh: 1000 ms Piu` veloce | Piu` lento

+
Inizializzazione..
+
Interni Attivi
+AGGIORNA | +ORDINE | +
Linee Esterne
+AGGIORNA | +ORDINE | +
Interni Locali
+AGGIORNA | +ORDINE | +
+ I Dati vanno qui

+
+ I Dati vanno qui

Azione Trunk +
+ I Dati vanno qui

Azione Locale +
+
+ + + + +
+ + +Lista delle conferenze + + + +
+Fai click su una delle conferenze room sulla sinistra per avere informazioni a riguardo +
+ + + + + + + + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/call_log_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/call_log_display.php new file mode 100644 index 00000000..c97b7a23 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/call_log_display.php @@ -0,0 +1,196 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to send the inbound and outbound calls for a specific phone +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +# - $protocol - ('SIP','Zap','IAX2',...) +# - $in_limit - ('10','20','50','100',...) +# - $out_limit - ('10','20','50','100',...) +# +# +# changes +# 50406-1013 - First build of script +# 50407-1452 - Added definable limits +# 50503-1236 - added session_name checking for extra security +# 50610-1158 - Added NULL check on MySQL results to reduced errors +# 50711-1202 - removed HTTP authentication in favor of user/pass vars +# 60323-1550 - added option for showing different number dialed in log +# 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1202 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($in_limit)) {$in_limit="100";} +if (!isset($out_limit)) {$out_limit="100";} +$number_dialed = 'number_dialed'; +#$number_dialed = 'extension'; + +$version = '0.0.8'; +$build = '60619-1202'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Utentename/Password non validi: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "ip del server non valido: |$server_ip| or Nome sessione non valido: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nome sessione non valido: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Visualizza il Log della chiamata"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten non e` valido o protocollo $protocol non e` valido\n"; + exit; + } + else + { + ##### print outbound calls from the call_log table + $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} + echo "$out_calls_count|"; + $loop_count=0; + while ($out_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[3] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + + if ($number_dialed == 'extension') {$row[2] = substr($row[2],-10);} + echo "$row[0] ~$row[1] ~$row[2] ~$call_time_MS|"; + } + echo "\n"; + + ##### print inbound calls from the live_inbound_log table + $stmt="SELECT call_log.uniqueid,live_inbound_log.start_time,live_inbound_log.extension,caller_id,length_in_sec from live_inbound_log,call_log where phone_ext='$exten' and live_inbound_log.server_ip = '$server_ip' and call_log.uniqueid=live_inbound_log.uniqueid order by start_time desc limit $in_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} + echo "$in_calls_count|"; + $loop_count=0; + while ($in_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[4] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $callerIDnum = $row[3]; $callerIDname = $row[3]; + $callerIDnum = preg_replace("/.*<|>.*/","",$callerIDnum); + $callerIDname = preg_replace("/\"| <\d*>/","",$callerIDname); + + echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; + } + echo "\n"; + + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/conf_exten_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/conf_exten_check.php new file mode 100644 index 00000000..80ead1e4 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/conf_exten_check.php @@ -0,0 +1,412 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('refresh','register') +# - $client - ('agc','vdc') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $campagentstdisp - ('YES',...) +# + +# changes +# 50509-1054 - First build of script +# 50511-1112 - Added ability to register a conference room +# 50610-1159 - Added NULL check on MySQL results to reduced errors +# 50706-1429 - script changed to not use HTTP login vars, user/pass instead +# 50706-1525 - Added date-time display for vicidial client display +# 50816-1500 - Added random update to vicidial_live_agents table for vdc users +# 51121-1353 - Altered echo statements for several small PHP speed optimizations +# 60410-1424 - Added ability to grab calls-being-placed and agent status +# 60421-1405 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1201 - Added variable filters to close security holes for login form +# 61128-2255 - Added update for manual dial vicidial_live_agents +# 70319-1542 - Added agent disabled display function +# 71122-0205 - Added vicidial_live_agent status output +# 80424-0442 - Added non_latin lookup from system_settings +# 80519-1425 - Added calls-in-queue tally +# 80703-1106 - Added API functionality for Hangup and Dispo +# 81104-0229 - Added mysql error logging capability +# 81104-1409 - Added multi-retry for some vicidial_live_agents table MySQL queries +# + +$version = '2.0.4-15'; +$build = '81104-1409'; +$mel=1; # Mysql Error Log enabled = 1 +$mysql_log_count=14; +$one_mysql_log=0; + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["client"])) {$client=$_GET["client"];} + elseif (isset($_POST["client"])) {$client=$_POST["client"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campagentstdisp"])) {$campagentstdisp=$_GET["campagentstdisp"];} + elseif (isset($_POST["campagentstdisp"])) {$campagentstdisp=$_POST["campagentstdisp"];} + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03001',$user,$server_ip,$session_name,$one_mysql_log);} +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) +{ +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +} + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($client)) {$client="agc";} + +$Alogin='N'; +$RingCalls='N'; +$DiaLCalls='N'; + +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd_His"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$random = (rand(1000000, 9999999) + 10000000); + + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03002',$user,$server_ip,$session_name,$one_mysql_log);} +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Utentename/Password non validi: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "ip del server non valido: |$server_ip| or Nome sessione non valido: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03002',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nome sessione non valido: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Conf Extension Check"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + if ($ACTION == 'refresh') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($conf_exten)<1) + { + $channel_live=0; + echo "Conf Exten $conf_exten non e` valido\n"; + exit; + } + else + { + + if ($client == 'vdc') + { + $Acount=0; + $AexternalDEAD=0; + + ### see if the agent has a record in the vicidial_live_agents table + $stmt="SELECT count(*) from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03003',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Acount=$row[0]; + + if ($Acount > 0) + { + $stmt="SELECT status from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03004',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Astatus=$row[0]; + } + # ### find out if external table shows agent should be disabled + # $stmt="SELECT count(*) from another_table where user='$user' and status='DEAD';"; + # if ($DB) {echo "|$stmt|\n";} + # $rslt=mysql_query($stmt, $link); + # $row=mysql_fetch_row($rslt); + # $AexternalDEAD=$row[0]; + + if ($auto_dial_level > 0) + { + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03005',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 5) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9305$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + if ($campagentstdisp == 'YES') + { + ### grab the status of this agent to display + $stmt="SELECT status,campaign_id,closer_campaigns from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03006',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Alogin=$row[0]; + $Acampaign=$row[1]; + $AccampSQL=$row[2]; + $AccampSQL = ereg_replace(' -','', $AccampSQL); + $AccampSQL = ereg_replace(' ',"','", $AccampSQL); + + ### grab the number of calls being placed from this server and campaign + $stmt="SELECT count(*) from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id='$Acampaign') or (campaign_id IN('$AccampSQL')) );"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03007',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $RingCalls=$row[0]; + if ($RingCalls > 0) {$RingCalls = "Calls in Queue: $RingCalls";} + else {$RingCalls = "Calls in Queue: $RingCalls";} + + ### grab the number of calls being placed from this server and campaign + $stmt="SELECT count(*) from vicidial_auto_calls where status NOT IN('XFER') and ( (campaign_id='$Acampaign') or (campaign_id IN('$AccampSQL')) );"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03008',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $DiaLCalls=$row[0]; + + } + else + { + $Alogin='N'; + $RingCalls='N'; + $DiaLCalls='N'; + } + } + else + { + $Alogin='N'; + $RingCalls='N'; + $DiaLCalls='N'; + + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03009',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 5) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9309$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + } + + ### grab the API hangup and API dispo fields in vicidial_live_agents + $stmt="SELECT external_hangup,external_status from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03010',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $external_hangup = $row[0]; + $external_status = $row[1]; + if (strlen($external_status)<1) {$external_status = '::::::::::';} + + if ($Acount < 1) {$Alogin='DEAD_VLA';} + if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} + + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Stato: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . "|\n"; + + } + $total_conf=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03011',$user,$server_ip,$session_name,$one_mysql_log);} + if ($rslt) {$sip_list = mysql_num_rows($rslt);} + # echo "$sip_list|"; + $loop_count=0; + while ($sip_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $CanaleA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03012',$user,$server_ip,$session_name,$one_mysql_log);} + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + # echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $CanaleA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + } + $channels_list = ($channels_list + $sip_list); + echo "$channels_list|"; + + $counter=0; + $countecho=''; + while($total_conf > $counter) + { + $counter++; + $countecho = "$countecho$CanaleA[$counter] ~"; + # echo "$CanaleA[$counter] ~"; + } + + echo "$countecho\n"; + } + + if ($ACTION == 'register') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($exten)<1) ) + { + $channel_live=0; + echo "Conf Exten $conf_exten non e` valido or Exten $exten non e` valido\n"; + exit; + } + else + { + $stmt="UPDATE conferences set extension='$exten' where server_ip = '$server_ip' and conf_exten = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03013',$user,$server_ip,$session_name,$one_mysql_log);} + } + echo "Conferenza $conf_exten e` stato registrato su $exten\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + + +##### MySQL Error Logging ##### +function mysql_error_logging($NOW_TIME,$link,$mel,$stmt,$query_id,$user,$server_ip,$session_name,$one_mysql_log) +{ +$NOW_TIME = date("Y-m-d H:i:s"); +# mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log); +$errno=''; $error=''; +if ( ($mel > 0) or ($one_mysql_log > 0) ) + { + $errno = mysql_errno($link); + if ( ($errno > 0) or ($mel > 1) or ($one_mysql_log > 0) ) + { + $error = mysql_error($link); + $efp = fopen ("./vicidial_mysql_errors.txt", "a"); + fwrite ($efp, "$NOW_TIME|conf_check |$query_id|$errno|$error|$stmt|$user|$server_ip|$session_name|\n"); + fclose($efp); + } + } +$one_mysql_log=0; +return $errno; +} + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/dbconnect.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/dbconnect.php new file mode 100644 index 00000000..723d3c59 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/dbconnect.php @@ -0,0 +1,58 @@ + LICENSE: AGPLv2 +# +if ( file_exists("/etc/astguiclient.conf") ) +{ +$DBCagc = file("/etc/astguiclient.conf"); +foreach ($DBCagc as $DBCline) + { + $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); + if (ereg("^PATHlogs", $DBCline)) + {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} + if (ereg("^PATHweb", $DBCline)) + {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} + if (ereg("^VARDB_server", $DBCline)) + {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} + if (ereg("^VARDB_database", $DBCline)) + {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} + if (ereg("^VARDB_user", $DBCline)) + {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} + if (ereg("^VARDB_pass", $DBCline)) + {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} + if (ereg("^VARDB_port", $DBCline)) + {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} + } + +} +else +{ +#defaults for DB connection +$VARDB_server = 'localhost'; +$VARDB_user = 'cron'; +$VARDB_pass = '1234'; +$VARDB_database = '1234'; +$WeBServeRRooT = '/usr/local/apache2/htdocs'; +} + +$link=mysql_connect("$VARDB_server", "$VARDB_user", "$VARDB_pass"); +if (!$link) { + die('MySQL connect ERROR: ' . mysql_error()); +} +mysql_select_db("$VARDB_database",$link); + +$local_DEF = 'Local/'; +$conf_silent_prefix = '7'; +$local_AMP = '@'; +$ext_context = 'demo'; +$recording_exten = '8309'; +$WeBRooTWritablE = '1'; +$non_latin = '0'; # set to 1 for UTF rules, overridden by system_settings +$flag_channels=0; +$flag_string = 'VICIast20'; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/inbound_popup.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/inbound_popup.php new file mode 100644 index 00000000..58ddc803 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/inbound_popup.php @@ -0,0 +1,351 @@ + LICENSE: AGPLv2 +# +# This script is designed to open up when a live_inbound call comes in giving the user +# options of what to do with the call or options to lookup the callerID on various web sites +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $uniqueid - ('1234567890.123456',...) +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $vmail_box - ('101','1234',...) +# - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $voicemail_dump_exten - ('85026666666666') +# - $local_web_callerID_URL_enc - ( rawurlencoded custom callerid lookup URL) +# +# +# changes +# 50428-1500 - First build of script display only +# 50429-1241 - some formatting, hangup and Vmail redirect, 30s timeout on actions, and CID web lookup links +# 50503-1244 - added session_name checking for extra security +# 50711-1203 - removed HTTP authentication in favor of user/pass vars +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["voicemail_dump_exten"])) {$voicemail_dump_exten=$_GET["voicemail_dump_exten"];} + elseif (isset($_POST["voicemail_dump_exten"])) {$voicemail_dump_exten=$_POST["voicemail_dump_exten"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_GET["local_web_callerID_URL_enc"];} + elseif (isset($_POST["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_POST["local_web_callerID_URL_enc"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} + else {$local_web_callerID_URL = '';} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.6'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$DO = '-1'; +if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Utentename/Password non validi: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "ip del server non valido: |$server_ip| or Nome sessione non valido: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nome sessione non valido: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +echo "\n"; +echo "\n"; +echo "\n"; +?> + + +CHIAMATA INBOUND IN CORSO"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "

CHIAMATA INBOUND IN CORSO

\n"; +echo "$NOW_TIME

\n"; +} + + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($uniqueid)<9) + { + $channel_live=0; + echo "Uniqueid $uniqueid non e` valido\n"; + exit; + } + else + { + $stmt="SELECT * FROM live_inbound where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $channels_list = mysql_num_rows($rslt); + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); +# echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; +# Zap/73|"V.I.C.I. MARKET" <7275338730>|2005-04-28 14:01:21|7274514936|Inbound direct to Matt||||| + if ($format=='debug') {echo "\n";} + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Canale: $row[1]
CallerID: $row[3]
\n"; + + $phone = eregi_replace(".*\<","",$row[3]); + $phone = eregi_replace("\>.*","",$phone); + $NPA = substr($phone, 0, 3); + $NXX = substr($phone, 3, 3); + $XXXX = substr($phone, 6, 4); + $D='-'; + echo "GOOGLE - \n"; + echo "ANYWHO - \n"; + echo "SWITCHBOARD - \n"; + echo "VERIZON - \n"; + echo "WHITEPAGES - \n"; + echo "411.COM - \n"; + echo "411.COM - \n"; + + $local_web_callerID_QUERY_STRING =''; + $local_web_callerID_QUERY_STRING.="?callerID_areacode=$NPA"; + $local_web_callerID_QUERY_STRING.="&callerID_prefix=$NXX"; + $local_web_callerID_QUERY_STRING.="&callerID_last4=$XXXX"; + $local_web_callerID_QUERY_STRING.="&callerID_Time=$row[6]"; + $local_web_callerID_QUERY_STRING.="&callerID_Canale=$row[1]"; + $local_web_callerID_QUERY_STRING.="&callerID_uniqueID=$row[0]"; + $local_web_callerID_QUERY_STRING.="&callerID_phone_ext=$row[5]"; + $local_web_callerID_QUERY_STRING.="&callerID_server_ip=$row[2]"; + $local_web_callerID_QUERY_STRING.="&callerID_extension=$row[4]"; + $local_web_callerID_QUERY_STRING.="&callerID_inbound_number=$row[8]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_a=$row[9]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_b=$row[10]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_c=$row[11]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_d=$row[12]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_e=$row[13]"; + echo "CLIENTE - \n"; + + echo "
Numero chiamato: $row[8]
Note: $row[9]|$row[10]|$row[11]|$row[12]|$row[13]|
\n"; + echo "RIAGGANCIA - \n"; + echo "INVIA ALLA MIA VOICEMAIL\n"; + echo "
\n"; + + + $stmt="UPDATE live_inbound set acknowledged='Y' where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + + } + + + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/live_exten_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/live_exten_check.php new file mode 100644 index 00000000..9a92d6db --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/live_exten_check.php @@ -0,0 +1,278 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to send whether the client channel is live and to what channel it is connected +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +# - $protocol - ('SIP','Zap','IAX2',...) +# +# +# changes +# 50404-1249 - First build of script +# 50406-1402 - added connected trunk lookup +# 50428-1452 - added live_inbound check for exten on 2nd line of output +# 50503-1233 - added session_name checking for extra security +# 50524-1429 - added parked calls count +# 50610-1204 - Added NULL check on MySQL results to reduced errors +# 50711-1204 - removed HTTP authentication in favor of user/pass vars +# 60103-1541 - added favorite extens status display +# 60421-1359 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1203 - Added variable filters to close security holes for login form +# 60825-1029 - Fixed translation variable issue ChannelA +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count"];} + elseif (isset($_POST["favorites_count"])) {$favorites_count=$_POST["favorites_count"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '2.0.1'; +$build = '60825-1029'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Utentename/Password non validi: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "ip del server non valido: |$server_ip| or Nome sessione non valido: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nome sessione non valido: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Controllo Interni Attivi"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + +echo "DateTime: $NOW_TIME|"; +echo "UnixTime: $StarTtime|"; + +$stmt="SELECT count(*) FROM parked_channels where server_ip = '$server_ip';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +echo "$row[0]|"; + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten non e` valido o protocollo $protocol non e` valido\n"; + exit; + } + else + { + $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + $ChanneLA[$loop_count] = "$row[0]"; + $ChanneLB[$loop_count] = "$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + $counter=0; + while($loop_count > $counter) + { + $counter++; + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "CanaleA: $ChanneLA[$counter] ~"; + echo "CanaleB: $ChanneLB[$counter] ~"; + echo "CanaleBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "CanaleA: $ChanneLA[$counter] ~"; + echo "CanaleB: $ChanneLB[$counter] ~"; + echo "CanaleBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "CanaleA: $ChanneLA[$counter] ~"; + echo "CanaleB: $ChanneLB[$counter] ~"; + echo "CanaleBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "CanaleA: $ChanneLA[$counter] ~"; + echo "CanaleB: $ChanneLB[$counter] ~"; + echo "CanaleBtrunk: $row[0]|"; + } + else + { + echo "Conversation: $counter ~"; + echo "CanaleA: $ChanneLA[$counter] ~"; + echo "CanaleB: $ChanneLB[$counter] ~"; + echo "CanaleBtrunk: $ChanneLA[$counter]|"; + } + } + } + } + } + +echo "\n"; + +### check for live_inbound entry +$stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = '$exten' and acknowledged='N';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +if ($rslt) {$channels_list = mysql_num_rows($rslt);} + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); + $LIuniqueid = "$row[0]"; + $LIchannel = "$row[1]"; + $LIcallerid = "$row[3]"; + $LIdatetime = "$row[6]"; + echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; + if ($format=='debug') {echo "\n";} + } + +echo "\n"; + + +### if favorites are present do a lookup to see if any are active +if ($favorites_count > 0) + { + $favorites = explode(',',$favorites_list); + $h=0; + $favs_print=''; + while ($favorites_count > $h) + { + $fav_extension = explode('/',$favorites[$h]); + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$favorites[$h]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favs_print .= "$fav_extension[1]: $row[0] ~"; + $h++; + } + echo "$favs_print\n"; + } + +if ($format=='debug') {echo "\n";} + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/manager_send.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/manager_send.php new file mode 100644 index 00000000..f1a879f5 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/manager_send.php @@ -0,0 +1,1888 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $ACTION - ('Originate','Redirect','Hangup','Command','Monitor','StopMonitor','SysCIDOriginate','RedirectName','RedirectNameVmail','MonitorConf','StopMonitorConf','RedirectXtra','RedirectXtraCX','RedirectVD','HangupConfDial','VolumeControl','OriginateVDRelogin') +# - $queryCID - ('CN012345678901234567',...) +# - $format - ('text','debug') +# - $channel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $exten - ('1234','913125551212',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $filename - ('20050406-125623_44444',...) +# - $extenName - ('phone100',...) +# - $parkedby - ('phone100',...) +# - $extrachannel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $auto_dial_level - ('0','1','1.1',...) +# - $campaign - ('CLOSER','TESTCAMP',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('1234',...) +# - $seconds - ('32',...) +# - $outbound_cid - ('3125551212','0000000000',...) +# - $agent_log_id - ('123456',...) +# - $call_server_ip - ('10.10.10.15',...) +# - $CalLCID - ('VD01234567890123456',...) +# - $stage - ('UP','DOWN','2NDXfeR') +# - $session_id - ('8600051') +# - $FROMvdc - ('YES','NO') +# - $agentchannel - ('SIP/cc101-g7yr','Zap/1-1',...) + +# CHANGELOG: +# 50401-1002 - First build of script, Hangup function only +# 50404-1045 - Redirect basic function enabled +# 50406-1522 - Monitor basic function enabled +# 50407-1647 - Monitor and StopMonitor full functions enabled +# 50422-1120 - basic Originate function enabled +# 50428-1451 - basic SysCIDOriginate function enabled for checking voicemail +# 50502-1539 - basic RedirectName and RedirectNameVmail added +# 50503-1227 - added session_name checking for extra security +# 50523-1341 - added Conference call start/stop recording +# 50523-1421 - added OriginateName and OriginateNameVmail for local calls +# 50524-1602 - added RedirectToPark and RedirectFromPark +# 50531-1203 - added RedirecXtra for dual channel redirection +# 50630-1100 - script changed to not use HTTP login vars, user/pass instead +# 50804-1148 - Added RedirectVD for VICIDIAL blind redirection with logging +# 50815-1204 - Added NEXTAVAILABLE to RedirectXtra function +# 50903-2343 - Added HangupConfDial function to hangup in-dial channels in conf +# 50913-1057 - Added outbound_cid set if present to originate call +# 51020-1556 - Added agent_log_id framework for detailed agent activity logging +# 51118-1204 - Fixed Blind transfer bug from VICIDIAL when in manual dial mode +# 51129-1014 - Added ability to accept calls from other VICIDIAL servers +# 51129-1253 - Fixed Hangups of other agents channels in VICIDIAL AD +# 60310-2022 - Fixed NEXTAVAILABLE bug in leave-3way-call redirect function +# 60421-1413 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1158 - Added variable filters to close security holes for login form +# 60809-1544 - Added direct transfers to leave-3ways in consultative transfers +# 61004-1526 - Added parsing of volume control command and lookup or number +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61201-1115 - Added user to MonitorConf for recording_log +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70226-1251 - Added Mute/UnMute to conference volume control +# 70320-1502 - Added option to allow retry of leave-3way-call and debug logging +# 70322-1636 - Added sipsak display ability +# 80331-1433 - Added second transfer try for VICIDIAL transfers on manual dial calls +# 80402-0121 - Fixes for manual dial transfers on some systems +# 80424-0442 - Added non_latin lookup from system_settings +# 80707-2325 - Added vicidial_id to recording_log for tracking of vicidial or closer log to recording +# 80915-1755 - Rewrote leave-3way functions for external calling +# 81011-1404 - Fixed bugs in leave3way when transferring a manual dial call +# 81020-1459 - Fixed bugs in queue_log logging +# 81104-0203 - Added mysql error logging capability +# + +$version = '2.0.5-35'; +$build = '81104-0203'; +$mel=1; # Mysql Error Log enabled = 1 +$mysql_log_count=82; +$one_mysql_log=0; + +require("dbconnect.php"); + +### These are variable assignments for PHP globals off +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["queryCID"])) {$queryCID=$_GET["queryCID"];} + elseif (isset($_POST["queryCID"])) {$queryCID=$_POST["queryCID"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["filename"])) {$filename=$_GET["filename"];} + elseif (isset($_POST["filename"])) {$filename=$_POST["filename"];} +if (isset($_GET["extenName"])) {$extenName=$_GET["extenName"];} + elseif (isset($_POST["extenName"])) {$extenName=$_POST["extenName"];} +if (isset($_GET["parkedby"])) {$parkedby=$_GET["parkedby"];} + elseif (isset($_POST["parkedby"])) {$parkedby=$_POST["parkedby"];} +if (isset($_GET["extrachannel"])) {$extrachannel=$_GET["extrachannel"];} + elseif (isset($_POST["extrachannel"])) {$extrachannel=$_POST["extrachannel"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["secondS"])) {$secondS=$_GET["secondS"];} + elseif (isset($_POST["secondS"])) {$secondS=$_POST["secondS"];} +if (isset($_GET["outbound_cid"])) {$outbound_cid=$_GET["outbound_cid"];} + elseif (isset($_POST["outbound_cid"])) {$outbound_cid=$_POST["outbound_cid"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["call_server_ip"])) {$call_server_ip=$_GET["call_server_ip"];} + elseif (isset($_POST["call_server_ip"])) {$call_server_ip=$_POST["call_server_ip"];} +if (isset($_GET["CalLCID"])) {$CalLCID=$_GET["CalLCID"];} + elseif (isset($_POST["CalLCID"])) {$CalLCID=$_POST["CalLCID"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["allow_sipsak_messages"])) {$allow_sipsak_messages=$_GET["allow_sipsak_messages"];} + elseif (isset($_POST["allow_sipsak_messages"])) {$allow_sipsak_messages=$_POST["allow_sipsak_messages"];} +if (isset($_GET["session_id"])) {$session_id=$_GET["session_id"];} + elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} +if (isset($_GET["FROMvdc"])) {$FROMvdc=$_GET["FROMvdc"];} + elseif (isset($_POST["FROMvdc"])) {$FROMvdc=$_POST["FROMvdc"];} +if (isset($_GET["agentchannel"])) {$agentchannel=$_GET["agentchannel"];} + elseif (isset($_POST["agentchannel"])) {$agentchannel=$_POST["agentchannel"];} + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02001',$user,$server_ip,$session_name,$one_mysql_log);} +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) +{ +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$secondS = ereg_replace("[^0-9]","",$secondS); +} + +# default optional vars if not set +if (!isset($ACTION)) {$ACTION="Originate";} +if (!isset($format)) {$format="alert";} +if (!isset($ext_priority)) {$ext_priority="1";} + +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$NOWnum = date("YmdHis"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02002',$user,$server_ip,$session_name,$one_mysql_log);} +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Utentename/Password non validi: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "ip del server non valido: |$server_ip| or Nome sessione non valido: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02003',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nome sessione non valido: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Invio Manager: "; +if ($ACTION=="Originate") {echo "Originate";} +if ($ACTION=="Redirect") {echo "Redirect";} +if ($ACTION=="RedirectName") {echo "RedirectName";} +if ($ACTION=="Hangup") {echo "Hangup";} +if ($ACTION=="Command") {echo "Command";} +if ($ACTION==99999) {echo "AIUTO";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ACTION=SysCIDOriginate - insert Originate Manager statement allowing small CIDs for system calls +###################### +if ($ACTION=="SysCIDOriginate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<1) ) + { + echo "Exten $exten non e` valido or queryCID $queryCID non e` valido, Originate comando non inserito\n"; + } + else + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02004',$user,$server_ip,$session_name,$one_mysql_log);} + echo "Originate comando inviato per Exten $exten Canale $channel su $server_ip\n"; + } +} + + + +###################### +# ACTION=Originate, OriginateName, OriginateNameVmail - insert Originate Manager statement +###################### +if ($ACTION=="OriginateName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Una di queste variabili non e` valido:\n"; + echo "Canale $channel deve avere piu' di 2 caratteri\n"; + echo "queryCID $queryCID deve avere piu' di 14 caratteri\n"; + echo "extenName $extenName deve essere impostato\n"; + echo "ext_context $ext_context deve essere impostato\n"; + echo "ext_priority $ext_priority deve essere impostato\n"; + echo "\nOriginateName Action non inviato\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02005',$user,$server_ip,$session_name,$one_mysql_log);} + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Una di queste variabili non e` valido:\n"; + echo "Canale $channel deve avere piu' di 2 caratteri\n"; + echo "queryCID $queryCID deve avere piu' di 14 caratteri\n"; + echo "extenName $extenName deve essere impostato\n"; + echo "exten $exten deve essere impostato\n"; + echo "ext_context $ext_context deve essere impostato\n"; + echo "ext_priority $ext_priority deve essere impostato\n"; + echo "\nOriginateNameVmail Action non inviato\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02006',$user,$server_ip,$session_name,$one_mysql_log);} + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateVDRelogin") +{ + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $CIDdate = date("ymdHis"); + $DS='-'; + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $queryCID = "$SIPSAK_prefix$campaign$DS$CIDdate"; + + } + $ACTION="Originate"; +} + +if ($ACTION=="Originate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<10) ) + { + echo "Exten $exten non e` valido or queryCID $queryCID non e` valido, Originate comando non inserito\n"; + } + else + { + if (strlen($outbound_cid)>1) + {$outCID = "\"$queryCID\" <$outbound_cid>";} + else + {$outCID = "$queryCID";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $outCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02007',$user,$server_ip,$session_name,$one_mysql_log);} + echo "Originate comando inviato per Exten $exten Canale $channel su $server_ip\n"; + } +} + + + +###################### +# ACTION=HangupConfDial - find the Local channel that is in the conference and needs to be hung up +###################### +if ($ACTION=="HangupConfDial") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "conference $exten non e` valido or ext_context $ext_context or queryCID $queryCID non e` valido, Hangup comando non inserito\n"; + } + else + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $hangup_channel_prefix = "$local_DEF$exten$local_AMP$ext_context"; + + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02008',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row > 0) + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02009',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + $channel=$rowx[0]; + $ACTION="Hangup"; + $queryCID = eregi_replace("^.","G",$queryCID); # GTvdcW... + } + } +} + + + +###################### +# ACTION=Hangup - insert Hangup Manager statement +###################### +if ($ACTION=="Hangup") +{ +$stmt="UPDATE vicidial_live_agents SET external_hangup='0' where user='$user';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02010',$user,$server_ip,$session_name,$one_mysql_log);} + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) ) + { + $channel_live=0; + echo "Canale $channel non e` valido or queryCID $queryCID non e` valido, Hangup comando non inserito\n"; + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + +# $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $row=mysql_fetch_row($rslt); +# if ($row[0]==0) +# { +# $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $rowx=mysql_fetch_row($rslt); +# if ($rowx[0]==0) +# { +# $channel_live=0; +# echo "Channel $channel is not live on $call_server_ip, Hangup command not inserted\n"; +# } +# } + if ( ($auto_dial_level > 0) and (strlen($CalLCID)>2) and (strlen($exten)>2) and ($secondS > 0)) + { + $stmt="SELECT count(*) FROM vicidial_auto_calls where channel='$channel' and callerid='$CalLCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02011',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + echo "Call $CalLCID $channel non e` attivo su $call_server_ip, Checking Live Canale...\n"; + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel' and extension LIKE \"%$exten\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02012',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $channel_live=0; + echo "Canale $channel non e` attivo su $call_server_ip, Hangup comando non inserito $rowx[0]\n$stmt\n"; + } + else + { + echo "$stmt\n"; + } + } + } + + if ($channel_live==1) + { + if ( (strlen($CalLCID)>15) and ($secondS > 0)) + { + $stmt="SELECT count(*) FROM vicidial_auto_calls where callerid='$CalLCID';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02013',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + if ($format=='debug') {echo "\n";} + if ($rowx[0] > 0) + { + ############################################# + ##### INIZIO QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02014',$user,$server_ip,$session_name,$one_mysql_log);} + if ($format=='debug') {echo "\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt="SELECT count(*) from queue_log where call_id='$CalLCID' and verb='CONNECT';"; + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02015',$user,$server_ip,$session_name,$one_mysql_log);} + $VAC_cn_ct = mysql_num_rows($rslt); + if ($VAC_cn_ct > 0) + { + $row=mysql_fetch_row($rslt); + $caller_connect = $row[0]; + } + if ($format=='debug') {echo "\n";} + if ($caller_connect > 0) + { + ### grab call lead information needed for QM logging + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where callerid='$CalLCID' order by call_time limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02016',$user,$server_ip,$session_name,$one_mysql_log);} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + if ($format=='debug') {echo "\n";} + + $CLstage = preg_replace("/.*-/",'',$CLstage); + if (strlen($CLstage) < 1) {$CLstage=0;} + + $stmt="SELECT count(*) from queue_log where call_id='$CalLCID' and verb='COMPLETECALLER' and queue='$CLcampaign_id';"; + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02017',$user,$server_ip,$session_name,$one_mysql_log);} + $VAC_cc_ct = mysql_num_rows($rslt); + if ($VAC_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $caller_complete = $row[0]; + } + if ($format=='debug') {echo "\n";} + + if ($caller_complete < 1) + { + $time_id=0; + $stmt="SELECT time_id from queue_log where call_id='$CalLCID' and verb='ENTERQUEUE' and queue='$CLcampaign_id';"; + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02018',$user,$server_ip,$session_name,$one_mysql_log);} + $VAC_eq_ct = mysql_num_rows($rslt); + if ($VAC_eq_ct > 0) + { + $row=mysql_fetch_row($rslt); + $time_id = $row[0]; + } + $StarTtime = date("U"); + if ($time_id > 100000) + {$secondS = ($StarTtime - $time_id);} + + if ($format=='debug') {echo "\n";} + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$CLcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$secondS',data3='1',serverid='$queuemetrics_log_id';"; + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02019',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + if ($format=='debug') {echo "\n";} + } + } + } + } + } + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Hangup','$queryCID','Channel: $channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02020',$user,$server_ip,$session_name,$one_mysql_log);} + echo "Hangup comando inviato per Canale $channel su $call_server_ip\n"; + } + } +} + + + +###################### +# ACTION=Redirect, RedirectName, RedirectNameVmail, RedirectToPark, RedirectFromPark, RedirectVD, RedirectXtra, RedirectXtraCX +# - insert Redirect Manager statement using extensions name +###################### +if ($ACTION=="RedirectVD") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($campaign)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($uniqueid)<2) or (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "Una di queste variabili non e` valido:\n"; + echo "Canale $channel deve avere piu' di 2 caratteri\n"; + echo "queryCID $queryCID deve avere piu' di 14 caratteri\n"; + echo "exten $exten deve essere impostato\n"; + echo "ext_context $ext_context deve essere impostato\n"; + echo "ext_priority $ext_priority deve essere impostato\n"; + echo "auto_dial_level $auto_dial_level deve essere impostato\n"; + echo "campaign $campaign deve essere impostato\n"; + echo "uniqueid $uniqueid deve essere impostato\n"; + echo "lead_id $lead_id deve essere impostato\n"; + echo "\nRedirectVD Action non inviato\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02021',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where lead_id='$lead_id' order by start_epoch desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02022',$user,$server_ip,$session_name,$one_mysql_log);} + } + if ($auto_dial_level < 1) + { + $stmt = "UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02023',$user,$server_ip,$session_name,$one_mysql_log);} + } + else + { + $stmt = "DELETE from vicidial_auto_calls where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02024',$user,$server_ip,$session_name,$one_mysql_log);} + } + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectToPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($parkedby)<1) ) + { + $channel_live=0; + echo "Una di queste variabili non e` valido:\n"; + echo "Canale $channel deve avere piu' di 2 caratteri\n"; + echo "queryCID $queryCID deve avere piu' di 14 caratteri\n"; + echo "exten $exten deve essere impostato\n"; + echo "extenName $extenName deve essere impostato\n"; + echo "ext_context $ext_context deve essere impostato\n"; + echo "ext_priority $ext_priority deve essere impostato\n"; + echo "parkedby $parkedby deve essere impostato\n"; + echo "\nRedirectToPark Action non inviato\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "INSERT INTO parked_channels values('$channel','$server_ip','','$extenName','$parkedby','$NOW_TIME');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectFromPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Una di queste variabili non e` valido:\n"; + echo "Canale $channel deve avere piu' di 2 caratteri\n"; + echo "queryCID $queryCID deve avere piu' di 14 caratteri\n"; + echo "exten $exten deve essere impostato\n"; + echo "ext_context $ext_context deve essere impostato\n"; + echo "ext_priority $ext_priority deve essere impostato\n"; + echo "\nRedirectFromPark Action non inviato\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "DELETE FROM parked_channels where server_ip='$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02026',$user,$server_ip,$session_name,$one_mysql_log);} + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Una di queste variabili non e` valido:\n"; + echo "Canale $channel deve avere piu' di 2 caratteri\n"; + echo "queryCID $queryCID deve avere piu' di 14 caratteri\n"; + echo "extenName $extenName deve essere impostato\n"; + echo "ext_context $ext_context deve essere impostato\n"; + echo "ext_priority $ext_priority deve essere impostato\n"; + echo "\nRedirectName Action non inviato\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02027',$user,$server_ip,$session_name,$one_mysql_log);} + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Redirect"; + } + } +} + +if ($ACTION=="RedirectNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Una di queste variabili non e` valido:\n"; + echo "Canale $channel deve avere piu' di 2 caratteri\n"; + echo "queryCID $queryCID deve avere piu' di 14 caratteri\n"; + echo "extenName $extenName deve essere impostato\n"; + echo "exten $exten deve essere impostato\n"; + echo "ext_context $ext_context deve essere impostato\n"; + echo "ext_priority $ext_priority deve essere impostato\n"; + echo "\nRedirectNameVmail Action non inviato\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02028',$user,$server_ip,$session_name,$one_mysql_log);} + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Redirect"; + } + } +} + + + + + + +if ($ACTION=="RedirectXtraCXNeW") +{ + $DBout=''; + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Una di queste variabili non e` valido:\n"; + echo "Canale $channel deve avere piu' di 2 caratteri\n"; + echo "ExtraCanale $extrachannel deve avere piu' di 2 caratteri\n"; + echo "queryCID $queryCID deve avere piu' di 14 caratteri\n"; + echo "exten $exten deve essere impostato\n"; + echo "ext_context $ext_context deve essere impostato\n"; + echo "ext_priority $ext_priority deve essere impostato\n"; + echo "\nRedirect Action non inviato\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if (ereg("NEXTAVAILABLE",$exten)) + { + $stmtA="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtA, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'02029',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0] > 1) + { + $stmtB="UPDATE vicidial_conferences set extension='$protocol/$extension$NOWnum', leave_3way='0' where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtB, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtB,'02030',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmtC="SELECT conf_exten from vicidial_conferences where server_ip='$server_ip' and extension='$protocol/$extension$NOWnum' and conf_exten != '$session_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtC, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtC,'02031',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + + if ( (ereg("^8300",$extension)) and ($protocol == 'Local') ) + { + $extension = "$extension$user"; + } + + $stmtD="UPDATE vicidial_conferences set extension='$protocol/$extension' where server_ip='$server_ip' and conf_exten='$exten' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtD, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtD,'02032',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmtE="UPDATE vicidial_conferences set leave_3way='1', leave_3way_datetime='$NOW_TIME', extension='3WAY_$user' where server_ip='$server_ip' and conf_exten='$session_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtE, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtE,'02033',$user,$server_ip,$session_name,$one_mysql_log);} + + $queryCID = "CXAR24$NOWnum"; + $stmtF="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $agentchannel','Context: $ext_context','Exten: $exten','Priority: 1','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtF, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtF,'02034',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmtG="UPDATE vicidial_live_agents set conf_exten='$exten' where server_ip='$server_ip' and user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtG, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtG,'02035',$user,$server_ip,$session_name,$one_mysql_log);} + + if ($auto_dial_level < 1) + { + $stmtH = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and callerid LIKE \"M%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtH, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtH,'02036',$user,$server_ip,$session_name,$one_mysql_log);} + } + + // $fp = fopen ("./vicidial_debug_3way.txt", "a"); + // fwrite ($fp, "$NOW_TIME|$filename|\n|$stmtA|\n|$stmtB|\n|$stmtC|\n|$stmtD|\n|$stmtE|\n|$stmtF|\n|$stmtG|\n|$stmtH|\n\n"); + // fclose($fp); + + echo "NeWSessioN|$exten|\n"; + echo "|$stmtG|\n"; + + exit; + } + else + { + $channel_liveX=0; + echo "Cannot find empty vicidial_conference su $server_ip, Redirect comando non inserito\n|$stmt|"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Impossibile trovare conferenze vuote su $server_ip";} + } + } + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02037',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02038',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Canale $channel non e` attivo su $call_server_ip, Redirect comando non inserito\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel non e` attivo su $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02039',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02040',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Canale $channel non e` attivo su $server_ip, Redirect comando non inserito\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel non e` attivo su $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + $stmt="SELECT count(*) FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02041',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $channel_liveY=0; + echo "No Local agent to send call to, Redirect comando non inserito\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + } + else + { + $stmt="SELECT server_ip,conf_exten,user FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02042',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + $dest_server_ip = $rowx[0]; + $dest_session_id = $rowx[1]; + $dest_user = $rowx[2]; + $S='*'; + + $D_s_ip = explode('.', $dest_server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$dest_session_id$S$lead_id$S$dest_user$S$phone_code$S$phone_number$S$campaign$S"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02043',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','$queryCID','Channel: $extrachannel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02044',$user,$server_ip,$session_name,$one_mysql_log);} + + echo "RedirectXtraCX comando inviato per Canale $channel su $call_server_ip and \nHungup $extrachannel su $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel su $call_server_ip, Hungup $extrachannel su $server_ip";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel su $server_ip";} + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } +} + + + + + + + + + + +if ($ACTION=="RedirectXtraNeW") +{ + if ($channel=="$extrachannel") + {$ACTION="Redirect";} + else + { + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Una di queste variabili non e` valido:\n"; + echo "Canale $channel deve avere piu' di 2 caratteri\n"; + echo "ExtraCanale $extrachannel deve avere piu' di 2 caratteri\n"; + echo "queryCID $queryCID deve avere piu' di 14 caratteri\n"; + echo "exten $exten deve essere impostato\n"; + echo "ext_context $ext_context deve essere impostato\n"; + echo "ext_priority $ext_priority deve essere impostato\n"; + echo "session_id $session_id deve essere impostato\n"; + echo "\nRedirect Action non inviato\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|$session_id|\n"); + fclose($fp); + } + } + } + else + { + if (ereg("NEXTAVAILABLE",$exten)) + { + $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02045',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0] > 1) + { + $stmt="UPDATE vicidial_conferences set extension='$protocol/$extension$NOWnum', leave_3way='0' where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02046',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="SELECT conf_exten from vicidial_conferences where server_ip='$server_ip' and extension='$protocol/$extension$NOWnum' and conf_exten != '$session_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02047',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + + $stmt="UPDATE vicidial_conferences set extension='$protocol/$extension' where server_ip='$server_ip' and conf_exten='$exten' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02048',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_conferences set leave_3way='1', leave_3way_datetime='$NOW_TIME', extension='3WAY_$user' where server_ip='$server_ip' and conf_exten='$session_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02049',$user,$server_ip,$session_name,$one_mysql_log);} + + $queryCID = "CXAR23$NOWnum"; + $stmtB="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $agentchannel','Context: $ext_context','Exten: $exten','Priority: 1','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtB, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02050',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_live_agents set conf_exten='$exten' where server_ip='$server_ip' and user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02051',$user,$server_ip,$session_name,$one_mysql_log);} + + if ($auto_dial_level < 1) + { + $stmt = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and callerid LIKE \"M%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02052',$user,$server_ip,$session_name,$one_mysql_log);} + } + + echo "NeWSessioN|$exten|\n"; + echo "|$stmtB|\n"; + + exit; + } + else + { + $channel_liveX=0; + echo "Cannot find empty vicidial_conference su $server_ip, Redirect comando non inserito\n|$stmt|"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Impossibile trovare conferenze vuote su $server_ip";} + } + } + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02053',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02054',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Canale $channel non e` attivo su $call_server_ip, Redirect comando non inserito\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel non e` attivo su $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02055',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02056',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Canale $channel non e` attivo su $server_ip, Redirect comando non inserito\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel non e` attivo su $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + if ( ($server_ip=="$call_server_ip") or (strlen($call_server_ip)<7) ) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','ExtraChannel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02057',$user,$server_ip,$session_name,$one_mysql_log);} + + echo "RedirectXtra comando inviato per Canale $channel and \nExtraCanale $extrachannel\n to $exten su $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten su $server_ip";} + } + else + { + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$exten"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02058',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02059',$user,$server_ip,$session_name,$one_mysql_log);} + + echo "RedirectXtra comando inviato per Canale $channel su $call_server_ip and \nExtraCanale $extrachannel\n to $exten su $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } + } +} + + + + + + + +/* +if ($ACTION=="RedirectXtraCX") +{ + $DBout=''; + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Una di queste variabili non e` valido:\n"; + echo "Canale $channel deve avere piu' di 2 caratteri\n"; + echo "ExtraCanale $extrachannel deve avere piu' di 2 caratteri\n"; + echo "queryCID $queryCID deve avere piu' di 14 caratteri\n"; + echo "exten $exten deve essere impostato\n"; + echo "ext_context $ext_context deve essere impostato\n"; + echo "ext_priority $ext_priority deve essere impostato\n"; + echo "\nRedirect Action non inviato\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Canale $channel non e` attivo su $call_server_ip, Redirect comando non inserito\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel non e` attivo su $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Canale $channel non e` attivo su $server_ip, Redirect comando non inserito\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel non e` attivo su $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + $stmt="SELECT count(*) FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $channel_liveY=0; + echo "No Local agent to send call to, Redirect comando non inserito\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + } + else + { + $stmt="SELECT server_ip,conf_exten,user FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $dest_server_ip = $rowx[0]; + $dest_session_id = $rowx[1]; + $dest_user = $rowx[2]; + $S='*'; + + $D_s_ip = explode('.', $dest_server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$dest_session_id$S$lead_id$S$dest_user$S$phone_code$S$phone_number$S$campaign$S"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','$queryCID','Channel: $extrachannel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtraCX comando inviato per Canale $channel su $call_server_ip and \nHungup $extrachannel su $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel su $call_server_ip, Hungup $extrachannel su $server_ip";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel su $server_ip";} + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } +} + + + +###### BEGIN OLD LEAVE-3-WAY FOR EXTERNAL CALLS - DEPRICATED AND WILL BE DELETED SOON ##### +if ($ACTION=="RedirectXtra") +{ + if ($channel=="$extrachannel") + {$ACTION="Redirect";} + else + { + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Una di queste variabili non e` valido:\n"; + echo "Canale $channel deve avere piu' di 2 caratteri\n"; + echo "ExtraCanale $extrachannel deve avere piu' di 2 caratteri\n"; + echo "queryCID $queryCID deve avere piu' di 14 caratteri\n"; + echo "exten $exten deve essere impostato\n"; + echo "ext_context $ext_context deve essere impostato\n"; + echo "ext_priority $ext_priority deve essere impostato\n"; + echo "\nRedirect Action non inviato\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if (ereg("NEXTAVAILABLE",$exten)) + { + $stmt="SELECT conf_exten FROM conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 3) + { + $stmt="UPDATE conferences set extension='$user' where server_ip='$server_ip' and conf_exten='$row[0]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $exten = $row[0]; + } + else + { + $channel_liveX=0; + echo "Impossibile trovare conferenze vuote su $server_ip, Redirect comando non inserito\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Impossibile trovare conferenze vuote su $server_ip";} + } + } + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Canale $channel non e` attivo su $call_server_ip, Redirect comando non inserito\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel non e` attivo su $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Canale $channel non e` attivo su $server_ip, Redirect comando non inserito\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel non e` attivo su $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + if ( ($server_ip=="$call_server_ip") or (strlen($call_server_ip)<7) ) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','ExtraChannel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra comando inviato per Canale $channel and \nExtraCanale $extrachannel\n to $exten su $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten su $server_ip";} + } + else + { + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$exten"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra comando inviato per Canale $channel su $call_server_ip and \nExtraCanale $extrachannel\n to $exten su $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } + } +} +###### END OLD LEAVE-3-WAY FOR EXTERNAL CALLS - DEPRICATED AND WILL BE DELETED SOON ##### +*/ + +if ($ACTION=="Redirect") +{ + ### for manual dial VICIDIAL calls send the second attempt to transfer the call + if ($stage=="2NDXfeR") + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $hangup_channel_prefix = "$local_DEF$session_id$local_AMP$ext_context"; + + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02060',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row > 0) + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02061',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + $channel=$rowx[0]; + $channel = eregi_replace("1$","2",$channel); + $queryCID = eregi_replace("^.","Q",$queryCID); + } + } + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Una di queste variabili non e` valido:\n"; + echo "Canale $channel deve avere piu' di 2 caratteri\n"; + echo "queryCID $queryCID deve avere piu' di 14 caratteri\n"; + echo "exten $exten deve essere impostato\n"; + echo "ext_context $ext_context deve essere impostato\n"; + echo "ext_priority $ext_priority deve essere impostato\n"; + echo "\nRedirect Action non inviato\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02062',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02063',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Canale $channel non e` attivo su $server_ip, Redirect comando non inserito\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02064',$user,$server_ip,$session_name,$one_mysql_log);} + + echo "Redirect comando inviato per Canale $channel su $server_ip\n"; + } + } +} + + + +###################### +# ACTION=Monitor or Stop Monitor - insert Monitor/StopMonitor Manager statement to start recording on a channel +###################### +if ( ($ACTION=="Monitor") || ($ACTION=="StopMonitor") ) +{ + if ($ACTION=="StopMonitor") + {$SQLfile = "";} + else + {$SQLfile = "File: $filename";} + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Canale $channel non e` valido or queryCID $queryCID non e` valido or filename: $filename non e` valido, $ACTION comando non inserito\n"; + } + else + { + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02065',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02066',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Canale $channel non e` attivo su $server_ip, $ACTION comando non inserito\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','$ACTION','$queryCID','Channel: $channel','$SQLfile','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02067',$user,$server_ip,$session_name,$one_mysql_log);} + + if ($ACTION=="Monitor") + { + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02068',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02069',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + } + else + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02070',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02071',$user,$server_ip,$session_name,$one_mysql_log);} + } + + } + echo "$ACTION comando inviato per Canale $channel su $server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n"; + } + } +} + + + + + + +###################### +# ACTION=MonitorConf or StopMonitorConf - insert Monitor/StopMonitor Manager statement to start recording on a conference +###################### +if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) +{ + $row=''; $rowx=''; + $channel_live=1; + $uniqueidSQL=''; + + if ( (strlen($exten)<3) or (strlen($channel)<4) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Canale $channel non e` valido or exten $exten non e` valido or filename: $filename non e` valido, $ACTION comando non inserito\n"; + } + else + { + + $VDvicidial_id=''; + + if ($ACTION=="MonitorConf") + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$filename','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $filename','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02072',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02073',$user,$server_ip,$session_name,$one_mysql_log);} + $RLaffected_rows = mysql_affected_rows($link); + if ($RLaffected_rows > 0) + { + $recording_id = mysql_insert_id($link); + } + + if ($FROMvdc=='YES') + { + ##### get call type from vicidial_live_agents table + $VLA_inOUT='NONE'; + $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02074',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VLA_inOUT_ct = mysql_num_rows($rslt); + if ($VLA_inOUT_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VLA_inOUT = $row[0]; + } + if ($VLA_inOUT == 'INBOUND') + { + $four_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-4,date("i"),date("s"),date("m"),date("d"),date("Y"))); + + ##### look for the vicidial ID in the vicidial_closer_log table + $stmt="SELECT closecallid FROM vicidial_closer_log where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by closecallid desc limit 1;"; + } + else + { + ##### look for the vicidial ID in the vicidial_log table + $stmt="SELECT uniqueid FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02075',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDvicidial_id = $row[0]; + + $stmt = "UPDATE recording_log SET vicidial_id='$VDvicidial_id' where recording_id='$recording_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02076',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + } + + ##### StopMonitorConf steps ##### + else + { + if ($uniqueid=='IN') + { + $four_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-4,date("i"),date("s"),date("m"),date("d"),date("Y"))); + + ### find the value to put in the vicidial_id field if this was an inbound call + $stmt="SELECT closecallid from vicidial_closer_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02077',$user,$server_ip,$session_name,$one_mysql_log);} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueidSQL = ",vicidial_id='$row[0]'"; + } + } + else + { + if (strlen($uniqueid) > 8) + {$uniqueidSQL = ",vicidial_id='$uniqueid'";} + } + + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02078',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' $uniqueidSQL where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02079',$user,$server_ip,$session_name,$one_mysql_log);} + } + + # find and hang up all recordings going su in this conference # and extension = '$exten' + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02080',$user,$server_ip,$session_name,$one_mysql_log);} + # $rec_count = intval(mysql_num_rows($rslt) / 2); + $rec_count = mysql_num_rows($rslt); + $h=0; + while ($rec_count>$h) + { + $rowx=mysql_fetch_row($rslt); + $HUchannel[$h] = $rowx[0]; + $h++; + } + $i=0; + while ($h>$i) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$i','Channel: $HUchannel[$i]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02081',$user,$server_ip,$session_name,$one_mysql_log);} + $i++; + } + + } + echo "$ACTION comando inviato per Canale $channel su $server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n LA REGISTRAZIONE DURERA` FINO A 60 MINUTI\n"; + } +} + + + + + +###################### +# ACTION=VolumeControl - raise or lower the volume of a meetme participant +###################### +if ($ACTION=="VolumeControl") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($stage)<1) or (strlen($queryCID)<1) ) + { + echo "Conferenza $exten, Stage $stage non e` valido or queryCID $queryCID non e` valido, Originate comando non inserito\n"; + } + else + { + $participant_number='XXYYXXYYXXYYXX'; + if (eregi('UP',$stage)) {$vol_prefix='4';} + if (eregi('DOWN',$stage)) {$vol_prefix='3';} + if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} + if (eregi('MUTING',$stage)) {$vol_prefix='1';} + $local_DEF = 'Local/'; + $local_AMP = '@'; + $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $volume_local_channel','Context: $ext_context','Exten: 8300','Priority: 1','Callerid: $queryCID','','','','$channel','$exten');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02082',$user,$server_ip,$session_name,$one_mysql_log);} + echo "Volume comando inviato per Conferenza $exten, Stage $stage Canale $channel su $server_ip\n"; + } +} + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='debug') {echo "\n";} +if ($format=='debug') {echo "\n\n\n";} + +exit; + + +##### MySQL Error Logging ##### +function mysql_error_logging($NOW_TIME,$link,$mel,$stmt,$query_id,$user,$server_ip,$session_name,$one_mysql_log) +{ +$NOW_TIME = date("Y-m-d H:i:s"); +# mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log); +$errno=''; $error=''; +if ( ($mel > 0) or ($one_mysql_log > 0) ) + { + $errno = mysql_errno($link); + if ( ($errno > 0) or ($mel > 1) or ($one_mysql_log > 0) ) + { + $error = mysql_error($link); + $efp = fopen ("./vicidial_mysql_errors.txt", "a"); + fwrite ($efp, "$NOW_TIME|manager_send|$query_id|$errno|$error|$stmt|$user|$server_ip|$session_name|\n"); + fclose($efp); + } + } +$one_mysql_log=0; +return $errno; +} + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/park_calls_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/park_calls_display.php new file mode 100644 index 00000000..7abbe09f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/park_calls_display.php @@ -0,0 +1,146 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to send the details on the parked calls on the server +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +# - $protocol - ('SIP','Zap','IAX2',...) +# +# +# changes +# 50524-1515 - First build of script +# 50711-1208 - removed HTTP authentication in favor of user/pass vars +# 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($park_limit)) {$park_limit="1000";} + +$version = '0.0.4'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) ) + { + echo "Utentename/Password non validi: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { + echo "ip del server non valido: |$server_ip| or Nome sessione non valido: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nome sessione non valido: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Display Chiamate in Attesa"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten non e` valido o protocollo $protocol non e` valido\n"; + exit; + } + else + { + ##### print parked calls from the parked_channels table + $stmt="SELECT * from parked_channels where server_ip = '$server_ip' order by parked_time limit $park_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $park_calls_count = mysql_num_rows($rslt); + echo "$park_calls_count\n"; + $loop_count=0; + while ($park_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0] ~$row[2] ~$row[3] ~$row[4] ~$row[5]|"; + } + echo "\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/vdc_db_query.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/vdc_db_query.php new file mode 100644 index 00000000..b3e1f9d7 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/vdc_db_query.php @@ -0,0 +1,3669 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('regCLOSER','manDiaLnextCALL','manDiaLskip','manDiaLonly','manDiaLlookCALL','manDiaLlogCALL','userLOGout','updateDISPO','VDADpause','VDADready','VDADcheckINCOMING','UpdatEFavoritEs','CalLBacKLisT','CalLBacKCounT','PauseCodeSubmit','LogiNCamPaigns','alt_phone_change') +# - $stage - ('start','finish','lookup','new') +# - $closer_choice - ('CL_TESTCAMP_L CL_OUT123_L -') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $campaign - ('testcamp',...) +# - $dial_timeout - ('60','26',...) +# - $dial_prefix - ('9','8',...) +# - $campaign_cid - ('3125551212','0000000000',...) +# - $MDnextCID - ('M06301413000000002',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('36524',...) +# - $list_id - ('101','123456',...) +# - $length_in_sec - ('12',...) +# - $phone_code - ('1',...) +# - $phone_number - ('3125551212',...) +# - $channel - ('Zap/12-1',...) +# - $start_epoch - ('1120236911',...) +# - $vendor_lead_code - ('1234test',...) +# - $title - ('Mr.',...) +# - $first_name - ('Bob',...) +# - $middle_initial - ('L',...) +# - $last_name - ('Wilson',...) +# - $address1 - ('1324 Main St.',...) +# - $address2 - ('Apt. 12',...) +# - $address3 - ('co Robert Wilson',...) +# - $city - ('Chicago',...) +# - $state - ('IL',...) +# - $province - ('NA',...) +# - $postal_code - ('60054',...) +# - $country_code - ('USA',...) +# - $gender - ('M',...) +# - $date_of_birth - ('1970-01-01',...) +# - $alt_phone - ('3125551213',...) +# - $email - ('bob@bob.com',...) +# - $security_phrase - ('Hello',...) +# - $comments - ('Good Customer',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $VDstop_rec_after_each_call - ('0','1') +# - $conf_silent_prefix - ('7','8','5',...) +# - $extension - ('123','user123','25-1',...) +# - $protocol - ('Zap','SIP','IAX2',...) +# - $user_abb - ('1234','6666',...) +# - $preview - ('YES','NO',...) +# - $called_count - ('0','1','2',...) +# - $agent_log_id - ('123456',...) +# - $agent_log - ('NO',...) +# - $favorites_list - (",'cc160','cc100'",...) +# - $CallBackDatETimE - ('2006-04-21 14:30:00',...) +# - $recipient - ('ANYONE,'USERONLY') +# - $callback_id - ('12345','12346',...) +# - $use_internal_dnc - ('Y','N') +# - $use_campaign_dnc - ('Y','N') +# - $omit_phone_code - ('Y','N') +# - $no_delete_sessions - ('0','1') +# - $LogouTKicKAlL - ('0','1'); +# - $closer_blended = ('0','1'); +# - $inOUT = ('IN','OUT'); +# - $manual_dial_filter = ('NONE','CAMPLISTS','DNC','CAMPLISTS_DNC') +# - $agentchannel = ('Zap/1-1','SIP/testing-6ry4i3',...) +# - $conf_dialed = ('0','1') +# - $leaving_threeway = ('0','1') + +# CHANGELOG: +# 50629-1044 - First build of script +# 50630-1422 - Added manual dial action and MD channel lookup +# 50701-1451 - Added dial log for start and end of vicidial calls +# 50705-1239 - Added call disposition update +# 50804-1627 - Fixed updateDispo to update vicidial_log entry +# 50816-1605 - Added VDADpause/ready for auto dialing +# 50816-1811 - Added basic autodial call pickup functions +# 50817-1005 - Altered logging functions to accomodate auto_dialing +# 50818-1305 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1411 - Added hangup of agent phone after Logout +# 50901-1315 - Fixed CLOSER IN-GROUP Web Form bug +# 50902-1507 - Fixed CLOSER log length_in_sec bug +# 50902-1730 - Added functions for manual preview dialing and revert +# 50913-1214 - Added agent random update to leadupdate +# 51020-1421 - Added agent_log_id framework for detailed agent activity logging +# 51021-1717 - Allows for multi-line comments (changes \n to !N in database) +# 51111-1046 - Added vicidial_agent_log lead_id earlier for manual dial +# 51121-1445 - Altered echo statements for several small PHP speed optimizations +# 51122-1328 - Fixed UserLogout issue not removing conference reservation +# 51129-1012 - Added ability to accept calls from other VICIDIAL servers +# 51129-1729 - Changed manual dial to use the '/n' flag for calls +# 51221-1154 - Added SCRIPT id lookup and sending to vicidial.php for display +# 60105-1059 - Added Updating of astguiclient favorites in the DB +# 60208-1617 - Added dtmf buttons output per call +# 60213-1521 - Added closer_campaigns update to vicidial_users +# 60215-1036 - Added Callback date-time entry into vicidial_callbacks table +# 60413-1541 - Added USERONLY Callback listings output - CalLBacKLisT +# - Added USERONLY Callback count output - CalLBacKCounT +# 60414-1140 - Added Callback lead lookup for manual dialing +# 60419-1517 - After CALLBK is sent to agent, update callback record to INACTIVE +# 60421-1419 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60427-1236 - Fixed closer_choice error for CLOSER campaigns +# 60609-1148 - Added ability to check for manual dial numbers in DNC +# 60619-1117 - Added variable filters to close security holes for login form +# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic +# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing +# 60821-1647 - Added ability to not delete sessions at logout +# 60906-1124 - Added lookup and sending of callback data for CALLBK calls +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70115-1733 - Added alt_dial functionality in auto-dial modes +# 70118-1501 - Added user_group to vicidial_log,_agent_log,_closer_log,_callbacks +# 70123-1357 - Fixed bug that would not update vicidial_closer_log status to dispo +# 70202-1438 - Added pause code submit function +# 70203-0930 - Added dialed_number to lead info output +# 70203-1030 - Added dialed_label to lead info output +# 70206-1126 - Added INBOUND status for inbound/closer calls in vicidial_live_agents +# 70212-1253 - Fixed small issue with CXFER +# 70213-1431 - Added QueueMetrics PAUSE/UNPAUSE/AGENTLOGIN/AGENTLOGOFF actions +# 70214-1231 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1210 - Added queuemetrics COMPLETEAGENT action +# 70216-1051 - Fixed double call complete queuemetrics logging +# 70222-1616 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70309-1034 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70319-1544 - Added agent disable update customer data function +# 70322-1545 - Added sipsak display ability +# 70413-1253 - Fixed bug for outbound call time in CLOSER-type blended campaigns +# 70424-1100 - Fixed bug for fronter/closer calls that would delete vdac records +# 70802-1729 - Fixed bugs with pause_sec and wait_sec under certain call handling +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71029-1855 - removed campaign_id naming restrictions for CLOSER-type campaigns +# 71030-2047 - added hopper priority for auto alt dial entries +# 71116-1011 - added calls_today count updating of the vicidial_live_agents upon INCALL +# 71120-1520 - added LogiNCamPaigns to show only allowed campaigns for agents upon login +# 71125-1751 - Added inbound-group default inbound group sending to vicidial.php +# 71129-2025 - restricted callbacks count and list to campaign only +# 71223-0318 - changed logging of closer calls +# 71226-1117 - added option to kick all calls from conference upon logout +# 80116-1032 - added user_closer_log logging in regCLOSER +# 80125-1213 - fixed vicidial_log bug when call is from closer +# 80317-2051 - Added in-group recording settings +# 80402-0121 - Fixes for manual dial transfers on some systems, removed /n persist flag +# 80424-0442 - Added non_latin lookup from system_settings +# 80430-1006 - Added term_reason for vicidial_log and vicidial_closer_log +# 80430-1957 - Changed to leave lead_id in vicidial_live_agents record until after dispo +# 80630-2153 - Added queue_log logging for Manual dial calls +# 80703-0139 - Added alter customer phone permissions +# 80707-2325 - Added vicidial_id to recording_log for tracking of vicidial or closer log to recording +# 80713-0624 - Added vicidial_list.last_local_call_time field +# 80717-1604 - Modified logging function to use inOUT to determine call direction and place to log +# 80719-1147 - Changed recording conf prefix +# 80815-1019 - Added manual dial list restriction option +# 80831-0545 - Added extended alt dial number info display support +# 80909-1710 - Added support for campaign-specific DNC lists +# 81010-1048 - Added support for hangup of all channels except for agent channel after attempting a 3way call +# 81011-1404 - Fixed bugs in leave3way when transferring a manual dial call +# 81020-1459 - Fixed bugs in queue_log logging +# 81104-0134 - Added mysql error logging capability +# 81104-1617 - Added multi-retry for some vicidial_live_agents table MySQL queries +# 81106-0410 - Added force_timeclock_login option to LoginCampaigns function +# 81107-0424 - Added carryover of script and presets for in-group calls from campaign settings +# 81110-0058 - Changed Pause time to start new vicidial_agent_log on every pause +# 81110-1512 - Added hangup_all_non_reserved to fix non-Hangup bug +# 81111-1630 - Added another hangup fix for non-hangup +# 81113-0724 - Fixed vicidial_agent_log bug +# + +$version = '2.0.5-93'; +$build = '81113-0724'; +$mel=1; # Mysql Error Log enabled = 1 +$mysql_log_count=183; +$one_mysql_log=0; + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["closer_choice"])) {$closer_choice=$_GET["closer_choice"];} + elseif (isset($_POST["closer_choice"])) {$closer_choice=$_POST["closer_choice"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["dial_timeout"])) {$dial_timeout=$_GET["dial_timeout"];} + elseif (isset($_POST["dial_timeout"])) {$dial_timeout=$_POST["dial_timeout"];} +if (isset($_GET["dial_prefix"])) {$dial_prefix=$_GET["dial_prefix"];} + elseif (isset($_POST["dial_prefix"])) {$dial_prefix=$_POST["dial_prefix"];} +if (isset($_GET["campaign_cid"])) {$campaign_cid=$_GET["campaign_cid"];} + elseif (isset($_POST["campaign_cid"])) {$campaign_cid=$_POST["campaign_cid"];} +if (isset($_GET["MDnextCID"])) {$MDnextCID=$_GET["MDnextCID"];} + elseif (isset($_POST["MDnextCID"])) {$MDnextCID=$_POST["MDnextCID"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["length_in_sec"])) {$length_in_sec=$_GET["length_in_sec"];} + elseif (isset($_POST["length_in_sec"])) {$length_in_sec=$_POST["length_in_sec"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["start_epoch"])) {$start_epoch=$_GET["start_epoch"];} + elseif (isset($_POST["start_epoch"])) {$start_epoch=$_POST["start_epoch"];} +if (isset($_GET["dispo_choice"])) {$dispo_choice=$_GET["dispo_choice"];} + elseif (isset($_POST["dispo_choice"])) {$dispo_choice=$_POST["dispo_choice"];} +if (isset($_GET["vendor_lead_code"])) {$vendor_lead_code=$_GET["vendor_lead_code"];} + elseif (isset($_POST["vendor_lead_code"])) {$vendor_lead_code=$_POST["vendor_lead_code"];} +if (isset($_GET["title"])) {$title=$_GET["title"];} + elseif (isset($_POST["title"])) {$title=$_POST["title"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["middle_initial"])) {$middle_initial=$_GET["middle_initial"];} + elseif (isset($_POST["middle_initial"])) {$middle_initial=$_POST["middle_initial"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["gender"])) {$gender=$_GET["gender"];} + elseif (isset($_POST["gender"])) {$gender=$_POST["gender"];} +if (isset($_GET["date_of_birth"])) {$date_of_birth=$_GET["date_of_birth"];} + elseif (isset($_POST["date_of_birth"])) {$date_of_birth=$_POST["date_of_birth"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["security_phrase"])) {$security_phrase=$_GET["security_phrase"];} + elseif (isset($_POST["security_phrase"])) {$security_phrase=$_POST["security_phrase"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_GET["VDstop_rec_after_each_call"];} + elseif (isset($_POST["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_POST["VDstop_rec_after_each_call"];} +if (isset($_GET["conf_silent_prefix"])) {$conf_silent_prefix=$_GET["conf_silent_prefix"];} + elseif (isset($_POST["conf_silent_prefix"])) {$conf_silent_prefix=$_POST["conf_silent_prefix"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["user_abb"])) {$user_abb=$_GET["user_abb"];} + elseif (isset($_POST["user_abb"])) {$user_abb=$_POST["user_abb"];} +if (isset($_GET["preview"])) {$preview=$_GET["preview"];} + elseif (isset($_POST["preview"])) {$preview=$_POST["preview"];} +if (isset($_GET["called_count"])) {$called_count=$_GET["called_count"];} + elseif (isset($_POST["called_count"])) {$called_count=$_POST["called_count"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["agent_log"])) {$agent_log=$_GET["agent_log"];} + elseif (isset($_POST["agent_log"])) {$agent_log=$_POST["agent_log"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} +if (isset($_GET["CallBackDatETimE"])) {$CallBackDatETimE=$_GET["CallBackDatETimE"];} + elseif (isset($_POST["CallBackDatETimE"])) {$CallBackDatETimE=$_POST["CallBackDatETimE"];} +if (isset($_GET["recipient"])) {$recipient=$_GET["recipient"];} + elseif (isset($_POST["recipient"])) {$recipient=$_POST["recipient"];} +if (isset($_GET["callback_id"])) {$callback_id=$_GET["callback_id"];} + elseif (isset($_POST["callback_id"])) {$callback_id=$_POST["callback_id"];} +if (isset($_GET["use_internal_dnc"])) {$use_internal_dnc=$_GET["use_internal_dnc"];} + elseif (isset($_POST["use_internal_dnc"])) {$use_internal_dnc=$_POST["use_internal_dnc"];} +if (isset($_GET["use_campaign_dnc"])) {$use_campaign_dnc=$_GET["use_campaign_dnc"];} + elseif (isset($_POST["use_campaign_dnc"])) {$use_campaign_dnc=$_POST["use_campaign_dnc"];} +if (isset($_GET["omit_phone_code"])) {$omit_phone_code=$_GET["omit_phone_code"];} + elseif (isset($_POST["omit_phone_code"])) {$omit_phone_code=$_POST["omit_phone_code"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["LogouTKicKAlL"])) {$LogouTKicKAlL=$_GET["LogouTKicKAlL"];} + elseif (isset($_POST["LogouTKicKAlL"])) {$LogouTKicKAlL=$_POST["LogouTKicKAlL"];} +if (isset($_GET["closer_blended"])) {$closer_blended=$_GET["closer_blended"];} + elseif (isset($_POST["closer_blended"])) {$closer_blended=$_POST["closer_blended"];} +if (isset($_GET["inOUT"])) {$inOUT=$_GET["inOUT"];} + elseif (isset($_POST["inOUT"])) {$inOUT=$_POST["inOUT"];} +if (isset($_GET["manual_dial_filter"])) {$manual_dial_filter=$_GET["manual_dial_filter"];} + elseif (isset($_POST["manual_dial_filter"])) {$manual_dial_filter=$_POST["manual_dial_filter"];} +if (isset($_GET["alt_dial"])) {$alt_dial=$_GET["alt_dial"];} + elseif (isset($_POST["alt_dial"])) {$alt_dial=$_POST["alt_dial"];} +if (isset($_GET["agentchannel"])) {$agentchannel=$_GET["agentchannel"];} + elseif (isset($_POST["agentchannel"])) {$agentchannel=$_POST["agentchannel"];} +if (isset($_GET["conf_dialed"])) {$conf_dialed=$_GET["conf_dialed"];} + elseif (isset($_POST["conf_dialed"])) {$conf_dialed=$_POST["conf_dialed"];} +if (isset($_GET["leaving_threeway"])) {$leaving_threeway=$_GET["leaving_threeway"];} + elseif (isset($_POST["leaving_threeway"])) {$leaving_threeway=$_POST["leaving_threeway"];} +if (isset($_GET["hangup_all_non_reserved"])) {$hangup_all_non_reserved=$_GET["hangup_all_non_reserved"];} + elseif (isset($_POST["hangup_all_non_reserved"])) {$hangup_all_non_reserved=$_POST["hangup_all_non_reserved"];} + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +$txt = '.txt'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$agents='@agents'; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,timeclock_end_of_day FROM system_settings;"; +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log);} +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $timeclock_end_of_day = $row[1]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) +{ +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); +$phone_code = ereg_replace("[^0-9]","",$phone_code); +$phone_number = ereg_replace("[^0-9]","",$phone_number); +} + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +if ($ACTION == 'LogiNCamPaigns') + { + $skip_user_validation=1; + } +else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00002',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Utentename/Password non validi: |$user|$pass|\n"; + exit; + } + else + { + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "ip del server non valido: |$server_ip| or Nome sessione non valido: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00003',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nome sessione non valido: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } +} + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDiaL Script per query su Database"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + +################################################################################ +### LogiNCamPaigns - generates an HTML SELECT list of allowed campaigns for a +### specific agent on the login screen +################################################################################ +if ($ACTION == 'LogiNCamPaigns') +{ + if ( (strlen($user)<1) ) + { + echo "\n"; + exit; + } + else + { + $stmt="SELECT user_group,user_level from vicidial_users where user='$user' and pass='$pass'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00004',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $VU_user_group=$row[0]; + $VU_user_level=$row[1]; + + $LOGallowed_campaignsSQL=''; + + $stmt="SELECT allowed_campaigns,forced_timeclock_login from vicidial_user_groups where user_group='$VU_user_group';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00005',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $forced_timeclock_login = $row[1]; + if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + { + $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); + $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; + } + + $show_campaign_list=1; + ### CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + { + $last_agent_event=''; + $HHMM = date("Hi"); + $HHteod = substr($timeclock_end_of_day,0,2); + $MMteod = substr($timeclock_end_of_day,2,2); + + if ($HHMM < $timeclock_end_of_day) + {$EoD = mktime($HHteod, $MMteod, 10, date("m"), date("d")-1, date("Y"));} + else + {$EoD = mktime($HHteod, $MMteod, 10, date("m"), date("d"), date("Y"));} + + $EoDdate = date("Y-m-d H:i:s", $EoD); + + ##### grab timeclock logged-in time for each user ##### + $stmt="SELECT event from vicidial_timeclock_log where user='$user' and event_epoch >= '$EoD' order by timeclock_id desc limit 1;"; + if ($DB>0) {echo "|$stmt|";} + $rslt=mysql_query($stmt, $link); + $events_to_parse = mysql_num_rows($rslt); + if ($events_to_parse > 0) + { + $rowx=mysql_fetch_row($rslt); + $last_agent_event = $rowx[0]; + } + if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + {$show_campaign_list=0;} + } + + if ($show_campaign_list > 0) + { + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns where active='Y' $LOGallowed_campaignsSQL order by campaign_id"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00006',$user,$server_ip,$session_name,$one_mysql_log);} + $camps_to_print = mysql_num_rows($rslt); + + echo "\n"; + } + else + { + echo "\n"; + } + exit; + } +} + + + +################################################################################ +### regCLOSER - update the vicidial_live_agents table to reflect the closer +### inbound choices made upon login +################################################################################ +if ($ACTION == 'regCLOSER') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($closer_choice)<1) || (strlen($user)<1) ) + { + $channel_live=0; + echo "Scelta del Gruppo $closer_choice non e` valido\n"; + exit; + } + else + { + if ($closer_choice == "MGRLOCK-") + { + $stmt="SELECT closer_campaigns FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00007',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $closer_choice =$row[0]; + + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00008',$user,$server_ip,$session_name,$one_mysql_log);} + } + else + { + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00009',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_users set closer_campaigns='$closer_choice' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00010',$user,$server_ip,$session_name,$one_mysql_log);} + } + + $stmt="INSERT INTO vicidial_user_closer_log set user='$user',campaign_id='$campaign',event_date='$NOW_TIME',blended='$closer_blended',closer_campaigns='$closer_choice';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00011',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="DELETE FROM vicidial_live_inbound_agents where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00012',$user,$server_ip,$session_name,$one_mysql_log);} + + $in_groups_pre = preg_replace('/-$/','',$closer_choice); + $in_groups = explode(" ",$in_groups_pre); + $in_groups_ct = count($in_groups); + $k=1; + while ($k < $in_groups_ct) + { + if (strlen($in_groups[$k])>1) + { + $stmt="SELECT group_weight,calls_today FROM vicidial_inbound_group_agents where user='$user' and group_id='$in_groups[$k]';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00013',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $viga_ct = mysql_num_rows($rslt); + if ($viga_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_weight = $row[0]; + $calls_today = $row[1]; + } + else + { + $group_weight = 0; + $calls_today = 0; + } + $stmt="INSERT INTO vicidial_live_inbound_agents set user='$user',group_id='$in_groups[$k]',group_weight='$group_weight',calls_today='$calls_today',last_call_time='$NOW_TIME',last_call_finish='$NOW_TIME';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00014',$user,$server_ip,$session_name,$one_mysql_log);} + } + $k++; + } + + } + echo "Closer In Scelta del Gruppo $closer_choice e` stato registrato dall`utente $user\n"; +} + + +################################################################################ +### manDiaLnextCALL - for manual VICIDiaL dialing this will grab the next lead +### in the campaign, reserve it, send data back to client and +### place the call by inserting into vicidial_manager +################################################################################ +if ($ACTION == 'manDiaLnextCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "LISTA DI CHIAMATA VUOTA\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context non e` valido\n"; + exit; + } + else + { + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00015',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### check if this is a callback, if it is, skip the grabbing of a new lead and mark the callback as INACTIVE + if ( (strlen($callback_id)>0) and (strlen($lead_id)>0) ) + { + $affected_rows=1; + $CBleadIDset=1; + + $stmt = "UPDATE vicidial_callbacks set status='INACTIVE' where callback_id='$callback_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00016',$user,$server_ip,$session_name,$one_mysql_log);} + } + else + { + if (strlen($phone_number)>3) + { + if (ereg("DNC",$manual_dial_filter)) + { + $stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00017',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + echo "DNC NUMERO\n"; + exit; + } + $stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + echo "DNC NUMERO\n"; + exit; + } + } + if (ereg("CAMPLISTS",$manual_dial_filter)) + { + $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00019',$user,$server_ip,$session_name,$one_mysql_log);} + $lists_to_parse = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_parse > $o) + { + $rowx=mysql_fetch_row($rslt); + if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_lists++;} + $o++; + } + $camp_lists = eregi_replace(".$","",$camp_lists); + + $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00020',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] < 1) + { + echo "NUMERO NOT IN CAMPLISTS\n"; + exit; + } + } + if ($stage=='lookup') + { + $stmt="SELECT lead_id FROM vicidial_list where phone_number='$phone_number' order by modify_date desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00021',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $man_leadID_ct = mysql_num_rows($rslt); + if ($man_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $affected_rows=1; + $lead_id =$row[0]; + $CBleadIDset=1; + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00022',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00023',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### grab the next lead in the hopper for this campaign and reserve it for the user + $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by priority desc,hopper_id LIMIT 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00024',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + } + } + + if ($affected_rows > 0) + { + if (!$CBleadIDset) + { + ##### grab the lead_id of the reserved user in vicidial_hopper + $stmt="SELECT lead_id FROM vicidial_hopper where campaign_id='$campaign' and status='QUEUE' and user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00025',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $hopper_leadID_ct = mysql_num_rows($rslt); + if ($hopper_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + } + } + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00026',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $called_since_last_reset = trim("$row[9]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + } + + $called_count++; + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # generate callerID for unique identifier in xfer_log file + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M|$MqueryCID|\n"); + fclose($fp); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00028',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00029',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $server_ct = mysql_num_rows($rslt); + if ($server_ct > 0) + { + $row=mysql_fetch_row($rslt); + $local_gmt = $row[0]; + } + $LLCT_DATE_offset = ($local_gmt - $gmt_offset_now); + $LLCT_DATE = date("Y-m-d H:i:s", mktime(date("H")-$LLCT_DATE_offset,date("i"),date("s"),date("m"),date("d"),date("Y"))); + + if (ereg('Y',$called_since_last_reset)) + { + $called_since_last_reset = ereg_replace('Y','',$called_since_last_reset); + if (strlen($called_since_last_reset) < 1) {$called_since_last_reset = 0;} + $called_since_last_reset++; + $called_since_last_reset = "Y$called_since_last_reset"; + } + else {$called_since_last_reset = 'Y';} + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00030',$user,$server_ip,$session_name,$one_mysql_log);} + + if (!$CBleadIDset) + { + ### delete the lead from the hopper + $stmt = "DELETE FROM vicidial_hopper where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00031',$user,$server_ip,$session_name,$one_mysql_log);} + } + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id',comments='MANUAL' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00032',$user,$server_ip,$session_name,$one_mysql_log);} + + ### if preview dialing, do not send the call + if ( (strlen($preview)<1) || ($preview == 'NO') ) + { + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + # $Local_persist = '/n'; + $Local_persist = ''; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00033',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today',external_hangup=0,external_status='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00035',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update calls_today count in vicidial_campaign_agents + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00036',$user,$server_ip,$session_name,$one_mysql_log);} + + ############################################# + ##### INIZIO QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # UNPAUSEALL + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # ENTERQUEUE + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='ENTERQUEUE',data2='$phone_number',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CONNECT + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $MqueryCID . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= "MAIN\n"; + $LeaD_InfO .= $source_id . "\n"; + + echo $LeaD_InfO; + + } + else + { + echo "LISTA DI CHIAMATA VUOTA\n"; + } + } +} + + +################################################################################ +### alt_phone_change - change alt phone numbers to active and inactive +### +################################################################################ +if ($ACTION == 'alt_phone_change') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($stage)<1) || (strlen($called_count)<1) || (strlen($lead_id)<1) || (strlen($phone_number)<1) ) + { + $channel_live=0; + echo "NUMERO ALTERNATIVO NUMERO STATO NOT CHANGED\n"; + echo "$phone_number $stage $lead_id or $called_count non e` valido\n"; + exit; + } + else + { + $stmt = "UPDATE vicidial_list_alt_phones set active='$stage' where lead_id='$lead_id' and phone_number='$phone_number' and alt_phone_count='$called_count';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00041',$user,$server_ip,$session_name,$one_mysql_log);} + + echo "NUMERO ALTERNATIVO NUMERO STATO CHANGED\n"; + } +} + + +################################################################################ +### manDiaLskip - for manual VICIDiaL dialing this skips the lead that was +### previewed in the step above and puts it back in orig status +################################################################################ +if ($ACTION == 'manDiaLskip') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($stage)<1) || (strlen($called_count)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "LEAD NOT REVERTED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context non e` valido\n"; + exit; + } + else + { + $called_count = ($called_count - 1); + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='$stage', called_count='$called_count',user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00042',$user,$server_ip,$session_name,$one_mysql_log);} + + + echo "LEAD REVERTED\n"; + } +} + + +################################################################################ +### manDiaLonly - for manual VICIDiaL dialing this sends the call that was +### previewed in the step above +################################################################################ +if ($ACTION == 'manDiaLonly') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) || (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo " CHIAMATA NOT PLACED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context non e` valido\n"; + exit; + } + else + { + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00043',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + $Local_persist = '/n'; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00044',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00045',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today',external_hangup=0,external_status='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00046',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9046$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00047',$user,$server_ip,$session_name,$one_mysql_log);} + + echo "$MqueryCID\n"; + + ############################################# + ##### INIZIO QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00048',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # UNPAUSEALL + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00049',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # ENTERQUEUE + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='ENTERQUEUE',data2='$phone_number',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00050',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CONNECT + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00051',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + } +} + + +################################################################################ +### manDiaLlookCALL - for manual VICIDiaL dialing this will attempt to look up +### the trunk channel that the call was placed on +################################################################################ +if ($ACTION == 'manDiaLlookCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; +if (strlen($MDnextCID)<18) + { + echo "NO\n"; + echo "MDnextCID $MDnextCID non e` valido\n"; + exit; + } +else + { + ##### look for the channel in the UPDATED vicidial_manager record of the call initiation + $stmt="SELECT uniqueid,channel FROM vicidial_manager where callerid='$MDnextCID' and server_ip='$server_ip' and status='UPDATED' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00052',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid =$row[0]; + $channel =$row[1]; + echo "$uniqueid\n$channel"; + + $wait_sec=0; + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',wait_epoch='$StarTtime',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} + } + else + { + echo "NO\n"; + } + } +} + + + +################################################################################ +### manDiaLlogCALL - for manual VICIDiaL logging of calls places record in +### vicidial_log and then sends process to call_log entry +################################################################################ +if ($ACTION == 'manDiaLlogCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + $vidSQL=''; + $VDterm_reason=''; + +if ($stage == "start") + { + if ( (strlen($uniqueid)<1) || (strlen($lead_id)<1) || (strlen($list_id)<1) || (strlen($phone_number)<1) || (strlen($campaign)<1) ) + { + echo "LOG NON INSERITO\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id or list_id: $list_id or phone_number: $phone_number or campaign: $campaign non e` valido\n"; + exit; + } + else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00056',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### insert log into vicidial_log for manual VICIDiaL call + $stmt="INSERT INTO vicidial_log (uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,comments,processed,user_group,alt_dial) values('$uniqueid','$lead_id','$list_id','$campaign','$NOW_TIME','$StarTtime','INCALL','$phone_code','$phone_number','$user','MANUAL','N','$user_group','$alt_dial');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00057',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "VICIDiaL_LOG Inserito: $uniqueid|$channel|$NOW_TIME\n"; + echo "$StarTtime\n"; + } + else + { + echo "LOG NON INSERITO\n"; + } + + $stmt = "UPDATE vicidial_auto_calls SET uniqueid='$uniqueid' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00058',$user,$server_ip,$session_name,$one_mysql_log);} + + # ##### insert log into call_log for manual VICIDiaL call + # $stmt = "INSERT INTO call_log (uniqueid,channel,server_ip,extension,number_dialed,caller_code,start_time,start_epoch) values('$uniqueid','$channel','$server_ip','$exten','$phone_code$phone_number','MD $user $lead_id','$NOW_TIME','$StarTtime')"; + # if ($DB) {echo "$stmt\n";} + # $rslt=mysql_query($stmt, $link); + # $affected_rows = mysql_affected_rows($link); + + # if ($affected_rows > 0) + # { + # echo "CALL_LOG Inserito: $uniqueid|$channel|$NOW_TIME"; + # } + # else + # { + # echo "LOG NON INSERITO\n"; + # } + } + } + +if ($stage == "end") + { + ##### get call type from vicidial_live_agents table + $VLA_inOUT='NONE'; + $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00059',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VLA_inOUT_ct = mysql_num_rows($rslt); + if ($VLA_inOUT_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VLA_inOUT = $row[0]; + } + + if ( (strlen($uniqueid)<1) and ($VLA_inOUT == 'INBOUND') ) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND_LOG_0|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$start_epoch|$phone_number|$agent_log_id|\n"); + fclose($fp); + $uniqueid='6666.1'; + } + if ( (strlen($uniqueid)<1) or (strlen($lead_id)<1) ) + { + echo "LOG NON INSERITO\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id non e` valido\n"; + exit; + } + else + { + $term_reason='NONE'; + if ($start_epoch < 1000) + { + if ($VLA_inOUT == 'INBOUND') + { + $four_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-4,date("i"),date("s"),date("m"),date("d"),date("Y"))); + + ##### look for the start epoch in the vicidial_closer_log table + $stmt="SELECT start_epoch,term_reason,closecallid,campaign_id FROM vicidial_closer_log where phone_number='$phone_number' and lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by closecallid desc limit 1;"; + $VDIDselect = "VDCL_LID $lead_id $phone_number $user $four_hours_ago"; + } + else + { + ##### look for the start epoch in the vicidial_log table + $stmt="SELECT start_epoch,term_reason,uniqueid,campaign_id FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; + $VDIDselect = "VDL_UIDLID $uniqueid $lead_id"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00060',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch = $row[0]; + $VDterm_reason = $row[1]; + $VDvicidial_id = $row[2]; + $VDcampaign_id = $row[3]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + + if ( ($length_in_sec < 1) and ($VLA_inOUT == 'INBOUND') ) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND_LOG_1|$uniqueid|$lead_id|$user|$inOUT|$length_in_sec|$VDterm_reason|$VDvicidial_id|$start_epoch|\n"); + fclose($fp); + + ##### start epoch in the vicidial_log table, couldn't find one in vicidial_closer_log + $stmt="SELECT start_epoch,term_reason,campaign_id FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00061',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch = $row[0]; + $VDterm_reason = $row[1]; + $VDcampaign_id = $row[2]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + } + } + else {$length_in_sec = ($StarTtime - $start_epoch);} + + if (strlen($VDcampaign_id)<1) {$VDcampaign_id = $campaign;} + + $four_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-4,date("i"),date("s"),date("m"),date("d"),date("Y"))); + + if ($VLA_inOUT == 'INBOUND') + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec' where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00062',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + echo "$uniqueid\n$channel\n"; + } + else + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND_LOG_2|$uniqueid|$lead_id|$user|$inOUT|$length_in_sec|$VDterm_reason|$VDvicidial_id|$start_epoch|\n"); + fclose($fp); + } + } + + ############################################# + ##### INIZIO QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00063',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + } + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ($auto_dial_level > 0) + { + ### check to see if campaign has alt_dial enabled + $stmt="SELECT auto_alt_dial FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00064',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_alt_dial =$row[0]; + } + else {$auto_alt_dial = 'NONE';} + if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)",$auto_alt_dial)) + { + ### check to see if lead should be alt_dialed + if (strlen($alt_dial)<2) {$alt_dial = 'NONE';} + + if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)",$auto_alt_dial)) ) + { + $alt_dial_skip=0; + $stmt="SELECT alt_phone,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00065',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_phone = $row[0]; + $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$alt_phone = '';} + if (strlen($alt_phone)>5) + { + if (ereg("Y",$use_internal_dnc)) + { + $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$alt_phone';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00066',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VLAP_dnc_ct = mysql_num_rows($rslt); + if ($VLAP_dnc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_alt_dnc_count = $row[0]; + } + } + else {$VD_alt_dnc_count=0;} + if (ereg("Y",$use_campaign_dnc)) + { + $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00067',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VLAP_cdnc_ct = mysql_num_rows($rslt); + if ($VLAP_cdnc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_alt_dnc_count = ($VD_alt_dnc_count + $row[0]); + } + } + if ($VD_alt_dnc_count < 1) + { + ### insert record into vicidial_hopper for alt_phone call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ALT',user='',priority='25';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00068',$user,$server_ip,$session_name,$one_mysql_log);} + } + else + {$alt_dial_skip=1;} + } + else + {$alt_dial_skip=1;} + if ($alt_dial_skip > 0) + {$alt_dial='ALT';} + } + + if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + { + $addr3_dial_skip=0; + $stmt="SELECT address3,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00069',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $address3 = $row[0]; + $address3 = eregi_replace("[^0-9]","",$address3); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$address3 = '';} + if (strlen($address3)>5) + { + if (ereg("Y",$use_internal_dnc)) + { + $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$address3';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00070',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VLAP_dnc_ct = mysql_num_rows($rslt); + if ($VLAP_dnc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_alt_dnc_count = $row[0]; + } + } + else {$VD_alt_dnc_count=0;} + if (ereg("Y",$use_campaign_dnc)) + { + $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00071',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VLAP_cdnc_ct = mysql_num_rows($rslt); + if ($VLAP_cdnc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_alt_dnc_count = ($VD_alt_dnc_count + $row[0]); + } + } + if ($VD_alt_dnc_count < 1) + { + ### insert record into vicidial_hopper for address3 call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ADDR3',user='',priority='20';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00072',$user,$server_ip,$session_name,$one_mysql_log);} + } + else + {$addr3_dial_skip=1;} + } + else + {$addr3_dial_skip=1;} + if ($addr3_dial_skip > 0) + {$alt_dial='ADDR3';} + } + + # $fp = fopen ("./alt_multi_log.txt", "a"); + # fwrite ($fp, "$NOW_TIME|PRE-X|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$stmt|$auto_alt_dial|$alt_dial\n"); + # fclose($fp); + + if ( ( ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("EXTENDED_ONLY",$auto_alt_dial)) ) or ( (eregi("(ALT)",$alt_dial)) and (eregi("(ALT_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(ADDR3)",$alt_dial)) and (eregi("(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(X)",$alt_dial)) and (eregi("EXTENDED",$auto_alt_dial)) ) ) and (!eregi("LAST",$alt_dial)) ) + { + if (eregi("(ADDR3)",$alt_dial)) {$Xlast=0;} + else + {$Xlast = ereg_replace("[^0-9]","",$alt_dial);} + if (strlen($Xlast)<1) + {$Xlast=0;} + $VD_altdialx=''; + + $stmt="SELECT gmt_offset_now,state,list_id FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00073',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VL_deailts_ct = mysql_num_rows($rslt); + if ($VL_deailts_ct > 0) + { + $row=mysql_fetch_row($rslt); + $EA_gmt_offset_now = $row[0]; + $EA_state = $row[1]; + $EA_list_id = $row[2]; + } + $alt_dial_phones_count=0; + $stmt="SELECT count(*) FROM vicidial_list_alt_phones where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00074',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VLAP_ct = mysql_num_rows($rslt); + if ($VLAP_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_dial_phones_count = $row[0]; + } + while ( ($alt_dial_phones_count > 0) and ($alt_dial_phones_count > $Xlast) ) + { + $Xlast++; + $stmt="SELECT alt_phone_id,phone_number,active FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Xlast';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00075',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VLAP_detail_ct = mysql_num_rows($rslt); + if ($VLAP_detail_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_altdial_id = $row[0]; + $VD_altdial_phone = $row[1]; + $VD_altdial_active = $row[2]; + } + else + {$Xlast=9999999999;} + + if (ereg("Y",$VD_altdial_active)) + { + if (ereg("Y",$use_internal_dnc)) + { + $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_altdial_phone';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00076',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VLAP_dnc_ct = mysql_num_rows($rslt); + if ($VLAP_dnc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_alt_dnc_count = $row[0]; + } + } + else {$VD_alt_dnc_count=0;} + if (ereg("Y",$use_campaign_dnc)) + { + $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00077',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VLAP_cdnc_ct = mysql_num_rows($rslt); + if ($VLAP_cdnc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_alt_dnc_count = ($VD_alt_dnc_count + $row[0]); + } + } + if ($VD_alt_dnc_count < 1) + { + if ($alt_dial_phones_count == $Xlast) + {$Xlast = 'LAST';} + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$EA_list_id',gmt_offset_now='$EA_gmt_offset_now',state='$EA_state',alt_dial='X$Xlast',user='',priority='15';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00078',$user,$server_ip,$session_name,$one_mysql_log);} + $Xlast=9999999999; + } + } + } + } + } + + if ($enable_queuemetrics_logging > 0) + { + ### grab call lead information needed for QM logging + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id' order by call_time limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00079',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/.*-/",'',$CLstage); + if (strlen($CLstage) < 1) {$CLstage=0;} + + $stmt="SELECT count(*) from queue_log where call_id='$MDnextCID' and verb='COMPLETECALLER' and queue='$VDcampaign_id';"; + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00080',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VAC_cc_ct = mysql_num_rows($rslt); + if ($VAC_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $caller_complete = $row[0]; + } + + if ($caller_complete < 1) + { + $term_reason='AGENT'; + } + else + { + $term_reason='CALLER'; + } + + } + + ### delete call record from vicidial_auto_calls + $stmt = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and campaign_id='$VDcampaign_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00081',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00082',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9082$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00083',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + } + } + } + else + { + if ($enable_queuemetrics_logging > 0) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id' order by call_time desc limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00084',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/XFER|CLOSER|-/",'',$CLstage); + if ($CLstage < 0.25) {$CLstage=0;} + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00085',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + } + + # $stmt = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and campaign_id='$campaign' and uniqueid='$uniqueid';"; + $stmt = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and campaign_id='$VDcampaign_id' and callerid LIKE \"M%\";"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00086',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00087',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9087$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00088',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + } + } + } + + if ( ($VLA_inOUT == 'AUTO') or ($VLA_inOUT == 'MANUAL') ) + { + $SQLterm = "term_reason='$term_reason',"; + + if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT term_reason,uniqueid from vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00089',$user,$server_ip,$session_name,$one_mysql_log);} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDterm_reason = $row[0]; + $VDvicidial_id = $row[1]; + $VDIDselect = "VDL_UIDLID $uniqueid $lead_id"; + } + if (ereg("CALLER",$VDterm_reason)) + { + $SQLterm = ""; + } + else + { + $SQLterm = "term_reason='AGENT',"; + } + } + + ##### update the duration and end time in the vicidial_log table + $stmt="UPDATE vicidial_log set $SQLterm end_epoch='$StarTtime', length_in_sec='$length_in_sec' where uniqueid='$uniqueid' and lead_id='$lead_id' and user='$user' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00090',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "$uniqueid\n$channel\n"; + } + else + { + echo "LOG NON INSERITO\n\n"; + } + } + else + { + $SQLterm = "term_reason='$term_reason'"; + $QL_term=''; + + if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT term_reason,closecallid from vicidial_closer_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00091',$user,$server_ip,$session_name,$one_mysql_log);} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDterm_reason = $row[0]; + $VDvicidial_id = $row[1]; + $VDIDselect = "VDCL_LID4HOUR $lead_id $four_hours_ago"; + } + if (ereg("CALLER",$VDterm_reason)) + { + $SQLterm = ""; + } + else + { + $SQLterm = "term_reason='AGENT'"; + $QL_term = 'COMPLETEAGENT'; + } + } + + if (strlen($SQLterm) > 0) + { + ##### update the duration and end time in the vicidial_log table + $stmt="UPDATE vicidial_closer_log set $SQLterm where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00092',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + } + + if ( (strlen($QL_term) > 0) and ($leaving_threeway > 0) ) + { + $stmt="SELECT count(*) from queue_log where call_id='$MDnextCID' and verb='COMPLETEAGENT' and queue='$VDcampaign_id';"; + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00093',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VAC_cc_ct = mysql_num_rows($rslt); + if ($VAC_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $agent_complete = $row[0]; + } + if ($agent_complete < 1) + { + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00094',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + } + } + } + } + + echo $VDstop_rec_after_each_call . '|' . $extension . '|' . $conf_silent_prefix . '|' . $conf_exten . '|' . $user_abb . "|\n"; + + ##### if VICIDiaL call and hangup_after_each_call activated, find all recording + ##### channels and hang them up while entering info into recording_log and + ##### returning filename/recordingID + if ($VDstop_rec_after_each_call == 1) + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $total_rec=0; + $total_hangup=0; + $loop_count=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten' order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00095',$user,$server_ip,$session_name,$one_mysql_log);} + if ($rslt) {$rec_list = mysql_num_rows($rslt);} + while ($rec_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/Local\/$conf_silent_prefix$conf_exten\@/i",$row[0])) + { + $rec_channels[$total_rec] = "$row[0]"; + $total_rec++; + } + else + { + # if (preg_match("/$agentchannel/i",$row[0])) + if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + { + $donothing=1; + } + else + { + $hangup_channels[$total_hangup] = "$row[0]"; + $total_hangup++; + } + } + if ($format=='debug') {echo "\n";} + $loop_count++; + } + + $loop_count=0; + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and extension = '$conf_exten' order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00184',$user,$server_ip,$session_name,$one_mysql_log);} + if ($rslt) {$rec_list = mysql_num_rows($rslt);} + while ($rec_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/Local\/$conf_silent_prefix$conf_exten\@/i",$row[0])) + { + $rec_channels[$total_rec] = "$row[0]"; + $total_rec++; + } + else + { + # if (preg_match("/$agentchannel/i",$row[0])) + if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + { + $donothing=1; + } + else + { + $hangup_channels[$total_hangup] = "$row[0]"; + $total_hangup++; + } + } + if ($format=='debug') {echo "\n";} + $loop_count++; + } + + + ### if a conference call or 3way call was attempted, then hangup all channels except for the agentchannel + if ( ( ($conf_dialed > 0) or ($hangup_all_non_reserved > 0) ) and ($leaving_threeway < 1) ) + { + $loop_count=0; + while($loop_count < $total_hangup) + { + if (strlen($hangup_channels[$loop_count])>5) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','CH12346$StarTtime$loop_count','Channel: $hangup_channels[$loop_count]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00096',$user,$server_ip,$session_name,$one_mysql_log);} + } + $loop_count++; + } + } + + $total_recFN=0; + $loop_count=0; + $filename=$MT; # not necessary : and cmd_line_f LIKE \"%_$user_abb\" + $stmt="SELECT cmd_line_f FROM vicidial_manager where server_ip='$server_ip' and action='Originate' and cmd_line_b = 'Channel: $local_DEF$conf_silent_prefix$conf_exten$local_AMP$ext_context' order by entry_date desc limit $total_rec;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00097',$user,$server_ip,$session_name,$one_mysql_log);} + if ($rslt) {$recFN_list = mysql_num_rows($rslt);} + while ($recFN_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + $filename[$total_recFN] = preg_replace("/Callerid: /i","",$row[0]); + if ($format=='debug') {echo "\n";} + $total_recFN++; + $loop_count++; + } + + $loop_count=0; + while($loop_count < $total_rec) + { + if (strlen($rec_channels[$loop_count])>5) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$loop_count','Channel: $rec_channels[$loop_count]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00098',$user,$server_ip,$session_name,$one_mysql_log);} + + echo "REC_ARRESTO|$rec_channels[$loop_count]|$filename[$loop_count]|"; + if (strlen($filename)>2) + { + $stmt="SELECT recording_id,start_epoch,vicidial_id,lead_id FROM recording_log where filename='$filename[$loop_count]'"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00099',$user,$server_ip,$session_name,$one_mysql_log);} + if ($rslt) {$fn_count = mysql_num_rows($rslt);} + if ($fn_count) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $vicidial_id = $row[2]; + $RClead_id = $row[3]; + + if ( (strlen($RClead_id)<1) or ($RClead_id < 1) or ($RClead_id=='NULL') ) + {$lidSQL = ",lead_id='$lead_id'";} + if (strlen($vicidial_id)<1) + {$vidSQL = ",vicidial_id='$VDvicidial_id'";} + else + { + if ( (ereg('.',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) + { + if (!ereg('.',$VDvicidial_id)) + {$vidSQL = ",vicidial_id='$VDvicidial_id'";} + + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND_LOG_3|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$length_in_sec|$VDterm_reason|$VDvicidial_id|$vicidial_id|$start_epoch|$recording_id|\n"); + fclose($fp); + } + } + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt="UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' $vidSQL $lidSQL where filename='$filename[$loop_count]' and end_epoch is NULL;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00100',$user,$server_ip,$session_name,$one_mysql_log);} + + echo "$recording_id|$length_in_min|"; + + # $fp = fopen ("./recording_debug_$NOW_DATE$txt", "a"); + # fwrite ($fp, "$NOW_TIME|Registrazione_LOG|$filename[$loop_count]|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$length_in_sec|$VDterm_reason|$VDvicidial_id|$VDvicidial_id|$vicidial_id|$start_epoch|$recording_id|$VDIDselect|\n"); + # fclose($fp); + } + else {echo "||";} + } + else {echo "||";} + echo "\n"; + } + $loop_count++; + } + } + + + $talk_sec=0; + $talk_epochSQL=''; + $StarTtime = date("U"); + $stmt = "select talk_epoch,talk_sec,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00101',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + { + $talk_epochSQL=",talk_epoch='$StarTtime'"; + $row[0]=$row[2]; + } + $talk_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set talk_sec='$talk_sec',dispo_epoch='$StarTtime' $talk_epochSQL where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00102',$user,$server_ip,$session_name,$one_mysql_log);} + + } +} + + +################################################################################ +### VDADREcheckINCOMING - for auto-dial VICIDiaL dialing this will recheck for +### calls to see if the channel has updated +################################################################################ +if ($ACTION == 'VDADREcheckINCOMING') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Campagna $campaign non e` valido\n"; + echo "lead_id $lead_id non e` valido\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00103',$user,$server_ip,$session_name,$one_mysql_log);} + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + } + } +} + + +################################################################################ +### VDADcheckINCOMING - for auto-dial VICIDiaL dialing this will check for calls +### in the vicidial_live_agents table in QUEUE status, then +### lookup the lead info and pass it back to vicidial.php +################################################################################ +if ($ACTION == 'VDADcheckINCOMING') +{ + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Campagna $campaign non e` valido\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip,comments FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and status='QUEUE';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + $VLAcomments=$row[5]; + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00105',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',calls_today='$calls_today',external_hangup=0,external_status='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00106',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00107',$user,$server_ip,$session_name,$one_mysql_log);} + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00108',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00109',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00110',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00111',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + + + $stmt = "select campaign_id,phone_number,alt_dial,call_type from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00112',$user,$server_ip,$session_name,$one_mysql_log);} + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group =$row[0]; + $dialed_number =$row[1]; + $dialed_label =$row[2]; + $call_type =$row[3]; + } + else + { + $dialed_number = $phone_number; + $dialed_label = 'MAIN'; + if (preg_match('/^M|^V/',$callerid)) + { + $call_type = 'OUT'; + $VDADchannel_group = $campaign; + } + else + { + $call_type = 'IN'; + $stmt = "select campaign_id from vicidial_closer_log where lead_id = '$lead_id' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00183',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group =$row[0]; + } + } + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|$VDADchannel_group|$call_type|\n"); + fclose($fp); + } + } + + if ( ($call_type=='OUT') or ($call_type=='OUTBALANCE') ) + { + $stmt = "UPDATE vicidial_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00113',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00114',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_campaign_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + $VDCL_default_xfer_group = $row[6]; + if (strlen($VDCL_default_xfer_group)<2) {$VDCL_default_xfer_group='X';} + } + echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|X|X|\n|\n"; + + $stmt = "select phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00115',$user,$server_ip,$session_name,$one_mysql_log);} + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dialed_number =$row[0]; + $dialed_label =$row[1]; + } + else + { + $dialed_number = $phone_number; + $dialed_label = 'MAIN'; + } + if (ereg('X',$dialed_label)) + { + if (ereg('LAST',$dialed_label)) + { + $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' order by alt_phone_count desc limit 1;"; + } + else + { + $Talt_dial = ereg_replace("[^0-9]","",$dialed_label); + $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Talt_dial';"; + } + + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00116',$user,$server_ip,$session_name,$one_mysql_log);} + $VLAP_ct = mysql_num_rows($rslt); + if ($VLAP_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_phone_code = $row[0]; + $alt_phone_number = $row[1]; + $alt_phone_note = $row[2]; + $alt_phone_active = $row[3]; + $alt_phone_count = $row[4]; + } + } + } + else + { + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00117',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt = "select count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00118',$user,$server_ip,$session_name,$one_mysql_log);} + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + + $stmt = "select group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00119',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = $row[2]; + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + + + $stmt = "select campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00181',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if ( ( (ereg('NONE',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + {$VDCL_ingroup_script = $row[0];} + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + } + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set comments='INBOUND' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00120',$user,$server_ip,$session_name,$one_mysql_log);} + + $Ctype = 'I'; + } + else + { + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00121',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + } + } + + ### if web form is set then send su to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00122',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00123',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00124',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If CHIAMATABK, change vicidial_callback record to INACTIVE + if (eregi("CALLBK|CBHOLD", $dispo)) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00125',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00126',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid\n"); + fclose($fp); + } + + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user su $server_ip\n"; + exit; + } + } +} + + +################################################################################ +### userLOGout - Logs the user out of VICIDiaL client, deleting db records and +### inserting into vicidial_user_log +################################################################################ +if ($ACTION == 'userLOGout') +{ + $MT[0]=''; + $row=''; $rowx=''; +if ( (strlen($campaign)<1) || (strlen($conf_exten)<1) ) + { + echo "NO\n"; + echo "campaign $campaign or conf_exten $conf_exten non e` valido\n"; + exit; + } +else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00127',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### Insert a LOGOUT record into the user log + $stmt="INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$user','LOGOUT','$campaign','$NOW_TIME','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00128',$user,$server_ip,$session_name,$one_mysql_log);} + $vul_insert = mysql_affected_rows($link); + + if ($no_delete_sessions < 1) + { + ##### Remove the reservation su the vicidial_conferences meetme room + $stmt="UPDATE vicidial_conferences set extension='' where server_ip='$server_ip' and conf_exten='$conf_exten';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00129',$user,$server_ip,$session_name,$one_mysql_log);} + $vc_remove = mysql_affected_rows($link); + } + + ##### Delete the vicidial_live_agents record for this session + $stmt="DELETE from vicidial_live_agents where server_ip='$server_ip' and user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00130',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9130$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + $vla_delete = mysql_affected_rows($link); + + ##### Delete the vicidial_live_inbound_agents records for this session + $stmt="DELETE from vicidial_live_inbound_agents where user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00131',$user,$server_ip,$session_name,$one_mysql_log);} + $vlia_delete = mysql_affected_rows($link); + + ##### Delete the web_client_sessions + $stmt="DELETE from web_client_sessions where server_ip='$server_ip' and session_name ='$session_name';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00132',$user,$server_ip,$session_name,$one_mysql_log);} + $wcs_delete = mysql_affected_rows($link); + + ##### Hangup the client phone + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$extension%\" order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00133',$user,$server_ip,$session_name,$one_mysql_log);} + if ($rslt) + { + $row=mysql_fetch_row($rslt); + $agent_channel = "$row[0]"; + if ($format=='debug') {echo "\n";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','ULGH3459$StarTtime','Channel: $agent_channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00134',$user,$server_ip,$session_name,$one_mysql_log);} + } + + if ($LogouTKicKAlL > 0) + { + $local_DEF = 'Local/5555'; + $local_AMP = '@'; + $kick_local_channel = "$local_DEF$conf_exten$local_AMP$ext_context"; + $queryCID = "ULGH3458$StarTtime"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $kick_local_channel','Context: $ext_context','Exten: 8300','Priority: 1','Callerid: $queryCID','','','','$channel','$exten');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00135',$user,$server_ip,$session_name,$one_mysql_log);} + } + + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00136',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) + { + $row=mysql_fetch_row($rslt); + $pause_sec = (($StarTtime - $row[0]) + $row[1]); + + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00137',$user,$server_ip,$session_name,$one_mysql_log);} + } + + if ($vla_delete > 0) + { + ############################################# + ##### INIZIO QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00138',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_message = 'LOGGED OUT'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='PAUSE',serverid='1';"; + # if ($DB) {echo "$stmt\n";} + # + # $rslt=mysql_query($stmt, $linkB); + # $affected_rows = mysql_affected_rows($linkB); + + $stmt = "SELECT time_id FROM queue_log where agent='Agent/$user' and verb='AGENTLOGIN' order by time_id desc limit 1;"; + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00139',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + echo "$stmt\n"; + $li_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $li_conf_ct) + { + $row=mysql_fetch_row($rslt); + $logintime = $row[0]; + $i++; + } + + $time_logged_in = ($StarTtime - $logintime); + if ($time_logged_in > 1000000) {$time_logged_in=1;} + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='AGENTLOGOFF',data1='$user$agents',data2='$time_logged_in',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00140',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + echo "$vul_insert|$vc_remove|$vla_delete|$wcs_delete|$agent_channel|$vlia_delete\n"; + } +} + + +################################################################################ +### updateDISPO - update the vicidial_list table to reflect the agent choice of +### call disposition for that leand +################################################################################ +if ($ACTION == 'updateDISPO') +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($dispo_choice)<1) || (strlen($lead_id)<1) ) + { + echo "Dispo Choice $dispo or lead_id $lead_id non e` valido\n"; + exit; + } + else + { + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00141',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9141$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt = "select count(*) from vicidial_inbound_groups where group_id='$stage';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00143',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00144',$user,$server_ip,$session_name,$one_mysql_log);} + } + else + { + $stmt="UPDATE vicidial_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by uniqueid desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00145',$user,$server_ip,$session_name,$one_mysql_log);} + } + + if ( ($use_internal_dnc=='Y') and ($dispo_choice=='DNC') ) + { + $stmt = "select phone_number from vicidial_list where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00146',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $stmt="INSERT INTO vicidial_dnc (phone_number) values('$row[0]');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00147',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + } + if ( ($use_campaign_dnc=='Y') and ($dispo_choice=='DNC') ) + { + $stmt = "select phone_number from vicidial_list where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00148',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $stmt="INSERT INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$campaign');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00149',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + } + } + + $dispo_sec=0; + $dispo_epochSQL=''; + $StarTtime = date("U"); + $stmt = "select dispo_epoch,dispo_sec,talk_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00150',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + { + $dispo_epochSQL=",dispo_epoch='$StarTtime'"; + $row[0]=$row[2]; + } + $dispo_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set dispo_sec='$dispo_sec',status='$dispo_choice' $dispo_epochSQL where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00151',$user,$server_ip,$session_name,$one_mysql_log);} + + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00152',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + +# $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group) values('$user','$server_ip','$NOW_TIME','$campaign','$StarTtime','0','$StarTtime','$user_group');"; +# if ($DB) {echo "$stmt\n";} +# $rslt=mysql_query($stmt, $link); +# if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00153',$user,$server_ip,$session_name,$one_mysql_log);} +# $affected_rows = mysql_affected_rows($link); +# $agent_log_id = mysql_insert_id($link); + + ### CHIAMATABACK ENTRY + if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) + { + $comments = eregi_replace("'",'',$comments); + $comments = eregi_replace("\\",' ',$comments); + $comments = eregi_replace(';','',$comments); + $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00154',$user,$server_ip,$session_name,$one_mysql_log);} + } + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00155',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + + if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$row[0])) ) + { + $stmt = "select count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00156',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE vicidial_hopper set status='READY' where lead_id='$lead_id' and status='HOLD' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00157',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + else + { + $stmt="DELETE from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00158',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ############################################# + ##### INIZIO QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00159',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + if (strlen($stage) < 2) + {$stage = $campaign;} + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$stage',agent='Agent/$user',verb='CALLSTATUS',data1='$dispo_choice',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00160',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + echo 'Lead ' . $lead_id . ' e` cambiato ' . $dispo_choice . " Stato\nNext agent_log_id:\n" . $agent_log_id . "\n"; +} + +################################################################################ +### updateLEAD - update the vicidial_list table to reflect the values that are +### in the agents screen at time of call hangup +################################################################################ +if ($ACTION == 'updateLEAD') +{ + $MT[0]=''; + $row=''; $rowx=''; + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + if ( (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + echo "phone_number $phone_number or lead_id $lead_id non e` valido\n"; + exit; + } + else + { + + $stmt = "SELECT disable_alter_custdata,disable_alter_custphone FROM vicidial_campaigns where campaign_id='$campaign'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00161',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dac_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $dac_conf_ct) + { + $row=mysql_fetch_row($rslt); + $disable_alter_custdata = $row[0]; + $disable_alter_custphone = $row[1]; + $i++; + } + if ( (ereg('Y',$disable_alter_custdata)) or (ereg('Y',$disable_alter_custphone)) ) + { + if (ereg('Y',$disable_alter_custdata)) + { + $DO_NOT_UPDATE=1; + $DO_NOT_UPDATE_text=' NOT'; + } + if (ereg('Y',$disable_alter_custphone)) + { + $DO_NOT_UPDATEphone=1; + } + $stmt = "SELECT alter_custdata_override,alter_custphone_override FROM vicidial_users where user='$user'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00162',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $aco_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $aco_conf_ct) + { + $row=mysql_fetch_row($rslt); + $alter_custdata_override = $row[0]; + $alter_custphone_override = $row[1]; + $i++; + } + if (ereg('ALLOW_ALTER',$alter_custdata_override)) + { + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + } + if (ereg('ALLOW_ALTER',$alter_custphone_override)) + { + $DO_NOT_UPDATEphone=0; + } + } + + if ($DO_NOT_UPDATE < 1) + { + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + $comments = eregi_replace("--AMP--",'&',$comments); + $comments = eregi_replace("--QUES--",'?',$comments); + $comments = eregi_replace("--POUND--",'#',$comments); + + $phoneSQL=''; + if ($DO_NOT_UPDATEphone < 1) + {$phoneSQL = ",phone_number='$phone_number'";} + + $stmt="UPDATE vicidial_list set vendor_lead_code='" . mysql_real_escape_string($vendor_lead_code) . "', title='" . mysql_real_escape_string($title) . "', first_name='" . mysql_real_escape_string($first_name) . "', middle_initial='" . mysql_real_escape_string($middle_initial) . "', last_name='" . mysql_real_escape_string($last_name) . "', address1='" . mysql_real_escape_string($address1) . "', address2='" . mysql_real_escape_string($address2) . "', address3='" . mysql_real_escape_string($address3) . "', city='" . mysql_real_escape_string($city) . "', state='" . mysql_real_escape_string($state) . "', province='" . mysql_real_escape_string($province) . "', postal_code='" . mysql_real_escape_string($postal_code) . "', country_code='" . mysql_real_escape_string($country_code) . "', gender='" . mysql_real_escape_string($gender) . "', date_of_birth='" . mysql_real_escape_string($date_of_birth) . "', alt_phone='" . mysql_real_escape_string($alt_phone) . "', email='" . mysql_real_escape_string($email) . "', security_phrase='" . mysql_real_escape_string($security_phrase) . "', comments='" . mysql_real_escape_string($comments) . "' $phoneSQL where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00163',$user,$server_ip,$session_name,$one_mysql_log);} + } + + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00164',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9164$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + } + echo "Lead $lead_id information has$DO_NOT_UPDATE_text been updated\n"; +} + + +################################################################################ +### VDADpause - update the vicidial_live_agents table to show that the agent is +### or ready now active and ready to take calls +################################################################################ +if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($stage)<2) || (strlen($server_ip)<1) ) + { + echo "stage $stage non e` valido\n"; + exit; + } + else + { + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set uniqueid=0,callerid='',channel='', random_id='$random',comments='' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00165',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9165$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt="UPDATE vicidial_live_agents set status='$stage' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00166',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9166$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### INIZIO QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00167',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + if ( (ereg('READY',$stage)) or (ereg('CLOSER',$stage)) ) {$QMstatus='UNPAUSEALL';} + if (ereg('PAUSE',$stage)) {$QMstatus='PAUSEALL';} + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00182',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='$QMstatus',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00168',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,wait_sec,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00169',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dispo_epoch = $row[4]; + $wait_sec=0; + if ($row[2] > 0) + { + $wait_sec = (($StarTtime - $row[2]) + $row[3]); + } + if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} + else + {$pause_sec = (($row[4] - $row[0]) + $row[1]);} + + } + if ($ACTION == 'VDADready') + { + if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + { + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00170',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + if ($ACTION == 'VDADpause') + { + if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + { + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00171',$user,$server_ip,$session_name,$one_mysql_log);} + } + + $agent_log = 'NEW_ID'; + } + + if ($agent_log == 'NEW_ID') + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00182',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group) values('$user','$server_ip','$NOW_TIME','$campaign','$StarTtime','0','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00153',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + } + } + echo 'Agent ' . $user . ' e` ora nello stato ' . $stage . "\nNext agent_log_id:\n$agent_log_id\n"; +} + + +################################################################################ +### UpdatEFavoritEs - update the astguiclient favorites list for this extension +################################################################################ +if ($ACTION == 'UpdatEFavoritEs') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($favorites_list)<1) || (strlen($user)<1) || (strlen($exten)<1) ) + { + echo "favorites list $favorites_list non e` valido\n"; + exit; + } + else + { + $stmt = "select count(*) from phone_favorites where extension='$exten' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00172',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE phone_favorites set extensions_list=\"$favorites_list\" where extension='$exten' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00173',$user,$server_ip,$session_name,$one_mysql_log);} + } + else + { + $stmt="INSERT INTO phone_favorites values('$exten','$server_ip',\"$favorites_list\");"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00174',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + echo "Favorites list has been updated to $favorites_list for $exten\n"; +} + + +################################################################################ +### PauseCodeSubmit - Update vicidial_agent_log with pause code +################################################################################ +if ($ACTION == 'PauseCodeSubmit') +{ + $row=''; $rowx=''; + if ( (strlen($status)<1) || (strlen($agent_log_id)<1) ) + { + echo "agent_log_id $agent_log_id or pause_code $status non e` valido\n"; + exit; + } + else + { + $stmt="UPDATE vicidial_agent_log set sub_status=\"$status\" where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00175',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### INIZIO QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00176',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'BK-'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='PAUSEREASON',serverid='$queuemetrics_log_id',data1='$status';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00177',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } +echo " Pausa Code has been updated to $status for $agent_log_id\n"; +} + + +################################################################################ +### CalLBacKLisT - List the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKLisT') +{ +$stmt = "select callback_id,lead_id,campaign_id,status,entry_time,callback_time,comments from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD') order by callback_time;"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00178',$user,$server_ip,$session_name,$one_mysql_log);} +if ($rslt) {$callbacks_count = mysql_num_rows($rslt);} +echo "$callbacks_count\n"; +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $row=mysql_fetch_row($rslt); + $callback_id[$loop_count] = $row[0]; + $lead_id[$loop_count] = $row[1]; + $campaign_id[$loop_count] = $row[2]; + $status[$loop_count] = $row[3]; + $entry_time[$loop_count] = $row[4]; + $callback_time[$loop_count] = $row[5]; + $comments[$loop_count] = $row[6]; + $loop_count++; + } +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $stmt = "select first_name,last_name,phone_number from vicidial_list where lead_id='$lead_id[$loop_count]';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00179',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + + echo "$row[0] ~$row[1] ~$row[2] ~$callback_id[$loop_count] ~$lead_id[$loop_count] ~$campaign_id[$loop_count] ~$status[$loop_count] ~$entry_time[$loop_count] ~$callback_time[$loop_count] ~$comments[$loop_count]\n"; + $loop_count++; + } + +} + + +################################################################################ +### CalLBacKCounT - send the count of the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKCounT') +{ +$stmt = "select count(*) from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD');"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00180',$user,$server_ip,$session_name,$one_mysql_log);} +$row=mysql_fetch_row($rslt); +$cbcount=$row[0]; + +echo "$cbcount"; +} + + + + +if ($format=='debug') +{ +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +echo "\n"; +echo "\n\n\n"; +} + +exit; + + + + + +##### MySQL Error Logging ##### +function mysql_error_logging($NOW_TIME,$link,$mel,$stmt,$query_id,$user,$server_ip,$session_name,$one_mysql_log) +{ +$NOW_TIME = date("Y-m-d H:i:s"); +# mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log); +$errno=''; $error=''; +if ( ($mel > 0) or ($one_mysql_log > 0) ) + { + $errno = mysql_errno($link); + if ( ($errno > 0) or ($mel > 1) or ($one_mysql_log > 0) ) + { + $error = mysql_error($link); + $efp = fopen ("./vicidial_mysql_errors.txt", "a"); + fwrite ($efp, "$NOW_TIME|vdc_db_query|$query_id|$errno|$error|$stmt|$user|$server_ip|$session_name|\n"); + fclose($efp); + } + } +$one_mysql_log=0; +return $errno; +} + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/vicidial.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/vicidial.php new file mode 100644 index 00000000..12de61b6 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/vicidial.php @@ -0,0 +1,7876 @@ + LICENSE: AGPLv2 +# +# Other scripts that this application depends on: +# - vdc_db_query.php: Updates information in the database +# - manager_send.php: Sends manager actions to the DB for execution +# - conf_exten_check.php: time sync and status updater, calls in queue +# +# CHANGELOG +# 50607-1426 - First Build of VICIDIAL web client basic login process finished +# 50628-1620 - Added some basic formatting and worked on process flow +# 50628-1715 - Startup variables mapped to javascript variables +# 50629-1303 - Added Login Closer in-groups selection box and vla update +# 50629-1530 - Rough layout for customer info form section and button links +# 50630-1453 - Rough Manual Dial/Hangup with customer info displayed +# 50701-1450 - Added vicidial_log entries on dial and hangup +# 50701-1634 - Added Logout function +# 50705-1259 - Added call disposition functionality +# 50705-1432 - Added lead info DB update function +# 50705-1658 - Added web form functionality +# 50706-1043 - Added call park and pickup functions +# 50706-1234 - Added Start/Stop Recording functionality +# 50706-1614 - Added conference channels display option +# 50711-1333 - Removed call check redundancy and fixed a span bug +# 50727-1424 - Added customer channel and participant present sensing/alerts +# 50804-1057 - Added SendDTMF function and reconfigured the transfer span +# 50804-1224 - Added Local and Internal Closer transfer functions +# 50804-1628 - Added Blind transfer, activated LIVE CALL image and fixed bugs +# 50804-1808 - Added button images for left buttons +# 50815-1151 - Added 3Way calling functions to Transfer-conf frame +# 50815-1602 - Added images and buttons for xfer functions +# 50816-1813 - Added basic autodial outbound call pickup functions +# 50817-1113 - Fixes to auto_dialing call receipt +# 50817-1234 - Added inbound call receipt capability +# 50817-1541 - Added customer time display +# 50817-1541 - Added customer time display +# 50818-1327 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1703 - Added pretty login section +# 50825-1200 - Modified form field lengths, added double-click dispositions +# 50831-1603 - Fixed customer time bug and fronter display bug for CLOSER +# 50901-1314 - Fixed CLOSER IN-GROUP Web Form bug +# 50903-0904 - Added preview-lead code for manual dialing +# 50904-0016 - Added ability to hangup manual dials before pickup +# 50906-1319 - Added override for filters on xfer calls, fixed login display bug +# 50909-1243 - Added hotkeys functionality for quick dispoing in auto-dial mode +# 50912-0958 - Modified hotkeys function, agent must have user_level >= 5 to use +# 50913-1212 - Added campaign_cid to 3rd party calls +# 50923-1546 - Modified to work with language translation +# 50926-1656 - Added campaign pull-down at login of active campaigns +# 50928-1633 - Added manual dial alternate number dial option +# 50930-1538 - Added session_id empty login failure and fixed 2 minor bugs +# 51004-1656 - Fixed recording filename bug and new Spanish translation +# 51020-1103 - Added campaign-specific recording control abilities +# 51020-1352 - Added Basic vicidial_agent_log framework +# 51021-1050 - Fixed custtime display and disable Enter/Return keypresses +# 51021-1718 - Allows for multi-line comments (changes \n to !N in database) +# 51110-1432 - Fixed non-standard http port issue +# 51111-1047 - Added vicidial_agent_log lead_id earlier for manual dial +# 51118-1305 - Activate multi-line comments from $multi_line_comments var +# 51118-1313 - Move Transfer DIV to a floating span to preserve 800x600 view +# 51121-1506 - Small PHP optimizations in many scripts and disabled globalize +# 51129-1010 - Added ability to accept calls from other VICIDIAL servers +# 51129-1254 - Fixed Hangups of other agents channels when customer hangs up +# 51208-1732 - Created user-first login that looks for default phone info +# 51219-1526 - Added variable framework for campaign and in-group scripts +# 51221-1200 - Added SCRIPT tab, layout and functionality +# 51221-1714 - Added auto-switch-to-SCRIPT-tab and auto-webform-popup +# 51222-1605 - Added VMail message blind transfer button to xfer-conf frame +# 51229-1028 - Added checks on web_form_address to allow for var in the DB value +# 60117-1312 - Added Transfer-conf frame toggle on button press +# 60208-1152 - Added DTMF-xfernumber preset links to xfer-conf frame +# 60213-1129 - Added vicidial_users.hotkeys_active for any user hotkeys +# 60213-1210 - Added ability to sort routing of calls by user_level +# 60214-0932 - Initial Callback calendar display framework +# 60214-1407 - Added ability to minimize the dispo screen to see info below +# 60215-1104 - Added ANYONE scheduled callbacks functionality +# 60410-1116 - Added persistant pause after dispo option and change dispo text +# - Added web form submit that opens new window with dispo on submit +# - Added PREVIOUS CALLBACK in customer info to flag callbacks +# - Added link to try to hangup the call again in the dispo screen +# - Added link noone-in-session screen to call agent phone again +# - Added link customer-hungup screen to go straight to dispo screen +# 60410-1532 - Added agent status and campaign calls dialing display option +# 60411-1547 - Add ability to set callback as USERONLY and some basic formatting +# 60413-1752 - Add basic USERONLY callback frame and listings +# 60414-1039 - Changed manual dial preview and alt dial checkboxes to spans +# - Added beta-level USERONLY callback functionality +# - Added beta-level manual dialing with lead insertion functionality +# 60415-1534 - Fixed manual dial lead preview and fixed manuald dial override bug +# 60417-1108 - Added capability to do alt-number-dialing in auto-dial mode +# - Changed several permissions to database-defined +# 60419-1529 - Prevent manual dial or callbacks when alt-dial lead not finished +# 60420-1647 - Fixed DiaLDiaLAltPhonE error, Call Agent Again DialControl error +# 60421-1229 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60424-1005 - Fixed Alt phone disabled bug for callbacks and manual dials +# 60426-1058 - Added vicidial_user setting for default blended check for CLOSER +# 60501-1008 - Added option to manual dial screen to manually lookup phone number +# 60503-1653 - Fixed agentonly_callback not-defined bug in scheduled callbacks screen +# 60504-1032 - Fixed manual dial display bug and transfer dispo alert bug +# - Fixed recording filename display to not overrun 25 characters +# 60510-1051 - Added Wrapup timer and wrapup message on wrapup screen after dispo +# 60608-1453 - Added CLOSER campaign allowable in-groups limitations +# 60609-1123 - Added add-number-to-DNC-list function and manual dial check DNC +# 60619-1047 - Added variable filters to close security holes for login form +# 60804-1710 - fixed scheduled CALLBK for other languages build +# 60808-1145 - Added consultative transfers with customer data +# 60808-2232 - Added campaign name to pulldown for login screen +# 60809-1603 - Added option to locally transfer consult xfers +# 60809-1732 - Added recheck of transferred channels before customer gone mesg +# 60810-1011 - Fixed CXFER leave 3way call bugs +# 60816-1602 - Added ALLCALLS recording delay option allcalls_delay +# 60816-1716 - Fixed customer time display bug and client DST setting +# 60821-1555 - Added option to omit phone_code on dialout of leads +# 60821-1628 - Added ALLFORCE recording option +# 60821-1643 - Added no_delete_sessions option to not delete sessions +# 60822-0512 - Changed phone number fields to be maxlength of 12 +# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# 60906-1152 - Added Previous CallBack info display span +# 60906-1715 - Allow for Local phone extension conferences +# 61004-1729 - Add ability to control volume per channel in "calls in this session" +# 61122-1341 - Added vicidial_user_groups allowed_campaigns restrictions +# 61122-1523 - Added more SCRIPT variables +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61221-1212 - Changed width to 760 to better fit 800x600 screens, widened SCRIPT +# 70109-1128 - Fixed wrapup timer bug +# 70109-1635 - Added option for HotKeys automatically dialing next number in manual mode +# - Added option for alternate number dialing with hotkeys +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70118-1517 - Added vicidial_agent_log and vicidial_user_log logging of user_group +# 70201-1249 - Added FAST DIAL option for manually dialing, added UTF8 compatible code +# 70201-1703 - Fixed cursor bug for most text input fields +# 70202-1453 - Added first portions of Agent Pause Codes +# 70203-0108 - Finished Agent Pause Codes functionality +# 70203-0930 - Added dialed_number to webform output +# 70203-1010 - Added dialed_label to webform output +# 70206-1201 - Fixed allow_closers bug +# 70206-1332 - Added vicidial_recording_override users setting function +# 70212-1252 - Fixed small issue with CXFER +# 70213-1018 - Changed CXFER and AXFER to update customer information before transfer +# 70214-1233 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1240 - Added queuemetrics_log_id field for server_id in queue_log +# 70222-1617 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70226-1252 - Added Mute/UnMute to agent screen +# 70309-1035 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70316-1406 - Moved the MUTE button to be accessible during a transfer/conf +# 70319-1446 - Added agent-deactive-display and disable customer info update functions +# 70319-1626 - Added option to allow agent logins to campaigns with no leads in the hopper +# 70320-1501 - Added option to allow retry of leave-3way-call from dispo screen +# 70322-1545 - Added sipsak display ability +# 70510-1319 - Added onUnload force Logout +# 70806-1530 - Added Presets Dial links above agent mute button +# 70823-2118 - Fixed XMLHTTPRequest, HotKeys and Scheduled Callbacks issues with MSIE +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71022-1427 - Added formatting of the customer phone number in the main status bar +# 71029-1848 - Changed CLOSER-type campaign to not use campaign_id restrictions +# 71101-1204 - Fixed bug in callback calendar with DST +# 71116-0957 - Added campaign_weight and calls_today to the vla table insertion +# 71120-1719 - Added XMLHTPRequest lookup of allowable campaigns for agents during login +# 71122-0256 - Added auto-pause notification +# 71125-1751 - Changed Transfer section to allow for selection of in-groups to send calls to +# 71127-0408 - Added height and width settings for easier modification of screen size +# 71129-2025 - restricted callbacks count and list to campaign only +# 71223-0318 - changed logging of closer calls +# 71226-1117 - added option to kick all calls from conference upon logout +# 80109-1510 - added gender select list +# 80116-1032 - added option on CLOSER-type campaigns to change in-groups when paused +# 80317-2106 - added recording override options for inbound group calls +# 80331-1433 - Added second transfer try for VICIDIAL transfers/hangups on manual dial calls +# 80402-0121 - Fixes for manual dial transfers on some systems +# 80407-2112 - Work on adding phone login load balancing across servers +# 80416-0559 - Added ability to log computer_ip at login, set the $PhoneSComPIP variable +# 80428-0413 - UTF8 changes and testing +# 80505-0054 - Added multi-phones load-balanced alias option +# 80507-0932 - Fixed Script display bug (+ instead of space) +# 80519-1425 - Added calls in queue display +# 80523-1630 - Added Timeclock links +# 80625-0047 - Added U option for gender, added date/phone display options +# 80630-2210 - Added queue_log entries for Manual Dial +# 80703-0139 - Added alter customer phone permissions +# 80703-1106 - Added API functionality for Hangup and Dispo, added Agent Display Queue Count +# 80707-2325 - Added vicidial_id to recording_log for tracking of vicidial or closer log to recording +# 80709-0358 - Added Default alt phone dial hard-code option +# 80719-1147 - Changed recording and senddtmf conf prefix +# 80815-1014 - Added manual dial list restriction option +# 80823-2123 - Fixed form scroll for IE, added copy to clipboard(IE-only feature) +# 80831-0548 - Added Extended alt-dial-phone display information for non-manual calls +# 80909-1717 - Added support for campaign-specific DNC lists +# 80915-1754 - Rewrote leave-3way functions for external calling +# 81002-1908 - Fixed double-login bug in some conditions +# 81007-0945 - Added three_way_call_cid option for outbound 3way calls +# 81010-1047 - Fixed conf calling prefix to use settings, other 3way improvements +# 81011-1403 - Fixed bugs in leave3way when transferring a manual dial call +# 81012-1729 - Added INBOUND_MAN dial method to allow manual list dialing and inbound calls +# 81013-1644 - Fixed bug in leave 3way for manual dial fronters +# 81015-0405 - Fixed bug related to hangups on 3way calls +# 81016-0703 - Changed leave 3way to allow function at any time transfer-conf is available +# 81020-1501 - Fixed bugs in queue_log logging +# 81023-0411 - Added compatibility for dial-in agents using AGI, bug fixes +# 81030-0403 - Added option to force Pause Codes on PAUSE +# 81103-1427 - Added 3way call dial prefix +# 81104-0140 - Added mysql error logging capability +# 81104-1618 - Changed MySQL queries logging +# 81106-0411 - Changedthe campaign login list behaviour +# 81110-0057 - Changed Pause time to start new vicidial_agent_log on every pause +# 81110-1514 - Added hangup_all_non_reserved to fix non-Hangup bug +# + +$version = '2.0.5-186'; +$build = '81110-1514'; +$mel=1; # Mysql Error Log enabled = 1 +$mysql_log_count=51; +$one_mysql_log=0; + +require("dbconnect.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["VD_login"])) {$VD_login=$_GET["VD_login"];} + elseif (isset($_POST["VD_login"])) {$VD_login=$_POST["VD_login"];} +if (isset($_GET["VD_pass"])) {$VD_pass=$_GET["VD_pass"];} + elseif (isset($_POST["VD_pass"])) {$VD_pass=$_POST["VD_pass"];} +if (isset($_GET["VD_campaign"])) {$VD_campaign=$_GET["VD_campaign"];} + elseif (isset($_POST["VD_campaign"])) {$VD_campaign=$_POST["VD_campaign"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + if (isset($VD_campaign)) + { + $VD_campaign = strtoupper($VD_campaign); + $VD_campaign = eregi_replace(" ",'',$VD_campaign); + } + if (!isset($flag_channels)) + { + $flag_channels=0; + $flag_string=''; + } + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); + $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); + $VD_campaign = ereg_replace("[^-\_0-9a-zA-Z]","",$VD_campaign); + + +$forever_stop=0; + +if ($force_logout) +{ + echo "Ora non sei collegato. Grazie\n"; + exit; +} + +$isdst = date("I"); +$StarTtimE = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$tsNOW_TIME = date("YmdHis"); +$FILE_TIME = date("Ymd-His"); +$CIDdate = date("ymdHis"); + $month_old = mktime(11, 0, 0, date("m"), date("d")-2, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + $minutes_old = mktime(date("H"), date("i")-2, date("s"), date("m"), date("d"), date("Y")); + $past_minutes_date = date("Y-m-d H:i:s",$minutes_old); + + +$random = (rand(1000000, 9999999) + 10000000); + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable FROM system_settings;"; +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01001',$VD_login,$server_ip,$session_name,$one_mysql_log);} +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $vdc_header_date_format = $row[1]; + $vdc_customer_date_format = $row[2]; + $vdc_header_phone_format = $row[3]; + $WeBRooTWritablE = $row[4]; + + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + + +##### DEFINABLE SETTINGS AND OPTIONS +########################################### +$conf_silent_prefix = '5'; # vicidial_conferences prefix to enter silently and muted for recording +$dtmf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently +$HKuser_level = '5'; # minimum vicidial user_level for HotKeys +$campaign_login_list = '1'; # show drop-down list of campaigns at login +$manual_dial_preview = '1'; # allow preview lead option when manual dial +$multi_line_comments = '1'; # set to 1 to allow multi-line comment box +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the phone login +$view_scripts = '1'; # set to 1 to show the SCRIPTS tab +$dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo +$callholdstatus = '1'; # set to 1 to show calls su hold count +$agentcallsstatus = '0'; # set to 1 to show agent status and call dialed count + $campagentstatctmax = '3'; # Number of secondi for campaign call and agent stats +$show_campname_pulldown = '1'; # set to 1 to show campaign name su login pulldown +$webform_sessionname = '1'; # set to 1 to include the session_name in webform URL +$local_consult_xfers = '1'; # set to 1 to send consultative transfers from original server +$clientDST = '1'; # set to 1 to check for DST su server for agent time +$no_delete_sessions = '0'; # set to 1 to not delete sessions at logout +$volumecontrol_active = '1'; # set to 1 to allow agents to alter volume of channels +$PreseT_DiaL_LinKs = '0'; # set to 1 to show a CHIAMA link for Dial Presets +$LogiNAJAX = '1'; # set to 1 to do lookups su campaigns for login +$HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from "session calls" +$hangup_all_non_reserved= '1'; # set to 1 to force hangup all non-reserved channels upon Riaggancia il cliente +$LogouTKicKAlL = '1'; # set to 1 to hangup all calls in session upon agent logout +$TelefonoSComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login +$DefaulTAlTDiaL = '0'; # set to 1 to enable ALT CHIAMA by default if enabled for the campaign + +$TEST_all_statuses = '0'; # TEST variable allows all statuses in dispo screen + +$BROWSER_HEIGHT = 500; # set to the minimum browser height, default=500 +$BROWSER_WIDTH = 770; # set to the minimum browser width, default=770 + + +# options now set in DB: +#$alt_phone_dialing = '1'; # allow agents to call alt phone numbers +#$scheduled_callbacks = '1'; # set to 1 to allow agent to choose scheduled callbacks +# $agentonly_callbacks = '1'; # set to 1 to allow agent to choose agent-only scheduled callbacks +#$agentcall_manual = '1'; # set to 1 to allow agent to make manual calls during autodial session + +### SCREEN WIDTH AND HEIGHT CALCULATIONS ### +### DO NOT EDIT! ### +$MASTERwidth=($BROWSER_WIDTH - 340); +$MASTERheight=($BROWSER_HEIGHT - 200); +if ($MASTERwidth < 430) {$MASTERwidth = '430';} +if ($MASTERheight < 300) {$MASTERheight = '300';} + +$CAwidth = ($MASTERwidth + 340); # 770 - cover all (none-in-session, customer hunngup, etc...) +$MNwidth = ($MASTERwidth + 330); # 760 - main frame +$XFwidth = ($MASTERwidth + 320); # 750 - transfer/conference +$HCwidth = ($MASTERwidth + 310); # 740 - hotkeys and callbacks +$AMwidth = ($MASTERwidth + 270); # 700 - agent mute and preset-dial links +$SCwidth = ($MASTERwidth + 230); # 670 - live call secondi counter +$SSwidth = ($MASTERwidth + 176); # 606 - scroll script +$SDwidth = ($MASTERwidth + 170); # 600 - scroll script, customer data and calls-in-session +$HKwidth = ($MASTERwidth + 70); # 500 - Hotkeys button +$HSwidth = ($MASTERwidth + 1); # 431 - Header spacer + +$HKheight = ($MASTERheight + 105); # 405 - HotKey active Button +$AMheight = ($MASTERheight + 100); # 400 - Agent mute and preset dial links +$MBheight = ($MASTERheight + 65); # 365 - Manual Dial Buttons +$CBheight = ($MASTERheight + 50); # 350 - Agent Callback, pause code, volume control Buttons and agent status +$SSheight = ($MASTERheight + 31); # 331 - script content +$HTheight = ($MASTERheight + 10); # 310 - transfer frame, callback comments and hotkey +$BPheight = ($MASTERheight - 250); # 50 - bottom buffer + + +$US='_'; +$CL=':'; +$AT='@'; +$DS='-'; +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = eregi_replace('vicidial.php','',$agcPAGE); + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ($campaign_login_list > 0) +{ +$camp_form_code = "\n"; +} +else +{ +$camp_form_code = "\n"; +} + + +if ($LogiNAJAX > 0) +{ +?> + + + +VICIDIAL web client: Re-Login\n"; +echo "\n"; +echo "\n"; +echo " Timeclock
\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Italiano
\n"; +echo "
\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Re-Login
 
Login Telefono:
Password Telefono:
Login Utente:
Password Utente:
Campagna: $camp_form_code
  \n"; +echo "

VERSIONE: $version       BUILD: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} + +if ($user_login_first == 1) +{ + if ( (strlen($VD_login)<1) or (strlen($VD_pass)<1) or (strlen($VD_campaign)<1) ) + { + echo "VICIDIAL web client: Login Campagna\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Italiano
\n"; + echo "
\n"; + echo "\n"; + #echo "\n"; + #echo "\n"; + echo "

Login Utente

"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login Campagna
 
Login Utente:
Password Utente:
Campagna: $camp_form_code
  \n"; + echo "

VERSIONE: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01005',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + echo "VICIDIAL web client: Login\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Italiano
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login
 
Login Telefono:
Password Telefono:
Login Utente:
Password Utente:
Campagna: $camp_form_code
  \n"; + echo "

VERSIONE: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + + } + } +} + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "VICIDIAL web client: Login Telefono\n"; +echo "\n"; +echo "\n"; +echo " Timeclock
\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Italiano
\n"; +echo "
\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Login Telefono
 
Login Telefono:
Password Telefono:
  \n"; +echo "

VERSIONE: $version       BUILD: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./vicidial_auth_entries.txt", "a");} +$VDloginDISPLAY=0; + + if ( (strlen($VD_login)<2) or (strlen($VD_pass)<2) or (strlen($VD_campaign)<2) ) + { + $VDloginDISPLAY=1; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01006',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if($auth>0) + { + $login=strtoupper($VD_login); + $password=strtoupper($VD_pass); + ##### grab the full name of the agent + $stmt="SELECT full_name,user_level,hotkeys_active,agent_choose_ingroups,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,closer_default_blended,user_group,vicidial_recording_override,alter_custphone_override from vicidial_users where user='$VD_login' and pass='$VD_pass'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01007',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $user_level=$row[1]; + $VU_hotkeys_active=$row[2]; + $VU_agent_choose_ingroups=$row[3]; + $VU_scheduled_callbacks=$row[4]; + $agentonly_callbacks=$row[5]; + $agentcall_manual=$row[6]; + $VU_vicidial_recording=$row[7]; + $VU_vicidial_transfers=$row[8]; + $VU_closer_default_blended=$row[9]; + $VU_user_group=$row[10]; + $VU_vicidial_recording_override=$row[11]; + $VU_alter_custphone_override=$row[12]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|GOOD|$date|$VD_login|$VD_pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + $user_abb = "$VD_login$VD_login$VD_login$VD_login"; + while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01008',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns =$row[0]; + + if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) + { + echo "VICIDIAL web client: VICIDIAL Login Campagna\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Italiano
\n"; + echo "Sorry, you are not allowed to login to this campaign: $VD_campaign\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Login: \n
"; + echo "Password:
\n"; + echo "Campagna: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + ##### check to see that the campaign is active + $stmt="SELECT count(*) FROM vicidial_campaigns where campaign_id='$VD_campaign' and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01009',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $CAMPactive=$row[0]; + if($CAMPactive>0) + { + if ($TEST_all_statuses > 0) {$selectableSQL = '';} + else {$selectableSQL = "selectable='Y' and";} + $VARstatuses=''; + $VARstatusnames=''; + ##### grab the statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_statuses WHERE $selectableSQL status != 'NEW' order by status limit 50;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01010',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VD_statuses_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $VD_statuses_ct) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + } + + ##### grab the campaign-specific statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_campaign_statuses WHERE $selectableSQL status != 'NEW' and campaign_id='$VD_campaign' order by status limit 80;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01011',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VD_statuses_camp = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + $j++; + } + $VD_statuses_ct = ($VD_statuses_ct+$VD_statuses_camp); + $VARstatuses = substr("$VARstatuses", 0, -1); + $VARstatusnames = substr("$VARstatusnames", 0, -1); + + ##### grab the campaign-specific HotKey statuses that can be used for dispositioning by an agent + $stmt="SELECT hotkey,status,status_name FROM vicidial_campaign_hotkeys WHERE selectable='Y' and status != 'NEW' and campaign_id='$VD_campaign' order by hotkey limit 9;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01012',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $HK_statuses_camp = mysql_num_rows($rslt); + $w=0; + $HKboxA=''; + $HKboxB=''; + $HKboxC=''; + while ($w < $HK_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $HKhotkey[$w] =$row[0]; + $HKstatus[$w] =$row[1]; + $HKstatus_name[$w] =$row[2]; + $HKhotkeys = "$HKhotkeys'$HKhotkey[$w]',"; + $HKstatuses = "$HKstatuses'$HKstatus[$w]',"; + $HKstatusnames = "$HKstatusnames'$HKstatus_name[$w]',"; + if ($w < 3) + {$HKboxA = "$HKboxA $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + if ( ($w >= 3) and ($w < 6) ) + {$HKboxB = "$HKboxB $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + if ($w >= 6) + {$HKboxC = "$HKboxC $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + $w++; + } + $HKhotkeys = substr("$HKhotkeys", 0, -1); + $HKstatuses = substr("$HKstatuses", 0, -1); + $HKstatusnames = substr("$HKstatusnames", 0, -1); + + ##### grab the campaign settings + $stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,use_campaign_dnc,three_way_call_cid,dial_method,three_way_dial_prefix FROM vicidial_campaigns where campaign_id = '$VD_campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01013',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $park_ext = $row[0]; + $park_file_name = $row[1]; + $web_form_address = $row[2]; + $allow_closers = $row[3]; + $auto_dial_level = $row[4]; + $dial_timeout = $row[5]; + $dial_prefix = $row[6]; + $campaign_cid = $row[7]; + $campaign_vdad_exten = $row[8]; + $campaign_rec_exten = $row[9]; + $campaign_recording = $row[10]; + $campaign_rec_filename = $row[11]; + $campaign_script = $row[12]; + $get_call_launch = $row[13]; + $campaign_am_message_exten = $row[14]; + $xferconf_a_dtmf = $row[15]; + $xferconf_a_number = $row[16]; + $xferconf_b_dtmf = $row[17]; + $xferconf_b_number = $row[18]; + $alt_number_dialing = $row[19]; + $VC_scheduled_callbacks = $row[20]; + $wrapup_secondi = $row[21]; + $wrapup_message = $row[22]; + $closer_campaigns = $row[23]; + $use_internal_dnc = $row[24]; + $allcalls_delay = $row[25]; + $omit_phone_code = $row[26]; + $agent_pause_codes_active = $row[27]; + $no_hopper_leads_logins = $row[28]; + $campaign_allow_inbound = $row[29]; + $manual_dial_list_id = $row[30]; + $default_xfer_group = $row[31]; + $xfer_groups = $row[32]; + $disable_alter_custphone = $row[33]; + $display_queue_count = $row[34]; + $manual_dial_filter = $row[35]; + $CopY_tO_ClipboarD = $row[36]; + $use_campaign_dnc = $row[37]; + $three_way_call_cid = $row[38]; + $dial_method = $row[39]; + $three_way_dial_prefix = $row[40]; + + if ( (!ereg('DISABLED',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) + { + $campaign_recording = $VU_vicidial_recording_override; + print "\n"; + } + if ( ($VC_scheduled_callbacks=='Y') and ($VU_scheduled_callbacks=='1') ) + {$scheduled_callbacks='1';} + if ($VU_vicidial_recording=='0') + {$campaign_recording='NEVER';} + if ($VU_alter_custphone_override=='ALLOW_ALTER') + {$disable_alter_custphone='N';} + if (strlen($three_way_dial_prefix) < 1) + {$three_way_dial_prefix = $dial_prefix ;} + if ($alt_number_dialing=='Y') + {$alt_phone_dialing='1';} + else + { + $alt_phone_dialing='0'; + $DefaulTAlTDiaL='0'; + } + if ($display_queue_count=='N') + {$callholdstatus='0';} + if ($dial_method == 'INBOUND_MAN') + {$VU_closer_default_blended=0;} + + $closer_campaigns = preg_replace("/^ | -$/","",$closer_campaigns); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + if ( (ereg('Y',$agent_pause_codes_active)) or (ereg('FORCE',$agent_pause_codes_active)) ) + { + ##### grab the pause codes for this campaign + $stmt="SELECT pause_code,pause_code_name FROM vicidial_pause_codes WHERE campaign_id='$VD_campaign' order by pause_code limit 50;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01014',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VD_pause_codes = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_pause_codes) + { + $row=mysql_fetch_row($rslt); + $pause_codes[$i] =$row[0]; + $pause_code_names[$i] =$row[1]; + $VARpause_codes = "$VARpause_codes'$pause_codes[$i]',"; + $VARpause_code_names = "$VARpause_code_names'$pause_code_names[$i]',"; + $i++; + $j++; + } + $VD_pause_codes_ct = ($VD_pause_codes_ct+$VD_pause_codes); + $VARpause_codes = substr("$VARpause_codes", 0, -1); + $VARpause_code_names = substr("$VARpause_code_names", 0, -1); + } + + ##### grab the inbound groups to choose from if campaign contains CLOSER + $VARingroups="''"; + if ($campaign_allow_inbound == 'Y') + { + $VARingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 60;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01015',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $closer_ct = mysql_num_rows($rslt); + $INgrpCT=0; + while ($INgrpCT < $closer_ct) + { + $row=mysql_fetch_row($rslt); + $closer_groups[$INgrpCT] =$row[0]; + $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $INgrpCT++; + } + $VARingroups = substr("$VARingroups", 0, -1); + } + + ##### grab the allowable inbound groups to choose from for transfer options + $xfer_groups = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groups = preg_replace("/ /","','",$xfer_groups); + $xfer_groups = "'$xfer_groups'"; + $VARxfergroups="''"; + if ($allow_closers == 'Y') + { + $VARxfergroups=''; + $stmt="select group_id,group_name from vicidial_inbound_groups where active = 'Y' and group_id IN($xfer_groups) order by group_id limit 60;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01016',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $xfer_ct = mysql_num_rows($rslt); + $XFgrpCT=0; + while ($XFgrpCT < $xfer_ct) + { + $row=mysql_fetch_row($rslt); + $VARxfergroups = "$VARxfergroups'$row[0]',"; + $VARxfergroupsnames = "$VARxfergroupsnames'$row[1]',"; + if ($row[0] == "$default_xfer_group") {$default_xfer_group_name = $row[1];} + $XFgrpCT++; + } + $VARxfergroups = substr("$VARxfergroups", 0, -1); + $VARxfergroupsnames = substr("$VARxfergroupsnames", 0, -1); + } + + ##### grab the number of leads in the hopper for this campaign + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id = '$VD_campaign' and status='READY';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01017',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $campaign_leads_to_call = $row[0]; + print "\n"; + + } + else + { + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "Campagna non attiva, prova di nuovo
"; + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|FAIL|$date|$VD_login|$VD_pass|$ip|$browser|\n"); + fclose($fp); + } + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "Login errato, prova di nuovo
"; + } + } + if ($VDloginDISPLAY) + { + echo "VICIDIAL web client: Login Campagna\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Italiano
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

$VDdisplayMESSAGE

"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login Campagna
 
Login Utente:
Password Utente:
Campagna: $camp_form_code
  \n"; + echo "

VERSIONE: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + +# code for parsing load-balanced agent phone allocation where agent interface +# will send multiple phones-table logins so that the script can determine the +# server that has the fewest agents logged into it. +# login: ca101,cb101,cc101 + $alias_found=0; +$stmt="select count(*) from phones_alias where alias_id = '$phone_login';"; +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01018',$VD_login,$server_ip,$session_name,$one_mysql_log);} +$alias_ct = mysql_num_rows($rslt); +if ($alias_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alias_found = "$row[0]"; + } +if ($alias_found > 0) + { + $stmt="select alias_name,logins_list from phones_alias where alias_id = '$phone_login' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01019',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $alias_ct = mysql_num_rows($rslt); + if ($alias_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alias_name = "$row[0]"; + $phone_login = "$row[1]"; + } + } + +$pa=0; +if ( (eregi(',',$phone_login)) and (strlen($phone_login) > 2) ) + { + $phoneSQL = "("; + $phones_auto = explode(',',$phone_login); + $phones_auto_ct = count($phones_auto); + while($pa < $phones_auto_ct) + { + if ($pa > 0) + {$phoneSQL .= " or ";} + $desc = ($phones_auto_ct - $pa); # traverse in reverse order + $phoneSQL .= "(login='$phones_auto[$desc]' and pass='$phone_pass')"; + $pa++; + } + $phoneSQL .= ")"; + } +else {$phoneSQL = "login='$phone_login' and pass='$phone_pass'";} + +$authphone=0; +$stmt="SELECT count(*) from phones where $phoneSQL and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01020',$VD_login,$server_ip,$session_name,$one_mysql_log);} +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "VICIDIAL web client: Login Telefono Error\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Italiano
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login Error
 
Spiacente, il telefono inserito non e` attivo in questo sistema, riprova di nuovo:
 
Login Telefono:
Password Telefono:

VERSIONE: $version       BUILD: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { +### go through the entered phones to figure out which server has fewest agents +### logged in and use that phone login account + if ($pa > 0) + { + $pb=0; + $pb_login=''; + $pb_server_ip=''; + $pb_count=0; + $pb_log=''; + while($pb < $phones_auto_ct) + { + ### find the server_ip of each phone_login + $stmtx="SELECT server_ip from phones where login = '$phones_auto[$pb]';"; + if ($DB) {echo "|$stmtx|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmtx, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01021',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + + ### get number of agents logged in to each server + $stmt="SELECT count(*) from vicidial_live_agents where server_ip = '$rowx[0]';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01022',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + + ### find out whether the server is set to active + $stmt="SELECT count(*) from servers where server_ip = '$rowx[0]' and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01023',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $rowy=mysql_fetch_row($rslt); + + ### find out whether the server_updater is running + $stmt="SELECT count(*) from server_updater where server_ip = '$rowx[0]' and last_update > '$past_minutes_date';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01024',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $rowz=mysql_fetch_row($rslt); + + $pb_log .= "$phones_auto[$pb]|$rowx[0]|$row[0]|$rowy[0]|$rowz[0]| "; + + if ( ($rowy[0] > 0) && ($rowz[0] > 0) ) + { + if ( ($pb_count >= $row[0]) || (strlen($pb_server_ip) < 4) ) + { + $pb_count=$row[0]; + $pb_server_ip=$rowx[0]; + $phone_login=$phones_auto[$pb]; + } + } + $pb++; + } + echo "\n"; + } + echo "VICIDIAL web client\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01025',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $login=$row[6]; + $pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $CallerID_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $outbound_cid=$row[65]; + $enable_sipsak_messages=$row[66]; + + if ($TelefonoSComPIP == '1') + { + if (strlen($computer_ip) < 4) + { + $stmt="UPDATE phones SET computer_ip='$ip' where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01026',$VD_login,$server_ip,$session_name,$one_mysql_log);} + } + } + if ($TelefonoSComPIP == '2') + { + $stmt="UPDATE phones SET computer_ip='$ip' where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01027',$VD_login,$server_ip,$session_name,$one_mysql_log);} + } + if ($clientDST) + { + $local_gmt = ($local_gmt + $isdst); + } + if ($protocol == 'EXTERNAL') + { + $protocol = 'Local'; + $extension = "$dialplan_number$AT$ext_context"; + } + $SIP_user = "$protocol/$extension"; + $SIP_user_DiaL = "$protocol/$extension"; + if ( (ereg('8300',$dialplan_number)) and (strlen($dialplan_number)<5) and ($protocol == 'Local') ) + { + $SIP_user = "$protocol/$extension$VD_login"; + } + + $stmt="SELECT asterisk_version from servers where server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01028',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $asterisk_version=$row[0]; + + # If a park extension is not set, use the default one + if ( (strlen($park_ext)>0) && (strlen($park_file_name)>0) ) + { + $VICIDiaL_park_on_extension = "$park_ext"; + $VICIDiaL_park_on_filename = "$park_file_name"; + print "\n"; + } + print "\n"; + + # If a web form address is not set, use the default one + if (strlen($web_form_address)>0) + { + $VICIDiaL_web_form_address = "$web_form_address"; + print "\n"; + } + else + { + $VICIDiaL_web_form_address = "$VICIDiaL_web_URL"; + print "\n"; + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + } + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + # If closers are allowed su this campaign + if ($allow_closers=="Y") + { + $VICIDiaL_allow_closers = 1; + print "\n"; + } + else + { + $VICIDiaL_allow_closers = 0; + print "\n"; + } + + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtimE$US$session_ext$session_rand"; + + if ($webform_sessionname) + {$webform_sessionname = "&session_name=$session_name";} + else + {$webform_sessionname = '';} + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'vicidial';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01029',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','vicidial','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01030',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + if ( ($campaign_allow_inbound == 'Y') || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + { + ### insert an entry into the user log for the login event + $stmt = "INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$VD_login','LOGIN','$VD_campaign','$NOW_TIME','$StarTtimE','$VU_user_group')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01031',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly + $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01032',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $prev_login_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $prev_login_ct) + { + $row=mysql_fetch_row($rslt); + $session_id =$row[0]; + $i++; + } + if ($prev_login_ct > 0) + {print "\n";} + else + { + ##### grab the next available vicidial_conference room and reserve it + $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null));"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01033',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt="UPDATE vicidial_conferences set extension='$SIP_user', leave_3way='0' where server_ip='$server_ip' and ((extension='') or (extension is null)) limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01034',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + $stmt="SELECT conf_exten from vicidial_conferences where server_ip='$server_ip' and ( (extension='$SIP_user') or (extension='$user') );"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01035',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $session_id = $row[0]; + } + print "\n"; + } + + ### mark leads that were not dispositioned during previous calls as ERI + $stmt="UPDATE vicidial_list set status='ERI', user='' where status IN('QUEUE','INCALL') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01036',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_hopper where status IN('QUEUE','INCALL','DONE') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01037',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01038',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_inbound_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01039',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + print "\n"; + + # print "You have logged in as user: $VD_login su phone: $SIP_user nella campagna: $VD_campaign
\n"; + $VICIDiaL_is_logged_in=1; + + ### set the callerID for manager middleware-app to connect the phone to the user + $SIqueryCID = "S$CIDdate$session_id"; + + ############################################# + ##### INIZIO SYSTEM_SETTINGS LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,vicidial_agent_disable,allow_sipsak_messages FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01040',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $vicidial_agent_disable = $row[6]; + $allow_sipsak_messages = $row[7]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$VD_campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $SIqueryCID = "$SIPSAK_prefix$VD_campaign$DS$CIDdate"; + } + + ### insert a NUOVO record to the vicidial_manager table to be processed + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $SIP_user_DiaL','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: $SIqueryCID','','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01041',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($auto_dial_level > 0) + { + print "\n"; + + ##### grab the campaign_weight and number of calls today su that campaign for the agent + $stmt="SELECT campaign_weight,calls_today FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01042',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vca_ct = mysql_num_rows($rslt); + if ($vca_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_weight = $row[0]; + $calls_today = $row[1]; + $i++; + } + else + { + $campaign_weight = '0'; + $calls_today = '0'; + $stmt="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) values('$VD_login','$VD_campaign','0','0','$calls_today');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01043',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + print "\n"; + } + $closer_chooser_string=''; + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,closer_campaigns,user_level,campaign_weight,calls_today) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$closer_chooser_string','$user_level','$campaign_weight','$calls_today');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01044',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'01045',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'01046',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + + + if ($campaign_allow_inbound == 'Y') + { + print "\n"; + } + } + else + { + print "\n"; + + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,user_level) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$user_level');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01047',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='$VD_campaign',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'01048',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'01049',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + } + } + else + { + echo "VICIDIAL web client: VICIDIAL Login Campagna\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Italiano
\n"; + echo "Spiacenti, non ci sono contatti da chiamare per questa campagna\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Login: \n
"; + echo "Password:
\n"; + echo "Campagna: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + if (strlen($session_id) < 1) + { + echo "VICIDIAL web client: VICIDIAL Login Campagna\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Italiano
\n"; + echo "Sorry, there are no available sessions\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Login: \n
"; + echo "Password:
\n"; + echo "Campagna: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + if (ereg('MSIE',$browser)) + { + $useIE=1; + print "\n"; + } + else + { + $useIE=0; + print "\n"; + } + + $StarTtimE = date("U"); + $NOW_TIME = date("Y-m-d H:i:s"); + ##### Agent is going to log in so insert the vicidial_agent_log entry now + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group,sub_status) values('$VD_login','$server_ip','$NOW_TIME','$VD_campaign','$StarTtimE','0','$StarTtimE','$VU_user_group','LOGIN');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01050',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + print "\n"; + + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $server_ip_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S"; + + ##### grab the datails of all active scripts in the system + $stmt="SELECT script_id,script_name,script_text FROM vicidial_scripts WHERE active='Y' order by script_id limit 100;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01051',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $MM_scripts = mysql_num_rows($rslt); + $e=0; + while ($e < $MM_scripts) + { + $row=mysql_fetch_row($rslt); + $MMscriptid[$e] =$row[0]; + $MMscriptname[$e] = urlencode($row[1]); + $MMscripttext[$e] = urlencode($row[2]); + $MMscriptids = "$MMscriptids'$MMscriptid[$e]',"; + $MMscriptnames = "$MMscriptnames'$MMscriptname[$e]',"; + $MMscripttexts = "$MMscripttexts'$MMscripttext[$e]',"; + $e++; + } + $MMscriptids = substr("$MMscriptids", 0, -1); + $MMscriptnames = substr("$MMscriptnames", 0, -1); + $MMscripttexts = substr("$MMscripttexts", 0, -1); + + } +} + +################################################################ +### BEGIN - build the callback calendar (12 months) ### +################################################################ +define ('ADAY', (60*60*24)); +$CdayARY = getdate(); +$Cmon = $CdayARY['mon']; +$Cyear = $CdayARY['year']; +$CTODAY = date("Y-m"); +$CTODAYmday = date("j"); +$CINC=0; + +$Cmonths = Array('Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno', + 'Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'); +$Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); + +$CCAL_OUT = ''; + +$CCAL_OUT .= ""; + +while ($CINC < 12) +{ +if ( ($CINC == 0) || ($CINC == 4) ||($CINC == 8) ) + {$CCAL_OUT .= "";} + +$CCAL_OUT .= ""; + +if ( ($CINC == 3) || ($CINC == 7) ||($CINC == 11) ) + {$CCAL_OUT .= "";} +$CINC++; +} + +$CCAL_OUT .= "
"; + +$CYyear = $Cyear; +$Cmonth= ($Cmon + $CINC); +if ($Cmonth > 12) + { + $Cmonth = ($Cmonth - 12); + $CYyear++; + } +$Cstart= mktime(11,0,0,$Cmonth,1,$CYyear); +$CfirstdayARY = getdate($Cstart); +#echo "|$Cmon|$Cmonth|$CINC|\n"; +$CPRNTDAY = date("Y-m", $Cstart); + +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; + +foreach($Cdays as $Cday) +{ + $CDCLR="#ffffff"; +$CCAL_OUT .= ""; +} + +for( $Ccount=0;$Ccount<(6*7);$Ccount++) +{ + $Cdayarray = getdate($Cstart); + if((($Ccount) % 7) == 0) + { + if($Cdayarray['mon'] != $CfirstdayARY['mon']) + break; + $CCAL_OUT .= ""; + } + if($Ccount < $CfirstdayARY['wday'] || $Cdayarray['mon'] != $Cmonth) + { + $CCAL_OUT .= ""; + } + else + { + if( ($Cdayarray['mday'] == $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + else + { + $CDCLR="#ffffff"; + if ( ($Cdayarray['mday'] < $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CDCLR="#CCCCCC"; + $CBL = ''; + $CEL = ''; + } + else + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + } + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + } +} +$CCAL_OUT .= ""; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "$Cday"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
 "; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; + +#echo "$CCAL_OUT\n"; +################################################################ +### END - build the callback calendar (12 months) ### +################################################################ + + +?> + + + + +\n"; + + +?> + +
+ + MARGINWIDTH=0 MARGINHEIGHT=0 LEFTMARGIN=0 TOPMARGIN=0 VALIGN=TOP ALIGN=LEFT> +
+ + + +     + + 0) {echo "GROUPS     \n";} ?> +LOGOUT\n"; ?> +
+
+ + + height=30> + + + + + +
VICIDIALSCRIPT VALIGN=MIDDLE ALIGN=CENTER>   LIVE     ID sessione:     Chiamata in corso
+
+ + + + + height=>

VICIDIAL
+
+ + +CHIAMATA MANUALE       CHIAMATA VELOCE
+
+ + +X CHIAMATABACK ATTIVE
+
+ + +
+
+ + secondi: +     + + + + D1 - CHIAMA\n"; + echo "
\n"; + echo "D2 - CHIAMA\n"; + } + else {echo "
\n";} + ?> +

+
+
+ + + height=460>
RICHIAMI PER L`OPERATORE :
Selezionare una callback per chiamare il cliente ora. Una volta fatto click, il record sara` rimosso dalla lista. +
+
+
  + Aggiorna +                 + Torna Indietro +
+
+ + + height=460>
NUOVA CHIAMATA MANUALE PER IL CONTATTO :

Inserisci le informazioni per il nuovo contatto da chiamare. +
+ \n"; + } + ?> + Nota: tutti i nuovi contatti chiamati manualmente andranno nella lista

+ + + + + + + + + + + + + + + +
Codice di Chiamata:   (Vale 1 negli USA ed in Canada)
Telefono Number: +   (12 digits max - digits only) +
Cerca Contatti esistenti:   (Questa opzione tentera` di trovare il numero di telefono nel sistema prima di inserire un nuovo contatto)


If you want to dial a number and have it NOT be added as a new lead, enter in the exact dialstring that you want to call in the Chiamata automatica field below. To hangup this call you will have to open the CHIAMATAS IN THIS SESSION link at the bottom of the screen and hang it up by clicking su its channel link there.
 
Chiamata automatica:   (solo digit per favore) +
+
+ Chiama Ora +                 + Torna Indietro +
+
+ + + +
+
+ + + + +Il tuo stato:
Calls Dialing: +
+ + + + + > + +
+
+ + Trasferimento - Conferenza
+ + + LOCAL CLOSER + Riaggancia la linea trasferita + Riaggancia entrambe le linee + +
+ + Numero da chiamare   + + CHIAMA OVERRIDE   + LASCIA LA CONFERENZA A 3 + Effettua il Blind Transfer + D1 + D2 + +
+ + secondi   + channel + Chiama il Cliente + Metti in attesa il cliente + Blind Transfer VMail Message +
+
+
+
+ + + + height=70> + +
Esito Contatto:

+ -
+
+
+ + + height=70> + + + + +
Tasti Funzione per Esiti: + Se attivo, premi il tasto corrispondente all`esito desiderato e la chiamata sara` riagganciata automaticamente:
+ + + + + +
+
+ + + height=70> + + + + + + +
Informazioni richiamo precedente: close
+
+
+
+
+ +
+
+ + + height=70> + + + + + + +
Extended Alt Telefono Information: minimizza
+
+
+
+
+ +
+
+ + + + + +
ingrandisci
Alt Telefono Info
+
+ + + height=500>
Non c'è nessuno nella tua sessione:
+ Torna Indietro +

+ Chiama l`operatore di nuovo +
+
+ + + height=500>
Il cliente ha riagganciato:
+ Torna Indietro +

+ Termina e definisci un Esito per la chiamata + +
+
+ + + height=550>
Call Wrapup: secondi di riposo restanti

+ +

+ Termina riposo e continua + +
+
+ + + height=500>
La tua sessione e` stata disabilitata
LOGOUT

Torna Indietro +
+
+ + + height=500>

LOGOUT
+
+ + +
+
+ + +
 
+
+ + + height=47>
Tutti i cambiamenti eseguiti sui dati del cliente non saranno salvati, bisogna effettuare le modifiche prima di riagganciare.
+
+ + + height=460>
ESITO CHIAMATA :       Aggancia di nuovo       minimizza
+ Selezione Esito di fine chiamata +
+ PAUSA OPERATORE
+ PULISCI IL FORM | + INVIA +

+ WEB FORM INVIA +

  +
+
+ + + height=460>
SELEZIONARE UN CODICE PAUSA:
+ Pausa Code Selection + +

  +
+
+ + + + + + height=460>
Selezionare una data di richiamo! :
+ + + Seleziona una data qui sotto   +     + Ora: +   + Minuti: +   + +  
+ CHIAMATABACK PERSONALE (nessun altro potra` richiamarlo)
";} + ?> + Note Richiamo:

+ + INVIA

+ +

  +
+
+ + + height=460>
SELEZIONE del CLOSER INBOUND GROUP
+ Selezione del Closer Inbound Group +
+ CHIAMATA MISTA(outbound attivato)
+ RESET | + INVIA +



  +
+
+ + + + Canale + Canale + CHIAMATABACK PERSONALE (nessun altro potra` richiamarlo)
";} + ?> +
+ + + + height=>
VICIDIAL SCRIPT
+
+ + + 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> +TASTI FUNZIONE DISATTIVATI + + + + +> + + + +
Versione di VICIDIAL web-client:     BUILD:               Server:              
+Mostra le informazioni relative al canale della conferenza

 
+
+ + + +
+
+ + + + + id="MainTable"> + + + + + + + + + + + + + + + +
STATO:
+
+Chiama il prossimo numero
+ LEAD PREVIEW
+ CHIAMA ALT NUM
+ + +FILE REGISTRAZIONE:
+
+
+ID Registrazione:
+
+ +Start Registrazione
+
+Web Form
+
+Metti in attesa la chiamata
+Trasferimento - Conferenza
+
+Riaggancia il cliente
+
+
Trasmetti Tono Tastiera

+
+
+
align=left valign=top> + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  Cust Time:   Canale:
Dati Cliente:
Titolo:   Nome:   MI:   Cognome:
Indirizzo1:
Indirizzo2:   Indirizzo3:
Citta`:   Stato:   CAP:
Provincia:   Vendor ID:   Sesso:
Telefono: +                     "; + echo ""; + } +else + { + echo ""; + } +?> + + +  Prefisso:   Num. Alternativo:
Mostra:   Email:
Note: + +\n";} +else + {echo "\n";} +?> + +
+
+ +
+
> + 
+ + + + + + + 0) or ($one_mysql_log > 0) ) + { + $errno = mysql_errno($link); + if ( ($errno > 0) or ($mel > 1) or ($one_mysql_log > 0) ) + { + $error = mysql_error($link); + $efp = fopen ("./vicidial_mysql_errors.txt", "a"); + fwrite ($efp, "$NOW_TIME|vicidial |$query_id|$errno|$error|$stmt|$user|$server_ip|$session_name|\n"); + fclose($efp); + } + } +$one_mysql_log=0; +return $errno; +} + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/voicemail_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/voicemail_check.php new file mode 100644 index 00000000..56615f3c --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_it/voicemail_check.php @@ -0,0 +1,140 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to check whether the voicemail box on the server defined has new and old messages +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $vmail_box - ('101','1234',...) +# +# +# changes +# 50422-1147 - First build of script +# 50503-1241 - added session_name checking for extra security +# 50711-1201 - removed HTTP authentication in favor of user/pass vars +# 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1204 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.5'; +$build = '60619-1204'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Utentename/Password non validi: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "ip del server non valido: |$server_ip| or Nome sessione non valido: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nome sessione non valido: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Controllo Voicemail"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + $MT[0]=''; + $row=''; $rowx=''; + if (strlen($vmail_box)<1) + { + $channel_live=0; + echo "Casella Voicemail $vmail_box non e` valido\n"; + exit; + } + else + { + $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $vmails_list = mysql_num_rows($rslt); + $loop_count=0; + while ($vmails_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0]|$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/active_list_refresh.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/active_list_refresh.php new file mode 100644 index 00000000..542f49d5 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/active_list_refresh.php @@ -0,0 +1,482 @@ + LICENSE: GPLv2 +### +### This script is designed purely to serve updates of the live data to the display scripts +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $ADD - ('1','2','3','4','5') +### - $order - ('asc','desc') +### - $format - ('text','table','menu','selectlist','textarea') +### - $bgcolor - ('#123456','white','black','etc...') +### - $txtcolor - ('#654321','black','white','etc...') +### - $txtsize - ('1','2','3','etc...') +### - $selectsize - ('2','3','4','etc...') +### - $selectfontsize - ('8','10','12','etc...') +### - $selectedext - ('cc100') +### - $selectedtrunk - ('Zap/25-1') +### - $selectedlocal - ('SIP/cc100') +### - $textareaheight - ('8','10','12','etc...') +### - $textareawidth - ('8','10','12','etc...') +### - $field_name - ('extension','busyext','extension_xfer','etc...') +### + +# changes +# 50323-1147 - First build of script +# 50401-1132 - small formatting changes +# 50502-1402 - added field_name as modifiable variable +# 50503-1213 - added session_name checking for extra security +# 50503-1311 - added conferences list +# 50610-1155 - Added NULL check on MySQL results to reduced errors +# 50711-1209 - removed HTTP authentication in favor of user/pass vars +# 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1118 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["order"])) {$order=$_GET["order"];} + elseif (isset($_POST["order"])) {$order=$_POST["order"];} +if (isset($_GET["bgcolor"])) {$bgcolor=$_GET["bgcolor"];} + elseif (isset($_POST["bgcolor"])) {$bgcolor=$_POST["bgcolor"];} +if (isset($_GET["txtcolor"])) {$txtcolor=$_GET["txtcolor"];} + elseif (isset($_POST["txtcolor"])) {$txtcolor=$_POST["txtcolor"];} +if (isset($_GET["txtsize"])) {$txtsize=$_GET["txtsize"];} + elseif (isset($_POST["txtsize"])) {$txtsize=$_POST["txtsize"];} +if (isset($_GET["selectsize"])) {$selectsize=$_GET["selectsize"];} + elseif (isset($_POST["selectsize"])) {$selectsize=$_POST["selectsize"];} +if (isset($_GET["selectfontsize"])) {$selectfontsize=$_GET["selectfontsize"];} + elseif (isset($_POST["selectfontsize"])) {$selectfontsize=$_POST["selectfontsize"];} +if (isset($_GET["selectedext"])) {$selectedext=$_GET["selectedext"];} + elseif (isset($_POST["selectedext"])) {$selectedext=$_POST["selectedext"];} +if (isset($_GET["selectedtrunk"])) {$selectedtrunk=$_GET["selectedtrunk"];} + elseif (isset($_POST["selectedtrunk"])) {$selectedtrunk=$_POST["selectedtrunk"];} +if (isset($_GET["selectedlocal"])) {$selectedlocal=$_GET["selectedlocal"];} + elseif (isset($_POST["selectedlocal"])) {$selectedlocal=$_POST["selectedlocal"];} +if (isset($_GET["textareaheight"])) {$textareaheight=$_GET["textareaheight"];} + elseif (isset($_POST["textareaheight"])) {$textareaheight=$_POST["textareaheight"];} +if (isset($_GET["textareawidth"])) {$textareawidth=$_GET["textareawidth"];} + elseif (isset($_POST["textareawidth"])) {$textareawidth=$_POST["textareawidth"];} +if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} + elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} + +### security strip all non-alphanumeric characters out of the variables ### + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $ADD=ereg_replace("[^0-9]","",$ADD); + $order=ereg_replace("[^0-9a-zA-Z]","",$order); + $format=ereg_replace("[^0-9a-zA-Z]","",$format); + $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); + $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); + $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); + $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); + $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); + $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); + $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); + $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); + $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); + $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); + $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + +# default optional vars if not set +if (!isset($ADD)) {$ADD="1";} +if (!isset($order)) {$order='desc';} +if (!isset($format)) {$format="text";} +if (!isset($bgcolor)) {$bgcolor='white';} +if (!isset($txtcolor)) {$txtcolor='black';} +if (!isset($txtsize)) {$txtsize='2';} +if (!isset($selectsize)) {$selectsize='4';} +if (!isset($selectfontsize)) {$selectfontsize='10';} +if (!isset($textareaheight)) {$textareaheight='10';} +if (!isset($textareawidth)) {$textareawidth='20';} + +$version = '0.0.8'; +$build = '60619-1118'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Nieprawidłowy NazwaUżytkownika/Hasło: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Nieprawidłowy server_ip: |$server_ip| or Nieprawidłowy session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nieprawidłowy session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='table') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Listy: "; +if ($ADD==1) {echo "Aktywne numery wewnętrzne";} +if ($ADD==2) {echo "Zajęte numery wewnętrzne";} +if ($ADD==3) {echo "Linie zewnętrzne";} +if ($ADD==4) {echo "Numery wewnętrzne";} +if ($ADD==5) {echo "Konferencje";} +if ($ADD==99999) {echo "POMOC";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ADD=1 display all live extensions on a server +###################### +if ($ADD==1) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'extension';} + if ($format=='table') {echo "\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + +###################### +# ADD=2 display all busy extensions on a server +###################### +if ($ADD==2) +{ + if (!$field_name) {$field_name = 'busyext';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=3 display all busy outside lines(trunks) on a server +###################### +if ($ADD==3) +{ + if (!$field_name) {$field_name = 'trunk';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=4 display all busy Local lines on a server +###################### +if ($ADD==4) +{ + if (!$field_name) {$field_name = 'local';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=5 display all agc-usable conferences on a server +###################### +if ($ADD==5) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'conferences';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='table') {echo "\n";} +if ($format=='table') {echo "\n\n\n";} + +exit; + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/astguiclient.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/astguiclient.php new file mode 100644 index 00000000..f3634f2c --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/astguiclient.php @@ -0,0 +1,2905 @@ + LICENSE: GPLv2 +# +# make sure you have added a user to the vicidial_users MySQL table with at least +# user_level 1 or greater to access this page. Also you need to have the login +# and pass of a phone listed in the asterisk.phones table. The page grabs the +# server info and other details from this login and pass +# +# Other scripts that this application depends on: +# - active_list_refresh.php: displays active/live channels and phones +# - manager_send.php: sends Actions to be executed on Asterisk servers +# - live_exten_check.php: checks to see if user's phone is on a live call +# - call_log_display.php: retrieves log of inbound and outbound calls +# - voicemail_check.php: retrieves counts of new and old messages +# - inbound_popup.php: opens upon live_inbound call coming in +# - conf_exten_check.php: checks to see if and calls are in a specific conf +# - park_calls_display.php: retrieves list of parked calls +# - vdc_db_query.php: Changes values in the DB for non-calling records +# +# CHANGES +# 50215-1356 - Proof-of-concept test of XMLHttpRequest for astGUIclient web +# 50323-1411 - First build version display-only +# 50331-1040 - Second-build, added phone login and hangup/hijack display +# 50401-1006 - Trunk/Local Hangup functions enabled +# 50404-1056 - Trunk/Local Hijack functions enabled +# 50404-1459 - Simple live calls display and grabs updated time from server +# 50405-1221 - Reorganized the display and layers, added some images +# 50406-1005 - Added In/Out call log display to MAIN panel +# 50407-1254 - Start/Stop Recording on live calls enabled +# 50422-1101 - Activated Check Voicemail button and new/old messages count +# 50428-1449 - Added dial from log and basic live_inbound call popup +# 50429-1455 - Modified inbound popup code for IE and to add more functions +# 50502-1442 - Added basic method to transfer live calls somewhere else +# 50503-1205 - Added web_client_sessions entry for more security of subscripts +# 50503-1537 - Added basic conferences display +# 50509-1132 - Added conference connected list and hangup/xfer for them +# 50511-1129 - Added registration of conference rooms and added manual dial +# 50523-1342 - Added Conference recording and send DTMF +# 50523-1622 - Added Local Dial window frame for calling local extensions +# 50524-1456 - Added ability to park call and display number of parked calls +# 50524-1600 - Added ability to display and pickup/hangup/xfer parked calls +# 50525-1224 - Added ability to place outbound call from within conferene +# 50531-1225 - Added ability to do dual transfers to meetme rooms from Main +# 50711-1229 - removed HTTP authentication in favor of user/pass vars +# 50711-1610 - Added Zap monitoring to Trunk/Local Action screens +# 50804-1604 - Minor bug fix in inbound_popup functions +# 50818-1715 - Added pretty login section +# 50913-1137 - Added custom outbound_cid from phones table +# 51110-1430 - Fixed non-standard http port issue +# 60103-1421 - Added code for favorite extensions chooser +# 60104-1347 - Added basic layout for favorites editing frame +# 60105-1124 - Finished Favorites frame and added DB submission +# 60112-1622 - Several formatting changes +# 60421-1357 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1103 - Added variable filters to close security holes for login form +# 60829-1528 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +$version = '2.0.1'; +$build = '60829-1528'; + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + + +if ($force_logout) +{ + if( (strlen($_SERVER['user'])>0) or (strlen($_SERVER['pass'])>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "Wylogowałeś się. Do zobaczenia\n"; + exit; +} + +$StarTtime = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd-His"); + $month_old = mktime(0, 0, 0, date("m"), date("d")-7, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$US='_'; +$CL=':'; +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./astguiclient_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = $agcPAGE; +$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); + + if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) + { + header ("Content-type: text/html; charset=utf-8"); + + echo "klient astGUIclient: Login\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Polski
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login
 
Login użytkownika:
Hasło użytkownika:
Login telefonu:
Hasło telefonu:

WERSJA: $version       KOMPILACJA: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($user); + $password=strtoupper($pass); + $stmt="SELECT full_name,user_level from vicidial_users where user='$user' and pass='$pass'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIWYBIERZ|GOOD|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIWYBIERZ|FAIL|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + } + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "klient astGUIclient: Login telefonu\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Polski
\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Login telefonu
 
Login telefonu:
Hasło telefonu:

WERSJA: $version       KOMPILACJA: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +$authphone=0; +$stmt="SELECT count(*) from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "klient astGUIclient: Login telefonu\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Polski
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login telefonu
 
Login Twojego telefonu lub hasło są nieaktywne w tym systememie, spróbuj jeszcze raz:
 
Login telefonu:
Hasło telefonu:

WERSJA: $version       KOMPILACJA: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { + echo "klient astGUIclient\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $phone_login=$row[6]; + $phone_pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $CaLLerID_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $outbound_cid=$row[65]; + + $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtime$US$session_ext$session_rand"; + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'agc';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','agc','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT count(*) from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_present=$row[0]; + if ($favorites_present > 0) + { + $stmt="SELECT extensions_list from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_list=$row[0]; + $h=0; + $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites = explode(',',$favorites_listX); + $favorites_count = count($favorites); + $favorites_listX=''; + + $o=0; + while ($favorites_count > $o) + { + $stmt="SELECT fullname,protocol from phones where extension = '$favorites[$o]' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $favorites_names[$o] = $rowx[0]; + $favorites_listX .= "$rowx[1]/$favorites[$o],"; + $o++; + } + + echo "\n"; + echo "\n"; + } + else + { + echo "\n"; + } + +### gather phone extensions and fullnames for favorites editor ### + $stmt="SELECT extension,fullname from phones where server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $exten_ct = mysql_num_rows($rslt); + $favlistCT=0; + $nofavlistCT=0; + while ($favlistCT < $exten_ct) + { + $row=mysql_fetch_row($rslt); + $favlist[$favlistCT]= "$row[0] - $row[1]"; + $favlistCT++; + } + + } +} + + +?> + + + + + + +\n"; + + +?> + +
+ + + + + + + + + +
+ + +WYLOGUJ
\n"; ?> +
Główny panelPanel aktywnych liniPanel konferencyjnySprawdź pocztę głosowąAktywna rozmowa
+
+ + +

Logout
+
+ + +
TRUNK ROZŁĄCZ

+ Active Trunks Menu
+ Rozłącz międzymiastową   |   + Przejmij międzymiastową   |   + Odsłuchaj międzymiastową   |   + Odswież   |   + Wróć do Głównego okna +
+
+ + +
ROZŁĄCZ

+ Manu aktywnych lokalnych
+ Rozłącz lokalną   |   + Przejmij lokalną   |   + Podsłuchaj lokalną   |   + Odswież   |   + Wróć do Głównego okna +
+
+ + + + + + + +
AKTYWNA ROZMOWA PRZENIESIONA
Kanały do przeniesienia: Kanał
NumerWenętrzny:
Menu rozszerzeń
+
+ Przełącz do wybranego numeru wewnętrznego

+ Przełącz do poczty głosowej

+ Przełącz do numeru:


+ Odswież


+ Wróć do Głównego okna

+
Konferencje:
(wybierz poniższy numer w celu przełączenia do konferencji)
Przełącz również mój kanał
Menu konferencji
+
+ + + + + +
Wybieranie numerów wewnętrznych
Połączenie przychodzące z: Kanał
NumerWenętrzny:
Menu rozszerzeń
+
+ Połącz z wybranym numerem wewnętrznym

+ Połącz z wybraną skrzynką głosową

+ Odswież


+ Wróć do Głównego okna

+
+
+ + +
ZAWIESZONE ROZMOWY:
+ Wróć do Głównego okna

+
+
+ + + + + + + + + + + + + + + +
  +
POCZTAGŁOSOWA     NOWY:     STARY:             WYBIERANIE RĘCZNE       WYBIERZ
ZAWIESZONE ROZMOWY: 0                NUMERY WEWNĘTRZNE
ROZMOWY WYCHODZĄCE:
ROZMOWY PRZYCHODZĄCE:
astGUIclient WERSJA: KOMPILACJA:
+ + + + $h) + { + if (strlen($favorites[$h])>1) + { + echo "\n"; + } + $h++; + } +?> + +
ULUBIONE       edytuj
$favorites[$h] - $favorites_names[$h]
 
+
+ + + + + + + +
ULUBIONE

 
ZATWIERDŹ ZMIANY W ULUBIONYCH- wymaga wylogowania
Powrót do głónego okna - anulowanie wprowadzonych zmian
+
+ +
+ + + + + + + + + + + + + +
+PRZERWA | START     Szybkość odswieżania: 1000 ms Szybciej | Wolniej

+
Inicjalizuje..
+
Aktywne numery wewnętrzne
+ODSWIEŻ | +PORZĄDEK | +
Linie zewnętrzne
+ODSWIEŻ | +PORZĄDEK | +
Numery wewnętrzne
+ODSWIEŻ | +PORZĄDEK | +
+ Data tutaj

+
+ Data tutaj

Operacje na międzymiastowych +
+ Data tutaj

Operacje na lokalnych +
+
+ + + + +
+ + +Lista konferencji + + + +
+Wybierz numer konferencji w celu uzyskania o niej informacji +
+ + + + + + + + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/call_log_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/call_log_display.php new file mode 100644 index 00000000..7b4f7786 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/call_log_display.php @@ -0,0 +1,196 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send the inbound and outbound calls for a specific phone +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### - $in_limit - ('10','20','50','100',...) +### - $out_limit - ('10','20','50','100',...) +### + +# changes +# 50406-1013 - First build of script +# 50407-1452 - Added definable limits +# 50503-1236 - added session_name checking for extra security +# 50610-1158 - Added NULL check on MySQL results to reduced errors +# 50711-1202 - removed HTTP authentication in favor of user/pass vars +# 60323-1550 - added option for showing different number dialed in log +# 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1202 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($in_limit)) {$in_limit="100";} +if (!isset($out_limit)) {$out_limit="100";} +$number_dialed = 'number_dialed'; +#$number_dialed = 'extension'; + +$version = '0.0.8'; +$build = '60619-1202'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Nieprawidłowy NazwaUżytkownika/Hasło: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Nieprawidłowy server_ip: |$server_ip| or Nieprawidłowy session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nieprawidłowy session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Rejestr rozmów"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten nie jest prawidłowy lub protokół $protocol nie jest prawidłowy\n"; + exit; + } + else + { + ##### print outbound calls from the call_log table + $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} + echo "$out_calls_count|"; + $loop_count=0; + while ($out_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[3] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + + if ($number_dialed == 'extension') {$row[2] = substr($row[2],-10);} + echo "$row[0] ~$row[1] ~$row[2] ~$call_time_MS|"; + } + echo "\n"; + + ##### print inbound calls from the live_inbound_log table + $stmt="SELECT call_log.uniqueid,live_inbound_log.start_time,live_inbound_log.extension,caller_id,length_in_sec from live_inbound_log,call_log where phone_ext='$exten' and live_inbound_log.server_ip = '$server_ip' and call_log.uniqueid=live_inbound_log.uniqueid order by start_time desc limit $in_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} + echo "$in_calls_count|"; + $loop_count=0; + while ($in_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[4] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $callerIDnum = $row[3]; $callerIDname = $row[3]; + $callerIDnum = preg_replace("/.*<|>.*/","",$callerIDnum); + $callerIDname = preg_replace("/\"| <\d*>/","",$callerIDname); + + echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; + } + echo "\n"; + + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/conf_exten_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/conf_exten_check.php new file mode 100644 index 00000000..a27ec4cf --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/conf_exten_check.php @@ -0,0 +1,297 @@ + LICENSE: GPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('refresh','register') +# - $client - ('agc','vdc') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $campagentstdisp - ('YES',...) +# + +# changes +# 50509-1054 - First build of script +# 50511-1112 - Added ability to register a conference room +# 50610-1159 - Added NULL check on MySQL results to reduced errors +# 50706-1429 - script changed to not use HTTP login vars, user/pass instead +# 50706-1525 - Added date-time display for vicidial client display +# 50816-1500 - Added random update to vicidial_live_agents table for vdc users +# 51121-1353 - Altered echo statements for several small PHP speed optimizations +# 60410-1424 - Added ability to grab calls-being-placed and agent status +# 60421-1405 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1201 - Added variable filters to close security holes for login form +# 61128-2255 - Added update for manual dial vicidial_live_agents +# 70319-1542 - Added agent disabled display function +# 71122-0205 - Added vicidial_live_agent status output +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["client"])) {$client=$_GET["client"];} + elseif (isset($_POST["client"])) {$client=$_POST["client"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campagentstdisp"])) {$campagentstdisp=$_GET["campagentstdisp"];} + elseif (isset($_POST["campagentstdisp"])) {$campagentstdisp=$_POST["campagentstdisp"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($client)) {$client="agc";} + +$version = '2.0.4-12'; +$build = '71122-0205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd_His"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$random = (rand(1000000, 9999999) + 10000000); + + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Nieprawidłowy NazwaUżytkownika/Hasło: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Nieprawidłowy server_ip: |$server_ip| or Nieprawidłowy session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nieprawidłowy session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Sprawdzanie numeru wewnętrznego konferencji"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + if ($ACTION == 'refresh') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($conf_exten)<1) + { + $channel_live=0; + echo "Conf Exten $conf_exten nie jest prawidłowy\n"; + exit; + } + else + { + + if ($client == 'vdc') + { + $Acount=0; + $AexternalDEAD=0; + + ### see if the agent has a record in the vicidial_live_agents table + $stmt="SELECT count(*) from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Acount=$row[0]; + + if ($Acount > 0) + { + $stmt="SELECT status from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Astatus=$row[0]; + } + # ### find out if external table shows agent should be disabled + # $stmt="SELECT count(*) from another_table where user='$user' and status='DEAD';"; + # if ($DB) {echo "|$stmt|\n";} + # $rslt=mysql_query($stmt, $link); + # $row=mysql_fetch_row($rslt); + # $AexternalDEAD=$row[0]; + + if ($auto_dial_level > 0) + { + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + if ($campagentstdisp == 'YES') + { + ### grab the status of this agent to display + $stmt="SELECT status,campaign_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Alogin=$row[0]; + $Acampaign=$row[1]; + + ### grab the number of calls being placed from this server and campaign + $stmt="SELECT count(*) from vicidial_auto_calls where server_ip='$server_ip' and status NOT IN('XFER') and campaign_id='$Acampaign';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $RingCalls=$row[0]; + } + else + { + $Alogin='N'; + $RingCalls='N'; + } + } + else + { + $Alogin='N'; + $RingCalls='N'; + + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } + + if ($Acount < 1) {$Alogin='DEAD_VLA';} + if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} + + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . "|\n"; + + } + $total_conf=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$sip_list = mysql_num_rows($rslt);} + # echo "$sip_list|"; + $loop_count=0; + while ($sip_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $KanałA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + # echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $KanałA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + } + $channels_list = ($channels_list + $sip_list); + echo "$channels_list|"; + + $counter=0; + $countecho=''; + while($total_conf > $counter) + { + $counter++; + $countecho = "$countecho$KanałA[$counter] ~"; + # echo "$KanałA[$counter] ~"; + } + + echo "$countecho\n"; + } + + if ($ACTION == 'register') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($exten)<1) ) + { + $channel_live=0; + echo "Conf Exten $conf_exten nie jest prawidłowy or Exten $exten nie jest prawidłowy\n"; + exit; + } + else + { + $stmt="UPDATE conferences set extension='$exten' where server_ip = '$server_ip' and conf_exten = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + echo "Konferencja $conf_exten został zarejestrowany $exten\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/dbconnect.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/dbconnect.php new file mode 100644 index 00000000..723d3c59 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/dbconnect.php @@ -0,0 +1,58 @@ + LICENSE: AGPLv2 +# +if ( file_exists("/etc/astguiclient.conf") ) +{ +$DBCagc = file("/etc/astguiclient.conf"); +foreach ($DBCagc as $DBCline) + { + $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); + if (ereg("^PATHlogs", $DBCline)) + {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} + if (ereg("^PATHweb", $DBCline)) + {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} + if (ereg("^VARDB_server", $DBCline)) + {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} + if (ereg("^VARDB_database", $DBCline)) + {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} + if (ereg("^VARDB_user", $DBCline)) + {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} + if (ereg("^VARDB_pass", $DBCline)) + {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} + if (ereg("^VARDB_port", $DBCline)) + {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} + } + +} +else +{ +#defaults for DB connection +$VARDB_server = 'localhost'; +$VARDB_user = 'cron'; +$VARDB_pass = '1234'; +$VARDB_database = '1234'; +$WeBServeRRooT = '/usr/local/apache2/htdocs'; +} + +$link=mysql_connect("$VARDB_server", "$VARDB_user", "$VARDB_pass"); +if (!$link) { + die('MySQL connect ERROR: ' . mysql_error()); +} +mysql_select_db("$VARDB_database",$link); + +$local_DEF = 'Local/'; +$conf_silent_prefix = '7'; +$local_AMP = '@'; +$ext_context = 'demo'; +$recording_exten = '8309'; +$WeBRooTWritablE = '1'; +$non_latin = '0'; # set to 1 for UTF rules, overridden by system_settings +$flag_channels=0; +$flag_string = 'VICIast20'; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/inbound_popup.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/inbound_popup.php new file mode 100644 index 00000000..f94639af --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/inbound_popup.php @@ -0,0 +1,351 @@ + LICENSE: GPLv2 +### +### This script is designed to open up when a live_inbound call comes in giving the user +### options of what to do with the call or options to lookup the callerID on various web sites +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $uniqueid - ('1234567890.123456',...) +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $vmail_box - ('101','1234',...) +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $ext_context - ('default','demo',...) +### - $ext_priority - ('1','2',...) +### - $voicemail_dump_exten - ('85026666666666') +### - $local_web_callerID_URL_enc - ( rawurlencoded custom callerid lookup URL) +### + +# changes +# 50428-1500 - First build of script display only +# 50429-1241 - some formatting, hangup and Vmail redirect, 30s timeout on actions, and CID web lookup links +# 50503-1244 - added session_name checking for extra security +# 50711-1203 - removed HTTP authentication in favor of user/pass vars +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["voicemail_dump_exten"])) {$voicemail_dump_exten=$_GET["voicemail_dump_exten"];} + elseif (isset($_POST["voicemail_dump_exten"])) {$voicemail_dump_exten=$_POST["voicemail_dump_exten"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_GET["local_web_callerID_URL_enc"];} + elseif (isset($_POST["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_POST["local_web_callerID_URL_enc"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} + else {$local_web_callerID_URL = '';} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.6'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$DO = '-1'; +if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Nieprawidłowy NazwaUżytkownika/Hasło: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Nieprawidłowy server_ip: |$server_ip| or Nieprawidłowy session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nieprawidłowy session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +echo "\n"; +echo "\n"; +echo "\n"; +?> + + +AKTYWNA PRZYHODZĄCA ROZMOWA"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "

AKTYWNA PRZYHODZĄCA ROZMOWA

\n"; +echo "$NOW_TIME

\n"; +} + + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($uniqueid)<9) + { + $channel_live=0; + echo "Uniqueid $uniqueid nie jest prawidłowy\n"; + exit; + } + else + { + $stmt="SELECT * FROM live_inbound where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $channels_list = mysql_num_rows($rslt); + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); +# echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; +# Zap/73|"V.I.C.I. MARKET" <7275338730>|2005-04-28 14:01:21|7274514936|Inbound direct to Matt||||| + if ($format=='debug') {echo "\n";} + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Kanał: $row[1]
IDRozmówcy: $row[3]
\n"; + + $phone = eregi_replace(".*\<","",$row[3]); + $phone = eregi_replace("\>.*","",$phone); + $NPA = substr($phone, 0, 3); + $NXX = substr($phone, 3, 3); + $XXXX = substr($phone, 6, 4); + $D='-'; + echo "GOOGLE - \n"; + echo "ANYWHO - \n"; + echo "SWITCHBOARD - \n"; + echo "VERIZON - \n"; + echo "WHITEPAGES - \n"; + echo "411.COM - \n"; + echo "411.COM - \n"; + + $local_web_callerID_QUERY_STRING =''; + $local_web_callerID_QUERY_STRING.="?callerID_areacode=$NPA"; + $local_web_callerID_QUERY_STRING.="&callerID_prefix=$NXX"; + $local_web_callerID_QUERY_STRING.="&callerID_last4=$XXXX"; + $local_web_callerID_QUERY_STRING.="&callerID_Time=$row[6]"; + $local_web_callerID_QUERY_STRING.="&callerID_Kanał=$row[1]"; + $local_web_callerID_QUERY_STRING.="&callerID_uniqueID=$row[0]"; + $local_web_callerID_QUERY_STRING.="&callerID_phone_ext=$row[5]"; + $local_web_callerID_QUERY_STRING.="&callerID_server_ip=$row[2]"; + $local_web_callerID_QUERY_STRING.="&callerID_extension=$row[4]"; + $local_web_callerID_QUERY_STRING.="&callerID_inbound_number=$row[8]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_a=$row[9]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_b=$row[10]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_c=$row[11]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_d=$row[12]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_e=$row[13]"; + echo "UŻYTKOWNIKA - \n"; + + echo "
Wybierany numer: $row[8]
Notatki: $row[9]|$row[10]|$row[11]|$row[12]|$row[13]|
\n"; + echo "ROZŁĄCZ - \n"; + echo "PRZEŚLIJ DO MOJEJ POCZTY GŁOSOWEJ\n"; + echo "
\n"; + + + $stmt="UPDATE live_inbound set acknowledged='Y' where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + + } + + + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/live_exten_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/live_exten_check.php new file mode 100644 index 00000000..441f8eca --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/live_exten_check.php @@ -0,0 +1,278 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send whether the client channel is live and to what channel it is connected +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### + +# changes +# 50404-1249 - First build of script +# 50406-1402 - added connected trunk lookup +# 50428-1452 - added live_inbound check for exten on 2nd line of output +# 50503-1233 - added session_name checking for extra security +# 50524-1429 - added parked calls count +# 50610-1204 - Added NULL check on MySQL results to reduced errors +# 50711-1204 - removed HTTP authentication in favor of user/pass vars +# 60103-1541 - added favorite extens status display +# 60421-1359 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1203 - Added variable filters to close security holes for login form +# 60825-1029 - Fixed translation variable issue ChannelA +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count"];} + elseif (isset($_POST["favorites_count"])) {$favorites_count=$_POST["favorites_count"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '2.0.1'; +$build = '60825-1029'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Nieprawidłowy NazwaUżytkownika/Hasło: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Nieprawidłowy server_ip: |$server_ip| or Nieprawidłowy session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nieprawidłowy session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Sprawdzanie aktywnych numerów wewnętrznych"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + +echo "DateTime: $NOW_TIME|"; +echo "UnixTime: $StarTtime|"; + +$stmt="SELECT count(*) FROM parked_channels where server_ip = '$server_ip';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +echo "$row[0]|"; + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten nie jest prawidłowy lub protokół $protocol nie jest prawidłowy\n"; + exit; + } + else + { + $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + $ChanneLA[$loop_count] = "$row[0]"; + $ChanneLB[$loop_count] = "$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + $counter=0; + while($loop_count > $counter) + { + $counter++; + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "KanałA: $ChanneLA[$counter] ~"; + echo "KanałB: $ChanneLB[$counter] ~"; + echo "KanałBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "KanałA: $ChanneLA[$counter] ~"; + echo "KanałB: $ChanneLB[$counter] ~"; + echo "KanałBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "KanałA: $ChanneLA[$counter] ~"; + echo "KanałB: $ChanneLB[$counter] ~"; + echo "KanałBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "KanałA: $ChanneLA[$counter] ~"; + echo "KanałB: $ChanneLB[$counter] ~"; + echo "KanałBtrunk: $row[0]|"; + } + else + { + echo "Conversation: $counter ~"; + echo "KanałA: $ChanneLA[$counter] ~"; + echo "KanałB: $ChanneLB[$counter] ~"; + echo "KanałBtrunk: $ChanneLA[$counter]|"; + } + } + } + } + } + +echo "\n"; + +### check for live_inbound entry +$stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = '$exten' and acknowledged='N';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +if ($rslt) {$channels_list = mysql_num_rows($rslt);} + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); + $LIuniqueid = "$row[0]"; + $LIchannel = "$row[1]"; + $LIcallerid = "$row[3]"; + $LIdatetime = "$row[6]"; + echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; + if ($format=='debug') {echo "\n";} + } + +echo "\n"; + + +### if favorites are present do a lookup to see if any are active +if ($favorites_count > 0) + { + $favorites = explode(',',$favorites_list); + $h=0; + $favs_print=''; + while ($favorites_count > $h) + { + $fav_extension = explode('/',$favorites[$h]); + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$favorites[$h]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favs_print .= "$fav_extension[1]: $row[0] ~"; + $h++; + } + echo "$favs_print\n"; + } + +if ($format=='debug') {echo "\n";} + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/manager_send.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/manager_send.php new file mode 100644 index 00000000..8932ad9b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/manager_send.php @@ -0,0 +1,1142 @@ + LICENSE: GPLv2 +# +# This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $ACTION - ('Originate','Redirect','Hangup','Command','Monitor','StopMonitor','SysCIDOriginate','RedirectName','RedirectNameVmail','MonitorConf','StopMonitorConf','RedirectXtra','RedirectXtraCX','RedirectVD','HangupConfDial','VolumeControl','OriginateVDRelogin') +# - $queryCID - ('CN012345678901234567',...) +# - $format - ('text','debug') +# - $channel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $exten - ('1234','913125551212',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $filename - ('20050406-125623_44444',...) +# - $extenName - ('phone100',...) +# - $parkedby - ('phone100',...) +# - $extrachannel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $auto_dial_level - ('0','1','1.1',...) +# - $campaign - ('CLOSER','TESTCAMP',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('1234',...) +# - $seconds - ('32',...) +# - $outbound_cid - ('3125551212','0000000000',...) +# - $agent_log_id - ('123456',...) +# - $call_server_ip - ('10.10.10.15',...) +# - $CalLCID - ('VD01234567890123456',...) +# - $stage - ('UP','DOWN') +# + +# CHANGELOG: +# 50401-1002 - First build of script, Hangup function only +# 50404-1045 - Redirect basic function enabled +# 50406-1522 - Monitor basic function enabled +# 50407-1647 - Monitor and StopMonitor full functions enabled +# 50422-1120 - basic Originate function enabled +# 50428-1451 - basic SysCIDOriginate function enabled for checking voicemail +# 50502-1539 - basic RedirectName and RedirectNameVmail added +# 50503-1227 - added session_name checking for extra security +# 50523-1341 - added Conference call start/stop recording +# 50523-1421 - added OriginateName and OriginateNameVmail for local calls +# 50524-1602 - added RedirectToPark and RedirectFromPark +# 50531-1203 - added RedirecXtra for dual channel redirection +# 50630-1100 - script changed to not use HTTP login vars, user/pass instead +# 50804-1148 - Added RedirectVD for VICIDIAL blind redirection with logging +# 50815-1204 - Added NEXTAVAILABLE to RedirectXtra function +# 50903-2343 - Added HangupConfDial function to hangup in-dial channels in conf +# 50913-1057 - Added outbound_cid set if present to originate call +# 51020-1556 - Added agent_log_id framework for detailed agent activity logging +# 51118-1204 - Fixed Blind transfer bug from VICIDIAL when in manual dial mode +# 51129-1014 - Added ability to accept calls from other VICIDIAL servers +# 51129-1253 - Fixed Hangups of other agents channels in VICIDIAL AD +# 60310-2022 - Fixed NEXTAVAILABLE bug in leave-3way-call redirect function +# 60421-1413 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1158 - Added variable filters to close security holes for login form +# 60809-1544 - Added direct transfers to leave-3ways in consultative transfers +# 61004-1526 - Added parsing of volume control command and lookup or number +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61201-1115 - Added user to MonitorConf for recording_log +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70226-1251 - Added Mute/UnMute to conference volume control +# 70320-1502 - Added option to allow retry of leave-3way-call and debug logging +# 70322-1636 - Added sipsak display ability +# + +require("dbconnect.php"); + +### These are variable assignments for PHP globals off +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["queryCID"])) {$queryCID=$_GET["queryCID"];} + elseif (isset($_POST["queryCID"])) {$queryCID=$_POST["queryCID"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["filename"])) {$filename=$_GET["filename"];} + elseif (isset($_POST["filename"])) {$filename=$_POST["filename"];} +if (isset($_GET["extenName"])) {$extenName=$_GET["extenName"];} + elseif (isset($_POST["extenName"])) {$extenName=$_POST["extenName"];} +if (isset($_GET["parkedby"])) {$parkedby=$_GET["parkedby"];} + elseif (isset($_POST["parkedby"])) {$parkedby=$_POST["parkedby"];} +if (isset($_GET["extrachannel"])) {$extrachannel=$_GET["extrachannel"];} + elseif (isset($_POST["extrachannel"])) {$extrachannel=$_POST["extrachannel"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["secondS"])) {$secondS=$_GET["secondS"];} + elseif (isset($_POST["secondS"])) {$secondS=$_POST["secondS"];} +if (isset($_GET["outbound_cid"])) {$outbound_cid=$_GET["outbound_cid"];} + elseif (isset($_POST["outbound_cid"])) {$outbound_cid=$_POST["outbound_cid"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["call_server_ip"])) {$call_server_ip=$_GET["call_server_ip"];} + elseif (isset($_POST["call_server_ip"])) {$call_server_ip=$_POST["call_server_ip"];} +if (isset($_GET["CalLCID"])) {$CalLCID=$_GET["CalLCID"];} + elseif (isset($_POST["CalLCID"])) {$CalLCID=$_POST["CalLCID"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["allow_sipsak_messages"])) {$allow_sipsak_messages=$_GET["allow_sipsak_messages"];} + elseif (isset($_POST["allow_sipsak_messages"])) {$allow_sipsak_messages=$_POST["allow_sipsak_messages"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$secondS = ereg_replace("[^0-9]","",$secondS); + +# default optional vars if not set +if (!isset($ACTION)) {$ACTION="Originate";} +if (!isset($format)) {$format="alert";} +if (!isset($ext_priority)) {$ext_priority="1";} + +$version = '2.0.29'; +$build = '70320-1502'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Nieprawidłowy NazwaUżytkownika/Hasło: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Nieprawidłowy server_ip: |$server_ip| or Nieprawidłowy session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nieprawidłowy session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Wyślij do zarządzania: "; +if ($ACTION=="Originate") {echo "Originate";} +if ($ACTION=="Redirect") {echo "Redirect";} +if ($ACTION=="RedirectName") {echo "RedirectName";} +if ($ACTION=="Hangup") {echo "Hangup";} +if ($ACTION=="Command") {echo "Command";} +if ($ACTION==99999) {echo "POMOC";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ACTION=SysCIDOriginate - insert Originate Manager statement allowing small CIDs for system calls +###################### +if ($ACTION=="SysCIDOriginate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<1) ) + { + echo "Exten $exten nie jest prawidłowy or queryCID $queryCID nie jest prawidłowy, Originate komenda nie wstawiona\n"; + } + else + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Originate komenda wysłana do Exten $exten Kanał $channel na $server_ip\n"; + } +} + + + +###################### +# ACTION=Originate, OriginateName, OriginateNameVmail - insert Originate Manager statement +###################### +if ($ACTION=="OriginateName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Jedna z tych zmiennych nie jest prawidłowy:\n"; + echo "Kanał $channel musi mieć więcej niż 2 znaki\n"; + echo "queryCID $queryCID musi mieć więcje niż 14 znaków\n"; + echo "extenName $extenName musi być ustawiony\n"; + echo "ext_context $ext_context musi być ustawiony\n"; + echo "ext_priority $ext_priority musi być ustawiony\n"; + echo "\nOriginateName Action nie wysłano\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Jedna z tych zmiennych nie jest prawidłowy:\n"; + echo "Kanał $channel musi mieć więcej niż 2 znaki\n"; + echo "queryCID $queryCID musi mieć więcje niż 14 znaków\n"; + echo "extenName $extenName musi być ustawiony\n"; + echo "exten $exten musi być ustawiony\n"; + echo "ext_context $ext_context musi być ustawiony\n"; + echo "ext_priority $ext_priority musi być ustawiony\n"; + echo "\nOriginateNameVmail Action nie wysłano\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateVDRelogin") +{ + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $CIDdate = date("ymdHis"); + $DS='-'; + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $queryCID = "$SIPSAK_prefix$campaign$DS$CIDdate"; + + } + $ACTION="Originate"; +} + +if ($ACTION=="Originate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<10) ) + { + echo "Exten $exten nie jest prawidłowy or queryCID $queryCID nie jest prawidłowy, Originate komenda nie wstawiona\n"; + } + else + { + if (strlen($outbound_cid)>1) + {$outCID = "\"$queryCID\" <$outbound_cid>";} + else + {$outCID = "$queryCID";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $outCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Originate komenda wysłana do Exten $exten Kanał $channel na $server_ip\n"; + } +} + + + +###################### +# ACTION=HangupConfDial - find the Local channel that is in the conference and needs to be hung up +###################### +if ($ACTION=="HangupConfDial") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "conference $exten nie jest prawidłowy or ext_context $ext_context or queryCID $queryCID nie jest prawidłowy, Hangup komenda nie wstawiona\n"; + } + else + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $hangup_channel_prefix = "$local_DEF$exten$local_AMP$ext_context"; + + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row > 0) + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $channel=$rowx[0]; + $ACTION="Hangup"; + $queryCID = eregi_replace("^.","G",$queryCID); + } + } +} + + + +###################### +# ACTION=Hangup - insert Hangup Manager statement +###################### +if ($ACTION=="Hangup") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) ) + { + $channel_live=0; + echo "Kanał $channel nie jest prawidłowy or queryCID $queryCID nie jest prawidłowy, Hangup komenda nie wstawiona\n"; + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + +# $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $row=mysql_fetch_row($rslt); +# if ($row[0]==0) +# { +# $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $rowx=mysql_fetch_row($rslt); +# if ($rowx[0]==0) +# { +# $channel_live=0; +# echo "Channel $channel is not live on $call_server_ip, Hangup command not inserted\n"; +# } +# } + if ( ($auto_dial_level > 0) and (strlen($CalLCID)>2) and (strlen($exten)>2) and ($secondS > 4)) + { + $stmt="SELECT count(*) FROM vicidial_auto_calls where channel='$channel' and callerid='$CalLCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + echo "Call $CalLCID $channel nie jest aktywna na $call_server_ip, Checking Live Kanał...\n"; + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel' and extension LIKE \"%$exten\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $channel_live=0; + echo "Kanał $channel nie jest aktywna na $call_server_ip, Hangup komenda nie wstawiona $rowx[0]\n$stmt\n"; + } + else + { + echo "$stmt\n"; + } + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Hangup','$queryCID','Channel: $channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Hangup komenda wysłana do Kanał $channel na $call_server_ip\n"; + } + } +} + + + +###################### +# ACTION=Redirect, RedirectName, RedirectNameVmail, RedirectToPark, RedirectFromPark, RedirectVD, RedirectXtra, RedirectXtraCX +# - insert Redirect Manager statement using extensions name +###################### +if ($ACTION=="RedirectVD") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($campaign)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($uniqueid)<2) or (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "Jedna z tych zmiennych nie jest prawidłowy:\n"; + echo "Kanał $channel musi mieć więcej niż 2 znaki\n"; + echo "queryCID $queryCID musi mieć więcje niż 14 znaków\n"; + echo "exten $exten musi być ustawiony\n"; + echo "ext_context $ext_context musi być ustawiony\n"; + echo "ext_priority $ext_priority musi być ustawiony\n"; + echo "auto_dial_level $auto_dial_level musi być ustawiony\n"; + echo "campaign $campaign musi być ustawiony\n"; + echo "uniqueid $uniqueid musi być ustawiony\n"; + echo "lead_id $lead_id musi być ustawiony\n"; + echo "\nRedirectVD Action nie wysłano\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where lead_id='$lead_id' order by start_epoch desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + if ($auto_dial_level < 1) + { + $stmt = "UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt = "DELETE from vicidial_auto_calls where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectToPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($parkedby)<1) ) + { + $channel_live=0; + echo "Jedna z tych zmiennych nie jest prawidłowy:\n"; + echo "Kanał $channel musi mieć więcej niż 2 znaki\n"; + echo "queryCID $queryCID musi mieć więcje niż 14 znaków\n"; + echo "exten $exten musi być ustawiony\n"; + echo "extenName $extenName musi być ustawiony\n"; + echo "ext_context $ext_context musi być ustawiony\n"; + echo "ext_priority $ext_priority musi być ustawiony\n"; + echo "parkedby $parkedby musi być ustawiony\n"; + echo "\nRedirectToPark Action nie wysłano\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "INSERT INTO parked_channels values('$channel','$server_ip','','$extenName','$parkedby','$NOW_TIME');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectFromPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Jedna z tych zmiennych nie jest prawidłowy:\n"; + echo "Kanał $channel musi mieć więcej niż 2 znaki\n"; + echo "queryCID $queryCID musi mieć więcje niż 14 znaków\n"; + echo "exten $exten musi być ustawiony\n"; + echo "ext_context $ext_context musi być ustawiony\n"; + echo "ext_priority $ext_priority musi być ustawiony\n"; + echo "\nRedirectFromPark Action nie wysłano\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "DELETE FROM parked_channels where server_ip='$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Jedna z tych zmiennych nie jest prawidłowy:\n"; + echo "Kanał $channel musi mieć więcej niż 2 znaki\n"; + echo "queryCID $queryCID musi mieć więcje niż 14 znaków\n"; + echo "extenName $extenName musi być ustawiony\n"; + echo "ext_context $ext_context musi być ustawiony\n"; + echo "ext_priority $ext_priority musi być ustawiony\n"; + echo "\nRedirectName Action nie wysłano\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Redirect"; + } + } +} + +if ($ACTION=="RedirectNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Jedna z tych zmiennych nie jest prawidłowy:\n"; + echo "Kanał $channel musi mieć więcej niż 2 znaki\n"; + echo "queryCID $queryCID musi mieć więcje niż 14 znaków\n"; + echo "extenName $extenName musi być ustawiony\n"; + echo "exten $exten musi być ustawiony\n"; + echo "ext_context $ext_context musi być ustawiony\n"; + echo "ext_priority $ext_priority musi być ustawiony\n"; + echo "\nRedirectNameVmail Action nie wysłano\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Redirect"; + } + } +} + +if ($ACTION=="RedirectXtraCX") +{ + $DBout=''; + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Jedna z tych zmiennych nie jest prawidłowy:\n"; + echo "Kanał $channel musi mieć więcej niż 2 znaki\n"; + echo "ExtraKanał $extrachannel musi mieć więcej niż 2 znaki\n"; + echo "queryCID $queryCID musi mieć więcje niż 14 znaków\n"; + echo "exten $exten musi być ustawiony\n"; + echo "ext_context $ext_context musi być ustawiony\n"; + echo "ext_priority $ext_priority musi być ustawiony\n"; + echo "\nRedirect Action nie wysłano\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Kanał $channel nie jest aktywna na $call_server_ip, Redirect komenda nie wstawiona\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel nie jest aktywna na $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Kanał $channel nie jest aktywna na $server_ip, Redirect komenda nie wstawiona\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel nie jest aktywna na $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + $stmt="SELECT count(*) FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $channel_liveY=0; + echo "No Local agent to send call to, Redirect komenda nie wstawiona\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + } + else + { + $stmt="SELECT server_ip,conf_exten,user FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $dest_server_ip = $rowx[0]; + $dest_session_id = $rowx[1]; + $dest_user = $rowx[2]; + $S='*'; + + $D_s_ip = explode('.', $dest_server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$dest_session_id$S$lead_id$S$dest_user$S$phone_code$S$phone_number$S$campaign$S"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','$queryCID','Channel: $extrachannel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtraCX komenda wysłana do Kanał $channel na $call_server_ip and \nHungup $extrachannel na $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel na $call_server_ip, Hungup $extrachannel na $server_ip";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel na $server_ip";} + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } +} + +if ($ACTION=="RedirectXtra") +{ + if ($channel=="$extrachannel") + {$ACTION="Redirect";} + else + { + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Jedna z tych zmiennych nie jest prawidłowy:\n"; + echo "Kanał $channel musi mieć więcej niż 2 znaki\n"; + echo "ExtraKanał $extrachannel musi mieć więcej niż 2 znaki\n"; + echo "queryCID $queryCID musi mieć więcje niż 14 znaków\n"; + echo "exten $exten musi być ustawiony\n"; + echo "ext_context $ext_context musi być ustawiony\n"; + echo "ext_priority $ext_priority musi być ustawiony\n"; + echo "\nRedirect Action nie wysłano\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if ($exten == "NEXTAVAILABLE") + { + $stmt="SELECT conf_exten FROM conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 3) + { + $stmt="UPDATE conferences set extension='$user' where server_ip='$server_ip' and conf_exten='$row[0]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $exten = $row[0]; + } + else + { + $channel_liveX=0; + echo "Nie mogę znaleźć wolnej konferencji na $server_ip, Redirect komenda nie wstawiona\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Nie mogę znaleźć wolnej konferencji na $server_ip";} + } + } + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Kanał $channel nie jest aktywna na $call_server_ip, Redirect komenda nie wstawiona\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel nie jest aktywna na $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Kanał $channel nie jest aktywna na $server_ip, Redirect komenda nie wstawiona\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel nie jest aktywna na $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + if ( ($server_ip=="$call_server_ip") or (strlen($call_server_ip)<7) ) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','ExtraChannel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra komenda wysłana do Kanał $channel and \nExtraKanał $extrachannel\n to $exten na $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten na $server_ip";} + } + else + { + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$exten"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra komenda wysłana do Kanał $channel na $call_server_ip and \nExtraKanał $extrachannel\n to $exten na $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } + } +} + + +if ($ACTION=="Redirect") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Jedna z tych zmiennych nie jest prawidłowy:\n"; + echo "Kanał $channel musi mieć więcej niż 2 znaki\n"; + echo "queryCID $queryCID musi mieć więcje niż 14 znaków\n"; + echo "exten $exten musi być ustawiony\n"; + echo "ext_context $ext_context musi być ustawiony\n"; + echo "ext_priority $ext_priority musi być ustawiony\n"; + echo "\nRedirect Action nie wysłano\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Kanał $channel nie jest aktywna na $server_ip, Redirect komenda nie wstawiona\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "Redirect komenda wysłana do Kanał $channel na $server_ip\n"; + } + } +} + + + +###################### +# ACTION=Monitor or Stop Monitor - insert Monitor/StopMonitor Manager statement to start recording on a channel +###################### +if ( ($ACTION=="Monitor") || ($ACTION=="StopMonitor") ) +{ + if ($ACTION=="StopMonitor") + {$SQLfile = "";} + else + {$SQLfile = "File: $filename";} + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Kanał $channel nie jest prawidłowy or queryCID $queryCID nie jest prawidłowy or filename: $filename nie jest prawidłowy, $ACTION komenda nie wstawiona\n"; + } + else + { + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Kanał $channel nie jest aktywna na $server_ip, $ACTION komenda nie wstawiona\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','$ACTION','$queryCID','Channel: $channel','$SQLfile','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + if ($ACTION=="Monitor") + { + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + } + else + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + } + echo "$ACTION komenda wysłana do Kanał $channel na $server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n"; + } + } +} + + + + + + +###################### +# ACTION=MonitorConf or StopMonitorConf - insert Monitor/StopMonitor Manager statement to start recording on a conference +###################### +if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<3) or (strlen($channel)<4) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Kanał $channel nie jest prawidłowy or exten $exten nie jest prawidłowy or filename: $filename nie jest prawidłowy, $ACTION komenda nie wstawiona\n"; + } + else + { + + if ($ACTION=="MonitorConf") + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$filename','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $filename','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + } + else + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + # find and hang up all recordings going na in this conference # and extension = '$exten' + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + # $rec_count = intval(mysql_num_rows($rslt) / 2); + $rec_count = mysql_num_rows($rslt); + $h=0; + while ($rec_count>$h) + { + $rowx=mysql_fetch_row($rslt); + $HUchannel[$h] = $rowx[0]; + $h++; + } + $i=0; + while ($h>$i) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$i','Channel: $HUchannel[$i]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $i++; + } + + } + echo "$ACTION komenda wysłana do Kanał $channel na $server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n NAGRYWANIE BĘDZIE TRWAĆ MAKSYMALNIE 60 MINUT\n"; + } +} + + + + + +###################### +# ACTION=VolumeControl - raise or lower the volume of a meetme participant +###################### +if ($ACTION=="VolumeControl") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($stage)<1) or (strlen($queryCID)<1) ) + { + echo "Konferencja $exten, Stage $stage nie jest prawidłowy or queryCID $queryCID nie jest prawidłowy, Originate komenda nie wstawiona\n"; + } + else + { + $participant_number='XXYYXXYYXXYYXX'; + if (eregi('UP',$stage)) {$vol_prefix='4';} + if (eregi('DOWN',$stage)) {$vol_prefix='3';} + if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} + if (eregi('MUTING',$stage)) {$vol_prefix='1';} + $local_DEF = 'Local/'; + $local_AMP = '@'; + $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $volume_local_channel','Context: $ext_context','Exten: 8300','Priority: 1','Callerid: $queryCID','','','','$channel','$exten');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Volume komenda wysłana do Konferencja $exten, Stage $stage Kanał $channel na $server_ip\n"; + } +} + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='debug') {echo "\n";} +if ($format=='debug') {echo "\n\n\n";} + +exit; + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/park_calls_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/park_calls_display.php new file mode 100644 index 00000000..ff697873 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/park_calls_display.php @@ -0,0 +1,146 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send the details on the parked calls on the server +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### + +# changes +# 50524-1515 - First build of script +# 50711-1208 - removed HTTP authentication in favor of user/pass vars +# 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($park_limit)) {$park_limit="1000";} + +$version = '0.0.4'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) ) + { + echo "Nieprawidłowy NazwaUżytkownika/Hasło: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { + echo "Nieprawidłowy server_ip: |$server_ip| or Nieprawidłowy session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nieprawidłowy session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Zawieszone rozmowy"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten nie jest prawidłowy lub protokół $protocol nie jest prawidłowy\n"; + exit; + } + else + { + ##### print parked calls from the parked_channels table + $stmt="SELECT * from parked_channels where server_ip = '$server_ip' order by parked_time limit $park_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $park_calls_count = mysql_num_rows($rslt); + echo "$park_calls_count\n"; + $loop_count=0; + while ($park_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0] ~$row[2] ~$row[3] ~$row[4] ~$row[5]|"; + } + echo "\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/vdc_db_query.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/vdc_db_query.php new file mode 100644 index 00000000..5c66d12a --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/vdc_db_query.php @@ -0,0 +1,2535 @@ + LICENSE: GPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('regCLOSER','manDiaLnextCALL','manDiaLskip','manDiaLonly','manDiaLlookCALL','manDiaLlogCALL','userLOGout','updateDISPO','VDADpause','VDADready','VDADcheckINCOMING','UpdatEFavoritEs','CalLBacKLisT','CalLBacKCounT','PauseCodeSubmit','LogiNCamPaigns') +# - $stage - ('start','finish','lookup','new') +# - $closer_choice - ('CL_TESTCAMP_L CL_OUT123_L -') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $campaign - ('testcamp',...) +# - $dial_timeout - ('60','26',...) +# - $dial_prefix - ('9','8',...) +# - $campaign_cid - ('3125551212','0000000000',...) +# - $MDnextCID - ('M06301413000000002',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('36524',...) +# - $list_id - ('101','123456',...) +# - $length_in_sec - ('12',...) +# - $phone_code - ('1',...) +# - $phone_number - ('3125551212',...) +# - $channel - ('Zap/12-1',...) +# - $start_epoch - ('1120236911',...) +# - $vendor_lead_code - ('1234test',...) +# - $title - ('Mr.',...) +# - $first_name - ('Bob',...) +# - $middle_initial - ('L',...) +# - $last_name - ('Wilson',...) +# - $address1 - ('1324 Main St.',...) +# - $address2 - ('Apt. 12',...) +# - $address3 - ('co Robert Wilson',...) +# - $city - ('Chicago',...) +# - $state - ('IL',...) +# - $province - ('NA',...) +# - $postal_code - ('60054',...) +# - $country_code - ('USA',...) +# - $gender - ('M',...) +# - $date_of_birth - ('1970-01-01',...) +# - $alt_phone - ('3125551213',...) +# - $email - ('bob@bob.com',...) +# - $security_phrase - ('Hello',...) +# - $comments - ('Good Customer',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $VDstop_rec_after_each_call - ('0','1') +# - $conf_silent_prefix - ('7','8','',...) +# - $extension - ('123','user123','25-1',...) +# - $protocol - ('Zap','SIP','IAX2',...) +# - $user_abb - ('1234','6666',...) +# - $preview - ('YES','NO',...) +# - $called_count - ('0','1','2',...) +# - $agent_log_id - ('123456',...) +# - $agent_log - ('NO',...) +# - $favorites_list - (",'cc160','cc100'",...) +# - $CallBackDatETimE - ('2006-04-21 14:30:00',...) +# - $recipient - ('ANYONE,'USERONLY') +# - $callback_id - ('12345','12346',...) +# - $use_internal_dnc - ('Y','N') +# - $omit_phone_code - ('Y','N') +# - $no_delete_sessions - ('0','1') + +# CHANGELOG: +# 50629-1044 - First build of script +# 50630-1422 - Added manual dial action and MD channel lookup +# 50701-1451 - Added dial log for start and end of vicidial calls +# 50705-1239 - Added call disposition update +# 50804-1627 - Fixed updateDispo to update vicidial_log entry +# 50816-1605 - Added VDADpause/ready for auto dialing +# 50816-1811 - Added basic autodial call pickup functions +# 50817-1005 - Altered logging functions to accomodate auto_dialing +# 50818-1305 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1411 - Added hangup of agent phone after Logout +# 50901-1315 - Fixed CLOSER IN-GROUP Web Form bug +# 50902-1507 - Fixed CLOSER log length_in_sec bug +# 50902-1730 - Added functions for manual preview dialing and revert +# 50913-1214 - Added agent random update to leadupdate +# 51020-1421 - Added agent_log_id framework for detailed agent activity logging +# 51021-1717 - Allows for multi-line comments (changes \n to !N in database) +# 51111-1046 - Added vicidial_agent_log lead_id earlier for manual dial +# 51121-1445 - Altered echo statements for several small PHP speed optimizations +# 51122-1328 - Fixed UserLogout issue not removing conference reservation +# 51129-1012 - Added ability to accept calls from other VICIDIAL servers +# 51129-1729 - Changed manual dial to use the '/n' flag for calls +# 51221-1154 - Added SCRIPT id lookup and sending to vicidial.php for display +# 60105-1059 - Added Updating of astguiclient favorites in the DB +# 60208-1617 - Added dtmf buttons output per call +# 60213-1521 - Added closer_campaigns update to vicidial_users +# 60215-1036 - Added Callback date-time entry into vicidial_callbacks table +# 60413-1541 - Added USERONLY Callback listings output - CalLBacKLisT +# - Added USERONLY Callback count output - CalLBacKCounT +# 60414-1140 - Added Callback lead lookup for manual dialing +# 60419-1517 - After CALLBK is sent to agent, update callback record to INACTIVE +# 60421-1419 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60427-1236 - Fixed closer_choice error for CLOSER campaigns +# 60609-1148 - Added ability to check for manual dial numbers in DNC +# 60619-1117 - Added variable filters to close security holes for login form +# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic +# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing +# 60821-1647 - Added ability to not delete sessions at logout +# 60906-1124 - Added lookup and sending of callback data for CALLBK calls +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70115-1733 - Added alt_dial functionality in auto-dial modes +# 70118-1501 - Added user_group to vicidial_log,_agent_log,_closer_log,_callbacks +# 70123-1357 - Fixed bug that would not update vicidial_closer_log status to dispo +# 70202-1438 - Added pause code submit function +# 70203-0930 - Added dialed_number to lead info output +# 70203-1030 - Added dialed_label to lead info output +# 70206-1126 - Added INBOUND status for inbound/closer calls in vicidial_live_agents +# 70212-1253 - Fixed small issue with CXFER +# 70213-1431 - Added QueueMetrics PAUSE/UNPAUSE/AGENTLOGIN/AGENTLOGOFF actions +# 70214-1231 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1210 - Added queuemetrics COMPLETEAGENT action +# 70216-1051 - Fixed double call complete queuemetrics logging +# 70222-1616 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70309-1034 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70319-1544 - Added agent disable update customer data function +# 70322-1545 - Added sipsak display ability +# 70413-1253 - Fixed bug for outbound call time in CLOSER-type blended campaigns +# 70424-1100 - Fixed bug for fronter/closer calls that would delete vdac records +# 70802-1729 - Fixed bugs with pause_sec and wait_sec under certain call handling +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71029-1855 - removed campaign_id naming restrictions for CLOSER-type campaigns +# 71030-2047 - added hopper priority for auto alt dial entries +# 71116-1011 - added calls_today count updating of the vicidial_live_agents upon INCALL +# 71120-1520 - added LogiNCamPaigns to show only allowed campaigns for agents upon login +# 71125-1751 - Added inbound-group default inbound group sending to vicidial.php +# 71129-2025 - restricted callbacks count and list to campaign only +# + +$version = '2.0.4-65'; +$build = '71129-2025'; + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["closer_choice"])) {$closer_choice=$_GET["closer_choice"];} + elseif (isset($_POST["closer_choice"])) {$closer_choice=$_POST["closer_choice"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["dial_timeout"])) {$dial_timeout=$_GET["dial_timeout"];} + elseif (isset($_POST["dial_timeout"])) {$dial_timeout=$_POST["dial_timeout"];} +if (isset($_GET["dial_prefix"])) {$dial_prefix=$_GET["dial_prefix"];} + elseif (isset($_POST["dial_prefix"])) {$dial_prefix=$_POST["dial_prefix"];} +if (isset($_GET["campaign_cid"])) {$campaign_cid=$_GET["campaign_cid"];} + elseif (isset($_POST["campaign_cid"])) {$campaign_cid=$_POST["campaign_cid"];} +if (isset($_GET["MDnextCID"])) {$MDnextCID=$_GET["MDnextCID"];} + elseif (isset($_POST["MDnextCID"])) {$MDnextCID=$_POST["MDnextCID"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["length_in_sec"])) {$length_in_sec=$_GET["length_in_sec"];} + elseif (isset($_POST["length_in_sec"])) {$length_in_sec=$_POST["length_in_sec"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["start_epoch"])) {$start_epoch=$_GET["start_epoch"];} + elseif (isset($_POST["start_epoch"])) {$start_epoch=$_POST["start_epoch"];} +if (isset($_GET["dispo_choice"])) {$dispo_choice=$_GET["dispo_choice"];} + elseif (isset($_POST["dispo_choice"])) {$dispo_choice=$_POST["dispo_choice"];} +if (isset($_GET["vendor_lead_code"])) {$vendor_lead_code=$_GET["vendor_lead_code"];} + elseif (isset($_POST["vendor_lead_code"])) {$vendor_lead_code=$_POST["vendor_lead_code"];} +if (isset($_GET["title"])) {$title=$_GET["title"];} + elseif (isset($_POST["title"])) {$title=$_POST["title"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["middle_initial"])) {$middle_initial=$_GET["middle_initial"];} + elseif (isset($_POST["middle_initial"])) {$middle_initial=$_POST["middle_initial"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["gender"])) {$gender=$_GET["gender"];} + elseif (isset($_POST["gender"])) {$gender=$_POST["gender"];} +if (isset($_GET["date_of_birth"])) {$date_of_birth=$_GET["date_of_birth"];} + elseif (isset($_POST["date_of_birth"])) {$date_of_birth=$_POST["date_of_birth"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["security_phrase"])) {$security_phrase=$_GET["security_phrase"];} + elseif (isset($_POST["security_phrase"])) {$security_phrase=$_POST["security_phrase"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_GET["VDstop_rec_after_each_call"];} + elseif (isset($_POST["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_POST["VDstop_rec_after_each_call"];} +if (isset($_GET["conf_silent_prefix"])) {$conf_silent_prefix=$_GET["conf_silent_prefix"];} + elseif (isset($_POST["conf_silent_prefix"])) {$conf_silent_prefix=$_POST["conf_silent_prefix"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["user_abb"])) {$user_abb=$_GET["user_abb"];} + elseif (isset($_POST["user_abb"])) {$user_abb=$_POST["user_abb"];} +if (isset($_GET["preview"])) {$preview=$_GET["preview"];} + elseif (isset($_POST["preview"])) {$preview=$_POST["preview"];} +if (isset($_GET["called_count"])) {$called_count=$_GET["called_count"];} + elseif (isset($_POST["called_count"])) {$called_count=$_POST["called_count"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["agent_log"])) {$agent_log=$_GET["agent_log"];} + elseif (isset($_POST["agent_log"])) {$agent_log=$_POST["agent_log"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} +if (isset($_GET["CallBackDatETimE"])) {$CallBackDatETimE=$_GET["CallBackDatETimE"];} + elseif (isset($_POST["CallBackDatETimE"])) {$CallBackDatETimE=$_POST["CallBackDatETimE"];} +if (isset($_GET["recipient"])) {$recipient=$_GET["recipient"];} + elseif (isset($_POST["recipient"])) {$recipient=$_POST["recipient"];} +if (isset($_GET["callback_id"])) {$callback_id=$_GET["callback_id"];} + elseif (isset($_POST["callback_id"])) {$callback_id=$_POST["callback_id"];} +if (isset($_GET["use_internal_dnc"])) {$use_internal_dnc=$_GET["use_internal_dnc"];} + elseif (isset($_POST["use_internal_dnc"])) {$use_internal_dnc=$_POST["use_internal_dnc"];} +if (isset($_GET["omit_phone_code"])) {$omit_phone_code=$_GET["omit_phone_code"];} + elseif (isset($_POST["omit_phone_code"])) {$omit_phone_code=$_POST["omit_phone_code"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} + + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); +$phone_code = ereg_replace("[^0-9]","",$phone_code); +$phone_number = ereg_replace("[^0-9]","",$phone_number); + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} + +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$MT[0]=''; +$agents='@agents'; + +if ($ACTION == 'LogiNCamPaigns') + { + $skip_user_validation=1; + } +else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Nieprawidłowy NazwaUżytkownika/Hasło: |$user|$pass|\n"; + exit; + } + else + { + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Nieprawidłowy server_ip: |$server_ip| or Nieprawidłowy session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nieprawidłowy session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } +} + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDiaL Skrypt zapytań do bazy danych"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + +################################################################################ +### LogiNCamPaigns - generates an HTML SELECT list of allowed campaigns for a +### specific agent on the login screen +################################################################################ +if ($ACTION == 'LogiNCamPaigns') +{ + if ( (strlen($user)<1) ) + { + echo "\n"; + exit; + } + else + { + echo "\n"; + exit; + } +} + + + +################################################################################ +### regCLOSER - update the vicidial_live_agents table to reflect the closer +### inbound choices made upon login +################################################################################ +if ($ACTION == 'regCLOSER') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($closer_choice)<1) || (strlen($user)<1) ) + { + $channel_live=0; + echo "Wybór grupowy $closer_choice nie jest prawidłowy\n"; + exit; + } + else + { + if ($closer_choice == "MGRLOCK-") + { + $stmt="SELECT closer_campaigns FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $closer_choice =$row[0]; + + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_users set closer_campaigns='$closer_choice' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $in_groups_pre = preg_replace('/-$/','',$closer_choice); + $in_groups = explode(" ",$in_groups_pre); + $in_groups_ct = count($in_groups); + $k=1; + while ($k < $in_groups_ct) + { + if (strlen($in_groups[$k])>1) + { + $stmt="SELECT group_weight,calls_today FROM vicidial_inbound_group_agents where user='$user' and group_id='$in_groups[$k]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $viga_ct = mysql_num_rows($rslt); + if ($viga_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_weight = $row[0]; + $calls_today = $row[1]; + } + else + { + $group_weight = 0; + $calls_today = 0; + } + $stmt="INSERT INTO vicidial_live_inbound_agents set user='$user',group_id='$in_groups[$k]',group_weight='$group_weight',calls_today='$calls_today',last_call_time='$NOW_TIME',last_call_finish='$NOW_TIME';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + $k++; + } + + } + echo "Closer In Wybór grupowy $closer_choice został zarejestrowny dla użytkownika $user\n"; +} + + +################################################################################ +### manDiaLnextCALL - for manual VICIDiaL dialing this will grab the next lead +### in the campaign, reserve it, send data back to client and +### place the call by inserting into vicidial_manager +################################################################################ +if ($ACTION == 'manDiaLnextCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "Zasobnik pusty\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context nie jest prawidłowy\n"; + exit; + } + else + { + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### check if this is a callback, if it is, skip the grabbing of a new lead and mark the callback as INACTIVE + if ( (strlen($callback_id)>0) and (strlen($lead_id)>0) ) + { + $affected_rows=1; + $CBleadIDset=1; + + $stmt = "UPDATE vicidial_callbacks set status='INACTIVE' where callback_id='$callback_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + if (strlen($phone_number)>3) + { + if ($use_internal_dnc=='Y') + { + $stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + echo "DNC NUMER\n"; + exit; + } + } + if ($stage=='lookup') + { + $stmt="SELECT lead_id FROM vicidial_list where phone_number='$phone_number' order by modify_date desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $man_leadID_ct = mysql_num_rows($rslt); + if ($man_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $affected_rows=1; + $lead_id =$row[0]; + $CBleadIDset=1; + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### grab the next lead in the hopper for this campaign and reserve it for the user + $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by hopper_id LIMIT 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + } + + if ($affected_rows > 0) + { + if (!$CBleadIDset) + { + ##### grab the lead_id of the reserved user in vicidial_hopper + $stmt="SELECT lead_id FROM vicidial_hopper where campaign_id='$campaign' and status='QUEUE' and user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $hopper_leadID_ct = mysql_num_rows($rslt); + if ($hopper_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + } + } + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = trim("$row[29]"); + $called_count = trim("$row[30]"); + } + + $called_count++; + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M\n"); + fclose($fp); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='Y', called_count='$called_count',user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + if (!$CBleadIDset) + { + ### delete the lead from the hopper + $stmt = "DELETE FROM vicidial_hopper where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id',comments='MANUAL' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + ### if preview dialing, do not send the call + if ( (strlen($preview)<1) || ($preview == 'NO') ) + { + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + $Local_persist = '/n'; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update calls_today count in vicidial_campaign_agents + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $MqueryCID . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= "MAIN\n"; + $LeaD_InfO .= $source_id . "\n"; + + echo $LeaD_InfO; + + } + else + { + echo "Zasobnik pusty\n"; + } + } +} + + +################################################################################ +### manDiaLskip - for manual VICIDiaL dialing this skips the lead that was +### previewed in the step above and puts it back in orig status +################################################################################ +if ($ACTION == 'manDiaLskip') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($stage)<1) || (strlen($called_count)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "LEAD NOT REVERTED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context nie jest prawidłowy\n"; + exit; + } + else + { + $called_count = ($called_count - 1); + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='$stage', called_count='$called_count',user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + + echo "LEAD REVERTED\n"; + } +} + + +################################################################################ +### manDiaLonly - for manual VICIDiaL dialing this sends the call that was +### previewed in the step above +################################################################################ +if ($ACTION == 'manDiaLonly') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) || (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo " Rozmowa NOT PLACED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context nie jest prawidłowy\n"; + exit; + } + else + { + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + $Local_persist = '/n'; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + echo "$MqueryCID\n"; + } +} + + +################################################################################ +### manDiaLlookCALL - for manual VICIDiaL dialing this will attempt to look up +### the trunk channel that the call was placed on +################################################################################ +if ($ACTION == 'manDiaLlookCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; +if (strlen($MDnextCID)<18) + { + echo "NO\n"; + echo "MDnextCID $MDnextCID nie jest prawidłowy\n"; + exit; + } +else + { + ##### look for the channel in the UPDATED vicidial_manager record of the call initiation + $stmt="SELECT uniqueid,channel FROM vicidial_manager where callerid='$MDnextCID' and server_ip='$server_ip' and status='UPDATED' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid =$row[0]; + $channel =$row[1]; + echo "$uniqueid\n$channel"; + + $wait_sec=0; + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',wait_epoch='$StarTtime',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + echo "NO\n"; + } + } +} + + + +################################################################################ +### manDiaLlogCALL - for manual VICIDiaL logging of calls places record in +### vicidial_log and then sends process to call_log entry +################################################################################ +if ($ACTION == 'manDiaLlogCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + +if ($stage == "start") + { + if ( (strlen($uniqueid)<1) || (strlen($lead_id)<1) || (strlen($list_id)<1) || (strlen($phone_number)<1) || (strlen($campaign)<1) ) + { + echo "Dziennik nie zapisany\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id or list_id: $list_id or phone_number: $phone_number or campaign: $campaign nie jest prawidłowy\n"; + exit; + } + else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### insert log into vicidial_log for manual VICIDiaL call + $stmt="INSERT INTO vicidial_log (uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,comments,processed,user_group) values('$uniqueid','$lead_id','$list_id','$campaign','$NOW_TIME','$StarTtime','INCALL','$phone_code','$phone_number','$user','MANUAL','N','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "VICIDiaL_LOG Wstawiony: $uniqueid|$channel|$NOW_TIME\n"; + echo "$StarTtime\n"; + } + else + { + echo "Dziennik nie zapisany\n"; + } + + $stmt = "UPDATE vicidial_auto_calls SET uniqueid='$uniqueid' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + # ##### insert log into call_log for manual VICIDiaL call + # $stmt = "INSERT INTO call_log (uniqueid,channel,server_ip,extension,number_dialed,caller_code,start_time,start_epoch) values('$uniqueid','$channel','$server_ip','$exten','$phone_code$phone_number','MD $user $lead_id','$NOW_TIME','$StarTtime')"; + # if ($DB) {echo "$stmt\n";} + # $rslt=mysql_query($stmt, $link); + # $affected_rows = mysql_affected_rows($link); + + # if ($affected_rows > 0) + # { + # echo "CALL_LOG Wstawiony: $uniqueid|$channel|$NOW_TIME"; + # } + # else + # { + # echo "Dziennik nie zapisany\n"; + # } + } + } + +if ($stage == "end") + { + if ( (strlen($uniqueid)<1) || (strlen($lead_id)<1) ) + { + echo "Dziennik nie zapisany\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id nie jest prawidłowy\n"; + exit; + } + else + { + if ($start_epoch < 1000) + { + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ##### look for the start epoch in the vicidial_closer_log table + $stmt="SELECT start_epoch FROM vicidial_closer_log where phone_number='$phone_number' and lead_id='$lead_id' and user='$user' order by closecallid desc limit 1;"; + } + else + { + ##### look for the start epoch in the vicidial_log table + $stmt="SELECT start_epoch FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';"; + } + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch =$row[0]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($length_in_sec < 1) and ($row[0] > 0) ) + { + ##### start epoch in the vicidial_log table, couldn't find one in vicidial_closer_log + $stmt="SELECT start_epoch FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch =$row[0]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + } + } + else {$length_in_sec = ($StarTtime - $start_epoch);} + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec',status='DONE' where lead_id='$lead_id' order by start_epoch desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ($auto_dial_level > 0) + { + ### check to see if campaign has alt_dial enabled + $stmt="SELECT auto_alt_dial FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_alt_dial =$row[0]; + } + else {$auto_alt_dial = 'NONE';} + if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3)",$auto_alt_dial)) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT alt_dial FROM vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_dial =$row[0]; + } + else {$alt_dial = 'NONE';} + + if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3)",$auto_alt_dial)) ) + { + $stmt="SELECT alt_phone,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_phone = $row[0]; + $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$alt_phone = '';} + if (strlen($alt_phone)>5) + { + ### insert record into vicidial_hopper for alt_phone call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ALT',user='',priority='25';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + } + if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + { + $stmt="SELECT address3,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $address3 = $row[0]; + $address3 = eregi_replace("[^0-9]","",$address3); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$address3 = '';} + if (strlen($address3)>5) + { + ### insert record into vicidial_hopper for address3 call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ADDR3',user='',priority='20';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + + if ($enable_queuemetrics_logging > 0) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/.*-/",'',$CLstage); + if (strlen($CLstage) < 1) {$CLstage=0;} + + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt="SELECT count(*) from queue_log where call_id='$MDnextCID' and verb='COMPLETECALLER';"; + $rslt=mysql_query($stmt, $linkB); + if ($DB) {echo "$stmt\n";} + $VAC_cc_ct = mysql_num_rows($rslt); + if ($VAC_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $caller_complete = $row[0]; + } + + if ($caller_complete < 1) + { + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + } + mysql_close($linkB); + } + + ### delete call record from vicidial_auto_calls + $stmt = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',lead_id='',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='PRZERWAALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } + else + { + if ($enable_queuemetrics_logging > 0) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/XFER|-/",'',$CLstage); + if ($CLstage < 0.25) {$CLstage=0;} + + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + $stmt = "DELETE from vicidial_auto_calls lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',lead_id='',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='PRZERWAALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } + + ##### look for the channel in the UPDATED vicidial_manager record of the call initiation + $stmt="UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec' where uniqueid='$uniqueid' and lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "$uniqueid\n$channel\n"; + } + else + { + echo "Dziennik nie zapisany\n\n"; + } + } + + echo $VDstop_rec_after_each_call . '|' . $extension . '|' . $conf_silent_prefix . '|' . $conf_exten . '|' . $user_abb . "|\n"; + + ##### if VICIDiaL call and hangup_after_each_call activated, find all recording + ##### channels and hang them up while entering info into recording_log and + ##### returning filename/recordingID + if ($VDstop_rec_after_each_call == 1) + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $total_rec=0; + $loop_count=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten' order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$rec_list = mysql_num_rows($rslt);} + while ($rec_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/Local\/$conf_silent_prefix$conf_exten\@/i",$row[0])) + { + $rec_channels[$total_rec] = "$row[0]"; + $total_rec++; + } + if ($format=='debug') {echo "\n";} + $loop_count++; + } + + $total_recFN=0; + $loop_count=0; + $filename=$MT; # not necessary : and cmd_line_f LIKE \"%_$user_abb\" + $stmt="SELECT cmd_line_f FROM vicidial_manager where server_ip='$server_ip' and action='Originate' and cmd_line_b = 'Channel: $local_DEF$conf_silent_prefix$conf_exten$local_AMP$ext_context' order by entry_date desc limit $total_rec;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$recFN_list = mysql_num_rows($rslt);} + while ($recFN_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + $filename[$total_recFN] = preg_replace("/Callerid: /i","",$row[0]); + if ($format=='debug') {echo "\n";} + $total_recFN++; + $loop_count++; + } + + $loop_count=0; + while($loop_count < $total_rec) + { + if (strlen($rec_channels[$loop_count])>5) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$loop_count','Channel: $rec_channels[$loop_count]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "REC_STOP|$rec_channels[$loop_count]|$filename[$loop_count]|"; + if (strlen($filename)>2) + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename[$loop_count]'"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$fn_count = mysql_num_rows($rslt);} + if ($fn_count) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt="UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename[$loop_count]' and end_epoch is NULL;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "$recording_id|$length_in_min|"; + } + else {echo "||";} + } + else {echo "||";} + echo "\n"; + } + $loop_count++; + } + } + + + $talk_sec=0; + $StarTtime = date("U"); + $stmt = "select talk_epoch,talk_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $talk_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set talk_sec='$talk_sec',talk_epoch='$StarTtime',dispo_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } +} + + +################################################################################ +### VDADREcheckINCOMING - for auto-dial VICIDiaL dialing this will recheck for +### calls to see if the channel has updated +################################################################################ +if ($ACTION == 'VDADREcheckINCOMING') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Kampania $campaign nie jest prawidłowy\n"; + echo "lead_id $lead_id nie jest prawidłowy\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + } + } +} + + +################################################################################ +### VDADcheckINCOMING - for auto-dial VICIDiaL dialing this will check for calls +### in the vicidial_live_agents table in QUEUE status, then +### lookup the lead info and pass it back to vicidial.php +################################################################################ +if ($ACTION == 'VDADcheckINCOMING') +{ + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Kampania $campaign nie jest prawidłowy\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and status='QUEUE';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',comments='AUTO',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = trim("$row[29]"); + $called_count = trim("$row[30]"); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + $stmt = "UPDATE vicidial_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select campaign_id,phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group =$row[0]; + $dialed_number =$row[1]; + $dialed_label =$row[2]; + } + else + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|\n"); + fclose($fp); + } + } + + $stmt = "select count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + + $stmt = "select * from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[1]; + $VDCL_group_color = $row[2]; + $VDCL_group_web = $row[4]; + $VDCL_fronter_display = $row[7]; + $VDCL_ingroup_script = $row[8]; + $VDCL_get_call_launch = $row[9]; + $VDCL_xferconf_a_dtmf = $row[10]; + $VDCL_xferconf_a_number = $row[11]; + $VDCL_xferconf_b_dtmf = $row[12]; + $VDCL_xferconf_b_number = $row[13]; + $VDCL_default_xfer_group= $row[28]; + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set comments='INBOUND' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $Ctype = 'I'; + } + else + { + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + } + } + + ### if web form is set then send na to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|\n";} + else {echo "|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + } + else + { + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_campaign_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + } + echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|\n|\n"; + + $stmt = "select phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dialed_number =$row[0]; + $dialed_label =$row[1]; + } + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + ### If RozmowaBK, change vicidial_callback record to INACTIVE + if (eregi("CALLBK|CBHOLD", $dispo)) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype\n"); + fclose($fp); + } + + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user na $server_ip\n"; + exit; + } + } +} + + +################################################################################ +### userLOGout - Logs the user out of VICIDiaL client, deleting db records and +### inserting into vicidial_user_log +################################################################################ +if ($ACTION == 'userLOGout') +{ + $MT[0]=''; + $row=''; $rowx=''; +if ( (strlen($campaign)<1) || (strlen($conf_exten)<1) ) + { + echo "NO\n"; + echo "campaign $campaign or conf_exten $conf_exten nie jest prawidłowy\n"; + exit; + } +else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### Insert a WYLOGUJ record into the user log + $stmt="INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$user','WYLOGUJ','$campaign','$NOW_TIME','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vul_insert = mysql_affected_rows($link); + + if ($no_delete_sessions < 1) + { + ##### Remove the reservation na the vicidial_conferences meetme room + $stmt="UPDATE vicidial_conferences set extension='' where server_ip='$server_ip' and conf_exten='$conf_exten';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vc_remove = mysql_affected_rows($link); + } + + ##### Delete the vicidial_live_agents record for this session + $stmt="DELETE from vicidial_live_agents where server_ip='$server_ip' and user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vla_delete = mysql_affected_rows($link); + + ##### Delete the vicidial_live_inbound_agents records for this session + $stmt="DELETE from vicidial_live_inbound_agents where user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vlia_delete = mysql_affected_rows($link); + + ##### Delete the web_client_sessions + $stmt="DELETE from web_client_sessions where server_ip='$server_ip' and session_name ='$session_name';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $wcs_delete = mysql_affected_rows($link); + + ##### Hangup the client phone + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$extension%\" order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) + { + $row=mysql_fetch_row($rslt); + $agent_channel = "$row[0]"; + if ($format=='debug') {echo "\n";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','ULGH3459$StarTtime','Channel: $agent_channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) + { + $row=mysql_fetch_row($rslt); + $pause_sec = (($StarTtime - $row[0]) + $row[1]); + + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + if ($vla_delete > 0) + { + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_message = 'LOGGED OUT'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='PRZERWA',serverid='1';"; + # if ($DB) {echo "$stmt\n";} + # if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + # $rslt=mysql_query($stmt, $linkB); + # $affected_rows = mysql_affected_rows($linkB); + + $stmt = "SELECT time_id FROM queue_log where agent='Agent/$user' and verb='AGENTLOGIN' order by time_id desc limit 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + if ($DB) {echo "$stmt\n";} + echo "$stmt\n"; + $li_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $li_conf_ct) + { + $row=mysql_fetch_row($rslt); + $logintime = $row[0]; + $i++; + } + + $time_logged_in = ($StarTtime - $logintime); + if ($time_logged_in > 1000000) {$time_logged_in=1;} + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='AGENTLOGOFF',data1='$user$agents',data2='$time_logged_in',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + echo "$vul_insert|$vc_remove|$vla_delete|$wcs_delete|$agent_channel|$vlia_delete\n"; + } +} + + +################################################################################ +### updateDISPO - update the vicidial_list table to reflect the agent choice of +### call disposition for that leand +################################################################################ +if ($ACTION == 'updateDISPO') +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($dispo_choice)<1) || (strlen($lead_id)<1) ) + { + echo "Dispo Choice $dispo or lead_id $lead_id nie jest prawidłowy\n"; + exit; + } + else + { + $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by uniqueid desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + if ( ($use_internal_dnc=='Y') and ($dispo_choice=='DNC') ) + { + $stmt = "select phone_number from vicidial_list where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $stmt="INSERT INTO vicidial_dnc (phone_number) values('$row[0]');"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + } + } + + $dispo_sec=0; + $StarTtime = date("U"); + $stmt = "select dispo_epoch,dispo_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dispo_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set dispo_sec='$dispo_sec',dispo_epoch='$StarTtime',status='$dispo_choice' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group) values('$user','$server_ip','$NOW_TIME','$campaign','$StarTtime','0','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + + ### RozmowaBACK ENTRY + if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) + { + $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$row[0])) ) + { + $stmt = "select count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE vicidial_hopper set status='READY' where lead_id='$lead_id' and status='HOLD' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + $stmt="DELETE from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='CALLSTATUS',data1='$dispo_choice',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + echo 'Lead ' . $lead_id . ' zmieniono na ' . $dispo_choice . " Status\nNext agent_log_id:\n" . $agent_log_id . "\n"; +} + +################################################################################ +### updateLEAD - update the vicidial_list table to reflect the values that are +### in the agents screen at time of call hangup +################################################################################ +if ($ACTION == 'updateLEAD') +{ + $MT[0]=''; + $row=''; $rowx=''; + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + if ( (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + echo "phone_number $phone_number or lead_id $lead_id nie jest prawidłowy\n"; + exit; + } + else + { + + $stmt = "SELECT disable_alter_custdata FROM vicidial_campaigns where campaign_id='$campaign'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $dac_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $dac_conf_ct) + { + $row=mysql_fetch_row($rslt); + $disable_alter_custdata = $row[0]; + $i++; + } + if (ereg('Y',$disable_alter_custdata)) + { + $DO_NOT_UPDATE=1; + $DO_NOT_UPDATE_text=' NOT'; + $stmt = "SELECT alter_custdata_override FROM vicidial_users where user='$user'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $aco_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $aco_conf_ct) + { + $row=mysql_fetch_row($rslt); + $alter_custdata_override = $row[0]; + $i++; + } + if (ereg('ALLOW_ALTER',$alter_custdata_override)) + { + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + } + } + + if ($DO_NOT_UPDATE < 1) + { + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + $comments = eregi_replace("--AMP--",'&',$comments); + $comments = eregi_replace("--QUES--",'?',$comments); + $comments = eregi_replace("--POUND--",'#',$comments); + + $stmt="UPDATE vicidial_list set vendor_lead_code='" . mysql_real_escape_string($vendor_lead_code) . "', title='" . mysql_real_escape_string($title) . "', first_name='" . mysql_real_escape_string($first_name) . "', middle_initial='" . mysql_real_escape_string($middle_initial) . "', last_name='" . mysql_real_escape_string($last_name) . "', address1='" . mysql_real_escape_string($address1) . "', address2='" . mysql_real_escape_string($address2) . "', address3='" . mysql_real_escape_string($address3) . "', city='" . mysql_real_escape_string($city) . "', state='" . mysql_real_escape_string($state) . "', province='" . mysql_real_escape_string($province) . "', postal_code='" . mysql_real_escape_string($postal_code) . "', country_code='" . mysql_real_escape_string($country_code) . "', gender='" . mysql_real_escape_string($gender) . "', date_of_birth='" . mysql_real_escape_string($date_of_birth) . "', alt_phone='" . mysql_real_escape_string($alt_phone) . "', email='" . mysql_real_escape_string($email) . "', security_phrase='" . mysql_real_escape_string($security_phrase) . "', comments='" . mysql_real_escape_string($comments) . "' where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } + echo "Lead $lead_id information has$DO_NOT_UPDATE_text been updated\n"; +} + + +################################################################################ +### VDADpause - update the vicidial_live_agents table to show that the agent is +### or ready now active and ready to take calls +################################################################################ +if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($stage)<2) || (strlen($server_ip)<1) ) + { + echo "stage $stage nie jest prawidłowy\n"; + exit; + } + else + { + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set lead_id='',uniqueid=0,callerid='',channel='', random_id='$random',comments='' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_live_agents set status='$stage' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + if (ereg('READY',$stage)) {$QMstatus='UNPAUSEALL';} + if (ereg('PRZERWA',$stage)) {$QMstatus='PRZERWAALL';} + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='$QMstatus',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + if ($agent_log == 'NO') + {$donothing=1;} + else + { + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,wait_sec,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec=0; + if ($row[2] > 0) + { + $wait_sec = (($StarTtime - $row[2]) + $row[3]); + } + if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} + else + {$pause_sec = (($row[4] - $row[0]) + $row[1]);} + + } + if ($ACTION == 'VDADready') + { + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + if ($ACTION == 'VDADpause') + { + $stmt="UPDATE vicidial_agent_log set pause_epoch='$StarTtime',wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + echo 'Agent ' . $user . ' ma statusie ' . $stage . "\n"; +} + + +################################################################################ +### UpdatEFavoritEs - update the astguiclient favorites list for this extension +################################################################################ +if ($ACTION == 'UpdatEFavoritEs') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($favorites_list)<1) || (strlen($user)<1) || (strlen($exten)<1) ) + { + echo "favorites list $favorites_list nie jest prawidłowy\n"; + exit; + } + else + { + $stmt = "select count(*) from phone_favorites where extension='$exten' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE phone_favorites set extensions_list=\"$favorites_list\" where extension='$exten' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO phone_favorites values('$exten','$server_ip',\"$favorites_list\");"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + echo "Favorites list has been updated to $favorites_list for $exten\n"; +} + + +################################################################################ +### PauseCodeSubmit - Update vicidial_agent_log with pause code +################################################################################ +if ($ACTION == 'PrzerwaCodeSubmit') +{ + $row=''; $rowx=''; + if ( (strlen($status)<1) || (strlen($agent_log_id)<1) ) + { + echo "agent_log_id $agent_log_id or pause_code $status nie jest prawidłowy\n"; + exit; + } + else + { + $stmt="UPDATE vicidial_agent_log set sub_status=\"$status\" where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'BK-'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='PRZERWAREASON',serverid='$queuemetrics_log_id',data1='$status';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } +echo "Przerwa Code has been updated to $status for $agent_log_id\n"; +} + + +################################################################################ +### CalLBacKLisT - List the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKLisT') +{ +$stmt = "select callback_id,lead_id,campaign_id,status,entry_time,callback_time,comments from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD') order by callback_time;"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); +if ($rslt) {$callbacks_count = mysql_num_rows($rslt);} +echo "$callbacks_count\n"; +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $row=mysql_fetch_row($rslt); + $callback_id[$loop_count] = $row[0]; + $lead_id[$loop_count] = $row[1]; + $campaign_id[$loop_count] = $row[2]; + $status[$loop_count] = $row[3]; + $entry_time[$loop_count] = $row[4]; + $callback_time[$loop_count] = $row[5]; + $comments[$loop_count] = $row[6]; + $loop_count++; + } +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $stmt = "select first_name,last_name,phone_number from vicidial_list where lead_id='$lead_id[$loop_count]';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + echo "$row[0] ~$row[1] ~$row[2] ~$callback_id[$loop_count] ~$lead_id[$loop_count] ~$campaign_id[$loop_count] ~$status[$loop_count] ~$entry_time[$loop_count] ~$callback_time[$loop_count] ~$comments[$loop_count]\n"; + $loop_count++; + } + +} + + +################################################################################ +### CalLBacKCounT - send the count of the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKCounT') +{ +$stmt = "select count(*) from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD');"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$cbcount=$row[0]; + +echo "$cbcount"; +} + + + + +if ($format=='debug') +{ +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +echo "\n"; +echo "\n\n\n"; +} + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/vicidial.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/vicidial.php new file mode 100644 index 00000000..82d9ef8d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/vicidial.php @@ -0,0 +1,6797 @@ + LICENSE: GPLv2 +# +# make sure you have added a user to the vicidial_users MySQL table with at least +# user_level 1 or greater to access this page. Also, you need to have the login +# and pass of a phone listed in the asterisk.phones table. The page grabs the +# server info and other details from this login and pass. +# +# This script works best with Firefox or Mozilla, but will run for a couple +# hours on Internet Explorer before the memory leaks cause a crash. +# +# Other scripts that this application depends on: +# - vdc_db_query.php: Updates information in the database +# - manager_send.php: Sends manager actions to the DB for execution +# +# CHANGELOG +# 50607-1426 - First Build of VICIDIAL web client basic login process finished +# 50628-1620 - Added some basic formatting and worked on process flow +# 50628-1715 - Startup variables mapped to javascript variables +# 50629-1303 - Added Login Closer in-groups selection box and vla update +# 50629-1530 - Rough layout for customer info form section and button links +# 50630-1453 - Rough Manual Dial/Hangup with customer info displayed +# 50701-1450 - Added vicidial_log entries on dial and hangup +# 50701-1634 - Added Logout function +# 50705-1259 - Added call disposition functionality +# 50705-1432 - Added lead info DB update function +# 50705-1658 - Added web form functionality +# 50706-1043 - Added call park and pickup functions +# 50706-1234 - Added Start/Stop Recording functionality +# 50706-1614 - Added conference channels display option +# 50711-1333 - Removed call check redundancy and fixed a span bug +# 50727-1424 - Added customer channel and participant present sensing/alerts +# 50804-1057 - Added SendDTMF function and reconfigured the transfer span +# 50804-1224 - Added Local and Internal Closer transfer functions +# 50804-1628 - Added Blind transfer, activated LIVE CALL image and fixed bugs +# 50804-1808 - Added button images for left buttons +# 50815-1151 - Added 3Way calling functions to Transfer-conf frame +# 50815-1602 - Added images and buttons for xfer functions +# 50816-1813 - Added basic autodial outbound call pickup functions +# 50817-1113 - Fixes to auto_dialing call receipt +# 50817-1234 - Added inbound call receipt capability +# 50817-1541 - Added customer time display +# 50817-1541 - Added customer time display +# 50818-1327 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1703 - Added pretty login section +# 50825-1200 - Modified form field lengths, added double-click dispositions +# 50831-1603 - Fixed customer time bug and fronter display bug for CLOSER +# 50901-1314 - Fixed CLOSER IN-GROUP Web Form bug +# 50903-0904 - Added preview-lead code for manual dialing +# 50904-0016 - Added ability to hangup manual dials before pickup +# 50906-1319 - Added override for filters on xfer calls, fixed login display bug +# 50909-1243 - Added hotkeys functionality for quick dispoing in auto-dial mode +# 50912-0958 - Modified hotkeys function, agent must have user_level >= 5 to use +# 50913-1212 - Added campaign_cid to 3rd party calls +# 50923-1546 - Modified to work with language translation +# 50926-1656 - Added campaign pull-down at login of active campaigns +# 50928-1633 - Added manual dial alternate number dial option +# 50930-1538 - Added session_id empty login failure and fixed 2 minor bugs +# 51004-1656 - Fixed recording filename bug and new Spanish translation +# 51020-1103 - Added campaign-specific recording control abilities +# 51020-1352 - Added Basic vicidial_agent_log framework +# 51021-1050 - Fixed custtime display and disable Enter/Return keypresses +# 51021-1718 - Allows for multi-line comments (changes \n to !N in database) +# 51110-1432 - Fixed non-standard http port issue +# 51111-1047 - Added vicidial_agent_log lead_id earlier for manual dial +# 51118-1305 - Activate multi-line comments from $multi_line_comments var +# 51118-1313 - Move Transfer DIV to a floating span to preserve 800x600 view +# 51121-1506 - Small PHP optimizations in many scripts and disabled globalize +# 51129-1010 - Added ability to accept calls from other VICIDIAL servers +# 51129-1254 - Fixed Hangups of other agents channels when customer hangs up +# 51208-1732 - Created user-first login that looks for default phone info +# 51219-1526 - Added variable framework for campaign and in-group scripts +# 51221-1200 - Added SCRIPT tab, layout and functionality +# 51221-1714 - Added auto-switch-to-SCRIPT-tab and auto-webform-popup +# 51222-1605 - Added VMail message blind transfer button to xfer-conf frame +# 51229-1028 - Added checks on web_form_address to allow for var in the DB value +# 60117-1312 - Added Transfer-conf frame toggle on button press +# 60208-1152 - Added DTMF-xfernumber preset links to xfer-conf frame +# 60213-1129 - Added vicidial_users.hotkeys_active for any user hotkeys +# 60213-1210 - Added ability to sort routing of calls by user_level +# 60214-0932 - Initial Callback calendar display framework +# 60214-1407 - Added ability to minimize the dispo screen to see info below +# 60215-1104 - Added ANYONE scheduled callbacks functionality +# 60410-1116 - Added persistant pause after dispo option and change dispo text +# - Added web form submit that opens new window with dispo on submit +# - Added PREVIOUS CALLBACK in customer info to flag callbacks +# - Added link to try to hangup the call again in the dispo screen +# - Added link noone-in-session screen to call agent phone again +# - Added link customer-hungup screen to go straight to dispo screen +# 60410-1532 - Added agent status and campaign calls dialing display option +# 60411-1547 - Add ability to set callback as USERONLY and some basic formatting +# 60413-1752 - Add basic USERONLY callback frame and listings +# 60414-1039 - Changed manual dial preview and alt dial checkboxes to spans +# - Added beta-level USERONLY callback functionality +# - Added beta-level manual dialing with lead insertion functionality +# 60415-1534 - Fixed manual dial lead preview and fixed manuald dial override bug +# 60417-1108 - Added capability to do alt-number-dialing in auto-dial mode +# - Changed several permissions to database-defined +# 60419-1529 - Prevent manual dial or callbacks when alt-dial lead not finished +# 60420-1647 - Fixed DiaLDiaLAltPhonE error, Call Agent Again DialControl error +# 60421-1229 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60424-1005 - Fixed Alt phone disabled bug for callbacks and manual dials +# 60426-1058 - Added vicidial_user setting for default blended check for CLOSER +# 60501-1008 - Added option to manual dial screen to manually lookup phone number +# 60503-1653 - Fixed agentonly_callback not-defined bug in scheduled callbacks screen +# 60504-1032 - Fixed manual dial display bug and transfer dispo alert bug +# - Fixed recording filename display to not overrun 25 characters +# 60510-1051 - Added Wrapup timer and wrapup message on wrapup screen after dispo +# 60608-1453 - Added CLOSER campaign allowable in-groups limitations +# 60609-1123 - Added add-number-to-DNC-list function and manual dial check DNC +# 60619-1047 - Added variable filters to close security holes for login form +# 60804-1710 - fixed scheduled CALLBK for other languages build +# 60808-1145 - Added consultative transfers with customer data +# 60808-2232 - Added campaign name to pulldown for login screen +# 60809-1603 - Added option to locally transfer consult xfers +# 60809-1732 - Added recheck of transferred channels before customer gone mesg +# 60810-1011 - Fixed CXFER leave 3way call bugs +# 60816-1602 - Added ALLCALLS recording delay option allcalls_delay +# 60816-1716 - Fixed customer time display bug and client DST setting +# 60821-1555 - Added option to omit phone_code on dialout of leads +# 60821-1628 - Added ALLFORCE recording option +# 60821-1643 - Added no_delete_sessions option to not delete sessions +# 60822-0512 - Changed phone number fields to be maxlength of 12 +# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# 60906-1152 - Added Previous CallBack info display span +# 60906-1715 - Allow for Local phone extension conferences +# 61004-1729 - Add ability to control volume per channel in "calls in this session" +# 61122-1341 - Added vicidial_user_groups allowed_campaigns restrictions +# 61122-1523 - Added more SCRIPT variables +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61221-1212 - Changed width to 760 to better fit 800x600 screens, widened SCRIPT +# 70109-1128 - Fixed wrapup timer bug +# 70109-1635 - Added option for HotKeys automatically dialing next number in manual mode +# - Added option for alternate number dialing with hotkeys +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70118-1517 - Added vicidial_agent_log and vicidial_user_log logging of user_group +# 70201-1249 - Added FAST DIAL option for manually dialing, added UTF8 compatible code +# 70201-1703 - Fixed cursor bug for most text input fields +# 70202-1453 - Added first portions of Agent Pause Codes +# 70203-0108 - Finished Agent Pause Codes functionality +# 70203-0930 - Added dialed_number to webform output +# 70203-1010 - Added dialed_label to webform output +# 70206-1201 - Fixed allow_closers bug +# 70206-1332 - Added vicidial_recording_override users setting function +# 70212-1252 - Fixed small issue with CXFER +# 70213-1018 - Changed CXFER and AXFER to update customer information before transfer +# 70214-1233 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1240 - Added queuemetrics_log_id field for server_id in queue_log +# 70222-1617 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70226-1252 - Added Mute/UnMute to agent screen +# 70309-1035 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70316-1406 - Moved the MUTE button to be accessible during a transfer/conf +# 70319-1446 - Added agent-deactive-display and disable customer info update functions +# 70319-1626 - Added option to allow agent logins to campaigns with no leads in the hopper +# 70320-1501 - Added option to allow retry of leave-3way-call from dispo screen +# 70322-1545 - Added sipsak display ability +# 70510-1319 - Added onUnload force Logout +# 70806-1530 - Added Presets Dial links above agent mute button +# 70823-2118 - Fixed XMLHTTPRequest, HotKeys and Scheduled Callbacks issues with MSIE +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71022-1427 - Added formatting of the customer phone number in the main status bar +# 71029-1848 - Changed CLOSER-type campaign to not use campaign_id restrictions +# 71101-1204 - Fixed bug in callback calendar with DST +# 71116-0957 - Added campaign_weight and calls_today to the vla table insertion +# 71120-1719 - Added XMLHTPRequest lookup of allowable campaigns for agents during login +# 71122-0256 - Added auto-pause notification +# 71125-1751 - Changed Transfer section to allow for selection of in-groups to send calls to +# 71127-0408 - Added height and width settings for easier modification of screen size +# 71129-2025 - restricted callbacks count and list to campaign only +# + +$version = '2.0.4-142'; +$build = '71129-2025'; + +require("dbconnect.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["VD_login"])) {$VD_login=$_GET["VD_login"];} + elseif (isset($_POST["VD_login"])) {$VD_login=$_POST["VD_login"];} +if (isset($_GET["VD_pass"])) {$VD_pass=$_GET["VD_pass"];} + elseif (isset($_POST["VD_pass"])) {$VD_pass=$_POST["VD_pass"];} +if (isset($_GET["VD_campaign"])) {$VD_campaign=$_GET["VD_campaign"];} + elseif (isset($_POST["VD_campaign"])) {$VD_campaign=$_POST["VD_campaign"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + if (isset($VD_campaign)) + { + $VD_campaign = strtoupper($VD_campaign); + $VD_campaign = eregi_replace(" ",'',$VD_campaign); + } + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); + $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); + $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); + + +$forever_stop=0; + +if ($force_logout) +{ + echo "Wylogowałeś się. Do zobaczenia\n"; + exit; +} + +$isdst = date("I"); +$StarTtimE = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$tsNOW_TIME = date("YmdHis"); +$FILE_TIME = date("Ymd-His"); +$CIDdate = date("ymdHis"); + $month_old = mktime(11, 0, 0, date("m"), date("d")-2, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + + +$random = (rand(1000000, 9999999) + 10000000); + +$conf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently +$HKuser_level = '5'; # minimum vicidial user_level for HotKeys +$campaign_login_list = '1'; # show drop-down list of campaigns at login +$manual_dial_preview = '1'; # allow preview lead option when manual dial +$multi_line_comments = '1'; # set to 1 to allow multi-line comment box +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the phone login +$view_scripts = '1'; # set to 1 to show the SCRIPTS tab +$dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo +$agentcallsstatus = '0'; # set to 1 to show agent status and call count + $campagentstatctmax = '0'; # Number of sekundy for campaign call and agent stats +$show_campname_pulldown = '1'; # set to 1 to show campaign name na login pulldown +$webform_sessionname = '1'; # set to 1 to include the session_name in webform URL +$local_consult_xfers = '1'; # set to 1 to send consultative transfers from original server +$clientDST = '1'; # set to 1 to check for DST na server for agent time +$no_delete_sessions = '0'; # set to 1 to not delete sessions at logout +$volumecontrol_active = '1'; # set to 1 to allow agents to alter volume of channels +$PreseT_DiaL_LinKs = '1'; # set to 1 to show a WYBIERZ link for Dial Presets +$LogiNAJAX = '1'; # set to 1 to do lookups +$HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from "session calls" + +$TEST_all_statuses = '0'; # TEST variable allows all statuses in dispo screen + +$BROWSER_HEIGHT = 500; # set to the minimum browser height, default=500 +$BROWSER_WIDTH = 770; # set to the minimum browser width, default=770 + + +# options now set in DB: +#$alt_phone_dialing = '1'; # allow agents to call alt phone numbers +#$scheduled_callbacks = '1'; # set to 1 to allow agent to choose scheduled callbacks +# $agentonly_callbacks = '1'; # set to 1 to allow agent to choose agent-only scheduled callbacks +#$agentcall_manual = '1'; # set to 1 to allow agent to make manual calls during autodial session + +### SCREEN WIDTH AND HEIGHT CALCULATIONS ### +### DO NOT EDIT! ### +$MASTERwidth=($BROWSER_WIDTH - 340); +$MASTERheight=($BROWSER_HEIGHT - 200); +if ($MASTERwidth < 430) {$MASTERwidth = '430';} +if ($MASTERheight < 300) {$MASTERheight = '300';} + +$CAwidth = ($MASTERwidth + 340); # 770 - cover all (none-in-session, customer hunngup, etc...) +$MNwidth = ($MASTERwidth + 330); # 760 - main frame +$XFwidth = ($MASTERwidth + 320); # 750 - transfer/conference +$HCwidth = ($MASTERwidth + 310); # 740 - hotkeys and callbacks +$AMwidth = ($MASTERwidth + 270); # 700 - agent mute and preset-dial links +$SSwidth = ($MASTERwidth + 176); # 606 - scroll script +$SDwidth = ($MASTERwidth + 170); # 600 - scroll script, customer data and calls-in-session +$HKwidth = ($MASTERwidth + 70); # 500 - Hotkeys button +$HSwidth = ($MASTERwidth + 1); # 431 - Header spacer + +$HKheight = ($MASTERheight + 105); # 405 - HotKey active Button +$AMheight = ($MASTERheight + 100); # 400 - Agent mute and preset dial links +$MBheight = ($MASTERheight + 65); # 365 - Manual Dial Buttons +$CBheight = ($MASTERheight + 50); # 350 - Agent Callback, pause code, volume control Buttons and agent status +$SSheight = ($MASTERheight + 31); # 331 - script content +$HTheight = ($MASTERheight + 10); # 310 - transfer frame, callback comments and hotkey +$BPheight = ($MASTERheight - 250); # 50 - bottom buffer + + +$US='_'; +$CL=':'; +$AT='@'; +$DS='-'; +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = eregi_replace('vicidial.php','',$agcPAGE); + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ($campaign_login_list > 0) +{ +$camp_form_code = "\n"; +} +else +{ +$camp_form_code = "\n"; +} + + +if ($LogiNAJAX > 0) +{ +?> + + + +klient VICIWYBIERZ: Powtórne zalogowanie\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Polski
\n"; +echo "
\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Powtórne zalogowanie
 
Login telefonu:
Hasło telefonu:
Login użytkownika:
Hasło użytkownika:
Kampania: $camp_form_code

WERSJA: $version       KOMPILACJA: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} + +if ($user_login_first == 1) +{ + if ( (strlen($VD_login)<1) or (strlen($VD_pass)<1) or (strlen($VD_campaign)<1) ) + { + echo "klient VICIWYBIERZ: Logowanie do kampani\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Polski
\n"; + echo "
\n"; + echo "\n"; + #echo "\n"; + #echo "\n"; + echo "

Login użytkownika

"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Logowanie do kampani
 
Login użytkownika:
Hasło użytkownika:
Kampania: $camp_form_code
  \n"; + echo "

WERSJA: $version       KOMPILACJA: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + echo "klient VICIWYBIERZ: Login\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Polski
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login
 
Login telefonu:
Hasło telefonu:
Login użytkownika:
Hasło użytkownika:
Kampania: $camp_form_code
  \n"; + echo "

WERSJA: $version       KOMPILACJA: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + + } + } +} + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "klient VICIWYBIERZ: Login telefonu\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Polski
\n"; +echo "
\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Login telefonu
 
Login telefonu:
Hasło telefonu:
  \n"; +echo "

WERSJA: $version       KOMPILACJA: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./vicidial_auth_entries.txt", "a");} +$VDloginDISPLAY=0; + + if ( (strlen($VD_login)<2) or (strlen($VD_pass)<2) or (strlen($VD_campaign)<2) ) + { + $VDloginDISPLAY=1; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if($auth>0) + { + $login=strtoupper($VD_login); + $password=strtoupper($VD_pass); + ##### grab the full name of the agent + $stmt="SELECT full_name,user_level,hotkeys_active,agent_choose_ingroups,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,closer_default_blended,user_group,vicidial_recording_override from vicidial_users where user='$VD_login' and pass='$VD_pass'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $user_level=$row[1]; + $VU_hotkeys_active=$row[2]; + $VU_agent_choose_ingroups=$row[3]; + $VU_scheduled_callbacks=$row[4]; + $agentonly_callbacks=$row[5]; + $agentcall_manual=$row[6]; + $VU_vicidial_recording=$row[7]; + $VU_vicidial_transfers=$row[8]; + $VU_closer_default_blended=$row[9]; + $VU_user_group=$row[10]; + $VU_vicidial_recording_override=$row[11]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|GOOD|$date|$VD_login|$VD_pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + $user_abb = "$VD_login$VD_login$VD_login$VD_login"; + while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns =$row[0]; + + if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) + { + echo "klient VICIWYBIERZ: VICIWYBIERZ Logowanie do kampani\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Polski
\n"; + echo "Sorry, you are not allowed to login to this campaign: $VD_campaign\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Login: \n
"; + echo "Hasło:
\n"; + echo "Kampania: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + ##### check to see that the campaign is active + $stmt="SELECT count(*) FROM vicidial_campaigns where campaign_id='$VD_campaign' and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $CAMPactive=$row[0]; + if($CAMPactive>0) + { + if ($TEST_all_statuses > 0) {$selectableSQL = '';} + else {$selectableSQL = "selectable='Y' and";} + $VARstatuses=''; + $VARstatusnames=''; + ##### grab the statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_statuses WHERE $selectableSQL status != 'NEW' order by status limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_statuses_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $VD_statuses_ct) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + } + + ##### grab the campaign-specific statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_campaign_statuses WHERE $selectableSQL status != 'NEW' and campaign_id='$VD_campaign' order by status limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_statuses_camp = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + $j++; + } + $VD_statuses_ct = ($VD_statuses_ct+$VD_statuses_camp); + $VARstatuses = substr("$VARstatuses", 0, -1); + $VARstatusnames = substr("$VARstatusnames", 0, -1); + + ##### grab the campaign-specific HotKey statuses that can be used for dispositioning by an agent + $stmt="SELECT hotkey,status,status_name FROM vicidial_campaign_hotkeys WHERE selectable='Y' and status != 'NEW' and campaign_id='$VD_campaign' order by hotkey limit 9;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $HK_statuses_camp = mysql_num_rows($rslt); + $w=0; + $HKboxA=''; + $HKboxB=''; + $HKboxC=''; + while ($w < $HK_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $HKhotkey[$w] =$row[0]; + $HKstatus[$w] =$row[1]; + $HKstatus_name[$w] =$row[2]; + $HKhotkeys = "$HKhotkeys'$HKhotkey[$w]',"; + $HKstatuses = "$HKstatuses'$HKstatus[$w]',"; + $HKstatusnames = "$HKstatusnames'$HKstatus_name[$w]',"; + if ($w < 3) + {$HKboxA = "$HKboxA $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + if ( ($w >= 3) and ($w < 6) ) + {$HKboxB = "$HKboxB $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + if ($w >= 6) + {$HKboxC = "$HKboxC $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + $w++; + } + $HKhotkeys = substr("$HKhotkeys", 0, -1); + $HKstatuses = substr("$HKstatuses", 0, -1); + $HKstatusnames = substr("$HKstatusnames", 0, -1); + + ##### grab the statuses to be dialed for your campaign as well as other campaign settings + $stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups FROM vicidial_campaigns where campaign_id = '$VD_campaign';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $park_ext = $row[0]; + $park_file_name = $row[1]; + $web_form_address = $row[2]; + $allow_closers = $row[3]; + $auto_dial_level = $row[4]; + $dial_timeout = $row[5]; + $dial_prefix = $row[6]; + $campaign_cid = $row[7]; + $campaign_vdad_exten = $row[8]; + $campaign_rec_exten = $row[9]; + $campaign_recording = $row[10]; + $campaign_rec_filename = $row[11]; + $campaign_script = $row[12]; + $get_call_launch = $row[13]; + $campaign_am_message_exten = $row[14]; + $xferconf_a_dtmf = $row[15]; + $xferconf_a_number = $row[16]; + $xferconf_b_dtmf = $row[17]; + $xferconf_b_number = $row[18]; + $alt_number_dialing = $row[19]; + $VC_scheduled_callbacks = $row[20]; + $wrapup_sekundy = $row[21]; + $wrapup_message = $row[22]; + $closer_campaigns = $row[23]; + $use_internal_dnc = $row[24]; + $allcalls_delay = $row[25]; + $omit_phone_code = $row[26]; + $agent_pause_codes_active = $row[27]; + $no_hopper_leads_logins = $row[28]; + $campaign_allow_inbound = $row[29]; + $manual_dial_list_id = $row[30]; + $default_xfer_group = $row[31]; + $xfer_groups = $row[32]; + + if ( (!ereg('DISABLED',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) + { + $campaign_recording = $VU_vicidial_recording_override; + print "\n"; + } + if ( ($VC_scheduled_callbacks=='Y') and ($VU_scheduled_callbacks=='1') ) + {$scheduled_callbacks='1';} + if ($VU_vicidial_recording=='0') + {$campaign_recording='NEVER';} + if ($alt_number_dialing=='Y') + {$alt_phone_dialing='1';} + else + {$alt_phone_dialing='0';} + $closer_campaigns = preg_replace("/^ | -$/","",$closer_campaigns); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + if ($agent_pause_codes_active=='Y') + { + ##### grab the pause codes for this campaign + $stmt="SELECT pause_code,pause_code_name FROM vicidial_pause_codes WHERE campaign_id='$VD_campaign' order by pause_code limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_pause_codes = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_pause_codes) + { + $row=mysql_fetch_row($rslt); + $pause_codes[$i] =$row[0]; + $pause_code_names[$i] =$row[1]; + $VARpause_codes = "$VARpause_codes'$pause_codes[$i]',"; + $VARpause_code_names = "$VARpause_code_names'$pause_code_names[$i]',"; + $i++; + $j++; + } + $VD_pause_codes_ct = ($VD_pause_codes_ct+$VD_pause_codes); + $VARpause_codes = substr("$VARpause_codes", 0, -1); + $VARpause_code_names = substr("$VARpause_code_names", 0, -1); + } + + ##### grab the inbound groups to choose from if campaign contains CLOSER + $VARingroups="''"; + if ($campaign_allow_inbound == 'Y') + { + $VARingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 60;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $closer_ct = mysql_num_rows($rslt); + $INgrpCT=0; + while ($INgrpCT < $closer_ct) + { + $row=mysql_fetch_row($rslt); + $closer_groups[$INgrpCT] =$row[0]; + $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $INgrpCT++; + } + $VARingroups = substr("$VARingroups", 0, -1); + } + + ##### grab the allowable inbound groups to choose from for transfer options + $xfer_groups = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groups = preg_replace("/ /","','",$xfer_groups); + $xfer_groups = "'$xfer_groups'"; + $VARxfergroups="''"; + if ($allow_closers == 'Y') + { + $VARxfergroups=''; + $stmt="select group_id,group_name from vicidial_inbound_groups where active = 'Y' and group_id IN($xfer_groups) order by group_id limit 60;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $xfer_ct = mysql_num_rows($rslt); + $XFgrpCT=0; + while ($XFgrpCT < $xfer_ct) + { + $row=mysql_fetch_row($rslt); + $VARxfergroups = "$VARxfergroups'$row[0]',"; + $VARxfergroupsnames = "$VARxfergroupsnames'$row[1]',"; + if ($row[0] == "$default_xfer_group") {$default_xfer_group_name = $row[1];} + $XFgrpCT++; + } + $VARxfergroups = substr("$VARxfergroups", 0, -1); + $VARxfergroupsnames = substr("$VARxfergroupsnames", 0, -1); + } + + ##### grab the number of leads in the hopper for this campaign + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id = '$VD_campaign' and status='READY';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $campaign_leads_to_call = $row[0]; + print "\n"; + + } + else + { + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "Kampania nie aktywna, spróbuj jeszcze raz
"; + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|FAIL|$date|$VD_login|$VD_pass|$ip|$browser|\n"); + fclose($fp); + } + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "Login nie aktywny, spróbuj jeszcze raz
"; + } + } + if ($VDloginDISPLAY) + { + echo "klient VICIWYBIERZ: Logowanie do kampani\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Polski
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

$VDdisplayMESSAGE

"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Logowanie do kampani
 
Login użytkownika:
Hasło użytkownika:
Kampania: $camp_form_code
  \n"; + echo "

WERSJA: $version       KOMPILACJA: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + +$authphone=0; +$stmt="SELECT count(*) from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "klient VICIWYBIERZ: Login telefonu Error\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Polski
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Login Error
 
Login Twojego telefonu lub hasło są nieaktywne w tym systememie, spróbuj jeszcze raz:
 
Login telefonu:
Hasło telefonu:

WERSJA: $version       KOMPILACJA: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { + echo "klient VICIWYBIERZ\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $login=$row[6]; + $pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $IDRozmówcy_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $enable_sipsak_messages=$row[66]; + + if ($clientDST) + { + $local_gmt = ($local_gmt + $isdst); + } + if ($protocol == 'EXTERNAL') + { + $protocol = 'Local'; + $extension = "$dialplan_number$AT$ext_context"; + } + $SIP_user = "$protocol/$extension"; + + $stmt="SELECT asterisk_version from servers where server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $asterisk_version=$row[0]; + + # If a park extension is not set, use the default one + if ( (strlen($park_ext)>0) && (strlen($park_file_name)>0) ) + { + $VICIDiaL_park_on_extension = "$park_ext"; + $VICIDiaL_park_on_filename = "$park_file_name"; + print "\n"; + } + print "\n"; + + # If a web form address is not set, use the default one + if (strlen($web_form_address)>0) + { + $VICIDiaL_web_form_address = "$web_form_address"; + print "\n"; + } + else + { + $VICIDiaL_web_form_address = "$VICIDiaL_web_URL"; + print "\n"; + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + } + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + # If closers are allowed na this campaign + if ($allow_closers=="Y") + { + $VICIDiaL_allow_closers = 1; + print "\n"; + } + else + { + $VICIDiaL_allow_closers = 0; + print "\n"; + } + + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtimE$US$session_ext$session_rand"; + + if ($webform_sessionname) + {$webform_sessionname = "&session_name=$session_name";} + else + {$webform_sessionname = '';} + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'vicidial';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','vicidial','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + if ( ($campaign_allow_inbound == 'Y') || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + { + ### insert an entry into the user log for the login event + $stmt = "INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$VD_login','LOGIN','$VD_campaign','$NOW_TIME','$StarTtimE','$VU_user_group')"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly + $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $prev_login_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $prev_login_ct) + { + $row=mysql_fetch_row($rslt); + $session_id =$row[0]; + $i++; + } + if ($prev_login_ct > 0) + {print "\n";} + else + { + ##### grab the next available vicidial_conference room and reserve it + $stmt="SELECT conf_exten FROM vicidial_conferences where server_ip = '$server_ip' and ((extension='') or (extension is null)) LIMIT 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $free_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $free_conf_ct) + { + $row=mysql_fetch_row($rslt); + $session_id =$row[0]; + $i++; + } + $stmt="UPDATE vicidial_conferences set extension='$SIP_user' where server_ip='$server_ip' and conf_exten='$session_id';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + print "\n"; + + } + + $stmt="UPDATE vicidial_list set status='N', user='' where status IN('QUEUE','INCALL') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_hopper where status IN('QUEUE','INCALL','DONE') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_inbound_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + # print "You have logged in as user: $VD_login na phone: $SIP_user do kampani: $VD_campaign
\n"; + $VICIDiaL_is_logged_in=1; + + ### set the callerID for manager middleware-app to connect the phone to the user + $SIqueryCID = "S$CIDdate$session_id"; + + ############################################# + ##### START SYSTEM_SETTINGS LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,vicidial_agent_disable,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $vicidial_agent_disable = $row[6]; + $allow_sipsak_messages = $row[7]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$VD_campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $SIqueryCID = "$SIPSAK_prefix$VD_campaign$DS$CIDdate"; + } + + ### insert a NOWY record to the vicidial_manager table to be processed + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $SIP_user','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: $SIqueryCID','','','','','');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($auto_dial_level > 0) + { + print "\n"; + + ##### grab the campaign_weight and number of calls today na that campaign for the agent + $stmt="SELECT campaign_weight,calls_today FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vca_ct = mysql_num_rows($rslt); + if ($vca_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_weight = $row[0]; + $calls_today = $row[1]; + $i++; + } + else + { + $campaign_weight = '0'; + $calls_today = '0'; + $stmt="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) values('$VD_login','$VD_campaign','0','0','$calls_today');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + } + $closer_chooser_string=''; + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,closer_campaigns,user_level,campaign_weight,calls_today) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$closer_chooser_string','$user_level','$campaign_weight','$calls_today');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='$VD_campaign',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PRZERWAALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + + + if ($campaign_allow_inbound == 'Y') + { + print "\n"; + } + } + else + { + print "\n"; + + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,user_level) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$user_level');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='$VD_campaign',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PRZERWAALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + } + } + else + { + echo "klient VICIWYBIERZ: VICIWYBIERZ Logowanie do kampani\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Polski
\n"; + echo "Niestety, w zasobniku nie ma kontaktów oczekujących wykonania połączeń dla tej kampanii\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Login: \n
"; + echo "Hasło:
\n"; + echo "Kampania: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + if (strlen($session_id) < 1) + { + echo "klient VICIWYBIERZ: VICIWYBIERZ Logowanie do kampani\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Polski
\n"; + echo "Sorry, there are no available sessions\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Login: \n
"; + echo "Hasło:
\n"; + echo "Kampania: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + if (ereg('MSIE',$browser)) + { + $useIE=1; + print "\n"; + } + else + { + $useIE=0; + print "\n"; + } + + $StarTtimE = date("U"); + $NOW_TIME = date("Y-m-d H:i:s"); + ##### Agent is going to log in so insert the vicidial_agent_log entry now + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group,sub_status) values('$VD_login','$server_ip','$NOW_TIME','$VD_campaign','$StarTtimE','0','$StarTtimE','$VU_user_group','LOGIN');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + print "\n"; + + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $server_ip_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S"; + + ##### grab the datails of all active scripts in the system + $stmt="SELECT script_id,script_name,script_text FROM vicidial_scripts WHERE active='Y' order by script_id limit 100;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $MM_scripts = mysql_num_rows($rslt); + $e=0; + while ($e < $MM_scripts) + { + $row=mysql_fetch_row($rslt); + $MMscriptid[$e] =$row[0]; + $MMscriptname[$e] = rawurlencode($row[1]); + $MMscripttext[$e] = rawurlencode($row[2]); + $MMscriptids = "$MMscriptids'$MMscriptid[$e]',"; + $MMscriptnames = "$MMscriptnames'$MMscriptname[$e]',"; + $MMscripttexts = "$MMscripttexts'$MMscripttext[$e]',"; + $e++; + } + $MMscriptids = substr("$MMscriptids", 0, -1); + $MMscriptnames = substr("$MMscriptnames", 0, -1); + $MMscripttexts = substr("$MMscripttexts", 0, -1); + + } +} + +################################################################ +### BEGIN - build the callback calendar (12 months) ### +################################################################ +define ('ADAY', (60*60*24)); +$CdayARY = getdate(); +$Cmon = $CdayARY['mon']; +$Cyear = $CdayARY['year']; +$CTODAY = date("Y-m"); +$CTODAYmday = date("j"); +$CINC=0; + +$Cmonths = Array('Styczeń','February','Marzec','Kwiecień','Maj','Czerwiec', + 'Lipiec','Sierpień','Wrzesień','Październik','Listopad','Grudzień'); +$Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); + +$CCAL_OUT = ''; + +$CCAL_OUT .= ""; + +while ($CINC < 12) +{ +if ( ($CINC == 0) || ($CINC == 4) ||($CINC == 8) ) + {$CCAL_OUT .= "";} + +$CCAL_OUT .= ""; + +if ( ($CINC == 3) || ($CINC == 7) ||($CINC == 11) ) + {$CCAL_OUT .= "";} +$CINC++; +} + +$CCAL_OUT .= "
"; + +$CYyear = $Cyear; +$Cmonth= ($Cmon + $CINC); +if ($Cmonth > 12) + { + $Cmonth = ($Cmonth - 12); + $CYyear++; + } +$Cstart= mktime(11,0,0,$Cmonth,1,$CYyear); +$CfirstdayARY = getdate($Cstart); +#echo "|$Cmon|$Cmonth|$CINC|\n"; +$CPRNTDAY = date("Y-m", $Cstart); + +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; + +foreach($Cdays as $Cday) +{ + $CDCLR="#ffffff"; +$CCAL_OUT .= ""; +} + +for( $Ccount=0;$Ccount<(6*7);$Ccount++) +{ + $Cdayarray = getdate($Cstart); + if((($Ccount) % 7) == 0) + { + if($Cdayarray['mon'] != $CfirstdayARY['mon']) + break; + $CCAL_OUT .= ""; + } + if($Ccount < $CfirstdayARY['wday'] || $Cdayarray['mon'] != $Cmonth) + { + $CCAL_OUT .= ""; + } + else + { + if( ($Cdayarray['mday'] == $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + else + { + $CDCLR="#ffffff"; + if ( ($Cdayarray['mday'] < $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CDCLR="#CCCCCC"; + $CBL = ''; + $CEL = ''; + } + else + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + } + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + } +} +$CCAL_OUT .= ""; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "$Cday"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
 "; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; + +#echo "$CCAL_OUT\n"; +################################################################ +### END - build the callback calendar (12 months) ### +################################################################ + + +?> + + + + +\n"; + + +?> + +
+ + MARGINWIDTH=0 MARGINHEIGHT=0 LEFTMARGIN=0 TOPMARGIN=0 VALIGN=TOP ALIGN=LEFT> +
+ + + +WYLOGUJ\n"; ?> +
+
+ + + height=30> + + + + + +
VICIWYBIERZSCRIPT VALIGN=MIDDLE ALIGN=CENTER>   LIVE     ID sesji: Aktywna rozmowa
+
+ + + + + height=>

VICIWYBIERZ
+
+ + +WYBIERANIE RĘCZNE       SZYBKA TARCZA
+
+ + +X AKTYWNE INNE TERMINY
+
+ + +
+
+ + + D1 - WYBIERZ\n"; + echo "
\n"; + echo "D2 - WYBIERZ\n"; + } + else {echo "
\n";} + ?> +

+
+
+ + + height=460>
INNE TERMINY DLA AGENTA :
Kliknij poniżej na Inne terminy żeby teraz zadzwonić do klienta. Jeżeli klikniesz na rekordzie by zadzwonić, rekord zostanie usunięty z listy. +
+
+
  + Odswież +                 + Wróć +
+
+ + + height=460>
NOWE RĘCZNE WYBIERANIE NUMERU DLA :

Wpisz poniżej informacje o kontakcie do którego chcesz wykonać połączenie. +
+ \n"; + } + ?> + Note: all new manual dial leads will go into list

+ + + + + + + + + + + + + + + +
Kod wybierania:   (dla polski będzie to 48)
Telefon Number: +   (12 digits max - digits only) +
Przeszukuj rekordy:   (This option if checked will attempt to find the phone number in the system before inserting it as a new lead)


Jeżeli chcesz wybrać numer tak aby NIE został dodany jako nowy kontakt, wpisz dokładny numer telefonu w polu Wybierz ten numer poniżej. By zakończyć połączenie musisz otworzyć ROZMOWY W TEJ SESJI (w dole ekranu), i zakończyć połączenie klinając na link jego kanału..
 
Wybierz ten numer:   (tylko cyfry) +
+
+ Wybierz teraz +                 + Wróć +
+
+ + + +
+
+ + + + +Twój Status:
Calls Dialing: +
+ + + + + > + +
+
+ + Transfer - Konferencja
+ + + LOKALNY FINALIZUJĄCYCH + Rozłącz linię transferu + Rozłącz obie linie + +
+ + Numer do wybrania   + + WYBIERZ TEN NUMER   + WYJDŹ Z ROZMOWY 3-STRONNEJ + Wybierz numer do nieweryfikowanego transferu + D1 + D2 + +
+ + sekundy   + channel + Połącz z klientem + Zawieś połączenie z klientem + Blind Transfer VMail Message +
+
+
+
+ + + + height=70> + +
Połączenie rozdysponowane jako:

+ -
+
+
+ + + height=70> + + + + +
Klawisze skrótu dyspozycji: + Kiedy aktywne, naciśnij guzik na klawiaturze w celu wybrania opcji dla tej rozmowy. Rozmowa zostanie automatycznie rozłączona a opcja ustawiona:
+ + + + + +
+
+ + + height=70> + + + + + + +
Previous Callback Information: close
+
+
+
+
+ +
+
+ + + height=500>
Nikt nie uczestniczy w Twojej sesji:
+ Wróć +

+ Ponownie połącz się z telefonem +
+
+ + + height=500>
Klient sie rozłączył:
+ Wróć +

+ Zakończ i wprowadź rezultat rozmowy + +
+
+ + + height=550>
Call Wrapup sekundy remaining in wrapup

+ +

+ Finish Wrapup and Move On + +
+
+ + + height=500>
Wasza sesja była uszkadzana
WYLOGUJ

Wróć +
+
+ + + height=500>

WYLOGUJ
+
+ + +
+
+ + +
 
+
+ + + height=47>
Zmiany wprowadzone w informacjach o kliencie będą zapisane tylko podczas trwania połączenia. Nie po rozłączaniu!.
+
+ + + height=460>
REZULTAT ROZMOWY :       Rozłącz się ponownie       minimalizuj
+ Koniec rozmowy, wybierz rezultat +
+ ZATRZYMAJ DZWONIENIE
+ WYCZYŚĆ FORMULARZ | + ZATWIERDŹ +

+ WEB FORM ZATWIERDŹ +

  +
+
+ + + height=460>
WYBÓR SZYFR PRZERWY :
+ Przerwa Code Selection + +

  +
+
+ + + height=460>
Wybierz datę oddzwonienia :
+ + + Wybierz datę poniżej   +     + Hour: +   + Minutes: +   + +  
+ TYLKO MOJE INNE TERMINY
";} + ?> + Notatki:

+ + ZATWIERDŹ

+ +

  +
+
+ + + height=460>
SELEKCJA GRUPY ZAWNĘTRZNYCH FINALIZUJĄCYCH
+ Selekcja grupy zawnętrznych finalizujących +
+ KOMBINOWANE POŁĄCZENIA(wychodzące aktywowane)
+ RESET | + ZATWIERDŹ +



  +
+
+ + + + Kanał + Kanał + TYLKO MOJE INNE TERMINY
";} + ?> +
+ + + + height=>
VICIWYBIERZ SCRIPT
+
+ + + 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> +KLAWISZE SKRÓTU NIEAKTYWNE + + + + +> + + + +
wersja klienta VICIWYBIERZ:     KOMPILACJA:               Serwer:              
+Pokaż informacje o kanałach konferencyjnych

 
+
+ + + +
+
+ + + + + id="MainTable"> + + + + + + + + + + + + + + + +
STATUS:
+
+Wybierz kolejny numer
+ PODGLĄD POŁĄCZEŃ
+ WYBIERANIE DRUGIEGO NUMERU
+ + +PLIK NAGRANIA:
+
+
+NUMER NAGRANIA:
+
+ +Rozpocznij nagrywanie
+
+Web Formularz
+
+Zawieś rozmowę
+Transfer - Konferencja
+
+Odłącz kilenta
+
+
Wyślij tonowo

+
+
+
align=left valign=top> + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
sekundy:   Kanał:   Ustawiony Czas:
Informacje o kliencie:
Tytuł:   Imię:   2 Imię:   Nazwisko:
Adres1:
Adres2:   Adres3:
Miasto:   Stan:   KodPocztowy:
Powiat:   Vendedor ID:
Telefon:   Prefiks:   Drugi telefon:
Pokaż:   Email:
Komentarz: + +\n";} +else + {echo "\n";} +?> + +
+
+ +
+
> + 
+ + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/voicemail_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/voicemail_check.php new file mode 100644 index 00000000..ffdc3ed9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pl/voicemail_check.php @@ -0,0 +1,140 @@ + LICENSE: GPLv2 +### +### This script is designed purely to check whether the voicemail box on the server defined has new and old messages +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $vmail_box - ('101','1234',...) +### + +# changes +# 50422-1147 - First build of script +# 50503-1241 - added session_name checking for extra security +# 50711-1201 - removed HTTP authentication in favor of user/pass vars +# 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1204 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.5'; +$build = '60619-1204'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Nieprawidłowy NazwaUżytkownika/Hasło: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Nieprawidłowy server_ip: |$server_ip| or Nieprawidłowy session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nieprawidłowy session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Sprawdzanie poczty głosowej"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + $MT[0]=''; + $row=''; $rowx=''; + if (strlen($vmail_box)<1) + { + $channel_live=0; + echo "skrzynka poczty głosowej $vmail_box nie jest prawidłowy\n"; + exit; + } + else + { + $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $vmails_list = mysql_num_rows($rslt); + $loop_count=0; + while ($vmails_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0]|$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/active_list_refresh.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/active_list_refresh.php new file mode 100644 index 00000000..0b915374 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/active_list_refresh.php @@ -0,0 +1,482 @@ + LICENSE: GPLv2 +### +### This script is designed purely to serve updates of the live data to the display scripts +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $ADD - ('1','2','3','4','5') +### - $order - ('asc','desc') +### - $format - ('text','table','menu','selectlist','textarea') +### - $bgcolor - ('#123456','white','black','etc...') +### - $txtcolor - ('#654321','black','white','etc...') +### - $txtsize - ('1','2','3','etc...') +### - $selectsize - ('2','3','4','etc...') +### - $selectfontsize - ('8','10','12','etc...') +### - $selectedext - ('cc100') +### - $selectedtrunk - ('Zap/25-1') +### - $selectedlocal - ('SIP/cc100') +### - $textareaheight - ('8','10','12','etc...') +### - $textareawidth - ('8','10','12','etc...') +### - $field_name - ('extension','busyext','extension_xfer','etc...') +### + +# changes +# 50323-1147 - First build of script +# 50401-1132 - small formatting changes +# 50502-1402 - added field_name as modifiable variable +# 50503-1213 - added session_name checking for extra security +# 50503-1311 - added conferences list +# 50610-1155 - Added NULL check on MySQL results to reduced errors +# 50711-1209 - removed HTTP authentication in favor of user/pass vars +# 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1118 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["order"])) {$order=$_GET["order"];} + elseif (isset($_POST["order"])) {$order=$_POST["order"];} +if (isset($_GET["bgcolor"])) {$bgcolor=$_GET["bgcolor"];} + elseif (isset($_POST["bgcolor"])) {$bgcolor=$_POST["bgcolor"];} +if (isset($_GET["txtcolor"])) {$txtcolor=$_GET["txtcolor"];} + elseif (isset($_POST["txtcolor"])) {$txtcolor=$_POST["txtcolor"];} +if (isset($_GET["txtsize"])) {$txtsize=$_GET["txtsize"];} + elseif (isset($_POST["txtsize"])) {$txtsize=$_POST["txtsize"];} +if (isset($_GET["selectsize"])) {$selectsize=$_GET["selectsize"];} + elseif (isset($_POST["selectsize"])) {$selectsize=$_POST["selectsize"];} +if (isset($_GET["selectfontsize"])) {$selectfontsize=$_GET["selectfontsize"];} + elseif (isset($_POST["selectfontsize"])) {$selectfontsize=$_POST["selectfontsize"];} +if (isset($_GET["selectedext"])) {$selectedext=$_GET["selectedext"];} + elseif (isset($_POST["selectedext"])) {$selectedext=$_POST["selectedext"];} +if (isset($_GET["selectedtrunk"])) {$selectedtrunk=$_GET["selectedtrunk"];} + elseif (isset($_POST["selectedtrunk"])) {$selectedtrunk=$_POST["selectedtrunk"];} +if (isset($_GET["selectedlocal"])) {$selectedlocal=$_GET["selectedlocal"];} + elseif (isset($_POST["selectedlocal"])) {$selectedlocal=$_POST["selectedlocal"];} +if (isset($_GET["textareaheight"])) {$textareaheight=$_GET["textareaheight"];} + elseif (isset($_POST["textareaheight"])) {$textareaheight=$_POST["textareaheight"];} +if (isset($_GET["textareawidth"])) {$textareawidth=$_GET["textareawidth"];} + elseif (isset($_POST["textareawidth"])) {$textareawidth=$_POST["textareawidth"];} +if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} + elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} + +### security strip all non-alphanumeric characters out of the variables ### + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $ADD=ereg_replace("[^0-9]","",$ADD); + $order=ereg_replace("[^0-9a-zA-Z]","",$order); + $format=ereg_replace("[^0-9a-zA-Z]","",$format); + $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); + $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); + $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); + $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); + $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); + $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); + $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); + $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); + $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); + $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); + $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + +# default optional vars if not set +if (!isset($ADD)) {$ADD="1";} +if (!isset($order)) {$order='desc';} +if (!isset($format)) {$format="text";} +if (!isset($bgcolor)) {$bgcolor='white';} +if (!isset($txtcolor)) {$txtcolor='black';} +if (!isset($txtsize)) {$txtsize='2';} +if (!isset($selectsize)) {$selectsize='4';} +if (!isset($selectfontsize)) {$selectfontsize='10';} +if (!isset($textareaheight)) {$textareaheight='10';} +if (!isset($textareawidth)) {$textareawidth='20';} + +$version = '0.0.8'; +$build = '60619-1118'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Usuárioname/Senha: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='table') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Exposição Da Lista: "; +if ($ADD==1) {echo "Extensões Vivas";} +if ($ADD==2) {echo "Extensões Ocupadas";} +if ($ADD==3) {echo "Linhas Exteriores";} +if ($ADD==4) {echo "Extensões Locais";} +if ($ADD==5) {echo "Conferências";} +if ($ADD==99999) {echo "AJUDA";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ADD=1 display all live extensions on a server +###################### +if ($ADD==1) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'extension';} + if ($format=='table') {echo "\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + +###################### +# ADD=2 display all busy extensions on a server +###################### +if ($ADD==2) +{ + if (!$field_name) {$field_name = 'busyext';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=3 display all busy outside lines(trunks) on a server +###################### +if ($ADD==3) +{ + if (!$field_name) {$field_name = 'trunk';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=4 display all busy Local lines on a server +###################### +if ($ADD==4) +{ + if (!$field_name) {$field_name = 'local';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=5 display all agc-usable conferences on a server +###################### +if ($ADD==5) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'conferences';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='table') {echo "\n";} +if ($format=='table') {echo "\n\n\n";} + +exit; + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/astguiclient.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/astguiclient.php new file mode 100644 index 00000000..1c6a291f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/astguiclient.php @@ -0,0 +1,2905 @@ + LICENSE: GPLv2 +# +# make sure you have added a user to the vicidial_users MySQL table with at least +# user_level 1 or greater to access this page. Also you need to have the login +# and pass of a phone listed in the asterisk.phones table. The page grabs the +# server info and other details from this login and pass +# +# Other scripts that this application depends on: +# - active_list_refresh.php: displays active/live channels and phones +# - manager_send.php: sends Actions to be executed on Asterisk servers +# - live_exten_check.php: checks to see if user's phone is on a live call +# - call_log_display.php: retrieves log of inbound and outbound calls +# - voicemail_check.php: retrieves counts of new and old messages +# - inbound_popup.php: opens upon live_inbound call coming in +# - conf_exten_check.php: checks to see if and calls are in a specific conf +# - park_calls_display.php: retrieves list of parked calls +# - vdc_db_query.php: Changes values in the DB for non-calling records +# +# CHANGES +# 50215-1356 - Proof-of-concept test of XMLHttpRequest for astGUIclient web +# 50323-1411 - First build version display-only +# 50331-1040 - Second-build, added phone login and hangup/hijack display +# 50401-1006 - Trunk/Local Hangup functions enabled +# 50404-1056 - Trunk/Local Hijack functions enabled +# 50404-1459 - Simple live calls display and grabs updated time from server +# 50405-1221 - Reorganized the display and layers, added some images +# 50406-1005 - Added In/Out call log display to MAIN panel +# 50407-1254 - Start/Stop Recording on live calls enabled +# 50422-1101 - Activated Check Voicemail button and new/old messages count +# 50428-1449 - Added dial from log and basic live_inbound call popup +# 50429-1455 - Modified inbound popup code for IE and to add more functions +# 50502-1442 - Added basic method to transfer live calls somewhere else +# 50503-1205 - Added web_client_sessions entry for more security of subscripts +# 50503-1537 - Added basic conferences display +# 50509-1132 - Added conference connected list and hangup/xfer for them +# 50511-1129 - Added registration of conference rooms and added manual dial +# 50523-1342 - Added Conference recording and send DTMF +# 50523-1622 - Added Local Dial window frame for calling local extensions +# 50524-1456 - Added ability to park call and display number of parked calls +# 50524-1600 - Added ability to display and pickup/hangup/xfer parked calls +# 50525-1224 - Added ability to place outbound call from within conferene +# 50531-1225 - Added ability to do dual transfers to meetme rooms from Main +# 50711-1229 - removed HTTP authentication in favor of user/pass vars +# 50711-1610 - Added Zap monitoring to Trunk/Local Action screens +# 50804-1604 - Minor bug fix in inbound_popup functions +# 50818-1715 - Added pretty login section +# 50913-1137 - Added custom outbound_cid from phones table +# 51110-1430 - Fixed non-standard http port issue +# 60103-1421 - Added code for favorite extensions chooser +# 60104-1347 - Added basic layout for favorites editing frame +# 60105-1124 - Finished Favorites frame and added DB submission +# 60112-1622 - Several formatting changes +# 60421-1357 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1103 - Added variable filters to close security holes for login form +# 60829-1528 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +$version = '2.0.1'; +$build = '60829-1528'; + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + + +if ($force_logout) +{ + if( (strlen($_SERVER['user'])>0) or (strlen($_SERVER['pass'])>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "Você tem registrado agora para fora. Obrigado\n"; + exit; +} + +$StarTtime = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd-His"); + $month_old = mktime(0, 0, 0, date("m"), date("d")-7, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$US='_'; +$CL=':'; +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./astguiclient_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = $agcPAGE; +$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); + + if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) + { + header ("Content-type: text/html; charset=utf-8"); + + echo "web client astGUIclient: Início de uma sessão\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Português
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Início de uma sessão
 
Início de uma sessão Do Usuário:
Senha Do Usuário:
Início de uma sessão Do Telefone:
Senha Do Telefone:

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($user); + $password=strtoupper($pass); + $stmt="SELECT full_name,user_level from vicidial_users where user='$user' and pass='$pass'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICISELETOR|GOOD|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICISELETOR|FAIL|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + } + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "web client astGUIclient: Início de uma sessão Do Telefone\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Português
\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Início de uma sessão Do Telefone
 
Início de uma sessão Do Telefone:
Senha Do Telefone:

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +$authphone=0; +$stmt="SELECT count(*) from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "web client astGUIclient: Início de uma sessão Do Telefone\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Português
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Início de uma sessão Do Telefone
 
Pesaroso, seus início de uma sessão do telefone e senha não seja:
 
Início de uma sessão Do Telefone:
Senha Do Telefone:

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { + echo "web client astGUIclient\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $phone_login=$row[6]; + $phone_pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $CaLLerID_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $outbound_cid=$row[65]; + + $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtime$US$session_ext$session_rand"; + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'agc';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','agc','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT count(*) from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_present=$row[0]; + if ($favorites_present > 0) + { + $stmt="SELECT extensions_list from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_list=$row[0]; + $h=0; + $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites = explode(',',$favorites_listX); + $favorites_count = count($favorites); + $favorites_listX=''; + + $o=0; + while ($favorites_count > $o) + { + $stmt="SELECT fullname,protocol from phones where extension = '$favorites[$o]' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $favorites_names[$o] = $rowx[0]; + $favorites_listX .= "$rowx[1]/$favorites[$o],"; + $o++; + } + + echo "\n"; + echo "\n"; + } + else + { + echo "\n"; + } + +### gather phone extensions and fullnames for favorites editor ### + $stmt="SELECT extension,fullname from phones where server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $exten_ct = mysql_num_rows($rslt); + $favlistCT=0; + $nofavlistCT=0; + while ($favlistCT < $exten_ct) + { + $row=mysql_fetch_row($rslt); + $favlist[$favlistCT]= "$row[0] - $row[1]"; + $favlistCT++; + } + + } +} + + +?> + + + + + + +\n"; + + +?> + +
+ + + + + + + + + +
+ + +LOGOUT
\n"; ?> +
Painel PrincipalLinhas Ativas PainelPainel Das ConferênciasVerifique VoicemailVive A Chamada
+
+ + +

Logout
+
+ + +
TRUNK HANGUP

+ Active Trunks Menu
+ Tronco Do Hangup   |   + Tronco Do Hijack   |   + Escuta O Tronco   |   + Refresque   |   + Para trás à janela principal +
+
+ + +
HANGUP LOCAL

+ Menu Local Ativo
+ Local Do Hangup   |   + Local Do Hijack   |   + Escuta O Local   |   + Refresque   |   + Para trás à janela principal +
+
+ + + + + + + +
TRANSFERÊNCIA VIVA DA CHAMADA
Canaleta a ser transferida: Canaleta
Extensões:
Menu Das Extensões
+
+ Emita à extensão selecionada

+ Emita à caixa selecionada do vmail

+ Emita a este número:


+ Refresque


+ Para trás à janela principal

+
Conferências:
(estale sobre um número abaixo para emitir a uma conferência)
Emita minha canaleta demasiado
Menu Das Conferências
+
+ + + + + +
Seletor LOCAL Das Extensões
Telefone que chama-se de: Canaleta
Extensões:
Menu Das Extensões
+
+ Extensão selecionada chamada

+ Caixa selecionada chamada do vmail

+ Refresque


+ Para trás à janela principal

+
+
+ + +
CHAMADAS ESTACIONADAS:
+ Para trás à janela principal

+
+
+ + + + + + + + + + + + + + + +
  +
VOICEMAIL     NOVO:     VELHO:             SELETOR MANUAL       SELETOR
CHAMADAS ESTACIONADAS: 0                EXTENSÕES LOCAIS DO SELETOR
CHAMADAS OUTBOUND :
CHAMADAS INBOUND:
VERSÃO astGUIclient do correia-cliente: CONFIGURAÇÃO:
+ + + + $h) + { + if (strlen($favorites[$h])>1) + { + echo "\n"; + } + $h++; + } +?> + +
FAVORITOS       edite
$favorites[$h] - $favorites_names[$h]
 
+
+ + + + + + + +
FAVORITOS

 
SUBMETA MUDANÇAS dos FAVORITOS - requer o logout
PARA TRÁS À JANELA PRINCIPAL - ignore as mudanças feitas
+
+ +
+ + + + + + + + + + + + + +
+PAUSA | COMEÇO     Refresque a taxa: 1000 ms Mais rapidamente | Mais lento

+
Inicializar..
+
Extensões Ativas
+REFRESQUE | +ORDEM | +
Linhas Exteriores
+REFRESQUE | +ORDEM | +
Extensões Locais
+REFRESQUE | +ORDEM | +
+ Os Dados Vão Aqui

+
+ Os Dados Vão Aqui

Ação Do Tronco +
+ Os Dados Vão Aqui

Ação Local +
+
+ + + + +
+ + +Lista Das Conferências + + + +
+Estale sobre um número de quarto da conferência na esquerda para o +
+ + + + + + + + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/call_log_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/call_log_display.php new file mode 100644 index 00000000..dc59b56f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/call_log_display.php @@ -0,0 +1,196 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send the inbound and outbound calls for a specific phone +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### - $in_limit - ('10','20','50','100',...) +### - $out_limit - ('10','20','50','100',...) +### + +# changes +# 50406-1013 - First build of script +# 50407-1452 - Added definable limits +# 50503-1236 - added session_name checking for extra security +# 50610-1158 - Added NULL check on MySQL results to reduced errors +# 50711-1202 - removed HTTP authentication in favor of user/pass vars +# 60323-1550 - added option for showing different number dialed in log +# 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1202 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($in_limit)) {$in_limit="100";} +if (!isset($out_limit)) {$out_limit="100";} +$number_dialed = 'number_dialed'; +#$number_dialed = 'extension'; + +$version = '0.0.8'; +$build = '60619-1202'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Usuárioname/Senha: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Exposição Do Registro Da Chamada"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten é inválido ou protocolo $protocol é inválido\n"; + exit; + } + else + { + ##### print outbound calls from the call_log table + $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} + echo "$out_calls_count|"; + $loop_count=0; + while ($out_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[3] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + + if ($number_dialed == 'extension') {$row[2] = substr($row[2],-10);} + echo "$row[0] ~$row[1] ~$row[2] ~$call_time_MS|"; + } + echo "\n"; + + ##### print inbound calls from the live_inbound_log table + $stmt="SELECT call_log.uniqueid,live_inbound_log.start_time,live_inbound_log.extension,caller_id,length_in_sec from live_inbound_log,call_log where phone_ext='$exten' and live_inbound_log.server_ip = '$server_ip' and call_log.uniqueid=live_inbound_log.uniqueid order by start_time desc limit $in_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} + echo "$in_calls_count|"; + $loop_count=0; + while ($in_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[4] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $callerIDnum = $row[3]; $callerIDname = $row[3]; + $callerIDnum = preg_replace("/.*<|>.*/","",$callerIDnum); + $callerIDname = preg_replace("/\"| <\d*>/","",$callerIDname); + + echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; + } + echo "\n"; + + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/conf_exten_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/conf_exten_check.php new file mode 100644 index 00000000..ed42c28f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/conf_exten_check.php @@ -0,0 +1,297 @@ + LICENSE: GPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('refresh','register') +# - $client - ('agc','vdc') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $campagentstdisp - ('YES',...) +# + +# changes +# 50509-1054 - First build of script +# 50511-1112 - Added ability to register a conference room +# 50610-1159 - Added NULL check on MySQL results to reduced errors +# 50706-1429 - script changed to not use HTTP login vars, user/pass instead +# 50706-1525 - Added date-time display for vicidial client display +# 50816-1500 - Added random update to vicidial_live_agents table for vdc users +# 51121-1353 - Altered echo statements for several small PHP speed optimizations +# 60410-1424 - Added ability to grab calls-being-placed and agent status +# 60421-1405 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1201 - Added variable filters to close security holes for login form +# 61128-2255 - Added update for manual dial vicidial_live_agents +# 70319-1542 - Added agent disabled display function +# 71122-0205 - Added vicidial_live_agent status output +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["client"])) {$client=$_GET["client"];} + elseif (isset($_POST["client"])) {$client=$_POST["client"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campagentstdisp"])) {$campagentstdisp=$_GET["campagentstdisp"];} + elseif (isset($_POST["campagentstdisp"])) {$campagentstdisp=$_POST["campagentstdisp"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($client)) {$client="agc";} + +$version = '2.0.4-12'; +$build = '71122-0205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd_His"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$random = (rand(1000000, 9999999) + 10000000); + + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Usuárioname/Senha: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Verificação Da Extensão De Conf"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + if ($ACTION == 'refresh') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($conf_exten)<1) + { + $channel_live=0; + echo "Conf Exten $conf_exten é inválido\n"; + exit; + } + else + { + + if ($client == 'vdc') + { + $Acount=0; + $AexternalDEAD=0; + + ### see if the agent has a record in the vicidial_live_agents table + $stmt="SELECT count(*) from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Acount=$row[0]; + + if ($Acount > 0) + { + $stmt="SELECT status from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Astatus=$row[0]; + } + # ### find out if external table shows agent should be disabled + # $stmt="SELECT count(*) from another_table where user='$user' and status='DEAD';"; + # if ($DB) {echo "|$stmt|\n";} + # $rslt=mysql_query($stmt, $link); + # $row=mysql_fetch_row($rslt); + # $AexternalDEAD=$row[0]; + + if ($auto_dial_level > 0) + { + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + if ($campagentstdisp == 'YES') + { + ### grab the status of this agent to display + $stmt="SELECT status,campaign_id from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Alogin=$row[0]; + $Acampaign=$row[1]; + + ### grab the number of calls being placed from this server and campaign + $stmt="SELECT count(*) from vicidial_auto_calls where server_ip='$server_ip' and status NOT IN('XFER') and campaign_id='$Acampaign';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $RingCalls=$row[0]; + } + else + { + $Alogin='N'; + $RingCalls='N'; + } + } + else + { + $Alogin='N'; + $RingCalls='N'; + + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } + + if ($Acount < 1) {$Alogin='DEAD_VLA';} + if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} + + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . "|\n"; + + } + $total_conf=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$sip_list = mysql_num_rows($rslt);} + # echo "$sip_list|"; + $loop_count=0; + while ($sip_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $CanaletaA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + # echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $CanaletaA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + } + $channels_list = ($channels_list + $sip_list); + echo "$channels_list|"; + + $counter=0; + $countecho=''; + while($total_conf > $counter) + { + $counter++; + $countecho = "$countecho$CanaletaA[$counter] ~"; + # echo "$CanaletaA[$counter] ~"; + } + + echo "$countecho\n"; + } + + if ($ACTION == 'register') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($exten)<1) ) + { + $channel_live=0; + echo "Conf Exten $conf_exten é inválido or Exten $exten é inválido\n"; + exit; + } + else + { + $stmt="UPDATE conferences set extension='$exten' where server_ip = '$server_ip' and conf_exten = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + echo "Conferência $conf_exten foi registado a $exten\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/dbconnect.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/dbconnect.php new file mode 100644 index 00000000..723d3c59 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/dbconnect.php @@ -0,0 +1,58 @@ + LICENSE: AGPLv2 +# +if ( file_exists("/etc/astguiclient.conf") ) +{ +$DBCagc = file("/etc/astguiclient.conf"); +foreach ($DBCagc as $DBCline) + { + $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); + if (ereg("^PATHlogs", $DBCline)) + {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} + if (ereg("^PATHweb", $DBCline)) + {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} + if (ereg("^VARDB_server", $DBCline)) + {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} + if (ereg("^VARDB_database", $DBCline)) + {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} + if (ereg("^VARDB_user", $DBCline)) + {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} + if (ereg("^VARDB_pass", $DBCline)) + {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} + if (ereg("^VARDB_port", $DBCline)) + {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} + } + +} +else +{ +#defaults for DB connection +$VARDB_server = 'localhost'; +$VARDB_user = 'cron'; +$VARDB_pass = '1234'; +$VARDB_database = '1234'; +$WeBServeRRooT = '/usr/local/apache2/htdocs'; +} + +$link=mysql_connect("$VARDB_server", "$VARDB_user", "$VARDB_pass"); +if (!$link) { + die('MySQL connect ERROR: ' . mysql_error()); +} +mysql_select_db("$VARDB_database",$link); + +$local_DEF = 'Local/'; +$conf_silent_prefix = '7'; +$local_AMP = '@'; +$ext_context = 'demo'; +$recording_exten = '8309'; +$WeBRooTWritablE = '1'; +$non_latin = '0'; # set to 1 for UTF rules, overridden by system_settings +$flag_channels=0; +$flag_string = 'VICIast20'; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/inbound_popup.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/inbound_popup.php new file mode 100644 index 00000000..b9ed7470 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/inbound_popup.php @@ -0,0 +1,351 @@ + LICENSE: GPLv2 +### +### This script is designed to open up when a live_inbound call comes in giving the user +### options of what to do with the call or options to lookup the callerID on various web sites +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $uniqueid - ('1234567890.123456',...) +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $vmail_box - ('101','1234',...) +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $ext_context - ('default','demo',...) +### - $ext_priority - ('1','2',...) +### - $voicemail_dump_exten - ('85026666666666') +### - $local_web_callerID_URL_enc - ( rawurlencoded custom callerid lookup URL) +### + +# changes +# 50428-1500 - First build of script display only +# 50429-1241 - some formatting, hangup and Vmail redirect, 30s timeout on actions, and CID web lookup links +# 50503-1244 - added session_name checking for extra security +# 50711-1203 - removed HTTP authentication in favor of user/pass vars +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["voicemail_dump_exten"])) {$voicemail_dump_exten=$_GET["voicemail_dump_exten"];} + elseif (isset($_POST["voicemail_dump_exten"])) {$voicemail_dump_exten=$_POST["voicemail_dump_exten"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_GET["local_web_callerID_URL_enc"];} + elseif (isset($_POST["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_POST["local_web_callerID_URL_enc"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} + else {$local_web_callerID_URL = '';} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.6'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$DO = '-1'; +if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Usuárioname/Senha: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +echo "\n"; +echo "\n"; +echo "\n"; +?> + + +CHAMADA INBOUND VIVA"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "

CHAMADA INBOUND VIVA

\n"; +echo "$NOW_TIME

\n"; +} + + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($uniqueid)<9) + { + $channel_live=0; + echo "Uniqueid $uniqueid é inválido\n"; + exit; + } + else + { + $stmt="SELECT * FROM live_inbound where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $channels_list = mysql_num_rows($rslt); + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); +# echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; +# Zap/73|"V.I.C.I. MARKET" <7275338730>|2005-04-28 14:01:21|7274514936|Inbound direct to Matt||||| + if ($format=='debug') {echo "\n";} + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Canaleta: $row[1]
CallerID: $row[3]
\n"; + + $phone = eregi_replace(".*\<","",$row[3]); + $phone = eregi_replace("\>.*","",$phone); + $NPA = substr($phone, 0, 3); + $NXX = substr($phone, 3, 3); + $XXXX = substr($phone, 6, 4); + $D='-'; + echo "GOOGLE - \n"; + echo "ANYWHO - \n"; + echo "SWITCHBOARD - \n"; + echo "VERIZON - \n"; + echo "WHITEPAGES - \n"; + echo "411.COM - \n"; + echo "411.COM - \n"; + + $local_web_callerID_QUERY_STRING =''; + $local_web_callerID_QUERY_STRING.="?callerID_areacode=$NPA"; + $local_web_callerID_QUERY_STRING.="&callerID_prefix=$NXX"; + $local_web_callerID_QUERY_STRING.="&callerID_last4=$XXXX"; + $local_web_callerID_QUERY_STRING.="&callerID_Time=$row[6]"; + $local_web_callerID_QUERY_STRING.="&callerID_Canaleta=$row[1]"; + $local_web_callerID_QUERY_STRING.="&callerID_uniqueID=$row[0]"; + $local_web_callerID_QUERY_STRING.="&callerID_phone_ext=$row[5]"; + $local_web_callerID_QUERY_STRING.="&callerID_server_ip=$row[2]"; + $local_web_callerID_QUERY_STRING.="&callerID_extension=$row[4]"; + $local_web_callerID_QUERY_STRING.="&callerID_inbound_number=$row[8]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_a=$row[9]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_b=$row[10]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_c=$row[11]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_d=$row[12]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_e=$row[13]"; + echo "COSTUME - \n"; + + echo "
O Número Marcou: $row[8]
Notas: $row[9]|$row[10]|$row[11]|$row[12]|$row[13]|
\n"; + echo "HANGUP - \n"; + echo "EMITA A MEU VOICEMAIL\n"; + echo "
\n"; + + + $stmt="UPDATE live_inbound set acknowledged='Y' where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + + } + + + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/live_exten_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/live_exten_check.php new file mode 100644 index 00000000..5a7a69d6 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/live_exten_check.php @@ -0,0 +1,278 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send whether the client channel is live and to what channel it is connected +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### + +# changes +# 50404-1249 - First build of script +# 50406-1402 - added connected trunk lookup +# 50428-1452 - added live_inbound check for exten on 2nd line of output +# 50503-1233 - added session_name checking for extra security +# 50524-1429 - added parked calls count +# 50610-1204 - Added NULL check on MySQL results to reduced errors +# 50711-1204 - removed HTTP authentication in favor of user/pass vars +# 60103-1541 - added favorite extens status display +# 60421-1359 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1203 - Added variable filters to close security holes for login form +# 60825-1029 - Fixed translation variable issue ChannelA +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count"];} + elseif (isset($_POST["favorites_count"])) {$favorites_count=$_POST["favorites_count"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '2.0.1'; +$build = '60825-1029'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Usuárioname/Senha: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Verificação Viva Da Extensão"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + +echo "DateTime: $NOW_TIME|"; +echo "UnixTime: $StarTtime|"; + +$stmt="SELECT count(*) FROM parked_channels where server_ip = '$server_ip';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +echo "$row[0]|"; + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten é inválido ou protocolo $protocol é inválido\n"; + exit; + } + else + { + $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + $ChanneLA[$loop_count] = "$row[0]"; + $ChanneLB[$loop_count] = "$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + $counter=0; + while($loop_count > $counter) + { + $counter++; + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "CanaletaA: $ChanneLA[$counter] ~"; + echo "CanaletaB: $ChanneLB[$counter] ~"; + echo "CanaletaBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "CanaletaA: $ChanneLA[$counter] ~"; + echo "CanaletaB: $ChanneLB[$counter] ~"; + echo "CanaletaBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "CanaletaA: $ChanneLA[$counter] ~"; + echo "CanaletaB: $ChanneLB[$counter] ~"; + echo "CanaletaBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "CanaletaA: $ChanneLA[$counter] ~"; + echo "CanaletaB: $ChanneLB[$counter] ~"; + echo "CanaletaBtrunk: $row[0]|"; + } + else + { + echo "Conversation: $counter ~"; + echo "CanaletaA: $ChanneLA[$counter] ~"; + echo "CanaletaB: $ChanneLB[$counter] ~"; + echo "CanaletaBtrunk: $ChanneLA[$counter]|"; + } + } + } + } + } + +echo "\n"; + +### check for live_inbound entry +$stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = '$exten' and acknowledged='N';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +if ($rslt) {$channels_list = mysql_num_rows($rslt);} + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); + $LIuniqueid = "$row[0]"; + $LIchannel = "$row[1]"; + $LIcallerid = "$row[3]"; + $LIdatetime = "$row[6]"; + echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; + if ($format=='debug') {echo "\n";} + } + +echo "\n"; + + +### if favorites are present do a lookup to see if any are active +if ($favorites_count > 0) + { + $favorites = explode(',',$favorites_list); + $h=0; + $favs_print=''; + while ($favorites_count > $h) + { + $fav_extension = explode('/',$favorites[$h]); + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$favorites[$h]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favs_print .= "$fav_extension[1]: $row[0] ~"; + $h++; + } + echo "$favs_print\n"; + } + +if ($format=='debug') {echo "\n";} + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/manager_send.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/manager_send.php new file mode 100644 index 00000000..0823f931 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/manager_send.php @@ -0,0 +1,1142 @@ + LICENSE: GPLv2 +# +# This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $ACTION - ('Originate','Redirect','Hangup','Command','Monitor','StopMonitor','SysCIDOriginate','RedirectName','RedirectNameVmail','MonitorConf','StopMonitorConf','RedirectXtra','RedirectXtraCX','RedirectVD','HangupConfDial','VolumeControl','OriginateVDRelogin') +# - $queryCID - ('CN012345678901234567',...) +# - $format - ('text','debug') +# - $channel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $exten - ('1234','913125551212',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $filename - ('20050406-125623_44444',...) +# - $extenName - ('phone100',...) +# - $parkedby - ('phone100',...) +# - $extrachannel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $auto_dial_level - ('0','1','1.1',...) +# - $campaign - ('CLOSER','TESTCAMP',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('1234',...) +# - $seconds - ('32',...) +# - $outbound_cid - ('3125551212','0000000000',...) +# - $agent_log_id - ('123456',...) +# - $call_server_ip - ('10.10.10.15',...) +# - $CalLCID - ('VD01234567890123456',...) +# - $stage - ('UP','DOWN') +# + +# CHANGELOG: +# 50401-1002 - First build of script, Hangup function only +# 50404-1045 - Redirect basic function enabled +# 50406-1522 - Monitor basic function enabled +# 50407-1647 - Monitor and StopMonitor full functions enabled +# 50422-1120 - basic Originate function enabled +# 50428-1451 - basic SysCIDOriginate function enabled for checking voicemail +# 50502-1539 - basic RedirectName and RedirectNameVmail added +# 50503-1227 - added session_name checking for extra security +# 50523-1341 - added Conference call start/stop recording +# 50523-1421 - added OriginateName and OriginateNameVmail for local calls +# 50524-1602 - added RedirectToPark and RedirectFromPark +# 50531-1203 - added RedirecXtra for dual channel redirection +# 50630-1100 - script changed to not use HTTP login vars, user/pass instead +# 50804-1148 - Added RedirectVD for VICIDIAL blind redirection with logging +# 50815-1204 - Added NEXTAVAILABLE to RedirectXtra function +# 50903-2343 - Added HangupConfDial function to hangup in-dial channels in conf +# 50913-1057 - Added outbound_cid set if present to originate call +# 51020-1556 - Added agent_log_id framework for detailed agent activity logging +# 51118-1204 - Fixed Blind transfer bug from VICIDIAL when in manual dial mode +# 51129-1014 - Added ability to accept calls from other VICIDIAL servers +# 51129-1253 - Fixed Hangups of other agents channels in VICIDIAL AD +# 60310-2022 - Fixed NEXTAVAILABLE bug in leave-3way-call redirect function +# 60421-1413 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1158 - Added variable filters to close security holes for login form +# 60809-1544 - Added direct transfers to leave-3ways in consultative transfers +# 61004-1526 - Added parsing of volume control command and lookup or number +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61201-1115 - Added user to MonitorConf for recording_log +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70226-1251 - Added Mute/UnMute to conference volume control +# 70320-1502 - Added option to allow retry of leave-3way-call and debug logging +# 70322-1636 - Added sipsak display ability +# + +require("dbconnect.php"); + +### These are variable assignments for PHP globals off +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["queryCID"])) {$queryCID=$_GET["queryCID"];} + elseif (isset($_POST["queryCID"])) {$queryCID=$_POST["queryCID"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["filename"])) {$filename=$_GET["filename"];} + elseif (isset($_POST["filename"])) {$filename=$_POST["filename"];} +if (isset($_GET["extenName"])) {$extenName=$_GET["extenName"];} + elseif (isset($_POST["extenName"])) {$extenName=$_POST["extenName"];} +if (isset($_GET["parkedby"])) {$parkedby=$_GET["parkedby"];} + elseif (isset($_POST["parkedby"])) {$parkedby=$_POST["parkedby"];} +if (isset($_GET["extrachannel"])) {$extrachannel=$_GET["extrachannel"];} + elseif (isset($_POST["extrachannel"])) {$extrachannel=$_POST["extrachannel"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["secondS"])) {$secondS=$_GET["secondS"];} + elseif (isset($_POST["secondS"])) {$secondS=$_POST["secondS"];} +if (isset($_GET["outbound_cid"])) {$outbound_cid=$_GET["outbound_cid"];} + elseif (isset($_POST["outbound_cid"])) {$outbound_cid=$_POST["outbound_cid"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["call_server_ip"])) {$call_server_ip=$_GET["call_server_ip"];} + elseif (isset($_POST["call_server_ip"])) {$call_server_ip=$_POST["call_server_ip"];} +if (isset($_GET["CalLCID"])) {$CalLCID=$_GET["CalLCID"];} + elseif (isset($_POST["CalLCID"])) {$CalLCID=$_POST["CalLCID"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["allow_sipsak_messages"])) {$allow_sipsak_messages=$_GET["allow_sipsak_messages"];} + elseif (isset($_POST["allow_sipsak_messages"])) {$allow_sipsak_messages=$_POST["allow_sipsak_messages"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$secondS = ereg_replace("[^0-9]","",$secondS); + +# default optional vars if not set +if (!isset($ACTION)) {$ACTION="Originate";} +if (!isset($format)) {$format="alert";} +if (!isset($ext_priority)) {$ext_priority="1";} + +$version = '2.0.29'; +$build = '70320-1502'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Usuárioname/Senha: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "O Gerente Emite: "; +if ($ACTION=="Originate") {echo "Originate";} +if ($ACTION=="Redirect") {echo "Redirect";} +if ($ACTION=="RedirectName") {echo "RedirectName";} +if ($ACTION=="Hangup") {echo "Hangup";} +if ($ACTION=="Command") {echo "Command";} +if ($ACTION==99999) {echo "AJUDA";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ACTION=SysCIDOriginate - insert Originate Manager statement allowing small CIDs for system calls +###################### +if ($ACTION=="SysCIDOriginate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<1) ) + { + echo "Exten $exten é inválido or queryCID $queryCID é inválido, Originate comando não introduzido\n"; + } + else + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Originate comando emitido para Exten $exten Canaleta $channel em $server_ip\n"; + } +} + + + +###################### +# ACTION=Originate, OriginateName, OriginateNameVmail - insert Originate Manager statement +###################### +if ($ACTION=="OriginateName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Uma destas variáveis é inválido:\n"; + echo "Canaleta $channel deve ser mais grande de 2 caráteres\n"; + echo "queryCID $queryCID deve ser mais grande de 14 caráteres\n"; + echo "extenName $extenName deve ser ajustado\n"; + echo "ext_context $ext_context deve ser ajustado\n"; + echo "ext_priority $ext_priority deve ser ajustado\n"; + echo "\nOriginateName Action não emitido\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Uma destas variáveis é inválido:\n"; + echo "Canaleta $channel deve ser mais grande de 2 caráteres\n"; + echo "queryCID $queryCID deve ser mais grande de 14 caráteres\n"; + echo "extenName $extenName deve ser ajustado\n"; + echo "exten $exten deve ser ajustado\n"; + echo "ext_context $ext_context deve ser ajustado\n"; + echo "ext_priority $ext_priority deve ser ajustado\n"; + echo "\nOriginateNameVmail Action não emitido\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateVDRelogin") +{ + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $CIDdate = date("ymdHis"); + $DS='-'; + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $queryCID = "$SIPSAK_prefix$campaign$DS$CIDdate"; + + } + $ACTION="Originate"; +} + +if ($ACTION=="Originate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<10) ) + { + echo "Exten $exten é inválido or queryCID $queryCID é inválido, Originate comando não introduzido\n"; + } + else + { + if (strlen($outbound_cid)>1) + {$outCID = "\"$queryCID\" <$outbound_cid>";} + else + {$outCID = "$queryCID";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $outCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Originate comando emitido para Exten $exten Canaleta $channel em $server_ip\n"; + } +} + + + +###################### +# ACTION=HangupConfDial - find the Local channel that is in the conference and needs to be hung up +###################### +if ($ACTION=="HangupConfDial") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "conference $exten é inválido or ext_context $ext_context or queryCID $queryCID é inválido, Hangup comando não introduzido\n"; + } + else + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $hangup_channel_prefix = "$local_DEF$exten$local_AMP$ext_context"; + + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row > 0) + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $channel=$rowx[0]; + $ACTION="Hangup"; + $queryCID = eregi_replace("^.","G",$queryCID); + } + } +} + + + +###################### +# ACTION=Hangup - insert Hangup Manager statement +###################### +if ($ACTION=="Hangup") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) ) + { + $channel_live=0; + echo "Canaleta $channel é inválido or queryCID $queryCID é inválido, Hangup comando não introduzido\n"; + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + +# $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $row=mysql_fetch_row($rslt); +# if ($row[0]==0) +# { +# $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $rowx=mysql_fetch_row($rslt); +# if ($rowx[0]==0) +# { +# $channel_live=0; +# echo "Channel $channel is not live on $call_server_ip, Hangup command not inserted\n"; +# } +# } + if ( ($auto_dial_level > 0) and (strlen($CalLCID)>2) and (strlen($exten)>2) and ($secondS > 4)) + { + $stmt="SELECT count(*) FROM vicidial_auto_calls where channel='$channel' and callerid='$CalLCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + echo "Call $CalLCID $channel não está vivo em $call_server_ip, Checking Live Canaleta...\n"; + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel' and extension LIKE \"%$exten\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $channel_live=0; + echo "Canaleta $channel não está vivo em $call_server_ip, Hangup comando não introduzido $rowx[0]\n$stmt\n"; + } + else + { + echo "$stmt\n"; + } + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Hangup','$queryCID','Channel: $channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Hangup comando emitido para Canaleta $channel em $call_server_ip\n"; + } + } +} + + + +###################### +# ACTION=Redirect, RedirectName, RedirectNameVmail, RedirectToPark, RedirectFromPark, RedirectVD, RedirectXtra, RedirectXtraCX +# - insert Redirect Manager statement using extensions name +###################### +if ($ACTION=="RedirectVD") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($campaign)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($uniqueid)<2) or (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "Uma destas variáveis é inválido:\n"; + echo "Canaleta $channel deve ser mais grande de 2 caráteres\n"; + echo "queryCID $queryCID deve ser mais grande de 14 caráteres\n"; + echo "exten $exten deve ser ajustado\n"; + echo "ext_context $ext_context deve ser ajustado\n"; + echo "ext_priority $ext_priority deve ser ajustado\n"; + echo "auto_dial_level $auto_dial_level deve ser ajustado\n"; + echo "campaign $campaign deve ser ajustado\n"; + echo "uniqueid $uniqueid deve ser ajustado\n"; + echo "lead_id $lead_id deve ser ajustado\n"; + echo "\nRedirectVD Action não emitido\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where lead_id='$lead_id' order by start_epoch desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + if ($auto_dial_level < 1) + { + $stmt = "UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt = "DELETE from vicidial_auto_calls where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectToPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($parkedby)<1) ) + { + $channel_live=0; + echo "Uma destas variáveis é inválido:\n"; + echo "Canaleta $channel deve ser mais grande de 2 caráteres\n"; + echo "queryCID $queryCID deve ser mais grande de 14 caráteres\n"; + echo "exten $exten deve ser ajustado\n"; + echo "extenName $extenName deve ser ajustado\n"; + echo "ext_context $ext_context deve ser ajustado\n"; + echo "ext_priority $ext_priority deve ser ajustado\n"; + echo "parkedby $parkedby deve ser ajustado\n"; + echo "\nRedirectToPark Action não emitido\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "INSERT INTO parked_channels values('$channel','$server_ip','','$extenName','$parkedby','$NOW_TIME');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectFromPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Uma destas variáveis é inválido:\n"; + echo "Canaleta $channel deve ser mais grande de 2 caráteres\n"; + echo "queryCID $queryCID deve ser mais grande de 14 caráteres\n"; + echo "exten $exten deve ser ajustado\n"; + echo "ext_context $ext_context deve ser ajustado\n"; + echo "ext_priority $ext_priority deve ser ajustado\n"; + echo "\nRedirectFromPark Action não emitido\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "DELETE FROM parked_channels where server_ip='$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Uma destas variáveis é inválido:\n"; + echo "Canaleta $channel deve ser mais grande de 2 caráteres\n"; + echo "queryCID $queryCID deve ser mais grande de 14 caráteres\n"; + echo "extenName $extenName deve ser ajustado\n"; + echo "ext_context $ext_context deve ser ajustado\n"; + echo "ext_priority $ext_priority deve ser ajustado\n"; + echo "\nRedirectName Action não emitido\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Redirect"; + } + } +} + +if ($ACTION=="RedirectNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Uma destas variáveis é inválido:\n"; + echo "Canaleta $channel deve ser mais grande de 2 caráteres\n"; + echo "queryCID $queryCID deve ser mais grande de 14 caráteres\n"; + echo "extenName $extenName deve ser ajustado\n"; + echo "exten $exten deve ser ajustado\n"; + echo "ext_context $ext_context deve ser ajustado\n"; + echo "ext_priority $ext_priority deve ser ajustado\n"; + echo "\nRedirectNameVmail Action não emitido\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Redirect"; + } + } +} + +if ($ACTION=="RedirectXtraCX") +{ + $DBout=''; + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Uma destas variáveis é inválido:\n"; + echo "Canaleta $channel deve ser mais grande de 2 caráteres\n"; + echo "ExtraCanaleta $extrachannel deve ser mais grande de 2 caráteres\n"; + echo "queryCID $queryCID deve ser mais grande de 14 caráteres\n"; + echo "exten $exten deve ser ajustado\n"; + echo "ext_context $ext_context deve ser ajustado\n"; + echo "ext_priority $ext_priority deve ser ajustado\n"; + echo "\nRedirect Action não emitido\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Canaleta $channel não está vivo em $call_server_ip, Redirect comando não introduzido\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel não está vivo em $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Canaleta $channel não está vivo em $server_ip, Redirect comando não introduzido\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel não está vivo em $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + $stmt="SELECT count(*) FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $channel_liveY=0; + echo "No Local agent to send call to, Redirect comando não introduzido\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + } + else + { + $stmt="SELECT server_ip,conf_exten,user FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $dest_server_ip = $rowx[0]; + $dest_session_id = $rowx[1]; + $dest_user = $rowx[2]; + $S='*'; + + $D_s_ip = explode('.', $dest_server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$dest_session_id$S$lead_id$S$dest_user$S$phone_code$S$phone_number$S$campaign$S"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','$queryCID','Channel: $extrachannel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtraCX comando emitido para Canaleta $channel em $call_server_ip and \nHungup $extrachannel em $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel em $call_server_ip, Hungup $extrachannel em $server_ip";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel em $server_ip";} + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } +} + +if ($ACTION=="RedirectXtra") +{ + if ($channel=="$extrachannel") + {$ACTION="Redirect";} + else + { + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Uma destas variáveis é inválido:\n"; + echo "Canaleta $channel deve ser mais grande de 2 caráteres\n"; + echo "ExtraCanaleta $extrachannel deve ser mais grande de 2 caráteres\n"; + echo "queryCID $queryCID deve ser mais grande de 14 caráteres\n"; + echo "exten $exten deve ser ajustado\n"; + echo "ext_context $ext_context deve ser ajustado\n"; + echo "ext_priority $ext_priority deve ser ajustado\n"; + echo "\nRedirect Action não emitido\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if ($exten == "NEXTAVAILABLE") + { + $stmt="SELECT conf_exten FROM conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 3) + { + $stmt="UPDATE conferences set extension='$user' where server_ip='$server_ip' and conf_exten='$row[0]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $exten = $row[0]; + } + else + { + $channel_liveX=0; + echo "Não pode encontrar a conferência vazia em $server_ip, Redirect comando não introduzido\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Não pode encontrar a conferência vazia em $server_ip";} + } + } + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Canaleta $channel não está vivo em $call_server_ip, Redirect comando não introduzido\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel não está vivo em $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Canaleta $channel não está vivo em $server_ip, Redirect comando não introduzido\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel não está vivo em $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + if ( ($server_ip=="$call_server_ip") or (strlen($call_server_ip)<7) ) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','ExtraChannel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra comando emitido para Canaleta $channel and \nExtraCanaleta $extrachannel\n to $exten em $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten em $server_ip";} + } + else + { + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$exten"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra comando emitido para Canaleta $channel em $call_server_ip and \nExtraCanaleta $extrachannel\n to $exten em $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } + } +} + + +if ($ACTION=="Redirect") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Uma destas variáveis é inválido:\n"; + echo "Canaleta $channel deve ser mais grande de 2 caráteres\n"; + echo "queryCID $queryCID deve ser mais grande de 14 caráteres\n"; + echo "exten $exten deve ser ajustado\n"; + echo "ext_context $ext_context deve ser ajustado\n"; + echo "ext_priority $ext_priority deve ser ajustado\n"; + echo "\nRedirect Action não emitido\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Canaleta $channel não está vivo em $server_ip, Redirect comando não introduzido\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "Redirect comando emitido para Canaleta $channel em $server_ip\n"; + } + } +} + + + +###################### +# ACTION=Monitor or Stop Monitor - insert Monitor/StopMonitor Manager statement to start recording on a channel +###################### +if ( ($ACTION=="Monitor") || ($ACTION=="StopMonitor") ) +{ + if ($ACTION=="StopMonitor") + {$SQLfile = "";} + else + {$SQLfile = "File: $filename";} + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Canaleta $channel é inválido or queryCID $queryCID é inválido or filename: $filename é inválido, $ACTION comando não introduzido\n"; + } + else + { + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Canaleta $channel não está vivo em $server_ip, $ACTION comando não introduzido\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','$ACTION','$queryCID','Channel: $channel','$SQLfile','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + if ($ACTION=="Monitor") + { + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + } + else + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + } + echo "$ACTION comando emitido para Canaleta $channel em $server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n"; + } + } +} + + + + + + +###################### +# ACTION=MonitorConf or StopMonitorConf - insert Monitor/StopMonitor Manager statement to start recording on a conference +###################### +if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<3) or (strlen($channel)<4) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Canaleta $channel é inválido or exten $exten é inválido or filename: $filename é inválido, $ACTION comando não introduzido\n"; + } + else + { + + if ($ACTION=="MonitorConf") + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$filename','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $filename','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + } + else + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + # find and hang up all recordings going em in this conference # and extension = '$exten' + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + # $rec_count = intval(mysql_num_rows($rslt) / 2); + $rec_count = mysql_num_rows($rslt); + $h=0; + while ($rec_count>$h) + { + $rowx=mysql_fetch_row($rslt); + $HUchannel[$h] = $rowx[0]; + $h++; + } + $i=0; + while ($h>$i) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$i','Channel: $HUchannel[$i]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $i++; + } + + } + echo "$ACTION comando emitido para Canaleta $channel em $server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n A GRAVAÇÃO DURARÁ ATÉ 60 MINUTOS\n"; + } +} + + + + + +###################### +# ACTION=VolumeControl - raise or lower the volume of a meetme participant +###################### +if ($ACTION=="VolumeControl") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($stage)<1) or (strlen($queryCID)<1) ) + { + echo "Conferência $exten, Stage $stage é inválido or queryCID $queryCID é inválido, Originate comando não introduzido\n"; + } + else + { + $participant_number='XXYYXXYYXXYYXX'; + if (eregi('UP',$stage)) {$vol_prefix='4';} + if (eregi('DOWN',$stage)) {$vol_prefix='3';} + if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} + if (eregi('MUTING',$stage)) {$vol_prefix='1';} + $local_DEF = 'Local/'; + $local_AMP = '@'; + $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $volume_local_channel','Context: $ext_context','Exten: 8300','Priority: 1','Callerid: $queryCID','','','','$channel','$exten');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Volume comando emitido para Conferência $exten, Stage $stage Canaleta $channel em $server_ip\n"; + } +} + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='debug') {echo "\n";} +if ($format=='debug') {echo "\n\n\n";} + +exit; + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/park_calls_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/park_calls_display.php new file mode 100644 index 00000000..40317dfd --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/park_calls_display.php @@ -0,0 +1,146 @@ + LICENSE: GPLv2 +### +### This script is designed purely to send the details on the parked calls on the server +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +### - $protocol - ('SIP','Zap','IAX2',...) +### + +# changes +# 50524-1515 - First build of script +# 50711-1208 - removed HTTP authentication in favor of user/pass vars +# 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($park_limit)) {$park_limit="1000";} + +$version = '0.0.4'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) ) + { + echo "Inválido Usuárioname/Senha: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Exposição Estacionada Das Chamadas"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten é inválido ou protocolo $protocol é inválido\n"; + exit; + } + else + { + ##### print parked calls from the parked_channels table + $stmt="SELECT * from parked_channels where server_ip = '$server_ip' order by parked_time limit $park_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $park_calls_count = mysql_num_rows($rslt); + echo "$park_calls_count\n"; + $loop_count=0; + while ($park_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0] ~$row[2] ~$row[3] ~$row[4] ~$row[5]|"; + } + echo "\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/vdc_db_query.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/vdc_db_query.php new file mode 100644 index 00000000..26896576 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/vdc_db_query.php @@ -0,0 +1,2535 @@ + LICENSE: GPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('regCLOSER','manDiaLnextCALL','manDiaLskip','manDiaLonly','manDiaLlookCALL','manDiaLlogCALL','userLOGout','updateDISPO','VDADpause','VDADready','VDADcheckINCOMING','UpdatEFavoritEs','CalLBacKLisT','CalLBacKCounT','PauseCodeSubmit','LogiNCamPaigns') +# - $stage - ('start','finish','lookup','new') +# - $closer_choice - ('CL_TESTCAMP_L CL_OUT123_L -') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $campaign - ('testcamp',...) +# - $dial_timeout - ('60','26',...) +# - $dial_prefix - ('9','8',...) +# - $campaign_cid - ('3125551212','0000000000',...) +# - $MDnextCID - ('M06301413000000002',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('36524',...) +# - $list_id - ('101','123456',...) +# - $length_in_sec - ('12',...) +# - $phone_code - ('1',...) +# - $phone_number - ('3125551212',...) +# - $channel - ('Zap/12-1',...) +# - $start_epoch - ('1120236911',...) +# - $vendor_lead_code - ('1234test',...) +# - $title - ('Mr.',...) +# - $first_name - ('Bob',...) +# - $middle_initial - ('L',...) +# - $last_name - ('Wilson',...) +# - $address1 - ('1324 Main St.',...) +# - $address2 - ('Apt. 12',...) +# - $address3 - ('co Robert Wilson',...) +# - $city - ('Chicago',...) +# - $state - ('IL',...) +# - $province - ('NA',...) +# - $postal_code - ('60054',...) +# - $country_code - ('USA',...) +# - $gender - ('M',...) +# - $date_of_birth - ('1970-01-01',...) +# - $alt_phone - ('3125551213',...) +# - $email - ('bob@bob.com',...) +# - $security_phrase - ('Hello',...) +# - $comments - ('Good Customer',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $VDstop_rec_after_each_call - ('0','1') +# - $conf_silent_prefix - ('7','8','',...) +# - $extension - ('123','user123','25-1',...) +# - $protocol - ('Zap','SIP','IAX2',...) +# - $user_abb - ('1234','6666',...) +# - $preview - ('YES','NO',...) +# - $called_count - ('0','1','2',...) +# - $agent_log_id - ('123456',...) +# - $agent_log - ('NO',...) +# - $favorites_list - (",'cc160','cc100'",...) +# - $CallBackDatETimE - ('2006-04-21 14:30:00',...) +# - $recipient - ('ANYONE,'USERONLY') +# - $callback_id - ('12345','12346',...) +# - $use_internal_dnc - ('Y','N') +# - $omit_phone_code - ('Y','N') +# - $no_delete_sessions - ('0','1') + +# CHANGELOG: +# 50629-1044 - First build of script +# 50630-1422 - Added manual dial action and MD channel lookup +# 50701-1451 - Added dial log for start and end of vicidial calls +# 50705-1239 - Added call disposition update +# 50804-1627 - Fixed updateDispo to update vicidial_log entry +# 50816-1605 - Added VDADpause/ready for auto dialing +# 50816-1811 - Added basic autodial call pickup functions +# 50817-1005 - Altered logging functions to accomodate auto_dialing +# 50818-1305 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1411 - Added hangup of agent phone after Logout +# 50901-1315 - Fixed CLOSER IN-GROUP Web Form bug +# 50902-1507 - Fixed CLOSER log length_in_sec bug +# 50902-1730 - Added functions for manual preview dialing and revert +# 50913-1214 - Added agent random update to leadupdate +# 51020-1421 - Added agent_log_id framework for detailed agent activity logging +# 51021-1717 - Allows for multi-line comments (changes \n to !N in database) +# 51111-1046 - Added vicidial_agent_log lead_id earlier for manual dial +# 51121-1445 - Altered echo statements for several small PHP speed optimizations +# 51122-1328 - Fixed UserLogout issue not removing conference reservation +# 51129-1012 - Added ability to accept calls from other VICIDIAL servers +# 51129-1729 - Changed manual dial to use the '/n' flag for calls +# 51221-1154 - Added SCRIPT id lookup and sending to vicidial.php for display +# 60105-1059 - Added Updating of astguiclient favorites in the DB +# 60208-1617 - Added dtmf buttons output per call +# 60213-1521 - Added closer_campaigns update to vicidial_users +# 60215-1036 - Added Callback date-time entry into vicidial_callbacks table +# 60413-1541 - Added USERONLY Callback listings output - CalLBacKLisT +# - Added USERONLY Callback count output - CalLBacKCounT +# 60414-1140 - Added Callback lead lookup for manual dialing +# 60419-1517 - After CALLBK is sent to agent, update callback record to INACTIVE +# 60421-1419 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60427-1236 - Fixed closer_choice error for CLOSER campaigns +# 60609-1148 - Added ability to check for manual dial numbers in DNC +# 60619-1117 - Added variable filters to close security holes for login form +# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic +# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing +# 60821-1647 - Added ability to not delete sessions at logout +# 60906-1124 - Added lookup and sending of callback data for CALLBK calls +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70115-1733 - Added alt_dial functionality in auto-dial modes +# 70118-1501 - Added user_group to vicidial_log,_agent_log,_closer_log,_callbacks +# 70123-1357 - Fixed bug that would not update vicidial_closer_log status to dispo +# 70202-1438 - Added pause code submit function +# 70203-0930 - Added dialed_number to lead info output +# 70203-1030 - Added dialed_label to lead info output +# 70206-1126 - Added INBOUND status for inbound/closer calls in vicidial_live_agents +# 70212-1253 - Fixed small issue with CXFER +# 70213-1431 - Added QueueMetrics PAUSE/UNPAUSE/AGENTLOGIN/AGENTLOGOFF actions +# 70214-1231 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1210 - Added queuemetrics COMPLETEAGENT action +# 70216-1051 - Fixed double call complete queuemetrics logging +# 70222-1616 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70309-1034 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70319-1544 - Added agent disable update customer data function +# 70322-1545 - Added sipsak display ability +# 70413-1253 - Fixed bug for outbound call time in CLOSER-type blended campaigns +# 70424-1100 - Fixed bug for fronter/closer calls that would delete vdac records +# 70802-1729 - Fixed bugs with pause_sec and wait_sec under certain call handling +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71029-1855 - removed campaign_id naming restrictions for CLOSER-type campaigns +# 71030-2047 - added hopper priority for auto alt dial entries +# 71116-1011 - added calls_today count updating of the vicidial_live_agents upon INCALL +# 71120-1520 - added LogiNCamPaigns to show only allowed campaigns for agents upon login +# 71125-1751 - Added inbound-group default inbound group sending to vicidial.php +# 71129-2025 - restricted callbacks count and list to campaign only +# + +$version = '2.0.4-65'; +$build = '71129-2025'; + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["closer_choice"])) {$closer_choice=$_GET["closer_choice"];} + elseif (isset($_POST["closer_choice"])) {$closer_choice=$_POST["closer_choice"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["dial_timeout"])) {$dial_timeout=$_GET["dial_timeout"];} + elseif (isset($_POST["dial_timeout"])) {$dial_timeout=$_POST["dial_timeout"];} +if (isset($_GET["dial_prefix"])) {$dial_prefix=$_GET["dial_prefix"];} + elseif (isset($_POST["dial_prefix"])) {$dial_prefix=$_POST["dial_prefix"];} +if (isset($_GET["campaign_cid"])) {$campaign_cid=$_GET["campaign_cid"];} + elseif (isset($_POST["campaign_cid"])) {$campaign_cid=$_POST["campaign_cid"];} +if (isset($_GET["MDnextCID"])) {$MDnextCID=$_GET["MDnextCID"];} + elseif (isset($_POST["MDnextCID"])) {$MDnextCID=$_POST["MDnextCID"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["length_in_sec"])) {$length_in_sec=$_GET["length_in_sec"];} + elseif (isset($_POST["length_in_sec"])) {$length_in_sec=$_POST["length_in_sec"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["start_epoch"])) {$start_epoch=$_GET["start_epoch"];} + elseif (isset($_POST["start_epoch"])) {$start_epoch=$_POST["start_epoch"];} +if (isset($_GET["dispo_choice"])) {$dispo_choice=$_GET["dispo_choice"];} + elseif (isset($_POST["dispo_choice"])) {$dispo_choice=$_POST["dispo_choice"];} +if (isset($_GET["vendor_lead_code"])) {$vendor_lead_code=$_GET["vendor_lead_code"];} + elseif (isset($_POST["vendor_lead_code"])) {$vendor_lead_code=$_POST["vendor_lead_code"];} +if (isset($_GET["title"])) {$title=$_GET["title"];} + elseif (isset($_POST["title"])) {$title=$_POST["title"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["middle_initial"])) {$middle_initial=$_GET["middle_initial"];} + elseif (isset($_POST["middle_initial"])) {$middle_initial=$_POST["middle_initial"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["gender"])) {$gender=$_GET["gender"];} + elseif (isset($_POST["gender"])) {$gender=$_POST["gender"];} +if (isset($_GET["date_of_birth"])) {$date_of_birth=$_GET["date_of_birth"];} + elseif (isset($_POST["date_of_birth"])) {$date_of_birth=$_POST["date_of_birth"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["security_phrase"])) {$security_phrase=$_GET["security_phrase"];} + elseif (isset($_POST["security_phrase"])) {$security_phrase=$_POST["security_phrase"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_GET["VDstop_rec_after_each_call"];} + elseif (isset($_POST["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_POST["VDstop_rec_after_each_call"];} +if (isset($_GET["conf_silent_prefix"])) {$conf_silent_prefix=$_GET["conf_silent_prefix"];} + elseif (isset($_POST["conf_silent_prefix"])) {$conf_silent_prefix=$_POST["conf_silent_prefix"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["user_abb"])) {$user_abb=$_GET["user_abb"];} + elseif (isset($_POST["user_abb"])) {$user_abb=$_POST["user_abb"];} +if (isset($_GET["preview"])) {$preview=$_GET["preview"];} + elseif (isset($_POST["preview"])) {$preview=$_POST["preview"];} +if (isset($_GET["called_count"])) {$called_count=$_GET["called_count"];} + elseif (isset($_POST["called_count"])) {$called_count=$_POST["called_count"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["agent_log"])) {$agent_log=$_GET["agent_log"];} + elseif (isset($_POST["agent_log"])) {$agent_log=$_POST["agent_log"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} +if (isset($_GET["CallBackDatETimE"])) {$CallBackDatETimE=$_GET["CallBackDatETimE"];} + elseif (isset($_POST["CallBackDatETimE"])) {$CallBackDatETimE=$_POST["CallBackDatETimE"];} +if (isset($_GET["recipient"])) {$recipient=$_GET["recipient"];} + elseif (isset($_POST["recipient"])) {$recipient=$_POST["recipient"];} +if (isset($_GET["callback_id"])) {$callback_id=$_GET["callback_id"];} + elseif (isset($_POST["callback_id"])) {$callback_id=$_POST["callback_id"];} +if (isset($_GET["use_internal_dnc"])) {$use_internal_dnc=$_GET["use_internal_dnc"];} + elseif (isset($_POST["use_internal_dnc"])) {$use_internal_dnc=$_POST["use_internal_dnc"];} +if (isset($_GET["omit_phone_code"])) {$omit_phone_code=$_GET["omit_phone_code"];} + elseif (isset($_POST["omit_phone_code"])) {$omit_phone_code=$_POST["omit_phone_code"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} + + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); +$phone_code = ereg_replace("[^0-9]","",$phone_code); +$phone_number = ereg_replace("[^0-9]","",$phone_number); + + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} + +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$MT[0]=''; +$agents='@agents'; + +if ($ACTION == 'LogiNCamPaigns') + { + $skip_user_validation=1; + } +else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Usuárioname/Senha: |$user|$pass|\n"; + exit; + } + else + { + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } +} + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDiaL Certificado Da Pergunta Da Base de dados"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + +################################################################################ +### LogiNCamPaigns - generates an HTML SELECT list of allowed campaigns for a +### specific agent on the login screen +################################################################################ +if ($ACTION == 'LogiNCamPaigns') +{ + if ( (strlen($user)<1) ) + { + echo "\n"; + exit; + } + else + { + echo "\n"; + exit; + } +} + + + +################################################################################ +### regCLOSER - update the vicidial_live_agents table to reflect the closer +### inbound choices made upon login +################################################################################ +if ($ACTION == 'regCLOSER') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($closer_choice)<1) || (strlen($user)<1) ) + { + $channel_live=0; + echo "Escolha Do Grupo $closer_choice é inválido\n"; + exit; + } + else + { + if ($closer_choice == "MGRLOCK-") + { + $stmt="SELECT closer_campaigns FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $closer_choice =$row[0]; + + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_users set closer_campaigns='$closer_choice' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $in_groups_pre = preg_replace('/-$/','',$closer_choice); + $in_groups = explode(" ",$in_groups_pre); + $in_groups_ct = count($in_groups); + $k=1; + while ($k < $in_groups_ct) + { + if (strlen($in_groups[$k])>1) + { + $stmt="SELECT group_weight,calls_today FROM vicidial_inbound_group_agents where user='$user' and group_id='$in_groups[$k]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $viga_ct = mysql_num_rows($rslt); + if ($viga_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_weight = $row[0]; + $calls_today = $row[1]; + } + else + { + $group_weight = 0; + $calls_today = 0; + } + $stmt="INSERT INTO vicidial_live_inbound_agents set user='$user',group_id='$in_groups[$k]',group_weight='$group_weight',calls_today='$calls_today',last_call_time='$NOW_TIME',last_call_finish='$NOW_TIME';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + $k++; + } + + } + echo "Closer In Escolha Do Grupo $closer_choice foi registado ao usuário $user\n"; +} + + +################################################################################ +### manDiaLnextCALL - for manual VICIDiaL dialing this will grab the next lead +### in the campaign, reserve it, send data back to client and +### place the call by inserting into vicidial_manager +################################################################################ +if ($ACTION == 'manDiaLnextCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "FUNIL VAZIO\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context é inválido\n"; + exit; + } + else + { + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### check if this is a callback, if it is, skip the grabbing of a new lead and mark the callback as INACTIVE + if ( (strlen($callback_id)>0) and (strlen($lead_id)>0) ) + { + $affected_rows=1; + $CBleadIDset=1; + + $stmt = "UPDATE vicidial_callbacks set status='INACTIVE' where callback_id='$callback_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + if (strlen($phone_number)>3) + { + if ($use_internal_dnc=='Y') + { + $stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + echo "DNC NÚMERO\n"; + exit; + } + } + if ($stage=='lookup') + { + $stmt="SELECT lead_id FROM vicidial_list where phone_number='$phone_number' order by modify_date desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $man_leadID_ct = mysql_num_rows($rslt); + if ($man_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $affected_rows=1; + $lead_id =$row[0]; + $CBleadIDset=1; + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### grab the next lead in the hopper for this campaign and reserve it for the user + $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by hopper_id LIMIT 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + } + + if ($affected_rows > 0) + { + if (!$CBleadIDset) + { + ##### grab the lead_id of the reserved user in vicidial_hopper + $stmt="SELECT lead_id FROM vicidial_hopper where campaign_id='$campaign' and status='QUEUE' and user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $hopper_leadID_ct = mysql_num_rows($rslt); + if ($hopper_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + } + } + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = trim("$row[29]"); + $called_count = trim("$row[30]"); + } + + $called_count++; + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M\n"); + fclose($fp); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='Y', called_count='$called_count',user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + if (!$CBleadIDset) + { + ### delete the lead from the hopper + $stmt = "DELETE FROM vicidial_hopper where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id',comments='MANUAL' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + ### if preview dialing, do not send the call + if ( (strlen($preview)<1) || ($preview == 'NO') ) + { + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + $Local_persist = '/n'; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update calls_today count in vicidial_campaign_agents + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $MqueryCID . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= "MAIN\n"; + $LeaD_InfO .= $source_id . "\n"; + + echo $LeaD_InfO; + + } + else + { + echo "FUNIL VAZIO\n"; + } + } +} + + +################################################################################ +### manDiaLskip - for manual VICIDiaL dialing this skips the lead that was +### previewed in the step above and puts it back in orig status +################################################################################ +if ($ACTION == 'manDiaLskip') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($stage)<1) || (strlen($called_count)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "LEAD NOT REVERTED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context é inválido\n"; + exit; + } + else + { + $called_count = ($called_count - 1); + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='$stage', called_count='$called_count',user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + + echo "LEAD REVERTED\n"; + } +} + + +################################################################################ +### manDiaLonly - for manual VICIDiaL dialing this sends the call that was +### previewed in the step above +################################################################################ +if ($ACTION == 'manDiaLonly') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) || (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo " CHAMADA NOT PLACED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context é inválido\n"; + exit; + } + else + { + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + $Local_persist = '/n'; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + echo "$MqueryCID\n"; + } +} + + +################################################################################ +### manDiaLlookCALL - for manual VICIDiaL dialing this will attempt to look up +### the trunk channel that the call was placed on +################################################################################ +if ($ACTION == 'manDiaLlookCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; +if (strlen($MDnextCID)<18) + { + echo "NO\n"; + echo "MDnextCID $MDnextCID é inválido\n"; + exit; + } +else + { + ##### look for the channel in the UPDATED vicidial_manager record of the call initiation + $stmt="SELECT uniqueid,channel FROM vicidial_manager where callerid='$MDnextCID' and server_ip='$server_ip' and status='UPDATED' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid =$row[0]; + $channel =$row[1]; + echo "$uniqueid\n$channel"; + + $wait_sec=0; + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',wait_epoch='$StarTtime',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + echo "NO\n"; + } + } +} + + + +################################################################################ +### manDiaLlogCALL - for manual VICIDiaL logging of calls places record in +### vicidial_log and then sends process to call_log entry +################################################################################ +if ($ACTION == 'manDiaLlogCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + +if ($stage == "start") + { + if ( (strlen($uniqueid)<1) || (strlen($lead_id)<1) || (strlen($list_id)<1) || (strlen($phone_number)<1) || (strlen($campaign)<1) ) + { + echo "REGISTRO NÃO ENTRADO\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id or list_id: $list_id or phone_number: $phone_number or campaign: $campaign é inválido\n"; + exit; + } + else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### insert log into vicidial_log for manual VICIDiaL call + $stmt="INSERT INTO vicidial_log (uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,comments,processed,user_group) values('$uniqueid','$lead_id','$list_id','$campaign','$NOW_TIME','$StarTtime','INCALL','$phone_code','$phone_number','$user','MANUAL','N','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "VICIDiaL_LOG Introduzido: $uniqueid|$channel|$NOW_TIME\n"; + echo "$StarTtime\n"; + } + else + { + echo "REGISTRO NÃO ENTRADO\n"; + } + + $stmt = "UPDATE vicidial_auto_calls SET uniqueid='$uniqueid' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + # ##### insert log into call_log for manual VICIDiaL call + # $stmt = "INSERT INTO call_log (uniqueid,channel,server_ip,extension,number_dialed,caller_code,start_time,start_epoch) values('$uniqueid','$channel','$server_ip','$exten','$phone_code$phone_number','MD $user $lead_id','$NOW_TIME','$StarTtime')"; + # if ($DB) {echo "$stmt\n";} + # $rslt=mysql_query($stmt, $link); + # $affected_rows = mysql_affected_rows($link); + + # if ($affected_rows > 0) + # { + # echo "CALL_LOG Introduzido: $uniqueid|$channel|$NOW_TIME"; + # } + # else + # { + # echo "REGISTRO NÃO ENTRADO\n"; + # } + } + } + +if ($stage == "end") + { + if ( (strlen($uniqueid)<1) || (strlen($lead_id)<1) ) + { + echo "REGISTRO NÃO ENTRADO\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id é inválido\n"; + exit; + } + else + { + if ($start_epoch < 1000) + { + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ##### look for the start epoch in the vicidial_closer_log table + $stmt="SELECT start_epoch FROM vicidial_closer_log where phone_number='$phone_number' and lead_id='$lead_id' and user='$user' order by closecallid desc limit 1;"; + } + else + { + ##### look for the start epoch in the vicidial_log table + $stmt="SELECT start_epoch FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';"; + } + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch =$row[0]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($length_in_sec < 1) and ($row[0] > 0) ) + { + ##### start epoch in the vicidial_log table, couldn't find one in vicidial_closer_log + $stmt="SELECT start_epoch FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch =$row[0]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + } + } + else {$length_in_sec = ($StarTtime - $start_epoch);} + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec',status='DONE' where lead_id='$lead_id' order by start_epoch desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + ############################################# + ##### COMEÇO QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ($auto_dial_level > 0) + { + ### check to see if campaign has alt_dial enabled + $stmt="SELECT auto_alt_dial FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_alt_dial =$row[0]; + } + else {$auto_alt_dial = 'NONE';} + if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3)",$auto_alt_dial)) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT alt_dial FROM vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_dial =$row[0]; + } + else {$alt_dial = 'NONE';} + + if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3)",$auto_alt_dial)) ) + { + $stmt="SELECT alt_phone,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_phone = $row[0]; + $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$alt_phone = '';} + if (strlen($alt_phone)>5) + { + ### insert record into vicidial_hopper for alt_phone call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ALT',user='',priority='25';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + } + if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + { + $stmt="SELECT address3,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $address3 = $row[0]; + $address3 = eregi_replace("[^0-9]","",$address3); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$address3 = '';} + if (strlen($address3)>5) + { + ### insert record into vicidial_hopper for address3 call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ADDR3',user='',priority='20';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + + if ($enable_queuemetrics_logging > 0) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/.*-/",'',$CLstage); + if (strlen($CLstage) < 1) {$CLstage=0;} + + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt="SELECT count(*) from queue_log where call_id='$MDnextCID' and verb='COMPLETECALLER';"; + $rslt=mysql_query($stmt, $linkB); + if ($DB) {echo "$stmt\n";} + $VAC_cc_ct = mysql_num_rows($rslt); + if ($VAC_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $caller_complete = $row[0]; + } + + if ($caller_complete < 1) + { + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + } + mysql_close($linkB); + } + + ### delete call record from vicidial_auto_calls + $stmt = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',lead_id='',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='PAUSAALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } + else + { + if ($enable_queuemetrics_logging > 0) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/XFER|-/",'',$CLstage); + if ($CLstage < 0.25) {$CLstage=0;} + + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + $stmt = "DELETE from vicidial_auto_calls lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',lead_id='',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='PAUSAALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } + + ##### look for the channel in the UPDATED vicidial_manager record of the call initiation + $stmt="UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec' where uniqueid='$uniqueid' and lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "$uniqueid\n$channel\n"; + } + else + { + echo "REGISTRO NÃO ENTRADO\n\n"; + } + } + + echo $VDstop_rec_after_each_call . '|' . $extension . '|' . $conf_silent_prefix . '|' . $conf_exten . '|' . $user_abb . "|\n"; + + ##### if VICIDiaL call and hangup_after_each_call activated, find all recording + ##### channels and hang them up while entering info into recording_log and + ##### returning filename/recordingID + if ($VDstop_rec_after_each_call == 1) + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $total_rec=0; + $loop_count=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten' order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$rec_list = mysql_num_rows($rslt);} + while ($rec_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/Local\/$conf_silent_prefix$conf_exten\@/i",$row[0])) + { + $rec_channels[$total_rec] = "$row[0]"; + $total_rec++; + } + if ($format=='debug') {echo "\n";} + $loop_count++; + } + + $total_recFN=0; + $loop_count=0; + $filename=$MT; # not necessary : and cmd_line_f LIKE \"%_$user_abb\" + $stmt="SELECT cmd_line_f FROM vicidial_manager where server_ip='$server_ip' and action='Originate' and cmd_line_b = 'Channel: $local_DEF$conf_silent_prefix$conf_exten$local_AMP$ext_context' order by entry_date desc limit $total_rec;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$recFN_list = mysql_num_rows($rslt);} + while ($recFN_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + $filename[$total_recFN] = preg_replace("/Callerid: /i","",$row[0]); + if ($format=='debug') {echo "\n";} + $total_recFN++; + $loop_count++; + } + + $loop_count=0; + while($loop_count < $total_rec) + { + if (strlen($rec_channels[$loop_count])>5) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$loop_count','Channel: $rec_channels[$loop_count]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "REC_STOP|$rec_channels[$loop_count]|$filename[$loop_count]|"; + if (strlen($filename)>2) + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename[$loop_count]'"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$fn_count = mysql_num_rows($rslt);} + if ($fn_count) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt="UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename[$loop_count]' and end_epoch is NULL;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "$recording_id|$length_in_min|"; + } + else {echo "||";} + } + else {echo "||";} + echo "\n"; + } + $loop_count++; + } + } + + + $talk_sec=0; + $StarTtime = date("U"); + $stmt = "select talk_epoch,talk_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $talk_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set talk_sec='$talk_sec',talk_epoch='$StarTtime',dispo_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } +} + + +################################################################################ +### VDADREcheckINCOMING - for auto-dial VICIDiaL dialing this will recheck for +### calls to see if the channel has updated +################################################################################ +if ($ACTION == 'VDADREcheckINCOMING') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Campanha $campaign é inválido\n"; + echo "lead_id $lead_id é inválido\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + } + } +} + + +################################################################################ +### VDADcheckINCOMING - for auto-dial VICIDiaL dialing this will check for calls +### in the vicidial_live_agents table in QUEUE status, then +### lookup the lead info and pass it back to vicidial.php +################################################################################ +if ($ACTION == 'VDADcheckINCOMING') +{ + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Campanha $campaign é inválido\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and status='QUEUE';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',comments='AUTO',calls_today='$calls_today' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = trim("$row[29]"); + $called_count = trim("$row[30]"); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + $stmt = "UPDATE vicidial_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select campaign_id,phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group =$row[0]; + $dialed_number =$row[1]; + $dialed_label =$row[2]; + } + else + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|\n"); + fclose($fp); + } + } + + $stmt = "select count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + + $stmt = "select * from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[1]; + $VDCL_group_color = $row[2]; + $VDCL_group_web = $row[4]; + $VDCL_fronter_display = $row[7]; + $VDCL_ingroup_script = $row[8]; + $VDCL_get_call_launch = $row[9]; + $VDCL_xferconf_a_dtmf = $row[10]; + $VDCL_xferconf_a_number = $row[11]; + $VDCL_xferconf_b_dtmf = $row[12]; + $VDCL_xferconf_b_number = $row[13]; + $VDCL_default_xfer_group= $row[28]; + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set comments='INBOUND' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $Ctype = 'I'; + } + else + { + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + } + } + + ### if web form is set then send em to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|\n";} + else {echo "|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + } + else + { + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_campaign_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + } + echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|\n|\n"; + + $stmt = "select phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dialed_number =$row[0]; + $dialed_label =$row[1]; + } + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + ### If CHAMADABK, change vicidial_callback record to INACTIVE + if (eregi("CALLBK|CBHOLD", $dispo)) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype\n"); + fclose($fp); + } + + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user em $server_ip\n"; + exit; + } + } +} + + +################################################################################ +### userLOGout - Logs the user out of VICIDiaL client, deleting db records and +### inserting into vicidial_user_log +################################################################################ +if ($ACTION == 'userLOGout') +{ + $MT[0]=''; + $row=''; $rowx=''; +if ( (strlen($campaign)<1) || (strlen($conf_exten)<1) ) + { + echo "NO\n"; + echo "campaign $campaign or conf_exten $conf_exten é inválido\n"; + exit; + } +else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### Insert a LOGOUT record into the user log + $stmt="INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$user','LOGOUT','$campaign','$NOW_TIME','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vul_insert = mysql_affected_rows($link); + + if ($no_delete_sessions < 1) + { + ##### Remove the reservation em the vicidial_conferences meetme room + $stmt="UPDATE vicidial_conferences set extension='' where server_ip='$server_ip' and conf_exten='$conf_exten';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vc_remove = mysql_affected_rows($link); + } + + ##### Delete the vicidial_live_agents record for this session + $stmt="DELETE from vicidial_live_agents where server_ip='$server_ip' and user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vla_delete = mysql_affected_rows($link); + + ##### Delete the vicidial_live_inbound_agents records for this session + $stmt="DELETE from vicidial_live_inbound_agents where user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vlia_delete = mysql_affected_rows($link); + + ##### Delete the web_client_sessions + $stmt="DELETE from web_client_sessions where server_ip='$server_ip' and session_name ='$session_name';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $wcs_delete = mysql_affected_rows($link); + + ##### Hangup the client phone + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$extension%\" order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) + { + $row=mysql_fetch_row($rslt); + $agent_channel = "$row[0]"; + if ($format=='debug') {echo "\n";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','ULGH3459$StarTtime','Channel: $agent_channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) + { + $row=mysql_fetch_row($rslt); + $pause_sec = (($StarTtime - $row[0]) + $row[1]); + + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + if ($vla_delete > 0) + { + ############################################# + ##### COMEÇO QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_message = 'LOGGED OUT'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='PAUSA',serverid='1';"; + # if ($DB) {echo "$stmt\n";} + # if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + # $rslt=mysql_query($stmt, $linkB); + # $affected_rows = mysql_affected_rows($linkB); + + $stmt = "SELECT time_id FROM queue_log where agent='Agent/$user' and verb='AGENTLOGIN' order by time_id desc limit 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + if ($DB) {echo "$stmt\n";} + echo "$stmt\n"; + $li_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $li_conf_ct) + { + $row=mysql_fetch_row($rslt); + $logintime = $row[0]; + $i++; + } + + $time_logged_in = ($StarTtime - $logintime); + if ($time_logged_in > 1000000) {$time_logged_in=1;} + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='AGENTLOGOFF',data1='$user$agents',data2='$time_logged_in',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + echo "$vul_insert|$vc_remove|$vla_delete|$wcs_delete|$agent_channel|$vlia_delete\n"; + } +} + + +################################################################################ +### updateDISPO - update the vicidial_list table to reflect the agent choice of +### call disposition for that leand +################################################################################ +if ($ACTION == 'updateDISPO') +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($dispo_choice)<1) || (strlen($lead_id)<1) ) + { + echo "Dispo Choice $dispo or lead_id $lead_id é inválido\n"; + exit; + } + else + { + $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by uniqueid desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + if ( ($use_internal_dnc=='Y') and ($dispo_choice=='DNC') ) + { + $stmt = "select phone_number from vicidial_list where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $stmt="INSERT INTO vicidial_dnc (phone_number) values('$row[0]');"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + } + } + + $dispo_sec=0; + $StarTtime = date("U"); + $stmt = "select dispo_epoch,dispo_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dispo_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set dispo_sec='$dispo_sec',dispo_epoch='$StarTtime',status='$dispo_choice' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group) values('$user','$server_ip','$NOW_TIME','$campaign','$StarTtime','0','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + + ### CHAMADABACK ENTRY + if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) + { + $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$row[0])) ) + { + $stmt = "select count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE vicidial_hopper set status='READY' where lead_id='$lead_id' and status='HOLD' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + $stmt="DELETE from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + ############################################# + ##### COMEÇO QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$campaign',agent='Agent/$user',verb='CALLSTATUS',data1='$dispo_choice',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + echo 'Lead ' . $lead_id . ' foi mudado a ' . $dispo_choice . " Status\nNext agent_log_id:\n" . $agent_log_id . "\n"; +} + +################################################################################ +### updateLEAD - update the vicidial_list table to reflect the values that are +### in the agents screen at time of call hangup +################################################################################ +if ($ACTION == 'updateLEAD') +{ + $MT[0]=''; + $row=''; $rowx=''; + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + if ( (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + echo "phone_number $phone_number or lead_id $lead_id é inválido\n"; + exit; + } + else + { + + $stmt = "SELECT disable_alter_custdata FROM vicidial_campaigns where campaign_id='$campaign'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $dac_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $dac_conf_ct) + { + $row=mysql_fetch_row($rslt); + $disable_alter_custdata = $row[0]; + $i++; + } + if (ereg('Y',$disable_alter_custdata)) + { + $DO_NOT_UPDATE=1; + $DO_NOT_UPDATE_text=' NOT'; + $stmt = "SELECT alter_custdata_override FROM vicidial_users where user='$user'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $aco_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $aco_conf_ct) + { + $row=mysql_fetch_row($rslt); + $alter_custdata_override = $row[0]; + $i++; + } + if (ereg('ALLOW_ALTER',$alter_custdata_override)) + { + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + } + } + + if ($DO_NOT_UPDATE < 1) + { + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + $comments = eregi_replace("--AMP--",'&',$comments); + $comments = eregi_replace("--QUES--",'?',$comments); + $comments = eregi_replace("--POUND--",'#',$comments); + + $stmt="UPDATE vicidial_list set vendor_lead_code='" . mysql_real_escape_string($vendor_lead_code) . "', title='" . mysql_real_escape_string($title) . "', first_name='" . mysql_real_escape_string($first_name) . "', middle_initial='" . mysql_real_escape_string($middle_initial) . "', last_name='" . mysql_real_escape_string($last_name) . "', address1='" . mysql_real_escape_string($address1) . "', address2='" . mysql_real_escape_string($address2) . "', address3='" . mysql_real_escape_string($address3) . "', city='" . mysql_real_escape_string($city) . "', state='" . mysql_real_escape_string($state) . "', province='" . mysql_real_escape_string($province) . "', postal_code='" . mysql_real_escape_string($postal_code) . "', country_code='" . mysql_real_escape_string($country_code) . "', gender='" . mysql_real_escape_string($gender) . "', date_of_birth='" . mysql_real_escape_string($date_of_birth) . "', alt_phone='" . mysql_real_escape_string($alt_phone) . "', email='" . mysql_real_escape_string($email) . "', security_phrase='" . mysql_real_escape_string($security_phrase) . "', comments='" . mysql_real_escape_string($comments) . "' where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } + echo "Lead $lead_id information has$DO_NOT_UPDATE_text been updated\n"; +} + + +################################################################################ +### VDADpause - update the vicidial_live_agents table to show that the agent is +### or ready now active and ready to take calls +################################################################################ +if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($stage)<2) || (strlen($server_ip)<1) ) + { + echo "stage $stage é inválido\n"; + exit; + } + else + { + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set lead_id='',uniqueid=0,callerid='',channel='', random_id='$random',comments='' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_live_agents set status='$stage' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### COMEÇO QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + if (ereg('READY',$stage)) {$QMstatus='UNPAUSEALL';} + if (ereg('PAUSA',$stage)) {$QMstatus='PAUSAALL';} + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='$QMstatus',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + if ($agent_log == 'NO') + {$donothing=1;} + else + { + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,wait_sec,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec=0; + if ($row[2] > 0) + { + $wait_sec = (($StarTtime - $row[2]) + $row[3]); + } + if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} + else + {$pause_sec = (($row[4] - $row[0]) + $row[1]);} + + } + if ($ACTION == 'VDADready') + { + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + if ($ACTION == 'VDADpause') + { + $stmt="UPDATE vicidial_agent_log set pause_epoch='$StarTtime',wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + echo 'Agent ' . $user . ' está agora no status ' . $stage . "\n"; +} + + +################################################################################ +### UpdatEFavoritEs - update the astguiclient favorites list for this extension +################################################################################ +if ($ACTION == 'UpdatEFavoritEs') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($favorites_list)<1) || (strlen($user)<1) || (strlen($exten)<1) ) + { + echo "favorites list $favorites_list é inválido\n"; + exit; + } + else + { + $stmt = "select count(*) from phone_favorites where extension='$exten' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE phone_favorites set extensions_list=\"$favorites_list\" where extension='$exten' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO phone_favorites values('$exten','$server_ip',\"$favorites_list\");"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + echo "Favorites list has been updated to $favorites_list for $exten\n"; +} + + +################################################################################ +### PauseCodeSubmit - Update vicidial_agent_log with pause code +################################################################################ +if ($ACTION == 'PausaCodeSubmit') +{ + $row=''; $rowx=''; + if ( (strlen($status)<1) || (strlen($agent_log_id)<1) ) + { + echo "agent_log_id $agent_log_id or pause_code $status é inválido\n"; + exit; + } + else + { + $stmt="UPDATE vicidial_agent_log set sub_status=\"$status\" where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### COMEÇO QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'BK-'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='PAUSAREASON',serverid='$queuemetrics_log_id',data1='$status';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } +echo "Pausa Code has been updated to $status for $agent_log_id\n"; +} + + +################################################################################ +### CalLBacKLisT - List the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKLisT') +{ +$stmt = "select callback_id,lead_id,campaign_id,status,entry_time,callback_time,comments from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD') order by callback_time;"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); +if ($rslt) {$callbacks_count = mysql_num_rows($rslt);} +echo "$callbacks_count\n"; +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $row=mysql_fetch_row($rslt); + $callback_id[$loop_count] = $row[0]; + $lead_id[$loop_count] = $row[1]; + $campaign_id[$loop_count] = $row[2]; + $status[$loop_count] = $row[3]; + $entry_time[$loop_count] = $row[4]; + $callback_time[$loop_count] = $row[5]; + $comments[$loop_count] = $row[6]; + $loop_count++; + } +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $stmt = "select first_name,last_name,phone_number from vicidial_list where lead_id='$lead_id[$loop_count]';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + echo "$row[0] ~$row[1] ~$row[2] ~$callback_id[$loop_count] ~$lead_id[$loop_count] ~$campaign_id[$loop_count] ~$status[$loop_count] ~$entry_time[$loop_count] ~$callback_time[$loop_count] ~$comments[$loop_count]\n"; + $loop_count++; + } + +} + + +################################################################################ +### CalLBacKCounT - send the count of the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKCounT') +{ +$stmt = "select count(*) from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD');"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$cbcount=$row[0]; + +echo "$cbcount"; +} + + + + +if ($format=='debug') +{ +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +echo "\n"; +echo "\n\n\n"; +} + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/vicidial.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/vicidial.php new file mode 100644 index 00000000..fea99d54 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/vicidial.php @@ -0,0 +1,6797 @@ + LICENSE: GPLv2 +# +# make sure you have added a user to the vicidial_users MySQL table with at least +# user_level 1 or greater to access this page. Also, you need to have the login +# and pass of a phone listed in the asterisk.phones table. The page grabs the +# server info and other details from this login and pass. +# +# This script works best with Firefox or Mozilla, but will run for a couple +# hours on Internet Explorer before the memory leaks cause a crash. +# +# Other scripts that this application depends on: +# - vdc_db_query.php: Updates information in the database +# - manager_send.php: Sends manager actions to the DB for execution +# +# CHANGELOG +# 50607-1426 - First Build of VICIDIAL web client basic login process finished +# 50628-1620 - Added some basic formatting and worked on process flow +# 50628-1715 - Startup variables mapped to javascript variables +# 50629-1303 - Added Login Closer in-groups selection box and vla update +# 50629-1530 - Rough layout for customer info form section and button links +# 50630-1453 - Rough Manual Dial/Hangup with customer info displayed +# 50701-1450 - Added vicidial_log entries on dial and hangup +# 50701-1634 - Added Logout function +# 50705-1259 - Added call disposition functionality +# 50705-1432 - Added lead info DB update function +# 50705-1658 - Added web form functionality +# 50706-1043 - Added call park and pickup functions +# 50706-1234 - Added Start/Stop Recording functionality +# 50706-1614 - Added conference channels display option +# 50711-1333 - Removed call check redundancy and fixed a span bug +# 50727-1424 - Added customer channel and participant present sensing/alerts +# 50804-1057 - Added SendDTMF function and reconfigured the transfer span +# 50804-1224 - Added Local and Internal Closer transfer functions +# 50804-1628 - Added Blind transfer, activated LIVE CALL image and fixed bugs +# 50804-1808 - Added button images for left buttons +# 50815-1151 - Added 3Way calling functions to Transfer-conf frame +# 50815-1602 - Added images and buttons for xfer functions +# 50816-1813 - Added basic autodial outbound call pickup functions +# 50817-1113 - Fixes to auto_dialing call receipt +# 50817-1234 - Added inbound call receipt capability +# 50817-1541 - Added customer time display +# 50817-1541 - Added customer time display +# 50818-1327 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1703 - Added pretty login section +# 50825-1200 - Modified form field lengths, added double-click dispositions +# 50831-1603 - Fixed customer time bug and fronter display bug for CLOSER +# 50901-1314 - Fixed CLOSER IN-GROUP Web Form bug +# 50903-0904 - Added preview-lead code for manual dialing +# 50904-0016 - Added ability to hangup manual dials before pickup +# 50906-1319 - Added override for filters on xfer calls, fixed login display bug +# 50909-1243 - Added hotkeys functionality for quick dispoing in auto-dial mode +# 50912-0958 - Modified hotkeys function, agent must have user_level >= 5 to use +# 50913-1212 - Added campaign_cid to 3rd party calls +# 50923-1546 - Modified to work with language translation +# 50926-1656 - Added campaign pull-down at login of active campaigns +# 50928-1633 - Added manual dial alternate number dial option +# 50930-1538 - Added session_id empty login failure and fixed 2 minor bugs +# 51004-1656 - Fixed recording filename bug and new Spanish translation +# 51020-1103 - Added campaign-specific recording control abilities +# 51020-1352 - Added Basic vicidial_agent_log framework +# 51021-1050 - Fixed custtime display and disable Enter/Return keypresses +# 51021-1718 - Allows for multi-line comments (changes \n to !N in database) +# 51110-1432 - Fixed non-standard http port issue +# 51111-1047 - Added vicidial_agent_log lead_id earlier for manual dial +# 51118-1305 - Activate multi-line comments from $multi_line_comments var +# 51118-1313 - Move Transfer DIV to a floating span to preserve 800x600 view +# 51121-1506 - Small PHP optimizations in many scripts and disabled globalize +# 51129-1010 - Added ability to accept calls from other VICIDIAL servers +# 51129-1254 - Fixed Hangups of other agents channels when customer hangs up +# 51208-1732 - Created user-first login that looks for default phone info +# 51219-1526 - Added variable framework for campaign and in-group scripts +# 51221-1200 - Added SCRIPT tab, layout and functionality +# 51221-1714 - Added auto-switch-to-SCRIPT-tab and auto-webform-popup +# 51222-1605 - Added VMail message blind transfer button to xfer-conf frame +# 51229-1028 - Added checks on web_form_address to allow for var in the DB value +# 60117-1312 - Added Transfer-conf frame toggle on button press +# 60208-1152 - Added DTMF-xfernumber preset links to xfer-conf frame +# 60213-1129 - Added vicidial_users.hotkeys_active for any user hotkeys +# 60213-1210 - Added ability to sort routing of calls by user_level +# 60214-0932 - Initial Callback calendar display framework +# 60214-1407 - Added ability to minimize the dispo screen to see info below +# 60215-1104 - Added ANYONE scheduled callbacks functionality +# 60410-1116 - Added persistant pause after dispo option and change dispo text +# - Added web form submit that opens new window with dispo on submit +# - Added PREVIOUS CALLBACK in customer info to flag callbacks +# - Added link to try to hangup the call again in the dispo screen +# - Added link noone-in-session screen to call agent phone again +# - Added link customer-hungup screen to go straight to dispo screen +# 60410-1532 - Added agent status and campaign calls dialing display option +# 60411-1547 - Add ability to set callback as USERONLY and some basic formatting +# 60413-1752 - Add basic USERONLY callback frame and listings +# 60414-1039 - Changed manual dial preview and alt dial checkboxes to spans +# - Added beta-level USERONLY callback functionality +# - Added beta-level manual dialing with lead insertion functionality +# 60415-1534 - Fixed manual dial lead preview and fixed manuald dial override bug +# 60417-1108 - Added capability to do alt-number-dialing in auto-dial mode +# - Changed several permissions to database-defined +# 60419-1529 - Prevent manual dial or callbacks when alt-dial lead not finished +# 60420-1647 - Fixed DiaLDiaLAltPhonE error, Call Agent Again DialControl error +# 60421-1229 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60424-1005 - Fixed Alt phone disabled bug for callbacks and manual dials +# 60426-1058 - Added vicidial_user setting for default blended check for CLOSER +# 60501-1008 - Added option to manual dial screen to manually lookup phone number +# 60503-1653 - Fixed agentonly_callback not-defined bug in scheduled callbacks screen +# 60504-1032 - Fixed manual dial display bug and transfer dispo alert bug +# - Fixed recording filename display to not overrun 25 characters +# 60510-1051 - Added Wrapup timer and wrapup message on wrapup screen after dispo +# 60608-1453 - Added CLOSER campaign allowable in-groups limitations +# 60609-1123 - Added add-number-to-DNC-list function and manual dial check DNC +# 60619-1047 - Added variable filters to close security holes for login form +# 60804-1710 - fixed scheduled CALLBK for other languages build +# 60808-1145 - Added consultative transfers with customer data +# 60808-2232 - Added campaign name to pulldown for login screen +# 60809-1603 - Added option to locally transfer consult xfers +# 60809-1732 - Added recheck of transferred channels before customer gone mesg +# 60810-1011 - Fixed CXFER leave 3way call bugs +# 60816-1602 - Added ALLCALLS recording delay option allcalls_delay +# 60816-1716 - Fixed customer time display bug and client DST setting +# 60821-1555 - Added option to omit phone_code on dialout of leads +# 60821-1628 - Added ALLFORCE recording option +# 60821-1643 - Added no_delete_sessions option to not delete sessions +# 60822-0512 - Changed phone number fields to be maxlength of 12 +# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# 60906-1152 - Added Previous CallBack info display span +# 60906-1715 - Allow for Local phone extension conferences +# 61004-1729 - Add ability to control volume per channel in "calls in this session" +# 61122-1341 - Added vicidial_user_groups allowed_campaigns restrictions +# 61122-1523 - Added more SCRIPT variables +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61221-1212 - Changed width to 760 to better fit 800x600 screens, widened SCRIPT +# 70109-1128 - Fixed wrapup timer bug +# 70109-1635 - Added option for HotKeys automatically dialing next number in manual mode +# - Added option for alternate number dialing with hotkeys +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70118-1517 - Added vicidial_agent_log and vicidial_user_log logging of user_group +# 70201-1249 - Added FAST DIAL option for manually dialing, added UTF8 compatible code +# 70201-1703 - Fixed cursor bug for most text input fields +# 70202-1453 - Added first portions of Agent Pause Codes +# 70203-0108 - Finished Agent Pause Codes functionality +# 70203-0930 - Added dialed_number to webform output +# 70203-1010 - Added dialed_label to webform output +# 70206-1201 - Fixed allow_closers bug +# 70206-1332 - Added vicidial_recording_override users setting function +# 70212-1252 - Fixed small issue with CXFER +# 70213-1018 - Changed CXFER and AXFER to update customer information before transfer +# 70214-1233 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1240 - Added queuemetrics_log_id field for server_id in queue_log +# 70222-1617 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70226-1252 - Added Mute/UnMute to agent screen +# 70309-1035 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70316-1406 - Moved the MUTE button to be accessible during a transfer/conf +# 70319-1446 - Added agent-deactive-display and disable customer info update functions +# 70319-1626 - Added option to allow agent logins to campaigns with no leads in the hopper +# 70320-1501 - Added option to allow retry of leave-3way-call from dispo screen +# 70322-1545 - Added sipsak display ability +# 70510-1319 - Added onUnload force Logout +# 70806-1530 - Added Presets Dial links above agent mute button +# 70823-2118 - Fixed XMLHTTPRequest, HotKeys and Scheduled Callbacks issues with MSIE +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71022-1427 - Added formatting of the customer phone number in the main status bar +# 71029-1848 - Changed CLOSER-type campaign to not use campaign_id restrictions +# 71101-1204 - Fixed bug in callback calendar with DST +# 71116-0957 - Added campaign_weight and calls_today to the vla table insertion +# 71120-1719 - Added XMLHTPRequest lookup of allowable campaigns for agents during login +# 71122-0256 - Added auto-pause notification +# 71125-1751 - Changed Transfer section to allow for selection of in-groups to send calls to +# 71127-0408 - Added height and width settings for easier modification of screen size +# 71129-2025 - restricted callbacks count and list to campaign only +# + +$version = '2.0.4-142'; +$build = '71129-2025'; + +require("dbconnect.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["VD_login"])) {$VD_login=$_GET["VD_login"];} + elseif (isset($_POST["VD_login"])) {$VD_login=$_POST["VD_login"];} +if (isset($_GET["VD_pass"])) {$VD_pass=$_GET["VD_pass"];} + elseif (isset($_POST["VD_pass"])) {$VD_pass=$_POST["VD_pass"];} +if (isset($_GET["VD_campaign"])) {$VD_campaign=$_GET["VD_campaign"];} + elseif (isset($_POST["VD_campaign"])) {$VD_campaign=$_POST["VD_campaign"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + if (isset($VD_campaign)) + { + $VD_campaign = strtoupper($VD_campaign); + $VD_campaign = eregi_replace(" ",'',$VD_campaign); + } + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); + $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); + $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); + + +$forever_stop=0; + +if ($force_logout) +{ + echo "Você tem registrado agora para fora. Obrigado\n"; + exit; +} + +$isdst = date("I"); +$StarTtimE = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$tsNOW_TIME = date("YmdHis"); +$FILE_TIME = date("Ymd-His"); +$CIDdate = date("ymdHis"); + $month_old = mktime(11, 0, 0, date("m"), date("d")-2, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + + +$random = (rand(1000000, 9999999) + 10000000); + +$conf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently +$HKuser_level = '5'; # minimum vicidial user_level for HotKeys +$campaign_login_list = '1'; # show drop-down list of campaigns at login +$manual_dial_preview = '1'; # allow preview lead option when manual dial +$multi_line_comments = '1'; # set to 1 to allow multi-line comment box +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the phone login +$view_scripts = '1'; # set to 1 to show the SCRIPTS tab +$dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo +$agentcallsstatus = '0'; # set to 1 to show agent status and call count + $campagentstatctmax = '0'; # Number of segundos for campaign call and agent stats +$show_campname_pulldown = '1'; # set to 1 to show campaign name em login pulldown +$webform_sessionname = '1'; # set to 1 to include the session_name in webform URL +$local_consult_xfers = '1'; # set to 1 to send consultative transfers from original server +$clientDST = '1'; # set to 1 to check for DST em server for agent time +$no_delete_sessions = '0'; # set to 1 to not delete sessions at logout +$volumecontrol_active = '1'; # set to 1 to allow agents to alter volume of channels +$PreseT_DiaL_LinKs = '1'; # set to 1 to show a SELETOR link for Dial Presets +$LogiNAJAX = '1'; # set to 1 to do lookups +$HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from "session calls" + +$TEST_all_statuses = '0'; # TEST variable allows all statuses in dispo screen + +$BROWSER_HEIGHT = 500; # set to the minimum browser height, default=500 +$BROWSER_WIDTH = 770; # set to the minimum browser width, default=770 + + +# options now set in DB: +#$alt_phone_dialing = '1'; # allow agents to call alt phone numbers +#$scheduled_callbacks = '1'; # set to 1 to allow agent to choose scheduled callbacks +# $agentonly_callbacks = '1'; # set to 1 to allow agent to choose agent-only scheduled callbacks +#$agentcall_manual = '1'; # set to 1 to allow agent to make manual calls during autodial session + +### SCREEN WIDTH AND HEIGHT CALCULATIONS ### +### DO NOT EDIT! ### +$MASTERwidth=($BROWSER_WIDTH - 340); +$MASTERheight=($BROWSER_HEIGHT - 200); +if ($MASTERwidth < 430) {$MASTERwidth = '430';} +if ($MASTERheight < 300) {$MASTERheight = '300';} + +$CAwidth = ($MASTERwidth + 340); # 770 - cover all (none-in-session, customer hunngup, etc...) +$MNwidth = ($MASTERwidth + 330); # 760 - main frame +$XFwidth = ($MASTERwidth + 320); # 750 - transfer/conference +$HCwidth = ($MASTERwidth + 310); # 740 - hotkeys and callbacks +$AMwidth = ($MASTERwidth + 270); # 700 - agent mute and preset-dial links +$SSwidth = ($MASTERwidth + 176); # 606 - scroll script +$SDwidth = ($MASTERwidth + 170); # 600 - scroll script, customer data and calls-in-session +$HKwidth = ($MASTERwidth + 70); # 500 - Hotkeys button +$HSwidth = ($MASTERwidth + 1); # 431 - Header spacer + +$HKheight = ($MASTERheight + 105); # 405 - HotKey active Button +$AMheight = ($MASTERheight + 100); # 400 - Agent mute and preset dial links +$MBheight = ($MASTERheight + 65); # 365 - Manual Dial Buttons +$CBheight = ($MASTERheight + 50); # 350 - Agent Callback, pause code, volume control Buttons and agent status +$SSheight = ($MASTERheight + 31); # 331 - script content +$HTheight = ($MASTERheight + 10); # 310 - transfer frame, callback comments and hotkey +$BPheight = ($MASTERheight - 250); # 50 - bottom buffer + + +$US='_'; +$CL=':'; +$AT='@'; +$DS='-'; +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = eregi_replace('vicidial.php','',$agcPAGE); + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ($campaign_login_list > 0) +{ +$camp_form_code = "\n"; +} +else +{ +$camp_form_code = "\n"; +} + + +if ($LogiNAJAX > 0) +{ +?> + + + +Web client de VICISELETOR: Re-Início de uma sessão\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Português
\n"; +echo "
\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Re-Início de uma sessão
 
Início de uma sessão Do Telefone:
Senha Do Telefone:
Início de uma sessão Do Usuário:
Senha Do Usuário:
Campanha: $camp_form_code

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} + +if ($user_login_first == 1) +{ + if ( (strlen($VD_login)<1) or (strlen($VD_pass)<1) or (strlen($VD_campaign)<1) ) + { + echo "Web client de VICISELETOR: Início de uma sessão Da Campanha\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Português
\n"; + echo "
\n"; + echo "\n"; + #echo "\n"; + #echo "\n"; + echo "

Início de uma sessão Do Usuário

"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Início de uma sessão Da Campanha
 
Início de uma sessão Do Usuário:
Senha Do Usuário:
Campanha: $camp_form_code
  \n"; + echo "

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + echo "Web client de VICISELETOR: Início de uma sessão\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Português
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Início de uma sessão
 
Início de uma sessão Do Telefone:
Senha Do Telefone:
Início de uma sessão Do Usuário:
Senha Do Usuário:
Campanha: $camp_form_code
  \n"; + echo "

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + + } + } +} + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "Web client de VICISELETOR: Início de uma sessão Do Telefone\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Português
\n"; +echo "
\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Início de uma sessão Do Telefone
 
Início de uma sessão Do Telefone:
Senha Do Telefone:
  \n"; +echo "

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./vicidial_auth_entries.txt", "a");} +$VDloginDISPLAY=0; + + if ( (strlen($VD_login)<2) or (strlen($VD_pass)<2) or (strlen($VD_campaign)<2) ) + { + $VDloginDISPLAY=1; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if($auth>0) + { + $login=strtoupper($VD_login); + $password=strtoupper($VD_pass); + ##### grab the full name of the agent + $stmt="SELECT full_name,user_level,hotkeys_active,agent_choose_ingroups,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,closer_default_blended,user_group,vicidial_recording_override from vicidial_users where user='$VD_login' and pass='$VD_pass'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $user_level=$row[1]; + $VU_hotkeys_active=$row[2]; + $VU_agent_choose_ingroups=$row[3]; + $VU_scheduled_callbacks=$row[4]; + $agentonly_callbacks=$row[5]; + $agentcall_manual=$row[6]; + $VU_vicidial_recording=$row[7]; + $VU_vicidial_transfers=$row[8]; + $VU_closer_default_blended=$row[9]; + $VU_user_group=$row[10]; + $VU_vicidial_recording_override=$row[11]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|GOOD|$date|$VD_login|$VD_pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + $user_abb = "$VD_login$VD_login$VD_login$VD_login"; + while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns =$row[0]; + + if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) + { + echo "Web client de VICISELETOR: VICISELETOR Início de uma sessão Da Campanha\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Português
\n"; + echo "Sorry, you are not allowed to login to this campaign: $VD_campaign\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Início de uma sessão: \n
"; + echo "Senha:
\n"; + echo "Campanha: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + ##### check to see that the campaign is active + $stmt="SELECT count(*) FROM vicidial_campaigns where campaign_id='$VD_campaign' and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $CAMPactive=$row[0]; + if($CAMPactive>0) + { + if ($TEST_all_statuses > 0) {$selectableSQL = '';} + else {$selectableSQL = "selectable='Y' and";} + $VARstatuses=''; + $VARstatusnames=''; + ##### grab the statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_statuses WHERE $selectableSQL status != 'NEW' order by status limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_statuses_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $VD_statuses_ct) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + } + + ##### grab the campaign-specific statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_campaign_statuses WHERE $selectableSQL status != 'NEW' and campaign_id='$VD_campaign' order by status limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_statuses_camp = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + $j++; + } + $VD_statuses_ct = ($VD_statuses_ct+$VD_statuses_camp); + $VARstatuses = substr("$VARstatuses", 0, -1); + $VARstatusnames = substr("$VARstatusnames", 0, -1); + + ##### grab the campaign-specific HotKey statuses that can be used for dispositioning by an agent + $stmt="SELECT hotkey,status,status_name FROM vicidial_campaign_hotkeys WHERE selectable='Y' and status != 'NEW' and campaign_id='$VD_campaign' order by hotkey limit 9;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $HK_statuses_camp = mysql_num_rows($rslt); + $w=0; + $HKboxA=''; + $HKboxB=''; + $HKboxC=''; + while ($w < $HK_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $HKhotkey[$w] =$row[0]; + $HKstatus[$w] =$row[1]; + $HKstatus_name[$w] =$row[2]; + $HKhotkeys = "$HKhotkeys'$HKhotkey[$w]',"; + $HKstatuses = "$HKstatuses'$HKstatus[$w]',"; + $HKstatusnames = "$HKstatusnames'$HKstatus_name[$w]',"; + if ($w < 3) + {$HKboxA = "$HKboxA $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + if ( ($w >= 3) and ($w < 6) ) + {$HKboxB = "$HKboxB $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + if ($w >= 6) + {$HKboxC = "$HKboxC $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + $w++; + } + $HKhotkeys = substr("$HKhotkeys", 0, -1); + $HKstatuses = substr("$HKstatuses", 0, -1); + $HKstatusnames = substr("$HKstatusnames", 0, -1); + + ##### grab the statuses to be dialed for your campaign as well as other campaign settings + $stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups FROM vicidial_campaigns where campaign_id = '$VD_campaign';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $park_ext = $row[0]; + $park_file_name = $row[1]; + $web_form_address = $row[2]; + $allow_closers = $row[3]; + $auto_dial_level = $row[4]; + $dial_timeout = $row[5]; + $dial_prefix = $row[6]; + $campaign_cid = $row[7]; + $campaign_vdad_exten = $row[8]; + $campaign_rec_exten = $row[9]; + $campaign_recording = $row[10]; + $campaign_rec_filename = $row[11]; + $campaign_script = $row[12]; + $get_call_launch = $row[13]; + $campaign_am_message_exten = $row[14]; + $xferconf_a_dtmf = $row[15]; + $xferconf_a_number = $row[16]; + $xferconf_b_dtmf = $row[17]; + $xferconf_b_number = $row[18]; + $alt_number_dialing = $row[19]; + $VC_scheduled_callbacks = $row[20]; + $wrapup_segundos = $row[21]; + $wrapup_message = $row[22]; + $closer_campaigns = $row[23]; + $use_internal_dnc = $row[24]; + $allcalls_delay = $row[25]; + $omit_phone_code = $row[26]; + $agent_pause_codes_active = $row[27]; + $no_hopper_leads_logins = $row[28]; + $campaign_allow_inbound = $row[29]; + $manual_dial_list_id = $row[30]; + $default_xfer_group = $row[31]; + $xfer_groups = $row[32]; + + if ( (!ereg('DISABLED',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) + { + $campaign_recording = $VU_vicidial_recording_override; + print "\n"; + } + if ( ($VC_scheduled_callbacks=='Y') and ($VU_scheduled_callbacks=='1') ) + {$scheduled_callbacks='1';} + if ($VU_vicidial_recording=='0') + {$campaign_recording='NEVER';} + if ($alt_number_dialing=='Y') + {$alt_phone_dialing='1';} + else + {$alt_phone_dialing='0';} + $closer_campaigns = preg_replace("/^ | -$/","",$closer_campaigns); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + if ($agent_pause_codes_active=='Y') + { + ##### grab the pause codes for this campaign + $stmt="SELECT pause_code,pause_code_name FROM vicidial_pause_codes WHERE campaign_id='$VD_campaign' order by pause_code limit 50;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_pause_codes = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_pause_codes) + { + $row=mysql_fetch_row($rslt); + $pause_codes[$i] =$row[0]; + $pause_code_names[$i] =$row[1]; + $VARpause_codes = "$VARpause_codes'$pause_codes[$i]',"; + $VARpause_code_names = "$VARpause_code_names'$pause_code_names[$i]',"; + $i++; + $j++; + } + $VD_pause_codes_ct = ($VD_pause_codes_ct+$VD_pause_codes); + $VARpause_codes = substr("$VARpause_codes", 0, -1); + $VARpause_code_names = substr("$VARpause_code_names", 0, -1); + } + + ##### grab the inbound groups to choose from if campaign contains CLOSER + $VARingroups="''"; + if ($campaign_allow_inbound == 'Y') + { + $VARingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 60;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $closer_ct = mysql_num_rows($rslt); + $INgrpCT=0; + while ($INgrpCT < $closer_ct) + { + $row=mysql_fetch_row($rslt); + $closer_groups[$INgrpCT] =$row[0]; + $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $INgrpCT++; + } + $VARingroups = substr("$VARingroups", 0, -1); + } + + ##### grab the allowable inbound groups to choose from for transfer options + $xfer_groups = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groups = preg_replace("/ /","','",$xfer_groups); + $xfer_groups = "'$xfer_groups'"; + $VARxfergroups="''"; + if ($allow_closers == 'Y') + { + $VARxfergroups=''; + $stmt="select group_id,group_name from vicidial_inbound_groups where active = 'Y' and group_id IN($xfer_groups) order by group_id limit 60;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $xfer_ct = mysql_num_rows($rslt); + $XFgrpCT=0; + while ($XFgrpCT < $xfer_ct) + { + $row=mysql_fetch_row($rslt); + $VARxfergroups = "$VARxfergroups'$row[0]',"; + $VARxfergroupsnames = "$VARxfergroupsnames'$row[1]',"; + if ($row[0] == "$default_xfer_group") {$default_xfer_group_name = $row[1];} + $XFgrpCT++; + } + $VARxfergroups = substr("$VARxfergroups", 0, -1); + $VARxfergroupsnames = substr("$VARxfergroupsnames", 0, -1); + } + + ##### grab the number of leads in the hopper for this campaign + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id = '$VD_campaign' and status='READY';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $campaign_leads_to_call = $row[0]; + print "\n"; + + } + else + { + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "A campanha nao ativa, tenta por favor outra vez
"; + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|FAIL|$date|$VD_login|$VD_pass|$ip|$browser|\n"); + fclose($fp); + } + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "O início de uma sessão incorreto, tenta por favor outra vez
"; + } + } + if ($VDloginDISPLAY) + { + echo "Web client de VICISELETOR: Início de uma sessão Da Campanha\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Português
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

$VDdisplayMESSAGE

"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Início de uma sessão Da Campanha
 
Início de uma sessão Do Usuário:
Senha Do Usuário:
Campanha: $camp_form_code
  \n"; + echo "

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + +$authphone=0; +$stmt="SELECT count(*) from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "Web client de VICISELETOR: Início de uma sessão Do Telefone Error\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Português
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Início de uma sessão Error
 
Pesaroso, seus início de uma sessão do telefone e senha não seja:
 
Início de uma sessão Do Telefone:
Senha Do Telefone:

VERSÃO: $version       CONFIGURAÇÃO: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { + echo "Web client de VICISELETOR\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $login=$row[6]; + $pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $CallerID_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $enable_sipsak_messages=$row[66]; + + if ($clientDST) + { + $local_gmt = ($local_gmt + $isdst); + } + if ($protocol == 'EXTERNAL') + { + $protocol = 'Local'; + $extension = "$dialplan_number$AT$ext_context"; + } + $SIP_user = "$protocol/$extension"; + + $stmt="SELECT asterisk_version from servers where server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $asterisk_version=$row[0]; + + # If a park extension is not set, use the default one + if ( (strlen($park_ext)>0) && (strlen($park_file_name)>0) ) + { + $VICIDiaL_park_on_extension = "$park_ext"; + $VICIDiaL_park_on_filename = "$park_file_name"; + print "\n"; + } + print "\n"; + + # If a web form address is not set, use the default one + if (strlen($web_form_address)>0) + { + $VICIDiaL_web_form_address = "$web_form_address"; + print "\n"; + } + else + { + $VICIDiaL_web_form_address = "$VICIDiaL_web_URL"; + print "\n"; + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + } + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + # If closers are allowed em this campaign + if ($allow_closers=="Y") + { + $VICIDiaL_allow_closers = 1; + print "\n"; + } + else + { + $VICIDiaL_allow_closers = 0; + print "\n"; + } + + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtimE$US$session_ext$session_rand"; + + if ($webform_sessionname) + {$webform_sessionname = "&session_name=$session_name";} + else + {$webform_sessionname = '';} + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'vicidial';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','vicidial','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + if ( ($campaign_allow_inbound == 'Y') || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + { + ### insert an entry into the user log for the login event + $stmt = "INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$VD_login','LOGIN','$VD_campaign','$NOW_TIME','$StarTtimE','$VU_user_group')"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + + ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly + $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $prev_login_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $prev_login_ct) + { + $row=mysql_fetch_row($rslt); + $session_id =$row[0]; + $i++; + } + if ($prev_login_ct > 0) + {print "\n";} + else + { + ##### grab the next available vicidial_conference room and reserve it + $stmt="SELECT conf_exten FROM vicidial_conferences where server_ip = '$server_ip' and ((extension='') or (extension is null)) LIMIT 1;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $free_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $free_conf_ct) + { + $row=mysql_fetch_row($rslt); + $session_id =$row[0]; + $i++; + } + $stmt="UPDATE vicidial_conferences set extension='$SIP_user' where server_ip='$server_ip' and conf_exten='$session_id';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + print "\n"; + + } + + $stmt="UPDATE vicidial_list set status='N', user='' where status IN('QUEUE','INCALL') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_hopper where status IN('QUEUE','INCALL','DONE') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_inbound_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + # print "You have logged in as user: $VD_login em phone: $SIP_user à campanha: $VD_campaign
\n"; + $VICIDiaL_is_logged_in=1; + + ### set the callerID for manager middleware-app to connect the phone to the user + $SIqueryCID = "S$CIDdate$session_id"; + + ############################################# + ##### COMEÇO SYSTEM_SETTINGS LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,vicidial_agent_disable,allow_sipsak_messages FROM system_settings;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $vicidial_agent_disable = $row[6]; + $allow_sipsak_messages = $row[7]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$VD_campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $SIqueryCID = "$SIPSAK_prefix$VD_campaign$DS$CIDdate"; + } + + ### insert a NOVO record to the vicidial_manager table to be processed + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $SIP_user','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: $SIqueryCID','','','','','');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($auto_dial_level > 0) + { + print "\n"; + + ##### grab the campaign_weight and number of calls today em that campaign for the agent + $stmt="SELECT campaign_weight,calls_today FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vca_ct = mysql_num_rows($rslt); + if ($vca_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_weight = $row[0]; + $calls_today = $row[1]; + $i++; + } + else + { + $campaign_weight = '0'; + $calls_today = '0'; + $stmt="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) values('$VD_login','$VD_campaign','0','0','$calls_today');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + } + $closer_chooser_string=''; + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,closer_campaigns,user_level,campaign_weight,calls_today) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$closer_chooser_string','$user_level','$campaign_weight','$calls_today');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='$VD_campaign',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PAUSAALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + + + if ($campaign_allow_inbound == 'Y') + { + print "\n"; + } + } + else + { + print "\n"; + + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,user_level) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$user_level');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='$VD_campaign',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PAUSAALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + } + } + else + { + echo "Web client de VICISELETOR: VICISELETOR Início de uma sessão Da Campanha\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Português
\n"; + echo "Pesaroso, não há nenhuma ligação no funil para esta campanha\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Início de uma sessão: \n
"; + echo "Senha:
\n"; + echo "Campanha: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + if (strlen($session_id) < 1) + { + echo "Web client de VICISELETOR: VICISELETOR Início de uma sessão Da Campanha\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Português
\n"; + echo "Sorry, there are no available sessions\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Início de uma sessão: \n
"; + echo "Senha:
\n"; + echo "Campanha: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + if (ereg('MSIE',$browser)) + { + $useIE=1; + print "\n"; + } + else + { + $useIE=0; + print "\n"; + } + + $StarTtimE = date("U"); + $NOW_TIME = date("Y-m-d H:i:s"); + ##### Agent is going to log in so insert the vicidial_agent_log entry now + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group,sub_status) values('$VD_login','$server_ip','$NOW_TIME','$VD_campaign','$StarTtimE','0','$StarTtimE','$VU_user_group','LOGIN');"; + if ($DB) {echo "$stmt\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + print "\n"; + + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $server_ip_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S"; + + ##### grab the datails of all active scripts in the system + $stmt="SELECT script_id,script_name,script_text FROM vicidial_scripts WHERE active='Y' order by script_id limit 100;"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $MM_scripts = mysql_num_rows($rslt); + $e=0; + while ($e < $MM_scripts) + { + $row=mysql_fetch_row($rslt); + $MMscriptid[$e] =$row[0]; + $MMscriptname[$e] = rawurlencode($row[1]); + $MMscripttext[$e] = rawurlencode($row[2]); + $MMscriptids = "$MMscriptids'$MMscriptid[$e]',"; + $MMscriptnames = "$MMscriptnames'$MMscriptname[$e]',"; + $MMscripttexts = "$MMscripttexts'$MMscripttext[$e]',"; + $e++; + } + $MMscriptids = substr("$MMscriptids", 0, -1); + $MMscriptnames = substr("$MMscriptnames", 0, -1); + $MMscripttexts = substr("$MMscripttexts", 0, -1); + + } +} + +################################################################ +### BEGIN - build the callback calendar (12 months) ### +################################################################ +define ('ADAY', (60*60*24)); +$CdayARY = getdate(); +$Cmon = $CdayARY['mon']; +$Cyear = $CdayARY['year']; +$CTODAY = date("Y-m"); +$CTODAYmday = date("j"); +$CINC=0; + +$Cmonths = Array('Janeiro','February','Março','Abril','Pode','Junho', + 'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'); +$Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); + +$CCAL_OUT = ''; + +$CCAL_OUT .= ""; + +while ($CINC < 12) +{ +if ( ($CINC == 0) || ($CINC == 4) ||($CINC == 8) ) + {$CCAL_OUT .= "";} + +$CCAL_OUT .= ""; + +if ( ($CINC == 3) || ($CINC == 7) ||($CINC == 11) ) + {$CCAL_OUT .= "";} +$CINC++; +} + +$CCAL_OUT .= "
"; + +$CYyear = $Cyear; +$Cmonth= ($Cmon + $CINC); +if ($Cmonth > 12) + { + $Cmonth = ($Cmonth - 12); + $CYyear++; + } +$Cstart= mktime(11,0,0,$Cmonth,1,$CYyear); +$CfirstdayARY = getdate($Cstart); +#echo "|$Cmon|$Cmonth|$CINC|\n"; +$CPRNTDAY = date("Y-m", $Cstart); + +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; + +foreach($Cdays as $Cday) +{ + $CDCLR="#ffffff"; +$CCAL_OUT .= ""; +} + +for( $Ccount=0;$Ccount<(6*7);$Ccount++) +{ + $Cdayarray = getdate($Cstart); + if((($Ccount) % 7) == 0) + { + if($Cdayarray['mon'] != $CfirstdayARY['mon']) + break; + $CCAL_OUT .= ""; + } + if($Ccount < $CfirstdayARY['wday'] || $Cdayarray['mon'] != $Cmonth) + { + $CCAL_OUT .= ""; + } + else + { + if( ($Cdayarray['mday'] == $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + else + { + $CDCLR="#ffffff"; + if ( ($Cdayarray['mday'] < $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CDCLR="#CCCCCC"; + $CBL = ''; + $CEL = ''; + } + else + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + } + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + } +} +$CCAL_OUT .= ""; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "$Cday"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
 "; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; + +#echo "$CCAL_OUT\n"; +################################################################ +### END - build the callback calendar (12 months) ### +################################################################ + + +?> + + + + +\n"; + + +?> + +
+ + MARGINWIDTH=0 MARGINHEIGHT=0 LEFTMARGIN=0 TOPMARGIN=0 VALIGN=TOP ALIGN=LEFT> +
+ + + +LOGOUT\n"; ?> +
+
+ + + height=30> + + + + + +
VICISELETORSCRIPT VALIGN=MIDDLE ALIGN=CENTER>   LIVE     sessão ID: Vive A Chamada
+
+ + + + + height=>

VICISELETOR
+
+ + +SELETOR MANUAL       SELETOR RÁPIDO
+
+ + +X RECHAMADAS ATIVAS
+
+ + +
+
+ + + D1 - SELETOR\n"; + echo "
\n"; + echo "D2 - SELETOR\n"; + } + else {echo "
\n";} + ?> +

+
+
+ + + height=460>
RECHAMADAS PARA O AGENTE :
Estale sobre uma rechamada abaixo para chamar agora a parte traseira do cliente. Se você estalar sobre um registro abaixo para o chamar, estará removido da lista. +
+
+
  + Refresque +                 + Vá Para trás +
+
+ + + height=460>
LIGAÇÃO MANUAL NOVA DO SELETOR PARA :

Incorpore a informação abaixo para a ligação que nova você deseja se chamar. +
+ \n"; + } + ?> + Note: all new manual dial leads will go into list

+ + + + + + + + + + + + + + + +
Código Do Seletor:   (Este é geralmente um 1 nos EUA e no Canadá)
Telefone Number: +   (12 digits max - digits only) +
Ligações Existentes Da Busca:   (Esta opção se verificado tentará encontrar o número de telefone no sistema antes de introduzi-lo como uma ligação nova)


Se você quiser marcar um número e o ter não adicionado como uma ligação nova, entre no dialstring exato esse você querem chamar-se abaixo no campo da ultrapassagem do seletor. Ao hangup esta chamada você terá que abrir as CHAMADAS ncEsta ligação da SESSÃO no fundo da tela e pendurá-las acima estalando em sua ligação da canaleta lá.
 
Ultrapassagem Do Seletor:   (os dígitos satisfazem somente) +
+
+ Seletor Agora +                 + Vá Para trás +
+
+ + + +
+
+ + + + +Seu Status:
Calls Dialing: +
+ + + + + > + +
+
+ + Transferência - Conferência
+ + + LOCAL MAIS PRÓXIMO + Linha De Xfer Do Hangup + Hangup Ambas as Linhas + +
+ + Número a chamar-se   + + ULTRAPASSAGEM DO SELETOR   + CHAMADA DA LICENÇA 3-WAY + Transferência Da Cortina Do Seletor + D1 + D2 + +
+ + segundos   + channel + Seletor Com Cliente + Seletor Do Cliente Do Parque + Blind Transfer VMail Message +
+
+
+
+ + + + height=70> + +
Ligação Dispositioned Como:

+ -
+
+
+ + + height=70> + + + + +
Chaves Quentes Da Disposição: + Quando ativo, pressione simplesmente a chave de teclado para a:
+ + + + + +
+
+ + + height=70> + + + + + + +
Informação Precedente Da Rechamada: close
+
+
+
+
+ +
+
+ + + height=500>
Noone está em sua sessão:
+ Vá Para trás +

+ Agente Da Chamada Outra vez +
+
+ + + height=500>
O cliente pendurou acima:
+ Vá Para trás +

+ Revestimento e chamada da disposição + +
+
+ + + height=550>
Chamada Wrapup: segundos restantes no wrapup

+ +

+ Revestimento Wrapup e movimento sobre + +
+
+ + + height=500>
Sua sessão foi incapacitada
LOGOUT

Vá Para trás +
+
+ + + height=500>

LOGOUT
+
+ + +
+
+ + +
 
+
+ + + height=47>
Todas as mudanças feitas ao cliente que a informação abaixo neste tempo não será comitted, você devem mudar a informação do cliente antes de você hangup a chamada.
+
+ + + height=460>
CHAMADA DA DISPOSIÇÃO :       Hangup Outra vez       minimize
+ Extremidade-$$$-CHAME A Seleção Da Disposição +
+ PARE DE CHAMAR-SE
+ RESTAURAÇÃO | + SUBMETA +

+ WEB FORM SUBMETA +

  +
+
+ + + height=460>
SELECIONE Um CÓDIGO Da PAUSA :
+ Pausa Code Selection + +

  +
+
+ + + height=460>
Selecione uma data da rechamada :
+ + + Selecione uma data abaixo   +     + Hour: +   + Minutes: +   + +  
+ MINHA RECHAMADA SOMENTE
";} + ?> + Comentários dos CB:

+ + SUBMETA

+ +

  +
+
+ + + height=460>
SELEÇÃO DE GRUPO INBOUND MAIS PRÓXIMA
+ Seleção De Grupo Inbound Mais próxima +
+ CHAMADA MISTURADA(outbound ativado)
+ RESTAURAÇÃO | + SUBMETA +



  +
+
+ + + + Canaleta + Canaleta + MINHA RECHAMADA SOMENTE
";} + ?> +
+ + + + height=>
VICISELETOR SCRIPT
+
+ + + 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> +CHAVES QUENTES INATIVAS + + + + +> + + + +
Versão do correia-cliente de VICISELETOR:     CONFIGURAÇÃO:               Usuário:              
+Mostre a informação da canaleta da chamada de conferência

 
+
+ + + +
+
+ + + + + id="MainTable"> + + + + + + + + + + + + + + + +
STATUS:
+
+Número Seguinte Do Seletor
+ INSPECÇÃO PRÉVIA DA LIGAÇÃO
+ ALT DO TELEFONE
+ + +LIMA DE GRAVAÇÃO:
+
+
+ID REGISTRO:
+
+ +Comece Gravar
+
+Formulário Da Correia fotorreceptora
+
+Chamada Do Parque
+Transferência - Conferência
+
+Cliente Do Hangup
+
+
Emita DTMF

+
+
+
align=left valign=top> + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
segundos:   Canaleta:   Tempo De Cust:
Informação Do Cliente:
Título:   Primeiramente:   Mi:  Último:
Endereço1:
Endereço2:   Endereço3:
Cidade:   Estado:   PostCode:
Província:   Vendedor Id:
Telefone:   DialCode:   Alt. Telefone:
Mostra:   Email:
Comentários: + +\n";} +else + {echo "\n";} +?> + +
+
+ +
+
> + 
+ + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/voicemail_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/voicemail_check.php new file mode 100644 index 00000000..5a03e14a --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_pt/voicemail_check.php @@ -0,0 +1,140 @@ + LICENSE: GPLv2 +### +### This script is designed purely to check whether the voicemail box on the server defined has new and old messages +### This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +### +### required variables: +### - $server_ip +### - $session_name +### - $user +### - $pass +### optional variables: +### - $format - ('text','debug') +### - $vmail_box - ('101','1234',...) +### + +# changes +# 50422-1147 - First build of script +# 50503-1241 - added session_name checking for extra security +# 50711-1201 - removed HTTP authentication in favor of user/pass vars +# 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1204 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.5'; +$build = '60619-1204'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Inválido Usuárioname/Senha: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Inválido server_ip: |$server_ip| or Inválido session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Inválido session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Verificação De Voicemail"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + $MT[0]=''; + $row=''; $rowx=''; + if (strlen($vmail_box)<1) + { + $channel_live=0; + echo "caixa do voicemail $vmail_box é inválido\n"; + exit; + } + else + { + $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $vmails_list = mysql_num_rows($rslt); + $loop_count=0; + while ($vmails_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0]|$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/active_list_refresh.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/active_list_refresh.php new file mode 100644 index 00000000..be888d1d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/active_list_refresh.php @@ -0,0 +1,482 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to serve updates of the live data to the display scripts +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $ADD - ('1','2','3','4','5') +# - $order - ('asc','desc') +# - $format - ('text','table','menu','selectlist','textarea') +# - $bgcolor - ('#123456','white','black','etc...') +# - $txtcolor - ('#654321','black','white','etc...') +# - $txtsize - ('1','2','3','etc...') +# - $selectsize - ('2','3','4','etc...') +# - $selectfontsize - ('8','10','12','etc...') +# - $selectedext - ('cc100') +# - $selectedtrunk - ('Zap/25-1') +# - $selectedlocal - ('SIP/cc100') +# - $textareaheight - ('8','10','12','etc...') +# - $textareawidth - ('8','10','12','etc...') +# - $field_name - ('extension','busyext','extension_xfer','etc...') +# +# +# changes +# 50323-1147 - First build of script +# 50401-1132 - small formatting changes +# 50502-1402 - added field_name as modifiable variable +# 50503-1213 - added session_name checking for extra security +# 50503-1311 - added conferences list +# 50610-1155 - Added NULL check on MySQL results to reduced errors +# 50711-1209 - removed HTTP authentication in favor of user/pass vars +# 60421-1155 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1118 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["order"])) {$order=$_GET["order"];} + elseif (isset($_POST["order"])) {$order=$_POST["order"];} +if (isset($_GET["bgcolor"])) {$bgcolor=$_GET["bgcolor"];} + elseif (isset($_POST["bgcolor"])) {$bgcolor=$_POST["bgcolor"];} +if (isset($_GET["txtcolor"])) {$txtcolor=$_GET["txtcolor"];} + elseif (isset($_POST["txtcolor"])) {$txtcolor=$_POST["txtcolor"];} +if (isset($_GET["txtsize"])) {$txtsize=$_GET["txtsize"];} + elseif (isset($_POST["txtsize"])) {$txtsize=$_POST["txtsize"];} +if (isset($_GET["selectsize"])) {$selectsize=$_GET["selectsize"];} + elseif (isset($_POST["selectsize"])) {$selectsize=$_POST["selectsize"];} +if (isset($_GET["selectfontsize"])) {$selectfontsize=$_GET["selectfontsize"];} + elseif (isset($_POST["selectfontsize"])) {$selectfontsize=$_POST["selectfontsize"];} +if (isset($_GET["selectedext"])) {$selectedext=$_GET["selectedext"];} + elseif (isset($_POST["selectedext"])) {$selectedext=$_POST["selectedext"];} +if (isset($_GET["selectedtrunk"])) {$selectedtrunk=$_GET["selectedtrunk"];} + elseif (isset($_POST["selectedtrunk"])) {$selectedtrunk=$_POST["selectedtrunk"];} +if (isset($_GET["selectedlocal"])) {$selectedlocal=$_GET["selectedlocal"];} + elseif (isset($_POST["selectedlocal"])) {$selectedlocal=$_POST["selectedlocal"];} +if (isset($_GET["textareaheight"])) {$textareaheight=$_GET["textareaheight"];} + elseif (isset($_POST["textareaheight"])) {$textareaheight=$_POST["textareaheight"];} +if (isset($_GET["textareawidth"])) {$textareawidth=$_GET["textareawidth"];} + elseif (isset($_POST["textareawidth"])) {$textareawidth=$_POST["textareawidth"];} +if (isset($_GET["field_name"])) {$field_name=$_GET["field_name"];} + elseif (isset($_POST["field_name"])) {$field_name=$_POST["field_name"];} + +### security strip all non-alphanumeric characters out of the variables ### + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $ADD=ereg_replace("[^0-9]","",$ADD); + $order=ereg_replace("[^0-9a-zA-Z]","",$order); + $format=ereg_replace("[^0-9a-zA-Z]","",$format); + $bgcolor=ereg_replace("[^\#0-9a-zA-Z]","",$bgcolor); + $txtcolor=ereg_replace("[^\#0-9a-zA-Z]","",$txtcolor); + $txtsize=ereg_replace("[^0-9a-zA-Z]","",$txtsize); + $selectsize=ereg_replace("[^0-9a-zA-Z]","",$selectsize); + $selectfontsize=ereg_replace("[^0-9a-zA-Z]","",$selectfontsize); + $selectedext=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedext); + $selectedtrunk=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedtrunk); + $selectedlocal=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$selectedlocal); + $textareaheight=ereg_replace("[^0-9a-zA-Z]","",$textareaheight); + $textareawidth=ereg_replace("[^0-9a-zA-Z]","",$textareawidth); + $field_name=ereg_replace("[^ \#\*\:\/\@\.\-\_0-9a-zA-Z]","",$field_name); + +# default optional vars if not set +if (!isset($ADD)) {$ADD="1";} +if (!isset($order)) {$order='desc';} +if (!isset($format)) {$format="text";} +if (!isset($bgcolor)) {$bgcolor='white';} +if (!isset($txtcolor)) {$txtcolor='black';} +if (!isset($txtsize)) {$txtsize='2';} +if (!isset($selectsize)) {$selectsize='4';} +if (!isset($selectfontsize)) {$selectfontsize='10';} +if (!isset($textareaheight)) {$textareaheight='10';} +if (!isset($textareawidth)) {$textareawidth='20';} + +$version = '0.0.8'; +$build = '60619-1118'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Nesprávny Užívateľské meno/Heslo: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Nesprávny server_ip: |$server_ip| or Nesprávny session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nesprávny session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='table') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Zobraziť zoznamy: "; +if ($ADD==1) {echo "Aktívne pobočky";} +if ($ADD==2) {echo "Obsadené pobočky";} +if ($ADD==3) {echo "Vonkajšie linky";} +if ($ADD==4) {echo "Lokálne pobočky";} +if ($ADD==5) {echo "Konferencie";} +if ($ADD==99999) {echo "POMOC";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ADD=1 display all live extensions on a server +###################### +if ($ADD==1) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'extension';} + if ($format=='table') {echo "\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + +###################### +# ADD=2 display all busy extensions on a server +###################### +if ($ADD==2) +{ + if (!$field_name) {$field_name = 'busyext';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=3 display all busy outside lines(trunks) on a server +###################### +if ($ADD==3) +{ + if (!$field_name) {$field_name = 'trunk';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=4 display all busy Local lines on a server +###################### +if ($ADD==4) +{ + if (!$field_name) {$field_name = 'local';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=5 display all agc-usable conferences on a server +###################### +if ($ADD==5) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'conferences';} + if ($format=='table') {echo "
\n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='table') {echo "\n";} +if ($format=='table') {echo "\n\n\n";} + +exit; + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/astguiclient.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/astguiclient.php new file mode 100644 index 00000000..c615d417 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/astguiclient.php @@ -0,0 +1,2905 @@ + LICENSE: AGPLv2 +# +# make sure you have added a user to the vicidial_users MySQL table with at least +# user_level 1 or greater to access this page. Also you need to have the login +# and pass of a phone listed in the asterisk.phones table. The page grabs the +# server info and other details from this login and pass +# +# Other scripts that this application depends on: +# - active_list_refresh.php: displays active/live channels and phones +# - manager_send.php: sends Actions to be executed on Asterisk servers +# - live_exten_check.php: checks to see if user's phone is on a live call +# - call_log_display.php: retrieves log of inbound and outbound calls +# - voicemail_check.php: retrieves counts of new and old messages +# - inbound_popup.php: opens upon live_inbound call coming in +# - conf_exten_check.php: checks to see if and calls are in a specific conf +# - park_calls_display.php: retrieves list of parked calls +# - vdc_db_query.php: Changes values in the DB for non-calling records +# +# CHANGES +# 50215-1356 - Proof-of-concept test of XMLHttpRequest for astGUIclient web +# 50323-1411 - First build version display-only +# 50331-1040 - Second-build, added phone login and hangup/hijack display +# 50401-1006 - Trunk/Local Hangup functions enabled +# 50404-1056 - Trunk/Local Hijack functions enabled +# 50404-1459 - Simple live calls display and grabs updated time from server +# 50405-1221 - Reorganized the display and layers, added some images +# 50406-1005 - Added In/Out call log display to MAIN panel +# 50407-1254 - Start/Stop Recording on live calls enabled +# 50422-1101 - Activated Check Voicemail button and new/old messages count +# 50428-1449 - Added dial from log and basic live_inbound call popup +# 50429-1455 - Modified inbound popup code for IE and to add more functions +# 50502-1442 - Added basic method to transfer live calls somewhere else +# 50503-1205 - Added web_client_sessions entry for more security of subscripts +# 50503-1537 - Added basic conferences display +# 50509-1132 - Added conference connected list and hangup/xfer for them +# 50511-1129 - Added registration of conference rooms and added manual dial +# 50523-1342 - Added Conference recording and send DTMF +# 50523-1622 - Added Local Dial window frame for calling local extensions +# 50524-1456 - Added ability to park call and display number of parked calls +# 50524-1600 - Added ability to display and pickup/hangup/xfer parked calls +# 50525-1224 - Added ability to place outbound call from within conferene +# 50531-1225 - Added ability to do dual transfers to meetme rooms from Main +# 50711-1229 - removed HTTP authentication in favor of user/pass vars +# 50711-1610 - Added Zap monitoring to Trunk/Local Action screens +# 50804-1604 - Minor bug fix in inbound_popup functions +# 50818-1715 - Added pretty login section +# 50913-1137 - Added custom outbound_cid from phones table +# 51110-1430 - Fixed non-standard http port issue +# 60103-1421 - Added code for favorite extensions chooser +# 60104-1347 - Added basic layout for favorites editing frame +# 60105-1124 - Finished Favorites frame and added DB submission +# 60112-1622 - Several formatting changes +# 60421-1357 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1103 - Added variable filters to close security holes for login form +# 60829-1528 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +$version = '2.0.1'; +$build = '60829-1528'; + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + + +if ($force_logout) +{ + if( (strlen($_SERVER['user'])>0) or (strlen($_SERVER['pass'])>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "Práve ste sa odhlásili, Ďakujeme\n"; + exit; +} + +$StarTtime = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd-His"); + $month_old = mktime(0, 0, 0, date("m"), date("d")-7, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$US='_'; +$CL=':'; +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./astguiclient_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = $agcPAGE; +$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); + + if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) + { + header ("Content-type: text/html; charset=utf-8"); + + echo "web klient astGUIclient: Prihlásiť\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Slovensky
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Prihlásiť
 
Meno užívateľa:
Heslo užívateľa:
Prihlásenie telefónu:
Heslo telefónu:

VERZIA: $version       POSTAVENÉ: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($user); + $password=strtoupper($pass); + $stmt="SELECT full_name,user_level from vicidial_users where user='$user' and pass='$pass'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + } + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "web klient astGUIclient: Prihlásenie telefónu\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Slovensky
\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Prihlásenie telefónu
 
Prihlásenie telefónu:
Heslo telefónu:

VERZIA: $version       POSTAVENÉ: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +$authphone=0; +$stmt="SELECT count(*) from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "web klient astGUIclient: Prihlásenie telefónu\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Slovensky
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Prihlásenie telefónu
 
Prepáčte, Vaše prihlasovacie meno a heslo nie sú aktívne v tomto systéme, prosím skúste znova:
 
Prihlásenie telefónu:
Heslo telefónu:

VERZIA: $version       POSTAVENÉ: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { + echo "web klient astGUIclient\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $phone_login=$row[6]; + $phone_pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $CaLLerID_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $outbound_cid=$row[65]; + + $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtime$US$session_ext$session_rand"; + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'agc';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','agc','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT count(*) from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_present=$row[0]; + if ($favorites_present > 0) + { + $stmt="SELECT extensions_list from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_list=$row[0]; + $h=0; + $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites = explode(',',$favorites_listX); + $favorites_count = count($favorites); + $favorites_listX=''; + + $o=0; + while ($favorites_count > $o) + { + $stmt="SELECT fullname,protocol from phones where extension = '$favorites[$o]' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $favorites_names[$o] = $rowx[0]; + $favorites_listX .= "$rowx[1]/$favorites[$o],"; + $o++; + } + + echo "\n"; + echo "\n"; + } + else + { + echo "\n"; + } + +### gather phone extensions and fullnames for favorites editor ### + $stmt="SELECT extension,fullname from phones where server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $exten_ct = mysql_num_rows($rslt); + $favlistCT=0; + $nofavlistCT=0; + while ($favlistCT < $exten_ct) + { + $row=mysql_fetch_row($rslt); + $favlist[$favlistCT]= "$row[0] - $row[1]"; + $favlistCT++; + } + + } +} + + +?> + + + + + + +\n"; + + +?> + +
+ + + + + + + + + +
+ + +ODHLÁSIŤ
\n"; ?> +
Základný panelPanel aktívnych liniekPanel konferenciíOveriť hlasovú schránkuŽivý hovor
+
+ + +

Logout
+
+ + +
TRUNK POLOŹIŤ

+ Active Trunks Menu
+ Zložiť trunk   |   + Capturar Trunk   |   + Počúvať trunk   |   + Osviežiť   |   + Säť do zakladného okna +
+
+ + +
Zloženie lokálne

+ Aktívne lokálne menu
+ Zložiť lokálne   |   + Capturar Local   |   + Počúvať lokálne   |   + Osviežiť   |   + Säť do zakladného okna +
+
+ + + + + + + +
PRESMEROVANIE ŽIVÉHO HOVORU
Kanál má byť presmerovaný: Kanál
Pobočky:
Menu pobočiek
+
+ Poslať do vybranej pobočky

+ Poslať do vybranej odkazovej schránky

+ Poslať na toto číslo:


+ Osviežiť


+ Säť do zakladného okna

+
Konferencie:
(Kliknite na číslo dole pre poslanie do konferencie)
Poslať môj kanál tiež
Menu konferencií
+
+ + + + + +
Volanie LOKÁLNYCH pobočiek
Volanie telefónu z: Kanál
Pobočky:
Menu pobočiek
+
+ Volať vybrané pobočky

+ Volať vybrané hlasové schránky

+ Osviežiť


+ Säť do zakladného okna

+
+
+ + +
ZAZAPARKOVAŤOVANIE HOVOROV:
+ Säť do zakladného okna

+
+
+ + + + + + + + + + + + + + + +
  +
HLASOVÁ SCHRÁNKA     NOVÁ:     STARÁ:             RUČNÉ VOLANIE       DIAL
ZAZAPARKOVAŤOVANIE HOVOROV: 0                VOLANIE LOKÁLNYCH POBOČIEK
ODCHODZIE HOVORY:
PRÍCHODZIE HOVORY:
astGUIclient verzia web-klient: POSTAVENÉ:
+ + + + $h) + { + if (strlen($favorites[$h])>1) + { + echo "\n"; + } + $h++; + } +?> + +
FAVORIZOVANÉ       upraviť
$favorites[$h] - $favorites_names[$h]
 
+
+ + + + + + + +
FAVORIZOVANÉ

 
POTVRDIT FAVORIZOVANÉ ZMENY – vyžaduje sa odhlásenie
BACK TO MAIN WINDOW - ignore changes made
+
+ +
+ + + + + + + + + + + + + +
+ZASTAVIŤ | SPUSTIŤ     Doba obnovenia: 1000 ms Rýchlejšie | Pomalšie

+
Inicializovať..
+
Aktívne pobočky
+OSVIEŽIŤ | +PORADIE | +
Vonkajšie linky
+OSVIEŽIŤ | +PORADIE | +
Lokálne pobočky
+OSVIEŽIŤ | +PORADIE | +
+ Tu sú dáta

+
+ Tu sú dáta

Trunk akcia +
+ Tu sú dáta

Lokálna akcia +
+
+ + + + +
+ + +Zoznam konferencií + + + +
+Kliknite ľavým tlačidlom na konferenciu pre získanie informácie +
+ + + + + + + + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/call_log_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/call_log_display.php new file mode 100644 index 00000000..25406f6b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/call_log_display.php @@ -0,0 +1,196 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to send the inbound and outbound calls for a specific phone +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +# - $protocol - ('SIP','Zap','IAX2',...) +# - $in_limit - ('10','20','50','100',...) +# - $out_limit - ('10','20','50','100',...) +# +# +# changes +# 50406-1013 - First build of script +# 50407-1452 - Added definable limits +# 50503-1236 - added session_name checking for extra security +# 50610-1158 - Added NULL check on MySQL results to reduced errors +# 50711-1202 - removed HTTP authentication in favor of user/pass vars +# 60323-1550 - added option for showing different number dialed in log +# 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1202 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($in_limit)) {$in_limit="100";} +if (!isset($out_limit)) {$out_limit="100";} +$number_dialed = 'number_dialed'; +#$number_dialed = 'extension'; + +$version = '0.0.8'; +$build = '60619-1202'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Nesprávny Užívateľské meno/Heslo: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Nesprávny server_ip: |$server_ip| or Nesprávny session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nesprávny session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Zobraziť log hovoru"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten Nie je správny alebo protokol $protocol Nie je správny\n"; + exit; + } + else + { + ##### print outbound calls from the call_log table + $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} + echo "$out_calls_count|"; + $loop_count=0; + while ($out_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[3] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + + if ($number_dialed == 'extension') {$row[2] = substr($row[2],-10);} + echo "$row[0] ~$row[1] ~$row[2] ~$call_time_MS|"; + } + echo "\n"; + + ##### print inbound calls from the live_inbound_log table + $stmt="SELECT call_log.uniqueid,live_inbound_log.start_time,live_inbound_log.extension,caller_id,length_in_sec from live_inbound_log,call_log where phone_ext='$exten' and live_inbound_log.server_ip = '$server_ip' and call_log.uniqueid=live_inbound_log.uniqueid order by start_time desc limit $in_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} + echo "$in_calls_count|"; + $loop_count=0; + while ($in_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[4] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $callerIDnum = $row[3]; $callerIDname = $row[3]; + $callerIDnum = preg_replace("/.*<|>.*/","",$callerIDnum); + $callerIDname = preg_replace("/\"| <\d*>/","",$callerIDname); + + echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; + } + echo "\n"; + + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/conf_exten_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/conf_exten_check.php new file mode 100644 index 00000000..c5752ceb --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/conf_exten_check.php @@ -0,0 +1,353 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('refresh','register') +# - $client - ('agc','vdc') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $campagentstdisp - ('YES',...) +# + +# changes +# 50509-1054 - First build of script +# 50511-1112 - Added ability to register a conference room +# 50610-1159 - Added NULL check on MySQL results to reduced errors +# 50706-1429 - script changed to not use HTTP login vars, user/pass instead +# 50706-1525 - Added date-time display for vicidial client display +# 50816-1500 - Added random update to vicidial_live_agents table for vdc users +# 51121-1353 - Altered echo statements for several small PHP speed optimizations +# 60410-1424 - Added ability to grab calls-being-placed and agent status +# 60421-1405 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1201 - Added variable filters to close security holes for login form +# 61128-2255 - Added update for manual dial vicidial_live_agents +# 70319-1542 - Added agent disabled display function +# 71122-0205 - Added vicidial_live_agent status output +# 80424-0442 - Added non_latin lookup from system_settings +# 80519-1425 - Added calls-in-queue tally +# 80703-1106 - Added API functionality for Hangup and Dispo +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["client"])) {$client=$_GET["client"];} + elseif (isset($_POST["client"])) {$client=$_POST["client"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campagentstdisp"])) {$campagentstdisp=$_GET["campagentstdisp"];} + elseif (isset($_POST["campagentstdisp"])) {$campagentstdisp=$_POST["campagentstdisp"];} + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) +{ +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +} + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($client)) {$client="agc";} + +$Alogin='N'; +$RingCalls='N'; +$DiaLCalls='N'; + +$version = '2.0.4-12'; +$build = '71122-0205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd_His"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$random = (rand(1000000, 9999999) + 10000000); + + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Nesprávny Užívateľské meno/Heslo: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Nesprávny server_ip: |$server_ip| or Nesprávny session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nesprávny session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Overiť konferenčnú pobočku"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + if ($ACTION == 'refresh') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($conf_exten)<1) + { + $channel_live=0; + echo "Conf Exten $conf_exten Nie je správny\n"; + exit; + } + else + { + + if ($client == 'vdc') + { + $Acount=0; + $AexternalDEAD=0; + + ### see if the agent has a record in the vicidial_live_agents table + $stmt="SELECT count(*) from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Acount=$row[0]; + + if ($Acount > 0) + { + $stmt="SELECT status from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Astatus=$row[0]; + } + # ### find out if external table shows agent should be disabled + # $stmt="SELECT count(*) from another_table where user='$user' and status='DEAD';"; + # if ($DB) {echo "|$stmt|\n";} + # $rslt=mysql_query($stmt, $link); + # $row=mysql_fetch_row($rslt); + # $AexternalDEAD=$row[0]; + + if ($auto_dial_level > 0) + { + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + if ($campagentstdisp == 'YES') + { + ### grab the status of this agent to display + $stmt="SELECT status,campaign_id,closer_campaigns from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Alogin=$row[0]; + $Acampaign=$row[1]; + $AccampSQL=$row[2]; + $AccampSQL = ereg_replace(' -','', $AccampSQL); + $AccampSQL = ereg_replace(' ',"','", $AccampSQL); + + ### grab the number of calls being placed from this server and campaign + $stmt="SELECT count(*) from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id='$Acampaign') or (campaign_id IN('$AccampSQL')) );"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $RingCalls=$row[0]; + if ($RingCalls > 0) {$RingCalls = "Calls in Queue: $RingCalls";} + else {$RingCalls = "Calls in Queue: $RingCalls";} + + ### grab the number of calls being placed from this server and campaign + $stmt="SELECT count(*) from vicidial_auto_calls where status NOT IN('XFER') and ( (campaign_id='$Acampaign') or (campaign_id IN('$AccampSQL')) );"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $DiaLCalls=$row[0]; + + } + else + { + $Alogin='N'; + $RingCalls='N'; + $DiaLCalls='N'; + } + } + else + { + $Alogin='N'; + $RingCalls='N'; + $DiaLCalls='N'; + + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } + + ### grab the API hangup and API dispo fields in vicidial_live_agents + $stmt="SELECT external_hangup,external_status from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $external_hangup = $row[0]; + $external_status = $row[1]; + if (strlen($external_status)<1) {$external_status = '::::::::::';} + + if ($Acount < 1) {$Alogin='DEAD_VLA';} + if ($AexternalDEAD > 0) {$Alogin='DEAD_EXTERNAL';} + + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Stav: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . "|\n"; + + } + $total_conf=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$sip_list = mysql_num_rows($rslt);} + # echo "$sip_list|"; + $loop_count=0; + while ($sip_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $KanálA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + # echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $KanálA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + } + $channels_list = ($channels_list + $sip_list); + echo "$channels_list|"; + + $counter=0; + $countecho=''; + while($total_conf > $counter) + { + $counter++; + $countecho = "$countecho$KanálA[$counter] ~"; + # echo "$KanálA[$counter] ~"; + } + + echo "$countecho\n"; + } + + if ($ACTION == 'register') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($exten)<1) ) + { + $channel_live=0; + echo "Conf Exten $conf_exten Nie je správny or Exten $exten Nie je správny\n"; + exit; + } + else + { + $stmt="UPDATE conferences set extension='$exten' where server_ip = '$server_ip' and conf_exten = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + echo "Konferencia $conf_exten bol zaregistrovaný $exten\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/dbconnect.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/dbconnect.php new file mode 100644 index 00000000..723d3c59 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/dbconnect.php @@ -0,0 +1,58 @@ + LICENSE: AGPLv2 +# +if ( file_exists("/etc/astguiclient.conf") ) +{ +$DBCagc = file("/etc/astguiclient.conf"); +foreach ($DBCagc as $DBCline) + { + $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); + if (ereg("^PATHlogs", $DBCline)) + {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} + if (ereg("^PATHweb", $DBCline)) + {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} + if (ereg("^VARDB_server", $DBCline)) + {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} + if (ereg("^VARDB_database", $DBCline)) + {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} + if (ereg("^VARDB_user", $DBCline)) + {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} + if (ereg("^VARDB_pass", $DBCline)) + {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} + if (ereg("^VARDB_port", $DBCline)) + {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} + } + +} +else +{ +#defaults for DB connection +$VARDB_server = 'localhost'; +$VARDB_user = 'cron'; +$VARDB_pass = '1234'; +$VARDB_database = '1234'; +$WeBServeRRooT = '/usr/local/apache2/htdocs'; +} + +$link=mysql_connect("$VARDB_server", "$VARDB_user", "$VARDB_pass"); +if (!$link) { + die('MySQL connect ERROR: ' . mysql_error()); +} +mysql_select_db("$VARDB_database",$link); + +$local_DEF = 'Local/'; +$conf_silent_prefix = '7'; +$local_AMP = '@'; +$ext_context = 'demo'; +$recording_exten = '8309'; +$WeBRooTWritablE = '1'; +$non_latin = '0'; # set to 1 for UTF rules, overridden by system_settings +$flag_channels=0; +$flag_string = 'VICIast20'; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/inbound_popup.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/inbound_popup.php new file mode 100644 index 00000000..3801f7e9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/inbound_popup.php @@ -0,0 +1,351 @@ + LICENSE: AGPLv2 +# +# This script is designed to open up when a live_inbound call comes in giving the user +# options of what to do with the call or options to lookup the callerID on various web sites +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $uniqueid - ('1234567890.123456',...) +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $vmail_box - ('101','1234',...) +# - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $voicemail_dump_exten - ('85026666666666') +# - $local_web_callerID_URL_enc - ( rawurlencoded custom callerid lookup URL) +# +# +# changes +# 50428-1500 - First build of script display only +# 50429-1241 - some formatting, hangup and Vmail redirect, 30s timeout on actions, and CID web lookup links +# 50503-1244 - added session_name checking for extra security +# 50711-1203 - removed HTTP authentication in favor of user/pass vars +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["voicemail_dump_exten"])) {$voicemail_dump_exten=$_GET["voicemail_dump_exten"];} + elseif (isset($_POST["voicemail_dump_exten"])) {$voicemail_dump_exten=$_POST["voicemail_dump_exten"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_GET["local_web_callerID_URL_enc"];} + elseif (isset($_POST["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_POST["local_web_callerID_URL_enc"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} + else {$local_web_callerID_URL = '';} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.6'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$DO = '-1'; +if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Nesprávny Užívateľské meno/Heslo: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Nesprávny server_ip: |$server_ip| or Nesprávny session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nesprávny session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +echo "\n"; +echo "\n"; +echo "\n"; +?> + + +ŽIVÝ PRÍCHODZÍ HOVOR"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "

ŽIVÝ PRÍCHODZÍ HOVOR

\n"; +echo "$NOW_TIME

\n"; +} + + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($uniqueid)<9) + { + $channel_live=0; + echo "Uniqueid $uniqueid Nie je správny\n"; + exit; + } + else + { + $stmt="SELECT * FROM live_inbound where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $channels_list = mysql_num_rows($rslt); + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); +# echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; +# Zap/73|"V.I.C.I. MARKET" <7275338730>|2005-04-28 14:01:21|7274514936|Inbound direct to Matt||||| + if ($format=='debug') {echo "\n";} + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Kanál: $row[1]
IDvolajúceho: $row[3]
\n"; + + $phone = eregi_replace(".*\<","",$row[3]); + $phone = eregi_replace("\>.*","",$phone); + $NPA = substr($phone, 0, 3); + $NXX = substr($phone, 3, 3); + $XXXX = substr($phone, 6, 4); + $D='-'; + echo "GOOGLE - \n"; + echo "ANYWHO - \n"; + echo "SWITCHBOARD - \n"; + echo "VERIZON - \n"; + echo "WHITEPAGES - \n"; + echo "411.COM - \n"; + echo "411.COM - \n"; + + $local_web_callerID_QUERY_STRING =''; + $local_web_callerID_QUERY_STRING.="?callerID_areacode=$NPA"; + $local_web_callerID_QUERY_STRING.="&callerID_prefix=$NXX"; + $local_web_callerID_QUERY_STRING.="&callerID_last4=$XXXX"; + $local_web_callerID_QUERY_STRING.="&callerID_Time=$row[6]"; + $local_web_callerID_QUERY_STRING.="&callerID_Kanál=$row[1]"; + $local_web_callerID_QUERY_STRING.="&callerID_uniqueID=$row[0]"; + $local_web_callerID_QUERY_STRING.="&callerID_phone_ext=$row[5]"; + $local_web_callerID_QUERY_STRING.="&callerID_server_ip=$row[2]"; + $local_web_callerID_QUERY_STRING.="&callerID_extension=$row[4]"; + $local_web_callerID_QUERY_STRING.="&callerID_inbound_number=$row[8]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_a=$row[9]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_b=$row[10]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_c=$row[11]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_d=$row[12]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_e=$row[13]"; + echo "UPRAVENÉ - \n"; + + echo "
Volané číslo: $row[8]
Poznámka: $row[9]|$row[10]|$row[11]|$row[12]|$row[13]|
\n"; + echo "POLOŹIŤ - \n"; + echo "POSLAŤ DO MOJEJ HLASOVEJ SCHRÁNKY\n"; + echo "
\n"; + + + $stmt="UPDATE live_inbound set acknowledged='Y' where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + + } + + + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/live_exten_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/live_exten_check.php new file mode 100644 index 00000000..f76a708f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/live_exten_check.php @@ -0,0 +1,278 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to send whether the client channel is live and to what channel it is connected +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +# - $protocol - ('SIP','Zap','IAX2',...) +# +# +# changes +# 50404-1249 - First build of script +# 50406-1402 - added connected trunk lookup +# 50428-1452 - added live_inbound check for exten on 2nd line of output +# 50503-1233 - added session_name checking for extra security +# 50524-1429 - added parked calls count +# 50610-1204 - Added NULL check on MySQL results to reduced errors +# 50711-1204 - removed HTTP authentication in favor of user/pass vars +# 60103-1541 - added favorite extens status display +# 60421-1359 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1203 - Added variable filters to close security holes for login form +# 60825-1029 - Fixed translation variable issue ChannelA +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count"];} + elseif (isset($_POST["favorites_count"])) {$favorites_count=$_POST["favorites_count"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '2.0.1'; +$build = '60825-1029'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Nesprávny Užívateľské meno/Heslo: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Nesprávny server_ip: |$server_ip| or Nesprávny session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nesprávny session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Overiť aktívnu pobočku"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + +echo "DateTime: $NOW_TIME|"; +echo "UnixTime: $StarTtime|"; + +$stmt="SELECT count(*) FROM parked_channels where server_ip = '$server_ip';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +echo "$row[0]|"; + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten Nie je správny alebo protokol $protocol Nie je správny\n"; + exit; + } + else + { + $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + $ChanneLA[$loop_count] = "$row[0]"; + $ChanneLB[$loop_count] = "$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + $counter=0; + while($loop_count > $counter) + { + $counter++; + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "KanálA: $ChanneLA[$counter] ~"; + echo "KanálB: $ChanneLB[$counter] ~"; + echo "KanálBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "KanálA: $ChanneLA[$counter] ~"; + echo "KanálB: $ChanneLB[$counter] ~"; + echo "KanálBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "KanálA: $ChanneLA[$counter] ~"; + echo "KanálB: $ChanneLB[$counter] ~"; + echo "KanálBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "KanálA: $ChanneLA[$counter] ~"; + echo "KanálB: $ChanneLB[$counter] ~"; + echo "KanálBtrunk: $row[0]|"; + } + else + { + echo "Conversation: $counter ~"; + echo "KanálA: $ChanneLA[$counter] ~"; + echo "KanálB: $ChanneLB[$counter] ~"; + echo "KanálBtrunk: $ChanneLA[$counter]|"; + } + } + } + } + } + +echo "\n"; + +### check for live_inbound entry +$stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = '$exten' and acknowledged='N';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +if ($rslt) {$channels_list = mysql_num_rows($rslt);} + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); + $LIuniqueid = "$row[0]"; + $LIchannel = "$row[1]"; + $LIcallerid = "$row[3]"; + $LIdatetime = "$row[6]"; + echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; + if ($format=='debug') {echo "\n";} + } + +echo "\n"; + + +### if favorites are present do a lookup to see if any are active +if ($favorites_count > 0) + { + $favorites = explode(',',$favorites_list); + $h=0; + $favs_print=''; + while ($favorites_count > $h) + { + $fav_extension = explode('/',$favorites[$h]); + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$favorites[$h]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favs_print .= "$fav_extension[1]: $row[0] ~"; + $h++; + } + echo "$favs_print\n"; + } + +if ($format=='debug') {echo "\n";} + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/manager_send.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/manager_send.php new file mode 100644 index 00000000..57d29094 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/manager_send.php @@ -0,0 +1,1779 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $ACTION - ('Originate','Redirect','Hangup','Command','Monitor','StopMonitor','SysCIDOriginate','RedirectName','RedirectNameVmail','MonitorConf','StopMonitorConf','RedirectXtra','RedirectXtraCX','RedirectVD','HangupConfDial','VolumeControl','OriginateVDRelogin') +# - $queryCID - ('CN012345678901234567',...) +# - $format - ('text','debug') +# - $channel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $exten - ('1234','913125551212',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $filename - ('20050406-125623_44444',...) +# - $extenName - ('phone100',...) +# - $parkedby - ('phone100',...) +# - $extrachannel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $auto_dial_level - ('0','1','1.1',...) +# - $campaign - ('CLOSER','TESTCAMP',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('1234',...) +# - $seconds - ('32',...) +# - $outbound_cid - ('3125551212','0000000000',...) +# - $agent_log_id - ('123456',...) +# - $call_server_ip - ('10.10.10.15',...) +# - $CalLCID - ('VD01234567890123456',...) +# - $stage - ('UP','DOWN','2NDXfeR') +# - $session_id - ('8600051') +# - $FROMvdc - ('YES','NO') +# - $agentchannel - ('SIP/cc101-g7yr','Zap/1-1',...) + +# CHANGELOG: +# 50401-1002 - First build of script, Hangup function only +# 50404-1045 - Redirect basic function enabled +# 50406-1522 - Monitor basic function enabled +# 50407-1647 - Monitor and StopMonitor full functions enabled +# 50422-1120 - basic Originate function enabled +# 50428-1451 - basic SysCIDOriginate function enabled for checking voicemail +# 50502-1539 - basic RedirectName and RedirectNameVmail added +# 50503-1227 - added session_name checking for extra security +# 50523-1341 - added Conference call start/stop recording +# 50523-1421 - added OriginateName and OriginateNameVmail for local calls +# 50524-1602 - added RedirectToPark and RedirectFromPark +# 50531-1203 - added RedirecXtra for dual channel redirection +# 50630-1100 - script changed to not use HTTP login vars, user/pass instead +# 50804-1148 - Added RedirectVD for VICIDIAL blind redirection with logging +# 50815-1204 - Added NEXTAVAILABLE to RedirectXtra function +# 50903-2343 - Added HangupConfDial function to hangup in-dial channels in conf +# 50913-1057 - Added outbound_cid set if present to originate call +# 51020-1556 - Added agent_log_id framework for detailed agent activity logging +# 51118-1204 - Fixed Blind transfer bug from VICIDIAL when in manual dial mode +# 51129-1014 - Added ability to accept calls from other VICIDIAL servers +# 51129-1253 - Fixed Hangups of other agents channels in VICIDIAL AD +# 60310-2022 - Fixed NEXTAVAILABLE bug in leave-3way-call redirect function +# 60421-1413 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1158 - Added variable filters to close security holes for login form +# 60809-1544 - Added direct transfers to leave-3ways in consultative transfers +# 61004-1526 - Added parsing of volume control command and lookup or number +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61201-1115 - Added user to MonitorConf for recording_log +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70226-1251 - Added Mute/UnMute to conference volume control +# 70320-1502 - Added option to allow retry of leave-3way-call and debug logging +# 70322-1636 - Added sipsak display ability +# 80331-1433 - Added second transfer try for VICIDIAL transfers on manual dial calls +# 80402-0121 - Fixes for manual dial transfers on some systems +# 80424-0442 - Added non_latin lookup from system_settings +# 80707-2325 - Added vicidial_id to recording_log for tracking of vicidial or closer log to recording +# 80915-1755 - Rewrote leave-3way functions for external calling +# 81011-1404 - Fixed bugs in leave3way when transferring a manual dial call +# 81020-1459 - Fixed bugs in queue_log logging +# + +require("dbconnect.php"); + +### These are variable assignments for PHP globals off +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["queryCID"])) {$queryCID=$_GET["queryCID"];} + elseif (isset($_POST["queryCID"])) {$queryCID=$_POST["queryCID"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["filename"])) {$filename=$_GET["filename"];} + elseif (isset($_POST["filename"])) {$filename=$_POST["filename"];} +if (isset($_GET["extenName"])) {$extenName=$_GET["extenName"];} + elseif (isset($_POST["extenName"])) {$extenName=$_POST["extenName"];} +if (isset($_GET["parkedby"])) {$parkedby=$_GET["parkedby"];} + elseif (isset($_POST["parkedby"])) {$parkedby=$_POST["parkedby"];} +if (isset($_GET["extrachannel"])) {$extrachannel=$_GET["extrachannel"];} + elseif (isset($_POST["extrachannel"])) {$extrachannel=$_POST["extrachannel"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["secondS"])) {$secondS=$_GET["secondS"];} + elseif (isset($_POST["secondS"])) {$secondS=$_POST["secondS"];} +if (isset($_GET["outbound_cid"])) {$outbound_cid=$_GET["outbound_cid"];} + elseif (isset($_POST["outbound_cid"])) {$outbound_cid=$_POST["outbound_cid"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["call_server_ip"])) {$call_server_ip=$_GET["call_server_ip"];} + elseif (isset($_POST["call_server_ip"])) {$call_server_ip=$_POST["call_server_ip"];} +if (isset($_GET["CalLCID"])) {$CalLCID=$_GET["CalLCID"];} + elseif (isset($_POST["CalLCID"])) {$CalLCID=$_POST["CalLCID"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["allow_sipsak_messages"])) {$allow_sipsak_messages=$_GET["allow_sipsak_messages"];} + elseif (isset($_POST["allow_sipsak_messages"])) {$allow_sipsak_messages=$_POST["allow_sipsak_messages"];} +if (isset($_GET["session_id"])) {$session_id=$_GET["session_id"];} + elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} +if (isset($_GET["FROMvdc"])) {$FROMvdc=$_GET["FROMvdc"];} + elseif (isset($_POST["FROMvdc"])) {$FROMvdc=$_POST["FROMvdc"];} +if (isset($_GET["agentchannel"])) {$agentchannel=$_GET["agentchannel"];} + elseif (isset($_POST["agentchannel"])) {$agentchannel=$_POST["agentchannel"];} + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) +{ +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$secondS = ereg_replace("[^0-9]","",$secondS); +} + +# default optional vars if not set +if (!isset($ACTION)) {$ACTION="Originate";} +if (!isset($format)) {$format="alert";} +if (!isset($ext_priority)) {$ext_priority="1";} + +$version = '2.0.5-34'; +$build = '81020-1459'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$NOWnum = date("YmdHis"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Nesprávny Užívateľské meno/Heslo: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Nesprávny server_ip: |$server_ip| or Nesprávny session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nesprávny session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Poslať manažér: "; +if ($ACTION=="Originate") {echo "Originate";} +if ($ACTION=="Redirect") {echo "Redirect";} +if ($ACTION=="RedirectName") {echo "RedirectName";} +if ($ACTION=="Hangup") {echo "Hangup";} +if ($ACTION=="Command") {echo "Command";} +if ($ACTION==99999) {echo "POMOC";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ACTION=SysCIDOriginate - insert Originate Manager statement allowing small CIDs for system calls +###################### +if ($ACTION=="SysCIDOriginate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<1) ) + { + echo "Exten $exten Nie je správny or queryCID $queryCID Nie je správny, Originate príkaz nebol vložený\n"; + } + else + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Originate príkaz poslaný pre Exten $exten Kanál $channel na $server_ip\n"; + } +} + + + +###################### +# ACTION=Originate, OriginateName, OriginateNameVmail - insert Originate Manager statement +###################### +if ($ACTION=="OriginateName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Jeden z týchto premených Nie je správny:\n"; + echo "Kanál $channel musí byť viac ako 2 znaky\n"; + echo "queryCID $queryCID musí byť viac ako 14 znakov\n"; + echo "extenName $extenName musí byť nastavené\n"; + echo "ext_context $ext_context musí byť nastavené\n"; + echo "ext_priority $ext_priority musí byť nastavené\n"; + echo "\nOriginateName Action neodoslané\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Jeden z týchto premených Nie je správny:\n"; + echo "Kanál $channel musí byť viac ako 2 znaky\n"; + echo "queryCID $queryCID musí byť viac ako 14 znakov\n"; + echo "extenName $extenName musí byť nastavené\n"; + echo "exten $exten musí byť nastavené\n"; + echo "ext_context $ext_context musí byť nastavené\n"; + echo "ext_priority $ext_priority musí byť nastavené\n"; + echo "\nOriginateNameVmail Action neodoslané\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateVDRelogin") +{ + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $CIDdate = date("ymdHis"); + $DS='-'; + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $queryCID = "$SIPSAK_prefix$campaign$DS$CIDdate"; + + } + $ACTION="Originate"; +} + +if ($ACTION=="Originate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<10) ) + { + echo "Exten $exten Nie je správny or queryCID $queryCID Nie je správny, Originate príkaz nebol vložený\n"; + } + else + { + if (strlen($outbound_cid)>1) + {$outCID = "\"$queryCID\" <$outbound_cid>";} + else + {$outCID = "$queryCID";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $outCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Originate príkaz poslaný pre Exten $exten Kanál $channel na $server_ip\n"; + } +} + + + +###################### +# ACTION=HangupConfDial - find the Local channel that is in the conference and needs to be hung up +###################### +if ($ACTION=="HangupConfDial") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "conference $exten Nie je správny or ext_context $ext_context or queryCID $queryCID Nie je správny, Hangup príkaz nebol vložený\n"; + } + else + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $hangup_channel_prefix = "$local_DEF$exten$local_AMP$ext_context"; + + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row > 0) + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $channel=$rowx[0]; + $ACTION="Hangup"; + $queryCID = eregi_replace("^.","G",$queryCID); # GTvdcW... + } + } +} + + + +###################### +# ACTION=Hangup - insert Hangup Manager statement +###################### +if ($ACTION=="Hangup") +{ +$stmt="UPDATE vicidial_live_agents SET external_hangup='0' where user='$user';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) ) + { + $channel_live=0; + echo "Kanál $channel Nie je správny or queryCID $queryCID Nie je správny, Hangup príkaz nebol vložený\n"; + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + +# $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $row=mysql_fetch_row($rslt); +# if ($row[0]==0) +# { +# $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $rowx=mysql_fetch_row($rslt); +# if ($rowx[0]==0) +# { +# $channel_live=0; +# echo "Channel $channel is not live on $call_server_ip, Hangup command not inserted\n"; +# } +# } + if ( ($auto_dial_level > 0) and (strlen($CalLCID)>2) and (strlen($exten)>2) and ($secondS > 0)) + { + $stmt="SELECT count(*) FROM vicidial_auto_calls where channel='$channel' and callerid='$CalLCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + echo "Call $CalLCID $channel nie je živá na $call_server_ip, Checking Live Kanál...\n"; + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel' and extension LIKE \"%$exten\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $channel_live=0; + echo "Kanál $channel nie je živá na $call_server_ip, Hangup príkaz nebol vložený $rowx[0]\n$stmt\n"; + } + else + { + echo "$stmt\n"; + } + } + } + + if ($channel_live==1) + { + if ( (strlen($CalLCID)>15) and ($secondS > 0)) + { + $stmt="SELECT count(*) FROM vicidial_auto_calls where callerid='$CalLCID';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($format=='debug') {echo "\n";} + if ($rowx[0] > 0) + { + ############################################# + ##### SPUSTIŤ QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($format=='debug') {echo "\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt="SELECT count(*) from queue_log where call_id='$CalLCID' and verb='CONNECT';"; + $rslt=mysql_query($stmt, $linkB); + $VAC_cn_ct = mysql_num_rows($rslt); + if ($VAC_cn_ct > 0) + { + $row=mysql_fetch_row($rslt); + $caller_connect = $row[0]; + } + if ($format=='debug') {echo "\n";} + if ($caller_connect > 0) + { + ### grab call lead information needed for QM logging + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where callerid='$CalLCID' order by call_time limit 1;"; + $rslt=mysql_query($stmt, $link); + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + if ($format=='debug') {echo "\n";} + + $CLstage = preg_replace("/.*-/",'',$CLstage); + if (strlen($CLstage) < 1) {$CLstage=0;} + + $stmt="SELECT count(*) from queue_log where call_id='$CalLCID' and verb='COMPLETECALLER' and queue='$CLcampaign_id';"; + $rslt=mysql_query($stmt, $linkB); + $VAC_cc_ct = mysql_num_rows($rslt); + if ($VAC_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $caller_complete = $row[0]; + } + if ($format=='debug') {echo "\n";} + + if ($caller_complete < 1) + { + $time_id=0; + $stmt="SELECT time_id from queue_log where call_id='$CalLCID' and verb='ENTERQUEUE' and queue='$CLcampaign_id';"; + $rslt=mysql_query($stmt, $linkB); + $VAC_eq_ct = mysql_num_rows($rslt); + if ($VAC_eq_ct > 0) + { + $row=mysql_fetch_row($rslt); + $time_id = $row[0]; + } + $StarTtime = date("U"); + if ($time_id > 100000) + {$secondS = ($StarTtime - $time_id);} + + if ($format=='debug') {echo "\n";} + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$CLcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$secondS',data3='1',serverid='$queuemetrics_log_id';"; + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + if ($format=='debug') {echo "\n";} + } + } + } + } + } + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Hangup','$queryCID','Channel: $channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Hangup príkaz poslaný pre Kanál $channel na $call_server_ip\n"; + } + } +} + + + +###################### +# ACTION=Redirect, RedirectName, RedirectNameVmail, RedirectToPark, RedirectFromPark, RedirectVD, RedirectXtra, RedirectXtraCX +# - insert Redirect Manager statement using extensions name +###################### +if ($ACTION=="RedirectVD") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($campaign)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($uniqueid)<2) or (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "Jeden z týchto premených Nie je správny:\n"; + echo "Kanál $channel musí byť viac ako 2 znaky\n"; + echo "queryCID $queryCID musí byť viac ako 14 znakov\n"; + echo "exten $exten musí byť nastavené\n"; + echo "ext_context $ext_context musí byť nastavené\n"; + echo "ext_priority $ext_priority musí byť nastavené\n"; + echo "auto_dial_level $auto_dial_level musí byť nastavené\n"; + echo "campaign $campaign musí byť nastavené\n"; + echo "uniqueid $uniqueid musí byť nastavené\n"; + echo "lead_id $lead_id musí byť nastavené\n"; + echo "\nRedirectVD Action neodoslané\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where lead_id='$lead_id' order by start_epoch desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + if ($auto_dial_level < 1) + { + $stmt = "UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt = "DELETE from vicidial_auto_calls where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectToPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($parkedby)<1) ) + { + $channel_live=0; + echo "Jeden z týchto premených Nie je správny:\n"; + echo "Kanál $channel musí byť viac ako 2 znaky\n"; + echo "queryCID $queryCID musí byť viac ako 14 znakov\n"; + echo "exten $exten musí byť nastavené\n"; + echo "extenName $extenName musí byť nastavené\n"; + echo "ext_context $ext_context musí byť nastavené\n"; + echo "ext_priority $ext_priority musí byť nastavené\n"; + echo "parkedby $parkedby musí byť nastavené\n"; + echo "\nRedirectToPark Action neodoslané\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "INSERT INTO parked_channels values('$channel','$server_ip','','$extenName','$parkedby','$NOW_TIME');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectFromPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Jeden z týchto premených Nie je správny:\n"; + echo "Kanál $channel musí byť viac ako 2 znaky\n"; + echo "queryCID $queryCID musí byť viac ako 14 znakov\n"; + echo "exten $exten musí byť nastavené\n"; + echo "ext_context $ext_context musí byť nastavené\n"; + echo "ext_priority $ext_priority musí byť nastavené\n"; + echo "\nRedirectFromPark Action neodoslané\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "DELETE FROM parked_channels where server_ip='$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Jeden z týchto premených Nie je správny:\n"; + echo "Kanál $channel musí byť viac ako 2 znaky\n"; + echo "queryCID $queryCID musí byť viac ako 14 znakov\n"; + echo "extenName $extenName musí byť nastavené\n"; + echo "ext_context $ext_context musí byť nastavené\n"; + echo "ext_priority $ext_priority musí byť nastavené\n"; + echo "\nRedirectName Action neodoslané\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Redirect"; + } + } +} + +if ($ACTION=="RedirectNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Jeden z týchto premených Nie je správny:\n"; + echo "Kanál $channel musí byť viac ako 2 znaky\n"; + echo "queryCID $queryCID musí byť viac ako 14 znakov\n"; + echo "extenName $extenName musí byť nastavené\n"; + echo "exten $exten musí byť nastavené\n"; + echo "ext_context $ext_context musí byť nastavené\n"; + echo "ext_priority $ext_priority musí byť nastavené\n"; + echo "\nRedirectNameVmail Action neodoslané\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Redirect"; + } + } +} + + + + + + +if ($ACTION=="RedirectXtraCXNeW") +{ + $DBout=''; + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Jeden z týchto premených Nie je správny:\n"; + echo "Kanál $channel musí byť viac ako 2 znaky\n"; + echo "ExtraKanál $extrachannel musí byť viac ako 2 znaky\n"; + echo "queryCID $queryCID musí byť viac ako 14 znakov\n"; + echo "exten $exten musí byť nastavené\n"; + echo "ext_context $ext_context musí byť nastavené\n"; + echo "ext_priority $ext_priority musí byť nastavené\n"; + echo "\nRedirect Action neodoslané\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if (ereg("NEXTAVAILABLE",$exten)) + { + $stmtA="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtA, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 1) + { + $stmtB="UPDATE vicidial_conferences set extension='$protocol/$extension$NOWnum', leave_3way='0' where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtB, $link); + + $stmtC="SELECT conf_exten from vicidial_conferences where server_ip='$server_ip' and extension='$protocol/$extension$NOWnum' and conf_exten != '$session_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtC, $link); + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + + $stmtD="UPDATE vicidial_conferences set extension='$protocol/$extension' where server_ip='$server_ip' and conf_exten='$exten' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtD, $link); + + $stmtE="UPDATE vicidial_conferences set leave_3way='1', leave_3way_datetime='$NOW_TIME', extension='3WAY_$user' where server_ip='$server_ip' and conf_exten='$session_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtE, $link); + + $queryCID = "CXAR24$NOWnum"; + $stmtF="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $agentchannel','Context: $ext_context','Exten: $exten','Priority: 1','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtF, $link); + + $stmtG="UPDATE vicidial_live_agents set conf_exten='$exten' where server_ip='$server_ip' and user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtG, $link); + + if ($auto_dial_level < 1) + { + $stmtH = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and callerid LIKE \"M%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtH, $link); + } + + // $fp = fopen ("./vicidial_debug_3way.txt", "a"); + // fwrite ($fp, "$NOW_TIME|$filename|\n|$stmtA|\n|$stmtB|\n|$stmtC|\n|$stmtD|\n|$stmtE|\n|$stmtF|\n|$stmtG|\n|$stmtH|\n\n"); + // fclose($fp); + + echo "NeWSessioN|$exten|\n"; + echo "|$stmtG|\n"; + + exit; + } + else + { + $channel_liveX=0; + echo "Cannot find empty vicidial_conference na $server_ip, Redirect príkaz nebol vložený\n|$stmt|"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Nie je možné nájsť prázdnu konferenciu na $server_ip";} + } + } + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Kanál $channel nie je živá na $call_server_ip, Redirect príkaz nebol vložený\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel nie je živá na $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Kanál $channel nie je živá na $server_ip, Redirect príkaz nebol vložený\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel nie je živá na $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + $stmt="SELECT count(*) FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $channel_liveY=0; + echo "No Local agent to send call to, Redirect príkaz nebol vložený\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + } + else + { + $stmt="SELECT server_ip,conf_exten,user FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $dest_server_ip = $rowx[0]; + $dest_session_id = $rowx[1]; + $dest_user = $rowx[2]; + $S='*'; + + $D_s_ip = explode('.', $dest_server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$dest_session_id$S$lead_id$S$dest_user$S$phone_code$S$phone_number$S$campaign$S"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','$queryCID','Channel: $extrachannel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtraCX príkaz poslaný pre Kanál $channel na $call_server_ip and \nHungup $extrachannel na $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel na $call_server_ip, Hungup $extrachannel na $server_ip";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel na $server_ip";} + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } +} + + + + + + + + + + +if ($ACTION=="RedirectXtraNeW") +{ + if ($channel=="$extrachannel") + {$ACTION="Redirect";} + else + { + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Jeden z týchto premených Nie je správny:\n"; + echo "Kanál $channel musí byť viac ako 2 znaky\n"; + echo "ExtraKanál $extrachannel musí byť viac ako 2 znaky\n"; + echo "queryCID $queryCID musí byť viac ako 14 znakov\n"; + echo "exten $exten musí byť nastavené\n"; + echo "ext_context $ext_context musí byť nastavené\n"; + echo "ext_priority $ext_priority musí byť nastavené\n"; + echo "session_id $session_id musí byť nastavené\n"; + echo "\nRedirect Action neodoslané\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|$session_id|\n"); + fclose($fp); + } + } + } + else + { + if (ereg("NEXTAVAILABLE",$exten)) + { + $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 1) + { + $stmt="UPDATE vicidial_conferences set extension='$protocol/$extension$NOWnum', leave_3way='0' where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT conf_exten from vicidial_conferences where server_ip='$server_ip' and extension='$protocol/$extension$NOWnum' and conf_exten != '$session_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + + $stmt="UPDATE vicidial_conferences set extension='$protocol/$extension' where server_ip='$server_ip' and conf_exten='$exten' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_conferences set leave_3way='1', leave_3way_datetime='$NOW_TIME', extension='3WAY_$user' where server_ip='$server_ip' and conf_exten='$session_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $queryCID = "CXAR23$NOWnum"; + $stmtB="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $agentchannel','Context: $ext_context','Exten: $exten','Priority: 1','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtB, $link); + + $stmt="UPDATE vicidial_live_agents set conf_exten='$exten' where server_ip='$server_ip' and user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + if ($auto_dial_level < 1) + { + $stmt = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and callerid LIKE \"M%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + echo "NeWSessioN|$exten|\n"; + echo "|$stmtB|\n"; + + exit; + } + else + { + $channel_liveX=0; + echo "Cannot find empty vicidial_conference na $server_ip, Redirect príkaz nebol vložený\n|$stmt|"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Nie je možné nájsť prázdnu konferenciu na $server_ip";} + } + } + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Kanál $channel nie je živá na $call_server_ip, Redirect príkaz nebol vložený\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel nie je živá na $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Kanál $channel nie je živá na $server_ip, Redirect príkaz nebol vložený\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel nie je živá na $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + if ( ($server_ip=="$call_server_ip") or (strlen($call_server_ip)<7) ) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','ExtraChannel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra príkaz poslaný pre Kanál $channel and \nExtraKanál $extrachannel\n to $exten na $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten na $server_ip";} + } + else + { + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$exten"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra príkaz poslaný pre Kanál $channel na $call_server_ip and \nExtraKanál $extrachannel\n to $exten na $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } + } +} + + + + + + + +/* +if ($ACTION=="RedirectXtraCX") +{ + $DBout=''; + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Jeden z týchto premených Nie je správny:\n"; + echo "Kanál $channel musí byť viac ako 2 znaky\n"; + echo "ExtraKanál $extrachannel musí byť viac ako 2 znaky\n"; + echo "queryCID $queryCID musí byť viac ako 14 znakov\n"; + echo "exten $exten musí byť nastavené\n"; + echo "ext_context $ext_context musí byť nastavené\n"; + echo "ext_priority $ext_priority musí byť nastavené\n"; + echo "\nRedirect Action neodoslané\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Kanál $channel nie je živá na $call_server_ip, Redirect príkaz nebol vložený\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel nie je živá na $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Kanál $channel nie je živá na $server_ip, Redirect príkaz nebol vložený\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel nie je živá na $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + $stmt="SELECT count(*) FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $channel_liveY=0; + echo "No Local agent to send call to, Redirect príkaz nebol vložený\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + } + else + { + $stmt="SELECT server_ip,conf_exten,user FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $dest_server_ip = $rowx[0]; + $dest_session_id = $rowx[1]; + $dest_user = $rowx[2]; + $S='*'; + + $D_s_ip = explode('.', $dest_server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$dest_session_id$S$lead_id$S$dest_user$S$phone_code$S$phone_number$S$campaign$S"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','$queryCID','Channel: $extrachannel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtraCX príkaz poslaný pre Kanál $channel na $call_server_ip and \nHungup $extrachannel na $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel na $call_server_ip, Hungup $extrachannel na $server_ip";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel na $server_ip";} + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } +} + + + +###### BEGIN OLD LEAVE-3-WAY FOR EXTERNAL CALLS - DEPRICATED AND WILL BE DELETED SOON ##### +if ($ACTION=="RedirectXtra") +{ + if ($channel=="$extrachannel") + {$ACTION="Redirect";} + else + { + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "Jeden z týchto premených Nie je správny:\n"; + echo "Kanál $channel musí byť viac ako 2 znaky\n"; + echo "ExtraKanál $extrachannel musí byť viac ako 2 znaky\n"; + echo "queryCID $queryCID musí byť viac ako 14 znakov\n"; + echo "exten $exten musí byť nastavené\n"; + echo "ext_context $ext_context musí byť nastavené\n"; + echo "ext_priority $ext_priority musí byť nastavené\n"; + echo "\nRedirect Action neodoslané\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if (ereg("NEXTAVAILABLE",$exten)) + { + $stmt="SELECT conf_exten FROM conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 3) + { + $stmt="UPDATE conferences set extension='$user' where server_ip='$server_ip' and conf_exten='$row[0]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $exten = $row[0]; + } + else + { + $channel_liveX=0; + echo "Nie je možné nájsť prázdnu konferenciu na $server_ip, Redirect príkaz nebol vložený\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Nie je možné nájsť prázdnu konferenciu na $server_ip";} + } + } + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Kanál $channel nie je živá na $call_server_ip, Redirect príkaz nebol vložený\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel nie je živá na $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Kanál $channel nie je živá na $server_ip, Redirect príkaz nebol vložený\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel nie je živá na $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + if ( ($server_ip=="$call_server_ip") or (strlen($call_server_ip)<7) ) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','ExtraChannel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra príkaz poslaný pre Kanál $channel and \nExtraKanál $extrachannel\n to $exten na $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten na $server_ip";} + } + else + { + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$exten"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra príkaz poslaný pre Kanál $channel na $call_server_ip and \nExtraKanál $extrachannel\n to $exten na $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } + } +} +###### END OLD LEAVE-3-WAY FOR EXTERNAL CALLS - DEPRICATED AND WILL BE DELETED SOON ##### +*/ + +if ($ACTION=="Redirect") +{ + ### for manual dial VICIDIAL calls send the second attempt to transfer the call + if ($stage=="2NDXfeR") + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $hangup_channel_prefix = "$local_DEF$session_id$local_AMP$ext_context"; + + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row > 0) + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $channel=$rowx[0]; + $channel = eregi_replace("1$","2",$channel); + $queryCID = eregi_replace("^.","Q",$queryCID); + } + } + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "Jeden z týchto premených Nie je správny:\n"; + echo "Kanál $channel musí byť viac ako 2 znaky\n"; + echo "queryCID $queryCID musí byť viac ako 14 znakov\n"; + echo "exten $exten musí byť nastavené\n"; + echo "ext_context $ext_context musí byť nastavené\n"; + echo "ext_priority $ext_priority musí byť nastavené\n"; + echo "\nRedirect Action neodoslané\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Kanál $channel nie je živá na $server_ip, Redirect príkaz nebol vložený\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "Redirect príkaz poslaný pre Kanál $channel na $server_ip\n"; + } + } +} + + + +###################### +# ACTION=Monitor or Stop Monitor - insert Monitor/StopMonitor Manager statement to start recording on a channel +###################### +if ( ($ACTION=="Monitor") || ($ACTION=="StopMonitor") ) +{ + if ($ACTION=="StopMonitor") + {$SQLfile = "";} + else + {$SQLfile = "File: $filename";} + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Kanál $channel Nie je správny or queryCID $queryCID Nie je správny or filename: $filename Nie je správny, $ACTION príkaz nebol vložený\n"; + } + else + { + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Kanál $channel nie je živá na $server_ip, $ACTION príkaz nebol vložený\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','$ACTION','$queryCID','Channel: $channel','$SQLfile','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + if ($ACTION=="Monitor") + { + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + } + else + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + } + echo "$ACTION príkaz poslaný pre Kanál $channel na $server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n"; + } + } +} + + + + + + +###################### +# ACTION=MonitorConf or StopMonitorConf - insert Monitor/StopMonitor Manager statement to start recording on a conference +###################### +if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) +{ + $row=''; $rowx=''; + $channel_live=1; + $uniqueidSQL=''; + + if ( (strlen($exten)<3) or (strlen($channel)<4) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Kanál $channel Nie je správny or exten $exten Nie je správny or filename: $filename Nie je správny, $ACTION príkaz nebol vložený\n"; + } + else + { + + $VDvicidial_id=''; + + if ($ACTION=="MonitorConf") + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$filename','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $filename','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $RLaffected_rows = mysql_affected_rows($link); + if ($RLaffected_rows > 0) + { + $recording_id = mysql_insert_id($link); + } + + if ($FROMvdc=='YES') + { + ##### get call type from vicidial_live_agents table + $VLA_inOUT='NONE'; + $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VLA_inOUT_ct = mysql_num_rows($rslt); + if ($VLA_inOUT_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VLA_inOUT = $row[0]; + } + if ($VLA_inOUT == 'INBOUND') + { + $four_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-4,date("i"),date("s"),date("m"),date("d"),date("Y"))); + + ##### look for the vicidial ID in the vicidial_closer_log table + $stmt="SELECT closecallid FROM vicidial_closer_log where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by closecallid desc limit 1;"; + } + else + { + ##### look for the vicidial ID in the vicidial_log table + $stmt="SELECT uniqueid FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';"; + } + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDvicidial_id = $row[0]; + + $stmt = "UPDATE recording_log SET vicidial_id='$VDvicidial_id' where recording_id='$recording_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + + ##### StopMonitorConf steps ##### + else + { + if ($uniqueid=='IN') + { + $four_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-4,date("i"),date("s"),date("m"),date("d"),date("Y"))); + + ### find the value to put in the vicidial_id field if this was an inbound call + $stmt="SELECT closecallid from vicidial_closer_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; + $rslt=mysql_query($stmt, $link); + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueidSQL = ",vicidial_id='$row[0]'"; + } + } + else + { + if (strlen($uniqueid) > 8) + {$uniqueidSQL = ",vicidial_id='$uniqueid'";} + } + + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' $uniqueidSQL where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + # find and hang up all recordings going na in this conference # and extension = '$exten' + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + # $rec_count = intval(mysql_num_rows($rslt) / 2); + $rec_count = mysql_num_rows($rslt); + $h=0; + while ($rec_count>$h) + { + $rowx=mysql_fetch_row($rslt); + $HUchannel[$h] = $rowx[0]; + $h++; + } + $i=0; + while ($h>$i) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$i','Channel: $HUchannel[$i]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $i++; + } + + } + echo "$ACTION príkaz poslaný pre Kanál $channel na $server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n NAHRÁVAŤ SA BUDE 60 MINÚT\n"; + } +} + + + + + +###################### +# ACTION=VolumeControl - raise or lower the volume of a meetme participant +###################### +if ($ACTION=="VolumeControl") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($stage)<1) or (strlen($queryCID)<1) ) + { + echo "Konferencia $exten, Stage $stage Nie je správny or queryCID $queryCID Nie je správny, Originate príkaz nebol vložený\n"; + } + else + { + $participant_number='XXYYXXYYXXYYXX'; + if (eregi('UP',$stage)) {$vol_prefix='4';} + if (eregi('DOWN',$stage)) {$vol_prefix='3';} + if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} + if (eregi('MUTING',$stage)) {$vol_prefix='1';} + $local_DEF = 'Local/'; + $local_AMP = '@'; + $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $volume_local_channel','Context: $ext_context','Exten: 8300','Priority: 1','Callerid: $queryCID','','','','$channel','$exten');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + echo "Volume príkaz poslaný pre Konferencia $exten, Stage $stage Kanál $channel na $server_ip\n"; + } +} + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='debug') {echo "\n";} +if ($format=='debug') {echo "\n\n\n";} + +exit; + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/park_calls_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/park_calls_display.php new file mode 100644 index 00000000..45134678 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/park_calls_display.php @@ -0,0 +1,146 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to send the details on the parked calls on the server +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +# - $protocol - ('SIP','Zap','IAX2',...) +# +# +# changes +# 50524-1515 - First build of script +# 50711-1208 - removed HTTP authentication in favor of user/pass vars +# 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($park_limit)) {$park_limit="1000";} + +$version = '0.0.4'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) ) + { + echo "Nesprávny Užívateľské meno/Heslo: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { + echo "Nesprávny server_ip: |$server_ip| or Nesprávny session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nesprávny session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Zobraziť zaparkované hovory"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten Nie je správny alebo protokol $protocol Nie je správny\n"; + exit; + } + else + { + ##### print parked calls from the parked_channels table + $stmt="SELECT * from parked_channels where server_ip = '$server_ip' order by parked_time limit $park_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $park_calls_count = mysql_num_rows($rslt); + echo "$park_calls_count\n"; + $loop_count=0; + while ($park_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0] ~$row[2] ~$row[3] ~$row[4] ~$row[5]|"; + } + echo "\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/vdc_db_query.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/vdc_db_query.php new file mode 100644 index 00000000..60e43005 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/vdc_db_query.php @@ -0,0 +1,3163 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('regCLOSER','manDiaLnextCALL','manDiaLskip','manDiaLonly','manDiaLlookCALL','manDiaLlogCALL','userLOGout','updateDISPO','VDADpause','VDADready','VDADcheckINCOMING','UpdatEFavoritEs','CalLBacKLisT','CalLBacKCounT','PauseCodeSubmit','LogiNCamPaigns','alt_phone_change') +# - $stage - ('start','finish','lookup','new') +# - $closer_choice - ('CL_TESTCAMP_L CL_OUT123_L -') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $campaign - ('testcamp',...) +# - $dial_timeout - ('60','26',...) +# - $dial_prefix - ('9','8',...) +# - $campaign_cid - ('3125551212','0000000000',...) +# - $MDnextCID - ('M06301413000000002',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('36524',...) +# - $list_id - ('101','123456',...) +# - $length_in_sec - ('12',...) +# - $phone_code - ('1',...) +# - $phone_number - ('3125551212',...) +# - $channel - ('Zap/12-1',...) +# - $start_epoch - ('1120236911',...) +# - $vendor_lead_code - ('1234test',...) +# - $title - ('Mr.',...) +# - $first_name - ('Bob',...) +# - $middle_initial - ('L',...) +# - $last_name - ('Wilson',...) +# - $address1 - ('1324 Main St.',...) +# - $address2 - ('Apt. 12',...) +# - $address3 - ('co Robert Wilson',...) +# - $city - ('Chicago',...) +# - $state - ('IL',...) +# - $province - ('NA',...) +# - $postal_code - ('60054',...) +# - $country_code - ('USA',...) +# - $gender - ('M',...) +# - $date_of_birth - ('1970-01-01',...) +# - $alt_phone - ('3125551213',...) +# - $email - ('bob@bob.com',...) +# - $security_phrase - ('Hello',...) +# - $comments - ('Good Customer',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $VDstop_rec_after_each_call - ('0','1') +# - $conf_silent_prefix - ('7','8','5',...) +# - $extension - ('123','user123','25-1',...) +# - $protocol - ('Zap','SIP','IAX2',...) +# - $user_abb - ('1234','6666',...) +# - $preview - ('YES','NO',...) +# - $called_count - ('0','1','2',...) +# - $agent_log_id - ('123456',...) +# - $agent_log - ('NO',...) +# - $favorites_list - (",'cc160','cc100'",...) +# - $CallBackDatETimE - ('2006-04-21 14:30:00',...) +# - $recipient - ('ANYONE,'USERONLY') +# - $callback_id - ('12345','12346',...) +# - $use_internal_dnc - ('Y','N') +# - $use_campaign_dnc - ('Y','N') +# - $omit_phone_code - ('Y','N') +# - $no_delete_sessions - ('0','1') +# - $LogouTKicKAlL - ('0','1'); +# - $closer_blended = ('0','1'); +# - $inOUT = ('IN','OUT'); +# - $manual_dial_filter = ('NONE','CAMPLISTS','DNC','CAMPLISTS_DNC') +# - $agentchannel = ('Zap/1-1','SIP/testing-6ry4i3',...) +# - $conf_dialed = ('0','1') +# - $leaving_threeway = ('0','1') + +# CHANGELOG: +# 50629-1044 - First build of script +# 50630-1422 - Added manual dial action and MD channel lookup +# 50701-1451 - Added dial log for start and end of vicidial calls +# 50705-1239 - Added call disposition update +# 50804-1627 - Fixed updateDispo to update vicidial_log entry +# 50816-1605 - Added VDADpause/ready for auto dialing +# 50816-1811 - Added basic autodial call pickup functions +# 50817-1005 - Altered logging functions to accomodate auto_dialing +# 50818-1305 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1411 - Added hangup of agent phone after Logout +# 50901-1315 - Fixed CLOSER IN-GROUP Web Form bug +# 50902-1507 - Fixed CLOSER log length_in_sec bug +# 50902-1730 - Added functions for manual preview dialing and revert +# 50913-1214 - Added agent random update to leadupdate +# 51020-1421 - Added agent_log_id framework for detailed agent activity logging +# 51021-1717 - Allows for multi-line comments (changes \n to !N in database) +# 51111-1046 - Added vicidial_agent_log lead_id earlier for manual dial +# 51121-1445 - Altered echo statements for several small PHP speed optimizations +# 51122-1328 - Fixed UserLogout issue not removing conference reservation +# 51129-1012 - Added ability to accept calls from other VICIDIAL servers +# 51129-1729 - Changed manual dial to use the '/n' flag for calls +# 51221-1154 - Added SCRIPT id lookup and sending to vicidial.php for display +# 60105-1059 - Added Updating of astguiclient favorites in the DB +# 60208-1617 - Added dtmf buttons output per call +# 60213-1521 - Added closer_campaigns update to vicidial_users +# 60215-1036 - Added Callback date-time entry into vicidial_callbacks table +# 60413-1541 - Added USERONLY Callback listings output - CalLBacKLisT +# - Added USERONLY Callback count output - CalLBacKCounT +# 60414-1140 - Added Callback lead lookup for manual dialing +# 60419-1517 - After CALLBK is sent to agent, update callback record to INACTIVE +# 60421-1419 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60427-1236 - Fixed closer_choice error for CLOSER campaigns +# 60609-1148 - Added ability to check for manual dial numbers in DNC +# 60619-1117 - Added variable filters to close security holes for login form +# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic +# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing +# 60821-1647 - Added ability to not delete sessions at logout +# 60906-1124 - Added lookup and sending of callback data for CALLBK calls +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70115-1733 - Added alt_dial functionality in auto-dial modes +# 70118-1501 - Added user_group to vicidial_log,_agent_log,_closer_log,_callbacks +# 70123-1357 - Fixed bug that would not update vicidial_closer_log status to dispo +# 70202-1438 - Added pause code submit function +# 70203-0930 - Added dialed_number to lead info output +# 70203-1030 - Added dialed_label to lead info output +# 70206-1126 - Added INBOUND status for inbound/closer calls in vicidial_live_agents +# 70212-1253 - Fixed small issue with CXFER +# 70213-1431 - Added QueueMetrics PAUSE/UNPAUSE/AGENTLOGIN/AGENTLOGOFF actions +# 70214-1231 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1210 - Added queuemetrics COMPLETEAGENT action +# 70216-1051 - Fixed double call complete queuemetrics logging +# 70222-1616 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70309-1034 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70319-1544 - Added agent disable update customer data function +# 70322-1545 - Added sipsak display ability +# 70413-1253 - Fixed bug for outbound call time in CLOSER-type blended campaigns +# 70424-1100 - Fixed bug for fronter/closer calls that would delete vdac records +# 70802-1729 - Fixed bugs with pause_sec and wait_sec under certain call handling +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71029-1855 - removed campaign_id naming restrictions for CLOSER-type campaigns +# 71030-2047 - added hopper priority for auto alt dial entries +# 71116-1011 - added calls_today count updating of the vicidial_live_agents upon INCALL +# 71120-1520 - added LogiNCamPaigns to show only allowed campaigns for agents upon login +# 71125-1751 - Added inbound-group default inbound group sending to vicidial.php +# 71129-2025 - restricted callbacks count and list to campaign only +# 71223-0318 - changed logging of closer calls +# 71226-1117 - added option to kick all calls from conference upon logout +# 80116-1032 - added user_closer_log logging in regCLOSER +# 80125-1213 - fixed vicidial_log bug when call is from closer +# 80317-2051 - Added in-group recording settings +# 80402-0121 - Fixes for manual dial transfers on some systems, removed /n persist flag +# 80424-0442 - Added non_latin lookup from system_settings +# 80430-1006 - Added term_reason for vicidial_log and vicidial_closer_log +# 80430-1957 - Changed to leave lead_id in vicidial_live_agents record until after dispo +# 80630-2153 - Added queue_log logging for Manual dial calls +# 80703-0139 - Added alter customer phone permissions +# 80707-2325 - Added vicidial_id to recording_log for tracking of vicidial or closer log to recording +# 80713-0624 - Added vicidial_list.last_local_call_time field +# 80717-1604 - Modified logging function to use inOUT to determine call direction and place to log +# 80719-1147 - Changed recording conf prefix +# 80815-1019 - Added manual dial list restriction option +# 80831-0545 - Added extended alt dial number info display support +# 80909-1710 - Added support for campaign-specific DNC lists +# 81010-1048 - Added support for hangup of all channels except for agent channel after attempting a 3way call +# 81011-1404 - Fixed bugs in leave3way when transferring a manual dial call +# 81020-1459 - Fixed bugs in queue_log logging +# + +$version = '2.0.5-85'; +$build = '81020-1459'; + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["closer_choice"])) {$closer_choice=$_GET["closer_choice"];} + elseif (isset($_POST["closer_choice"])) {$closer_choice=$_POST["closer_choice"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["dial_timeout"])) {$dial_timeout=$_GET["dial_timeout"];} + elseif (isset($_POST["dial_timeout"])) {$dial_timeout=$_POST["dial_timeout"];} +if (isset($_GET["dial_prefix"])) {$dial_prefix=$_GET["dial_prefix"];} + elseif (isset($_POST["dial_prefix"])) {$dial_prefix=$_POST["dial_prefix"];} +if (isset($_GET["campaign_cid"])) {$campaign_cid=$_GET["campaign_cid"];} + elseif (isset($_POST["campaign_cid"])) {$campaign_cid=$_POST["campaign_cid"];} +if (isset($_GET["MDnextCID"])) {$MDnextCID=$_GET["MDnextCID"];} + elseif (isset($_POST["MDnextCID"])) {$MDnextCID=$_POST["MDnextCID"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["length_in_sec"])) {$length_in_sec=$_GET["length_in_sec"];} + elseif (isset($_POST["length_in_sec"])) {$length_in_sec=$_POST["length_in_sec"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["start_epoch"])) {$start_epoch=$_GET["start_epoch"];} + elseif (isset($_POST["start_epoch"])) {$start_epoch=$_POST["start_epoch"];} +if (isset($_GET["dispo_choice"])) {$dispo_choice=$_GET["dispo_choice"];} + elseif (isset($_POST["dispo_choice"])) {$dispo_choice=$_POST["dispo_choice"];} +if (isset($_GET["vendor_lead_code"])) {$vendor_lead_code=$_GET["vendor_lead_code"];} + elseif (isset($_POST["vendor_lead_code"])) {$vendor_lead_code=$_POST["vendor_lead_code"];} +if (isset($_GET["title"])) {$title=$_GET["title"];} + elseif (isset($_POST["title"])) {$title=$_POST["title"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["middle_initial"])) {$middle_initial=$_GET["middle_initial"];} + elseif (isset($_POST["middle_initial"])) {$middle_initial=$_POST["middle_initial"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["gender"])) {$gender=$_GET["gender"];} + elseif (isset($_POST["gender"])) {$gender=$_POST["gender"];} +if (isset($_GET["date_of_birth"])) {$date_of_birth=$_GET["date_of_birth"];} + elseif (isset($_POST["date_of_birth"])) {$date_of_birth=$_POST["date_of_birth"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["security_phrase"])) {$security_phrase=$_GET["security_phrase"];} + elseif (isset($_POST["security_phrase"])) {$security_phrase=$_POST["security_phrase"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_GET["VDstop_rec_after_each_call"];} + elseif (isset($_POST["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_POST["VDstop_rec_after_each_call"];} +if (isset($_GET["conf_silent_prefix"])) {$conf_silent_prefix=$_GET["conf_silent_prefix"];} + elseif (isset($_POST["conf_silent_prefix"])) {$conf_silent_prefix=$_POST["conf_silent_prefix"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["user_abb"])) {$user_abb=$_GET["user_abb"];} + elseif (isset($_POST["user_abb"])) {$user_abb=$_POST["user_abb"];} +if (isset($_GET["preview"])) {$preview=$_GET["preview"];} + elseif (isset($_POST["preview"])) {$preview=$_POST["preview"];} +if (isset($_GET["called_count"])) {$called_count=$_GET["called_count"];} + elseif (isset($_POST["called_count"])) {$called_count=$_POST["called_count"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["agent_log"])) {$agent_log=$_GET["agent_log"];} + elseif (isset($_POST["agent_log"])) {$agent_log=$_POST["agent_log"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} +if (isset($_GET["CallBackDatETimE"])) {$CallBackDatETimE=$_GET["CallBackDatETimE"];} + elseif (isset($_POST["CallBackDatETimE"])) {$CallBackDatETimE=$_POST["CallBackDatETimE"];} +if (isset($_GET["recipient"])) {$recipient=$_GET["recipient"];} + elseif (isset($_POST["recipient"])) {$recipient=$_POST["recipient"];} +if (isset($_GET["callback_id"])) {$callback_id=$_GET["callback_id"];} + elseif (isset($_POST["callback_id"])) {$callback_id=$_POST["callback_id"];} +if (isset($_GET["use_internal_dnc"])) {$use_internal_dnc=$_GET["use_internal_dnc"];} + elseif (isset($_POST["use_internal_dnc"])) {$use_internal_dnc=$_POST["use_internal_dnc"];} +if (isset($_GET["use_campaign_dnc"])) {$use_campaign_dnc=$_GET["use_campaign_dnc"];} + elseif (isset($_POST["use_campaign_dnc"])) {$use_campaign_dnc=$_POST["use_campaign_dnc"];} +if (isset($_GET["omit_phone_code"])) {$omit_phone_code=$_GET["omit_phone_code"];} + elseif (isset($_POST["omit_phone_code"])) {$omit_phone_code=$_POST["omit_phone_code"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["LogouTKicKAlL"])) {$LogouTKicKAlL=$_GET["LogouTKicKAlL"];} + elseif (isset($_POST["LogouTKicKAlL"])) {$LogouTKicKAlL=$_POST["LogouTKicKAlL"];} +if (isset($_GET["closer_blended"])) {$closer_blended=$_GET["closer_blended"];} + elseif (isset($_POST["closer_blended"])) {$closer_blended=$_POST["closer_blended"];} +if (isset($_GET["inOUT"])) {$inOUT=$_GET["inOUT"];} + elseif (isset($_POST["inOUT"])) {$inOUT=$_POST["inOUT"];} +if (isset($_GET["manual_dial_filter"])) {$manual_dial_filter=$_GET["manual_dial_filter"];} + elseif (isset($_POST["manual_dial_filter"])) {$manual_dial_filter=$_POST["manual_dial_filter"];} +if (isset($_GET["alt_dial"])) {$alt_dial=$_GET["alt_dial"];} + elseif (isset($_POST["alt_dial"])) {$alt_dial=$_POST["alt_dial"];} +if (isset($_GET["agentchannel"])) {$agentchannel=$_GET["agentchannel"];} + elseif (isset($_POST["agentchannel"])) {$agentchannel=$_POST["agentchannel"];} +if (isset($_GET["conf_dialed"])) {$conf_dialed=$_GET["conf_dialed"];} + elseif (isset($_POST["conf_dialed"])) {$conf_dialed=$_POST["conf_dialed"];} +if (isset($_GET["leaving_threeway"])) {$leaving_threeway=$_GET["leaving_threeway"];} + elseif (isset($_POST["leaving_threeway"])) {$leaving_threeway=$_POST["leaving_threeway"];} + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) +{ +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); +$phone_code = ereg_replace("[^0-9]","",$phone_code); +$phone_number = ereg_replace("[^0-9]","",$phone_number); +} + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} + +$txt = '.txt'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$MT[0]=''; +$agents='@agents'; + +if ($ACTION == 'LogiNCamPaigns') + { + $skip_user_validation=1; + } +else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Nesprávny Užívateľské meno/Heslo: |$user|$pass|\n"; + exit; + } + else + { + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Nesprávny server_ip: |$server_ip| or Nesprávny session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nesprávny session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } +} + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDiaL Databázový dotaz-script"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + +################################################################################ +### LogiNCamPaigns - generates an HTML SELECT list of allowed campaigns for a +### specific agent on the login screen +################################################################################ +if ($ACTION == 'LogiNCamPaigns') +{ + if ( (strlen($user)<1) ) + { + echo "\n"; + exit; + } + else + { + echo "\n"; + exit; + } +} + + + +################################################################################ +### regCLOSER - update the vicidial_live_agents table to reflect the closer +### inbound choices made upon login +################################################################################ +if ($ACTION == 'regCLOSER') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($closer_choice)<1) || (strlen($user)<1) ) + { + $channel_live=0; + echo "Zmena skupiny $closer_choice Nie je správny\n"; + exit; + } + else + { + if ($closer_choice == "MGRLOCK-") + { + $stmt="SELECT closer_campaigns FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $closer_choice =$row[0]; + + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_users set closer_campaigns='$closer_choice' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $stmt="INSERT INTO vicidial_user_closer_log set user='$user',campaign_id='$campaign',event_date='$NOW_TIME',blended='$closer_blended',closer_campaigns='$closer_choice';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE FROM vicidial_live_inbound_agents where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $in_groups_pre = preg_replace('/-$/','',$closer_choice); + $in_groups = explode(" ",$in_groups_pre); + $in_groups_ct = count($in_groups); + $k=1; + while ($k < $in_groups_ct) + { + if (strlen($in_groups[$k])>1) + { + $stmt="SELECT group_weight,calls_today FROM vicidial_inbound_group_agents where user='$user' and group_id='$in_groups[$k]';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $viga_ct = mysql_num_rows($rslt); + if ($viga_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_weight = $row[0]; + $calls_today = $row[1]; + } + else + { + $group_weight = 0; + $calls_today = 0; + } + $stmt="INSERT INTO vicidial_live_inbound_agents set user='$user',group_id='$in_groups[$k]',group_weight='$group_weight',calls_today='$calls_today',last_call_time='$NOW_TIME',last_call_finish='$NOW_TIME';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + $k++; + } + + } + echo "Closer In Zmena skupiny $closer_choice bol zaregistrovaný pre užívateľa $user\n"; +} + + +################################################################################ +### manDiaLnextCALL - for manual VICIDiaL dialing this will grab the next lead +### in the campaign, reserve it, send data back to client and +### place the call by inserting into vicidial_manager +################################################################################ +if ($ACTION == 'manDiaLnextCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "ZASOBNIK JE PRAZDNY\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context Nie je správny\n"; + exit; + } + else + { + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### check if this is a callback, if it is, skip the grabbing of a new lead and mark the callback as INACTIVE + if ( (strlen($callback_id)>0) and (strlen($lead_id)>0) ) + { + $affected_rows=1; + $CBleadIDset=1; + + $stmt = "UPDATE vicidial_callbacks set status='INACTIVE' where callback_id='$callback_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + if (strlen($phone_number)>3) + { + if (ereg("DNC",$manual_dial_filter)) + { + $stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + echo "DNC ČÍSLO\n"; + exit; + } + $stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + echo "DNC ČÍSLO\n"; + exit; + } + } + if (ereg("CAMPLISTS",$manual_dial_filter)) + { + $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; + $rslt=mysql_query($stmt, $link); + $lists_to_parse = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_parse > $o) + { + $rowx=mysql_fetch_row($rslt); + if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_lists++;} + $o++; + } + $camp_lists = eregi_replace(".$","",$camp_lists); + + $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] < 1) + { + echo "ČÍSLO NOT IN CAMPLISTS\n"; + exit; + } + } + if ($stage=='lookup') + { + $stmt="SELECT lead_id FROM vicidial_list where phone_number='$phone_number' order by modify_date desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $man_leadID_ct = mysql_num_rows($rslt); + if ($man_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $affected_rows=1; + $lead_id =$row[0]; + $CBleadIDset=1; + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### grab the next lead in the hopper for this campaign and reserve it for the user + $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by priority desc,hopper_id LIMIT 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + } + + if ($affected_rows > 0) + { + if (!$CBleadIDset) + { + ##### grab the lead_id of the reserved user in vicidial_hopper + $stmt="SELECT lead_id FROM vicidial_hopper where campaign_id='$campaign' and status='QUEUE' and user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $hopper_leadID_ct = mysql_num_rows($rslt); + if ($hopper_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + } + } + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $called_since_last_reset = trim("$row[9]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + } + + $called_count++; + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # generate callerID for unique identifier in xfer_log file + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M|$MqueryCID|\n"); + fclose($fp); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $server_ct = mysql_num_rows($rslt); + if ($server_ct > 0) + { + $row=mysql_fetch_row($rslt); + $local_gmt = $row[0]; + } + $LLCT_DATE_offset = ($local_gmt - $gmt_offset_now); + $LLCT_DATE = date("Y-m-d H:i:s", mktime(date("H")-$LLCT_DATE_offset,date("i"),date("s"),date("m"),date("d"),date("Y"))); + + if (ereg('Y',$called_since_last_reset)) + { + $called_since_last_reset = ereg_replace('Y','',$called_since_last_reset); + if (strlen($called_since_last_reset) < 1) {$called_since_last_reset = 0;} + $called_since_last_reset++; + $called_since_last_reset = "Y$called_since_last_reset"; + } + else {$called_since_last_reset = 'Y';} + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + if (!$CBleadIDset) + { + ### delete the lead from the hopper + $stmt = "DELETE FROM vicidial_hopper where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id',comments='MANUAL' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + ### if preview dialing, do not send the call + if ( (strlen($preview)<1) || ($preview == 'NO') ) + { + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + # $Local_persist = '/n'; + $Local_persist = ''; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today',external_hangup=0,external_status='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update calls_today count in vicidial_campaign_agents + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ############################################# + ##### SPUSTIŤ QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # UNPAUSEALL + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + # ENTERQUEUE + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='ENTERQUEUE',data2='$phone_number',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + # CONNECT + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $MqueryCID . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= "MAIN\n"; + $LeaD_InfO .= $source_id . "\n"; + + echo $LeaD_InfO; + + } + else + { + echo "ZASOBNIK JE PRAZDNY\n"; + } + } +} + + +################################################################################ +### alt_phone_change - change alt phone numbers to active and inactive +### +################################################################################ +if ($ACTION == 'alt_phone_change') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($stage)<1) || (strlen($called_count)<1) || (strlen($lead_id)<1) || (strlen($phone_number)<1) ) + { + $channel_live=0; + echo "ALTERN. TELEFÓN ČÍSLO STAV NOT CHANGED\n"; + echo "$phone_number $stage $lead_id or $called_count Nie je správny\n"; + exit; + } + else + { + $stmt = "UPDATE vicidial_list_alt_phones set active='$stage' where lead_id='$lead_id' and phone_number='$phone_number' and alt_phone_count='$called_count';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + echo "ALTERN. TELEFÓN ČÍSLO STAV CHANGED\n"; + } +} + + +################################################################################ +### manDiaLskip - for manual VICIDiaL dialing this skips the lead that was +### previewed in the step above and puts it back in orig status +################################################################################ +if ($ACTION == 'manDiaLskip') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($stage)<1) || (strlen($called_count)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "LEAD NOT REVERTED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context Nie je správny\n"; + exit; + } + else + { + $called_count = ($called_count - 1); + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='$stage', called_count='$called_count',user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + + echo "LEAD REVERTED\n"; + } +} + + +################################################################################ +### manDiaLonly - for manual VICIDiaL dialing this sends the call that was +### previewed in the step above +################################################################################ +if ($ACTION == 'manDiaLonly') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) || (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo " HOVOR NOT PLACED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context Nie je správny\n"; + exit; + } + else + { + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + $Local_persist = '/n'; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today',external_hangup=0,external_status='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + echo "$MqueryCID\n"; + + ############################################# + ##### SPUSTIŤ QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # UNPAUSEALL + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + # ENTERQUEUE + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='ENTERQUEUE',data2='$phone_number',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + # CONNECT + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + } +} + + +################################################################################ +### manDiaLlookCALL - for manual VICIDiaL dialing this will attempt to look up +### the trunk channel that the call was placed on +################################################################################ +if ($ACTION == 'manDiaLlookCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; +if (strlen($MDnextCID)<18) + { + echo "NO\n"; + echo "MDnextCID $MDnextCID Nie je správny\n"; + exit; + } +else + { + ##### look for the channel in the UPDATED vicidial_manager record of the call initiation + $stmt="SELECT uniqueid,channel FROM vicidial_manager where callerid='$MDnextCID' and server_ip='$server_ip' and status='UPDATED' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid =$row[0]; + $channel =$row[1]; + echo "$uniqueid\n$channel"; + + $wait_sec=0; + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',wait_epoch='$StarTtime',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + echo "NO\n"; + } + } +} + + + +################################################################################ +### manDiaLlogCALL - for manual VICIDiaL logging of calls places record in +### vicidial_log and then sends process to call_log entry +################################################################################ +if ($ACTION == 'manDiaLlogCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + $vidSQL=''; + $VDterm_reason=''; + +if ($stage == "start") + { + if ( (strlen($uniqueid)<1) || (strlen($lead_id)<1) || (strlen($list_id)<1) || (strlen($phone_number)<1) || (strlen($campaign)<1) ) + { + echo "LOG NEBOL ZADANÝ\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id or list_id: $list_id or phone_number: $phone_number or campaign: $campaign Nie je správny\n"; + exit; + } + else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### insert log into vicidial_log for manual VICIDiaL call + $stmt="INSERT INTO vicidial_log (uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,comments,processed,user_group,alt_dial) values('$uniqueid','$lead_id','$list_id','$campaign','$NOW_TIME','$StarTtime','INCALL','$phone_code','$phone_number','$user','MANUAL','N','$user_group','$alt_dial');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "VICIDiaL_LOG Vložiť: $uniqueid|$channel|$NOW_TIME\n"; + echo "$StarTtime\n"; + } + else + { + echo "LOG NEBOL ZADANÝ\n"; + } + + $stmt = "UPDATE vicidial_auto_calls SET uniqueid='$uniqueid' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + # ##### insert log into call_log for manual VICIDiaL call + # $stmt = "INSERT INTO call_log (uniqueid,channel,server_ip,extension,number_dialed,caller_code,start_time,start_epoch) values('$uniqueid','$channel','$server_ip','$exten','$phone_code$phone_number','MD $user $lead_id','$NOW_TIME','$StarTtime')"; + # if ($DB) {echo "$stmt\n";} + # $rslt=mysql_query($stmt, $link); + # $affected_rows = mysql_affected_rows($link); + + # if ($affected_rows > 0) + # { + # echo "CALL_LOG Vložiť: $uniqueid|$channel|$NOW_TIME"; + # } + # else + # { + # echo "LOG NEBOL ZADANÝ\n"; + # } + } + } + +if ($stage == "end") + { + ##### get call type from vicidial_live_agents table + $VLA_inOUT='NONE'; + $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VLA_inOUT_ct = mysql_num_rows($rslt); + if ($VLA_inOUT_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VLA_inOUT = $row[0]; + } + + if ( (strlen($uniqueid)<1) and ($VLA_inOUT == 'INBOUND') ) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND_LOG_0|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$start_epoch|$phone_number|$agent_log_id|\n"); + fclose($fp); + $uniqueid='6666.1'; + } + if ( (strlen($uniqueid)<1) or (strlen($lead_id)<1) ) + { + echo "LOG NEBOL ZADANÝ\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id Nie je správny\n"; + exit; + } + else + { + $term_reason='NONE'; + if ($start_epoch < 1000) + { + if ($VLA_inOUT == 'INBOUND') + { + $four_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-4,date("i"),date("s"),date("m"),date("d"),date("Y"))); + + ##### look for the start epoch in the vicidial_closer_log table + $stmt="SELECT start_epoch,term_reason,closecallid,campaign_id FROM vicidial_closer_log where phone_number='$phone_number' and lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by closecallid desc limit 1;"; + $VDIDselect = "VDCL_LID $lead_id $phone_number $user $four_hours_ago"; + } + else + { + ##### look for the start epoch in the vicidial_log table + $stmt="SELECT start_epoch,term_reason,uniqueid,campaign_id FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; + $VDIDselect = "VDL_UIDLID $uniqueid $lead_id"; + } + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch = $row[0]; + $VDterm_reason = $row[1]; + $VDvicidial_id = $row[2]; + $VDcampaign_id = $row[3]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + + if ( ($length_in_sec < 1) and ($VLA_inOUT == 'INBOUND') ) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND_LOG_1|$uniqueid|$lead_id|$user|$inOUT|$length_in_sec|$VDterm_reason|$VDvicidial_id|$start_epoch|\n"); + fclose($fp); + + ##### start epoch in the vicidial_log table, couldn't find one in vicidial_closer_log + $stmt="SELECT start_epoch,term_reason,campaign_id FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch = $row[0]; + $VDterm_reason = $row[1]; + $VDcampaign_id = $row[2]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + } + } + else {$length_in_sec = ($StarTtime - $start_epoch);} + + if (strlen($VDcampaign_id)<1) {$VDcampaign_id = $campaign;} + + $four_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-4,date("i"),date("s"),date("m"),date("d"),date("Y"))); + + if ($VLA_inOUT == 'INBOUND') + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec' where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + echo "$uniqueid\n$channel\n"; + } + else + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND_LOG_2|$uniqueid|$lead_id|$user|$inOUT|$length_in_sec|$VDterm_reason|$VDvicidial_id|$start_epoch|\n"); + fclose($fp); + } + } + + ############################################# + ##### SPUSTIŤ QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + } + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ($auto_dial_level > 0) + { + ### check to see if campaign has alt_dial enabled + $stmt="SELECT auto_alt_dial FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_alt_dial =$row[0]; + } + else {$auto_alt_dial = 'NONE';} + if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)",$auto_alt_dial)) + { + ### check to see if lead should be alt_dialed + if (strlen($alt_dial)<2) {$alt_dial = 'NONE';} + + if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)",$auto_alt_dial)) ) + { + $alt_dial_skip=0; + $stmt="SELECT alt_phone,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_phone = $row[0]; + $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$alt_phone = '';} + if (strlen($alt_phone)>5) + { + if (ereg("Y",$use_internal_dnc)) + { + $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$alt_phone';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VLAP_dnc_ct = mysql_num_rows($rslt); + if ($VLAP_dnc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_alt_dnc_count = $row[0]; + } + } + else {$VD_alt_dnc_count=0;} + if (ereg("Y",$use_campaign_dnc)) + { + $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VLAP_cdnc_ct = mysql_num_rows($rslt); + if ($VLAP_cdnc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_alt_dnc_count = ($VD_alt_dnc_count + $row[0]); + } + } + if ($VD_alt_dnc_count < 1) + { + ### insert record into vicidial_hopper for alt_phone call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ALT',user='',priority='25';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + else + {$alt_dial_skip=1;} + } + else + {$alt_dial_skip=1;} + if ($alt_dial_skip > 0) + {$alt_dial='ALT';} + } + + if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + { + $addr3_dial_skip=0; + $stmt="SELECT address3,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $address3 = $row[0]; + $address3 = eregi_replace("[^0-9]","",$address3); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$address3 = '';} + if (strlen($address3)>5) + { + if (ereg("Y",$use_internal_dnc)) + { + $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$address3';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VLAP_dnc_ct = mysql_num_rows($rslt); + if ($VLAP_dnc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_alt_dnc_count = $row[0]; + } + } + else {$VD_alt_dnc_count=0;} + if (ereg("Y",$use_campaign_dnc)) + { + $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VLAP_cdnc_ct = mysql_num_rows($rslt); + if ($VLAP_cdnc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_alt_dnc_count = ($VD_alt_dnc_count + $row[0]); + } + } + if ($VD_alt_dnc_count < 1) + { + ### insert record into vicidial_hopper for address3 call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ADDR3',user='',priority='20';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + else + {$addr3_dial_skip=1;} + } + else + {$addr3_dial_skip=1;} + if ($addr3_dial_skip > 0) + {$alt_dial='ADDR3';} + } + + # $fp = fopen ("./alt_multi_log.txt", "a"); + # fwrite ($fp, "$NOW_TIME|PRE-X|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$stmt|$auto_alt_dial|$alt_dial\n"); + # fclose($fp); + + if ( ( ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("EXTENDED_ONLY",$auto_alt_dial)) ) or ( (eregi("(ALT)",$alt_dial)) and (eregi("(ALT_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(ADDR3)",$alt_dial)) and (eregi("(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(X)",$alt_dial)) and (eregi("EXTENDED",$auto_alt_dial)) ) ) and (!eregi("LAST",$alt_dial)) ) + { + if (eregi("(ADDR3)",$alt_dial)) {$Xlast=0;} + else + {$Xlast = ereg_replace("[^0-9]","",$alt_dial);} + if (strlen($Xlast)<1) + {$Xlast=0;} + $VD_altdialx=''; + + $stmt="SELECT gmt_offset_now,state,list_id FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VL_deailts_ct = mysql_num_rows($rslt); + if ($VL_deailts_ct > 0) + { + $row=mysql_fetch_row($rslt); + $EA_gmt_offset_now = $row[0]; + $EA_state = $row[1]; + $EA_list_id = $row[2]; + } + $alt_dial_phones_count=0; + $stmt="SELECT count(*) FROM vicidial_list_alt_phones where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VLAP_ct = mysql_num_rows($rslt); + if ($VLAP_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_dial_phones_count = $row[0]; + } + while ( ($alt_dial_phones_count > 0) and ($alt_dial_phones_count > $Xlast) ) + { + $Xlast++; + $stmt="SELECT alt_phone_id,phone_number,active FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Xlast';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VLAP_detail_ct = mysql_num_rows($rslt); + if ($VLAP_detail_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_altdial_id = $row[0]; + $VD_altdial_phone = $row[1]; + $VD_altdial_active = $row[2]; + } + else + {$Xlast=9999999999;} + + if (ereg("Y",$VD_altdial_active)) + { + if (ereg("Y",$use_internal_dnc)) + { + $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_altdial_phone';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VLAP_dnc_ct = mysql_num_rows($rslt); + if ($VLAP_dnc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_alt_dnc_count = $row[0]; + } + } + else {$VD_alt_dnc_count=0;} + if (ereg("Y",$use_campaign_dnc)) + { + $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VLAP_cdnc_ct = mysql_num_rows($rslt); + if ($VLAP_cdnc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_alt_dnc_count = ($VD_alt_dnc_count + $row[0]); + } + } + if ($VD_alt_dnc_count < 1) + { + if ($alt_dial_phones_count == $Xlast) + {$Xlast = 'LAST';} + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$EA_list_id',gmt_offset_now='$EA_gmt_offset_now',state='$EA_state',alt_dial='X$Xlast',user='',priority='15';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $Xlast=9999999999; + } + } + } + } + } + + if ($enable_queuemetrics_logging > 0) + { + ### grab call lead information needed for QM logging + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id' order by call_time limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/.*-/",'',$CLstage); + if (strlen($CLstage) < 1) {$CLstage=0;} + + $stmt="SELECT count(*) from queue_log where call_id='$MDnextCID' and verb='COMPLETECALLER' and queue='$VDcampaign_id';"; + $rslt=mysql_query($stmt, $linkB); + if ($DB) {echo "$stmt\n";} + $VAC_cc_ct = mysql_num_rows($rslt); + if ($VAC_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $caller_complete = $row[0]; + } + + if ($caller_complete < 1) + { + $term_reason='AGENT'; + } + else + { + $term_reason='CALLER'; + } + + } + + ### delete call record from vicidial_auto_calls + $stmt = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and campaign_id='$VDcampaign_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + } + } + } + else + { + if ($enable_queuemetrics_logging > 0) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id' order by call_time desc limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/XFER|-/",'',$CLstage); + if ($CLstage < 0.25) {$CLstage=0;} + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + } + + # $stmt = "DELETE from vicidial_auto_calls lead_id='$lead_id' and campaign_id='$campaign' and uniqueid='$uniqueid';"; + $stmt = "DELETE from vicidial_auto_calls lead_id='$lead_id' and campaign_id='$VDcampaign_id' and callerid LIKE \"M%\";"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + } + } + } + + if ( ($VLA_inOUT == 'AUTO') or ($VLA_inOUT == 'MANUAL') ) + { + $SQLterm = "term_reason='$term_reason',"; + + if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT term_reason,uniqueid from vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; + $rslt=mysql_query($stmt, $link); + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDterm_reason = $row[0]; + $VDvicidial_id = $row[1]; + $VDIDselect = "VDL_UIDLID $uniqueid $lead_id"; + } + if (ereg("CALLER",$VDterm_reason)) + { + $SQLterm = ""; + } + else + { + $SQLterm = "term_reason='AGENT',"; + } + } + + ##### update the duration and end time in the vicidial_log table + $stmt="UPDATE vicidial_log set $SQLterm end_epoch='$StarTtime', length_in_sec='$length_in_sec' where uniqueid='$uniqueid' and lead_id='$lead_id' and user='$user' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "$uniqueid\n$channel\n"; + } + else + { + echo "LOG NEBOL ZADANÝ\n\n"; + } + } + else + { + $SQLterm = "term_reason='$term_reason'"; + + if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT term_reason,closecallid from vicidial_closer_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; + $rslt=mysql_query($stmt, $link); + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDterm_reason = $row[0]; + $VDvicidial_id = $row[1]; + $VDIDselect = "VDCL_LID4HOUR $lead_id $four_hours_ago"; + } + if (ereg("CALLER",$VDterm_reason)) + { + $SQLterm = ""; + } + else + { + $SQLterm = "term_reason='AGENT'"; + } + } + + ##### update the duration and end time in the vicidial_log table + $stmt="UPDATE vicidial_closer_log set $SQLterm where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + } + } + + echo $VDstop_rec_after_each_call . '|' . $extension . '|' . $conf_silent_prefix . '|' . $conf_exten . '|' . $user_abb . "|\n"; + + ##### if VICIDiaL call and hangup_after_each_call activated, find all recording + ##### channels and hang them up while entering info into recording_log and + ##### returning filename/recordingID + if ($VDstop_rec_after_each_call == 1) + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $total_rec=0; + $total_hangup=0; + $loop_count=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten' order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$rec_list = mysql_num_rows($rslt);} + while ($rec_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/Local\/$conf_silent_prefix$conf_exten\@/i",$row[0])) + { + $rec_channels[$total_rec] = "$row[0]"; + $total_rec++; + } + else + { + # if (preg_match("/$agentchannel/i",$row[0])) + if ($agentchannel == "$row[0]") + { + $donothing=1; + } + else + { + $hangup_channels[$total_hangup] = "$row[0]"; + $total_hangup++; + } + } + if ($format=='debug') {echo "\n";} + $loop_count++; + } + + ### if a conference call or 3way call was attempted, then hangup all channels except for the agentchannel + if ( ($conf_dialed > 0) and ($leaving_threeway < 1) ) + { + $loop_count=0; + while($loop_count < $total_hangup) + { + if (strlen($hangup_channels[$loop_count])>5) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','CH12346$StarTtime$loop_count','Channel: $hangup_channels[$loop_count]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + $loop_count++; + } + } + + $total_recFN=0; + $loop_count=0; + $filename=$MT; # not necessary : and cmd_line_f LIKE \"%_$user_abb\" + $stmt="SELECT cmd_line_f FROM vicidial_manager where server_ip='$server_ip' and action='Originate' and cmd_line_b = 'Channel: $local_DEF$conf_silent_prefix$conf_exten$local_AMP$ext_context' order by entry_date desc limit $total_rec;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$recFN_list = mysql_num_rows($rslt);} + while ($recFN_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + $filename[$total_recFN] = preg_replace("/Callerid: /i","",$row[0]); + if ($format=='debug') {echo "\n";} + $total_recFN++; + $loop_count++; + } + + $loop_count=0; + while($loop_count < $total_rec) + { + if (strlen($rec_channels[$loop_count])>5) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$loop_count','Channel: $rec_channels[$loop_count]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "REC_ZASTAVIŤ|$rec_channels[$loop_count]|$filename[$loop_count]|"; + if (strlen($filename)>2) + { + $stmt="SELECT recording_id,start_epoch,vicidial_id,lead_id FROM recording_log where filename='$filename[$loop_count]'"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$fn_count = mysql_num_rows($rslt);} + if ($fn_count) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $vicidial_id = $row[2]; + $RClead_id = $row[3]; + + if ( (strlen($RClead_id)<1) or ($RClead_id < 1) or ($RClead_id=='NULL') ) + {$lidSQL = ",lead_id='$lead_id'";} + if (strlen($vicidial_id)<1) + {$vidSQL = ",vicidial_id='$VDvicidial_id'";} + else + { + if ( (ereg('.',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) + { + if (!ereg('.',$VDvicidial_id)) + {$vidSQL = ",vicidial_id='$VDvicidial_id'";} + + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND_LOG_3|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$length_in_sec|$VDterm_reason|$VDvicidial_id|$vicidial_id|$start_epoch|$recording_id|\n"); + fclose($fp); + } + } + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt="UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' $vidSQL $lidSQL where filename='$filename[$loop_count]' and end_epoch is NULL;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "$recording_id|$length_in_min|"; + + # $fp = fopen ("./recording_debug_$NOW_DATE$txt", "a"); + # fwrite ($fp, "$NOW_TIME|ZÁZNAM_LOG|$filename[$loop_count]|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$length_in_sec|$VDterm_reason|$VDvicidial_id|$VDvicidial_id|$vicidial_id|$start_epoch|$recording_id|$VDIDselect|\n"); + # fclose($fp); + } + else {echo "||";} + } + else {echo "||";} + echo "\n"; + } + $loop_count++; + } + } + + + $talk_sec=0; + $StarTtime = date("U"); + $stmt = "select talk_epoch,talk_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $talk_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set talk_sec='$talk_sec',talk_epoch='$StarTtime',dispo_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } +} + + +################################################################################ +### VDADREcheckINCOMING - for auto-dial VICIDiaL dialing this will recheck for +### calls to see if the channel has updated +################################################################################ +if ($ACTION == 'VDADREcheckINCOMING') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Kampaň $campaign Nie je správny\n"; + echo "lead_id $lead_id Nie je správny\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + } + } +} + + +################################################################################ +### VDADcheckINCOMING - for auto-dial VICIDiaL dialing this will check for calls +### in the vicidial_live_agents table in QUEUE status, then +### lookup the lead info and pass it back to vicidial.php +################################################################################ +if ($ACTION == 'VDADcheckINCOMING') +{ + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Kampaň $campaign Nie je správny\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip,comments FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and status='QUEUE';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + $VLAcomments=$row[5]; + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',calls_today='$calls_today',external_hangup=0,external_status='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + + + $stmt = "select campaign_id,phone_number,alt_dial,call_type from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group =$row[0]; + $dialed_number =$row[1]; + $dialed_label =$row[2]; + $call_type =$row[3]; + } + else + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|\n"); + fclose($fp); + } + } + + if ( ($call_type=='OUT') or ($call_type=='OUTBALANCE') ) + { + $stmt = "UPDATE vicidial_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_campaign_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + } + echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number||||\n|\n"; + + $stmt = "select phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dialed_number =$row[0]; + $dialed_label =$row[1]; + } + if (ereg('X',$dialed_label)) + { + if (ereg('LAST',$dialed_label)) + { + $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' order by alt_phone_count desc limit 1;"; + } + else + { + $Talt_dial = ereg_replace("[^0-9]","",$dialed_label); + $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Talt_dial';"; + } + + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VLAP_ct = mysql_num_rows($rslt); + if ($VLAP_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_phone_code = $row[0]; + $alt_phone_number = $row[1]; + $alt_phone_note = $row[2]; + $alt_phone_active = $row[3]; + $alt_phone_count = $row[4]; + } + } + } + else + { + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + + $stmt = "select group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = $row[2]; + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set comments='INBOUND' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $Ctype = 'I'; + } + else + { + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + } + } + + ### if web form is set then send na to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|\n";} + else {echo "|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + ### If HOVORBK, change vicidial_callback record to INACTIVE + if (eregi("CALLBK|CBHOLD", $dispo)) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid\n"); + fclose($fp); + } + + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user na $server_ip\n"; + exit; + } + } +} + + +################################################################################ +### userLOGout - Logs the user out of VICIDiaL client, deleting db records and +### inserting into vicidial_user_log +################################################################################ +if ($ACTION == 'userLOGout') +{ + $MT[0]=''; + $row=''; $rowx=''; +if ( (strlen($campaign)<1) || (strlen($conf_exten)<1) ) + { + echo "NO\n"; + echo "campaign $campaign or conf_exten $conf_exten Nie je správny\n"; + exit; + } +else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### Insert a ODHLÁSIŤ record into the user log + $stmt="INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$user','ODHLÁSIŤ','$campaign','$NOW_TIME','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vul_insert = mysql_affected_rows($link); + + if ($no_delete_sessions < 1) + { + ##### Remove the reservation na the vicidial_conferences meetme room + $stmt="UPDATE vicidial_conferences set extension='' where server_ip='$server_ip' and conf_exten='$conf_exten';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vc_remove = mysql_affected_rows($link); + } + + ##### Delete the vicidial_live_agents record for this session + $stmt="DELETE from vicidial_live_agents where server_ip='$server_ip' and user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vla_delete = mysql_affected_rows($link); + + ##### Delete the vicidial_live_inbound_agents records for this session + $stmt="DELETE from vicidial_live_inbound_agents where user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $vlia_delete = mysql_affected_rows($link); + + ##### Delete the web_client_sessions + $stmt="DELETE from web_client_sessions where server_ip='$server_ip' and session_name ='$session_name';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $wcs_delete = mysql_affected_rows($link); + + ##### Hangup the client phone + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$extension%\" order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) + { + $row=mysql_fetch_row($rslt); + $agent_channel = "$row[0]"; + if ($format=='debug') {echo "\n";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','ULGH3459$StarTtime','Channel: $agent_channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + if ($LogouTKicKAlL > 0) + { + $local_DEF = 'Local/5555'; + $local_AMP = '@'; + $kick_local_channel = "$local_DEF$conf_exten$local_AMP$ext_context"; + $queryCID = "ULGH3458$StarTtime"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $kick_local_channel','Context: $ext_context','Exten: 8300','Priority: 1','Callerid: $queryCID','','','','$channel','$exten');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) + { + $row=mysql_fetch_row($rslt); + $pause_sec = (($StarTtime - $row[0]) + $row[1]); + + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + if ($vla_delete > 0) + { + ############################################# + ##### SPUSTIŤ QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_message = 'LOGGED OUT'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='PAUSE',serverid='1';"; + # if ($DB) {echo "$stmt\n";} + # + # $rslt=mysql_query($stmt, $linkB); + # $affected_rows = mysql_affected_rows($linkB); + + $stmt = "SELECT time_id FROM queue_log where agent='Agent/$user' and verb='AGENTLOGIN' order by time_id desc limit 1;"; + $rslt=mysql_query($stmt, $linkB); + if ($DB) {echo "$stmt\n";} + echo "$stmt\n"; + $li_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $li_conf_ct) + { + $row=mysql_fetch_row($rslt); + $logintime = $row[0]; + $i++; + } + + $time_logged_in = ($StarTtime - $logintime); + if ($time_logged_in > 1000000) {$time_logged_in=1;} + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='AGENTLOGOFF',data1='$user$agents',data2='$time_logged_in',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + echo "$vul_insert|$vc_remove|$vla_delete|$wcs_delete|$agent_channel|$vlia_delete\n"; + } +} + + +################################################################################ +### updateDISPO - update the vicidial_list table to reflect the agent choice of +### call disposition for that leand +################################################################################ +if ($ACTION == 'updateDISPO') +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($dispo_choice)<1) || (strlen($lead_id)<1) ) + { + echo "Dispo Choice $dispo or lead_id $lead_id Nie je správny\n"; + exit; + } + else + { + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set lead_id='',external_hangup=0,external_status='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "select count(*) from vicidial_inbound_groups where group_id='$stage';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="UPDATE vicidial_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by uniqueid desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + if ( ($use_internal_dnc=='Y') and ($dispo_choice=='DNC') ) + { + $stmt = "select phone_number from vicidial_list where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $stmt="INSERT INTO vicidial_dnc (phone_number) values('$row[0]');"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + } + if ( ($use_campaign_dnc=='Y') and ($dispo_choice=='DNC') ) + { + $stmt = "select phone_number from vicidial_list where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $stmt="INSERT INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$campaign');"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + } + } + + $dispo_sec=0; + $StarTtime = date("U"); + $stmt = "select dispo_epoch,dispo_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dispo_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set dispo_sec='$dispo_sec',dispo_epoch='$StarTtime',status='$dispo_choice' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group) values('$user','$server_ip','$NOW_TIME','$campaign','$StarTtime','0','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + + ### HOVORBACK ENTRY + if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) + { + $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$row[0])) ) + { + $stmt = "select count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE vicidial_hopper set status='READY' where lead_id='$lead_id' and status='HOLD' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + $stmt="DELETE from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + ############################################# + ##### SPUSTIŤ QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + if (strlen($stage) < 2) + {$stage = $campaign;} + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$stage',agent='Agent/$user',verb='CALLSTATUS',data1='$dispo_choice',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + echo 'Lead ' . $lead_id . ' bol zmenený pre ' . $dispo_choice . " Stav\nNext agent_log_id:\n" . $agent_log_id . "\n"; +} + +################################################################################ +### updateLEAD - update the vicidial_list table to reflect the values that are +### in the agents screen at time of call hangup +################################################################################ +if ($ACTION == 'updateLEAD') +{ + $MT[0]=''; + $row=''; $rowx=''; + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + if ( (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + echo "phone_number $phone_number or lead_id $lead_id Nie je správny\n"; + exit; + } + else + { + + $stmt = "SELECT disable_alter_custdata,disable_alter_custphone FROM vicidial_campaigns where campaign_id='$campaign'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $dac_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $dac_conf_ct) + { + $row=mysql_fetch_row($rslt); + $disable_alter_custdata = $row[0]; + $disable_alter_custphone = $row[1]; + $i++; + } + if ( (ereg('Y',$disable_alter_custdata)) or (ereg('Y',$disable_alter_custphone)) ) + { + if (ereg('Y',$disable_alter_custdata)) + { + $DO_NOT_UPDATE=1; + $DO_NOT_UPDATE_text=' NOT'; + } + if (ereg('Y',$disable_alter_custphone)) + { + $DO_NOT_UPDATEphone=1; + } + $stmt = "SELECT alter_custdata_override,alter_custphone_override FROM vicidial_users where user='$user'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $aco_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $aco_conf_ct) + { + $row=mysql_fetch_row($rslt); + $alter_custdata_override = $row[0]; + $alter_custphone_override = $row[1]; + $i++; + } + if (ereg('ALLOW_ALTER',$alter_custdata_override)) + { + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + } + if (ereg('ALLOW_ALTER',$alter_custphone_override)) + { + $DO_NOT_UPDATEphone=0; + } + } + + if ($DO_NOT_UPDATE < 1) + { + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + $comments = eregi_replace("--AMP--",'&',$comments); + $comments = eregi_replace("--QUES--",'?',$comments); + $comments = eregi_replace("--POUND--",'#',$comments); + + $phoneSQL=''; + if ($DO_NOT_UPDATEphone < 1) + {$phoneSQL = ",phone_number='$phone_number'";} + + $stmt="UPDATE vicidial_list set vendor_lead_code='" . mysql_real_escape_string($vendor_lead_code) . "', title='" . mysql_real_escape_string($title) . "', first_name='" . mysql_real_escape_string($first_name) . "', middle_initial='" . mysql_real_escape_string($middle_initial) . "', last_name='" . mysql_real_escape_string($last_name) . "', address1='" . mysql_real_escape_string($address1) . "', address2='" . mysql_real_escape_string($address2) . "', address3='" . mysql_real_escape_string($address3) . "', city='" . mysql_real_escape_string($city) . "', state='" . mysql_real_escape_string($state) . "', province='" . mysql_real_escape_string($province) . "', postal_code='" . mysql_real_escape_string($postal_code) . "', country_code='" . mysql_real_escape_string($country_code) . "', gender='" . mysql_real_escape_string($gender) . "', date_of_birth='" . mysql_real_escape_string($date_of_birth) . "', alt_phone='" . mysql_real_escape_string($alt_phone) . "', email='" . mysql_real_escape_string($email) . "', security_phrase='" . mysql_real_escape_string($security_phrase) . "', comments='" . mysql_real_escape_string($comments) . "' $phoneSQL where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + } + echo "Lead $lead_id information has$DO_NOT_UPDATE_text been updated\n"; +} + + +################################################################################ +### VDADpause - update the vicidial_live_agents table to show that the agent is +### or ready now active and ready to take calls +################################################################################ +if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($stage)<2) || (strlen($server_ip)<1) ) + { + echo "stage $stage Nie je správny\n"; + exit; + } + else + { + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set uniqueid=0,callerid='',channel='', random_id='$random',comments='' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_live_agents set status='$stage' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### SPUSTIŤ QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + if ( (ereg('READY',$stage)) or (ereg('CLOSER',$stage)) ) {$QMstatus='UNPAUSEALL';} + if (ereg('PAUSE',$stage)) {$QMstatus='PAUSEALL';} + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='$QMstatus',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + if ($agent_log == 'NO') + {$donothing=1;} + else + { + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,wait_sec,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec=0; + if ($row[2] > 0) + { + $wait_sec = (($StarTtime - $row[2]) + $row[3]); + } + if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} + else + {$pause_sec = (($row[4] - $row[0]) + $row[1]);} + + } + if ($ACTION == 'VDADready') + { + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + if ($ACTION == 'VDADpause') + { + $stmt="UPDATE vicidial_agent_log set pause_epoch='$StarTtime',wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + echo 'Agent ' . $user . ' je teraz v stave ' . $stage . "\n"; +} + + +################################################################################ +### UpdatEFavoritEs - update the astguiclient favorites list for this extension +################################################################################ +if ($ACTION == 'UpdatEFavoritEs') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($favorites_list)<1) || (strlen($user)<1) || (strlen($exten)<1) ) + { + echo "favorites list $favorites_list Nie je správny\n"; + exit; + } + else + { + $stmt = "select count(*) from phone_favorites where extension='$exten' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE phone_favorites set extensions_list=\"$favorites_list\" where extension='$exten' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO phone_favorites values('$exten','$server_ip',\"$favorites_list\");"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + } + } + echo "Favorites list has been updated to $favorites_list for $exten\n"; +} + + +################################################################################ +### PauseCodeSubmit - Update vicidial_agent_log with pause code +################################################################################ +if ($ACTION == 'PauzaCodeSubmit') +{ + $row=''; $rowx=''; + if ( (strlen($status)<1) || (strlen($agent_log_id)<1) ) + { + echo "agent_log_id $agent_log_id or pause_code $status Nie je správny\n"; + exit; + } + else + { + $stmt="UPDATE vicidial_agent_log set sub_status=\"$status\" where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### SPUSTIŤ QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'BK-'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='PAUSEREASON',serverid='$queuemetrics_log_id',data1='$status';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } +echo "Pauza Code has been updated to $status for $agent_log_id\n"; +} + + +################################################################################ +### CalLBacKLisT - List the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKLisT') +{ +$stmt = "select callback_id,lead_id,campaign_id,status,entry_time,callback_time,comments from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD') order by callback_time;"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); +if ($rslt) {$callbacks_count = mysql_num_rows($rslt);} +echo "$callbacks_count\n"; +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $row=mysql_fetch_row($rslt); + $callback_id[$loop_count] = $row[0]; + $lead_id[$loop_count] = $row[1]; + $campaign_id[$loop_count] = $row[2]; + $status[$loop_count] = $row[3]; + $entry_time[$loop_count] = $row[4]; + $callback_time[$loop_count] = $row[5]; + $comments[$loop_count] = $row[6]; + $loop_count++; + } +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $stmt = "select first_name,last_name,phone_number from vicidial_list where lead_id='$lead_id[$loop_count]';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + echo "$row[0] ~$row[1] ~$row[2] ~$callback_id[$loop_count] ~$lead_id[$loop_count] ~$campaign_id[$loop_count] ~$status[$loop_count] ~$entry_time[$loop_count] ~$callback_time[$loop_count] ~$comments[$loop_count]\n"; + $loop_count++; + } + +} + + +################################################################################ +### CalLBacKCounT - send the count of the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKCounT') +{ +$stmt = "select count(*) from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD');"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$cbcount=$row[0]; + +echo "$cbcount"; +} + + + + +if ($format=='debug') +{ +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +echo "\n"; +echo "\n\n\n"; +} + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/vicidial.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/vicidial.php new file mode 100644 index 00000000..7ead521b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/vicidial.php @@ -0,0 +1,7763 @@ + LICENSE: AGPLv2 +# +# Other scripts that this application depends on: +# - vdc_db_query.php: Updates information in the database +# - manager_send.php: Sends manager actions to the DB for execution +# - conf_exten_check.php: time sync and status updater, calls in queue +# +# CHANGELOG +# 50607-1426 - First Build of VICIDIAL web client basic login process finished +# 50628-1620 - Added some basic formatting and worked on process flow +# 50628-1715 - Startup variables mapped to javascript variables +# 50629-1303 - Added Login Closer in-groups selection box and vla update +# 50629-1530 - Rough layout for customer info form section and button links +# 50630-1453 - Rough Manual Dial/Hangup with customer info displayed +# 50701-1450 - Added vicidial_log entries on dial and hangup +# 50701-1634 - Added Logout function +# 50705-1259 - Added call disposition functionality +# 50705-1432 - Added lead info DB update function +# 50705-1658 - Added web form functionality +# 50706-1043 - Added call park and pickup functions +# 50706-1234 - Added Start/Stop Recording functionality +# 50706-1614 - Added conference channels display option +# 50711-1333 - Removed call check redundancy and fixed a span bug +# 50727-1424 - Added customer channel and participant present sensing/alerts +# 50804-1057 - Added SendDTMF function and reconfigured the transfer span +# 50804-1224 - Added Local and Internal Closer transfer functions +# 50804-1628 - Added Blind transfer, activated LIVE CALL image and fixed bugs +# 50804-1808 - Added button images for left buttons +# 50815-1151 - Added 3Way calling functions to Transfer-conf frame +# 50815-1602 - Added images and buttons for xfer functions +# 50816-1813 - Added basic autodial outbound call pickup functions +# 50817-1113 - Fixes to auto_dialing call receipt +# 50817-1234 - Added inbound call receipt capability +# 50817-1541 - Added customer time display +# 50817-1541 - Added customer time display +# 50818-1327 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1703 - Added pretty login section +# 50825-1200 - Modified form field lengths, added double-click dispositions +# 50831-1603 - Fixed customer time bug and fronter display bug for CLOSER +# 50901-1314 - Fixed CLOSER IN-GROUP Web Form bug +# 50903-0904 - Added preview-lead code for manual dialing +# 50904-0016 - Added ability to hangup manual dials before pickup +# 50906-1319 - Added override for filters on xfer calls, fixed login display bug +# 50909-1243 - Added hotkeys functionality for quick dispoing in auto-dial mode +# 50912-0958 - Modified hotkeys function, agent must have user_level >= 5 to use +# 50913-1212 - Added campaign_cid to 3rd party calls +# 50923-1546 - Modified to work with language translation +# 50926-1656 - Added campaign pull-down at login of active campaigns +# 50928-1633 - Added manual dial alternate number dial option +# 50930-1538 - Added session_id empty login failure and fixed 2 minor bugs +# 51004-1656 - Fixed recording filename bug and new Spanish translation +# 51020-1103 - Added campaign-specific recording control abilities +# 51020-1352 - Added Basic vicidial_agent_log framework +# 51021-1050 - Fixed custtime display and disable Enter/Return keypresses +# 51021-1718 - Allows for multi-line comments (changes \n to !N in database) +# 51110-1432 - Fixed non-standard http port issue +# 51111-1047 - Added vicidial_agent_log lead_id earlier for manual dial +# 51118-1305 - Activate multi-line comments from $multi_line_comments var +# 51118-1313 - Move Transfer DIV to a floating span to preserve 800x600 view +# 51121-1506 - Small PHP optimizations in many scripts and disabled globalize +# 51129-1010 - Added ability to accept calls from other VICIDIAL servers +# 51129-1254 - Fixed Hangups of other agents channels when customer hangs up +# 51208-1732 - Created user-first login that looks for default phone info +# 51219-1526 - Added variable framework for campaign and in-group scripts +# 51221-1200 - Added SCRIPT tab, layout and functionality +# 51221-1714 - Added auto-switch-to-SCRIPT-tab and auto-webform-popup +# 51222-1605 - Added VMail message blind transfer button to xfer-conf frame +# 51229-1028 - Added checks on web_form_address to allow for var in the DB value +# 60117-1312 - Added Transfer-conf frame toggle on button press +# 60208-1152 - Added DTMF-xfernumber preset links to xfer-conf frame +# 60213-1129 - Added vicidial_users.hotkeys_active for any user hotkeys +# 60213-1210 - Added ability to sort routing of calls by user_level +# 60214-0932 - Initial Callback calendar display framework +# 60214-1407 - Added ability to minimize the dispo screen to see info below +# 60215-1104 - Added ANYONE scheduled callbacks functionality +# 60410-1116 - Added persistant pause after dispo option and change dispo text +# - Added web form submit that opens new window with dispo on submit +# - Added PREVIOUS CALLBACK in customer info to flag callbacks +# - Added link to try to hangup the call again in the dispo screen +# - Added link noone-in-session screen to call agent phone again +# - Added link customer-hungup screen to go straight to dispo screen +# 60410-1532 - Added agent status and campaign calls dialing display option +# 60411-1547 - Add ability to set callback as USERONLY and some basic formatting +# 60413-1752 - Add basic USERONLY callback frame and listings +# 60414-1039 - Changed manual dial preview and alt dial checkboxes to spans +# - Added beta-level USERONLY callback functionality +# - Added beta-level manual dialing with lead insertion functionality +# 60415-1534 - Fixed manual dial lead preview and fixed manuald dial override bug +# 60417-1108 - Added capability to do alt-number-dialing in auto-dial mode +# - Changed several permissions to database-defined +# 60419-1529 - Prevent manual dial or callbacks when alt-dial lead not finished +# 60420-1647 - Fixed DiaLDiaLAltPhonE error, Call Agent Again DialControl error +# 60421-1229 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60424-1005 - Fixed Alt phone disabled bug for callbacks and manual dials +# 60426-1058 - Added vicidial_user setting for default blended check for CLOSER +# 60501-1008 - Added option to manual dial screen to manually lookup phone number +# 60503-1653 - Fixed agentonly_callback not-defined bug in scheduled callbacks screen +# 60504-1032 - Fixed manual dial display bug and transfer dispo alert bug +# - Fixed recording filename display to not overrun 25 characters +# 60510-1051 - Added Wrapup timer and wrapup message on wrapup screen after dispo +# 60608-1453 - Added CLOSER campaign allowable in-groups limitations +# 60609-1123 - Added add-number-to-DNC-list function and manual dial check DNC +# 60619-1047 - Added variable filters to close security holes for login form +# 60804-1710 - fixed scheduled CALLBK for other languages build +# 60808-1145 - Added consultative transfers with customer data +# 60808-2232 - Added campaign name to pulldown for login screen +# 60809-1603 - Added option to locally transfer consult xfers +# 60809-1732 - Added recheck of transferred channels before customer gone mesg +# 60810-1011 - Fixed CXFER leave 3way call bugs +# 60816-1602 - Added ALLCALLS recording delay option allcalls_delay +# 60816-1716 - Fixed customer time display bug and client DST setting +# 60821-1555 - Added option to omit phone_code on dialout of leads +# 60821-1628 - Added ALLFORCE recording option +# 60821-1643 - Added no_delete_sessions option to not delete sessions +# 60822-0512 - Changed phone number fields to be maxlength of 12 +# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# 60906-1152 - Added Previous CallBack info display span +# 60906-1715 - Allow for Local phone extension conferences +# 61004-1729 - Add ability to control volume per channel in "calls in this session" +# 61122-1341 - Added vicidial_user_groups allowed_campaigns restrictions +# 61122-1523 - Added more SCRIPT variables +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61221-1212 - Changed width to 760 to better fit 800x600 screens, widened SCRIPT +# 70109-1128 - Fixed wrapup timer bug +# 70109-1635 - Added option for HotKeys automatically dialing next number in manual mode +# - Added option for alternate number dialing with hotkeys +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70118-1517 - Added vicidial_agent_log and vicidial_user_log logging of user_group +# 70201-1249 - Added FAST DIAL option for manually dialing, added UTF8 compatible code +# 70201-1703 - Fixed cursor bug for most text input fields +# 70202-1453 - Added first portions of Agent Pause Codes +# 70203-0108 - Finished Agent Pause Codes functionality +# 70203-0930 - Added dialed_number to webform output +# 70203-1010 - Added dialed_label to webform output +# 70206-1201 - Fixed allow_closers bug +# 70206-1332 - Added vicidial_recording_override users setting function +# 70212-1252 - Fixed small issue with CXFER +# 70213-1018 - Changed CXFER and AXFER to update customer information before transfer +# 70214-1233 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1240 - Added queuemetrics_log_id field for server_id in queue_log +# 70222-1617 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70226-1252 - Added Mute/UnMute to agent screen +# 70309-1035 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70316-1406 - Moved the MUTE button to be accessible during a transfer/conf +# 70319-1446 - Added agent-deactive-display and disable customer info update functions +# 70319-1626 - Added option to allow agent logins to campaigns with no leads in the hopper +# 70320-1501 - Added option to allow retry of leave-3way-call from dispo screen +# 70322-1545 - Added sipsak display ability +# 70510-1319 - Added onUnload force Logout +# 70806-1530 - Added Presets Dial links above agent mute button +# 70823-2118 - Fixed XMLHTTPRequest, HotKeys and Scheduled Callbacks issues with MSIE +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71022-1427 - Added formatting of the customer phone number in the main status bar +# 71029-1848 - Changed CLOSER-type campaign to not use campaign_id restrictions +# 71101-1204 - Fixed bug in callback calendar with DST +# 71116-0957 - Added campaign_weight and calls_today to the vla table insertion +# 71120-1719 - Added XMLHTPRequest lookup of allowable campaigns for agents during login +# 71122-0256 - Added auto-pause notification +# 71125-1751 - Changed Transfer section to allow for selection of in-groups to send calls to +# 71127-0408 - Added height and width settings for easier modification of screen size +# 71129-2025 - restricted callbacks count and list to campaign only +# 71223-0318 - changed logging of closer calls +# 71226-1117 - added option to kick all calls from conference upon logout +# 80109-1510 - added gender select list +# 80116-1032 - added option on CLOSER-type campaigns to change in-groups when paused +# 80317-2106 - added recording override options for inbound group calls +# 80331-1433 - Added second transfer try for VICIDIAL transfers/hangups on manual dial calls +# 80402-0121 - Fixes for manual dial transfers on some systems +# 80407-2112 - Work on adding phone login load balancing across servers +# 80416-0559 - Added ability to log computer_ip at login, set the $PhoneSComPIP variable +# 80428-0413 - UTF8 changes and testing +# 80505-0054 - Added multi-phones load-balanced alias option +# 80507-0932 - Fixed Script display bug (+ instead of space) +# 80519-1425 - Added calls in queue display +# 80523-1630 - Added Timeclock links +# 80625-0047 - Added U option for gender, added date/phone display options +# 80630-2210 - Added queue_log entries for Manual Dial +# 80703-0139 - Added alter customer phone permissions +# 80703-1106 - Added API functionality for Hangup and Dispo, added Agent Display Queue Count +# 80707-2325 - Added vicidial_id to recording_log for tracking of vicidial or closer log to recording +# 80709-0358 - Added Default alt phone dial hard-code option +# 80719-1147 - Changed recording and senddtmf conf prefix +# 80815-1014 - Added manual dial list restriction option +# 80823-2123 - Fixed form scroll for IE, added copy to clipboard(IE-only feature) +# 80831-0548 - Added Extended alt-dial-phone display information for non-manual calls +# 80909-1717 - Added support for campaign-specific DNC lists +# 80915-1754 - Rewrote leave-3way functions for external calling +# 81002-1908 - Fixed double-login bug in some conditions +# 81007-0945 - Added three_way_call_cid option for outbound 3way calls +# 81010-1047 - Fixed conf calling prefix to use settings, other 3way improvements +# 81011-1403 - Fixed bugs in leave3way when transferring a manual dial call +# 81012-1729 - Added INBOUND_MAN dial method to allow manual list dialing and inbound calls +# 81013-1644 - Fixed bug in leave 3way for manual dial fronters +# 81015-0405 - Fixed bug related to hangups on 3way calls +# 81016-0703 - Changed leave 3way to allow function at any time transfer-conf is available +# 81020-1501 - Fixed bugs in queue_log logging +# + +$version = '2.0.5-178'; +$build = '81020-1501'; + +require("dbconnect.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["VD_login"])) {$VD_login=$_GET["VD_login"];} + elseif (isset($_POST["VD_login"])) {$VD_login=$_POST["VD_login"];} +if (isset($_GET["VD_pass"])) {$VD_pass=$_GET["VD_pass"];} + elseif (isset($_POST["VD_pass"])) {$VD_pass=$_POST["VD_pass"];} +if (isset($_GET["VD_campaign"])) {$VD_campaign=$_GET["VD_campaign"];} + elseif (isset($_POST["VD_campaign"])) {$VD_campaign=$_POST["VD_campaign"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + if (isset($VD_campaign)) + { + $VD_campaign = strtoupper($VD_campaign); + $VD_campaign = eregi_replace(" ",'',$VD_campaign); + } + if (!isset($flag_channels)) + { + $flag_channels=0; + $flag_string=''; + } + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); + $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); + $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); + + +$forever_stop=0; + +if ($force_logout) +{ + echo "Práve ste sa odhlásili, Ďakujeme\n"; + exit; +} + +$isdst = date("I"); +$StarTtimE = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$tsNOW_TIME = date("YmdHis"); +$FILE_TIME = date("Ymd-His"); +$CIDdate = date("ymdHis"); + $month_old = mktime(11, 0, 0, date("m"), date("d")-2, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + $minutes_old = mktime(date("H"), date("i")-2, date("s"), date("m"), date("d"), date("Y")); + $past_minutes_date = date("Y-m-d H:i:s",$minutes_old); + + +$random = (rand(1000000, 9999999) + 10000000); + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $vdc_header_date_format = $row[1]; + $vdc_customer_date_format = $row[2]; + $vdc_header_phone_format = $row[3]; + $WeBRooTWritablE = $row[4]; + + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + + +##### DEFINABLE SETTINGS AND OPTIONS +########################################### +$conf_silent_prefix = '5'; # vicidial_conferences prefix to enter silently and muted for recording +$dtmf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently +$HKuser_level = '5'; # minimum vicidial user_level for HotKeys +$campaign_login_list = '1'; # show drop-down list of campaigns at login +$manual_dial_preview = '1'; # allow preview lead option when manual dial +$multi_line_comments = '1'; # set to 1 to allow multi-line comment box +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the phone login +$view_scripts = '1'; # set to 1 to show the SCRIPTS tab +$dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo +$callholdstatus = '1'; # set to 1 to show calls na hold count +$agentcallsstatus = '0'; # set to 1 to show agent status and call dialed count + $campagentstatctmax = '3'; # Number of sekúnd for campaign call and agent stats +$show_campname_pulldown = '1'; # set to 1 to show campaign name na login pulldown +$webform_sessionname = '1'; # set to 1 to include the session_name in webform URL +$local_consult_xfers = '1'; # set to 1 to send consultative transfers from original server +$clientDST = '1'; # set to 1 to check for DST na server for agent time +$no_delete_sessions = '0'; # set to 1 to not delete sessions at logout +$volumecontrol_active = '1'; # set to 1 to allow agents to alter volume of channels +$PreseT_DiaL_LinKs = '0'; # set to 1 to show a VOLAŤ link for Dial Presets +$LogiNAJAX = '1'; # set to 1 to do lookups na campaigns for login +$HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from "session calls" +$LogouTKicKAlL = '1'; # set to 1 to hangup all calls in session upon agent logout +$TelefónSComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login +$DefaulTAlTDiaL = '0'; # set to 1 to enable ALT VOLAŤ by default if enabled for the campaign + +$TEST_all_statuses = '0'; # TEST variable allows all statuses in dispo screen + +$BROWSER_HEIGHT = 500; # set to the minimum browser height, default=500 +$BROWSER_WIDTH = 770; # set to the minimum browser width, default=770 + + +# options now set in DB: +#$alt_phone_dialing = '1'; # allow agents to call alt phone numbers +#$scheduled_callbacks = '1'; # set to 1 to allow agent to choose scheduled callbacks +# $agentonly_callbacks = '1'; # set to 1 to allow agent to choose agent-only scheduled callbacks +#$agentcall_manual = '1'; # set to 1 to allow agent to make manual calls during autodial session + +### SCREEN WIDTH AND HEIGHT CALCULATIONS ### +### DO NOT EDIT! ### +$MASTERwidth=($BROWSER_WIDTH - 340); +$MASTERheight=($BROWSER_HEIGHT - 200); +if ($MASTERwidth < 430) {$MASTERwidth = '430';} +if ($MASTERheight < 300) {$MASTERheight = '300';} + +$CAwidth = ($MASTERwidth + 340); # 770 - cover all (none-in-session, customer hunngup, etc...) +$MNwidth = ($MASTERwidth + 330); # 760 - main frame +$XFwidth = ($MASTERwidth + 320); # 750 - transfer/conference +$HCwidth = ($MASTERwidth + 310); # 740 - hotkeys and callbacks +$AMwidth = ($MASTERwidth + 270); # 700 - agent mute and preset-dial links +$SCwidth = ($MASTERwidth + 230); # 670 - live call sekúnd counter +$SSwidth = ($MASTERwidth + 176); # 606 - scroll script +$SDwidth = ($MASTERwidth + 170); # 600 - scroll script, customer data and calls-in-session +$HKwidth = ($MASTERwidth + 70); # 500 - Hotkeys button +$HSwidth = ($MASTERwidth + 1); # 431 - Header spacer + +$HKheight = ($MASTERheight + 105); # 405 - HotKey active Button +$AMheight = ($MASTERheight + 100); # 400 - Agent mute and preset dial links +$MBheight = ($MASTERheight + 65); # 365 - Manual Dial Buttons +$CBheight = ($MASTERheight + 50); # 350 - Agent Callback, pause code, volume control Buttons and agent status +$SSheight = ($MASTERheight + 31); # 331 - script content +$HTheight = ($MASTERheight + 10); # 310 - transfer frame, callback comments and hotkey +$BPheight = ($MASTERheight - 250); # 50 - bottom buffer + + +$US='_'; +$CL=':'; +$AT='@'; +$DS='-'; +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = eregi_replace('vicidial.php','',$agcPAGE); + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ($campaign_login_list > 0) +{ +$camp_form_code = "\n"; +} +else +{ +$camp_form_code = "\n"; +} + + +if ($LogiNAJAX > 0) +{ +?> + + + +web klient VICIDIAL: Znova prihlásiť\n"; +echo "\n"; +echo "\n"; +echo " Timeclock
\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Slovensky
\n"; +echo "
\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Znova prihlásiť
 
Prihlásenie telefónu:
Heslo telefónu:
Meno užívateľa:
Heslo užívateľa:
Kampaň: $camp_form_code

VERZIA: $version       POSTAVENÉ: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} + +if ($user_login_first == 1) +{ + if ( (strlen($VD_login)<1) or (strlen($VD_pass)<1) or (strlen($VD_campaign)<1) ) + { + echo "web klient VICIDIAL: Prihlásenie kampane\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Slovensky
\n"; + echo "
\n"; + echo "\n"; + #echo "\n"; + #echo "\n"; + echo "

Meno užívateľa

"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Prihlásenie kampane
 
Meno užívateľa:
Heslo užívateľa:
Kampaň: $camp_form_code
  \n"; + echo "

VERZIA: $version       POSTAVENÉ: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + echo "web klient VICIDIAL: Prihlásiť\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Slovensky
\n"; + echo "
\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Prihlásiť
 
Prihlásenie telefónu:
Heslo telefónu:
Meno užívateľa:
Heslo užívateľa:
Kampaň: $camp_form_code
  \n"; + echo "

VERZIA: $version       POSTAVENÉ: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + + } + } +} + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "web klient VICIDIAL: Prihlásenie telefónu\n"; +echo "\n"; +echo "\n"; +echo " Timeclock
\n"; +echo "\n"; +echo "\n"; +echo "\n";echo "\n";echo "
English Slovensky
\n"; +echo "
\n"; +echo "\n"; +echo "


"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Prihlásenie telefónu
 
Prihlásenie telefónu:
Heslo telefónu:
  \n"; +echo "

VERZIA: $version       POSTAVENÉ: $build
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./vicidial_auth_entries.txt", "a");} +$VDloginDISPLAY=0; + + if ( (strlen($VD_login)<2) or (strlen($VD_pass)<2) or (strlen($VD_campaign)<2) ) + { + $VDloginDISPLAY=1; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if($auth>0) + { + $login=strtoupper($VD_login); + $password=strtoupper($VD_pass); + ##### grab the full name of the agent + $stmt="SELECT full_name,user_level,hotkeys_active,agent_choose_ingroups,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,closer_default_blended,user_group,vicidial_recording_override,alter_custphone_override from vicidial_users where user='$VD_login' and pass='$VD_pass'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $user_level=$row[1]; + $VU_hotkeys_active=$row[2]; + $VU_agent_choose_ingroups=$row[3]; + $VU_scheduled_callbacks=$row[4]; + $agentonly_callbacks=$row[5]; + $agentcall_manual=$row[6]; + $VU_vicidial_recording=$row[7]; + $VU_vicidial_transfers=$row[8]; + $VU_closer_default_blended=$row[9]; + $VU_user_group=$row[10]; + $VU_vicidial_recording_override=$row[11]; + $VU_alter_custphone_override=$row[12]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|GOOD|$date|$VD_login|$VD_pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + $user_abb = "$VD_login$VD_login$VD_login$VD_login"; + while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns =$row[0]; + + if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) + { + echo "web klient VICIDIAL: VICIDIAL Prihlásenie kampane\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Slovensky
\n"; + echo "Sorry, you are not allowed to login to this campaign: $VD_campaign\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Prihlásiť: \n
"; + echo "Heslo:
\n"; + echo "Kampaň: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + ##### check to see that the campaign is active + $stmt="SELECT count(*) FROM vicidial_campaigns where campaign_id='$VD_campaign' and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $CAMPactive=$row[0]; + if($CAMPactive>0) + { + if ($TEST_all_statuses > 0) {$selectableSQL = '';} + else {$selectableSQL = "selectable='Y' and";} + $VARstatuses=''; + $VARstatusnames=''; + ##### grab the statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_statuses WHERE $selectableSQL status != 'NEW' order by status limit 50;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_statuses_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $VD_statuses_ct) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + } + + ##### grab the campaign-specific statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_campaign_statuses WHERE $selectableSQL status != 'NEW' and campaign_id='$VD_campaign' order by status limit 50;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_statuses_camp = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + $j++; + } + $VD_statuses_ct = ($VD_statuses_ct+$VD_statuses_camp); + $VARstatuses = substr("$VARstatuses", 0, -1); + $VARstatusnames = substr("$VARstatusnames", 0, -1); + + ##### grab the campaign-specific HotKey statuses that can be used for dispositioning by an agent + $stmt="SELECT hotkey,status,status_name FROM vicidial_campaign_hotkeys WHERE selectable='Y' and status != 'NEW' and campaign_id='$VD_campaign' order by hotkey limit 9;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $HK_statuses_camp = mysql_num_rows($rslt); + $w=0; + $HKboxA=''; + $HKboxB=''; + $HKboxC=''; + while ($w < $HK_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $HKhotkey[$w] =$row[0]; + $HKstatus[$w] =$row[1]; + $HKstatus_name[$w] =$row[2]; + $HKhotkeys = "$HKhotkeys'$HKhotkey[$w]',"; + $HKstatuses = "$HKstatuses'$HKstatus[$w]',"; + $HKstatusnames = "$HKstatusnames'$HKstatus_name[$w]',"; + if ($w < 3) + {$HKboxA = "$HKboxA $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + if ( ($w >= 3) and ($w < 6) ) + {$HKboxB = "$HKboxB $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + if ($w >= 6) + {$HKboxC = "$HKboxC $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
";} + $w++; + } + $HKhotkeys = substr("$HKhotkeys", 0, -1); + $HKstatuses = substr("$HKstatuses", 0, -1); + $HKstatusnames = substr("$HKstatusnames", 0, -1); + + ##### grab the campaign settings + $stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,use_campaign_dnc,three_way_call_cid,dial_method FROM vicidial_campaigns where campaign_id = '$VD_campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $park_ext = $row[0]; + $park_file_name = $row[1]; + $web_form_address = $row[2]; + $allow_closers = $row[3]; + $auto_dial_level = $row[4]; + $dial_timeout = $row[5]; + $dial_prefix = $row[6]; + $campaign_cid = $row[7]; + $campaign_vdad_exten = $row[8]; + $campaign_rec_exten = $row[9]; + $campaign_recording = $row[10]; + $campaign_rec_filename = $row[11]; + $campaign_script = $row[12]; + $get_call_launch = $row[13]; + $campaign_am_message_exten = $row[14]; + $xferconf_a_dtmf = $row[15]; + $xferconf_a_number = $row[16]; + $xferconf_b_dtmf = $row[17]; + $xferconf_b_number = $row[18]; + $alt_number_dialing = $row[19]; + $VC_scheduled_callbacks = $row[20]; + $wrapup_sekúnd = $row[21]; + $wrapup_message = $row[22]; + $closer_campaigns = $row[23]; + $use_internal_dnc = $row[24]; + $allcalls_delay = $row[25]; + $omit_phone_code = $row[26]; + $agent_pause_codes_active = $row[27]; + $no_hopper_leads_logins = $row[28]; + $campaign_allow_inbound = $row[29]; + $manual_dial_list_id = $row[30]; + $default_xfer_group = $row[31]; + $xfer_groups = $row[32]; + $disable_alter_custphone = $row[33]; + $display_queue_count = $row[34]; + $manual_dial_filter = $row[35]; + $CopY_tO_ClipboarD = $row[36]; + $use_campaign_dnc = $row[37]; + $three_way_call_cid = $row[38]; + $dial_method = $row[39]; + + if ( (!ereg('DISABLED',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) + { + $campaign_recording = $VU_vicidial_recording_override; + print "\n"; + } + if ( ($VC_scheduled_callbacks=='Y') and ($VU_scheduled_callbacks=='1') ) + {$scheduled_callbacks='1';} + if ($VU_vicidial_recording=='0') + {$campaign_recording='NEVER';} + if ($VU_alter_custphone_override=='ALLOW_ALTER') + {$disable_alter_custphone='N';} + if ($alt_number_dialing=='Y') + {$alt_phone_dialing='1';} + else + { + $alt_phone_dialing='0'; + $DefaulTAlTDiaL='0'; + } + if ($display_queue_count=='N') + {$callholdstatus='0';} + if ($dial_method == 'INBOUND_MAN') + {$VU_closer_default_blended=0;} + + $closer_campaigns = preg_replace("/^ | -$/","",$closer_campaigns); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + if ($agent_pause_codes_active=='Y') + { + ##### grab the pause codes for this campaign + $stmt="SELECT pause_code,pause_code_name FROM vicidial_pause_codes WHERE campaign_id='$VD_campaign' order by pause_code limit 50;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_pause_codes = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_pause_codes) + { + $row=mysql_fetch_row($rslt); + $pause_codes[$i] =$row[0]; + $pause_code_names[$i] =$row[1]; + $VARpause_codes = "$VARpause_codes'$pause_codes[$i]',"; + $VARpause_code_names = "$VARpause_code_names'$pause_code_names[$i]',"; + $i++; + $j++; + } + $VD_pause_codes_ct = ($VD_pause_codes_ct+$VD_pause_codes); + $VARpause_codes = substr("$VARpause_codes", 0, -1); + $VARpause_code_names = substr("$VARpause_code_names", 0, -1); + } + + ##### grab the inbound groups to choose from if campaign contains CLOSER + $VARingroups="''"; + if ($campaign_allow_inbound == 'Y') + { + $VARingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 60;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $closer_ct = mysql_num_rows($rslt); + $INgrpCT=0; + while ($INgrpCT < $closer_ct) + { + $row=mysql_fetch_row($rslt); + $closer_groups[$INgrpCT] =$row[0]; + $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $INgrpCT++; + } + $VARingroups = substr("$VARingroups", 0, -1); + } + + ##### grab the allowable inbound groups to choose from for transfer options + $xfer_groups = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groups = preg_replace("/ /","','",$xfer_groups); + $xfer_groups = "'$xfer_groups'"; + $VARxfergroups="''"; + if ($allow_closers == 'Y') + { + $VARxfergroups=''; + $stmt="select group_id,group_name from vicidial_inbound_groups where active = 'Y' and group_id IN($xfer_groups) order by group_id limit 60;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $xfer_ct = mysql_num_rows($rslt); + $XFgrpCT=0; + while ($XFgrpCT < $xfer_ct) + { + $row=mysql_fetch_row($rslt); + $VARxfergroups = "$VARxfergroups'$row[0]',"; + $VARxfergroupsnames = "$VARxfergroupsnames'$row[1]',"; + if ($row[0] == "$default_xfer_group") {$default_xfer_group_name = $row[1];} + $XFgrpCT++; + } + $VARxfergroups = substr("$VARxfergroups", 0, -1); + $VARxfergroupsnames = substr("$VARxfergroupsnames", 0, -1); + } + + ##### grab the number of leads in the hopper for this campaign + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id = '$VD_campaign' and status='READY';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $campaign_leads_to_call = $row[0]; + print "\n"; + + } + else + { + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "Kampaň nie je aktívna, prosím skúste znova
"; + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|FAIL|$date|$VD_login|$VD_pass|$ip|$browser|\n"); + fclose($fp); + } + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "Prihlasovacie meno je nesprávne, prosím skúste znova
"; + } + } + if ($VDloginDISPLAY) + { + echo "web klient VICIDIAL: Prihlásenie kampane\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Slovensky
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

$VDdisplayMESSAGE

"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Prihlásenie kampane
 
Meno užívateľa:
Heslo užívateľa:
Kampaň: $camp_form_code
  \n"; + echo "

VERZIA: $version       POSTAVENÉ: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + +# code for parsing load-balanced agent phone allocation where agent interface +# will send multiple phones-table logins so that the script can determine the +# server that has the fewest agents logged into it. +# login: ca101,cb101,cc101 + $alias_found=0; +$stmt="select count(*) from phones_alias where alias_id = '$phone_login';"; +$rslt=mysql_query($stmt, $link); +$alias_ct = mysql_num_rows($rslt); +if ($alias_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alias_found = "$row[0]"; + } +if ($alias_found > 0) + { + $stmt="select alias_name,logins_list from phones_alias where alias_id = '$phone_login' limit 1;"; + $rslt=mysql_query($stmt, $link); + $alias_ct = mysql_num_rows($rslt); + if ($alias_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alias_name = "$row[0]"; + $phone_login = "$row[1]"; + } + } + +$pa=0; +if ( (eregi(',',$phone_login)) and (strlen($phone_login) > 2) ) + { + $phoneSQL = "("; + $phones_auto = explode(',',$phone_login); + $phones_auto_ct = count($phones_auto); + while($pa < $phones_auto_ct) + { + if ($pa > 0) + {$phoneSQL .= " or ";} + $desc = ($phones_auto_ct - $pa); # traverse in reverse order + $phoneSQL .= "(login='$phones_auto[$desc]' and pass='$phone_pass')"; + $pa++; + } + $phoneSQL .= ")"; + } +else {$phoneSQL = "login='$phone_login' and pass='$phone_pass'";} + +$authphone=0; +$stmt="SELECT count(*) from phones where $phoneSQL and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "web klient VICIDIAL: Prihlásenie telefónu Error\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Slovensky
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Prihlásiť Error
 
Prepáčte, Vaše prihlasovacie meno a heslo nie sú aktívne v tomto systéme, prosím skúste znova:
 
Prihlásenie telefónu:
Heslo telefónu:

VERZIA: $version       POSTAVENÉ: $build
\n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { +### go through the entered phones to figure out which server has fewest agents +### logged in and use that phone login account + if ($pa > 0) + { + $pb=0; + $pb_login=''; + $pb_server_ip=''; + $pb_count=0; + $pb_log=''; + while($pb < $phones_auto_ct) + { + ### find the server_ip of each phone_login + $stmtx="SELECT server_ip from phones where login = '$phones_auto[$pb]';"; + if ($DB) {echo "|$stmtx|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmtx, $link); + $rowx=mysql_fetch_row($rslt); + + ### get number of agents logged in to each server + $stmt="SELECT count(*) from vicidial_live_agents where server_ip = '$rowx[0]';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + ### find out whether the server is set to active + $stmt="SELECT count(*) from servers where server_ip = '$rowx[0]' and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $rowy=mysql_fetch_row($rslt); + + ### find out whether the server_updater is running + $stmt="SELECT count(*) from server_updater where server_ip = '$rowx[0]' and last_update > '$past_minutes_date';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $rowz=mysql_fetch_row($rslt); + + $pb_log .= "$phones_auto[$pb]|$rowx[0]|$row[0]|$rowy[0]|$rowz[0]| "; + + if ( ($rowy[0] > 0) && ($rowz[0] > 0) ) + { + if ( ($pb_count >= $row[0]) || (strlen($pb_server_ip) < 4) ) + { + $pb_count=$row[0]; + $pb_server_ip=$rowx[0]; + $phone_login=$phones_auto[$pb]; + } + } + $pb++; + } + echo "\n"; + } + echo "web klient VICIDIAL\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $login=$row[6]; + $pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $IDvolajúceho_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $outbound_cid=$row[65]; + $enable_sipsak_messages=$row[66]; + + if ($TelefónSComPIP == '1') + { + if (strlen($computer_ip) < 4) + { + $stmt="UPDATE phones SET computer_ip='$ip' where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + } + } + if ($TelefónSComPIP == '2') + { + $stmt="UPDATE phones SET computer_ip='$ip' where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + } + if ($clientDST) + { + $local_gmt = ($local_gmt + $isdst); + } + if ($protocol == 'EXTERNAL') + { + $protocol = 'Local'; + $extension = "$dialplan_number$AT$ext_context"; + } + $SIP_user = "$protocol/$extension"; + + $stmt="SELECT asterisk_version from servers where server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $asterisk_version=$row[0]; + + # If a park extension is not set, use the default one + if ( (strlen($park_ext)>0) && (strlen($park_file_name)>0) ) + { + $VICIDiaL_park_on_extension = "$park_ext"; + $VICIDiaL_park_on_filename = "$park_file_name"; + print "\n"; + } + print "\n"; + + # If a web form address is not set, use the default one + if (strlen($web_form_address)>0) + { + $VICIDiaL_web_form_address = "$web_form_address"; + print "\n"; + } + else + { + $VICIDiaL_web_form_address = "$VICIDiaL_web_URL"; + print "\n"; + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + } + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + # If closers are allowed na this campaign + if ($allow_closers=="Y") + { + $VICIDiaL_allow_closers = 1; + print "\n"; + } + else + { + $VICIDiaL_allow_closers = 0; + print "\n"; + } + + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtimE$US$session_ext$session_rand"; + + if ($webform_sessionname) + {$webform_sessionname = "&session_name=$session_name";} + else + {$webform_sessionname = '';} + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'vicidial';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','vicidial','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + if ( ($campaign_allow_inbound == 'Y') || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + { + ### insert an entry into the user log for the login event + $stmt = "INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$VD_login','LOGIN','$VD_campaign','$NOW_TIME','$StarTtimE','$VU_user_group')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly + $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $prev_login_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $prev_login_ct) + { + $row=mysql_fetch_row($rslt); + $session_id =$row[0]; + $i++; + } + if ($prev_login_ct > 0) + {print "\n";} + else + { + ##### grab the next available vicidial_conference room and reserve it + $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null));"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt="UPDATE vicidial_conferences set extension='$SIP_user', leave_3way='0' where server_ip='$server_ip' and ((extension='') or (extension is null)) limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT conf_exten from vicidial_conferences where server_ip='$server_ip' and ( (extension='$SIP_user') or (extension='$user') );"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $session_id = $row[0]; + } + print "\n"; + } + + ### mark leads that were not dispositioned during previous calls as ERI + $stmt="UPDATE vicidial_list set status='ERI', user='' where status IN('QUEUE','INCALL') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_hopper where status IN('QUEUE','INCALL','DONE') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_inbound_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + # print "You have logged in as user: $VD_login na phone: $SIP_user do kampane: $VD_campaign
\n"; + $VICIDiaL_is_logged_in=1; + + ### set the callerID for manager middleware-app to connect the phone to the user + $SIqueryCID = "S$CIDdate$session_id"; + + ############################################# + ##### SPUSTIŤ SYSTEM_SETTINGS LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,vicidial_agent_disable,allow_sipsak_messages FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $vicidial_agent_disable = $row[6]; + $allow_sipsak_messages = $row[7]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$VD_campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $SIqueryCID = "$SIPSAK_prefix$VD_campaign$DS$CIDdate"; + } + + ### insert a NOVÁ record to the vicidial_manager table to be processed + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $SIP_user','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: $SIqueryCID','','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($auto_dial_level > 0) + { + print "\n"; + + ##### grab the campaign_weight and number of calls today na that campaign for the agent + $stmt="SELECT campaign_weight,calls_today FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vca_ct = mysql_num_rows($rslt); + if ($vca_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_weight = $row[0]; + $calls_today = $row[1]; + $i++; + } + else + { + $campaign_weight = '0'; + $calls_today = '0'; + $stmt="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) values('$VD_login','$VD_campaign','0','0','$calls_today');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + } + $closer_chooser_string=''; + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,closer_campaigns,user_level,campaign_weight,calls_today) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$closer_chooser_string','$user_level','$campaign_weight','$calls_today');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='$VD_campaign',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + + + if ($campaign_allow_inbound == 'Y') + { + print "\n"; + } + } + else + { + print "\n"; + + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,user_level) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$user_level');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='$VD_campaign',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + } + } + else + { + echo "web klient VICIDIAL: VICIDIAL Prihlásenie kampane\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Slovensky
\n"; + echo "Prepáčte, ale nie sú záznamy v zásobníku pre túto kamaň\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Prihlásiť: \n
"; + echo "Heslo:
\n"; + echo "Kampaň: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + if (strlen($session_id) < 1) + { + echo "web klient VICIDIAL: VICIDIAL Prihlásenie kampane\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
\n"; + echo "\n"; + echo "\n"; +echo "\n";echo "\n"; echo "
English Slovensky
\n"; + echo "Sorry, there are no available sessions\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Prihlásiť: \n
"; + echo "Heslo:
\n"; + echo "Kampaň: $camp_form_code
\n"; + echo "   \n"; + echo "\n"; + echo "
\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + if (ereg('MSIE',$browser)) + { + $useIE=1; + print "\n"; + } + else + { + $useIE=0; + print "\n"; + } + + $StarTtimE = date("U"); + $NOW_TIME = date("Y-m-d H:i:s"); + ##### Agent is going to log in so insert the vicidial_agent_log entry now + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group,sub_status) values('$VD_login','$server_ip','$NOW_TIME','$VD_campaign','$StarTtimE','0','$StarTtimE','$VU_user_group','LOGIN');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + print "\n"; + + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $server_ip_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S"; + + ##### grab the datails of all active scripts in the system + $stmt="SELECT script_id,script_name,script_text FROM vicidial_scripts WHERE active='Y' order by script_id limit 100;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $MM_scripts = mysql_num_rows($rslt); + $e=0; + while ($e < $MM_scripts) + { + $row=mysql_fetch_row($rslt); + $MMscriptid[$e] =$row[0]; + $MMscriptname[$e] = urlencode($row[1]); + $MMscripttext[$e] = urlencode($row[2]); + $MMscriptids = "$MMscriptids'$MMscriptid[$e]',"; + $MMscriptnames = "$MMscriptnames'$MMscriptname[$e]',"; + $MMscripttexts = "$MMscripttexts'$MMscripttext[$e]',"; + $e++; + } + $MMscriptids = substr("$MMscriptids", 0, -1); + $MMscriptnames = substr("$MMscriptnames", 0, -1); + $MMscripttexts = substr("$MMscripttexts", 0, -1); + + } +} + +################################################################ +### BEGIN - build the callback calendar (12 months) ### +################################################################ +define ('ADAY', (60*60*24)); +$CdayARY = getdate(); +$Cmon = $CdayARY['mon']; +$Cyear = $CdayARY['year']; +$CTODAY = date("Y-m"); +$CTODAYmday = date("j"); +$CINC=0; + +$Cmonths = Array('Január','February','Marec','Apríl','Máj','Jún', + 'Júl','August','September','Október','November','Decemeber'); +$Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); + +$CCAL_OUT = ''; + +$CCAL_OUT .= ""; + +while ($CINC < 12) +{ +if ( ($CINC == 0) || ($CINC == 4) ||($CINC == 8) ) + {$CCAL_OUT .= "";} + +$CCAL_OUT .= ""; + +if ( ($CINC == 3) || ($CINC == 7) ||($CINC == 11) ) + {$CCAL_OUT .= "";} +$CINC++; +} + +$CCAL_OUT .= "
"; + +$CYyear = $Cyear; +$Cmonth= ($Cmon + $CINC); +if ($Cmonth > 12) + { + $Cmonth = ($Cmonth - 12); + $CYyear++; + } +$Cstart= mktime(11,0,0,$Cmonth,1,$CYyear); +$CfirstdayARY = getdate($Cstart); +#echo "|$Cmon|$Cmonth|$CINC|\n"; +$CPRNTDAY = date("Y-m", $Cstart); + +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; + +foreach($Cdays as $Cday) +{ + $CDCLR="#ffffff"; +$CCAL_OUT .= ""; +} + +for( $Ccount=0;$Ccount<(6*7);$Ccount++) +{ + $Cdayarray = getdate($Cstart); + if((($Ccount) % 7) == 0) + { + if($Cdayarray['mon'] != $CfirstdayARY['mon']) + break; + $CCAL_OUT .= ""; + } + if($Ccount < $CfirstdayARY['wday'] || $Cdayarray['mon'] != $Cmonth) + { + $CCAL_OUT .= ""; + } + else + { + if( ($Cdayarray['mday'] == $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + else + { + $CDCLR="#ffffff"; + if ( ($Cdayarray['mday'] < $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CDCLR="#CCCCCC"; + $CBL = ''; + $CEL = ''; + } + else + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + } + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + } +} +$CCAL_OUT .= ""; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "$Cday"; +$CCAL_OUT .= "
"; +$CCAL_OUT .= "
 "; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
"; + $CCAL_OUT .= "
"; +$CCAL_OUT .= "
"; + +#echo "$CCAL_OUT\n"; +################################################################ +### END - build the callback calendar (12 months) ### +################################################################ + + +?> + + + + +\n"; + + +?> + +
+ + MARGINWIDTH=0 MARGINHEIGHT=0 LEFTMARGIN=0 TOPMARGIN=0 VALIGN=TOP ALIGN=LEFT> +
+ + + +     + + 0) {echo "GROUPS     \n";} ?> +ODHLÁSIŤ\n"; ?> +
+
+ + + height=30> + + + + + +
VICIDIALSCRIPT VALIGN=MIDDLE ALIGN=CENTER>   LIVE     ID relácie:     Živý hovor
+
+ + + + + height=>

VICIDIAL
+
+ + +RUČNÉ VOLANIE       RÝCHLE VOLANIE
+
+ + +X AKTÍVNE PREPLÁNOVANÉ HOVORY
+
+ + +
+
+ + sekúnd: +     + + + + D1 - VOLAŤ\n"; + echo "
\n"; + echo "D2 - VOLAŤ\n"; + } + else {echo "
\n";} + ?> +

+
+
+ + + height=460>
PREPLÁNOVANÉ HOVORY PRE AGENTA :
Kliknite na preplánovanie hovoru na volanie zákaznikovi znova. Ak kliknete na záznam nižšie budete ho volať a bude odstránený zo zoznamu. +
+
+
  + Osviežiť +                 + Vrátiť späť +
+
+ + + height=460>
NOVÉ manuálne vytáčanie pre zoznam kontaktov :

Zadajte nižšie uvedené informácie pre nový zoznam kontaktov, ktorý chcete volať. +
+ \n"; + } + ?> + Note: all new manual dial leads will go into list

+ + + + + + + + + + + + + + + +
Volať kód:   (To je obvykle 1 v USA-Kanada)
Telefón Number: +   (12 digits max - digits only) +
Vyhľadať existujúce zoznamy kontaktov:   (Táto voľba skontroluje, ak sa bude snažiť nájsť telefónne číslo do systému pred jeho vloženie ako nového zoznamu kontaktov)


Ak chcete vytočiť číslo, a nemáte ho v novom zozname kontaktov, vložte volané číslo , ktoré chcete volať do poľa Prepísať volanie. Pre ukončenie hovoru, budete musieť otvoriť odkaz HOVORY V TEJTO RELÁCII v spodnej časti obrazovky, a ukončiť požadovaný kanál.
 
Prepísanie volania:   (prosím len čísla) +
+
+ Volať znova +                 + Vrátiť späť +
+
+ + + +
+
+ + + + +Váš stav:
Calls Dialing: +
+ + + + + > + +
+
+ + Presmerovanie - Konferencia
+ + + LOKALNE ROZSIRENIE + Zložiť Xfer linku + Zložiť obe linky + +
+ + Číslo na volanie   + + PREPISAT VOLANIE   + PONECHAT 3 CESTNE VOLANIE + Volať slepé presmerovanie + D1 + D2 + +
+ + sekúnd   + channel + Volanie so zákazníkom + Zaparkovať hovor so zákazníkom + Blind Transfer VMail Message +
+
+
+
+ + + + height=70> + +
Kontakty pripravené ako:

+ -
+
+
+ + + height=70> + + + + +
Rozloženie horúcich kláves: + Keď je aktívne, jednoducho stlačte na klávesnici tlačidlo pre požadovanú dispozíciu pre tento hovor. Hovor bude potom ukončený automaticky:
+ + + + + +
+
+ + + height=70> + + + + + + +
Predchádzajúca informácia o preplánovaní hovoru: close
+
+
+
+
+ +
+
+ + + height=70> + + + + + + +
Extended Alt Telefón Information: minimalizovať
+
+
+
+
+ +
+
+ + + + + +
maximalizovať
Alt Telefón Info
+
+ + + height=500>
Nikto nie je vo Vašej relácii:
+ Vrátiť späť +

+ Volať agenta znova +
+
+ + + height=500>
Zákazník položil:
+ Vrátiť späť +

+ Ukončenie a umiestnenie hovoru + +
+
+ + + height=550>
Volanie Wrapup: sekúnd zostávajúcich na wrapup

+ +

+ Dokončiť Wrapup a presunúť na + +
+
+ + + height=500>
Vaša relácia bola ukončená
ODHLÁSIŤ

Vrátiť späť +
+
+ + + height=500>

ODHLÁSIŤ
+
+ + +
+
+ + +
 
+
+ + + height=47>
Všetky zmeny vykonané v informáciách o zákazníkovi teraz , budú vykonané, musíte zmeniť informácie o zákazníkovi pred ukončením hovoru.
+
+ + + height=460>
VYKONANIE HOVORU :       Položte znova       minimalizovať
+ Ukončenie hovoru vybranej dispozície +
+ PAUZA VOLAJUCEHO AGENTA
+ VYMAZAŤ FORMULÁR | + POTVRDIŤ +

+ WEB FORM POTVRDIŤ +

  +
+
+ + + height=460>
VYBRAŤ KÓD PAUZY :
+ Pauza Code Selection + +

  +
+
+ + + + + + height=460>
Vyberte dátum preplánovania hovoru :
+ + + Vyberte dátum nižšie   +     + Hour: +   + Minutes: +   + +  
+ LEN MOJE PREPLÁNOVANÉ HOVORY
";} + ?> + Poznámky CB:

+ + POTVRDIŤ

+ +

  +
+
+ + + height=460>
Užší výber prichádzajúce skupiny
+ Užší výber prichádzajúce skupiny +
+ ZMIESANE VOLANIE(Odchádzaúce volanie aktivované)
+ ZNOVU INCIALIZOVAŤ | + POTVRDIŤ +



  +
+
+ + + + Kanál + Kanál + LEN MOJE PREPLÁNOVANÉ HOVORY
";} + ?> +
+ + + + height=>
VICIDIAL SCRIPT
+
+ + + 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> +NEAKTÍVNE RÝCHLE TLAČIDLÁ + + + + +> + + + +
verzia web klient VICIDIAL:     POSTAVENÉ:               Server:              
+Ukázať informáciu o konferenčnom kanále

 
+
+ + + +
+
+ + + + + id="MainTable"> + + + + + + + + + + + + + + + +
STAV:
+
+Volať ďalšie číslo
+ PREZRIET ZOZNAM KONTAKTOV
+ ALTER. ČÍSLO TELEFÓNU
+ + +SÚBOR NAHRÁVKY:
+
+
+ID NAHRÁVKY:
+
+ +Spustiť nahrávanie
+
+Web formulár
+
+Zaparkovaný hovor
+Presmerovanie - Konferencia
+
+Zložiť zákazníka
+
+
Poslať DTMF

+
+
+
align=left valign=top> + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  Čas:   Kanál:
Informácia o zákazníkovi:
Titul:   Prvý:   MI:   Posledný:
Adresa1:
Adresa2:   Adresa3:
Mesto:   Štát:   PSČ:
Kraj:   zákaznícke ID:   Gender:
Telefón: +                     "; + echo ""; + } +else + { + echo ""; + } +?> + + +  Volací kód:   Alternatívne číslo:
Prezrieť:   Email:
Poznámky: + +\n";} +else + {echo "\n";} +?> + +
+
+ +
+
> + 
+ + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/voicemail_check.php b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/voicemail_check.php new file mode 100644 index 00000000..98f22051 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/agc_sk/voicemail_check.php @@ -0,0 +1,140 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to check whether the voicemail box on the server defined has new and old messages +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $vmail_box - ('101','1234',...) +# +# +# changes +# 50422-1147 - First build of script +# 50503-1241 - added session_name checking for extra security +# 50711-1201 - removed HTTP authentication in favor of user/pass vars +# 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1204 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.5'; +$build = '60619-1204'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Nesprávny Užívateľské meno/Heslo: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Nesprávny server_ip: |$server_ip| or Nesprávny session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Nesprávny session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Overiť hlasovú schránku"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + $MT[0]=''; + $row=''; $rowx=''; + if (strlen($vmail_box)<1) + { + $channel_live=0; + echo "hlasová schránka $vmail_box Nie je správny\n"; + exit; + } + else + { + $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $vmails_list = mysql_num_rows($rslt); + $loop_count=0; + while ($vmails_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0]|$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_CLOSERstats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_CLOSERstats.php new file mode 100644 index 00000000..ec53f93f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_CLOSERstats.php @@ -0,0 +1,617 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1714 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 60905-1326 - Added queue time stats +# 71008-1436 - Added shift to be defined in dbconnect.php +# 71025-0021 - Added status breakdown +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +if (strlen($shift)<2) {$shift='ALL';} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="select group_id from vicidial_inbound_groups;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: VDAD Closer Stats\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFY | REPORTS \n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "PLEASE SELECT A CAMPAIGN AND DATE ABOVE AND CLICK SUBMIT\n";
+}
+
+else
+{
+if ($shift == 'AM') 
+	{
+	$time_BEGIN=$AM_shift_BEGIN;
+	$time_END=$AM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
+	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
+	}
+if ($shift == 'PM') 
+	{
+	$time_BEGIN=$PM_shift_BEGIN;
+	$time_END=$PM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
+	}
+if ($shift == 'ALL') 
+	{
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
+	}
+$query_date_BEGIN = "$query_date $time_BEGIN";   
+$query_date_END = "$query_date $time_END";
+
+
+
+echo "VICIDIAL: Auto-dial Closer Stats                      $NOW_TIME\n";
+
+echo "\n";
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- TOTALS\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_hold_seconds = '         0';}
+else
+	{
+	$average_hold_seconds = ($row[1] / $row[0]);
+	$average_hold_seconds = round($average_hold_seconds, 0);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+
+echo "Total Calls placed from this Campaign:        $TOTALcalls\n";
+echo "Average Call Length for all Calls:            $average_hold_seconds seconds\n";
+
+echo "\n";
+echo "---------- DROPS\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP' and (length_in_sec <= 999 or length_in_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$DROPcalls =	sprintf("%10s", $row[0]);
+if ( ($DROPcalls < 1) or ($TOTALcalls < 1) )
+	{$DROPpercent = '0';}
+else
+	{
+	$DROPpercent = (($DROPcalls / $TOTALcalls) * 100);
+	$DROPpercent = round($DROPpercent, 0);
+	}
+
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_hold_seconds = '         0';}
+else
+	{
+	$average_hold_seconds = ($row[1] / $row[0]);
+	$average_hold_seconds = round($average_hold_seconds, 0);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+
+echo "Total DROP Calls:                             $DROPcalls  $DROPpercent%\n";
+echo "Average hold time for DROP Calls:             $average_hold_seconds seconds\n";
+
+
+
+##############################
+#########  CALL STATUS STATS
+
+$TOTALcalls = 0;
+
+echo "\n";
+echo "---------- CALL STATUS STATS\n";
+echo "+--------+----------------------+------------+\n";
+echo "| STATUS | DESCRIPTION          | CALLS      |\n";
+echo "+--------+----------------------+------------+\n";
+
+$stmt="SELECT * from vicidial_statuses order by status";
+$rslt=mysql_query($stmt, $link);
+$statuses_to_print = mysql_num_rows($rslt);
+$statuses_list='';
+
+$o=0;
+while ($statuses_to_print > $o) 
+	{
+	$rowx=mysql_fetch_row($rslt);
+	$statname_list["$rowx[0]"] = "$rowx[1]";
+	$o++;
+	}
+
+$stmt="SELECT * from vicidial_campaign_statuses order by status";
+$rslt=mysql_query($stmt, $link);
+$Cstatuses_to_print = mysql_num_rows($rslt);
+
+$o=0;
+while ($Cstatuses_to_print > $o) 
+	{
+	$rowx=mysql_fetch_row($rslt);
+	$statname_list["$rowx[0]"] = "$rowx[1]";
+	$o++;
+	}
+
+$stmt="select count(*),status from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' group by status;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$statuses_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $statuses_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTALcalls = ($TOTALcalls + $row[0]);
+
+	$STATUScount =	sprintf("%10s", $row[0]);while(strlen($STATUScount)>10) {$STATUScount = substr("$STATUScount", 0, -1);}
+	$RAWstatus = $row[1];
+	$status =	sprintf("%-6s", $row[1]);while(strlen($status)>6) {$status = substr("$status", 0, -1);}
+
+	if ($non_latin < 1)
+		{
+		 $status_name =	sprintf("%-20s", $statname_list[$RAWstatus]); 
+		 while(strlen($status_name)>20) {$status_name = substr("$status_name", 0, -1);}	
+		}
+	else
+		{
+		 $status_name =	sprintf("%-60s", $statname_list[$RAWstatus]); 
+		 while(mb_strlen($status_name,'utf-8')>20) {$status_name = mb_substr("$status_name", 0, -1,'utf-8');}	
+		}
+
+
+	echo "| $status | $status_name | $STATUScount |\n";
+
+	$i++;
+	}
+
+$TOTALcalls =		sprintf("%10s", $TOTALcalls);
+
+echo "+--------+----------------------+------------+\n";
+echo "| TOTAL:                        | $TOTALcalls |\n";
+echo "+-------------------------------+------------+\n";
+
+
+
+
+echo "\n";
+echo "---------- QUEUE STATS\n";
+
+$stmt="select count(*),sum(queue_seconds) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and (queue_seconds > 0);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$QUEUEcalls =	sprintf("%10s", $row[0]);
+if ( ($QUEUEcalls < 1) or ($TOTALcalls < 1) )
+	{$QUEUEpercent = '0';}
+else
+	{
+	$QUEUEpercent = (($QUEUEcalls / $TOTALcalls) * 100);
+	$QUEUEpercent = round($QUEUEpercent, 0);
+	}
+
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_queue_seconds = '         0';}
+else
+	{
+	$average_queue_seconds = ($row[1] / $row[0]);
+	$average_queue_seconds = round($average_queue_seconds, 2);
+	$average_queue_seconds = sprintf("%10.2f", $average_queue_seconds);
+	}
+
+if ( ($TOTALcalls < 1) or ($row[1] < 1) )
+	{$average_total_queue_seconds = '         0';}
+else
+	{
+	$average_total_queue_seconds = ($row[1] / $TOTALcalls);
+	$average_total_queue_seconds = round($average_total_queue_seconds, 2);
+	$average_total_queue_seconds = sprintf("%10.2f", $average_total_queue_seconds);
+	}
+
+echo "Total Calls That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
+echo "Average QUEUE Length for queue calls:         $average_queue_seconds seconds\n";
+echo "Average QUEUE Length across all calls:        $average_total_queue_seconds seconds\n";
+
+
+##############################
+#########  USER STATS
+
+$TOTagents=0;
+$TOTcalls=0;
+$TOTtime=0;
+$TOTavg=0;
+
+echo "\n";
+echo "---------- AGENT STATS\n";
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| AGENT                    | CALLS      | TIME M   | AVRG M |\n";
+echo "+--------------------------+------------+----------+--------+\n";
+
+$stmt="select vicidial_closer_log.user,full_name,count(*),sum(length_in_sec),avg(length_in_sec) from vicidial_closer_log,vicidial_users where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' and vicidial_closer_log.user is not null and length_in_sec is not null and length_in_sec > 4 and vicidial_closer_log.user=vicidial_users.user group by vicidial_closer_log.user;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTcalls = ($TOTcalls + $row[2]);
+	$TOTtime = ($TOTtime + $row[3]);
+
+	$user =			sprintf("%-6s", $row[0]);
+	$full_name =	sprintf("%-15s", $row[1]); while(strlen($full_name)>15) {$full_name = substr("$full_name", 0, -1);}
+	$USERcalls =	sprintf("%10s", $row[2]);
+	$USERtotTALK =	$row[3];
+	$USERavgTALK =	$row[4];
+
+	$USERtotTALK_M = ($USERtotTALK / 60);
+	$USERtotTALK_M = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$USERtotTALK_MS =		sprintf("%8s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$USERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	echo "| $user - $full_name | $USERcalls | $USERtotTALK_MS | $USERavgTALK_MS |\n";
+
+	$i++;
+	}
+
+if (!$TOTcalls) {$TOTcalls = 1;}
+$TOTavg = ($TOTtime / $TOTcalls);
+$TOTavg = round($TOTavg, 0);
+$TOTavg_M = ($TOTavg / 60);
+$TOTavg_M = round($TOTavg_M, 2);
+$TOTavg_M_int = intval("$TOTavg_M");
+$TOTavg_S = ($TOTavg_M - $TOTavg_M_int);
+$TOTavg_S = ($TOTavg_S * 60);
+$TOTavg_S = round($TOTavg_S, 0);
+if ($TOTavg_S < 10) {$TOTavg_S = "0$TOTavg_S";}
+$TOTavg_MS = "$TOTavg_M_int:$TOTavg_S";
+$TOTavg =		sprintf("%6s", $TOTavg_MS);
+
+$TOTtime_M = ($TOTtime / 60);
+$TOTtime_M = round($TOTtime_M, 2);
+$TOTtime_M_int = intval("$TOTtime_M");
+$TOTtime_S = ($TOTtime_M - $TOTtime_M_int);
+$TOTtime_S = ($TOTtime_S * 60);
+$TOTtime_S = round($TOTtime_S, 0);
+if ($TOTtime_S < 10) {$TOTtime_S = "0$TOTtime_S";}
+$TOTtime_MS = "$TOTtime_M_int:$TOTtime_S";
+$TOTtime =		sprintf("%6s", $TOTtime_MS);
+
+$TOTagents =		sprintf("%10s", $i);
+$TOTcalls =			sprintf("%10s", $TOTcalls);
+$TOTtime =			sprintf("%8s", $TOTtime);
+$TOTavg =			sprintf("%6s", $TOTavg);
+
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| TOTAL Agents: $TOTagents | $TOTcalls | $TOTtime | $TOTavg |\n";
+echo "+--------------------------+------------+----------+--------+\n";
+
+
+##############################
+#########  TIME STATS
+
+echo "\n";
+echo "---------- TIME STATS\n";
+
+echo "\n";
+
+$hi_hour_count=0;
+$last_full_record=0;
+$i=0;
+$h=0;
+while ($i <= 96)
+	{
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' and campaign_id='$group';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+	$h++;
+	}
+
+if ($hi_hour_count < 1)
+	{$hour_multiplier = 0;}
+else
+	{
+	$hour_multiplier = (100 / $hi_hour_count);
+	#$hour_multiplier = round($hour_multiplier, 0);
+	}
+
+echo "\n";
+echo "GRAPH IN 15 MINUTE INCREMENTS OF TOTAL CALLS PLACED FROM THIS CAMPAIGN\n";
+
+$k=1;
+$Mk=0;
+$call_scale = '0';
+while ($k <= 102) 
+	{
+	if ($Mk >= 5) 
+		{
+		$Mk=0;
+		if ( ($k < 1) or ($hour_multiplier <= 0) )
+			{$scale_num = 100;}
+		else
+			{
+			$scale_num=($k / $hour_multiplier);
+			$scale_num = round($scale_num, 0);
+			}
+		$LENscale_num = (strlen($scale_num));
+		$k = ($k + $LENscale_num);
+		$call_scale .= "$scale_num";
+		}
+	else
+		{
+		$call_scale .= " ";
+		$k++;   $Mk++;
+		}
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | DROPS | TOTAL |\n";
+echo "| HOUR |$call_scale| DROPS | TOTAL |\n";
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+$ZZ = '00';
+$i=0;
+$h=4;
+$hour= -1;
+$no_lines_yet=1;
+
+while ($i <= 96)
+	{
+	$char_counter=0;
+	$time = '      ';
+	if ($h >= 4) 
+		{
+		$hour++;
+		$h=0;
+		if ($hour < 10) {$hour = "0$hour";}
+		$time = "+$hour$ZZ+";
+		}
+	if ($h == 1) {$time = "   15 ";}
+	if ($h == 2) {$time = "   30 ";}
+	if ($h == 3) {$time = "   45 ";}
+	$Ghour_count = $hour_count[$i];
+	if ($Ghour_count < 1) 
+		{
+		if ( ($no_lines_yet) or ($i > $last_full_record) )
+			{
+			$do_nothing=1;
+			}
+		else
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			echo "|$time|";
+			$k=0;   while ($k <= 102) {echo " ";   $k++;}
+			echo "| $hour_count[$i] |\n";
+			}
+		}
+	else
+		{
+		$no_lines_yet=0;
+		$Xhour_count = ($Ghour_count * $hour_multiplier);
+		$Yhour_count = (99 - $Xhour_count);
+
+		$Gdrop_count = $drop_count[$i];
+		if ($Gdrop_count < 1) 
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "*X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 101) {echo " ";   $char_counter++;}
+			echo "| 0     | $hour_count[$i] |\n";
+
+			}
+		else
+			{
+			$Xdrop_count = ($Gdrop_count * $hour_multiplier);
+
+		#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
+
+			$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
+
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			$drop_count[$i] =	sprintf("%-5s", $drop_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
+			echo "D";   $char_counter++;
+			$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 102) {echo " ";   $char_counter++;}
+			echo "| $drop_count[$i] | $hour_count[$i] |\n";
+			}
+		}
+	
+	
+	$i++;
+	$h++;
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n\n";
+
+
+
+
+
+$ENDtime = date("U");
+$RUNtime = ($ENDtime - $STARTtime);
+echo "\nRun Time: $RUNtime seconds\n";
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_VDADstats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_VDADstats.php new file mode 100644 index 00000000..d8afbdd6 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_VDADstats.php @@ -0,0 +1,647 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1718 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 61215-1139 - Added drop percentage of answered and round-2 decimal +# 71008-1436 - Added shift to be defined in dbconnect.php +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +if (strlen($shift)<2) {$shift='ALL';} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="select campaign_id from vicidial_campaigns;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: VDAD Stats\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFY | REPORTS \n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "PLEASE SELECT A CAMPAIGN AND DATE ABOVE AND CLICK SUBMIT\n";
+}
+
+else
+{
+if ($shift == 'AM') 
+	{
+	$time_BEGIN=$AM_shift_BEGIN;
+	$time_END=$AM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
+	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
+	}
+if ($shift == 'PM') 
+	{
+	$time_BEGIN=$PM_shift_BEGIN;
+	$time_END=$PM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
+	}
+if ($shift == 'ALL') 
+	{
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
+	}
+$query_date_BEGIN = "$query_date $time_BEGIN";   
+$query_date_END = "$query_date $time_END";
+
+
+
+echo "VICIDIAL: Auto-dial Stats                             $NOW_TIME\n";
+
+echo "\n";
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- TOTALS\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_hold_seconds = '         0';}
+else
+	{
+	$average_hold_seconds = ($row[1] / $row[0]);
+	$average_hold_seconds = round($average_hold_seconds, 2);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+echo "Total Calls placed from this Campaign:        $TOTALcalls\n";
+echo "Average Call Length for all Calls in seconds: $average_hold_seconds\n";
+
+echo "\n";
+echo "---------- DROPS\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP' and (length_in_sec <= 60 or length_in_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$DROPcalls =	sprintf("%10s", $row[0]);
+$DROPcallsRAW =	$row[0];
+$DROPseconds =	$row[1];
+
+$stmt="select count(*) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status NOT IN('NA','B');";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$ANSWERcalls =	$row[0];
+
+if ( ($DROPcalls < 1) or ($TOTALcalls < 1) )
+	{$DROPpercent = '0';}
+else
+	{
+	$DROPpercent = (($DROPcallsRAW / $TOTALcalls) * 100);
+	$DROPpercent = round($DROPpercent, 2);
+	}
+
+if ( ($DROPcalls < 1) or ($ANSWERcalls < 1) )
+	{$DROPANSWERpercent = '0';}
+else
+	{
+	$DROPANSWERpercent = (($DROPcallsRAW / $ANSWERcalls) * 100);
+	$DROPANSWERpercent = round($DROPANSWERpercent, 2);
+	}
+
+if ( ($DROPseconds < 1) or ($DROPcallsRAW < 1) )
+	{$average_hold_seconds = '         0';}
+else
+	{
+	$average_hold_seconds = ($DROPseconds / $DROPcallsRAW);
+	$average_hold_seconds = round($average_hold_seconds, 2);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+
+echo "Total DROP Calls:                             $DROPcalls  $DROPpercent%\n";
+echo "Percent of DROP Calls taken out of Answers:   $DROPcalls / $ANSWERcalls  $DROPANSWERpercent%\n";
+echo "Average Length for DROP Calls in seconds:     $average_hold_seconds\n";
+
+echo "\n";
+echo "---------- AUTO-DIAL NO ANSWERS\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status IN('NA','B') and (length_in_sec <= 60 or length_in_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$NAcalls =	sprintf("%10s", $row[0]);
+if ( ($NAcalls < 1) or ($TOTALcalls < 1) )
+	{$NApercent = '0';}
+else
+	{
+	$NApercent = (($NAcalls / $TOTALcalls) * 100);
+	$NApercent = round($NApercent, 2);
+	}
+
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_na_seconds = '         0';}
+else
+	{
+	$average_na_seconds = ($row[1] / $row[0]);
+	$average_na_seconds = round($average_na_seconds, 2);
+	$average_na_seconds =	sprintf("%10s", $average_na_seconds);
+	}
+
+echo "Total NA calls -Busy,Disconnect,RingNoAnswer: $NAcalls  $NApercent%\n";
+echo "Average Call Length for NA Calls in seconds:  $average_na_seconds\n";
+
+
+##############################
+#########  CALL STATUS STATS
+
+$TOTALcalls = 0;
+
+echo "\n";
+echo "---------- CALL STATUS STATS\n";
+echo "+--------+----------------------+------------+\n";
+echo "| STATUS | DESCRIPTION          | CALLS      |\n";
+echo "+--------+----------------------+------------+\n";
+
+$stmt="SELECT * from vicidial_statuses order by status";
+$rslt=mysql_query($stmt, $link);
+$statuses_to_print = mysql_num_rows($rslt);
+$statuses_list='';
+
+$o=0;
+while ($statuses_to_print > $o) 
+	{
+	$rowx=mysql_fetch_row($rslt);
+	$statname_list["$rowx[0]"] = "$rowx[1]";
+	$o++;
+	}
+
+$stmt="SELECT * from vicidial_campaign_statuses where campaign_id='" . mysql_real_escape_string($group) . "' order by status";
+$rslt=mysql_query($stmt, $link);
+$Cstatuses_to_print = mysql_num_rows($rslt);
+
+$o=0;
+while ($Cstatuses_to_print > $o) 
+	{
+	$rowx=mysql_fetch_row($rslt);
+	$statname_list["$rowx[0]"] = "$rowx[1]";
+	$o++;
+	}
+
+$stmt="select count(*),status from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' group by status;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$statuses_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $statuses_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTALcalls = ($TOTALcalls + $row[0]);
+
+	$STATUScount =	sprintf("%10s", $row[0]);while(strlen($STATUScount)>10) {$STATUScount = substr("$STATUScount", 0, -1);}
+	$RAWstatus = $row[1];
+	$status =	sprintf("%-6s", $row[1]);while(strlen($status)>6) {$status = substr("$status", 0, -1);}
+
+	if ($non_latin < 1)
+		{
+		 $status_name =	sprintf("%-20s", $statname_list[$RAWstatus]); 
+		 while(strlen($status_name)>20) {$status_name = substr("$status_name", 0, -1);}	
+		}
+	else
+		{
+		 $status_name =	sprintf("%-60s", $statname_list[$RAWstatus]); 
+		 while(mb_strlen($status_name,'utf-8')>20) {$status_name = mb_substr("$status_name", 0, -1,'utf-8');}	
+		}
+
+
+	echo "| $status | $status_name | $STATUScount |\n";
+
+	$i++;
+	}
+
+$TOTALcalls =		sprintf("%10s", $TOTALcalls);
+
+echo "+--------+----------------------+------------+\n";
+echo "| TOTAL:                        | $TOTALcalls |\n";
+echo "+-------------------------------+------------+\n";
+
+
+##############################
+#########  USER STATS
+
+$TOTagents=0;
+$TOTcalls=0;
+$TOTtime=0;
+$TOTavg=0;
+
+echo "\n";
+echo "---------- AGENT STATS\n";
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| AGENT                    | CALLS      | TIME M   | AVRG M |\n";
+echo "+--------------------------+------------+----------+--------+\n";
+
+$stmt="select vicidial_log.user,full_name,count(*),sum(length_in_sec),avg(length_in_sec) from vicidial_log,vicidial_users where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' and vicidial_log.user is not null and length_in_sec is not null and length_in_sec > 4 and vicidial_log.user=vicidial_users.user group by vicidial_log.user;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTcalls = ($TOTcalls + $row[2]);
+	$TOTtime = ($TOTtime + $row[3]);
+
+	$user =	sprintf("%-6s", $row[0]);while(strlen($user)>6) {$user = substr("$user", 0, -1);}
+	if ($non_latin < 1)
+	{
+ 	 $full_name =	sprintf("%-15s", $row[1]); while(strlen($full_name)>15) {$full_name = substr("$full_name", 0, -1);}	
+	}
+	else
+	{
+	 $full_name =	sprintf("%-45s", $row[1]); while(mb_strlen($full_name,'utf-8')>15) {$full_name = mb_substr("$full_name", 0, -1,'utf-8');}	
+	}
+	$USERcalls =	sprintf("%10s", $row[2]);
+	$USERtotTALK =	$row[3];
+	$USERavgTALK =	$row[4];
+
+	$USERtotTALK_M = ($USERtotTALK / 60);
+	$USERtotTALK_M = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$USERtotTALK_MS =		sprintf("%6s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$USERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	echo "| $user - $full_name | $USERcalls |   $USERtotTALK_MS | $USERavgTALK_MS |\n";
+
+	$i++;
+	}
+
+if (!$TOTcalls) {$TOTcalls = 1;}
+$TOTavg = ($TOTtime / $TOTcalls);
+$TOTavg = round($TOTavg, 0);
+$TOTavg_M = ($TOTavg / 60);
+$TOTavg_M = round($TOTavg_M, 2);
+$TOTavg_M_int = intval("$TOTavg_M");
+$TOTavg_S = ($TOTavg_M - $TOTavg_M_int);
+$TOTavg_S = ($TOTavg_S * 60);
+$TOTavg_S = round($TOTavg_S, 0);
+if ($TOTavg_S < 10) {$TOTavg_S = "0$TOTavg_S";}
+$TOTavg_MS = "$TOTavg_M_int:$TOTavg_S";
+$TOTavg =		sprintf("%6s", $TOTavg_MS);
+
+$TOTtime_M = ($TOTtime / 60);
+$TOTtime_M = round($TOTtime_M, 2);
+$TOTtime_M_int = intval("$TOTtime_M");
+$TOTtime_S = ($TOTtime_M - $TOTtime_M_int);
+$TOTtime_S = ($TOTtime_S * 60);
+$TOTtime_S = round($TOTtime_S, 0);
+if ($TOTtime_S < 10) {$TOTtime_S = "0$TOTtime_S";}
+$TOTtime_MS = "$TOTtime_M_int:$TOTtime_S";
+$TOTtime =		sprintf("%6s", $TOTtime_MS);
+
+$TOTagents =		sprintf("%10s", $i);
+$TOTcalls =			sprintf("%10s", $TOTcalls);
+$TOTtime =			sprintf("%8s", $TOTtime);
+$TOTavg =			sprintf("%6s", $TOTavg);
+
+$stmt="select avg(wait_sec) from vicidial_agent_log where event_time >= '$query_date_BEGIN' and event_time <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$AVGwait = $row[0];
+$AVGwait_M = ($AVGwait / 60);
+$AVGwait_M = round($AVGwait_M, 2);
+$AVGwait_M_int = intval("$AVGwait_M");
+$AVGwait_S = ($AVGwait_M - $AVGwait_M_int);
+$AVGwait_S = ($AVGwait_S * 60);
+$AVGwait_S = round($AVGwait_S, 0);
+if ($AVGwait_S < 10) {$AVGwait_S = "0$AVGwait_S";}
+$AVGwait_MS = "$AVGwait_M_int:$AVGwait_S";
+$AVGwait =		sprintf("%6s", $AVGwait_MS);
+
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| TOTAL Agents: $TOTagents | $TOTcalls | $TOTtime | $TOTavg |\n";
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| Average Wait time between calls                    $AVGwait |\n";
+echo "+-----------------------------------------------------------+\n";
+
+##############################
+#########  TIME STATS
+
+echo "\n";
+echo "---------- TIME STATS\n";
+
+echo "\n";
+
+$hi_hour_count=0;
+$last_full_record=0;
+$i=0;
+$h=0;
+while ($i <= 96)
+	{
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+	$h++;
+	}
+
+if ($hi_hour_count < 1)
+	{$hour_multiplier = 0;}
+else
+	{
+	$hour_multiplier = (100 / $hi_hour_count);
+	#$hour_multiplier = round($hour_multiplier, 0);
+	}
+
+echo "\n";
+echo "GRAPH IN 15 MINUTE INCREMENTS OF TOTAL CALLS PLACED FROM THIS CAMPAIGN\n";
+
+$k=1;
+$Mk=0;
+$call_scale = '0';
+while ($k <= 102) 
+	{
+	if ($Mk >= 5) 
+		{
+		$Mk=0;
+		if ( ($k < 1) or ($hour_multiplier <= 0) )
+			{$scale_num = 100;}
+		else
+			{
+			$scale_num=($k / $hour_multiplier);
+			$scale_num = round($scale_num, 0);
+			}
+		$LENscale_num = (strlen($scale_num));
+		$k = ($k + $LENscale_num);
+		$call_scale .= "$scale_num";
+		}
+	else
+		{
+		$call_scale .= " ";
+		$k++;   $Mk++;
+		}
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | DROPS | TOTAL |\n";
+echo "| HOUR |$call_scale| DROPS | TOTAL |\n";
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+$ZZ = '00';
+$i=0;
+$h=4;
+$hour= -1;
+$no_lines_yet=1;
+
+while ($i <= 96)
+	{
+	$char_counter=0;
+	$time = '      ';
+	if ($h >= 4) 
+		{
+		$hour++;
+		$h=0;
+		if ($hour < 10) {$hour = "0$hour";}
+		$time = "+$hour$ZZ+";
+		}
+	if ($h == 1) {$time = "   15 ";}
+	if ($h == 2) {$time = "   30 ";}
+	if ($h == 3) {$time = "   45 ";}
+	$Ghour_count = $hour_count[$i];
+	if ($Ghour_count < 1) 
+		{
+		if ( ($no_lines_yet) or ($i > $last_full_record) )
+			{
+			$do_nothing=1;
+			}
+		else
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			echo "|$time|";
+			$k=0;   while ($k <= 102) {echo " ";   $k++;}
+			echo "| $hour_count[$i] |\n";
+			}
+		}
+	else
+		{
+		$no_lines_yet=0;
+		$Xhour_count = ($Ghour_count * $hour_multiplier);
+		$Yhour_count = (99 - $Xhour_count);
+
+		$Gdrop_count = $drop_count[$i];
+		if ($Gdrop_count < 1) 
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "*X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 101) {echo " ";   $char_counter++;}
+			echo "| 0     | $hour_count[$i] |\n";
+
+			}
+		else
+			{
+			$Xdrop_count = ($Gdrop_count * $hour_multiplier);
+
+		#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
+
+			$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
+
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			$drop_count[$i] =	sprintf("%-5s", $drop_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
+			echo "D";   $char_counter++;
+			$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 102) {echo " ";   $char_counter++;}
+			echo "| $drop_count[$i] | $hour_count[$i] |\n";
+			}
+		}
+	
+	
+	$i++;
+	$h++;
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+
+
+
+
+
+$ENDtime = date("U");
+$RUNtime = ($ENDtime - $STARTtime);
+echo "\nRun Time: $RUNtime seconds\n";
+
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_VICIDIAL_hopperlist.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_VICIDIAL_hopperlist.php new file mode 100644 index 00000000..a30832be --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_VICIDIAL_hopperlist.php @@ -0,0 +1,169 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1654 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 70115-1614 - Added ALT field for vicidial_hopper alt_dial column +# 71029-0852 - Added list_id to the output +# 71030-2118 - Added priority to display +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and modify_campaigns='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($server_ip)) {$server_ip = '10.10.10.15';} + +$stmt="select campaign_id,campaign_name from vicidial_campaigns order by campaign_id;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$campaigns_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $campaigns_to_print) + { + $row=mysql_fetch_row($rslt); + $campaign_id[$i] =$row[0]; + $campaign_name[$i] =$row[1]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Hopper List\n"; +echo "
\n"; +#echo "\n"; +#echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFY \n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "PLEASE SELECT A CAMPAIGN ABOVE AND CLICK SUBMIT\n";
+}
+
+else
+{
+
+
+echo "VICIDIAL: Live Current Hopper List                      $NOW_TIME\n";
+
+echo "\n";
+echo "---------- TOTALS\n";
+
+$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+
+echo "Total leads in hopper right now:       $TOTALcalls\n";
+
+
+##############################
+#########  LEAD STATS
+
+echo "\n";
+echo "---------- LEADS IN HOPPER\n";
+echo "+------+--------+-----------+------------+------------+-------+--------+-------+--------+-------+\n";
+echo "|ORDER |PRIORITY| LEAD ID   | LIST ID    | PHONE NUM  | STATE | STATUS | COUNT | GMT    | ALT   |\n";
+echo "+------+--------+-----------+------------+------------+-------+--------+-------+--------+-------+\n";
+
+$stmt="select vicidial_hopper.lead_id,phone_number,vicidial_hopper.state,vicidial_list.status,called_count,vicidial_hopper.gmt_offset_now,hopper_id,alt_dial,vicidial_hopper.list_id,vicidial_hopper.priority from vicidial_hopper,vicidial_list where vicidial_hopper.campaign_id='" . mysql_real_escape_string($group) . "' and vicidial_hopper.lead_id=vicidial_list.lead_id order by priority desc,hopper_id limit 2000;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$FMT_i =		sprintf("%-4s", $i);
+	$lead_id =		sprintf("%-9s", $row[0]);
+	$phone_number =	sprintf("%-10s", $row[1]);
+	$state =		sprintf("%-5s", $row[2]);
+	$status =		sprintf("%-6s", $row[3]);
+	$count =		sprintf("%-5s", $row[4]);
+	$gmt =			sprintf("%-6s", $row[5]);
+	$hopper_id =	sprintf("%-6s", $row[6]);
+	$alt_dial =		sprintf("%-5s", $row[7]);
+	$list_id =		sprintf("%-10s", $row[8]);
+	$priority =		sprintf("%-6s", $row[9]);
+
+if ($DB) {echo "| $FMT_i | $priority | $lead_id | $list_id | $phone_number | $state | $status | $count | $gmt | $hopper_id |\n";}
+else {echo "| $FMT_i | $priority | $lead_id | $list_id | $phone_number | $state | $status | $count | $gmt | $alt_dial |\n";}
+
+	$i++;
+	}
+
+echo "+------+--------+-----------+------------+------------+-------+--------+-------+--------+-------+\n";
+
+
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_admin_log_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_admin_log_display.php new file mode 100644 index 00000000..9c5c4af6 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_admin_log_display.php @@ -0,0 +1,118 @@ + LICENSE: GPLv2 +### + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$query_date = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$query_date); + +# AST GUI database administration +# AST_admin_log_display.php +# +# CHANGES +# 50325-0932 - First build +# 51123-1443 - removed globals=on requirement +# 60421-1229 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60620-1044 - Added variable filtering to eliminate SQL injection attack threat +# + +$version = '0.0.4'; +$build = '60620-1044'; + +$STARTtime = date("U"); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 8 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDIAL ADMIN LOG DISPLAY"; +echo "\n"; + +# Fri, 25 Mar 2005 + +$DAY_DATE = date("j"); +if ($DAY_DATE < 10) +# {$GREP_DATE = date("D, j M Y");} + {$GREP_DATE = date("D, 0j M Y");} +else + {$GREP_DATE = date("D, j M Y");} + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!$query_date) {$query_date = $GREP_DATE;} + +$Gquery_date = eregi_replace(" ",'\ ',$query_date); +echo "\n"; + +echo "
\n"; +echo "\n"; +echo "\n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+echo "VICIDIAL ADMIN CHANGE LOG                             $NOW_TIME\n";
+
+#passthru("grep $Gquery_date /home/www/htdocs/vicidial/admin_changes_log.txt");
+passthru("grep $Gquery_date $WeBServeRRooT/vicidial/admin_changes_log.txt");
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_agent_disposition.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_agent_disposition.php new file mode 100644 index 00000000..b0b0a461 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_agent_disposition.php @@ -0,0 +1,237 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 70201-1213 - First build - from Marin Blu +# +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($begin_date)) {$begin_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} + +$stmt="select campaign_id from vicidial_campaigns;"; +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$campaigns_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $campaigns_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Agent Disposition\n"; +echo "
\n"; +echo "Date - From: to \n"; +echo "  \n"; +echo "\n"; +echo "\n"; +echo "           MODIFY | REPORTS \n"; +echo "\n\n"; + +echo "
\n";
+
+
+if (!$group)
+{
+echo "\n";
+echo "PLEASE SELECT A SERVER AND DATE ABOVE AND CLICK SUBMIT\n";
+}
+
+else
+{
+
+echo "VICIDIAL: Agent Disposition                             $NOW_TIME\n";
+
+echo "Time range: $begin_date to $end_date \n\n";
+echo "---------- Disposition Details -------------\n\n";
+
+echo "+-----------------+------------+--------+--------+--------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+\n";
+echo "| USER NAME       | ID         | CALLS  | TALK   | TALKAVG| A    | B    |CALLBK|CBHOLD| DEC  | DC   | DNC  | DROP |INCALL| LB   | N    | NA   | NI   | NP   | NQ   |QUEUE | SALE | XFER |\n";
+echo "+-----------------+------------+--------+--------+--------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+\n";
+
+$stmt="select count(*) as calls,sum(length_in_sec) as talk,full_name,vicidial_users.user,avg(length_in_sec) from vicidial_users,vicidial_log where call_date >= '$begin_date 00:00:01' and call_date <= '$end_date 23:59:59'  and vicidial_users.user=vicidial_log.user and campaign_id='" . mysql_real_escape_string($group) . "' group by full_name order by calls desc limit 1000;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$rows_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $rows_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$TOTcalls=($TOTcalls + $row[0]);
+	$TOTtotTALK=($TOTtotTALK + $row[1]);
+	$calls[$i] =	sprintf("%-6s", $row[0]);
+	$full_name[$i]=	sprintf("%-15s", $row[2]); while(strlen($full_name[$i])>15) {$full_name[$i] = substr("$full_name[$i]", 0, -1);}
+	$user[$i] =		sprintf("%-10s", $row[3]); while(strlen($user[$i])>10) {$user[$i] = substr("$user[$i]", 0, -1);}
+	$USERtotTALK =	$row[1];
+	$USERavgTALK =	$row[4];
+
+	$USERtotTALK_M = ($USERtotTALK / 60);
+	$USERtotTALK_M = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$pfUSERtotTALK_MS[$i] =		sprintf("%6s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$pfUSERavgTALK_MS[$i] =		sprintf("%6s", $USERavgTALK_MS);
+	$i++;
+	}
+	
+$k=0;
+
+while($k < $i)
+	
+	{
+	$ctA[$k]="0   "; $ctB[$k]="0   "; $ctDC[$k]="0   "; $ctDNC[$k]="0   "; $ctN[$k]="0   "; $ctNI[$k]="0   "; $ctSALE[$k]="0   ";  $ctINCALL[$k]="0   ";  $ctDROP[$k]="0   ";  $ctQUEUE[$k]="0   ";  $ctNP[$k]="0   ";   $ctDEC[$k]="0   ";  $ctNQ[$k]="0   ";  $ctNA[$k]="0   ";   $ctXFER[$k]="0   "; $ctLB[$k]="0   ";  $ctCALLBK[$k]="0   "; $ctCBHOLD[$k]="0   ";
+	$stmt="select count(*),status from vicidial_log where call_date >= '$begin_date 00:00:01' and call_date <= '$end_date 23:59:59'  and user='$user[$k]' and campaign_id='" . mysql_real_escape_string($group) . "' group by status;";
+	if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$rows_to_print = mysql_num_rows($rslt);
+	$m=0;
+	while ($m < $rows_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+		if ($row[1] == 'A') {$ctA[$k]=sprintf("%-4s", $row[0]);		$TOT_A = ($TOT_A + $row[0]);}
+		if ($row[1] == 'B') {$ctB[$k]=sprintf("%-4s", $row[0]);		$TOT_B = ($TOT_B + $row[0]);}
+		if ($row[1] == 'DC') {$ctDC[$k]=sprintf("%-4s", $row[0]);	$TOT_DC = ($TOT_DC + $row[0]);}
+		if ($row[1] == 'DNC') {$ctDNC[$k]=sprintf("%-4s", $row[0]);	$TOT_DNC = ($TOT_DNC + $row[0]);}
+		if ($row[1] == 'N') {$ctN[$k]=sprintf("%-4s", $row[0]);		$TOT_N = ($TOT_N + $row[0]);}
+		if ($row[1] == 'NI') {$ctNI[$k]=sprintf("%-4s", $row[0]);	$TOT_NI = ($TOT_NI + $row[0]);}
+		if ($row[1] == 'SALE') {$ctSALE[$k]=sprintf("%-4s", $row[0]);	$TOT_SALE = ($TOT_SALE + $row[0]);}
+		if ($row[1] == 'INCALL') {$ctINCALL[$k]=sprintf("%-4s", $row[0]);	$TOT_INCALL = ($TOT_INCALL + $row[0]);}
+		if ($row[1] == 'DROP') {$ctDROP[$k]=sprintf("%-4s", $row[0]);	$TOT_DROP = ($TOT_DROP + $row[0]);}
+		if ($row[1] == 'QUEUE') {$ctQUEUE[$k]=sprintf("%-4s", $row[0]);	$TOT_QUEUE = ($TOT_QUEUE + $row[0]);}
+		if ($row[1] == 'NP') {$ctNP[$k]=sprintf("%-4s", $row[0]);	$TOT_NP = ($TOT_NP + $row[0]);}
+		if ($row[1] == 'DEC') {$ctDEC[$k]=sprintf("%-4s", $row[0]);	$TOT_DEC = ($TOT_DEC + $row[0]);}
+		if ($row[1] == 'NQ') {$ctNQ[$k]=sprintf("%-4s", $row[0]);	$TOT_NQ = ($TOT_NQ + $row[0]);}
+		if ($row[1] == 'NA') {$ctNA[$k]=sprintf("%-4s", $row[0]);	$TOT_NA = ($TOT_NA + $row[0]);}
+		if ($row[1] == 'XFER') {$ctXFER[$k]=sprintf("%-4s", $row[0]);	$TOT_XFER = ($TOT_XFER + $row[0]);}
+		if ($row[1] == 'LB') {$ctLB[$k]=sprintf("%-4s", $row[0]);	$TOT_LB = ($TOT_LB + $row[0]);}
+		if ($row[1] == 'CALLBK') {$ctCALLBK[$k]=sprintf("%-4s", $row[0]);	$TOT_CALLBK = ($TOT_CALLBK + $row[0]);}
+		if ($row[1] == 'CBHOLD') {$ctCBHOLD[$k]=sprintf("%-4s", $row[0]);	$TOT_CBHOLD = ($TOT_CBHOLD + $row[0]);}
+		$m++;
+		}
+	echo "| $full_name[$k] | $user[$k] | $calls[$k] | $pfUSERtotTALK_MS[$k] | $pfUSERavgTALK_MS[$k] | $ctA[$k] | $ctB[$k] | $ctCALLBK[$k] | $ctCBHOLD[$k] | $ctDEC[$k] | $ctDC[$k] | $ctDNC[$k] | $ctDROP[$k] | $ctINCALL[$k] | $ctLB[$k] | $ctN[$k] | $ctNA[$k] | $ctNI[$k] | $ctNP[$k] | $ctNQ[$k] | $ctQUEUE[$k] | $ctSALE[$k] | $ctXFER[$k] | \n";
+
+	$k++;
+	}
+
+	$TOTcalls =	sprintf("%-7s", $TOTcalls);
+
+	$TOTtotTALK_M = ($TOTtotTALK / 60);
+	$TOTtotTALK_M = round($TOTtotTALK_M, 2);
+	$TOTtotTALK_M_int = intval("$TOTtotTALK_M");
+	$TOTtotTALK_S = ($TOTtotTALK_M - $TOTtotTALK_M_int);
+	$TOTtotTALK_S = ($TOTtotTALK_S * 60);
+	$TOTtotTALK_S = round($TOTtotTALK_S, 0);
+	if ($TOTtotTALK_S < 10) {$TOTtotTALK_S = "0$TOTtotTALK_S";}
+	$TOTtotTALK_MS = "$TOTtotTALK_M_int:$TOTtotTALK_S";
+	$TOTtotTALK_MS =		sprintf("%7s", $TOTtotTALK_MS);
+		while(strlen($TOTtotTALK_MS)>7) {$TOTtotTALK_MS = substr("$TOTtotTALK_MS", 0, -1);}
+
+	$TOT_A = sprintf("%-5s", $TOT_A);
+	$TOT_B = sprintf("%-5s", $TOT_B);
+	$TOT_DC = sprintf("%-5s", $TOT_DC);
+	$TOT_DNC = sprintf("%-5s", $TOT_DNC);
+	$TOT_N = sprintf("%-5s", $TOT_N);
+	$TOT_NI = sprintf("%-5s", $TOT_NI);
+	$TOT_SALE = sprintf("%-5s", $TOT_SALE);
+	$TOT_INCALL = sprintf("%-5s", $TOT_INCALL);
+	$TOT_DROP = sprintf("%-5s", $TOT_DROP); 
+	$TOT_QUEUE = sprintf("%-5s", $TOT_QUEUE);
+	$TOT_NP = sprintf("%-5s", $TOT_NP);
+	$TOT_DEC = sprintf("%-5s", $TOT_DEC);
+	$TOT_NQ = sprintf("%-5s", $TOT_NQ);
+	$TOT_NA = sprintf("%-5s", $TOT_NA);
+	$TOT_XFER = sprintf("%-5s", $TOT_XFER);
+	$TOT_LB= sprintf("%-5s", $TOT_LB);
+	$TOT_CALLBK = sprintf("%-5s", $TOT_CALLBK);
+	$TOT_CBHOLD = sprintf("%-5s", $TOT_CBHOLD);
+
+echo "+-----------------+------------+--------+--------+--------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+\n";
+echo "|  TOTALS                      | $TOTcalls| $TOTtotTALK_MS|        | $TOT_A| $TOT_B| $TOT_CALLBK| $TOT_CBHOLD| $TOT_DEC| $TOT_DC| $TOT_DNC| $TOT_DROP| $TOT_INCALL| $TOT_LB| $TOT_N| $TOT_NA| $TOT_NI| $TOT_NP| $TOT_NQ| $TOT_QUEUE| $TOT_SALE| $TOT_XFER|\n";
+echo "+-----------------+------------+--------+--------+--------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+\n";
+echo "\n";
+
+}
+?>
+
\ No newline at end of file
diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_agent_performance.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_agent_performance.php
new file mode 100644
index 00000000..eb2ceac4
--- /dev/null
+++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_agent_performance.php
@@ -0,0 +1,257 @@
+    LICENSE: GPLv2
+###
+# CHANGES
+#
+# 60619-1711 - Added variable filtering to eliminate SQL injection attack threat
+#            - Added required user/pass to gain access to this page
+# 70201-1203 - Added non_latin UTF8 output code, widened USER ID to 8 chars
+#
+
+require("dbconnect.php");
+
+$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
+$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
+$PHP_SELF=$_SERVER['PHP_SELF'];
+if (isset($_GET["group"]))				{$group=$_GET["group"];}
+	elseif (isset($_POST["group"]))		{$group=$_POST["group"];}
+if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
+	elseif (isset($_POST["query_date"]))		{$query_date=$_POST["query_date"];}
+if (isset($_GET["shift"]))				{$shift=$_GET["shift"];}
+	elseif (isset($_POST["shift"]))		{$shift=$_POST["shift"];}
+if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
+	elseif (isset($_POST["submit"]))		{$submit=$_POST["submit"];}
+if (isset($_GET["SUBMIT"]))				{$SUBMIT=$_GET["SUBMIT"];}
+	elseif (isset($_POST["SUBMIT"]))		{$SUBMIT=$_POST["SUBMIT"];}
+
+$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
+$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
+
+	$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
+	if ($DB) {echo "|$stmt|\n";}
+	if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");}
+	$rslt=mysql_query($stmt, $link);
+	$row=mysql_fetch_row($rslt);
+	$auth=$row[0];
+
+  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
+	{
+    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
+    Header("HTTP/1.0 401 Unauthorized");
+    echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
+    exit;
+	}
+
+$NOW_DATE = date("Y-m-d");
+$NOW_TIME = date("Y-m-d H:i:s");
+$STARTtime = date("U");
+if (!isset($group)) {$group = '';}
+if (!isset($query_date)) {$query_date = $NOW_DATE;}
+
+$stmt="select campaign_id from vicidial_campaigns;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$campaigns_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $campaigns_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$groups[$i] =$row[0];
+	$i++;
+	}
+?>
+
+
+
+
+
+\n";
+echo "VICIDIAL: Agent Performance\n";
+echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFY | REPORTS \n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$group)
+{
+echo "\n";
+echo "PLEASE SELECT A SERVER AND DATE-TIME ABOVE AND CLICK SUBMIT\n";
+echo " NOTE: stats taken from 6 hour shift specified\n";
+}
+
+else
+{
+if ($shift == 'AM') 
+	{
+	$query_date_BEGIN = "$query_date 08:45:00";   
+	$query_date_END = "$query_date 15:33:00";
+	$time_BEGIN = "08:45:00";   
+	$time_END = "15:33:00";
+	}
+if ($shift == 'PM') 
+	{
+	$query_date_BEGIN = "$query_date 15:33:00";   
+	$query_date_END = "$query_date 23:15:00";
+	$time_BEGIN = "15:33:00";   
+	$time_END = "23:15:00";
+	}
+
+echo "VICIDIAL: Agent Performance                             $NOW_TIME\n";
+
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- AGENTS Details -------------\n\n";
+
+echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
+echo "| USER NAME       | ID       | CALLS  | TALK   | TALKAVG| A    | B    | DC   | DNC  | N    | NI   | SALE |\n";
+echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
+
+$stmt="select count(*) as calls,sum(length_in_sec) as talk,full_name,vicidial_users.user,avg(length_in_sec) from vicidial_users,vicidial_log where call_date <= '$query_date_END' and call_date >= '$query_date_BEGIN' and vicidial_users.user=vicidial_log.user and campaign_id='" . mysql_real_escape_string($group) . "' group by full_name order by calls desc limit 1000;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$rows_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $rows_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$TOTcalls=($TOTcalls + $row[0]);
+	$TOTtotTALK=($TOTtotTALK + $row[1]);
+	$calls[$i] =	sprintf("%-6s", $row[0]);
+
+	if ($non_latin < 1)
+	{
+   	 $full_name[$i]=	sprintf("%-15s", $row[2]); 
+	 while(strlen($full_name[$i])>15) {$full_name[$i] = substr("$full_name[$i]", 0, -1);}
+
+	 $user[$i] =		sprintf("%-6s", $row[3]);
+        while(strlen($user[$i])>6) {$user[$i] = substr("$user[$i]", 0, -1);}
+       }
+	else
+	{	
+        $full_name[$i]=	sprintf("%-45s", $row[2]); 
+	 while(mb_strlen($full_name[$i],'utf-8')>15) {$full_name[$i] = mb_substr("$full_name[$i]", 0, -1,'utf-8');}
+
+ 	 $user[$i] =		sprintf("%-18s", $row[3]);
+	 while(mb_strlen($user[$i],'utf-8')>6) {$user[$i] = mb_substr("$user[$i]", 0, -1,'utf-8');}
+	}
+
+	$user[$i] =		sprintf("%-8s", $row[3]);
+	$USERtotTALK =	$row[1];
+	$USERavgTALK =	$row[4];
+
+	$USERtotTALK_M = ($USERtotTALK / 60);
+	$USERtotTALK_M = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$pfUSERtotTALK_MS[$i] =		sprintf("%6s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$pfUSERavgTALK_MS[$i] =		sprintf("%6s", $USERavgTALK_MS);
+	$i++;
+	}
+
+$k=0;
+while($k < $i)
+	{
+	$ctA[$k]="0   "; $ctB[$k]="0   "; $ctDC[$k]="0   "; $ctDNC[$k]="0   "; $ctN[$k]="0   "; $ctNI[$k]="0   "; $ctSALE[$k]="0   "; 
+	$stmt="select count(*),status from vicidial_log where call_date <= '$query_date_END' and call_date >= '$query_date_BEGIN' and user='$user[$k]' and campaign_id='" . mysql_real_escape_string($group) . "' group by status;";
+	if ($non_latin > 0)
+	{
+	$rslt=mysql_query("SET NAMES 'UTF8'");
+	}
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$rows_to_print = mysql_num_rows($rslt);
+	$m=0;
+	while ($m < $rows_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+		if ($row[1] == 'A') {$ctA[$k]=sprintf("%-4s", $row[0]);		$TOT_A = ($TOT_A + $row[0]);}
+		if ($row[1] == 'B') {$ctB[$k]=sprintf("%-4s", $row[0]);		$TOT_B = ($TOT_B + $row[0]);}
+		if ($row[1] == 'DC') {$ctDC[$k]=sprintf("%-4s", $row[0]);	$TOT_DC = ($TOT_DC + $row[0]);}
+		if ($row[1] == 'DNC') {$ctDNC[$k]=sprintf("%-4s", $row[0]);	$TOT_DNC = ($TOT_DNC + $row[0]);}
+		if ($row[1] == 'N') {$ctN[$k]=sprintf("%-4s", $row[0]);		$TOT_N = ($TOT_N + $row[0]);}
+		if ($row[1] == 'NI') {$ctNI[$k]=sprintf("%-4s", $row[0]);	$TOT_NI = ($TOT_NI + $row[0]);}
+		if (($row[1] == 'SALE') || ($row[1] == 'XFER') ) {$ctSALE[$k]=sprintf("%-4s", $row[0]);	$TOT_SALE = ($TOT_SALE + $row[0]);}
+		$m++;
+		}
+	echo "| $full_name[$k] | $user[$k] | $calls[$k] | $pfUSERtotTALK_MS[$k] | $pfUSERavgTALK_MS[$k] | $ctA[$k] | $ctB[$k] | $ctDC[$k] | $ctDNC[$k] | $ctN[$k] | $ctNI[$k] | $ctSALE[$k] |\n";
+
+
+
+	$k++;
+	}
+
+	$TOTcalls =	sprintf("%-7s", $TOTcalls);
+
+	$TOTtotTALK_M = ($TOTtotTALK / 60);
+	$TOTtotTALK_M = round($TOTtotTALK_M, 2);
+	$TOTtotTALK_M_int = intval("$TOTtotTALK_M");
+	$TOTtotTALK_S = ($TOTtotTALK_M - $TOTtotTALK_M_int);
+	$TOTtotTALK_S = ($TOTtotTALK_S * 60);
+	$TOTtotTALK_S = round($TOTtotTALK_S, 0);
+	if ($TOTtotTALK_S < 10) {$TOTtotTALK_S = "0$TOTtotTALK_S";}
+	$TOTtotTALK_MS = "$TOTtotTALK_M_int:$TOTtotTALK_S";
+	$TOTtotTALK_MS =		sprintf("%7s", $TOTtotTALK_MS);
+		while(strlen($TOTtotTALK_MS)>7) {$TOTtotTALK_MS = substr("$TOTtotTALK_MS", 0, -1);}
+
+	$TOT_A = sprintf("%-5s", $TOT_A);
+	$TOT_B = sprintf("%-5s", $TOT_B);
+	$TOT_DC = sprintf("%-5s", $TOT_DC);
+	$TOT_DNC = sprintf("%-5s", $TOT_DNC);
+	$TOT_N = sprintf("%-5s", $TOT_N);
+	$TOT_NI = sprintf("%-5s", $TOT_NI);
+	$TOT_SALE = sprintf("%-5s", $TOT_SALE);
+
+echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
+echo "|  TOTALS                    | $TOTcalls| $TOTtotTALK_MS|        | $TOT_A| $TOT_B| $TOT_DC| $TOT_DNC| $TOT_N| $TOT_NI| $TOT_SALE|\n";
+echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
+
+echo "\n";
+
+}
+
+
+
+?>
+
+
\ No newline at end of file
diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_agent_performance_detail.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_agent_performance_detail.php
new file mode 100644
index 00000000..5557d4dd
--- /dev/null
+++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_agent_performance_detail.php
@@ -0,0 +1,557 @@
+    LICENSE: GPLv2
+###
+# CHANGES
+#
+# 71119-2359 - First build
+# 71121-0144 - Replace existing AST_agent_performance_detail.php script with this one
+#            - Fixed zero division bug
+#
+
+require("dbconnect.php");
+
+$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
+$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
+$PHP_SELF=$_SERVER['PHP_SELF'];
+if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
+	elseif (isset($_POST["query_date"]))	{$query_date=$_POST["query_date"];}
+if (isset($_GET["group"]))				{$group=$_GET["group"];}
+	elseif (isset($_POST["group"]))		{$group=$_POST["group"];}
+if (isset($_GET["user_group"]))				{$user_group=$_GET["user_group"];}
+	elseif (isset($_POST["user_group"]))	{$user_group=$_POST["user_group"];}
+if (isset($_GET["shift"]))				{$shift=$_GET["shift"];}
+	elseif (isset($_POST["shift"]))		{$shift=$_POST["shift"];}
+if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
+	elseif (isset($_POST["submit"]))	{$submit=$_POST["submit"];}
+if (isset($_GET["SUBMIT"]))				{$SUBMIT=$_GET["SUBMIT"];}
+	elseif (isset($_POST["SUBMIT"]))	{$SUBMIT=$_POST["SUBMIT"];}
+
+if (strlen($shift)<2) {$shift='ALL';}
+
+$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
+$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
+
+	$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
+	if ($DB) {echo "|$stmt|\n";}
+	if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");}
+	$rslt=mysql_query($stmt, $link);
+	$row=mysql_fetch_row($rslt);
+	$auth=$row[0];
+
+  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
+	{
+    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
+    Header("HTTP/1.0 401 Unauthorized");
+    echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
+    exit;
+	}
+
+$NOW_DATE = date("Y-m-d");
+$NOW_TIME = date("Y-m-d H:i:s");
+$STARTtime = date("U");
+if (!isset($group)) {$group = '';}
+if (!isset($query_date)) {$query_date = $NOW_DATE;}
+
+$stmt="select campaign_id from vicidial_campaigns;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$campaigns_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $campaigns_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$groups[$i] =$row[0];
+	$i++;
+	}
+$stmt="select user_group from vicidial_user_groups;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$user_groups_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $user_groups_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$user_groups[$i] =$row[0];
+	$i++;
+	}
+?>
+
+
+
+
+
+\n";
+echo "VICIDIAL: Agent Performance\n";
+echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFY | REPORTS \n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$group)
+{
+echo "\n";
+echo "PLEASE SELECT A CAMPAIGN AND DATE-TIME ABOVE AND CLICK SUBMIT\n";
+echo " NOTE: stats taken from shift specified\n";
+}
+
+else
+{
+if ($shift == 'AM') 
+	{
+	$time_BEGIN=$AM_shift_BEGIN;
+	$time_END=$AM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
+	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
+	}
+if ($shift == 'PM') 
+	{
+	$time_BEGIN=$PM_shift_BEGIN;
+	$time_END=$PM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
+	}
+if ($shift == 'ALL') 
+	{
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
+	}
+$query_date_BEGIN = "$query_date $time_BEGIN";   
+$query_date_END = "$query_date $time_END";
+
+if (strlen($user_group)>0) {$ugSQL="and vicidial_agent_log.user_group='$user_group'";}
+else {$ugSQL='';}
+
+echo "VICIDIAL: Agent Performance Detail                        $NOW_TIME\n";
+
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- AGENTS Details -------------\n\n";
+
+
+
+
+
+$statuses='-';
+$statusesTXT='';
+$statusesHEAD='';
+$statusesHTML='';
+$statusesARY[0]='';
+$j=0;
+$users='-';
+$usersARY[0]='';
+$user_namesARY[0]='';
+$k=0;
+
+$stmt="select count(*) as calls,sum(talk_sec) as talk,full_name,vicidial_users.user,sum(pause_sec),sum(wait_sec),sum(dispo_sec),status from vicidial_users,vicidial_agent_log where event_time <= '$query_date_END' and event_time >= '$query_date_BEGIN' and vicidial_users.user=vicidial_agent_log.user and campaign_id='" . mysql_real_escape_string($group) . "' and pause_sec<36000 and wait_sec<36000 and talk_sec<36000 and dispo_sec<36000 $ugSQL group by full_name,status order by status desc,full_name limit 100000;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$rows_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $rows_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$row[0] = ($row[0] - 1);	# subtract 1 for login/logout event compensation
+	
+	$calls[$i] =		$row[0];
+	$talk_sec[$i] =		$row[1];
+	$full_name[$i] =	$row[2];
+	$user[$i] =			$row[3];
+	$pause_sec[$i] =	$row[4];
+	$wait_sec[$i] =		$row[5];
+	$dispo_sec[$i] =	$row[6];
+	$status[$i] =		$row[7];
+	if ( (!eregi("-$status[$i]-", $statuses)) and (strlen($status[$i])>0) )
+		{
+		$statusesTXT = sprintf("%8s", $status[$i]);
+		$statusesHEAD .= "----------+";
+		$statusesHTML .= " $statusesTXT |";
+		$statuses .= "$status[$i]-";
+		$statusesARY[$j] = $status[$i];
+		$j++;
+		}
+	if (!eregi("-$user[$i]-", $users))
+		{
+		$users .= "$user[$i]-";
+		$usersARY[$k] = $user[$i];
+		$user_namesARY[$k] = $full_name[$i];
+		$k++;
+		}
+
+	$i++;
+	}
+
+
+echo "+-----------------+----------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
+echo "| USER NAME       | ID       | CALLS  | TIME    | PAUSE  | PAUSAVG| WAIT   | WAITAVG| TALK   | TALKAVG| DISPO  | DISPAVG|$statusesHTML\n";
+echo "+-----------------+----------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
+
+
+### BEGIN loop through each user ###
+$m=0;
+while ($m < $k)
+	{
+	$Suser=$usersARY[$m];
+	$Sfull_name=$user_namesARY[$m];
+	$Stime=0;
+	$Scalls=0;
+	$Stalk_sec=0;
+	$Spause_sec=0;
+	$Swait_sec=0;
+	$Sdispo_sec=0;
+	$SstatusesHTML='';
+
+	### BEGIN loop through each status ###
+	$n=0;
+	while ($n < $j)
+		{
+		$Sstatus=$statusesARY[$n];
+		$SstatusTXT='';
+		### BEGIN loop through each stat line ###
+		$i=0; $status_found=0;
+		while ($i < $rows_to_print)
+			{
+			if ( ($Suser=="$user[$i]") and ($Sstatus=="$status[$i]") )
+				{
+				$Scalls =		($Scalls + $calls[$i]);
+				$Stalk_sec =	($Stalk_sec + $talk_sec[$i]);
+				$Spause_sec =	($Spause_sec + $pause_sec[$i]);
+				$Swait_sec =	($Swait_sec + $wait_sec[$i]);
+				$Sdispo_sec =	($Sdispo_sec + $dispo_sec[$i]);
+				$SstatusTXT = sprintf("%8s", $calls[$i]);
+				$SstatusesHTML .= " $SstatusTXT |";
+				$status_found++;
+				}
+			$i++;
+			}
+		if ($status_found < 1)
+			{
+			$SstatusesHTML .= "        0 |";
+			}
+		### END loop through each stat line ###
+		$n++;
+		}
+	### END loop through each status ###
+	$Stime = ($Stalk_sec + $Spause_sec + $Swait_sec + $Sdispo_sec);
+	$TOTcalls=($TOTcalls + $Scalls);
+	$TOTtime=($TOTtime + $Stime);
+	$TOTtotTALK=($TOTtotTALK + $Stalk_sec);
+	$TOTtotWAIT=($TOTtotWAIT + $Swait_sec);
+	$TOTtotPAUSE=($TOTtotPAUSE + $Spause_sec);
+	$TOTtotDISPO=($TOTtotDISPO + $Sdispo_sec);
+	$Stime = ($Stalk_sec + $Spause_sec + $Swait_sec + $Sdispo_sec);
+	if ( ($Scalls > 0) and ($Stalk_sec > 0) ) {$Stalk_avg = ($Stalk_sec/$Scalls);}
+		else {$Stalk_avg=0;}
+	if ( ($Scalls > 0) and ($Spause_sec > 0) ) {$Spause_avg = ($Spause_sec/$Scalls);}
+		else {$Spause_avg=0;}
+	if ( ($Scalls > 0) and ($Swait_sec > 0) ) {$Swait_avg = ($Swait_sec/$Scalls);}
+		else {$Swait_avg=0;}
+	if ( ($Scalls > 0) and ($Sdispo_sec > 0) ) {$Sdispo_avg = ($Sdispo_sec/$Scalls);}
+		else {$Sdispo_avg=0;}
+
+	$Scalls =	sprintf("%6s", $Scalls);
+
+	if ($non_latin < 1)
+	{
+   	 $Sfull_name=	sprintf("%-15s", $Sfull_name); 
+		while(strlen($Sfull_name)>15) {$Sfull_name = substr("$Sfull_name", 0, -1);}
+	 $Suser =		sprintf("%-8s", $Suser);
+        while(strlen($Suser)>8) {$Suser = substr("$Suser", 0, -1);}
+       }
+	else
+	{	
+        $Sfull_name=	sprintf("%-45s", $Sfull_name); 
+	 while(mb_strlen($Sfull_name,'utf-8')>15) {$Sfull_name = mb_substr("$Sfull_name", 0, -1,'utf-8');}
+
+ 		$Suser =	sprintf("%-24s", $Suser);
+	 while(mb_strlen($Suser,'utf-8')>8) {$Suser = mb_substr("$Suser", 0, -1,'utf-8');}
+	}
+
+	$USERtime_M = ($Stime / 60);
+	$USERtime_M = round($USERtime_M, 2);
+	$USERtime_M_int = intval("$USERtime_M");
+	$USERtime_S = ($USERtime_M - $USERtime_M_int);
+	$USERtime_S = ($USERtime_S * 60);
+	$USERtime_S = round($USERtime_S, 0);
+	if ($USERtime_S < 10) {$USERtime_S = "0$USERtime_S";}
+	$USERtime_MS = "$USERtime_M_int:$USERtime_S";
+	$pfUSERtime_MS =		sprintf("%7s", $USERtime_MS);
+
+	$USERtotTALK_M = ($Stalk_sec / 60);
+	$USERtotTALK_M = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$pfUSERtotTALK_MS =		sprintf("%6s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($Stalk_avg / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$pfUSERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	$USERtotPAUSE_M = ($Spause_sec / 60);
+	$USERtotPAUSE_M = round($USERtotPAUSE_M, 2);
+	$USERtotPAUSE_M_int = intval("$USERtotPAUSE_M");
+	$USERtotPAUSE_S = ($USERtotPAUSE_M - $USERtotPAUSE_M_int);
+	$USERtotPAUSE_S = ($USERtotPAUSE_S * 60);
+	$USERtotPAUSE_S = round($USERtotPAUSE_S, 0);
+	if ($USERtotPAUSE_S < 10) {$USERtotPAUSE_S = "0$USERtotPAUSE_S";}
+	$USERtotPAUSE_MS = "$USERtotPAUSE_M_int:$USERtotPAUSE_S";
+	$pfUSERtotPAUSE_MS =		sprintf("%6s", $USERtotPAUSE_MS);
+
+	$USERavgPAUSE_M = ($Spause_avg / 60);
+	$USERavgPAUSE_M = round($USERavgPAUSE_M, 2);
+	$USERavgPAUSE_M_int = intval("$USERavgPAUSE_M");
+	$USERavgPAUSE_S = ($USERavgPAUSE_M - $USERavgPAUSE_M_int);
+	$USERavgPAUSE_S = ($USERavgPAUSE_S * 60);
+	$USERavgPAUSE_S = round($USERavgPAUSE_S, 0);
+	if ($USERavgPAUSE_S < 10) {$USERavgPAUSE_S = "0$USERavgPAUSE_S";}
+	$USERavgPAUSE_MS = "$USERavgPAUSE_M_int:$USERavgPAUSE_S";
+	$pfUSERavgPAUSE_MS =		sprintf("%6s", $USERavgPAUSE_MS);
+
+	$USERtotWAIT_M = ($Swait_sec / 60);
+	$USERtotWAIT_M = round($USERtotWAIT_M, 2);
+	$USERtotWAIT_M_int = intval("$USERtotWAIT_M");
+	$USERtotWAIT_S = ($USERtotWAIT_M - $USERtotWAIT_M_int);
+	$USERtotWAIT_S = ($USERtotWAIT_S * 60);
+	$USERtotWAIT_S = round($USERtotWAIT_S, 0);
+	if ($USERtotWAIT_S < 10) {$USERtotWAIT_S = "0$USERtotWAIT_S";}
+	$USERtotWAIT_MS = "$USERtotWAIT_M_int:$USERtotWAIT_S";
+	$pfUSERtotWAIT_MS =		sprintf("%6s", $USERtotWAIT_MS);
+
+	$USERavgWAIT_M = ($Swait_avg / 60);
+	$USERavgWAIT_M = round($USERavgWAIT_M, 2);
+	$USERavgWAIT_M_int = intval("$USERavgWAIT_M");
+	$USERavgWAIT_S = ($USERavgWAIT_M - $USERavgWAIT_M_int);
+	$USERavgWAIT_S = ($USERavgWAIT_S * 60);
+	$USERavgWAIT_S = round($USERavgWAIT_S, 0);
+	if ($USERavgWAIT_S < 10) {$USERavgWAIT_S = "0$USERavgWAIT_S";}
+	$USERavgWAIT_MS = "$USERavgWAIT_M_int:$USERavgWAIT_S";
+	$pfUSERavgWAIT_MS =		sprintf("%6s", $USERavgWAIT_MS);
+	
+	$USERtotDISPO_M = ($Sdispo_sec / 60);
+	$USERtotDISPO_M = round($USERtotDISPO_M, 2);
+	$USERtotDISPO_M_int = intval("$USERtotDISPO_M");
+	$USERtotDISPO_S = ($USERtotDISPO_M - $USERtotDISPO_M_int);
+	$USERtotDISPO_S = ($USERtotDISPO_S * 60);
+	$USERtotDISPO_S = round($USERtotDISPO_S, 0);
+	if ($USERtotDISPO_S < 10) {$USERtotDISPO_S = "0$USERtotDISPO_S";}
+	$USERtotDISPO_MS = "$USERtotDISPO_M_int:$USERtotDISPO_S";
+	$pfUSERtotDISPO_MS =		sprintf("%6s", $USERtotDISPO_MS);
+
+	$USERavgDISPO_M = ($Sdispo_avg / 60);
+	$USERavgDISPO_M = round($USERavgDISPO_M, 2);
+	$USERavgDISPO_M_int = intval("$USERavgDISPO_M");
+	$USERavgDISPO_S = ($USERavgDISPO_M - $USERavgDISPO_M_int);
+	$USERavgDISPO_S = ($USERavgDISPO_S * 60);
+	$USERavgDISPO_S = round($USERavgDISPO_S, 0);
+	if ($USERavgDISPO_S < 10) {$USERavgDISPO_S = "0$USERavgDISPO_S";}
+	$USERavgDISPO_MS = "$USERavgDISPO_M_int:$USERavgDISPO_S";
+	$pfUSERavgDISPO_MS =		sprintf("%6s", $USERavgDISPO_MS);
+
+	echo "| $Sfull_name | $Suser | $Scalls | $pfUSERtime_MS | $pfUSERtotPAUSE_MS | $pfUSERavgPAUSE_MS | $pfUSERtotWAIT_MS | $pfUSERavgWAIT_MS | $pfUSERtotTALK_MS | $pfUSERavgTALK_MS | $pfUSERtotDISPO_MS | $pfUSERavgDISPO_MS |$SstatusesHTML\n";
+	$m++;
+	}
+### END loop through each user ###
+
+
+###### LAST LINE FORMATTING ##########
+### BEGIN loop through each status ###
+$SUMstatusesHTML='';
+$n=0;
+while ($n < $j)
+	{
+	$Scalls=0;
+	$Sstatus=$statusesARY[$n];
+	$SUMstatusTXT='';
+	### BEGIN loop through each stat line ###
+	$i=0; $status_found=0;
+	while ($i < $rows_to_print)
+		{
+		if ($Sstatus=="$status[$i]")
+			{
+			$Scalls =		($Scalls + $calls[$i]);
+			$status_found++;
+			}
+		$i++;
+		}
+	### END loop through each stat line ###
+	if ($status_found < 1)
+		{
+		$SUMstatusesHTML .= "        0 |";
+		}
+	else
+		{
+		$SUMstatusTXT = sprintf("%8s", $Scalls);
+		$SUMstatusesHTML .= " $SUMstatusTXT |";
+		}
+	$n++;
+	}
+### END loop through each status ###
+
+
+	$TOTcalls =	sprintf("%7s", $TOTcalls);
+	$TOT_AGENTS = sprintf("%-4s", $m);
+
+	$TOTtime_M = ($TOTtime / 60);
+	$TOTtime_M = round($TOTtime_M, 2);
+	$TOTtime_M_int = intval("$TOTtime_M");
+	$TOTtime_S = ($TOTtime_M - $TOTtime_M_int);
+	$TOTtime_S = ($TOTtime_S * 60);
+	$TOTtime_S = round($TOTtime_S, 0);
+	if ($TOTtime_S < 10) {$TOTtime_S = "0$TOTtime_S";}
+	$TOTtime_MS = "$TOTtime_M_int:$TOTtime_S";
+	$TOTtime_MS =		sprintf("%8s", $TOTtime_MS);
+		while(strlen($TOTtime_MS)>8) {$TOTtime_MS = substr("$TOTtime_MS", 0, -1);}
+
+	$TOTtotTALK_M = ($TOTtotTALK / 60);
+	$TOTtotTALK_M = round($TOTtotTALK_M, 2);
+	$TOTtotTALK_M_int = intval("$TOTtotTALK_M");
+	$TOTtotTALK_S = ($TOTtotTALK_M - $TOTtotTALK_M_int);
+	$TOTtotTALK_S = ($TOTtotTALK_S * 60);
+	$TOTtotTALK_S = round($TOTtotTALK_S, 0);
+	if ($TOTtotTALK_S < 10) {$TOTtotTALK_S = "0$TOTtotTALK_S";}
+	$TOTtotTALK_MS = "$TOTtotTALK_M_int:$TOTtotTALK_S";
+	$TOTtotTALK_MS =		sprintf("%8s", $TOTtotTALK_MS);
+		while(strlen($TOTtotTALK_MS)>8) {$TOTtotTALK_MS = substr("$TOTtotTALK_MS", 0, -1);}
+
+	$TOTtotDISPO_M = ($TOTtotDISPO / 60);
+	$TOTtotDISPO_M = round($TOTtotDISPO_M, 2);
+	$TOTtotDISPO_M_int = intval("$TOTtotDISPO_M");
+	$TOTtotDISPO_S = ($TOTtotDISPO_M - $TOTtotDISPO_M_int);
+	$TOTtotDISPO_S = ($TOTtotDISPO_S * 60);
+	$TOTtotDISPO_S = round($TOTtotDISPO_S, 0);
+	if ($TOTtotDISPO_S < 10) {$TOTtotDISPO_S = "0$TOTtotDISPO_S";}
+	$TOTtotDISPO_MS = "$TOTtotDISPO_M_int:$TOTtotDISPO_S";
+	$TOTtotDISPO_MS =		sprintf("%8s", $TOTtotDISPO_MS);
+		while(strlen($TOTtotDISPO_MS)>8) {$TOTtotDISPO_MS = substr("$TOTtotDISPO_MS", 0, -1);}
+
+	$TOTtotPAUSE_M = ($TOTtotPAUSE / 60);
+	$TOTtotPAUSE_M = round($TOTtotPAUSE_M, 2);
+	$TOTtotPAUSE_M_int = intval("$TOTtotPAUSE_M");
+	$TOTtotPAUSE_S = ($TOTtotPAUSE_M - $TOTtotPAUSE_M_int);
+	$TOTtotPAUSE_S = ($TOTtotPAUSE_S * 60);
+	$TOTtotPAUSE_S = round($TOTtotPAUSE_S, 0);
+	if ($TOTtotPAUSE_S < 10) {$TOTtotPAUSE_S = "0$TOTtotPAUSE_S";}
+	$TOTtotPAUSE_MS = "$TOTtotPAUSE_M_int:$TOTtotPAUSE_S";
+	$TOTtotPAUSE_MS =		sprintf("%8s", $TOTtotPAUSE_MS);
+		while(strlen($TOTtotPAUSE_MS)>8) {$TOTtotPAUSE_MS = substr("$TOTtotPAUSE_MS", 0, -1);}
+
+	$TOTtotWAIT_M = ($TOTtotWAIT / 60);
+	$TOTtotWAIT_M = round($TOTtotWAIT_M, 2);
+	$TOTtotWAIT_M_int = intval("$TOTtotWAIT_M");
+	$TOTtotWAIT_S = ($TOTtotWAIT_M - $TOTtotWAIT_M_int);
+	$TOTtotWAIT_S = ($TOTtotWAIT_S * 60);
+	$TOTtotWAIT_S = round($TOTtotWAIT_S, 0);
+	if ($TOTtotWAIT_S < 10) {$TOTtotWAIT_S = "0$TOTtotWAIT_S";}
+	$TOTtotWAIT_MS = "$TOTtotWAIT_M_int:$TOTtotWAIT_S";
+	$TOTtotWAIT_MS =		sprintf("%8s", $TOTtotWAIT_MS);
+		while(strlen($TOTtotWAIT_MS)>8) {$TOTtotWAIT_MS = substr("$TOTtotWAIT_MS", 0, -1);}
+
+
+	$TOTavgTALK_M = ( ($TOTtotTALK / $TOTcalls) / 60);
+	$TOTavgTALK_M = round($TOTavgTALK_M, 2);
+	$TOTavgTALK_M_int = intval("$TOTavgTALK_M");
+	$TOTavgTALK_S = ($TOTavgTALK_M - $TOTavgTALK_M_int);
+	$TOTavgTALK_S = ($TOTavgTALK_S * 60);
+	$TOTavgTALK_S = round($TOTavgTALK_S, 0);
+	if ($TOTavgTALK_S < 10) {$TOTavgTALK_S = "0$TOTavgTALK_S";}
+	$TOTavgTALK_MS = "$TOTavgTALK_M_int:$TOTavgTALK_S";
+	$TOTavgTALK_MS =		sprintf("%6s", $TOTavgTALK_MS);
+		while(strlen($TOTavgTALK_MS)>6) {$TOTavgTALK_MS = substr("$TOTavgTALK_MS", 0, -1);}
+
+	$TOTavgDISPO_M = ( ($TOTtotDISPO / $TOTcalls) / 60);
+	$TOTavgDISPO_M = round($TOTavgDISPO_M, 2);
+	$TOTavgDISPO_M_int = intval("$TOTavgDISPO_M");
+	$TOTavgDISPO_S = ($TOTavgDISPO_M - $TOTavgDISPO_M_int);
+	$TOTavgDISPO_S = ($TOTavgDISPO_S * 60);
+	$TOTavgDISPO_S = round($TOTavgDISPO_S, 0);
+	if ($TOTavgDISPO_S < 10) {$TOTavgDISPO_S = "0$TOTavgDISPO_S";}
+	$TOTavgDISPO_MS = "$TOTavgDISPO_M_int:$TOTavgDISPO_S";
+	$TOTavgDISPO_MS =		sprintf("%6s", $TOTavgDISPO_MS);
+		while(strlen($TOTavgDISPO_MS)>6) {$TOTavgDISPO_MS = substr("$TOTavgDISPO_MS", 0, -1);}
+
+	$TOTavgPAUSE_M = ( ($TOTtotPAUSE / $TOTcalls) / 60);
+	$TOTavgPAUSE_M = round($TOTavgPAUSE_M, 2);
+	$TOTavgPAUSE_M_int = intval("$TOTavgPAUSE_M");
+	$TOTavgPAUSE_S = ($TOTavgPAUSE_M - $TOTavgPAUSE_M_int);
+	$TOTavgPAUSE_S = ($TOTavgPAUSE_S * 60);
+	$TOTavgPAUSE_S = round($TOTavgPAUSE_S, 0);
+	if ($TOTavgPAUSE_S < 10) {$TOTavgPAUSE_S = "0$TOTavgPAUSE_S";}
+	$TOTavgPAUSE_MS = "$TOTavgPAUSE_M_int:$TOTavgPAUSE_S";
+	$TOTavgPAUSE_MS =		sprintf("%6s", $TOTavgPAUSE_MS);
+		while(strlen($TOTavgPAUSE_MS)>6) {$TOTavgPAUSE_MS = substr("$TOTavgPAUSE_MS", 0, -1);}
+
+	$TOTavgWAIT_M = ( ($TOTtotWAIT / $TOTcalls) / 60);
+	$TOTavgWAIT_M = round($TOTavgWAIT_M, 2);
+	$TOTavgWAIT_M_int = intval("$TOTavgWAIT_M");
+	$TOTavgWAIT_S = ($TOTavgWAIT_M - $TOTavgWAIT_M_int);
+	$TOTavgWAIT_S = ($TOTavgWAIT_S * 60);
+	$TOTavgWAIT_S = round($TOTavgWAIT_S, 0);
+	if ($TOTavgWAIT_S < 10) {$TOTavgWAIT_S = "0$TOTavgWAIT_S";}
+	$TOTavgWAIT_MS = "$TOTavgWAIT_M_int:$TOTavgWAIT_S";
+	$TOTavgWAIT_MS =		sprintf("%6s", $TOTavgWAIT_MS);
+		while(strlen($TOTavgWAIT_MS)>6) {$TOTavgWAIT_MS = substr("$TOTavgWAIT_MS", 0, -1);}
+
+
+echo "+-----------------+----------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
+echo "|  TOTALS        AGENTS:$TOT_AGENTS | $TOTcalls| $TOTtime_MS|$TOTtotPAUSE_MS| $TOTavgPAUSE_MS |$TOTtotWAIT_MS| $TOTavgWAIT_MS |$TOTtotTALK_MS| $TOTavgTALK_MS |$TOTtotDISPO_MS| $TOTavgDISPO_MS |$SUMstatusesHTML\n";
+echo "+----------------------------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
+
+echo "\n";
+
+}
+
+
+?>
+
+
\ No newline at end of file
diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_agent_time_sheet.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_agent_time_sheet.php
new file mode 100644
index 00000000..bd562a7b
--- /dev/null
+++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_agent_time_sheet.php
@@ -0,0 +1,286 @@
+    LICENSE: GPLv2
+###
+# CHANGES
+#
+# 60619-1729 - Added variable filtering to eliminate SQL injection attack threat
+#            - Added required user/pass to gain access to this page
+#
+
+require("dbconnect.php");
+
+$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
+$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
+$PHP_SELF=$_SERVER['PHP_SELF'];
+if (isset($_GET["agent"]))				{$agent=$_GET["agent"];}
+	elseif (isset($_POST["agent"]))		{$agent=$_POST["agent"];}
+if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
+	elseif (isset($_POST["query_date"]))		{$query_date=$_POST["query_date"];}
+if (isset($_GET["calls_summary"]))				{$calls_summary=$_GET["calls_summary"];}
+	elseif (isset($_POST["calls_summary"]))		{$calls_summary=$_POST["calls_summary"];}
+if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
+	elseif (isset($_POST["submit"]))		{$submit=$_POST["submit"];}
+if (isset($_GET["SUBMIT"]))				{$SUBMIT=$_GET["SUBMIT"];}
+	elseif (isset($_POST["SUBMIT"]))		{$SUBMIT=$_POST["SUBMIT"];}
+
+$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
+$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
+
+	$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
+	if ($DB) {echo "|$stmt|\n";}
+	$rslt=mysql_query($stmt, $link);
+	$row=mysql_fetch_row($rslt);
+	$auth=$row[0];
+
+  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
+	{
+    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
+    Header("HTTP/1.0 401 Unauthorized");
+    echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
+    exit;
+	}
+
+$NOW_DATE = date("Y-m-d");
+$NOW_TIME = date("Y-m-d H:i:s");
+$STARTtime = date("U");
+if (!isset($query_date)) {$query_date = $NOW_DATE;}
+
+?>
+
+
+
+
+
+\n";
+echo "VICIDIAL: Agent Time Sheet\n";
+echo "VICIDIAL ADMIN: Agent Time Sheet\n";
+echo " - User Stats\n";
+echo " - User Status\n";
+echo " - Modify User\n";
+echo "
\n"; +echo "
  \n"; +echo "Date: \n"; +echo "User ID: \n"; +echo "\n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$agent)
+{
+echo "\n";
+echo "PLEASE SELECT AN AGENT ID AND DATE-TIME ABOVE AND CLICK SUBMIT\n";
+echo " NOTE: stats taken from available agent log data\n";
+}
+
+else
+{
+$query_date_BEGIN = "$query_date 00:00:00";   
+$query_date_END = "$query_date 23:59:59";
+$time_BEGIN = "00:00:00";   
+$time_END = "23:59:59";
+
+$stmt="select full_name from vicidial_users where user='$agent';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$full_name = $row[0];
+
+echo "VICIDIAL: Agent Time Sheet                             $NOW_TIME\n";
+
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- AGENT TIME SHEET: $agent - $full_name -------------\n\n";
+
+if ($calls_summary)
+	{
+	$stmt="select count(*) as calls,sum(talk_sec) as talk,avg(talk_sec),sum(pause_sec),avg(pause_sec),sum(wait_sec),avg(wait_sec),sum(dispo_sec),avg(dispo_sec) from vicidial_agent_log where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' and pause_sec<48800 and wait_sec<48800 and talk_sec<48800 and dispo_sec<48800 limit 1;";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+
+	$TOTAL_TIME = ($row[1] + $row[3] + $row[5] + $row[7]);
+
+		$TOTAL_TIME_H = ($TOTAL_TIME / 3600);
+		$TOTAL_TIME_H = round($TOTAL_TIME_H, 2);
+		$TOTAL_TIME_H_int = intval("$TOTAL_TIME_H");
+		$TOTAL_TIME_M = ($TOTAL_TIME_H - $TOTAL_TIME_H_int);
+		$TOTAL_TIME_M = ($TOTAL_TIME_M * 60);
+		$TOTAL_TIME_M = round($TOTAL_TIME_M, 2);
+		$TOTAL_TIME_M_int = intval("$TOTAL_TIME_M");
+		$TOTAL_TIME_S = ($TOTAL_TIME_M - $TOTAL_TIME_M_int);
+		$TOTAL_TIME_S = ($TOTAL_TIME_S * 60);
+		$TOTAL_TIME_S = round($TOTAL_TIME_S, 0);
+		if ($TOTAL_TIME_S < 10) {$TOTAL_TIME_S = "0$TOTAL_TIME_S";}
+		if ($TOTAL_TIME_M_int < 10) {$TOTAL_TIME_M_int = "0$TOTAL_TIME_M_int";}
+		$TOTAL_TIME_HMS = "$TOTAL_TIME_H_int:$TOTAL_TIME_M_int:$TOTAL_TIME_S";
+		$pfTOTAL_TIME_HMS =		sprintf("%8s", $TOTAL_TIME_HMS);
+
+		$TALK_TIME_H = ($row[1] / 3600);
+		$TALK_TIME_H = round($TALK_TIME_H, 2);
+		$TALK_TIME_H_int = intval("$TALK_TIME_H");
+		$TALK_TIME_M = ($TALK_TIME_H - $TALK_TIME_H_int);
+		$TALK_TIME_M = ($TALK_TIME_M * 60);
+		$TALK_TIME_M = round($TALK_TIME_M, 2);
+		$TALK_TIME_M_int = intval("$TALK_TIME_M");
+		$TALK_TIME_S = ($TALK_TIME_M - $TALK_TIME_M_int);
+		$TALK_TIME_S = ($TALK_TIME_S * 60);
+		$TALK_TIME_S = round($TALK_TIME_S, 0);
+		if ($TALK_TIME_S < 10) {$TALK_TIME_S = "0$TALK_TIME_S";}
+		if ($TALK_TIME_M_int < 10) {$TALK_TIME_M_int = "0$TALK_TIME_M_int";}
+		$TALK_TIME_HMS = "$TALK_TIME_H_int:$TALK_TIME_M_int:$TALK_TIME_S";
+		$pfTALK_TIME_HMS =		sprintf("%8s", $TALK_TIME_HMS);
+
+		$PAUSE_TIME_H = ($row[3] / 3600);
+		$PAUSE_TIME_H = round($PAUSE_TIME_H, 2);
+		$PAUSE_TIME_H_int = intval("$PAUSE_TIME_H");
+		$PAUSE_TIME_M = ($PAUSE_TIME_H - $PAUSE_TIME_H_int);
+		$PAUSE_TIME_M = ($PAUSE_TIME_M * 60);
+		$PAUSE_TIME_M = round($PAUSE_TIME_M, 2);
+		$PAUSE_TIME_M_int = intval("$PAUSE_TIME_M");
+		$PAUSE_TIME_S = ($PAUSE_TIME_M - $PAUSE_TIME_M_int);
+		$PAUSE_TIME_S = ($PAUSE_TIME_S * 60);
+		$PAUSE_TIME_S = round($PAUSE_TIME_S, 0);
+		if ($PAUSE_TIME_S < 10) {$PAUSE_TIME_S = "0$PAUSE_TIME_S";}
+		if ($PAUSE_TIME_M_int < 10) {$PAUSE_TIME_M_int = "0$PAUSE_TIME_M_int";}
+		$PAUSE_TIME_HMS = "$PAUSE_TIME_H_int:$PAUSE_TIME_M_int:$PAUSE_TIME_S";
+		$pfPAUSE_TIME_HMS =		sprintf("%8s", $PAUSE_TIME_HMS);
+
+		$WAIT_TIME_H = ($row[5] / 3600);
+		$WAIT_TIME_H = round($WAIT_TIME_H, 2);
+		$WAIT_TIME_H_int = intval("$WAIT_TIME_H");
+		$WAIT_TIME_M = ($WAIT_TIME_H - $WAIT_TIME_H_int);
+		$WAIT_TIME_M = ($WAIT_TIME_M * 60);
+		$WAIT_TIME_M = round($WAIT_TIME_M, 2);
+		$WAIT_TIME_M_int = intval("$WAIT_TIME_M");
+		$WAIT_TIME_S = ($WAIT_TIME_M - $WAIT_TIME_M_int);
+		$WAIT_TIME_S = ($WAIT_TIME_S * 60);
+		$WAIT_TIME_S = round($WAIT_TIME_S, 0);
+		if ($WAIT_TIME_S < 10) {$WAIT_TIME_S = "0$WAIT_TIME_S";}
+		if ($WAIT_TIME_M_int < 10) {$WAIT_TIME_M_int = "0$WAIT_TIME_M_int";}
+		$WAIT_TIME_HMS = "$WAIT_TIME_H_int:$WAIT_TIME_M_int:$WAIT_TIME_S";
+		$pfWAIT_TIME_HMS =		sprintf("%8s", $WAIT_TIME_HMS);
+
+		$WRAPUP_TIME_H = ($row[7] / 3600);
+		$WRAPUP_TIME_H = round($WRAPUP_TIME_H, 2);
+		$WRAPUP_TIME_H_int = intval("$WRAPUP_TIME_H");
+		$WRAPUP_TIME_M = ($WRAPUP_TIME_H - $WRAPUP_TIME_H_int);
+		$WRAPUP_TIME_M = ($WRAPUP_TIME_M * 60);
+		$WRAPUP_TIME_M = round($WRAPUP_TIME_M, 2);
+		$WRAPUP_TIME_M_int = intval("$WRAPUP_TIME_M");
+		$WRAPUP_TIME_S = ($WRAPUP_TIME_M - $WRAPUP_TIME_M_int);
+		$WRAPUP_TIME_S = ($WRAPUP_TIME_S * 60);
+		$WRAPUP_TIME_S = round($WRAPUP_TIME_S, 0);
+		if ($WRAPUP_TIME_S < 10) {$WRAPUP_TIME_S = "0$WRAPUP_TIME_S";}
+		if ($WRAPUP_TIME_M_int < 10) {$WRAPUP_TIME_M_int = "0$WRAPUP_TIME_M_int";}
+		$WRAPUP_TIME_HMS = "$WRAPUP_TIME_H_int:$WRAPUP_TIME_M_int:$WRAPUP_TIME_S";
+		$pfWRAPUP_TIME_HMS =		sprintf("%8s", $WRAPUP_TIME_HMS);
+
+		$TALK_AVG_M = ($row[2] / 60);
+		$TALK_AVG_M = round($TALK_AVG_M, 2);
+		$TALK_AVG_M_int = intval("$TALK_AVG_M");
+		$TALK_AVG_S = ($TALK_AVG_M - $TALK_AVG_M_int);
+		$TALK_AVG_S = ($TALK_AVG_S * 60);
+		$TALK_AVG_S = round($TALK_AVG_S, 0);
+		if ($TALK_AVG_S < 10) {$TALK_AVG_S = "0$TALK_AVG_S";}
+		$TALK_AVG_MS = "$TALK_AVG_M_int:$TALK_AVG_S";
+		$pfTALK_AVG_MS =		sprintf("%6s", $TALK_AVG_MS);
+
+		$PAUSE_AVG_M = ($row[4] / 60);
+		$PAUSE_AVG_M = round($PAUSE_AVG_M, 2);
+		$PAUSE_AVG_M_int = intval("$PAUSE_AVG_M");
+		$PAUSE_AVG_S = ($PAUSE_AVG_M - $PAUSE_AVG_M_int);
+		$PAUSE_AVG_S = ($PAUSE_AVG_S * 60);
+		$PAUSE_AVG_S = round($PAUSE_AVG_S, 0);
+		if ($PAUSE_AVG_S < 10) {$PAUSE_AVG_S = "0$PAUSE_AVG_S";}
+		$PAUSE_AVG_MS = "$PAUSE_AVG_M_int:$PAUSE_AVG_S";
+		$pfPAUSE_AVG_MS =		sprintf("%6s", $PAUSE_AVG_MS);
+
+		$WAIT_AVG_M = ($row[6] / 60);
+		$WAIT_AVG_M = round($WAIT_AVG_M, 2);
+		$WAIT_AVG_M_int = intval("$WAIT_AVG_M");
+		$WAIT_AVG_S = ($WAIT_AVG_M - $WAIT_AVG_M_int);
+		$WAIT_AVG_S = ($WAIT_AVG_S * 60);
+		$WAIT_AVG_S = round($WAIT_AVG_S, 0);
+		if ($WAIT_AVG_S < 10) {$WAIT_AVG_S = "0$WAIT_AVG_S";}
+		$WAIT_AVG_MS = "$WAIT_AVG_M_int:$WAIT_AVG_S";
+		$pfWAIT_AVG_MS =		sprintf("%6s", $WAIT_AVG_MS);
+
+		$WRAPUP_AVG_M = ($row[8] / 60);
+		$WRAPUP_AVG_M = round($WRAPUP_AVG_M, 2);
+		$WRAPUP_AVG_M_int = intval("$WRAPUP_AVG_M");
+		$WRAPUP_AVG_S = ($WRAPUP_AVG_M - $WRAPUP_AVG_M_int);
+		$WRAPUP_AVG_S = ($WRAPUP_AVG_S * 60);
+		$WRAPUP_AVG_S = round($WRAPUP_AVG_S, 0);
+		if ($WRAPUP_AVG_S < 10) {$WRAPUP_AVG_S = "0$WRAPUP_AVG_S";}
+		$WRAPUP_AVG_MS = "$WRAPUP_AVG_M_int:$WRAPUP_AVG_S";
+		$pfWRAPUP_AVG_MS =		sprintf("%6s", $WRAPUP_AVG_MS);
+
+	echo "TOTAL CALLS TAKEN: $row[0]\n";
+	echo "TALK TIME:               $pfTALK_TIME_HMS     AVERAGE: $pfTALK_AVG_MS\n";
+	echo "PAUSE TIME:              $pfPAUSE_TIME_HMS     AVERAGE: $pfPAUSE_AVG_MS\n";
+	echo "WAIT TIME:               $pfWAIT_TIME_HMS     AVERAGE: $pfWAIT_AVG_MS\n";
+	echo "WRAPUP TIME:             $pfWRAPUP_TIME_HMS     AVERAGE: $pfWRAPUP_AVG_MS\n";
+	echo "----------------------------------------------------------------\n";
+	echo "TOTAL ACTIVE AGENT TIME: $pfTOTAL_TIME_HMS\n";
+
+	echo "\n";
+	}
+else
+	{
+	echo "Call Activity Summary\n\n";
+
+	}
+
+$stmt="select event_time,UNIX_TIMESTAMP(event_time) from vicidial_agent_log where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' order by event_time limit 1;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+echo "FIRST LOGIN:          $row[0]\n";
+$start = $row[1];
+
+$stmt="select event_time,UNIX_TIMESTAMP(event_time) from vicidial_agent_log where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' order by event_time desc limit 1;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+echo "LAST LOG ACTIVITY:    $row[0]\n";
+$end = $row[1];
+
+$login_time = ($end - $start);
+	$LOGIN_TIME_H = ($login_time / 3600);
+	$LOGIN_TIME_H = round($LOGIN_TIME_H, 2);
+	$LOGIN_TIME_H_int = intval("$LOGIN_TIME_H");
+	$LOGIN_TIME_M = ($LOGIN_TIME_H - $LOGIN_TIME_H_int);
+	$LOGIN_TIME_M = ($LOGIN_TIME_M * 60);
+	$LOGIN_TIME_M = round($LOGIN_TIME_M, 2);
+	$LOGIN_TIME_M_int = intval("$LOGIN_TIME_M");
+	$LOGIN_TIME_S = ($LOGIN_TIME_M - $LOGIN_TIME_M_int);
+	$LOGIN_TIME_S = ($LOGIN_TIME_S * 60);
+	$LOGIN_TIME_S = round($LOGIN_TIME_S, 0);
+	if ($LOGIN_TIME_S < 10) {$LOGIN_TIME_S = "0$LOGIN_TIME_S";}
+	if ($LOGIN_TIME_M_int < 10) {$LOGIN_TIME_M_int = "0$LOGIN_TIME_M_int";}
+	$LOGIN_TIME_HMS = "$LOGIN_TIME_H_int:$LOGIN_TIME_M_int:$LOGIN_TIME_S";
+	$pfLOGIN_TIME_HMS =		sprintf("%8s", $LOGIN_TIME_HMS);
+
+echo "-----------------------------------------\n";
+echo "TOTAL LOGGED-IN TIME:    $pfLOGIN_TIME_HMS\n";
+
+}
+
+
+
+?>
+
+
\ No newline at end of file
diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_agent_time_sheet_archive.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_agent_time_sheet_archive.php
new file mode 100644
index 00000000..fb71d1d6
--- /dev/null
+++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_agent_time_sheet_archive.php
@@ -0,0 +1,286 @@
+    LICENSE: GPLv2
+###
+# CHANGES
+#
+# 60619-1721 - Added variable filtering to eliminate SQL injection attack threat
+#            - Added required user/pass to gain access to this page
+#
+
+require("dbconnect.php");
+
+$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
+$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
+$PHP_SELF=$_SERVER['PHP_SELF'];
+if (isset($_GET["agent"]))				{$agent=$_GET["agent"];}
+	elseif (isset($_POST["agent"]))		{$agent=$_POST["agent"];}
+if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
+	elseif (isset($_POST["query_date"]))		{$query_date=$_POST["query_date"];}
+if (isset($_GET["calls_summary"]))				{$calls_summary=$_GET["calls_summary"];}
+	elseif (isset($_POST["calls_summary"]))		{$calls_summary=$_POST["calls_summary"];}
+if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
+	elseif (isset($_POST["submit"]))		{$submit=$_POST["submit"];}
+if (isset($_GET["SUBMIT"]))				{$SUBMIT=$_GET["SUBMIT"];}
+	elseif (isset($_POST["SUBMIT"]))		{$SUBMIT=$_POST["SUBMIT"];}
+
+$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
+$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
+
+	$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
+	if ($DB) {echo "|$stmt|\n";}
+	$rslt=mysql_query($stmt, $link);
+	$row=mysql_fetch_row($rslt);
+	$auth=$row[0];
+
+  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
+	{
+    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
+    Header("HTTP/1.0 401 Unauthorized");
+    echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
+    exit;
+	}
+
+$NOW_DATE = date("Y-m-d");
+$NOW_TIME = date("Y-m-d H:i:s");
+$STARTtime = date("U");
+if (!isset($query_date)) {$query_date = $NOW_DATE;}
+
+?>
+
+
+
+
+
+\n";
+echo "VICIDIAL: Agent Time Sheet\n";
+echo "VICIDIAL ADMIN: Agent Time Sheet\n";
+echo " - User Stats\n";
+echo " - User Status\n";
+echo " - Modify User\n";
+echo "
\n"; +echo "
  \n"; +echo "Date: \n"; +echo "User ID: \n"; +echo "\n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$agent)
+{
+echo "\n";
+echo "PLEASE SELECT AN AGENT ID AND DATE-TIME ABOVE AND CLICK SUBMIT\n";
+echo " NOTE: stats taken from available agent log data\n";
+}
+
+else
+{
+$query_date_BEGIN = "$query_date 00:00:00";   
+$query_date_END = "$query_date 23:59:59";
+$time_BEGIN = "00:00:00";   
+$time_END = "23:59:59";
+
+$stmt="select full_name from vicidial_users where user='$agent';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$full_name = $row[0];
+
+echo "VICIDIAL: Agent Time Sheet                             $NOW_TIME\n";
+
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- AGENT TIME SHEET: $agent - $full_name -------------\n\n";
+
+if ($calls_summary)
+	{
+	$stmt="select count(*) as calls,sum(talk_sec) as talk,avg(talk_sec),sum(pause_sec),avg(pause_sec),sum(wait_sec),avg(wait_sec),sum(dispo_sec),avg(dispo_sec) from vicidial_agent_log_archive where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' and pause_sec<48800 and wait_sec<48800 and talk_sec<48800 and dispo_sec<48800 limit 1;";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+
+	$TOTAL_TIME = ($row[1] + $row[3] + $row[5] + $row[7]);
+
+		$TOTAL_TIME_H = ($TOTAL_TIME / 3600);
+		$TOTAL_TIME_H = round($TOTAL_TIME_H, 2);
+		$TOTAL_TIME_H_int = intval("$TOTAL_TIME_H");
+		$TOTAL_TIME_M = ($TOTAL_TIME_H - $TOTAL_TIME_H_int);
+		$TOTAL_TIME_M = ($TOTAL_TIME_M * 60);
+		$TOTAL_TIME_M = round($TOTAL_TIME_M, 2);
+		$TOTAL_TIME_M_int = intval("$TOTAL_TIME_M");
+		$TOTAL_TIME_S = ($TOTAL_TIME_M - $TOTAL_TIME_M_int);
+		$TOTAL_TIME_S = ($TOTAL_TIME_S * 60);
+		$TOTAL_TIME_S = round($TOTAL_TIME_S, 0);
+		if ($TOTAL_TIME_S < 10) {$TOTAL_TIME_S = "0$TOTAL_TIME_S";}
+		if ($TOTAL_TIME_M_int < 10) {$TOTAL_TIME_M_int = "0$TOTAL_TIME_M_int";}
+		$TOTAL_TIME_HMS = "$TOTAL_TIME_H_int:$TOTAL_TIME_M_int:$TOTAL_TIME_S";
+		$pfTOTAL_TIME_HMS =		sprintf("%8s", $TOTAL_TIME_HMS);
+
+		$TALK_TIME_H = ($row[1] / 3600);
+		$TALK_TIME_H = round($TALK_TIME_H, 2);
+		$TALK_TIME_H_int = intval("$TALK_TIME_H");
+		$TALK_TIME_M = ($TALK_TIME_H - $TALK_TIME_H_int);
+		$TALK_TIME_M = ($TALK_TIME_M * 60);
+		$TALK_TIME_M = round($TALK_TIME_M, 2);
+		$TALK_TIME_M_int = intval("$TALK_TIME_M");
+		$TALK_TIME_S = ($TALK_TIME_M - $TALK_TIME_M_int);
+		$TALK_TIME_S = ($TALK_TIME_S * 60);
+		$TALK_TIME_S = round($TALK_TIME_S, 0);
+		if ($TALK_TIME_S < 10) {$TALK_TIME_S = "0$TALK_TIME_S";}
+		if ($TALK_TIME_M_int < 10) {$TALK_TIME_M_int = "0$TALK_TIME_M_int";}
+		$TALK_TIME_HMS = "$TALK_TIME_H_int:$TALK_TIME_M_int:$TALK_TIME_S";
+		$pfTALK_TIME_HMS =		sprintf("%8s", $TALK_TIME_HMS);
+
+		$PAUSE_TIME_H = ($row[3] / 3600);
+		$PAUSE_TIME_H = round($PAUSE_TIME_H, 2);
+		$PAUSE_TIME_H_int = intval("$PAUSE_TIME_H");
+		$PAUSE_TIME_M = ($PAUSE_TIME_H - $PAUSE_TIME_H_int);
+		$PAUSE_TIME_M = ($PAUSE_TIME_M * 60);
+		$PAUSE_TIME_M = round($PAUSE_TIME_M, 2);
+		$PAUSE_TIME_M_int = intval("$PAUSE_TIME_M");
+		$PAUSE_TIME_S = ($PAUSE_TIME_M - $PAUSE_TIME_M_int);
+		$PAUSE_TIME_S = ($PAUSE_TIME_S * 60);
+		$PAUSE_TIME_S = round($PAUSE_TIME_S, 0);
+		if ($PAUSE_TIME_S < 10) {$PAUSE_TIME_S = "0$PAUSE_TIME_S";}
+		if ($PAUSE_TIME_M_int < 10) {$PAUSE_TIME_M_int = "0$PAUSE_TIME_M_int";}
+		$PAUSE_TIME_HMS = "$PAUSE_TIME_H_int:$PAUSE_TIME_M_int:$PAUSE_TIME_S";
+		$pfPAUSE_TIME_HMS =		sprintf("%8s", $PAUSE_TIME_HMS);
+
+		$WAIT_TIME_H = ($row[5] / 3600);
+		$WAIT_TIME_H = round($WAIT_TIME_H, 2);
+		$WAIT_TIME_H_int = intval("$WAIT_TIME_H");
+		$WAIT_TIME_M = ($WAIT_TIME_H - $WAIT_TIME_H_int);
+		$WAIT_TIME_M = ($WAIT_TIME_M * 60);
+		$WAIT_TIME_M = round($WAIT_TIME_M, 2);
+		$WAIT_TIME_M_int = intval("$WAIT_TIME_M");
+		$WAIT_TIME_S = ($WAIT_TIME_M - $WAIT_TIME_M_int);
+		$WAIT_TIME_S = ($WAIT_TIME_S * 60);
+		$WAIT_TIME_S = round($WAIT_TIME_S, 0);
+		if ($WAIT_TIME_S < 10) {$WAIT_TIME_S = "0$WAIT_TIME_S";}
+		if ($WAIT_TIME_M_int < 10) {$WAIT_TIME_M_int = "0$WAIT_TIME_M_int";}
+		$WAIT_TIME_HMS = "$WAIT_TIME_H_int:$WAIT_TIME_M_int:$WAIT_TIME_S";
+		$pfWAIT_TIME_HMS =		sprintf("%8s", $WAIT_TIME_HMS);
+
+		$WRAPUP_TIME_H = ($row[7] / 3600);
+		$WRAPUP_TIME_H = round($WRAPUP_TIME_H, 2);
+		$WRAPUP_TIME_H_int = intval("$WRAPUP_TIME_H");
+		$WRAPUP_TIME_M = ($WRAPUP_TIME_H - $WRAPUP_TIME_H_int);
+		$WRAPUP_TIME_M = ($WRAPUP_TIME_M * 60);
+		$WRAPUP_TIME_M = round($WRAPUP_TIME_M, 2);
+		$WRAPUP_TIME_M_int = intval("$WRAPUP_TIME_M");
+		$WRAPUP_TIME_S = ($WRAPUP_TIME_M - $WRAPUP_TIME_M_int);
+		$WRAPUP_TIME_S = ($WRAPUP_TIME_S * 60);
+		$WRAPUP_TIME_S = round($WRAPUP_TIME_S, 0);
+		if ($WRAPUP_TIME_S < 10) {$WRAPUP_TIME_S = "0$WRAPUP_TIME_S";}
+		if ($WRAPUP_TIME_M_int < 10) {$WRAPUP_TIME_M_int = "0$WRAPUP_TIME_M_int";}
+		$WRAPUP_TIME_HMS = "$WRAPUP_TIME_H_int:$WRAPUP_TIME_M_int:$WRAPUP_TIME_S";
+		$pfWRAPUP_TIME_HMS =		sprintf("%8s", $WRAPUP_TIME_HMS);
+
+		$TALK_AVG_M = ($row[2] / 60);
+		$TALK_AVG_M = round($TALK_AVG_M, 2);
+		$TALK_AVG_M_int = intval("$TALK_AVG_M");
+		$TALK_AVG_S = ($TALK_AVG_M - $TALK_AVG_M_int);
+		$TALK_AVG_S = ($TALK_AVG_S * 60);
+		$TALK_AVG_S = round($TALK_AVG_S, 0);
+		if ($TALK_AVG_S < 10) {$TALK_AVG_S = "0$TALK_AVG_S";}
+		$TALK_AVG_MS = "$TALK_AVG_M_int:$TALK_AVG_S";
+		$pfTALK_AVG_MS =		sprintf("%6s", $TALK_AVG_MS);
+
+		$PAUSE_AVG_M = ($row[4] / 60);
+		$PAUSE_AVG_M = round($PAUSE_AVG_M, 2);
+		$PAUSE_AVG_M_int = intval("$PAUSE_AVG_M");
+		$PAUSE_AVG_S = ($PAUSE_AVG_M - $PAUSE_AVG_M_int);
+		$PAUSE_AVG_S = ($PAUSE_AVG_S * 60);
+		$PAUSE_AVG_S = round($PAUSE_AVG_S, 0);
+		if ($PAUSE_AVG_S < 10) {$PAUSE_AVG_S = "0$PAUSE_AVG_S";}
+		$PAUSE_AVG_MS = "$PAUSE_AVG_M_int:$PAUSE_AVG_S";
+		$pfPAUSE_AVG_MS =		sprintf("%6s", $PAUSE_AVG_MS);
+
+		$WAIT_AVG_M = ($row[6] / 60);
+		$WAIT_AVG_M = round($WAIT_AVG_M, 2);
+		$WAIT_AVG_M_int = intval("$WAIT_AVG_M");
+		$WAIT_AVG_S = ($WAIT_AVG_M - $WAIT_AVG_M_int);
+		$WAIT_AVG_S = ($WAIT_AVG_S * 60);
+		$WAIT_AVG_S = round($WAIT_AVG_S, 0);
+		if ($WAIT_AVG_S < 10) {$WAIT_AVG_S = "0$WAIT_AVG_S";}
+		$WAIT_AVG_MS = "$WAIT_AVG_M_int:$WAIT_AVG_S";
+		$pfWAIT_AVG_MS =		sprintf("%6s", $WAIT_AVG_MS);
+
+		$WRAPUP_AVG_M = ($row[8] / 60);
+		$WRAPUP_AVG_M = round($WRAPUP_AVG_M, 2);
+		$WRAPUP_AVG_M_int = intval("$WRAPUP_AVG_M");
+		$WRAPUP_AVG_S = ($WRAPUP_AVG_M - $WRAPUP_AVG_M_int);
+		$WRAPUP_AVG_S = ($WRAPUP_AVG_S * 60);
+		$WRAPUP_AVG_S = round($WRAPUP_AVG_S, 0);
+		if ($WRAPUP_AVG_S < 10) {$WRAPUP_AVG_S = "0$WRAPUP_AVG_S";}
+		$WRAPUP_AVG_MS = "$WRAPUP_AVG_M_int:$WRAPUP_AVG_S";
+		$pfWRAPUP_AVG_MS =		sprintf("%6s", $WRAPUP_AVG_MS);
+
+	echo "TOTAL CALLS TAKEN: $row[0]\n";
+	echo "TALK TIME:               $pfTALK_TIME_HMS     AVERAGE: $pfTALK_AVG_MS\n";
+	echo "PAUSE TIME:              $pfPAUSE_TIME_HMS     AVERAGE: $pfPAUSE_AVG_MS\n";
+	echo "WAIT TIME:               $pfWAIT_TIME_HMS     AVERAGE: $pfWAIT_AVG_MS\n";
+	echo "WRAPUP TIME:             $pfWRAPUP_TIME_HMS     AVERAGE: $pfWRAPUP_AVG_MS\n";
+	echo "----------------------------------------------------------------\n";
+	echo "TOTAL ACTIVE AGENT TIME: $pfTOTAL_TIME_HMS\n";
+
+	echo "\n";
+	}
+else
+	{
+	echo "Call Activity Summary\n\n";
+
+	}
+
+$stmt="select event_time,UNIX_TIMESTAMP(event_time) from vicidial_agent_log_archive where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' order by event_time limit 1;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+echo "FIRST LOGIN:          $row[0]\n";
+$start = $row[1];
+
+$stmt="select event_time,UNIX_TIMESTAMP(event_time) from vicidial_agent_log_archive where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' order by event_time desc limit 1;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+echo "LAST LOG ACTIVITY:    $row[0]\n";
+$end = $row[1];
+
+$login_time = ($end - $start);
+	$LOGIN_TIME_H = ($login_time / 3600);
+	$LOGIN_TIME_H = round($LOGIN_TIME_H, 2);
+	$LOGIN_TIME_H_int = intval("$LOGIN_TIME_H");
+	$LOGIN_TIME_M = ($LOGIN_TIME_H - $LOGIN_TIME_H_int);
+	$LOGIN_TIME_M = ($LOGIN_TIME_M * 60);
+	$LOGIN_TIME_M = round($LOGIN_TIME_M, 2);
+	$LOGIN_TIME_M_int = intval("$LOGIN_TIME_M");
+	$LOGIN_TIME_S = ($LOGIN_TIME_M - $LOGIN_TIME_M_int);
+	$LOGIN_TIME_S = ($LOGIN_TIME_S * 60);
+	$LOGIN_TIME_S = round($LOGIN_TIME_S, 0);
+	if ($LOGIN_TIME_S < 10) {$LOGIN_TIME_S = "0$LOGIN_TIME_S";}
+	if ($LOGIN_TIME_M_int < 10) {$LOGIN_TIME_M_int = "0$LOGIN_TIME_M_int";}
+	$LOGIN_TIME_HMS = "$LOGIN_TIME_H_int:$LOGIN_TIME_M_int:$LOGIN_TIME_S";
+	$pfLOGIN_TIME_HMS =		sprintf("%8s", $LOGIN_TIME_HMS);
+
+echo "-----------------------------------------\n";
+echo "TOTAL LOGGED-IN TIME:    $pfLOGIN_TIME_HMS\n";
+
+}
+
+
+
+?>
+
+
\ No newline at end of file
diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_inboundEXTstats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_inboundEXTstats.php
new file mode 100644
index 00000000..5bc24935
--- /dev/null
+++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_inboundEXTstats.php
@@ -0,0 +1,400 @@
+    LICENSE: GPLv2
+#
+# CHANGES
+# 60421-1450 - check GET/POST vars lines with isset to not trigger PHP NOTICES
+# 60620-1322 - Added variable filtering to eliminate SQL injection attack threat
+#            - Added required user/pass to gain access to this page
+#
+
+require("dbconnect.php");
+
+$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
+$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
+$PHP_SELF=$_SERVER['PHP_SELF'];
+if (isset($_GET["group"]))					{$group=$_GET["group"];}
+	elseif (isset($_POST["group"]))			{$group=$_POST["group"];}
+if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
+	elseif (isset($_POST["query_date"]))	{$query_date=$_POST["query_date"];}
+if (isset($_GET["server_ip"]))				{$server_ip=$_GET["server_ip"];}
+	elseif (isset($_POST["server_ip"]))		{$server_ip=$_POST["server_ip"];}
+if (isset($_GET["submit"]))					{$submit=$_GET["submit"];}
+	elseif (isset($_POST["submit"]))		{$submit=$_POST["submit"];}
+if (isset($_GET["SUBMIT"]))					{$SUBMIT=$_GET["SUBMIT"];}
+	elseif (isset($_POST["SUBMIT"]))		{$SUBMIT=$_POST["SUBMIT"];}
+
+$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
+$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
+
+	$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
+	if ($DB) {echo "|$stmt|\n";}
+	$rslt=mysql_query($stmt, $link);
+	$row=mysql_fetch_row($rslt);
+	$auth=$row[0];
+
+  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
+	{
+    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
+    Header("HTTP/1.0 401 Unauthorized");
+    echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
+    exit;
+	}
+
+
+$NOW_DATE = date("Y-m-d");
+$NOW_TIME = date("Y-m-d H:i:s");
+$STARTtime = date("U");
+if (!isset($query_date)) {$query_date = $NOW_DATE;}
+if (!isset($server_ip)) {$server_ip = '10.10.11.20';}
+
+$stmt="select extension,full_number,inbound_name from inbound_numbers where server_ip='" . mysql_real_escape_string($server_ip) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$inbound_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $inbound_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$inbound[$i] =$row[0];
+	$fullnum[$i] =$row[1];
+	$inbname[$i] =$row[2];
+	$i++;
+	}
+?>
+
+
+
+
+
+\n";
+#echo"\n";
+echo "ASTERISK: Inbound Calls Stats\n";
+echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "PLEASE SELECT A NUMBER AND DATE ABOVE AND CLICK SUBMIT\n";
+}
+
+else
+{
+
+
+echo "ASTERISK: Inbound Calls Stats                      $NOW_TIME\n";
+
+echo "\n";
+echo "---------- TOTALS\n";
+
+$extenSQL = "and extension='" . mysql_real_escape_string($group) . "'";
+if (eregi("\*",$group))
+	{$extenSQL = "and extension LIKE \"%$group\"";}
+$stmt="select count(*),sum(length_in_sec) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+$average_hold_seconds = ($row[1] / $row[0]);
+$average_hold_seconds = round($average_hold_seconds, 0);
+$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+
+echo "Total Calls That came into this number:       $TOTALcalls\n";
+echo "Average Call Length(seconds) for all Calls:   $average_hold_seconds\n";
+
+echo "\n";
+echo "---------- DROPS\n";
+
+$stmt="select count(*),sum(length_in_sec) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$DROPcalls =	sprintf("%10s", $row[0]);
+$DROPpercent = (($DROPcalls / $TOTALcalls) * 100);
+$DROPpercent = round($DROPpercent, 0);
+
+if ($row[0])
+	{
+	$average_hold_seconds = ($row[1] / $row[0]);
+	$average_hold_seconds = round($average_hold_seconds, 0);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+else {$DROPpercent=0;   $average_hold_seconds=0;}
+echo "Total DROP Calls:   (less than 10 seconds)    $DROPcalls  $DROPpercent%\n";
+echo "Average Call Length(seconds) for DROP Calls:  $average_hold_seconds\n";
+
+
+##############################
+#########  CALLS STATS
+
+echo "\n";
+echo "---------- CALL LISTINGS\n";
+echo "+----------------------+----------------------+--------+---------------------+\n";
+echo "| CALLERID             | CALLERIDNAME         | LENGTH | DATE TIME           |\n";
+echo "+----------------------+----------------------+--------+---------------------+\n";
+
+$stmt="select number_dialed,caller_code,length_in_sec,start_time from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$CID =			sprintf("%-20s", $row[0]);
+	$CIDname =		sprintf("%-20s", $row[1]); while(strlen($full_name)>15) {$full_name = substr("$full_name", 0, -1);}
+	$datetime =		sprintf("%-19s", $row[3]);
+	$USERavgTALK =	$row[2];
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$USERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	echo "| $CID | $CIDname | $USERavgTALK_MS | $datetime |\n";
+
+	$i++;
+	}
+
+echo "+----------------------+----------------------+--------+---------------------+\n";
+
+##############################
+#########  TIME STATS
+
+if ($output == 'FULL')
+	{
+
+	echo "\n";
+	echo "---------- TIME STATS\n";
+
+	echo "\n";
+
+	$hi_hour_count=0;
+	$last_full_record=0;
+	$i=0;
+	$h=0;
+	while ($i <= 96)
+		{
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:00:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:14:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$hour_count[$i] = $row[0];
+		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+		if ($hour_count[$i] > 0) {$last_full_record = $i;}
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:00:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:14:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$drop_count[$i] = $row[0];
+		$i++;
+
+
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:15:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:29:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$hour_count[$i] = $row[0];
+		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+		if ($hour_count[$i] > 0) {$last_full_record = $i;}
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:15:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:29:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$drop_count[$i] = $row[0];
+		$i++;
+
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:30:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:44:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$hour_count[$i] = $row[0];
+		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+		if ($hour_count[$i] > 0) {$last_full_record = $i;}
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:30:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:44:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$drop_count[$i] = $row[0];
+		$i++;
+
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:45:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$hour_count[$i] = $row[0];
+		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+		if ($hour_count[$i] > 0) {$last_full_record = $i;}
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:45:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$drop_count[$i] = $row[0];
+		$i++;
+		$h++;
+		}
+
+	$hour_multiplier = (100 / $hi_hour_count);
+	#$hour_multiplier = round($hour_multiplier, 0);
+
+	echo "\n";
+	echo "GRAPH IN 15 MINUTE INCREMENTS OF TOTAL CALLS\n";
+
+	$k=1;
+	$Mk=0;
+	$call_scale = '0';
+	while ($k <= 102) 
+		{
+		if ($Mk >= 5) 
+			{
+			$Mk=0;
+			$scale_num=($k / $hour_multiplier);
+			$scale_num = round($scale_num, 0);
+			$LENscale_num = (strlen($scale_num));
+			$k = ($k + $LENscale_num);
+			$call_scale .= "$scale_num";
+			}
+		else
+			{
+			$call_scale .= " ";
+			$k++;   $Mk++;
+			}
+		}
+
+
+	echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+	#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | DROPS | TOTAL |\n";
+	echo "| HOUR |$call_scale| DROPS | TOTAL |\n";
+	echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+	$ZZ = '00';
+	$i=0;
+	$h=4;
+	$hour= -1;
+	$no_lines_yet=1;
+
+	while ($i <= 96)
+		{
+		$char_counter=0;
+		$time = '      ';
+		if ($h >= 4) 
+			{
+			$hour++;
+			$h=0;
+			if ($hour < 10) {$hour = "0$hour";}
+			$time = "+$hour$ZZ+";
+			}
+		if ($h == 1) {$time = "   15 ";}
+		if ($h == 2) {$time = "   30 ";}
+		if ($h == 3) {$time = "   45 ";}
+		$Ghour_count = $hour_count[$i];
+		if ($Ghour_count < 1) 
+			{
+			if ( ($no_lines_yet) or ($i > $last_full_record) )
+				{
+				$do_nothing=1;
+				}
+			else
+				{
+				$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+				echo "|$time|";
+				$k=0;   while ($k <= 102) {echo " ";   $k++;}
+				echo "| $hour_count[$i] |\n";
+				}
+			}
+		else
+			{
+			$no_lines_yet=0;
+			$Xhour_count = ($Ghour_count * $hour_multiplier);
+			$Yhour_count = (99 - $Xhour_count);
+
+			$Gdrop_count = $drop_count[$i];
+			if ($Gdrop_count < 1) 
+				{
+				$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+
+				echo "|$time|";
+				$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
+				echo "*X";   $char_counter++;
+				$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+					while ($char_counter <= 101) {echo " ";   $char_counter++;}
+				echo "| 0     | $hour_count[$i] |\n";
+
+				}
+			else
+				{
+				$Xdrop_count = ($Gdrop_count * $hour_multiplier);
+
+			#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
+
+				$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
+
+				$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+				$drop_count[$i] =	sprintf("%-5s", $drop_count[$i]);
+
+				echo "|$time|";
+				$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
+				echo "D";   $char_counter++;
+				$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
+				echo "X";   $char_counter++;
+				$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+					while ($char_counter <= 102) {echo " ";   $char_counter++;}
+				echo "| $drop_count[$i] | $hour_count[$i] |\n";
+				}
+			}
+		
+		
+		$i++;
+		$h++;
+		}
+
+
+	echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+
+	}
+
+
+
+
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_inboundEXTstats_department.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_inboundEXTstats_department.php new file mode 100644 index 00000000..015f6820 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_inboundEXTstats_department.php @@ -0,0 +1,178 @@ + LICENSE: GPLv2 +# +# CHANGES +# 70201-1710 - First Build +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_query_date"])) {$end_query_date=$_GET["end_query_date"];} + elseif (isset($_POST["end_query_date"])) {$end_query_date=$_POST["end_query_date"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_query_date)) {$end_query_date = $NOW_DATE;} +if (!isset($server_ip)) {$server_ip = '10.10.11.20';} + +$stmt="select distinct department from inbound_numbers;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$dept_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $dept_to_print) + { + $row=mysql_fetch_row($rslt); + $dept[$i] =$row[0]; + $i++; + } + +?> + + + + + +\n"; +#echo"\n"; +echo "ASTERISK: Inbound Calls Stats - By Department\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "PLEASE SELECT A DEPARTMENT AND DATE RANGE ABOVE AND CLICK SUBMIT\n";
+}
+
+else
+{
+$extSQL='';
+$stmt="select extension from inbound_numbers where department='$group';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$inbound_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $inbound_to_print)
+	{
+	if (strlen($extSQL)> 1) {$extSQL .= ",";}
+	$row=mysql_fetch_row($rslt);
+	$extensions[$i] =$row[0];
+	$extSQL .= "'$extensions[$i]'";
+	$i++;
+	}
+
+echo "ASTERISK: Inbound Calls Stats For $group   from $query_date to $end_query_date\n";
+
+echo "\n";
+echo "---------- TOTALS\n";
+echo "\n";
+
+echo "+----------------------+------------+------------+\n";
+echo "| NUMBER               | CALLS      | AVG TIME   |\n";
+echo "+----------------------+------------+------------+\n";
+
+$k=0;
+while ($k < $inbound_to_print)
+	{
+	$stmt="select count(*),sum(length_in_sec) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($end_query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' and extension='$extensions[$k]' ;";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+
+	$extensions[$k] = sprintf("%20s", $extensions[$k]);
+	$TOTALcalls =	sprintf("%10s", $row[0]);
+	if ( ($row[0]<1) or ($row[1]<1) )
+		{
+		$average_hold_seconds = "         0";
+		}
+	else
+		{
+		$average_hold_seconds = ($row[1] / $row[0]);
+		$average_hold_seconds = round($average_hold_seconds, 0);
+		$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+		}
+
+	$calls = ($TOTALcalls + $calls);
+	$seconds = ($row[1] + $seconds);
+
+	echo "| $extensions[$k] | $TOTALcalls | $average_hold_seconds |\n";
+	$k++;
+	}
+
+$calls =	sprintf("%10s", $calls);
+$seconds = ($seconds / $calls);
+$seconds = round($seconds, 0);
+$seconds =	sprintf("%5s", $seconds);
+echo "+----------------------+------------+------------+\n";
+echo "| TOTALS               | $calls | AVG: $seconds |\n";
+echo "+----------------------+------------+------------+\n";
+
+
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_parkstats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_parkstats.php new file mode 100644 index 00000000..13552c30 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_parkstats.php @@ -0,0 +1,396 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1717 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="select distinct channel_group from park_log;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Park Stats\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFY | REPORTS \n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "PLEASE SELECT A GROUP AND DATE ABOVE AND CLICK SUBMIT\n";
+}
+
+else
+{
+
+
+echo "VICIDIAL: Park Stats                             $NOW_TIME\n";
+
+echo "\n";
+echo "---------- TOTALS\n";
+
+$stmt="select count(*),sum(parked_sec) from park_log where parked_time >= '$query_date 00:00:01' and parked_time <= '$query_date 23:59:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+$average_hold_seconds = ($row[1] / $row[0]);
+$average_hold_seconds = round($average_hold_seconds, 0);
+$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+
+echo "Total Calls taken in this Group:              $TOTALcalls\n";
+echo "Average Hold Time(seconds) for all Calls:     $average_hold_seconds\n";
+
+echo "\n";
+echo "---------- DROPS\n";
+
+$stmt="select count(*),sum(parked_sec) from park_log where parked_time >= '$query_date 00:00:01' and parked_time <= '$query_date 23:59:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "' and (talked_sec < 5 or talked_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$DROPcalls =	sprintf("%10s", $row[0]);
+$DROPpercent = (($DROPcalls / $TOTALcalls) * 100);
+$DROPpercent = round($DROPpercent, 0);
+
+$average_hold_seconds = ($row[1] / $row[0]);
+$average_hold_seconds = round($average_hold_seconds, 0);
+$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+
+echo "Total Dropped Calls:                          $DROPcalls  $DROPpercent%\n";
+echo "Average Hold Time(seconds) for Dropped Calls: $average_hold_seconds\n";
+
+
+##############################
+#########  USER STATS
+
+echo "\n";
+echo "---------- USER STATS\n";
+echo "+--------------------------+------------+--------+--------+\n";
+echo "| USER                     | CALLS      | TIME M | AVRG M |\n";
+echo "+--------------------------+------------+--------+--------+\n";
+
+$stmt="select park_log.user,full_name,count(*),sum(talked_sec),avg(talked_sec) from park_log,vicidial_users where parked_time >= '$query_date 00:00:01' and parked_time <= '$query_date 23:59:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "' and park_log.user is not null and talked_sec is not null and talked_sec > 4 and park_log.user=vicidial_users.user group by park_log.user;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$user =			sprintf("%-6s", $row[0]);
+	$full_name =	sprintf("%-15s", $row[1]); while(strlen($full_name)>15) {$full_name = substr("$full_name", 0, -1);}
+	$USERcalls =	sprintf("%10s", $row[2]);
+	$USERtotTALK =	$row[3];
+	$USERavgTALK =	$row[4];
+
+	$USERtotTALK_M = ($USERtotTALK / 60);
+	$USERtotTALK_M = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$USERtotTALK_MS =		sprintf("%6s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$USERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	echo "| $user - $full_name | $USERcalls | $USERtotTALK_MS | $USERavgTALK_MS |\n";
+
+	$i++;
+	}
+
+echo "+--------------------------+------------+--------+--------+\n";
+
+##############################
+#########  TIME STATS
+
+echo "\n";
+echo "---------- TIME STATS\n";
+
+echo "\n";
+
+$hi_hour_count=0;
+$last_full_record=0;
+$i=0;
+$h=0;
+while ($i <= 96)
+	{
+	$stmt="select count(*) from park_log where parked_time >= '$query_date $h:00:00' and parked_time <= '$query_date $h:14:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from park_log where parked_time >= '$query_date $h:00:00' and parked_time <= '$query_date $h:14:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "' and (talked_sec < 5 or talked_sec is null);";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+
+	$stmt="select count(*) from park_log where parked_time >= '$query_date $h:15:00' and parked_time <= '$query_date $h:29:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from park_log where parked_time >= '$query_date $h:15:00' and parked_time <= '$query_date $h:29:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "' and (talked_sec < 5 or talked_sec is null);";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from park_log where parked_time >= '$query_date $h:30:00' and parked_time <= '$query_date $h:44:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from park_log where parked_time >= '$query_date $h:30:00' and parked_time <= '$query_date $h:44:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "' and (talked_sec < 5 or talked_sec is null);";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from park_log where parked_time >= '$query_date $h:45:00' and parked_time <= '$query_date $h:59:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from park_log where parked_time >= '$query_date $h:45:00' and parked_time <= '$query_date $h:59:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "' and (talked_sec < 5 or talked_sec is null);";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+	$h++;
+	}
+
+$hour_multiplier = (100 / $hi_hour_count);
+#$hour_multiplier = round($hour_multiplier, 0);
+
+echo "\n";
+echo "GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP\n";
+
+$k=1;
+$Mk=0;
+$call_scale = '0';
+while ($k <= 102) 
+	{
+	if ($Mk >= 5) 
+		{
+		$Mk=0;
+		$scale_num=($k / $hour_multiplier);
+		$scale_num = round($scale_num, 0);
+		$LENscale_num = (strlen($scale_num));
+		$k = ($k + $LENscale_num);
+		$call_scale .= "$scale_num";
+		}
+	else
+		{
+		$call_scale .= " ";
+		$k++;   $Mk++;
+		}
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | DROPS | TOTAL |\n";
+echo "| HOUR |$call_scale| DROPS | TOTAL |\n";
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+$ZZ = '00';
+$i=0;
+$h=4;
+$hour= -1;
+$no_lines_yet=1;
+
+while ($i <= 96)
+	{
+	$char_counter=0;
+	$time = '      ';
+	if ($h >= 4) 
+		{
+		$hour++;
+		$h=0;
+		if ($hour < 10) {$hour = "0$hour";}
+		$time = "+$hour$ZZ+";
+		}
+	if ($h == 1) {$time = "   15 ";}
+	if ($h == 2) {$time = "   30 ";}
+	if ($h == 3) {$time = "   45 ";}
+	$Ghour_count = $hour_count[$i];
+	if ($Ghour_count < 1) 
+		{
+		if ( ($no_lines_yet) or ($i > $last_full_record) )
+			{
+			$do_nothing=1;
+			}
+		else
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			echo "|$time|";
+			$k=0;   while ($k <= 102) {echo " ";   $k++;}
+			echo "| $hour_count[$i] |\n";
+			}
+		}
+	else
+		{
+		$no_lines_yet=0;
+		$Xhour_count = ($Ghour_count * $hour_multiplier);
+		$Yhour_count = (99 - $Xhour_count);
+
+		$Gdrop_count = $drop_count[$i];
+		if ($Gdrop_count < 1) 
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "*X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 101) {echo " ";   $char_counter++;}
+			echo "| 0     | $hour_count[$i] |\n";
+
+			}
+		else
+			{
+			$Xdrop_count = ($Gdrop_count * $hour_multiplier);
+
+		#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
+
+			$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
+
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			$drop_count[$i] =	sprintf("%-5s", $drop_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
+			echo "D";   $char_counter++;
+			$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 102) {echo " ";   $char_counter++;}
+			echo "| $drop_count[$i] | $hour_count[$i] |\n";
+			}
+		}
+	
+	
+	$i++;
+	$h++;
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+
+
+
+
+
+
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_server_performance.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_server_performance.php new file mode 100644 index 00000000..afa75bd3 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_server_performance.php @@ -0,0 +1,306 @@ + LICENSE: GPLv2 +# +# CHANGES +# +# 60619-1732 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 70417-1106 - Changed time frame to be definable per time range on a single day +# - Fixed vertical scaling issues +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["begin_query_time"])) {$begin_query_time=$_GET["begin_query_time"];} + elseif (isset($_POST["begin_query_time"])) {$begin_query_time=$_POST["begin_query_time"];} +if (isset($_GET["end_query_time"])) {$end_query_time=$_GET["end_query_time"];} + elseif (isset($_POST["end_query_time"])) {$end_query_time=$_POST["end_query_time"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and modify_servers='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +# path from root to where ploticus files will be stored +$PLOTroot = "vicidial/ploticus"; +$DOCroot = "$WeBServeRRooT/$PLOTroot/"; + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); + +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($begin_query_time)) {$begin_query_time = '09:00:00';} +if (!isset($end_query_time)) {$end_query_time = '15:30:00';} +if (!isset($group)) {$group = '';} + +$stmt="select server_ip from servers;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$servers_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $servers_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Server Performance\n"; +echo "
\n"; +echo "Date:   \n"; +echo "Time: \n"; +echo "to \n"; +echo "Server: \n"; +echo "\n"; +echo "             REPORTS \n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$group)
+{
+echo "\n";
+echo "PLEASE SELECT A SERVER, DATE AND TIME RANGE ABOVE AND CLICK SUBMIT\n";
+}
+
+else
+{
+
+$query_date_BEGIN = "$query_date $begin_query_time";   
+$query_date_END = "$query_date $end_query_time";
+$time_BEGIN = "$begin_query_time";   
+$time_END = "$end_query_time";
+
+echo "VICIDIAL: Server Performance                             $NOW_TIME\n";
+
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- TOTALS, PEAKS and AVERAGES\n";
+
+$stmt="select AVG(sysload),AVG(channels_total),MAX(sysload),MAX(channels_total),MAX(processes) from server_performance where start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and server_ip='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$AVGload =	sprintf("%10s", $row[0]);
+$AVGchannels =	sprintf("%10s", $row[1]);
+$HIGHload =	$row[2];
+	$HIGHmulti = intval($HIGHload / 100);
+$HIGHchannels =	$row[3];
+$HIGHprocesses =$row[4];
+if ($row[2] > $row[3]) {$HIGHlimit = $row[2];}
+else {$HIGHlimit = $row[3];}
+if ($HIGHlimit < $row[4]) {$HIGHlimit = $row[4];}
+
+$stmt="select AVG(cpu_user_percent),AVG(cpu_system_percent),AVG(cpu_idle_percent) from server_performance where start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and server_ip='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$AVGcpuUSER =	sprintf("%10s", $row[0]);
+$AVGcpuSYSTEM =	sprintf("%10s", $row[1]);
+$AVGcpuIDLE =	sprintf("%10s", $row[2]);
+
+$stmt="select count(*),SUM(length_in_min) from call_log where extension NOT IN('8365','8366','8367') and  start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and server_ip='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$TOTALcalls =	sprintf("%10s", $row[0]);
+$OFFHOOKtime =	sprintf("%10s", $row[1]);
+
+
+echo "Total Calls in/out on this server:        $TOTALcalls\n";
+echo "Total Off-Hook time on this server (min): $OFFHOOKtime\n";
+echo "Average/Peak channels in use for server:  $AVGchannels / $HIGHchannels\n";
+echo "Average/Peak load for server:             $AVGload / $HIGHload\n";
+echo "Average USER process cpu percentage:      $AVGcpuUSER %\n";
+echo "Average SYSTEM process cpu percentage:    $AVGcpuSYSTEM %\n";
+echo "Average IDLE process cpu percentage:      $AVGcpuIDLE %\n";
+
+echo "\n";
+echo "---------- LINE GRAPH:\n";
+
+
+
+##############################
+#########  Graph stats
+
+$DAT = '.dat';
+$HTM = '.htm';
+$PNG = '.png';
+$filedate = date("Y-m-d_His");
+$DATfile = "$group$query_date$shift$filedate$DAT";
+$HTMfile = "$group$query_date$shift$filedate$HTM";
+$PNGfile = "$group$query_date$shift$filedate$PNG";
+
+$HTMfp = fopen ("$DOCroot/$HTMfile", "a");
+$DATfp = fopen ("$DOCroot/$DATfile", "a");
+
+$stmt="select DATE_FORMAT(start_time,'%H:%i:%s') as timex,sysload,processes,channels_total,live_recordings,cpu_user_percent,cpu_system_percent from server_performance where server_ip='" . mysql_real_escape_string($group) . "' and start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' order by timex;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$rows_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $rows_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$row[5] = intval(($row[5] + $row[6]) * $HIGHmulti);
+	$row[6] = intval($row[6] * $HIGHmulti);
+	fwrite ($DATfp, "$row[5]\t$row[6]\t$row[0]\t$row[1]\t$row[2]\t$row[3]\n");
+	$i++;
+	}
+fclose($DATfp);
+
+$rows_to_max = ($rows_to_print + 100);
+
+#print "rows: $i\n";
+
+$time_scale_abb = '5 minutes';
+$time_scale_tick = '1 minute';
+if ($i > 1000) {$time_scale_abb = '10 minutes';   $time_scale_tick = '2 minutes';}
+if ($i > 2000) {$time_scale_abb = '20 minutes';   $time_scale_tick = '4 minutes';}
+if ($i > 3000) {$time_scale_abb = '30 minutes';   $time_scale_tick = '5 minutes';}
+if ($i > 4000) {$time_scale_abb = '40 minutes';   $time_scale_tick = '10 minutes';}
+if ($i > 5000) {$time_scale_abb = '60 minutes';   $time_scale_tick = '15 minutes';}
+if ($i > 6000) {$time_scale_abb = '90 minutes';   $time_scale_tick = '15 minutes';}
+if ($i > 7000) {$time_scale_abb = '120 minutes';   $time_scale_tick = '30 minutes';}
+
+$HTMcontent  = '';
+$HTMcontent .= "#proc page\n";
+$HTMcontent .= "#if @DEVICE in png,gif\n";
+$HTMcontent .= "   scale: 0.6\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#endif\n";
+$HTMcontent .= "#proc getdata\n";
+$HTMcontent .= "file: $DOCroot/$DATfile\n";
+$HTMcontent .= "fieldnames: userproc sysproc time load processes channels\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc areadef\n";
+$HTMcontent .= "title: Server $group   $query_date_BEGIN to $query_date_END\n";
+$HTMcontent .= "titledetails: size=14  align=C\n";
+$HTMcontent .= "rectangle: 1 1 14 7\n";
+$HTMcontent .= "xscaletype: time hh:mm:ss\n";
+$HTMcontent .= "xrange: $time_BEGIN $time_END\n";
+$HTMcontent .= "yrange: 0 $HIGHlimit\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc xaxis\n";
+$HTMcontent .= "stubs: inc $time_scale_abb\n";
+$HTMcontent .= "minorticinc: $time_scale_tick\n";
+$HTMcontent .= "stubformat: hh:mm:ssa\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc yaxis\n";
+$HTMcontent .= "stubs: inc 50\n";
+$HTMcontent .= "grid: color=yellow\n";
+$HTMcontent .= "gridskip: min\n";
+$HTMcontent .= "ticincrement: 100 1000\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc lineplot\n";
+$HTMcontent .= "xfield: time\n";
+$HTMcontent .= "yfield: userproc\n";
+$HTMcontent .= "linedetails: color=purple width=.5\n";
+$HTMcontent .= "fill: lavender\n";
+$HTMcontent .= "legendlabel: user proc%\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc lineplot\n";
+$HTMcontent .= "xfield: time\n";
+$HTMcontent .= "yfield: sysproc\n";
+$HTMcontent .= "linedetails: color=yelloworange width=.5\n";
+$HTMcontent .= "fill: dullyellow\n";
+$HTMcontent .= "legendlabel: system proc%\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc curvefit\n";
+$HTMcontent .= "xfield: time\n";
+$HTMcontent .= "yfield: load\n";
+$HTMcontent .= "linedetails: color=blue width=.5\n";
+$HTMcontent .= "legendlabel: load\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc curvefit\n";
+$HTMcontent .= "xfield: time\n";
+$HTMcontent .= "yfield: processes\n";
+$HTMcontent .= "linedetails: color=red width=.5\n";
+$HTMcontent .= "legendlabel: processes\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc curvefit\n";
+$HTMcontent .= "xfield: time\n";
+$HTMcontent .= "yfield: channels\n";
+$HTMcontent .= "linedetails: color=green width=.5\n";
+$HTMcontent .= "legendlabel: channels\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc legend\n";
+$HTMcontent .= "location: max-2 max\n";
+$HTMcontent .= "seglen: 0.2\n";
+$HTMcontent .= "\n";
+
+fwrite ($HTMfp, "$HTMcontent");
+fclose($HTMfp);
+
+
+passthru("/usr/local/bin/pl -png $DOCroot/$HTMfile -o $DOCroot/$PNGfile");
+
+sleep(1);
+
+echo "
\n"; +echo "\n"; +echo "\n"; + + +echo ""; + +} + + + +?> + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonVDAD.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonVDAD.php new file mode 100644 index 00000000..e9c8f52e --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonVDAD.php @@ -0,0 +1,374 @@ + LICENSE: GPLv2 +### +# live real-time stats for the VICIDIAL Auto-Dialer +# +# CHANGES +# +# 60620-1037 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 61114-2004 - Changed to display CLOSER and DEFAULT, added trunk shortage +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];} + elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["closer_display"])) {$closer_display=$_GET["closer_display"];} + elseif (isset($_POST["closer_display"])) {$closer_display=$_POST["closer_display"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +$epochSIXhoursAGO = ($STARTtime - 21600); +$timeSIXhoursAGO = date("Y-m-d H:i:s",$epochSIXhoursAGO); + +$reset_counter++; + +if ($reset_counter > 7) + { + $reset_counter=0; + + $stmt="update park_log set status='HUNGUP' where hangup_time is not null;"; +# $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + + if ($DB) + { + $stmt="delete from park_log where grab_time < '$timeSIXhoursAGO' and (hangup_time is null or hangup_time='');"; +# $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + } + } + +?> + + + +\n"; +echo " + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On VDAD\n"; +echo "
";
+
+###################################################################################
+###### SERVER INFORMATION
+###################################################################################
+
+$stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats where server_ip='" . mysql_real_escape_string($server_ip) . "';";
+$rslt=mysql_query($stmt, $link);
+$row=mysql_fetch_row($rslt);
+$balanceSHORT = $row[0];
+
+echo "SERVER: $server_ip\n";
+
+
+
+###################################################################################
+###### TIME ON SYSTEM
+###################################################################################
+
+if ($closer_display>0) {$closer_display_reverse=0;   $closer_reverse_link='DEFAULT';}
+else {$closer_display_reverse=1;   $closer_reverse_link='CLOSER';}
+
+echo "VICIDIAL: Agents Time On Calls           $NOW_TIME    $closer_reverse_link | REPORTS\n\n";
+
+if ($closer_display>0)
+{
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+echo "| STATION    | USER   | SESSIONID | CHANNEL             | STATUS | CALLTIME | MINUTES | CAMPAIGN     | FRONT  |\n";
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+}
+else
+{
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+\n";
+echo "| STATION    | USER   | SESSIONID | CHANNEL             | STATUS | CALLTIME | MINUTES |\n";
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+\n";
+}
+
+$stmt="select extension,user,conf_exten,channel,status,last_call_time,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),uniqueid,lead_id from vicidial_live_agents where status NOT IN('PAUSED') and server_ip='" . mysql_real_escape_string($server_ip) . "' order by extension;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$talking_to_print = mysql_num_rows($rslt);
+	if ($talking_to_print > 0)
+	{
+	$i=0;
+	while ($i < $talking_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+			if (eregi("READY|PAUSED|CLOSER",$row[4]))
+			{
+			$row[3]='';
+			$row[5]='- WAIT -';
+			$row[6]=$row[7];
+			}
+		$extension[$i] = eregi_replace('Local/',"",$row[0]);
+		$extension[$i] =		sprintf("%-10s", $extension[$i]);
+			while(strlen($extension[$i])>10) {$extension[$i] = substr("$extension[$i]", 0, -1);}
+		$user[$i] =				sprintf("%-6s", $row[1]);
+		$sessionid[$i] =		sprintf("%-9s", $row[2]);
+		$channel[$i] =			sprintf("%-19s", $row[3]);
+			$cc[$i]=0;
+		while ( (strlen($channel[$i]) > 19) and ($cc[$i] < 100) )
+			{
+			$channel[$i] = eregi_replace(".$","",$channel[$i]);   
+			$cc[$i]++;
+			if (strlen($channel[$i]) <= 19) {$cc[$i]=101;}
+			}
+		$status[$i] =			sprintf("%-6s", $row[4]);
+		$start_time[$i] =		sprintf("%-8s", $row[5]);
+			$cd[$i]=0;
+		while ( (strlen($start_time[$i]) > 8) and ($cd[$i] < 100) )
+			{
+			$start_time[$i] = eregi_replace("^.","",$start_time[$i]);   
+			$cd[$i]++;
+			if (strlen($start_time[$i]) <= 8) {$cd[$i]=101;}
+			}
+		$uniqueid[$i] =			$row[8];
+		$lead_id[$i] =			$row[9];
+		$closer[$i] =			$row[1];
+		$call_time_S[$i] = ($STARTtime - $row[6]);
+
+		$call_time_M[$i] = ($call_time_S[$i] / 60);
+		$call_time_M[$i] = round($call_time_M[$i], 2);
+		$call_time_M_int[$i] = intval("$call_time_M[$i]");
+		$call_time_SEC[$i] = ($call_time_M[$i] - $call_time_M_int[$i]);
+		$call_time_SEC[$i] = ($call_time_SEC[$i] * 60);
+		$call_time_SEC[$i] = round($call_time_SEC[$i], 0);
+		if ($call_time_SEC[$i] < 10) {$call_time_SEC[$i] = "0$call_time_SEC[$i]";}
+		$call_time_MS[$i] = "$call_time_M_int[$i]:$call_time_SEC[$i]";
+		$call_time_MS[$i] =		sprintf("%7s", $call_time_MS[$i]);
+
+		if ($closer_display<1)
+			{
+			$G = '';		$EG = '';
+			if ($call_time_M_int[$i] >= 5) {$G=''; $EG='';}
+			if ($call_time_M_int[$i] >= 10) {$G=''; $EG='';}
+			if (eregi("PAUSED",$row[4])) 
+				{
+				if ($call_time_M_int >= 1) 
+					{$i++; continue;} 
+				else
+					{$G=''; $EG='';}
+				}
+			$agentcount++;
+			echo "| $G$extension[$i]$EG | $G$user[$i]$EG | $G$sessionid[$i]$EG | $G$channel[$i]$EG | $G$status[$i]$EG | $G$start_time[$i]$EG | $G$call_time_MS[$i]$EG |\n";
+			}
+		$i++;
+		}
+
+		if ($closer_display>0)
+		{
+
+			$ext_count = $i;
+			$i=0;
+		while ($i < $ext_count)
+			{
+
+			$stmt="select campaign_id from vicidial_auto_calls where lead_id='$lead_id[$i]' and server_ip='" . mysql_real_escape_string($server_ip) . "';";
+			$rslt=mysql_query($stmt, $link);
+			if ($DB) {echo "$stmt\n";}
+			$camp_to_print = mysql_num_rows($rslt);
+			if ($camp_to_print > 0)
+				{
+				$row=mysql_fetch_row($rslt);
+				$campaign = sprintf("%-12s", $row[0]);
+				$camp_color = $row[0];
+				}
+			else
+				{$campaign = 'DEAD        ';   	$camp_color = 'DEAD';}
+			if (eregi("READY|PAUSED|CLOSER",$status[$i]))
+				{$campaign = '            ';   	$camp_color = '';}
+
+			$stmt="select user from vicidial_xfer_log where lead_id='$lead_id[$i]' and closer='$closer[$i]' order by call_date desc limit 1;";
+			$rslt=mysql_query($stmt, $link);
+			if ($DB) {echo "$stmt\n";}
+			$xfer_to_print = mysql_num_rows($rslt);
+			if ($xfer_to_print > 0)
+				{
+				$row=mysql_fetch_row($rslt);
+				$fronter = sprintf("%-6s", $row[0]);
+				}
+			else
+				{$fronter = '      ';}
+
+			$G = '';		$EG = '';
+			$G=""; $EG='';
+		#	if ($call_time_M_int[$i] >= 5) {$G=''; $EG='';}
+		#	if ($call_time_M_int[$i] >= 10) {$G=''; $EG='';}
+
+			echo "| $G$extension[$i]$EG | $G$user[$i]$EG | $G$sessionid[$i]$EG | $G$channel[$i]$EG | $G$status[$i]$EG | $G$start_time[$i]$EG | $G$call_time_MS[$i]$EG | $G$campaign$EG | $G$fronter$EG |\n";
+
+			$i++;
+			}
+		echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+		echo "  $i agents logged in on server $server_ip\n\n";
+	#	echo "             - 5 minutes or more on call\n";
+	#	echo "             - Over 10 minutes on call\n";
+		}
+	else
+		{
+		echo "+------------|--------+-----------+---------------------+--------+----------+---------+\n";
+		echo "  $agentcount agents logged in on server $server_ip\n\n";
+
+		echo "             - Paused agents\n";
+		echo "             - 5 minutes or more on call\n";
+		echo "             - Over 10 minutes on call\n";
+		}
+
+	}
+	else
+	{
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	echo "********************************* NO AGENTS ON CALLS *********************************\n";
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	}
+
+
+###################################################################################
+###### OUTBOUND CALLS
+###################################################################################
+#echo "\n\n";
+echo "----------------------------------------------------------------------------------------";
+echo "\n\n";
+echo "VICIDIAL: Time On VDAD            TRUNK SHORT: $balanceSHORT              $NOW_TIME\n\n";
+echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+echo "| CHANNEL             | STATUS | CAMPAIGN     | PHONE NUMBER       | CALLTIME | MINUTES |\n";
+echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+
+$stmt="select channel,status,campaign_id,phone_code,phone_number,call_time,UNIX_TIMESTAMP(call_time) from vicidial_auto_calls where status NOT IN('XFER') and server_ip='" . mysql_real_escape_string($server_ip) . "' order by auto_call_id desc;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$parked_to_print = mysql_num_rows($rslt);
+	if ($parked_to_print > 0)
+	{
+	$i=0;
+	while ($i < $parked_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+
+		$channel =			sprintf("%-19s", $row[0]);
+			$cc=0;
+		while ( (strlen($channel) > 19) and ($cc < 100) )
+			{
+			$channel = eregi_replace(".$","",$channel);   
+			$cc++;
+			if (strlen($channel) <= 19) {$cc=101;}
+			}
+		$start_time =		sprintf("%-8s", $row[5]);
+			$cd=0;
+		while ( (strlen($start_time) > 8) and ($cd < 100) )
+			{
+			$start_time = eregi_replace("^.","",$start_time);   
+			$cd++;
+			if (strlen($start_time) <= 8) {$cd=101;}
+			}
+		$status =			sprintf("%-6s", $row[1]);
+		$campaign =			sprintf("%-12s", $row[2]);
+			$all_phone = "$row[3]$row[4]";
+		$number_dialed =	sprintf("%-18s", $all_phone);
+		$call_time_S = ($STARTtime - $row[6]);
+
+		$call_time_M = ($call_time_S / 60);
+		$call_time_M = round($call_time_M, 2);
+		$call_time_M_int = intval("$call_time_M");
+		$call_time_SEC = ($call_time_M - $call_time_M_int);
+		$call_time_SEC = ($call_time_SEC * 60);
+		$call_time_SEC = round($call_time_SEC, 0);
+		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+		$call_time_MS = "$call_time_M_int:$call_time_SEC";
+		$call_time_MS =		sprintf("%7s", $call_time_MS);
+		$G = '';		$EG = '';
+		if (eregi("LIVE",$status)) {$G=''; $EG='';}
+	#	if ($call_time_M_int >= 6) {$G=''; $EG='';}
+
+		echo "| $G$channel$EG | $G$status$EG | $G$campaign$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+		$i++;
+		}
+
+		echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+		echo "  $i calls being placed on server $server_ip\n\n";
+
+		echo "             - LIVE CALL WAITING\n";
+	#	echo "             - Over 5 minutes on hold\n";
+
+		}
+	else
+	{
+	echo "***************************************************************************************\n";
+	echo "***************************************************************************************\n";
+	echo "******************************* NO LIVE CALLS WAITING *********************************\n";
+	echo "***************************************************************************************\n";
+	echo "***************************************************************************************\n";
+	}
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonVDAD_closer.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonVDAD_closer.php new file mode 100644 index 00000000..23eb851e --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonVDAD_closer.php @@ -0,0 +1,318 @@ + LICENSE: GPLv2 +### +# live real-time stats for the VICIDIAL Auto-Dialer +# +# CHANGES +# +# 60620-1037 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];} + elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +$epochSIXhoursAGO = ($STARTtime - 21600); +$timeSIXhoursAGO = date("Y-m-d H:i:s",$epochSIXhoursAGO); + +$reset_counter++; + +if ($reset_counter > 7) + { + $reset_counter=0; + + $stmt="update park_log set status='HUNGUP' where hangup_time is not null;"; +# $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + + if ($DB) + { + $stmt="delete from park_log where grab_time < '$timeSIXhoursAGO' and (hangup_time is null or hangup_time='');"; +# $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + } + } + +?> + + + +\n"; +echo " + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On VDAD\n"; +echo "
";
+
+###################################################################################
+###### TIME ON SYSTEM
+###################################################################################
+
+echo "VICIDIAL: Agents Time On Calls                         $NOW_TIME    REPORTS\n\n";
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+echo "| STATION    | USER   | SESSIONID | CHANNEL             | STATUS | CALLTIME | MINUTES | CAMPAIGN     | FRONT  |\n";
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+
+
+$stmt="select extension,user,conf_exten,channel,status,last_call_time,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),uniqueid,lead_id from vicidial_live_agents where status NOT IN('PAUSED') and server_ip='" . mysql_real_escape_string($server_ip) . "' order by extension;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$talking_to_print = mysql_num_rows($rslt);
+	if ($talking_to_print > 0)
+	{
+	$i=0;
+	while ($i < $talking_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+			if (eregi("READY|PAUSED|CLOSER",$row[4]))
+			{
+			$row[3]='';
+			$row[5]='- WAIT -';
+			$row[6]=$row[7];
+			}
+		$extension[$i] = eregi_replace('Local/',"",$row[0]);
+		$extension[$i] =		sprintf("%-10s", $extension[$i]);
+			while(strlen($extension[$i])>10) {$extension[$i] = substr("$extension[$i]", 0, -1);}
+		$user[$i] =				sprintf("%-6s", $row[1]);
+		$sessionid[$i] =		sprintf("%-9s", $row[2]);
+		$channel[$i] =			sprintf("%-19s", $row[3]);
+			$cc[$i]=0;
+		while ( (strlen($channel[$i]) > 19) and ($cc[$i] < 100) )
+			{
+			$channel[$i] = eregi_replace(".$","",$channel[$i]);   
+			$cc[$i]++;
+			if (strlen($channel[$i]) <= 19) {$cc[$i]=101;}
+			}
+		$status[$i] =			sprintf("%-6s", $row[4]);
+		$start_time[$i] =		sprintf("%-8s", $row[5]);
+			$cd[$i]=0;
+		while ( (strlen($start_time[$i]) > 8) and ($cd[$i] < 100) )
+			{
+			$start_time[$i] = eregi_replace("^.","",$start_time[$i]);   
+			$cd[$i]++;
+			if (strlen($start_time[$i]) <= 8) {$cd[$i]=101;}
+			}
+		$uniqueid[$i] =			$row[8];
+		$lead_id[$i] =			$row[9];
+		$closer[$i] =			$row[1];
+		$call_time_S[$i] = ($STARTtime - $row[6]);
+
+		$call_time_M[$i] = ($call_time_S[$i] / 60);
+		$call_time_M[$i] = round($call_time_M[$i], 2);
+		$call_time_M_int[$i] = intval("$call_time_M[$i]");
+		$call_time_SEC[$i] = ($call_time_M[$i] - $call_time_M_int[$i]);
+		$call_time_SEC[$i] = ($call_time_SEC[$i] * 60);
+		$call_time_SEC[$i] = round($call_time_SEC[$i], 0);
+		if ($call_time_SEC[$i] < 10) {$call_time_SEC[$i] = "0$call_time_SEC[$i]";}
+		$call_time_MS[$i] = "$call_time_M_int[$i]:$call_time_SEC[$i]";
+		$call_time_MS[$i] =		sprintf("%7s", $call_time_MS[$i]);
+		$i++;
+		}
+		$ext_count = $i;
+		$i=0;
+	while ($i < $ext_count)
+		{
+
+		$stmt="select campaign_id from vicidial_auto_calls where lead_id='$lead_id[$i]' and server_ip='" . mysql_real_escape_string($server_ip) . "';";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$camp_to_print = mysql_num_rows($rslt);
+		if ($camp_to_print > 0)
+			{
+			$row=mysql_fetch_row($rslt);
+			$campaign = sprintf("%-12s", $row[0]);
+			$camp_color = $row[0];
+			}
+		else
+			{$campaign = 'DEAD        ';   	$camp_color = 'DEAD';}
+		if (eregi("READY|PAUSED|CLOSER",$status[$i]))
+			{$campaign = '            ';   	$camp_color = '';}
+
+		$stmt="select user from vicidial_xfer_log where lead_id='$lead_id[$i]' and closer='$closer[$i]' order by call_date desc limit 1;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$xfer_to_print = mysql_num_rows($rslt);
+		if ($xfer_to_print > 0)
+			{
+			$row=mysql_fetch_row($rslt);
+			$fronter = sprintf("%-6s", $row[0]);
+			}
+		else
+			{$fronter = '      ';}
+
+		$G = '';		$EG = '';
+		$G=""; $EG='';
+	#	if ($call_time_M_int[$i] >= 5) {$G=''; $EG='';}
+	#	if ($call_time_M_int[$i] >= 10) {$G=''; $EG='';}
+
+		echo "| $G$extension[$i]$EG | $G$user[$i]$EG | $G$sessionid[$i]$EG | $G$channel[$i]$EG | $G$status[$i]$EG | $G$start_time[$i]$EG | $G$call_time_MS[$i]$EG | $G$campaign$EG | $G$fronter$EG |\n";
+
+		$i++;
+		}
+
+		echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+		echo "  $i agents logged in on server $server_ip\n\n";
+
+	#	echo "             - 5 minutes or more on call\n";
+	#	echo "             - Over 10 minutes on call\n";
+
+	}
+	else
+	{
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	echo "********************************* NO AGENTS ON CALLS *********************************\n";
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	}
+
+
+###################################################################################
+###### OUTBOUND CALLS
+###################################################################################
+#echo "\n\n";
+echo "----------------------------------------------------------------------------------------";
+echo "\n\n";
+echo "VICIDIAL: Time On VDAD                                              $NOW_TIME\n\n";
+echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+echo "| CHANNEL             | STATUS | CAMPAIGN     | PHONE NUMBER       | CALLTIME | MINUTES |\n";
+echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+
+#$link=mysql_connect("localhost", "cron", "1234");
+# $linkX=mysql_connect("localhost", "cron", "1234");
+#mysql_select_db("asterisk");
+
+$stmt="select channel,status,campaign_id,phone_code,phone_number,call_time,UNIX_TIMESTAMP(call_time) from vicidial_auto_calls where status NOT IN('XFER') and server_ip='" . mysql_real_escape_string($server_ip) . "' order by auto_call_id desc;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$parked_to_print = mysql_num_rows($rslt);
+	if ($parked_to_print > 0)
+	{
+	$i=0;
+	while ($i < $parked_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+
+		$channel =			sprintf("%-19s", $row[0]);
+			$cc=0;
+		while ( (strlen($channel) > 19) and ($cc < 100) )
+			{
+			$channel = eregi_replace(".$","",$channel);   
+			$cc++;
+			if (strlen($channel) <= 19) {$cc=101;}
+			}
+		$start_time =		sprintf("%-8s", $row[5]);
+			$cd=0;
+		while ( (strlen($start_time) > 8) and ($cd < 100) )
+			{
+			$start_time = eregi_replace("^.","",$start_time);   
+			$cd++;
+			if (strlen($start_time) <= 8) {$cd=101;}
+			}
+		$status =			sprintf("%-6s", $row[1]);
+		$campaign =			sprintf("%-12s", $row[2]);
+			$all_phone = "$row[3]$row[4]";
+		$number_dialed =	sprintf("%-18s", $all_phone);
+		$call_time_S = ($STARTtime - $row[6]);
+
+		$call_time_M = ($call_time_S / 60);
+		$call_time_M = round($call_time_M, 2);
+		$call_time_M_int = intval("$call_time_M");
+		$call_time_SEC = ($call_time_M - $call_time_M_int);
+		$call_time_SEC = ($call_time_SEC * 60);
+		$call_time_SEC = round($call_time_SEC, 0);
+		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+		$call_time_MS = "$call_time_M_int:$call_time_SEC";
+		$call_time_MS =		sprintf("%7s", $call_time_MS);
+		$G = '';		$EG = '';
+		if (eregi("LIVE",$status)) {$G=''; $EG='';}
+	#	if ($call_time_M_int >= 6) {$G=''; $EG='';}
+
+		echo "| $G$channel$EG | $G$status$EG | $G$campaign$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+		$i++;
+		}
+
+		echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+		echo "  $i calls being placed on server $server_ip\n\n";
+
+		echo "             - LIVE CALL WAITING\n";
+	#	echo "             - Over 5 minutes on hold\n";
+
+		}
+	else
+	{
+	echo "***************************************************************************************\n";
+	echo "***************************************************************************************\n";
+	echo "******************************* NO LIVE CALLS WAITING *********************************\n";
+	echo "***************************************************************************************\n";
+	echo "***************************************************************************************\n";
+	}
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonVDADall.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonVDADall.php new file mode 100644 index 00000000..ec8eb52a --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonVDADall.php @@ -0,0 +1,826 @@ + LICENSE: GPLv2 +# +# live real-time stats for the VICIDIAL Auto-Dialer all servers +# +# STOP=4000, SLOW=40, GO=4 seconds refresh interval +# +# CHANGELOG: +# 50406-0920 - Added Paused agents < 1 min (Chris Doyle) +# 51130-1218 - Modified layout and info to show all servers in a vicidial system +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60511-1343 - Added leads and drop info at the top of the screen +# 60608-1539 - Fixed CLOSER tallies for active calls +# 60619-1658 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 60626-1453 - Added display of system load to bottom (Angelito Manansala) +# 60901-1123 - Changed display elements at the top of the screen +# 60905-1342 - Fixed non INCALL|QUEUE timer column +# 61002-1642 - Added TRUNK SHORT/FILL stats +# 61101-1318 - Added SIP and IAX Listen and Barge links option +# 61101-1647 - Added Usergroup column and user name option as well as sorting +# 61102-1155 - Made display of columns more modular, added ability to hide server info +# 61215-1131 - Added answered calls and drop percent taken from answered calls +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70123-1151 - Added non_latin options for substr in display variables, thanks Marin Blu +# 70206-1140 - Added call-type statuses to display(A-Auto, M-Manual, I-Inbound/Closer) +# 70619-1339 - Added Status Category tally display +# 71029-1900 - Changed CLOSER-type to not require campaign_id restriction +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["RR"])) {$RR=$_GET["RR"];} + elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["usergroup"])) {$usergroup=$_GET["usergroup"];} + elseif (isset($_POST["usergroup"])) {$usergroup=$_POST["usergroup"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["adastats"])) {$adastats=$_GET["adastats"];} + elseif (isset($_POST["adastats"])) {$adastats=$_POST["adastats"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["SIPmonitorLINK"])) {$SIPmonitorLINK=$_GET["SIPmonitorLINK"];} + elseif (isset($_POST["SIPmonitorLINK"])) {$SIPmonitorLINK=$_POST["SIPmonitorLINK"];} +if (isset($_GET["IAXmonitorLINK"])) {$IAXmonitorLINK=$_GET["IAXmonitorLINK"];} + elseif (isset($_POST["IAXmonitorLINK"])) {$IAXmonitorLINK=$_POST["IAXmonitorLINK"];} +if (isset($_GET["UGdisplay"])) {$UGdisplay=$_GET["UGdisplay"];} + elseif (isset($_POST["UGdisplay"])) {$UGdisplay=$_POST["UGdisplay"];} +if (isset($_GET["UidORname"])) {$UidORname=$_GET["UidORname"];} + elseif (isset($_POST["UidORname"])) {$UidORname=$_POST["UidORname"];} +if (isset($_GET["orderby"])) {$orderby=$_GET["orderby"];} + elseif (isset($_POST["orderby"])) {$orderby=$_POST["orderby"];} +if (isset($_GET["SERVdisplay"])) {$SERVdisplay=$_GET["SERVdisplay"];} + elseif (isset($_POST["SERVdisplay"])) {$SERVdisplay=$_POST["SERVdisplay"];} + + + +if (!isset($RR)) {$gRRroup=4;} +if (!isset($group)) {$group='';} +if (!isset($usergroup)) {$usergroup='';} +if (!isset($UGdisplay)) {$UGdisplay=0;} # 0=no, 1=yes +if (!isset($UidORname)) {$UidORname=0;} # 0=id, 1=name +if (!isset($orderby)) {$orderby='timeup';} +if (!isset($SERVdisplay)) {$SERVdisplay=1;} # 0=no, 1=yes + +function get_server_load($windows = false) { +$os = strtolower(PHP_OS); +if(strpos($os, "win") === false) { +if(file_exists("/proc/loadavg")) { +$load = file_get_contents("/proc/loadavg"); +$load = explode(' ', $load); +return $load[0]; +} +elseif(function_exists("shell_exec")) { +$load = explode(' ', `uptime`); +return $load[count($load)-1]; +} +else { +return false; +} +} +elseif($windows) { +if(class_exists("COM")) { +$wmi = new COM("WinMgmts:\\\\."); +$cpus = $wmi->InstancesOf("Win32_Processor"); + +$cpuload = 0; +$i = 0; +while ($cpu = $cpus->Next()) { +$cpuload += $cpu->LoadPercentage; +$i++; +} + +$cpuload = round($cpuload / $i, 2); +return "$cpuload%"; +} +else { +return false; +} +} +} + +$load_ave = get_server_load(true); + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$NOW_DAY = date("Y-m-d"); +$NOW_HOUR = date("H:i:s"); +$STARTtime = date("U"); +$epochSIXhoursAGO = ($STARTtime - 21600); +$timeSIXhoursAGO = date("Y-m-d H:i:s",$epochSIXhoursAGO); + +$stmt="select campaign_id from vicidial_campaigns where active='Y';"; +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + +$stmt="select * from vicidial_user_groups;"; +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$usergroups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $usergroups_to_print) + { + $row=mysql_fetch_row($rslt); + $usergroups[$i] =$row[0]; + $i++; + } + +if (!isset($RR)) {$RR=4;} + +$NFB = ''; +$NFE = ''; +$F=''; $FG=''; $B=''; $BG=''; + +?> + + + + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On VDAD Campaign: $group\n"; +echo "
\n"; +echo "VICIDIAL Campaign: \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +if ($UGdisplay > 0) + { + echo "\n"; + } +echo "         \n"; +echo "STOP | "; +echo "SLOW | "; +echo "GO"; +echo "       MODIFY | \n"; +echo "SUMMARY | \n"; +echo "REPORTS \n"; +echo "\n\n"; + + +if (!$group) {echo "

please select a campaign from the pulldown above
\n"; exit;} +else +{ +$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select avg(auto_dial_level),min(dial_status_a),min(dial_status_b),min(dial_status_c),min(dial_status_d),min(dial_status_e),min(lead_order),min(lead_filter_id),sum(hopper_level),min(dial_method),avg(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),min(available_only_ratio_tally),min(adaptive_latest_server_time),min(local_call_time),avg(dial_timeout),min(dial_statuses) from vicidial_campaigns;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DIALlev = $row[0]; +$DIALstatusA = $row[1]; +$DIALstatusB = $row[2]; +$DIALstatusC = $row[3]; +$DIALstatusD = $row[4]; +$DIALstatusE = $row[5]; +$DIALorder = $row[6]; +$DIALfilter = $row[7]; +$HOPlev = $row[8]; +$DIALmethod = $row[9]; +$maxDIALlev = $row[10]; +$DROPmax = $row[11]; +$targetDIFF = $row[12]; +$ADAintense = $row[13]; +$ADAavailonly = $row[14]; +$TAPERtime = $row[15]; +$CALLtime = $row[16]; +$DIALtimeout = $row[17]; +$DIALstatuses = $row[18]; + $DIALstatuses = (preg_replace("/ -$|^ /","",$DIALstatuses)); + $DIALstatuses = (ereg_replace(' ',', ',$DIALstatuses)); + +$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select count(*) from vicidial_hopper;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VDhop = $row[0]; + +$stmt="select dialable_leads,calls_today,drops_today,drops_answers_today_pct,differential_onemin,agents_average_onemin,balance_trunk_fill,answers_today,status_category_1,status_category_count_1,status_category_2,status_category_count_2,status_category_3,status_category_count_3,status_category_4,status_category_count_4 from vicidial_campaign_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),min(status_category_1),sum(status_category_count_1),min(status_category_2),sum(status_category_count_2),min(status_category_3),sum(status_category_count_3),min(status_category_4),sum(status_category_count_4) from vicidial_campaign_stats;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DAleads = $row[0]; +$callsTODAY = $row[1]; +$dropsTODAY = $row[2]; +$drpctTODAY = $row[3]; +$diffONEMIN = $row[4]; +$agentsONEMIN = $row[5]; +$balanceFILL = $row[6]; +$answersTODAY = $row[7]; +$VSCcat1 = $row[8]; +$VSCcat1tally = $row[9]; +$VSCcat2 = $row[10]; +$VSCcat2tally = $row[11]; +$VSCcat3 = $row[12]; +$VSCcat3tally = $row[13]; +$VSCcat4 = $row[14]; +$VSCcat4tally = $row[15]; + +if ( ($diffONEMIN != 0) and ($agentsONEMIN > 0) ) + { + $diffpctONEMIN = ( ($diffONEMIN / $agentsONEMIN) * 100); + $diffpctONEMIN = sprintf("%01.2f", $diffpctONEMIN); + } +else {$diffpctONEMIN = '0.00';} + +$stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$balanceSHORT = $row[0]; + +echo "
"; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +if ($adastats>1) + { + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; + + + + +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "
DIAL LEVEL:  $DIALlev    TRUNK SHORT/FILL:  $balanceSHORT / $balanceFILL     FILTER:  $DIALfilter   TIME:   $NOW_TIME
- min   MAX LEVEL:  $maxDIALlev   DROPPED MAX:  $DROPmax%    TARGET DIFF:  $targetDIFF     INTENSITY:  $ADAintense    
DIAL TIMEOUT:  $DIALtimeout  TAPER TIME:  $TAPERtime  LOCAL TIME:  $CALLtime  AVAIL ONLY:  $ADAavailonly  
DIALABLE LEADS:  $DAleads     CALLS TODAY:  $callsTODAY     AVG AGENTS:  $agentsONEMIN     DIAL METHOD:  $DIALmethod    
HOPPER LEVEL:  $HOPlev     DROPPED / ANSWERED:  $dropsTODAY / $answersTODAY   DL DIFF:  $diffONEMIN     STATUSES:  $DIALstatuses    
LEADS IN HOPPER:  $VDhop     DROPPED PERCENT:  "; +if ($drpctTODAY >= $DROPmax) + {echo "$drpctTODAY%";} +else + {echo "$drpctTODAY%";} +echo "    DIFF:  $diffpctONEMIN%     ORDER:  $DIALorder    
"; +if ( (!eregi('NULL',$VSCcat1)) and (strlen($VSCcat1)>0) ) + {echo "$VSCcat1:   $VSCcat1tally       \n";} +if ( (!eregi('NULL',$VSCcat2)) and (strlen($VSCcat2)>0) ) + {echo "$VSCcat2:   $VSCcat2tally       \n";} +if ( (!eregi('NULL',$VSCcat3)) and (strlen($VSCcat3)>0) ) + {echo "$VSCcat3:   $VSCcat3tally       \n";} +if ( (!eregi('NULL',$VSCcat4)) and (strlen($VSCcat4)>0) ) + {echo "$VSCcat4:   $VSCcat4tally       \n";} +echo "
"; + +if ($adastats<2) + { + echo "+ VIEW MORE SETTINGS"; + } +if ($UGdisplay>0) + { + echo "       HIDE USER GROUP"; + } +else + { + echo "       VIEW USER GROUP"; + } +if ($UidORname>0) + { + echo "       SHOW AGENT ID"; + } +else + { + echo "       SHOW AGENT NAME"; + } +if ($SERVdisplay>0) + { + echo "       HIDE SERVER INFO"; + } +else + { + echo "       SHOW SERVER INFO"; + } +echo "
"; + +echo "\n\n"; +} +################################################################################### +###### OUTBOUND CALLS +################################################################################### +if ($campaign_allow_inbound > 0) + { + $stmt="select closer_campaigns from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = preg_replace("/^ | -$/","",$row[0]); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') and ( (call_type='IN' and campaign_id IN($closer_campaigns)) or (campaign_id='" . mysql_real_escape_string($group) . "' and call_type='OUT') );"; + } +else + { + if ($group=='XXXX-ALL-ACTIVE-XXXX') {$groupSQL = '';} + else {$groupSQL = " and campaign_id='" . mysql_real_escape_string($group) . "'";} + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') $groupSQL;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$parked_to_print = mysql_num_rows($rslt); + if ($parked_to_print > 0) + { + $i=0; + $out_total=0; + $out_ring=0; + $out_live=0; + while ($i < $parked_to_print) + { + $row=mysql_fetch_row($rslt); + + if (eregi("LIVE",$row[0])) + {$out_live++;} + else + { + if (eregi("CLOSER",$row[0])) + {$nothing=1;} + else + {$out_ring++;} + } + $out_total++; + $i++; + } + + if ($out_live > 0) {$F=''; $FG='';} + if ($out_live > 4) {$F=''; $FG='';} + if ($out_live > 9) {$F=''; $FG='';} + if ($out_live > 14) {$F=''; $FG='';} + + if ($campaign_allow_inbound > 0) + {echo "$NFB$out_total$NFE current active calls      \n";} + else + {echo "$NFB$out_total$NFE calls being placed       \n";} + + echo "$NFB$out_ring$NFE calls ringing         \n"; + echo "$NFB$F  $out_live $FG$NFE calls waiting for agents       \n"; + } + else + { + echo " NO LIVE CALLS WAITING \n"; + } + + +################################################################################### +###### TIME ON SYSTEM +################################################################################### + +$agent_incall=0; +$agent_ready=0; +$agent_paused=0; +$agent_total=0; + +$Aecho = ''; +$Aecho .= "VICIDIAL: Agents Time On Calls Campaign: $group $NOW_TIME\n\n"; + + +$HDbegin = "+"; +$HTbegin = "|"; +$HDstation = "------------+"; +$HTstation = " STATION |"; +$HDuser = "--------------------+"; +$HTuser = " USER |"; +$HDusergroup = "--------------+"; +$HTusergroup = " USER GROUP |"; +$HDsessionid = "------------------+"; +$HTsessionid = " SESSIONID |"; +$HDbarge = "-------+"; +$HTbarge = " BARGE |"; +$HDstatus = "----------+"; +$HTstatus = " STATUS |"; +$HDserver_ip = "-----------------+"; +$HTserver_ip = " SERVER IP |"; +$HDcall_server_ip = "-----------------+"; +$HTcall_server_ip = " CALL SERVER IP |"; +$HDtime = "---------+"; +$HTtime = " MM:SS |"; +$HDcampaign = "------------+"; +$HTcampaign = " CAMPAIGN |"; + +if ($UGdisplay < 1) + { + $HDusergroup = ''; + $HTusergroup = ''; + } +if ( ($SIPmonitorLINK<1) && ($IAXmonitorLINK<1) ) + { + $HDsessionid = "-----------+"; + $HTsessionid = " SESSIONID |"; + } +if ( ($SIPmonitorLINK<2) && ($IAXmonitorLINK<2) ) + { + $HDbarge = ''; + $HTbarge = ''; + } +if ($SERVdisplay < 1) + { + $HDserver_ip = ''; + $HTserver_ip = ''; + $HDcall_server_ip = ''; + $HTcall_server_ip = ''; + } + + + +$Aline = "$HDbegin$HDstation$HDuser$HDusergroup$HDsessionid$HDbarge$HDstatus$HDserver_ip$HDcall_server_ip$HDtime$HDcampaign\n"; +$Bline = "$HTbegin$HTstation$HTuser$HTusergroup$HTsessionid$HTbarge$HTstatus$HTserver_ip$HTcall_server_ip$HTtime$HTcampaign\n"; +$Aecho .= "$Aline"; +$Aecho .= "$Bline"; +$Aecho .= "$Aline"; + +if ($orderby=='timeup') {$orderSQL='status,last_call_time';} +if ($orderby=='timedown') {$orderSQL='status desc,last_call_time desc';} +if ($orderby=='campaignup') {$orderSQL='campaign_id,status,last_call_time';} +if ($orderby=='campaigndown') {$orderSQL='campaign_id desc,status desc,last_call_time desc';} +if ($orderby=='groupup') {$orderSQL='user_group,status,last_call_time';} +if ($orderby=='groupdown') {$orderSQL='user_group desc,status desc,last_call_time desc';} +if ($UidORname > 0) + { + if ($orderby=='userup') {$orderSQL='full_name,status,last_call_time';} + if ($orderby=='userdown') {$orderSQL='full_name desc,status desc,last_call_time desc';} + } +else + { + if ($orderby=='userup') {$orderSQL='vicidial_live_agents.user';} + if ($orderby=='userdown') {$orderSQL='vicidial_live_agents.user desc';} + } + +if ($group=='XXXX-ALL-ACTIVE-XXXX') {$groupSQL = '';} +else {$groupSQL = " and campaign_id='" . mysql_real_escape_string($group) . "'";} +if (strlen($usergroup)<1) {$usergroupSQL = '';} +else {$usergroupSQL = " and user_group='" . mysql_real_escape_string($usergroup) . "'";} + +$stmt="select extension,vicidial_live_agents.user,conf_exten,status,server_ip,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),call_server_ip,campaign_id,vicidial_users.user_group,vicidial_users.full_name,vicidial_live_agents.comments from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user $groupSQL $usergroupSQL order by $orderSQL;"; + +#$stmt="select extension,vicidial_live_agents.user,conf_exten,status,server_ip,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),call_server_ip,campaign_id,vicidial_users.user_group,vicidial_users.full_name from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user and campaign_id='" . mysql_real_escape_string($group) . "' order by $orderSQL;"; + +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + $agentcount=0; + while ($i < $talking_to_print) + { + $row=mysql_fetch_row($rslt); + if (eregi("READY|PAUSED",$row[3])) + { + $row[5]=$row[6]; + } + if ($non_latin < 1) + { + $extension = eregi_replace('Local/',"",$row[0]); + $extension = sprintf("%-10s", $extension); + while(strlen($extension)>10) {$extension = substr("$extension", 0, -1);} + } + else + { + $extension = eregi_replace('Local/',"",$row[0]); + $extension = sprintf("%-40s", $extension); + while(mb_strlen($extension, 'utf-8')>10) {$extension = mb_substr("$extension", 0, -1,'utf8');} + } + $Luser = $row[1]; + $user = sprintf("%-18s", $row[1]); + $Lsessionid = $row[2]; + $sessionid = sprintf("%-9s", $row[2]); + $Lstatus = $row[3]; + $status = sprintf("%-6s", $row[3]); + $server_ip = sprintf("%-15s", $row[4]); + $call_server_ip = sprintf("%-15s", $row[7]); + $campaign_id = sprintf("%-10s", $row[8]); + $comments= $row[11]; + + if (eregi("INCALL",$Lstatus)) + { + if ( (eregi("AUTO",$comments)) or (strlen($comments)<1) ) + {$CM='A';} + else + { + if (eregi("INBOUND",$comments)) + {$CM='I';} + else + {$CM='M';} + } + } + else {$CM=' ';} + + if ($UGdisplay > 0) + { + if ($non_latin < 1) + { + $user_group = sprintf("%-12s", $row[9]); + while(strlen($user_group)>12) {$user_group = substr("$user_group", 0, -1);} + } + else + { + $user_group = sprintf("%-40s", $row[9]); + while(mb_strlen($user_group, 'utf-8')>12) {$user_group = mb_substr("$user_group", 0, -1,'utf8');} + } + } + if ($UidORname > 0) + { + if ($non_latin < 1) + { + $user = sprintf("%-18s", $row[10]); + while(strlen($user)>18) {$user = substr("$user", 0, -1);} + } + else + { + $user = sprintf("%-40s", $row[10]); + while(mb_strlen($user, 'utf-8')>18) {$user = mb_substr("$user", 0, -1,'utf8');} + } + } + if (!eregi("INCALL|QUEUE",$row[3])) + {$call_time_S = ($STARTtime - $row[6]);} + else + {$call_time_S = ($STARTtime - $row[5]);} + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + if ($Lstatus=='INCALL') + { + if ($call_time_S >= 10) {$G=''; $EG='';} + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + # if ($call_time_M_int >= 10) {$G=''; $EG='';} + } + if (eregi("PAUSED",$row[3])) + { + if ($call_time_M_int >= 30) + {$i++; continue;} + else + { + $agent_paused++; $agent_total++; + $G=''; $EG=''; + if ($call_time_S >= 10) {$G=''; $EG='';} + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + } + } +# if ( (strlen($row[7])> 4) and ($row[7] != "$row[4]") ) +# {$G=''; $EG='';} + + if ( (eregi("INCALL",$status)) or (eregi("QUEUE",$status)) ) {$agent_incall++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) {$agent_ready++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) + { + $G=''; $EG=''; + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + } + + $L=''; + $R=''; + if ($SIPmonitorLINK>0) {$L=" LISTEN"; $R='';} + if ($IAXmonitorLINK>0) {$L=" LISTEN"; $R='';} + if ($SIPmonitorLINK>1) {$R=" | BARGE";} + if ($IAXmonitorLINK>1) {$R=" | BARGE";} + + if ($UGdisplay > 0) {$UGD = " $G$user_group$EG |";} + else {$UGD = "";} + + if ($SERVdisplay > 0) {$SVD = "$G$server_ip$EG | $G$call_server_ip$EG | ";} + else {$SVD = "";} + + $agentcount++; + + $Aecho .= "| $G$extension$EG | $G$user$EG |$UGD $G$sessionid$EG$L$R | $G$status$EG $CM | $SVD$G$call_time_MS$EG | $G$campaign_id$EG |\n"; + + $i++; + } + + $Aecho .= "$Aline"; + $Aecho .= " $agentcount agents logged in on all servers\n"; + $Aecho .= " System Load Average: $load_ave\n\n"; + + # $Aecho .= " - Balanced call\n"; + $Aecho .= " - Agent waiting for call\n"; + $Aecho .= " - Agent waiting for call > 1 minute\n"; + $Aecho .= " - Agent waiting for call > 5 minutes\n"; + $Aecho .= " - Agent on call > 10 seconds\n"; + $Aecho .= " - Agent on call > 1 minute\n"; + $Aecho .= " - Agent on call > 5 minutes\n"; + $Aecho .= " - Agent Paused > 10 seconds\n"; + $Aecho .= " - Agent Paused > 1 minute\n"; + $Aecho .= " - Agent Paused > 5 minutes\n"; + + if ($agent_ready > 0) {$B=''; $BG='';} + if ($agent_ready > 4) {$B=''; $BG='';} + if ($agent_ready > 9) {$B=''; $BG='';} + if ($agent_ready > 14) {$B=''; $BG='';} + + + echo "\n
\n"; + + echo "$NFB$agent_total$NFE agents logged in         \n"; + echo "$NFB$agent_incall$NFE agents in calls       \n"; + echo "$NFB$B  $agent_ready $BG$NFE agents waiting       \n"; + echo "$NFB$agent_paused$NFE paused agents       \n"; + + echo "
";
+		echo "";
+		echo "$Aecho";
+	}
+	else
+	{
+	echo " NO AGENTS ON CALLS \n";
+	}
+
+?>
+
+ + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonVDADallREC.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonVDADallREC.php new file mode 100644 index 00000000..2abf27b2 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonVDADallREC.php @@ -0,0 +1,943 @@ + LICENSE: GPLv2 +# +# live real-time stats for the VICIDIAL Auto-Dialer all servers +# +# STOP=4000, SLOW=40, GO=4 seconds refresh interval +# +# CHANGELOG: +# 50406-0920 - Added Paused agents < 1 min (Chris Doyle) +# 51130-1218 - Modified layout and info to show all servers in a vicidial system +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60511-1343 - Added leads and drop info at the top of the screen +# 60608-1539 - Fixed CLOSER tallies for active calls +# 60619-1658 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 60626-1453 - Added display of system load to bottom (Angelito Manansala) +# 60901-1123 - Changed display elements at the top of the screen +# 60905-1342 - Fixed non INCALL|QUEUE timer column +# 61002-1642 - Added TRUNK SHORT/FILL stats +# 61101-1318 - Added SIP and IAX Listen and Barge links option +# 61101-1647 - Added Usergroup column and user name option as well as sorting +# 61102-1155 - Made display of columns more modular, added ability to hide server info +# 61215-1131 - Added answered calls and drop percent taken from answered calls +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70123-1151 - Added non_latin options for substr in display variables, thanks Marin Blu +# 70206-1140 - Added call-type statuses to display(A-Auto, M-Manual, I-Inbound/Closer) +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["RR"])) {$RR=$_GET["RR"];} + elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["usergroup"])) {$usergroup=$_GET["usergroup"];} + elseif (isset($_POST["usergroup"])) {$usergroup=$_POST["usergroup"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["adastats"])) {$adastats=$_GET["adastats"];} + elseif (isset($_POST["adastats"])) {$adastats=$_POST["adastats"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["SIPmonitorLINK"])) {$SIPmonitorLINK=$_GET["SIPmonitorLINK"];} + elseif (isset($_POST["SIPmonitorLINK"])) {$SIPmonitorLINK=$_POST["SIPmonitorLINK"];} +if (isset($_GET["IAXmonitorLINK"])) {$IAXmonitorLINK=$_GET["IAXmonitorLINK"];} + elseif (isset($_POST["IAXmonitorLINK"])) {$IAXmonitorLINK=$_POST["IAXmonitorLINK"];} +if (isset($_GET["UGdisplay"])) {$UGdisplay=$_GET["UGdisplay"];} + elseif (isset($_POST["UGdisplay"])) {$UGdisplay=$_POST["UGdisplay"];} +if (isset($_GET["UidORname"])) {$UidORname=$_GET["UidORname"];} + elseif (isset($_POST["UidORname"])) {$UidORname=$_POST["UidORname"];} +if (isset($_GET["orderby"])) {$orderby=$_GET["orderby"];} + elseif (isset($_POST["orderby"])) {$orderby=$_POST["orderby"];} +if (isset($_GET["SERVdisplay"])) {$SERVdisplay=$_GET["SERVdisplay"];} + elseif (isset($_POST["SERVdisplay"])) {$SERVdisplay=$_POST["SERVdisplay"];} + +if (isset($_GET["RECmonitorLINK"])) {$RECmonitorLINK=$_GET["RECmonitorLINK"];} + elseif (isset($_POST["RECmonitorLINK"])) {$RECmonitorLINK=$_POST["RECmonitorLINK"];} + +if (!isset($RR)) {$gRRroup=4;} +if (!isset($group)) {$group='';} +if (!isset($usergroup)) {$usergroup='';} +if (!isset($UGdisplay)) {$UGdisplay=0;} # 0=no, 1=yes +if (!isset($UidORname)) {$UidORname=0;} # 0=id, 1=name +if (!isset($orderby)) {$orderby='timeup';} +if (!isset($SERVdisplay)) {$SERVdisplay=1;} # 0=no, 1=yes + +function get_server_load($windows = false) { +$os = strtolower(PHP_OS); +if(strpos($os, "win") === false) { +if(file_exists("/proc/loadavg")) { +$load = file_get_contents("/proc/loadavg"); +$load = explode(' ', $load); +return $load[0]; +} +elseif(function_exists("shell_exec")) { +$load = explode(' ', `uptime`); +return $load[count($load)-1]; +} +else { +return false; +} +} +elseif($windows) { +if(class_exists("COM")) { +$wmi = new COM("WinMgmts:\\\\."); +$cpus = $wmi->InstancesOf("Win32_Processor"); + +$cpuload = 0; +$i = 0; +while ($cpu = $cpus->Next()) { +$cpuload += $cpu->LoadPercentage; +$i++; +} + +$cpuload = round($cpuload / $i, 2); +return "$cpuload%"; +} +else { +return false; +} +} +} + +$load_ave = get_server_load(true); + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + + $stmt="SELECT vicidial_recording from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $authrec=$row[0]; + if ($authrec=='1') {$RECmonitorLINK = 1;} else {$RECmonitorLINK = 0;} + + +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd-His"); +$NOW_DAY = date("Y-m-d"); +$NOW_HOUR = date("H:i:s"); +$STARTtime = date("U"); +$epochSIXhoursAGO = ($STARTtime - 21600); +$timeSIXhoursAGO = date("Y-m-d H:i:s",$epochSIXhoursAGO); + +$stmt="select campaign_id from vicidial_campaigns where active='Y';"; +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + +$stmt="select * from vicidial_user_groups;"; +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$usergroups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $usergroups_to_print) + { + $row=mysql_fetch_row($rslt); + $usergroups[$i] =$row[0]; + $i++; + } + +if (!isset($RR)) {$RR=4;} + +$NFB = ''; +$NFE = ''; +$F=''; $FG=''; $B=''; $BG=''; + +?> + + + + + + + + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On VDAD Campaign: $group\n"; +echo "
\n"; +echo "VICIDIAL Campaign: \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +if ($UGdisplay > 0) + { + echo "\n"; + } +echo "         \n"; +echo "STOP | "; +echo "SLOW | "; +echo "GO"; +echo "       MODIFY | \n"; +echo "SUMMARY | \n"; +echo "REPORTS \n"; +echo "\n\n"; + + +if (!$group) {echo "

please select a campaign from the pulldown above
\n"; exit;} +else +{ +$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; + +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select avg(auto_dial_level),min(dial_status_a),min(dial_status_b),min(dial_status_c),min(dial_status_d),min(dial_status_e),min(lead_order),min(lead_filter_id),sum(hopper_level),min(dial_method),avg(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),min(available_only_ratio_tally),min(adaptive_latest_server_time),min(local_call_time),avg(dial_timeout),min(dial_statuses) from vicidial_campaigns;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DIALlev = $row[0]; +$DIALstatusA = $row[1]; +$DIALstatusB = $row[2]; +$DIALstatusC = $row[3]; +$DIALstatusD = $row[4]; +$DIALstatusE = $row[5]; +$DIALorder = $row[6]; +$DIALfilter = $row[7]; +$HOPlev = $row[8]; +$DIALmethod = $row[9]; +$maxDIALlev = $row[10]; +$DROPmax = $row[11]; +$targetDIFF = $row[12]; +$ADAintense = $row[13]; +$ADAavailonly = $row[14]; +$TAPERtime = $row[15]; +$CALLtime = $row[16]; +$DIALtimeout = $row[17]; +$DIALstatuses = $row[18]; + $DIALstatuses = (preg_replace("/ -$|^ /","",$DIALstatuses)); + $DIALstatuses = (ereg_replace(' ',', ',$DIALstatuses)); + +$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select count(*) from vicidial_hopper;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VDhop = $row[0]; + +$stmt="select dialable_leads,calls_today,drops_today,drops_answers_today_pct,differential_onemin,agents_average_onemin,balance_trunk_fill,answers_today from vicidial_campaign_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today) from vicidial_campaign_stats;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DAleads = $row[0]; +$callsTODAY = $row[1]; +$dropsTODAY = $row[2]; +$drpctTODAY = $row[3]; +$diffONEMIN = $row[4]; +$agentsONEMIN = $row[5]; +$balanceFILL = $row[6]; +$answersTODAY = $row[7]; +if ( ($diffONEMIN != 0) and ($agentsONEMIN > 0) ) + { + $diffpctONEMIN = ( ($diffONEMIN / $agentsONEMIN) * 100); + $diffpctONEMIN = sprintf("%01.2f", $diffpctONEMIN); + } +else {$diffpctONEMIN = '0.00';} + +$stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$balanceSHORT = $row[0]; + +echo "
"; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +if ($adastats>1) + { + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo "
DIAL LEVEL:  $DIALlev    TRUNK SHORT/FILL:  $balanceSHORT / $balanceFILL     FILTER:  $DIALfilter   TIME:   $NOW_TIME
- min   MAX LEVEL:  $maxDIALlev   DROPPED MAX:  $DROPmax%    TARGET DIFF:  $targetDIFF     INTENSITY:  $ADAintense    
DIAL TIMEOUT:  $DIALtimeout  TAPER TIME:  $TAPERtime  LOCAL TIME:  $CALLtime  AVAIL ONLY:  $ADAavailonly  
DIALABLE LEADS:  $DAleads     CALLS TODAY:  $callsTODAY     AVG AGENTS:  $agentsONEMIN     DIAL METHOD:  $DIALmethod    
HOPPER LEVEL:  $HOPlev     DROPPED / ANSWERED:  $dropsTODAY / $answersTODAY   DL DIFF:  $diffONEMIN     STATUSES:  $DIALstatuses    
LEADS IN HOPPER:  $VDhop     DROPPED PERCENT:  $drpctTODAY%    DIFF:  $diffpctONEMIN%     ORDER:  $DIALorder    
"; + +if ($adastats<2) + { + echo "+ VIEW MORE SETTINGS"; + } +if ($UGdisplay>0) + { + echo "       HIDE USER GROUP"; + } +else + { + echo "       VIEW USER GROUP"; + } +if ($UidORname>0) + { + echo "       SHOW AGENT ID"; + } +else + { + echo "       SHOW AGENT NAME"; + } +if ($SERVdisplay>0) + { + echo "       HIDE SERVER INFO"; + } +else + { + echo "       SHOW SERVER INFO"; + } +echo "
"; + +echo "\n\n"; +} +################################################################################### +###### OUTBOUND CALLS +################################################################################### +if (eregi("(CLOSER|BLEND|INBND|_C$|_B$|_I$)",$group)) + { + $stmt="select closer_campaigns from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} + if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = preg_replace("/^ | -$/","",$row[0]); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') and ( (call_type='IN' and campaign_id IN($closer_campaigns)) or (campaign_id='" . mysql_real_escape_string($group) . "' and call_type='OUT') );"; + } +else + { + if ($group=='XXXX-ALL-ACTIVE-XXXX') {$groupSQL = '';} + else {$groupSQL = " and campaign_id='" . mysql_real_escape_string($group) . "'";} + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') $groupSQL;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$parked_to_print = mysql_num_rows($rslt); + if ($parked_to_print > 0) + { + $i=0; + $out_total=0; + $out_ring=0; + $out_live=0; + while ($i < $parked_to_print) + { + $row=mysql_fetch_row($rslt); + + if (eregi("LIVE",$row[0])) + {$out_live++;} + else + { + if (eregi("CLOSER",$row[0])) + {$nothing=1;} + else + {$out_ring++;} + } + $out_total++; + $i++; + } + + if ($out_live > 0) {$F=''; $FG='';} + if ($out_live > 4) {$F=''; $FG='';} + if ($out_live > 9) {$F=''; $FG='';} + if ($out_live > 14) {$F=''; $FG='';} + + if (eregi("(CLOSER|BLEND|INBND|_C$|_B$|_I$)",$group)) + {echo "$NFB$out_total$NFE current active calls      \n";} + else + {echo "$NFB$out_total$NFE calls being placed       \n";} + + echo "$NFB$out_ring$NFE calls ringing         \n"; + echo "$NFB$F  $out_live $FG$NFE calls waiting for agents       \n"; + } + else + { + echo " NO LIVE CALLS WAITING \n"; + } + + +################################################################################### +###### TIME ON SYSTEM +################################################################################### + +$agent_incall=0; +$agent_ready=0; +$agent_paused=0; +$agent_total=0; + +$Aecho = ''; +$Aecho .= "VICIDIAL: Agents Time On Calls Campaign: $group $NOW_TIME\n\n"; + + +$HDbegin = "+"; +$HTbegin = "|"; +$HDstation = "------------+"; +$HTstation = " STATION |"; +$HDuser = "--------------------+"; +$HTuser = " USER |"; +$HDusergroup = "--------------+"; +$HTusergroup = " USER GROUP |"; +$HDsessionid = "------------------+"; +$HTsessionid = " SESSIONID |"; +$HDbarge = "-------+"; +$HTbarge = " BARGE |"; +$HDrec = "---------+"; +$HTrec = " MONITOR |"; +$HDstatus = "----------+"; +$HTstatus = " STATUS |"; +$HDserver_ip = "-----------------+"; +$HTserver_ip = " SERVER IP |"; +$HDcall_server_ip = "-----------------+"; +$HTcall_server_ip = " CALL SERVER IP |"; +$HDtime = "---------+"; +$HTtime = " MM:SS |"; +$HDcampaign = "------------+"; +$HTcampaign = " CAMPAIGN |"; + +if ($UGdisplay < 1) + { + $HDusergroup = ''; + $HTusergroup = ''; + } +if ( ($SIPmonitorLINK<1) && ($IAXmonitorLINK<1) ) + { + $HDsessionid = "-----------+"; + $HTsessionid = " SESSIONID |"; + } +if ( ($SIPmonitorLINK<2) && ($IAXmonitorLINK<2) ) + { + $HDbarge = ''; + $HTbarge = ''; + } +if ($SERVdisplay < 1) + { + $HDserver_ip = ''; + $HTserver_ip = ''; + $HDcall_server_ip = ''; + $HTcall_server_ip = ''; + } + +if ( ($RECmonitorLINK<1) ) +{ + $HDrec = ''; + $HTrec = ''; +} + +$Aline = "$HDbegin$HDstation$HDuser$HDusergroup$HDsessionid$HDbarge$HDstatus$HDrec$HDserver_ip$HDcall_server_ip$HDtime$HDcampaign\n"; +$Bline = "$HTbegin$HTstation$HTuser$HTusergroup$HTsessionid$HTbarge$HTstatus$HTrec$HTserver_ip$HTcall_server_ip$HTtime$HTcampaign\n"; + +$Aecho .= "$Aline"; +$Aecho .= "$Bline"; +$Aecho .= "$Aline"; + +if ($orderby=='timeup') {$orderSQL='status,last_call_time';} +if ($orderby=='timedown') {$orderSQL='status desc,last_call_time desc';} +if ($orderby=='campaignup') {$orderSQL='campaign_id,status,last_call_time';} +if ($orderby=='campaigndown') {$orderSQL='campaign_id desc,status desc,last_call_time desc';} +if ($orderby=='groupup') {$orderSQL='user_group,status,last_call_time';} +if ($orderby=='groupdown') {$orderSQL='user_group desc,status desc,last_call_time desc';} +if ($UidORname > 0) + { + if ($orderby=='userup') {$orderSQL='full_name,status,last_call_time';} + if ($orderby=='userdown') {$orderSQL='full_name desc,status desc,last_call_time desc';} + } +else + { + if ($orderby=='userup') {$orderSQL='vicidial_live_agents.user';} + if ($orderby=='userdown') {$orderSQL='vicidial_live_agents.user desc';} + } + +if ($group=='XXXX-ALL-ACTIVE-XXXX') {$groupSQL = '';} +else {$groupSQL = " and campaign_id='" . mysql_real_escape_string($group) . "'";} +if (strlen($usergroup)<1) {$usergroupSQL = '';} +else {$usergroupSQL = " and user_group='" . mysql_real_escape_string($usergroup) . "'";} + +$stmt="select extension,vicidial_live_agents.user,conf_exten,status,server_ip,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),call_server_ip,campaign_id,vicidial_users.user_group,vicidial_users.full_name,vicidial_live_agents.comments,lead_id,vicidial_users.pass from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user $groupSQL $usergroupSQL order by $orderSQL;"; + +#$stmt="select extension,vicidial_live_agents.user,conf_exten,status,server_ip,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),call_server_ip,campaign_id,vicidial_users.user_group,vicidial_users.full_name from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user and campaign_id='" . mysql_real_escape_string($group) . "' order by $orderSQL;"; + +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + $agentcount=0; + while ($i < $talking_to_print) + { + $row=mysql_fetch_row($rslt); + if (eregi("READY|PAUSED",$row[3])) + { + $row[5]=$row[6]; + } + if ($non_latin < 1) + { + $extension = eregi_replace('Local/',"",$row[0]); + $extension = eregi_replace('IAX2/',"",$row[0]); + $extension = sprintf("%-10s", $extension); + while(strlen($extension)>10) {$extension = substr("$extension", 0, -1);} + } + else + { + $extension = eregi_replace('Local/',"",$row[0]); + $extension = eregi_replace('IAX2/',"",$row[0]); + $extension = sprintf("%-40s", $extension); + while(mb_strlen($extension, 'utf-8')>10) {$extension = mb_substr("$extension", 0, -1,'utf8');} + } + + $Luser = $row[1]; + $user = sprintf("%-18s", $row[1]); + $Lsessionid = $row[2]; + $sessionid = sprintf("%-9s", $row[2]); + $Lstatus = $row[3]; + $status = sprintf("%-6s", $row[3]); + $Lserver_ip = $row[4]; + $server_ip = sprintf("%-15s", $row[4]); + $call_server_ip = sprintf("%-15s", $row[7]); + $campaign_id = sprintf("%-10s", $row[8]); + $comments= $row[11]; + + $lead_id = $row[12]; + $user_pass = $row[13]; + + + if (eregi("INCALL",$Lstatus)) + { + if ( (eregi("AUTO",$comments)) or (strlen($comments)<1) ) + {$CM='A';} + else + { + if (eregi("INBOUND",$comments)) + {$CM='I';} + else + {$CM='M';} + } + } + else {$CM=' ';} + + if ($UGdisplay > 0) + { + if ($non_latin < 1) + { + $user_group = sprintf("%-12s", $row[9]); + while(strlen($user_group)>12) {$user_group = substr("$user_group", 0, -1);} + } + else + { + $user_group = sprintf("%-40s", $row[9]); + while(mb_strlen($user_group, 'utf-8')>12) {$user_group = mb_substr("$user_group", 0, -1,'utf8');} + } + } + if ($UidORname > 0) + { + if ($non_latin < 1) + { + $user = sprintf("%-18s", $row[10]); + while(strlen($user)>18) {$user = substr("$user", 0, -1);} + } + else + { + $user = sprintf("%-40s", $row[10]); + while(mb_strlen($user, 'utf-8')>18) {$user = mb_substr("$user", 0, -1,'utf8');} + } + } + if (!eregi("INCALL|QUEUE",$row[3])) + {$call_time_S = ($STARTtime - $row[6]);} + else + {$call_time_S = ($STARTtime - $row[5]);} + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + if ($Lstatus=='INCALL') + { + if ($call_time_S >= 10) {$G=''; $EG='';} + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + # if ($call_time_M_int >= 10) {$G=''; $EG='';} + } + if (eregi("PAUSED",$row[3])) + { + if ($call_time_M_int >= 30) + {$i++; continue;} + else + { + $agent_paused++; $agent_total++; + $G=''; $EG=''; + if ($call_time_S >= 10) {$G=''; $EG='';} + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + } + } +# if ( (strlen($row[7])> 4) and ($row[7] != "$row[4]") ) +# {$G=''; $EG='';} + + if ( (eregi("INCALL",$status)) or (eregi("QUEUE",$status)) ) {$agent_incall++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) {$agent_ready++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) + { + $G=''; $EG=''; + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + } + + $L=''; + $R=''; + $LL=''; + $EXTF='6'; + $servip= str_replace('.','',$Lserver_ip); + if ($SIPmonitorLINK>0) {$L=" LISTEN"; $R='';} + if ($IAXmonitorLINK>0) {$L=" LISTEN"; $R='';} + if ($SIPmonitorLINK>1) {$R=" | BARGE";} + if ($IAXmonitorLINK>1) {$R=" | BARGE";} + + + if ($RECmonitorLINK>0) + { + + $stmt="select session_name from web_client_sessions where server_ip ='$server_ip' and extension ='$extension' limit 1;"; + if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} + $rslta=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $sess = mysql_num_rows($rslta); + + if ($sess > 0) + { + $row=mysql_fetch_row($rslta); + $sessionname = $row[0]; + } else + { + $sessionname = ""; + } + + + $stmt="select end_time,channel,extension,lead_id,user,server_ip,filename from recording_log where server_ip ='$server_ip' and user ='$Luser';"; + if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} + $rslta=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $rec_channels = mysql_num_rows($rslta); + + if ($rec_channels > 0) + { + $ii=0; + while ($ii < $rec_channels) + { + $row=mysql_fetch_row($rslta); + $pos=strpos($row[1], $Lsessionid); + + if ($pos===false) + { + $LL=" Rec "; + } + else + { + if(is_null($row[0])) { + $LL=" Stop"; + } + else + { + $LL=" Rec "; + } + } + + $ii++; + } + } + else + { + $LL=" Rec "; + + } + } + + + if ($UGdisplay > 0) {$UGD = " $G$user_group$EG |";} + else {$UGD = "";} + + if ($SERVdisplay > 0) {$SVD = "$G$server_ip$EG | $G$call_server_ip$EG | ";} + else {$SVD = "";} + + $agentcount++; + + $Aecho .= "| $G$extension$EG | $G$user$EG |$UGD $G$sessionid$EG$L$R | $G$status$EG $CM | $LL | $SVD$G$call_time_MS$EG | $G$campaign_id$EG |\n"; + + $i++; + } + + $Aecho .= "$Aline"; + $Aecho .= " $agentcount agents logged in on all servers\n"; + $Aecho .= " System Load Average: $load_ave\n\n"; + + # $Aecho .= " - Balanced call\n"; + $Aecho .= " - Agent waiting for call\n"; + $Aecho .= " - Agent waiting for call > 1 minute\n"; + $Aecho .= " - Agent waiting for call > 5 minutes\n"; + $Aecho .= " - Agent on call > 10 seconds\n"; + $Aecho .= " - Agent on call > 1 minute\n"; + $Aecho .= " - Agent on call > 5 minutes\n"; + $Aecho .= " - Agent Paused > 10 seconds\n"; + $Aecho .= " - Agent Paused > 1 minute\n"; + $Aecho .= " - Agent Paused > 5 minutes\n"; + + if ($agent_ready > 0) {$B=''; $BG='';} + if ($agent_ready > 4) {$B=''; $BG='';} + if ($agent_ready > 9) {$B=''; $BG='';} + if ($agent_ready > 14) {$B=''; $BG='';} + + + echo "\n
\n"; + + echo "$NFB$agent_total$NFE agents logged in         \n"; + echo "$NFB$agent_incall$NFE agents in calls       \n"; + echo "$NFB$B  $agent_ready $BG$NFE agents waiting       \n"; + echo "$NFB$agent_paused$NFE paused agents       \n"; + + echo "
";
+		echo "";
+		echo "$Aecho";
+	}
+	else
+	{
+	echo " NO AGENTS ON CALLS \n";
+	}
+
+?>
+
+ + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonVDADallSUMMARY.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonVDADallSUMMARY.php new file mode 100644 index 00000000..242b27a0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonVDADallSUMMARY.php @@ -0,0 +1,442 @@ + LICENSE: GPLv2 +# +# Summary for all campaigns live real-time stats for the VICIDIAL Auto-Dialer all servers +# +# STOP=4000, SLOW=40, GO=4 seconds refresh interval +# +# changes: +# 61102-1616 - first build +# 61215-1131 - added answered calls and drop percent taken from answered calls +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70619-1339 - Added Status Category tally display +# 71029-1900 - Changed CLOSER-type to not require campaign_id restriction +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["RR"])) {$RR=$_GET["RR"];} + elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["adastats"])) {$adastats=$_GET["adastats"];} + elseif (isset($_POST["adastats"])) {$adastats=$_POST["adastats"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +if (!isset($RR)) {$gRRroup=4;} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); + +$stmt="select campaign_id from vicidial_campaigns where active='Y';"; +$rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + +if (!isset($RR)) {$RR=4;} + +?> + + + + + +\n"; +echo "VICIDIAL: Realtime All Campaigns Summary\n"; +echo "VICIDIAL: Realtime All Campaigns Summary           \n"; +echo "STOP | "; +echo "SLOW | "; +echo "GO "; +echo "       \n"; +if ($adastats<2) + { + echo "+ VIEW MORE SETTINGS"; + } +else + { + echo "- VIEW LESS SETTINGS"; + } +echo "       REPORTS"; +echo "

\n\n"; + +$k=0; +while($k<$groups_to_print) +{ +$NFB = ''; +$NFE = ''; +$F=''; $FG=''; $B=''; $BG=''; + +$group = $groups[$k]; +echo "$group   -   "; +echo "Modify\n"; + + +$stmt = "select count(*) from vicidial_campaigns where campaign_id='$group' and campaign_allow_inbound='Y';"; +$rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $campaign_allow_inbound = $row[0]; + +$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DIALlev = $row[0]; +$DIALstatusA = $row[1]; +$DIALstatusB = $row[2]; +$DIALstatusC = $row[3]; +$DIALstatusD = $row[4]; +$DIALstatusE = $row[5]; +$DIALorder = $row[6]; +$DIALfilter = $row[7]; +$HOPlev = $row[8]; +$DIALmethod = $row[9]; +$maxDIALlev = $row[10]; +$DROPmax = $row[11]; +$targetDIFF = $row[12]; +$ADAintense = $row[13]; +$ADAavailonly = $row[14]; +$TAPERtime = $row[15]; +$CALLtime = $row[16]; +$DIALtimeout = $row[17]; +$DIALstatuses = $row[18]; + $DIALstatuses = (preg_replace("/ -$|^ /","",$DIALstatuses)); + $DIALstatuses = (ereg_replace(' ',', ',$DIALstatuses)); + +$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VDhop = $row[0]; + +$stmt="select dialable_leads,calls_today,drops_today,drops_answers_today_pct,differential_onemin,agents_average_onemin,balance_trunk_fill,answers_today,status_category_1,status_category_count_1,status_category_2,status_category_count_2,status_category_3,status_category_count_3,status_category_4,status_category_count_4 from vicidial_campaign_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DAleads = $row[0]; +$callsTODAY = $row[1]; +$dropsTODAY = $row[2]; +$drpctTODAY = $row[3]; +$diffONEMIN = $row[4]; +$agentsONEMIN = $row[5]; +$balanceFILL = $row[6]; +$answersTODAY = $row[7]; +$VSCcat1 = $row[8]; +$VSCcat1tally = $row[9]; +$VSCcat2 = $row[10]; +$VSCcat2tally = $row[11]; +$VSCcat3 = $row[12]; +$VSCcat3tally = $row[13]; +$VSCcat4 = $row[14]; +$VSCcat4tally = $row[15]; + +if ( ($diffONEMIN != 0) and ($agentsONEMIN > 0) ) + { + $diffpctONEMIN = ( ($diffONEMIN / $agentsONEMIN) * 100); + $diffpctONEMIN = sprintf("%01.2f", $diffpctONEMIN); + } +else {$diffpctONEMIN = '0.00';} + +$stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$balanceSHORT = $row[0]; + +echo "
"; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +if ($adastats>1) + { + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "
DIAL LEVEL:  $DIALlev    TRUNK SHORT/FILL:  $balanceSHORT / $balanceFILL     FILTER:  $DIALfilter   TIME:   $NOW_TIME
  MAX LEVEL:  $maxDIALlev   DROPPED MAX:  $DROPmax%    TARGET DIFF:  $targetDIFF     INTENSITY:  $ADAintense    
DIAL TIMEOUT:  $DIALtimeout  TAPER TIME:  $TAPERtime  LOCAL TIME:  $CALLtime  AVAIL ONLY:  $ADAavailonly  
DIALABLE LEADS:  $DAleads     CALLS TODAY:  $callsTODAY     AVG AGENTS:  $agentsONEMIN     DIAL METHOD:  $DIALmethod    
HOPPER LEVEL:  $HOPlev     DROPPED / ANSWERED:  $dropsTODAY / $answersTODAY   DL DIFF:  $diffONEMIN     STATUSES:  $DIALstatuses    
LEADS IN HOPPER:  $VDhop     DROPPED PERCENT:  "; +if ($drpctTODAY >= $DROPmax) + {echo "$drpctTODAY%";} +else + {echo "$drpctTODAY%";} +echo "    DIFF:  $diffpctONEMIN%     ORDER:  $DIALorder    
"; +if ( (!eregi('NULL',$VSCcat1)) and (strlen($VSCcat1)>0) ) + {echo "$VSCcat1:   $VSCcat1tally       \n";} +if ( (!eregi('NULL',$VSCcat2)) and (strlen($VSCcat2)>0) ) + {echo "$VSCcat2:   $VSCcat2tally       \n";} +if ( (!eregi('NULL',$VSCcat3)) and (strlen($VSCcat3)>0) ) + {echo "$VSCcat3:   $VSCcat3tally       \n";} +if ( (!eregi('NULL',$VSCcat4)) and (strlen($VSCcat4)>0) ) + {echo "$VSCcat4:   $VSCcat4tally       \n";} +echo "
"; + +### Header finish + + + + + +################################################################################ +### START calculating calls/agents +################################################################################ + +################################################################################ +###### OUTBOUND CALLS +################################################################################ +if ($campaign_allow_inbound > 0) + { + $stmt="select closer_campaigns from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = preg_replace("/^ | -$/","",$row[0]); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') and ( (call_type='IN' and campaign_id IN($closer_campaigns)) or (campaign_id='" . mysql_real_escape_string($group) . "' and call_type='OUT') );"; + } +else + { + if ($group=='XXXX-ALL-ACTIVE-XXXX') {$groupSQL = '';} + else {$groupSQL = " and campaign_id='" . mysql_real_escape_string($group) . "'";} + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') $groupSQL;"; + } +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$parked_to_print = mysql_num_rows($rslt); + if ($parked_to_print > 0) + { + $i=0; + $out_total=0; + $out_ring=0; + $out_live=0; + while ($i < $parked_to_print) + { + $row=mysql_fetch_row($rslt); + + if (eregi("LIVE",$row[0])) + {$out_live++;} + else + { + if (eregi("CLOSER",$row[0])) + {$nothing=1;} + else + {$out_ring++;} + } + $out_total++; + $i++; + } + + if ($out_live > 0) {$F=''; $FG='';} + if ($out_live > 4) {$F=''; $FG='';} + if ($out_live > 9) {$F=''; $FG='';} + if ($out_live > 14) {$F=''; $FG='';} + + if ($campaign_allow_inbound > 0) + {echo "$NFB$out_total$NFE current active calls      \n";} + else + {echo "$NFB$out_total$NFE calls being placed       \n";} + + echo "$NFB$out_ring$NFE calls ringing         \n"; + echo "$NFB$F  $out_live $FG$NFE calls waiting for agents       \n"; + } + else + { + echo " NO LIVE CALLS WAITING \n"; + } + + +################################################################################### +###### TIME ON SYSTEM +################################################################################### + +$agent_incall=0; +$agent_ready=0; +$agent_paused=0; +$agent_total=0; + +$stmt="select extension,user,conf_exten,status,server_ip,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),call_server_ip,campaign_id from vicidial_live_agents where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + $agentcount=0; + while ($i < $talking_to_print) + { + $row=mysql_fetch_row($rslt); + if (eregi("READY|PAUSED",$row[3])) + { + $row[5]=$row[6]; + } + $Lstatus = $row[3]; + $status = sprintf("%-6s", $row[3]); + if (!eregi("INCALL|QUEUE",$row[3])) + {$call_time_S = ($STARTtime - $row[6]);} + else + {$call_time_S = ($STARTtime - $row[5]);} + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + if (eregi("PAUSED",$row[3])) + { + if ($call_time_M_int >= 30) + {$i++; continue;} + else + { + $agent_paused++; $agent_total++; + } + } + + if ( (eregi("INCALL",$status)) or (eregi("QUEUE",$status)) ) {$agent_incall++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) {$agent_ready++; $agent_total++;} + $agentcount++; + + + $i++; + } + + if ($agent_ready > 0) {$B=''; $BG='';} + if ($agent_ready > 4) {$B=''; $BG='';} + if ($agent_ready > 9) {$B=''; $BG='';} + if ($agent_ready > 14) {$B=''; $BG='';} + + echo "\n
\n"; + + echo "$NFB$agent_total$NFE agents logged in         \n"; + echo "$NFB$agent_incall$NFE agents in calls       \n"; + echo "$NFB$B  $agent_ready $BG$NFE agents waiting       \n"; + echo "$NFB$agent_paused$NFE paused agents       \n"; + + echo "
";
+		echo "";
+	}
+	else
+	{
+	echo " NO AGENTS ON CALLS
\n"; + } + +################################################################################ +### END calculating calls/agents +################################################################################ + + + + + +echo "
"; + +echo "\n\n"; +$k++; +} + +?> +
+ + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeoncall.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeoncall.php new file mode 100644 index 00000000..fc8eeced --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeoncall.php @@ -0,0 +1,180 @@ + LICENSE: GPLv2 +### + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];} + elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); + +?> + + + + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On Call\n"; +echo "
\n\n";
+
+echo "VICIDIAL: Time On Call                                          $NOW_TIME\n\n";
+echo "+------------+-----------+-----------+------------------+---------------------+---------+\n";
+echo "| STATION    | SESSIONID | CHANNEL   | NUMBER DIALED    | START TIME          | MINUTES |\n";
+echo "+------------+-----------+-----------+------------------+---------------------+---------+\n";
+
+$stmt="SELECT count(*) from live_sip_channels where server_ip='$server_ip';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$parked_count = $row[0];
+	if ($parked_count > 0)
+	{
+	$stmt="select extension from live_channels where server_ip='$server_ip';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$ext_to_print = mysql_num_rows($rslt);
+	$i=0;
+	$live_zap_counter=0;
+	$sessions = '';
+	while ($i < $ext_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+		if (preg_match("/^8600/i",$row[0]))
+			{
+			$sessions .= "$row[0]|";
+			}
+		$i++;
+		}
+	$sessions = preg_replace("/\|$/",'',$sessions);
+
+	if ($DB) {echo "SESSIONS: -$sessions-\n";}
+
+	$stmt="select * from live_sip_channels where server_ip='$server_ip' order by channel;";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$parked_to_print = mysql_num_rows($rslt);
+	$i=0;
+	$live_calls_counter=0;
+	while ($i < $parked_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+		if ( (preg_match("/Zap\/|internal|ring/i",$row[3])) or (preg_match("/Local\//i",$row[0])) )
+			{
+			if ($DB) {echo "NOT STATION |$row[0]|$row[3]|\n";}
+			$session_id = '';
+			}
+		else 
+			{
+			if (preg_match("/$row[3]/i",$sessions))
+				{
+				if ($DB) {echo "LIVE STATION|$row[0]|$row[3]|\n";}
+				$session_id = $row[3];
+				$station = preg_replace("/SIP\//",'',$row[0]);
+				$station = preg_replace("/-.*/",'',$station);
+			
+				$LIVE_sessions[$live_calls_counter] =			"$session_id";
+				$LIVE_sessions_FORMAT[$live_calls_counter] =	sprintf("%-9s", $session_id);
+				$LIVE_stations[$live_calls_counter] =			"$station";
+				$LIVE_stations_FORMAT[$live_calls_counter] =	sprintf("%-10s", $station);
+
+		#		echo "| $station | $session_id | \n";
+
+				$live_calls_counter++;
+				}
+			else
+				{
+				if ($DB) {echo "NOT STATIONZ|$row[0]|$row[3]|\n";}
+				$session_id = '';
+				}
+			}
+
+		$i++;
+		}
+
+		if ($live_calls_counter > 0)
+		{
+		$i=0;
+		$LC_counter = $live_calls_counter;
+
+		while ($i < $live_calls_counter)
+			{
+			$stmt="select channel,extension,number_dialed,start_time,start_epoch from call_log where extension='$LIVE_stations[$i]' and server_ip='$server_ip' order by uniqueid desc LIMIT 1;";
+			$rslt=mysql_query($stmt, $link);
+			if ($DB) {echo "$stmt\n";}
+			$parked_to_print = mysql_num_rows($rslt);
+			$row=mysql_fetch_row($rslt);
+
+			$channel =			sprintf("%-9s", $row[0]);
+			$number_dialed =	sprintf("%-16s", $row[2]);
+			$start_time =		sprintf("%-19s", $row[3]);
+			$call_time_S = ($STARTtime - $row[4]);
+
+			$call_time_M = ($call_time_S / 60);
+			$call_time_M = round($call_time_M, 2);
+			$call_time_M_int = intval("$call_time_M");
+			$call_time_SEC = ($call_time_M - $call_time_M_int);
+			$call_time_SEC = ($call_time_SEC * 60);
+			$call_time_SEC = round($call_time_SEC, 0);
+			if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+			$call_time_MS = "$call_time_M_int:$call_time_SEC";
+			$call_time_MS =		sprintf("%7s", $call_time_MS);
+			$G = '';		$EG = '';
+			if ($call_time_M_int >= 12) {$G=''; $EG='';}
+			if ($call_time_M_int >= 31) {$G=''; $EG='';}
+
+			echo "| $G$LIVE_stations_FORMAT[$i]$EG | $G$LIVE_sessions_FORMAT[$i]$EG | $G$channel$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+			$i++;
+			}
+
+		echo "+------------+-----------+-----------+------------------+---------------------+---------+\n";
+		echo "  $i stations on live calls on server $server_ip\n\n";
+
+		echo "             - 12 minutes or more on live call\n";
+		echo "             - Over 30 minutes on live call\n";
+
+		}
+		else
+		{
+		echo "*****************************************************************************************\n";
+		echo "*****************************************************************************************\n";
+		echo "*************************************** NO LIVE STATIONS ********************************\n";
+		echo "*****************************************************************************************\n";
+		echo "*****************************************************************************************\n";
+		}
+
+	}
+	else
+	{
+	echo "*****************************************************************************************\n";
+	echo "*****************************************************************************************\n";
+	echo "*************************************** NO LIVE STATIONS ********************************\n";
+	echo "*****************************************************************************************\n";
+	echo "*****************************************************************************************\n";
+	}
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonpark.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonpark.php new file mode 100644 index 00000000..fd54a333 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/AST_timeonpark.php @@ -0,0 +1,219 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60620-1042 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];} + elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +$timeONEhoursAGO = ($STARTtime - 3600); +$epochHALFhoursAGO = ($STARTtime - 1860); +$timeONEhoursAGO = date("Y-m-d H:i:s",$timeONEhoursAGO); +$timeHALFhoursAGO = date("Y-m-d H:i:s",$epochHALFhoursAGO); + +$reset_counter++; + +if ($reset_counter > 7) + { + $reset_counter=0; + + $stmt="update park_log set status='HUNGUP' where hangup_time is not null;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + + if ($DB) + { + $stmt="delete from park_log where status='TALKING' and grab_time < '$timeONEhoursAGO' and (hangup_time is null or hangup_time='');"; + $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + + $stmt="delete from park_log where status='PARKED' and parked_time < '$timeHALFhoursAGO' and (hangup_time is null or hangup_time='');"; + $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + + } + } + +?> + + + + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On Park\n"; +echo "
\n\n";
+
+echo "VICIDIAL: Time On Park         $NOW_TIME    REPORTS\n\n";
+echo "+------------+-----------------+---------------------+---------+\n";
+echo "| CHANNEL    | GROUP           | START TIME          | MINUTES |\n";
+echo "+------------+-----------------+---------------------+---------+\n";
+
+#$link=mysql_connect("localhost", "cron", "1234");
+# $linkX=mysql_connect("localhost", "cron", "1234");
+#mysql_select_db("asterisk");
+
+$stmt="select extension,user,channel,channel_group,parked_time,UNIX_TIMESTAMP(parked_time) from park_log where status ='PARKED' and server_ip='" . mysql_real_escape_string($server_ip) . "' order by uniqueid;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$parked_to_print = mysql_num_rows($rslt);
+	if ($parked_to_print > 0)
+	{
+	$i=0;
+	while ($i < $parked_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+
+		$channel =			sprintf("%-10s", $row[2]);
+		$number_dialed =	sprintf("%-15s", $row[3]);
+		$start_time =		sprintf("%-19s", $row[4]);
+		$call_time_S = ($STARTtime - $row[5]);
+
+		$call_time_M = ($call_time_S / 60);
+		$call_time_M = round($call_time_M, 2);
+		$call_time_M_int = intval("$call_time_M");
+		$call_time_SEC = ($call_time_M - $call_time_M_int);
+		$call_time_SEC = ($call_time_SEC * 60);
+		$call_time_SEC = round($call_time_SEC, 0);
+		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+		$call_time_MS = "$call_time_M_int:$call_time_SEC";
+		$call_time_MS =		sprintf("%7s", $call_time_MS);
+		$G = '';		$EG = '';
+		if ($call_time_M_int >= 1) {$G=''; $EG='';}
+		if ($call_time_M_int >= 6) {$G=''; $EG='';}
+
+		echo "| $G$channel$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+		$i++;
+		}
+
+		echo "+------------+-----------------+---------------------+---------+\n";
+		echo "  $i callers waiting on server $server_ip\n\n";
+
+		echo "             - 1 minute or more on hold\n";
+		echo "             - Over 5 minutes on hold\n";
+
+		}
+	else
+	{
+	echo "****************************************************************\n";
+	echo "****************************************************************\n";
+	echo "******************** NO LIVE CALLS WAITING *********************\n";
+	echo "****************************************************************\n";
+	echo "****************************************************************\n";
+	}
+
+###################################################################################
+###### TIME ON INBOUND CALLS
+###################################################################################
+echo "\n\n";
+echo "----------------------------------------------------------------------------------------";
+echo "\n\n";
+echo "VICIDIAL: Agents Time On Inbound Calls                             $NOW_TIME\n\n";
+echo "+------------|--------+------------+-----------------+---------------------+---------+\n";
+echo "| STATION    | USER   | CHANNEL    | GROUP           | START TIME          | MINUTES |\n";
+echo "+------------|--------+------------+-----------------+---------------------+---------+\n";
+
+
+$stmt="select extension,user,channel,channel_group,grab_time,UNIX_TIMESTAMP(grab_time) from park_log where status ='TALKING' and server_ip='" . mysql_real_escape_string($server_ip) . "' order by uniqueid;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$talking_to_print = mysql_num_rows($rslt);
+	if ($talking_to_print > 0)
+	{
+	$i=0;
+	while ($i < $talking_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+
+		$extension =		sprintf("%-10s", $row[0]);
+		$user =				sprintf("%-6s", $row[1]);
+		$channel =			sprintf("%-10s", $row[2]);
+		$number_dialed =	sprintf("%-15s", $row[3]);
+		$start_time =		sprintf("%-19s", $row[4]);
+		$call_time_S = ($STARTtime - $row[5]);
+
+		$call_time_M = ($call_time_S / 60);
+		$call_time_M = round($call_time_M, 2);
+		$call_time_M_int = intval("$call_time_M");
+		$call_time_SEC = ($call_time_M - $call_time_M_int);
+		$call_time_SEC = ($call_time_SEC * 60);
+		$call_time_SEC = round($call_time_SEC, 0);
+		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+		$call_time_MS = "$call_time_M_int:$call_time_SEC";
+		$call_time_MS =		sprintf("%7s", $call_time_MS);
+		$G = '';		$EG = '';
+		if ($call_time_M_int >= 12) {$G=''; $EG='';}
+		if ($call_time_M_int >= 31) {$G=''; $EG='';}
+
+		echo "| $G$extension$EG | $G$user$EG | $G$channel$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+		$i++;
+		}
+
+		echo "+------------|--------+------------+-----------------+---------------------+---------+\n";
+		echo "  $i agents on calls on server $server_ip\n\n";
+
+		echo "             - 12 minutes or more on call\n";
+		echo "             - Over 30 minutes on call\n";
+
+	}
+	else
+	{
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	echo "********************************* NO AGENTS ON CALLS *********************************\n";
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	}
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/admin.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/admin.php new file mode 100644 index 00000000..7fc0228a --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/admin.php @@ -0,0 +1,13575 @@ + LICENSE: GPLv2 +# + + +require("dbconnect.php"); + + +###################################################################################################### +###################################################################################################### +####### static variable settings for display options +###################################################################################################### +###################################################################################################### + +$page_width='770'; +$section_width='720'; +$header_font_size='3'; +$subheader_font_size='2'; +$subcamp_font_size='2'; +$header_selected_bold=''; +$header_nonselected_bold=''; +$users_color = '#FFFF99'; +$campaigns_color = '#FFCC99'; +$lists_color = '#FFCCCC'; +$ingroups_color = '#CC99FF'; +$remoteagent_color ='#CCFFCC'; +$usergroups_color = '#CCFFFF'; +$scripts_color = '#99FFCC'; +$filters_color = '#CCCCCC'; +$admin_color = '#FF99FF'; +$reports_color = '#99FF33'; +#$users_color = '#FFFF99'; +#$campaigns_color = '#FFFF99'; +#$lists_color = '#FFFF99'; +#$ingroups_color = '#FFFF99'; +#$remoteagent_color ='#FFFF99'; +#$usergroups_color = '#FFFF99'; +#$scripts_color = '#FFFF99'; +#$filters_color = '#FFFF99'; +#$admin_color = '#FFFF99'; +#$reports_color = '#FFFF99'; + $times_color = '#FF33FF'; + $phones_color = '#FF33FF'; + $conference_color = '#FF33FF'; + $server_color = '#FF33FF'; + $settings_color = '#FF33FF'; + $status_color = '#FF33FF'; +$users_font = 'BLACK'; +$campaigns_font = 'BLACK'; +$lists_font = 'BLACK'; +$ingroups_font = 'BLACK'; +$remoteagent_font = 'BLACK'; +$usergroups_font = 'BLACK'; +$scripts_font = 'BLACK'; +$filters_font = 'BLACK'; +$admin_font = 'BLACK'; +$reports_font = 'BLACK'; + $times_font = 'BLACK'; + $phones_font = 'BLACK'; + $conference_font = 'BLACK'; + $server_font = 'BLACK'; + $settings_font = 'BLACK'; + $status_font = 'BLACK'; +$subcamp_color = '#FF9933'; +$subcamp_font = 'BLACK'; + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; + +###################################################################################################### +###################################################################################################### +####### Form variable declaration +###################################################################################################### +###################################################################################################### + + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["active"])) {$active=$_GET["active"];} + elseif (isset($_POST["active"])) {$active=$_POST["active"];} +if (isset($_GET["adaptive_dl_diff_target"])) {$adaptive_dl_diff_target=$_GET["adaptive_dl_diff_target"];} + elseif (isset($_POST["adaptive_dl_diff_target"])) {$adaptive_dl_diff_target=$_POST["adaptive_dl_diff_target"];} +if (isset($_GET["adaptive_dropped_percentage"])) {$adaptive_dropped_percentage=$_GET["adaptive_dropped_percentage"];} + elseif (isset($_POST["adaptive_dropped_percentage"])){$adaptive_dropped_percentage=$_POST["adaptive_dropped_percentage"];} +if (isset($_GET["adaptive_intensity"])) {$adaptive_intensity=$_GET["adaptive_intensity"];} + elseif (isset($_POST["adaptive_intensity"])) {$adaptive_intensity=$_POST["adaptive_intensity"];} +if (isset($_GET["adaptive_latest_server_time"])) {$adaptive_latest_server_time=$_GET["adaptive_latest_server_time"];} + elseif (isset($_POST["adaptive_latest_server_time"])){$adaptive_latest_server_time=$_POST["adaptive_latest_server_time"];} +if (isset($_GET["adaptive_maximum_level"])) {$adaptive_maximum_level=$_GET["adaptive_maximum_level"];} + elseif (isset($_POST["adaptive_maximum_level"])) {$adaptive_maximum_level=$_POST["adaptive_maximum_level"];} +if (isset($_GET["SUB"])) {$SUB=$_GET["SUB"];} + elseif (isset($_POST["SUB"])) {$SUB=$_POST["SUB"];} +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["admin_hangup_enabled"])) {$admin_hangup_enabled=$_GET["admin_hangup_enabled"];} + elseif (isset($_POST["admin_hangup_enabled"])) {$admin_hangup_enabled=$_POST["admin_hangup_enabled"];} +if (isset($_GET["admin_hijack_enabled"])) {$admin_hijack_enabled=$_GET["admin_hijack_enabled"];} + elseif (isset($_POST["admin_hijack_enabled"])) {$admin_hijack_enabled=$_POST["admin_hijack_enabled"];} +if (isset($_GET["admin_monitor_enabled"])) {$admin_monitor_enabled=$_GET["admin_monitor_enabled"];} + elseif (isset($_POST["admin_monitor_enabled"])) {$admin_monitor_enabled=$_POST["admin_monitor_enabled"];} +if (isset($_GET["AFLogging_enabled"])) {$AFLogging_enabled=$_GET["AFLogging_enabled"];} + elseif (isset($_POST["AFLogging_enabled"])) {$AFLogging_enabled=$_POST["AFLogging_enabled"];} +if (isset($_GET["agent_choose_ingroups"])) {$agent_choose_ingroups=$_GET["agent_choose_ingroups"];} + elseif (isset($_POST["agent_choose_ingroups"])) {$agent_choose_ingroups=$_POST["agent_choose_ingroups"];} +if (isset($_GET["agentcall_manual"])) {$agentcall_manual=$_GET["agentcall_manual"];} + elseif (isset($_POST["agentcall_manual"])) {$agentcall_manual=$_POST["agentcall_manual"];} +if (isset($_GET["agentonly_callbacks"])) {$agentonly_callbacks=$_GET["agentonly_callbacks"];} + elseif (isset($_POST["agentonly_callbacks"])) {$agentonly_callbacks=$_POST["agentonly_callbacks"];} +if (isset($_GET["AGI_call_logging_enabled"])) {$AGI_call_logging_enabled=$_GET["AGI_call_logging_enabled"];} + elseif (isset($_POST["AGI_call_logging_enabled"])) {$AGI_call_logging_enabled=$_POST["AGI_call_logging_enabled"];} +if (isset($_GET["agi_output"])) {$agi_output=$_GET["agi_output"];} + elseif (isset($_POST["agi_output"])) {$agi_output=$_POST["agi_output"];} +if (isset($_GET["allcalls_delay"])) {$allcalls_delay=$_GET["allcalls_delay"];} + elseif (isset($_POST["allcalls_delay"])) {$allcalls_delay=$_POST["allcalls_delay"];} +if (isset($_GET["allow_closers"])) {$allow_closers=$_GET["allow_closers"];} + elseif (isset($_POST["allow_closers"])) {$allow_closers=$_POST["allow_closers"];} +if (isset($_GET["alt_number_dialing"])) {$alt_number_dialing=$_GET["alt_number_dialing"];} + elseif (isset($_POST["alt_number_dialing"])) {$alt_number_dialing=$_POST["alt_number_dialing"];} +if (isset($_GET["alter_agent_interface_options"])) {$alter_agent_interface_options=$_GET["alter_agent_interface_options"];} + elseif (isset($_POST["alter_agent_interface_options"])) {$alter_agent_interface_options=$_POST["alter_agent_interface_options"];} +if (isset($_GET["am_message_exten"])) {$am_message_exten=$_GET["am_message_exten"];} + elseif (isset($_POST["am_message_exten"])) {$am_message_exten=$_POST["am_message_exten"];} +if (isset($_GET["amd_send_to_vmx"])) {$amd_send_to_vmx=$_GET["amd_send_to_vmx"];} + elseif (isset($_POST["amd_send_to_vmx"])) {$amd_send_to_vmx=$_POST["amd_send_to_vmx"];} +if (isset($_GET["answer_transfer_agent"])) {$answer_transfer_agent=$_GET["answer_transfer_agent"];} + elseif (isset($_POST["answer_transfer_agent"])) {$answer_transfer_agent=$_POST["answer_transfer_agent"];} +if (isset($_GET["ast_admin_access"])) {$ast_admin_access=$_GET["ast_admin_access"];} + elseif (isset($_POST["ast_admin_access"])) {$ast_admin_access=$_POST["ast_admin_access"];} +if (isset($_GET["ast_delete_phones"])) {$ast_delete_phones=$_GET["ast_delete_phones"];} + elseif (isset($_POST["ast_delete_phones"])) {$ast_delete_phones=$_POST["ast_delete_phones"];} +if (isset($_GET["asterisk_version"])) {$asterisk_version=$_GET["asterisk_version"];} + elseif (isset($_POST["asterisk_version"])) {$asterisk_version=$_POST["asterisk_version"];} +if (isset($_GET["ASTmgrSECRET"])) {$ASTmgrSECRET=$_GET["ASTmgrSECRET"];} + elseif (isset($_POST["ASTmgrSECRET"])) {$ASTmgrSECRET=$_POST["ASTmgrSECRET"];} +if (isset($_GET["ASTmgrUSERNAME"])) {$ASTmgrUSERNAME=$_GET["ASTmgrUSERNAME"];} + elseif (isset($_POST["ASTmgrUSERNAME"])) {$ASTmgrUSERNAME=$_POST["ASTmgrUSERNAME"];} +if (isset($_GET["ASTmgrUSERNAMElisten"])) {$ASTmgrUSERNAMElisten=$_GET["ASTmgrUSERNAMElisten"];} + elseif (isset($_POST["ASTmgrUSERNAMElisten"])) {$ASTmgrUSERNAMElisten=$_POST["ASTmgrUSERNAMElisten"];} +if (isset($_GET["ASTmgrUSERNAMEsend"])) {$ASTmgrUSERNAMEsend=$_GET["ASTmgrUSERNAMEsend"];} + elseif (isset($_POST["ASTmgrUSERNAMEsend"])) {$ASTmgrUSERNAMEsend=$_POST["ASTmgrUSERNAMEsend"];} +if (isset($_GET["ASTmgrUSERNAMEupdate"])) {$ASTmgrUSERNAMEupdate=$_GET["ASTmgrUSERNAMEupdate"];} + elseif (isset($_POST["ASTmgrUSERNAMEupdate"])) {$ASTmgrUSERNAMEupdate=$_POST["ASTmgrUSERNAMEupdate"];} +if (isset($_GET["attempt_delay"])) {$attempt_delay=$_GET["attempt_delay"];} + elseif (isset($_POST["attempt_delay"])) {$attempt_delay=$_POST["attempt_delay"];} +if (isset($_GET["attempt_maximum"])) {$attempt_maximum=$_GET["attempt_maximum"];} + elseif (isset($_POST["attempt_maximum"])) {$attempt_maximum=$_POST["attempt_maximum"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["auto_dial_next_number"])) {$auto_dial_next_number=$_GET["auto_dial_next_number"];} + elseif (isset($_POST["auto_dial_next_number"])) {$auto_dial_next_number=$_POST["auto_dial_next_number"];} +if (isset($_GET["available_only_ratio_tally"])) {$available_only_ratio_tally=$_GET["available_only_ratio_tally"];} + elseif (isset($_POST["available_only_ratio_tally"])){$available_only_ratio_tally=$_POST["available_only_ratio_tally"];} +if (isset($_GET["call_out_number_group"])) {$call_out_number_group=$_GET["call_out_number_group"];} + elseif (isset($_POST["call_out_number_group"])) {$call_out_number_group=$_POST["call_out_number_group"];} +if (isset($_GET["call_parking_enabled"])) {$call_parking_enabled=$_GET["call_parking_enabled"];} + elseif (isset($_POST["call_parking_enabled"])) {$call_parking_enabled=$_POST["call_parking_enabled"];} +if (isset($_GET["call_time_comments"])) {$call_time_comments=$_GET["call_time_comments"];} + elseif (isset($_POST["call_time_comments"])) {$call_time_comments=$_POST["call_time_comments"];} +if (isset($_GET["call_time_id"])) {$call_time_id=$_GET["call_time_id"];} + elseif (isset($_POST["call_time_id"])) {$call_time_id=$_POST["call_time_id"];} +if (isset($_GET["call_time_name"])) {$call_time_name=$_GET["call_time_name"];} + elseif (isset($_POST["call_time_name"])) {$call_time_name=$_POST["call_time_name"];} +if (isset($_GET["CallerID_popup_enabled"])) {$CallerID_popup_enabled=$_GET["CallerID_popup_enabled"];} + elseif (isset($_POST["CallerID_popup_enabled"])) {$CallerID_popup_enabled=$_POST["CallerID_popup_enabled"];} +if (isset($_GET["campaign_cid"])) {$campaign_cid=$_GET["campaign_cid"];} + elseif (isset($_POST["campaign_cid"])) {$campaign_cid=$_POST["campaign_cid"];} +if (isset($_GET["campaign_detail"])) {$campaign_detail=$_GET["campaign_detail"];} + elseif (isset($_POST["campaign_detail"])) {$campaign_detail=$_POST["campaign_detail"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["campaign_name"])) {$campaign_name=$_GET["campaign_name"];} + elseif (isset($_POST["campaign_name"])) {$campaign_name=$_POST["campaign_name"];} +if (isset($_GET["campaign_rec_exten"])) {$campaign_rec_exten=$_GET["campaign_rec_exten"];} + elseif (isset($_POST["campaign_rec_exten"])) {$campaign_rec_exten=$_POST["campaign_rec_exten"];} +if (isset($_GET["campaign_rec_filename"])) {$campaign_rec_filename=$_GET["campaign_rec_filename"];} + elseif (isset($_POST["campaign_rec_filename"])) {$campaign_rec_filename=$_POST["campaign_rec_filename"];} +if (isset($_GET["campaign_recording"])) {$campaign_recording=$_GET["campaign_recording"];} + elseif (isset($_POST["campaign_recording"])) {$campaign_recording=$_POST["campaign_recording"];} +if (isset($_GET["campaign_vdad_exten"])) {$campaign_vdad_exten=$_GET["campaign_vdad_exten"];} + elseif (isset($_POST["campaign_vdad_exten"])) {$campaign_vdad_exten=$_POST["campaign_vdad_exten"];} +if (isset($_GET["change_agent_campaign"])) {$change_agent_campaign=$_GET["change_agent_campaign"];} + elseif (isset($_POST["change_agent_campaign"])) {$change_agent_campaign=$_POST["change_agent_campaign"];} +if (isset($_GET["client_browser"])) {$client_browser=$_GET["client_browser"];} + elseif (isset($_POST["client_browser"])) {$client_browser=$_POST["client_browser"];} +if (isset($_GET["closer_default_blended"])) {$closer_default_blended=$_GET["closer_default_blended"];} + elseif (isset($_POST["closer_default_blended"])) {$closer_default_blended=$_POST["closer_default_blended"];} +if (isset($_GET["company"])) {$company=$_GET["company"];} + elseif (isset($_POST["company"])) {$company=$_POST["company"];} +if (isset($_GET["computer_ip"])) {$computer_ip=$_GET["computer_ip"];} + elseif (isset($_POST["computer_ip"])) {$computer_ip=$_POST["computer_ip"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["conf_on_extension"])) {$conf_on_extension=$_GET["conf_on_extension"];} + elseif (isset($_POST["conf_on_extension"])) {$conf_on_extension=$_POST["conf_on_extension"];} +if (isset($_GET["conferencing_enabled"])) {$conferencing_enabled=$_GET["conferencing_enabled"];} + elseif (isset($_POST["conferencing_enabled"])) {$conferencing_enabled=$_POST["conferencing_enabled"];} +if (isset($_GET["CoNfIrM"])) {$CoNfIrM=$_GET["CoNfIrM"];} + elseif (isset($_POST["CoNfIrM"])) {$CoNfIrM=$_POST["CoNfIrM"];} +if (isset($_GET["ct_default_start"])) {$ct_default_start=$_GET["ct_default_start"];} + elseif (isset($_POST["ct_default_start"])) {$ct_default_start=$_POST["ct_default_start"];} +if (isset($_GET["ct_default_stop"])) {$ct_default_stop=$_GET["ct_default_stop"];} + elseif (isset($_POST["ct_default_stop"])) {$ct_default_stop=$_POST["ct_default_stop"];} +if (isset($_GET["ct_friday_start"])) {$ct_friday_start=$_GET["ct_friday_start"];} + elseif (isset($_POST["ct_friday_start"])) {$ct_friday_start=$_POST["ct_friday_start"];} +if (isset($_GET["ct_friday_stop"])) {$ct_friday_stop=$_GET["ct_friday_stop"];} + elseif (isset($_POST["ct_friday_stop"])) {$ct_friday_stop=$_POST["ct_friday_stop"];} +if (isset($_GET["ct_monday_start"])) {$ct_monday_start=$_GET["ct_monday_start"];} + elseif (isset($_POST["ct_monday_start"])) {$ct_monday_start=$_POST["ct_monday_start"];} +if (isset($_GET["ct_monday_stop"])) {$ct_monday_stop=$_GET["ct_monday_stop"];} + elseif (isset($_POST["ct_monday_stop"])) {$ct_monday_stop=$_POST["ct_monday_stop"];} +if (isset($_GET["ct_saturday_start"])) {$ct_saturday_start=$_GET["ct_saturday_start"];} + elseif (isset($_POST["ct_saturday_start"])) {$ct_saturday_start=$_POST["ct_saturday_start"];} +if (isset($_GET["ct_saturday_stop"])) {$ct_saturday_stop=$_GET["ct_saturday_stop"];} + elseif (isset($_POST["ct_saturday_stop"])) {$ct_saturday_stop=$_POST["ct_saturday_stop"];} +if (isset($_GET["ct_sunday_start"])) {$ct_sunday_start=$_GET["ct_sunday_start"];} + elseif (isset($_POST["ct_sunday_start"])) {$ct_sunday_start=$_POST["ct_sunday_start"];} +if (isset($_GET["ct_sunday_stop"])) {$ct_sunday_stop=$_GET["ct_sunday_stop"];} + elseif (isset($_POST["ct_sunday_stop"])) {$ct_sunday_stop=$_POST["ct_sunday_stop"];} +if (isset($_GET["ct_thursday_start"])) {$ct_thursday_start=$_GET["ct_thursday_start"];} + elseif (isset($_POST["ct_thursday_start"])) {$ct_thursday_start=$_POST["ct_thursday_start"];} +if (isset($_GET["ct_thursday_stop"])) {$ct_thursday_stop=$_GET["ct_thursday_stop"];} + elseif (isset($_POST["ct_thursday_stop"])) {$ct_thursday_stop=$_POST["ct_thursday_stop"];} +if (isset($_GET["ct_tuesday_start"])) {$ct_tuesday_start=$_GET["ct_tuesday_start"];} + elseif (isset($_POST["ct_tuesday_start"])) {$ct_tuesday_start=$_POST["ct_tuesday_start"];} +if (isset($_GET["ct_tuesday_stop"])) {$ct_tuesday_stop=$_GET["ct_tuesday_stop"];} + elseif (isset($_POST["ct_tuesday_stop"])) {$ct_tuesday_stop=$_POST["ct_tuesday_stop"];} +if (isset($_GET["ct_wednesday_start"])) {$ct_wednesday_start=$_GET["ct_wednesday_start"];} + elseif (isset($_POST["ct_wednesday_start"])) {$ct_wednesday_start=$_POST["ct_wednesday_start"];} +if (isset($_GET["ct_wednesday_stop"])) {$ct_wednesday_stop=$_GET["ct_wednesday_stop"];} + elseif (isset($_POST["ct_wednesday_stop"])) {$ct_wednesday_stop=$_POST["ct_wednesday_stop"];} +if (isset($_GET["DBX_database"])) {$DBX_database=$_GET["DBX_database"];} + elseif (isset($_POST["DBX_database"])) {$DBX_database=$_POST["DBX_database"];} +if (isset($_GET["DBX_pass"])) {$DBX_pass=$_GET["DBX_pass"];} + elseif (isset($_POST["DBX_pass"])) {$DBX_pass=$_POST["DBX_pass"];} +if (isset($_GET["DBX_port"])) {$DBX_port=$_GET["DBX_port"];} + elseif (isset($_POST["DBX_port"])) {$DBX_port=$_POST["DBX_port"];} +if (isset($_GET["DBX_server"])) {$DBX_server=$_GET["DBX_server"];} + elseif (isset($_POST["DBX_server"])) {$DBX_server=$_POST["DBX_server"];} +if (isset($_GET["DBX_user"])) {$DBX_user=$_GET["DBX_user"];} + elseif (isset($_POST["DBX_user"])) {$DBX_user=$_POST["DBX_user"];} +if (isset($_GET["DBY_database"])) {$DBY_database=$_GET["DBY_database"];} + elseif (isset($_POST["DBY_database"])) {$DBY_database=$_POST["DBY_database"];} +if (isset($_GET["DBY_pass"])) {$DBY_pass=$_GET["DBY_pass"];} + elseif (isset($_POST["DBY_pass"])) {$DBY_pass=$_POST["DBY_pass"];} +if (isset($_GET["DBY_port"])) {$DBY_port=$_GET["DBY_port"];} + elseif (isset($_POST["DBY_port"])) {$DBY_port=$_POST["DBY_port"];} +if (isset($_GET["DBY_server"])) {$DBY_server=$_GET["DBY_server"];} + elseif (isset($_POST["DBY_server"])) {$DBY_server=$_POST["DBY_server"];} +if (isset($_GET["DBY_user"])) {$DBY_user=$_GET["DBY_user"];} + elseif (isset($_POST["DBY_user"])) {$DBY_user=$_POST["DBY_user"];} +if (isset($_GET["delete_call_times"])) {$delete_call_times=$_GET["delete_call_times"];} + elseif (isset($_POST["delete_call_times"])) {$delete_call_times=$_POST["delete_call_times"];} +if (isset($_GET["delete_campaigns"])) {$delete_campaigns=$_GET["delete_campaigns"];} + elseif (isset($_POST["delete_campaigns"])) {$delete_campaigns=$_POST["delete_campaigns"];} +if (isset($_GET["delete_filters"])) {$delete_filters=$_GET["delete_filters"];} + elseif (isset($_POST["delete_filters"])) {$delete_filters=$_POST["delete_filters"];} +if (isset($_GET["delete_ingroups"])) {$delete_ingroups=$_GET["delete_ingroups"];} + elseif (isset($_POST["delete_ingroups"])) {$delete_ingroups=$_POST["delete_ingroups"];} +if (isset($_GET["delete_lists"])) {$delete_lists=$_GET["delete_lists"];} + elseif (isset($_POST["delete_lists"])) {$delete_lists=$_POST["delete_lists"];} +if (isset($_GET["delete_remote_agents"])) {$delete_remote_agents=$_GET["delete_remote_agents"];} + elseif (isset($_POST["delete_remote_agents"])) {$delete_remote_agents=$_POST["delete_remote_agents"];} +if (isset($_GET["delete_scripts"])) {$delete_scripts=$_GET["delete_scripts"];} + elseif (isset($_POST["delete_scripts"])) {$delete_scripts=$_POST["delete_scripts"];} +if (isset($_GET["delete_user_groups"])) {$delete_user_groups=$_GET["delete_user_groups"];} + elseif (isset($_POST["delete_user_groups"])) {$delete_user_groups=$_POST["delete_user_groups"];} +if (isset($_GET["delete_users"])) {$delete_users=$_GET["delete_users"];} + elseif (isset($_POST["delete_users"])) {$delete_users=$_POST["delete_users"];} +if (isset($_GET["dial_method"])) {$dial_method=$_GET["dial_method"];} + elseif (isset($_POST["dial_method"])) {$dial_method=$_POST["dial_method"];} +if (isset($_GET["dial_prefix"])) {$dial_prefix=$_GET["dial_prefix"];} + elseif (isset($_POST["dial_prefix"])) {$dial_prefix=$_POST["dial_prefix"];} +if (isset($_GET["dial_status_a"])) {$dial_status_a=$_GET["dial_status_a"];} + elseif (isset($_POST["dial_status_a"])) {$dial_status_a=$_POST["dial_status_a"];} +if (isset($_GET["dial_status_b"])) {$dial_status_b=$_GET["dial_status_b"];} + elseif (isset($_POST["dial_status_b"])) {$dial_status_b=$_POST["dial_status_b"];} +if (isset($_GET["dial_status_c"])) {$dial_status_c=$_GET["dial_status_c"];} + elseif (isset($_POST["dial_status_c"])) {$dial_status_c=$_POST["dial_status_c"];} +if (isset($_GET["dial_status_d"])) {$dial_status_d=$_GET["dial_status_d"];} + elseif (isset($_POST["dial_status_d"])) {$dial_status_d=$_POST["dial_status_d"];} +if (isset($_GET["dial_status_e"])) {$dial_status_e=$_GET["dial_status_e"];} + elseif (isset($_POST["dial_status_e"])) {$dial_status_e=$_POST["dial_status_e"];} +if (isset($_GET["dial_timeout"])) {$dial_timeout=$_GET["dial_timeout"];} + elseif (isset($_POST["dial_timeout"])) {$dial_timeout=$_POST["dial_timeout"];} +if (isset($_GET["dialplan_number"])) {$dialplan_number=$_GET["dialplan_number"];} + elseif (isset($_POST["dialplan_number"])) {$dialplan_number=$_POST["dialplan_number"];} +if (isset($_GET["drop_call_seconds"])) {$drop_call_seconds=$_GET["drop_call_seconds"];} + elseif (isset($_POST["drop_call_seconds"])) {$drop_call_seconds=$_POST["drop_call_seconds"];} +if (isset($_GET["drop_exten"])) {$drop_exten=$_GET["drop_exten"];} + elseif (isset($_POST["drop_exten"])) {$drop_exten=$_POST["drop_exten"];} +if (isset($_GET["drop_message"])) {$drop_message=$_GET["drop_message"];} + elseif (isset($_POST["drop_message"])) {$drop_message=$_POST["drop_message"];} +if (isset($_GET["dtmf_send_extension"])) {$dtmf_send_extension=$_GET["dtmf_send_extension"];} + elseif (isset($_POST["dtmf_send_extension"])) {$dtmf_send_extension=$_POST["dtmf_send_extension"];} +if (isset($_GET["enable_fast_refresh"])) {$enable_fast_refresh=$_GET["enable_fast_refresh"];} + elseif (isset($_POST["enable_fast_refresh"])) {$enable_fast_refresh=$_POST["enable_fast_refresh"];} +if (isset($_GET["enable_persistant_mysql"])) {$enable_persistant_mysql=$_GET["enable_persistant_mysql"];} + elseif (isset($_POST["enable_persistant_mysql"])) {$enable_persistant_mysql=$_POST["enable_persistant_mysql"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["fast_refresh_rate"])) {$fast_refresh_rate=$_GET["fast_refresh_rate"];} + elseif (isset($_POST["fast_refresh_rate"])) {$fast_refresh_rate=$_POST["fast_refresh_rate"];} +if (isset($_GET["force_logout"])) {$force_logout=$_GET["force_logout"];} + elseif (isset($_POST["force_logout"])) {$force_logout=$_POST["force_logout"];} +if (isset($_GET["fronter_display"])) {$fronter_display=$_GET["fronter_display"];} + elseif (isset($_POST["fronter_display"])) {$fronter_display=$_POST["fronter_display"];} +if (isset($_GET["full_name"])) {$full_name=$_GET["full_name"];} + elseif (isset($_POST["full_name"])) {$full_name=$_POST["full_name"];} +if (isset($_GET["fullname"])) {$fullname=$_GET["fullname"];} + elseif (isset($_POST["fullname"])) {$fullname=$_POST["fullname"];} +if (isset($_GET["get_call_launch"])) {$get_call_launch=$_GET["get_call_launch"];} + elseif (isset($_POST["get_call_launch"])) {$get_call_launch=$_POST["get_call_launch"];} +if (isset($_GET["group_color"])) {$group_color=$_GET["group_color"];} + elseif (isset($_POST["group_color"])) {$group_color=$_POST["group_color"];} +if (isset($_GET["group_id"])) {$group_id=$_GET["group_id"];} + elseif (isset($_POST["group_id"])) {$group_id=$_POST["group_id"];} +if (isset($_GET["group_name"])) {$group_name=$_GET["group_name"];} + elseif (isset($_POST["group_name"])) {$group_name=$_POST["group_name"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["XFERgroups"])) {$XFERgroups=$_GET["XFERgroups"];} + elseif (isset($_POST["XFERgroups"])) {$XFERgroups=$_POST["XFERgroups"];} +if (isset($_GET["HKstatus"])) {$HKstatus=$_GET["HKstatus"];} + elseif (isset($_POST["HKstatus"])) {$HKstatus=$_POST["HKstatus"];} +if (isset($_GET["hopper_level"])) {$hopper_level=$_GET["hopper_level"];} + elseif (isset($_POST["hopper_level"])) {$hopper_level=$_POST["hopper_level"];} +if (isset($_GET["hotkey"])) {$hotkey=$_GET["hotkey"];} + elseif (isset($_POST["hotkey"])) {$hotkey=$_POST["hotkey"];} +if (isset($_GET["hotkeys_active"])) {$hotkeys_active=$_GET["hotkeys_active"];} + elseif (isset($_POST["hotkeys_active"])) {$hotkeys_active=$_POST["hotkeys_active"];} +if (isset($_GET["install_directory"])) {$install_directory=$_GET["install_directory"];} + elseif (isset($_POST["install_directory"])) {$install_directory=$_POST["install_directory"];} +if (isset($_GET["lead_filter_comments"])) {$lead_filter_comments=$_GET["lead_filter_comments"];} + elseif (isset($_POST["lead_filter_comments"])) {$lead_filter_comments=$_POST["lead_filter_comments"];} +if (isset($_GET["lead_filter_id"])) {$lead_filter_id=$_GET["lead_filter_id"];} + elseif (isset($_POST["lead_filter_id"])) {$lead_filter_id=$_POST["lead_filter_id"];} +if (isset($_GET["lead_filter_name"])) {$lead_filter_name=$_GET["lead_filter_name"];} + elseif (isset($_POST["lead_filter_name"])) {$lead_filter_name=$_POST["lead_filter_name"];} +if (isset($_GET["lead_filter_sql"])) {$lead_filter_sql=$_GET["lead_filter_sql"];} + elseif (isset($_POST["lead_filter_sql"])) {$lead_filter_sql=$_POST["lead_filter_sql"];} +if (isset($_GET["lead_order"])) {$lead_order=$_GET["lead_order"];} + elseif (isset($_POST["lead_order"])) {$lead_order=$_POST["lead_order"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["list_name"])) {$list_name=$_GET["list_name"];} + elseif (isset($_POST["list_name"])) {$list_name=$_POST["list_name"];} +if (isset($_GET["load_leads"])) {$load_leads=$_GET["load_leads"];} + elseif (isset($_POST["load_leads"])) {$load_leads=$_POST["load_leads"];} +if (isset($_GET["local_call_time"])) {$local_call_time=$_GET["local_call_time"];} + elseif (isset($_POST["local_call_time"])) {$local_call_time=$_POST["local_call_time"];} +if (isset($_GET["local_gmt"])) {$local_gmt=$_GET["local_gmt"];} + elseif (isset($_POST["local_gmt"])) {$local_gmt=$_POST["local_gmt"];} +if (isset($_GET["local_web_callerID_URL"])) {$local_web_callerID_URL=$_GET["local_web_callerID_URL"];} + elseif (isset($_POST["local_web_callerID_URL"])) {$local_web_callerID_URL=$_POST["local_web_callerID_URL"];} +if (isset($_GET["login"])) {$login=$_GET["login"];} + elseif (isset($_POST["login"])) {$login=$_POST["login"];} +if (isset($_GET["login_campaign"])) {$login_campaign=$_GET["login_campaign"];} + elseif (isset($_POST["login_campaign"])) {$login_campaign=$_POST["login_campaign"];} +if (isset($_GET["login_pass"])) {$login_pass=$_GET["login_pass"];} + elseif (isset($_POST["login_pass"])) {$login_pass=$_POST["login_pass"];} +if (isset($_GET["login_user"])) {$login_user=$_GET["login_user"];} + elseif (isset($_POST["login_user"])) {$login_user=$_POST["login_user"];} +if (isset($_GET["max_vicidial_trunks"])) {$max_vicidial_trunks=$_GET["max_vicidial_trunks"];} + elseif (isset($_POST["max_vicidial_trunks"])) {$max_vicidial_trunks=$_POST["max_vicidial_trunks"];} +if (isset($_GET["modify_call_times"])) {$modify_call_times=$_GET["modify_call_times"];} + elseif (isset($_POST["modify_call_times"])) {$modify_call_times=$_POST["modify_call_times"];} +if (isset($_GET["modify_leads"])) {$modify_leads=$_GET["modify_leads"];} + elseif (isset($_POST["modify_leads"])) {$modify_leads=$_POST["modify_leads"];} +if (isset($_GET["monitor_prefix"])) {$monitor_prefix=$_GET["monitor_prefix"];} + elseif (isset($_POST["monitor_prefix"])) {$monitor_prefix=$_POST["monitor_prefix"];} +if (isset($_GET["next_agent_call"])) {$next_agent_call=$_GET["next_agent_call"];} + elseif (isset($_POST["next_agent_call"])) {$next_agent_call=$_POST["next_agent_call"];} +if (isset($_GET["number_of_lines"])) {$number_of_lines=$_GET["number_of_lines"];} + elseif (isset($_POST["number_of_lines"])) {$number_of_lines=$_POST["number_of_lines"];} +if (isset($_GET["old_campaign_id"])) {$old_campaign_id=$_GET["old_campaign_id"];} + elseif (isset($_POST["old_campaign_id"])) {$old_campaign_id=$_POST["old_campaign_id"];} +if (isset($_GET["old_conf_exten"])) {$old_conf_exten=$_GET["old_conf_exten"];} + elseif (isset($_POST["old_conf_exten"])) {$old_conf_exten=$_POST["old_conf_exten"];} +if (isset($_GET["old_extension"])) {$old_extension=$_GET["old_extension"];} + elseif (isset($_POST["old_extension"])) {$old_extension=$_POST["old_extension"];} +if (isset($_GET["old_server_id"])) {$old_server_id=$_GET["old_server_id"];} + elseif (isset($_POST["old_server_id"])) {$old_server_id=$_POST["old_server_id"];} +if (isset($_GET["old_server_ip"])) {$old_server_ip=$_GET["old_server_ip"];} + elseif (isset($_POST["old_server_ip"])) {$old_server_ip=$_POST["old_server_ip"];} +if (isset($_GET["OLDuser_group"])) {$OLDuser_group=$_GET["OLDuser_group"];} + elseif (isset($_POST["OLDuser_group"])) {$OLDuser_group=$_POST["OLDuser_group"];} +if (isset($_GET["omit_phone_code"])) {$omit_phone_code=$_GET["omit_phone_code"];} + elseif (isset($_POST["omit_phone_code"])) {$omit_phone_code=$_POST["omit_phone_code"];} +if (isset($_GET["outbound_cid"])) {$outbound_cid=$_GET["outbound_cid"];} + elseif (isset($_POST["outbound_cid"])) {$outbound_cid=$_POST["outbound_cid"];} +if (isset($_GET["park_ext"])) {$park_ext=$_GET["park_ext"];} + elseif (isset($_POST["park_ext"])) {$park_ext=$_POST["park_ext"];} +if (isset($_GET["park_file_name"])) {$park_file_name=$_GET["park_file_name"];} + elseif (isset($_POST["park_file_name"])) {$park_file_name=$_POST["park_file_name"];} +if (isset($_GET["park_on_extension"])) {$park_on_extension=$_GET["park_on_extension"];} + elseif (isset($_POST["park_on_extension"])) {$park_on_extension=$_POST["park_on_extension"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["phone_type"])) {$phone_type=$_GET["phone_type"];} + elseif (isset($_POST["phone_type"])) {$phone_type=$_POST["phone_type"];} +if (isset($_GET["picture"])) {$picture=$_GET["picture"];} + elseif (isset($_POST["picture"])) {$picture=$_POST["picture"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["QUEUE_ACTION_enabled"])) {$QUEUE_ACTION_enabled=$_GET["QUEUE_ACTION_enabled"];} + elseif (isset($_POST["QUEUE_ACTION_enabled"])) {$QUEUE_ACTION_enabled=$_POST["QUEUE_ACTION_enabled"];} +if (isset($_GET["recording_exten"])) {$recording_exten=$_GET["recording_exten"];} + elseif (isset($_POST["recording_exten"])) {$recording_exten=$_POST["recording_exten"];} +if (isset($_GET["remote_agent_id"])) {$remote_agent_id=$_GET["remote_agent_id"];} + elseif (isset($_POST["remote_agent_id"])) {$remote_agent_id=$_POST["remote_agent_id"];} +if (isset($_GET["reset_hopper"])) {$reset_hopper=$_GET["reset_hopper"];} + elseif (isset($_POST["reset_hopper"])) {$reset_hopper=$_POST["reset_hopper"];} +if (isset($_GET["reset_list"])) {$reset_list=$_GET["reset_list"];} + elseif (isset($_POST["reset_list"])) {$reset_list=$_POST["reset_list"];} +if (isset($_GET["safe_harbor_exten"])) {$safe_harbor_exten=$_GET["safe_harbor_exten"];} + elseif (isset($_POST["safe_harbor_exten"])) {$safe_harbor_exten=$_POST["safe_harbor_exten"];} +if (isset($_GET["safe_harbor_message"])) {$safe_harbor_message=$_GET["safe_harbor_message"];} + elseif (isset($_POST["safe_harbor_message"])) {$safe_harbor_message=$_POST["safe_harbor_message"];} +if (isset($_GET["scheduled_callbacks"])) {$scheduled_callbacks=$_GET["scheduled_callbacks"];} + elseif (isset($_POST["scheduled_callbacks"])) {$scheduled_callbacks=$_POST["scheduled_callbacks"];} +if (isset($_GET["script_comments"])) {$script_comments=$_GET["script_comments"];} + elseif (isset($_POST["script_comments"])) {$script_comments=$_POST["script_comments"];} +if (isset($_GET["script_id"])) {$script_id=$_GET["script_id"];} + elseif (isset($_POST["script_id"])) {$script_id=$_POST["script_id"];} +if (isset($_GET["script_name"])) {$script_name=$_GET["script_name"];} + elseif (isset($_POST["script_name"])) {$script_name=$_POST["script_name"];} +if (isset($_GET["script_text"])) {$script_text=$_GET["script_text"];} + elseif (isset($_POST["script_text"])) {$script_text=$_POST["script_text"];} +if (isset($_GET["selectable"])) {$selectable=$_GET["selectable"];} + elseif (isset($_POST["selectable"])) {$selectable=$_POST["selectable"];} +if (isset($_GET["server_description"])) {$server_description=$_GET["server_description"];} + elseif (isset($_POST["server_description"])) {$server_description=$_POST["server_description"];} +if (isset($_GET["server_id"])) {$server_id=$_GET["server_id"];} + elseif (isset($_POST["server_id"])) {$server_id=$_POST["server_id"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["state_call_time_state"])) {$state_call_time_state=$_GET["state_call_time_state"];} + elseif (isset($_POST["state_call_time_state"])) {$state_call_time_state=$_POST["state_call_time_state"];} +if (isset($_GET["state_rule"])) {$state_rule=$_GET["state_rule"];} + elseif (isset($_POST["state_rule"])) {$state_rule=$_POST["state_rule"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["status_name"])) {$status_name=$_GET["status_name"];} + elseif (isset($_POST["status_name"])) {$status_name=$_POST["status_name"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["sys_perf_log"])) {$sys_perf_log=$_GET["sys_perf_log"];} + elseif (isset($_POST["sys_perf_log"])) {$sys_perf_log=$_POST["sys_perf_log"];} +if (isset($_GET["telnet_host"])) {$telnet_host=$_GET["telnet_host"];} + elseif (isset($_POST["telnet_host"])) {$telnet_host=$_POST["telnet_host"];} +if (isset($_GET["telnet_port"])) {$telnet_port=$_GET["telnet_port"];} + elseif (isset($_POST["telnet_port"])) {$telnet_port=$_POST["telnet_port"];} +if (isset($_GET["updater_check_enabled"])) {$updater_check_enabled=$_GET["updater_check_enabled"];} + elseif (isset($_POST["updater_check_enabled"])) {$updater_check_enabled=$_POST["updater_check_enabled"];} +if (isset($_GET["use_internal_dnc"])) {$use_internal_dnc=$_GET["use_internal_dnc"];} + elseif (isset($_POST["use_internal_dnc"])) {$use_internal_dnc=$_POST["use_internal_dnc"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} +if (isset($_GET["user_level"])) {$user_level=$_GET["user_level"];} + elseif (isset($_POST["user_level"])) {$user_level=$_POST["user_level"];} +if (isset($_GET["user_start"])) {$user_start=$_GET["user_start"];} + elseif (isset($_POST["user_start"])) {$user_start=$_POST["user_start"];} +if (isset($_GET["user_switching_enabled"])) {$user_switching_enabled=$_GET["user_switching_enabled"];} + elseif (isset($_POST["user_switching_enabled"])) {$user_switching_enabled=$_POST["user_switching_enabled"];} +if (isset($_GET["vd_server_logs"])) {$vd_server_logs=$_GET["vd_server_logs"];} + elseif (isset($_POST["vd_server_logs"])) {$vd_server_logs=$_POST["vd_server_logs"];} +if (isset($_GET["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_GET["VDstop_rec_after_each_call"];} + elseif (isset($_POST["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_POST["VDstop_rec_after_each_call"];} +if (isset($_GET["VICIDIAL_park_on_extension"])) {$VICIDIAL_park_on_extension=$_GET["VICIDIAL_park_on_extension"];} + elseif (isset($_POST["VICIDIAL_park_on_extension"])) {$VICIDIAL_park_on_extension=$_POST["VICIDIAL_park_on_extension"];} +if (isset($_GET["VICIDIAL_park_on_filename"])) {$VICIDIAL_park_on_filename=$_GET["VICIDIAL_park_on_filename"];} + elseif (isset($_POST["VICIDIAL_park_on_filename"])) {$VICIDIAL_park_on_filename=$_POST["VICIDIAL_park_on_filename"];} +if (isset($_GET["vicidial_recording"])) {$vicidial_recording=$_GET["vicidial_recording"];} + elseif (isset($_POST["vicidial_recording"])) {$vicidial_recording=$_POST["vicidial_recording"];} +if (isset($_GET["vicidial_transfers"])) {$vicidial_transfers=$_GET["vicidial_transfers"];} + elseif (isset($_POST["vicidial_transfers"])) {$vicidial_transfers=$_POST["vicidial_transfers"];} +if (isset($_GET["VICIDIAL_web_URL"])) {$VICIDIAL_web_URL=$_GET["VICIDIAL_web_URL"];} + elseif (isset($_POST["VICIDIAL_web_URL"])) {$VICIDIAL_web_URL=$_POST["VICIDIAL_web_URL"];} +if (isset($_GET["voicemail_button_enabled"])) {$voicemail_button_enabled=$_GET["voicemail_button_enabled"];} + elseif (isset($_POST["voicemail_button_enabled"])) {$voicemail_button_enabled=$_POST["voicemail_button_enabled"];} +if (isset($_GET["voicemail_dump_exten"])) {$voicemail_dump_exten=$_GET["voicemail_dump_exten"];} + elseif (isset($_POST["voicemail_dump_exten"])) {$voicemail_dump_exten=$_POST["voicemail_dump_exten"];} +if (isset($_GET["voicemail_ext"])) {$voicemail_ext=$_GET["voicemail_ext"];} + elseif (isset($_POST["voicemail_ext"])) {$voicemail_ext=$_POST["voicemail_ext"];} +if (isset($_GET["voicemail_exten"])) {$voicemail_exten=$_GET["voicemail_exten"];} + elseif (isset($_POST["voicemail_exten"])) {$voicemail_exten=$_POST["voicemail_exten"];} +if (isset($_GET["voicemail_id"])) {$voicemail_id=$_GET["voicemail_id"];} + elseif (isset($_POST["voicemail_id"])) {$voicemail_id=$_POST["voicemail_id"];} +if (isset($_GET["web_form_address"])) {$web_form_address=$_GET["web_form_address"];} + elseif (isset($_POST["web_form_address"])) {$web_form_address=$_POST["web_form_address"];} +if (isset($_GET["wrapup_message"])) {$wrapup_message=$_GET["wrapup_message"];} + elseif (isset($_POST["wrapup_message"])) {$wrapup_message=$_POST["wrapup_message"];} +if (isset($_GET["wrapup_seconds"])) {$wrapup_seconds=$_GET["wrapup_seconds"];} + elseif (isset($_POST["wrapup_seconds"])) {$wrapup_seconds=$_POST["wrapup_seconds"];} +if (isset($_GET["xferconf_a_dtmf"])) {$xferconf_a_dtmf=$_GET["xferconf_a_dtmf"];} + elseif (isset($_POST["xferconf_a_dtmf"])) {$xferconf_a_dtmf=$_POST["xferconf_a_dtmf"];} +if (isset($_GET["xferconf_a_number"])) {$xferconf_a_number=$_GET["xferconf_a_number"];} + elseif (isset($_POST["xferconf_a_number"])) {$xferconf_a_number=$_POST["xferconf_a_number"];} +if (isset($_GET["xferconf_b_dtmf"])) {$xferconf_b_dtmf=$_GET["xferconf_b_dtmf"];} + elseif (isset($_POST["xferconf_b_dtmf"])) {$xferconf_b_dtmf=$_POST["xferconf_b_dtmf"];} +if (isset($_GET["xferconf_b_number"])) {$xferconf_b_number=$_GET["xferconf_b_number"];} + elseif (isset($_POST["xferconf_b_number"])) {$xferconf_b_number=$_POST["xferconf_b_number"];} +if (isset($_GET["vicidial_balance_active"])) {$vicidial_balance_active=$_GET["vicidial_balance_active"];} + elseif (isset($_POST["vicidial_balance_active"])) {$vicidial_balance_active=$_POST["vicidial_balance_active"];} +if (isset($_GET["balance_trunks_offlimits"])) {$balance_trunks_offlimits=$_GET["balance_trunks_offlimits"];} + elseif (isset($_POST["balance_trunks_offlimits"])) {$balance_trunks_offlimits=$_POST["balance_trunks_offlimits"];} +if (isset($_GET["dedicated_trunks"])) {$dedicated_trunks=$_GET["dedicated_trunks"];} + elseif (isset($_POST["dedicated_trunks"])) {$dedicated_trunks=$_POST["dedicated_trunks"];} +if (isset($_GET["trunk_restriction"])) {$trunk_restriction=$_GET["trunk_restriction"];} + elseif (isset($_POST["trunk_restriction"])) {$trunk_restriction=$_POST["trunk_restriction"];} +if (isset($_GET["campaigns"])) {$campaigns=$_GET["campaigns"];} + elseif (isset($_POST["campaigns"])) {$campaigns=$_POST["campaigns"];} +if (isset($_GET["dial_level_override"])) {$dial_level_override=$_GET["dial_level_override"];} + elseif (isset($_POST["dial_level_override"])) {$dial_level_override=$_POST["dial_level_override"];} +if (isset($_GET["concurrent_transfers"])) {$concurrent_transfers=$_GET["concurrent_transfers"];} + elseif (isset($_POST["concurrent_transfers"])) {$concurrent_transfers=$_POST["concurrent_transfers"];} +if (isset($_GET["auto_alt_dial"])) {$auto_alt_dial=$_GET["auto_alt_dial"];} + elseif (isset($_POST["auto_alt_dial"])) {$auto_alt_dial=$_POST["auto_alt_dial"];} +if (isset($_GET["modify_users"])) {$modify_users=$_GET["modify_users"];} + elseif (isset($_POST["modify_users"])) {$modify_users=$_POST["modify_users"];} +if (isset($_GET["modify_campaigns"])) {$modify_campaigns=$_GET["modify_campaigns"];} + elseif (isset($_POST["modify_campaigns"])) {$modify_campaigns=$_POST["modify_campaigns"];} +if (isset($_GET["modify_lists"])) {$modify_lists=$_GET["modify_lists"];} + elseif (isset($_POST["modify_lists"])) {$modify_lists=$_POST["modify_lists"];} +if (isset($_GET["modify_scripts"])) {$modify_scripts=$_GET["modify_scripts"];} + elseif (isset($_POST["modify_scripts"])) {$modify_scripts=$_POST["modify_scripts"];} +if (isset($_GET["modify_filters"])) {$modify_filters=$_GET["modify_filters"];} + elseif (isset($_POST["modify_filters"])) {$modify_filters=$_POST["modify_filters"];} +if (isset($_GET["modify_ingroups"])) {$modify_ingroups=$_GET["modify_ingroups"];} + elseif (isset($_POST["modify_ingroups"])) {$modify_ingroups=$_POST["modify_ingroups"];} +if (isset($_GET["modify_usergroups"])) {$modify_usergroups=$_GET["modify_usergroups"];} + elseif (isset($_POST["modify_usergroups"])) {$modify_usergroups=$_POST["modify_usergroups"];} +if (isset($_GET["modify_remoteagents"])) {$modify_remoteagents=$_GET["modify_remoteagents"];} + elseif (isset($_POST["modify_remoteagents"])) {$modify_remoteagents=$_POST["modify_remoteagents"];} +if (isset($_GET["modify_servers"])) {$modify_servers=$_GET["modify_servers"];} + elseif (isset($_POST["modify_servers"])) {$modify_servers=$_POST["modify_servers"];} +if (isset($_GET["view_reports"])) {$view_reports=$_GET["view_reports"];} + elseif (isset($_POST["view_reports"])) {$view_reports=$_POST["view_reports"];} +if (isset($_GET["agent_pause_codes_active"])) {$agent_pause_codes_active=$_GET["agent_pause_codes_active"];} + elseif (isset($_POST["agent_pause_codes_active"])) {$agent_pause_codes_active=$_POST["agent_pause_codes_active"];} +if (isset($_GET["pause_code"])) {$pause_code=$_GET["pause_code"];} + elseif (isset($_POST["pause_code"])) {$pause_code=$_POST["pause_code"];} +if (isset($_GET["pause_code_name"])) {$pause_code_name=$_GET["pause_code_name"];} + elseif (isset($_POST["pause_code_name"])) {$pause_code_name=$_POST["pause_code_name"];} +if (isset($_GET["billable"])) {$billable=$_GET["billable"];} + elseif (isset($_POST["billable"])) {$billable=$_POST["billable"];} +if (isset($_GET["campaign_description"])) {$campaign_description=$_GET["campaign_description"];} + elseif (isset($_POST["campaign_description"])) {$campaign_description=$_POST["campaign_description"];} +if (isset($_GET["campaign_stats_refresh"])) {$campaign_stats_refresh=$_GET["campaign_stats_refresh"];} + elseif (isset($_POST["campaign_stats_refresh"])){$campaign_stats_refresh=$_POST["campaign_stats_refresh"];} +if (isset($_GET["list_description"])) {$list_description=$_GET["list_description"];} + elseif (isset($_POST["list_description"])) {$list_description=$_POST["list_description"];} +if (isset($_GET["vicidial_recording_override"])) {$vicidial_recording_override=$_GET["vicidial_recording_override"];} elseif (isset($_POST["vicidial_recording_override"])) {$vicidial_recording_override=$_POST["vicidial_recording_override"];} +if (isset($_GET["use_non_latin"])) {$use_non_latin=$_GET["use_non_latin"];} + elseif (isset($_POST["use_non_latin"])) {$use_non_latin=$_POST["use_non_latin"];} +if (isset($_GET["webroot_writable"])) {$webroot_writable=$_GET["webroot_writable"];} + elseif (isset($_POST["webroot_writable"])) {$webroot_writable=$_POST["webroot_writable"];} +if (isset($_GET["enable_queuemetrics_logging"])) {$enable_queuemetrics_logging=$_GET["enable_queuemetrics_logging"];} + elseif (isset($_POST["enable_queuemetrics_logging"])) {$enable_queuemetrics_logging=$_POST["enable_queuemetrics_logging"];} +if (isset($_GET["queuemetrics_server_ip"])) {$queuemetrics_server_ip=$_GET["queuemetrics_server_ip"];} + elseif (isset($_POST["queuemetrics_server_ip"])) {$queuemetrics_server_ip=$_POST["queuemetrics_server_ip"];} +if (isset($_GET["queuemetrics_dbname"])) {$queuemetrics_dbname=$_GET["queuemetrics_dbname"];} + elseif (isset($_POST["queuemetrics_dbname"])) {$queuemetrics_dbname=$_POST["queuemetrics_dbname"];} +if (isset($_GET["queuemetrics_login"])) {$queuemetrics_login=$_GET["queuemetrics_login"];} + elseif (isset($_POST["queuemetrics_login"])) {$queuemetrics_login=$_POST["queuemetrics_login"];} +if (isset($_GET["queuemetrics_pass"])) {$queuemetrics_pass=$_GET["queuemetrics_pass"];} + elseif (isset($_POST["queuemetrics_pass"])) {$queuemetrics_pass=$_POST["queuemetrics_pass"];} +if (isset($_GET["queuemetrics_url"])) {$queuemetrics_url=$_GET["queuemetrics_url"];} + elseif (isset($_POST["queuemetrics_url"])) {$queuemetrics_url=$_POST["queuemetrics_url"];} +if (isset($_GET["queuemetrics_log_id"])) {$queuemetrics_log_id=$_GET["queuemetrics_log_id"];} + elseif (isset($_POST["queuemetrics_log_id"])) {$queuemetrics_log_id=$_POST["queuemetrics_log_id"];} +if (isset($_GET["dial_status"])) {$dial_status=$_GET["dial_status"];} + elseif (isset($_POST["dial_status"])) {$dial_status=$_POST["dial_status"];} +if (isset($_GET["queuemetrics_eq_prepend"])) {$queuemetrics_eq_prepend=$_GET["queuemetrics_eq_prepend"];} + elseif (isset($_POST["queuemetrics_eq_prepend"])) {$queuemetrics_eq_prepend=$_POST["queuemetrics_eq_prepend"];} +if (isset($_GET["vicidial_agent_disable"])) {$vicidial_agent_disable=$_GET["vicidial_agent_disable"];} + elseif (isset($_POST["vicidial_agent_disable"])) {$vicidial_agent_disable=$_POST["vicidial_agent_disable"];} +if (isset($_GET["disable_alter_custdata"])) {$disable_alter_custdata=$_GET["disable_alter_custdata"];} + elseif (isset($_POST["disable_alter_custdata"])) {$disable_alter_custdata=$_POST["disable_alter_custdata"];} +if (isset($_GET["alter_custdata_override"])) {$alter_custdata_override=$_GET["alter_custdata_override"];} + elseif (isset($_POST["alter_custdata_override"])) {$alter_custdata_override=$_POST["alter_custdata_override"];} +if (isset($_GET["no_hopper_leads_logins"])) {$no_hopper_leads_logins=$_GET["no_hopper_leads_logins"];} + elseif (isset($_POST["no_hopper_leads_logins"])) {$no_hopper_leads_logins=$_POST["no_hopper_leads_logins"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["allow_sipsak_messages"])) {$allow_sipsak_messages=$_GET["allow_sipsak_messages"];} + elseif (isset($_POST["allow_sipsak_messages"])) {$allow_sipsak_messages=$_POST["allow_sipsak_messages"];} +if (isset($_GET["admin_home_url"])) {$admin_home_url=$_GET["admin_home_url"];} + elseif (isset($_POST["admin_home_url"])) {$admin_home_url=$_POST["admin_home_url"];} +if (isset($_GET["list_order_mix"])) {$list_order_mix=$_GET["list_order_mix"];} + elseif (isset($_POST["list_order_mix"])) {$list_order_mix=$_POST["list_order_mix"];} +if (isset($_GET["vcl_id"])) {$vcl_id=$_GET["vcl_id"];} + elseif (isset($_POST["vcl_id"])) {$vcl_id=$_POST["vcl_id"];} +if (isset($_GET["vcl_name"])) {$vcl_name=$_GET["vcl_name"];} + elseif (isset($_POST["vcl_name"])) {$vcl_name=$_POST["vcl_name"];} +if (isset($_GET["list_mix_container"])) {$list_mix_container=$_GET["list_mix_container"];} + elseif (isset($_POST["list_mix_container"])) {$list_mix_container=$_POST["list_mix_container"];} +if (isset($_GET["mix_method"])) {$mix_method=$_GET["mix_method"];} + elseif (isset($_POST["mix_method"])) {$mix_method=$_POST["mix_method"];} +if (isset($_GET["human_answered"])) {$human_answered=$_GET["human_answered"];} + elseif (isset($_POST["human_answered"])) {$human_answered=$_POST["human_answered"];} +if (isset($_GET["category"])) {$category=$_GET["category"];} + elseif (isset($_POST["category"])) {$category=$_POST["category"];} +if (isset($_GET["vsc_id"])) {$vsc_id=$_GET["vsc_id"];} + elseif (isset($_POST["vsc_id"])) {$vsc_id=$_POST["vsc_id"];} +if (isset($_GET["vsc_name"])) {$vsc_name=$_GET["vsc_name"];} + elseif (isset($_POST["vsc_name"])) {$vsc_name=$_POST["vsc_name"];} +if (isset($_GET["vsc_description"])) {$vsc_description=$_GET["vsc_description"];} + elseif (isset($_POST["vsc_description"])) {$vsc_description=$_POST["vsc_description"];} +if (isset($_GET["tovdad_display"])) {$tovdad_display=$_GET["tovdad_display"];} + elseif (isset($_POST["tovdad_display"])) {$tovdad_display=$_POST["tovdad_display"];} +if (isset($_GET["mix_container_item"])) {$mix_container_item=$_GET["mix_container_item"];} + elseif (isset($_POST["mix_container_item"])) {$mix_container_item=$_POST["mix_container_item"];} +if (isset($_GET["enable_agc_xfer_log"])) {$enable_agc_xfer_log=$_GET["enable_agc_xfer_log"];} + elseif (isset($_POST["enable_agc_xfer_log"])) {$enable_agc_xfer_log=$_POST["enable_agc_xfer_log"];} +if (isset($_GET["after_hours_action"])) {$after_hours_action=$_GET["after_hours_action"];} + elseif (isset($_POST["after_hours_action"])) {$after_hours_action=$_POST["after_hours_action"];} +if (isset($_GET["after_hours_message_filename"])) {$after_hours_message_filename=$_GET["after_hours_message_filename"];} + elseif (isset($_POST["after_hours_message_filename"])) {$after_hours_message_filename=$_POST["after_hours_message_filename"];} +if (isset($_GET["after_hours_exten"])) {$after_hours_exten=$_GET["after_hours_exten"];} + elseif (isset($_POST["after_hours_exten"])) {$after_hours_exten=$_POST["after_hours_exten"];} +if (isset($_GET["after_hours_voicemail"])) {$after_hours_voicemail=$_GET["after_hours_voicemail"];} + elseif (isset($_POST["after_hours_voicemail"])) {$after_hours_voicemail=$_POST["after_hours_voicemail"];} +if (isset($_GET["welcome_message_filename"])) {$welcome_message_filename=$_GET["welcome_message_filename"];} + elseif (isset($_POST["welcome_message_filename"])) {$welcome_message_filename=$_POST["welcome_message_filename"];} +if (isset($_GET["moh_context"])) {$moh_context=$_GET["moh_context"];} + elseif (isset($_POST["moh_context"])) {$moh_context=$_POST["moh_context"];} +if (isset($_GET["onhold_prompt_filename"])) {$onhold_prompt_filename=$_GET["onhold_prompt_filename"];} + elseif (isset($_POST["onhold_prompt_filename"])) {$onhold_prompt_filename=$_POST["onhold_prompt_filename"];} +if (isset($_GET["prompt_interval"])) {$prompt_interval=$_GET["prompt_interval"];} + elseif (isset($_POST["prompt_interval"])) {$prompt_interval=$_POST["prompt_interval"];} +if (isset($_GET["agent_alert_exten"])) {$agent_alert_exten=$_GET["agent_alert_exten"];} + elseif (isset($_POST["agent_alert_exten"])) {$agent_alert_exten=$_POST["agent_alert_exten"];} +if (isset($_GET["agent_alert_delay"])) {$agent_alert_delay=$_GET["agent_alert_delay"];} + elseif (isset($_POST["agent_alert_delay"])) {$agent_alert_delay=$_POST["agent_alert_delay"];} +if (isset($_GET["group_rank"])) {$group_rank=$_GET["group_rank"];} + elseif (isset($_POST["group_rank"])) {$group_rank=$_POST["group_rank"];} +if (isset($_GET["campaign_allow_inbound"])) {$campaign_allow_inbound=$_GET["campaign_allow_inbound"];} + elseif (isset($_POST["campaign_allow_inbound"])) {$campaign_allow_inbound=$_POST["campaign_allow_inbound"];} +if (isset($_GET["manual_dial_list_id"])) {$manual_dial_list_id=$_GET["manual_dial_list_id"];} + elseif (isset($_POST["manual_dial_list_id"])) {$manual_dial_list_id=$_POST["manual_dial_list_id"];} +if (isset($_GET["campaign_rank"])) {$campaign_rank=$_GET["campaign_rank"];} + elseif (isset($_POST["campaign_rank"])) {$campaign_rank=$_POST["campaign_rank"];} +if (isset($_GET["source_campaign_id"])) {$source_campaign_id=$_GET["source_campaign_id"];} + elseif (isset($_POST["source_campaign_id"])) {$source_campaign_id=$_POST["source_campaign_id"];} +if (isset($_GET["source_user_id"])) {$source_user_id=$_GET["source_user_id"];} + elseif (isset($_POST["source_user_id"])) {$source_user_id=$_POST["source_user_id"];} +if (isset($_GET["source_group_id"])) {$source_group_id=$_GET["source_group_id"];} + elseif (isset($_POST["source_group_id"])) {$source_group_id=$_POST["source_group_id"];} +if (isset($_GET["default_xfer_group"])) {$default_xfer_group=$_GET["default_xfer_group"];} + elseif (isset($_POST["default_xfer_group"])) {$default_xfer_group=$_POST["default_xfer_group"];} + + + if (isset($script_id)) {$script_id= strtoupper($script_id);} + if (isset($lead_filter_id)) {$lead_filter_id = strtoupper($lead_filter_id);} + +if (strlen($dial_status) > 0) + { + $ADD='28'; + $status = $dial_status; + } + +###################################################################################################### +###################################################################################################### +####### Form variable filtering for security and data integrity +###################################################################################################### +###################################################################################################### + +if ($non_latin < 1) +{ +### DIGITS ONLY ### +$adaptive_dropped_percentage = ereg_replace("[^0-9]","",$adaptive_dropped_percentage); +$adaptive_latest_server_time = ereg_replace("[^0-9]","",$adaptive_latest_server_time); +$admin_hangup_enabled = ereg_replace("[^0-9]","",$admin_hangup_enabled); +$admin_hijack_enabled = ereg_replace("[^0-9]","",$admin_hijack_enabled); +$admin_monitor_enabled = ereg_replace("[^0-9]","",$admin_monitor_enabled); +$AFLogging_enabled = ereg_replace("[^0-9]","",$AFLogging_enabled); +$agent_choose_ingroups = ereg_replace("[^0-9]","",$agent_choose_ingroups); +$agentcall_manual = ereg_replace("[^0-9]","",$agentcall_manual); +$agentonly_callbacks = ereg_replace("[^0-9]","",$agentonly_callbacks); +$AGI_call_logging_enabled = ereg_replace("[^0-9]","",$AGI_call_logging_enabled); +$allcalls_delay = ereg_replace("[^0-9]","",$allcalls_delay); +$alter_agent_interface_options = ereg_replace("[^0-9]","",$alter_agent_interface_options); +$am_message_exten = ereg_replace("[^0-9]","",$am_message_exten); +$answer_transfer_agent = ereg_replace("[^0-9]","",$answer_transfer_agent); +$ast_admin_access = ereg_replace("[^0-9]","",$ast_admin_access); +$ast_delete_phones = ereg_replace("[^0-9]","",$ast_delete_phones); +$attempt_delay = ereg_replace("[^0-9]","",$attempt_delay); +$attempt_maximum = ereg_replace("[^0-9]","",$attempt_maximum); +$auto_dial_next_number = ereg_replace("[^0-9]","",$auto_dial_next_number); +$balance_trunks_offlimits = ereg_replace("[^0-9]","",$balance_trunks_offlimits); +$call_parking_enabled = ereg_replace("[^0-9]","",$call_parking_enabled); +$CallerID_popup_enabled = ereg_replace("[^0-9]","",$CallerID_popup_enabled); +$campaign_detail = ereg_replace("[^0-9]","",$campaign_detail); +$campaign_rec_exten = ereg_replace("[^0-9]","",$campaign_rec_exten); +$campaign_vdad_exten = ereg_replace("[^0-9]","",$campaign_vdad_exten); +$change_agent_campaign = ereg_replace("[^0-9]","",$change_agent_campaign); +$closer_default_blended = ereg_replace("[^0-9]","",$closer_default_blended); +$conf_exten = ereg_replace("[^0-9]","",$conf_exten); +$conf_on_extension = ereg_replace("[^0-9]","",$conf_on_extension); +$conferencing_enabled = ereg_replace("[^0-9]","",$conferencing_enabled); +$ct_default_start = ereg_replace("[^0-9]","",$ct_default_start); +$ct_default_stop = ereg_replace("[^0-9]","",$ct_default_stop); +$ct_friday_start = ereg_replace("[^0-9]","",$ct_friday_start); +$ct_friday_stop = ereg_replace("[^0-9]","",$ct_friday_stop); +$ct_monday_start = ereg_replace("[^0-9]","",$ct_monday_start); +$ct_monday_stop = ereg_replace("[^0-9]","",$ct_monday_stop); +$ct_saturday_start = ereg_replace("[^0-9]","",$ct_saturday_start); +$ct_saturday_stop = ereg_replace("[^0-9]","",$ct_saturday_stop); +$ct_sunday_start = ereg_replace("[^0-9]","",$ct_sunday_start); +$ct_sunday_stop = ereg_replace("[^0-9]","",$ct_sunday_stop); +$ct_thursday_start = ereg_replace("[^0-9]","",$ct_thursday_start); +$ct_thursday_stop = ereg_replace("[^0-9]","",$ct_thursday_stop); +$ct_tuesday_start = ereg_replace("[^0-9]","",$ct_tuesday_start); +$ct_tuesday_stop = ereg_replace("[^0-9]","",$ct_tuesday_stop); +$ct_wednesday_start = ereg_replace("[^0-9]","",$ct_wednesday_start); +$ct_wednesday_stop = ereg_replace("[^0-9]","",$ct_wednesday_stop); +$DBX_port = ereg_replace("[^0-9]","",$DBX_port); +$DBY_port = ereg_replace("[^0-9]","",$DBY_port); +$dedicated_trunks = ereg_replace("[^0-9]","",$dedicated_trunks); +$delete_call_times = ereg_replace("[^0-9]","",$delete_call_times); +$delete_campaigns = ereg_replace("[^0-9]","",$delete_campaigns); +$delete_filters = ereg_replace("[^0-9]","",$delete_filters); +$delete_ingroups = ereg_replace("[^0-9]","",$delete_ingroups); +$delete_lists = ereg_replace("[^0-9]","",$delete_lists); +$delete_remote_agents = ereg_replace("[^0-9]","",$delete_remote_agents); +$delete_scripts = ereg_replace("[^0-9]","",$delete_scripts); +$delete_user_groups = ereg_replace("[^0-9]","",$delete_user_groups); +$delete_users = ereg_replace("[^0-9]","",$delete_users); +$dial_timeout = ereg_replace("[^0-9]","",$dial_timeout); +$dialplan_number = ereg_replace("[^0-9]","",$dialplan_number); +$drop_call_seconds = ereg_replace("[^0-9]","",$drop_call_seconds); +$drop_exten = ereg_replace("[^0-9]","",$drop_exten); +$enable_fast_refresh = ereg_replace("[^0-9]","",$enable_fast_refresh); +$enable_persistant_mysql = ereg_replace("[^0-9]","",$enable_persistant_mysql); +$fast_refresh_rate = ereg_replace("[^0-9]","",$fast_refresh_rate); +$hopper_level = ereg_replace("[^0-9]","",$hopper_level); +$hotkey = ereg_replace("[^0-9]","",$hotkey); +$hotkeys_active = ereg_replace("[^0-9]","",$hotkeys_active); +$list_id = ereg_replace("[^0-9]","",$list_id); +$load_leads = ereg_replace("[^0-9]","",$load_leads); +$max_vicidial_trunks = ereg_replace("[^0-9]","",$max_vicidial_trunks); +$modify_call_times = ereg_replace("[^0-9]","",$modify_call_times); +$modify_users = ereg_replace("[^0-9]","",$modify_users); +$modify_campaigns = ereg_replace("[^0-9]","",$modify_campaigns); +$modify_lists = ereg_replace("[^0-9]","",$modify_lists); +$modify_scripts = ereg_replace("[^0-9]","",$modify_scripts); +$modify_filters = ereg_replace("[^0-9]","",$modify_filters); +$modify_ingroups = ereg_replace("[^0-9]","",$modify_ingroups); +$modify_usergroups = ereg_replace("[^0-9]","",$modify_usergroups); +$modify_remoteagents = ereg_replace("[^0-9]","",$modify_remoteagents); +$modify_servers = ereg_replace("[^0-9]","",$modify_servers); +$view_reports = ereg_replace("[^0-9]","",$view_reports); +$modify_leads = ereg_replace("[^0-9]","",$modify_leads); +$monitor_prefix = ereg_replace("[^0-9]","",$monitor_prefix); +$number_of_lines = ereg_replace("[^0-9]","",$number_of_lines); +$old_conf_exten = ereg_replace("[^0-9]","",$old_conf_exten); +$outbound_cid = ereg_replace("[^0-9]","",$outbound_cid); +$park_ext = ereg_replace("[^0-9]","",$park_ext); +$park_on_extension = ereg_replace("[^0-9]","",$park_on_extension); +$phone_number = ereg_replace("[^0-9]","",$phone_number); +$QUEUE_ACTION_enabled = ereg_replace("[^0-9]","",$QUEUE_ACTION_enabled); +$recording_exten = ereg_replace("[^0-9]","",$recording_exten); +$remote_agent_id = ereg_replace("[^0-9]","",$remote_agent_id); +$safe_harbor_exten = ereg_replace("[^0-9]","",$safe_harbor_exten); +$telnet_port = ereg_replace("[^0-9]","",$telnet_port); +$updater_check_enabled = ereg_replace("[^0-9]","",$updater_check_enabled); +$user_level = ereg_replace("[^0-9]","",$user_level); +$user_start = ereg_replace("[^0-9]","",$user_start); +$user_switching_enabled = ereg_replace("[^0-9]","",$user_switching_enabled); +$VDstop_rec_after_each_call = ereg_replace("[^0-9]","",$VDstop_rec_after_each_call); +$VICIDIAL_park_on_extension = ereg_replace("[^0-9]","",$VICIDIAL_park_on_extension); +$vicidial_recording = ereg_replace("[^0-9]","",$vicidial_recording); +$vicidial_transfers = ereg_replace("[^0-9]","",$vicidial_transfers); +$voicemail_button_enabled = ereg_replace("[^0-9]","",$voicemail_button_enabled); +$voicemail_dump_exten = ereg_replace("[^0-9]","",$voicemail_dump_exten); +$voicemail_ext = ereg_replace("[^0-9]","",$voicemail_ext); +$voicemail_exten = ereg_replace("[^0-9]","",$voicemail_exten); +$voicemail_id = ereg_replace("[^0-9]","",$voicemail_id); +$wrapup_seconds = ereg_replace("[^0-9]","",$wrapup_seconds); +$use_non_latin = ereg_replace("[^0-9]","",$use_non_latin); +$webroot_writable = ereg_replace("[^0-9]","",$webroot_writable); +$enable_queuemetrics_logging = ereg_replace("[^0-9]","",$enable_queuemetrics_logging); +$enable_sipsak_messages = ereg_replace("[^0-9]","",$enable_sipsak_messages); +$allow_sipsak_messages = ereg_replace("[^0-9]","",$allow_sipsak_messages); +$mix_container_item = ereg_replace("[^0-9]","",$mix_container_item); +$prompt_interval = ereg_replace("[^0-9]","",$prompt_interval); +$agent_alert_delay = ereg_replace("[^0-9]","",$agent_alert_delay); +$manual_dial_list_id = ereg_replace("[^0-9]","",$manual_dial_list_id); + +### DIGITS and DASHES +$group_rank = ereg_replace("[^-0-9]","",$group_rank); +$campaign_rank = ereg_replace("[^-0-9]","",$campaign_rank); + +### Y or N ONLY ### +$active = ereg_replace("[^NY]","",$active); +$allow_closers = ereg_replace("[^NY]","",$allow_closers); +$reset_hopper = ereg_replace("[^NY]","",$reset_hopper); +$amd_send_to_vmx = ereg_replace("[^NY]","",$amd_send_to_vmx); +$alt_number_dialing = ereg_replace("[^NY]","",$alt_number_dialing); +$safe_harbor_message = ereg_replace("[^NY]","",$safe_harbor_message); +$selectable = ereg_replace("[^NY]","",$selectable); +$reset_list = ereg_replace("[^NY]","",$reset_list); +$fronter_display = ereg_replace("[^NY]","",$fronter_display); +$drop_message = ereg_replace("[^NY]","",$drop_message); +$use_internal_dnc = ereg_replace("[^NY]","",$use_internal_dnc); +$omit_phone_code = ereg_replace("[^NY]","",$omit_phone_code); +$available_only_ratio_tally = ereg_replace("[^NY]","",$available_only_ratio_tally); +$sys_perf_log = ereg_replace("[^NY]","",$sys_perf_log); +$vicidial_balance_active = ereg_replace("[^NY]","",$vicidial_balance_active); +$vd_server_logs = ereg_replace("[^NY]","",$vd_server_logs); +$agent_pause_codes_active = ereg_replace("[^NY]","",$agent_pause_codes_active); +$campaign_stats_refresh = ereg_replace("[^NY]","",$campaign_stats_refresh); +$disable_alter_custdata = ereg_replace("[^NY]","",$disable_alter_custdata); +$no_hopper_leads_logins = ereg_replace("[^NY]","",$no_hopper_leads_logins); +$human_answered = ereg_replace("[^NY]","",$human_answered); +$tovdad_display = ereg_replace("[^NY]","",$tovdad_display); +$campaign_allow_inbound = ereg_replace("[^NY]","",$campaign_allow_inbound); + +### ALPHA-NUMERIC ONLY ### +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$script_id = ereg_replace("[^0-9a-zA-Z]","",$script_id); +$submit = ereg_replace("[^0-9a-zA-Z]","",$submit); +$campaign_cid = ereg_replace("[^0-9a-zA-Z]","",$campaign_cid); +$get_call_launch = ereg_replace("[^0-9a-zA-Z]","",$get_call_launch); +$campaign_recording = ereg_replace("[^0-9a-zA-Z]","",$campaign_recording); +$ADD = ereg_replace("[^0-9a-zA-Z]","",$ADD); +$dial_prefix = ereg_replace("[^0-9a-zA-Z]","",$dial_prefix); +$state_call_time_state = ereg_replace("[^0-9a-zA-Z]","",$state_call_time_state); +$scheduled_callbacks = ereg_replace("[^0-9a-zA-Z]","",$scheduled_callbacks); +$concurrent_transfers = ereg_replace("[^0-9a-zA-Z]","",$concurrent_transfers); +$billable = ereg_replace("[^0-9a-zA-Z]","",$billable); +$pause_code = ereg_replace("[^0-9a-zA-Z]","",$pause_code); +$vicidial_recording_override = ereg_replace("[^0-9a-zA-Z]","",$vicidial_recording_override); +$queuemetrics_log_id = ereg_replace("[^0-9a-zA-Z]","",$queuemetrics_log_id); +$after_hours_action = ereg_replace("[^0-9a-zA-Z]","",$after_hours_action); +$after_hours_exten = ereg_replace("[^0-9a-zA-Z]","",$after_hours_exten); +$after_hours_voicemail = ereg_replace("[^0-9a-zA-Z]","",$after_hours_voicemail); + +### DIGITS and Dots +$server_ip = ereg_replace("[^\.0-9]","",$server_ip); +$auto_dial_level = ereg_replace("[^\.0-9]","",$auto_dial_level); +$adaptive_maximum_level = ereg_replace("[^\.0-9]","",$adaptive_maximum_level); +$phone_ip = ereg_replace("[^\.0-9]","",$phone_ip); +$old_server_ip = ereg_replace("[^\.0-9]","",$old_server_ip); +$computer_ip = ereg_replace("[^\.0-9]","",$computer_ip); +$queuemetrics_server_ip = ereg_replace("[^\.0-9]","",$queuemetrics_server_ip); + +### ALPHA-NUMERIC and spaces and hash and star and comma +$xferconf_a_dtmf = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$xferconf_a_dtmf); +$xferconf_b_dtmf = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$xferconf_b_dtmf); + +### ALPHACAPS-NUMERIC +$xferconf_a_number = ereg_replace("[^0-9A-Z]","",$xferconf_a_number); +$xferconf_b_number = ereg_replace("[^0-9A-Z]","",$xferconf_b_number); + +### ALPHA-NUMERIC and underscore and dash +$agi_output = ereg_replace("[^-\_0-9a-zA-Z]","",$agi_output); +$ASTmgrSECRET = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrSECRET); +$ASTmgrUSERNAME = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAME); +$ASTmgrUSERNAMElisten = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAMElisten); +$ASTmgrUSERNAMEsend = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAMEsend); +$ASTmgrUSERNAMEupdate = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAMEupdate); +$call_time_id = ereg_replace("[^-\_0-9a-zA-Z]","",$call_time_id); +$campaign_id = ereg_replace("[^-\_0-9a-zA-Z]","",$campaign_id); +$CoNfIrM = ereg_replace("[^-\_0-9a-zA-Z]","",$CoNfIrM); +$DBX_database = ereg_replace("[^-\_0-9a-zA-Z]","",$DBX_database); +$DBX_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$DBX_pass); +$DBX_user = ereg_replace("[^-\_0-9a-zA-Z]","",$DBX_user); +$DBY_database = ereg_replace("[^-\_0-9a-zA-Z]","",$DBY_database); +$DBY_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$DBY_pass); +$DBY_user = ereg_replace("[^-\_0-9a-zA-Z]","",$DBY_user); +$dial_method = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_method); +$dial_status_a = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_a); +$dial_status_b = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_b); +$dial_status_c = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_c); +$dial_status_d = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_d); +$dial_status_e = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_e); +$ext_context = ereg_replace("[^-\_0-9a-zA-Z]","",$ext_context); +$group_id = ereg_replace("[^-\_0-9a-zA-Z]","",$group_id); +$lead_filter_id = ereg_replace("[^-\_0-9a-zA-Z]","",$lead_filter_id); +$local_call_time = ereg_replace("[^-\_0-9a-zA-Z]","",$local_call_time); +$login = ereg_replace("[^-\_0-9a-zA-Z]","",$login); +$login_campaign = ereg_replace("[^-\_0-9a-zA-Z]","",$login_campaign); +$login_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$login_pass); +$login_user = ereg_replace("[^-\_0-9a-zA-Z]","",$login_user); +$next_agent_call = ereg_replace("[^-\_0-9a-zA-Z]","",$next_agent_call); +$old_campaign_id = ereg_replace("[^-\_0-9a-zA-Z]","",$old_campaign_id); +$old_server_id = ereg_replace("[^-\_0-9a-zA-Z]","",$old_server_id); +$OLDuser_group = ereg_replace("[^-\_0-9a-zA-Z]","",$OLDuser_group); +$park_file_name = ereg_replace("[^-\_0-9a-zA-Z]","",$park_file_name); +$pass = ereg_replace("[^-\_0-9a-zA-Z]","",$pass); +$phone_login = ereg_replace("[^-\_0-9a-zA-Z]","",$phone_login); +$phone_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$phone_pass); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$protocol = ereg_replace("[^-\_0-9a-zA-Z]","",$protocol); +$server_id = ereg_replace("[^-\_0-9a-zA-Z]","",$server_id); +$stage = ereg_replace("[^-\_0-9a-zA-Z]","",$stage); +$state_rule = ereg_replace("[^-\_0-9a-zA-Z]","",$state_rule); +$status = ereg_replace("[^-\_0-9a-zA-Z]","",$status); +$trunk_restriction = ereg_replace("[^-\_0-9a-zA-Z]","",$trunk_restriction); +$user = ereg_replace("[^-\_0-9a-zA-Z]","",$user); +$user_group = ereg_replace("[^-\_0-9a-zA-Z]","",$user_group); +$VICIDIAL_park_on_filename = ereg_replace("[^-\_0-9a-zA-Z]","",$VICIDIAL_park_on_filename); +$auto_alt_dial = ereg_replace("[^-\_0-9a-zA-Z]","",$auto_alt_dial); +$dial_status = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status); +$queuemetrics_eq_prepend = ereg_replace("[^-\_0-9a-zA-Z]","",$queuemetrics_eq_prepend); +$vicidial_agent_disable = ereg_replace("[^-\_0-9a-zA-Z]","",$vicidial_agent_disable); +$alter_custdata_override = ereg_replace("[^-\_0-9a-zA-Z]","",$alter_custdata_override); +$list_order_mix = ereg_replace("[^-\_0-9a-zA-Z]","",$list_order_mix); +$vcl_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vcl_id); +$mix_method = ereg_replace("[^-\_0-9a-zA-Z]","",$mix_method); +$category = ereg_replace("[^-\_0-9a-zA-Z]","",$category); +$vsc_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vsc_id); +$moh_context = ereg_replace("[^-\_0-9a-zA-Z]","",$moh_context); +$agent_alert_exten = ereg_replace("[^-\_0-9a-zA-Z]","",$agent_alert_exten); +$source_campaign_id = ereg_replace("[^-\_0-9a-zA-Z]","",$source_campaign_id); +$source_user_id = ereg_replace("[^-\_0-9a-zA-Z]","",$source_user_id); +$source_group_id = ereg_replace("[^-\_0-9a-zA-Z]","",$source_group_id); +$default_xfer_group = ereg_replace("[^-\_0-9a-zA-Z]","",$default_xfer_group); + +### ALPHA-NUMERIC and spaces +$lead_order = ereg_replace("[^ 0-9a-zA-Z]","",$lead_order); +### ALPHA-NUMERIC and hash +$group_color = ereg_replace("[^\#0-9a-zA-Z]","",$group_color); + +### ALPHA-NUMERIC and spaces dots, commas, dashes, underscores +$adaptive_dl_diff_target = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$adaptive_dl_diff_target); +$adaptive_intensity = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$adaptive_intensity); +$asterisk_version = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$asterisk_version); +$call_time_comments = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$call_time_comments); +$call_time_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$call_time_name); +$campaign_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$campaign_name); +$campaign_rec_filename = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$campaign_rec_filename); +$company = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$company); +$full_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$full_name); +$fullname = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$fullname); +$group_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$group_name); +$HKstatus = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$HKstatus); +$lead_filter_comments = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$lead_filter_comments); +$lead_filter_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$lead_filter_name); +$list_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$list_name); +$local_gmt = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$local_gmt); +$phone_type = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$phone_type); +$picture = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$picture); +$script_comments = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$script_comments); +$script_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$script_name); +$server_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$server_description); +$status = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$status); +$status_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$status_name); +$wrapup_message = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$wrapup_message); +$pause_code_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$pause_code_name); +$campaign_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$campaign_description); +$list_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$list_description); +$vcl_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vcl_name); +$vsc_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vsc_name); +$vsc_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vsc_description); + +### ALPHA-NUMERIC and underscore and dash and slash and at and dot +$call_out_number_group = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$call_out_number_group); +$client_browser = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$client_browser); +$DBX_server = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$DBX_server); +$DBY_server = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$DBY_server); +$dtmf_send_extension = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$dtmf_send_extension); +$extension = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$extension); +$install_directory = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$install_directory); +$old_extension = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$old_extension); +$telnet_host = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$telnet_host); +$queuemetrics_dbname = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_dbname); +$queuemetrics_login = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_login); +$queuemetrics_pass = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_pass); +$after_hours_message_filename = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$after_hours_message_filename); +$welcome_message_filename = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$welcome_message_filename); +$onhold_prompt_filename = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$onhold_prompt_filename); + +### remove semi-colons ### +$lead_filter_sql = ereg_replace(";","",$lead_filter_sql); +$list_mix_container = ereg_replace(";","",$list_mix_container); + +### VARIABLES TO BE mysql_real_escape_string ### +# $web_form_address +# $queuemetrics_url +# $admin_home_url + +### VARIABLES not filtered at all ### +# $script_text + +} # end of non_latin + + +##### END VARIABLE FILTERING FOR SECURITY ##### + + +# AST GUI database administration +# admin.php +# +# CHANGELOG: +# 50315-1110 - Added Custom Campaign Statuses +# 50317-1438 - Added Fronter Display var to inbound groups +# 50322-1355 - Added custom callerID per campaign +# 50517-1356 - Added user_groups sections and user_group to vicidial_users +# 50517-1440 - Added ability to logout (must click OK with empty user/pass) +# 50602-1622 - Added lead loader pages to load new files into vicidial_list +# 50620-1351 - Added custom vdad transfer AGI extension per campaign +# 50810-1414 - modified in groups to kick out spaces and dashes +# 50908-2136 - Added Custom Campaign HotKeys +# 50914-0950 - Fixed user search by user_group +# 50926-1358 - Modified to allow for language translation +# 50926-1615 - Added WeBRooTWritablE write controls +# 51020-1008 - Added editable web address and park ext - NEW dial campaigns +# 51020-1056 - Added fields and help for campaign recording control +# 51123-1335 - Altered code to function in php globals=off +# 51208-1038 - Added user_level changes, function controls and default user phones +# 51208-1556 - Added deletion of users/lists/campaigns/in groups/remote agents +# 51213-1706 - Added add/delete/modify vicidial scripts +# 51214-1737 - Added preview of vicidial script in popup window +# 51219-1225 - Added campaign and ingroups script selector and get_call_launch field +# 51222-1055 - Added am_message_exten to campaigns to allow for AM Message button +# 51222-1125 - Fixed new vicidial_campaigns default values not being assigned bug +# 51222-1156 - Added LOG OUT ALL AGENTS ON THIS CAMPAIGN button to campaign screen +# 60204-0659 - Fixed hopper reset bug +# 60207-1413 - Added AMD send to voicemail extension and xfer-conf dtmf presets +# 60213-1100 - Added several vicidial_users permissions fields +# 60215-1319 - Added On-hold CallBacks display and links +# 60227-1226 - Fixed vicidial_inbound_groups insert bug +# 60413-1308 - Fixed list display to have 1 row/status: count and time zone tables +# - Added status name in selected dial statuses in campaign screen +# 60417-1416 - Added vicidial_lead_filters sections +# - Changed the header links to color-coded sectional with sublinks below +# - Added filter name and script name to campaign and in-group modify sections +# - Added callback and alt dial options to campaigns section +# - Added callback, alt dial and other options to users section +# 60419-1628 - Alter Callbacks display to include status and LIVE listings, reordered +# 60421-1441 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60425-2355 - Added agent options to vicidial_users, reformatted user page +# 60502-1627 - Added drop_call_seconds and safe_harbor_ fields to campaign screen +# 60503-1228 - Added drop_call_seconds and drop_ fields to inbound groups screen +# 60505-1117 - Added initial framework for new local_call_times tables and definitions +# 60506-1033 - More revisions to the local_call_time section +# 60508-1354 - Finished call_times and state_call_times sections +# - Added modify/delete options for call_times +# 60509-1311 - Functionalize campaign dialable leads calculation +# - Change state_call_times selection from call_times to only allow one per state +# - Added dialable leads count popup to campaign screen if auto-calc is disabled +# - Added test dialable leads count popup to filter screen +# 60510-1050 - Added Wrapup seconds and Wrapup message to campaigns screen +# 60608-1401 - Added allowable inbound_groups checkboxes to CLOSER campaign detail screen +# 60609-1051 - Added add-to-dnc in LISTS section +# 60613-1415 - Added lead recycling options to campaign detail screen +# 60619-1523 - Added variable filtering to eliminate SQL injection attack threat +# 60622-1216 - Fixed HotKey addition form issues and variable filtering +# 60623-1159 - Fixed Scheduled Callbacks over-filtering bug and filter_sql bug +# 60808-1147 - Changed filtering for and added instructions for consutative transfers +# 60816-1552 - Added allcalls_delay start delay for recordings in vicidial.php +# 60817-2226 - Fixed bug that would not allow lead recycling of non-selectable statuses +# 60821-1543 - Added option to Omit Phone Code while dialing in vicidial +# 60821-1625 - Added ALLFORCE recording option for campaign_recording +# 60823-1154 - Added fields for adaptive dialing +# 60824-1326 - Added adaptive_latest_target_gmt for ADAPT_TAPERED dial method +# 60825-1205 - Added adaptive_intensity for ADAPT_ dial methods +# 60828-1019 - Changed adaptive_latest_target_gmt to adaptive_latest_server_time +# 60828-1115 - Added adaptive_dl_diff_target and changed intensity dropdown +# 60927-1246 - Added astguiclient/admin.php functions under SERVERS tab +# 61002-1402 - Added fields for vicidial balance trunk controls +# 61003-1123 - Added functions for vicidial_server_trunks records +# 61109-1022 - Added Emergency VDAC Jam Clear function to Campaign Detail screen +# 61110-1502 - Add ability to select NONE in dial statuses, new list_id must not be < 100 +# 61122-1228 - Added user group campaign restrictions +# 61122-1535 - Changed script_text to unfiltered and added more variables to SCRIPTS +# 61129-1028 - Added headers to Users and Phones with clickable order-by titles +# 70108-1405 - Added ADAPT OVERRIDE to allow for forced dial_level changes in ADAPT dial methods +# - Screen width definable at top of script, merged server_stats into this script +# 70109-1638 - Added ALTPH2 and ADDR3 hotkey options for alt number dialing with HotKeys +# 70109-1716 - Added concurrent_transfers option to vicidial_campaigns +# 70115-1152 - Aded (CLOSER|BLEND|INBND|_C$|_B$|_I$) options for CLOSER-type campaigns +# 70115-1532 - Added auto_alt_dial field to campaign screen for auto-dialing of alt numbers +# 70116-1200 - Added auto_alt_dial_status functionality to campaign screen +# 70117-1235 - Added header formatting variables at top of script +# - Moved Call Times and Phones/Server functions to Admin section +# 70118-1706 - Added new user group displays and links +# 70123-1519 - Added user permission settings for all sections +# 70124-1346 - Fixed spelling errors and formatting consistency +# 70202-1120 - Added agent_pause_codes section to campaigns +# 70205-1204 - Added memo, last dialed, timestamp and stats-refresh fields to vicidial_campaigns/lists +# 70206-1323 - Added user setting for vicidial_recording_override +# 70212-1412 - Added system settings section +# 70214-1226 - Added QueueMetrics Log ID field to system settings section +# 70219-1102 - Changed campaign dial statuses to be one string allowing for high limit +# 70223-0957 - Added queuemetrics_eq_prepend for custom ENTERQUEUE prepending of a field +# 70302-1111 - Fixed small bug in dialable leads calculation +# 70314-1133 - Added insert selection on script forms +# 70319-1423 - Added Alter Customer Data and agent disable display functions +# 70319-1625 - Added option to allow agents to login to outbound campaigns with no leads in the hopper +# 70322-1455 - Added sipsak messages parameters +# 70402-1157 - Added HOME link and entry to system_settings table, added QM link on reports section +# 70516-1628 - Started reformatting campaigns to use submenus to break up options +# 70529-1653 - Added help for list mix +# 70530-1354 - Added human_answered field to statuses, added system status modification +# 70530-1714 - Added lists for all campaign subsections +# 70531-1631 - Development on List mix admin interface +# 70601-1629 - More development on List mix admin interface, formatting, and added some javascript +# 70602-1300 - More development on List mix admin interface, more javascript +# 70608-1459 - Added option to set LIVE Callbacks to INACTIVE after one month +# 70612-1451 - Added Callback INACTIVE link for after one week, sort by user/group/entrydate +# 70614-0231 - Added Status Categories, ability to Modify Statuses, moved system statuses to sub-section +# 70623-1008 - List Mix section now allows modification of list mix entries +# 70629-1721 - List Mix section adding and removing of list entries active +# 70706-1636 - List Mix section cleanup and more error-checking +# 70908-0941 - Added agc logile enable system_settings +# 71020-1934 - Added inbound groups options: on-hold music, messages, call_times +# 71022-1343 - Added inbound group ranks for users +# 71029-1710 - Added option for campaign to be inbound and/or blended with no restrictions on the campaign_id name +# - Added 5th NEW and 6th NEW to the dial order options +# 71030-2010 - Added Manual Dial List ID field to campaigns table +# 71103-2207 - Added inbound_group_rank and fewest_calls to the inbound groups call order options +# 71113-1521 - Added campaign_rank to agent options +# - Added ability to Copy a campaign's setting to a new campaign +# 71113-2225 - Added ability to copy user and in-group settings to new users and in-groups +# 71116-0942 - Added campaign_rank and fewest_calls as methods for agent call routing +# 71122-1135 - Added default transfer group for campaigns and inbound groups +# 71125-1751 - Added allowable transfer groups to campaign detail screen +# +# +# make sure you have added a user to the vicidial_users MySQL table with at least user_level 8 to access this page the first time + +$admin_version = '2.0.4-119'; +$build = '71125-1751'; + +$STARTtime = date("U"); +$SQLdate = date("Y-m-d H:i:s"); +$MT[0]=''; +$US='_'; + +$month_old = mktime(0, 0, 0, date("m")-1, date("d"), date("Y")); +$past_month_date = date("Y-m-d H:i:s",$month_old); +$week_old = mktime(0, 0, 0, date("m"), date("d")-7, date("Y")); +$past_week_date = date("Y-m-d H:i:s",$week_old); + +if ($force_logout) +{ + if( (strlen($PHP_AUTH_USER)>0) or (strlen($PHP_AUTH_PW)>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "You have now logged out. Thank you\n"; + exit; +} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ($auth<1)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT * from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[3]; + $LOGuser_level =$row[4]; + $LOGuser_group =$row[5]; + $LOGdelete_users =$row[8]; + $LOGdelete_user_groups =$row[9]; + $LOGdelete_lists =$row[10]; + $LOGdelete_campaigns =$row[11]; + $LOGdelete_ingroups =$row[12]; + $LOGdelete_remote_agents =$row[13]; + $LOGload_leads =$row[14]; + $LOGcampaign_detail =$row[15]; + $LOGast_admin_access =$row[16]; + $LOGast_delete_phones =$row[17]; + $LOGdelete_scripts =$row[18]; + $LOGdelete_filters =$row[29]; + $LOGalter_agent_interface =$row[30]; + $LOGdelete_call_times =$row[32]; + $LOGmodify_call_times =$row[33]; + $LOGmodify_users =$row[34]; + $LOGmodify_campaigns =$row[35]; + $LOGmodify_lists =$row[36]; + $LOGmodify_scripts =$row[37]; + $LOGmodify_filters =$row[38]; + $LOGmodify_ingroups =$row[39]; + $LOGmodify_usergroups =$row[40]; + $LOGmodify_remoteagents =$row[41]; + $LOGmodify_servers =$row[42]; + $LOGview_reports =$row[43]; + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns =$row[0]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +###################################################################################################### +###################################################################################################### +####### Header settings +###################################################################################################### +###################################################################################################### + + +header ("Content-type: text/html; charset=utf-8"); +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDIAL ADMIN: "; + +if (!isset($ADD)) {$ADD=0;} + +if ($ADD=="1") {$hh='users'; echo "Add New User";} +if ($ADD=="1A") {$hh='users'; echo "Copy User";} +if ($ADD==11) {$hh='campaigns'; $sh='basic'; echo "Add New Campaign";} +if ($ADD==12) {$hh='campaigns'; $sh='basic'; echo "Copy Campaign";} +if ($ADD==111) {$hh='lists'; echo "Add New List";} +if ($ADD==121) {$hh='lists'; echo "Add New DNC";} +if ($ADD==1111) {$hh='ingroups'; echo "Add New In-Group";} +if ($ADD==1211) {$hh='ingroups'; echo "Copy In-Group";} +if ($ADD==11111) {$hh='remoteagent'; echo "Add New Remote Agents";} +if ($ADD==111111) {$hh='usergroups'; echo "Add New Users Group";} +if ($ADD==1111111) {$hh='scripts'; echo "Add New Script";} +if ($ADD==11111111) {$hh='filters'; echo "Add New Filter";} +if ($ADD==111111111) {$hh='admin'; $sh='times'; echo "Add New Call Time";} +if ($ADD==1111111111) {$hh='admin'; $sh='times'; echo "Add New State Call Time";} +if ($ADD==11111111111) {$hh='admin'; $sh='phones'; echo "ADD NEW PHONE";} +if ($ADD==111111111111) {$hh='admin'; $sh='server'; echo "ADD NEW SERVER";} +if ($ADD==1111111111111) {$hh='admin'; $sh='conference'; echo "ADD NEW CONFERENCE";} +if ($ADD==11111111111111) {$hh='admin'; $sh='conference'; echo "ADD NEW VICIDIAL CONFERENCE";} +if ($ADD=="2") {$hh='users'; echo "New User Addition";} +if ($ADD=="2A") {$hh='users'; echo "New Copied User Addition";} +if ($ADD==20) {$hh='campaigns'; $sh='basic'; echo "New Copied Campaign Addition";} +if ($ADD==21) {$hh='campaigns'; $sh='basic'; echo "New Campaign Addition";} +if ($ADD==22) {$hh='campaigns'; $sh='status'; echo "New Campaign Status Addition";} +if ($ADD==23) {$hh='campaigns'; $sh='hotkey'; echo "New Campaign HotKey Addition";} +if ($ADD==25) {$hh='campaigns'; $sh='recycle'; echo "New Campaign Lead Recycle Addition";} +if ($ADD==26) {$hh='campaigns'; $sh='autoalt'; echo "New Auto Alt Dial Status";} +if ($ADD==27) {$hh='campaigns'; $sh='pause'; echo "New Agent Pause Code";} +if ($ADD==28) {$hh='campaigns'; $sh='dialstat'; echo "Campaign Dial Status Added";} +if ($ADD==29) {$hh='campaigns'; $sh='listmix'; echo "Campaign List Mix Added";} +if ($ADD==211) {$hh='lists'; echo "New List Addition";} +if ($ADD==2111) {$hh='ingroups'; echo "New In-Group Addition";} +if ($ADD==2011) {$hh='ingroups'; echo "New Copied In-Group Addition";} +if ($ADD==21111) {$hh='remoteagent'; echo "New Remote Agents Addition";} +if ($ADD==211111) {$hh='usergroups'; echo "New Users Group Addition";} +if ($ADD==2111111) {$hh='scripts'; echo "New Script Addition";} +if ($ADD==21111111) {$hh='filters'; echo "New Filter Addition";} +if ($ADD==211111111) {$hh='admin'; $sh='times'; echo "New Call Time Addition";} +if ($ADD==2111111111) {$hh='admin'; $sh='times'; echo "New State Call Time Addition";} +if ($ADD==21111111111) {$hh='admin'; $sh='phones'; echo "ADDING NEW PHONE";} +if ($ADD==211111111111) {$hh='admin'; $sh='server'; echo "ADDING NEW SERVER";} +if ($ADD==221111111111) {$hh='admin'; $sh='server'; echo "ADDING NEW SERVER VICIDIAL TRUNK RECORD";} +if ($ADD==2111111111111) {$hh='admin'; $sh='conference'; echo "ADDING NEW CONFERENCE";} +if ($ADD==21111111111111) {$hh='admin'; $sh='conference'; echo "ADDING NEW VICIDIAL CONFERENCE";} +if ($ADD==221111111111111) {$hh='admin'; $sh='status'; echo "ADDING VICIDIAL SYSTEM STATUSES";} +if ($ADD==231111111111111) {$hh='admin'; $sh='status'; echo "ADDING VICIDIAL STATUS CATEGORY";} +if ($ADD==3) {$hh='users'; echo "Modify User";} +if ($ADD==30) {$hh='campaigns'; echo "Campaign Not Allowed";} +if ($ADD==31) + { + $hh='campaigns'; $sh='detail'; echo "Modify Campaign - Detail - $campaign_id"; + if ($SUB==22) {echo " - Statuses";} + if ($SUB==23) {echo " - HotKeys";} + if ($SUB==25) {echo " - Lead Recycle Entries";} + if ($SUB==26) {echo " - Auto Alt Dial Statuses";} + if ($SUB==27) {echo " - Agent Pause Codes";} + if ($SUB==29) {echo " - List Mixes";} + } +if ($ADD==32) {$hh='campaigns'; $sh='status'; echo "Campaign Statuses";} +if ($ADD==33) {$hh='campaigns'; $sh='hotkey'; echo "Campaign HotKeys";} +if ($ADD==34) {$hh='campaigns'; $sh='basic'; echo "Modify Campaign - Basic View";} +if ($ADD==35) {$hh='campaigns'; $sh='recycle'; echo "Campaign Lead Recycle Entries";} +if ($ADD==36) {$hh='campaigns'; $sh='autoalt'; echo "Campaign Auto Alt Dial Statuses";} +if ($ADD==37) {$hh='campaigns'; $sh='pause'; echo "Campaign Agent Pause Codes";} +if ($ADD==38) {$hh='campaigns'; $sh='dialstat'; echo "Campaign Dial Statuses";} +if ($ADD==39) {$hh='campaigns'; $sh='listmix'; echo "Campaign List Mixes";} +if ($ADD==311) {$hh='lists'; echo "Modify List";} +if ($ADD==3111) {$hh='ingroups'; echo "Modify In-Group";} +if ($ADD==31111) {$hh='remoteagent'; echo "Modify Remote Agents";} +if ($ADD==311111) {$hh='usergroups'; echo "Modify Users Groups";} +if ($ADD==3111111) {$hh='scripts'; echo "Modify Script";} +if ($ADD==31111111) {$hh='filters'; echo "Modify Filter";} +if ($ADD==311111111) {$hh='admin'; $sh='times'; echo "Modify Call Time";} +if ($ADD==321111111) {$hh='admin'; $sh='times'; echo "Modify Call Time State Definitions List";} +if ($ADD==3111111111) {$hh='admin'; $sh='times'; echo "Modify State Call Time";} +if ($ADD==31111111111) {$hh='admin'; $sh='phones'; echo "MODIFY PHONE";} +if ($ADD==311111111111) {$hh='admin'; $sh='server'; echo "MODIFY SERVER";} +if ($ADD==3111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY CONFERENCE";} +if ($ADD==31111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY VICIDIAL CONFERENCE";} +if ($ADD==311111111111111) {$hh='admin'; $sh='settings'; echo "MODIFY VICIDIAL SYSTEM SETTINGS";} +if ($ADD==321111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL SYSTEM STATUSES";} +if ($ADD==331111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL STATUS CATEGORY";} +if ($ADD=="4A") {$hh='users'; echo "Modify User - Admin";} +if ($ADD=="4B") {$hh='users'; echo "Modify User - Admin";} +if ($ADD==4) {$hh='users'; echo "Modify User";} +if ($ADD==41) {$hh='campaigns'; $sh='detail'; echo "Modify Campaign";} +if ($ADD==42) {$hh='campaigns'; $sh='status'; echo "Modify Campaign Status";} +if ($ADD==43) {$hh='campaigns'; $sh='hotkey'; echo "Modify Campaign HotKey";} +if ($ADD==44) {$hh='campaigns'; $sh='basic'; echo "Modify Campaign - Basic View";} +if ($ADD==45) {$hh='campaigns'; $sh='recycle'; echo "Modify Campaign Lead Recycle";} +if ($ADD==47) {$hh='campaigns'; $sh='pause'; echo "Modify Agent Pause Code";} +if ($ADD==49) {$hh='campaigns'; $sh='listmix'; echo "Modify Campaign List Mix";} +if ($ADD==411) {$hh='lists'; echo "Modify List";} +if ($ADD==4111) {$hh='ingroups'; echo "Modify In-Group";} +if ($ADD==41111) {$hh='remoteagent'; echo "Modify Remote Agents";} +if ($ADD==411111) {$hh='usergroups'; echo "Modify Users Groups";} +if ($ADD==4111111) {$hh='scripts'; echo "Modify Script";} +if ($ADD==41111111) {$hh='filters'; echo "Modify Filter";} +if ($ADD==411111111) {$hh='admin'; $sh='times'; echo "Modify Call Time";} +if ($ADD==4111111111) {$hh='admin'; $sh='times'; echo "Modify State Call Time";} +if ($ADD==41111111111) {$hh='admin'; $sh='phones'; echo "MODIFY PHONE";} +if ($ADD==411111111111) {$hh='admin'; $sh='server'; echo "MODIFY SERVER";} +if ($ADD==421111111111) {$hh='admin'; $sh='server'; echo "MODIFY SERVER VICIDIAL TRUNK RECORD";} +if ($ADD==4111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY CONFERENCE";} +if ($ADD==41111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY VICIDIAL CONFERENCE";} +if ($ADD==411111111111111) {$hh='admin'; $sh='settings'; echo "MODIFY VICIDIAL SYSTEM SETTINGS";} +if ($ADD==421111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL SYSTEM STATUSES";} +if ($ADD==431111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL STATUS CATEGORIES";} +if ($ADD==5) {$hh='users'; echo "Delete User";} +if ($ADD==51) {$hh='campaigns'; $sh='detail'; echo "Delete Campaign";} +if ($ADD==52) {$hh='campaigns'; $sh='detail'; echo "Logout Agents";} +if ($ADD==53) {$hh='campaigns'; $sh='detail'; echo "Emergency VDAC Jam Clear";} +if ($ADD==511) {$hh='lists'; echo "Delete List";} +if ($ADD==5111) {$hh='ingroups'; echo "Delete In-Group";} +if ($ADD==51111) {$hh='remoteagent'; echo "Delete Remote Agents";} +if ($ADD==511111) {$hh='usergroups'; echo "Delete Users Group";} +if ($ADD==5111111) {$hh='scripts'; echo "Delete Script";} +if ($ADD==51111111) {$hh='filters'; echo "Delete Filter";} +if ($ADD==511111111) {$hh='admin'; $sh='times'; echo "Delete Call Time";} +if ($ADD==5111111111) {$hh='admin'; $sh='times'; echo "Delete State Call Time";} +if ($ADD==51111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} +if ($ADD==511111111111) {$hh='admin'; $sh='server'; echo "DELETE SERVER";} +if ($ADD==5111111111111) {$hh='admin'; $sh='conference'; echo "DELETE CONFERENCE";} +if ($ADD==51111111111111) {$hh='admin'; $sh='conference'; echo "DELETE VICIDIAL CONFERENCE";} +if ($ADD==6) {$hh='users'; echo "Delete User";} +if ($ADD==61) {$hh='campaigns'; $sh='detail'; echo "Delete Campaign";} +if ($ADD==62) {$hh='campaigns'; $sh='detail'; echo "Logout Agents";} +if ($ADD==63) {$hh='campaigns'; $sh='detail'; echo "Emergency VDAC Jam Clear";} +if ($ADD==65) {$hh='campaigns'; $sh='recycle'; echo "Delete Lead Recycle";} +if ($ADD==66) {$hh='campaigns'; $sh='autoalt'; echo "Delete Auto Alt Dial Status";} +if ($ADD==67) {$hh='campaigns'; $sh='pause'; echo "Delete Agent Pause Code";} +if ($ADD==68) {$hh='campaigns'; $sh='dialstat'; echo "Campaign Dial Status Removed";} +if ($ADD==69) {$hh='campaigns'; $sh='listmix'; echo "Campaign List Mix Removed";} +if ($ADD==611) {$hh='lists'; echo "Delete List";} +if ($ADD==6111) {$hh='ingroups'; echo "Delete In-Group";} +if ($ADD==61111) {$hh='remoteagent'; echo "Delete Remote Agents";} +if ($ADD==611111) {$hh='usergroups'; echo "Delete Users Group";} +if ($ADD==6111111) {$hh='scripts'; echo "Delete Script";} +if ($ADD==61111111) {$hh='filters'; echo "Delete Filter";} +if ($ADD==611111111) {$hh='admin'; $sh='times'; echo "Delete Call Time";} +if ($ADD==6111111111) {$hh='admin'; $sh='times'; echo "Delete State Call Time";} +if ($ADD==61111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} +if ($ADD==611111111111) {$hh='admin'; $sh='server'; echo "DELETE SERVER";} +if ($ADD==621111111111) {$hh='admin'; $sh='server'; echo "DELETE SERVER VICIDIAL TRUNK RECORD";} +if ($ADD==6111111111111) {$hh='admin'; $sh='conference'; echo "DELETE CONFERENCE";} +if ($ADD==61111111111111) {$hh='admin'; $sh='conference'; echo "DELETE VICIDIAL CONFERENCE";} +if ($ADD==73) {$hh='campaigns'; echo "Dialable Lead Count";} +if ($ADD==7111111) {$hh='scripts'; echo "Preview Script";} +if ($ADD==0) {$hh='users'; echo "Users List";} +if ($ADD==8) {$hh='users'; echo "CallBacks Within Agent";} +if ($ADD==81) {$hh='campaigns'; $sh='list'; echo "CallBacks Within Campaign";} +if ($ADD==811) {$hh='lists'; echo "CallBacks Within List";} +if ($ADD==8111) {$hh='usergroups'; echo "CallBacks Within User Group";} +if ($ADD==10) {$hh='campaigns'; $sh='list'; echo "Campaigns";} +if ($ADD==100) {$hh='lists'; echo "Lists";} +if ($ADD==1000) {$hh='ingroups'; echo "In-Groups";} +if ($ADD==10000) {$hh='remoteagent'; echo "Remote Agents";} +if ($ADD==100000) {$hh='usergroups'; echo "User Groups";} +if ($ADD==1000000) {$hh='scripts'; echo "Scripts";} +if ($ADD==10000000) {$hh='filters'; echo "Filters";} +if ($ADD==100000000) {$hh='admin'; $sh='times'; echo "Call Times";} +if ($ADD==1000000000) {$hh='admin'; $sh='times'; echo "State Call Times";} +if ($ADD==10000000000) {$hh='admin'; $sh='phones'; echo "PHONE LIST";} +if ($ADD==100000000000) {$hh='admin'; $sh='server'; echo "SERVER LIST";} +if ($ADD==1000000000000) {$hh='admin'; $sh='conference'; echo "CONFERENCE LIST";} +if ($ADD==10000000000000) {$hh='admin'; $sh='conference'; echo "VICIDIAL CONFERENCE LIST";} +if ($ADD==550) {$hh='users'; echo "Search Form";} +if ($ADD==551) {$hh='users'; echo "SEARCH PHONES";} +if ($ADD==660) {$hh='users'; echo "Search Results";} +if ($ADD==661) {$hh='users'; echo "SEARCH PHONES RESULTS";} +if ($ADD==99999) {$hh='users'; echo "HELP";} +if ($ADD==999999) {$hh='reports'; echo "REPORTS";} + +if ( ($ADD>9) && ($ADD < 99998) ) + { + ##### get scripts listing for dynamic pulldown + $stmt="SELECT script_id,script_name from vicidial_scripts order by script_id"; + $rslt=mysql_query($stmt, $link); + $scripts_to_print = mysql_num_rows($rslt); + $scripts_list="<option value=\"\">NONE</option>\n"; + + $o=0; + while ($scripts_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $scripts_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $scriptname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + ##### get filters listing for dynamic pulldown + $stmt="SELECT lead_filter_id,lead_filter_name,lead_filter_sql from vicidial_lead_filters order by lead_filter_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + $filters_list="<option value=\"\">NONE</option>\n"; + + $o=0; + while ($filters_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $filters_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $filtername_list["$rowx[0]"] = "$rowx[1]"; + $filtersql_list["$rowx[0]"] = "$rowx[2]"; + $o++; + } + + ##### get call_times listing for dynamic pulldown + $stmt="SELECT call_time_id,call_time_name from vicidial_call_times order by call_time_id"; + $rslt=mysql_query($stmt, $link); + $times_to_print = mysql_num_rows($rslt); + + $o=0; + while ($times_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $call_times_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $call_timename_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + } + +if ( ( (strlen($ADD)>4) && ($ADD < 99998) ) or ($ADD==3) or (($ADD>20) and ($ADD<70)) or ($ADD=="4A") or ($ADD=="4B") or (strlen($ADD)==12) ) + { + ##### get server listing for dynamic pulldown + $stmt="SELECT server_ip,server_description from servers order by server_ip"; + $rslt=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rslt); + $servers_list=''; + + $o=0; + while ($servers_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $servers_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + ##### BEGIN get campaigns listing for rankings ##### + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + $campaigns_value=''; + $RANKcampaigns_list="<tr><td>CAMPAIGN</td><td>     RANK</td><td>     CALLS</td></tr>\n"; + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $campaign_id_values[$o] = $rowx[0]; + $campaign_name_values[$o] = $rowx[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + $stmt="SELECT campaign_rank,calls_today from vicidial_campaign_agents where user='$user' and campaign_id='$campaign_id_values[$o]'"; + $rslt=mysql_query($stmt, $link); + $ranks_to_print = mysql_num_rows($rslt); + if ($ranks_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $SELECT_campaign_rank = $row[0]; + $calls_today = $row[1]; + } + else + {$calls_today=0; $SELECT_campaign_rank=0;} + if ( ($ADD=="4A") or ($ADD=="4B") ) + { + if (isset($_GET["RANK_$campaign_id_values[$o]"])) {$campaign_rank=$_GET["RANK_$campaign_id_values[$o]"];} + elseif (isset($_POST["RANK_$campaign_id_values[$o]"])) {$campaign_rank=$_POST["RANK_$campaign_id_values[$o]"];} + + if ($ranks_to_print > 0) + { + $stmt="UPDATE vicidial_campaign_agents set campaign_rank='$campaign_rank', campaign_weight='$campaign_rank' where campaign_id='$campaign_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO vicidial_campaign_agents set campaign_rank='$campaign_rank', campaign_weight='$campaign_rank', campaign_id='$campaign_id_values[$o]', user='$user';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_live_agents set campaign_weight='$campaign_rank' where campaign_id='$campaign_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else {$campaign_rank = $SELECT_campaign_rank;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + # disable non user-group allowable campaign ranks + $stmt="SELECT user_group from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Ruser_group = $row[0]; + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$Ruser_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_campaigns = $row[0]; + $allowed_campaigns = preg_replace("/ -$/","",$allowed_campaigns); + $UGcampaigns = explode(" ", $allowed_campaigns); + + $p=0; $RANK_camp_active=0; $CR_disabled = ''; + if (eregi('-ALL-CAMPAIGNS-',$allowed_campaigns)) + {$RANK_camp_active++;} + else + { + $UGcampaign_ct = count($UGcampaigns); + while ($p < $UGcampaign_ct) + { + if ($campaign_id_values[$o] == $UGcampaigns[$p]) + {$RANK_camp_active++;} + $p++; + } + } + if ($RANK_camp_active < 1) {$CR_disabled = 'DISABLED';} + + $RANKcampaigns_list .= "<tr $bgcolor><td>"; + $campaigns_list .= "<a href=\"$PHP_SELF?ADD=31&campaign_id=$campaign_id_values[$o]\">$campaign_id_values[$o]</a> - $campaign_name_values[$o] <BR>\n"; + $RANKcampaigns_list .= "<a href=\"$PHP_SELF?ADD=31&campaign_id=$campaign_id_values[$o]\">$campaign_id_values[$o]</a> - $campaign_name_values[$o] </td>"; + $RANKcampaigns_list .= "<td>     <select size=1 name=RANK_$campaign_id_values[$o] $CR_disabled>\n"; + $h="9"; + while ($h>=-9) + { + $RANKcampaigns_list .= "<option value=\"$h\""; + if ($h==$campaign_rank) + {$RANKcampaigns_list .= " SELECTED";} + $RANKcampaigns_list .= ">$h</option>"; + $h--; + } + $RANKcampaigns_list .= "</select></td>\n"; + $RANKcampaigns_list .= "<td align=right>     $calls_today</td></tr>\n"; + $o++; + } + ##### END get campaigns listing for rankings ##### + + + ##### BEGIN get inbound groups listing for checkboxes ##### + $xfer_groupsSQL=''; + if ( (($ADD>20) and ($ADD<70)) and ($ADD!=41) ) + { + $stmt="SELECT closer_campaigns,xfer_groups from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + $xfer_groups = $row[1]; + $xfer_groups = preg_replace("/ -$/","",$xfer_groups); + $XFERgroups = explode(" ", $xfer_groups); + $xfer_groupsSQL = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groupsSQL = preg_replace("/ /","','",$xfer_groupsSQL); + $xfer_groupsSQL = "WHERE group_id IN('$xfer_groupsSQL')"; + } + if ($ADD==41) + { + $p=0; + $XFERgroup_ct = count($XFERgroups); + while ($p < $XFERgroup_ct) + { + $xfer_groups .= " $XFERgroups[$p]"; + $p++; + } + $xfer_groupsSQL = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groupsSQL = preg_replace("/ /","','",$xfer_groupsSQL); + $xfer_groupsSQL = "WHERE group_id IN('$xfer_groupsSQL')"; + } + + if ( (($ADD==31111) or ($ADD==31111)) and (count($groups)<1) ) + { + $stmt="SELECT closer_campaigns from vicidial_remote_agents where remote_agent_id='$remote_agent_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + } + + if ($ADD==3) + { + $stmt="SELECT closer_campaigns from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $groups_list=''; + $groups_value=''; + $XFERgroups_list=''; + $RANKgroups_list="<tr><td>INBOUND GROUP</td><td>     RANK</td><td>     CALLS</td></tr>\n"; + + $o=0; + while ($groups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $group_id_values[$o] = $rowx[0]; + $group_name_values[$o] = $rowx[1]; + $o++; + } + + $o=0; + while ($groups_to_print > $o) + { + $stmt="SELECT group_rank,calls_today from vicidial_inbound_group_agents where user='$user' and group_id='$group_id_values[$o]'"; + $rslt=mysql_query($stmt, $link); + $ranks_to_print = mysql_num_rows($rslt); + if ($ranks_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $SELECT_group_rank = $row[0]; + $calls_today = $row[1]; + } + else + {$calls_today=0; $SELECT_group_rank=0;} + if ( ($ADD=="4A") or ($ADD=="4B") ) + { + if (isset($_GET["RANK_$group_id_values[$o]"])) {$group_rank=$_GET["RANK_$group_id_values[$o]"];} + elseif (isset($_POST["RANK_$group_id_values[$o]"])) {$group_rank=$_POST["RANK_$group_id_values[$o]"];} + + if ($ranks_to_print > 0) + { + $stmt="UPDATE vicidial_inbound_group_agents set group_rank='$group_rank', group_weight='$group_rank' where group_id='$group_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO vicidial_inbound_group_agents set group_rank='$group_rank', group_weight='$group_rank', group_id='$group_id_values[$o]', user='$user';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_live_inbound_agents set group_weight='$group_rank' where group_id='$group_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else {$group_rank = $SELECT_group_rank;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $groups_list .= "<input type=\"checkbox\" name=\"groups[]\" value=\"$group_id_values[$o]\""; + $XFERgroups_list .= "<input type=\"checkbox\" name=\"XFERgroups[]\" value=\"$group_id_values[$o]\""; + $RANKgroups_list .= "<tr $bgcolor><td><input type=\"checkbox\" name=\"groups[]\" value=\"$group_id_values[$o]\""; + $p=0; + $group_ct = count($groups); + while ($p < $group_ct) + { + if ($group_id_values[$o] == $groups[$p]) + { + $groups_list .= " CHECKED"; + $RANKgroups_list .= " CHECKED"; + $groups_value .= " $group_id_values[$o]"; + } + $p++; + } + $p=0; + $XFERgroup_ct = count($XFERgroups); + while ($p < $XFERgroup_ct) + { + if ($group_id_values[$o] == $XFERgroups[$p]) + { + $XFERgroups_list .= " CHECKED"; + $XFERgroups_value .= " $group_id_values[$o]"; + } + $p++; + } + $groups_list .= "> <a href=\"$PHP_SELF?ADD=3111&group_id=$group_id_values[$o]\">$group_id_values[$o]</a> - $group_name_values[$o] <BR>\n"; + $XFERgroups_list .= "> <a href=\"$PHP_SELF?ADD=3111&group_id=$group_id_values[$o]\">$group_id_values[$o]</a> - $group_name_values[$o] <BR>\n"; + $RANKgroups_list .= "> <a href=\"$PHP_SELF?ADD=3111&group_id=$group_id_values[$o]\">$group_id_values[$o]</a> - $group_name_values[$o] </td>"; + $RANKgroups_list .= "<td>     <select size=1 name=RANK_$group_id_values[$o]>\n"; + $h="9"; + while ($h>=-9) + { + $RANKgroups_list .= "<option value=\"$h\""; + if ($h==$group_rank) + {$RANKgroups_list .= " SELECTED";} + $RANKgroups_list .= ">$h</option>"; + $h--; + } + $RANKgroups_list .= "</select></td>\n"; + $RANKgroups_list .= "<td align=right>     $calls_today</td></tr>\n"; + $o++; + } + if (strlen($groups_value)>2) {$groups_value .= " -";} + if (strlen($XFERgroups_value)>2) {$XFERgroups_value .= " -";} + } + ##### END get inbound groups listing for checkboxes ##### + + + ##### BEGIN get campaigns listing for checkboxes ##### + if ( ($ADD==211111) or ($ADD==311111) or ($ADD==411111) or ($ADD==511111) or ($ADD==611111) ) + { + if ( ($ADD==211111) or ($ADD==311111) or ($ADD==511111) or ($ADD==611111) ) + { + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_campaigns = $row[0]; + $allowed_campaigns = preg_replace("/ -$/","",$allowed_campaigns); + $campaigns = explode(" ", $allowed_campaigns); + } + + $campaigns_value=''; + $campaigns_list='<B><input type="checkbox" name="campaigns[]" value="-ALL-CAMPAIGNS-"'; + $p=0; + while ($p<100) + { + if (eregi('ALL-CAMPAIGNS',$campaigns[$p])) + { + $campaigns_list.=" CHECKED"; + $campaigns_value .= " -ALL-CAMPAIGNS- -"; + } + $p++; + } + $campaigns_list.="> ALL-CAMPAIGNS - USERS CAN VIEW ANY CAMPAIGN</B><BR>\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaign_id_value = $rowx[0]; + $campaign_name_value = $rowx[1]; + $campaigns_list .= "<input type=\"checkbox\" name=\"campaigns[]\" value=\"$campaign_id_value\""; + $p=0; + while ($p<100) + { + if ($campaign_id_value == $campaigns[$p]) + { + # echo "<!-- X $p|$campaign_id_value|$campaigns[$p]| -->"; + $campaigns_list .= " CHECKED"; + $campaigns_value .= " $campaign_id_value"; + } + # echo "<!-- O $p|$campaign_id_value|$campaigns[$p]| -->"; + $p++; + } + $campaigns_list .= "> $campaign_id_value - $campaign_name_value<BR>\n"; + $o++; + } + if (strlen($campaigns_value)>2) {$campaigns_value .= " -";} + } + ##### END get campaigns listing for checkboxes ##### + + + if ( (strlen($ADD)==11) or (strlen($ADD)>12) ) + { + ##### get server listing for dynamic pulldown + $stmt="SELECT server_ip,server_description from servers order by server_ip"; + $rsltx=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rsltx); + $servers_list=''; + + $o=0; + while ($servers_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $servers_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + } + + + +$NWB = "   <a href=\"javascript:openNewWindow('$PHP_SELF?ADD=99999"; +$NWE = "')\"><IMG SRC=\"help.gif\" WIDTH=20 HEIGHT=20 BORDER=0 ALT=\"HELP\" ALIGN=TOP></A>"; + + +###################################################################################################### +###################################################################################################### +####### 9 series, HELP screen +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=99999 display the HELP SCREENS +###################### + +if ($ADD==99999) +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "
\n"; +echo "
VICIDIAL ADMIN: HELP


\n"; + +?> +VICIDIAL_USERS TABLE

+ +
+User ID - This field is where you put the VICIDIAL users ID number, can be up to 8 digits in length, Must be at least 2 characters in length. + +
+
+
+Password - This field is where you put the VICIDIAL users password. Must be at least 2 characters in length. + +
+
+
+Full Name - This field is where you put the VICIDIAL users full name. Must be at least 2 characters in length. + +
+
+
+User Level - This menu is where you select the VICIDIAL users user level. Must be a level of 1 to log into VICIDIAL, Must be level greater than 2 to log in as a closer, Must be user level 8 or greater to get into admin web section. + +
+
+
+User Group - This menu is where you select the VICIDIAL users group that this user will belong to. This does not have any restrictions at this time, this is just to subdivide users and allow for future features based upon it. + +
+
+
+Phone Login - Here is where you can set a default phone login value for when the user logs into vicidial.php. This value will populate the phone_login automatically when the user logs in with their user-pass-campaign in the vicidial.php login screen. + +
+
+
+Phone Pass - Here is where you can set a default phone pass value for when the user logs into vicidial.php. This value will populate the phone_pass automatically when the user logs in with their user-pass-campaign in the vicidial.php login screen. + +
+
+
+Hot Keys Active - This option if set to 1 allows the user to use the Hot Keys quick-dispositioning function in vicidial.php. + +
+
+
+Agent Choose Ingroups - This option if set to 1 allows the user to choose the ingroups that they will receive calls from when they login to a CLOSER or INBOUND campaign. Otherwise the Manager will need to set this in their user detail screen of the admin page. + +
+
+
+Scheduled Callbacks - This option allows an agent to disposition a call as CALLBK and choose the data and time at which the lead will be re-activated. + +
+
+
+Agent-Only Callbacks - This option allows an agent to set a callback so that they are the only Agent that can call the customer back. This also allows the agent to see their callback listings and call them back any time they want to. + +
+
+
+Agent Call Manual - This option allows an agent to manually enter a new lead into the system and call them. This also allows the calling of any phone number from their vicidial screen and puts that call into their session. Use this option with caution. + +
+
+
+Vicidial Recording - This option can prevent an agent from doing any recordings after they log in to vicidial. This option must be on for vicidial to follow the campaign recording session. + +
+
+
+Vicidial Transfers - This option can prevent an agent from opening the transfer - conference session of vicidial. If this is disabled, the agent cannot third party call or blind transfer any calls. + +
+
+
+Closer Default Blended - This option simply defaults the Blended checkbox on a CLOSER login screen. + +
+
+
+VICIDIAL Recording Override - This option will override whatever the option is in the campaign for recording. DISABLED will not override the campaign recording setting. NEVER will disable recording on the client. ONDEMAND is the default and allows the agent to start and stop recording as needed. ALLCALLS will start recording on the client whenever a call is sent to an agent. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. For ALLCALLS and ALLFORCE there is an option to use the Recording Delay to cut down on very short recordings and recude system load. + +
+
+
+Campaign Ranks - In this section you can define the rank an agent will have for each campaign. These ranks can be used to allow for preferred call routing when Next Agent Call is set to campaign_rank. + +
+
+
+Inbound Groups - Here is where you select the inbound groups you want to receive calls from if you have selected the CLOSER campaign. You will also be able to set the rank, or skill level, in this section for each of the inbound groups as well as being able to see the number of calls received from each inbound group for this specific agent. Also in this section is the ability to give the agent a rank for each inbound group. These ranks can be used for preferred call routing when that option is selected in the in-group screen. + +
+
+
+Agent Alter Customer Data Override - This option will override whatever the option is in the campaign for altering of customer data. NOT_ACTIVE will use whatever setting is present for the campaign. ALLOW_ALTER will always allow for the agent to alter the customer data, no matter what the campaign setting is. Default is NOT_ACTIVE. + +
+
+
+Alter Agent Interface Options - This option if set to 1 allows the administrative user to modify the Agents interface options in admin.php. + +
+
+
+Delete Users - This option if set to 1 allows the user to delete other users of equal or lesser user level from the system. + +
+
+
+Delete User Groups - This option if set to 1 allows the user to delete user groups from the system. + +
+
+
+Delete Lists - This option if set to 1 allows the user to delete vicidial lists from the system. + +
+
+
+Delete Campaigns - This option if set to 1 allows the user to delete vicidial campaigns from the system. + +
+
+
+Delete In-Groups - This option if set to 1 allows the user to delete vicidial In-Groups from the system. + +
+
+
+Delete Remote Agents - This option if set to 1 allows the user to delete vicidial remote agents from the system. + +
+
+
+Load Leads - This option if set to 1 allows the user to load vicidial leads into the vicidial_list table by way of the web based lead loader. + +
+
+
+Campaign Detail - This option if set to 1 allows the user to view and modify the campaign detail screen elements. + +
+
+
+AGC Admin Access - This option if set to 1 allows the user to login to the astGUIclient admin pages. + +
+
+
+AGC Delete Phones - This option if set to 1 allows the user to delete phone entries in the astGUIclient admin pages. + +
+
+
+Delete Scripts - This option if set to 1 allows the user to delete Campaign scripts in the script modification screen. + +
+
+
+Modify Leads - This option if set to 1 allows the user to modify leads in the admin section lead search results page. + +
+
+
+Change Agent Campaign - This option if set to 1 allows the user to alter the campaign that an agent is logged into while they are logged into it. + +
+
+
+Delete Filters - This option allows the user to be able to delete vicidial lead filters from the system. + +
+
+
+Delete Call Times - This option allows the user to be able to delete vicidial call times records and vicidial state call times records from the system. + +
+
+
+Modify Call Times - This option allows the user to view and modify the call times and state call times records. A user doesn't need this option enabled if they only need to change the call times option on the campaigns screen. + +
+
+
+Modify Sections - These options allow the user to view and modify each sections records. If set to 0, the user will be able to see the section list, but not the detail or modification screen of a record in that section. + +
+
+
+View Reports - This option allows the user to view the VICIDIAL reports. + + + + +



+ +VICIDIAL_CAMPAIGNS TABLE

+
+
+Campaign ID - This is the short name of the campaign, it is not editable after initial submission, cannot contain spaces and must be between 2 and 8 characters in length. + +
+
+
+Campaign Name - This is the description of the campaign, it must be between 6 and 40 characters in length. + +
+
+
+Campaign Description - This is a memo field for the campaign, it is optional and can be a maximum of 255 characters in length. + +
+
+
+Campaign Change Date - This is the last time that the settings for this campaign were modified in any way. + +
+
+
+Last Campaign Login Date - This is the last time that an agent was logged into this campaign. + +
+
+
+Campaign Stats Refresh - This checkbox will allow you to force a vicidial stats refresh, even if the campaign is not active. + +
+
+
+Active - This is where you set the campaign to Active or Inactive. If Inactive, noone can log into it. + +
+
+
+Park Extension - This is where you can customize the on-hold music for VICIDIAL. Make sure the extension is in place in the extensions.conf and that it points to the filename below. + +
+
+
+Park File Name - This is where you can customize the on-hold music for VICIDIAL. Make sure the filename is 10 characters in length or less and that the file is in place in the /var/lib/asterisk/sounds directory. + +
+
+
+Web Form - This is where you can set the custom web page that will be opened when the user clicks on the WEB FORM button. + +
+
+
+Allow Closers - This is where you can set whether the users of this campaign will have the option to send the call to a closer. + +
+
+
+Default Transfer Group - This field is the default In-Group that will be automatically selected when the agent goes to the transfer-conference frame in their agent interface. + +
+
+
+Allowed Transfer Groups - With these checkbox listings you can select the groups that agents in this campaign can transfer calls to. Allow Closers must be enabled for this option to show up. + +
+
+
+Allow Inbound and Blended - This is where you can set whether the users of this campaign will have the option to take inbound calls with this campaign. If you want to do blended inbound and outbound then this must be set to Y. If you only want to do outbound dialing on this campaign set this to N. Default is N. + +
+
+
+Dial Status - This is where you set the statuses that you are wanting to dial on within the lists that are active for the campaign below. To add another status to dial, select it from the drop-down list and click ADD. To remove one of the dial statuses, click on the REMOVE link next to the status you want to remove. + +
+
+
+List Order - This menu is where you select how the leads that match the statuses selected above will be put in the lead hopper: +
  - DOWN: select the first leads loaded into the vicidial_list table +
  - UP: select the last leads loaded into the vicidial_list table +
  - UP PHONE: select the highest phone number and works its way down +
  - DOWN PHONE: select the lowest phone number and works its way up +
  - UP LAST NAME: starts with last names starting with Z and works its way down +
  - DOWN LAST NAME: starts with last names starting with A and works its way up +
  - UP COUNT: starts with most called leads and works its way down +
  - DOWN COUNT: starts with least called leads and works its way up +
  - DOWN COUNT 2nd NEW: starts with least called leads and works its way up inserting a NEW lead in every other lead - Must NOT have NEW selected in the dial statuses +
  - DOWN COUNT 3nd NEW: starts with least called leads and works its way up inserting a NEW lead in every third lead - Must NOT have NEW selected in the dial statuses +
  - DOWN COUNT 4th NEW: starts with least called leads and works its way up inserting a NEW lead in every forth lead - Must NOT have NEW selected in the dial statuses + +
+
+
+Hopper Level - This is how many leads the VDhopper script tries to keep in the vicidial_hopper table for this campaign. If running VDhopper script every minute, make this slightly greater than the number of leads you go through in a minute. + +
+
+
+Lead Filter - This is a method of filtering your leads using a fragment of a SQL query. Use this feature with caution, it is easy to stop dialing accidentally with the slightest alteration to the SQL statement. Default is NONE. + +
+
+
+Force Reset of Hopper - This allows you to wipe out the hopper contents upon form submission. It should be filled again when the VDhopper script runs. + +
+
+
+Dial Method - This field is the way to define how dialing is to take place. If MANUAL then the auto_dial_level will be locked at 0 unless Dial Method is changed. If RATIO then the normal dialing a number of lines for Active agents. ADAPT_HARD_LIMIT will dial predictively up to the dropped percentage and then not allow aggressive dialing once the drop limit is reached until the percentage goes down again. ADAPT_TAPERED allows for running over the dropped percentage in the first half of the shift -as defined by call_time selected for campaign- and gets more strict as the shift goes on. ADAPT_AVERAGE tries to maintain an average or the dropped percentage not imposing hard limits as aggressively as the other two methods. You cannot change the Auto Dial Level if you are in any of the ADAPT dial methods. Only the Dialer can change the dial level when in predictive dialing mode. + +
+
+
+Auto Dial Level - This is where you set how many lines VICIDIAL should use per active agent. zero 0 means auto dialing is off and the agents will click to dial each number. Otherwise VICIDIAL will keep dialing lines equal to active agents multiplied by the dial level to arrive at how many lines this campaign on each server should allow. The ADAPT OVERRIDE checkbox allows you to force a new dial level even though the dial method is in an ADAPT mode. This is useful if there is a dramatic shift in the quality of leads and you want to drastically change the dial_level manually. + +
+
+
+Available Only Tally - This field if set to Y will leave out INCALL and QUEUE status agents when calculating the number of calls to dial when not in MANUAL dial mode. Default is N. + +
+
+
+Drop Percentage Limit - This field is where you set the limit of the percentage of dropped calls you would like while using an adaptive-predictive dial method, not MANUAL or RATIO. + +
+
+
+Maximum Adapt Dial Level - This field is where you set the limit of the limit to the numbr of lines you would like dialed per agent while using an adaptive-predictive dial method, not MANUAL or RATIO. This number can be higher than the Auto Dial Level if your hardware will support it. Value must be a positive number greater than one and can have decimal places Default 3.0. + +
+
+
+Latest Server Time - This field is only used by the ADAPT_TAPERED dial method. You should enter in the hour and minute that you will stop calling on this campaign, 2100 would mean that you will stop dialing this campaign at 9PM server time. This allows the Tapered algorithm to decide how aggressively to dial by how long you have until you will be finished calling. + +
+
+
+Adapt Intensity Modifier - This field is used to adjust the predictive intensity either higher or lower. The higher a positive number you select, the greater the dialer will increase the call pacing when it goes up and the slower the dialer will decrease the call pacing when it goes down. The lower the negative number you select here, the slower the dialer will increase the call pacing and the faster the dialer will lower the call pacing when it goes down. Default is 0. This field is not used by the MANUAL or RATIO dial methods. + +
+
+
+Dial Level Difference Target - This field is used to define whether you want to target having a specific number of agents waiting for calls or calls waiting for agents. For example if you would always like to have on average one agent free to take calls immediately you would set this to -1, if you would like to target always having one call on hold waiting for an agent you would set this to 1. Default is 0. This field is not used by the MANUAL or RATIO dial methods. + +
+
+
+Concurrent Transfers - This setting is used to define the number of calls that can be sent to agents at the same time. It is recommended that this setting is left at AUTO. This field is not used by the MANUAL dial method. + +
+
+
+Auto Alt-Number Dialing - This setting is used to automatically dial alternate number fields while dialing in the RATIO and ADAPT dial methods when there is no contact at the main phone number for a lead, the NA, B, DC and N statuses. This setting is not used by the MANUAL dial method. + +
+
+
+Next Agent Call - This determines which agent receives the next call that is available: +
  - random: orders by the random update value in the vicidial_live_agents table +
  - oldest_call_start: orders by the last time an agent was sent a call. Results in agents receiving about the same number of calls overall. +
  - oldest_call_finish: orders by the last time an agent finished a call. AKA agent waiting longest receives first call. +
  - overall_user_level: orders by the user_level of the agent as defined in the vicidial_users table a higher user_level will receive more calls. +
  - campaign_rank: orders by the rank given to the agent for the campaign. Highest to Lowest. +
  - fewest_calls: orders by the number of calls received by an agent for that specific inbound group. Least calls first. + +
+
+
+Local Call Time - This is where you set during which hours you would like to dial, as determined by the local time in the are in which you are calling. This is controlled by area code and is adjusted for Daylight Savings time if applicable. General Guidelines in the USA for Business to Business is 9am to 5pm and Business to Consumer calls is 9am to 9pm. + +
+
+
+Dial Timeout - If defined, calls that would normally hang up after the timeout defined in extensions.conf would instead timeout at this amount of seconds if it is less than the extensions.conf timeout. This allows for quickly changing dial timeouts from server to server and limiting the effects to a single campaign. If you are having a lot of Answering Machine or Voicemail calls you may want to try changing this value to between 21-26 and see if results improve. + +
+
+
+Dial Prefix - This field allows for more easily changing a path of dialing to go out through a different method without doing a reload in Asterisk. Default is 9 based upon a 91NXXNXXXXXX in the dial plan - extensions.conf. + +
+
+
+Omit Phone Code - This field allows you to leave out the phone_code field while dialing within VICIDIAL. For instance if you are dialing in the UK from the UK you would have 44 in as your phone_code field for all leads, but you just want to dial 10 digits in your dial plan extensions.conf to place calls instead of 44 then 10 digits. Default is N. + +
+
+
+Campaign CallerID - This field allows for the sending of a custom callerid number on the outbound calls. This is the number that would show up on the callerid of the person you are calling. The default is UNKNOWN. If you are using T1 or E1s to dial out this option is only available if you are using PRIs - ISDN T1s or E1s - that have the custom callerid feature turned on, this will not work with Robbed-bit service -RBS- circuits. This will also work through most VOIP -SIP or IAX trunks- providers that allow dynamic outbound callerID. The custom callerID only applies to calls placed for the VICIDIAL campaign directly, any 3rd party calls or transfers will not send the custom callerID. NOTE: Sometimes putting UNKNOWN or PRIVATE in the field will yield the sending of your default callerID number by your carrier with the calls. You may want to test this and put 0000000000 in the callerid field instead if you do not want to send you CallerID. + +
+
+
+Campaign VDAD extension - This field allows for a custom VDAD transfer extension. This allows you to use different VDADtransfer...agi scripts depending upon your campaign. The default transfer AGI - exten 8365 agi-VDADtransfer.agi - just immediately sends the calls on to agents as soon as they are picked up. An additional sample political survey AGI is also now included - 8366 agi-VDADtransferSURVEY.agi - that plays a message to the called person and allows them to make a choice by pressing buttons - effectively pre-screening the lead - . Please note that except for surveys, political calls and charities this form of calling is illegal in the United States. + +
+
+
+Campaign Rec extension - This field allows for a custom recording extension to be used with VICIDIAL. This allows you to use different extensions depending upon how long you want to allow a maximum recording and what type of codec you want to record in. The default exten is 8309 which if you follow the SCRATCH_INSTALL examples will record in the WAV format for upto one hour. Another option included in the examples is 8310 which will record in GSM format for upto one hour. + +
+
+
+Campaign Recording - This menu allows you to choose what level of recording is allowed on this campaign. NEVER will disable recording on the client. ONDEMAND is the default and allows the agent to start and stop recording as needed. ALLCALLS will start recording on the client whenever a call is sent to an agent. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. For ALLCALLS and ALLFORCE there is an option to use the Recording Delay to cut down on very short recordings and recude system load. + +
+
+
+Campaign Rec Filename - This field allows you to customize the name of the recording when Campaign recording is ONDEMAND or ALLCALLS. The allowed variables are CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT. The default is FULLDATE_AGENT and would look like this 20051020-103108_6666. Another example is CAMPAIGN_TINYDATE_CUSTPHONE which would look like this TESTCAMP_51020103108_3125551212. 50 char max. + +
+
+
+Recording Delay - For ALLCALLS and ALLFORCE recording only. This setting will delay the starting of the recording on all calls for the number of seconds specified in this field. Default is 0. + +
+
+
+Campaign Script - This menu allows you to choose the script that will appear on the agents screen for this campaign. Select NONE to show no script for this campaign. + +
+
+
+Get Call Launch - This menu allows you to choose whether you want to auto-launch the web-form page in a separate window, auto-switch to the SCRIPT tab or do nothing when a call is sent to the agent for this campaign. + +
+
+
+Answering Machine Message - This field is for entering in an extension to blind transfer calls to when the agent gets an answering machine and clicks on the Answering Machine Message button in the transfer conference frame. You must set this exten up in the dial plan - extensions.conf - and make sure it plays an audio file then hangs up. + +
+
+
+AMD send to vm exten - This menu allows you to define whether a message is left on an answering machine when it is detected. the call will be immediately forwarded to the Answering-Machine-Message extension if AMD is active and it is determined that the call is an answering machine. + +
+
+
+Xfer-Conf DTMF - These four fields allow for you to have two sets of Transfer Conference and DTMF presets. When the call or campaign is loaded, the vicidial.php script will show two buttons on the transfer-conference frame and auto-populate the number-to-dial and the send-dtmf fields when pressed. If you want to allow Consultative Transfers, a fronter to a closer, you can place CXFER as one of the number-to-dial presets and the proper dial string will be sent to do a Local Consultative Transfer, then the agent can just LEAVE-3WAY-CALL and move on to their next call. If you want to allow Blind transfers of customers to a VICIDIAL AGI script for logging or an IVR, then place AXFER in the number-to-dial field. You can also specify an custom extension after the AXFER or CXFER, for instance if you want to do Internal Consultative transfers instead of Local you would put CXFER90009 in the number-to-dial field. + +
+
+
+Agent Alt Num Dialing - This option allows an agent to manually dial the alternate phone number or address3 field after the main number has been called. + +
+
+
+Scheduled Callbacks - This option allows an agent to disposition a call as CALLBK and choose the data and time at which the lead will be re-activated. + +
+
+
+Drop Call Seconds - The number of seconds from the time the customer line is picked up until the call is considered a DROP, only applies to outbound calls. + +
+
+
+Voicemail - If defined, calls that would normally DROP would instead be directed to this voicemail box to hear and leave a message. + +
+
+
+Safe Harbor Message - If set to Y will play a message to customer after the Drop Call Seconds timeout is reached without being transferred to an agent. This setting will override sending to a voicemail box if this is set to Y. + +
+
+
+Safe Harbor Exten - This is the dial plan extension that the desired Safe Harbor audio file is located at on your server. + +
+
+
+Wrap Up Seconds - The number of seconds to force an agent to wait before allowing them to receive or dial another call. The timer begins as soon as an agent hangs up on their customer - or in the case of alternate number dialing when the agent finishes the lead - Default is 0 seconds. If the timer runs out before the agent has dispositioned the call, the agent still will NOT move on to the next call until they select a disposition. + +
+
+
+Wrap Up Message - This is a campaign-specific message to be displayed on the wrap up screen if wrap up seconds is set. + +
+
+
+Use Internal DNC List - This defines whether this campaign is to filter leads against the Internal DNC list. If it is set to Y, the hopper will look for each phone number in the DNC list before placing it in the hopper. If it is in the DNC list then it will change that lead status to DNCL so it cannot be dialed. Default is N. + +
+
+
+Allowed Inbound Groups - For CLOSER campaigns only. Here is where you select the inbound groups you want agents in this CLOSER campaign to be able to take calls from. It is important for BLENDED inbound-outbound campaigns only to select the inbound groups that are used for agents in this campaign. The calls coming into the inbound groups selected here will be counted as active calls for a blended campaign even if all agents in the campaign are not logged in to receive calls from all of those selected inbound groups. + +
+
+
+Agent Pause Codes Active - Allows agents to select a pause code when they click on the PAUSE button in vicidial.php. Pause codes are definable per campaign at the bottom of the campaign view detail screen and they are stored in the vicidial_agent_log table. Default is N. + +
+
+
+Disable Alter Customer Data - If set to Y, does not change any of the customer data record when an agent dispositions the call. Default is N. + +
+
+
+Allow No-Hopper-Leads Logins - If set to Y, allows agents to login to the campaign even if there are no leads loaded into the hopper for that campaign. This function is not needed in CLOSER-type campaigns. Default is N. + +
+
+
+List Order Mix - Overrides the Lead Order and Dial Status fields. Will use the List and status parameters for the selected List Mix entry in the List Mix sub section instead. Default is DISABLED. + +
+
+
+List Mix ID - ID of the list mix. Must be from 2-20 characters in length with no spaces or other special punctuation. + +
+
+
+List Mix Name - Descriptive name of the list mix. Must be from 2-50 characters in length. + +
+
+
+List Mix Detail - The composition of the List Mix entry. Contains the List ID, mix order, percentages and statuses that make up this List Mix. The percentages always have to add up to 100, and the lists all have to be active and set to the campaign for the order mix entry to be Activated. + +
+
+
+List Mix Method - The method of mixing all of the parts of the List Mix Detail together. EVEN_MIX will mix leads from each part interleaved with the other parts, like this 1,2,3,1,2,3,1,2,3. IN_ORDER will put the leads in the order in which they are listed in the List Mix Detail screen 1,1,1,2,2,2,3,3,3. RANDOM will put them in RANDOM order 1,3,2,1,1,3,2,1,3. Default is IN_ORDER. + +
+
+
+Manual Dial List ID - The default list_id to be used when an agent placces a manual call and a new lead record is created in vicidial_list. Default is 999. This field can contain digits only. + + + + +



+ +VICIDIAL_LISTS TABLE

+
+
+List ID - This is the numerical name of the list, it is not editable after initial submission, must contain only numbers and must be between 2 and 8 characters in length. Must be a number greater than 100. + +
+
+
+List Name - This is the description of the list, it must be between 2 and 20 characters in length. + +
+
+
+List Description - This is the memo field for the list, it is optional. + +
+
+
+List Change Date - This is the last time that the settings for this list were modified in any way. + +
+
+
+List Last Call Date - This is the last time that lead was dialed from this list. + +
+
+
+Campaign - This is the campaign that this list belongs to. A list can only be dialed on a single campaign at one time. + +
+
+
+Active - This defines whether the list is to be dialed on or not. + +
+
+
+Reset Lead-Called-Status for this list - This resets all leads in this list to N for "not called since last reset" and means that any lead can now be called if it is the right status as defined in the campaign screen. + +
+
+
+VICIDIAL DNC List - This Do Not Call list contains every lead that has been set to a status of DNC in the system. Through the LISTS - ADD NUMBER TO DNC page you are able to manually add a number to this list so that it will not be called by campaigns that use the internal DNC list. + + + +



+ +VICIDIAL_INBOUND_GROUPS TABLE

+
+
+Group ID - This is the short name of the inbound group, it is not editable after initial submission, must not contain any spaces and must be between 2 and 20 characters in length. + +
+
+
+Group Name - This is the description of the group, it must be between 2 and 30 characters in length. Cannot include dashes, plusses or spaces . + +
+
+
+Group Color - This is the color that displays in the VICIDIAL client app when a call comes in on this group. It must be between 2 and 7 characters long. If this is a hex color definition you must remember to put a # at the beginning of the string or VICIDIAL will not work properly. + +
+
+
+Active - This determines whether this group show up in the selection box when a VICIDIAL agent logs in. + +
+
+
+Web Form - This is the custom address that clicking on the WEB FORM button in VICIDIAL will take you to for calls that come in on this group. + +
+
+
+Next Agent Call - This determines which agent receives the next call that is available: +
  - random: orders by the random update value in the vicidial_live_agents table +
  - oldest_call_start: orders by the last time an agent was sent a call. Results in agents receiving about the same number of calls overall. +
  - oldest_call_finish: orders by the last time an agent finished a call. AKA agent waiting longest receives first call. +
  - overall_user_level: orders by the user_level of the agent as defined in the vicidial_users table a higher user_level will receive more calls. +
  - inbound_group_rank: orders by the rank given to the agent for the specific inbound group. Highest to Lowest. +
  - fewest_calls: orders by the number of calls received by an agent for that specific inbound group. Least calls first. +
  - campaign_rank: orders by the rank given to the agent for the campaign. Highest to Lowest. +
  - fewest_calls_campaign: orders by the number of calls received by an agent for the campaign. Least calls first. +
+
+
+Fronter Display - This field determines whether the inbound VICIDIAL agent would have the fronter name - if there is one - displayed in the Status field when the call comes to the agent. + +
+
+
+Campaign Script - This menu allows you to choose the script that will appear on the agents screen for this campaign. Select NONE to show no script for this campaign. + +
+
+
+Get Call Launch - This menu allows you to choose whether you want to auto-launch the web-form page in a separate window, auto-switch to the SCRIPT tab or do nothing when a call is sent to the agent for this campaign. + +
+
+
+Xfer-Conf DTMF - These four fields allow for you to have two sets of Transfer Conference and DTMF presets. When the call or campaign is loaded, the vicidial.php script will show two buttons on the transfer-conference frame and auto-populate the number-to-dial and the send-dtmf fields when pressed. If you want to allow Consultative Transfers, a fronter to a closer, you can place CXFER as one of the number-to-dial presets and the proper dial string will be sent to do a Local Consultative Transfer, then the agent can just LEAVE-3WAY-CALL and move on to their next call. If you want to allow Blind transfers of customers to a VICIDIAL AGI script for logging or an IVR, then place AXFER in the number-to-dial field. You can also specify an custom extension after the AXFER or CXFER, for instance if you want to do Internal Consultative transfers instead of Local you would put CXFER90009 in the number-to-dial field. + +
+
+
+Drop Call Seconds - The number of seconds from the time the customer line is picked up until the call is considered a DROP, only applies to outbound calls. + +
+
+
+Voicemail - If defined, calls that would normally DROP would instead be directed to this voicemail box to hear and leave a message. + +
+
+
+Drop Message - If set to Y will play a message to customer after the Drop Call Seconds timeout is reached without being transferred to an agent. This setting will override sending to a voicemail box if this is set to Y. + +
+
+
+Drop Exten - This is the dial plan extension that the desired Dropped call audio file is located at on your server. + +
+
+
+Call Time - This is the call time scheme to use for this inbound group. Keep in mind that the time is based on the server time. Default is 24hours. + +
+
+
+After Hours Action - The action to perform if it is after hours as defined in the call time for this inbound group. HANGUP will immediately hangup the call, MESSASGE will play the file in the After Hours Message Filenam field, EXTENSION will send the call to the After Hours Extension in the dialplan and VOICEMAIL will send the call to the voicemail box listed in the After Hours Voicemail field. Default is MESSAGE. + +
+
+
+After Hours Message Filename - The audio file located on the server to be played if the Action is set to MESSAGE. Default is vm-goodbye + +
+
+
+After Hours Extension - The dialplan extension to send the call to if the Action is set to EXTENSION. Default is 8300. + +
+
+
+After Hours Voicemail - The voicemail box to send the call to if the Action is set to VOICEMAIL. + +
+
+
+Welcome Message Filename - The audio file located on the server to be played when the call comes in. If set to ---NONE--- then no message will be played. Default is ---NONE--- + +
+
+
+Music On Hold Context - The music on hold context to use when the customer is placed on hold. Default is default. + +
+
+
+On Hold Prompt Filename - The audio file located on the server to be played at a regular interval when the customer is on hold. Default is generic_hold. This audio file MUST be 9 seconds or less in length. + +
+
+
+On Hold Prompt Interval - The length of time in seconds to wait before playing the on hold prompt. Default is 60. + +
+
+
+Agent Alert Extension - The extension to send into the agent session to announce that a call is coming to the agent. This extension should have a Playback of an audio file. To not use this function set this to X. Default is X. + +
+
+
+Agent Alert Delay - The length of time in milliseconds to wait before sending the call to the agent after playing the on Agent Alert Extension. Default is 1000. + +
+
+
+Default Transfer Group - This field is the default In-Group that will be automatically selected when the agent goes to the transfer-conference frame in their agent interface. + + + +



+ +VICIDIAL_REMOTE_AGENTS TABLE

+
+
+User ID Start - This is the starting User ID that is used when the remote agent entries are inserted into the system. If the Number of Lines is set higher than 1, this number is incremented by one until each line has an entry. Make sure you create a new VICIDIAL user account with a user level of 4 or great if you want them to be able to use the vdremote.php page for remote web access of this account. + +
+
+
+Number of Lines - This defines how many remote agent entries the system creates, and determines how many lines it thinks it can safely send to the number below. + +
+
+
+Server IP - A remote agent entry is only good for one specific server, here is where you select which server you want. + +
+
+
+External Extension - This is the number that you want the calls forwarded to. Make sure that it is a full dial plan number and that if you need a 9 at the beginning you put it in here. Test by dialing this number from a phone on the system. + +
+
+
+Status - Here is where you turn the remote agent on and off. As soon as the agent is Active the system assumes that it can send calls to it. It may take up to 30 seconds once you change the status to Inactive to stop receiving calls. + +
+
+
+Campaign - Here is where you select the campaign that these remote agents will be logged into. Inbound needs to use the CLOSER campaign and select the inbound campaigns below that you want to receive calls from. + +
+
+
+Inbound Groups - Here is where you select the inbound groups you want to receive calls from if you have selected the CLOSER campaign. + + +



+ +VICIDIAL_CAMPAIGN_LISTS

+
+
+The lists within this campaign are listed here, whether they are active is denoted by the Y or N and you can go to the list screen by clicking on the list ID in the first column. + + +



+ +VICIDIAL_CAMPAIGN_STATUSES TABLE

+
+
+Through the use of custom campaign statuses, you can have statuses that only exist for a specific campaign. The Status must be 1-8 characters in length, the description must be 2-30 characters in length and Selectable defines whether it shows up in VICIDIAL as a disposition. The human_answered field is used when calculating the drop percentage, or abandon rate. Setting human_answered to Y will use this status when counting the human-answered calls. The Category option allows you to group several statuses into a catogy that can be used for statistical analysis. + + + +



+ +VICIDIAL_CAMPAIGN_HOTKEYS TABLE

+
+
+Through the use of custom campaign hot keys, agents that use the vicidial web-client can hang up and disposition calls just by pressing a single key on their keyboard. There are two special HotKey options that you can use in conjunction with Alternate Phone number dialing, ALTPH2 - Alternate Phone Hot Dial and ADDR3-----Address3 Hot Dial allow an agent to use a hotkey to hang up their call, stay on the same lead, and dial another contact number from that lead. + + + + + +



+ +VICIDIAL_LEAD_RECYCLE TABLE

+
+
+Through the use of lead recycling, you can call specific statuses of leads again at a specified interval without resetting the entire list. Lead recycling is campaign-specific and does not have to be a selected dialable status in your campaign. The attempt delay field is the number of seconds until the lead can be placed back in the hopper, this number must be at least 120 seconds. The attempt maximum field is the maximum number of times that a lead of this status can be attempted before the list needs to be reset, this number can be from 1 to 10. You can activate and deactivate a lead recycle entry with the provided links. + + + + + +



+ +VICIDIAL AUTO ALT DIAL STATUSES

+
+
+If the Auto Alt-Number Dialing field is set, then the leads that are dispositioned under these auto alt dial statuses will have their alt_phone and-or address3 fields dialed after any of these no-answer statuses are set. + + + + + +



+ +VICIDIAL AGENT PAUSE CODES

+
+
+If the Agent Pause Codes Active field is set to active then the agents will be able to select from these pause codes when they click on the PAUSE button on their screens. This data is then stored in the vicidial agent log. The Pause code must contain only letters and numbers and be less than 7 characters long. The pause code name can be no longer than 30 characters. + + + + + +



+ +VICIDIAL_USER_GROUPS TABLE

+
+
+User Group - This is the short name of a Vicidial User group, try not to use any spaces or punctuation for this field. max 20 characters, minimum of 2 characters. + +
+
+
+Group Name - This is the description of the vicidial user group max of 40 characters. + +
+
+
+Allowed Campaigns - This is a selectable list of Campaigns to which members of this user group can log in to. The ALL-CAMPAIGNS option allows the users in this group to see and log in to any campaign on the system. + + + + + +



+ +VICIDIAL_SCRIPTS TABLE

+
+
+Script ID - This is the short name of a Vicidial Script. This needs to be a unique identifier. Try not to use any spaces or punctuation for this field. max 10 characters, minimum of 2 characters. + +
+
+Script Name - This is the title of a Vicidial Script. This is a short summary of the script. max 50 characters, minimum of 2 characters. There should be no spaces or punctuation of any kind in theis field. + +
+
+Script Comments - This is where you can place comments for a Vicidial Script such as -changed to free upgrade on Sept 23-. max 255 characters, minimum of 2 characters. + +
+
+Script Text - This is where you place the content of a Vicidial Script. Minimum of 2 characters. You can have customer information be auto-populated in this script using "--A--field--B--" where field is one of the following fieldnames: vendor_lead_code, source_id, list_id, gmt_offset_now, called_since_last_reset, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, lead_id, campaign, phone_login, group, channel_group, SQLdate, epoch, uniqueid, customer_zap_channel, server_ip, SIPexten, session_id. For example, this sentence would print the persons name in it----

Hello, can I speak with --A--first_name--B-- --A--last_name--B-- please? Well hello --A--title--B-- --A--last_name--B-- how are you today?

This would read----

Hello, can I speak with John Doe please? Well hello Mr. Doe how are you today?

You can also use an iframe to load a separate window within the SCRIPT tab, here is an example with prepopulated variables: + +
+<iframe src="http://astguiclient.sf.net/test_VICIDIAL_output.php?lead_id=--A--lead_id--B--&vendor_id=--A--vendor_lead_code--B--&list_id=--A--list_id--B--&gmt_offset_now=--A--gmt_offset_now--B--&phone_code=--A--phone_code--B--&phone_number=--A--phone_number--B--&title=--A--title--B--&first_name=--A--first_name--B--&middle_initial=--A--middle_initial--B--&last_name=--A--last_name--B--&address1=--A--address1--B--&address2=--A--address2--B--&address3=--A--address3--B--&city=--A--city--B--&state=--A--state--B--&province=--A--province--B--&postal_code=--A--postal_code--B--&country_code=--A--country_code--B--&gender=--A--gender--B--&date_of_birth=--A--date_of_birth--B--&alt_phone=--A--alt_phone--B--&email=--A--email--B--&security_phrase=--A--security_phrase--B--&comments=--A--comments--B--&user=--A--user--B--&campaign=--A--campaign--B--&phone_login=--A--phone_login--B--&fronter=--A--fronter--B--&closer=--A--user--B--&group=--A--group--B--&channel_group=--A--group--B--&SQLdate=--A--SQLdate--B--&epoch=--A--epoch--B--&uniqueid=--A--uniqueid--B--&customer_zap_channel=--A--customer_zap_channel--B--&server_ip=--A--server_ip--B--&SIPexten=--A--SIPexten--B--&session_id=--A--session_id--B--&phone=--A--phone--B--" style="width:580;height:290;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="460" height="290" STYLE="z-index:17"> +</iframe> +
+ +
+
+
+Active - This determines whether this script can be selected to be used by a campaign. + + + + + +



+ +VICIDIAL_LEAD_FILTERS TABLE

+
+
+Filter ID - This is the short name of a Vicidial Lead Filter. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 10 characters, minimum of 2 characters. + +
+
+Filter Name - This is a more descriptive name of the Filter. This is a short summary of the filter. max 30 characters, minimum of 2 characters. + +
+
+Filter Comments - This is where you can place comments for a Vicidial Filter such as -calls all California leads-. max 255 characters, minimum of 2 characters. + +
+
+Filter SQL - This is where you place the SQL query fragment that you want to filter by. do not begin or end with an AND, that will be added by the hopper cron script automatically. an example SQL query that would work here is- called_count > 4 and called_count < 8 -. + + + + + +



+ +VICIDIAL_CALL TIMES TABLE

+
+
+Call Time ID - This is the short name of a Vicidial Call Time Definition. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 10 characters, minimum of 2 characters. + +
+
+Call Time Name - This is a more descriptive name of the Call Time Definition. This is a short summary of the Call Time definition. max 30 characters, minimum of 2 characters. + +
+
+Call Time Comments - This is where you can place comments for a Vicidial Call Time Definition such as -10am to 4pm with extra call state restrictions-. max 255 characters. + +
+
+Default Start and Stop Times - This is the default time that calling will be allowed to be started or stopped within this call time definition if the day-of-the-week start time is not defined. 0 is midnight. To prevent calling completely set this field to 2400 and set the Default Stop time to 2400. To allow calling 24 hours a day set the start time to 0 and the stop time to 2400. + +
+
+Weekday Start and Stop Times - These are the custom times per day that can be set for the call time definition. same rules apply as with the Default start and stop times. + +
+
+State Call Time Definitions - This is the list of State specific call time definitions that are followed in this Call Time Definition. + +
+
+State Call Time State - This is the two letter code for the state that this calling time definition is for. For this to be in effect the local call time that is set in the campaign must have this state call time record in it as well as all of the leads having two letter state codes in them. + + + + +



+ +VICIDIAL LIST LOADER FUNCTIONALITY

+
+
+The VICIDIAL basic web-based lead loader is designed simply to take a lead file - up to 8MB in size - that is either tab or pipe delimited and load it into the vicidial_list table. The lead loader allows for field choosing and TXT- Plain Text, CSV- Comma Separated Values and XLS- Excel file formats. The lead loader does not do data validation, but it does allow you to check for duplicates in itself, within the campaign or within the entire system. Also, make sure that you have created the list that these leads are to be under so that you can use them. Here is a list of the fields in their proper order for the lead files: +
    +
  1. Vendor Lead Code - shows up in the Vendor ID field of the GUI +
  2. Source Code - internal use only for admins and DBAs +
  3. List ID - the list number that these leads will show up under +
  4. Phone Code - the prefix for the phone number - 1 for US, 01144 for UK, 01161 for AUS, etc +
  5. Phone Number - must be at least 8 digits long +
  6. Title - title of the customer - Mr. Ms. Mrs, etc... +
  7. First Name +
  8. Middle Initial +
  9. Last Name +
  10. Address Line 1 +
  11. Address Line 2 +
  12. Address Line 3 +
  13. City +
  14. State - limited to 2 characters +
  15. Province +
  16. Postal Code +
  17. Country +
  18. Gender +
  19. Date of Birth +
  20. Alternate Phone Number +
  21. Email Address +
  22. Security Phrase +
  23. Comments +
+ +
NOTES: The Excel Lead loader functionality is enabled by a series of perl scripts and needs to have a properly configured /etc/astguiclient.conf file in place on the web server. Also, a couple perl modules must be loaded for it to work as well - OLE-Storage_Lite and Spreadsheet-ParseExcel. You can check for runtime errors in these by looking at your apache error_log file. Also, for duplication checks against gampaign lists, the list that has new leads going into it does need to be created in the system before you start to load the leads. + + + + +



+ + + + + + +PHONES TABLE

+
+
+Phone extension - This field is where you put the phones name as it appears to Asterisk not including the protocol or slash at the beginning. For Example: for the SIP phone SIP/test101 the Phone extension would be test101. Also, for IAX2 phones make sure you use the full phones name: IAX2/IAXphone1@IAXphone1 would be IAXphone1@IAXphone1. For Zap phones make sure you put the full channel: Zap/25-1 would be 25-1. Another note, make sure you set the Protocol below correctly for your type of phone. + +
+
+
+Dial Plan Number - This field is for the number you dial to have the phone ring. This number is defined in the extensions.conf file of your Asterisk server + +
+
+
+Voicemail Box - This field is for the voicemail box that the messages go to for the user of this phone. We use this to check for voicemail messages and for the user to be able to use the VOICEMAIL button on astGUIclient app. + +
+
+
+Outbound CallerID - This field is where you would enter the callerID number that you would like to appear on outbound calls placed form the astguiclient web-client. This does not work on RBS, non-PRI, T1/E1s. + +
+
+
+Phone IP address - This field is for the phone's IP address if it is a VOIP phone. This is an optional field + +
+
+
+Computer IP address - This field is for the user's computer IP address. This is an optional field + +
+
+
+Server IP - This menu is where you select which server the phone is active on. + +
+
+
+Login - The login used for the phone user to login to the client applications. + +
+
+
+Password - The password used for the phone user to login to the client applications. + +
+
+
+Status - The status of the phone in the system, ACTIVE and ADMIN allow for GUI clients to work. ADMIN allows access to this administrative web site. All other statuses do not allow GUI or Admin web access. + +
+
+
+Active Account - Whether the phone is active to put it in the list in the GUI client. + +
+
+
+Phone Type - Purely for administrative notes. + +
+
+
+Full Name - Used by the GUIclient in the list of active phones. + +
+
+
+Company - Purely for administrative notes. + +
+
+
+Picture - Not yet Implemented. + +
+
+
+New Messages - Number of new voicemail messages for this phone on the Asterisk server. + +
+
+
+Old Messages - Number of old voicemail messages for this phone on the Asterisk server. + +
+
+
+Client Protocol - The protocol that the phone uses to connect to the Asterisk server: SIP, IAX2, Zap . Also, there is EXTERNAL for remote dial numbers or speed dial numbers that you want to list as phones. + +
+
+
+Local GMT - The difference from Greenwich Mean time, or ZULU time where the phone is located. DO NOT ADJUST FOR DAYLIGHT SAVINGS TIME. This is used by the VICIDIAL campaign to accurately display the time and customer time. + +
+
+
+Manager Login - This is the login that the GUI clients for this phone will use to access the Database where the server data resides. + +
+
+
+Manager Secret - This is the password that the GUI clients for this phone will use to access the Database where the server data resides. + +
+
+
+VICIDIAL Default User - This is to place a default value in the VICIDIAL user field whenever this phone user opens the astVICIDIAL client app. Leave blank for no user. + +
+
+
+VICIDIAL Default Pass - This is to place a default value in the VICIDIAL password field whenever this phone user opens the astVICIDIAL client app. Leave blank for no pass. + +
+
+
+VICIDIAL Default Campaign - This is to place a default value in the VICIDIAL campaign field whenever this phone user opens the astVICIDIAL client app. Leave blank for no campaign. + +
+
+
+Park Exten - This is the default Parking extension for the client apps. Verify that a different one works before you change this. + +
+
+
+Conf Exten - This is the default Conference park extension for the client apps. Verify that a different one works before you change this. + +
+
+
+VICIDIAL Park Exten - This is the default Parking extension for VICIDIAL client app. Verify that a different one works before you change this. + +
+
+
+VICIDIAL Park File - This is the default VICIDIAL park extension file name for the client apps. Verify that a different one works before you change this. limited to 10 characters. + +
+
+
+Monitor Prefix - This is the dial plan prefix for monitoring of Zap channels automatically within the astGUIclient app. Only change according to the extensions.conf ZapBarge extensions records. + +
+
+
+Recording Exten - This is the dial plan extension for the recording extension that is used to drop into meetme conferences to record them. It usually lasts upto one hour if not stopped. verify with extensions.conf file before changing. + +
+
+
+VMAIL Main Exten - This is the dial plan extension going to check your voicemail. verify with extensions.conf file before changing. + +
+
+
+VMAIL Dump Exten - This is the dial plan prefix used to send calls directly to a user's voicemail from a live call in the astGUIclient app. verify with extensions.conf file before changing. + +
+
+
+Exten Context - This is the dial plan context that this phone primarily uses. It is assumed that all numbers dialed by the client apps are using this context so it is a good idea to make sure this is the most wide context possible. verify with extensions.conf file before changing. + +
+
+
+DTMF send Channel - This is the channel string used to send DTMF sounds into meetme conferences from the client apps. Verify the exten and context with the extensions.conf file. + +
+
+
+Outbound Call Group - This is the channel group that outbound calls from this phone are placed out of. There are a couple routines in the client apps that use this. For Zap channels you want to use something like Zap/g2 , for IAX2 trunks you would want to use the full IAX prefix like IAX2/VICItest1:secret@10.10.10.15:4569. Verify the trunks with the extensions.conf file, it is usually what you have defined as the TRUNK global variable at the top of the file. + +
+
+
+Browser Location - This is applicable to only UNIX/LINUX clients, the absolute path to Mozilla or Firefox browser on the machine. verify this by launching it manually. + +
+
+
+Install Directory - This is the place where the astGUIclient and astVICIDIAL scripts are located on your machine. For Win32 it should be something like C:\AST_VICI and for UNIX it should be something like /usr/local/perl_TK. verify this manually. + +
+
+
+CallerID URL - This is the web address of the page used to do custom callerID lookups. default testing address is: http://astguiclient.sf.net/test_callerid_output.php + +
+
+
+VICIDIAL Default URL - This is the web address of the page used to do custom VICIDIAL Web Form queries. default testing address is: http://astguiclient.sf.net/test_VICIDIAL_output.php + +
+
+
+Call Logging - This is set to true if the call_log.agi file is in place in the extensions.conf file for all outbound and hang up 'h' extensions to log all calls. This should always be 1 because it is manditory for many astGUIclient and VICIDIAL features to work properly. + +
+
+
+User Switching - Set to true to allow user to switch to another user account. NOTE: If user switches they can initiate recording on the new user's phone conversation + +
+
+
+Conferencing - Set to true to allow user to start conference calls with upto six external lines. + +
+
+
+Admin Hang Up - Set to true to allow user to be able to hang up any line at will through astGUIclient. Good idea only to enable this for Admin users. + +
+
+
+Admin Hijack - Set to true to allow user to be able to grab and redirect to their extension any line at will through astGUIclient. Good idea only to enable this for Admin users. But is very useful for Managers. + +
+
+
+Admin Monitor - Set to true to allow user to be able to grab and redirect to their extension any line at will through astGUIclient. Good idea only to enable this for Admin users. But is very useful for Managers and as a training tool. + +
+
+
+Call Park - Set to true to allow user to be able to park calls on astGUIclient hold to be picked up by any other astGUIclient user on the system. Calls stay on hold for upto a half hour then hang up. Usually enabled for all. + +
+
+
+Updater Check - Set to true to display a popup warning that the updater time has not changed in 20 seconds. Useful for Admin users. + +
+
+
+AF Logging - Set to true to log many actions of astGUIclient usage to a text file on the user's computer. + +
+
+
+Queue Enabled - Set to true to have client apps use the Asterisk Central Queue system. Required for VICIDIAL and recommended for all users. + +
+
+
+CallerID Popup - Set to true to allow for numbers defined in the extensions.conf file to send CallerID popup screens to astGUIclient users. + +
+
+
+VMail Button - Set to true to display the VOICEMAIL button and the messages count display on astGUIclient. + +
+
+
+Fast Refresh - Set to true to enable a new rate of refresh of call information for the astGUIclient. Default disabled rate is 1000 ms ,1 second. Can increase system load if you lower this number. + +
+
+
+Fast Refresh Rate - in milliseconds. Only used if Fast Refresh is enabled. Default disabled rate is 1000 ms ,1 second. Can increase system load if you lower this number. + +
+
+
+Persistant MySQL - If enabled the astGUIclient connection will remain connected instead of connecting every second. Useful if you have a fast refresh rate set. It will increase the number of connections on your MySQL machine. + +
+
+
+Auto Dial Next Number - If enabled the VICIDIAL client will dial the next number on the list automatically upon disposition of a call unless they selected to "Stop Dialing" on the disposition screen. + +
+
+
+Stop Rec after each call - If enabled the VICIDIAL client will stop whatever recording is going on after each call has been dispositioned. Useful if you are doing a lot of recording or you are using a web form to trigger recording. + +
+
+
+Enable SIPSAK Messages - If enabled the server will send messages to the SIP phone to display on the phone LCD display when logged into VICIDIAL. Feature only works with SIP phones and requires sipsak application to be installed on the web server. Default is 0. + +
+
+
+DBX Server - The MySQL database server that this user should be connecting to. + +
+
+
+DBX Database - The MySQL database that this user should be connecting to. Default is asterisk. + +
+
+
+DBX User - The MySQL user login that this user should be using when connecting. Default is cron. + +
+
+
+DBX Pass - The MySQL user password that this user should be using when connecting. Default is 1234. + +
+
+
+DBX Port - The MySQL TCP port that this user should be using when connecting. Default is 3306. + +
+
+
+DBY Server - The MySQL database server that this user should be connecting to. Secondary server, not used currently. + +
+
+
+DBY Database - The MySQL database that this user should be connecting to. Default is asterisk. Secondary server, not used currently. + +
+
+
+DBY User - The MySQL user login that this user should be using when connecting. Default is cron. Secondary server, not used currently. + +
+
+
+DBY Pass - The MySQL user password that this user should be using when connecting. Default is 1234. Secondary server, not used currently. + +
+
+
+DBY Port - The MySQL TCP port that this user should be using when connecting. Default is 3306. Secondary server, not used currently. + + +



+ +SERVERS TABLE

+
+
+Server ID - This field is where you put the Asterisk servers name, doesnt have to be an official domain sub, just a nickname to identify the server to Admin users. + +
+
+
+Server Description - The field where you use a small phrase to describe the Asterisk server. + +
+
+
+Server IP Address - The field where you put the Network IP address of the Asterisk server. + +
+
+
+Active - Set whether the Asterisk server is active or inactive. + +
+
+
+Asterisk Version - Set the version of Asterisk that you have installed on this server. Examples: '1.2', '1.0.8', '1.0.7', 'CVS_HEAD', 'REALLY OLD', etc... This is used because versions 1.0.8 and 1.0.9 have a different method of dealing with Local/ channels, a bug that has been fixed in CVS v1.0, and need to be treated differently when handling their Local/ channels. Also, current CVS_HEAD and the 1.2 release tree uses different manager and command output so it must be treated differently as well. + +
+
+
+Max VICIDIAL Trunks - This field will determine the maximum number of lines that the VICIDIAL auto-dialer will attempt to call on this server. If you want to dedicate two full PRI T1s to VICIDIALing on a server then you would set this to 46. Default is 96. + +
+
+
+Telnet Host - This is the address or name of the Asterisk server and is how the manager applications connect to it from where they are running. If they are running on the Asterisk server, then the default of 'localhost' is fine. + +
+
+
+Telnet Port - This is the port of the Asterisk server Manager connection and is how the manager applications connect to it from where they are running. The default of '5038' is fine for a standard install. + +
+
+
+Manager User - The username or login used to connect genericly to the Asterisk server manager. Default is 'cron' + +
+
+
+Manager Secret - The secret or password used to connect genericly to the Asterisk server manager. Default is '1234' + +
+
+
+Manager Update User - The username or login used to connect to the Asterisk server manager optimized for the Update scripts. Default is 'updatecron' and assumes the same secret as the generic user. + +
+
+
+Manager Listen User - The username or login used to connect to the Asterisk server manager optimized for scripts that only listen for output. Default is 'listencron' and assumes the same secret as the generic user. + +
+
+
+Manager Send User - The username or login used to connect to the Asterisk server manager optimized for scripts that only send Actions to the manager. Default is 'sendcron' and assumes the same secret as the generic user. + +
+
+
+Server GMT offset - The difference in hours from GMT time not adjusted for Daylight-Savings-Time of the server. Default is '-5' + +
+
+
+VMail Dump Exten - The extension prefix used on this server to send calls directly through agc to a specific voicemail box. Default is '85026666666666' + +
+
+
+VICIDIAL AD extension - The default extension if none is present in the campaign to send calls to for VICIDIAL auto dialing. Default is '8365' + +
+
+
+Default Context - The default dial plan context used for scripts that operate for this server. Default is 'default' + +
+
+
+System Performance - Setting this option to Y will enable logging of system performance stats for the server machine including system load, system processes and Asterisk channels in use. Default is N. + +
+
+
+Server Logs - Setting this option to Y will enable logging of all VICIDIAL related scripts to their text log files. Setting this to N will stop writing logs to files for these processes, also the screen logging of asterisk will be disabled if this is set to N when Asterisk is started. Default is Y. + +
+
+
+AGI Output - Setting this option to NONE will disable output from all VICIDIAL related AGI scripts. Setting this to STDERR will send the AGI output to the Asterisk CLI. Setting this to FILE will send the output to a file in the logs directory. Setting this to BOTH will send output to both the Asterisk CLI and a log file. Default is FILE. + +
+
+
+VICIDIAL Balance Dialing - Setting this field to Y will allow the server to place balance calls for campaigns in VICIDIAL so that the defined dial level can be met even if there are no agents logged into that campaign on this server. Default is N. + +
+
+
+VICIDIAL Balance Offlimits - This setting defines the number of trunks to not allow VICIDIAL balance dialing to use. For example if you have 40 max vicidial trunks and balance offlimits is set to 10 you will only be able to use 30 trunk lines for VICIDIAL balance dialing. Default is 0. + + +



+ +CONFERENCES TABLE

+
+
+Conference Number - This field is where you put the meetme conference dialpna number. It is also recommended that the meetme number in meetme.conf matches this number for each entry. This is for the conferences in astGUIclient and is used for leave-3way-call functionality in VICIDIAL. + +
+
+
+Server IP - The menu where you select the Asterisk server that this conference will be on. + + + + +



+ +VICIDIAL_SERVER_TRUNKS TABLE

+
+
+VICIDIAL Server Trunks allows you to restrict the outgoing lines that are used on this server for campaign dialing on a per-campaign basis. You have the option to reserve a specific number of lines to be used by only one campaign as well as allowing that campaign to run over its reserved lines into whatever lines remain open, as long at the total lines used by vicidial on this server is less than the Max VICIDIAL Trunks setting. Not having any of these records will allow the campaign that dials the line first to have as many lines as it can get under the Max VICIDIAL Trunks setting. + + + + + +



+ +SYSTEM_SETTINGS TABLE

+
+
+Use Non-Latin - This option allows you to default the web display script to use UTF8 characters and not do any latin-character-family regular expression filtering or display formatting. Default is 0. + +
+
+
+Webroot Writable - This setting allows you to define whether temp files and authentication files should be placed in the webroot on your web server. Default is 1. + +
+
+
+Enable QueueMetrics Logging - This setting allows you to define whether VICIDIAL will insert log entries into the queue_log database table as Asterisk Queues activity does. QueueMetrics is a standalone, closed-source statistical analysis program. You must have QueueMetrics already installed and configured before enabling this feature. Default is 0. + +
+
+
+QueueMetrics Server IP - This is the IP address of the database for your QueueMetrics installation. + +
+
+
+QueueMetrics Database Name - This is the database name for your QueueMetrics database. + +
+
+
+QueueMetrics Database Login - This is the user name used to log in to your QueueMetrics database. + +
+
+
+QueueMetrics Database Password - This is the password used to log in to your QueueMetrics database. + +
+
+
+QueueMetrics URL - This is the URL or web site address used to get to your QueueMetrics installation. + +
+
+
+QueueMetrics Log ID - This is the server ID that all VICIDIAL logs going into the QueueMetrics database will use as an identifier for each record. + +
+
+
+QueueMetrics EnterQueue Prepend - This field is used to allow for prepending of one of the vicidial_list data fields in front of the phone number of the customer for customized QueueMetrics reports. Default is NONE to not populate anything. + +
+
+
+VICIDIAL Agent Disable Display - This field is used to select when to show an agent when their session has been disabled by the system, a manager action or by an external measure. The NOT_ACTIVE setting will disable the message on the agents screen. The LIVE_AGENT setting will only display the disabled message when the agents vicidial_auto_calls record has been removed, such as during a force logout or emergency logout. + +
+
+
+Allow SIPSAK Messages - If set to 1, this will allow the phones table setting to work properly, the server will send messages to the SIP phone to display on the phone LCD display when logged into VICIDIAL. This feature only works with SIP phones and requires sipsak application to be installed on the web server. Default is 0. + +
+
+
+Admin Home URL - This is the URL or web site address that you will go to if you click on the HOME link at the top of the admin.php page. + +
+
+
+Enable Agent Transfer Logfile - This option will log to a text logfile on the webserver every time a call is transferred to an agent. Default is 0, disabled. + + + + + +



+ +VICIDIAL_STATUSES TABLE

+
+
+Through the use of system statuses, you can have statuses that exist for campaign and in-group. The Status must be 1-6 characters in length, the description must be 2-30 characters in length and Selectable defines whether it shows up in VICIDIAL as an agent disposition. The human_answered field is used when calculating the drop percentage, or abandon rate. Setting human_answered to Y will use this status when counting the human-answered calls. The Category option allows you to group several statuses into a catogy that can be used for statistical analysis. + + +



+ +VICIDIAL_STATUS_CATEGORIES TABLE

+
+
+Through the use of system status categories, you can group together statuses to allow for statistical analysis on a group of statuses. The Category ID must be 2-20 characters in length with no spaces, the name must be 2-50 characters in length, the description is optional and TimeonVDAD Display defines whether that status will be one of the upto 4 statuses that can be calculated and displayed on the Time On VDAD Real-Time report. + + + + +







+







+THE END +
+\n"; + echo "\n"; + echo "\n"; + echo ""; + + $stmt="SELECT dial_statuses,local_call_time,lead_filter_id from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $dial_statuses = $row[0]; + $local_call_time = $row[1]; + if ($lead_filter_id=='') + { + $lead_filter_id = $row[2]; + if ($lead_filter_id=='') + { + $lead_filter_id='NONE'; + } + } + + $stmt="SELECT list_id,active,list_name from vicidial_lists where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + if (ereg("Y", $rowx[1])) {$camp_lists .= "'$rowx[0]',";} + } + $camp_lists = eregi_replace(".$","",$camp_lists); + + $filterSQL = $filtersql_list[$lead_filter_id]; + $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); + if (strlen($filterSQL)>4) + {$fSQL = "and $filterSQL";} + else + {$fSQL = '';} + + + echo "

\n"; + echo "Show Dialable Leads Count -

\n"; + echo "CAMPAIGN: $campaign_id
\n"; + echo "LISTS: $camp_lists
\n"; + echo "STATUSES: $dial_statuses
\n"; + echo "FILTER: $lead_filter_id
\n"; + echo "CALL TIME: $local_call_time

\n"; + + ### call function to calculate and print dialable leads + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$fSQL); + + echo "

\n"; + echo "\n"; + + exit; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=7111111 view sample script with test variables +###################### + +if ($ADD==7111111) +{ + ##### TEST VARIABLES ##### + $vendor_lead_code = 'VENDOR:LEAD;CODE'; + $list_id = 'LISTID'; + $gmt_offset_now = 'GMTOFFSET'; + $phone_code = '1'; + $phone_number = '7275551212'; + $title = 'Mr.'; + $first_name = 'JOHN'; + $middle_initial = 'Q'; + $last_name = 'PUBLIC'; + $address1 = '1234 Main St.'; + $address2 = 'Apt. 3'; + $address3 = 'ADDRESS3'; + $city = 'CHICAGO'; + $state = 'IL'; + $province = 'PROVINCE'; + $postal_code = '33760'; + $country_code = 'USA'; + $gender = 'M'; + $date_of_birth = '1970-01-01'; + $alt_phone = '3125551212'; + $email = 'test@test.com'; + $security_phrase = 'SECUTIRY'; + $comments = 'COMMENTS FIELD'; + $RGfullname = 'JOE AGENT'; + $RGuser = '6666'; + $RGlead_id = '1234'; + $RGcampaign = 'TESTCAMP'; + $RGphone_login = 'gs102'; + $RGgroup = 'TESTCAMP'; + $RGchannel_group = 'TESTCAMP'; + $RGSQLdate = date("Y-m-d H:i:s"); + $RGepoch = date("U"); + $RGuniqueid = '1163095830.4136'; + $RGcustomer_zap_channel = 'Zap/1-1'; + $RGserver_ip = '10.10.10.15'; + $RGSIPexten = 'SIP/gs102'; + $RGsession_id = '8600051'; + +echo "\n"; +echo "\n"; +echo "\n"; +echo ""; + +$stmt="SELECT * from vicidial_scripts where script_id='$script_id';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$script_name = $row[1]; +$script_text = $row[3]; + +if (eregi("iframe src",$script_text)) + { + $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); + $list_id = eregi_replace(' ','+',$list_id); + $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); + $phone_code = eregi_replace(' ','+',$phone_code); + $phone_number = eregi_replace(' ','+',$phone_number); + $title = eregi_replace(' ','+',$title); + $first_name = eregi_replace(' ','+',$first_name); + $middle_initial = eregi_replace(' ','+',$middle_initial); + $last_name = eregi_replace(' ','+',$last_name); + $address1 = eregi_replace(' ','+',$address1); + $address2 = eregi_replace(' ','+',$address2); + $address3 = eregi_replace(' ','+',$address2); + $city = eregi_replace(' ','+',$city); + $state = eregi_replace(' ','+',$state); + $province = eregi_replace(' ','+',$province); + $postal_code = eregi_replace(' ','+',$postal_code); + $country_code = eregi_replace(' ','+',$country_code); + $gender = eregi_replace(' ','+',$gender); + $date_of_birth = eregi_replace(' ','+',$date_of_birth); + $alt_phone = eregi_replace(' ','+',$alt_phone); + $email = eregi_replace(' ','+',$email); + $security_phrase = eregi_replace(' ','+',$security_phrase); + $comments = eregi_replace(' ','+',$comments); + $RGfullname = eregi_replace(' ','+',$RGfullname); + $RGuser = eregi_replace(' ','+',$RGuser); + $RGlead_id = eregi_replace(' ','+',$RGlead_id); + $RGcampaign = eregi_replace(' ','+',$RGcampaign); + $RGphone_login = eregi_replace(' ','+',$RGphone_login); + $RGgroup = eregi_replace(' ','+',$RGgroup); + $RGchannel_group = eregi_replace(' ','+',$RGchannel_group); + $RGSQLdate = eregi_replace(' ','+',$RGSQLdate); + $RGepoch = eregi_replace(' ','+',$RGepoch); + $RGuniqueid = eregi_replace(' ','+',$RGuniqueid); + $RGcustomer_zap_channel = eregi_replace(' ','+',$RGcustomer_zap_channel); + $RGserver_ip = eregi_replace(' ','+',$RGserver_ip); + $RGSIPexten = eregi_replace(' ','+',$RGSIPexten); + $RGsession_id = eregi_replace(' ','+',$RGsession_id); + } + +$script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); +$script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); +$script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); +$script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); +$script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); +$script_text = eregi_replace('--A--title--B--',"$title",$script_text); +$script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); +$script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); +$script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); +$script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); +$script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); +$script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); +$script_text = eregi_replace('--A--city--B--',"$city",$script_text); +$script_text = eregi_replace('--A--state--B--',"$state",$script_text); +$script_text = eregi_replace('--A--province--B--',"$province",$script_text); +$script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); +$script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); +$script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); +$script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); +$script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); +$script_text = eregi_replace('--A--email--B--',"$email",$script_text); +$script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); +$script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); +$script_text = eregi_replace('--A--fullname--B--',"$RGfullname",$script_text); +$script_text = eregi_replace('--A--fronter--B--',"$RGuser",$script_text); +$script_text = eregi_replace('--A--user--B--',"$RGuser",$script_text); +$script_text = eregi_replace('--A--lead_id--B--',"$RGlead_id",$script_text); +$script_text = eregi_replace('--A--campaign--B--',"$RGcampaign",$script_text); +$script_text = eregi_replace('--A--phone_login--B--',"$RGphone_login",$script_text); +$script_text = eregi_replace('--A--group--B--',"$RGgroup",$script_text); +$script_text = eregi_replace('--A--channel_group--B--',"$RGchannel_group",$script_text); +$script_text = eregi_replace('--A--SQLdate--B--',"$RGSQLdate",$script_text); +$script_text = eregi_replace('--A--epoch--B--',"$RGepoch",$script_text); +$script_text = eregi_replace('--A--uniqueid--B--',"$RGuniqueid",$script_text); +$script_text = eregi_replace('--A--customer_zap_channel--B--',"$RGcustomer_zap_channel",$script_text); +$script_text = eregi_replace('--A--server_ip--B--',"$RGserver_ip",$script_text); +$script_text = eregi_replace('--A--SIPexten--B--',"$RGSIPexten",$script_text); +$script_text = eregi_replace('--A--session_id--B--',"$RGsession_id",$script_text); +$script_text = eregi_replace("\n","
",$script_text); + + +echo ""; + +echo "Preview Script: $script_id
\n"; +echo "
\n"; +echo "
$script_name
\n"; +echo "$script_text\n"; +echo "
\n"; + +echo "\n"; + +exit; +} + + + + +######################### HTML HEADER BEGIN ####################################### +if ($hh=='users') + {$users_hh="bgcolor =\"$users_color\""; $users_fc="$users_font"; $users_bold="$header_selected_bold";} + else {$users_hh=''; $users_fc='WHITE'; $users_bold="$header_nonselected_bold";} +if ($hh=='campaigns') + {$campaigns_hh="bgcolor=\"$campaigns_color\""; $campaigns_fc="$campaigns_font"; $campaigns_bold="$header_selected_bold";} + else {$campaigns_hh=''; $campaigns_fc='WHITE'; $campaigns_bold="$header_nonselected_bold";} +if ($hh=='lists') + {$lists_hh="bgcolor=\"$lists_color\""; $lists_fc="$lists_font"; $lists_bold="$header_selected_bold";} + else {$lists_hh=''; $lists_fc='WHITE'; $lists_bold="$header_nonselected_bold";} +if ($hh=='ingroups') + {$ingroups_hh="bgcolor=\"$ingroups_color\""; $ingroups_fc="$ingroups_font"; $ingroups_bold="$header_selected_bold";} + else {$ingroups_hh=''; $ingroups_fc='WHITE'; $ingroups_bold="$header_nonselected_bold";} +if ($hh=='remoteagent') + {$remoteagent_hh="bgcolor=\"$remoteagent_color\""; $remoteagent_fc="$remoteagent_font"; $remoteagent_bold="$header_selected_bold";} + else {$remoteagent_hh=''; $remoteagent_fc='WHITE'; $remoteagent_bold="$header_nonselected_bold";} +if ($hh=='usergroups') + {$usergroups_hh="bgcolor=\"$usergroups_color\""; $usergroups_fc="$usergroups_font"; $usergroups_bold="$header_selected_bold";} + else {$usergroups_hh=''; $usergroups_fc='WHITE'; $usergroups_bold="$header_nonselected_bold";} +if ($hh=='scripts') + {$scripts_hh="bgcolor=\"$scripts_color\""; $scripts_fc="$scripts_font"; $scripts_bold="$header_selected_bold";} + else {$scripts_hh=''; $scripts_fc='WHITE'; $scripts_bold="$header_nonselected_bold";} +if ($hh=='filters') + {$filters_hh="bgcolor=\"$filters_color\""; $filters_fc="$filters_font"; $filters_bold="$header_selected_bold";} + else {$filters_hh=''; $filters_fc='WHITE'; $filters_bold="$header_nonselected_bold";} +if ($hh=='admin') + {$admin_hh="bgcolor=\"$admin_color\""; $admin_fc="$admin_font"; $admin_bold="$header_selected_bold";} + else {$admin_hh=''; $admin_fc='WHITE'; $admin_bold="$header_nonselected_bold";} +if ($hh=='reports') + {$reports_hh="bgcolor=\"$reports_color\""; $reports_fc="$reports_font"; $reports_bold="$header_selected_bold";} + else {$reports_hh=''; $reports_fc='WHITE'; $reports_bold="$header_nonselected_bold";} + +echo "\n"; +echo " + + +\n"; + +$stmt="SELECT admin_home_url from system_settings;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$admin_home_url_LU = $row[0]; + +?> +
+ BGCOLOR=#D9E6FE cellpadding=2 cellspacing=0> + + + + + + + + + + + + + + + 1) { + ?> +> + 1) + { + +# if ($sh=='basic') {$basic_sh="bgcolor=\"$subcamp_color\""; $basic_fc="$subcamp_font";} +# else {$basic_sh=''; $basic_fc='BLACK';} +# if ($sh=='detail') {$detail_sh="bgcolor=\"$subcamp_color\""; $detail_fc="$subcamp_font";} +# else {$detail_sh=''; $detail_fc='BLACK';} +# if ($sh=='dialstat') {$dialstat_sh="bgcolor=\"$subcamp_color\""; $dialstat_fc="$subcamp_font";} +# else {$dialstat_sh=''; $dialstat_fc='BLACK';} + + if ($sh=='basic') {$sh='list';} + if ($sh=='detail') {$sh='list';} + if ($sh=='dialstat') {$sh='list';} + + if ($sh=='list') {$list_sh="bgcolor=\"$subcamp_color\""; $list_fc="$subcamp_font";} + else {$list_sh=''; $list_fc='BLACK';} + if ($sh=='status') {$status_sh="bgcolor=\"$subcamp_color\""; $status_fc="$subcamp_font";} + else {$status_sh=''; $status_fc='BLACK';} + if ($sh=='hotkey') {$hotkey_sh="bgcolor=\"$subcamp_color\""; $hotkey_fc="$subcamp_font";} + else {$hotkey_sh=''; $hotkey_fc='BLACK';} + if ($sh=='recycle') {$recycle_sh="bgcolor=\"$subcamp_color\""; $recycle_fc="$subcamp_font";} + else {$recycle_sh=''; $recycle_fc='BLACK';} + if ($sh=='autoalt') {$autoalt_sh="bgcolor=\"$subcamp_color\""; $autoalt_fc="$subcamp_font";} + else {$autoalt_sh=''; $autoalt_fc='BLACK';} + if ($sh=='pause') {$pause_sh="bgcolor=\"$subcamp_color\""; $pause_fc="$subcamp_font";} + else {$pause_sh=''; $pause_fc='BLACK';} + if ($sh=='listmix') {$listmix_sh="bgcolor=\"$subcamp_color\""; $listmix_fc="$subcamp_font";} + else {$listmix_sh=''; $listmix_fc='BLACK';} + + ?> +> + + + + + + + + + 1) { + ?> + > + 1) { + ?> +> + 1) { + ?> +> + 1) { + ?> +> + 1) { + ?> +> + 1) { + ?> +> + 1) { + ?> +> + 1) { + if ($sh=='times') {$times_sh="bgcolor=\"$times_color\""; $times_fc="$times_font";} # hard teal + else {$times_sh=''; $times_fc='BLACK';} + if ($sh=='phones') {$phones_sh="bgcolor=\"$server_color\""; $phones_fc="$phones_font";} # pink + else {$phones_sh=''; $phones_fc='BLACK';} + if ($sh=='server') {$server_sh="bgcolor=\"$server_color\""; $server_fc="$server_font";} # pink + else {$server_sh=''; $server_fc='BLACK';} + if ($sh=='conference') {$conference_sh="bgcolor=\"$server_color\""; $conference_fc="$server_font";} # pink + else {$conference_sh=''; $conference_fc='BLACK';} + if ($sh=='settings') {$settings_sh="bgcolor=\"$settings_color\""; $settings_fc="$settings_font";} # pink + else {$settings_sh=''; $settings_fc='BLACK';} + if ($sh=='status') {$status_sh="bgcolor=\"$status_color\""; $status_fc="$status_font";} # pink + else {$status_sh=''; $status_fc='BLACK';} + + ?> +> + + + + + + + + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + \n"; + echo "You are not authorized to view this page. Please go back.\n"; + } + +} +if (strlen($reports_hh) > 1) { + ?> +> + + + + +
  VICIDIAL ADMIN - HOME | Logout  
> SIZE=> Users > SIZE=> Campaigns > SIZE=> Lists > SIZE=> Scripts > SIZE=> Filters > SIZE=> In-Groups > SIZE=> User Groups > SIZE=> Remote Agents > SIZE=> Admin > SIZE=> Reports
>   > Show Users     |     > Add A New User     |     > Copy User     |     > Search For A User
COLSPAN=2> SIZE=> Campaigns Main COLSPAN=1> SIZE=> Statuses COLSPAN=1> SIZE=> HotKeys COLSPAN=2> SIZE=> Lead Recycle COLSPAN=1> SIZE=> Auto-Alt Dial COLSPAN=1> SIZE=> Pause Codes COLSPAN=2> SIZE=> List Mix
>   > Show Campaigns     |     > Add A New Campaign     |     > Copy Campaign     |     > Real-Time Campaigns Summary
>   > Show Lists     |     > Add A New List     |     > Search For A Lead     |     > Add Number To DNC     |     > Load New Leads
>   > Show Scripts     |     > Add A New Script
>   > Show Filters     |     > Add A New Filter
>   > Show In-Groups     |     > Add A New In-Group     |     > Copy In-Group
>   > Show User Groups     |     > Add A New User Group     |     > Group Hourly Report
>   > Show Remote Agents     |     > Add New Remote Agents
COLSPAN=2> SIZE=> Call Times COLSPAN=2> SIZE=> Phones COLSPAN=2> SIZE=> Conferences COLSPAN=1> SIZE=> Servers COLSPAN=1> SIZE=> System Settings COLSPAN=2> SIZE=> System Statuses
>   > Show Call Times     |     > Add A New Call Time     |     > Show State Call Times     |     > Add A New State Call Time  
>   > Show Phones   |   > Add A New Phone
> Show Conferences   |   > Add A New Conference   |   > Show VICIDIAL Conferences   |   > Add A New VICIDIAL Conference
> Show Servers   |   > Add A New Server
> System Settings
> System Statuses   |   > Status Categories
>  
+
\n"; + echo ""; + + echo "
ADD A NEW USER
\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$NWB#vicidial_users-user_group$NWE\n"; + echo "\n"; + echo "
User Number: $NWB#vicidial_users-user$NWE
Password: $NWB#vicidial_users-pass$NWE
Full Name: $NWB#vicidial_users-full_name$NWE
User Level: $NWB#vicidial_users-user_level$NWE
User Group:
Phone Login: $NWB#vicidial_users-phone_login$NWE
Phone Pass: $NWB#vicidial_users-phone_pass$NWE
\n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=1 display the COPY USER FORM SCREEN +###################### + +if ($ADD=="1A") +{ + if ($LOGmodify_users==1) + { + echo "
\n"; + echo ""; + + echo "
COPY USER\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + if ($LOGuser_level==9) {$levelMAX=10;} + else {$levelMAX=$LOGuser_level;} + + echo "\n"; + echo "\n"; + echo "
User Number: $NWB#vicidial_users-user$NWE
Password: $NWB#vicidial_users-pass$NWE
Full Name: $NWB#vicidial_users-full_name$NWE
Source User: $NWB#vicidial_users-user$NWE
\n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=11 display the ADD NEW CAMPAIGN FORM SCREEN +###################### + +if ($ADD==11) +{ + if ($LOGmodify_campaigns==1) + { + echo "
\n"; + echo ""; + + echo "
ADD A NEW CAMPAIGN\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Campaign ID: $NWB#vicidial_campaigns-campaign_id$NWE
Campaign Name: $NWB#vicidial_campaigns-campaign_name$NWE
Campaign Description: $NWB#vicidial_campaigns-campaign_description$NWE
Active: $NWB#vicidial_campaigns-active$NWE
Park Extension: $NWB#vicidial_campaigns-park_ext$NWE
Park Filename: $NWB#vicidial_campaigns-park_file_name$NWE
Web Form: $NWB#vicidial_campaigns-web_form_address$NWE
Allow Closers: $NWB#vicidial_campaigns-allow_closers$NWE
Hopper Level: $NWB#vicidial_campaigns-hopper_level$NWE
Auto Dial Level: (0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE
Next Agent Call: $NWB#vicidial_campaigns-next_agent_call$NWE
Local Call Time: $NWB#vicidial_campaigns-local_call_time$NWE
Voicemail: $NWB#vicidial_campaigns-voicemail_ext$NWE
Script: $NWB#vicidial_campaigns-campaign_script$NWE
Get Call Launch: $NWB#vicidial_campaigns-get_call_launch$NWE
\n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=12 display the COPY CAMPAIGN FORM SCREEN +###################### + +if ($ADD==12) +{ + if ($LOGmodify_campaigns==1) + { + echo "
\n"; + echo ""; + + echo "
COPY A CAMPAIGN\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
Campaign ID: $NWB#vicidial_campaigns-campaign_id$NWE
Campaign Name: $NWB#vicidial_campaigns-campaign_name$NWE
Source Campaign: $NWB#vicidial_campaigns-campaign_id$NWE
\n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=111 display the ADD NEW LIST FORM SCREEN +###################### + +if ($ADD==111) +{ + if ($LOGmodify_lists==1) + { + echo "
\n"; + echo ""; + + echo "
ADD A NEW LIST\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
List ID: (digits only)$NWB#vicidial_lists-list_id$NWE
List Name: $NWB#vicidial_lists-list_name$NWE
List Description: $NWB#vicidial_lists-list_description$NWE
Campaign: $NWB#vicidial_lists-campaign_id$NWE
Active: $NWB#vicidial_lists-active$NWE
\n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=121 display the ADD NUMBER TO DNC FORM SCREEN and add a new number +###################### + +if ($ADD==121) +{ +echo "
\n"; +echo ""; + +if (strlen($phone_number) > 2) + { + $stmt="SELECT count(*) from vicidial_dnc where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
DNC NOT ADDED - This phone number is already in the Do Not Call List: $phone_number

\n";} + else + { + $stmt="INSERT INTO vicidial_dnc (phone_number) values('$phone_number');"; + $rslt=mysql_query($stmt, $link); + + echo "
DNC ADDED: $phone_number

\n"; + + ### LOG INSERTION TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW DNC NUMBER|$PHP_AUTH_USER|$ip|'$phone_number'|\n"); + fclose($fp); + } + } + } + +echo "
ADD A NUMBER TO THE DNC LIST\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "
Phone Number: (digits only)$NWB#vicidial_list-dnc$NWE
\n"; + +} + + +###################### +# ADD=1111 display the ADD NEW INBOUND GROUP SCREEN +###################### + +if ($ADD==1111) +{ + if ($LOGmodify_ingroups==1) + { + echo "
\n"; + echo ""; + + echo "
ADD A NEW INBOUND GROUP\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Group ID: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
Group Name: $NWB#vicidial_inbound_groups-group_name$NWE
Group Color: $NWB#vicidial_inbound_groups-group_color$NWE
Active: $NWB#vicidial_inbound_groups-active$NWE
Web Form: $NWB#vicidial_inbound_groups-web_form_address$NWE
Voicemail: $NWB#vicidial_inbound_groups-voicemail_ext$NWE
Next Agent Call: $NWB#vicidial_inbound_groups-next_agent_call$NWE
Fronter Display: $NWB#vicidial_inbound_groups-fronter_display$NWE
Script: $NWB#vicidial_inbound_groups-ingroup_script$NWE
Get Call Launch: $NWB#vicidial_inbound_groups-get_call_launch$NWE
\n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=1211 display the COPY INBOUND GROUP SCREEN +###################### + +if ($ADD==1211) +{ + if ($LOGmodify_ingroups==1) + { + echo "
\n"; + echo ""; + + echo "
COPY INBOUND GROUP\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
Group ID: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
Group Name: $NWB#vicidial_inbound_groups-group_name$NWE
Source Group ID: $NWB#vicidial_inbound_groups-group_id$NWE
\n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=11111 display the ADD NEW REMOTE AGENTS SCREEN +###################### + +if ($ADD==11111) +{ + if ($LOGmodify_remoteagents==1) + { + echo "
\n"; + echo ""; + + echo "
ADD NEW REMOTE AGENTS\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
User ID Start: (numbers only, incremented)$NWB#vicidial_remote_agents-user_start$NWE
Number of Lines: (numbers only)$NWB#vicidial_remote_agents-number_of_lines$NWE
Server IP: $NWB#vicidial_remote_agents-server_ip$NWE
External Extension: (dial plan number dialed to reach agents)$NWB#vicidial_remote_agents-conf_exten$NWE
Status: $NWB#vicidial_remote_agents-status$NWE
Campaign: $NWB#vicidial_remote_agents-campaign_id$NWE
Inbound Groups: \n"; + echo "$groups_list"; + echo "$NWB#vicidial_remote_agents-closer_campaigns$NWE
\n"; + echo "NOTE: It can take up to 30 seconds for changes submitted on this screen to go live\n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=111111 display the ADD NEW USERS GROUP SCREEN +###################### + +if ($ADD==111111) +{ + if ($LOGmodify_usergroups==1) + { + echo "
\n"; + echo ""; + + echo "
ADD NEW USERS GROUP\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Group: (no spaces or punctuation)$NWB#vicidial_user_groups-user_group$NWE
Description: (description of group)$NWB#vicidial_user_groups-group_name$NWE
\n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=1111111 display the ADD NEW SCRIPT SCREEN +###################### + +if ($ADD==1111111) +{ + if ($LOGmodify_scripts==1) + { + echo "
\n"; + echo ""; + + echo "
ADD NEW SCRIPT\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Script ID: (no spaces or punctuation)$NWB#vicidial_scripts-script_id$NWE
Script Name: (title of the script)$NWB#vicidial_scripts-script_name$NWE
Script Comments: $NWB#vicidial_scripts-script_comments$NWE
Active: $NWB#vicidial_scripts-active$NWE
Script Text: "; + # BEGIN Insert Field + echo ""; + echo "
"; + # END Insert Field + echo " $NWB#vicidial_scripts-script_text$NWE
\n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=11111111 display the ADD NEW FILTER SCREEN +###################### + +if ($ADD==11111111) +{ + if ($LOGmodify_filters==1) + { + echo "
\n"; + echo ""; + + echo "
ADD NEW FILTER\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Filter ID: (no spaces or punctuation)$NWB#vicidial_lead_filters-lead_filter_id$NWE
Filter Name: (short description of the filter)$NWB#vicidial_lead_filters-lead_filter_name$NWE
Filter Comments: $NWB#vicidial_lead_filters-lead_filter_comments$NWE
Filter SQL: $NWB#vicidial_lead_filters-lead_filter_sql$NWE
\n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=111111111 display the ADD NEW CALL TIME SCREEN +###################### + +if ($ADD==111111111) +{ + if ($LOGmodify_call_times==1) + { + echo "
\n"; + echo ""; + + echo "
ADD NEW CALL TIME\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "
Call Time ID: (no spaces or punctuation)$NWB#vicidial_call_times-call_time_id$NWE
Call Time Name: (short description of the call time)$NWB#vicidial_call_times-call_time_name$NWE
Call Time Comments: $NWB#vicidial_call_times-call_time_comments$NWE
Day and time options will appear once you have created the Call Time Definition
\n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=1111111111 display the ADD NEW STATE CALL TIME SCREEN +###################### + +if ($ADD==1111111111) +{ + if ($LOGmodify_call_times==1) + { + echo "
\n"; + echo ""; + + echo "
ADD NEW STATE CALL TIME\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "
State Call Time ID: (no spaces or punctuation)$NWB#vicidial_call_times-call_time_id$NWE
State Call Time State: (no spaces or punctuation)$NWB#vicidial_call_times-state_call_time_state$NWE
State Call Time Name: (short description of the call time)$NWB#vicidial_call_times-call_time_name$NWE
State Call Time Comments: $NWB#vicidial_call_times-call_time_comments$NWE
Day and time options will appear once you have created the Call Time Definition
\n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=11111111111 display the ADD NEW PHONE SCREEN +###################### + +if ($ADD==11111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + echo "
ADD A NEW PHONE\n"; + echo "\n"; + echo "
\n"; + + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Phone extension: $NWB#phones-extension$NWE
Dial Plan Number: (digits only)$NWB#phones-dialplan_number$NWE
Voicemail Box: (digits only)$NWB#phones-voicemail_id$NWE
Outbound CallerID: (digits only)$NWB#phones-outbound_cid$NWE
Phone IP address: (optional)$NWB#phones-phone_ip$NWE
Computer IP address: (optional)$NWB#phones-computer_ip$NWE
Server IP: $NWB#phones-server_ip$NWE
Login: $NWB#phones-login$NWE
Password: $NWB#phones-pass$NWE
Status: $NWB#phones-status$NWE
Active Account: $NWB#phones-active$NWE
Phone Type: $NWB#phones-phone_type$NWE
Full Name: $NWB#phones-fullname$NWE
Company: $NWB#phones-company$NWE
Picture: $NWB#phones-picture$NWE
Client Protocol: $NWB#phones-protocol$NWE
Local GMT: (Do NOT Adjust for DST)$NWB#phones-local_gmt$NWE
\n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=111111111111 display the ADD NEW SERVER SCREEN +###################### + +if ($ADD==111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + echo "
ADD A NEW SERVER\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Server ID: $NWB#servers-server_id$NWE
Server Description: $NWB#servers-server_description$NWE
Server IP Address: $NWB#servers-server_ip$NWE
Active: $NWB#servers-active$NWE
Asterisk Version: $NWB#servers-asterisk_version$NWE
\n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=1111111111111 display the ADD NEW CONFERENCE SCREEN +###################### + +if ($ADD==1111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + echo "
ADD A NEW CONFERENCE\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Conference Number: (digits only)$NWB#conferences-conf_exten$NWE
Server IP: $NWB#conferences-server_ip$NWE
\n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=11111111111111 display the ADD NEW VICIDIAL CONFERENCE SCREEN +###################### + +if ($ADD==11111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + echo "
ADD A NEW VICIDIAL CONFERENCE\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Conference Number: (digits only)$NWB#conferences-conf_exten$NWE
Server IP: $NWB#conferences-server_ip$NWE
\n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + + +###################################################################################################### +###################################################################################################### +####### 2 series, validates form data and inserts the new record into the database +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=2 adds the new user to the system +###################### + +if ($ADD=="2") +{ + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
USER NOT ADDED - there is already a user in the system with this user number\n";} + else + { + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 8) ) + { + echo "
USER NOT ADDED - Please go back and look at the data you entered\n"; + echo "
user id must be between 2 and 8 characters long\n"; + echo "
full name and password must be at least 2 characters long\n"; + } + else + { + echo "
USER ADDED: $user\n"; + + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass) values('$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A USER |$PHP_AUTH_USER|$ip|'$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass'|\n"); + fclose($fp); + } + } + } + +$ADD=3; +} + +###################### +# ADD=2A adds the copied new user to the system +###################### + +if ($ADD=="2A") +{ + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
USER NOT ADDED - there is already a user in the system with this user number\n";} + else + { + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 8) ) + { + echo "
USER NOT ADDED - Please go back and look at the data you entered\n"; + echo "
user id must be between 2 and 8 characters long\n"; + echo "
full name and password must be at least 2 characters long\n"; + } + else + { + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override from vicidial_users where user=\"$source_user_id\";"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today) SELECT \"$user\",group_id,group_rank,group_weight,\"0\" from vicidial_inbound_group_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) SELECT \"$user\",campaign_id,campaign_rank,campaign_weight,\"0\" from vicidial_campaign_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); + + echo "
USER COPIED: $user copied from $source_user_id\n"; + echo "

\n"; + echo "Click here to go to the user record\n"; + echo "

\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A COPIED USER |$PHP_AUTH_USER|$ip|$user|$source_user_id|$stmt|\n"); + fclose($fp); + } + } + } +exit; +} + +###################### +# ADD=21 adds the new campaign to the system +###################### + +if ($ADD==21) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CAMPAIGN NOT ADDED - there is already a campaign in the system with this ID\n";} + else + { + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($campaign_name) > 40) ) + { + echo "
CAMPAIGN NOT ADDED - Please go back and look at the data you entered\n"; + echo "
campaign ID must be between 2 and 8 characters in length\n"; + echo "
campaign name must be between 6 and 40 characters in length\n"; + } + else + { + echo "
CAMPAIGN ADDED: $campaign_id\n"; + + $stmt="INSERT INTO vicidial_campaigns (campaign_id,campaign_name,campaign_description,active,dial_status_a,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,campaign_script,get_call_launch,campaign_changedate,campaign_stats_refresh,list_order_mix) values('$campaign_id','$campaign_name','$campaign_description','$active','NEW','DOWN','$park_ext','$park_file_name','" . mysql_real_escape_string($web_form_address) . "','$allow_closers','$hopper_level','$auto_dial_level','$next_agent_call','$local_call_time','$voicemail_ext','$script_id','$get_call_launch','$SQLdate','Y','DISABLED');"; + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmt, $link); + + echo ""; + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW CAMPAIGN |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + } + } + } +$ADD=31; +} + +###################### +# ADD=20 adds copied new campaign to the system +###################### + +if ($ADD==20) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CAMPAIGN NOT ADDED - there is already a campaign in the system with this ID\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 2) or (strlen($source_campaign_id) < 2) or (strlen($source_campaign_id) > 8) ) + { + echo "
CAMPAIGN NOT ADDED - Please go back and look at the data you entered\n"; + echo "
campaign ID must be between 2 and 8 characters in length\n"; + echo "
source campaign ID must be between 2 and 8 characters in length\n"; + } + else + { + echo "
CAMPAIGN COPIED: $campaign_id copied from $source_campaign_id\n"; + + $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,safe_harbor_message,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,safe_harbor_message,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group from vicidial_campaigns where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category) SELECT status,status_name,selectable,\"$campaign_id\",human_answered,category from vicidial_campaign_statuses where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_hotkeys (status,hotkey,status_name,selectable,campaign_id) SELECT status,hotkey,status_name,selectable,\"$campaign_id\" from vicidial_campaign_hotkeys where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_lead_recycle (status,attempt_delay,attempt_maximum,active,campaign_id) SELECT status,attempt_delay,attempt_maximum,active,\"$campaign_id\" from vicidial_lead_recycle where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_pause_codes (pause_code,pause_code_name,billable,campaign_id) SELECT pause_code,pause_code_name,billable,\"$campaign_id\" from vicidial_pause_codes where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + echo ""; + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|COPY TO NEW CAMPAIGN|$PHP_AUTH_USER|$ip|$campaign_id|$source_campaign_id|$stmt|$stmtA|\n"); + fclose($fp); + } + + } + } +$ADD=31; +} + +###################### +# ADD=22 adds the new campaign status to the system +###################### + +if ($ADD==22) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CAMPAIGN STATUS NOT ADDED - there is already a campaign-status in the system with this name\n";} + else + { + $stmt="SELECT count(*) from vicidial_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CAMPAIGN STATUS NOT ADDED - there is already a global-status in the system with this name\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($status_name) < 2) ) + { + echo "
CAMPAIGN STATUS NOT ADDED - Please go back and look at the data you entered\n"; + echo "
status must be between 1 and 8 characters in length\n"; + echo "
status name must be between 2 and 30 characters in length\n"; + } + else + { + echo "
CAMPAIGN STATUS ADDED: $campaign_id - $status\n"; + + $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category) values('$status','$status_name','$selectable','$campaign_id','$human_answered','$category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW CAMPAIGN STATUS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$SUB=22; +$ADD=31; +} + + +###################### +# ADD=23 adds the new campaign hotkey to the system +###################### + +if ($ADD==23) +{ + $HKstatus_data = explode('-----',$HKstatus); + $status = $HKstatus_data[0]; + $status_name = $HKstatus_data[1]; + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_hotkeys where campaign_id='$campaign_id' and hotkey='$hotkey' and hotkey='$hotkey';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CAMPAIGN HOT KEY NOT ADDED - there is already a campaign-hotkey in the system with this hotkey\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) + { + echo "
CAMPAIGN HOT KEY NOT ADDED - Please go back and look at the data you entered\n"; + echo "
hotkey must be a single character between 1 and 9 \n"; + echo "
status must be between 1 and 8 characters in length\n"; + } + else + { + echo "
CAMPAIGN HOT KEY ADDED: $campaign_id - $status - $hotkey\n"; + + $stmt="INSERT INTO vicidial_campaign_hotkeys values('$status','$hotkey','$status_name','$selectable','$campaign_id');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW CAMPAIGN HOT KEY |$PHP_AUTH_USER|$ip|'$status','$hotkey','$status_name','$selectable','$campaign_id'|\n"); + fclose($fp); + } + } + } +$SUB=23; +$ADD=31; +} + + +###################### +# ADD=25 adds the new campaign lead recycle entry to the system +###################### + +if ($ADD==25) +{ + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CAMPAIGN LEAD RECYCLE NOT ADDED - there is already a lead-recycle for this campaign with this status\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) + { + echo "
CAMPAIGN LEAD RECYCLE NOT ADDED - Please go back and look at the data you entered\n"; + echo "
status must be between 1 and 6 characters in length\n"; + echo "
attempt delay must be at least 120 seconds\n"; + echo "
maximum attempts must be from 1 to 10\n"; + } + else + { + echo "
CAMPAIGN LEAD RECYCLE ADDED: $campaign_id - $status - $attempt_delay\n"; + + $stmt="INSERT INTO vicidial_lead_recycle(campaign_id,status,attempt_delay,attempt_maximum,active) values('$campaign_id','$status','$attempt_delay','$attempt_maximum','$active');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW LEAD RECYCLE |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$SUB=25; +$ADD=31; +} + + +###################### +# ADD=26 adds the new auto alt dial status to the campaign +###################### + +if ($ADD==26) +{ + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
AUTO ALT DIAL STATUS NOT ADDED - there is already an entry for this campaign with this status\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
AUTO ALT DIAL STATUS NOT ADDED - Please go back and look at the data you entered\n"; + echo "
status must be between 1 and 6 characters in length\n"; + } + else + { + echo "
AUTO ALT DIAL STATUS ADDED: $campaign_id - $status\n"; + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if (strlen($row[0])<2) {$row[0] = ' -';} + $auto_alt_dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A AUTO-ALT-DIAL STATUS|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$SUB=26; +$ADD=31; +} + + +###################### +# ADD=27 adds the new campaign agent pause code entry to the system +###################### + +if ($ADD==27) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
AGENT PAUSE CODE NOT ADDED - there is already an entry for this campaign with this pause code\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) + { + echo "
AGENT PAUSE CODE NOT ADDED - Please go back and look at the data you entered\n"; + echo "
pause code must be between 1 and 6 characters in length\n"; + echo "
pause code name must be between 2 and 30 characters in length\n"; + } + else + { + echo "
AGENT PAUSE CODE ADDED: $campaign_id - $pause_code - $pause_code_name\n"; + + $stmt="INSERT INTO vicidial_pause_codes(campaign_id,pause_code,pause_code_name,billable) values('$campaign_id','$pause_code','$pause_code_name','$billable');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW AGENT PAUSE CODE|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$SUB=27; +$ADD=31; +} + + +###################### +# ADD=28 adds new status to the campaign dial statuses +###################### + +if ($ADD==28) +{ + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CAMPAIGN DIAL STATUS NOT ADDED - there is already an entry for this campaign with this status\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
CAMPAIGN DIAL STATUS NOT ADDED - Please go back and look at the data you entered\n"; + echo "
status must be between 1 and 6 characters in length\n"; + } + else + { + echo "
CAMPAIGN DIAL STATUS ADDED: $campaign_id - $status\n"; + + $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if (strlen($row[0])<2) {$row[0] = ' -';} + $dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD CAMPAIGN DIAL STATUS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +#$SUB=28; +$ADD=31; +} + + +###################### +# ADD=211 adds the new list to the system +###################### + +if ($ADD==211) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
LIST NOT ADDED - there is already a list in the system with this ID\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($list_name) < 2) or ($list_id < 100) or (strlen($list_id) > 8) ) + { + echo "
LIST NOT ADDED - Please go back and look at the data you entered\n"; + echo "
List ID must be between 2 and 8 characters in length\n"; + echo "
List name must be at least 2 characters in length\n"; + echo "
List ID must be greater than 100\n"; + } + else + { + echo "
LIST ADDED: $list_id\n"; + + $stmt="INSERT INTO vicidial_lists (list_id,list_name,campaign_id,active,list_description,list_changedate) values('$list_id','$list_name','$campaign_id','$active','$list_description','$SQLdate');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW LIST |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=311; +} + + + +###################### +# ADD=2111 adds the new inbound group to the system +###################### + +if ($ADD==2111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
GROUP NOT ADDED - there is already a group in the system with this ID\n";} + else + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
GROUP NOT ADDED - Please go back and look at the data you entered\n"; + echo "
Group ID must be between 2 and 20 characters in length and contain no ' -+'.\n"; + echo "
Group name and group color must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','$get_call_launch');"; + $rslt=mysql_query($stmt, $link); + + echo "
GROUP ADDED: $group_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW GROUP |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$ADD=3111; +} + + +###################### +# ADD=2011 adds copied inbound group to the system +###################### + +if ($ADD==2011) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
GROUP NOT ADDED - there is already a group in the system with this ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
GROUP NOT ADDED - Please go back and look at the data you entered\n"; + echo "
Group ID must be between 2 and 20 characters in length and contain no ' -+'.\n"; + echo "
Group name and group color must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_message,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_message,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group from vicidial_inbound_groups where group_id=\"$source_group_id\";"; + $rslt=mysql_query($stmt, $link); + + echo "
GROUP ADDED: $group_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|COPIED TO NEW GROUP |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=3111; +} + + +###################### +# ADD=21111 adds new remote agents to the system +###################### + +if ($ADD==21111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_remote_agents where server_ip='$server_ip' and user_start='$user_start';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
REMOTE AGENTS NOT ADDED - there is already a remote agents entry starting with this userID\n";} + else + { + if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) + { + echo "
REMOTE AGENTS NOT ADDED - Please go back and look at the data you entered\n"; + echo "
User ID start and external extension must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_remote_agents values('','$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value');"; + $rslt=mysql_query($stmt, $link); + + echo "
REMOTE AGENTS ADDED: $user_start\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW REMOTE AGENTS ENTRY |$PHP_AUTH_USER|$ip|'$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value'|\n"); + fclose($fp); + } + } + } +$ADD=10000; +} + +###################### +# ADD=211111 adds new user group to the system +###################### + +if ($ADD==211111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
USER GROUP NOT ADDED - there is already a user group entry with this name\n";} + else + { + if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) + { + echo "
USER GROUP NOT ADDED - Please go back and look at the data you entered\n"; + echo "
Group name and description must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_user_groups(user_group,group_name,allowed_campaigns) values('$user_group','$group_name','-ALL-CAMPAIGNS-');"; + $rslt=mysql_query($stmt, $link); + + echo "
USER GROUP ADDED: $user_group\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW USER GROUP ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=100000; +} + +###################### +# ADD=2111111 adds new script to the system +###################### + +if ($ADD==2111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_scripts where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
SCRIPT NOT ADDED - there is already a script entry with this name\n";} + else + { + if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + { + echo "
SCRIPT NOT ADDED - Please go back and look at the data you entered\n"; + echo "
Script name, description and text must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_scripts values('$script_id','$script_name','$script_comments','$script_text','$active');"; + $rslt=mysql_query($stmt, $link); + + echo "
SCRIPT ADDED: $script_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW SCRIPT ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=1000000; +} + + +###################### +# ADD=21111111 adds new filter to the system +###################### + +if ($ADD==21111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
FILTER NOT ADDED - there is already a filter entry with this ID\n";} + else + { + if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + { + echo "
FILTER NOT ADDED - Please go back and look at the data you entered\n"; + echo "
Filter ID, name and SQL must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_lead_filters SET lead_filter_id='$lead_filter_id',lead_filter_name='$lead_filter_name',lead_filter_comments='$lead_filter_comments',lead_filter_sql='$lead_filter_sql';"; + $rslt=mysql_query($stmt, $link); + + echo "
FILTER ADDED: $lead_filter_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW FILTER ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=10000000; +} + + +###################### +# ADD=211111111 adds new call time definition to the system +###################### + +if ($ADD==211111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CALL TIME DEFINITION NOT ADDED - there is already a call time entry with this ID\n";} + else + { + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) + { + echo "
CALL TIME DEFINITION NOT ADDED - Please go back and look at the data you entered\n"; + echo "
Call Time ID and name must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_call_times SET call_time_id='$call_time_id',call_time_name='$call_time_name',call_time_comments='$call_time_comments';"; + $rslt=mysql_query($stmt, $link); + + echo "
CALL TIME ADDED: $call_time_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW CALL TIME ENTRY |$stmt|\n"); + fclose($fp); + } + } + } +$ADD=311111111; +} + + +###################### +# ADD=2111111111 adds new state call time definition to the system +###################### + +if ($ADD==2111111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_state_call_times where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
STATE CALL TIME DEFINITION NOT ADDED - there is already a call time entry with this ID\n";} + else + { + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) + { + echo "
STATE CALL TIME DEFINITION NOT ADDED - Please go back and look at the data you entered\n"; + echo "
State Call Time ID, name and state must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_state_call_times SET state_call_time_id='$call_time_id',state_call_time_name='$call_time_name',state_call_time_comments='$call_time_comments',state_call_time_state='$state_call_time_state';"; + $rslt=mysql_query($stmt, $link); + + echo "
STATE CALL TIME ADDED: $call_time_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW STATE CALL TIME ENTRY|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=3111111111; +} + + +###################### +# ADD=21111111111 adds new phone to the system +###################### + +if ($ADD==21111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
PHONE NOT ADDED - there is already a Phone in the system with this extension/server\n";} + else + { + if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) + {echo "
PHONE NOT ADDED - Please go back and look at the data you entered\n";} + else + { + echo "
PHONE ADDED\n"; + + $stmt="INSERT INTO phones (extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,protocol,local_gmt,outbound_cid) values('$extension','$dialplan_number','$voicemail_id','$phone_ip','$computer_ip','$server_ip','$login','$pass','$status','$active','$phone_type','$fullname','$company','$picture','$protocol','$local_gmt','$outbound_cid');"; + $rslt=mysql_query($stmt, $link); + } + } +$ADD=31111111111; +} + + +###################### +# ADD=211111111111 adds new server to the system +###################### + +if ($ADD==211111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from servers where server_id='$server_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
SERVER NOT ADDED - there is already a server in the system with this ID\n";} + else + { + if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) + {echo "
SERVER NOT ADDED - Please go back and look at the data you entered\n";} + else + { + echo "
SERVER ADDED\n"; + + $stmt="INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version) values('$server_id','$server_description','$server_ip','$active','$asterisk_version');"; + $rslt=mysql_query($stmt, $link); + } + } +$ADD=311111111111; +} + + +###################### +# ADD=221111111111 adds the new vicidial server trunk record to the system +###################### + +if ($ADD==221111111111) +{ + echo ""; + $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $MAXvicidial_trunks = $rowx[0]; + + $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); + + if ($SUMvicidial_trunks > $MAXvicidial_trunks) + { + echo "
VICIDIAL SERVER TRUNK RECORD NOT ADDED - the number of vicidial trunks is too high: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + } + else + { + $stmt="SELECT count(*) from vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
VICIDIAL SERVER TRUNK RECORD NOT ADDED - there is already a server-trunk record for this campaign\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) + { + echo "
VICIDIAL SERVER TRUNK RECORD NOT ADDED - Please go back and look at the data you entered\n"; + echo "
campaign must be between 3 and 8 characters in length\n"; + echo "
server_ip delay must be at least 7 characters\n"; + echo "
trunks must be a digit from 0 to 9999\n"; + } + else + { + echo "
VICIDIAL SERVER TRUNK RECORD ADDED: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; + + $stmt="INSERT INTO vicidial_server_trunks(server_ip,campaign_id,dedicated_trunks,trunk_restriction) values('$server_ip','$campaign_id','$dedicated_trunks','$trunk_restriction');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW VICIDIAL TRUNK |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$ADD=311111111111; +} + + +###################### +# ADD=2111111111111 adds new conference to the system +###################### + +if ($ADD==2111111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CONFERENCE NOT ADDED - there is already a conference in the system with this ID and server\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
CONFERENCE NOT ADDED - Please go back and look at the data you entered\n";} + else + { + echo "
CONFERENCE ADDED\n"; + + $stmt="INSERT INTO conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } + } +$ADD=3111111111111; +} + + +###################### +# ADD=21111111111111 adds new vicidial conference to the system +###################### + +if ($ADD==21111111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
VICIDIAL CONFERENCE NOT ADDED - there is already a vicidial conference in the system with this ID and server\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
VICIDIAL CONFERENCE NOT ADDED - Please go back and look at the data you entered\n";} + else + { + echo "
VICIDIAL CONFERENCE ADDED\n"; + + $stmt="INSERT INTO vicidial_conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } + } +$ADD=31111111111111; +} + + +###################### +# ADD=221111111111111 adds the new system status to the system +###################### + +if ($ADD==221111111111111) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
SYSTEM STATUS NOT ADDED - there is already a campaign-status in the system with this name: $row[0]\n";} + else + { + $stmt="SELECT count(*) from vicidial_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
SYSTEM STATUS NOT ADDED - there is already a global-status in the system with this name\n";} + else + { + if ( (strlen($status) < 1) or (strlen($status_name) < 2) ) + { + echo "
SYSTEM STATUS NOT ADDED - Please go back and look at the data you entered\n"; + echo "
status must be between 1 and 8 characters in length\n"; + echo "
status name must be between 2 and 30 characters in length\n"; + } + else + { + echo "
SYSTEM STATUS ADDED: $status_name - $status\n"; + + $stmt="INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category) values('$status','$status_name','$selectable','$human_answered','$category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW SYSTEM STATUS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$ADD=321111111111111; +} + + +###################### +# ADD=231111111111111 adds the new status category to the system +###################### + +if ($ADD==231111111111111) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_status_categories where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
STATUS CATEGORY NOT ADDED - there is already a status category in the system with this ID: $row[0]\n";} + else + { + if ( (strlen($vsc_id) < 2) or (strlen($vsc_id) > 20) or (strlen($vsc_name) < 2) ) + { + echo "
STATUS CATEGORY NOT ADDED - Please go back and look at the data you entered\n"; + echo "
ID must be between 2 and 20 characters in length\n"; + echo "
name name must be between 2 and 50 characters in length\n"; + } + else + { + echo "
STATUS CATEGORY ADDED: $vsc_id - $vsc_name\n"; + + $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + { + $tovdad_display = 'N'; + echo "
ERROR: There are already 4 Status Categories set to TimeOnVDAD Display\n"; + } + + $stmt="INSERT INTO vicidial_status_categories (vsc_id,vsc_name,vsc_description,tovdad_display) values('$vsc_id','$vsc_name','$vsc_description','$tovdad_display');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW STATUS CATEGORY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=331111111111111; +} + + + +###################################################################################################### +###################################################################################################### +####### 4 series, record modifications submitted and DB is modified, then on to 3 series forms below +###################################################################################################### +###################################################################################################### + + + +###################### +# ADD=4A submit user modifications to the system - ADMIN +###################### + +if ($ADD=="4A") +{ + if ($LOGmodify_users==1) + { + echo ""; + + if ( (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_level) < 1) ) + { + echo "
USER NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
Password and Full Name each need ot be at least 2 characters in length\n"; + } + else + { + echo "
USER MODIFIED - ADMIN: $user\n"; + + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override' where user='$user';"; + $rslt=mysql_query($stmt, $link); + + + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY USER INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=3; # go to user modification below +} + + +###################### +# ADD=4B submit user modifications to the system - ADMIN +###################### + +if ($ADD=="4B") +{ + if ($LOGmodify_users==1) + { + echo ""; + + if ( (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_level) < 1) ) + { + echo "
USER NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
Password and Full Name each need ot be at least 2 characters in length\n"; + } + else + { + echo "
USER MODIFIED - ADMIN: $user\n"; + + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',hotkeys_active='$hotkeys_active',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',closer_default_blended='$closer_default_blended',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override' where user='$user';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY USER INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=3; # go to user modification below +} + + + +###################### +# ADD=4 submit user modifications to the system +###################### + +if ($ADD==4) +{ + if ($LOGmodify_users==1) + { + echo ""; + + if ( (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_level) < 1) ) + { + echo "
USER NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
Password and Full Name each need ot be at least 2 characters in length\n"; + } + else + { + echo "
USER MODIFIED: $user\n"; + + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass' where user='$user';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY USER INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=3; # go to user modification below +} + +###################### +# ADD=41 submit campaign modifications to the system +###################### + +if ($ADD==41) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_name) < 6) or (strlen($active) < 1) ) + { + echo "
CAMPAIGN NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
the campaign name needs to be at least 6 characters in length\n"; + echo "
|$campaign_name|$active|\n"; + } + else + { + echo "
CAMPAIGN MODIFIED: $campaign_id\n"; + + if ($dial_method == 'MANUAL') + { + $auto_dial_level='0'; + $adlSQL = "auto_dial_level='0',"; + } + else + { + if ($dial_level_override > 0) + { + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + else + { + if ($dial_method == 'RATIO') + { + if ($auto_dial_level < 1) {$auto_dial_level = "1.0";} + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + else + { + $adlSQL = ""; + if ($auto_dial_level < 1) + { + $auto_dial_level = "1.0"; + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + } + } + } + if ( (!ereg("DISABLED",$list_order_mix)) and ($hopper_level < 100) ) + {$hopper_level='100';} + + $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',safe_harbor_message='$safe_harbor_message',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns='$groups_value',use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_refresh='$campaign_stats_refresh',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + if ($reset_hopper == 'Y') + { + echo "
RESETTING CAMPAIGN LEAD HOPPER\n"; + echo "
- Wait 1 minute before dialing next number\n"; + $stmt="DELETE from vicidial_hopper where campaign_id='$campaign_id' and status IN('READY','QUEUE','DONE');"; + $rslt=mysql_query($stmt, $link); + + ### LOG RESET TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|CAMPAIGN HOPPERRESET|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CAMPAIGN INFO|$PHP_AUTH_USER|$ip|$stmtA|$reset_hopper|\n"); + fclose($fp); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=42 modify/delete campaign status in the system +###################### + +if ($ADD==42) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
CAMPAIGN STATUS NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
the campaign id needs to be at least 2 characters in length\n"; + echo "
the campaign status needs to be at least 1 characters in length\n"; + } + else + { + if (ereg('delete',$stage)) + { + echo "
CUSTOM CAMPAIGN STATUS DELETED: $campaign_id - $status\n"; + + $stmt="DELETE FROM vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="DELETE FROM vicidial_campaign_hotkeys where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmtA, $link); + + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE CAMPAIGN STATUS|$PHP_AUTH_USER|$ip|$stmt|$stmtA|\n"); + fclose($fp); + } + } + if (ereg('modify',$stage)) + { + echo "
CUSTOM CAMPAIGN STATUS MODIFIED: $campaign_id - $status\n"; + + $stmt="UPDATE vicidial_campaign_statuses SET status_name='$status_name',selectable='$selectable',human_answered='$human_answered',category='$category' where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CAMPAIGN STATUS|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$SUB=22; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=43 delete campaign hotkey in the system +###################### + +if ($ADD==43) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) + { + echo "
CAMPAIGN HOT KEY NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
the campaign id needs to be at least 2 characters in length\n"; + echo "
the campaign status needs to be at least 1 characters in length\n"; + echo "
the campaign hotkey needs to be at least 1 characters in length\n"; + } + else + { + echo "
CUSTOM CAMPAIGN HOT KEY DELETED: $campaign_id - $status - $hotkey\n"; + + $stmt="DELETE FROM vicidial_campaign_hotkeys where campaign_id='$campaign_id' and status='$status' and hotkey='$hotkey';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE CAMPAIGN STATUS|$PHP_AUTH_USER|$ip|DELETE FROM vicidial_campaign_hotkeys where campaign_id='$campaign_id' and status='$status' and hotkey='$hotkey'|\n"); + fclose($fp); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$SUB=23; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=44 submit campaign modifications to the system - Basic View +###################### + +if ($ADD==44) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_name) < 6) or (strlen($active) < 1) ) + { + echo "
CAMPAIGN NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
the campaign name needs to be at least 6 characters in length\n"; + } + else + { + echo "
CAMPAIGN MODIFIED: $campaign_id\n"; + + if ($dial_method == 'RATIO') + { + if ($auto_dial_level < 1) {$auto_dial_level = "1.0";} + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + else + { + if ($dial_method == 'MANUAL') + { + $auto_dial_level='0'; + $adlSQL = "auto_dial_level='0',"; + } + else + { + $adlSQL = ""; + if ($auto_dial_level < 1) + { + $auto_dial_level = "1.0"; + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + } + } + if ( (!ereg("DISABLED",$list_order_mix)) and ($hopper_level < 100) ) + {$hopper_level='100';} + + $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',hopper_level='$hopper_level', $adlSQL lead_filter_id='$lead_filter_id',dial_method='$dial_method',adaptive_intensity='$adaptive_intensity',campaign_changedate='$SQLdate',list_order_mix='$list_order_mix' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + if ($reset_hopper == 'Y') + { + echo "
RESETTING CAMPAIGN LEAD HOPPER\n"; + echo "
- Wait 1 minute before dialing next number\n"; + $stmt="DELETE from vicidial_hopper where campaign_id='$campaign_id' and status IN('READY','QUEUE','DONE');;"; + $rslt=mysql_query($stmt, $link); + + ### LOG HOPPER RESET TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|CAMPAIGN HOPPERRESET|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CAMPAIGN INFO|$PHP_AUTH_USER|$ip|$stmtA|$reset_hopper|\n"); + fclose($fp); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=34; # go to campaign modification form below +} + +###################### +# ADD=45 modify campaign lead recycle in the system +###################### + +if ($ADD==45) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) + { + echo "
CAMPAIGN LEAD RECYCLE NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
status must be between 1 and 6 characters in length\n"; + echo "
attempt delay must be at least 120 seconds\n"; + echo "
maximum attempts must be from 1 to 10\n"; + } + else + { + echo "
CAMPAIGN LEAD MODIFIED: $campaign_id - $status - $attempt_delay\n"; + + $stmt="UPDATE vicidial_lead_recycle SET attempt_delay='$attempt_delay',attempt_maximum='$attempt_maximum',active='$active' where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LEAD RECYCLE |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$SUB=25; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=47 modify agent pause code in the system +###################### + +if ($ADD==47) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) + { + echo "
AGENT PAUSE CODE NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
pause_code must be between 1 and 6 characters in length\n"; + echo "
pause_code name must be between 2 and 30 characters in length\n"; + } + else + { + echo "
AGENT PAUSE CODE MODIFIED: $campaign_id - $pause_code - $pause_code_name\n"; + + $stmt="UPDATE vicidial_pause_codes SET pause_code_name='$pause_code_name',billable='$billable' where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY AGENT PAUSECODE|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$SUB=27; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=49 modify campaign list mix in the system +###################### + +if ($ADD==49) +{ + if ($LOGmodify_campaigns==1) + { + ##### MODIFY a list mix container entry ##### + if ($stage=='MODIFY') + { + echo ""; + + $Flist_mix_container = "list_mix_container_$vcl_id"; + $Fmix_method = "mix_method_$vcl_id"; + $Fstatus = "status_$vcl_id"; + $Fvcl_name = "vcl_name_$vcl_id"; + + if (isset($_GET[$Flist_mix_container])) {$list_mix_container=$_GET[$Flist_mix_container];} + elseif (isset($_POST[$Flist_mix_container])) {$list_mix_container=$_POST[$Flist_mix_container];} + if (isset($_GET[$Fmix_method])) {$mix_method=$_GET[$Fmix_method];} + elseif (isset($_POST[$Fmix_method])) {$mix_method=$_POST[$Fmix_method];} + if (isset($_GET[$Fstatus])) {$status=$_GET[$Fstatus];} + elseif (isset($_POST[$Fstatus])) {$status=$_POST[$Fstatus];} + if (isset($_GET[$Fvcl_name])) {$vcl_name=$_GET[$Fvcl_name];} + elseif (isset($_POST[$Fvcl_name])) {$vcl_name=$_POST[$Fvcl_name];} + $list_mix_container = preg_replace("/:$/","",$list_mix_container); + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($list_mix_container) < 6) or (strlen($vcl_name) < 2) ) + { + echo "
LIST MIX NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + echo "
vcl_name name must be between 2 and 30 characters in length\n"; + } + else + { + $stmt="UPDATE vicidial_campaigns_list_mix SET vcl_name='$vcl_name',mix_method='$mix_method',list_mix_container='$list_mix_container' where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
LIST MIX MODIFIED: $campaign_id - $vcl_id - $vcl_name\n"; + } + } + + ##### ADD a list mix container entry ##### + if ($stage=='ADD') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($list_id) < 1) ) + { + echo "
LIST MIX NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + echo "
list_id must be at least 2 characters in length\n"; + } + else + { + $stmt="SELECT list_mix_container from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $OLDlist_mix_container = $row[0]; + $NEWlist_mix_container = "$OLDlist_mix_container:$list_id|10|0| -|"; + + $stmt="UPDATE vicidial_campaigns_list_mix SET list_mix_container='$NEWlist_mix_container' where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
LIST MIX MODIFIED: $campaign_id - $vcl_id - $list_id\n"; + } + } + + ##### REMOVE a list mix container entry ##### + if ($stage=='REMOVE') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($list_id) < 1) ) + { + echo "
LIST MIX NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + echo "
list_id must be at least 2 characters in length\n"; + } + else + { + $stmt="SELECT list_mix_container from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $MIXentries = $MT; + $MIXentries = explode(":", $row[0]); + $Ms_to_print = (count($MIXentries) - 0); + + if ($Ms_to_print < 2) + { + echo "
LIST MIX NOT MODIFIED: You cannot delete the last list_id entry from a list mix\n"; + } + else + { + $MIXdetailsPCT = explode('|', $MIXentries[$mix_container_item]); + $MIXpercentPCT = $MIXdetailsPCT[2]; + + $q=0; + while ($Ms_to_print > $q) + { + if ( ($mix_container_item > $q) or ($mix_container_item < $q) ) + { + if ( ($q==0) and ($mix_container_item > 0) ) + { + $MIXdetailsONE = explode('|', $MIXentries[$q]); + $MIXpercentONE = ($MIXdetailsONE[2] + $MIXpercentPCT); + $NEWlist_mix_container .= "$MIXdetailsONE[0]|$MIXdetailsONE[1]|$MIXpercentONE|$MIXdetailsONE[3]|:"; + } + else + { + if ( ($q==1) and ($mix_container_item < 1) ) + { + $MIXdetailsONE = explode('|', $MIXentries[$q]); + $MIXpercentONE = ($MIXdetailsONE[2] + $MIXpercentPCT); + $NEWlist_mix_container .= "$MIXdetailsONE[0]|$MIXdetailsONE[1]|$MIXpercentONE|$MIXdetailsONE[3]|:"; + } + else + { + $NEWlist_mix_container .= "$MIXentries[$q]:"; + } + } + } + $q++; + } + $NEWlist_mix_container = preg_replace("/.$/",'',$NEWlist_mix_container); + + $stmt="UPDATE vicidial_campaigns_list_mix SET list_mix_container='$NEWlist_mix_container' where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
LIST MIX MODIFIED: $campaign_id - $vcl_id - $list_id - $mix_container_item\n"; + } + } + } + + ##### ADD a NEW list mix ##### + if ($stage=='NEWMIX') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($vcl_name) < 2) ) + { + echo "
LIST MIX NOT ADDED - Please go back and look at the data you entered\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + echo "
vcl_name must be at least 2 characters in length\n"; + } + else + { + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
LIST MIX NOT ADDED - There is already a list mix with this ID in the system\n"; + } + else + { + $stmt="INSERT INTO vicidial_campaigns_list_mix SET list_mix_container='$list_id|1|100| $status -|',campaign_id='$campaign_id',vcl_id='$vcl_id',vcl_name='$vcl_name',mix_method='$mix_method',status='INACTIVE';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
LIST MIX ADDED: $campaign_id - $vcl_id - $vcl_name\n"; + } + } + } + + ##### DELETE an existing list mix ##### + if ($stage=='DELMIX') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) ) + { + echo "
LIST MIX NOT DELETED - Please go back and look at the data you entered\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_campaigns_list_mix where vcl_id='$vcl_id' and campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
LIST MIX DELETED: $campaign_id - $vcl_id - $vcl_name\n"; + } + } + + ##### Set list mix entry to active ##### + if ($stage=='SETACTIVE') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) ) + { + echo "
LIST MIX NOT ACTIVATED - Please go back and look at the data you entered\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + } + else + { + $stmt="UPDATE vicidial_campaigns_list_mix SET status='INACTIVE' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_campaigns_list_mix SET status='ACTIVE' where vcl_id='$vcl_id' and campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
LIST MIX ACTIVATED: $campaign_id - $vcl_id - $vcl_name\n"; + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$SUB=29; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=411 submit list modifications to the system +###################### + +if ($ADD==411) +{ + if ($LOGmodify_lists==1) + { + echo ""; + + if ( (strlen($list_name) < 2) or (strlen($campaign_id) < 2) ) + { + echo "
LIST NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
list name must be at least 2 characters in length\n"; + } + else + { + echo "
LIST MODIFIED: $list_id\n"; + + $stmt="UPDATE vicidial_lists set list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description',list_changedate='$SQLdate' where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + if ($reset_list == 'Y') + { + echo "
RESETTING LIST-CALLED-STATUS\n"; + $stmt="UPDATE vicidial_list set called_since_last_reset='N' where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG RESET TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|RESET LIST CALLED |$PHP_AUTH_USER|$ip|list_name='$list_name'|\n"); + fclose($fp); + } + } + if ($campaign_id != "$old_campaign_id") + { + echo "
REMOVING LIST HOPPER LEADS FROM OLD CAMPAIGN HOPPER ($old_campaign_id)\n"; + $stmt="DELETE from vicidial_hopper where list_id='$list_id' and campaign_id='$old_campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST INFO |$PHP_AUTH_USER|$ip|list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description' where list_id='$list_id'|\n"); + fclose($fp); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=311; # go to list modification form below +} + + +###################### +# ADD=4111 modify in-group info in the system +###################### + +if ($ADD==4111) +{ + if ($LOGmodify_ingroups==1) + { + echo ""; + + if ( (strlen($group_name) < 2) or (strlen($group_color) < 2) ) + { + echo "
GROUP NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
group name and group color must be at least 2 characters in length\n"; + } + else + { + echo "
GROUP MODIFIED: $group_id\n"; + + $stmt="UPDATE vicidial_inbound_groups set group_name='$group_name', group_color='$group_color', active='$active', web_form_address='" . mysql_real_escape_string($web_form_address) . "', voicemail_ext='$voicemail_ext', next_agent_call='$next_agent_call', fronter_display='$fronter_display', ingroup_script='$script_id', get_call_launch='$get_call_launch', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',drop_message='$drop_message',drop_call_seconds='$drop_call_seconds',drop_exten='$drop_exten',call_time_id='$call_time_id',after_hours_action='$after_hours_action',after_hours_message_filename='$after_hours_message_filename',after_hours_exten='$after_hours_exten',after_hours_voicemail='$after_hours_voicemail',welcome_message_filename='$welcome_message_filename',moh_context='$moh_context',onhold_prompt_filename='$onhold_prompt_filename',prompt_interval='$prompt_interval',agent_alert_exten='$agent_alert_exten',agent_alert_delay='$agent_alert_delay',default_xfer_group='$default_xfer_group' where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY GROUP INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=3111; # go to in-group modification form below +} + + + +###################### +# ADD=41111 modify remote agents info in the system +###################### + +if ($ADD==41111) +{ + if ($LOGmodify_remoteagents==1) + { + echo ""; + + if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) + { + echo "
REMOTE AGENTS NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
User ID Start and External Extension must be at least 2 characters in length\n"; + } + else + { + $stmt="UPDATE vicidial_remote_agents set user_start='$user_start', number_of_lines='$number_of_lines', server_ip='$server_ip', conf_exten='$conf_exten', status='$status', campaign_id='$campaign_id', closer_campaigns='$groups_value' where remote_agent_id='$remote_agent_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
REMOTE AGENTS MODIFIED\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY REMOTE AGENTS ENTRY |$PHP_AUTH_USER|$ip|set user_start='$user_start', number_of_lines='$number_of_lines', server_ip='$server_ip', conf_exten='$conf_exten', status='$status', campaign_id='$campaign_id', closer_campaigns='$groups_value' where remote_agent_id='$remote_agent_id'|\n"); + fclose($fp); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=31111; # go to remote agents modification form below +} + + + +###################### +# ADD=411111 modify user group info in the system +###################### + +if ($ADD==411111) +{ + if ($LOGmodify_usergroups==1) + { + echo ""; + + if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) + { + echo "
USER GROUP NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
Group name and description must be at least 2 characters in length\n"; + } + else + { + $stmt="UPDATE vicidial_user_groups set user_group='$user_group', group_name='$group_name',allowed_campaigns='$campaigns_value' where user_group='$OLDuser_group';"; + $rslt=mysql_query($stmt, $link); + + echo "
USER GROUP MODIFIED\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY USER GROUP ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=311111; # go to user group modification form below +} + +###################### +# ADD=4111111 modify script in the system +###################### + +if ($ADD==4111111) +{ + if ($LOGmodify_scripts==1) + { + echo "\n"; + echo "\n"; + echo ""; + + if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + { + echo "
SCRIPT NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
Script name, description and text must be at least 2 characters in length\n"; + } + else + { + $stmt="UPDATE vicidial_scripts set script_name='$script_name', script_comments='$script_comments', script_text='$script_text', active='$active' where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
SCRIPT MODIFIED\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY SCRIPT ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=3111111; # go to script modification form below +} + + +###################### +# ADD=41111111 modify filter in the system +###################### + +if ($ADD==41111111) +{ + if ($LOGmodify_filters==1) + { + echo ""; + + if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + { + echo "
FILTER NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
Filter ID, name and SQL must be at least 2 characters in length\n"; + } + else + { + $stmt="UPDATE vicidial_lead_filters set lead_filter_name='$lead_filter_name', lead_filter_comments='$lead_filter_comments', lead_filter_sql='$lead_filter_sql' where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
FILTER MODIFIED\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY FILTER ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=31111111; # go to filter modification form below +} + + +###################### +# ADD=411111111 modify call time in the system +###################### + +if ($ADD==411111111) +{ + if ($LOGmodify_call_times==1) + { + echo ""; + + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) + { + echo "
CALL TIME NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
Call Time ID and name must be at least 2 characters in length\n"; + } + else + { + $ct_default_start = preg_replace('/\D/', '', $ct_default_start); + $ct_default_stop = preg_replace('/\D/', '', $ct_default_stop); + $ct_sunday_start = preg_replace('/\D/', '', $ct_sunday_start); + $ct_sunday_stop = preg_replace('/\D/', '', $ct_sunday_stop); + $ct_monday_start = preg_replace('/\D/', '', $ct_monday_start); + $ct_monday_stop = preg_replace('/\D/', '', $ct_monday_stop); + $ct_tuesday_start = preg_replace('/\D/', '', $ct_tuesday_start); + $ct_tuesday_stop = preg_replace('/\D/', '', $ct_tuesday_stop); + $ct_wednesday_start = preg_replace('/\D/', '', $ct_wednesday_start); + $ct_wednesday_stop = preg_replace('/\D/', '', $ct_wednesday_stop); + $ct_thursday_start = preg_replace('/\D/', '', $ct_thursday_start); + $ct_thursday_stop = preg_replace('/\D/', '', $ct_thursday_stop); + $ct_friday_start = preg_replace('/\D/', '', $ct_friday_start); + $ct_friday_stop = preg_replace('/\D/', '', $ct_friday_stop); + $ct_saturday_start = preg_replace('/\D/', '', $ct_saturday_start); + $ct_saturday_stop = preg_replace('/\D/', '', $ct_saturday_stop); + $stmt="UPDATE vicidial_call_times set call_time_name='$call_time_name', call_time_comments='$call_time_comments', ct_default_start='$ct_default_start', ct_default_stop='$ct_default_stop', ct_sunday_start='$ct_sunday_start', ct_sunday_stop='$ct_sunday_stop', ct_monday_start='$ct_monday_start', ct_monday_stop='$ct_monday_stop', ct_tuesday_start='$ct_tuesday_start', ct_tuesday_stop='$ct_tuesday_stop', ct_wednesday_start='$ct_wednesday_start', ct_wednesday_stop='$ct_wednesday_stop', ct_thursday_start='$ct_thursday_start', ct_thursday_stop='$ct_thursday_stop', ct_friday_start='$ct_friday_start', ct_friday_stop='$ct_friday_stop', ct_saturday_start='$ct_saturday_start', ct_saturday_stop='$ct_saturday_stop' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
CALL TIME MODIFIED\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CALL TIME ENTRY |$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=311111111; # go to call time modification form below +} + + +###################### +# ADD=4111111111 modify state call time in the system +###################### + +if ($ADD==4111111111) +{ + if ($LOGmodify_call_times==1) + { + echo ""; + + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) + { + echo "
STATE CALL TIME NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
State Call Time ID, name and state must be at least 2 characters in length\n"; + } + else + { + $ct_default_start = preg_replace('/\D/', '', $ct_default_start); + $ct_default_stop = preg_replace('/\D/', '', $ct_default_stop); + $ct_sunday_start = preg_replace('/\D/', '', $ct_sunday_start); + $ct_sunday_stop = preg_replace('/\D/', '', $ct_sunday_stop); + $ct_monday_start = preg_replace('/\D/', '', $ct_monday_start); + $ct_monday_stop = preg_replace('/\D/', '', $ct_monday_stop); + $ct_tuesday_start = preg_replace('/\D/', '', $ct_tuesday_start); + $ct_tuesday_stop = preg_replace('/\D/', '', $ct_tuesday_stop); + $ct_wednesday_start = preg_replace('/\D/', '', $ct_wednesday_start); + $ct_wednesday_stop = preg_replace('/\D/', '', $ct_wednesday_stop); + $ct_thursday_start = preg_replace('/\D/', '', $ct_thursday_start); + $ct_thursday_stop = preg_replace('/\D/', '', $ct_thursday_stop); + $ct_friday_start = preg_replace('/\D/', '', $ct_friday_start); + $ct_friday_stop = preg_replace('/\D/', '', $ct_friday_stop); + $ct_saturday_start = preg_replace('/\D/', '', $ct_saturday_start); + $ct_saturday_stop = preg_replace('/\D/', '', $ct_saturday_stop); + $stmt="UPDATE vicidial_state_call_times set state_call_time_name='$call_time_name', state_call_time_comments='$call_time_comments', sct_default_start='$ct_default_start', sct_default_stop='$ct_default_stop', sct_sunday_start='$ct_sunday_start', sct_sunday_stop='$ct_sunday_stop', sct_monday_start='$ct_monday_start', sct_monday_stop='$ct_monday_stop', sct_tuesday_start='$ct_tuesday_start', sct_tuesday_stop='$ct_tuesday_stop', sct_wednesday_start='$ct_wednesday_start', sct_wednesday_stop='$ct_wednesday_stop', sct_thursday_start='$ct_thursday_start', sct_thursday_stop='$ct_thursday_stop', sct_friday_start='$ct_friday_start', sct_friday_stop='$ct_friday_stop', sct_saturday_start='$ct_saturday_start', sct_saturday_stop='$ct_saturday_stop', state_call_time_state='$state_call_time_state' where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
STATE CALL TIME MODIFIED\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY STATE CALL TIME ENTRY|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=3111111111; # go to state call time modification form below +} + + +###################### +# ADD=41111111111 modify phone record in the system +###################### + +if ($ADD==41111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ( ($extension != $old_extension) or ($server_ip != $old_server_ip) ) ) + {echo "
PHONE NOT MODIFIED - there is already a Phone in the system with this extension/server\n";} + else + { + if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) + {echo "
PHONE NOT MODIFIED - Please go back and look at the data you entered\n";} + else + { + echo "
PHONE MODIFIED: $extension\n"; + + $stmt="UPDATE phones set extension='$extension', dialplan_number='$dialplan_number', voicemail_id='$voicemail_id', phone_ip='$phone_ip', computer_ip='$computer_ip', server_ip='$server_ip', login='$login', pass='$pass', status='$status', active='$active', phone_type='$phone_type', fullname='$fullname', company='$company', picture='$picture', protocol='$protocol', local_gmt='$local_gmt', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', login_user='$login_user', login_pass='$login_pass', login_campaign='$login_campaign', park_on_extension='$park_on_extension', conf_on_extension='$conf_on_extension', VICIDIAL_park_on_extension='$VICIDIAL_park_on_extension', VICIDIAL_park_on_filename='$VICIDIAL_park_on_filename', monitor_prefix='$monitor_prefix', recording_exten='$recording_exten', voicemail_exten='$voicemail_exten', voicemail_dump_exten='$voicemail_dump_exten', ext_context='$ext_context', dtmf_send_extension='$dtmf_send_extension', call_out_number_group='$call_out_number_group', client_browser='$client_browser', install_directory='$install_directory', local_web_callerID_URL='" . mysql_real_escape_string($local_web_callerID_URL) . "', VICIDIAL_web_URL='" . mysql_real_escape_string($VICIDIAL_web_URL) . "', AGI_call_logging_enabled='$AGI_call_logging_enabled', user_switching_enabled='$user_switching_enabled', conferencing_enabled='$conferencing_enabled', admin_hangup_enabled='$admin_hangup_enabled', admin_hijack_enabled='$admin_hijack_enabled', admin_monitor_enabled='$admin_monitor_enabled', call_parking_enabled='$call_parking_enabled', updater_check_enabled='$updater_check_enabled', AFLogging_enabled='$AFLogging_enabled', QUEUE_ACTION_enabled='$QUEUE_ACTION_enabled', CallerID_popup_enabled='$CallerID_popup_enabled', voicemail_button_enabled='$voicemail_button_enabled', enable_fast_refresh='$enable_fast_refresh', fast_refresh_rate='$fast_refresh_rate', enable_persistant_mysql='$enable_persistant_mysql', auto_dial_next_number='$auto_dial_next_number', VDstop_rec_after_each_call='$VDstop_rec_after_each_call', DBX_server='$DBX_server', DBX_database='$DBX_database', DBX_user='$DBX_user', DBX_pass='$DBX_pass', DBX_port='$DBX_port', DBY_server='$DBY_server', DBY_database='$DBY_database', DBY_user='$DBY_user', DBY_pass='$DBY_pass', DBY_port='$DBY_port', outbound_cid='$outbound_cid', enable_sipsak_messages='$enable_sipsak_messages' where extension='$old_extension' and server_ip='$old_server_ip';"; + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=31111111111; # go to phone modification form below +} + + +###################### +# ADD=411111111111 modify server record in the system +###################### + +if ($ADD==411111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + $stmt="SELECT count(*) from servers where server_id='$server_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ($server_id != $old_server_id) ) + {echo "
SERVER NOT MODIFIED - there is already a server in the system with this server_id\n";} + else + { + $stmt="SELECT count(*) from servers where server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ($server_ip != $old_server_ip) ) + {echo "
SERVER NOT MODIFIED - there is already a server in the system with this server_ip\n";} + else + { + if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) + {echo "
SERVER NOT MODIFIED - Please go back and look at the data you entered\n";} + else + { + echo "
SERVER MODIFIED: $server_ip\n"; + + $stmt="UPDATE servers set server_id='$server_id',server_description='$server_description',server_ip='$server_ip',active='$active',asterisk_version='$asterisk_version', max_vicidial_trunks='$max_vicidial_trunks', telnet_host='$telnet_host', telnet_port='$telnet_port', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', ASTmgrUSERNAMEupdate='$ASTmgrUSERNAMEupdate', ASTmgrUSERNAMElisten='$ASTmgrUSERNAMElisten', ASTmgrUSERNAMEsend='$ASTmgrUSERNAMEsend', local_gmt='$local_gmt', voicemail_dump_exten='$voicemail_dump_exten', answer_transfer_agent='$answer_transfer_agent', ext_context='$ext_context', sys_perf_log='$sys_perf_log', vd_server_logs='$vd_server_logs', agi_output='$agi_output', vicidial_balance_active='$vicidial_balance_active', balance_trunks_offlimits='$balance_trunks_offlimits' where server_id='$old_server_id';"; + $rslt=mysql_query($stmt, $link); + } + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=311111111111; # go to server modification form below +} + + +###################### +# ADD=421111111111 modify vicidial server trunks record in the system +###################### + +if ($ADD==421111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $MAXvicidial_trunks = $rowx[0]; + + $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); + + if ($SUMvicidial_trunks > $MAXvicidial_trunks) + { + echo "
VICIDIAL SERVER TRUNK RECORD NOT ADDED - the number of vicidial trunks is too high: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + } + else + { + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) + { + echo "
VICIDIAL SERVER TRUNK RECORD NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
campaign must be between 3 and 8 characters in length\n"; + echo "
server_ip delay must be at least 7 characters\n"; + echo "
trunks must be a digit from 0 to 9999\n"; + } + else + { + echo "
VICIDIAL SERVER TRUNK RECORD MODIFIED: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; + + $stmt="UPDATE vicidial_server_trunks SET dedicated_trunks='$dedicated_trunks',trunk_restriction='$trunk_restriction' where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY SERVER TRUNK |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=311111111111; # go to server modification form below +} + + +###################### +# ADD=4111111111111 modify conference record in the system +###################### + +if ($ADD==4111111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ( ($conf_exten != $old_conf_exten) or ($server_ip != $old_server_ip) ) ) + {echo "
CONFERENCE NOT MODIFIED - there is already a Conference in the system with this extension-server\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
CONFERENCE NOT MODIFIED - Please go back and look at the data you entered\n";} + else + { + echo "
CONFERENCE MODIFIED: $conf_exten\n"; + + $stmt="UPDATE conferences set conf_exten='$conf_exten',server_ip='$server_ip',extension='$extension' where conf_exten='$old_conf_exten';"; + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=3111111111111; # go to conference modification form below +} + + +###################### +# ADD=41111111111111 modify vicidial conference record in the system +###################### + +if ($ADD==41111111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ( ($conf_exten != $old_conf_exten) or ($server_ip != $old_server_ip) ) ) + {echo "
VICIDIAL CONFERENCE NOT MODIFIED - there is already a Conference in the system with this extension-server\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
VICIDIAL CONFERENCE NOT MODIFIED - Please go back and look at the data you entered\n";} + else + { + echo "
VICIDIAL CONFERENCE MODIFIED: $conf_exten\n"; + + $stmt="UPDATE vicidial_conferences set conf_exten='$conf_exten',server_ip='$server_ip',extension='$extension' where conf_exten='$old_conf_exten';"; + $rslt=mysql_query($stmt, $link); + + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=31111111111111; # go to vicidial conference modification form below +} + + + +###################### +# ADD=411111111111111 modify vicidial system settings +###################### + +if ($ADD==411111111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + echo "
VICIDIAL SYSTEM SETTINGS MODIFIED\n"; + + $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY SYSTEM SETTINGS|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=311111111111111; # go to vicidial system settings form below +} + + +###################### +# ADD=421111111111111 modify/delete system status in the system +###################### + +if ($ADD==421111111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + if (ereg('delete',$stage)) + { + if ( (strlen($status) < 1) or (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$status)) ) + { + echo "
SYSTEM STATUS NOT DELETED - Please go back and look at the data you entered\n"; + echo "
the system status cannot be a reserved status: B,NA,DNC,NA,DROP,INCALL,QUEUE,NEW\n"; + echo "
the system status needs to be at least 1 characters in length\n"; + } + else + { + echo "
SYSTEM STATUS DELETED: $status\n"; + + $stmt="DELETE FROM vicidial_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="DELETE FROM vicidial_campaign_hotkeys where status='$status';"; + $rslt=mysql_query($stmtA, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE SYSTEM STATUS |$PHP_AUTH_USER|$ip|$stmt|$stmtA|\n"); + fclose($fp); + } + } + } + if (ereg('modify',$stage)) + { + if ( (strlen($status) < 1) or (strlen($status_name) < 2) ) + { + echo "
SYSTEM STATUS NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
the system status needs to be at least 1 characters in length\n"; + echo "
the system status name needs to be at least 1 characters in length\n"; + } + else + { + echo "
SYSTEM STATUS MODIFIED: $status\n"; + + $stmt="UPDATE vicidial_statuses SET status_name='$status_name',selectable='$selectable',human_answered='$human_answered',category='$category' where status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY SYSTEM STATUS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=321111111111111; # go to system settings modification form below +} + + +###################### +# ADD=431111111111111 modify/delete status category in the system +###################### + +if ($ADD==431111111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + if ( (strlen($vsc_id) < 2) or (preg_match("/^UNDEFINED$/i",$vsc_id)) ) + { + echo "
STATUS CATEGORY NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
the status category cannot be a reserved category: UNDEFINED\n"; + echo "
the status category needs to be at least 2 characters in length\n"; + } + else + { + if (ereg('delete',$stage)) + { + echo "
STATUS CATEGORY DELETED: $vsc_id\n"; + + $stmt="DELETE FROM vicidial_status_categories where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE STATUS CATEGORY|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + if (ereg('modify',$stage)) + { + echo "
STATUS CATEGORY MODIFIED: $vsc_id\n"; + + $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + { + $tovdad_display = 'N'; + echo "
ERROR: There are already 4 Status Categories set to TimeOnVDAD Display\n"; + } + + $stmt="UPDATE vicidial_status_categories SET vsc_name='$vsc_name',vsc_description='$vsc_description',tovdad_display='$tovdad_display' where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY STATUS CATEGORY|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=331111111111111; # go to system settings modification form below +} + + + + +###################################################################################################### +###################################################################################################### +####### 5 series, delete records confirmation +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=5 confirmation before deletion of user +###################### + +if ($ADD==5) +{ + echo ""; + + if ( (strlen($user) < 2) or ($LOGdelete_users < 1) ) + { + echo "
USER NOT DELETED - Please go back and look at the data you entered\n"; + echo "
User be at least 2 characters in length\n"; + } + else + { + echo "
USER DELETION CONFIRMATION: $user\n"; + echo "

Click here to delete user $user


\n"; + } + +$ADD='3'; # go to user modification below +} + +###################### +# ADD=51 confirmation before deletion of campaign +###################### + +if ($ADD==51) +{ + echo ""; + + if ( (strlen($campaign_id) < 2) or ($LOGdelete_campaigns < 1) ) + { + echo "
CAMPAIGN NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Campaign_id be at least 2 characters in length\n"; + } + else + { + echo "
CAMPAIGN DELETION CONFIRMATION: $campaign_id\n"; + echo "

Click here to delete campaign $campaign_id


\n"; + } + +$ADD='31'; # go to campaign modification below +} + +###################### +# ADD=52 confirmation before logging all agents out of campaign of campaign +###################### + +if ($ADD==52) +{ + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
AGENTS NOT LOGGED OUT OF CAMPAIGN - Please go back and look at the data you entered\n"; + echo "
Campaign_id be at least 2 characters in length\n"; + } + else + { + echo "
AGENT LOGOUT CONFIRMATION: $campaign_id\n"; + echo "

Click here to log all agents out of $campaign_id


\n"; + } + +$ADD='31'; # go to campaign modification below +} + +###################### +# ADD=53 confirmation before Emergency VDAC Jam Clear - deletes oldest LIVE vicidial_auto_call record +###################### + +if ($ADD==53) +{ + if (eregi('IN',$stage)) + {$group_id=$campaign_id;} + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
VDAC NOT CLEARED FOR CAMPAIGN - Please go back and look at the data you entered\n"; + echo "
Campaign_id be at least 2 characters in length\n"; + } + else + { + echo "
VDAC CLEAR CONFIRMATION: $campaign_id\n"; + echo "

Click here to delete the oldest LIVE record in VDAC for $campaign_id


\n"; + } + +# go to campaign modification below +if (eregi('IN',$stage)) + {$ADD='3111';} +else + {$ADD='31';} +} + +###################### +# ADD=511 confirmation before deletion of list +###################### + +if ($ADD==511) +{ + echo ""; + + if ( (strlen($list_id) < 2) or ($LOGdelete_lists < 1) ) + { + echo "
LIST NOT DELETED - Please go back and look at the data you entered\n"; + echo "
List_id be at least 2 characters in length\n"; + } + else + { + echo "
LIST DELETION CONFIRMATION: $list_id\n"; + echo "

Click here to delete list and all of its leads $list_id


\n"; + } + +$ADD='311'; # go to campaign modification below +} + +###################### +# ADD=5111 confirmation before deletion of in-group +###################### + +if ($ADD==5111) +{ + echo ""; + + if ( (strlen($group_id) < 2) or ($LOGdelete_ingroups < 1) ) + { + echo "
IN-GROUP NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Group_id be at least 2 characters in length\n"; + } + else + { + echo "
IN-GROUP DELETION CONFIRMATION: $group_id\n"; + echo "

Click here to delete in-group $group_id


\n"; + } + +$ADD='3111'; # go to in-group modification below +} + +###################### +# ADD=51111 confirmation before deletion of remote agent record +###################### + +if ($ADD==51111) +{ + echo ""; + + if ( (strlen($remote_agent_id) < 1) or ($LOGdelete_remote_agents < 1) ) + { + echo "
REMOTE AGENT NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Remote_agent_id be at least 2 characters in length\n"; + } + else + { + echo "
REMOTE AGENT DELETION CONFIRMATION: $remote_agent_id\n"; + echo "

Click here to delete remote agent $remote_agent_id


\n"; + } + +$ADD='31111'; # go to remote agent modification below +} + +###################### +# ADD=511111 confirmation before deletion of user group record +###################### + +if ($ADD==511111) +{ + echo ""; + + if ( (strlen($user_group) < 2) or ($LOGdelete_user_groups < 1) ) + { + echo "
USER GROUP NOT DELETED - Please go back and look at the data you entered\n"; + echo "
User_group be at least 2 characters in length\n"; + } + else + { + echo "
USER GROUP DELETION CONFIRMATION: $user_group\n"; + echo "

Click here to delete user group $user_group


\n"; + } + +$ADD='311111'; # go to user group modification below +} + +###################### +# ADD=5111111 confirmation before deletion of script record +###################### + +if ($ADD==5111111) +{ + echo ""; + + if ( (strlen($script_id) < 2) or ($LOGdelete_scripts < 1) ) + { + echo "
SCRIPT NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Script_id must be at least 2 characters in length\n"; + } + else + { + echo "
SCRIPT DELETION CONFIRMATION: $script_id\n"; + echo "

Click here to delete script $script_id


\n"; + } + +$ADD='3111111'; # go to script modification below +} + +###################### +# ADD=51111111 confirmation before deletion of filter record +###################### + +if ($ADD==51111111) +{ + echo ""; + + if ( (strlen($lead_filter_id) < 2) or ($LOGdelete_filters < 1) ) + { + echo "
FILTER NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Filter ID must be at least 2 characters in length\n"; + } + else + { + echo "
FILTER DELETION CONFIRMATION: $lead_filter_id\n"; + echo "

Click here to delete filter $lead_filter_id


\n"; + } + +$ADD='31111111'; # go to filter modification below +} + +###################### +# ADD=511111111 confirmation before deletion of call time record +###################### + +if ($ADD==511111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
CALL TIME NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Call Time ID must be at least 2 characters in length\n"; + } + else + { + echo "
CALL TIME DELETION CONFIRMATION: $call_time_id\n"; + echo "

Click here to delete call time $call_time_id


\n"; + } + +$ADD='311111111'; # go to call time modification below +} + +###################### +# ADD=5111111111 confirmation before deletion of state call time record +###################### + +if ($ADD==5111111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
STATE CALL TIME NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Call Time ID must be at least 2 characters in length\n"; + } + else + { + echo "
STATE CALL TIME DELETION CONFIRMATION: $call_time_id\n"; + echo "

Click here to delete state call time $call_time_id


\n"; + } + +$ADD='3111111111'; # go to state call time modification below +} + + +###################### +# ADD=51111111111 confirmation before deletion of phone record +###################### + +if ($ADD==51111111111) +{ + echo ""; + + if ( (strlen($extension) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
PHONE NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Extension be at least 2 characters in length\n"; + echo "
Server IP be at least 7 characters in length\n"; + } + else + { + echo "
PHONE DELETION CONFIRMATION: $extension - $server_ip\n"; + echo "

Click here to delete phone $extension - $server_ip


\n"; + } +$ADD='31111111111'; # go to phone modification below +} + + +###################### +# ADD=511111111111 confirmation before deletion of server record +###################### + +if ($ADD==511111111111) +{ + echo ""; + + if ( (strlen($server_id) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
SERVER NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Server ID be at least 2 characters in length\n"; + echo "
Server IP be at least 7 characters in length\n"; + } + else + { + echo "
SERVER DELETION CONFIRMATION: $server_id - $server_ip\n"; + echo "

Click here to delete phone $server_id - $server_ip


\n"; + } +$ADD='311111111111'; # go to server modification below +} + + +###################### +# ADD=5111111111111 confirmation before deletion of conference record +###################### + +if ($ADD==5111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
CONFERENCE NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Conference must be at least 2 characters in length\n"; + echo "
Server IP be at least 7 characters in length\n"; + } + else + { + echo "
CONFERENCE DELETION CONFIRMATION: $conf_exten - $server_ip\n"; + echo "

Click here to delete phone $conf_exten - $server_ip


\n"; + } +$ADD='3111111111111'; # go to conference modification below +} + + +###################### +# ADD=51111111111111 confirmation before deletion of vicidial conference record +###################### + +if ($ADD==51111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
VICIDIAL CONFERENCE NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Conference must be at least 2 characters in length\n"; + echo "
Server IP be at least 7 characters in length\n"; + } + else + { + echo "
VICIDIAL CONFERENCE DELETION CONFIRMATION: $conf_exten - $server_ip\n"; + echo "

Click here to delete phone $conf_exten - $server_ip


\n"; + } +$ADD='31111111111111'; # go to vicidial conference modification below +} + + + +###################################################################################################### +###################################################################################################### +####### 6 series, delete records +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=6 delete user record +###################### + +if ($ADD==6) +{ + echo ""; + + if ( ( strlen($user) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_users < 1) ) + { + echo "
USER NOT DELETED - Please go back and look at the data you entered\n"; + echo "
User be at least 2 characters in length\n"; + } + else + { + $stmtA="DELETE from vicidial_users where user='$user' limit 1;"; + $rslt=mysql_query($stmtA, $link); + + $stmt="DELETE from vicidial_campaign_agents where user='$user';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_inbound_group_agents where user='$user';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING USER!!!!|$PHP_AUTH_USER|$ip|$user|$stmtA|$stmt|\n"); + fclose($fp); + } + echo "
USER DELETION COMPLETED: $user\n"; + echo "

\n"; + } + +$ADD='0'; # go to user list +} + +###################### +# ADD=61 delete campaign record +###################### + +if ($ADD==61) +{ + echo ""; + + if ( ( strlen($campaign_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_campaigns < 1) ) + { + echo "
CAMPAIGN NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Campaign_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_campaigns where campaign_id='$campaign_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_agents where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_live_agents where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_statuses where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_hotkeys where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_callbacks where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_stats where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_lead_recycle where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_server_stats where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_server_trunks where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_pause_codes where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaigns_list_mix where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
REMOVING LIST HOPPER LEADS FROM OLD CAMPAIGN HOPPER ($campaign_id)\n"; + $stmt="DELETE from vicidial_hopper where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!DELETING CAMPAIGN!|$PHP_AUTH_USER|$ip|campaign_id='$campaign_id'|\n"); + fclose($fp); + } + echo "
CAMPAIGN DELETION COMPLETED: $campaign_id\n"; + echo "

\n"; + } + +$ADD='10'; # go to campaigns list +} + +###################### +# ADD=62 Logout all agents from a campaign +###################### + +if ($ADD==62) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
AGENTS NOT LOGGED OUT OF CAMPAIGN - Please go back and look at the data you entered\n"; + echo "
Campaign_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_live_agents where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!AGENT LOGOUT!!!!!!|$PHP_AUTH_USER|$ip|campaign_id='$campaign_id'|\n"); + fclose($fp); + } + echo "
AGENT LOGOUT COMPLETED: $campaign_id\n"; + echo "

\n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD='31'; # go to campaign modification below +} + + +###################### +# ADD=63 Emergency VDAC Jam Clear +###################### + +if ($ADD==63) +{ + if ($LOGmodify_campaigns==1) + { + if (eregi('IN',$stage)) + {$group_id=$campaign_id;} + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
VDAC NOT CLEARED FOR CAMPAIGN - Please go back and look at the data you entered\n"; + echo "
Campaign_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_auto_calls where status='LIVE' and campaign_id='$campaign_id' order by call_time limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|EMERGENCY VDAC CLEAR|$PHP_AUTH_USER|$ip|campaign_id='$campaign_id'|\n"); + fclose($fp); + } + echo "
LAST VDAC RECORD CLEARED FOR CAMPAIGN: $campaign_id\n"; + echo "

\n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +# go to campaign modification below +if (eregi('IN',$stage)) + {$ADD='3111';} +else + {$ADD='31';} +} + + +###################### +# ADD=65 delete campaign lead recycle in the system +###################### + +if ($ADD==65) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
CAMPAIGN LEAD RECYCLE NOT DELETED - Please go back and look at the data you entered\n"; + echo "
status must be between 1 and 6 characters in length\n"; + echo "
attempt delay must be at least 120 seconds\n"; + echo "
maximum attempts must be from 1 to 10\n"; + } + else + { + echo "
CAMPAIGN LEAD RECYCLE DELETED: $campaign_id - $status - $attempt_delay\n"; + + $stmt="DELETE FROM vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE LEAD RECYCLE |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$SUB=25; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=66 delete auto alt dial status from the campaign +###################### + +if ($ADD==66) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + {echo "
AUTO ALT DIAL STATUS NOT DELETED - this auto alt dial status is not in this campaign\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
AUTO ALT DIAL STATUS NOT DELETED - Please go back and look at the data you entered\n"; + echo "
status must be between 1 and 6 characters in length\n"; + } + else + { + echo "
AUTO ALT DIAL STATUS DELETED: $campaign_id - $status\n"; + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + $auto_alt_dial_statuses = eregi_replace(" $status "," ",$row[0]); + $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE AUTALTDIALSTTUS|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$SUB=26; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=67 delete agent pause code in the system +###################### + +if ($ADD==67) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) ) + { + echo "
CAMPAIGN PAUSE CODE NOT DELETED - Please go back and look at the data you entered\n"; + echo "
pause code must be between 1 and 6 characters in length\n"; + } + else + { + echo "
CAMPAIGN PAUSE CODE DELETED: $campaign_id - $pause_code\n"; + + $stmt="DELETE FROM vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE AGENT PAUSECODE|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$SUB=27; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=68 remove campaign dial status +###################### + +if ($ADD==68) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + {echo "
CAMPAIGN DIAL STATUS NOT REMOVED - this dial status is not selected for this campaign\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
CAMPAIGN DIAL STATUS NOT REMOVED - Please go back and look at the data you entered\n"; + echo "
status must be between 1 and 6 characters in length\n"; + } + else + { + echo "
CAMPAIGN DIAL STATUS REMOVED: $campaign_id - $status\n"; + + $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + $dial_statuses = eregi_replace(" $status "," ",$row[0]); + $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DIAL STATUS REMOVED |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +#$SUB=28; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=611 delete list record and all leads within it +###################### + +if ($ADD==611) +{ + echo ""; + + if ( ( strlen($list_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_lists < 1) ) + { + echo "
LIST NOT DELETED - Please go back and look at the data you entered\n"; + echo "
List_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_lists where list_id='$list_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + echo "
REMOVING LIST HOPPER LEADS FROM OLD CAMPAIGN HOPPER ($list_id)\n"; + $stmt="DELETE from vicidial_hopper where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
REMOVING LIST LEADS FROM VICIDIAL_LIST TABLE\n"; + $stmt="DELETE from vicidial_list where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING LIST!!!!|$PHP_AUTH_USER|$ip|list_id='$list_id'|\n"); + fclose($fp); + } + echo "
LIST DELETION COMPLETED: $list_id\n"; + echo "

\n"; + } + +$ADD='100'; # go to lists list +} + +###################### +# ADD=6111 delete in-group record +###################### + +if ($ADD==6111) +{ + echo ""; + + if ( (strlen($group_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_ingroups < 1) ) + { + echo "
IN-GROUP NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Group_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_inbound_groups where group_id='$group_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_inbound_group_agents where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_live_inbound_agents where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING IN-GROUP!!|$PHP_AUTH_USER|$ip|group_id='$group_id'|\n"); + fclose($fp); + } + echo "
IN-GROUP DELETION COMPLETED: $group_id\n"; + echo "

\n"; + } + +$ADD='1000'; # go to in-group list +} + +###################### +# ADD=61111 delete remote agent record +###################### + +if ($ADD==61111) +{ + echo ""; + + if ( (strlen($remote_agent_id) < 1) or ($CoNfIrM != 'YES') or ($LOGdelete_remote_agents < 1) ) + { + echo "
REMOTE AGENT NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Remote_agent_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_remote_agents where remote_agent_id='$remote_agent_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING RMTAGENT!!|$PHP_AUTH_USER|$ip|remote_agent_id='$remote_agent_id'|\n"); + fclose($fp); + } + echo "
REMOTE AGENT DELETION COMPLETED: $remote_agent_id\n"; + echo "

\n"; + } + +$ADD='10000'; # go to remote agents list +} + +###################### +# ADD=611111 delete user group record +###################### + +if ($ADD==611111) +{ + echo ""; + + if ( (strlen($user_group) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_user_groups < 1) ) + { + echo "
USER GROUP NOT DELETED - Please go back and look at the data you entered\n"; + echo "
User_group be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_user_groups where user_group='$user_group' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING USRGROUP!!|$PHP_AUTH_USER|$ip|user_group='$user_group'|\n"); + fclose($fp); + } + echo "
USER GROUP DELETION COMPLETED: $user_group\n"; + echo "

\n"; + } + +$ADD='100000'; # go to user group list +} + +###################### +# ADD=6111111 delete script record +###################### + +if ($ADD==6111111) +{ + echo ""; + + if ( (strlen($script_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_scripts < 1) ) + { + echo "
SCRIPT NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Script_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_scripts where script_id='$script_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING SCRIPT!!!!|$PHP_AUTH_USER|$ip|script_id='$script_id'|\n"); + fclose($fp); + } + echo "
SCRIPT DELETION COMPLETED: $script_id\n"; + echo "

\n"; + } + +$ADD='1000000'; # go to script list +} + + +###################### +# ADD=61111111 delete filter record +###################### + +if ($ADD==61111111) +{ + echo ""; + + if ( (strlen($lead_filter_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_filters < 1) ) + { + echo "
FILTER NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Filter ID must be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_lead_filters where lead_filter_id='$lead_filter_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING FILTER!!!!|$PHP_AUTH_USER|$ip|lead_filter_id='$lead_filter_id'|\n"); + fclose($fp); + } + echo "
FILTER DELETION COMPLETED: $lead_filter_id\n"; + echo "

\n"; + } + +$ADD='10000000'; # go to filter list +} + + +###################### +# ADD=611111111 delete call times record +###################### + +if ($ADD==611111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
CALL TIME NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Call Time ID must be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_call_times where call_time_id='$call_time_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING CALL TIME!|$PHP_AUTH_USER|$ip|call_time_id='$call_time_id'|\n"); + fclose($fp); + } + echo "
CALL TIME DELETION COMPLETED: $call_time_id\n"; + echo "

\n"; + } + +$ADD='100000000'; # go to call times list +} + + +###################### +# ADD=6111111111 delete state call times record +###################### + +if ($ADD==6111111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
STATE CALL TIME NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Call Time ID must be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_state_call_times where state_call_time_id='$call_time_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT call_time_id,ct_state_call_times from vicidial_call_times where ct_state_call_times LIKE \"%|$call_time_id|%\" order by call_time_id;"; + $rslt=mysql_query($stmt, $link); + $sct_to_print = mysql_num_rows($rslt); + $sct_list=''; + + $o=0; + while ($sct_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $sct_ids[$o] = "$rowx[0]"; + $sct_states[$o] = "$rowx[1]"; + $o++; + } + $o=0; + + while ($sct_to_print > $o) { + $sct_states[$o] = eregi_replace("\|$call_time_id\|",'|',$sct_states[$o]); + $stmt="UPDATE vicidial_call_times set ct_state_call_times='$sct_states[$o]' where call_time_id='$sct_ids[$o]';"; + $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + echo "State Rule Removed: $sct_ids[$o]
\n"; + $o++; + } + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING CALL TIME!|$PHP_AUTH_USER|$ip|state_call_time_id='$call_time_id'|\n"); + fclose($fp); + } + echo "
STATE CALL TIME DELETION COMPLETED: $call_time_id\n"; + echo "

\n"; + } + +$ADD='1000000000'; # go to call times list +} + + +###################### +# ADD=61111111111 delete phone record +###################### + +if ($ADD==61111111111) +{ + echo ""; + + if ( (strlen($extension) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
PHONE NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Extension be at least 2 characters in length\n"; + echo "
Server IP be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from phones where extension='$extension' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING PHONE!!!|$PHP_AUTH_USER|$ip|extension='$extension'|server_ip='$server_ip'|\n"); + fclose($fp); + } + echo "
PHONE DELETION COMPLETED: $extension - $server_ip\n"; + echo "

\n"; + } +$ADD='10000000000'; # go to phone list +} + + +###################### +# ADD=611111111111 delete server record +###################### + +if ($ADD==611111111111) +{ + echo ""; + + if ( (strlen($server_id) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
SERVER NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Server ID be at least 2 characters in length\n"; + echo "
Server IP be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from servers where server_id='$server_id' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING SERVER!!|$PHP_AUTH_USER|$ip|server_id='$server_id'|server_ip='$server_ip'|\n"); + fclose($fp); + } + echo "
SERVER DELETION COMPLETED: $server_id - $server_ip\n"; + echo "

\n"; + } +$ADD='100000000000'; # go to server list +} + + +###################### +# ADD=621111111111 delete vicidial server trunk record in the system +###################### + +if ($ADD==621111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) ) + { + echo "
VICIDIAL SERVER TRUNK RECORD NOT DELETED - Please go back and look at the data you entered\n"; + echo "
campaign must be between 3 and 8 characters in length\n"; + echo "
server_ip delay must be at least 7 characters\n"; + } + else + { + echo "
VICIDIAL SERVER TRUNK RECORD DELETED: $campaign_id - $server_ip\n"; + + $stmt="DELETE FROM vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE SERVER TRUNK |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=311111111111; # go to server modification form below +} + + +###################### +# ADD=6111111111111 delete conference record +###################### + +if ($ADD==6111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
CONFERENCE NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Conference be at least 2 characters in length\n"; + echo "
Server IP be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from conferences where conf_exten='$conf_exten' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING CONF!!!!|$PHP_AUTH_USER|$ip|conf_exten='$conf_exten'|server_ip='$server_ip'|\n"); + fclose($fp); + } + echo "
CONFERENCE DELETION COMPLETED: $conf_exten - $server_ip\n"; + echo "

\n"; + } +$ADD='1000000000000'; # go to conference list +} + + +###################### +# ADD=61111111111111 delete vicidial conference record +###################### + +if ($ADD==61111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
VICIDIAL CONFERENCE NOT DELETED - Please go back and look at the data you entered\n"; + echo "
Conference be at least 2 characters in length\n"; + echo "
Server IP be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING CONF!!!!|$PHP_AUTH_USER|$ip|conf_exten='$conf_exten'|server_ip='$server_ip'|\n"); + fclose($fp); + } + echo "
VICIDIAL CONFERENCE DELETION COMPLETED: $conf_exten - $server_ip\n"; + echo "

\n"; + } +$ADD='10000000000000'; # go to vicidial conference list +} + + + + + +###################################################################################################### +###################################################################################################### +####### 3 series, record modification forms +###################################################################################################### +###################################################################################################### + + + + +###################### +# ADD=3 modify user info in the system +###################### + +if ($ADD==3) +{ + if ($LOGmodify_users==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $user_level = $row[4]; + $user_group = $row[5]; + $phone_login = $row[6]; + $phone_pass = $row[7]; + $delete_users = $row[8]; + $delete_user_groups = $row[9]; + $delete_lists = $row[10]; + $delete_campaigns = $row[11]; + $delete_ingroups = $row[12]; + $delete_remote_agents = $row[13]; + $load_leads = $row[14]; + $campaign_detail = $row[15]; + $ast_admin_access = $row[16]; + $ast_delete_phones = $row[17]; + $delete_scripts = $row[18]; + $modify_leads = $row[19]; + $hotkeys_active = $row[20]; + $change_agent_campaign =$row[21]; + $agent_choose_ingroups =$row[22]; + $scheduled_callbacks = $row[24]; + $agentonly_callbacks = $row[25]; + $agentcall_manual = $row[26]; + $vicidial_recording = $row[27]; + $vicidial_transfers = $row[28]; + $delete_filters = $row[29]; + $alter_agent_interface_options =$row[30]; + $closer_default_blended = $row[31]; + $delete_call_times = $row[32]; + $modify_call_times = $row[33]; + $modify_users = $row[34]; + $modify_campaigns = $row[35]; + $modify_lists = $row[36]; + $modify_scripts = $row[37]; + $modify_filters = $row[38]; + $modify_ingroups = $row[39]; + $modify_usergroups = $row[40]; + $modify_remoteagents = $row[41]; + $modify_servers = $row[42]; + $view_reports = $row[43]; + $vicidial_recording_override = $row[44]; + $alter_custdata_override = $row[45]; + + if ( ($user_level >= $LOGuser_level) and ($LOGuser_level < 9) ) + { + echo "
You do not have permissions to modify this user: $row[1]\n"; + } + else + { + echo "
MODIFY A USERS RECORD: $row[1]\n"; + if ($LOGuser_level > 8) + {echo "\n";} + else + { + if ($LOGalter_agent_interface == "1") + {echo "\n";} + else + {echo "\n";} + } + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + if ( ($LOGuser_level > 8) or ($LOGalter_agent_interface == "1") ) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + if ($LOGuser_level > 8) + { + echo "\n"; + +#9BB9FB +#B9CBFD + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + echo "\n"; + echo "
User Number: $row[1]$NWB#vicidial_users-user$NWE
Password: $NWB#vicidial_users-pass$NWE
Full Name: $NWB#vicidial_users-full_name$NWE
User Level: $NWB#vicidial_users-user_level$NWE
User Group: $NWB#vicidial_users-user_group$NWE
Phone Login: $NWB#vicidial_users-phone_login$NWE
Phone Pass: $NWB#vicidial_users-phone_pass$NWE
AGENT INTERFACE OPTIONS:
Agent Choose Ingroups: $NWB#vicidial_users-agent_choose_ingroups$NWE
Hot Keys Active: $NWB#vicidial_users-hotkeys_active$NWE
Scheduled Callbacks: $NWB#vicidial_users-scheduled_callbacks$NWE
Agent-Only Callbacks: $NWB#vicidial_users-agentonly_callbacks$NWE
Agent Call Manual: $NWB#vicidial_users-agentcall_manual$NWE
Vicidial Recording: $NWB#vicidial_users-vicidial_recording$NWE
Vicidial Transfers: $NWB#vicidial_users-vicidial_transfers$NWE
Closer Default Blended: $NWB#vicidial_users-closer_default_blended$NWE
VICIDIAL Recording Override: $NWB#vicidial_users-vicidial_recording_override$NWE
Agent Alter Customer Data Override: $NWB#vicidial_users-alter_custdata_override$NWE
Campaign Ranks: $NWB#vicidial_users-campaign_ranks$NWE
\n"; + echo "\n"; + echo "$RANKcampaigns_list"; + echo "
\n"; + echo "
Inbound Groups: $NWB#vicidial_users-closer_campaigns$NWE
\n"; + echo "\n"; + echo "$RANKgroups_list"; + echo "
\n"; + echo "
ADMIN INTERFACE OPTIONS:
View Reports: $NWB#vicidial_users-view_reports$NWE
Alter Agent Interface Options: $NWB#vicidial_users-alter_agent_interface_options$NWE
Modify Users: $NWB#vicidial_users-modify_sections$NWE
Change Agent Campaign: $NWB#vicidial_users-change_agent_campaign$NWE
Delete Users: $NWB#vicidial_users-delete_users$NWE
Modify User Groups: $NWB#vicidial_users-modify_sections$NWE
Delete User Groups: $NWB#vicidial_users-delete_user_groups$NWE
Modify Lists: $NWB#vicidial_users-modify_sections$NWE
Delete Lists: $NWB#vicidial_users-delete_lists$NWE
Load Leads: $NWB#vicidial_users-load_leads$NWE
Modify Leads: $NWB#vicidial_users-modify_leads$NWE
Modify Campaigns: $NWB#vicidial_users-modify_sections$NWE
Campaign Detail: $NWB#vicidial_users-campaign_detail$NWE
Delete Campaigns: $NWB#vicidial_users-delete_campaigns$NWE
Modify In-Groups: $NWB#vicidial_users-modify_sections$NWE
Delete In-Groups: $NWB#vicidial_users-delete_ingroups$NWE
Modify Remote Agents: $NWB#vicidial_users-modify_sections$NWE
Delete Remote Agents: $NWB#vicidial_users-delete_remote_agents$NWE
Modify Scripts: $NWB#vicidial_users-modify_sections$NWE
Delete Scripts: $NWB#vicidial_users-delete_scripts$NWE
Modify Filters: $NWB#vicidial_users-modify_sections$NWE
Delete Filters: $NWB#vicidial_users-delete_filters$NWE
AGC Admin Access: $NWB#vicidial_users-ast_admin_access$NWE
AGC Delete Phones: $NWB#vicidial_users-ast_delete_phones$NWE
Modify Call Times: $NWB#vicidial_users-modify_call_times$NWE
Delete Call Times: $NWB#vicidial_users-delete_call_times$NWE
Modify Servers: $NWB#vicidial_users-modify_sections$NWE
\n"; + + if ($LOGdelete_users > 0) + { + echo "

DELETE THIS USER\n"; + } + echo "

Click here for user time sheet\n"; + echo "

Click here for user status\n"; + echo "

Click here for user stats\n"; + echo "

Click here for user CallBack Holds\n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=31 modify campaign info in the system - Detail view +###################### + +if ( ($LOGcampaign_detail < 1) and ($ADD==31) ) {$ADD=34;} # send to Basic if not allowed + +if ( ($ADD==31) and ( (!eregi("$campaign_id",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) ) + {$ADD=30;} # send to not allowed screen if not in vicidial_user_groups allowed_campaigns list + +if ($ADD==31) +{ + if ($LOGmodify_campaigns==1) + { + if ($stage=='show_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='Y' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + if ($stage=='hide_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='N' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT * from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $campaign_name = $row[1]; + $dial_status_a = $row[3]; + $dial_status_b = $row[4]; + $dial_status_c = $row[5]; + $dial_status_d = $row[6]; + $dial_status_e = $row[7]; + $lead_order = $row[8]; + $allow_closers = $row[12]; + $hopper_level = $row[13]; + $auto_dial_level = $row[14]; + $next_agent_call = $row[15]; + $local_call_time = $row[16]; + $voicemail_ext = $row[17]; + $dial_timeout = $row[18]; + $dial_prefix = $row[19]; + $campaign_cid = $row[20]; + $campaign_vdad_exten = $row[21]; + $campaign_rec_exten = $row[22]; + $campaign_recording = $row[23]; + $campaign_rec_filename = $row[24]; + $script_id = $row[25]; + $get_call_launch = $row[26]; + $am_message_exten = $row[27]; + $amd_send_to_vmx = $row[28]; + $xferconf_a_dtmf = $row[29]; + $xferconf_a_number = $row[30]; + $xferconf_b_dtmf = $row[31]; + $xferconf_b_number = $row[32]; + $alt_number_dialing = $row[33]; + $scheduled_callbacks = $row[34]; + $lead_filter_id = $row[35]; + if ($lead_filter_id=='') {$lead_filter_id='NONE';} + $drop_call_seconds = $row[36]; + $safe_harbor_message = $row[37]; + $safe_harbor_exten = $row[38]; + $display_dialable_count = $row[39]; + $wrapup_seconds = $row[40]; + $wrapup_message = $row[41]; + # $closer_campaigns = $row[42]; + $use_internal_dnc = $row[43]; + $allcalls_delay = $row[44]; + $omit_phone_code = $row[45]; + $dial_method = $row[46]; + $available_only_ratio_tally = $row[47]; + $adaptive_dropped_percentage = $row[48]; + $adaptive_maximum_level = $row[49]; + $adaptive_latest_server_time = $row[50]; + $adaptive_intensity = $row[51]; + $adaptive_dl_diff_target = $row[52]; + $concurrent_transfers = $row[53]; + $auto_alt_dial = $row[54]; + $auto_alt_dial_statuses = $row[55]; + $agent_pause_codes_active = $row[56]; + $campaign_description = $row[57]; + $campaign_changedate = $row[58]; + $campaign_stats_refresh = $row[59]; + $campaign_logindate = $row[60]; + $dial_statuses = $row[61]; + $disable_alter_custdata = $row[62]; + $no_hopper_leads_logins = $row[63]; + $list_order_mix = $row[64]; + $campaign_allow_inbound = $row[65]; + $manual_dial_list_id = $row[66]; + $default_xfer_group = $row[67]; + + if (ereg("DISABLED",$list_order_mix)) + {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} + else + {$DEFlistDISABLE = 'disabled'; $DEFstatusDISABLED=1;} + + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE'"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $mixes_list="\n"; + $mixname_list["DISABLED"] = "DISABLED"; + } + else + { + ##### get list_mix listings for dynamic pulldown + $stmt="SELECT vcl_id,vcl_name from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE' limit 1"; + $rslt=mysql_query($stmt, $link); + $mixes_to_print = mysql_num_rows($rslt); + $mixes_list="\n"; + + $o=0; + while ($mixes_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $mixes_list .= "\n"; + $mixname_list["ACTIVE"] = "$rowx[0] - $rowx[1]"; + $o++; + } + } + + ##### get status listings for dynamic pulldown + $stmt="SELECT * from vicidial_statuses order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $statuses_list=''; + + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + $o++; + } + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $Cstatuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($Cstatuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + $o++; + } + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) -1); + + ##### get in-groups listings for dynamic pulldown list menu + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $xfer_groupsSQL order by group_id"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "\n";} + else + {$Xgroups_menu .= "\n";} + + + if ($SUB<1) {$camp_detail_color=$subcamp_color;} + else {$camp_detail_color=$campaigns_color;} + if ($SUB==22) {$camp_statuses_color=$subcamp_color;} + else {$camp_statuses_color=$campaigns_color;} + if ($SUB==23) {$camp_hotkeys_color=$subcamp_color;} + else {$camp_hotkeys_color=$campaigns_color;} + if ($SUB==25) {$camp_recycle_color=$subcamp_color;} + else {$camp_recycle_color=$campaigns_color;} + if ($SUB==26) {$camp_autoalt_color=$subcamp_color;} + else {$camp_autoalt_color=$campaigns_color;} + if ($SUB==27) {$camp_pause_color=$subcamp_color;} + else {$camp_pause_color=$campaigns_color;} + if ($SUB==29) {$camp_listmix_color=$subcamp_color;} + else {$camp_listmix_color=$campaigns_color;} + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "
$row[0]: Basic Detail StatusesHotKeysLead RecyclingAuto Alt DialPause CodesList Mix Real-Time
\n"; + + echo "
\n"; + echo ""; + + echo "
\n"; + + if ($SUB < 1) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($Ds_to_print > $o) + { + $o++; + $Dstatus = $Dstatuses[$o]; + + echo "\n"; + } + else + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "REMOVE\n"; + } + } + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + + + echo "\n"; + + echo "\n"; + + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + if ($campaign_allow_inbound == 'Y') + { + echo "\n"; + } + + echo "\n"; + + if ($allow_closers == 'Y') + { + echo "\n"; + } + + echo "\n"; + echo "
Campaign ID: $row[0]$NWB#vicidial_campaigns-campaign_id$NWE
Campaign Name: $NWB#vicidial_campaigns-campaign_name$NWE
Campaign Description: $NWB#vicidial_campaigns-campaign_description$NWE
Campaign Change Date: $campaign_changedate   $NWB#vicidial_campaigns-campaign_changedate$NWE
Campaign Login Date: $campaign_logindate   $NWB#vicidial_campaigns-campaign_logindate$NWE
Active: $NWB#vicidial_campaigns-active$NWE
Park Extension: - Filename: $NWB#vicidial_campaigns-park_ext$NWE
Web Form: $NWB#vicidial_campaigns-web_form_address$NWE
Allow Closers: $NWB#vicidial_campaigns-allow_closers$NWE
Allow Inbound and Blended: $NWB#vicidial_campaigns-campaign_allow_inbound$NWE
Dial Status $o: \n"; + + if ($DEFstatusDISABLED > 0) + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "REMOVE
Add A Dial Status:   \n"; + echo "     $NWB#vicidial_campaigns-dial_status$NWE
List Order: $NWB#vicidial_campaigns-lead_order$NWE
List Mix: $NWB#vicidial_campaigns-list_order_mix$NWE
Lead Filter: $NWB#vicidial_campaigns-lead_filter_id$NWE
Hopper Level: $NWB#vicidial_campaigns-hopper_level$NWE
Force Reset of Hopper: $NWB#vicidial_campaigns-force_reset_hopper$NWE
Dial Method: $NWB#vicidial_campaigns-dial_method$NWE
Auto Dial Level: (0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE       ADAPT OVERRIDE
Available Only Tally: $NWB#vicidial_campaigns-available_only_ratio_tally$NWE
Drop Percentage Limit: % $NWB#vicidial_campaigns-adaptive_dropped_percentage$NWE
Maximum Adapt Dial Level: number only $NWB#vicidial_campaigns-adaptive_maximum_level$NWE
Latest Server Time: 4 digits only $NWB#vicidial_campaigns-adaptive_latest_server_time$NWE
Adapt Intensity Modifier: $NWB#vicidial_campaigns-adaptive_intensity$NWE
Dial Level Difference Target: $NWB#vicidial_campaigns-adaptive_dl_diff_target$NWE
Concurrent Transfers: $NWB#vicidial_campaigns-concurrent_transfers$NWE
Auto Alt-Number Dialing: $NWB#vicidial_campaigns-auto_alt_dial$NWE
Next Agent Call: $NWB#vicidial_campaigns-next_agent_call$NWE
Local Call Time: $NWB#vicidial_campaigns-local_call_time$NWE
Dial Timeout: in seconds$NWB#vicidial_campaigns-dial_timeout$NWE
Dial Prefix: for 91NXXNXXXXXX value would be 9, for no dial prefix use X$NWB#vicidial_campaigns-dial_prefix$NWE
Omit Phone Code: $NWB#vicidial_campaigns-omit_phone_code$NWE
Campaign CallerID: $NWB#vicidial_campaigns-campaign_cid$NWE
Campaign VDAD exten: $NWB#vicidial_campaigns-campaign_vdad_exten$NWE
Campaign Rec exten: $NWB#vicidial_campaigns-campaign_rec_exten$NWE
Campaign Recording: $NWB#vicidial_campaigns-campaign_recording$NWE
Campaign Rec Filename: $NWB#vicidial_campaigns-campaign_rec_filename$NWE
Recording Delay: in seconds$NWB#vicidial_campaigns-allcalls_delay$NWE
Script: $NWB#vicidial_campaigns-campaign_script$NWE
Get Call Launch: $NWB#vicidial_campaigns-get_call_launch$NWE
Answering Machine Message: $NWB#vicidial_campaigns-am_message_exten$NWE
AMD Send to VM exten: $NWB#vicidial_campaigns-amd_send_to_vmx$NWE
Transfer-Conf DTMF 1: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
Transfer-Conf Number 1: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
Transfer-Conf DTMF 2: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
Transfer-Conf Number 2: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
Alt Number Dialing: $NWB#vicidial_campaigns-alt_number_dialing$NWE
Scheduled Callbacks: $NWB#vicidial_campaigns-scheduled_callbacks$NWE
Drop Call Seconds: $NWB#vicidial_campaigns-drop_call_seconds$NWE
Voicemail: $NWB#vicidial_campaigns-voicemail_ext$NWE
Use Safe Harbor Message: $NWB#vicidial_campaigns-safe_harbor_message$NWE
Safe Harbor Exten: $NWB#vicidial_campaigns-safe_harbor_exten$NWE
Wrap Up Seconds: $NWB#vicidial_campaigns-wrapup_seconds$NWE
Wrap Up Message: $NWB#vicidial_campaigns-wrapup_message$NWE
Use Internal DNC List: $NWB#vicidial_campaigns-use_internal_dnc$NWE
Agent Pause Codes Active: $NWB#vicidial_campaigns-agent_pause_codes_active$NWE
Campaign Stats Refresh: $NWB#vicidial_campaigns-campaign_stats_refresh$NWE
Disable Alter Customer Data: $NWB#vicidial_campaigns-disable_alter_custdata$NWE
Allow No-Hopper-Leads Logins: $NWB#vicidial_campaigns-no_hopper_leads_logins$NWE
Manual Dial List ID: $NWB#vicidial_campaigns-manual_dial_list_id$NWE
Allowed Inbound Groups:
"; + echo " $NWB#vicidial_campaigns-closer_campaigns$NWE
\n"; + echo "$groups_list"; + echo "
Default Transfer Group: $NWB#vicidial_campaigns-default_xfer_group$NWE
Allowed Transfer Groups:
"; + echo " $NWB#vicidial_campaigns-xfer_groups$NWE
\n"; + echo "$XFERgroups_list"; + echo "
\n"; + + echo "
\n"; + echo "
LISTS WITHIN THIS CAMPAIGN:   $NWB#vicidial_campaign_lists$NWE
\n"; + echo "\n"; + echo "\n"; + + $active_lists = 0; + $inactive_lists = 0; + $stmt="SELECT list_id,active,list_name from vicidial_lists where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $o++; + if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_lists++;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + echo "
LIST IDLIST NAMEACTIVE
$rowx[0]$rowx[2]$rowx[1]

\n"; + echo "
\n"; + + $filterSQL = $filtersql_list[$lead_filter_id]; + $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); + if (strlen($filterSQL)>4) + {$fSQL = "and $filterSQL";} + else + {$fSQL = '';} + + $camp_lists = eregi_replace(".$","",$camp_lists); + echo "This campaign has $active_lists active lists and $inactive_lists inactive lists

\n"; + + if ($display_dialable_count == 'Y') + { + ### call function to calculate and print dialable leads + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$fSQL); + echo " - HIDE

"; + } + else + { + echo "Popup Dialable Leads Count"; + echo " - SHOW

"; + } + + + + + + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id='$campaign_id' and status IN('READY')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $hopper_leads = "$rowx[0]"; + + echo "This campaign has $hopper_leads leads in the dial hopper

\n"; + echo "Click here to see what leads are in the hopper right now

\n"; + echo "Click here to see all CallBack Holds in this campaign

\n"; + echo "Click here to see a VDAD report for this campaign

\n"; + echo "
\n"; + } + + + + if ($SUB==22) + { + + ##### get status category listings for dynamic pulldown + $stmt="SELECT vsc_id,vsc_name from vicidial_status_categories order by vsc_id desc"; + $rslt=mysql_query($stmt, $link); + $cats_to_print = mysql_num_rows($rslt); + $cats_list=""; + + $o=0; + while ($cats_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $cats_list .= "\n"; + $catsname_list["$rowx[0]"] = substr($rowx[1],0,20); + $o++; + } + + + echo "
\n"; + echo "
CUSTOM STATUSES WITHIN THIS CAMPAIGN:   $NWB#vicidial_campaign_statuses$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AScategory = $rowx[5]; + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
STATUSDESCRIPTIONSELECTABLEHUMAN ANSWERDELETE
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
\n"; + echo "\n"; + echo "         \n"; + echo "   \n"; + echo "DELETE\n"; + echo "
\n"; + + echo "
ADD NEW CUSTOM CAMPAIGN STATUS
\n"; + echo "\n"; + echo "\n"; + echo "Status:   \n"; + echo "Description:   \n"; + echo "Selectable:   \n"; + echo "Human Answer:   \n"; + echo "Category: \n"; + echo "  
\n"; + echo "
\n"; + + echo "

\n"; + } + + + if ($SUB==23) + { + echo "
CUSTOM HOT KEYS WITHIN THIS CAMPAIGN:   $NWB#vicidial_campaign_hotkeys$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_campaign_hotkeys where campaign_id='$campaign_id' order by hotkey"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + + } + + echo "
HOT KEYSTATUSDESCRIPTIONDELETE
$rowx[1]$rowx[0]$rowx[2]DELETE
\n"; + + echo "
ADD NEW CUSTOM CAMPAIGN HOT KEY
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Hotkey:   \n"; + echo "Status:   \n"; + echo "
\n"; + echo "

\n"; + } + + + if ($SUB==25) + { + echo "

LEAD RECYCLING WITHIN THIS CAMPAIGN:   $NWB#vicidial_lead_recycle$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_lead_recycle where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $recycle_to_print = mysql_num_rows($rslt); + $o=0; + while ($recycle_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
STATUSATTEMPT DELAYATTEMPT MAXIMUMACTIVE DELETE
$rowx[2]
\n"; + echo "\n"; + echo "\n"; + echo "
DELETE
\n"; + + echo "
ADD NEW CAMPAIGN LEAD RECYCLE
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Status:   \n"; + echo "Attempt Delay: \n"; + echo "Attempt Maximum: \n"; + echo "
\n"; + + echo "

\n"; + } + + + if ($SUB==26) + { + echo "

AUTO ALT NUMBER DIALING FOR THIS CAMPAIGN:   $NWB#vicidial_auto_alt_dial_statuses$NWE
\n"; + echo "\n"; + echo "\n"; + + $auto_alt_dial_statuses = preg_replace("/ -$/","",$auto_alt_dial_statuses); + $AADstatuses = explode(" ", $auto_alt_dial_statuses); + $AADs_to_print = (count($AADstatuses) -1); + + $o=0; + while ($AADs_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + $o++; + + echo "\n"; + echo "\n"; + } + + echo "
STATUSESDELETE
$AADstatuses[$o]DELETE
\n"; + + echo "
ADD NEW AUTO ALT NUMBER DIALING STATUS
\n"; + echo "\n"; + echo "\n"; + echo "Status:   \n"; + echo "
\n"; + + echo "

\n"; + } + + + if ($SUB==27) + { + echo "

AGENT PAUSE CODES FOR THIS CAMPAIGN:   $NWB#vicidial_pause_codes$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_pause_codes where campaign_id='$campaign_id' order by pause_code"; + $rslt=mysql_query($stmt, $link); + $pause_codes_to_print = mysql_num_rows($rslt); + $o=0; + while ($pause_codes_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
PAUSE CODESBILLABLEMODIFYDELETE
$rowx[0]\n"; + echo "\n"; + echo "\n"; + echo "  \n"; + echo "
DELETE
\n"; + + echo "
ADD NEW AGENT PAUSE CODE
\n"; + echo "\n"; + echo "\n"; + echo "Pause Code: \n"; + echo "Pause Code Name: \n"; + echo "   Billable: \n"; + echo "
\n"; + + echo "

\n"; + } + + + if ($SUB < 1) + { + echo "

\n"; + echo "LOG ALL AGENTS OUT OF THIS CAMPAIGN

\n"; + echo "EMERGENCY VDAC CLEAR FOR THIS CAMPAIGN

\n"; + + if ($LOGdelete_campaigns > 0) + { + echo "

DELETE THIS CAMPAIGN\n"; + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=34 modify campaign info in the system - Basic View +###################### + +if ( ($ADD==34) and ( (!eregi("$campaign_id",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) ) + {$ADD=30;} # send to not allowed screen if not in vicidial_user_groups allowed_campaigns list + +if ($ADD==34) +{ + if ($LOGmodify_campaigns==1) + { + if ($stage=='show_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='Y' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + if ($stage=='hide_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='N' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT * from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $dial_status_a = $row[3]; + $dial_status_b = $row[4]; + $dial_status_c = $row[5]; + $dial_status_d = $row[6]; + $dial_status_e = $row[7]; + $lead_order = $row[8]; + $hopper_level = $row[13]; + $auto_dial_level = $row[14]; + $next_agent_call = $row[15]; + $local_call_time = $row[16]; + $voicemail_ext = $row[17]; + $dial_timeout = $row[18]; + $dial_prefix = $row[19]; + $campaign_cid = $row[20]; + $campaign_vdad_exten = $row[21]; + $script_id = $row[25]; + $get_call_launch = $row[26]; + $lead_filter_id = $row[35]; + if ($lead_filter_id=='') {$lead_filter_id='NONE';} + $display_dialable_count = $row[39]; + $dial_method = $row[46]; + $adaptive_intensity = $row[51]; + $campaign_description = $row[57]; + $campaign_changedate = $row[58]; + $campaign_stats_refresh = $row[59]; + $campaign_logindate = $row[60]; + $dial_statuses = $row[61]; + $list_order_mix = $row[64]; + $default_xfer_group = $row[67]; + $campaign_allow_inbound = $row[65]; + $default_xfer_group = $row[67]; + + if (ereg("DISABLED",$list_order_mix)) + {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} + else + {$DEFlistDISABLE = 'disabled'; $DEFstatusDISABLED=1;} + + $stmt="SELECT * from vicidial_statuses order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $statuses_list=''; + + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + $o++; + } + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $Cstatuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($Cstatuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + $o++; + } + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) -1); + + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE'"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $mixes_list="\n"; + $mixname_list["DISABLED"] = "DISABLED"; + } + else + { + ##### get list_mix listings for dynamic pulldown + $stmt="SELECT vcl_id,vcl_name from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE' limit 1"; + $rslt=mysql_query($stmt, $link); + $mixes_to_print = mysql_num_rows($rslt); + $mixes_list="\n"; + + $o=0; + while ($mixes_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $mixes_list .= "\n"; + $mixname_list["ACTIVE"] = "$rowx[0] - $rowx[1]"; + $o++; + } + } + + if ($SUB<1) {$camp_detail_color=$subcamp_color;} + else {$camp_detail_color=$campaigns_color;} + if ($SUB==22) {$camp_statuses_color=$subcamp_color;} + else {$camp_statuses_color=$campaigns_color;} + if ($SUB==23) {$camp_hotkeys_color=$subcamp_color;} + else {$camp_hotkeys_color=$campaigns_color;} + if ($SUB==25) {$camp_recycle_color=$subcamp_color;} + else {$camp_recycle_color=$campaigns_color;} + if ($SUB==26) {$camp_autoalt_color=$subcamp_color;} + else {$camp_autoalt_color=$campaigns_color;} + if ($SUB==27) {$camp_pause_color=$subcamp_color;} + else {$camp_pause_color=$campaigns_color;} + if ($SUB==29) {$camp_listmix_color=$subcamp_color;} + else {$camp_listmix_color=$campaigns_color;} + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "
$row[0]: Basic View Detail View List Mix Real-Time Screen  
\n"; + + if ($SUB < 1) + { + echo "
\n"; + echo ""; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($Ds_to_print > $o) + { + $o++; + $Dstatus = $Dstatuses[$o]; + + echo "\n"; + } + else + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "REMOVE\n"; + } + } + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
Campaign ID: $row[0]$NWB#vicidial_campaigns-campaign_id$NWE
Campaign Name: $NWB#vicidial_campaigns-campaign_name$NWE
Campaign Description: $row[57]$NWB#vicidial_campaigns-campaign_description$NWE
Campaign Change Date: $campaign_changedate   $NWB#vicidial_campaigns-campaign_changedate$NWE
Campaign Login Date: $campaign_logindate   $NWB#vicidial_campaigns-campaign_logindate$NWE
Active: $NWB#vicidial_campaigns-active$NWE
Park Extension: $row[9] - $row[10]$NWB#vicidial_campaigns-park_ext$NWE
Web Form: $row[11]$NWB#vicidial_campaigns-web_form_address$NWE
Allow Closers: $row[12] $NWB#vicidial_campaigns-allow_closers$NWE
Default Transfer Group: $default_xfer_group $NWB#vicidial_campaigns-default_xfer_group$NWE
Allow Inbound and Blended: $campaign_allow_inbound $NWB#vicidial_campaigns-campaign_allow_inbound$NWE
Dial Status $o: \n"; + if ($DEFstatusDISABLED > 0) + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "REMOVE
Add A Dial Status:   \n"; + echo "     $NWB#vicidial_campaigns-dial_status$NWE
List Order: $NWB#vicidial_campaigns-lead_order$NWE
List Mix: $NWB#vicidial_campaigns-list_order_mix$NWE
Lead Filter: $NWB#vicidial_campaigns-lead_filter_id$NWE
Hopper Level: $NWB#vicidial_campaigns-hopper_level$NWE
Force Reset of Hopper: $NWB#vicidial_campaigns-force_reset_hopper$NWE
Dial Method: $NWB#vicidial_campaigns-dial_method$NWE
Auto Dial Level: (0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE
Adapt Intensity Modifier: $NWB#vicidial_campaigns-adaptive_intensity$NWE
Script: $script_id
Get Call Launch: $get_call_launch
\n"; + + echo "
\n"; + echo "
LISTS WITHIN THIS CAMPAIGN:   $NWB#vicidial_campaign_lists$NWE
\n"; + echo "\n"; + echo "\n"; + + $active_lists = 0; + $inactive_lists = 0; + $stmt="SELECT list_id,active,list_name from vicidial_lists where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_lists++;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + + } + + echo "
LIST IDLIST NAMEACTIVE
$rowx[0]$rowx[2]$rowx[1]

\n"; + echo "
\n"; + + $filterSQL = $filtersql_list[$lead_filter_id]; + $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); + if (strlen($filterSQL)>4) + {$fSQL = "and $filterSQL";} + else + {$fSQL = '';} + + $camp_lists = eregi_replace(".$","",$camp_lists); + echo "This campaign has $active_lists active lists and $inactive_lists inactive lists

\n"; + + + if ($display_dialable_count == 'Y') + { + ### call function to calculate and print dialable leads + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$fSQL); + echo " - HIDE

"; + } + else + { + echo "Popup Dialable Leads Count"; + echo " - SHOW

"; + } + + + + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id='$campaign_id' and status IN('READY')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $hopper_leads = "$rowx[0]"; + + echo "This campaign has $hopper_leads leads in the dial hopper

\n"; + echo "Click here to see what leads are in the hopper right now

\n"; + echo "Click here to see all CallBack Holds in this campaign

\n"; + echo "Click here to see a VDAD report for this campaign

\n"; + echo "
\n"; + + echo "
\n"; + + ### list of agent rank or skill-level for this campaign + echo "
\n"; + echo "
AGENT RANKS FOR THIS CAMPAIGN:
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT user,campaign_rank,calls_today from vicidial_campaign_agents where campaign_id='$campaign_id'"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
USER     RANK     CALLS TODAY
$rowx[0]$rowx[1]$rowx[2]

\n"; + + + echo "LOG ALL AGENTS OUT OF THIS CAMPAIGN

\n"; + + + if ($LOGdelete_campaigns > 0) + { + echo "

DELETE THIS CAMPAIGN\n"; + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=31 or 34 and SUB=29 for list mixes +###################### +if ( ( ($ADD==34) or ($ADD==31) ) and ( (!eregi("$campaign_id",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) ) + {$ADD=30;} # send to not allowed screen if not in vicidial_user_groups allowed_campaigns list + +if ( ($ADD==34) or ($ADD==31) ) +{ + if ($LOGmodify_campaigns==1) + { + if ($SUB==29) + { + ##### get list_id listings for dynamic pulldown + $stmt="SELECT list_id,list_name from vicidial_lists where campaign_id='$campaign_id' order by list_id"; + $rslt=mysql_query($stmt, $link); + $mixlists_to_print = mysql_num_rows($rslt); + $mixlists_list=""; + + $o=0; + while ($mixlists_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $mixlists_list .= "\n"; + $mixlistsname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + + echo "

LIST MIXES FOR THIS CAMPAIGN:   $NWB#vicidial_campaigns-list_order_mix$NWE
\n"; + + echo "

Experimental Feature in development!!! NON-FUNCTIONAL
\n"; + + + $stmt="SELECT * from vicidial_campaigns_list_mix where campaign_id='$campaign_id' order by status, vcl_id"; + $rslt=mysql_query($stmt, $link); + $listmixes = mysql_num_rows($rslt); + $o=0; + while ($listmixes > $o) + { + $rowx=mysql_fetch_row($rslt); + $vcl_id=$rowx[0]; + $o++; + + if ($o < 2) + {$tablecolor='bgcolor="#99FF99"'; $bgcolor='bgcolor="#CCFFCC"';} + else + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$tablecolor='bgcolor="#B9CBFD"'; $bgcolor='bgcolor="#9BB9FB"';} + else + {$tablecolor='bgcolor="#9BB9FB"'; $bgcolor='bgcolor="#B9CBFD"';} + } + echo "
\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + } + else + {echo "$rowx[5]\n";} + echo "\n"; + echo "\n"; + +# list_id|order|percent|statuses|:list_id|order|percent|statuses|:... +# 101|1|40| A B NA -|:102|2|25| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -| +# INSERT INTO vicidial_campaigns_list_mix values('TESTMIX','TESTCAMP List Mix','TESTCAMP','101|1|40| A B NA -|:102|2|25| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -|','IN_ORDER','ACTIVE'); +# INSERT INTO vicidial_campaigns_list_mix values('TESTMIX2','TESTCAMP List Mix2','TESTCAMP','101|1|20| A B -|:102|2|45| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -|','IN_ORDER','ACTIVE'); +# INSERT INTO vicidial_campaigns_list_mix values('TESTMIX3','TESTCAMP List Mix3','TESTCAMP','101|1|30| A NA -|:102|2|35| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -|','IN_ORDER','ACTIVE'); + + $MIXentries = $MT; + $MIXentries = explode(":", $rowx[3]); + $Ms_to_print = (count($MIXentries) - 0); + $q=0; + while ($Ms_to_print > $q) + { + $MIXdetails = explode('|', $MIXentries[$q]); + $MIXdetailsLIST = $MIXdetails[0]; + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) - 0); + $Dsql = ''; + $r=0; + while ($Ds_to_print > $r) + { + $r++; + $Dsql .= "'$Dstatuses[$r]',"; + } + $Dsql = preg_replace("/,$/","",$Dsql); + + echo "\n"; + + echo "\n"; + + echo "\n"; + + + echo "\n"; + echo "\n"; + + + echo "\n"; + + + $q++; + + } + + + + + echo "\n"; + + echo "\n"; + + + echo "\n"; + + if ($q > 9) {$AE_disabled = 'DISABLED';} + else {$AE_disabled = '';} + echo "\n"; + echo "
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$vcl_id:\n"; + echo "\n"; + echo "     DELETE LIST MIX
Status: \n"; + if ($rowx[5]=='INACTIVE') + { + echo "$rowx[5]\n"; + echo "SET TO ACTIVEMethod:\n"; + echo "
LIST IDPRIORITY% MIXSTATUSES
\n"; + echo "\n"; + echo "List: $MIXdetailsLIST   REMOVE\n"; + + + + echo " \n"; + echo "ADD   \n"; + echo "REMOVE\n"; + echo "
\n"; + echo "Difference %: \n"; + echo "   \n"; + echo "\n"; + echo "
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "List:
\n"; + echo "
\n"; + } + + + echo "

ADD NEW LIST MIX
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Mix ID: Mix Name: Mix Method: "; + echo "
List: Dial Status:  
\n"; + + echo "
\n"; + + } + } +} + + +###################### +# ADD=30 campaign not allowed +###################### + +if ($ADD==30) +{ +echo "
\n"; + echo ""; +echo "You do not have permission to view campaign $campaign_id\n"; +} + + +###################### +# ADD=32 display all campaign statuses +###################### +if ($ADD==32) +{ +echo "
\n"; + echo ""; + +echo "
CUSTOM CAMPAIGN STATUSES LISTINGS:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNNAMESTATUSESMODIFY
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT status from vicidial_campaign_statuses where campaign_id='$campaigns_id_list[$o]' order by status"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY STATUSES
\n"; +} + + +###################### +# ADD=33 display all campaign hotkeys +###################### +if ($ADD==33) +{ +echo "
\n"; + echo ""; + +echo "
CAMPAIGN HOTKEYS LISTINGS:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNNAMEHOTKEYSMODIFY
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT status from vicidial_campaign_hotkeys where campaign_id='$campaigns_id_list[$o]' order by status"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY HOTKEYS
\n"; +} + + +###################### +# ADD=35 display all campaign lead recycle entries +###################### +if ($ADD==35) +{ +echo "
\n"; + echo ""; + +echo "
CAMPAIGN LEAD RECYCLE LISTINGS:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNNAMELEAD RECYCLESMODIFY
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT status from vicidial_lead_recycle where campaign_id='$campaigns_id_list[$o]' order by status"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY LEAD RECYCLES
\n"; +} + + +###################### +# ADD=36 display all campaign auto-alt dial entries +###################### +if ($ADD==36) +{ +echo "
\n"; + echo ""; + +echo "
CAMPAIGN LEAD AUTO-ALT DIAL LISTINGS:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNNAMEAUTO-ALT DIALMODIFY
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaigns_id_list[$o]';"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if (strlen($row[0])<3) + {echo "NONE";} + echo "MODIFY AUTO-ALT DIAL
\n"; +} + + +###################### +# ADD=37 display all campaign agent pause codes +###################### +if ($ADD==37) +{ +echo "
\n"; + echo ""; + +echo "
CAMPAIGN AGENT PAUSE CODE LISTINGS:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNNAMEPAUSE CODESMODIFY
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT pause_code from vicidial_pause_codes where campaign_id='$campaigns_id_list[$o]' order by pause_code;"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY PAUSE CODES
\n"; +} + + +###################### +# ADD=39 display all campaign list mixes +###################### +if ($ADD==39) +{ +echo "
\n"; + echo ""; + +echo "
CAMPAIGN LIST MIX LISTINGS:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNNAMELIST MIXMODIFY
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT vcl_id from vicidial_campaigns_list_mix where campaign_id='$campaigns_id_list[$o]' order by status,vcl_id;"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY LIST MIX
\n"; +} + + + + + +###################### +# ADD=311 modify list info in the system +###################### + +if ($ADD==311) +{ + if ($LOGmodify_lists==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $campaign_id = $row[2]; + $active = $row[3]; + $list_description = $row[4]; + $list_changedate = $row[5]; + $list_lastcalldate = $row[6]; + + # grab names of global statuses and statuses in the selected campaign + $stmt="SELECT * from vicidial_statuses order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($statuses_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $statuses_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $Cstatuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($Cstatuses_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $statuses_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + # end grab status names + + + echo "
MODIFY A LISTS RECORD: $row[0]
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
List ID: $row[0]$NWB#vicidial_lists-list_id$NWE
List Name: $NWB#vicidial_lists-list_name$NWE
List Description: $NWB#vicidial_lists-list_description$NWE
Campaign: $NWB#vicidial_lists-campaign_id$NWE
Active: $NWB#vicidial_lists-active$NWE
Reset Lead-Called-Status for this list: $NWB#vicidial_lists-reset_list$NWE
List Change Date: $list_changedate   $NWB#vicidial_lists-list_changedate$NWE
List Last Call Date: $list_lastcalldate   $NWB#vicidial_lists-list_lastcalldate$NWE
\n"; + + echo "
\n"; + echo "
STATUSES WITHIN THIS LIST:
\n"; + echo "\n"; + echo "\n"; + + $leads_in_list = 0; + $leads_in_list_N = 0; + $leads_in_list_Y = 0; + $stmt="SELECT status,called_since_last_reset,count(*) from vicidial_list where list_id='$list_id' group by status,called_since_last_reset order by status,called_since_last_reset"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + + $o=0; + $lead_list['count'] = 0; + $lead_list['Y_count'] = 0; + $lead_list['N_count'] = 0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + + $lead_list['count'] = ($lead_list['count'] + $rowx[2]); + if ($rowx[1] == 'N') + { + $since_reset = 'N'; + $since_resetX = 'Y'; + } + else + { + $since_reset = 'Y'; + $since_resetX = 'N'; + } + $lead_list[$since_reset][$rowx[0]] = ($lead_list[$since_reset][$rowx[0]] + $rowx[2]); + $lead_list[$since_reset.'_count'] = ($lead_list[$since_reset.'_count'] + $rowx[2]); + #If opposite side is not set, it may not in the future so give it a value of zero + if (!isset($lead_list[$since_resetX][$rowx[0]])) + { + $lead_list[$since_resetX][$rowx[0]]=0; + } + $o++; + } + + $o=0; + if ($lead_list['count'] > 0) + { + while (list($dispo,) = each($lead_list[$since_reset])) + { + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + if ($dispo == 'CBHOLD') + { + $CLB=""; + $CLE=""; + } + else + { + $CLB=''; + $CLE=''; + } + + echo "\n"; + $o++; + } + } + + echo "\n"; + echo "\n"; + + echo "
STATUSSTATUS NAMECALLEDNOT CALLED
$CLB$dispo$CLE$statuses_list[$dispo]".$lead_list['Y'][$dispo]."".$lead_list['N'][$dispo]."
SUBTOTALS$lead_list[Y_count]$lead_list[N_count]
TOTAL$lead_list[count]

\n"; + unset($lead_list); + + + echo "
\n"; + echo "
TIME ZONES WITHIN THIS LIST:
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT gmt_offset_now,called_since_last_reset,count(*) from vicidial_list where list_id='$list_id' group by gmt_offset_now,called_since_last_reset order by gmt_offset_now,called_since_last_reset"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + + $o=0; + $plus='+'; + $lead_list['count'] = 0; + $lead_list['Y_count'] = 0; + $lead_list['N_count'] = 0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + + $lead_list['count'] = ($lead_list['count'] + $rowx[2]); + if ($rowx[1] == 'N') + { + $since_reset = 'N'; + $since_resetX = 'Y'; + } + else + { + $since_reset = 'Y'; + $since_resetX = 'N'; + } + $lead_list[$since_reset][$rowx[0]] = ($lead_list[$since_reset][$rowx[0]] + $rowx[2]); + $lead_list[$since_reset.'_count'] = ($lead_list[$since_reset.'_count'] + $rowx[2]); + #If opposite side is not set, it may not in the future so give it a value of zero + if (!isset($lead_list[$since_resetX][$rowx[0]])) + { + $lead_list[$since_resetX][$rowx[0]]=0; + } + $o++; + } + + if ($lead_list['count'] > 0) + { + while (list($tzone,) = each($lead_list[$since_reset])) + { + $LOCALzone=3600 * $tzone; + $LOCALdate=gmdate("D M Y H:i", time() + $LOCALzone); + + if ($tzone >= 0) {$DISPtzone = "$plus$tzone";} + else {$DISPtzone = "$tzone";} + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + } + + echo "\n"; + echo "\n"; + + echo "
GMT OFFSET NOW (local time)CALLEDNOT CALLED
".$DISPtzone."     ($LOCALdate)".$lead_list['Y'][$tzone]."".$lead_list['N'][$tzone]."
SUBTOTALS$lead_list[Y_count]$lead_list[N_count]
TOTAL$lead_list[count]

\n"; + unset($lead_list); + + + + $leads_in_list = 0; + $leads_in_list_N = 0; + $leads_in_list_Y = 0; + $stmt="SELECT status,called_count,count(*) from vicidial_list where list_id='$list_id' group by status,called_count order by status,called_count"; + $rslt=mysql_query($stmt, $link); + $status_called_to_print = mysql_num_rows($rslt); + + $o=0; + $sts=0; + $first_row=1; + $all_called_first=1000; + $all_called_last=0; + while ($status_called_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $leads_in_list = ($leads_in_list + $rowx[2]); + $count_statuses[$o] = "$rowx[0]"; + $count_called[$o] = "$rowx[1]"; + $count_count[$o] = "$rowx[2]"; + $all_called_count[$rowx[1]] = ($all_called_count[$rowx[1]] + $rowx[2]); + + if ( (strlen($status[$sts]) < 1) or ($status[$sts] != "$rowx[0]") ) + { + if ($first_row) {$first_row=0;} + else {$sts++;} + $status[$sts] = "$rowx[0]"; + $status_called_first[$sts] = "$rowx[1]"; + if ($status_called_first[$sts] < $all_called_first) {$all_called_first = $status_called_first[$sts];} + } + $leads_in_sts[$sts] = ($leads_in_sts[$sts] + $rowx[2]); + $status_called_last[$sts] = "$rowx[1]"; + if ($status_called_last[$sts] > $all_called_last) {$all_called_last = $status_called_last[$sts];} + + $o++; + } + + + + + echo "
\n"; + echo "
CALLED COUNTS WITHIN THIS LIST:
\n"; + echo "\n"; + echo ""; + $first = $all_called_first; + while ($first <= $all_called_last) + { + if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#AFEEEE"';} + else{$AB='bgcolor="#E0FFFF"';} + echo ""; + $first++; + } + echo "\n"; + + $sts=0; + $statuses_called_to_print = count($status); + while ($statuses_called_to_print > $sts) + { + $Pstatus = $status[$sts]; + if (eregi("1$|3$|5$|7$|9$", $sts)) + {$bgcolor='bgcolor="#B9CBFD"'; $AB='bgcolor="#9BB9FB"';} + else + {$bgcolor='bgcolor="#9BB9FB"'; $AB='bgcolor="#B9CBFD"';} + # echo "$status[$sts]|$status_called_first[$sts]|$status_called_last[$sts]|$leads_in_sts[$sts]|\n"; + # echo "$status[$sts]|"; + echo ""; + + $first = $all_called_first; + while ($first <= $all_called_last) + { + if (eregi("1$|3$|5$|7$|9$", $sts)) + { + if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#9BB9FB"';} + else{$AB='bgcolor="#B9CBFD"';} + } + else + { + if (eregi("0$|2$|4$|6$|8$", $first)) {$AB='bgcolor="#9BB9FB"';} + else{$AB='bgcolor="#B9CBFD"';} + } + + $called_printed=0; + $o=0; + while ($status_called_to_print > $o) + { + if ( ($count_statuses[$o] == "$Pstatus") and ($count_called[$o] == "$first") ) + { + $called_printed++; + echo ""; + } + + + $o++; + } + if (!$called_printed) + {echo "";} + $first++; + } + echo "\n\n"; + + $sts++; + } + + echo ""; + $first = $all_called_first; + while ($first <= $all_called_last) + { + if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#AFEEEE"';} + else{$AB='bgcolor="#E0FFFF"';} + echo ""; + $first++; + } + echo "\n"; + + echo "
STATUSSTATUS NAME$firstSUBTOTAL
$Pstatus$statuses_list[$Pstatus] $count_count[$o]  $leads_in_sts[$sts]
TOTAL$all_called_count[$first]$leads_in_list

\n"; + + + + + + echo "
\n"; + + echo "

Click here to see all CallBack Holds in this list

\n"; + + if ($LOGdelete_lists > 0) + { + echo "

DELETE THIS LIST\n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + + +###################### +# ADD=3111 modify in-group info in the system +###################### + +if ($ADD==3111) +{ + if ($LOGmodify_ingroups==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $group_name = $row[1]; + $group_color = $row[2]; + $active = $row[3]; + $web_form_address = $row[4]; + $voicemail_ext = $row[5]; + $next_agent_call = $row[6]; + $fronter_display = $row[7]; + $script_id = $row[8]; + $get_call_launch = $row[9]; + $xferconf_a_dtmf = $row[10]; + $xferconf_a_number = $row[11]; + $xferconf_b_dtmf = $row[12]; + $xferconf_b_number = $row[13]; + $drop_call_seconds = $row[14]; + $drop_message = $row[15]; + $drop_exten = $row[16]; + $call_time_id = $row[17]; + $after_hours_action = $row[18]; + $after_hours_message_filename = $row[19]; + $after_hours_exten = $row[20]; + $after_hours_voicemail = $row[21]; + $welcome_message_filename = $row[22]; + $moh_context = $row[23]; + $onhold_prompt_filename = $row[24]; + $prompt_interval = $row[25]; + $agent_alert_exten = $row[26]; + $agent_alert_delay = $row[27]; + $default_xfer_group = $row[28]; + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "\n";} + else + {$Xgroups_menu .= "\n";} + + + echo "
MODIFY A GROUPS RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
Group ID: $row[0]$NWB#vicidial_inbound_groups-group_id$NWE
Group Name: $NWB#vicidial_inbound_groups-group_name$NWE
Group Color: $NWB#vicidial_inbound_groups-group_color$NWE
Active: $NWB#vicidial_inbound_groups-active$NWE
Web Form: $NWB#vicidial_inbound_groups-web_form_address$NWE
Next Agent Call: $NWB#vicidial_inbound_groups-next_agent_call$NWE
Fronter Display: $NWB#vicidial_inbound_groups-fronter_display$NWE
Script: $NWB#vicidial_inbound_groups-ingroup_script$NWE
Get Call Launch: $NWB#vicidial_inbound_groups-get_call_launch$NWE
Transfer-Conf DTMF 1: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
Transfer-Conf Number 1: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
Transfer-Conf DTMF 2: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
Transfer-Conf Number 2: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
Drop Call Seconds: $NWB#vicidial_inbound_groups-drop_call_seconds$NWE
Voicemail: $NWB#vicidial_inbound_groups-voicemail_ext$NWE
Use Drop Message: $NWB#vicidial_inbound_groups-drop_message$NWE
Drop Exten: $NWB#vicidial_inbound_groups-drop_exten$NWE
Call Time: $NWB#vicidial_inbound_groups-call_time_id$NWE
After Hours Action: $NWB#vicidial_inbound_groups-after_hours_action$NWE
After Hours Message Filename: $NWB#vicidial_inbound_groups-after_hours_message_filename$NWE
After Hours Extension: $NWB#vicidial_inbound_groups-after_hours_exten$NWE
After Hours Voicemail: $NWB#vicidial_inbound_groups-after_hours_voicemail$NWE
Welcome Message Filename: $NWB#vicidial_inbound_groups-welcome_message_filename$NWE
Music On Hold Context: $NWB#vicidial_inbound_groups-moh_context$NWE
On Hold Prompt Filename: $NWB#vicidial_inbound_groups-onhold_prompt_filename$NWE
On Hold Prompt Interval: $NWB#vicidial_inbound_groups-prompt_interval$NWE
Agent Alert Extension: $NWB#vicidial_inbound_groups-agent_alert_exten$NWE
Agent Alert Delay: $NWB#vicidial_inbound_groups-agent_alert_delay$NWE
Default Transfer Group: $NWB#vicidial_inbound_groups-default_xfer_group$NWE
\n"; + + ### list of agent rank or skill-level for this inbound group + echo "
\n"; + echo "
AGENT RANKS FOR THIS INBOUND GROUP:
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT user,group_rank,calls_today from vicidial_inbound_group_agents where group_id='$group_id'"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
USER     RANK     CALLS TODAY
$rowx[0]$rowx[1]$rowx[2]

\n"; + + echo "

\n"; + + echo "Click here to see a report for this inbound group

\n"; + + echo "
\n"; + + if ($LOGdelete_ingroups > 0) + { + echo "

EMERGENCY VDAC CLEAR FOR THIS IN-GROUP

\n"; + echo "

DELETE THIS IN-GROUP\n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + + +###################### +# ADD=31111 modify remote agents info in the system +###################### + +if ($ADD==31111) +{ + if ($LOGmodify_remoteagents==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_remote_agents where remote_agent_id='$remote_agent_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id = $row[0]; + $user_start = $row[1]; + $number_of_lines = $row[2]; + $server_ip = $row[3]; + $conf_exten = $row[4]; + $status = $row[5]; + $campaign_id = $row[6]; + + echo "
MODIFY A REMOTE AGENTS ENTRY: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
User ID Start: (numbers only, incremented)$NWB#vicidial_remote_agents-user_start$NWE
Number of Lines: (numbers only)$NWB#vicidial_remote_agents-number_of_lines$NWE
Server IP: $NWB#vicidial_remote_agents-server_ip$NWE
External Extension: (dial plan number dialed to reach agents)$NWB#vicidial_remote_agents-conf_exten$NWE
Status: $NWB#vicidial_remote_agents-status$NWE
Campaign: $NWB#vicidial_remote_agents-campaign_id$NWE
Inbound Groups: \n"; + echo "$groups_list"; + echo "$NWB#vicidial_remote_agents-closer_campaigns$NWE
\n"; + echo "NOTE: It can take up to 30 seconds for changes submitted on this screen to go live\n"; + + + if ($LOGdelete_remote_agents > 0) + { + echo "

DELETE THIS REMOTE AGENT\n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=311111 modify user group info in the system +###################### + +if ($ADD==311111) +{ + if ($LOGmodify_usergroups==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $user_group = $row[0]; + $group_name = $row[1]; + echo ""; + + echo "
MODIFY A USERS GROUP ENTRY\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Group: (no spaces or punctuation)$NWB#vicidial_user_groups-user_group$NWE
Description: (description of group)$NWB#vicidial_user_groups-group_name$NWE
Allowed Campaigns: \n"; + echo "$campaigns_list"; + echo "$NWB#vicidial_user_groups-allowed_campaigns$NWE
\n"; + + + ### list of users in this user group + + $active_confs = 0; + $stmt="SELECT user,full_name,user_level from vicidial_users where user_group='$user_group'"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + echo "
\n"; + echo "
USERS WITHIN THIS USER GROUP: $users_to_print
\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($users_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
USERFULL NAMELEVEL
$rowx[0]$rowx[1]$rowx[2]

\n"; + + + + echo "

Click here to see all CallBack Holds in this user group

\n"; + + if ($LOGdelete_user_groups > 0) + { + echo "

DELETE THIS USER GROUP\n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=3111111 modify script info in the system +###################### + +if ($ADD==3111111) +{ + if ($LOGmodify_scripts==1) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_scripts where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $script_name = $row[1]; + $script_comments = $row[2]; + $script_text = $row[3]; + $active = $row[4]; + echo ""; + + echo "
MODIFY A SCRIPT\n"; + echo "\n"; + echo "\n"; + echo "
Script ID: $script_id$NWB#vicidial_scripts-script_name$NWE
Script Name: (title of the script)$NWB#vicidial_scripts-script_name$NWE
Script Comments: $NWB#vicidial_scripts-script_comments$NWE
Active: $NWB#vicidial_scripts-active$NWE
Script Text:

Preview Script
"; + # BEGIN Insert Field + echo ""; + echo "
"; + # END Insert Field + echo " $NWB#vicidial_scripts-script_text$NWE
\n"; + + if ($LOGdelete_scripts > 0) + { + echo "

DELETE THIS SCRIPT\n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=31111111 modify filter info in the system +###################### + +if ($ADD==31111111) +{ + if ($LOGmodify_filters==1) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $lead_filter_name = $row[1]; + $lead_filter_comments = $row[2]; + $lead_filter_sql = $row[3]; + echo ""; + + echo "
MODIFY A FILTER\n"; + echo "\n"; + echo "\n"; + echo "
Filter ID: $lead_filter_id$NWB#vicidial_lead_filters-lead_filter_id$NWE
Filter Name: (short description of the filter)$NWB#vicidial_lead_filters-lead_filter_name$NWE
Filter Comments: $NWB#vicidial_lead_filters-lead_filter_comments$NWE
Filter SQL: $NWB#vicidial_lead_filters-lead_filter_sql$NWE
\n"; + + ##### get campaigns listing for dynamic pulldown + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "\n"; + $o++; + } + + echo "

"; + echo "
TEST ON CAMPAIGN:
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + if ($LOGdelete_filters > 0) + { + echo "

DELETE THIS FILTER\n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=321111111 modify call time definition info in the system +###################### + +if ($ADD==321111111) +{ +if ($LOGmodify_call_times==1) +{ + +if ( ($stage=="ADD") and (strlen($state_rule)>0) ) + { + $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_state_call_times = $row[0]; + + if (eregi("\|$",$ct_state_call_times)) + {$ct_state_call_times = "$ct_state_call_times$state_rule\|";} + else + {$ct_state_call_times = "$ct_state_call_times\|$state_rule\|";} + $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + echo "State Rule Added: $state_rule
\n"; + } +if ( ($stage=="REMOVE") and (strlen($state_rule)>0) ) + { + $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_state_call_times = $row[0]; + + $ct_state_call_times = eregi_replace("\|$state_rule\|",'|',$ct_state_call_times); + $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + echo "State Rule Removed: $state_rule
\n"; + } + +$ADD=311111111; +} +else +{ +echo "You are not authorized to view this page. Please go back."; +} + +} + + +###################### +# ADD=311111111 modify call time definition info in the system +###################### + +if ($ADD==311111111) +{ + +if ($LOGmodify_call_times==1) +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +$ct_srs=1; +$b=0; +$srs_SQL =''; +if (strlen($ct_state_call_times)>2) + { + $state_rules = explode('|',$ct_state_call_times); + $ct_srs = ((count($state_rules)) - 1); + } +echo "\n"; +echo "\n"; +while($ct_srs >= $b) + { + if (strlen($state_rules[$b])>0) + { + $stmt="SELECT state_call_time_state,state_call_time_name from vicidial_state_call_times where state_call_time_id='$state_rules[$b]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + echo "\n"; + $srs_SQL .= "'$state_rules[$b]',"; + $srs_state_SQL .= "'$row[0]',"; + } + $b++; + } +if (strlen($srs_SQL)>2) + { + $srs_SQL = "$srs_SQL''"; + $srs_state_SQL = "$srs_state_SQL''"; + $srs_SQL = "where state_call_time_id NOT IN($srs_SQL) and state_call_time_state NOT IN($srs_state_SQL)"; + } +else + {$srs_SQL='';} +$stmt="SELECT state_call_time_id,state_call_time_name from vicidial_state_call_times $srs_SQL order by state_call_time_id;"; +$rslt=mysql_query($stmt, $link); +$sct_to_print = mysql_num_rows($rslt); +$sct_list=''; + +$o=0; +while ($sct_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $sct_list .= "\n"; + $o++; +} +echo "\n"; +echo "\n"; + +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $call_time_name = $row[1]; + $call_time_comments = $row[2]; + $ct_default_start = $row[3]; + $ct_default_stop = $row[4]; + $ct_sunday_start = $row[5]; + $ct_sunday_stop = $row[6]; + $ct_monday_start = $row[7]; + $ct_monday_stop = $row[8]; + $ct_tuesday_start = $row[9]; + $ct_tuesday_stop = $row[10]; + $ct_wednesday_start = $row[11]; + $ct_wednesday_stop = $row[12]; + $ct_thursday_start = $row[13]; + $ct_thursday_stop = $row[14]; + $ct_friday_start = $row[15]; + $ct_friday_stop = $row[16]; + $ct_saturday_start = $row[17]; + $ct_saturday_stop = $row[18]; + $ct_state_call_times = $row[19]; + +echo ""; + +echo "
MODIFY A CALL TIME\n"; +echo "\n"; +echo "\n"; +echo "
Call Time ID: $call_time_id$NWB#vicidial_call_times-call_time_id$NWE
Call Time Name: (short description of the call time)$NWB#vicidial_call_times-call_time_name$NWE
Call Time Comments: $NWB#vicidial_call_times-call_time_comments$NWE
Default Start: Default Stop: $NWB#vicidial_call_times-ct_default_start$NWE
Sunday Start: Sunday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
Monday Start: Monday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
Tuesday Start: Tuesday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
Wednesday Start: Wednesday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
Thursday Start: Thursday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
Friday Start: Friday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
Saturday Start: Saturday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
Active State Call Time Definitions for this Record:  
$state_rules[$b] - REMOVE $row[0] - $row[1]
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "Add state call time rule:


\n"; +echo "CAMPAIGNS USING THIS CALL TIME:
\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns where local_call_time='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]
\n"; +echo "INBOUND GROUPS USING THIS CALL TIME:
\n"; +echo "\n"; + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]
\n"; +echo "

\n"; + +if ($LOGdelete_call_times > 0) + { + echo "

DELETE THIS CALL TIME DEFINITION\n"; + } +} +else +{ +echo "You are not authorized to view this page. Please go back."; +} + +} + + +###################### +# ADD=3111111111 modify state call time definition info in the system +###################### + +if ($ADD==3111111111) +{ + +if ($LOGmodify_call_times==1) +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +echo "\n"; +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_state_call_times where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $state_call_time_state =$row[1]; + $call_time_name = $row[2]; + $call_time_comments = $row[3]; + $ct_default_start = $row[4]; + $ct_default_stop = $row[5]; + $ct_sunday_start = $row[6]; + $ct_sunday_stop = $row[7]; + $ct_monday_start = $row[8]; + $ct_monday_stop = $row[9]; + $ct_tuesday_start = $row[10]; + $ct_tuesday_stop = $row[11]; + $ct_wednesday_start = $row[12]; + $ct_wednesday_stop = $row[13]; + $ct_thursday_start = $row[14]; + $ct_thursday_stop = $row[15]; + $ct_friday_start = $row[16]; + $ct_friday_stop = $row[17]; + $ct_saturday_start = $row[18]; + $ct_saturday_stop = $row[19]; + +echo ""; + +echo "
MODIFY A STATE CALL TIME
\n"; +echo "\n"; +echo "\n"; +echo "
Call Time ID: $call_time_id$NWB#vicidial_call_times-call_time_id$NWE
State Call Time State: $NWB#vicidial_call_times-state_call_time_state$NWE
State Call Time Name: (short description of the call time)$NWB#vicidial_call_times-call_time_name$NWE
State Call Time Comments: $NWB#vicidial_call_times-call_time_comments$NWE
Default Start: Default Stop: $NWB#vicidial_call_times-ct_default_start$NWE
Sunday Start: Sunday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
Monday Start: Monday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
Tuesday Start: Tuesday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
Wednesday Start: Wednesday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
Thursday Start: Thursday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
Friday Start: Friday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
Saturday Start: Saturday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE


\n"; +echo "CALL TIMES USING THIS STATE CALL TIME:
\n"; +echo "\n"; + + $stmt="SELECT call_time_id,call_time_name from vicidial_call_times where ct_state_call_times LIKE \"%|$call_time_id|%\";"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]
\n"; +echo "

\n"; + +if ($LOGdelete_call_times > 0) + { + echo "

DELETE THIS STATE CALL TIME DEFINITION\n"; + } + +} +else +{ +echo "You are not authorized to view this page. Please go back."; +} + +} + + +###################### +# ADD=31111111111 modify phone record in the system +###################### + +if ($ADD==31111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from phones where extension='$extension' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + echo "
MODIFY A PHONE RECORD: $row[1]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Phone extension: $NWB#phones-extension$NWE
Dial Plan Number: (digits only)$NWB#phones-dialplan_number$NWE
Voicemail Box: (digits only)$NWB#phones-voicemail_id$NWE
Outbound CallerID: (digits only)$NWB#phones-outbound_cid$NWE
Phone IP address: (optional)$NWB#phones-phone_ip$NWE
Computer IP address: (optional)$NWB#phones-computer_ip$NWE
Server IP: $NWB#phones-server_ip$NWE
Login: $NWB#phones-login$NWE
Password: $NWB#phones-pass$NWE
Status: $NWB#phones-status$NWE
Active Account: $NWB#phones-active$NWE
Phone Type: $NWB#phones-phone_type$NWE
Full Name: $NWB#phones-fullname$NWE
Company: $NWB#phones-company$NWE
Picture: $NWB#phones-picture$NWE
New Messages: $row[14]$NWB#phones-messages$NWE
Old Messages: $row[15]$NWB#phones-old_messages$NWE
Client Protocol: $NWB#phones-protocol$NWE
Local GMT: (Do NOT Adjust for DST)$NWB#phones-local_gmt$NWE
Manager Login: $NWB#phones-ASTmgrUSERNAME$NWE
Manager Secret: $NWB#phones-ASTmgrSECRET$NWE
VICIDIAL Default User: $NWB#phones-login_user$NWE
VICIDIAL Default Pass: $NWB#phones-login_pass$NWE
VICIDIAL Default Campaign: $NWB#phones-login_campaign$NWE
Park Exten: $NWB#phones-park_on_extension$NWE
Conf Exten: $NWB#phones-conf_on_extension$NWE
VICIDIAL Park Exten: $NWB#phones-VICIDIAL_park_on_extension$NWE
VICIDIAL Park File: $NWB#phones-VICIDIAL_park_on_filename$NWE
Monitor Prefix: $NWB#phones-monitor_prefix$NWE
Recording Exten: $NWB#phones-recording_exten$NWE
VMailMain Exten: $NWB#phones-voicemail_exten$NWE
VMailDump Exten: $NWB#phones-voicemail_dump_exten$NWE
Exten Context: $NWB#phones-ext_context$NWE
DTMFSend Channel: $NWB#phones-dtmf_send_extension$NWE
Outbound Call Group: $NWB#phones-call_out_number_group$NWE
Browser Location: $NWB#phones-client_browser$NWE
Install Directory: $NWB#phones-install_directory$NWE
CallerID URL: $NWB#phones-local_web_callerID_URL$NWE
VICIDIAL Default URL: $NWB#phones-VICIDIAL_web_URL$NWE
Call Logging: $NWB#phones-AGI_call_logging_enabled$NWE
User Switching: $NWB#phones-user_switching_enabled$NWE
Conferencing: $NWB#phones-conferencing_enabled$NWE
Admin Hang Up: $NWB#phones-admin_hangup_enabled$NWE
Admin Hijack: $NWB#phones-admin_hijack_enabled$NWE
Admin Monitor: $NWB#phones-admin_monitor_enabled$NWE
Call Park: $NWB#phones-call_parking_enabled$NWE
Updater Check: $NWB#phones-updater_check_enabled$NWE
AF Logging: $NWB#phones-AFLogging_enabled$NWE
Queue Enabled: $NWB#phones-QUEUE_ACTION_enabled$NWE
CallerID Popup: $NWB#phones-CallerID_popup_enabled$NWE
VMail Button: $NWB#phones-voicemail_button_enabled$NWE
Fast Refresh: $NWB#phones-enable_fast_refresh$NWE
Fast Refresh Rate: (in ms)$NWB#phones-fast_refresh_rate$NWE
Persistant MySQL: $NWB#phones-enable_persistant_mysql$NWE
Auto Dial Next Number: $NWB#phones-auto_dial_next_number$NWE
Stop Rec after each call: $NWB#phones-VDstop_rec_after_each_call$NWE
Enable SIPSAK Messages: $NWB#phones-enable_sipsak_messages$NWE
DBX Server: (Primary DB Server)$NWB#phones-DBX_server$NWE
DBX Database: (Primary Server Database)$NWB#phones-DBX_database$NWE
DBX User: (Primary DB Login)$NWB#phones-DBX_user$NWE
DBX Pass: (Primary DB Secret)$NWB#phones-DBX_pass$NWE
DBX Port: (Primary DB Port)$NWB#phones-DBX_port$NWE
DBY Server: (Secondary DB Server)$NWB#phones-DBY_server$NWE
DBY Database: (Secondary Server Database)$NWB#phones-DBY_database$NWE
DBY User: (Secondary DB Login)$NWB#phones-DBY_user$NWE
DBY Pass: (Secondary DB Secret)$NWB#phones-DBY_pass$NWE
DBY Port: (Secondary DB Port)$NWB#phones-DBY_port$NWE
\n"; + + echo "

Click here for phone stats\n"; + + if ($LOGast_delete_phones > 0) + { + echo "

DELETE THIS PHONE\n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=311111111111 modify server record in the system +###################### + +if ($ADD==311111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from servers where server_id='$server_id' or server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $server_id = $row[0]; + $server_ip = $row[2]; + + echo "
MODIFY A SERVER RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Server ID: $NWB#servers-server_id$NWE
Server Description: $NWB#servers-server_description$NWE
Server IP Address: $NWB#servers-server_ip$NWE
Active: $NWB#servers-active$NWE
Asterisk Version: $NWB#servers-asterisk_version$NWE
Max VICIDIAL Trunks: $NWB#servers-max_vicidial_trunks$NWE
VICIDIAL Balance Dialing: $NWB#servers-vicidial_balance_active$NWE
VICIDIAL Balance Offlimits: $NWB#servers-balance_trunks_offlimits$NWE
Telnet Host: $NWB#servers-telnet_host$NWE
Telnet Port: $NWB#servers-telnet_port$NWE
Manager User: $NWB#servers-ASTmgrUSERNAME$NWE
Manager Secret: $NWB#servers-ASTmgrSECRET$NWE
Manager Update User: $NWB#servers-ASTmgrUSERNAMEupdate$NWE
Manager Listen User: $NWB#servers-ASTmgrUSERNAMElisten$NWE
Manager Send User: $NWB#servers-ASTmgrUSERNAMEsend$NWE
Local GMT: (Do NOT Adjust for DST)$NWB#servers-local_gmt$NWE
VMail Dump Exten: $NWB#servers-voicemail_dump_exten$NWE
VICIDIAL AD extension: $NWB#servers-answer_transfer_agent$NWE
Default Context: $NWB#servers-ext_context$NWE
System Performance: $NWB#servers-sys_perf_log$NWE
Server Logs: $NWB#servers-vd_server_logs$NWE
AGI Output: $NWB#servers-agi_output$NWE
\n"; + + + ### vicidial server trunk records for this server + echo "

VICIDIAL TRUNKS FOR THIS SERVER:   $NWB#vicidial_server_trunks$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_server_trunks where server_ip='$server_ip' order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $recycle_to_print = mysql_num_rows($rslt); + $o=0; + while ($recycle_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
CAMPAIGN TRUNKS RESTRICTION DELETE
$rowx[1]
\n"; + echo "\n"; + echo "\n"; + echo "
DELETE
\n"; + + echo "
ADD NEW SERVER VICIDIAL TRUNK RECORD
\n"; + echo "\n"; + echo "\n"; + echo "TRUNKS:
\n"; + echo "CAMPAIGN:
\n"; + echo "RESTRICTION:
\n"; + echo "
\n"; + + echo "

\n"; + + + ### list of phones on this server + echo "
\n"; + echo "
PHONES WITHIN THIS SERVER:
\n"; + echo "\n"; + echo "\n"; + + $active_phones = 0; + $inactive_phones = 0; + $stmt="SELECT extension,active,fullname from phones where server_ip='$row[2]'"; + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + if (ereg("Y", $rowx[1])) {$active_phones++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_phones++;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
EXTENSIONNAMEACTIVE
$rowx[0]$rowx[2]$rowx[1]

\n"; + + + ### list of conferences on this server + echo "
\n"; + echo "
CONFERENCES WITHIN THIS SERVER:
\n"; + echo "\n"; + echo "\n"; + + $active_confs = 0; + $stmt="SELECT conf_exten,extension from conferences where server_ip='$row[2]'"; + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + $active_confs++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
CONFERENCEEXTENSION
$rowx[0]$rowx[2]

\n"; + + + ### list of vicidial conferences on this server + echo "
\n"; + echo "
VICIDIAL CONFERENCES WITHIN THIS SERVER:
\n"; + echo "\n"; + echo "\n"; + + $active_vdconfs = 0; + $stmt="SELECT conf_exten,extension from vicidial_conferences where server_ip='$row[2]'"; + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + $active_vdconfs++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
VD CONFERENCEEXTENSION
$rowx[0]$rowx[2]

\n"; + + + echo "
\n"; + + $camp_lists = eregi_replace(".$","",$camp_lists); + echo "This server has $active_phones active phones and $inactive_phones inactive phones

\n"; + echo "This server has $active_confs active conferences

\n"; + echo "This server has $active_vdconfs active vicidial conferences

\n"; + echo "
\n"; + if ($LOGast_delete_phones > 0) + { + echo "

DELETE THIS SERVER\n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=3111111111111 modify conference record in the system +###################### + +if ($ADD==3111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $conf_exten = $row[0]; + $server_ip = $row[1]; + + echo "
MODIFY A CONFERENCE RECORD: $row[0]
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Conference: $NWB#conferences-conf_exten$NWE
Server IP: $NWB#conferences-server_ip$NWE
Current Extension:
\n"; + + echo "
\n"; + if ($LOGast_delete_phones > 0) + { + echo "

DELETE THIS CONFERENCE\n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=31111111111111 modify vicidial conference record in the system +###################### + +if ($ADD==31111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $conf_exten = $row[0]; + $server_ip = $row[1]; + + echo "
MODIFY A VICIDIAL CONFERENCE RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Conference: $NWB#conferences-conf_exten$NWE
Server IP: $NWB#conferences-server_ip$NWE
Current Extension:
\n"; + + echo "
\n"; + if ($LOGast_delete_phones > 0) + { + echo "

DELETE THIS VICIDIAL CONFERENCE\n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + + +###################### +# ADD=311111111111111 modify vicidial system settings +###################### + +if ($ADD==311111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT version,install_date,use_non_latin,webroot_writable,enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_url,queuemetrics_log_id,queuemetrics_eq_prepend,vicidial_agent_disable,allow_sipsak_messages,admin_home_url,enable_agc_xfer_log from system_settings;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $version = $row[0]; + $install_date = $row[1]; + $use_non_latin = $row[2]; + $webroot_writable = $row[3]; + $enable_queuemetrics_logging = $row[4]; + $queuemetrics_server_ip = $row[5]; + $queuemetrics_dbname = $row[6]; + $queuemetrics_login = $row[7]; + $queuemetrics_pass = $row[8]; + $queuemetrics_url = $row[9]; + $queuemetrics_log_id = $row[10]; + $queuemetrics_eq_prepend = $row[11]; + $vicidial_agent_disable = $row[12]; + $allow_sipsak_messages = $row[13]; + $admin_home_url = $row[14]; + $enable_agc_xfer_log = $row[15]; + + echo "
MODIFY VICIDIAL SYSTEM SETTINGS\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
Version: $version
Install Date: $install_date
Use Non-Latin: $NWB#settings-use_non_latin$NWE
Webroot Writable: $NWB#settings-webroot_writable$NWE
Enable QueueMetrics Logging: $NWB#settings-enable_queuemetrics_logging$NWE
QueueMetrics Server IP: $NWB#settings-queuemetrics_server_ip$NWE
QueueMetrics DB Name: $NWB#settings-queuemetrics_dbname$NWE
QueueMetrics DB Login: $NWB#settings-queuemetrics_login$NWE
QueueMetrics DB Password: $NWB#settings-queuemetrics_pass$NWE
QueueMetrics URL: $NWB#settings-queuemetrics_url$NWE
QueueMetrics Log ID: $NWB#settings-queuemetrics_log_id$NWE
QueueMetrics EnterQueue Prepend: $NWB#settings-queuemetrics_eq_prepend$NWE
VICIDIAL Agent Disable Display: $NWB#settings-vicidial_agent_disable$NWE
Allow SIPSAK Messages: $NWB#settings-allow_sipsak_messages$NWE
Admin Home URL: $NWB#settings-admin_home_url$NWE
Enable Agent Transfer Logfile: $NWB#settings-enable_agc_xfer_log$NWE
\n"; + echo "\n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + + + + + +###################### +# ADD=321111111111111 modify vicidial system statuses +###################### + +if ($ADD==321111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + echo "
\n"; + echo "VICIDIAL STATUSES WITHIN THIS SYSTEM:   $NWB#vicidial_statuses$NWE
\n"; + echo "\n"; + echo "\n"; + + ##### get status category listings for dynamic pulldown + $stmt="SELECT vsc_id,vsc_name from vicidial_status_categories order by vsc_id desc"; + $rslt=mysql_query($stmt, $link); + $cats_to_print = mysql_num_rows($rslt); + $cats_list=""; + + $o=0; + while ($cats_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $cats_list .= "\n"; + $catsname_list["$rowx[0]"] = substr($rowx[1],0,20); + $o++; + } + + + $stmt="SELECT * from vicidial_statuses order by status;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AScategory = $rowx[4]; + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
STATUSDESCRIPTIONSELECT-
ABLE
HUMAN
ANSWER
CATEGORYMODIFY/DELETE
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
\n"; + echo "\n"; + echo "         \n"; + echo "   \n"; + + if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) + { + echo "DELETE\n"; + } + else + { + echo "DELETE\n"; + } + echo "
\n"; + + echo "
ADD NEW SYSTEM STATUS
\n"; + echo "\n"; + echo "Status:   \n"; + echo "Description:
\n"; + echo "Selectable:   \n"; + echo "Human Answer:   \n"; + echo "Category: \n"; + echo "  
\n"; + echo "
\n"; + + echo "

\n"; + + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + + + + +###################### +# ADD=331111111111111 modify vicidial status categories +###################### + +if ($ADD==331111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + echo "
\n"; + echo "VICIDIAL STATUS CATEGORIES:   $NWB#vicidial_status_categories$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_status_categories order by vsc_id;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + + $Avsc_id[$o] = $rowx[0]; + $Avsc_name[$o] = $rowx[1]; + $Avsc_description[$o] = $rowx[2]; + $Atovdad_display[$o] = $rowx[3]; + + $o++; + } + $p=0; + while ($o > $p) + { + if (eregi("1$|3$|5$|7$|9$", $p)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $CATstatuses=''; + $stmt="SELECT status from vicidial_statuses where category='$Avsc_id[$p]' order by status;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $q=0; + while ($statuses_to_print > $q) + { + $rowx=mysql_fetch_row($rslt); + $CATstatuses.=" $rowx[0]"; + $q++; + } + $stmt="SELECT status from vicidial_campaign_statuses where category='$Avsc_id[$p]' order by status;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $q=0; + while ($statuses_to_print > $q) + { + $rowx=mysql_fetch_row($rslt); + $CATstatuses.=" $rowx[0]"; + $q++; + } + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $p++; + } + + echo "
CATEGORYNAMETOVDADSTATUSES IN THIS CATEGORY
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$Avsc_id[$p]
\n"; + echo "$CATstatuses"; + echo "
Description:
        \n"; + echo "   DELETE
 
\n"; + + echo "
ADD NEW STATUS CATEGORY
\n"; + echo "\n"; + echo "Category ID:   \n"; + echo "Name:   \n"; + echo "TimeOnVDAD Display:  
\n"; + echo "Description:   \n"; + echo "
\n"; + + echo "

\n"; + + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + + + + + +###################### +# ADD=550 search form +###################### + +if ($ADD==550) +{ +echo "
\n"; +echo ""; + +echo "
SEARCH FOR A USER
\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +echo "\n"; +echo "
User Number:
Full Name:
User Level:
User Group:
\n"; + +} + +###################### +# ADD=660 user search results +###################### + +if ($ADD==660) +{ +echo "
\n"; + echo ""; + + $SQL = ''; + if ($user) {$SQL .= " user LIKE \"%$user%\" and";} + if ($full_name) {$SQL .= " full_name LIKE \"%$full_name%\" and";} + if ($user_level > 0) {$SQL .= " user_level LIKE \"%$user_level%\" and";} + if ($user_group) {$SQL .= " user_group = '$user_group' and";} + $SQL = eregi_replace(" and$", "", $SQL); + if (strlen($SQL)>5) {$SQL = "where $SQL";} + + $stmt="SELECT * from vicidial_users $SQL order by full_name desc;"; +# echo "\n|$stmt|\n"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
SEARCH RESULTS:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[1]$row[3]$row[4]$row[5]MODIFY | STATS | STATUS | TIME
\n"; + +} + + +###################################################################################################### +###################################################################################################### +####### 8 series, Callback lists +###################################################################################################### +###################################################################################################### + +###################### +# ADD=8 find all callbacks on hold by a User +###################### +if ($ADD==8) +{ + if ($LOGmodify_users==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user='$user' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
User($user) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user='$user' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
User($user) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } +$CBinactiveLINK = "
Remove LIVE Callbacks older than one month for this user
Remove LIVE Callbacks older than one week for this user
"; + +echo ""; + + $CBquerySQLwhere = "and user='$user'"; + +echo "
USER CALLBACK HOLD LISTINGS: $user\n"; +$oldADD = "ADD=8&user=$user"; +$ADD='82'; +} + +###################### +# ADD=81 find all callbacks on hold within a Campaign +###################### +if ($ADD==81) +{ + if ($LOGmodify_campaigns==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where campaign_id='$campaign_id' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
campaign($campaign_id) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where campaign_id='$campaign_id' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
campaign($campaign_id) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } +$CBinactiveLINK = "
Remove LIVE Callbacks older than one month for this campaign
Remove LIVE Callbacks older than one week for this campaign
"; + +echo ""; + + $CBquerySQLwhere = "and campaign_id='$campaign_id'"; + +echo "
CAMPAIGN CALLBACK HOLD LISTINGS: $campaign_id\n"; +$oldADD = "ADD=81&campaign_id=$campaign_id"; +$ADD='82'; +} + +###################### +# ADD=811 find all callbacks on hold within a List +###################### +if ($ADD==811) +{ + if ($LOGmodify_lists==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where list_id='$list_id' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
list($list_id) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where list_id='$list_id' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
list($list_id) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } +$CBinactiveLINK = "
Remove LIVE Callbacks older than one month for this list
Remove LIVE Callbacks older than one week for this list
"; + +echo ""; + + $CBquerySQLwhere = "and list_id='$list_id'"; + +echo "
LIST CALLBACK HOLD LISTINGS: $list_id\n"; +$oldADD = "ADD=811&list_id=$list_id"; +$ADD='82'; +} + +###################### +# ADD=8111 find all callbacks on hold within a user group +###################### +if ($ADD==8111) +{ + if ($LOGmodify_usergroups==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user_group='$user_group' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
user group($user_group) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user_group='$user_group' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
user group($user_group) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } + $CBinactiveLINK = "
Remove LIVE Callbacks older than one month for this user group
Remove LIVE Callbacks older than one week for this user group
"; + + echo ""; + + $CBquerySQLwhere = "and user_group='$user_group'"; + +echo "
USER GROUP CALLBACK HOLD LISTINGS: $list_id\n"; +$oldADD = "ADD=8111&user_group=$user_group"; +$ADD='82'; +} + +###################### +# ADD=82 display all callbacks on hold +###################### +if ($ADD==82) +{ + +$USERlink='stage=USERIDDOWN'; +$GROUPlink='stage=GROUPDOWN'; +$ENDATElink='stage=ENDATEDOWN'; +$SQLorder='order by '; +if (eregi("USERIDDOWN",$stage)) {$SQLorder='order by user desc,'; $USERlink='stage=USERIDUP';} +if (eregi("GROUPDOWN",$stage)) {$SQLorder='order by user_group desc,'; $NAMElink='stage=NAMEUP';} +if (eregi("ENDATEDOWN",$stage)) {$SQLorder='order by entry_time desc,'; $LEVELlink='stage=LEVELUP';} + + $stmt="SELECT * from vicidial_callbacks where status IN('ACTIVE','LIVE') $CBquerySQLwhere $SQLorder recipient,status desc,callback_time"; + $rslt=mysql_query($stmt, $link); + $cb_to_print = mysql_num_rows($rslt); + +echo "
\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $o=0; + while ($cb_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
LEADLIST CAMPAIGNENTRY DATECALLBACK DATEUSERRECIPIENTSTATUSGROUP
$row[1]$row[2]$row[3]$row[5]$row[6]$row[8]$row[9]$row[4]$row[11]
\n"; + +echo "$CBinactiveLINK"; +} + + + +###################################################################################################### +###################################################################################################### +####### 0 series, displays and searches +###################################################################################################### +###################################################################################################### + +###################### +# ADD=0 display all active users +###################### +if ($ADD==0) +{ +echo "
\n"; +echo ""; + +$USERlink='stage=USERIDDOWN'; +$NAMElink='stage=NAMEDOWN'; +$LEVELlink='stage=LEVELDOWN'; +$GROUPlink='stage=GROUPDOWN'; +$SQLorder='order by full_name'; +if (eregi("USERIDUP",$stage)) {$SQLorder='order by user asc'; $USERlink='stage=USERIDDOWN';} +if (eregi("USERIDDOWN",$stage)) {$SQLorder='order by user desc'; $USERlink='stage=USERIDUP';} +if (eregi("NAMEUP",$stage)) {$SQLorder='order by full_name asc'; $NAMElink='stage=NAMEDOWN';} +if (eregi("NAMEDOWN",$stage)) {$SQLorder='order by full_name desc'; $NAMElink='stage=NAMEUP';} +if (eregi("LEVELUP",$stage)) {$SQLorder='order by user_level asc'; $LEVELlink='stage=LEVELDOWN';} +if (eregi("LEVELDOWN",$stage)) {$SQLorder='order by user_level desc'; $LEVELlink='stage=LEVELUP';} +if (eregi("GROUPUP",$stage)) {$SQLorder='order by user_group asc'; $GROUPlink='stage=GROUPDOWN';} +if (eregi("GROUPDOWN",$stage)) {$SQLorder='order by user_group desc'; $GROUPlink='stage=GROUPUP';} + $stmt="SELECT * from vicidial_users $SQLorder"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
USER LISTINGS:\n"; +echo "
\n"; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + $o++; + } + +echo "
USER IDFULL NAMELEVELGROUPLINKS
$row[1]$row[3]$row[4]$row[5]MODIFY | STATS | STATUS | TIME
\n"; +} + +###################### +# ADD=10 display all campaigns +###################### +if ($ADD==10) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
CAMPAIGN LISTINGS:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2] $row[3]$row[4]$row[5] $row[6]$row[7]  MODIFY
\n"; +} + + +###################### +# ADD=100 display all lists +###################### +if ($ADD==100) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_lists order by list_id"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
LIST LISTINGS:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2]$row[4]$row[5] $row[3]$row[7]  MODIFY
\n"; +} + + + +###################### +# ADD=1000 display all inbound groups +###################### +if ($ADD==1000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
INBOUND GROUP LISTINGS:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[3] $row[5]  MODIFY
\n"; +} + + +###################### +# ADD=10000 display all remote agents +###################### +if ($ADD==10000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_remote_agents order by server_ip,campaign_id,user_start"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
REMOTE AGENTS LISTINGS:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[1] $row[2] $row[3] $row[4] $row[5] $row[6]MODIFY
\n"; +} + + +###################### +# ADD=100000 display all user groups +###################### +if ($ADD==100000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_user_groups order by user_group"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
USER GROUPS LISTINGS:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]MODIFY
\n"; +} + + +###################### +# ADD=1000000 display all scripts +###################### +if ($ADD==1000000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_scripts order by script_id"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
SCRIPTS LISTINGS:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]MODIFY
\n"; +} + + +###################### +# ADD=10000000 display all filters +###################### +if ($ADD==10000000) +{ +echo "
\n"; + + echo ""; + + $stmt="SELECT * from vicidial_lead_filters order by lead_filter_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + +echo "
LEAD FILTER LISTINGS:\n"; +echo "
\n"; + + $o=0; + while ($filters_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]MODIFY
\n"; +} + + +###################### +# ADD=100000000 display all call times +###################### +if ($ADD==100000000) +{ +echo "
\n"; + + echo ""; + + $stmt="SELECT * from vicidial_call_times order by call_time_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + +echo "
CALL TIME LISTINGS:\n"; +echo "
\n"; + + $o=0; + while ($filters_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[3] $row[4] MODIFY
\n"; +} + +###################### +# ADD=1000000000 display all state call times +###################### +if ($ADD==1000000000) +{ +echo "
\n"; + + echo ""; + + $stmt="SELECT * from vicidial_state_call_times order by state_call_time_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + +echo "
STATE CALL TIME LISTINGS:\n"; +echo "
\n"; + + $o=0; + while ($filters_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2] $row[3] $row[4] MODIFY
\n"; +} + +###################### +# ADD=10000000000 display all phones +###################### +if ($ADD==10000000000) +{ +echo "
\n"; +echo ""; + +$EXTENlink='stage=EXTENDOWN'; +$PROTOlink='stage=PROTODOWN'; +$SERVERlink='stage=SERVERDOWN'; +$STATUSlink='stage=STATUSDOWN'; +$SQLorder='order by extension,server_ip'; +if (eregi("EXTENUP",$stage)) {$SQLorder='order by extension asc'; $EXTENlink='stage=EXTENDOWN';} +if (eregi("EXTENDOWN",$stage)) {$SQLorder='order by extension desc'; $EXTENlink='stage=EXTENUP';} +if (eregi("PROTOUP",$stage)) {$SQLorder='order by protocol asc'; $PROTOlink='stage=PROTODOWN';} +if (eregi("PROTODOWN",$stage)) {$SQLorder='order by protocol desc'; $PROTOlink='stage=PROTOUP';} +if (eregi("SERVERUP",$stage)) {$SQLorder='order by server_ip asc'; $SERVERlink='stage=SERVERDOWN';} +if (eregi("SERVERDOWN",$stage)) {$SQLorder='order by server_ip desc'; $SERVERlink='stage=SERVERUP';} +if (eregi("STATUSUP",$stage)) {$SQLorder='order by status asc'; $STATUSlink='stage=STATUSDOWN';} +if (eregi("STATUSDOWN",$stage)) {$SQLorder='order by status desc'; $STATUSlink='stage=STATUSUP';} + $stmt="SELECT * from phones $SQLorder"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
PHONE LISTINGS:\n"; +echo "
\n"; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "\n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + $o++; + } + +echo "
EXTENPROTOSERVERDIAL PLANSTATUSNAMEVMAILLINKS
$row[0]$row[16]$row[5]$row[1]$row[2]$row[8]$row[11]$row[14]$row[15]MODIFY | STATS
\n"; +} + +###################### +# ADD=100000000000 display all servers +###################### +if ($ADD==100000000000) +{ +echo "\n";echo "\n"; +$stmt="SELECT admin_home_url from system_settings;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$admin_home_url_LU = $row[0]; + +?> +
+
\n"; + echo ""; + + $stmt="SELECT * from servers order by server_id"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
SERVER LISTINGS:\n"; +echo "
\n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0]$row[1] $row[2] $row[4] $row[3]  MODIFY
\n"; +} + +###################### +# ADD=1000000000000 display all conferences +###################### +if ($ADD==1000000000000) +{ +echo "\r\n"; + print " \r\n"; + } + $rec_count++; + } +$sthA->finish(); + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/listloader_super.pl b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/listloader_super.pl new file mode 100644 index 00000000..167fff5e --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/listloader_super.pl @@ -0,0 +1,1086 @@ +#!/usr/bin/perl + +### listloader_super.pl version 0.4 *DBI-version* +### +### Copyright (C) 2007 Matt Florell,Joe Johnson LICENSE: GPLv2 +### +# +# +# CHANGES +# 60616-1548 - Added listID override feature to force all leads into same list +# - Added gmt_offset_now lookup for each lead +# 60811-1232 - Changed to DBI +# 60811-1329 - changed to use /etc/astguiclient.conf for configs +# 60906-1056 - added filter of non-digits in alt_phone field +# 61110-1229 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1207 - added postal code GMT lookup and duplicate check options +# 70205-1703 - Defaulted phone_code to 1 if not populated +# 70417-1059 - Fixed default phone_code bug +# 70510-1518 - Added campaign and system duplicate check and phonecode override +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n [-forcelistid=1234] = overrides the listID given in the file with the 1234\n [-h] = this help screen\n\n"; + + exit; + } + else + { + if ($args =~ /-duplicate-check/i) + {$dupcheck=1;} + if ($args =~ /-duplicate-campaign-check/i) + {$dupcheckcamp=1;} + if ($args =~ /-duplicate-system-check/i) + {$dupchecksys=1;} + if ($args =~ /-postal-code-gmt/i) + {$postalgmt=1;} + if ($args =~ /--forcelistid=/i) + { + @data_in = split(/--forcelistid=/,$args); + $forcelistid = $data_in[1]; + $forcelistid =~ s/ .*//gi; + print "\n----- FORCE LISTID OVERRIDE: $forcelistid -----\n\n"; + } + else + {$forcelistid = '';} + + if ($args =~ /--forcephonecode=/i) + { + @data_in = split(/--forcephonecode=/,$args); + $forcephonecode = $data_in[1]; + $forcephonecode =~ s/ .*//gi; + print "\n----- FORCE PHONECODE OVERRIDE: $forcephonecode -----\n\n"; + } + else + {$forcephonecode = '';} + + if ($args =~ /--lead-file=/i) + { + @data_in = split(/--lead-file=/,$args); + $lead_file = $data_in[1]; + $lead_file =~ s/ .*//gi; + # print "\n----- LEAD FILE: $lead_file -----\n\n"; + } + else + {$lead_file = './vicidial_temp_file.xls';} + } +} +### end parsing run-time options ### + +use Spreadsheet::ParseExcel; +use Time::Local; +use DBI; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +$vars=$ARGV[0]; +@xls_fields=split(/\,/, $vars); + +$|=0; +$secX = time(); + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$pulldate="$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + + ### Grab Server values from the database + $stmtA = "SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBSERVER_GMT = "$aryA[0]"; + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + $rec_count++; + } + $sthA->finish(); + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +if ($isdst) {$LOCAL_GMT_OFF++;} +if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + + + +$total=0; $good=0; $bad=0; +open(STMT_FILE, "> $PATHlogs/listloader_stmts.txt"); + +$oBook = Spreadsheet::ParseExcel::Workbook->Parse("$lead_file"); +my($iR, $iC, $oWkS, $oWkC); + +foreach $oWkS (@{$oBook->{Worksheet}}) { + for($iR = 0 ; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++) { + + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user = ""; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[0]]; + if ($oWkC) {$vendor_lead_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[1]]; + if ($oWkC) {$source_code=$oWkC->Value; } + $source_id=$source_code; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[2]]; + if ($oWkC) {$list_id=$oWkC->Value; } + $gmt_offset = '0'; + $called_since_last_reset='N'; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[3]]; + if ($oWkC) {$phone_code=$oWkC->Value; } + $phone_code=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[4]]; + if ($oWkC) {$phone_number=$oWkC->Value; } + $phone_number=~s/[^0-9]//g; + $USarea = substr($phone_number, 0, 3); + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[5]]; + if ($oWkC) {$title=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[6]]; + if ($oWkC) {$first_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[7]]; + if ($oWkC) {$middle_initial=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[8]]; + if ($oWkC) {$last_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[9]]; + if ($oWkC) {$address1=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[10]]; + if ($oWkC) {$address2=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[11]]; + if ($oWkC) {$address3=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[12]]; + if ($oWkC) {$city=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[13]]; + if ($oWkC) {$state=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[14]]; + if ($oWkC) {$province=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[15]]; + if ($oWkC) {$postal_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[16]]; + if ($oWkC) {$country_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[17]]; + if ($oWkC) {$gender=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[18]]; + if ($oWkC) {$date_of_birth=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[19]]; + if ($oWkC) {$alt_phone=$oWkC->Value; } + $alt_phone=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[20]]; + if ($oWkC) {$email=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[21]]; + if ($oWkC) {$security_phrase=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[22]]; + if ($oWkC) {$comments=$oWkC->Value; } + $comments=~s/^\s*(.*?)\s*$/$1/; + + + + if (length($forcelistid) > 0) + { + $list_id = $forcelistid; # set list_id to override value + } + if (length($forcephonecode) > 0) + { + $phone_code = $forcephonecode; # set phone_code to override value + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if ($dupchecksys > 0) + { + $dup_lead=0; + $stmtA = "select count(*) from vicidial_list where phone_number='$phone_number';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead = $aryA[0]; + $dup_lead_list=$list_id; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if ($dupcheck > 0) + { + $dup_lead=0; + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id='$list_id' limit 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = $aryA[0]; + $dup_lead++; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if ($dupcheckcamp > 0) + { + $dup_lead=0; + $dup_lists=''; + + $stmtA = "select count(*) from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $ci_recs = $aryA[0]; + $sthA->finish(); + if ($ci_recs > 0) + { + $stmtA = "select campaign_id from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $dup_camp = $aryA[0]; + $sthA->finish(); + + $stmtA = "select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lists .= "'$aryA[0]',"; + $rec_count++; + } + $sthA->finish(); + + chop($dup_lists); + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = "'$aryA[0]',"; + $rec_count++; + $dup_lead=1; + } + $sthA->finish(); + } + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + + if ( (length($phone_number)>6) && ($dup_lead < 1) ) + { + $phone_list .= "$phone_number$US$list_id|"; + $postalgmt_found=0; + if (length($phone_code)<1) {$phone_code = '1';} + + if ( ($postalgmt > 0) && (length($postal_code)>4) ) + { + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[2]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[3]; + $dst_range = $aryA[4]; + $PC_processed++; + $rec_count++; + $postalgmt_found++; + if ($DBX) {print " Postal GMT record found for $postal_code: |$gmt_offset|$dst|$dst_range|\n";} + } + $sthA->finish(); + } + } + if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### MEXICO ### + if ($phone_code =~ /^52$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### AUSTRALIA ### + if ($phone_code =~ /^61$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + } + + ### Find out if DST to raise the gmt offset ### + $AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); + $AC_localtime = ($secX + (3600 * $AC_GMT_diff)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($AC_localtime); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + $AC_processed=0; + + if ( (!$AC_processed) && ($dst_range =~ /SSM-FSN/) ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + &USACAN_dstcalc; + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSA-LSO/) ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + &NA_dstcalc; + if ($DBX) {print " DST: $NA_DST\n";} + if ($NA_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSM-LSO/) ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + &GBR_dstcalc; + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSO-LSM/) ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + &AUS_dstcalc; + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-LSM/) ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + &AUST_dstcalc; + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-TSM/) ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + &NZL_dstcalc; + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /TSO-LSF/) ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + &BZL_dstcalc; + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$area_GMT++;} + $AC_processed++; + } + if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| $dup_lead_list\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + sleep(1); +# flush(); + } + } +} + +if ($multi_insert_counter > 0) { + $stmtZ = "INSERT INTO vicidial_list values ".substr($multistmt, 0, -1).";"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; +} + +print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total"; + +exit; + + + + + + +sub USACAN_dstcalc { +#********************************************************************** +# SSM-FSN +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on Second Sunday March to First Sunday November at 2 am. +# INPUTS: +# mm INTEGER Month. +# dd INTEGER Day of the month. +# ns INTEGER Seconds into the day. +# dow INTEGER Day of week (0=Sunday, to 6=Saturday) +# OPTIONAL INPUT: +# timezone INTEGER hour difference UTC - local standard time +# (DEFAULT is blank) +# make calculations based on UTC time, +# which means shift at 10:00 UTC in April +# and 9:00 UTC in October +# OUTPUT: +# INTEGER 1 = DST, 0 = not DST +# +# S M T W T F S +# 1 2 3 4 5 6 7 +# 8 9 10 11 12 13 14 +#15 16 17 18 19 20 21 +#22 23 24 25 26 27 28 +#29 30 31 +# +# S M T W T F S +# 1 2 3 4 5 6 +# 7 8 9 10 11 12 13 +#14 15 16 17 18 19 20 +#21 22 23 24 25 26 27 +#28 29 30 31 +# +#********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 10) { + $USACAN_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; return 1; + } elsif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } + } else { + $USACAN_DST=0; return 0; + } + } elsif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; return 0; + } elsif ($dd < ($dow+1)) { + $USACAN_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } + } else { + $USACAN_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub NA_dstcalc { +#********************************************************************** +# FSA-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in April and last Sunday in October at 2 am. +#********************************************************************** + + $NA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $NA_DST=0; return 0; + } elsif ($mm >= 5 && $mm <= 9) { + $NA_DST=1; return 1; + } elsif ($mm == 4) { + if ($dd > 7) { + $NA_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } + } else { + $NA_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $NA_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $NA_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } + } else { + $NA_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub GBR_dstcalc { +#********************************************************************** +# LSM-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in March and last Sunday in October at 1 am. +#********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 9) { + $GBR_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $GBR_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } + } else { + $GBR_DST=1; return 1; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $GBR_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } + } else { + $GBR_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub AUS_dstcalc { +#********************************************************************** +# LSO-LSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUS_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUS_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } + } else { + $AUS_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $AUS_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } + } else { + $AUS_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub AUST_dstcalc { +#********************************************************************** +# FSO-LSM +# TASMANIA ONLY +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUST_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUST_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } + } else { + $AUST_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $AUST_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } + } else { + $AUST_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub NZL_dstcalc { +#********************************************************************** +# FSO-TSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and third Sunday in March at 1 am. +#********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $NZL_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; return 1; + } elsif ($dd < ($dow+14)) { + $NZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } + } else { + $NZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $NZL_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } + } else { + $NZL_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub BZL_dstcalc { +#********************************************************************** +# TSO-LSF +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. Brazil +# Based on Third Sunday October to Last Sunday February at 1 am. +#********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; return 1; + } elsif ($mm >= 3 && $mm <= 9) { + $BZL_DST=0; return 0; + } elsif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; return 1; + } elsif ($dd < ($dow+22)) { + $BZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } + } else { + $BZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; return 0; + } elsif ($dd < ($dow+22)) { + $BZL_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } + } else { + $BZL_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/log_test.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/log_test.php new file mode 100644 index 00000000..cd7a86b7 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/log_test.php @@ -0,0 +1,37 @@ + LICENSE: GPLv2 +# + + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$ext_context = 'demo'; +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + +$fp = fopen ("./closer_SQL_updates.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + fwrite ($fp, "CLOSER SQL UPDATE|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + + + +exit; + + + +?> + + +Hello + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/new_listloader_superL.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/new_listloader_superL.php new file mode 100644 index 00000000..629321ed --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/new_listloader_superL.php @@ -0,0 +1,2069 @@ + LICENSE: GPLv2 +# +# AST GUI lead loader from formatted file +# +# CHANGES +# 50602-1640 - First version created by Joe Johnson +# 51128-1108 - Removed PHP global vars requirement +# 60113-1603 - Fixed a few bugs in Excel import +# 60421-1624 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60616-1240 - added listID override +# 60616-1604 - added gmt lookup for each lead +# 60619-1651 - Added variable filtering to eliminate SQL injection attack threat +# 60822-1121 - fixed for nonwritable directories +# 60906-1100 - added filter of non-digits in alt_phone field +# 61110-1222 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1149 - added postal code GMT lookup and duplicate check options +# 70417-1059 - Fixed default phone_code bug +# 70510-1518 - Added campaign and system duplicate check and phonecode override +# +# make sure vicidial_list exists and that your file follows the formatting correctly. This page does not dedupe or do any other lead filtering actions yet at this time. + +$version = '2.0.4'; +$build = '70510-1518'; + + +require("dbconnect.php"); + +### links used for testing +#$link=mysql_connect("10.10.10.15", "cron", "1234"); +#mysql_select_db("asterisk"); +#$WeBServeRRooT = '/home/www/htdocs'; + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +$leadfile=$_FILES["leadfile"]; + $LF_orig = $_FILES['leadfile']['name']; + $LF_path = $_FILES['leadfile']['tmp_name']; +if (isset($_GET["submit_file"])) {$submit_file=$_GET["submit_file"];} + elseif (isset($_POST["submit_file"])) {$submit_file=$_POST["submit_file"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["leadfile_name"])) {$leadfile_name=$_GET["leadfile_name"];} + elseif (isset($_POST["leadfile_name"])) {$leadfile_name=$_POST["leadfile_name"];} +if (isset($_GET["file_layout"])) {$file_layout=$_GET["file_layout"];} + elseif (isset($_POST["file_layout"])) {$file_layout=$_POST["file_layout"];} +if (isset($_GET["OK_to_process"])) {$OK_to_process=$_GET["OK_to_process"];} + elseif (isset($_POST["OK_to_process"])) {$OK_to_process=$_POST["OK_to_process"];} +if (isset($_GET["vendor_lead_code_field"])) {$vendor_lead_code_field=$_GET["vendor_lead_code_field"];} + elseif (isset($_POST["vendor_lead_code_field"])) {$vendor_lead_code_field=$_POST["vendor_lead_code_field"];} +if (isset($_GET["source_id_field"])) {$source_id_field=$_GET["source_id_field"];} + elseif (isset($_POST["source_id_field"])) {$source_id_field=$_POST["source_id_field"];} +if (isset($_GET["list_id_field"])) {$list_id_field=$_GET["list_id_field"];} + elseif (isset($_POST["list_id_field"])) {$list_id_field=$_POST["list_id_field"];} +if (isset($_GET["phone_code_field"])) {$phone_code_field=$_GET["phone_code_field"];} + elseif (isset($_POST["phone_code_field"])) {$phone_code_field=$_POST["phone_code_field"];} +if (isset($_GET["phone_number_field"])) {$phone_number_field=$_GET["phone_number_field"];} + elseif (isset($_POST["phone_number_field"])) {$phone_number_field=$_POST["phone_number_field"];} +if (isset($_GET["title_field"])) {$title_field=$_GET["title_field"];} + elseif (isset($_POST["title_field"])) {$title_field=$_POST["title_field"];} +if (isset($_GET["first_name_field"])) {$first_name_field=$_GET["first_name_field"];} + elseif (isset($_POST["first_name_field"])) {$first_name_field=$_POST["first_name_field"];} +if (isset($_GET["middle_initial_field"])) {$middle_initial_field=$_GET["middle_initial_field"];} + elseif (isset($_POST["middle_initial_field"])) {$middle_initial_field=$_POST["middle_initial_field"];} +if (isset($_GET["last_name_field"])) {$last_name_field=$_GET["last_name_field"];} + elseif (isset($_POST["last_name_field"])) {$last_name_field=$_POST["last_name_field"];} +if (isset($_GET["address1_field"])) {$address1_field=$_GET["address1_field"];} + elseif (isset($_POST["address1_field"])) {$address1_field=$_POST["address1_field"];} +if (isset($_GET["address2_field"])) {$address2_field=$_GET["address2_field"];} + elseif (isset($_POST["address2_field"])) {$address2_field=$_POST["address2_field"];} +if (isset($_GET["address3_field"])) {$address3_field=$_GET["address3_field"];} + elseif (isset($_POST["address3_field"])) {$address3_field=$_POST["address3_field"];} +if (isset($_GET["city_field"])) {$city_field=$_GET["city_field"];} + elseif (isset($_POST["city_field"])) {$city_field=$_POST["city_field"];} +if (isset($_GET["state_field"])) {$state_field=$_GET["state_field"];} + elseif (isset($_POST["state_field"])) {$state_field=$_POST["state_field"];} +if (isset($_GET["province_field"])) {$province_field=$_GET["province_field"];} + elseif (isset($_POST["province_field"])) {$province_field=$_POST["province_field"];} +if (isset($_GET["postal_code_field"])) {$postal_code_field=$_GET["postal_code_field"];} + elseif (isset($_POST["postal_code_field"])) {$postal_code_field=$_POST["postal_code_field"];} +if (isset($_GET["country_code_field"])) {$country_code_field=$_GET["country_code_field"];} + elseif (isset($_POST["country_code_field"])) {$country_code_field=$_POST["country_code_field"];} +if (isset($_GET["gender_field"])) {$gender_field=$_GET["gender_field"];} + elseif (isset($_POST["gender_field"])) {$gender_field=$_POST["gender_field"];} +if (isset($_GET["date_of_birth_field"])) {$date_of_birth_field=$_GET["date_of_birth_field"];} + elseif (isset($_POST["date_of_birth_field"])) {$date_of_birth_field=$_POST["date_of_birth_field"];} +if (isset($_GET["alt_phone_field"])) {$alt_phone_field=$_GET["alt_phone_field"];} + elseif (isset($_POST["alt_phone_field"])) {$alt_phone_field=$_POST["alt_phone_field"];} +if (isset($_GET["email_field"])) {$email_field=$_GET["email_field"];} + elseif (isset($_POST["email_field"])) {$email_field=$_POST["email_field"];} +if (isset($_GET["security_phrase_field"])) {$security_phrase_field=$_GET["security_phrase_field"];} + elseif (isset($_POST["security_phrase_field"])) {$security_phrase_field=$_POST["security_phrase_field"];} +if (isset($_GET["comments_field"])) {$comments_field=$_GET["comments_field"];} + elseif (isset($_POST["comments_field"])) {$comments_field=$_POST["comments_field"];} +if (isset($_GET["list_id_override"])) {$list_id_override=$_GET["list_id_override"];} + elseif (isset($_POST["list_id_override"])) {$list_id_override=$_POST["list_id_override"];} + $list_id_override = (preg_replace("/\D/","",$list_id_override)); +if (isset($_GET["lead_file"])) {$lead_file=$_GET["lead_file"];} + elseif (isset($_POST["lead_file"])) {$lead_file=$_POST["lead_file"];} +if (isset($_GET["dupcheck"])) {$dupcheck=$_GET["dupcheck"];} + elseif (isset($_POST["dupcheck"])) {$dupcheck=$_POST["dupcheck"];} +if (isset($_GET["postalgmt"])) {$postalgmt=$_GET["postalgmt"];} + elseif (isset($_POST["postalgmt"])) {$postalgmt=$_POST["postalgmt"];} +if (isset($_GET["phone_code_override"])) {$phone_code_override=$_GET["phone_code_override"];} + elseif (isset($_POST["phone_code_override"])) {$phone_code_override=$_POST["phone_code_override"];} + $phone_code_override = (preg_replace("/\D/","",$phone_code_override)); + +# $country_field=$_GET["country_field"]; if (!$country_field) {$country_field=$_POST["country_field"];} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$list_id_override = ereg_replace("[^0-9]","",$list_id_override); + + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) {$fp = fopen ("./project_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-LEAD-LOADER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT load_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGload_leads =$row[0]; + + if ($LOGload_leads < 1) + { + echo "You do not have permissions to load leads\n"; + exit; + } + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + + +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +$admDIR = "$HTTPprotocol$server_name$script_name"; +$admDIR = eregi_replace('new_listloader_superL.php','',$admDIR); +$admSCR = 'admin.php'; +$NWB = "   \"HELP\""; + +$secX = date("U"); +$hour = date("H"); +$min = date("i"); +$sec = date("s"); +$mon = date("m"); +$mday = date("d"); +$year = date("Y"); +$isdst = date("I"); +$Shour = date("H"); +$Smin = date("i"); +$Ssec = date("s"); +$Smon = date("m"); +$Smday = date("d"); +$Syear = date("Y"); +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + ### Grab Server GMT value from the database + $stmt="SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $rslt=mysql_query($stmt, $link); + $gmt_recs = mysql_num_rows($rslt); + if ($gmt_recs > 0) + { + $row=mysql_fetch_row($rslt); + $DBSERVER_GMT = "$row[0]"; + if (strlen($DBSERVER_GMT)>0) {$SERVER_GMT = $DBSERVER_GMT;} + if ($isdst) {$SERVER_GMT++;} + } + else + { + $SERVER_GMT = date("O"); + $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = ($SERVER_GMT + 0); + $SERVER_GMT = ($SERVER_GMT / 100); + } + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +#if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + + +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +function macfontfix($fontsize) { + + $browser = getenv("HTTP_USER_AGENT"); + $pctype = explode("(", $browser); + if (ereg("Mac",$pctype[1])) { + /* Browser is a Mac. If not Netscape 6, raise fonts */ + + $blownbrowser = explode('/', $browser); + $ver = explode(' ', $blownbrowser[1]); + $ver = $ver[0]; + if ($ver >= 5.0) return $fontsize; else return ($fontsize+2); + + } else return $fontsize; /* Browser is not a Mac - don't touch fonts */ +} + +echo "\n"; + +?> + + + +VICIDIAL ADMIN: Lead Loader + + +
method=post onSubmit="ParseFileName()" enctype="multipart/form-data"> + + +
\n"; + echo ""; + + $stmt="SELECT * from conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
CONFERENCE LISTINGS:\n"; +echo "
\n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2]$row[4]  MODIFY
\n"; +} + +###################### +# ADD=10000000000000 display all vicidial conferences +###################### +if ($ADD==10000000000000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
CONFERENCE LISTINGS:\n"; +echo "
\n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2]$row[4]  MODIFY
\n"; +} + +###################### +# ADD=999999 display reports section +###################### +if ($ADD==999999) +{ + if ($LOGview_reports==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + + $stmt="select * from servers;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $servers_to_print = mysql_num_rows($rslt); + $i=0; + while ($i < $servers_to_print) + { + $row=mysql_fetch_row($rslt); + $server_id[$i] = $row[0]; + $server_description[$i] = $row[1]; + $server_ip[$i] = $row[2]; + $active[$i] = $row[3]; + $i++; + } + + $stmt="SELECT enable_queuemetrics_logging,queuemetrics_url from system_settings;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging_LU = $row[0]; + $queuemetrics_url_LU = $row[1]; + + ?> + + + + + + VICIDIAL: Server Stats and Reports + VICIDIAL: Server Stats and Reports

+ +

+	
+	 $o)
+		{
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		$o++;
+		}
+
+	echo "
SERVERDESCRIPTIONIP ADDRESSACTIVEVDAD timePARK timeCLOSER/INBOUND time
$server_id[$o]$server_description[$o]$server_ip[$o]$active[$o]LINKLINKLINK
\n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + + + + +echo "
\n"; + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n
\n"; + + +echo "\n\n\n


\nscript runtime: $RUNtime seconds"; +echo "                   VERSION: $admin_version"; +echo "                   BUILD: $build
\n"; + + +?> + + +
+ + + +1) + { + if (strlen($dial_statuses)>2) + { + $g=0; + $p='13'; + $GMT_gmt[0] = ''; + $GMT_hour[0] = ''; + $GMT_day[0] = ''; + while ($p > -13) + { + $pzone=3600 * $p; + $pmin=(gmdate("i", time() + $pzone)); + $phour=( (gmdate("G", time() + $pzone)) * 100); + $pday=gmdate("w", time() + $pzone); + $tz = sprintf("%.2f", $p); + $GMT_gmt[$g] = "$tz"; + $GMT_day[$g] = "$pday"; + $GMT_hour[$g] = ($phour + $pmin); + $p = ($p - 0.25); + $g++; + } + + $stmt="SELECT * FROM vicidial_call_times where call_time_id='$local_call_time';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $Gct_default_start = "$rowx[3]"; + $Gct_default_stop = "$rowx[4]"; + $Gct_sunday_start = "$rowx[5]"; + $Gct_sunday_stop = "$rowx[6]"; + $Gct_monday_start = "$rowx[7]"; + $Gct_monday_stop = "$rowx[8]"; + $Gct_tuesday_start = "$rowx[9]"; + $Gct_tuesday_stop = "$rowx[10]"; + $Gct_wednesday_start = "$rowx[11]"; + $Gct_wednesday_stop = "$rowx[12]"; + $Gct_thursday_start = "$rowx[13]"; + $Gct_thursday_stop = "$rowx[14]"; + $Gct_friday_start = "$rowx[15]"; + $Gct_friday_stop = "$rowx[16]"; + $Gct_saturday_start = "$rowx[17]"; + $Gct_saturday_stop = "$rowx[18]"; + $Gct_state_call_times = "$rowx[19]"; + + $ct_states = ''; + $ct_state_gmt_SQL = ''; + $ct_srs=0; + $b=0; + if (strlen($Gct_state_call_times)>2) + { + $state_rules = explode('|',$Gct_state_call_times); + $ct_srs = ((count($state_rules)) - 2); + } + while($ct_srs >= $b) + { + if (strlen($state_rules[$b])>1) + { + $stmt="SELECT * from vicidial_state_call_times where state_call_time_id='$state_rules[$b]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Gstate_call_time_id = "$row[0]"; + $Gstate_call_time_state = "$row[1]"; + $Gsct_default_start = "$row[4]"; + $Gsct_default_stop = "$row[5]"; + $Gsct_sunday_start = "$row[6]"; + $Gsct_sunday_stop = "$row[7]"; + $Gsct_monday_start = "$row[8]"; + $Gsct_monday_stop = "$row[9]"; + $Gsct_tuesday_start = "$row[10]"; + $Gsct_tuesday_stop = "$row[11]"; + $Gsct_wednesday_start = "$row[12]"; + $Gsct_wednesday_stop = "$row[13]"; + $Gsct_thursday_start = "$row[14]"; + $Gsct_thursday_stop = "$row[15]"; + $Gsct_friday_start = "$row[16]"; + $Gsct_friday_stop = "$row[17]"; + $Gsct_saturday_start = "$row[18]"; + $Gsct_saturday_stop = "$row[19]"; + + $ct_states .="'$Gstate_call_time_state',"; + + $r=0; + $state_gmt=''; + while($r < $g) + { + if ($GMT_day[$r]==0) #### Sunday local time + { + if (($Gsct_sunday_start==0) and ($Gsct_sunday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_sunday_start) and ($GMT_hour[$r]<$Gsct_sunday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==1) #### Monday local time + { + if (($Gsct_monday_start==0) and ($Gsct_monday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_monday_start) and ($GMT_hour[$r]<$Gsct_monday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==2) #### Tuesday local time + { + if (($Gsct_tuesday_start==0) and ($Gsct_tuesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_tuesday_start) and ($GMT_hour[$r]<$Gsct_tuesday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==3) #### Wednesday local time + { + if (($Gsct_wednesday_start==0) and ($Gsct_wednesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_wednesday_start) and ($GMT_hour[$r]<$Gsct_wednesday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==4) #### Thursday local time + { + if (($Gsct_thursday_start==0) and ($Gsct_thursday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_thursday_start) and ($GMT_hour[$r]<$Gsct_thursday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==5) #### Friday local time + { + if (($Gsct_friday_start==0) and ($Gsct_friday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_friday_start) and ($GMT_hour[$r]<$Gsct_friday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==6) #### Saturday local time + { + if (($Gsct_saturday_start==0) and ($Gsct_saturday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_saturday_start) and ($GMT_hour[$r]<$Gsct_saturday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + $r++; + } + $state_gmt = "$state_gmt'99'"; + $ct_state_gmt_SQL .= "or (state='$Gstate_call_time_state' and gmt_offset_now IN($state_gmt)) "; + } + + $b++; + } + if (strlen($ct_states)>2) + { + $ct_states = eregi_replace(",$",'',$ct_states); + $ct_statesSQL = "and state NOT IN($ct_states)"; + } + else + { + $ct_statesSQL = ""; + } + + $r=0; + $default_gmt=''; + while($r < $g) + { + if ($GMT_day[$r]==0) #### Sunday local time + { + if (($Gct_sunday_start==0) and ($Gct_sunday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_sunday_start) and ($GMT_hour[$r]<$Gct_sunday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==1) #### Monday local time + { + if (($Gct_monday_start==0) and ($Gct_monday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_monday_start) and ($GMT_hour[$r]<$Gct_monday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==2) #### Tuesday local time + { + if (($Gct_tuesday_start==0) and ($Gct_tuesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_tuesday_start) and ($GMT_hour[$r]<$Gct_tuesday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==3) #### Wednesday local time + { + if (($Gct_wednesday_start==0) and ($Gct_wednesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_wednesday_start) and ($GMT_hour[$r]<$Gct_wednesday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==4) #### Thursday local time + { + if (($Gct_thursday_start==0) and ($Gct_thursday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_thursday_start) and ($GMT_hour[$r]<$Gct_thursday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==5) #### Friday local time + { + if (($Gct_friday_start==0) and ($Gct_friday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_friday_start) and ($GMT_hour[$r]<$Gct_friday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==6) #### Saturday local time + { + if (($Gct_saturday_start==0) and ($Gct_saturday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_saturday_start) and ($GMT_hour[$r]<$Gct_saturday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + $r++; + } + + $default_gmt = "$default_gmt'99'"; + $all_gmtSQL = "(gmt_offset_now IN($default_gmt) $ct_statesSQL) $ct_state_gmt_SQL"; + + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) - 0); + $Dsql = ''; + $o=0; + while ($Ds_to_print > $o) + { + $o++; + $Dsql .= "'$Dstatuses[$o]',"; + } + $Dsql = preg_replace("/,$/","",$Dsql); + + $stmt="SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $fSQL"; + #$DB=1; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rslt_rows = mysql_num_rows($rslt); + if ($rslt_rows) + { + $rowx=mysql_fetch_row($rslt); + $active_leads = "$rowx[0]"; + } + else {$active_leads = '0';} + + echo "|$DB|\n"; + echo "This campaign has $active_leads leads to be dialed in those lists\n"; + } + else + { + echo "no dial statuses selected for this campaign\n"; + } + } + else + { + echo "no active lists selected for this campaign\n"; + } + } +else + { + echo "no active lists selected for this campaign\n"; + } +##### END calculate what gmt_offset_now values are within the allowed local_call_time setting ### +} +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/admin_modify_lead.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/admin_modify_lead.php new file mode 100644 index 00000000..f8a285ec --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/admin_modify_lead.php @@ -0,0 +1,610 @@ + LICENSE: GPLv2 +# + +# CHANGES +# +# 70702-1259 - Added recording location link and truncation +# 70906-2132 - Added closer_log records display +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];} + elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];} + elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];} + elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];} + elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];} +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["security"])) {$security=$_GET["security"];} + elseif (isset($_POST["security"])) {$security=$_POST["security"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["CBchangeUSERtoANY"])) {$CBchangeUSERtoANY=$_GET["CBchangeUSERtoANY"];} + elseif (isset($_POST["CBchangeUSERtoANY"])) {$CBchangeUSERtoANY=$_POST["CBchangeUSERtoANY"];} +if (isset($_GET["CBchangeUSERtoUSER"])) {$CBchangeUSERtoUSER=$_GET["CBchangeUSERtoUSER"];} + elseif (isset($_POST["CBchangeUSERtoUSER"])) {$CBchangeUSERtoUSER=$_POST["CBchangeUSERtoUSER"];} +if (isset($_GET["CBchangeANYtoUSER"])) {$CBchangeANYtoUSER=$_GET["CBchangeANYtoUSER"];} + elseif (isset($_POST["CBchangeANYtoUSER"])) {$CBchangeANYtoUSER=$_POST["CBchangeANYtoUSER"];} +if (isset($_GET["callback_id"])) {$callback_id=$_GET["callback_id"];} + elseif (isset($_POST["callback_id"])) {$callback_id=$_POST["callback_id"];} +if (isset($_GET["CBuser"])) {$CBuser=$_GET["CBuser"];} + elseif (isset($_POST["CBuser"])) {$CBuser=$_POST["CBuser"];} +if (isset($_GET["modify_logs"])) {$modify_logs=$_GET["modify_logs"];} + elseif (isset($_POST["modify_logs"])) {$modify_logs=$_POST["modify_logs"];} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + + +### AST GUI database administration modify lead in vicidial_list +### admin_modify_lead.php + +# this is the administration lead information modifier screen, the administrator just needs to enter the leadID and then they can view and modify the information in the record for that lead + +# CHANGES +# +# 60419-1705 - Added ability to change lead callback record from USERONLY to ANYONE or USERONLY-user +# 60421-1459 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60609-1112 - Added DNC list addition if status changed to DNC +# 60619-1539 - Added variable filtering to eliminate SQL injection attack threat +# 61130-1639 - Added recording_log lookup and list for this lead_id +# 61201-1136 - Added recording_log user(TSR) display and link +# 70305-1133 - Changed to default CHECKED modify logs upon status change +# 70424-1128 - Added campaign-specific statuses, reformatted recordings list +# + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and modify_leads='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name,modify_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + + + +VICIDIAL ADMIN: Lead record modification + + +
+VICIDIAL ADMIN: Lead record modification
\n"; + +if ($end_call > 0) +{ + +$call_length = ($STARTtime - $call_began); + + ### insert a NEW record to the vicidial_closer_log table + $stmt="INSERT INTO vicidial_closer_log (lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed) values('" . mysql_real_escape_string($lead_id) . "','" . mysql_real_escape_string($list_id) . "','" . mysql_real_escape_string($campaign_id) . "','" . mysql_real_escape_string($parked_time) . "','" . mysql_real_escape_string($call_began) . "','$STARTtime','" . mysql_real_escape_string($call_length) . "','" . mysql_real_escape_string($status) . "','" . mysql_real_escape_string($phone_code) . "','" . mysql_real_escape_string($phone_number) . "','$PHP_AUTH_USER','" . mysql_real_escape_string($comments) . "','Y')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + ### update the lead record in the vicidial_list table + $stmt="UPDATE vicidial_list set status='" . mysql_real_escape_string($status) . "',first_name='" . mysql_real_escape_string($first_name) . "',last_name='" . mysql_real_escape_string($last_name) . "',address1='" . mysql_real_escape_string($address1) . "',address2='" . mysql_real_escape_string($address2) . "',address3='" . mysql_real_escape_string($address3) . "',city='" . mysql_real_escape_string($city) . "',state='" . mysql_real_escape_string($state) . "',province='" . mysql_real_escape_string($province) . "',postal_code='" . mysql_real_escape_string($postal_code) . "',country_code='" . mysql_real_escape_string($country_code) . "',alt_phone='" . mysql_real_escape_string($alt_phone) . "',email='" . mysql_real_escape_string($email) . "',security_phrase='" . mysql_real_escape_string($security) . "',comments='" . mysql_real_escape_string($comments) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "information modified

\n"; + echo "\n"; + + if ( ($dispo != $status) and ($dispo == 'CBHOLD') ) + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status='ACTIVE';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
vicidial_callback record inactivated: $lead_id
\n"; + } + if ( ($dispo != $status) and ($dispo == 'CALLBK') ) + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
vicidial_callback record inactivated: $lead_id
\n"; + } + + if ( ($dispo != $status) and ($status == 'DNC') ) + { + ### add lead to the internal DNC list + $stmt="INSERT INTO vicidial_dnc (phone_number) values('" . mysql_real_escape_string($phone_number) . "');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
Lead added to DNC List: $lead_id - $phone_number
\n"; + } + ### update last record in vicidial_agent_log and vicidial_log tables + if (($dispo != $status) and ($modify_logs > 0)) + { + $stmt="UPDATE vicidial_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by call_date desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_agent_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by agent_log_id desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + +} +else +{ + + if ($CBchangeUSERtoANY == 'YES') + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set recipient='ANYONE' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
vicidial_callback record changed to ANYONE
\n"; + } + if ($CBchangeUSERtoUSER == 'YES') + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
vicidial_callback record user changed to $CBuser
\n"; + } + if ($CBchangeANYtoUSER == 'YES') + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "',recipient='USERONLY' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
vicidial_callback record changed to USERONLY, user: $CBuser
\n"; + } + + + + $stmt="SELECT count(*) from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_count = $row[0]; + + if ($lead_count > 0) + { + + $stmt="select * from vicidial_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by uniqueid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + $call_log = ''; + $log_campaign = ''; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (strlen($log_campaign)<1) {$log_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + $call_log .= "
"; + $call_log .= ""; + $call_log .= ""; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + + } + + $stmt="select * from vicidial_closer_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by closecallid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $Clogs_to_print = mysql_num_rows($rslt); + + $y=0; + $closer_log = ''; + $Clog_campaign = ''; + while ($Clogs_to_print > $y) + { + $row=mysql_fetch_row($rslt); + if (strlen($Clog_campaign)<1) {$Clog_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + + } + + $stmt="SELECT * from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_id = "$row[0]"; + $dispo = "$row[3]"; + $tsr = "$row[4]"; + $vendor_id = "$row[5]"; + $list_id = "$row[7]"; + $campaign_id = "$row[8]"; + $phone_code = "$row[10]"; + $phone_number = "$row[11]"; + $title = "$row[12]"; + $first_name = "$row[13]"; # + $middle_initial = "$row[14]"; + $last_name = "$row[15]"; # + $address1 = "$row[16]"; # + $address2 = "$row[17]"; # + $address3 = "$row[18]"; # + $city = "$row[19]"; # + $state = "$row[20]"; # + $province = "$row[21]"; # + $postal_code = "$row[22]"; # + $country_code = "$row[23]"; # + $gender = "$row[24]"; + $date_of_birth = "$row[25]"; + $alt_phone = "$row[26]"; # + $email = "$row[27]"; # + $security = "$row[28]"; # + $comments = "$row[29]"; # + + echo "
Call information: $first_name $last_name - $phone_number

\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
$u$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1]
$y$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1]   $row[14]
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + + echo "\n"; + echo "
Vendor ID: $vendor_id     Lead ID: $lead_id
Fronter: $tsr     List ID: $list_id
First Name:   \n"; + echo " Last Name:
Address 1 :
Address 2 :
Address 3 :
City :
State:   \n"; + echo " Postal Code:
Province :
Country :
Alt Phone :
Email :
Security :
Comments :
Disposition: (with $log_campaign statuses)
Modify agent and vicidial logs
\n"; + echo "


\n"; + + if ( ($dispo == 'CALLBK') or ($dispo == 'CBHOLD') ) + { + ### find any vicidial_callback records for this lead + $stmt="select * from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CB_to_print = mysql_num_rows($rslt); + $rowx=mysql_fetch_row($rslt); + + if ($CB_to_print>0) + { + if ($rowx[9] == 'USERONLY') + { + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

\n"; + + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UserID: \n"; + echo "

\n"; + } + else + { + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UserID: \n"; + echo "

\n"; + } + } + else + { + echo "
No Callback records found
\n"; + } + } + + + + + + + } + else + { + echo "lead lookup FAILED for lead_id $lead_id       $NOW_TIME\n

\n"; +# echo "Close this window\n

\n"; + } + + + +echo "

\n"; + +echo "
\n"; + +echo "CALLS TO THIS LEAD:\n"; +echo "\n"; +echo "\n"; + + echo "$call_log\n"; + +echo "
# DATE/TIME LENGTH STATUS TSR CAMPAIGN LIST LEAD
\n"; +echo "

\n"; + +echo "CLOSER RECORDS FOR THIS LEAD:\n"; +echo "\n"; +echo "\n"; + + echo "$closer_log\n"; + +echo "
# DATE/TIME LENGTH STATUS TSR CAMPAIGN LIST LEAD WAIT
\n"; +echo "

\n"; + + +echo "RECORDINGS FOR THIS LEAD:\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from recording_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by recording_id desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $location = $row[11]; + if (strlen($location)>30) + {$locat = substr($location,0,27); $locat = "$locat...";} + else + {$locat = $location;} + if (eregi("http",$location)) + {$location = "$locat";} + else + {$location = $locat;} + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + + } + + +echo "
# LEADDATE/TIME SECONDS   RECIDFILENAMELOCATIONTSR
$u $row[12] $row[4] $row[8] $row[0]   $row[10] $location $row[13]
\n"; + + + + +} + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nscript runtime: $RUNtime seconds
"; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/admin_search_lead.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/admin_search_lead.php new file mode 100644 index 00000000..ff814159 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/admin_search_lead.php @@ -0,0 +1,225 @@ + LICENSE: GPLv2 +### +### AST GUI database administration search for lead info +### admin_modify_lead.php +# +# this is the administration lead information modifier screen, the administrator just needs to enter the leadID and then they can view and modify the information in the record for that lead +# +# changes: +# 60620-1055 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# - Changed results to multi-record +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and modify_leads='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name,modify_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + + + +VICIDIAL ADMIN: Lead Search + +Lead Lookup + + +VICIDIAL ADMIN: Lead search
\n"; + + +if ( (!$vendor_id) and (!$phone) and (!$lead_id) ) + { + echo date("l F j, Y G:i:s A"); + echo "\n

\n"; + echo "
\n"; + echo "\n"; + echo "Please enter a:
Vendor ID(vendor lead code): or \n"; + echo "
a Home Phone Number: or\n"; + echo "
a lead ID:

\n"; + echo "
\n"; + echo "\n
\n"; + echo "\n"; + exit; + } + +else + { + + if ($vendor_id) + { + $stmt="SELECT * from vicidial_list where vendor_lead_code='" . mysql_real_escape_string($vendor_id) . "' order by modify_date desc limit 1000"; + } + else + { + if ($phone) + { + $stmt="SELECT * from vicidial_list where phone_number='" . mysql_real_escape_string($phone) . "' order by modify_date desc limit 1000"; + } + else + { + if ($lead_id) + { + $stmt="SELECT * from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "' order by modify_date desc limit 1000"; + } + else + { + print "ERROR: you must search for something! Go back and search for something"; + exit; + } + } + } + if ($DB) + { + echo "\n\n$stmt\n\n"; + } + + $rslt=mysql_query($stmt, $link); + $results_to_print = mysql_num_rows($rslt); + if ($results_to_print < 1) + { + echo date("l F j, Y G:i:s A"); + echo "\n

\n"; + echo "The search variables you entered are not active in the system

\n"; + echo "Please go back and double check the information you entered and submit again\n"; + echo "
\n"; + echo "\n"; + exit; + } + else + { + echo "RESULTS: $results_to_print

\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $o=0; + while ($results_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $o++; + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + echo "
#LEAD IDSTATUSVENDOR IDLAST AGENTLIST IDPHONENAMECITYSECURITYLAST CALL
$o$row[0]$row[3]$row[5]$row[4]$row[7]$row[11]$row[13] $row[15]$row[19]$row[28]$row[2]
\n"; + } + } + + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\nNEW SEARCH"; + + +echo "\n\n\n


\nscript runtime: $RUNtime seconds"; + + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/closer-fronter_popup.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/closer-fronter_popup.php new file mode 100644 index 00000000..98a58eca --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/closer-fronter_popup.php @@ -0,0 +1,516 @@ + LICENSE: GPLv2 +### +# this is the closer popup of a specific call that starts recording the call and allows you to go and fetch info on that caller in the local CRM system. +# CHANGES +# +# 60620-1020 - Added variable filtering to eliminate SQL injection attack threat +# 61201-1114 - Added lead_id and user to recording_log entry +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];} + elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["channel_group"])) {$channel_group=$_GET["channel_group"];} + elseif (isset($_POST["channel_group"])) {$channel_group=$_POST["channel_group"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["customer_zap_channel"])) {$customer_zap_channel=$_GET["customer_zap_channel"];} + elseif (isset($_POST["customer_zap_channel"])) {$customer_zap_channel=$_POST["customer_zap_channel"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];} + elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];} + elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["security"])) {$security=$_GET["security"];} + elseif (isset($_POST["security"])) {$security=$_POST["security"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_id"])) {$session_id=$_GET["session_id"];} + elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];} + elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +#$DB = '1'; # DEBUG override +$US = '_'; +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$REC_TIME = date("Ymd-His"); +$FILE_datetime = $STARTtime; +$parked_time = $STARTtime; + +# $ext_context = 'default'; defined in dbconnect file + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-CLOSER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($user); + $password=strtoupper($pass); + $stmt="SELECT full_name from vicidial_users where user='$user' and pass='$pass'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $fullname = $row[0]; + fwrite ($fp, "VD_CLOSER|GOOD|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + + if ( (strlen($customer_zap_channel)>2) and (eregi('zap',$customer_zap_channel)) ) + { + echo "\n\n"; + echo "\n\n"; + + } + else + { + echo "Bad channel: $customer_zap_channel\n"; + echo "Make sure the Zap channel is live and try again\n"; + exit; + } + + } + else + { + fwrite ($fp, "VD_CLOSER|FAIL|$date|$user|$pass|$ip|$browser|\n"); + fclose($fp); + } + } + +echo "\n"; +echo "\n"; +echo "VICIDIAL FRONTER-CLOSER: Popup\n"; +echo "\n"; + +if (eregi('CL_UNIV',$channel_group)) + { + ?> + + \n"; + echo "function WaitFirefix() {setTimeout(document.forms[0].search_phone.focus(), 1000)}\n"; + echo "\n"; + } +?> + + +
+ + 0) +{ + +# $stmt="DELETE from parked_channels where server_ip='$server_ip' and parked_time='$parked_time' and channel='$channel' LIMIT 1"; +# if ($DB) {echo "|$stmt|\n";} +# $rslt=mysql_query($stmt, $link); + + $DTqueryCID = "RZ$FILE_datetime$user"; + + ### insert a NEW record to the vicidial_manager table to be processed + + $channel = $customer_zap_channel; + $channel = eregi_replace('Zap/', "", $channel); + $SIPexten = eregi_replace('SIP/', "", $SIPexten); + $filename = "$REC_TIME$US$SIPexten"; + +# $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Monitor','$DTqueryCID','Channel: Zap/$channel','File: $filename','Callerid: $DTqueryCID','','','','','','','')"; +# if ($DB) {echo "|$stmt|\n";} +# $rslt=mysql_query($stmt, $link); + + # Local/78600098@demo-6617,2 + + $stmt = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','" . mysql_real_escape_string($server_ip) . "','','Originate','$DTqueryCID','Channel: $local_DEF$conf_silent_prefix" . mysql_real_escape_string($session_id) . "$local_AMP$ext_context','Context: $ext_context','Exten: $recording_exten','Priority: 1','Callerid: " . mysql_real_escape_string($filename) . "','','','','','')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('Zap/" . mysql_real_escape_string($channel) . "','" . mysql_real_escape_string($server_ip) . "','SIP/" . mysql_real_escape_string($SIPexten) . "','$NOW_TIME','$STARTtime','" . mysql_real_escape_string($filename) . "','$lead_id','$user')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='" . mysql_real_escape_string($filename) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + + echo "Recording command sent for channel $channel - $filename - $recording_id       $NOW_TIME\n

\n"; + + $stmt="SELECT full_name from vicidial_users where user='" . mysql_real_escape_string($user) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + + echo "Call Referred by: $user - $full_name\n

\n"; + + $url = "http://10.10.99.2/vicidial/closer_dispo.php?lead_id=$lead_id&channel=$channel&server_ip=$server_ip&extension=$SIPexten&call_began=$STARTtime&parked_time=$parked_time&DB=$DB"; + + echo "View Customer Info and Disposition Call\n

\n"; + + + +# $stmt="UPDATE park_log set grab_time='$NOW_TIME',status='TALKING',extension='$extension',user='$user' where parked_time='$parked_time' and server_ip='$server_ip' and channel='$channel'"; +# if ($DB) {echo "|$stmt|\n";} +# $fp = fopen ("./closer_SQL_updates.txt", "a"); +# fwrite ($fp, "$date|$user|$stmt|\n"); +# fclose($fp); +# $rslt=mysql_query($stmt, $link); + +########################################################################################### +####### HERE IS WHERE YOU DEFINE DIFFERENT CONTENTS DEPENDING UPON THE CHANNEL_GROUP PREFIX +########################################################################################### +if (eregi('CL_TEST',$channel_group)) + { + echo "GALLERIA TEST CLOSER GROUP: $channel_group\n"; + + $stmt="SELECT user,phone_number from vicidial_list where lead_id='" . mysql_real_escape_string($parked_by) . "';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $fronter=$row[0]; + $search_phone=$row[1]; + + + ?> +
+ + + + + + + + + + + + + + + +
COF MW Customer Search
Phone number
+
+

+ +
+ + + + + + + + + + + + + + + +
COF MW Customer Search
Phone number
+
+

+ -- INTERNAL CALL GALLERIA FRONT --
\n"; + $group_color='#99FF99'; + } + if (eregi('CL_GALLER2',$channel_group)) + { + echo "
-- TouchAsia CALL Simple Escapes FRONT --
\n"; + $group_color='#FF9999'; + } + if (eregi('CL_GALLER3',$channel_group)) + { + echo "
-- DebitSupplies CALL Simple Escapes FRONT --
\n"; + $group_color='#FF9999'; + } + if (eregi('CL_GALLER4',$channel_group)) + { + echo "
-- Vishnu CALL Simple Escapes FRONT --
\n"; + $group_color='#FF9999'; + } + + + ?> +
+ + + + + + + + + + + + + + + +
COF MW Customer Search
Phone number
+
+

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
New Search
Reservation Number:
Confirmation #:
Phone #:


Back
+ +
+ + + Close this window\n

\n"; +} +else +{ + echo "Record command FAILED for channel $channel       $NOW_TIME\n

\n"; + echo "Please go back and try again\n

\n"; +# echo "
\n"; +} + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nscript runtime: $RUNtime seconds
"; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/closer-fronter_popup2.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/closer-fronter_popup2.php new file mode 100644 index 00000000..1c98063d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/closer-fronter_popup2.php @@ -0,0 +1,431 @@ + LICENSE: GPLv2 +### +# this is the closer popup of a specific call that starts recording the call and allows you to go and fetch info on that caller in the local CRM system. +# CHANGES +# +# 60620-1025 - Added variable filtering to eliminate SQL injection attack threat +# 61201-1114 - Added lead_id and user to recording_log entry +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];} + elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["channel_group"])) {$channel_group=$_GET["channel_group"];} + elseif (isset($_POST["channel_group"])) {$channel_group=$_POST["channel_group"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["customer_zap_channel"])) {$customer_zap_channel=$_GET["customer_zap_channel"];} + elseif (isset($_POST["customer_zap_channel"])) {$customer_zap_channel=$_POST["customer_zap_channel"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];} + elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];} + elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["security"])) {$security=$_GET["security"];} + elseif (isset($_POST["security"])) {$security=$_POST["security"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_id"])) {$session_id=$_GET["session_id"];} + elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];} + elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +#$DB = '1'; # DEBUG override +$US = '_'; +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$REC_TIME = date("Ymd-His"); +$FILE_datetime = $STARTtime; +$parked_time = $STARTtime; + +# $ext_context = 'default'; defined in dbconnect file +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if (!$auth) + { + if ( (strlen($PHP_AUTH_USER)>1) and ( (eregi("tsr",$PHP_AUTH_PW)) or (eregi("sales",$PHP_AUTH_PW)) ) ) + { + $auth=1; + $user = $PHP_AUTH_USER; + $pass = $PHP_AUTH_PW; + } + } + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-CLOSER - $user - $PHP_AUTH_USER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($user); + $password=strtoupper($pass); + $stmt="SELECT full_name from vicidial_users where user='$user' and pass='$pass'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $fullname = $row[0]; + fwrite ($fp, "VD_CLOSER|GOOD|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + + if ( (strlen($customer_zap_channel)>2) and ( (eregi('zap',$customer_zap_channel)) or (eregi('iax',$customer_zap_channel)) ) ) + { + echo "\n\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + } + else + { + echo "Bad channel: $customer_zap_channel\n"; + echo "Make sure the Zap channel is live and try again\n"; + exit; + } + + } + else + { + fwrite ($fp, "VD_CLOSER|FAIL|$date|$user|$pass|$ip|$browser|\n"); + fclose($fp); + } + } + +echo "\n"; +echo "\n"; +echo "VICIDIAL FRONTER-CLOSER: Popup\n"; +echo "\n"; + +if (eregi('CL_UNIV',$channel_group)) + { + ?> + + \n"; + echo "function WaitFirefix() {setTimeout(document.forms[0].search_phone.focus(), 1000)}\n"; + echo "\n"; + } +?> + + +
+ + 0) +{ + +# $stmt="DELETE from parked_channels where server_ip='$server_ip' and parked_time='$parked_time' and channel='$channel' LIMIT 1"; +# if ($DB) {echo "|$stmt|\n";} +# $rslt=mysql_query($stmt, $link); + + $DTqueryCID = "RZ$FILE_datetime$user"; + + ### insert a NEW record to the vicidial_manager table to be processed + + $channel = $customer_zap_channel; +# $channel = eregi_replace('Zap/', "", $channel); + $SIPexten = eregi_replace('SIP/', "", $SIPexten); + $filename = "$REC_TIME$US$SIPexten"; + +# $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Monitor','$DTqueryCID','Channel: Zap/$channel','File: $filename','Callerid: $DTqueryCID','','','','','','','')"; +# if ($DB) {echo "|$stmt|\n";} +# $rslt=mysql_query($stmt, $link); + + # Local/78600098@demo-6617,2 + + $stmt = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','" . mysql_real_escape_string($server_ip) . "','','Originate','$DTqueryCID','Channel: $local_DEF$conf_silent_prefix" . mysql_real_escape_string($session_id) . "$local_AMP$ext_context','Context: $ext_context','Exten: $recording_exten','Priority: 1','Callerid: " . mysql_real_escape_string($filename) . "','','','','','')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','" . mysql_real_escape_string($server_ip) . "','SIP/" . mysql_real_escape_string($SIPexten) . "','$NOW_TIME','$STARTtime','" . mysql_real_escape_string($filename) . "','$lead_id','$user')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='" . mysql_real_escape_string($filename) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + + echo "Recording command sent for channel $channel - $filename - $recording_id       $NOW_TIME\n

\n"; + + $stmt="SELECT full_name from vicidial_users where user='" . mysql_real_escape_string($fronter) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + + echo "Call Referred by: $fronter - $full_name\n

\n"; + + $url = "http://10.10.10.196/vicidial/closer_dispo.php?lead_id=$lead_id&channel=$channel&server_ip=$server_ip&extension=$SIPexten&call_began=$STARTtime&parked_time=$parked_time&DB=$DB"; + + echo "View Customer Info and Disposition Call\n

\n"; + + + $stmt="SELECT group_name,group_color from vicidial_inbound_groups where group_id='" . mysql_real_escape_string($channel_group) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $group_name = $row[0]; + $group_color = $row[1]; + + echo "
\n"; + echo "
$channel_group - $group_name

\n\n"; + +########################################################################################### +####### HERE IS WHERE YOU DEFINE DIFFERENT CONTENTS DEPENDING UPON THE CHANNEL_GROUP PREFIX +########################################################################################### + +if (eregi('CL',$channel_group)) + { + if (strlen($phone) > 9) {$search_phone = $phone;} + if ( (strlen($search_phone) < 10) or (strlen($fronter) < 1) ) + { + echo "\n"; + $stmt="SELECT user,phone_number from vicidial_list where lead_id='$parked_by';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if (strlen($fronter) < 1) {$fronter=$row[0];} + if (strlen($search_phone) < 10) {$search_phone=$row[1];} + } + + ?> +
+ + + + + + + + + + + + + + + +
COF MW Customer Search
Phone number
+
+

+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
New Search
Reservation Number:
Confirmation #:
Phone #:


Back
+ +
+ + + Close this window\n

\n"; +} +else +{ + echo "Record command FAILED for channel $channel       $NOW_TIME\n

\n"; + echo "Please go back and try again\n

\n"; +# echo "
\n"; +} + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nscript runtime: $RUNtime seconds
"; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/closer.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/closer.php new file mode 100644 index 00000000..59599edb --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/closer.php @@ -0,0 +1,353 @@ + LICENSE: GPLv2 +### +# the purpose of this script and webpage is to allow for remote or local users of the system to log in and grab phone calls that are coming inbound into the Asterisk server and being put in the parked_channels table while they hear a soundfile for a limited amount of time before being forwarded on to either a set extension or a voicemail box. This gives remote or local agents a way to grab calls without tying up their phone lines all day. The agent sees the refreshing screen of calls on park and when they want to take one they just click on it, and a small window opens that will allow them to grab the call and/or look up more information on the caller through the callerID that is given(if available) +# CHANGES +# +# 60620-1032 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["group_selected"])) {$group_selected=$_GET["group_selected"];} + elseif (isset($_POST["group_selected"])) {$group_selected=$_POST["group_selected"];} +if (isset($_GET["dialplan_number"])) {$dialplan_number=$_GET["dialplan_number"];} + elseif (isset($_POST["dialplan_number"])) {$dialplan_number=$_POST["dialplan_number"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["groupselect"])) {$groupselect=$_GET["groupselect"];} + elseif (isset($_POST["groupselect"])) {$groupselect=$_POST["groupselect"];} +if (isset($_GET["PHONE_LOGIN"])) {$PHONE_LOGIN=$_GET["PHONE_LOGIN"];} + elseif (isset($_POST["PHONE_LOGIN"])) {$PHONE_LOGIN=$_POST["PHONE_LOGIN"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["channel_group"])) {$channel_group=$_GET["channel_group"];} + elseif (isset($_POST["channel_group"])) {$channel_group=$_POST["channel_group"];} +if (isset($_GET["debugvars"])) {$debugvars=$_GET["debugvars"];} + elseif (isset($_POST["debugvars"])) {$debugvars=$_POST["debugvars"];} +if (isset($_GET["parked_by"])) {$parked_by=$_GET["parked_by"];} + elseif (isset($_POST["parked_by"])) {$parked_by=$_POST["parked_by"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$popup_page = './closer_popup.php'; + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 2;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-CLOSER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $fullname = $row[0]; + fwrite ($fp, "VD_CLOSER|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + + } + else + { + fwrite ($fp, "VD_CLOSER|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + + +$color_class[0] = 'green'; +$color_class[1] = 'red'; +$color_class[2] = 'blue'; +$color_class[3] = 'purple'; +$color_class[4] = 'orange'; +$color_class[5] = 'green'; +$color_class[6] = 'red'; +$color_class[7] = 'blue'; +$color_class[8] = 'purple'; +$color_class[9] = 'orange'; +?> + + + + + +VICIDIAL CLOSER: Main + + +
+ + 0) + { + $stmt="SELECT dialplan_number,server_ip from phones where extension='" . mysql_real_escape_string($extension) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $dialplan_number=$row[0]; + $server_ip=$row[1]; + + if (!$group_selected) + { + $stmt="select distinct channel_group from park_log;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $groups_to_print = mysql_num_rows($rslt); + $i=0; + while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + echo "
Please select the groups you want to pick calls up from:
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Inbound Call Groups:
\n"; + $o=0; + while ($groups_to_print > $o) + { + $group_form_print = sprintf("%-20s", $groups[$o]); + echo "$group_form_print
\n"; + $o++; + } + echo "
\n"; + echo "\n"; + echo "


\n"; + } + else + { + $o=0; + while($o < $group_selected) + { + $form_groups = "$form_groups&groupselect[$o]=$groupselect[$o]"; + $o++; + } + + $stmt="INSERT INTO vicidial_user_log values('','" . mysql_real_escape_string($user) . "','LOGIN','CLOSER','$NOW_TIME','$STARTtime');"; + $rslt=mysql_query($stmt, $link); + + echo "\n"; + echo"\n"; + + echo "extension found, forwarding you to closer page, please wait 3 seconds...
\n"; + } + + } + else + { + echo "The extension you entered does not exist, please try again
\n"; + echo "
Please enter your phone_ID: \n"; + echo "\n"; + echo "phone station ID:   \n"; + echo "\n"; + echo "


\n"; + } + + } + else + { + echo "
Please enter your phone_ID: \n"; + echo "\n"; + echo "phone station ID:   \n"; + echo "\n"; + echo "


\n"; + } + +exit; + +} + +$o=0; +while($o < $group_selected) +{ + $listen_groups = "$listen_groups     $groupselect[$o]"; + $form_groups = "$form_groups&groupselect[$o]=$groupselect[$o]"; + $o++; +} + + +echo "\n"; +echo"\n"; + +#CHANNEL SERVER CHANNEL_GROUP EXTENSION PARKED_BY PARKED_TIME +#---------------------------------------------------------------------------------------------- +#Zap/73-1 10.10.11.11 IN_800_TPP_CS TPPpark 7275338730 2004-04-22 12:41:00 + + + +echo "$NOW_TIME           $PHP_AUTH_USER - $fullname - CALLS SENT TO: $dialplan_number

\n"; + +echo "Click on the channel below that you would like to have directed to your phone
\n"; + +echo "
\n";
+echo "CHANNEL    SERVER        CHANNEL_GROUP   EXTENSION    PARKED_BY            PARKED_TIME         \n";
+echo "---------------------------------------------------------------------------------------------- \n";
+
+
+
+
+
+$stmt="SELECT count(*) from parked_channels where server_ip='" . mysql_real_escape_string($server_ip) . "'";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$parked_count = $row[0];
+	if ($parked_count > 0)
+	{
+	$stmt="SELECT * from parked_channels where server_ip='" . mysql_real_escape_string($server_ip) . "' and channel_group LIKE \"CL_%\" order by channel_group,parked_time";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$parked_to_print = mysql_num_rows($rslt);
+	$i=0;
+	while ($i < $parked_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+		$channel =			sprintf("%-11s", $row[0]);
+		$server =			sprintf("%-14s", $row[1]);
+		$channel_group =	sprintf("%-16s", $row[2]);
+		$park_extension =	sprintf("%-13s", $row[3]);
+		$parked_by =		sprintf("%-21s", $row[4]);
+		$parked_time =		sprintf("%-19s", $row[5]);
+
+		$G='';   $EG='';
+		$o=0;
+		$with_color=0;
+		while($o < $group_selected)
+			{
+				if (eregi("$groupselect[$o]",$channel_group))
+					{
+					$G=""; $EG='';
+					$with_color++;
+					}
+				$o++;
+			}
+		if ($with_color)
+			{
+			if (eregi('CL_GAL',$row[2]))
+				{
+				echo "$G$channel$server$channel_group$park_extension                     $parked_time $EG\n";
+				}
+			else
+				{
+				echo "$G$channel$server$channel_group$park_extension$parked_by$parked_time $EG\n";
+				}
+			}
+#	
+		$i++;
+		}
+
+	}
+	else
+	{
+	echo "********************************************************************************************** \n";
+	echo "********************************************************************************************** \n";
+	echo "*************************************** NO PARKED CALLS ************************************** \n";
+	echo "********************************************************************************************** \n";
+	echo "********************************************************************************************** \n";
+	}
+
+echo "  \n\n";
+echo "looking for calls on these groups:\n";
+$o=0;
+while($o < $group_selected)
+{
+	$group_print =		sprintf("%-20s", $groupselect[$o]);
+	echo "             - $group_print\n";
+	$o++;
+}
+
+
+$ENDtime = date("U");
+
+$RUNtime = ($ENDtime - $STARTtime);
+
+echo "
\n\n\n


\n\n"; + + +echo "\n\n\n


\nscript runtime: $RUNtime seconds
"; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/closer_dispo.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/closer_dispo.php new file mode 100644 index 00000000..54e61219 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/closer_dispo.php @@ -0,0 +1,329 @@ + LICENSE: GPLv2 +### +# this is the closer disposition screen of a call that has been grabbed. This allows the closer to modify customer information and disposition the call +# CHANGES +# +# 60619-1641 - Added variable filtering to eliminate SQL injection attack threat +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];} + elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];} + elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];} + elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];} + elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];} +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["security"])) {$security=$_GET["security"];} + elseif (isset($_POST["security"])) {$security=$_POST["security"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$ext_context = 'demo'; +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 2;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-CLOSER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $fullname = $row[0]; + fwrite ($fp, "VD_CLOSER|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + + } + else + { + fwrite ($fp, "VD_CLOSER|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +?> + + +VICIDIAL CLOSER: Call Disposition +\n"; +?> + + +
+ + 0) +{ + +$call_length = ($STARTtime - $call_began); + + ### insert a NEW record to the vicidial_closer_log table + $stmt="INSERT INTO vicidial_closer_log (lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed) values('" . mysql_real_escape_string($lead_id) . "','" . mysql_real_escape_string($list_id) . "','" . mysql_real_escape_string($campaign_id) . "','" . mysql_real_escape_string($parked_time) . "','" . mysql_real_escape_string($call_began) . "','$STARTtime','" . mysql_real_escape_string($call_length) . "','" . mysql_real_escape_string($status) . "','" . mysql_real_escape_string($phone_code) . "','" . mysql_real_escape_string($phone_number) . "','$PHP_AUTH_USER','" . mysql_real_escape_string($comments) . "','Y')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + ### update the lead record in the vicidial_list table + $stmt="UPDATE vicidial_list set status='" . mysql_real_escape_string($status) . "',first_name='" . mysql_real_escape_string($first_name) . "',last_name='" . mysql_real_escape_string($last_name) . "',address1='" . mysql_real_escape_string($address1) . "',address2='" . mysql_real_escape_string($address2) . "',address3='" . mysql_real_escape_string($address3) . "',city='" . mysql_real_escape_string($city) . "',state='" . mysql_real_escape_string($state) . "',province='" . mysql_real_escape_string($province) . "',postal_code='" . mysql_real_escape_string($postal_code) . "',country_code='" . mysql_real_escape_string($country_code) . "',alt_phone='" . mysql_real_escape_string($alt_phone) . "',email='" . mysql_real_escape_string($email) . "',security_phrase='" . mysql_real_escape_string($security) . "',comments='" . mysql_real_escape_string($comments) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT count(*) from live_channels where server_ip='$server_ip' and channel='" . mysql_real_escape_string($channel) . "' and extension like \"%" . mysql_real_escape_string($extension) . "%\""; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $parked_count = $row[0]; + + if ($parked_count > 0) + { + + $DTqueryCID = "RR$FILE_datetime$PHP_AUTH_USER"; + + ### insert a NEW record to the vicidial_manager table to be processed + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','" . mysql_real_escape_string($server_ip) . "','','Hangup','$DTqueryCID','Channel: " . mysql_real_escape_string($channel) . "','','','','','','','','','')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Hangup command sent for channel $channel       $NOW_TIME\n

\n"; + + echo "\n"; + } + else + { + echo "Hangup command FAILED for channel $channel       $NOW_TIME\n

\n"; + echo "
\n"; + } +} +else +{ + $stmt="SELECT count(*) from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_count = $row[0]; + + if ($lead_count > 0) + { + + $stmt="SELECT * from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_id = "$row[0]"; + $tsr = "$row[4]"; + $vendor_id = "$row[5]"; + $list_id = "$row[7]"; + $campaign_id = "$row[8]"; + $phone_code = "$row[10]"; + $phone_number = "$row[11]"; + $title = "$row[12]"; + $first_name = "$row[13]"; # + $middle_initial = "$row[14]"; + $last_name = "$row[15]"; # + $address1 = "$row[16]"; # + $address2 = "$row[17]"; # + $address3 = "$row[18]"; # + $city = "$row[19]"; # + $state = "$row[20]"; # + $province = "$row[21]"; # + $postal_code = "$row[22]"; # + $country_code = "$row[23]"; # + $gender = "$row[24]"; + $date_of_birth = "$row[25]"; + $alt_phone = "$row[26]"; # + $email = "$row[27]"; # + $security = "$row[28]"; # + $comments = "$row[29]"; # + + echo "
Call information: $first_name $last_name - $phone_number

\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
Vendor ID: $vendor_id     Campaign ID: $campaign_id
Fronter: $tsr     List ID: $list_id
First Name:   \n"; + echo " Last Name:
Address 1 :
Address 2 :
Address 3 :
City :
State:   \n"; + echo " Postal Code:
Province :
Country :
Alt Phone :
Email :
Security :
Comments :
Disposition:
\n"; + echo "


\n"; + + } + else + { + echo "lead lookup FAILED for lead_id $lead_id       $NOW_TIME\n

\n"; +# echo "Close this window\n

\n"; + } + + + + + + +} + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nscript runtime: $RUNtime seconds
"; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/closer_popup.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/closer_popup.php new file mode 100644 index 00000000..e12f02c3 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/closer_popup.php @@ -0,0 +1,453 @@ + LICENSE: GPLv2 +### +# this is the closer popup of a specific call that grabs the call and allows you to go and fetch info on that caller in the local CRM system. +# CHANGES +# +# 60620-1029 - Added variable filtering to eliminate SQL injection attack threat +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["group_selected"])) {$group_selected=$_GET["group_selected"];} + elseif (isset($_POST["group_selected"])) {$group_selected=$_POST["group_selected"];} +if (isset($_GET["dialplan_number"])) {$dialplan_number=$_GET["dialplan_number"];} + elseif (isset($_POST["dialplan_number"])) {$dialplan_number=$_POST["dialplan_number"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["groupselect"])) {$groupselect=$_GET["groupselect"];} + elseif (isset($_POST["groupselect"])) {$groupselect=$_POST["groupselect"];} +if (isset($_GET["PHONE_LOGIN"])) {$PHONE_LOGIN=$_GET["PHONE_LOGIN"];} + elseif (isset($_POST["PHONE_LOGIN"])) {$PHONE_LOGIN=$_POST["PHONE_LOGIN"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["channel_group"])) {$channel_group=$_GET["channel_group"];} + elseif (isset($_POST["channel_group"])) {$channel_group=$_POST["channel_group"];} +if (isset($_GET["debugvars"])) {$debugvars=$_GET["debugvars"];} + elseif (isset($_POST["debugvars"])) {$debugvars=$_POST["debugvars"];} +if (isset($_GET["parked_by"])) {$parked_by=$_GET["parked_by"];} + elseif (isset($_POST["parked_by"])) {$parked_by=$_POST["parked_by"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + +#$DB=1; +$US = '_'; +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$REC_TIME = date("Ymd-His"); +$FILE_datetime = $STARTtime; + +$ext_context = 'demo'; + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 2;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-CLOSER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $fullname = $row[0]; + fwrite ($fp, "VD_CLOSER|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + + } + else + { + fwrite ($fp, "VD_CLOSER|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +echo "\n"; +echo "\n"; +echo "VICIDIAL CLOSER: Popup\n"; +echo "\n"; + +if (eregi('CL_UNIV',$channel_group)) + { + ?> + + \n"; + echo "function WaitFirefix() {setTimeout(document.forms[0].search_phone.focus(), 1000)}\n"; + echo "\n"; + } +?> + + +
+ + 0) +{ + $stmt="DELETE from parked_channels where server_ip='" . mysql_real_escape_string($server_ip) . "' and parked_time='" . mysql_real_escape_string($parked_time) . "' and channel='" . mysql_real_escape_string($channel) . "' LIMIT 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + + #$monitor_channel = eregi_replace('Zap/', "", $channel); + $monitor_channel = eregi_replace('-1', "", $channel); + $SIPexten = $extension; + $filename = "$REC_TIME$US$SIPexten"; + $DTqueryCID = "RR$FILE_datetime$PHP_AUTH_USER"; + +# $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Monitor','$DTqueryCID','Channel: $monitor_channel','File: $filename','Callerid: $DTqueryCID','','','','','','','')"; +# if ($DB) {echo "|$stmt|\n";} +# $rslt=mysql_query($stmt, $link); + +# $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename) values('$monitor_channel','$server_ip','SIP/$SIPexten','$NOW_TIME','$STARTtime','$filename')"; +# if ($DB) {echo "|$stmt|\n";} +# $rslt=mysql_query($stmt, $link); + +# $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; +# $rslt=mysql_query($stmt, $link); +# if ($DB) {echo "$stmt\n";} +# $row=mysql_fetch_row($rslt); +# $recording_id = $row[0]; + +# echo "Recording command sent for channel $channel - $filename - $recording_id
\n"; + + ### insert a NEW record to the vicidial_manager table to be processed + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','" . mysql_real_escape_string($server_ip) . "','','Redirect','$DTqueryCID','Exten: $dialplan_number','Channel: " . mysql_real_escape_string($channel) . "','Context: $ext_context','Priority: 1','Callerid: $DTqueryCID','','','','','')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Redirect command sent for channel $channel       $NOW_TIME\n

\n"; + + $stmt="SELECT full_name from vicidial_users where user='" . mysql_real_escape_string($parked_by) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + + echo "Call Referred by: $parked_by - $full_name\n

\n"; + + $url = "http://10.10.10.196/vicidial/closer_dispo.php?lead_id=$parked_by&channel=$channel&server_ip=$server_ip&extension=$extension&call_began=$STARTtime&parked_time=$parked_time&DB=$DB"; + + echo "View Customer Info and Disposition Call\n

\n"; + + + + $stmt="UPDATE park_log set grab_time='$NOW_TIME',status='TALKING',extension='" . mysql_real_escape_string($extension) . "',user='$PHP_AUTH_USER' where parked_time='" . mysql_real_escape_string($parked_time) . "' and server_ip='" . mysql_real_escape_string($server_ip) . "' and channel='" . mysql_real_escape_string($channel) . "'"; + if ($DB) {echo "|$stmt|\n";} + $fp = fopen ("./closer_SQL_updates.txt", "a"); + fwrite ($fp, "$date|$PHP_AUTH_USER|$stmt|\n"); + fclose($fp); + + + $rslt=mysql_query($stmt, $link); + +########################################################################################### +####### HERE IS WHERE YOU DEFINE DIFFERENT CONTENTS DEPENDING UPON THE CHANNEL_GROUP PREFIX +########################################################################################### +if (eregi('CL_TEST',$channel_group)) + { + echo "GALLERIA TEST CLOSER GROUP: $channel_group\n"; + + $stmt="SELECT user,phone_number from vicidial_list where lead_id='" . mysql_real_escape_string($parked_by) . "';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $fronter=$row[0]; + $search_phone=$row[1]; + + + ?> +
+ + + + + + + + + + + + + + + +
COF MW Customer Search
Phone number
+
+

+ +
+ + + + + + + + + + + + + + + +
COF MW Customer Search
Phone number
+
+

+ -- INTERNAL CALL GALLERIA FRONT --
\n"; + $group_color='#99FF99'; + } + if (eregi('CL_GALLER2',$channel_group)) + { + echo "
-- TouchAsia CALL Simple Escapes FRONT --
\n"; + $group_color='#FF9999'; + } + if (eregi('CL_GALLER3',$channel_group)) + { + echo "
-- DebitSupplies CALL Simple Escapes FRONT --
\n"; + $group_color='#FF9999'; + } + if (eregi('CL_GALLER4',$channel_group)) + { + echo "
-- Vishnu CALL Simple Escapes FRONT --
\n"; + $group_color='#FF9999'; + } + + + ?> +
+ + + + + + + + + + + + + + + +
COF MW Customer Search
Phone number
+
+

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
New Search
Reservation Number:
Confirmation #:
Phone #:


Back
+ +
+ + + Close this window\n

\n"; +} +else +{ + echo "Redirect command FAILED for channel $channel       $NOW_TIME\n

\n"; + echo "
\n"; +} + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nscript runtime: $RUNtime seconds
"; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/count.htm b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/count.htm new file mode 100644 index 00000000..51f8a361 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/count.htm @@ -0,0 +1 @@ + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/dbconnect.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/dbconnect.php new file mode 100644 index 00000000..5247e166 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/dbconnect.php @@ -0,0 +1,49 @@ + LICENSE: GPLv2 +# +if ( file_exists("/etc/astguiclient.conf") ) +{ +$DBCagc = file("/etc/astguiclient.conf"); +foreach ($DBCagc as $DBCline) + { + $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); + if (ereg("^PATHlogs", $DBCline)) + {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} + if (ereg("^PATHweb", $DBCline)) + {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} + if (ereg("^VARDB_server", $DBCline)) + {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} + if (ereg("^VARDB_database", $DBCline)) + {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} + if (ereg("^VARDB_user", $DBCline)) + {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} + if (ereg("^VARDB_pass", $DBCline)) + {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} + if (ereg("^VARDB_port", $DBCline)) + {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} + } + +} +else +{ +#defaults for DB connection +$VARDB_server = 'localhost'; +$VARDB_user = 'cron'; +$VARDB_pass = '1234'; +$VARDB_database = '1234'; +$WeBServeRRooT = '/usr/local/apache2/htdocs'; +} + +$link=mysql_connect("$VARDB_server", "$VARDB_user", "$VARDB_pass"); +mysql_select_db("$VARDB_database"); + +$local_DEF = 'Local/'; +$conf_silent_prefix = '7'; +$local_AMP = '@'; +$ext_context = 'demo'; +$recording_exten = '8309'; +$WeBRooTWritablE = '1'; +$non_latin = '0'; # set to 1 for UTF rules + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/group_hourly_stats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/group_hourly_stats.php new file mode 100644 index 00000000..607f2fd7 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/group_hourly_stats.php @@ -0,0 +1,252 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60620-1014 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["date_with_hour"])) {$date_with_hour=$_GET["date_with_hour"];} + elseif (isset($_POST["date_with_hour"])) {$date_with_hour=$_POST["date_with_hour"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$date_with_hour_default = date("Y-m-d H"); +$date_no_hour_default = $TODAY; + +if (!isset($date_with_hour)) {$date_with_hour = $date_with_hour_default;} + $date_no_hour = $date_with_hour; + $date_no_hour = eregi_replace(" ([0-9]{2})",'',$date_no_hour); +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + +# $stmt="SELECT full_name from vicidial_users where user='$user';"; +# $rslt=mysql_query($stmt, $link); +# $row=mysql_fetch_row($rslt); +# $full_name = $row[0]; + + } + + + + +?> + + +VICIDIAL ADMIN: Group Hourly Stats +\n"; +?> + + +
+ + + + + += '" . mysql_real_escape_string($date_with_hour) . ":00:00' and call_date <= '" . mysql_real_escape_string($date_with_hour) . ":59:59' and user='$VDuser[$o]';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VDtotal[$o] = "$row[0]"; + + $stmt="select count(*) from vicidial_log where call_date >= '" . mysql_real_escape_string($date_no_hour) . " 00:00:00' and call_date <= '" . mysql_real_escape_string($date_no_hour) . " 23:59:59' and user='$VDuser[$o]' and status='" . mysql_real_escape_string($status) . "';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VDday[$o] = "$row[0]"; + + $stmt="select count(*) from vicidial_log where call_date >= '" . mysql_real_escape_string($date_with_hour) . ":00:00' and call_date <= '" . mysql_real_escape_string($date_with_hour) . ":59:59' and user='$VDuser[$o]' and status='" . mysql_real_escape_string($status) . "';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VDcount[$o] = "$row[0]"; + $o++; + } + +echo "
" ?>   VICIDIAL ADMIN: Group Hourly Stats  
\n"; + +echo "
\n"; + +echo "TSR HOUR COUNTS: $group | $status | $date_with_hour | $date_no_hour\n"; + +echo "
\n"; +echo "\n"; + + $day_calls=0; + $hour_calls=0; + $total_calls=0; + $o=0; + while($o < $tsrs_to_print) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $total_calls = ($total_calls + $VDtotal[$o]); + $hour_calls = ($hour_calls + $VDcount[$o]); + $day_calls = ($day_calls + $VDday[$o]); + + $o++; + } + +echo "\n"; + + +} + +echo "
TSR ID   $status   TOTAL CALLS   $status DAY    
$VDuser[$o] $VDname[$o] $VDcount[$o] $VDtotal[$o] $VDday[$o]MODIFY | STATS
TOTAL $status $hour_calls $total_calls $day_calls
\n"; +echo "

\n"; + + + echo "
Please enter the group you want to get hourly stats for:
\n"; + echo "\n"; + echo "group:
\n"; + echo "status:   (example: XFER)
\n"; + echo "date with hour:   (example: 2004-06-25 14)
\n"; + echo "\n"; + echo "


\n"; + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nscript runtime: $RUNtime seconds
"; + + +?> + + +
+ + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/help.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/help.gif new file mode 100644 index 0000000000000000000000000000000000000000..5575d7c8761954a943a67f99265cc408edfeca37 GIT binary patch literal 492 zcmV@K zrlzK7XlVcc{(zdZkfy!h=k1@f#?ad1KW2>Z^Y)^mqV4VLXlQ0|jj7+?-?g=~@9*#a z|NoMak9c=?>FMXq%*)5e#og%my1BWCh=?#*gAYJ&zrMYsqoV%*{r~>|{{H^||Nj6p zX13G(A^8LW002J#EC2ui02BZe000L6z@KnPEE=r$6g+ktoje(cAZZc{4nh|!Jvux)X@@=m zC21-y7sABGX&Z<(B|AJC&(S}$JRWB|DXBdgJUkNs!9S#?9v(X*xM}G+D<}p+2b5_V z8b~1O;i1q87Yz;w5oDsk4s-&2^x#n-!huJTe#ntg$k2xm+8(U%L!-zT3@08O+Yv#+ i0XJ}rR3Wh7fCU;Dx+Ew$Wrh+7CQhJ)nL_kP5CA(E_TC-< literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/listloader.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/listloader.php new file mode 100644 index 00000000..b6e8ae5e --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/listloader.php @@ -0,0 +1,926 @@ + LICENSE: GPLv2 +# +# AST Web GUI lead loader from formatted file +# +# CHANGES +# 50602-1640 - First version created by Joe Johnson +# 51128-1108 - Removed PHP global vars requirement +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60616-1006 - added listID override and gmt_offset lookup while loading +# 60619-1652 - Added variable filtering to eliminate SQL injection attack threat +# 60822-1105 - fixed for nonwritable directories +# 60906-1059 - added filter of non-digits in alt_phone field +# 61110-1222 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1046 - added postal code GMT lookup and duplicate check options +# 70205-1703 - Defaulted phone_code to 1 if not populated +# 70417-1059 - Fixed default phone_code bug +# +# make sure vicidial_list exists and that your file follows the formatting correctly. This page does not dedupe or do any other lead filtering actions yet at this time. +# + +$version = '2.0.3'; +$build = '770417-1059'; + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +$leadfile=$_FILES["leadfile"]; + $LF_orig = $_FILES['leadfile']['name']; + $LF_path = $_FILES['leadfile']['tmp_name']; +$submit_file=$_GET["submit_file"]; if (!$submit_file) {$submit_file=$_POST["submit_file"];} +$list_id_override=$_GET["list_id_override"]; if (!$list_id_override) {$list_id_override=$_POST["list_id_override"];} + $list_id_override = (preg_replace("/\D/","",$list_id_override)); +$submit=$_GET["submit"]; if (!$submit) {$submit=$_POST["submit"];} +$SUBMIT=$_GET["SUBMIT"]; if (!$SUBMIT) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["dupcheck"])) {$dupcheck=$_GET["dupcheck"];} + elseif (isset($_POST["dupcheck"])) {$dupcheck=$_POST["dupcheck"];} +if (isset($_GET["postalgmt"])) {$postalgmt=$_GET["postalgmt"];} + elseif (isset($_POST["postalgmt"])) {$postalgmt=$_POST["postalgmt"];} + + +#$DB=1; +#$DBX=1; + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$list_id_override = ereg_replace("[^0-9]","",$list_id_override); + + +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +$admDIR = "$HTTPprotocol$server_name$script_name"; +$admDIR = eregi_replace('listloader.php','',$admDIR); +$admSCR = 'admin.php'; +$NWB = "   \"HELP\""; + + +$secX = date("U"); +$hour = date("H"); +$min = date("i"); +$sec = date("s"); +$mon = date("m"); +$mday = date("d"); +$year = date("Y"); +$isdst = date("I"); +$Shour = date("H"); +$Smin = date("i"); +$Ssec = date("s"); +$Smon = date("m"); +$Smday = date("d"); +$Syear = date("Y"); +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + ### Grab Server GMT value from the database + $stmt="SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $rslt=mysql_query($stmt, $link); + $gmt_recs = mysql_num_rows($rslt); + if ($gmt_recs > 0) + { + $row=mysql_fetch_row($rslt); + $DBSERVER_GMT = "$row[0]"; + if (strlen($DBSERVER_GMT)>0) {$SERVER_GMT = $DBSERVER_GMT;} + if ($isdst) {$SERVER_GMT++;} + } + else + { + $SERVER_GMT = date("O"); + $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = ($SERVER_GMT + 0); + $SERVER_GMT = ($SERVER_GMT / 100); + } + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +#if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + +?> + + + + + + method=post enctype="multipart/form-data"> +
+ + + + + + + + + + + + + + + + + + + + + +
Load leads from this file:
List ID Override: (numbers only or leave blank for values in the file)
Lead Duplicate Check:
Lead Time Zone Lookup:
CLICK HERE TO GO TO THE SUPER LEAD LOADER (BETA VERSION)     BACK TO ADMIN
+ +document.forms[0].leadfile.disabled=true; document.forms[0].submit_file.disabled=true; document.forms[0].reload_page.disabled=true;"; + flush(); + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"); + $lead_file = "./vicidial_temp_file.txt"; + } + else + { + $lead_file = "$LF_path"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + $pulldate=date("Y-m-d H:i:s"); + + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + + if (count($field_check)>=5) { + flush(); + $file=fopen("$lead_file", "r"); + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + print "
Processing $delim_name-delimited file... ($tab_count|$pipe_count)\n"; + + if (strlen($list_id_override)>0) + { + print "

LIST ID OVERRIDE FOR THIS FILE: $list_id_override

"; + } + + while (!feof($file)) { + $record++; + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + + if (strlen($buffer)>0) { + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + $vendor_lead_code = $row[0]; + $source_code = $row[1]; + $source_id=$source_code; + $list_id = $row[2]; + $phone_code = eregi_replace("[^0-9]", "", $row[3]); + $phone_number = eregi_replace("[^0-9]", "", $row[4]); + $USarea = substr($phone_number, 0, 3); + $title = $row[5]; + $first_name = $row[6]; + $middle_initial = $row[7]; + $last_name = $row[8]; + $address1 = $row[9]; + $address2 = $row[10]; + $address3 = $row[11]; + $city = $row[12]; + $state = $row[13]; + $province = $row[14]; + $postal_code = $row[15]; + $country = $row[16]; + $gender = $row[17]; + $date_of_birth = $row[18]; + $alt_phone = eregi_replace("[^0-9]", "", $row[19]); + $email = $row[20]; + $security_phrase = $row[21]; + $comments = trim($row[22]); + + if (strlen($list_id_override)>0) + { + # print "

LIST ID OVERRIDE FOR THIS FILE: $list_id_override

"; + $list_id = $list_id_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table ##### + if (eregi("DUP",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + $US='_'; + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user = ""; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_list .= "$phone_number$US$list_id|"; + + if (strlen($phone_code)<1) {$phone_code = '1';} + + $postalgmt_found=0; + if ( (eregi("POSTAL",$postalgmt)) && (strlen($postal_code)>4) ) + { + if (preg_match('/^1$/', $phone_code)) + { + $stmt="select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[3]; + $dst_range = $row[4]; + $PC_processed++; + $postalgmt_found++; + $post++; + } + } + } + if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =='1') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### MEXICO ### + if ($phone_code =='52') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### AUSTRALIA ### + if ($phone_code =='61') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $PC_processed++; + $stmt="select * from vicidial_phone_codes where country_code='$phone_code';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + } + + ### Find out if DST to raise the gmt offset ### + $AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); + $AC_localtime = mktime(($Shour + $AC_GMT_diff), $Smin, $Ssec, $Smon, $Smday, $Syear); + $hour = date("H",$AC_localtime); + $min = date("i",$AC_localtime); + $sec = date("s",$AC_localtime); + $mon = date("m",$AC_localtime); + $mday = date("d",$AC_localtime); + $wday = date("w",$AC_localtime); + $year = date("Y",$AC_localtime); + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + $AC_processed=0; + if ( (!$AC_processed) and ($dst_range == 'SSM-FSN') ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + #********************************************************************** + # SSM-FSN + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on Second Sunday March to First Sunday November at 2 am. + # INPUTS: + # mm INTEGER Month. + # dd INTEGER Day of the month. + # ns INTEGER Seconds into the day. + # dow INTEGER Day of week (0=Sunday, to 6=Saturday) + # OPTIONAL INPUT: + # timezone INTEGER hour difference UTC - local standard time + # (DEFAULT is blank) + # make calculations based on UTC time, + # which means shift at 10:00 UTC in April + # and 9:00 UTC in October + # OUTPUT: + # INTEGER 1 = DST, 0 = not DST + # + # S M T W T F S + # 1 2 3 4 5 6 7 + # 8 9 10 11 12 13 14 + #15 16 17 18 19 20 21 + #22 23 24 25 26 27 28 + #29 30 31 + # + # S M T W T F S + # 1 2 3 4 5 6 + # 7 8 9 10 11 12 13 + #14 15 16 17 18 19 20 + #21 22 23 24 25 26 27 + #28 29 30 31 + # + #********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; + } elseif ($mm >= 4 and $mm <= 10) { + $USACAN_DST=1; + } elseif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; + } elseif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } + } else { + $USACAN_DST=0; + } + } elseif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; + } elseif ($dd < ($dow+1)) { + $USACAN_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } else { # local time calculations + if ($ns < 7200) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } + } else { + $USACAN_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$gmt_offset++;} + $AC_processed++; + } + + if ( (!$AC_processed) and ($dst_range == 'FSA-LSO') ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + #********************************************************************** + # FSA-LSO + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in April and last Sunday in October at 2 am. + #********************************************************************** + + $NA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $NA_DST=0; + } elseif ($mm >= 5 and $mm <= 9) { + $NA_DST=1; + } elseif ($mm == 4) { + if ($dd > 7) { + $NA_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $NA_DST=0; + } else { + $NA_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $NA_DST=0; + } else { + $NA_DST=1; + } + } + } else { + $NA_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $NA_DST=1; + } elseif ($dd < ($dow+25)) { + $NA_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $NA_DST=1; + } else { + $NA_DST=0; + } + } else { # local time calculations + if ($ns < 7200) { + $NA_DST=1; + } else { + $NA_DST=0; + } + } + } else { + $NA_DST=0; + } + } # end of month checks + + if ($DBX) {print " DST: $NA_DST\n";} + if ($NA_DST) {$gmt_offset++;} + $AC_processed++; + } + + if ( (!$AC_processed) and ($dst_range == 'LSM-LSO') ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in March and last Sunday in October at 1 am. + #********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; + } elseif ($mm >= 4 and $mm <= 9) { + $GBR_DST=1; + } elseif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; + } elseif ($dd < ($dow+25)) { + $GBR_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } + } else { + $GBR_DST=1; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; + } elseif ($dd < ($dow+25)) { + $GBR_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } + } else { + $GBR_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) and ($dst_range == 'LSO-LSM') ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUS_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; + } elseif ($dd < ($dow+25)) { + $AUS_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } + } else { + $AUS_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; + } elseif ($dd < ($dow+25)) { + $AUS_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } + } else { + $AUS_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + + if ( (!$AC_processed) and ($dst_range == 'FSO-LSM') ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + #********************************************************************** + # TASMANIA ONLY + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUST_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; + } elseif ($dd < ($dow+25)) { + $AUST_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } + } else { + $AUST_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $AUST_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } + } else { + $AUST_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) and ($dst_range == 'FSO-TSM') ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and third Sunday in March at 1 am. + #********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $NZL_DST=0; + } elseif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; + } elseif ($dd < ($dow+14)) { + $NZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } else { # local time calculations + if ($ns < 3600) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } + } else { + $NZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $NZL_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } + } else { + $NZL_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + + if ( (!$AC_processed) and ($dst_range == 'TSO-LSF') ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + #********************************************************************** + # TSO-LSF + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. Brazil + # Based on Third Sunday October to Last Sunday February at 1 am. + #********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; + } elseif ($mm >= 3 and $mm <= 9) { + $BZL_DST=0; + } elseif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; + } elseif ($dd < ($dow+22)) { + $BZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } + } else { + $BZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; + } elseif ($dd < ($dow+22)) { + $BZL_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } + } else { + $BZL_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$gmt_offset++;} + $AC_processed++; + } + + if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } + else + { + if ($bad < 10) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) + { + print ""; + usleep(1000); + flush(); + } + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
DUPLICATE: $dup       POSTAL MATCH: $post
"; + + } else { + print "
ERROR: The file does not have the required number of fields to process it.
"; + } + print ""; +} else if (filesize($leadfile)>8388608) { + print "
ERROR: File exceeds the 8MB limit.
"; +} +?> + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/listloader.pl b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/listloader.pl new file mode 100644 index 00000000..d926368b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/listloader.pl @@ -0,0 +1,1084 @@ +#!/usr/bin/perl + +### listloader.pl version 0.4 *DBI-version* +### +### Copyright (C) 2007 Matt Florell,Joe Johnson LICENSE: GPLv2 +### +# +# +# CHANGES +# 60616-1548 - Added listID override feature to force all leads into same list +# - Added gmt_offset_now lookup for each lead +# 60811-1232 - Changed to DBI +# 60811-1329 - changed to use /etc/astguiclient.conf for configs +# 60822-1121 - fixed for nonwritable directories +# 60906-1058 - added filter of non-digits in alt_phone field +# 61110-1229 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1215 - added postal code GMT lookup and duplicate check options +# 70205-1703 - Defaulted phone_code to 1 if not populated +# 70417-1059 - Fixed default phone_code bug +# 70510-1518 - Added campaign and system duplicate check and phonecode override +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n [-forcelistid=1234] = overrides the listID given in the file with the 1234\n [-h] = this help screen\n\n"; + + exit; + } + else + { + if ($args =~ /-duplicate-check/i) + {$dupcheck=1;} + if ($args =~ /-duplicate-campaign-check/i) + {$dupcheckcamp=1;} + if ($args =~ /-duplicate-system-check/i) + {$dupchecksys=1;} + if ($args =~ /-postal-code-gmt/i) + {$postalgmt=1;} + if ($args =~ /--forcelistid=/i) + { + @data_in = split(/--forcelistid=/,$args); + $forcelistid = $data_in[1]; + $forcelistid =~ s/ .*//gi; + print "\n----- FORCE LISTID OVERRIDE: $forcelistid -----\n\n"; + } + else + {$forcelistid = '';} + + if ($args =~ /--forcephonecode=/i) + { + @data_in = split(/--forcephonecode=/,$args); + $forcephonecode = $data_in[1]; + $forcephonecode =~ s/ .*//gi; + print "\n----- FORCE PHONECODE OVERRIDE: $forcephonecode -----\n\n"; + } + else + {$forcephonecode = '';} + + if ($args =~ /--lead-file=/i) + { + @data_in = split(/--lead-file=/,$args); + $lead_file = $data_in[1]; + $lead_file =~ s/ .*//gi; + # print "\n----- LEAD FILE: $lead_file -----\n\n"; + } + else + {$lead_file = './vicidial_temp_file.xls';} + } +} +### end parsing run-time options ### + + +use Spreadsheet::ParseExcel; +use Time::Local; +use DBI; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +$|=0; +$secX = time(); + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$pulldate="$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + + ### Grab Server values from the database + $stmtA = "SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBSERVER_GMT = "$aryA[0]"; + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + $rec_count++; + } + $sthA->finish(); + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +if ($isdst) {$LOCAL_GMT_OFF++;} +if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + + + +$total=0; $good=0; $bad=0; +print "
Processing Excel file...\n"; +open(STMT_FILE, "> $PATHlogs/listloader_stmts.txt"); + +$oBook = Spreadsheet::ParseExcel::Workbook->Parse("$lead_file"); +my($iR, $iC, $oWkS, $oWkC); + +foreach $oWkS (@{$oBook->{Worksheet}}) { + for($iR = 0 ; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++) { + + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user = ""; + $oWkC = $oWkS->{Cells}[$iR][0]; + if ($oWkC) {$vendor_lead_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][1]; + if ($oWkC) {$source_code=$oWkC->Value; } + $source_id=$source_code; + $oWkC = $oWkS->{Cells}[$iR][2]; + if ($oWkC) {$list_id=$oWkC->Value; } + $gmt_offset = '0'; + $called_since_last_reset='N'; + $oWkC = $oWkS->{Cells}[$iR][3]; + if ($oWkC) {$phone_code=$oWkC->Value; } + $phone_code=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][4]; + if ($oWkC) {$phone_number=$oWkC->Value; } + $phone_number=~s/[^0-9]//g; + $USarea = substr($phone_number, 0, 3); + $oWkC = $oWkS->{Cells}[$iR][5]; + if ($oWkC) {$title=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][6]; + if ($oWkC) {$first_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][7]; + if ($oWkC) {$middle_initial=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][8]; + if ($oWkC) {$last_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][9]; + if ($oWkC) {$address1=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][10]; + if ($oWkC) {$address2=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][11]; + if ($oWkC) {$address3=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][12]; + if ($oWkC) {$city=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][13]; + if ($oWkC) {$state=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][14]; + if ($oWkC) {$province=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][15]; + if ($oWkC) {$postal_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][16]; + if ($oWkC) {$country=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][17]; + if ($oWkC) {$gender=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][18]; + if ($oWkC) {$date_of_birth=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][19]; + if ($oWkC) {$alt_phone=$oWkC->Value; } + $alt_phone=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][20]; + if ($oWkC) {$email=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][21]; + if ($oWkC) {$security_phrase=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][22]; + if ($oWkC) {$comments=$oWkC->Value; } + $comments=~s/^\s*(.*?)\s*$/$1/; + + if (length($forcelistid) > 0) + { + $list_id = $forcelistid; # set list_id to override value + } + if (length($forcephonecode) > 0) + { + $phone_code = $forcephonecode; # set phone_code to override value + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if ($dupchecksys > 0) + { + $dup_lead=0; + $stmtA = "select count(*) from vicidial_list where phone_number='$phone_number';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead = $aryA[0]; + $dup_lead_list=$list_id; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if ($dupcheck > 0) + { + $dup_lead=0; + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id='$list_id' limit 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = $aryA[0]; + $dup_lead++; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if ($dupcheckcamp > 0) + { + $dup_lead=0; + $dup_lists=''; + + $stmtA = "select count(*) from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $ci_recs = $aryA[0]; + $sthA->finish(); + if ($ci_recs > 0) + { + $stmtA = "select campaign_id from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $dup_camp = $aryA[0]; + $sthA->finish(); + + $stmtA = "select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lists .= "'$aryA[0]',"; + $rec_count++; + } + $sthA->finish(); + + chop($dup_lists); + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = "'$aryA[0]',"; + $rec_count++; + $dup_lead=1; + } + $sthA->finish(); + } + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + + if ( (length($phone_number)>6) && ($dup_lead < 1) ) + { + $phone_list .= "$phone_number$US$list_id|"; + $postalgmt_found=0; + if (length($phone_code)<1) {$phone_code = '1';} + + if ( ($postalgmt > 0) && (length($postal_code)>4) ) + { + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[2]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[3]; + $dst_range = $aryA[4]; + $PC_processed++; + $rec_count++; + $postalgmt_found++; + if ($DBX) {print " Postal GMT record found for $postal_code: |$gmt_offset|$dst|$dst_range|\n";} + } + $sthA->finish(); + } + } + if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### MEXICO ### + if ($phone_code =~ /^52$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### AUSTRALIA ### + if ($phone_code =~ /^61$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + } + + ### Find out if DST to raise the gmt offset ### + $AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); + $AC_localtime = ($secX + (3600 * $AC_GMT_diff)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($AC_localtime); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + $AC_processed=0; + + if ( (!$AC_processed) && ($dst_range =~ /SSM-FSN/) ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + &USACAN_dstcalc; + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSA-LSO/) ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + &NA_dstcalc; + if ($DBX) {print " DST: $NA_DST\n";} + if ($NA_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSM-LSO/) ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + &GBR_dstcalc; + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSO-LSM/) ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + &AUS_dstcalc; + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-LSM/) ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + &AUST_dstcalc; + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-TSM/) ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + &NZL_dstcalc; + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /TSO-LSF/) ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + &BZL_dstcalc; + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$area_GMT++;} + $AC_processed++; + } + if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| $dup_lead_list\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + sleep(1); +# flush(); + } + } +} + +if ($multi_insert_counter > 0) { + $stmtZ = "INSERT INTO vicidial_list values ".substr($multistmt, 0, -1).";"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; +} + +print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
"; + +exit; + + + + + + +sub USACAN_dstcalc { +#********************************************************************** +# SSM-FSN +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on Second Sunday March to First Sunday November at 2 am. +# INPUTS: +# mm INTEGER Month. +# dd INTEGER Day of the month. +# ns INTEGER Seconds into the day. +# dow INTEGER Day of week (0=Sunday, to 6=Saturday) +# OPTIONAL INPUT: +# timezone INTEGER hour difference UTC - local standard time +# (DEFAULT is blank) +# make calculations based on UTC time, +# which means shift at 10:00 UTC in April +# and 9:00 UTC in October +# OUTPUT: +# INTEGER 1 = DST, 0 = not DST +# +# S M T W T F S +# 1 2 3 4 5 6 7 +# 8 9 10 11 12 13 14 +#15 16 17 18 19 20 21 +#22 23 24 25 26 27 28 +#29 30 31 +# +# S M T W T F S +# 1 2 3 4 5 6 +# 7 8 9 10 11 12 13 +#14 15 16 17 18 19 20 +#21 22 23 24 25 26 27 +#28 29 30 31 +# +#********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 10) { + $USACAN_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; return 1; + } elsif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } + } else { + $USACAN_DST=0; return 0; + } + } elsif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; return 0; + } elsif ($dd < ($dow+1)) { + $USACAN_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } + } else { + $USACAN_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub NA_dstcalc { +#********************************************************************** +# FSA-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in April and last Sunday in October at 2 am. +#********************************************************************** + + $NA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $NA_DST=0; return 0; + } elsif ($mm >= 5 && $mm <= 9) { + $NA_DST=1; return 1; + } elsif ($mm == 4) { + if ($dd > 7) { + $NA_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } + } else { + $NA_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $NA_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $NA_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } + } else { + $NA_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub GBR_dstcalc { +#********************************************************************** +# LSM-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in March and last Sunday in October at 1 am. +#********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 9) { + $GBR_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $GBR_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } + } else { + $GBR_DST=1; return 1; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $GBR_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } + } else { + $GBR_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub AUS_dstcalc { +#********************************************************************** +# LSO-LSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUS_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUS_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } + } else { + $AUS_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $AUS_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } + } else { + $AUS_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub AUST_dstcalc { +#********************************************************************** +# FSO-LSM +# TASMANIA ONLY +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUST_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUST_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } + } else { + $AUST_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $AUST_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } + } else { + $AUST_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub NZL_dstcalc { +#********************************************************************** +# FSO-TSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and third Sunday in March at 1 am. +#********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $NZL_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; return 1; + } elsif ($dd < ($dow+14)) { + $NZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } + } else { + $NZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $NZL_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } + } else { + $NZL_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub BZL_dstcalc { +#********************************************************************** +# TSO-LSF +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. Brazil +# Based on Third Sunday October to Last Sunday February at 1 am. +#********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; return 1; + } elsif ($mm >= 3 && $mm <= 9) { + $BZL_DST=0; return 0; + } elsif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; return 1; + } elsif ($dd < ($dow+22)) { + $BZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } + } else { + $BZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; return 0; + } elsif ($dd < ($dow+22)) { + $BZL_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } + } else { + $BZL_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/listloaderMAIN.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/listloaderMAIN.php new file mode 100644 index 00000000..bb292c36 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/listloaderMAIN.php @@ -0,0 +1,86 @@ + LICENSE: GPLv2 +# +# this is the main frame page for the lead loading section. This is where you +# would upload a file and have it inserted into vicidial_list +# +# changes: +# 60620-1149 - Added variable filtering to eliminate SQL injection attack threat +# 60822-1105 - fixed for nonwritable directories +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) {$fp = fopen ("./project_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-LEAD-LOADER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT load_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGload_leads =$row[0]; + + if ($LOGload_leads < 1) + { + echo "You do not have permissions to load leads\n"; + exit; + } + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + +VICIDIAL: Lead Loader Module + + + + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/listloader_rowdisplay.pl b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/listloader_rowdisplay.pl new file mode 100644 index 00000000..3f8695c0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/listloader_rowdisplay.pl @@ -0,0 +1,153 @@ +#!/usr/bin/perl + +### listloader_rowdisplay.pl version 0.2 *DBI-version* +### +### Copyright (C) 2006 Matt Florell,Joe Johnson LICENSE: GPLv2 +### +# +# CHANGES +# +# 60811-1232 - Changed to DBI +# 60811-1329 - changed to use /etc/astguiclient.conf for configs +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n [-forcelistid=1234] = overrides the listID given in the file with the 1234\n [-h] = this help screen\n\n"; + + exit; + } + else + { + if ($args =~ /-duplicate-check/i) + {$dupcheck=1;} + if ($args =~ /-postal-code-gmt/i) + {$postalgmt=1;} + if ($args =~ /--lead-file=/i) + { + @data_in = split(/--lead-file=/,$args); + $lead_file = $data_in[1]; + $lead_file =~ s/ .*//gi; + # print "\n----- LEAD FILE: $lead_file -----\n\n"; + } + else + {$lead_file = './vicidial_temp_file.xls';} + } +} +### end parsing run-time options ### + +use Spreadsheet::ParseExcel; +use Time::Local; +use DBI; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +$oBook = Spreadsheet::ParseExcel::Workbook->Parse("$lead_file"); +my($iR, $iC, $oWkS, $oWkC); +$var_str=""; + +foreach $oWkS (@{$oBook->{Worksheet}}) { + for(my $iC = $oWkS->{MinCol} ; defined $oWkS->{MaxCol} && $iC <= $oWkS->{MaxCol} ; $iC++) { + $oWkC = $oWkS->{Cells}[0][$iC]; + if ($oWkC) { + $var_str.=$oWkC->Value."|"; + } else { + $var_str.="|"; + } + } +} + +@xls_row=split(/\|/, $var_str); + + +$stmtA = "select vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments from vicidial_list limit 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + my $names = $sthA->{'NAME'}; + my $numFields = $sthA->{'NUM_OF_FIELDS'}; + for (my $i = 0; $i < $numFields; $i++) + { + # printf("%s%s", $i ? "," : "", $$names[$i]); + # printf("%s%s", $i ? "," : "", $$ref[$i]); + + $field_name=uc($$names[$i]); + $field_name=~s/\_/ /g; + print "
".$field_name.": \r\n"; + print " \r\n"; + print "
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Load leads from this file:
List ID Override: (numbers only or leave blank for values in the file)
Phone Code Override: (numbers only or leave blank for values in the file)
File layout to use:Standard VICIDIAL    Custom layout
Lead Duplicate Check:
Lead Time Zone Lookup:
        
        BACK TO ADMINLIST LOADER-     VERSION:     BUILD:    
+ + +document.forms[0].leadfile.disabled=true;document.forms[0].list_id_override.disabled=true;document.forms[0].phone_code_override.disabled=true; document.forms[0].submit_file.disabled=true; document.forms[0].reload_page.disabled=true;"; + flush(); + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + + if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) { + # copy($leadfile, "./vicidial_temp_file.txt"); + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + { + $stmt_file=fopen("listloader_stmts.txt", "w"); + } + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + + if (count($field_check)>=5) { + flush(); + $file=fopen("$lead_file", "r"); + print "
Processing $delim_name-delimited file...\n"; + + if (strlen($list_id_override)>0) + { + print "

LIST ID OVERRIDE FOR THIS FILE: $list_id_override

"; + } + + if (strlen($phone_code_override)>0) + { + print "

PHONE CODE OVERRIDE FOR THIS FILE: $phone_code_override

"; + } + + while (!feof($file)) { + $record++; + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + + if (strlen($buffer)>0) { + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[$vendor_lead_code_field]; + $source_code = $row[$source_id_field]; + $source_id=$source_code; + $list_id = $row[$list_id_field]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[$phone_code_field]); + $phone_number = eregi_replace("[^0-9]", "", $row[$phone_number_field]); + $USarea = substr($phone_number, 0, 3); + $title = $row[$title_field]; + $first_name = $row[$first_name_field]; + $middle_initial = $row[$middle_initial_field]; + $last_name = $row[$last_name_field]; + $address1 = $row[$address1_field]; + $address2 = $row[$address2_field]; + $address3 = $row[$address3_field]; + $city =$row[$city_field]; + $state = $row[$state_field]; + $province = $row[$province_field]; + $postal_code = $row[$postal_code_field]; + $country_code = $row[$country_code_field]; + $gender = $row[$gender_field]; + $date_of_birth = $row[$date_of_birth_field]; + $alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]); + $email = $row[$email_field]; + $security_phrase = $row[$security_phrase_field]; + $comments = trim($row[$comments_field]); + + if (strlen($list_id_override)>0) + { + # print "

LIST ID OVERRIDE FOR THIS FILE: $list_id_override

"; + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + $dup_lead_list = $list_id; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead $dup_lead_list\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
"; + + } else { + print "
ERROR: The file does not have the required number of fields to process it.
"; + } + } else if (!eregi(".csv", $leadfile_name)) { + # copy($leadfile, "./vicidial_temp_file.xls"); + $file=fopen("$lead_file", "r"); + + print "
Processing Excel file... \n"; + if (strlen($list_id_override)>0) + { + print "

LIST ID OVERRIDE FOR THIS FILE: $list_id_override

\n"; + } + if (strlen($phone_code_override)>0) + { + print "

PHONE CODE OVERRIDE FOR THIS FILE: $phone_code_override

\n"; + } + # print "|$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override --lead_file=$lead_file|"; + $dupcheckCLI=''; $postalgmtCLI=''; + if (eregi("DUPLIST",$dupcheck)) {$dupcheckCLI='--duplicate-check';} + if (eregi("DUPCAMP",$dupcheck)) {$dupcheckCLI='--duplicate-campaign-check';} + if (eregi("DUPSYS",$dupcheck)) {$dupcheckCLI='--duplicate-system-check';} + if (eregi("POSTAL",$postalgmt)) {$postalgmtCLI='--postal-code-gmt';} + passthru("$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override --forcephonecode=$phone_code_override --lead-file=$lead_file $postalgmtCLI $dupcheckCLI"); + } else { + # copy($leadfile, "./vicidial_temp_file.csv"); + $file=fopen("$lead_file", "r"); + + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + print "
Processing CSV file... \n"; + if (strlen($list_id_override)>0) + { + print "

LIST ID OVERRIDE FOR THIS FILE: $list_id_override

"; + } + + if (strlen($phone_code_override)>0) + { + print "

PHONE CODE OVERRIDE FOR THIS FILE: $phone_code_override

"; + } + + while($row=fgetcsv($file, 1000, ",")) { + + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[$vendor_lead_code_field]; + $source_code = $row[$source_id_field]; + $source_id=$source_code; + $list_id = $row[$list_id_field]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[$phone_code_field]); + $phone_number = eregi_replace("[^0-9]", "", $row[$phone_number_field]); + $USarea = substr($phone_number, 0, 3); + $title = $row[$title_field]; + $first_name = $row[$first_name_field]; + $middle_initial = $row[$middle_initial_field]; + $last_name = $row[$last_name_field]; + $address1 = $row[$address1_field]; + $address2 = $row[$address2_field]; + $address3 = $row[$address3_field]; + $city =$row[$city_field]; + $state = $row[$state_field]; + $province = $row[$province_field]; + $postal_code = $row[$postal_code_field]; + $country_code = $row[$country_code_field]; + $gender = $row[$gender_field]; + $date_of_birth = $row[$date_of_birth_field]; + $alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]); + $email = $row[$email_field]; + $security_phrase = $row[$security_phrase_field]; + $comments = trim($row[$comments_field]); + + if (strlen($list_id_override)>0) + { + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
"; + } + print ""; + } + +if ($leadfile && filesize($LF_path)<=8388608) { + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + if ($file_layout=="standard") { + + print ""; + flush(); + + if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) { + + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"); + $lead_file = "./vicidial_temp_file.txt"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.txt"); + $lead_file = "/tmp/vicidial_temp_file.txt"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + + if (count($field_check)>=5) { + flush(); + $file=fopen("$lead_file", "r"); + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + print "
Processing $delim_name-delimited file... ($tab_count|$pipe_count)\n"; + if (strlen($list_id_override)>0) + { + print "

LIST ID OVERRIDE FOR THIS FILE: $list_id_override

"; + } + if (strlen($phone_code_override)>0) + { + print "

PHONE CODE OVERRIDE FOR THIS FILE: $phone_code_override

\n"; + } + while (!feof($file)) { + $record++; + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + + if (strlen($buffer)>0) { + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[0]; + $source_code = $row[1]; + $source_id=$source_code; + $list_id = $row[2]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[3]); + $phone_number = eregi_replace("[^0-9]", "", $row[4]); + $USarea = substr($phone_number, 0, 3); + $title = $row[5]; + $first_name = $row[6]; + $middle_initial = $row[7]; + $last_name = $row[8]; + $address1 = $row[9]; + $address2 = $row[10]; + $address3 = $row[11]; + $city =$row[12]; + $state = $row[13]; + $province = $row[14]; + $postal_code = $row[15]; + $country_code = $row[16]; + $gender = $row[17]; + $date_of_birth = $row[18]; + $alt_phone = eregi_replace("[^0-9]", "", $row[19]); + $email = $row[20]; + $security_phrase = $row[21]; + $comments = trim($row[22]); + + if (strlen($list_id_override)>0) + { + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
"; + + } else { + print "
ERROR: The file does not have the required number of fields to process it.
"; + } + } else if (!eregi(".csv", $leadfile_name)) + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.xls"); + $lead_file = "/tmp/vicidial_temp_file.xls"; + } + $file=fopen("$lead_file", "r"); + + # echo "|$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override --lead-file=$lead_file|"; + $dupcheckCLI=''; $postalgmtCLI=''; + if (eregi("DUPLIST",$dupcheck)) {$dupcheckCLI='--duplicate-check';} + if (eregi("DUPCAMP",$dupcheck)) {$dupcheckCLI='--duplicate-campaign-check';} + if (eregi("DUPSYS",$dupcheck)) {$dupcheckCLI='--duplicate-system-check';} + if (eregi("POSTAL",$postalgmt)) {$postalgmtCLI='--postal-code-gmt';} + passthru("$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override --forcephonecode=$phone_code_override --lead-file=$lead_file $postalgmtCLI $dupcheckCLI"); + + } + else + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.csv"); + $lead_file = "/tmp/vicidial_temp_file.csv"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + print "
Processing CSV file... \n"; + + if (strlen($list_id_override)>0) + { + print "

LIST ID OVERRIDE FOR THIS FILE: $list_id_override

"; + } + if (strlen($phone_code_override)>0) + { + print "

PHONE CODE OVERRIDE FOR THIS FILE: $phone_code_override

"; + } + + while($row=fgetcsv($file, 1000, ",")) { + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[0]; + $source_code = $row[1]; + $source_id=$source_code; + $list_id = $row[2]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[3]); + $phone_number = eregi_replace("[^0-9]", "", $row[4]); + $USarea = substr($phone_number, 0, 3); + $title = $row[5]; + $first_name = $row[6]; + $middle_initial = $row[7]; + $last_name = $row[8]; + $address1 = $row[9]; + $address2 = $row[10]; + $address3 = $row[11]; + $city =$row[12]; + $state = $row[13]; + $province = $row[14]; + $postal_code = $row[15]; + $country_code = $row[16]; + $gender = $row[17]; + $date_of_birth = $row[18]; + $alt_phone = eregi_replace("[^0-9]", "", $row[19]); + $email = $row[20]; + $security_phrase = $row[21]; + $comments = trim($row[22]); + + if (strlen($list_id_override)>0) + { + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
"; + + } + print ""; + + } else { + print "
"; + flush(); + print "\r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + + $rslt=mysql_query("select vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments from vicidial_list limit 1", $link); + + + if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.txt"); + $lead_file = "/tmp/vicidial_temp_file.txt"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + flush(); + $file=fopen("$lead_file", "r"); + print "
Processing $delim_name-delimited file...\n"; + + if (strlen($list_id_override)>0) + { + print "

LIST ID OVERRIDE FOR THIS FILE: $list_id_override

"; + } + if (strlen($phone_code_override)>0) + { + print "

PHONE CODE OVERRIDE FOR THIS FILE: $phone_code_override

"; + } + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + + for ($i=0; $i\r\n"; + print "
\r\n"; + print " \r\n"; + print " \r\n"; + + #print " \r\n"; + #print " \r\n"; + #print " \r\n"; + #print " \r\n"; + } + } + else if (!eregi(".csv", $leadfile_name)) + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.xls"); + $lead_file = "/tmp/vicidial_temp_file.xls"; + } + + # echo "|$WeBServeRRooT/vicidial/listloader_rowdisplay.pl --lead-file=$lead_file|"; + $dupcheckCLI=''; $postalgmtCLI=''; + if (eregi("DUPLIST",$dupcheck)) {$dupcheckCLI='--duplicate-check';} + if (eregi("DUPCAMP",$dupcheck)) {$dupcheckCLI='--duplicate-campaign-check';} + if (eregi("DUPSYS",$dupcheck)) {$dupcheckCLI='--duplicate-system-check';} + if (eregi("POSTAL",$postalgmt)) {$postalgmtCLI='--postal-code-gmt';} + passthru("$WeBServeRRooT/vicidial/listloader_rowdisplay.pl --lead-file=$lead_file $postalgmtCLI $dupcheckCLI"); + } + else + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.csv"); + $lead_file = "/tmp/vicidial_temp_file.csv"; + } + $file=fopen("$lead_file", "r"); + + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + print "
Processing CSV file... \n"; + + if (strlen($list_id_override)>0) + { + print "

LIST ID OVERRIDE FOR THIS FILE: $list_id_override

"; + } + if (strlen($phone_code_override)>0) + { + print "

PHONE CODE OVERRIDE FOR THIS FILE: $phone_code_override

"; + } + + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + $row=fgetcsv($file, 1000, ","); + for ($i=0; $i\r\n"; + print "
\r\n"; + print " \r\n"; + print " \r\n"; + + #print " \r\n"; + #print " \r\n"; + #print " \r\n"; + #print " \r\n"; + } + } + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print "
VICIDIAL ColumnFile data
".strtoupper(eregi_replace("_", " ", mysql_field_name($rslt, $i))).":
$row[$i]
".strtoupper(eregi_replace("_", " ", mysql_field_name($rslt, $i))).":
$row[$i]
        
\r\n"; + # } + print ""; + } +} else if (filesize($leadfile)>8388608) { + print "
ERROR: File exceeds the 8MB limit.
"; +} +?> + + + + + + + + +4) ) + { + if (preg_match('/^1$/', $phone_code)) + { + $stmt="select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[3]; + $dst_range = $row[4]; + $PC_processed++; + $postalgmt_found++; + $post++; + } + } + } +if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =='1') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### MEXICO ### + if ($phone_code =='52') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### AUSTRALIA ### + if ($phone_code =='61') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $PC_processed++; + $stmt="select * from vicidial_phone_codes where country_code='$phone_code';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + } + +### Find out if DST to raise the gmt offset ### +$AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); +$AC_localtime = mktime(($Shour + $AC_GMT_diff), $Smin, $Ssec, $Smon, $Smday, $Syear); + $hour = date("H",$AC_localtime); + $min = date("i",$AC_localtime); + $sec = date("s",$AC_localtime); + $mon = date("m",$AC_localtime); + $mday = date("d",$AC_localtime); + $wday = date("w",$AC_localtime); + $year = date("Y",$AC_localtime); +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + +$AC_processed=0; +if ( (!$AC_processed) and ($dst_range == 'SSM-FSN') ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + #********************************************************************** + # SSM-FSN + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on Second Sunday March to First Sunday November at 2 am. + # INPUTS: + # mm INTEGER Month. + # dd INTEGER Day of the month. + # ns INTEGER Seconds into the day. + # dow INTEGER Day of week (0=Sunday, to 6=Saturday) + # OPTIONAL INPUT: + # timezone INTEGER hour difference UTC - local standard time + # (DEFAULT is blank) + # make calculations based on UTC time, + # which means shift at 10:00 UTC in April + # and 9:00 UTC in October + # OUTPUT: + # INTEGER 1 = DST, 0 = not DST + # + # S M T W T F S + # 1 2 3 4 5 6 7 + # 8 9 10 11 12 13 14 + #15 16 17 18 19 20 21 + #22 23 24 25 26 27 28 + #29 30 31 + # + # S M T W T F S + # 1 2 3 4 5 6 + # 7 8 9 10 11 12 13 + #14 15 16 17 18 19 20 + #21 22 23 24 25 26 27 + #28 29 30 31 + # + #********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; + } elseif ($mm >= 4 and $mm <= 10) { + $USACAN_DST=1; + } elseif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; + } elseif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } + } else { + $USACAN_DST=0; + } + } elseif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; + } elseif ($dd < ($dow+1)) { + $USACAN_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } else { # local time calculations + if ($ns < 7200) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } + } else { + $USACAN_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'FSA-LSO') ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + #********************************************************************** + # FSA-LSO + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in April and last Sunday in October at 2 am. + #********************************************************************** + + $USA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $USA_DST=0; + } elseif ($mm >= 5 and $mm <= 9) { + $USA_DST=1; + } elseif ($mm == 4) { + if ($dd > 7) { + $USA_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $USA_DST=0; + } else { + $USA_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $USA_DST=0; + } else { + $USA_DST=1; + } + } + } else { + $USA_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $USA_DST=1; + } elseif ($dd < ($dow+25)) { + $USA_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USA_DST=1; + } else { + $USA_DST=0; + } + } else { # local time calculations + if ($ns < 7200) { + $USA_DST=1; + } else { + $USA_DST=0; + } + } + } else { + $USA_DST=0; + } + } # end of month checks + + if ($DBX) {print " DST: $USA_DST\n";} + if ($USA_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'LSM-LSO') ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in March and last Sunday in October at 1 am. + #********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; + } elseif ($mm >= 4 and $mm <= 9) { + $GBR_DST=1; + } elseif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; + } elseif ($dd < ($dow+25)) { + $GBR_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } + } else { + $GBR_DST=1; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; + } elseif ($dd < ($dow+25)) { + $GBR_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } + } else { + $GBR_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } +if ( (!$AC_processed) and ($dst_range == 'LSO-LSM') ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUS_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; + } elseif ($dd < ($dow+25)) { + $AUS_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } + } else { + $AUS_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; + } elseif ($dd < ($dow+25)) { + $AUS_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } + } else { + $AUS_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'FSO-LSM') ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + #********************************************************************** + # TASMANIA ONLY + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUST_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; + } elseif ($dd < ($dow+25)) { + $AUST_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } + } else { + $AUST_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $AUST_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } + } else { + $AUST_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } +if ( (!$AC_processed) and ($dst_range == 'FSO-TSM') ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and third Sunday in March at 1 am. + #********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $NZL_DST=0; + } elseif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; + } elseif ($dd < ($dow+14)) { + $NZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } else { # local time calculations + if ($ns < 3600) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } + } else { + $NZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $NZL_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } + } else { + $NZL_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'TSO-LSF') ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + #********************************************************************** + # TSO-LSF + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. Brazil + # Based on Third Sunday October to Last Sunday February at 1 am. + #********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; + } elseif ($mm >= 3 and $mm <= 9) { + $BZL_DST=0; + } elseif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; + } elseif ($dd < ($dow+22)) { + $BZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } + } else { + $BZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; + } elseif ($dd < ($dow+22)) { + $BZL_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } + } else { + $BZL_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$gmt_offset++;} + $AC_processed++; + } + +if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + +return $gmt_offset; +} \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/phone_stats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/phone_stats.php new file mode 100644 index 00000000..0daaf2fd --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/phone_stats.php @@ -0,0 +1,245 @@ + LICENSE: GPLv2 +# +# +# changes: +# 60620-1333 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 60927-1548 - Changed to vicidial_users for authentication +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["begin_date"])) {$begin_date=$_GET["begin_date"];} + elseif (isset($_POST["begin_date"])) {$begin_date=$_POST["begin_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["full_name"])) {$full_name=$_GET["full_name"];} + elseif (isset($_POST["full_name"])) {$full_name=$_POST["full_name"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$admin_page = './admin.php'; + +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and view_reports='1';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-ASTERISK\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "ASTERISK|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + + ##### get server listing for dynamic pulldown + $stmt="SELECT fullname from phones where server_ip='$server_ip' and extension='$extension'"; + $rsltx=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rsltx); + $fullname = $row[0]; + } + else + { + fwrite ($fp, "ASTERISK|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +?> + + +VICIDIAL ADMIN: Phone Stats + + +
+ + + + + + + +\n"; +echo "
  VICIDIAL ADMIN: Administration  
  LIST ALL PHONES | ADD A NEW PHONE | SEARCH FOR A PHONE | ADD A SERVER | LIST ALL SERVERS
  SHOW ALL CONFERENCES | ADD A NEW CONFERENCE
  \n"; + +echo "
\n"; +echo "\n"; +echo "\n"; +echo " to \n"; +echo "  \n"; +echo "\n"; + + +echo "           $user - $full_name\n"; + +echo "
\n"; + + + $stmt="SELECT count(*),channel_group, sum(length_in_sec) from call_log where extension='" . mysql_real_escape_string($extension) . "' and server_ip='" . mysql_real_escape_string($server_ip) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' group by channel_group order by channel_group"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); +# echo "|$stmt|\n"; + +echo "
\n"; + +echo "CALL TIME AND CHANNELS:\n"; + +echo "
\n"; +echo "\n"; + + $total_calls=0; + $o=0; + while ($statuses_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $call_seconds = $row[2]; + $call_hours = ($call_seconds / 3600); + $call_hours = round($call_hours, 2); + $call_hours_int = intval("$call_hours"); + $call_minutes = ($call_hours - $call_hours_int); + $call_minutes = ($call_minutes * 60); + $call_minutes_int = round($call_minutes, 0); + if ($call_minutes_int < 10) {$call_minutes_int = "0$call_minutes_int";} + + echo ""; + echo "\n"; + echo "\n"; + $total_calls = ($total_calls + $row[0]); + + $call_seconds=0; + $o++; + } + + $stmt="SELECT sum(length_in_sec) from call_log where extension='" . mysql_real_escape_string($extension) . "' and server_ip='" . mysql_real_escape_string($server_ip) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59'"; + $rslt=mysql_query($stmt, $link); + $counts_to_print = mysql_num_rows($rslt); + $row=mysql_fetch_row($rslt); + $call_seconds = $row[0]; + $call_hours = ($call_seconds / 3600); + $call_hours = round($call_hours, 2); + $call_hours_int = intval("$call_hours"); + $call_minutes = ($call_hours - $call_hours_int); + $call_minutes = ($call_minutes * 60); + $call_minutes_int = round($call_minutes, 0); + if ($call_minutes_int < 10) {$call_minutes_int = "0$call_minutes_int";} +# echo "|$stmt|\n"; + +echo "\n"; +echo "
CHANNEL GROUP COUNT HOURS:MINUTES
$row[1] $row[0] $call_hours_int:$call_minutes_int
TOTAL CALLS $total_calls $call_hours_int:$call_minutes_int
\n"; +echo "

\n"; + +echo "
\n"; + +echo "LAST 1000 CALLS FOR DATE RANGE:\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT number_dialed,channel_group,start_time,length_in_min from call_log where extension='" . mysql_real_escape_string($extension) . "' and server_ip='" . mysql_real_escape_string($server_ip) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' LIMIT 1000"; + $rslt=mysql_query($stmt, $link); + $events_to_print = mysql_num_rows($rslt); +# echo "|$stmt|\n"; + + $total_calls=0; + $o=0; + $event_start_seconds=''; + $event_stop_seconds=''; + while ($events_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + + + $call_seconds=0; + $o++; + } + + +echo "
NUMBER CHANNEL GROUP DATE LENGTH(MIN.)
$row[0] $row[1] $row[2] $row[3]
\n"; + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nscript runtime: $RUNtime seconds
"; + + +?> + + +
+ + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/record_conf_1_hour.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/record_conf_1_hour.php new file mode 100644 index 00000000..d184e457 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/record_conf_1_hour.php @@ -0,0 +1,156 @@ + LICENSE: GPLv2 +### +# grab: $server_ip $station $session_id +# +# CHANGES +# +# 60620-1011 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["station"])) {$station=$_GET["station"];} + elseif (isset($_POST["station"])) {$station=$_POST["station"];} +if (isset($_GET["session_id"])) {$session_id=$_GET["session_id"];} + elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} +if (isset($_GET["NEW_RECORDING"])) {$NEW_RECORDING=$_GET["NEW_RECORDING"];} + elseif (isset($_POST["NEW_RECORDING"])) {$NEW_RECORDING=$_POST["NEW_RECORDING"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$MYSQL_datetime = date("Y-m-d H:i:s"); +$FILE_datetime = date("Ymd-His_"); +$secX = $STARTtime; + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + + $stmt="SELECT full_name from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + + } + + + + +?> + + +VICIDIAL RECORD CONFERENCE: 1 hour +\n"; +?> + + +
+ + 8) && (strlen($session_id) > 3) && (strlen($station) > 3) ) + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $conf_silent_prefix = '7'; + $ext_context = 'demo'; + + $stmt="INSERT INTO vicidial_manager values('','','$MYSQL_datetime','NEW','N','" . mysql_real_escape_string($server_ip) . "','','Originate','RB$FILE_datetime" . mysql_real_escape_string($station) . "','Channel: $local_DEF$conf_silent_prefix" . mysql_real_escape_string($session_id) . "$local_AMP$ext_context','Context: $ext_context','Exten: 8309','Priority: 1','Callerid: $FILE_datetime" . mysql_real_escape_string($station) . "','','','','','')"; + echo "|$stmt|\n

\n"; + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename) values('" . mysql_real_escape_string($session_id) . "','" . mysql_real_escape_string($server_ip) . "','" . mysql_real_escape_string($station) . "','$MYSQL_datetime','$secX','$FILE_datetime" . mysql_real_escape_string($station) . "')"; + echo "|$stmt|\n

\n"; + $rslt=mysql_query($stmt, $link); + + echo "Recording started\n

\n"; + echo "Back to main recording screen\n

\n"; + } + else + { + echo "ERROR!!!! Not all info entered properly\n

\n"; + echo "|$server_ip| |$session_id| |$station|\n

\n"; + echo "Back to main recording screen\n

\n"; + } +} +else +{ +echo "
Start recording a conference for 1 hour: \n"; +echo "\n"; +echo "server_ip: | \n"; +echo "session_id: | \n"; +echo "station: | \n"; +echo "\n"; +echo "


\n"; + + + +} +?> + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/remote_dispo.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/remote_dispo.php new file mode 100644 index 00000000..da249fba --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/remote_dispo.php @@ -0,0 +1,327 @@ + LICENSE: GPLv2 +### +# this is the remote agent disposition screen for calls sent to remote agents. This allows the remote agent to modify customer information and disposition the call + +# CHANGES +# +# 60619-1626 - Added variable filtering to eliminate SQL injection attack threat +# + + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];} + elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["channel_group"])) {$channel_group=$_GET["channel_group"];} + elseif (isset($_POST["channel_group"])) {$channel_group=$_POST["channel_group"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["customer_zap_channel"])) {$customer_zap_channel=$_GET["customer_zap_channel"];} + elseif (isset($_POST["customer_zap_channel"])) {$customer_zap_channel=$_POST["customer_zap_channel"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];} + elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];} + elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["security"])) {$security=$_GET["security"];} + elseif (isset($_POST["security"])) {$security=$_POST["security"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_id"])) {$session_id=$_GET["session_id"];} + elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];} + elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$ext_context = 'demo'; +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 2;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-CLOSER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $fullname = $row[0]; + fwrite ($fp, "VD_CLOSER|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + + } + else + { + fwrite ($fp, "VD_CLOSER|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +?> + + +VICIDIAL REMOTE: Call Disposition +\n"; +?> + + +
+ +"; + +if ($end_call > 0) +{ + +$call_length = ($STARTtime - $call_began); + + ### insert a NEW record to the vicidial_closer_log table + $stmt="UPDATE vicidial_closer_log set end_epoch='$STARTtime', length_in_sec='" . mysql_real_escape_string($call_length) . "', status='" . mysql_real_escape_string($status) . "', user='$PHP_AUTH_USER' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by start_epoch desc limit 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + ### update the lead record in the vicidial_list table + $stmt="UPDATE vicidial_list set status='" . mysql_real_escape_string($status) . "',first_name='" . mysql_real_escape_string($first_name) . "',last_name='" . mysql_real_escape_string($last_name) . "',address1='" . mysql_real_escape_string($address1) . "',address2='" . mysql_real_escape_string($address2) . "',address3='" . mysql_real_escape_string($address3) . "',city='" . mysql_real_escape_string($city) . "',state='" . mysql_real_escape_string($state) . "',province='" . mysql_real_escape_string($province) . "',postal_code='" . mysql_real_escape_string($postal_code) . "',country_code='" . mysql_real_escape_string($country_code) . "',alt_phone='" . mysql_real_escape_string($alt_phone) . "',email='" . mysql_real_escape_string($email) . "',security_phrase='" . mysql_real_escape_string($security) . "',comments='" . mysql_real_escape_string($comments) . "',user='$PHP_AUTH_USER' where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Call has been dispositioned       $NOW_TIME\n

\n"; + + echo "\n"; + +} +else +{ + $stmt="SELECT count(*) from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_count = $row[0]; + + if ($lead_count > 0) + { + + $stmt="SELECT * from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_id = "$row[0]"; + $tsr = "$row[4]"; + $vendor_id = "$row[5]"; + $list_id = "$row[7]"; + $campaign_id = "$row[8]"; + $phone_code = "$row[10]"; + $phone_number = "$row[11]"; + $title = "$row[12]"; + $first_name = "$row[13]"; # + $middle_initial = "$row[14]"; + $last_name = "$row[15]"; # + $address1 = "$row[16]"; # + $address2 = "$row[17]"; # + $address3 = "$row[18]"; # + $city = "$row[19]"; # + $state = "$row[20]"; # + $province = "$row[21]"; # + $postal_code = "$row[22]"; # + $country_code = "$row[23]"; # + $gender = "$row[24]"; + $date_of_birth = "$row[25]"; + $alt_phone = "$row[26]"; # + $email = "$row[27]"; # + $security = "$row[28]"; # + $comments = "$row[29]"; # + + echo "
Call information: $first_name $last_name - $phone_number

\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
Vendor ID: $vendor_id     Campaign ID: $campaign_id
Fronter: $tsr     List ID: $list_id
First Name:   \n"; + echo " Last Name:
Address 1 :
Address 2 :
Address 3 :
City :
State:   \n"; + echo " Postal Code:
Province :
Country :
Alt Phone :
Email :
Security :
Comments :
Disposition:
\n"; + echo "


\n"; + + } + else + { + echo "lead lookup FAILED for lead_id $lead_id       $NOW_TIME\n

\n"; +# echo "Close this window\n

\n"; + } + + + + + + +} + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nscript runtime: $RUNtime seconds
"; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/server_stats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/server_stats.php new file mode 100644 index 00000000..8e509383 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/server_stats.php @@ -0,0 +1,97 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60620-1037 - Added Link back to Admin section +# - Added required user/pass to gain access to this page +# 61101-1331 - Added SIP/IAX listen/barge links +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="select * from servers;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$servers_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $servers_to_print) + { + $row=mysql_fetch_row($rslt); + $server_id[$i] = $row[0]; + $server_description[$i] = $row[1]; + $server_ip[$i] = $row[2]; + $active[$i] = $row[3]; + $i++; + } +?> + + + + + +VICIDIAL: Server Stats and Reports +VICIDIAL: Server Stats and Reports                           +BACK TO ADMIN

+ + +

+
+ $o)
+	{
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	$o++;
+	}
+
+?>
+
SERVERDESCRIPTIONIP ADDRESSACTIVEVDAD timeVDcall timePARK timeCLOSER/INBOUND time
$server_id[$o]$server_description[$o]$server_ip[$o]$active[$o]LINKLINKLINKLINK
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/user_stats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/user_stats.php new file mode 100644 index 00000000..ecd457f8 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/user_stats.php @@ -0,0 +1,408 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1743 - Added variable filtering to eliminate SQL injection attack threat +# 61201-1136 - Added recordings display and changed calls to time range with 10000 limit +# 70118-1605 - Added user group column to login/out and calls lists +# 70702-1231 - Added recording location link and truncation +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["begin_date"])) {$begin_date=$_GET["begin_date"];} + elseif (isset($_POST["begin_date"])) {$begin_date=$_POST["begin_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); + +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and view_reports='1';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + + $stmt="SELECT full_name from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + + } + + + + +?> + + +VICIDIAL ADMIN: User Stats +\n"; +?> + + +
+ + + + + +\n"; +echo "
" ?>   VICIDIAL ADMIN: User Stats for  
  \n"; + +echo "
\n"; +echo "\n"; +echo " to \n"; +echo "  \n"; +echo "\n"; + + +echo "           $user - $full_name\n"; + +echo " - VICIDIAL Time Sheet\n"; +echo " - User Status\n"; +echo " - Modify User\n"; + + +echo "
\n"; + + + $stmt="SELECT count(*),status, sum(length_in_sec) from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' group by status order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + +echo "
\n"; + +echo "TALK TIME AND STATUS:\n"; + +echo "
\n"; +echo "\n"; + + $total_calls=0; + $o=0; + while ($statuses_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $call_seconds = $row[2]; + $call_hours = ($call_seconds / 3600); + $call_hours = round($call_hours, 2); + $call_hours_int = intval("$call_hours"); + $call_minutes = ($call_hours - $call_hours_int); + $call_minutes = ($call_minutes * 60); + $call_minutes_int = round($call_minutes, 0); + if ($call_minutes_int < 10) {$call_minutes_int = "0$call_minutes_int";} + + echo ""; + echo "\n"; + echo "\n"; + $total_calls = ($total_calls + $row[0]); + + $call_seconds=0; + $o++; + } + + $stmt="SELECT sum(length_in_sec) from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59'"; + $rslt=mysql_query($stmt, $link); + $counts_to_print = mysql_num_rows($rslt); + $row=mysql_fetch_row($rslt); + $call_seconds = $row[0]; + $call_hours = ($call_seconds / 3600); + $call_hours = round($call_hours, 2); + $call_hours_int = intval("$call_hours"); + $call_minutes = ($call_hours - $call_hours_int); + $call_minutes = ($call_minutes * 60); + $call_minutes_int = round($call_minutes, 0); + if ($call_minutes_int < 10) {$call_minutes_int = "0$call_minutes_int";} + +echo "\n"; +echo "
STATUSCOUNTHOURS:MINUTES
$row[1] $row[0] $call_hours_int:$call_minutes_int
TOTAL CALLS $total_calls $call_hours_int:$call_minutes_int
\n"; +echo "

\n"; + +echo "
\n"; + +echo "LOGIN/LOGOUT TIME:\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT event,event_epoch,event_date,campaign_id,user_group from vicidial_user_log where user='" . mysql_real_escape_string($user) . "' and event_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and event_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59'"; + $rslt=mysql_query($stmt, $link); + $events_to_print = mysql_num_rows($rslt); + + $total_calls=0; + $o=0; + $event_start_seconds=''; + $event_stop_seconds=''; + while ($events_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("LOGIN", $row[0])) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + if (ereg("LOGIN", $row[0])) + { + $event_start_seconds = $row[1]; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + if (ereg("LOGOUT", $row[0])) + { + if ($event_start_seconds) + { + $event_stop_seconds = $row[1]; + $event_seconds = ($event_stop_seconds - $event_start_seconds); + $total_login_time = ($total_login_time + $event_seconds); + $event_hours = ($event_seconds / 3600); + $event_hours = round($event_hours, 2); + $event_hours_int = intval("$event_hours"); + $event_minutes = ($event_hours - $event_hours_int); + $event_minutes = ($event_minutes * 60); + $event_minutes_int = round($event_minutes, 0); + if ($event_minutes_int < 10) {$event_minutes_int = "0$event_minutes_int";} + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $event_start_seconds=''; + $event_stop_seconds=''; + } + else + { + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + } + } + + $total_calls = ($total_calls + $row[0]); + + $call_seconds=0; + $o++; + } + +$total_login_hours = ($total_login_time / 3600); +$total_login_hours = round($total_login_hours, 2); +$total_login_hours_int = intval("$total_login_hours"); +$total_login_minutes = ($total_login_hours - $total_login_hours_int); +$total_login_minutes = ($total_login_minutes * 60); +$total_login_minutes_int = round($total_login_minutes, 0); +if ($total_login_minutes_int < 10) {$total_login_minutes_int = "0$total_login_minutes_int";} + +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; + +echo "
EVENT DATE CAMPAIGN GROUPHOURS:MINUTES
$row[0] $row[2] $row[3] $row[4]
$row[0] $row[2] $row[3] $row[4] $event_hours_int:$event_minutes_int
$row[0] $row[2] $row[3]
TOTAL $total_login_hours_int:$total_login_minutes_int
\n"; + + +echo "

\n"; + +echo "
\n"; + +echo "OUTBOUND CALLS FOR THIS TIME PERIOD: (10000 record limit)\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + } + + +echo "
# DATE/TIME LENGTH STATUS PHONE CAMPAIGN GROUP LIST LEAD
$u$row[4] $row[7] $row[8] $row[10] $row[3] $row[14] $row[2] $row[1]


\n"; + + + +echo "CLOSER CALLS FOR THIS TIME PERIOD: (10000 record limit)\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from vicidial_closer_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + } + + +echo "
# DATE/TIME LENGTH STATUS PHONE CAMPAIGN WAIT (S) LIST LEAD
$u$row[4] $row[7] $row[8] $row[10] $row[3] $row[14] $row[2] $row[1]


\n"; + + + + +echo "RECORDINGS FOR THIS TIME PERIOD: (10000 record limit)\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from recording_log where user='" . mysql_real_escape_string($user) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by recording_id desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $location = $row[11]; + if (strlen($location)>30) + {$locat = substr($location,0,27); $locat = "$locat...";} + else + {$locat = $location;} + if (eregi("http",$location)) + {$location = "$locat";} + else + {$location = $locat;} + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + } + + +echo "
# LEADDATE/TIME SECONDS   RECIDFILENAMELOCATION  
$u $row[12] $row[4] $row[8] $row[0] $row[10] $location  
\n"; + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nscript runtime: $RUNtime seconds
"; + + +?> + + +
+ + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/user_status.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/user_status.php new file mode 100644 index 00000000..ecffbc5c --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/user_status.php @@ -0,0 +1,242 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1738 - Added variable filtering to eliminate SQL injection attack threat +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["begin_date"])) {$begin_date=$_GET["begin_date"];} + elseif (isset($_POST["begin_date"])) {$begin_date=$_POST["begin_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); + +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and view_reports='1';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name,change_agent_campaign from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $change_agent_campaign=$row[1]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + + $stmt="SELECT full_name,user_group from vicidial_users where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + $user_group = $row[1]; + + $stmt="SELECT * from vicidial_live_agents where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $agents_to_print = mysql_num_rows($rslt); + $i=0; + while ($i < $agents_to_print) + { + $row=mysql_fetch_row($rslt); + $Aserver_ip = $row[2]; + $Asession_id = $row[3]; + $Aextension = $row[4]; + $Astatus = $row[5]; + $Acampaign = $row[7]; + $Alast_call = $row[14]; + $Acl_campaigns = $row[15]; + $i++; + } + + } + +$stmt="select * from vicidial_campaigns;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + + + +?> + + +VICIDIAL ADMIN: User Status +\n"; +?> + + +
+
+ + + + +\n"; +echo "
" ?>   VICIDIAL ADMIN: User Status for  
  \n"; + +if ($stage == "live_campaign_change") +{ + $stmt="UPDATE vicidial_live_agents set campaign_id='" . mysql_real_escape_string($group) . "' where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + + echo "Agent $user - $full_name changed to $group campaign
\n"; + + exit; +} + +if ($stage == "log_agent_out") +{ + $stmt="DELETE from vicidial_live_agents where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + + echo "Agent $user - $full_name has been emergency logged out, make sure they close their web browser
\n"; + + exit; +} + +if ($agents_to_print > 0) +{ + echo "
";
+	echo "Agent Logged in at server:  $Aserver_ip\n";
+	echo "               in session:  $Asession_id\n";
+	echo "               from phone:  $Aextension\n";
+	echo "Agent is in campaign:       $Acampaign\n";
+	echo "              status:       $Astatus\n";
+	echo " hungup last call at:       $Alast_call\n";
+	echo "       Closer groups:       $Acl_campaigns\n\n";
+
+	echo "
"; + + + if ($change_agent_campaign > 0) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Current Campaign: \n"; + echo "
\n"; + + + echo "
\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + } +} + +else +{ + echo "Agent is not logged in\n
"; + +} + + +echo "           $user - $full_name \n"; +echo "       GROUP: $user_group

\n"; + +echo "VICIDIAL Time Sheet\n"; +echo " - User Stats\n"; +echo " - Modify User\n"; + +echo "
\n"; + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nscript runtime: $RUNtime seconds
"; + +echo "|$stage|$group|"; + +?> + + +
+ + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/vdremote.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/vdremote.php new file mode 100644 index 00000000..dfe11fa3 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/vdremote.php @@ -0,0 +1,602 @@ + LICENSE: GPLv2 +# +# Changes +# 50307-1721 - First version +# 51123-1502 - removed requirement of PHP Globals=on +# 60421-1229 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1603 - Added variable filtering to eliminate SQL injection attack threat +# +# make sure you have added a user to the vicidial_users MySQL table with at least user_level 4 to access this page the first time + +$version = '1.1.12'; +$build = '60619-1603'; + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["force_logout"])) {$force_logout=$_GET["force_logout"];} + elseif (isset($_POST["force_logout"])) {$force_logout=$_POST["force_logout"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["remote_agent_id"])) {$remote_agent_id=$_GET["remote_agent_id"];} + elseif (isset($_POST["remote_agent_id"])) {$remote_agent_id=$_POST["remote_agent_id"];} +if (isset($_GET["user_start"])) {$user_start=$_GET["user_start"];} + elseif (isset($_POST["user_start"])) {$user_start=$_POST["user_start"];} +if (isset($_GET["number_of_lines"])) {$number_of_lines=$_GET["number_of_lines"];} + elseif (isset($_POST["number_of_lines"])) {$number_of_lines=$_POST["number_of_lines"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +if (!isset($force_logout)) {$force_logout = 0;} + +if ($force_logout) +{ + if( (strlen($PHP_AUTH_USER)>0) or (strlen($PHP_AUTH_PW)>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "You have now logged out. Thank you\n"; + exit; +} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + +$popup_page = './closer_popup.php'; +$STARTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 3;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + + $stmt="SELECT count(*) from vicidial_remote_agents where user_start='$PHP_AUTH_USER';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $authx=$row[0]; + + if($authx>0) + { + $stmt="SELECT remote_agent_id,server_ip,number_of_lines from vicidial_remote_agents where user_start='$PHP_AUTH_USER';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id=$row[0]; + $server_ip=$row[1]; + if (!$number_of_lines) {$number_of_lines=$row[2];} + + fwrite ($fp, "VDremote|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VDremote|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + echo "This remote agent does not exist: |$PHP_AUTH_USER|\n"; + exit; + } + } + else + { + fwrite ($fp, "VDremote|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +echo "\n"; +echo "\n"; +echo "\n"; +if ($ADD==61111) + { + echo"\n"; + } +echo "\n"; +?> + +VICIDIAL REMOTE AGENTS: $LOGfullname - $PHP_AUTH_USER "; + +if (!$ADD) {$ADD="31111";} +if ($ADD==31111) {echo "Modify Remote Agents";} +if ($ADD==41111) {echo "Modify Remote Agents";} +if ($ADD==61111) {echo "Remote Agent Status";} +if ($ADD==71111) {echo "Remote Agent Closer Stats";} + + +if (strlen($ADD)>4) + { + ##### get server listing for dynamic pulldown + $stmt="SELECT server_ip,server_description from servers order by server_ip"; + $rslt=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rslt); + $servers_list=''; + + $o=0; + while ($servers_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $servers_list .= "\n"; + $o++; + } + + ##### get campaigns listing for dynamic pulldown + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "\n"; + $o++; + } + + ##### get inbound groups listing for checkboxes + if ( (($ADD==31111) or ($ADD==31111)) and (count($groups)<1) ) + { + $stmt="SELECT closer_campaigns from vicidial_remote_agents where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $groups_list=''; + $groups_value=''; + + $o=0; + while ($groups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $group_id_value = $rowx[0]; + $group_name_value = $rowx[1]; + $groups_list .= "2) {$groups_value .= " -";} + } + +?> + + + +
+
+ + + +
  VICIDIAL REMOTE AGENTS:   Logout  
  MODIFY | ">STATUS | ">INBOUND STATS
+"; + + $stmt="SELECT * from vicidial_remote_agents where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id = $row[0]; + $user_start = $row[1]; + $number_of_lines = $row[2]; + $server_ip = $row[3]; + $conf_exten = $row[4]; + $status = $row[5]; + $campaign_id = $row[6]; + +echo "
MODIFY A REMOTE AGENTS ENTRY: $row[0]
\n"; +echo "\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
User ID Start: $user_start
Number of Lines: (numbers only)
Server IP: $row[3]
External Extension: (number dialed to reach agents [i.e. 913125551212])
Status:
Campaign: $campaign_id
Inbound Groups: \n"; +echo "$groups_list"; +echo "
\n"; +echo "NOTE: It can take up to 30 seconds for changes submitted on this screen to go live\n"; + +} + + + + +###################### +# ADD=41111 modify remote agents info in the system +###################### + +if ($ADD==41111) +{ + echo ""; + + if ( (strlen($number_of_lines) < 1) or (strlen($conf_exten) < 2) ) + {echo "
REMOTE AGENTS NOT MODIFIED - Please go back and look at the data you entered\n";} + else + { + $stmt="UPDATE vicidial_remote_agents set number_of_lines='" . mysql_real_escape_string($number_of_lines) . "', conf_exten='" . mysql_real_escape_string($conf_exten) . "', status='" . mysql_real_escape_string($status) . "', closer_campaigns='" . mysql_real_escape_string($groups_value) . "' where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + +# echo "$stmt\n"; + echo "
REMOTE AGENTS MODIFIED\n"; + + ### LOG CHANGES TO LOG FILE ### + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY REMOTE AGENTS ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + + } + + $stmt="SELECT * from vicidial_remote_agents where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id = $row[0]; + $user_start = $row[1]; + $number_of_lines = $row[2]; + $server_ip = $row[3]; + $conf_exten = $row[4]; + $status = $row[5]; + $campaign_id = $row[6]; + +echo "
MODIFY A REMOTE AGENTS ENTRY: $row[0]\n"; +echo "\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
User ID Start: $user_start
Number of Lines: (numbers only)
Server IP: $row[3]
External Extension: (number dialed to reach agents [i.e. 913125551212])
Status:
Campaign: $campaign_id
Inbound Groups: \n"; +echo "$groups_list"; +echo "
\n"; +echo "NOTE: It can take up to 30 seconds for changes submitted on this screen to go live\n"; + +} + + + + +###################### +# ADD=61111 status of remote agent in the system and active calls and queue +###################### + +if ($ADD==61111) +{ + echo "
";
+
+	 if ( (strlen($server_ip) < 2) or (strlen($user) < 2) )
+		{echo "
REMOTE AGENTS ERROR - Please go back and look at the data you entered\n";} + else + { + + $users_list = ''; + $k=0; + while($k < $number_of_lines) + { + $nextuser=($user + $k); + $users_list .= "'" . mysql_real_escape_string($nextuser) . "',"; + $k++; + } + $users_list = preg_replace("/.$/","",$users_list); + + echo "VICIDIAL: Remote Agent Time On Calls $NOW_TIME\n\n"; + echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n"; + echo "| STATION | USER | LEADID | CHANNEL | STATUS | START TIME | MINUTES |\n"; + echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n"; + + + $stmt="select extension,user,lead_id,channel,status,last_call_time,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish) from vicidial_live_agents where status NOT IN('PAUSED') and server_ip='" . mysql_real_escape_string($server_ip) . "' and user IN($users_list) order by extension;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + while ($i < $talking_to_print) + { + $leadlink=0; + $row=mysql_fetch_row($rslt); + if (eregi("READY|PAUSED",$row[4])) + { + $row[3]=''; + $row[5]=' - WAITING - '; + $row[6]=$row[7]; + } + $extension = sprintf("%-10s", $row[0]); + $user = sprintf("%-6s", $row[1]); + $leadid = sprintf("%-12s", $row[2]); + if ($row[2] > 0) + { + $leadidLINK=$row[2]; + $leadlink++; + if ( eregi("QUEUE",$row[4]) ) {$row[6]=$STARTtime;} + $leadid = "$leadid"; + } + $channel = sprintf("%-10s", $row[3]); + $cc=0; + while ( (strlen($channel) > 10) and ($cc < 100) ) + { + $channel = eregi_replace(".$","",$channel); + $cc++; + if (strlen($channel) <= 10) {$cc=101;} + } + $status = sprintf("%-6s", $row[4]); + $start_time = sprintf("%-19s", $row[5]); + $call_time_S = ($STARTtime - $row[6]); + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + if ($call_time_M_int >= 5) {$G=''; $EG='';} + if ($call_time_M_int >= 10) {$G=''; $EG='';} + + echo "| $G$extension$EG | $G$user$EG | $G$leadid$EG | $G$channel$EG | $G$status$EG | $G$start_time$EG | $G$call_time_MS$EG |\n"; + + $i++; + } + + echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n"; + echo " $i agents logged in on server $server_ip\n\n"; + + echo " - 5 minutes or more on call\n"; + echo " - Over 10 minutes on call\n"; + + } + else + { + echo "**************************************************************************************\n"; + echo "********************************* NO AGENTS ON CALLS *********************************\n"; + echo "**************************************************************************************\n"; + } + } + +echo "
\n\n"; + +} + + +###################### +# ADD=71111 stats for remote agents from closer logs(vicidial_closer_log) +###################### + +if ($ADD==71111) +{ + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n\n"; + echo "
";
+
+	 if ( (strlen($server_ip) < 2) or (strlen($user) < 2) )
+		{echo "
REMOTE AGENTS ERROR - Please go back and look at the data you entered\n";} + else + { + + $users_list = ''; + $k=0; + while($k < $number_of_lines) + { + $nextuser=($user + $k); + $users_list .= "'$nextuser',"; + $k++; + } + $users_list = preg_replace("/.$/","",$users_list); + + $stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date 00:00:01' and call_date <= '$query_date 23:59:59' and user IN($users_list);"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $in_calls = $row[0]; + $in_time = $row[1]; + $in_time_M = ($in_time / 60); + $in_time_M = round($in_time_M, 2); + $in_time_M_int = intval("$in_time_M"); + $in_time_SEC = ($in_time_M - $in_time_M_int); + $in_time_SEC = ($in_time_SEC * 60); + $in_time_SEC = round($in_time_SEC, 0); + if ($in_time_SEC < 10) {$in_time_SEC = "0$in_time_SEC";} + $in_time_MS = "$in_time_M_int:$in_time_SEC"; + $in_time_MS = sprintf("%7s", $in_time_MS); + + echo "VICIDIAL: Remote Agent inbound stats $NOW_TIME\n\n"; + echo "\n"; + echo "Total calls taken $query_date: $in_calls\n"; + echo "Total talk time on $query_date: $in_time_MS (minutes:seconds)\n"; + echo "\n"; + echo "\n"; + echo "Call list for $query_date:\n"; + echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n"; + echo "| USER | LEADID | GROUP | PHONE NUM | STATUS | CALL TIME | MINUTES |\n"; + echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n"; + + + $stmt="select user,lead_id,campaign_id,phone_number,status,call_date,length_in_sec from vicidial_closer_log where call_date >= '$query_date 00:00:01' and call_date <= '$query_date 23:59:59' and user IN($users_list) order by call_date;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + while ($i < $talking_to_print) + { + $row=mysql_fetch_row($rslt); + $user = sprintf("%-8s", $row[0]); + $leadid = sprintf("%-10s", $row[1]); + $group = sprintf("%-14s", $row[2]); + $phone = sprintf("%-10s", $row[3]); + $status = sprintf("%-6s", $row[4]); + $start_time = sprintf("%-19s", $row[5]); + $call_time_S = $row[6]; + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + # if ($call_time_M_int >= 5) {$G=''; $EG='';} + # if ($call_time_M_int >= 10) {$G=''; $EG='';} + + echo "| $G$user$EG | $G$leadid$EG | $G$group$EG | $G$phone$EG | $G$status$EG | $G$start_time$EG | $G$call_time_MS$EG |\n"; + + $i++; + } + + echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n"; + # echo " $i agents logged in on server $server_ip\n\n"; + + # echo " - 5 minutes or more on call\n"; + # echo " - Over 10 minutes on call\n"; + + } + else + { + echo "**************************************************************************************\n"; + echo "********************************* NO CALLS ON THIS DAY *******************************\n"; + echo "**************************************************************************************\n"; + } + } + +echo "
\n\n"; + +} + + + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nscript runtime: $RUNtime seconds
"; + + +?> + + +
+ + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/voice_lab.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/voice_lab.php new file mode 100644 index 00000000..2ce3a2a9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/voice_lab.php @@ -0,0 +1,312 @@ + LICENSE: GPLv2 +### +# +# CHANGES +# +# 61220-1050 - First Build +# 70115-1246 - Added ability to define an exten to play +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["message"])) {$message=$_GET["message"];} + elseif (isset($_POST["message"])) {$message=$_POST["message"];} +if (isset($_GET["session_id"])) {$session_id=$_GET["session_id"];} + elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["NEW_VOICE_LAB"])) {$NEW_VOICE_LAB=$_GET["NEW_VOICE_LAB"];} + elseif (isset($_POST["NEW_VOICE_LAB"])) {$NEW_VOICE_LAB=$_POST["NEW_VOICE_LAB"];} +if (isset($_GET["KILL_VOICE_LAB"])) {$KILL_VOICE_LAB=$_GET["KILL_VOICE_LAB"];} + elseif (isset($_POST["KILL_VOICE_LAB"])) {$KILL_VOICE_LAB=$_POST["KILL_VOICE_LAB"];} +if (isset($_GET["PLAY_MESSAGE"])) {$PLAY_MESSAGE=$_GET["PLAY_MESSAGE"];} + elseif (isset($_POST["PLAY_MESSAGE"])) {$PLAY_MESSAGE=$_POST["PLAY_MESSAGE"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$MYSQL_datetime = date("Y-m-d H:i:s"); +$FILE_datetime = date("Ymd-His_"); +$secX = $STARTtime; + +$local_DEF = 'Local/'; +$local_AMP = '@'; +$ext_context = 'demo'; + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + + $stmt="SELECT full_name from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + + } + + +##### get server listing for dynamic pulldown +$stmt="SELECT server_ip,server_description from servers order by server_ip"; +$rslt=mysql_query($stmt, $link); +$servers_to_print = mysql_num_rows($rslt); +$servers_list=''; + +$o=0; +while ($servers_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $servers_list .= "\n"; + $o++; + } + +##### get campaigns listing for dynamic pulldown +$stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; +$rslt=mysql_query($stmt, $link); +$campaigns_to_print = mysql_num_rows($rslt); +$campaigns_list=''; + +$o=0; +while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "\n"; + $o++; + } + + + + +?> + + +VICIDIAL VOICE LAB: Admin +\n"; +?> + + +
+ + 0) +{ + if ( (strlen($server_ip) > 6) && (strlen($session_id) > 6) && (strlen($campaign_id) > 2) ) + { + echo "


TO START YOUR VOICE LAB, DIAL 9$session_id ON YOUR PHONE NOW
\n"; + + echo "
or, you can enter an extension that you want played below
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Message Extension\n"; + echo "\n"; + echo "


\n"; + + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $remote_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$session_id"; + + $thirty_minutes_old = mktime(date("H"), date("i"), date("s")-30, date("m"), date("d"), date("Y")); + $past_thirty = date("Y-m-d H:i:s",$thirty_minutes_old); + + $stmt="SELECT conf_exten,server_ip,user from vicidial_live_agents where last_update_time > '$past_thirty' and campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $agents_to_loop = mysql_num_rows($rslt); + $agents_sessions[0]=''; + $agents_servers[0]=''; + $agents_users[0]=''; + + $o=0; + while ($agents_to_loop > $o) + { + $rowx=mysql_fetch_row($rslt); + $agents_sessions[$o] = "$rowx[0]"; + $agents_servers[$o] = "$rowx[1]"; + $agents_users[$o] = "$rowx[2]"; + $o++; + } + + $o=0; + while ($agents_to_loop > $o) + { + if ($agents_servers[$o] == "$server_ip") + {$dial_string = $session_id;} + else + {$dial_string = $remote_dialstring;} + + $stmt="INSERT INTO vicidial_manager values('','','$MYSQL_datetime','NEW','N','$agents_servers[$o]','','Originate','VL$FILE_datetime$o','Channel: $local_DEF$dial_string$local_AMP$ext_context','Context: $ext_context','Exten: $agents_sessions[$o]','Priority: 1','Callerid: VL$FILE_datetime$o','','','','','')"; + echo "|$stmt|\n

\n"; + $rslt=mysql_query($stmt, $link); + + echo "LOGGED IN USER $agents_users[$o] at session $agents_sessions[$o] on server $agents_servers[$o]\n"; + + $o++; + } + + + + echo "
Kill a Voice Lab Session: 8600900
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


\n"; + } + else + { + echo "ERROR!!!! Not all info entered properly\n

\n"; + echo "|$server_ip| |$session_id| |$campaign_id|\n

\n"; + echo "Back to main voicelab screen\n

\n"; + } +} +else +{ + if ($PLAY_MESSAGE > 0) + { + if ( (strlen($server_ip) > 6) && (strlen($session_id) > 6) && (strlen($campaign_id) > 2) && (strlen($message) > 0) ) + { + echo "


TO START YOUR VOICE LAB, DIAL 9$session_id ON YOUR PHONE NOW
\n"; + + echo "
or, you can enter an extension that you want played below
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Message Extension\n"; + echo "\n"; + echo "


\n"; + + $nn='99'; + $n='9'; + + $stmt="INSERT INTO vicidial_manager values('','','$MYSQL_datetime','NEW','N','$server_ip','','Originate','VL$FILE_datetime$nn','Channel: $local_DEF$n$session_id$local_AMP$ext_context','Context: $ext_context','Exten: $message','Priority: 1','Callerid: VL$FILE_datetime$nn','','','','','')"; + echo "|$stmt|\n

\n"; + $rslt=mysql_query($stmt, $link); + + echo "MESSAGE $message played at session $session_id on server $server_ip\n"; + + echo "
Kill a Voice Lab Session: 8600900
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


\n"; + } + else + { + echo "ERROR!!!! Not all info entered properly\n

\n"; + echo "|$server_ip| |$session_id| |$campaign_id|\n

\n"; + echo "Back to main voicelab screen\n

\n"; + } + } +else + { + echo "
Start a Voice Lab Session: 8600900
\n"; + echo "\n"; + echo "\n"; + echo "Your Server: \n"; + echo "
\n"; + echo "Campaign: "; + echo "
\n"; + echo "\n"; + echo "


\n"; + + + echo "
Kill a Voice Lab Session: 8600900
\n"; + echo "\n"; + echo "\n"; + echo "Your Server: \n"; + echo "
\n"; + echo "Campaign: "; + echo "
\n"; + echo "\n"; + echo "


\n"; + } +} + + +if ($KILL_VOICE_LAB > 1) +{ + if ( (strlen($server_ip) > 6) && (strlen($session_id) > 6) && (strlen($campaign_id) > 2) ) + { + $kill_dial_string = "5555$session_id"; + $hangup_exten='8300'; + $stmt="INSERT INTO vicidial_manager values('','','$MYSQL_datetime','NEW','N','$server_ip','','Originate','VLK$FILE_datetime','Channel: $local_DEF$kill_dial_string$local_AMP$ext_context','Context: $ext_context','Exten: $hangup_exten','Priority: 1','Callerid: VLK$FILE_datetime','','','','','')"; + echo "|$stmt|\n

\n"; + $rslt=mysql_query($stmt, $link); + + echo "VOICELAB SESSION KILLED: $session_id at $server_ip | $KILL_VOICE_LAB\n"; + } + else + { + echo "ERROR!!!! Not all info entered properly\n

\n"; + echo "|$server_ip| |$session_id| |$campaign_id|\n

\n"; + echo "Back to main voicelab screen\n

\n"; + } + +} + +?> + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/vtiger_search.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/vtiger_search.php new file mode 100644 index 00000000..6eaaf1bf --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/vtiger_search.php @@ -0,0 +1,313 @@ + LICENSE: GPLv2 +### +# This page does a search against a standard vtiger CRM system. If the record +# is not present, it will create a new one and send the agent's screen to that new page. +# +# This code is tested against vtiger 4.2 +# +# CHANGES +# 60719-1615 - First version +# 60801-2304 - added mysql debug and auto-forward +# 60802-1111 - added insertion of not-found record into vtiger system +# + +#Asterisk/VICIDIAL Server (ASTERISK) +#Internal : 10.10.10.15 +#External : 55.55.55.55 + +#vtiger Server(TEST1) +#Internal : 10.10.10.16 +#External : 55.55.55.56 + + +### alter to connect to your vtiger database +$link=mysql_connect("10.10.10.16", "cron",'1234'); +if (!$link) {die('Could not connect: ' . mysql_error());} +echo 'Connected successfully'; +mysql_select_db("vtigercrm4_2"); + + +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];} + elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["channel_group"])) {$channel_group=$_GET["channel_group"];} + elseif (isset($_POST["channel_group"])) {$channel_group=$_POST["channel_group"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["customer_zap_channel"])) {$customer_zap_channel=$_GET["customer_zap_channel"];} + elseif (isset($_POST["customer_zap_channel"])) {$customer_zap_channel=$_POST["customer_zap_channel"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];} + elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];} + elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["security"])) {$security=$_GET["security"];} + elseif (isset($_POST["security"])) {$security=$_POST["security"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_id"])) {$session_id=$_GET["session_id"];} + elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];} + elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +#$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +#$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +#$DB = '1'; # DEBUG override +$US = '_'; +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$REC_TIME = date("Ymd-His"); +$FILE_datetime = $STARTtime; +$parked_time = $STARTtime; + +# $ext_context = 'default'; defined in dbconnect file + +# $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +# if ($DB) {echo "$stmt\n";} +# $rslt=mysql_query($stmt, $link); +# $row=mysql_fetch_row($rslt); +# $auth=$row[0]; + +#$fp = fopen ("./project_auth_entries.txt", "a"); +#$date = date("r"); +#$ip = getenv("REMOTE_ADDR"); +#$browser = getenv("HTTP_USER_AGENT"); + +# if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth)) +# { +# Header("WWW-Authenticate: Basic realm=\"VICIDIAL-CLOSER\""); +# Header("HTTP/1.0 401 Unauthorized"); +# echo "Invalid Username/Password: |$user|$pass|\n"; +# exit; +# } +# else +# { +# +# if($auth>0) +# { +# $office_no=strtoupper($user); +# $password=strtoupper($pass); +# $stmt="SELECT full_name from vicidial_users where user='$user' and pass='$pass'"; +# if ($DB) {echo "$stmt\n";} +# $rslt=mysql_query($stmt, $link); +# $row=mysql_fetch_row($rslt); +# $LOGfullname=$row[0]; +# $fullname = $row[0]; +# fwrite ($fp, "VD_CLOSER|GOOD|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); +# fclose($fp); +# +# if ( (strlen($customer_zap_channel)>2) and (eregi('zap',$customer_zap_channel)) ) +# { +# echo "\n\n"; +# echo "\n\n"; +# +# } +# else +# { +# echo "Bad channel: $customer_zap_channel\n"; +# echo "Make sure the Zap channel is live and try again\n"; +# exit; +# } +# +# } +# else +# { +# fwrite ($fp, "VD_CLOSER|FAIL|$date|$user|$pass|$ip|$browser|\n"); +# fclose($fp); +# } +# } + +echo "\n"; +echo "\n"; +echo "VICIDIAL Vtiger Lookup\n"; +echo "\n"; + + +$stmt="SELECT count(*) from account where phone='$phone' or otherphone='$phone' or fax='$phone';"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +if (!$rslt) { + die('Could not execute: ' . mysql_error()); +} +$row=mysql_fetch_row($rslt); +$found_count = $row[0]; + +#echo "
\n|$phone|$found_count|\n"; + +if ($found_count < 1) +{ + echo "\n"; + echo "\n"; + echo "
\n"; + echo "$phone not found, creating account...\n"; + + if ($DB) {echo "
";}
+	$stmt="SELECT id from users where user_name='$user';";
+	if ($DB) {echo "$stmt\n";}
+	$rslt=mysql_query($stmt, $link);
+	$row=mysql_fetch_row($rslt);
+	$user_id = $row[0];
+	if (!$rslt) {die('Could not execute: ' . mysql_error());}
+
+	$stmt = "INSERT INTO crmentity (smcreatorid, smownerid, modifiedby, setype, description, createdtime, modifiedtime, viewedtime, status, version, presence, deleted) VALUES ('$user_id', '$user_id', 0, 'Accounts', NULL, '$NOW_TIME', '$NOW_TIME', '$NOW_TIME', NULL, 0, 1, 1);";
+	if ($DB) {echo "|$stmt|\n";}
+	$rslt=mysql_query($stmt, $link);
+	$recordID = mysql_insert_id($link);
+	if ($DB) {echo "|$recordID|\n";}
+	if (!$rslt) {die('Could not execute: ' . mysql_error());}
+
+#	$stmt = "INSERT INTO accountscf (accountid, cf_393, cf_397, cf_403, cf_405, cf_407, cf_409, cf_411) VALUES ('$recordID', NULL, NULL, NULL, NULL, NULL, NULL, NULL);";
+#	if ($DB) {echo "|$stmt|\n";}
+#	$rslt=mysql_query($stmt, $link);
+#	if (!$rslt) {die('Could not execute: ' . mysql_error());}
+
+	$stmt = "INSERT INTO account (accountid,accountname,contactname,phone,otherphone,email1) values('$recordID','$last_name, $first_name','$first_name $last_name','$phone','$alt_phone','$email');";
+	if ($DB) {echo "|$stmt|\n";}
+	$rslt=mysql_query($stmt, $link);
+	if (!$rslt) {die('Could not execute: ' . mysql_error());}
+
+	$stmt = "INSERT INTO accountbillads (accountaddressid,city,code,country,state,street) values('$recordID','$city','$postal_code','US','$state','$address1');";
+	if ($DB) {echo "|$stmt|\n";}
+	$rslt=mysql_query($stmt, $link);
+	if (!$rslt) {die('Could not execute: ' . mysql_error());}
+
+	$stmt = "INSERT INTO accountshipads (accountaddressid,city,code,country,state,street) values('$recordID','$city','$postal_code','US','$state','$address1');";
+	if ($DB) {echo "|$stmt|\n";}
+	$rslt=mysql_query($stmt, $link);
+	if (!$rslt) {die('Could not execute: ' . mysql_error());}
+
+	if ($DB) {echo "DONE\n";}
+
+	$account_URL = "http://55.55.55.56/index.php?module=Accounts&action=DetailView&record=$recordID";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "
\n"; + + echo "
";
+	echo "account created!\n";
+	echo "accountid:   $recordID\n";
+	echo "phone:       $phone\n";
+	echo "

"; + +} +else +{ + $stmt="SELECT accountid,accountname,contactname from account where phone='$phone' or otherphone='$phone' or fax='$phone';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $accountid = $row[0]; + $accountname = $row[1]; + $contactname = $row[2]; + + $account_URL = "http://55.55.55.56/index.php?module=Accounts&action=DetailView&record=$accountid"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + + echo "
";
+	echo "account found!\n";
+	echo "accountid:   $accountid\n";
+	echo "phone:       $phone\n";
+	echo "accountname: $accountname\n";
+	echo "contactname: $contactname\n";
+	echo "

"; + +} + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nscript runtime: $RUNtime seconds
"; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/welcome.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/welcome.php new file mode 100644 index 00000000..f0bad6d9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial/welcome.php @@ -0,0 +1,25 @@ + LICENSE: GPLv2 +# + +echo "VICIDIAL Welcome\n"; +echo "\n"; +echo "\n"; +echo "




"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Welcome
 
Agent Login
 
Administration
 
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; + +?> \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_CLOSERstats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_CLOSERstats.php new file mode 100644 index 00000000..35c1298b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_CLOSERstats.php @@ -0,0 +1,617 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1714 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 60905-1326 - Added queue time stats +# 71008-1436 - Added shift to be defined in dbconnect.php +# 71025-0021 - Added status breakdown +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +if (strlen($shift)<2) {$shift='ALL';} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="select group_id from vicidial_inbound_groups;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: VDAD Genauerer Notfall\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           ÄNDERN Sie | REPORTS \n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "WÄHLEN Sie BITTE Eine KAMPAGNE Vor UND DATUM OBEN UND KLICKEN REICHTEin\n";
+}
+
+else
+{
+if ($shift == 'AM') 
+	{
+	$time_BEGIN=$AM_shift_BEGIN;
+	$time_END=$AM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
+	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
+	}
+if ($shift == 'PM') 
+	{
+	$time_BEGIN=$PM_shift_BEGIN;
+	$time_END=$PM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
+	}
+if ($shift == 'ALL') 
+	{
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
+	}
+$query_date_BEGIN = "$query_date $time_BEGIN";   
+$query_date_END = "$query_date $time_END";
+
+
+
+echo "VICIDIAL: Automobil-Vorwahlknopf Genauerer Notfall                      $NOW_TIME\n";
+
+echo "\n";
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- TOTALS\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_hold_seconds = '         0';}
+else
+	{
+	$average_hold_seconds = ($row[1] / $row[0]);
+	$average_hold_seconds = round($average_hold_seconds, 0);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+
+echo "Gesamtanrufe gesetzt von dieser Kampagne:                       $TOTALcalls\n";
+echo "Average Call Length for all Calls:            $average_hold_seconds seconds\n";
+
+echo "\n";
+echo "---------- DROPS\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP' and (length_in_sec <= 999 or length_in_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$DROPcalls =	sprintf("%10s", $row[0]);
+if ( ($DROPcalls < 1) or ($TOTALcalls < 1) )
+	{$DROPpercent = '0';}
+else
+	{
+	$DROPpercent = (($DROPcalls / $TOTALcalls) * 100);
+	$DROPpercent = round($DROPpercent, 0);
+	}
+
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_hold_seconds = '         0';}
+else
+	{
+	$average_hold_seconds = ($row[1] / $row[0]);
+	$average_hold_seconds = round($average_hold_seconds, 0);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+
+echo "Gesamt-TROPFEN Anrufe:                                          $DROPcalls  $DROPpercent%\n";
+echo "Average hold time for DROP Calls:             $average_hold_seconds seconds\n";
+
+
+
+##############################
+#########  CALL STATUS STATS
+
+$TOTALcalls = 0;
+
+echo "\n";
+echo "---------- CALL STATUS STATS\n";
+echo "+--------+----------------------+------------+\n";
+echo "| STATUS | DESCRIPTION          | CALLS      |\n";
+echo "+--------+----------------------+------------+\n";
+
+$stmt="SELECT * from vicidial_statuses order by status";
+$rslt=mysql_query($stmt, $link);
+$statuses_to_print = mysql_num_rows($rslt);
+$statuses_list='';
+
+$o=0;
+while ($statuses_to_print > $o) 
+	{
+	$rowx=mysql_fetch_row($rslt);
+	$statname_list["$rowx[0]"] = "$rowx[1]";
+	$o++;
+	}
+
+$stmt="SELECT * from vicidial_campaign_statuses order by status";
+$rslt=mysql_query($stmt, $link);
+$Cstatuses_to_print = mysql_num_rows($rslt);
+
+$o=0;
+while ($Cstatuses_to_print > $o) 
+	{
+	$rowx=mysql_fetch_row($rslt);
+	$statname_list["$rowx[0]"] = "$rowx[1]";
+	$o++;
+	}
+
+$stmt="select count(*),status from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' group by status;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$statuses_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $statuses_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTALcalls = ($TOTALcalls + $row[0]);
+
+	$STATUScount =	sprintf("%10s", $row[0]);while(strlen($STATUScount)>10) {$STATUScount = substr("$STATUScount", 0, -1);}
+	$RAWstatus = $row[1];
+	$status =	sprintf("%-6s", $row[1]);while(strlen($status)>6) {$status = substr("$status", 0, -1);}
+
+	if ($non_latin < 1)
+		{
+		 $status_name =	sprintf("%-20s", $statname_list[$RAWstatus]); 
+		 while(strlen($status_name)>20) {$status_name = substr("$status_name", 0, -1);}	
+		}
+	else
+		{
+		 $status_name =	sprintf("%-60s", $statname_list[$RAWstatus]); 
+		 while(mb_strlen($status_name,'utf-8')>20) {$status_name = mb_substr("$status_name", 0, -1,'utf-8');}	
+		}
+
+
+	echo "| $status | $status_name | $STATUScount |\n";
+
+	$i++;
+	}
+
+$TOTALcalls =		sprintf("%10s", $TOTALcalls);
+
+echo "+--------+----------------------+------------+\n";
+echo "| TOTAL:                        | $TOTALcalls |\n";
+echo "+-------------------------------+------------+\n";
+
+
+
+
+echo "\n";
+echo "---------- QUEUE STATS\n";
+
+$stmt="select count(*),sum(queue_seconds) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and (queue_seconds > 0);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$QUEUEcalls =	sprintf("%10s", $row[0]);
+if ( ($QUEUEcalls < 1) or ($TOTALcalls < 1) )
+	{$QUEUEpercent = '0';}
+else
+	{
+	$QUEUEpercent = (($QUEUEcalls / $TOTALcalls) * 100);
+	$QUEUEpercent = round($QUEUEpercent, 0);
+	}
+
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_queue_seconds = '         0';}
+else
+	{
+	$average_queue_seconds = ($row[1] / $row[0]);
+	$average_queue_seconds = round($average_queue_seconds, 2);
+	$average_queue_seconds = sprintf("%10.2f", $average_queue_seconds);
+	}
+
+if ( ($TOTALcalls < 1) or ($row[1] < 1) )
+	{$average_total_queue_seconds = '         0';}
+else
+	{
+	$average_total_queue_seconds = ($row[1] / $TOTALcalls);
+	$average_total_queue_seconds = round($average_total_queue_seconds, 2);
+	$average_total_queue_seconds = sprintf("%10.2f", $average_total_queue_seconds);
+	}
+
+echo "Total Calls That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
+echo "Average QUEUE Length for queue calls:         $average_queue_seconds seconds\n";
+echo "Average QUEUE Length across all calls:        $average_total_queue_seconds seconds\n";
+
+
+##############################
+#########  USER STATS
+
+$TOTagents=0;
+$TOTcalls=0;
+$TOTtime=0;
+$TOTavg=0;
+
+echo "\n";
+echo "---------- MITTELSTATS\n";
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| MITTEL                   | CALLS      | TIME M   | AVRG M |\n";
+echo "+--------------------------+------------+----------+--------+\n";
+
+$stmt="select vicidial_closer_log.user,full_name,count(*),sum(length_in_sec),avg(length_in_sec) from vicidial_closer_log,vicidial_users where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' and vicidial_closer_log.user is not null and length_in_sec is not null and length_in_sec > 4 and vicidial_closer_log.user=vicidial_users.user group by vicidial_closer_log.user;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTcalls = ($TOTcalls + $row[2]);
+	$TOTtime = ($TOTtime + $row[3]);
+
+	$user =			sprintf("%-6s", $row[0]);
+	$full_name =	sprintf("%-15s", $row[1]); while(strlen($full_name)>15) {$full_name = substr("$full_name", 0, -1);}
+	$USERcalls =	sprintf("%10s", $row[2]);
+	$USERtotTALK =	$row[3];
+	$USERavgTALK =	$row[4];
+
+	$USERtotTALK_M = ($USERtotTALK / 60);
+	$USERtotTALK_M = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$USERtotTALK_MS =		sprintf("%8s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$USERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	echo "| $user - $full_name | $USERcalls | $USERtotTALK_MS | $USERavgTALK_MS |\n";
+
+	$i++;
+	}
+
+if (!$TOTcalls) {$TOTcalls = 1;}
+$TOTavg = ($TOTtime / $TOTcalls);
+$TOTavg = round($TOTavg, 0);
+$TOTavg_M = ($TOTavg / 60);
+$TOTavg_M = round($TOTavg_M, 2);
+$TOTavg_M_int = intval("$TOTavg_M");
+$TOTavg_S = ($TOTavg_M - $TOTavg_M_int);
+$TOTavg_S = ($TOTavg_S * 60);
+$TOTavg_S = round($TOTavg_S, 0);
+if ($TOTavg_S < 10) {$TOTavg_S = "0$TOTavg_S";}
+$TOTavg_MS = "$TOTavg_M_int:$TOTavg_S";
+$TOTavg =		sprintf("%6s", $TOTavg_MS);
+
+$TOTtime_M = ($TOTtime / 60);
+$TOTtime_M = round($TOTtime_M, 2);
+$TOTtime_M_int = intval("$TOTtime_M");
+$TOTtime_S = ($TOTtime_M - $TOTtime_M_int);
+$TOTtime_S = ($TOTtime_S * 60);
+$TOTtime_S = round($TOTtime_S, 0);
+if ($TOTtime_S < 10) {$TOTtime_S = "0$TOTtime_S";}
+$TOTtime_MS = "$TOTtime_M_int:$TOTtime_S";
+$TOTtime =		sprintf("%6s", $TOTtime_MS);
+
+$TOTagents =		sprintf("%10s", $i);
+$TOTcalls =			sprintf("%10s", $TOTcalls);
+$TOTtime =			sprintf("%8s", $TOTtime);
+$TOTavg =			sprintf("%6s", $TOTavg);
+
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| TOTAL Agents: $TOTagents | $TOTcalls | $TOTtime | $TOTavg |\n";
+echo "+--------------------------+------------+----------+--------+\n";
+
+
+##############################
+#########  TIME STATS
+
+echo "\n";
+echo "---------- TIME STATS\n";
+
+echo "\n";
+
+$hi_hour_count=0;
+$last_full_record=0;
+$i=0;
+$h=0;
+while ($i <= 96)
+	{
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' and campaign_id='$group';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+	$h++;
+	}
+
+if ($hi_hour_count < 1)
+	{$hour_multiplier = 0;}
+else
+	{
+	$hour_multiplier = (100 / $hi_hour_count);
+	#$hour_multiplier = round($hour_multiplier, 0);
+	}
+
+echo "\n";
+echo "DIAGRAMM IN 15 MINUZIÖSEN STUFENSPRÜNGEN DER GESAMTANRUFE GESETZTVON DIESER KAMPAGNE\n";
+
+$k=1;
+$Mk=0;
+$call_scale = '0';
+while ($k <= 102) 
+	{
+	if ($Mk >= 5) 
+		{
+		$Mk=0;
+		if ( ($k < 1) or ($hour_multiplier <= 0) )
+			{$scale_num = 100;}
+		else
+			{
+			$scale_num=($k / $hour_multiplier);
+			$scale_num = round($scale_num, 0);
+			}
+		$LENscale_num = (strlen($scale_num));
+		$k = ($k + $LENscale_num);
+		$call_scale .= "$scale_num";
+		}
+	else
+		{
+		$call_scale .= " ";
+		$k++;   $Mk++;
+		}
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | DROPS | TOTAL |\n";
+echo "| HOUR |$call_scale| DROPS | TOTAL |\n";
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+$ZZ = '00';
+$i=0;
+$h=4;
+$hour= -1;
+$no_lines_yet=1;
+
+while ($i <= 96)
+	{
+	$char_counter=0;
+	$time = '      ';
+	if ($h >= 4) 
+		{
+		$hour++;
+		$h=0;
+		if ($hour < 10) {$hour = "0$hour";}
+		$time = "+$hour$ZZ+";
+		}
+	if ($h == 1) {$time = "   15 ";}
+	if ($h == 2) {$time = "   30 ";}
+	if ($h == 3) {$time = "   45 ";}
+	$Ghour_count = $hour_count[$i];
+	if ($Ghour_count < 1) 
+		{
+		if ( ($no_lines_yet) or ($i > $last_full_record) )
+			{
+			$do_nothing=1;
+			}
+		else
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			echo "|$time|";
+			$k=0;   while ($k <= 102) {echo " ";   $k++;}
+			echo "| $hour_count[$i] |\n";
+			}
+		}
+	else
+		{
+		$no_lines_yet=0;
+		$Xhour_count = ($Ghour_count * $hour_multiplier);
+		$Yhour_count = (99 - $Xhour_count);
+
+		$Gdrop_count = $drop_count[$i];
+		if ($Gdrop_count < 1) 
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "*X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 101) {echo " ";   $char_counter++;}
+			echo "| 0     | $hour_count[$i] |\n";
+
+			}
+		else
+			{
+			$Xdrop_count = ($Gdrop_count * $hour_multiplier);
+
+		#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
+
+			$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
+
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			$drop_count[$i] =	sprintf("%-5s", $drop_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
+			echo "D";   $char_counter++;
+			$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 102) {echo " ";   $char_counter++;}
+			echo "| $drop_count[$i] | $hour_count[$i] |\n";
+			}
+		}
+	
+	
+	$i++;
+	$h++;
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n\n";
+
+
+
+
+
+$ENDtime = date("U");
+$RUNtime = ($ENDtime - $STARTtime);
+echo "\nRun Time: $RUNtime seconds\n";
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_VDADstats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_VDADstats.php new file mode 100644 index 00000000..323c167b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_VDADstats.php @@ -0,0 +1,647 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1718 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 61215-1139 - Added drop percentage of answered and round-2 decimal +# 71008-1436 - Added shift to be defined in dbconnect.php +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +if (strlen($shift)<2) {$shift='ALL';} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="select campaign_id from vicidial_campaigns;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: VDAD Stats\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           ÄNDERN Sie | REPORTS \n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "WÄHLEN Sie BITTE Eine KAMPAGNE Vor UND DATUM OBEN UND KLICKEN REICHTEin\n";
+}
+
+else
+{
+if ($shift == 'AM') 
+	{
+	$time_BEGIN=$AM_shift_BEGIN;
+	$time_END=$AM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
+	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
+	}
+if ($shift == 'PM') 
+	{
+	$time_BEGIN=$PM_shift_BEGIN;
+	$time_END=$PM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
+	}
+if ($shift == 'ALL') 
+	{
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
+	}
+$query_date_BEGIN = "$query_date $time_BEGIN";   
+$query_date_END = "$query_date $time_END";
+
+
+
+echo "VICIDIAL: Auto-dial Stats                             $NOW_TIME\n";
+
+echo "\n";
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- TOTALS\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_hold_seconds = '         0';}
+else
+	{
+	$average_hold_seconds = ($row[1] / $row[0]);
+	$average_hold_seconds = round($average_hold_seconds, 2);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+echo "Gesamtanrufe gesetzt von dieser Kampagne:                       $TOTALcalls\n";
+echo "Durchschnittliche Anruf-Länge für alle benennt in den Sekunden: $average_hold_seconds\n";
+
+echo "\n";
+echo "---------- DROPS\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP' and (length_in_sec <= 60 or length_in_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$DROPcalls =	sprintf("%10s", $row[0]);
+$DROPcallsRAW =	$row[0];
+$DROPseconds =	$row[1];
+
+$stmt="select count(*) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status NOT IN('NA','B');";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$ANSWERcalls =	$row[0];
+
+if ( ($DROPcalls < 1) or ($TOTALcalls < 1) )
+	{$DROPpercent = '0';}
+else
+	{
+	$DROPpercent = (($DROPcallsRAW / $TOTALcalls) * 100);
+	$DROPpercent = round($DROPpercent, 2);
+	}
+
+if ( ($DROPcalls < 1) or ($ANSWERcalls < 1) )
+	{$DROPANSWERpercent = '0';}
+else
+	{
+	$DROPANSWERpercent = (($DROPcallsRAW / $ANSWERcalls) * 100);
+	$DROPANSWERpercent = round($DROPANSWERpercent, 2);
+	}
+
+if ( ($DROPseconds < 1) or ($DROPcallsRAW < 1) )
+	{$average_hold_seconds = '         0';}
+else
+	{
+	$average_hold_seconds = ($DROPseconds / $DROPcallsRAW);
+	$average_hold_seconds = round($average_hold_seconds, 2);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+
+echo "Gesamt-TROPFEN Anrufe:                                          $DROPcalls  $DROPpercent%\n";
+echo "Percent of DROP Calls taken out of Answers:   $DROPcalls / $ANSWERcalls  $DROPANSWERpercent%\n";
+echo "Durchschnittliche Länge für TROPFEN Anrufe in den Sekunden:     $average_hold_seconds\n";
+
+echo "\n";
+echo "----------AUTO-DIAL KEINE ANTWORTEN\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status IN('NA','B') and (length_in_sec <= 60 or length_in_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$NAcalls =	sprintf("%10s", $row[0]);
+if ( ($NAcalls < 1) or ($TOTALcalls < 1) )
+	{$NApercent = '0';}
+else
+	{
+	$NApercent = (($NAcalls / $TOTALcalls) * 100);
+	$NApercent = round($NApercent, 2);
+	}
+
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_na_seconds = '         0';}
+else
+	{
+	$average_na_seconds = ($row[1] / $row[0]);
+	$average_na_seconds = round($average_na_seconds, 2);
+	$average_na_seconds =	sprintf("%10s", $average_na_seconds);
+	}
+
+echo "Total NA calls -Busy,Disconnect,RingNoAnswer: $NAcalls  $NApercent%\n";
+echo "Durchschnittliche Anruf-Länge für Na benennt in den Sekunden:   $average_na_seconds\n";
+
+
+##############################
+#########  CALL STATUS STATS
+
+$TOTALcalls = 0;
+
+echo "\n";
+echo "---------- CALL STATUS STATS\n";
+echo "+--------+----------------------+------------+\n";
+echo "| STATUS | DESCRIPTION          | CALLS      |\n";
+echo "+--------+----------------------+------------+\n";
+
+$stmt="SELECT * from vicidial_statuses order by status";
+$rslt=mysql_query($stmt, $link);
+$statuses_to_print = mysql_num_rows($rslt);
+$statuses_list='';
+
+$o=0;
+while ($statuses_to_print > $o) 
+	{
+	$rowx=mysql_fetch_row($rslt);
+	$statname_list["$rowx[0]"] = "$rowx[1]";
+	$o++;
+	}
+
+$stmt="SELECT * from vicidial_campaign_statuses where campaign_id='" . mysql_real_escape_string($group) . "' order by status";
+$rslt=mysql_query($stmt, $link);
+$Cstatuses_to_print = mysql_num_rows($rslt);
+
+$o=0;
+while ($Cstatuses_to_print > $o) 
+	{
+	$rowx=mysql_fetch_row($rslt);
+	$statname_list["$rowx[0]"] = "$rowx[1]";
+	$o++;
+	}
+
+$stmt="select count(*),status from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' group by status;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$statuses_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $statuses_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTALcalls = ($TOTALcalls + $row[0]);
+
+	$STATUScount =	sprintf("%10s", $row[0]);while(strlen($STATUScount)>10) {$STATUScount = substr("$STATUScount", 0, -1);}
+	$RAWstatus = $row[1];
+	$status =	sprintf("%-6s", $row[1]);while(strlen($status)>6) {$status = substr("$status", 0, -1);}
+
+	if ($non_latin < 1)
+		{
+		 $status_name =	sprintf("%-20s", $statname_list[$RAWstatus]); 
+		 while(strlen($status_name)>20) {$status_name = substr("$status_name", 0, -1);}	
+		}
+	else
+		{
+		 $status_name =	sprintf("%-60s", $statname_list[$RAWstatus]); 
+		 while(mb_strlen($status_name,'utf-8')>20) {$status_name = mb_substr("$status_name", 0, -1,'utf-8');}	
+		}
+
+
+	echo "| $status | $status_name | $STATUScount |\n";
+
+	$i++;
+	}
+
+$TOTALcalls =		sprintf("%10s", $TOTALcalls);
+
+echo "+--------+----------------------+------------+\n";
+echo "| TOTAL:                        | $TOTALcalls |\n";
+echo "+-------------------------------+------------+\n";
+
+
+##############################
+#########  USER STATS
+
+$TOTagents=0;
+$TOTcalls=0;
+$TOTtime=0;
+$TOTavg=0;
+
+echo "\n";
+echo "---------- MITTELSTATS\n";
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| MITTEL                   | CALLS      | TIME M   | AVRG M |\n";
+echo "+--------------------------+------------+----------+--------+\n";
+
+$stmt="select vicidial_log.user,full_name,count(*),sum(length_in_sec),avg(length_in_sec) from vicidial_log,vicidial_users where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' and vicidial_log.user is not null and length_in_sec is not null and length_in_sec > 4 and vicidial_log.user=vicidial_users.user group by vicidial_log.user;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTcalls = ($TOTcalls + $row[2]);
+	$TOTtime = ($TOTtime + $row[3]);
+
+	$user =	sprintf("%-6s", $row[0]);while(strlen($user)>6) {$user = substr("$user", 0, -1);}
+	if ($non_latin < 1)
+	{
+ 	 $full_name =	sprintf("%-15s", $row[1]); while(strlen($full_name)>15) {$full_name = substr("$full_name", 0, -1);}	
+	}
+	else
+	{
+	 $full_name =	sprintf("%-45s", $row[1]); while(mb_strlen($full_name,'utf-8')>15) {$full_name = mb_substr("$full_name", 0, -1,'utf-8');}	
+	}
+	$USERcalls =	sprintf("%10s", $row[2]);
+	$USERtotTALK =	$row[3];
+	$USERavgTALK =	$row[4];
+
+	$USERtotTALK_M = ($USERtotTALK / 60);
+	$USERtotTALK_M = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$USERtotTALK_MS =		sprintf("%6s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$USERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	echo "| $user - $full_name | $USERcalls |   $USERtotTALK_MS | $USERavgTALK_MS |\n";
+
+	$i++;
+	}
+
+if (!$TOTcalls) {$TOTcalls = 1;}
+$TOTavg = ($TOTtime / $TOTcalls);
+$TOTavg = round($TOTavg, 0);
+$TOTavg_M = ($TOTavg / 60);
+$TOTavg_M = round($TOTavg_M, 2);
+$TOTavg_M_int = intval("$TOTavg_M");
+$TOTavg_S = ($TOTavg_M - $TOTavg_M_int);
+$TOTavg_S = ($TOTavg_S * 60);
+$TOTavg_S = round($TOTavg_S, 0);
+if ($TOTavg_S < 10) {$TOTavg_S = "0$TOTavg_S";}
+$TOTavg_MS = "$TOTavg_M_int:$TOTavg_S";
+$TOTavg =		sprintf("%6s", $TOTavg_MS);
+
+$TOTtime_M = ($TOTtime / 60);
+$TOTtime_M = round($TOTtime_M, 2);
+$TOTtime_M_int = intval("$TOTtime_M");
+$TOTtime_S = ($TOTtime_M - $TOTtime_M_int);
+$TOTtime_S = ($TOTtime_S * 60);
+$TOTtime_S = round($TOTtime_S, 0);
+if ($TOTtime_S < 10) {$TOTtime_S = "0$TOTtime_S";}
+$TOTtime_MS = "$TOTtime_M_int:$TOTtime_S";
+$TOTtime =		sprintf("%6s", $TOTtime_MS);
+
+$TOTagents =		sprintf("%10s", $i);
+$TOTcalls =			sprintf("%10s", $TOTcalls);
+$TOTtime =			sprintf("%8s", $TOTtime);
+$TOTavg =			sprintf("%6s", $TOTavg);
+
+$stmt="select avg(wait_sec) from vicidial_agent_log where event_time >= '$query_date_BEGIN' and event_time <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$AVGwait = $row[0];
+$AVGwait_M = ($AVGwait / 60);
+$AVGwait_M = round($AVGwait_M, 2);
+$AVGwait_M_int = intval("$AVGwait_M");
+$AVGwait_S = ($AVGwait_M - $AVGwait_M_int);
+$AVGwait_S = ($AVGwait_S * 60);
+$AVGwait_S = round($AVGwait_S, 0);
+if ($AVGwait_S < 10) {$AVGwait_S = "0$AVGwait_S";}
+$AVGwait_MS = "$AVGwait_M_int:$AVGwait_S";
+$AVGwait =		sprintf("%6s", $AVGwait_MS);
+
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| TOTAL Agents: $TOTagents | $TOTcalls | $TOTtime | $TOTavg |\n";
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| Average Wait time between calls                    $AVGwait |\n";
+echo "+-----------------------------------------------------------+\n";
+
+##############################
+#########  TIME STATS
+
+echo "\n";
+echo "---------- TIME STATS\n";
+
+echo "\n";
+
+$hi_hour_count=0;
+$last_full_record=0;
+$i=0;
+$h=0;
+while ($i <= 96)
+	{
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+	$h++;
+	}
+
+if ($hi_hour_count < 1)
+	{$hour_multiplier = 0;}
+else
+	{
+	$hour_multiplier = (100 / $hi_hour_count);
+	#$hour_multiplier = round($hour_multiplier, 0);
+	}
+
+echo "\n";
+echo "DIAGRAMM IN 15 MINUZIÖSEN STUFENSPRÜNGEN DER GESAMTANRUFE GESETZTVON DIESER KAMPAGNE\n";
+
+$k=1;
+$Mk=0;
+$call_scale = '0';
+while ($k <= 102) 
+	{
+	if ($Mk >= 5) 
+		{
+		$Mk=0;
+		if ( ($k < 1) or ($hour_multiplier <= 0) )
+			{$scale_num = 100;}
+		else
+			{
+			$scale_num=($k / $hour_multiplier);
+			$scale_num = round($scale_num, 0);
+			}
+		$LENscale_num = (strlen($scale_num));
+		$k = ($k + $LENscale_num);
+		$call_scale .= "$scale_num";
+		}
+	else
+		{
+		$call_scale .= " ";
+		$k++;   $Mk++;
+		}
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | DROPS | TOTAL |\n";
+echo "| HOUR |$call_scale| DROPS | TOTAL |\n";
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+$ZZ = '00';
+$i=0;
+$h=4;
+$hour= -1;
+$no_lines_yet=1;
+
+while ($i <= 96)
+	{
+	$char_counter=0;
+	$time = '      ';
+	if ($h >= 4) 
+		{
+		$hour++;
+		$h=0;
+		if ($hour < 10) {$hour = "0$hour";}
+		$time = "+$hour$ZZ+";
+		}
+	if ($h == 1) {$time = "   15 ";}
+	if ($h == 2) {$time = "   30 ";}
+	if ($h == 3) {$time = "   45 ";}
+	$Ghour_count = $hour_count[$i];
+	if ($Ghour_count < 1) 
+		{
+		if ( ($no_lines_yet) or ($i > $last_full_record) )
+			{
+			$do_nothing=1;
+			}
+		else
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			echo "|$time|";
+			$k=0;   while ($k <= 102) {echo " ";   $k++;}
+			echo "| $hour_count[$i] |\n";
+			}
+		}
+	else
+		{
+		$no_lines_yet=0;
+		$Xhour_count = ($Ghour_count * $hour_multiplier);
+		$Yhour_count = (99 - $Xhour_count);
+
+		$Gdrop_count = $drop_count[$i];
+		if ($Gdrop_count < 1) 
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "*X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 101) {echo " ";   $char_counter++;}
+			echo "| 0     | $hour_count[$i] |\n";
+
+			}
+		else
+			{
+			$Xdrop_count = ($Gdrop_count * $hour_multiplier);
+
+		#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
+
+			$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
+
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			$drop_count[$i] =	sprintf("%-5s", $drop_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
+			echo "D";   $char_counter++;
+			$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 102) {echo " ";   $char_counter++;}
+			echo "| $drop_count[$i] | $hour_count[$i] |\n";
+			}
+		}
+	
+	
+	$i++;
+	$h++;
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+
+
+
+
+
+$ENDtime = date("U");
+$RUNtime = ($ENDtime - $STARTtime);
+echo "\nRun Time: $RUNtime seconds\n";
+
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_VICIDIAL_hopperlist.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_VICIDIAL_hopperlist.php new file mode 100644 index 00000000..0e9147e8 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_VICIDIAL_hopperlist.php @@ -0,0 +1,169 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1654 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 70115-1614 - Added ALT field for vicidial_hopper alt_dial column +# 71029-0852 - Added list_id to the output +# 71030-2118 - Added priority to display +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and modify_campaigns='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($server_ip)) {$server_ip = '10.10.10.15';} + +$stmt="select campaign_id,campaign_name from vicidial_campaigns order by campaign_id;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$campaigns_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $campaigns_to_print) + { + $row=mysql_fetch_row($rslt); + $campaign_id[$i] =$row[0]; + $campaign_name[$i] =$row[1]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Zufuhrbehälter-Liste\n"; +echo "
\n"; +#echo "\n"; +#echo "\n"; +echo "\n"; +echo "\n"; +echo "           ÄNDERN Sie \n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "WÄHLEN Sie BITTE Eine KAMPAGNE OBEN Vor UND KLICKEN REICHT Ein\n";
+}
+
+else
+{
+
+
+echo "VICIDIAL: Gegenwärtige Zufuhrbehälter-Lebhaftliste                      $NOW_TIME\n";
+
+echo "\n";
+echo "---------- TOTALS\n";
+
+$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+
+echo "Gesamtleitungen im Zufuhrbehälter im Augenblick:       $TOTALcalls\n";
+
+
+##############################
+#########  LEAD STATS
+
+echo "\n";
+echo "---------- LEADS IN HOPPER\n";
+echo "+------+--------+-----------+------------+------------+-------+--------+-------+--------+-------+\n";
+echo "|ORDER |PRIORITY| LEAD ID   | LISTE IDENTIFIKATION    | PHONE NUM  | STATE | STATUS | COUNT | GMT    | ALT   |\n";
+echo "+------+--------+-----------+------------+------------+-------+--------+-------+--------+-------+\n";
+
+$stmt="select vicidial_hopper.lead_id,phone_number,vicidial_hopper.state,vicidial_list.status,called_count,vicidial_hopper.gmt_offset_now,hopper_id,alt_dial,vicidial_hopper.list_id,vicidial_hopper.priority from vicidial_hopper,vicidial_list where vicidial_hopper.campaign_id='" . mysql_real_escape_string($group) . "' and vicidial_hopper.lead_id=vicidial_list.lead_id order by priority desc,hopper_id limit 2000;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$FMT_i =		sprintf("%-4s", $i);
+	$lead_id =		sprintf("%-9s", $row[0]);
+	$phone_number =	sprintf("%-10s", $row[1]);
+	$state =		sprintf("%-5s", $row[2]);
+	$status =		sprintf("%-6s", $row[3]);
+	$count =		sprintf("%-5s", $row[4]);
+	$gmt =			sprintf("%-6s", $row[5]);
+	$hopper_id =	sprintf("%-6s", $row[6]);
+	$alt_dial =		sprintf("%-5s", $row[7]);
+	$list_id =		sprintf("%-10s", $row[8]);
+	$priority =		sprintf("%-6s", $row[9]);
+
+if ($DB) {echo "| $FMT_i | $priority | $lead_id | $list_id | $phone_number | $state | $status | $count | $gmt | $hopper_id |\n";}
+else {echo "| $FMT_i | $priority | $lead_id | $list_id | $phone_number | $state | $status | $count | $gmt | $alt_dial |\n";}
+
+	$i++;
+	}
+
+echo "+------+--------+-----------+------------+------------+-------+--------+-------+--------+-------+\n";
+
+
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_admin_log_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_admin_log_display.php new file mode 100644 index 00000000..77371200 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_admin_log_display.php @@ -0,0 +1,118 @@ + LICENSE: GPLv2 +### + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$query_date = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$query_date); + +# AST GUI database administration +# AST_admin_log_display.php +# +# CHANGES +# 50325-0932 - First build +# 51123-1443 - removed globals=on requirement +# 60421-1229 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60620-1044 - Added variable filtering to eliminate SQL injection attack threat +# + +$version = '0.0.4'; +$build = '60620-1044'; + +$STARTtime = date("U"); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 8 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDIAL ADMIN LOG DISPLAY"; +echo "\n"; + +# Fri, 25 Mar 2005 + +$DAY_DATE = date("j"); +if ($DAY_DATE < 10) +# {$GREP_DATE = date("D, j M Y");} + {$GREP_DATE = date("D, 0j M Y");} +else + {$GREP_DATE = date("D, j M Y");} + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!$query_date) {$query_date = $GREP_DATE;} + +$Gquery_date = eregi_replace(" ",'\ ',$query_date); +echo "\n"; + +echo "
\n"; +echo "\n"; +echo "\n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+echo "VICIDIAL ADMIN CHANGE LOG                             $NOW_TIME\n";
+
+#passthru("grep $Gquery_date /home/www/htdocs/vicidial/admin_changes_log.txt");
+passthru("grep $Gquery_date $WeBServeRRooT/vicidial/admin_changes_log.txt");
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_agent_performance.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_agent_performance.php new file mode 100644 index 00000000..3915fd31 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_agent_performance.php @@ -0,0 +1,257 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1711 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 70201-1203 - Added non_latin UTF8 output code, widened USER ID to 8 chars +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="select campaign_id from vicidial_campaigns;"; +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$campaigns_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $campaigns_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Agent Performance\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           ÄNDERN Sie | REPORTS \n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$group)
+{
+echo "\n";
+echo "PLEASE SELECT A BEDIENERAND DATE-TIME ABOVE AND CLICK SUBMIT\n";
+echo " NOTE: stats taken from 6 hour shift specified\n";
+}
+
+else
+{
+if ($shift == 'AM') 
+	{
+	$query_date_BEGIN = "$query_date 08:45:00";   
+	$query_date_END = "$query_date 15:33:00";
+	$time_BEGIN = "08:45:00";   
+	$time_END = "15:33:00";
+	}
+if ($shift == 'PM') 
+	{
+	$query_date_BEGIN = "$query_date 15:33:00";   
+	$query_date_END = "$query_date 23:15:00";
+	$time_BEGIN = "15:33:00";   
+	$time_END = "23:15:00";
+	}
+
+echo "VICIDIAL: Agent Performance                             $NOW_TIME\n";
+
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- AGENTS Details -------------\n\n";
+
+echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
+echo "| USER NAME       | ID       | CALLS  | TALK   | TALKAVG| A    | B    | DC   | DNC  | N    | NI   | SALE |\n";
+echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
+
+$stmt="select count(*) as calls,sum(length_in_sec) as talk,full_name,vicidial_users.user,avg(length_in_sec) from vicidial_users,vicidial_log where call_date <= '$query_date_END' and call_date >= '$query_date_BEGIN' and vicidial_users.user=vicidial_log.user and campaign_id='" . mysql_real_escape_string($group) . "' group by full_name order by calls desc limit 1000;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$rows_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $rows_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$TOTcalls=($TOTcalls + $row[0]);
+	$TOTtotTALK=($TOTtotTALK + $row[1]);
+	$calls[$i] =	sprintf("%-6s", $row[0]);
+
+	if ($non_latin < 1)
+	{
+   	 $full_name[$i]=	sprintf("%-15s", $row[2]); 
+	 while(strlen($full_name[$i])>15) {$full_name[$i] = substr("$full_name[$i]", 0, -1);}
+
+	 $user[$i] =		sprintf("%-6s", $row[3]);
+        while(strlen($user[$i])>6) {$user[$i] = substr("$user[$i]", 0, -1);}
+       }
+	else
+	{	
+        $full_name[$i]=	sprintf("%-45s", $row[2]); 
+	 while(mb_strlen($full_name[$i],'utf-8')>15) {$full_name[$i] = mb_substr("$full_name[$i]", 0, -1,'utf-8');}
+
+ 	 $user[$i] =		sprintf("%-18s", $row[3]);
+	 while(mb_strlen($user[$i],'utf-8')>6) {$user[$i] = mb_substr("$user[$i]", 0, -1,'utf-8');}
+	}
+
+	$user[$i] =		sprintf("%-8s", $row[3]);
+	$USERtotTALK =	$row[1];
+	$USERavgTALK =	$row[4];
+
+	$USERtotTALK_M = ($USERtotTALK / 60);
+	$USERtotTALK_M = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$pfUSERtotTALK_MS[$i] =		sprintf("%6s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$pfUSERavgTALK_MS[$i] =		sprintf("%6s", $USERavgTALK_MS);
+	$i++;
+	}
+
+$k=0;
+while($k < $i)
+	{
+	$ctA[$k]="0   "; $ctB[$k]="0   "; $ctDC[$k]="0   "; $ctDNC[$k]="0   "; $ctN[$k]="0   "; $ctNI[$k]="0   "; $ctSALE[$k]="0   "; 
+	$stmt="select count(*),status from vicidial_log where call_date <= '$query_date_END' and call_date >= '$query_date_BEGIN' and user='$user[$k]' and campaign_id='" . mysql_real_escape_string($group) . "' group by status;";
+	if ($non_latin > 0)
+	{
+	$rslt=mysql_query("SET NAMES 'UTF8'");
+	}
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$rows_to_print = mysql_num_rows($rslt);
+	$m=0;
+	while ($m < $rows_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+		if ($row[1] == 'A') {$ctA[$k]=sprintf("%-4s", $row[0]);		$TOT_A = ($TOT_A + $row[0]);}
+		if ($row[1] == 'B') {$ctB[$k]=sprintf("%-4s", $row[0]);		$TOT_B = ($TOT_B + $row[0]);}
+		if ($row[1] == 'DC') {$ctDC[$k]=sprintf("%-4s", $row[0]);	$TOT_DC = ($TOT_DC + $row[0]);}
+		if ($row[1] == 'DNC') {$ctDNC[$k]=sprintf("%-4s", $row[0]);	$TOT_DNC = ($TOT_DNC + $row[0]);}
+		if ($row[1] == 'N') {$ctN[$k]=sprintf("%-4s", $row[0]);		$TOT_N = ($TOT_N + $row[0]);}
+		if ($row[1] == 'NI') {$ctNI[$k]=sprintf("%-4s", $row[0]);	$TOT_NI = ($TOT_NI + $row[0]);}
+		if (($row[1] == 'SALE') || ($row[1] == 'XFER') ) {$ctSALE[$k]=sprintf("%-4s", $row[0]);	$TOT_SALE = ($TOT_SALE + $row[0]);}
+		$m++;
+		}
+	echo "| $full_name[$k] | $user[$k] | $calls[$k] | $pfUSERtotTALK_MS[$k] | $pfUSERavgTALK_MS[$k] | $ctA[$k] | $ctB[$k] | $ctDC[$k] | $ctDNC[$k] | $ctN[$k] | $ctNI[$k] | $ctSALE[$k] |\n";
+
+
+
+	$k++;
+	}
+
+	$TOTcalls =	sprintf("%-7s", $TOTcalls);
+
+	$TOTtotTALK_M = ($TOTtotTALK / 60);
+	$TOTtotTALK_M = round($TOTtotTALK_M, 2);
+	$TOTtotTALK_M_int = intval("$TOTtotTALK_M");
+	$TOTtotTALK_S = ($TOTtotTALK_M - $TOTtotTALK_M_int);
+	$TOTtotTALK_S = ($TOTtotTALK_S * 60);
+	$TOTtotTALK_S = round($TOTtotTALK_S, 0);
+	if ($TOTtotTALK_S < 10) {$TOTtotTALK_S = "0$TOTtotTALK_S";}
+	$TOTtotTALK_MS = "$TOTtotTALK_M_int:$TOTtotTALK_S";
+	$TOTtotTALK_MS =		sprintf("%7s", $TOTtotTALK_MS);
+		while(strlen($TOTtotTALK_MS)>7) {$TOTtotTALK_MS = substr("$TOTtotTALK_MS", 0, -1);}
+
+	$TOT_A = sprintf("%-5s", $TOT_A);
+	$TOT_B = sprintf("%-5s", $TOT_B);
+	$TOT_DC = sprintf("%-5s", $TOT_DC);
+	$TOT_DNC = sprintf("%-5s", $TOT_DNC);
+	$TOT_N = sprintf("%-5s", $TOT_N);
+	$TOT_NI = sprintf("%-5s", $TOT_NI);
+	$TOT_SALE = sprintf("%-5s", $TOT_SALE);
+
+echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
+echo "|  TOTALS                    | $TOTcalls| $TOTtotTALK_MS|        | $TOT_A| $TOT_B| $TOT_DC| $TOT_DNC| $TOT_N| $TOT_NI| $TOT_SALE|\n";
+echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
+
+echo "\n";
+
+}
+
+
+
+?>
+
+
\ No newline at end of file
diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_agent_performance_detail.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_agent_performance_detail.php
new file mode 100644
index 00000000..d860d02c
--- /dev/null
+++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_agent_performance_detail.php
@@ -0,0 +1,557 @@
+    LICENSE: GPLv2
+###
+# CHANGES
+#
+# 71119-2359 - First build
+# 71121-0144 - Replace existing AST_agent_performance_detail.php script with this one
+#            - Fixed zero division bug
+#
+
+require("dbconnect.php");
+
+$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
+$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
+$PHP_SELF=$_SERVER['PHP_SELF'];
+if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
+	elseif (isset($_POST["query_date"]))	{$query_date=$_POST["query_date"];}
+if (isset($_GET["group"]))				{$group=$_GET["group"];}
+	elseif (isset($_POST["group"]))		{$group=$_POST["group"];}
+if (isset($_GET["user_group"]))				{$user_group=$_GET["user_group"];}
+	elseif (isset($_POST["user_group"]))	{$user_group=$_POST["user_group"];}
+if (isset($_GET["shift"]))				{$shift=$_GET["shift"];}
+	elseif (isset($_POST["shift"]))		{$shift=$_POST["shift"];}
+if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
+	elseif (isset($_POST["submit"]))	{$submit=$_POST["submit"];}
+if (isset($_GET["SUBMIT"]))				{$SUBMIT=$_GET["SUBMIT"];}
+	elseif (isset($_POST["SUBMIT"]))	{$SUBMIT=$_POST["SUBMIT"];}
+
+if (strlen($shift)<2) {$shift='ALL';}
+
+$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
+$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
+
+	$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
+	if ($DB) {echo "|$stmt|\n";}
+	if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");}
+	$rslt=mysql_query($stmt, $link);
+	$row=mysql_fetch_row($rslt);
+	$auth=$row[0];
+
+  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
+	{
+    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
+    Header("HTTP/1.0 401 Unauthorized");
+    echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
+    exit;
+	}
+
+$NOW_DATE = date("Y-m-d");
+$NOW_TIME = date("Y-m-d H:i:s");
+$STARTtime = date("U");
+if (!isset($group)) {$group = '';}
+if (!isset($query_date)) {$query_date = $NOW_DATE;}
+
+$stmt="select campaign_id from vicidial_campaigns;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$campaigns_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $campaigns_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$groups[$i] =$row[0];
+	$i++;
+	}
+$stmt="select user_group from vicidial_user_groups;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$user_groups_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $user_groups_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$user_groups[$i] =$row[0];
+	$i++;
+	}
+?>
+
+
+
+
+
+\n";
+echo "VICIDIAL: Agent Performance\n";
+echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           ÄNDERN Sie | REPORTS \n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$group)
+{
+echo "\n";
+echo "PLEASE SELECT A CAMPAIGN AND DATE-TIME ABOVE AND CLICK SUBMIT\n";
+echo " NOTE: stats taken from shift specified\n";
+}
+
+else
+{
+if ($shift == 'AM') 
+	{
+	$time_BEGIN=$AM_shift_BEGIN;
+	$time_END=$AM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
+	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
+	}
+if ($shift == 'PM') 
+	{
+	$time_BEGIN=$PM_shift_BEGIN;
+	$time_END=$PM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
+	}
+if ($shift == 'ALL') 
+	{
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
+	}
+$query_date_BEGIN = "$query_date $time_BEGIN";   
+$query_date_END = "$query_date $time_END";
+
+if (strlen($user_group)>0) {$ugSQL="and vicidial_agent_log.user_group='$user_group'";}
+else {$ugSQL='';}
+
+echo "VICIDIAL: Agent Performance Detail                        $NOW_TIME\n";
+
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- AGENTS Details -------------\n\n";
+
+
+
+
+
+$statuses='-';
+$statusesTXT='';
+$statusesHEAD='';
+$statusesHTML='';
+$statusesARY[0]='';
+$j=0;
+$users='-';
+$usersARY[0]='';
+$user_namesARY[0]='';
+$k=0;
+
+$stmt="select count(*) as calls,sum(talk_sec) as talk,full_name,vicidial_users.user,sum(pause_sec),sum(wait_sec),sum(dispo_sec),status from vicidial_users,vicidial_agent_log where event_time <= '$query_date_END' and event_time >= '$query_date_BEGIN' and vicidial_users.user=vicidial_agent_log.user and campaign_id='" . mysql_real_escape_string($group) . "' and pause_sec<36000 and wait_sec<36000 and talk_sec<36000 and dispo_sec<36000 $ugSQL group by full_name,status order by status desc,full_name limit 100000;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$rows_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $rows_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$row[0] = ($row[0] - 1);	# subtract 1 for login/logout event compensation
+	
+	$calls[$i] =		$row[0];
+	$talk_sec[$i] =		$row[1];
+	$full_name[$i] =	$row[2];
+	$user[$i] =			$row[3];
+	$pause_sec[$i] =	$row[4];
+	$wait_sec[$i] =		$row[5];
+	$dispo_sec[$i] =	$row[6];
+	$status[$i] =		$row[7];
+	if ( (!eregi("-$status[$i]-", $statuses)) and (strlen($status[$i])>0) )
+		{
+		$statusesTXT = sprintf("%8s", $status[$i]);
+		$statusesHEAD .= "----------+";
+		$statusesHTML .= " $statusesTXT |";
+		$statuses .= "$status[$i]-";
+		$statusesARY[$j] = $status[$i];
+		$j++;
+		}
+	if (!eregi("-$user[$i]-", $users))
+		{
+		$users .= "$user[$i]-";
+		$usersARY[$k] = $user[$i];
+		$user_namesARY[$k] = $full_name[$i];
+		$k++;
+		}
+
+	$i++;
+	}
+
+
+echo "+-----------------+----------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
+echo "| USER NAME       | ID       | CALLS  | TIME    | PAUSE  | PAUSAVG| WAIT   | WAITAVG| TALK   | TALKAVG| DISPO  | DISPAVG|$statusesHTML\n";
+echo "+-----------------+----------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
+
+
+### BEGIN loop through each user ###
+$m=0;
+while ($m < $k)
+	{
+	$Suser=$usersARY[$m];
+	$Sfull_name=$user_namesARY[$m];
+	$Stime=0;
+	$Scalls=0;
+	$Stalk_sec=0;
+	$Spause_sec=0;
+	$Swait_sec=0;
+	$Sdispo_sec=0;
+	$SstatusesHTML='';
+
+	### BEGIN loop through each status ###
+	$n=0;
+	while ($n < $j)
+		{
+		$Sstatus=$statusesARY[$n];
+		$SstatusTXT='';
+		### BEGIN loop through each stat line ###
+		$i=0; $status_found=0;
+		while ($i < $rows_to_print)
+			{
+			if ( ($Suser=="$user[$i]") and ($Sstatus=="$status[$i]") )
+				{
+				$Scalls =		($Scalls + $calls[$i]);
+				$Stalk_sec =	($Stalk_sec + $talk_sec[$i]);
+				$Spause_sec =	($Spause_sec + $pause_sec[$i]);
+				$Swait_sec =	($Swait_sec + $wait_sec[$i]);
+				$Sdispo_sec =	($Sdispo_sec + $dispo_sec[$i]);
+				$SstatusTXT = sprintf("%8s", $calls[$i]);
+				$SstatusesHTML .= " $SstatusTXT |";
+				$status_found++;
+				}
+			$i++;
+			}
+		if ($status_found < 1)
+			{
+			$SstatusesHTML .= "        0 |";
+			}
+		### END loop through each stat line ###
+		$n++;
+		}
+	### END loop through each status ###
+	$Stime = ($Stalk_sec + $Spause_sec + $Swait_sec + $Sdispo_sec);
+	$TOTcalls=($TOTcalls + $Scalls);
+	$TOTtime=($TOTtime + $Stime);
+	$TOTtotTALK=($TOTtotTALK + $Stalk_sec);
+	$TOTtotWAIT=($TOTtotWAIT + $Swait_sec);
+	$TOTtotPAUSE=($TOTtotPAUSE + $Spause_sec);
+	$TOTtotDISPO=($TOTtotDISPO + $Sdispo_sec);
+	$Stime = ($Stalk_sec + $Spause_sec + $Swait_sec + $Sdispo_sec);
+	if ( ($Scalls > 0) and ($Stalk_sec > 0) ) {$Stalk_avg = ($Stalk_sec/$Scalls);}
+		else {$Stalk_avg=0;}
+	if ( ($Scalls > 0) and ($Spause_sec > 0) ) {$Spause_avg = ($Spause_sec/$Scalls);}
+		else {$Spause_avg=0;}
+	if ( ($Scalls > 0) and ($Swait_sec > 0) ) {$Swait_avg = ($Swait_sec/$Scalls);}
+		else {$Swait_avg=0;}
+	if ( ($Scalls > 0) and ($Sdispo_sec > 0) ) {$Sdispo_avg = ($Sdispo_sec/$Scalls);}
+		else {$Sdispo_avg=0;}
+
+	$Scalls =	sprintf("%6s", $Scalls);
+
+	if ($non_latin < 1)
+	{
+   	 $Sfull_name=	sprintf("%-15s", $Sfull_name); 
+		while(strlen($Sfull_name)>15) {$Sfull_name = substr("$Sfull_name", 0, -1);}
+	 $Suser =		sprintf("%-8s", $Suser);
+        while(strlen($Suser)>8) {$Suser = substr("$Suser", 0, -1);}
+       }
+	else
+	{	
+        $Sfull_name=	sprintf("%-45s", $Sfull_name); 
+	 while(mb_strlen($Sfull_name,'utf-8')>15) {$Sfull_name = mb_substr("$Sfull_name", 0, -1,'utf-8');}
+
+ 		$Suser =	sprintf("%-24s", $Suser);
+	 while(mb_strlen($Suser,'utf-8')>8) {$Suser = mb_substr("$Suser", 0, -1,'utf-8');}
+	}
+
+	$USERtime_M = ($Stime / 60);
+	$USERtime_M = round($USERtime_M, 2);
+	$USERtime_M_int = intval("$USERtime_M");
+	$USERtime_S = ($USERtime_M - $USERtime_M_int);
+	$USERtime_S = ($USERtime_S * 60);
+	$USERtime_S = round($USERtime_S, 0);
+	if ($USERtime_S < 10) {$USERtime_S = "0$USERtime_S";}
+	$USERtime_MS = "$USERtime_M_int:$USERtime_S";
+	$pfUSERtime_MS =		sprintf("%7s", $USERtime_MS);
+
+	$USERtotTALK_M = ($Stalk_sec / 60);
+	$USERtotTALK_M = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$pfUSERtotTALK_MS =		sprintf("%6s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($Stalk_avg / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$pfUSERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	$USERtotPAUSE_M = ($Spause_sec / 60);
+	$USERtotPAUSE_M = round($USERtotPAUSE_M, 2);
+	$USERtotPAUSE_M_int = intval("$USERtotPAUSE_M");
+	$USERtotPAUSE_S = ($USERtotPAUSE_M - $USERtotPAUSE_M_int);
+	$USERtotPAUSE_S = ($USERtotPAUSE_S * 60);
+	$USERtotPAUSE_S = round($USERtotPAUSE_S, 0);
+	if ($USERtotPAUSE_S < 10) {$USERtotPAUSE_S = "0$USERtotPAUSE_S";}
+	$USERtotPAUSE_MS = "$USERtotPAUSE_M_int:$USERtotPAUSE_S";
+	$pfUSERtotPAUSE_MS =		sprintf("%6s", $USERtotPAUSE_MS);
+
+	$USERavgPAUSE_M = ($Spause_avg / 60);
+	$USERavgPAUSE_M = round($USERavgPAUSE_M, 2);
+	$USERavgPAUSE_M_int = intval("$USERavgPAUSE_M");
+	$USERavgPAUSE_S = ($USERavgPAUSE_M - $USERavgPAUSE_M_int);
+	$USERavgPAUSE_S = ($USERavgPAUSE_S * 60);
+	$USERavgPAUSE_S = round($USERavgPAUSE_S, 0);
+	if ($USERavgPAUSE_S < 10) {$USERavgPAUSE_S = "0$USERavgPAUSE_S";}
+	$USERavgPAUSE_MS = "$USERavgPAUSE_M_int:$USERavgPAUSE_S";
+	$pfUSERavgPAUSE_MS =		sprintf("%6s", $USERavgPAUSE_MS);
+
+	$USERtotWAIT_M = ($Swait_sec / 60);
+	$USERtotWAIT_M = round($USERtotWAIT_M, 2);
+	$USERtotWAIT_M_int = intval("$USERtotWAIT_M");
+	$USERtotWAIT_S = ($USERtotWAIT_M - $USERtotWAIT_M_int);
+	$USERtotWAIT_S = ($USERtotWAIT_S * 60);
+	$USERtotWAIT_S = round($USERtotWAIT_S, 0);
+	if ($USERtotWAIT_S < 10) {$USERtotWAIT_S = "0$USERtotWAIT_S";}
+	$USERtotWAIT_MS = "$USERtotWAIT_M_int:$USERtotWAIT_S";
+	$pfUSERtotWAIT_MS =		sprintf("%6s", $USERtotWAIT_MS);
+
+	$USERavgWAIT_M = ($Swait_avg / 60);
+	$USERavgWAIT_M = round($USERavgWAIT_M, 2);
+	$USERavgWAIT_M_int = intval("$USERavgWAIT_M");
+	$USERavgWAIT_S = ($USERavgWAIT_M - $USERavgWAIT_M_int);
+	$USERavgWAIT_S = ($USERavgWAIT_S * 60);
+	$USERavgWAIT_S = round($USERavgWAIT_S, 0);
+	if ($USERavgWAIT_S < 10) {$USERavgWAIT_S = "0$USERavgWAIT_S";}
+	$USERavgWAIT_MS = "$USERavgWAIT_M_int:$USERavgWAIT_S";
+	$pfUSERavgWAIT_MS =		sprintf("%6s", $USERavgWAIT_MS);
+	
+	$USERtotDISPO_M = ($Sdispo_sec / 60);
+	$USERtotDISPO_M = round($USERtotDISPO_M, 2);
+	$USERtotDISPO_M_int = intval("$USERtotDISPO_M");
+	$USERtotDISPO_S = ($USERtotDISPO_M - $USERtotDISPO_M_int);
+	$USERtotDISPO_S = ($USERtotDISPO_S * 60);
+	$USERtotDISPO_S = round($USERtotDISPO_S, 0);
+	if ($USERtotDISPO_S < 10) {$USERtotDISPO_S = "0$USERtotDISPO_S";}
+	$USERtotDISPO_MS = "$USERtotDISPO_M_int:$USERtotDISPO_S";
+	$pfUSERtotDISPO_MS =		sprintf("%6s", $USERtotDISPO_MS);
+
+	$USERavgDISPO_M = ($Sdispo_avg / 60);
+	$USERavgDISPO_M = round($USERavgDISPO_M, 2);
+	$USERavgDISPO_M_int = intval("$USERavgDISPO_M");
+	$USERavgDISPO_S = ($USERavgDISPO_M - $USERavgDISPO_M_int);
+	$USERavgDISPO_S = ($USERavgDISPO_S * 60);
+	$USERavgDISPO_S = round($USERavgDISPO_S, 0);
+	if ($USERavgDISPO_S < 10) {$USERavgDISPO_S = "0$USERavgDISPO_S";}
+	$USERavgDISPO_MS = "$USERavgDISPO_M_int:$USERavgDISPO_S";
+	$pfUSERavgDISPO_MS =		sprintf("%6s", $USERavgDISPO_MS);
+
+	echo "| $Sfull_name | $Suser | $Scalls | $pfUSERtime_MS | $pfUSERtotPAUSE_MS | $pfUSERavgPAUSE_MS | $pfUSERtotWAIT_MS | $pfUSERavgWAIT_MS | $pfUSERtotTALK_MS | $pfUSERavgTALK_MS | $pfUSERtotDISPO_MS | $pfUSERavgDISPO_MS |$SstatusesHTML\n";
+	$m++;
+	}
+### END loop through each user ###
+
+
+###### LAST LINE FORMATTING ##########
+### BEGIN loop through each status ###
+$SUMstatusesHTML='';
+$n=0;
+while ($n < $j)
+	{
+	$Scalls=0;
+	$Sstatus=$statusesARY[$n];
+	$SUMstatusTXT='';
+	### BEGIN loop through each stat line ###
+	$i=0; $status_found=0;
+	while ($i < $rows_to_print)
+		{
+		if ($Sstatus=="$status[$i]")
+			{
+			$Scalls =		($Scalls + $calls[$i]);
+			$status_found++;
+			}
+		$i++;
+		}
+	### END loop through each stat line ###
+	if ($status_found < 1)
+		{
+		$SUMstatusesHTML .= "        0 |";
+		}
+	else
+		{
+		$SUMstatusTXT = sprintf("%8s", $Scalls);
+		$SUMstatusesHTML .= " $SUMstatusTXT |";
+		}
+	$n++;
+	}
+### END loop through each status ###
+
+
+	$TOTcalls =	sprintf("%7s", $TOTcalls);
+	$TOT_AGENTS = sprintf("%-4s", $m);
+
+	$TOTtime_M = ($TOTtime / 60);
+	$TOTtime_M = round($TOTtime_M, 2);
+	$TOTtime_M_int = intval("$TOTtime_M");
+	$TOTtime_S = ($TOTtime_M - $TOTtime_M_int);
+	$TOTtime_S = ($TOTtime_S * 60);
+	$TOTtime_S = round($TOTtime_S, 0);
+	if ($TOTtime_S < 10) {$TOTtime_S = "0$TOTtime_S";}
+	$TOTtime_MS = "$TOTtime_M_int:$TOTtime_S";
+	$TOTtime_MS =		sprintf("%8s", $TOTtime_MS);
+		while(strlen($TOTtime_MS)>8) {$TOTtime_MS = substr("$TOTtime_MS", 0, -1);}
+
+	$TOTtotTALK_M = ($TOTtotTALK / 60);
+	$TOTtotTALK_M = round($TOTtotTALK_M, 2);
+	$TOTtotTALK_M_int = intval("$TOTtotTALK_M");
+	$TOTtotTALK_S = ($TOTtotTALK_M - $TOTtotTALK_M_int);
+	$TOTtotTALK_S = ($TOTtotTALK_S * 60);
+	$TOTtotTALK_S = round($TOTtotTALK_S, 0);
+	if ($TOTtotTALK_S < 10) {$TOTtotTALK_S = "0$TOTtotTALK_S";}
+	$TOTtotTALK_MS = "$TOTtotTALK_M_int:$TOTtotTALK_S";
+	$TOTtotTALK_MS =		sprintf("%8s", $TOTtotTALK_MS);
+		while(strlen($TOTtotTALK_MS)>8) {$TOTtotTALK_MS = substr("$TOTtotTALK_MS", 0, -1);}
+
+	$TOTtotDISPO_M = ($TOTtotDISPO / 60);
+	$TOTtotDISPO_M = round($TOTtotDISPO_M, 2);
+	$TOTtotDISPO_M_int = intval("$TOTtotDISPO_M");
+	$TOTtotDISPO_S = ($TOTtotDISPO_M - $TOTtotDISPO_M_int);
+	$TOTtotDISPO_S = ($TOTtotDISPO_S * 60);
+	$TOTtotDISPO_S = round($TOTtotDISPO_S, 0);
+	if ($TOTtotDISPO_S < 10) {$TOTtotDISPO_S = "0$TOTtotDISPO_S";}
+	$TOTtotDISPO_MS = "$TOTtotDISPO_M_int:$TOTtotDISPO_S";
+	$TOTtotDISPO_MS =		sprintf("%8s", $TOTtotDISPO_MS);
+		while(strlen($TOTtotDISPO_MS)>8) {$TOTtotDISPO_MS = substr("$TOTtotDISPO_MS", 0, -1);}
+
+	$TOTtotPAUSE_M = ($TOTtotPAUSE / 60);
+	$TOTtotPAUSE_M = round($TOTtotPAUSE_M, 2);
+	$TOTtotPAUSE_M_int = intval("$TOTtotPAUSE_M");
+	$TOTtotPAUSE_S = ($TOTtotPAUSE_M - $TOTtotPAUSE_M_int);
+	$TOTtotPAUSE_S = ($TOTtotPAUSE_S * 60);
+	$TOTtotPAUSE_S = round($TOTtotPAUSE_S, 0);
+	if ($TOTtotPAUSE_S < 10) {$TOTtotPAUSE_S = "0$TOTtotPAUSE_S";}
+	$TOTtotPAUSE_MS = "$TOTtotPAUSE_M_int:$TOTtotPAUSE_S";
+	$TOTtotPAUSE_MS =		sprintf("%8s", $TOTtotPAUSE_MS);
+		while(strlen($TOTtotPAUSE_MS)>8) {$TOTtotPAUSE_MS = substr("$TOTtotPAUSE_MS", 0, -1);}
+
+	$TOTtotWAIT_M = ($TOTtotWAIT / 60);
+	$TOTtotWAIT_M = round($TOTtotWAIT_M, 2);
+	$TOTtotWAIT_M_int = intval("$TOTtotWAIT_M");
+	$TOTtotWAIT_S = ($TOTtotWAIT_M - $TOTtotWAIT_M_int);
+	$TOTtotWAIT_S = ($TOTtotWAIT_S * 60);
+	$TOTtotWAIT_S = round($TOTtotWAIT_S, 0);
+	if ($TOTtotWAIT_S < 10) {$TOTtotWAIT_S = "0$TOTtotWAIT_S";}
+	$TOTtotWAIT_MS = "$TOTtotWAIT_M_int:$TOTtotWAIT_S";
+	$TOTtotWAIT_MS =		sprintf("%8s", $TOTtotWAIT_MS);
+		while(strlen($TOTtotWAIT_MS)>8) {$TOTtotWAIT_MS = substr("$TOTtotWAIT_MS", 0, -1);}
+
+
+	$TOTavgTALK_M = ( ($TOTtotTALK / $TOTcalls) / 60);
+	$TOTavgTALK_M = round($TOTavgTALK_M, 2);
+	$TOTavgTALK_M_int = intval("$TOTavgTALK_M");
+	$TOTavgTALK_S = ($TOTavgTALK_M - $TOTavgTALK_M_int);
+	$TOTavgTALK_S = ($TOTavgTALK_S * 60);
+	$TOTavgTALK_S = round($TOTavgTALK_S, 0);
+	if ($TOTavgTALK_S < 10) {$TOTavgTALK_S = "0$TOTavgTALK_S";}
+	$TOTavgTALK_MS = "$TOTavgTALK_M_int:$TOTavgTALK_S";
+	$TOTavgTALK_MS =		sprintf("%6s", $TOTavgTALK_MS);
+		while(strlen($TOTavgTALK_MS)>6) {$TOTavgTALK_MS = substr("$TOTavgTALK_MS", 0, -1);}
+
+	$TOTavgDISPO_M = ( ($TOTtotDISPO / $TOTcalls) / 60);
+	$TOTavgDISPO_M = round($TOTavgDISPO_M, 2);
+	$TOTavgDISPO_M_int = intval("$TOTavgDISPO_M");
+	$TOTavgDISPO_S = ($TOTavgDISPO_M - $TOTavgDISPO_M_int);
+	$TOTavgDISPO_S = ($TOTavgDISPO_S * 60);
+	$TOTavgDISPO_S = round($TOTavgDISPO_S, 0);
+	if ($TOTavgDISPO_S < 10) {$TOTavgDISPO_S = "0$TOTavgDISPO_S";}
+	$TOTavgDISPO_MS = "$TOTavgDISPO_M_int:$TOTavgDISPO_S";
+	$TOTavgDISPO_MS =		sprintf("%6s", $TOTavgDISPO_MS);
+		while(strlen($TOTavgDISPO_MS)>6) {$TOTavgDISPO_MS = substr("$TOTavgDISPO_MS", 0, -1);}
+
+	$TOTavgPAUSE_M = ( ($TOTtotPAUSE / $TOTcalls) / 60);
+	$TOTavgPAUSE_M = round($TOTavgPAUSE_M, 2);
+	$TOTavgPAUSE_M_int = intval("$TOTavgPAUSE_M");
+	$TOTavgPAUSE_S = ($TOTavgPAUSE_M - $TOTavgPAUSE_M_int);
+	$TOTavgPAUSE_S = ($TOTavgPAUSE_S * 60);
+	$TOTavgPAUSE_S = round($TOTavgPAUSE_S, 0);
+	if ($TOTavgPAUSE_S < 10) {$TOTavgPAUSE_S = "0$TOTavgPAUSE_S";}
+	$TOTavgPAUSE_MS = "$TOTavgPAUSE_M_int:$TOTavgPAUSE_S";
+	$TOTavgPAUSE_MS =		sprintf("%6s", $TOTavgPAUSE_MS);
+		while(strlen($TOTavgPAUSE_MS)>6) {$TOTavgPAUSE_MS = substr("$TOTavgPAUSE_MS", 0, -1);}
+
+	$TOTavgWAIT_M = ( ($TOTtotWAIT / $TOTcalls) / 60);
+	$TOTavgWAIT_M = round($TOTavgWAIT_M, 2);
+	$TOTavgWAIT_M_int = intval("$TOTavgWAIT_M");
+	$TOTavgWAIT_S = ($TOTavgWAIT_M - $TOTavgWAIT_M_int);
+	$TOTavgWAIT_S = ($TOTavgWAIT_S * 60);
+	$TOTavgWAIT_S = round($TOTavgWAIT_S, 0);
+	if ($TOTavgWAIT_S < 10) {$TOTavgWAIT_S = "0$TOTavgWAIT_S";}
+	$TOTavgWAIT_MS = "$TOTavgWAIT_M_int:$TOTavgWAIT_S";
+	$TOTavgWAIT_MS =		sprintf("%6s", $TOTavgWAIT_MS);
+		while(strlen($TOTavgWAIT_MS)>6) {$TOTavgWAIT_MS = substr("$TOTavgWAIT_MS", 0, -1);}
+
+
+echo "+-----------------+----------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
+echo "|  TOTALS        AGENTS:$TOT_AGENTS | $TOTcalls| $TOTtime_MS|$TOTtotPAUSE_MS| $TOTavgPAUSE_MS |$TOTtotWAIT_MS| $TOTavgWAIT_MS |$TOTtotTALK_MS| $TOTavgTALK_MS |$TOTtotDISPO_MS| $TOTavgDISPO_MS |$SUMstatusesHTML\n";
+echo "+----------------------------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
+
+echo "\n";
+
+}
+
+
+?>
+
+
\ No newline at end of file
diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_agent_time_sheet.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_agent_time_sheet.php
new file mode 100644
index 00000000..5bf7c948
--- /dev/null
+++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_agent_time_sheet.php
@@ -0,0 +1,286 @@
+    LICENSE: GPLv2
+###
+# CHANGES
+#
+# 60619-1729 - Added variable filtering to eliminate SQL injection attack threat
+#            - Added required user/pass to gain access to this page
+#
+
+require("dbconnect.php");
+
+$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
+$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
+$PHP_SELF=$_SERVER['PHP_SELF'];
+if (isset($_GET["agent"]))				{$agent=$_GET["agent"];}
+	elseif (isset($_POST["agent"]))		{$agent=$_POST["agent"];}
+if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
+	elseif (isset($_POST["query_date"]))		{$query_date=$_POST["query_date"];}
+if (isset($_GET["calls_summary"]))				{$calls_summary=$_GET["calls_summary"];}
+	elseif (isset($_POST["calls_summary"]))		{$calls_summary=$_POST["calls_summary"];}
+if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
+	elseif (isset($_POST["submit"]))		{$submit=$_POST["submit"];}
+if (isset($_GET["SUBMIT"]))				{$SUBMIT=$_GET["SUBMIT"];}
+	elseif (isset($_POST["SUBMIT"]))		{$SUBMIT=$_POST["SUBMIT"];}
+
+$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
+$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
+
+	$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
+	if ($DB) {echo "|$stmt|\n";}
+	$rslt=mysql_query($stmt, $link);
+	$row=mysql_fetch_row($rslt);
+	$auth=$row[0];
+
+  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
+	{
+    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
+    Header("HTTP/1.0 401 Unauthorized");
+    echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
+    exit;
+	}
+
+$NOW_DATE = date("Y-m-d");
+$NOW_TIME = date("Y-m-d H:i:s");
+$STARTtime = date("U");
+if (!isset($query_date)) {$query_date = $NOW_DATE;}
+
+?>
+
+
+
+
+
+\n";
+echo "VICIDIAL: Agent Time Sheet\n";
+echo "VICIDIAL ADMIN: Agent Time Sheet\n";
+echo " - User Stats\n";
+echo " - User Status\n";
+echo " - Ändern Sie Benutzer\n";
+echo "
\n"; +echo "
  \n"; +echo "Date: \n"; +echo "User ID: \n"; +echo "\n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$agent)
+{
+echo "\n";
+echo "PLEASE SELECT AN MITTELID AND DATE-TIME ABOVE AND CLICK SUBMIT\n";
+echo " NOTE: stats taken from available agent log data\n";
+}
+
+else
+{
+$query_date_BEGIN = "$query_date 00:00:00";   
+$query_date_END = "$query_date 23:59:59";
+$time_BEGIN = "00:00:00";   
+$time_END = "23:59:59";
+
+$stmt="select full_name from vicidial_users where user='$agent';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$full_name = $row[0];
+
+echo "VICIDIAL: Agent Time Sheet                             $NOW_TIME\n";
+
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- MITTELTIME SHEET: $agent - $full_name -------------\n\n";
+
+if ($calls_summary)
+	{
+	$stmt="select count(*) as calls,sum(talk_sec) as talk,avg(talk_sec),sum(pause_sec),avg(pause_sec),sum(wait_sec),avg(wait_sec),sum(dispo_sec),avg(dispo_sec) from vicidial_agent_log where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' and pause_sec<48800 and wait_sec<48800 and talk_sec<48800 and dispo_sec<48800 limit 1;";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+
+	$TOTAL_TIME = ($row[1] + $row[3] + $row[5] + $row[7]);
+
+		$TOTAL_TIME_H = ($TOTAL_TIME / 3600);
+		$TOTAL_TIME_H = round($TOTAL_TIME_H, 2);
+		$TOTAL_TIME_H_int = intval("$TOTAL_TIME_H");
+		$TOTAL_TIME_M = ($TOTAL_TIME_H - $TOTAL_TIME_H_int);
+		$TOTAL_TIME_M = ($TOTAL_TIME_M * 60);
+		$TOTAL_TIME_M = round($TOTAL_TIME_M, 2);
+		$TOTAL_TIME_M_int = intval("$TOTAL_TIME_M");
+		$TOTAL_TIME_S = ($TOTAL_TIME_M - $TOTAL_TIME_M_int);
+		$TOTAL_TIME_S = ($TOTAL_TIME_S * 60);
+		$TOTAL_TIME_S = round($TOTAL_TIME_S, 0);
+		if ($TOTAL_TIME_S < 10) {$TOTAL_TIME_S = "0$TOTAL_TIME_S";}
+		if ($TOTAL_TIME_M_int < 10) {$TOTAL_TIME_M_int = "0$TOTAL_TIME_M_int";}
+		$TOTAL_TIME_HMS = "$TOTAL_TIME_H_int:$TOTAL_TIME_M_int:$TOTAL_TIME_S";
+		$pfTOTAL_TIME_HMS =		sprintf("%8s", $TOTAL_TIME_HMS);
+
+		$TALK_TIME_H = ($row[1] / 3600);
+		$TALK_TIME_H = round($TALK_TIME_H, 2);
+		$TALK_TIME_H_int = intval("$TALK_TIME_H");
+		$TALK_TIME_M = ($TALK_TIME_H - $TALK_TIME_H_int);
+		$TALK_TIME_M = ($TALK_TIME_M * 60);
+		$TALK_TIME_M = round($TALK_TIME_M, 2);
+		$TALK_TIME_M_int = intval("$TALK_TIME_M");
+		$TALK_TIME_S = ($TALK_TIME_M - $TALK_TIME_M_int);
+		$TALK_TIME_S = ($TALK_TIME_S * 60);
+		$TALK_TIME_S = round($TALK_TIME_S, 0);
+		if ($TALK_TIME_S < 10) {$TALK_TIME_S = "0$TALK_TIME_S";}
+		if ($TALK_TIME_M_int < 10) {$TALK_TIME_M_int = "0$TALK_TIME_M_int";}
+		$TALK_TIME_HMS = "$TALK_TIME_H_int:$TALK_TIME_M_int:$TALK_TIME_S";
+		$pfTALK_TIME_HMS =		sprintf("%8s", $TALK_TIME_HMS);
+
+		$PAUSE_TIME_H = ($row[3] / 3600);
+		$PAUSE_TIME_H = round($PAUSE_TIME_H, 2);
+		$PAUSE_TIME_H_int = intval("$PAUSE_TIME_H");
+		$PAUSE_TIME_M = ($PAUSE_TIME_H - $PAUSE_TIME_H_int);
+		$PAUSE_TIME_M = ($PAUSE_TIME_M * 60);
+		$PAUSE_TIME_M = round($PAUSE_TIME_M, 2);
+		$PAUSE_TIME_M_int = intval("$PAUSE_TIME_M");
+		$PAUSE_TIME_S = ($PAUSE_TIME_M - $PAUSE_TIME_M_int);
+		$PAUSE_TIME_S = ($PAUSE_TIME_S * 60);
+		$PAUSE_TIME_S = round($PAUSE_TIME_S, 0);
+		if ($PAUSE_TIME_S < 10) {$PAUSE_TIME_S = "0$PAUSE_TIME_S";}
+		if ($PAUSE_TIME_M_int < 10) {$PAUSE_TIME_M_int = "0$PAUSE_TIME_M_int";}
+		$PAUSE_TIME_HMS = "$PAUSE_TIME_H_int:$PAUSE_TIME_M_int:$PAUSE_TIME_S";
+		$pfPAUSE_TIME_HMS =		sprintf("%8s", $PAUSE_TIME_HMS);
+
+		$WAIT_TIME_H = ($row[5] / 3600);
+		$WAIT_TIME_H = round($WAIT_TIME_H, 2);
+		$WAIT_TIME_H_int = intval("$WAIT_TIME_H");
+		$WAIT_TIME_M = ($WAIT_TIME_H - $WAIT_TIME_H_int);
+		$WAIT_TIME_M = ($WAIT_TIME_M * 60);
+		$WAIT_TIME_M = round($WAIT_TIME_M, 2);
+		$WAIT_TIME_M_int = intval("$WAIT_TIME_M");
+		$WAIT_TIME_S = ($WAIT_TIME_M - $WAIT_TIME_M_int);
+		$WAIT_TIME_S = ($WAIT_TIME_S * 60);
+		$WAIT_TIME_S = round($WAIT_TIME_S, 0);
+		if ($WAIT_TIME_S < 10) {$WAIT_TIME_S = "0$WAIT_TIME_S";}
+		if ($WAIT_TIME_M_int < 10) {$WAIT_TIME_M_int = "0$WAIT_TIME_M_int";}
+		$WAIT_TIME_HMS = "$WAIT_TIME_H_int:$WAIT_TIME_M_int:$WAIT_TIME_S";
+		$pfWAIT_TIME_HMS =		sprintf("%8s", $WAIT_TIME_HMS);
+
+		$WRAPUP_TIME_H = ($row[7] / 3600);
+		$WRAPUP_TIME_H = round($WRAPUP_TIME_H, 2);
+		$WRAPUP_TIME_H_int = intval("$WRAPUP_TIME_H");
+		$WRAPUP_TIME_M = ($WRAPUP_TIME_H - $WRAPUP_TIME_H_int);
+		$WRAPUP_TIME_M = ($WRAPUP_TIME_M * 60);
+		$WRAPUP_TIME_M = round($WRAPUP_TIME_M, 2);
+		$WRAPUP_TIME_M_int = intval("$WRAPUP_TIME_M");
+		$WRAPUP_TIME_S = ($WRAPUP_TIME_M - $WRAPUP_TIME_M_int);
+		$WRAPUP_TIME_S = ($WRAPUP_TIME_S * 60);
+		$WRAPUP_TIME_S = round($WRAPUP_TIME_S, 0);
+		if ($WRAPUP_TIME_S < 10) {$WRAPUP_TIME_S = "0$WRAPUP_TIME_S";}
+		if ($WRAPUP_TIME_M_int < 10) {$WRAPUP_TIME_M_int = "0$WRAPUP_TIME_M_int";}
+		$WRAPUP_TIME_HMS = "$WRAPUP_TIME_H_int:$WRAPUP_TIME_M_int:$WRAPUP_TIME_S";
+		$pfWRAPUP_TIME_HMS =		sprintf("%8s", $WRAPUP_TIME_HMS);
+
+		$TALK_AVG_M = ($row[2] / 60);
+		$TALK_AVG_M = round($TALK_AVG_M, 2);
+		$TALK_AVG_M_int = intval("$TALK_AVG_M");
+		$TALK_AVG_S = ($TALK_AVG_M - $TALK_AVG_M_int);
+		$TALK_AVG_S = ($TALK_AVG_S * 60);
+		$TALK_AVG_S = round($TALK_AVG_S, 0);
+		if ($TALK_AVG_S < 10) {$TALK_AVG_S = "0$TALK_AVG_S";}
+		$TALK_AVG_MS = "$TALK_AVG_M_int:$TALK_AVG_S";
+		$pfTALK_AVG_MS =		sprintf("%6s", $TALK_AVG_MS);
+
+		$PAUSE_AVG_M = ($row[4] / 60);
+		$PAUSE_AVG_M = round($PAUSE_AVG_M, 2);
+		$PAUSE_AVG_M_int = intval("$PAUSE_AVG_M");
+		$PAUSE_AVG_S = ($PAUSE_AVG_M - $PAUSE_AVG_M_int);
+		$PAUSE_AVG_S = ($PAUSE_AVG_S * 60);
+		$PAUSE_AVG_S = round($PAUSE_AVG_S, 0);
+		if ($PAUSE_AVG_S < 10) {$PAUSE_AVG_S = "0$PAUSE_AVG_S";}
+		$PAUSE_AVG_MS = "$PAUSE_AVG_M_int:$PAUSE_AVG_S";
+		$pfPAUSE_AVG_MS =		sprintf("%6s", $PAUSE_AVG_MS);
+
+		$WAIT_AVG_M = ($row[6] / 60);
+		$WAIT_AVG_M = round($WAIT_AVG_M, 2);
+		$WAIT_AVG_M_int = intval("$WAIT_AVG_M");
+		$WAIT_AVG_S = ($WAIT_AVG_M - $WAIT_AVG_M_int);
+		$WAIT_AVG_S = ($WAIT_AVG_S * 60);
+		$WAIT_AVG_S = round($WAIT_AVG_S, 0);
+		if ($WAIT_AVG_S < 10) {$WAIT_AVG_S = "0$WAIT_AVG_S";}
+		$WAIT_AVG_MS = "$WAIT_AVG_M_int:$WAIT_AVG_S";
+		$pfWAIT_AVG_MS =		sprintf("%6s", $WAIT_AVG_MS);
+
+		$WRAPUP_AVG_M = ($row[8] / 60);
+		$WRAPUP_AVG_M = round($WRAPUP_AVG_M, 2);
+		$WRAPUP_AVG_M_int = intval("$WRAPUP_AVG_M");
+		$WRAPUP_AVG_S = ($WRAPUP_AVG_M - $WRAPUP_AVG_M_int);
+		$WRAPUP_AVG_S = ($WRAPUP_AVG_S * 60);
+		$WRAPUP_AVG_S = round($WRAPUP_AVG_S, 0);
+		if ($WRAPUP_AVG_S < 10) {$WRAPUP_AVG_S = "0$WRAPUP_AVG_S";}
+		$WRAPUP_AVG_MS = "$WRAPUP_AVG_M_int:$WRAPUP_AVG_S";
+		$pfWRAPUP_AVG_MS =		sprintf("%6s", $WRAPUP_AVG_MS);
+
+	echo "GESAMTANRUFETAKEN: $row[0]\n";
+	echo "TALK TIME:               $pfTALK_TIME_HMS     AVERAGE: $pfTALK_AVG_MS\n";
+	echo "PAUSE TIME:              $pfPAUSE_TIME_HMS     AVERAGE: $pfPAUSE_AVG_MS\n";
+	echo "WAIT TIME:               $pfWAIT_TIME_HMS     AVERAGE: $pfWAIT_AVG_MS\n";
+	echo "WRAPUP TIME:             $pfWRAPUP_TIME_HMS     AVERAGE: $pfWRAPUP_AVG_MS\n";
+	echo "----------------------------------------------------------------\n";
+	echo "TOTAL ACTIVE MITTELTIME: $pfTOTAL_TIME_HMS\n";
+
+	echo "\n";
+	}
+else
+	{
+	echo "Call Activity Summary\n\n";
+
+	}
+
+$stmt="select event_time,UNIX_TIMESTAMP(event_time) from vicidial_agent_log where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' order by event_time limit 1;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+echo "FIRST LOGIN:          $row[0]\n";
+$start = $row[1];
+
+$stmt="select event_time,UNIX_TIMESTAMP(event_time) from vicidial_agent_log where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' order by event_time desc limit 1;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+echo "LAST LOG ACTIVITY:    $row[0]\n";
+$end = $row[1];
+
+$login_time = ($end - $start);
+	$LOGIN_TIME_H = ($login_time / 3600);
+	$LOGIN_TIME_H = round($LOGIN_TIME_H, 2);
+	$LOGIN_TIME_H_int = intval("$LOGIN_TIME_H");
+	$LOGIN_TIME_M = ($LOGIN_TIME_H - $LOGIN_TIME_H_int);
+	$LOGIN_TIME_M = ($LOGIN_TIME_M * 60);
+	$LOGIN_TIME_M = round($LOGIN_TIME_M, 2);
+	$LOGIN_TIME_M_int = intval("$LOGIN_TIME_M");
+	$LOGIN_TIME_S = ($LOGIN_TIME_M - $LOGIN_TIME_M_int);
+	$LOGIN_TIME_S = ($LOGIN_TIME_S * 60);
+	$LOGIN_TIME_S = round($LOGIN_TIME_S, 0);
+	if ($LOGIN_TIME_S < 10) {$LOGIN_TIME_S = "0$LOGIN_TIME_S";}
+	if ($LOGIN_TIME_M_int < 10) {$LOGIN_TIME_M_int = "0$LOGIN_TIME_M_int";}
+	$LOGIN_TIME_HMS = "$LOGIN_TIME_H_int:$LOGIN_TIME_M_int:$LOGIN_TIME_S";
+	$pfLOGIN_TIME_HMS =		sprintf("%8s", $LOGIN_TIME_HMS);
+
+echo "-----------------------------------------\n";
+echo "TOTAL LOGGED-IN TIME:    $pfLOGIN_TIME_HMS\n";
+
+}
+
+
+
+?>
+
+
\ No newline at end of file
diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_inboundEXTstats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_inboundEXTstats.php
new file mode 100644
index 00000000..bf046253
--- /dev/null
+++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_inboundEXTstats.php
@@ -0,0 +1,400 @@
+    LICENSE: GPLv2
+#
+# CHANGES
+# 60421-1450 - check GET/POST vars lines with isset to not trigger PHP NOTICES
+# 60620-1322 - Added variable filtering to eliminate SQL injection attack threat
+#            - Added required user/pass to gain access to this page
+#
+
+require("dbconnect.php");
+
+$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
+$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
+$PHP_SELF=$_SERVER['PHP_SELF'];
+if (isset($_GET["group"]))					{$group=$_GET["group"];}
+	elseif (isset($_POST["group"]))			{$group=$_POST["group"];}
+if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
+	elseif (isset($_POST["query_date"]))	{$query_date=$_POST["query_date"];}
+if (isset($_GET["server_ip"]))				{$server_ip=$_GET["server_ip"];}
+	elseif (isset($_POST["server_ip"]))		{$server_ip=$_POST["server_ip"];}
+if (isset($_GET["submit"]))					{$submit=$_GET["submit"];}
+	elseif (isset($_POST["submit"]))		{$submit=$_POST["submit"];}
+if (isset($_GET["SUBMIT"]))					{$SUBMIT=$_GET["SUBMIT"];}
+	elseif (isset($_POST["SUBMIT"]))		{$SUBMIT=$_POST["SUBMIT"];}
+
+$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
+$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
+
+	$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
+	if ($DB) {echo "|$stmt|\n";}
+	$rslt=mysql_query($stmt, $link);
+	$row=mysql_fetch_row($rslt);
+	$auth=$row[0];
+
+  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
+	{
+    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
+    Header("HTTP/1.0 401 Unauthorized");
+    echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
+    exit;
+	}
+
+
+$NOW_DATE = date("Y-m-d");
+$NOW_TIME = date("Y-m-d H:i:s");
+$STARTtime = date("U");
+if (!isset($query_date)) {$query_date = $NOW_DATE;}
+if (!isset($server_ip)) {$server_ip = '10.10.11.20';}
+
+$stmt="select extension,full_number,inbound_name from inbound_numbers where server_ip='" . mysql_real_escape_string($server_ip) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$inbound_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $inbound_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$inbound[$i] =$row[0];
+	$fullnum[$i] =$row[1];
+	$inbname[$i] =$row[2];
+	$i++;
+	}
+?>
+
+
+
+
+
+\n";
+#echo"\n";
+echo "ASTERISK: Inbound Anruf-Notfall\n";
+echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "WÄHLEN Sie BITTE Eine ZAHL Vor UND DATUM OBEN UND KLICKEN REICHT Ein\n";
+}
+
+else
+{
+
+
+echo "ASTERISK: Inbound Anruf-Notfall                      $NOW_TIME\n";
+
+echo "\n";
+echo "---------- TOTALS\n";
+
+$extenSQL = "and extension='" . mysql_real_escape_string($group) . "'";
+if (eregi("\*",$group))
+	{$extenSQL = "and extension LIKE \"%$group\"";}
+$stmt="select count(*),sum(length_in_sec) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+$average_hold_seconds = ($row[1] / $row[0]);
+$average_hold_seconds = round($average_hold_seconds, 0);
+$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+
+echo "Gesamtanrufe, die in diese Zahl kamen:       $TOTALcalls\n";
+echo "Average Call Length(seconds) for all Calls:   $average_hold_seconds\n";
+
+echo "\n";
+echo "---------- DROPS\n";
+
+$stmt="select count(*),sum(length_in_sec) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$DROPcalls =	sprintf("%10s", $row[0]);
+$DROPpercent = (($DROPcalls / $TOTALcalls) * 100);
+$DROPpercent = round($DROPpercent, 0);
+
+if ($row[0])
+	{
+	$average_hold_seconds = ($row[1] / $row[0]);
+	$average_hold_seconds = round($average_hold_seconds, 0);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+else {$DROPpercent=0;   $average_hold_seconds=0;}
+echo "Total DROP Calls:   (less than 10 seconds)    $DROPcalls  $DROPpercent%\n";
+echo "Average Call Length(seconds) for DROP Calls:  $average_hold_seconds\n";
+
+
+##############################
+#########  CALLS STATS
+
+echo "\n";
+echo "---------- CALL LISTINGS\n";
+echo "+----------------------+----------------------+--------+---------------------+\n";
+echo "| CALLERID             | CALLERIDNAME         | LENGTH | DATE TIME           |\n";
+echo "+----------------------+----------------------+--------+---------------------+\n";
+
+$stmt="select number_dialed,caller_code,length_in_sec,start_time from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$CID =			sprintf("%-20s", $row[0]);
+	$CIDname =		sprintf("%-20s", $row[1]); while(strlen($full_name)>15) {$full_name = substr("$full_name", 0, -1);}
+	$datetime =		sprintf("%-19s", $row[3]);
+	$USERavgTALK =	$row[2];
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$USERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	echo "| $CID | $CIDname | $USERavgTALK_MS | $datetime |\n";
+
+	$i++;
+	}
+
+echo "+----------------------+----------------------+--------+---------------------+\n";
+
+##############################
+#########  TIME STATS
+
+if ($output == 'FULL')
+	{
+
+	echo "\n";
+	echo "---------- TIME STATS\n";
+
+	echo "\n";
+
+	$hi_hour_count=0;
+	$last_full_record=0;
+	$i=0;
+	$h=0;
+	while ($i <= 96)
+		{
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:00:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:14:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$hour_count[$i] = $row[0];
+		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+		if ($hour_count[$i] > 0) {$last_full_record = $i;}
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:00:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:14:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$drop_count[$i] = $row[0];
+		$i++;
+
+
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:15:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:29:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$hour_count[$i] = $row[0];
+		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+		if ($hour_count[$i] > 0) {$last_full_record = $i;}
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:15:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:29:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$drop_count[$i] = $row[0];
+		$i++;
+
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:30:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:44:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$hour_count[$i] = $row[0];
+		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+		if ($hour_count[$i] > 0) {$last_full_record = $i;}
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:30:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:44:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$drop_count[$i] = $row[0];
+		$i++;
+
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:45:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$hour_count[$i] = $row[0];
+		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+		if ($hour_count[$i] > 0) {$last_full_record = $i;}
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:45:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$drop_count[$i] = $row[0];
+		$i++;
+		$h++;
+		}
+
+	$hour_multiplier = (100 / $hi_hour_count);
+	#$hour_multiplier = round($hour_multiplier, 0);
+
+	echo "\n";
+	echo "DIAGRAMM IN 15 MINUZIÖSEN STUFENSPRÜNGEN VON GESAMTANRUFEN\n";
+
+	$k=1;
+	$Mk=0;
+	$call_scale = '0';
+	while ($k <= 102) 
+		{
+		if ($Mk >= 5) 
+			{
+			$Mk=0;
+			$scale_num=($k / $hour_multiplier);
+			$scale_num = round($scale_num, 0);
+			$LENscale_num = (strlen($scale_num));
+			$k = ($k + $LENscale_num);
+			$call_scale .= "$scale_num";
+			}
+		else
+			{
+			$call_scale .= " ";
+			$k++;   $Mk++;
+			}
+		}
+
+
+	echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+	#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | DROPS | TOTAL |\n";
+	echo "| HOUR |$call_scale| DROPS | TOTAL |\n";
+	echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+	$ZZ = '00';
+	$i=0;
+	$h=4;
+	$hour= -1;
+	$no_lines_yet=1;
+
+	while ($i <= 96)
+		{
+		$char_counter=0;
+		$time = '      ';
+		if ($h >= 4) 
+			{
+			$hour++;
+			$h=0;
+			if ($hour < 10) {$hour = "0$hour";}
+			$time = "+$hour$ZZ+";
+			}
+		if ($h == 1) {$time = "   15 ";}
+		if ($h == 2) {$time = "   30 ";}
+		if ($h == 3) {$time = "   45 ";}
+		$Ghour_count = $hour_count[$i];
+		if ($Ghour_count < 1) 
+			{
+			if ( ($no_lines_yet) or ($i > $last_full_record) )
+				{
+				$do_nothing=1;
+				}
+			else
+				{
+				$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+				echo "|$time|";
+				$k=0;   while ($k <= 102) {echo " ";   $k++;}
+				echo "| $hour_count[$i] |\n";
+				}
+			}
+		else
+			{
+			$no_lines_yet=0;
+			$Xhour_count = ($Ghour_count * $hour_multiplier);
+			$Yhour_count = (99 - $Xhour_count);
+
+			$Gdrop_count = $drop_count[$i];
+			if ($Gdrop_count < 1) 
+				{
+				$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+
+				echo "|$time|";
+				$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
+				echo "*X";   $char_counter++;
+				$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+					while ($char_counter <= 101) {echo " ";   $char_counter++;}
+				echo "| 0     | $hour_count[$i] |\n";
+
+				}
+			else
+				{
+				$Xdrop_count = ($Gdrop_count * $hour_multiplier);
+
+			#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
+
+				$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
+
+				$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+				$drop_count[$i] =	sprintf("%-5s", $drop_count[$i]);
+
+				echo "|$time|";
+				$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
+				echo "D";   $char_counter++;
+				$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
+				echo "X";   $char_counter++;
+				$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+					while ($char_counter <= 102) {echo " ";   $char_counter++;}
+				echo "| $drop_count[$i] | $hour_count[$i] |\n";
+				}
+			}
+		
+		
+		$i++;
+		$h++;
+		}
+
+
+	echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+
+	}
+
+
+
+
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_server_performance.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_server_performance.php new file mode 100644 index 00000000..d727c21a --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_server_performance.php @@ -0,0 +1,306 @@ + LICENSE: GPLv2 +# +# CHANGES +# +# 60619-1732 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 70417-1106 - Changed time frame to be definable per time range on a single day +# - Fixed vertical scaling issues +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["begin_query_time"])) {$begin_query_time=$_GET["begin_query_time"];} + elseif (isset($_POST["begin_query_time"])) {$begin_query_time=$_POST["begin_query_time"];} +if (isset($_GET["end_query_time"])) {$end_query_time=$_GET["end_query_time"];} + elseif (isset($_POST["end_query_time"])) {$end_query_time=$_POST["end_query_time"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and modify_servers='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +# path from root to where ploticus files will be stored +$PLOTroot = "vicidial/ploticus"; +$DOCroot = "$WeBServeRRooT/$PLOTroot/"; + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); + +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($begin_query_time)) {$begin_query_time = '09:00:00';} +if (!isset($end_query_time)) {$end_query_time = '15:30:00';} +if (!isset($group)) {$group = '';} + +$stmt="select server_ip from servers;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$servers_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $servers_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Server Performance\n"; +echo "
\n"; +echo "Date:   \n"; +echo "Time: \n"; +echo "to \n"; +echo "Server: \n"; +echo "\n"; +echo "             REPORTS \n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$group)
+{
+echo "\n";
+echo "PLEASE SELECT A SERVER, DATE AND TIME RANGE ABOVE AND CLICK SUBMIT\n";
+}
+
+else
+{
+
+$query_date_BEGIN = "$query_date $begin_query_time";   
+$query_date_END = "$query_date $end_query_time";
+$time_BEGIN = "$begin_query_time";   
+$time_END = "$end_query_time";
+
+echo "VICIDIAL: Server Performance                             $NOW_TIME\n";
+
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- TOTALS, PEAKS and AVERAGES\n";
+
+$stmt="select AVG(sysload),AVG(channels_total),MAX(sysload),MAX(channels_total),MAX(processes) from server_performance where start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and server_ip='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$AVGload =	sprintf("%10s", $row[0]);
+$AVGchannels =	sprintf("%10s", $row[1]);
+$HIGHload =	$row[2];
+	$HIGHmulti = intval($HIGHload / 100);
+$HIGHchannels =	$row[3];
+$HIGHprocesses =$row[4];
+if ($row[2] > $row[3]) {$HIGHlimit = $row[2];}
+else {$HIGHlimit = $row[3];}
+if ($HIGHlimit < $row[4]) {$HIGHlimit = $row[4];}
+
+$stmt="select AVG(cpu_user_percent),AVG(cpu_system_percent),AVG(cpu_idle_percent) from server_performance where start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and server_ip='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$AVGcpuUSER =	sprintf("%10s", $row[0]);
+$AVGcpuSYSTEM =	sprintf("%10s", $row[1]);
+$AVGcpuIDLE =	sprintf("%10s", $row[2]);
+
+$stmt="select count(*),SUM(length_in_min) from call_log where extension NOT IN('8365','8366','8367') and  start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and server_ip='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$TOTALcalls =	sprintf("%10s", $row[0]);
+$OFFHOOKtime =	sprintf("%10s", $row[1]);
+
+
+echo "Total Calls in/out on this server:        $TOTALcalls\n";
+echo "Total Off-Hook time on this server (min): $OFFHOOKtime\n";
+echo "Average/Peak channels in use for server:  $AVGchannels / $HIGHchannels\n";
+echo "Average/Peak load for server:             $AVGload / $HIGHload\n";
+echo "Average USER process cpu percentage:      $AVGcpuUSER %\n";
+echo "Average SYSTEM process cpu percentage:    $AVGcpuSYSTEM %\n";
+echo "Average IDLE process cpu percentage:      $AVGcpuIDLE %\n";
+
+echo "\n";
+echo "---------- LINE GRAPH:\n";
+
+
+
+##############################
+#########  Graph stats
+
+$DAT = '.dat';
+$HTM = '.htm';
+$PNG = '.png';
+$filedate = date("Y-m-d_His");
+$DATfile = "$group$query_date$shift$filedate$DAT";
+$HTMfile = "$group$query_date$shift$filedate$HTM";
+$PNGfile = "$group$query_date$shift$filedate$PNG";
+
+$HTMfp = fopen ("$DOCroot/$HTMfile", "a");
+$DATfp = fopen ("$DOCroot/$DATfile", "a");
+
+$stmt="select DATE_FORMAT(start_time,'%H:%i:%s') as timex,sysload,processes,channels_total,live_recordings,cpu_user_percent,cpu_system_percent from server_performance where server_ip='" . mysql_real_escape_string($group) . "' and start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' order by timex;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$rows_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $rows_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$row[5] = intval(($row[5] + $row[6]) * $HIGHmulti);
+	$row[6] = intval($row[6] * $HIGHmulti);
+	fwrite ($DATfp, "$row[5]\t$row[6]\t$row[0]\t$row[1]\t$row[2]\t$row[3]\n");
+	$i++;
+	}
+fclose($DATfp);
+
+$rows_to_max = ($rows_to_print + 100);
+
+#print "rows: $i\n";
+
+$time_scale_abb = '5 minutes';
+$time_scale_tick = '1 minute';
+if ($i > 1000) {$time_scale_abb = '10 minutes';   $time_scale_tick = '2 minutes';}
+if ($i > 2000) {$time_scale_abb = '20 minutes';   $time_scale_tick = '4 minutes';}
+if ($i > 3000) {$time_scale_abb = '30 minutes';   $time_scale_tick = '5 minutes';}
+if ($i > 4000) {$time_scale_abb = '40 minutes';   $time_scale_tick = '10 minutes';}
+if ($i > 5000) {$time_scale_abb = '60 minutes';   $time_scale_tick = '15 minutes';}
+if ($i > 6000) {$time_scale_abb = '90 minutes';   $time_scale_tick = '15 minutes';}
+if ($i > 7000) {$time_scale_abb = '120 minutes';   $time_scale_tick = '30 minutes';}
+
+$HTMcontent  = '';
+$HTMcontent .= "#proc page\n";
+$HTMcontent .= "#if @DEVICE in png,gif\n";
+$HTMcontent .= "   scale: 0.6\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#endif\n";
+$HTMcontent .= "#proc getdata\n";
+$HTMcontent .= "file: $DOCroot/$DATfile\n";
+$HTMcontent .= "fieldnames: userproc sysproc time load processes channels\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc areadef\n";
+$HTMcontent .= "title: Server $group   $query_date_BEGIN to $query_date_END\n";
+$HTMcontent .= "titledetails: size=14  align=C\n";
+$HTMcontent .= "rectangle: 1 1 14 7\n";
+$HTMcontent .= "xscaletype: time hh:mm:ss\n";
+$HTMcontent .= "xrange: $time_BEGIN $time_END\n";
+$HTMcontent .= "yrange: 0 $HIGHlimit\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc xaxis\n";
+$HTMcontent .= "stubs: inc $time_scale_abb\n";
+$HTMcontent .= "minorticinc: $time_scale_tick\n";
+$HTMcontent .= "stubformat: hh:mm:ssa\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc yaxis\n";
+$HTMcontent .= "stubs: inc 50\n";
+$HTMcontent .= "grid: color=yellow\n";
+$HTMcontent .= "gridskip: min\n";
+$HTMcontent .= "ticincrement: 100 1000\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc lineplot\n";
+$HTMcontent .= "xfield: time\n";
+$HTMcontent .= "yfield: userproc\n";
+$HTMcontent .= "linedetails: color=purple width=.5\n";
+$HTMcontent .= "fill: lavender\n";
+$HTMcontent .= "legendlabel: user proc%\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc lineplot\n";
+$HTMcontent .= "xfield: time\n";
+$HTMcontent .= "yfield: sysproc\n";
+$HTMcontent .= "linedetails: color=yelloworange width=.5\n";
+$HTMcontent .= "fill: dullyellow\n";
+$HTMcontent .= "legendlabel: system proc%\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc curvefit\n";
+$HTMcontent .= "xfield: time\n";
+$HTMcontent .= "yfield: load\n";
+$HTMcontent .= "linedetails: color=blue width=.5\n";
+$HTMcontent .= "legendlabel: load\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc curvefit\n";
+$HTMcontent .= "xfield: time\n";
+$HTMcontent .= "yfield: processes\n";
+$HTMcontent .= "linedetails: color=red width=.5\n";
+$HTMcontent .= "legendlabel: processes\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc curvefit\n";
+$HTMcontent .= "xfield: time\n";
+$HTMcontent .= "yfield: channels\n";
+$HTMcontent .= "linedetails: color=green width=.5\n";
+$HTMcontent .= "legendlabel: channels\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc legend\n";
+$HTMcontent .= "location: max-2 max\n";
+$HTMcontent .= "seglen: 0.2\n";
+$HTMcontent .= "\n";
+
+fwrite ($HTMfp, "$HTMcontent");
+fclose($HTMfp);
+
+
+passthru("/usr/local/bin/pl -png $DOCroot/$HTMfile -o $DOCroot/$PNGfile");
+
+sleep(1);
+
+echo "
\n"; +echo "\n"; +echo "\n"; + + +echo ""; + +} + + + +?> + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeonVDAD.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeonVDAD.php new file mode 100644 index 00000000..5c3948f6 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeonVDAD.php @@ -0,0 +1,374 @@ + LICENSE: GPLv2 +### +# live real-time stats for the VICIDIAL Auto-Dialer +# +# CHANGES +# +# 60620-1037 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 61114-2004 - Changed to display CLOSER and DEFAULT, added trunk shortage +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];} + elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["closer_display"])) {$closer_display=$_GET["closer_display"];} + elseif (isset($_POST["closer_display"])) {$closer_display=$_POST["closer_display"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +$epochSIXhoursAGO = ($STARTtime - 21600); +$timeSIXhoursAGO = date("Y-m-d H:i:s",$epochSIXhoursAGO); + +$reset_counter++; + +if ($reset_counter > 7) + { + $reset_counter=0; + + $stmt="update park_log set status='HUNGUP' where hangup_time is not null;"; +# $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + + if ($DB) + { + $stmt="delete from park_log where grab_time < '$timeSIXhoursAGO' and (hangup_time is null or hangup_time='');"; +# $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + } + } + +?> + + + +\n"; +echo " + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On VDAD\n"; +echo "
";
+
+###################################################################################
+###### SERVER INFORMATION
+###################################################################################
+
+$stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats where server_ip='" . mysql_real_escape_string($server_ip) . "';";
+$rslt=mysql_query($stmt, $link);
+$row=mysql_fetch_row($rslt);
+$balanceSHORT = $row[0];
+
+echo "SERVER: $server_ip\n";
+
+
+
+###################################################################################
+###### TIME ON SYSTEM
+###################################################################################
+
+if ($closer_display>0) {$closer_display_reverse=0;   $closer_reverse_link='DEFAULT';}
+else {$closer_display_reverse=1;   $closer_reverse_link='CLOSER';}
+
+echo "VICIDIAL: Agents Time On Calls           $NOW_TIME    $closer_reverse_link | REPORTS\n\n";
+
+if ($closer_display>0)
+{
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+echo "| STATION    | USER   | SESSIONID | CHANNEL             | STATUS | CALLTIME | MINUTES | CAMPAIGN     | FRONT  |\n";
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+}
+else
+{
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+\n";
+echo "| STATION    | USER   | SESSIONID | CHANNEL             | STATUS | CALLTIME | MINUTES |\n";
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+\n";
+}
+
+$stmt="select extension,user,conf_exten,channel,status,last_call_time,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),uniqueid,lead_id from vicidial_live_agents where status NOT IN('PAUSED') and server_ip='" . mysql_real_escape_string($server_ip) . "' order by extension;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$talking_to_print = mysql_num_rows($rslt);
+	if ($talking_to_print > 0)
+	{
+	$i=0;
+	while ($i < $talking_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+			if (eregi("READY|PAUSED|CLOSER",$row[4]))
+			{
+			$row[3]='';
+			$row[5]='- WAIT -';
+			$row[6]=$row[7];
+			}
+		$extension[$i] = eregi_replace('Local/',"",$row[0]);
+		$extension[$i] =		sprintf("%-10s", $extension[$i]);
+			while(strlen($extension[$i])>10) {$extension[$i] = substr("$extension[$i]", 0, -1);}
+		$user[$i] =				sprintf("%-6s", $row[1]);
+		$sessionid[$i] =		sprintf("%-9s", $row[2]);
+		$channel[$i] =			sprintf("%-19s", $row[3]);
+			$cc[$i]=0;
+		while ( (strlen($channel[$i]) > 19) and ($cc[$i] < 100) )
+			{
+			$channel[$i] = eregi_replace(".$","",$channel[$i]);   
+			$cc[$i]++;
+			if (strlen($channel[$i]) <= 19) {$cc[$i]=101;}
+			}
+		$status[$i] =			sprintf("%-6s", $row[4]);
+		$start_time[$i] =		sprintf("%-8s", $row[5]);
+			$cd[$i]=0;
+		while ( (strlen($start_time[$i]) > 8) and ($cd[$i] < 100) )
+			{
+			$start_time[$i] = eregi_replace("^.","",$start_time[$i]);   
+			$cd[$i]++;
+			if (strlen($start_time[$i]) <= 8) {$cd[$i]=101;}
+			}
+		$uniqueid[$i] =			$row[8];
+		$lead_id[$i] =			$row[9];
+		$closer[$i] =			$row[1];
+		$call_time_S[$i] = ($STARTtime - $row[6]);
+
+		$call_time_M[$i] = ($call_time_S[$i] / 60);
+		$call_time_M[$i] = round($call_time_M[$i], 2);
+		$call_time_M_int[$i] = intval("$call_time_M[$i]");
+		$call_time_SEC[$i] = ($call_time_M[$i] - $call_time_M_int[$i]);
+		$call_time_SEC[$i] = ($call_time_SEC[$i] * 60);
+		$call_time_SEC[$i] = round($call_time_SEC[$i], 0);
+		if ($call_time_SEC[$i] < 10) {$call_time_SEC[$i] = "0$call_time_SEC[$i]";}
+		$call_time_MS[$i] = "$call_time_M_int[$i]:$call_time_SEC[$i]";
+		$call_time_MS[$i] =		sprintf("%7s", $call_time_MS[$i]);
+
+		if ($closer_display<1)
+			{
+			$G = '';		$EG = '';
+			if ($call_time_M_int[$i] >= 5) {$G=''; $EG='';}
+			if ($call_time_M_int[$i] >= 10) {$G=''; $EG='';}
+			if (eregi("PAUSED",$row[4])) 
+				{
+				if ($call_time_M_int >= 1) 
+					{$i++; continue;} 
+				else
+					{$G=''; $EG='';}
+				}
+			$agentcount++;
+			echo "| $G$extension[$i]$EG | $G$user[$i]$EG | $G$sessionid[$i]$EG | $G$channel[$i]$EG | $G$status[$i]$EG | $G$start_time[$i]$EG | $G$call_time_MS[$i]$EG |\n";
+			}
+		$i++;
+		}
+
+		if ($closer_display>0)
+		{
+
+			$ext_count = $i;
+			$i=0;
+		while ($i < $ext_count)
+			{
+
+			$stmt="select campaign_id from vicidial_auto_calls where lead_id='$lead_id[$i]' and server_ip='" . mysql_real_escape_string($server_ip) . "';";
+			$rslt=mysql_query($stmt, $link);
+			if ($DB) {echo "$stmt\n";}
+			$camp_to_print = mysql_num_rows($rslt);
+			if ($camp_to_print > 0)
+				{
+				$row=mysql_fetch_row($rslt);
+				$campaign = sprintf("%-12s", $row[0]);
+				$camp_color = $row[0];
+				}
+			else
+				{$campaign = 'DEAD        ';   	$camp_color = 'DEAD';}
+			if (eregi("READY|PAUSED|CLOSER",$status[$i]))
+				{$campaign = '            ';   	$camp_color = '';}
+
+			$stmt="select user from vicidial_xfer_log where lead_id='$lead_id[$i]' and closer='$closer[$i]' order by call_date desc limit 1;";
+			$rslt=mysql_query($stmt, $link);
+			if ($DB) {echo "$stmt\n";}
+			$xfer_to_print = mysql_num_rows($rslt);
+			if ($xfer_to_print > 0)
+				{
+				$row=mysql_fetch_row($rslt);
+				$fronter = sprintf("%-6s", $row[0]);
+				}
+			else
+				{$fronter = '      ';}
+
+			$G = '';		$EG = '';
+			$G=""; $EG='';
+		#	if ($call_time_M_int[$i] >= 5) {$G=''; $EG='';}
+		#	if ($call_time_M_int[$i] >= 10) {$G=''; $EG='';}
+
+			echo "| $G$extension[$i]$EG | $G$user[$i]$EG | $G$sessionid[$i]$EG | $G$channel[$i]$EG | $G$status[$i]$EG | $G$start_time[$i]$EG | $G$call_time_MS[$i]$EG | $G$campaign$EG | $G$fronter$EG |\n";
+
+			$i++;
+			}
+		echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+		echo "  $i Mittel geloggt innen auf Bediener $server_ip\n\n";
+	#	echo "             - 5 Minuten oder mehr beim Anruf\n";
+	#	echo "             - Über 10 Minuten beim Anruf\n";
+		}
+	else
+		{
+		echo "+------------|--------+-----------+---------------------+--------+----------+---------+\n";
+		echo "  $agentcount Mittel geloggt innen auf Bediener $server_ip\n\n";
+
+		echo "             - Pausierte Mittel\n";
+		echo "             - 5 Minuten oder mehr beim Anruf\n";
+		echo "             - Über 10 Minuten beim Anruf\n";
+		}
+
+	}
+	else
+	{
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	echo "*********************************KEINE MITTEL BEI DEN ANRUFEN*********************************\n";
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	}
+
+
+###################################################################################
+###### OUTBOUND CALLS
+###################################################################################
+#echo "\n\n";
+echo "----------------------------------------------------------------------------------------";
+echo "\n\n";
+echo "VICIDIAL: Time On VDAD            TRUNK SHORT: $balanceSHORT              $NOW_TIME\n\n";
+echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+echo "| CHANNEL             | STATUS | CAMPAIGN     | PHONE NUMBER       | CALLTIME | MINUTES |\n";
+echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+
+$stmt="select channel,status,campaign_id,phone_code,phone_number,call_time,UNIX_TIMESTAMP(call_time) from vicidial_auto_calls where status NOT IN('XFER') and server_ip='" . mysql_real_escape_string($server_ip) . "' order by auto_call_id desc;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$parked_to_print = mysql_num_rows($rslt);
+	if ($parked_to_print > 0)
+	{
+	$i=0;
+	while ($i < $parked_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+
+		$channel =			sprintf("%-19s", $row[0]);
+			$cc=0;
+		while ( (strlen($channel) > 19) and ($cc < 100) )
+			{
+			$channel = eregi_replace(".$","",$channel);   
+			$cc++;
+			if (strlen($channel) <= 19) {$cc=101;}
+			}
+		$start_time =		sprintf("%-8s", $row[5]);
+			$cd=0;
+		while ( (strlen($start_time) > 8) and ($cd < 100) )
+			{
+			$start_time = eregi_replace("^.","",$start_time);   
+			$cd++;
+			if (strlen($start_time) <= 8) {$cd=101;}
+			}
+		$status =			sprintf("%-6s", $row[1]);
+		$campaign =			sprintf("%-12s", $row[2]);
+			$all_phone = "$row[3]$row[4]";
+		$number_dialed =	sprintf("%-18s", $all_phone);
+		$call_time_S = ($STARTtime - $row[6]);
+
+		$call_time_M = ($call_time_S / 60);
+		$call_time_M = round($call_time_M, 2);
+		$call_time_M_int = intval("$call_time_M");
+		$call_time_SEC = ($call_time_M - $call_time_M_int);
+		$call_time_SEC = ($call_time_SEC * 60);
+		$call_time_SEC = round($call_time_SEC, 0);
+		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+		$call_time_MS = "$call_time_M_int:$call_time_SEC";
+		$call_time_MS =		sprintf("%7s", $call_time_MS);
+		$G = '';		$EG = '';
+		if (eregi("LIVE",$status)) {$G=''; $EG='';}
+	#	if ($call_time_M_int >= 6) {$G=''; $EG='';}
+
+		echo "| $G$channel$EG | $G$status$EG | $G$campaign$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+		$i++;
+		}
+
+		echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+		echo "  $i Anrufe, die auf Bediener gesetzt werden $server_ip\n\n";
+
+		echo "             - PHASENCANKLOPFEN\n";
+	#	echo "             - Over 5 minutes on hold\n";
+
+		}
+	else
+	{
+	echo "***************************************************************************************\n";
+	echo "***************************************************************************************\n";
+	echo "*******************************KEIN PHASENCANKLOPFEN*********************************\n";
+	echo "***************************************************************************************\n";
+	echo "***************************************************************************************\n";
+	}
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeonVDAD_closer.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeonVDAD_closer.php new file mode 100644 index 00000000..cd820afc --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeonVDAD_closer.php @@ -0,0 +1,318 @@ + LICENSE: GPLv2 +### +# live real-time stats for the VICIDIAL Auto-Dialer +# +# CHANGES +# +# 60620-1037 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];} + elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +$epochSIXhoursAGO = ($STARTtime - 21600); +$timeSIXhoursAGO = date("Y-m-d H:i:s",$epochSIXhoursAGO); + +$reset_counter++; + +if ($reset_counter > 7) + { + $reset_counter=0; + + $stmt="update park_log set status='HUNGUP' where hangup_time is not null;"; +# $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + + if ($DB) + { + $stmt="delete from park_log where grab_time < '$timeSIXhoursAGO' and (hangup_time is null or hangup_time='');"; +# $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + } + } + +?> + + + +\n"; +echo " + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On VDAD\n"; +echo "
";
+
+###################################################################################
+###### TIME ON SYSTEM
+###################################################################################
+
+echo "VICIDIAL: Mittel Setzen Bei den Anrufen Zeit fest        $NOW_TIME    REPORTS\n\n";
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+echo "| STATION    | USER   | SESSIONID | CHANNEL             | STATUS | CALLTIME | MINUTES | CAMPAIGN     | FRONT  |\n";
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+
+
+$stmt="select extension,user,conf_exten,channel,status,last_call_time,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),uniqueid,lead_id from vicidial_live_agents where status NOT IN('PAUSED') and server_ip='" . mysql_real_escape_string($server_ip) . "' order by extension;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$talking_to_print = mysql_num_rows($rslt);
+	if ($talking_to_print > 0)
+	{
+	$i=0;
+	while ($i < $talking_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+			if (eregi("READY|PAUSED|CLOSER",$row[4]))
+			{
+			$row[3]='';
+			$row[5]='- WAIT -';
+			$row[6]=$row[7];
+			}
+		$extension[$i] = eregi_replace('Local/',"",$row[0]);
+		$extension[$i] =		sprintf("%-10s", $extension[$i]);
+			while(strlen($extension[$i])>10) {$extension[$i] = substr("$extension[$i]", 0, -1);}
+		$user[$i] =				sprintf("%-6s", $row[1]);
+		$sessionid[$i] =		sprintf("%-9s", $row[2]);
+		$channel[$i] =			sprintf("%-19s", $row[3]);
+			$cc[$i]=0;
+		while ( (strlen($channel[$i]) > 19) and ($cc[$i] < 100) )
+			{
+			$channel[$i] = eregi_replace(".$","",$channel[$i]);   
+			$cc[$i]++;
+			if (strlen($channel[$i]) <= 19) {$cc[$i]=101;}
+			}
+		$status[$i] =			sprintf("%-6s", $row[4]);
+		$start_time[$i] =		sprintf("%-8s", $row[5]);
+			$cd[$i]=0;
+		while ( (strlen($start_time[$i]) > 8) and ($cd[$i] < 100) )
+			{
+			$start_time[$i] = eregi_replace("^.","",$start_time[$i]);   
+			$cd[$i]++;
+			if (strlen($start_time[$i]) <= 8) {$cd[$i]=101;}
+			}
+		$uniqueid[$i] =			$row[8];
+		$lead_id[$i] =			$row[9];
+		$closer[$i] =			$row[1];
+		$call_time_S[$i] = ($STARTtime - $row[6]);
+
+		$call_time_M[$i] = ($call_time_S[$i] / 60);
+		$call_time_M[$i] = round($call_time_M[$i], 2);
+		$call_time_M_int[$i] = intval("$call_time_M[$i]");
+		$call_time_SEC[$i] = ($call_time_M[$i] - $call_time_M_int[$i]);
+		$call_time_SEC[$i] = ($call_time_SEC[$i] * 60);
+		$call_time_SEC[$i] = round($call_time_SEC[$i], 0);
+		if ($call_time_SEC[$i] < 10) {$call_time_SEC[$i] = "0$call_time_SEC[$i]";}
+		$call_time_MS[$i] = "$call_time_M_int[$i]:$call_time_SEC[$i]";
+		$call_time_MS[$i] =		sprintf("%7s", $call_time_MS[$i]);
+		$i++;
+		}
+		$ext_count = $i;
+		$i=0;
+	while ($i < $ext_count)
+		{
+
+		$stmt="select campaign_id from vicidial_auto_calls where lead_id='$lead_id[$i]' and server_ip='" . mysql_real_escape_string($server_ip) . "';";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$camp_to_print = mysql_num_rows($rslt);
+		if ($camp_to_print > 0)
+			{
+			$row=mysql_fetch_row($rslt);
+			$campaign = sprintf("%-12s", $row[0]);
+			$camp_color = $row[0];
+			}
+		else
+			{$campaign = 'DEAD        ';   	$camp_color = 'DEAD';}
+		if (eregi("READY|PAUSED|CLOSER",$status[$i]))
+			{$campaign = '            ';   	$camp_color = '';}
+
+		$stmt="select user from vicidial_xfer_log where lead_id='$lead_id[$i]' and closer='$closer[$i]' order by call_date desc limit 1;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$xfer_to_print = mysql_num_rows($rslt);
+		if ($xfer_to_print > 0)
+			{
+			$row=mysql_fetch_row($rslt);
+			$fronter = sprintf("%-6s", $row[0]);
+			}
+		else
+			{$fronter = '      ';}
+
+		$G = '';		$EG = '';
+		$G=""; $EG='';
+	#	if ($call_time_M_int[$i] >= 5) {$G=''; $EG='';}
+	#	if ($call_time_M_int[$i] >= 10) {$G=''; $EG='';}
+
+		echo "| $G$extension[$i]$EG | $G$user[$i]$EG | $G$sessionid[$i]$EG | $G$channel[$i]$EG | $G$status[$i]$EG | $G$start_time[$i]$EG | $G$call_time_MS[$i]$EG | $G$campaign$EG | $G$fronter$EG |\n";
+
+		$i++;
+		}
+
+		echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+		echo "  $i Mittel geloggt innen auf Bediener $server_ip\n\n";
+
+	#	echo "             - 5 Minuten oder mehr beim Anruf\n";
+	#	echo "             - Über 10 Minuten beim Anruf\n";
+
+	}
+	else
+	{
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	echo "*********************************KEINE MITTEL BEI DEN ANRUFEN*********************************\n";
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	}
+
+
+###################################################################################
+###### OUTBOUND CALLS
+###################################################################################
+#echo "\n\n";
+echo "----------------------------------------------------------------------------------------";
+echo "\n\n";
+echo "VICIDIAL: Time On VDAD                                              $NOW_TIME\n\n";
+echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+echo "| CHANNEL             | STATUS | CAMPAIGN     | PHONE NUMBER       | CALLTIME | MINUTES |\n";
+echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+
+#$link=mysql_connect("localhost", "cron", "1234");
+# $linkX=mysql_connect("localhost", "cron", "1234");
+#mysql_select_db("asterisk");
+
+$stmt="select channel,status,campaign_id,phone_code,phone_number,call_time,UNIX_TIMESTAMP(call_time) from vicidial_auto_calls where status NOT IN('XFER') and server_ip='" . mysql_real_escape_string($server_ip) . "' order by auto_call_id desc;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$parked_to_print = mysql_num_rows($rslt);
+	if ($parked_to_print > 0)
+	{
+	$i=0;
+	while ($i < $parked_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+
+		$channel =			sprintf("%-19s", $row[0]);
+			$cc=0;
+		while ( (strlen($channel) > 19) and ($cc < 100) )
+			{
+			$channel = eregi_replace(".$","",$channel);   
+			$cc++;
+			if (strlen($channel) <= 19) {$cc=101;}
+			}
+		$start_time =		sprintf("%-8s", $row[5]);
+			$cd=0;
+		while ( (strlen($start_time) > 8) and ($cd < 100) )
+			{
+			$start_time = eregi_replace("^.","",$start_time);   
+			$cd++;
+			if (strlen($start_time) <= 8) {$cd=101;}
+			}
+		$status =			sprintf("%-6s", $row[1]);
+		$campaign =			sprintf("%-12s", $row[2]);
+			$all_phone = "$row[3]$row[4]";
+		$number_dialed =	sprintf("%-18s", $all_phone);
+		$call_time_S = ($STARTtime - $row[6]);
+
+		$call_time_M = ($call_time_S / 60);
+		$call_time_M = round($call_time_M, 2);
+		$call_time_M_int = intval("$call_time_M");
+		$call_time_SEC = ($call_time_M - $call_time_M_int);
+		$call_time_SEC = ($call_time_SEC * 60);
+		$call_time_SEC = round($call_time_SEC, 0);
+		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+		$call_time_MS = "$call_time_M_int:$call_time_SEC";
+		$call_time_MS =		sprintf("%7s", $call_time_MS);
+		$G = '';		$EG = '';
+		if (eregi("LIVE",$status)) {$G=''; $EG='';}
+	#	if ($call_time_M_int >= 6) {$G=''; $EG='';}
+
+		echo "| $G$channel$EG | $G$status$EG | $G$campaign$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+		$i++;
+		}
+
+		echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+		echo "  $i Anrufe, die auf Bediener gesetzt werden $server_ip\n\n";
+
+		echo "             - PHASENCANKLOPFEN\n";
+	#	echo "             - Over 5 minutes on hold\n";
+
+		}
+	else
+	{
+	echo "***************************************************************************************\n";
+	echo "***************************************************************************************\n";
+	echo "*******************************KEIN PHASENCANKLOPFEN*********************************\n";
+	echo "***************************************************************************************\n";
+	echo "***************************************************************************************\n";
+	}
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeonVDADall.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeonVDADall.php new file mode 100644 index 00000000..f74eda63 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeonVDADall.php @@ -0,0 +1,826 @@ + LICENSE: GPLv2 +# +# live real-time stats for the VICIDIAL Auto-Dialer all servers +# +# STOP=4000, SLOW=40, GO=4 seconds refresh interval +# +# CHANGELOG: +# 50406-0920 - Added Paused agents < 1 min (Chris Doyle) +# 51130-1218 - Modified layout and info to show all servers in a vicidial system +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60511-1343 - Added leads and drop info at the top of the screen +# 60608-1539 - Fixed CLOSER tallies for active calls +# 60619-1658 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 60626-1453 - Added display of system load to bottom (Angelito Manansala) +# 60901-1123 - Changed display elements at the top of the screen +# 60905-1342 - Fixed non INCALL|QUEUE timer column +# 61002-1642 - Added TRUNK SHORT/FILL stats +# 61101-1318 - Added SIP and IAX Listen and Barge links option +# 61101-1647 - Added Usergroup column and user name option as well as sorting +# 61102-1155 - Made display of columns more modular, added ability to hide server info +# 61215-1131 - Added answered calls and drop percent taken from answered calls +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70123-1151 - Added non_latin options for substr in display variables, thanks Marin Blu +# 70206-1140 - Added call-type statuses to display(A-Auto, M-Manual, I-Inbound/Closer) +# 70619-1339 - Added Status Category tally display +# 71029-1900 - Changed CLOSER-type to not require campaign_id restriction +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["RR"])) {$RR=$_GET["RR"];} + elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["usergroup"])) {$usergroup=$_GET["usergroup"];} + elseif (isset($_POST["usergroup"])) {$usergroup=$_POST["usergroup"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["adastats"])) {$adastats=$_GET["adastats"];} + elseif (isset($_POST["adastats"])) {$adastats=$_POST["adastats"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["SIPmonitorLINK"])) {$SIPmonitorLINK=$_GET["SIPmonitorLINK"];} + elseif (isset($_POST["SIPmonitorLINK"])) {$SIPmonitorLINK=$_POST["SIPmonitorLINK"];} +if (isset($_GET["IAXmonitorLINK"])) {$IAXmonitorLINK=$_GET["IAXmonitorLINK"];} + elseif (isset($_POST["IAXmonitorLINK"])) {$IAXmonitorLINK=$_POST["IAXmonitorLINK"];} +if (isset($_GET["UGdisplay"])) {$UGdisplay=$_GET["UGdisplay"];} + elseif (isset($_POST["UGdisplay"])) {$UGdisplay=$_POST["UGdisplay"];} +if (isset($_GET["UidORname"])) {$UidORname=$_GET["UidORname"];} + elseif (isset($_POST["UidORname"])) {$UidORname=$_POST["UidORname"];} +if (isset($_GET["orderby"])) {$orderby=$_GET["orderby"];} + elseif (isset($_POST["orderby"])) {$orderby=$_POST["orderby"];} +if (isset($_GET["SERVdisplay"])) {$SERVdisplay=$_GET["SERVdisplay"];} + elseif (isset($_POST["SERVdisplay"])) {$SERVdisplay=$_POST["SERVdisplay"];} + + + +if (!isset($RR)) {$gRRroup=4;} +if (!isset($group)) {$group='';} +if (!isset($usergroup)) {$usergroup='';} +if (!isset($UGdisplay)) {$UGdisplay=0;} # 0=no, 1=yes +if (!isset($UidORname)) {$UidORname=0;} # 0=id, 1=name +if (!isset($orderby)) {$orderby='timeup';} +if (!isset($SERVdisplay)) {$SERVdisplay=1;} # 0=no, 1=yes + +function get_server_load($windows = false) { +$os = strtolower(PHP_OS); +if(strpos($os, "win") === false) { +if(file_exists("/proc/loadavg")) { +$load = file_get_contents("/proc/loadavg"); +$load = explode(' ', $load); +return $load[0]; +} +elseif(function_exists("shell_exec")) { +$load = explode(' ', `uptime`); +return $load[count($load)-1]; +} +else { +return false; +} +} +elseif($windows) { +if(class_exists("COM")) { +$wmi = new COM("WinMgmts:\\\\."); +$cpus = $wmi->InstancesOf("Win32_Processor"); + +$cpuload = 0; +$i = 0; +while ($cpu = $cpus->Next()) { +$cpuload += $cpu->LoadPercentage; +$i++; +} + +$cpuload = round($cpuload / $i, 2); +return "$cpuload%"; +} +else { +return false; +} +} +} + +$load_ave = get_server_load(true); + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$NOW_DAY = date("Y-m-d"); +$NOW_HOUR = date("H:i:s"); +$STARTtime = date("U"); +$epochSIXhoursAGO = ($STARTtime - 21600); +$timeSIXhoursAGO = date("Y-m-d H:i:s",$epochSIXhoursAGO); + +$stmt="select campaign_id from vicidial_campaigns where active='Y';"; +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + +$stmt="select * from vicidial_user_groups;"; +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$usergroups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $usergroups_to_print) + { + $row=mysql_fetch_row($rslt); + $usergroups[$i] =$row[0]; + $i++; + } + +if (!isset($RR)) {$RR=4;} + +$NFB = ''; +$NFE = ''; +$F=''; $FG=''; $B=''; $BG=''; + +?> + + + + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On VDAD Kampagne: $group\n"; +echo "
\n"; +echo "VICIDIAL Kampagne: \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +if ($UGdisplay > 0) + { + echo "\n"; + } +echo "         \n"; +echo "STOP | "; +echo "SLOW | "; +echo "GO"; +echo "       ÄNDERN Sie | \n"; +echo "SUMMARY | \n"; +echo "REPORTS \n"; +echo "\n\n"; + + +if (!$group) {echo "

please select a campaign from the pulldown above
\n"; exit;} +else +{ +$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select avg(auto_dial_level),min(dial_status_a),min(dial_status_b),min(dial_status_c),min(dial_status_d),min(dial_status_e),min(lead_order),min(lead_filter_id),sum(hopper_level),min(dial_method),avg(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),min(available_only_ratio_tally),min(adaptive_latest_server_time),min(local_call_time),avg(dial_timeout),min(dial_statuses) from vicidial_campaigns;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DIALlev = $row[0]; +$DIALstatusA = $row[1]; +$DIALstatusB = $row[2]; +$DIALstatusC = $row[3]; +$DIALstatusD = $row[4]; +$DIALstatusE = $row[5]; +$DIALorder = $row[6]; +$DIALfilter = $row[7]; +$HOPlev = $row[8]; +$DIALmethod = $row[9]; +$maxDIALlev = $row[10]; +$DROPmax = $row[11]; +$targetDIFF = $row[12]; +$ADAintense = $row[13]; +$ADAavailonly = $row[14]; +$TAPERtime = $row[15]; +$CALLtime = $row[16]; +$DIALtimeout = $row[17]; +$DIALstatuses = $row[18]; + $DIALstatuses = (preg_replace("/ -$|^ /","",$DIALstatuses)); + $DIALstatuses = (ereg_replace(' ',', ',$DIALstatuses)); + +$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select count(*) from vicidial_hopper;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VDhop = $row[0]; + +$stmt="select dialable_leads,calls_today,drops_today,drops_answers_today_pct,differential_onemin,agents_average_onemin,balance_trunk_fill,answers_today,status_category_1,status_category_count_1,status_category_2,status_category_count_2,status_category_3,status_category_count_3,status_category_4,status_category_count_4 from vicidial_campaign_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),min(status_category_1),sum(status_category_count_1),min(status_category_2),sum(status_category_count_2),min(status_category_3),sum(status_category_count_3),min(status_category_4),sum(status_category_count_4) from vicidial_campaign_stats;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DAleads = $row[0]; +$callsTODAY = $row[1]; +$dropsTODAY = $row[2]; +$drpctTODAY = $row[3]; +$diffONEMIN = $row[4]; +$agentsONEMIN = $row[5]; +$balanceFILL = $row[6]; +$answersTODAY = $row[7]; +$VSCcat1 = $row[8]; +$VSCcat1tally = $row[9]; +$VSCcat2 = $row[10]; +$VSCcat2tally = $row[11]; +$VSCcat3 = $row[12]; +$VSCcat3tally = $row[13]; +$VSCcat4 = $row[14]; +$VSCcat4tally = $row[15]; + +if ( ($diffONEMIN != 0) and ($agentsONEMIN > 0) ) + { + $diffpctONEMIN = ( ($diffONEMIN / $agentsONEMIN) * 100); + $diffpctONEMIN = sprintf("%01.2f", $diffpctONEMIN); + } +else {$diffpctONEMIN = '0.00';} + +$stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$balanceSHORT = $row[0]; + +echo "
"; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +if ($adastats>1) + { + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; + + + + +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "
DIAL LEVEL:  $DIALlev    TRUNK SHORT/FILL:  $balanceSHORT / $balanceFILL     FILTER:  $DIALfilter   TIME:   $NOW_TIME
- min   MAX LEVEL:  $maxDIALlev   DROPPED MAX:  $DROPmax%    TARGET DIFF:  $targetDIFF     INTENSITY:  $ADAintense    
DIAL TIMEOUT:  $DIALtimeout  TAPER TIME:  $TAPERtime  LOCAL TIME:  $CALLtime  AVAIL ONLY:  $ADAavailonly  
DIALABLE LEADS:  $DAleads     CALLS TODAY:  $callsTODAY     AVG AGENTS:  $agentsONEMIN     DIAL METHOD:  $DIALmethod    
HOPPER LEVEL:  $HOPlev     DROPPED / ANSWERED:  $dropsTODAY / $answersTODAY   DL DIFF:  $diffONEMIN     STATUSES:  $DIALstatuses    
LEADS IN HOPPER:  $VDhop     DROPPED PERCENT:  "; +if ($drpctTODAY >= $DROPmax) + {echo "$drpctTODAY%";} +else + {echo "$drpctTODAY%";} +echo "    DIFF:  $diffpctONEMIN%     ORDER:  $DIALorder    
"; +if ( (!eregi('NULL',$VSCcat1)) and (strlen($VSCcat1)>0) ) + {echo "$VSCcat1:   $VSCcat1tally       \n";} +if ( (!eregi('NULL',$VSCcat2)) and (strlen($VSCcat2)>0) ) + {echo "$VSCcat2:   $VSCcat2tally       \n";} +if ( (!eregi('NULL',$VSCcat3)) and (strlen($VSCcat3)>0) ) + {echo "$VSCcat3:   $VSCcat3tally       \n";} +if ( (!eregi('NULL',$VSCcat4)) and (strlen($VSCcat4)>0) ) + {echo "$VSCcat4:   $VSCcat4tally       \n";} +echo "
"; + +if ($adastats<2) + { + echo "+ VIEW MORE SETTINGS"; + } +if ($UGdisplay>0) + { + echo "       Verberge USER GROUP"; + } +else + { + echo "       VIEW USER GROUP"; + } +if ($UidORname>0) + { + echo "       Zeige MITTELID"; + } +else + { + echo "       Zeige MITTELNAME"; + } +if ($SERVdisplay>0) + { + echo "       Verberge BEDIENERINFO"; + } +else + { + echo "       Zeige BEDIENERINFO"; + } +echo "
"; + +echo "\n\n"; +} +################################################################################### +###### OUTBOUND CALLS +################################################################################### +if ($campaign_allow_inbound > 0) + { + $stmt="select closer_campaigns from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = preg_replace("/^ | -$/","",$row[0]); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') and ( (call_type='IN' and campaign_id IN($closer_campaigns)) or (campaign_id='" . mysql_real_escape_string($group) . "' and call_type='OUT') );"; + } +else + { + if ($group=='XXXX-ALL-ACTIVE-XXXX') {$groupSQL = '';} + else {$groupSQL = " and campaign_id='" . mysql_real_escape_string($group) . "'";} + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') $groupSQL;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$parked_to_print = mysql_num_rows($rslt); + if ($parked_to_print > 0) + { + $i=0; + $out_total=0; + $out_ring=0; + $out_live=0; + while ($i < $parked_to_print) + { + $row=mysql_fetch_row($rslt); + + if (eregi("LIVE",$row[0])) + {$out_live++;} + else + { + if (eregi("CLOSER",$row[0])) + {$nothing=1;} + else + {$out_ring++;} + } + $out_total++; + $i++; + } + + if ($out_live > 0) {$F=''; $FG='';} + if ($out_live > 4) {$F=''; $FG='';} + if ($out_live > 9) {$F=''; $FG='';} + if ($out_live > 14) {$F=''; $FG='';} + + if ($campaign_allow_inbound > 0) + {echo "$NFB$out_total$NFE current active calls      \n";} + else + {echo "$NFB$out_total$NFE calls being placed       \n";} + + echo "$NFB$out_ring$NFE calls ringing         \n"; + echo "$NFB$F  $out_live $FG$NFE calls waiting for agents       \n"; + } + else + { + echo "KEIN PHASENCANKLOPFEN\n"; + } + + +################################################################################### +###### TIME ON SYSTEM +################################################################################### + +$agent_incall=0; +$agent_ready=0; +$agent_paused=0; +$agent_total=0; + +$Aecho = ''; +$Aecho .= "VICIDIAL: Agents Time On Calls Kampagne: $group $NOW_TIME\n\n"; + + +$HDbegin = "+"; +$HTbegin = "|"; +$HDstation = "------------+"; +$HTstation = " STATION |"; +$HDuser = "--------------------+"; +$HTuser = " USER |"; +$HDusergroup = "--------------+"; +$HTusergroup = " USER GROUP |"; +$HDsessionid = "------------------+"; +$HTsessionid = " SESSIONID |"; +$HDbarge = "-------+"; +$HTbarge = " BARGE |"; +$HDstatus = "----------+"; +$HTstatus = " STATUS |"; +$HDserver_ip = "-----------------+"; +$HTserver_ip = " BEDIENERIP |"; +$HDcall_server_ip = "-----------------+"; +$HTcall_server_ip = " CALL BEDIENERIP |"; +$HDtime = "---------+"; +$HTtime = " MM:SS |"; +$HDcampaign = "------------+"; +$HTcampaign = " CAMPAIGN |"; + +if ($UGdisplay < 1) + { + $HDusergroup = ''; + $HTusergroup = ''; + } +if ( ($SIPmonitorLINK<1) && ($IAXmonitorLINK<1) ) + { + $HDsessionid = "-----------+"; + $HTsessionid = " SESSIONID |"; + } +if ( ($SIPmonitorLINK<2) && ($IAXmonitorLINK<2) ) + { + $HDbarge = ''; + $HTbarge = ''; + } +if ($SERVdisplay < 1) + { + $HDserver_ip = ''; + $HTserver_ip = ''; + $HDcall_server_ip = ''; + $HTcall_server_ip = ''; + } + + + +$Aline = "$HDbegin$HDstation$HDuser$HDusergroup$HDsessionid$HDbarge$HDstatus$HDserver_ip$HDcall_server_ip$HDtime$HDcampaign\n"; +$Bline = "$HTbegin$HTstation$HTuser$HTusergroup$HTsessionid$HTbarge$HTstatus$HTserver_ip$HTcall_server_ip$HTtime$HTcampaign\n"; +$Aecho .= "$Aline"; +$Aecho .= "$Bline"; +$Aecho .= "$Aline"; + +if ($orderby=='timeup') {$orderSQL='status,last_call_time';} +if ($orderby=='timedown') {$orderSQL='status desc,last_call_time desc';} +if ($orderby=='campaignup') {$orderSQL='campaign_id,status,last_call_time';} +if ($orderby=='campaigndown') {$orderSQL='campaign_id desc,status desc,last_call_time desc';} +if ($orderby=='groupup') {$orderSQL='user_group,status,last_call_time';} +if ($orderby=='groupdown') {$orderSQL='user_group desc,status desc,last_call_time desc';} +if ($UidORname > 0) + { + if ($orderby=='userup') {$orderSQL='full_name,status,last_call_time';} + if ($orderby=='userdown') {$orderSQL='full_name desc,status desc,last_call_time desc';} + } +else + { + if ($orderby=='userup') {$orderSQL='vicidial_live_agents.user';} + if ($orderby=='userdown') {$orderSQL='vicidial_live_agents.user desc';} + } + +if ($group=='XXXX-ALL-ACTIVE-XXXX') {$groupSQL = '';} +else {$groupSQL = " and campaign_id='" . mysql_real_escape_string($group) . "'";} +if (strlen($usergroup)<1) {$usergroupSQL = '';} +else {$usergroupSQL = " and user_group='" . mysql_real_escape_string($usergroup) . "'";} + +$stmt="select extension,vicidial_live_agents.user,conf_exten,status,server_ip,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),call_server_ip,campaign_id,vicidial_users.user_group,vicidial_users.full_name,vicidial_live_agents.comments from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user $groupSQL $usergroupSQL order by $orderSQL;"; + +#$stmt="select extension,vicidial_live_agents.user,conf_exten,status,server_ip,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),call_server_ip,campaign_id,vicidial_users.user_group,vicidial_users.full_name from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user and campaign_id='" . mysql_real_escape_string($group) . "' order by $orderSQL;"; + +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + $agentcount=0; + while ($i < $talking_to_print) + { + $row=mysql_fetch_row($rslt); + if (eregi("READY|PAUSED",$row[3])) + { + $row[5]=$row[6]; + } + if ($non_latin < 1) + { + $extension = eregi_replace('Local/',"",$row[0]); + $extension = sprintf("%-10s", $extension); + while(strlen($extension)>10) {$extension = substr("$extension", 0, -1);} + } + else + { + $extension = eregi_replace('Local/',"",$row[0]); + $extension = sprintf("%-40s", $extension); + while(mb_strlen($extension, 'utf-8')>10) {$extension = mb_substr("$extension", 0, -1,'utf8');} + } + $Luser = $row[1]; + $user = sprintf("%-18s", $row[1]); + $Lsessionid = $row[2]; + $sessionid = sprintf("%-9s", $row[2]); + $Lstatus = $row[3]; + $status = sprintf("%-6s", $row[3]); + $server_ip = sprintf("%-15s", $row[4]); + $call_server_ip = sprintf("%-15s", $row[7]); + $campaign_id = sprintf("%-10s", $row[8]); + $comments= $row[11]; + + if (eregi("INCALL",$Lstatus)) + { + if ( (eregi("AUTO",$comments)) or (strlen($comments)<1) ) + {$CM='A';} + else + { + if (eregi("INBOUND",$comments)) + {$CM='I';} + else + {$CM='M';} + } + } + else {$CM=' ';} + + if ($UGdisplay > 0) + { + if ($non_latin < 1) + { + $user_group = sprintf("%-12s", $row[9]); + while(strlen($user_group)>12) {$user_group = substr("$user_group", 0, -1);} + } + else + { + $user_group = sprintf("%-40s", $row[9]); + while(mb_strlen($user_group, 'utf-8')>12) {$user_group = mb_substr("$user_group", 0, -1,'utf8');} + } + } + if ($UidORname > 0) + { + if ($non_latin < 1) + { + $user = sprintf("%-18s", $row[10]); + while(strlen($user)>18) {$user = substr("$user", 0, -1);} + } + else + { + $user = sprintf("%-40s", $row[10]); + while(mb_strlen($user, 'utf-8')>18) {$user = mb_substr("$user", 0, -1,'utf8');} + } + } + if (!eregi("INCALL|QUEUE",$row[3])) + {$call_time_S = ($STARTtime - $row[6]);} + else + {$call_time_S = ($STARTtime - $row[5]);} + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + if ($Lstatus=='INCALL') + { + if ($call_time_S >= 10) {$G=''; $EG='';} + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + # if ($call_time_M_int >= 10) {$G=''; $EG='';} + } + if (eregi("PAUSED",$row[3])) + { + if ($call_time_M_int >= 30) + {$i++; continue;} + else + { + $agent_paused++; $agent_total++; + $G=''; $EG=''; + if ($call_time_S >= 10) {$G=''; $EG='';} + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + } + } +# if ( (strlen($row[7])> 4) and ($row[7] != "$row[4]") ) +# {$G=''; $EG='';} + + if ( (eregi("INCALL",$status)) or (eregi("QUEUE",$status)) ) {$agent_incall++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) {$agent_ready++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) + { + $G=''; $EG=''; + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + } + + $L=''; + $R=''; + if ($SIPmonitorLINK>0) {$L=" LISTEN"; $R='';} + if ($IAXmonitorLINK>0) {$L=" LISTEN"; $R='';} + if ($SIPmonitorLINK>1) {$R=" | BARGE";} + if ($IAXmonitorLINK>1) {$R=" | BARGE";} + + if ($UGdisplay > 0) {$UGD = " $G$user_group$EG |";} + else {$UGD = "";} + + if ($SERVdisplay > 0) {$SVD = "$G$server_ip$EG | $G$call_server_ip$EG | ";} + else {$SVD = "";} + + $agentcount++; + + $Aecho .= "| $G$extension$EG | $G$user$EG |$UGD $G$sessionid$EG$L$R | $G$status$EG $CM | $SVD$G$call_time_MS$EG | $G$campaign_id$EG |\n"; + + $i++; + } + + $Aecho .= "$Aline"; + $Aecho .= " $agentcount agents logged in on all servers\n"; + $Aecho .= " System Load Average: $load_ave\n\n"; + + # $Aecho .= " - Balanced call\n"; + $Aecho .= " - Agent waiting for call\n"; + $Aecho .= " - Agent waiting for call > 1 minute\n"; + $Aecho .= " - Agent waiting for call > 5 minutes\n"; + $Aecho .= " - Agent on call > 10 seconds\n"; + $Aecho .= " - Agent on call > 1 minute\n"; + $Aecho .= " - Agent on call > 5 minutes\n"; + $Aecho .= " - Agent Paused > 10 seconds\n"; + $Aecho .= " - Agent Paused > 1 minute\n"; + $Aecho .= " - Agent Paused > 5 minutes\n"; + + if ($agent_ready > 0) {$B=''; $BG='';} + if ($agent_ready > 4) {$B=''; $BG='';} + if ($agent_ready > 9) {$B=''; $BG='';} + if ($agent_ready > 14) {$B=''; $BG='';} + + + echo "\n
\n"; + + echo "$NFB$agent_total$NFE agents logged in         \n"; + echo "$NFB$agent_incall$NFE agents in calls       \n"; + echo "$NFB$B  $agent_ready $BG$NFE agents waiting       \n"; + echo "$NFB$agent_paused$NFE paused agents       \n"; + + echo "
";
+		echo "";
+		echo "$Aecho";
+	}
+	else
+	{
+	echo "KEINE MITTEL BEI DEN ANRUFEN\n";
+	}
+
+?>
+
+ + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeonVDADallSUMMARY.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeonVDADallSUMMARY.php new file mode 100644 index 00000000..44368875 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeonVDADallSUMMARY.php @@ -0,0 +1,442 @@ + LICENSE: GPLv2 +# +# Summary for all campaigns live real-time stats for the VICIDIAL Auto-Dialer all servers +# +# STOP=4000, SLOW=40, GO=4 seconds refresh interval +# +# changes: +# 61102-1616 - first build +# 61215-1131 - added answered calls and drop percent taken from answered calls +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70619-1339 - Added Status Category tally display +# 71029-1900 - Changed CLOSER-type to not require campaign_id restriction +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["RR"])) {$RR=$_GET["RR"];} + elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["adastats"])) {$adastats=$_GET["adastats"];} + elseif (isset($_POST["adastats"])) {$adastats=$_POST["adastats"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +if (!isset($RR)) {$gRRroup=4;} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); + +$stmt="select campaign_id from vicidial_campaigns where active='Y';"; +$rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + +if (!isset($RR)) {$RR=4;} + +?> + + + + + +\n"; +echo "VICIDIAL: Realtime All Kampagnen Summary\n"; +echo "VICIDIAL: Realtime All Kampagnen Summary           \n"; +echo "STOP | "; +echo "SLOW | "; +echo "GO "; +echo "       \n"; +if ($adastats<2) + { + echo "+ VIEW MORE SETTINGS"; + } +else + { + echo "- VIEW LESS SETTINGS"; + } +echo "       REPORTS"; +echo "

\n\n"; + +$k=0; +while($k<$groups_to_print) +{ +$NFB = ''; +$NFE = ''; +$F=''; $FG=''; $B=''; $BG=''; + +$group = $groups[$k]; +echo "$group   -   "; +echo "Modify\n"; + + +$stmt = "select count(*) from vicidial_campaigns where campaign_id='$group' and campaign_allow_inbound='Y';"; +$rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $campaign_allow_inbound = $row[0]; + +$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DIALlev = $row[0]; +$DIALstatusA = $row[1]; +$DIALstatusB = $row[2]; +$DIALstatusC = $row[3]; +$DIALstatusD = $row[4]; +$DIALstatusE = $row[5]; +$DIALorder = $row[6]; +$DIALfilter = $row[7]; +$HOPlev = $row[8]; +$DIALmethod = $row[9]; +$maxDIALlev = $row[10]; +$DROPmax = $row[11]; +$targetDIFF = $row[12]; +$ADAintense = $row[13]; +$ADAavailonly = $row[14]; +$TAPERtime = $row[15]; +$CALLtime = $row[16]; +$DIALtimeout = $row[17]; +$DIALstatuses = $row[18]; + $DIALstatuses = (preg_replace("/ -$|^ /","",$DIALstatuses)); + $DIALstatuses = (ereg_replace(' ',', ',$DIALstatuses)); + +$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VDhop = $row[0]; + +$stmt="select dialable_leads,calls_today,drops_today,drops_answers_today_pct,differential_onemin,agents_average_onemin,balance_trunk_fill,answers_today,status_category_1,status_category_count_1,status_category_2,status_category_count_2,status_category_3,status_category_count_3,status_category_4,status_category_count_4 from vicidial_campaign_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DAleads = $row[0]; +$callsTODAY = $row[1]; +$dropsTODAY = $row[2]; +$drpctTODAY = $row[3]; +$diffONEMIN = $row[4]; +$agentsONEMIN = $row[5]; +$balanceFILL = $row[6]; +$answersTODAY = $row[7]; +$VSCcat1 = $row[8]; +$VSCcat1tally = $row[9]; +$VSCcat2 = $row[10]; +$VSCcat2tally = $row[11]; +$VSCcat3 = $row[12]; +$VSCcat3tally = $row[13]; +$VSCcat4 = $row[14]; +$VSCcat4tally = $row[15]; + +if ( ($diffONEMIN != 0) and ($agentsONEMIN > 0) ) + { + $diffpctONEMIN = ( ($diffONEMIN / $agentsONEMIN) * 100); + $diffpctONEMIN = sprintf("%01.2f", $diffpctONEMIN); + } +else {$diffpctONEMIN = '0.00';} + +$stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$balanceSHORT = $row[0]; + +echo "
"; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +if ($adastats>1) + { + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "
DIAL LEVEL:  $DIALlev    TRUNK SHORT/FILL:  $balanceSHORT / $balanceFILL     FILTER:  $DIALfilter   TIME:   $NOW_TIME
  MAX LEVEL:  $maxDIALlev   DROPPED MAX:  $DROPmax%    TARGET DIFF:  $targetDIFF     INTENSITY:  $ADAintense    
DIAL TIMEOUT:  $DIALtimeout  TAPER TIME:  $TAPERtime  LOCAL TIME:  $CALLtime  AVAIL ONLY:  $ADAavailonly  
DIALABLE LEADS:  $DAleads     CALLS TODAY:  $callsTODAY     AVG AGENTS:  $agentsONEMIN     DIAL METHOD:  $DIALmethod    
HOPPER LEVEL:  $HOPlev     DROPPED / ANSWERED:  $dropsTODAY / $answersTODAY   DL DIFF:  $diffONEMIN     STATUSES:  $DIALstatuses    
LEADS IN HOPPER:  $VDhop     DROPPED PERCENT:  "; +if ($drpctTODAY >= $DROPmax) + {echo "$drpctTODAY%";} +else + {echo "$drpctTODAY%";} +echo "    DIFF:  $diffpctONEMIN%     ORDER:  $DIALorder    
"; +if ( (!eregi('NULL',$VSCcat1)) and (strlen($VSCcat1)>0) ) + {echo "$VSCcat1:   $VSCcat1tally       \n";} +if ( (!eregi('NULL',$VSCcat2)) and (strlen($VSCcat2)>0) ) + {echo "$VSCcat2:   $VSCcat2tally       \n";} +if ( (!eregi('NULL',$VSCcat3)) and (strlen($VSCcat3)>0) ) + {echo "$VSCcat3:   $VSCcat3tally       \n";} +if ( (!eregi('NULL',$VSCcat4)) and (strlen($VSCcat4)>0) ) + {echo "$VSCcat4:   $VSCcat4tally       \n";} +echo "
"; + +### Header finish + + + + + +################################################################################ +### START calculating calls/agents +################################################################################ + +################################################################################ +###### OUTBOUND CALLS +################################################################################ +if ($campaign_allow_inbound > 0) + { + $stmt="select closer_campaigns from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = preg_replace("/^ | -$/","",$row[0]); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') and ( (call_type='IN' and campaign_id IN($closer_campaigns)) or (campaign_id='" . mysql_real_escape_string($group) . "' and call_type='OUT') );"; + } +else + { + if ($group=='XXXX-ALL-ACTIVE-XXXX') {$groupSQL = '';} + else {$groupSQL = " and campaign_id='" . mysql_real_escape_string($group) . "'";} + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') $groupSQL;"; + } +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$parked_to_print = mysql_num_rows($rslt); + if ($parked_to_print > 0) + { + $i=0; + $out_total=0; + $out_ring=0; + $out_live=0; + while ($i < $parked_to_print) + { + $row=mysql_fetch_row($rslt); + + if (eregi("LIVE",$row[0])) + {$out_live++;} + else + { + if (eregi("CLOSER",$row[0])) + {$nothing=1;} + else + {$out_ring++;} + } + $out_total++; + $i++; + } + + if ($out_live > 0) {$F=''; $FG='';} + if ($out_live > 4) {$F=''; $FG='';} + if ($out_live > 9) {$F=''; $FG='';} + if ($out_live > 14) {$F=''; $FG='';} + + if ($campaign_allow_inbound > 0) + {echo "$NFB$out_total$NFE current active calls      \n";} + else + {echo "$NFB$out_total$NFE calls being placed       \n";} + + echo "$NFB$out_ring$NFE calls ringing         \n"; + echo "$NFB$F  $out_live $FG$NFE calls waiting for agents       \n"; + } + else + { + echo "KEIN PHASENCANKLOPFEN\n"; + } + + +################################################################################### +###### TIME ON SYSTEM +################################################################################### + +$agent_incall=0; +$agent_ready=0; +$agent_paused=0; +$agent_total=0; + +$stmt="select extension,user,conf_exten,status,server_ip,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),call_server_ip,campaign_id from vicidial_live_agents where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + $agentcount=0; + while ($i < $talking_to_print) + { + $row=mysql_fetch_row($rslt); + if (eregi("READY|PAUSED",$row[3])) + { + $row[5]=$row[6]; + } + $Lstatus = $row[3]; + $status = sprintf("%-6s", $row[3]); + if (!eregi("INCALL|QUEUE",$row[3])) + {$call_time_S = ($STARTtime - $row[6]);} + else + {$call_time_S = ($STARTtime - $row[5]);} + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + if (eregi("PAUSED",$row[3])) + { + if ($call_time_M_int >= 30) + {$i++; continue;} + else + { + $agent_paused++; $agent_total++; + } + } + + if ( (eregi("INCALL",$status)) or (eregi("QUEUE",$status)) ) {$agent_incall++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) {$agent_ready++; $agent_total++;} + $agentcount++; + + + $i++; + } + + if ($agent_ready > 0) {$B=''; $BG='';} + if ($agent_ready > 4) {$B=''; $BG='';} + if ($agent_ready > 9) {$B=''; $BG='';} + if ($agent_ready > 14) {$B=''; $BG='';} + + echo "\n
\n"; + + echo "$NFB$agent_total$NFE agents logged in         \n"; + echo "$NFB$agent_incall$NFE agents in calls       \n"; + echo "$NFB$B  $agent_ready $BG$NFE agents waiting       \n"; + echo "$NFB$agent_paused$NFE paused agents       \n"; + + echo "
";
+		echo "";
+	}
+	else
+	{
+	echo " NO AGENTS ON CALLS
\n"; + } + +################################################################################ +### END calculating calls/agents +################################################################################ + + + + + +echo "
"; + +echo "\n\n"; +$k++; +} + +?> +
+ + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeoncall.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeoncall.php new file mode 100644 index 00000000..4227f836 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeoncall.php @@ -0,0 +1,180 @@ + LICENSE: GPLv2 +### + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];} + elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); + +?> + + + + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On Call\n"; +echo "
\n\n";
+
+echo "VICIDIAL: Time On Call                                          $NOW_TIME\n\n";
+echo "+------------+-----------+-----------+------------------+---------------------+---------+\n";
+echo "| STATION    | SESSIONID | CHANNEL   | NUMBER DIALED    | START TIME          | MINUTES |\n";
+echo "+------------+-----------+-----------+------------------+---------------------+---------+\n";
+
+$stmt="SELECT count(*) from live_sip_channels where server_ip='$server_ip';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$parked_count = $row[0];
+	if ($parked_count > 0)
+	{
+	$stmt="select extension from live_channels where server_ip='$server_ip';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$ext_to_print = mysql_num_rows($rslt);
+	$i=0;
+	$live_zap_counter=0;
+	$sessions = '';
+	while ($i < $ext_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+		if (preg_match("/^8600/i",$row[0]))
+			{
+			$sessions .= "$row[0]|";
+			}
+		$i++;
+		}
+	$sessions = preg_replace("/\|$/",'',$sessions);
+
+	if ($DB) {echo "SESSIONS: -$sessions-\n";}
+
+	$stmt="select * from live_sip_channels where server_ip='$server_ip' order by channel;";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$parked_to_print = mysql_num_rows($rslt);
+	$i=0;
+	$live_calls_counter=0;
+	while ($i < $parked_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+		if ( (preg_match("/Zap\/|internal|ring/i",$row[3])) or (preg_match("/Local\//i",$row[0])) )
+			{
+			if ($DB) {echo "NOT STATION |$row[0]|$row[3]|\n";}
+			$session_id = '';
+			}
+		else 
+			{
+			if (preg_match("/$row[3]/i",$sessions))
+				{
+				if ($DB) {echo "LIVE STATION|$row[0]|$row[3]|\n";}
+				$session_id = $row[3];
+				$station = preg_replace("/SIP\//",'',$row[0]);
+				$station = preg_replace("/-.*/",'',$station);
+			
+				$LIVE_sessions[$live_calls_counter] =			"$session_id";
+				$LIVE_sessions_FORMAT[$live_calls_counter] =	sprintf("%-9s", $session_id);
+				$LIVE_stations[$live_calls_counter] =			"$station";
+				$LIVE_stations_FORMAT[$live_calls_counter] =	sprintf("%-10s", $station);
+
+		#		echo "| $station | $session_id | \n";
+
+				$live_calls_counter++;
+				}
+			else
+				{
+				if ($DB) {echo "NOT STATIONZ|$row[0]|$row[3]|\n";}
+				$session_id = '';
+				}
+			}
+
+		$i++;
+		}
+
+		if ($live_calls_counter > 0)
+		{
+		$i=0;
+		$LC_counter = $live_calls_counter;
+
+		while ($i < $live_calls_counter)
+			{
+			$stmt="select channel,extension,number_dialed,start_time,start_epoch from call_log where extension='$LIVE_stations[$i]' and server_ip='$server_ip' order by uniqueid desc LIMIT 1;";
+			$rslt=mysql_query($stmt, $link);
+			if ($DB) {echo "$stmt\n";}
+			$parked_to_print = mysql_num_rows($rslt);
+			$row=mysql_fetch_row($rslt);
+
+			$channel =			sprintf("%-9s", $row[0]);
+			$number_dialed =	sprintf("%-16s", $row[2]);
+			$start_time =		sprintf("%-19s", $row[3]);
+			$call_time_S = ($STARTtime - $row[4]);
+
+			$call_time_M = ($call_time_S / 60);
+			$call_time_M = round($call_time_M, 2);
+			$call_time_M_int = intval("$call_time_M");
+			$call_time_SEC = ($call_time_M - $call_time_M_int);
+			$call_time_SEC = ($call_time_SEC * 60);
+			$call_time_SEC = round($call_time_SEC, 0);
+			if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+			$call_time_MS = "$call_time_M_int:$call_time_SEC";
+			$call_time_MS =		sprintf("%7s", $call_time_MS);
+			$G = '';		$EG = '';
+			if ($call_time_M_int >= 12) {$G=''; $EG='';}
+			if ($call_time_M_int >= 31) {$G=''; $EG='';}
+
+			echo "| $G$LIVE_stations_FORMAT[$i]$EG | $G$LIVE_sessions_FORMAT[$i]$EG | $G$channel$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+			$i++;
+			}
+
+		echo "+------------+-----------+-----------+------------------+---------------------+---------+\n";
+		echo "  $i stations on live calls on server $server_ip\n\n";
+
+		echo "             - 12 minutes or more on live call\n";
+		echo "             - Over 30 minutes on live call\n";
+
+		}
+		else
+		{
+		echo "*****************************************************************************************\n";
+		echo "*****************************************************************************************\n";
+		echo "*************************************** NO LIVE STATIONS ********************************\n";
+		echo "*****************************************************************************************\n";
+		echo "*****************************************************************************************\n";
+		}
+
+	}
+	else
+	{
+	echo "*****************************************************************************************\n";
+	echo "*****************************************************************************************\n";
+	echo "*************************************** NO LIVE STATIONS ********************************\n";
+	echo "*****************************************************************************************\n";
+	echo "*****************************************************************************************\n";
+	}
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeonpark.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeonpark.php new file mode 100644 index 00000000..91ba6e0f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/AST_timeonpark.php @@ -0,0 +1,219 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60620-1042 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];} + elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +$timeONEhoursAGO = ($STARTtime - 3600); +$epochHALFhoursAGO = ($STARTtime - 1860); +$timeONEhoursAGO = date("Y-m-d H:i:s",$timeONEhoursAGO); +$timeHALFhoursAGO = date("Y-m-d H:i:s",$epochHALFhoursAGO); + +$reset_counter++; + +if ($reset_counter > 7) + { + $reset_counter=0; + + $stmt="update park_log set status='HUNGUP' where hangup_time is not null;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + + if ($DB) + { + $stmt="delete from park_log where status='TALKING' and grab_time < '$timeONEhoursAGO' and (hangup_time is null or hangup_time='');"; + $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + + $stmt="delete from park_log where status='PARKED' and parked_time < '$timeHALFhoursAGO' and (hangup_time is null or hangup_time='');"; + $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + + } + } + +?> + + + + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On Park\n"; +echo "
\n\n";
+
+echo "VICIDIAL: Time On Park         $NOW_TIME    REPORTS\n\n";
+echo "+------------+-----------------+---------------------+---------+\n";
+echo "| CHANNEL    | GROUP           | START TIME          | MINUTES |\n";
+echo "+------------+-----------------+---------------------+---------+\n";
+
+#$link=mysql_connect("localhost", "cron", "1234");
+# $linkX=mysql_connect("localhost", "cron", "1234");
+#mysql_select_db("asterisk");
+
+$stmt="select extension,user,channel,channel_group,parked_time,UNIX_TIMESTAMP(parked_time) from park_log where status ='PARKED' and server_ip='" . mysql_real_escape_string($server_ip) . "' order by uniqueid;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$parked_to_print = mysql_num_rows($rslt);
+	if ($parked_to_print > 0)
+	{
+	$i=0;
+	while ($i < $parked_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+
+		$channel =			sprintf("%-10s", $row[2]);
+		$number_dialed =	sprintf("%-15s", $row[3]);
+		$start_time =		sprintf("%-19s", $row[4]);
+		$call_time_S = ($STARTtime - $row[5]);
+
+		$call_time_M = ($call_time_S / 60);
+		$call_time_M = round($call_time_M, 2);
+		$call_time_M_int = intval("$call_time_M");
+		$call_time_SEC = ($call_time_M - $call_time_M_int);
+		$call_time_SEC = ($call_time_SEC * 60);
+		$call_time_SEC = round($call_time_SEC, 0);
+		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+		$call_time_MS = "$call_time_M_int:$call_time_SEC";
+		$call_time_MS =		sprintf("%7s", $call_time_MS);
+		$G = '';		$EG = '';
+		if ($call_time_M_int >= 1) {$G=''; $EG='';}
+		if ($call_time_M_int >= 6) {$G=''; $EG='';}
+
+		echo "| $G$channel$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+		$i++;
+		}
+
+		echo "+------------+-----------------+---------------------+---------+\n";
+		echo "  $i callers waiting on server $server_ip\n\n";
+
+		echo "             - 1 minute or more on hold\n";
+		echo "             - Over 5 minutes on hold\n";
+
+		}
+	else
+	{
+	echo "****************************************************************\n";
+	echo "****************************************************************\n";
+	echo "********************KEIN PHASENCANKLOPFEN*********************\n";
+	echo "****************************************************************\n";
+	echo "****************************************************************\n";
+	}
+
+###################################################################################
+###### TIME ON INBOUND CALLS
+###################################################################################
+echo "\n\n";
+echo "----------------------------------------------------------------------------------------";
+echo "\n\n";
+echo "VICIDIAL: Agents Time On Inbound Calls                             $NOW_TIME\n\n";
+echo "+------------|--------+------------+-----------------+---------------------+---------+\n";
+echo "| STATION    | USER   | CHANNEL    | GROUP           | START TIME          | MINUTES |\n";
+echo "+------------|--------+------------+-----------------+---------------------+---------+\n";
+
+
+$stmt="select extension,user,channel,channel_group,grab_time,UNIX_TIMESTAMP(grab_time) from park_log where status ='TALKING' and server_ip='" . mysql_real_escape_string($server_ip) . "' order by uniqueid;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$talking_to_print = mysql_num_rows($rslt);
+	if ($talking_to_print > 0)
+	{
+	$i=0;
+	while ($i < $talking_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+
+		$extension =		sprintf("%-10s", $row[0]);
+		$user =				sprintf("%-6s", $row[1]);
+		$channel =			sprintf("%-10s", $row[2]);
+		$number_dialed =	sprintf("%-15s", $row[3]);
+		$start_time =		sprintf("%-19s", $row[4]);
+		$call_time_S = ($STARTtime - $row[5]);
+
+		$call_time_M = ($call_time_S / 60);
+		$call_time_M = round($call_time_M, 2);
+		$call_time_M_int = intval("$call_time_M");
+		$call_time_SEC = ($call_time_M - $call_time_M_int);
+		$call_time_SEC = ($call_time_SEC * 60);
+		$call_time_SEC = round($call_time_SEC, 0);
+		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+		$call_time_MS = "$call_time_M_int:$call_time_SEC";
+		$call_time_MS =		sprintf("%7s", $call_time_MS);
+		$G = '';		$EG = '';
+		if ($call_time_M_int >= 12) {$G=''; $EG='';}
+		if ($call_time_M_int >= 31) {$G=''; $EG='';}
+
+		echo "| $G$extension$EG | $G$user$EG | $G$channel$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+		$i++;
+		}
+
+		echo "+------------|--------+------------+-----------------+---------------------+---------+\n";
+		echo "  $i agents on calls on server $server_ip\n\n";
+
+		echo "             - 12 minutes or more on call\n";
+		echo "             - Over 30 minutes on call\n";
+
+	}
+	else
+	{
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	echo "*********************************KEINE MITTEL BEI DEN ANRUFEN*********************************\n";
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	}
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/admin.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/admin.php new file mode 100644 index 00000000..b4f3166a --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/admin.php @@ -0,0 +1,13575 @@ + LICENSE: GPLv2 +# + + +require("dbconnect.php"); + + +###################################################################################################### +###################################################################################################### +####### static variable settings for display options +###################################################################################################### +###################################################################################################### + +$page_width='770'; +$section_width='720'; +$header_font_size='3'; +$subheader_font_size='2'; +$subcamp_font_size='2'; +$header_selected_bold=''; +$header_nonselected_bold=''; +$users_color = '#FFFF99'; +$campaigns_color = '#FFCC99'; +$lists_color = '#FFCCCC'; +$ingroups_color = '#CC99FF'; +$remoteagent_color ='#CCFFCC'; +$usergroups_color = '#CCFFFF'; +$scripts_color = '#99FFCC'; +$filters_color = '#CCCCCC'; +$admin_color = '#FF99FF'; +$reports_color = '#99FF33'; +#$users_color = '#FFFF99'; +#$campaigns_color = '#FFFF99'; +#$lists_color = '#FFFF99'; +#$ingroups_color = '#FFFF99'; +#$remoteagent_color ='#FFFF99'; +#$usergroups_color = '#FFFF99'; +#$scripts_color = '#FFFF99'; +#$filters_color = '#FFFF99'; +#$admin_color = '#FFFF99'; +#$reports_color = '#FFFF99'; + $times_color = '#FF33FF'; + $phones_color = '#FF33FF'; + $conference_color = '#FF33FF'; + $server_color = '#FF33FF'; + $settings_color = '#FF33FF'; + $status_color = '#FF33FF'; +$users_font = 'BLACK'; +$campaigns_font = 'BLACK'; +$lists_font = 'BLACK'; +$ingroups_font = 'BLACK'; +$remoteagent_font = 'BLACK'; +$usergroups_font = 'BLACK'; +$scripts_font = 'BLACK'; +$filters_font = 'BLACK'; +$admin_font = 'BLACK'; +$reports_font = 'BLACK'; + $times_font = 'BLACK'; + $phones_font = 'BLACK'; + $conference_font = 'BLACK'; + $server_font = 'BLACK'; + $settings_font = 'BLACK'; + $status_font = 'BLACK'; +$subcamp_color = '#FF9933'; +$subcamp_font = 'BLACK'; + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; + +###################################################################################################### +###################################################################################################### +####### Form variable declaration +###################################################################################################### +###################################################################################################### + + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["active"])) {$active=$_GET["active"];} + elseif (isset($_POST["active"])) {$active=$_POST["active"];} +if (isset($_GET["adaptive_dl_diff_target"])) {$adaptive_dl_diff_target=$_GET["adaptive_dl_diff_target"];} + elseif (isset($_POST["adaptive_dl_diff_target"])) {$adaptive_dl_diff_target=$_POST["adaptive_dl_diff_target"];} +if (isset($_GET["adaptive_dropped_percentage"])) {$adaptive_dropped_percentage=$_GET["adaptive_dropped_percentage"];} + elseif (isset($_POST["adaptive_dropped_percentage"])){$adaptive_dropped_percentage=$_POST["adaptive_dropped_percentage"];} +if (isset($_GET["adaptive_intensity"])) {$adaptive_intensity=$_GET["adaptive_intensity"];} + elseif (isset($_POST["adaptive_intensity"])) {$adaptive_intensity=$_POST["adaptive_intensity"];} +if (isset($_GET["adaptive_latest_server_time"])) {$adaptive_latest_server_time=$_GET["adaptive_latest_server_time"];} + elseif (isset($_POST["adaptive_latest_server_time"])){$adaptive_latest_server_time=$_POST["adaptive_latest_server_time"];} +if (isset($_GET["adaptive_maximum_level"])) {$adaptive_maximum_level=$_GET["adaptive_maximum_level"];} + elseif (isset($_POST["adaptive_maximum_level"])) {$adaptive_maximum_level=$_POST["adaptive_maximum_level"];} +if (isset($_GET["SUB"])) {$SUB=$_GET["SUB"];} + elseif (isset($_POST["SUB"])) {$SUB=$_POST["SUB"];} +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["admin_hangup_enabled"])) {$admin_hangup_enabled=$_GET["admin_hangup_enabled"];} + elseif (isset($_POST["admin_hangup_enabled"])) {$admin_hangup_enabled=$_POST["admin_hangup_enabled"];} +if (isset($_GET["admin_hijack_enabled"])) {$admin_hijack_enabled=$_GET["admin_hijack_enabled"];} + elseif (isset($_POST["admin_hijack_enabled"])) {$admin_hijack_enabled=$_POST["admin_hijack_enabled"];} +if (isset($_GET["admin_monitor_enabled"])) {$admin_monitor_enabled=$_GET["admin_monitor_enabled"];} + elseif (isset($_POST["admin_monitor_enabled"])) {$admin_monitor_enabled=$_POST["admin_monitor_enabled"];} +if (isset($_GET["AFLogging_enabled"])) {$AFLogging_enabled=$_GET["AFLogging_enabled"];} + elseif (isset($_POST["AFLogging_enabled"])) {$AFLogging_enabled=$_POST["AFLogging_enabled"];} +if (isset($_GET["agent_choose_ingroups"])) {$agent_choose_ingroups=$_GET["agent_choose_ingroups"];} + elseif (isset($_POST["agent_choose_ingroups"])) {$agent_choose_ingroups=$_POST["agent_choose_ingroups"];} +if (isset($_GET["agentcall_manual"])) {$agentcall_manual=$_GET["agentcall_manual"];} + elseif (isset($_POST["agentcall_manual"])) {$agentcall_manual=$_POST["agentcall_manual"];} +if (isset($_GET["agentonly_callbacks"])) {$agentonly_callbacks=$_GET["agentonly_callbacks"];} + elseif (isset($_POST["agentonly_callbacks"])) {$agentonly_callbacks=$_POST["agentonly_callbacks"];} +if (isset($_GET["AGI_call_logging_enabled"])) {$AGI_call_logging_enabled=$_GET["AGI_call_logging_enabled"];} + elseif (isset($_POST["AGI_call_logging_enabled"])) {$AGI_call_logging_enabled=$_POST["AGI_call_logging_enabled"];} +if (isset($_GET["agi_output"])) {$agi_output=$_GET["agi_output"];} + elseif (isset($_POST["agi_output"])) {$agi_output=$_POST["agi_output"];} +if (isset($_GET["allcalls_delay"])) {$allcalls_delay=$_GET["allcalls_delay"];} + elseif (isset($_POST["allcalls_delay"])) {$allcalls_delay=$_POST["allcalls_delay"];} +if (isset($_GET["allow_closers"])) {$allow_closers=$_GET["allow_closers"];} + elseif (isset($_POST["allow_closers"])) {$allow_closers=$_POST["allow_closers"];} +if (isset($_GET["alt_number_dialing"])) {$alt_number_dialing=$_GET["alt_number_dialing"];} + elseif (isset($_POST["alt_number_dialing"])) {$alt_number_dialing=$_POST["alt_number_dialing"];} +if (isset($_GET["alter_agent_interface_options"])) {$alter_agent_interface_options=$_GET["alter_agent_interface_options"];} + elseif (isset($_POST["alter_agent_interface_options"])) {$alter_agent_interface_options=$_POST["alter_agent_interface_options"];} +if (isset($_GET["am_message_exten"])) {$am_message_exten=$_GET["am_message_exten"];} + elseif (isset($_POST["am_message_exten"])) {$am_message_exten=$_POST["am_message_exten"];} +if (isset($_GET["amd_send_to_vmx"])) {$amd_send_to_vmx=$_GET["amd_send_to_vmx"];} + elseif (isset($_POST["amd_send_to_vmx"])) {$amd_send_to_vmx=$_POST["amd_send_to_vmx"];} +if (isset($_GET["answer_transfer_agent"])) {$answer_transfer_agent=$_GET["answer_transfer_agent"];} + elseif (isset($_POST["answer_transfer_agent"])) {$answer_transfer_agent=$_POST["answer_transfer_agent"];} +if (isset($_GET["ast_admin_access"])) {$ast_admin_access=$_GET["ast_admin_access"];} + elseif (isset($_POST["ast_admin_access"])) {$ast_admin_access=$_POST["ast_admin_access"];} +if (isset($_GET["ast_delete_phones"])) {$ast_delete_phones=$_GET["ast_delete_phones"];} + elseif (isset($_POST["ast_delete_phones"])) {$ast_delete_phones=$_POST["ast_delete_phones"];} +if (isset($_GET["asterisk_version"])) {$asterisk_version=$_GET["asterisk_version"];} + elseif (isset($_POST["asterisk_version"])) {$asterisk_version=$_POST["asterisk_version"];} +if (isset($_GET["ASTmgrSECRET"])) {$ASTmgrSECRET=$_GET["ASTmgrSECRET"];} + elseif (isset($_POST["ASTmgrSECRET"])) {$ASTmgrSECRET=$_POST["ASTmgrSECRET"];} +if (isset($_GET["ASTmgrUSERNAME"])) {$ASTmgrUSERNAME=$_GET["ASTmgrUSERNAME"];} + elseif (isset($_POST["ASTmgrUSERNAME"])) {$ASTmgrUSERNAME=$_POST["ASTmgrUSERNAME"];} +if (isset($_GET["ASTmgrUSERNAMElisten"])) {$ASTmgrUSERNAMElisten=$_GET["ASTmgrUSERNAMElisten"];} + elseif (isset($_POST["ASTmgrUSERNAMElisten"])) {$ASTmgrUSERNAMElisten=$_POST["ASTmgrUSERNAMElisten"];} +if (isset($_GET["ASTmgrUSERNAMEsend"])) {$ASTmgrUSERNAMEsend=$_GET["ASTmgrUSERNAMEsend"];} + elseif (isset($_POST["ASTmgrUSERNAMEsend"])) {$ASTmgrUSERNAMEsend=$_POST["ASTmgrUSERNAMEsend"];} +if (isset($_GET["ASTmgrUSERNAMEupdate"])) {$ASTmgrUSERNAMEupdate=$_GET["ASTmgrUSERNAMEupdate"];} + elseif (isset($_POST["ASTmgrUSERNAMEupdate"])) {$ASTmgrUSERNAMEupdate=$_POST["ASTmgrUSERNAMEupdate"];} +if (isset($_GET["attempt_delay"])) {$attempt_delay=$_GET["attempt_delay"];} + elseif (isset($_POST["attempt_delay"])) {$attempt_delay=$_POST["attempt_delay"];} +if (isset($_GET["attempt_maximum"])) {$attempt_maximum=$_GET["attempt_maximum"];} + elseif (isset($_POST["attempt_maximum"])) {$attempt_maximum=$_POST["attempt_maximum"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["auto_dial_next_number"])) {$auto_dial_next_number=$_GET["auto_dial_next_number"];} + elseif (isset($_POST["auto_dial_next_number"])) {$auto_dial_next_number=$_POST["auto_dial_next_number"];} +if (isset($_GET["available_only_ratio_tally"])) {$available_only_ratio_tally=$_GET["available_only_ratio_tally"];} + elseif (isset($_POST["available_only_ratio_tally"])){$available_only_ratio_tally=$_POST["available_only_ratio_tally"];} +if (isset($_GET["call_out_number_group"])) {$call_out_number_group=$_GET["call_out_number_group"];} + elseif (isset($_POST["call_out_number_group"])) {$call_out_number_group=$_POST["call_out_number_group"];} +if (isset($_GET["call_parking_enabled"])) {$call_parking_enabled=$_GET["call_parking_enabled"];} + elseif (isset($_POST["call_parking_enabled"])) {$call_parking_enabled=$_POST["call_parking_enabled"];} +if (isset($_GET["call_time_comments"])) {$call_time_comments=$_GET["call_time_comments"];} + elseif (isset($_POST["call_time_comments"])) {$call_time_comments=$_POST["call_time_comments"];} +if (isset($_GET["call_time_id"])) {$call_time_id=$_GET["call_time_id"];} + elseif (isset($_POST["call_time_id"])) {$call_time_id=$_POST["call_time_id"];} +if (isset($_GET["call_time_name"])) {$call_time_name=$_GET["call_time_name"];} + elseif (isset($_POST["call_time_name"])) {$call_time_name=$_POST["call_time_name"];} +if (isset($_GET["CallerID_popup_enabled"])) {$CallerID_popup_enabled=$_GET["CallerID_popup_enabled"];} + elseif (isset($_POST["CallerID_popup_enabled"])) {$CallerID_popup_enabled=$_POST["CallerID_popup_enabled"];} +if (isset($_GET["campaign_cid"])) {$campaign_cid=$_GET["campaign_cid"];} + elseif (isset($_POST["campaign_cid"])) {$campaign_cid=$_POST["campaign_cid"];} +if (isset($_GET["campaign_detail"])) {$campaign_detail=$_GET["campaign_detail"];} + elseif (isset($_POST["campaign_detail"])) {$campaign_detail=$_POST["campaign_detail"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["campaign_name"])) {$campaign_name=$_GET["campaign_name"];} + elseif (isset($_POST["campaign_name"])) {$campaign_name=$_POST["campaign_name"];} +if (isset($_GET["campaign_rec_exten"])) {$campaign_rec_exten=$_GET["campaign_rec_exten"];} + elseif (isset($_POST["campaign_rec_exten"])) {$campaign_rec_exten=$_POST["campaign_rec_exten"];} +if (isset($_GET["campaign_rec_filename"])) {$campaign_rec_filename=$_GET["campaign_rec_filename"];} + elseif (isset($_POST["campaign_rec_filename"])) {$campaign_rec_filename=$_POST["campaign_rec_filename"];} +if (isset($_GET["campaign_recording"])) {$campaign_recording=$_GET["campaign_recording"];} + elseif (isset($_POST["campaign_recording"])) {$campaign_recording=$_POST["campaign_recording"];} +if (isset($_GET["campaign_vdad_exten"])) {$campaign_vdad_exten=$_GET["campaign_vdad_exten"];} + elseif (isset($_POST["campaign_vdad_exten"])) {$campaign_vdad_exten=$_POST["campaign_vdad_exten"];} +if (isset($_GET["change_agent_campaign"])) {$change_agent_campaign=$_GET["change_agent_campaign"];} + elseif (isset($_POST["change_agent_campaign"])) {$change_agent_campaign=$_POST["change_agent_campaign"];} +if (isset($_GET["client_browser"])) {$client_browser=$_GET["client_browser"];} + elseif (isset($_POST["client_browser"])) {$client_browser=$_POST["client_browser"];} +if (isset($_GET["closer_default_blended"])) {$closer_default_blended=$_GET["closer_default_blended"];} + elseif (isset($_POST["closer_default_blended"])) {$closer_default_blended=$_POST["closer_default_blended"];} +if (isset($_GET["company"])) {$company=$_GET["company"];} + elseif (isset($_POST["company"])) {$company=$_POST["company"];} +if (isset($_GET["computer_ip"])) {$computer_ip=$_GET["computer_ip"];} + elseif (isset($_POST["computer_ip"])) {$computer_ip=$_POST["computer_ip"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["conf_on_extension"])) {$conf_on_extension=$_GET["conf_on_extension"];} + elseif (isset($_POST["conf_on_extension"])) {$conf_on_extension=$_POST["conf_on_extension"];} +if (isset($_GET["conferencing_enabled"])) {$conferencing_enabled=$_GET["conferencing_enabled"];} + elseif (isset($_POST["conferencing_enabled"])) {$conferencing_enabled=$_POST["conferencing_enabled"];} +if (isset($_GET["CoNfIrM"])) {$CoNfIrM=$_GET["CoNfIrM"];} + elseif (isset($_POST["CoNfIrM"])) {$CoNfIrM=$_POST["CoNfIrM"];} +if (isset($_GET["ct_default_start"])) {$ct_default_start=$_GET["ct_default_start"];} + elseif (isset($_POST["ct_default_start"])) {$ct_default_start=$_POST["ct_default_start"];} +if (isset($_GET["ct_default_stop"])) {$ct_default_stop=$_GET["ct_default_stop"];} + elseif (isset($_POST["ct_default_stop"])) {$ct_default_stop=$_POST["ct_default_stop"];} +if (isset($_GET["ct_friday_start"])) {$ct_friday_start=$_GET["ct_friday_start"];} + elseif (isset($_POST["ct_friday_start"])) {$ct_friday_start=$_POST["ct_friday_start"];} +if (isset($_GET["ct_friday_stop"])) {$ct_friday_stop=$_GET["ct_friday_stop"];} + elseif (isset($_POST["ct_friday_stop"])) {$ct_friday_stop=$_POST["ct_friday_stop"];} +if (isset($_GET["ct_monday_start"])) {$ct_monday_start=$_GET["ct_monday_start"];} + elseif (isset($_POST["ct_monday_start"])) {$ct_monday_start=$_POST["ct_monday_start"];} +if (isset($_GET["ct_monday_stop"])) {$ct_monday_stop=$_GET["ct_monday_stop"];} + elseif (isset($_POST["ct_monday_stop"])) {$ct_monday_stop=$_POST["ct_monday_stop"];} +if (isset($_GET["ct_saturday_start"])) {$ct_saturday_start=$_GET["ct_saturday_start"];} + elseif (isset($_POST["ct_saturday_start"])) {$ct_saturday_start=$_POST["ct_saturday_start"];} +if (isset($_GET["ct_saturday_stop"])) {$ct_saturday_stop=$_GET["ct_saturday_stop"];} + elseif (isset($_POST["ct_saturday_stop"])) {$ct_saturday_stop=$_POST["ct_saturday_stop"];} +if (isset($_GET["ct_sunday_start"])) {$ct_sunday_start=$_GET["ct_sunday_start"];} + elseif (isset($_POST["ct_sunday_start"])) {$ct_sunday_start=$_POST["ct_sunday_start"];} +if (isset($_GET["ct_sunday_stop"])) {$ct_sunday_stop=$_GET["ct_sunday_stop"];} + elseif (isset($_POST["ct_sunday_stop"])) {$ct_sunday_stop=$_POST["ct_sunday_stop"];} +if (isset($_GET["ct_thursday_start"])) {$ct_thursday_start=$_GET["ct_thursday_start"];} + elseif (isset($_POST["ct_thursday_start"])) {$ct_thursday_start=$_POST["ct_thursday_start"];} +if (isset($_GET["ct_thursday_stop"])) {$ct_thursday_stop=$_GET["ct_thursday_stop"];} + elseif (isset($_POST["ct_thursday_stop"])) {$ct_thursday_stop=$_POST["ct_thursday_stop"];} +if (isset($_GET["ct_tuesday_start"])) {$ct_tuesday_start=$_GET["ct_tuesday_start"];} + elseif (isset($_POST["ct_tuesday_start"])) {$ct_tuesday_start=$_POST["ct_tuesday_start"];} +if (isset($_GET["ct_tuesday_stop"])) {$ct_tuesday_stop=$_GET["ct_tuesday_stop"];} + elseif (isset($_POST["ct_tuesday_stop"])) {$ct_tuesday_stop=$_POST["ct_tuesday_stop"];} +if (isset($_GET["ct_wednesday_start"])) {$ct_wednesday_start=$_GET["ct_wednesday_start"];} + elseif (isset($_POST["ct_wednesday_start"])) {$ct_wednesday_start=$_POST["ct_wednesday_start"];} +if (isset($_GET["ct_wednesday_stop"])) {$ct_wednesday_stop=$_GET["ct_wednesday_stop"];} + elseif (isset($_POST["ct_wednesday_stop"])) {$ct_wednesday_stop=$_POST["ct_wednesday_stop"];} +if (isset($_GET["DBX_database"])) {$DBX_database=$_GET["DBX_database"];} + elseif (isset($_POST["DBX_database"])) {$DBX_database=$_POST["DBX_database"];} +if (isset($_GET["DBX_pass"])) {$DBX_pass=$_GET["DBX_pass"];} + elseif (isset($_POST["DBX_pass"])) {$DBX_pass=$_POST["DBX_pass"];} +if (isset($_GET["DBX_port"])) {$DBX_port=$_GET["DBX_port"];} + elseif (isset($_POST["DBX_port"])) {$DBX_port=$_POST["DBX_port"];} +if (isset($_GET["DBX_server"])) {$DBX_server=$_GET["DBX_server"];} + elseif (isset($_POST["DBX_server"])) {$DBX_server=$_POST["DBX_server"];} +if (isset($_GET["DBX_user"])) {$DBX_user=$_GET["DBX_user"];} + elseif (isset($_POST["DBX_user"])) {$DBX_user=$_POST["DBX_user"];} +if (isset($_GET["DBY_database"])) {$DBY_database=$_GET["DBY_database"];} + elseif (isset($_POST["DBY_database"])) {$DBY_database=$_POST["DBY_database"];} +if (isset($_GET["DBY_pass"])) {$DBY_pass=$_GET["DBY_pass"];} + elseif (isset($_POST["DBY_pass"])) {$DBY_pass=$_POST["DBY_pass"];} +if (isset($_GET["DBY_port"])) {$DBY_port=$_GET["DBY_port"];} + elseif (isset($_POST["DBY_port"])) {$DBY_port=$_POST["DBY_port"];} +if (isset($_GET["DBY_server"])) {$DBY_server=$_GET["DBY_server"];} + elseif (isset($_POST["DBY_server"])) {$DBY_server=$_POST["DBY_server"];} +if (isset($_GET["DBY_user"])) {$DBY_user=$_GET["DBY_user"];} + elseif (isset($_POST["DBY_user"])) {$DBY_user=$_POST["DBY_user"];} +if (isset($_GET["delete_call_times"])) {$delete_call_times=$_GET["delete_call_times"];} + elseif (isset($_POST["delete_call_times"])) {$delete_call_times=$_POST["delete_call_times"];} +if (isset($_GET["delete_campaigns"])) {$delete_campaigns=$_GET["delete_campaigns"];} + elseif (isset($_POST["delete_campaigns"])) {$delete_campaigns=$_POST["delete_campaigns"];} +if (isset($_GET["delete_filters"])) {$delete_filters=$_GET["delete_filters"];} + elseif (isset($_POST["delete_filters"])) {$delete_filters=$_POST["delete_filters"];} +if (isset($_GET["delete_ingroups"])) {$delete_ingroups=$_GET["delete_ingroups"];} + elseif (isset($_POST["delete_ingroups"])) {$delete_ingroups=$_POST["delete_ingroups"];} +if (isset($_GET["delete_lists"])) {$delete_lists=$_GET["delete_lists"];} + elseif (isset($_POST["delete_lists"])) {$delete_lists=$_POST["delete_lists"];} +if (isset($_GET["delete_remote_agents"])) {$delete_remote_agents=$_GET["delete_remote_agents"];} + elseif (isset($_POST["delete_remote_agents"])) {$delete_remote_agents=$_POST["delete_remote_agents"];} +if (isset($_GET["delete_scripts"])) {$delete_scripts=$_GET["delete_scripts"];} + elseif (isset($_POST["delete_scripts"])) {$delete_scripts=$_POST["delete_scripts"];} +if (isset($_GET["delete_user_groups"])) {$delete_user_groups=$_GET["delete_user_groups"];} + elseif (isset($_POST["delete_user_groups"])) {$delete_user_groups=$_POST["delete_user_groups"];} +if (isset($_GET["delete_users"])) {$delete_users=$_GET["delete_users"];} + elseif (isset($_POST["delete_users"])) {$delete_users=$_POST["delete_users"];} +if (isset($_GET["dial_method"])) {$dial_method=$_GET["dial_method"];} + elseif (isset($_POST["dial_method"])) {$dial_method=$_POST["dial_method"];} +if (isset($_GET["dial_prefix"])) {$dial_prefix=$_GET["dial_prefix"];} + elseif (isset($_POST["dial_prefix"])) {$dial_prefix=$_POST["dial_prefix"];} +if (isset($_GET["dial_status_a"])) {$dial_status_a=$_GET["dial_status_a"];} + elseif (isset($_POST["dial_status_a"])) {$dial_status_a=$_POST["dial_status_a"];} +if (isset($_GET["dial_status_b"])) {$dial_status_b=$_GET["dial_status_b"];} + elseif (isset($_POST["dial_status_b"])) {$dial_status_b=$_POST["dial_status_b"];} +if (isset($_GET["dial_status_c"])) {$dial_status_c=$_GET["dial_status_c"];} + elseif (isset($_POST["dial_status_c"])) {$dial_status_c=$_POST["dial_status_c"];} +if (isset($_GET["dial_status_d"])) {$dial_status_d=$_GET["dial_status_d"];} + elseif (isset($_POST["dial_status_d"])) {$dial_status_d=$_POST["dial_status_d"];} +if (isset($_GET["dial_status_e"])) {$dial_status_e=$_GET["dial_status_e"];} + elseif (isset($_POST["dial_status_e"])) {$dial_status_e=$_POST["dial_status_e"];} +if (isset($_GET["dial_timeout"])) {$dial_timeout=$_GET["dial_timeout"];} + elseif (isset($_POST["dial_timeout"])) {$dial_timeout=$_POST["dial_timeout"];} +if (isset($_GET["dialplan_number"])) {$dialplan_number=$_GET["dialplan_number"];} + elseif (isset($_POST["dialplan_number"])) {$dialplan_number=$_POST["dialplan_number"];} +if (isset($_GET["drop_call_seconds"])) {$drop_call_seconds=$_GET["drop_call_seconds"];} + elseif (isset($_POST["drop_call_seconds"])) {$drop_call_seconds=$_POST["drop_call_seconds"];} +if (isset($_GET["drop_exten"])) {$drop_exten=$_GET["drop_exten"];} + elseif (isset($_POST["drop_exten"])) {$drop_exten=$_POST["drop_exten"];} +if (isset($_GET["drop_message"])) {$drop_message=$_GET["drop_message"];} + elseif (isset($_POST["drop_message"])) {$drop_message=$_POST["drop_message"];} +if (isset($_GET["dtmf_send_extension"])) {$dtmf_send_extension=$_GET["dtmf_send_extension"];} + elseif (isset($_POST["dtmf_send_extension"])) {$dtmf_send_extension=$_POST["dtmf_send_extension"];} +if (isset($_GET["enable_fast_refresh"])) {$enable_fast_refresh=$_GET["enable_fast_refresh"];} + elseif (isset($_POST["enable_fast_refresh"])) {$enable_fast_refresh=$_POST["enable_fast_refresh"];} +if (isset($_GET["enable_persistant_mysql"])) {$enable_persistant_mysql=$_GET["enable_persistant_mysql"];} + elseif (isset($_POST["enable_persistant_mysql"])) {$enable_persistant_mysql=$_POST["enable_persistant_mysql"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["fast_refresh_rate"])) {$fast_refresh_rate=$_GET["fast_refresh_rate"];} + elseif (isset($_POST["fast_refresh_rate"])) {$fast_refresh_rate=$_POST["fast_refresh_rate"];} +if (isset($_GET["force_logout"])) {$force_logout=$_GET["force_logout"];} + elseif (isset($_POST["force_logout"])) {$force_logout=$_POST["force_logout"];} +if (isset($_GET["fronter_display"])) {$fronter_display=$_GET["fronter_display"];} + elseif (isset($_POST["fronter_display"])) {$fronter_display=$_POST["fronter_display"];} +if (isset($_GET["full_name"])) {$full_name=$_GET["full_name"];} + elseif (isset($_POST["full_name"])) {$full_name=$_POST["full_name"];} +if (isset($_GET["fullname"])) {$fullname=$_GET["fullname"];} + elseif (isset($_POST["fullname"])) {$fullname=$_POST["fullname"];} +if (isset($_GET["get_call_launch"])) {$get_call_launch=$_GET["get_call_launch"];} + elseif (isset($_POST["get_call_launch"])) {$get_call_launch=$_POST["get_call_launch"];} +if (isset($_GET["group_color"])) {$group_color=$_GET["group_color"];} + elseif (isset($_POST["group_color"])) {$group_color=$_POST["group_color"];} +if (isset($_GET["group_id"])) {$group_id=$_GET["group_id"];} + elseif (isset($_POST["group_id"])) {$group_id=$_POST["group_id"];} +if (isset($_GET["group_name"])) {$group_name=$_GET["group_name"];} + elseif (isset($_POST["group_name"])) {$group_name=$_POST["group_name"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["XFERgroups"])) {$XFERgroups=$_GET["XFERgroups"];} + elseif (isset($_POST["XFERgroups"])) {$XFERgroups=$_POST["XFERgroups"];} +if (isset($_GET["HKstatus"])) {$HKstatus=$_GET["HKstatus"];} + elseif (isset($_POST["HKstatus"])) {$HKstatus=$_POST["HKstatus"];} +if (isset($_GET["hopper_level"])) {$hopper_level=$_GET["hopper_level"];} + elseif (isset($_POST["hopper_level"])) {$hopper_level=$_POST["hopper_level"];} +if (isset($_GET["hotkey"])) {$hotkey=$_GET["hotkey"];} + elseif (isset($_POST["hotkey"])) {$hotkey=$_POST["hotkey"];} +if (isset($_GET["hotkeys_active"])) {$hotkeys_active=$_GET["hotkeys_active"];} + elseif (isset($_POST["hotkeys_active"])) {$hotkeys_active=$_POST["hotkeys_active"];} +if (isset($_GET["install_directory"])) {$install_directory=$_GET["install_directory"];} + elseif (isset($_POST["install_directory"])) {$install_directory=$_POST["install_directory"];} +if (isset($_GET["lead_filter_comments"])) {$lead_filter_comments=$_GET["lead_filter_comments"];} + elseif (isset($_POST["lead_filter_comments"])) {$lead_filter_comments=$_POST["lead_filter_comments"];} +if (isset($_GET["lead_filter_id"])) {$lead_filter_id=$_GET["lead_filter_id"];} + elseif (isset($_POST["lead_filter_id"])) {$lead_filter_id=$_POST["lead_filter_id"];} +if (isset($_GET["lead_filter_name"])) {$lead_filter_name=$_GET["lead_filter_name"];} + elseif (isset($_POST["lead_filter_name"])) {$lead_filter_name=$_POST["lead_filter_name"];} +if (isset($_GET["lead_filter_sql"])) {$lead_filter_sql=$_GET["lead_filter_sql"];} + elseif (isset($_POST["lead_filter_sql"])) {$lead_filter_sql=$_POST["lead_filter_sql"];} +if (isset($_GET["lead_order"])) {$lead_order=$_GET["lead_order"];} + elseif (isset($_POST["lead_order"])) {$lead_order=$_POST["lead_order"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["list_name"])) {$list_name=$_GET["list_name"];} + elseif (isset($_POST["list_name"])) {$list_name=$_POST["list_name"];} +if (isset($_GET["load_leads"])) {$load_leads=$_GET["load_leads"];} + elseif (isset($_POST["load_leads"])) {$load_leads=$_POST["load_leads"];} +if (isset($_GET["local_call_time"])) {$local_call_time=$_GET["local_call_time"];} + elseif (isset($_POST["local_call_time"])) {$local_call_time=$_POST["local_call_time"];} +if (isset($_GET["local_gmt"])) {$local_gmt=$_GET["local_gmt"];} + elseif (isset($_POST["local_gmt"])) {$local_gmt=$_POST["local_gmt"];} +if (isset($_GET["local_web_callerID_URL"])) {$local_web_callerID_URL=$_GET["local_web_callerID_URL"];} + elseif (isset($_POST["local_web_callerID_URL"])) {$local_web_callerID_URL=$_POST["local_web_callerID_URL"];} +if (isset($_GET["login"])) {$login=$_GET["login"];} + elseif (isset($_POST["login"])) {$login=$_POST["login"];} +if (isset($_GET["login_campaign"])) {$login_campaign=$_GET["login_campaign"];} + elseif (isset($_POST["login_campaign"])) {$login_campaign=$_POST["login_campaign"];} +if (isset($_GET["login_pass"])) {$login_pass=$_GET["login_pass"];} + elseif (isset($_POST["login_pass"])) {$login_pass=$_POST["login_pass"];} +if (isset($_GET["login_user"])) {$login_user=$_GET["login_user"];} + elseif (isset($_POST["login_user"])) {$login_user=$_POST["login_user"];} +if (isset($_GET["max_vicidial_trunks"])) {$max_vicidial_trunks=$_GET["max_vicidial_trunks"];} + elseif (isset($_POST["max_vicidial_trunks"])) {$max_vicidial_trunks=$_POST["max_vicidial_trunks"];} +if (isset($_GET["modify_call_times"])) {$modify_call_times=$_GET["modify_call_times"];} + elseif (isset($_POST["modify_call_times"])) {$modify_call_times=$_POST["modify_call_times"];} +if (isset($_GET["modify_leads"])) {$modify_leads=$_GET["modify_leads"];} + elseif (isset($_POST["modify_leads"])) {$modify_leads=$_POST["modify_leads"];} +if (isset($_GET["monitor_prefix"])) {$monitor_prefix=$_GET["monitor_prefix"];} + elseif (isset($_POST["monitor_prefix"])) {$monitor_prefix=$_POST["monitor_prefix"];} +if (isset($_GET["next_agent_call"])) {$next_agent_call=$_GET["next_agent_call"];} + elseif (isset($_POST["next_agent_call"])) {$next_agent_call=$_POST["next_agent_call"];} +if (isset($_GET["number_of_lines"])) {$number_of_lines=$_GET["number_of_lines"];} + elseif (isset($_POST["number_of_lines"])) {$number_of_lines=$_POST["number_of_lines"];} +if (isset($_GET["old_campaign_id"])) {$old_campaign_id=$_GET["old_campaign_id"];} + elseif (isset($_POST["old_campaign_id"])) {$old_campaign_id=$_POST["old_campaign_id"];} +if (isset($_GET["old_conf_exten"])) {$old_conf_exten=$_GET["old_conf_exten"];} + elseif (isset($_POST["old_conf_exten"])) {$old_conf_exten=$_POST["old_conf_exten"];} +if (isset($_GET["old_extension"])) {$old_extension=$_GET["old_extension"];} + elseif (isset($_POST["old_extension"])) {$old_extension=$_POST["old_extension"];} +if (isset($_GET["old_server_id"])) {$old_server_id=$_GET["old_server_id"];} + elseif (isset($_POST["old_server_id"])) {$old_server_id=$_POST["old_server_id"];} +if (isset($_GET["old_server_ip"])) {$old_server_ip=$_GET["old_server_ip"];} + elseif (isset($_POST["old_server_ip"])) {$old_server_ip=$_POST["old_server_ip"];} +if (isset($_GET["OLDuser_group"])) {$OLDuser_group=$_GET["OLDuser_group"];} + elseif (isset($_POST["OLDuser_group"])) {$OLDuser_group=$_POST["OLDuser_group"];} +if (isset($_GET["omit_phone_code"])) {$omit_phone_code=$_GET["omit_phone_code"];} + elseif (isset($_POST["omit_phone_code"])) {$omit_phone_code=$_POST["omit_phone_code"];} +if (isset($_GET["outbound_cid"])) {$outbound_cid=$_GET["outbound_cid"];} + elseif (isset($_POST["outbound_cid"])) {$outbound_cid=$_POST["outbound_cid"];} +if (isset($_GET["park_ext"])) {$park_ext=$_GET["park_ext"];} + elseif (isset($_POST["park_ext"])) {$park_ext=$_POST["park_ext"];} +if (isset($_GET["park_file_name"])) {$park_file_name=$_GET["park_file_name"];} + elseif (isset($_POST["park_file_name"])) {$park_file_name=$_POST["park_file_name"];} +if (isset($_GET["park_on_extension"])) {$park_on_extension=$_GET["park_on_extension"];} + elseif (isset($_POST["park_on_extension"])) {$park_on_extension=$_POST["park_on_extension"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["phone_type"])) {$phone_type=$_GET["phone_type"];} + elseif (isset($_POST["phone_type"])) {$phone_type=$_POST["phone_type"];} +if (isset($_GET["picture"])) {$picture=$_GET["picture"];} + elseif (isset($_POST["picture"])) {$picture=$_POST["picture"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["QUEUE_ACTION_enabled"])) {$QUEUE_ACTION_enabled=$_GET["QUEUE_ACTION_enabled"];} + elseif (isset($_POST["QUEUE_ACTION_enabled"])) {$QUEUE_ACTION_enabled=$_POST["QUEUE_ACTION_enabled"];} +if (isset($_GET["recording_exten"])) {$recording_exten=$_GET["recording_exten"];} + elseif (isset($_POST["recording_exten"])) {$recording_exten=$_POST["recording_exten"];} +if (isset($_GET["remote_agent_id"])) {$remote_agent_id=$_GET["remote_agent_id"];} + elseif (isset($_POST["remote_agent_id"])) {$remote_agent_id=$_POST["remote_agent_id"];} +if (isset($_GET["reset_hopper"])) {$reset_hopper=$_GET["reset_hopper"];} + elseif (isset($_POST["reset_hopper"])) {$reset_hopper=$_POST["reset_hopper"];} +if (isset($_GET["reset_list"])) {$reset_list=$_GET["reset_list"];} + elseif (isset($_POST["reset_list"])) {$reset_list=$_POST["reset_list"];} +if (isset($_GET["safe_harbor_exten"])) {$safe_harbor_exten=$_GET["safe_harbor_exten"];} + elseif (isset($_POST["safe_harbor_exten"])) {$safe_harbor_exten=$_POST["safe_harbor_exten"];} +if (isset($_GET["safe_harbor_message"])) {$safe_harbor_message=$_GET["safe_harbor_message"];} + elseif (isset($_POST["safe_harbor_message"])) {$safe_harbor_message=$_POST["safe_harbor_message"];} +if (isset($_GET["scheduled_callbacks"])) {$scheduled_callbacks=$_GET["scheduled_callbacks"];} + elseif (isset($_POST["scheduled_callbacks"])) {$scheduled_callbacks=$_POST["scheduled_callbacks"];} +if (isset($_GET["script_comments"])) {$script_comments=$_GET["script_comments"];} + elseif (isset($_POST["script_comments"])) {$script_comments=$_POST["script_comments"];} +if (isset($_GET["script_id"])) {$script_id=$_GET["script_id"];} + elseif (isset($_POST["script_id"])) {$script_id=$_POST["script_id"];} +if (isset($_GET["script_name"])) {$script_name=$_GET["script_name"];} + elseif (isset($_POST["script_name"])) {$script_name=$_POST["script_name"];} +if (isset($_GET["script_text"])) {$script_text=$_GET["script_text"];} + elseif (isset($_POST["script_text"])) {$script_text=$_POST["script_text"];} +if (isset($_GET["selectable"])) {$selectable=$_GET["selectable"];} + elseif (isset($_POST["selectable"])) {$selectable=$_POST["selectable"];} +if (isset($_GET["server_description"])) {$server_description=$_GET["server_description"];} + elseif (isset($_POST["server_description"])) {$server_description=$_POST["server_description"];} +if (isset($_GET["server_id"])) {$server_id=$_GET["server_id"];} + elseif (isset($_POST["server_id"])) {$server_id=$_POST["server_id"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["state_call_time_state"])) {$state_call_time_state=$_GET["state_call_time_state"];} + elseif (isset($_POST["state_call_time_state"])) {$state_call_time_state=$_POST["state_call_time_state"];} +if (isset($_GET["state_rule"])) {$state_rule=$_GET["state_rule"];} + elseif (isset($_POST["state_rule"])) {$state_rule=$_POST["state_rule"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["status_name"])) {$status_name=$_GET["status_name"];} + elseif (isset($_POST["status_name"])) {$status_name=$_POST["status_name"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["sys_perf_log"])) {$sys_perf_log=$_GET["sys_perf_log"];} + elseif (isset($_POST["sys_perf_log"])) {$sys_perf_log=$_POST["sys_perf_log"];} +if (isset($_GET["telnet_host"])) {$telnet_host=$_GET["telnet_host"];} + elseif (isset($_POST["telnet_host"])) {$telnet_host=$_POST["telnet_host"];} +if (isset($_GET["telnet_port"])) {$telnet_port=$_GET["telnet_port"];} + elseif (isset($_POST["telnet_port"])) {$telnet_port=$_POST["telnet_port"];} +if (isset($_GET["updater_check_enabled"])) {$updater_check_enabled=$_GET["updater_check_enabled"];} + elseif (isset($_POST["updater_check_enabled"])) {$updater_check_enabled=$_POST["updater_check_enabled"];} +if (isset($_GET["use_internal_dnc"])) {$use_internal_dnc=$_GET["use_internal_dnc"];} + elseif (isset($_POST["use_internal_dnc"])) {$use_internal_dnc=$_POST["use_internal_dnc"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} +if (isset($_GET["user_level"])) {$user_level=$_GET["user_level"];} + elseif (isset($_POST["user_level"])) {$user_level=$_POST["user_level"];} +if (isset($_GET["user_start"])) {$user_start=$_GET["user_start"];} + elseif (isset($_POST["user_start"])) {$user_start=$_POST["user_start"];} +if (isset($_GET["user_switching_enabled"])) {$user_switching_enabled=$_GET["user_switching_enabled"];} + elseif (isset($_POST["user_switching_enabled"])) {$user_switching_enabled=$_POST["user_switching_enabled"];} +if (isset($_GET["vd_server_logs"])) {$vd_server_logs=$_GET["vd_server_logs"];} + elseif (isset($_POST["vd_server_logs"])) {$vd_server_logs=$_POST["vd_server_logs"];} +if (isset($_GET["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_GET["VDstop_rec_after_each_call"];} + elseif (isset($_POST["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_POST["VDstop_rec_after_each_call"];} +if (isset($_GET["VICIDIAL_park_on_extension"])) {$VICIDIAL_park_on_extension=$_GET["VICIDIAL_park_on_extension"];} + elseif (isset($_POST["VICIDIAL_park_on_extension"])) {$VICIDIAL_park_on_extension=$_POST["VICIDIAL_park_on_extension"];} +if (isset($_GET["VICIDIAL_park_on_filename"])) {$VICIDIAL_park_on_filename=$_GET["VICIDIAL_park_on_filename"];} + elseif (isset($_POST["VICIDIAL_park_on_filename"])) {$VICIDIAL_park_on_filename=$_POST["VICIDIAL_park_on_filename"];} +if (isset($_GET["vicidial_recording"])) {$vicidial_recording=$_GET["vicidial_recording"];} + elseif (isset($_POST["vicidial_recording"])) {$vicidial_recording=$_POST["vicidial_recording"];} +if (isset($_GET["vicidial_transfers"])) {$vicidial_transfers=$_GET["vicidial_transfers"];} + elseif (isset($_POST["vicidial_transfers"])) {$vicidial_transfers=$_POST["vicidial_transfers"];} +if (isset($_GET["VICIDIAL_web_URL"])) {$VICIDIAL_web_URL=$_GET["VICIDIAL_web_URL"];} + elseif (isset($_POST["VICIDIAL_web_URL"])) {$VICIDIAL_web_URL=$_POST["VICIDIAL_web_URL"];} +if (isset($_GET["voicemail_button_enabled"])) {$voicemail_button_enabled=$_GET["voicemail_button_enabled"];} + elseif (isset($_POST["voicemail_button_enabled"])) {$voicemail_button_enabled=$_POST["voicemail_button_enabled"];} +if (isset($_GET["voicemail_dump_exten"])) {$voicemail_dump_exten=$_GET["voicemail_dump_exten"];} + elseif (isset($_POST["voicemail_dump_exten"])) {$voicemail_dump_exten=$_POST["voicemail_dump_exten"];} +if (isset($_GET["voicemail_ext"])) {$voicemail_ext=$_GET["voicemail_ext"];} + elseif (isset($_POST["voicemail_ext"])) {$voicemail_ext=$_POST["voicemail_ext"];} +if (isset($_GET["voicemail_exten"])) {$voicemail_exten=$_GET["voicemail_exten"];} + elseif (isset($_POST["voicemail_exten"])) {$voicemail_exten=$_POST["voicemail_exten"];} +if (isset($_GET["voicemail_id"])) {$voicemail_id=$_GET["voicemail_id"];} + elseif (isset($_POST["voicemail_id"])) {$voicemail_id=$_POST["voicemail_id"];} +if (isset($_GET["web_form_address"])) {$web_form_address=$_GET["web_form_address"];} + elseif (isset($_POST["web_form_address"])) {$web_form_address=$_POST["web_form_address"];} +if (isset($_GET["wrapup_message"])) {$wrapup_message=$_GET["wrapup_message"];} + elseif (isset($_POST["wrapup_message"])) {$wrapup_message=$_POST["wrapup_message"];} +if (isset($_GET["wrapup_seconds"])) {$wrapup_seconds=$_GET["wrapup_seconds"];} + elseif (isset($_POST["wrapup_seconds"])) {$wrapup_seconds=$_POST["wrapup_seconds"];} +if (isset($_GET["xferconf_a_dtmf"])) {$xferconf_a_dtmf=$_GET["xferconf_a_dtmf"];} + elseif (isset($_POST["xferconf_a_dtmf"])) {$xferconf_a_dtmf=$_POST["xferconf_a_dtmf"];} +if (isset($_GET["xferconf_a_number"])) {$xferconf_a_number=$_GET["xferconf_a_number"];} + elseif (isset($_POST["xferconf_a_number"])) {$xferconf_a_number=$_POST["xferconf_a_number"];} +if (isset($_GET["xferconf_b_dtmf"])) {$xferconf_b_dtmf=$_GET["xferconf_b_dtmf"];} + elseif (isset($_POST["xferconf_b_dtmf"])) {$xferconf_b_dtmf=$_POST["xferconf_b_dtmf"];} +if (isset($_GET["xferconf_b_number"])) {$xferconf_b_number=$_GET["xferconf_b_number"];} + elseif (isset($_POST["xferconf_b_number"])) {$xferconf_b_number=$_POST["xferconf_b_number"];} +if (isset($_GET["vicidial_balance_active"])) {$vicidial_balance_active=$_GET["vicidial_balance_active"];} + elseif (isset($_POST["vicidial_balance_active"])) {$vicidial_balance_active=$_POST["vicidial_balance_active"];} +if (isset($_GET["balance_trunks_offlimits"])) {$balance_trunks_offlimits=$_GET["balance_trunks_offlimits"];} + elseif (isset($_POST["balance_trunks_offlimits"])) {$balance_trunks_offlimits=$_POST["balance_trunks_offlimits"];} +if (isset($_GET["dedicated_trunks"])) {$dedicated_trunks=$_GET["dedicated_trunks"];} + elseif (isset($_POST["dedicated_trunks"])) {$dedicated_trunks=$_POST["dedicated_trunks"];} +if (isset($_GET["trunk_restriction"])) {$trunk_restriction=$_GET["trunk_restriction"];} + elseif (isset($_POST["trunk_restriction"])) {$trunk_restriction=$_POST["trunk_restriction"];} +if (isset($_GET["campaigns"])) {$campaigns=$_GET["campaigns"];} + elseif (isset($_POST["campaigns"])) {$campaigns=$_POST["campaigns"];} +if (isset($_GET["dial_level_override"])) {$dial_level_override=$_GET["dial_level_override"];} + elseif (isset($_POST["dial_level_override"])) {$dial_level_override=$_POST["dial_level_override"];} +if (isset($_GET["concurrent_transfers"])) {$concurrent_transfers=$_GET["concurrent_transfers"];} + elseif (isset($_POST["concurrent_transfers"])) {$concurrent_transfers=$_POST["concurrent_transfers"];} +if (isset($_GET["auto_alt_dial"])) {$auto_alt_dial=$_GET["auto_alt_dial"];} + elseif (isset($_POST["auto_alt_dial"])) {$auto_alt_dial=$_POST["auto_alt_dial"];} +if (isset($_GET["modify_users"])) {$modify_users=$_GET["modify_users"];} + elseif (isset($_POST["modify_users"])) {$modify_users=$_POST["modify_users"];} +if (isset($_GET["modify_campaigns"])) {$modify_campaigns=$_GET["modify_campaigns"];} + elseif (isset($_POST["modify_campaigns"])) {$modify_campaigns=$_POST["modify_campaigns"];} +if (isset($_GET["modify_lists"])) {$modify_lists=$_GET["modify_lists"];} + elseif (isset($_POST["modify_lists"])) {$modify_lists=$_POST["modify_lists"];} +if (isset($_GET["modify_scripts"])) {$modify_scripts=$_GET["modify_scripts"];} + elseif (isset($_POST["modify_scripts"])) {$modify_scripts=$_POST["modify_scripts"];} +if (isset($_GET["modify_filters"])) {$modify_filters=$_GET["modify_filters"];} + elseif (isset($_POST["modify_filters"])) {$modify_filters=$_POST["modify_filters"];} +if (isset($_GET["modify_ingroups"])) {$modify_ingroups=$_GET["modify_ingroups"];} + elseif (isset($_POST["modify_ingroups"])) {$modify_ingroups=$_POST["modify_ingroups"];} +if (isset($_GET["modify_usergroups"])) {$modify_usergroups=$_GET["modify_usergroups"];} + elseif (isset($_POST["modify_usergroups"])) {$modify_usergroups=$_POST["modify_usergroups"];} +if (isset($_GET["modify_remoteagents"])) {$modify_remoteagents=$_GET["modify_remoteagents"];} + elseif (isset($_POST["modify_remoteagents"])) {$modify_remoteagents=$_POST["modify_remoteagents"];} +if (isset($_GET["modify_servers"])) {$modify_servers=$_GET["modify_servers"];} + elseif (isset($_POST["modify_servers"])) {$modify_servers=$_POST["modify_servers"];} +if (isset($_GET["view_reports"])) {$view_reports=$_GET["view_reports"];} + elseif (isset($_POST["view_reports"])) {$view_reports=$_POST["view_reports"];} +if (isset($_GET["agent_pause_codes_active"])) {$agent_pause_codes_active=$_GET["agent_pause_codes_active"];} + elseif (isset($_POST["agent_pause_codes_active"])) {$agent_pause_codes_active=$_POST["agent_pause_codes_active"];} +if (isset($_GET["pause_code"])) {$pause_code=$_GET["pause_code"];} + elseif (isset($_POST["pause_code"])) {$pause_code=$_POST["pause_code"];} +if (isset($_GET["pause_code_name"])) {$pause_code_name=$_GET["pause_code_name"];} + elseif (isset($_POST["pause_code_name"])) {$pause_code_name=$_POST["pause_code_name"];} +if (isset($_GET["billable"])) {$billable=$_GET["billable"];} + elseif (isset($_POST["billable"])) {$billable=$_POST["billable"];} +if (isset($_GET["campaign_description"])) {$campaign_description=$_GET["campaign_description"];} + elseif (isset($_POST["campaign_description"])) {$campaign_description=$_POST["campaign_description"];} +if (isset($_GET["campaign_stats_refresh"])) {$campaign_stats_refresh=$_GET["campaign_stats_refresh"];} + elseif (isset($_POST["campaign_stats_refresh"])){$campaign_stats_refresh=$_POST["campaign_stats_refresh"];} +if (isset($_GET["list_description"])) {$list_description=$_GET["list_description"];} + elseif (isset($_POST["list_description"])) {$list_description=$_POST["list_description"];} +if (isset($_GET["vicidial_recording_override"])) {$vicidial_recording_override=$_GET["vicidial_recording_override"];} elseif (isset($_POST["vicidial_recording_override"])) {$vicidial_recording_override=$_POST["vicidial_recording_override"];} +if (isset($_GET["use_non_latin"])) {$use_non_latin=$_GET["use_non_latin"];} + elseif (isset($_POST["use_non_latin"])) {$use_non_latin=$_POST["use_non_latin"];} +if (isset($_GET["webroot_writable"])) {$webroot_writable=$_GET["webroot_writable"];} + elseif (isset($_POST["webroot_writable"])) {$webroot_writable=$_POST["webroot_writable"];} +if (isset($_GET["enable_queuemetrics_logging"])) {$enable_queuemetrics_logging=$_GET["enable_queuemetrics_logging"];} + elseif (isset($_POST["enable_queuemetrics_logging"])) {$enable_queuemetrics_logging=$_POST["enable_queuemetrics_logging"];} +if (isset($_GET["queuemetrics_server_ip"])) {$queuemetrics_server_ip=$_GET["queuemetrics_server_ip"];} + elseif (isset($_POST["queuemetrics_server_ip"])) {$queuemetrics_server_ip=$_POST["queuemetrics_server_ip"];} +if (isset($_GET["queuemetrics_dbname"])) {$queuemetrics_dbname=$_GET["queuemetrics_dbname"];} + elseif (isset($_POST["queuemetrics_dbname"])) {$queuemetrics_dbname=$_POST["queuemetrics_dbname"];} +if (isset($_GET["queuemetrics_login"])) {$queuemetrics_login=$_GET["queuemetrics_login"];} + elseif (isset($_POST["queuemetrics_login"])) {$queuemetrics_login=$_POST["queuemetrics_login"];} +if (isset($_GET["queuemetrics_pass"])) {$queuemetrics_pass=$_GET["queuemetrics_pass"];} + elseif (isset($_POST["queuemetrics_pass"])) {$queuemetrics_pass=$_POST["queuemetrics_pass"];} +if (isset($_GET["queuemetrics_url"])) {$queuemetrics_url=$_GET["queuemetrics_url"];} + elseif (isset($_POST["queuemetrics_url"])) {$queuemetrics_url=$_POST["queuemetrics_url"];} +if (isset($_GET["queuemetrics_log_id"])) {$queuemetrics_log_id=$_GET["queuemetrics_log_id"];} + elseif (isset($_POST["queuemetrics_log_id"])) {$queuemetrics_log_id=$_POST["queuemetrics_log_id"];} +if (isset($_GET["dial_status"])) {$dial_status=$_GET["dial_status"];} + elseif (isset($_POST["dial_status"])) {$dial_status=$_POST["dial_status"];} +if (isset($_GET["queuemetrics_eq_prepend"])) {$queuemetrics_eq_prepend=$_GET["queuemetrics_eq_prepend"];} + elseif (isset($_POST["queuemetrics_eq_prepend"])) {$queuemetrics_eq_prepend=$_POST["queuemetrics_eq_prepend"];} +if (isset($_GET["vicidial_agent_disable"])) {$vicidial_agent_disable=$_GET["vicidial_agent_disable"];} + elseif (isset($_POST["vicidial_agent_disable"])) {$vicidial_agent_disable=$_POST["vicidial_agent_disable"];} +if (isset($_GET["disable_alter_custdata"])) {$disable_alter_custdata=$_GET["disable_alter_custdata"];} + elseif (isset($_POST["disable_alter_custdata"])) {$disable_alter_custdata=$_POST["disable_alter_custdata"];} +if (isset($_GET["alter_custdata_override"])) {$alter_custdata_override=$_GET["alter_custdata_override"];} + elseif (isset($_POST["alter_custdata_override"])) {$alter_custdata_override=$_POST["alter_custdata_override"];} +if (isset($_GET["no_hopper_leads_logins"])) {$no_hopper_leads_logins=$_GET["no_hopper_leads_logins"];} + elseif (isset($_POST["no_hopper_leads_logins"])) {$no_hopper_leads_logins=$_POST["no_hopper_leads_logins"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["allow_sipsak_messages"])) {$allow_sipsak_messages=$_GET["allow_sipsak_messages"];} + elseif (isset($_POST["allow_sipsak_messages"])) {$allow_sipsak_messages=$_POST["allow_sipsak_messages"];} +if (isset($_GET["admin_home_url"])) {$admin_home_url=$_GET["admin_home_url"];} + elseif (isset($_POST["admin_home_url"])) {$admin_home_url=$_POST["admin_home_url"];} +if (isset($_GET["list_order_mix"])) {$list_order_mix=$_GET["list_order_mix"];} + elseif (isset($_POST["list_order_mix"])) {$list_order_mix=$_POST["list_order_mix"];} +if (isset($_GET["vcl_id"])) {$vcl_id=$_GET["vcl_id"];} + elseif (isset($_POST["vcl_id"])) {$vcl_id=$_POST["vcl_id"];} +if (isset($_GET["vcl_name"])) {$vcl_name=$_GET["vcl_name"];} + elseif (isset($_POST["vcl_name"])) {$vcl_name=$_POST["vcl_name"];} +if (isset($_GET["list_mix_container"])) {$list_mix_container=$_GET["list_mix_container"];} + elseif (isset($_POST["list_mix_container"])) {$list_mix_container=$_POST["list_mix_container"];} +if (isset($_GET["mix_method"])) {$mix_method=$_GET["mix_method"];} + elseif (isset($_POST["mix_method"])) {$mix_method=$_POST["mix_method"];} +if (isset($_GET["human_answered"])) {$human_answered=$_GET["human_answered"];} + elseif (isset($_POST["human_answered"])) {$human_answered=$_POST["human_answered"];} +if (isset($_GET["category"])) {$category=$_GET["category"];} + elseif (isset($_POST["category"])) {$category=$_POST["category"];} +if (isset($_GET["vsc_id"])) {$vsc_id=$_GET["vsc_id"];} + elseif (isset($_POST["vsc_id"])) {$vsc_id=$_POST["vsc_id"];} +if (isset($_GET["vsc_name"])) {$vsc_name=$_GET["vsc_name"];} + elseif (isset($_POST["vsc_name"])) {$vsc_name=$_POST["vsc_name"];} +if (isset($_GET["vsc_description"])) {$vsc_description=$_GET["vsc_description"];} + elseif (isset($_POST["vsc_description"])) {$vsc_description=$_POST["vsc_description"];} +if (isset($_GET["tovdad_display"])) {$tovdad_display=$_GET["tovdad_display"];} + elseif (isset($_POST["tovdad_display"])) {$tovdad_display=$_POST["tovdad_display"];} +if (isset($_GET["mix_container_item"])) {$mix_container_item=$_GET["mix_container_item"];} + elseif (isset($_POST["mix_container_item"])) {$mix_container_item=$_POST["mix_container_item"];} +if (isset($_GET["enable_agc_xfer_log"])) {$enable_agc_xfer_log=$_GET["enable_agc_xfer_log"];} + elseif (isset($_POST["enable_agc_xfer_log"])) {$enable_agc_xfer_log=$_POST["enable_agc_xfer_log"];} +if (isset($_GET["after_hours_action"])) {$after_hours_action=$_GET["after_hours_action"];} + elseif (isset($_POST["after_hours_action"])) {$after_hours_action=$_POST["after_hours_action"];} +if (isset($_GET["after_hours_message_filename"])) {$after_hours_message_filename=$_GET["after_hours_message_filename"];} + elseif (isset($_POST["after_hours_message_filename"])) {$after_hours_message_filename=$_POST["after_hours_message_filename"];} +if (isset($_GET["after_hours_exten"])) {$after_hours_exten=$_GET["after_hours_exten"];} + elseif (isset($_POST["after_hours_exten"])) {$after_hours_exten=$_POST["after_hours_exten"];} +if (isset($_GET["after_hours_voicemail"])) {$after_hours_voicemail=$_GET["after_hours_voicemail"];} + elseif (isset($_POST["after_hours_voicemail"])) {$after_hours_voicemail=$_POST["after_hours_voicemail"];} +if (isset($_GET["welcome_message_filename"])) {$welcome_message_filename=$_GET["welcome_message_filename"];} + elseif (isset($_POST["welcome_message_filename"])) {$welcome_message_filename=$_POST["welcome_message_filename"];} +if (isset($_GET["moh_context"])) {$moh_context=$_GET["moh_context"];} + elseif (isset($_POST["moh_context"])) {$moh_context=$_POST["moh_context"];} +if (isset($_GET["onhold_prompt_filename"])) {$onhold_prompt_filename=$_GET["onhold_prompt_filename"];} + elseif (isset($_POST["onhold_prompt_filename"])) {$onhold_prompt_filename=$_POST["onhold_prompt_filename"];} +if (isset($_GET["prompt_interval"])) {$prompt_interval=$_GET["prompt_interval"];} + elseif (isset($_POST["prompt_interval"])) {$prompt_interval=$_POST["prompt_interval"];} +if (isset($_GET["agent_alert_exten"])) {$agent_alert_exten=$_GET["agent_alert_exten"];} + elseif (isset($_POST["agent_alert_exten"])) {$agent_alert_exten=$_POST["agent_alert_exten"];} +if (isset($_GET["agent_alert_delay"])) {$agent_alert_delay=$_GET["agent_alert_delay"];} + elseif (isset($_POST["agent_alert_delay"])) {$agent_alert_delay=$_POST["agent_alert_delay"];} +if (isset($_GET["group_rank"])) {$group_rank=$_GET["group_rank"];} + elseif (isset($_POST["group_rank"])) {$group_rank=$_POST["group_rank"];} +if (isset($_GET["campaign_allow_inbound"])) {$campaign_allow_inbound=$_GET["campaign_allow_inbound"];} + elseif (isset($_POST["campaign_allow_inbound"])) {$campaign_allow_inbound=$_POST["campaign_allow_inbound"];} +if (isset($_GET["manual_dial_list_id"])) {$manual_dial_list_id=$_GET["manual_dial_list_id"];} + elseif (isset($_POST["manual_dial_list_id"])) {$manual_dial_list_id=$_POST["manual_dial_list_id"];} +if (isset($_GET["campaign_rank"])) {$campaign_rank=$_GET["campaign_rank"];} + elseif (isset($_POST["campaign_rank"])) {$campaign_rank=$_POST["campaign_rank"];} +if (isset($_GET["source_campaign_id"])) {$source_campaign_id=$_GET["source_campaign_id"];} + elseif (isset($_POST["source_campaign_id"])) {$source_campaign_id=$_POST["source_campaign_id"];} +if (isset($_GET["source_user_id"])) {$source_user_id=$_GET["source_user_id"];} + elseif (isset($_POST["source_user_id"])) {$source_user_id=$_POST["source_user_id"];} +if (isset($_GET["source_group_id"])) {$source_group_id=$_GET["source_group_id"];} + elseif (isset($_POST["source_group_id"])) {$source_group_id=$_POST["source_group_id"];} +if (isset($_GET["default_xfer_group"])) {$default_xfer_group=$_GET["default_xfer_group"];} + elseif (isset($_POST["default_xfer_group"])) {$default_xfer_group=$_POST["default_xfer_group"];} + + + if (isset($script_id)) {$script_id= strtoupper($script_id);} + if (isset($lead_filter_id)) {$lead_filter_id = strtoupper($lead_filter_id);} + +if (strlen($dial_status) > 0) + { + $ADD='28'; + $status = $dial_status; + } + +###################################################################################################### +###################################################################################################### +####### Form variable filtering for security and data integrity +###################################################################################################### +###################################################################################################### + +if ($non_latin < 1) +{ +### DIGITS ONLY ### +$adaptive_dropped_percentage = ereg_replace("[^0-9]","",$adaptive_dropped_percentage); +$adaptive_latest_server_time = ereg_replace("[^0-9]","",$adaptive_latest_server_time); +$admin_hangup_enabled = ereg_replace("[^0-9]","",$admin_hangup_enabled); +$admin_hijack_enabled = ereg_replace("[^0-9]","",$admin_hijack_enabled); +$admin_monitor_enabled = ereg_replace("[^0-9]","",$admin_monitor_enabled); +$AFLogging_enabled = ereg_replace("[^0-9]","",$AFLogging_enabled); +$agent_choose_ingroups = ereg_replace("[^0-9]","",$agent_choose_ingroups); +$agentcall_manual = ereg_replace("[^0-9]","",$agentcall_manual); +$agentonly_callbacks = ereg_replace("[^0-9]","",$agentonly_callbacks); +$AGI_call_logging_enabled = ereg_replace("[^0-9]","",$AGI_call_logging_enabled); +$allcalls_delay = ereg_replace("[^0-9]","",$allcalls_delay); +$alter_agent_interface_options = ereg_replace("[^0-9]","",$alter_agent_interface_options); +$am_message_exten = ereg_replace("[^0-9]","",$am_message_exten); +$answer_transfer_agent = ereg_replace("[^0-9]","",$answer_transfer_agent); +$ast_admin_access = ereg_replace("[^0-9]","",$ast_admin_access); +$ast_delete_phones = ereg_replace("[^0-9]","",$ast_delete_phones); +$attempt_delay = ereg_replace("[^0-9]","",$attempt_delay); +$attempt_maximum = ereg_replace("[^0-9]","",$attempt_maximum); +$auto_dial_next_number = ereg_replace("[^0-9]","",$auto_dial_next_number); +$balance_trunks_offlimits = ereg_replace("[^0-9]","",$balance_trunks_offlimits); +$call_parking_enabled = ereg_replace("[^0-9]","",$call_parking_enabled); +$CallerID_popup_enabled = ereg_replace("[^0-9]","",$CallerID_popup_enabled); +$campaign_detail = ereg_replace("[^0-9]","",$campaign_detail); +$campaign_rec_exten = ereg_replace("[^0-9]","",$campaign_rec_exten); +$campaign_vdad_exten = ereg_replace("[^0-9]","",$campaign_vdad_exten); +$change_agent_campaign = ereg_replace("[^0-9]","",$change_agent_campaign); +$closer_default_blended = ereg_replace("[^0-9]","",$closer_default_blended); +$conf_exten = ereg_replace("[^0-9]","",$conf_exten); +$conf_on_extension = ereg_replace("[^0-9]","",$conf_on_extension); +$conferencing_enabled = ereg_replace("[^0-9]","",$conferencing_enabled); +$ct_default_start = ereg_replace("[^0-9]","",$ct_default_start); +$ct_default_stop = ereg_replace("[^0-9]","",$ct_default_stop); +$ct_friday_start = ereg_replace("[^0-9]","",$ct_friday_start); +$ct_friday_stop = ereg_replace("[^0-9]","",$ct_friday_stop); +$ct_monday_start = ereg_replace("[^0-9]","",$ct_monday_start); +$ct_monday_stop = ereg_replace("[^0-9]","",$ct_monday_stop); +$ct_saturday_start = ereg_replace("[^0-9]","",$ct_saturday_start); +$ct_saturday_stop = ereg_replace("[^0-9]","",$ct_saturday_stop); +$ct_sunday_start = ereg_replace("[^0-9]","",$ct_sunday_start); +$ct_sunday_stop = ereg_replace("[^0-9]","",$ct_sunday_stop); +$ct_thursday_start = ereg_replace("[^0-9]","",$ct_thursday_start); +$ct_thursday_stop = ereg_replace("[^0-9]","",$ct_thursday_stop); +$ct_tuesday_start = ereg_replace("[^0-9]","",$ct_tuesday_start); +$ct_tuesday_stop = ereg_replace("[^0-9]","",$ct_tuesday_stop); +$ct_wednesday_start = ereg_replace("[^0-9]","",$ct_wednesday_start); +$ct_wednesday_stop = ereg_replace("[^0-9]","",$ct_wednesday_stop); +$DBX_port = ereg_replace("[^0-9]","",$DBX_port); +$DBY_port = ereg_replace("[^0-9]","",$DBY_port); +$dedicated_trunks = ereg_replace("[^0-9]","",$dedicated_trunks); +$delete_call_times = ereg_replace("[^0-9]","",$delete_call_times); +$delete_campaigns = ereg_replace("[^0-9]","",$delete_campaigns); +$delete_filters = ereg_replace("[^0-9]","",$delete_filters); +$delete_ingroups = ereg_replace("[^0-9]","",$delete_ingroups); +$delete_lists = ereg_replace("[^0-9]","",$delete_lists); +$delete_remote_agents = ereg_replace("[^0-9]","",$delete_remote_agents); +$delete_scripts = ereg_replace("[^0-9]","",$delete_scripts); +$delete_user_groups = ereg_replace("[^0-9]","",$delete_user_groups); +$delete_users = ereg_replace("[^0-9]","",$delete_users); +$dial_timeout = ereg_replace("[^0-9]","",$dial_timeout); +$dialplan_number = ereg_replace("[^0-9]","",$dialplan_number); +$drop_call_seconds = ereg_replace("[^0-9]","",$drop_call_seconds); +$drop_exten = ereg_replace("[^0-9]","",$drop_exten); +$enable_fast_refresh = ereg_replace("[^0-9]","",$enable_fast_refresh); +$enable_persistant_mysql = ereg_replace("[^0-9]","",$enable_persistant_mysql); +$fast_refresh_rate = ereg_replace("[^0-9]","",$fast_refresh_rate); +$hopper_level = ereg_replace("[^0-9]","",$hopper_level); +$hotkey = ereg_replace("[^0-9]","",$hotkey); +$hotkeys_active = ereg_replace("[^0-9]","",$hotkeys_active); +$list_id = ereg_replace("[^0-9]","",$list_id); +$load_leads = ereg_replace("[^0-9]","",$load_leads); +$max_vicidial_trunks = ereg_replace("[^0-9]","",$max_vicidial_trunks); +$modify_call_times = ereg_replace("[^0-9]","",$modify_call_times); +$modify_users = ereg_replace("[^0-9]","",$modify_users); +$modify_campaigns = ereg_replace("[^0-9]","",$modify_campaigns); +$modify_lists = ereg_replace("[^0-9]","",$modify_lists); +$modify_scripts = ereg_replace("[^0-9]","",$modify_scripts); +$modify_filters = ereg_replace("[^0-9]","",$modify_filters); +$modify_ingroups = ereg_replace("[^0-9]","",$modify_ingroups); +$modify_usergroups = ereg_replace("[^0-9]","",$modify_usergroups); +$modify_remoteagents = ereg_replace("[^0-9]","",$modify_remoteagents); +$modify_servers = ereg_replace("[^0-9]","",$modify_servers); +$view_reports = ereg_replace("[^0-9]","",$view_reports); +$modify_leads = ereg_replace("[^0-9]","",$modify_leads); +$monitor_prefix = ereg_replace("[^0-9]","",$monitor_prefix); +$number_of_lines = ereg_replace("[^0-9]","",$number_of_lines); +$old_conf_exten = ereg_replace("[^0-9]","",$old_conf_exten); +$outbound_cid = ereg_replace("[^0-9]","",$outbound_cid); +$park_ext = ereg_replace("[^0-9]","",$park_ext); +$park_on_extension = ereg_replace("[^0-9]","",$park_on_extension); +$phone_number = ereg_replace("[^0-9]","",$phone_number); +$QUEUE_ACTION_enabled = ereg_replace("[^0-9]","",$QUEUE_ACTION_enabled); +$recording_exten = ereg_replace("[^0-9]","",$recording_exten); +$remote_agent_id = ereg_replace("[^0-9]","",$remote_agent_id); +$safe_harbor_exten = ereg_replace("[^0-9]","",$safe_harbor_exten); +$telnet_port = ereg_replace("[^0-9]","",$telnet_port); +$updater_check_enabled = ereg_replace("[^0-9]","",$updater_check_enabled); +$user_level = ereg_replace("[^0-9]","",$user_level); +$user_start = ereg_replace("[^0-9]","",$user_start); +$user_switching_enabled = ereg_replace("[^0-9]","",$user_switching_enabled); +$VDstop_rec_after_each_call = ereg_replace("[^0-9]","",$VDstop_rec_after_each_call); +$VICIDIAL_park_on_extension = ereg_replace("[^0-9]","",$VICIDIAL_park_on_extension); +$vicidial_recording = ereg_replace("[^0-9]","",$vicidial_recording); +$vicidial_transfers = ereg_replace("[^0-9]","",$vicidial_transfers); +$voicemail_button_enabled = ereg_replace("[^0-9]","",$voicemail_button_enabled); +$voicemail_dump_exten = ereg_replace("[^0-9]","",$voicemail_dump_exten); +$voicemail_ext = ereg_replace("[^0-9]","",$voicemail_ext); +$voicemail_exten = ereg_replace("[^0-9]","",$voicemail_exten); +$voicemail_id = ereg_replace("[^0-9]","",$voicemail_id); +$wrapup_seconds = ereg_replace("[^0-9]","",$wrapup_seconds); +$use_non_latin = ereg_replace("[^0-9]","",$use_non_latin); +$webroot_writable = ereg_replace("[^0-9]","",$webroot_writable); +$enable_queuemetrics_logging = ereg_replace("[^0-9]","",$enable_queuemetrics_logging); +$enable_sipsak_messages = ereg_replace("[^0-9]","",$enable_sipsak_messages); +$allow_sipsak_messages = ereg_replace("[^0-9]","",$allow_sipsak_messages); +$mix_container_item = ereg_replace("[^0-9]","",$mix_container_item); +$prompt_interval = ereg_replace("[^0-9]","",$prompt_interval); +$agent_alert_delay = ereg_replace("[^0-9]","",$agent_alert_delay); +$manual_dial_list_id = ereg_replace("[^0-9]","",$manual_dial_list_id); + +### DIGITS and DASHES +$group_rank = ereg_replace("[^-0-9]","",$group_rank); +$campaign_rank = ereg_replace("[^-0-9]","",$campaign_rank); + +### Y or N ONLY ### +$active = ereg_replace("[^NY]","",$active); +$allow_closers = ereg_replace("[^NY]","",$allow_closers); +$reset_hopper = ereg_replace("[^NY]","",$reset_hopper); +$amd_send_to_vmx = ereg_replace("[^NY]","",$amd_send_to_vmx); +$alt_number_dialing = ereg_replace("[^NY]","",$alt_number_dialing); +$safe_harbor_message = ereg_replace("[^NY]","",$safe_harbor_message); +$selectable = ereg_replace("[^NY]","",$selectable); +$reset_list = ereg_replace("[^NY]","",$reset_list); +$fronter_display = ereg_replace("[^NY]","",$fronter_display); +$drop_message = ereg_replace("[^NY]","",$drop_message); +$use_internal_dnc = ereg_replace("[^NY]","",$use_internal_dnc); +$omit_phone_code = ereg_replace("[^NY]","",$omit_phone_code); +$available_only_ratio_tally = ereg_replace("[^NY]","",$available_only_ratio_tally); +$sys_perf_log = ereg_replace("[^NY]","",$sys_perf_log); +$vicidial_balance_active = ereg_replace("[^NY]","",$vicidial_balance_active); +$vd_server_logs = ereg_replace("[^NY]","",$vd_server_logs); +$agent_pause_codes_active = ereg_replace("[^NY]","",$agent_pause_codes_active); +$campaign_stats_refresh = ereg_replace("[^NY]","",$campaign_stats_refresh); +$disable_alter_custdata = ereg_replace("[^NY]","",$disable_alter_custdata); +$no_hopper_leads_logins = ereg_replace("[^NY]","",$no_hopper_leads_logins); +$human_answered = ereg_replace("[^NY]","",$human_answered); +$tovdad_display = ereg_replace("[^NY]","",$tovdad_display); +$campaign_allow_inbound = ereg_replace("[^NY]","",$campaign_allow_inbound); + +### ALPHA-NUMERIC ONLY ### +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$script_id = ereg_replace("[^0-9a-zA-Z]","",$script_id); +$submit = ereg_replace("[^0-9a-zA-Z]","",$submit); +$campaign_cid = ereg_replace("[^0-9a-zA-Z]","",$campaign_cid); +$get_call_launch = ereg_replace("[^0-9a-zA-Z]","",$get_call_launch); +$campaign_recording = ereg_replace("[^0-9a-zA-Z]","",$campaign_recording); +$ADD = ereg_replace("[^0-9a-zA-Z]","",$ADD); +$dial_prefix = ereg_replace("[^0-9a-zA-Z]","",$dial_prefix); +$state_call_time_state = ereg_replace("[^0-9a-zA-Z]","",$state_call_time_state); +$scheduled_callbacks = ereg_replace("[^0-9a-zA-Z]","",$scheduled_callbacks); +$concurrent_transfers = ereg_replace("[^0-9a-zA-Z]","",$concurrent_transfers); +$billable = ereg_replace("[^0-9a-zA-Z]","",$billable); +$pause_code = ereg_replace("[^0-9a-zA-Z]","",$pause_code); +$vicidial_recording_override = ereg_replace("[^0-9a-zA-Z]","",$vicidial_recording_override); +$queuemetrics_log_id = ereg_replace("[^0-9a-zA-Z]","",$queuemetrics_log_id); +$after_hours_action = ereg_replace("[^0-9a-zA-Z]","",$after_hours_action); +$after_hours_exten = ereg_replace("[^0-9a-zA-Z]","",$after_hours_exten); +$after_hours_voicemail = ereg_replace("[^0-9a-zA-Z]","",$after_hours_voicemail); + +### DIGITS and Dots +$server_ip = ereg_replace("[^\.0-9]","",$server_ip); +$auto_dial_level = ereg_replace("[^\.0-9]","",$auto_dial_level); +$adaptive_maximum_level = ereg_replace("[^\.0-9]","",$adaptive_maximum_level); +$phone_ip = ereg_replace("[^\.0-9]","",$phone_ip); +$old_server_ip = ereg_replace("[^\.0-9]","",$old_server_ip); +$computer_ip = ereg_replace("[^\.0-9]","",$computer_ip); +$queuemetrics_server_ip = ereg_replace("[^\.0-9]","",$queuemetrics_server_ip); + +### ALPHA-NUMERIC and spaces and hash and star and comma +$xferconf_a_dtmf = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$xferconf_a_dtmf); +$xferconf_b_dtmf = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$xferconf_b_dtmf); + +### ALPHACAPS-NUMERIC +$xferconf_a_number = ereg_replace("[^0-9A-Z]","",$xferconf_a_number); +$xferconf_b_number = ereg_replace("[^0-9A-Z]","",$xferconf_b_number); + +### ALPHA-NUMERIC and underscore and dash +$agi_output = ereg_replace("[^-\_0-9a-zA-Z]","",$agi_output); +$ASTmgrSECRET = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrSECRET); +$ASTmgrUSERNAME = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAME); +$ASTmgrUSERNAMElisten = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAMElisten); +$ASTmgrUSERNAMEsend = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAMEsend); +$ASTmgrUSERNAMEupdate = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAMEupdate); +$call_time_id = ereg_replace("[^-\_0-9a-zA-Z]","",$call_time_id); +$campaign_id = ereg_replace("[^-\_0-9a-zA-Z]","",$campaign_id); +$CoNfIrM = ereg_replace("[^-\_0-9a-zA-Z]","",$CoNfIrM); +$DBX_database = ereg_replace("[^-\_0-9a-zA-Z]","",$DBX_database); +$DBX_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$DBX_pass); +$DBX_user = ereg_replace("[^-\_0-9a-zA-Z]","",$DBX_user); +$DBY_database = ereg_replace("[^-\_0-9a-zA-Z]","",$DBY_database); +$DBY_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$DBY_pass); +$DBY_user = ereg_replace("[^-\_0-9a-zA-Z]","",$DBY_user); +$dial_method = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_method); +$dial_status_a = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_a); +$dial_status_b = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_b); +$dial_status_c = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_c); +$dial_status_d = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_d); +$dial_status_e = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_e); +$ext_context = ereg_replace("[^-\_0-9a-zA-Z]","",$ext_context); +$group_id = ereg_replace("[^-\_0-9a-zA-Z]","",$group_id); +$lead_filter_id = ereg_replace("[^-\_0-9a-zA-Z]","",$lead_filter_id); +$local_call_time = ereg_replace("[^-\_0-9a-zA-Z]","",$local_call_time); +$login = ereg_replace("[^-\_0-9a-zA-Z]","",$login); +$login_campaign = ereg_replace("[^-\_0-9a-zA-Z]","",$login_campaign); +$login_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$login_pass); +$login_user = ereg_replace("[^-\_0-9a-zA-Z]","",$login_user); +$next_agent_call = ereg_replace("[^-\_0-9a-zA-Z]","",$next_agent_call); +$old_campaign_id = ereg_replace("[^-\_0-9a-zA-Z]","",$old_campaign_id); +$old_server_id = ereg_replace("[^-\_0-9a-zA-Z]","",$old_server_id); +$OLDuser_group = ereg_replace("[^-\_0-9a-zA-Z]","",$OLDuser_group); +$park_file_name = ereg_replace("[^-\_0-9a-zA-Z]","",$park_file_name); +$pass = ereg_replace("[^-\_0-9a-zA-Z]","",$pass); +$phone_login = ereg_replace("[^-\_0-9a-zA-Z]","",$phone_login); +$phone_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$phone_pass); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$protocol = ereg_replace("[^-\_0-9a-zA-Z]","",$protocol); +$server_id = ereg_replace("[^-\_0-9a-zA-Z]","",$server_id); +$stage = ereg_replace("[^-\_0-9a-zA-Z]","",$stage); +$state_rule = ereg_replace("[^-\_0-9a-zA-Z]","",$state_rule); +$status = ereg_replace("[^-\_0-9a-zA-Z]","",$status); +$trunk_restriction = ereg_replace("[^-\_0-9a-zA-Z]","",$trunk_restriction); +$user = ereg_replace("[^-\_0-9a-zA-Z]","",$user); +$user_group = ereg_replace("[^-\_0-9a-zA-Z]","",$user_group); +$VICIDIAL_park_on_filename = ereg_replace("[^-\_0-9a-zA-Z]","",$VICIDIAL_park_on_filename); +$auto_alt_dial = ereg_replace("[^-\_0-9a-zA-Z]","",$auto_alt_dial); +$dial_status = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status); +$queuemetrics_eq_prepend = ereg_replace("[^-\_0-9a-zA-Z]","",$queuemetrics_eq_prepend); +$vicidial_agent_disable = ereg_replace("[^-\_0-9a-zA-Z]","",$vicidial_agent_disable); +$alter_custdata_override = ereg_replace("[^-\_0-9a-zA-Z]","",$alter_custdata_override); +$list_order_mix = ereg_replace("[^-\_0-9a-zA-Z]","",$list_order_mix); +$vcl_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vcl_id); +$mix_method = ereg_replace("[^-\_0-9a-zA-Z]","",$mix_method); +$category = ereg_replace("[^-\_0-9a-zA-Z]","",$category); +$vsc_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vsc_id); +$moh_context = ereg_replace("[^-\_0-9a-zA-Z]","",$moh_context); +$agent_alert_exten = ereg_replace("[^-\_0-9a-zA-Z]","",$agent_alert_exten); +$source_campaign_id = ereg_replace("[^-\_0-9a-zA-Z]","",$source_campaign_id); +$source_user_id = ereg_replace("[^-\_0-9a-zA-Z]","",$source_user_id); +$source_group_id = ereg_replace("[^-\_0-9a-zA-Z]","",$source_group_id); +$default_xfer_group = ereg_replace("[^-\_0-9a-zA-Z]","",$default_xfer_group); + +### ALPHA-NUMERIC and spaces +$lead_order = ereg_replace("[^ 0-9a-zA-Z]","",$lead_order); +### ALPHA-NUMERIC and hash +$group_color = ereg_replace("[^\#0-9a-zA-Z]","",$group_color); + +### ALPHA-NUMERIC and spaces dots, commas, dashes, underscores +$adaptive_dl_diff_target = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$adaptive_dl_diff_target); +$adaptive_intensity = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$adaptive_intensity); +$asterisk_version = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$asterisk_version); +$call_time_comments = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$call_time_comments); +$call_time_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$call_time_name); +$campaign_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$campaign_name); +$campaign_rec_filename = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$campaign_rec_filename); +$company = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$company); +$full_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$full_name); +$fullname = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$fullname); +$group_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$group_name); +$HKstatus = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$HKstatus); +$lead_filter_comments = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$lead_filter_comments); +$lead_filter_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$lead_filter_name); +$list_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$list_name); +$local_gmt = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$local_gmt); +$phone_type = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$phone_type); +$picture = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$picture); +$script_comments = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$script_comments); +$script_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$script_name); +$server_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$server_description); +$status = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$status); +$status_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$status_name); +$wrapup_message = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$wrapup_message); +$pause_code_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$pause_code_name); +$campaign_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$campaign_description); +$list_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$list_description); +$vcl_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vcl_name); +$vsc_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vsc_name); +$vsc_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vsc_description); + +### ALPHA-NUMERIC and underscore and dash and slash and at and dot +$call_out_number_group = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$call_out_number_group); +$client_browser = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$client_browser); +$DBX_server = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$DBX_server); +$DBY_server = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$DBY_server); +$dtmf_send_extension = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$dtmf_send_extension); +$extension = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$extension); +$install_directory = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$install_directory); +$old_extension = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$old_extension); +$telnet_host = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$telnet_host); +$queuemetrics_dbname = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_dbname); +$queuemetrics_login = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_login); +$queuemetrics_pass = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_pass); +$after_hours_message_filename = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$after_hours_message_filename); +$welcome_message_filename = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$welcome_message_filename); +$onhold_prompt_filename = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$onhold_prompt_filename); + +### remove semi-colons ### +$lead_filter_sql = ereg_replace(";","",$lead_filter_sql); +$list_mix_container = ereg_replace(";","",$list_mix_container); + +### VARIABLES TO BE mysql_real_escape_string ### +# $web_form_address +# $queuemetrics_url +# $admin_home_url + +### VARIABLES not filtered at all ### +# $script_text + +} # end of non_latin + + +##### END VARIABLE FILTERING FOR SECURITY ##### + + +# AST GUI database administration +# admin.php +# +# CHANGELOG: +# 50315-1110 - Added Custom Campaign Statuses +# 50317-1438 - Added Fronter Display var to inbound groups +# 50322-1355 - Added custom callerID per campaign +# 50517-1356 - Added user_groups sections and user_group to vicidial_users +# 50517-1440 - Added ability to logout (must click OK with empty user/pass) +# 50602-1622 - Added lead loader pages to load new files into vicidial_list +# 50620-1351 - Added custom vdad transfer AGI extension per campaign +# 50810-1414 - modified in groups to kick out spaces and dashes +# 50908-2136 - Added Custom Campaign HotKeys +# 50914-0950 - Fixed user search by user_group +# 50926-1358 - Modified to allow for language translation +# 50926-1615 - Added WeBRooTWritablE write controls +# 51020-1008 - Added editable web address and park ext - NEW dial campaigns +# 51020-1056 - Added fields and help for campaign recording control +# 51123-1335 - Altered code to function in php globals=off +# 51208-1038 - Added user_level changes, function controls and default user phones +# 51208-1556 - Added deletion of users/lists/campaigns/in groups/remote agents +# 51213-1706 - Added add/delete/modify vicidial scripts +# 51214-1737 - Added preview of vicidial script in popup window +# 51219-1225 - Added campaign and ingroups script selector and get_call_launch field +# 51222-1055 - Added am_message_exten to campaigns to allow for AM Message button +# 51222-1125 - Fixed new vicidial_campaigns default values not being assigned bug +# 51222-1156 - Added LOG OUT ALL AGENTS ON THIS CAMPAIGN button to campaign screen +# 60204-0659 - Fixed hopper reset bug +# 60207-1413 - Added AMD send to voicemail extension and xfer-conf dtmf presets +# 60213-1100 - Added several vicidial_users permissions fields +# 60215-1319 - Added On-hold CallBacks display and links +# 60227-1226 - Fixed vicidial_inbound_groups insert bug +# 60413-1308 - Fixed list display to have 1 row/status: count and time zone tables +# - Added status name in selected dial statuses in campaign screen +# 60417-1416 - Added vicidial_lead_filters sections +# - Changed the header links to color-coded sectional with sublinks below +# - Added filter name and script name to campaign and in-group modify sections +# - Added callback and alt dial options to campaigns section +# - Added callback, alt dial and other options to users section +# 60419-1628 - Alter Callbacks display to include status and LIVE listings, reordered +# 60421-1441 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60425-2355 - Added agent options to vicidial_users, reformatted user page +# 60502-1627 - Added drop_call_seconds and safe_harbor_ fields to campaign screen +# 60503-1228 - Added drop_call_seconds and drop_ fields to inbound groups screen +# 60505-1117 - Added initial framework for new local_call_times tables and definitions +# 60506-1033 - More revisions to the local_call_time section +# 60508-1354 - Finished call_times and state_call_times sections +# - Added modify/delete options for call_times +# 60509-1311 - Functionalize campaign dialable leads calculation +# - Change state_call_times selection from call_times to only allow one per state +# - Added dialable leads count popup to campaign screen if auto-calc is disabled +# - Added test dialable leads count popup to filter screen +# 60510-1050 - Added Wrapup seconds and Wrapup message to campaigns screen +# 60608-1401 - Added allowable inbound_groups checkboxes to CLOSER campaign detail screen +# 60609-1051 - Added add-to-dnc in LISTS section +# 60613-1415 - Added lead recycling options to campaign detail screen +# 60619-1523 - Added variable filtering to eliminate SQL injection attack threat +# 60622-1216 - Fixed HotKey addition form issues and variable filtering +# 60623-1159 - Fixed Scheduled Callbacks over-filtering bug and filter_sql bug +# 60808-1147 - Changed filtering for and added instructions for consutative transfers +# 60816-1552 - Added allcalls_delay start delay for recordings in vicidial.php +# 60817-2226 - Fixed bug that would not allow lead recycling of non-selectable statuses +# 60821-1543 - Added option to Omit Phone Code while dialing in vicidial +# 60821-1625 - Added ALLFORCE recording option for campaign_recording +# 60823-1154 - Added fields for adaptive dialing +# 60824-1326 - Added adaptive_latest_target_gmt for ADAPT_TAPERED dial method +# 60825-1205 - Added adaptive_intensity for ADAPT_ dial methods +# 60828-1019 - Changed adaptive_latest_target_gmt to adaptive_latest_server_time +# 60828-1115 - Added adaptive_dl_diff_target and changed intensity dropdown +# 60927-1246 - Added astguiclient/admin.php functions under SERVERS tab +# 61002-1402 - Added fields for vicidial balance trunk controls +# 61003-1123 - Added functions for vicidial_server_trunks records +# 61109-1022 - Added Emergency VDAC Jam Clear function to Campaign Detail screen +# 61110-1502 - Add ability to select NONE in dial statuses, new list_id must not be < 100 +# 61122-1228 - Added user group campaign restrictions +# 61122-1535 - Changed script_text to unfiltered and added more variables to SCRIPTS +# 61129-1028 - Added headers to Users and Phones with clickable order-by titles +# 70108-1405 - Added ADAPT OVERRIDE to allow for forced dial_level changes in ADAPT dial methods +# - Screen width definable at top of script, merged server_stats into this script +# 70109-1638 - Added ALTPH2 and ADDR3 hotkey options for alt number dialing with HotKeys +# 70109-1716 - Added concurrent_transfers option to vicidial_campaigns +# 70115-1152 - Aded (CLOSER|BLEND|INBND|_C$|_B$|_I$) options for CLOSER-type campaigns +# 70115-1532 - Added auto_alt_dial field to campaign screen for auto-dialing of alt numbers +# 70116-1200 - Added auto_alt_dial_status functionality to campaign screen +# 70117-1235 - Added header formatting variables at top of script +# - Moved Call Times and Phones/Server functions to Admin section +# 70118-1706 - Added new user group displays and links +# 70123-1519 - Added user permission settings for all sections +# 70124-1346 - Fixed spelling errors and formatting consistency +# 70202-1120 - Added agent_pause_codes section to campaigns +# 70205-1204 - Added memo, last dialed, timestamp and stats-refresh fields to vicidial_campaigns/lists +# 70206-1323 - Added user setting for vicidial_recording_override +# 70212-1412 - Added system settings section +# 70214-1226 - Added QueueMetrics Log ID field to system settings section +# 70219-1102 - Changed campaign dial statuses to be one string allowing for high limit +# 70223-0957 - Added queuemetrics_eq_prepend for custom ENTERQUEUE prepending of a field +# 70302-1111 - Fixed small bug in dialable leads calculation +# 70314-1133 - Added insert selection on script forms +# 70319-1423 - Added Alter Customer Data and agent disable display functions +# 70319-1625 - Added option to allow agents to login to outbound campaigns with no leads in the hopper +# 70322-1455 - Added sipsak messages parameters +# 70402-1157 - Added HOME link and entry to system_settings table, added QM link on reports section +# 70516-1628 - Started reformatting campaigns to use submenus to break up options +# 70529-1653 - Added help for list mix +# 70530-1354 - Added human_answered field to statuses, added system status modification +# 70530-1714 - Added lists for all campaign subsections +# 70531-1631 - Development on List mix admin interface +# 70601-1629 - More development on List mix admin interface, formatting, and added some javascript +# 70602-1300 - More development on List mix admin interface, more javascript +# 70608-1459 - Added option to set LIVE Callbacks to INACTIVE after one month +# 70612-1451 - Added Callback INACTIVE link for after one week, sort by user/group/entrydate +# 70614-0231 - Added Status Categories, ability to Modify Statuses, moved system statuses to sub-section +# 70623-1008 - List Mix section now allows modification of list mix entries +# 70629-1721 - List Mix section adding and removing of list entries active +# 70706-1636 - List Mix section cleanup and more error-checking +# 70908-0941 - Added agc logile enable system_settings +# 71020-1934 - Added inbound groups options: on-hold music, messages, call_times +# 71022-1343 - Added inbound group ranks for users +# 71029-1710 - Added option for campaign to be inbound and/or blended with no restrictions on the campaign_id name +# - Added 5th NEW and 6th NEW to the dial order options +# 71030-2010 - Added Manual Dial List ID field to campaigns table +# 71103-2207 - Added inbound_group_rank and fewest_calls to the inbound groups call order options +# 71113-1521 - Added campaign_rank to agent options +# - Added ability to Copy a campaign's setting to a new campaign +# 71113-2225 - Added ability to copy user and in-group settings to new users and in-groups +# 71116-0942 - Added campaign_rank and fewest_calls as methods for agent call routing +# 71122-1135 - Added default transfer group for campaigns and inbound groups +# 71125-1751 - Added allowable transfer groups to campaign detail screen +# +# +# make sure you have added a user to the vicidial_users MySQL table with at least user_level 8 to access this page the first time + +$admin_version = '2.0.4-119'; +$build = '71125-1751'; + +$STARTtime = date("U"); +$SQLdate = date("Y-m-d H:i:s"); +$MT[0]=''; +$US='_'; + +$month_old = mktime(0, 0, 0, date("m")-1, date("d"), date("Y")); +$past_month_date = date("Y-m-d H:i:s",$month_old); +$week_old = mktime(0, 0, 0, date("m"), date("d")-7, date("Y")); +$past_week_date = date("Y-m-d H:i:s",$week_old); + +if ($force_logout) +{ + if( (strlen($PHP_AUTH_USER)>0) or (strlen($PHP_AUTH_PW)>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "Sie haben jetzt heraus geloggt. Danke\n"; + exit; +} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ($auth<1)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT * from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[3]; + $LOGuser_level =$row[4]; + $LOGuser_group =$row[5]; + $LOGdelete_users =$row[8]; + $LOGdelete_user_groups =$row[9]; + $LOGdelete_lists =$row[10]; + $LOGdelete_campaigns =$row[11]; + $LOGdelete_ingroups =$row[12]; + $LOGdelete_remote_agents =$row[13]; + $LOGload_leads =$row[14]; + $LOGcampaign_detail =$row[15]; + $LOGast_admin_access =$row[16]; + $LOGast_delete_phones =$row[17]; + $LOGdelete_scripts =$row[18]; + $LOGdelete_filters =$row[29]; + $LOGalter_agent_interface =$row[30]; + $LOGdelete_call_times =$row[32]; + $LOGmodify_call_times =$row[33]; + $LOGmodify_users =$row[34]; + $LOGmodify_campaigns =$row[35]; + $LOGmodify_lists =$row[36]; + $LOGmodify_scripts =$row[37]; + $LOGmodify_filters =$row[38]; + $LOGmodify_ingroups =$row[39]; + $LOGmodify_usergroups =$row[40]; + $LOGmodify_remoteagents =$row[41]; + $LOGmodify_servers =$row[42]; + $LOGview_reports =$row[43]; + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns =$row[0]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +###################################################################################################### +###################################################################################################### +####### Header settings +###################################################################################################### +###################################################################################################### + + +header ("Content-type: text/html; charset=utf-8"); +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDIAL ADMIN: "; + +if (!isset($ADD)) {$ADD=0;} + +if ($ADD=="1") {$hh='users'; echo "Addieren Sie Neuen Benutzer";} +if ($ADD=="1A") {$hh='users'; echo "Copy Benutzer";} +if ($ADD==11) {$hh='campaigns'; $sh='basic'; echo "Addieren Sie Neue Kampagne";} +if ($ADD==12) {$hh='campaigns'; $sh='basic'; echo "Copy Kampagne";} +if ($ADD==111) {$hh='lists'; echo "Addieren Sie Neue Liste";} +if ($ADD==121) {$hh='lists'; echo "Addieren Sie Neues DNC";} +if ($ADD==1111) {$hh='ingroups'; echo "Addieren Sie Neue In-Gruppe";} +if ($ADD==1211) {$hh='ingroups'; echo "Copy In-Gruppe";} +if ($ADD==11111) {$hh='remoteagent'; echo "Addieren Sie Neue Remotemittel";} +if ($ADD==111111) {$hh='usergroups'; echo "Addieren Sie Neue Benutzer-Gruppe";} +if ($ADD==1111111) {$hh='scripts'; echo "Addieren Sie Neuen Index";} +if ($ADD==11111111) {$hh='filters'; echo "Addieren Sie Neuen Filter";} +if ($ADD==111111111) {$hh='admin'; $sh='times'; echo "Füge neue Anrufzeit hinzu";} +if ($ADD==1111111111) {$hh='admin'; $sh='times'; echo "Füge neue landesspezifische Anrufzeit hinzu";} +if ($ADD==11111111111) {$hh='admin'; $sh='phones'; echo "ADDIEREN SIE NEUES TELEFON";} +if ($ADD==111111111111) {$hh='admin'; $sh='server'; echo "ADDIEREN SIE NEUEN BEDIENER";} +if ($ADD==1111111111111) {$hh='admin'; $sh='conference'; echo "ADDIEREN SIE NEUE KONFERENZ";} +if ($ADD==11111111111111) {$hh='admin'; $sh='conference'; echo "ADD NEW VICIDIAL CONFERENCE";} +if ($ADD=="2") {$hh='users'; echo "Neue Benutzer-Hinzufügung";} +if ($ADD=="2A") {$hh='users'; echo "Neue Kopierte Benutzer-Hinzufügung";} +if ($ADD==20) {$hh='campaigns'; $sh='basic'; echo "Neue Kopierte Kampagne Hinzufügung";} +if ($ADD==21) {$hh='campaigns'; $sh='basic'; echo "Neue Kampagne Hinzufügung";} +if ($ADD==22) {$hh='campaigns'; $sh='status'; echo "Neue Kampagne Status-Hinzufügung";} +if ($ADD==23) {$hh='campaigns'; $sh='hotkey'; echo "New Kampagne HotKey Addition";} +if ($ADD==25) {$hh='campaigns'; $sh='recycle'; echo "Neue Kampagne Leitung Bereiten Hinzufügung Auf";} +if ($ADD==26) {$hh='campaigns'; $sh='autoalt'; echo "Neuer Vorwahlknopf-Status Des Automobil-Alt";} +if ($ADD==27) {$hh='campaigns'; $sh='pause'; echo "Neuer Mittel-Pause Code";} +if ($ADD==28) {$hh='campaigns'; $sh='dialstat'; echo "Kampagne Vorwahlknopf-Status Addiert";} +if ($ADD==29) {$hh='campaigns'; $sh='listmix'; echo "Kampagne Liste Mischung Fügte Hinzu";} +if ($ADD==211) {$hh='lists'; echo "Neue Liste Hinzufügung";} +if ($ADD==2111) {$hh='ingroups'; echo "Neue In-Gruppe Hinzufügung";} +if ($ADD==2011) {$hh='ingroups'; echo "Neue Kopierte In-Gruppe Hinzufügung";} +if ($ADD==21111) {$hh='remoteagent'; echo "Neue Remotemittel-Hinzufügung";} +if ($ADD==211111) {$hh='usergroups'; echo "Neue Benutzer-Gruppe Hinzufügung";} +if ($ADD==2111111) {$hh='scripts'; echo "Neue Index-Hinzufügung";} +if ($ADD==21111111) {$hh='filters'; echo "Neue Filter-Hinzufügung";} +if ($ADD==211111111) {$hh='admin'; $sh='times'; echo "Neue Anrufzeit hinzufügen";} +if ($ADD==2111111111) {$hh='admin'; $sh='times'; echo "Neue landesspezifische Anrufzeit hinzufügen";} +if ($ADD==21111111111) {$hh='admin'; $sh='phones'; echo "ADDIEREN DES NEUEN TELEFONS";} +if ($ADD==211111111111) {$hh='admin'; $sh='server'; echo "ADDIEREN DES NEUEN BEDIENERS";} +if ($ADD==221111111111) {$hh='admin'; $sh='server'; echo "ADDIEREN DES NEUEN STAMM-SATZES DES BEDIENER-VICIDIAL";} +if ($ADD==2111111111111) {$hh='admin'; $sh='conference'; echo "ADDIEREN DER NEUEN KONFERENZ";} +if ($ADD==21111111111111) {$hh='admin'; $sh='conference'; echo "ADDING NEW VICIDIAL CONFERENCE";} +if ($ADD==221111111111111) {$hh='admin'; $sh='status'; echo "ADDIEREN VON VON VICIDIAL SYSTEMSTATUS";} +if ($ADD==231111111111111) {$hh='admin'; $sh='status'; echo "ADDIEREN VON VON VICIDIAL STATUS-KATEGORIE";} +if ($ADD==3) {$hh='users'; echo "Ändern Sie Benutzer";} +if ($ADD==30) {$hh='campaigns'; echo "Kampagne Nicht Erlaubt";} +if ($ADD==31) + { + $hh='campaigns'; $sh='detail'; echo "Ändern Sie Kampagne - Detail - $campaign_id"; + if ($SUB==22) {echo " - Statuses";} + if ($SUB==23) {echo " - HotKeys";} + if ($SUB==25) {echo " -Leitung Bereiten AufEntries";} + if ($SUB==26) {echo " - Auto Alt Dial Statuses";} + if ($SUB==27) {echo " - Agent Pause Codes";} + if ($SUB==29) {echo " - List Mixes";} + } +if ($ADD==32) {$hh='campaigns'; $sh='status'; echo "Kampagne Status";} +if ($ADD==33) {$hh='campaigns'; $sh='hotkey'; echo "Kampagne HotKeys";} +if ($ADD==34) {$hh='campaigns'; $sh='basic'; echo "Ändern Sie Kampagne - Grundlegende Ansicht";} +if ($ADD==35) {$hh='campaigns'; $sh='recycle'; echo "Kampagne Leitung Bereiten Eintragungen Auf";} +if ($ADD==36) {$hh='campaigns'; $sh='autoalt'; echo "Kampagne Selbstalt Vorwahlknopf-Status";} +if ($ADD==37) {$hh='campaigns'; $sh='pause'; echo "Kampagne Mittel-Pause Codes";} +if ($ADD==38) {$hh='campaigns'; $sh='dialstat'; echo "Kampagne Vorwahlknopf-Status";} +if ($ADD==39) {$hh='campaigns'; $sh='listmix'; echo "Kampagne Liste Mischungen";} +if ($ADD==311) {$hh='lists'; echo "Ändern Sie Liste";} +if ($ADD==3111) {$hh='ingroups'; echo "Ändern Sie In-Gruppe";} +if ($ADD==31111) {$hh='remoteagent'; echo "Ändern Sie Remotemittel";} +if ($ADD==311111) {$hh='usergroups'; echo "Ändern Sie Benutzer-Gruppen";} +if ($ADD==3111111) {$hh='scripts'; echo "Ändern Sie Index";} +if ($ADD==31111111) {$hh='filters'; echo "Ändern Sie Filter";} +if ($ADD==311111111) {$hh='admin'; $sh='times'; echo "Bearbeite Anrufzeit";} +if ($ADD==321111111) {$hh='admin'; $sh='times'; echo "Bearbeite Anrufzeit Landdefinitions-Liste";} +if ($ADD==3111111111) {$hh='admin'; $sh='times'; echo "Bearbeite landesspezifische Anrufzeit";} +if ($ADD==31111111111) {$hh='admin'; $sh='phones'; echo "ÄNDERN SIE TELEFON";} +if ($ADD==311111111111) {$hh='admin'; $sh='server'; echo "ÄNDERN SIE BEDIENER";} +if ($ADD==3111111111111) {$hh='admin'; $sh='conference'; echo "ÄNDERN SIE KONFERENZ";} +if ($ADD==31111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY VICIDIAL CONFERENCE";} +if ($ADD==311111111111111) {$hh='admin'; $sh='settings'; echo "ÄNDERN SIE VICIDIAL SYSTEM EINSTELLUNGEN";} +if ($ADD==321111111111111) {$hh='admin'; $sh='status'; echo "ÄNDERN SIE VICIDIAL SYSTEMSTATUS";} +if ($ADD==331111111111111) {$hh='admin'; $sh='status'; echo "ÄNDERN SIE VICIDIAL STATUS-KATEGORIE";} +if ($ADD=="4A") {$hh='users'; echo "Ändern Sie Benutzer - Admin";} +if ($ADD=="4B") {$hh='users'; echo "Ändern Sie Benutzer - Admin";} +if ($ADD==4) {$hh='users'; echo "Ändern Sie Benutzer";} +if ($ADD==41) {$hh='campaigns'; $sh='detail'; echo "Ändern Sie Kampagne";} +if ($ADD==42) {$hh='campaigns'; $sh='status'; echo "Ändern Sie Kampagne Status";} +if ($ADD==43) {$hh='campaigns'; $sh='hotkey'; echo "Ändern Sie Kampagne HotKey";} +if ($ADD==44) {$hh='campaigns'; $sh='basic'; echo "Ändern Sie Kampagne - Grundlegende Ansicht";} +if ($ADD==45) {$hh='campaigns'; $sh='recycle'; echo "Ändern Sie Kampagne Leitung Aufbereiten";} +if ($ADD==47) {$hh='campaigns'; $sh='pause'; echo "Ändern Sie Mittel-Pause Code";} +if ($ADD==49) {$hh='campaigns'; $sh='listmix'; echo "Ändern Sie Kampagne Liste Mischung";} +if ($ADD==411) {$hh='lists'; echo "Ändern Sie Liste";} +if ($ADD==4111) {$hh='ingroups'; echo "Ändern Sie In-Gruppe";} +if ($ADD==41111) {$hh='remoteagent'; echo "Ändern Sie Remotemittel";} +if ($ADD==411111) {$hh='usergroups'; echo "Ändern Sie Benutzer-Gruppen";} +if ($ADD==4111111) {$hh='scripts'; echo "Ändern Sie Index";} +if ($ADD==41111111) {$hh='filters'; echo "Ändern Sie Filter";} +if ($ADD==411111111) {$hh='admin'; $sh='times'; echo "Bearbeite Anrufzeit";} +if ($ADD==4111111111) {$hh='admin'; $sh='times'; echo "Bearbeite landesspezifische Anrufzeit";} +if ($ADD==41111111111) {$hh='admin'; $sh='phones'; echo "ÄNDERN SIE TELEFON";} +if ($ADD==411111111111) {$hh='admin'; $sh='server'; echo "ÄNDERN SIE BEDIENER";} +if ($ADD==421111111111) {$hh='admin'; $sh='server'; echo "ÄNDERN SIE STAMM-SATZ DES BEDIENER-VICIDIAL";} +if ($ADD==4111111111111) {$hh='admin'; $sh='conference'; echo "ÄNDERN SIE KONFERENZ";} +if ($ADD==41111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY VICIDIAL CONFERENCE";} +if ($ADD==411111111111111) {$hh='admin'; $sh='settings'; echo "ÄNDERN SIE VICIDIAL SYSTEM EINSTELLUNGEN";} +if ($ADD==421111111111111) {$hh='admin'; $sh='status'; echo "ÄNDERN SIE VICIDIAL SYSTEMSTATUS";} +if ($ADD==431111111111111) {$hh='admin'; $sh='status'; echo "ÄNDERN SIE VICIDIAL STATUS-KATEGORIEN";} +if ($ADD==5) {$hh='users'; echo "Delete User";} +if ($ADD==51) {$hh='campaigns'; $sh='detail'; echo "Delete Kampagne";} +if ($ADD==52) {$hh='campaigns'; $sh='detail'; echo "Logout-Mittel";} +if ($ADD==53) {$hh='campaigns'; $sh='detail'; echo "Dringlichkeits-VDAC Stau-Freier Raum";} +if ($ADD==511) {$hh='lists'; echo "Delete List";} +if ($ADD==5111) {$hh='ingroups'; echo "Delete In-Group";} +if ($ADD==51111) {$hh='remoteagent'; echo "Löschung-Direktübertragung Mittel";} +if ($ADD==511111) {$hh='usergroups'; echo "Löschung-Benutzer Group";} +if ($ADD==5111111) {$hh='scripts'; echo "Löschung-Index";} +if ($ADD==51111111) {$hh='filters'; echo "Löschung-Filter";} +if ($ADD==511111111) {$hh='admin'; $sh='times'; echo "Lösche Anrufzeit";} +if ($ADD==5111111111) {$hh='admin'; $sh='times'; echo "Lösche landesspezifische Anrufzeit";} +if ($ADD==51111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} +if ($ADD==511111111111) {$hh='admin'; $sh='server'; echo "DELETE SERVER";} +if ($ADD==5111111111111) {$hh='admin'; $sh='conference'; echo "DELETE CONFERENCE";} +if ($ADD==51111111111111) {$hh='admin'; $sh='conference'; echo "DELETE VICIDIAL CONFERENCE";} +if ($ADD==6) {$hh='users'; echo "Delete User";} +if ($ADD==61) {$hh='campaigns'; $sh='detail'; echo "Delete Kampagne";} +if ($ADD==62) {$hh='campaigns'; $sh='detail'; echo "Logout-Mittel";} +if ($ADD==63) {$hh='campaigns'; $sh='detail'; echo "Dringlichkeits-VDAC Stau-Freier Raum";} +if ($ADD==65) {$hh='campaigns'; $sh='recycle'; echo "Löschung-Leitung Bereiten Auf";} +if ($ADD==66) {$hh='campaigns'; $sh='autoalt'; echo "Selbstalt Vorwahlknopf-Status Der Löschung-";} +if ($ADD==67) {$hh='campaigns'; $sh='pause'; echo "Löschung-Mittel-Pause Code";} +if ($ADD==68) {$hh='campaigns'; $sh='dialstat'; echo "Kampagne Vorwahlknopf-Status Entfernt";} +if ($ADD==69) {$hh='campaigns'; $sh='listmix'; echo "Kampagne Liste Mischung Entfernte";} +if ($ADD==611) {$hh='lists'; echo "Delete List";} +if ($ADD==6111) {$hh='ingroups'; echo "Delete In-Group";} +if ($ADD==61111) {$hh='remoteagent'; echo "Löschung-Direktübertragung Mittel";} +if ($ADD==611111) {$hh='usergroups'; echo "Löschung-Benutzer Group";} +if ($ADD==6111111) {$hh='scripts'; echo "Löschung-Index";} +if ($ADD==61111111) {$hh='filters'; echo "Löschung-Filter";} +if ($ADD==611111111) {$hh='admin'; $sh='times'; echo "Lösche Anrufzeit";} +if ($ADD==6111111111) {$hh='admin'; $sh='times'; echo "Lösche landesspezifische Anrufzeit";} +if ($ADD==61111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} +if ($ADD==611111111111) {$hh='admin'; $sh='server'; echo "DELETE SERVER";} +if ($ADD==621111111111) {$hh='admin'; $sh='server'; echo "STAMM-SATZ DES LÖSCHUNG-BEDIENER-VICIDIAL";} +if ($ADD==6111111111111) {$hh='admin'; $sh='conference'; echo "DELETE CONFERENCE";} +if ($ADD==61111111111111) {$hh='admin'; $sh='conference'; echo "DELETE VICIDIAL CONFERENCE";} +if ($ADD==73) {$hh='campaigns'; echo "Anzahl anrufbarer Anschlüsse";} +if ($ADD==7111111) {$hh='scripts'; echo "Vorbetrachtung-Index";} +if ($ADD==0) {$hh='users'; echo "Benutzer-Liste";} +if ($ADD==8) {$hh='users'; echo "Wiederholungsbesuche Innerhalb Des Mittels";} +if ($ADD==81) {$hh='campaigns'; $sh='list'; echo "Wiederholungsbesuche Innerhalb Der Kampagne";} +if ($ADD==811) {$hh='lists'; echo "Wiederholungsbesuche Innerhalb Der Liste";} +if ($ADD==8111) {$hh='usergroups'; echo "Wiederholungsbesuche Innerhalb Der Benutzer-Gruppe";} +if ($ADD==10) {$hh='campaigns'; $sh='list'; echo "Kampagnen";} +if ($ADD==100) {$hh='lists'; echo "Listen";} +if ($ADD==1000) {$hh='ingroups'; echo "In-Gruppen";} +if ($ADD==10000) {$hh='remoteagent'; echo "Remotemittel";} +if ($ADD==100000) {$hh='usergroups'; echo "Benutzer-Gruppen";} +if ($ADD==1000000) {$hh='scripts'; echo "Indexe";} +if ($ADD==10000000) {$hh='filters'; echo "Filter";} +if ($ADD==100000000) {$hh='admin'; $sh='times'; echo "Anrufzeiten";} +if ($ADD==1000000000) {$hh='admin'; $sh='times'; echo "Landesspezische Anrufzeiten";} +if ($ADD==10000000000) {$hh='admin'; $sh='phones'; echo "TELEFON-LISTE";} +if ($ADD==100000000000) {$hh='admin'; $sh='server'; echo "BEDIENER-LISTE";} +if ($ADD==1000000000000) {$hh='admin'; $sh='conference'; echo "KONFERENZ-LISTE";} +if ($ADD==10000000000000) {$hh='admin'; $sh='conference'; echo "VICIDIAL KONFERENZ-LISTE";} +if ($ADD==550) {$hh='users'; echo "Suchform";} +if ($ADD==551) {$hh='users'; echo "SUCHTELEFONE";} +if ($ADD==660) {$hh='users'; echo "Suchresultate";} +if ($ADD==661) {$hh='users'; echo "SUCHE RUFT RESULTATE AN";} +if ($ADD==99999) {$hh='users'; echo "HILFE";} +if ($ADD==999999) {$hh='reports'; echo "REPORTS";} + +if ( ($ADD>9) && ($ADD < 99998) ) + { + ##### get scripts listing for dynamic pulldown + $stmt="SELECT script_id,script_name from vicidial_scripts order by script_id"; + $rslt=mysql_query($stmt, $link); + $scripts_to_print = mysql_num_rows($rslt); + $scripts_list="<option value=\"\">NONE</option>\n"; + + $o=0; + while ($scripts_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $scripts_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $scriptname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + ##### get filters listing for dynamic pulldown + $stmt="SELECT lead_filter_id,lead_filter_name,lead_filter_sql from vicidial_lead_filters order by lead_filter_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + $filters_list="<option value=\"\">NONE</option>\n"; + + $o=0; + while ($filters_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $filters_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $filtername_list["$rowx[0]"] = "$rowx[1]"; + $filtersql_list["$rowx[0]"] = "$rowx[2]"; + $o++; + } + + ##### get call_times listing for dynamic pulldown + $stmt="SELECT call_time_id,call_time_name from vicidial_call_times order by call_time_id"; + $rslt=mysql_query($stmt, $link); + $times_to_print = mysql_num_rows($rslt); + + $o=0; + while ($times_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $call_times_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $call_timename_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + } + +if ( ( (strlen($ADD)>4) && ($ADD < 99998) ) or ($ADD==3) or (($ADD>20) and ($ADD<70)) or ($ADD=="4A") or ($ADD=="4B") or (strlen($ADD)==12) ) + { + ##### get server listing for dynamic pulldown + $stmt="SELECT server_ip,server_description from servers order by server_ip"; + $rslt=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rslt); + $servers_list=''; + + $o=0; + while ($servers_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $servers_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + ##### BEGIN get campaigns listing for rankings ##### + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + $campaigns_value=''; + $RANKcampaigns_list="<tr><td>CAMPAIGN</td><td>     RANK</td><td>     CALLS</td></tr>\n"; + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $campaign_id_values[$o] = $rowx[0]; + $campaign_name_values[$o] = $rowx[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + $stmt="SELECT campaign_rank,calls_today from vicidial_campaign_agents where user='$user' and campaign_id='$campaign_id_values[$o]'"; + $rslt=mysql_query($stmt, $link); + $ranks_to_print = mysql_num_rows($rslt); + if ($ranks_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $SELECT_campaign_rank = $row[0]; + $calls_today = $row[1]; + } + else + {$calls_today=0; $SELECT_campaign_rank=0;} + if ( ($ADD=="4A") or ($ADD=="4B") ) + { + if (isset($_GET["RANK_$campaign_id_values[$o]"])) {$campaign_rank=$_GET["RANK_$campaign_id_values[$o]"];} + elseif (isset($_POST["RANK_$campaign_id_values[$o]"])) {$campaign_rank=$_POST["RANK_$campaign_id_values[$o]"];} + + if ($ranks_to_print > 0) + { + $stmt="UPDATE vicidial_campaign_agents set campaign_rank='$campaign_rank', campaign_weight='$campaign_rank' where campaign_id='$campaign_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO vicidial_campaign_agents set campaign_rank='$campaign_rank', campaign_weight='$campaign_rank', campaign_id='$campaign_id_values[$o]', user='$user';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_live_agents set campaign_weight='$campaign_rank' where campaign_id='$campaign_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else {$campaign_rank = $SELECT_campaign_rank;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + # disable non user-group allowable campaign ranks + $stmt="SELECT user_group from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Ruser_group = $row[0]; + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$Ruser_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_campaigns = $row[0]; + $allowed_campaigns = preg_replace("/ -$/","",$allowed_campaigns); + $UGcampaigns = explode(" ", $allowed_campaigns); + + $p=0; $RANK_camp_active=0; $CR_disabled = ''; + if (eregi('-ALL-CAMPAIGNS-',$allowed_campaigns)) + {$RANK_camp_active++;} + else + { + $UGcampaign_ct = count($UGcampaigns); + while ($p < $UGcampaign_ct) + { + if ($campaign_id_values[$o] == $UGcampaigns[$p]) + {$RANK_camp_active++;} + $p++; + } + } + if ($RANK_camp_active < 1) {$CR_disabled = 'DISABLED';} + + $RANKcampaigns_list .= "<tr $bgcolor><td>"; + $campaigns_list .= "<a href=\"$PHP_SELF?ADD=31&campaign_id=$campaign_id_values[$o]\">$campaign_id_values[$o]</a> - $campaign_name_values[$o] <BR>\n"; + $RANKcampaigns_list .= "<a href=\"$PHP_SELF?ADD=31&campaign_id=$campaign_id_values[$o]\">$campaign_id_values[$o]</a> - $campaign_name_values[$o] </td>"; + $RANKcampaigns_list .= "<td>     <select size=1 name=RANK_$campaign_id_values[$o] $CR_disabled>\n"; + $h="9"; + while ($h>=-9) + { + $RANKcampaigns_list .= "<option value=\"$h\""; + if ($h==$campaign_rank) + {$RANKcampaigns_list .= " SELECTED";} + $RANKcampaigns_list .= ">$h</option>"; + $h--; + } + $RANKcampaigns_list .= "</select></td>\n"; + $RANKcampaigns_list .= "<td align=right>     $calls_today</td></tr>\n"; + $o++; + } + ##### END get campaigns listing for rankings ##### + + + ##### BEGIN get inbound groups listing for checkboxes ##### + $xfer_groupsSQL=''; + if ( (($ADD>20) and ($ADD<70)) and ($ADD!=41) ) + { + $stmt="SELECT closer_campaigns,xfer_groups from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + $xfer_groups = $row[1]; + $xfer_groups = preg_replace("/ -$/","",$xfer_groups); + $XFERgroups = explode(" ", $xfer_groups); + $xfer_groupsSQL = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groupsSQL = preg_replace("/ /","','",$xfer_groupsSQL); + $xfer_groupsSQL = "WHERE group_id IN('$xfer_groupsSQL')"; + } + if ($ADD==41) + { + $p=0; + $XFERgroup_ct = count($XFERgroups); + while ($p < $XFERgroup_ct) + { + $xfer_groups .= " $XFERgroups[$p]"; + $p++; + } + $xfer_groupsSQL = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groupsSQL = preg_replace("/ /","','",$xfer_groupsSQL); + $xfer_groupsSQL = "WHERE group_id IN('$xfer_groupsSQL')"; + } + + if ( (($ADD==31111) or ($ADD==31111)) and (count($groups)<1) ) + { + $stmt="SELECT closer_campaigns from vicidial_remote_agents where remote_agent_id='$remote_agent_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + } + + if ($ADD==3) + { + $stmt="SELECT closer_campaigns from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $groups_list=''; + $groups_value=''; + $XFERgroups_list=''; + $RANKgroups_list="<tr><td>INBOUND GROUP</td><td>     RANK</td><td>     CALLS</td></tr>\n"; + + $o=0; + while ($groups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $group_id_values[$o] = $rowx[0]; + $group_name_values[$o] = $rowx[1]; + $o++; + } + + $o=0; + while ($groups_to_print > $o) + { + $stmt="SELECT group_rank,calls_today from vicidial_inbound_group_agents where user='$user' and group_id='$group_id_values[$o]'"; + $rslt=mysql_query($stmt, $link); + $ranks_to_print = mysql_num_rows($rslt); + if ($ranks_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $SELECT_group_rank = $row[0]; + $calls_today = $row[1]; + } + else + {$calls_today=0; $SELECT_group_rank=0;} + if ( ($ADD=="4A") or ($ADD=="4B") ) + { + if (isset($_GET["RANK_$group_id_values[$o]"])) {$group_rank=$_GET["RANK_$group_id_values[$o]"];} + elseif (isset($_POST["RANK_$group_id_values[$o]"])) {$group_rank=$_POST["RANK_$group_id_values[$o]"];} + + if ($ranks_to_print > 0) + { + $stmt="UPDATE vicidial_inbound_group_agents set group_rank='$group_rank', group_weight='$group_rank' where group_id='$group_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO vicidial_inbound_group_agents set group_rank='$group_rank', group_weight='$group_rank', group_id='$group_id_values[$o]', user='$user';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_live_inbound_agents set group_weight='$group_rank' where group_id='$group_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else {$group_rank = $SELECT_group_rank;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $groups_list .= "<input type=\"checkbox\" name=\"groups[]\" value=\"$group_id_values[$o]\""; + $XFERgroups_list .= "<input type=\"checkbox\" name=\"XFERgroups[]\" value=\"$group_id_values[$o]\""; + $RANKgroups_list .= "<tr $bgcolor><td><input type=\"checkbox\" name=\"groups[]\" value=\"$group_id_values[$o]\""; + $p=0; + $group_ct = count($groups); + while ($p < $group_ct) + { + if ($group_id_values[$o] == $groups[$p]) + { + $groups_list .= " CHECKED"; + $RANKgroups_list .= " CHECKED"; + $groups_value .= " $group_id_values[$o]"; + } + $p++; + } + $p=0; + $XFERgroup_ct = count($XFERgroups); + while ($p < $XFERgroup_ct) + { + if ($group_id_values[$o] == $XFERgroups[$p]) + { + $XFERgroups_list .= " CHECKED"; + $XFERgroups_value .= " $group_id_values[$o]"; + } + $p++; + } + $groups_list .= "> <a href=\"$PHP_SELF?ADD=3111&group_id=$group_id_values[$o]\">$group_id_values[$o]</a> - $group_name_values[$o] <BR>\n"; + $XFERgroups_list .= "> <a href=\"$PHP_SELF?ADD=3111&group_id=$group_id_values[$o]\">$group_id_values[$o]</a> - $group_name_values[$o] <BR>\n"; + $RANKgroups_list .= "> <a href=\"$PHP_SELF?ADD=3111&group_id=$group_id_values[$o]\">$group_id_values[$o]</a> - $group_name_values[$o] </td>"; + $RANKgroups_list .= "<td>     <select size=1 name=RANK_$group_id_values[$o]>\n"; + $h="9"; + while ($h>=-9) + { + $RANKgroups_list .= "<option value=\"$h\""; + if ($h==$group_rank) + {$RANKgroups_list .= " SELECTED";} + $RANKgroups_list .= ">$h</option>"; + $h--; + } + $RANKgroups_list .= "</select></td>\n"; + $RANKgroups_list .= "<td align=right>     $calls_today</td></tr>\n"; + $o++; + } + if (strlen($groups_value)>2) {$groups_value .= " -";} + if (strlen($XFERgroups_value)>2) {$XFERgroups_value .= " -";} + } + ##### END get inbound groups listing for checkboxes ##### + + + ##### BEGIN get campaigns listing for checkboxes ##### + if ( ($ADD==211111) or ($ADD==311111) or ($ADD==411111) or ($ADD==511111) or ($ADD==611111) ) + { + if ( ($ADD==211111) or ($ADD==311111) or ($ADD==511111) or ($ADD==611111) ) + { + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_campaigns = $row[0]; + $allowed_campaigns = preg_replace("/ -$/","",$allowed_campaigns); + $campaigns = explode(" ", $allowed_campaigns); + } + + $campaigns_value=''; + $campaigns_list='<B><input type="checkbox" name="campaigns[]" value="-ALL-CAMPAIGNS-"'; + $p=0; + while ($p<100) + { + if (eregi('ALL-CAMPAIGNS',$campaigns[$p])) + { + $campaigns_list.=" CHECKED"; + $campaigns_value .= " -ALL-CAMPAIGNS- -"; + } + $p++; + } + $campaigns_list.="> ALL-CAMPAIGNS - BENUTZER KÖNNEN JEDE MÖGLICHE KAMPAGNE ANSEHEN</B><BR>\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaign_id_value = $rowx[0]; + $campaign_name_value = $rowx[1]; + $campaigns_list .= "<input type=\"checkbox\" name=\"campaigns[]\" value=\"$campaign_id_value\""; + $p=0; + while ($p<100) + { + if ($campaign_id_value == $campaigns[$p]) + { + # echo "<!-- X $p|$campaign_id_value|$campaigns[$p]| -->"; + $campaigns_list .= " CHECKED"; + $campaigns_value .= " $campaign_id_value"; + } + # echo "<!-- O $p|$campaign_id_value|$campaigns[$p]| -->"; + $p++; + } + $campaigns_list .= "> $campaign_id_value - $campaign_name_value<BR>\n"; + $o++; + } + if (strlen($campaigns_value)>2) {$campaigns_value .= " -";} + } + ##### END get campaigns listing for checkboxes ##### + + + if ( (strlen($ADD)==11) or (strlen($ADD)>12) ) + { + ##### get server listing for dynamic pulldown + $stmt="SELECT server_ip,server_description from servers order by server_ip"; + $rsltx=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rsltx); + $servers_list=''; + + $o=0; + while ($servers_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $servers_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + } + + + +$NWB = "   <a href=\"javascript:openNewWindow('$PHP_SELF?ADD=99999"; +$NWE = "')\"><IMG SRC=\"help.gif\" WIDTH=20 HEIGHT=20 Border=0 ALT=\"HILFE\" ALIGN=TOP></A>"; + + +###################################################################################################### +###################################################################################################### +####### 9 series, HELP screen +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=99999 display the HELP SCREENS +###################### + +if ($ADD==99999) +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "
\n"; +echo "
VICIDIAL ADMIN: HILFE


\n"; + +?> +VICIDIAL_BENUTZERTABELLE

+ +
+Benutzernummer - Dieses fangen ist, wohin Sie dieVICIDIAL Benutzernummer Zahl setzen, kann bis 8 Stellen in der Längesein, muß mindestens 2 Buchstaben lang sein auf. + +
+
+
+Kennwort - Dieses fangen ist auf, wohin Sie das VICIDIALBenutzerkennwort setzen. Sein mindestens müssen 2 Buchstaben lang. + +
+
+
+Voller Name - Dieses fangen ist auf, wohin Sie den vollenNamen der VICIDIAL Benutzer setzen. Sein mindestens müssen 2Buchstaben lang. + +
+
+
+Benutzer-Niveau - Dieses Menü ist, wo Sie das VICIDIALBenutzer-Benutzerniveau vorwählen. Sein muß ein Niveau von inVICIDIAL zu loggen 1,, muß waagerecht ausgerichtet grösser sein, alsals genaueres innen zu loggen 2, Benutzerniveau 8 oder grösser seinmüssen, in admin Netzabschnitt zu erhalten. + +
+
+
+Benutzer-Gruppe - Dieses Menü ist, wo Sie die VICIDIALBenutzergruppe vorwählen, daß dieser Benutzer gehört. Dieses hatkeine Beschränkungen diesmal, ist dieses gerecht, Benutzer zuunterteilen und die zukünftigen Eigenschaften zuzulassen, die nachihm gegründet werden. + +
+
+
+Telefon-LOGON - Für hier ist, wo Sie einen RückstellungTelefon-LOGON-Wert wenn die Benutzermaschinenbordbücher invicidial.php einstellen können. Dieser Wert bevölkert dasphone_login automatisch wenn die Benutzermaschinenbordbücher innenmit ihrer Benutzer-überschreiten-Kampagne auf dem vicidial.phpLOGON-Schirm. + +
+
+
+Telefon-Durchlauf - Für hier ist, wo Sie einen RückstellungTelefon-Durchlaufwert wenn die Benutzermaschinenbordbücher invicidial.php einstellen können. Dieser Wert bevölkert die phone_passautomatisch wenn die Benutzermaschinenbordbücher innen mit ihrerBenutzer-überschreiten-Kampagne auf dem vicidial.php LOGON-Schirm. + +
+
+
+Hot Keys aktiv - Diese Wahl, wenn Satz bis 1 dem Benutzer erlaubt,die Hot Keys schnelle-dispositioning Funktion innen zu verwenden vicidial.php. + +
+
+
+Mittel wählen Ingroups - Diese Wahl, wenn Satz bis 1 dem Benutzererlaubt, die ingroups zu wählen, denen sie Anrufe von wenn sie LOGONzu einer GENAUEREN oder INBOUND Kampagne empfangen. Andernfalls mußder Manager dieses auf ihrem Benutzersonderkommandoschirm der adminSeite einstellen. + +
+
+
+Zeitlich geplante Wiederholungsbesuche - Diese Wahl erlaubt einemMittel zur Einteilung einen Anruf als CALLBK und wählt die Daten unddie Zeit, an denen die Leitung reaktiviert wird. + +
+
+
+Mittel-Nur Wiederholungsbesuche - Diese Wahl erlaubt einemVertreter, einen Wiederholungsbesuch einzustellen, damit sie daseinzige Mittel sind, das die Kunde Rückseite benennen kann. Dieseserlaubt auch dem Vertreter, ihre Wiederholungsbesuch Auflistungen zusehen und sie zurück zu benennen, immer wenn sie zu wünschen. + +
+
+
+Vertreter-Anruf-Handbuch - Diese Wahl erlaubt einem Vertreter,eine neue Leitung in das System manuell einzutragen und sie zubenennen. Dieses auch erlaubt das Benennen jeder möglicherTelefonnummer von ihrem vicidial Schirm und setzt diesen Anruf inihren Lernabschnitt. Verwenden Sie diese Wahl mit Vorsicht. + +
+
+
+Vicidial Aufnahme - Diese Wahl kann verhindern, daß ein Mittelalle mögliche Aufnahmen tut, nachdem sie innen in vicidialprotokollieren. Diese Wahl muß eingeschaltet sein, damit vicidial demKampagne Aufnahmelernabschnitt folgt. + +
+
+
+Vicidial Übertragungen - Diese Wahl kann verhindern, daß einMittel die Übertragung - Konferenzlernabschnitt von vicidial öffnet.Wenn dieses untauglich ist, kann das Mittel nicht dritterParteianruf, oder blinde Übertragung irgendeine benennt. + +
+
+
+Genauere Rückstellung gemischt - Diese Wahl fällt einfach dasgemischte checkbox auf einem GENAUEREN LOGON-Schirm zurück. + +
+
+
+VICIDIAL Aufnahme-Übersteuerung - diese Wahl läuft über, was auchimmer die Wahl in der Kampagne für Aufnahme ist. UNTAUGLICH läuftnicht die Kampagne Aufnahmeeinstellung über. NIE sperrt Aufnahme aufdem Klienten. ONDEMAND ist die Rückstellung und erlaubt dem Vertreterzu notieren zu beginnen und, zu stoppen, wie gebraucht. ALLCALLSbeginnt Aufnahme auf dem Klienten, wann immer ein Anruf zu einemMittel geschickt wird. ALLFORCE beginnt Aufnahme auf dem Klienten,wann immer ein Anruf zu einem Mittel geschickt wird, das dem Mittelkeine Wahl gibt, um zu notieren zu stoppen. Für ALLCALLS und ALLFORCEgibt es eine Wahl, zum der Aufnahme zu benutzen verzögert, um untenauf sehr kurze Aufnahmen und recude Anlagen-Belastung zu schneiden. + +
+
+
+Kampagne ordnet - in diesem Abschnitt können Sie den Rank definieren,den ein Mittel für jede Kampagne hat. Diese Rank können gewohntSEIN,bevorzugte Anrufwegewahl zuzulassen, wenn folgender Vertreter-Anrufauf campaign_rank eingestellt wird. + +
+
+
+Inbound Gruppen - Ist hier, wo Sie die inbound Gruppen vorwählen,die Sie Anrufe von empfangen möchten, wenn Sie die GENAUERE Kampagnevorgewählt haben. SieSIND auch in der Lage, den Rank oder Fähigkeit Niveaueinzustellen, in diesem Abschnitt für jede der inbound Gruppen sowieIn der LageSEIN, die Zahl den Anrufen zu sehen, die von jeder inboundGruppe für dieses spezifische Mittel empfangen werden. Auch in diesem Abschnitt ist die Fähigkeit, dem Mittel einen Rankfür jede inbound Gruppe zu geben. Diese Rank können für bevorzugteAnrufwegewahl verwendet werden, wenn diese Wahl auf dem IngruppeSchirm vorgewählt wird. + +
+
+
+Mittel ändern Kunde Daten-Übersteuerung - diese Wahl läuft über,was auch immer die Wahl in der Kampagne für das Ändern von KundeDaten ist. NOT_ACTIVE verwendet, was auch immer Einstellung für dieKampagne anwesend ist. ALLOW_ALTER darf immer, damit das Mittel dieKunde Daten ändert, egal was die Kampagne Einstellung ist.Rückstellung ist NOT_ACTIVE. + +
+
+
+Ändern Sie Mittel-Schnittstelle Wahlen - diese Wahl, wenn Satzbis 1 dem administrativen Benutzer erlaubt, die MittelschnittstelleWahlen in admin.php zu ändern. + +
+
+
+Löschung-Benutzer - Diese Wahl, wenn Satz bis 1 dem Benutzererlaubt, andere Benutzer des Gleichgestellten oder wenigenBenutzerniveaus aus dem System zu löschen. + +
+
+
+Löschung-Benutzer-Gruppen - Diese Wahl, wenn Satz bis 1 demBenutzer erlaubt, Benutzergruppen aus dem System zu löschen. + +
+
+
+Löschung verzeichnet - Diese Wahl, wenn Satz bis 1 dem Benutzererlaubt, vicidial Listen aus dem System zu löschen. + +
+
+
+Löschung wirbt - Diese Wahl, wenn Satz bis 1 dem Benutzererlaubt, vicidial Kampagnen aus dem System zu löschen. + +
+
+
+Löschung In-Gruppen - Diese Wahl, wenn Satz bis 1 dem Benutzererlaubt, vicidial In-Gruppen aus dem System zu löschen. + +
+
+
+Löschung-Remotemittel - Diese Wahl, wenn Satz bis 1 dem Benutzererlaubt, vicidial Remotemittel aus dem System zu löschen. + +
+
+
+Last führt - Diese Wahl, wenn Satz bis 1 dem Benutzer erlaubt,vicidial Leitungen in die vicidial_list Tabelle über die Netzgegründete Leitung Ladevorrichtung zu laden. + +
+
+
+Kampagne Detail - Diese Wahl, wenn Satz bis 1 dem Benutzererlaubt, die Kampagne Detail-Schirmelemente anzusehen und zu ändern. + +
+
+
+AGC Admin Zugang - Diese Wahl, wenn Satz bis 1 den Benutzer zumLOGON zu den astGUIclient admin Seiten erlaubt. + +
+
+
+AGC Löschung-Telefone - Diese Wahl, wenn Satz bis 1 dem Benutzererlaubt, Telefoneintragungen in den astGUIclient admin Seiten zulöschen. + +
+
+
+Löschung-Indexe - Diese Wahl, wenn Satz bis 1 dem Benutzererlaubt, Kampagne Indexe auf dem Indexänderung Schirm zu löschen. + +
+
+
+Ändern Sie Leitungen - Diese Wahl, wenn Satz bis 1 dem Benutzererlaubt, Leitungen in der admin Abschnittleitung Suchresultate Seitezu ändern. + +
+
+
+Ändern Sie Vertreter-Kampagne - Diese Wahl, wenn Satz bis 1 demBenutzer erlaubt, die Kampagne zu ändern, daß ein Mittel in geloggtwird, während sie in es geloggt werden. + +
+
+
+Löschung filtert - Diese Wahl erlaubt dem Benutzer, in der LagezuSEIN, vicidial Leitung Filter aus dem System zu löschen. + +
+
+
+Löschen Anrufzeiten - Diese Option erlaubt dem Nutzer die Vicidial Anrufzeiten Aufzeichnungen und Vicidial Status Anrufzeiten Aufzeichnungen vom System zu löschen. + +
+
+
+Ändere Anrufzeiten - Diese Option erlaubt dem Nutzer das Ansehen und Ändern der Anrufzeiten und Status Anrufzeiten Aufzeichnungen. Ein Nutzer braucht diese Option nicht aktiviert, wenn er nur die Anrufzeit Option auf der Kampagnen-Sicht ändern können muss. + +
+
+
+Ändern Sie Abschnitte - diese Wahlen erlauben dem Benutzer, jedesanzusehen und zu ändern Abschnittaufzeichnungen. Wenn Satz bis 0, derBenutzer in der LageIST, die Abschnittliste, aber nicht das Detailoder den Änderung Schirm einer Aufzeichnung in diesem Abschnitt zusehen. + +
+
+
+Ansicht berichtet - diese Wahl erlaubt dem Benutzer, die VICIDIALReports anzusehen. + + + + +



+ +VICIDIAL_CAMPAIGNSTABELLE

+
+
+Kampagne Identifikation - Dieses ist der kurze Name der Kampagne,es ist nicht editable nach Ausgangsunterordnung, kann nicht Räumeenthalten und muß zwischen 2 und 8 Buchstaben im lengt seinh. + +
+
+
+Kampagne Name - Dieses ist die Beschreibung der Kampagne, muß eszwischen 6 und 40 Buchstaben lang sein. + +
+
+
+Kampagne Beschreibung - dieses ist ein Protokoll auffangenfür die Kampagne, ist es wahlweise freigestellt und kann ein Maximumvon 255 Buchstaben lang sein. + +
+
+
+Kampagne Änderung Datum - dieses ist das letzte Mal, daß dieEinstellungen für diese Kampagne in jeder Hinsicht geändert wurden. + +
+
+
+Letztes Kampagne LOGON-Datum - dieses ist das letzte Mal, daß einMittel in diese Kampagne geloggt wurde. + +
+
+
+Kampagne Notfall erneuern - dieses checkbox erlaubt Ihnen, einenvicidial Notfall zu zwingen erneuern, selbst wenn die Kampagne nichtaktiv ist. + +
+
+
+Aktiv - Dieses ist, wohin Sie die Kampagne auf aktives oderunaktiviertes einstellen. Wenn unaktiviert, kann noone in es loggen. + +
+
+
+Park-Verlängerung - Dieses ist, wo Sie besonders anfertigenkönnen auf-halten Musik für VICIDIAL. Stellen Sie sicher, daß dieVerlängerung im Platz im extensions.conf ist und das, das es auf denDateinamen unten zeigt. + +
+
+
+Park-Dateiname - Dieses ist, wo Sie besonders anfertigen könnenauf-halten Musik für VICIDIAL. Stellen Sie sicher, daß der Dateiname10 Buchstaben lang oder kleiner ist und daß die Akte im Platz im/var/lib/asterisk/sounds Verzeichnis ist. + +
+
+
+Netz-Form - Dieses ist, wo Sie die kundenspezifische Webseiteeinstellen können, die geöffnet ist, wenn der Benutzer an dieNETZ-FORM-Taste klickt. + +
+
+
+Erlauben Sie Closers - Dieses ist, wo Sie einstellen können, obdie Benutzer dieser Kampagne die Wahl haben, zum des Anrufs zu einemgenauerem zu schicken. + +
+
+
+Rückstellung Übergangsgruppe - dieses fangen ist dieRückstellung In-Gruppe auf, die automatisch vorgewählt wird, wenndas Mittel zum Bringenkonferenz Rahmen in ihrer Mittelschnittstellegeht. + +
+
+
+Gewährte Übergangsgruppen - mit diesen checkbox Auflistungen könnenSie die Gruppen vorwählen, denen Mittel in dieser Kampagne bringenkönnen Anrufe zu. Erlauben Sie Closers muß ermöglicht werden, damitdiese Wahl oben darstellt. + +
+
+
+Erlauben Sie Inbound und gemischt - dieses ist, wo Sie einstellenkönnen, ob die Benutzer dieser Kampagne die Wahl haben, zum von voninbound Anrufen mit dieser Kampagne zu nehmen. Wenn Sie gemischtesinbound und outbound tun möchten dann, muß dieses auf Y eingestelltwerden. Wenn Sie nur das outbound Wählen auf dieser Kampagne tunmöchten einstellten dieses auf N. Default sind N. + +
+
+
+Vorwahlknopf-Status - Dieses ist, wohin Sie die Status einstellen,die Sie an innerhalb der Listen wählen wünschen, die für dieKampagne unten aktiv sind. Um einen anderen Status Vorwahlknopf hinzuzufügen, wählen Sie ihnvon der Drop-Down-Liste vor und Klicken FÜGT hinzu. Um einen derVorwahlknopfstatus zu entfernen, klicken Sie an dieENTFERNENVERBINDUNG nahe bei dem Status, den Sie entfernen möchten. + +
+
+
+Liste Auftrag - Dieses Menü ist, wo Sie vorwählen, wie dieLeitungen, die die Status zusammenbringen, die oben vorgewähltwerden, in den Leitung Zufuhrbehälter eingesetzt werden: +
  - DOWN: wählen Sie die ersten Leitungen vor, die in die vicidial_list Tabellegeladen werden +
  - UP: wählen Sie die letzten Leitungen vor, die in die vicidial_listTabelle geladen werden +
  - UP PHONE: wählen Sie die höchste Telefonnummer und die Arbeiten seine Weiseunten vor +
  - DOWN PHONE: wählen Sie die niedrigste Telefonnummer und die Arbeiten seine Weiseoben vor +
  - UP LAST NAME: Anfänge mit letzten Namen beginnend mit Z und Arbeiten seine Weiseunten +
  - DOWN LAST NAME: Anfänge mit letzten Namen beginnend mit A und Arbeiten seine Weiseoben +
  - UP COUNT: Anfänge mit benannten Leitungen und Arbeiten seine Weise unten +
  - DOWN COUNT: Anfänge mit wenigen benannten Leitungen und Arbeiten seine Weiseoben +
  - DOWN COUNT 2nd NEW: Anfänge mit wenigen benannten Leitungen und Arbeiten seine Weise, dieoben eine NEUE Leitung in jeder anderen Leitung einsetzt - dürfenNICHT NEUES haben vorgewählt in den Vorwahlknopfstatus +
  - DOWN COUNT 3nd NEW: Anfänge mit wenigen benannten Leitungen und Arbeiten seine Weise, dieoben eine NEUE Leitung in jeder dritten Leitung einsetzt - dürfenNICHT NEUES haben vorgewählt in den Vorwahlknopfstatus +
  - DOWN COUNT 4th NEW: Anfänge mit wenigen benannten Leitungen und Arbeiten seine Weise, dieoben eine NEUE Leitung in jedem einsetzt weiter, führen Sie - darfNICHT NEUES haben vorgewählt in den Vorwahlknopfstatus + +
+
+
+Zufuhrbehälter waagerecht ausgerichtet - Dieses ist, wieviele dieVDhopper Indexversuche führt, um in der vicidial_hopper Tabelle fürdiese Kampagne zu halten. Wenn Sie VDhopper Index jede Minute laufenlassen, bilden Sie dieses etwas grösser als die Zahl Leitungen, dieSie in eine Minute durchmachen. + +
+
+
+Leitung Filter - Dieses ist eine Methode der Entstörung IhrerLeitungen mit einem Fragment einer SQL Frage. Benutzen Sie dieseFunktion mit Vorsicht, es ist einfach mit, der geringfügigstenÄnderung zur SQL Aussage versehentlich zu wählen zu stoppen.Rückstellung ist KEINE. + +
+
+
+Kraft-Zurückstellen des Zufuhrbehälters - erlaubt dieses Ihnen,aus dem Zufuhrbehälterinhalt nach Formunterordnung abzuwischen. Essollte wieder gefüllt werden, wenn der VDhopper Index läuft. + +
+
+
+Vorwahlknopf-Methode - Dieses fangen ist die Weise, wie auf das Wählen zu definieren, stattfinden soll. Wenn HANDBUCH dann das auto_dial_level bei 0 verschlossen ist, es sei denn Vorwahlknopf-Methode geändert wird. Wenn VERHÄLTNIS dann der Normal, der eine Zeilenzahl für aktive Mittel wählt. ADAPT_HARD_LIMIT wählt predictively bis zum fallengelassenen Prozentsatz und dann erlaubt nicht das konkurrenzfähige Wählen, sobald die Tropfenbegrenzung erreicht wird, bis der Prozentsatz unten wieder geht. ADAPT_TAPERED läßt laufenden Überschuß den fallengelassenen Prozentsatz zur Hälfte erste der Verschiebung zu - wie durch das call_time definiert, das für Kampagne vorgewählt wird und erhält strenger, während die Verschiebung weitergeht. ADAPT_AVERAGE versucht, einen Durchschnitt oder den fallengelassenen Prozentsatz beizubehalten so, die konkurrenzfähig harte Begrenzungen nicht wie die anderen zwei Methoden auferlegen. Sie können nicht das Selbstvorwahlknopf-Niveau ändern, wenn Sie in irgendwelchen der ANPASSENVORWAHLKNOPFMETHODEN sind. Nur der Dialer kann das Vorwahlknopfniveau ändern wenn im vorbestimmten wählenden Modus. + +
+
+
+Selbstvorwahlknopf-Niveau - Dieses ist, wohin Sie einstellen,wieviele VICIDIAL sollte pro Mittel 0 verwenden des aktiven Mittelsnull zeichnet, Automobil, daswählen aus ist und die Mittel klicken,um jede Nummer zu wählen. Andernfalls hält VICIDIALWählverbindungen gleich den aktiven Mitteln, die mit demVorwahlknopfniveau multipliziert werden, um zu, wievielen Linien zukommen diese Kampagne auf jedem Bediener erlauben sollte. Das ANPASSENÜBERSTEUERUNG checkbox erlaubt Ihnen, ein neuesVorwahlknopfniveau zu zwingen, obwohl die Vorwahlknopfmethode in einemANPASSENMODUS ist. Dieses ist nützlich, wenn es eine drastischeVerschiebung in der Qualität der Leitungen gibt und Sie dasdial_level drastisch manuell ändern möchten. + +
+
+
+Vorhandenes nur Tally - dieses fangen auf, wenn Satz zu YINCALL und WARTESCHLANGE Statusmittel ausläßt, wenn er die ZahlAnrufen zum Vorwahlknopf wenn nicht in MANUELLEN Vorwahlknopfmoduserrechnet. Rückstellung ist N. + +
+
+
+Tropfen-Prozentsatz-Begrenzung - dieses fangen ist auf, wohinSie die Begrenzung auf den Prozentsatz der fallengelassenen Anrufe,die einstellten Sie beim Verwenden eineranpassungsfähig-vorbestimmten Vorwahlknopfmethode möchten, nichtMANUELL oder des VERHÄLTNISSES. + +
+
+
+Maximum paßt den waagerecht ausgerichteten Vorwahlknopf an - diesesfangen ist auf, wohin Sie die Begrenzung auf die Begrenzungauf das numbr der Linien, die einstellten Sie gewählt pro Mittel beimVerwenden einer anpassungsfähig-vorbestimmten Vorwahlknopfmethodemöchten, nicht MANUELL oder des VERHÄLTNISSES. Diese Zahl kann alsdas Selbstvorwahlknopf-Niveau höher sein, wenn Ihre Kleinteile esstützen. Wert muß eine positive Nr. grösser als eine sein und kannDezimalstellen Rückstellung 3.0 haben. + +
+
+
+Neueste Bediener-Zeit - dieses fangen wird verwendet nurdurch die ADAPT_TAPERED Vorwahlknopfmethode auf. Sie sollten in dieStunde hereinkommen und Minute, um der Sie stoppen, diese Kampagne zuersuchen, 2100 würde bedeuten, daß Sie stoppen, diese Kampagne bei9PM Bedienerzeit zu wählen. Dieses läßt den sich verjüngendenAlgorithmus entscheiden wie konkurrenzfähig zum Vorwahlknopf durch,wie lang Sie haben, bis Sie fertiges Benennen sind. + +
+
+
+Passen Sie Intensität Modifizierfaktor an - dieses fangenwird verwendet, die vorbestimmte höhere oder niedrigere Intensitätzu justieren entweder auf. Das höhere eine positive Zahl, die Sievorwählen, grösser der Dialer den schreitenen Anruf erhöht, wenn esgeht oben und langsam der Dialer den schreitenen Anruf verringert,wenn es geht unten. Das niedriger die negative Zahl, Sie vorwählenhier, langsam erhöht der Dialer den schreitenen Anruf und schnellersenkt der Dialer den schreitenen Anruf, wenn es geht unten.Rückstellung ist 0. Dieses fangen wird verwendet nicht durchden HANDBUCH- oder VERHÄLTNIS-Vorwahlknopf Methoden auf. + +
+
+
+Vorwahlknopf-waagerecht ausgerichtetes Unterschied-Ziel - diesesfangen wird verwendet zu definieren auf, ob Sie Haben einerspezifischen Anzahl von den Mitteln zielen möchten, die Anruf- oderAnklopfenmittel warten. Z.B. wenn Sie immer auf Durchschnitt einerMittel haben möchten frei, Anrufe sofort zu nehmen, würden Siedieses bis -1 einstellen, wenn Sie ein immer haben zielen möchtenersuchen um den Einfluß, der ein Mittel wartet, das Sie dieses bis 1einstellen würden. Rückstellung ist 0. Dieses fangen wirdverwendet nicht durch den HANDBUCH- oder VERHÄLTNIS-VorwahlknopfMethoden auf. + +
+
+
+Gleichzeitige Übertragungen - diese Einstellung wird benutzt, um dieZahl Anrufen zu definieren, die zu den Mitteln gleichzeitig geschicktwerden können. Es wird empfohlen, daß diese Einstellung am AUTOMOBILgelassen wird. Dieses fangen wird verwendet nicht durch dieMANUELLE Vorwahlknopfmethode auf. + +
+
+
+Wählende SelbstAlt-zahl - diese Einstellung wird benutzt, umwechselnde Nummer automatisch zu wählen auffängt, beimWählen im VERHÄLTNIS und ANPASST Vorwahlknopfmethoden, wenn eskeinen Kontakt an der Haupttelefonnummer für eine Leitung, die Na, B,DC und N Status gibt. Diese Einstellung wird nicht durch die MANUELLEVorwahlknopfmethode benutzt. + +
+
+
+Folgender Vertreter-Anruf - Dieses stellt fest, welches Mittel denfolgenden Anruf empfängt, der vorhanden ist: +
  - random: Aufträge durch den gelegentlichen Updatewert in dervicidial_live_agents Tabelle +
  - oldest_call_start: Aufträge bis zum dem letzten Mal ein Mittel wurden einem Anrufgeschickt. Resultate in den Mitteln, die insgesamt ungefähr gleicheZahl von Anrufen empfangen. +
  - oldest_call_finish: Aufträge bis zum dem letzten Mal ein Mittel beendeten einen Anruf.Das AKA Mittel, das am längsten wartet, empfängt ersten Anruf. +
  - overall_user_level: Aufträge durch das user_level des Mittels, wie inden vicidial_users definiert legen ein höheres user_level empfangenmehr Anrufe ver. +
  - campaign_rank: Aufträge durch den Rank gegeben zum Mittel für dieKampagne. Stark zu am niedrigsten. +
  - fewest_calls: Aufträge durch die Zahl den Anrufen empfangen durch einMittel für diese spezifische inbound Gruppe. Wenige Anrufe zuerst. + +
+
+
+Ortsgespräch-Zeit - Dieses ist, wohin Sie während welcherStunden Sie wählen möchten, wie bis zum der lokalen Zeit infestgestellt sind einstellten in, welchem Sie benennen. Dieses wirddurch Ortsnetzkennzahl gesteuert und wird auf Tageslicht-SparungenZeit eingestellt, wenn anwendbar. Allgemeine Richtlinien in den USAfür Geschäft zum Geschäft ist 9am bis 5pm und Geschäft zu denVerbraucheranrufen ist 9am bis 9pm. + +
+
+
+Vorwahlknopf-Abschaltung - Wenn Sie, Anrufe, die normalerweiseHängezustand wurden, nachdem die Abschaltung, die in extensions.confanstatt Abschaltung an dieser Menge Sekunden definiert wurde wurde,wenn sie kleiner ist, als die extensions.conf Abschaltung definiertwerden. Dieses läßt schnell ändernde Vorwahlknopfabschaltungen vomBediener zum Bediener und zum Begrenzen der Effekte zu einer einzelnenKampagne zu. Wenn Sie eine Menge antwortende Maschine oder VoicemailAnrufe haben, können Sie diesen Wert, bis zwischen 21-26 zu ändernversuchen und sehen wünschen, wenn Resultate verbessern. + +
+
+
+Vorwahlknopf-Präfix - Dieses fangen zuläßt einen Wegdes Wählens leicht ändern auf, zum durch eine andere Methode zuerlöschen, ohne ein Umladen im Sternchen zu tun. Rückstellung ist 9gegründet nach einem 91NXXNXXXXXX im dial plan - extensions.conf. + +
+
+
+Lassen Sie Telefon-Code aus - dieses fangen erlaubt Ihnen,das phone_code auszulassen auffangen beim Wählen innerhalbVICIDIAL auf. Zum Beispiel wenn Sie in Großbritannien vonGroßbritannien wählen, würden Sie 44 innen haben, wie Ihrphone_code für alle Leitungen auffangen, aber Sie gerade 10Stellen in Ihrem dial plan extensions.conf wählen möchten, um Anrufeanstelle von 44 dann 10 Stellen zu setzen. Rückstellung ist N. + +
+
+
+Kampagne CallerID - Dieses fangen zuläßt das Senden einer kundenspezifischen callerid Zahl bei den outbound Anrufen auf. Dieses ist die Zahl, die oben auf dem callerid der Person darstellen würde, die, Sie anrufen. Die Rückstellung ist UNBEKANNT. Wenn Sie T1 benutzen, oder Eß, zum dieser Wahl heraus zu wählen nur vorhanden ist, wenn Sie PRIs verwenden - ISDN Tß oder Eß - die die kundenspezifische callerid Eigenschaft haben, die eingeschaltet wird, arbeitet dieses nicht mit Berauben-Spitze Service - RBS- Stromkreise. Dieses arbeitet auch durch das meiste VOIP - SIP oder IAX Stammversorger, die dynamisches outbound callerID erlauben. Das kundenspezifische callerID trifft nur auf die Anrufe zu, die direkt für die VICIDIAL Kampagne gesetzt werden, benennt jede mögliche 3. Partei, oder Übertragungen senden nicht das kundenspezifische callerID. ANMERKUNG: UNBEKANNT oder PRIVAT in auffangen manchmal sich setzen erbringt das Senden Ihrer Rückstellung callerID Zahl durch Ihre Fördermaschine mit den Anrufen. Sie können dieses prüfen wünschen und fangen 0000000000 in das callerid sich zu setzen anstatt auf, wenn Sie nicht Ihnen CallerID schicken möchten. + +
+
+
+Kampagne VDAD Verlängerung - Dieses fangen zuläßt eineGewohnheit VDAD Übergangsverlängerung auf. Dieses erlaubt Ihnen,unterschiedliche VDADtransfer... agi Indexe zu benutzen, abhängendnach Ihrer Kampagne. Die Rückstellung Übertragung AGI - exten 8365agi-VDADtransfer.agi - gerade sendet sofort ersucht zu den Mitteln,sobald sie aufgehoben werden. Eine zusätzliches BeispielpolitischeÜbersicht AGI ist auch jetzt eingeschlossenes - 8366agi-VDADtransferSURVEY.agi - dieses Spiele eine Anzeige zurangerufenen Person und läßt sie eine Wahl treffen, indem sie Tastenbetätigt - effektiv Vorsiebung die Leitung -. Merken Sie bitte dasaußer Übersichten, politische Anrufe und Nächstenliebe diese Formdes Benennens ist in den Vereinigten Staaten ungültig. + +
+
+
+Kampagne Rec Verlängerung - Dieses fangen darf auf,damit eine kundenspezifische Aufnahmeverlängerung mit VICIDIALverwendet werden kann. Dieses erlaubt Ihnen, unterschiedlicheVerlängerungen zu verwenden, abhängend nach, wie lang Sie einemaximale Aufnahme erlauben möchten und welcher Art von Codec Sieinnen notieren möchten. Die Rückstellung exten ist 8309, die, wennSie folgen die SCRATCH_INSTALL Beispiele im WAV Format bis zu einerStunde lang notieren. Eine andere Wahl, die in den Beispieleneingeschlossen ist, ist 8310, die im G/M Format bis zu einer Stundelang notieren. + +
+
+
+Kampagne Aufnahme - dieses Menü erlaubt Ihnen, zu wählen, welchesNiveau der Aufnahme auf dieser Kampagne erlaubt wird. NIE sperrtAufnahme auf dem Klienten. ONDEMAND ist die Rückstellung und erlaubtdem Vertreter zu notieren zu beginnen und, zu stoppen, wie gebraucht.ALLCALLS beginnt Aufnahme auf dem Klienten, wann immer ein Anruf zueinem Mittel geschickt wird. ALLFORCE beginnt Aufnahme auf demKlienten, wann immer ein Anruf zu einem Mittel geschickt wird, das demMittel keine Wahl gibt, um zu notieren zu stoppen. Für ALLCALLS undALLFORCE gibt es eine Wahl, zum der Aufnahme zu benutzen verzögert,um unten auf sehr kurze Aufnahmen und recude Anlagen-Belastung zuschneiden. + +
+
+
+Kampagne Rec Dateiname - Dieses fangen erlaubt Ihnen, denNamen der Aufnahme besonders anzufertigen auf, wenn Kampagne AufnahmeONDEMAND oder ALLCALLS ist. Die erlaubten Variablen sind KAMPAGNECUSTPHONE FULLDATE TINYDATE EPOCHE-MITTEL. Die Rückstellung istFULLDATE_MITTELund würde wie dieses 20051020-103108_6666 aussehen.Ein anderes Beispiel ist CAMPAIGN_TINYDATE_CUSTPHONE, das wie diesesTESTCAMP_51020103108_3125551212 aussehen würde. 50 char max. + +
+
+
+Das Notieren verzögert - für ALLCALLS und ALLFORCE nur Aufnahme.Dieser Einstellung Wille verzögert das Beginnen der Aufnahme beiallen Anrufen für die Zahl den Sekunden, die diesbezüglichspezifiziert werden, auffangen. Rückstellung ist 0. + +
+
+
+Kampagne Index - Dieses Menü erlaubt Ihnen, den Index zu wählen,der auf dem Mittelschirm für diese Kampagne erscheint. Wählen SieKEINE vor, keinen Index für diese Kampagne zu zeigen. + +
+
+
+Erhalten Sie Anruf-Produkteinführung - Dieses Menü erlaubt Ihnenzu wählen, ob Sie Automobil-ausstoßen die Netz-Form Seite in einemunterschiedlichen Fenster, Auto-switch zum INDEX-Vorsprung oder tunnichts wünschen, wenn ein Anruf zum Mittel für diese Kampagnegeschickt wird. + +
+
+
+Antwortende Maschine Anzeige - Dieses fangen ist für dasHereinkommen auf, in eine Verlängerung, zum von von Übergangsanrufenzu blind zu machen, wenn das Mittel eine antwortende Maschine erhältund an die antwortende Maschine Anzeige Taste imÜbergangskonferenzrahmen klickt. Sie müssen dieses einstellen extenoben im dial plan - extensions.conf - und sicherstellen, daß esspielt, eine Audioakte dann oben hängt. + +
+
+
+AMD senden zu VM exten - erlaubt dieses Menü Ihnen zu definieren,ob eine Anzeige auf einer antwortenden Maschine gelassen wird, wennihr der Anruf wird sofort nachgeschickt zur Antworten-Maschine-AnzeigeVerlängerung ermittelt wird, wenn AMD aktiv ist und es festgestelltwird, daß der Anruf eine antwortende Maschine ist. + +
+
+
+Xfer-Conf DTMF - Diese vier fängt dürfen auf, damit Siezwei Sätze Übergangskonferenz und DTMF Voreinstellungen haben. Wennder Anruf oder die Kampagne geladen wird, stellt der vicidial.phpIndex dar, daß zwei Tasten auf dem Bringenkonferenz Rahmen und denZahl-zu-Vorwahlknopf und senden-dtmf Automobil-zu bevölkernauffängt, wenn sie betätigt werden. Wenn Sie beratende Übertragungen erlauben möchten, ein fronter zueinem genauerem, können Sie CXFER setzen, da eins derZahl-zu-Vorwahlknopf Voreinstellungen und des korrekten dial stringsgesendet wird, um eine lokale beratende Übertragung, dann dieMitteldose gerechtes LEAVE-3WAY-CALL und Bewegung an zu tun zu ihremfolgenden Anruf. Wenn Sie blinde Übertragungen der Kunden auf einenVICIDIAL AGI Index für die Protokollierung oder ein IVR erlaubenmöchten, legen Sie dann AXFER in den Zahl-zu-Vorwahlknopfauffangen. Sie können eine kundenspezifische Verlängerungnach dem AXFER oder dem CXFER auch spezifizieren, zum Beispiel wennSie interne beratende Übertragungen anstelle vom Einheimischen tunmöchten, würden Sie CXFER90009 in den Zahl-zu-Vorwahlknopfauffangen einsetzen. + +
+
+
+Numerisches Wählen des Mittel-Alt - erlaubt diese Wahl einemVertreter, die wechselnde Telefonnummer manuell zu wählen, oderaddress3 fangen auf, nachdem die Hauptzahl benannt wordenist. + +
+
+
+Zeitlich geplante Wiederholungsbesuche - Diese Wahl erlaubt einemMittel zur Einteilung einen Anruf als CALLBK und wählt die Daten unddie Zeit, an denen die Leitung reaktiviert wird. + +
+
+
+Sekunden zur Verbindung - Anzahl der Sekunden vom Abnehmen des Kunden bis zur Erkennung als Verbindung, betrifft nur abgehende Verbindungen. + +
+
+
+Voicemail - Wenn sie definiert werden, würden Anrufe, dienormalerweise FALLEN würden, anstatt auf diesen voicemail Kastenverwiesen, um eine Anzeige zu hören und zu lassen. + +
+
+
+Sicherheitsnachricht - Wenn auf Y gesetzt wird dem Kunden nach Ablauf der Sekunden zur Verbindung, ohne zu einem Agenten verbunden worden zu sein, eine Nachricht abgespielt. Diese Einstellung setzt die Option Senden zu einer Voicemail Kasten ausser Kraft, wenn diese auf Y steht. + +
+
+
+Sicherheitsnebenstelle - Dies ist die Wählplan Nebenstelle, wo sich die gewünschte Sicherheits-Audiodatei auf Ihrem Server befindet. + +
+
+
+Sekunden Nachbereitung - Anzahl der Sekunden, die ein Agent bis zum nächsten erhaltenen Anruf oder Wählen eines anderen Anrufs warten muss. Die Zeit beginnt, sobald ein Agent bei seinem Kunden aufgelegt hat - oder im Fall der alternativen Nummernwahl, wenn ein Agent das Telefonat beendet - Standard ist 0 Sekunden. Wenn die Zeit abgelaufen ist bevor der Agent den Anruf eingeordnet hat, wird der Agent dennoch nicht zum nächsten Anruf kommen, bevor er eine Einteilung gewählt hat. + +
+
+
+Nachbereitungsnachricht - Dies ist eine Kampagnen-spezifische Nachricht, die bei gesetzten Sekunden Nachbereitung auf dem Nachbereitungsbildschirm angezeigt wird. + +
+
+
+Interne DNC Liste des Gebrauch-- definiert dieses, ob dieseKampagne Leitungen gegen die interne DNC Liste filtern soll. Wenn esauf Y eingestellt wird, sucht der Zufuhrbehälter nach jederTelefonnummer in der DNC Liste, bevor er sie in den Zufuhrbehälterlegt. Wenn er in der DNC Liste ist, dann, das sie dieses führt Statuszu DNCL also ändert, kann sie nicht gewählt werden. Rückstellungist N. + +
+
+
+Gewährte Inbound Gruppen - For CLOSER campaigns only. Here is where you select the inbound groups you want agents in this CLOSER campaign to be able to take calls from. It is important for BLENDED inbound-outbound campaigns only to select the inbound groups that are used for agents in this campaign. The calls coming into the inbound groups selected here will be counted as active calls for a blended campaign even if all agents in the campaign are not logged in to receive calls from all of those selected inbound groups. + +
+
+
+Mittel-Pause kodiert aktives - läßt Mittel einen Pause Codevorwählen, wenn sie an die PAUSE Taste in vicidial.php klicken. PauseCodes sind pro Kampagne am unteren Bildschirmrand KampagneAnsichtdetail definierbar und sie werden in der vicidial_agent_logTabelle gespeichert. Rückstellung ist N. + +
+
+
+Sperren Sie ändern Kunde Daten - wenn Satz zu Y, nicht irgendwelchedes Kunde Datensatzes wenn Einteilungen eines Mittels der Anrufändert. Rückstellung ist N. + +
+
+
+Gewähren Sie Kein-Zufuhrbehälter-Führt LOGON - wenn Satz zu Y,Mittel zum LOGON zur Kampagne erlaubt, selbst wenn es keine Leitungengibt, die in den Zufuhrbehälter für diese Kampagne geladen werden.Diese Funktion wird nicht in den CLOSER-type Kampagnen benötigt.Rückstellung ist N. + +
+
+
+Liste Auftrag Mischung - läuft den Leitung Auftrag über undVorwahlknopf-Status fängt auf. Verwendet die Liste undStatusparameter für die vorgewählte Liste Mischung Eintragung imListe Mischung Unterseebootabschnitt anstatt. Rückstellung istUNTAUGLICH. + +
+
+
+Liste Mischung Identifikation - Identifikation der Liste Mischung.Muß von 2-20 Buchstaben lang ohne Räume oder andere spezielleInterpunktion sein. + +
+
+
+Liste Mischung Name - beschreibender Name der Liste Mischung. Muß von2-50 Buchstaben lang sein. + +
+
+
+Liste Mischung Detail - der Aufbau der Liste Mischung Eintragung.Enthält die Liste Identifikation, Mischung Auftrag, Prozentsätze undStatus, die diese Liste Mischung bilden. Die Prozentsätze müssen bis100 immer addieren, und alle Listen müssen aktiv und eingestellt aufdie Kampagne sein, damit die Auftrag Mischung Eintragung aktiviertwerden kann. + +
+
+
+Liste Mischung Methode - die Methode von alle Teile des Liste MischungDetails zusammen mischen. EVEN_MIX mischt Leitungen von jedem Teil,das mit den anderen Teilen, wie diese 1.2.3.1.2.3.1.2.3 durchgeschobenwird. IN_ORDER setzt die Leitungen in den Auftrag ein, in dem sie aufdem Liste Mischung Detailschirm 1.1.1.2.2.2.3.3.3 verzeichnet werden.GELEGENTLICHER Wille setzte sie in GELEGENTLICHEN Auftrag1.3.2.1.1.3.2.1.3 ein. Rückstellung ist IN_ORDER. + +
+
+
+Manuelle Vorwahlknopf-Liste Identifikation - das verwendet zu werdenRückstellung list_id, wenn ein Mittel placces ein manueller Anruf undeine neue Leitung Aufzeichnung im vicidial_list verursacht wird.Rückstellung ist 999. Dieses fangen kann nur Stellenenthalten auf. + + + + +



+ +VICIDIAL_LISTENTABELLE

+
+
+Liste Identifikation - Dieses ist der numerische Name der Liste,es ist nicht editable nach Ausgangsunterordnung, muß nur Zahlenenthalten und muß zwischen 2 und 8 Buchstaben lang sein. Must be a number greater than 100. + +
+
+
+Liste Name - This is the description of the list, it must be between 2 and 20 characters in length. + +
+
+
+Liste Beschreibung - dieses ist das Protokoll auffangen fürdie Liste, es ist wahlweise freigestellt. + +
+
+
+Liste Änderung Datum - dieses ist das letzte Mal, daß dieEinstellungen für diese Liste in jeder Hinsicht geändert wurden. + +
+
+
+Liste Letzt-Anruf-Datum - dieses ist das letzte Mal, das wurdegewählt von dieser Liste führen. + +
+
+
+Kampagne - This is the campaign that this list belongs to. A list can only be dialed on a single campaign at one time. + +
+
+
+Aktiv - Dieses definiert, ob die Liste an oder nicht gewähltwerden soll. + +
+
+
+Stellen Sie Führen-Benennen-Status für diese Liste - zurückstellt dieses alle Leitungen in dieser Liste zu N für das benannte\"not da letztes Zurückstellen \" zurück und bedeutet, daß jedemögliche Leitung jetzt benannt werden kann, wenn es der rechte Statusist, wie auf dem Kampagne Schirm definiert. + +
+
+
+VICIDIAL DNC Liste - Dieses benennen nicht Liste enthält jedeLeitung, die auf einen Status von DNC im System eingestellt wordenist. Durch die LISTEN - FÜGEN Sie ZAHL DNC Seite hinzu, die Sie inder LageSIND, eine Zahl dieser Liste manuell hinzuzufügen, damit sienicht durch Kampagnen benannt wird, die die interne DNC Listebenutzen. + + + +



+ +VICIDIAL_INBOUND_GROUPSTABELLE

+
+
+Gruppe Identifikation - Dieses ist der kurze Name der inboundGruppe, es ist nicht editable nach Ausgangsunterordnung, darf keineRäume enthalten und muß zwischen 2 und 20 Buchstaben lang sein. + +
+
+
+Gruppe Name - Dieses ist die Beschreibung der Gruppe, muß eszwischen 2 und 30 Buchstaben lang sein. Kann nicht Schläge, plussesoder Räume einschließen . + +
+
+
+Gruppe Farbe - Dieses ist die Farbe, die in der VICIDIAL KlientAPP anzeigt, wenn ein Anruf auf diese Gruppe hereinkommt. Es mußzwischen 2 und 7 Buchstaben lang sein. Wenn dieses eine HexagonfarbeDefinition ist, müssen Sie sich erinnern, sich a # am Anfang derZeichenkette zu setzen, oder VICIDIAL arbeitet nicht richtig. + +
+
+
+Aktiv - Dieses stellt fest, ob diese Gruppe oben imVorwählerkasten wenn Maschinenbordbücher eines VICIDIAL Mittelsinnen zeigen. + +
+
+
+Netz-Form - Dieses ist die kundenspezifische Adresse, die dasKlicken auf der NETZ-FORM-Taste in VICIDIAL Ihnen für zu den Anrufennimmt, die auf diese Gruppe hereinkommen. + +
+
+
+Folgender Vertreter-Anruf - Dieses stellt fest, welches Mittel denfolgenden Anruf empfängt, der vorhanden ist: +
  - random: Aufträge durch den gelegentlichen Updatewert in dervicidial_live_agents Tabelle +
  - oldest_call_start: Aufträge bis zum dem letzten Mal ein Mittel wurden einem Anrufgeschickt. Resultate in den Mitteln, die insgesamt ungefähr gleicheZahl von Anrufen empfangen. +
  - oldest_call_finish: Aufträge bis zum dem letzten Mal ein Mittel beendeten einen Anruf.Das AKA Mittel, das am längsten wartet, empfängt ersten Anruf. +
  - overall_user_level: Aufträge durch das user_level des Mittels, wie inden vicidial_users definiert legen ein höheres user_level empfangenmehr Anrufe ver. +
  - inbound_group_rank: Aufträge durch den Rank gegeben zum Mittel fürdie spezifische inbound Gruppe. Stark zu am niedrigsten. +
  - fewest_calls: Aufträge durch die Zahl den Anrufen empfangen durch einMittel für diese spezifische inbound Gruppe. Wenige Anrufe zuerst. +
  - campaign_rank: Aufträge durch den Rank gegeben zum Mittel für dieKampagne. Stark zu am niedrigsten. +
  - fewest_calls_campaign: orders by the number of calls received by an agent for the campaign. Least calls first. +
+
+
+Fronter Anzeige - Dieses fangen feststellt auf, ob dasinbound VICIDIAL Mittel den fronter Namen - wenn es einen gibt -angezeigt im Status auffangen haben würde, wann der Anrufzum Mittel kommt. + +
+
+
+Kampagne Index - Dieses Menü erlaubt Ihnen, den Index zu wählen,der auf dem Mittelschirm für diese Kampagne erscheint. Wählen SieKEINE vor, keinen Index für diese Kampagne zu zeigen. + +
+
+
+Erhalten Sie Anruf-Produkteinführung - Dieses Menü erlaubt Ihnenzu wählen, ob Sie Automobil-ausstoßen die Netz-Form Seite in einemunterschiedlichen Fenster, Auto-switch zum INDEX-Vorsprung oder tunnichts wünschen, wenn ein Anruf zum Mittel für diese Kampagnegeschickt wird. + +
+
+
+Xfer-Conf DTMF - Diese vier fängt dürfen auf, damit Siezwei Sätze Übergangskonferenz und DTMF Voreinstellungen haben. Wennder Anruf oder die Kampagne geladen wird, stellt der vicidial.phpIndex dar, daß zwei Tasten auf dem Bringenkonferenz Rahmen und denZahl-zu-Vorwahlknopf und senden-dtmf Automobil-zu bevölkernauffängt, wenn sie betätigt werden. Wenn Sie beratende Übertragungen erlauben möchten, ein fronter zueinem genauerem, können Sie CXFER setzen, da eins derZahl-zu-Vorwahlknopf Voreinstellungen und des korrekten dial stringsgesendet wird, um eine lokale beratende Übertragung, dann dieMitteldose gerechtes LEAVE-3WAY-CALL und Bewegung an zu tun zu ihremfolgenden Anruf. Wenn Sie blinde Übertragungen der Kunden auf einenVICIDIAL AGI Index für die Protokollierung oder ein IVR erlaubenmöchten, legen Sie dann AXFER in den Zahl-zu-Vorwahlknopfauffangen. Sie können eine kundenspezifische Verlängerungnach dem AXFER oder dem CXFER auch spezifizieren, zum Beispiel wennSie interne beratende Übertragungen anstelle vom Einheimischen tunmöchten, würden Sie CXFER90009 in den Zahl-zu-Vorwahlknopfauffangen einsetzen. + +
+
+
+Sekunden zur Verbindung - Anzahl der Sekunden vom Abnehmen des Kunden bis zur Erkennung als Verbindung, betrifft nur abgehende Verbindungen. + +
+
+
+Voicemail - Wenn sie definiert werden, würden Anrufe, dienormalerweise FALLEN würden, anstatt auf diesen voicemail Kastenverwiesen, um eine Anzeige zu hören und zu lassen. + +
+
+
+Verbindungs-Nachricht- Wenn auf Y gesetzt wird dem Kunden nach Ablauf der Sekunden zur Verbindung, ohne zu einem Agenten verbunden worden zu sein, eine Nachricht abgespielt. Diese Einstellung setzt die Option Senden zu einer Voicemail Kasten ausser Kraft, wenn diese auf Y steht. + +
+
+
+Verbindungs-Nebenstelle - Dies ist die Wählplan-Nebenstelle, wo sich die gewünschte Audiodatei für die aufgebaute Verbindung auf Ihrem Server befindet. + +
+
+
+Anruf-Zeit - dieses ist der für diese inbound Gruppe zu verwendenAnrufzeitentwurf. Halten Sie im Verstand, daß die Zeit auf derBedienerzeit basiert. Rückstellung ist 24hours. + +
+
+
+Nach Stunden Tätigkeit - die Tätigkeit zum durchzuführen, wenn sienach Stunden ist, wie in der Anrufzeit für diese inbound Gruppedefiniert. HÄNGEZUSTAND-Willenssofort Hängezustand der Anruf,MESSASGE spielt die Akte in nach Stunden Anzeige Filenamauffangen, schickt VERLÄNGERUNG den Anruf zu nach StundenVerlängerung im dialplan und VOICEMAIL schickt den Anruf zumvoicemail Kasten, der in nach Stunden Voicemail verzeichnet wird,auffangen. Rückstellung ist ANZEIGE. + +
+
+
+Nach Stunden Anzeige Dateinamen - die Audioakte gelegen auf demgespielt zu werden Bediener, wenn die Tätigkeit auf ANZEIGEeingestellt wird. Rückstellung ist VM-Auf Wiedersehen + +
+
+
+Nach Stunden Verlängerung - die dialplan Verlängerung, zum desAnrufs zu senden, wenn die Tätigkeit auf VERLÄNGERUNG eingestelltwird. Rückstellung ist 8300. + +
+
+
+Nach Stunden Voicemail - der voicemail Kasten, zum des Anrufs zusenden, wenn die Tätigkeit auf VOICEMAIL eingestellt wird. + +
+
+
+Willkommener Anzeige Dateiname - die Audioakte gelegen auf demgespielt zu werden Bediener, wenn der Anruf hereinkommt. Wenn Satz zu---NONE --- dann wird keine Anzeige gespielt. Rückstellung ist---NONE --- + +
+
+
+Musik auf Einfluß-Kontext - die Musik auf dem Einflußkontext, zum zuverwenden, wann der Kunde auf Einfluß gesetzt wird. Rückstellung istRückstellung. + +
+
+
+Auf Einfluß-Aufforderung Dateinamen - die Audioakte gelegen auf demin einem regelmäßigen Abstand gespielt zu werden Bediener, wenn derKunde auf Einfluß ist. Rückstellung ist generic_hold. DieseAudioakte MUSS 9 Sekunden oder kleiner in der Länge sein. + +
+
+
+Auf Einfluß-Aufforderung Abstand - die Zeitspanne in den Sekunden, zuwarten, bevor an die haltenaufforderung gespielt wird. Rückstellungist 60. + +
+
+
+Mittel-Alarmverlängerung - die, um zu verkünden, daß in denVertreterlernabschnitt zu senden Verlängerung, ein Anruf zum Mittelkommt. Diese Verlängerung sollte ein Playback einer Audioakte haben.Diese Funktion nicht zu verwenden stellte dieses auf X. Default ist Xein. + +
+
+
+Mittel-Alarm verzögert - die Zeitspanne in den Millisekunden, zuwarten, bevor er den Anruf zum Mittel schickt, nachdem er an dieMittel-Alarmverlängerung gespielt hat. Rückstellung ist 1000. + +
+
+
+Rückstellung Übergangsgruppe - dieses fangen ist dieRückstellung In-Gruppe auf, die automatisch vorgewählt wird, wenndas Mittel zum Bringenkonferenz Rahmen in ihrer Mittelschnittstellegeht. + + + +



+ +VICIDIAL_REMOTE_AGENTSTABELLE

+
+
+Benutzernummer Anfang - Dieses ist die beginnende Benutzernummer,die verwendet wird, wenn die Remotemitteleintragungen in das Systemeingesetzt werden. Wenn die Zeilenzahl in hohem Grade als 1eingestellt wird, wird diese Zahl durch eine erhöht, bis jede Linieeine Eintragung hat. Stellen Sie, ein neues VICIDIAL Benutzerkonto miteinem Benutzerniveau von 4 zu verursachen oder groß sicher, wenn Siesie in der LageSEIN wünschen, die vdremote.php Seite fürRemotenetzzugang dieses Kontos zu benutzen. + +
+
+
+Zeilenzahl - Dieses definiert, wievieles Remotemittel Eintragungendas System verursacht, und stellt fest, wieviele Linien es denkt, daßes zur Zahl unter sicher senden kann. + +
+
+
+Bediener IP - Eine Remotemitteleintragung ist für einenspezifischen Bediener, ist hier nur gut, wo Sie vorwählen, dasBediener Sie wünschen. + +
+
+
+Externe Verlängerung - Dieses ist die Zahl, daß Sie die Anrufewünschen, die zu nachgeschickt werden. Überprüfen Sie, ob es einevolle dial plan Zahl ist und daß, wenn Sie 9 am Anfang benötigen, Sieihn innen hier setzen. Prüfen Sie, indem Sie diese Nummer von einemTelefon auf dem System wählen. + +
+
+
+Status - Ist hier, wo Sie das Remotemittel an und abstellen.Sobald das Mittel aktiv ist, nimmt das System an, daß es Anrufe zuihm schicken kann. Es kann bis 30 Sekunden dauern, sobald Sie denStatus zu unaktiviertem ändern, um Anrufe, zu empfangen zu stoppen. + +
+
+
+Kampagne - Ist hier, wo Sie die Kampagne vorwählen, daß dieseRemotemittel in geloggt werden. Inbound Notwendigkeiten, die GENAUEREKampagne zu verwenden und die inbound Kampagnen unter dervorzuwählen, die Sie Anrufe von empfangen möchten. + +
+
+
+Inbound Gruppen - Ist hier, wo Sie die inbound Gruppen vorwählen,die Sie Anrufe von empfangen möchten, wenn Sie die GENAUERE Kampagnevorgewählt haben. + + +



+ +VICIDIAL_CAMPAIGN_LISTEN

+
+
+Die Listen innerhalb dieser Kampagne werden hier verzeichnet, ob siewerden bezeichnet durch das Y aktiv sind, oder N und Sie zum ListeSchirm gehen können, indem sie auf der Liste Identifikation in derersten Spalte klicken. + + +



+ +VICIDIAL_CAMPAIGN_STATUSESTABELLE

+
+
+Durch den Gebrauch von kundenspezifischen Kampagne Status, können SieStatus haben, die nur für eine spezifische Kampagne bestehen. DerStatus muß 1-8 Buchstaben lang sein, muß die Beschreibung 2-30Buchstaben lang sein und auswählbar definiert, ob es oben in VICIDIALals Einteilung zeigt. Human_answered auffangen wird verwendet, als, denTropfenprozentsatz oder Ungezwungenheit Rate errechnend. Einstellunghuman_answered zu Y verwendet diesen Status, als, diemenschlich-geantworteten Anrufe zählend. Die Kategorie Wahl erlaubt Ihnen, einige Status in ein catogy zugruppieren, das für statistische Analyse verwendet werden kann. + + + +



+ +VICIDIAL_CAMPAIGN_HOTKEYSTABELLE

+
+
+Durch den Gebrauch von kundenspezifischen Kampagne hot keys, benenntVertreter, die verwenden, der vicidial Netz-Klient Dose Hängezustandund Einteilung, gerade indem sie einen einzelnen Schlüssel auf ihrerTastatur betätigen. There are two special HotKey options that you can use in conjunction with Alternate Phone number dialing, ALTPH2 - Alternate Phone Hot Dial and ADDR3-----Address3 Hot Dial allow an agent to use a hotkey to hang up their call, stay on the same lead, and dial another contact number from that lead. + + + + + +



+ +VICIDIAL_LEAD_RECYCLETABELLE

+
+
+Through the use of lead recycling, you can call specific statuses of leads again at a specified interval without resetting the entire list. Lead recycling is campaign-specific and does not have to be a selected dialable status in your campaign. The attempt delay field is the number of seconds until the lead can be placed back in the hopper, this number must be at least 120 seconds. The attempt maximum field is the maximum number of times that a lead of this status can be attempted before the list needs to be reset, this number can be from 1 to 10. You can activate and deactivate a lead recycle entry with the provided links. + + + + + +



+ +VICIDIAL SELBSTALT VORWAHLKNOPF-STATUS

+
+
+Wenn das SelbstAlt-zahl Wählen wird eingestellt auffangen,dann die Leitungen, die sind, unter diesen Vorwahlknopfstatus desAutomobils Alt haben ihr alt_phone dispositioned, und-oder address3gewählt, nachdem irgendwelche von diesen Status kein-antworten,werden eingestellt auffängt. + + + + + +



+ +VICIDIAL MITTEL-PAUSE CODES

+
+
+Wenn die Mittel-Pause aktives kodiert, fangen Sie wirdeingestellt auf aktives dann die Mittel in der LageIST, von diesenPause Codes vorzuwählen auf, wenn sie an die PAUSE Taste auf ihrenSchirmen klicken. Diese Daten werden dann im vicidialMittelmaschinenbordbuch gespeichert. Der Pause Code muß nurBuchstaben und Zahlen lang enthalten und kleiner als 7 Buchstabensein. Der Pause Codename kann nicht mehr als 30 Buchstaben sein. + + + + + +



+ +VICIDIAL_USER_GROUPSTABELLE

+
+
+Benutzer-Gruppe - Dieses ist der kurze Name einer VicidialBenutzergruppe, der Versuch, zum keiner Räume zu benutzen, oderInterpunktion für dieses fangen Maximum 20 Buchstaben,Minimum von 2 Buchstaben auf. + +
+
+
+Gruppe Name - Dieses ist die Beschreibung des vicidialBenutzergruppe Maximums von 40 Buchstaben. + +
+
+
+Erlaubte Kampagnen - dieses ist eine auswählbare Liste der Kampagnen,zu denen Mitglieder dieser Benutzergruppe innen protokollieren könnenin. Die ALL-CAMPAIGNS Wahl erlaubt den Benutzern in dieser Gruppe, injeder möglicher Kampagne auf dem System innen zu sehen und zuprotokollieren. + + + + + +



+ +VICIDIAL_INDEXETABELLE

+
+
+Index Identifikation - Dieses ist der kurze Name eines VicidialIndexes. Dieser muß ein einzigartiger Bezeichner sein. Der Versuch,zum keiner Räume oder die Interpunktion für dieses zu benutzenfangen Maximum 10 Buchstaben, Minimum von 2 Buchstaben auf. + +
+
+Index-Name - Dieses ist der Titel einem Vicidial Index. Dieses isteine kurze Zusammenfassung der Indexmaximum 50 Buchstaben, Minimum von2 Buchstaben. Es sollte keine Räume geben, oder Interpunktionirgendwie der Art in den theis fangen auf. + +
+
+Index kommentiert - Dieses ist, wo Sie Anmerkungen für einenVicidial Index wie - geändert, um Aufsteigen an Sept. 23 freizugeben-. Maximum 255 Buchstaben setzen können, Minimum von 2 Buchstaben. + +
+
+Index-Text - This is where you place the content of a Vicidial Script. Minimum of 2 characters. You can have customer information be auto-populated in this script using "--A--field--B--" where field is one of the following fieldnames: vendor_lead_code, source_id, list_id, gmt_offset_now, called_since_last_reset, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, lead_id, campaign, phone_login, group, channel_group, SQLdate, epoch, uniqueid, customer_zap_channel, server_ip, SIPexten, session_id. For example, this sentence would print the persons name in it----

Hello, can I speak with --A--first_name--B-- --A--last_name--B-- please? Well hello --A--title--B-- --A--last_name--B-- how are you today?

This would read----

Hello, can I speak with John Doe please? Well hello Mr. Doe how are you today?

You can also use an iframe to load a separate window within the SCRIPT tab, here is an example with prepopulated variables: + +
+<iframe src="http://astguiclient.sf.net/test_VICIDIAL_output.php?lead_id=--A--lead_id--B--&vendor_id=--A--vendor_lead_code--B--&list_id=--A--list_id--B--&gmt_offset_now=--A--gmt_offset_now--B--&phone_code=--A--phone_code--B--&phone_number=--A--phone_number--B--&title=--A--title--B--&first_name=--A--first_name--B--&middle_initial=--A--middle_initial--B--&last_name=--A--last_name--B--&address1=--A--address1--B--&address2=--A--address2--B--&address3=--A--address3--B--&city=--A--city--B--&state=--A--state--B--&province=--A--province--B--&postal_code=--A--postal_code--B--&country_code=--A--country_code--B--&gender=--A--gender--B--&date_of_birth=--A--date_of_birth--B--&alt_phone=--A--alt_phone--B--&email=--A--email--B--&security_phrase=--A--security_phrase--B--&comments=--A--comments--B--&user=--A--user--B--&campaign=--A--campaign--B--&phone_login=--A--phone_login--B--&fronter=--A--fronter--B--&closer=--A--user--B--&group=--A--group--B--&channel_group=--A--group--B--&SQLdate=--A--SQLdate--B--&epoch=--A--epoch--B--&uniqueid=--A--uniqueid--B--&customer_zap_channel=--A--customer_zap_channel--B--&server_ip=--A--server_ip--B--&SIPexten=--A--SIPexten--B--&session_id=--A--session_id--B--&phone=--A--phone--B--" style="width:580;height:290;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="460" height="290" STYLE="z-index:17"> +</iframe> +
+ +
+
+
+Aktiv - Dieses stellt fest, ob dieser Index vorgewählt werdenkann, durch eine Kampagne verwendet zu werden. + + + + + +



+ +VICIDIAL_LEAD_FILTERTABELLE

+
+
+Filter Identifikation - Dieses ist der kurze Name eines VicidialLeitung Filter. Dieser muß ein einzigartiger Bezeichner sein.Benutzen Sie keine Räume, oder Interpunktion für diesesfangen Maximum 10 Buchstaben, Minimum von 2 Buchstaben auf. + +
+
+Filter-Name - Dieses ist ein beschreibenderer Name des Filter.Dieses ist eine kurze Zusammenfassung der Filtermaximum 30 Buchstaben,Minimum von 2 Buchstaben. + +
+
+Filter kommentiert - Dieses ist, wo Sie Anmerkungen für einenVicidial Filter wie - Anrufe alle Kalifornien Leitungen -. Maximum 255Buchstaben setzen können, Minimum von 2 Buchstaben. + +
+
+Filter SQL - Dieses ist, wohin Sie das SQL Frage Fragment setzen,das Sie vorbei filtern möchten anfangen nicht, oder Ende mit UND, dasdurch den Zufuhrbehälter cron Index automatisch hinzugefügt wird.eine Beispiel SQL Frage, die hier arbeiten würde, ist called_count \4 und called_count \. + + + + + +



+ +VICIDIAL_AnrufzeitenTABELLE

+
+
+Anrufzeit ID - Dies ist der kurze Name von einer Vicidial Anrufzeit Definition. Es muss ein eindeutiger Bezeichner sein. Leerzeichen und Punkte sind in diesem Feld nicht erlaubt. Maximal 10 Zeichen, mindestens 2. + +
+
+Anrufzeit Name - Dies ist ein besser beschreibender Name für die Anrufzeit Definition. Es ist eine kurze Zusammenfassung der Anrufzeit Definition. Maximal 30 Zeichen, mindestens 2. + +
+
+Anrufzeit Kommentare - Hier können Sie Kommentare für eine Vicidial Anrufzeit Definition wie -10 bis 14 Uhr mit eigenen Beschränkungen für das angerufene Land- machen. Maximal 255 Zeichen. + +
+
+Standard Start and Stop Zeiten - Dies ist die Standardzeit, zu der Anrufe innerhalb der Anrufzeitdefinition gestartet oder gestoppt werden dürfen, wenn die Wochentag Startzeit nicht definiert ist. 0 ist Mitternacht. Um Anrufe komplett zu verhindern den Wert auf 2400 und die Standard Stopzeit ebenfalls auf 2400 setzen. Um Anrufe für 24 Stunden am Tag zu erlauben die Startzeit auf 0 und die Stopzeit auf 2400 setzen. + +
+
+Wochentag Start and Stop Zeit - Dies sind die speziellen Zeiten pro Tag, welche für die Anrufzeit Definition gesetzt werden können. Es gelten die selben Regeln wie für Start und Stop Zeiten. + +
+
+Land Anrufzeit Definition - Dies ist die Liste der landspezifischen Anrufzeit Definitionen, die von dieser Anrufzeit Definition beachtet werden. + +
+
+Landesspezifische Anrufzeit Definition - Dies ist der zwei Buchstaben Code für das Land, für das die Anrufzeit Definition gilt. Damit diese ausgeführt wird muss die in der Kampagne gesetzte lokale Anrufzeit diese landesspezifische Anrufzeit Aufzeichnung enthalten, genauso wie alle anzurufenden Anschlüsse den landesspezifischen zwei Buchstaben Code enthalten müssen . + + + + +



+ +VICIDIAL LISTE LADEVORRICHTUNG FUNKTIONALITÄT

+
+
+Die VICIDIAL grundlegende Netz-gegründete Leitung Ladevorrichtung isteinfach entworfen, um eine Leitung Akte zu nehmen - bis zu 8MB in derGröße - die entweder Vorsprung oder das abgegrenzte Rohr und es indie vicidial_list Tabelle zu laden ist. Die Leitung Ladevorrichtungläßt auffangen das Wählen zu und TXT- deutlich Text, CSV-Komma getrennte Werte und XLS- übertreffen Akte Formate. Die LeitungLadevorrichtung tut nicht Datenprüfung, aber sie erlaubt Ihnen, aufDuplikate in sich, innerhalb der Kampagne oder innerhalb des gesamtenSystems zu überprüfen. Auch überprüfen Sie, ob Sie die Listeerstellt haben, daß diese Leitungen darunter sein sollen, damit Siesie benutzen können. Ist hier eine Liste von auffängt inihrem korrekten Auftrag für die Leitung Akten: +
    +
  1. Verkäufer-Leitung Code - zeigt oben im Verkäufer, den Identifikationvom GUI auffangen +
  2. Quellenprogramm - interner Gebrauch nur für admins und DBAs +
  3. Liste Identifikation - die Liste Zahl, die diese Leitungen obendarunter zeigen +
  4. Telefon-Code - das Präfix für die Telefonnummer - 1 für US, 01144für Großbritannien, 01161 für AUS, usw. +
  5. Telefonnummer - muß mindestens 8 Stellen lang sein +
  6. Titel - Titel dem Kunden - Herr Ms Mrs, usw.... +
  7. Vorname +
  8. Mittlere Initiale +
  9. Letzter Name +
  10. Adresse Linie 1 +
  11. Adresse Linie 2 +
  12. Adresse Linie 3 +
  13. Stadt +
  14. Zustand - begrenzt auf 2 Buchstaben +
  15. Provinz +
  16. Postcode +
  17. Land +
  18. Geschlecht +
  19. Geburtsdatum +
  20. Wechselnde Telefonnummer + Sicherheit Phrase +
  21. Anmerkungen +
+ +
ANMERKUNGEN: Die übertreffenleitung Ladevorrichtung Funktionalitätwird durch eine Reihe Perl Indexe ermöglicht und muß eine richtigzusammengebaute /etc/astguiclient.conf Akte im Platz auf dem webserver haben. Auch ein Paarperl Module müssen für sie, um außerdemzu arbeiten - OLE-Storage_Lite-Storage_Lite undVerteilungsbogen-ParseExcel geladen werden. Sie können aufLaufzeitfehler in diesen überprüfen, indem Sie Ihre Apache error_logAkte betrachten. Auch für Doppelprüfungen gegen gampaignverzeichnet, die Liste, die neue Leitungen hat, in es einzusteigenmuß im System verursacht werden, bevor Sie beginnen, die Leitungen zuladen. + + + + +



+ + + + + + +TELEFON-TABELLE

+
+
+Telefonverlängerung - Dieses fangen ist auf, wohin Sieden Telefonnamen setzen, während er scheint, nicht einschließlichdas Protokoll oder den Schrägstrich am Anfang mit einem Sternchenzuversehen. Z.B.: für das SIP Telefon SIP\/test101 würde dieTelefonverlängerung test101 sein. Auch denn Telefone IAX2 stellen Siesicher, daß Sie den vollen Telefonnamen verwenden:IAX2\/IAXphone1@IAXphone1 würde IAXphone1@IAXphone1 sein. Für ZapTelefone sicherstellen, daß Sie die volle Führung setzen: Zap/25-1würde 25-1 sein. Eine andere Anmerkung, stellen sicher, daß Sie dasProtokoll unten richtig für Ihre Art des Telefons einstellen. + +
+
+
+Dial Plan Zahl - This field is for the number you dial to have the phone ring. This number is defined in the extensions.conf file of your Asterisk server + +
+
+
+Voicemail Kasten - Dieses fangen ist für den voicemailKasten auf, daß die Anzeigen für zum Benutzer dieses Telefons gehen.Wir verwenden dieses, um auf voicemail Anzeigen und auf den Benutzerzu überprüfen, zum in der Lage zuSEIN, die VOICEMAIL Taste aufastGUIclient APP zu benutzen. + +
+
+
+Outbound CallerID - Dieses fangen ist auf, wo Sie diecallerID Zahl eintragen würden, die Sie möchten, daß auf outboundAnrufe gesetzter Form der astguiclient Netz-Klient aussieht. Diesesarbeitet nicht auf RBS, non-PRI, T1/Eß. + +
+
+
+Telefon-IP address - Dieses fangen ist für IP addressdes Telefons auf, wenn es ein VOIP Telefon ist. Dieses istauffangen ein wahlweise freigestelltes + +
+
+
+Computer-IP address - Dieses fangen ist für IP addressComputer des Benutzers auf. Dieses ist auffangen einwahlweise freigestelltes + +
+
+
+Bediener IP - Dieses Menü ist, wo Sie vorwählen, dem Bedienerdas Telefon auf aktiv ist. + +
+
+
+LOGON - Der LOGON gewöhnt ge$$$WESEN für den Telefonbenutzer anLOGON zu den Klient Anwendungen. + +
+
+
+Kennwort - Das Kennwort gewöhnt ge$$$WESEN für denTelefonbenutzer an LOGON zu den Klient Anwendungen. + +
+
+
+Status - Der Status des Telefons im System, die AKTIVEN und ADMINdürfen, damit GUI Klienten arbeiten. Admin erlaubt Zugang zu dieseradministrativen Web site. Alle weiteren Status erlauben nicht GUI oderAdmin Netzzugang. + +
+
+
+Aktives Konto - Ob das Telefon aktiv ist, es in die Liste im GUIKlienten einzusetzen. + +
+
+
+Telefon-Art - Lediglich für administrative Anmerkungen. + +
+
+
+Voller Name - Verwendet durch das GUIclient in der Liste deraktiven Telefone. + +
+
+
+Firma - Lediglich für administrative Anmerkungen. + +
+
+
+Abbildung - Nicht schon eingeführt. + +
+
+
+Neue Anzeigen - Zahl der neuen voicemail Anzeigen für diesesTelefon auf dem Sternchenbediener. + +
+
+
+Alte Anzeigen - Zahl der alten voicemail Anzeigen für diesesTelefon auf dem Sternchenbediener. + +
+
+
+Klient Protokoll - Das Protokoll, das das Telefon verwendet, anden Sternchenbediener anzuschließen: Sip, IAX2, Zap. Auch, es gibtexternal für Remotevorwahlknopfzahlen oder GeschwindigkeitVorwahlknopfzahlen, die Sie als Telefone verzeichnen möchten. + +
+
+
+Lokales GMT - Der Unterschied Greenwich-Zeit von oder VON DERZULU-Zeit, in der das Telefon lokalisiert wird. STELLEN SIE NICHT AUFTAGESLICHT-SPARUNGEN ZEIT EIN. Dieses wird durch die VICIDIAL Kampagneverwendet, um die Zeit und Kunde Zeit genau anzuzeigen. + +
+
+
+Manager-LOGON - Dieses ist der LOGON, dem die GUI Klienten fürdieses Telefon pflegen, die Datenbank zugänglich zu machen, in derdie Bedienerdaten liegen. + +
+
+
+Manager-Geheimnis - Dieses ist das Kennwort, dem die GUI Klientenfür dieses Telefon pflegen, die Datenbank zugänglich zu machen, inder die Bedienerdaten liegen. + +
+
+
+VICIDIAL Rückstellung Benutzer - Dieses soll einen Default-Wertin den VICIDIAL Benutzer legen auffangen, wann immer dieserTelefonbenutzer die astVICIDIAL Klient APP öffnet. Lassen Sie freienRaum für keinen Benutzer. + +
+
+
+VICIDIAL Rückstellung Durchlauf - Dieses soll einen Default-Wertin das VICIDIAL Kennwort legen auffangen, wann immer dieserTelefonbenutzer die astVICIDIAL Klient APP öffnet. Lassen Sie freienRaum für keinen Durchlauf. + +
+
+
+VICIDIAL Rückstellung Kampagne - Dieses soll einen Default-Wertin die VICIDIAL Kampagne legen auffangen, wann immer dieserTelefonbenutzer die astVICIDIAL Klient APP öffnet. Lassen Sie freienRaum für keine Kampagne. + +
+
+
+Park Exten - Dieses ist die Rückstellung Parkenverlängerung fürdie Klient apps. Überprüfen Sie, daß ein unterschiedliches manarbeitet, bevor Sie dieses ändern. + +
+
+
+Conf Exten - This is the default Conference park extension for the client apps. Verify that a different one works before you change this. + +
+
+
+VICIDIAL Park Exten - Dieses ist die RückstellungParkenverlängerung für VICIDIAL Klient APP. Überprüfen Sie, daßein unterschiedliches man arbeitet, bevor Sie dieses ändern. + +
+
+
+VICIDIAL Park-Akte - Dieses ist der Rückstellung VICIDIALPark-Verlängerung Dateiname für die Klient apps. Überprüfen Sie,daß ein unterschiedliches man arbeitet, bevor Sie dieses ändern, daszu 10 Buchstaben begrenzt wird. + +
+
+
+Überwachen Sie Präfix - This is the dial plan prefix for monitoring of Zap channels automatically within the astGUIclient app. Only change according to the extensions.conf ZapBarge extensions records. + +
+
+
+Aufnahme Exten - Dieses ist die dial plan Verlängerung für dieAufnahmeverlängerung, die verwendet wird, um in meetme Konferenzen zufallen, um sie zu notieren. Es dauert normalerweise bis zu einerStunde, wenn es nicht gestoppt wird, überprüft mit extensions.confAkte, bevor es ändert. + +
+
+
+VMAIL Hauptexten - Dieses ist die dial plan Verlängerung, diegeht, Ihr voicemail. zu überprüfen, überprüfen mit extensions.confAkte, bevor es ändert. + +
+
+
+VMAIL Dump Exten - Dieses ist das dial plan Präfix, das verwendetwird, um Anrufe direkt zum voicemail eines Benutzers von einemPhasenanruf in der astGUIclient APP zu schicken, überprüfen mitextensions.conf Akte, bevor es ändert. + +
+
+
+Exten Kontext - Dieses ist der dial plan Kontext, den diesesTelefon hauptsächlich verwendet. Es wird angenommen, daß alleNummern, die durch die Klient apps gewählt werden, diesen Kontextverwenden, also es eine gute Idee ist sicherzustellen, daß dieses derbreiteste Kontext ist, der möglich ist, überprüfen mitextensions.conf Akte, bevor es ändert. + +
+
+
+DTMF senden Führung - Dieses ist die Führung Zeichenkette, diebenutzt wird, um DTMF Töne in meetme Konferenzen von den Klient appszu senden. Überprüfen Sie, daß und Kontext mit der extensions.confAkte exten. + +
+
+
+Outbound Anruf-Gruppe - Dieses ist die Kanalgruppe, daß outboundAnrufe von diesem Telefon aus gesetzt werden. Es gibt Programme einesPaares in den Klient apps, die dieses verwenden. Für Zap Führungen,die Sie etwas wie Zap/g2 verwenden möchten, denn Stämme IAX2 Siedas volle IAX Präfix wie IAX2/VICItest1:secret@10.10.10.15:4569würden verwenden wollen. Überprüfen Sie die Stämme mit derextensions.conf Akte, es ist normalerweise, was Sie als die globaleVariable des STAMMES an der Oberseite der Akte definiert haben. + +
+
+
+Datenbanksuchroutine-Position - Dieses ist auf nur UNIX/LINUXKlienten, der absolute Weg zu Mozilla anwendbar, oder FirefoxDatenbanksuchroutine auf der Maschine überprüfen dieses, indem siemanuell es ausstößt. + +
+
+
+Anbringen Sie Verzeichnis - Dieses ist der Platz, in dem dieastGUIclient und astVICIDIAL Indexe auf Ihrer Maschine sind. FürWin32 sollte es etwas wie C:\\AST_VICI sein und für UNIX sollte esetwas wie /usr/local/perl_TK. sein überprüft dieses manuell. + +
+
+
+CallerID URL - Dieses ist die Netzadresse der Seite, die benutztwird, um kundenspezifische callerID Nachschlagen zu tun, Rückstellungprüfen, dieadresse ist:http://astguiclient.sf.net/test_callerid_output.php + +
+
+
+VICIDIAL Rückstellung URL - Dieses ist die Netzadresse der Seite,die benutzt wird, um kundenspezifische VICIDIAL Netz-Formfragen zutun, Rückstellung prüfen, dieadresse ist:http://astguiclient.sf.net/test_VICIDIAL_output.php + +
+
+
+Anruf-Protokollierung - Dieses wird eingestellt, um auszurichten,wenn die call_log.agi Akte im Platz in der extensions.conf Akte füralles outbound ist und die Verlängerungen des Hängezustands ' h ',zum alle zu loggen benennt. Diese sollte 1, weil es für vieleastGUIclient und DIE VICIDIAL manditory ist Eigenschaften immer sein,zum richtig zu arbeiten. + +
+
+
+Benutzer-Schaltung - Set to true to allow user to switch to another user account. NOTE: If user switches they can initiate recording on the new user's phone conversation + +
+
+
+Conferencing - Stellen Sie ein, um auszurichten, um Benutzer zuerlauben, Konferenzanrufe mit bis zu sechs externen Linien zubeginnen. + +
+
+
+Admin Hängezustand - um Benutzer zu erlauben auszurichten Satz,zum Hängezustand irgendeine Linie am Willen durch astGUIclient in derLage zuSEIN. Gute Idee, diesem für Admin Benutzer nur zuermöglichen. + +
+
+
+Admin Straßenräuber - Stellen Sie ein, um auszurichten, umBenutzer zu erlauben, in der Lage zuSEIN, zu ihrer Verlängerung jedemögliche Linie zu ergreifen und umzuadressieren am Willen durchastGUIclient. Gute Idee, diesem für Admin Benutzer nur zuermöglichen. Aber ist für Manager sehr nützlich. + +
+
+
+Admin Monitor - Stellen Sie ein, um auszurichten, um Benutzer zuerlauben, in der Lage zuSEIN, zu ihrer Verlängerung jede möglicheLinie zu ergreifen und umzuadressieren am Willen durch astGUIclient.Gute Idee, diesem für Admin Benutzer nur zu ermöglichen. Aber istfür Manager und als Training Werkzeug sehr nützlich. + +
+
+
+Parkschaltung - um Benutzer zu erlauben auszurichten der Satz, inder Lage zuSEIN zu parken ersucht um astGUIclient Einfluß, von jedemanderen astGUIclient Benutzer auf dem System aufgehoben zu werden.Anrufe bleiben auf Einfluß für bis zu einen halbe Stunde dannHängezustand. Normalerweise ermöglicht für alle. + +
+
+
+Updater Überprüfung - Stellen Sie ein, um auszurichten, um einepopup Warnung anzuzeigen, die die updater Zeit nicht in 20 Sekundengeändert hat. Nützlich für Admin Benutzer. + +
+
+
+Af Protokollierung - Stellen Sie ein, um auszurichten, um vieleTätigkeiten des astGUIclient Verbrauches in einer Textakte auf demComputer des Benutzers zu protokollieren. + +
+
+
+Warteschlange ermöglichte - um Klient apps auszurichten Satz dasSternchen-zentrale Warteschlange System benutzen zu lassen. Erfordertfür VICIDIAL und für alle Benutzer empfohlen. + +
+
+
+CallerID Popup - Stellen Sie ein, um auszurichten, um die Zahlenzuzulassen, die in der extensions.conf Akte definiert werden, umCallerID popup Schirme zu schicken den astGUIclient Benutzern. + +
+
+
+VMail Taste - Stellen Sie ein, um auszurichten, um die VOICEMAILTaste anzuzeigen und die Anzeigen zählen Anzeige auf astGUIclient. + +
+
+
+Schnell erneuern Sie - Stellen Sie ein, um auszurichten, um einerneuen Rate von zu ermöglichen erneuern von den Anrufinformationenfür das astGUIclient. Rückstellung arbeitsunfähige Rate ist 1000zweite des Ms.1. Kann Anlagen-Belastung erhöhen, wenn Sie diese Zahlsenken. + +
+
+
+Schnell erneuern Sie Rate - in den Millisekunden. Nur verwendet,wenn schnell, erneuern Sie wird ermöglicht. Rückstellungarbeitsunfähige Rate ist 1000 zweite des Ms.1. Kann Anlagen-Belastungerhöhen, wenn Sie diese Zahl senken. + +
+
+
+Persistant MySQL - Wenn er ermöglicht wird, bleibt derastGUIclient Anschluß angeschlossen, anstatt, jede Sekundeanzuschließen. Nützlich, wenn Sie ein schnelles die eingestellteRate erneuern lassen. Sie erhöht die Zahl Anschlüssen auf IhrerMySQL Maschine. + +
+
+
+Selbstvorwahlknopf-folgende Zahl - wenn er ermöglicht wird,wählt der VICIDIAL Klient die folgende Nummer auf der Listeautomatisch nach Einteilung eines Anrufs, es sei denn sie vorwählten"auf, dem Einteilung Schirm zu wählen zu stoppen". + +
+
+
+Stoppen Sie Rec nach jedem Anruf - wenn er ermöglicht wird,stoppt der VICIDIAL Klient, was Aufnahme weitergeht, nachdem jederAnruf dispositioned gewesen ist. Nützlich, wenn Sie eine MengeAufnahme tun oder Sie benutzen eine Netzform, um Aufnahme auszulösen. + +
+
+
+Ermöglichen Sie SIPSAK Anzeigen - wenn er ermöglicht wird, schicktder Bediener Anzeigen zum SIP Telefon zur Anzeige auf der Telefon LCDAnzeige, wenn er in VICIDIAL geloggt wird. Eigenschaft arbeitet nurmit SIP Telefonen und erfordert sipsak Anwendung, auf das web serverangebracht zu werden. Rückstellung ist 0. + +
+
+
+DBX Bediener - Der MySQL Datenbankbediener, den dieser Benutzeranschließen sollte an. + +
+
+
+DBX Datenbank - Die MySQL Datenbank, die dieser Benutzeranschließen sollte an. Rückstellung ist Sternchen. + +
+
+
+DBX Benutzer - Der MySQL Benutzer-LOGON, den dieser Benutzer beimAnschließen verwenden sollte. Rückstellung ist cron. + +
+
+
+DBX Durchlauf - Das MySQL Benutzerkennwort, das dieser Benutzerbeim Anschließen verwenden sollte. Rückstellung ist 1234. + +
+
+
+DBX Tor - Das MySQL TCP Tor, das dieser Benutzer beim Anschließenbenutzen sollte. Rückstellung ist 3306. + +
+
+
+DBY Bediener - Der MySQL Datenbankbediener, den dieser Benutzeranschließen sollte an. Zweitensserver, nicht z.Z. verwendet. + +
+
+
+DBY Datenbank - Die MySQL Datenbank, die dieser Benutzeranschließen sollte an. Rückstellung ist Sternchen. Zweitensserver, nicht z.Z. verwendet. + +
+
+
+DBY Benutzer - Der MySQL Benutzer-LOGON, den dieser Benutzer beimAnschließen verwenden sollte. Rückstellung ist cron. Zweitensserver, nicht z.Z. verwendet. + +
+
+
+DBY Durchlauf - Das MySQL Benutzerkennwort, das dieser Benutzerbeim Anschließen verwenden sollte. Rückstellung ist 1234. Zweitensserver, nicht z.Z. verwendet. + +
+
+
+DBY Tor - Das MySQL TCP Tor, das dieser Benutzer beim Anschließenbenutzen sollte. Rückstellung ist 3306. Zweitensserver, nicht z.Z. verwendet. + + +



+ +BEDIENER-TABELLE

+
+
+Bediener Identifikation - Dieses fangen ist, wohin Sieden Sternchenbedienernamen setzen, doesnt müssen ein amtliches GebietUnterseeboot, gerade ein Spitzname sein auf, um den Bediener zu denAdmin Benutzern zu kennzeichnen. + +
+
+
+Bediener-Beschreibung - auffangen, wo Sie eine kleine Phraseverwenden, um den Sternchenbediener zu beschreiben. + +
+
+
+Bediener-IP address - auffangen, wo Sie das Netz-IP addressdes Sternchenbedieners setzten. + +
+
+
+Aktiv - Stellen Sie ein, ob der Sternchenbediener aktiv oderunaktiviert ist. + +
+
+
+Sternchen-Version - Stellen Sie die Version des Sternchens ein,die Sie auf diesen Bediener angebracht haben. Beispiele: ' 1.2 ', '1.0.8 ', ' 1.0.7 ', ' CVS_HEAD ', ' WIRKLICH ALTES ', usw.... Dieseswird verwendet, weil Versionen 1.0.8 und 1.0.9 eine andere Methode desBeschäftigens Local/ Führungen, eine Wanze, die in CVS v1.0geregelt worden ist, und Notwendigkeit, anders als behandelt zu werdenhaben, wenn die Behandlung ihres Local/ lenkt. Auch gegenwärtigesCVS_HEAD und der 1.2 Freigabebaumgebrauch unterschiedlicher Managerund Befehl gaben aus, also muß es anders als außerdem behandeltwerden. + +
+
+
+Maximale VICIDIAL Stämme - Dieses fangen feststellt diemaximale Zeilenzahl auf, um denen der VICIDIAL Auto-dialer versucht,diesen Bediener zu ersuchen. Wenn Sie zwei volle PRI Tß VICIDIALingauf einem Bediener einweihen möchten dann, würden Sie dieses bis 46einstellen. Rückstellung ist 96. + +
+
+
+Telnet Wirt - Dieses ist die Adresse oder der Name desSternchenbedieners und ist, wie die Manageranwendungen an ihnanschließen von, wo sie laufen. Wenn sie auf den Sternchenbedienerlaufen, dann ist die Rückstellung von ' localhost ' fein. + +
+
+
+Telnet Tor - Dieses ist das Tor des SternchenbedienerManageranschlußes und ist, wie die Manageranwendungen an ihnanschließen von, wo sie laufen. Die Rückstellung von ' 5038 ' istfein für einen Standard anbringen. + +
+
+
+Manager-Benutzer - Das username oder der LOGON verwendeten, an denSternchenbedienermanager genericly anzuschließen. Rückstellung ist 'cron ' + +
+
+
+Manager-Geheimnis - Das Geheimnis oder das Kennwort verwendeten,an den Sternchenbedienermanager genericly anzuschließen.Rückstellung ist ' 1234 ' + +
+
+
+Manager-Update-Benutzer - Das username oder der LOGON verwendeten,an den Sternchenbedienermanager anzuschließen, der für dieUpdateindexe optimiert wurde. Fallen Sie ist ' updatecron ' undannimmt das gleiche Geheimnis wie der generische Benutzer zurück. + +
+
+
+Manager hören Benutzer - Das username oder der LOGON verwendeten,an den Sternchenbedienermanager anzuschließen, der für Indexeoptimiert wurde, die nur auf Ausgang hören. Fallen Sie ist 'listencron ' und annimmt das gleiche Geheimnis wie der generischeBenutzer zurück. + +
+
+
+Manager senden Benutzer - Das username oder der LOGON verwendeten,an den Sternchenbedienermanager anzuschließen, der für Indexeoptimiert wurde, die dem Manager nur Tätigkeiten schicken. Fallen Sieist ' sendcron ' und annimmt das gleiche Geheimnis wie der generischeBenutzer zurück. + +
+
+
+Bediener GMT versetzt - Der Unterschied bezüglich der Stunden vonder GMT Zeit eingestellt nicht auf Tageslicht-Sparung-Zeit desBedieners. Rückstellung ist ' - 5 ' + +
+
+
+VMail Dump Exten - Das Verlängerung Präfix verwendet auf diesemBediener, um Anrufe direkt durch agc zu einem spezifischen voicemailKasten zu schicken. Rückstellung ist ' 85026666666666 ' + +
+
+
+VICIDIAL ANZEIGE Verlängerung - Die Rückstellung Verlängerung,wenn keines in der Kampagne anwesend ist, Anrufe für VICIDIAL zumSelbstwählen zu schicken. Rückstellung ist ' 8365 ' + +
+
+
+Rückstellung Kontext - Der Rückstellung dial plan Kontextverwendet für Indexe, die für diesen Bediener funktionieren.Rückstellung ist ' Rückstellung ' + +
+
+
+System Leistung - die Einstellung dieser Wahl auf Y ermöglicht derProtokollierung von System Leistung Notfall für die Bedienermaschineeinschließlich Anlagen-Belastung, System Prozesse undSternchenführungen im Gebrauch. Rückstellung ist N. + +
+
+
+Bediener-Maschinenbordbücher - die Einstellung dieser Wahl auf Yermöglicht der Protokollierung aller VICIDIAL bezogenen Indexe zuihren Textmaschinenbordbuchakten. Die Einstellung dieses auf N stopptSchreiben Maschinenbordbücher zu den Akten für diese Prozesse, auchdie Schirmprotokollierung des Sternchens ist untauglich, wenn diesesauf N eingestellt wird, wenn Sternchen begonnen wird. Rückstellungist Y. + +
+
+
+AGI ausgegeben - die Einstellung dieser Wahl auf KEINE sperrt Ausgangvon allen VICIDIAL bezogenen AGI Indexen. Die Einstellung dieses aufSTDERR schickt das AGI, das zum Sternchen CLI ausgegeben wird. DieEinstellung dieses auf AKTE schickt den Ausgang zu einer Akte imMaschinenbordbuchverzeichnis. Die Einstellung dieses auf BEIDE schicktAusgang zum Sternchen CLI und zu einer Maschinenbordbuchakte.Rückstellung ist AKTE. + +
+
+
+VICIDIAL Balance Wählen - dieses einstellend, fangen Sie zuY läßt den Bediener Balance Anrufe für Kampagnen in VICIDIAL legenauf, damit das definierte Vorwahlknopfniveau getroffen werden kann,selbst wenn es keine Mittel gibt, die in diese Kampagne auf diesemBediener geloggt werden. Rückstellung ist N. + +
+
+
+VICIDIAL Balance Offlimits - diese Einstellung definiert die ZahlStämmen, um die VICIDIAL Balance nicht zu erlauben, die wählt, um zuverwenden. Z.B. wenn Sie haben, wird 40 maximale vicidial Stämme undBalance offlimits bis 10 eingestellt, die Sie nur in der LageSIND, 30Hauptluftlinien für VICIDIAL Balance das Wählen zu benutzen.Rückstellung ist 0. + + +



+ +KONFERENZTISCH

+
+
+Konferenz-Zahl - Dieses fangen ist auf, wohin Sie diemeetme Konferenz dialpna Zahl setzen. Es wird auch empfohlen, daß diemeetme Zahl in meetme.conf diese Zahl für jede Eintragungzusammenbringt. Dieses ist für die Konferenzen in astGUIclient undwird für leave-3way-call Funktionalität in VICIDIAL verwendet. + +
+
+
+Bediener IP - Das Menü, wo Sie den Sternchenbediener vorwählen,daß diese Konferenz eingeschaltet ist. + + + + +



+ +VICIDIAL_SERVER_TRUNKSTABELLE

+
+
+VICIDIAL Bediener-Stämme erlaubt Ihnen, die gehenden Leitungeneinzuschränken, die auf diesem Bediener für die Kampagne benutztwerden, die auf einer Prokampagne Grundlage wählt. Sie haben dieWahl, zum einer spezifischen Zeilenzahl durch nur eine Kampagneverwendet zu werden aufzuheben,, sowie das Lassen dieser Kampagneüber seine reservierten Linien laufen in was Linien geöffnetbleiben, wie, lang an den Gruppenzeilen, die durch vicidial auf diesemBediener benutzt werden, sind kleiner als die Maximum VICIDIALStammeinstellung. Erlaubt Haben nicht irgendwelche dieserAufzeichnungen die Kampagne, die die Linie zuerst wählt, um da vieleLinien zu haben, während sie unter der Maximum VICIDIAL erhalten kannStammeinstellung. + + + + + +



+ +SYSTEM_SETTINGSTABELLE

+
+
+Gebrauch Nicht-Lateinisch - diese Wahl erlaubt Ihnen, den NetzanzeigeIndex auf Buchstaben des Gebrauches UTF8 zurückzufallen und keinenfilternden Lateinisch-Buchstabefamilie regelmäßigen Ausdruck zu tunoder Formatierung anzuzeigen. Rückstellung ist 0. + +
+
+
+Webroot schreibbar - diese Einstellung erlaubt Ihnen zu definieren, obTemperatur Akten und Authentisierung Akten in das webroot auf Ihr webserver gelegt werden sollten. Rückstellung ist 1. + +
+
+
+Ermöglichen Sie der QueueMetrics Protokollierung - diese Einstellungerlaubt Ihnen zu definieren, ob VICIDIAL Maschinenbordbucheintragungenin die queue_log Datenbanktabelle einsetzt, wieSternchen-Warteschlangen Tätigkeit. QueueMetrics ist,Geschlossenquellenstatistische Analyse Programm ein alleinstehendes.Sie müssen QueueMetrics haben bereits angebracht und zusammengebaut,bevor Sie dieser Eigenschaft ermöglichen. Rückstellung ist 0. + +
+
+
+QueueMetrics Bediener IP - dieses ist das IP address der Datenbankfür Ihre QueueMetrics Installation. + +
+
+
+QueueMetrics Datenbank-Name - dieses ist der Datenbankname für IhreQueueMetrics Datenbank. + +
+
+
+QueueMetrics Datenbank-LOGON - dieses ist der Benutzername, derverwendet wird, um in Ihrer QueueMetrics Datenbank innen zuprotokollieren. + +
+
+
+QueueMetrics Datenbank-Kennwort - dieses ist das Kennwort, dasverwendet wird, um in Ihrer QueueMetrics Datenbank innen zuprotokollieren. + +
+
+
+QueueMetrics URL - Dieses ist die URL oder Web site Adresse, dieverwendet wird, um zu Ihrer QueueMetrics Installation zu kommen. + +
+
+
+QueueMetrics Maschinenbordbuch Identifikation - dieses ist derBediener Identifikation, den alle VICIDIAL Maschinenbordbücher, diein die QueueMetrics Datenbank einsteigen, als Bezeichner für jedeAufzeichnung benutzen. + +
+
+
+QueueMetrics EnterQueue stellen voran - dieses fangen wirdverwendet, das Voranstellen von einer der vicidial_list Datenzuzulassen auffängt vor der Telefonnummer des Kunden fürkundengebundene QueueMetrics Reports auf. Rückstellung ist KEINE,alles nicht zu bevölkern. + +
+
+
+VICIDIAL Mittel sperren Anzeige - diese fangen wirdverwendet, vorzuwählen auf, wann man einem Mittel zeigt, wann ihrLernabschnitt durch das System, eine Managertätigkeit oder durch einexternes Maß gesperrt worden ist. Die NOT_ACTIVE Einstellung sperrtdie Anzeige auf dem Mittelschirm. Die LIVE_MITTELEinstellung zeigt nurdie untaugliche Anzeige, wenn die Mittel vicidial_auto_callsAufzeichnung entfernt worden ist, wie während ein Kraft Logout oderDringlichkeitslogout an. + +
+
+
+Erlauben Sie SIPSAK Anzeigen - wenn Satz bis 1, dieses dieTelefontabelle Einstellung richtig arbeiten läßt, schickt derBediener Anzeigen zum SIP Telefon zur Anzeige auf der Telefon LCDAnzeige, wenn er in VICIDIAL geloggt wird. Diese Eigenschaft arbeitetnur mit SIP Telefonen und erfordert sipsak Anwendung, auf das webserver angebracht zu werden. Rückstellung ist 0. + +
+
+
+Admin Haupt-URL - dieses ist die URL oder Web site Adresse, daß Siegehen, wenn Sie an die HAUPTVERBINDUNG an der Oberseite der admin.phpSeite klicken. + +
+
+
+Ermöglichen Sie Vertreter-Übergangsprotokolldatei - diese Wahlprotokolliert in einer Textprotokolldatei auf dem webserver, jedesmalwenn ein Anruf auf ein Mittel gebracht wird. Rückstellung ist 0,gesperrt. + + + + + +



+ +VICIDIAL_STATUSESTABELLE

+
+
+Durch den Gebrauch von Systemstatus, können Sie Status haben, diefür Kampagne und Ingruppe bestehen. Der Status muß 1-6 Buchstabenlang sein, muß die Beschreibung 2-30 Buchstaben lang sein undauswählbar definiert, ob es oben in VICIDIAL als Mitteleinteilungzeigt. Human_answered auffangen wird verwendet, als, denTropfenprozentsatz oder Ungezwungenheit Rate errechnend. Einstellunghuman_answered zu Y verwendet diesen Status, als, diemenschlich-geantworteten Anrufe zählend. Die Kategorie Wahl erlaubtIhnen, einige Status in ein catogy zu gruppieren, das fürstatistische Analyse verwendet werden kann. + + +



+ +VICIDIAL_STATUS_CATEGORIESTABELLE

+
+
+Durch den Gebrauch von Systemstatuskategorien, können Sie diezusammen gruppieren Status, um statistische Analyse auf einer GruppeStatus zuzulassen. Die Kategorie Identifikation muß 2-20 Buchstabenlang ohne Räume sein, muß der Name 2-50 Buchstaben lang sein, istdie Beschreibung wahlweise freigestellt und TimeonVDAD Anzeigedefiniert, ob dieser Status einer von bis zu 4 Status ist, die auf derZeit auf VDAD Realzeitreport errechnet werden und angezeigt werdenkönnen. + + + + +







+







+DAS ENDE +
+\n"; + echo "\n"; + echo "\n"; + echo ""; + + $stmt="SELECT dial_statuses,local_call_time,lead_filter_id from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $dial_statuses = $row[0]; + $local_call_time = $row[1]; + if ($lead_filter_id=='') + { + $lead_filter_id = $row[2]; + if ($lead_filter_id=='') + { + $lead_filter_id='NONE'; + } + } + + $stmt="SELECT list_id,active,list_name from vicidial_lists where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + if (ereg("Y", $rowx[1])) {$camp_lists .= "'$rowx[0]',";} + } + $camp_lists = eregi_replace(".$","",$camp_lists); + + $filterSQL = $filtersql_list[$lead_filter_id]; + $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); + if (strlen($filterSQL)>4) + {$fSQL = "and $filterSQL";} + else + {$fSQL = '';} + + + echo "

\n"; + echo "Zeige Anzahl anrufbarer Anschlüsse -

\n"; + echo "CAMPAIGN: $campaign_id
\n"; + echo "LISTEN: $camp_lists
\n"; + echo "STATUSES: $dial_statuses
\n"; + echo "FILTER: $lead_filter_id
\n"; + echo "CALL TIME: $local_call_time

\n"; + + ### call function to calculate and print dialable leads + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$fSQL); + + echo "

\n"; + echo "\n"; + + exit; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=7111111 view sample script with test variables +###################### + +if ($ADD==7111111) +{ + ##### TEST VARIABLES ##### + $vendor_lead_code = 'VENDOR:LEAD;CODE'; + $list_id = 'LISTID'; + $gmt_offset_now = 'GMTOFFSET'; + $phone_code = '1'; + $phone_number = '7275551212'; + $title = 'Mr.'; + $first_name = 'JOHN'; + $middle_initial = 'Q'; + $last_name = 'PUBLIC'; + $address1 = '1234 Main St.'; + $address2 = 'Apt. 3'; + $address3 = 'ADDRESS3'; + $city = 'CHICAGO'; + $state = 'IL'; + $province = 'PROVINCE'; + $postal_code = '33760'; + $country_code = 'USA'; + $gender = 'M'; + $date_of_birth = '1970-01-01'; + $alt_phone = '3125551212'; + $email = 'test@test.com'; + $security_phrase = 'SECUTIRY'; + $comments = 'COMMENTS FIELD'; + $RGfullname = 'JOE AGENT'; + $RGuser = '6666'; + $RGlead_id = '1234'; + $RGcampaign = 'TESTCAMP'; + $RGphone_login = 'gs102'; + $RGgroup = 'TESTCAMP'; + $RGchannel_group = 'TESTCAMP'; + $RGSQLdate = date("Y-m-d H:i:s"); + $RGepoch = date("U"); + $RGuniqueid = '1163095830.4136'; + $RGcustomer_zap_channel = 'Zap/1-1'; + $RGserver_ip = '10.10.10.15'; + $RGSIPexten = 'SIP/gs102'; + $RGsession_id = '8600051'; + +echo "\n"; +echo "\n"; +echo "\n"; +echo ""; + +$stmt="SELECT * from vicidial_scripts where script_id='$script_id';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$script_name = $row[1]; +$script_text = $row[3]; + +if (eregi("iframe src",$script_text)) + { + $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); + $list_id = eregi_replace(' ','+',$list_id); + $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); + $phone_code = eregi_replace(' ','+',$phone_code); + $phone_number = eregi_replace(' ','+',$phone_number); + $title = eregi_replace(' ','+',$title); + $first_name = eregi_replace(' ','+',$first_name); + $middle_initial = eregi_replace(' ','+',$middle_initial); + $last_name = eregi_replace(' ','+',$last_name); + $address1 = eregi_replace(' ','+',$address1); + $address2 = eregi_replace(' ','+',$address2); + $address3 = eregi_replace(' ','+',$address2); + $city = eregi_replace(' ','+',$city); + $state = eregi_replace(' ','+',$state); + $province = eregi_replace(' ','+',$province); + $postal_code = eregi_replace(' ','+',$postal_code); + $country_code = eregi_replace(' ','+',$country_code); + $gender = eregi_replace(' ','+',$gender); + $date_of_birth = eregi_replace(' ','+',$date_of_birth); + $alt_phone = eregi_replace(' ','+',$alt_phone); + $email = eregi_replace(' ','+',$email); + $security_phrase = eregi_replace(' ','+',$security_phrase); + $comments = eregi_replace(' ','+',$comments); + $RGfullname = eregi_replace(' ','+',$RGfullname); + $RGuser = eregi_replace(' ','+',$RGuser); + $RGlead_id = eregi_replace(' ','+',$RGlead_id); + $RGcampaign = eregi_replace(' ','+',$RGcampaign); + $RGphone_login = eregi_replace(' ','+',$RGphone_login); + $RGgroup = eregi_replace(' ','+',$RGgroup); + $RGchannel_group = eregi_replace(' ','+',$RGchannel_group); + $RGSQLdate = eregi_replace(' ','+',$RGSQLdate); + $RGepoch = eregi_replace(' ','+',$RGepoch); + $RGuniqueid = eregi_replace(' ','+',$RGuniqueid); + $RGcustomer_zap_channel = eregi_replace(' ','+',$RGcustomer_zap_channel); + $RGserver_ip = eregi_replace(' ','+',$RGserver_ip); + $RGSIPexten = eregi_replace(' ','+',$RGSIPexten); + $RGsession_id = eregi_replace(' ','+',$RGsession_id); + } + +$script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); +$script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); +$script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); +$script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); +$script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); +$script_text = eregi_replace('--A--title--B--',"$title",$script_text); +$script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); +$script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); +$script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); +$script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); +$script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); +$script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); +$script_text = eregi_replace('--A--city--B--',"$city",$script_text); +$script_text = eregi_replace('--A--state--B--',"$state",$script_text); +$script_text = eregi_replace('--A--province--B--',"$province",$script_text); +$script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); +$script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); +$script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); +$script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); +$script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); +$script_text = eregi_replace('--A--email--B--',"$email",$script_text); +$script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); +$script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); +$script_text = eregi_replace('--A--fullname--B--',"$RGfullname",$script_text); +$script_text = eregi_replace('--A--fronter--B--',"$RGuser",$script_text); +$script_text = eregi_replace('--A--user--B--',"$RGuser",$script_text); +$script_text = eregi_replace('--A--lead_id--B--',"$RGlead_id",$script_text); +$script_text = eregi_replace('--A--campaign--B--',"$RGcampaign",$script_text); +$script_text = eregi_replace('--A--phone_login--B--',"$RGphone_login",$script_text); +$script_text = eregi_replace('--A--group--B--',"$RGgroup",$script_text); +$script_text = eregi_replace('--A--channel_group--B--',"$RGchannel_group",$script_text); +$script_text = eregi_replace('--A--SQLdate--B--',"$RGSQLdate",$script_text); +$script_text = eregi_replace('--A--epoch--B--',"$RGepoch",$script_text); +$script_text = eregi_replace('--A--uniqueid--B--',"$RGuniqueid",$script_text); +$script_text = eregi_replace('--A--customer_zap_channel--B--',"$RGcustomer_zap_channel",$script_text); +$script_text = eregi_replace('--A--server_ip--B--',"$RGserver_ip",$script_text); +$script_text = eregi_replace('--A--SIPexten--B--',"$RGSIPexten",$script_text); +$script_text = eregi_replace('--A--session_id--B--',"$RGsession_id",$script_text); +$script_text = eregi_replace("\n","
",$script_text); + + +echo ""; + +echo "Vorbetrachtung-Index: $script_id
\n"; +echo "
\n"; +echo "
$script_name
\n"; +echo "$script_text\n"; +echo "
\n"; + +echo "\n"; + +exit; +} + + + + +######################### HTML HEADER BEGIN ####################################### +if ($hh=='users') + {$users_hh="bgcolor =\"$users_color\""; $users_fc="$users_font"; $users_bold="$header_selected_bold";} + else {$users_hh=''; $users_fc='WHITE'; $users_bold="$header_nonselected_bold";} +if ($hh=='campaigns') + {$campaigns_hh="bgcolor=\"$campaigns_color\""; $campaigns_fc="$campaigns_font"; $campaigns_bold="$header_selected_bold";} + else {$campaigns_hh=''; $campaigns_fc='WHITE'; $campaigns_bold="$header_nonselected_bold";} +if ($hh=='lists') + {$lists_hh="bgcolor=\"$lists_color\""; $lists_fc="$lists_font"; $lists_bold="$header_selected_bold";} + else {$lists_hh=''; $lists_fc='WHITE'; $lists_bold="$header_nonselected_bold";} +if ($hh=='ingroups') + {$ingroups_hh="bgcolor=\"$ingroups_color\""; $ingroups_fc="$ingroups_font"; $ingroups_bold="$header_selected_bold";} + else {$ingroups_hh=''; $ingroups_fc='WHITE'; $ingroups_bold="$header_nonselected_bold";} +if ($hh=='remoteagent') + {$remoteagent_hh="bgcolor=\"$remoteagent_color\""; $remoteagent_fc="$remoteagent_font"; $remoteagent_bold="$header_selected_bold";} + else {$remoteagent_hh=''; $remoteagent_fc='WHITE'; $remoteagent_bold="$header_nonselected_bold";} +if ($hh=='usergroups') + {$usergroups_hh="bgcolor=\"$usergroups_color\""; $usergroups_fc="$usergroups_font"; $usergroups_bold="$header_selected_bold";} + else {$usergroups_hh=''; $usergroups_fc='WHITE'; $usergroups_bold="$header_nonselected_bold";} +if ($hh=='scripts') + {$scripts_hh="bgcolor=\"$scripts_color\""; $scripts_fc="$scripts_font"; $scripts_bold="$header_selected_bold";} + else {$scripts_hh=''; $scripts_fc='WHITE'; $scripts_bold="$header_nonselected_bold";} +if ($hh=='filters') + {$filters_hh="bgcolor=\"$filters_color\""; $filters_fc="$filters_font"; $filters_bold="$header_selected_bold";} + else {$filters_hh=''; $filters_fc='WHITE'; $filters_bold="$header_nonselected_bold";} +if ($hh=='admin') + {$admin_hh="bgcolor=\"$admin_color\""; $admin_fc="$admin_font"; $admin_bold="$header_selected_bold";} + else {$admin_hh=''; $admin_fc='WHITE'; $admin_bold="$header_nonselected_bold";} +if ($hh=='reports') + {$reports_hh="bgcolor=\"$reports_color\""; $reports_fc="$reports_font"; $reports_bold="$header_selected_bold";} + else {$reports_hh=''; $reports_fc='WHITE'; $reports_bold="$header_nonselected_bold";} + +echo "\n"; +echo " + + +\n"; +echo "
English Deutsch
BGCOLOR=#D9E6FE cellpadding=2 cellspacing=0> + + + + + + + + + + + + + + + 1) { + ?> +> + 1) + { + +# if ($sh=='basic') {$basic_sh="bgcolor=\"$subcamp_color\""; $basic_fc="$subcamp_font";} +# else {$basic_sh=''; $basic_fc='BLACK';} +# if ($sh=='detail') {$detail_sh="bgcolor=\"$subcamp_color\""; $detail_fc="$subcamp_font";} +# else {$detail_sh=''; $detail_fc='BLACK';} +# if ($sh=='dialstat') {$dialstat_sh="bgcolor=\"$subcamp_color\""; $dialstat_fc="$subcamp_font";} +# else {$dialstat_sh=''; $dialstat_fc='BLACK';} + + if ($sh=='basic') {$sh='list';} + if ($sh=='detail') {$sh='list';} + if ($sh=='dialstat') {$sh='list';} + + if ($sh=='list') {$list_sh="bgcolor=\"$subcamp_color\""; $list_fc="$subcamp_font";} + else {$list_sh=''; $list_fc='BLACK';} + if ($sh=='status') {$status_sh="bgcolor=\"$subcamp_color\""; $status_fc="$subcamp_font";} + else {$status_sh=''; $status_fc='BLACK';} + if ($sh=='hotkey') {$hotkey_sh="bgcolor=\"$subcamp_color\""; $hotkey_fc="$subcamp_font";} + else {$hotkey_sh=''; $hotkey_fc='BLACK';} + if ($sh=='recycle') {$recycle_sh="bgcolor=\"$subcamp_color\""; $recycle_fc="$subcamp_font";} + else {$recycle_sh=''; $recycle_fc='BLACK';} + if ($sh=='autoalt') {$autoalt_sh="bgcolor=\"$subcamp_color\""; $autoalt_fc="$subcamp_font";} + else {$autoalt_sh=''; $autoalt_fc='BLACK';} + if ($sh=='pause') {$pause_sh="bgcolor=\"$subcamp_color\""; $pause_fc="$subcamp_font";} + else {$pause_sh=''; $pause_fc='BLACK';} + if ($sh=='listmix') {$listmix_sh="bgcolor=\"$subcamp_color\""; $listmix_fc="$subcamp_font";} + else {$listmix_sh=''; $listmix_fc='BLACK';} + + ?> +> + + + + + + + + + 1) { + ?> + > + 1) { + ?> +> + 1) { + ?> +> + 1) { + ?> +> + 1) { + ?> +> + 1) { + ?> +> + 1) { + ?> +> + 1) { + if ($sh=='times') {$times_sh="bgcolor=\"$times_color\""; $times_fc="$times_font";} # hard teal + else {$times_sh=''; $times_fc='BLACK';} + if ($sh=='phones') {$phones_sh="bgcolor=\"$server_color\""; $phones_fc="$phones_font";} # pink + else {$phones_sh=''; $phones_fc='BLACK';} + if ($sh=='server') {$server_sh="bgcolor=\"$server_color\""; $server_fc="$server_font";} # pink + else {$server_sh=''; $server_fc='BLACK';} + if ($sh=='conference') {$conference_sh="bgcolor=\"$server_color\""; $conference_fc="$server_font";} # pink + else {$conference_sh=''; $conference_fc='BLACK';} + if ($sh=='settings') {$settings_sh="bgcolor=\"$settings_color\""; $settings_fc="$settings_font";} # pink + else {$settings_sh=''; $settings_fc='BLACK';} + if ($sh=='status') {$status_sh="bgcolor=\"$status_color\""; $status_fc="$status_font";} # pink + else {$status_sh=''; $status_fc='BLACK';} + + ?> +> + + + + + + + + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + \n"; + echo "Sie haben nicht die Rechte, um diese Seite anzusehen. Bitte zurück gehen.\n"; + } + +} +if (strlen($reports_hh) > 1) { + ?> +> + + + + +
  VICIDIAL ADMIN - HAUPT | Logout  
> SIZE=> Benutzer > SIZE=> Kampagnen > SIZE=> Listen > SIZE=> Indexe > SIZE=> Filter > SIZE=> In-Gruppen > SIZE=> Benutzer-Gruppen > SIZE=> Remotemittel > SIZE=> Admin > SIZE=> Reports
>   > Zeigen Sie Benutzer     |     > Addieren Sie Einen Neuen Benutzer     |     > Copy Benutzer     |     > Suche Nach Einem Benutzer
COLSPAN=2> SIZE=>Kampagnen Hauptsächlich COLSPAN=1> SIZE=> Statuses COLSPAN=1> SIZE=> HotKeys COLSPAN=2> SIZE=>Leitung Bereiten Auf COLSPAN=1> SIZE=>Vorwahlknopf Automobil-Alt COLSPAN=1> SIZE=>Pause Codes COLSPAN=2> SIZE=>Liste Mischung
>   > Zeigen Sie Kampagnen     |     > Addieren Sie Eine Neue Kampagne     |     > Copy Kampagne     |     > Realzeitkampagnen Zusammenfassend
>   > Zeigen Sie Listen     |     > Addieren Sie Eine Neue Liste     |     > Suche Nach Einer Leitung     |     > Fügen Sie Zahl DNC Hinzu     |     > Last Neue Leitungen
>   > Zeigen Sie Indexe     |     > Addieren Sie Einen Neuen Index
>   > Zeigen Sie Filter     |     > Addieren Sie Einen Neuen Filter
>   > Zeigen Sie In-Gruppen     |     > Addieren Sie Eine Neue In-Gruppe     |     > Copy In-Gruppe
>   > Zeigen Sie Benutzer-Gruppen     |     > Addieren Sie Eine Neue Benutzer-Gruppe     |     > Gruppe Stündlicher Report
>   > Zeigen Sie Remotemittel     |     > Addieren Sie Neue Remotemittel
COLSPAN=2> SIZE=> Anruf-Zeiten COLSPAN=2> SIZE=> Telefone COLSPAN=2> SIZE=> Konferenzen COLSPAN=1> SIZE=> Bediener COLSPAN=1> SIZE=> System Einstellungen COLSPAN=2> SIZE=>Systemstatus
>   > Zeigen Sie Anruf-Zeiten     |     > Addieren Sie Eine Neue Anruf-Zeit     |     > Zeigen Sie Zustand-Anruf-Zeiten     |     > Addieren Sie Eine Neue Zustand-Anruf-Zeit  
>   > Zeigen Sie Telefone   |   > Addieren Sie Ein Neues Telefon
> Zeigen Sie Konferenzen   |   > Addieren Sie Eine Neue Konferenz   |   > Zeigen Sie VICIDIAL Konferenzen   |   > Addieren Sie Eine Neue VICIDIAL Konferenz
> Zeigen Sie Bediener   |   > Addieren Sie Einen Neuen Bediener
> System Einstellungen
>Systemstatus   |   >Status-Kategorien
>  
+
\n"; + echo ""; + + echo "
ADDIEREN Sie Einen NEUEN BENUTZER
\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$NWB#vicidial_users-user_group$NWE\n"; + echo "\n"; + echo "
Benutzer-Zahl: $NWB#vicidial_users-user$NWE
Kennwort:$NWB#vicidial_users-pass$NWE
Voller Name: $NWB#vicidial_users-full_name$NWE
Benutzer-Niveau: $NWB#vicidial_users-user_level$NWE
Benutzer-Gruppe:
Telefon-LOGON: $NWB#vicidial_users-phone_login$NWE
Telefon-Durchlauf: $NWB#vicidial_users-phone_pass$NWE
\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=1 display the COPY USER FORM SCREEN +###################### + +if ($ADD=="1A") +{ + if ($LOGmodify_users==1) + { + echo "
\n"; + echo ""; + + echo "
COPY BENUTZER\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + if ($LOGuser_level==9) {$levelMAX=10;} + else {$levelMAX=$LOGuser_level;} + + echo "\n"; + echo "\n"; + echo "
Benutzer-Zahl: $NWB#vicidial_users-user$NWE
Kennwort:$NWB#vicidial_users-pass$NWE
Voller Name: $NWB#vicidial_users-full_name$NWE
Source User: $NWB#vicidial_users-user$NWE
\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=11 display the ADD NEW CAMPAIGN FORM SCREEN +###################### + +if ($ADD==11) +{ + if ($LOGmodify_campaigns==1) + { + echo "
\n"; + echo ""; + + echo "
ADDIEREN Sie Eine NEUE KAMPAGNE\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Kampagne Identifikation: $NWB#vicidial_campaigns-campaign_id$NWE
Kampagne Name: $NWB#vicidial_campaigns-campaign_name$NWE
Kampagne Beschreibung: $NWB#vicidial_campaigns-campaign_description$NWE
Aktiv:$NWB#vicidial_campaigns-active$NWE
Park-Verlängerung: $NWB#vicidial_campaigns-park_ext$NWE
Park-Dateiname: $NWB#vicidial_campaigns-park_file_name$NWE
Netz-Form: $NWB#vicidial_campaigns-web_form_address$NWE
Erlauben Sie Closers: $NWB#vicidial_campaigns-allow_closers$NWE
Zufuhrbehälter-Niveau: $NWB#vicidial_campaigns-hopper_level$NWE
Selbstvorwahlknopf-Niveau: (0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE
Folgender Vertreter-Anruf: $NWB#vicidial_campaigns-next_agent_call$NWE
Ortsgespräch-Zeit: $NWB#vicidial_campaigns-local_call_time$NWE
Voicemail: $NWB#vicidial_campaigns-voicemail_ext$NWE
Index: $NWB#vicidial_campaigns-campaign_script$NWE
Erhalten Sie Anruf-Produkteinführung: $NWB#vicidial_campaigns-get_call_launch$NWE
\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=12 display the COPY CAMPAIGN FORM SCREEN +###################### + +if ($ADD==12) +{ + if ($LOGmodify_campaigns==1) + { + echo "
\n"; + echo ""; + + echo "
Copy Eine KAMPAGNE\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
Kampagne Identifikation: $NWB#vicidial_campaigns-campaign_id$NWE
Kampagne Name: $NWB#vicidial_campaigns-campaign_name$NWE
Quellkampagne:$NWB#vicidial_campaigns-campaign_id$NWE
\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=111 display the ADD NEW LIST FORM SCREEN +###################### + +if ($ADD==111) +{ + if ($LOGmodify_lists==1) + { + echo "
\n"; + echo ""; + + echo "
ADD A NEW LIST\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Liste Identifikation: (nur Stellen)$NWB#vicidial_lists-list_id$NWE
Liste Name: $NWB#vicidial_lists-list_name$NWE
Liste Beschreibung: $NWB#vicidial_lists-list_description$NWE
Kampagne: $NWB#vicidial_lists-campaign_id$NWE
Aktiv:$NWB#vicidial_lists-active$NWE
\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=121 display the ADD NUMBER TO DNC FORM SCREEN and add a new number +###################### + +if ($ADD==121) +{ +echo "
\n"; +echo ""; + +if (strlen($phone_number) > 2) + { + $stmt="SELECT count(*) from vicidial_dnc where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
DNC NICHT ADDIERT - diese Telefonnummer ist bereits in benennen nichtListe: $phone_number

\n";} + else + { + $stmt="INSERT INTO vicidial_dnc (phone_number) values('$phone_number');"; + $rslt=mysql_query($stmt, $link); + + echo "
DNC FÜGTE HINZU: $phone_number

\n"; + + ### LOG INSERTION TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW DNC NUMBER|$PHP_AUTH_USER|$ip|'$phone_number'|\n"); + fclose($fp); + } + } + } + +echo "
FÜGEN Sie Eine ZAHL Der DNC LISTE Hinzu\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "
Telefonnummer: (nur Stellen)$NWB#vicidial_list-dnc$NWE
\n"; + +} + + +###################### +# ADD=1111 display the ADD NEW INBOUND GROUP SCREEN +###################### + +if ($ADD==1111) +{ + if ($LOGmodify_ingroups==1) + { + echo "
\n"; + echo ""; + + echo "
ADDIEREN Sie Eine NEUE INBOUND GRUPPE\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Gruppe Identifikation: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
Gruppe Name: $NWB#vicidial_inbound_groups-group_name$NWE
Gruppe Farbe: $NWB#vicidial_inbound_groups-group_color$NWE
Aktiv:$NWB#vicidial_inbound_groups-active$NWE
Netz-Form: $NWB#vicidial_inbound_groups-web_form_address$NWE
Voicemail: $NWB#vicidial_inbound_groups-voicemail_ext$NWE
Folgender Vertreter-Anruf: $NWB#vicidial_inbound_groups-next_agent_call$NWE
Fronter Anzeige: $NWB#vicidial_inbound_groups-fronter_display$NWE
Index: $NWB#vicidial_inbound_groups-ingroup_script$NWE
Erhalten Sie Anruf-Produkteinführung: $NWB#vicidial_inbound_groups-get_call_launch$NWE
\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=1211 display the COPY INBOUND GROUP SCREEN +###################### + +if ($ADD==1211) +{ + if ($LOGmodify_ingroups==1) + { + echo "
\n"; + echo ""; + + echo "
COPY INBOUND GRUPPE\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
Gruppe Identifikation: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
Gruppe Name: $NWB#vicidial_inbound_groups-group_name$NWE
Source Gruppe Identifikation: $NWB#vicidial_inbound_groups-group_id$NWE
\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=11111 display the ADD NEW REMOTE AGENTS SCREEN +###################### + +if ($ADD==11111) +{ + if ($LOGmodify_remoteagents==1) + { + echo "
\n"; + echo ""; + + echo "
ADDIEREN SIE NEUE REMOTEMITTEL\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Benutzernummer Anfang: (nur Zahlen, incremented)$NWB#vicidial_remote_agents-user_start$NWE
Zeilenzahl: (nur Zahlen)$NWB#vicidial_remote_agents-number_of_lines$NWE
Bediener IP: $NWB#vicidial_remote_agents-server_ip$NWE
Externe Verlängerung: (dial plan Zahl wählte, um Mittel zu erreichen)$NWB#vicidial_remote_agents-conf_exten$NWE
Status:$NWB#vicidial_remote_agents-status$NWE
Kampagne: $NWB#vicidial_remote_agents-campaign_id$NWE
Inbound Gruppen: \n"; + echo "$groups_list"; + echo "$NWB#vicidial_remote_agents-closer_campaigns$NWE
\n"; + echo "ANMERKUNG: Sie kann bis 30 Sekunden für die Änderungen dauern, dieauf diesem Schirm eingereicht werden, um Phasen zu gehen\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=111111 display the ADD NEW USERS GROUP SCREEN +###################### + +if ($ADD==111111) +{ + if ($LOGmodify_usergroups==1) + { + echo "
\n"; + echo ""; + + echo "
ADDIEREN SIE NEUE BENUTZER-GRUPPE\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Gruppe: (keine Räume oder Interpunktion)$NWB#vicidial_user_groups-user_group$NWE
Beschreibung: (Beschreibung der Gruppe)$NWB#vicidial_user_groups-group_name$NWE
\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=1111111 display the ADD NEW SCRIPT SCREEN +###################### + +if ($ADD==1111111) +{ + if ($LOGmodify_scripts==1) + { + echo "
\n"; + echo ""; + + echo "
ADD NEW SCRIPT\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Index Identifikation: (keine Räume oder Interpunktion)$NWB#vicidial_scripts-script_id$NWE
Index-Name: (Titel dem Index)$NWB#vicidial_scripts-script_name$NWE
Index-Anmerkungen: $NWB#vicidial_scripts-script_comments$NWE
Aktiv:$NWB#vicidial_scripts-active$NWE
Index-Text: "; + # BEGIN Insert Field + echo ""; + echo "
"; + # END Insert Field + echo " $NWB#vicidial_scripts-script_text$NWE
\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=11111111 display the ADD NEW FILTER SCREEN +###################### + +if ($ADD==11111111) +{ + if ($LOGmodify_filters==1) + { + echo "
\n"; + echo ""; + + echo "
ADDIEREN SIE NEUEN FILTER\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Filter Identifikation: (keine Räume oder Interpunktion)$NWB#vicidial_lead_filters-lead_filter_id$NWE
Filter-Name: (kurze Beschreibung des Filter)$NWB#vicidial_lead_filters-lead_filter_name$NWE
Filter-Anmerkungen: $NWB#vicidial_lead_filters-lead_filter_comments$NWE
Filter Sql: $NWB#vicidial_lead_filters-lead_filter_sql$NWE
\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=111111111 display the ADD NEW CALL TIME SCREEN +###################### + +if ($ADD==111111111) +{ + if ($LOGmodify_call_times==1) + { + echo "
\n"; + echo ""; + + echo "
Hinzufügen neuer Anrufzeiten\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "
Anrufzeit ID: (keine Räume oder Interpunktion)$NWB#vicidial_call_times-call_time_id$NWE
Anrufzeit Name: (Kurze Beschreibung der Anrufzeit)$NWB#vicidial_call_times-call_time_name$NWE
Anrufzeit Kommentare: $NWB#vicidial_call_times-call_time_comments$NWE
Datums und Zeitoptionen erscheinen, wenn die Anrufzeitdefinition angelegt wurde
\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=1111111111 display the ADD NEW STATE CALL TIME SCREEN +###################### + +if ($ADD==1111111111) +{ + if ($LOGmodify_call_times==1) + { + echo "
\n"; + echo ""; + + echo "
Hinzufügen neuer landesspezifischer Anrufzeiten\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "
Landesspezifische Anrufzeiten ID: (keine Räume oder Interpunktion)$NWB#vicidial_call_times-call_time_id$NWE
State Call Time State: (keine Räume oder Interpunktion)$NWB#vicidial_call_times-state_call_time_state$NWE
Landesspezifischer Anrufzeiten Name: (Kurze Beschreibung der Anrufzeit)$NWB#vicidial_call_times-call_time_name$NWE
Landesspezifischer Anrufzeiten Kommentar: $NWB#vicidial_call_times-call_time_comments$NWE
Datums und Zeitoptionen erscheinen, wenn die Anrufzeitdefinition angelegt wurde
\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=11111111111 display the ADD NEW PHONE SCREEN +###################### + +if ($ADD==11111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + echo "
ADDIEREN Sie Ein NEUES TELEFON\n"; + echo "\n"; + echo "
\n"; + + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Telefonverlängerung: $NWB#phones-extension$NWE
Dial Plan Zahl: (nur Stellen)$NWB#phones-dialplan_number$NWE
Voicemail Kasten: (nur Stellen)$NWB#phones-voicemail_id$NWE
Outbound CallerID: (nur Stellen)$NWB#phones-outbound_cid$NWE
Telefon-IP address: (optional)$NWB#phones-phone_ip$NWE
Computer-IP address: (optional)$NWB#phones-computer_ip$NWE
Bediener IP: $NWB#phones-server_ip$NWE
Login: $NWB#phones-login$NWE
Kennwort:$NWB#phones-pass$NWE
Status:$NWB#phones-status$NWE
Aktives Konto: $NWB#phones-active$NWE
Telefon-Art: $NWB#phones-phone_type$NWE
Voller Name: $NWB#phones-fullname$NWE
Firma:$NWB#phones-company$NWE
Abbildung:$NWB#phones-picture$NWE
Klient Protokoll: $NWB#phones-protocol$NWE
Lokales GMT: (Stellen Sie NICHT auf DST ein)$NWB#phones-local_gmt$NWE
\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=111111111111 display the ADD NEW SERVER SCREEN +###################### + +if ($ADD==111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + echo "
ADDIEREN Sie Einen NEUEN BEDIENER\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Bediener Identifikation: $NWB#servers-server_id$NWE
Bediener-Beschreibung: $NWB#servers-server_description$NWE
Bediener-IP address: $NWB#servers-server_ip$NWE
Aktiv:$NWB#servers-active$NWE
Sternchen-Version: $NWB#servers-asterisk_version$NWE
\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=1111111111111 display the ADD NEW CONFERENCE SCREEN +###################### + +if ($ADD==1111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + echo "
ADDIEREN Sie Eine NEUE KONFERENZ\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Konferenz-Zahl: (nur Stellen)$NWB#conferences-conf_exten$NWE
Bediener IP: $NWB#conferences-server_ip$NWE
\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=11111111111111 display the ADD NEW VICIDIAL CONFERENCE SCREEN +###################### + +if ($ADD==11111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + echo "
ADD A NEW VICIDIAL CONFERENCE\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Konferenz-Zahl: (nur Stellen)$NWB#conferences-conf_exten$NWE
Bediener IP: $NWB#conferences-server_ip$NWE
\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + + +###################################################################################################### +###################################################################################################### +####### 2 series, validates form data and inserts the new record into the database +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=2 adds the new user to the system +###################### + +if ($ADD=="2") +{ + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
BENUTZER NICHT ADDIERT - es gibt bereits einen Benutzer im System mitdieser Benutzerzahl\n";} + else + { + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 8) ) + { + echo "
BENUTZER NICHT ADDIERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n"; + echo "
Teilnehmerbezeichnung muß zwischen 2 und 8 Buchstaben lang sein\n"; + echo "
voller Name und Kennwort müssen mindestens 2 Buchstaben lang sein\n"; + } + else + { + echo "
BENUTZER FÜGTE HINZU: $user\n"; + + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass) values('$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A USER |$PHP_AUTH_USER|$ip|'$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass'|\n"); + fclose($fp); + } + } + } + +$ADD=3; +} + +###################### +# ADD=2A adds the copied new user to the system +###################### + +if ($ADD=="2A") +{ + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
BENUTZER NICHT ADDIERT - es gibt bereits einen Benutzer im System mitdieser Benutzerzahl\n";} + else + { + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 8) ) + { + echo "
BENUTZER NICHT ADDIERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n"; + echo "
Teilnehmerbezeichnung muß zwischen 2 und 8 Buchstaben lang sein\n"; + echo "
voller Name und Kennwort müssen mindestens 2 Buchstaben lang sein\n"; + } + else + { + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override from vicidial_users where user=\"$source_user_id\";"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today) SELECT \"$user\",group_id,group_rank,group_weight,\"0\" from vicidial_inbound_group_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) SELECT \"$user\",campaign_id,campaign_rank,campaign_weight,\"0\" from vicidial_campaign_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); + + echo "
USER COPIED: $user copied from $source_user_id\n"; + echo "

\n"; + echo "Click here to go to the user record\n"; + echo "

\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A COPIED USER |$PHP_AUTH_USER|$ip|$user|$source_user_id|$stmt|\n"); + fclose($fp); + } + } + } +exit; +} + +###################### +# ADD=21 adds the new campaign to the system +###################### + +if ($ADD==21) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
KAMPAGNE NICHT ADDIERT - es gibt bereits eine Kampagne im System mitdieser Identifikation\n";} + else + { + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($campaign_name) > 40) ) + { + echo "
KAMPAGNE NICHT ADDIERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n"; + echo "
Kampagne Identifikation muß zwischen 2 und 8 Buchstaben lang sein\n"; + echo "
Kampagne Name muß zwischen 6 und 40 Buchstaben lang sein\n"; + } + else + { + echo "
KAMPAGNE ADDIERT: $campaign_id\n"; + + $stmt="INSERT INTO vicidial_campaigns (campaign_id,campaign_name,campaign_description,active,dial_status_a,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,campaign_script,get_call_launch,campaign_changedate,campaign_stats_refresh,list_order_mix) values('$campaign_id','$campaign_name','$campaign_description','$active','NEW','DOWN','$park_ext','$park_file_name','" . mysql_real_escape_string($web_form_address) . "','$allow_closers','$hopper_level','$auto_dial_level','$next_agent_call','$local_call_time','$voicemail_ext','$script_id','$get_call_launch','$SQLdate','Y','DISABLED');"; + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmt, $link); + + echo ""; + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADDIEREN Sie Eine NEUE KAMPAGNE |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + } + } + } +$ADD=31; +} + +###################### +# ADD=20 adds copied new campaign to the system +###################### + +if ($ADD==20) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
KAMPAGNE NICHT ADDIERT - es gibt bereits eine Kampagne im System mitdieser Identifikation\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 2) or (strlen($source_campaign_id) < 2) or (strlen($source_campaign_id) > 8) ) + { + echo "
KAMPAGNE NICHT ADDIERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n"; + echo "
Kampagne Identifikation muß zwischen 2 und 8 Buchstaben lang sein\n"; + echo "
source Kampagne Identifikation muß zwischen 2 und 8 Buchstaben lang sein\n"; + } + else + { + echo "
CAMPAIGN COPIED: $campaign_id copied from $source_campaign_id\n"; + + $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,safe_harbor_message,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,safe_harbor_message,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group from vicidial_campaigns where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category) SELECT status,status_name,selectable,\"$campaign_id\",human_answered,category from vicidial_campaign_statuses where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_hotkeys (status,hotkey,status_name,selectable,campaign_id) SELECT status,hotkey,status_name,selectable,\"$campaign_id\" from vicidial_campaign_hotkeys where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_lead_recycle (status,attempt_delay,attempt_maximum,active,campaign_id) SELECT status,attempt_delay,attempt_maximum,active,\"$campaign_id\" from vicidial_lead_recycle where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_pause_codes (pause_code,pause_code_name,billable,campaign_id) SELECT pause_code,pause_code_name,billable,\"$campaign_id\" from vicidial_pause_codes where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + echo ""; + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|COPY TO NEW CAMPAIGN|$PHP_AUTH_USER|$ip|$campaign_id|$source_campaign_id|$stmt|$stmtA|\n"); + fclose($fp); + } + + } + } +$ADD=31; +} + +###################### +# ADD=22 adds the new campaign status to the system +###################### + +if ($ADD==22) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
KAMPAGNE STATUS NICHT ADDIERT - es gibt bereits einen Kampagne-Statusim System mit diesem Namen\n";} + else + { + $stmt="SELECT count(*) from vicidial_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
KAMPAGNE STATUS NICHT ADDIERT - es gibt bereits einen Globalstatus imSystem mit diesem Namen\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($status_name) < 2) ) + { + echo "
KAMPAGNE STATUS NICHT ADDIERT - gehen Sie bitte zurück und betrachtenSie die Daten, die Sie eingaben\n"; + echo "
Status muß zwischen 1 und 8 Buchstaben lang sein\n"; + echo "
Statusname muß zwischen 2 und 30 Buchstaben lang sein\n"; + } + else + { + echo "
KAMPAGNE STATUS ADDIERT: $campaign_id - $status\n"; + + $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category) values('$status','$status_name','$selectable','$campaign_id','$human_answered','$category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADDIEREN Sie Eine NEUE KAMPAGNE STATUS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$SUB=22; +$ADD=31; +} + + +###################### +# ADD=23 adds the new campaign hotkey to the system +###################### + +if ($ADD==23) +{ + $HKstatus_data = explode('-----',$HKstatus); + $status = $HKstatus_data[0]; + $status_name = $HKstatus_data[1]; + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_hotkeys where campaign_id='$campaign_id' and hotkey='$hotkey' and hotkey='$hotkey';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CAMPAIGN HOT KEY NOT ADDED - there is already a campaign-hotkey in the system with this hotkey\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) + { + echo "
KAMPAGNE HOT KEY NICHT ADDIERT - gehen Sie bitte zurück und betrachtenSie die Daten, die Sie eingaben\n"; + echo "
hotkey must be a single character between 1 and 9 \n"; + echo "
Status muß zwischen 1 und 8 Buchstaben lang sein\n"; + } + else + { + echo "
KAMPAGNE HOT KEY FÜGTE HINZU: $campaign_id - $status - $hotkey\n"; + + $stmt="INSERT INTO vicidial_campaign_hotkeys values('$status','$hotkey','$status_name','$selectable','$campaign_id');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADDIEREN Sie Eine NEUE KAMPAGNE HOT KEY |$PHP_AUTH_USER|$ip|'$status','$hotkey','$status_name','$selectable','$campaign_id'|\n"); + fclose($fp); + } + } + } +$SUB=23; +$ADD=31; +} + + +###################### +# ADD=25 adds the new campaign lead recycle entry to the system +###################### + +if ($ADD==25) +{ + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
KAMPAGNE LEITUNG BEREITEN NICHT HINZUGEFÜGT auf - es gibt bereitseine Führenwiederverwertung für diese Kampagne mit diesem Status\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) + { + echo "
KAMPAGNE LEITUNG BEREITEN NICHT HINZUGEFÜGT auf - gehen Sie bittezurück und betrachten Sie die Daten, die Sie eingaben\n"; + echo "
Status muß zwischen 1 und 6 Buchstaben lang sein\n"; + echo "
Versuch verzögert muß mindestens 120 Sekunden sein\n"; + echo "
maximale Versuche müssen von 1 bis 10 sein\n"; + } + else + { + echo "
KAMPAGNE LEITUNG BEREITEN HINZUGEFÜGT AUF: $campaign_id - $status - $attempt_delay\n"; + + $stmt="INSERT INTO vicidial_lead_recycle(campaign_id,status,attempt_delay,attempt_maximum,active) values('$campaign_id','$status','$attempt_delay','$attempt_maximum','$active');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW LEAD RECYCLE |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$SUB=25; +$ADD=31; +} + + +###################### +# ADD=26 adds the new auto alt dial status to the campaign +###################### + +if ($ADD==26) +{ + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
SELBSTALT VORWAHLKNOPF-STATUS NICHT ADDIERT - es gibt bereits eine Eintragung für diese Kampagne mit diesem Status\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
SELBSTALT VORWAHLKNOPF-STATUS NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Status muß zwischen 1 und 6 Buchstaben lang sein\n"; + } + else + { + echo "
SELBSTALT VORWAHLKNOPF-STATUS FÜGTE HINZU: $campaign_id - $status\n"; + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if (strlen($row[0])<2) {$row[0] = ' -';} + $auto_alt_dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A AUTO-ALT-DIAL STATUS|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$SUB=26; +$ADD=31; +} + + +###################### +# ADD=27 adds the new campaign agent pause code entry to the system +###################### + +if ($ADD==27) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
MITTEL-PAUSE CODE NICHT ADDIERT - es gibt bereits eine Eintragung für diese Kampagne mit diesem PauseCode\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) + { + echo "
MITTEL-PAUSE CODE NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
pause code must be between 1 and 6 characters in length\n"; + echo "
pause code name must be between 2 and 30 characters in length\n"; + } + else + { + echo "
MITTEL-PAUSE CODE FÜGTE HINZU: $campaign_id - $pause_code - $pause_code_name\n"; + + $stmt="INSERT INTO vicidial_pause_codes(campaign_id,pause_code,pause_code_name,billable) values('$campaign_id','$pause_code','$pause_code_name','$billable');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW MITTELPAUSE CODE|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$SUB=27; +$ADD=31; +} + + +###################### +# ADD=28 adds new status to the campaign dial statuses +###################### + +if ($ADD==28) +{ + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
KAMPAGNE VORWAHLKNOPF-STATUS NICHT ADDIERT - es gibt bereits eine Eintragung für diese Kampagne mit diesem Status\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
KAMPAGNE VORWAHLKNOPF-STATUS NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Status muß zwischen 1 und 6 Buchstaben lang sein\n"; + } + else + { + echo "
KAMPAGNE VORWAHLKNOPF-STATUS ADDIERT: $campaign_id - $status\n"; + + $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if (strlen($row[0])<2) {$row[0] = ' -';} + $dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADDIEREN SIE KAMPAGNE DIAL STATUS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +#$SUB=28; +$ADD=31; +} + + +###################### +# ADD=211 adds the new list to the system +###################### + +if ($ADD==211) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
LISTE NICHT ADDIERT - es gibt bereits eine Liste im System mit dieserIdentifikation\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($list_name) < 2) or ($list_id < 100) or (strlen($list_id) > 8) ) + { + echo "
LISTE NICHT ADDIERT - gehen Sie bitte zurück und betrachten Sie dieDaten, die Sie eingaben\n"; + echo "
Liste Identifikation muß zwischen 2 und 8 Buchstaben lang sein\n"; + echo "
Liste Name muß mindestens 2 Buchstaben lang sein\n"; + echo "
Liste Identifikation must be greater than 100\n"; + } + else + { + echo "
LISTE ADDIERT: $list_id\n"; + + $stmt="INSERT INTO vicidial_lists (list_id,list_name,campaign_id,active,list_description,list_changedate) values('$list_id','$list_name','$campaign_id','$active','$list_description','$SQLdate');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW LIST |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=311; +} + + + +###################### +# ADD=2111 adds the new inbound group to the system +###################### + +if ($ADD==2111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
GRUPPE NICHT ADDIERT - es gibt bereits eine Gruppe im System mitdieser Identifikation\n";} + else + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
GRUPPE NICHT ADDIERT - gehen Sie bitte zurück und betrachten Sie dieDaten, die Sie eingaben\n"; + echo "
Gruppe Identifikation muß zwischen 2 und 20 Buchstaben lang sein undNr. enthalten ' -+'.\n"; + echo "
Gruppe Name und Gruppe Farbe muß mindestens 2 Buchstaben lang sein\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','$get_call_launch');"; + $rslt=mysql_query($stmt, $link); + + echo "
GRUPPE FÜGTE HINZU: $group_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW GROUP |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$ADD=3111; +} + + +###################### +# ADD=2011 adds copied inbound group to the system +###################### + +if ($ADD==2011) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
GRUPPE NICHT ADDIERT - es gibt bereits eine Gruppe im System mitdieser Identifikation\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
GRUPPE NICHT ADDIERT - gehen Sie bitte zurück und betrachten Sie dieDaten, die Sie eingaben\n"; + echo "
Gruppe Identifikation muß zwischen 2 und 20 Buchstaben lang sein undNr. enthalten ' -+'.\n"; + echo "
Gruppe Name und Gruppe Farbe muß mindestens 2 Buchstaben lang sein\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_message,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_message,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group from vicidial_inbound_groups where group_id=\"$source_group_id\";"; + $rslt=mysql_query($stmt, $link); + + echo "
GRUPPE FÜGTE HINZU: $group_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|COPIED TO NEW GROUP |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=3111; +} + + +###################### +# ADD=21111 adds new remote agents to the system +###################### + +if ($ADD==21111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_remote_agents where server_ip='$server_ip' and user_start='$user_start';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
REMOTEMITTEL NICHT ADDIERT - es gibt bereits eineRemotemitteleintragung beginnend mit diesem userID\n";} + else + { + if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) + { + echo "
REMOTEMITTEL NICHT ADDIERT - gehen Sie bitte zurück und betrachtenSie die Daten, die Sie eingaben\n"; + echo "
Benutzernummer Anfang und externe Verlängerung müssen mindestens 2Buchstaben lang sein\n"; + } + else + { + $stmt="INSERT INTO vicidial_remote_agents values('','$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value');"; + $rslt=mysql_query($stmt, $link); + + echo "
REMOTEMITTEL FÜGTEN HINZU: $user_start\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW REMOTEMITTEL ENTRY |$PHP_AUTH_USER|$ip|'$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value'|\n"); + fclose($fp); + } + } + } +$ADD=10000; +} + +###################### +# ADD=211111 adds new user group to the system +###################### + +if ($ADD==211111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
BENUTZER-GRUPPE NICHT ADDIERT - es gibt bereits eine BenutzergruppeEintragung mit diesem Namen\n";} + else + { + if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) + { + echo "
BENUTZER-GRUPPE NICHT ADDIERT - gehen Sie bitte zurück und betrachtenSie die Daten, die Sie eingaben\n"; + echo "
Gruppe Name und Beschreibung müssen mindestens 2 Buchstaben langsein\n"; + } + else + { + $stmt="INSERT INTO vicidial_user_groups(user_group,group_name,allowed_campaigns) values('$user_group','$group_name','-ALL-CAMPAIGNS-');"; + $rslt=mysql_query($stmt, $link); + + echo "
BENUTZER-GRUPPE ADDIERT: $user_group\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADDIEREN Sie Einen NEUEN BENUTZER GROUP ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=100000; +} + +###################### +# ADD=2111111 adds new script to the system +###################### + +if ($ADD==2111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_scripts where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
INDEX NICHT ADDIERT - es gibt bereits eine Indexeintragung mit diesem Namen\n";} + else + { + if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + { + echo "
INDEX NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Indexname, -beschreibung und -text müssen mindestens 2 Buchstabenlang sein\n"; + } + else + { + $stmt="INSERT INTO vicidial_scripts values('$script_id','$script_name','$script_comments','$script_text','$active');"; + $rslt=mysql_query($stmt, $link); + + echo "
INDEX FÜGTE HINZU: $script_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW SCRIPT ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=1000000; +} + + +###################### +# ADD=21111111 adds new filter to the system +###################### + +if ($ADD==21111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
FILTER NICHT ADDIERT - es gibt bereits eine Filtereintragung mitdieser Identifikation\n";} + else + { + if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + { + echo "
FILTER NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Filtern Sie Identifikation, Namen und SQL muß mindestens 2 Buchstabenlang sein\n"; + } + else + { + $stmt="INSERT INTO vicidial_lead_filters SET lead_filter_id='$lead_filter_id',lead_filter_name='$lead_filter_name',lead_filter_comments='$lead_filter_comments',lead_filter_sql='$lead_filter_sql';"; + $rslt=mysql_query($stmt, $link); + + echo "
FILTER ADDIERT: $lead_filter_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW FILTER ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=10000000; +} + + +###################### +# ADD=211111111 adds new call time definition to the system +###################### + +if ($ADD==211111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
Anrufzeit Definition nicht hinzugefügt - Es existiert bereits ein Anrufzeiteintrag mit dieser ID\n";} + else + { + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) + { + echo "
Anrufzeit Definition nicht hinzugefügt - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Anrufzeit ID und Name müssen mindestens 2 Zeichen Länge haben\n"; + } + else + { + $stmt="INSERT INTO vicidial_call_times SET call_time_id='$call_time_id',call_time_name='$call_time_name',call_time_comments='$call_time_comments';"; + $rslt=mysql_query($stmt, $link); + + echo "
Anrufzeit hinzugefügt: $call_time_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW CALL TIME ENTRY |$stmt|\n"); + fclose($fp); + } + } + } +$ADD=311111111; +} + + +###################### +# ADD=2111111111 adds new state call time definition to the system +###################### + +if ($ADD==2111111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_state_call_times where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
Landesspezifische Anrufzeitdefinition nicht hinzugefügt - Es existiert bereits ein Anrufzeiteintrag mit dieser ID\n";} + else + { + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) + { + echo "
Landesspezifische Anrufzeitdefinition nicht hinzugefügt - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Landesspezifische Anrufzeit ID, Name und Land müssen mindestens 2 Zeichen Länge haben\n"; + } + else + { + $stmt="INSERT INTO vicidial_state_call_times SET state_call_time_id='$call_time_id',state_call_time_name='$call_time_name',state_call_time_comments='$call_time_comments',state_call_time_state='$state_call_time_state';"; + $rslt=mysql_query($stmt, $link); + + echo "
landesspezifische Anrufzeiten hinzugefügt: $call_time_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW STATE CALL TIME ENTRY|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=3111111111; +} + + +###################### +# ADD=21111111111 adds new phone to the system +###################### + +if ($ADD==21111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
TELEFON NICHT ADDIERT - es gibt bereits ein Telefon im System mitdiesem extension/server\n";} + else + { + if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) + {echo "
TELEFON NICHT ADDIERT - gehen Sie bitte zurück und betrachten Sie dieDaten, die Sie eingaben\n";} + else + { + echo "
TELEFON FÜGTE HINZU\n"; + + $stmt="INSERT INTO phones (extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,protocol,local_gmt,outbound_cid) values('$extension','$dialplan_number','$voicemail_id','$phone_ip','$computer_ip','$server_ip','$login','$pass','$status','$active','$phone_type','$fullname','$company','$picture','$protocol','$local_gmt','$outbound_cid');"; + $rslt=mysql_query($stmt, $link); + } + } +$ADD=31111111111; +} + + +###################### +# ADD=211111111111 adds new server to the system +###################### + +if ($ADD==211111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from servers where server_id='$server_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
BEDIENERNOT ADDED - there is already a server in the system with this ID\n";} + else + { + if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) + {echo "
BEDIENERNOT ADDED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n";} + else + { + echo "
BEDIENERADDED\n"; + + $stmt="INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version) values('$server_id','$server_description','$server_ip','$active','$asterisk_version');"; + $rslt=mysql_query($stmt, $link); + } + } +$ADD=311111111111; +} + + +###################### +# ADD=221111111111 adds the new vicidial server trunk record to the system +###################### + +if ($ADD==221111111111) +{ + echo ""; + $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $MAXvicidial_trunks = $rowx[0]; + + $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); + + if ($SUMvicidial_trunks > $MAXvicidial_trunks) + { + echo "
VICIDIAL BEDIENER-STAMM-SATZ NICHT ADDIERT - die Zahl vicidial Stämmen ist zu hoch: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + } + else + { + $stmt="SELECT count(*) from vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
VICIDIAL BEDIENER-STAMM-SATZ NICHT ADDIERT - es gibt bereits eine Bediener-Stamm Aufzeichnung für diese Kampagne\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) + { + echo "
VICIDIAL BEDIENER-STAMM-SATZ NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Kampagne muß zwischen 3 und 8 Buchstaben lang sein\n"; + echo "
server_ip verzögert muß mindestens 7 Buchstaben sein\n"; + echo "
Stämme müssen eine Stelle von 0 bis 9999 sein\n"; + } + else + { + echo "
VICIDIAL BEDIENER-STAMM-SATZ ADDIERT: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; + + $stmt="INSERT INTO vicidial_server_trunks(server_ip,campaign_id,dedicated_trunks,trunk_restriction) values('$server_ip','$campaign_id','$dedicated_trunks','$trunk_restriction');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW VICIDIAL TRUNK |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$ADD=311111111111; +} + + +###################### +# ADD=2111111111111 adds new conference to the system +###################### + +if ($ADD==2111111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
KONFERENZ NICHT ADDIERT - es gibt bereits eine Konferenz im System mitdieser Identifikation und Bediener\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
KONFERENZ NICHT ADDIERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n";} + else + { + echo "
KONFERENZ FÜGTE HINZU\n"; + + $stmt="INSERT INTO conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } + } +$ADD=3111111111111; +} + + +###################### +# ADD=21111111111111 adds new vicidial conference to the system +###################### + +if ($ADD==21111111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
VICIDIAL CONFERENCE NOT ADDED - there is already a vicidial conference in the system with this ID and server\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
VICIDIAL KONFERENZ NICHT ADDIERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n";} + else + { + echo "
VICIDIAL KONFERENZ FÜGTE HINZU\n"; + + $stmt="INSERT INTO vicidial_conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } + } +$ADD=31111111111111; +} + + +###################### +# ADD=221111111111111 adds the new system status to the system +###################### + +if ($ADD==221111111111111) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
SYSTEMSTATUS NICHT ADDIERT - there is already a campaign-status in the system with this name: $row[0]\n";} + else + { + $stmt="SELECT count(*) from vicidial_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
SYSTEMSTATUS NICHT ADDIERT - there is already a global-status in the system with this name\n";} + else + { + if ( (strlen($status) < 1) or (strlen($status_name) < 2) ) + { + echo "
SYSTEMSTATUS NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Status muß zwischen 1 und 8 Buchstaben lang sein\n"; + echo "
Statusname muß zwischen 2 und 30 Buchstaben lang sein\n"; + } + else + { + echo "
SYSTEMSTATUS ADDIERT: $status_name - $status\n"; + + $stmt="INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category) values('$status','$status_name','$selectable','$human_answered','$category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW SYSTEM STATUS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$ADD=321111111111111; +} + + +###################### +# ADD=231111111111111 adds the new status category to the system +###################### + +if ($ADD==231111111111111) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_status_categories where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
STATUS-KATEGORIE NICHT ADDIERT - es gibt bereits eine Statuskategorie im System mit dieserIdentifikation: $row[0]\n";} + else + { + if ( (strlen($vsc_id) < 2) or (strlen($vsc_id) > 20) or (strlen($vsc_name) < 2) ) + { + echo "
STATUS-KATEGORIE NICHT ADDIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Identifikation muß zwischen 2 und 20 Buchstaben lang sein\n"; + echo "
Namensname muß zwischen 2 und 50 Buchstaben lang sein\n"; + } + else + { + echo "
STATUS CATEGORY ADDED: $vsc_id - $vsc_name\n"; + + $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + { + $tovdad_display = 'N'; + echo "
STÖRUNG: Es gibt bereits 4 den Status-Kategorienkatalog zurTimeOnVDAD Anzeige\n"; + } + + $stmt="INSERT INTO vicidial_status_categories (vsc_id,vsc_name,vsc_description,tovdad_display) values('$vsc_id','$vsc_name','$vsc_description','$tovdad_display');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW STATUS CATEGORY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=331111111111111; +} + + + +###################################################################################################### +###################################################################################################### +####### 4 series, record modifications submitted and DB is modified, then on to 3 series forms below +###################################################################################################### +###################################################################################################### + + + +###################### +# ADD=4A submit user modifications to the system - ADMIN +###################### + +if ($ADD=="4A") +{ + if ($LOGmodify_users==1) + { + echo ""; + + if ( (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_level) < 1) ) + { + echo "
BENUTZER NICHT GEÄNDERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n"; + echo "
Kennwort und voller Name jedes Notwendigkeit ot sind mindestens 2Buchstaben lang\n"; + } + else + { + echo "
BENUTZER ÄNDERTE - ADMIN: $user\n"; + + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override' where user='$user';"; + $rslt=mysql_query($stmt, $link); + + + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY USER INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=3; # go to user modification below +} + + +###################### +# ADD=4B submit user modifications to the system - ADMIN +###################### + +if ($ADD=="4B") +{ + if ($LOGmodify_users==1) + { + echo ""; + + if ( (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_level) < 1) ) + { + echo "
BENUTZER NICHT GEÄNDERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n"; + echo "
Kennwort und voller Name jedes Notwendigkeit ot sind mindestens 2Buchstaben lang\n"; + } + else + { + echo "
BENUTZER ÄNDERTE - ADMIN: $user\n"; + + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',hotkeys_active='$hotkeys_active',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',closer_default_blended='$closer_default_blended',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override' where user='$user';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY USER INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=3; # go to user modification below +} + + + +###################### +# ADD=4 submit user modifications to the system +###################### + +if ($ADD==4) +{ + if ($LOGmodify_users==1) + { + echo ""; + + if ( (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_level) < 1) ) + { + echo "
BENUTZER NICHT GEÄNDERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n"; + echo "
Kennwort und voller Name jedes Notwendigkeit ot sind mindestens 2Buchstaben lang\n"; + } + else + { + echo "
BENUTZER ÄNDERTE: $user\n"; + + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass' where user='$user';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY USER INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=3; # go to user modification below +} + +###################### +# ADD=41 submit campaign modifications to the system +###################### + +if ($ADD==41) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_name) < 6) or (strlen($active) < 1) ) + { + echo "
KAMPAGNE NICHT GEÄNDERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n"; + echo "
der Kampagne Name muß mindestens 6 Buchstaben lang sein\n"; + echo "
|$campaign_name|$active|\n"; + } + else + { + echo "
KAMPAGNE ÄNDERTE: $campaign_id\n"; + + if ($dial_method == 'MANUAL') + { + $auto_dial_level='0'; + $adlSQL = "auto_dial_level='0',"; + } + else + { + if ($dial_level_override > 0) + { + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + else + { + if ($dial_method == 'RATIO') + { + if ($auto_dial_level < 1) {$auto_dial_level = "1.0";} + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + else + { + $adlSQL = ""; + if ($auto_dial_level < 1) + { + $auto_dial_level = "1.0"; + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + } + } + } + if ( (!ereg("DISABLED",$list_order_mix)) and ($hopper_level < 100) ) + {$hopper_level='100';} + + $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',safe_harbor_message='$safe_harbor_message',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns='$groups_value',use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_refresh='$campaign_stats_refresh',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + if ($reset_hopper == 'Y') + { + echo "
ZURÜCKSTELLEN DES KAMPAGNE LEITUNG ZUFUHRBEHÄLTERS\n"; + echo "
- Wartezeit 1 Minute, bevor folgende Nummer gewählt wird\n"; + $stmt="DELETE from vicidial_hopper where campaign_id='$campaign_id' and status IN('READY','QUEUE','DONE');"; + $rslt=mysql_query($stmt, $link); + + ### LOG RESET TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|CAMPAIGN HOPPERRESET|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CAMPAIGN INFO|$PHP_AUTH_USER|$ip|$stmtA|$reset_hopper|\n"); + fclose($fp); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=42 modify/delete campaign status in the system +###################### + +if ($ADD==42) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
KAMPAGNE STATUS NICHT GEÄNDERT - gehen Sie bitte zurück undbetrachten Sie die Daten, die Sie eingaben\n"; + echo "
die Kampagne Kennzeichnung muß mindestens 2 Buchstaben lang sein\n"; + echo "
der Kampagne Status muß mindestens Buchstaben 1 lang sein\n"; + } + else + { + if (ereg('delete',$stage)) + { + echo "
KUNDENSPEZIFISCHER KAMPAGNE STATUS GELÖSCHT: $campaign_id - $status\n"; + + $stmt="DELETE FROM vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="DELETE FROM vicidial_campaign_hotkeys where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmtA, $link); + + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE CAMPAIGN STATUS|$PHP_AUTH_USER|$ip|$stmt|$stmtA|\n"); + fclose($fp); + } + } + if (ereg('modify',$stage)) + { + echo "
KUNDENSPEZIFISCHER KAMPAGNE STATUS GEÄNDERT: $campaign_id - $status\n"; + + $stmt="UPDATE vicidial_campaign_statuses SET status_name='$status_name',selectable='$selectable',human_answered='$human_answered',category='$category' where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CAMPAIGN STATUS|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$SUB=22; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=43 delete campaign hotkey in the system +###################### + +if ($ADD==43) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) + { + echo "
KAMPAGNE HOT KEY NICHT GEÄNDERT - gehen Sie bitte zurück undbetrachten Sie die Daten, die Sie eingaben\n"; + echo "
die Kampagne Kennzeichnung muß mindestens 2 Buchstaben lang sein\n"; + echo "
der Kampagne Status muß mindestens Buchstaben 1 lang sein\n"; + echo "
the campaign hotkey needs to be at least 1 characters in length\n"; + } + else + { + echo "
KUNDENSPEZIFISCHE KAMPAGNE HOT KEY LÖSCHTE: $campaign_id - $status - $hotkey\n"; + + $stmt="DELETE FROM vicidial_campaign_hotkeys where campaign_id='$campaign_id' and status='$status' and hotkey='$hotkey';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE CAMPAIGN STATUS|$PHP_AUTH_USER|$ip|DELETE FROM vicidial_campaign_hotkeys where campaign_id='$campaign_id' and status='$status' and hotkey='$hotkey'|\n"); + fclose($fp); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$SUB=23; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=44 submit campaign modifications to the system - Basic View +###################### + +if ($ADD==44) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_name) < 6) or (strlen($active) < 1) ) + { + echo "
KAMPAGNE NICHT GEÄNDERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n"; + echo "
der Kampagne Name muß mindestens 6 Buchstaben lang sein\n"; + } + else + { + echo "
KAMPAGNE ÄNDERTE: $campaign_id\n"; + + if ($dial_method == 'RATIO') + { + if ($auto_dial_level < 1) {$auto_dial_level = "1.0";} + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + else + { + if ($dial_method == 'MANUAL') + { + $auto_dial_level='0'; + $adlSQL = "auto_dial_level='0',"; + } + else + { + $adlSQL = ""; + if ($auto_dial_level < 1) + { + $auto_dial_level = "1.0"; + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + } + } + if ( (!ereg("DISABLED",$list_order_mix)) and ($hopper_level < 100) ) + {$hopper_level='100';} + + $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',hopper_level='$hopper_level', $adlSQL lead_filter_id='$lead_filter_id',dial_method='$dial_method',adaptive_intensity='$adaptive_intensity',campaign_changedate='$SQLdate',list_order_mix='$list_order_mix' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + if ($reset_hopper == 'Y') + { + echo "
ZURÜCKSTELLEN DES KAMPAGNE LEITUNG ZUFUHRBEHÄLTERS\n"; + echo "
- Wartezeit 1 Minute, bevor folgende Nummer gewählt wird\n"; + $stmt="DELETE from vicidial_hopper where campaign_id='$campaign_id' and status IN('READY','QUEUE','DONE');;"; + $rslt=mysql_query($stmt, $link); + + ### LOG HOPPER RESET TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|CAMPAIGN HOPPERRESET|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CAMPAIGN INFO|$PHP_AUTH_USER|$ip|$stmtA|$reset_hopper|\n"); + fclose($fp); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=34; # go to campaign modification form below +} + +###################### +# ADD=45 modify campaign lead recycle in the system +###################### + +if ($ADD==45) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) + { + echo "
CAMPAIGN LEAD RECYCLE NOT MODIFIED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Status muß zwischen 1 und 6 Buchstaben lang sein\n"; + echo "
Versuch verzögert muß mindestens 120 Sekunden sein\n"; + echo "
maximale Versuche müssen von 1 bis 10 sein\n"; + } + else + { + echo "
CAMPAIGN LEAD MODIFIED: $campaign_id - $status - $attempt_delay\n"; + + $stmt="UPDATE vicidial_lead_recycle SET attempt_delay='$attempt_delay',attempt_maximum='$attempt_maximum',active='$active' where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LEAD RECYCLE |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$SUB=25; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=47 modify agent pause code in the system +###################### + +if ($ADD==47) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) + { + echo "
MITTEL-PAUSE CODE NICHT GEÄNDERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
pause_code must be between 1 and 6 characters in length\n"; + echo "
pause_code name must be between 2 and 30 characters in length\n"; + } + else + { + echo "
MITTELPAUSE CODE MODIFIED: $campaign_id - $pause_code - $pause_code_name\n"; + + $stmt="UPDATE vicidial_pause_codes SET pause_code_name='$pause_code_name',billable='$billable' where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY MITTELPAUSECODE|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$SUB=27; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=49 modify campaign list mix in the system +###################### + +if ($ADD==49) +{ + if ($LOGmodify_campaigns==1) + { + ##### MODIFY a list mix container entry ##### + if ($stage=='MODIFY') + { + echo ""; + + $Flist_mix_container = "list_mix_container_$vcl_id"; + $Fmix_method = "mix_method_$vcl_id"; + $Fstatus = "status_$vcl_id"; + $Fvcl_name = "vcl_name_$vcl_id"; + + if (isset($_GET[$Flist_mix_container])) {$list_mix_container=$_GET[$Flist_mix_container];} + elseif (isset($_POST[$Flist_mix_container])) {$list_mix_container=$_POST[$Flist_mix_container];} + if (isset($_GET[$Fmix_method])) {$mix_method=$_GET[$Fmix_method];} + elseif (isset($_POST[$Fmix_method])) {$mix_method=$_POST[$Fmix_method];} + if (isset($_GET[$Fstatus])) {$status=$_GET[$Fstatus];} + elseif (isset($_POST[$Fstatus])) {$status=$_POST[$Fstatus];} + if (isset($_GET[$Fvcl_name])) {$vcl_name=$_GET[$Fvcl_name];} + elseif (isset($_POST[$Fvcl_name])) {$vcl_name=$_POST[$Fvcl_name];} + $list_mix_container = preg_replace("/:$/","",$list_mix_container); + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($list_mix_container) < 6) or (strlen($vcl_name) < 2) ) + { + echo "
LISTE MISCHUNG NICHT GEÄNDERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + echo "
vcl_name name must be between 2 and 30 characters in length\n"; + } + else + { + $stmt="UPDATE vicidial_campaigns_list_mix SET vcl_name='$vcl_name',mix_method='$mix_method',list_mix_container='$list_mix_container' where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
LISTE MISCHUNG ÄNDERTE: $campaign_id - $vcl_id - $vcl_name\n"; + } + } + + ##### ADD a list mix container entry ##### + if ($stage=='ADD') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($list_id) < 1) ) + { + echo "
LISTE MISCHUNG NICHT GEÄNDERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + echo "
list_id must be at least 2 characters in length\n"; + } + else + { + $stmt="SELECT list_mix_container from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $OLDlist_mix_container = $row[0]; + $NEWlist_mix_container = "$OLDlist_mix_container:$list_id|10|0| -|"; + + $stmt="UPDATE vicidial_campaigns_list_mix SET list_mix_container='$NEWlist_mix_container' where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
LISTE MISCHUNG ÄNDERTE: $campaign_id - $vcl_id - $list_id\n"; + } + } + + ##### REMOVE a list mix container entry ##### + if ($stage=='REMOVE') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($list_id) < 1) ) + { + echo "
LISTE MISCHUNG NICHT GEÄNDERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + echo "
list_id must be at least 2 characters in length\n"; + } + else + { + $stmt="SELECT list_mix_container from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $MIXentries = $MT; + $MIXentries = explode(":", $row[0]); + $Ms_to_print = (count($MIXentries) - 0); + + if ($Ms_to_print < 2) + { + echo "
LISTE MISCHUNG NICHT GEÄNDERT: Sie können nicht die letzte list_id Eintragung aus einer ListeMischung löschen\n"; + } + else + { + $MIXdetailsPCT = explode('|', $MIXentries[$mix_container_item]); + $MIXpercentPCT = $MIXdetailsPCT[2]; + + $q=0; + while ($Ms_to_print > $q) + { + if ( ($mix_container_item > $q) or ($mix_container_item < $q) ) + { + if ( ($q==0) and ($mix_container_item > 0) ) + { + $MIXdetailsONE = explode('|', $MIXentries[$q]); + $MIXpercentONE = ($MIXdetailsONE[2] + $MIXpercentPCT); + $NEWlist_mix_container .= "$MIXdetailsONE[0]|$MIXdetailsONE[1]|$MIXpercentONE|$MIXdetailsONE[3]|:"; + } + else + { + if ( ($q==1) and ($mix_container_item < 1) ) + { + $MIXdetailsONE = explode('|', $MIXentries[$q]); + $MIXpercentONE = ($MIXdetailsONE[2] + $MIXpercentPCT); + $NEWlist_mix_container .= "$MIXdetailsONE[0]|$MIXdetailsONE[1]|$MIXpercentONE|$MIXdetailsONE[3]|:"; + } + else + { + $NEWlist_mix_container .= "$MIXentries[$q]:"; + } + } + } + $q++; + } + $NEWlist_mix_container = preg_replace("/.$/",'',$NEWlist_mix_container); + + $stmt="UPDATE vicidial_campaigns_list_mix SET list_mix_container='$NEWlist_mix_container' where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
LISTE MISCHUNG ÄNDERTE: $campaign_id - $vcl_id - $list_id - $mix_container_item\n"; + } + } + } + + ##### ADD a NEW list mix ##### + if ($stage=='NEWMIX') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($vcl_name) < 2) ) + { + echo "
LISTE MISCHUNG NICHT ADDIERT- Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + echo "
vcl_name must be at least 2 characters in length\n"; + } + else + { + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
LISTE MISCHUNG NICHT ADDIERT- Es gibt bereits eine Liste Mischung mit dieser Identifikation imSystem\n"; + } + else + { + $stmt="INSERT INTO vicidial_campaigns_list_mix SET list_mix_container='$list_id|1|100| $status -|',campaign_id='$campaign_id',vcl_id='$vcl_id',vcl_name='$vcl_name',mix_method='$mix_method',status='INACTIVE';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
LISTE MISCHUNG ADDIERT:$campaign_id - $vcl_id - $vcl_name\n"; + } + } + } + + ##### DELETE an existing list mix ##### + if ($stage=='DELMIX') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) ) + { + echo "
LISTE MISCHUNG NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_campaigns_list_mix where vcl_id='$vcl_id' and campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
LISTE MISCHUNG LÖSCHTE:$campaign_id - $vcl_id - $vcl_name\n"; + } + } + + ##### Set list mix entry to active ##### + if ($stage=='SETACTIVE') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) ) + { + echo "
LISTE MISCHUNG NICHT AKTIVIERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + } + else + { + $stmt="UPDATE vicidial_campaigns_list_mix SET status='INACTIVE' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_campaigns_list_mix SET status='ACTIVE' where vcl_id='$vcl_id' and campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
LISTE MISCHUNG AKTIVIERTE: $campaign_id - $vcl_id - $vcl_name\n"; + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$SUB=29; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=411 submit list modifications to the system +###################### + +if ($ADD==411) +{ + if ($LOGmodify_lists==1) + { + echo ""; + + if ( (strlen($list_name) < 2) or (strlen($campaign_id) < 2) ) + { + echo "
LISTE NICHT GEÄNDERT - gehen Sie bitte zurück und betrachten Sie dieDaten, die Sie eingaben\n"; + echo "
Liste Name muß mindestens 2 Buchstaben lang sein\n"; + } + else + { + echo "
LISTE ÄNDERTE: $list_id\n"; + + $stmt="UPDATE vicidial_lists set list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description',list_changedate='$SQLdate' where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + if ($reset_list == 'Y') + { + echo "
ZURÜCKSTELLEN VON VON LIST-CALLED-STATUS\n"; + $stmt="UPDATE vicidial_list set called_since_last_reset='N' where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG RESET TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|RESET LIST CALLED |$PHP_AUTH_USER|$ip|list_name='$list_name'|\n"); + fclose($fp); + } + } + if ($campaign_id != "$old_campaign_id") + { + echo "
ENTFERNEN DER LISTE ZUFUHRBEHÄLTER-LEITUNGEN VOM ALTEN KAMPAGNEZUFUHRBEHÄLTER ($old_campaign_id)\n"; + $stmt="DELETE from vicidial_hopper where list_id='$list_id' and campaign_id='$old_campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST INFO |$PHP_AUTH_USER|$ip|list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description' where list_id='$list_id'|\n"); + fclose($fp); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=311; # go to list modification form below +} + + +###################### +# ADD=4111 modify in-group info in the system +###################### + +if ($ADD==4111) +{ + if ($LOGmodify_ingroups==1) + { + echo ""; + + if ( (strlen($group_name) < 2) or (strlen($group_color) < 2) ) + { + echo "
GRUPPE NICHT GEÄNDERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n"; + echo "
Gruppe Name und Gruppe Farbe muß mindestens 2 Buchstaben lang sein\n"; + } + else + { + echo "
GRUPPE GEÄNDERT: $group_id\n"; + + $stmt="UPDATE vicidial_inbound_groups set group_name='$group_name', group_color='$group_color', active='$active', web_form_address='" . mysql_real_escape_string($web_form_address) . "', voicemail_ext='$voicemail_ext', next_agent_call='$next_agent_call', fronter_display='$fronter_display', ingroup_script='$script_id', get_call_launch='$get_call_launch', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',drop_message='$drop_message',drop_call_seconds='$drop_call_seconds',drop_exten='$drop_exten',call_time_id='$call_time_id',after_hours_action='$after_hours_action',after_hours_message_filename='$after_hours_message_filename',after_hours_exten='$after_hours_exten',after_hours_voicemail='$after_hours_voicemail',welcome_message_filename='$welcome_message_filename',moh_context='$moh_context',onhold_prompt_filename='$onhold_prompt_filename',prompt_interval='$prompt_interval',agent_alert_exten='$agent_alert_exten',agent_alert_delay='$agent_alert_delay',default_xfer_group='$default_xfer_group' where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY GROUP INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=3111; # go to in-group modification form below +} + + + +###################### +# ADD=41111 modify remote agents info in the system +###################### + +if ($ADD==41111) +{ + if ($LOGmodify_remoteagents==1) + { + echo ""; + + if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) + { + echo "
REMOTEMITTEL NICHT GEÄNDERT - gehen Sie bitte zurück und betrachtenSie die Daten, die Sie eingaben\n"; + echo "
Benutzernummer Anfang und externe Verlängerung müssen mindestens 2Buchstaben lang sein\n"; + } + else + { + $stmt="UPDATE vicidial_remote_agents set user_start='$user_start', number_of_lines='$number_of_lines', server_ip='$server_ip', conf_exten='$conf_exten', status='$status', campaign_id='$campaign_id', closer_campaigns='$groups_value' where remote_agent_id='$remote_agent_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
REMOTEMITTEL GEÄNDERT\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY REMOTEMITTEL ENTRY |$PHP_AUTH_USER|$ip|set user_start='$user_start', number_of_lines='$number_of_lines', server_ip='$server_ip', conf_exten='$conf_exten', status='$status', campaign_id='$campaign_id', closer_campaigns='$groups_value' where remote_agent_id='$remote_agent_id'|\n"); + fclose($fp); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=31111; # go to remote agents modification form below +} + + + +###################### +# ADD=411111 modify user group info in the system +###################### + +if ($ADD==411111) +{ + if ($LOGmodify_usergroups==1) + { + echo ""; + + if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) + { + echo "
BENUTZER-GRUPPE NICHT GEÄNDERT - gehen Sie bitte zurück undbetrachten Sie die Daten, die Sie eingaben\n"; + echo "
Gruppe Name und Beschreibung müssen mindestens 2 Buchstaben langsein\n"; + } + else + { + $stmt="UPDATE vicidial_user_groups set user_group='$user_group', group_name='$group_name',allowed_campaigns='$campaigns_value' where user_group='$OLDuser_group';"; + $rslt=mysql_query($stmt, $link); + + echo "
BENUTZER-GRUPPE GEÄNDERT\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY USER GROUP ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=311111; # go to user group modification form below +} + +###################### +# ADD=4111111 modify script in the system +###################### + +if ($ADD==4111111) +{ + if ($LOGmodify_scripts==1) + { + echo "\n"; + echo "\n"; + echo ""; + + if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + { + echo "
INDEX NICHT GEÄNDERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Indexname, -beschreibung und -text müssen mindestens 2 Buchstabenlang sein\n"; + } + else + { + $stmt="UPDATE vicidial_scripts set script_name='$script_name', script_comments='$script_comments', script_text='$script_text', active='$active' where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
INDEX ÄNDERTE\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY SCRIPT ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=3111111; # go to script modification form below +} + + +###################### +# ADD=41111111 modify filter in the system +###################### + +if ($ADD==41111111) +{ + if ($LOGmodify_filters==1) + { + echo ""; + + if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + { + echo "
FILTER NICHT GEÄNDERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Filtern Sie Identifikation, Namen und SQL muß mindestens 2 Buchstabenlang sein\n"; + } + else + { + $stmt="UPDATE vicidial_lead_filters set lead_filter_name='$lead_filter_name', lead_filter_comments='$lead_filter_comments', lead_filter_sql='$lead_filter_sql' where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
FILTER GEÄNDERT\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY FILTER ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=31111111; # go to filter modification form below +} + + +###################### +# ADD=411111111 modify call time in the system +###################### + +if ($ADD==411111111) +{ + if ($LOGmodify_call_times==1) + { + echo ""; + + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) + { + echo "
Anrufzeit nicht geändert - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Anrufzeit ID und Name müssen mindestens 2 Zeichen Länge haben\n"; + } + else + { + $ct_default_start = preg_replace('/\D/', '', $ct_default_start); + $ct_default_stop = preg_replace('/\D/', '', $ct_default_stop); + $ct_sunday_start = preg_replace('/\D/', '', $ct_sunday_start); + $ct_sunday_stop = preg_replace('/\D/', '', $ct_sunday_stop); + $ct_monday_start = preg_replace('/\D/', '', $ct_monday_start); + $ct_monday_stop = preg_replace('/\D/', '', $ct_monday_stop); + $ct_tuesday_start = preg_replace('/\D/', '', $ct_tuesday_start); + $ct_tuesday_stop = preg_replace('/\D/', '', $ct_tuesday_stop); + $ct_wednesday_start = preg_replace('/\D/', '', $ct_wednesday_start); + $ct_wednesday_stop = preg_replace('/\D/', '', $ct_wednesday_stop); + $ct_thursday_start = preg_replace('/\D/', '', $ct_thursday_start); + $ct_thursday_stop = preg_replace('/\D/', '', $ct_thursday_stop); + $ct_friday_start = preg_replace('/\D/', '', $ct_friday_start); + $ct_friday_stop = preg_replace('/\D/', '', $ct_friday_stop); + $ct_saturday_start = preg_replace('/\D/', '', $ct_saturday_start); + $ct_saturday_stop = preg_replace('/\D/', '', $ct_saturday_stop); + $stmt="UPDATE vicidial_call_times set call_time_name='$call_time_name', call_time_comments='$call_time_comments', ct_default_start='$ct_default_start', ct_default_stop='$ct_default_stop', ct_sunday_start='$ct_sunday_start', ct_sunday_stop='$ct_sunday_stop', ct_monday_start='$ct_monday_start', ct_monday_stop='$ct_monday_stop', ct_tuesday_start='$ct_tuesday_start', ct_tuesday_stop='$ct_tuesday_stop', ct_wednesday_start='$ct_wednesday_start', ct_wednesday_stop='$ct_wednesday_stop', ct_thursday_start='$ct_thursday_start', ct_thursday_stop='$ct_thursday_stop', ct_friday_start='$ct_friday_start', ct_friday_stop='$ct_friday_stop', ct_saturday_start='$ct_saturday_start', ct_saturday_stop='$ct_saturday_stop' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
Anrufzeit geändert\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CALL TIME ENTRY |$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=311111111; # go to call time modification form below +} + + +###################### +# ADD=4111111111 modify state call time in the system +###################### + +if ($ADD==4111111111) +{ + if ($LOGmodify_call_times==1) + { + echo ""; + + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) + { + echo "
Landesspezifische Anrufzeit nicht geändert - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Landesspezifische Anrufzeit ID, Name und Land müssen mindestens 2 Zeichen Länge haben\n"; + } + else + { + $ct_default_start = preg_replace('/\D/', '', $ct_default_start); + $ct_default_stop = preg_replace('/\D/', '', $ct_default_stop); + $ct_sunday_start = preg_replace('/\D/', '', $ct_sunday_start); + $ct_sunday_stop = preg_replace('/\D/', '', $ct_sunday_stop); + $ct_monday_start = preg_replace('/\D/', '', $ct_monday_start); + $ct_monday_stop = preg_replace('/\D/', '', $ct_monday_stop); + $ct_tuesday_start = preg_replace('/\D/', '', $ct_tuesday_start); + $ct_tuesday_stop = preg_replace('/\D/', '', $ct_tuesday_stop); + $ct_wednesday_start = preg_replace('/\D/', '', $ct_wednesday_start); + $ct_wednesday_stop = preg_replace('/\D/', '', $ct_wednesday_stop); + $ct_thursday_start = preg_replace('/\D/', '', $ct_thursday_start); + $ct_thursday_stop = preg_replace('/\D/', '', $ct_thursday_stop); + $ct_friday_start = preg_replace('/\D/', '', $ct_friday_start); + $ct_friday_stop = preg_replace('/\D/', '', $ct_friday_stop); + $ct_saturday_start = preg_replace('/\D/', '', $ct_saturday_start); + $ct_saturday_stop = preg_replace('/\D/', '', $ct_saturday_stop); + $stmt="UPDATE vicidial_state_call_times set state_call_time_name='$call_time_name', state_call_time_comments='$call_time_comments', sct_default_start='$ct_default_start', sct_default_stop='$ct_default_stop', sct_sunday_start='$ct_sunday_start', sct_sunday_stop='$ct_sunday_stop', sct_monday_start='$ct_monday_start', sct_monday_stop='$ct_monday_stop', sct_tuesday_start='$ct_tuesday_start', sct_tuesday_stop='$ct_tuesday_stop', sct_wednesday_start='$ct_wednesday_start', sct_wednesday_stop='$ct_wednesday_stop', sct_thursday_start='$ct_thursday_start', sct_thursday_stop='$ct_thursday_stop', sct_friday_start='$ct_friday_start', sct_friday_stop='$ct_friday_stop', sct_saturday_start='$ct_saturday_start', sct_saturday_stop='$ct_saturday_stop', state_call_time_state='$state_call_time_state' where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
Landesspezifische Anrufzeit geändert\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY STATE CALL TIME ENTRY|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=3111111111; # go to state call time modification form below +} + + +###################### +# ADD=41111111111 modify phone record in the system +###################### + +if ($ADD==41111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ( ($extension != $old_extension) or ($server_ip != $old_server_ip) ) ) + {echo "
TELEFON NICHT GEÄNDERT - es gibt bereits ein Telefon im System mitdiesem extension/server\n";} + else + { + if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) + {echo "
TELEFON NICHT GEÄNDERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n";} + else + { + echo "
TELEFON GEÄNDERT: $extension\n"; + + $stmt="UPDATE phones set extension='$extension', dialplan_number='$dialplan_number', voicemail_id='$voicemail_id', phone_ip='$phone_ip', computer_ip='$computer_ip', server_ip='$server_ip', login='$login', pass='$pass', status='$status', active='$active', phone_type='$phone_type', fullname='$fullname', company='$company', picture='$picture', protocol='$protocol', local_gmt='$local_gmt', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', login_user='$login_user', login_pass='$login_pass', login_campaign='$login_campaign', park_on_extension='$park_on_extension', conf_on_extension='$conf_on_extension', VICIDIAL_park_on_extension='$VICIDIAL_park_on_extension', VICIDIAL_park_on_filename='$VICIDIAL_park_on_filename', monitor_prefix='$monitor_prefix', recording_exten='$recording_exten', voicemail_exten='$voicemail_exten', voicemail_dump_exten='$voicemail_dump_exten', ext_context='$ext_context', dtmf_send_extension='$dtmf_send_extension', call_out_number_group='$call_out_number_group', client_browser='$client_browser', install_directory='$install_directory', local_web_callerID_URL='" . mysql_real_escape_string($local_web_callerID_URL) . "', VICIDIAL_web_URL='" . mysql_real_escape_string($VICIDIAL_web_URL) . "', AGI_call_logging_enabled='$AGI_call_logging_enabled', user_switching_enabled='$user_switching_enabled', conferencing_enabled='$conferencing_enabled', admin_hangup_enabled='$admin_hangup_enabled', admin_hijack_enabled='$admin_hijack_enabled', admin_monitor_enabled='$admin_monitor_enabled', call_parking_enabled='$call_parking_enabled', updater_check_enabled='$updater_check_enabled', AFLogging_enabled='$AFLogging_enabled', QUEUE_ACTION_enabled='$QUEUE_ACTION_enabled', CallerID_popup_enabled='$CallerID_popup_enabled', voicemail_button_enabled='$voicemail_button_enabled', enable_fast_refresh='$enable_fast_refresh', fast_refresh_rate='$fast_refresh_rate', enable_persistant_mysql='$enable_persistant_mysql', auto_dial_next_number='$auto_dial_next_number', VDstop_rec_after_each_call='$VDstop_rec_after_each_call', DBX_server='$DBX_server', DBX_database='$DBX_database', DBX_user='$DBX_user', DBX_pass='$DBX_pass', DBX_port='$DBX_port', DBY_server='$DBY_server', DBY_database='$DBY_database', DBY_user='$DBY_user', DBY_pass='$DBY_pass', DBY_port='$DBY_port', outbound_cid='$outbound_cid', enable_sipsak_messages='$enable_sipsak_messages' where extension='$old_extension' and server_ip='$old_server_ip';"; + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=31111111111; # go to phone modification form below +} + + +###################### +# ADD=411111111111 modify server record in the system +###################### + +if ($ADD==411111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + $stmt="SELECT count(*) from servers where server_id='$server_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ($server_id != $old_server_id) ) + {echo "
BEDIENERNOT MODIFIED - there is already a server in the system with this server_id\n";} + else + { + $stmt="SELECT count(*) from servers where server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ($server_ip != $old_server_ip) ) + {echo "
BEDIENER NICHT GEÄNDERT - es gibt bereits einen Bediener im Systemmit diesem server_ip\n";} + else + { + if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) + {echo "
BEDIENER NICHT GEÄNDERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n";} + else + { + echo "
BEDIENER GEÄNDERT: $server_ip\n"; + + $stmt="UPDATE servers set server_id='$server_id',server_description='$server_description',server_ip='$server_ip',active='$active',asterisk_version='$asterisk_version', max_vicidial_trunks='$max_vicidial_trunks', telnet_host='$telnet_host', telnet_port='$telnet_port', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', ASTmgrUSERNAMEupdate='$ASTmgrUSERNAMEupdate', ASTmgrUSERNAMElisten='$ASTmgrUSERNAMElisten', ASTmgrUSERNAMEsend='$ASTmgrUSERNAMEsend', local_gmt='$local_gmt', voicemail_dump_exten='$voicemail_dump_exten', answer_transfer_agent='$answer_transfer_agent', ext_context='$ext_context', sys_perf_log='$sys_perf_log', vd_server_logs='$vd_server_logs', agi_output='$agi_output', vicidial_balance_active='$vicidial_balance_active', balance_trunks_offlimits='$balance_trunks_offlimits' where server_id='$old_server_id';"; + $rslt=mysql_query($stmt, $link); + } + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=311111111111; # go to server modification form below +} + + +###################### +# ADD=421111111111 modify vicidial server trunks record in the system +###################### + +if ($ADD==421111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $MAXvicidial_trunks = $rowx[0]; + + $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); + + if ($SUMvicidial_trunks > $MAXvicidial_trunks) + { + echo "
VICIDIAL BEDIENER-STAMM-SATZ NICHT ADDIERT - die Zahl vicidial Stämmen ist zu hoch: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + } + else + { + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) + { + echo "
VICIDIAL BEDIENER-STAMM-SATZ NICHT GEÄNDERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Kampagne muß zwischen 3 und 8 Buchstaben lang sein\n"; + echo "
server_ip verzögert muß mindestens 7 Buchstaben sein\n"; + echo "
Stämme müssen eine Stelle von 0 bis 9999 sein\n"; + } + else + { + echo "
VICIDIAL BEDIENER-STAMM-SATZ ÄNDERTE: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; + + $stmt="UPDATE vicidial_server_trunks SET dedicated_trunks='$dedicated_trunks',trunk_restriction='$trunk_restriction' where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ÄNDERN SIE BEDIENER TRUNK |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=311111111111; # go to server modification form below +} + + +###################### +# ADD=4111111111111 modify conference record in the system +###################### + +if ($ADD==4111111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ( ($conf_exten != $old_conf_exten) or ($server_ip != $old_server_ip) ) ) + {echo "
KONFERENZ NICHT GEÄNDERT - es gibt bereits eine Konferenz im Systemmit diesem Verlängerung-Bediener\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
KONFERENZ NICHT GEÄNDERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n";} + else + { + echo "
KONFERENZ ÄNDERTE: $conf_exten\n"; + + $stmt="UPDATE conferences set conf_exten='$conf_exten',server_ip='$server_ip',extension='$extension' where conf_exten='$old_conf_exten';"; + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=3111111111111; # go to conference modification form below +} + + +###################### +# ADD=41111111111111 modify vicidial conference record in the system +###################### + +if ($ADD==41111111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ( ($conf_exten != $old_conf_exten) or ($server_ip != $old_server_ip) ) ) + {echo "
VICIDIAL KONFERENZ NICHT GEÄNDERT - es gibt bereits eine Konferenz im Systemmit diesem Verlängerung-Bediener\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
VICIDIAL KONFERENZ NICHT GEÄNDERT - gehen Sie bitte zurück und betrachten Siedie Daten, die Sie eingaben\n";} + else + { + echo "
VICIDIAL KONFERENZ ÄNDERTE: $conf_exten\n"; + + $stmt="UPDATE vicidial_conferences set conf_exten='$conf_exten',server_ip='$server_ip',extension='$extension' where conf_exten='$old_conf_exten';"; + $rslt=mysql_query($stmt, $link); + + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=31111111111111; # go to vicidial conference modification form below +} + + + +###################### +# ADD=411111111111111 modify vicidial system settings +###################### + +if ($ADD==411111111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + echo "
VICIDIAL SYSTEM EINSTELLUNGEN GEÄNDERT WORDEN\n"; + + $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY SYSTEM SETTINGS|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=311111111111111; # go to vicidial system settings form below +} + + +###################### +# ADD=421111111111111 modify/delete system status in the system +###################### + +if ($ADD==421111111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + if (ereg('delete',$stage)) + { + if ( (strlen($status) < 1) or (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$status)) ) + { + echo "
SYSTEMSTATUS NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
der Systemstatus kann nicht ein reservierter Status sein:B,NA,DNC,NA,DROP,INCALL,QUEUE,NEW\n"; + echo "
der Systemstatus muß mindestens Buchstaben 1 lang sein\n"; + } + else + { + echo "
SYSTEM STATUS DELETED: $status\n"; + + $stmt="DELETE FROM vicidial_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="DELETE FROM vicidial_campaign_hotkeys where status='$status';"; + $rslt=mysql_query($stmtA, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE SYSTEM STATUS |$PHP_AUTH_USER|$ip|$stmt|$stmtA|\n"); + fclose($fp); + } + } + } + if (ereg('modify',$stage)) + { + if ( (strlen($status) < 1) or (strlen($status_name) < 2) ) + { + echo "
SYSTEMSTATUS NICHT GEÄNDERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
der Systemstatus muß mindestens Buchstaben 1 lang sein\n"; + echo "
der Systemstatusname muß mindestens Buchstaben 1 lang sein\n"; + } + else + { + echo "
SYSTEMSTATUS GEÄNDERT: $status\n"; + + $stmt="UPDATE vicidial_statuses SET status_name='$status_name',selectable='$selectable',human_answered='$human_answered',category='$category' where status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY SYSTEM STATUS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=321111111111111; # go to system settings modification form below +} + + +###################### +# ADD=431111111111111 modify/delete status category in the system +###################### + +if ($ADD==431111111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + if ( (strlen($vsc_id) < 2) or (preg_match("/^UNDEFINED$/i",$vsc_id)) ) + { + echo "
STATUS-KATEGORIE NICHT GEÄNDERT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
die Statuskategorie kann nicht eine reservierte Kategorie sein:UNDEFINED\n"; + echo "
die Statuskategorie muß mindestens 2 Buchstaben lang sein\n"; + } + else + { + if (ereg('delete',$stage)) + { + echo "
STATUS-KATEGORIE LÖSCHTE: $vsc_id\n"; + + $stmt="DELETE FROM vicidial_status_categories where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE STATUS CATEGORY|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + if (ereg('modify',$stage)) + { + echo "
STATUS-KATEGORIE GEÄNDERT: $vsc_id\n"; + + $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + { + $tovdad_display = 'N'; + echo "
STÖRUNG: Es gibt bereits 4 den Status-Kategorienkatalog zurTimeOnVDAD Anzeige\n"; + } + + $stmt="UPDATE vicidial_status_categories SET vsc_name='$vsc_name',vsc_description='$vsc_description',tovdad_display='$tovdad_display' where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY STATUS CATEGORY|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=331111111111111; # go to system settings modification form below +} + + + + +###################################################################################################### +###################################################################################################### +####### 5 series, delete records confirmation +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=5 confirmation before deletion of user +###################### + +if ($ADD==5) +{ + echo ""; + + if ( (strlen($user) < 2) or ($LOGdelete_users < 1) ) + { + echo "
BENUTZER NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
User be at least 2 characters in length\n"; + } + else + { + echo "
BENUTZER-AUSLASSUNG BESTÄTIGUNG: $user\n"; + echo "

Klicken Sie hier, um Benutzer zu löschen $user


\n"; + } + +$ADD='3'; # go to user modification below +} + +###################### +# ADD=51 confirmation before deletion of campaign +###################### + +if ($ADD==51) +{ + echo ""; + + if ( (strlen($campaign_id) < 2) or ($LOGdelete_campaigns < 1) ) + { + echo "
KAMPAGNE NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Kampagne_id be at least 2 characters in length\n"; + } + else + { + echo "
KAMPAGNE AUSLASSUNG BESTÄTIGUNG: $campaign_id\n"; + echo "

Klicken Sie hier, um Kampagne zu löschen $campaign_id


\n"; + } + +$ADD='31'; # go to campaign modification below +} + +###################### +# ADD=52 confirmation before logging all agents out of campaign of campaign +###################### + +if ($ADD==52) +{ + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
MITTEL GELOGGT NICHT AUS KAMPAGNE HERAUS - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Kampagne_id be at least 2 characters in length\n"; + } + else + { + echo "
MITTELLOGOUT-BESTÄTIGUNG: $campaign_id\n"; + echo "

Klicken Sie hier, um alle Mittel aus zu loggen $campaign_id


\n"; + } + +$ADD='31'; # go to campaign modification below +} + +###################### +# ADD=53 confirmation before Emergency VDAC Jam Clear - deletes oldest LIVE vicidial_auto_call record +###################### + +if ($ADD==53) +{ + if (eregi('IN',$stage)) + {$group_id=$campaign_id;} + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
VDAC NICHT LÖSCHTE FÜR KAMPAGNE - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Kampagne_id be at least 2 characters in length\n"; + } + else + { + echo "
VDAC AUSLÖSEBESTÄTIGUNG: $campaign_id\n"; + echo "

Klicken Sie hier, um das älteste zu löschen LEBEN Aufzeichnung inVDAC für $campaign_id


\n"; + } + +# go to campaign modification below +if (eregi('IN',$stage)) + {$ADD='3111';} +else + {$ADD='31';} +} + +###################### +# ADD=511 confirmation before deletion of list +###################### + +if ($ADD==511) +{ + echo ""; + + if ( (strlen($list_id) < 2) or ($LOGdelete_lists < 1) ) + { + echo "
LISTE NICHT GELÖSCHT WORDEN - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
List_id be at least 2 characters in length\n"; + } + else + { + echo "
LISTE AUSLASSUNG BESTÄTIGUNG: $list_id\n"; + echo "

Klicken Sie hier, um Liste und alle seine Leitungen zu löschen $list_id


\n"; + } + +$ADD='311'; # go to campaign modification below +} + +###################### +# ADD=5111 confirmation before deletion of in-group +###################### + +if ($ADD==5111) +{ + echo ""; + + if ( (strlen($group_id) < 2) or ($LOGdelete_ingroups < 1) ) + { + echo "
IN-GROUP NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Group_id be at least 2 characters in length\n"; + } + else + { + echo "
IN-GROUP AUSLASSUNG BESTÄTIGUNG: $group_id\n"; + echo "

Klicken Sie hier, um Ingruppe zu löschen $group_id


\n"; + } + +$ADD='3111'; # go to in-group modification below +} + +###################### +# ADD=51111 confirmation before deletion of remote agent record +###################### + +if ($ADD==51111) +{ + echo ""; + + if ( (strlen($remote_agent_id) < 1) or ($LOGdelete_remote_agents < 1) ) + { + echo "
REMOTEMITTEL NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Remote_agent_id be at least 2 characters in length\n"; + } + else + { + echo "
REMOTEMITTEL-AUSLASSUNG BESTÄTIGUNG: $remote_agent_id\n"; + echo "

Klicken Sie hier, um Remotemittel zu löschen $remote_agent_id


\n"; + } + +$ADD='31111'; # go to remote agent modification below +} + +###################### +# ADD=511111 confirmation before deletion of user group record +###################### + +if ($ADD==511111) +{ + echo ""; + + if ( (strlen($user_group) < 2) or ($LOGdelete_user_groups < 1) ) + { + echo "
BENUTZER-GRUPPE NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
User_group be at least 2 characters in length\n"; + } + else + { + echo "
BENUTZER-GRUPPE AUSLASSUNG BESTÄTIGUNG: $user_group\n"; + echo "

Klicken Sie hier, um Benutzergruppe zu löschen $user_group


\n"; + } + +$ADD='311111'; # go to user group modification below +} + +###################### +# ADD=5111111 confirmation before deletion of script record +###################### + +if ($ADD==5111111) +{ + echo ""; + + if ( (strlen($script_id) < 2) or ($LOGdelete_scripts < 1) ) + { + echo "
INDEX NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Script_id must be at least 2 characters in length\n"; + } + else + { + echo "
INDEX-AUSLASSUNG BESTÄTIGUNG: $script_id\n"; + echo "

Klicken Sie hier, um Index zu löschen $script_id


\n"; + } + +$ADD='3111111'; # go to script modification below +} + +###################### +# ADD=51111111 confirmation before deletion of filter record +###################### + +if ($ADD==51111111) +{ + echo ""; + + if ( (strlen($lead_filter_id) < 2) or ($LOGdelete_filters < 1) ) + { + echo "
FILTER NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Filter Identifikation muß mindestens 2 Buchstaben lang sein\n"; + } + else + { + echo "
FILTER DELETION CONFIRMATION: $lead_filter_id\n"; + echo "

Klicken Sie hier, um Filter zu löschen$lead_filter_id


\n"; + } + +$ADD='31111111'; # go to filter modification below +} + +###################### +# ADD=511111111 confirmation before deletion of call time record +###################### + +if ($ADD==511111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
Anrufzeit nicht gelöscht - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Anrufzeit ID muss mindestens 2 Zeichen lang sein\n"; + } + else + { + echo "
Löschen der Anrufzeit bestätigen: $call_time_id\n"; + echo "

Click here to delete call time $call_time_id


\n"; + } + +$ADD='311111111'; # go to call time modification below +} + +###################### +# ADD=5111111111 confirmation before deletion of state call time record +###################### + +if ($ADD==5111111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
Landesspezifische Anrufzeit nicht gelöscht - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Anrufzeit ID muss mindestens 2 Zeichen lang sein\n"; + } + else + { + echo "
Löschen der landesspezifischen Anrufzeit bestätigen: $call_time_id\n"; + echo "

Click here to delete state call time $call_time_id


\n"; + } + +$ADD='3111111111'; # go to state call time modification below +} + + +###################### +# ADD=51111111111 confirmation before deletion of phone record +###################### + +if ($ADD==51111111111) +{ + echo ""; + + if ( (strlen($extension) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
TELEFON NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Extension be at least 2 characters in length\n"; + echo "
Bediener IP be at least 7 characters in length\n"; + } + else + { + echo "
TELEFON-AUSLASSUNG BESTÄTIGUNG: $extension - $server_ip\n"; + echo "

Klicken Sie hier, um Telefon zu löschen $extension - $server_ip


\n"; + } +$ADD='31111111111'; # go to phone modification below +} + + +###################### +# ADD=511111111111 confirmation before deletion of server record +###################### + +if ($ADD==511111111111) +{ + echo ""; + + if ( (strlen($server_id) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
BEDIENERNOT DELETED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Bediener Identifikation be at least 2 characters in length\n"; + echo "
Bediener IP be at least 7 characters in length\n"; + } + else + { + echo "
BEDIENERDELETION CONFIRMATION: $server_id - $server_ip\n"; + echo "

Klicken Sie hier, um Telefon zu löschen $server_id - $server_ip


\n"; + } +$ADD='311111111111'; # go to server modification below +} + + +###################### +# ADD=5111111111111 confirmation before deletion of conference record +###################### + +if ($ADD==5111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
CONFERENCE NOT DELETED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Conference must be at least 2 characters in length\n"; + echo "
Bediener IP be at least 7 characters in length\n"; + } + else + { + echo "
CONFERENCE DELETION CONFIRMATION: $conf_exten - $server_ip\n"; + echo "

Klicken Sie hier, um Telefon zu löschen $conf_exten - $server_ip


\n"; + } +$ADD='3111111111111'; # go to conference modification below +} + + +###################### +# ADD=51111111111111 confirmation before deletion of vicidial conference record +###################### + +if ($ADD==51111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
VICIDIAL CONFERENCE NOT DELETED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Conference must be at least 2 characters in length\n"; + echo "
Bediener IP be at least 7 characters in length\n"; + } + else + { + echo "
VICIDIAL CONFERENCE DELETION CONFIRMATION: $conf_exten - $server_ip\n"; + echo "

Klicken Sie hier, um Telefon zu löschen $conf_exten - $server_ip


\n"; + } +$ADD='31111111111111'; # go to vicidial conference modification below +} + + + +###################################################################################################### +###################################################################################################### +####### 6 series, delete records +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=6 delete user record +###################### + +if ($ADD==6) +{ + echo ""; + + if ( ( strlen($user) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_users < 1) ) + { + echo "
BENUTZER NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
User be at least 2 characters in length\n"; + } + else + { + $stmtA="DELETE from vicidial_users where user='$user' limit 1;"; + $rslt=mysql_query($stmtA, $link); + + $stmt="DELETE from vicidial_campaign_agents where user='$user';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_inbound_group_agents where user='$user';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING USER!!!!|$PHP_AUTH_USER|$ip|$user|$stmtA|$stmt|\n"); + fclose($fp); + } + echo "
BENUTZER-AUSLASSUNG FÜHRTE DURCH: $user\n"; + echo "

\n"; + } + +$ADD='0'; # go to user list +} + +###################### +# ADD=61 delete campaign record +###################### + +if ($ADD==61) +{ + echo ""; + + if ( ( strlen($campaign_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_campaigns < 1) ) + { + echo "
KAMPAGNE NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Kampagne_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_campaigns where campaign_id='$campaign_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_agents where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_live_agents where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_statuses where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_hotkeys where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_callbacks where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_stats where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_lead_recycle where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_server_stats where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_server_trunks where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_pause_codes where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaigns_list_mix where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
ENTFERNEN DER LISTE ZUFUHRBEHÄLTER-LEITUNGEN VOM ALTEN KAMPAGNEZUFUHRBEHÄLTER ($campaign_id)\n"; + $stmt="DELETE from vicidial_hopper where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!DELETING CAMPAIGN!|$PHP_AUTH_USER|$ip|campaign_id='$campaign_id'|\n"); + fclose($fp); + } + echo "
KAMPAGNE AUSLASSUNG FÜHRTE DURCH: $campaign_id\n"; + echo "

\n"; + } + +$ADD='10'; # go to campaigns list +} + +###################### +# ADD=62 Logout all agents from a campaign +###################### + +if ($ADD==62) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
MITTEL GELOGGT NICHT AUS KAMPAGNE HERAUS - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Kampagne_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_live_agents where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!MITTELLOGOUT!!!!!!|$PHP_AUTH_USER|$ip|campaign_id='$campaign_id'|\n"); + fclose($fp); + } + echo "
MITTELLOGOUT FÜHRTE DURCH: $campaign_id\n"; + echo "

\n"; + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD='31'; # go to campaign modification below +} + + +###################### +# ADD=63 Emergency VDAC Jam Clear +###################### + +if ($ADD==63) +{ + if ($LOGmodify_campaigns==1) + { + if (eregi('IN',$stage)) + {$group_id=$campaign_id;} + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
VDAC NICHT LÖSCHTE FÜR KAMPAGNE - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Kampagne_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_auto_calls where status='LIVE' and campaign_id='$campaign_id' order by call_time limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|EMERGENCY VDAC CLEAR|$PHP_AUTH_USER|$ip|campaign_id='$campaign_id'|\n"); + fclose($fp); + } + echo "
LETZTES VDAC SATZ GELÖSCHT FÜR KAMPAGNE: $campaign_id\n"; + echo "

\n"; + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +# go to campaign modification below +if (eregi('IN',$stage)) + {$ADD='3111';} +else + {$ADD='31';} +} + + +###################### +# ADD=65 delete campaign lead recycle in the system +###################### + +if ($ADD==65) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
KAMPAGNE LEITUNG BEREITEN NICHT GELÖSCHT AUF - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Status muß zwischen 1 und 6 Buchstaben lang sein\n"; + echo "
Versuch verzögert muß mindestens 120 Sekunden sein\n"; + echo "
maximale Versuche müssen von 1 bis 10 sein\n"; + } + else + { + echo "
KAMPAGNE LEITUNG BEREITEN GELÖSCHT AUF: $campaign_id - $status - $attempt_delay\n"; + + $stmt="DELETE FROM vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE LEAD RECYCLE |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$SUB=25; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=66 delete auto alt dial status from the campaign +###################### + +if ($ADD==66) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + {echo "
SELBSTALT VORWAHLKNOPF-STATUS NICHT GELÖSCHT - dieser Vorwahlknopfstatus des Automobils Alt ist nicht in dieserKampagne\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
SELBSTALT VORWAHLKNOPF-STATUS NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Status muß zwischen 1 und 6 Buchstaben lang sein\n"; + } + else + { + echo "
SELBSTALT VORWAHLKNOPF-STATUS GELÖSCHT: $campaign_id - $status\n"; + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + $auto_alt_dial_statuses = eregi_replace(" $status "," ",$row[0]); + $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE AUTALTDIALSTTUS|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$SUB=26; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=67 delete agent pause code in the system +###################### + +if ($ADD==67) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) ) + { + echo "
KAMPAGNE PAUSE CODE NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
pause code must be between 1 and 6 characters in length\n"; + } + else + { + echo "
CAMPAIGN PAUSE CODE DELETED: $campaign_id - $pause_code\n"; + + $stmt="DELETE FROM vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE MITTELPAUSECODE|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$SUB=27; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=68 remove campaign dial status +###################### + +if ($ADD==68) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + {echo "
KAMPAGNE VORWAHLKNOPF-STATUS NICHT ENTFERNT - dieser Vorwahlknopfstatus wird nicht für diese Kampagne vorgewählt\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
KAMPAGNE VORWAHLKNOPF-STATUS NICHT ENTFERNT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Status muß zwischen 1 und 6 Buchstaben lang sein\n"; + } + else + { + echo "
KAMPAGNE VORWAHLKNOPF-STATUS ENTFERNT: $campaign_id - $status\n"; + + $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + $dial_statuses = eregi_replace(" $status "," ",$row[0]); + $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DIAL STATUS REMOVED |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +#$SUB=28; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=611 delete list record and all leads within it +###################### + +if ($ADD==611) +{ + echo ""; + + if ( ( strlen($list_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_lists < 1) ) + { + echo "
LISTE NICHT GELÖSCHT WORDEN - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
List_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_lists where list_id='$list_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + echo "
ENTFERNEN DER LISTE ZUFUHRBEHÄLTER-LEITUNGEN VOM ALTEN KAMPAGNEZUFUHRBEHÄLTER ($list_id)\n"; + $stmt="DELETE from vicidial_hopper where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
ENTFERNEN DER LISTE LEITUNGEN VON DER VICIDIAL_LIST TABELLE\n"; + $stmt="DELETE from vicidial_list where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING LIST!!!!|$PHP_AUTH_USER|$ip|list_id='$list_id'|\n"); + fclose($fp); + } + echo "
LISTE AUSLASSUNG DURCHGEFÜHRT: $list_id\n"; + echo "

\n"; + } + +$ADD='100'; # go to lists list +} + +###################### +# ADD=6111 delete in-group record +###################### + +if ($ADD==6111) +{ + echo ""; + + if ( (strlen($group_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_ingroups < 1) ) + { + echo "
IN-GROUP NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Group_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_inbound_groups where group_id='$group_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_inbound_group_agents where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_live_inbound_agents where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING IN-GROUP!!|$PHP_AUTH_USER|$ip|group_id='$group_id'|\n"); + fclose($fp); + } + echo "
IN-GROUP AUSLASSUNG FÜHRTE DURCH: $group_id\n"; + echo "

\n"; + } + +$ADD='1000'; # go to in-group list +} + +###################### +# ADD=61111 delete remote agent record +###################### + +if ($ADD==61111) +{ + echo ""; + + if ( (strlen($remote_agent_id) < 1) or ($CoNfIrM != 'YES') or ($LOGdelete_remote_agents < 1) ) + { + echo "
REMOTEMITTEL NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Remote_agent_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_remote_agents where remote_agent_id='$remote_agent_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING RMTAGENT!!|$PHP_AUTH_USER|$ip|remote_agent_id='$remote_agent_id'|\n"); + fclose($fp); + } + echo "
REMOTEMITTEL-AUSLASSUNG FÜHRTE DURCH: $remote_agent_id\n"; + echo "

\n"; + } + +$ADD='10000'; # go to remote agents list +} + +###################### +# ADD=611111 delete user group record +###################### + +if ($ADD==611111) +{ + echo ""; + + if ( (strlen($user_group) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_user_groups < 1) ) + { + echo "
BENUTZER-GRUPPE NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
User_group be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_user_groups where user_group='$user_group' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING USRGROUP!!|$PHP_AUTH_USER|$ip|user_group='$user_group'|\n"); + fclose($fp); + } + echo "
BENUTZER-GRUPPE AUSLASSUNG DURCHGEFÜHRT: $user_group\n"; + echo "

\n"; + } + +$ADD='100000'; # go to user group list +} + +###################### +# ADD=6111111 delete script record +###################### + +if ($ADD==6111111) +{ + echo ""; + + if ( (strlen($script_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_scripts < 1) ) + { + echo "
INDEX NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Script_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_scripts where script_id='$script_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING SCRIPT!!!!|$PHP_AUTH_USER|$ip|script_id='$script_id'|\n"); + fclose($fp); + } + echo "
INDEX-AUSLASSUNG FÜHRTE DURCH: $script_id\n"; + echo "

\n"; + } + +$ADD='1000000'; # go to script list +} + + +###################### +# ADD=61111111 delete filter record +###################### + +if ($ADD==61111111) +{ + echo ""; + + if ( (strlen($lead_filter_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_filters < 1) ) + { + echo "
FILTER NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Filter Identifikation muß mindestens 2 Buchstaben lang sein\n"; + } + else + { + $stmt="DELETE from vicidial_lead_filters where lead_filter_id='$lead_filter_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING FILTER!!!!|$PHP_AUTH_USER|$ip|lead_filter_id='$lead_filter_id'|\n"); + fclose($fp); + } + echo "
FILTER-AUSLASSUNG DURCHGEFÜHRT: $lead_filter_id\n"; + echo "

\n"; + } + +$ADD='10000000'; # go to filter list +} + + +###################### +# ADD=611111111 delete call times record +###################### + +if ($ADD==611111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
Anrufzeit nicht gelöscht - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Anrufzeit ID muss mindestens 2 Zeichen lang sein\n"; + } + else + { + $stmt="DELETE from vicidial_call_times where call_time_id='$call_time_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING CALL TIME!|$PHP_AUTH_USER|$ip|call_time_id='$call_time_id'|\n"); + fclose($fp); + } + echo "
Löschen der Anrufzeiten beendet: $call_time_id\n"; + echo "

\n"; + } + +$ADD='100000000'; # go to call times list +} + + +###################### +# ADD=6111111111 delete state call times record +###################### + +if ($ADD==6111111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
Landesspezifische Anrufzeit nicht gelöscht - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Anrufzeit ID muss mindestens 2 Zeichen lang sein\n"; + } + else + { + $stmt="DELETE from vicidial_state_call_times where state_call_time_id='$call_time_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT call_time_id,ct_state_call_times from vicidial_call_times where ct_state_call_times LIKE \"%|$call_time_id|%\" order by call_time_id;"; + $rslt=mysql_query($stmt, $link); + $sct_to_print = mysql_num_rows($rslt); + $sct_list=''; + + $o=0; + while ($sct_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $sct_ids[$o] = "$rowx[0]"; + $sct_states[$o] = "$rowx[1]"; + $o++; + } + $o=0; + + while ($sct_to_print > $o) { + $sct_states[$o] = eregi_replace("\|$call_time_id\|",'|',$sct_states[$o]); + $stmt="UPDATE vicidial_call_times set ct_state_call_times='$sct_states[$o]' where call_time_id='$sct_ids[$o]';"; + $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + echo "Landesrichlinie gelöscht: $sct_ids[$o]
\n"; + $o++; + } + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING CALL TIME!|$PHP_AUTH_USER|$ip|state_call_time_id='$call_time_id'|\n"); + fclose($fp); + } + echo "
Löschen der landesspezifischen Anrufzeit beendet: $call_time_id\n"; + echo "

\n"; + } + +$ADD='1000000000'; # go to call times list +} + + +###################### +# ADD=61111111111 delete phone record +###################### + +if ($ADD==61111111111) +{ + echo ""; + + if ( (strlen($extension) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
TELEFON NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Extension be at least 2 characters in length\n"; + echo "
Bediener IP be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from phones where extension='$extension' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING PHONE!!!|$PHP_AUTH_USER|$ip|extension='$extension'|server_ip='$server_ip'|\n"); + fclose($fp); + } + echo "
TELEFON-AUSLASSUNG DURCHGEFÜHRT: $extension - $server_ip\n"; + echo "

\n"; + } +$ADD='10000000000'; # go to phone list +} + + +###################### +# ADD=611111111111 delete server record +###################### + +if ($ADD==611111111111) +{ + echo ""; + + if ( (strlen($server_id) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
BEDIENERNOT DELETED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Bediener Identifikation be at least 2 characters in length\n"; + echo "
Bediener IP be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from servers where server_id='$server_id' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING SERVER!!|$PHP_AUTH_USER|$ip|server_id='$server_id'|server_ip='$server_ip'|\n"); + fclose($fp); + } + echo "
BEDIENERDELETION COMPLETED: $server_id - $server_ip\n"; + echo "

\n"; + } +$ADD='100000000000'; # go to server list +} + + +###################### +# ADD=621111111111 delete vicidial server trunk record in the system +###################### + +if ($ADD==621111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) ) + { + echo "
VICIDIAL BEDIENER-STAMM-SATZ NICHT GELÖSCHT - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Kampagne muß zwischen 3 und 8 Buchstaben lang sein\n"; + echo "
server_ip verzögert muß mindestens 7 Buchstaben sein\n"; + } + else + { + echo "
VICIDIAL BEDIENER-STAMM-SATZ GELÖSCHT: $campaign_id - $server_ip\n"; + + $stmt="DELETE FROM vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE BEDIENERTRUNK |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +$ADD=311111111111; # go to server modification form below +} + + +###################### +# ADD=6111111111111 delete conference record +###################### + +if ($ADD==6111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
CONFERENCE NOT DELETED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Conference be at least 2 characters in length\n"; + echo "
Bediener IP be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from conferences where conf_exten='$conf_exten' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING CONF!!!!|$PHP_AUTH_USER|$ip|conf_exten='$conf_exten'|server_ip='$server_ip'|\n"); + fclose($fp); + } + echo "
CONFERENCE DELETION COMPLETED: $conf_exten - $server_ip\n"; + echo "

\n"; + } +$ADD='1000000000000'; # go to conference list +} + + +###################### +# ADD=61111111111111 delete vicidial conference record +###################### + +if ($ADD==61111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
VICIDIAL CONFERENCE NOT DELETED - Gehen Sie bitte zurück und betrachten Sie die Daten, die Sieeingaben\n"; + echo "
Conference be at least 2 characters in length\n"; + echo "
Bediener IP be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING CONF!!!!|$PHP_AUTH_USER|$ip|conf_exten='$conf_exten'|server_ip='$server_ip'|\n"); + fclose($fp); + } + echo "
VICIDIAL CONFERENCE DELETION COMPLETED: $conf_exten - $server_ip\n"; + echo "

\n"; + } +$ADD='10000000000000'; # go to vicidial conference list +} + + + + + +###################################################################################################### +###################################################################################################### +####### 3 series, record modification forms +###################################################################################################### +###################################################################################################### + + + + +###################### +# ADD=3 modify user info in the system +###################### + +if ($ADD==3) +{ + if ($LOGmodify_users==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $user_level = $row[4]; + $user_group = $row[5]; + $phone_login = $row[6]; + $phone_pass = $row[7]; + $delete_users = $row[8]; + $delete_user_groups = $row[9]; + $delete_lists = $row[10]; + $delete_campaigns = $row[11]; + $delete_ingroups = $row[12]; + $delete_remote_agents = $row[13]; + $load_leads = $row[14]; + $campaign_detail = $row[15]; + $ast_admin_access = $row[16]; + $ast_delete_phones = $row[17]; + $delete_scripts = $row[18]; + $modify_leads = $row[19]; + $hotkeys_active = $row[20]; + $change_agent_campaign =$row[21]; + $agent_choose_ingroups =$row[22]; + $scheduled_callbacks = $row[24]; + $agentonly_callbacks = $row[25]; + $agentcall_manual = $row[26]; + $vicidial_recording = $row[27]; + $vicidial_transfers = $row[28]; + $delete_filters = $row[29]; + $alter_agent_interface_options =$row[30]; + $closer_default_blended = $row[31]; + $delete_call_times = $row[32]; + $modify_call_times = $row[33]; + $modify_users = $row[34]; + $modify_campaigns = $row[35]; + $modify_lists = $row[36]; + $modify_scripts = $row[37]; + $modify_filters = $row[38]; + $modify_ingroups = $row[39]; + $modify_usergroups = $row[40]; + $modify_remoteagents = $row[41]; + $modify_servers = $row[42]; + $view_reports = $row[43]; + $vicidial_recording_override = $row[44]; + $alter_custdata_override = $row[45]; + + if ( ($user_level >= $LOGuser_level) and ($LOGuser_level < 9) ) + { + echo "
Sie haben nicht Erlaubnis, diesen Benutzer zu ändern: $row[1]\n"; + } + else + { + echo "
ÄNDERN Sie Einen BENUTZER-SATZ: $row[1]\n"; + if ($LOGuser_level > 8) + {echo "\n";} + else + { + if ($LOGalter_agent_interface == "1") + {echo "\n";} + else + {echo "\n";} + } + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + if ( ($LOGuser_level > 8) or ($LOGalter_agent_interface == "1") ) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + if ($LOGuser_level > 8) + { + echo "\n"; + +#9BB9FB +#B9CBFD + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + echo "\n"; + echo "
Benutzer-Zahl: $row[1]$NWB#vicidial_users-user$NWE
Kennwort:$NWB#vicidial_users-pass$NWE
Voller Name: $NWB#vicidial_users-full_name$NWE
Benutzer-Niveau: $NWB#vicidial_users-user_level$NWE
Benutzer-Gruppe: $NWB#vicidial_users-user_group$NWE
Telefon-LOGON: $NWB#vicidial_users-phone_login$NWE
Telefon-Durchlauf: $NWB#vicidial_users-phone_pass$NWE
MITTEL-SCHNITTSTELLE WAHLEN:
Mittel Wählen Ingroups: $NWB#vicidial_users-agent_choose_ingroups$NWE
Hot Keys Aktiv: $NWB#vicidial_users-hotkeys_active$NWE
Zeitlich geplante Wiederholungsbesuche: $NWB#vicidial_users-scheduled_callbacks$NWE
Mittel-Nur Wiederholungsbesuche: $NWB#vicidial_users-agentonly_callbacks$NWE
Vertreter-Anruf-Handbuch: $NWB#vicidial_users-agentcall_manual$NWE
Vicidial Aufnahme: $NWB#vicidial_users-vicidial_recording$NWE
Vicidial Übertragungen: $NWB#vicidial_users-vicidial_transfers$NWE
Genauere Rückstellung Gemischt: $NWB#vicidial_users-closer_default_blended$NWE
VICIDIAL Aufnahme-Übersteuerung: $NWB#vicidial_users-vicidial_recording_override$NWE
Mittel Ändern Kunde Daten-Übersteuerung: $NWB#vicidial_users-alter_custdata_override$NWE
Kampagne Rank:$NWB#vicidial_users-campaign_ranks$NWE
\n"; + echo "\n"; + echo "$RANKcampaigns_list"; + echo "
\n"; + echo "
Inbound Gruppen: $NWB#vicidial_users-closer_campaigns$NWE
\n"; + echo "\n"; + echo "$RANKgroups_list"; + echo "
\n"; + echo "
ADMIN SCHNITTSTELLE WAHLEN:
Ansicht-Reports: $NWB#vicidial_users-view_reports$NWE
Ändern Sie Mittel-Schnittstelle Wahlen:$NWB#vicidial_users-alter_agent_interface_options$NWE
Ändern Sie Benutzer: $NWB#vicidial_users-modify_sections$NWE
Ändern Sie Vertreter-Kampagne: $NWB#vicidial_users-change_agent_campaign$NWE
Löschung-Benutzer: $NWB#vicidial_users-delete_users$NWE
Ändern Sie Benutzer-Gruppen: $NWB#vicidial_users-modify_sections$NWE
Löschung-Benutzer-Gruppen: $NWB#vicidial_users-delete_user_groups$NWE
Ändern Sie Listen: $NWB#vicidial_users-modify_sections$NWE
Löschung-Listen: $NWB#vicidial_users-delete_lists$NWE
Last Leitungen: $NWB#vicidial_users-load_leads$NWE
Ändern Sie Leitungen: $NWB#vicidial_users-modify_leads$NWE
Ändern Sie Kampagnen: $NWB#vicidial_users-modify_sections$NWE
Kampagne Detail: $NWB#vicidial_users-campaign_detail$NWE
Löschung-Kampagnen: $NWB#vicidial_users-delete_campaigns$NWE
Ändern Sie In-Gruppen: $NWB#vicidial_users-modify_sections$NWE
Löschung In-Gruppen: $NWB#vicidial_users-delete_ingroups$NWE
Ändern Sie Remotemittel: $NWB#vicidial_users-modify_sections$NWE
Löschung-Direktübertragung Mittel: $NWB#vicidial_users-delete_remote_agents$NWE
Ändern Sie Indexe: $NWB#vicidial_users-modify_sections$NWE
Löschung-Indexs: $NWB#vicidial_users-delete_scripts$NWE
Ändern Sie Filter: $NWB#vicidial_users-modify_sections$NWE
Löschung-Filter: $NWB#vicidial_users-delete_filters$NWE
AGC Admin Zugang: $NWB#vicidial_users-ast_admin_access$NWE
AGC Löschung-Telefone: $NWB#vicidial_users-ast_delete_phones$NWE
Bearbeite Anrufzeits: $NWB#vicidial_users-modify_call_times$NWE
Lösche Anrufzeits: $NWB#vicidial_users-delete_call_times$NWE
Ändern Sie Bediener: $NWB#vicidial_users-modify_sections$NWE
\n"; + + if ($LOGdelete_users > 0) + { + echo "

LÖSCHEN SIE DIESEN BENUTZER\n"; + } + echo "

Klicken Sie hier für Benutzerzeitblatt\n"; + echo "

Klicken Sie hier für Benutzerstatus\n"; + echo "

Klicken Sie hier für Benutzernotfall\n"; + echo "

Klicken Sie hier für Benutzer Wiederholungsbesuch Einflüsse\n"; + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=31 modify campaign info in the system - Detail view +###################### + +if ( ($LOGcampaign_detail < 1) and ($ADD==31) ) {$ADD=34;} # send to Basic if not allowed + +if ( ($ADD==31) and ( (!eregi("$campaign_id",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) ) + {$ADD=30;} # send to not allowed screen if not in vicidial_user_groups allowed_campaigns list + +if ($ADD==31) +{ + if ($LOGmodify_campaigns==1) + { + if ($stage=='show_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='Y' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + if ($stage=='hide_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='N' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT * from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $campaign_name = $row[1]; + $dial_status_a = $row[3]; + $dial_status_b = $row[4]; + $dial_status_c = $row[5]; + $dial_status_d = $row[6]; + $dial_status_e = $row[7]; + $lead_order = $row[8]; + $allow_closers = $row[12]; + $hopper_level = $row[13]; + $auto_dial_level = $row[14]; + $next_agent_call = $row[15]; + $local_call_time = $row[16]; + $voicemail_ext = $row[17]; + $dial_timeout = $row[18]; + $dial_prefix = $row[19]; + $campaign_cid = $row[20]; + $campaign_vdad_exten = $row[21]; + $campaign_rec_exten = $row[22]; + $campaign_recording = $row[23]; + $campaign_rec_filename = $row[24]; + $script_id = $row[25]; + $get_call_launch = $row[26]; + $am_message_exten = $row[27]; + $amd_send_to_vmx = $row[28]; + $xferconf_a_dtmf = $row[29]; + $xferconf_a_number = $row[30]; + $xferconf_b_dtmf = $row[31]; + $xferconf_b_number = $row[32]; + $alt_number_dialing = $row[33]; + $scheduled_callbacks = $row[34]; + $lead_filter_id = $row[35]; + if ($lead_filter_id=='') {$lead_filter_id='NONE';} + $drop_call_seconds = $row[36]; + $safe_harbor_message = $row[37]; + $safe_harbor_exten = $row[38]; + $display_dialable_count = $row[39]; + $wrapup_seconds = $row[40]; + $wrapup_message = $row[41]; + # $closer_campaigns = $row[42]; + $use_internal_dnc = $row[43]; + $allcalls_delay = $row[44]; + $omit_phone_code = $row[45]; + $dial_method = $row[46]; + $available_only_ratio_tally = $row[47]; + $adaptive_dropped_percentage = $row[48]; + $adaptive_maximum_level = $row[49]; + $adaptive_latest_server_time = $row[50]; + $adaptive_intensity = $row[51]; + $adaptive_dl_diff_target = $row[52]; + $concurrent_transfers = $row[53]; + $auto_alt_dial = $row[54]; + $auto_alt_dial_statuses = $row[55]; + $agent_pause_codes_active = $row[56]; + $campaign_description = $row[57]; + $campaign_changedate = $row[58]; + $campaign_stats_refresh = $row[59]; + $campaign_logindate = $row[60]; + $dial_statuses = $row[61]; + $disable_alter_custdata = $row[62]; + $no_hopper_leads_logins = $row[63]; + $list_order_mix = $row[64]; + $campaign_allow_inbound = $row[65]; + $manual_dial_list_id = $row[66]; + $default_xfer_group = $row[67]; + + if (ereg("DISABLED",$list_order_mix)) + {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} + else + {$DEFlistDISABLE = 'disabled'; $DEFstatusDISABLED=1;} + + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE'"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $mixes_list="\n"; + $mixname_list["DISABLED"] = "DISABLED"; + } + else + { + ##### get list_mix listings for dynamic pulldown + $stmt="SELECT vcl_id,vcl_name from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE' limit 1"; + $rslt=mysql_query($stmt, $link); + $mixes_to_print = mysql_num_rows($rslt); + $mixes_list="\n"; + + $o=0; + while ($mixes_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $mixes_list .= "\n"; + $mixname_list["ACTIVE"] = "$rowx[0] - $rowx[1]"; + $o++; + } + } + + ##### get status listings for dynamic pulldown + $stmt="SELECT * from vicidial_statuses order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $statuses_list=''; + + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + $o++; + } + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $Cstatuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($Cstatuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + $o++; + } + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) -1); + + ##### get in-groups listings for dynamic pulldown list menu + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $xfer_groupsSQL order by group_id"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "\n";} + else + {$Xgroups_menu .= "\n";} + + + if ($SUB<1) {$camp_detail_color=$subcamp_color;} + else {$camp_detail_color=$campaigns_color;} + if ($SUB==22) {$camp_statuses_color=$subcamp_color;} + else {$camp_statuses_color=$campaigns_color;} + if ($SUB==23) {$camp_hotkeys_color=$subcamp_color;} + else {$camp_hotkeys_color=$campaigns_color;} + if ($SUB==25) {$camp_recycle_color=$subcamp_color;} + else {$camp_recycle_color=$campaigns_color;} + if ($SUB==26) {$camp_autoalt_color=$subcamp_color;} + else {$camp_autoalt_color=$campaigns_color;} + if ($SUB==27) {$camp_pause_color=$subcamp_color;} + else {$camp_pause_color=$campaigns_color;} + if ($SUB==29) {$camp_listmix_color=$subcamp_color;} + else {$camp_listmix_color=$campaigns_color;} + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "
$row[0]: Basic Detail StatusesHotKeysLead RecyclingAuto Alt DialPause CodesList Mix Real-Time
\n"; + + echo "
\n"; + echo ""; + + echo "
\n"; + + if ($SUB < 1) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($Ds_to_print > $o) + { + $o++; + $Dstatus = $Dstatuses[$o]; + + echo "\n"; + } + else + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "ENTFERNEN Sie\n"; + } + } + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + + + echo "\n"; + + echo "\n"; + + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + if ($campaign_allow_inbound == 'Y') + { + echo "\n"; + } + + echo "\n"; + + if ($allow_closers == 'Y') + { + echo "\n"; + } + + echo "\n"; + echo "
Kampagne Identifikation: $row[0]$NWB#vicidial_campaigns-campaign_id$NWE
Kampagne Name: $NWB#vicidial_campaigns-campaign_name$NWE
Kampagne Beschreibung: $NWB#vicidial_campaigns-campaign_description$NWE
Kampagne Change Date: $campaign_changedate   $NWB#vicidial_campaigns-campaign_changedate$NWE
Kampagne Login Date: $campaign_logindate   $NWB#vicidial_campaigns-campaign_logindate$NWE
Aktiv:$NWB#vicidial_campaigns-active$NWE
Park-Verlängerung: - Filename: $NWB#vicidial_campaigns-park_ext$NWE
Netz-Form: $NWB#vicidial_campaigns-web_form_address$NWE
Erlauben Sie Closers: $NWB#vicidial_campaigns-allow_closers$NWE
Erlauben Sie Inbound und gemischt:$NWB#vicidial_campaigns-campaign_allow_inbound$NWE
Vorwahlknopf-Status$o: \n"; + + if ($DEFstatusDISABLED > 0) + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "REMOVE
Add A Dial Status:   \n"; + echo "     $NWB#vicidial_campaigns-dial_status$NWE
Liste Auftrag: $NWB#vicidial_campaigns-lead_order$NWE
List Mix: $NWB#vicidial_campaigns-list_order_mix$NWE
Leitung Filter: $NWB#vicidial_campaigns-lead_filter_id$NWE
Zufuhrbehälter-Niveau: $NWB#vicidial_campaigns-hopper_level$NWE
Kraft-Zurückstellen des Zufuhrbehälters: $NWB#vicidial_campaigns-force_reset_hopper$NWE
Vorwahlknopf-Methode: $NWB#vicidial_campaigns-dial_method$NWE
Selbstvorwahlknopf-Niveau: (0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE       PASSEN SIE ÜBERSTEUERUNG AN
Vorhandenes Nur Tally: $NWB#vicidial_campaigns-available_only_ratio_tally$NWE
Tropfen-Prozentsatz-Begrenzung: % $NWB#vicidial_campaigns-adaptive_dropped_percentage$NWE
Maximum Paßt Vorwahlknopf-Niveau An: number only $NWB#vicidial_campaigns-adaptive_maximum_level$NWE
Neueste Bediener-Zeit: 4 nur Stellen $NWB#vicidial_campaigns-adaptive_latest_server_time$NWE
Passen Sie Intensität Modifizierfaktor An: $NWB#vicidial_campaigns-adaptive_intensity$NWE
Vorwahlknopf-Waagerecht ausgerichtetes Unterschied-Ziel: $NWB#vicidial_campaigns-adaptive_dl_diff_target$NWE
Gleichzeitige Übertragungen: $NWB#vicidial_campaigns-concurrent_transfers$NWE
SelbstAlt-zahl Wählen: $NWB#vicidial_campaigns-auto_alt_dial$NWE
Folgender Vertreter-Anruf: $NWB#vicidial_campaigns-next_agent_call$NWE
Ortsgespräch-Zeit: $NWB#vicidial_campaigns-local_call_time$NWE
Vorwahlknopf-Abschaltung: in seconds$NWB#vicidial_campaigns-dial_timeout$NWE
Vorwahlknopf-Präfix: for 91NXXNXXXXXX value would be 9, for no dial prefix use X$NWB#vicidial_campaigns-dial_prefix$NWE
Lassen Sie Telefon-Code Aus: $NWB#vicidial_campaigns-omit_phone_code$NWE
Kampagne CallerID: $NWB#vicidial_campaigns-campaign_cid$NWE
Kampagne VDAD exten: $NWB#vicidial_campaigns-campaign_vdad_exten$NWE
Kampagne Rec exten: $NWB#vicidial_campaigns-campaign_rec_exten$NWE
Kampagne Aufnahme: $NWB#vicidial_campaigns-campaign_recording$NWE
Kampagne Rec Dateiname: $NWB#vicidial_campaigns-campaign_rec_filename$NWE
Das Notieren Verzögert: in seconds$NWB#vicidial_campaigns-allcalls_delay$NWE
Script: $NWB#vicidial_campaigns-campaign_script$NWE
Erhalten Sie Anruf-Produkteinführung: $NWB#vicidial_campaigns-get_call_launch$NWE
Antwortende Maschine Anzeige: $NWB#vicidial_campaigns-am_message_exten$NWE
AMD senden zu VM exten: $NWB#vicidial_campaigns-amd_send_to_vmx$NWE
BringenSie DTMF 1: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
BringenSie Zahl 1: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
BringenSie DTMF 2: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
BringenSie Zahl 2: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
Alternative Nummer wählen: $NWB#vicidial_campaigns-alt_number_dialing$NWE
Zeitlich geplante Wiederholungsbesuche: $NWB#vicidial_campaigns-scheduled_callbacks$NWE
Verbindungsaufbau Sekunden: $NWB#vicidial_campaigns-drop_call_seconds$NWE
Voicemail: $NWB#vicidial_campaigns-voicemail_ext$NWE
Benutze Sicherheitsnachricht: $NWB#vicidial_campaigns-safe_harbor_message$NWE
Sicherheitsnebenstelle: $NWB#vicidial_campaigns-safe_harbor_exten$NWE
Nachbereitung Sekunden $NWB#vicidial_campaigns-wrapup_seconds$NWE
Nachbereitung Nachricht $NWB#vicidial_campaigns-wrapup_message$NWE
Benutzen Sie Interne DNC Liste: $NWB#vicidial_campaigns-use_internal_dnc$NWE
AgentPause CodesAktiv:$NWB#vicidial_campaigns-agent_pause_codes_active$NWE
Kampagne Stats Refresh: $NWB#vicidial_campaigns-campaign_stats_refresh$NWE
Sperren Sie Ändern Kunde Daten: $NWB#vicidial_campaigns-disable_alter_custdata$NWE
Gewähren Sie Kein-Zufuhrbehälter-Führt LOGON: $NWB#vicidial_campaigns-no_hopper_leads_logins$NWE
Manuelle Vorwahlknopf-Liste Identifikation:$NWB#vicidial_campaigns-manual_dial_list_id$NWE
Gewährte Inbound Gruppen:
"; + echo " $NWB#vicidial_campaigns-closer_campaigns$NWE
\n"; + echo "$groups_list"; + echo "
Rückstellung Übergangsgruppe:$NWB#vicidial_campaigns-default_xfer_group$NWE
Gewährte Übergangsgruppen:
"; + echo " $NWB#vicidial_campaigns-xfer_groups$NWE
\n"; + echo "$XFERgroups_list"; + echo "
\n"; + + echo "
\n"; + echo "
LISTEN INNERHALB DIESER KAMPAGNE:   $NWB#vicidial_campaign_lists$NWE
\n"; + echo "\n"; + echo "\n"; + + $active_lists = 0; + $inactive_lists = 0; + $stmt="SELECT list_id,active,list_name from vicidial_lists where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $o++; + if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_lists++;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + echo "
LISTE IDENTIFIKATIONLISTE NAMEAKTIV
$rowx[0]$rowx[2]$rowx[1]

\n"; + echo "
\n"; + + $filterSQL = $filtersql_list[$lead_filter_id]; + $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); + if (strlen($filterSQL)>4) + {$fSQL = "and $filterSQL";} + else + {$fSQL = '';} + + $camp_lists = eregi_replace(".$","",$camp_lists); + echo "Diese Kampagne hat$active_lists aktive Listen und$inactive_lists unaktivierte Listen

\n"; + + if ($display_dialable_count == 'Y') + { + ### call function to calculate and print dialable leads + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$fSQL); + echo " - Verberge

"; + } + else + { + echo "Popup Dialable Leads Count"; + echo " - Zeige

"; + } + + + + + + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id='$campaign_id' and status IN('READY')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $hopper_leads = "$rowx[0]"; + + echo "Diese Kampagne hat$hopper_leads Leitungen im Vorwahlknopfzufuhrbehälter

\n"; + echo "Klicken Sie hier, um zu sehen, welche Leitungen im Zufuhrbehälter imAugenblick sind

\n"; + echo "Klicken Sie hier, um alle Wiederholungsbesuch Einflüsse in dieserKampagne zu sehen

\n"; + echo "Click here to see a VDAD report for this campaign

\n"; + echo "
\n"; + } + + + + if ($SUB==22) + { + + ##### get status category listings for dynamic pulldown + $stmt="SELECT vsc_id,vsc_name from vicidial_status_categories order by vsc_id desc"; + $rslt=mysql_query($stmt, $link); + $cats_to_print = mysql_num_rows($rslt); + $cats_list=""; + + $o=0; + while ($cats_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $cats_list .= "\n"; + $catsname_list["$rowx[0]"] = substr($rowx[1],0,20); + $o++; + } + + + echo "
\n"; + echo "
KUNDENSPEZIFISCHE STATUS INNERHALB DIESER KAMPAGNE:   $NWB#vicidial_campaign_statuses$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AScategory = $rowx[5]; + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
STATUSBESCHREIBUNGAUSWÄHLBARMENSCHLICHE ANTWORTLÖSCHUNG
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
\n"; + echo "\n"; + echo "         \n"; + echo "   \n"; + echo "LÖSCHUNG\n"; + echo "
\n"; + + echo "
ADDIEREN SIE NEUEN KUNDENSPEZIFISCHEN KAMPAGNE STATUS
\n"; + echo "\n"; + echo "\n"; + echo "Status:   \n"; + echo "Beschreibung:   \n"; + echo "Auswählbar:   \n"; + echo "Human Answer:   \n"; + echo "Kategorie:\n"; + echo "  
\n"; + echo "
\n"; + + echo "

\n"; + } + + + if ($SUB==23) + { + echo "
GEWOHNHEIT HOT KEYS INNERHALB DIESER KAMPAGNE:   $NWB#vicidial_campaign_hotkeys$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_campaign_hotkeys where campaign_id='$campaign_id' order by hotkey"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + + } + + echo "
HOT KEYSTATUSBESCHREIBUNGLÖSCHUNG
$rowx[1]$rowx[0]$rowx[2]LÖSCHUNG
\n"; + + echo "
ADDIEREN SIE NEUE KUNDENSPEZIFISCHE KAMPAGNE HOT KEY
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Hotkey:   \n"; + echo "Status:   \n"; + echo "
\n"; + echo "

\n"; + } + + + if ($SUB==25) + { + echo "

LEITUNG, DIE INNERHALB DIESER KAMPAGNE AUFBEREITET:   $NWB#vicidial_lead_recycle$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_lead_recycle where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $recycle_to_print = mysql_num_rows($rslt); + $o=0; + while ($recycle_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
STATUSVERSUCH VERZÖGERTVERSUCH MAXIMUMAKTIV LÖSCHUNG
$rowx[2]
\n"; + echo "\n"; + echo "\n"; + echo "
LÖSCHUNG
\n"; + + echo "
ADDIEREN SIE NEUE KAMPAGNE LEITUNG AUFBEREITEN
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Status:   \n"; + echo "Versuch Verzögert: \n"; + echo "Versuch Maximum: \n"; + echo "
\n"; + + echo "

\n"; + } + + + if ($SUB==26) + { + echo "

SELBSTALT ZAHL, DIE FÜR DIESE KAMPAGNE WÄHLT:   $NWB#vicidial_auto_alt_dial_statuses$NWE
\n"; + echo "\n"; + echo "\n"; + + $auto_alt_dial_statuses = preg_replace("/ -$/","",$auto_alt_dial_statuses); + $AADstatuses = explode(" ", $auto_alt_dial_statuses); + $AADs_to_print = (count($AADstatuses) -1); + + $o=0; + while ($AADs_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + $o++; + + echo "\n"; + echo "\n"; + } + + echo "
STATUSESLÖSCHUNG
$AADstatuses[$o]LÖSCHUNG
\n"; + + echo "
ADDIEREN SIE NEUE ZAHL-WÄHLENDEN STATUS DES AUTOMOBIL-ALT
\n"; + echo "\n"; + echo "\n"; + echo "Status:   \n"; + echo "
\n"; + + echo "

\n"; + } + + + if ($SUB==27) + { + echo "

MITTEL-PAUSE CODES FÜR DIESE KAMPAGNE:   $NWB#vicidial_pause_codes$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_pause_codes where campaign_id='$campaign_id' order by pause_code"; + $rslt=mysql_query($stmt, $link); + $pause_codes_to_print = mysql_num_rows($rslt); + $o=0; + while ($pause_codes_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
PAUSE CODESVERRECHENBARÄNDERN SieLÖSCHUNG
$rowx[0]\n"; + echo "\n"; + echo "\n"; + echo "  \n"; + echo "
LÖSCHUNG
\n"; + + echo "
ADDIEREN SIE NEUEN MITTEL-PAUSE CODE
\n"; + echo "\n"; + echo "\n"; + echo "Pause Code: \n"; + echo "Pause Code-Name: \n"; + echo "   Verrechenbar: \n"; + echo "
\n"; + + echo "

\n"; + } + + + if ($SUB < 1) + { + echo "

\n"; + echo "LOGGEN SIE ALLE MITTEL AUS DIESER KAMPAGNE HERAUS

\n"; + echo "EMERGENCY VDAC CLEAR FOR THIS CAMPAIGN

\n"; + + if ($LOGdelete_campaigns > 0) + { + echo "

LÖSCHEN SIE DIESE KAMPAGNE\n"; + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=34 modify campaign info in the system - Basic View +###################### + +if ( ($ADD==34) and ( (!eregi("$campaign_id",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) ) + {$ADD=30;} # send to not allowed screen if not in vicidial_user_groups allowed_campaigns list + +if ($ADD==34) +{ + if ($LOGmodify_campaigns==1) + { + if ($stage=='show_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='Y' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + if ($stage=='hide_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='N' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT * from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $dial_status_a = $row[3]; + $dial_status_b = $row[4]; + $dial_status_c = $row[5]; + $dial_status_d = $row[6]; + $dial_status_e = $row[7]; + $lead_order = $row[8]; + $hopper_level = $row[13]; + $auto_dial_level = $row[14]; + $next_agent_call = $row[15]; + $local_call_time = $row[16]; + $voicemail_ext = $row[17]; + $dial_timeout = $row[18]; + $dial_prefix = $row[19]; + $campaign_cid = $row[20]; + $campaign_vdad_exten = $row[21]; + $script_id = $row[25]; + $get_call_launch = $row[26]; + $lead_filter_id = $row[35]; + if ($lead_filter_id=='') {$lead_filter_id='NONE';} + $display_dialable_count = $row[39]; + $dial_method = $row[46]; + $adaptive_intensity = $row[51]; + $campaign_description = $row[57]; + $campaign_changedate = $row[58]; + $campaign_stats_refresh = $row[59]; + $campaign_logindate = $row[60]; + $dial_statuses = $row[61]; + $list_order_mix = $row[64]; + $default_xfer_group = $row[67]; + $campaign_allow_inbound = $row[65]; + $default_xfer_group = $row[67]; + + if (ereg("DISABLED",$list_order_mix)) + {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} + else + {$DEFlistDISABLE = 'disabled'; $DEFstatusDISABLED=1;} + + $stmt="SELECT * from vicidial_statuses order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $statuses_list=''; + + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + $o++; + } + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $Cstatuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($Cstatuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + $o++; + } + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) -1); + + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE'"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $mixes_list="\n"; + $mixname_list["DISABLED"] = "DISABLED"; + } + else + { + ##### get list_mix listings for dynamic pulldown + $stmt="SELECT vcl_id,vcl_name from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE' limit 1"; + $rslt=mysql_query($stmt, $link); + $mixes_to_print = mysql_num_rows($rslt); + $mixes_list="\n"; + + $o=0; + while ($mixes_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $mixes_list .= "\n"; + $mixname_list["ACTIVE"] = "$rowx[0] - $rowx[1]"; + $o++; + } + } + + if ($SUB<1) {$camp_detail_color=$subcamp_color;} + else {$camp_detail_color=$campaigns_color;} + if ($SUB==22) {$camp_statuses_color=$subcamp_color;} + else {$camp_statuses_color=$campaigns_color;} + if ($SUB==23) {$camp_hotkeys_color=$subcamp_color;} + else {$camp_hotkeys_color=$campaigns_color;} + if ($SUB==25) {$camp_recycle_color=$subcamp_color;} + else {$camp_recycle_color=$campaigns_color;} + if ($SUB==26) {$camp_autoalt_color=$subcamp_color;} + else {$camp_autoalt_color=$campaigns_color;} + if ($SUB==27) {$camp_pause_color=$subcamp_color;} + else {$camp_pause_color=$campaigns_color;} + if ($SUB==29) {$camp_listmix_color=$subcamp_color;} + else {$camp_listmix_color=$campaigns_color;} + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "
$row[0]: Grundlegende Ansicht Detail-Ansicht List Mix Echtzeit Bildschirm  
\n"; + + if ($SUB < 1) + { + echo "
\n"; + echo ""; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($Ds_to_print > $o) + { + $o++; + $Dstatus = $Dstatuses[$o]; + + echo "\n"; + } + else + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "ENTFERNEN Sie\n"; + } + } + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
Kampagne Identifikation: $row[0]$NWB#vicidial_campaigns-campaign_id$NWE
Kampagne Name: $NWB#vicidial_campaigns-campaign_name$NWE
Kampagne Beschreibung: $row[57]$NWB#vicidial_campaigns-campaign_description$NWE
Kampagne Change Date: $campaign_changedate   $NWB#vicidial_campaigns-campaign_changedate$NWE
Kampagne Login Date: $campaign_logindate   $NWB#vicidial_campaigns-campaign_logindate$NWE
Aktiv:$NWB#vicidial_campaigns-active$NWE
Park-Verlängerung: $row[9] - $row[10]$NWB#vicidial_campaigns-park_ext$NWE
Netz-Form: $row[11]$NWB#vicidial_campaigns-web_form_address$NWE
Erlauben Sie Closers: $row[12] $NWB#vicidial_campaigns-allow_closers$NWE
Rückstellung Übergangsgruppe:$default_xfer_group $NWB#vicidial_campaigns-default_xfer_group$NWE
Erlauben Sie Inbound und gemischt:$campaign_allow_inbound $NWB#vicidial_campaigns-campaign_allow_inbound$NWE
Vorwahlknopf-Status$o: \n"; + if ($DEFstatusDISABLED > 0) + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "REMOVE
Add A Dial Status:   \n"; + echo "     $NWB#vicidial_campaigns-dial_status$NWE
Liste Auftrag: $NWB#vicidial_campaigns-lead_order$NWE
List Mix: $NWB#vicidial_campaigns-list_order_mix$NWE
Leitung Filter: $NWB#vicidial_campaigns-lead_filter_id$NWE
Zufuhrbehälter-Niveau: $NWB#vicidial_campaigns-hopper_level$NWE
Kraft-Zurückstellen des Zufuhrbehälters: $NWB#vicidial_campaigns-force_reset_hopper$NWE
Vorwahlknopf-Methode: $NWB#vicidial_campaigns-dial_method$NWE
Selbstvorwahlknopf-Niveau: (0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE
Passen Sie Intensität Modifizierfaktor An: $NWB#vicidial_campaigns-adaptive_intensity$NWE
Script: $script_id
Erhalten Sie Anruf-Produkteinführung: $get_call_launch
\n"; + + echo "
\n"; + echo "
LISTEN INNERHALB DIESER KAMPAGNE:   $NWB#vicidial_campaign_lists$NWE
\n"; + echo "\n"; + echo "\n"; + + $active_lists = 0; + $inactive_lists = 0; + $stmt="SELECT list_id,active,list_name from vicidial_lists where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_lists++;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + + } + + echo "
LISTE IDENTIFIKATIONLISTE NAMEAKTIV
$rowx[0]$rowx[2]$rowx[1]

\n"; + echo "
\n"; + + $filterSQL = $filtersql_list[$lead_filter_id]; + $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); + if (strlen($filterSQL)>4) + {$fSQL = "and $filterSQL";} + else + {$fSQL = '';} + + $camp_lists = eregi_replace(".$","",$camp_lists); + echo "Diese Kampagne hat$active_lists aktive Listen und$inactive_lists unaktivierte Listen

\n"; + + + if ($display_dialable_count == 'Y') + { + ### call function to calculate and print dialable leads + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$fSQL); + echo " - Verberge

"; + } + else + { + echo "Popup Dialable Leads Count"; + echo " - Zeige

"; + } + + + + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id='$campaign_id' and status IN('READY')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $hopper_leads = "$rowx[0]"; + + echo "Diese Kampagne hat$hopper_leads Leitungen im Vorwahlknopfzufuhrbehälter

\n"; + echo "Klicken Sie hier, um zu sehen, welche Leitungen im Zufuhrbehälter imAugenblick sind

\n"; + echo "Klicken Sie hier, um alle Wiederholungsbesuch Einflüsse in dieserKampagne zu sehen

\n"; + echo "Click here to see a VDAD report for this campaign

\n"; + echo "
\n"; + + echo "
\n"; + + ### list of agent rank or skill-level for this campaign + echo "
\n"; + echo "
MITTEL-RANK FÜR DIESE KAMPAGNE:
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT user,campaign_rank,calls_today from vicidial_campaign_agents where campaign_id='$campaign_id'"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
USER     RANK     CALLS TODAY
$rowx[0]$rowx[1]$rowx[2]

\n"; + + + echo "LOGGEN SIE ALLE MITTEL AUS DIESER KAMPAGNE HERAUS

\n"; + + + if ($LOGdelete_campaigns > 0) + { + echo "

LÖSCHEN SIE DIESE KAMPAGNE\n"; + } + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=31 or 34 and SUB=29 for list mixes +###################### +if ( ( ($ADD==34) or ($ADD==31) ) and ( (!eregi("$campaign_id",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) ) + {$ADD=30;} # send to not allowed screen if not in vicidial_user_groups allowed_campaigns list + +if ( ($ADD==34) or ($ADD==31) ) +{ + if ($LOGmodify_campaigns==1) + { + if ($SUB==29) + { + ##### get list_id listings for dynamic pulldown + $stmt="SELECT list_id,list_name from vicidial_lists where campaign_id='$campaign_id' order by list_id"; + $rslt=mysql_query($stmt, $link); + $mixlists_to_print = mysql_num_rows($rslt); + $mixlists_list=""; + + $o=0; + while ($mixlists_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $mixlists_list .= "\n"; + $mixlistsname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + + echo "

LISTE MISCHUNGEN FÜR DIESE KAMPAGNE:  $NWB#vicidial_campaigns-list_order_mix$NWE
\n"; + + echo "

Experimental Feature in development!!! NON-FUNCTIONAL
\n"; + + + $stmt="SELECT * from vicidial_campaigns_list_mix where campaign_id='$campaign_id' order by status, vcl_id"; + $rslt=mysql_query($stmt, $link); + $listmixes = mysql_num_rows($rslt); + $o=0; + while ($listmixes > $o) + { + $rowx=mysql_fetch_row($rslt); + $vcl_id=$rowx[0]; + $o++; + + if ($o < 2) + {$tablecolor='bgcolor="#99FF99"'; $bgcolor='bgcolor="#CCFFCC"';} + else + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$tablecolor='bgcolor="#B9CBFD"'; $bgcolor='bgcolor="#9BB9FB"';} + else + {$tablecolor='bgcolor="#9BB9FB"'; $bgcolor='bgcolor="#B9CBFD"';} + } + echo "
\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + } + else + {echo "$rowx[5]\n";} + echo "\n"; + echo "\n"; + +# list_id|order|percent|statuses|:list_id|order|percent|statuses|:... +# 101|1|40| A B NA -|:102|2|25| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -| +# INSERT INTO vicidial_campaigns_list_mix values('TESTMIX','TESTCAMP List Mix','TESTCAMP','101|1|40| A B NA -|:102|2|25| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -|','IN_ORDER','ACTIVE'); +# INSERT INTO vicidial_campaigns_list_mix values('TESTMIX2','TESTCAMP List Mix2','TESTCAMP','101|1|20| A B -|:102|2|45| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -|','IN_ORDER','ACTIVE'); +# INSERT INTO vicidial_campaigns_list_mix values('TESTMIX3','TESTCAMP List Mix3','TESTCAMP','101|1|30| A NA -|:102|2|35| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -|','IN_ORDER','ACTIVE'); + + $MIXentries = $MT; + $MIXentries = explode(":", $rowx[3]); + $Ms_to_print = (count($MIXentries) - 0); + $q=0; + while ($Ms_to_print > $q) + { + $MIXdetails = explode('|', $MIXentries[$q]); + $MIXdetailsLIST = $MIXdetails[0]; + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) - 0); + $Dsql = ''; + $r=0; + while ($Ds_to_print > $r) + { + $r++; + $Dsql .= "'$Dstatuses[$r]',"; + } + $Dsql = preg_replace("/,$/","",$Dsql); + + echo "\n"; + + echo "\n"; + + echo "\n"; + + + echo "\n"; + echo "\n"; + + + echo "\n"; + + + $q++; + + } + + + + + echo "\n"; + + echo "\n"; + + + echo "\n"; + + if ($q > 9) {$AE_disabled = 'DISABLED';} + else {$AE_disabled = '';} + echo "\n"; + echo "
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$vcl_id:\n"; + echo "\n"; + echo "     DELETE LIST MIX
Status:\n"; + if ($rowx[5]=='INACTIVE') + { + echo "$rowx[5]\n"; + echo "STELLEN SIE AUF AKTIVES EINMethod:\n"; + echo "
LISTE IDENTIFIKATIONPRIORITY% MIXSTATUSES
\n"; + echo "\n"; + echo "List: $MIXdetailsLIST   ENTFERNEN Sie\n"; + + + + echo " \n"; + echo "ADD   \n"; + echo "ENTFERNEN Sie\n"; + echo "
\n"; + echo "Difference %: \n"; + echo "   \n"; + echo "\n"; + echo "
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "List:
\n"; + echo "
\n"; + } + + + echo "

ADDIEREN SIE NEUE LISTE MIX
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Mix ID: Mix Name: Mix Method: "; + echo "
List: Dial Status:  
\n"; + + echo "
\n"; + + } + } +} + + +###################### +# ADD=30 campaign not allowed +###################### + +if ($ADD==30) +{ +echo "
\n"; + echo ""; +echo "You do not have permission to view campaign $campaign_id\n"; +} + + +###################### +# ADD=32 display all campaign statuses +###################### +if ($ADD==32) +{ +echo "
\n"; + echo ""; + +echo "
KUNDENSPEZIFISCHE KAMPAGNE STATUS-AUFLISTUNGEN:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNNAMESTATUSESÄNDERN Sie
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT status from vicidial_campaign_statuses where campaign_id='$campaigns_id_list[$o]' order by status"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY STATUSES
\n"; +} + + +###################### +# ADD=33 display all campaign hotkeys +###################### +if ($ADD==33) +{ +echo "
\n"; + echo ""; + +echo "
KAMPAGNE HOTKEYS AUFLISTUNGEN:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNNAMEHOTKEYSÄNDERN Sie
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT status from vicidial_campaign_hotkeys where campaign_id='$campaigns_id_list[$o]' order by status"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY HOTKEYS
\n"; +} + + +###################### +# ADD=35 display all campaign lead recycle entries +###################### +if ($ADD==35) +{ +echo "
\n"; + echo ""; + +echo "
KAMPAGNE LEITUNG BEREITEN AUFLISTUNGEN AUF:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNNAMELEITUNG BEREITET AUFÄNDERN Sie
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT status from vicidial_lead_recycle where campaign_id='$campaigns_id_list[$o]' order by status"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY LEITUNG BEREITET AUF
\n"; +} + + +###################### +# ADD=36 display all campaign auto-alt dial entries +###################### +if ($ADD==36) +{ +echo "
\n"; + echo ""; + +echo "
KAMPAGNE LEITUNG AUTO-ALT VORWAHLKNOPF-AUFLISTUNGEN:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNNAMEAUTO-ALT DIALÄNDERN Sie
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaigns_id_list[$o]';"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if (strlen($row[0])<3) + {echo "NONE";} + echo "MODIFY AUTO-ALT DIAL
\n"; +} + + +###################### +# ADD=37 display all campaign agent pause codes +###################### +if ($ADD==37) +{ +echo "
\n"; + echo ""; + +echo "
KAMPAGNE MITTEL-PAUSE CODE-AUFLISTUNGEN:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNNAMEPAUSE CODESÄNDERN Sie
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT pause_code from vicidial_pause_codes where campaign_id='$campaigns_id_list[$o]' order by pause_code;"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY PAUSE CODES
\n"; +} + + +###################### +# ADD=39 display all campaign list mixes +###################### +if ($ADD==39) +{ +echo "
\n"; + echo ""; + +echo "
KAMPAGNE LISTE MISCHUNG AUFLISTUNGEN:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNNAMELIST MIXÄNDERN Sie
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT vcl_id from vicidial_campaigns_list_mix where campaign_id='$campaigns_id_list[$o]' order by status,vcl_id;"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY LIST MIX
\n"; +} + + + + + +###################### +# ADD=311 modify list info in the system +###################### + +if ($ADD==311) +{ + if ($LOGmodify_lists==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $campaign_id = $row[2]; + $active = $row[3]; + $list_description = $row[4]; + $list_changedate = $row[5]; + $list_lastcalldate = $row[6]; + + # grab names of global statuses and statuses in the selected campaign + $stmt="SELECT * from vicidial_statuses order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($statuses_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $statuses_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $Cstatuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($Cstatuses_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $statuses_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + # end grab status names + + + echo "
ÄNDERN Sie Einen LISTEN SATZ: $row[0]
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Liste Identifikation: $row[0]$NWB#vicidial_lists-list_id$NWE
Liste Name: $NWB#vicidial_lists-list_name$NWE
Liste Beschreibung: $NWB#vicidial_lists-list_description$NWE
Kampagne: $NWB#vicidial_lists-campaign_id$NWE
Aktiv:$NWB#vicidial_lists-active$NWE
Stellen Sie Führen-Benennen-Status für diese Liste zurück: $NWB#vicidial_lists-reset_list$NWE
Liste Änderung Datum: $list_changedate   $NWB#vicidial_lists-list_changedate$NWE
List Last Call Date: $list_lastcalldate   $NWB#vicidial_lists-list_lastcalldate$NWE
\n"; + + echo "
\n"; + echo "
STATUS INNERHALB DIESER LISTE:
\n"; + echo "\n"; + echo "\n"; + + $leads_in_list = 0; + $leads_in_list_N = 0; + $leads_in_list_Y = 0; + $stmt="SELECT status,called_since_last_reset,count(*) from vicidial_list where list_id='$list_id' group by status,called_since_last_reset order by status,called_since_last_reset"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + + $o=0; + $lead_list['count'] = 0; + $lead_list['Y_count'] = 0; + $lead_list['N_count'] = 0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + + $lead_list['count'] = ($lead_list['count'] + $rowx[2]); + if ($rowx[1] == 'N') + { + $since_reset = 'N'; + $since_resetX = 'Y'; + } + else + { + $since_reset = 'Y'; + $since_resetX = 'N'; + } + $lead_list[$since_reset][$rowx[0]] = ($lead_list[$since_reset][$rowx[0]] + $rowx[2]); + $lead_list[$since_reset.'_count'] = ($lead_list[$since_reset.'_count'] + $rowx[2]); + #If opposite side is not set, it may not in the future so give it a value of zero + if (!isset($lead_list[$since_resetX][$rowx[0]])) + { + $lead_list[$since_resetX][$rowx[0]]=0; + } + $o++; + } + + $o=0; + if ($lead_list['count'] > 0) + { + while (list($dispo,) = each($lead_list[$since_reset])) + { + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + if ($dispo == 'CBHOLD') + { + $CLB=""; + $CLE=""; + } + else + { + $CLB=''; + $CLE=''; + } + + echo "\n"; + $o++; + } + } + + echo "\n"; + echo "\n"; + + echo "
STATUSSTATUS-NAMEBENANNTNICHT BENANNT
$CLB$dispo$CLE$statuses_list[$dispo]".$lead_list['Y'][$dispo]."".$lead_list['N'][$dispo]."
TEILSUMMEN$lead_list[Y_count]$lead_list[N_count]
GESAMTMENGE$lead_list[count]

\n"; + unset($lead_list); + + + echo "
\n"; + echo "
ZEIT-ZONEN INNERHALB DIESER LISTE:
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT gmt_offset_now,called_since_last_reset,count(*) from vicidial_list where list_id='$list_id' group by gmt_offset_now,called_since_last_reset order by gmt_offset_now,called_since_last_reset"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + + $o=0; + $plus='+'; + $lead_list['count'] = 0; + $lead_list['Y_count'] = 0; + $lead_list['N_count'] = 0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + + $lead_list['count'] = ($lead_list['count'] + $rowx[2]); + if ($rowx[1] == 'N') + { + $since_reset = 'N'; + $since_resetX = 'Y'; + } + else + { + $since_reset = 'Y'; + $since_resetX = 'N'; + } + $lead_list[$since_reset][$rowx[0]] = ($lead_list[$since_reset][$rowx[0]] + $rowx[2]); + $lead_list[$since_reset.'_count'] = ($lead_list[$since_reset.'_count'] + $rowx[2]); + #If opposite side is not set, it may not in the future so give it a value of zero + if (!isset($lead_list[$since_resetX][$rowx[0]])) + { + $lead_list[$since_resetX][$rowx[0]]=0; + } + $o++; + } + + if ($lead_list['count'] > 0) + { + while (list($tzone,) = each($lead_list[$since_reset])) + { + $LOCALzone=3600 * $tzone; + $LOCALdate=gmdate("D M Y H:i", time() + $LOCALzone); + + if ($tzone >= 0) {$DISPtzone = "$plus$tzone";} + else {$DISPtzone = "$tzone";} + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + } + + echo "\n"; + echo "\n"; + + echo "
GMT VERSETZTE JETZT (lokale Zeit)BENANNTNICHT BENANNT
".$DISPtzone."     ($LOCALdate)".$lead_list['Y'][$tzone]."".$lead_list['N'][$tzone]."
TEILSUMMEN$lead_list[Y_count]$lead_list[N_count]
GESAMTMENGE$lead_list[count]

\n"; + unset($lead_list); + + + + $leads_in_list = 0; + $leads_in_list_N = 0; + $leads_in_list_Y = 0; + $stmt="SELECT status,called_count,count(*) from vicidial_list where list_id='$list_id' group by status,called_count order by status,called_count"; + $rslt=mysql_query($stmt, $link); + $status_called_to_print = mysql_num_rows($rslt); + + $o=0; + $sts=0; + $first_row=1; + $all_called_first=1000; + $all_called_last=0; + while ($status_called_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $leads_in_list = ($leads_in_list + $rowx[2]); + $count_statuses[$o] = "$rowx[0]"; + $count_called[$o] = "$rowx[1]"; + $count_count[$o] = "$rowx[2]"; + $all_called_count[$rowx[1]] = ($all_called_count[$rowx[1]] + $rowx[2]); + + if ( (strlen($status[$sts]) < 1) or ($status[$sts] != "$rowx[0]") ) + { + if ($first_row) {$first_row=0;} + else {$sts++;} + $status[$sts] = "$rowx[0]"; + $status_called_first[$sts] = "$rowx[1]"; + if ($status_called_first[$sts] < $all_called_first) {$all_called_first = $status_called_first[$sts];} + } + $leads_in_sts[$sts] = ($leads_in_sts[$sts] + $rowx[2]); + $status_called_last[$sts] = "$rowx[1]"; + if ($status_called_last[$sts] > $all_called_last) {$all_called_last = $status_called_last[$sts];} + + $o++; + } + + + + + echo "
\n"; + echo "
BENANNTE ZÄHLIMPULSE INNERHALB DIESER LISTE:
\n"; + echo "\n"; + echo ""; + $first = $all_called_first; + while ($first <= $all_called_last) + { + if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#AFEEEE"';} + else{$AB='bgcolor="#E0FFFF"';} + echo ""; + $first++; + } + echo "\n"; + + $sts=0; + $statuses_called_to_print = count($status); + while ($statuses_called_to_print > $sts) + { + $Pstatus = $status[$sts]; + if (eregi("1$|3$|5$|7$|9$", $sts)) + {$bgcolor='bgcolor="#B9CBFD"'; $AB='bgcolor="#9BB9FB"';} + else + {$bgcolor='bgcolor="#9BB9FB"'; $AB='bgcolor="#B9CBFD"';} + # echo "$status[$sts]|$status_called_first[$sts]|$status_called_last[$sts]|$leads_in_sts[$sts]|\n"; + # echo "$status[$sts]|"; + echo ""; + + $first = $all_called_first; + while ($first <= $all_called_last) + { + if (eregi("1$|3$|5$|7$|9$", $sts)) + { + if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#9BB9FB"';} + else{$AB='bgcolor="#B9CBFD"';} + } + else + { + if (eregi("0$|2$|4$|6$|8$", $first)) {$AB='bgcolor="#9BB9FB"';} + else{$AB='bgcolor="#B9CBFD"';} + } + + $called_printed=0; + $o=0; + while ($status_called_to_print > $o) + { + if ( ($count_statuses[$o] == "$Pstatus") and ($count_called[$o] == "$first") ) + { + $called_printed++; + echo ""; + } + + + $o++; + } + if (!$called_printed) + {echo "";} + $first++; + } + echo "\n\n"; + + $sts++; + } + + echo ""; + $first = $all_called_first; + while ($first <= $all_called_last) + { + if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#AFEEEE"';} + else{$AB='bgcolor="#E0FFFF"';} + echo ""; + $first++; + } + echo "\n"; + + echo "
STATUSSTATUS-NAME$firstTEILSUMME
$Pstatus$statuses_list[$Pstatus] $count_count[$o]  $leads_in_sts[$sts]
GESAMTMENGE$all_called_count[$first]$leads_in_list

\n"; + + + + + + echo "
\n"; + + echo "

Click here to see all CallBack Holds in this list

\n"; + + if ($LOGdelete_lists > 0) + { + echo "

LÖSCHEN SIE DIESE LISTE\n"; + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + + +###################### +# ADD=3111 modify in-group info in the system +###################### + +if ($ADD==3111) +{ + if ($LOGmodify_ingroups==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $group_name = $row[1]; + $group_color = $row[2]; + $active = $row[3]; + $web_form_address = $row[4]; + $voicemail_ext = $row[5]; + $next_agent_call = $row[6]; + $fronter_display = $row[7]; + $script_id = $row[8]; + $get_call_launch = $row[9]; + $xferconf_a_dtmf = $row[10]; + $xferconf_a_number = $row[11]; + $xferconf_b_dtmf = $row[12]; + $xferconf_b_number = $row[13]; + $drop_call_seconds = $row[14]; + $drop_message = $row[15]; + $drop_exten = $row[16]; + $call_time_id = $row[17]; + $after_hours_action = $row[18]; + $after_hours_message_filename = $row[19]; + $after_hours_exten = $row[20]; + $after_hours_voicemail = $row[21]; + $welcome_message_filename = $row[22]; + $moh_context = $row[23]; + $onhold_prompt_filename = $row[24]; + $prompt_interval = $row[25]; + $agent_alert_exten = $row[26]; + $agent_alert_delay = $row[27]; + $default_xfer_group = $row[28]; + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "\n";} + else + {$Xgroups_menu .= "\n";} + + + echo "
ÄNDERN Sie Einen GRUPPEN SATZ: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
Gruppe Identifikation: $row[0]$NWB#vicidial_inbound_groups-group_id$NWE
Gruppe Name: $NWB#vicidial_inbound_groups-group_name$NWE
Gruppe Farbe: $NWB#vicidial_inbound_groups-group_color$NWE
Aktiv:$NWB#vicidial_inbound_groups-active$NWE
Netz-Form: $NWB#vicidial_inbound_groups-web_form_address$NWE
Folgender Vertreter-Anruf: $NWB#vicidial_inbound_groups-next_agent_call$NWE
Fronter Anzeige: $NWB#vicidial_inbound_groups-fronter_display$NWE
Script: $NWB#vicidial_inbound_groups-ingroup_script$NWE
Erhalten Sie Anruf-Produkteinführung: $NWB#vicidial_inbound_groups-get_call_launch$NWE
BringenSie DTMF 1: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
BringenSie Zahl 1: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
BringenSie DTMF 2: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
BringenSie Zahl 2: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
Verbindungsaufbau Sekunden: $NWB#vicidial_inbound_groups-drop_call_seconds$NWE
Voicemail: $NWB#vicidial_inbound_groups-voicemail_ext$NWE
Benutze Verbindungsaufbaunachricht: $NWB#vicidial_inbound_groups-drop_message$NWE
Verbindungsaufbaunebenstelle: $NWB#vicidial_inbound_groups-drop_exten$NWE
Anruf-Zeit:$NWB#vicidial_inbound_groups-call_time_id$NWE
Nach Stunden Tätigkeit:$NWB#vicidial_inbound_groups-after_hours_action$NWE
Nach Stunden Anzeige Dateinamen:$NWB#vicidial_inbound_groups-after_hours_message_filename$NWE
Nach Stunden Verlängerung:$NWB#vicidial_inbound_groups-after_hours_exten$NWE
Nach Stunden Voicemail:$NWB#vicidial_inbound_groups-after_hours_voicemail$NWE
Willkommener Anzeige Dateiname:$NWB#vicidial_inbound_groups-welcome_message_filename$NWE
Musik Auf Einfluß-Kontext:$NWB#vicidial_inbound_groups-moh_context$NWE
Auf Einfluß-Aufforderung Dateinamen:$NWB#vicidial_inbound_groups-onhold_prompt_filename$NWE
Auf Einfluß-Aufforderung Abstand:$NWB#vicidial_inbound_groups-prompt_interval$NWE
Mittel-Alarmverlängerung:$NWB#vicidial_inbound_groups-agent_alert_exten$NWE
Mittel-Alarm Verzögert:$NWB#vicidial_inbound_groups-agent_alert_delay$NWE
Rückstellung Übergangsgruppe:$NWB#vicidial_inbound_groups-default_xfer_group$NWE
\n"; + + ### list of agent rank or skill-level for this inbound group + echo "
\n"; + echo "
MITTELRANKS FOR THIS INBOUND GROUP:
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT user,group_rank,calls_today from vicidial_inbound_group_agents where group_id='$group_id'"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
USER     RANK     CALLS TODAY
$rowx[0]$rowx[1]$rowx[2]

\n"; + + echo "

\n"; + + echo "Click here to see a report for this inbound group

\n"; + + echo "
\n"; + + if ($LOGdelete_ingroups > 0) + { + echo "

EMERGENCY VDAC CLEAR FOR THIS IN-GROUP

\n"; + echo "

LÖSCHEN SIE DIESES IN-GROUP\n"; + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + + +###################### +# ADD=31111 modify remote agents info in the system +###################### + +if ($ADD==31111) +{ + if ($LOGmodify_remoteagents==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_remote_agents where remote_agent_id='$remote_agent_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id = $row[0]; + $user_start = $row[1]; + $number_of_lines = $row[2]; + $server_ip = $row[3]; + $conf_exten = $row[4]; + $status = $row[5]; + $campaign_id = $row[6]; + + echo "
ÄNDERN Sie Eine REMOTEMITTEL-EINTRAGUNG: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Benutzernummer Anfang: (nur Zahlen, incremented)$NWB#vicidial_remote_agents-user_start$NWE
Zeilenzahl: (nur Zahlen)$NWB#vicidial_remote_agents-number_of_lines$NWE
Bediener IP: $NWB#vicidial_remote_agents-server_ip$NWE
Externe Verlängerung: (dial plan Zahl wählte, um Mittel zu erreichen)$NWB#vicidial_remote_agents-conf_exten$NWE
Status:$NWB#vicidial_remote_agents-status$NWE
Kampagne: $NWB#vicidial_remote_agents-campaign_id$NWE
Inbound Gruppen: \n"; + echo "$groups_list"; + echo "$NWB#vicidial_remote_agents-closer_campaigns$NWE
\n"; + echo "ANMERKUNG: Sie kann bis 30 Sekunden für die Änderungen dauern, dieauf diesem Schirm eingereicht werden, um Phasen zu gehen\n"; + + + if ($LOGdelete_remote_agents > 0) + { + echo "

LÖSCHEN SIE DIESES REMOTEMITTEL\n"; + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=311111 modify user group info in the system +###################### + +if ($ADD==311111) +{ + if ($LOGmodify_usergroups==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $user_group = $row[0]; + $group_name = $row[1]; + echo ""; + + echo "
ÄNDERN Sie Eine BENUTZER-GRUPPE EINTRAGUNG\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Gruppe: (keine Räume oder Interpunktion)$NWB#vicidial_user_groups-user_group$NWE
Beschreibung: (Beschreibung der Gruppe)$NWB#vicidial_user_groups-group_name$NWE
Erlaubte Kampagnen: \n"; + echo "$campaigns_list"; + echo "$NWB#vicidial_user_groups-allowed_campaigns$NWE
\n"; + + + ### list of users in this user group + + $active_confs = 0; + $stmt="SELECT user,full_name,user_level from vicidial_users where user_group='$user_group'"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + echo "
\n"; + echo "
BENUTZER INNERHALB DIESER BENUTZER-GRUPPE: $users_to_print
\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($users_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
USERFULL NAMELEVEL
$rowx[0]$rowx[1]$rowx[2]

\n"; + + + + echo "

Click here to see all CallBack Holds in this user group

\n"; + + if ($LOGdelete_user_groups > 0) + { + echo "

LÖSCHEN SIE DIESE BENUTZER-GRUPPE\n"; + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=3111111 modify script info in the system +###################### + +if ($ADD==3111111) +{ + if ($LOGmodify_scripts==1) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_scripts where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $script_name = $row[1]; + $script_comments = $row[2]; + $script_text = $row[3]; + $active = $row[4]; + echo ""; + + echo "
ÄNDERN Sie Einen INDEX\n"; + echo "\n"; + echo "\n"; + echo "
Index Identifikation: $script_id$NWB#vicidial_scripts-script_name$NWE
Index-Name: (Titel dem Index)$NWB#vicidial_scripts-script_name$NWE
Index-Anmerkungen: $NWB#vicidial_scripts-script_comments$NWE
Aktiv:$NWB#vicidial_scripts-active$NWE
Index-Text:

Vorbetrachtung-Index
"; + # BEGIN Insert Field + echo ""; + echo "
"; + # END Insert Field + echo " $NWB#vicidial_scripts-script_text$NWE
\n"; + + if ($LOGdelete_scripts > 0) + { + echo "

LÖSCHEN SIE DIESEN INDEX\n"; + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=31111111 modify filter info in the system +###################### + +if ($ADD==31111111) +{ + if ($LOGmodify_filters==1) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $lead_filter_name = $row[1]; + $lead_filter_comments = $row[2]; + $lead_filter_sql = $row[3]; + echo ""; + + echo "
ÄNDERN Sie Einen FILTER\n"; + echo "\n"; + echo "\n"; + echo "
Filter Identifikation:$lead_filter_id$NWB#vicidial_lead_filters-lead_filter_id$NWE
Filter-Name: (kurze Beschreibung des Filter)$NWB#vicidial_lead_filters-lead_filter_name$NWE
Filter-Anmerkungen: $NWB#vicidial_lead_filters-lead_filter_comments$NWE
Filter Sql: $NWB#vicidial_lead_filters-lead_filter_sql$NWE
\n"; + + ##### get campaigns listing for dynamic pulldown + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "\n"; + $o++; + } + + echo "

"; + echo "
Testen der Kampagne:
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + if ($LOGdelete_filters > 0) + { + echo "

LÖSCHEN SIE DIESEN FILTER\n"; + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=321111111 modify call time definition info in the system +###################### + +if ($ADD==321111111) +{ +if ($LOGmodify_call_times==1) +{ + +if ( ($stage=="ADD") and (strlen($state_rule)>0) ) + { + $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_state_call_times = $row[0]; + + if (eregi("\|$",$ct_state_call_times)) + {$ct_state_call_times = "$ct_state_call_times$state_rule\|";} + else + {$ct_state_call_times = "$ct_state_call_times\|$state_rule\|";} + $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + echo "Landesrichtlinie hinzugefügt: $state_rule
\n"; + } +if ( ($stage=="REMOVE") and (strlen($state_rule)>0) ) + { + $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_state_call_times = $row[0]; + + $ct_state_call_times = eregi_replace("\|$state_rule\|",'|',$ct_state_call_times); + $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + echo "Landesrichlinie gelöscht: $state_rule
\n"; + } + +$ADD=311111111; +} +else +{ +echo "Sie haben nicht die Rechte, um diese Seite anzusehen. Bitte zurück gehen."; +} + +} + + +###################### +# ADD=311111111 modify call time definition info in the system +###################### + +if ($ADD==311111111) +{ + +if ($LOGmodify_call_times==1) +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +$ct_srs=1; +$b=0; +$srs_SQL =''; +if (strlen($ct_state_call_times)>2) + { + $state_rules = explode('|',$ct_state_call_times); + $ct_srs = ((count($state_rules)) - 1); + } +echo "\n"; +echo "\n"; +while($ct_srs >= $b) + { + if (strlen($state_rules[$b])>0) + { + $stmt="SELECT state_call_time_state,state_call_time_name from vicidial_state_call_times where state_call_time_id='$state_rules[$b]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + echo "\n"; + $srs_SQL .= "'$state_rules[$b]',"; + $srs_state_SQL .= "'$row[0]',"; + } + $b++; + } +if (strlen($srs_SQL)>2) + { + $srs_SQL = "$srs_SQL''"; + $srs_state_SQL = "$srs_state_SQL''"; + $srs_SQL = "where state_call_time_id NOT IN($srs_SQL) and state_call_time_state NOT IN($srs_state_SQL)"; + } +else + {$srs_SQL='';} +$stmt="SELECT state_call_time_id,state_call_time_name from vicidial_state_call_times $srs_SQL order by state_call_time_id;"; +$rslt=mysql_query($stmt, $link); +$sct_to_print = mysql_num_rows($rslt); +$sct_list=''; + +$o=0; +while ($sct_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $sct_list .= "\n"; + $o++; +} +echo "\n"; +echo "\n"; + +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $call_time_name = $row[1]; + $call_time_comments = $row[2]; + $ct_default_start = $row[3]; + $ct_default_stop = $row[4]; + $ct_sunday_start = $row[5]; + $ct_sunday_stop = $row[6]; + $ct_monday_start = $row[7]; + $ct_monday_stop = $row[8]; + $ct_tuesday_start = $row[9]; + $ct_tuesday_stop = $row[10]; + $ct_wednesday_start = $row[11]; + $ct_wednesday_stop = $row[12]; + $ct_thursday_start = $row[13]; + $ct_thursday_stop = $row[14]; + $ct_friday_start = $row[15]; + $ct_friday_stop = $row[16]; + $ct_saturday_start = $row[17]; + $ct_saturday_stop = $row[18]; + $ct_state_call_times = $row[19]; + +echo ""; + +echo "
Bearbeite eine Anrufzeit\n"; +echo "\n"; +echo "\n"; +echo "
Anrufzeit ID: $call_time_id$NWB#vicidial_call_times-call_time_id$NWE
Anrufzeit Name: (Kurze Beschreibung der Anrufzeit)$NWB#vicidial_call_times-call_time_name$NWE
Anrufzeit Kommentare: $NWB#vicidial_call_times-call_time_comments$NWE
Standard Start Standard Stop $NWB#vicidial_call_times-ct_default_start$NWE
Sonntag Start Sonntag Stop $NWB#vicidial_call_times-ct_sunday_start$NWE
Montag Start Montag Stop $NWB#vicidial_call_times-ct_sunday_start$NWE
Dienstag Start Dienstag Stop $NWB#vicidial_call_times-ct_sunday_start$NWE
Mittwoch Start Mittwoch Stop $NWB#vicidial_call_times-ct_sunday_start$NWE
Donnerstag Start Donnerstag Stop $NWB#vicidial_call_times-ct_sunday_start$NWE
Freitag Start Freitag Stop $NWB#vicidial_call_times-ct_sunday_start$NWE
Sonnabend Start Sonnabend Stop $NWB#vicidial_call_times-ct_sunday_start$NWE
Aktive landesspezifische Anrufzeit Definitionen für diese Aufnahme:  
$state_rules[$b] - REMOVE $row[0] - $row[1]
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "Add state call time rule:


\n"; +echo "Kampagnen, die diese Anrufzeit nutzen:
\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns where local_call_time='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]
\n"; +echo "INBOUND GROUPS USING THIS CALL TIME:
\n"; +echo "\n"; + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]
\n"; +echo "

\n"; + +if ($LOGdelete_call_times > 0) + { + echo "

Lösche diese Anrufzeit Definition\n"; + } +} +else +{ +echo "Sie haben nicht die Rechte, um diese Seite anzusehen. Bitte zurück gehen."; +} + +} + + +###################### +# ADD=3111111111 modify state call time definition info in the system +###################### + +if ($ADD==3111111111) +{ + +if ($LOGmodify_call_times==1) +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +echo "\n"; +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_state_call_times where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $state_call_time_state =$row[1]; + $call_time_name = $row[2]; + $call_time_comments = $row[3]; + $ct_default_start = $row[4]; + $ct_default_stop = $row[5]; + $ct_sunday_start = $row[6]; + $ct_sunday_stop = $row[7]; + $ct_monday_start = $row[8]; + $ct_monday_stop = $row[9]; + $ct_tuesday_start = $row[10]; + $ct_tuesday_stop = $row[11]; + $ct_wednesday_start = $row[12]; + $ct_wednesday_stop = $row[13]; + $ct_thursday_start = $row[14]; + $ct_thursday_stop = $row[15]; + $ct_friday_start = $row[16]; + $ct_friday_stop = $row[17]; + $ct_saturday_start = $row[18]; + $ct_saturday_stop = $row[19]; + +echo ""; + +echo "
Bearbeite eine landesspezifische Anrufzeit
\n"; +echo "\n"; +echo "\n"; +echo "
Anrufzeit ID: $call_time_id$NWB#vicidial_call_times-call_time_id$NWE
State Call Time State: $NWB#vicidial_call_times-state_call_time_state$NWE
Landesspezifischer Anrufzeiten Name: (Kurze Beschreibung der Anrufzeit)$NWB#vicidial_call_times-call_time_name$NWE
Landesspezifischer Anrufzeiten Kommentar: $NWB#vicidial_call_times-call_time_comments$NWE
Standard Start Standard Stop $NWB#vicidial_call_times-ct_default_start$NWE
Sonntag Start Sonntag Stop $NWB#vicidial_call_times-ct_sunday_start$NWE
Montag Start Montag Stop $NWB#vicidial_call_times-ct_sunday_start$NWE
Dienstag Start Dienstag Stop $NWB#vicidial_call_times-ct_sunday_start$NWE
Mittwoch Start Mittwoch Stop $NWB#vicidial_call_times-ct_sunday_start$NWE
Donnerstag Start Donnerstag Stop $NWB#vicidial_call_times-ct_sunday_start$NWE
Freitag Start Freitag Stop $NWB#vicidial_call_times-ct_sunday_start$NWE
Sonnabend Start Sonnabend Stop $NWB#vicidial_call_times-ct_sunday_start$NWE


\n"; +echo "Anrufzeiten, die diese landesspezifische Anrufzeit benutzen:
\n"; +echo "\n"; + + $stmt="SELECT call_time_id,call_time_name from vicidial_call_times where ct_state_call_times LIKE \"%|$call_time_id|%\";"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]
\n"; +echo "

\n"; + +if ($LOGdelete_call_times > 0) + { + echo "

Diese landesspezifische Anrufzeitdefinition löschen\n"; + } + +} +else +{ +echo "Sie haben nicht die Rechte, um diese Seite anzusehen. Bitte zurück gehen."; +} + +} + + +###################### +# ADD=31111111111 modify phone record in the system +###################### + +if ($ADD==31111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from phones where extension='$extension' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + echo "
ÄNDERN Sie Einen TELEFON-SATZ: $row[1]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Telefonverlängerung: $NWB#phones-extension$NWE
Dial Plan Zahl: (nur Stellen)$NWB#phones-dialplan_number$NWE
Voicemail Kasten: (nur Stellen)$NWB#phones-voicemail_id$NWE
Outbound CallerID: (nur Stellen)$NWB#phones-outbound_cid$NWE
Telefon-IP address: (optional)$NWB#phones-phone_ip$NWE
Computer-IP address: (optional)$NWB#phones-computer_ip$NWE
Bediener IP: $NWB#phones-server_ip$NWE
Login: $NWB#phones-login$NWE
Kennwort:$NWB#phones-pass$NWE
Status:$NWB#phones-status$NWE
Aktives Konto: $NWB#phones-active$NWE
Telefon-Art: $NWB#phones-phone_type$NWE
Voller Name: $NWB#phones-fullname$NWE
Firma:$NWB#phones-company$NWE
Abbildung:$NWB#phones-picture$NWE
Neue Anzeigen: $row[14]$NWB#phones-messages$NWE
Alte Anzeigen: $row[15]$NWB#phones-old_messages$NWE
Klient Protokoll: $NWB#phones-protocol$NWE
Lokales GMT: (Stellen Sie NICHT auf DST ein)$NWB#phones-local_gmt$NWE
Manager-LOGON: $NWB#phones-ASTmgrUSERNAME$NWE
Manager-Geheimnis: $NWB#phones-ASTmgrSECRET$NWE
VICIDIAL Rückstellung Benutzer: $NWB#phones-login_user$NWE
VICIDIAL Rückstellung Durchlauf: $NWB#phones-login_pass$NWE
VICIDIAL Rückstellung Kampagne: $NWB#phones-login_campaign$NWE
Park Exten: $NWB#phones-park_on_extension$NWE
Conf Exten: $NWB#phones-conf_on_extension$NWE
VICIDIAL Park Exten: $NWB#phones-VICIDIAL_park_on_extension$NWE
VICIDIAL Park-Akte: $NWB#phones-VICIDIAL_park_on_filename$NWE
Überwachen Sie Präfix: $NWB#phones-monitor_prefix$NWE
Aufnahme Exten: $NWB#phones-recording_exten$NWE
VMailMain Exten: $NWB#phones-voicemail_exten$NWE
VMailDump Exten: $NWB#phones-voicemail_dump_exten$NWE
Exten Kontext: $NWB#phones-ext_context$NWE
DTMFSend Führung: $NWB#phones-dtmf_send_extension$NWE
Outbound Anruf-Gruppe: $NWB#phones-call_out_number_group$NWE
Datenbanksuchroutine-Position: $NWB#phones-client_browser$NWE
Bringen Sie Verzeichnis An: $NWB#phones-install_directory$NWE
CallerID URL: $NWB#phones-local_web_callerID_URL$NWE
VICIDIAL Rückstellung URL: $NWB#phones-VICIDIAL_web_URL$NWE
Anruf-Protokollierung: $NWB#phones-AGI_call_logging_enabled$NWE
Benutzer-Schaltung: $NWB#phones-user_switching_enabled$NWE
Conferencing: $NWB#phones-conferencing_enabled$NWE
Admin Hängezustand: $NWB#phones-admin_hangup_enabled$NWE
Admin Straßenräuber: $NWB#phones-admin_hijack_enabled$NWE
Admin Monitor: $NWB#phones-admin_monitor_enabled$NWE
Parkschaltung: $NWB#phones-call_parking_enabled$NWE
Updater Überprüfung: $NWB#phones-updater_check_enabled$NWE
Af Protokollierung: $NWB#phones-AFLogging_enabled$NWE
Warteschlange Ermöglicht: $NWB#phones-QUEUE_ACTION_enabled$NWE
CallerID Popup: $NWB#phones-CallerID_popup_enabled$NWE
VMail Taste: $NWB#phones-voicemail_button_enabled$NWE
Schnell Erneuern Sie: $NWB#phones-enable_fast_refresh$NWE
Schnell Erneuern Sie Rate: (in ms)$NWB#phones-fast_refresh_rate$NWE
Persistant MySQL: $NWB#phones-enable_persistant_mysql$NWE
Selbstvorwahlknopf-Folgende Zahl: $NWB#phones-auto_dial_next_number$NWE
Stoppen Sie Rec nach jedem Anruf: $NWB#phones-VDstop_rec_after_each_call$NWE
Ermöglichen Sie SIPSAK Anzeigen: $NWB#phones-enable_sipsak_messages$NWE
DBX Bediener: (HauptsächlichDB Server)$NWB#phones-DBX_server$NWE
DBX Datenbank: (HauptsächlichServer Database)$NWB#phones-DBX_database$NWE
DBX Benutzer: (HauptsächlichDB Login)$NWB#phones-DBX_user$NWE
DBX Durchlauf: (HauptsächlichDB Secret)$NWB#phones-DBX_pass$NWE
DBX Tor: (HauptsächlichDB Port)$NWB#phones-DBX_port$NWE
DBY Bediener: (ZweitensDB Server)$NWB#phones-DBY_server$NWE
DBY Datenbank: (ZweitensServer Database)$NWB#phones-DBY_database$NWE
DBY Benutzer: (ZweitensDB Login)$NWB#phones-DBY_user$NWE
DBY Durchlauf: (ZweitensDB Secret)$NWB#phones-DBY_pass$NWE
DBY Tor: (ZweitensDB Port)$NWB#phones-DBY_port$NWE
\n"; + + echo "

Klicken Sie hier für Telefonnotfall\n"; + + if ($LOGast_delete_phones > 0) + { + echo "

LÖSCHEN SIE DIESES TELEFON\n"; + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=311111111111 modify server record in the system +###################### + +if ($ADD==311111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from servers where server_id='$server_id' or server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $server_id = $row[0]; + $server_ip = $row[2]; + + echo "
ÄNDERN Sie Einen BEDIENER-SATZ: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Bediener Identifikation: $NWB#servers-server_id$NWE
Bediener-Beschreibung: $NWB#servers-server_description$NWE
Bediener-IP address: $NWB#servers-server_ip$NWE
Aktiv:$NWB#servers-active$NWE
Sternchen-Version: $NWB#servers-asterisk_version$NWE
Maximale VICIDIAL Stämme: $NWB#servers-max_vicidial_trunks$NWE
VICIDIAL Balance Wählen: $NWB#servers-vicidial_balance_active$NWE
VICIDIAL Balance Offlimits: $NWB#servers-balance_trunks_offlimits$NWE
Telnet Wirt: $NWB#servers-telnet_host$NWE
Telnet Tor: $NWB#servers-telnet_port$NWE
Manager-Benutzer: $NWB#servers-ASTmgrUSERNAME$NWE
Manager-Geheimnis: $NWB#servers-ASTmgrSECRET$NWE
Manager-Update-Benutzer: $NWB#servers-ASTmgrUSERNAMEupdate$NWE
Manager Hören Benutzer: $NWB#servers-ASTmgrUSERNAMElisten$NWE
Manager Senden Benutzer: $NWB#servers-ASTmgrUSERNAMEsend$NWE
Lokales GMT: (Stellen Sie NICHT auf DST ein)$NWB#servers-local_gmt$NWE
VMail Dump Exten: $NWB#servers-voicemail_dump_exten$NWE
VICIDIAL ANZEIGE Verlängerung: $NWB#servers-answer_transfer_agent$NWE
Rückstellung Kontext: $NWB#servers-ext_context$NWE
System Leistung: $NWB#servers-sys_perf_log$NWE
Bediener-Maschinenbordbücher: $NWB#servers-vd_server_logs$NWE
AGI Ausgang: $NWB#servers-agi_output$NWE
\n"; + + + ### vicidial server trunk records for this server + echo "

VICIDIAL STÄMME FÜR DIESEN BEDIENER:   $NWB#vicidial_server_trunks$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_server_trunks where server_ip='$server_ip' order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $recycle_to_print = mysql_num_rows($rslt); + $o=0; + while ($recycle_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
KAMPAGNE STÄMME BESCHRÄNKUNG DELETE
$rowx[1]
\n"; + echo "\n"; + echo "\n"; + echo "
LÖSCHUNG
\n"; + + echo "
ADDIEREN SIE NEUEN STAMM-SATZ DES BEDIENER-VICIDIAL
\n"; + echo "\n"; + echo "\n"; + echo "TRUNKS:
\n"; + echo "KAMPAGNE:
\n"; + echo "RESTRICTION:
\n"; + echo "
\n"; + + echo "

\n"; + + + ### list of phones on this server + echo "
\n"; + echo "
TELEFONE INNERHALB DIESES BEDIENERS:
\n"; + echo "\n"; + echo "\n"; + + $active_phones = 0; + $inactive_phones = 0; + $stmt="SELECT extension,active,fullname from phones where server_ip='$row[2]'"; + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + if (ereg("Y", $rowx[1])) {$active_phones++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_phones++;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
VERLÄNGERUNGNAMEAKTIV
$rowx[0]$rowx[2]$rowx[1]

\n"; + + + ### list of conferences on this server + echo "
\n"; + echo "
CONFERENCES WITHIN THIS SERVER:
\n"; + echo "\n"; + echo "\n"; + + $active_confs = 0; + $stmt="SELECT conf_exten,extension from conferences where server_ip='$row[2]'"; + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + $active_confs++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
CONFERENCEVERLÄNGERUNG
$rowx[0]$rowx[2]

\n"; + + + ### list of vicidial conferences on this server + echo "
\n"; + echo "
VICIDIAL CONFERENCES WITHIN THIS SERVER:
\n"; + echo "\n"; + echo "\n"; + + $active_vdconfs = 0; + $stmt="SELECT conf_exten,extension from vicidial_conferences where server_ip='$row[2]'"; + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + $active_vdconfs++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
VD CONFERENCEVERLÄNGERUNG
$rowx[0]$rowx[2]

\n"; + + + echo "
\n"; + + $camp_lists = eregi_replace(".$","",$camp_lists); + echo "Dieser Bediener hat $active_phones aktive Telefone und $inactive_phones unaktivierte Telefone

\n"; + echo "Dieser Bediener hat $active_confs active conferences

\n"; + echo "Dieser Bediener hat $active_vdconfs active vicidial conferences

\n"; + echo "
\n"; + if ($LOGast_delete_phones > 0) + { + echo "

DELETE THIS SERVER\n"; + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=3111111111111 modify conference record in the system +###################### + +if ($ADD==3111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $conf_exten = $row[0]; + $server_ip = $row[1]; + + echo "
ÄNDERN Sie Einen KONFERENZ-SATZ: $row[0]
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Konferenz:$NWB#conferences-conf_exten$NWE
Bediener IP: $NWB#conferences-server_ip$NWE
Gegenwärtige Verlängerung:
\n"; + + echo "
\n"; + if ($LOGast_delete_phones > 0) + { + echo "

DELETE THIS CONFERENCE\n"; + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + +###################### +# ADD=31111111111111 modify vicidial conference record in the system +###################### + +if ($ADD==31111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $conf_exten = $row[0]; + $server_ip = $row[1]; + + echo "
MODIFY A VICIDIAL CONFERENCE RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Konferenz:$NWB#conferences-conf_exten$NWE
Bediener IP: $NWB#conferences-server_ip$NWE
Gegenwärtige Verlängerung:
\n"; + + echo "
\n"; + if ($LOGast_delete_phones > 0) + { + echo "

DELETE THIS VICIDIAL CONFERENCE\n"; + } + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + + +###################### +# ADD=311111111111111 modify vicidial system settings +###################### + +if ($ADD==311111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT version,install_date,use_non_latin,webroot_writable,enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_url,queuemetrics_log_id,queuemetrics_eq_prepend,vicidial_agent_disable,allow_sipsak_messages,admin_home_url,enable_agc_xfer_log from system_settings;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $version = $row[0]; + $install_date = $row[1]; + $use_non_latin = $row[2]; + $webroot_writable = $row[3]; + $enable_queuemetrics_logging = $row[4]; + $queuemetrics_server_ip = $row[5]; + $queuemetrics_dbname = $row[6]; + $queuemetrics_login = $row[7]; + $queuemetrics_pass = $row[8]; + $queuemetrics_url = $row[9]; + $queuemetrics_log_id = $row[10]; + $queuemetrics_eq_prepend = $row[11]; + $vicidial_agent_disable = $row[12]; + $allow_sipsak_messages = $row[13]; + $admin_home_url = $row[14]; + $enable_agc_xfer_log = $row[15]; + + echo "
ÄNDERN SIE VICIDIAL SYSTEM EINSTELLUNGEN\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
Version: $version
Install Date: $install_date
Gebrauch Nicht-Lateinisch: $NWB#settings-use_non_latin$NWE
Webroot Schreibbar: $NWB#settings-webroot_writable$NWE
Ermöglichen Sie Der QueueMetrics Protokollierung: $NWB#settings-enable_queuemetrics_logging$NWE
QueueMetrics Bediener IP: $NWB#settings-queuemetrics_server_ip$NWE
QueueMetrics DB Name: $NWB#settings-queuemetrics_dbname$NWE
QueueMetrics DB LOGON: $NWB#settings-queuemetrics_login$NWE
QueueMetrics DB Kennwort: $NWB#settings-queuemetrics_pass$NWE
QueueMetrics URL: $NWB#settings-queuemetrics_url$NWE
QueueMetrics Maschinenbordbuch Identifikation:$NWB#settings-queuemetrics_log_id$NWE
QueueMetrics EnterQueue Stellen Voran: $NWB#settings-queuemetrics_eq_prepend$NWE
VICIDIAL Mittel Sperren Anzeige: $NWB#settings-vicidial_agent_disable$NWE
Erlauben Sie SIPSAK Anzeigen: $NWB#settings-allow_sipsak_messages$NWE
Admin Haupt-URL: $NWB#settings-admin_home_url$NWE
Ermöglichen Sie Vertreter-Übergangsprotokolldatei: $NWB#settings-enable_agc_xfer_log$NWE
\n"; + echo "\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + + + + + +###################### +# ADD=321111111111111 modify vicidial system statuses +###################### + +if ($ADD==321111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + echo "
\n"; + echo "VICIDIAL STATUS INNERHALB DIESES SYSTEMS:  $NWB#vicidial_statuses$NWE
\n"; + echo "\n"; + echo "\n"; + + ##### get status category listings for dynamic pulldown + $stmt="SELECT vsc_id,vsc_name from vicidial_status_categories order by vsc_id desc"; + $rslt=mysql_query($stmt, $link); + $cats_to_print = mysql_num_rows($rslt); + $cats_list=""; + + $o=0; + while ($cats_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $cats_list .= "\n"; + $catsname_list["$rowx[0]"] = substr($rowx[1],0,20); + $o++; + } + + + $stmt="SELECT * from vicidial_statuses order by status;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AScategory = $rowx[4]; + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
STATUSBESCHREIBUNGSELECT-
ABLE
HUMAN
ANSWER
CATEGORYMODIFY/DELETE
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
\n"; + echo "\n"; + echo "         \n"; + echo "   \n"; + + if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) + { + echo "LÖSCHUNG\n"; + } + else + { + echo "LÖSCHUNG\n"; + } + echo "
\n"; + + echo "
ADDIEREN SIE NEUEN SYSTEMSTATUS
\n"; + echo "\n"; + echo "Status:   \n"; + echo "Beschreibung:
\n"; + echo "Auswählbar:   \n"; + echo "Human Answer:   \n"; + echo "Kategorie:\n"; + echo "  
\n"; + echo "
\n"; + + echo "

\n"; + + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + + + + +###################### +# ADD=331111111111111 modify vicidial status categories +###################### + +if ($ADD==331111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + echo "
\n"; + echo "VICIDIAL STATUS CATEGORIES:   $NWB#vicidial_status_categories$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_status_categories order by vsc_id;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + + $Avsc_id[$o] = $rowx[0]; + $Avsc_name[$o] = $rowx[1]; + $Avsc_description[$o] = $rowx[2]; + $Atovdad_display[$o] = $rowx[3]; + + $o++; + } + $p=0; + while ($o > $p) + { + if (eregi("1$|3$|5$|7$|9$", $p)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $CATstatuses=''; + $stmt="SELECT status from vicidial_statuses where category='$Avsc_id[$p]' order by status;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $q=0; + while ($statuses_to_print > $q) + { + $rowx=mysql_fetch_row($rslt); + $CATstatuses.=" $rowx[0]"; + $q++; + } + $stmt="SELECT status from vicidial_campaign_statuses where category='$Avsc_id[$p]' order by status;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $q=0; + while ($statuses_to_print > $q) + { + $rowx=mysql_fetch_row($rslt); + $CATstatuses.=" $rowx[0]"; + $q++; + } + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $p++; + } + + echo "
CATEGORYNAMETOVDADSTATUSES IN THIS CATEGORY
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$Avsc_id[$p]
\n"; + echo "$CATstatuses"; + echo "
Beschreibung:
        \n"; + echo "   LÖSCHUNG
 
\n"; + + echo "
ADDIEREN SIE NEUE STATUS-KATEGORIE
\n"; + echo "\n"; + echo "Category ID:   \n"; + echo "Name:   \n"; + echo "TimeOnVDAD Display:  
\n"; + echo "Beschreibung:   \n"; + echo "
\n"; + + echo "

\n"; + + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + + + + + +###################### +# ADD=550 search form +###################### + +if ($ADD==550) +{ +echo "
\n"; +echo ""; + +echo "
SUCHE NACH Einem BENUTZER
\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +echo "\n"; +echo "
Benutzer-Zahl:
Voller Name:
Benutzer-Niveau:
Benutzer-Gruppe:
\n"; + +} + +###################### +# ADD=660 user search results +###################### + +if ($ADD==660) +{ +echo "
\n"; + echo ""; + + $SQL = ''; + if ($user) {$SQL .= " user LIKE \"%$user%\" and";} + if ($full_name) {$SQL .= " full_name LIKE \"%$full_name%\" and";} + if ($user_level > 0) {$SQL .= " user_level LIKE \"%$user_level%\" and";} + if ($user_group) {$SQL .= " user_group = '$user_group' and";} + $SQL = eregi_replace(" and$", "", $SQL); + if (strlen($SQL)>5) {$SQL = "where $SQL";} + + $stmt="SELECT * from vicidial_users $SQL order by full_name desc;"; +# echo "\n|$stmt|\n"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
SUCHRESULTATE:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[1]$row[3]$row[4]$row[5]ÄNDERN Sie | Notfall | STATUS | TIME
\n"; + +} + + +###################################################################################################### +###################################################################################################### +####### 8 series, Callback lists +###################################################################################################### +###################################################################################################### + +###################### +# ADD=8 find all callbacks on hold by a User +###################### +if ($ADD==8) +{ + if ($LOGmodify_users==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user='$user' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
User($user) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user='$user' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
User($user) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } +$CBinactiveLINK = "
Remove LIVE Callbacks older than one month for this user
Remove LIVE Callbacks older than one week for this user
"; + +echo ""; + + $CBquerySQLwhere = "and user='$user'"; + +echo "
USER CALLBACK HOLD LISTINGS: $user\n"; +$oldADD = "ADD=8&user=$user"; +$ADD='82'; +} + +###################### +# ADD=81 find all callbacks on hold within a Campaign +###################### +if ($ADD==81) +{ + if ($LOGmodify_campaigns==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where campaign_id='$campaign_id' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
campaign($campaign_id) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where campaign_id='$campaign_id' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
campaign($campaign_id) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } +$CBinactiveLINK = "
Remove LIVE Callbacks older than one month for this campaign
Remove LIVE Callbacks older than one week for this campaign
"; + +echo ""; + + $CBquerySQLwhere = "and campaign_id='$campaign_id'"; + +echo "
CAMPAIGN CALLBACK HOLD LISTINGS: $campaign_id\n"; +$oldADD = "ADD=81&campaign_id=$campaign_id"; +$ADD='82'; +} + +###################### +# ADD=811 find all callbacks on hold within a List +###################### +if ($ADD==811) +{ + if ($LOGmodify_lists==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where list_id='$list_id' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
list($list_id) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where list_id='$list_id' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
list($list_id) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } +$CBinactiveLINK = "
Remove LIVE Callbacks older than one month for this list
Remove LIVE Callbacks older than one week for this list
"; + +echo ""; + + $CBquerySQLwhere = "and list_id='$list_id'"; + +echo "
LIST CALLBACK HOLD LISTINGS: $list_id\n"; +$oldADD = "ADD=811&list_id=$list_id"; +$ADD='82'; +} + +###################### +# ADD=8111 find all callbacks on hold within a user group +###################### +if ($ADD==8111) +{ + if ($LOGmodify_usergroups==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user_group='$user_group' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
user group($user_group) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user_group='$user_group' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
user group($user_group) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } + $CBinactiveLINK = "
Remove LIVE Callbacks older than one month for this user group
Remove LIVE Callbacks older than one week for this user group
"; + + echo ""; + + $CBquerySQLwhere = "and user_group='$user_group'"; + +echo "
USER GROUP CALLBACK HOLD LISTINGS: $list_id\n"; +$oldADD = "ADD=8111&user_group=$user_group"; +$ADD='82'; +} + +###################### +# ADD=82 display all callbacks on hold +###################### +if ($ADD==82) +{ + +$USERlink='stage=USERIDDOWN'; +$GROUPlink='stage=GROUPDOWN'; +$ENDATElink='stage=ENDATEDOWN'; +$SQLorder='order by '; +if (eregi("USERIDDOWN",$stage)) {$SQLorder='order by user desc,'; $USERlink='stage=USERIDUP';} +if (eregi("GROUPDOWN",$stage)) {$SQLorder='order by user_group desc,'; $NAMElink='stage=NAMEUP';} +if (eregi("ENDATEDOWN",$stage)) {$SQLorder='order by entry_time desc,'; $LEVELlink='stage=LEVELUP';} + + $stmt="SELECT * from vicidial_callbacks where status IN('ACTIVE','LIVE') $CBquerySQLwhere $SQLorder recipient,status desc,callback_time"; + $rslt=mysql_query($stmt, $link); + $cb_to_print = mysql_num_rows($rslt); + +echo "
\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $o=0; + while ($cb_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
LEADLIST KAMPAGNEENTRYDATUMCALLBACKDATUMUSERRECIPIENTSTATUSGROUP
$row[1]$row[2]$row[3]$row[5]$row[6]$row[8]$row[9]$row[4]$row[11]
\n"; + +echo "$CBinactiveLINK"; +} + + + +###################################################################################################### +###################################################################################################### +####### 0 series, displays and searches +###################################################################################################### +###################################################################################################### + +###################### +# ADD=0 display all active users +###################### +if ($ADD==0) +{ +echo "
\n"; +echo ""; + +$USERlink='stage=USERIDDOWN'; +$NAMElink='stage=NAMEDOWN'; +$LEVELlink='stage=LEVELDOWN'; +$GROUPlink='stage=GROUPDOWN'; +$SQLorder='order by full_name'; +if (eregi("USERIDUP",$stage)) {$SQLorder='order by user asc'; $USERlink='stage=USERIDDOWN';} +if (eregi("USERIDDOWN",$stage)) {$SQLorder='order by user desc'; $USERlink='stage=USERIDUP';} +if (eregi("NAMEUP",$stage)) {$SQLorder='order by full_name asc'; $NAMElink='stage=NAMEDOWN';} +if (eregi("NAMEDOWN",$stage)) {$SQLorder='order by full_name desc'; $NAMElink='stage=NAMEUP';} +if (eregi("LEVELUP",$stage)) {$SQLorder='order by user_level asc'; $LEVELlink='stage=LEVELDOWN';} +if (eregi("LEVELDOWN",$stage)) {$SQLorder='order by user_level desc'; $LEVELlink='stage=LEVELUP';} +if (eregi("GROUPUP",$stage)) {$SQLorder='order by user_group asc'; $GROUPlink='stage=GROUPDOWN';} +if (eregi("GROUPDOWN",$stage)) {$SQLorder='order by user_group desc'; $GROUPlink='stage=GROUPUP';} + $stmt="SELECT * from vicidial_users $SQLorder"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
BENUTZER-AUFLISTUNGEN:\n"; +echo "
\n"; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + $o++; + } + +echo "
USER IDFULL NAMELEVELGROUPLINKS
$row[1]$row[3]$row[4]$row[5]ÄNDERN Sie | Notfall | STATUS | TIME
\n"; +} + +###################### +# ADD=10 display all campaigns +###################### +if ($ADD==10) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
KAMPAGNE AUFLISTUNGEN:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2] $row[3]$row[4]$row[5] $row[6]$row[7]  ÄNDERN Sie
\n"; +} + + +###################### +# ADD=100 display all lists +###################### +if ($ADD==100) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_lists order by list_id"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
LISTE AUFLISTUNGEN:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2]$row[4]$row[5] $row[3]$row[7]  ÄNDERN Sie
\n"; +} + + + +###################### +# ADD=1000 display all inbound groups +###################### +if ($ADD==1000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
INBOUND GRUPPE AUFLISTUNGEN:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[3] $row[5]  ÄNDERN Sie
\n"; +} + + +###################### +# ADD=10000 display all remote agents +###################### +if ($ADD==10000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_remote_agents order by server_ip,campaign_id,user_start"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
REMOTEMITTEL-AUFLISTUNGEN:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[1] $row[2] $row[3] $row[4] $row[5] $row[6]ÄNDERN Sie
\n"; +} + + +###################### +# ADD=100000 display all user groups +###################### +if ($ADD==100000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_user_groups order by user_group"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
BENUTZER-GRUPPEN AUFLISTUNGEN:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]ÄNDERN Sie
\n"; +} + + +###################### +# ADD=1000000 display all scripts +###################### +if ($ADD==1000000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_scripts order by script_id"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
INDEX-AUFLISTUNGEN:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]ÄNDERN Sie
\n"; +} + + +###################### +# ADD=10000000 display all filters +###################### +if ($ADD==10000000) +{ +echo "
\n"; + + echo ""; + + $stmt="SELECT * from vicidial_lead_filters order by lead_filter_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + +echo "
LEITUNG FILTER-AUFLISTUNGEN:\n"; +echo "
\n"; + + $o=0; + while ($filters_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]ÄNDERN Sie
\n"; +} + + +###################### +# ADD=100000000 display all call times +###################### +if ($ADD==100000000) +{ +echo "
\n"; + + echo ""; + + $stmt="SELECT * from vicidial_call_times order by call_time_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + +echo "
Anrufzeiten Liste:\n"; +echo "
\n"; + + $o=0; + while ($filters_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[3] $row[4] ÄNDERN Sie
\n"; +} + +###################### +# ADD=1000000000 display all state call times +###################### +if ($ADD==1000000000) +{ +echo "
\n"; + + echo ""; + + $stmt="SELECT * from vicidial_state_call_times order by state_call_time_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + +echo "
Liste der landesspezifische Anrufzeiten:\n"; +echo "
\n"; + + $o=0; + while ($filters_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2] $row[3] $row[4] ÄNDERN Sie
\n"; +} + +###################### +# ADD=10000000000 display all phones +###################### +if ($ADD==10000000000) +{ +echo "
\n"; +echo ""; + +$EXTENlink='stage=EXTENDOWN'; +$PROTOlink='stage=PROTODOWN'; +$SERVERlink='stage=SERVERDOWN'; +$STATUSlink='stage=STATUSDOWN'; +$SQLorder='order by extension,server_ip'; +if (eregi("EXTENUP",$stage)) {$SQLorder='order by extension asc'; $EXTENlink='stage=EXTENDOWN';} +if (eregi("EXTENDOWN",$stage)) {$SQLorder='order by extension desc'; $EXTENlink='stage=EXTENUP';} +if (eregi("PROTOUP",$stage)) {$SQLorder='order by protocol asc'; $PROTOlink='stage=PROTODOWN';} +if (eregi("PROTODOWN",$stage)) {$SQLorder='order by protocol desc'; $PROTOlink='stage=PROTOUP';} +if (eregi("SERVERUP",$stage)) {$SQLorder='order by server_ip asc'; $SERVERlink='stage=SERVERDOWN';} +if (eregi("SERVERDOWN",$stage)) {$SQLorder='order by server_ip desc'; $SERVERlink='stage=SERVERUP';} +if (eregi("STATUSUP",$stage)) {$SQLorder='order by status asc'; $STATUSlink='stage=STATUSDOWN';} +if (eregi("STATUSDOWN",$stage)) {$SQLorder='order by status desc'; $STATUSlink='stage=STATUSUP';} + $stmt="SELECT * from phones $SQLorder"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
TELEFON-AUFLISTUNGEN:\n"; +echo "
\n"; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "\n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + $o++; + } + +echo "
EXTENPROTOSERVERDIAL PLANSTATUSNAMEVMAILLINKS
$row[0]$row[16]$row[5]$row[1]$row[2]$row[8]$row[11]$row[14]$row[15]ÄNDERN Sie | Notfall
\n"; +} + +###################### +# ADD=100000000000 display all servers +###################### +if ($ADD==100000000000) +{ +echo "\n";echo "\n"; +$stmt="SELECT admin_home_url from system_settings;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$admin_home_url_LU = $row[0]; + +?> +
+
\n"; + echo ""; + + $stmt="SELECT * from servers order by server_id"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
BEDIENER-AUFLISTUNGEN:\n"; +echo "
\n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0]$row[1] $row[2] $row[4] $row[3]  ÄNDERN Sie
\n"; +} + +###################### +# ADD=1000000000000 display all conferences +###################### +if ($ADD==1000000000000) +{ +echo "\r\n"; + print " \r\n"; + } + $rec_count++; + } +$sthA->finish(); + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/listloader_super.pl b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/listloader_super.pl new file mode 100644 index 00000000..167fff5e --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/listloader_super.pl @@ -0,0 +1,1086 @@ +#!/usr/bin/perl + +### listloader_super.pl version 0.4 *DBI-version* +### +### Copyright (C) 2007 Matt Florell,Joe Johnson LICENSE: GPLv2 +### +# +# +# CHANGES +# 60616-1548 - Added listID override feature to force all leads into same list +# - Added gmt_offset_now lookup for each lead +# 60811-1232 - Changed to DBI +# 60811-1329 - changed to use /etc/astguiclient.conf for configs +# 60906-1056 - added filter of non-digits in alt_phone field +# 61110-1229 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1207 - added postal code GMT lookup and duplicate check options +# 70205-1703 - Defaulted phone_code to 1 if not populated +# 70417-1059 - Fixed default phone_code bug +# 70510-1518 - Added campaign and system duplicate check and phonecode override +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n [-forcelistid=1234] = overrides the listID given in the file with the 1234\n [-h] = this help screen\n\n"; + + exit; + } + else + { + if ($args =~ /-duplicate-check/i) + {$dupcheck=1;} + if ($args =~ /-duplicate-campaign-check/i) + {$dupcheckcamp=1;} + if ($args =~ /-duplicate-system-check/i) + {$dupchecksys=1;} + if ($args =~ /-postal-code-gmt/i) + {$postalgmt=1;} + if ($args =~ /--forcelistid=/i) + { + @data_in = split(/--forcelistid=/,$args); + $forcelistid = $data_in[1]; + $forcelistid =~ s/ .*//gi; + print "\n----- FORCE LISTID OVERRIDE: $forcelistid -----\n\n"; + } + else + {$forcelistid = '';} + + if ($args =~ /--forcephonecode=/i) + { + @data_in = split(/--forcephonecode=/,$args); + $forcephonecode = $data_in[1]; + $forcephonecode =~ s/ .*//gi; + print "\n----- FORCE PHONECODE OVERRIDE: $forcephonecode -----\n\n"; + } + else + {$forcephonecode = '';} + + if ($args =~ /--lead-file=/i) + { + @data_in = split(/--lead-file=/,$args); + $lead_file = $data_in[1]; + $lead_file =~ s/ .*//gi; + # print "\n----- LEAD FILE: $lead_file -----\n\n"; + } + else + {$lead_file = './vicidial_temp_file.xls';} + } +} +### end parsing run-time options ### + +use Spreadsheet::ParseExcel; +use Time::Local; +use DBI; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +$vars=$ARGV[0]; +@xls_fields=split(/\,/, $vars); + +$|=0; +$secX = time(); + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$pulldate="$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + + ### Grab Server values from the database + $stmtA = "SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBSERVER_GMT = "$aryA[0]"; + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + $rec_count++; + } + $sthA->finish(); + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +if ($isdst) {$LOCAL_GMT_OFF++;} +if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + + + +$total=0; $good=0; $bad=0; +open(STMT_FILE, "> $PATHlogs/listloader_stmts.txt"); + +$oBook = Spreadsheet::ParseExcel::Workbook->Parse("$lead_file"); +my($iR, $iC, $oWkS, $oWkC); + +foreach $oWkS (@{$oBook->{Worksheet}}) { + for($iR = 0 ; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++) { + + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user = ""; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[0]]; + if ($oWkC) {$vendor_lead_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[1]]; + if ($oWkC) {$source_code=$oWkC->Value; } + $source_id=$source_code; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[2]]; + if ($oWkC) {$list_id=$oWkC->Value; } + $gmt_offset = '0'; + $called_since_last_reset='N'; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[3]]; + if ($oWkC) {$phone_code=$oWkC->Value; } + $phone_code=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[4]]; + if ($oWkC) {$phone_number=$oWkC->Value; } + $phone_number=~s/[^0-9]//g; + $USarea = substr($phone_number, 0, 3); + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[5]]; + if ($oWkC) {$title=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[6]]; + if ($oWkC) {$first_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[7]]; + if ($oWkC) {$middle_initial=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[8]]; + if ($oWkC) {$last_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[9]]; + if ($oWkC) {$address1=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[10]]; + if ($oWkC) {$address2=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[11]]; + if ($oWkC) {$address3=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[12]]; + if ($oWkC) {$city=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[13]]; + if ($oWkC) {$state=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[14]]; + if ($oWkC) {$province=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[15]]; + if ($oWkC) {$postal_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[16]]; + if ($oWkC) {$country_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[17]]; + if ($oWkC) {$gender=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[18]]; + if ($oWkC) {$date_of_birth=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[19]]; + if ($oWkC) {$alt_phone=$oWkC->Value; } + $alt_phone=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[20]]; + if ($oWkC) {$email=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[21]]; + if ($oWkC) {$security_phrase=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[22]]; + if ($oWkC) {$comments=$oWkC->Value; } + $comments=~s/^\s*(.*?)\s*$/$1/; + + + + if (length($forcelistid) > 0) + { + $list_id = $forcelistid; # set list_id to override value + } + if (length($forcephonecode) > 0) + { + $phone_code = $forcephonecode; # set phone_code to override value + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if ($dupchecksys > 0) + { + $dup_lead=0; + $stmtA = "select count(*) from vicidial_list where phone_number='$phone_number';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead = $aryA[0]; + $dup_lead_list=$list_id; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if ($dupcheck > 0) + { + $dup_lead=0; + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id='$list_id' limit 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = $aryA[0]; + $dup_lead++; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if ($dupcheckcamp > 0) + { + $dup_lead=0; + $dup_lists=''; + + $stmtA = "select count(*) from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $ci_recs = $aryA[0]; + $sthA->finish(); + if ($ci_recs > 0) + { + $stmtA = "select campaign_id from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $dup_camp = $aryA[0]; + $sthA->finish(); + + $stmtA = "select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lists .= "'$aryA[0]',"; + $rec_count++; + } + $sthA->finish(); + + chop($dup_lists); + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = "'$aryA[0]',"; + $rec_count++; + $dup_lead=1; + } + $sthA->finish(); + } + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + + if ( (length($phone_number)>6) && ($dup_lead < 1) ) + { + $phone_list .= "$phone_number$US$list_id|"; + $postalgmt_found=0; + if (length($phone_code)<1) {$phone_code = '1';} + + if ( ($postalgmt > 0) && (length($postal_code)>4) ) + { + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[2]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[3]; + $dst_range = $aryA[4]; + $PC_processed++; + $rec_count++; + $postalgmt_found++; + if ($DBX) {print " Postal GMT record found for $postal_code: |$gmt_offset|$dst|$dst_range|\n";} + } + $sthA->finish(); + } + } + if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### MEXICO ### + if ($phone_code =~ /^52$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### AUSTRALIA ### + if ($phone_code =~ /^61$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + } + + ### Find out if DST to raise the gmt offset ### + $AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); + $AC_localtime = ($secX + (3600 * $AC_GMT_diff)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($AC_localtime); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + $AC_processed=0; + + if ( (!$AC_processed) && ($dst_range =~ /SSM-FSN/) ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + &USACAN_dstcalc; + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSA-LSO/) ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + &NA_dstcalc; + if ($DBX) {print " DST: $NA_DST\n";} + if ($NA_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSM-LSO/) ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + &GBR_dstcalc; + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSO-LSM/) ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + &AUS_dstcalc; + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-LSM/) ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + &AUST_dstcalc; + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-TSM/) ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + &NZL_dstcalc; + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /TSO-LSF/) ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + &BZL_dstcalc; + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$area_GMT++;} + $AC_processed++; + } + if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| $dup_lead_list\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + sleep(1); +# flush(); + } + } +} + +if ($multi_insert_counter > 0) { + $stmtZ = "INSERT INTO vicidial_list values ".substr($multistmt, 0, -1).";"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; +} + +print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total"; + +exit; + + + + + + +sub USACAN_dstcalc { +#********************************************************************** +# SSM-FSN +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on Second Sunday March to First Sunday November at 2 am. +# INPUTS: +# mm INTEGER Month. +# dd INTEGER Day of the month. +# ns INTEGER Seconds into the day. +# dow INTEGER Day of week (0=Sunday, to 6=Saturday) +# OPTIONAL INPUT: +# timezone INTEGER hour difference UTC - local standard time +# (DEFAULT is blank) +# make calculations based on UTC time, +# which means shift at 10:00 UTC in April +# and 9:00 UTC in October +# OUTPUT: +# INTEGER 1 = DST, 0 = not DST +# +# S M T W T F S +# 1 2 3 4 5 6 7 +# 8 9 10 11 12 13 14 +#15 16 17 18 19 20 21 +#22 23 24 25 26 27 28 +#29 30 31 +# +# S M T W T F S +# 1 2 3 4 5 6 +# 7 8 9 10 11 12 13 +#14 15 16 17 18 19 20 +#21 22 23 24 25 26 27 +#28 29 30 31 +# +#********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 10) { + $USACAN_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; return 1; + } elsif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } + } else { + $USACAN_DST=0; return 0; + } + } elsif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; return 0; + } elsif ($dd < ($dow+1)) { + $USACAN_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } + } else { + $USACAN_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub NA_dstcalc { +#********************************************************************** +# FSA-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in April and last Sunday in October at 2 am. +#********************************************************************** + + $NA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $NA_DST=0; return 0; + } elsif ($mm >= 5 && $mm <= 9) { + $NA_DST=1; return 1; + } elsif ($mm == 4) { + if ($dd > 7) { + $NA_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } + } else { + $NA_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $NA_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $NA_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } + } else { + $NA_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub GBR_dstcalc { +#********************************************************************** +# LSM-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in March and last Sunday in October at 1 am. +#********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 9) { + $GBR_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $GBR_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } + } else { + $GBR_DST=1; return 1; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $GBR_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } + } else { + $GBR_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub AUS_dstcalc { +#********************************************************************** +# LSO-LSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUS_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUS_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } + } else { + $AUS_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $AUS_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } + } else { + $AUS_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub AUST_dstcalc { +#********************************************************************** +# FSO-LSM +# TASMANIA ONLY +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUST_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUST_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } + } else { + $AUST_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $AUST_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } + } else { + $AUST_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub NZL_dstcalc { +#********************************************************************** +# FSO-TSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and third Sunday in March at 1 am. +#********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $NZL_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; return 1; + } elsif ($dd < ($dow+14)) { + $NZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } + } else { + $NZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $NZL_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } + } else { + $NZL_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub BZL_dstcalc { +#********************************************************************** +# TSO-LSF +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. Brazil +# Based on Third Sunday October to Last Sunday February at 1 am. +#********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; return 1; + } elsif ($mm >= 3 && $mm <= 9) { + $BZL_DST=0; return 0; + } elsif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; return 1; + } elsif ($dd < ($dow+22)) { + $BZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } + } else { + $BZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; return 0; + } elsif ($dd < ($dow+22)) { + $BZL_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } + } else { + $BZL_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/new_listloader_superL.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/new_listloader_superL.php new file mode 100644 index 00000000..bdd3feb9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/new_listloader_superL.php @@ -0,0 +1,2069 @@ + LICENSE: GPLv2 +# +# AST GUI lead loader from formatted file +# +# CHANGES +# 50602-1640 - First version created by Joe Johnson +# 51128-1108 - Removed PHP global vars requirement +# 60113-1603 - Fixed a few bugs in Excel import +# 60421-1624 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60616-1240 - added listID override +# 60616-1604 - added gmt lookup for each lead +# 60619-1651 - Added variable filtering to eliminate SQL injection attack threat +# 60822-1121 - fixed for nonwritable directories +# 60906-1100 - added filter of non-digits in alt_phone field +# 61110-1222 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1149 - added postal code GMT lookup and duplicate check options +# 70417-1059 - Fixed default phone_code bug +# 70510-1518 - Added campaign and system duplicate check and phonecode override +# +# make sure vicidial_list exists and that your file follows the formatting correctly. This page does not dedupe or do any other lead filtering actions yet at this time. + +$version = '2.0.4'; +$build = '70510-1518'; + + +require("dbconnect.php"); + +### links used for testing +#$link=mysql_connect("10.10.10.15", "cron", "1234"); +#mysql_select_db("asterisk"); +#$WeBServeRRooT = '/home/www/htdocs'; + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +$leadfile=$_FILES["leadfile"]; + $LF_orig = $_FILES['leadfile']['name']; + $LF_path = $_FILES['leadfile']['tmp_name']; +if (isset($_GET["submit_file"])) {$submit_file=$_GET["submit_file"];} + elseif (isset($_POST["submit_file"])) {$submit_file=$_POST["submit_file"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["leadfile_name"])) {$leadfile_name=$_GET["leadfile_name"];} + elseif (isset($_POST["leadfile_name"])) {$leadfile_name=$_POST["leadfile_name"];} +if (isset($_GET["file_layout"])) {$file_layout=$_GET["file_layout"];} + elseif (isset($_POST["file_layout"])) {$file_layout=$_POST["file_layout"];} +if (isset($_GET["OK_to_process"])) {$OK_to_process=$_GET["OK_to_process"];} + elseif (isset($_POST["OK_to_process"])) {$OK_to_process=$_POST["OK_to_process"];} +if (isset($_GET["vendor_lead_code_field"])) {$vendor_lead_code_field=$_GET["vendor_lead_code_field"];} + elseif (isset($_POST["vendor_lead_code_field"])) {$vendor_lead_code_field=$_POST["vendor_lead_code_field"];} +if (isset($_GET["source_id_field"])) {$source_id_field=$_GET["source_id_field"];} + elseif (isset($_POST["source_id_field"])) {$source_id_field=$_POST["source_id_field"];} +if (isset($_GET["list_id_field"])) {$list_id_field=$_GET["list_id_field"];} + elseif (isset($_POST["list_id_field"])) {$list_id_field=$_POST["list_id_field"];} +if (isset($_GET["phone_code_field"])) {$phone_code_field=$_GET["phone_code_field"];} + elseif (isset($_POST["phone_code_field"])) {$phone_code_field=$_POST["phone_code_field"];} +if (isset($_GET["phone_number_field"])) {$phone_number_field=$_GET["phone_number_field"];} + elseif (isset($_POST["phone_number_field"])) {$phone_number_field=$_POST["phone_number_field"];} +if (isset($_GET["title_field"])) {$title_field=$_GET["title_field"];} + elseif (isset($_POST["title_field"])) {$title_field=$_POST["title_field"];} +if (isset($_GET["first_name_field"])) {$first_name_field=$_GET["first_name_field"];} + elseif (isset($_POST["first_name_field"])) {$first_name_field=$_POST["first_name_field"];} +if (isset($_GET["middle_initial_field"])) {$middle_initial_field=$_GET["middle_initial_field"];} + elseif (isset($_POST["middle_initial_field"])) {$middle_initial_field=$_POST["middle_initial_field"];} +if (isset($_GET["last_name_field"])) {$last_name_field=$_GET["last_name_field"];} + elseif (isset($_POST["last_name_field"])) {$last_name_field=$_POST["last_name_field"];} +if (isset($_GET["address1_field"])) {$address1_field=$_GET["address1_field"];} + elseif (isset($_POST["address1_field"])) {$address1_field=$_POST["address1_field"];} +if (isset($_GET["address2_field"])) {$address2_field=$_GET["address2_field"];} + elseif (isset($_POST["address2_field"])) {$address2_field=$_POST["address2_field"];} +if (isset($_GET["address3_field"])) {$address3_field=$_GET["address3_field"];} + elseif (isset($_POST["address3_field"])) {$address3_field=$_POST["address3_field"];} +if (isset($_GET["city_field"])) {$city_field=$_GET["city_field"];} + elseif (isset($_POST["city_field"])) {$city_field=$_POST["city_field"];} +if (isset($_GET["state_field"])) {$state_field=$_GET["state_field"];} + elseif (isset($_POST["state_field"])) {$state_field=$_POST["state_field"];} +if (isset($_GET["province_field"])) {$province_field=$_GET["province_field"];} + elseif (isset($_POST["province_field"])) {$province_field=$_POST["province_field"];} +if (isset($_GET["postal_code_field"])) {$postal_code_field=$_GET["postal_code_field"];} + elseif (isset($_POST["postal_code_field"])) {$postal_code_field=$_POST["postal_code_field"];} +if (isset($_GET["country_code_field"])) {$country_code_field=$_GET["country_code_field"];} + elseif (isset($_POST["country_code_field"])) {$country_code_field=$_POST["country_code_field"];} +if (isset($_GET["gender_field"])) {$gender_field=$_GET["gender_field"];} + elseif (isset($_POST["gender_field"])) {$gender_field=$_POST["gender_field"];} +if (isset($_GET["date_of_birth_field"])) {$date_of_birth_field=$_GET["date_of_birth_field"];} + elseif (isset($_POST["date_of_birth_field"])) {$date_of_birth_field=$_POST["date_of_birth_field"];} +if (isset($_GET["alt_phone_field"])) {$alt_phone_field=$_GET["alt_phone_field"];} + elseif (isset($_POST["alt_phone_field"])) {$alt_phone_field=$_POST["alt_phone_field"];} +if (isset($_GET["email_field"])) {$email_field=$_GET["email_field"];} + elseif (isset($_POST["email_field"])) {$email_field=$_POST["email_field"];} +if (isset($_GET["security_phrase_field"])) {$security_phrase_field=$_GET["security_phrase_field"];} + elseif (isset($_POST["security_phrase_field"])) {$security_phrase_field=$_POST["security_phrase_field"];} +if (isset($_GET["comments_field"])) {$comments_field=$_GET["comments_field"];} + elseif (isset($_POST["comments_field"])) {$comments_field=$_POST["comments_field"];} +if (isset($_GET["list_id_override"])) {$list_id_override=$_GET["list_id_override"];} + elseif (isset($_POST["list_id_override"])) {$list_id_override=$_POST["list_id_override"];} + $list_id_override = (preg_replace("/\D/","",$list_id_override)); +if (isset($_GET["lead_file"])) {$lead_file=$_GET["lead_file"];} + elseif (isset($_POST["lead_file"])) {$lead_file=$_POST["lead_file"];} +if (isset($_GET["dupcheck"])) {$dupcheck=$_GET["dupcheck"];} + elseif (isset($_POST["dupcheck"])) {$dupcheck=$_POST["dupcheck"];} +if (isset($_GET["postalgmt"])) {$postalgmt=$_GET["postalgmt"];} + elseif (isset($_POST["postalgmt"])) {$postalgmt=$_POST["postalgmt"];} +if (isset($_GET["phone_code_override"])) {$phone_code_override=$_GET["phone_code_override"];} + elseif (isset($_POST["phone_code_override"])) {$phone_code_override=$_POST["phone_code_override"];} + $phone_code_override = (preg_replace("/\D/","",$phone_code_override)); + +# $country_field=$_GET["country_field"]; if (!$country_field) {$country_field=$_POST["country_field"];} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$list_id_override = ereg_replace("[^0-9]","",$list_id_override); + + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) {$fp = fopen ("./project_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-LEAD-LOADER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT load_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGload_leads =$row[0]; + + if ($LOGload_leads < 1) + { + echo "You do not have permissions to load leads\n"; + exit; + } + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + + +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +$admDIR = "$HTTPprotocol$server_name$script_name"; +$admDIR = eregi_replace('new_listloader_superL.php','',$admDIR); +$admSCR = 'admin.php'; +$NWB = "   \"HILFE\""; + +$secX = date("U"); +$hour = date("H"); +$min = date("i"); +$sec = date("s"); +$mon = date("m"); +$mday = date("d"); +$year = date("Y"); +$isdst = date("I"); +$Shour = date("H"); +$Smin = date("i"); +$Ssec = date("s"); +$Smon = date("m"); +$Smday = date("d"); +$Syear = date("Y"); +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + ### Grab Server GMT value from the database + $stmt="SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $rslt=mysql_query($stmt, $link); + $gmt_recs = mysql_num_rows($rslt); + if ($gmt_recs > 0) + { + $row=mysql_fetch_row($rslt); + $DBSERVER_GMT = "$row[0]"; + if (strlen($DBSERVER_GMT)>0) {$SERVER_GMT = $DBSERVER_GMT;} + if ($isdst) {$SERVER_GMT++;} + } + else + { + $SERVER_GMT = date("O"); + $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = ($SERVER_GMT + 0); + $SERVER_GMT = ($SERVER_GMT / 100); + } + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +#if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + + +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +function macfontfix($fontsize) { + + $browser = getenv("HTTP_USER_AGENT"); + $pctype = explode("(", $browser); + if (ereg("Mac",$pctype[1])) { + /* Browser is a Mac. If not Netscape 6, raise fonts */ + + $blownbrowser = explode('/', $browser); + $ver = explode(' ', $blownbrowser[1]); + $ver = $ver[0]; + if ($ver >= 5.0) return $fontsize; else return ($fontsize+2); + + } else return $fontsize; /* Browser is not a Mac - don't touch fonts */ +} + +echo "\n"; + +?> + + + +VICIDIAL ADMIN: Lead Loader + + +
method=post onSubmit="ParseFileName()" enctype="multipart/form-data"> + + +
\n"; + echo ""; + + $stmt="SELECT * from conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
KONFERENZ-AUFLISTUNGEN:\n"; +echo "
\n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2]$row[4]  ÄNDERN Sie
\n"; +} + +###################### +# ADD=10000000000000 display all vicidial conferences +###################### +if ($ADD==10000000000000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
KONFERENZ-AUFLISTUNGEN:\n"; +echo "
\n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2]$row[4]  ÄNDERN Sie
\n"; +} + +###################### +# ADD=999999 display reports section +###################### +if ($ADD==999999) +{ + if ($LOGview_reports==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + + $stmt="select * from servers;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $servers_to_print = mysql_num_rows($rslt); + $i=0; + while ($i < $servers_to_print) + { + $row=mysql_fetch_row($rslt); + $server_id[$i] = $row[0]; + $server_description[$i] = $row[1]; + $server_ip[$i] = $row[2]; + $active[$i] = $row[3]; + $i++; + } + + $stmt="SELECT enable_queuemetrics_logging,queuemetrics_url from system_settings;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging_LU = $row[0]; + $queuemetrics_url_LU = $row[1]; + + ?> + + + + + + VICIDIAL: Bediener-Notfall and Reports + VICIDIAL: Bediener-Notfall and Reports

+ +

+	
+	 $o)
+		{
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		$o++;
+		}
+
+	echo "
SERVERBESCHREIBUNGIP ADDRESSAKTIVVDAD timePARK timeCLOSER/INBOUND time
$server_id[$o]$server_description[$o]$server_ip[$o]$active[$o]LINKLINKLINK
\n"; + } + else + { + echo "Sie haben nicht Erlaubnis, diese Seite anzusehen\n"; + exit; + } +} + + + + + +echo "
\n"; + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n
\n"; + + +echo "\n\n\n


\nIndexlaufzeit: $RUNtime seconds"; +echo "                   VERSION: $admin_version"; +echo "                   BAU: $build
\n"; + + +?> + + +
+ + + +1) + { + if (strlen($dial_statuses)>2) + { + $g=0; + $p='13'; + $GMT_gmt[0] = ''; + $GMT_hour[0] = ''; + $GMT_day[0] = ''; + while ($p > -13) + { + $pzone=3600 * $p; + $pmin=(gmdate("i", time() + $pzone)); + $phour=( (gmdate("G", time() + $pzone)) * 100); + $pday=gmdate("w", time() + $pzone); + $tz = sprintf("%.2f", $p); + $GMT_gmt[$g] = "$tz"; + $GMT_day[$g] = "$pday"; + $GMT_hour[$g] = ($phour + $pmin); + $p = ($p - 0.25); + $g++; + } + + $stmt="SELECT * FROM vicidial_call_times where call_time_id='$local_call_time';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $Gct_default_start = "$rowx[3]"; + $Gct_default_stop = "$rowx[4]"; + $Gct_sunday_start = "$rowx[5]"; + $Gct_sunday_stop = "$rowx[6]"; + $Gct_monday_start = "$rowx[7]"; + $Gct_monday_stop = "$rowx[8]"; + $Gct_tuesday_start = "$rowx[9]"; + $Gct_tuesday_stop = "$rowx[10]"; + $Gct_wednesday_start = "$rowx[11]"; + $Gct_wednesday_stop = "$rowx[12]"; + $Gct_thursday_start = "$rowx[13]"; + $Gct_thursday_stop = "$rowx[14]"; + $Gct_friday_start = "$rowx[15]"; + $Gct_friday_stop = "$rowx[16]"; + $Gct_saturday_start = "$rowx[17]"; + $Gct_saturday_stop = "$rowx[18]"; + $Gct_state_call_times = "$rowx[19]"; + + $ct_states = ''; + $ct_state_gmt_SQL = ''; + $ct_srs=0; + $b=0; + if (strlen($Gct_state_call_times)>2) + { + $state_rules = explode('|',$Gct_state_call_times); + $ct_srs = ((count($state_rules)) - 2); + } + while($ct_srs >= $b) + { + if (strlen($state_rules[$b])>1) + { + $stmt="SELECT * from vicidial_state_call_times where state_call_time_id='$state_rules[$b]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Gstate_call_time_id = "$row[0]"; + $Gstate_call_time_state = "$row[1]"; + $Gsct_default_start = "$row[4]"; + $Gsct_default_stop = "$row[5]"; + $Gsct_sunday_start = "$row[6]"; + $Gsct_sunday_stop = "$row[7]"; + $Gsct_monday_start = "$row[8]"; + $Gsct_monday_stop = "$row[9]"; + $Gsct_tuesday_start = "$row[10]"; + $Gsct_tuesday_stop = "$row[11]"; + $Gsct_wednesday_start = "$row[12]"; + $Gsct_wednesday_stop = "$row[13]"; + $Gsct_thursday_start = "$row[14]"; + $Gsct_thursday_stop = "$row[15]"; + $Gsct_friday_start = "$row[16]"; + $Gsct_friday_stop = "$row[17]"; + $Gsct_saturday_start = "$row[18]"; + $Gsct_saturday_stop = "$row[19]"; + + $ct_states .="'$Gstate_call_time_state',"; + + $r=0; + $state_gmt=''; + while($r < $g) + { + if ($GMT_day[$r]==0) #### Sunday lokale Zeit + { + if (($Gsct_sunday_start==0) and ($Gsct_sunday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_sunday_start) and ($GMT_hour[$r]<$Gsct_sunday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==1) #### Monday lokale Zeit + { + if (($Gsct_monday_start==0) and ($Gsct_monday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_monday_start) and ($GMT_hour[$r]<$Gsct_monday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==2) #### Tuesday lokale Zeit + { + if (($Gsct_tuesday_start==0) and ($Gsct_tuesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_tuesday_start) and ($GMT_hour[$r]<$Gsct_tuesday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==3) #### Wednesday lokale Zeit + { + if (($Gsct_wednesday_start==0) and ($Gsct_wednesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_wednesday_start) and ($GMT_hour[$r]<$Gsct_wednesday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==4) #### Thursday lokale Zeit + { + if (($Gsct_thursday_start==0) and ($Gsct_thursday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_thursday_start) and ($GMT_hour[$r]<$Gsct_thursday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==5) #### Friday lokale Zeit + { + if (($Gsct_friday_start==0) and ($Gsct_friday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_friday_start) and ($GMT_hour[$r]<$Gsct_friday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==6) #### Saturday lokale Zeit + { + if (($Gsct_saturday_start==0) and ($Gsct_saturday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_saturday_start) and ($GMT_hour[$r]<$Gsct_saturday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + $r++; + } + $state_gmt = "$state_gmt'99'"; + $ct_state_gmt_SQL .= "or (state='$Gstate_call_time_state' and gmt_offset_now IN($state_gmt)) "; + } + + $b++; + } + if (strlen($ct_states)>2) + { + $ct_states = eregi_replace(",$",'',$ct_states); + $ct_statesSQL = "and state NOT IN($ct_states)"; + } + else + { + $ct_statesSQL = ""; + } + + $r=0; + $default_gmt=''; + while($r < $g) + { + if ($GMT_day[$r]==0) #### Sunday lokale Zeit + { + if (($Gct_sunday_start==0) and ($Gct_sunday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_sunday_start) and ($GMT_hour[$r]<$Gct_sunday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==1) #### Monday lokale Zeit + { + if (($Gct_monday_start==0) and ($Gct_monday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_monday_start) and ($GMT_hour[$r]<$Gct_monday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==2) #### Tuesday lokale Zeit + { + if (($Gct_tuesday_start==0) and ($Gct_tuesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_tuesday_start) and ($GMT_hour[$r]<$Gct_tuesday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==3) #### Wednesday lokale Zeit + { + if (($Gct_wednesday_start==0) and ($Gct_wednesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_wednesday_start) and ($GMT_hour[$r]<$Gct_wednesday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==4) #### Thursday lokale Zeit + { + if (($Gct_thursday_start==0) and ($Gct_thursday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_thursday_start) and ($GMT_hour[$r]<$Gct_thursday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==5) #### Friday lokale Zeit + { + if (($Gct_friday_start==0) and ($Gct_friday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_friday_start) and ($GMT_hour[$r]<$Gct_friday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==6) #### Saturday lokale Zeit + { + if (($Gct_saturday_start==0) and ($Gct_saturday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_saturday_start) and ($GMT_hour[$r]<$Gct_saturday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + $r++; + } + + $default_gmt = "$default_gmt'99'"; + $all_gmtSQL = "(gmt_offset_now IN($default_gmt) $ct_statesSQL) $ct_state_gmt_SQL"; + + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) - 0); + $Dsql = ''; + $o=0; + while ($Ds_to_print > $o) + { + $o++; + $Dsql .= "'$Dstatuses[$o]',"; + } + $Dsql = preg_replace("/,$/","",$Dsql); + + $stmt="SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $fSQL"; + #$DB=1; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rslt_rows = mysql_num_rows($rslt); + if ($rslt_rows) + { + $rowx=mysql_fetch_row($rslt); + $active_leads = "$rowx[0]"; + } + else {$active_leads = '0';} + + echo "|$DB|\n"; + echo "Diese Kampagne hat$active_leads führt, in jenen Listen gewählt zu werden\n"; + } + else + { + echo "keine Vorwahlknopfstatus vorgewählt für diese Kampagne\n"; + } + } + else + { + echo "Keine aktiven Listen für diese Kampagne gewählt\n"; + } + } +else + { + echo "Keine aktiven Listen für diese Kampagne gewählt\n"; + } +##### END calculate what gmt_offset_now values are within the allowed local_call_time setting ### +} +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/admin_modify_lead.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/admin_modify_lead.php new file mode 100644 index 00000000..4ad70e26 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/admin_modify_lead.php @@ -0,0 +1,610 @@ + LICENSE: GPLv2 +# + +# CHANGES +# +# 70702-1259 - Added recording location link and truncation +# 70906-2132 - Added closer_log records display +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];} + elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];} + elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];} + elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];} + elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];} +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["security"])) {$security=$_GET["security"];} + elseif (isset($_POST["security"])) {$security=$_POST["security"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["CBchangeUSERtoANY"])) {$CBchangeUSERtoANY=$_GET["CBchangeUSERtoANY"];} + elseif (isset($_POST["CBchangeUSERtoANY"])) {$CBchangeUSERtoANY=$_POST["CBchangeUSERtoANY"];} +if (isset($_GET["CBchangeUSERtoUSER"])) {$CBchangeUSERtoUSER=$_GET["CBchangeUSERtoUSER"];} + elseif (isset($_POST["CBchangeUSERtoUSER"])) {$CBchangeUSERtoUSER=$_POST["CBchangeUSERtoUSER"];} +if (isset($_GET["CBchangeANYtoUSER"])) {$CBchangeANYtoUSER=$_GET["CBchangeANYtoUSER"];} + elseif (isset($_POST["CBchangeANYtoUSER"])) {$CBchangeANYtoUSER=$_POST["CBchangeANYtoUSER"];} +if (isset($_GET["callback_id"])) {$callback_id=$_GET["callback_id"];} + elseif (isset($_POST["callback_id"])) {$callback_id=$_POST["callback_id"];} +if (isset($_GET["CBuser"])) {$CBuser=$_GET["CBuser"];} + elseif (isset($_POST["CBuser"])) {$CBuser=$_POST["CBuser"];} +if (isset($_GET["modify_logs"])) {$modify_logs=$_GET["modify_logs"];} + elseif (isset($_POST["modify_logs"])) {$modify_logs=$_POST["modify_logs"];} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + + +### AST GUI database administration modify lead in vicidial_list +### admin_modify_lead.php + +# this is the administration lead information modifier screen, the administrator just needs to enter the leadID and then they can view and modify the information in the record for that lead + +# CHANGES +# +# 60419-1705 - Added ability to change lead callback record from USERONLY to ANYONE or USERONLY-user +# 60421-1459 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60609-1112 - Added DNC list addition if status changed to DNC +# 60619-1539 - Added variable filtering to eliminate SQL injection attack threat +# 61130-1639 - Added recording_log lookup and list for this lead_id +# 61201-1136 - Added recording_log user(TSR) display and link +# 70305-1133 - Changed to default CHECKED modify logs upon status change +# 70424-1128 - Added campaign-specific statuses, reformatted recordings list +# + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and modify_leads='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name,modify_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + + + +VICIDIAL ADMIN: Leitung notieren Änderung + + +
+VICIDIAL ADMIN: Leitung notieren Änderung
\n"; + +if ($end_call > 0) +{ + +$call_length = ($STARTtime - $call_began); + + ### insert a NEW record to the vicidial_closer_log table + $stmt="INSERT INTO vicidial_closer_log (lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed) values('" . mysql_real_escape_string($lead_id) . "','" . mysql_real_escape_string($list_id) . "','" . mysql_real_escape_string($campaign_id) . "','" . mysql_real_escape_string($parked_time) . "','" . mysql_real_escape_string($call_began) . "','$STARTtime','" . mysql_real_escape_string($call_length) . "','" . mysql_real_escape_string($status) . "','" . mysql_real_escape_string($phone_code) . "','" . mysql_real_escape_string($phone_number) . "','$PHP_AUTH_USER','" . mysql_real_escape_string($comments) . "','Y')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + ### update the lead record in the vicidial_list table + $stmt="UPDATE vicidial_list set status='" . mysql_real_escape_string($status) . "',first_name='" . mysql_real_escape_string($first_name) . "',last_name='" . mysql_real_escape_string($last_name) . "',address1='" . mysql_real_escape_string($address1) . "',address2='" . mysql_real_escape_string($address2) . "',address3='" . mysql_real_escape_string($address3) . "',city='" . mysql_real_escape_string($city) . "',state='" . mysql_real_escape_string($state) . "',province='" . mysql_real_escape_string($province) . "',postal_code='" . mysql_real_escape_string($postal_code) . "',country_code='" . mysql_real_escape_string($country_code) . "',alt_phone='" . mysql_real_escape_string($alt_phone) . "',email='" . mysql_real_escape_string($email) . "',security_phrase='" . mysql_real_escape_string($security) . "',comments='" . mysql_real_escape_string($comments) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Informationen geändert

\n"; + echo "\n"; + + if ( ($dispo != $status) and ($dispo == 'CBHOLD') ) + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status='ACTIVE';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
vicidial_callback record inactivated: $lead_id
\n"; + } + if ( ($dispo != $status) and ($dispo == 'CALLBK') ) + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
vicidial_callback record inactivated: $lead_id
\n"; + } + + if ( ($dispo != $status) and ($status == 'DNC') ) + { + ### add lead to the internal DNC list + $stmt="INSERT INTO vicidial_dnc (phone_number) values('" . mysql_real_escape_string($phone_number) . "');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
Lead added to DNC List: $lead_id - $phone_number
\n"; + } + ### update last record in vicidial_agent_log and vicidial_log tables + if (($dispo != $status) and ($modify_logs > 0)) + { + $stmt="UPDATE vicidial_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by call_date desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_agent_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by agent_log_id desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + +} +else +{ + + if ($CBchangeUSERtoANY == 'YES') + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set recipient='ANYONE' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
vicidial_callback record changed to ANYONE
\n"; + } + if ($CBchangeUSERtoUSER == 'YES') + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
vicidial_callback record user changed to $CBuser
\n"; + } + if ($CBchangeANYtoUSER == 'YES') + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "',recipient='USERONLY' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
vicidial_callback record changed to USERONLY, user: $CBuser
\n"; + } + + + + $stmt="SELECT count(*) from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_count = $row[0]; + + if ($lead_count > 0) + { + + $stmt="select * from vicidial_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by uniqueid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + $call_log = ''; + $log_campaign = ''; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (strlen($log_campaign)<1) {$log_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + $call_log .= "
"; + $call_log .= ""; + $call_log .= ""; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + + } + + $stmt="select * from vicidial_closer_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by closecallid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $Clogs_to_print = mysql_num_rows($rslt); + + $y=0; + $closer_log = ''; + $Clog_campaign = ''; + while ($Clogs_to_print > $y) + { + $row=mysql_fetch_row($rslt); + if (strlen($Clog_campaign)<1) {$Clog_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + + } + + $stmt="SELECT * from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_id = "$row[0]"; + $dispo = "$row[3]"; + $tsr = "$row[4]"; + $vendor_id = "$row[5]"; + $list_id = "$row[7]"; + $campaign_id = "$row[8]"; + $phone_code = "$row[10]"; + $phone_number = "$row[11]"; + $title = "$row[12]"; + $first_name = "$row[13]"; # + $middle_initial = "$row[14]"; + $last_name = "$row[15]"; # + $address1 = "$row[16]"; # + $address2 = "$row[17]"; # + $address3 = "$row[18]"; # + $city = "$row[19]"; # + $state = "$row[20]"; # + $province = "$row[21]"; # + $postal_code = "$row[22]"; # + $country_code = "$row[23]"; # + $gender = "$row[24]"; + $date_of_birth = "$row[25]"; + $alt_phone = "$row[26]"; # + $email = "$row[27]"; # + $security = "$row[28]"; # + $comments = "$row[29]"; # + + echo "
Anrufinformationen: $first_name $last_name - $phone_number

\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
$u$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1]
$y$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1]   $row[14]
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + + echo "\n"; + echo "
Vendor ID: $vendor_id     Lead ID: $lead_id
Fronter: $tsr     Liste Identifikation: $list_id
Vorname:   \n"; + echo " Letzter Name:
  \n"; + echo "Postcode:
(with $log_campaign statuses)
Modify agent and vicidial logs
\n"; + echo "


\n"; + + if ( ($dispo == 'CALLBK') or ($dispo == 'CBHOLD') ) + { + ### find any vicidial_callback records for this lead + $stmt="select * from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CB_to_print = mysql_num_rows($rslt); + $rowx=mysql_fetch_row($rslt); + + if ($CB_to_print>0) + { + if ($rowx[9] == 'USERONLY') + { + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

\n"; + + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UserID: \n"; + echo "

\n"; + } + else + { + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UserID: \n"; + echo "

\n"; + } + } + else + { + echo "
No Callback records found
\n"; + } + } + + + + + + + } + else + { + echo "Leitung Nachschlagen FIEL für lead_id aus $lead_id       $NOW_TIME\n

\n"; +# echo "Close this window\n

\n"; + } + + + +echo "

\n"; + +echo "
\n"; + +echo "ANRUFE ZU DIESEM LEITUNG:\n"; +echo "\n"; +echo "\n"; + + echo "$call_log\n"; + +echo "
# DATE/TIME LENGTH STATUS TSR KAMPAGNE LIST LEAD
\n"; +echo "

\n"; + +echo "CLOSER RECORDS FOR THIS LEAD:\n"; +echo "\n"; +echo "\n"; + + echo "$closer_log\n"; + +echo "
# DATE/TIME LENGTH STATUS TSR KAMPAGNE LIST LEAD WAIT
\n"; +echo "

\n"; + + +echo "RECORDINGS FOR THIS LEAD:\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from recording_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by recording_id desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $location = $row[11]; + if (strlen($location)>30) + {$locat = substr($location,0,27); $locat = "$locat...";} + else + {$locat = $location;} + if (eregi("http",$location)) + {$location = "$locat";} + else + {$location = $locat;} + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + + } + + +echo "
# LEADDATE/TIME SECONDS   RECIDFILENAMELOCATIONTSR
$u $row[12] $row[4] $row[8] $row[0]   $row[10] $location $row[13]
\n"; + + + + +} + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nIndexlaufzeit: $RUNtime seconds
"; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/admin_search_lead.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/admin_search_lead.php new file mode 100644 index 00000000..689579d0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/admin_search_lead.php @@ -0,0 +1,225 @@ + LICENSE: GPLv2 +### +### AST GUI database administration search for lead info +### admin_modify_lead.php +# +# this is the administration lead information modifier screen, the administrator just needs to enter the leadID and then they can view and modify the information in the record for that lead +# +# changes: +# 60620-1055 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# - Changed results to multi-record +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and modify_leads='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name,modify_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + + + +VICIDIAL ADMIN: Leitung Suche + +Leitung Nachschlagen + + +VICIDIAL ADMIN: Lead search
\n"; + + +if ( (!$vendor_id) and (!$phone) and (!$lead_id) ) + { + echo date("l F j, Y G:i:s A"); + echo "\n

\n"; + echo "
\n"; + echo "\n"; + echo "Tragen Sie bitte a ein:
Vendor ID(Verkäuferleitung Code): or \n"; + echo "
eine Haupttelefonnummer: or\n"; + echo "
eine Leitung Identifikation:

\n"; + echo "
\n"; + echo "\n
\n"; + echo "\n"; + exit; + } + +else + { + + if ($vendor_id) + { + $stmt="SELECT * from vicidial_list where vendor_lead_code='" . mysql_real_escape_string($vendor_id) . "' order by modify_date desc limit 1000"; + } + else + { + if ($phone) + { + $stmt="SELECT * from vicidial_list where phone_number='" . mysql_real_escape_string($phone) . "' order by modify_date desc limit 1000"; + } + else + { + if ($lead_id) + { + $stmt="SELECT * from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "' order by modify_date desc limit 1000"; + } + else + { + print "ERROR: you must search for something! Go back and search for something"; + exit; + } + } + } + if ($DB) + { + echo "\n\n$stmt\n\n"; + } + + $rslt=mysql_query($stmt, $link); + $results_to_print = mysql_num_rows($rslt); + if ($results_to_print < 1) + { + echo date("l F j, Y G:i:s A"); + echo "\n

\n"; + echo "Die Suchvariablen, die Sie eintrugen, sind nicht im System aktiv

\n"; + echo "Bitte zurück und verdoppeln Überprüfung gehen die Informationen,die Sie eintrugen und reichen wieder ein\n"; + echo "
\n"; + echo "\n"; + exit; + } + else + { + echo "RESULTS: $results_to_print

\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $o=0; + while ($results_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $o++; + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + echo "
#LEAD IDSTATUSVENDOR IDLAST AGENTLISTE IDENTIFIKATIONPHONENAMECITYSECURITYLAST CALL
$o$row[0]$row[3]$row[5]$row[4]$row[7]$row[11]$row[13] $row[15]$row[19]$row[28]$row[2]
\n"; + } + } + + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\nNEUE SUCHE"; + + +echo "\n\n\n


\nIndexlaufzeit: $RUNtime seconds"; + + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/count.htm b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/count.htm new file mode 100644 index 00000000..51f8a361 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/count.htm @@ -0,0 +1 @@ + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/dbconnect.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/dbconnect.php new file mode 100644 index 00000000..5247e166 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/dbconnect.php @@ -0,0 +1,49 @@ + LICENSE: GPLv2 +# +if ( file_exists("/etc/astguiclient.conf") ) +{ +$DBCagc = file("/etc/astguiclient.conf"); +foreach ($DBCagc as $DBCline) + { + $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); + if (ereg("^PATHlogs", $DBCline)) + {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} + if (ereg("^PATHweb", $DBCline)) + {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} + if (ereg("^VARDB_server", $DBCline)) + {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} + if (ereg("^VARDB_database", $DBCline)) + {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} + if (ereg("^VARDB_user", $DBCline)) + {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} + if (ereg("^VARDB_pass", $DBCline)) + {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} + if (ereg("^VARDB_port", $DBCline)) + {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} + } + +} +else +{ +#defaults for DB connection +$VARDB_server = 'localhost'; +$VARDB_user = 'cron'; +$VARDB_pass = '1234'; +$VARDB_database = '1234'; +$WeBServeRRooT = '/usr/local/apache2/htdocs'; +} + +$link=mysql_connect("$VARDB_server", "$VARDB_user", "$VARDB_pass"); +mysql_select_db("$VARDB_database"); + +$local_DEF = 'Local/'; +$conf_silent_prefix = '7'; +$local_AMP = '@'; +$ext_context = 'demo'; +$recording_exten = '8309'; +$WeBRooTWritablE = '1'; +$non_latin = '0'; # set to 1 for UTF rules + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/group_hourly_stats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/group_hourly_stats.php new file mode 100644 index 00000000..467d685d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/group_hourly_stats.php @@ -0,0 +1,252 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60620-1014 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["date_with_hour"])) {$date_with_hour=$_GET["date_with_hour"];} + elseif (isset($_POST["date_with_hour"])) {$date_with_hour=$_POST["date_with_hour"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$date_with_hour_default = date("Y-m-d H"); +$date_no_hour_default = $TODAY; + +if (!isset($date_with_hour)) {$date_with_hour = $date_with_hour_default;} + $date_no_hour = $date_with_hour; + $date_no_hour = eregi_replace(" ([0-9]{2})",'',$date_no_hour); +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + +# $stmt="SELECT full_name from vicidial_users where user='$user';"; +# $rslt=mysql_query($stmt, $link); +# $row=mysql_fetch_row($rslt); +# $full_name = $row[0]; + + } + + + + +?> + + +VICIDIAL ADMIN: Gruppe Stündlicher Notfall +\n"; +?> + + +
+ + + + + += '" . mysql_real_escape_string($date_with_hour) . ":00:00' and call_date <= '" . mysql_real_escape_string($date_with_hour) . ":59:59' and user='$VDuser[$o]';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VDtotal[$o] = "$row[0]"; + + $stmt="select count(*) from vicidial_log where call_date >= '" . mysql_real_escape_string($date_no_hour) . " 00:00:00' and call_date <= '" . mysql_real_escape_string($date_no_hour) . " 23:59:59' and user='$VDuser[$o]' and status='" . mysql_real_escape_string($status) . "';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VDday[$o] = "$row[0]"; + + $stmt="select count(*) from vicidial_log where call_date >= '" . mysql_real_escape_string($date_with_hour) . ":00:00' and call_date <= '" . mysql_real_escape_string($date_with_hour) . ":59:59' and user='$VDuser[$o]' and status='" . mysql_real_escape_string($status) . "';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VDcount[$o] = "$row[0]"; + $o++; + } + +echo "
" ?>   VICIDIAL ADMIN: Gruppe Stündlicher Notfall  
\n"; + +echo "
\n"; + +echo "TSR STUNDE ZÄHLIMPULSE: $group | $status | $date_with_hour | $date_no_hour\n"; + +echo "
\n"; +echo "\n"; + + $day_calls=0; + $hour_calls=0; + $total_calls=0; + $o=0; + while($o < $tsrs_to_print) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $total_calls = ($total_calls + $VDtotal[$o]); + $hour_calls = ($hour_calls + $VDcount[$o]); + $day_calls = ($day_calls + $VDday[$o]); + + $o++; + } + +echo "\n"; + + +} + +echo "
TSR ID   $status   GESAMTANRUFE   $status DAY    
$VDuser[$o] $VDname[$o] $VDcount[$o] $VDtotal[$o] $VDday[$o]ÄNDERN Sie | Notfall
TOTAL $status $hour_calls $total_calls $day_calls
\n"; +echo "

\n"; + + + echo "
Melden Sie bitte die Gruppe an, die Sie stündlichen Notfall fürerhalten möchten:
\n"; + echo "\n"; + echo "group:
\n"; + echo "status:   (example: XFER)
\n"; + echo "date with hour:   (example: 2004-06-25 14)
\n"; + echo "\n"; + echo "


\n"; + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nIndexlaufzeit: $RUNtime seconds
"; + + +?> + + +
+ + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/help.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/help.gif new file mode 100644 index 0000000000000000000000000000000000000000..5575d7c8761954a943a67f99265cc408edfeca37 GIT binary patch literal 492 zcmV@K zrlzK7XlVcc{(zdZkfy!h=k1@f#?ad1KW2>Z^Y)^mqV4VLXlQ0|jj7+?-?g=~@9*#a z|NoMak9c=?>FMXq%*)5e#og%my1BWCh=?#*gAYJ&zrMYsqoV%*{r~>|{{H^||Nj6p zX13G(A^8LW002J#EC2ui02BZe000L6z@KnPEE=r$6g+ktoje(cAZZc{4nh|!Jvux)X@@=m zC21-y7sABGX&Z<(B|AJC&(S}$JRWB|DXBdgJUkNs!9S#?9v(X*xM}G+D<}p+2b5_V z8b~1O;i1q87Yz;w5oDsk4s-&2^x#n-!huJTe#ntg$k2xm+8(U%L!-zT3@08O+Yv#+ i0XJ}rR3Wh7fCU;Dx+Ew$Wrh+7CQhJ)nL_kP5CA(E_TC-< literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/listloader.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/listloader.php new file mode 100644 index 00000000..5fee38ac --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/listloader.php @@ -0,0 +1,926 @@ + LICENSE: GPLv2 +# +# AST Web GUI lead loader from formatted file +# +# CHANGES +# 50602-1640 - First version created by Joe Johnson +# 51128-1108 - Removed PHP global vars requirement +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60616-1006 - added listID override and gmt_offset lookup while loading +# 60619-1652 - Added variable filtering to eliminate SQL injection attack threat +# 60822-1105 - fixed for nonwritable directories +# 60906-1059 - added filter of non-digits in alt_phone field +# 61110-1222 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1046 - added postal code GMT lookup and duplicate check options +# 70205-1703 - Defaulted phone_code to 1 if not populated +# 70417-1059 - Fixed default phone_code bug +# +# make sure vicidial_list exists and that your file follows the formatting correctly. This page does not dedupe or do any other lead filtering actions yet at this time. +# + +$version = '2.0.3'; +$build = '770417-1059'; + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +$leadfile=$_FILES["leadfile"]; + $LF_orig = $_FILES['leadfile']['name']; + $LF_path = $_FILES['leadfile']['tmp_name']; +$submit_file=$_GET["submit_file"]; if (!$submit_file) {$submit_file=$_POST["submit_file"];} +$list_id_override=$_GET["list_id_override"]; if (!$list_id_override) {$list_id_override=$_POST["list_id_override"];} + $list_id_override = (preg_replace("/\D/","",$list_id_override)); +$submit=$_GET["submit"]; if (!$submit) {$submit=$_POST["submit"];} +$SUBMIT=$_GET["SUBMIT"]; if (!$SUBMIT) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["dupcheck"])) {$dupcheck=$_GET["dupcheck"];} + elseif (isset($_POST["dupcheck"])) {$dupcheck=$_POST["dupcheck"];} +if (isset($_GET["postalgmt"])) {$postalgmt=$_GET["postalgmt"];} + elseif (isset($_POST["postalgmt"])) {$postalgmt=$_POST["postalgmt"];} + + +#$DB=1; +#$DBX=1; + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$list_id_override = ereg_replace("[^0-9]","",$list_id_override); + + +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +$admDIR = "$HTTPprotocol$server_name$script_name"; +$admDIR = eregi_replace('listloader.php','',$admDIR); +$admSCR = 'admin.php'; +$NWB = "   \"HILFE\""; + + +$secX = date("U"); +$hour = date("H"); +$min = date("i"); +$sec = date("s"); +$mon = date("m"); +$mday = date("d"); +$year = date("Y"); +$isdst = date("I"); +$Shour = date("H"); +$Smin = date("i"); +$Ssec = date("s"); +$Smon = date("m"); +$Smday = date("d"); +$Syear = date("Y"); +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + ### Grab Server GMT value from the database + $stmt="SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $rslt=mysql_query($stmt, $link); + $gmt_recs = mysql_num_rows($rslt); + if ($gmt_recs > 0) + { + $row=mysql_fetch_row($rslt); + $DBSERVER_GMT = "$row[0]"; + if (strlen($DBSERVER_GMT)>0) {$SERVER_GMT = $DBSERVER_GMT;} + if ($isdst) {$SERVER_GMT++;} + } + else + { + $SERVER_GMT = date("O"); + $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = ($SERVER_GMT + 0); + $SERVER_GMT = ($SERVER_GMT / 100); + } + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +#if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + +?> + + + + + + method=post enctype="multipart/form-data"> +
+ + + + + + + + + + + + + + + + + + + + + +
Last Leitungen von dieser Akte:
Liste Identifikation Override: (nur Zahlen or leave blank for values in the file)
Leitung Duplikat-Überprüfung:
Vorbereitungs- und Anlaufzeit Zone Nachschlagen:
KLICKEN SIE HIER, UM ZUR SUPERLEITUNG LADEVORRICHTUNG ZU GEHEN (BETA VERSION)     ZURÜCK ZU ADMIN
+ +document.forms[0].leadfile.disabled=true; document.forms[0].submit_file.disabled=true; document.forms[0].reload_page.disabled=true;"; + flush(); + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"); + $lead_file = "./vicidial_temp_file.txt"; + } + else + { + $lead_file = "$LF_path"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + $pulldate=date("Y-m-d H:i:s"); + + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + + if (count($field_check)>=5) { + flush(); + $file=fopen("$lead_file", "r"); + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + print "
Verarbeitung$delim_name-delimited file... ($tab_count|$pipe_count)\n"; + + if (strlen($list_id_override)>0) + { + print "

LISTE IDENTIFIKATION OVERRIDE FOR THIS FILE: $list_id_override

"; + } + + while (!feof($file)) { + $record++; + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + + if (strlen($buffer)>0) { + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + $vendor_lead_code = $row[0]; + $source_code = $row[1]; + $source_id=$source_code; + $list_id = $row[2]; + $phone_code = eregi_replace("[^0-9]", "", $row[3]); + $phone_number = eregi_replace("[^0-9]", "", $row[4]); + $USarea = substr($phone_number, 0, 3); + $title = $row[5]; + $first_name = $row[6]; + $middle_initial = $row[7]; + $last_name = $row[8]; + $address1 = $row[9]; + $address2 = $row[10]; + $address3 = $row[11]; + $city = $row[12]; + $state = $row[13]; + $province = $row[14]; + $postal_code = $row[15]; + $country = $row[16]; + $gender = $row[17]; + $date_of_birth = $row[18]; + $alt_phone = eregi_replace("[^0-9]", "", $row[19]); + $email = $row[20]; + $security_phrase = $row[21]; + $comments = trim($row[22]); + + if (strlen($list_id_override)>0) + { + # print "

LISTE IDENTIFIKATION OVERRIDE FOR THIS FILE: $list_id_override

"; + $list_id = $list_id_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table ##### + if (eregi("DUP",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + $US='_'; + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user = ""; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_list .= "$phone_number$US$list_id|"; + + if (strlen($phone_code)<1) {$phone_code = '1';} + + $postalgmt_found=0; + if ( (eregi("POSTAL",$postalgmt)) && (strlen($postal_code)>4) ) + { + if (preg_match('/^1$/', $phone_code)) + { + $stmt="select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[3]; + $dst_range = $row[4]; + $PC_processed++; + $postalgmt_found++; + $post++; + } + } + } + if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =='1') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### MEXICO ### + if ($phone_code =='52') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### AUSTRALIA ### + if ($phone_code =='61') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $PC_processed++; + $stmt="select * from vicidial_phone_codes where country_code='$phone_code';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + } + + ### Find out if DST to raise the gmt offset ### + $AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); + $AC_localtime = mktime(($Shour + $AC_GMT_diff), $Smin, $Ssec, $Smon, $Smday, $Syear); + $hour = date("H",$AC_localtime); + $min = date("i",$AC_localtime); + $sec = date("s",$AC_localtime); + $mon = date("m",$AC_localtime); + $mday = date("d",$AC_localtime); + $wday = date("w",$AC_localtime); + $year = date("Y",$AC_localtime); + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + $AC_processed=0; + if ( (!$AC_processed) and ($dst_range == 'SSM-FSN') ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + #********************************************************************** + # SSM-FSN + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on Second Sunday March to First Sunday November at 2 am. + # INPUTS: + # mm INTEGER Month. + # dd INTEGER Day of the month. + # ns INTEGER Seconds into the day. + # dow INTEGER Day of week (0=Sunday, to 6=Saturday) + # OPTIONAL INPUT: + # timezone INTEGER hour difference UTC - local standard time + # (DEFAULT is blank) + # make calculations based on UTC time, + # which means shift at 10:00 UTC in April + # and 9:00 UTC in October + # OUTPUT: + # INTEGER 1 = DST, 0 = not DST + # + # S M T W T F S + # 1 2 3 4 5 6 7 + # 8 9 10 11 12 13 14 + #15 16 17 18 19 20 21 + #22 23 24 25 26 27 28 + #29 30 31 + # + # S M T W T F S + # 1 2 3 4 5 6 + # 7 8 9 10 11 12 13 + #14 15 16 17 18 19 20 + #21 22 23 24 25 26 27 + #28 29 30 31 + # + #********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; + } elseif ($mm >= 4 and $mm <= 10) { + $USACAN_DST=1; + } elseif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; + } elseif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } + } else { + $USACAN_DST=0; + } + } elseif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; + } elseif ($dd < ($dow+1)) { + $USACAN_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } else { # lokale Zeit calculations + if ($ns < 7200) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } + } else { + $USACAN_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$gmt_offset++;} + $AC_processed++; + } + + if ( (!$AC_processed) and ($dst_range == 'FSA-LSO') ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + #********************************************************************** + # FSA-LSO + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in April and last Sunday in October at 2 am. + #********************************************************************** + + $NA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $NA_DST=0; + } elseif ($mm >= 5 and $mm <= 9) { + $NA_DST=1; + } elseif ($mm == 4) { + if ($dd > 7) { + $NA_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $NA_DST=0; + } else { + $NA_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $NA_DST=0; + } else { + $NA_DST=1; + } + } + } else { + $NA_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $NA_DST=1; + } elseif ($dd < ($dow+25)) { + $NA_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $NA_DST=1; + } else { + $NA_DST=0; + } + } else { # lokale Zeit calculations + if ($ns < 7200) { + $NA_DST=1; + } else { + $NA_DST=0; + } + } + } else { + $NA_DST=0; + } + } # end of month checks + + if ($DBX) {print " DST: $NA_DST\n";} + if ($NA_DST) {$gmt_offset++;} + $AC_processed++; + } + + if ( (!$AC_processed) and ($dst_range == 'LSM-LSO') ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in March and last Sunday in October at 1 am. + #********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; + } elseif ($mm >= 4 and $mm <= 9) { + $GBR_DST=1; + } elseif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; + } elseif ($dd < ($dow+25)) { + $GBR_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } else { # lokale Zeit calculations + if ($ns < 3600) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } + } else { + $GBR_DST=1; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; + } elseif ($dd < ($dow+25)) { + $GBR_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } else { # lokale Zeit calculations + if ($ns < 3600) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } + } else { + $GBR_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) and ($dst_range == 'LSO-LSM') ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUS_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; + } elseif ($dd < ($dow+25)) { + $AUS_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } else { # lokale Zeit calculations + if ($ns < 3600) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } + } else { + $AUS_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; + } elseif ($dd < ($dow+25)) { + $AUS_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } else { # lokale Zeit calculations + if ($ns < 3600) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } + } else { + $AUS_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + + if ( (!$AC_processed) and ($dst_range == 'FSO-LSM') ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + #********************************************************************** + # TASMANIA ONLY + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUST_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; + } elseif ($dd < ($dow+25)) { + $AUST_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } else { # lokale Zeit calculations + if ($ns < 3600) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } + } else { + $AUST_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $AUST_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } + } else { + $AUST_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) and ($dst_range == 'FSO-TSM') ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and third Sunday in March at 1 am. + #********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $NZL_DST=0; + } elseif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; + } elseif ($dd < ($dow+14)) { + $NZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } else { # lokale Zeit calculations + if ($ns < 3600) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } + } else { + $NZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $NZL_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } + } else { + $NZL_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + + if ( (!$AC_processed) and ($dst_range == 'TSO-LSF') ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + #********************************************************************** + # TSO-LSF + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. Brazil + # Based on Third Sunday October to Last Sunday February at 1 am. + #********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; + } elseif ($mm >= 3 and $mm <= 9) { + $BZL_DST=0; + } elseif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; + } elseif ($dd < ($dow+22)) { + $BZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } else { # lokale Zeit calculations + if ($ns < 3600) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } + } else { + $BZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; + } elseif ($dd < ($dow+22)) { + $BZL_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } else { # lokale Zeit calculations + if ($ns < 3600) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } + } else { + $BZL_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$gmt_offset++;} + $AC_processed++; + } + + if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } + else + { + if ($bad < 10) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) + { + print ""; + usleep(1000); + flush(); + } + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
DUPLICATE: $dup       POSTAL MATCH: $post
"; + + } else { + print "
STÖRUNG: Die Akte hat nicht die erforderliche Zahl vonauffängt, um sie zu verarbeiten.
"; + } + print ""; +} else if (filesize($leadfile)>8388608) { + print "
STÖRUNG: Akte übersteigt die Begrenzung 8MB.
"; +} +?> + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/listloader.pl b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/listloader.pl new file mode 100644 index 00000000..d926368b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/listloader.pl @@ -0,0 +1,1084 @@ +#!/usr/bin/perl + +### listloader.pl version 0.4 *DBI-version* +### +### Copyright (C) 2007 Matt Florell,Joe Johnson LICENSE: GPLv2 +### +# +# +# CHANGES +# 60616-1548 - Added listID override feature to force all leads into same list +# - Added gmt_offset_now lookup for each lead +# 60811-1232 - Changed to DBI +# 60811-1329 - changed to use /etc/astguiclient.conf for configs +# 60822-1121 - fixed for nonwritable directories +# 60906-1058 - added filter of non-digits in alt_phone field +# 61110-1229 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1215 - added postal code GMT lookup and duplicate check options +# 70205-1703 - Defaulted phone_code to 1 if not populated +# 70417-1059 - Fixed default phone_code bug +# 70510-1518 - Added campaign and system duplicate check and phonecode override +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n [-forcelistid=1234] = overrides the listID given in the file with the 1234\n [-h] = this help screen\n\n"; + + exit; + } + else + { + if ($args =~ /-duplicate-check/i) + {$dupcheck=1;} + if ($args =~ /-duplicate-campaign-check/i) + {$dupcheckcamp=1;} + if ($args =~ /-duplicate-system-check/i) + {$dupchecksys=1;} + if ($args =~ /-postal-code-gmt/i) + {$postalgmt=1;} + if ($args =~ /--forcelistid=/i) + { + @data_in = split(/--forcelistid=/,$args); + $forcelistid = $data_in[1]; + $forcelistid =~ s/ .*//gi; + print "\n----- FORCE LISTID OVERRIDE: $forcelistid -----\n\n"; + } + else + {$forcelistid = '';} + + if ($args =~ /--forcephonecode=/i) + { + @data_in = split(/--forcephonecode=/,$args); + $forcephonecode = $data_in[1]; + $forcephonecode =~ s/ .*//gi; + print "\n----- FORCE PHONECODE OVERRIDE: $forcephonecode -----\n\n"; + } + else + {$forcephonecode = '';} + + if ($args =~ /--lead-file=/i) + { + @data_in = split(/--lead-file=/,$args); + $lead_file = $data_in[1]; + $lead_file =~ s/ .*//gi; + # print "\n----- LEAD FILE: $lead_file -----\n\n"; + } + else + {$lead_file = './vicidial_temp_file.xls';} + } +} +### end parsing run-time options ### + + +use Spreadsheet::ParseExcel; +use Time::Local; +use DBI; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +$|=0; +$secX = time(); + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$pulldate="$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + + ### Grab Server values from the database + $stmtA = "SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBSERVER_GMT = "$aryA[0]"; + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + $rec_count++; + } + $sthA->finish(); + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +if ($isdst) {$LOCAL_GMT_OFF++;} +if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + + + +$total=0; $good=0; $bad=0; +print "
Processing Excel file...\n"; +open(STMT_FILE, "> $PATHlogs/listloader_stmts.txt"); + +$oBook = Spreadsheet::ParseExcel::Workbook->Parse("$lead_file"); +my($iR, $iC, $oWkS, $oWkC); + +foreach $oWkS (@{$oBook->{Worksheet}}) { + for($iR = 0 ; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++) { + + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user = ""; + $oWkC = $oWkS->{Cells}[$iR][0]; + if ($oWkC) {$vendor_lead_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][1]; + if ($oWkC) {$source_code=$oWkC->Value; } + $source_id=$source_code; + $oWkC = $oWkS->{Cells}[$iR][2]; + if ($oWkC) {$list_id=$oWkC->Value; } + $gmt_offset = '0'; + $called_since_last_reset='N'; + $oWkC = $oWkS->{Cells}[$iR][3]; + if ($oWkC) {$phone_code=$oWkC->Value; } + $phone_code=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][4]; + if ($oWkC) {$phone_number=$oWkC->Value; } + $phone_number=~s/[^0-9]//g; + $USarea = substr($phone_number, 0, 3); + $oWkC = $oWkS->{Cells}[$iR][5]; + if ($oWkC) {$title=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][6]; + if ($oWkC) {$first_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][7]; + if ($oWkC) {$middle_initial=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][8]; + if ($oWkC) {$last_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][9]; + if ($oWkC) {$address1=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][10]; + if ($oWkC) {$address2=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][11]; + if ($oWkC) {$address3=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][12]; + if ($oWkC) {$city=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][13]; + if ($oWkC) {$state=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][14]; + if ($oWkC) {$province=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][15]; + if ($oWkC) {$postal_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][16]; + if ($oWkC) {$country=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][17]; + if ($oWkC) {$gender=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][18]; + if ($oWkC) {$date_of_birth=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][19]; + if ($oWkC) {$alt_phone=$oWkC->Value; } + $alt_phone=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][20]; + if ($oWkC) {$email=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][21]; + if ($oWkC) {$security_phrase=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][22]; + if ($oWkC) {$comments=$oWkC->Value; } + $comments=~s/^\s*(.*?)\s*$/$1/; + + if (length($forcelistid) > 0) + { + $list_id = $forcelistid; # set list_id to override value + } + if (length($forcephonecode) > 0) + { + $phone_code = $forcephonecode; # set phone_code to override value + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if ($dupchecksys > 0) + { + $dup_lead=0; + $stmtA = "select count(*) from vicidial_list where phone_number='$phone_number';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead = $aryA[0]; + $dup_lead_list=$list_id; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if ($dupcheck > 0) + { + $dup_lead=0; + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id='$list_id' limit 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = $aryA[0]; + $dup_lead++; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if ($dupcheckcamp > 0) + { + $dup_lead=0; + $dup_lists=''; + + $stmtA = "select count(*) from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $ci_recs = $aryA[0]; + $sthA->finish(); + if ($ci_recs > 0) + { + $stmtA = "select campaign_id from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $dup_camp = $aryA[0]; + $sthA->finish(); + + $stmtA = "select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lists .= "'$aryA[0]',"; + $rec_count++; + } + $sthA->finish(); + + chop($dup_lists); + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = "'$aryA[0]',"; + $rec_count++; + $dup_lead=1; + } + $sthA->finish(); + } + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + + if ( (length($phone_number)>6) && ($dup_lead < 1) ) + { + $phone_list .= "$phone_number$US$list_id|"; + $postalgmt_found=0; + if (length($phone_code)<1) {$phone_code = '1';} + + if ( ($postalgmt > 0) && (length($postal_code)>4) ) + { + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[2]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[3]; + $dst_range = $aryA[4]; + $PC_processed++; + $rec_count++; + $postalgmt_found++; + if ($DBX) {print " Postal GMT record found for $postal_code: |$gmt_offset|$dst|$dst_range|\n";} + } + $sthA->finish(); + } + } + if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### MEXICO ### + if ($phone_code =~ /^52$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### AUSTRALIA ### + if ($phone_code =~ /^61$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + } + + ### Find out if DST to raise the gmt offset ### + $AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); + $AC_localtime = ($secX + (3600 * $AC_GMT_diff)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($AC_localtime); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + $AC_processed=0; + + if ( (!$AC_processed) && ($dst_range =~ /SSM-FSN/) ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + &USACAN_dstcalc; + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSA-LSO/) ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + &NA_dstcalc; + if ($DBX) {print " DST: $NA_DST\n";} + if ($NA_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSM-LSO/) ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + &GBR_dstcalc; + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSO-LSM/) ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + &AUS_dstcalc; + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-LSM/) ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + &AUST_dstcalc; + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-TSM/) ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + &NZL_dstcalc; + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /TSO-LSF/) ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + &BZL_dstcalc; + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$area_GMT++;} + $AC_processed++; + } + if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| $dup_lead_list\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + sleep(1); +# flush(); + } + } +} + +if ($multi_insert_counter > 0) { + $stmtZ = "INSERT INTO vicidial_list values ".substr($multistmt, 0, -1).";"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; +} + +print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
"; + +exit; + + + + + + +sub USACAN_dstcalc { +#********************************************************************** +# SSM-FSN +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on Second Sunday March to First Sunday November at 2 am. +# INPUTS: +# mm INTEGER Month. +# dd INTEGER Day of the month. +# ns INTEGER Seconds into the day. +# dow INTEGER Day of week (0=Sunday, to 6=Saturday) +# OPTIONAL INPUT: +# timezone INTEGER hour difference UTC - local standard time +# (DEFAULT is blank) +# make calculations based on UTC time, +# which means shift at 10:00 UTC in April +# and 9:00 UTC in October +# OUTPUT: +# INTEGER 1 = DST, 0 = not DST +# +# S M T W T F S +# 1 2 3 4 5 6 7 +# 8 9 10 11 12 13 14 +#15 16 17 18 19 20 21 +#22 23 24 25 26 27 28 +#29 30 31 +# +# S M T W T F S +# 1 2 3 4 5 6 +# 7 8 9 10 11 12 13 +#14 15 16 17 18 19 20 +#21 22 23 24 25 26 27 +#28 29 30 31 +# +#********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 10) { + $USACAN_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; return 1; + } elsif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } + } else { + $USACAN_DST=0; return 0; + } + } elsif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; return 0; + } elsif ($dd < ($dow+1)) { + $USACAN_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } + } else { + $USACAN_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub NA_dstcalc { +#********************************************************************** +# FSA-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in April and last Sunday in October at 2 am. +#********************************************************************** + + $NA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $NA_DST=0; return 0; + } elsif ($mm >= 5 && $mm <= 9) { + $NA_DST=1; return 1; + } elsif ($mm == 4) { + if ($dd > 7) { + $NA_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } + } else { + $NA_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $NA_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $NA_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } + } else { + $NA_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub GBR_dstcalc { +#********************************************************************** +# LSM-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in March and last Sunday in October at 1 am. +#********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 9) { + $GBR_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $GBR_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } + } else { + $GBR_DST=1; return 1; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $GBR_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } + } else { + $GBR_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub AUS_dstcalc { +#********************************************************************** +# LSO-LSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUS_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUS_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } + } else { + $AUS_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $AUS_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } + } else { + $AUS_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub AUST_dstcalc { +#********************************************************************** +# FSO-LSM +# TASMANIA ONLY +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUST_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUST_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } + } else { + $AUST_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $AUST_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } + } else { + $AUST_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub NZL_dstcalc { +#********************************************************************** +# FSO-TSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and third Sunday in March at 1 am. +#********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $NZL_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; return 1; + } elsif ($dd < ($dow+14)) { + $NZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } + } else { + $NZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $NZL_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } + } else { + $NZL_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub BZL_dstcalc { +#********************************************************************** +# TSO-LSF +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. Brazil +# Based on Third Sunday October to Last Sunday February at 1 am. +#********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; return 1; + } elsif ($mm >= 3 && $mm <= 9) { + $BZL_DST=0; return 0; + } elsif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; return 1; + } elsif ($dd < ($dow+22)) { + $BZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } + } else { + $BZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; return 0; + } elsif ($dd < ($dow+22)) { + $BZL_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } + } else { + $BZL_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/listloaderMAIN.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/listloaderMAIN.php new file mode 100644 index 00000000..30c5fc5e --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/listloaderMAIN.php @@ -0,0 +1,86 @@ + LICENSE: GPLv2 +# +# this is the main frame page for the lead loading section. This is where you +# would upload a file and have it inserted into vicidial_list +# +# changes: +# 60620-1149 - Added variable filtering to eliminate SQL injection attack threat +# 60822-1105 - fixed for nonwritable directories +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) {$fp = fopen ("./project_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-LEAD-LOADER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT load_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGload_leads =$row[0]; + + if ($LOGload_leads < 1) + { + echo "You do not have permissions to load leads\n"; + exit; + } + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + +VICIDIAL: Leitung Ladevorrichtung Modul + + + + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/listloader_rowdisplay.pl b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/listloader_rowdisplay.pl new file mode 100644 index 00000000..3f8695c0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/listloader_rowdisplay.pl @@ -0,0 +1,153 @@ +#!/usr/bin/perl + +### listloader_rowdisplay.pl version 0.2 *DBI-version* +### +### Copyright (C) 2006 Matt Florell,Joe Johnson LICENSE: GPLv2 +### +# +# CHANGES +# +# 60811-1232 - Changed to DBI +# 60811-1329 - changed to use /etc/astguiclient.conf for configs +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n [-forcelistid=1234] = overrides the listID given in the file with the 1234\n [-h] = this help screen\n\n"; + + exit; + } + else + { + if ($args =~ /-duplicate-check/i) + {$dupcheck=1;} + if ($args =~ /-postal-code-gmt/i) + {$postalgmt=1;} + if ($args =~ /--lead-file=/i) + { + @data_in = split(/--lead-file=/,$args); + $lead_file = $data_in[1]; + $lead_file =~ s/ .*//gi; + # print "\n----- LEAD FILE: $lead_file -----\n\n"; + } + else + {$lead_file = './vicidial_temp_file.xls';} + } +} +### end parsing run-time options ### + +use Spreadsheet::ParseExcel; +use Time::Local; +use DBI; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +$oBook = Spreadsheet::ParseExcel::Workbook->Parse("$lead_file"); +my($iR, $iC, $oWkS, $oWkC); +$var_str=""; + +foreach $oWkS (@{$oBook->{Worksheet}}) { + for(my $iC = $oWkS->{MinCol} ; defined $oWkS->{MaxCol} && $iC <= $oWkS->{MaxCol} ; $iC++) { + $oWkC = $oWkS->{Cells}[0][$iC]; + if ($oWkC) { + $var_str.=$oWkC->Value."|"; + } else { + $var_str.="|"; + } + } +} + +@xls_row=split(/\|/, $var_str); + + +$stmtA = "select vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments from vicidial_list limit 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + my $names = $sthA->{'NAME'}; + my $numFields = $sthA->{'NUM_OF_FIELDS'}; + for (my $i = 0; $i < $numFields; $i++) + { + # printf("%s%s", $i ? "," : "", $$names[$i]); + # printf("%s%s", $i ? "," : "", $$ref[$i]); + + $field_name=uc($$names[$i]); + $field_name=~s/\_/ /g; + print "
".$field_name.": \r\n"; + print " \r\n"; + print "
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Last Leitungen von dieser Akte:
Liste Identifikation Override: (nur Zahlen or leave blank for values in the file)
Phone Code Override: (nur Zahlen or leave blank for values in the file)
Zu verwenden Dateiaufbau:Standard-VICIDIAL    Kundenspezifischer Plan
Leitung Duplikat-Überprüfung:
Vorbereitungs- und Anlaufzeit Zone Nachschlagen:
        
        ZURÜCK ZU ADMINLIST LOADER-     VERSION:     BAU:    
+ + +document.forms[0].leadfile.disabled=true;document.forms[0].list_id_override.disabled=true;document.forms[0].phone_code_override.disabled=true; document.forms[0].submit_file.disabled=true; document.forms[0].reload_page.disabled=true;"; + flush(); + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + + if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) { + # copy($leadfile, "./vicidial_temp_file.txt"); + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + { + $stmt_file=fopen("listloader_stmts.txt", "w"); + } + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + + if (count($field_check)>=5) { + flush(); + $file=fopen("$lead_file", "r"); + print "
Verarbeitung$delim_name-delimited file...\n"; + + if (strlen($list_id_override)>0) + { + print "

LISTE IDENTIFIKATION OVERRIDE FOR THIS FILE: $list_id_override

"; + } + + if (strlen($phone_code_override)>0) + { + print "

TELEFON-CODE-ÜBERSTEUERUNG FÜR DIESE AKTE: $phone_code_override

"; + } + + while (!feof($file)) { + $record++; + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + + if (strlen($buffer)>0) { + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[$vendor_lead_code_field]; + $source_code = $row[$source_id_field]; + $source_id=$source_code; + $list_id = $row[$list_id_field]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[$phone_code_field]); + $phone_number = eregi_replace("[^0-9]", "", $row[$phone_number_field]); + $USarea = substr($phone_number, 0, 3); + $title = $row[$title_field]; + $first_name = $row[$first_name_field]; + $middle_initial = $row[$middle_initial_field]; + $last_name = $row[$last_name_field]; + $address1 = $row[$address1_field]; + $address2 = $row[$address2_field]; + $address3 = $row[$address3_field]; + $city =$row[$city_field]; + $state = $row[$state_field]; + $province = $row[$province_field]; + $postal_code = $row[$postal_code_field]; + $country_code = $row[$country_code_field]; + $gender = $row[$gender_field]; + $date_of_birth = $row[$date_of_birth_field]; + $alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]); + $email = $row[$email_field]; + $security_phrase = $row[$security_phrase_field]; + $comments = trim($row[$comments_field]); + + if (strlen($list_id_override)>0) + { + # print "

LISTE IDENTIFIKATION OVERRIDE FOR THIS FILE: $list_id_override

"; + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + $dup_lead_list = $list_id; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead $dup_lead_list\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
"; + + } else { + print "
STÖRUNG: Die Akte hat nicht die erforderliche Zahl vonauffängt, um sie zu verarbeiten.
"; + } + } else if (!eregi(".csv", $leadfile_name)) { + # copy($leadfile, "./vicidial_temp_file.xls"); + $file=fopen("$lead_file", "r"); + + print "
VerarbeitungExcel file... \n"; + if (strlen($list_id_override)>0) + { + print "

LISTE IDENTIFIKATION OVERRIDE FOR THIS FILE: $list_id_override

\n"; + } + if (strlen($phone_code_override)>0) + { + print "

TELEFON-CODE-ÜBERSTEUERUNG FÜR DIESE AKTE: $phone_code_override

\n"; + } + # print "|$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override --lead_file=$lead_file|"; + $dupcheckCLI=''; $postalgmtCLI=''; + if (eregi("DUPLIST",$dupcheck)) {$dupcheckCLI='--duplicate-check';} + if (eregi("DUPCAMP",$dupcheck)) {$dupcheckCLI='--duplicate-campaign-check';} + if (eregi("DUPSYS",$dupcheck)) {$dupcheckCLI='--duplicate-system-check';} + if (eregi("POSTAL",$postalgmt)) {$postalgmtCLI='--postal-code-gmt';} + passthru("$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override --forcephonecode=$phone_code_override --lead-file=$lead_file $postalgmtCLI $dupcheckCLI"); + } else { + # copy($leadfile, "./vicidial_temp_file.csv"); + $file=fopen("$lead_file", "r"); + + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + print "
VerarbeitungCSV file... \n"; + if (strlen($list_id_override)>0) + { + print "

LISTE IDENTIFIKATION OVERRIDE FOR THIS FILE: $list_id_override

"; + } + + if (strlen($phone_code_override)>0) + { + print "

TELEFON-CODE-ÜBERSTEUERUNG FÜR DIESE AKTE: $phone_code_override

"; + } + + while($row=fgetcsv($file, 1000, ",")) { + + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[$vendor_lead_code_field]; + $source_code = $row[$source_id_field]; + $source_id=$source_code; + $list_id = $row[$list_id_field]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[$phone_code_field]); + $phone_number = eregi_replace("[^0-9]", "", $row[$phone_number_field]); + $USarea = substr($phone_number, 0, 3); + $title = $row[$title_field]; + $first_name = $row[$first_name_field]; + $middle_initial = $row[$middle_initial_field]; + $last_name = $row[$last_name_field]; + $address1 = $row[$address1_field]; + $address2 = $row[$address2_field]; + $address3 = $row[$address3_field]; + $city =$row[$city_field]; + $state = $row[$state_field]; + $province = $row[$province_field]; + $postal_code = $row[$postal_code_field]; + $country_code = $row[$country_code_field]; + $gender = $row[$gender_field]; + $date_of_birth = $row[$date_of_birth_field]; + $alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]); + $email = $row[$email_field]; + $security_phrase = $row[$security_phrase_field]; + $comments = trim($row[$comments_field]); + + if (strlen($list_id_override)>0) + { + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
"; + } + print ""; + } + +if ($leadfile && filesize($LF_path)<=8388608) { + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + if ($file_layout=="standard") { + + print ""; + flush(); + + if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) { + + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"); + $lead_file = "./vicidial_temp_file.txt"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.txt"); + $lead_file = "/tmp/vicidial_temp_file.txt"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + + if (count($field_check)>=5) { + flush(); + $file=fopen("$lead_file", "r"); + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + print "
Verarbeitung$delim_name-delimited file... ($tab_count|$pipe_count)\n"; + if (strlen($list_id_override)>0) + { + print "

LISTE IDENTIFIKATION OVERRIDE FOR THIS FILE: $list_id_override

"; + } + if (strlen($phone_code_override)>0) + { + print "

TELEFON-CODE-ÜBERSTEUERUNG FÜR DIESE AKTE: $phone_code_override

\n"; + } + while (!feof($file)) { + $record++; + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + + if (strlen($buffer)>0) { + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[0]; + $source_code = $row[1]; + $source_id=$source_code; + $list_id = $row[2]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[3]); + $phone_number = eregi_replace("[^0-9]", "", $row[4]); + $USarea = substr($phone_number, 0, 3); + $title = $row[5]; + $first_name = $row[6]; + $middle_initial = $row[7]; + $last_name = $row[8]; + $address1 = $row[9]; + $address2 = $row[10]; + $address3 = $row[11]; + $city =$row[12]; + $state = $row[13]; + $province = $row[14]; + $postal_code = $row[15]; + $country_code = $row[16]; + $gender = $row[17]; + $date_of_birth = $row[18]; + $alt_phone = eregi_replace("[^0-9]", "", $row[19]); + $email = $row[20]; + $security_phrase = $row[21]; + $comments = trim($row[22]); + + if (strlen($list_id_override)>0) + { + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
"; + + } else { + print "
STÖRUNG: Die Akte hat nicht die erforderliche Zahl vonauffängt, um sie zu verarbeiten.
"; + } + } else if (!eregi(".csv", $leadfile_name)) + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.xls"); + $lead_file = "/tmp/vicidial_temp_file.xls"; + } + $file=fopen("$lead_file", "r"); + + # echo "|$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override --lead-file=$lead_file|"; + $dupcheckCLI=''; $postalgmtCLI=''; + if (eregi("DUPLIST",$dupcheck)) {$dupcheckCLI='--duplicate-check';} + if (eregi("DUPCAMP",$dupcheck)) {$dupcheckCLI='--duplicate-campaign-check';} + if (eregi("DUPSYS",$dupcheck)) {$dupcheckCLI='--duplicate-system-check';} + if (eregi("POSTAL",$postalgmt)) {$postalgmtCLI='--postal-code-gmt';} + passthru("$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override --forcephonecode=$phone_code_override --lead-file=$lead_file $postalgmtCLI $dupcheckCLI"); + + } + else + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.csv"); + $lead_file = "/tmp/vicidial_temp_file.csv"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + print "
VerarbeitungCSV file... \n"; + + if (strlen($list_id_override)>0) + { + print "

LISTE IDENTIFIKATION OVERRIDE FOR THIS FILE: $list_id_override

"; + } + if (strlen($phone_code_override)>0) + { + print "

TELEFON-CODE-ÜBERSTEUERUNG FÜR DIESE AKTE: $phone_code_override

"; + } + + while($row=fgetcsv($file, 1000, ",")) { + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[0]; + $source_code = $row[1]; + $source_id=$source_code; + $list_id = $row[2]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[3]); + $phone_number = eregi_replace("[^0-9]", "", $row[4]); + $USarea = substr($phone_number, 0, 3); + $title = $row[5]; + $first_name = $row[6]; + $middle_initial = $row[7]; + $last_name = $row[8]; + $address1 = $row[9]; + $address2 = $row[10]; + $address3 = $row[11]; + $city =$row[12]; + $state = $row[13]; + $province = $row[14]; + $postal_code = $row[15]; + $country_code = $row[16]; + $gender = $row[17]; + $date_of_birth = $row[18]; + $alt_phone = eregi_replace("[^0-9]", "", $row[19]); + $email = $row[20]; + $security_phrase = $row[21]; + $comments = trim($row[22]); + + if (strlen($list_id_override)>0) + { + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
"; + + } + print ""; + + } else { + print "
"; + flush(); + print "\r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + + $rslt=mysql_query("select vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments from vicidial_list limit 1", $link); + + + if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.txt"); + $lead_file = "/tmp/vicidial_temp_file.txt"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + flush(); + $file=fopen("$lead_file", "r"); + print "
Verarbeitung$delim_name-delimited file...\n"; + + if (strlen($list_id_override)>0) + { + print "

LISTE IDENTIFIKATION OVERRIDE FOR THIS FILE: $list_id_override

"; + } + if (strlen($phone_code_override)>0) + { + print "

TELEFON-CODE-ÜBERSTEUERUNG FÜR DIESE AKTE: $phone_code_override

"; + } + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + + for ($i=0; $i\r\n"; + print "
\r\n"; + print " \r\n"; + print " \r\n"; + + #print " \r\n"; + #print " \r\n"; + #print " \r\n"; + #print " \r\n"; + } + } + else if (!eregi(".csv", $leadfile_name)) + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.xls"); + $lead_file = "/tmp/vicidial_temp_file.xls"; + } + + # echo "|$WeBServeRRooT/vicidial/listloader_rowdisplay.pl --lead-file=$lead_file|"; + $dupcheckCLI=''; $postalgmtCLI=''; + if (eregi("DUPLIST",$dupcheck)) {$dupcheckCLI='--duplicate-check';} + if (eregi("DUPCAMP",$dupcheck)) {$dupcheckCLI='--duplicate-campaign-check';} + if (eregi("DUPSYS",$dupcheck)) {$dupcheckCLI='--duplicate-system-check';} + if (eregi("POSTAL",$postalgmt)) {$postalgmtCLI='--postal-code-gmt';} + passthru("$WeBServeRRooT/vicidial/listloader_rowdisplay.pl --lead-file=$lead_file $postalgmtCLI $dupcheckCLI"); + } + else + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.csv"); + $lead_file = "/tmp/vicidial_temp_file.csv"; + } + $file=fopen("$lead_file", "r"); + + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + print "
VerarbeitungCSV file... \n"; + + if (strlen($list_id_override)>0) + { + print "

LISTE IDENTIFIKATION OVERRIDE FOR THIS FILE: $list_id_override

"; + } + if (strlen($phone_code_override)>0) + { + print "

TELEFON-CODE-ÜBERSTEUERUNG FÜR DIESE AKTE: $phone_code_override

"; + } + + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + $row=fgetcsv($file, 1000, ","); + for ($i=0; $i\r\n"; + print "
\r\n"; + print " \r\n"; + print " \r\n"; + + #print " \r\n"; + #print " \r\n"; + #print " \r\n"; + #print " \r\n"; + } + } + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print "
VICIDIAL SpalteAkte Daten
".strtoupper(eregi_replace("_", " ", mysql_field_name($rslt, $i))).":
$row[$i]
".strtoupper(eregi_replace("_", " ", mysql_field_name($rslt, $i))).":
$row[$i]
        
\r\n"; + # } + print ""; + } +} else if (filesize($leadfile)>8388608) { + print "
STÖRUNG: Akte übersteigt die Begrenzung 8MB.
"; +} +?> + + + + + + + + +4) ) + { + if (preg_match('/^1$/', $phone_code)) + { + $stmt="select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[3]; + $dst_range = $row[4]; + $PC_processed++; + $postalgmt_found++; + $post++; + } + } + } +if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =='1') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### MEXICO ### + if ($phone_code =='52') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### AUSTRALIA ### + if ($phone_code =='61') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $PC_processed++; + $stmt="select * from vicidial_phone_codes where country_code='$phone_code';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + } + +### Find out if DST to raise the gmt offset ### +$AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); +$AC_localtime = mktime(($Shour + $AC_GMT_diff), $Smin, $Ssec, $Smon, $Smday, $Syear); + $hour = date("H",$AC_localtime); + $min = date("i",$AC_localtime); + $sec = date("s",$AC_localtime); + $mon = date("m",$AC_localtime); + $mday = date("d",$AC_localtime); + $wday = date("w",$AC_localtime); + $year = date("Y",$AC_localtime); +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + +$AC_processed=0; +if ( (!$AC_processed) and ($dst_range == 'SSM-FSN') ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + #********************************************************************** + # SSM-FSN + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on Second Sunday March to First Sunday November at 2 am. + # INPUTS: + # mm INTEGER Month. + # dd INTEGER Day of the month. + # ns INTEGER Seconds into the day. + # dow INTEGER Day of week (0=Sunday, to 6=Saturday) + # OPTIONAL INPUT: + # timezone INTEGER hour difference UTC - local standard time + # (DEFAULT is blank) + # make calculations based on UTC time, + # which means shift at 10:00 UTC in April + # and 9:00 UTC in October + # OUTPUT: + # INTEGER 1 = DST, 0 = not DST + # + # S M T W T F S + # 1 2 3 4 5 6 7 + # 8 9 10 11 12 13 14 + #15 16 17 18 19 20 21 + #22 23 24 25 26 27 28 + #29 30 31 + # + # S M T W T F S + # 1 2 3 4 5 6 + # 7 8 9 10 11 12 13 + #14 15 16 17 18 19 20 + #21 22 23 24 25 26 27 + #28 29 30 31 + # + #********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; + } elseif ($mm >= 4 and $mm <= 10) { + $USACAN_DST=1; + } elseif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; + } elseif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } + } else { + $USACAN_DST=0; + } + } elseif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; + } elseif ($dd < ($dow+1)) { + $USACAN_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } else { # lokale Zeit calculations + if ($ns < 7200) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } + } else { + $USACAN_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'FSA-LSO') ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + #********************************************************************** + # FSA-LSO + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in April and last Sunday in October at 2 am. + #********************************************************************** + + $USA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $USA_DST=0; + } elseif ($mm >= 5 and $mm <= 9) { + $USA_DST=1; + } elseif ($mm == 4) { + if ($dd > 7) { + $USA_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $USA_DST=0; + } else { + $USA_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $USA_DST=0; + } else { + $USA_DST=1; + } + } + } else { + $USA_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $USA_DST=1; + } elseif ($dd < ($dow+25)) { + $USA_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USA_DST=1; + } else { + $USA_DST=0; + } + } else { # lokale Zeit calculations + if ($ns < 7200) { + $USA_DST=1; + } else { + $USA_DST=0; + } + } + } else { + $USA_DST=0; + } + } # end of month checks + + if ($DBX) {print " DST: $USA_DST\n";} + if ($USA_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'LSM-LSO') ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in March and last Sunday in October at 1 am. + #********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; + } elseif ($mm >= 4 and $mm <= 9) { + $GBR_DST=1; + } elseif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; + } elseif ($dd < ($dow+25)) { + $GBR_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } else { # lokale Zeit calculations + if ($ns < 3600) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } + } else { + $GBR_DST=1; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; + } elseif ($dd < ($dow+25)) { + $GBR_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } else { # lokale Zeit calculations + if ($ns < 3600) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } + } else { + $GBR_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } +if ( (!$AC_processed) and ($dst_range == 'LSO-LSM') ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUS_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; + } elseif ($dd < ($dow+25)) { + $AUS_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } else { # lokale Zeit calculations + if ($ns < 3600) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } + } else { + $AUS_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; + } elseif ($dd < ($dow+25)) { + $AUS_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } else { # lokale Zeit calculations + if ($ns < 3600) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } + } else { + $AUS_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'FSO-LSM') ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + #********************************************************************** + # TASMANIA ONLY + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUST_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; + } elseif ($dd < ($dow+25)) { + $AUST_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } else { # lokale Zeit calculations + if ($ns < 3600) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } + } else { + $AUST_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $AUST_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } + } else { + $AUST_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } +if ( (!$AC_processed) and ($dst_range == 'FSO-TSM') ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and third Sunday in March at 1 am. + #********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $NZL_DST=0; + } elseif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; + } elseif ($dd < ($dow+14)) { + $NZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } else { # lokale Zeit calculations + if ($ns < 3600) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } + } else { + $NZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $NZL_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } + } else { + $NZL_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'TSO-LSF') ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + #********************************************************************** + # TSO-LSF + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. Brazil + # Based on Third Sunday October to Last Sunday February at 1 am. + #********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; + } elseif ($mm >= 3 and $mm <= 9) { + $BZL_DST=0; + } elseif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; + } elseif ($dd < ($dow+22)) { + $BZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } else { # lokale Zeit calculations + if ($ns < 3600) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } + } else { + $BZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; + } elseif ($dd < ($dow+22)) { + $BZL_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } else { # lokale Zeit calculations + if ($ns < 3600) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } + } else { + $BZL_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$gmt_offset++;} + $AC_processed++; + } + +if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + +return $gmt_offset; +} \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/remote_dispo.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/remote_dispo.php new file mode 100644 index 00000000..01d5eb2d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/remote_dispo.php @@ -0,0 +1,327 @@ + LICENSE: GPLv2 +### +# this is the remote agent disposition screen for calls sent to remote agents. This allows the remote agent to modify customer information and disposition the call + +# CHANGES +# +# 60619-1626 - Added variable filtering to eliminate SQL injection attack threat +# + + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];} + elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["channel_group"])) {$channel_group=$_GET["channel_group"];} + elseif (isset($_POST["channel_group"])) {$channel_group=$_POST["channel_group"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["customer_zap_channel"])) {$customer_zap_channel=$_GET["customer_zap_channel"];} + elseif (isset($_POST["customer_zap_channel"])) {$customer_zap_channel=$_POST["customer_zap_channel"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];} + elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];} + elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["security"])) {$security=$_GET["security"];} + elseif (isset($_POST["security"])) {$security=$_POST["security"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_id"])) {$session_id=$_GET["session_id"];} + elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];} + elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$ext_context = 'demo'; +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 2;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-CLOSER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $fullname = $row[0]; + fwrite ($fp, "VD_CLOSER|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + + } + else + { + fwrite ($fp, "VD_CLOSER|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +?> + + +VICIDIAL DIREKTÜBERTRAGUNG: Anruf-Einteilung +\n"; +?> + + +
+ +"; + +if ($end_call > 0) +{ + +$call_length = ($STARTtime - $call_began); + + ### insert a NEW record to the vicidial_closer_log table + $stmt="UPDATE vicidial_closer_log set end_epoch='$STARTtime', length_in_sec='" . mysql_real_escape_string($call_length) . "', status='" . mysql_real_escape_string($status) . "', user='$PHP_AUTH_USER' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by start_epoch desc limit 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + ### update the lead record in the vicidial_list table + $stmt="UPDATE vicidial_list set status='" . mysql_real_escape_string($status) . "',first_name='" . mysql_real_escape_string($first_name) . "',last_name='" . mysql_real_escape_string($last_name) . "',address1='" . mysql_real_escape_string($address1) . "',address2='" . mysql_real_escape_string($address2) . "',address3='" . mysql_real_escape_string($address3) . "',city='" . mysql_real_escape_string($city) . "',state='" . mysql_real_escape_string($state) . "',province='" . mysql_real_escape_string($province) . "',postal_code='" . mysql_real_escape_string($postal_code) . "',country_code='" . mysql_real_escape_string($country_code) . "',alt_phone='" . mysql_real_escape_string($alt_phone) . "',email='" . mysql_real_escape_string($email) . "',security_phrase='" . mysql_real_escape_string($security) . "',comments='" . mysql_real_escape_string($comments) . "',user='$PHP_AUTH_USER' where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Anruf ist dispositioned gewesen       $NOW_TIME\n

\n"; + + echo "
\n"; + +} +else +{ + $stmt="SELECT count(*) from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_count = $row[0]; + + if ($lead_count > 0) + { + + $stmt="SELECT * from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_id = "$row[0]"; + $tsr = "$row[4]"; + $vendor_id = "$row[5]"; + $list_id = "$row[7]"; + $campaign_id = "$row[8]"; + $phone_code = "$row[10]"; + $phone_number = "$row[11]"; + $title = "$row[12]"; + $first_name = "$row[13]"; # + $middle_initial = "$row[14]"; + $last_name = "$row[15]"; # + $address1 = "$row[16]"; # + $address2 = "$row[17]"; # + $address3 = "$row[18]"; # + $city = "$row[19]"; # + $state = "$row[20]"; # + $province = "$row[21]"; # + $postal_code = "$row[22]"; # + $country_code = "$row[23]"; # + $gender = "$row[24]"; + $date_of_birth = "$row[25]"; + $alt_phone = "$row[26]"; # + $email = "$row[27]"; # + $security = "$row[28]"; # + $comments = "$row[29]"; # + + echo "
Anrufinformationen: $first_name $last_name - $phone_number

\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
Vendor ID: $vendor_id     Kampagne Identifikation: $campaign_id
Fronter: $tsr     Liste Identifikation: $list_id
Vorname:   \n"; + echo " Letzter Name:
  \n"; + echo "Postcode:
\n"; + echo "


\n"; + + } + else + { + echo "Leitung Nachschlagen FIEL für lead_id aus $lead_id       $NOW_TIME\n

\n"; +# echo "Close this window\n

\n"; + } + + + + + + +} + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nIndexlaufzeit: $RUNtime seconds
"; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/server_stats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/server_stats.php new file mode 100644 index 00000000..0040f875 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/server_stats.php @@ -0,0 +1,97 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60620-1037 - Added Link back to Admin section +# - Added required user/pass to gain access to this page +# 61101-1331 - Added SIP/IAX listen/barge links +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="select * from servers;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$servers_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $servers_to_print) + { + $row=mysql_fetch_row($rslt); + $server_id[$i] = $row[0]; + $server_description[$i] = $row[1]; + $server_ip[$i] = $row[2]; + $active[$i] = $row[3]; + $i++; + } +?> + + + + + +VICIDIAL: Bediener-Notfall and Reports +VICIDIAL: Bediener-Notfall and Reports                           +ZURÜCK ZU ADMIN

+ + +

+
+ $o)
+	{
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	$o++;
+	}
+
+?>
+
SERVERBESCHREIBUNGIP ADDRESSAKTIVVDAD timeVDcall timePARK timeCLOSER/INBOUND time
$server_id[$o]$server_description[$o]$server_ip[$o]$active[$o]LINKLINKLINKLINK
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/user_stats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/user_stats.php new file mode 100644 index 00000000..8b7ac6eb --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/user_stats.php @@ -0,0 +1,408 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1743 - Added variable filtering to eliminate SQL injection attack threat +# 61201-1136 - Added recordings display and changed calls to time range with 10000 limit +# 70118-1605 - Added user group column to login/out and calls lists +# 70702-1231 - Added recording location link and truncation +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["begin_date"])) {$begin_date=$_GET["begin_date"];} + elseif (isset($_POST["begin_date"])) {$begin_date=$_POST["begin_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); + +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and view_reports='1';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + + $stmt="SELECT full_name from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + + } + + + + +?> + + +VICIDIAL ADMIN: User Stats +\n"; +?> + + +
+ + + + + +\n"; +echo "
" ?>   VICIDIAL ADMIN: User Stats for  
  \n"; + +echo "
\n"; +echo "\n"; +echo " to \n"; +echo "  \n"; +echo "\n"; + + +echo "           $user - $full_name\n"; + +echo " - VICIDIAL Time Sheet\n"; +echo " - User Status\n"; +echo " - Ändern Sie Benutzer\n"; + + +echo "
\n"; + + + $stmt="SELECT count(*),status, sum(length_in_sec) from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' group by status order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + +echo "
\n"; + +echo "GESPRÄCH ZEIT UND STATUS:\n"; + +echo "
\n"; +echo "\n"; + + $total_calls=0; + $o=0; + while ($statuses_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $call_seconds = $row[2]; + $call_hours = ($call_seconds / 3600); + $call_hours = round($call_hours, 2); + $call_hours_int = intval("$call_hours"); + $call_minutes = ($call_hours - $call_hours_int); + $call_minutes = ($call_minutes * 60); + $call_minutes_int = round($call_minutes, 0); + if ($call_minutes_int < 10) {$call_minutes_int = "0$call_minutes_int";} + + echo ""; + echo "\n"; + echo "\n"; + $total_calls = ($total_calls + $row[0]); + + $call_seconds=0; + $o++; + } + + $stmt="SELECT sum(length_in_sec) from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59'"; + $rslt=mysql_query($stmt, $link); + $counts_to_print = mysql_num_rows($rslt); + $row=mysql_fetch_row($rslt); + $call_seconds = $row[0]; + $call_hours = ($call_seconds / 3600); + $call_hours = round($call_hours, 2); + $call_hours_int = intval("$call_hours"); + $call_minutes = ($call_hours - $call_hours_int); + $call_minutes = ($call_minutes * 60); + $call_minutes_int = round($call_minutes, 0); + if ($call_minutes_int < 10) {$call_minutes_int = "0$call_minutes_int";} + +echo "\n"; +echo "
STATUSZÄHLIMPULSHOURS:MINUTES
$row[1] $row[0] $call_hours_int:$call_minutes_int
GESAMTANRUFE $total_calls $call_hours_int:$call_minutes_int
\n"; +echo "

\n"; + +echo "
\n"; + +echo "LOGIN/LOGOUT ZEIT:\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT event,event_epoch,event_date,campaign_id,user_group from vicidial_user_log where user='" . mysql_real_escape_string($user) . "' and event_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and event_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59'"; + $rslt=mysql_query($stmt, $link); + $events_to_print = mysql_num_rows($rslt); + + $total_calls=0; + $o=0; + $event_start_seconds=''; + $event_stop_seconds=''; + while ($events_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("LOGIN", $row[0])) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + if (ereg("LOGIN", $row[0])) + { + $event_start_seconds = $row[1]; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + if (ereg("LOGOUT", $row[0])) + { + if ($event_start_seconds) + { + $event_stop_seconds = $row[1]; + $event_seconds = ($event_stop_seconds - $event_start_seconds); + $total_login_time = ($total_login_time + $event_seconds); + $event_hours = ($event_seconds / 3600); + $event_hours = round($event_hours, 2); + $event_hours_int = intval("$event_hours"); + $event_minutes = ($event_hours - $event_hours_int); + $event_minutes = ($event_minutes * 60); + $event_minutes_int = round($event_minutes, 0); + if ($event_minutes_int < 10) {$event_minutes_int = "0$event_minutes_int";} + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $event_start_seconds=''; + $event_stop_seconds=''; + } + else + { + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + } + } + + $total_calls = ($total_calls + $row[0]); + + $call_seconds=0; + $o++; + } + +$total_login_hours = ($total_login_time / 3600); +$total_login_hours = round($total_login_hours, 2); +$total_login_hours_int = intval("$total_login_hours"); +$total_login_minutes = ($total_login_hours - $total_login_hours_int); +$total_login_minutes = ($total_login_minutes * 60); +$total_login_minutes_int = round($total_login_minutes, 0); +if ($total_login_minutes_int < 10) {$total_login_minutes_int = "0$total_login_minutes_int";} + +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; + +echo "
FALL DATUM KAMPAGNE GROUPHOURS:MINUTES
$row[0] $row[2] $row[3] $row[4]
$row[0] $row[2] $row[3] $row[4] $event_hours_int:$event_minutes_int
$row[0] $row[2] $row[3]
GESAMTMENGE $total_login_hours_int:$total_login_minutes_int
\n"; + + +echo "

\n"; + +echo "
\n"; + +echo "OUTBOUND CALLS FOR THIS TIME PERIOD: (10000 record limit)\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + } + + +echo "
# DATE/TIME LENGTH STATUS PHONE KAMPAGNE GROUP LIST LEAD
$u$row[4] $row[7] $row[8] $row[10] $row[3] $row[14] $row[2] $row[1]


\n"; + + + +echo "CLOSER CALLS FOR THIS TIME PERIOD: (10000 record limit)\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from vicidial_closer_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + } + + +echo "
# DATE/TIME LENGTH STATUS PHONE KAMPAGNE WAIT (S) LIST LEAD
$u$row[4] $row[7] $row[8] $row[10] $row[3] $row[14] $row[2] $row[1]


\n"; + + + + +echo "RECORDINGS FOR THIS TIME PERIOD: (10000 record limit)\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from recording_log where user='" . mysql_real_escape_string($user) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by recording_id desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $location = $row[11]; + if (strlen($location)>30) + {$locat = substr($location,0,27); $locat = "$locat...";} + else + {$locat = $location;} + if (eregi("http",$location)) + {$location = "$locat";} + else + {$location = $locat;} + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + } + + +echo "
# LEADDATE/TIME SECONDS   RECIDFILENAMELOCATION  
$u $row[12] $row[4] $row[8] $row[0] $row[10] $location  
\n"; + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nIndexlaufzeit: $RUNtime seconds
"; + + +?> + + +
+ + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/user_status.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/user_status.php new file mode 100644 index 00000000..cfd46c20 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/user_status.php @@ -0,0 +1,242 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1738 - Added variable filtering to eliminate SQL injection attack threat +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["begin_date"])) {$begin_date=$_GET["begin_date"];} + elseif (isset($_POST["begin_date"])) {$begin_date=$_POST["begin_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); + +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and view_reports='1';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name,change_agent_campaign from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $change_agent_campaign=$row[1]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + + $stmt="SELECT full_name,user_group from vicidial_users where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + $user_group = $row[1]; + + $stmt="SELECT * from vicidial_live_agents where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $agents_to_print = mysql_num_rows($rslt); + $i=0; + while ($i < $agents_to_print) + { + $row=mysql_fetch_row($rslt); + $Aserver_ip = $row[2]; + $Asession_id = $row[3]; + $Aextension = $row[4]; + $Astatus = $row[5]; + $Acampaign = $row[7]; + $Alast_call = $row[14]; + $Acl_campaigns = $row[15]; + $i++; + } + + } + +$stmt="select * from vicidial_campaigns;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + + + +?> + + +VICIDIAL ADMIN: User Status +\n"; +?> + + +
+
+ + + + +\n"; +echo "
" ?>   VICIDIAL ADMIN: User Status for  
  \n"; + +if ($stage == "live_campaign_change") +{ + $stmt="UPDATE vicidial_live_agents set campaign_id='" . mysql_real_escape_string($group) . "' where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + + echo "Agent $user - $full_name changed to $group campaign
\n"; + + exit; +} + +if ($stage == "log_agent_out") +{ + $stmt="DELETE from vicidial_live_agents where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + + echo "Agent $user - $full_name has been emergency logged out, make sure they close their web browser
\n"; + + exit; +} + +if ($agents_to_print > 0) +{ + echo "
";
+	echo "Agent Logged in at server:  $Aserver_ip\n";
+	echo "               in session:  $Asession_id\n";
+	echo "               from phone:  $Aextension\n";
+	echo "Agent is in campaign:       $Acampaign\n";
+	echo "              status:       $Astatus\n";
+	echo " hungup last call at:       $Alast_call\n";
+	echo "       Closer groups:       $Acl_campaigns\n\n";
+
+	echo "
"; + + + if ($change_agent_campaign > 0) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Current Kampagne: \n"; + echo "
\n"; + + + echo "
\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + } +} + +else +{ + echo "Agent is not logged in\n
"; + +} + + +echo "           $user - $full_name \n"; +echo "       GROUP: $user_group

\n"; + +echo "VICIDIAL Time Sheet\n"; +echo " - User Stats\n"; +echo " - Ändern Sie Benutzer\n"; + +echo "
\n"; + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nIndexlaufzeit: $RUNtime seconds
"; + +echo "|$stage|$group|"; + +?> + + +
+ + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/vdremote.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/vdremote.php new file mode 100644 index 00000000..58bcd035 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/vdremote.php @@ -0,0 +1,602 @@ + LICENSE: GPLv2 +# +# Changes +# 50307-1721 - First version +# 51123-1502 - removed requirement of PHP Globals=on +# 60421-1229 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1603 - Added variable filtering to eliminate SQL injection attack threat +# +# make sure you have added a user to the vicidial_users MySQL table with at least user_level 4 to access this page the first time + +$version = '1.1.12'; +$build = '60619-1603'; + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["force_logout"])) {$force_logout=$_GET["force_logout"];} + elseif (isset($_POST["force_logout"])) {$force_logout=$_POST["force_logout"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["remote_agent_id"])) {$remote_agent_id=$_GET["remote_agent_id"];} + elseif (isset($_POST["remote_agent_id"])) {$remote_agent_id=$_POST["remote_agent_id"];} +if (isset($_GET["user_start"])) {$user_start=$_GET["user_start"];} + elseif (isset($_POST["user_start"])) {$user_start=$_POST["user_start"];} +if (isset($_GET["number_of_lines"])) {$number_of_lines=$_GET["number_of_lines"];} + elseif (isset($_POST["number_of_lines"])) {$number_of_lines=$_POST["number_of_lines"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +if (!isset($force_logout)) {$force_logout = 0;} + +if ($force_logout) +{ + if( (strlen($PHP_AUTH_USER)>0) or (strlen($PHP_AUTH_PW)>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "Sie haben jetzt heraus geloggt. Danke\n"; + exit; +} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + +$popup_page = './closer_popup.php'; +$STARTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 3;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Unzulässiges Username/Kennwort:|$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + + $stmt="SELECT count(*) from vicidial_remote_agents where user_start='$PHP_AUTH_USER';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $authx=$row[0]; + + if($authx>0) + { + $stmt="SELECT remote_agent_id,server_ip,number_of_lines from vicidial_remote_agents where user_start='$PHP_AUTH_USER';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id=$row[0]; + $server_ip=$row[1]; + if (!$number_of_lines) {$number_of_lines=$row[2];} + + fwrite ($fp, "VDremote|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VDremote|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + echo "This remote agent does not exist: |$PHP_AUTH_USER|\n"; + exit; + } + } + else + { + fwrite ($fp, "VDremote|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +echo "\n"; +echo "\n"; +echo "\n"; +if ($ADD==61111) + { + echo"\n"; + } +echo "\n"; +?> + +VICIDIAL DIREKTÜBERTRAGUNG MITTEL: $LOGfullname - $PHP_AUTH_USER "; + +if (!$ADD) {$ADD="31111";} +if ($ADD==31111) {echo "Ändern Sie Remotemittel";} +if ($ADD==41111) {echo "Ändern Sie Remotemittel";} +if ($ADD==61111) {echo "Remote Agent Status";} +if ($ADD==71111) {echo "Remote Agent Closer Stats";} + + +if (strlen($ADD)>4) + { + ##### get server listing for dynamic pulldown + $stmt="SELECT server_ip,server_description from servers order by server_ip"; + $rslt=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rslt); + $servers_list=''; + + $o=0; + while ($servers_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $servers_list .= "\n"; + $o++; + } + + ##### get campaigns listing for dynamic pulldown + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "\n"; + $o++; + } + + ##### get inbound groups listing for checkboxes + if ( (($ADD==31111) or ($ADD==31111)) and (count($groups)<1) ) + { + $stmt="SELECT closer_campaigns from vicidial_remote_agents where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $groups_list=''; + $groups_value=''; + + $o=0; + while ($groups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $group_id_value = $rowx[0]; + $group_name_value = $rowx[1]; + $groups_list .= "2) {$groups_value .= " -";} + } + +?> + + + +
+
+ + + +
  VICIDIAL DIREKTÜBERTRAGUNG MITTEL:   Logout  
  ÄNDERN Sie | ">STATUS | ">INBOUND NOTFALL
+"; + + $stmt="SELECT * from vicidial_remote_agents where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id = $row[0]; + $user_start = $row[1]; + $number_of_lines = $row[2]; + $server_ip = $row[3]; + $conf_exten = $row[4]; + $status = $row[5]; + $campaign_id = $row[6]; + +echo "
ÄNDERN Sie Eine REMOTEMITTEL-EINTRAGUNG: $row[0]
\n"; +echo "\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Benutzernummer Anfang: $user_start
Zeilenzahl: (nur Zahlen)
Bediener IP: $row[3]
Externe Verlängerung: (number dialed to reach agents [i.e. 913125551212])
Status:
Kampagne: $campaign_id
Inbound Gruppen: \n"; +echo "$groups_list"; +echo "
\n"; +echo "ANMERKUNG: Sie kann bis 30 Sekunden für die Änderungen dauern, dieauf diesem Schirm eingereicht werden, um Phasen zu gehen\n"; + +} + + + + +###################### +# ADD=41111 modify remote agents info in the system +###################### + +if ($ADD==41111) +{ + echo ""; + + if ( (strlen($number_of_lines) < 1) or (strlen($conf_exten) < 2) ) + {echo "
REMOTEMITTEL NICHT GEÄNDERT - gehen Sie bitte zurück und betrachtenSie die Daten, die Sie eingaben\n";} + else + { + $stmt="UPDATE vicidial_remote_agents set number_of_lines='" . mysql_real_escape_string($number_of_lines) . "', conf_exten='" . mysql_real_escape_string($conf_exten) . "', status='" . mysql_real_escape_string($status) . "', closer_campaigns='" . mysql_real_escape_string($groups_value) . "' where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + +# echo "$stmt\n"; + echo "
REMOTEMITTEL GEÄNDERT\n"; + + ### LOG CHANGES TO LOG FILE ### + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY REMOTEMITTEL ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + + } + + $stmt="SELECT * from vicidial_remote_agents where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id = $row[0]; + $user_start = $row[1]; + $number_of_lines = $row[2]; + $server_ip = $row[3]; + $conf_exten = $row[4]; + $status = $row[5]; + $campaign_id = $row[6]; + +echo "
ÄNDERN Sie Eine REMOTEMITTEL-EINTRAGUNG: $row[0]\n"; +echo "\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Benutzernummer Anfang: $user_start
Zeilenzahl: (nur Zahlen)
Bediener IP: $row[3]
Externe Verlängerung: (number dialed to reach agents [i.e. 913125551212])
Status:
Kampagne: $campaign_id
Inbound Gruppen: \n"; +echo "$groups_list"; +echo "
\n"; +echo "ANMERKUNG: Sie kann bis 30 Sekunden für die Änderungen dauern, dieauf diesem Schirm eingereicht werden, um Phasen zu gehen\n"; + +} + + + + +###################### +# ADD=61111 status of remote agent in the system and active calls and queue +###################### + +if ($ADD==61111) +{ + echo "
";
+
+	 if ( (strlen($server_ip) < 2) or (strlen($user) < 2) )
+		{echo "
REMOTEMITTEL-STÖRUNG - gehen Sie bitte zurück und betrachten Sie dieDaten, die Sie eingaben\n";} + else + { + + $users_list = ''; + $k=0; + while($k < $number_of_lines) + { + $nextuser=($user + $k); + $users_list .= "'" . mysql_real_escape_string($nextuser) . "',"; + $k++; + } + $users_list = preg_replace("/.$/","",$users_list); + + echo "VICIDIAL: Remote Agent Time On Calls $NOW_TIME\n\n"; + echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n"; + echo "| STATION | USER | LEADID | CHANNEL | STATUS | START TIME | MINUTES |\n"; + echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n"; + + + $stmt="select extension,user,lead_id,channel,status,last_call_time,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish) from vicidial_live_agents where status NOT IN('PAUSED') and server_ip='" . mysql_real_escape_string($server_ip) . "' and user IN($users_list) order by extension;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + while ($i < $talking_to_print) + { + $leadlink=0; + $row=mysql_fetch_row($rslt); + if (eregi("READY|PAUSED",$row[4])) + { + $row[3]=''; + $row[5]='- WARTEND -'; + $row[6]=$row[7]; + } + $extension = sprintf("%-10s", $row[0]); + $user = sprintf("%-6s", $row[1]); + $leadid = sprintf("%-12s", $row[2]); + if ($row[2] > 0) + { + $leadidLINK=$row[2]; + $leadlink++; + if ( eregi("QUEUE",$row[4]) ) {$row[6]=$STARTtime;} + $leadid = "$leadid"; + } + $channel = sprintf("%-10s", $row[3]); + $cc=0; + while ( (strlen($channel) > 10) and ($cc < 100) ) + { + $channel = eregi_replace(".$","",$channel); + $cc++; + if (strlen($channel) <= 10) {$cc=101;} + } + $status = sprintf("%-6s", $row[4]); + $start_time = sprintf("%-19s", $row[5]); + $call_time_S = ($STARTtime - $row[6]); + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + if ($call_time_M_int >= 5) {$G=''; $EG='';} + if ($call_time_M_int >= 10) {$G=''; $EG='';} + + echo "| $G$extension$EG | $G$user$EG | $G$leadid$EG | $G$channel$EG | $G$status$EG | $G$start_time$EG | $G$call_time_MS$EG |\n"; + + $i++; + } + + echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n"; + echo " $i Mittel geloggt innen auf Bediener $server_ip\n\n"; + + echo " - 5 Minuten oder mehr beim Anruf\n"; + echo " - Über 10 Minuten beim Anruf\n"; + + } + else + { + echo "**************************************************************************************\n"; + echo "*********************************KEINE MITTEL BEI DEN ANRUFEN*********************************\n"; + echo "**************************************************************************************\n"; + } + } + +echo "
\n\n"; + +} + + +###################### +# ADD=71111 stats for remote agents from closer logs(vicidial_closer_log) +###################### + +if ($ADD==71111) +{ + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n\n"; + echo "
";
+
+	 if ( (strlen($server_ip) < 2) or (strlen($user) < 2) )
+		{echo "
REMOTEMITTEL-STÖRUNG - gehen Sie bitte zurück und betrachten Sie dieDaten, die Sie eingaben\n";} + else + { + + $users_list = ''; + $k=0; + while($k < $number_of_lines) + { + $nextuser=($user + $k); + $users_list .= "'$nextuser',"; + $k++; + } + $users_list = preg_replace("/.$/","",$users_list); + + $stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date 00:00:01' and call_date <= '$query_date 23:59:59' and user IN($users_list);"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $in_calls = $row[0]; + $in_time = $row[1]; + $in_time_M = ($in_time / 60); + $in_time_M = round($in_time_M, 2); + $in_time_M_int = intval("$in_time_M"); + $in_time_SEC = ($in_time_M - $in_time_M_int); + $in_time_SEC = ($in_time_SEC * 60); + $in_time_SEC = round($in_time_SEC, 0); + if ($in_time_SEC < 10) {$in_time_SEC = "0$in_time_SEC";} + $in_time_MS = "$in_time_M_int:$in_time_SEC"; + $in_time_MS = sprintf("%7s", $in_time_MS); + + echo "VICIDIAL: Inbound Notfall des Remotemittels $NOW_TIME\n\n"; + echo "\n"; + echo "Gesamtanrufe genommen$query_date: $in_calls\n"; + echo "Gesamtgespräch Zeit an$query_date: $in_time_MS (minutes:seconds)\n"; + echo "\n"; + echo "\n"; + echo "Anrufliste für$query_date:\n"; + echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n"; + echo "| USER | LEADID | GROUP | PHONE NUM | STATUS | CALL TIME | MINUTES |\n"; + echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n"; + + + $stmt="select user,lead_id,campaign_id,phone_number,status,call_date,length_in_sec from vicidial_closer_log where call_date >= '$query_date 00:00:01' and call_date <= '$query_date 23:59:59' and user IN($users_list) order by call_date;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + while ($i < $talking_to_print) + { + $row=mysql_fetch_row($rslt); + $user = sprintf("%-8s", $row[0]); + $leadid = sprintf("%-10s", $row[1]); + $group = sprintf("%-14s", $row[2]); + $phone = sprintf("%-10s", $row[3]); + $status = sprintf("%-6s", $row[4]); + $start_time = sprintf("%-19s", $row[5]); + $call_time_S = $row[6]; + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + # if ($call_time_M_int >= 5) {$G=''; $EG='';} + # if ($call_time_M_int >= 10) {$G=''; $EG='';} + + echo "| $G$user$EG | $G$leadid$EG | $G$group$EG | $G$phone$EG | $G$status$EG | $G$start_time$EG | $G$call_time_MS$EG |\n"; + + $i++; + } + + echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n"; + # echo " $i Mittel geloggt innen auf Bediener $server_ip\n\n"; + + # echo " - 5 Minuten oder mehr beim Anruf\n"; + # echo " - Über 10 Minuten beim Anruf\n"; + + } + else + { + echo "**************************************************************************************\n"; + echo "*********************************KEIN ERSUCHT UM DIESEN TAG*******************************\n"; + echo "**************************************************************************************\n"; + } + } + +echo "
\n\n"; + +} + + + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nIndexlaufzeit: $RUNtime seconds
"; + + +?> + + +
+ + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/welcome.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/welcome.php new file mode 100644 index 00000000..d4f31e18 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_de/welcome.php @@ -0,0 +1,25 @@ + LICENSE: GPLv2 +# + +echo "VICIDIAL Willkommen\n"; +echo "\n"; +echo "\n"; +echo "




"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Willkommen
 
Agent Login
 
Administration
 
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; + +?> \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_CLOSERstats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_CLOSERstats.php new file mode 100644 index 00000000..b10caf49 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_CLOSERstats.php @@ -0,0 +1,617 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1714 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 60905-1326 - Added queue time stats +# 71008-1436 - Added shift to be defined in dbconnect.php +# 71025-0021 - Added status breakdown +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +if (strlen($shift)<2) {$shift='ALL';} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="select group_id from vicidial_inbound_groups;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Στατιστικά VDAD Closer\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           ΤΡΟΠΟΠΟΙΗΣΗ | ΑΝΑΦΟΡΕΣ \n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "ΠΑΡΑΚΑΛΩ ΕΠΙΛΕΞΤΕ ΜΙΑ ΕΚΣΤΡΑΤΕΙΑ ΚΑΙ ΜΙΑ ΗΜΕΡΟΜΗΝΙΑ ΑΝΩΤΕΡΩ, ΚΑΙ ΠΑΤΗΣΤΕ ΕΠΙΒΕΒΑΙΩΣΗ\n";
+}
+
+else
+{
+if ($shift == 'AM') 
+	{
+	$time_BEGIN=$AM_shift_BEGIN;
+	$time_END=$AM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
+	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
+	}
+if ($shift == 'PM') 
+	{
+	$time_BEGIN=$PM_shift_BEGIN;
+	$time_END=$PM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
+	}
+if ($shift == 'ALL') 
+	{
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
+	}
+$query_date_BEGIN = "$query_date $time_BEGIN";   
+$query_date_END = "$query_date $time_END";
+
+
+
+echo "VICIDIAL: Στατιστικά αυτόματης κλήσης Closer                      $NOW_TIME\n";
+
+echo "\n";
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- TOTALS\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_hold_seconds = '         0';}
+else
+	{
+	$average_hold_seconds = ($row[1] / $row[0]);
+	$average_hold_seconds = round($average_hold_seconds, 0);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+
+echo "Συνολικά κλήσεις που τοποθετήθηκαν από την Εκστρατεία: $TOTALcalls\n";
+echo "Average Call Length for all Calls:            $average_hold_seconds seconds\n";
+
+echo "\n";
+echo "---------- ΕΓΚΑΤΑΛ\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP' and (length_in_sec <= 999 or length_in_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$DROPcalls =	sprintf("%10s", $row[0]);
+if ( ($DROPcalls < 1) or ($TOTALcalls < 1) )
+	{$DROPpercent = '0';}
+else
+	{
+	$DROPpercent = (($DROPcalls / $TOTALcalls) * 100);
+	$DROPpercent = round($DROPpercent, 0);
+	}
+
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_hold_seconds = '         0';}
+else
+	{
+	$average_hold_seconds = ($row[1] / $row[0]);
+	$average_hold_seconds = round($average_hold_seconds, 0);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+
+echo "Συνολικά ΕΓΚΑΤΑΛΕΙΜΕΝΕΣ κλήσεις: $DROPcalls  $DROPpercent%\n";
+echo "Average hold time for DROP Calls:             $average_hold_seconds seconds\n";
+
+
+
+##############################
+#########  CALL STATUS STATS
+
+$TOTALcalls = 0;
+
+echo "\n";
+echo "---------- CALL STATUS STATS\n";
+echo "+--------+----------------------+------------+\n";
+echo "| STATUS | DESCRIPTION          | CALLS      |\n";
+echo "+--------+----------------------+------------+\n";
+
+$stmt="SELECT * from vicidial_statuses order by status";
+$rslt=mysql_query($stmt, $link);
+$statuses_to_print = mysql_num_rows($rslt);
+$statuses_list='';
+
+$o=0;
+while ($statuses_to_print > $o) 
+	{
+	$rowx=mysql_fetch_row($rslt);
+	$statname_list["$rowx[0]"] = "$rowx[1]";
+	$o++;
+	}
+
+$stmt="SELECT * from vicidial_campaign_statuses order by status";
+$rslt=mysql_query($stmt, $link);
+$Cstatuses_to_print = mysql_num_rows($rslt);
+
+$o=0;
+while ($Cstatuses_to_print > $o) 
+	{
+	$rowx=mysql_fetch_row($rslt);
+	$statname_list["$rowx[0]"] = "$rowx[1]";
+	$o++;
+	}
+
+$stmt="select count(*),status from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' group by status;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$statuses_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $statuses_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTALcalls = ($TOTALcalls + $row[0]);
+
+	$STATUScount =	sprintf("%10s", $row[0]);while(strlen($STATUScount)>10) {$STATUScount = substr("$STATUScount", 0, -1);}
+	$RAWstatus = $row[1];
+	$status =	sprintf("%-6s", $row[1]);while(strlen($status)>6) {$status = substr("$status", 0, -1);}
+
+	if ($non_latin < 1)
+		{
+		 $status_name =	sprintf("%-20s", $statname_list[$RAWstatus]); 
+		 while(strlen($status_name)>20) {$status_name = substr("$status_name", 0, -1);}	
+		}
+	else
+		{
+		 $status_name =	sprintf("%-60s", $statname_list[$RAWstatus]); 
+		 while(mb_strlen($status_name,'utf-8')>20) {$status_name = mb_substr("$status_name", 0, -1,'utf-8');}	
+		}
+
+
+	echo "| $status | $status_name | $STATUScount |\n";
+
+	$i++;
+	}
+
+$TOTALcalls =		sprintf("%10s", $TOTALcalls);
+
+echo "+--------+----------------------+------------+\n";
+echo "| TOTAL:                        | $TOTALcalls |\n";
+echo "+-------------------------------+------------+\n";
+
+
+
+
+echo "\n";
+echo "---------- QUEUE STATS\n";
+
+$stmt="select count(*),sum(queue_seconds) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and (queue_seconds > 0);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$QUEUEcalls =	sprintf("%10s", $row[0]);
+if ( ($QUEUEcalls < 1) or ($TOTALcalls < 1) )
+	{$QUEUEpercent = '0';}
+else
+	{
+	$QUEUEpercent = (($QUEUEcalls / $TOTALcalls) * 100);
+	$QUEUEpercent = round($QUEUEpercent, 0);
+	}
+
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_queue_seconds = '         0';}
+else
+	{
+	$average_queue_seconds = ($row[1] / $row[0]);
+	$average_queue_seconds = round($average_queue_seconds, 2);
+	$average_queue_seconds = sprintf("%10.2f", $average_queue_seconds);
+	}
+
+if ( ($TOTALcalls < 1) or ($row[1] < 1) )
+	{$average_total_queue_seconds = '         0';}
+else
+	{
+	$average_total_queue_seconds = ($row[1] / $TOTALcalls);
+	$average_total_queue_seconds = round($average_total_queue_seconds, 2);
+	$average_total_queue_seconds = sprintf("%10.2f", $average_total_queue_seconds);
+	}
+
+echo "Total Calls That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
+echo "Average QUEUE Length for queue calls:         $average_queue_seconds seconds\n";
+echo "Average QUEUE Length across all calls:        $average_total_queue_seconds seconds\n";
+
+
+##############################
+#########  USER STATS
+
+$TOTagents=0;
+$TOTcalls=0;
+$TOTtime=0;
+$TOTavg=0;
+
+echo "\n";
+echo "---------- ΧΕΙΡΙΣΤΗΣSTATS\n";
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| ΧΕΙΡΙΣΤΗΣ                   | CALLS      | TIME M   | AVRG M |\n";
+echo "+--------------------------+------------+----------+--------+\n";
+
+$stmt="select vicidial_closer_log.user,full_name,count(*),sum(length_in_sec),avg(length_in_sec) from vicidial_closer_log,vicidial_users where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' and vicidial_closer_log.user is not null and length_in_sec is not null and length_in_sec > 4 and vicidial_closer_log.user=vicidial_users.user group by vicidial_closer_log.user;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTcalls = ($TOTcalls + $row[2]);
+	$TOTtime = ($TOTtime + $row[3]);
+
+	$user =			sprintf("%-6s", $row[0]);
+	$full_name =	sprintf("%-15s", $row[1]); while(strlen($full_name)>15) {$full_name = substr("$full_name", 0, -1);}
+	$USERcalls =	sprintf("%10s", $row[2]);
+	$USERtotTALK =	$row[3];
+	$USERavgTALK =	$row[4];
+
+	$USERtotTALK_M = ($USERtotTALK / 60);
+	$USERtotTALK_M = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$USERtotTALK_MS =		sprintf("%8s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$USERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	echo "| $user - $full_name | $USERcalls | $USERtotTALK_MS | $USERavgTALK_MS |\n";
+
+	$i++;
+	}
+
+if (!$TOTcalls) {$TOTcalls = 1;}
+$TOTavg = ($TOTtime / $TOTcalls);
+$TOTavg = round($TOTavg, 0);
+$TOTavg_M = ($TOTavg / 60);
+$TOTavg_M = round($TOTavg_M, 2);
+$TOTavg_M_int = intval("$TOTavg_M");
+$TOTavg_S = ($TOTavg_M - $TOTavg_M_int);
+$TOTavg_S = ($TOTavg_S * 60);
+$TOTavg_S = round($TOTavg_S, 0);
+if ($TOTavg_S < 10) {$TOTavg_S = "0$TOTavg_S";}
+$TOTavg_MS = "$TOTavg_M_int:$TOTavg_S";
+$TOTavg =		sprintf("%6s", $TOTavg_MS);
+
+$TOTtime_M = ($TOTtime / 60);
+$TOTtime_M = round($TOTtime_M, 2);
+$TOTtime_M_int = intval("$TOTtime_M");
+$TOTtime_S = ($TOTtime_M - $TOTtime_M_int);
+$TOTtime_S = ($TOTtime_S * 60);
+$TOTtime_S = round($TOTtime_S, 0);
+if ($TOTtime_S < 10) {$TOTtime_S = "0$TOTtime_S";}
+$TOTtime_MS = "$TOTtime_M_int:$TOTtime_S";
+$TOTtime =		sprintf("%6s", $TOTtime_MS);
+
+$TOTagents =		sprintf("%10s", $i);
+$TOTcalls =			sprintf("%10s", $TOTcalls);
+$TOTtime =			sprintf("%8s", $TOTtime);
+$TOTavg =			sprintf("%6s", $TOTavg);
+
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| TOTAL Agents: $TOTagents | $TOTcalls | $TOTtime | $TOTavg |\n";
+echo "+--------------------------+------------+----------+--------+\n";
+
+
+##############################
+#########  TIME STATS
+
+echo "\n";
+echo "---------- ΣΤΑΤ.ΧΡΟΝ.\n";
+
+echo "\n";
+
+$hi_hour_count=0;
+$last_full_record=0;
+$i=0;
+$h=0;
+while ($i <= 96)
+	{
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' and campaign_id='$group';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+	$h++;
+	}
+
+if ($hi_hour_count < 1)
+	{$hour_multiplier = 0;}
+else
+	{
+	$hour_multiplier = (100 / $hi_hour_count);
+	#$hour_multiplier = round($hour_multiplier, 0);
+	}
+
+echo "\n";
+echo "ΓΡΑΦΙΚΗ ΠΑΡΑΣΤΑΣΗ ΜΕ 15ΛΕΠΤΕΣ ΑΥΞΗΣΕΙΣ ΤΩΝ ΣΥΝΟΛΙΚΩΝ ΚΛΗΣΕΩΝ ΠΟΥ ΤΟΠΟΘΕΤΟΥΝΤΑΙ ΑΠΟ ΑΥΤΗΝ ΤΗΝ ΕΚΣΤΡΑΤΕΙΑ\n";
+
+$k=1;
+$Mk=0;
+$call_scale = '0';
+while ($k <= 102) 
+	{
+	if ($Mk >= 5) 
+		{
+		$Mk=0;
+		if ( ($k < 1) or ($hour_multiplier <= 0) )
+			{$scale_num = 100;}
+		else
+			{
+			$scale_num=($k / $hour_multiplier);
+			$scale_num = round($scale_num, 0);
+			}
+		$LENscale_num = (strlen($scale_num));
+		$k = ($k + $LENscale_num);
+		$call_scale .= "$scale_num";
+		}
+	else
+		{
+		$call_scale .= " ";
+		$k++;   $Mk++;
+		}
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | DROPS | TOTAL |\n";
+echo "| HOUR |$call_scale| DROPS | TOTAL |\n";
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+$ZZ = '00';
+$i=0;
+$h=4;
+$hour= -1;
+$no_lines_yet=1;
+
+while ($i <= 96)
+	{
+	$char_counter=0;
+	$time = '      ';
+	if ($h >= 4) 
+		{
+		$hour++;
+		$h=0;
+		if ($hour < 10) {$hour = "0$hour";}
+		$time = "+$hour$ZZ+";
+		}
+	if ($h == 1) {$time = "   15 ";}
+	if ($h == 2) {$time = "   30 ";}
+	if ($h == 3) {$time = "   45 ";}
+	$Ghour_count = $hour_count[$i];
+	if ($Ghour_count < 1) 
+		{
+		if ( ($no_lines_yet) or ($i > $last_full_record) )
+			{
+			$do_nothing=1;
+			}
+		else
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			echo "|$time|";
+			$k=0;   while ($k <= 102) {echo " ";   $k++;}
+			echo "| $hour_count[$i] |\n";
+			}
+		}
+	else
+		{
+		$no_lines_yet=0;
+		$Xhour_count = ($Ghour_count * $hour_multiplier);
+		$Yhour_count = (99 - $Xhour_count);
+
+		$Gdrop_count = $drop_count[$i];
+		if ($Gdrop_count < 1) 
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "*X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 101) {echo " ";   $char_counter++;}
+			echo "| 0     | $hour_count[$i] |\n";
+
+			}
+		else
+			{
+			$Xdrop_count = ($Gdrop_count * $hour_multiplier);
+
+		#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
+
+			$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
+
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			$drop_count[$i] =	sprintf("%-5s", $drop_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
+			echo "D";   $char_counter++;
+			$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 102) {echo " ";   $char_counter++;}
+			echo "| $drop_count[$i] | $hour_count[$i] |\n";
+			}
+		}
+	
+	
+	$i++;
+	$h++;
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n\n";
+
+
+
+
+
+$ENDtime = date("U");
+$RUNtime = ($ENDtime - $STARTtime);
+echo "\nRun Time: $RUNtime seconds\n";
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_VDADstats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_VDADstats.php new file mode 100644 index 00000000..d37410dd --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_VDADstats.php @@ -0,0 +1,647 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1718 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 61215-1139 - Added drop percentage of answered and round-2 decimal +# 71008-1436 - Added shift to be defined in dbconnect.php +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +if (strlen($shift)<2) {$shift='ALL';} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="select campaign_id from vicidial_campaigns;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: VDAD Stats\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           ΤΡΟΠΟΠΟΙΗΣΗ | ΑΝΑΦΟΡΕΣ \n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "ΠΑΡΑΚΑΛΩ ΕΠΙΛΕΞΤΕ ΜΙΑ ΕΚΣΤΡΑΤΕΙΑ ΚΑΙ ΜΙΑ ΗΜΕΡΟΜΗΝΙΑ ΑΝΩΤΕΡΩ, ΚΑΙ ΠΑΤΗΣΤΕ ΕΠΙΒΕΒΑΙΩΣΗ\n";
+}
+
+else
+{
+if ($shift == 'AM') 
+	{
+	$time_BEGIN=$AM_shift_BEGIN;
+	$time_END=$AM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
+	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
+	}
+if ($shift == 'PM') 
+	{
+	$time_BEGIN=$PM_shift_BEGIN;
+	$time_END=$PM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
+	}
+if ($shift == 'ALL') 
+	{
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
+	}
+$query_date_BEGIN = "$query_date $time_BEGIN";   
+$query_date_END = "$query_date $time_END";
+
+
+
+echo "VICIDIAL: Auto-dial Stats                             $NOW_TIME\n";
+
+echo "\n";
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- TOTALS\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_hold_seconds = '         0';}
+else
+	{
+	$average_hold_seconds = ($row[1] / $row[0]);
+	$average_hold_seconds = round($average_hold_seconds, 2);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+echo "Συνολικά κλήσεις που τοποθετήθηκαν από την Εκστρατεία: $TOTALcalls\n";
+echo "Μέσος όρος σε δευτερόλεπτα για όλες τις κλήσεις: $average_hold_seconds\n";
+
+echo "\n";
+echo "---------- ΕΓΚΑΤΑΛ\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP' and (length_in_sec <= 60 or length_in_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$DROPcalls =	sprintf("%10s", $row[0]);
+$DROPcallsRAW =	$row[0];
+$DROPseconds =	$row[1];
+
+$stmt="select count(*) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status NOT IN('NA','B');";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$ANSWERcalls =	$row[0];
+
+if ( ($DROPcalls < 1) or ($TOTALcalls < 1) )
+	{$DROPpercent = '0';}
+else
+	{
+	$DROPpercent = (($DROPcallsRAW / $TOTALcalls) * 100);
+	$DROPpercent = round($DROPpercent, 2);
+	}
+
+if ( ($DROPcalls < 1) or ($ANSWERcalls < 1) )
+	{$DROPANSWERpercent = '0';}
+else
+	{
+	$DROPANSWERpercent = (($DROPcallsRAW / $ANSWERcalls) * 100);
+	$DROPANSWERpercent = round($DROPANSWERpercent, 2);
+	}
+
+if ( ($DROPseconds < 1) or ($DROPcallsRAW < 1) )
+	{$average_hold_seconds = '         0';}
+else
+	{
+	$average_hold_seconds = ($DROPseconds / $DROPcallsRAW);
+	$average_hold_seconds = round($average_hold_seconds, 2);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+
+echo "Συνολικά ΕΓΚΑΤΑΛΕΙΜΕΝΕΣ κλήσεις: $DROPcalls  $DROPpercent%\n";
+echo "Percent of DROP Calls taken out of Answers:   $DROPcalls / $ANSWERcalls  $DROPANSWERpercent%\n";
+echo "Μέσος όρος σε δευτερόλεπτα για ΕΓΚΑΤΑΕΙΜΕΝΕΣ κλήσεις: $average_hold_seconds\n";
+
+echo "\n";
+echo "---------- ΜΗ ΑΠΑΝΤ ΑΥΤ ΚΛΗΣΕΙΣ\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status IN('NA','B') and (length_in_sec <= 60 or length_in_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$NAcalls =	sprintf("%10s", $row[0]);
+if ( ($NAcalls < 1) or ($TOTALcalls < 1) )
+	{$NApercent = '0';}
+else
+	{
+	$NApercent = (($NAcalls / $TOTALcalls) * 100);
+	$NApercent = round($NApercent, 2);
+	}
+
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_na_seconds = '         0';}
+else
+	{
+	$average_na_seconds = ($row[1] / $row[0]);
+	$average_na_seconds = round($average_na_seconds, 2);
+	$average_na_seconds =	sprintf("%10s", $average_na_seconds);
+	}
+
+echo "Total NA calls -Busy,Disconnect,RingNoAnswer: $NAcalls  $NApercent%\n";
+echo "Μέσος όρος σε δευτερόλεπτα για ΝΑ κλήσεις: $average_na_seconds\n";
+
+
+##############################
+#########  CALL STATUS STATS
+
+$TOTALcalls = 0;
+
+echo "\n";
+echo "---------- CALL STATUS STATS\n";
+echo "+--------+----------------------+------------+\n";
+echo "| STATUS | DESCRIPTION          | CALLS      |\n";
+echo "+--------+----------------------+------------+\n";
+
+$stmt="SELECT * from vicidial_statuses order by status";
+$rslt=mysql_query($stmt, $link);
+$statuses_to_print = mysql_num_rows($rslt);
+$statuses_list='';
+
+$o=0;
+while ($statuses_to_print > $o) 
+	{
+	$rowx=mysql_fetch_row($rslt);
+	$statname_list["$rowx[0]"] = "$rowx[1]";
+	$o++;
+	}
+
+$stmt="SELECT * from vicidial_campaign_statuses where campaign_id='" . mysql_real_escape_string($group) . "' order by status";
+$rslt=mysql_query($stmt, $link);
+$Cstatuses_to_print = mysql_num_rows($rslt);
+
+$o=0;
+while ($Cstatuses_to_print > $o) 
+	{
+	$rowx=mysql_fetch_row($rslt);
+	$statname_list["$rowx[0]"] = "$rowx[1]";
+	$o++;
+	}
+
+$stmt="select count(*),status from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' group by status;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$statuses_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $statuses_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTALcalls = ($TOTALcalls + $row[0]);
+
+	$STATUScount =	sprintf("%10s", $row[0]);while(strlen($STATUScount)>10) {$STATUScount = substr("$STATUScount", 0, -1);}
+	$RAWstatus = $row[1];
+	$status =	sprintf("%-6s", $row[1]);while(strlen($status)>6) {$status = substr("$status", 0, -1);}
+
+	if ($non_latin < 1)
+		{
+		 $status_name =	sprintf("%-20s", $statname_list[$RAWstatus]); 
+		 while(strlen($status_name)>20) {$status_name = substr("$status_name", 0, -1);}	
+		}
+	else
+		{
+		 $status_name =	sprintf("%-60s", $statname_list[$RAWstatus]); 
+		 while(mb_strlen($status_name,'utf-8')>20) {$status_name = mb_substr("$status_name", 0, -1,'utf-8');}	
+		}
+
+
+	echo "| $status | $status_name | $STATUScount |\n";
+
+	$i++;
+	}
+
+$TOTALcalls =		sprintf("%10s", $TOTALcalls);
+
+echo "+--------+----------------------+------------+\n";
+echo "| TOTAL:                        | $TOTALcalls |\n";
+echo "+-------------------------------+------------+\n";
+
+
+##############################
+#########  USER STATS
+
+$TOTagents=0;
+$TOTcalls=0;
+$TOTtime=0;
+$TOTavg=0;
+
+echo "\n";
+echo "---------- ΧΕΙΡΙΣΤΗΣSTATS\n";
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| ΧΕΙΡΙΣΤΗΣ                   | CALLS      | TIME M   | AVRG M |\n";
+echo "+--------------------------+------------+----------+--------+\n";
+
+$stmt="select vicidial_log.user,full_name,count(*),sum(length_in_sec),avg(length_in_sec) from vicidial_log,vicidial_users where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' and vicidial_log.user is not null and length_in_sec is not null and length_in_sec > 4 and vicidial_log.user=vicidial_users.user group by vicidial_log.user;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTcalls = ($TOTcalls + $row[2]);
+	$TOTtime = ($TOTtime + $row[3]);
+
+	$user =	sprintf("%-6s", $row[0]);while(strlen($user)>6) {$user = substr("$user", 0, -1);}
+	if ($non_latin < 1)
+	{
+ 	 $full_name =	sprintf("%-15s", $row[1]); while(strlen($full_name)>15) {$full_name = substr("$full_name", 0, -1);}	
+	}
+	else
+	{
+	 $full_name =	sprintf("%-45s", $row[1]); while(mb_strlen($full_name,'utf-8')>15) {$full_name = mb_substr("$full_name", 0, -1,'utf-8');}	
+	}
+	$USERcalls =	sprintf("%10s", $row[2]);
+	$USERtotTALK =	$row[3];
+	$USERavgTALK =	$row[4];
+
+	$USERtotTALK_M = ($USERtotTALK / 60);
+	$USERtotTALK_M = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$USERtotTALK_MS =		sprintf("%6s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$USERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	echo "| $user - $full_name | $USERcalls |   $USERtotTALK_MS | $USERavgTALK_MS |\n";
+
+	$i++;
+	}
+
+if (!$TOTcalls) {$TOTcalls = 1;}
+$TOTavg = ($TOTtime / $TOTcalls);
+$TOTavg = round($TOTavg, 0);
+$TOTavg_M = ($TOTavg / 60);
+$TOTavg_M = round($TOTavg_M, 2);
+$TOTavg_M_int = intval("$TOTavg_M");
+$TOTavg_S = ($TOTavg_M - $TOTavg_M_int);
+$TOTavg_S = ($TOTavg_S * 60);
+$TOTavg_S = round($TOTavg_S, 0);
+if ($TOTavg_S < 10) {$TOTavg_S = "0$TOTavg_S";}
+$TOTavg_MS = "$TOTavg_M_int:$TOTavg_S";
+$TOTavg =		sprintf("%6s", $TOTavg_MS);
+
+$TOTtime_M = ($TOTtime / 60);
+$TOTtime_M = round($TOTtime_M, 2);
+$TOTtime_M_int = intval("$TOTtime_M");
+$TOTtime_S = ($TOTtime_M - $TOTtime_M_int);
+$TOTtime_S = ($TOTtime_S * 60);
+$TOTtime_S = round($TOTtime_S, 0);
+if ($TOTtime_S < 10) {$TOTtime_S = "0$TOTtime_S";}
+$TOTtime_MS = "$TOTtime_M_int:$TOTtime_S";
+$TOTtime =		sprintf("%6s", $TOTtime_MS);
+
+$TOTagents =		sprintf("%10s", $i);
+$TOTcalls =			sprintf("%10s", $TOTcalls);
+$TOTtime =			sprintf("%8s", $TOTtime);
+$TOTavg =			sprintf("%6s", $TOTavg);
+
+$stmt="select avg(wait_sec) from vicidial_agent_log where event_time >= '$query_date_BEGIN' and event_time <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$AVGwait = $row[0];
+$AVGwait_M = ($AVGwait / 60);
+$AVGwait_M = round($AVGwait_M, 2);
+$AVGwait_M_int = intval("$AVGwait_M");
+$AVGwait_S = ($AVGwait_M - $AVGwait_M_int);
+$AVGwait_S = ($AVGwait_S * 60);
+$AVGwait_S = round($AVGwait_S, 0);
+if ($AVGwait_S < 10) {$AVGwait_S = "0$AVGwait_S";}
+$AVGwait_MS = "$AVGwait_M_int:$AVGwait_S";
+$AVGwait =		sprintf("%6s", $AVGwait_MS);
+
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| TOTAL Agents: $TOTagents | $TOTcalls | $TOTtime | $TOTavg |\n";
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| Average Wait time between calls                    $AVGwait |\n";
+echo "+-----------------------------------------------------------+\n";
+
+##############################
+#########  TIME STATS
+
+echo "\n";
+echo "---------- ΣΤΑΤ.ΧΡΟΝ.\n";
+
+echo "\n";
+
+$hi_hour_count=0;
+$last_full_record=0;
+$i=0;
+$h=0;
+while ($i <= 96)
+	{
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+	$h++;
+	}
+
+if ($hi_hour_count < 1)
+	{$hour_multiplier = 0;}
+else
+	{
+	$hour_multiplier = (100 / $hi_hour_count);
+	#$hour_multiplier = round($hour_multiplier, 0);
+	}
+
+echo "\n";
+echo "ΓΡΑΦΙΚΗ ΠΑΡΑΣΤΑΣΗ ΜΕ 15ΛΕΠΤΕΣ ΑΥΞΗΣΕΙΣ ΤΩΝ ΣΥΝΟΛΙΚΩΝ ΚΛΗΣΕΩΝ ΠΟΥ ΤΟΠΟΘΕΤΟΥΝΤΑΙ ΑΠΟ ΑΥΤΗΝ ΤΗΝ ΕΚΣΤΡΑΤΕΙΑ\n";
+
+$k=1;
+$Mk=0;
+$call_scale = '0';
+while ($k <= 102) 
+	{
+	if ($Mk >= 5) 
+		{
+		$Mk=0;
+		if ( ($k < 1) or ($hour_multiplier <= 0) )
+			{$scale_num = 100;}
+		else
+			{
+			$scale_num=($k / $hour_multiplier);
+			$scale_num = round($scale_num, 0);
+			}
+		$LENscale_num = (strlen($scale_num));
+		$k = ($k + $LENscale_num);
+		$call_scale .= "$scale_num";
+		}
+	else
+		{
+		$call_scale .= " ";
+		$k++;   $Mk++;
+		}
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | DROPS | TOTAL |\n";
+echo "| HOUR |$call_scale| DROPS | TOTAL |\n";
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+$ZZ = '00';
+$i=0;
+$h=4;
+$hour= -1;
+$no_lines_yet=1;
+
+while ($i <= 96)
+	{
+	$char_counter=0;
+	$time = '      ';
+	if ($h >= 4) 
+		{
+		$hour++;
+		$h=0;
+		if ($hour < 10) {$hour = "0$hour";}
+		$time = "+$hour$ZZ+";
+		}
+	if ($h == 1) {$time = "   15 ";}
+	if ($h == 2) {$time = "   30 ";}
+	if ($h == 3) {$time = "   45 ";}
+	$Ghour_count = $hour_count[$i];
+	if ($Ghour_count < 1) 
+		{
+		if ( ($no_lines_yet) or ($i > $last_full_record) )
+			{
+			$do_nothing=1;
+			}
+		else
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			echo "|$time|";
+			$k=0;   while ($k <= 102) {echo " ";   $k++;}
+			echo "| $hour_count[$i] |\n";
+			}
+		}
+	else
+		{
+		$no_lines_yet=0;
+		$Xhour_count = ($Ghour_count * $hour_multiplier);
+		$Yhour_count = (99 - $Xhour_count);
+
+		$Gdrop_count = $drop_count[$i];
+		if ($Gdrop_count < 1) 
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "*X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 101) {echo " ";   $char_counter++;}
+			echo "| 0     | $hour_count[$i] |\n";
+
+			}
+		else
+			{
+			$Xdrop_count = ($Gdrop_count * $hour_multiplier);
+
+		#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
+
+			$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
+
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			$drop_count[$i] =	sprintf("%-5s", $drop_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
+			echo "D";   $char_counter++;
+			$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 102) {echo " ";   $char_counter++;}
+			echo "| $drop_count[$i] | $hour_count[$i] |\n";
+			}
+		}
+	
+	
+	$i++;
+	$h++;
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+
+
+
+
+
+$ENDtime = date("U");
+$RUNtime = ($ENDtime - $STARTtime);
+echo "\nRun Time: $RUNtime seconds\n";
+
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_VICIDIAL_hopperlist.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_VICIDIAL_hopperlist.php new file mode 100644 index 00000000..538d8534 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_VICIDIAL_hopperlist.php @@ -0,0 +1,169 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1654 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 70115-1614 - Added ALT field for vicidial_hopper alt_dial column +# 71029-0852 - Added list_id to the output +# 71030-2118 - Added priority to display +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and modify_campaigns='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($server_ip)) {$server_ip = '10.10.10.15';} + +$stmt="select campaign_id,campaign_name from vicidial_campaigns order by campaign_id;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$campaigns_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $campaigns_to_print) + { + $row=mysql_fetch_row($rslt); + $campaign_id[$i] =$row[0]; + $campaign_name[$i] =$row[1]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Λίστα Hopper\n"; +echo "
\n"; +#echo "\n"; +#echo "\n"; +echo "\n"; +echo "\n"; +echo "           ΤΡΟΠΟΠΟΙΗΣΗ \n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "ΠΑΡΑΚΑΛΩ ΕΠΙΛΕΞΤΕ ΜΙΑ ΕΚΣΤΡΑΤΕΙΑ ΑΝΩΤΕΡΩ ΚΑΙ ΠΑΤΗΣΤΕ ΕΠΙΒΕΒΑΙΩΣΗ\n";
+}
+
+else
+{
+
+
+echo "VICIDIAL: Ενεργή Λίστα στον Hopper                      $NOW_TIME\n";
+
+echo "\n";
+echo "---------- TOTALS\n";
+
+$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+
+echo "Αριθμός οδηγών στον hopper τώρα::       $TOTALcalls\n";
+
+
+##############################
+#########  LEAD STATS
+
+echo "\n";
+echo "---------- LEADS IN HOPPER\n";
+echo "+------+--------+-----------+------------+------------+-------+--------+-------+--------+-------+\n";
+echo "|ORDER |PRIORITY| LEAD ID   | ID ΛΙΣΤΑΣ    | PHONE NUM  | STATE | STATUS | COUNT | GMT    | ALT   |\n";
+echo "+------+--------+-----------+------------+------------+-------+--------+-------+--------+-------+\n";
+
+$stmt="select vicidial_hopper.lead_id,phone_number,vicidial_hopper.state,vicidial_list.status,called_count,vicidial_hopper.gmt_offset_now,hopper_id,alt_dial,vicidial_hopper.list_id,vicidial_hopper.priority from vicidial_hopper,vicidial_list where vicidial_hopper.campaign_id='" . mysql_real_escape_string($group) . "' and vicidial_hopper.lead_id=vicidial_list.lead_id order by priority desc,hopper_id limit 2000;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$FMT_i =		sprintf("%-4s", $i);
+	$lead_id =		sprintf("%-9s", $row[0]);
+	$phone_number =	sprintf("%-10s", $row[1]);
+	$state =		sprintf("%-5s", $row[2]);
+	$status =		sprintf("%-6s", $row[3]);
+	$count =		sprintf("%-5s", $row[4]);
+	$gmt =			sprintf("%-6s", $row[5]);
+	$hopper_id =	sprintf("%-6s", $row[6]);
+	$alt_dial =		sprintf("%-5s", $row[7]);
+	$list_id =		sprintf("%-10s", $row[8]);
+	$priority =		sprintf("%-6s", $row[9]);
+
+if ($DB) {echo "| $FMT_i | $priority | $lead_id | $list_id | $phone_number | $state | $status | $count | $gmt | $hopper_id |\n";}
+else {echo "| $FMT_i | $priority | $lead_id | $list_id | $phone_number | $state | $status | $count | $gmt | $alt_dial |\n";}
+
+	$i++;
+	}
+
+echo "+------+--------+-----------+------------+------------+-------+--------+-------+--------+-------+\n";
+
+
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_admin_log_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_admin_log_display.php new file mode 100644 index 00000000..a26ee60f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_admin_log_display.php @@ -0,0 +1,118 @@ + LICENSE: GPLv2 +### + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$query_date = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$query_date); + +# AST GUI database administration +# AST_admin_log_display.php +# +# CHANGES +# 50325-0932 - First build +# 51123-1443 - removed globals=on requirement +# 60421-1229 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60620-1044 - Added variable filtering to eliminate SQL injection attack threat +# + +$version = '0.0.4'; +$build = '60620-1044'; + +$STARTtime = date("U"); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 8 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "ΔΙΑΧΕΙΡΙΣΗ LOG DISPLAY"; +echo "\n"; + +# Fri, 25 Mar 2005 + +$DAY_DATE = date("j"); +if ($DAY_DATE < 10) +# {$GREP_DATE = date("D, j M Y");} + {$GREP_DATE = date("D, 0j M Y");} +else + {$GREP_DATE = date("D, j M Y");} + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!$query_date) {$query_date = $GREP_DATE;} + +$Gquery_date = eregi_replace(" ",'\ ',$query_date); +echo "\n"; + +echo "
\n"; +echo "\n"; +echo "\n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+echo "ΔΙΑΧΕΙΡΙΣΗ CHANGE LOG                             $NOW_TIME\n";
+
+#passthru("grep $Gquery_date /home/www/htdocs/vicidial/admin_changes_log.txt");
+passthru("grep $Gquery_date $WeBServeRRooT/vicidial/admin_changes_log.txt");
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_agent_performance.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_agent_performance.php new file mode 100644 index 00000000..0d3690c9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_agent_performance.php @@ -0,0 +1,257 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1711 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 70201-1203 - Added non_latin UTF8 output code, widened USER ID to 8 chars +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="select campaign_id from vicidial_campaigns;"; +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$campaigns_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $campaigns_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Agent Performance\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           ΤΡΟΠΟΠΟΙΗΣΗ | ΑΝΑΦΟΡΕΣ \n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$group)
+{
+echo "\n";
+echo "PLEASE SELECT A ΔΙΑΚΟΜΙΣΤΗΣ AND DATE-TIME ABOVE AND CLICK ΕΠΙΒΕΒΑΙΩΣΗ\n";
+echo " NOTE: stats taken from 6 hour shift specified\n";
+}
+
+else
+{
+if ($shift == 'AM') 
+	{
+	$query_date_BEGIN = "$query_date 08:45:00";   
+	$query_date_END = "$query_date 15:33:00";
+	$time_BEGIN = "08:45:00";   
+	$time_END = "15:33:00";
+	}
+if ($shift == 'PM') 
+	{
+	$query_date_BEGIN = "$query_date 15:33:00";   
+	$query_date_END = "$query_date 23:15:00";
+	$time_BEGIN = "15:33:00";   
+	$time_END = "23:15:00";
+	}
+
+echo "VICIDIAL: Agent Performance                             $NOW_TIME\n";
+
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- AGENTS Details -------------\n\n";
+
+echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
+echo "| USER NAME       | ID       | CALLS  | TALK   | TALKAVG| A    | B    | DC   | DNC  | N    | NI   | SALE |\n";
+echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
+
+$stmt="select count(*) as calls,sum(length_in_sec) as talk,full_name,vicidial_users.user,avg(length_in_sec) from vicidial_users,vicidial_log where call_date <= '$query_date_END' and call_date >= '$query_date_BEGIN' and vicidial_users.user=vicidial_log.user and campaign_id='" . mysql_real_escape_string($group) . "' group by full_name order by calls desc limit 1000;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$rows_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $rows_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$TOTcalls=($TOTcalls + $row[0]);
+	$TOTtotTALK=($TOTtotTALK + $row[1]);
+	$calls[$i] =	sprintf("%-6s", $row[0]);
+
+	if ($non_latin < 1)
+	{
+   	 $full_name[$i]=	sprintf("%-15s", $row[2]); 
+	 while(strlen($full_name[$i])>15) {$full_name[$i] = substr("$full_name[$i]", 0, -1);}
+
+	 $user[$i] =		sprintf("%-6s", $row[3]);
+        while(strlen($user[$i])>6) {$user[$i] = substr("$user[$i]", 0, -1);}
+       }
+	else
+	{	
+        $full_name[$i]=	sprintf("%-45s", $row[2]); 
+	 while(mb_strlen($full_name[$i],'utf-8')>15) {$full_name[$i] = mb_substr("$full_name[$i]", 0, -1,'utf-8');}
+
+ 	 $user[$i] =		sprintf("%-18s", $row[3]);
+	 while(mb_strlen($user[$i],'utf-8')>6) {$user[$i] = mb_substr("$user[$i]", 0, -1,'utf-8');}
+	}
+
+	$user[$i] =		sprintf("%-8s", $row[3]);
+	$USERtotTALK =	$row[1];
+	$USERavgTALK =	$row[4];
+
+	$USERtotTALK_M = ($USERtotTALK / 60);
+	$USERtotTALK_M = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$pfUSERtotTALK_MS[$i] =		sprintf("%6s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$pfUSERavgTALK_MS[$i] =		sprintf("%6s", $USERavgTALK_MS);
+	$i++;
+	}
+
+$k=0;
+while($k < $i)
+	{
+	$ctA[$k]="0   "; $ctB[$k]="0   "; $ctDC[$k]="0   "; $ctDNC[$k]="0   "; $ctN[$k]="0   "; $ctNI[$k]="0   "; $ctSALE[$k]="0   "; 
+	$stmt="select count(*),status from vicidial_log where call_date <= '$query_date_END' and call_date >= '$query_date_BEGIN' and user='$user[$k]' and campaign_id='" . mysql_real_escape_string($group) . "' group by status;";
+	if ($non_latin > 0)
+	{
+	$rslt=mysql_query("SET NAMES 'UTF8'");
+	}
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$rows_to_print = mysql_num_rows($rslt);
+	$m=0;
+	while ($m < $rows_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+		if ($row[1] == 'A') {$ctA[$k]=sprintf("%-4s", $row[0]);		$TOT_A = ($TOT_A + $row[0]);}
+		if ($row[1] == 'B') {$ctB[$k]=sprintf("%-4s", $row[0]);		$TOT_B = ($TOT_B + $row[0]);}
+		if ($row[1] == 'DC') {$ctDC[$k]=sprintf("%-4s", $row[0]);	$TOT_DC = ($TOT_DC + $row[0]);}
+		if ($row[1] == 'DNC') {$ctDNC[$k]=sprintf("%-4s", $row[0]);	$TOT_DNC = ($TOT_DNC + $row[0]);}
+		if ($row[1] == 'N') {$ctN[$k]=sprintf("%-4s", $row[0]);		$TOT_N = ($TOT_N + $row[0]);}
+		if ($row[1] == 'NI') {$ctNI[$k]=sprintf("%-4s", $row[0]);	$TOT_NI = ($TOT_NI + $row[0]);}
+		if (($row[1] == 'SALE') || ($row[1] == 'XFER') ) {$ctSALE[$k]=sprintf("%-4s", $row[0]);	$TOT_SALE = ($TOT_SALE + $row[0]);}
+		$m++;
+		}
+	echo "| $full_name[$k] | $user[$k] | $calls[$k] | $pfUSERtotTALK_MS[$k] | $pfUSERavgTALK_MS[$k] | $ctA[$k] | $ctB[$k] | $ctDC[$k] | $ctDNC[$k] | $ctN[$k] | $ctNI[$k] | $ctSALE[$k] |\n";
+
+
+
+	$k++;
+	}
+
+	$TOTcalls =	sprintf("%-7s", $TOTcalls);
+
+	$TOTtotTALK_M = ($TOTtotTALK / 60);
+	$TOTtotTALK_M = round($TOTtotTALK_M, 2);
+	$TOTtotTALK_M_int = intval("$TOTtotTALK_M");
+	$TOTtotTALK_S = ($TOTtotTALK_M - $TOTtotTALK_M_int);
+	$TOTtotTALK_S = ($TOTtotTALK_S * 60);
+	$TOTtotTALK_S = round($TOTtotTALK_S, 0);
+	if ($TOTtotTALK_S < 10) {$TOTtotTALK_S = "0$TOTtotTALK_S";}
+	$TOTtotTALK_MS = "$TOTtotTALK_M_int:$TOTtotTALK_S";
+	$TOTtotTALK_MS =		sprintf("%7s", $TOTtotTALK_MS);
+		while(strlen($TOTtotTALK_MS)>7) {$TOTtotTALK_MS = substr("$TOTtotTALK_MS", 0, -1);}
+
+	$TOT_A = sprintf("%-5s", $TOT_A);
+	$TOT_B = sprintf("%-5s", $TOT_B);
+	$TOT_DC = sprintf("%-5s", $TOT_DC);
+	$TOT_DNC = sprintf("%-5s", $TOT_DNC);
+	$TOT_N = sprintf("%-5s", $TOT_N);
+	$TOT_NI = sprintf("%-5s", $TOT_NI);
+	$TOT_SALE = sprintf("%-5s", $TOT_SALE);
+
+echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
+echo "|  TOTALS                    | $TOTcalls| $TOTtotTALK_MS|        | $TOT_A| $TOT_B| $TOT_DC| $TOT_DNC| $TOT_N| $TOT_NI| $TOT_SALE|\n";
+echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
+
+echo "\n";
+
+}
+
+
+
+?>
+
+
\ No newline at end of file
diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_agent_performance_detail.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_agent_performance_detail.php
new file mode 100644
index 00000000..0bbb9d35
--- /dev/null
+++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_agent_performance_detail.php
@@ -0,0 +1,557 @@
+    LICENSE: GPLv2
+###
+# CHANGES
+#
+# 71119-2359 - First build
+# 71121-0144 - Replace existing AST_agent_performance_detail.php script with this one
+#            - Fixed zero division bug
+#
+
+require("dbconnect.php");
+
+$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
+$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
+$PHP_SELF=$_SERVER['PHP_SELF'];
+if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
+	elseif (isset($_POST["query_date"]))	{$query_date=$_POST["query_date"];}
+if (isset($_GET["group"]))				{$group=$_GET["group"];}
+	elseif (isset($_POST["group"]))		{$group=$_POST["group"];}
+if (isset($_GET["user_group"]))				{$user_group=$_GET["user_group"];}
+	elseif (isset($_POST["user_group"]))	{$user_group=$_POST["user_group"];}
+if (isset($_GET["shift"]))				{$shift=$_GET["shift"];}
+	elseif (isset($_POST["shift"]))		{$shift=$_POST["shift"];}
+if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
+	elseif (isset($_POST["submit"]))	{$submit=$_POST["submit"];}
+if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"]))				{$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];}
+	elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"]))	{$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];}
+
+if (strlen($shift)<2) {$shift='ALL';}
+
+$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
+$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
+
+	$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
+	if ($DB) {echo "|$stmt|\n";}
+	if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");}
+	$rslt=mysql_query($stmt, $link);
+	$row=mysql_fetch_row($rslt);
+	$auth=$row[0];
+
+  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
+	{
+    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
+    Header("HTTP/1.0 401 Unauthorized");
+    echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
+    exit;
+	}
+
+$NOW_DATE = date("Y-m-d");
+$NOW_TIME = date("Y-m-d H:i:s");
+$STARTtime = date("U");
+if (!isset($group)) {$group = '';}
+if (!isset($query_date)) {$query_date = $NOW_DATE;}
+
+$stmt="select campaign_id from vicidial_campaigns;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$campaigns_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $campaigns_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$groups[$i] =$row[0];
+	$i++;
+	}
+$stmt="select user_group from vicidial_user_groups;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$user_groups_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $user_groups_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$user_groups[$i] =$row[0];
+	$i++;
+	}
+?>
+
+
+
+
+
+\n";
+echo "VICIDIAL: Agent Performance\n";
+echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           ΤΡΟΠΟΠΟΙΗΣΗ | ΑΝΑΦΟΡΕΣ \n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$group)
+{
+echo "\n";
+echo "PLEASE SELECT A CAMPAIGN AND DATE-TIME ABOVE AND CLICK ΕΠΙΒΕΒΑΙΩΣΗ\n";
+echo " NOTE: stats taken from shift specified\n";
+}
+
+else
+{
+if ($shift == 'AM') 
+	{
+	$time_BEGIN=$AM_shift_BEGIN;
+	$time_END=$AM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
+	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
+	}
+if ($shift == 'PM') 
+	{
+	$time_BEGIN=$PM_shift_BEGIN;
+	$time_END=$PM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
+	}
+if ($shift == 'ALL') 
+	{
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
+	}
+$query_date_BEGIN = "$query_date $time_BEGIN";   
+$query_date_END = "$query_date $time_END";
+
+if (strlen($user_group)>0) {$ugSQL="and vicidial_agent_log.user_group='$user_group'";}
+else {$ugSQL='';}
+
+echo "VICIDIAL: Agent Performance Detail                        $NOW_TIME\n";
+
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- AGENTS Details -------------\n\n";
+
+
+
+
+
+$statuses='-';
+$statusesTXT='';
+$statusesHEAD='';
+$statusesHTML='';
+$statusesARY[0]='';
+$j=0;
+$users='-';
+$usersARY[0]='';
+$user_namesARY[0]='';
+$k=0;
+
+$stmt="select count(*) as calls,sum(talk_sec) as talk,full_name,vicidial_users.user,sum(pause_sec),sum(wait_sec),sum(dispo_sec),status from vicidial_users,vicidial_agent_log where event_time <= '$query_date_END' and event_time >= '$query_date_BEGIN' and vicidial_users.user=vicidial_agent_log.user and campaign_id='" . mysql_real_escape_string($group) . "' and pause_sec<36000 and wait_sec<36000 and talk_sec<36000 and dispo_sec<36000 $ugSQL group by full_name,status order by status desc,full_name limit 100000;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$rows_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $rows_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$row[0] = ($row[0] - 1);	# subtract 1 for login/logout event compensation
+	
+	$calls[$i] =		$row[0];
+	$talk_sec[$i] =		$row[1];
+	$full_name[$i] =	$row[2];
+	$user[$i] =			$row[3];
+	$pause_sec[$i] =	$row[4];
+	$wait_sec[$i] =		$row[5];
+	$dispo_sec[$i] =	$row[6];
+	$status[$i] =		$row[7];
+	if ( (!eregi("-$status[$i]-", $statuses)) and (strlen($status[$i])>0) )
+		{
+		$statusesTXT = sprintf("%8s", $status[$i]);
+		$statusesHEAD .= "----------+";
+		$statusesHTML .= " $statusesTXT |";
+		$statuses .= "$status[$i]-";
+		$statusesARY[$j] = $status[$i];
+		$j++;
+		}
+	if (!eregi("-$user[$i]-", $users))
+		{
+		$users .= "$user[$i]-";
+		$usersARY[$k] = $user[$i];
+		$user_namesARY[$k] = $full_name[$i];
+		$k++;
+		}
+
+	$i++;
+	}
+
+
+echo "+-----------------+----------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
+echo "| USER NAME       | ID       | CALLS  | TIME    | PAUSE  | PAUSAVG| WAIT   | WAITAVG| TALK   | TALKAVG| DISPO  | DISPAVG|$statusesHTML\n";
+echo "+-----------------+----------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
+
+
+### BEGIN loop through each user ###
+$m=0;
+while ($m < $k)
+	{
+	$Suser=$usersARY[$m];
+	$Sfull_name=$user_namesARY[$m];
+	$Stime=0;
+	$Scalls=0;
+	$Stalk_sec=0;
+	$Spause_sec=0;
+	$Swait_sec=0;
+	$Sdispo_sec=0;
+	$SstatusesHTML='';
+
+	### BEGIN loop through each status ###
+	$n=0;
+	while ($n < $j)
+		{
+		$Sstatus=$statusesARY[$n];
+		$SstatusTXT='';
+		### BEGIN loop through each stat line ###
+		$i=0; $status_found=0;
+		while ($i < $rows_to_print)
+			{
+			if ( ($Suser=="$user[$i]") and ($Sstatus=="$status[$i]") )
+				{
+				$Scalls =		($Scalls + $calls[$i]);
+				$Stalk_sec =	($Stalk_sec + $talk_sec[$i]);
+				$Spause_sec =	($Spause_sec + $pause_sec[$i]);
+				$Swait_sec =	($Swait_sec + $wait_sec[$i]);
+				$Sdispo_sec =	($Sdispo_sec + $dispo_sec[$i]);
+				$SstatusTXT = sprintf("%8s", $calls[$i]);
+				$SstatusesHTML .= " $SstatusTXT |";
+				$status_found++;
+				}
+			$i++;
+			}
+		if ($status_found < 1)
+			{
+			$SstatusesHTML .= "        0 |";
+			}
+		### END loop through each stat line ###
+		$n++;
+		}
+	### END loop through each status ###
+	$Stime = ($Stalk_sec + $Spause_sec + $Swait_sec + $Sdispo_sec);
+	$TOTcalls=($TOTcalls + $Scalls);
+	$TOTtime=($TOTtime + $Stime);
+	$TOTtotTALK=($TOTtotTALK + $Stalk_sec);
+	$TOTtotWAIT=($TOTtotWAIT + $Swait_sec);
+	$TOTtotPAUSE=($TOTtotPAUSE + $Spause_sec);
+	$TOTtotDISPO=($TOTtotDISPO + $Sdispo_sec);
+	$Stime = ($Stalk_sec + $Spause_sec + $Swait_sec + $Sdispo_sec);
+	if ( ($Scalls > 0) and ($Stalk_sec > 0) ) {$Stalk_avg = ($Stalk_sec/$Scalls);}
+		else {$Stalk_avg=0;}
+	if ( ($Scalls > 0) and ($Spause_sec > 0) ) {$Spause_avg = ($Spause_sec/$Scalls);}
+		else {$Spause_avg=0;}
+	if ( ($Scalls > 0) and ($Swait_sec > 0) ) {$Swait_avg = ($Swait_sec/$Scalls);}
+		else {$Swait_avg=0;}
+	if ( ($Scalls > 0) and ($Sdispo_sec > 0) ) {$Sdispo_avg = ($Sdispo_sec/$Scalls);}
+		else {$Sdispo_avg=0;}
+
+	$Scalls =	sprintf("%6s", $Scalls);
+
+	if ($non_latin < 1)
+	{
+   	 $Sfull_name=	sprintf("%-15s", $Sfull_name); 
+		while(strlen($Sfull_name)>15) {$Sfull_name = substr("$Sfull_name", 0, -1);}
+	 $Suser =		sprintf("%-8s", $Suser);
+        while(strlen($Suser)>8) {$Suser = substr("$Suser", 0, -1);}
+       }
+	else
+	{	
+        $Sfull_name=	sprintf("%-45s", $Sfull_name); 
+	 while(mb_strlen($Sfull_name,'utf-8')>15) {$Sfull_name = mb_substr("$Sfull_name", 0, -1,'utf-8');}
+
+ 		$Suser =	sprintf("%-24s", $Suser);
+	 while(mb_strlen($Suser,'utf-8')>8) {$Suser = mb_substr("$Suser", 0, -1,'utf-8');}
+	}
+
+	$USERtime_M = ($Stime / 60);
+	$USERtime_M = round($USERtime_M, 2);
+	$USERtime_M_int = intval("$USERtime_M");
+	$USERtime_S = ($USERtime_M - $USERtime_M_int);
+	$USERtime_S = ($USERtime_S * 60);
+	$USERtime_S = round($USERtime_S, 0);
+	if ($USERtime_S < 10) {$USERtime_S = "0$USERtime_S";}
+	$USERtime_MS = "$USERtime_M_int:$USERtime_S";
+	$pfUSERtime_MS =		sprintf("%7s", $USERtime_MS);
+
+	$USERtotTALK_M = ($Stalk_sec / 60);
+	$USERtotTALK_M = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$pfUSERtotTALK_MS =		sprintf("%6s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($Stalk_avg / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$pfUSERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	$USERtotPAUSE_M = ($Spause_sec / 60);
+	$USERtotPAUSE_M = round($USERtotPAUSE_M, 2);
+	$USERtotPAUSE_M_int = intval("$USERtotPAUSE_M");
+	$USERtotPAUSE_S = ($USERtotPAUSE_M - $USERtotPAUSE_M_int);
+	$USERtotPAUSE_S = ($USERtotPAUSE_S * 60);
+	$USERtotPAUSE_S = round($USERtotPAUSE_S, 0);
+	if ($USERtotPAUSE_S < 10) {$USERtotPAUSE_S = "0$USERtotPAUSE_S";}
+	$USERtotPAUSE_MS = "$USERtotPAUSE_M_int:$USERtotPAUSE_S";
+	$pfUSERtotPAUSE_MS =		sprintf("%6s", $USERtotPAUSE_MS);
+
+	$USERavgPAUSE_M = ($Spause_avg / 60);
+	$USERavgPAUSE_M = round($USERavgPAUSE_M, 2);
+	$USERavgPAUSE_M_int = intval("$USERavgPAUSE_M");
+	$USERavgPAUSE_S = ($USERavgPAUSE_M - $USERavgPAUSE_M_int);
+	$USERavgPAUSE_S = ($USERavgPAUSE_S * 60);
+	$USERavgPAUSE_S = round($USERavgPAUSE_S, 0);
+	if ($USERavgPAUSE_S < 10) {$USERavgPAUSE_S = "0$USERavgPAUSE_S";}
+	$USERavgPAUSE_MS = "$USERavgPAUSE_M_int:$USERavgPAUSE_S";
+	$pfUSERavgPAUSE_MS =		sprintf("%6s", $USERavgPAUSE_MS);
+
+	$USERtotWAIT_M = ($Swait_sec / 60);
+	$USERtotWAIT_M = round($USERtotWAIT_M, 2);
+	$USERtotWAIT_M_int = intval("$USERtotWAIT_M");
+	$USERtotWAIT_S = ($USERtotWAIT_M - $USERtotWAIT_M_int);
+	$USERtotWAIT_S = ($USERtotWAIT_S * 60);
+	$USERtotWAIT_S = round($USERtotWAIT_S, 0);
+	if ($USERtotWAIT_S < 10) {$USERtotWAIT_S = "0$USERtotWAIT_S";}
+	$USERtotWAIT_MS = "$USERtotWAIT_M_int:$USERtotWAIT_S";
+	$pfUSERtotWAIT_MS =		sprintf("%6s", $USERtotWAIT_MS);
+
+	$USERavgWAIT_M = ($Swait_avg / 60);
+	$USERavgWAIT_M = round($USERavgWAIT_M, 2);
+	$USERavgWAIT_M_int = intval("$USERavgWAIT_M");
+	$USERavgWAIT_S = ($USERavgWAIT_M - $USERavgWAIT_M_int);
+	$USERavgWAIT_S = ($USERavgWAIT_S * 60);
+	$USERavgWAIT_S = round($USERavgWAIT_S, 0);
+	if ($USERavgWAIT_S < 10) {$USERavgWAIT_S = "0$USERavgWAIT_S";}
+	$USERavgWAIT_MS = "$USERavgWAIT_M_int:$USERavgWAIT_S";
+	$pfUSERavgWAIT_MS =		sprintf("%6s", $USERavgWAIT_MS);
+	
+	$USERtotDISPO_M = ($Sdispo_sec / 60);
+	$USERtotDISPO_M = round($USERtotDISPO_M, 2);
+	$USERtotDISPO_M_int = intval("$USERtotDISPO_M");
+	$USERtotDISPO_S = ($USERtotDISPO_M - $USERtotDISPO_M_int);
+	$USERtotDISPO_S = ($USERtotDISPO_S * 60);
+	$USERtotDISPO_S = round($USERtotDISPO_S, 0);
+	if ($USERtotDISPO_S < 10) {$USERtotDISPO_S = "0$USERtotDISPO_S";}
+	$USERtotDISPO_MS = "$USERtotDISPO_M_int:$USERtotDISPO_S";
+	$pfUSERtotDISPO_MS =		sprintf("%6s", $USERtotDISPO_MS);
+
+	$USERavgDISPO_M = ($Sdispo_avg / 60);
+	$USERavgDISPO_M = round($USERavgDISPO_M, 2);
+	$USERavgDISPO_M_int = intval("$USERavgDISPO_M");
+	$USERavgDISPO_S = ($USERavgDISPO_M - $USERavgDISPO_M_int);
+	$USERavgDISPO_S = ($USERavgDISPO_S * 60);
+	$USERavgDISPO_S = round($USERavgDISPO_S, 0);
+	if ($USERavgDISPO_S < 10) {$USERavgDISPO_S = "0$USERavgDISPO_S";}
+	$USERavgDISPO_MS = "$USERavgDISPO_M_int:$USERavgDISPO_S";
+	$pfUSERavgDISPO_MS =		sprintf("%6s", $USERavgDISPO_MS);
+
+	echo "| $Sfull_name | $Suser | $Scalls | $pfUSERtime_MS | $pfUSERtotPAUSE_MS | $pfUSERavgPAUSE_MS | $pfUSERtotWAIT_MS | $pfUSERavgWAIT_MS | $pfUSERtotTALK_MS | $pfUSERavgTALK_MS | $pfUSERtotDISPO_MS | $pfUSERavgDISPO_MS |$SstatusesHTML\n";
+	$m++;
+	}
+### END loop through each user ###
+
+
+###### LAST LINE FORMATTING ##########
+### BEGIN loop through each status ###
+$SUMstatusesHTML='';
+$n=0;
+while ($n < $j)
+	{
+	$Scalls=0;
+	$Sstatus=$statusesARY[$n];
+	$SUMstatusTXT='';
+	### BEGIN loop through each stat line ###
+	$i=0; $status_found=0;
+	while ($i < $rows_to_print)
+		{
+		if ($Sstatus=="$status[$i]")
+			{
+			$Scalls =		($Scalls + $calls[$i]);
+			$status_found++;
+			}
+		$i++;
+		}
+	### END loop through each stat line ###
+	if ($status_found < 1)
+		{
+		$SUMstatusesHTML .= "        0 |";
+		}
+	else
+		{
+		$SUMstatusTXT = sprintf("%8s", $Scalls);
+		$SUMstatusesHTML .= " $SUMstatusTXT |";
+		}
+	$n++;
+	}
+### END loop through each status ###
+
+
+	$TOTcalls =	sprintf("%7s", $TOTcalls);
+	$TOT_AGENTS = sprintf("%-4s", $m);
+
+	$TOTtime_M = ($TOTtime / 60);
+	$TOTtime_M = round($TOTtime_M, 2);
+	$TOTtime_M_int = intval("$TOTtime_M");
+	$TOTtime_S = ($TOTtime_M - $TOTtime_M_int);
+	$TOTtime_S = ($TOTtime_S * 60);
+	$TOTtime_S = round($TOTtime_S, 0);
+	if ($TOTtime_S < 10) {$TOTtime_S = "0$TOTtime_S";}
+	$TOTtime_MS = "$TOTtime_M_int:$TOTtime_S";
+	$TOTtime_MS =		sprintf("%8s", $TOTtime_MS);
+		while(strlen($TOTtime_MS)>8) {$TOTtime_MS = substr("$TOTtime_MS", 0, -1);}
+
+	$TOTtotTALK_M = ($TOTtotTALK / 60);
+	$TOTtotTALK_M = round($TOTtotTALK_M, 2);
+	$TOTtotTALK_M_int = intval("$TOTtotTALK_M");
+	$TOTtotTALK_S = ($TOTtotTALK_M - $TOTtotTALK_M_int);
+	$TOTtotTALK_S = ($TOTtotTALK_S * 60);
+	$TOTtotTALK_S = round($TOTtotTALK_S, 0);
+	if ($TOTtotTALK_S < 10) {$TOTtotTALK_S = "0$TOTtotTALK_S";}
+	$TOTtotTALK_MS = "$TOTtotTALK_M_int:$TOTtotTALK_S";
+	$TOTtotTALK_MS =		sprintf("%8s", $TOTtotTALK_MS);
+		while(strlen($TOTtotTALK_MS)>8) {$TOTtotTALK_MS = substr("$TOTtotTALK_MS", 0, -1);}
+
+	$TOTtotDISPO_M = ($TOTtotDISPO / 60);
+	$TOTtotDISPO_M = round($TOTtotDISPO_M, 2);
+	$TOTtotDISPO_M_int = intval("$TOTtotDISPO_M");
+	$TOTtotDISPO_S = ($TOTtotDISPO_M - $TOTtotDISPO_M_int);
+	$TOTtotDISPO_S = ($TOTtotDISPO_S * 60);
+	$TOTtotDISPO_S = round($TOTtotDISPO_S, 0);
+	if ($TOTtotDISPO_S < 10) {$TOTtotDISPO_S = "0$TOTtotDISPO_S";}
+	$TOTtotDISPO_MS = "$TOTtotDISPO_M_int:$TOTtotDISPO_S";
+	$TOTtotDISPO_MS =		sprintf("%8s", $TOTtotDISPO_MS);
+		while(strlen($TOTtotDISPO_MS)>8) {$TOTtotDISPO_MS = substr("$TOTtotDISPO_MS", 0, -1);}
+
+	$TOTtotPAUSE_M = ($TOTtotPAUSE / 60);
+	$TOTtotPAUSE_M = round($TOTtotPAUSE_M, 2);
+	$TOTtotPAUSE_M_int = intval("$TOTtotPAUSE_M");
+	$TOTtotPAUSE_S = ($TOTtotPAUSE_M - $TOTtotPAUSE_M_int);
+	$TOTtotPAUSE_S = ($TOTtotPAUSE_S * 60);
+	$TOTtotPAUSE_S = round($TOTtotPAUSE_S, 0);
+	if ($TOTtotPAUSE_S < 10) {$TOTtotPAUSE_S = "0$TOTtotPAUSE_S";}
+	$TOTtotPAUSE_MS = "$TOTtotPAUSE_M_int:$TOTtotPAUSE_S";
+	$TOTtotPAUSE_MS =		sprintf("%8s", $TOTtotPAUSE_MS);
+		while(strlen($TOTtotPAUSE_MS)>8) {$TOTtotPAUSE_MS = substr("$TOTtotPAUSE_MS", 0, -1);}
+
+	$TOTtotWAIT_M = ($TOTtotWAIT / 60);
+	$TOTtotWAIT_M = round($TOTtotWAIT_M, 2);
+	$TOTtotWAIT_M_int = intval("$TOTtotWAIT_M");
+	$TOTtotWAIT_S = ($TOTtotWAIT_M - $TOTtotWAIT_M_int);
+	$TOTtotWAIT_S = ($TOTtotWAIT_S * 60);
+	$TOTtotWAIT_S = round($TOTtotWAIT_S, 0);
+	if ($TOTtotWAIT_S < 10) {$TOTtotWAIT_S = "0$TOTtotWAIT_S";}
+	$TOTtotWAIT_MS = "$TOTtotWAIT_M_int:$TOTtotWAIT_S";
+	$TOTtotWAIT_MS =		sprintf("%8s", $TOTtotWAIT_MS);
+		while(strlen($TOTtotWAIT_MS)>8) {$TOTtotWAIT_MS = substr("$TOTtotWAIT_MS", 0, -1);}
+
+
+	$TOTavgTALK_M = ( ($TOTtotTALK / $TOTcalls) / 60);
+	$TOTavgTALK_M = round($TOTavgTALK_M, 2);
+	$TOTavgTALK_M_int = intval("$TOTavgTALK_M");
+	$TOTavgTALK_S = ($TOTavgTALK_M - $TOTavgTALK_M_int);
+	$TOTavgTALK_S = ($TOTavgTALK_S * 60);
+	$TOTavgTALK_S = round($TOTavgTALK_S, 0);
+	if ($TOTavgTALK_S < 10) {$TOTavgTALK_S = "0$TOTavgTALK_S";}
+	$TOTavgTALK_MS = "$TOTavgTALK_M_int:$TOTavgTALK_S";
+	$TOTavgTALK_MS =		sprintf("%6s", $TOTavgTALK_MS);
+		while(strlen($TOTavgTALK_MS)>6) {$TOTavgTALK_MS = substr("$TOTavgTALK_MS", 0, -1);}
+
+	$TOTavgDISPO_M = ( ($TOTtotDISPO / $TOTcalls) / 60);
+	$TOTavgDISPO_M = round($TOTavgDISPO_M, 2);
+	$TOTavgDISPO_M_int = intval("$TOTavgDISPO_M");
+	$TOTavgDISPO_S = ($TOTavgDISPO_M - $TOTavgDISPO_M_int);
+	$TOTavgDISPO_S = ($TOTavgDISPO_S * 60);
+	$TOTavgDISPO_S = round($TOTavgDISPO_S, 0);
+	if ($TOTavgDISPO_S < 10) {$TOTavgDISPO_S = "0$TOTavgDISPO_S";}
+	$TOTavgDISPO_MS = "$TOTavgDISPO_M_int:$TOTavgDISPO_S";
+	$TOTavgDISPO_MS =		sprintf("%6s", $TOTavgDISPO_MS);
+		while(strlen($TOTavgDISPO_MS)>6) {$TOTavgDISPO_MS = substr("$TOTavgDISPO_MS", 0, -1);}
+
+	$TOTavgPAUSE_M = ( ($TOTtotPAUSE / $TOTcalls) / 60);
+	$TOTavgPAUSE_M = round($TOTavgPAUSE_M, 2);
+	$TOTavgPAUSE_M_int = intval("$TOTavgPAUSE_M");
+	$TOTavgPAUSE_S = ($TOTavgPAUSE_M - $TOTavgPAUSE_M_int);
+	$TOTavgPAUSE_S = ($TOTavgPAUSE_S * 60);
+	$TOTavgPAUSE_S = round($TOTavgPAUSE_S, 0);
+	if ($TOTavgPAUSE_S < 10) {$TOTavgPAUSE_S = "0$TOTavgPAUSE_S";}
+	$TOTavgPAUSE_MS = "$TOTavgPAUSE_M_int:$TOTavgPAUSE_S";
+	$TOTavgPAUSE_MS =		sprintf("%6s", $TOTavgPAUSE_MS);
+		while(strlen($TOTavgPAUSE_MS)>6) {$TOTavgPAUSE_MS = substr("$TOTavgPAUSE_MS", 0, -1);}
+
+	$TOTavgWAIT_M = ( ($TOTtotWAIT / $TOTcalls) / 60);
+	$TOTavgWAIT_M = round($TOTavgWAIT_M, 2);
+	$TOTavgWAIT_M_int = intval("$TOTavgWAIT_M");
+	$TOTavgWAIT_S = ($TOTavgWAIT_M - $TOTavgWAIT_M_int);
+	$TOTavgWAIT_S = ($TOTavgWAIT_S * 60);
+	$TOTavgWAIT_S = round($TOTavgWAIT_S, 0);
+	if ($TOTavgWAIT_S < 10) {$TOTavgWAIT_S = "0$TOTavgWAIT_S";}
+	$TOTavgWAIT_MS = "$TOTavgWAIT_M_int:$TOTavgWAIT_S";
+	$TOTavgWAIT_MS =		sprintf("%6s", $TOTavgWAIT_MS);
+		while(strlen($TOTavgWAIT_MS)>6) {$TOTavgWAIT_MS = substr("$TOTavgWAIT_MS", 0, -1);}
+
+
+echo "+-----------------+----------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
+echo "|  TOTALS        AGENTS:$TOT_AGENTS | $TOTcalls| $TOTtime_MS|$TOTtotPAUSE_MS| $TOTavgPAUSE_MS |$TOTtotWAIT_MS| $TOTavgWAIT_MS |$TOTtotTALK_MS| $TOTavgTALK_MS |$TOTtotDISPO_MS| $TOTavgDISPO_MS |$SUMstatusesHTML\n";
+echo "+----------------------------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
+
+echo "\n";
+
+}
+
+
+?>
+
+
\ No newline at end of file
diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_agent_time_sheet.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_agent_time_sheet.php
new file mode 100644
index 00000000..00985781
--- /dev/null
+++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_agent_time_sheet.php
@@ -0,0 +1,286 @@
+    LICENSE: GPLv2
+###
+# CHANGES
+#
+# 60619-1729 - Added variable filtering to eliminate SQL injection attack threat
+#            - Added required user/pass to gain access to this page
+#
+
+require("dbconnect.php");
+
+$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
+$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
+$PHP_SELF=$_SERVER['PHP_SELF'];
+if (isset($_GET["agent"]))				{$agent=$_GET["agent"];}
+	elseif (isset($_POST["agent"]))		{$agent=$_POST["agent"];}
+if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
+	elseif (isset($_POST["query_date"]))		{$query_date=$_POST["query_date"];}
+if (isset($_GET["calls_summary"]))				{$calls_summary=$_GET["calls_summary"];}
+	elseif (isset($_POST["calls_summary"]))		{$calls_summary=$_POST["calls_summary"];}
+if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
+	elseif (isset($_POST["submit"]))		{$submit=$_POST["submit"];}
+if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"]))				{$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];}
+	elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"]))		{$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];}
+
+$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
+$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
+
+	$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
+	if ($DB) {echo "|$stmt|\n";}
+	$rslt=mysql_query($stmt, $link);
+	$row=mysql_fetch_row($rslt);
+	$auth=$row[0];
+
+  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
+	{
+    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
+    Header("HTTP/1.0 401 Unauthorized");
+    echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
+    exit;
+	}
+
+$NOW_DATE = date("Y-m-d");
+$NOW_TIME = date("Y-m-d H:i:s");
+$STARTtime = date("U");
+if (!isset($query_date)) {$query_date = $NOW_DATE;}
+
+?>
+
+
+
+
+
+\n";
+echo "VICIDIAL: Agent Time Sheet\n";
+echo "ΔΙΑΧΕΙΡΙΣΗ: Agent Time Sheet\n";
+echo " - User Stats\n";
+echo " - User Status\n";
+echo " - Τροποποίηση Χρήστη\n";
+echo "
\n"; +echo "
  \n"; +echo "Date: \n"; +echo "User ID: \n"; +echo "\n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$agent)
+{
+echo "\n";
+echo "PLEASE SELECT AN ΧΕΙΡΙΣΤΗΣID AND DATE-TIME ABOVE AND CLICK ΕΠΙΒΕΒΑΙΩΣΗ\n";
+echo " NOTE: stats taken from available agent log data\n";
+}
+
+else
+{
+$query_date_BEGIN = "$query_date 00:00:00";   
+$query_date_END = "$query_date 23:59:59";
+$time_BEGIN = "00:00:00";   
+$time_END = "23:59:59";
+
+$stmt="select full_name from vicidial_users where user='$agent';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$full_name = $row[0];
+
+echo "VICIDIAL: Agent Time Sheet                             $NOW_TIME\n";
+
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- ΧΕΙΡΙΣΤΗΣTIME SHEET: $agent - $full_name -------------\n\n";
+
+if ($calls_summary)
+	{
+	$stmt="select count(*) as calls,sum(talk_sec) as talk,avg(talk_sec),sum(pause_sec),avg(pause_sec),sum(wait_sec),avg(wait_sec),sum(dispo_sec),avg(dispo_sec) from vicidial_agent_log where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' and pause_sec<48800 and wait_sec<48800 and talk_sec<48800 and dispo_sec<48800 limit 1;";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+
+	$TOTAL_TIME = ($row[1] + $row[3] + $row[5] + $row[7]);
+
+		$TOTAL_TIME_H = ($TOTAL_TIME / 3600);
+		$TOTAL_TIME_H = round($TOTAL_TIME_H, 2);
+		$TOTAL_TIME_H_int = intval("$TOTAL_TIME_H");
+		$TOTAL_TIME_M = ($TOTAL_TIME_H - $TOTAL_TIME_H_int);
+		$TOTAL_TIME_M = ($TOTAL_TIME_M * 60);
+		$TOTAL_TIME_M = round($TOTAL_TIME_M, 2);
+		$TOTAL_TIME_M_int = intval("$TOTAL_TIME_M");
+		$TOTAL_TIME_S = ($TOTAL_TIME_M - $TOTAL_TIME_M_int);
+		$TOTAL_TIME_S = ($TOTAL_TIME_S * 60);
+		$TOTAL_TIME_S = round($TOTAL_TIME_S, 0);
+		if ($TOTAL_TIME_S < 10) {$TOTAL_TIME_S = "0$TOTAL_TIME_S";}
+		if ($TOTAL_TIME_M_int < 10) {$TOTAL_TIME_M_int = "0$TOTAL_TIME_M_int";}
+		$TOTAL_TIME_HMS = "$TOTAL_TIME_H_int:$TOTAL_TIME_M_int:$TOTAL_TIME_S";
+		$pfTOTAL_TIME_HMS =		sprintf("%8s", $TOTAL_TIME_HMS);
+
+		$TALK_TIME_H = ($row[1] / 3600);
+		$TALK_TIME_H = round($TALK_TIME_H, 2);
+		$TALK_TIME_H_int = intval("$TALK_TIME_H");
+		$TALK_TIME_M = ($TALK_TIME_H - $TALK_TIME_H_int);
+		$TALK_TIME_M = ($TALK_TIME_M * 60);
+		$TALK_TIME_M = round($TALK_TIME_M, 2);
+		$TALK_TIME_M_int = intval("$TALK_TIME_M");
+		$TALK_TIME_S = ($TALK_TIME_M - $TALK_TIME_M_int);
+		$TALK_TIME_S = ($TALK_TIME_S * 60);
+		$TALK_TIME_S = round($TALK_TIME_S, 0);
+		if ($TALK_TIME_S < 10) {$TALK_TIME_S = "0$TALK_TIME_S";}
+		if ($TALK_TIME_M_int < 10) {$TALK_TIME_M_int = "0$TALK_TIME_M_int";}
+		$TALK_TIME_HMS = "$TALK_TIME_H_int:$TALK_TIME_M_int:$TALK_TIME_S";
+		$pfTALK_TIME_HMS =		sprintf("%8s", $TALK_TIME_HMS);
+
+		$PAUSE_TIME_H = ($row[3] / 3600);
+		$PAUSE_TIME_H = round($PAUSE_TIME_H, 2);
+		$PAUSE_TIME_H_int = intval("$PAUSE_TIME_H");
+		$PAUSE_TIME_M = ($PAUSE_TIME_H - $PAUSE_TIME_H_int);
+		$PAUSE_TIME_M = ($PAUSE_TIME_M * 60);
+		$PAUSE_TIME_M = round($PAUSE_TIME_M, 2);
+		$PAUSE_TIME_M_int = intval("$PAUSE_TIME_M");
+		$PAUSE_TIME_S = ($PAUSE_TIME_M - $PAUSE_TIME_M_int);
+		$PAUSE_TIME_S = ($PAUSE_TIME_S * 60);
+		$PAUSE_TIME_S = round($PAUSE_TIME_S, 0);
+		if ($PAUSE_TIME_S < 10) {$PAUSE_TIME_S = "0$PAUSE_TIME_S";}
+		if ($PAUSE_TIME_M_int < 10) {$PAUSE_TIME_M_int = "0$PAUSE_TIME_M_int";}
+		$PAUSE_TIME_HMS = "$PAUSE_TIME_H_int:$PAUSE_TIME_M_int:$PAUSE_TIME_S";
+		$pfPAUSE_TIME_HMS =		sprintf("%8s", $PAUSE_TIME_HMS);
+
+		$WAIT_TIME_H = ($row[5] / 3600);
+		$WAIT_TIME_H = round($WAIT_TIME_H, 2);
+		$WAIT_TIME_H_int = intval("$WAIT_TIME_H");
+		$WAIT_TIME_M = ($WAIT_TIME_H - $WAIT_TIME_H_int);
+		$WAIT_TIME_M = ($WAIT_TIME_M * 60);
+		$WAIT_TIME_M = round($WAIT_TIME_M, 2);
+		$WAIT_TIME_M_int = intval("$WAIT_TIME_M");
+		$WAIT_TIME_S = ($WAIT_TIME_M - $WAIT_TIME_M_int);
+		$WAIT_TIME_S = ($WAIT_TIME_S * 60);
+		$WAIT_TIME_S = round($WAIT_TIME_S, 0);
+		if ($WAIT_TIME_S < 10) {$WAIT_TIME_S = "0$WAIT_TIME_S";}
+		if ($WAIT_TIME_M_int < 10) {$WAIT_TIME_M_int = "0$WAIT_TIME_M_int";}
+		$WAIT_TIME_HMS = "$WAIT_TIME_H_int:$WAIT_TIME_M_int:$WAIT_TIME_S";
+		$pfWAIT_TIME_HMS =		sprintf("%8s", $WAIT_TIME_HMS);
+
+		$WRAPUP_TIME_H = ($row[7] / 3600);
+		$WRAPUP_TIME_H = round($WRAPUP_TIME_H, 2);
+		$WRAPUP_TIME_H_int = intval("$WRAPUP_TIME_H");
+		$WRAPUP_TIME_M = ($WRAPUP_TIME_H - $WRAPUP_TIME_H_int);
+		$WRAPUP_TIME_M = ($WRAPUP_TIME_M * 60);
+		$WRAPUP_TIME_M = round($WRAPUP_TIME_M, 2);
+		$WRAPUP_TIME_M_int = intval("$WRAPUP_TIME_M");
+		$WRAPUP_TIME_S = ($WRAPUP_TIME_M - $WRAPUP_TIME_M_int);
+		$WRAPUP_TIME_S = ($WRAPUP_TIME_S * 60);
+		$WRAPUP_TIME_S = round($WRAPUP_TIME_S, 0);
+		if ($WRAPUP_TIME_S < 10) {$WRAPUP_TIME_S = "0$WRAPUP_TIME_S";}
+		if ($WRAPUP_TIME_M_int < 10) {$WRAPUP_TIME_M_int = "0$WRAPUP_TIME_M_int";}
+		$WRAPUP_TIME_HMS = "$WRAPUP_TIME_H_int:$WRAPUP_TIME_M_int:$WRAPUP_TIME_S";
+		$pfWRAPUP_TIME_HMS =		sprintf("%8s", $WRAPUP_TIME_HMS);
+
+		$TALK_AVG_M = ($row[2] / 60);
+		$TALK_AVG_M = round($TALK_AVG_M, 2);
+		$TALK_AVG_M_int = intval("$TALK_AVG_M");
+		$TALK_AVG_S = ($TALK_AVG_M - $TALK_AVG_M_int);
+		$TALK_AVG_S = ($TALK_AVG_S * 60);
+		$TALK_AVG_S = round($TALK_AVG_S, 0);
+		if ($TALK_AVG_S < 10) {$TALK_AVG_S = "0$TALK_AVG_S";}
+		$TALK_AVG_MS = "$TALK_AVG_M_int:$TALK_AVG_S";
+		$pfTALK_AVG_MS =		sprintf("%6s", $TALK_AVG_MS);
+
+		$PAUSE_AVG_M = ($row[4] / 60);
+		$PAUSE_AVG_M = round($PAUSE_AVG_M, 2);
+		$PAUSE_AVG_M_int = intval("$PAUSE_AVG_M");
+		$PAUSE_AVG_S = ($PAUSE_AVG_M - $PAUSE_AVG_M_int);
+		$PAUSE_AVG_S = ($PAUSE_AVG_S * 60);
+		$PAUSE_AVG_S = round($PAUSE_AVG_S, 0);
+		if ($PAUSE_AVG_S < 10) {$PAUSE_AVG_S = "0$PAUSE_AVG_S";}
+		$PAUSE_AVG_MS = "$PAUSE_AVG_M_int:$PAUSE_AVG_S";
+		$pfPAUSE_AVG_MS =		sprintf("%6s", $PAUSE_AVG_MS);
+
+		$WAIT_AVG_M = ($row[6] / 60);
+		$WAIT_AVG_M = round($WAIT_AVG_M, 2);
+		$WAIT_AVG_M_int = intval("$WAIT_AVG_M");
+		$WAIT_AVG_S = ($WAIT_AVG_M - $WAIT_AVG_M_int);
+		$WAIT_AVG_S = ($WAIT_AVG_S * 60);
+		$WAIT_AVG_S = round($WAIT_AVG_S, 0);
+		if ($WAIT_AVG_S < 10) {$WAIT_AVG_S = "0$WAIT_AVG_S";}
+		$WAIT_AVG_MS = "$WAIT_AVG_M_int:$WAIT_AVG_S";
+		$pfWAIT_AVG_MS =		sprintf("%6s", $WAIT_AVG_MS);
+
+		$WRAPUP_AVG_M = ($row[8] / 60);
+		$WRAPUP_AVG_M = round($WRAPUP_AVG_M, 2);
+		$WRAPUP_AVG_M_int = intval("$WRAPUP_AVG_M");
+		$WRAPUP_AVG_S = ($WRAPUP_AVG_M - $WRAPUP_AVG_M_int);
+		$WRAPUP_AVG_S = ($WRAPUP_AVG_S * 60);
+		$WRAPUP_AVG_S = round($WRAPUP_AVG_S, 0);
+		if ($WRAPUP_AVG_S < 10) {$WRAPUP_AVG_S = "0$WRAPUP_AVG_S";}
+		$WRAPUP_AVG_MS = "$WRAPUP_AVG_M_int:$WRAPUP_AVG_S";
+		$pfWRAPUP_AVG_MS =		sprintf("%6s", $WRAPUP_AVG_MS);
+
+	echo "ΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣTAKEN: $row[0]\n";
+	echo "TALK TIME:               $pfTALK_TIME_HMS     AVERAGE: $pfTALK_AVG_MS\n";
+	echo "PAUSE TIME:              $pfPAUSE_TIME_HMS     AVERAGE: $pfPAUSE_AVG_MS\n";
+	echo "WAIT TIME:               $pfWAIT_TIME_HMS     AVERAGE: $pfWAIT_AVG_MS\n";
+	echo "WRAPUP TIME:             $pfWRAPUP_TIME_HMS     AVERAGE: $pfWRAPUP_AVG_MS\n";
+	echo "----------------------------------------------------------------\n";
+	echo "TOTAL ACTIVE ΧΕΙΡΙΣΤΗΣTIME: $pfTOTAL_TIME_HMS\n";
+
+	echo "\n";
+	}
+else
+	{
+	echo "Call Activity Summary\n\n";
+
+	}
+
+$stmt="select event_time,UNIX_TIMESTAMP(event_time) from vicidial_agent_log where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' order by event_time limit 1;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+echo "FIRST LOGIN:          $row[0]\n";
+$start = $row[1];
+
+$stmt="select event_time,UNIX_TIMESTAMP(event_time) from vicidial_agent_log where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' order by event_time desc limit 1;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+echo "LAST LOG ACTIVITY:    $row[0]\n";
+$end = $row[1];
+
+$login_time = ($end - $start);
+	$LOGIN_TIME_H = ($login_time / 3600);
+	$LOGIN_TIME_H = round($LOGIN_TIME_H, 2);
+	$LOGIN_TIME_H_int = intval("$LOGIN_TIME_H");
+	$LOGIN_TIME_M = ($LOGIN_TIME_H - $LOGIN_TIME_H_int);
+	$LOGIN_TIME_M = ($LOGIN_TIME_M * 60);
+	$LOGIN_TIME_M = round($LOGIN_TIME_M, 2);
+	$LOGIN_TIME_M_int = intval("$LOGIN_TIME_M");
+	$LOGIN_TIME_S = ($LOGIN_TIME_M - $LOGIN_TIME_M_int);
+	$LOGIN_TIME_S = ($LOGIN_TIME_S * 60);
+	$LOGIN_TIME_S = round($LOGIN_TIME_S, 0);
+	if ($LOGIN_TIME_S < 10) {$LOGIN_TIME_S = "0$LOGIN_TIME_S";}
+	if ($LOGIN_TIME_M_int < 10) {$LOGIN_TIME_M_int = "0$LOGIN_TIME_M_int";}
+	$LOGIN_TIME_HMS = "$LOGIN_TIME_H_int:$LOGIN_TIME_M_int:$LOGIN_TIME_S";
+	$pfLOGIN_TIME_HMS =		sprintf("%8s", $LOGIN_TIME_HMS);
+
+echo "-----------------------------------------\n";
+echo "TOTAL LOGGED-IN TIME:    $pfLOGIN_TIME_HMS\n";
+
+}
+
+
+
+?>
+
+
\ No newline at end of file
diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_inboundEXTstats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_inboundEXTstats.php
new file mode 100644
index 00000000..0181b547
--- /dev/null
+++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_inboundEXTstats.php
@@ -0,0 +1,400 @@
+    LICENSE: GPLv2
+#
+# CHANGES
+# 60421-1450 - check GET/POST vars lines with isset to not trigger PHP NOTICES
+# 60620-1322 - Added variable filtering to eliminate SQL injection attack threat
+#            - Added required user/pass to gain access to this page
+#
+
+require("dbconnect.php");
+
+$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
+$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
+$PHP_SELF=$_SERVER['PHP_SELF'];
+if (isset($_GET["group"]))					{$group=$_GET["group"];}
+	elseif (isset($_POST["group"]))			{$group=$_POST["group"];}
+if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
+	elseif (isset($_POST["query_date"]))	{$query_date=$_POST["query_date"];}
+if (isset($_GET["server_ip"]))				{$server_ip=$_GET["server_ip"];}
+	elseif (isset($_POST["server_ip"]))		{$server_ip=$_POST["server_ip"];}
+if (isset($_GET["submit"]))					{$submit=$_GET["submit"];}
+	elseif (isset($_POST["submit"]))		{$submit=$_POST["submit"];}
+if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"]))					{$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];}
+	elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"]))		{$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];}
+
+$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
+$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
+
+	$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
+	if ($DB) {echo "|$stmt|\n";}
+	$rslt=mysql_query($stmt, $link);
+	$row=mysql_fetch_row($rslt);
+	$auth=$row[0];
+
+  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
+	{
+    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
+    Header("HTTP/1.0 401 Unauthorized");
+    echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
+    exit;
+	}
+
+
+$NOW_DATE = date("Y-m-d");
+$NOW_TIME = date("Y-m-d H:i:s");
+$STARTtime = date("U");
+if (!isset($query_date)) {$query_date = $NOW_DATE;}
+if (!isset($server_ip)) {$server_ip = '10.10.11.20';}
+
+$stmt="select extension,full_number,inbound_name from inbound_numbers where server_ip='" . mysql_real_escape_string($server_ip) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$inbound_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $inbound_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$inbound[$i] =$row[0];
+	$fullnum[$i] =$row[1];
+	$inbname[$i] =$row[2];
+	$i++;
+	}
+?>
+
+
+
+
+
+\n";
+#echo"\n";
+echo "ASTERISK: Στατιστικά Εισερχομένων Κλήσεων\n";
+echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "ΠΑΡΑΚΑΛΩ ΕΠΙΛΕΞΤΕ ΕΝΑΝ ΑΡΙΘΜΟ ΚΑΙ ΗΜΕΡΟΜΗΝΙΑ ΑΝΩΤΕΡΩ, ΚΑΙ ΠΑΤΗΣΤΕ ΕΠΙΒΕΒΑΙΩΣΗ\n";
+}
+
+else
+{
+
+
+echo "ASTERISK: Στατιστικά Εισερχομένων Κλήσεων                      $NOW_TIME\n";
+
+echo "\n";
+echo "---------- TOTALS\n";
+
+$extenSQL = "and extension='" . mysql_real_escape_string($group) . "'";
+if (eregi("\*",$group))
+	{$extenSQL = "and extension LIKE \"%$group\"";}
+$stmt="select count(*),sum(length_in_sec) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+$average_hold_seconds = ($row[1] / $row[0]);
+$average_hold_seconds = round($average_hold_seconds, 0);
+$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+
+echo "Συνολικές κλήσεις που ήρθαν σε αυτό τον αριθμό:       $TOTALcalls\n";
+echo "Average Call Length(seconds) for all Calls:   $average_hold_seconds\n";
+
+echo "\n";
+echo "---------- ΕΓΚΑΤΑΛ\n";
+
+$stmt="select count(*),sum(length_in_sec) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$DROPcalls =	sprintf("%10s", $row[0]);
+$DROPpercent = (($DROPcalls / $TOTALcalls) * 100);
+$DROPpercent = round($DROPpercent, 0);
+
+if ($row[0])
+	{
+	$average_hold_seconds = ($row[1] / $row[0]);
+	$average_hold_seconds = round($average_hold_seconds, 0);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+else {$DROPpercent=0;   $average_hold_seconds=0;}
+echo "Total DROP Calls:   (less than 10 seconds)    $DROPcalls  $DROPpercent%\n";
+echo "Average Call Length(seconds) for DROP Calls:  $average_hold_seconds\n";
+
+
+##############################
+#########  CALLS STATS
+
+echo "\n";
+echo "---------- CALL LISTINGS\n";
+echo "+----------------------+----------------------+--------+---------------------+\n";
+echo "| CALLERID             | CALLERIDNAME         | LENGTH | DATE TIME           |\n";
+echo "+----------------------+----------------------+--------+---------------------+\n";
+
+$stmt="select number_dialed,caller_code,length_in_sec,start_time from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$CID =			sprintf("%-20s", $row[0]);
+	$CIDname =		sprintf("%-20s", $row[1]); while(strlen($full_name)>15) {$full_name = substr("$full_name", 0, -1);}
+	$datetime =		sprintf("%-19s", $row[3]);
+	$USERavgTALK =	$row[2];
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$USERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	echo "| $CID | $CIDname | $USERavgTALK_MS | $datetime |\n";
+
+	$i++;
+	}
+
+echo "+----------------------+----------------------+--------+---------------------+\n";
+
+##############################
+#########  TIME STATS
+
+if ($output == 'FULL')
+	{
+
+	echo "\n";
+	echo "---------- ΣΤΑΤ.ΧΡΟΝ.\n";
+
+	echo "\n";
+
+	$hi_hour_count=0;
+	$last_full_record=0;
+	$i=0;
+	$h=0;
+	while ($i <= 96)
+		{
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:00:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:14:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$hour_count[$i] = $row[0];
+		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+		if ($hour_count[$i] > 0) {$last_full_record = $i;}
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:00:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:14:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$drop_count[$i] = $row[0];
+		$i++;
+
+
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:15:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:29:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$hour_count[$i] = $row[0];
+		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+		if ($hour_count[$i] > 0) {$last_full_record = $i;}
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:15:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:29:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$drop_count[$i] = $row[0];
+		$i++;
+
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:30:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:44:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$hour_count[$i] = $row[0];
+		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+		if ($hour_count[$i] > 0) {$last_full_record = $i;}
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:30:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:44:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$drop_count[$i] = $row[0];
+		$i++;
+
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:45:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$hour_count[$i] = $row[0];
+		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+		if ($hour_count[$i] > 0) {$last_full_record = $i;}
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:45:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$drop_count[$i] = $row[0];
+		$i++;
+		$h++;
+		}
+
+	$hour_multiplier = (100 / $hi_hour_count);
+	#$hour_multiplier = round($hour_multiplier, 0);
+
+	echo "\n";
+	echo "ΓΡΑΦΙΚΗ ΠΑΡΑΣΤΑΣΗ ΜΕ 15ΛΕΠΤΕΣ ΑΥΞΗΣΕΙΣ ΤΩΝ ΣΥΝΟΛΙΚΩΝ ΚΛΗΣΕΩΝ\n";
+
+	$k=1;
+	$Mk=0;
+	$call_scale = '0';
+	while ($k <= 102) 
+		{
+		if ($Mk >= 5) 
+			{
+			$Mk=0;
+			$scale_num=($k / $hour_multiplier);
+			$scale_num = round($scale_num, 0);
+			$LENscale_num = (strlen($scale_num));
+			$k = ($k + $LENscale_num);
+			$call_scale .= "$scale_num";
+			}
+		else
+			{
+			$call_scale .= " ";
+			$k++;   $Mk++;
+			}
+		}
+
+
+	echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+	#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | DROPS | TOTAL |\n";
+	echo "| HOUR |$call_scale| DROPS | TOTAL |\n";
+	echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+	$ZZ = '00';
+	$i=0;
+	$h=4;
+	$hour= -1;
+	$no_lines_yet=1;
+
+	while ($i <= 96)
+		{
+		$char_counter=0;
+		$time = '      ';
+		if ($h >= 4) 
+			{
+			$hour++;
+			$h=0;
+			if ($hour < 10) {$hour = "0$hour";}
+			$time = "+$hour$ZZ+";
+			}
+		if ($h == 1) {$time = "   15 ";}
+		if ($h == 2) {$time = "   30 ";}
+		if ($h == 3) {$time = "   45 ";}
+		$Ghour_count = $hour_count[$i];
+		if ($Ghour_count < 1) 
+			{
+			if ( ($no_lines_yet) or ($i > $last_full_record) )
+				{
+				$do_nothing=1;
+				}
+			else
+				{
+				$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+				echo "|$time|";
+				$k=0;   while ($k <= 102) {echo " ";   $k++;}
+				echo "| $hour_count[$i] |\n";
+				}
+			}
+		else
+			{
+			$no_lines_yet=0;
+			$Xhour_count = ($Ghour_count * $hour_multiplier);
+			$Yhour_count = (99 - $Xhour_count);
+
+			$Gdrop_count = $drop_count[$i];
+			if ($Gdrop_count < 1) 
+				{
+				$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+
+				echo "|$time|";
+				$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
+				echo "*X";   $char_counter++;
+				$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+					while ($char_counter <= 101) {echo " ";   $char_counter++;}
+				echo "| 0     | $hour_count[$i] |\n";
+
+				}
+			else
+				{
+				$Xdrop_count = ($Gdrop_count * $hour_multiplier);
+
+			#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
+
+				$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
+
+				$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+				$drop_count[$i] =	sprintf("%-5s", $drop_count[$i]);
+
+				echo "|$time|";
+				$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
+				echo "D";   $char_counter++;
+				$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
+				echo "X";   $char_counter++;
+				$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+					while ($char_counter <= 102) {echo " ";   $char_counter++;}
+				echo "| $drop_count[$i] | $hour_count[$i] |\n";
+				}
+			}
+		
+		
+		$i++;
+		$h++;
+		}
+
+
+	echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+
+	}
+
+
+
+
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_server_performance.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_server_performance.php new file mode 100644 index 00000000..01c91c40 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_server_performance.php @@ -0,0 +1,306 @@ + LICENSE: GPLv2 +# +# CHANGES +# +# 60619-1732 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 70417-1106 - Changed time frame to be definable per time range on a single day +# - Fixed vertical scaling issues +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["begin_query_time"])) {$begin_query_time=$_GET["begin_query_time"];} + elseif (isset($_POST["begin_query_time"])) {$begin_query_time=$_POST["begin_query_time"];} +if (isset($_GET["end_query_time"])) {$end_query_time=$_GET["end_query_time"];} + elseif (isset($_POST["end_query_time"])) {$end_query_time=$_POST["end_query_time"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and modify_servers='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +# path from root to where ploticus files will be stored +$PLOTroot = "vicidial/ploticus"; +$DOCroot = "$WeBServeRRooT/$PLOTroot/"; + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); + +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($begin_query_time)) {$begin_query_time = '09:00:00';} +if (!isset($end_query_time)) {$end_query_time = '15:30:00';} +if (!isset($group)) {$group = '';} + +$stmt="select server_ip from servers;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$servers_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $servers_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Server Performance\n"; +echo "
\n"; +echo "Date:   \n"; +echo "Time: \n"; +echo "to \n"; +echo "Server: \n"; +echo "\n"; +echo "             ΑΝΑΦΟΡΕΣ \n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$group)
+{
+echo "\n";
+echo "PLEASE SELECT A SERVER, DATE AND TIME RANGE ABOVE AND CLICK ΕΠΙΒΕΒΑΙΩΣΗ\n";
+}
+
+else
+{
+
+$query_date_BEGIN = "$query_date $begin_query_time";   
+$query_date_END = "$query_date $end_query_time";
+$time_BEGIN = "$begin_query_time";   
+$time_END = "$end_query_time";
+
+echo "VICIDIAL: Server Performance                             $NOW_TIME\n";
+
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- TOTALS, PEAKS and AVERAGES\n";
+
+$stmt="select AVG(sysload),AVG(channels_total),MAX(sysload),MAX(channels_total),MAX(processes) from server_performance where start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and server_ip='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$AVGload =	sprintf("%10s", $row[0]);
+$AVGchannels =	sprintf("%10s", $row[1]);
+$HIGHload =	$row[2];
+	$HIGHmulti = intval($HIGHload / 100);
+$HIGHchannels =	$row[3];
+$HIGHprocesses =$row[4];
+if ($row[2] > $row[3]) {$HIGHlimit = $row[2];}
+else {$HIGHlimit = $row[3];}
+if ($HIGHlimit < $row[4]) {$HIGHlimit = $row[4];}
+
+$stmt="select AVG(cpu_user_percent),AVG(cpu_system_percent),AVG(cpu_idle_percent) from server_performance where start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and server_ip='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$AVGcpuUSER =	sprintf("%10s", $row[0]);
+$AVGcpuSYSTEM =	sprintf("%10s", $row[1]);
+$AVGcpuIDLE =	sprintf("%10s", $row[2]);
+
+$stmt="select count(*),SUM(length_in_min) from call_log where extension NOT IN('8365','8366','8367') and  start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and server_ip='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$TOTALcalls =	sprintf("%10s", $row[0]);
+$OFFHOOKtime =	sprintf("%10s", $row[1]);
+
+
+echo "Total Calls in/out on this server:        $TOTALcalls\n";
+echo "Total Off-Hook time on this server (min): $OFFHOOKtime\n";
+echo "Average/Peak channels in use for server:  $AVGchannels / $HIGHchannels\n";
+echo "Average/Peak load for server:             $AVGload / $HIGHload\n";
+echo "Average USER process cpu percentage:      $AVGcpuUSER %\n";
+echo "Average SYSTEM process cpu percentage:    $AVGcpuSYSTEM %\n";
+echo "Average IDLE process cpu percentage:      $AVGcpuIDLE %\n";
+
+echo "\n";
+echo "---------- LINE GRAPH:\n";
+
+
+
+##############################
+#########  Graph stats
+
+$DAT = '.dat';
+$HTM = '.htm';
+$PNG = '.png';
+$filedate = date("Y-m-d_His");
+$DATfile = "$group$query_date$shift$filedate$DAT";
+$HTMfile = "$group$query_date$shift$filedate$HTM";
+$PNGfile = "$group$query_date$shift$filedate$PNG";
+
+$HTMfp = fopen ("$DOCroot/$HTMfile", "a");
+$DATfp = fopen ("$DOCroot/$DATfile", "a");
+
+$stmt="select DATE_FORMAT(start_time,'%H:%i:%s') as timex,sysload,processes,channels_total,live_recordings,cpu_user_percent,cpu_system_percent from server_performance where server_ip='" . mysql_real_escape_string($group) . "' and start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' order by timex;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$rows_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $rows_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$row[5] = intval(($row[5] + $row[6]) * $HIGHmulti);
+	$row[6] = intval($row[6] * $HIGHmulti);
+	fwrite ($DATfp, "$row[5]\t$row[6]\t$row[0]\t$row[1]\t$row[2]\t$row[3]\n");
+	$i++;
+	}
+fclose($DATfp);
+
+$rows_to_max = ($rows_to_print + 100);
+
+#print "rows: $i\n";
+
+$time_scale_abb = '5 minutes';
+$time_scale_tick = '1 minute';
+if ($i > 1000) {$time_scale_abb = '10 minutes';   $time_scale_tick = '2 minutes';}
+if ($i > 2000) {$time_scale_abb = '20 minutes';   $time_scale_tick = '4 minutes';}
+if ($i > 3000) {$time_scale_abb = '30 minutes';   $time_scale_tick = '5 minutes';}
+if ($i > 4000) {$time_scale_abb = '40 minutes';   $time_scale_tick = '10 minutes';}
+if ($i > 5000) {$time_scale_abb = '60 minutes';   $time_scale_tick = '15 minutes';}
+if ($i > 6000) {$time_scale_abb = '90 minutes';   $time_scale_tick = '15 minutes';}
+if ($i > 7000) {$time_scale_abb = '120 minutes';   $time_scale_tick = '30 minutes';}
+
+$HTMcontent  = '';
+$HTMcontent .= "#proc page\n";
+$HTMcontent .= "#if @DEVICE in png,gif\n";
+$HTMcontent .= "   scale: 0.6\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#endif\n";
+$HTMcontent .= "#proc getdata\n";
+$HTMcontent .= "file: $DOCroot/$DATfile\n";
+$HTMcontent .= "fieldnames: userproc sysproc time load processes channels\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc areadef\n";
+$HTMcontent .= "title: Server $group   $query_date_BEGIN to $query_date_END\n";
+$HTMcontent .= "titledetails: size=14  align=C\n";
+$HTMcontent .= "rectangle: 1 1 14 7\n";
+$HTMcontent .= "xscaletype: time hh:mm:ss\n";
+$HTMcontent .= "xrange: $time_BEGIN $time_END\n";
+$HTMcontent .= "yrange: 0 $HIGHlimit\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc xaxis\n";
+$HTMcontent .= "stubs: inc $time_scale_abb\n";
+$HTMcontent .= "minorticinc: $time_scale_tick\n";
+$HTMcontent .= "stubformat: hh:mm:ssa\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc yaxis\n";
+$HTMcontent .= "stubs: inc 50\n";
+$HTMcontent .= "grid: color=yellow\n";
+$HTMcontent .= "gridskip: min\n";
+$HTMcontent .= "ticincrement: 100 1000\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc lineplot\n";
+$HTMcontent .= "xfield: time\n";
+$HTMcontent .= "yfield: userproc\n";
+$HTMcontent .= "linedetails: color=purple width=.5\n";
+$HTMcontent .= "fill: lavender\n";
+$HTMcontent .= "legendlabel: user proc%\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc lineplot\n";
+$HTMcontent .= "xfield: time\n";
+$HTMcontent .= "yfield: sysproc\n";
+$HTMcontent .= "linedetails: color=yelloworange width=.5\n";
+$HTMcontent .= "fill: dullyellow\n";
+$HTMcontent .= "legendlabel: system proc%\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc curvefit\n";
+$HTMcontent .= "xfield: time\n";
+$HTMcontent .= "yfield: load\n";
+$HTMcontent .= "linedetails: color=blue width=.5\n";
+$HTMcontent .= "legendlabel: load\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc curvefit\n";
+$HTMcontent .= "xfield: time\n";
+$HTMcontent .= "yfield: processes\n";
+$HTMcontent .= "linedetails: color=red width=.5\n";
+$HTMcontent .= "legendlabel: processes\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc curvefit\n";
+$HTMcontent .= "xfield: time\n";
+$HTMcontent .= "yfield: channels\n";
+$HTMcontent .= "linedetails: color=green width=.5\n";
+$HTMcontent .= "legendlabel: channels\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc legend\n";
+$HTMcontent .= "location: max-2 max\n";
+$HTMcontent .= "seglen: 0.2\n";
+$HTMcontent .= "\n";
+
+fwrite ($HTMfp, "$HTMcontent");
+fclose($HTMfp);
+
+
+passthru("/usr/local/bin/pl -png $DOCroot/$HTMfile -o $DOCroot/$PNGfile");
+
+sleep(1);
+
+echo "
\n"; +echo "\n"; +echo "\n"; + + +echo ""; + +} + + + +?> + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeonVDAD.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeonVDAD.php new file mode 100644 index 00000000..a0f5f64d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeonVDAD.php @@ -0,0 +1,374 @@ + LICENSE: GPLv2 +### +# live real-time stats for the VICIDIAL Auto-Dialer +# +# CHANGES +# +# 60620-1037 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 61114-2004 - Changed to display CLOSER and DEFAULT, added trunk shortage +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];} + elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} +if (isset($_GET["closer_display"])) {$closer_display=$_GET["closer_display"];} + elseif (isset($_POST["closer_display"])) {$closer_display=$_POST["closer_display"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +$epochSIXhoursAGO = ($STARTtime - 21600); +$timeSIXhoursAGO = date("Y-m-d H:i:s",$epochSIXhoursAGO); + +$reset_counter++; + +if ($reset_counter > 7) + { + $reset_counter=0; + + $stmt="update park_log set status='HUNGUP' where hangup_time is not null;"; +# $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + + if ($DB) + { + $stmt="delete from park_log where grab_time < '$timeSIXhoursAGO' and (hangup_time is null or hangup_time='');"; +# $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + } + } + +?> + + + +\n"; +echo " + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On VDAD\n"; +echo "
";
+
+###################################################################################
+###### SERVER INFORMATION
+###################################################################################
+
+$stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats where server_ip='" . mysql_real_escape_string($server_ip) . "';";
+$rslt=mysql_query($stmt, $link);
+$row=mysql_fetch_row($rslt);
+$balanceSHORT = $row[0];
+
+echo "SERVER: $server_ip\n";
+
+
+
+###################################################################################
+###### TIME ON SYSTEM
+###################################################################################
+
+if ($closer_display>0) {$closer_display_reverse=0;   $closer_reverse_link='DEFAULT';}
+else {$closer_display_reverse=1;   $closer_reverse_link='CLOSER';}
+
+echo "VICIDIAL: Agents Time On Calls           $NOW_TIME    $closer_reverse_link | ΑΝΑΦΟΡΕΣ\n\n";
+
+if ($closer_display>0)
+{
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+echo "| STATION    | USER   | SESSIONID | CHANNEL             | STATUS | CALLTIME | MINUTES | CAMPAIGN     | FRONT  |\n";
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+}
+else
+{
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+\n";
+echo "| STATION    | USER   | SESSIONID | CHANNEL             | STATUS | CALLTIME | MINUTES |\n";
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+\n";
+}
+
+$stmt="select extension,user,conf_exten,channel,status,last_call_time,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),uniqueid,lead_id from vicidial_live_agents where status NOT IN('PAUSED') and server_ip='" . mysql_real_escape_string($server_ip) . "' order by extension;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$talking_to_print = mysql_num_rows($rslt);
+	if ($talking_to_print > 0)
+	{
+	$i=0;
+	while ($i < $talking_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+			if (eregi("READY|PAUSED|CLOSER",$row[4]))
+			{
+			$row[3]='';
+			$row[5]='- WAIT -';
+			$row[6]=$row[7];
+			}
+		$extension[$i] = eregi_replace('Local/',"",$row[0]);
+		$extension[$i] =		sprintf("%-10s", $extension[$i]);
+			while(strlen($extension[$i])>10) {$extension[$i] = substr("$extension[$i]", 0, -1);}
+		$user[$i] =				sprintf("%-6s", $row[1]);
+		$sessionid[$i] =		sprintf("%-9s", $row[2]);
+		$channel[$i] =			sprintf("%-19s", $row[3]);
+			$cc[$i]=0;
+		while ( (strlen($channel[$i]) > 19) and ($cc[$i] < 100) )
+			{
+			$channel[$i] = eregi_replace(".$","",$channel[$i]);   
+			$cc[$i]++;
+			if (strlen($channel[$i]) <= 19) {$cc[$i]=101;}
+			}
+		$status[$i] =			sprintf("%-6s", $row[4]);
+		$start_time[$i] =		sprintf("%-8s", $row[5]);
+			$cd[$i]=0;
+		while ( (strlen($start_time[$i]) > 8) and ($cd[$i] < 100) )
+			{
+			$start_time[$i] = eregi_replace("^.","",$start_time[$i]);   
+			$cd[$i]++;
+			if (strlen($start_time[$i]) <= 8) {$cd[$i]=101;}
+			}
+		$uniqueid[$i] =			$row[8];
+		$lead_id[$i] =			$row[9];
+		$closer[$i] =			$row[1];
+		$call_time_S[$i] = ($STARTtime - $row[6]);
+
+		$call_time_M[$i] = ($call_time_S[$i] / 60);
+		$call_time_M[$i] = round($call_time_M[$i], 2);
+		$call_time_M_int[$i] = intval("$call_time_M[$i]");
+		$call_time_SEC[$i] = ($call_time_M[$i] - $call_time_M_int[$i]);
+		$call_time_SEC[$i] = ($call_time_SEC[$i] * 60);
+		$call_time_SEC[$i] = round($call_time_SEC[$i], 0);
+		if ($call_time_SEC[$i] < 10) {$call_time_SEC[$i] = "0$call_time_SEC[$i]";}
+		$call_time_MS[$i] = "$call_time_M_int[$i]:$call_time_SEC[$i]";
+		$call_time_MS[$i] =		sprintf("%7s", $call_time_MS[$i]);
+
+		if ($closer_display<1)
+			{
+			$G = '';		$EG = '';
+			if ($call_time_M_int[$i] >= 5) {$G=''; $EG='';}
+			if ($call_time_M_int[$i] >= 10) {$G=''; $EG='';}
+			if (eregi("PAUSED",$row[4])) 
+				{
+				if ($call_time_M_int >= 1) 
+					{$i++; continue;} 
+				else
+					{$G=''; $EG='';}
+				}
+			$agentcount++;
+			echo "| $G$extension[$i]$EG | $G$user[$i]$EG | $G$sessionid[$i]$EG | $G$channel[$i]$EG | $G$status[$i]$EG | $G$start_time[$i]$EG | $G$call_time_MS[$i]$EG |\n";
+			}
+		$i++;
+		}
+
+		if ($closer_display>0)
+		{
+
+			$ext_count = $i;
+			$i=0;
+		while ($i < $ext_count)
+			{
+
+			$stmt="select campaign_id from vicidial_auto_calls where lead_id='$lead_id[$i]' and server_ip='" . mysql_real_escape_string($server_ip) . "';";
+			$rslt=mysql_query($stmt, $link);
+			if ($DB) {echo "$stmt\n";}
+			$camp_to_print = mysql_num_rows($rslt);
+			if ($camp_to_print > 0)
+				{
+				$row=mysql_fetch_row($rslt);
+				$campaign = sprintf("%-12s", $row[0]);
+				$camp_color = $row[0];
+				}
+			else
+				{$campaign = 'DEAD        ';   	$camp_color = 'DEAD';}
+			if (eregi("READY|PAUSED|CLOSER",$status[$i]))
+				{$campaign = '            ';   	$camp_color = '';}
+
+			$stmt="select user from vicidial_xfer_log where lead_id='$lead_id[$i]' and closer='$closer[$i]' order by call_date desc limit 1;";
+			$rslt=mysql_query($stmt, $link);
+			if ($DB) {echo "$stmt\n";}
+			$xfer_to_print = mysql_num_rows($rslt);
+			if ($xfer_to_print > 0)
+				{
+				$row=mysql_fetch_row($rslt);
+				$fronter = sprintf("%-6s", $row[0]);
+				}
+			else
+				{$fronter = '      ';}
+
+			$G = '';		$EG = '';
+			$G=""; $EG='';
+		#	if ($call_time_M_int[$i] >= 5) {$G=''; $EG='';}
+		#	if ($call_time_M_int[$i] >= 10) {$G=''; $EG='';}
+
+			echo "| $G$extension[$i]$EG | $G$user[$i]$EG | $G$sessionid[$i]$EG | $G$channel[$i]$EG | $G$status[$i]$EG | $G$start_time[$i]$EG | $G$call_time_MS[$i]$EG | $G$campaign$EG | $G$fronter$EG |\n";
+
+			$i++;
+			}
+		echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+		echo "  $i Χειριστές συνδεμένοι στον διακομιστή $server_ip\n\n";
+	#	echo "             - 5 λεπτά ή παραπάνω σε κλήση\n";
+	#	echo "             - Πάνω από 10 λεπτά σε κλήση\n";
+		}
+	else
+		{
+		echo "+------------|--------+-----------+---------------------+--------+----------+---------+\n";
+		echo "  $agentcount Χειριστές συνδεμένοι στον διακομιστή $server_ip\n\n";
+
+		echo "             - Χειριστές σε παύση\n";
+		echo "             - 5 λεπτά ή παραπάνω σε κλήση\n";
+		echo "             - Πάνω από 10 λεπτά σε κλήση\n";
+		}
+
+	}
+	else
+	{
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	echo "********************************* ΚΑΝΕΝΑΣ ΧΕΙΡ. ΣΕ ΚΛΗΣΕΙΣ *********************************\n";
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	}
+
+
+###################################################################################
+###### OUTBOUND CALLS
+###################################################################################
+#echo "\n\n";
+echo "----------------------------------------------------------------------------------------";
+echo "\n\n";
+echo "VICIDIAL: Time On VDAD            TRUNK SHORT: $balanceSHORT              $NOW_TIME\n\n";
+echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+echo "| CHANNEL             | STATUS | CAMPAIGN     | PHONE NUMBER       | CALLTIME | MINUTES |\n";
+echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+
+$stmt="select channel,status,campaign_id,phone_code,phone_number,call_time,UNIX_TIMESTAMP(call_time) from vicidial_auto_calls where status NOT IN('XFER') and server_ip='" . mysql_real_escape_string($server_ip) . "' order by auto_call_id desc;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$parked_to_print = mysql_num_rows($rslt);
+	if ($parked_to_print > 0)
+	{
+	$i=0;
+	while ($i < $parked_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+
+		$channel =			sprintf("%-19s", $row[0]);
+			$cc=0;
+		while ( (strlen($channel) > 19) and ($cc < 100) )
+			{
+			$channel = eregi_replace(".$","",$channel);   
+			$cc++;
+			if (strlen($channel) <= 19) {$cc=101;}
+			}
+		$start_time =		sprintf("%-8s", $row[5]);
+			$cd=0;
+		while ( (strlen($start_time) > 8) and ($cd < 100) )
+			{
+			$start_time = eregi_replace("^.","",$start_time);   
+			$cd++;
+			if (strlen($start_time) <= 8) {$cd=101;}
+			}
+		$status =			sprintf("%-6s", $row[1]);
+		$campaign =			sprintf("%-12s", $row[2]);
+			$all_phone = "$row[3]$row[4]";
+		$number_dialed =	sprintf("%-18s", $all_phone);
+		$call_time_S = ($STARTtime - $row[6]);
+
+		$call_time_M = ($call_time_S / 60);
+		$call_time_M = round($call_time_M, 2);
+		$call_time_M_int = intval("$call_time_M");
+		$call_time_SEC = ($call_time_M - $call_time_M_int);
+		$call_time_SEC = ($call_time_SEC * 60);
+		$call_time_SEC = round($call_time_SEC, 0);
+		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+		$call_time_MS = "$call_time_M_int:$call_time_SEC";
+		$call_time_MS =		sprintf("%7s", $call_time_MS);
+		$G = '';		$EG = '';
+		if (eregi("LIVE",$status)) {$G=''; $EG='';}
+	#	if ($call_time_M_int >= 6) {$G=''; $EG='';}
+
+		echo "| $G$channel$EG | $G$status$EG | $G$campaign$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+		$i++;
+		}
+
+		echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+		echo "  $i κλήσεις που τοποθετήθηκαν στον διακομιστή $server_ip\n\n";
+
+		echo "             - ΑΝΑΜΟΝΗ ΕΝΕΡΓΗΣ ΚΛΗΣΗΣ\n";
+	#	echo "             - Over 5 minutes on hold\n";
+
+		}
+	else
+	{
+	echo "***************************************************************************************\n";
+	echo "***************************************************************************************\n";
+	echo "*******************************ΔΕΝ ΥΠΑΡΧΟΥΝ ΕΝΕΡΓΕΣ ΚΛΗΣΕΙΣ ΣΕ ΑΝΑΜΟΝΗ *********************************\n";
+	echo "***************************************************************************************\n";
+	echo "***************************************************************************************\n";
+	}
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeonVDAD_closer.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeonVDAD_closer.php new file mode 100644 index 00000000..07470b84 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeonVDAD_closer.php @@ -0,0 +1,318 @@ + LICENSE: GPLv2 +### +# live real-time stats for the VICIDIAL Auto-Dialer +# +# CHANGES +# +# 60620-1037 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];} + elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +$epochSIXhoursAGO = ($STARTtime - 21600); +$timeSIXhoursAGO = date("Y-m-d H:i:s",$epochSIXhoursAGO); + +$reset_counter++; + +if ($reset_counter > 7) + { + $reset_counter=0; + + $stmt="update park_log set status='HUNGUP' where hangup_time is not null;"; +# $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + + if ($DB) + { + $stmt="delete from park_log where grab_time < '$timeSIXhoursAGO' and (hangup_time is null or hangup_time='');"; +# $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + } + } + +?> + + + +\n"; +echo " + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On VDAD\n"; +echo "
";
+
+###################################################################################
+###### TIME ON SYSTEM
+###################################################################################
+
+echo "VICIDIAL: Χρόνος Χειριστών σε κλήσεις                   $NOW_TIME    ΑΝΑΦΟΡΕΣ\n\n";
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+echo "| STATION    | USER   | SESSIONID | CHANNEL             | STATUS | CALLTIME | MINUTES | CAMPAIGN     | FRONT  |\n";
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+
+
+$stmt="select extension,user,conf_exten,channel,status,last_call_time,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),uniqueid,lead_id from vicidial_live_agents where status NOT IN('PAUSED') and server_ip='" . mysql_real_escape_string($server_ip) . "' order by extension;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$talking_to_print = mysql_num_rows($rslt);
+	if ($talking_to_print > 0)
+	{
+	$i=0;
+	while ($i < $talking_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+			if (eregi("READY|PAUSED|CLOSER",$row[4]))
+			{
+			$row[3]='';
+			$row[5]='- WAIT -';
+			$row[6]=$row[7];
+			}
+		$extension[$i] = eregi_replace('Local/',"",$row[0]);
+		$extension[$i] =		sprintf("%-10s", $extension[$i]);
+			while(strlen($extension[$i])>10) {$extension[$i] = substr("$extension[$i]", 0, -1);}
+		$user[$i] =				sprintf("%-6s", $row[1]);
+		$sessionid[$i] =		sprintf("%-9s", $row[2]);
+		$channel[$i] =			sprintf("%-19s", $row[3]);
+			$cc[$i]=0;
+		while ( (strlen($channel[$i]) > 19) and ($cc[$i] < 100) )
+			{
+			$channel[$i] = eregi_replace(".$","",$channel[$i]);   
+			$cc[$i]++;
+			if (strlen($channel[$i]) <= 19) {$cc[$i]=101;}
+			}
+		$status[$i] =			sprintf("%-6s", $row[4]);
+		$start_time[$i] =		sprintf("%-8s", $row[5]);
+			$cd[$i]=0;
+		while ( (strlen($start_time[$i]) > 8) and ($cd[$i] < 100) )
+			{
+			$start_time[$i] = eregi_replace("^.","",$start_time[$i]);   
+			$cd[$i]++;
+			if (strlen($start_time[$i]) <= 8) {$cd[$i]=101;}
+			}
+		$uniqueid[$i] =			$row[8];
+		$lead_id[$i] =			$row[9];
+		$closer[$i] =			$row[1];
+		$call_time_S[$i] = ($STARTtime - $row[6]);
+
+		$call_time_M[$i] = ($call_time_S[$i] / 60);
+		$call_time_M[$i] = round($call_time_M[$i], 2);
+		$call_time_M_int[$i] = intval("$call_time_M[$i]");
+		$call_time_SEC[$i] = ($call_time_M[$i] - $call_time_M_int[$i]);
+		$call_time_SEC[$i] = ($call_time_SEC[$i] * 60);
+		$call_time_SEC[$i] = round($call_time_SEC[$i], 0);
+		if ($call_time_SEC[$i] < 10) {$call_time_SEC[$i] = "0$call_time_SEC[$i]";}
+		$call_time_MS[$i] = "$call_time_M_int[$i]:$call_time_SEC[$i]";
+		$call_time_MS[$i] =		sprintf("%7s", $call_time_MS[$i]);
+		$i++;
+		}
+		$ext_count = $i;
+		$i=0;
+	while ($i < $ext_count)
+		{
+
+		$stmt="select campaign_id from vicidial_auto_calls where lead_id='$lead_id[$i]' and server_ip='" . mysql_real_escape_string($server_ip) . "';";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$camp_to_print = mysql_num_rows($rslt);
+		if ($camp_to_print > 0)
+			{
+			$row=mysql_fetch_row($rslt);
+			$campaign = sprintf("%-12s", $row[0]);
+			$camp_color = $row[0];
+			}
+		else
+			{$campaign = 'DEAD        ';   	$camp_color = 'DEAD';}
+		if (eregi("READY|PAUSED|CLOSER",$status[$i]))
+			{$campaign = '            ';   	$camp_color = '';}
+
+		$stmt="select user from vicidial_xfer_log where lead_id='$lead_id[$i]' and closer='$closer[$i]' order by call_date desc limit 1;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$xfer_to_print = mysql_num_rows($rslt);
+		if ($xfer_to_print > 0)
+			{
+			$row=mysql_fetch_row($rslt);
+			$fronter = sprintf("%-6s", $row[0]);
+			}
+		else
+			{$fronter = '      ';}
+
+		$G = '';		$EG = '';
+		$G=""; $EG='';
+	#	if ($call_time_M_int[$i] >= 5) {$G=''; $EG='';}
+	#	if ($call_time_M_int[$i] >= 10) {$G=''; $EG='';}
+
+		echo "| $G$extension[$i]$EG | $G$user[$i]$EG | $G$sessionid[$i]$EG | $G$channel[$i]$EG | $G$status[$i]$EG | $G$start_time[$i]$EG | $G$call_time_MS[$i]$EG | $G$campaign$EG | $G$fronter$EG |\n";
+
+		$i++;
+		}
+
+		echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+		echo "  $i Χειριστές συνδεμένοι στον διακομιστή $server_ip\n\n";
+
+	#	echo "             - 5 λεπτά ή παραπάνω σε κλήση\n";
+	#	echo "             - Πάνω από 10 λεπτά σε κλήση\n";
+
+	}
+	else
+	{
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	echo "********************************* ΚΑΝΕΝΑΣ ΧΕΙΡ. ΣΕ ΚΛΗΣΕΙΣ *********************************\n";
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	}
+
+
+###################################################################################
+###### OUTBOUND CALLS
+###################################################################################
+#echo "\n\n";
+echo "----------------------------------------------------------------------------------------";
+echo "\n\n";
+echo "VICIDIAL: Time On VDAD                                              $NOW_TIME\n\n";
+echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+echo "| CHANNEL             | STATUS | CAMPAIGN     | PHONE NUMBER       | CALLTIME | MINUTES |\n";
+echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+
+#$link=mysql_connect("localhost", "cron", "1234");
+# $linkX=mysql_connect("localhost", "cron", "1234");
+#mysql_select_db("asterisk");
+
+$stmt="select channel,status,campaign_id,phone_code,phone_number,call_time,UNIX_TIMESTAMP(call_time) from vicidial_auto_calls where status NOT IN('XFER') and server_ip='" . mysql_real_escape_string($server_ip) . "' order by auto_call_id desc;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$parked_to_print = mysql_num_rows($rslt);
+	if ($parked_to_print > 0)
+	{
+	$i=0;
+	while ($i < $parked_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+
+		$channel =			sprintf("%-19s", $row[0]);
+			$cc=0;
+		while ( (strlen($channel) > 19) and ($cc < 100) )
+			{
+			$channel = eregi_replace(".$","",$channel);   
+			$cc++;
+			if (strlen($channel) <= 19) {$cc=101;}
+			}
+		$start_time =		sprintf("%-8s", $row[5]);
+			$cd=0;
+		while ( (strlen($start_time) > 8) and ($cd < 100) )
+			{
+			$start_time = eregi_replace("^.","",$start_time);   
+			$cd++;
+			if (strlen($start_time) <= 8) {$cd=101;}
+			}
+		$status =			sprintf("%-6s", $row[1]);
+		$campaign =			sprintf("%-12s", $row[2]);
+			$all_phone = "$row[3]$row[4]";
+		$number_dialed =	sprintf("%-18s", $all_phone);
+		$call_time_S = ($STARTtime - $row[6]);
+
+		$call_time_M = ($call_time_S / 60);
+		$call_time_M = round($call_time_M, 2);
+		$call_time_M_int = intval("$call_time_M");
+		$call_time_SEC = ($call_time_M - $call_time_M_int);
+		$call_time_SEC = ($call_time_SEC * 60);
+		$call_time_SEC = round($call_time_SEC, 0);
+		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+		$call_time_MS = "$call_time_M_int:$call_time_SEC";
+		$call_time_MS =		sprintf("%7s", $call_time_MS);
+		$G = '';		$EG = '';
+		if (eregi("LIVE",$status)) {$G=''; $EG='';}
+	#	if ($call_time_M_int >= 6) {$G=''; $EG='';}
+
+		echo "| $G$channel$EG | $G$status$EG | $G$campaign$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+		$i++;
+		}
+
+		echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+		echo "  $i κλήσεις που τοποθετήθηκαν στον διακομιστή $server_ip\n\n";
+
+		echo "             - ΑΝΑΜΟΝΗ ΕΝΕΡΓΗΣ ΚΛΗΣΗΣ\n";
+	#	echo "             - Over 5 minutes on hold\n";
+
+		}
+	else
+	{
+	echo "***************************************************************************************\n";
+	echo "***************************************************************************************\n";
+	echo "*******************************ΔΕΝ ΥΠΑΡΧΟΥΝ ΕΝΕΡΓΕΣ ΚΛΗΣΕΙΣ ΣΕ ΑΝΑΜΟΝΗ *********************************\n";
+	echo "***************************************************************************************\n";
+	echo "***************************************************************************************\n";
+	}
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeonVDADall.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeonVDADall.php new file mode 100644 index 00000000..808205af --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeonVDADall.php @@ -0,0 +1,826 @@ + LICENSE: GPLv2 +# +# live real-time stats for the VICIDIAL Auto-Dialer all servers +# +# STOP=4000, SLOW=40, GO=4 seconds refresh interval +# +# CHANGELOG: +# 50406-0920 - Added Paused agents < 1 min (Chris Doyle) +# 51130-1218 - Modified layout and info to show all servers in a vicidial system +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60511-1343 - Added leads and drop info at the top of the screen +# 60608-1539 - Fixed CLOSER tallies for active calls +# 60619-1658 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 60626-1453 - Added display of system load to bottom (Angelito Manansala) +# 60901-1123 - Changed display elements at the top of the screen +# 60905-1342 - Fixed non INCALL|QUEUE timer column +# 61002-1642 - Added TRUNK SHORT/FILL stats +# 61101-1318 - Added SIP and IAX Listen and Barge links option +# 61101-1647 - Added Usergroup column and user name option as well as sorting +# 61102-1155 - Made display of columns more modular, added ability to hide server info +# 61215-1131 - Added answered calls and drop percent taken from answered calls +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70123-1151 - Added non_latin options for substr in display variables, thanks Marin Blu +# 70206-1140 - Added call-type statuses to display(A-Auto, M-Manual, I-Inbound/Closer) +# 70619-1339 - Added Status Category tally display +# 71029-1900 - Changed CLOSER-type to not require campaign_id restriction +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["RR"])) {$RR=$_GET["RR"];} + elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["usergroup"])) {$usergroup=$_GET["usergroup"];} + elseif (isset($_POST["usergroup"])) {$usergroup=$_POST["usergroup"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["adastats"])) {$adastats=$_GET["adastats"];} + elseif (isset($_POST["adastats"])) {$adastats=$_POST["adastats"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} +if (isset($_GET["SIPmonitorLINK"])) {$SIPmonitorLINK=$_GET["SIPmonitorLINK"];} + elseif (isset($_POST["SIPmonitorLINK"])) {$SIPmonitorLINK=$_POST["SIPmonitorLINK"];} +if (isset($_GET["IAXmonitorLINK"])) {$IAXmonitorLINK=$_GET["IAXmonitorLINK"];} + elseif (isset($_POST["IAXmonitorLINK"])) {$IAXmonitorLINK=$_POST["IAXmonitorLINK"];} +if (isset($_GET["UGdisplay"])) {$UGdisplay=$_GET["UGdisplay"];} + elseif (isset($_POST["UGdisplay"])) {$UGdisplay=$_POST["UGdisplay"];} +if (isset($_GET["UidORname"])) {$UidORname=$_GET["UidORname"];} + elseif (isset($_POST["UidORname"])) {$UidORname=$_POST["UidORname"];} +if (isset($_GET["orderby"])) {$orderby=$_GET["orderby"];} + elseif (isset($_POST["orderby"])) {$orderby=$_POST["orderby"];} +if (isset($_GET["SERVdisplay"])) {$SERVdisplay=$_GET["SERVdisplay"];} + elseif (isset($_POST["SERVdisplay"])) {$SERVdisplay=$_POST["SERVdisplay"];} + + + +if (!isset($RR)) {$gRRroup=4;} +if (!isset($group)) {$group='';} +if (!isset($usergroup)) {$usergroup='';} +if (!isset($UGdisplay)) {$UGdisplay=0;} # 0=no, 1=yes +if (!isset($UidORname)) {$UidORname=0;} # 0=id, 1=name +if (!isset($orderby)) {$orderby='timeup';} +if (!isset($SERVdisplay)) {$SERVdisplay=1;} # 0=no, 1=yes + +function get_server_load($windows = false) { +$os = strtolower(PHP_OS); +if(strpos($os, "win") === false) { +if(file_exists("/proc/loadavg")) { +$load = file_get_contents("/proc/loadavg"); +$load = explode(' ', $load); +return $load[0]; +} +elseif(function_exists("shell_exec")) { +$load = explode(' ', `uptime`); +return $load[count($load)-1]; +} +else { +return false; +} +} +elseif($windows) { +if(class_exists("COM")) { +$wmi = new COM("WinMgmts:\\\\."); +$cpus = $wmi->InstancesOf("Win32_Processor"); + +$cpuload = 0; +$i = 0; +while ($cpu = $cpus->Next()) { +$cpuload += $cpu->LoadPercentage; +$i++; +} + +$cpuload = round($cpuload / $i, 2); +return "$cpuload%"; +} +else { +return false; +} +} +} + +$load_ave = get_server_load(true); + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$NOW_DAY = date("Y-m-d"); +$NOW_HOUR = date("H:i:s"); +$STARTtime = date("U"); +$epochSIXhoursAGO = ($STARTtime - 21600); +$timeSIXhoursAGO = date("Y-m-d H:i:s",$epochSIXhoursAGO); + +$stmt="select campaign_id from vicidial_campaigns where active='Y';"; +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + +$stmt="select * from vicidial_user_groups;"; +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$usergroups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $usergroups_to_print) + { + $row=mysql_fetch_row($rslt); + $usergroups[$i] =$row[0]; + $i++; + } + +if (!isset($RR)) {$RR=4;} + +$NFB = ''; +$NFE = ''; +$F=''; $FG=''; $B=''; $BG=''; + +?> + + + + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On VDAD Εκστρατεία: $group\n"; +echo "
\n"; +echo "VICIDIAL Εκστρατεία: \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +if ($UGdisplay > 0) + { + echo "\n"; + } +echo "         \n"; +echo "STOP | "; +echo "SLOW | "; +echo "GO"; +echo "       ΤΡΟΠΟΠΟΙΗΣΗ | \n"; +echo "SUMMARY | \n"; +echo "ΑΝΑΦΟΡΕΣ \n"; +echo "\n\n"; + + +if (!$group) {echo "

please select a campaign from the pulldown above
\n"; exit;} +else +{ +$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select avg(auto_dial_level),min(dial_status_a),min(dial_status_b),min(dial_status_c),min(dial_status_d),min(dial_status_e),min(lead_order),min(lead_filter_id),sum(hopper_level),min(dial_method),avg(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),min(available_only_ratio_tally),min(adaptive_latest_server_time),min(local_call_time),avg(dial_timeout),min(dial_statuses) from vicidial_campaigns;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DIALlev = $row[0]; +$DIALstatusA = $row[1]; +$DIALstatusB = $row[2]; +$DIALstatusC = $row[3]; +$DIALstatusD = $row[4]; +$DIALstatusE = $row[5]; +$DIALorder = $row[6]; +$DIALfilter = $row[7]; +$HOPlev = $row[8]; +$DIALmethod = $row[9]; +$maxDIALlev = $row[10]; +$DROPmax = $row[11]; +$targetDIFF = $row[12]; +$ADAintense = $row[13]; +$ADAavailonly = $row[14]; +$TAPERtime = $row[15]; +$CALLtime = $row[16]; +$DIALtimeout = $row[17]; +$DIALstatuses = $row[18]; + $DIALstatuses = (preg_replace("/ -$|^ /","",$DIALstatuses)); + $DIALstatuses = (ereg_replace(' ',', ',$DIALstatuses)); + +$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select count(*) from vicidial_hopper;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VDhop = $row[0]; + +$stmt="select dialable_leads,calls_today,drops_today,drops_answers_today_pct,differential_onemin,agents_average_onemin,balance_trunk_fill,answers_today,status_category_1,status_category_count_1,status_category_2,status_category_count_2,status_category_3,status_category_count_3,status_category_4,status_category_count_4 from vicidial_campaign_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),min(status_category_1),sum(status_category_count_1),min(status_category_2),sum(status_category_count_2),min(status_category_3),sum(status_category_count_3),min(status_category_4),sum(status_category_count_4) from vicidial_campaign_stats;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DAleads = $row[0]; +$callsTODAY = $row[1]; +$dropsTODAY = $row[2]; +$drpctTODAY = $row[3]; +$diffONEMIN = $row[4]; +$agentsONEMIN = $row[5]; +$balanceFILL = $row[6]; +$answersTODAY = $row[7]; +$VSCcat1 = $row[8]; +$VSCcat1tally = $row[9]; +$VSCcat2 = $row[10]; +$VSCcat2tally = $row[11]; +$VSCcat3 = $row[12]; +$VSCcat3tally = $row[13]; +$VSCcat4 = $row[14]; +$VSCcat4tally = $row[15]; + +if ( ($diffONEMIN != 0) and ($agentsONEMIN > 0) ) + { + $diffpctONEMIN = ( ($diffONEMIN / $agentsONEMIN) * 100); + $diffpctONEMIN = sprintf("%01.2f", $diffpctONEMIN); + } +else {$diffpctONEMIN = '0.00';} + +$stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$balanceSHORT = $row[0]; + +echo "
"; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +if ($adastats>1) + { + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; + + + + +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "
DIAL LEVEL:  $DIALlev    TRUNK SHORT/FILL:  $balanceSHORT / $balanceFILL     FILTER:  $DIALfilter   TIME:   $NOW_TIME
- min   MAX LEVEL:  $maxDIALlev   DROPPED MAX:  $DROPmax%    TARGET DIFF:  $targetDIFF     INTENSITY:  $ADAintense    
DIAL TIMEOUT:  $DIALtimeout  TAPER TIME:  $TAPERtime  LOCAL TIME:  $CALLtime  AVAIL ONLY:  $ADAavailonly  
DIALABLE LEADS:  $DAleads     CALLS TODAY:  $callsTODAY     AVG AGENTS:  $agentsONEMIN     DIAL METHOD:  $DIALmethod    
HOPPER LEVEL:  $HOPlev     DROPPED / ANSWERED:  $dropsTODAY / $answersTODAY   DL DIFF:  $diffONEMIN     STATUSES:  $DIALstatuses    
LEADS IN HOPPER:  $VDhop     DROPPED PERCENT:  "; +if ($drpctTODAY >= $DROPmax) + {echo "$drpctTODAY%";} +else + {echo "$drpctTODAY%";} +echo "    DIFF:  $diffpctONEMIN%     ORDER:  $DIALorder    
"; +if ( (!eregi('NULL',$VSCcat1)) and (strlen($VSCcat1)>0) ) + {echo "$VSCcat1:   $VSCcat1tally       \n";} +if ( (!eregi('NULL',$VSCcat2)) and (strlen($VSCcat2)>0) ) + {echo "$VSCcat2:   $VSCcat2tally       \n";} +if ( (!eregi('NULL',$VSCcat3)) and (strlen($VSCcat3)>0) ) + {echo "$VSCcat3:   $VSCcat3tally       \n";} +if ( (!eregi('NULL',$VSCcat4)) and (strlen($VSCcat4)>0) ) + {echo "$VSCcat4:   $VSCcat4tally       \n";} +echo "
"; + +if ($adastats<2) + { + echo "+ VIEW MORE SETTINGS"; + } +if ($UGdisplay>0) + { + echo "       ΑΠΟΚΡΥΨΗ USER GROUP"; + } +else + { + echo "       VIEW USER GROUP"; + } +if ($UidORname>0) + { + echo "       ΕΜΦΑΝΙΣΗ ΧΕΙΡΙΣΤΗΣID"; + } +else + { + echo "       ΕΜΦΑΝΙΣΗ ΧΕΙΡΙΣΤΗΣNAME"; + } +if ($SERVdisplay>0) + { + echo "       ΑΠΟΚΡΥΨΗ ΔΙΑΚΟΜΙΣΤΗΣ INFO"; + } +else + { + echo "       ΕΜΦΑΝΙΣΗ ΔΙΑΚΟΜΙΣΤΗΣ INFO"; + } +echo "
"; + +echo "\n\n"; +} +################################################################################### +###### OUTBOUND CALLS +################################################################################### +if ($campaign_allow_inbound > 0) + { + $stmt="select closer_campaigns from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = preg_replace("/^ | -$/","",$row[0]); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') and ( (call_type='IN' and campaign_id IN($closer_campaigns)) or (campaign_id='" . mysql_real_escape_string($group) . "' and call_type='OUT') );"; + } +else + { + if ($group=='XXXX-ALL-ACTIVE-XXXX') {$groupSQL = '';} + else {$groupSQL = " and campaign_id='" . mysql_real_escape_string($group) . "'";} + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') $groupSQL;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$parked_to_print = mysql_num_rows($rslt); + if ($parked_to_print > 0) + { + $i=0; + $out_total=0; + $out_ring=0; + $out_live=0; + while ($i < $parked_to_print) + { + $row=mysql_fetch_row($rslt); + + if (eregi("LIVE",$row[0])) + {$out_live++;} + else + { + if (eregi("CLOSER",$row[0])) + {$nothing=1;} + else + {$out_ring++;} + } + $out_total++; + $i++; + } + + if ($out_live > 0) {$F=''; $FG='';} + if ($out_live > 4) {$F=''; $FG='';} + if ($out_live > 9) {$F=''; $FG='';} + if ($out_live > 14) {$F=''; $FG='';} + + if ($campaign_allow_inbound > 0) + {echo "$NFB$out_total$NFE current active calls      \n";} + else + {echo "$NFB$out_total$NFE calls being placed       \n";} + + echo "$NFB$out_ring$NFE calls ringing         \n"; + echo "$NFB$F  $out_live $FG$NFE calls waiting for agents       \n"; + } + else + { + echo "ΔΕΝ ΥΠΑΡΧΟΥΝ ΕΝΕΡΓΕΣ ΚΛΗΣΕΙΣ ΣΕ ΑΝΑΜΟΝΗ \n"; + } + + +################################################################################### +###### TIME ON SYSTEM +################################################################################### + +$agent_incall=0; +$agent_ready=0; +$agent_paused=0; +$agent_total=0; + +$Aecho = ''; +$Aecho .= "VICIDIAL: Agents Time On Calls Εκστρατεία: $group $NOW_TIME\n\n"; + + +$HDbegin = "+"; +$HTbegin = "|"; +$HDstation = "------------+"; +$HTstation = " STATION |"; +$HDuser = "--------------------+"; +$HTuser = " USER |"; +$HDusergroup = "--------------+"; +$HTusergroup = " USER GROUP |"; +$HDsessionid = "------------------+"; +$HTsessionid = " SESSIONID |"; +$HDbarge = "-------+"; +$HTbarge = " BARGE |"; +$HDstatus = "----------+"; +$HTstatus = " STATUS |"; +$HDserver_ip = "-----------------+"; +$HTserver_ip = " ΔΙΑΚΟΜΙΣΤΗΣ IP |"; +$HDcall_server_ip = "-----------------+"; +$HTcall_server_ip = " CALL ΔΙΑΚΟΜΙΣΤΗΣ IP |"; +$HDtime = "---------+"; +$HTtime = " MM:SS |"; +$HDcampaign = "------------+"; +$HTcampaign = " CAMPAIGN |"; + +if ($UGdisplay < 1) + { + $HDusergroup = ''; + $HTusergroup = ''; + } +if ( ($SIPmonitorLINK<1) && ($IAXmonitorLINK<1) ) + { + $HDsessionid = "-----------+"; + $HTsessionid = " SESSIONID |"; + } +if ( ($SIPmonitorLINK<2) && ($IAXmonitorLINK<2) ) + { + $HDbarge = ''; + $HTbarge = ''; + } +if ($SERVdisplay < 1) + { + $HDserver_ip = ''; + $HTserver_ip = ''; + $HDcall_server_ip = ''; + $HTcall_server_ip = ''; + } + + + +$Aline = "$HDbegin$HDstation$HDuser$HDusergroup$HDsessionid$HDbarge$HDstatus$HDserver_ip$HDcall_server_ip$HDtime$HDcampaign\n"; +$Bline = "$HTbegin$HTstation$HTuser$HTusergroup$HTsessionid$HTbarge$HTstatus$HTserver_ip$HTcall_server_ip$HTtime$HTcampaign\n"; +$Aecho .= "$Aline"; +$Aecho .= "$Bline"; +$Aecho .= "$Aline"; + +if ($orderby=='timeup') {$orderSQL='status,last_call_time';} +if ($orderby=='timedown') {$orderSQL='status desc,last_call_time desc';} +if ($orderby=='campaignup') {$orderSQL='campaign_id,status,last_call_time';} +if ($orderby=='campaigndown') {$orderSQL='campaign_id desc,status desc,last_call_time desc';} +if ($orderby=='groupup') {$orderSQL='user_group,status,last_call_time';} +if ($orderby=='groupdown') {$orderSQL='user_group desc,status desc,last_call_time desc';} +if ($UidORname > 0) + { + if ($orderby=='userup') {$orderSQL='full_name,status,last_call_time';} + if ($orderby=='userdown') {$orderSQL='full_name desc,status desc,last_call_time desc';} + } +else + { + if ($orderby=='userup') {$orderSQL='vicidial_live_agents.user';} + if ($orderby=='userdown') {$orderSQL='vicidial_live_agents.user desc';} + } + +if ($group=='XXXX-ALL-ACTIVE-XXXX') {$groupSQL = '';} +else {$groupSQL = " and campaign_id='" . mysql_real_escape_string($group) . "'";} +if (strlen($usergroup)<1) {$usergroupSQL = '';} +else {$usergroupSQL = " and user_group='" . mysql_real_escape_string($usergroup) . "'";} + +$stmt="select extension,vicidial_live_agents.user,conf_exten,status,server_ip,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),call_server_ip,campaign_id,vicidial_users.user_group,vicidial_users.full_name,vicidial_live_agents.comments from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user $groupSQL $usergroupSQL order by $orderSQL;"; + +#$stmt="select extension,vicidial_live_agents.user,conf_exten,status,server_ip,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),call_server_ip,campaign_id,vicidial_users.user_group,vicidial_users.full_name from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user and campaign_id='" . mysql_real_escape_string($group) . "' order by $orderSQL;"; + +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + $agentcount=0; + while ($i < $talking_to_print) + { + $row=mysql_fetch_row($rslt); + if (eregi("READY|PAUSED",$row[3])) + { + $row[5]=$row[6]; + } + if ($non_latin < 1) + { + $extension = eregi_replace('Local/',"",$row[0]); + $extension = sprintf("%-10s", $extension); + while(strlen($extension)>10) {$extension = substr("$extension", 0, -1);} + } + else + { + $extension = eregi_replace('Local/',"",$row[0]); + $extension = sprintf("%-40s", $extension); + while(mb_strlen($extension, 'utf-8')>10) {$extension = mb_substr("$extension", 0, -1,'utf8');} + } + $Luser = $row[1]; + $user = sprintf("%-18s", $row[1]); + $Lsessionid = $row[2]; + $sessionid = sprintf("%-9s", $row[2]); + $Lstatus = $row[3]; + $status = sprintf("%-6s", $row[3]); + $server_ip = sprintf("%-15s", $row[4]); + $call_server_ip = sprintf("%-15s", $row[7]); + $campaign_id = sprintf("%-10s", $row[8]); + $comments= $row[11]; + + if (eregi("INCALL",$Lstatus)) + { + if ( (eregi("AUTO",$comments)) or (strlen($comments)<1) ) + {$CM='A';} + else + { + if (eregi("INBOUND",$comments)) + {$CM='I';} + else + {$CM='M';} + } + } + else {$CM=' ';} + + if ($UGdisplay > 0) + { + if ($non_latin < 1) + { + $user_group = sprintf("%-12s", $row[9]); + while(strlen($user_group)>12) {$user_group = substr("$user_group", 0, -1);} + } + else + { + $user_group = sprintf("%-40s", $row[9]); + while(mb_strlen($user_group, 'utf-8')>12) {$user_group = mb_substr("$user_group", 0, -1,'utf8');} + } + } + if ($UidORname > 0) + { + if ($non_latin < 1) + { + $user = sprintf("%-18s", $row[10]); + while(strlen($user)>18) {$user = substr("$user", 0, -1);} + } + else + { + $user = sprintf("%-40s", $row[10]); + while(mb_strlen($user, 'utf-8')>18) {$user = mb_substr("$user", 0, -1,'utf8');} + } + } + if (!eregi("INCALL|QUEUE",$row[3])) + {$call_time_S = ($STARTtime - $row[6]);} + else + {$call_time_S = ($STARTtime - $row[5]);} + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + if ($Lstatus=='INCALL') + { + if ($call_time_S >= 10) {$G=''; $EG='';} + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + # if ($call_time_M_int >= 10) {$G=''; $EG='';} + } + if (eregi("PAUSED",$row[3])) + { + if ($call_time_M_int >= 30) + {$i++; continue;} + else + { + $agent_paused++; $agent_total++; + $G=''; $EG=''; + if ($call_time_S >= 10) {$G=''; $EG='';} + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + } + } +# if ( (strlen($row[7])> 4) and ($row[7] != "$row[4]") ) +# {$G=''; $EG='';} + + if ( (eregi("INCALL",$status)) or (eregi("QUEUE",$status)) ) {$agent_incall++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) {$agent_ready++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) + { + $G=''; $EG=''; + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + } + + $L=''; + $R=''; + if ($SIPmonitorLINK>0) {$L=" LISTEN"; $R='';} + if ($IAXmonitorLINK>0) {$L=" LISTEN"; $R='';} + if ($SIPmonitorLINK>1) {$R=" | BARGE";} + if ($IAXmonitorLINK>1) {$R=" | BARGE";} + + if ($UGdisplay > 0) {$UGD = " $G$user_group$EG |";} + else {$UGD = "";} + + if ($SERVdisplay > 0) {$SVD = "$G$server_ip$EG | $G$call_server_ip$EG | ";} + else {$SVD = "";} + + $agentcount++; + + $Aecho .= "| $G$extension$EG | $G$user$EG |$UGD $G$sessionid$EG$L$R | $G$status$EG $CM | $SVD$G$call_time_MS$EG | $G$campaign_id$EG |\n"; + + $i++; + } + + $Aecho .= "$Aline"; + $Aecho .= " $agentcount agents logged in on all servers\n"; + $Aecho .= " System Load Average: $load_ave\n\n"; + + # $Aecho .= " - Balanced call\n"; + $Aecho .= " - Agent waiting for call\n"; + $Aecho .= " - Agent waiting for call > 1 minute\n"; + $Aecho .= " - Agent waiting for call > 5 minutes\n"; + $Aecho .= " - Agent on call > 10 seconds\n"; + $Aecho .= " - Agent on call > 1 minute\n"; + $Aecho .= " - Agent on call > 5 minutes\n"; + $Aecho .= " - Agent Paused > 10 seconds\n"; + $Aecho .= " - Agent Paused > 1 minute\n"; + $Aecho .= " - Agent Paused > 5 minutes\n"; + + if ($agent_ready > 0) {$B=''; $BG='';} + if ($agent_ready > 4) {$B=''; $BG='';} + if ($agent_ready > 9) {$B=''; $BG='';} + if ($agent_ready > 14) {$B=''; $BG='';} + + + echo "\n
\n"; + + echo "$NFB$agent_total$NFE agents logged in         \n"; + echo "$NFB$agent_incall$NFE agents in calls       \n"; + echo "$NFB$B  $agent_ready $BG$NFE agents waiting       \n"; + echo "$NFB$agent_paused$NFE paused agents       \n"; + + echo "
";
+		echo "";
+		echo "$Aecho";
+	}
+	else
+	{
+	echo " ΚΑΝΕΝΑΣ ΧΕΙΡ. ΣΕ ΚΛΗΣΕΙΣ \n";
+	}
+
+?>
+
+ + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeonVDADallSUMMARY.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeonVDADallSUMMARY.php new file mode 100644 index 00000000..0fe755a0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeonVDADallSUMMARY.php @@ -0,0 +1,442 @@ + LICENSE: GPLv2 +# +# Summary for all campaigns live real-time stats for the VICIDIAL Auto-Dialer all servers +# +# STOP=4000, SLOW=40, GO=4 seconds refresh interval +# +# changes: +# 61102-1616 - first build +# 61215-1131 - added answered calls and drop percent taken from answered calls +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70619-1339 - Added Status Category tally display +# 71029-1900 - Changed CLOSER-type to not require campaign_id restriction +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["RR"])) {$RR=$_GET["RR"];} + elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["adastats"])) {$adastats=$_GET["adastats"];} + elseif (isset($_POST["adastats"])) {$adastats=$_POST["adastats"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} + +if (!isset($RR)) {$gRRroup=4;} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); + +$stmt="select campaign_id from vicidial_campaigns where active='Y';"; +$rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + +if (!isset($RR)) {$RR=4;} + +?> + + + + + +\n"; +echo "VICIDIAL: Realtime All Εκστρατείες Summary\n"; +echo "VICIDIAL: Realtime All Εκστρατείες Summary           \n"; +echo "STOP | "; +echo "SLOW | "; +echo "GO "; +echo "       \n"; +if ($adastats<2) + { + echo "+ VIEW MORE SETTINGS"; + } +else + { + echo "- VIEW LESS SETTINGS"; + } +echo "       ΑΝΑΦΟΡΕΣ"; +echo "

\n\n"; + +$k=0; +while($k<$groups_to_print) +{ +$NFB = ''; +$NFE = ''; +$F=''; $FG=''; $B=''; $BG=''; + +$group = $groups[$k]; +echo "$group   -   "; +echo "Modify\n"; + + +$stmt = "select count(*) from vicidial_campaigns where campaign_id='$group' and campaign_allow_inbound='Y';"; +$rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $campaign_allow_inbound = $row[0]; + +$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DIALlev = $row[0]; +$DIALstatusA = $row[1]; +$DIALstatusB = $row[2]; +$DIALstatusC = $row[3]; +$DIALstatusD = $row[4]; +$DIALstatusE = $row[5]; +$DIALorder = $row[6]; +$DIALfilter = $row[7]; +$HOPlev = $row[8]; +$DIALmethod = $row[9]; +$maxDIALlev = $row[10]; +$DROPmax = $row[11]; +$targetDIFF = $row[12]; +$ADAintense = $row[13]; +$ADAavailonly = $row[14]; +$TAPERtime = $row[15]; +$CALLtime = $row[16]; +$DIALtimeout = $row[17]; +$DIALstatuses = $row[18]; + $DIALstatuses = (preg_replace("/ -$|^ /","",$DIALstatuses)); + $DIALstatuses = (ereg_replace(' ',', ',$DIALstatuses)); + +$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VDhop = $row[0]; + +$stmt="select dialable_leads,calls_today,drops_today,drops_answers_today_pct,differential_onemin,agents_average_onemin,balance_trunk_fill,answers_today,status_category_1,status_category_count_1,status_category_2,status_category_count_2,status_category_3,status_category_count_3,status_category_4,status_category_count_4 from vicidial_campaign_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DAleads = $row[0]; +$callsTODAY = $row[1]; +$dropsTODAY = $row[2]; +$drpctTODAY = $row[3]; +$diffONEMIN = $row[4]; +$agentsONEMIN = $row[5]; +$balanceFILL = $row[6]; +$answersTODAY = $row[7]; +$VSCcat1 = $row[8]; +$VSCcat1tally = $row[9]; +$VSCcat2 = $row[10]; +$VSCcat2tally = $row[11]; +$VSCcat3 = $row[12]; +$VSCcat3tally = $row[13]; +$VSCcat4 = $row[14]; +$VSCcat4tally = $row[15]; + +if ( ($diffONEMIN != 0) and ($agentsONEMIN > 0) ) + { + $diffpctONEMIN = ( ($diffONEMIN / $agentsONEMIN) * 100); + $diffpctONEMIN = sprintf("%01.2f", $diffpctONEMIN); + } +else {$diffpctONEMIN = '0.00';} + +$stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$balanceSHORT = $row[0]; + +echo "
"; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +if ($adastats>1) + { + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "
DIAL LEVEL:  $DIALlev    TRUNK SHORT/FILL:  $balanceSHORT / $balanceFILL     FILTER:  $DIALfilter   TIME:   $NOW_TIME
  MAX LEVEL:  $maxDIALlev   DROPPED MAX:  $DROPmax%    TARGET DIFF:  $targetDIFF     INTENSITY:  $ADAintense    
DIAL TIMEOUT:  $DIALtimeout  TAPER TIME:  $TAPERtime  LOCAL TIME:  $CALLtime  AVAIL ONLY:  $ADAavailonly  
DIALABLE LEADS:  $DAleads     CALLS TODAY:  $callsTODAY     AVG AGENTS:  $agentsONEMIN     DIAL METHOD:  $DIALmethod    
HOPPER LEVEL:  $HOPlev     DROPPED / ANSWERED:  $dropsTODAY / $answersTODAY   DL DIFF:  $diffONEMIN     STATUSES:  $DIALstatuses    
LEADS IN HOPPER:  $VDhop     DROPPED PERCENT:  "; +if ($drpctTODAY >= $DROPmax) + {echo "$drpctTODAY%";} +else + {echo "$drpctTODAY%";} +echo "    DIFF:  $diffpctONEMIN%     ORDER:  $DIALorder    
"; +if ( (!eregi('NULL',$VSCcat1)) and (strlen($VSCcat1)>0) ) + {echo "$VSCcat1:   $VSCcat1tally       \n";} +if ( (!eregi('NULL',$VSCcat2)) and (strlen($VSCcat2)>0) ) + {echo "$VSCcat2:   $VSCcat2tally       \n";} +if ( (!eregi('NULL',$VSCcat3)) and (strlen($VSCcat3)>0) ) + {echo "$VSCcat3:   $VSCcat3tally       \n";} +if ( (!eregi('NULL',$VSCcat4)) and (strlen($VSCcat4)>0) ) + {echo "$VSCcat4:   $VSCcat4tally       \n";} +echo "
"; + +### Header finish + + + + + +################################################################################ +### START calculating calls/agents +################################################################################ + +################################################################################ +###### OUTBOUND CALLS +################################################################################ +if ($campaign_allow_inbound > 0) + { + $stmt="select closer_campaigns from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = preg_replace("/^ | -$/","",$row[0]); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') and ( (call_type='IN' and campaign_id IN($closer_campaigns)) or (campaign_id='" . mysql_real_escape_string($group) . "' and call_type='OUT') );"; + } +else + { + if ($group=='XXXX-ALL-ACTIVE-XXXX') {$groupSQL = '';} + else {$groupSQL = " and campaign_id='" . mysql_real_escape_string($group) . "'";} + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') $groupSQL;"; + } +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$parked_to_print = mysql_num_rows($rslt); + if ($parked_to_print > 0) + { + $i=0; + $out_total=0; + $out_ring=0; + $out_live=0; + while ($i < $parked_to_print) + { + $row=mysql_fetch_row($rslt); + + if (eregi("LIVE",$row[0])) + {$out_live++;} + else + { + if (eregi("CLOSER",$row[0])) + {$nothing=1;} + else + {$out_ring++;} + } + $out_total++; + $i++; + } + + if ($out_live > 0) {$F=''; $FG='';} + if ($out_live > 4) {$F=''; $FG='';} + if ($out_live > 9) {$F=''; $FG='';} + if ($out_live > 14) {$F=''; $FG='';} + + if ($campaign_allow_inbound > 0) + {echo "$NFB$out_total$NFE current active calls      \n";} + else + {echo "$NFB$out_total$NFE calls being placed       \n";} + + echo "$NFB$out_ring$NFE calls ringing         \n"; + echo "$NFB$F  $out_live $FG$NFE calls waiting for agents       \n"; + } + else + { + echo "ΔΕΝ ΥΠΑΡΧΟΥΝ ΕΝΕΡΓΕΣ ΚΛΗΣΕΙΣ ΣΕ ΑΝΑΜΟΝΗ \n"; + } + + +################################################################################### +###### TIME ON SYSTEM +################################################################################### + +$agent_incall=0; +$agent_ready=0; +$agent_paused=0; +$agent_total=0; + +$stmt="select extension,user,conf_exten,status,server_ip,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),call_server_ip,campaign_id from vicidial_live_agents where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + $agentcount=0; + while ($i < $talking_to_print) + { + $row=mysql_fetch_row($rslt); + if (eregi("READY|PAUSED",$row[3])) + { + $row[5]=$row[6]; + } + $Lstatus = $row[3]; + $status = sprintf("%-6s", $row[3]); + if (!eregi("INCALL|QUEUE",$row[3])) + {$call_time_S = ($STARTtime - $row[6]);} + else + {$call_time_S = ($STARTtime - $row[5]);} + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + if (eregi("PAUSED",$row[3])) + { + if ($call_time_M_int >= 30) + {$i++; continue;} + else + { + $agent_paused++; $agent_total++; + } + } + + if ( (eregi("INCALL",$status)) or (eregi("QUEUE",$status)) ) {$agent_incall++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) {$agent_ready++; $agent_total++;} + $agentcount++; + + + $i++; + } + + if ($agent_ready > 0) {$B=''; $BG='';} + if ($agent_ready > 4) {$B=''; $BG='';} + if ($agent_ready > 9) {$B=''; $BG='';} + if ($agent_ready > 14) {$B=''; $BG='';} + + echo "\n
\n"; + + echo "$NFB$agent_total$NFE agents logged in         \n"; + echo "$NFB$agent_incall$NFE agents in calls       \n"; + echo "$NFB$B  $agent_ready $BG$NFE agents waiting       \n"; + echo "$NFB$agent_paused$NFE paused agents       \n"; + + echo "
";
+		echo "";
+	}
+	else
+	{
+	echo " NO AGENTS ON CALLS
\n"; + } + +################################################################################ +### END calculating calls/agents +################################################################################ + + + + + +echo "
"; + +echo "\n\n"; +$k++; +} + +?> +
+ + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeoncall.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeoncall.php new file mode 100644 index 00000000..76e2b1d6 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeoncall.php @@ -0,0 +1,180 @@ + LICENSE: GPLv2 +### + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];} + elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); + +?> + + + + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On Call\n"; +echo "
\n\n";
+
+echo "VICIDIAL: Time On Call                                          $NOW_TIME\n\n";
+echo "+------------+-----------+-----------+------------------+---------------------+---------+\n";
+echo "| STATION    | SESSIONID | CHANNEL   | NUMBER DIALED    | START TIME          | MINUTES |\n";
+echo "+------------+-----------+-----------+------------------+---------------------+---------+\n";
+
+$stmt="SELECT count(*) from live_sip_channels where server_ip='$server_ip';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$parked_count = $row[0];
+	if ($parked_count > 0)
+	{
+	$stmt="select extension from live_channels where server_ip='$server_ip';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$ext_to_print = mysql_num_rows($rslt);
+	$i=0;
+	$live_zap_counter=0;
+	$sessions = '';
+	while ($i < $ext_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+		if (preg_match("/^8600/i",$row[0]))
+			{
+			$sessions .= "$row[0]|";
+			}
+		$i++;
+		}
+	$sessions = preg_replace("/\|$/",'',$sessions);
+
+	if ($DB) {echo "SESSIONS: -$sessions-\n";}
+
+	$stmt="select * from live_sip_channels where server_ip='$server_ip' order by channel;";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$parked_to_print = mysql_num_rows($rslt);
+	$i=0;
+	$live_calls_counter=0;
+	while ($i < $parked_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+		if ( (preg_match("/Zap\/|internal|ring/i",$row[3])) or (preg_match("/Local\//i",$row[0])) )
+			{
+			if ($DB) {echo "NOT STATION |$row[0]|$row[3]|\n";}
+			$session_id = '';
+			}
+		else 
+			{
+			if (preg_match("/$row[3]/i",$sessions))
+				{
+				if ($DB) {echo "LIVE STATION|$row[0]|$row[3]|\n";}
+				$session_id = $row[3];
+				$station = preg_replace("/SIP\//",'',$row[0]);
+				$station = preg_replace("/-.*/",'',$station);
+			
+				$LIVE_sessions[$live_calls_counter] =			"$session_id";
+				$LIVE_sessions_FORMAT[$live_calls_counter] =	sprintf("%-9s", $session_id);
+				$LIVE_stations[$live_calls_counter] =			"$station";
+				$LIVE_stations_FORMAT[$live_calls_counter] =	sprintf("%-10s", $station);
+
+		#		echo "| $station | $session_id | \n";
+
+				$live_calls_counter++;
+				}
+			else
+				{
+				if ($DB) {echo "NOT STATIONZ|$row[0]|$row[3]|\n";}
+				$session_id = '';
+				}
+			}
+
+		$i++;
+		}
+
+		if ($live_calls_counter > 0)
+		{
+		$i=0;
+		$LC_counter = $live_calls_counter;
+
+		while ($i < $live_calls_counter)
+			{
+			$stmt="select channel,extension,number_dialed,start_time,start_epoch from call_log where extension='$LIVE_stations[$i]' and server_ip='$server_ip' order by uniqueid desc LIMIT 1;";
+			$rslt=mysql_query($stmt, $link);
+			if ($DB) {echo "$stmt\n";}
+			$parked_to_print = mysql_num_rows($rslt);
+			$row=mysql_fetch_row($rslt);
+
+			$channel =			sprintf("%-9s", $row[0]);
+			$number_dialed =	sprintf("%-16s", $row[2]);
+			$start_time =		sprintf("%-19s", $row[3]);
+			$call_time_S = ($STARTtime - $row[4]);
+
+			$call_time_M = ($call_time_S / 60);
+			$call_time_M = round($call_time_M, 2);
+			$call_time_M_int = intval("$call_time_M");
+			$call_time_SEC = ($call_time_M - $call_time_M_int);
+			$call_time_SEC = ($call_time_SEC * 60);
+			$call_time_SEC = round($call_time_SEC, 0);
+			if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+			$call_time_MS = "$call_time_M_int:$call_time_SEC";
+			$call_time_MS =		sprintf("%7s", $call_time_MS);
+			$G = '';		$EG = '';
+			if ($call_time_M_int >= 12) {$G=''; $EG='';}
+			if ($call_time_M_int >= 31) {$G=''; $EG='';}
+
+			echo "| $G$LIVE_stations_FORMAT[$i]$EG | $G$LIVE_sessions_FORMAT[$i]$EG | $G$channel$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+			$i++;
+			}
+
+		echo "+------------+-----------+-----------+------------------+---------------------+---------+\n";
+		echo "  $i stations on live calls on server $server_ip\n\n";
+
+		echo "             - 12 minutes or more on live call\n";
+		echo "             - Over 30 minutes on live call\n";
+
+		}
+		else
+		{
+		echo "*****************************************************************************************\n";
+		echo "*****************************************************************************************\n";
+		echo "*************************************** NO LIVE STATIONS ********************************\n";
+		echo "*****************************************************************************************\n";
+		echo "*****************************************************************************************\n";
+		}
+
+	}
+	else
+	{
+	echo "*****************************************************************************************\n";
+	echo "*****************************************************************************************\n";
+	echo "*************************************** NO LIVE STATIONS ********************************\n";
+	echo "*****************************************************************************************\n";
+	echo "*****************************************************************************************\n";
+	}
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeonpark.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeonpark.php new file mode 100644 index 00000000..aa79106a --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/AST_timeonpark.php @@ -0,0 +1,219 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60620-1042 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];} + elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +$timeONEhoursAGO = ($STARTtime - 3600); +$epochHALFhoursAGO = ($STARTtime - 1860); +$timeONEhoursAGO = date("Y-m-d H:i:s",$timeONEhoursAGO); +$timeHALFhoursAGO = date("Y-m-d H:i:s",$epochHALFhoursAGO); + +$reset_counter++; + +if ($reset_counter > 7) + { + $reset_counter=0; + + $stmt="update park_log set status='HUNGUP' where hangup_time is not null;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + + if ($DB) + { + $stmt="delete from park_log where status='TALKING' and grab_time < '$timeONEhoursAGO' and (hangup_time is null or hangup_time='');"; + $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + + $stmt="delete from park_log where status='PARKED' and parked_time < '$timeHALFhoursAGO' and (hangup_time is null or hangup_time='');"; + $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + + } + } + +?> + + + + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On Park\n"; +echo "
\n\n";
+
+echo "VICIDIAL: Time On Park         $NOW_TIME    ΑΝΑΦΟΡΕΣ\n\n";
+echo "+------------+-----------------+---------------------+---------+\n";
+echo "| CHANNEL    | GROUP           | START TIME          | MINUTES |\n";
+echo "+------------+-----------------+---------------------+---------+\n";
+
+#$link=mysql_connect("localhost", "cron", "1234");
+# $linkX=mysql_connect("localhost", "cron", "1234");
+#mysql_select_db("asterisk");
+
+$stmt="select extension,user,channel,channel_group,parked_time,UNIX_TIMESTAMP(parked_time) from park_log where status ='PARKED' and server_ip='" . mysql_real_escape_string($server_ip) . "' order by uniqueid;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$parked_to_print = mysql_num_rows($rslt);
+	if ($parked_to_print > 0)
+	{
+	$i=0;
+	while ($i < $parked_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+
+		$channel =			sprintf("%-10s", $row[2]);
+		$number_dialed =	sprintf("%-15s", $row[3]);
+		$start_time =		sprintf("%-19s", $row[4]);
+		$call_time_S = ($STARTtime - $row[5]);
+
+		$call_time_M = ($call_time_S / 60);
+		$call_time_M = round($call_time_M, 2);
+		$call_time_M_int = intval("$call_time_M");
+		$call_time_SEC = ($call_time_M - $call_time_M_int);
+		$call_time_SEC = ($call_time_SEC * 60);
+		$call_time_SEC = round($call_time_SEC, 0);
+		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+		$call_time_MS = "$call_time_M_int:$call_time_SEC";
+		$call_time_MS =		sprintf("%7s", $call_time_MS);
+		$G = '';		$EG = '';
+		if ($call_time_M_int >= 1) {$G=''; $EG='';}
+		if ($call_time_M_int >= 6) {$G=''; $EG='';}
+
+		echo "| $G$channel$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+		$i++;
+		}
+
+		echo "+------------+-----------------+---------------------+---------+\n";
+		echo "  $i callers waiting on server $server_ip\n\n";
+
+		echo "             - 1 minute or more on hold\n";
+		echo "             - Over 5 minutes on hold\n";
+
+		}
+	else
+	{
+	echo "****************************************************************\n";
+	echo "****************************************************************\n";
+	echo "********************ΔΕΝ ΥΠΑΡΧΟΥΝ ΕΝΕΡΓΕΣ ΚΛΗΣΕΙΣ ΣΕ ΑΝΑΜΟΝΗ *********************\n";
+	echo "****************************************************************\n";
+	echo "****************************************************************\n";
+	}
+
+###################################################################################
+###### TIME ON INBOUND CALLS
+###################################################################################
+echo "\n\n";
+echo "----------------------------------------------------------------------------------------";
+echo "\n\n";
+echo "VICIDIAL: Agents Time On Inbound Calls                             $NOW_TIME\n\n";
+echo "+------------|--------+------------+-----------------+---------------------+---------+\n";
+echo "| STATION    | USER   | CHANNEL    | GROUP           | START TIME          | MINUTES |\n";
+echo "+------------|--------+------------+-----------------+---------------------+---------+\n";
+
+
+$stmt="select extension,user,channel,channel_group,grab_time,UNIX_TIMESTAMP(grab_time) from park_log where status ='TALKING' and server_ip='" . mysql_real_escape_string($server_ip) . "' order by uniqueid;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$talking_to_print = mysql_num_rows($rslt);
+	if ($talking_to_print > 0)
+	{
+	$i=0;
+	while ($i < $talking_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+
+		$extension =		sprintf("%-10s", $row[0]);
+		$user =				sprintf("%-6s", $row[1]);
+		$channel =			sprintf("%-10s", $row[2]);
+		$number_dialed =	sprintf("%-15s", $row[3]);
+		$start_time =		sprintf("%-19s", $row[4]);
+		$call_time_S = ($STARTtime - $row[5]);
+
+		$call_time_M = ($call_time_S / 60);
+		$call_time_M = round($call_time_M, 2);
+		$call_time_M_int = intval("$call_time_M");
+		$call_time_SEC = ($call_time_M - $call_time_M_int);
+		$call_time_SEC = ($call_time_SEC * 60);
+		$call_time_SEC = round($call_time_SEC, 0);
+		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+		$call_time_MS = "$call_time_M_int:$call_time_SEC";
+		$call_time_MS =		sprintf("%7s", $call_time_MS);
+		$G = '';		$EG = '';
+		if ($call_time_M_int >= 12) {$G=''; $EG='';}
+		if ($call_time_M_int >= 31) {$G=''; $EG='';}
+
+		echo "| $G$extension$EG | $G$user$EG | $G$channel$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+		$i++;
+		}
+
+		echo "+------------|--------+------------+-----------------+---------------------+---------+\n";
+		echo "  $i agents on calls on server $server_ip\n\n";
+
+		echo "             - 12 minutes or more on call\n";
+		echo "             - Over 30 minutes on call\n";
+
+	}
+	else
+	{
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	echo "********************************* ΚΑΝΕΝΑΣ ΧΕΙΡ. ΣΕ ΚΛΗΣΕΙΣ *********************************\n";
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	}
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/admin.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/admin.php new file mode 100644 index 00000000..0c2f9dbf --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/admin.php @@ -0,0 +1,13593 @@ + LICENSE: GPLv2 +# + + +require("dbconnect.php"); + + +###################################################################################################### +###################################################################################################### +####### static variable settings for display options +###################################################################################################### +###################################################################################################### + +$page_width='770'; +$section_width='720'; +$header_font_size='3'; +$subheader_font_size='2'; +$subcamp_font_size='2'; +$header_selected_bold=''; +$header_nonselected_bold=''; +$users_color = '#FFFF99'; +$campaigns_color = '#FFCC99'; +$lists_color = '#FFCCCC'; +$ingroups_color = '#CC99FF'; +$remoteagent_color ='#CCFFCC'; +$usergroups_color = '#CCFFFF'; +$scripts_color = '#99FFCC'; +$filters_color = '#CCCCCC'; +$admin_color = '#FF99FF'; +$reports_color = '#99FF33'; +#$users_color = '#FFFF99'; +#$campaigns_color = '#FFFF99'; +#$lists_color = '#FFFF99'; +#$ingroups_color = '#FFFF99'; +#$remoteagent_color ='#FFFF99'; +#$usergroups_color = '#FFFF99'; +#$scripts_color = '#FFFF99'; +#$filters_color = '#FFFF99'; +#$admin_color = '#FFFF99'; +#$reports_color = '#FFFF99'; + $times_color = '#FF33FF'; + $phones_color = '#FF33FF'; + $conference_color = '#FF33FF'; + $server_color = '#FF33FF'; + $settings_color = '#FF33FF'; + $status_color = '#FF33FF'; +$users_font = 'BLACK'; +$campaigns_font = 'BLACK'; +$lists_font = 'BLACK'; +$ingroups_font = 'BLACK'; +$remoteagent_font = 'BLACK'; +$usergroups_font = 'BLACK'; +$scripts_font = 'BLACK'; +$filters_font = 'BLACK'; +$admin_font = 'BLACK'; +$reports_font = 'BLACK'; + $times_font = 'BLACK'; + $phones_font = 'BLACK'; + $conference_font = 'BLACK'; + $server_font = 'BLACK'; + $settings_font = 'BLACK'; + $status_font = 'BLACK'; +$subcamp_color = '#FF9933'; +$subcamp_font = 'BLACK'; + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; + +###################################################################################################### +###################################################################################################### +####### Form variable declaration +###################################################################################################### +###################################################################################################### + + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["active"])) {$active=$_GET["active"];} + elseif (isset($_POST["active"])) {$active=$_POST["active"];} +if (isset($_GET["adaptive_dl_diff_target"])) {$adaptive_dl_diff_target=$_GET["adaptive_dl_diff_target"];} + elseif (isset($_POST["adaptive_dl_diff_target"])) {$adaptive_dl_diff_target=$_POST["adaptive_dl_diff_target"];} +if (isset($_GET["adaptive_dropped_percentage"])) {$adaptive_dropped_percentage=$_GET["adaptive_dropped_percentage"];} + elseif (isset($_POST["adaptive_dropped_percentage"])){$adaptive_dropped_percentage=$_POST["adaptive_dropped_percentage"];} +if (isset($_GET["adaptive_intensity"])) {$adaptive_intensity=$_GET["adaptive_intensity"];} + elseif (isset($_POST["adaptive_intensity"])) {$adaptive_intensity=$_POST["adaptive_intensity"];} +if (isset($_GET["adaptive_latest_server_time"])) {$adaptive_latest_server_time=$_GET["adaptive_latest_server_time"];} + elseif (isset($_POST["adaptive_latest_server_time"])){$adaptive_latest_server_time=$_POST["adaptive_latest_server_time"];} +if (isset($_GET["adaptive_maximum_level"])) {$adaptive_maximum_level=$_GET["adaptive_maximum_level"];} + elseif (isset($_POST["adaptive_maximum_level"])) {$adaptive_maximum_level=$_POST["adaptive_maximum_level"];} +if (isset($_GET["SUB"])) {$SUB=$_GET["SUB"];} + elseif (isset($_POST["SUB"])) {$SUB=$_POST["SUB"];} +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["admin_hangup_enabled"])) {$admin_hangup_enabled=$_GET["admin_hangup_enabled"];} + elseif (isset($_POST["admin_hangup_enabled"])) {$admin_hangup_enabled=$_POST["admin_hangup_enabled"];} +if (isset($_GET["admin_hijack_enabled"])) {$admin_hijack_enabled=$_GET["admin_hijack_enabled"];} + elseif (isset($_POST["admin_hijack_enabled"])) {$admin_hijack_enabled=$_POST["admin_hijack_enabled"];} +if (isset($_GET["admin_monitor_enabled"])) {$admin_monitor_enabled=$_GET["admin_monitor_enabled"];} + elseif (isset($_POST["admin_monitor_enabled"])) {$admin_monitor_enabled=$_POST["admin_monitor_enabled"];} +if (isset($_GET["AFLogging_enabled"])) {$AFLogging_enabled=$_GET["AFLogging_enabled"];} + elseif (isset($_POST["AFLogging_enabled"])) {$AFLogging_enabled=$_POST["AFLogging_enabled"];} +if (isset($_GET["agent_choose_ingroups"])) {$agent_choose_ingroups=$_GET["agent_choose_ingroups"];} + elseif (isset($_POST["agent_choose_ingroups"])) {$agent_choose_ingroups=$_POST["agent_choose_ingroups"];} +if (isset($_GET["agentcall_manual"])) {$agentcall_manual=$_GET["agentcall_manual"];} + elseif (isset($_POST["agentcall_manual"])) {$agentcall_manual=$_POST["agentcall_manual"];} +if (isset($_GET["agentonly_callbacks"])) {$agentonly_callbacks=$_GET["agentonly_callbacks"];} + elseif (isset($_POST["agentonly_callbacks"])) {$agentonly_callbacks=$_POST["agentonly_callbacks"];} +if (isset($_GET["AGI_call_logging_enabled"])) {$AGI_call_logging_enabled=$_GET["AGI_call_logging_enabled"];} + elseif (isset($_POST["AGI_call_logging_enabled"])) {$AGI_call_logging_enabled=$_POST["AGI_call_logging_enabled"];} +if (isset($_GET["agi_output"])) {$agi_output=$_GET["agi_output"];} + elseif (isset($_POST["agi_output"])) {$agi_output=$_POST["agi_output"];} +if (isset($_GET["allcalls_delay"])) {$allcalls_delay=$_GET["allcalls_delay"];} + elseif (isset($_POST["allcalls_delay"])) {$allcalls_delay=$_POST["allcalls_delay"];} +if (isset($_GET["allow_closers"])) {$allow_closers=$_GET["allow_closers"];} + elseif (isset($_POST["allow_closers"])) {$allow_closers=$_POST["allow_closers"];} +if (isset($_GET["alt_number_dialing"])) {$alt_number_dialing=$_GET["alt_number_dialing"];} + elseif (isset($_POST["alt_number_dialing"])) {$alt_number_dialing=$_POST["alt_number_dialing"];} +if (isset($_GET["alter_agent_interface_options"])) {$alter_agent_interface_options=$_GET["alter_agent_interface_options"];} + elseif (isset($_POST["alter_agent_interface_options"])) {$alter_agent_interface_options=$_POST["alter_agent_interface_options"];} +if (isset($_GET["am_message_exten"])) {$am_message_exten=$_GET["am_message_exten"];} + elseif (isset($_POST["am_message_exten"])) {$am_message_exten=$_POST["am_message_exten"];} +if (isset($_GET["amd_send_to_vmx"])) {$amd_send_to_vmx=$_GET["amd_send_to_vmx"];} + elseif (isset($_POST["amd_send_to_vmx"])) {$amd_send_to_vmx=$_POST["amd_send_to_vmx"];} +if (isset($_GET["answer_transfer_agent"])) {$answer_transfer_agent=$_GET["answer_transfer_agent"];} + elseif (isset($_POST["answer_transfer_agent"])) {$answer_transfer_agent=$_POST["answer_transfer_agent"];} +if (isset($_GET["ast_admin_access"])) {$ast_admin_access=$_GET["ast_admin_access"];} + elseif (isset($_POST["ast_admin_access"])) {$ast_admin_access=$_POST["ast_admin_access"];} +if (isset($_GET["ast_delete_phones"])) {$ast_delete_phones=$_GET["ast_delete_phones"];} + elseif (isset($_POST["ast_delete_phones"])) {$ast_delete_phones=$_POST["ast_delete_phones"];} +if (isset($_GET["asterisk_version"])) {$asterisk_version=$_GET["asterisk_version"];} + elseif (isset($_POST["asterisk_version"])) {$asterisk_version=$_POST["asterisk_version"];} +if (isset($_GET["ASTmgrSECRET"])) {$ASTmgrSECRET=$_GET["ASTmgrSECRET"];} + elseif (isset($_POST["ASTmgrSECRET"])) {$ASTmgrSECRET=$_POST["ASTmgrSECRET"];} +if (isset($_GET["ASTmgrUSERNAME"])) {$ASTmgrUSERNAME=$_GET["ASTmgrUSERNAME"];} + elseif (isset($_POST["ASTmgrUSERNAME"])) {$ASTmgrUSERNAME=$_POST["ASTmgrUSERNAME"];} +if (isset($_GET["ASTmgrUSERNAMElisten"])) {$ASTmgrUSERNAMElisten=$_GET["ASTmgrUSERNAMElisten"];} + elseif (isset($_POST["ASTmgrUSERNAMElisten"])) {$ASTmgrUSERNAMElisten=$_POST["ASTmgrUSERNAMElisten"];} +if (isset($_GET["ASTmgrUSERNAMEsend"])) {$ASTmgrUSERNAMEsend=$_GET["ASTmgrUSERNAMEsend"];} + elseif (isset($_POST["ASTmgrUSERNAMEsend"])) {$ASTmgrUSERNAMEsend=$_POST["ASTmgrUSERNAMEsend"];} +if (isset($_GET["ASTmgrUSERNAMEupdate"])) {$ASTmgrUSERNAMEupdate=$_GET["ASTmgrUSERNAMEupdate"];} + elseif (isset($_POST["ASTmgrUSERNAMEupdate"])) {$ASTmgrUSERNAMEupdate=$_POST["ASTmgrUSERNAMEupdate"];} +if (isset($_GET["attempt_delay"])) {$attempt_delay=$_GET["attempt_delay"];} + elseif (isset($_POST["attempt_delay"])) {$attempt_delay=$_POST["attempt_delay"];} +if (isset($_GET["attempt_maximum"])) {$attempt_maximum=$_GET["attempt_maximum"];} + elseif (isset($_POST["attempt_maximum"])) {$attempt_maximum=$_POST["attempt_maximum"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["auto_dial_next_number"])) {$auto_dial_next_number=$_GET["auto_dial_next_number"];} + elseif (isset($_POST["auto_dial_next_number"])) {$auto_dial_next_number=$_POST["auto_dial_next_number"];} +if (isset($_GET["available_only_ratio_tally"])) {$available_only_ratio_tally=$_GET["available_only_ratio_tally"];} + elseif (isset($_POST["available_only_ratio_tally"])){$available_only_ratio_tally=$_POST["available_only_ratio_tally"];} +if (isset($_GET["call_out_number_group"])) {$call_out_number_group=$_GET["call_out_number_group"];} + elseif (isset($_POST["call_out_number_group"])) {$call_out_number_group=$_POST["call_out_number_group"];} +if (isset($_GET["call_parking_enabled"])) {$call_parking_enabled=$_GET["call_parking_enabled"];} + elseif (isset($_POST["call_parking_enabled"])) {$call_parking_enabled=$_POST["call_parking_enabled"];} +if (isset($_GET["call_time_comments"])) {$call_time_comments=$_GET["call_time_comments"];} + elseif (isset($_POST["call_time_comments"])) {$call_time_comments=$_POST["call_time_comments"];} +if (isset($_GET["call_time_id"])) {$call_time_id=$_GET["call_time_id"];} + elseif (isset($_POST["call_time_id"])) {$call_time_id=$_POST["call_time_id"];} +if (isset($_GET["call_time_name"])) {$call_time_name=$_GET["call_time_name"];} + elseif (isset($_POST["call_time_name"])) {$call_time_name=$_POST["call_time_name"];} +if (isset($_GET["CallerID_popup_enabled"])) {$CallerID_popup_enabled=$_GET["CallerID_popup_enabled"];} + elseif (isset($_POST["CallerID_popup_enabled"])) {$CallerID_popup_enabled=$_POST["CallerID_popup_enabled"];} +if (isset($_GET["campaign_cid"])) {$campaign_cid=$_GET["campaign_cid"];} + elseif (isset($_POST["campaign_cid"])) {$campaign_cid=$_POST["campaign_cid"];} +if (isset($_GET["campaign_detail"])) {$campaign_detail=$_GET["campaign_detail"];} + elseif (isset($_POST["campaign_detail"])) {$campaign_detail=$_POST["campaign_detail"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["campaign_name"])) {$campaign_name=$_GET["campaign_name"];} + elseif (isset($_POST["campaign_name"])) {$campaign_name=$_POST["campaign_name"];} +if (isset($_GET["campaign_rec_exten"])) {$campaign_rec_exten=$_GET["campaign_rec_exten"];} + elseif (isset($_POST["campaign_rec_exten"])) {$campaign_rec_exten=$_POST["campaign_rec_exten"];} +if (isset($_GET["campaign_rec_filename"])) {$campaign_rec_filename=$_GET["campaign_rec_filename"];} + elseif (isset($_POST["campaign_rec_filename"])) {$campaign_rec_filename=$_POST["campaign_rec_filename"];} +if (isset($_GET["campaign_recording"])) {$campaign_recording=$_GET["campaign_recording"];} + elseif (isset($_POST["campaign_recording"])) {$campaign_recording=$_POST["campaign_recording"];} +if (isset($_GET["campaign_vdad_exten"])) {$campaign_vdad_exten=$_GET["campaign_vdad_exten"];} + elseif (isset($_POST["campaign_vdad_exten"])) {$campaign_vdad_exten=$_POST["campaign_vdad_exten"];} +if (isset($_GET["change_agent_campaign"])) {$change_agent_campaign=$_GET["change_agent_campaign"];} + elseif (isset($_POST["change_agent_campaign"])) {$change_agent_campaign=$_POST["change_agent_campaign"];} +if (isset($_GET["client_browser"])) {$client_browser=$_GET["client_browser"];} + elseif (isset($_POST["client_browser"])) {$client_browser=$_POST["client_browser"];} +if (isset($_GET["closer_default_blended"])) {$closer_default_blended=$_GET["closer_default_blended"];} + elseif (isset($_POST["closer_default_blended"])) {$closer_default_blended=$_POST["closer_default_blended"];} +if (isset($_GET["company"])) {$company=$_GET["company"];} + elseif (isset($_POST["company"])) {$company=$_POST["company"];} +if (isset($_GET["computer_ip"])) {$computer_ip=$_GET["computer_ip"];} + elseif (isset($_POST["computer_ip"])) {$computer_ip=$_POST["computer_ip"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["conf_on_extension"])) {$conf_on_extension=$_GET["conf_on_extension"];} + elseif (isset($_POST["conf_on_extension"])) {$conf_on_extension=$_POST["conf_on_extension"];} +if (isset($_GET["conferencing_enabled"])) {$conferencing_enabled=$_GET["conferencing_enabled"];} + elseif (isset($_POST["conferencing_enabled"])) {$conferencing_enabled=$_POST["conferencing_enabled"];} +if (isset($_GET["CoNfIrM"])) {$CoNfIrM=$_GET["CoNfIrM"];} + elseif (isset($_POST["CoNfIrM"])) {$CoNfIrM=$_POST["CoNfIrM"];} +if (isset($_GET["ct_default_start"])) {$ct_default_start=$_GET["ct_default_start"];} + elseif (isset($_POST["ct_default_start"])) {$ct_default_start=$_POST["ct_default_start"];} +if (isset($_GET["ct_default_stop"])) {$ct_default_stop=$_GET["ct_default_stop"];} + elseif (isset($_POST["ct_default_stop"])) {$ct_default_stop=$_POST["ct_default_stop"];} +if (isset($_GET["ct_friday_start"])) {$ct_friday_start=$_GET["ct_friday_start"];} + elseif (isset($_POST["ct_friday_start"])) {$ct_friday_start=$_POST["ct_friday_start"];} +if (isset($_GET["ct_friday_stop"])) {$ct_friday_stop=$_GET["ct_friday_stop"];} + elseif (isset($_POST["ct_friday_stop"])) {$ct_friday_stop=$_POST["ct_friday_stop"];} +if (isset($_GET["ct_monday_start"])) {$ct_monday_start=$_GET["ct_monday_start"];} + elseif (isset($_POST["ct_monday_start"])) {$ct_monday_start=$_POST["ct_monday_start"];} +if (isset($_GET["ct_monday_stop"])) {$ct_monday_stop=$_GET["ct_monday_stop"];} + elseif (isset($_POST["ct_monday_stop"])) {$ct_monday_stop=$_POST["ct_monday_stop"];} +if (isset($_GET["ct_saturday_start"])) {$ct_saturday_start=$_GET["ct_saturday_start"];} + elseif (isset($_POST["ct_saturday_start"])) {$ct_saturday_start=$_POST["ct_saturday_start"];} +if (isset($_GET["ct_saturday_stop"])) {$ct_saturday_stop=$_GET["ct_saturday_stop"];} + elseif (isset($_POST["ct_saturday_stop"])) {$ct_saturday_stop=$_POST["ct_saturday_stop"];} +if (isset($_GET["ct_sunday_start"])) {$ct_sunday_start=$_GET["ct_sunday_start"];} + elseif (isset($_POST["ct_sunday_start"])) {$ct_sunday_start=$_POST["ct_sunday_start"];} +if (isset($_GET["ct_sunday_stop"])) {$ct_sunday_stop=$_GET["ct_sunday_stop"];} + elseif (isset($_POST["ct_sunday_stop"])) {$ct_sunday_stop=$_POST["ct_sunday_stop"];} +if (isset($_GET["ct_thursday_start"])) {$ct_thursday_start=$_GET["ct_thursday_start"];} + elseif (isset($_POST["ct_thursday_start"])) {$ct_thursday_start=$_POST["ct_thursday_start"];} +if (isset($_GET["ct_thursday_stop"])) {$ct_thursday_stop=$_GET["ct_thursday_stop"];} + elseif (isset($_POST["ct_thursday_stop"])) {$ct_thursday_stop=$_POST["ct_thursday_stop"];} +if (isset($_GET["ct_tuesday_start"])) {$ct_tuesday_start=$_GET["ct_tuesday_start"];} + elseif (isset($_POST["ct_tuesday_start"])) {$ct_tuesday_start=$_POST["ct_tuesday_start"];} +if (isset($_GET["ct_tuesday_stop"])) {$ct_tuesday_stop=$_GET["ct_tuesday_stop"];} + elseif (isset($_POST["ct_tuesday_stop"])) {$ct_tuesday_stop=$_POST["ct_tuesday_stop"];} +if (isset($_GET["ct_wednesday_start"])) {$ct_wednesday_start=$_GET["ct_wednesday_start"];} + elseif (isset($_POST["ct_wednesday_start"])) {$ct_wednesday_start=$_POST["ct_wednesday_start"];} +if (isset($_GET["ct_wednesday_stop"])) {$ct_wednesday_stop=$_GET["ct_wednesday_stop"];} + elseif (isset($_POST["ct_wednesday_stop"])) {$ct_wednesday_stop=$_POST["ct_wednesday_stop"];} +if (isset($_GET["DBX_database"])) {$DBX_database=$_GET["DBX_database"];} + elseif (isset($_POST["DBX_database"])) {$DBX_database=$_POST["DBX_database"];} +if (isset($_GET["DBX_pass"])) {$DBX_pass=$_GET["DBX_pass"];} + elseif (isset($_POST["DBX_pass"])) {$DBX_pass=$_POST["DBX_pass"];} +if (isset($_GET["DBX_port"])) {$DBX_port=$_GET["DBX_port"];} + elseif (isset($_POST["DBX_port"])) {$DBX_port=$_POST["DBX_port"];} +if (isset($_GET["DBX_server"])) {$DBX_server=$_GET["DBX_server"];} + elseif (isset($_POST["DBX_server"])) {$DBX_server=$_POST["DBX_server"];} +if (isset($_GET["DBX_user"])) {$DBX_user=$_GET["DBX_user"];} + elseif (isset($_POST["DBX_user"])) {$DBX_user=$_POST["DBX_user"];} +if (isset($_GET["DBY_database"])) {$DBY_database=$_GET["DBY_database"];} + elseif (isset($_POST["DBY_database"])) {$DBY_database=$_POST["DBY_database"];} +if (isset($_GET["DBY_pass"])) {$DBY_pass=$_GET["DBY_pass"];} + elseif (isset($_POST["DBY_pass"])) {$DBY_pass=$_POST["DBY_pass"];} +if (isset($_GET["DBY_port"])) {$DBY_port=$_GET["DBY_port"];} + elseif (isset($_POST["DBY_port"])) {$DBY_port=$_POST["DBY_port"];} +if (isset($_GET["DBY_server"])) {$DBY_server=$_GET["DBY_server"];} + elseif (isset($_POST["DBY_server"])) {$DBY_server=$_POST["DBY_server"];} +if (isset($_GET["DBY_user"])) {$DBY_user=$_GET["DBY_user"];} + elseif (isset($_POST["DBY_user"])) {$DBY_user=$_POST["DBY_user"];} +if (isset($_GET["delete_call_times"])) {$delete_call_times=$_GET["delete_call_times"];} + elseif (isset($_POST["delete_call_times"])) {$delete_call_times=$_POST["delete_call_times"];} +if (isset($_GET["delete_campaigns"])) {$delete_campaigns=$_GET["delete_campaigns"];} + elseif (isset($_POST["delete_campaigns"])) {$delete_campaigns=$_POST["delete_campaigns"];} +if (isset($_GET["delete_filters"])) {$delete_filters=$_GET["delete_filters"];} + elseif (isset($_POST["delete_filters"])) {$delete_filters=$_POST["delete_filters"];} +if (isset($_GET["delete_ingroups"])) {$delete_ingroups=$_GET["delete_ingroups"];} + elseif (isset($_POST["delete_ingroups"])) {$delete_ingroups=$_POST["delete_ingroups"];} +if (isset($_GET["delete_lists"])) {$delete_lists=$_GET["delete_lists"];} + elseif (isset($_POST["delete_lists"])) {$delete_lists=$_POST["delete_lists"];} +if (isset($_GET["delete_remote_agents"])) {$delete_remote_agents=$_GET["delete_remote_agents"];} + elseif (isset($_POST["delete_remote_agents"])) {$delete_remote_agents=$_POST["delete_remote_agents"];} +if (isset($_GET["delete_scripts"])) {$delete_scripts=$_GET["delete_scripts"];} + elseif (isset($_POST["delete_scripts"])) {$delete_scripts=$_POST["delete_scripts"];} +if (isset($_GET["delete_user_groups"])) {$delete_user_groups=$_GET["delete_user_groups"];} + elseif (isset($_POST["delete_user_groups"])) {$delete_user_groups=$_POST["delete_user_groups"];} +if (isset($_GET["delete_users"])) {$delete_users=$_GET["delete_users"];} + elseif (isset($_POST["delete_users"])) {$delete_users=$_POST["delete_users"];} +if (isset($_GET["dial_method"])) {$dial_method=$_GET["dial_method"];} + elseif (isset($_POST["dial_method"])) {$dial_method=$_POST["dial_method"];} +if (isset($_GET["dial_prefix"])) {$dial_prefix=$_GET["dial_prefix"];} + elseif (isset($_POST["dial_prefix"])) {$dial_prefix=$_POST["dial_prefix"];} +if (isset($_GET["dial_status_a"])) {$dial_status_a=$_GET["dial_status_a"];} + elseif (isset($_POST["dial_status_a"])) {$dial_status_a=$_POST["dial_status_a"];} +if (isset($_GET["dial_status_b"])) {$dial_status_b=$_GET["dial_status_b"];} + elseif (isset($_POST["dial_status_b"])) {$dial_status_b=$_POST["dial_status_b"];} +if (isset($_GET["dial_status_c"])) {$dial_status_c=$_GET["dial_status_c"];} + elseif (isset($_POST["dial_status_c"])) {$dial_status_c=$_POST["dial_status_c"];} +if (isset($_GET["dial_status_d"])) {$dial_status_d=$_GET["dial_status_d"];} + elseif (isset($_POST["dial_status_d"])) {$dial_status_d=$_POST["dial_status_d"];} +if (isset($_GET["dial_status_e"])) {$dial_status_e=$_GET["dial_status_e"];} + elseif (isset($_POST["dial_status_e"])) {$dial_status_e=$_POST["dial_status_e"];} +if (isset($_GET["dial_timeout"])) {$dial_timeout=$_GET["dial_timeout"];} + elseif (isset($_POST["dial_timeout"])) {$dial_timeout=$_POST["dial_timeout"];} +if (isset($_GET["dialplan_number"])) {$dialplan_number=$_GET["dialplan_number"];} + elseif (isset($_POST["dialplan_number"])) {$dialplan_number=$_POST["dialplan_number"];} +if (isset($_GET["drop_call_seconds"])) {$drop_call_seconds=$_GET["drop_call_seconds"];} + elseif (isset($_POST["drop_call_seconds"])) {$drop_call_seconds=$_POST["drop_call_seconds"];} +if (isset($_GET["drop_exten"])) {$drop_exten=$_GET["drop_exten"];} + elseif (isset($_POST["drop_exten"])) {$drop_exten=$_POST["drop_exten"];} +if (isset($_GET["drop_message"])) {$drop_message=$_GET["drop_message"];} + elseif (isset($_POST["drop_message"])) {$drop_message=$_POST["drop_message"];} +if (isset($_GET["dtmf_send_extension"])) {$dtmf_send_extension=$_GET["dtmf_send_extension"];} + elseif (isset($_POST["dtmf_send_extension"])) {$dtmf_send_extension=$_POST["dtmf_send_extension"];} +if (isset($_GET["enable_fast_refresh"])) {$enable_fast_refresh=$_GET["enable_fast_refresh"];} + elseif (isset($_POST["enable_fast_refresh"])) {$enable_fast_refresh=$_POST["enable_fast_refresh"];} +if (isset($_GET["enable_persistant_mysql"])) {$enable_persistant_mysql=$_GET["enable_persistant_mysql"];} + elseif (isset($_POST["enable_persistant_mysql"])) {$enable_persistant_mysql=$_POST["enable_persistant_mysql"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["fast_refresh_rate"])) {$fast_refresh_rate=$_GET["fast_refresh_rate"];} + elseif (isset($_POST["fast_refresh_rate"])) {$fast_refresh_rate=$_POST["fast_refresh_rate"];} +if (isset($_GET["force_logout"])) {$force_logout=$_GET["force_logout"];} + elseif (isset($_POST["force_logout"])) {$force_logout=$_POST["force_logout"];} +if (isset($_GET["fronter_display"])) {$fronter_display=$_GET["fronter_display"];} + elseif (isset($_POST["fronter_display"])) {$fronter_display=$_POST["fronter_display"];} +if (isset($_GET["full_name"])) {$full_name=$_GET["full_name"];} + elseif (isset($_POST["full_name"])) {$full_name=$_POST["full_name"];} +if (isset($_GET["fullname"])) {$fullname=$_GET["fullname"];} + elseif (isset($_POST["fullname"])) {$fullname=$_POST["fullname"];} +if (isset($_GET["get_call_launch"])) {$get_call_launch=$_GET["get_call_launch"];} + elseif (isset($_POST["get_call_launch"])) {$get_call_launch=$_POST["get_call_launch"];} +if (isset($_GET["group_color"])) {$group_color=$_GET["group_color"];} + elseif (isset($_POST["group_color"])) {$group_color=$_POST["group_color"];} +if (isset($_GET["group_id"])) {$group_id=$_GET["group_id"];} + elseif (isset($_POST["group_id"])) {$group_id=$_POST["group_id"];} +if (isset($_GET["group_name"])) {$group_name=$_GET["group_name"];} + elseif (isset($_POST["group_name"])) {$group_name=$_POST["group_name"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["XFERgroups"])) {$XFERgroups=$_GET["XFERgroups"];} + elseif (isset($_POST["XFERgroups"])) {$XFERgroups=$_POST["XFERgroups"];} +if (isset($_GET["HKstatus"])) {$HKstatus=$_GET["HKstatus"];} + elseif (isset($_POST["HKstatus"])) {$HKstatus=$_POST["HKstatus"];} +if (isset($_GET["hopper_level"])) {$hopper_level=$_GET["hopper_level"];} + elseif (isset($_POST["hopper_level"])) {$hopper_level=$_POST["hopper_level"];} +if (isset($_GET["hotkey"])) {$hotkey=$_GET["hotkey"];} + elseif (isset($_POST["hotkey"])) {$hotkey=$_POST["hotkey"];} +if (isset($_GET["hotkeys_active"])) {$hotkeys_active=$_GET["hotkeys_active"];} + elseif (isset($_POST["hotkeys_active"])) {$hotkeys_active=$_POST["hotkeys_active"];} +if (isset($_GET["install_directory"])) {$install_directory=$_GET["install_directory"];} + elseif (isset($_POST["install_directory"])) {$install_directory=$_POST["install_directory"];} +if (isset($_GET["lead_filter_comments"])) {$lead_filter_comments=$_GET["lead_filter_comments"];} + elseif (isset($_POST["lead_filter_comments"])) {$lead_filter_comments=$_POST["lead_filter_comments"];} +if (isset($_GET["lead_filter_id"])) {$lead_filter_id=$_GET["lead_filter_id"];} + elseif (isset($_POST["lead_filter_id"])) {$lead_filter_id=$_POST["lead_filter_id"];} +if (isset($_GET["lead_filter_name"])) {$lead_filter_name=$_GET["lead_filter_name"];} + elseif (isset($_POST["lead_filter_name"])) {$lead_filter_name=$_POST["lead_filter_name"];} +if (isset($_GET["lead_filter_sql"])) {$lead_filter_sql=$_GET["lead_filter_sql"];} + elseif (isset($_POST["lead_filter_sql"])) {$lead_filter_sql=$_POST["lead_filter_sql"];} +if (isset($_GET["lead_order"])) {$lead_order=$_GET["lead_order"];} + elseif (isset($_POST["lead_order"])) {$lead_order=$_POST["lead_order"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["list_name"])) {$list_name=$_GET["list_name"];} + elseif (isset($_POST["list_name"])) {$list_name=$_POST["list_name"];} +if (isset($_GET["load_leads"])) {$load_leads=$_GET["load_leads"];} + elseif (isset($_POST["load_leads"])) {$load_leads=$_POST["load_leads"];} +if (isset($_GET["local_call_time"])) {$local_call_time=$_GET["local_call_time"];} + elseif (isset($_POST["local_call_time"])) {$local_call_time=$_POST["local_call_time"];} +if (isset($_GET["local_gmt"])) {$local_gmt=$_GET["local_gmt"];} + elseif (isset($_POST["local_gmt"])) {$local_gmt=$_POST["local_gmt"];} +if (isset($_GET["local_web_callerID_URL"])) {$local_web_callerID_URL=$_GET["local_web_callerID_URL"];} + elseif (isset($_POST["local_web_callerID_URL"])) {$local_web_callerID_URL=$_POST["local_web_callerID_URL"];} +if (isset($_GET["login"])) {$login=$_GET["login"];} + elseif (isset($_POST["login"])) {$login=$_POST["login"];} +if (isset($_GET["login_campaign"])) {$login_campaign=$_GET["login_campaign"];} + elseif (isset($_POST["login_campaign"])) {$login_campaign=$_POST["login_campaign"];} +if (isset($_GET["login_pass"])) {$login_pass=$_GET["login_pass"];} + elseif (isset($_POST["login_pass"])) {$login_pass=$_POST["login_pass"];} +if (isset($_GET["login_user"])) {$login_user=$_GET["login_user"];} + elseif (isset($_POST["login_user"])) {$login_user=$_POST["login_user"];} +if (isset($_GET["max_vicidial_trunks"])) {$max_vicidial_trunks=$_GET["max_vicidial_trunks"];} + elseif (isset($_POST["max_vicidial_trunks"])) {$max_vicidial_trunks=$_POST["max_vicidial_trunks"];} +if (isset($_GET["modify_call_times"])) {$modify_call_times=$_GET["modify_call_times"];} + elseif (isset($_POST["modify_call_times"])) {$modify_call_times=$_POST["modify_call_times"];} +if (isset($_GET["modify_leads"])) {$modify_leads=$_GET["modify_leads"];} + elseif (isset($_POST["modify_leads"])) {$modify_leads=$_POST["modify_leads"];} +if (isset($_GET["monitor_prefix"])) {$monitor_prefix=$_GET["monitor_prefix"];} + elseif (isset($_POST["monitor_prefix"])) {$monitor_prefix=$_POST["monitor_prefix"];} +if (isset($_GET["next_agent_call"])) {$next_agent_call=$_GET["next_agent_call"];} + elseif (isset($_POST["next_agent_call"])) {$next_agent_call=$_POST["next_agent_call"];} +if (isset($_GET["number_of_lines"])) {$number_of_lines=$_GET["number_of_lines"];} + elseif (isset($_POST["number_of_lines"])) {$number_of_lines=$_POST["number_of_lines"];} +if (isset($_GET["old_campaign_id"])) {$old_campaign_id=$_GET["old_campaign_id"];} + elseif (isset($_POST["old_campaign_id"])) {$old_campaign_id=$_POST["old_campaign_id"];} +if (isset($_GET["old_conf_exten"])) {$old_conf_exten=$_GET["old_conf_exten"];} + elseif (isset($_POST["old_conf_exten"])) {$old_conf_exten=$_POST["old_conf_exten"];} +if (isset($_GET["old_extension"])) {$old_extension=$_GET["old_extension"];} + elseif (isset($_POST["old_extension"])) {$old_extension=$_POST["old_extension"];} +if (isset($_GET["old_server_id"])) {$old_server_id=$_GET["old_server_id"];} + elseif (isset($_POST["old_server_id"])) {$old_server_id=$_POST["old_server_id"];} +if (isset($_GET["old_server_ip"])) {$old_server_ip=$_GET["old_server_ip"];} + elseif (isset($_POST["old_server_ip"])) {$old_server_ip=$_POST["old_server_ip"];} +if (isset($_GET["OLDuser_group"])) {$OLDuser_group=$_GET["OLDuser_group"];} + elseif (isset($_POST["OLDuser_group"])) {$OLDuser_group=$_POST["OLDuser_group"];} +if (isset($_GET["omit_phone_code"])) {$omit_phone_code=$_GET["omit_phone_code"];} + elseif (isset($_POST["omit_phone_code"])) {$omit_phone_code=$_POST["omit_phone_code"];} +if (isset($_GET["outbound_cid"])) {$outbound_cid=$_GET["outbound_cid"];} + elseif (isset($_POST["outbound_cid"])) {$outbound_cid=$_POST["outbound_cid"];} +if (isset($_GET["park_ext"])) {$park_ext=$_GET["park_ext"];} + elseif (isset($_POST["park_ext"])) {$park_ext=$_POST["park_ext"];} +if (isset($_GET["park_file_name"])) {$park_file_name=$_GET["park_file_name"];} + elseif (isset($_POST["park_file_name"])) {$park_file_name=$_POST["park_file_name"];} +if (isset($_GET["park_on_extension"])) {$park_on_extension=$_GET["park_on_extension"];} + elseif (isset($_POST["park_on_extension"])) {$park_on_extension=$_POST["park_on_extension"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["phone_type"])) {$phone_type=$_GET["phone_type"];} + elseif (isset($_POST["phone_type"])) {$phone_type=$_POST["phone_type"];} +if (isset($_GET["picture"])) {$picture=$_GET["picture"];} + elseif (isset($_POST["picture"])) {$picture=$_POST["picture"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["QUEUE_ACTION_enabled"])) {$QUEUE_ACTION_enabled=$_GET["QUEUE_ACTION_enabled"];} + elseif (isset($_POST["QUEUE_ACTION_enabled"])) {$QUEUE_ACTION_enabled=$_POST["QUEUE_ACTION_enabled"];} +if (isset($_GET["recording_exten"])) {$recording_exten=$_GET["recording_exten"];} + elseif (isset($_POST["recording_exten"])) {$recording_exten=$_POST["recording_exten"];} +if (isset($_GET["remote_agent_id"])) {$remote_agent_id=$_GET["remote_agent_id"];} + elseif (isset($_POST["remote_agent_id"])) {$remote_agent_id=$_POST["remote_agent_id"];} +if (isset($_GET["reset_hopper"])) {$reset_hopper=$_GET["reset_hopper"];} + elseif (isset($_POST["reset_hopper"])) {$reset_hopper=$_POST["reset_hopper"];} +if (isset($_GET["reset_list"])) {$reset_list=$_GET["reset_list"];} + elseif (isset($_POST["reset_list"])) {$reset_list=$_POST["reset_list"];} +if (isset($_GET["safe_harbor_exten"])) {$safe_harbor_exten=$_GET["safe_harbor_exten"];} + elseif (isset($_POST["safe_harbor_exten"])) {$safe_harbor_exten=$_POST["safe_harbor_exten"];} +if (isset($_GET["safe_harbor_message"])) {$safe_harbor_message=$_GET["safe_harbor_message"];} + elseif (isset($_POST["safe_harbor_message"])) {$safe_harbor_message=$_POST["safe_harbor_message"];} +if (isset($_GET["scheduled_callbacks"])) {$scheduled_callbacks=$_GET["scheduled_callbacks"];} + elseif (isset($_POST["scheduled_callbacks"])) {$scheduled_callbacks=$_POST["scheduled_callbacks"];} +if (isset($_GET["script_comments"])) {$script_comments=$_GET["script_comments"];} + elseif (isset($_POST["script_comments"])) {$script_comments=$_POST["script_comments"];} +if (isset($_GET["script_id"])) {$script_id=$_GET["script_id"];} + elseif (isset($_POST["script_id"])) {$script_id=$_POST["script_id"];} +if (isset($_GET["script_name"])) {$script_name=$_GET["script_name"];} + elseif (isset($_POST["script_name"])) {$script_name=$_POST["script_name"];} +if (isset($_GET["script_text"])) {$script_text=$_GET["script_text"];} + elseif (isset($_POST["script_text"])) {$script_text=$_POST["script_text"];} +if (isset($_GET["selectable"])) {$selectable=$_GET["selectable"];} + elseif (isset($_POST["selectable"])) {$selectable=$_POST["selectable"];} +if (isset($_GET["server_description"])) {$server_description=$_GET["server_description"];} + elseif (isset($_POST["server_description"])) {$server_description=$_POST["server_description"];} +if (isset($_GET["server_id"])) {$server_id=$_GET["server_id"];} + elseif (isset($_POST["server_id"])) {$server_id=$_POST["server_id"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["state_call_time_state"])) {$state_call_time_state=$_GET["state_call_time_state"];} + elseif (isset($_POST["state_call_time_state"])) {$state_call_time_state=$_POST["state_call_time_state"];} +if (isset($_GET["state_rule"])) {$state_rule=$_GET["state_rule"];} + elseif (isset($_POST["state_rule"])) {$state_rule=$_POST["state_rule"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["status_name"])) {$status_name=$_GET["status_name"];} + elseif (isset($_POST["status_name"])) {$status_name=$_POST["status_name"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} +if (isset($_GET["sys_perf_log"])) {$sys_perf_log=$_GET["sys_perf_log"];} + elseif (isset($_POST["sys_perf_log"])) {$sys_perf_log=$_POST["sys_perf_log"];} +if (isset($_GET["telnet_host"])) {$telnet_host=$_GET["telnet_host"];} + elseif (isset($_POST["telnet_host"])) {$telnet_host=$_POST["telnet_host"];} +if (isset($_GET["telnet_port"])) {$telnet_port=$_GET["telnet_port"];} + elseif (isset($_POST["telnet_port"])) {$telnet_port=$_POST["telnet_port"];} +if (isset($_GET["updater_check_enabled"])) {$updater_check_enabled=$_GET["updater_check_enabled"];} + elseif (isset($_POST["updater_check_enabled"])) {$updater_check_enabled=$_POST["updater_check_enabled"];} +if (isset($_GET["use_internal_dnc"])) {$use_internal_dnc=$_GET["use_internal_dnc"];} + elseif (isset($_POST["use_internal_dnc"])) {$use_internal_dnc=$_POST["use_internal_dnc"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} +if (isset($_GET["user_level"])) {$user_level=$_GET["user_level"];} + elseif (isset($_POST["user_level"])) {$user_level=$_POST["user_level"];} +if (isset($_GET["user_start"])) {$user_start=$_GET["user_start"];} + elseif (isset($_POST["user_start"])) {$user_start=$_POST["user_start"];} +if (isset($_GET["user_switching_enabled"])) {$user_switching_enabled=$_GET["user_switching_enabled"];} + elseif (isset($_POST["user_switching_enabled"])) {$user_switching_enabled=$_POST["user_switching_enabled"];} +if (isset($_GET["vd_server_logs"])) {$vd_server_logs=$_GET["vd_server_logs"];} + elseif (isset($_POST["vd_server_logs"])) {$vd_server_logs=$_POST["vd_server_logs"];} +if (isset($_GET["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_GET["VDstop_rec_after_each_call"];} + elseif (isset($_POST["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_POST["VDstop_rec_after_each_call"];} +if (isset($_GET["VICIDIAL_park_on_extension"])) {$VICIDIAL_park_on_extension=$_GET["VICIDIAL_park_on_extension"];} + elseif (isset($_POST["VICIDIAL_park_on_extension"])) {$VICIDIAL_park_on_extension=$_POST["VICIDIAL_park_on_extension"];} +if (isset($_GET["VICIDIAL_park_on_filename"])) {$VICIDIAL_park_on_filename=$_GET["VICIDIAL_park_on_filename"];} + elseif (isset($_POST["VICIDIAL_park_on_filename"])) {$VICIDIAL_park_on_filename=$_POST["VICIDIAL_park_on_filename"];} +if (isset($_GET["vicidial_recording"])) {$vicidial_recording=$_GET["vicidial_recording"];} + elseif (isset($_POST["vicidial_recording"])) {$vicidial_recording=$_POST["vicidial_recording"];} +if (isset($_GET["vicidial_transfers"])) {$vicidial_transfers=$_GET["vicidial_transfers"];} + elseif (isset($_POST["vicidial_transfers"])) {$vicidial_transfers=$_POST["vicidial_transfers"];} +if (isset($_GET["VICIDIAL_web_URL"])) {$VICIDIAL_web_URL=$_GET["VICIDIAL_web_URL"];} + elseif (isset($_POST["VICIDIAL_web_URL"])) {$VICIDIAL_web_URL=$_POST["VICIDIAL_web_URL"];} +if (isset($_GET["voicemail_button_enabled"])) {$voicemail_button_enabled=$_GET["voicemail_button_enabled"];} + elseif (isset($_POST["voicemail_button_enabled"])) {$voicemail_button_enabled=$_POST["voicemail_button_enabled"];} +if (isset($_GET["voicemail_dump_exten"])) {$voicemail_dump_exten=$_GET["voicemail_dump_exten"];} + elseif (isset($_POST["voicemail_dump_exten"])) {$voicemail_dump_exten=$_POST["voicemail_dump_exten"];} +if (isset($_GET["voicemail_ext"])) {$voicemail_ext=$_GET["voicemail_ext"];} + elseif (isset($_POST["voicemail_ext"])) {$voicemail_ext=$_POST["voicemail_ext"];} +if (isset($_GET["voicemail_exten"])) {$voicemail_exten=$_GET["voicemail_exten"];} + elseif (isset($_POST["voicemail_exten"])) {$voicemail_exten=$_POST["voicemail_exten"];} +if (isset($_GET["voicemail_id"])) {$voicemail_id=$_GET["voicemail_id"];} + elseif (isset($_POST["voicemail_id"])) {$voicemail_id=$_POST["voicemail_id"];} +if (isset($_GET["web_form_address"])) {$web_form_address=$_GET["web_form_address"];} + elseif (isset($_POST["web_form_address"])) {$web_form_address=$_POST["web_form_address"];} +if (isset($_GET["wrapup_message"])) {$wrapup_message=$_GET["wrapup_message"];} + elseif (isset($_POST["wrapup_message"])) {$wrapup_message=$_POST["wrapup_message"];} +if (isset($_GET["wrapup_seconds"])) {$wrapup_seconds=$_GET["wrapup_seconds"];} + elseif (isset($_POST["wrapup_seconds"])) {$wrapup_seconds=$_POST["wrapup_seconds"];} +if (isset($_GET["xferconf_a_dtmf"])) {$xferconf_a_dtmf=$_GET["xferconf_a_dtmf"];} + elseif (isset($_POST["xferconf_a_dtmf"])) {$xferconf_a_dtmf=$_POST["xferconf_a_dtmf"];} +if (isset($_GET["xferconf_a_number"])) {$xferconf_a_number=$_GET["xferconf_a_number"];} + elseif (isset($_POST["xferconf_a_number"])) {$xferconf_a_number=$_POST["xferconf_a_number"];} +if (isset($_GET["xferconf_b_dtmf"])) {$xferconf_b_dtmf=$_GET["xferconf_b_dtmf"];} + elseif (isset($_POST["xferconf_b_dtmf"])) {$xferconf_b_dtmf=$_POST["xferconf_b_dtmf"];} +if (isset($_GET["xferconf_b_number"])) {$xferconf_b_number=$_GET["xferconf_b_number"];} + elseif (isset($_POST["xferconf_b_number"])) {$xferconf_b_number=$_POST["xferconf_b_number"];} +if (isset($_GET["vicidial_balance_active"])) {$vicidial_balance_active=$_GET["vicidial_balance_active"];} + elseif (isset($_POST["vicidial_balance_active"])) {$vicidial_balance_active=$_POST["vicidial_balance_active"];} +if (isset($_GET["balance_trunks_offlimits"])) {$balance_trunks_offlimits=$_GET["balance_trunks_offlimits"];} + elseif (isset($_POST["balance_trunks_offlimits"])) {$balance_trunks_offlimits=$_POST["balance_trunks_offlimits"];} +if (isset($_GET["dedicated_trunks"])) {$dedicated_trunks=$_GET["dedicated_trunks"];} + elseif (isset($_POST["dedicated_trunks"])) {$dedicated_trunks=$_POST["dedicated_trunks"];} +if (isset($_GET["trunk_restriction"])) {$trunk_restriction=$_GET["trunk_restriction"];} + elseif (isset($_POST["trunk_restriction"])) {$trunk_restriction=$_POST["trunk_restriction"];} +if (isset($_GET["campaigns"])) {$campaigns=$_GET["campaigns"];} + elseif (isset($_POST["campaigns"])) {$campaigns=$_POST["campaigns"];} +if (isset($_GET["dial_level_override"])) {$dial_level_override=$_GET["dial_level_override"];} + elseif (isset($_POST["dial_level_override"])) {$dial_level_override=$_POST["dial_level_override"];} +if (isset($_GET["concurrent_transfers"])) {$concurrent_transfers=$_GET["concurrent_transfers"];} + elseif (isset($_POST["concurrent_transfers"])) {$concurrent_transfers=$_POST["concurrent_transfers"];} +if (isset($_GET["auto_alt_dial"])) {$auto_alt_dial=$_GET["auto_alt_dial"];} + elseif (isset($_POST["auto_alt_dial"])) {$auto_alt_dial=$_POST["auto_alt_dial"];} +if (isset($_GET["modify_users"])) {$modify_users=$_GET["modify_users"];} + elseif (isset($_POST["modify_users"])) {$modify_users=$_POST["modify_users"];} +if (isset($_GET["modify_campaigns"])) {$modify_campaigns=$_GET["modify_campaigns"];} + elseif (isset($_POST["modify_campaigns"])) {$modify_campaigns=$_POST["modify_campaigns"];} +if (isset($_GET["modify_lists"])) {$modify_lists=$_GET["modify_lists"];} + elseif (isset($_POST["modify_lists"])) {$modify_lists=$_POST["modify_lists"];} +if (isset($_GET["modify_scripts"])) {$modify_scripts=$_GET["modify_scripts"];} + elseif (isset($_POST["modify_scripts"])) {$modify_scripts=$_POST["modify_scripts"];} +if (isset($_GET["modify_filters"])) {$modify_filters=$_GET["modify_filters"];} + elseif (isset($_POST["modify_filters"])) {$modify_filters=$_POST["modify_filters"];} +if (isset($_GET["modify_ingroups"])) {$modify_ingroups=$_GET["modify_ingroups"];} + elseif (isset($_POST["modify_ingroups"])) {$modify_ingroups=$_POST["modify_ingroups"];} +if (isset($_GET["modify_usergroups"])) {$modify_usergroups=$_GET["modify_usergroups"];} + elseif (isset($_POST["modify_usergroups"])) {$modify_usergroups=$_POST["modify_usergroups"];} +if (isset($_GET["modify_remoteagents"])) {$modify_remoteagents=$_GET["modify_remoteagents"];} + elseif (isset($_POST["modify_remoteagents"])) {$modify_remoteagents=$_POST["modify_remoteagents"];} +if (isset($_GET["modify_servers"])) {$modify_servers=$_GET["modify_servers"];} + elseif (isset($_POST["modify_servers"])) {$modify_servers=$_POST["modify_servers"];} +if (isset($_GET["view_reports"])) {$view_reports=$_GET["view_reports"];} + elseif (isset($_POST["view_reports"])) {$view_reports=$_POST["view_reports"];} +if (isset($_GET["agent_pause_codes_active"])) {$agent_pause_codes_active=$_GET["agent_pause_codes_active"];} + elseif (isset($_POST["agent_pause_codes_active"])) {$agent_pause_codes_active=$_POST["agent_pause_codes_active"];} +if (isset($_GET["pause_code"])) {$pause_code=$_GET["pause_code"];} + elseif (isset($_POST["pause_code"])) {$pause_code=$_POST["pause_code"];} +if (isset($_GET["pause_code_name"])) {$pause_code_name=$_GET["pause_code_name"];} + elseif (isset($_POST["pause_code_name"])) {$pause_code_name=$_POST["pause_code_name"];} +if (isset($_GET["billable"])) {$billable=$_GET["billable"];} + elseif (isset($_POST["billable"])) {$billable=$_POST["billable"];} +if (isset($_GET["campaign_description"])) {$campaign_description=$_GET["campaign_description"];} + elseif (isset($_POST["campaign_description"])) {$campaign_description=$_POST["campaign_description"];} +if (isset($_GET["campaign_stats_refresh"])) {$campaign_stats_refresh=$_GET["campaign_stats_refresh"];} + elseif (isset($_POST["campaign_stats_refresh"])){$campaign_stats_refresh=$_POST["campaign_stats_refresh"];} +if (isset($_GET["list_description"])) {$list_description=$_GET["list_description"];} + elseif (isset($_POST["list_description"])) {$list_description=$_POST["list_description"];} +if (isset($_GET["vicidial_recording_override"])) {$vicidial_recording_override=$_GET["vicidial_recording_override"];} elseif (isset($_POST["vicidial_recording_override"])) {$vicidial_recording_override=$_POST["vicidial_recording_override"];} +if (isset($_GET["use_non_latin"])) {$use_non_latin=$_GET["use_non_latin"];} + elseif (isset($_POST["use_non_latin"])) {$use_non_latin=$_POST["use_non_latin"];} +if (isset($_GET["webroot_writable"])) {$webroot_writable=$_GET["webroot_writable"];} + elseif (isset($_POST["webroot_writable"])) {$webroot_writable=$_POST["webroot_writable"];} +if (isset($_GET["enable_queuemetrics_logging"])) {$enable_queuemetrics_logging=$_GET["enable_queuemetrics_logging"];} + elseif (isset($_POST["enable_queuemetrics_logging"])) {$enable_queuemetrics_logging=$_POST["enable_queuemetrics_logging"];} +if (isset($_GET["queuemetrics_server_ip"])) {$queuemetrics_server_ip=$_GET["queuemetrics_server_ip"];} + elseif (isset($_POST["queuemetrics_server_ip"])) {$queuemetrics_server_ip=$_POST["queuemetrics_server_ip"];} +if (isset($_GET["queuemetrics_dbname"])) {$queuemetrics_dbname=$_GET["queuemetrics_dbname"];} + elseif (isset($_POST["queuemetrics_dbname"])) {$queuemetrics_dbname=$_POST["queuemetrics_dbname"];} +if (isset($_GET["queuemetrics_login"])) {$queuemetrics_login=$_GET["queuemetrics_login"];} + elseif (isset($_POST["queuemetrics_login"])) {$queuemetrics_login=$_POST["queuemetrics_login"];} +if (isset($_GET["queuemetrics_pass"])) {$queuemetrics_pass=$_GET["queuemetrics_pass"];} + elseif (isset($_POST["queuemetrics_pass"])) {$queuemetrics_pass=$_POST["queuemetrics_pass"];} +if (isset($_GET["queuemetrics_url"])) {$queuemetrics_url=$_GET["queuemetrics_url"];} + elseif (isset($_POST["queuemetrics_url"])) {$queuemetrics_url=$_POST["queuemetrics_url"];} +if (isset($_GET["queuemetrics_log_id"])) {$queuemetrics_log_id=$_GET["queuemetrics_log_id"];} + elseif (isset($_POST["queuemetrics_log_id"])) {$queuemetrics_log_id=$_POST["queuemetrics_log_id"];} +if (isset($_GET["dial_status"])) {$dial_status=$_GET["dial_status"];} + elseif (isset($_POST["dial_status"])) {$dial_status=$_POST["dial_status"];} +if (isset($_GET["queuemetrics_eq_prepend"])) {$queuemetrics_eq_prepend=$_GET["queuemetrics_eq_prepend"];} + elseif (isset($_POST["queuemetrics_eq_prepend"])) {$queuemetrics_eq_prepend=$_POST["queuemetrics_eq_prepend"];} +if (isset($_GET["vicidial_agent_disable"])) {$vicidial_agent_disable=$_GET["vicidial_agent_disable"];} + elseif (isset($_POST["vicidial_agent_disable"])) {$vicidial_agent_disable=$_POST["vicidial_agent_disable"];} +if (isset($_GET["disable_alter_custdata"])) {$disable_alter_custdata=$_GET["disable_alter_custdata"];} + elseif (isset($_POST["disable_alter_custdata"])) {$disable_alter_custdata=$_POST["disable_alter_custdata"];} +if (isset($_GET["alter_custdata_override"])) {$alter_custdata_override=$_GET["alter_custdata_override"];} + elseif (isset($_POST["alter_custdata_override"])) {$alter_custdata_override=$_POST["alter_custdata_override"];} +if (isset($_GET["no_hopper_leads_logins"])) {$no_hopper_leads_logins=$_GET["no_hopper_leads_logins"];} + elseif (isset($_POST["no_hopper_leads_logins"])) {$no_hopper_leads_logins=$_POST["no_hopper_leads_logins"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["allow_sipsak_messages"])) {$allow_sipsak_messages=$_GET["allow_sipsak_messages"];} + elseif (isset($_POST["allow_sipsak_messages"])) {$allow_sipsak_messages=$_POST["allow_sipsak_messages"];} +if (isset($_GET["admin_home_url"])) {$admin_home_url=$_GET["admin_home_url"];} + elseif (isset($_POST["admin_home_url"])) {$admin_home_url=$_POST["admin_home_url"];} +if (isset($_GET["list_order_mix"])) {$list_order_mix=$_GET["list_order_mix"];} + elseif (isset($_POST["list_order_mix"])) {$list_order_mix=$_POST["list_order_mix"];} +if (isset($_GET["vcl_id"])) {$vcl_id=$_GET["vcl_id"];} + elseif (isset($_POST["vcl_id"])) {$vcl_id=$_POST["vcl_id"];} +if (isset($_GET["vcl_name"])) {$vcl_name=$_GET["vcl_name"];} + elseif (isset($_POST["vcl_name"])) {$vcl_name=$_POST["vcl_name"];} +if (isset($_GET["list_mix_container"])) {$list_mix_container=$_GET["list_mix_container"];} + elseif (isset($_POST["list_mix_container"])) {$list_mix_container=$_POST["list_mix_container"];} +if (isset($_GET["mix_method"])) {$mix_method=$_GET["mix_method"];} + elseif (isset($_POST["mix_method"])) {$mix_method=$_POST["mix_method"];} +if (isset($_GET["human_answered"])) {$human_answered=$_GET["human_answered"];} + elseif (isset($_POST["human_answered"])) {$human_answered=$_POST["human_answered"];} +if (isset($_GET["category"])) {$category=$_GET["category"];} + elseif (isset($_POST["category"])) {$category=$_POST["category"];} +if (isset($_GET["vsc_id"])) {$vsc_id=$_GET["vsc_id"];} + elseif (isset($_POST["vsc_id"])) {$vsc_id=$_POST["vsc_id"];} +if (isset($_GET["vsc_name"])) {$vsc_name=$_GET["vsc_name"];} + elseif (isset($_POST["vsc_name"])) {$vsc_name=$_POST["vsc_name"];} +if (isset($_GET["vsc_description"])) {$vsc_description=$_GET["vsc_description"];} + elseif (isset($_POST["vsc_description"])) {$vsc_description=$_POST["vsc_description"];} +if (isset($_GET["tovdad_display"])) {$tovdad_display=$_GET["tovdad_display"];} + elseif (isset($_POST["tovdad_display"])) {$tovdad_display=$_POST["tovdad_display"];} +if (isset($_GET["mix_container_item"])) {$mix_container_item=$_GET["mix_container_item"];} + elseif (isset($_POST["mix_container_item"])) {$mix_container_item=$_POST["mix_container_item"];} +if (isset($_GET["enable_agc_xfer_log"])) {$enable_agc_xfer_log=$_GET["enable_agc_xfer_log"];} + elseif (isset($_POST["enable_agc_xfer_log"])) {$enable_agc_xfer_log=$_POST["enable_agc_xfer_log"];} +if (isset($_GET["after_hours_action"])) {$after_hours_action=$_GET["after_hours_action"];} + elseif (isset($_POST["after_hours_action"])) {$after_hours_action=$_POST["after_hours_action"];} +if (isset($_GET["after_hours_message_filename"])) {$after_hours_message_filename=$_GET["after_hours_message_filename"];} + elseif (isset($_POST["after_hours_message_filename"])) {$after_hours_message_filename=$_POST["after_hours_message_filename"];} +if (isset($_GET["after_hours_exten"])) {$after_hours_exten=$_GET["after_hours_exten"];} + elseif (isset($_POST["after_hours_exten"])) {$after_hours_exten=$_POST["after_hours_exten"];} +if (isset($_GET["after_hours_voicemail"])) {$after_hours_voicemail=$_GET["after_hours_voicemail"];} + elseif (isset($_POST["after_hours_voicemail"])) {$after_hours_voicemail=$_POST["after_hours_voicemail"];} +if (isset($_GET["welcome_message_filename"])) {$welcome_message_filename=$_GET["welcome_message_filename"];} + elseif (isset($_POST["welcome_message_filename"])) {$welcome_message_filename=$_POST["welcome_message_filename"];} +if (isset($_GET["moh_context"])) {$moh_context=$_GET["moh_context"];} + elseif (isset($_POST["moh_context"])) {$moh_context=$_POST["moh_context"];} +if (isset($_GET["onhold_prompt_filename"])) {$onhold_prompt_filename=$_GET["onhold_prompt_filename"];} + elseif (isset($_POST["onhold_prompt_filename"])) {$onhold_prompt_filename=$_POST["onhold_prompt_filename"];} +if (isset($_GET["prompt_interval"])) {$prompt_interval=$_GET["prompt_interval"];} + elseif (isset($_POST["prompt_interval"])) {$prompt_interval=$_POST["prompt_interval"];} +if (isset($_GET["agent_alert_exten"])) {$agent_alert_exten=$_GET["agent_alert_exten"];} + elseif (isset($_POST["agent_alert_exten"])) {$agent_alert_exten=$_POST["agent_alert_exten"];} +if (isset($_GET["agent_alert_delay"])) {$agent_alert_delay=$_GET["agent_alert_delay"];} + elseif (isset($_POST["agent_alert_delay"])) {$agent_alert_delay=$_POST["agent_alert_delay"];} +if (isset($_GET["group_rank"])) {$group_rank=$_GET["group_rank"];} + elseif (isset($_POST["group_rank"])) {$group_rank=$_POST["group_rank"];} +if (isset($_GET["campaign_allow_inbound"])) {$campaign_allow_inbound=$_GET["campaign_allow_inbound"];} + elseif (isset($_POST["campaign_allow_inbound"])) {$campaign_allow_inbound=$_POST["campaign_allow_inbound"];} +if (isset($_GET["manual_dial_list_id"])) {$manual_dial_list_id=$_GET["manual_dial_list_id"];} + elseif (isset($_POST["manual_dial_list_id"])) {$manual_dial_list_id=$_POST["manual_dial_list_id"];} +if (isset($_GET["campaign_rank"])) {$campaign_rank=$_GET["campaign_rank"];} + elseif (isset($_POST["campaign_rank"])) {$campaign_rank=$_POST["campaign_rank"];} +if (isset($_GET["source_campaign_id"])) {$source_campaign_id=$_GET["source_campaign_id"];} + elseif (isset($_POST["source_campaign_id"])) {$source_campaign_id=$_POST["source_campaign_id"];} +if (isset($_GET["source_user_id"])) {$source_user_id=$_GET["source_user_id"];} + elseif (isset($_POST["source_user_id"])) {$source_user_id=$_POST["source_user_id"];} +if (isset($_GET["source_group_id"])) {$source_group_id=$_GET["source_group_id"];} + elseif (isset($_POST["source_group_id"])) {$source_group_id=$_POST["source_group_id"];} +if (isset($_GET["default_xfer_group"])) {$default_xfer_group=$_GET["default_xfer_group"];} + elseif (isset($_POST["default_xfer_group"])) {$default_xfer_group=$_POST["default_xfer_group"];} + + + if (isset($script_id)) {$script_id= strtoupper($script_id);} + if (isset($lead_filter_id)) {$lead_filter_id = strtoupper($lead_filter_id);} + +if (strlen($dial_status) > 0) + { + $ADD='28'; + $status = $dial_status; + } + +###################################################################################################### +###################################################################################################### +####### Form variable filtering for security and data integrity +###################################################################################################### +###################################################################################################### + +if ($non_latin < 1) +{ +### DIGITS ONLY ### +$adaptive_dropped_percentage = ereg_replace("[^0-9]","",$adaptive_dropped_percentage); +$adaptive_latest_server_time = ereg_replace("[^0-9]","",$adaptive_latest_server_time); +$admin_hangup_enabled = ereg_replace("[^0-9]","",$admin_hangup_enabled); +$admin_hijack_enabled = ereg_replace("[^0-9]","",$admin_hijack_enabled); +$admin_monitor_enabled = ereg_replace("[^0-9]","",$admin_monitor_enabled); +$AFLogging_enabled = ereg_replace("[^0-9]","",$AFLogging_enabled); +$agent_choose_ingroups = ereg_replace("[^0-9]","",$agent_choose_ingroups); +$agentcall_manual = ereg_replace("[^0-9]","",$agentcall_manual); +$agentonly_callbacks = ereg_replace("[^0-9]","",$agentonly_callbacks); +$AGI_call_logging_enabled = ereg_replace("[^0-9]","",$AGI_call_logging_enabled); +$allcalls_delay = ereg_replace("[^0-9]","",$allcalls_delay); +$alter_agent_interface_options = ereg_replace("[^0-9]","",$alter_agent_interface_options); +$am_message_exten = ereg_replace("[^0-9]","",$am_message_exten); +$answer_transfer_agent = ereg_replace("[^0-9]","",$answer_transfer_agent); +$ast_admin_access = ereg_replace("[^0-9]","",$ast_admin_access); +$ast_delete_phones = ereg_replace("[^0-9]","",$ast_delete_phones); +$attempt_delay = ereg_replace("[^0-9]","",$attempt_delay); +$attempt_maximum = ereg_replace("[^0-9]","",$attempt_maximum); +$auto_dial_next_number = ereg_replace("[^0-9]","",$auto_dial_next_number); +$balance_trunks_offlimits = ereg_replace("[^0-9]","",$balance_trunks_offlimits); +$call_parking_enabled = ereg_replace("[^0-9]","",$call_parking_enabled); +$CallerID_popup_enabled = ereg_replace("[^0-9]","",$CallerID_popup_enabled); +$campaign_detail = ereg_replace("[^0-9]","",$campaign_detail); +$campaign_rec_exten = ereg_replace("[^0-9]","",$campaign_rec_exten); +$campaign_vdad_exten = ereg_replace("[^0-9]","",$campaign_vdad_exten); +$change_agent_campaign = ereg_replace("[^0-9]","",$change_agent_campaign); +$closer_default_blended = ereg_replace("[^0-9]","",$closer_default_blended); +$conf_exten = ereg_replace("[^0-9]","",$conf_exten); +$conf_on_extension = ereg_replace("[^0-9]","",$conf_on_extension); +$conferencing_enabled = ereg_replace("[^0-9]","",$conferencing_enabled); +$ct_default_start = ereg_replace("[^0-9]","",$ct_default_start); +$ct_default_stop = ereg_replace("[^0-9]","",$ct_default_stop); +$ct_friday_start = ereg_replace("[^0-9]","",$ct_friday_start); +$ct_friday_stop = ereg_replace("[^0-9]","",$ct_friday_stop); +$ct_monday_start = ereg_replace("[^0-9]","",$ct_monday_start); +$ct_monday_stop = ereg_replace("[^0-9]","",$ct_monday_stop); +$ct_saturday_start = ereg_replace("[^0-9]","",$ct_saturday_start); +$ct_saturday_stop = ereg_replace("[^0-9]","",$ct_saturday_stop); +$ct_sunday_start = ereg_replace("[^0-9]","",$ct_sunday_start); +$ct_sunday_stop = ereg_replace("[^0-9]","",$ct_sunday_stop); +$ct_thursday_start = ereg_replace("[^0-9]","",$ct_thursday_start); +$ct_thursday_stop = ereg_replace("[^0-9]","",$ct_thursday_stop); +$ct_tuesday_start = ereg_replace("[^0-9]","",$ct_tuesday_start); +$ct_tuesday_stop = ereg_replace("[^0-9]","",$ct_tuesday_stop); +$ct_wednesday_start = ereg_replace("[^0-9]","",$ct_wednesday_start); +$ct_wednesday_stop = ereg_replace("[^0-9]","",$ct_wednesday_stop); +$DBX_port = ereg_replace("[^0-9]","",$DBX_port); +$DBY_port = ereg_replace("[^0-9]","",$DBY_port); +$dedicated_trunks = ereg_replace("[^0-9]","",$dedicated_trunks); +$delete_call_times = ereg_replace("[^0-9]","",$delete_call_times); +$delete_campaigns = ereg_replace("[^0-9]","",$delete_campaigns); +$delete_filters = ereg_replace("[^0-9]","",$delete_filters); +$delete_ingroups = ereg_replace("[^0-9]","",$delete_ingroups); +$delete_lists = ereg_replace("[^0-9]","",$delete_lists); +$delete_remote_agents = ereg_replace("[^0-9]","",$delete_remote_agents); +$delete_scripts = ereg_replace("[^0-9]","",$delete_scripts); +$delete_user_groups = ereg_replace("[^0-9]","",$delete_user_groups); +$delete_users = ereg_replace("[^0-9]","",$delete_users); +$dial_timeout = ereg_replace("[^0-9]","",$dial_timeout); +$dialplan_number = ereg_replace("[^0-9]","",$dialplan_number); +$drop_call_seconds = ereg_replace("[^0-9]","",$drop_call_seconds); +$drop_exten = ereg_replace("[^0-9]","",$drop_exten); +$enable_fast_refresh = ereg_replace("[^0-9]","",$enable_fast_refresh); +$enable_persistant_mysql = ereg_replace("[^0-9]","",$enable_persistant_mysql); +$fast_refresh_rate = ereg_replace("[^0-9]","",$fast_refresh_rate); +$hopper_level = ereg_replace("[^0-9]","",$hopper_level); +$hotkey = ereg_replace("[^0-9]","",$hotkey); +$hotkeys_active = ereg_replace("[^0-9]","",$hotkeys_active); +$list_id = ereg_replace("[^0-9]","",$list_id); +$load_leads = ereg_replace("[^0-9]","",$load_leads); +$max_vicidial_trunks = ereg_replace("[^0-9]","",$max_vicidial_trunks); +$modify_call_times = ereg_replace("[^0-9]","",$modify_call_times); +$modify_users = ereg_replace("[^0-9]","",$modify_users); +$modify_campaigns = ereg_replace("[^0-9]","",$modify_campaigns); +$modify_lists = ereg_replace("[^0-9]","",$modify_lists); +$modify_scripts = ereg_replace("[^0-9]","",$modify_scripts); +$modify_filters = ereg_replace("[^0-9]","",$modify_filters); +$modify_ingroups = ereg_replace("[^0-9]","",$modify_ingroups); +$modify_usergroups = ereg_replace("[^0-9]","",$modify_usergroups); +$modify_remoteagents = ereg_replace("[^0-9]","",$modify_remoteagents); +$modify_servers = ereg_replace("[^0-9]","",$modify_servers); +$view_reports = ereg_replace("[^0-9]","",$view_reports); +$modify_leads = ereg_replace("[^0-9]","",$modify_leads); +$monitor_prefix = ereg_replace("[^0-9]","",$monitor_prefix); +$number_of_lines = ereg_replace("[^0-9]","",$number_of_lines); +$old_conf_exten = ereg_replace("[^0-9]","",$old_conf_exten); +$outbound_cid = ereg_replace("[^0-9]","",$outbound_cid); +$park_ext = ereg_replace("[^0-9]","",$park_ext); +$park_on_extension = ereg_replace("[^0-9]","",$park_on_extension); +$phone_number = ereg_replace("[^0-9]","",$phone_number); +$QUEUE_ACTION_enabled = ereg_replace("[^0-9]","",$QUEUE_ACTION_enabled); +$recording_exten = ereg_replace("[^0-9]","",$recording_exten); +$remote_agent_id = ereg_replace("[^0-9]","",$remote_agent_id); +$safe_harbor_exten = ereg_replace("[^0-9]","",$safe_harbor_exten); +$telnet_port = ereg_replace("[^0-9]","",$telnet_port); +$updater_check_enabled = ereg_replace("[^0-9]","",$updater_check_enabled); +$user_level = ereg_replace("[^0-9]","",$user_level); +$user_start = ereg_replace("[^0-9]","",$user_start); +$user_switching_enabled = ereg_replace("[^0-9]","",$user_switching_enabled); +$VDstop_rec_after_each_call = ereg_replace("[^0-9]","",$VDstop_rec_after_each_call); +$VICIDIAL_park_on_extension = ereg_replace("[^0-9]","",$VICIDIAL_park_on_extension); +$vicidial_recording = ereg_replace("[^0-9]","",$vicidial_recording); +$vicidial_transfers = ereg_replace("[^0-9]","",$vicidial_transfers); +$voicemail_button_enabled = ereg_replace("[^0-9]","",$voicemail_button_enabled); +$voicemail_dump_exten = ereg_replace("[^0-9]","",$voicemail_dump_exten); +$voicemail_ext = ereg_replace("[^0-9]","",$voicemail_ext); +$voicemail_exten = ereg_replace("[^0-9]","",$voicemail_exten); +$voicemail_id = ereg_replace("[^0-9]","",$voicemail_id); +$wrapup_seconds = ereg_replace("[^0-9]","",$wrapup_seconds); +$use_non_latin = ereg_replace("[^0-9]","",$use_non_latin); +$webroot_writable = ereg_replace("[^0-9]","",$webroot_writable); +$enable_queuemetrics_logging = ereg_replace("[^0-9]","",$enable_queuemetrics_logging); +$enable_sipsak_messages = ereg_replace("[^0-9]","",$enable_sipsak_messages); +$allow_sipsak_messages = ereg_replace("[^0-9]","",$allow_sipsak_messages); +$mix_container_item = ereg_replace("[^0-9]","",$mix_container_item); +$prompt_interval = ereg_replace("[^0-9]","",$prompt_interval); +$agent_alert_delay = ereg_replace("[^0-9]","",$agent_alert_delay); +$manual_dial_list_id = ereg_replace("[^0-9]","",$manual_dial_list_id); + +### DIGITS and DASHES +$group_rank = ereg_replace("[^-0-9]","",$group_rank); +$campaign_rank = ereg_replace("[^-0-9]","",$campaign_rank); + +### Y or N ONLY ### +$active = ereg_replace("[^NY]","",$active); +$allow_closers = ereg_replace("[^NY]","",$allow_closers); +$reset_hopper = ereg_replace("[^NY]","",$reset_hopper); +$amd_send_to_vmx = ereg_replace("[^NY]","",$amd_send_to_vmx); +$alt_number_dialing = ereg_replace("[^NY]","",$alt_number_dialing); +$safe_harbor_message = ereg_replace("[^NY]","",$safe_harbor_message); +$selectable = ereg_replace("[^NY]","",$selectable); +$reset_list = ereg_replace("[^NY]","",$reset_list); +$fronter_display = ereg_replace("[^NY]","",$fronter_display); +$drop_message = ereg_replace("[^NY]","",$drop_message); +$use_internal_dnc = ereg_replace("[^NY]","",$use_internal_dnc); +$omit_phone_code = ereg_replace("[^NY]","",$omit_phone_code); +$available_only_ratio_tally = ereg_replace("[^NY]","",$available_only_ratio_tally); +$sys_perf_log = ereg_replace("[^NY]","",$sys_perf_log); +$vicidial_balance_active = ereg_replace("[^NY]","",$vicidial_balance_active); +$vd_server_logs = ereg_replace("[^NY]","",$vd_server_logs); +$agent_pause_codes_active = ereg_replace("[^NY]","",$agent_pause_codes_active); +$campaign_stats_refresh = ereg_replace("[^NY]","",$campaign_stats_refresh); +$disable_alter_custdata = ereg_replace("[^NY]","",$disable_alter_custdata); +$no_hopper_leads_logins = ereg_replace("[^NY]","",$no_hopper_leads_logins); +$human_answered = ereg_replace("[^NY]","",$human_answered); +$tovdad_display = ereg_replace("[^NY]","",$tovdad_display); +$campaign_allow_inbound = ereg_replace("[^NY]","",$campaign_allow_inbound); + +### ALPHA-NUMERIC ONLY ### +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$script_id = ereg_replace("[^0-9a-zA-Z]","",$script_id); +$submit = ereg_replace("[^0-9a-zA-Z]","",$submit); +$campaign_cid = ereg_replace("[^0-9a-zA-Z]","",$campaign_cid); +$get_call_launch = ereg_replace("[^0-9a-zA-Z]","",$get_call_launch); +$campaign_recording = ereg_replace("[^0-9a-zA-Z]","",$campaign_recording); +$ADD = ereg_replace("[^0-9a-zA-Z]","",$ADD); +$dial_prefix = ereg_replace("[^0-9a-zA-Z]","",$dial_prefix); +$state_call_time_state = ereg_replace("[^0-9a-zA-Z]","",$state_call_time_state); +$scheduled_callbacks = ereg_replace("[^0-9a-zA-Z]","",$scheduled_callbacks); +$concurrent_transfers = ereg_replace("[^0-9a-zA-Z]","",$concurrent_transfers); +$billable = ereg_replace("[^0-9a-zA-Z]","",$billable); +$pause_code = ereg_replace("[^0-9a-zA-Z]","",$pause_code); +$vicidial_recording_override = ereg_replace("[^0-9a-zA-Z]","",$vicidial_recording_override); +$queuemetrics_log_id = ereg_replace("[^0-9a-zA-Z]","",$queuemetrics_log_id); +$after_hours_action = ereg_replace("[^0-9a-zA-Z]","",$after_hours_action); +$after_hours_exten = ereg_replace("[^0-9a-zA-Z]","",$after_hours_exten); +$after_hours_voicemail = ereg_replace("[^0-9a-zA-Z]","",$after_hours_voicemail); + +### DIGITS and Dots +$server_ip = ereg_replace("[^\.0-9]","",$server_ip); +$auto_dial_level = ereg_replace("[^\.0-9]","",$auto_dial_level); +$adaptive_maximum_level = ereg_replace("[^\.0-9]","",$adaptive_maximum_level); +$phone_ip = ereg_replace("[^\.0-9]","",$phone_ip); +$old_server_ip = ereg_replace("[^\.0-9]","",$old_server_ip); +$computer_ip = ereg_replace("[^\.0-9]","",$computer_ip); +$queuemetrics_server_ip = ereg_replace("[^\.0-9]","",$queuemetrics_server_ip); + +### ALPHA-NUMERIC and spaces and hash and star and comma +$xferconf_a_dtmf = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$xferconf_a_dtmf); +$xferconf_b_dtmf = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$xferconf_b_dtmf); + +### ALPHACAPS-NUMERIC +$xferconf_a_number = ereg_replace("[^0-9A-Z]","",$xferconf_a_number); +$xferconf_b_number = ereg_replace("[^0-9A-Z]","",$xferconf_b_number); + +### ALPHA-NUMERIC and underscore and dash +$agi_output = ereg_replace("[^-\_0-9a-zA-Z]","",$agi_output); +$ASTmgrSECRET = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrSECRET); +$ASTmgrUSERNAME = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAME); +$ASTmgrUSERNAMElisten = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAMElisten); +$ASTmgrUSERNAMEsend = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAMEsend); +$ASTmgrUSERNAMEupdate = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAMEupdate); +$call_time_id = ereg_replace("[^-\_0-9a-zA-Z]","",$call_time_id); +$campaign_id = ereg_replace("[^-\_0-9a-zA-Z]","",$campaign_id); +$CoNfIrM = ereg_replace("[^-\_0-9a-zA-Z]","",$CoNfIrM); +$DBX_database = ereg_replace("[^-\_0-9a-zA-Z]","",$DBX_database); +$DBX_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$DBX_pass); +$DBX_user = ereg_replace("[^-\_0-9a-zA-Z]","",$DBX_user); +$DBY_database = ereg_replace("[^-\_0-9a-zA-Z]","",$DBY_database); +$DBY_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$DBY_pass); +$DBY_user = ereg_replace("[^-\_0-9a-zA-Z]","",$DBY_user); +$dial_method = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_method); +$dial_status_a = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_a); +$dial_status_b = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_b); +$dial_status_c = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_c); +$dial_status_d = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_d); +$dial_status_e = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_e); +$ext_context = ereg_replace("[^-\_0-9a-zA-Z]","",$ext_context); +$group_id = ereg_replace("[^-\_0-9a-zA-Z]","",$group_id); +$lead_filter_id = ereg_replace("[^-\_0-9a-zA-Z]","",$lead_filter_id); +$local_call_time = ereg_replace("[^-\_0-9a-zA-Z]","",$local_call_time); +$login = ereg_replace("[^-\_0-9a-zA-Z]","",$login); +$login_campaign = ereg_replace("[^-\_0-9a-zA-Z]","",$login_campaign); +$login_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$login_pass); +$login_user = ereg_replace("[^-\_0-9a-zA-Z]","",$login_user); +$next_agent_call = ereg_replace("[^-\_0-9a-zA-Z]","",$next_agent_call); +$old_campaign_id = ereg_replace("[^-\_0-9a-zA-Z]","",$old_campaign_id); +$old_server_id = ereg_replace("[^-\_0-9a-zA-Z]","",$old_server_id); +$OLDuser_group = ereg_replace("[^-\_0-9a-zA-Z]","",$OLDuser_group); +$park_file_name = ereg_replace("[^-\_0-9a-zA-Z]","",$park_file_name); +$pass = ereg_replace("[^-\_0-9a-zA-Z]","",$pass); +$phone_login = ereg_replace("[^-\_0-9a-zA-Z]","",$phone_login); +$phone_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$phone_pass); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$protocol = ereg_replace("[^-\_0-9a-zA-Z]","",$protocol); +$server_id = ereg_replace("[^-\_0-9a-zA-Z]","",$server_id); +$stage = ereg_replace("[^-\_0-9a-zA-Z]","",$stage); +$state_rule = ereg_replace("[^-\_0-9a-zA-Z]","",$state_rule); +$status = ereg_replace("[^-\_0-9a-zA-Z]","",$status); +$trunk_restriction = ereg_replace("[^-\_0-9a-zA-Z]","",$trunk_restriction); +$user = ereg_replace("[^-\_0-9a-zA-Z]","",$user); +$user_group = ereg_replace("[^-\_0-9a-zA-Z]","",$user_group); +$VICIDIAL_park_on_filename = ereg_replace("[^-\_0-9a-zA-Z]","",$VICIDIAL_park_on_filename); +$auto_alt_dial = ereg_replace("[^-\_0-9a-zA-Z]","",$auto_alt_dial); +$dial_status = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status); +$queuemetrics_eq_prepend = ereg_replace("[^-\_0-9a-zA-Z]","",$queuemetrics_eq_prepend); +$vicidial_agent_disable = ereg_replace("[^-\_0-9a-zA-Z]","",$vicidial_agent_disable); +$alter_custdata_override = ereg_replace("[^-\_0-9a-zA-Z]","",$alter_custdata_override); +$list_order_mix = ereg_replace("[^-\_0-9a-zA-Z]","",$list_order_mix); +$vcl_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vcl_id); +$mix_method = ereg_replace("[^-\_0-9a-zA-Z]","",$mix_method); +$category = ereg_replace("[^-\_0-9a-zA-Z]","",$category); +$vsc_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vsc_id); +$moh_context = ereg_replace("[^-\_0-9a-zA-Z]","",$moh_context); +$agent_alert_exten = ereg_replace("[^-\_0-9a-zA-Z]","",$agent_alert_exten); +$source_campaign_id = ereg_replace("[^-\_0-9a-zA-Z]","",$source_campaign_id); +$source_user_id = ereg_replace("[^-\_0-9a-zA-Z]","",$source_user_id); +$source_group_id = ereg_replace("[^-\_0-9a-zA-Z]","",$source_group_id); +$default_xfer_group = ereg_replace("[^-\_0-9a-zA-Z]","",$default_xfer_group); + +### ALPHA-NUMERIC and spaces +$lead_order = ereg_replace("[^ 0-9a-zA-Z]","",$lead_order); +### ALPHA-NUMERIC and hash +$group_color = ereg_replace("[^\#0-9a-zA-Z]","",$group_color); + +### ALPHA-NUMERIC and spaces dots, commas, dashes, underscores +$adaptive_dl_diff_target = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$adaptive_dl_diff_target); +$adaptive_intensity = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$adaptive_intensity); +$asterisk_version = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$asterisk_version); +$call_time_comments = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$call_time_comments); +$call_time_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$call_time_name); +$campaign_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$campaign_name); +$campaign_rec_filename = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$campaign_rec_filename); +$company = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$company); +$full_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$full_name); +$fullname = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$fullname); +$group_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$group_name); +$HKstatus = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$HKstatus); +$lead_filter_comments = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$lead_filter_comments); +$lead_filter_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$lead_filter_name); +$list_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$list_name); +$local_gmt = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$local_gmt); +$phone_type = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$phone_type); +$picture = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$picture); +$script_comments = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$script_comments); +$script_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$script_name); +$server_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$server_description); +$status = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$status); +$status_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$status_name); +$wrapup_message = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$wrapup_message); +$pause_code_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$pause_code_name); +$campaign_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$campaign_description); +$list_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$list_description); +$vcl_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vcl_name); +$vsc_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vsc_name); +$vsc_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vsc_description); + +### ALPHA-NUMERIC and underscore and dash and slash and at and dot +$call_out_number_group = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$call_out_number_group); +$client_browser = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$client_browser); +$DBX_server = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$DBX_server); +$DBY_server = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$DBY_server); +$dtmf_send_extension = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$dtmf_send_extension); +$extension = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$extension); +$install_directory = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$install_directory); +$old_extension = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$old_extension); +$telnet_host = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$telnet_host); +$queuemetrics_dbname = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_dbname); +$queuemetrics_login = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_login); +$queuemetrics_pass = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_pass); +$after_hours_message_filename = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$after_hours_message_filename); +$welcome_message_filename = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$welcome_message_filename); +$onhold_prompt_filename = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$onhold_prompt_filename); + +### remove semi-colons ### +$lead_filter_sql = ereg_replace(";","",$lead_filter_sql); +$list_mix_container = ereg_replace(";","",$list_mix_container); + +### VARIABLES TO BE mysql_real_escape_string ### +# $web_form_address +# $queuemetrics_url +# $admin_home_url + +### VARIABLES not filtered at all ### +# $script_text + +} # end of non_latin + + +##### END VARIABLE FILTERING FOR SECURITY ##### + + +# AST GUI database administration +# admin.php +# +# CHANGELOG: +# 50315-1110 - Added Custom Campaign Statuses +# 50317-1438 - Added Fronter Display var to inbound groups +# 50322-1355 - Added custom callerID per campaign +# 50517-1356 - Added user_groups sections and user_group to vicidial_users +# 50517-1440 - Added ability to logout (must click OK with empty user/pass) +# 50602-1622 - Added lead loader pages to load new files into vicidial_list +# 50620-1351 - Added custom vdad transfer AGI extension per campaign +# 50810-1414 - modified in groups to kick out spaces and dashes +# 50908-2136 - Added Custom Campaign HotKeys +# 50914-0950 - Fixed user search by user_group +# 50926-1358 - Modified to allow for language translation +# 50926-1615 - Added WeBRooTWritablE write controls +# 51020-1008 - Added editable web address and park ext - NEW dial campaigns +# 51020-1056 - Added fields and help for campaign recording control +# 51123-1335 - Altered code to function in php globals=off +# 51208-1038 - Added user_level changes, function controls and default user phones +# 51208-1556 - Added deletion of users/lists/campaigns/in groups/remote agents +# 51213-1706 - Added add/delete/modify vicidial scripts +# 51214-1737 - Added preview of vicidial script in popup window +# 51219-1225 - Added campaign and ingroups script selector and get_call_launch field +# 51222-1055 - Added am_message_exten to campaigns to allow for AM Message button +# 51222-1125 - Fixed new vicidial_campaigns default values not being assigned bug +# 51222-1156 - Added LOG OUT ALL AGENTS ON THIS CAMPAIGN button to campaign screen +# 60204-0659 - Fixed hopper reset bug +# 60207-1413 - Added AMD send to voicemail extension and xfer-conf dtmf presets +# 60213-1100 - Added several vicidial_users permissions fields +# 60215-1319 - Added On-hold CallBacks display and links +# 60227-1226 - Fixed vicidial_inbound_groups insert bug +# 60413-1308 - Fixed list display to have 1 row/status: count and time zone tables +# - Added status name in selected dial statuses in campaign screen +# 60417-1416 - Added vicidial_lead_filters sections +# - Changed the header links to color-coded sectional with sublinks below +# - Added filter name and script name to campaign and in-group modify sections +# - Added callback and alt dial options to campaigns section +# - Added callback, alt dial and other options to users section +# 60419-1628 - Alter Callbacks display to include status and LIVE listings, reordered +# 60421-1441 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60425-2355 - Added agent options to vicidial_users, reformatted user page +# 60502-1627 - Added drop_call_seconds and safe_harbor_ fields to campaign screen +# 60503-1228 - Added drop_call_seconds and drop_ fields to inbound groups screen +# 60505-1117 - Added initial framework for new local_call_times tables and definitions +# 60506-1033 - More revisions to the local_call_time section +# 60508-1354 - Finished call_times and state_call_times sections +# - Added modify/delete options for call_times +# 60509-1311 - Functionalize campaign dialable leads calculation +# - Change state_call_times selection from call_times to only allow one per state +# - Added dialable leads count popup to campaign screen if auto-calc is disabled +# - Added test dialable leads count popup to filter screen +# 60510-1050 - Added Wrapup seconds and Wrapup message to campaigns screen +# 60608-1401 - Added allowable inbound_groups checkboxes to CLOSER campaign detail screen +# 60609-1051 - Added add-to-dnc in LISTS section +# 60613-1415 - Added lead recycling options to campaign detail screen +# 60619-1523 - Added variable filtering to eliminate SQL injection attack threat +# 60622-1216 - Fixed HotKey addition form issues and variable filtering +# 60623-1159 - Fixed Scheduled Callbacks over-filtering bug and filter_sql bug +# 60808-1147 - Changed filtering for and added instructions for consutative transfers +# 60816-1552 - Added allcalls_delay start delay for recordings in vicidial.php +# 60817-2226 - Fixed bug that would not allow lead recycling of non-selectable statuses +# 60821-1543 - Added option to Omit Phone Code while dialing in vicidial +# 60821-1625 - Added ALLFORCE recording option for campaign_recording +# 60823-1154 - Added fields for adaptive dialing +# 60824-1326 - Added adaptive_latest_target_gmt for ADAPT_TAPERED dial method +# 60825-1205 - Added adaptive_intensity for ADAPT_ dial methods +# 60828-1019 - Changed adaptive_latest_target_gmt to adaptive_latest_server_time +# 60828-1115 - Added adaptive_dl_diff_target and changed intensity dropdown +# 60927-1246 - Added astguiclient/admin.php functions under SERVERS tab +# 61002-1402 - Added fields for vicidial balance trunk controls +# 61003-1123 - Added functions for vicidial_server_trunks records +# 61109-1022 - Added Emergency VDAC Jam Clear function to Campaign Detail screen +# 61110-1502 - Add ability to select NONE in dial statuses, new list_id must not be < 100 +# 61122-1228 - Added user group campaign restrictions +# 61122-1535 - Changed script_text to unfiltered and added more variables to SCRIPTS +# 61129-1028 - Added headers to Users and Phones with clickable order-by titles +# 70108-1405 - Added ADAPT OVERRIDE to allow for forced dial_level changes in ADAPT dial methods +# - Screen width definable at top of script, merged server_stats into this script +# 70109-1638 - Added ALTPH2 and ADDR3 hotkey options for alt number dialing with HotKeys +# 70109-1716 - Added concurrent_transfers option to vicidial_campaigns +# 70115-1152 - Aded (CLOSER|BLEND|INBND|_C$|_B$|_I$) options for CLOSER-type campaigns +# 70115-1532 - Added auto_alt_dial field to campaign screen for auto-dialing of alt numbers +# 70116-1200 - Added auto_alt_dial_status functionality to campaign screen +# 70117-1235 - Added header formatting variables at top of script +# - Moved Call Times and Phones/Server functions to Admin section +# 70118-1706 - Added new user group displays and links +# 70123-1519 - Added user permission settings for all sections +# 70124-1346 - Fixed spelling errors and formatting consistency +# 70202-1120 - Added agent_pause_codes section to campaigns +# 70205-1204 - Added memo, last dialed, timestamp and stats-refresh fields to vicidial_campaigns/lists +# 70206-1323 - Added user setting for vicidial_recording_override +# 70212-1412 - Added system settings section +# 70214-1226 - Added QueueMetrics Log ID field to system settings section +# 70219-1102 - Changed campaign dial statuses to be one string allowing for high limit +# 70223-0957 - Added queuemetrics_eq_prepend for custom ENTERQUEUE prepending of a field +# 70302-1111 - Fixed small bug in dialable leads calculation +# 70314-1133 - Added insert selection on script forms +# 70319-1423 - Added Alter Customer Data and agent disable display functions +# 70319-1625 - Added option to allow agents to login to outbound campaigns with no leads in the hopper +# 70322-1455 - Added sipsak messages parameters +# 70402-1157 - Added HOME link and entry to system_settings table, added QM link on reports section +# 70516-1628 - Started reformatting campaigns to use submenus to break up options +# 70529-1653 - Added help for list mix +# 70530-1354 - Added human_answered field to statuses, added system status modification +# 70530-1714 - Added lists for all campaign subsections +# 70531-1631 - Development on List mix admin interface +# 70601-1629 - More development on List mix admin interface, formatting, and added some javascript +# 70602-1300 - More development on List mix admin interface, more javascript +# 70608-1459 - Added option to set LIVE Callbacks to INACTIVE after one month +# 70612-1451 - Added Callback INACTIVE link for after one week, sort by user/group/entrydate +# 70614-0231 - Added Status Categories, ability to Modify Statuses, moved system statuses to sub-section +# 70623-1008 - List Mix section now allows modification of list mix entries +# 70629-1721 - List Mix section adding and removing of list entries active +# 70706-1636 - List Mix section cleanup and more error-checking +# 70908-0941 - Added agc logile enable system_settings +# 71020-1934 - Added inbound groups options: on-hold music, messages, call_times +# 71022-1343 - Added inbound group ranks for users +# 71029-1710 - Added option for campaign to be inbound and/or blended with no restrictions on the campaign_id name +# - Added 5th NEW and 6th NEW to the dial order options +# 71030-2010 - Added Manual Dial List ID field to campaigns table +# 71103-2207 - Added inbound_group_rank and fewest_calls to the inbound groups call order options +# 71113-1521 - Added campaign_rank to agent options +# - Added ability to Copy a campaign's setting to a new campaign +# 71113-2225 - Added ability to copy user and in-group settings to new users and in-groups +# 71116-0942 - Added campaign_rank and fewest_calls as methods for agent call routing +# 71122-1135 - Added default transfer group for campaigns and inbound groups +# 71125-1751 - Added allowable transfer groups to campaign detail screen +# +# +# make sure you have added a user to the vicidial_users MySQL table with at least user_level 8 to access this page the first time + +$admin_version = '2.0.4-119'; +$build = '71125-1751'; + +$STARTtime = date("U"); +$SQLdate = date("Y-m-d H:i:s"); +$MT[0]=''; +$US='_'; + +$month_old = mktime(0, 0, 0, date("m")-1, date("d"), date("Y")); +$past_month_date = date("Y-m-d H:i:s",$month_old); +$week_old = mktime(0, 0, 0, date("m"), date("d")-7, date("Y")); +$past_week_date = date("Y-m-d H:i:s",$week_old); + +if ($force_logout) +{ + if( (strlen($PHP_AUTH_USER)>0) or (strlen($PHP_AUTH_PW)>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "Έχετε αποσυνδεθεί. Σας ευχαριστούμε\n"; + exit; +} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ($auth<1)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT * from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[3]; + $LOGuser_level =$row[4]; + $LOGuser_group =$row[5]; + $LOGdelete_users =$row[8]; + $LOGdelete_user_groups =$row[9]; + $LOGdelete_lists =$row[10]; + $LOGdelete_campaigns =$row[11]; + $LOGdelete_ingroups =$row[12]; + $LOGdelete_remote_agents =$row[13]; + $LOGload_leads =$row[14]; + $LOGcampaign_detail =$row[15]; + $LOGast_admin_access =$row[16]; + $LOGast_delete_phones =$row[17]; + $LOGdelete_scripts =$row[18]; + $LOGdelete_filters =$row[29]; + $LOGalter_agent_interface =$row[30]; + $LOGdelete_call_times =$row[32]; + $LOGmodify_call_times =$row[33]; + $LOGmodify_users =$row[34]; + $LOGmodify_campaigns =$row[35]; + $LOGmodify_lists =$row[36]; + $LOGmodify_scripts =$row[37]; + $LOGmodify_filters =$row[38]; + $LOGmodify_ingroups =$row[39]; + $LOGmodify_usergroups =$row[40]; + $LOGmodify_remoteagents =$row[41]; + $LOGmodify_servers =$row[42]; + $LOGview_reports =$row[43]; + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns =$row[0]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +###################################################################################################### +###################################################################################################### +####### Header settings +###################################################################################################### +###################################################################################################### + + +header ("Content-type: text/html; charset=utf-8"); +echo "\n"; +echo "\n"; +echo "\n"; +echo "ΔΙΑΧΕΙΡΙΣΗ: "; + +if (!isset($ADD)) {$ADD=0;} + +if ($ADD=="1") {$hh='users'; echo "Πρόσθεσε Νέο Χρήστη";} +if ($ADD=="1A") {$hh='users'; echo "Χρήστης αντιγράφων";} +if ($ADD==11) {$hh='campaigns'; $sh='basic'; echo "Πρόσθεσε Νέα Εκστρατεία";} +if ($ADD==12) {$hh='campaigns'; $sh='basic'; echo "Εκστρατεία αντιγράφων";} +if ($ADD==111) {$hh='lists'; echo "Πρόσθεσε Νέα Λίστα";} +if ($ADD==121) {$hh='lists'; echo "Προσθέστε νέο DNC";} +if ($ADD==1111) {$hh='ingroups'; echo "Πρόσθεσε Νέα Εισ-Ομάδα";} +if ($ADD==1211) {$hh='ingroups'; echo "$$$-ΟΜΑΔΑ αντιγράφων";} +if ($ADD==11111) {$hh='remoteagent'; echo "Πρόσθεσε Νέους Απομακρυσμένους Χειριστές";} +if ($ADD==111111) {$hh='usergroups'; echo "Πρόσθεσε Νέα Ομάδα Χρηστών";} +if ($ADD==1111111) {$hh='scripts'; echo "Πρόσθεσε Νέο Βοηθό";} +if ($ADD==11111111) {$hh='filters'; echo "Πρόσθεσε Φίλτρο";} +if ($ADD==111111111) {$hh='admin'; $sh='times'; echo "Πρόσθεσε Νέο Χρόνο Κλήσης";} +if ($ADD==1111111111) {$hh='admin'; $sh='times'; echo "Πρόσθεσε Νέο Χρόνο Κλήσης Κατάστασης";} +if ($ADD==11111111111) {$hh='admin'; $sh='phones'; echo "ΠΡΟΣΘΕΣΕ ΝΕΟ ΤΗΛΕΦΩΝΟ";} +if ($ADD==111111111111) {$hh='admin'; $sh='server'; echo "ΠΡΟΣΘΕΣΕ ΝΕΟ ΔΙΑΚΟΜΙΣΤΗ";} +if ($ADD==1111111111111) {$hh='admin'; $sh='conference'; echo "ΠΡΟΣΘΕΣΕ ΝΕΑ ΣΥΝΔΙΑΛΕΞΗ";} +if ($ADD==11111111111111) {$hh='admin'; $sh='conference'; echo "ADD NEW VICIDIAL CONFERENCE";} +if ($ADD=="2") {$hh='users'; echo "Προσθήκη Νέου Χρήστη";} +if ($ADD=="2A") {$hh='users'; echo "Νέα αντιγραμμένη προσθήκη χρηστών";} +if ($ADD==20) {$hh='campaigns'; $sh='basic'; echo "Νέα αντιγραμμένη προσθήκη εκστρατείας";} +if ($ADD==21) {$hh='campaigns'; $sh='basic'; echo "Προσθήκη Νέας Εκστρατείας";} +if ($ADD==22) {$hh='campaigns'; $sh='status'; echo "Προσθήκη Νέας Κατάστασης Εκστρατείας";} +if ($ADD==23) {$hh='campaigns'; $sh='hotkey'; echo "New Εκστρατεία HotKey Addition";} +if ($ADD==25) {$hh='campaigns'; $sh='recycle'; echo "Νέα προσθήκη οδηγού ανακύκλωσης εκστρατείας";} +if ($ADD==26) {$hh='campaigns'; $sh='autoalt'; echo "Νέα αυτόματη θέση πινάκων ALT";} +if ($ADD==27) {$hh='campaigns'; $sh='pause'; echo "Νέος κώδικας μικρής διακοπής πρακτόρων";} +if ($ADD==28) {$hh='campaigns'; $sh='dialstat'; echo "Θέση πινάκων εκστρατείας προστιθέμενη";} +if ($ADD==29) {$hh='campaigns'; $sh='listmix'; echo "Μίγμα καταλόγων εκστρατείας προστιθέμενο";} +if ($ADD==211) {$hh='lists'; echo "Προσθήκη Νέας Λίστας";} +if ($ADD==2111) {$hh='ingroups'; echo "Προσθήκη Νέας Εισ-Ομάδας";} +if ($ADD==2011) {$hh='ingroups'; echo "Νέα αντιγραμμένη προσθήκη-ΟΜΑΔΑΣ";} +if ($ADD==21111) {$hh='remoteagent'; echo "Προσθήκη Νέων Απομακρυσμένων Χειριστών";} +if ($ADD==211111) {$hh='usergroups'; echo "Προσθήκη Νέας Ομάδας Χρηστών";} +if ($ADD==2111111) {$hh='scripts'; echo "Νέα προσθήκη Βοηθού";} +if ($ADD==21111111) {$hh='filters'; echo "Προσθήκη Νέου Φίλτρου";} +if ($ADD==211111111) {$hh='admin'; $sh='times'; echo "Προσθήκη Νέου Χρόνου Κλήσης";} +if ($ADD==2111111111) {$hh='admin'; $sh='times'; echo "Προσθήκη Νέου Χρόνου Κλήσης Κατάστασης";} +if ($ADD==21111111111) {$hh='admin'; $sh='phones'; echo "ΠΡΟΣΘΗΚΗ ΝΕΟΥ ΤΗΛΕΦΩΝΟΥ";} +if ($ADD==211111111111) {$hh='admin'; $sh='server'; echo "ΠΡΟΣΘΗΚΗ ΝΕΟΥ ΔΙΑΚΟΜΙΣΤΗ";} +if ($ADD==221111111111) {$hh='admin'; $sh='server'; echo "ΠΡΟΣΘΕΤΕΙ ΝΕΑ ΕΓΓΡΑΦΗ ΕΞΥΠΗΡΕΤΗΤΗ ΚΟΡΜΟΥ";} +if ($ADD==2111111111111) {$hh='admin'; $sh='conference'; echo "ΠΡΟΣΘΗΚΗ ΝΕΑΣ ΣΥΝΔΙΑΛΕΞΗΣ";} +if ($ADD==21111111111111) {$hh='admin'; $sh='conference'; echo "ADDING NEW VICIDIAL CONFERENCE";} +if ($ADD==221111111111111) {$hh='admin'; $sh='status'; echo "ΠΡΟΣΘΗΚΗ ΤΩΝ ΘΈΣΕΩΝ ΣΥΣΤΗΜΑΤΩΝ VICIDIAL";} +if ($ADD==231111111111111) {$hh='admin'; $sh='status'; echo "ΠΡΟΣΘΗΚΗ ΤΗΣ ΚΑΤΗΓΟΡΊΑΣ ΘΈΣΗΣ VICIDIAL";} +if ($ADD==3) {$hh='users'; echo "Τροποποίηση Χρήστη";} +if ($ADD==30) {$hh='campaigns'; echo "Εκστρατεία δεν επιτρέπεται";} +if ($ADD==31) + { + $hh='campaigns'; $sh='detail'; echo "Τροποποίηση Εκστρατείας - Detail - $campaign_id"; + if ($SUB==22) {echo " - Statuses";} + if ($SUB==23) {echo " - HotKeys";} + if ($SUB==25) {echo " -Μόλυβδος ανακύκλωσηςEntries";} + if ($SUB==26) {echo " - Auto Alt Dial Statuses";} + if ($SUB==27) {echo " - Agent Pause Codes";} + if ($SUB==29) {echo " - List Mixes";} + } +if ($ADD==32) {$hh='campaigns'; $sh='status'; echo "Θέσεις εκστρατείας";} +if ($ADD==33) {$hh='campaigns'; $sh='hotkey'; echo "Εκστρατεία HotKeys";} +if ($ADD==34) {$hh='campaigns'; $sh='basic'; echo "Τροποποίηση Εκστρατείας - Βασική Επισκόπηση";} +if ($ADD==35) {$hh='campaigns'; $sh='recycle'; echo "Ανακύκλωσης καταχωρήσεις μολύβδου εκστρατείας";} +if ($ADD==36) {$hh='campaigns'; $sh='autoalt'; echo "Αυτόματες ALT θέσεις πινάκων εκστρατείας";} +if ($ADD==37) {$hh='campaigns'; $sh='pause'; echo "Κώδικες μικρής διακοπής πρακτόρων εκστρατείας";} +if ($ADD==38) {$hh='campaigns'; $sh='dialstat'; echo "Θέσεις πινάκων εκστρατείας";} +if ($ADD==39) {$hh='campaigns'; $sh='listmix'; echo "Μίγματα καταλόγων εκστρατείας";} +if ($ADD==311) {$hh='lists'; echo "Τροποποίηση Λίστας";} +if ($ADD==3111) {$hh='ingroups'; echo "Τροποποίηση Εισ-Ομάδων";} +if ($ADD==31111) {$hh='remoteagent'; echo "Τροποποίηση Απομακρυσμένων Χειριστών";} +if ($ADD==311111) {$hh='usergroups'; echo "Τροποποίηση Ομάδων Χρηστών";} +if ($ADD==3111111) {$hh='scripts'; echo "Τροποποιήστε τον Βοηθό";} +if ($ADD==31111111) {$hh='filters'; echo "Τροποποίηση Φίλτρου";} +if ($ADD==311111111) {$hh='admin'; $sh='times'; echo "Τροποποίηση Χρόνου Κλήσης";} +if ($ADD==321111111) {$hh='admin'; $sh='times'; echo "Τροποποίηση Λίστας Ορισμών Χρόνου Κλήσης Κατάστασης ";} +if ($ADD==3111111111) {$hh='admin'; $sh='times'; echo "Τροποπίηση Χρόνου Κλήσης Κατάστασης";} +if ($ADD==31111111111) {$hh='admin'; $sh='phones'; echo "ΤΡΟΠΟΠΟΙΗΣΕ ΤΗΛΕΦΩΝΟ";} +if ($ADD==311111111111) {$hh='admin'; $sh='server'; echo "ΤΡΟΠΟΠΟΙΗΣΕ ΔΙΑΚΟΜΙΣΤΗ";} +if ($ADD==3111111111111) {$hh='admin'; $sh='conference'; echo "ΤΡΟΠΟΠΟΙΗΣΕ ΣΥΝΔΙΑΛΕΞΗ";} +if ($ADD==31111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY VICIDIAL CONFERENCE";} +if ($ADD==311111111111111) {$hh='admin'; $sh='settings'; echo "ΤΡΟΠΟΠΟΙΗΣΤΕ ΤΙΣ ΤΟΠΟΘΕΤΉΣΕΙΣ ΣΥΣΤΗΜΑΤΩΝ VICIDIAL";} +if ($ADD==321111111111111) {$hh='admin'; $sh='status'; echo "ΤΡΟΠΟΠΟΙΗΣΤΕ ΤΙΣ ΘΈΣΕΙΣ ΣΥΣΤΗΜΑΤΩΝ VICIDIAL";} +if ($ADD==331111111111111) {$hh='admin'; $sh='status'; echo "ΤΡΟΠΟΠΟΙΗΣΤΕ ΤΗΝ ΚΑΤΗΓΟΡΊΑ ΘΈΣΗΣ VICIDIAL";} +if ($ADD=="4A") {$hh='users'; echo "Τροποποίηση Χρήστη - Admin";} +if ($ADD=="4B") {$hh='users'; echo "Τροποποίηση Χρήστη - Admin";} +if ($ADD==4) {$hh='users'; echo "Τροποποίηση Χρήστη";} +if ($ADD==41) {$hh='campaigns'; $sh='detail'; echo "Τροποποίηση Εκστρατείας";} +if ($ADD==42) {$hh='campaigns'; $sh='status'; echo "Τροποποίηση Εκστρατείας Status";} +if ($ADD==43) {$hh='campaigns'; $sh='hotkey'; echo "Τροποποίηση Εκστρατείας HotKey";} +if ($ADD==44) {$hh='campaigns'; $sh='basic'; echo "Τροποποίηση Εκστρατείας - Βασική Επισκόπηση";} +if ($ADD==45) {$hh='campaigns'; $sh='recycle'; echo "Τροποποιήστε τον οδηγό εκστρατείας ανακύκλωσης";} +if ($ADD==47) {$hh='campaigns'; $sh='pause'; echo "Τροποποιήστε τον κώδικα μικρής διακοπής πρακτόρων";} +if ($ADD==49) {$hh='campaigns'; $sh='listmix'; echo "Τροποποιήστε το μίγμα καταλόγων εκστρατείας";} +if ($ADD==411) {$hh='lists'; echo "Τροποποίηση Λίστας";} +if ($ADD==4111) {$hh='ingroups'; echo "Τροποποίηση Εισ-Ομάδων";} +if ($ADD==41111) {$hh='remoteagent'; echo "Τροποποίηση Απομακρυσμένων Χειριστών";} +if ($ADD==411111) {$hh='usergroups'; echo "Τροποποίηση Ομάδων Χρηστών";} +if ($ADD==4111111) {$hh='scripts'; echo "Τροποποιήστε τον Βοηθό";} +if ($ADD==41111111) {$hh='filters'; echo "Τροποποίηση Φίλτρου";} +if ($ADD==411111111) {$hh='admin'; $sh='times'; echo "Τροποποίηση Χρόνου Κλήσης";} +if ($ADD==4111111111) {$hh='admin'; $sh='times'; echo "Τροποπίηση Χρόνου Κλήσης Κατάστασης";} +if ($ADD==41111111111) {$hh='admin'; $sh='phones'; echo "ΤΡΟΠΟΠΟΙΗΣΕ ΤΗΛΕΦΩΝΟ";} +if ($ADD==411111111111) {$hh='admin'; $sh='server'; echo "ΤΡΟΠΟΠΟΙΗΣΕ ΔΙΑΚΟΜΙΣΤΗ";} +if ($ADD==421111111111) {$hh='admin'; $sh='server'; echo "ΤΡΟΠΟΠΟΙΗΣΗ ΕΓΓΡΑΦΗΣ ΕΞΥΠΗΡΕΤΗΤΗ ΚΟΡΜΟΥ";} +if ($ADD==4111111111111) {$hh='admin'; $sh='conference'; echo "ΤΡΟΠΟΠΟΙΗΣΕ ΣΥΝΔΙΑΛΕΞΗ";} +if ($ADD==41111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY VICIDIAL CONFERENCE";} +if ($ADD==411111111111111) {$hh='admin'; $sh='settings'; echo "ΤΡΟΠΟΠΟΙΗΣΤΕ ΤΙΣ ΤΟΠΟΘΕΤΉΣΕΙΣ ΣΥΣΤΗΜΑΤΩΝ VICIDIAL";} +if ($ADD==421111111111111) {$hh='admin'; $sh='status'; echo "ΤΡΟΠΟΠΟΙΗΣΤΕ ΤΙΣ ΘΈΣΕΙΣ ΣΥΣΤΗΜΑΤΩΝ VICIDIAL";} +if ($ADD==431111111111111) {$hh='admin'; $sh='status'; echo "ΤΡΟΠΟΠΟΙΗΣΤΕ ΤΙΣ ΚΑΤΗΓΟΡΊΕΣ ΘΈΣΗΣ VICIDIAL";} +if ($ADD==5) {$hh='users'; echo "Delete User";} +if ($ADD==51) {$hh='campaigns'; $sh='detail'; echo "Delete Εκστρατεία";} +if ($ADD==52) {$hh='campaigns'; $sh='detail'; echo "Αποσυνδεμένοι Χειριστές";} +if ($ADD==53) {$hh='campaigns'; $sh='detail'; echo "έκτακτης ανάγκης καθαρισμού VDAC";} +if ($ADD==511) {$hh='lists'; echo "Delete List";} +if ($ADD==5111) {$hh='ingroups'; echo "Delete In-Group";} +if ($ADD==51111) {$hh='remoteagent'; echo "Διάγραψε τους Απομακρυσμένους Χειριστές";} +if ($ADD==511111) {$hh='usergroups'; echo "Διάγραψε τους χρήστες Group";} +if ($ADD==5111111) {$hh='scripts'; echo "Διάγραψε τον Βοηθό";} +if ($ADD==51111111) {$hh='filters'; echo "Διαγραφή Φίλτρου";} +if ($ADD==511111111) {$hh='admin'; $sh='times'; echo "Διαγραφή Χρόνου Κλήσης";} +if ($ADD==5111111111) {$hh='admin'; $sh='times'; echo "Διαγραφή Χρόνου Κλήσης Κατάστασης";} +if ($ADD==51111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} +if ($ADD==511111111111) {$hh='admin'; $sh='server'; echo "DELETE SERVER";} +if ($ADD==5111111111111) {$hh='admin'; $sh='conference'; echo "DELETE CONFERENCE";} +if ($ADD==51111111111111) {$hh='admin'; $sh='conference'; echo "DELETE VICIDIAL CONFERENCE";} +if ($ADD==6) {$hh='users'; echo "Delete User";} +if ($ADD==61) {$hh='campaigns'; $sh='detail'; echo "Delete Εκστρατεία";} +if ($ADD==62) {$hh='campaigns'; $sh='detail'; echo "Αποσυνδεμένοι Χειριστές";} +if ($ADD==63) {$hh='campaigns'; $sh='detail'; echo "έκτακτης ανάγκης καθαρισμού VDAC";} +if ($ADD==65) {$hh='campaigns'; $sh='recycle'; echo "Διαγράψτε τον οδηγό ανακύκλωσης";} +if ($ADD==66) {$hh='campaigns'; $sh='autoalt'; echo "Διαγράψτε την αυτόματη θέση πινάκων ALT";} +if ($ADD==67) {$hh='campaigns'; $sh='pause'; echo "Διαγράψτε τον κώδικα μικρής διακοπής πρακτόρων";} +if ($ADD==68) {$hh='campaigns'; $sh='dialstat'; echo "Θέση πινάκων εκστρατείας αφαιρούμενη";} +if ($ADD==69) {$hh='campaigns'; $sh='listmix'; echo "Μίγμα καταλόγων εκστρατείας αφαιρούμενο";} +if ($ADD==611) {$hh='lists'; echo "Delete List";} +if ($ADD==6111) {$hh='ingroups'; echo "Delete In-Group";} +if ($ADD==61111) {$hh='remoteagent'; echo "Διάγραψε τους Απομακρυσμένους Χειριστές";} +if ($ADD==611111) {$hh='usergroups'; echo "Διάγραψε τους χρήστες Group";} +if ($ADD==6111111) {$hh='scripts'; echo "Διάγραψε τον Βοηθό";} +if ($ADD==61111111) {$hh='filters'; echo "Διαγραφή Φίλτρου";} +if ($ADD==611111111) {$hh='admin'; $sh='times'; echo "Διαγραφή Χρόνου Κλήσης";} +if ($ADD==6111111111) {$hh='admin'; $sh='times'; echo "Διαγραφή Χρόνου Κλήσης Κατάστασης";} +if ($ADD==61111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} +if ($ADD==611111111111) {$hh='admin'; $sh='server'; echo "DELETE SERVER";} +if ($ADD==621111111111) {$hh='admin'; $sh='server'; echo "ΔΙΑΓΡΑΦΗ ΕΓΓΡΑΦΗΣ ΕΞΥΠΗΡΕΤΗΤΗ ΚΟΡΜΟΥ";} +if ($ADD==6111111111111) {$hh='admin'; $sh='conference'; echo "DELETE CONFERENCE";} +if ($ADD==61111111111111) {$hh='admin'; $sh='conference'; echo "DELETE VICIDIAL CONFERENCE";} +if ($ADD==73) {$hh='campaigns'; echo "Μετρητής Κληθέντων Οδηγών";} +if ($ADD==7111111) {$hh='scripts'; echo "Προεπισκόπιση Βοηθού";} +if ($ADD==0) {$hh='users'; echo "Λίστα Χρηστών";} +if ($ADD==8) {$hh='users'; echo "Επανακλήσεις μέσα στον χειριστή";} +if ($ADD==81) {$hh='campaigns'; $sh='list'; echo "Επανακλήσεις μέσα στην εκστρατεία";} +if ($ADD==811) {$hh='lists'; echo "Επανακλήσεις μέσα στην λίστα";} +if ($ADD==8111) {$hh='usergroups'; echo "CallBacks μέσα στην ομάδα χρηστών ";} +if ($ADD==10) {$hh='campaigns'; $sh='list'; echo "Εκστρατείες";} +if ($ADD==100) {$hh='lists'; echo "Λίστες";} +if ($ADD==1000) {$hh='ingroups'; echo "Εισ-Ομάδες";} +if ($ADD==10000) {$hh='remoteagent'; echo "Απομακρυσμένοι Χειριστές";} +if ($ADD==100000) {$hh='usergroups'; echo "Ομάδες Χρήστη";} +if ($ADD==1000000) {$hh='scripts'; echo "Βοηθοί";} +if ($ADD==10000000) {$hh='filters'; echo "Φίλτρα";} +if ($ADD==100000000) {$hh='admin'; $sh='times'; echo "Χρόνοι Κλήσεων";} +if ($ADD==1000000000) {$hh='admin'; $sh='times'; echo "";} +if ($ADD==10000000000) {$hh='admin'; $sh='phones'; echo "ΛΙΣΤΑ ΤΗΛΕΦΩΝΟΥ";} +if ($ADD==100000000000) {$hh='admin'; $sh='server'; echo "ΛΙΣΤΑ ΔΙΑΚΟΜΙΣΤΗ";} +if ($ADD==1000000000000) {$hh='admin'; $sh='conference'; echo "ΛΙΣΤΑ ΣΥΝΔΙΑΛΕΞΕΩΝ";} +if ($ADD==10000000000000) {$hh='admin'; $sh='conference'; echo "VICIDIAL ΛΙΣΤΑ ΣΥΝΔΙΑΛΕΞΕΩΝ";} +if ($ADD==550) {$hh='users'; echo "Φόρμα Αναζήτησης";} +if ($ADD==551) {$hh='users'; echo "ΑΝΑΖΗΤΗΣΗ ΤΗΛΕΦΩΝΩΝ";} +if ($ADD==660) {$hh='users'; echo "Αποτελέσματα Αναζήτησης";} +if ($ADD==661) {$hh='users'; echo "ΑΝΑΖΗΤΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΤΗΛΕΦΩΝΩΝ";} +if ($ADD==99999) {$hh='users'; echo "ΒΟΗΘΕΙΑ";} +if ($ADD==999999) {$hh='reports'; echo "ΑΝΑΦΟΡΕΣ";} + +if ( ($ADD>9) && ($ADD < 99998) ) + { + ##### get scripts listing for dynamic pulldown + $stmt="SELECT script_id,script_name from vicidial_scripts order by script_id"; + $rslt=mysql_query($stmt, $link); + $scripts_to_print = mysql_num_rows($rslt); + $scripts_list="<option value=\"\">NONE</option>\n"; + + $o=0; + while ($scripts_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $scripts_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $scriptname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + ##### get filters listing for dynamic pulldown + $stmt="SELECT lead_filter_id,lead_filter_name,lead_filter_sql from vicidial_lead_filters order by lead_filter_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + $filters_list="<option value=\"\">NONE</option>\n"; + + $o=0; + while ($filters_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $filters_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $filtername_list["$rowx[0]"] = "$rowx[1]"; + $filtersql_list["$rowx[0]"] = "$rowx[2]"; + $o++; + } + + ##### get call_times listing for dynamic pulldown + $stmt="SELECT call_time_id,call_time_name from vicidial_call_times order by call_time_id"; + $rslt=mysql_query($stmt, $link); + $times_to_print = mysql_num_rows($rslt); + + $o=0; + while ($times_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $call_times_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $call_timename_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + } + +if ( ( (strlen($ADD)>4) && ($ADD < 99998) ) or ($ADD==3) or (($ADD>20) and ($ADD<70)) or ($ADD=="4A") or ($ADD=="4B") or (strlen($ADD)==12) ) + { + ##### get server listing for dynamic pulldown + $stmt="SELECT server_ip,server_description from servers order by server_ip"; + $rslt=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rslt); + $servers_list=''; + + $o=0; + while ($servers_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $servers_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + ##### BEGIN get campaigns listing for rankings ##### + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + $campaigns_value=''; + $RANKcampaigns_list="<tr><td>CAMPAIGN</td><td>     RANK</td><td>     CALLS</td></tr>\n"; + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $campaign_id_values[$o] = $rowx[0]; + $campaign_name_values[$o] = $rowx[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + $stmt="SELECT campaign_rank,calls_today from vicidial_campaign_agents where user='$user' and campaign_id='$campaign_id_values[$o]'"; + $rslt=mysql_query($stmt, $link); + $ranks_to_print = mysql_num_rows($rslt); + if ($ranks_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $SELECT_campaign_rank = $row[0]; + $calls_today = $row[1]; + } + else + {$calls_today=0; $SELECT_campaign_rank=0;} + if ( ($ADD=="4A") or ($ADD=="4B") ) + { + if (isset($_GET["RANK_$campaign_id_values[$o]"])) {$campaign_rank=$_GET["RANK_$campaign_id_values[$o]"];} + elseif (isset($_POST["RANK_$campaign_id_values[$o]"])) {$campaign_rank=$_POST["RANK_$campaign_id_values[$o]"];} + + if ($ranks_to_print > 0) + { + $stmt="UPDATE vicidial_campaign_agents set campaign_rank='$campaign_rank', campaign_weight='$campaign_rank' where campaign_id='$campaign_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO vicidial_campaign_agents set campaign_rank='$campaign_rank', campaign_weight='$campaign_rank', campaign_id='$campaign_id_values[$o]', user='$user';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_live_agents set campaign_weight='$campaign_rank' where campaign_id='$campaign_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else {$campaign_rank = $SELECT_campaign_rank;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + # disable non user-group allowable campaign ranks + $stmt="SELECT user_group from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Ruser_group = $row[0]; + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$Ruser_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_campaigns = $row[0]; + $allowed_campaigns = preg_replace("/ -$/","",$allowed_campaigns); + $UGcampaigns = explode(" ", $allowed_campaigns); + + $p=0; $RANK_camp_active=0; $CR_disabled = ''; + if (eregi('-ALL-CAMPAIGNS-',$allowed_campaigns)) + {$RANK_camp_active++;} + else + { + $UGcampaign_ct = count($UGcampaigns); + while ($p < $UGcampaign_ct) + { + if ($campaign_id_values[$o] == $UGcampaigns[$p]) + {$RANK_camp_active++;} + $p++; + } + } + if ($RANK_camp_active < 1) {$CR_disabled = 'DISABLED';} + + $RANKcampaigns_list .= "<tr $bgcolor><td>"; + $campaigns_list .= "<a href=\"$PHP_SELF?ADD=31&campaign_id=$campaign_id_values[$o]\">$campaign_id_values[$o]</a> - $campaign_name_values[$o] <BR>\n"; + $RANKcampaigns_list .= "<a href=\"$PHP_SELF?ADD=31&campaign_id=$campaign_id_values[$o]\">$campaign_id_values[$o]</a> - $campaign_name_values[$o] </td>"; + $RANKcampaigns_list .= "<td>     <select size=1 name=RANK_$campaign_id_values[$o] $CR_disabled>\n"; + $h="9"; + while ($h>=-9) + { + $RANKcampaigns_list .= "<option value=\"$h\""; + if ($h==$campaign_rank) + {$RANKcampaigns_list .= " SELECTED";} + $RANKcampaigns_list .= ">$h</option>"; + $h--; + } + $RANKcampaigns_list .= "</select></td>\n"; + $RANKcampaigns_list .= "<td align=right>     $calls_today</td></tr>\n"; + $o++; + } + ##### END get campaigns listing for rankings ##### + + + ##### BEGIN get inbound groups listing for checkboxes ##### + $xfer_groupsSQL=''; + if ( (($ADD>20) and ($ADD<70)) and ($ADD!=41) ) + { + $stmt="SELECT closer_campaigns,xfer_groups from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + $xfer_groups = $row[1]; + $xfer_groups = preg_replace("/ -$/","",$xfer_groups); + $XFERgroups = explode(" ", $xfer_groups); + $xfer_groupsSQL = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groupsSQL = preg_replace("/ /","','",$xfer_groupsSQL); + $xfer_groupsSQL = "WHERE group_id IN('$xfer_groupsSQL')"; + } + if ($ADD==41) + { + $p=0; + $XFERgroup_ct = count($XFERgroups); + while ($p < $XFERgroup_ct) + { + $xfer_groups .= " $XFERgroups[$p]"; + $p++; + } + $xfer_groupsSQL = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groupsSQL = preg_replace("/ /","','",$xfer_groupsSQL); + $xfer_groupsSQL = "WHERE group_id IN('$xfer_groupsSQL')"; + } + + if ( (($ADD==31111) or ($ADD==31111)) and (count($groups)<1) ) + { + $stmt="SELECT closer_campaigns from vicidial_remote_agents where remote_agent_id='$remote_agent_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + } + + if ($ADD==3) + { + $stmt="SELECT closer_campaigns from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $groups_list=''; + $groups_value=''; + $XFERgroups_list=''; + $RANKgroups_list="<tr><td>INBOUND GROUP</td><td>     RANK</td><td>     CALLS</td></tr>\n"; + + $o=0; + while ($groups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $group_id_values[$o] = $rowx[0]; + $group_name_values[$o] = $rowx[1]; + $o++; + } + + $o=0; + while ($groups_to_print > $o) + { + $stmt="SELECT group_rank,calls_today from vicidial_inbound_group_agents where user='$user' and group_id='$group_id_values[$o]'"; + $rslt=mysql_query($stmt, $link); + $ranks_to_print = mysql_num_rows($rslt); + if ($ranks_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $SELECT_group_rank = $row[0]; + $calls_today = $row[1]; + } + else + {$calls_today=0; $SELECT_group_rank=0;} + if ( ($ADD=="4A") or ($ADD=="4B") ) + { + if (isset($_GET["RANK_$group_id_values[$o]"])) {$group_rank=$_GET["RANK_$group_id_values[$o]"];} + elseif (isset($_POST["RANK_$group_id_values[$o]"])) {$group_rank=$_POST["RANK_$group_id_values[$o]"];} + + if ($ranks_to_print > 0) + { + $stmt="UPDATE vicidial_inbound_group_agents set group_rank='$group_rank', group_weight='$group_rank' where group_id='$group_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO vicidial_inbound_group_agents set group_rank='$group_rank', group_weight='$group_rank', group_id='$group_id_values[$o]', user='$user';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_live_inbound_agents set group_weight='$group_rank' where group_id='$group_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else {$group_rank = $SELECT_group_rank;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $groups_list .= "<input type=\"checkbox\" name=\"groups[]\" value=\"$group_id_values[$o]\""; + $XFERgroups_list .= "<input type=\"checkbox\" name=\"XFERgroups[]\" value=\"$group_id_values[$o]\""; + $RANKgroups_list .= "<tr $bgcolor><td><input type=\"checkbox\" name=\"groups[]\" value=\"$group_id_values[$o]\""; + $p=0; + $group_ct = count($groups); + while ($p < $group_ct) + { + if ($group_id_values[$o] == $groups[$p]) + { + $groups_list .= " CHECKED"; + $RANKgroups_list .= " CHECKED"; + $groups_value .= " $group_id_values[$o]"; + } + $p++; + } + $p=0; + $XFERgroup_ct = count($XFERgroups); + while ($p < $XFERgroup_ct) + { + if ($group_id_values[$o] == $XFERgroups[$p]) + { + $XFERgroups_list .= " CHECKED"; + $XFERgroups_value .= " $group_id_values[$o]"; + } + $p++; + } + $groups_list .= "> <a href=\"$PHP_SELF?ADD=3111&group_id=$group_id_values[$o]\">$group_id_values[$o]</a> - $group_name_values[$o] <BR>\n"; + $XFERgroups_list .= "> <a href=\"$PHP_SELF?ADD=3111&group_id=$group_id_values[$o]\">$group_id_values[$o]</a> - $group_name_values[$o] <BR>\n"; + $RANKgroups_list .= "> <a href=\"$PHP_SELF?ADD=3111&group_id=$group_id_values[$o]\">$group_id_values[$o]</a> - $group_name_values[$o] </td>"; + $RANKgroups_list .= "<td>     <select size=1 name=RANK_$group_id_values[$o]>\n"; + $h="9"; + while ($h>=-9) + { + $RANKgroups_list .= "<option value=\"$h\""; + if ($h==$group_rank) + {$RANKgroups_list .= " SELECTED";} + $RANKgroups_list .= ">$h</option>"; + $h--; + } + $RANKgroups_list .= "</select></td>\n"; + $RANKgroups_list .= "<td align=right>     $calls_today</td></tr>\n"; + $o++; + } + if (strlen($groups_value)>2) {$groups_value .= " -";} + if (strlen($XFERgroups_value)>2) {$XFERgroups_value .= " -";} + } + ##### END get inbound groups listing for checkboxes ##### + + + ##### BEGIN get campaigns listing for checkboxes ##### + if ( ($ADD==211111) or ($ADD==311111) or ($ADD==411111) or ($ADD==511111) or ($ADD==611111) ) + { + if ( ($ADD==211111) or ($ADD==311111) or ($ADD==511111) or ($ADD==611111) ) + { + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_campaigns = $row[0]; + $allowed_campaigns = preg_replace("/ -$/","",$allowed_campaigns); + $campaigns = explode(" ", $allowed_campaigns); + } + + $campaigns_value=''; + $campaigns_list='<B><input type="checkbox" name="campaigns[]" value="-ALL-CAMPAIGNS-"'; + $p=0; + while ($p<100) + { + if (eregi('ALL-CAMPAIGNS',$campaigns[$p])) + { + $campaigns_list.=" CHECKED"; + $campaigns_value .= " -ALL-CAMPAIGNS- -"; + } + $p++; + } + $campaigns_list.="> ALL-CAMPAIGNS - ΟΙ ΧΡΗΣΤΕΣ ΜΠΟΡΟΥΝ ΝΑ ΔΟΥΝ ΟΠΟΙΑΔΗΠΟΤΕ ΕΚΣΤΡΑΤΕΙΑ</B><BR>\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaign_id_value = $rowx[0]; + $campaign_name_value = $rowx[1]; + $campaigns_list .= "<input type=\"checkbox\" name=\"campaigns[]\" value=\"$campaign_id_value\""; + $p=0; + while ($p<100) + { + if ($campaign_id_value == $campaigns[$p]) + { + # echo "<!-- X $p|$campaign_id_value|$campaigns[$p]| -->"; + $campaigns_list .= " CHECKED"; + $campaigns_value .= " $campaign_id_value"; + } + # echo "<!-- O $p|$campaign_id_value|$campaigns[$p]| -->"; + $p++; + } + $campaigns_list .= "> $campaign_id_value - $campaign_name_value<BR>\n"; + $o++; + } + if (strlen($campaigns_value)>2) {$campaigns_value .= " -";} + } + ##### END get campaigns listing for checkboxes ##### + + + if ( (strlen($ADD)==11) or (strlen($ADD)>12) ) + { + ##### get server listing for dynamic pulldown + $stmt="SELECT server_ip,server_description from servers order by server_ip"; + $rsltx=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rsltx); + $servers_list=''; + + $o=0; + while ($servers_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $servers_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + } + + + +$NWB = "   <a href=\"javascript:openNewWindow('$PHP_SELF?ADD=99999"; +$NWE = "')\"><IMG SRC=\"help.gif\" WIDTH=20 HEIGHT=20 Border=0 ALT=\"ΒΟΗΘΕΙΑ\" ALIGN=TOP></A>"; + + +###################################################################################################### +###################################################################################################### +####### 9 series, HELP screen +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=99999 display the HELP SCREENS +###################### + +if ($ADD==99999) +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "
\n"; +echo "
ΔΙΑΧΕΙΡΙΣΗ: ΒΟΗΘΕΙΑ


\n"; + +?> +VICIDIAL_ΧΡΗΣΤΕΣ ΠΙΝΑΚΑΣ

+ +
+ID Χρήστη - Σε αυτό το πεδίο τοποθετείται ο αριθμός ID του χρήστη, μπορεί να είναι μεταξύ 2 και 8 ψηφία. + +
+
+
+Κωδικός - Σε αυτό το πεδίο τοποθετείται ο κωδικός του χρήστη στο VICIDIAL. Πρέπει να είναι τουλάχιστον 2 χαρακτήρες. + +
+
+
+Πλήρες Ονομα - Αυτό το πεδίο είναι που μπορείτε να ορίσετε το πλήρες όνομα των χρηστών VICIDIAL. Πρέπει να είναι τουλάχιστον 2 χαρακτήρες. + +
+
+
+Επίπεδο Χρήστη - Αυτός ο κατάλογος επιλογών είναι που μπορείτε να επιλέξετε το επίπεδο χρήστη των VICIDIAL χρηστών. Πρέπει να έχει επίπεδο 1 για να συνδεθεί στο σύστημα. Πρέπει να έχει επίπεδο μεγαλύτερο από 2 για να συνδεθεί ως closer. Πρέπει να έχει επίπεδο 8 ή μεγαλύερο για ενέργειες διαχειριστή. + +
+
+
+Ομάδα Χρήστη - Αυτός ο κατάλογος επιλογών είναι που μπορείτε να επιλέξετε την ομάδα χρηστών που ανήκει ο χρήστης. + +
+
+
+Σύνδεση Τηλεφώνου - εδώ μπορείτε να θέσετε μία προκαθορισμένη σύνδεση τηλεφώνου κατά την είσοδο του χειριστή στο vicidial.php. + +
+
+
+Κωδικός Τηλεφώνου - εδώ μπορείτε να θέσετε ένα προκαθορισμένο κωδικό τηλεφώνου κατά την είσοδο του χειριστή στο vicidial.php. + +
+
+
+Hot Keys ενεργός - εάν θέσετε σε 1 αυτή την επιλογή, επιτρέπει στο χρήστη να χρησιμοποιήσει τα πλήκτρα γρήγορου τερματισμού vicidial.php. + +
+
+
+Ο πράκτορας επιλέγει Ingroups - εάν θέσετε σε 1 αυτή την επιλογή επιτρέπει στο χρήστη να επιλέξει τις εισ-ομάδες που θα λάβουν τις κλήσεις. Διαφορετικά ο Manager θα πρέπει να το θέσει αυτό στην σελίδα διαχείρισης. + +
+
+
+Προγραμματισμένες Επανακλήσεις - Αυτή η επιλογή επιτρέπει στον χειριστή να τερματίσει μία κλήση ως CALLBK και να επιλέξει τα δεδομένα και την ώρα κατά την οποία ο οδηγός θα ξανα-ενεργοποιηθεί. + +
+
+
+Μόνο του Χρήστη Επανακλήσεις- Αυτή η επιλογή επιτρέπει στον χρήστη να θέσει μία επανάκληση με τέτοιο τρόπο, ώστε μόνο αυτός να μπορεί να καλέσει τον πελάτη. Επίσης, επιτρέπει στον χρήστη να δει τις λίστες των επανακλήσεων και να τις καλέσει οποιαδήποτε στιγμή. + +
+
+
+Χειροκίνητη Κλήση Χρήστη - Αυτή η επιλογή επιτρέπει στον χειριστή να καταχωρήσει χειροκίνητα ένα νέο οδηγό στο σύστημα και να τον καλέσε. + +
+
+
+Ηχογράφηση - Αυτή η επιλογή μπορεί να απαγορεύσει σε έναν χειριστή να κάνει ηχογραφήσεις και θα πρέπει να ακολουθεί την διαδικασία ηχογράφησης της εκστρατείας. + +
+
+
+Μεταφορές- Αυτή η επιλογή μπορεί να απαγορεύσει σε έναν χειριστή να ανοίξει την διαδικασία μεταφορά-συνδιάσκεψη. Αν είναι απενεργοποιημένη, ο χρήστης δεν μπορεί να μεαφέρει κλήσεις ή να κάνει κλήση σε τρίτο. + +
+
+
+Πιό στενή προεπιλογή που συνδυάζεται - αυτή η επιλογή προκαθορίζει απλά το συνδυασμένο τετραγωνίδιο σε μια ΠΙΟ ΣΤΕΝΉ οθόνη σύνδεσης. + +
+
+
+VICIDIAL συμπληρωματική προμήθεια καταγραφής - αυτή η επιλογήθα αγνοήσει οποιο δήποτε η επιλογή είναι στην εκστρατεία για τηνκαταγραφή. Τα ΑΤΟΜΑ ΜΕ ΕΙΔΙΚΈΣ ΑΝΑΓΚΕΣ δεν θα αγνοήσουν τηρύθμιση καταγραφής εκστρατείας. Δεν θα θέσει εκτός λειτουργίαςΠΟΤΕ την καταγραφή στον πελάτη. ONDEMAND είναι η προεπιλογήκαι επιτρέπει στον πράκτορα για να αρχίσει και να σταματήσει όπωςαπαιτείται. ALLCALLS θα αρχίσει την καταγραφή στον πελάτηόποτε μια κλήση στέλνεται σε έναν πράκτορα. ALLFORCE θααρχίσει την καταγραφή στον πελάτη όποτε μια κλήση στέλνεται σεέναν πράκτορα που δεν δίνει στον πράκτορα καμία επιλογή νασταματήσει. Για ALLCALLS και ALLFORCE υπάρχει μια επιλογή ναχρησιμοποιηθεί η καθυστέρηση καταγραφής για να περικόψει στιςπολύ σύντομα καταγραφές και recude το φορτίο συστημάτων. + +
+
+
+Τάξεις εκστρατείας - σε αυτό το τμήμα μπορείτε να καθορίσετε τηντάξη που ένας πράκτορας θα έχει για κάθε εκστρατεία. Αυτές οιτάξεις μπορούν να χρησιμοποιηθούν για να επιτρέψουν τηνπροτιμημένη κλήση καθοδηγώντας όταν τίθεται η επόμενη κλήσηπρακτόρων campaign_rank. + +
+
+
+Εισερχόμενες Ομάδες - Εδώ μπορείτε να επιλέξετε τις εισερχόμενες ομάδες που θέλετε να λαμβάνουν τις κλήσεις , εάν έχετε επιλέξει την εκστρατεία CLOSER. Θα είστε σε θέση επίσης να θέσετε την τάξη, ή το επίπεδοικανότητας, σε αυτό το τμήμα κάθε μιας από τις εισερχόμενεςομάδες καθώς επίσης και όντας σε θέση να δείτε τοναριθμό κλήσεων που παραλαμβάνονται από κάθε εισερχόμενη ομάδαγια αυτόν τον συγκεκριμένο πράκτορα. Επίσης σε αυτό το τμήμα είναι η δυνατότητα να δοθεί στονπράκτορα μια τάξη για κάθε εισερχόμενη ομάδα. Αυτές οι τάξειςμπορούν να χρησιμοποιηθούν για την προτιμημένη κλήση καθοδηγώνταςόταν επιλέγεται εκείνη η επιλογή στην οθόνη-ΟΜΑΔΑΣ. + +
+
+
+Ο πράκτορας αλλάζει τη συμπληρωματική προμήθεια στοιχείωνπελατών - αυτή η επιλογή θα αγνοήσει οποιος δήποτε η επιλογήείναι στην εκστρατεία για την αλλαγή των στοιχείων πελατών.NOT_ACTIVE θα χρησιμοποιήσει οποιου δήποτε που θέτει είναιπαρών για την εκστρατεία. ALLOW_ALTER θα επιτρέψει πάντα τονπράκτορα να αλλάξει τα στοιχεία πελατών, η των οποίων ρύθμισηεκστρατείας είναι. Η προεπιλογή είναι NOT_ACTIVE. + +
+
+
+Αλλάξτε τις επιλογές διεπαφών Χειριστών - εάν θέσετε σε 1 αυτή την επιλογή, επιτρέπει στο διαχειριστή να τροποποιήσει τις επιλογές διεπαφών χειριστών στην admin.php. + +
+
+
+Διαγραφή Χρηστών - εάν θέσετε σε 1 αυτή την επιλογή, επιτρέπει στο χρήστη να διαγράψει άλλους χρήστες ίσου ή μικρότερου επιπέδου από το σύστημα. + +
+
+
+Διαγραφή Ομάδων Χρηστών - εάν θέσετε σε 1 αυτή την επιλογή, επιτρέπει στο χρήστη να διαγράψει τις ομάδες χρηστών από το σύστημα. + +
+
+
+Διαγραφή Λιστών - εάν θέσετε σε 1 αυτή την επιλογή, επιτρέπει στο χρήστη να διαγράψει τις λίστες από το σύστημα. + +
+
+
+Διαγραφή Εκστρατειών - εάν θέσετε σε 1 αυτή την επιλογή, επιτρέπει στο χρήστη να διαγράψει τις εκστρατείες από το σύστημα. + +
+
+
+Διαγραφή Εισ-Ομάδων - εάν θέσετε σε 1 αυτή την επιλογή, επιτρέπει στο χρήστη να διαγράψει τις Εισ-Ομάδες από το σύστημα. + +
+
+
+Διαγράψτε τους Απομακρυσμένους Χειριστές - εάν θέσετε σε 1 αυτή την επιλογή, επιτρέπει στο χρήστη να διαγράψει τους απομακρυσμένους χειριστές από το σύστημα. + +
+
+
+Εισαγωγή Οδηγών - εάν θέσετε σε 1 αυτή την επιλογή, επιτρέπει στο χρήστη να εισάγει τους οδηγούς στον πίνακα vicidial_list μέσω του βασισμένου σε Ιστοσελίδα Εισαγωγέα οδηγών. + +
+
+
+Λεπτομέρειες Εκστρατείας - εάν θέσετε σε 1 αυτή την επιλογή, επιτρέπει στο χρήστη να δει και να τροποποιήσει τα λεπτομερή στοιχεία της εκστρατείας. + +
+
+
+AGC Πρόσβαση Διαχειριστή - εάν θέσετε σε 1 αυτή την επιλογή, επιτρέπει στο χρήστη να συνδεθεί στις σελίδες του astGUIclient ως διαχειριστής. + +
+
+
+AGC διαγραφή τηλεφώνων - εάν θέσετε σε 1 αυτή την επιλογή, επιτρέπει στο χρήστη να διαγράψει τα τηλέφωνα στις σελίδες του διαχειριστή του astGUIclient. + +
+
+
+Διαγραφή Βοηθού - εάν θέσετε σε 1 αυτή την επιλογή, επιτρέπει στο χρήστη να διαγράψει τους οδηγούς της εκστρατείας . + +
+
+
+Τροποποιήστε τους οδηγούς - αυτή η επιλογή εάν τη θέσετε σε 1, επιτρέπει στο χρήστη να τροποποιήσει τους οδηγούς στη σελίδα αποτελεσμάτων αναζήτησης οδηγών. + +
+
+
+Αλλαγή Εκστρατείας Χειριστού - εάν θέσετε σε 1 αυτή την επιλογή, επιτρέπει στο χρήστη να αλλάξει την εκτρατεία όπου ένας πράκτορας έχει συνδεθεί . + +
+
+
+Διαγραφή Φίλτρων - Αυτή η επιλογή επιτρέπει στον χειριστή να διαγράφει φίλτρα από το σύστημα. + +
+
+
+Διαγραφή Χρόνων Κλήσεων - Αυτή η επιλογή επιτρέπει στον χρήστη να διαγράφει εγγραφές χρόνων κλήσεων και καταστάσεων από το σύστημα. + +
+
+
+Τροποποίηση Χρόνων Κλήσεων - Αυτή η επιλογή επιτρέπει στον χρήστη εμφανίσει και να τροποποιήσει τους χρόνους κλήσεων και τις εγγραφές χρόνων κλήσεων κατάστασης. Δεν χρειάζεται να είναι ενεργή αυτή η επιλογή εάν μόνο χρειάζεται η αλλαγή της επιλογής των χρόνων κλήσεων στην οθόνη των εκστρατειών. + +
+
+
+Τροποποιήστε τα τμήματα - αυτές οι επιλογές επιτρέπουν στοχρήστη για να δουν και να τροποποιήσουν κάθε ένας αρχείατμημάτων. Εάν θέστε 0, ο χρήστης θα είναι σε θέση ναδει τον κατάλογο τμημάτων, αλλά όχι την οθόνηλεπτομέρειας ή τροποποίησης ενός αρχείου σε εκείνο το τμήμα. + +
+
+
+Εκθέσεις άποψης - αυτή η επιλογή επιτρέπει στο χρήστη για να δειτις εκθέσεις VICIDIAL. + + + + +



+ +VICIDIAL_CAMPAIGNS ΠΙΝΑΚΑΣ

+
+
+ID Εκστρατείας - Αυτό είναι το σύντομο όνομα της εκστρατείας, δεν μπορεί να διορθωθεί μετά από την αρχική παράδοση, δεν μπορεί να περιέχει κενά και πρέπει να είναι μεταξύ 2 και 8 χαρακτήεςh. + +
+
+
+Ονομα Εκστρατείας - Αυτό είναι η περιγραφή της εκστρατείας, πρέπει να είναι μεταξύ 6 και 40 χαρακτήρες. + +
+
+
+Περιγραφή εκστρατείας - αυτό είναι ένας τομέας υπομνημάτων γιατην εκστρατεία, είναι προαιρετικό και μπορεί να είναι έναμέγιστο 255 χαρακτήρων στο μήκος. + +
+
+
+Ημερομηνία αλλαγής εκστρατείας - αυτό είναι η τελευταία φοράότι οι τοποθετήσεις για αυτήν την εκστρατεία τροποποιήθηκαν απόκαμιά άποψη. + +
+
+
+Τελευταία ημερομηνία σύνδεσης εκστρατείας - αυτό είναι ητελευταία φορά ότι ένας πράκτορας καταγράφηκε σε αυτήν τηνεκστρατεία. + +
+
+
+Η εκστρατεία Stats αναζωογονεί - αυτό το τετραγωνίδιο θαεπιτρέψει ότι για να αναγκάσετε τα vicidial statsαναζωογονείτε, ακόμα κι αν η εκστρατεία δεν είναι ενεργός. + +
+
+
+Ενεργοποίηση - Εδώ μπορείτε να θέσετε την εκστρατεία ενεργή ή μη ενεργή. Εάν είναι μη ενεργή, κανένας δεν μπορεί να συνδεθεί σε αυτήν. + +
+
+
+Τηλ.Σύνδεση Στάθμευσης - Εδώ μπορείτε να ορίσετε την μουσική αναμονής για το VICIDIAL. Επιβεβαιώστε, ότι η εσωτ.σύνδεση βρίσκεται στο extensions.conf και ότι δείχνει το αρχείο παρακάτω. + +
+
+
+ν Αρχείου Στάθμευσης - Εδώ μπορείτε να προσαρμόσετε την μουσική αναμονής για το VICIDIAL. Επιβεβαιώστε ότι το αρχείο έχει 10 χαρακτήρες ή λιγότερους και ότι το αρχείο βρίσκεται στον κατάλογο /var/lib/asterisk/sounds. + +
+
+
+Ιστοσελίδα - Αυτή είναι η προσαρμοσμένη διεύθυνση που θα σας κατευθύνει για κλήσεις που έρχονται σε αυτήν την ομάδα. + +
+
+
+Επιτρέπει τους Closers - Εδώ ορίζετε εάν οι χρήστες της εκστρατείας θα έχουν την επιλογή να στείλουν την κλήση σε έναν closer. + +
+
+
+Ομάδα μεταφοράς προεπιλογής - αυτός ο τομέας είναι η-ΟΜΑΔΑπροεπιλογής που θα επιλεχτεί αυτόματα όταν πηγαίνει ο πράκτοραςστο πλαίσιο μεταφορά-διασκέψεων στη διεπαφή πρακτόρων τους. + +
+
+
+Ομάδες μεταφοράς - με αυτές τις λίστες τετραγωνιδίου μπορείτε ναεπιλέξετε τις ομάδες ότι οι πράκτορες σε αυτήν την εκστρατείαμπορούν να μεταφέρουν τις κλήσεις. Επιτρέψτε ότι Closersπρέπει να επιτραπεί για αυτήν την επιλογή να παρουσιάσει. + +
+
+
+Επιτρέψτε πλησίον και συνδύασε - αυτό είναι όπου μπορείτε ναθέσετε εάν οι χρήστες αυτής της εκστρατείας θα έχουν τηνεπιλογή να πάρουν τις εισερχόμενες κλήσεις με αυτήν τηνεκστρατεία. Εάν θέλετε να κάνετε συνδυασμένων εισερχόμενος καιεξερχόμενος έπειτα αυτό πρέπει να τεθεί το Υ. Εάν θέλετε μόνονα κάνετε τον εξερχόμενο σχηματισμό σε αυτήν την εκστρατείαθέστε αυτό σε Ν. Default είναι ν. + +
+
+
+Κατάσταση Κλήσης - Εδώ ορίζετε τις καταστάσεις που θέλετε να κληθούν μέσα στις λίστες, οι οποίες είναι ενεργές για την εκστρατεία παρακάτω. Να προσθέσει μια άλλη θέση στον πίνακα, να το επιλέξει από τονεξελισσόμενους κατάλογο και τον κρότο ΠΡΟΣΘΕΤΕΙ. Για να αφαιρέσετεμια από τις θέσεις πινάκων, χτυπήστε στη REMOVE σύνδεση δίπλαστη θέση που θέλετε να αφαιρέσετε. + +
+
+
+Ταξινόμηση Λίστας - Σε αυτόν τον κατάλογο επιλογών μπορείτε να επιλέξετε πώς οι οδηγοί, που ταιριάζουν με τις καταστάσεις που επιλέξατε παραπάνω, θα τοποθετηθούν στον hopper: +
  - DOWN: επιλογή των πρώτων οδηγών που εισήχθησαν στον πίνακα vicidial_list +
  - UP: επιλογή των τελευταίων οδηγών που εισήχθησαν στον πίνακα vicidial_list +
  - UP PHONE: επιλογή του υψηλότερου τηλεφωνικού αριθμού και συνεχίζει προς τα κάτω +
  - DOWN PHONE: επιλογή του χαμηλότερου τηλεφωνικού αριθμού και συνεχίζει προς τα πάνω +
  - UP LAST NAME: έναρξη με τα επίθετα να ξεκινάνε με Ζ και συνεχίζει προς τα κάτω +
  - DOWN LAST NAME: έναρξη με τα επίθετα να ξεκινάνε με Α και συνεχίζει προς τα πάνω +
  - UP COUNT: έναρξη με τους λιγότερους σε κλήση οδηγούς και συνεχίζει προς τα κάτω +
  - DOWN COUNT: έναρξη με τους λιγότερους σε κλήση οδηγούς και συνεχίζει +
  - DOWN COUNT 2nd NEW: έναρξη με τους λιγότερους σε κλήση οδηγούς και συνεχίζει προς τα πάνω με την εισαγωγή ενός ΝΕΟΥ οδηγού για κάθε άλλο οδηγό - Πρέπει να ΜΗΝ έχει νέα επιλεγμένα στις καταστάσεις κλήσεων +
  - DOWN COUNT 3nd NEW: έναρξη με τους λιγότερους σε κλήση οδηγούς και συνεχίζει προς τα πάνω με την εισαγωγή ενός ΝΕΟΥ οδηγού για κάθε τρίτο οδηγό - Πρέπει να ΜΗΝ έχει νέα επιλεγμένα στις καταστάσεις κλήσεων +
  - DOWN COUNT 4th NEW: έναρξη με τους λιγότερους σε κλήση οδηγούς και συνεχίζει προς τα πάνω με την εισαγωγή ενός ΝΕΟΥ οδηγού για κάθε τέταρτο οδηγό - Πρέπει να ΜΗΝ έχει νέα επιλεγμένα στις καταστάσεις κλήσεων + +
+
+
+Επίπεδο Hopper - Αυτό είναι το πόσους οδηγούς η διαδικασία VDhopper, προσπαθεί να διατηρήσει στον πίνακα vicidial_hopper για αυτήν την εκστρατεία. Εάν η διαδικασία VDhopper τρέχει κάθε λεπτό, ρυθμίστε αυτό λίγο περισσότερο από τον αριθμό των οδηγών που περνούν σε ένα λεπτό. + +
+
+
+Φίλτρο Οδηγοιύ - αυτή είναι μία μέθοδος για να δημιουργήτε φίλτρα για την SQL ερώτηση. Χρησιμοποιήστε αυτό το χαρακτηριστικό με προσοχή, είναι εύκολο να σταματήσει το σύστημα με μία μικρή αλλαγή στη δήλωση SQL. Η προεπιλογή είναι ΚΑΜΙΑ. + +
+
+
+Υποχρεωτική Επαναφορά του Hopper - Αυτό σας επιτρέπει καθαρίσετε τα περιεχόμενα κατά την επιβεβαίωση της φόρμας. Αυτό θα συμβεί πάλι όταν η διαδικασία VDhopper θα τρέξει. + +
+
+
+Μέθοδος Κλήσης + - This field is the way to define how dialing is to take place. If MANUAL then the auto_dial_level will be locked at 0 unless Μέθοδος Κλήσης + is changed. If RATIO then the normal dialing a number of lines for Active agents. ADAPT_HARD_LIMIT will dial predictively up to the dropped percentage and then not allow aggressive dialing once the drop limit is reached until the percentage goes down again. ADAPT_TAPERED allows for running over the dropped percentage in the first half of the shift -as defined by call_time selected for campaign- and gets more strict as the shift goes on. ADAPT_AVERAGE tries to maintain an average or the dropped percentage not imposing hard limits as aggressively as the other two methods. Δεν μπορείτε να αλλάξετε το επίπεδο Αυτόματης Κλήσης, εάν έχετε ορίσει κάποια μέθοδο Προσαρμογής Κλήσεων. Μόνο ο διακομιστής μπορεί να το αλλάξει όταν είναι σε διαδικασία αυτόματων κλήσεων. +. + +
+
+
+Επίπεδο Αυτόματης Κλήσης - Εδώ είναι που καθορίζεται πόσες γραμμές θα χρησιμοποιούνται ανά ενεργό χρήστη. Μηδέν (0) σημαίνει ότι η αυτόματη κλήση είναι μη ενεργή και οι χρήστες πατούν το πλήκτρο για την κλήση κάθε αριθμού. Διαφορετικά, το σύστημα καλεί γραμμές ίσες με τους ενεργούς χρήστες, πολλαπλασιασμένους με το επίπεδο κλήσης και σύμφωνα με το πόσες γραμμές η εκστρτεία σε κάθε διακομιστή επιτρέπει. Το ADAPT τετραγωνίδιο ΣΥΜΠΛΗΡΩΜΑΤΙΚΗΣ ΠΡΟΜΉΘΕΙΑΣ επιτρέπει σεσας για να αναγκάσει ένα νέο επίπεδο πινάκων ακόμα κι αν ημέθοδος πινάκων είναι σε έναν ADAPT τρόπο. Αυτό είναιχρήσιμο εάν υπάρχει μια δραματική μετατόπιση στην ποιότητα τωνμολύβδων και θέλετε να αλλάξετε δραστικά το dial_level με τοχέρι. + +
+
+
+Διαθέσιμα μόνο ετικέτες - Εάν θέσετε σε Ν αυτό το πεδίο, θα αφήσει εκτός τις καταστάσεις των χειριστών out INCALL και QUEUE, καθώς υπολογίζεται ο αριθμός των κλήσεων όταν δεν είναι σε κατάσταση κλήσης MANUAL. Προκαθορισμένα είναι Ο. + +
+
+
+Ποσοστό Ορίου Εγκατ. Κλήσεων - Σε αυτό το πεδίο μπορείτε να θέσετε το όριο του ποσοστού εγκατ. κλήσεων καθώς χρησιμοποιείτε μία μέθοδος προσαρμοσμένης-πρόβλεψη κλήσεων, όχι MANUAL ή RATIO. + +
+
+
+Μέγιστο Επίπεδο Προσαρμογής Κλήσεων - Σε αυτό το πεδίο μπορείτε να θέσετε το όριο για το όριο του αριθμού γραμμών για κάθε χειριστή καθώς χρησιμοποιείτε μία μέθοδος προσαρμοσμένης-πρόβλεψη κλήσεων, όχι MANUAL ή RATIO. Αυτός ο αριθμός μπορεί να είναι μεγαλύτερος από το επίπεδο αυτόματης κλήσης εάν το υλικό σας το υποστηρίζει. Η τιμή πρέπει να είναι θετικός αριθμός μεγαλύτερος από ένα και μπορεί να έχει δεκαδικά. Προκαθορισμένα είναι 3.0. + +
+
+
+Τελευταίος Χρόνος Διακομιστή - Αυτό το πεδίο χρησιμοποιείτε μόνο από την μέθοδο ADAPT_TAPERED. Θα πρέπει να καταχωρήσετε την ώρα και τα λεπτά που θα σταματήσει τις κλήσεις η εκστρατεία. Αυτό επιτρέπει στον αλγόριθμο να αποφασίσει πόσο επιθετικά θα κάνει κλήσεις και πόσο χρόνο. + +
+
+
+Ενταση Τροποποίησης Προσαρμογής - Αυτό το πεδίο χρησιμοποιείτε για να αλλάζει ένταση προβλέψεων είτε υψηλότερα ή χαμηλότερα. Προκαθορισμένα είναι 0. Αυτό το πεδίο δεν χρησιμοποιείται από τις μεθόδους MANUAL ή RATIO. + +
+
+
+Επίπεδο Κλήσεων Μεταβολής Στόχου - Αυτό το πεδίο χρησιμοποιείτε για να έχει στόχο ένα συγκεκριμένο αριθμό χειριστών να περιμένουν κλήσεις ή κλήσεις να περιμένουν για χειριστές. Π.χ. εάν θέλετε πάντα να έχετε κατά μέσο όρο έναν χειριστή ελεύθερο για ν παίρνει τις κλήσεις, τότε πρέπει να το θέσετε σε -1. Εάν στόχος είναι να έχετε πάντα μία κλήση σε αναμονή για ένα χειριστή, τότε πρέπει να το θέσετε σε 1. Προκαθορισμένα είναι 0. Αυτό το πεδίο δεν χρησιμοποιείται από τις μεθόδους MANUAL ή RATIO. + +
+
+
+Ταυτόχρονες μεταφορές - αυτή η ρύθμιση χρησιμοποιείται για νακαθορίσει τον αριθμό κλήσεων που μπορεί να σταλεί στουςπράκτορες συγχρόνως. Συνιστάται αυτή η ρύθμιση να αφήνεται στοΑΥΤΟΚΙΝΗΤΟ. Αυτός ο τομέας δεν χρησιμοποιείται με τη ΧΕΙΡΩΝΑΚΤΙΚΗμέθοδο πινάκων. + +
+
+
+Αυτόματος ALT-ARJCMO'S που σχηματίζει - αυτή η ρύθμισηχρησιμοποιείται για να σχηματίσει αυτόματα τους εναλλάσσομαιτομείς αριθμού σχηματίζοντας σε ΑΝΑΛΟΓΙΑ και ΝΑ ΠΡΟΣΑΡΜΟΣΕΙ τιςμεθόδους πινάκων όταν δεν υπάρχει καμία επαφή στον κύριοτηλεφωνικό αριθμό για έναν μόλυβδο, τις θέσεις NA, β,συνεχούς ρεύματος και ν. Αυτή η ρύθμιση δεν χρησιμοποιείται με τηΧΕΙΡΩΝΑΚΤΙΚΗ μέθοδο πινάκων. + +
+
+
+Επόμενη Κλήση Χρήστη - Αυτό προσδιορίζει ποιος χρήστης λαμβάνει την επόμενη κλήση που είναι διαθέσιμη: +
  - random: ταξινομημένο με τυχαία τιμή ενημέρωσης στον πίνακα vicidial_live_agents +
  - oldest_call_start: ταξινομημένο με την τελευταία φορά που σε ένα χρήστη στάλθηκε μία κλήση. Με αποτέλεσμα, ο χρήστης να λαμβάνει συνολικά το ίδιο αριθό κλήσεων. +
  - oldest_call_finish: ταξινομημένο με την τελευταία φορά που ένας χρήστης τελείωσε μία κλήση. Ο χρήστης που περιμένει περισσότερο λαμβάνει την πρώτη κλήση. +
  - overall_user_level: οι διαταγές από το user_level του χειριστή όπως καθορίζεται στα vicidial_users παρουσιάζουν ένα υψηλότερο user_level θα άβουν περισσότερες κλήσεις. +
  - campaign_rank: διαταγές από την τάξη που δίνεται στον πράκτοραγια την εκστρατεία. Ο υψηλότερος σε χαμηλότερο. +
  - fewest_calls: διαταγές από τον αριθμό κλήσεων πουπαραλαμβάνονται από έναν πράκτορα για εκείνη την συγκεκριμένηεισερχόμενη ομάδα. Λιγότερες κλήσεις πρώτα. + +
+
+
+Τοπική Ωρα Κλήσης - Εδώ, μπορείτε να ορίσετε τις ώρες που θα θέλατε να γίνουν οι κλήσεις. Αυτό ελέγχετε από τον κωδικό περις και ρυθμίζεται για Daylight Savings εάν είναι εφαρμόσιμο. + +
+
+
+Κλήση Εκτός Χρόνου - άν έχει οριστεί, οι κλήσεις που φυσιολογικά θα έκλειναν μετά το χρόνο που έχει οριστεί στο extensions.conf, θα κλείσουν σε αυτόν τον χρόνο εάν είναι μικρότερος του extensions.conf. Αυτό επιτρέπει στην γρήγορη αλλαγή των χρόνων από διακομιστή σε διακομιστή και περιορίζοντας τα αοτελέσματα σε μία εκστρατεία. Εάν έχετε πολλές κλήσεις με Αυτόματους Τηλεφωνητές ή Φωνητικών Ταχυδρομείων, μπορείτε να αλλάξετε αυτή την τιμή μεταξύ 21-26 και να δείτε αν τα αποτελέσματα είναι καλύτερα. + +
+
+
+Πρόθεμα Κλήσης - Αυτό το ο επιτρέπει την πιο εύκολη αλλαγή της διαδρομής της κλήσης να βγει έξω μέσω διαφορετικής μεθόδου, χωρίς να γίνει επαναφόρτωση στο Asterisk. Προκαθορισμένο είναι το 9 βασισμένο σύμφωνα με το 91NXXNXXXXXX στο σχέδιο κλήσεων - extensions.conf. + +
+
+
+Παράλειψη Κωδικού Τηλεφώνου - Αυτό το πεδίο σας επιτρέπει να αφήσετε εκτός το πεδίο phone_code καθώς γίνονται οι κλήσεις. Προκαθορισμένα είναι Ο. + +
+
+
+CallerID Εκστρατείας - Αυτός ο τομέας επιτρέπει την αποστολή ενός αριθμού συνήθειας callerid στις εξερχόμενες κλήσεις. Αυτό είναι ο αριθμός που θα παρουσίαζε στο callerid του προσώπου που καλείτε. Η προεπιλογή είναι ΑΓΝΩΣΤΗ. Εάν χρησιμοποιείτε το T1 ή Eί να σχηματίσει έξω αυτήν την επιλογή είναι μόνο διαθέσιμος εάν χρησιμοποιετε PRIs - ISDN Tί ή Eί - που ανοίγουν το χαρακτηριστικό γνώρισμα συνήθειας callerid, αυτό δεν θα λειτουργήσει με την υπηρεσία ληστεύω-κομματιών - RBS - κυκλώματα. Αυτό θα λειτουργήσει επίσης μέσω του περισσότερου VOIP - ΓΟΥΛΙΑ ή κορμοί IAX - προμηθευτές που επιτρέπουν δυναμικό εξερχόμενο callerID. Η σνήθεια callerID ισχύει μόνο για τις κλήσεις που τοποθετούνται για την εκστρατεία VICIDIAL άμεσα, οποιεσδήποτε κλήσεις ή μεταφορές 3$ων συμβαλλόμενων μερών δεν θα στείλουν τη συνήθεια callerID. ΣΗΜΕΙΩΣΗ: Μερικές φορές να βάλει ΑΓΝΩΣΤΗ ή ΙΔΙΩΤΙΚΗ στον τομέα θα παραγάγει την αποστολή του αριθμού προεπιλογής σας callerID από το μεταφορέα σας με τις κλήσεις. Μπορείτε να θελήσετε να εξετάσετε αυτό και να υποβάλετε 0000000000 ο τομέας callerid αντ' αυτού εάν δεν θέλετε να σας στείλετε CallerID. + +
+
+
+Τηλ.Σύνδεση Εκστρατείας VDAD - Αυτό το πεδίο επιτρέπει γαι μία προσαρμόσιμη VDAD εσωτ.σύνδεση μεταφοράς. Αυτό σας επιτρέπει να χρησιμοποιήσετε διαφορετικές διαδικασίες VDADtransfer.agi, σύμφωνα με την κστρατεία. Η προκαθορισμένη AGI μεταφορά - εσωτ.σύνδ. 8365 agi VDADtransfer.agi - στέλνει αμέσως τις κλήσεις στον χρήστη, μόλις το σηκώσουν. Ενα πρόσθετο AGI παράεα πολιτικής έρευνας συμπεριλαμβάνεται - 8366 agi - VDADtransferSURVEY.agi - όπου παίζει ένα μήνυμα στο κληθέν πρόσωπο και επιτρέπει να κάνουν επιλογς με τα πλήκτρα. + +
+
+
+Τηλ.Επέκταση εκσρατείας Ηχογρ - αυτό το πεδίο επιτρέπει να ορίσετε μία επέκταση ηχογράφησης που χρησιμοποιείται με το VICIDIAL. Αυτό επιτρέπει να χρησιμοποιήσετε διαφορετικές επεκτάσεις ανάλογα με πόσο χρόνο θέλετε να επιτρέψετε μία ηχογράφηση και ποιο τύπος κωδικοποιητή-αποκωδικοποιητή θα χρσιμοποιηθεί. Η προεπιλογή είναι 8309 και θα καταγράψει με το σχήμα WAV μέχρι μια ώρα. Μια άλλη επιλογή που περιλαμβάνεται στα παραδείγματα είναι 8310 που θα καταγράψουν με το σχήμα GSM για μέχρι μια ώρα. + +
+
+
+Ηχογράφηση Εκστρατείας - Αυτές οι επιλογές σας επιτρέπουν να διαλέξετε πιο επίπεδο ηχογράφησης επιτρέπετε στην εκστρατεία. NEVER θα απενεργοποιήσει την ηχογράφηση στον πελάτη. ONDEMAND είναι το προκαθορισμένο και επιτρέπει στον χειριστή να ξεκινάει και να σταματάει την ηχογράφηση. ALLCALLS ξεκινάει η ηχογράφηση όποτε η κλήση μεταφέρετε στον χειριστή. + +
+
+
+Όνομα αρχείου ηχογρ εκστρατείας - αυτό το πεδίο επιτρέπει να προσαρμόσετε το όνομα της ηχογράφησης, όταν η ηχογράφηση της εκστρατείας είναι ONDEMAND ή ALLCALLS. Οι μεταβλητές είναι CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT. Η προεπιλογή είναι FULLDATE_ΧΕΙΡΙΣΤΗΣκαι θα μοιάζει με το 20051020-103108_6666. Ένα άλλο παράδειγμα είναι CAMPAIGN_TINYDATE_CUSTPHONE που θα μοιάζει με το TESTCAMP_51020103108_3125551212. 50 char max. + +
+
+
+Καθυστέρηση Ηχογράφησης - Μόνο για ηχογραφήσεις ALLCALLS και ALLFORCE. Προκαθορισμένα είναι 0. + +
+
+
+Βοηθός εκστρατείας - αυτές οι επιλογές επιτρέπουν να επιλέξετε τον Βοηθό που θα εμφανιστεί στην οθόνη των χειριστών για αυτήν την εκστρατεία. Επιλέξτε NONE για να μην παρουσιάσετε κανένα χειρόγραφο για αυτήν την εκστρατεία. + +
+
+
+Κατά την έναρξη κλήσης - αυτές οι επιλογές επιτρέπουν να επιλέξετε εάν θέλετε την αυτόματη έναρξη μίας ιστο σελίδας σε ένα διαφορετικό παράθυρο, αυτόματη μεάβαση στον Βοηθό ή τίποτα. + +
+
+
+Μήνυμα αυτόματου τηλεφωνητού - αυτός το πεδίο χρησιμοποιείτε για τις τυφλές κλήσεις μεταφοράς όταν παίρνει ο χειριστής έναν αυτόματο τηλεφωνητή και χτυπά στο πλήκτρο μηνυμάτων αυτόματων τηλεφωνητών στο πλαίσιο διασκέψεων μεταφοράς. Πρέπει το θέσετε αυτό στο dial plan - extensions.conf - και σιγουρευτείτε ότι παίζει ένα αρχείο μουσικής κατόπιν κλείνει το τηλέφωνο. + +
+
+
+AMD στέλνει στο VM - αυτές οι επιλογές επιτρέπουν να καθορίσετε εάν ένα μήνυμα αφήνεται σε έναν αυτόματο τηλεφωνητή όταν ανιχνεύεται ότι η κλήση είναι ένας αυτόματος τηλεφωνητής και εάν το AMD είναι ενεργό. + +
+
+
+Xfer- Συνδ DTMF - αυτά τα τέσσερα πεδία επιτρέπουν να έχετε δύο σύνολα συνδιάσκεψης μεταφοράς και DTMF. Όταν η κλήση ή η εκστρατεία φορτώνεται, ο Βοηθός θα παρουσιάσει δύο πλήκτρα στο πλαίσιο μεταφορά-διασκέψεων και αυτόματα θα παρουσιάσει τα πεδία αριθμό για κλήση και στείλε DTMF όταν πατηθεί. Εάν θέλετε να επιτρέψετε τις μεταφορές σε σύμβουλο, ενός fronter σε έναν closer, θα πρέπει να θέσετε CXFER στο πεδίο number-to-dial και το σωστό κείμενο κλήσης θα σταλεί να κάνει μία τοπική μεταφορά σε σύμβουλο. Καθώς η κλήση θα απαντηθεί, μπορείτε να αφήσετε το πελάτη με τον χειριστή closer και να συνεχίσετε στην επόμενη κλήση πατώντας το πλήκτρο ΑΠΟΧΩΡΗΣΗ 3μελής ΚΛΗΣΗΣ. Εάν θέλετε να μεταφέρετε τους πελάτες σε AGI διαδικασία ή σε IVR, τότε θα πρέπει να θέσετε AXFER στο πεδίο number-to-dial. Μπορείτε επίσης να θέσετε και μία προσωπική τηλ. σύνδεση μετά το AXFER ή CXFER. + +
+
+
+Κλήση Εναλ Αρ Χρήστη - Αυτή η επιλογή επιτρέπει στον χειριστή να κάνει χειροκίνητη κλήση του εναλλακτικού αριθμού τηλεφώνου ή το πεδίο address3 μετά την κλήση του κυρίου αριθμού. + +
+
+
+Προγραμματισμένες Επανακλήσεις - Αυτή η επιλογή επιτρέπει στον χειριστή να τερματίσει μία κλήση ως CALLBK και να επιλέξει τα δεδομένα και την ώρα κατά την οποία ο οδηγός θα ξανα-ενεργοποιηθεί. + +
+
+
+Δευτερ. Εγκαταλ. Κλήσης - Ο αριθμός των δευτερολέπτων από την στιγμή που ο πελάτης σηκώνει το τηλ μέχρι η κλήση να θεωρηθεί εγκαταλειμένη. Μόνο για εξερχόμενες κλήσεις . + +
+
+
+Φωνητικό Ταχυδρομείο - Εάν έχει οριστεί, οι κλήσεις που φυσιολογικά θα ΕΓΚΑΤΑΛΕΙΠΟΝΤΑΝ, θα κατευθυνθούν σε αυό το φωνητικό ταχυδρομείο, ώστε να ακούσετε και να αφήσετε ένα μήνυμα. + +
+
+
+Μήνυμα Ασφαλούς Φύλαξης - Εάν είναι Υ θα παίξει ένα μήνυμα στον πελάτη μετά το πέρας των δευτερολέπτων ασφαλούς εγκατάλειψης, χωρίς να μεταφερθεί σε ένν χειριστή. Αυτή η επιλογή υπερβαίνει την αποστολή σε θυρίδα ηχητικού μηνύματος εάν είναι Υ. + +
+
+
+Εσωτ.σύνδεση Ασφαλούς Φύλαξης - Αυτή είναι η εσωτ.σύνδεση του πλάνου κλήσεων, όπου βρίσκεται το ηχητικό αρχείο της Ασφαλής Φύλαξης στον διακομιστή. + +
+
+
+Δευτερ. Τυλίγματος - Ο αριθμός των δευερολέπτων που αναγκάζει έναν χειριστή να περιμένει πριν του επιτραπεί να λάβει ή να κάνει άλλη κλήση. Ο χρόνος ξεκινάει μόλις τερματίσει μία κλήση. Προκαθορισμένα είναι 0 δευτερ. Αν ο χρόνος περάσει πριν ο χειριστής τερματίσει την κλήση, δεν θα μετακινηθεί στην άλλη κλήση πριν συβεί αυτό. + +
+
+
+Μήνυμα Τυλίγματος - Αυτό είναι ένα συγκεκριμένο μήνυμα εκστρατείας που εμφανίζεται στην οθόνη τυλίγματος όταν έχει οριστεί ο χρόνος τυλίγματος. + +
+
+
+Εσωτερικός κατάλογος DNC χρήσης - αυτό καθορίζει εάν αυτή ηεκστρατεία είναι στους μολύβδους φίλτν ενάντια στον εσωτερικόκατάλογο DNC. Εάν τίθεται το Υ, η χοάνη θα ψάξει κάθετηλεφωνικό αριθμό στον κατάλογο DNC πρίν τοποθετεί τον στηχοάνη. Εάν είναι στον κατάλογο DNC έπειτα θα αλλάξει ότιθέση μολύβδου σε DNCL έτσι που δεν μπορεί να σχηματιστεί. Ηπροεπιλογή είναι ν. + +
+
+
+Εισερχόμενες ομάδες - For CLOSER campaigns only. Here is where you select the inbound groups you want agents in this CLOSER campaign to be able to take calls from. It is important for BLENDED inbound-outbound campaigns only to select the inbound groups that are used for agents in this campaign. The calls coming into the inbound groups selected here will be counted as active calls for a blended campaign even if all agents in the campaign are not logged in to receive calls from all of those selected inbound groups. + +
+
+
+Η μικρή διακοπή πρακτόρων κωδικοποιεί ενεργό - επιτρέπει στουςπράκτορες για να επιλέξει έναν κώδικα μικρής διακοπής ότανχτυπούν στο κουμπί ΜΙΚΡΗΣ ΔΙΑΚΟΠΉΣ στους κώδικες μικρής διακοπήςvicidial.php. είναι ευπροσδιόριστοι ανά εκστρατεία στοκατώτατο σημείο της οθόνης λεπτομέρειας άποψης εκστρατείας καιαποθηκεύονται στον πίνακα vicidial_agent_log. Η προεπιλογήείναι ν. + +
+
+
+Θέστε εκτός λειτουργίας αλλάζει τα στοιχεία πελατών - εάνθέστε το Υ, δεν αλλάζει οποιων δήποτε από το αρχείο στοιχείωνπελατών όταν διαθέσεις πρακτόρων η κλήση. Η προεπιλογή είναι ν. + +
+
+
+Επιτρέψτε τους κανένας-χοάνη-μολύβδους Logins - εάν θέστε τοΥ, επιτρέπει στους πράκτορες στη σύνδεση στην εκστρατεία ακόμα κιαν δεν υπάρχει κανένας μόλυβδος που φορτώνεται στη χοάνη γιαεκείνη την εκστρατεία. Αυτή η λειτουργία δεν απαιτείται στιςεκστρατείες στενός-τύπων. Η προεπιλογή είναι ν. + +
+
+
+Μίγμα διαταγής καταλόγων - αγνοεί τους τομείς θέσης διαταγήςκαι πινάκων μολύβδου. Θα χρησιμοποιήσει τις παραμέτρους καταλόγωνκαι θέσης για την επιλεγμένη είσοδο μιγμάτων καταλόγων στο υπο-τμήμα μιγμάτων καταλόγων αντ' αυτού. Η προεπιλογή είναι ΕΚΤΟΣΛΕΙΤΟΥΡΓΊΑΣ. + +
+
+
+Ταυτότητα μιγμάτων καταλόγων - ταυτότητα του μίγματος καταλόγων.Πρέπει να είστε από 2-20 χαρακτήρες στο μήκος χωρίς ταδιαστήματα ή άλλη ειδική στίξη. + +
+
+
+Όνομα μιγμάτων καταλόγων - περιγραφικό όνομα του μίγματοςκαταλόγων. Πρέπει να είστε από 2-50 χαρακτήρες στο μήκος. + +
+
+
+Λεπτομέρεια μιγμάτων καταλόγων - η σύνθεση της εισόδου μιγμάτωνκαταλόγων. Περιέχει τον κατάλογο ταυτότητα, τη διαταγή μιγμάτων,τα ποσοστά και τις θέσεις που αποτελούν αυτό το μίγμα καταλόγων.Τα ποσοστά πρέπει πάντα να προσθέσουν μέχρι 100, και οικατάλογοι όλοι πρέπει να είναι ενεργοί και καθορισμένοι τηνεκστρατεία για την είσοδο μιγμάτων διαταγής που ενεργοποιείται. + +
+
+
+Μέθοδος μιγμάτων καταλόγων - η μέθοδος όλα τα μέρη τηςλεπτομέρειας μιγμάτων καταλόγων από κοινού. EVEN_MIX θααναμίξει τους μολύβδους από κάθε μέρος που παρεμβάλλεται λευκέςσελίδες με τα άλλα μέρη, όπως αυτό το 1,2,3,1,2,3,1,2,3.IN_ORDER θα βάλει τους μολύβδους στη διαταγή στην οποίαπαρατίθενται στην οθόνη λεπτομέρειας μιγμάτων καταλόγων1,1,1,2,2,2,3,3,3. ΤΥΧΑΊΑ θα τους βάλουν στην ΤΥΧΑΊΑ προεπιλογήδιαταγής 1,3,2,1,1,3,2,1,3. είναι IN_ORDER. + +
+
+
+Χειρωνακτικός κατάλογος ταυτότητα πινάκων - η προεπιλογήlist_id για να χρησιμοποιηθεί όταν δημιουργείται έναςπράκτορας placces μια χειρωνακτική κλήση και ένα νέο αρχείομολύβδου στο vicidial_list. Η προεπιλογή είναι 999. Αυτός οτομέας μπορεί να περιέχει τα ψηφία μόνο. + + + + +



+ +VICIDIAL_ΛΙΣΤΕΣ ΠΙΝΑΚΑΣ

+
+
+ID Λίστας - Αυτό είναι το αριθμητικό όνομα της λίστας, δεν μπορεί να διορθωθεί μετά από την αρχική εισαγωγή, πρέπει να περιέχει μόνο αριθμούς και πρέπει να είναι μεταξύ 2 και 8 χαρακτήρες. Must be a number greater than 100. + +
+
+
+Ονομα Λίστας - Αυτή είναι η περιγραφή της λίστας, πρέπει να είναι μεταξύ 2 και 20 χαρακτήρες. + +
+
+
+Περιγραφή καταλόγων - αυτό είναι ο τομέας υπομνημάτων για τονκατάλογο, είναι προαιρετικό. + +
+
+
+Ημερομηνία αλλαγής καταλόγων - αυτό είναι η τελευταία φορά ότιοι τοποθετήσεις για αυτόν τον κατάλογο τροποποιήθηκαν από καμιάάποψη. + +
+
+
+Τελευταία ημερομηνία κλήσης καταλόγων - αυτό είναι η τελευταίαφορά ότι ο μόλυβδος σχηματίστηκε από αυτόν τον κατάλογο. + +
+
+
+Εκστρατεία - Αυτή είναι η εκστρατεία όπου ανήκει η λίστα. Μία λίστα μπορεί μόνο να κληθεί από μία εκστρατεία κάθε φορά. + +
+
+
+Ενεργή - Αυτό ορίζει κατά πόσον η λίστα πρόκειται να κληθεί ή όχι. + +
+
+
+Επαναφορά Κατάστασης-Κλήσης-Καθοδήγησης για την λίστα - Αυτό επαναφέρει τους οδηγούς σε αυτή την λίστα στο Ν σε \"μη κληθέντα από την τελευταία επαναφορά\" και σημαίνει ότι για οποιαδήποτε καθοδήγηση μπορεί να γίνει κλήση εάν είναι η σωστή κατάσταση, όπως ορίσθηκε στην οθόνη τις εκστρατείας. + +
+
+
+Κατάλογος VICIDIAL DNC - αυτό δεν καλεί τον κατάλογοπεριέχει κάθε μόλυβδο που έχει τεθεί μια θέση DNC στοσύστημα. Μέσω των ΚΑΤΑΛΩΝ - ΠΡΟΣΘΕΣΤΕ τον ΑΡΙΘΜΟ στη σελίδαDNC που είστε σε θέση να προσθέσετε με το χέρι έναν αριθμό σεαυτόν τον κατάλογο έτσι ώστε δεν θα κληθεί από τις εκστρατείεςπου χρησιμοποιούν τον εσωτερικό κατάλογο DNC. + + + +



+ +VICIDIAL_INBOUND_GROUPS ΠΙΝΑΚΑΣ

+
+
+ID Ομάδας - Αυτό είναι το σύντομο όνομα της εισερχόμενης ομάδας, δεν μπορεί να διορθωθεί μετά από την αρχική παράδοση, δεν μπορεί να περιέχει κενά και πρέπει να είναι μεταξύ 2 και 20χαρακτήρες. + +
+
+
+Ονομα Ομάδας - Αυτή είναι η περιγραφή της ομάδας, πρέπει να είναι μεταξύ 2 και 30 χαρακτήρες. Δεν μπορεί να συμπεριαμβάνει παύλες, συν ή κενά . + +
+
+
+Χρώμα Ομάδας - Αυτό είναι το χρώμα που εμφανίζεται στην VICIDIAL εφαρμογή όταν η κλήση έρχεται σε αυτή την ομάδα. Πρέπει να είναι μεταξύ 2 και 7 χαρακτήρες. Εάν αυτό είναι ορισμένο ως hex , θα πρέπει να τοποθετήσετε ένα # στην αρχή του κειμένου ή το VICIDIAL δεν θα δουλεύει σωστά. + +
+
+
+Ενεργοποίηση - Αυτό καθορίζει κατά πόσον αυτή η ομάδα εμφανίζεται στο κουτί επιλογής όταν ένας χρήστης συνδέεται. + +
+
+
+Ιστοσελίδα - Αυτή είναι η προσαρμοσμένη διεύθυνση που θα σας κατευθύνει για κλήσεις που έρχονται σε αυ την ομάδα. + +
+
+
+Επόμενη Κλήση Χρήστη - Αυτό προσδιορίζει ποιος χρήστης λαμβάνει την επόμενη κλήση που είναι διαθέσιμη: +
  - random: ταξινομημένο με τυχαία τιμή ενημέρωσης στον πίνακα vicidial_live_agents +
  - oldest_call_start: ταξινομημένο με την τελευταία φορά που σε ένα χρήστη στάλθηκε μία κλήση. Με αποτέλεσμα, ο χρήστης να λαμβάνει συνολικά το ίδιο αριθό κλήσεων. +
  - oldest_call_finish: ταξινομημένο με την τελευταία φορά που ένας χρήστης τελείωσε μία κλήση. Ο χρήστης που περιμένει περισσότερο λαμβάνει την πρώτη κλήση. +
  - overall_user_level: οι διαταγές από το user_level του χειριστή όπως καθορίζεται στα vicidial_users παρουσιάζουν ένα υψηλότερο user_level θα άβουν περισσότερες κλήσεις. +
  - inbound_group_rank: διαταγές από την τάξη που δίνεται στονπράκτορα για τη συγκεκριμένη εισερχόμενη ομάδα. Ο υψηλότερος σεχαμηλότερο. +
  - fewest_calls: διαταγές από τον αριθμό κλήσεων πουπαραλαμβάνονται από έναν πράκτορα για εκείνη την συγκεκριμένηεισερχόμενη ομάδα. Λιγότερες κλήσεις πρώτα. +
  - campaign_rank: διαταγές από την τάξη που δίνεται στον πράκτοραγια την εκστρατεία. Ο υψηλότερος σε χαμηλότερο. +
  - fewest_calls_campaign: orders by the number of calls received by an agent for the campaign. Least calls first. +
+
+
+Οθόνη Μπροστινού - Αυτό το πεδίο καθορίζει κατά πόσον στον VICIDIAL χόμενος χρήστης θα εμφανίζεται το όνομα του μπροστινού - εάν υπάρχει κάποιο - στο πεδίο κατάστασης όταν η κλήση έρχεται στον χρήστη. + +
+
+
+Βοηθός εκστρατείας - αυτές οι επιλογές επιτρέπουν να επιλέξετε τον Βοηθό που θα εμφανιστεί στην οθόνη των χειριστών για αυτήν την εκστρατεία. Επιλέξτε NONE για να μην παρουσιάσετε κανένα χειρόγραφο για αυτήν την εκστρατεία. + +
+
+
+Κατά την έναρξη κλήσης - αυτές οι επιλογές επιτρέπουν να επιλέξετε εάν θέλετε την αυτόματη έναρξη μίας ιστο σελίδας σε ένα διαφορετικό παράθυρο, αυτόματη μεάβαση στον Βοηθό ή τίποτα. + +
+
+
+Xfer- Συνδ DTMF - αυτά τα τέσσερα πεδία επιτρέπουν να έχετε δύο σύνολα συνδιάσκεψης μεταφοράς και DTMF. Όταν η κλήση ή η εκστρατεία φορτώνεται, ο Βοηθός θα παρουσιάσει δύο πλήκτρα στο πλαίσιο μεταφορά-διασκέψεων και αυτόματα θα παρουσιάσει τα πεδία αριθμό για κλήση και στείλε DTMF όταν πατηθεί. Εάν θέλετε να επιτρέψετε τις μεταφορές σε σύμβουλο, ενός fronter σε έναν closer, θα πρέπει να θέσετε CXFER στο πεδίο number-to-dial και το σωστό κείμενο κλήσης θα σταλεί να κάνει μία τοπική μεταφορά σε σύμβουλο. Καθώς η κλήση θα απαντηθεί, μπορείτε να αφήσετε το πελάτη με τον χειριστή closer και να συνεχίσετε στην επόμενη κλήση πατώντας το πλήκτρο ΑΠΟΧΩΡΗΣΗ 3μελής ΚΛΗΣΗΣ. Εάν θέλετε να μεταφέρετε τους πελάτες σε AGI διαδικασία ή σε IVR, τότε θα πρέπει να θέσετε AXFER στο πεδίο number-to-dial. Μπορείτε επίσης να θέσετε και μία προσωπική τηλ. σύνδεση μετά το AXFER ή CXFER. + +
+
+
+Δευτερ. Εγκαταλ. Κλήσης - Ο αριθμός των δευτερολέπτων από την στιγμή που ο πελάτης σηκώνει το τηλ μέχρι η κλήση να θεωρηθεί εγκαταλειμένη. Μόνο για εξερχόμενες κλήσεις . + +
+
+
+Φωνητικό Ταχυδρομείο - Εάν έχει οριστεί, οι κλήσεις που φυσιολογικά θα ΕΓΚΑΤΑΛΕΙΠΟΝΤΑΝ, θα κατευθυνθούν σε αυό το φωνητικό ταχυδρομείο, ώστε να ακούσετε και να αφήσετε ένα μήνυμα. + +
+
+
+Μήνυμα Εγκατάλειψης - Εάν είναι Υ θα παίξει ένα μήνυμα στον πελάτη μετά το πέρας των δευτερολέπτων Εγκατάλειψης, χωρίς να μεταφερθεί σε έναν χειριστή. Αυτή η επιλογή υπερβαίνει την αποστολή σε θυρίδα ηχητικού μηνύματος εάν είναι Υ. + +
+
+
+Εσωτ.Σύνδεση Εγκατάλειψης - Αυτή είναι η εσωτ.σύνδεση του πλάνου κλήσεων, όπου βρίσκεται το ηχητικό αρχείο της Εγκατάλειψης στον διακομιστή. + +
+
+
+Χρόνος κλήσης - αυτό είναι το χρονικό σχέδιο κλήσης ναχρησιμοποιήσει για αυτήν την εισερχόμενη ομάδα. Λάβετε υπόψηότι ο χρόνος είναι βασισμένος στο χρόνο κεντρικών υπολογιστών.Η προεπιλογή είναι 24hours. + +
+
+
+Μετά από τη δράση ωρών - η δράση για να εκτελέσει εάν είναιμετά από τις ώρες όπως καθορίζεται στο χρόνο πρόσκλησης γιααυτήν την εισερχόμενη ομάδα. HANGUP hangup αμέσως η κλήση,MESSASGE θα παίξει το αρχείο στο μετέπειτα τομέα Filenamμηνυμάτων ωρών, η ΕΠΈΚΤΑΣΗ θα στείλει την κλήση στη μετέπειταπαράταση ωρών στον dialplan και το ΦΩΝΗΤΙΚΌ ΤΑΧΥΔΡΟΜΕΊΟ θαστείλει την κλήση στο παράθυρο φωνητικού ταχυδρομείου πουαπαριθμείται στο μετέπειτα τομέα φωνητικού ταχυδρομείου ωρών. Ηπροεπιλογή είναι ΜΗΝΥΜΑ. + +
+
+
+Μετά από το όνομα αρχείου μηνυμάτων ωρών - το ακουστικό αρχείοπου βρίσκεται στον κεντρικό υπολογιστή που παίζεται εάν η δράσητίθεται το ΜΗΝΥΜΑ. Η προεπιλογή είναι VM-ANTJ'O + +
+
+
+Μετά από την παράταση ωρών - η dialplan επέκταση για ναστείλει την πρόσκληση εάν η δράση τίθεται την ΕΠΕΚΤΑΣΗ. Ηπροεπιλογή είναι 8300. + +
+
+
+Μετά από το φωνητικό ταχυδρομείο ωρών - το κιβώτιο φωνητικούταχυδρομείου για να στείλει την πρόσκληση εάν η δράση τίθεται τοΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΊΟ. + +
+
+
+Ευπρόσδεκτο όνομα αρχείου μηνυμάτων - το ακουστικό αρχείο πουβρίσκεται στον κεντρικό υπολογιστή που παίζεται όταν μπαίνει ηκλήση. Εάν θέστε ΚΑΝΕΝΑΣ --- έπειτα κανένα μήνυμα δεν θαπαιχτεί. Η προεπιλογή είναι ΚΑΜΙΑ --- + +
+
+
+Μουσική στο πλαίσιο λαβής - η μουσική στο πλαίσιο λαβής στηχρήση όταν τοποθετείται ο πελάτης στη λαβή. Η προεπιλογή είναιπροεπιλογή. + +
+
+
+Στο γρήγορο όνομα αρχείου λαβής - το ακουστικό αρχείο πουβρίσκεται στον κεντρικό υπολογιστή που παίζεται σε ένα τακτόχρονικό διάστημα όταν είναι ο πελάτης στη λαβή. Η προεπιλογήείναι generic_hold. Αυτό το ακουστικό αρχείο ΠΡΕΠΕΙ να είναι 9δευτερόλεπτα ή λιγότεροι στο μήκος. + +
+
+
+Στο γρήγορο διάστημα λαβής - το χρονικό διάστημα σταδευτερόλεπτα για να περιμένει πρίν παίζει επάνω κρατά γρήγορος.Η προεπιλογή είναι 60. + +
+
+
+Αγρυπνη επέκταση πρακτόρων - η επέκταση που στέλνει στη σύνοδοπρακτόρων για να αναγγείλει ότι μια κλήση έρχεται στον πράκτορα.Αυτή η επέκταση πρέπει να έχει μια αναπαραγωγή ήχου ενόςακουστικού αρχείου. Για να μην χρησιμοποιήσετε αυτήν τηνλειτουργία θέστε αυτό σε Χ. Default είναι Χ. + +
+
+
+Αγρυπνη καθυστέρηση πρακτόρων - το χρονικό διάστημα στα χιλιοστάτου δευτερολέπτου για να περιμένει πρίν στέλνει την κλήση στονπράκτορα μετά από να παίξει την επάνω άγρυπνη επέκτασηπρακτόρων. Η προεπιλογή είναι 1000. + +
+
+
+Ομάδα μεταφοράς προεπιλογής - αυτός ο τομέας είναι η-ΟΜΑΔΑπροεπιλογής που θα επιλεχτεί αυτόματα όταν πηγαίνει ο πράκτοραςστο πλαίσιο μεταφορά-διασκέψεων στη διεπαφή πρακτόρων τους. + + + +



+ +VICIDIAL_REMOTE_AGENTS ΠΙΝΑΚΑΣ

+
+
+Αρχή ID Χρήστη - Αυτό είναι η αρχή του ID Χρήστη που χρησιοποιείται όταν οι καταχωρήσεις των απομακρυσμένων χρηστών παρεμβάλλονται στο σύστημα. Εάν ο αριθμός των γραμμών είναι μεγαλύτερος από 1, αυτός ο αριθμός αυξάνει κατά ένα μέχρι κάθε γραμμή να έχει μία καταχώρηση. Επιβεβαιώστε, ότι δημιουργήσατε ένα νέο VICIDIAL λογαριασμό η με επίπεο χρήσης 4 ή μεγαλύτερο, εάν θέλετε να μπορεί να χρησιμοποιήσει την σελίδα vdremote για απομακρυσμένη πρόσβαση του λογαριασμού του. + +
+
+
+Αριθμός Γραμμών - Αυτό ορίζει πόσες καταχωρήσεις απομακρυσμένων χρηστών το σύστημα δημιουρ, και καθορίζει πόσες γραμμές μπορεί με ασφάλεια να στείλει στον αριθμό παρακάτω. + +
+
+
+IP Διακομιστή - Μία καταχώρηση απομακρυσμένου χρήστη είναι μόνο καλό για ένα συγκεκριμένο διακομιστή, εδώ επιλέγετε τον διακομιστή που ανήκει. + +
+
+
+Εξωτερική Τηλ.Σύνδεση - Αυτός είναι ο αριθμός που θέλετε οι κλήσεις να προωθούνται. Επιβεβαιώστε ότι είναι ένας πλήρης αριθμός από το σχέδιο κλήεων και εάν θέλετε ένα 9 στην αρχή το βάζετε εδώ. Κάντε μία δοκιμή καλώντας αυτόν τον αριθμό από ένα τηλέφωνο του συστήματος. + +
+
+
+Κτάσταση - Εδώ μπορείτε να θέσετε τον απομακρυσμένο χρήστη σε ενεργό και μη ενεργό. Μόλις ο χρήστης γίνει ενεργός το σύστημα μπορεί να στείλει κλήσεις σε αυτόν. Μπορεί να διαρκέσει μέχρι 30 δευτερόλεπτα μετά την αλλαγή της κατάστασης σε μη ενεργός, ώστε να σταματήσει να δέχεται κ. + +
+
+
+Εκστρατεία - Εδώ μπορείτε να επιλέξετε την εκστρατεία όπου οι απομακρυσμένοι χρήστες θα συνδεθούν. Για εισερχόμενες πρέπει να χρησιμοποιηθεί η εκστρατεία CLOSER και επιλέξτε τις εισερχόμενες εκστρατείες παρακάτω, από που θέλετε να λαμβάνεται τις κλήσεις. + +
+
+
+Εισερχόμενες Ομάδες - Εδώ μπορείτε να επιλέξετε τις εισερχόμενες ομάδες που θέλετε να λαμβάνουν τις κλήσεις , εάν έχετε επιλέξει την εκστρατεία CLOSER. + + +



+ +VICIDIAL_CAMPAIGN_ΛΙΣΤΕΣ

+
+
+Οι λίστες της εκστρατείας παρουσιάζονται εδώ, και εάν είναι ενεργές (Υ ή Ν) μπορείτε να πάτε στην οθόνη λίστας με το να πατήσετε στο ID λίστας, στην πρώτη στήλη. + + +



+ +VICIDIAL_CAMPAIGN_STATUSES ΠΙΝΑΚΑΣ

+
+
+Με την χρήση προσαρμοσμένων καταστάσεων εκστρατείας, μπορείτε να έχετε καταστάσεις μόνο για συγκεκριμένες εκστρατείες. Η κατάσταση πρέπει να είναι 1-8 χαρακτήρες, η περιγραφή 2-30 χαρακτήρες και Επιλέξιμα καθορίζεται αν εμφανίζεται στο VICIDIAL ως τερματισμός. Ο τομέας χρησιμοποιείται κατά τον υπολογισμό του ποσοστούπτώσης, ή εγκαταλείπει το ποσοστό. Η ρύθμιση την στο Υ θαχρησιμοποιήσει αυτήν την θέση κατά υπολογισμό τωνανθρώπινος-απαντημένων κλήσεων. Η επιλογή κατηγορίας επιτρέπει σε σας για να ομαδοποιήσειδιάφορες θέσεις σε ένα catogy που μπορεί να χρησιμοποιηθεί γιατη στατιστική ανάλυση. + + + +



+ +VICIDIAL_CAMPAIGN_HOTKEYS ΠΙΝΑΚΑΣ

+
+
+Με την χρήση προσαρμοσμένων κλειδιών εκστρατείας, οι χρήστες που χρησιμοποιούν την εφαρμογή vicidial μπορούν να κλείσουν και να τερματίσουν την κλήση, με ένα μόνο πάτημα πλήκτρου. There are two special HotKey options that you can use in conjunction with Alternate Phone number dialing, ALTPH2 - Alternate Phone Hot Dial and ADDR3-----Address3 Hot Dial allow an agent to use a hotkey to hang up their call, stay on the same lead, and dial another contact number from that lead. + + + + + +



+ +VICIDIAL_LEAD_RECYCLE ΠΙΝΑΚΑΣ

+
+
+Through the use of lead recycling, you can call specific statuses of leads again at a specified interval without resetting the entire list. Lead recycling is campaign-specific and does not have to be a selected dialable status in your campaign. The attempt delay field is the number of seconds until the lead can be placed back in the hopper, this number must be at least 120 seconds. The attempt maximum field is the maximum number of times that a lead of this status can be attempted before the list needs to be reset, this number can be from 1 to 10. You can activate and deactivate a lead recycle entry with the provided links. + + + + + +



+ +VICIDIAL ΑΥΤΟΜΑΤΕΣ ΘΈΣΕΙΣ ΠΙΝΑΚΩΝ ALT

+
+
+Εάν ο αυτόματος τομέας σχηματισμού ALT-ARJCMOY' τίθεται,κατόπιν οι μόλυβδοι που είναι κάτω από αυτές τις αυτόματεςθέσεις πινάκων ALT θα σχηματίσουν το alt_phone και-ή τουςτομείς address3 τους αφότου τίθενται οποιεσδήποτε από αυτέςτις θέσεις κανένας-απάντησης. + + + + + +



+ +VICIDIAL ΚΩΔΙΚΕΣ ΜΙΚΡΗΣ ΔΙΑΚΟΠΉΣ ΠΡΑΚΤΟΡΩΝ

+
+
+_ εάν ο πράκτορας διακοπή κωδικοποιώ ενεργός τομέας είμαι θέτωνα ενεργός έπειτα ο πράκτορας θα είμαι σε θέση να επι:λέγω απόαυτός διακοπή κώδικας όταν αυτός χτυπώ ο ΔΙΑΚΟΠΉ κουμπί τουςοθόνη. Αυτό το στοιχείο αποθηκεύεται έπειτα στο vicidialκούτσουρο πρακτόρων. Ο κώδικας μικρής διακοπής πρέπει ναπεριέχει μόνο τα γράμματα και τους αριθμούς και να είναιλιγότερο από 7 χαρακτήρες μακροχρόνιοι. Το όνομα κώδικα μικρήςδιακοπής δεν μπορεί να είναι πλέον από 30 χαρακτήρες. + + + + + +



+ +VICIDIAL_USER_GROUPS ΠΙΝΑΚΑΣ

+
+
+Ομάδα Χρήστη - Αυτό είναι το σύντομο όνομα της Vicidial ομάδας χρήστη, πρσπαθήστε να μην χρησιμοποιήσετε κενά ή στίξεις για αυτό το πεδίο. Από 2 μέχρι 20 χαρακτήρες. + +
+
+
+Ονομα Ομάδας- Αυτή είναι η περιγραφή της vicidial ομάδας χρήστη μέχρι 40 χαρακτήρες. + +
+
+
+Εκστρατείες - αυτό είναι ένας επιλέξιμος κατάλογος εκστρατειώνστον οποίο τα μέλη αυτής της ομάδας χρηστών μπορούν νασυνδεθούν. Η επιλογή όλος-ΕΚΣΤΡΑΤΕΙΩΝ επιτρέπει στους χρήστες σεαυτήν την ομάδα για να δει και να συνδεθεί σε οποιαδήποτεεκστρατεία στο σύστημα. + + + + + +



+ +VICIDIAL_ΒΟΗΘΟΙ ΠΙΝΑΚΑΣ

+
+
+Ταυτότητα Βοηθού - αυτό είναι το σύντομο όνομα ενός Βοπηθού. Πρέπει να είναι ένα μοναδικό προσδιοριστικό. Προσπαθήστε να μην χρησιμοποιήσετε οποιαδήποτε διαστήμα ή στίξη για τους 10 χαρακτήρες αυτού του πεδίου, ελάχιστο 2 χαρακτήρων. + +
+
+Όνομα Βοηθού - αυτός είναι ο τίτλος ενός Βοηθού. Αυτή είναι μια σύντομη περίληψη. 2-50 χαρακτήρες. Δεν πρέπει να υπάρξουν διάστηματα ή στίξεις σε αυτό το πεδίο. + +
+
+Σχόλια Βοηθού - εδώ μπορείτε να τοποθετήσετε τα σχόλια για έναν Βοηθό. 2-255 χαρακτήρες . + +
+
+Κείμενο χειρόγραφου - This is where you place the content of a Vicidial Script. Minimum of 2 characters. You can have customer information be auto-populated in this script using "--A--field--B--" where field is one of the following fieldnames: vendor_lead_code, source_id, list_id, gmt_offset_now, called_since_last_reset, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, lead_id, campaign, phone_login, group, channel_group, SQLdate, epoch, uniqueid, customer_zap_channel, server_ip, SIPexten, session_id. For example, this sentence would print the persons name in it----

Hello, can I speak with --A--first_name--B-- --A--last_name--B-- please? Well hello --A--title--B-- --A--last_name--B-- how are you today?

This would read----

Hello, can I speak with John Doe please? Well hello Mr. Doe how are you today?

You can also use an iframe to load a separate window within the SCRIPT tab, here is an example with prepopulated variables: + +
+<iframe src="http://astguiclient.sf.net/test_VICIDIAL_output.php?lead_id=--A--lead_id--B--&vendor_id=--A--vendor_lead_code--B--&list_id=--A--list_id--B--&gmt_offset_now=--A--gmt_offset_now--B--&phone_code=--A--phone_code--B--&phone_number=--A--phone_number--B--&title=--A--title--B--&first_name=--A--first_name--B--&middle_initial=--A--middle_initial--B--&last_name=--A--last_name--B--&address1=--A--address1--B--&address2=--A--address2--B--&address3=--A--address3--B--&city=--A--city--B--&state=--A--state--B--&province=--A--province--B--&postal_code=--A--postal_code--B--&country_code=--A--country_code--B--&gender=--A--gender--B--&date_of_birth=--A--date_of_birth--B--&alt_phone=--A--alt_phone--B--&email=--A--email--B--&security_phrase=--A--security_phrase--B--&comments=--A--comments--B--&user=--A--user--B--&campaign=--A--campaign--B--&phone_login=--A--phone_login--B--&fronter=--A--fronter--B--&closer=--A--user--B--&group=--A--group--B--&channel_group=--A--group--B--&SQLdate=--A--SQLdate--B--&epoch=--A--epoch--B--&uniqueid=--A--uniqueid--B--&customer_zap_channel=--A--customer_zap_channel--B--&server_ip=--A--server_ip--B--&SIPexten=--A--SIPexten--B--&session_id=--A--session_id--B--&phone=--A--phone--B--" style="width:580;height:290;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="460" height="290" STYLE="z-index:17"> +</iframe> +
+ +
+
+
+Ενεργός - αυτό καθορίζει εάν αυτός ο οδηγός μπορεί να επιλεχτεί για να χρησιμοποιηθεί από μια εκστρατεία. + + + + + +



+ +VICIDIAL_LEAD_ΦΙΛΤΡΑ ΠΙΝΑΚΑΣ

+
+
+ID Φίλτρου - Αυτό είναι το σύντομο όνομα ενός Φίλτρου Οδηγού. Πρέπει να είναι ένας μοναδικός κωδικός. Μην χρησιμοποιήσετε κενά ή στίξη για αυτό το πεδίο. Χαρακτήρες 2 με 10. + +
+
+Ονομα Φίλτρου - Αυτό είναι ένα πιο περιγραφικό όνομα για το Φίλτρο. Είναι μία σύντομη περιγρφή του φίλτρου. Χαρακτήρες 2 με 30. + +
+
+Σχόλια Φίλτρου - Εδώ μπορείτε σχολιάσετε το φίλτρο. Χαρακτήρες 2 με 255. + +
+
+SQL Φίλτρου - Εδώ μπορείτε να ορίσετε SQL ερώτημα για το φίλτρο. Μην ξεκινήσετε ή τελειώσετε με ένα AND, αυτό θα γίνει αυτόματα από το hopper. Ένα παράδειγμα είναι- called_count > 4 and called_count < 8 -. + + + + + +



+ +VICIDIAL_ΧΡΟΝΟΙ ΚΛΗΣΕΩΝ ΠΙΝΑΚΑΣ

+
+
+ID Χρόνου Κλήσης - Αυτό είναι το σύντομο όνομα του Ορισμού Χρόνου Κλήσης. Πρέπει να είναι ένα μοναδικό στοιχείο. Μην χρησιμοποιηθούν διαστήματα ή στίξεις. 2-10 χαρατήρες. + +
+
+Ονομα Χρόνου Κλήσης - Αυτό είναι ένα πιο περιγραφικό όνομα του Ορισμού Χρόνου Κλήσης. Είναι μία σύντομη περιγραφή. 2-30 χαρακτήρεςΣχόλια Χρόνου Κλήσης - This is where you can place comments for a Vicidial Call Time Definition such as -10am to 4pm with extra call state restrictions-. max 255 characters. + +
+
+Σχόλια Χρόνου Κλήσης - This is where you can place comments for a Vicidial Call Time Definition such as -10am to 4pm with extra call state restrictions-. max 255 characters. + +
+
+Προκαθορισμένοι Χρόνοι Εκκίνησης και Παύσης - Αυτός είναι ο προκαορισμένος χρόνος όπου θα επιτρέπετε οι κλήσεις εάν δεν έχει οριστεί ο χρόνος εκκίνησης της ημέρας-της-εβδομάδας. 0 είναι μεσάνυχτα. Εάν δεν θέλετε καμία κλήση θέστε αυτό το πεδίο σε 2400 και το προκαθορισμένο χρόνο Παύσης σε 2400. Για να επιτρέψετε την 24ωρη κλήση την ημέρα θέστε σε 0 τον χρόνο εκκίνησης και σε 2400 τον χρόνο παύσης +. + +
+
+Εβδομαδιαίοι Χρόνοι Εκκίνησης και Παύσης - Αυτοί είναι προσαρμόσιμοι χρόνοι ανά ημέρα για τον ορισμό χρόνων κλήσεων. + +
+
+Ορισμοί Χρόνων Κλήσεων Καταστάσεων - Είναι η λίστα συγκεκριμένων Ορισμών Χρόνων Κλήσεων Καταστάσεων. + +
+
+Κατάσταση Χρόνου Κλήσης Κατάστασης - Αυτό είναι ο δύο γραμμάτων κωδικός για την κατάσταση όπου ο ορισμός χρόνου κλήης είναι για. Θα πρέπει και οι Οδηγοί της εκστρατείας να έχουν δύο γράμματα κωδικούς κατάστασης για τον χρόνο κλήσης κατάστασης. + + + + +



+ +ΛΕΙΤΟΥΡΓΙΑ ΕΙΣΑΓΩΓΗΣ ΛΙΣΤΑΣ

+
+
+Ο βασικός βασισμένος στο WEB φορτωτής μολύβδου VICIDIALσχεδιάζεται απλά για να πάρει ένα αρχείο μολύβδου - μέχρι8MB στο μέγεθος - που είναι είτε ετικέττα είτε σωλήνας πουοριοθετείται και τον φορτώνει στον πίνακα vicidial_list. Οφορτωτής μολύβδου επιτρέπει τον τομέα επιλέγοντας και TXT -σαφές κείμενο, CSV - κόμμα χώρισε τις τιμές και XLS -σχήματα αρχείων Excel. Ο φορτωτής μολύβδου δεν κάνει τηνεπικύρωση στοιχείων, αλλά επιτρέπει σε σας για να ελέγξει για τααντίγραφα σε το, μέσα στην εκστρατεία ή μέσα το σε ολόκληροσύστημα. Επίσης, σιγουρευτείτε ότι έχετε δημιουργήσει τονκατάλογο ότι αυτοί οι μόλυβδοι πρόκειται να κάτω έτσι ώστεμπορείτε να τους χρησιμοποιήσετε. Εδώ είναι ένας κατάλογος τωντομέων στην κατάλληλη διαταγή τους για τα αρχεία μολύβδου: +
    +
  1. Κωδικός Οδηγού Προμηθευτού +
  2. Πηγαίος Κώδικας - εσωτερική χρήση μόνο από διαχειριστές και DBAs +
  3. ID λίστας - ο αριθμός λίστας που οι οδηγοί θα παρουσιαστούν κάτω από +
  4. Κωδικός τηλεφώνου - το πρόθεμα του τηλεφωνικού αριθμού (1 για ΗΠΑ, 01144 για Βρετανία κλπ) +
  5. Ο αριθμός τηλεφώνου - πρέπει να είναι τουλάχιστον 8 ψηφία +
  6. Τίτλος - ο τίτλος του πελάτη (κος. κα. κλπ) +
  7. Ονομα +
  8. Μεσαίο Αρχικό +
  9. Επίθετο +
  10. 1 Γραμμή Διεύθυνσης +
  11. 2 Γραμμή Διεύθυνσης +
  12. 3 Γραμμή Διεύθυνσης +
  13. Πόλη +
  14. Κράτος - περιορισμός σε 2 χαρακτήρες +
  15. Επαρχία +
  16. Ταχ.Κωδ. +
  17. Χώρα +
  18. Φύλο +
  19. Ημερ. Γέννησης +
  20. Εναλ. Αριθμός Τηλ. +
  21. Διεύθυνση Ηλεκτρ.Ταχυδρομείου +
  22. Φράση Ασφαλείας +
  23. Σχόλια +
+ +
ΣΗΜΕΙΩΣΕΙΣ: Η λειτουργία φορτωτών μολύβδου Excel επιτρέπεταιαπό μια σειρά χειρογράφων perl και πρέπει να έχει κατάλληλαδιαμορφωμένη/ένα αρχείο κ.λπ.../astguiclient.conf σε ισχύ στονκεντρικό υπολογιστή δικτύου. Επίσης, οι ενότητες ζευγών perlπρέπει να φορτωθούν για το για να εργαστούν επίσης - ολε-Storage_Lite και υπολογισμός με λογιστικό φύλλο(spreadsheet)- ParseExcel. Μπορείτε να ελέγξετε για τα λάθηχρόνου εκτέλεσης σε αυτοί με την εξέταση το αρχείο apache σαςerror_log. Επίσης, για τους ελέγχους διπλασιασμού ενάντια στουςκαταλόγους gampaign, ο κατάλογος που έχει τα νέα προβαδίσματαπου πηγαίνουν σε το πρέπει να δημιουργηθεί στο σύστημα προτού νααρχίσετε να φορτώνετε τους μολύβδους. + + + + +



+ + + + + + +ΠΙΝΑΚΑΣ ΤΗΛΕΦΩΝΩΝ

+
+
+Εωτ.Σύνδεση Τηλεφώνου - Αυτό το πεδίο είναι για την καταχώρηση του ονόματος του τηλεφώνου, όπως αυτό εμφανίζεται στο Asterisk, χωρίς να συμπεριλαμβάνει το πρωτόκολλο ή slash στην αρχή. Για παράδειγμα: για SIP τηλέφωνο SIPVtest101 η Εσω.Γραμμή Τηλεφώνου θα είναι test101. Επίσης, για IAX2 τηλέφωνα χρησιμοποιείστε τα πλήρης ονόματα: IAX2/IAXphone1@IAXphone1 θα είναι IAXphone1@IAXphone1. Για Zap τηλέφωνα καταχωρήστε το πλήρες κανάλι: Zap/25-1 θα είναι 25-1. Αλλη σημείωση, ορίστε το πρωτόκολλο παρακάτω σωστά για τον τύπο του τηλεφώνου. + +
+
+
+Αριθμός Σχεδίου Κλήσεων - Αυτό το πεδίο είναι για τον αριθμό που καλείται για να κουδουνίζει το τηλέφωνο. Αυτός ο αριθμός ορίζεται στο αρχείο extensions.conf του διακομιστή Asterisk + +
+
+
+Περιεχόμενο Φωνητικού Ταχυδρομείου - Αυτό το πεδίο είναι για το περιεχόμενο του φωνητικού ταχυδρομείου, όπου πηγαίνουν τα μηνύματα του τηλεφώνου του χρήστη. Το χρησιμοποιούμαι για να ελέγξουμε τα φωνητικά μηνύματα και για να μπορεί ο χρήστης να χρησιμοποιήσει το πλήκτρο VOICEMAIL. + +
+
+
+CallerID Εξερχομένων - Αυτό το πεδίο είναι για την καταχώριση του αριθμού callerID που θα θέλατε να εμφανίζεται στις εξερχόμενες κλήσεις. + +
+
+
+Δνση IP Τηλεφώνου - Αυτό το πεδίο είναι για την δνση IP του τηλέφωνου εάν είναι ένα VOIP τηλέφωνο. Αυτό είναι ένα προαιρετικό πεδίο + +
+
+
+Δνση IP Υπολογιστού - Αυτό το πεδίο είναι για την δνση IP του υπολογιστή του χρήστη. Αυτό είναι ένα προαιρετικό πεδίο + +
+
+
+IP Διακομιστή - Αυτός ο κατάλογος επιλογών είναι που επιλέγετε σε ποιον διακομιστή το τηλέφωνο είναι ενεργό. + +
+
+
+Σύνδεση - η σύνδεση που χρησιμοποιείται για τον τηλεφωνικό χρήστηστη σύνδεση στις εφαρμογές πελατών. + +
+
+
+Κωδικός πρόσβασης - ο κωδικός πρόσβασης που χρησιμοποιείται γιατον τηλεφωνικό χρήστη στη σύνδεση στις εφαρμογές πελατών. + +
+
+
+Κατάσταση - Η κατάσταση του τηλεφώνου στο σύστημα, ΕΝΕΡΓΗ και ΔΙΑΧ επιτρέπουν στους GUI πελάτες να δουλέψουν. Η ΔΙΑΧ επιτρέπει την πρόσβαση στην ιστοσελίδα διαχείρισης. + +
+
+
+Ενεργός Λογαριασμός - Κατά πόσο το τηλέφωνο είναι ενεργό για να τοποθετηθεί στην λίστα στο GUI. + +
+
+
+Τύπος Τηλεφώνου - Απλά για σημειώσεις διαχείρισης. + +
+
+
+Πλήρες Ονομα - Χρησιμοποιείται από τον χρήστη GUI στην λίστα ενεργών τηλεφώνων. + +
+
+
+Εταιρία - Απλά για σημειώσεις διαχείρισης. + +
+
+
+Εικόνα - Δεν έχει υλοποιηθεί ακόμα. + +
+
+
+Νέα Μηνύματα - Αριθμός νέων φωνητικών μηνυμάτων για αυτό το τηλέφωνο στον διακομιστή Asterisk. + +
+
+
+Παλαιά Μηνύματα - Αριθμός παλαιών φωνητικών μηνυμάτων για αυτό το τηλέφωνο στον διακομιστή Asterisk. + +
+
+
+Πρωτόκολλο Πελάτη - Το πρωτόκολλο που χρησιμοποιεί το τηλέφωνο για συνδεθεί στον διακομιστή Asterisk: SIP, IAX2, Zap. + +
+
+
+οπική GMT - Η διαφορά από την GMT όπου το τηλέφωνο βρίσκεται. Μην το ρυθμίσετε για DAYLIGHT SAVINGS ΩΡΑ. Αυτή χρησιμοποιείται από την VICIDIAL εκστρατεία για την επακριβή εμφάνιση της ώρας. + +
+
+
+Σύνδεση Διαχειριστή - Αυτή είναι η σύνδεση που χρησιμοποιούν οι GUI χρήστες του τηλεφώνου, για πρόσβαση στην Βάση Δεδομένων όπου ο διακομιστής δεδομένων βρίσκεται. + +
+
+
+Μυστικό Διαχειριστή - Αυτός είναι ο κωδικός που χρησιμοποιούν οι GUI χρήστες του τηλεφώνου, για πρόσβαση στην Βάση Δεδομένων όπου ο διακομιστής δεδομένων βρίσκεται. + +
+
+
+Προκαθορισμένος VICIDIAL Χρήστης - Εδώ ορίζεται μία προκαθορισμένη τιμή χρήστη, οπουδήποτε αυτός ο χρήστης τηλεφώνου ανοίξει την εφαρμογή VICIDIAL. Αφήστε κενό για κανένα χρήστη. + +
+
+
+Προκαθορισμένος VICIDIAL Κωδικός - Εδώ ορίζεται μία προκαθορισμένη τιμή κωδικού, οπουδήποτε αυτός ο χρήστης τηλεφώνου ανοίξει την εφαρμογή VICIDIAL. Αφήστε κενό για κανένα κωδικό. + +
+
+
+VICIDIAL Προκαθορισμένη Εκστρατεία - Εδώ ορίζεται μα προκαθορισμένη τιμή εκστρατείας, οπουδήποτε αυτός ο χρήστης τηλεφώνου ανοίξει την εφαρμογή VICIDIAL. Αφήστε κενό για καμία εκστρατεία. + +
+
+
+Εσ.Σύνδ. Στάθμευσης - Αυτή είναι η προκαθορισμένη εσωτ.σύνδεση Στάθμευσης για τις εφαρμογές του χρήστη. + +
+
+
+Εσ.Σύνδ. Συνδιάλεξης - Αυτή είναι η προκαθορισμένη εσωτ.σύνδεση Συνδιάλεξης για τις εφαρμογές του χρήστη. + +
+
+
+Εσωτ.Σύνδεση Στάθμευσης VICIDIAL - Η προκαθορισμένη εσωτ.σύνδεση στάθμευσης. Εξακριβώστε ότι κάποια διαφορετική δουλεύει πριν την αλλάξετε. + +
+
+
+ Αρχείο Στάθμευσης VICIDIAL - Το προκαθορισμένο αρχείο στάθμευσης. Μέχρι 10 χαρακτήρες. + +
+
+
+Πρόθεμα παρακολούθησης - Αυτό είναι το πρόθεμα παρακολούθησης των καναλιών ZAP. + +
+
+
+Εσωτ.Σύνδεση Ηχογράφησης - Αυτή είναι η εσωτ.σύνδεση του πλάνου κλήσεων για την εσωτ.σύνδεση ηχογράφησης που χρησιμοποιείται για μεταφορά στις συνδιαλέξεις, ώστε να ηχογραφηθούν.Extensions.conf . + +
+
+
+Βασική Εσωτ.Σύνδεση VMAIL - Αυτή είναι η εσωτ.σύνδεση του πλάνου κλήσεων που ελέγχει την θυρίδα ηχητικών μηνυμάτων. + +
+
+
+Εσωτ.Σύνδεση απόρριψης VMAIL - Αυτο είναι το πρόθεμα του πλάνου κλήσεων που χρησιμοποιείται στο να στέλνει κλήσεις κατευθείαν στη θυρίδα του χρήστη από μία κλήση. + +
+
+
+Περιεχόμενο Εσωτ.Σύνδεσης - Αυτό είναι το περιεχόμενο του πλάνου κλήσεων όπου το τηλέφωνο χρησιμοποιεί. + +
+
+
+Κανάλι αποστολής DTMF - Αυτό είναι το κανάλι του χρησιμοποιείται για την αποστολή DTMF ήχων στις συνδιαλέξεις. + +
+
+
+Εξερχόμεη ομάδα κλήσης - αυτή είναι η ομάδα καναλιού όπου οι εξερχόμενες κλήσεις από αυτό το τηλέφωνο τοποθετούνται. Υπάρχουν ρουτίνες που την χρησιμοποιούν. Για τα κανάλια Zap θέλετε να χρησιμοποιήσετε κάτι σαν Zap/g2, για IAX2 trunks θα θέλετε να χρησιμοποιήσετε το πλήρες πρόθεμα IAX όπως IAX2/VICItest1:secret@10.10.10.15:4569. Ελέγξτε τα trunks με το αρχείο extensions.conf. + +
+
+
+Περιοχή Ιστο-Πλοηγού - Αυτό χρειάζεται μόνο σε Linux συστήματα. + +
+
+
+Κατάλογος Εγκατάστασης - . + +
+
+
+CallerID URL - Αυτή είναι η Δνση της ιστοσελίδας που χρησιμοποιείται για αναζήτηση με callerID + +
+
+
+Προκαθορισμένο VICIDIAL URL - Αυτή είναι η δνση ιστοσελίδας που χρησιμοποιείται για προσαρμοσμένα VICIDIAL ερωτήματα ιστοσελίδας + +
+
+
+Καταγραφή Γεγονότων Κλήσης - Αυτό τοποθετείται σε αληθές εάν το αρχείο call_log.agi βρίσκεται στο αρχείο extensions.conf για τις εξερχόμενες κλήσεις και για τις εσωτ.συνδέσεις 'h' που κλείνουν. Αυτό πρέπει πάντα να είναι 1 για να δουλεύουν σωστά πολλά χαρακτηριστικά των εφαρμογών. + +
+
+
+Μεταγωγή Χρήστη - Εάν το θέσετε σε αληθές θα επιτρέπετε στους χρήστες να μεταβούν σε άλλον λογαριασμό χρήστη + +
+
+
+Σε συνδιάλεξη - Εάν το θέσετε σε αληθές θα επιτρέπετε στους χρήστες να ξεκινούν συνδιαλέξεις μέχρι 6 εξωτερικές γραμμές. + +
+
+
+Διαχειριστού Κλείσιμο- Εάν το θέσετε σε αληθές θα επιτρέπετε στους χρήστες να κλείνουν κάθε γραμμή. + +
+
+
+Διαχειριστού Κλέψιμο - Εάν το θέσετε σε αληθές θα επιτρέπετε στους χρήστες να λαμβάνουν και να ανακατευθύνουν στην εσωτ.σύνδεσή τους οποιαδήποτε γραμμή. + +
+
+
+Διαχειριστού Παρακολούθηση - Εάν το θέσετε σε αληθές θα επιτρέπετε στους χρήστες να λαμβάνουν και να ανακατευθύνουν στην εσωτ.σύνδεσή τους οποιαδποτε γραμμή. + +
+
+
+Στάθμευση Κλήσης - Εάν το θέσετε σε αληθές θα επιτρέπετε σε χρήστες να σταθμεύουν κλήσεις και κλήσεις σε αναμονή να διαχειρίζονται από οποιοδήποτε άλλο ρήστη. Οι κλήσεις μένουν σε αναμονή για 30 δευτερόλεπτα και μετά κλείνουν. Συνήθως ενεργοποιημένη για όλους. + +
+
+
+Ενεργοποιημένη Ουρά - Εάν το θέσετε σε αληθές θα εμφανίζεται ένα παράθυρο ειδοποίησης, ότι η ώρα ενημέρωσης δεν έχει αλλάξει σε 20 δευτερόλεπτα. + +
+
+
+AF Καταγραφή Γεγονότος - Εάν το θέσετε σε αληθές θα καταγράφονται οι ενέργειες χρήσης του astGUIclient σε ένα αρχείο στον υπολογιστή του χρήστη. + +
+
+
+Ενεργοποιημένη Ουρά - Εάν το θέσετε σε αληθές οι εφαρμογές θα χρησιμοποιούν το ACQS. + +
+
+
+Υπερεμφανιζόμενο παραθύρο CallerID - Εάν το θέσετε σε αληθές θα επιτρέψετε σε αριθμούς ορισμένους στο αρχείο extensions.conf, να στέλνουν οθόνες με CallerID στους astGUIclient χρήστες. + +
+
+
+VMail Πλήκτρο - Εάν το θέσετε σε αληθές θα εμφανιστεί το πλήκτρο VOICEMAIL και τα μηνύματα μπορούν να εμφανίζονται στο astGUIclient. + +
+
+
+Ταχύτητα Ανανέωσης - Εάν το θέσετε σε αληθές ενεργοποιείται ένα νέο ρυθμό ανανέωσης πληροφοριών κλήσης για το astGUIclient. Προκαθορισμένος απενεργοποιημένος ρυθμός είναι 1000 ms (1 δευτερόλεπτο). + +
+
+
+Ρυθμός Ανανέωσης Ταχύτητας - σε χιλιοστά δευτερολέπτου. Χρημοποιείται μόνο εάν η Ταχύτητα Ανανέωσης είναι ενεργοποιημένη. Προκαθορισμένος απενεργοποιημένος ρυθμός είναι 1000 ms (1 δευερόλεπτο). + +
+
+
+Συνεχής MySQL - Εάν είναι ενεργοποιημένο, το astGUIclient θα παραμένει συνδεμένο αντί να συνδέεται κάθε δευτερόλεπτο. + +
+
+
+Αυτόματη Κλήση Επόμενου Αριθμού - Εάν είναι ενεργοποιημένο, μετά από τον τερματισμό θα γίνει κλήση του επόμενου αριθμού, εκτός εάν επιλέξουμε "Μη κάνεις κλήσεις". + +
+
+
+Σταμάτα την ηχογράφηση μετά από κάθε κλήση - Εάν είναι ενεργοποιημένο η ηχογράφηση θα σταματήσει μετά τον τερματισμό. + +
+
+
+Επιτρέψτε τα μηνύματα SIPSAK - εάν επιτρέπεται ο κεντρικόςυπολογιστής θα στείλει τα μηνύματα στο τηλέφωνο ΓΟΥΛΙΏΝ στηνεπίδειξη στην τηλεφωνική LCD επίδειξη όταν συνδέεται μεVICIDIAL. Το χαρακτηριστικό γνώρισμα λειτουργεί μόνο με τατηλέφωνα ΓΟΥΛΙΩΝ και απαιτεί sipsak την εφαρμογή για ναεγκατασταθεί στον κεντρικό υπολογιστή δικτύου. Η προεπιλογήείναι 0. + +
+
+
+DBΧ Διακομιστής - Ο διακομιστής της Βάσης Δεδομένων MySQL που ο χρήστης θα συνδεθεί. + +
+
+
+DBΧ Βάση Δεδομένων - Η βάση δεδομένων MySQL στην οποία ο χρήστης θα συνδεθεί. Η προκαθορισμένη είναι asterisk. + +
+
+
+DBΧ Χρήστης - Ο χρήστης MySQL για την σύνδεση. Ο προκαθορισμένος είναι cron. + +
+
+
+DBΧ Κωδικός - Ο κωδικός χρήστη MySQL που ο χρήστης χρησιμοποιεί όταν συνδέεται. Ο προκαθορισμένος είναι 1234. + +
+
+
+DBΧ Πόρτα - Η MySQL TCP πόρτα που ο χρήστης χρησιμοποιεί όταν συνδέεται. Η προκαθορισμένη είναι 3306. + +
+
+
+DBY Διακομιστής - Ο διακομιστής της Βάσης Δεδομένων MySQL που ο χρήστης θα συνδεθεί. Δευτερεύονserver, μην χρησιμοποιημένος αυτήν την περίοδο. + +
+
+
+DBY Βάση Δεδομένων - Η βάση δεδομένων MySQL στην οποία ο χρήστης θα συνδεθεί. Η προκαθορισμένη είναι asterisk. Δευτερεύονserver, μην χρησιμοποιημένος αυτήν την περίοδο. + +
+
+
+DBY Χρήστης - Ο χρήστης MySQL για την σύνδεση. Ο προκαθορισμένος είναι cron. Δευτερεύονserver, μην χρησιμοποιημένος αυτήν την περίοδο. + +
+
+
+DBY Κωδικός - Ο κωδικός χρήστη MySQL που ο χρήστης χρησιμοποιεί όταν συνδέεται. Ο προκαθορισμένος είναι 1234. Δευτερεύονserver, μην χρησιμοποιημένος αυτήν την περίοδο. + +
+
+
+DBY Πόρτα - Η MySQL TCP πόρτα που ο χρήστης χρησιμοποιεί όταν συνδέεται. Η προκαθορισμένη είναι 3306. Δευτερεύονserver, μην χρησιμοποιημένος αυτήν την περίοδο. + + +



+ +ΠΙΝΑΚΑΣ ΔΙΑΚΟΜΙΣΤΩΝ

+
+
+ID Διακομιστή - Σε αυτό το πεδίο ορίζεται το όνομα του διακομιστή Asterisk, είναι μόνο μία επωνυμία ώστε να αναγνωρίζεται από τους διαχειριστές. + +
+
+
+Περιγραφή Διακομιστή - Το πεδίο στο οποίο περιγράφεται με μία φράση τον διακομιστή Asterisk. + +
+
+
+Δνση IP Διακομιστή - Το πεδίο που ορίζεται η δνση IP του δικτύου του διακομιστή Asterisk. + +
+
+
+Ενεργός - Ορίζει κατά πόσον ο διακομιστής Asterisk είναι ενεργός ή μη ενεργός. + +
+
+
+Εκδοση Asterisk. + +
+
+
+Μέγιστος Αριθμός Trunk του VICIDIAL - Αυτό το πεδίο θα προσδιορίσει τον μέγιστο αριθμό γραμμών, τις οποίες θα χρησιμοποιήσει η διεργασία αυτόατης κλήσης. Εάν θέλετε να αφιερώσετε δύο PRI σε ένα διακομιστή τότε θα πρέπει να το ορίσετε σε 46. Το προκαθορισμένο είναι 96. + +
+
+
+Telnet Πελάτης - Αυτή είναι η δνση ή το όνομα του διακομιστή Asterisk και το πώς οι εφαρμογές διαχείρισης συνδέονται σε αυτόν, όπου τρέχουν. Το προκαθορισμένο είναι 'localhost'. + +
+
+
+Πόρτα Telnet - Αυτή είναι η πόρτα της σύνδεσης με τον διαχειριστή του διακομιστή Asterisk και το πώς οι εφαρμογές διαχείρισης συνδέονται σε αυτόν, όπου τρέχουν. Το προκαθορισμένο είναι '5038'. + +
+
+
+ Διαχειριστής Χρήστης - Το όνομα χρήστη που χρησιμοποιείτε γενικά για τον διαχειριστή του διακομιστή Asterisk. Το προκαθορισμένο είναι 'cron' + +
+
+
+Μυστικό Διαχειριστή - Το μυστικό ή κωδικός που χρησιμοποιείτε γενικά για τον διαχειριστή του διακομιστή Asterisk. Το προκαθορισμένο είναι '1111' + +
+
+
+Ενημέρωση Χρήστη Διαχειριστή - Το όνομα χρήστη που χρησιμοποιείτε για σύνδεση στον διακομιστή Asterisk, βελτιστοποιημένο για διεργασίες ενημέρωσης. Το προκαθορισμένο είαι 'updatecron'. + +
+
+
+Ακουσμα Χρήστη Διαχειριστή- Το όνομα χρήστη που χρησιμοποιείτε για σύνδεση στον διακομιστή Asterisk, βελτιστοποιημένο για διεργασίες που μόνο ακούν για έξοδο. Τ προκαθορισμένο είναι 'listencron'. + +
+
+
+Αποστολή Διακομιστή Διαχειριστή- Το όνομα χρήστη που χρησιμοποιείτε για σύνδεση στον διακομιστή Asterisk, βελτιστοποιημένο για διεργασίες που μόνο στέλνουν Ενέργειες στον διαχειριστή.Το προκαθορισμένο είναι 'sendcron'. + +
+
+
+GMT offset Διακομιστής - Η διαφορά σε ώρες από την GMT ώρα που δεν έχει ρυθμιστεί με Daylight-Savings-Time. Το προκαθορισμένο είναι '-5' + +
+
+
+Εσωτ.σύνδεση απόρριψης VMail - Το πρόθεμα εσωτ.σύνδεσης που χρησιμοποιείται στον διακομιστή για να στείλει τις κλήσεις κατευθείαν μέσω agc σε ένα συγκεκριμένο φωνητικό ταχυδρομείο. Το προκαθορισμένο είναι '85026666666666' + +
+
+
+VICIDIAL AD εσωτ.σύνδεση - Η προκαθορισμένη εσωτ.σύνδεση εάν δεν έχει οριστεί στην εκστρατεία για να στείλει τις κλήσεις στην διεργασία αυτόματης κλήσης. Η προκαθορισμένη είναι '8365' + +
+
+
+Προκαθορισμένο Περιεχόμενο - Το προκαθορισμένο περιεχόμενο του πλάνου κλήσεων για διεργασίες του διακομιστή. Το προκαθορισμένο είναι 'προκαθορισμένο' + +
+
+
+Επίδοση Συστήματος - Θέτοντας αυτήν την επιλογή σε Ν, θα ενεργοποιήσετε την καταγραφή στατιστικών γεγονότων επίδοσης για τον διακομιστή, συμπεριλαμβάνοντας το φόρτο του συστήματος, τις διεργασίες και τα κανάλια που χρησιμοποιεί. Προκαθορισμένα είναι Ο. + +
+
+
+Γεγονότα Διακομιστή - Θέτοντας αυτήν την επιλογή σε Ν θα ενεργοποιήσετε την καταγραφή των γεγονότων για όλες τις διεργασίες. Επίσης, η καταγραφή γεγονότων της οθόνης θα είναι απενεργοποιημένη, εάν είναι Ν όταν το σύστημα ξεκινήσει. Προκαθορισμένα είναι Ν. + +
+
+
+Εξοδος AGI - Θέτοντας αυτήν την επιλογή σε NONE θα απενεργοποιήσετε την έξοδο από όλες τις διαδικασίες AGI. Αν θέσετε STDERR θα σταλεί η έξοδος των AGI στο CLI. Επίσης υπάρχουν οι επιλογές FILE και BOTH. Προκαθορισμένα είναι FILE. + +
+
+
+Διακύμανση Τηλεφωνικής Κλήσης - Καθορίζοντας αυτό το πεδίο σε Ν θα επιτρέψει στον εξυπηρετητή να ορίζει κλήσεις διακύμανσης για την εκστρατεία, ώστε το καθορισμένο επίπεδο κλήσης να μπορεί να ικανοποιείται έστω και εάν δεν υπάρχουν συνδεμένοι χειριστές σε αυτήν την εκστρατεία. Προκαθορισμένα είναι Ο. + +
+
+
+Διακύμανση εκτός ορίων - Καθορίζει τον αριθμό των τηλ.κυκλ.συνδ. που δεν επιτρέπετε στο σύστημα να χειριστεί για Διακύμανση Τηλεφωνικής Κλήσης. + + +



+ +ΠΙΝΑΚΑΣ ΣΥΝΔΙΑΛΕΞΕΩΝ

+
+
+Αριθμός Συνδιάλεξης - Αυτό το πεδίο είναι για τον αριθμό συνδιάλεξης meetme στο σχέδιο κλήσεων. Επίσης, συνιστούμε ο αριθμς meetme στο meetme.conf να ταιριάζει με αυτό τον αριθμό για κάθε καταχώρηση. Αυτό είναι για τις συνδιαλέξε στο astGUIclient και χρησιμοποιείται για την λειτουργία αποχώρησης από κλήση με 3 γραμμές στο VICIDIAL. + +
+
+
+IP Διακομιστή- Ο κατάλογος που επιλέξατε τον διακομιστή ASTERISK όπου η συνδιάλεξη θα είναι. + + + + +



+ +VICIDIAL_SERVER_TRUNKS ΠΙΝΑΚΑΣ

+
+
+Οι Τηλ.Κυκλ.Συνδ. του εξυπηρετητή σας επιτρέπουν να περιορίσετε τις εξερχόμενες γραμμές που χρησιμοποιούνται στον εξυπηρετητή ανά εκστρατεία. Χωρίς αυτές τις εγγραφές, επιτρέπετε στην εκστρατεία να έχει όσες γραμμές μπορεί να έχει, μέχρι τον μέγιστο καθορισμένο αριθμό Τηλ.Κυκλ.Συνδ.. + + + + + +



+ +SYSTEM_SETTINGS ΠΙΝΑΚΑΣ

+
+
+Μη-λατινικά χρήσης - αυτή η επιλογή επιτρέπει σε σας για ναπροκαθορίσει το χειρόγραφο επίδειξης Ιστού για να χρησιμοποιήσειUTF8 τους χαρακτήρες και να μην κάνει οποιαδήποτε φιλτράρισμαλατινικός-χαρακτήρας-οικογενειακής κανονική έκφρασης ήμορφοποίηση επίδειξης. Η προεπιλογή είναι 0. + +
+
+
+Webroot writable - αυτή η ρύθμιση επιτρέπει σε σας για νακαθορίσει εάν temp τα αρχεία και τα αρχεία επικύρωσης πρέπεινα τοποθετηθούν στο webroot στον κεντρικό υπολογιστή δικτύουσας. Η προεπιλογή είναι 1. + +
+
+
+Επιτρέψτε την αναγραφή QueueMetrics - αυτή η ρύθμιση επιτρέπεισε σας για να καθορίσει εάν VICIDIAL θα παρεμβάλει τιςκαταχωρήσεις κούτσουρων στον πίνακα βάσεων δεδομένων queue_logόπως η δραστηριότητα σειρών αναμονής αστερίσκων. ΤοQueueMetrics είναι ένα πρόγραμμα αυτόνομης, ανάλυσηςκλείνω-πηγής στατιστικό. Πρέπει που εγκαταστάθηκε ήδη ναδιαμορφώσετε QueueMetrics και πρίν επιτρέπετε αυτό τοχαρακτηριστικό γνώρισμα. Η προεπιλογή είναι 0. + +
+
+
+QueueMetrics κεντρικός υπολογιστής IP - αυτό είναι ηδιεύθυνση IP της βάσης δεδομένων για την εγκατάστασηQueueMetrics σας. + +
+
+
+QueueMetrics όνομα βάσεων δεδομένων - αυτό είναι το όνομαβάσεων δεδομένων για τη βάση δεδομένων QueueMetrics σας. + +
+
+
+QueueMetrics σύνδεση βάσεων δεδομένων - αυτό είναι το όνομαχρηστών που χρησιμοποιείται για να συνδεθεί στη βάση δεδομένωνQueueMetrics σας. + +
+
+
+QueueMetrics κωδικός πρόσβασης βάσεων δεδομένων - αυτό είναιο κωδικός πρόσβασης που χρησιμοποιείται για να συνδεθεί στη βάσηδεδομένων QueueMetrics σας. + +
+
+
+QueueMetrics URL - αυτό είναι η διεύθυνση URL ήιστοχώρων που χρησιμοποιείται για να φτάσει στην εγκατάστασηQueueMetrics σας. + +
+
+
+QueueMetrics ταυτότητα κούτσουρων - αυτό είναι η ταυτότητακεντρικών υπολογιστών που όλα τα κούτσουρα VICIDIAL πουπηγαίνουν στη βάση δεδομένων QueueMetrics θα χρησιμοποιήσουν ωςπροσδιοριστικό για κάθε αρχείο. + +
+
+
+QueueMetrics EnterQueue Prepend - αυτός ο τομέαςχρησιμοποιείται για να επιτρέψει ένας από τους τομείς στοιχείωνvicidial_list μπροστά από τον τηλεφωνικό αριθμό του πελάτη γιατις προσαρμοσμένες εκθέσεις QueueMetrics. Η προεπιλογή δενείναι ΚΑΜΙΑ για να μην εποικήσει τίποτα. + +
+
+
+VICIDIAL ο πράκτορας θέτει εκτός λειτουργίας την επίδειξη - αυτός ο τομέας χρησιμοποιείται για να επιλέξει πότε για ναπαρουσιάσει σε έναν πράκτορα πότε η σύνοδός τους έχει τεθείεκτός λειτουργίας από το σύστημα, μια δράση διευθυντών ή απόένα εξωτερικό μέτρο. Η ρύθμιση NOT_ACTIVE θα θέσει εκτόςλειτουργίας το μήνυμα στην οθόνη πρακτόρων. Η ρύθμισηLIVE_ΧΕΙΡΙΣΤΗΣθα επιδείξει μόνο το εκτός λειτουργίας μήνυμα όταναφαιρεθεί το αρχείο πρακτόρων vicidial_auto_calls, όπως κατάτη διάρκεια μιας αποσύνδεσης δύναμης ή της αποσύνδεσης έκτακτηςανάγκης. + +
+
+
+Επιτρέψτε τα μηνύματα SIPSAK - εάν θέστε 1, αυτό θα επιτρέψειτον τηλεφωνικό πίνακα θέτοντας για να εργαστεί κατάλληλα, οκεντρικός υπολογιστής θα στείλει τα μηνύματα στο τηλέφωνοΓΟΥΛΙΏΝ στην επίδειξη στην τηλεφωνική LCD επίδειξη ότανσυνδέεται με VICIDIAL. Αυτό το χαρακτηριστικό γνώρισμαλειτουργεί μόνο με τα τηλέφωνα ΓΟΥΛΙΩΝ και απαιτεί sipsak τηνεφαρμογή για να εγκατασταθεί στον κεντρικό υπολογιστή δικτύου. Ηπροεπιλογή είναι 0. + +
+
+
+Σπίτι URL Admin - αυτό είναι η διεύθυνση URL ήιστοχώρων ότι θα πάτε εάν χτυπήσετε στην ΕΓΧΏΡΙΑ σύνδεση στηνκορυφή της σελίδας admin.php. + +
+
+
+Επιτρέψτε το αρχείο ημερολογίου μεταφοράς πρακτόρων - αυτή ηεπιλογή θα καταγράψει σε ένα αρχείο ημερολογίου κειμένων στοwebserver κάθε φορά που μεταφέρεται μια κλήση σε ένανπράκτορα. Η προεπιλογή είναι 0, άτομα με ειδικές ανάγκες. + + + + + +



+ +VICIDIAL_STATUSES ΠΙΝΑΚΑΣ

+
+
+Μέσω της χρήσης των θέσεων συστημάτων, μπορείτε να έχετε τιςθέσεις που υπάρχουν για την εκστρατεία και την-ΟΜΑΔΑ. Η θέσηπρέπει να είναι 1-6 χαρακτήρες στο μήκος, η περιγραφή πρέπεινα είναι 2-30 χαρακτήρες στο μήκος και επιλέξιμος καθορίζειεάν παρουσιάζει σε VICIDIAL ως διάθεση πρακτόρων. Ο τομέαςχρησιμοποιείται κατά τον υπολογισμό του ποσοστού πτώσης, ήεγκαταλείπει το ποσοστό. Η ρύθμιση την στο Υ θα χρησιμοποιήσειαυτήν την θέση κατά υπολογισμό των ανθρώπινος-απαντημένωνκλήσεων. Η επιλογή κατηγορίας επιτρέπει σε σας για ναομαδοποιήσει διάφορες θέσεις σε ένα catogy που μπορεί ναχρησιμοποιηθεί για τη στατιστική ανάλυση. + + +



+ +VICIDIAL_STATUS_CATEGORIES ΠΙΝΑΚΑΣ

+
+
+Μέσω της χρήσης των κατηγοριών θέσης συστημάτων, μπορείτε νασυγκεντρώσετε τις θέσεις για να επιτρέψετε τη στατιστική ανάλυσησε μια ομάδα θέσεων. Η ταυτότητα κατηγορίας πρέπει να είναι2-20 χαρακτήρες στο μήκος χωρίς τα διαστήματα, το όνομαπρέπει να είναι 2-50 χαρακτήρες στο μήκος, η περιγραφή είναιπροαιρετική και η επίδειξη TimeonVDAD καθορίζει εάν εκείνη ηθέση θα είναι ενός θέσης από μέχρι 4 θέσεις που μπορούν ναυπολογιστούν και να επιδειχθούν στο χρόνο στη σε πραγματικό χρόνοέκθεση VDAD. + + + + +







+







+ΤΕΛΟΣ +
+\n"; + echo "\n"; + echo "\n"; + echo ""; + + $stmt="SELECT dial_statuses,local_call_time,lead_filter_id from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $dial_statuses = $row[0]; + $local_call_time = $row[1]; + if ($lead_filter_id=='') + { + $lead_filter_id = $row[2]; + if ($lead_filter_id=='') + { + $lead_filter_id='NONE'; + } + } + + $stmt="SELECT list_id,active,list_name from vicidial_lists where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + if (ereg("Y", $rowx[1])) {$camp_lists .= "'$rowx[0]',";} + } + $camp_lists = eregi_replace(".$","",$camp_lists); + + $filterSQL = $filtersql_list[$lead_filter_id]; + $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); + if (strlen($filterSQL)>4) + {$fSQL = "and $filterSQL";} + else + {$fSQL = '';} + + + echo "

\n"; + echo "Εμφάνιση Μετρητή Κληθέντων Οδηγών -

\n"; + echo "CAMPAIGN: $campaign_id
\n"; + echo "ΛΙΣΤΕΣ: $camp_lists
\n"; + echo "STATUSES: $dial_statuses
\n"; + echo "FILTER: $lead_filter_id
\n"; + echo "CALL TIME: $local_call_time

\n"; + + ### call function to calculate and print dialable leads + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$fSQL); + + echo "

\n"; + echo "\n"; + + exit; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=7111111 view sample script with test variables +###################### + +if ($ADD==7111111) +{ + ##### TEST VARIABLES ##### + $vendor_lead_code = 'VENDOR:LEAD;CODE'; + $list_id = 'LISTID'; + $gmt_offset_now = 'GMTOFFSET'; + $phone_code = '1'; + $phone_number = '7275551212'; + $title = 'Mr.'; + $first_name = 'JOHN'; + $middle_initial = 'Q'; + $last_name = 'PUBLIC'; + $address1 = '1234 Main St.'; + $address2 = 'Apt. 3'; + $address3 = 'ADDRESS3'; + $city = 'CHICAGO'; + $state = 'IL'; + $province = 'PROVINCE'; + $postal_code = '33760'; + $country_code = 'USA'; + $gender = 'M'; + $date_of_birth = '1970-01-01'; + $alt_phone = '3125551212'; + $email = 'test@test.com'; + $security_phrase = 'SECUTIRY'; + $comments = 'COMMENTS FIELD'; + $RGfullname = 'JOE AGENT'; + $RGuser = '6666'; + $RGlead_id = '1234'; + $RGcampaign = 'TESTCAMP'; + $RGphone_login = 'gs102'; + $RGgroup = 'TESTCAMP'; + $RGchannel_group = 'TESTCAMP'; + $RGSQLdate = date("Y-m-d H:i:s"); + $RGepoch = date("U"); + $RGuniqueid = '1163095830.4136'; + $RGcustomer_zap_channel = 'Zap/1-1'; + $RGserver_ip = '10.10.10.15'; + $RGSIPexten = 'SIP/gs102'; + $RGsession_id = '8600051'; + +echo "\n"; +echo "\n"; +echo "\n"; +echo ""; + +$stmt="SELECT * from vicidial_scripts where script_id='$script_id';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$script_name = $row[1]; +$script_text = $row[3]; + +if (eregi("iframe src",$script_text)) + { + $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); + $list_id = eregi_replace(' ','+',$list_id); + $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); + $phone_code = eregi_replace(' ','+',$phone_code); + $phone_number = eregi_replace(' ','+',$phone_number); + $title = eregi_replace(' ','+',$title); + $first_name = eregi_replace(' ','+',$first_name); + $middle_initial = eregi_replace(' ','+',$middle_initial); + $last_name = eregi_replace(' ','+',$last_name); + $address1 = eregi_replace(' ','+',$address1); + $address2 = eregi_replace(' ','+',$address2); + $address3 = eregi_replace(' ','+',$address2); + $city = eregi_replace(' ','+',$city); + $state = eregi_replace(' ','+',$state); + $province = eregi_replace(' ','+',$province); + $postal_code = eregi_replace(' ','+',$postal_code); + $country_code = eregi_replace(' ','+',$country_code); + $gender = eregi_replace(' ','+',$gender); + $date_of_birth = eregi_replace(' ','+',$date_of_birth); + $alt_phone = eregi_replace(' ','+',$alt_phone); + $email = eregi_replace(' ','+',$email); + $security_phrase = eregi_replace(' ','+',$security_phrase); + $comments = eregi_replace(' ','+',$comments); + $RGfullname = eregi_replace(' ','+',$RGfullname); + $RGuser = eregi_replace(' ','+',$RGuser); + $RGlead_id = eregi_replace(' ','+',$RGlead_id); + $RGcampaign = eregi_replace(' ','+',$RGcampaign); + $RGphone_login = eregi_replace(' ','+',$RGphone_login); + $RGgroup = eregi_replace(' ','+',$RGgroup); + $RGchannel_group = eregi_replace(' ','+',$RGchannel_group); + $RGSQLdate = eregi_replace(' ','+',$RGSQLdate); + $RGepoch = eregi_replace(' ','+',$RGepoch); + $RGuniqueid = eregi_replace(' ','+',$RGuniqueid); + $RGcustomer_zap_channel = eregi_replace(' ','+',$RGcustomer_zap_channel); + $RGserver_ip = eregi_replace(' ','+',$RGserver_ip); + $RGSIPexten = eregi_replace(' ','+',$RGSIPexten); + $RGsession_id = eregi_replace(' ','+',$RGsession_id); + } + +$script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); +$script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); +$script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); +$script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); +$script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); +$script_text = eregi_replace('--A--title--B--',"$title",$script_text); +$script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); +$script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); +$script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); +$script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); +$script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); +$script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); +$script_text = eregi_replace('--A--city--B--',"$city",$script_text); +$script_text = eregi_replace('--A--state--B--',"$state",$script_text); +$script_text = eregi_replace('--A--province--B--',"$province",$script_text); +$script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); +$script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); +$script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); +$script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); +$script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); +$script_text = eregi_replace('--A--email--B--',"$email",$script_text); +$script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); +$script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); +$script_text = eregi_replace('--A--fullname--B--',"$RGfullname",$script_text); +$script_text = eregi_replace('--A--fronter--B--',"$RGuser",$script_text); +$script_text = eregi_replace('--A--user--B--',"$RGuser",$script_text); +$script_text = eregi_replace('--A--lead_id--B--',"$RGlead_id",$script_text); +$script_text = eregi_replace('--A--campaign--B--',"$RGcampaign",$script_text); +$script_text = eregi_replace('--A--phone_login--B--',"$RGphone_login",$script_text); +$script_text = eregi_replace('--A--group--B--',"$RGgroup",$script_text); +$script_text = eregi_replace('--A--channel_group--B--',"$RGchannel_group",$script_text); +$script_text = eregi_replace('--A--SQLdate--B--',"$RGSQLdate",$script_text); +$script_text = eregi_replace('--A--epoch--B--',"$RGepoch",$script_text); +$script_text = eregi_replace('--A--uniqueid--B--',"$RGuniqueid",$script_text); +$script_text = eregi_replace('--A--customer_zap_channel--B--',"$RGcustomer_zap_channel",$script_text); +$script_text = eregi_replace('--A--server_ip--B--',"$RGserver_ip",$script_text); +$script_text = eregi_replace('--A--SIPexten--B--',"$RGSIPexten",$script_text); +$script_text = eregi_replace('--A--session_id--B--',"$RGsession_id",$script_text); +$script_text = eregi_replace("\n","
",$script_text); + + +echo ""; + +echo "Προεπισκόπιση Βοηθού: $script_id
\n"; +echo "
\n"; +echo "
$script_name
\n"; +echo "$script_text\n"; +echo "
\n"; + +echo "\n"; + +exit; +} + + + + +######################### HTML HEADER BEGIN ####################################### +if ($hh=='users') + {$users_hh="bgcolor =\"$users_color\""; $users_fc="$users_font"; $users_bold="$header_selected_bold";} + else {$users_hh=''; $users_fc='WHITE'; $users_bold="$header_nonselected_bold";} +if ($hh=='campaigns') + {$campaigns_hh="bgcolor=\"$campaigns_color\""; $campaigns_fc="$campaigns_font"; $campaigns_bold="$header_selected_bold";} + else {$campaigns_hh=''; $campaigns_fc='WHITE'; $campaigns_bold="$header_nonselected_bold";} +if ($hh=='lists') + {$lists_hh="bgcolor=\"$lists_color\""; $lists_fc="$lists_font"; $lists_bold="$header_selected_bold";} + else {$lists_hh=''; $lists_fc='WHITE'; $lists_bold="$header_nonselected_bold";} +if ($hh=='ingroups') + {$ingroups_hh="bgcolor=\"$ingroups_color\""; $ingroups_fc="$ingroups_font"; $ingroups_bold="$header_selected_bold";} + else {$ingroups_hh=''; $ingroups_fc='WHITE'; $ingroups_bold="$header_nonselected_bold";} +if ($hh=='remoteagent') + {$remoteagent_hh="bgcolor=\"$remoteagent_color\""; $remoteagent_fc="$remoteagent_font"; $remoteagent_bold="$header_selected_bold";} + else {$remoteagent_hh=''; $remoteagent_fc='WHITE'; $remoteagent_bold="$header_nonselected_bold";} +if ($hh=='usergroups') + {$usergroups_hh="bgcolor=\"$usergroups_color\""; $usergroups_fc="$usergroups_font"; $usergroups_bold="$header_selected_bold";} + else {$usergroups_hh=''; $usergroups_fc='WHITE'; $usergroups_bold="$header_nonselected_bold";} +if ($hh=='scripts') + {$scripts_hh="bgcolor=\"$scripts_color\""; $scripts_fc="$scripts_font"; $scripts_bold="$header_selected_bold";} + else {$scripts_hh=''; $scripts_fc='WHITE'; $scripts_bold="$header_nonselected_bold";} +if ($hh=='filters') + {$filters_hh="bgcolor=\"$filters_color\""; $filters_fc="$filters_font"; $filters_bold="$header_selected_bold";} + else {$filters_hh=''; $filters_fc='WHITE'; $filters_bold="$header_nonselected_bold";} +if ($hh=='admin') + {$admin_hh="bgcolor=\"$admin_color\""; $admin_fc="$admin_font"; $admin_bold="$header_selected_bold";} + else {$admin_hh=''; $admin_fc='WHITE'; $admin_bold="$header_nonselected_bold";} +if ($hh=='reports') + {$reports_hh="bgcolor=\"$reports_color\""; $reports_fc="$reports_font"; $reports_bold="$header_selected_bold";} + else {$reports_hh=''; $reports_fc='WHITE'; $reports_bold="$header_nonselected_bold";} + +echo "\n"; +echo " + + +\n"; +echo "
English Ελληνικά
BGCOLOR=#D9E6FE cellpadding=2 cellspacing=0> + + + + + + + + + + + + + + + 1) { + ?> +> + 1) + { + +# if ($sh=='basic') {$basic_sh="bgcolor=\"$subcamp_color\""; $basic_fc="$subcamp_font";} +# else {$basic_sh=''; $basic_fc='BLACK';} +# if ($sh=='detail') {$detail_sh="bgcolor=\"$subcamp_color\""; $detail_fc="$subcamp_font";} +# else {$detail_sh=''; $detail_fc='BLACK';} +# if ($sh=='dialstat') {$dialstat_sh="bgcolor=\"$subcamp_color\""; $dialstat_fc="$subcamp_font";} +# else {$dialstat_sh=''; $dialstat_fc='BLACK';} + + if ($sh=='basic') {$sh='list';} + if ($sh=='detail') {$sh='list';} + if ($sh=='dialstat') {$sh='list';} + + if ($sh=='list') {$list_sh="bgcolor=\"$subcamp_color\""; $list_fc="$subcamp_font";} + else {$list_sh=''; $list_fc='BLACK';} + if ($sh=='status') {$status_sh="bgcolor=\"$subcamp_color\""; $status_fc="$subcamp_font";} + else {$status_sh=''; $status_fc='BLACK';} + if ($sh=='hotkey') {$hotkey_sh="bgcolor=\"$subcamp_color\""; $hotkey_fc="$subcamp_font";} + else {$hotkey_sh=''; $hotkey_fc='BLACK';} + if ($sh=='recycle') {$recycle_sh="bgcolor=\"$subcamp_color\""; $recycle_fc="$subcamp_font";} + else {$recycle_sh=''; $recycle_fc='BLACK';} + if ($sh=='autoalt') {$autoalt_sh="bgcolor=\"$subcamp_color\""; $autoalt_fc="$subcamp_font";} + else {$autoalt_sh=''; $autoalt_fc='BLACK';} + if ($sh=='pause') {$pause_sh="bgcolor=\"$subcamp_color\""; $pause_fc="$subcamp_font";} + else {$pause_sh=''; $pause_fc='BLACK';} + if ($sh=='listmix') {$listmix_sh="bgcolor=\"$subcamp_color\""; $listmix_fc="$subcamp_font";} + else {$listmix_sh=''; $listmix_fc='BLACK';} + + ?> +> + + + + + + + + + 1) { + ?> + > + 1) { + ?> +> + 1) { + ?> +> + 1) { + ?> +> + 1) { + ?> +> + 1) { + ?> +> + 1) { + ?> +> + 1) { + if ($sh=='times') {$times_sh="bgcolor=\"$times_color\""; $times_fc="$times_font";} # hard teal + else {$times_sh=''; $times_fc='BLACK';} + if ($sh=='phones') {$phones_sh="bgcolor=\"$server_color\""; $phones_fc="$phones_font";} # pink + else {$phones_sh=''; $phones_fc='BLACK';} + if ($sh=='server') {$server_sh="bgcolor=\"$server_color\""; $server_fc="$server_font";} # pink + else {$server_sh=''; $server_fc='BLACK';} + if ($sh=='conference') {$conference_sh="bgcolor=\"$server_color\""; $conference_fc="$server_font";} # pink + else {$conference_sh=''; $conference_fc='BLACK';} + if ($sh=='settings') {$settings_sh="bgcolor=\"$settings_color\""; $settings_fc="$settings_font";} # pink + else {$settings_sh=''; $settings_fc='BLACK';} + if ($sh=='status') {$status_sh="bgcolor=\"$status_color\""; $status_fc="$status_font";} # pink + else {$status_sh=''; $status_fc='BLACK';} + + ?> +> + + + + + + + + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + \n"; + echo "Δεν έχετε το δικαίωμα για να δείτε την σελίδα. Παρακαλώ επιστρέψτε.\n"; + } + +} +if (strlen($reports_hh) > 1) { + ?> +> + + + + +
  ΔΙΑΧΕΙΡΙΣΗ - ΣΠΙΤΙ | Αποσύνδεση  
> SIZE=> Χρήστες > SIZE=> Εκστρατείες > SIZE=> Κατάλογοι > SIZE=> Χειρόγραφα > SIZE=> Φίλτρα > SIZE=> $$$-ΟΜΑΔΕΣ > SIZE=> Ομάδες χρηστών > SIZE=> Μακρινοί πράκτορες > SIZE=> Admin > SIZE=> Εκθέσεις
>   > Παρουσιάστε χρήστες     |     > Προσθέστε έναν νέο χρήστη     |     > Χρήστης αντιγράφων     |     > Αναζήτηση ενός χρήστη
COLSPAN=2> SIZE=>Κεντρικός αγωγός εκστρατειών COLSPAN=1> SIZE=> Statuses COLSPAN=1> SIZE=> HotKeys COLSPAN=2> SIZE=>Μόλυβδος ανακύκλωσης COLSPAN=1> SIZE=>Αυτόματος-ALT πίνακας COLSPAN=1> SIZE=>Κώδικες μικρής διακοπής COLSPAN=2> SIZE=>Μίγμα καταλόγων
>   > Παρουσιάστε εκστρατείες     |     > Προσθέστε μια νέα εκστρατεία     |     > Εκστρατεία αντιγράφων     |     > Σε πραγματικό χρόνο περίληψη εκστρατειών
>   > Παρουσιάστε καταλόγους     |     > Προσθέστε έναν νέο κατάλογο     |     > Αναζήτηση ενός μολύβδου     |     > Προσθέστε τον αριθμό σε DNC     |     > Νέοι μόλυβδοι φορτίων
>   > Παρουσιάστε χειρόγραφα     |     > Προσθέστε ένα νέο χειρόγραφο
>   > Παρουσιάστε φίλτρα     |     > Προσθέστε ένα νέο φίλτρο
>   > Παρουσιάστε-ΟΜΑΔΕΣ     |     > Προσθέστε μια νέα-ΟΜΑΔΑ     |     > $$$-ΟΜΑΔΑ αντιγράφων
>   > Παρουσιάστε ομάδες χρηστών     |     > Προσθέστε μια νέα ομάδα χρηστών     |     > Ωριαία έκθεση ομάδας
>   > Παρουσιάστε μακρινούς πράκτορες     |     > Προσθέστε τους νέους μακρινούς πράκτορες
COLSPAN=2> SIZE=> Χρόνοι κλήσης COLSPAN=2> SIZE=> Τηλέφωνα COLSPAN=2> SIZE=> Διασκέψεις COLSPAN=1> SIZE=> Κεντρικοί υπολογιστές COLSPAN=1> SIZE=> Τοποθετήσεις συστημάτων COLSPAN=2> SIZE=>Θέσεις συστημάτων
>   > Παρουσιάστε χρόνους κλήσης     |     > Προσθέστε έναν νέο χρόνο κλήσης     |     > Παρουσιάστε χρόνους κρατικής κλήσης     |     > Προσθέστε έναν νέο χρόνο κρατικής κλήσης  
>   > Παρουσιάστε τηλέφωνα   |   > Προσθέστε ένα νέο τηλέφωνο
> Παρουσιάστε διασκέψεις   |   > Προσθέστε μια νέα διάσκεψη   |   > Παρουσιάστε διασκέψεις VICIDIAL   |   > Προσθέστε μια νέα διάσκεψη VICIDIAL
> Παρουσιάστε κεντρικούς υπολογιστές   |   > Προσθέστε έναν νέο κεντρικό υπολογιστή
> Τοποθετήσεις συστημάτων
>Θέσεις συστημάτων   |   >Κατηγορίες θέσης
>  
+
\n"; + echo ""; + + echo "
ΠΡΟΣΘΗΚΗ ΝΕΟΥ ΧΡΗΣΤΗ
\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$NWB#vicidial_users-user_group$NWE\n"; + echo "\n"; + echo "
Αριθμός Χρήστη: $NWB#vicidial_users-user$NWE
Κωδικός:$NWB#vicidial_users-pass$NWE
Πλήρες Ονομα: $NWB#vicidial_users-full_name$NWE
Επίπεδο Χρήστη: $NWB#vicidial_users-user_level$NWE
Ομάδα Χρήστη:
Τηλέφωνο Σύνδεσης: $NWB#vicidial_users-phone_login$NWE
Κωδικός Πρόσβασης Τηλεφώνου: $NWB#vicidial_users-phone_pass$NWE
\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=1 display the COPY USER FORM SCREEN +###################### + +if ($ADD=="1A") +{ + if ($LOGmodify_users==1) + { + echo "
\n"; + echo ""; + + echo "
ΧΡΗΣΤΗΣ ΑΝΤΙΓΡΑΦΩΝ\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + if ($LOGuser_level==9) {$levelMAX=10;} + else {$levelMAX=$LOGuser_level;} + + echo "\n"; + echo "\n"; + echo "
Αριθμός Χρήστη: $NWB#vicidial_users-user$NWE
Κωδικός:$NWB#vicidial_users-pass$NWE
Πλήρες Ονομα: $NWB#vicidial_users-full_name$NWE
Source User: $NWB#vicidial_users-user$NWE
\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=11 display the ADD NEW CAMPAIGN FORM SCREEN +###################### + +if ($ADD==11) +{ + if ($LOGmodify_campaigns==1) + { + echo "
\n"; + echo ""; + + echo "
ΠΡΟΣΘΗΚΗ ΝΕΑΣ ΕΚΣΤΡΑΤΕΙΑΣ\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID Εκστρατείας: $NWB#vicidial_campaigns-campaign_id$NWE
Ονομα Εκστρατείας: $NWB#vicidial_campaigns-campaign_name$NWE
Περιγραφή εκστρατείας: $NWB#vicidial_campaigns-campaign_description$NWE
Ενεργή:$NWB#vicidial_campaigns-active$NWE
Τηλ.σύνδ. Στάθμευσης: $NWB#vicidial_campaigns-park_ext$NWE
Ονομα Αρχείου Στάθμευσης: $NWB#vicidial_campaigns-park_file_name$NWE
Ιστο-σελίδα: $NWB#vicidial_campaigns-web_form_address$NWE
Επιτρέπω τους Closers: $NWB#vicidial_campaigns-allow_closers$NWE
Επίπεδο Hopper: $NWB#vicidial_campaigns-hopper_level$NWE
ΕΠΙΠΕΔΟ ΑΥΤΟΜΑΤΗΣ ΚΛΗΣΗΣ: (0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE
Επόμενη Κλήση Χειριστή: $NWB#vicidial_campaigns-next_agent_call$NWE
Χρόνος Τοπικής Κλήσης: $NWB#vicidial_campaigns-local_call_time$NWE
ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ: $NWB#vicidial_campaigns-voicemail_ext$NWE
Βοηθός: $NWB#vicidial_campaigns-campaign_script$NWE
Κατά την έναρξη κλήσης: $NWB#vicidial_campaigns-get_call_launch$NWE
\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=12 display the COPY CAMPAIGN FORM SCREEN +###################### + +if ($ADD==12) +{ + if ($LOGmodify_campaigns==1) + { + echo "
\n"; + echo ""; + + echo "
ΑΝΤΙΓΡΑΨΤΕ μια ΕΚΣΤΡΑΤΕΙΑ\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
ID Εκστρατείας: $NWB#vicidial_campaigns-campaign_id$NWE
Ονομα Εκστρατείας: $NWB#vicidial_campaigns-campaign_name$NWE
Εκστρατεία πηγής:$NWB#vicidial_campaigns-campaign_id$NWE
\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=111 display the ADD NEW LIST FORM SCREEN +###################### + +if ($ADD==111) +{ + if ($LOGmodify_lists==1) + { + echo "
\n"; + echo ""; + + echo "
ADD A NEW LIST\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID Λίστας: (μόνο αριθμοί)$NWB#vicidial_lists-list_id$NWE
Ονομα Λίστας: $NWB#vicidial_lists-list_name$NWE
Περιγραφή καταλόγων: $NWB#vicidial_lists-list_description$NWE
Εκστρατεία: $NWB#vicidial_lists-campaign_id$NWE
Ενεργή:$NWB#vicidial_lists-active$NWE
\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=121 display the ADD NUMBER TO DNC FORM SCREEN and add a new number +###################### + +if ($ADD==121) +{ +echo "
\n"; +echo ""; + +if (strlen($phone_number) > 2) + { + $stmt="SELECT count(*) from vicidial_dnc where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
DNC ΠΡΟΣΤΙΘΈΜΕΝΟ - αυτός ο τηλεφωνικός αριθμός είναι ήδη δενκαλεί τον κατάλογο: $phone_number

\n";} + else + { + $stmt="INSERT INTO vicidial_dnc (phone_number) values('$phone_number');"; + $rslt=mysql_query($stmt, $link); + + echo "
DNC ΠΡΟΣΤΙΘΈΜΕΝΟ: $phone_number

\n"; + + ### LOG INSERTION TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW DNC NUMBER|$PHP_AUTH_USER|$ip|'$phone_number'|\n"); + fclose($fp); + } + } + } + +echo "
ΠΡΟΣΘΕΣΤΕ έναν ΑΡΙΘΜΟ στον ΚΑΤΑΛΟΓΟ DNC\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "
Τηλεφωνικός αριθμός: (μόνο αριθμοί)$NWB#vicidial_list-dnc$NWE
\n"; + +} + + +###################### +# ADD=1111 display the ADD NEW INBOUND GROUP SCREEN +###################### + +if ($ADD==1111) +{ + if ($LOGmodify_ingroups==1) + { + echo "
\n"; + echo ""; + + echo "
ΠΡΟΣΘΗΚΗ ΕΙΣΕΡΧΟΜΕΝΗΣ ΟΜΑΔΑΣ\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID Ομάδας: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
Ονομα Ομάδας: $NWB#vicidial_inbound_groups-group_name$NWE
Χρώμα Ομάδας: $NWB#vicidial_inbound_groups-group_color$NWE
Ενεργή:$NWB#vicidial_inbound_groups-active$NWE
Ιστο-σελίδα: $NWB#vicidial_inbound_groups-web_form_address$NWE
ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ: $NWB#vicidial_inbound_groups-voicemail_ext$NWE
Επόμενη Κλήση Χειριστή: $NWB#vicidial_inbound_groups-next_agent_call$NWE
Μπροστινή Οθόνη: $NWB#vicidial_inbound_groups-fronter_display$NWE
Βοηθός: $NWB#vicidial_inbound_groups-ingroup_script$NWE
Κατά την έναρξη κλήσης: $NWB#vicidial_inbound_groups-get_call_launch$NWE
\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=1211 display the COPY INBOUND GROUP SCREEN +###################### + +if ($ADD==1211) +{ + if ($LOGmodify_ingroups==1) + { + echo "
\n"; + echo ""; + + echo "
ΕΙΣΕΡΧΟΜΕΝΗ ΟΜΑΔΑ ΑΝΤΙΓΡΑΦΩΝ\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
ID Ομάδας: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
Ονομα Ομάδας: $NWB#vicidial_inbound_groups-group_name$NWE
Source ID Ομάδας: $NWB#vicidial_inbound_groups-group_id$NWE
\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=11111 display the ADD NEW REMOTE AGENTS SCREEN +###################### + +if ($ADD==11111) +{ + if ($LOGmodify_remoteagents==1) + { + echo "
\n"; + echo ""; + + echo "
ΠΡΟΣΘΗΚΗ ΝΕΩΝ ΑΠΟΜΑΚΡΥΣΜΕΝΩΝ ΧΕΙΡΙΣΤΩΝ\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID Χρήστη Ξεκινά: (μόνο αριθμοί, incremented)$NWB#vicidial_remote_agents-user_start$NWE
Αριθμός Γραμμών: (μόνο αριθμοί)$NWB#vicidial_remote_agents-number_of_lines$NWE
IP Διακομιστή: $NWB#vicidial_remote_agents-server_ip$NWE
Εξωτερική Τηλ. Σύνδεση: (ο αριθμός που κλήθηκε από το πλάνο κλήσεων για να καλέσει τους χειριστές)$NWB#vicidial_remote_agents-conf_exten$NWE
Κατάσταση:$NWB#vicidial_remote_agents-status$NWE
Εκστρατεία: $NWB#vicidial_remote_agents-campaign_id$NWE
Εισερχόμενες Ομάδες: \n"; + echo "$groups_list"; + echo "$NWB#vicidial_remote_agents-closer_campaigns$NWE
\n"; + echo "ΣΗΜΕΙΩΣΗ: Μπορεί να διαρκέσει και 30 δευτερόλεπτα για να καταχωρηθούν οι αλλαγές της οθόνης\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=111111 display the ADD NEW USERS GROUP SCREEN +###################### + +if ($ADD==111111) +{ + if ($LOGmodify_usergroups==1) + { + echo "
\n"; + echo ""; + + echo "
ΠΡΟΣΘΗΚΗ ΟΜΑΔΑΣ ΧΡΗΣΤΩΝ\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Ομάδα: (όχι κενά ή στίξη)$NWB#vicidial_user_groups-user_group$NWE
Περιγραφή: (περιγραφή ομάδας)$NWB#vicidial_user_groups-group_name$NWE
\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=1111111 display the ADD NEW SCRIPT SCREEN +###################### + +if ($ADD==1111111) +{ + if ($LOGmodify_scripts==1) + { + echo "
\n"; + echo ""; + + echo "
ADD NEW SCRIPT\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Ταυτότητα χειρογράφων:: (όχι κενά ή στίξη)$NWB#vicidial_scripts-script_id$NWE
Όνομα χειρογράφων: (τίτλος του βοηθού)$NWB#vicidial_scripts-script_name$NWE
Σχόλια χειρόγραφου: $NWB#vicidial_scripts-script_comments$NWE
Ενεργή:$NWB#vicidial_scripts-active$NWE
Κείμενο χειρόγραφου: "; + # BEGIN Insert Field + echo ""; + echo "
"; + # END Insert Field + echo " $NWB#vicidial_scripts-script_text$NWE
\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=11111111 display the ADD NEW FILTER SCREEN +###################### + +if ($ADD==11111111) +{ + if ($LOGmodify_filters==1) + { + echo "
\n"; + echo ""; + + echo "
ΠΡΟΣΘΕΣΕ ΦΙΛΤΡΟ\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID Φίλτρου: (όχι κενά ή στίξη)$NWB#vicidial_lead_filters-lead_filter_id$NWE
Όνομα Φίλτρου: (σύντομη περιγραφή του φίλτρου)$NWB#vicidial_lead_filters-lead_filter_name$NWE
Σχόλια Φίλτρου: $NWB#vicidial_lead_filters-lead_filter_comments$NWE
SQL Φίλτρου: $NWB#vicidial_lead_filters-lead_filter_sql$NWE
\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=111111111 display the ADD NEW CALL TIME SCREEN +###################### + +if ($ADD==111111111) +{ + if ($LOGmodify_call_times==1) + { + echo "
\n"; + echo ""; + + echo "
ΠΡΟΣΘΗΚΗ ΝΕΟΥ ΧΡΟΝΟΥ ΚΛΗΣΗΣ\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "
ID Χρόνου Κλήσης: (όχι κενά ή στίξη)$NWB#vicidial_call_times-call_time_id$NWE
Ονομα Χρόνου Κλήσης: (σύντομη περιγραφή του χρόνου κλήσης)$NWB#vicidial_call_times-call_time_name$NWE
Σχόλια Χρόνου Κλήσης: $NWB#vicidial_call_times-call_time_comments$NWE
Οι επιλογές Ημέρας και ώρας θα εμφανιστούν όταν θα δημιουργήσετε τον Ορισμό Χρόνου Κλήσης
\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=1111111111 display the ADD NEW STATE CALL TIME SCREEN +###################### + +if ($ADD==1111111111) +{ + if ($LOGmodify_call_times==1) + { + echo "
\n"; + echo ""; + + echo "
ΠΡΟΣΘΗΚΗ ΝΕΟΥ ΧΡΟΝΟΥ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣ\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "
ID Χρόνου Κλήσης Κατάστασης: (όχι κενά ή στίξη)$NWB#vicidial_call_times-call_time_id$NWE
State Call Time State: (όχι κενά ή στίξη)$NWB#vicidial_call_times-state_call_time_state$NWE
Ονομα Χρόνου Κλήσης Κατάτασης: (σύντομη περιγραφή του χρόνου κλήσης)$NWB#vicidial_call_times-call_time_name$NWE
Σχόλια Χρόνου Κλήσης Κατάστασης: $NWB#vicidial_call_times-call_time_comments$NWE
Οι επιλογές Ημέρας και ώρας θα εμφανιστούν όταν θα δημιουργήσετε τον Ορισμό Χρόνου Κλήσης
\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=11111111111 display the ADD NEW PHONE SCREEN +###################### + +if ($ADD==11111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + echo "
ΠΡΟΣΘΗΚΗ ΤΗΛΕΦΩΝΟΥ\n"; + echo "\n"; + echo "
\n"; + + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Τηλ.σύνδεσης τηλεφώνου: $NWB#phones-extension$NWE
Αριθμός Σχεδίου Κλήσεων: (μόνο αριθμοί)$NWB#phones-dialplan_number$NWE
Περιεχόμενο Φωνητικού Ταχυδρομείου: (μόνο αριθμοί)$NWB#phones-voicemail_id$NWE
Εξερχόμενο CallerID: (μόνο αριθμοί)$NWB#phones-outbound_cid$NWE
Δνση IP Τηλεφώνου: (optional)$NWB#phones-phone_ip$NWE
Δνση IP Υπολογιστή: (optional)$NWB#phones-computer_ip$NWE
IP Διακομιστή: $NWB#phones-server_ip$NWE
Σύνδεση:$NWB#phones-login$NWE
Κωδικός:$NWB#phones-pass$NWE
Κατάσταση:$NWB#phones-status$NWE
Ενεργός Λογαριασμός: $NWB#phones-active$NWE
Τύπος τηλεφώνου: $NWB#phones-phone_type$NWE
Πλήρες Ονομα: $NWB#phones-fullname$NWE
Εταιρία:$NWB#phones-company$NWE
Εικόνα:$NWB#phones-picture$NWE
Προτόκολο Πελάτη: $NWB#phones-protocol$NWE
Τοπικό GMT: (Μην ρυθμίσεις για DST)$NWB#phones-local_gmt$NWE
\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=111111111111 display the ADD NEW SERVER SCREEN +###################### + +if ($ADD==111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + echo "
ΠΡΟΣΘΗΚΗ ΔΙΑΚΟΜΙΣΤΗ\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID Διακομιστή: $NWB#servers-server_id$NWE
Περιγραφή Διακομιστή: $NWB#servers-server_description$NWE
Δνση IP Διακομιστή: $NWB#servers-server_ip$NWE
Ενεργή:$NWB#servers-active$NWE
Εκδοση Asterisk: $NWB#servers-asterisk_version$NWE
\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=1111111111111 display the ADD NEW CONFERENCE SCREEN +###################### + +if ($ADD==1111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + echo "
ΠΡΟΣΘΗΚΗ ΣΥΝΔΙΑΛΕΞΗΣ\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Αριθμός Συνδιάλεξης: (μόνο αριθμοί)$NWB#conferences-conf_exten$NWE
IP Διακομιστή: $NWB#conferences-server_ip$NWE
\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=11111111111111 display the ADD NEW VICIDIAL CONFERENCE SCREEN +###################### + +if ($ADD==11111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + echo "
ADD A NEW VICIDIAL CONFERENCE\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Αριθμός Συνδιάλεξης: (μόνο αριθμοί)$NWB#conferences-conf_exten$NWE
IP Διακομιστή: $NWB#conferences-server_ip$NWE
\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + + +###################################################################################################### +###################################################################################################### +####### 2 series, validates form data and inserts the new record into the database +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=2 adds the new user to the system +###################### + +if ($ADD=="2") +{ + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
Ο ΧΡΗΣΤΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη ένας χρήστης με αυτό τον αριθμό\n";} + else + { + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 8) ) + { + echo "
Ο ΧΡΗΣΤΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
το id χρήστη πρέπει να είναι μεταξύ 2 και 8 χαρακτήρες\n"; + echo "
το πλήρες όνομα και κωδικός πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + echo "
ΧΡΗΣΤΗΣ ΠΡΟΣΤΕΘΗΚΕ: $user\n"; + + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass) values('$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A USER |$PHP_AUTH_USER|$ip|'$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass'|\n"); + fclose($fp); + } + } + } + +$ADD=3; +} + +###################### +# ADD=2A adds the copied new user to the system +###################### + +if ($ADD=="2A") +{ + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
Ο ΧΡΗΣΤΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη ένας χρήστης με αυτό τον αριθμό\n";} + else + { + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 8) ) + { + echo "
Ο ΧΡΗΣΤΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
το id χρήστη πρέπει να είναι μεταξύ 2 και 8 χαρακτήρες\n"; + echo "
το πλήρες όνομα και κωδικός πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override from vicidial_users where user=\"$source_user_id\";"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today) SELECT \"$user\",group_id,group_rank,group_weight,\"0\" from vicidial_inbound_group_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) SELECT \"$user\",campaign_id,campaign_rank,campaign_weight,\"0\" from vicidial_campaign_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); + + echo "
USER COPIED: $user copied from $source_user_id\n"; + echo "

\n"; + echo "Click here to go to the user record\n"; + echo "

\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A COPIED USER |$PHP_AUTH_USER|$ip|$user|$source_user_id|$stmt|\n"); + fclose($fp); + } + } + } +exit; +} + +###################### +# ADD=21 adds the new campaign to the system +###################### + +if ($ADD==21) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
Η ΕΚΣΤΡΑΤΕΙΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία εκστρατεία με αυτό το ID\n";} + else + { + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($campaign_name) > 40) ) + { + echo "
Η ΕΚΣΤΡΑΤΕΙΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
το ID της εκστρατείας πρέπει να είναι μεταξύ 2 και 8 χαρακτήρες\n"; + echo "
το όνομα της εκστρατείας πρέπει να είναι μεταξύ 6 και 40 χαρακτήρες\n"; + } + else + { + echo "
ΕΚΣΤΡΑΤΕΙΑ ΠΡΟΣΤΕΘΗΚΕ: $campaign_id\n"; + + $stmt="INSERT INTO vicidial_campaigns (campaign_id,campaign_name,campaign_description,active,dial_status_a,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,campaign_script,get_call_launch,campaign_changedate,campaign_stats_refresh,list_order_mix) values('$campaign_id','$campaign_name','$campaign_description','$active','NEW','DOWN','$park_ext','$park_file_name','" . mysql_real_escape_string($web_form_address) . "','$allow_closers','$hopper_level','$auto_dial_level','$next_agent_call','$local_call_time','$voicemail_ext','$script_id','$get_call_launch','$SQLdate','Y','DISABLED');"; + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmt, $link); + + echo ""; + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ΠΡΟΣΘΗΚΗ ΝΕΑΣ ΕΚΣΤΡΑΤΕΙΑΣ |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + } + } + } +$ADD=31; +} + +###################### +# ADD=20 adds copied new campaign to the system +###################### + +if ($ADD==20) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
Η ΕΚΣΤΡΑΤΕΙΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία εκστρατεία με αυτό το ID\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 2) or (strlen($source_campaign_id) < 2) or (strlen($source_campaign_id) > 8) ) + { + echo "
Η ΕΚΣΤΡΑΤΕΙΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
το ID της εκστρατείας πρέπει να είναι μεταξύ 2 και 8 χαρακτήρες\n"; + echo "
source το ID της εκστρατείας πρέπει να είναι μεταξύ 2 και 8 χαρακτήρες\n"; + } + else + { + echo "
CAMPAIGN COPIED: $campaign_id copied from $source_campaign_id\n"; + + $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,safe_harbor_message,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,safe_harbor_message,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group from vicidial_campaigns where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category) SELECT status,status_name,selectable,\"$campaign_id\",human_answered,category from vicidial_campaign_statuses where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_hotkeys (status,hotkey,status_name,selectable,campaign_id) SELECT status,hotkey,status_name,selectable,\"$campaign_id\" from vicidial_campaign_hotkeys where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_lead_recycle (status,attempt_delay,attempt_maximum,active,campaign_id) SELECT status,attempt_delay,attempt_maximum,active,\"$campaign_id\" from vicidial_lead_recycle where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_pause_codes (pause_code,pause_code_name,billable,campaign_id) SELECT pause_code,pause_code_name,billable,\"$campaign_id\" from vicidial_pause_codes where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + echo ""; + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|COPY TO NEW CAMPAIGN|$PHP_AUTH_USER|$ip|$campaign_id|$source_campaign_id|$stmt|$stmtA|\n"); + fclose($fp); + } + + } + } +$ADD=31; +} + +###################### +# ADD=22 adds the new campaign status to the system +###################### + +if ($ADD==22) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
Η ΚΑΤΑΣΤΑΣΗ ΤΗΣ ΕΚΣΤΡΑΤΕΙΑΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη κατάσταση-εκστρατείας με αυτό το όνομα\n";} + else + { + $stmt="SELECT count(*) from vicidial_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
Η ΚΑΤΑΣΤΑΣΗ ΤΗΣ ΕΚΣΤΡΑΤΕΙΑΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία καθολική-κατάσταση με αυτό το όνομα\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($status_name) < 2) ) + { + echo "
Η ΚΑΤΑΣΤΑΣΗ ΤΗΣ ΕΚΣΤΡΑΤΕΙΑΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
η κατάσταση πρέπει να είναι μεταξύ 1 και 8 χαρακτήρρες\n"; + echo "
το όνομα της κατάστασης πρέπει να είναι μεταξύ 2 και 30 χαρακτήρρες\n"; + } + else + { + echo "
ΚΑΤΑΣΤΑΣΗ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΕΘΗΚΕ: $campaign_id - $status\n"; + + $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category) values('$status','$status_name','$selectable','$campaign_id','$human_answered','$category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ΠΡΟΣΘΗΚΗ ΝΕΑΣ ΕΚΣΤΡΑΤΕΙΑΣ STATUS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$SUB=22; +$ADD=31; +} + + +###################### +# ADD=23 adds the new campaign hotkey to the system +###################### + +if ($ADD==23) +{ + $HKstatus_data = explode('-----',$HKstatus); + $status = $HKstatus_data[0]; + $status_name = $HKstatus_data[1]; + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_hotkeys where campaign_id='$campaign_id' and hotkey='$hotkey' and hotkey='$hotkey';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CAMPAIGN HOT KEY NOT ADDED - there is already a campaign-hotkey in the system with this hotkey\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) + { + echo "
ΤΟ ΚΛΕΙΔΙ ΤΗΣ ΕΚΣΤΡΑΤΕΙΑΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
hotkey must be a single character between 1 and 9 \n"; + echo "
η κατάσταση πρέπει να είναι μεταξύ 1 και 8 χαρακτήρρες\n"; + } + else + { + echo "
ΚΛΕΙΔΙ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΕΘΗΚΕ: $campaign_id - $status - $hotkey\n"; + + $stmt="INSERT INTO vicidial_campaign_hotkeys values('$status','$hotkey','$status_name','$selectable','$campaign_id');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ΠΡΟΣΘΗΚΗ ΝΕΑΣ ΕΚΣΤΡΑΤΕΙΑΣ HOT KEY |$PHP_AUTH_USER|$ip|'$status','$hotkey','$status_name','$selectable','$campaign_id'|\n"); + fclose($fp); + } + } + } +$SUB=23; +$ADD=31; +} + + +###################### +# ADD=25 adds the new campaign lead recycle entry to the system +###################### + +if ($ADD==25) +{ + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ΑΝΑΚΥΚΛΩΣΗΣ ΜΟΛΥΒΔΟΥ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΙΘΕΜΕΝΟΣ - υπάρχει ήδη έναςμόλυβδος-ανακύκλωσης για αυτήν την εκστρατεία με αυτήν την θέση\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) + { + echo "
ΑΝΑΚΥΚΛΩΣΗΣ ΜΟΛΥΒΔΟΥ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΙΘΕΜΕΝΟΣ - παρακαλώ επιστρέψτεκαι εξετάστε τα στοιχεία που εισαγάγατε\n"; + echo "
η κατάσταση πρέπει να είναι μεταξύ 1 και 6 χαρακτήρων στο μήκος\n"; + echo "
η καθυστέρηση προσπάθειας πρέπει να είναι τουλάχιστον 120δευτερόλεπτα\n"; + echo "
οι μέγιστες προσπάθειες πρέπει να είναι από 1 έως 10\n"; + } + else + { + echo "
ΠΡΟΣΤΙΘΕΜΕΝΟΣ ΟΔΗΓΟΣ ΑΝΑΚΥΚΛΩΣΗΣ ΕΚΣΤΡΑΤΕΙΑΣ: $campaign_id - $status - $attempt_delay\n"; + + $stmt="INSERT INTO vicidial_lead_recycle(campaign_id,status,attempt_delay,attempt_maximum,active) values('$campaign_id','$status','$attempt_delay','$attempt_maximum','$active');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW LEAD RECYCLE |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$SUB=25; +$ADD=31; +} + + +###################### +# ADD=26 adds the new auto alt dial status to the campaign +###################### + +if ($ADD==26) +{ + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ΑΥΤΟΜΑΤΗ ΘΈΣΗ ΠΙΝΑΚΩΝ ALT ΠΡΟΣΤΙΘΈΜΕΝΗ - υπάρχει ήδη μια είσοδος για αυτήν την εκστρατεία με αυτήν τηνθέση\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
ΑΥΤΟΜΑΤΗ ΘΈΣΗ ΠΙΝΑΚΩΝ ALT ΠΡΟΣΤΙΘΈΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
η κατάσταση πρέπει να είναι μεταξύ 1 και 6 χαρακτήρων στο μήκος\n"; + } + else + { + echo "
ΑΥΤΟΜΑΤΗ ΘΈΣΗ ΠΙΝΑΚΩΝ ALT ΠΡΟΣΤΙΘΈΜΕΝΗ: $campaign_id - $status\n"; + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if (strlen($row[0])<2) {$row[0] = ' -';} + $auto_alt_dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A AUTO-ALT-DIAL STATUS|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$SUB=26; +$ADD=31; +} + + +###################### +# ADD=27 adds the new campaign agent pause code entry to the system +###################### + +if ($ADD==27) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ΚΩΔΙΚΑΣ ΜΙΚΡΗΣ ΔΙΑΚΟΠΉΣ ΠΡΑΚΤΟΡΩΝ ΠΡΟΣΤΙΘΕΜΕΝΟΣ - υπάρχει ήδη μια είσοδος για αυτήν την εκστρατεία με αυτόν τονκώδικα μικρής διακοπής\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) + { + echo "
ΚΩΔΙΚΑΣ ΜΙΚΡΗΣ ΔΙΑΚΟΠΉΣ ΠΡΑΚΤΟΡΩΝ ΠΡΟΣΤΙΘΕΜΕΝΟΣ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
pause code must be between 1 and 6 characters in length\n"; + echo "
pause code name must be between 2 and 30 characters in length\n"; + } + else + { + echo "
ΚΩΔΙΚΑΣ ΜΙΚΡΗΣ ΔΙΑΚΟΠΉΣ ΠΡΑΚΤΟΡΩΝ ΠΡΟΣΤΙΘΕΜΕΝΟΣ: $campaign_id - $pause_code - $pause_code_name\n"; + + $stmt="INSERT INTO vicidial_pause_codes(campaign_id,pause_code,pause_code_name,billable) values('$campaign_id','$pause_code','$pause_code_name','$billable');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW ΧΕΙΡΙΣΤΗΣPAUSE CODE|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$SUB=27; +$ADD=31; +} + + +###################### +# ADD=28 adds new status to the campaign dial statuses +###################### + +if ($ADD==28) +{ + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ΘΕΣΗ ΠΙΝΑΚΩΝ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΙΘΕΜΕΝΗ - υπάρχει ήδη μια είσοδος για αυτήν την εκστρατεία με αυτήν τηνθέση\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
ΘΕΣΗ ΠΙΝΑΚΩΝ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΙΘΕΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
η κατάσταση πρέπει να είναι μεταξύ 1 και 6 χαρακτήρων στο μήκος\n"; + } + else + { + echo "
ΘΕΣΗ ΠΙΝΑΚΩΝ ΕΚΣΤΡΑΤΕΙΑΣ ΠΡΟΣΤΙΘΕΜΕΝΗ: $campaign_id - $status\n"; + + $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if (strlen($row[0])<2) {$row[0] = ' -';} + $dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ΠΡΟΣΘΗΚΗ ΕΚΣΤΡΑΤΕΙΑΣ DIAL STATUS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +#$SUB=28; +$ADD=31; +} + + +###################### +# ADD=211 adds the new list to the system +###################### + +if ($ADD==211) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
Η ΛΙΣΤΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία λίστα με αυτό το ID\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($list_name) < 2) or ($list_id < 100) or (strlen($list_id) > 8) ) + { + echo "
Η ΛΙΣΤΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
Το ID λίστας πρέπει να είναι μεταξύ 2 και 8 χαρακτήρες\n"; + echo "
Το όνομα λίστας πρέπει να είναι 2 χαρακτήρες\n"; + echo "
ID Λίστας must be greater than 100\n"; + } + else + { + echo "
ΛΙΣΤΑ ΠΡΟΣΤΕΘΗΚΕ: $list_id\n"; + + $stmt="INSERT INTO vicidial_lists (list_id,list_name,campaign_id,active,list_description,list_changedate) values('$list_id','$list_name','$campaign_id','$active','$list_description','$SQLdate');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW LIST |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=311; +} + + + +###################### +# ADD=2111 adds the new inbound group to the system +###################### + +if ($ADD==2111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
Η ΟΜΑΔΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία ομάδα με αυτό το ID\n";} + else + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
Η ΟΜΑΔΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
Το ID ομάδας πρέπει να είναι μεταξύ 2 και 20 χαρακτήρες ' -+'.\n"; + echo "
Το όνομα και χρώμα ομάδας πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','$get_call_launch');"; + $rslt=mysql_query($stmt, $link); + + echo "
ΟΜΑΔΑ ΠΡΟΣΤΕΘΗΚΕ: $group_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW GROUP |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$ADD=3111; +} + + +###################### +# ADD=2011 adds copied inbound group to the system +###################### + +if ($ADD==2011) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
Η ΟΜΑΔΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία ομάδα με αυτό το ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
Η ΟΜΑΔΑ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
Το ID ομάδας πρέπει να είναι μεταξύ 2 και 20 χαρακτήρες ' -+'.\n"; + echo "
Το όνομα και χρώμα ομάδας πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_message,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_message,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group from vicidial_inbound_groups where group_id=\"$source_group_id\";"; + $rslt=mysql_query($stmt, $link); + + echo "
ΟΜΑΔΑ ΠΡΟΣΤΕΘΗΚΕ: $group_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|COPIED TO NEW GROUP |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=3111; +} + + +###################### +# ADD=21111 adds new remote agents to the system +###################### + +if ($ADD==21111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_remote_agents where server_ip='$server_ip' and user_start='$user_start';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ΟΙ ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΑΝ - υπάρχει ήδη καταχώρηση απομακρυσμένων χειριστών που ξεκινάει με αυτό το ID χρήστη\n";} + else + { + if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) + { + echo "
ΟΙ ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΑΝ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
Το ID χρήστη και η εξωτερική εσωτ.σύνδεση πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $stmt="INSERT INTO vicidial_remote_agents values('','$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value');"; + $rslt=mysql_query($stmt, $link); + + echo "
ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ ΠΡΟΣΤΕΘΗΚΑΝ: $user_start\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ ENTRY |$PHP_AUTH_USER|$ip|'$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value'|\n"); + fclose($fp); + } + } + } +$ADD=10000; +} + +###################### +# ADD=211111 adds new user group to the system +###################### + +if ($ADD==211111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ Η ΟΜΑΔΑ ΧΡΗΣΤΗ - υπάρχει ήδη μία καταχώρηση ομάδας χρήστη με αυτό το όνομα\n";} + else + { + if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) + { + echo "
ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ Η ΟΜΑΔΑ ΧΡΗΣΤΗ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
Η ομάδα και η περιγραφή πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $stmt="INSERT INTO vicidial_user_groups(user_group,group_name,allowed_campaigns) values('$user_group','$group_name','-ALL-CAMPAIGNS-');"; + $rslt=mysql_query($stmt, $link); + + echo "
ΟΜΑΔΑ ΧΡΗΣΤΗ ΠΡΟΣΤΕΘΗΚΕ: $user_group\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ΠΡΟΣΘΗΚΗ ΝΕΟΥ ΧΡΗΣΤΗ GROUP ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=100000; +} + +###################### +# ADD=2111111 adds new script to the system +###################### + +if ($ADD==2111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_scripts where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
Ο ΒΟΗΘΟΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μια είσοδος χειρογράφων με αυτό το όνομα\n";} + else + { + if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + { + echo "
Ο ΒΟΗΘΟΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Το όνομα, η περιγραφή και το κείμενο χειρογράφων πρέπει να είναι τουλάχιστον 2 χαρακτήρες στο μήκος\n"; + } + else + { + $stmt="INSERT INTO vicidial_scripts values('$script_id','$script_name','$script_comments','$script_text','$active');"; + $rslt=mysql_query($stmt, $link); + + echo "
Ο ΒΟΗΘΟΣ ΠΡΟΣΤΕΘΗΚΕ: $script_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW SCRIPT ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=1000000; +} + + +###################### +# ADD=21111111 adds new filter to the system +###################### + +if ($ADD==21111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ΤΟ ΦΙΛΤΡΟ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη ένα φίλτρο με αυτό το ID\n";} + else + { + if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + { + echo "
ΤΟ ΦΙΛΤΡΟ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
ID φίλτρου, όνομα και SQL πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $stmt="INSERT INTO vicidial_lead_filters SET lead_filter_id='$lead_filter_id',lead_filter_name='$lead_filter_name',lead_filter_comments='$lead_filter_comments',lead_filter_sql='$lead_filter_sql';"; + $rslt=mysql_query($stmt, $link); + + echo "
ΤΟ ΦΙΛΤΡΟ ΠΡΟΣΤΕΘΗΚΕ: $lead_filter_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW FILTER ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=10000000; +} + + +###################### +# ADD=211111111 adds new call time definition to the system +###################### + +if ($ADD==211111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
Ο ΟΡΙΣΜΟΣ ΧΡΟΝΟΥ ΚΛΗΣΗ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - υπάρχει ήδη μία εγγραφή χρόνου κλήσης με αυτό το ID\n";} + else + { + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) + { + echo "
Ο ΟΡΙΣΜΟΣ ΧΡΟΝΟΥ ΚΛΗΣΗ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Το ID Χρόνου Κλήσης και το όνομα πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $stmt="INSERT INTO vicidial_call_times SET call_time_id='$call_time_id',call_time_name='$call_time_name',call_time_comments='$call_time_comments';"; + $rslt=mysql_query($stmt, $link); + + echo "
ΠΡΟΣΘΗΚΗ ΧΡΟΝΟΥ ΚΛΗΣΗΣ: $call_time_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW CALL TIME ENTRY |$stmt|\n"); + fclose($fp); + } + } + } +$ADD=311111111; +} + + +###################### +# ADD=2111111111 adds new state call time definition to the system +###################### + +if ($ADD==2111111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_state_call_times where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
Ο ΟΡΙΣΜΟΣ ΧΡΟΝΟΥ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία εγγραφή χρόνου κλήσης με αυτό το ID\n";} + else + { + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) + { + echo "
Ο ΟΡΙΣΜΟΣ ΧΡΟΝΟΥ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Το ID Χρόνου Κλήσης Κατάστασης, το όνομα και η κατάσταση πρέπει να είναι τουλάχιστον 2 χαρακτήρες \n"; + } + else + { + $stmt="INSERT INTO vicidial_state_call_times SET state_call_time_id='$call_time_id',state_call_time_name='$call_time_name',state_call_time_comments='$call_time_comments',state_call_time_state='$state_call_time_state';"; + $rslt=mysql_query($stmt, $link); + + echo "
ΠΡΟΣΘΗΚΗ ΧΡΟΝΟΥ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣ: $call_time_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW STATE CALL TIME ENTRY|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=3111111111; +} + + +###################### +# ADD=21111111111 adds new phone to the system +###################### + +if ($ADD==21111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ΤΟ ΤΗΛΕΦΩΝΟ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη ένα τηλέφωνο με αυτή την εσωτ.σύνδεση/διακομιστή\n";} + else + { + if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) + {echo "
ΤΟ ΤΗΛΕΦΩΝΟ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n";} + else + { + echo "
ΤΟ ΤΗΛΕΦΩΝΟ ΠΡΟΣΤΕΘΗΚΕ\n"; + + $stmt="INSERT INTO phones (extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,protocol,local_gmt,outbound_cid) values('$extension','$dialplan_number','$voicemail_id','$phone_ip','$computer_ip','$server_ip','$login','$pass','$status','$active','$phone_type','$fullname','$company','$picture','$protocol','$local_gmt','$outbound_cid');"; + $rslt=mysql_query($stmt, $link); + } + } +$ADD=31111111111; +} + + +###################### +# ADD=211111111111 adds new server to the system +###################### + +if ($ADD==211111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from servers where server_id='$server_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
Ο ΔΙΑΚΟΜΙΣΤΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη ένας διακομιστής με αυτό το ID\n";} + else + { + if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) + {echo "
Ο ΔΙΑΚΟΜΙΣΤΗΣ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n";} + else + { + echo "
Ο ΔΙΑΚΟΜΙΣΤΗΣ ΠΡΟΣΤΕΘΗΚΕ\n"; + + $stmt="INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version) values('$server_id','$server_description','$server_ip','$active','$asterisk_version');"; + $rslt=mysql_query($stmt, $link); + } + } +$ADD=311111111111; +} + + +###################### +# ADD=221111111111 adds the new vicidial server trunk record to the system +###################### + +if ($ADD==221111111111) +{ + echo ""; + $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $MAXvicidial_trunks = $rowx[0]; + + $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); + + if ($SUMvicidial_trunks > $MAXvicidial_trunks) + { + echo "
Η ΕΓΓΡΑΦΗ ΤΟΥ ΚΟΡΜΟΥ ΣΤΟΝ ΕΞΥΠΗΡΕΤΗΤΗ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - ο αριθμός των κορμών είναι πολύ υψηλός: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + } + else + { + $stmt="SELECT count(*) from vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
Η ΕΓΓΡΑΦΗ ΤΟΥ ΚΟΡΜΟΥ ΣΤΟΝ ΕΞΥΠΗΡΕΤΗΤΗ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία εγγραφή-κορμού στον εξυπηρετητή για την εκστρατεία\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) + { + echo "
Η ΕΓΓΡΑΦΗ ΤΟΥ ΚΟΡΜΟΥ ΣΤΟΝ ΕΞΥΠΗΡΕΤΗΤΗ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
η εκστρατεία πρέπει να είναι μεταξύ 3 και 8 χαρακτήρων στο μήκος\n"; + echo "
η server_ip καθυστέρηση πρέπει να είναι τουλάχιστον 7 χαρακτήρες\n"; + echo "
οι κορμοί πρέπει να είναι ένα ψηφίο από 0 έως 9999\n"; + } + else + { + echo "
Η ΕΓΓΡΑΦΗ ΤΟΥ ΚΟΡΜΟΥ ΣΤΟΝ ΕΞΥΠΗΡΕΤΗΤΗ ΠΡΟΣΤΕΘΗΚΕ: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; + + $stmt="INSERT INTO vicidial_server_trunks(server_ip,campaign_id,dedicated_trunks,trunk_restriction) values('$server_ip','$campaign_id','$dedicated_trunks','$trunk_restriction');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW VICIDIAL TRUNK |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$ADD=311111111111; +} + + +###################### +# ADD=2111111111111 adds new conference to the system +###################### + +if ($ADD==2111111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
Η ΣΥΝΔΙΑΛΕΞΗ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - υπάρχει ήδη μία συνδιάλεξη με αυτό το ID και διακομιστή\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
Η ΣΥΝΔΙΑΛΕΞΗ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n";} + else + { + echo "
Η ΣΥΝΔΙΑΛΕΞΗ ΠΡΟΣΤΕΘΗΚΕ\n"; + + $stmt="INSERT INTO conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } + } +$ADD=3111111111111; +} + + +###################### +# ADD=21111111111111 adds new vicidial conference to the system +###################### + +if ($ADD==21111111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
VICIDIAL CONFERENCE NOT ADDED - there is already a vicidial conference in the system with this ID and server\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
VICIDIAL Η ΣΥΝΔΙΑΛΕΞΗ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n";} + else + { + echo "
VICIDIAL Η ΣΥΝΔΙΑΛΕΞΗ ΠΡΟΣΤΕΘΗΚΕ\n"; + + $stmt="INSERT INTO vicidial_conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } + } +$ADD=31111111111111; +} + + +###################### +# ADD=221111111111111 adds the new system status to the system +###################### + +if ($ADD==221111111111111) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ΘΕΣΗ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΣΤΙΘΕΜΕΝΗ - there is already a campaign-status in the system with this name: $row[0]\n";} + else + { + $stmt="SELECT count(*) from vicidial_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ΘΕΣΗ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΣΤΙΘΕΜΕΝΗ - there is already a global-status in the system with this name\n";} + else + { + if ( (strlen($status) < 1) or (strlen($status_name) < 2) ) + { + echo "
ΘΕΣΗ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΣΤΙΘΕΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
η κατάσταση πρέπει να είναι μεταξύ 1 και 8 χαρακτήρρες\n"; + echo "
το όνομα της κατάστασης πρέπει να είναι μεταξύ 2 και 30 χαρακτήρρες\n"; + } + else + { + echo "
ΘΕΣΗ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΣΤΙΘΕΜΕΝΗ: $status_name - $status\n"; + + $stmt="INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category) values('$status','$status_name','$selectable','$human_answered','$category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW SYSTEM STATUS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$ADD=321111111111111; +} + + +###################### +# ADD=231111111111111 adds the new status category to the system +###################### + +if ($ADD==231111111111111) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_status_categories where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ΚΑΤΗΓΟΡΙΑ ΘΕΣΗΣ ΠΡΟΣΤΙΘΕΜΕΝΗ - υπάρχει ήδη μια κατηγορία θέσης στο σύστημα με αυτήν τηνταυτότητα: $row[0]\n";} + else + { + if ( (strlen($vsc_id) < 2) or (strlen($vsc_id) > 20) or (strlen($vsc_name) < 2) ) + { + echo "
ΚΑΤΗΓΟΡΙΑ ΘΕΣΗΣ ΠΡΟΣΤΙΘΕΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Η ταυτότητα πρέπει να είναι μεταξύ 2 και 20 χαρακτήρων στο μήκος\n"; + echo "
το όνομα ονόματος πρέπει να είναι μεταξύ 2 και 50 χαρακτήρων στομήκος\n"; + } + else + { + echo "
STATUS CATEGORY ADDED: $vsc_id - $vsc_name\n"; + + $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + { + $tovdad_display = 'N'; + echo "
ΛΑΘΟΣ: Υπάρχουν ήδη 4 κατηγορίες θέσης καθορισμένες την επίδειξηTimeOnVDAD\n"; + } + + $stmt="INSERT INTO vicidial_status_categories (vsc_id,vsc_name,vsc_description,tovdad_display) values('$vsc_id','$vsc_name','$vsc_description','$tovdad_display');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW STATUS CATEGORY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=331111111111111; +} + + + +###################################################################################################### +###################################################################################################### +####### 4 series, record modifications submitted and DB is modified, then on to 3 series forms below +###################################################################################################### +###################################################################################################### + + + +###################### +# ADD=4A submit user modifications to the system - ADMIN +###################### + +if ($ADD=="4A") +{ + if ($LOGmodify_users==1) + { + echo ""; + + if ( (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_level) < 1) ) + { + echo "
Ο ΧΡΗΣΤΗΣ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
Ο κωδικός και το πλήρες όνομα πρέπει να είναι τουλάχιστον 2 χαρακτήρες το κάθε ένα\n"; + } + else + { + echo "
ΧΡΗΣΤΗΣ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - ADMIN: $user\n"; + + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override' where user='$user';"; + $rslt=mysql_query($stmt, $link); + + + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY USER INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=3; # go to user modification below +} + + +###################### +# ADD=4B submit user modifications to the system - ADMIN +###################### + +if ($ADD=="4B") +{ + if ($LOGmodify_users==1) + { + echo ""; + + if ( (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_level) < 1) ) + { + echo "
Ο ΧΡΗΣΤΗΣ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
Ο κωδικός και το πλήρες όνομα πρέπει να είναι τουλάχιστον 2 χαρακτήρες το κάθε ένα\n"; + } + else + { + echo "
ΧΡΗΣΤΗΣ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - ADMIN: $user\n"; + + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',hotkeys_active='$hotkeys_active',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',closer_default_blended='$closer_default_blended',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override' where user='$user';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY USER INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=3; # go to user modification below +} + + + +###################### +# ADD=4 submit user modifications to the system +###################### + +if ($ADD==4) +{ + if ($LOGmodify_users==1) + { + echo ""; + + if ( (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_level) < 1) ) + { + echo "
Ο ΧΡΗΣΤΗΣ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
Ο κωδικός και το πλήρες όνομα πρέπει να είναι τουλάχιστον 2 χαρακτήρες το κάθε ένα\n"; + } + else + { + echo "
ΧΡΗΣΤΗΣ ΤΡΟΠΟΠΟΙΗΘΗΚΕ: $user\n"; + + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass' where user='$user';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY USER INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=3; # go to user modification below +} + +###################### +# ADD=41 submit campaign modifications to the system +###################### + +if ($ADD==41) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_name) < 6) or (strlen($active) < 1) ) + { + echo "
Η ΕΚΣΤΡΑΤΕΙΑ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
το όνομα της εκστρατείας πρέπει να είναι τουλάχιστον 6 χαρακτήρες\n"; + echo "
|$campaign_name|$active|\n"; + } + else + { + echo "
ΕΣΤΡΑΤΕΙΑ ΤΡΟΠΟΠΟΙΗΘΗΚΕ: $campaign_id\n"; + + if ($dial_method == 'MANUAL') + { + $auto_dial_level='0'; + $adlSQL = "auto_dial_level='0',"; + } + else + { + if ($dial_level_override > 0) + { + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + else + { + if ($dial_method == 'RATIO') + { + if ($auto_dial_level < 1) {$auto_dial_level = "1.0";} + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + else + { + $adlSQL = ""; + if ($auto_dial_level < 1) + { + $auto_dial_level = "1.0"; + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + } + } + } + if ( (!ereg("DISABLED",$list_order_mix)) and ($hopper_level < 100) ) + {$hopper_level='100';} + + $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',safe_harbor_message='$safe_harbor_message',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns='$groups_value',use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_refresh='$campaign_stats_refresh',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + if ($reset_hopper == 'Y') + { + echo "
ΕΠΑΝΑΦΟΡΑ ΚΑΘΟΘΗΓΗΤΗ ΕΚΣΤΡΑΤΕΙΑΣ HOPPER\n"; + echo "
- Αναμονή 1 λεπτού πριν την κλήση του επόμενου αριθμού\n"; + $stmt="DELETE from vicidial_hopper where campaign_id='$campaign_id' and status IN('READY','QUEUE','DONE');"; + $rslt=mysql_query($stmt, $link); + + ### LOG RESET TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|CAMPAIGN HOPPERRESET|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CAMPAIGN INFO|$PHP_AUTH_USER|$ip|$stmtA|$reset_hopper|\n"); + fclose($fp); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=42 modify/delete campaign status in the system +###################### + +if ($ADD==42) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
Η ΚΑΤΑΣΤΑΣΗ ΤΗΣ ΕΚΣΤΡΑΤΕΙΑΣ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
το ID της εκστρατείας πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + echo "
η κατάσταση της εκστρατείας πρέπει να είναι τουλάχιστον 1 χαρακτήρας\n"; + } + else + { + if (ereg('delete',$stage)) + { + echo "
ΔΙΑΓΡΑΦΗΚΕ Η ΠΡΟΣΑΡΜΟΣΜΕΝΗ ΚΑΤΑΣΤΑΣΗ ΤΗΣ ΕΚΣΤΡΑΤΕΙΑΣ: $campaign_id - $status\n"; + + $stmt="DELETE FROM vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="DELETE FROM vicidial_campaign_hotkeys where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmtA, $link); + + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE CAMPAIGN STATUS|$PHP_AUTH_USER|$ip|$stmt|$stmtA|\n"); + fclose($fp); + } + } + if (ereg('modify',$stage)) + { + echo "
ΘΕΣΗ ΕΚΣΤΡΑΤΕΙΑΣ ΣΥΝΗΘΕΙΑΣ ΤΡΟΠΟΠΟΙΗΜΕΝΗ: $campaign_id - $status\n"; + + $stmt="UPDATE vicidial_campaign_statuses SET status_name='$status_name',selectable='$selectable',human_answered='$human_answered',category='$category' where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CAMPAIGN STATUS|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$SUB=22; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=43 delete campaign hotkey in the system +###################### + +if ($ADD==43) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) + { + echo "
ΤΟ ΚΛΕΙΔΙ ΤΗΣ ΕΚΣΤΡΑΤΕΙΑΣ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
το ID της εκστρατείας πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + echo "
η κατάσταση της εκστρατείας πρέπει να είναι τουλάχιστον 1 χαρακτήρας\n"; + echo "
the campaign hotkey needs to be at least 1 characters in length\n"; + } + else + { + echo "
ΔΙΑΦΡΑΦΗΚΕ ΤΟ ΠΡΟΣΑΡΜΟΣΜΕΝΟ ΚΛΕΙΔΙ ΤΗΣ ΕΚΣΤΡΑΤΕΙΑΣ: $campaign_id - $status - $hotkey\n"; + + $stmt="DELETE FROM vicidial_campaign_hotkeys where campaign_id='$campaign_id' and status='$status' and hotkey='$hotkey';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE CAMPAIGN STATUS|$PHP_AUTH_USER|$ip|DELETE FROM vicidial_campaign_hotkeys where campaign_id='$campaign_id' and status='$status' and hotkey='$hotkey'|\n"); + fclose($fp); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$SUB=23; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=44 submit campaign modifications to the system - Basic View +###################### + +if ($ADD==44) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_name) < 6) or (strlen($active) < 1) ) + { + echo "
Η ΕΚΣΤΡΑΤΕΙΑ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
το όνομα της εκστρατείας πρέπει να είναι τουλάχιστον 6 χαρακτήρες\n"; + } + else + { + echo "
ΕΣΤΡΑΤΕΙΑ ΤΡΟΠΟΠΟΙΗΘΗΚΕ: $campaign_id\n"; + + if ($dial_method == 'RATIO') + { + if ($auto_dial_level < 1) {$auto_dial_level = "1.0";} + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + else + { + if ($dial_method == 'MANUAL') + { + $auto_dial_level='0'; + $adlSQL = "auto_dial_level='0',"; + } + else + { + $adlSQL = ""; + if ($auto_dial_level < 1) + { + $auto_dial_level = "1.0"; + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + } + } + if ( (!ereg("DISABLED",$list_order_mix)) and ($hopper_level < 100) ) + {$hopper_level='100';} + + $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',hopper_level='$hopper_level', $adlSQL lead_filter_id='$lead_filter_id',dial_method='$dial_method',adaptive_intensity='$adaptive_intensity',campaign_changedate='$SQLdate',list_order_mix='$list_order_mix' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + if ($reset_hopper == 'Y') + { + echo "
ΕΠΑΝΑΦΟΡΑ ΚΑΘΟΘΗΓΗΤΗ ΕΚΣΤΡΑΤΕΙΑΣ HOPPER\n"; + echo "
- Αναμονή 1 λεπτού πριν την κλήση του επόμενου αριθμού\n"; + $stmt="DELETE from vicidial_hopper where campaign_id='$campaign_id' and status IN('READY','QUEUE','DONE');;"; + $rslt=mysql_query($stmt, $link); + + ### LOG HOPPER RESET TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|CAMPAIGN HOPPERRESET|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CAMPAIGN INFO|$PHP_AUTH_USER|$ip|$stmtA|$reset_hopper|\n"); + fclose($fp); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=34; # go to campaign modification form below +} + +###################### +# ADD=45 modify campaign lead recycle in the system +###################### + +if ($ADD==45) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) + { + echo "
CAMPAIGN LEAD RECYCLE NOT MODIFIED - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
η κατάσταση πρέπει να είναι μεταξύ 1 και 6 χαρακτήρων στο μήκος\n"; + echo "
η καθυστέρηση προσπάθειας πρέπει να είναι τουλάχιστον 120δευτερόλεπτα\n"; + echo "
οι μέγιστες προσπάθειες πρέπει να είναι από 1 έως 10\n"; + } + else + { + echo "
CAMPAIGN LEAD MODIFIED: $campaign_id - $status - $attempt_delay\n"; + + $stmt="UPDATE vicidial_lead_recycle SET attempt_delay='$attempt_delay',attempt_maximum='$attempt_maximum',active='$active' where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LEAD RECYCLE |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$SUB=25; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=47 modify agent pause code in the system +###################### + +if ($ADD==47) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) + { + echo "
ΚΩΔΙΚΑΣ ΜΙΚΡΗΣ ΔΙΑΚΟΠΉΣ ΠΡΑΚΤΟΡΩΝ ΤΡΟΠΟΠΟΙΗΜΕΝΟΣ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
pause_code must be between 1 and 6 characters in length\n"; + echo "
pause_code name must be between 2 and 30 characters in length\n"; + } + else + { + echo "
ΧΕΙΡΙΣΤΗΣPAUSE CODE MODIFIED: $campaign_id - $pause_code - $pause_code_name\n"; + + $stmt="UPDATE vicidial_pause_codes SET pause_code_name='$pause_code_name',billable='$billable' where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY ΧΕΙΡΙΣΤΗΣPAUSECODE|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$SUB=27; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=49 modify campaign list mix in the system +###################### + +if ($ADD==49) +{ + if ($LOGmodify_campaigns==1) + { + ##### MODIFY a list mix container entry ##### + if ($stage=='MODIFY') + { + echo ""; + + $Flist_mix_container = "list_mix_container_$vcl_id"; + $Fmix_method = "mix_method_$vcl_id"; + $Fstatus = "status_$vcl_id"; + $Fvcl_name = "vcl_name_$vcl_id"; + + if (isset($_GET[$Flist_mix_container])) {$list_mix_container=$_GET[$Flist_mix_container];} + elseif (isset($_POST[$Flist_mix_container])) {$list_mix_container=$_POST[$Flist_mix_container];} + if (isset($_GET[$Fmix_method])) {$mix_method=$_GET[$Fmix_method];} + elseif (isset($_POST[$Fmix_method])) {$mix_method=$_POST[$Fmix_method];} + if (isset($_GET[$Fstatus])) {$status=$_GET[$Fstatus];} + elseif (isset($_POST[$Fstatus])) {$status=$_POST[$Fstatus];} + if (isset($_GET[$Fvcl_name])) {$vcl_name=$_GET[$Fvcl_name];} + elseif (isset($_POST[$Fvcl_name])) {$vcl_name=$_POST[$Fvcl_name];} + $list_mix_container = preg_replace("/:$/","",$list_mix_container); + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($list_mix_container) < 6) or (strlen($vcl_name) < 2) ) + { + echo "
ΜΙΓΜΑ ΚΑΤΑΛΟΓΩΝ ΤΡΟΠΟΠΟΙΗΜΕΝΟ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + echo "
vcl_name name must be between 2 and 30 characters in length\n"; + } + else + { + $stmt="UPDATE vicidial_campaigns_list_mix SET vcl_name='$vcl_name',mix_method='$mix_method',list_mix_container='$list_mix_container' where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
ΜΙΓΜΑ ΚΑΤΑΛΟΓΩΝ ΤΡΟΠΟΠΟΙΗΜΕΝΟ: $campaign_id - $vcl_id - $vcl_name\n"; + } + } + + ##### ADD a list mix container entry ##### + if ($stage=='ADD') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($list_id) < 1) ) + { + echo "
ΜΙΓΜΑ ΚΑΤΑΛΟΓΩΝ ΤΡΟΠΟΠΟΙΗΜΕΝΟ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + echo "
list_id must be at least 2 characters in length\n"; + } + else + { + $stmt="SELECT list_mix_container from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $OLDlist_mix_container = $row[0]; + $NEWlist_mix_container = "$OLDlist_mix_container:$list_id|10|0| -|"; + + $stmt="UPDATE vicidial_campaigns_list_mix SET list_mix_container='$NEWlist_mix_container' where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
ΜΙΓΜΑ ΚΑΤΑΛΟΓΩΝ ΤΡΟΠΟΠΟΙΗΜΕΝΟ: $campaign_id - $vcl_id - $list_id\n"; + } + } + + ##### REMOVE a list mix container entry ##### + if ($stage=='REMOVE') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($list_id) < 1) ) + { + echo "
ΜΙΓΜΑ ΚΑΤΑΛΟΓΩΝ ΤΡΟΠΟΠΟΙΗΜΕΝΟ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + echo "
list_id must be at least 2 characters in length\n"; + } + else + { + $stmt="SELECT list_mix_container from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $MIXentries = $MT; + $MIXentries = explode(":", $row[0]); + $Ms_to_print = (count($MIXentries) - 0); + + if ($Ms_to_print < 2) + { + echo "
ΜΙΓΜΑ ΚΑΤΑΛΟΓΩΝ ΤΡΟΠΟΠΟΙΗΜΕΝΟ: Δεν μπορείτε να διαγράψετε το τελευταίο λήμμα list_id από έναμίγμα καταλόγων\n"; + } + else + { + $MIXdetailsPCT = explode('|', $MIXentries[$mix_container_item]); + $MIXpercentPCT = $MIXdetailsPCT[2]; + + $q=0; + while ($Ms_to_print > $q) + { + if ( ($mix_container_item > $q) or ($mix_container_item < $q) ) + { + if ( ($q==0) and ($mix_container_item > 0) ) + { + $MIXdetailsONE = explode('|', $MIXentries[$q]); + $MIXpercentONE = ($MIXdetailsONE[2] + $MIXpercentPCT); + $NEWlist_mix_container .= "$MIXdetailsONE[0]|$MIXdetailsONE[1]|$MIXpercentONE|$MIXdetailsONE[3]|:"; + } + else + { + if ( ($q==1) and ($mix_container_item < 1) ) + { + $MIXdetailsONE = explode('|', $MIXentries[$q]); + $MIXpercentONE = ($MIXdetailsONE[2] + $MIXpercentPCT); + $NEWlist_mix_container .= "$MIXdetailsONE[0]|$MIXdetailsONE[1]|$MIXpercentONE|$MIXdetailsONE[3]|:"; + } + else + { + $NEWlist_mix_container .= "$MIXentries[$q]:"; + } + } + } + $q++; + } + $NEWlist_mix_container = preg_replace("/.$/",'',$NEWlist_mix_container); + + $stmt="UPDATE vicidial_campaigns_list_mix SET list_mix_container='$NEWlist_mix_container' where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
ΜΙΓΜΑ ΚΑΤΑΛΟΓΩΝ ΤΡΟΠΟΠΟΙΗΜΕΝΟ: $campaign_id - $vcl_id - $list_id - $mix_container_item\n"; + } + } + } + + ##### ADD a NEW list mix ##### + if ($stage=='NEWMIX') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($vcl_name) < 2) ) + { + echo "
ΜΙΓΜΑ ΚΑΤΑΛΟΓΩΝ ΠΡΟΣΤΙΘΕΜΕΝΟ- Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + echo "
vcl_name must be at least 2 characters in length\n"; + } + else + { + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
ΜΙΓΜΑ ΚΑΤΑΛΟΓΩΝ ΠΡΟΣΤΙΘΕΜΕΝΟ- Υπάρχει ήδη ένα μίγμα καταλόγων με αυτήν την ταυτότητα στοσύστημα\n"; + } + else + { + $stmt="INSERT INTO vicidial_campaigns_list_mix SET list_mix_container='$list_id|1|100| $status -|',campaign_id='$campaign_id',vcl_id='$vcl_id',vcl_name='$vcl_name',mix_method='$mix_method',status='INACTIVE';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
ΜΙΓΜΑ ΚΑΤΑΛΟΓΩΝ ΠΡΟΣΤΙΘΕΜΕΝΟ:$campaign_id - $vcl_id - $vcl_name\n"; + } + } + } + + ##### DELETE an existing list mix ##### + if ($stage=='DELMIX') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) ) + { + echo "
ΜΙΓΜΑ ΚΑΤΑΛΟΓΩΝ ΠΟΥ ΔΕΝ ΔΙΑΓΡΑΦΕΤΑΙ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_campaigns_list_mix where vcl_id='$vcl_id' and campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
ΜΙΓΜΑ ΚΑΤΑΛΟΓΩΝ ΠΟΥ ΔΙΑΓΡΑΦΕΤΑΙ:$campaign_id - $vcl_id - $vcl_name\n"; + } + } + + ##### Set list mix entry to active ##### + if ($stage=='SETACTIVE') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) ) + { + echo "
ΜΙΓΜΑ ΚΑΤΑΛΟΓΩΝ ΠΟΥ ΔΕΝ ΕΝΕΡΓΟΠΟΙΕΙΤΑΙ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + } + else + { + $stmt="UPDATE vicidial_campaigns_list_mix SET status='INACTIVE' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_campaigns_list_mix SET status='ACTIVE' where vcl_id='$vcl_id' and campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
ΜΙΓΜΑ ΚΑΤΑΛΟΓΩΝ ΠΟΥ ΕΝΕΡΓΟΠΟΙΕΙΤΑΙ: $campaign_id - $vcl_id - $vcl_name\n"; + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$SUB=29; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=411 submit list modifications to the system +###################### + +if ($ADD==411) +{ + if ($LOGmodify_lists==1) + { + echo ""; + + if ( (strlen($list_name) < 2) or (strlen($campaign_id) < 2) ) + { + echo "
Η ΛΙΣΤΑ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
η λίστα πρέπει να είναι τουλαχιστον 2 χαρακτήρες\n"; + } + else + { + echo "
ΛΙΣΤΑ ΤΡΟΠΟΠΟΙΗΘΗΚΕ: $list_id\n"; + + $stmt="UPDATE vicidial_lists set list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description',list_changedate='$SQLdate' where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + if ($reset_list == 'Y') + { + echo "
ΕΠΑΝΑΦΟΡΑ ΚΑΤΑΣΤΑΣΗΣ ΚΛΗΣΗΣ ΛΙΣΤΑΣ\n"; + $stmt="UPDATE vicidial_list set called_since_last_reset='N' where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG RESET TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|RESET LIST CALLED |$PHP_AUTH_USER|$ip|list_name='$list_name'|\n"); + fclose($fp); + } + } + if ($campaign_id != "$old_campaign_id") + { + echo "
ΑΠΟΜΑΚΡΥΝΣΗ ΚΑΘΟΔΗΓΗΤΩΝ ΛΙΣΤΑΣ HOPPER ΑΠΟ ΠΑΛΑΙΑ HOPPER ΕΚΣΤΡΑΤΕΙΑ ($old_campaign_id)\n"; + $stmt="DELETE from vicidial_hopper where list_id='$list_id' and campaign_id='$old_campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST INFO |$PHP_AUTH_USER|$ip|list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description' where list_id='$list_id'|\n"); + fclose($fp); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=311; # go to list modification form below +} + + +###################### +# ADD=4111 modify in-group info in the system +###################### + +if ($ADD==4111) +{ + if ($LOGmodify_ingroups==1) + { + echo ""; + + if ( (strlen($group_name) < 2) or (strlen($group_color) < 2) ) + { + echo "
Η ΟΜΑΔΑ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
το όνομα και χρώμα ομάδας πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + echo "
ΟΜΑΔΑ ΤΡΟΠΟΠΟΙΗΘΗΚΕ: $group_id\n"; + + $stmt="UPDATE vicidial_inbound_groups set group_name='$group_name', group_color='$group_color', active='$active', web_form_address='" . mysql_real_escape_string($web_form_address) . "', voicemail_ext='$voicemail_ext', next_agent_call='$next_agent_call', fronter_display='$fronter_display', ingroup_script='$script_id', get_call_launch='$get_call_launch', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',drop_message='$drop_message',drop_call_seconds='$drop_call_seconds',drop_exten='$drop_exten',call_time_id='$call_time_id',after_hours_action='$after_hours_action',after_hours_message_filename='$after_hours_message_filename',after_hours_exten='$after_hours_exten',after_hours_voicemail='$after_hours_voicemail',welcome_message_filename='$welcome_message_filename',moh_context='$moh_context',onhold_prompt_filename='$onhold_prompt_filename',prompt_interval='$prompt_interval',agent_alert_exten='$agent_alert_exten',agent_alert_delay='$agent_alert_delay',default_xfer_group='$default_xfer_group' where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY GROUP INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=3111; # go to in-group modification form below +} + + + +###################### +# ADD=41111 modify remote agents info in the system +###################### + +if ($ADD==41111) +{ + if ($LOGmodify_remoteagents==1) + { + echo ""; + + if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) + { + echo "
ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΑΝ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
Το ID του χρήστη και η εξωτερική εσωτ.σύνδεση πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $stmt="UPDATE vicidial_remote_agents set user_start='$user_start', number_of_lines='$number_of_lines', server_ip='$server_ip', conf_exten='$conf_exten', status='$status', campaign_id='$campaign_id', closer_campaigns='$groups_value' where remote_agent_id='$remote_agent_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ ΤΡΟΠΟΠΟΙΗΘΗΚΑΝ\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ ENTRY |$PHP_AUTH_USER|$ip|set user_start='$user_start', number_of_lines='$number_of_lines', server_ip='$server_ip', conf_exten='$conf_exten', status='$status', campaign_id='$campaign_id', closer_campaigns='$groups_value' where remote_agent_id='$remote_agent_id'|\n"); + fclose($fp); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=31111; # go to remote agents modification form below +} + + + +###################### +# ADD=411111 modify user group info in the system +###################### + +if ($ADD==411111) +{ + if ($LOGmodify_usergroups==1) + { + echo ""; + + if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) + { + echo "
Η ΟΜΑΔΑ ΧΡΗΣΤΗ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n"; + echo "
Η ομάδα και η περιγραφή πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $stmt="UPDATE vicidial_user_groups set user_group='$user_group', group_name='$group_name',allowed_campaigns='$campaigns_value' where user_group='$OLDuser_group';"; + $rslt=mysql_query($stmt, $link); + + echo "
ΟΜΑΔΑ ΧΡΗΣΤΗ ΤΡΟΠΟΠΟΙΗΘΗΚΕ\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY USER GROUP ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=311111; # go to user group modification form below +} + +###################### +# ADD=4111111 modify script in the system +###################### + +if ($ADD==4111111) +{ + if ($LOGmodify_scripts==1) + { + echo "\n"; + echo "\n"; + echo ""; + + if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + { + echo "
Ο ΒΟΗΘΟΣ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Το όνομα, η περιγραφή και το κείμενο χειρογράφων πρέπει να είναι τουλάχιστον 2 χαρακτήρες στο μήκος\n"; + } + else + { + $stmt="UPDATE vicidial_scripts set script_name='$script_name', script_comments='$script_comments', script_text='$script_text', active='$active' where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
Ο ΒΟΗΘΟΣ ΤΡΟΠΟΠΟΙΗΘΗΚΕ\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY SCRIPT ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=3111111; # go to script modification form below +} + + +###################### +# ADD=41111111 modify filter in the system +###################### + +if ($ADD==41111111) +{ + if ($LOGmodify_filters==1) + { + echo ""; + + if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + { + echo "
ΤΟ ΦΙΛΤΡΟ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
ID φίλτρου, όνομα και SQL πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $stmt="UPDATE vicidial_lead_filters set lead_filter_name='$lead_filter_name', lead_filter_comments='$lead_filter_comments', lead_filter_sql='$lead_filter_sql' where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
ΤΟ ΦΙΛΤΡΟ ΤΡΟΠΟΠΟΙΗΘΗΚΕ\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY FILTER ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=31111111; # go to filter modification form below +} + + +###################### +# ADD=411111111 modify call time in the system +###################### + +if ($ADD==411111111) +{ + if ($LOGmodify_call_times==1) + { + echo ""; + + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) + { + echo "
ΧΟΝΟΣ ΚΛΗΣΗΣ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Το ID Χρόνου Κλήσης και το όνομα πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $ct_default_start = preg_replace('/\D/', '', $ct_default_start); + $ct_default_stop = preg_replace('/\D/', '', $ct_default_stop); + $ct_sunday_start = preg_replace('/\D/', '', $ct_sunday_start); + $ct_sunday_stop = preg_replace('/\D/', '', $ct_sunday_stop); + $ct_monday_start = preg_replace('/\D/', '', $ct_monday_start); + $ct_monday_stop = preg_replace('/\D/', '', $ct_monday_stop); + $ct_tuesday_start = preg_replace('/\D/', '', $ct_tuesday_start); + $ct_tuesday_stop = preg_replace('/\D/', '', $ct_tuesday_stop); + $ct_wednesday_start = preg_replace('/\D/', '', $ct_wednesday_start); + $ct_wednesday_stop = preg_replace('/\D/', '', $ct_wednesday_stop); + $ct_thursday_start = preg_replace('/\D/', '', $ct_thursday_start); + $ct_thursday_stop = preg_replace('/\D/', '', $ct_thursday_stop); + $ct_friday_start = preg_replace('/\D/', '', $ct_friday_start); + $ct_friday_stop = preg_replace('/\D/', '', $ct_friday_stop); + $ct_saturday_start = preg_replace('/\D/', '', $ct_saturday_start); + $ct_saturday_stop = preg_replace('/\D/', '', $ct_saturday_stop); + $stmt="UPDATE vicidial_call_times set call_time_name='$call_time_name', call_time_comments='$call_time_comments', ct_default_start='$ct_default_start', ct_default_stop='$ct_default_stop', ct_sunday_start='$ct_sunday_start', ct_sunday_stop='$ct_sunday_stop', ct_monday_start='$ct_monday_start', ct_monday_stop='$ct_monday_stop', ct_tuesday_start='$ct_tuesday_start', ct_tuesday_stop='$ct_tuesday_stop', ct_wednesday_start='$ct_wednesday_start', ct_wednesday_stop='$ct_wednesday_stop', ct_thursday_start='$ct_thursday_start', ct_thursday_stop='$ct_thursday_stop', ct_friday_start='$ct_friday_start', ct_friday_stop='$ct_friday_stop', ct_saturday_start='$ct_saturday_start', ct_saturday_stop='$ct_saturday_stop' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
ΤΡΟΠΟΠΟΙΗΘΗΚΕ ΧΡΟΝΟΣ ΚΛΗΣΗΣ\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CALL TIME ENTRY |$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=311111111; # go to call time modification form below +} + + +###################### +# ADD=4111111111 modify state call time in the system +###################### + +if ($ADD==4111111111) +{ + if ($LOGmodify_call_times==1) + { + echo ""; + + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) + { + echo "
ΧΡΟΝΟΣ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Το ID Χρόνου Κλήσης Κατάστασης, το όνομα και η κατάσταση πρέπει να είναι τουλάχιστον 2 χαρακτήρες \n"; + } + else + { + $ct_default_start = preg_replace('/\D/', '', $ct_default_start); + $ct_default_stop = preg_replace('/\D/', '', $ct_default_stop); + $ct_sunday_start = preg_replace('/\D/', '', $ct_sunday_start); + $ct_sunday_stop = preg_replace('/\D/', '', $ct_sunday_stop); + $ct_monday_start = preg_replace('/\D/', '', $ct_monday_start); + $ct_monday_stop = preg_replace('/\D/', '', $ct_monday_stop); + $ct_tuesday_start = preg_replace('/\D/', '', $ct_tuesday_start); + $ct_tuesday_stop = preg_replace('/\D/', '', $ct_tuesday_stop); + $ct_wednesday_start = preg_replace('/\D/', '', $ct_wednesday_start); + $ct_wednesday_stop = preg_replace('/\D/', '', $ct_wednesday_stop); + $ct_thursday_start = preg_replace('/\D/', '', $ct_thursday_start); + $ct_thursday_stop = preg_replace('/\D/', '', $ct_thursday_stop); + $ct_friday_start = preg_replace('/\D/', '', $ct_friday_start); + $ct_friday_stop = preg_replace('/\D/', '', $ct_friday_stop); + $ct_saturday_start = preg_replace('/\D/', '', $ct_saturday_start); + $ct_saturday_stop = preg_replace('/\D/', '', $ct_saturday_stop); + $stmt="UPDATE vicidial_state_call_times set state_call_time_name='$call_time_name', state_call_time_comments='$call_time_comments', sct_default_start='$ct_default_start', sct_default_stop='$ct_default_stop', sct_sunday_start='$ct_sunday_start', sct_sunday_stop='$ct_sunday_stop', sct_monday_start='$ct_monday_start', sct_monday_stop='$ct_monday_stop', sct_tuesday_start='$ct_tuesday_start', sct_tuesday_stop='$ct_tuesday_stop', sct_wednesday_start='$ct_wednesday_start', sct_wednesday_stop='$ct_wednesday_stop', sct_thursday_start='$ct_thursday_start', sct_thursday_stop='$ct_thursday_stop', sct_friday_start='$ct_friday_start', sct_friday_stop='$ct_friday_stop', sct_saturday_start='$ct_saturday_start', sct_saturday_stop='$ct_saturday_stop', state_call_time_state='$state_call_time_state' where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
ΤΡΟΠΟΠΟΙΗΘΗΚΕ ΧΡΟΝΟΣ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣ\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY STATE CALL TIME ENTRY|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=3111111111; # go to state call time modification form below +} + + +###################### +# ADD=41111111111 modify phone record in the system +###################### + +if ($ADD==41111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ( ($extension != $old_extension) or ($server_ip != $old_server_ip) ) ) + {echo "
ΤΟ ΤΗΛΕΦΩΝΟ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - υπάρχει ήδη ένα τηλέφωνο με αυτή την εσωτ.σύνδεση/διακομιστή\n";} + else + { + if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) + {echo "
ΤΟ ΤΗΛΕΦΩΝΟ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n";} + else + { + echo "
ΤΟ ΤΗΛΕΦΩΝΟ ΤΡΟΠΟΠΟΙΗΘΗΚΕ: $extension\n"; + + $stmt="UPDATE phones set extension='$extension', dialplan_number='$dialplan_number', voicemail_id='$voicemail_id', phone_ip='$phone_ip', computer_ip='$computer_ip', server_ip='$server_ip', login='$login', pass='$pass', status='$status', active='$active', phone_type='$phone_type', fullname='$fullname', company='$company', picture='$picture', protocol='$protocol', local_gmt='$local_gmt', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', login_user='$login_user', login_pass='$login_pass', login_campaign='$login_campaign', park_on_extension='$park_on_extension', conf_on_extension='$conf_on_extension', VICIDIAL_park_on_extension='$VICIDIAL_park_on_extension', VICIDIAL_park_on_filename='$VICIDIAL_park_on_filename', monitor_prefix='$monitor_prefix', recording_exten='$recording_exten', voicemail_exten='$voicemail_exten', voicemail_dump_exten='$voicemail_dump_exten', ext_context='$ext_context', dtmf_send_extension='$dtmf_send_extension', call_out_number_group='$call_out_number_group', client_browser='$client_browser', install_directory='$install_directory', local_web_callerID_URL='" . mysql_real_escape_string($local_web_callerID_URL) . "', VICIDIAL_web_URL='" . mysql_real_escape_string($VICIDIAL_web_URL) . "', AGI_call_logging_enabled='$AGI_call_logging_enabled', user_switching_enabled='$user_switching_enabled', conferencing_enabled='$conferencing_enabled', admin_hangup_enabled='$admin_hangup_enabled', admin_hijack_enabled='$admin_hijack_enabled', admin_monitor_enabled='$admin_monitor_enabled', call_parking_enabled='$call_parking_enabled', updater_check_enabled='$updater_check_enabled', AFLogging_enabled='$AFLogging_enabled', QUEUE_ACTION_enabled='$QUEUE_ACTION_enabled', CallerID_popup_enabled='$CallerID_popup_enabled', voicemail_button_enabled='$voicemail_button_enabled', enable_fast_refresh='$enable_fast_refresh', fast_refresh_rate='$fast_refresh_rate', enable_persistant_mysql='$enable_persistant_mysql', auto_dial_next_number='$auto_dial_next_number', VDstop_rec_after_each_call='$VDstop_rec_after_each_call', DBX_server='$DBX_server', DBX_database='$DBX_database', DBX_user='$DBX_user', DBX_pass='$DBX_pass', DBX_port='$DBX_port', DBY_server='$DBY_server', DBY_database='$DBY_database', DBY_user='$DBY_user', DBY_pass='$DBY_pass', DBY_port='$DBY_port', outbound_cid='$outbound_cid', enable_sipsak_messages='$enable_sipsak_messages' where extension='$old_extension' and server_ip='$old_server_ip';"; + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=31111111111; # go to phone modification form below +} + + +###################### +# ADD=411111111111 modify server record in the system +###################### + +if ($ADD==411111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + $stmt="SELECT count(*) from servers where server_id='$server_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ($server_id != $old_server_id) ) + {echo "
ΔΙΑΚΟΜΙΣΤΗΣ NOT MODIFIED - there is already a server in the system with this server_id\n";} + else + { + $stmt="SELECT count(*) from servers where server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ($server_ip != $old_server_ip) ) + {echo "
Ο ΔΙΑΚΟΜΙΣΤΗΣ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - υπάρχει ήδη ένας διακομιστής με αυτό το IP\n";} + else + { + if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) + {echo "
Ο ΔΙΑΚΟΜΙΣΤΗΣ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n";} + else + { + echo "
Ο ΔΙΑΚΟΜΙΣΤΗΣ ΤΡΟΠΟΠΟΙΗΘΗΚΕ: $server_ip\n"; + + $stmt="UPDATE servers set server_id='$server_id',server_description='$server_description',server_ip='$server_ip',active='$active',asterisk_version='$asterisk_version', max_vicidial_trunks='$max_vicidial_trunks', telnet_host='$telnet_host', telnet_port='$telnet_port', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', ASTmgrUSERNAMEupdate='$ASTmgrUSERNAMEupdate', ASTmgrUSERNAMElisten='$ASTmgrUSERNAMElisten', ASTmgrUSERNAMEsend='$ASTmgrUSERNAMEsend', local_gmt='$local_gmt', voicemail_dump_exten='$voicemail_dump_exten', answer_transfer_agent='$answer_transfer_agent', ext_context='$ext_context', sys_perf_log='$sys_perf_log', vd_server_logs='$vd_server_logs', agi_output='$agi_output', vicidial_balance_active='$vicidial_balance_active', balance_trunks_offlimits='$balance_trunks_offlimits' where server_id='$old_server_id';"; + $rslt=mysql_query($stmt, $link); + } + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=311111111111; # go to server modification form below +} + + +###################### +# ADD=421111111111 modify vicidial server trunks record in the system +###################### + +if ($ADD==421111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $MAXvicidial_trunks = $rowx[0]; + + $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); + + if ($SUMvicidial_trunks > $MAXvicidial_trunks) + { + echo "
Η ΕΓΓΡΑΦΗ ΤΟΥ ΚΟΡΜΟΥ ΣΤΟΝ ΕΞΥΠΗΡΕΤΗΤΗ ΔΕΝ ΠΡΟΣΤΕΘΗΚΕ - ο αριθμός των κορμών είναι πολύ υψηλός: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + } + else + { + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) + { + echo "
Η ΕΓΓΡΑΦΗ ΤΟΥ ΚΟΡΜΟΥ ΣΤΟΝ ΕΞΥΠΗΡΕΤΗΤΗ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
η εκστρατεία πρέπει να είναι μεταξύ 3 και 8 χαρακτήρων στο μήκος\n"; + echo "
η server_ip καθυστέρηση πρέπει να είναι τουλάχιστον 7 χαρακτήρες\n"; + echo "
οι κορμοί πρέπει να είναι ένα ψηφίο από 0 έως 9999\n"; + } + else + { + echo "
Η ΕΓΓΡΑΦΗ ΤΟΥ ΚΟΡΜΟΥ ΣΤΟΝ ΕΞΥΠΗΡΕΤΗΤΗ ΤΡΟΠΟΠΟΙΗΘΗΚΕ: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; + + $stmt="UPDATE vicidial_server_trunks SET dedicated_trunks='$dedicated_trunks',trunk_restriction='$trunk_restriction' where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ΤΡΟΠΟΠΟΙΗΣΕ ΔΙΑΚΟΜΙΣΤΗ TRUNK |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=311111111111; # go to server modification form below +} + + +###################### +# ADD=4111111111111 modify conference record in the system +###################### + +if ($ADD==4111111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ( ($conf_exten != $old_conf_exten) or ($server_ip != $old_server_ip) ) ) + {echo "
Η ΣΥΝΔΙΑΛΕΞΗ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - υπάρχει ήδη μία συνδιάλεξη με αυτή την εσωτ.σύνδεση-διακομιστή\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
Η ΣΥΝΔΙΑΛΕΞΗ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n";} + else + { + echo "
Η ΣΥΝΔΙΑΛΕΞΗ ΤΡΟΠΟΠΟΙΗΘΗΚΕ: $conf_exten\n"; + + $stmt="UPDATE conferences set conf_exten='$conf_exten',server_ip='$server_ip',extension='$extension' where conf_exten='$old_conf_exten';"; + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=3111111111111; # go to conference modification form below +} + + +###################### +# ADD=41111111111111 modify vicidial conference record in the system +###################### + +if ($ADD==41111111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ( ($conf_exten != $old_conf_exten) or ($server_ip != $old_server_ip) ) ) + {echo "
VICIDIAL Η ΣΥΝΔΙΑΛΕΞΗ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - υπάρχει ήδη μία συνδιάλεξη με αυτή την εσωτ.σύνδεση-διακομιστή\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
VICIDIAL Η ΣΥΝΔΙΑΛΕΞΗ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΕ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n";} + else + { + echo "
VICIDIAL Η ΣΥΝΔΙΑΛΕΞΗ ΤΡΟΠΟΠΟΙΗΘΗΚΕ: $conf_exten\n"; + + $stmt="UPDATE vicidial_conferences set conf_exten='$conf_exten',server_ip='$server_ip',extension='$extension' where conf_exten='$old_conf_exten';"; + $rslt=mysql_query($stmt, $link); + + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=31111111111111; # go to vicidial conference modification form below +} + + + +###################### +# ADD=411111111111111 modify vicidial system settings +###################### + +if ($ADD==411111111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + echo "
VICIDIAL ΤΟΠΟΘΕΤΗΣΕΙΣ ΣΥΣΤΗΜΑΤΩΝ ΤΡΟΠΟΠΟΙΗΜΕΝΕΣ\n"; + + $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY SYSTEM SETTINGS|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=311111111111111; # go to vicidial system settings form below +} + + +###################### +# ADD=421111111111111 modify/delete system status in the system +###################### + +if ($ADD==421111111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + if (ereg('delete',$stage)) + { + if ( (strlen($status) < 1) or (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$status)) ) + { + echo "
ΘΕΣΗ ΣΥΣΤΗΜΑΤΩΝ ΠΟΥ ΔΕΝ ΔΙΑΓΡΑΦΕΤΑΙ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
η θέση συστημάτων δεν μπορεί να είναι μια διατηρημένη θέση:B,NA,DNC,NA,DROP,INCALL,QUEUE,NEW\n"; + echo "
η θέση συστημάτων πρέπει να είναι χαρακτήρες τουλάχιστον 1 στομήκος\n"; + } + else + { + echo "
SYSTEM STATUS DELETED: $status\n"; + + $stmt="DELETE FROM vicidial_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="DELETE FROM vicidial_campaign_hotkeys where status='$status';"; + $rslt=mysql_query($stmtA, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE SYSTEM STATUS |$PHP_AUTH_USER|$ip|$stmt|$stmtA|\n"); + fclose($fp); + } + } + } + if (ereg('modify',$stage)) + { + if ( (strlen($status) < 1) or (strlen($status_name) < 2) ) + { + echo "
ΘΕΣΗ ΣΥΣΤΗΜΑΤΩΝ ΤΡΟΠΟΠΟΙΗΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
η θέση συστημάτων πρέπει να είναι χαρακτήρες τουλάχιστον 1 στομήκος\n"; + echo "
το όνομα θέσης συστημάτων πρέπει να είναι χαρακτήρεςτουλάχιστον 1 στο μήκος\n"; + } + else + { + echo "
ΘΕΣΗ ΣΥΣΤΗΜΑΤΩΝ ΤΡΟΠΟΠΟΙΗΜΕΝΗ: $status\n"; + + $stmt="UPDATE vicidial_statuses SET status_name='$status_name',selectable='$selectable',human_answered='$human_answered',category='$category' where status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY SYSTEM STATUS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=321111111111111; # go to system settings modification form below +} + + +###################### +# ADD=431111111111111 modify/delete status category in the system +###################### + +if ($ADD==431111111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + if ( (strlen($vsc_id) < 2) or (preg_match("/^UNDEFINED$/i",$vsc_id)) ) + { + echo "
ΚΑΤΗΓΟΡΙΑ ΘΕΣΗΣ ΤΡΟΠΟΠΟΙΗΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
η κατηγορία θέσης δεν μπορεί να είναι μια διατηρημένη κατηγορία:UNDEFINED\n"; + echo "
η κατηγορία θέσης πρέπει να είναι τουλάχιστον 2 χαρακτήρες στομήκος\n"; + } + else + { + if (ereg('delete',$stage)) + { + echo "
ΚΑΤΗΓΟΡΙΑ ΘΕΣΗΣ ΠΟΥ ΔΙΑΓΡΑΦΕΤΑΙ: $vsc_id\n"; + + $stmt="DELETE FROM vicidial_status_categories where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE STATUS CATEGORY|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + if (ereg('modify',$stage)) + { + echo "
ΚΑΤΗΓΟΡΙΑ ΘΕΣΗΣ ΤΡΟΠΟΠΟΙΗΜΕΝΗ: $vsc_id\n"; + + $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + { + $tovdad_display = 'N'; + echo "
ΛΑΘΟΣ: Υπάρχουν ήδη 4 κατηγορίες θέσης καθορισμένες την επίδειξηTimeOnVDAD\n"; + } + + $stmt="UPDATE vicidial_status_categories SET vsc_name='$vsc_name',vsc_description='$vsc_description',tovdad_display='$tovdad_display' where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY STATUS CATEGORY|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=331111111111111; # go to system settings modification form below +} + + + + +###################################################################################################### +###################################################################################################### +####### 5 series, delete records confirmation +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=5 confirmation before deletion of user +###################### + +if ($ADD==5) +{ + echo ""; + + if ( (strlen($user) < 2) or ($LOGdelete_users < 1) ) + { + echo "
ΧΡΗΣΤΗΣ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
User be at least 2 characters in length\n"; + } + else + { + echo "
ΕΠΙΒΕΒΑΙΩΣΗ ΔΙΑΓΡΑΦΗΣ ΧΡΗΣΤΗ: $user\n"; + echo "

Χτυπήστε εδώ για να διαγράψετε το χρήστη $user


\n"; + } + +$ADD='3'; # go to user modification below +} + +###################### +# ADD=51 confirmation before deletion of campaign +###################### + +if ($ADD==51) +{ + echo ""; + + if ( (strlen($campaign_id) < 2) or ($LOGdelete_campaigns < 1) ) + { + echo "
ΕΚΣΤΡΑΤΕΙΑ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Εκστρατεία_id be at least 2 characters in length\n"; + } + else + { + echo "
ΕΠΙΒΕΒΑΙΩΣΗ ΔΙΑΓΡΑΦΗΣ ΕΚΣΤΡΑΤΕΙΑΣ: $campaign_id\n"; + echo "

Χτυπήστε εδώ για να διαγράψετε την εκστρατεία $campaign_id


\n"; + } + +$ADD='31'; # go to campaign modification below +} + +###################### +# ADD=52 confirmation before logging all agents out of campaign of campaign +###################### + +if ($ADD==52) +{ + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
ΧΕΙΡΙΣΤΕΣ ΠΟΥ ΔΕΝ ΕΙΝΑΙ ΑΠΟΣΥΝΔΕΜΕΝΟΙ ΑΠΟ ΤΗΝ ΕΚΣΤΡΑΤΕΙΑ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Εκστρατεία_id be at least 2 characters in length\n"; + } + else + { + echo "
ΕΠΙΒΕΒΑΙΩΣΗ ΑΠΟΣΥΝΔΕΣΗΣ ΧΕΙΡΙΣΤΩΝ: $campaign_id\n"; + echo "

Επιλέξτε εδώ για να αποσυνδέσετε όλους τους χειριστές από $campaign_id


\n"; + } + +$ADD='31'; # go to campaign modification below +} + +###################### +# ADD=53 confirmation before Emergency VDAC Jam Clear - deletes oldest LIVE vicidial_auto_call record +###################### + +if ($ADD==53) +{ + if (eregi('IN',$stage)) + {$group_id=$campaign_id;} + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
VDAC ΔΕΝ ΚΑΘΑΡΙΣΤΗΚΕ ΓΙΑ ΤΗΝ ΕΚΣΤΡΑΤΕΊΑ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Εκστρατεία_id be at least 2 characters in length\n"; + } + else + { + echo "
ΕΠΙΒΕΒΑΙΩΣΗ ΚΑΘΑΡΙΣΜΟΥ VDAC: $campaign_id\n"; + echo "

Επιλέξτε εδώ για να διαγράψετε την παλαιότερη ΖΩΝΤΑΝΗ εγγραφή στο VDAC για $campaign_id


\n"; + } + +# go to campaign modification below +if (eregi('IN',$stage)) + {$ADD='3111';} +else + {$ADD='31';} +} + +###################### +# ADD=511 confirmation before deletion of list +###################### + +if ($ADD==511) +{ + echo ""; + + if ( (strlen($list_id) < 2) or ($LOGdelete_lists < 1) ) + { + echo "
ΛΙΣΤΑ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
List_id be at least 2 characters in length\n"; + } + else + { + echo "
ΕΠΙΒΕΒΑΙΩΣΗ ΔΙΑΓΡΑΦΗΣ ΛΙΣΤΑΣ: $list_id\n"; + echo "

Χτυπήστε εδώ για να διαγράψετε τον κατάλογο και όλους τους οδηγούς του $list_id


\n"; + } + +$ADD='311'; # go to campaign modification below +} + +###################### +# ADD=5111 confirmation before deletion of in-group +###################### + +if ($ADD==5111) +{ + echo ""; + + if ( (strlen($group_id) < 2) or ($LOGdelete_ingroups < 1) ) + { + echo "
ΕΙΣ-ΟΜΑΔΑ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Group_id be at least 2 characters in length\n"; + } + else + { + echo "
ΕΠΙΒΕΒΑΙΩΣΗ ΔΙΑΓΡΑΦΗΣ ΕΙΣ-ΟΜΑΔΑΣ: $group_id\n"; + echo "

Επιλέξτε εδώ για να διαγράψετε την-ΟΜΑΔΑ $group_id


\n"; + } + +$ADD='3111'; # go to in-group modification below +} + +###################### +# ADD=51111 confirmation before deletion of remote agent record +###################### + +if ($ADD==51111) +{ + echo ""; + + if ( (strlen($remote_agent_id) < 1) or ($LOGdelete_remote_agents < 1) ) + { + echo "
ΑΠΟΜΑΚΡΥΣΜΕΝΟΣ ΧΕΙΡΙΣΤΗΣ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Remote_agent_id be at least 2 characters in length\n"; + } + else + { + echo "
ΕΠΙΒΕΒΑΙΩΣΗ ΔΙΑΓΡΑΦΗΣ ΑΠΟΜΑΚΡΥΣΜΕΝΩΝ ΧΕΙΡΙΣΤΩΝ : $remote_agent_id\n"; + echo "

Επιλέξτε εδώ για να διαγράψετε τον απομακρυσμένο χειριστή $remote_agent_id


\n"; + } + +$ADD='31111'; # go to remote agent modification below +} + +###################### +# ADD=511111 confirmation before deletion of user group record +###################### + +if ($ADD==511111) +{ + echo ""; + + if ( (strlen($user_group) < 2) or ($LOGdelete_user_groups < 1) ) + { + echo "
ΟΜΑΔΑ ΧΡΗΣΤΗ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
User_group be at least 2 characters in length\n"; + } + else + { + echo "
ΕΠΙΒΕΒΑΙΩΣΗ ΔΙΑΓΡΑΦΗΣ ΟΜΑΔΑΣ ΧΡΗΣΤΩΝ: $user_group\n"; + echo "

Επιλέξτε εδώ για να διαγράψετε την ομάδα χρηστών $user_group


\n"; + } + +$ADD='311111'; # go to user group modification below +} + +###################### +# ADD=5111111 confirmation before deletion of script record +###################### + +if ($ADD==5111111) +{ + echo ""; + + if ( (strlen($script_id) < 2) or ($LOGdelete_scripts < 1) ) + { + echo "
ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ Ο ΒΟΗΘΟΣ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Script_id must be at least 2 characters in length\n"; + } + else + { + echo "
ΕΠΙΒΕΒΑΙΩΣΗ ΔΙΑΓΡΑΦΗΣ ΒΟΗΘΟΥ: $script_id\n"; + echo "

επιλέξτε εδώ για να διαγράψετε τον βοηθό $script_id


\n"; + } + +$ADD='3111111'; # go to script modification below +} + +###################### +# ADD=51111111 confirmation before deletion of filter record +###################### + +if ($ADD==51111111) +{ + echo ""; + + if ( (strlen($lead_filter_id) < 2) or ($LOGdelete_filters < 1) ) + { + echo "
ΤΟ ΦΙΛΤΡΟ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
To ID φίλτρου πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + echo "
FILTER DELETION CONFIRMATION: $lead_filter_id\n"; + echo "

Πατήστε εδώ για διαγραφή του φίλτρου$lead_filter_id


\n"; + } + +$ADD='31111111'; # go to filter modification below +} + +###################### +# ADD=511111111 confirmation before deletion of call time record +###################### + +if ($ADD==511111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
Ο ΧΡΟΝΟΣ ΚΛΗΣΗΣ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Το ID χρόνου κλήσης πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + echo "
ΕΠΙΒΕΒΑΙΩΣΗ ΔΙΑΓΡΑΦΗΣ ΧΡΟΝΟΥ ΚΛΗΣΗΣ: $call_time_id\n"; + echo "

Click here to delete call time $call_time_id


\n"; + } + +$ADD='311111111'; # go to call time modification below +} + +###################### +# ADD=5111111111 confirmation before deletion of state call time record +###################### + +if ($ADD==5111111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
Ο ΧΡΟΝΟΣ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Το ID χρόνου κλήσης πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + echo "
ΕΠΙΒΕΒΑΙΩΣΗ ΔΙΑΓΡΑΦΗΣ ΧΡΟΝΟΥ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣ: $call_time_id\n"; + echo "

Click here to delete state call time $call_time_id


\n"; + } + +$ADD='3111111111'; # go to state call time modification below +} + + +###################### +# ADD=51111111111 confirmation before deletion of phone record +###################### + +if ($ADD==51111111111) +{ + echo ""; + + if ( (strlen($extension) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
ΤΟ ΤΗΛΕΦΩΝΟ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Extension be at least 2 characters in length\n"; + echo "
IP Διακομιστή be at least 7 characters in length\n"; + } + else + { + echo "
ΕΠΙΒΕΒΑΙΩΣΗ ΔΙΑΓΡΑΦΗΣ ΤΗΛΕΦΩΝΟΥ: $extension - $server_ip\n"; + echo "

Επιλέξτε εδώ για να διαγράψετε το τηλέφωνο $extension - $server_ip


\n"; + } +$ADD='31111111111'; # go to phone modification below +} + + +###################### +# ADD=511111111111 confirmation before deletion of server record +###################### + +if ($ADD==511111111111) +{ + echo ""; + + if ( (strlen($server_id) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
ΔΙΑΚΟΜΙΣΤΗΣ NOT DELETED - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
ID Διακομιστή be at least 2 characters in length\n"; + echo "
IP Διακομιστή be at least 7 characters in length\n"; + } + else + { + echo "
ΔΙΑΚΟΜΙΣΤΗΣ DELETION CONFIRMATION: $server_id - $server_ip\n"; + echo "

Επιλέξτε εδώ για να διαγράψετε το τηλέφωνο $server_id - $server_ip


\n"; + } +$ADD='311111111111'; # go to server modification below +} + + +###################### +# ADD=5111111111111 confirmation before deletion of conference record +###################### + +if ($ADD==5111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
CONFERENCE NOT DELETED - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Conference must be at least 2 characters in length\n"; + echo "
IP Διακομιστή be at least 7 characters in length\n"; + } + else + { + echo "
CONFERENCE DELETION CONFIRMATION: $conf_exten - $server_ip\n"; + echo "

Επιλέξτε εδώ για να διαγράψετε το τηλέφωνο $conf_exten - $server_ip


\n"; + } +$ADD='3111111111111'; # go to conference modification below +} + + +###################### +# ADD=51111111111111 confirmation before deletion of vicidial conference record +###################### + +if ($ADD==51111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
VICIDIAL CONFERENCE NOT DELETED - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Conference must be at least 2 characters in length\n"; + echo "
IP Διακομιστή be at least 7 characters in length\n"; + } + else + { + echo "
VICIDIAL CONFERENCE DELETION CONFIRMATION: $conf_exten - $server_ip\n"; + echo "

Επιλέξτε εδώ για να διαγράψετε το τηλέφωνο $conf_exten - $server_ip


\n"; + } +$ADD='31111111111111'; # go to vicidial conference modification below +} + + + +###################################################################################################### +###################################################################################################### +####### 6 series, delete records +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=6 delete user record +###################### + +if ($ADD==6) +{ + echo ""; + + if ( ( strlen($user) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_users < 1) ) + { + echo "
ΧΡΗΣΤΗΣ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
User be at least 2 characters in length\n"; + } + else + { + $stmtA="DELETE from vicidial_users where user='$user' limit 1;"; + $rslt=mysql_query($stmtA, $link); + + $stmt="DELETE from vicidial_campaign_agents where user='$user';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_inbound_group_agents where user='$user';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING USER!!!!|$PHP_AUTH_USER|$ip|$user|$stmtA|$stmt|\n"); + fclose($fp); + } + echo "
ΔΙΑΓΡΑΦΗ ΧΡΗΣΤΗ ΟΛΟΚΛΗΡΩΘΗΚΕ: $user\n"; + echo "

\n"; + } + +$ADD='0'; # go to user list +} + +###################### +# ADD=61 delete campaign record +###################### + +if ($ADD==61) +{ + echo ""; + + if ( ( strlen($campaign_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_campaigns < 1) ) + { + echo "
ΕΚΣΤΡΑΤΕΙΑ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Εκστρατεία_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_campaigns where campaign_id='$campaign_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_agents where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_live_agents where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_statuses where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_hotkeys where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_callbacks where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_stats where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_lead_recycle where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_server_stats where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_server_trunks where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_pause_codes where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaigns_list_mix where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
ΑΠΟΜΑΚΡΥΝΣΗ ΚΑΘΟΔΗΓΗΤΩΝ ΛΙΣΤΑΣ HOPPER ΑΠΟ ΠΑΛΑΙΑ HOPPER ΕΚΣΤΡΑΤΕΙΑ ($campaign_id)\n"; + $stmt="DELETE from vicidial_hopper where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!DELETING CAMPAIGN!|$PHP_AUTH_USER|$ip|campaign_id='$campaign_id'|\n"); + fclose($fp); + } + echo "
ΔΙΑΓΡΑΦΗ ΕΚΣΤΡΑΤΕΙΑΣ ΟΛΟΚΛΗΡΩΘΗΚΕ: $campaign_id\n"; + echo "

\n"; + } + +$ADD='10'; # go to campaigns list +} + +###################### +# ADD=62 Logout all agents from a campaign +###################### + +if ($ADD==62) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
ΧΕΙΡΙΣΤΕΣ ΠΟΥ ΔΕΝ ΕΙΝΑΙ ΑΠΟΣΥΝΔΕΜΕΝΟΙ ΑΠΟ ΤΗΝ ΕΚΣΤΡΑΤΕΙΑ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Εκστρατεία_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_live_agents where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!ΧΕΙΡΙΣΤΗΣLOGOUT!!!!!!|$PHP_AUTH_USER|$ip|campaign_id='$campaign_id'|\n"); + fclose($fp); + } + echo "
ΑΠΟΣΥΝΔΕΣΗ ΧΕΙΡΙΣΤΩΝ ΟΛΟΚΛΗΡΩΘΗΚΕ: $campaign_id\n"; + echo "

\n"; + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD='31'; # go to campaign modification below +} + + +###################### +# ADD=63 Emergency VDAC Jam Clear +###################### + +if ($ADD==63) +{ + if ($LOGmodify_campaigns==1) + { + if (eregi('IN',$stage)) + {$group_id=$campaign_id;} + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
VDAC ΔΕΝ ΚΑΘΑΡΙΣΤΗΚΕ ΓΙΑ ΤΗΝ ΕΚΣΤΡΑΤΕΊΑ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Εκστρατεία_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_auto_calls where status='LIVE' and campaign_id='$campaign_id' order by call_time limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|EMERGENCY VDAC CLEAR|$PHP_AUTH_USER|$ip|campaign_id='$campaign_id'|\n"); + fclose($fp); + } + echo "
ΤΕΛΕΥΤΑΙΑ ΕΓΓΡΑΦΗ VDAC ΠΟΥ ΚΑΘΑΡΙΖΕΤΑΙ ΓΙΑ ΤΗΝ ΕΚΣΤΡΑΤΕΙΑ: $campaign_id\n"; + echo "

\n"; + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +# go to campaign modification below +if (eregi('IN',$stage)) + {$ADD='3111';} +else + {$ADD='31';} +} + + +###################### +# ADD=65 delete campaign lead recycle in the system +###################### + +if ($ADD==65) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ Ο ΟΔΗΓΟΣ ΑΝΑΚΥΚΛΩΣΗΣ ΕΚΣΤΡΑΤΕΙΑΣ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
η κατάσταση πρέπει να είναι μεταξύ 1 και 6 χαρακτήρων στο μήκος\n"; + echo "
η καθυστέρηση προσπάθειας πρέπει να είναι τουλάχιστον 120δευτερόλεπτα\n"; + echo "
οι μέγιστες προσπάθειες πρέπει να είναι από 1 έως 10\n"; + } + else + { + echo "
ΔΙΑΓΡΑΦΗΚΕ Ο ΟΔΗΓΟΣ ΑΝΑΚΥΚΛΩΣΗΣ ΕΚΣΤΡΑΤΕΙΑΣ: $campaign_id - $status - $attempt_delay\n"; + + $stmt="DELETE FROM vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE LEAD RECYCLE |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$SUB=25; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=66 delete auto alt dial status from the campaign +###################### + +if ($ADD==66) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + {echo "
ΑΥΤΟΜΑΤΗ ΘΈΣΗ ΠΙΝΑΚΩΝ ALT ΠΟΥ ΔΕΝ ΔΙΑΓΡΑΦΕΤΑΙ - αυτή η αυτόματη θέση πινάκων ALT δεν είναι σε αυτήν τηνεκστρατεία\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
ΑΥΤΟΜΑΤΗ ΘΈΣΗ ΠΙΝΑΚΩΝ ALT ΠΟΥ ΔΕΝ ΔΙΑΓΡΑΦΕΤΑΙ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
η κατάσταση πρέπει να είναι μεταξύ 1 και 6 χαρακτήρων στο μήκος\n"; + } + else + { + echo "
ΑΥΤΟΜΑΤΗ ΘΈΣΗ ΠΙΝΑΚΩΝ ALT ΠΟΥ ΔΙΑΓΡΑΦΕΤΑΙ: $campaign_id - $status\n"; + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + $auto_alt_dial_statuses = eregi_replace(" $status "," ",$row[0]); + $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE AUTALTDIALSTTUS|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$SUB=26; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=67 delete agent pause code in the system +###################### + +if ($ADD==67) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) ) + { + echo "
ΚΩΔΙΚΑΣ ΜΙΚΡΗΣ ΔΙΑΚΟΠΉΣ ΕΚΣΤΡΑΤΕΙΑΣ ΠΟΥ ΔΕΝ ΔΙΑΓΡΑΦΕΤΑΙ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
pause code must be between 1 and 6 characters in length\n"; + } + else + { + echo "
CAMPAIGN PAUSE CODE DELETED: $campaign_id - $pause_code\n"; + + $stmt="DELETE FROM vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE ΧΕΙΡΙΣΤΗΣPAUSECODE|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$SUB=27; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=68 remove campaign dial status +###################### + +if ($ADD==68) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + {echo "
ΘΕΣΗ ΠΙΝΑΚΩΝ ΕΚΣΤΡΑΤΕΙΑΣ ΑΦΑΙΡΟΥΜΕΝΗ - αυτή η θέση πινάκων δεν επιλέγεται για αυτήν την εκστρατεία\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
ΘΕΣΗ ΠΙΝΑΚΩΝ ΕΚΣΤΡΑΤΕΙΑΣ ΑΦΑΙΡΟΥΜΕΝΗ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
η κατάσταση πρέπει να είναι μεταξύ 1 και 6 χαρακτήρων στο μήκος\n"; + } + else + { + echo "
ΘΕΣΗ ΠΙΝΑΚΩΝ ΕΚΣΤΡΑΤΕΙΑΣ ΑΦΑΙΡΟΥΜΕΝΗ: $campaign_id - $status\n"; + + $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + $dial_statuses = eregi_replace(" $status "," ",$row[0]); + $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DIAL STATUS REMOVED |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +#$SUB=28; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=611 delete list record and all leads within it +###################### + +if ($ADD==611) +{ + echo ""; + + if ( ( strlen($list_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_lists < 1) ) + { + echo "
ΛΙΣΤΑ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
List_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_lists where list_id='$list_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + echo "
ΑΠΟΜΑΚΡΥΝΣΗ ΚΑΘΟΔΗΓΗΤΩΝ ΛΙΣΤΑΣ HOPPER ΑΠΟ ΠΑΛΑΙΑ HOPPER ΕΚΣΤΡΑΤΕΙΑ ($list_id)\n"; + $stmt="DELETE from vicidial_hopper where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
ΑΦΑΙΡΕΣΗ ΤΩΝ ΜΟΛΥΒΔΩΝ ΚΑΤΑΛΟΓΩΝ ΑΠΟ ΤΟΝ ΠΊΝΑΚΑ VICIDIAL_LIST\n"; + $stmt="DELETE from vicidial_list where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING LIST!!!!|$PHP_AUTH_USER|$ip|list_id='$list_id'|\n"); + fclose($fp); + } + echo "
ΔΙΑΓΡΑΦΗ ΛΙΣΤΑΣ ΟΛΟΚΛΗΡΩΘΗΚΕ: $list_id\n"; + echo "

\n"; + } + +$ADD='100'; # go to lists list +} + +###################### +# ADD=6111 delete in-group record +###################### + +if ($ADD==6111) +{ + echo ""; + + if ( (strlen($group_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_ingroups < 1) ) + { + echo "
ΕΙΣ-ΟΜΑΔΑ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Group_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_inbound_groups where group_id='$group_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_inbound_group_agents where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_live_inbound_agents where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING IN-GROUP!!|$PHP_AUTH_USER|$ip|group_id='$group_id'|\n"); + fclose($fp); + } + echo "
ΔΙΑΓΡΑΦΗ ΕΙΣ-ΟΜΑΔΑΣ ΟΛΟΚΛΗΡΩΘΗΚΕ: $group_id\n"; + echo "

\n"; + } + +$ADD='1000'; # go to in-group list +} + +###################### +# ADD=61111 delete remote agent record +###################### + +if ($ADD==61111) +{ + echo ""; + + if ( (strlen($remote_agent_id) < 1) or ($CoNfIrM != 'YES') or ($LOGdelete_remote_agents < 1) ) + { + echo "
ΑΠΟΜΑΚΡΥΣΜΕΝΟΣ ΧΕΙΡΙΣΤΗΣ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Remote_agent_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_remote_agents where remote_agent_id='$remote_agent_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING RMTAGENT!!|$PHP_AUTH_USER|$ip|remote_agent_id='$remote_agent_id'|\n"); + fclose($fp); + } + echo "
ΔΙΑΓΡΑΦΗ ΑΠΟΜΑΚΡΥΣΜΕΝΩΝ ΧΕΙΡΙΣΤΩΝ ΟΛΟΚΛΗΡΩΘΗΚΕ: $remote_agent_id\n"; + echo "

\n"; + } + +$ADD='10000'; # go to remote agents list +} + +###################### +# ADD=611111 delete user group record +###################### + +if ($ADD==611111) +{ + echo ""; + + if ( (strlen($user_group) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_user_groups < 1) ) + { + echo "
ΟΜΑΔΑ ΧΡΗΣΤΗ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
User_group be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_user_groups where user_group='$user_group' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING USRGROUP!!|$PHP_AUTH_USER|$ip|user_group='$user_group'|\n"); + fclose($fp); + } + echo "
ΔΙΑΓΡΑΦΗ ΟΜΑΔΑΣ ΧΡΗΣΤΩΝ ΟΛΟΚΛΗΡΩΘΗΚΕ: $user_group\n"; + echo "

\n"; + } + +$ADD='100000'; # go to user group list +} + +###################### +# ADD=6111111 delete script record +###################### + +if ($ADD==6111111) +{ + echo ""; + + if ( (strlen($script_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_scripts < 1) ) + { + echo "
ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ Ο ΒΟΗΘΟΣ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Script_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_scripts where script_id='$script_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING SCRIPT!!!!|$PHP_AUTH_USER|$ip|script_id='$script_id'|\n"); + fclose($fp); + } + echo "
ΔΙΑΓΡΑΦΗ ΒΟΗΘΟΥ ΟΛΟΚΛΗΡΩΘΗΚΕ: $script_id\n"; + echo "

\n"; + } + +$ADD='1000000'; # go to script list +} + + +###################### +# ADD=61111111 delete filter record +###################### + +if ($ADD==61111111) +{ + echo ""; + + if ( (strlen($lead_filter_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_filters < 1) ) + { + echo "
ΤΟ ΦΙΛΤΡΟ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
To ID φίλτρου πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $stmt="DELETE from vicidial_lead_filters where lead_filter_id='$lead_filter_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING FILTER!!!!|$PHP_AUTH_USER|$ip|lead_filter_id='$lead_filter_id'|\n"); + fclose($fp); + } + echo "
Η ΔΙΑΓΡΑΦΗ ΤΟΥ ΦΙΛΤΡΟΥ ΟΛΟΚΛΗΡΩΘΗΚΕ: $lead_filter_id\n"; + echo "

\n"; + } + +$ADD='10000000'; # go to filter list +} + + +###################### +# ADD=611111111 delete call times record +###################### + +if ($ADD==611111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
Ο ΧΡΟΝΟΣ ΚΛΗΣΗΣ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Το ID χρόνου κλήσης πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $stmt="DELETE from vicidial_call_times where call_time_id='$call_time_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING CALL TIME!|$PHP_AUTH_USER|$ip|call_time_id='$call_time_id'|\n"); + fclose($fp); + } + echo "
ΟΛΟΚΛΗΡΩΣΗ ΔΙΑΓΡΑΦΗΣ ΧΡΟΝΟΥ ΚΛΗΣΗΣ: $call_time_id\n"; + echo "

\n"; + } + +$ADD='100000000'; # go to call times list +} + + +###################### +# ADD=6111111111 delete state call times record +###################### + +if ($ADD==6111111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
Ο ΧΡΟΝΟΣ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Το ID χρόνου κλήσης πρέπει να είναι τουλάχιστον 2 χαρακτήρες\n"; + } + else + { + $stmt="DELETE from vicidial_state_call_times where state_call_time_id='$call_time_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT call_time_id,ct_state_call_times from vicidial_call_times where ct_state_call_times LIKE \"%|$call_time_id|%\" order by call_time_id;"; + $rslt=mysql_query($stmt, $link); + $sct_to_print = mysql_num_rows($rslt); + $sct_list=''; + + $o=0; + while ($sct_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $sct_ids[$o] = "$rowx[0]"; + $sct_states[$o] = "$rowx[1]"; + $o++; + } + $o=0; + + while ($sct_to_print > $o) { + $sct_states[$o] = eregi_replace("\|$call_time_id\|",'|',$sct_states[$o]); + $stmt="UPDATE vicidial_call_times set ct_state_call_times='$sct_states[$o]' where call_time_id='$sct_ids[$o]';"; + $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + echo "Απομάκρυνση Κανόνα Κατάστασης: $sct_ids[$o]
\n"; + $o++; + } + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING CALL TIME!|$PHP_AUTH_USER|$ip|state_call_time_id='$call_time_id'|\n"); + fclose($fp); + } + echo "
ΟΛΟΚΛΗΡΩΣΗ ΔΙΑΓΡΑΦΗΣ ΧΡΟΝΟΥ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣ: $call_time_id\n"; + echo "

\n"; + } + +$ADD='1000000000'; # go to call times list +} + + +###################### +# ADD=61111111111 delete phone record +###################### + +if ($ADD==61111111111) +{ + echo ""; + + if ( (strlen($extension) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
ΤΟ ΤΗΛΕΦΩΝΟ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Extension be at least 2 characters in length\n"; + echo "
IP Διακομιστή be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from phones where extension='$extension' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING PHONE!!!|$PHP_AUTH_USER|$ip|extension='$extension'|server_ip='$server_ip'|\n"); + fclose($fp); + } + echo "
Η ΔΙΑΓΡΑΦΗ ΤΟΥ ΤΗΛΕΦΩΝΟΥ ΟΛΟΚΛΗΡΩΘΗΚΕ: $extension - $server_ip\n"; + echo "

\n"; + } +$ADD='10000000000'; # go to phone list +} + + +###################### +# ADD=611111111111 delete server record +###################### + +if ($ADD==611111111111) +{ + echo ""; + + if ( (strlen($server_id) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
ΔΙΑΚΟΜΙΣΤΗΣ NOT DELETED - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
ID Διακομιστή be at least 2 characters in length\n"; + echo "
IP Διακομιστή be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from servers where server_id='$server_id' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING SERVER!!|$PHP_AUTH_USER|$ip|server_id='$server_id'|server_ip='$server_ip'|\n"); + fclose($fp); + } + echo "
ΔΙΑΚΟΜΙΣΤΗΣ DELETION COMPLETED: $server_id - $server_ip\n"; + echo "

\n"; + } +$ADD='100000000000'; # go to server list +} + + +###################### +# ADD=621111111111 delete vicidial server trunk record in the system +###################### + +if ($ADD==621111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) ) + { + echo "
Η ΕΓΓΡΑΦΗ ΤΟΥ ΚΟΡΜΟΥ ΣΤΟΝ ΕΞΥΠΗΡΕΤΗΤΗ ΔΕΝ ΔΙΑΓΡΑΦΗΚΕ - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
η εκστρατεία πρέπει να είναι μεταξύ 3 και 8 χαρακτήρων στο μήκος\n"; + echo "
η server_ip καθυστέρηση πρέπει να είναι τουλάχιστον 7 χαρακτήρες\n"; + } + else + { + echo "
Η ΕΓΓΡΑΦΗ ΤΟΥ ΚΟΡΜΟΥ ΣΤΟΝ ΕΞΥΠΗΡΕΤΗΤΗ ΔΙΑΓΡΑΦΗΚΕ: $campaign_id - $server_ip\n"; + + $stmt="DELETE FROM vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE ΔΙΑΚΟΜΙΣΤΗΣ TRUNK |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +$ADD=311111111111; # go to server modification form below +} + + +###################### +# ADD=6111111111111 delete conference record +###################### + +if ($ADD==6111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
CONFERENCE NOT DELETED - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Conference be at least 2 characters in length\n"; + echo "
IP Διακομιστή be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from conferences where conf_exten='$conf_exten' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING CONF!!!!|$PHP_AUTH_USER|$ip|conf_exten='$conf_exten'|server_ip='$server_ip'|\n"); + fclose($fp); + } + echo "
CONFERENCE DELETION COMPLETED: $conf_exten - $server_ip\n"; + echo "

\n"; + } +$ADD='1000000000000'; # go to conference list +} + + +###################### +# ADD=61111111111111 delete vicidial conference record +###################### + +if ($ADD==61111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
VICIDIAL CONFERENCE NOT DELETED - Παρακαλώ επιστρέψτε πίσω και κάνετε έλεγχο των δεδομένων που καταχωρήσατε\n"; + echo "
Conference be at least 2 characters in length\n"; + echo "
IP Διακομιστή be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING CONF!!!!|$PHP_AUTH_USER|$ip|conf_exten='$conf_exten'|server_ip='$server_ip'|\n"); + fclose($fp); + } + echo "
VICIDIAL CONFERENCE DELETION COMPLETED: $conf_exten - $server_ip\n"; + echo "

\n"; + } +$ADD='10000000000000'; # go to vicidial conference list +} + + + + + +###################################################################################################### +###################################################################################################### +####### 3 series, record modification forms +###################################################################################################### +###################################################################################################### + + + + +###################### +# ADD=3 modify user info in the system +###################### + +if ($ADD==3) +{ + if ($LOGmodify_users==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $user_level = $row[4]; + $user_group = $row[5]; + $phone_login = $row[6]; + $phone_pass = $row[7]; + $delete_users = $row[8]; + $delete_user_groups = $row[9]; + $delete_lists = $row[10]; + $delete_campaigns = $row[11]; + $delete_ingroups = $row[12]; + $delete_remote_agents = $row[13]; + $load_leads = $row[14]; + $campaign_detail = $row[15]; + $ast_admin_access = $row[16]; + $ast_delete_phones = $row[17]; + $delete_scripts = $row[18]; + $modify_leads = $row[19]; + $hotkeys_active = $row[20]; + $change_agent_campaign =$row[21]; + $agent_choose_ingroups =$row[22]; + $scheduled_callbacks = $row[24]; + $agentonly_callbacks = $row[25]; + $agentcall_manual = $row[26]; + $vicidial_recording = $row[27]; + $vicidial_transfers = $row[28]; + $delete_filters = $row[29]; + $alter_agent_interface_options =$row[30]; + $closer_default_blended = $row[31]; + $delete_call_times = $row[32]; + $modify_call_times = $row[33]; + $modify_users = $row[34]; + $modify_campaigns = $row[35]; + $modify_lists = $row[36]; + $modify_scripts = $row[37]; + $modify_filters = $row[38]; + $modify_ingroups = $row[39]; + $modify_usergroups = $row[40]; + $modify_remoteagents = $row[41]; + $modify_servers = $row[42]; + $view_reports = $row[43]; + $vicidial_recording_override = $row[44]; + $alter_custdata_override = $row[45]; + + if ( ($user_level >= $LOGuser_level) and ($LOGuser_level < 9) ) + { + echo "
Δεν έχετε τις άδειες να τροποποιήσετε αυτόν τον χρήστη: $row[1]\n"; + } + else + { + echo "
ΤΡΟΠΟΠΟΙΗΣΗ ΕΓΓΡΑΦΗΣ ΧΡΗΣΤΩΝ: $row[1]\n"; + if ($LOGuser_level > 8) + {echo "\n";} + else + { + if ($LOGalter_agent_interface == "1") + {echo "\n";} + else + {echo "\n";} + } + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + if ( ($LOGuser_level > 8) or ($LOGalter_agent_interface == "1") ) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + if ($LOGuser_level > 8) + { + echo "\n"; + +#9BB9FB +#B9CBFD + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + echo "\n"; + echo "
Αριθμός Χρήστη: $row[1]$NWB#vicidial_users-user$NWE
Κωδικός:$NWB#vicidial_users-pass$NWE
Πλήρες Ονομα: $NWB#vicidial_users-full_name$NWE
Επίπεδο Χρήστη: $NWB#vicidial_users-user_level$NWE
Ομάδα Χρήστη: $NWB#vicidial_users-user_group$NWE
Τηλέφωνο Σύνδεσης: $NWB#vicidial_users-phone_login$NWE
Κωδικός Πρόσβασης Τηλεφώνου: $NWB#vicidial_users-phone_pass$NWE
ΕΠΙΛΟΓΕΣ ΕΠΙΦΑΝΕΙΑΣ ΕΡΓΑΣΙΑΣ ΧΕΙΡΙΣΤΩΝ:
Ο χειριστής επιλέγει Εισ.Ομάδες: $NWB#vicidial_users-agent_choose_ingroups$NWE
Ενεργά Κλειδιά: $NWB#vicidial_users-hotkeys_active$NWE
Προγραμματισμένες Επανακλήσεις: $NWB#vicidial_users-scheduled_callbacks$NWE
Μόνο του Χειριστή Επανακλήσεις: $NWB#vicidial_users-agentonly_callbacks$NWE
Εγχειρίδιο κλήσεων Χειριστή: $NWB#vicidial_users-agentcall_manual$NWE
Καταγραφή: $NWB#vicidial_users-vicidial_recording$NWE
Μεταφορές: $NWB#vicidial_users-vicidial_transfers$NWE
Η πιό στενή προεπιλογή συνδύασε: $NWB#vicidial_users-closer_default_blended$NWE
VICIDIAL συμπληρωματική προμήθεια καταγραφής: $NWB#vicidial_users-vicidial_recording_override$NWE
Ο πράκτορας αλλάζει τη συμπληρωματική προμήθεια στοιχείωνπελατών: $NWB#vicidial_users-alter_custdata_override$NWE
Τάξεις εκστρατείας:$NWB#vicidial_users-campaign_ranks$NWE
\n"; + echo "\n"; + echo "$RANKcampaigns_list"; + echo "
\n"; + echo "
Εισερχόμενες Ομάδες: $NWB#vicidial_users-closer_campaigns$NWE
\n"; + echo "\n"; + echo "$RANKgroups_list"; + echo "
\n"; + echo "
ΕΠΙΛΟΓΈΣ ΕΠΙΦΑΝΕΙΑΣ ΕΡΓΑΣΙΑΣ ΔΙΑΧ:
Εκθέσεις άποψης: $NWB#vicidial_users-view_reports$NWE
Αλλάξτε τις επιλογές επιφάνειας εργασίας των χειριστών: $NWB#vicidial_users-alter_agent_interface_options$NWE
Τροποποιήστε τους χρήστες: $NWB#vicidial_users-modify_sections$NWE
Αλλαγή Εκστρατείας Χειριστή: $NWB#vicidial_users-change_agent_campaign$NWE
Διάγραψε τους χρήστες: $NWB#vicidial_users-delete_users$NWE
Τροποποιήστε τις ομάδες χρηστών: $NWB#vicidial_users-modify_sections$NWE
Διάγραψε τις ομάδες χρηστών: $NWB#vicidial_users-delete_user_groups$NWE
Τροποποιήστε τους καταλόγους: $NWB#vicidial_users-modify_sections$NWE
Διάγραψε τις Λίστες: $NWB#vicidial_users-delete_lists$NWE
Εισαγωγή Οδηγών: $NWB#vicidial_users-load_leads$NWE
Τροποποίηση Οδηγών: $NWB#vicidial_users-modify_leads$NWE
Τροποποιήστε τις εκστρατείες: $NWB#vicidial_users-modify_sections$NWE
Λεπτομέρειες εκστρατείας: $NWB#vicidial_users-campaign_detail$NWE
Διάγραψε τις εκστρατείες: $NWB#vicidial_users-delete_campaigns$NWE
Τροποποιήστε τις-ΟΜΑΔΕΣ: $NWB#vicidial_users-modify_sections$NWE
Διάγραψε τις Εισ-ΟΜΑΔΕΣ: $NWB#vicidial_users-delete_ingroups$NWE
Τροποποιήστε τους μακρινούς πράκτορες: $NWB#vicidial_users-modify_sections$NWE
Διάγραψε τους Απομακρυσμένους Χειριστές: $NWB#vicidial_users-delete_remote_agents$NWE
Τροποποιήστε τα χειρόγραφα: $NWB#vicidial_users-modify_sections$NWE
Διάγραψε τον Βοηθόs: $NWB#vicidial_users-delete_scripts$NWE
Τροποποιήστε τα φίλτρα: $NWB#vicidial_users-modify_sections$NWE
Διαγραφή Φίλτρουs: $NWB#vicidial_users-delete_filters$NWE
Πρόσβαση AGC Admin: $NWB#vicidial_users-ast_admin_access$NWE
Το AGC διαγράφει τα τηλέφωνα: $NWB#vicidial_users-ast_delete_phones$NWE
Τροποποίηση Χρόνου Κλήσηςs: $NWB#vicidial_users-modify_call_times$NWE
Διαγραφή Χρόνου Κλήσηςs: $NWB#vicidial_users-delete_call_times$NWE
Τροποποιήστε τους κεντρικούς υπολογιστές: $NWB#vicidial_users-modify_sections$NWE
\n"; + + if ($LOGdelete_users > 0) + { + echo "

ΔΙΑΓΡΑΨΕ ΑΥΤΟΝ ΤΟΝ ΧΡΗΣΤΗ\n"; + } + echo "

Επιλέξτε εδώ για την σελίδα με τους χρόνους χρήσης\n"; + echo "

Επιλέξτε εδώ για τη κατάσταση του χρήστη\n"; + echo "

Πατήστε εδώ για στατιστικά χρήστη\n"; + echo "

Επιλέξτε εδώ για τις Επανακλήσεις του χρήστη που κρατήθηκαν\n"; + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=31 modify campaign info in the system - Detail view +###################### + +if ( ($LOGcampaign_detail < 1) and ($ADD==31) ) {$ADD=34;} # send to Basic if not allowed + +if ( ($ADD==31) and ( (!eregi("$campaign_id",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) ) + {$ADD=30;} # send to not allowed screen if not in vicidial_user_groups allowed_campaigns list + +if ($ADD==31) +{ + if ($LOGmodify_campaigns==1) + { + if ($stage=='show_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='Y' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + if ($stage=='hide_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='N' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT * from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $campaign_name = $row[1]; + $dial_status_a = $row[3]; + $dial_status_b = $row[4]; + $dial_status_c = $row[5]; + $dial_status_d = $row[6]; + $dial_status_e = $row[7]; + $lead_order = $row[8]; + $allow_closers = $row[12]; + $hopper_level = $row[13]; + $auto_dial_level = $row[14]; + $next_agent_call = $row[15]; + $local_call_time = $row[16]; + $voicemail_ext = $row[17]; + $dial_timeout = $row[18]; + $dial_prefix = $row[19]; + $campaign_cid = $row[20]; + $campaign_vdad_exten = $row[21]; + $campaign_rec_exten = $row[22]; + $campaign_recording = $row[23]; + $campaign_rec_filename = $row[24]; + $script_id = $row[25]; + $get_call_launch = $row[26]; + $am_message_exten = $row[27]; + $amd_send_to_vmx = $row[28]; + $xferconf_a_dtmf = $row[29]; + $xferconf_a_number = $row[30]; + $xferconf_b_dtmf = $row[31]; + $xferconf_b_number = $row[32]; + $alt_number_dialing = $row[33]; + $scheduled_callbacks = $row[34]; + $lead_filter_id = $row[35]; + if ($lead_filter_id=='') {$lead_filter_id='NONE';} + $drop_call_seconds = $row[36]; + $safe_harbor_message = $row[37]; + $safe_harbor_exten = $row[38]; + $display_dialable_count = $row[39]; + $wrapup_seconds = $row[40]; + $wrapup_message = $row[41]; + # $closer_campaigns = $row[42]; + $use_internal_dnc = $row[43]; + $allcalls_delay = $row[44]; + $omit_phone_code = $row[45]; + $dial_method = $row[46]; + $available_only_ratio_tally = $row[47]; + $adaptive_dropped_percentage = $row[48]; + $adaptive_maximum_level = $row[49]; + $adaptive_latest_server_time = $row[50]; + $adaptive_intensity = $row[51]; + $adaptive_dl_diff_target = $row[52]; + $concurrent_transfers = $row[53]; + $auto_alt_dial = $row[54]; + $auto_alt_dial_statuses = $row[55]; + $agent_pause_codes_active = $row[56]; + $campaign_description = $row[57]; + $campaign_changedate = $row[58]; + $campaign_stats_refresh = $row[59]; + $campaign_logindate = $row[60]; + $dial_statuses = $row[61]; + $disable_alter_custdata = $row[62]; + $no_hopper_leads_logins = $row[63]; + $list_order_mix = $row[64]; + $campaign_allow_inbound = $row[65]; + $manual_dial_list_id = $row[66]; + $default_xfer_group = $row[67]; + + if (ereg("DISABLED",$list_order_mix)) + {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} + else + {$DEFlistDISABLE = 'disabled'; $DEFstatusDISABLED=1;} + + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE'"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $mixes_list="\n"; + $mixname_list["DISABLED"] = "DISABLED"; + } + else + { + ##### get list_mix listings for dynamic pulldown + $stmt="SELECT vcl_id,vcl_name from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE' limit 1"; + $rslt=mysql_query($stmt, $link); + $mixes_to_print = mysql_num_rows($rslt); + $mixes_list="\n"; + + $o=0; + while ($mixes_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $mixes_list .= "\n"; + $mixname_list["ACTIVE"] = "$rowx[0] - $rowx[1]"; + $o++; + } + } + + ##### get status listings for dynamic pulldown + $stmt="SELECT * from vicidial_statuses order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $statuses_list=''; + + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + $o++; + } + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $Cstatuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($Cstatuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + $o++; + } + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) -1); + + ##### get in-groups listings for dynamic pulldown list menu + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $xfer_groupsSQL order by group_id"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "\n";} + else + {$Xgroups_menu .= "\n";} + + + if ($SUB<1) {$camp_detail_color=$subcamp_color;} + else {$camp_detail_color=$campaigns_color;} + if ($SUB==22) {$camp_statuses_color=$subcamp_color;} + else {$camp_statuses_color=$campaigns_color;} + if ($SUB==23) {$camp_hotkeys_color=$subcamp_color;} + else {$camp_hotkeys_color=$campaigns_color;} + if ($SUB==25) {$camp_recycle_color=$subcamp_color;} + else {$camp_recycle_color=$campaigns_color;} + if ($SUB==26) {$camp_autoalt_color=$subcamp_color;} + else {$camp_autoalt_color=$campaigns_color;} + if ($SUB==27) {$camp_pause_color=$subcamp_color;} + else {$camp_pause_color=$campaigns_color;} + if ($SUB==29) {$camp_listmix_color=$subcamp_color;} + else {$camp_listmix_color=$campaigns_color;} + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "
$row[0]: Basic Detail StatusesHotKeysLead RecyclingAuto Alt DialPause CodesList Mix Real-Time
\n"; + + echo "
\n"; + echo ""; + + echo "
\n"; + + if ($SUB < 1) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($Ds_to_print > $o) + { + $o++; + $Dstatus = $Dstatuses[$o]; + + echo "\n"; + } + else + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "ΑΦΑΙΡΕΣΤΕ\n"; + } + } + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + + + echo "\n"; + + echo "\n"; + + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + if ($campaign_allow_inbound == 'Y') + { + echo "\n"; + } + + echo "\n"; + + if ($allow_closers == 'Y') + { + echo "\n"; + } + + echo "\n"; + echo "
ID Εκστρατείας: $row[0]$NWB#vicidial_campaigns-campaign_id$NWE
Ονομα Εκστρατείας: $NWB#vicidial_campaigns-campaign_name$NWE
Περιγραφή εκστρατείας: $NWB#vicidial_campaigns-campaign_description$NWE
Εκστρατεία Change Date: $campaign_changedate   $NWB#vicidial_campaigns-campaign_changedate$NWE
Εκστρατεία Login Date: $campaign_logindate   $NWB#vicidial_campaigns-campaign_logindate$NWE
Ενεργή:$NWB#vicidial_campaigns-active$NWE
Τηλ.σύνδ. Στάθμευσης: - Filename: $NWB#vicidial_campaigns-park_ext$NWE
Ιστο-σελίδα: $NWB#vicidial_campaigns-web_form_address$NWE
Επιτρέπω τους Closers: $NWB#vicidial_campaigns-allow_closers$NWE
Επιτρέψτε πλησίον και συνδύασε:$NWB#vicidial_campaigns-campaign_allow_inbound$NWE
Θέση πινάκων$o: \n"; + + if ($DEFstatusDISABLED > 0) + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "REMOVE
Add A Dial Κατάσταση:   \n"; + echo "     $NWB#vicidial_campaigns-dial_status$NWE
Σειρά Λίστας: $NWB#vicidial_campaigns-lead_order$NWE
List Mix: $NWB#vicidial_campaigns-list_order_mix$NWE
Φίλτρο Οδηγού: $NWB#vicidial_campaigns-lead_filter_id$NWE
Επίπεδο Hopper: $NWB#vicidial_campaigns-hopper_level$NWE
Αναγκαστική Επαναφορά του Hopper: $NWB#vicidial_campaigns-force_reset_hopper$NWE
Μέθοδος Κλήσης +: $NWB#vicidial_campaigns-dial_method$NWE
ΕΠΙΠΕΔΟ ΑΥΤΟΜΑΤΗΣ ΚΛΗΣΗΣ: (0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE       ΠΡΟΣΑΡΜΟΣΤΕ ΤΗ ΣΥΜΠΛΗΡΩΜΑΤΙΚΗ ΠΡΟΜΉΘΕΙΑ
Διαθέσιμα μόνο ετικέτες +: $NWB#vicidial_campaigns-available_only_ratio_tally$NWE
Ποσοστό Ορίου Εγκατ.Κλήσεων +: % $NWB#vicidial_campaigns-adaptive_dropped_percentage$NWE
Μέγιστο Επίπεδο Προσαρμογής Κλήσεων +: number only $NWB#vicidial_campaigns-adaptive_maximum_level$NWE
Τελευταίος Χρόνος Διακομιστή +: 4 μόνο αριθμοί $NWB#vicidial_campaigns-adaptive_latest_server_time$NWE
Ενταση Τροποποίησης Προσαρμογής +: $NWB#vicidial_campaigns-adaptive_intensity$NWE
Επίπεδο Κλήσεων Μεταβολής Στόχου +: $NWB#vicidial_campaigns-adaptive_dl_diff_target$NWE
Ταυτόχρονες μεταφορές: $NWB#vicidial_campaigns-concurrent_transfers$NWE
Αυτόματος σχηματισμός ALT-ARJCMOY: $NWB#vicidial_campaigns-auto_alt_dial$NWE
Επόμενη Κλήση Χειριστή: $NWB#vicidial_campaigns-next_agent_call$NWE
Χρόνος Τοπικής Κλήσης: $NWB#vicidial_campaigns-local_call_time$NWE
Κλήση εκτός χρόνου: in seconds$NWB#vicidial_campaigns-dial_timeout$NWE
Πρόθεμα Κλήσης: for 91NXXNXXXXXX value would be 9, for no dial prefix use X$NWB#vicidial_campaigns-dial_prefix$NWE
Παράλειψη Κωδικού Τηλεφώνου +: $NWB#vicidial_campaigns-omit_phone_code$NWE
CallerID Εκστρατείας: $NWB#vicidial_campaigns-campaign_cid$NWE
Εκστρατείας VDAD εσωτ.σύνδεση: $NWB#vicidial_campaigns-campaign_vdad_exten$NWE
Επέκταση εκστρατείας Ηχογρ: $NWB#vicidial_campaigns-campaign_rec_exten$NWE
Ηχογράφηση εκστρατείας: $NWB#vicidial_campaigns-campaign_recording$NWE
Όνομα αρχείου εκστρατείας Ηχογρ: $NWB#vicidial_campaigns-campaign_rec_filename$NWE
Καθυστέρηση Ηχογράφησης +: in seconds$NWB#vicidial_campaigns-allcalls_delay$NWE
Script: $NWB#vicidial_campaigns-campaign_script$NWE
Κατά την έναρξη κλήσης: $NWB#vicidial_campaigns-get_call_launch$NWE
Μήνυμα Αυτόματου Τηλεφωνητή: $NWB#vicidial_campaigns-am_message_exten$NWE
AMD στέλνει στο VM: $NWB#vicidial_campaigns-amd_send_to_vmx$NWE
DTMF Μεταφοράς-Συνδ 1: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
Αριθμός Μεταφοράς-Συνδ 1: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
DTMF Μεταφοράς-Συνδ 2: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
Αριθμός Μεταφοράς-Συνδ 2: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
Κλήση Εναλ Αριθμού: $NWB#vicidial_campaigns-alt_number_dialing$NWE
Προγραμματισμένες Επανακλήσεις: $NWB#vicidial_campaigns-scheduled_callbacks$NWE
Δευτερ. Εγκαταλ. Κλήσης: $NWB#vicidial_campaigns-drop_call_seconds$NWE
ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ: $NWB#vicidial_campaigns-voicemail_ext$NWE
Χρήση μηνύματος Ασφαλούς Φιλοξενίας: $NWB#vicidial_campaigns-safe_harbor_message$NWE
Εσωτ.Σύνδεση Ασφαλούς Φιλοξενίας: $NWB#vicidial_campaigns-safe_harbor_exten$NWE
Δευτερ Τυλίγματος: $NWB#vicidial_campaigns-wrapup_seconds$NWE
Μήνυμα Τυλίγματος: $NWB#vicidial_campaigns-wrapup_message$NWE
Εσωτερικός κατάλογος DNC χρήσης: $NWB#vicidial_campaigns-use_internal_dnc$NWE
AgentΚώδικες μικρής διακοπήςΕνεργή:$NWB#vicidial_campaigns-agent_pause_codes_active$NWE
Εκστρατεία Stats Refresh: $NWB#vicidial_campaigns-campaign_stats_refresh$NWE
Θέστε εκτός λειτουργίας αλλάζει τα στοιχεία πελατών: $NWB#vicidial_campaigns-disable_alter_custdata$NWE
Επιτρέψτε τους κανένας-χοάνη-μολύβδους Logins: $NWB#vicidial_campaigns-no_hopper_leads_logins$NWE
Χειρωνακτικός κατάλογος ταυτότητα πινάκων:$NWB#vicidial_campaigns-manual_dial_list_id$NWE
Εισερχόμενες ομάδες:
"; + echo " $NWB#vicidial_campaigns-closer_campaigns$NWE
\n"; + echo "$groups_list"; + echo "
Ομάδα μεταφοράς προεπιλογής:$NWB#vicidial_campaigns-default_xfer_group$NWE
Ομάδες μεταφοράς:
"; + echo " $NWB#vicidial_campaigns-xfer_groups$NWE
\n"; + echo "$XFERgroups_list"; + echo "
\n"; + + echo "
\n"; + echo "
ΛΙΣΤΕΣ ΣΤΗΝ ΕΚΣΤΡΑΤΕΙΑ:   $NWB#vicidial_campaign_lists$NWE
\n"; + echo "\n"; + echo "\n"; + + $active_lists = 0; + $inactive_lists = 0; + $stmt="SELECT list_id,active,list_name from vicidial_lists where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $o++; + if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_lists++;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + echo "
ID ΛΙΣΤΑΣΟΝΟΜΑ ΛΙΣΤΑΣΕΝΕΡΓΟ
$rowx[0]$rowx[2]$rowx[1]

\n"; + echo "
\n"; + + $filterSQL = $filtersql_list[$lead_filter_id]; + $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); + if (strlen($filterSQL)>4) + {$fSQL = "and $filterSQL";} + else + {$fSQL = '';} + + $camp_lists = eregi_replace(".$","",$camp_lists); + echo "Αυτή η εκστρατεία έχει$active_lists ενεργές λίστες και$inactive_lists Μη ενεργές λίστες

\n"; + + if ($display_dialable_count == 'Y') + { + ### call function to calculate and print dialable leads + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$fSQL); + echo " - ΑΠΟΚΡΥΨΗ

"; + } + else + { + echo "Popup Dialable Leads Count"; + echo " - ΕΜΦΑΝΙΣΗ

"; + } + + + + + + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id='$campaign_id' and status IN('READY')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $hopper_leads = "$rowx[0]"; + + echo "Αυτή η εκστρατεία έχει$hopper_leads >οδηγοί στον hopper κλήσεων<

\n"; + echo "Πατήστε εδώ για να δείτε ποιοι οδηγοί είναι στον hopper τώρα

\n"; + echo "Επιλέξτε εδώ για να δείτε τις κρατειμένες Επανακλήσεις σε αυτήν την εκστρατεία

\n"; + echo "Click here to see a VDAD report for this campaign

\n"; + echo "
\n"; + } + + + + if ($SUB==22) + { + + ##### get status category listings for dynamic pulldown + $stmt="SELECT vsc_id,vsc_name from vicidial_status_categories order by vsc_id desc"; + $rslt=mysql_query($stmt, $link); + $cats_to_print = mysql_num_rows($rslt); + $cats_list=""; + + $o=0; + while ($cats_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $cats_list .= "\n"; + $catsname_list["$rowx[0]"] = substr($rowx[1],0,20); + $o++; + } + + + echo "
\n"; + echo "
ΠΡΟΣΑΡΜΟΣΜΕΝΕΣ ΚΑΤΑΣΤΑΣΕΙΣ ΣΤΗΝ ΕΚΣΤΡΑΤΕΙΑ:   $NWB#vicidial_campaign_statuses$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AScategory = $rowx[5]; + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
ΚΑΤΑΣΤΑΣΗΠΕΡΙΓΡΑΦΗΕΠΙΛΕΞΙΜΟΑΝΘΡΩΠΙΝΗ ΑΠΑΝΤΗΣΗΔΙΑΓΡΑΦΗ
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
\n"; + echo "\n"; + echo "         \n"; + echo "   \n"; + echo "ΔΙΑΓΡΑΦΗ\n"; + echo "
\n"; + + echo "
ΠΡΟΣΘΗΚΗ ΝΕΑΣ ΠΡΟΣΑΡΜΟΣΜΕΝΗΣ ΚΑΤΑΣΤΑΣΗΣ ΣΤΗΝ ΕΚΣΤΡΑΤΕΙΑ
\n"; + echo "\n"; + echo "\n"; + echo "Κατάσταση:   \n"; + echo "Περιγραφή:   \n"; + echo "Επιλέξιμο:   \n"; + echo "Human Answer:   \n"; + echo "Κατηγορία:\n"; + echo "  
\n"; + echo "
\n"; + + echo "

\n"; + } + + + if ($SUB==23) + { + echo "
ΠΡΟΣΑΡΜΟΣΜΕΝΑ ΚΛΕΙΔΙΑ ΣΤΗΝ ΕΚΣΤΡΑΤΕΙΑ:   $NWB#vicidial_campaign_hotkeys$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_campaign_hotkeys where campaign_id='$campaign_id' order by hotkey"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + + } + + echo "
ΚΛΕΙΔΙΚΑΤΑΣΤΑΣΗΠΕΡΙΓΡΑΦΗΔΙΑΓΡΑΦΗ
$rowx[1]$rowx[0]$rowx[2]ΔΙΑΓΡΑΦΗ
\n"; + + echo "
ΠΡΟΣΘΗΚΗ ΝΕΟΥ ΠΡΟΣΑΡΜΟΣΜΕΝΟΥ ΚΛΕΙΔΙΟΥ ΕΚΣΤΡΑΤΕΙΑΣ
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Hotkey:   \n"; + echo "Κατάσταση:   \n"; + echo "
\n"; + echo "

\n"; + } + + + if ($SUB==25) + { + echo "

ΑΝΑΚΥΚΛΩΣΗ ΟΔΗΓΟΥ ΜΕΣΑ ΣΕ ΑΥΤΗΝ ΤΗΝ ΕΚΣΤΡΑΤΕΙΑ:   $NWB#vicidial_lead_recycle$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_lead_recycle where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $recycle_to_print = mysql_num_rows($rslt); + $o=0; + while ($recycle_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
ΚΑΤΑΣΤΑΣΗΚΑΘΥΣΤΕΡΗΣΗ ΠΡΟΣΠΑΘΕΙΑΣΜΕΓΙΣΤΟ ΠΡΟΣΠΑΘΕΙΑΣΕΝΕΡΓΟ ΔΙΑΓΡΑΦΗ
$rowx[2]
\n"; + echo "\n"; + echo "\n"; + echo "
ΔΙΑΓΡΑΦΗ
\n"; + + echo "
ΠΡΟΣΘΕΣΕ ΝΕΟ ΟΔΗΓΟ ΕΚΣΤΡΑΤΕΙΑΣ ΑΝΑΚΥΚΛΩΣΗΣ
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Κατάσταση:   \n"; + echo "Καθυστέρηση προσπάθειας: \n"; + echo "Μέγιστο προσπάθειας: \n"; + echo "
\n"; + + echo "

\n"; + } + + + if ($SUB==26) + { + echo "

ΑΥΤΟΜΑΤΟΣ ΣΧΗΜΑΤΙΣΜΌΣ ΑΡΙΘΜΟΎ ALT ΓΙΑ ΑΥΤΉΝ ΤΗΝ ΕΚΣΤΡΑΤΕΊΑ:   $NWB#vicidial_auto_alt_dial_statuses$NWE
\n"; + echo "\n"; + echo "\n"; + + $auto_alt_dial_statuses = preg_replace("/ -$/","",$auto_alt_dial_statuses); + $AADstatuses = explode(" ", $auto_alt_dial_statuses); + $AADs_to_print = (count($AADstatuses) -1); + + $o=0; + while ($AADs_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + $o++; + + echo "\n"; + echo "\n"; + } + + echo "
STATUSESΔΙΑΓΡΑΦΗ
$AADstatuses[$o]ΔΙΑΓΡΑΦΗ
\n"; + + echo "
ΠΡΟΣΘΕΣΤΕ ΤΗ ΝΕΑ ΑΥΤΟΜΑΤΗ ΘΈΣΗ ΣΧΗΜΑΤΙΣΜΟΎ ΑΡΙΘΜΟΎ ALT
\n"; + echo "\n"; + echo "\n"; + echo "Κατάσταση:   \n"; + echo "
\n"; + + echo "

\n"; + } + + + if ($SUB==27) + { + echo "

ΚΩΔΙΚΕΣ ΜΙΚΡΗΣ ΔΙΑΚΟΠΉΣ ΠΡΑΚΤΟΡΩΝ ΓΙΑ ΑΥΤΗΝ ΤΗΝ ΕΚΣΤΡΑΤΕΙΑ:   $NWB#vicidial_pause_codes$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_pause_codes where campaign_id='$campaign_id' order by pause_code"; + $rslt=mysql_query($stmt, $link); + $pause_codes_to_print = mysql_num_rows($rslt); + $o=0; + while ($pause_codes_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
ΚΩΔΙΚΕΣ ΜΙΚΡΗΣ ΔΙΑΚΟΠΉΣΧΡΕΩΤΕΟΣΤΡΟΠΟΠΟΙΗΣΗΔΙΑΓΡΑΦΗ
$rowx[0]\n"; + echo "\n"; + echo "\n"; + echo "  \n"; + echo "
ΔΙΑΓΡΑΦΗ
\n"; + + echo "
ΠΡΟΣΘΕΣΤΕ ΤΟ ΝΕΟ ΚΩΔΙΚΑ ΜΙΚΡΗΣ ΔΙΑΚΟΠΉΣ ΠΡΑΚΤΟΡΩΝ
\n"; + echo "\n"; + echo "\n"; + echo "Κώδικας μικρής διακοπής: \n"; + echo "Όνομα κώδικα μικρής διακοπής: \n"; + echo "   Χρεωτέος: \n"; + echo "
\n"; + + echo "

\n"; + } + + + if ($SUB < 1) + { + echo "

\n"; + echo "ΑΠΟΣΥΝΔΕΣΗ ΟΛΩΝ ΤΩΝ ΧΕΙΡΙΣΤΩΝ ΑΠΟ ΑΥΤΗΝ ΤΗΝ ΕΚΣΤΡΑΤΕΙΑ

\n"; + echo "EMERGENCY VDAC CLEAR FOR THIS CAMPAIGN

\n"; + + if ($LOGdelete_campaigns > 0) + { + echo "

ΔΙΑΓΡΑΨΕ ΑΥΤΗΝ ΤΗΝ ΕΚΣΤΡΑΤΕΙΑ\n"; + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=34 modify campaign info in the system - Basic View +###################### + +if ( ($ADD==34) and ( (!eregi("$campaign_id",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) ) + {$ADD=30;} # send to not allowed screen if not in vicidial_user_groups allowed_campaigns list + +if ($ADD==34) +{ + if ($LOGmodify_campaigns==1) + { + if ($stage=='show_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='Y' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + if ($stage=='hide_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='N' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT * from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $dial_status_a = $row[3]; + $dial_status_b = $row[4]; + $dial_status_c = $row[5]; + $dial_status_d = $row[6]; + $dial_status_e = $row[7]; + $lead_order = $row[8]; + $hopper_level = $row[13]; + $auto_dial_level = $row[14]; + $next_agent_call = $row[15]; + $local_call_time = $row[16]; + $voicemail_ext = $row[17]; + $dial_timeout = $row[18]; + $dial_prefix = $row[19]; + $campaign_cid = $row[20]; + $campaign_vdad_exten = $row[21]; + $script_id = $row[25]; + $get_call_launch = $row[26]; + $lead_filter_id = $row[35]; + if ($lead_filter_id=='') {$lead_filter_id='NONE';} + $display_dialable_count = $row[39]; + $dial_method = $row[46]; + $adaptive_intensity = $row[51]; + $campaign_description = $row[57]; + $campaign_changedate = $row[58]; + $campaign_stats_refresh = $row[59]; + $campaign_logindate = $row[60]; + $dial_statuses = $row[61]; + $list_order_mix = $row[64]; + $default_xfer_group = $row[67]; + $campaign_allow_inbound = $row[65]; + $default_xfer_group = $row[67]; + + if (ereg("DISABLED",$list_order_mix)) + {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} + else + {$DEFlistDISABLE = 'disabled'; $DEFstatusDISABLED=1;} + + $stmt="SELECT * from vicidial_statuses order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $statuses_list=''; + + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + $o++; + } + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $Cstatuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($Cstatuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + $o++; + } + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) -1); + + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE'"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $mixes_list="\n"; + $mixname_list["DISABLED"] = "DISABLED"; + } + else + { + ##### get list_mix listings for dynamic pulldown + $stmt="SELECT vcl_id,vcl_name from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE' limit 1"; + $rslt=mysql_query($stmt, $link); + $mixes_to_print = mysql_num_rows($rslt); + $mixes_list="\n"; + + $o=0; + while ($mixes_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $mixes_list .= "\n"; + $mixname_list["ACTIVE"] = "$rowx[0] - $rowx[1]"; + $o++; + } + } + + if ($SUB<1) {$camp_detail_color=$subcamp_color;} + else {$camp_detail_color=$campaigns_color;} + if ($SUB==22) {$camp_statuses_color=$subcamp_color;} + else {$camp_statuses_color=$campaigns_color;} + if ($SUB==23) {$camp_hotkeys_color=$subcamp_color;} + else {$camp_hotkeys_color=$campaigns_color;} + if ($SUB==25) {$camp_recycle_color=$subcamp_color;} + else {$camp_recycle_color=$campaigns_color;} + if ($SUB==26) {$camp_autoalt_color=$subcamp_color;} + else {$camp_autoalt_color=$campaigns_color;} + if ($SUB==27) {$camp_pause_color=$subcamp_color;} + else {$camp_pause_color=$campaigns_color;} + if ($SUB==29) {$camp_listmix_color=$subcamp_color;} + else {$camp_listmix_color=$campaigns_color;} + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "
$row[0]: Βασική Επισκόπηση Αναλυτική Επισκόπηση List Mix Πραγματικού Χρόνου Οθόνη  
\n"; + + if ($SUB < 1) + { + echo "
\n"; + echo ""; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($Ds_to_print > $o) + { + $o++; + $Dstatus = $Dstatuses[$o]; + + echo "\n"; + } + else + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "ΑΦΑΙΡΕΣΤΕ\n"; + } + } + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
ID Εκστρατείας: $row[0]$NWB#vicidial_campaigns-campaign_id$NWE
Ονομα Εκστρατείας: $NWB#vicidial_campaigns-campaign_name$NWE
Περιγραφή εκστρατείας: $row[57]$NWB#vicidial_campaigns-campaign_description$NWE
Εκστρατεία Change Date: $campaign_changedate   $NWB#vicidial_campaigns-campaign_changedate$NWE
Εκστρατεία Login Date: $campaign_logindate   $NWB#vicidial_campaigns-campaign_logindate$NWE
Ενεργή:$NWB#vicidial_campaigns-active$NWE
Τηλ.σύνδ. Στάθμευσης: $row[9] - $row[10]$NWB#vicidial_campaigns-park_ext$NWE
Ιστο-σελίδα: $row[11]$NWB#vicidial_campaigns-web_form_address$NWE
Επιτρέπω τους Closers: $row[12] $NWB#vicidial_campaigns-allow_closers$NWE
Ομάδα μεταφοράς προεπιλογής:$default_xfer_group $NWB#vicidial_campaigns-default_xfer_group$NWE
Επιτρέψτε πλησίον και συνδύασε:$campaign_allow_inbound $NWB#vicidial_campaigns-campaign_allow_inbound$NWE
Θέση πινάκων$o: \n"; + if ($DEFstatusDISABLED > 0) + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "REMOVE
Add A Dial Κατάσταση:   \n"; + echo "     $NWB#vicidial_campaigns-dial_status$NWE
Σειρά Λίστας: $NWB#vicidial_campaigns-lead_order$NWE
List Mix: $NWB#vicidial_campaigns-list_order_mix$NWE
Φίλτρο Οδηγού: $NWB#vicidial_campaigns-lead_filter_id$NWE
Επίπεδο Hopper: $NWB#vicidial_campaigns-hopper_level$NWE
Αναγκαστική Επαναφορά του Hopper: $NWB#vicidial_campaigns-force_reset_hopper$NWE
Μέθοδος Κλήσης +: $NWB#vicidial_campaigns-dial_method$NWE
ΕΠΙΠΕΔΟ ΑΥΤΟΜΑΤΗΣ ΚΛΗΣΗΣ: (0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE
Ενταση Τροποποίησης Προσαρμογής +: $NWB#vicidial_campaigns-adaptive_intensity$NWE
Script: $script_id
Κατά την έναρξη κλήσης: $get_call_launch
\n"; + + echo "
\n"; + echo "
ΛΙΣΤΕΣ ΣΤΗΝ ΕΚΣΤΡΑΤΕΙΑ:   $NWB#vicidial_campaign_lists$NWE
\n"; + echo "\n"; + echo "\n"; + + $active_lists = 0; + $inactive_lists = 0; + $stmt="SELECT list_id,active,list_name from vicidial_lists where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_lists++;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + + } + + echo "
ID ΛΙΣΤΑΣΟΝΟΜΑ ΛΙΣΤΑΣΕΝΕΡΓΟ
$rowx[0]$rowx[2]$rowx[1]

\n"; + echo "
\n"; + + $filterSQL = $filtersql_list[$lead_filter_id]; + $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); + if (strlen($filterSQL)>4) + {$fSQL = "and $filterSQL";} + else + {$fSQL = '';} + + $camp_lists = eregi_replace(".$","",$camp_lists); + echo "Αυτή η εκστρατεία έχει$active_lists ενεργές λίστες και$inactive_lists Μη ενεργές λίστες

\n"; + + + if ($display_dialable_count == 'Y') + { + ### call function to calculate and print dialable leads + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$fSQL); + echo " - ΑΠΟΚΡΥΨΗ

"; + } + else + { + echo "Popup Dialable Leads Count"; + echo " - ΕΜΦΑΝΙΣΗ

"; + } + + + + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id='$campaign_id' and status IN('READY')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $hopper_leads = "$rowx[0]"; + + echo "Αυτή η εκστρατεία έχει$hopper_leads >οδηγοί στον hopper κλήσεων<

\n"; + echo "Πατήστε εδώ για να δείτε ποιοι οδηγοί είναι στον hopper τώρα

\n"; + echo "Επιλέξτε εδώ για να δείτε τις κρατειμένες Επανακλήσεις σε αυτήν την εκστρατεία

\n"; + echo "Click here to see a VDAD report for this campaign

\n"; + echo "
\n"; + + echo "
\n"; + + ### list of agent rank or skill-level for this campaign + echo "
\n"; + echo "
ΤΑΞΕΙΣ ΠΡΑΚΤΟΡΩΝ ΓΙΑ ΑΥΤΗΝ ΤΗΝ ΕΚΣΤΡΑΤΕΙΑ:
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT user,campaign_rank,calls_today from vicidial_campaign_agents where campaign_id='$campaign_id'"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
USER     RANK     CALLS TODAY
$rowx[0]$rowx[1]$rowx[2]

\n"; + + + echo "ΑΠΟΣΥΝΔΕΣΗ ΟΛΩΝ ΤΩΝ ΧΕΙΡΙΣΤΩΝ ΑΠΟ ΑΥΤΗΝ ΤΗΝ ΕΚΣΤΡΑΤΕΙΑ

\n"; + + + if ($LOGdelete_campaigns > 0) + { + echo "

ΔΙΑΓΡΑΨΕ ΑΥΤΗΝ ΤΗΝ ΕΚΣΤΡΑΤΕΙΑ\n"; + } + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=31 or 34 and SUB=29 for list mixes +###################### +if ( ( ($ADD==34) or ($ADD==31) ) and ( (!eregi("$campaign_id",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) ) + {$ADD=30;} # send to not allowed screen if not in vicidial_user_groups allowed_campaigns list + +if ( ($ADD==34) or ($ADD==31) ) +{ + if ($LOGmodify_campaigns==1) + { + if ($SUB==29) + { + ##### get list_id listings for dynamic pulldown + $stmt="SELECT list_id,list_name from vicidial_lists where campaign_id='$campaign_id' order by list_id"; + $rslt=mysql_query($stmt, $link); + $mixlists_to_print = mysql_num_rows($rslt); + $mixlists_list=""; + + $o=0; + while ($mixlists_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $mixlists_list .= "\n"; + $mixlistsname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + + echo "

ΜΙΓΜΑΤΑ ΚΑΤΑΛΟΓΩΝ ΓΙΑ ΑΥΤΗΝ ΤΗΝ ΕΚΣΤΡΑΤΕΙΑ:  $NWB#vicidial_campaigns-list_order_mix$NWE
\n"; + + echo "

Experimental Feature in development!!! NON-FUNCTIONAL
\n"; + + + $stmt="SELECT * from vicidial_campaigns_list_mix where campaign_id='$campaign_id' order by status, vcl_id"; + $rslt=mysql_query($stmt, $link); + $listmixes = mysql_num_rows($rslt); + $o=0; + while ($listmixes > $o) + { + $rowx=mysql_fetch_row($rslt); + $vcl_id=$rowx[0]; + $o++; + + if ($o < 2) + {$tablecolor='bgcolor="#99FF99"'; $bgcolor='bgcolor="#CCFFCC"';} + else + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$tablecolor='bgcolor="#B9CBFD"'; $bgcolor='bgcolor="#9BB9FB"';} + else + {$tablecolor='bgcolor="#9BB9FB"'; $bgcolor='bgcolor="#B9CBFD"';} + } + echo "
\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + } + else + {echo "$rowx[5]\n";} + echo "\n"; + echo "\n"; + +# list_id|order|percent|statuses|:list_id|order|percent|statuses|:... +# 101|1|40| A B NA -|:102|2|25| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -| +# INSERT INTO vicidial_campaigns_list_mix values('TESTMIX','TESTCAMP List Mix','TESTCAMP','101|1|40| A B NA -|:102|2|25| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -|','IN_ORDER','ACTIVE'); +# INSERT INTO vicidial_campaigns_list_mix values('TESTMIX2','TESTCAMP List Mix2','TESTCAMP','101|1|20| A B -|:102|2|45| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -|','IN_ORDER','ACTIVE'); +# INSERT INTO vicidial_campaigns_list_mix values('TESTMIX3','TESTCAMP List Mix3','TESTCAMP','101|1|30| A NA -|:102|2|35| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -|','IN_ORDER','ACTIVE'); + + $MIXentries = $MT; + $MIXentries = explode(":", $rowx[3]); + $Ms_to_print = (count($MIXentries) - 0); + $q=0; + while ($Ms_to_print > $q) + { + $MIXdetails = explode('|', $MIXentries[$q]); + $MIXdetailsLIST = $MIXdetails[0]; + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) - 0); + $Dsql = ''; + $r=0; + while ($Ds_to_print > $r) + { + $r++; + $Dsql .= "'$Dstatuses[$r]',"; + } + $Dsql = preg_replace("/,$/","",$Dsql); + + echo "\n"; + + echo "\n"; + + echo "\n"; + + + echo "\n"; + echo "\n"; + + + echo "\n"; + + + $q++; + + } + + + + + echo "\n"; + + echo "\n"; + + + echo "\n"; + + if ($q > 9) {$AE_disabled = 'DISABLED';} + else {$AE_disabled = '';} + echo "\n"; + echo "
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$vcl_id:\n"; + echo "\n"; + echo "     DELETE LIST MIX
Κατάσταση:\n"; + if ($rowx[5]=='INACTIVE') + { + echo "$rowx[5]\n"; + echo "ΘΕΣΤΕ ΕΝΕΡΓΟΣMethod:\n"; + echo "
ID ΛΙΣΤΑΣPRIORITY% MIXSTATUSES
\n"; + echo "\n"; + echo "List: $MIXdetailsLIST   ΑΦΑΙΡΕΣΤΕ\n"; + + + + echo " \n"; + echo "ADD   \n"; + echo "ΑΦΑΙΡΕΣΤΕ\n"; + echo "
\n"; + echo "Difference %: \n"; + echo "   \n"; + echo "\n"; + echo "
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "List:
\n"; + echo "
\n"; + } + + + echo "

ΠΡΟΣΘΗΚΗ ΝΕΑΣ ΛΙΣΤΑΣ MIX
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Mix ID: Mix Name: Mix Method: "; + echo "
List: Dial Κατάσταση:  
\n"; + + echo "
\n"; + + } + } +} + + +###################### +# ADD=30 campaign not allowed +###################### + +if ($ADD==30) +{ +echo "
\n"; + echo ""; +echo "You do not have permission to view campaign $campaign_id\n"; +} + + +###################### +# ADD=32 display all campaign statuses +###################### +if ($ADD==32) +{ +echo "
\n"; + echo ""; + +echo "
ΛΙΣΤΕΣ ΘΕΣΕΩΝ ΕΚΣΤΡΑΤΕΙΑΣ ΣΥΝΗΘΕΙΑΣ:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNΟΝΟΜΑSTATUSESΤΡΟΠΟΠΟΙΗΣΗ
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT status from vicidial_campaign_statuses where campaign_id='$campaigns_id_list[$o]' order by status"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY STATUSES
\n"; +} + + +###################### +# ADD=33 display all campaign hotkeys +###################### +if ($ADD==33) +{ +echo "
\n"; + echo ""; + +echo "
ΛΊΣΤΕΣ ΕΚΣΤΡΑΤΕΙΑΣ HOTKEYS:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNΟΝΟΜΑHOTKEYSΤΡΟΠΟΠΟΙΗΣΗ
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT status from vicidial_campaign_hotkeys where campaign_id='$campaigns_id_list[$o]' order by status"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY HOTKEYS
\n"; +} + + +###################### +# ADD=35 display all campaign lead recycle entries +###################### +if ($ADD==35) +{ +echo "
\n"; + echo ""; + +echo "
ΑΝΑΚΥΚΛΩΣΗΣ ΛΙΣΤΕΣ ΜΟΛΥΒΔΟΥ ΕΚΣΤΡΑΤΕΙΑΣ:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNΟΝΟΜΑΟ ΜΟΛΥΒΔΟΣ ΑΝΑΚΥΚΛΩΝΕΙΤΡΟΠΟΠΟΙΗΣΗ
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT status from vicidial_lead_recycle where campaign_id='$campaigns_id_list[$o]' order by status"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY Ο ΜΟΛΥΒΔΟΣ ΑΝΑΚΥΚΛΩΝΕΙ
\n"; +} + + +###################### +# ADD=36 display all campaign auto-alt dial entries +###################### +if ($ADD==36) +{ +echo "
\n"; + echo ""; + +echo "
ΛΊΣΤΕΣ ΠΙΝΑΚΩΝ ΜΟΛΥΒΔΟΥ ΑΥΤΌΜΑΤΟΣ-ALT ΕΚΣΤΡΑΤΕΙΑΣ:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNΟΝΟΜΑAUTO-ALT DIALΤΡΟΠΟΠΟΙΗΣΗ
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaigns_id_list[$o]';"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if (strlen($row[0])<3) + {echo "NONE";} + echo "MODIFY AUTO-ALT DIAL
\n"; +} + + +###################### +# ADD=37 display all campaign agent pause codes +###################### +if ($ADD==37) +{ +echo "
\n"; + echo ""; + +echo "
ΛΙΣΤΕΣ ΚΩΔΙΚΑ ΜΙΚΡΗΣ ΔΙΑΚΟΠΉΣ ΠΡΑΚΤΟΡΩΝ ΕΚΣΤΡΑΤΕΙΑΣ:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNΟΝΟΜΑΚΩΔΙΚΕΣ ΜΙΚΡΗΣ ΔΙΑΚΟΠΉΣΤΡΟΠΟΠΟΙΗΣΗ
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT pause_code from vicidial_pause_codes where campaign_id='$campaigns_id_list[$o]' order by pause_code;"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY ΚΩΔΙΚΕΣ ΜΙΚΡΗΣ ΔΙΑΚΟΠΉΣ
\n"; +} + + +###################### +# ADD=39 display all campaign list mixes +###################### +if ($ADD==39) +{ +echo "
\n"; + echo ""; + +echo "
ΛΙΣΤΕΣ ΜΙΓΜΑΤΩΝ ΚΑΤΑΛΟΓΩΝ ΕΚΣΤΡΑΤΕΙΑΣ:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNΟΝΟΜΑLIST MIXΤΡΟΠΟΠΟΙΗΣΗ
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT vcl_id from vicidial_campaigns_list_mix where campaign_id='$campaigns_id_list[$o]' order by status,vcl_id;"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY LIST MIX
\n"; +} + + + + + +###################### +# ADD=311 modify list info in the system +###################### + +if ($ADD==311) +{ + if ($LOGmodify_lists==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $campaign_id = $row[2]; + $active = $row[3]; + $list_description = $row[4]; + $list_changedate = $row[5]; + $list_lastcalldate = $row[6]; + + # grab names of global statuses and statuses in the selected campaign + $stmt="SELECT * from vicidial_statuses order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($statuses_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $statuses_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $Cstatuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($Cstatuses_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $statuses_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + # end grab status names + + + echo "
ΤΡΟΠΟΠΟΙΗΣΗ ΕΓΓΡΑΦΗΣ ΛΙΣΤΑΣ: $row[0]
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID Λίστας: $row[0]$NWB#vicidial_lists-list_id$NWE
Ονομα Λίστας: $NWB#vicidial_lists-list_name$NWE
Περιγραφή καταλόγων: $NWB#vicidial_lists-list_description$NWE
Εκστρατεία: $NWB#vicidial_lists-campaign_id$NWE
Ενεργή:$NWB#vicidial_lists-active$NWE
ΕΠΑΝΑΦΟΡΑ ΚΑΤΑΣΤΑΣΗΣ ΚΛΗΣΗΣ ΟΔΗΓΟΥ ΓΙΑ ΤΗΝ ΛΙΣΤΑ: $NWB#vicidial_lists-reset_list$NWE
Ημερομηνία αλλαγής καταλόγων: $list_changedate   $NWB#vicidial_lists-list_changedate$NWE
List Last Call Date: $list_lastcalldate   $NWB#vicidial_lists-list_lastcalldate$NWE
\n"; + + echo "
\n"; + echo "
ΚΑΤΑΣΤΑΣΕΙΣ ΣΤΗΝ ΛΙΣΤΑ:
\n"; + echo "\n"; + echo "\n"; + + $leads_in_list = 0; + $leads_in_list_N = 0; + $leads_in_list_Y = 0; + $stmt="SELECT status,called_since_last_reset,count(*) from vicidial_list where list_id='$list_id' group by status,called_since_last_reset order by status,called_since_last_reset"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + + $o=0; + $lead_list['count'] = 0; + $lead_list['Y_count'] = 0; + $lead_list['N_count'] = 0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + + $lead_list['count'] = ($lead_list['count'] + $rowx[2]); + if ($rowx[1] == 'N') + { + $since_reset = 'N'; + $since_resetX = 'Y'; + } + else + { + $since_reset = 'Y'; + $since_resetX = 'N'; + } + $lead_list[$since_reset][$rowx[0]] = ($lead_list[$since_reset][$rowx[0]] + $rowx[2]); + $lead_list[$since_reset.'_count'] = ($lead_list[$since_reset.'_count'] + $rowx[2]); + #If opposite side is not set, it may not in the future so give it a value of zero + if (!isset($lead_list[$since_resetX][$rowx[0]])) + { + $lead_list[$since_resetX][$rowx[0]]=0; + } + $o++; + } + + $o=0; + if ($lead_list['count'] > 0) + { + while (list($dispo,) = each($lead_list[$since_reset])) + { + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + if ($dispo == 'CBHOLD') + { + $CLB=""; + $CLE=""; + } + else + { + $CLB=''; + $CLE=''; + } + + echo "\n"; + $o++; + } + } + + echo "\n"; + echo "\n"; + + echo "
ΚΑΤΑΣΤΑΣΗΟΝΟΜΑ ΚΑΤΑΣΤΑΣΗΣΚΛΗΘΕΝΤΑΜΗ ΚΛΗΘΕΝΤΑ
$CLB$dispo$CLE$statuses_list[$dispo]".$lead_list['Y'][$dispo]."".$lead_list['N'][$dispo]."
ΥΠΟΣΥΝΟΛΑ$lead_list[Y_count]$lead_list[N_count]
ΣΥΝΟΛΙΚΑ$lead_list[count]

\n"; + unset($lead_list); + + + echo "
\n"; + echo "
ΖΩΝΕΣ ΩΡΑΣ ΣΤΗΝ ΛΙΣΤΑ:
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT gmt_offset_now,called_since_last_reset,count(*) from vicidial_list where list_id='$list_id' group by gmt_offset_now,called_since_last_reset order by gmt_offset_now,called_since_last_reset"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + + $o=0; + $plus='+'; + $lead_list['count'] = 0; + $lead_list['Y_count'] = 0; + $lead_list['N_count'] = 0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + + $lead_list['count'] = ($lead_list['count'] + $rowx[2]); + if ($rowx[1] == 'N') + { + $since_reset = 'N'; + $since_resetX = 'Y'; + } + else + { + $since_reset = 'Y'; + $since_resetX = 'N'; + } + $lead_list[$since_reset][$rowx[0]] = ($lead_list[$since_reset][$rowx[0]] + $rowx[2]); + $lead_list[$since_reset.'_count'] = ($lead_list[$since_reset.'_count'] + $rowx[2]); + #If opposite side is not set, it may not in the future so give it a value of zero + if (!isset($lead_list[$since_resetX][$rowx[0]])) + { + $lead_list[$since_resetX][$rowx[0]]=0; + } + $o++; + } + + if ($lead_list['count'] > 0) + { + while (list($tzone,) = each($lead_list[$since_reset])) + { + $LOCALzone=3600 * $tzone; + $LOCALdate=gmdate("D M Y H:i", time() + $LOCALzone); + + if ($tzone >= 0) {$DISPtzone = "$plus$tzone";} + else {$DISPtzone = "$tzone";} + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + } + + echo "\n"; + echo "\n"; + + echo "
GMT OFFSET (τοπικός χρόνος)ΚΛΗΘΕΝΤΑΜΗ ΚΛΗΘΕΝΤΑ
".$DISPtzone."     ($LOCALdate)".$lead_list['Y'][$tzone]."".$lead_list['N'][$tzone]."
ΥΠΟΣΥΝΟΛΑ$lead_list[Y_count]$lead_list[N_count]
ΣΥΝΟΛΙΚΑ$lead_list[count]

\n"; + unset($lead_list); + + + + $leads_in_list = 0; + $leads_in_list_N = 0; + $leads_in_list_Y = 0; + $stmt="SELECT status,called_count,count(*) from vicidial_list where list_id='$list_id' group by status,called_count order by status,called_count"; + $rslt=mysql_query($stmt, $link); + $status_called_to_print = mysql_num_rows($rslt); + + $o=0; + $sts=0; + $first_row=1; + $all_called_first=1000; + $all_called_last=0; + while ($status_called_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $leads_in_list = ($leads_in_list + $rowx[2]); + $count_statuses[$o] = "$rowx[0]"; + $count_called[$o] = "$rowx[1]"; + $count_count[$o] = "$rowx[2]"; + $all_called_count[$rowx[1]] = ($all_called_count[$rowx[1]] + $rowx[2]); + + if ( (strlen($status[$sts]) < 1) or ($status[$sts] != "$rowx[0]") ) + { + if ($first_row) {$first_row=0;} + else {$sts++;} + $status[$sts] = "$rowx[0]"; + $status_called_first[$sts] = "$rowx[1]"; + if ($status_called_first[$sts] < $all_called_first) {$all_called_first = $status_called_first[$sts];} + } + $leads_in_sts[$sts] = ($leads_in_sts[$sts] + $rowx[2]); + $status_called_last[$sts] = "$rowx[1]"; + if ($status_called_last[$sts] > $all_called_last) {$all_called_last = $status_called_last[$sts];} + + $o++; + } + + + + + echo "
\n"; + echo "
ΜΕΤΡΗΣΗ ΚΛΗΣΕΩΝ ΣΤΗΝ ΛΙΣΤΑ:
\n"; + echo "\n"; + echo ""; + $first = $all_called_first; + while ($first <= $all_called_last) + { + if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#AFEEEE"';} + else{$AB='bgcolor="#E0FFFF"';} + echo ""; + $first++; + } + echo "\n"; + + $sts=0; + $statuses_called_to_print = count($status); + while ($statuses_called_to_print > $sts) + { + $Pstatus = $status[$sts]; + if (eregi("1$|3$|5$|7$|9$", $sts)) + {$bgcolor='bgcolor="#B9CBFD"'; $AB='bgcolor="#9BB9FB"';} + else + {$bgcolor='bgcolor="#9BB9FB"'; $AB='bgcolor="#B9CBFD"';} + # echo "$status[$sts]|$status_called_first[$sts]|$status_called_last[$sts]|$leads_in_sts[$sts]|\n"; + # echo "$status[$sts]|"; + echo ""; + + $first = $all_called_first; + while ($first <= $all_called_last) + { + if (eregi("1$|3$|5$|7$|9$", $sts)) + { + if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#9BB9FB"';} + else{$AB='bgcolor="#B9CBFD"';} + } + else + { + if (eregi("0$|2$|4$|6$|8$", $first)) {$AB='bgcolor="#9BB9FB"';} + else{$AB='bgcolor="#B9CBFD"';} + } + + $called_printed=0; + $o=0; + while ($status_called_to_print > $o) + { + if ( ($count_statuses[$o] == "$Pstatus") and ($count_called[$o] == "$first") ) + { + $called_printed++; + echo ""; + } + + + $o++; + } + if (!$called_printed) + {echo "";} + $first++; + } + echo "\n\n"; + + $sts++; + } + + echo ""; + $first = $all_called_first; + while ($first <= $all_called_last) + { + if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#AFEEEE"';} + else{$AB='bgcolor="#E0FFFF"';} + echo ""; + $first++; + } + echo "\n"; + + echo "
ΚΑΤΑΣΤΑΣΗΟΝΟΜΑ ΚΑΤΑΣΤΑΣΗΣ$firstΥΠΟΣΥΝΟΛΟ
$Pstatus$statuses_list[$Pstatus] $count_count[$o]  $leads_in_sts[$sts]
ΣΥΝΟΛΙΚΑ$all_called_count[$first]$leads_in_list

\n"; + + + + + + echo "
\n"; + + echo "

Click here to see all CallBack Holds in this list

\n"; + + if ($LOGdelete_lists > 0) + { + echo "

ΔΙΑΓΡΑΨΕ ΑΥΤΗ ΤΗΝ ΛΙΣΤΑ\n"; + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + + +###################### +# ADD=3111 modify in-group info in the system +###################### + +if ($ADD==3111) +{ + if ($LOGmodify_ingroups==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $group_name = $row[1]; + $group_color = $row[2]; + $active = $row[3]; + $web_form_address = $row[4]; + $voicemail_ext = $row[5]; + $next_agent_call = $row[6]; + $fronter_display = $row[7]; + $script_id = $row[8]; + $get_call_launch = $row[9]; + $xferconf_a_dtmf = $row[10]; + $xferconf_a_number = $row[11]; + $xferconf_b_dtmf = $row[12]; + $xferconf_b_number = $row[13]; + $drop_call_seconds = $row[14]; + $drop_message = $row[15]; + $drop_exten = $row[16]; + $call_time_id = $row[17]; + $after_hours_action = $row[18]; + $after_hours_message_filename = $row[19]; + $after_hours_exten = $row[20]; + $after_hours_voicemail = $row[21]; + $welcome_message_filename = $row[22]; + $moh_context = $row[23]; + $onhold_prompt_filename = $row[24]; + $prompt_interval = $row[25]; + $agent_alert_exten = $row[26]; + $agent_alert_delay = $row[27]; + $default_xfer_group = $row[28]; + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "\n";} + else + {$Xgroups_menu .= "\n";} + + + echo "
ΤΡΟΠΟΠΟΙΗΣΗ ΕΓΓΡΑΦΗΣ ΟΜΑΔΩΝ: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
ID Ομάδας: $row[0]$NWB#vicidial_inbound_groups-group_id$NWE
Ονομα Ομάδας: $NWB#vicidial_inbound_groups-group_name$NWE
Χρώμα Ομάδας: $NWB#vicidial_inbound_groups-group_color$NWE
Ενεργή:$NWB#vicidial_inbound_groups-active$NWE
Ιστο-σελίδα: $NWB#vicidial_inbound_groups-web_form_address$NWE
Επόμενη Κλήση Χειριστή: $NWB#vicidial_inbound_groups-next_agent_call$NWE
Μπροστινή Οθόνη: $NWB#vicidial_inbound_groups-fronter_display$NWE
Script: $NWB#vicidial_inbound_groups-ingroup_script$NWE
Κατά την έναρξη κλήσης: $NWB#vicidial_inbound_groups-get_call_launch$NWE
DTMF Μεταφοράς-Συνδ 1: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
Αριθμός Μεταφοράς-Συνδ 1: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
DTMF Μεταφοράς-Συνδ 2: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
Αριθμός Μεταφοράς-Συνδ 2: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
Δευτερ. Εγκαταλ. Κλήσης: $NWB#vicidial_inbound_groups-drop_call_seconds$NWE
ΦΩΝΗΤΙΚΟ ΤΑΧΥΔΡΟΜΕΙΟ: $NWB#vicidial_inbound_groups-voicemail_ext$NWE
Χρήση μηνύματος Εγκατάλειψης: $NWB#vicidial_inbound_groups-drop_message$NWE
Εσωτ. Σύνδεση Εγκατάλειψης: $NWB#vicidial_inbound_groups-drop_exten$NWE
Χρόνος κλήσης:$NWB#vicidial_inbound_groups-call_time_id$NWE
Μετά από τη δράση ωρών:$NWB#vicidial_inbound_groups-after_hours_action$NWE
Μετά από το όνομα αρχείου μηνυμάτων ωρών:$NWB#vicidial_inbound_groups-after_hours_message_filename$NWE
Μετά από την παράταση ωρών:$NWB#vicidial_inbound_groups-after_hours_exten$NWE
Μετά από το φωνητικό ταχυδρομείο ωρών:$NWB#vicidial_inbound_groups-after_hours_voicemail$NWE
Ευπρόσδεκτο όνομα αρχείου μηνυμάτων:$NWB#vicidial_inbound_groups-welcome_message_filename$NWE
Μουσική στο πλαίσιο λαβής:$NWB#vicidial_inbound_groups-moh_context$NWE
Στο γρήγορο όνομα αρχείου λαβής:$NWB#vicidial_inbound_groups-onhold_prompt_filename$NWE
Στο γρήγορο διάστημα λαβής:$NWB#vicidial_inbound_groups-prompt_interval$NWE
Αγρυπνη επέκταση πρακτόρων:$NWB#vicidial_inbound_groups-agent_alert_exten$NWE
Αγρυπνη καθυστέρηση πρακτόρων:$NWB#vicidial_inbound_groups-agent_alert_delay$NWE
Ομάδα μεταφοράς προεπιλογής:$NWB#vicidial_inbound_groups-default_xfer_group$NWE
\n"; + + ### list of agent rank or skill-level for this inbound group + echo "
\n"; + echo "
ΧΕΙΡΙΣΤΗΣRANKS FOR THIS INBOUND GROUP:
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT user,group_rank,calls_today from vicidial_inbound_group_agents where group_id='$group_id'"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
USER     RANK     CALLS TODAY
$rowx[0]$rowx[1]$rowx[2]

\n"; + + echo "

\n"; + + echo "Click here to see a report for this inbound group

\n"; + + echo "
\n"; + + if ($LOGdelete_ingroups > 0) + { + echo "

EMERGENCY VDAC CLEAR FOR THIS IN-GROUP

\n"; + echo "

ΔΙΑΓΡΑΨΕ ΑΥΤΗΝ ΤΗΝ ΕΙΣ-ΟΜΑΔΑ\n"; + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + + +###################### +# ADD=31111 modify remote agents info in the system +###################### + +if ($ADD==31111) +{ + if ($LOGmodify_remoteagents==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_remote_agents where remote_agent_id='$remote_agent_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id = $row[0]; + $user_start = $row[1]; + $number_of_lines = $row[2]; + $server_ip = $row[3]; + $conf_exten = $row[4]; + $status = $row[5]; + $campaign_id = $row[6]; + + echo "
ΤΡΟΠΟΠΟΙΗΣΗ ΚΑΤΑΧΩΡΗΣΗΣ ΑΠΟΜΑΚΡΥΣΜΕΝΩΝ ΧΕΙΡΙΣΤΩΝ: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID Χρήστη Ξεκινά: (μόνο αριθμοί, incremented)$NWB#vicidial_remote_agents-user_start$NWE
Αριθμός Γραμμών: (μόνο αριθμοί)$NWB#vicidial_remote_agents-number_of_lines$NWE
IP Διακομιστή: $NWB#vicidial_remote_agents-server_ip$NWE
Εξωτερική Τηλ. Σύνδεση: (ο αριθμός που κλήθηκε από το πλάνο κλήσεων για να καλέσει τους χειριστές)$NWB#vicidial_remote_agents-conf_exten$NWE
Κατάσταση:$NWB#vicidial_remote_agents-status$NWE
Εκστρατεία: $NWB#vicidial_remote_agents-campaign_id$NWE
Εισερχόμενες Ομάδες: \n"; + echo "$groups_list"; + echo "$NWB#vicidial_remote_agents-closer_campaigns$NWE
\n"; + echo "ΣΗΜΕΙΩΣΗ: Μπορεί να διαρκέσει και 30 δευτερόλεπτα για να καταχωρηθούν οι αλλαγές της οθόνης\n"; + + + if ($LOGdelete_remote_agents > 0) + { + echo "

ΔΙΑΓΡΑΨΕ ΑΥΤΟΝ ΤΟΝ ΑΠΟΜΑΚΡΥΣΜΕΝΟ ΧΕΙΡΙΣΤΗ\n"; + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=311111 modify user group info in the system +###################### + +if ($ADD==311111) +{ + if ($LOGmodify_usergroups==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $user_group = $row[0]; + $group_name = $row[1]; + echo ""; + + echo "
ΤΡΟΠΟΠΟΙΗΣΗ ΚΑΤΑΧΩΡΗΣΗΣ ΟΜΑΔΑΣ ΧΡΗΣΤΩΝ\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Ομάδα: (όχι κενά ή στίξη)$NWB#vicidial_user_groups-user_group$NWE
Περιγραφή: (περιγραφή ομάδας)$NWB#vicidial_user_groups-group_name$NWE
Επιτρεπόμενες Εκστρατείες: \n"; + echo "$campaigns_list"; + echo "$NWB#vicidial_user_groups-allowed_campaigns$NWE
\n"; + + + ### list of users in this user group + + $active_confs = 0; + $stmt="SELECT user,full_name,user_level from vicidial_users where user_group='$user_group'"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + echo "
\n"; + echo "
ΧΡΗΣΤΕΣ ΜΕΣΑ ΣΕ ΑΥΤΗΝ ΤΗΝ ΟΜΑΔΑ ΧΡΗΣΤΩΝ : $users_to_print
\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($users_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
USERFULL NAMELEVEL
$rowx[0]$rowx[1]$rowx[2]

\n"; + + + + echo "

Click here to see all CallBack Holds in this user group

\n"; + + if ($LOGdelete_user_groups > 0) + { + echo "

ΔΙΑΓΡΑΨΕ ΑΥΤΗΝ ΤΗΝ ΟΜΑΔΑ ΧΡΗΣΤΩΝ\n"; + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=3111111 modify script info in the system +###################### + +if ($ADD==3111111) +{ + if ($LOGmodify_scripts==1) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_scripts where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $script_name = $row[1]; + $script_comments = $row[2]; + $script_text = $row[3]; + $active = $row[4]; + echo ""; + + echo "
ΤΡΟΠΟΠΟΙΗΣΤΕ ΕΝΑΝ ΒΟΗΘΟ\n"; + echo "\n"; + echo "\n"; + echo "
Ταυτότητα χειρογράφων:: $script_id$NWB#vicidial_scripts-script_name$NWE
Όνομα χειρογράφων: (τίτλος του βοηθού)$NWB#vicidial_scripts-script_name$NWE
Σχόλια χειρόγραφου: $NWB#vicidial_scripts-script_comments$NWE
Ενεργή:$NWB#vicidial_scripts-active$NWE
Κείμενο χειρόγραφου:

Προεπισκόπιση Βοηθού
"; + # BEGIN Insert Field + echo ""; + echo "
"; + # END Insert Field + echo " $NWB#vicidial_scripts-script_text$NWE
\n"; + + if ($LOGdelete_scripts > 0) + { + echo "

ΔΙΑΓΡΑΨΕ ΑΥΤΟΝ ΤΟΝ ΒΟΗΘΟ\n"; + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=31111111 modify filter info in the system +###################### + +if ($ADD==31111111) +{ + if ($LOGmodify_filters==1) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $lead_filter_name = $row[1]; + $lead_filter_comments = $row[2]; + $lead_filter_sql = $row[3]; + echo ""; + + echo "
ΤΡΟΠΟΠΟΙΗΣΗ ΕΝΟΣ ΦΙΛΤΡΟΥ\n"; + echo "\n"; + echo "\n"; + echo "
ID Φίλτρου: $lead_filter_id$NWB#vicidial_lead_filters-lead_filter_id$NWE
Όνομα Φίλτρου: (σύντομη περιγραφή του φίλτρου)$NWB#vicidial_lead_filters-lead_filter_name$NWE
Σχόλια Φίλτρου: $NWB#vicidial_lead_filters-lead_filter_comments$NWE
SQL Φίλτρου: $NWB#vicidial_lead_filters-lead_filter_sql$NWE
\n"; + + ##### get campaigns listing for dynamic pulldown + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "\n"; + $o++; + } + + echo "

"; + echo "
ΕΛΕΓΧΟΣ ΣΤΗΝ ΕΚΣΤΡΑΤΕΙΑ:
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + if ($LOGdelete_filters > 0) + { + echo "

ΔΙΑΓΡΑΦΗ ΤΟΥ ΦΙΛΤΡΟΥ\n"; + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=321111111 modify call time definition info in the system +###################### + +if ($ADD==321111111) +{ +if ($LOGmodify_call_times==1) +{ + +if ( ($stage=="ADD") and (strlen($state_rule)>0) ) + { + $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_state_call_times = $row[0]; + + if (eregi("\|$",$ct_state_call_times)) + {$ct_state_call_times = "$ct_state_call_times$state_rule\|";} + else + {$ct_state_call_times = "$ct_state_call_times\|$state_rule\|";} + $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + echo "Προσθήκη Κανόνα Κατάστασης: $state_rule
\n"; + } +if ( ($stage=="REMOVE") and (strlen($state_rule)>0) ) + { + $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_state_call_times = $row[0]; + + $ct_state_call_times = eregi_replace("\|$state_rule\|",'|',$ct_state_call_times); + $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + echo "Απομάκρυνση Κανόνα Κατάστασης: $state_rule
\n"; + } + +$ADD=311111111; +} +else +{ +echo "Δεν έχετε το δικαίωμα για να δείτε την σελίδα. Παρακαλώ επιστρέψτε."; +} + +} + + +###################### +# ADD=311111111 modify call time definition info in the system +###################### + +if ($ADD==311111111) +{ + +if ($LOGmodify_call_times==1) +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +$ct_srs=1; +$b=0; +$srs_SQL =''; +if (strlen($ct_state_call_times)>2) + { + $state_rules = explode('|',$ct_state_call_times); + $ct_srs = ((count($state_rules)) - 1); + } +echo "\n"; +echo "\n"; +while($ct_srs >= $b) + { + if (strlen($state_rules[$b])>0) + { + $stmt="SELECT state_call_time_state,state_call_time_name from vicidial_state_call_times where state_call_time_id='$state_rules[$b]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + echo "\n"; + $srs_SQL .= "'$state_rules[$b]',"; + $srs_state_SQL .= "'$row[0]',"; + } + $b++; + } +if (strlen($srs_SQL)>2) + { + $srs_SQL = "$srs_SQL''"; + $srs_state_SQL = "$srs_state_SQL''"; + $srs_SQL = "where state_call_time_id NOT IN($srs_SQL) and state_call_time_state NOT IN($srs_state_SQL)"; + } +else + {$srs_SQL='';} +$stmt="SELECT state_call_time_id,state_call_time_name from vicidial_state_call_times $srs_SQL order by state_call_time_id;"; +$rslt=mysql_query($stmt, $link); +$sct_to_print = mysql_num_rows($rslt); +$sct_list=''; + +$o=0; +while ($sct_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $sct_list .= "\n"; + $o++; +} +echo "\n"; +echo "\n"; + +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $call_time_name = $row[1]; + $call_time_comments = $row[2]; + $ct_default_start = $row[3]; + $ct_default_stop = $row[4]; + $ct_sunday_start = $row[5]; + $ct_sunday_stop = $row[6]; + $ct_monday_start = $row[7]; + $ct_monday_stop = $row[8]; + $ct_tuesday_start = $row[9]; + $ct_tuesday_stop = $row[10]; + $ct_wednesday_start = $row[11]; + $ct_wednesday_stop = $row[12]; + $ct_thursday_start = $row[13]; + $ct_thursday_stop = $row[14]; + $ct_friday_start = $row[15]; + $ct_friday_stop = $row[16]; + $ct_saturday_start = $row[17]; + $ct_saturday_stop = $row[18]; + $ct_state_call_times = $row[19]; + +echo ""; + +echo "
ΤΡΟΠΟΠΟΙΗΣΗ ΧΡΟΝΟΥ ΚΛΗΣΗΣ\n"; +echo "\n"; +echo "\n"; +echo "
ID Χρόνου Κλήσης: $call_time_id$NWB#vicidial_call_times-call_time_id$NWE
Ονομα Χρόνου Κλήσης: (σύντομη περιγραφή του χρόνου κλήσης)$NWB#vicidial_call_times-call_time_name$NWE
Σχόλια Χρόνου Κλήσης: $NWB#vicidial_call_times-call_time_comments$NWE
Προκαθορσμένη Εκκίνηση Προκαθορσμένη Παύση: $NWB#vicidial_call_times-ct_default_start$NWE
Κυριακή Εκκίνηση: Κυριακή Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE
Δευτέρα Εκκίνηση: Δευτέρα Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE
Τρίτη Εκκίνηση: Τρίτη Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE
Wednesday Start: Τετάρτη Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE
Πέμπτη Εκκίνηση: Πέμπτη Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE
Παρασκευή Εκκίνηση: Παρασκευή Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE
Σάββατο Εκκίνηση: Σάββατο Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE
Ενεργοί Ορισμοί Χρόνου Κλήσης Κατάστασης για αυτή την Εγγραφή:  
$state_rules[$b] - REMOVE $row[0] - $row[1]
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "Add state call time rule:


\n"; +echo "ΕΚΣΤΑΤΕΙΕΣ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΟΥΝ ΑΥΤΟ ΤΟΝ ΧΡΟΝΟ ΚΛΗΣΗΣ:
\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns where local_call_time='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]
\n"; +echo "INBOUND GROUPS USING THIS CALL TIME:
\n"; +echo "\n"; + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]
\n"; +echo "

\n"; + +if ($LOGdelete_call_times > 0) + { + echo "

ΔΙΑΓΡΑΦΗ ΟΡΙΣΜΟΥ ΧΡΟΝΟΥ ΚΛΗΣΗΣ\n"; + } +} +else +{ +echo "Δεν έχετε το δικαίωμα για να δείτε την σελίδα. Παρακαλώ επιστρέψτε."; +} + +} + + +###################### +# ADD=3111111111 modify state call time definition info in the system +###################### + +if ($ADD==3111111111) +{ + +if ($LOGmodify_call_times==1) +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +echo "\n"; +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_state_call_times where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $state_call_time_state =$row[1]; + $call_time_name = $row[2]; + $call_time_comments = $row[3]; + $ct_default_start = $row[4]; + $ct_default_stop = $row[5]; + $ct_sunday_start = $row[6]; + $ct_sunday_stop = $row[7]; + $ct_monday_start = $row[8]; + $ct_monday_stop = $row[9]; + $ct_tuesday_start = $row[10]; + $ct_tuesday_stop = $row[11]; + $ct_wednesday_start = $row[12]; + $ct_wednesday_stop = $row[13]; + $ct_thursday_start = $row[14]; + $ct_thursday_stop = $row[15]; + $ct_friday_start = $row[16]; + $ct_friday_stop = $row[17]; + $ct_saturday_start = $row[18]; + $ct_saturday_stop = $row[19]; + +echo ""; + +echo "
ΤΡΟΠΟΠΟΙΗΣΗ ΧΡΟΝΟΥ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣ
\n"; +echo "\n"; +echo "\n"; +echo "
ID Χρόνου Κλήσης: $call_time_id$NWB#vicidial_call_times-call_time_id$NWE
State Call Time State: $NWB#vicidial_call_times-state_call_time_state$NWE
Ονομα Χρόνου Κλήσης Κατάτασης: (σύντομη περιγραφή του χρόνου κλήσης)$NWB#vicidial_call_times-call_time_name$NWE
Σχόλια Χρόνου Κλήσης Κατάστασης: $NWB#vicidial_call_times-call_time_comments$NWE
Προκαθορσμένη Εκκίνηση Προκαθορσμένη Παύση: $NWB#vicidial_call_times-ct_default_start$NWE
Κυριακή Εκκίνηση: Κυριακή Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE
Δευτέρα Εκκίνηση: Δευτέρα Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE
Τρίτη Εκκίνηση: Τρίτη Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE
Wednesday Start: Τετάρτη Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE
Πέμπτη Εκκίνηση: Πέμπτη Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE
Παρασκευή Εκκίνηση: Παρασκευή Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE
Σάββατο Εκκίνηση: Σάββατο Παύση: $NWB#vicidial_call_times-ct_sunday_start$NWE


\n"; +echo "ΧΡΟΝΟΙ ΚΛΗΣΕΩΝ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΟΥΝ ΑΥΤΟ ΤΟΝ ΧΡΟΝΟ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣ:
\n"; +echo "\n"; + + $stmt="SELECT call_time_id,call_time_name from vicidial_call_times where ct_state_call_times LIKE \"%|$call_time_id|%\";"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]
\n"; +echo "

\n"; + +if ($LOGdelete_call_times > 0) + { + echo "

ΔΙΑΓΡΑΦΗ ΟΡΙΣΜΟΥ ΧΡΟΝΟΥ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣ\n"; + } + +} +else +{ +echo "Δεν έχετε το δικαίωμα για να δείτε την σελίδα. Παρακαλώ επιστρέψτε."; +} + +} + + +###################### +# ADD=31111111111 modify phone record in the system +###################### + +if ($ADD==31111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from phones where extension='$extension' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + echo "
ΤΡΟΠΟΠΟΙΗΣΗ ΕΓΓΡΑΦΗΣ ΤΗΛΕΦΩΝΟΥ: $row[1]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Τηλ.σύνδεσης τηλεφώνου: $NWB#phones-extension$NWE
Αριθμός Σχεδίου Κλήσεων: (μόνο αριθμοί)$NWB#phones-dialplan_number$NWE
Περιεχόμενο Φωνητικού Ταχυδρομείου: (μόνο αριθμοί)$NWB#phones-voicemail_id$NWE
Εξερχόμενο CallerID: (μόνο αριθμοί)$NWB#phones-outbound_cid$NWE
Δνση IP Τηλεφώνου: (optional)$NWB#phones-phone_ip$NWE
Δνση IP Υπολογιστή: (optional)$NWB#phones-computer_ip$NWE
IP Διακομιστή: $NWB#phones-server_ip$NWE
Σύνδεση:$NWB#phones-login$NWE
Κωδικός:$NWB#phones-pass$NWE
Κατάσταση:$NWB#phones-status$NWE
Ενεργός Λογαριασμός: $NWB#phones-active$NWE
Τύπος τηλεφώνου: $NWB#phones-phone_type$NWE
Πλήρες Ονομα: $NWB#phones-fullname$NWE
Εταιρία:$NWB#phones-company$NWE
Εικόνα:$NWB#phones-picture$NWE
Νέα Μηνύματα: $row[14]$NWB#phones-messages$NWE
Παλαιά Μηνύματα: $row[15]$NWB#phones-old_messages$NWE
Προτόκολο Πελάτη: $NWB#phones-protocol$NWE
Τοπικό GMT: (Μην ρυθμίσεις για DST)$NWB#phones-local_gmt$NWE
Διαχειριστή Σύνδεση: $NWB#phones-ASTmgrUSERNAME$NWE
Κωδικός Διαχειριστή: $NWB#phones-ASTmgrSECRET$NWE
VICIDIAL Προκαθορισμένος Χρήστης: $NWB#phones-login_user$NWE
VICIDIAL Προκαθορισμένος Κωδικός: $NWB#phones-login_pass$NWE
VICIDIAL Προκαθορισμένη εκστρατεία: $NWB#phones-login_campaign$NWE
Τηλ.σύνδ. Στάθμευσης: $NWB#phones-park_on_extension$NWE
Τηλ.σύνδ. Συνδ.: $NWB#phones-conf_on_extension$NWE
VICIDIAL Τηλ.σύνδ. Στάθμευσης: $NWB#phones-VICIDIAL_park_on_extension$NWE
VICIDIAL Αρχείο Στάθμευσης: $NWB#phones-VICIDIAL_park_on_filename$NWE
Πρόθεμα Παρακολούθησης: $NWB#phones-monitor_prefix$NWE
Ηχογράφηση εσωτ.σύνδ.: $NWB#phones-recording_exten$NWE
VMailMain Τηλ.σύνδ.: $NWB#phones-voicemail_exten$NWE
VMailDump Τηλ.σύνδ.: $NWB#phones-voicemail_dump_exten$NWE
Περιεχόμενο Τηλ.σύνδ: $NWB#phones-ext_context$NWE
DTMFSend Κανάλι: $NWB#phones-dtmf_send_extension$NWE
Ομάδα Εξερχομένων Κλήσεων: $NWB#phones-call_out_number_group$NWE
Θέση Φυλλομετρητή: $NWB#phones-client_browser$NWE
Κατάλογος εγκατάστασης: $NWB#phones-install_directory$NWE
CallerID URL: $NWB#phones-local_web_callerID_URL$NWE
VICIDIAL Προκαθορισμένο URL: $NWB#phones-VICIDIAL_web_URL$NWE
Καταγραφή Γεγονότος Κλήσης: $NWB#phones-AGI_call_logging_enabled$NWE
Μεταγωγή Χρήστη: $NWB#phones-user_switching_enabled$NWE
Σε συνδιαλέξη: $NWB#phones-conferencing_enabled$NWE
Διαχειριστού Κλείσιμο: $NWB#phones-admin_hangup_enabled$NWE
Διαχειριστού Κλέψιμο: $NWB#phones-admin_hijack_enabled$NWE
Διαχειριστού Παρακολούθηση: $NWB#phones-admin_monitor_enabled$NWE
Στάθμευση Κλήσης: $NWB#phones-call_parking_enabled$NWE
Ελεγχος ενημερωτή: $NWB#phones-updater_check_enabled$NWE
AF Καταγραφή Γεγονότος: $NWB#phones-AFLogging_enabled$NWE
Ενεργή Ουρά: $NWB#phones-QUEUE_ACTION_enabled$NWE
Υπερεμφανιζόμενο παραθύρο CallerID: $NWB#phones-CallerID_popup_enabled$NWE
Πλήκτρο VMail: $NWB#phones-voicemail_button_enabled$NWE
Ταχύτητα Ανανέωσης: $NWB#phones-enable_fast_refresh$NWE
Ρυθμός Ανανέωσης Ταχύτητας: (in ms)$NWB#phones-fast_refresh_rate$NWE
Συνεχής MySQL: $NWB#phones-enable_persistant_mysql$NWE
Αυτόματη Κλήση Επόμενου Αριθμού: $NWB#phones-auto_dial_next_number$NWE
Σταμάτα την ηχογράφηση μετά από κάθε κλήση: $NWB#phones-VDstop_rec_after_each_call$NWE
Επιτρέψτε τα μηνύματα SIPSAK: $NWB#phones-enable_sipsak_messages$NWE
DBX Διακομιστής: (Πρωταρχικό DB Server)$NWB#phones-DBX_server$NWE
DBX Βάση Δεδομένων: (Πρωταρχικό Server Database)$NWB#phones-DBX_database$NWE
DBX Χρήστης: (Πρωταρχικό DB Login)$NWB#phones-DBX_user$NWE
DBX Κωδικός: (Πρωταρχικό DB Secret)$NWB#phones-DBX_pass$NWE
DBX Πόρτα: (Πρωταρχικό DB Port)$NWB#phones-DBX_port$NWE
DBY Διακομιστής: (ΔευτερεύονDB Server)$NWB#phones-DBY_server$NWE
DBY Βάση Δεδομένων: (ΔευτερεύονServer Database)$NWB#phones-DBY_database$NWE
DBY Χρήστης: (ΔευτερεύονDB Login)$NWB#phones-DBY_user$NWE
DBY Κωδικός: (ΔευτερεύονDB Secret)$NWB#phones-DBY_pass$NWE
DBY Πόρτα: (ΔευτερεύονDB Port)$NWB#phones-DBY_port$NWE
\n"; + + echo "

Επιλέξτε εδώ για στατιστικά τηλεφώνου\n"; + + if ($LOGast_delete_phones > 0) + { + echo "

ΔΙΑΓΡΑΨΕ ΑΥΤΟ ΤΟ ΤΗΛΕΦΩΝΟ\n"; + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=311111111111 modify server record in the system +###################### + +if ($ADD==311111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from servers where server_id='$server_id' or server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $server_id = $row[0]; + $server_ip = $row[2]; + + echo "
ΤΡΟΠΟΠΟΙΗΣΗ ΕΓΓΡΑΦΗΣ ΔΙΑΚΟΜΙΣΤΗ: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID Διακομιστή: $NWB#servers-server_id$NWE
Περιγραφή Διακομιστή: $NWB#servers-server_description$NWE
Δνση IP Διακομιστή: $NWB#servers-server_ip$NWE
Ενεργή:$NWB#servers-active$NWE
Εκδοση Asterisk: $NWB#servers-asterisk_version$NWE
Μέγιστος Αριθμός Trunk: $NWB#servers-max_vicidial_trunks$NWE
Διακύμανση Τηλεφωνικής Κλήσης: $NWB#servers-vicidial_balance_active$NWE
Διακύμανση εκτός ορίων: $NWB#servers-balance_trunks_offlimits$NWE
Λήπτης Telnet: $NWB#servers-telnet_host$NWE
Πόρτα Telnet: $NWB#servers-telnet_port$NWE
Χρήστη Διαχειριστή: $NWB#servers-ASTmgrUSERNAME$NWE
Κωδικός Διαχειριστή: $NWB#servers-ASTmgrSECRET$NWE
Ενημέρωση Χρήστη Διαχειριστή: $NWB#servers-ASTmgrUSERNAMEupdate$NWE
Παρακολούθηση Χρήστη Διαχειριστή: $NWB#servers-ASTmgrUSERNAMElisten$NWE
Αποστολή Χρήστη Διαχειριστή: $NWB#servers-ASTmgrUSERNAMEsend$NWE
Τοπικό GMT: (Μην ρυθμίσεις για DST)$NWB#servers-local_gmt$NWE
VMail εσωτ.σύνδεση απόρριψης: $NWB#servers-voicemail_dump_exten$NWE
AD εσωτ.σύνδεση: $NWB#servers-answer_transfer_agent$NWE
Προκαθορισμένο Περιεχόμενο: $NWB#servers-ext_context$NWE
Επίδοση Συστήματος +: $NWB#servers-sys_perf_log$NWE
Γεγονότα Διακομιστή +: $NWB#servers-vd_server_logs$NWE
Εξοδος AGI +: $NWB#servers-agi_output$NWE
\n"; + + + ### vicidial server trunk records for this server + echo "

ΚΟΡΜΟΙ ΓΙΑ ΤΟΝ ΕΞΥΠΗΡΕΤΗΤΗ:   $NWB#vicidial_server_trunks$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_server_trunks where server_ip='$server_ip' order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $recycle_to_print = mysql_num_rows($rslt); + $o=0; + while ($recycle_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
ΕΚΣΤΡΑΤΕΙΑ ΚΟΡΜΟΙ ΠΕΡΙΟΡΙΣΜΟΣ DELETE
$rowx[1]
\n"; + echo "\n"; + echo "\n"; + echo "
ΔΙΑΓΡΑΦΗ
\n"; + + echo "
ΠΡΟΣΘΗΚΗ ΕΓΓΡΑΦΗΣ ΕΞΥΠΗΡΕΤΗΤΗ ΚΟΣΡΜΟΥ
\n"; + echo "\n"; + echo "\n"; + echo "TRUNKS:
\n"; + echo "ΕΚΣΤΡΑΤΕΙΑ:
\n"; + echo "RESTRICTION:
\n"; + echo "
\n"; + + echo "

\n"; + + + ### list of phones on this server + echo "
\n"; + echo "
ΤΗΛΕΦΩΝΑ ΣΤΟΝ ΔΙΑΚΟΜΙΣΤΗ:
\n"; + echo "\n"; + echo "\n"; + + $active_phones = 0; + $inactive_phones = 0; + $stmt="SELECT extension,active,fullname from phones where server_ip='$row[2]'"; + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + if (ereg("Y", $rowx[1])) {$active_phones++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_phones++;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
ΤΗΛ.ΣΥΝΔΕΣΗΟΝΟΜΑΕΝΕΡΓΟ
$rowx[0]$rowx[2]$rowx[1]

\n"; + + + ### list of conferences on this server + echo "
\n"; + echo "
CONFERENCES WITHIN THIS SERVER:
\n"; + echo "\n"; + echo "\n"; + + $active_confs = 0; + $stmt="SELECT conf_exten,extension from conferences where server_ip='$row[2]'"; + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + $active_confs++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
CONFERENCEΤΗΛ.ΣΥΝΔΕΣΗ
$rowx[0]$rowx[2]

\n"; + + + ### list of vicidial conferences on this server + echo "
\n"; + echo "
VICIDIAL CONFERENCES WITHIN THIS SERVER:
\n"; + echo "\n"; + echo "\n"; + + $active_vdconfs = 0; + $stmt="SELECT conf_exten,extension from vicidial_conferences where server_ip='$row[2]'"; + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + $active_vdconfs++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
VD CONFERENCEΤΗΛ.ΣΥΝΔΕΣΗ
$rowx[0]$rowx[2]

\n"; + + + echo "
\n"; + + $camp_lists = eregi_replace(".$","",$camp_lists); + echo "Αυτός ο διακομιστής έχει $active_phones ενεργά τηλέφωνα και $inactive_phones μη ενεργά τηλέφωνα

\n"; + echo "Αυτός ο διακομιστής έχει $active_confs active conferences

\n"; + echo "Αυτός ο διακομιστής έχει $active_vdconfs active vicidial conferences

\n"; + echo "
\n"; + if ($LOGast_delete_phones > 0) + { + echo "

DELETE THIS SERVER\n"; + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=3111111111111 modify conference record in the system +###################### + +if ($ADD==3111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $conf_exten = $row[0]; + $server_ip = $row[1]; + + echo "
ΤΡΟΠΟΠΟΙΗΣΗ ΕΓΓΡΑΦΗΣ ΣΥΝΔΙΑΛΕΞΗΣ: $row[0]
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Συνδιάλεξη:$NWB#conferences-conf_exten$NWE
IP Διακομιστή: $NWB#conferences-server_ip$NWE
Ισχύουσα εσωτ.σύνδεση:
\n"; + + echo "
\n"; + if ($LOGast_delete_phones > 0) + { + echo "

DELETE THIS CONFERENCE\n"; + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + +###################### +# ADD=31111111111111 modify vicidial conference record in the system +###################### + +if ($ADD==31111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $conf_exten = $row[0]; + $server_ip = $row[1]; + + echo "
MODIFY A VICIDIAL CONFERENCE RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Συνδιάλεξη:$NWB#conferences-conf_exten$NWE
IP Διακομιστή: $NWB#conferences-server_ip$NWE
Ισχύουσα εσωτ.σύνδεση:
\n"; + + echo "
\n"; + if ($LOGast_delete_phones > 0) + { + echo "

DELETE THIS VICIDIAL CONFERENCE\n"; + } + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + + +###################### +# ADD=311111111111111 modify vicidial system settings +###################### + +if ($ADD==311111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT version,install_date,use_non_latin,webroot_writable,enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_url,queuemetrics_log_id,queuemetrics_eq_prepend,vicidial_agent_disable,allow_sipsak_messages,admin_home_url,enable_agc_xfer_log from system_settings;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $version = $row[0]; + $install_date = $row[1]; + $use_non_latin = $row[2]; + $webroot_writable = $row[3]; + $enable_queuemetrics_logging = $row[4]; + $queuemetrics_server_ip = $row[5]; + $queuemetrics_dbname = $row[6]; + $queuemetrics_login = $row[7]; + $queuemetrics_pass = $row[8]; + $queuemetrics_url = $row[9]; + $queuemetrics_log_id = $row[10]; + $queuemetrics_eq_prepend = $row[11]; + $vicidial_agent_disable = $row[12]; + $allow_sipsak_messages = $row[13]; + $admin_home_url = $row[14]; + $enable_agc_xfer_log = $row[15]; + + echo "
ΤΡΟΠΟΠΟΙΗΣΤΕ ΤΙΣ ΤΟΠΟΘΕΤΉΣΕΙΣ ΣΥΣΤΗΜΑΤΩΝ VICIDIAL\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
Έκδοση: $version
Install Date: $install_date
Μη-λατινικά χρήσης: $NWB#settings-use_non_latin$NWE
Webroot writable: $NWB#settings-webroot_writable$NWE
Επιτρέψτε την αναγραφή QueueMetrics: $NWB#settings-enable_queuemetrics_logging$NWE
QueueMetrics κεντρικός υπολογιστής IP: $NWB#settings-queuemetrics_server_ip$NWE
QueueMetrics όνομα DB: $NWB#settings-queuemetrics_dbname$NWE
QueueMetrics σύνδεση DB: $NWB#settings-queuemetrics_login$NWE
QueueMetrics κωδικός πρόσβασης DB: $NWB#settings-queuemetrics_pass$NWE
QueueMetrics URL: $NWB#settings-queuemetrics_url$NWE
QueueMetrics καταγράψτε την ταυτότητα: $NWB#settings-queuemetrics_log_id$NWE
QueueMetrics EnterQueue Prepend:$NWB#settings-queuemetrics_eq_prepend$NWE
VICIDIAL ο πράκτορας θέτει εκτός λειτουργίας την επίδειξη: $NWB#settings-vicidial_agent_disable$NWE
Επιτρέψτε τα μηνύματα SIPSAK: $NWB#settings-allow_sipsak_messages$NWE
Σπίτι URL Admin:$NWB#settings-admin_home_url$NWE
Επιτρέψτε το αρχείο ημερολογίου μεταφοράς πρακτόρων: $NWB#settings-enable_agc_xfer_log$NWE
\n"; + echo "\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + + + + + +###################### +# ADD=321111111111111 modify vicidial system statuses +###################### + +if ($ADD==321111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + echo "
\n"; + echo "VICIDIAL ΘΕΣΕΙΣ ΜΕΣΑ ΣΕ ΑΥΤΟ ΤΟ ΣΥΣΤΗΜΑ:  $NWB#vicidial_statuses$NWE
\n"; + echo "\n"; + echo "\n"; + + ##### get status category listings for dynamic pulldown + $stmt="SELECT vsc_id,vsc_name from vicidial_status_categories order by vsc_id desc"; + $rslt=mysql_query($stmt, $link); + $cats_to_print = mysql_num_rows($rslt); + $cats_list=""; + + $o=0; + while ($cats_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $cats_list .= "\n"; + $catsname_list["$rowx[0]"] = substr($rowx[1],0,20); + $o++; + } + + + $stmt="SELECT * from vicidial_statuses order by status;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AScategory = $rowx[4]; + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
ΚΑΤΑΣΤΑΣΗΠΕΡΙΓΡΑΦΗSELECT-
ABLE
HUMAN
ANSWER
CATEGORYMODIFY/DELETE
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
\n"; + echo "\n"; + echo "         \n"; + echo "   \n"; + + if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) + { + echo "ΔΙΑΓΡΑΦΗ\n"; + } + else + { + echo "ΔΙΑΓΡΑΦΗ\n"; + } + echo "
\n"; + + echo "
ΠΡΟΣΘΕΣΤΕ ΤΗ ΝΕΑ ΘΕΣΗ ΣΥΣΤΗΜΑΤΩΝ
\n"; + echo "\n"; + echo "Κατάσταση:   \n"; + echo "Περιγραφή:
\n"; + echo "Επιλέξιμο:   \n"; + echo "Human Answer:   \n"; + echo "Κατηγορία:\n"; + echo "  
\n"; + echo "
\n"; + + echo "

\n"; + + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + + + + +###################### +# ADD=331111111111111 modify vicidial status categories +###################### + +if ($ADD==331111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + echo "
\n"; + echo "VICIDIAL STATUS CATEGORIES:   $NWB#vicidial_status_categories$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_status_categories order by vsc_id;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + + $Avsc_id[$o] = $rowx[0]; + $Avsc_name[$o] = $rowx[1]; + $Avsc_description[$o] = $rowx[2]; + $Atovdad_display[$o] = $rowx[3]; + + $o++; + } + $p=0; + while ($o > $p) + { + if (eregi("1$|3$|5$|7$|9$", $p)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $CATstatuses=''; + $stmt="SELECT status from vicidial_statuses where category='$Avsc_id[$p]' order by status;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $q=0; + while ($statuses_to_print > $q) + { + $rowx=mysql_fetch_row($rslt); + $CATstatuses.=" $rowx[0]"; + $q++; + } + $stmt="SELECT status from vicidial_campaign_statuses where category='$Avsc_id[$p]' order by status;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $q=0; + while ($statuses_to_print > $q) + { + $rowx=mysql_fetch_row($rslt); + $CATstatuses.=" $rowx[0]"; + $q++; + } + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $p++; + } + + echo "
CATEGORYΟΝΟΜΑTOVDADSTATUSES IN THIS CATEGORY
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$Avsc_id[$p]
\n"; + echo "$CATstatuses"; + echo "
Περιγραφή:
        \n"; + echo "   ΔΙΑΓΡΑΦΗ
 
\n"; + + echo "
ΠΡΟΣΘΕΣΤΕ ΤΗ ΝΕΑ ΚΑΤΗΓΟΡΙΑ ΘΕΣΗΣ
\n"; + echo "\n"; + echo "Category ID:   \n"; + echo "Name:   \n"; + echo "TimeOnVDAD Display:  
\n"; + echo "Περιγραφή:   \n"; + echo "
\n"; + + echo "

\n"; + + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + + + + + +###################### +# ADD=550 search form +###################### + +if ($ADD==550) +{ +echo "
\n"; +echo ""; + +echo "
ΑΝΑΖΗΤΗΣΗ ΧΡΗΣΤΗ
\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +echo "\n"; +echo "
Αριθμός Χρήστη:
Πλήρες Ονομα:
Επίπεδο Χρήστη:
Ομάδα Χρήστη:
\n"; + +} + +###################### +# ADD=660 user search results +###################### + +if ($ADD==660) +{ +echo "
\n"; + echo ""; + + $SQL = ''; + if ($user) {$SQL .= " user LIKE \"%$user%\" and";} + if ($full_name) {$SQL .= " full_name LIKE \"%$full_name%\" and";} + if ($user_level > 0) {$SQL .= " user_level LIKE \"%$user_level%\" and";} + if ($user_group) {$SQL .= " user_group = '$user_group' and";} + $SQL = eregi_replace(" and$", "", $SQL); + if (strlen($SQL)>5) {$SQL = "where $SQL";} + + $stmt="SELECT * from vicidial_users $SQL order by full_name desc;"; +# echo "\n|$stmt|\n"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
ΑΝΑΖΗΤΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[1]$row[3]$row[4]$row[5]ΤΡΟΠΟΠΟΙΗΣΗ | ΣΤΑΤΙΣΤΙΚΑ | ΚΑΤΑΣΤΑΣΗ | TIME
\n"; + +} + + +###################################################################################################### +###################################################################################################### +####### 8 series, Callback lists +###################################################################################################### +###################################################################################################### + +###################### +# ADD=8 find all callbacks on hold by a User +###################### +if ($ADD==8) +{ + if ($LOGmodify_users==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user='$user' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
User($user) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user='$user' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
User($user) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } +$CBinactiveLINK = "
Remove LIVE Callbacks older than one month for this user
Remove LIVE Callbacks older than one week for this user
"; + +echo ""; + + $CBquerySQLwhere = "and user='$user'"; + +echo "
USER CALLBACK HOLD LISTINGS: $user\n"; +$oldADD = "ADD=8&user=$user"; +$ADD='82'; +} + +###################### +# ADD=81 find all callbacks on hold within a Campaign +###################### +if ($ADD==81) +{ + if ($LOGmodify_campaigns==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where campaign_id='$campaign_id' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
campaign($campaign_id) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where campaign_id='$campaign_id' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
campaign($campaign_id) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } +$CBinactiveLINK = "
Remove LIVE Callbacks older than one month for this campaign
Remove LIVE Callbacks older than one week for this campaign
"; + +echo ""; + + $CBquerySQLwhere = "and campaign_id='$campaign_id'"; + +echo "
CAMPAIGN CALLBACK HOLD LISTINGS: $campaign_id\n"; +$oldADD = "ADD=81&campaign_id=$campaign_id"; +$ADD='82'; +} + +###################### +# ADD=811 find all callbacks on hold within a List +###################### +if ($ADD==811) +{ + if ($LOGmodify_lists==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where list_id='$list_id' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
list($list_id) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where list_id='$list_id' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
list($list_id) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } +$CBinactiveLINK = "
Remove LIVE Callbacks older than one month for this list
Remove LIVE Callbacks older than one week for this list
"; + +echo ""; + + $CBquerySQLwhere = "and list_id='$list_id'"; + +echo "
LIST CALLBACK HOLD LISTINGS: $list_id\n"; +$oldADD = "ADD=811&list_id=$list_id"; +$ADD='82'; +} + +###################### +# ADD=8111 find all callbacks on hold within a user group +###################### +if ($ADD==8111) +{ + if ($LOGmodify_usergroups==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user_group='$user_group' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
user group($user_group) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user_group='$user_group' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
user group($user_group) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } + $CBinactiveLINK = "
Remove LIVE Callbacks older than one month for this user group
Remove LIVE Callbacks older than one week for this user group
"; + + echo ""; + + $CBquerySQLwhere = "and user_group='$user_group'"; + +echo "
USER GROUP CALLBACK HOLD LISTINGS: $list_id\n"; +$oldADD = "ADD=8111&user_group=$user_group"; +$ADD='82'; +} + +###################### +# ADD=82 display all callbacks on hold +###################### +if ($ADD==82) +{ + +$USERlink='stage=USERIDDOWN'; +$GROUPlink='stage=GROUPDOWN'; +$ENDATElink='stage=ENDATEDOWN'; +$SQLorder='order by '; +if (eregi("USERIDDOWN",$stage)) {$SQLorder='order by user desc,'; $USERlink='stage=USERIDUP';} +if (eregi("GROUPDOWN",$stage)) {$SQLorder='order by user_group desc,'; $NAMElink='stage=NAMEUP';} +if (eregi("ENDATEDOWN",$stage)) {$SQLorder='order by entry_time desc,'; $LEVELlink='stage=LEVELUP';} + + $stmt="SELECT * from vicidial_callbacks where status IN('ACTIVE','LIVE') $CBquerySQLwhere $SQLorder recipient,status desc,callback_time"; + $rslt=mysql_query($stmt, $link); + $cb_to_print = mysql_num_rows($rslt); + +echo "
\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $o=0; + while ($cb_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
LEADLISTΕΚΣΤΡΑΤΕΙΑENTRY ΗΜΕΡΑCALLBACK ΗΜΕΡΑUSERRECIPIENTΚΑΤΑΣΤΑΣΗGROUP
$row[1]$row[2]$row[3]$row[5]$row[6]$row[8]$row[9]$row[4]$row[11]
\n"; + +echo "$CBinactiveLINK"; +} + + + +###################################################################################################### +###################################################################################################### +####### 0 series, displays and searches +###################################################################################################### +###################################################################################################### + +###################### +# ADD=0 display all active users +###################### +if ($ADD==0) +{ +echo "
\n"; +echo ""; + +$USERlink='stage=USERIDDOWN'; +$NAMElink='stage=NAMEDOWN'; +$LEVELlink='stage=LEVELDOWN'; +$GROUPlink='stage=GROUPDOWN'; +$SQLorder='order by full_name'; +if (eregi("USERIDUP",$stage)) {$SQLorder='order by user asc'; $USERlink='stage=USERIDDOWN';} +if (eregi("USERIDDOWN",$stage)) {$SQLorder='order by user desc'; $USERlink='stage=USERIDUP';} +if (eregi("NAMEUP",$stage)) {$SQLorder='order by full_name asc'; $NAMElink='stage=NAMEDOWN';} +if (eregi("NAMEDOWN",$stage)) {$SQLorder='order by full_name desc'; $NAMElink='stage=NAMEUP';} +if (eregi("LEVELUP",$stage)) {$SQLorder='order by user_level asc'; $LEVELlink='stage=LEVELDOWN';} +if (eregi("LEVELDOWN",$stage)) {$SQLorder='order by user_level desc'; $LEVELlink='stage=LEVELUP';} +if (eregi("GROUPUP",$stage)) {$SQLorder='order by user_group asc'; $GROUPlink='stage=GROUPDOWN';} +if (eregi("GROUPDOWN",$stage)) {$SQLorder='order by user_group desc'; $GROUPlink='stage=GROUPUP';} + $stmt="SELECT * from vicidial_users $SQLorder"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
ΛΙΣΤΕΣ ΧΡΗΣΤΗ:\n"; +echo "
\n"; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + $o++; + } + +echo "
USER IDFULL NAMELEVELGROUPLINKS
$row[1]$row[3]$row[4]$row[5]ΤΡΟΠΟΠΟΙΗΣΗ | ΣΤΑΤΙΣΤΙΚΑ | ΚΑΤΑΣΤΑΣΗ | TIME
\n"; +} + +###################### +# ADD=10 display all campaigns +###################### +if ($ADD==10) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
ΕΝΤΑΓΜΕΝΕΣ ΕΚΣΤΡΑΤΕΙΕΣ:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2] $row[3]$row[4]$row[5] $row[6]$row[7]  ΤΡΟΠΟΠΟΙΗΣΗ
\n"; +} + + +###################### +# ADD=100 display all lists +###################### +if ($ADD==100) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_lists order by list_id"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
ΕΝΤΑΓΜΕΝΕΣ ΛΙΣΤΕΣ:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2]$row[4]$row[5] $row[3]$row[7]  ΤΡΟΠΟΠΟΙΗΣΗ
\n"; +} + + + +###################### +# ADD=1000 display all inbound groups +###################### +if ($ADD==1000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
ΕΝΤΑΓΜΕΝΕΣ ΕΙΣΕΡΧΟΜΕΝΕΣ ΟΜΑΔΕΣ:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[3] $row[5]  ΤΡΟΠΟΠΟΙΗΣΗ
\n"; +} + + +###################### +# ADD=10000 display all remote agents +###################### +if ($ADD==10000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_remote_agents order by server_ip,campaign_id,user_start"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
ΕΝΤΑΓΜΕΝΟΙ ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[1] $row[2] $row[3] $row[4] $row[5] $row[6]ΤΡΟΠΟΠΟΙΗΣΗ
\n"; +} + + +###################### +# ADD=100000 display all user groups +###################### +if ($ADD==100000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_user_groups order by user_group"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
ΕΝΤΑΓΜΕΝΕΣ ΟΜΑΔΕΣ ΧΡΗΣΤΗ:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]ΤΡΟΠΟΠΟΙΗΣΗ
\n"; +} + + +###################### +# ADD=1000000 display all scripts +###################### +if ($ADD==1000000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_scripts order by script_id"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
ΛΙΣΤΕΣ ΒΟΗΘΩΝ:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]ΤΡΟΠΟΠΟΙΗΣΗ
\n"; +} + + +###################### +# ADD=10000000 display all filters +###################### +if ($ADD==10000000) +{ +echo "
\n"; + + echo ""; + + $stmt="SELECT * from vicidial_lead_filters order by lead_filter_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + +echo "
ΛΙΣΤΕΣ ΟΔΗΓΟΥ ΦΙΛΤΡΟΥ:\n"; +echo "
\n"; + + $o=0; + while ($filters_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]ΤΡΟΠΟΠΟΙΗΣΗ
\n"; +} + + +###################### +# ADD=100000000 display all call times +###################### +if ($ADD==100000000) +{ +echo "
\n"; + + echo ""; + + $stmt="SELECT * from vicidial_call_times order by call_time_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + +echo "
ΛΙΣΤΕΣ ΧΡΟΝΟΥ ΚΛΗΣΗΣ:\n"; +echo "
\n"; + + $o=0; + while ($filters_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[3] $row[4] ΤΡΟΠΟΠΟΙΗΣΗ
\n"; +} + +###################### +# ADD=1000000000 display all state call times +###################### +if ($ADD==1000000000) +{ +echo "
\n"; + + echo ""; + + $stmt="SELECT * from vicidial_state_call_times order by state_call_time_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + +echo "
ΛΙΣΤΕΣ ΧΡΟΝΟΥ ΚΛΗΣΗΣ ΚΑΤΑΣΤΑΣΗΣ:\n"; +echo "
\n"; + + $o=0; + while ($filters_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2] $row[3] $row[4] ΤΡΟΠΟΠΟΙΗΣΗ
\n"; +} + +###################### +# ADD=10000000000 display all phones +###################### +if ($ADD==10000000000) +{ +echo "
\n"; +echo ""; + +$EXTENlink='stage=EXTENDOWN'; +$PROTOlink='stage=PROTODOWN'; +$SERVERlink='stage=SERVERDOWN'; +$STATUSlink='stage=STATUSDOWN'; +$SQLorder='order by extension,server_ip'; +if (eregi("EXTENUP",$stage)) {$SQLorder='order by extension asc'; $EXTENlink='stage=EXTENDOWN';} +if (eregi("EXTENDOWN",$stage)) {$SQLorder='order by extension desc'; $EXTENlink='stage=EXTENUP';} +if (eregi("PROTOUP",$stage)) {$SQLorder='order by protocol asc'; $PROTOlink='stage=PROTODOWN';} +if (eregi("PROTODOWN",$stage)) {$SQLorder='order by protocol desc'; $PROTOlink='stage=PROTOUP';} +if (eregi("SERVERUP",$stage)) {$SQLorder='order by server_ip asc'; $SERVERlink='stage=SERVERDOWN';} +if (eregi("SERVERDOWN",$stage)) {$SQLorder='order by server_ip desc'; $SERVERlink='stage=SERVERUP';} +if (eregi("STATUSUP",$stage)) {$SQLorder='order by status asc'; $STATUSlink='stage=STATUSDOWN';} +if (eregi("STATUSDOWN",$stage)) {$SQLorder='order by status desc'; $STATUSlink='stage=STATUSUP';} + $stmt="SELECT * from phones $SQLorder"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
ΕΝΤΑΓΜΕΝΑ ΤΗΛΕΦΩΝΑ:\n"; +echo "
\n"; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "\n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + $o++; + } + +echo "
EXTENPROTOSERVERDIAL PLANΚΑΤΑΣΤΑΣΗΟΝΟΜΑVMAILLINKS
$row[0]$row[16]$row[5]$row[1]$row[2]$row[8]$row[11]$row[14]$row[15]ΤΡΟΠΟΠΟΙΗΣΗ | ΣΤΑΤΙΣΤΙΚΑ
\n"; +} + +###################### +# ADD=100000000000 display all servers +###################### +if ($ADD==100000000000) +{ +echo "\n";echo "\n"; +$stmt="SELECT admin_home_url from system_settings;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$admin_home_url_LU = $row[0]; + +?> +
+
\n"; + echo ""; + + $stmt="SELECT * from servers order by server_id"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
ΕΝΤΑΓΜΕΝΟΙ ΔΙΑΚΟΜΙΣΤΕΣ:\n"; +echo "
\n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0]$row[1] $row[2] $row[4] $row[3]  ΤΡΟΠΟΠΟΙΗΣΗ
\n"; +} + +###################### +# ADD=1000000000000 display all conferences +###################### +if ($ADD==1000000000000) +{ +echo "\r\n"; + print " \r\n"; + } + $rec_count++; + } +$sthA->finish(); + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/listloader_super.pl b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/listloader_super.pl new file mode 100644 index 00000000..167fff5e --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/listloader_super.pl @@ -0,0 +1,1086 @@ +#!/usr/bin/perl + +### listloader_super.pl version 0.4 *DBI-version* +### +### Copyright (C) 2007 Matt Florell,Joe Johnson LICENSE: GPLv2 +### +# +# +# CHANGES +# 60616-1548 - Added listID override feature to force all leads into same list +# - Added gmt_offset_now lookup for each lead +# 60811-1232 - Changed to DBI +# 60811-1329 - changed to use /etc/astguiclient.conf for configs +# 60906-1056 - added filter of non-digits in alt_phone field +# 61110-1229 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1207 - added postal code GMT lookup and duplicate check options +# 70205-1703 - Defaulted phone_code to 1 if not populated +# 70417-1059 - Fixed default phone_code bug +# 70510-1518 - Added campaign and system duplicate check and phonecode override +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n [-forcelistid=1234] = overrides the listID given in the file with the 1234\n [-h] = this help screen\n\n"; + + exit; + } + else + { + if ($args =~ /-duplicate-check/i) + {$dupcheck=1;} + if ($args =~ /-duplicate-campaign-check/i) + {$dupcheckcamp=1;} + if ($args =~ /-duplicate-system-check/i) + {$dupchecksys=1;} + if ($args =~ /-postal-code-gmt/i) + {$postalgmt=1;} + if ($args =~ /--forcelistid=/i) + { + @data_in = split(/--forcelistid=/,$args); + $forcelistid = $data_in[1]; + $forcelistid =~ s/ .*//gi; + print "\n----- FORCE LISTID OVERRIDE: $forcelistid -----\n\n"; + } + else + {$forcelistid = '';} + + if ($args =~ /--forcephonecode=/i) + { + @data_in = split(/--forcephonecode=/,$args); + $forcephonecode = $data_in[1]; + $forcephonecode =~ s/ .*//gi; + print "\n----- FORCE PHONECODE OVERRIDE: $forcephonecode -----\n\n"; + } + else + {$forcephonecode = '';} + + if ($args =~ /--lead-file=/i) + { + @data_in = split(/--lead-file=/,$args); + $lead_file = $data_in[1]; + $lead_file =~ s/ .*//gi; + # print "\n----- LEAD FILE: $lead_file -----\n\n"; + } + else + {$lead_file = './vicidial_temp_file.xls';} + } +} +### end parsing run-time options ### + +use Spreadsheet::ParseExcel; +use Time::Local; +use DBI; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +$vars=$ARGV[0]; +@xls_fields=split(/\,/, $vars); + +$|=0; +$secX = time(); + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$pulldate="$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + + ### Grab Server values from the database + $stmtA = "SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBSERVER_GMT = "$aryA[0]"; + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + $rec_count++; + } + $sthA->finish(); + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +if ($isdst) {$LOCAL_GMT_OFF++;} +if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + + + +$total=0; $good=0; $bad=0; +open(STMT_FILE, "> $PATHlogs/listloader_stmts.txt"); + +$oBook = Spreadsheet::ParseExcel::Workbook->Parse("$lead_file"); +my($iR, $iC, $oWkS, $oWkC); + +foreach $oWkS (@{$oBook->{Worksheet}}) { + for($iR = 0 ; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++) { + + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user = ""; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[0]]; + if ($oWkC) {$vendor_lead_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[1]]; + if ($oWkC) {$source_code=$oWkC->Value; } + $source_id=$source_code; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[2]]; + if ($oWkC) {$list_id=$oWkC->Value; } + $gmt_offset = '0'; + $called_since_last_reset='N'; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[3]]; + if ($oWkC) {$phone_code=$oWkC->Value; } + $phone_code=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[4]]; + if ($oWkC) {$phone_number=$oWkC->Value; } + $phone_number=~s/[^0-9]//g; + $USarea = substr($phone_number, 0, 3); + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[5]]; + if ($oWkC) {$title=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[6]]; + if ($oWkC) {$first_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[7]]; + if ($oWkC) {$middle_initial=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[8]]; + if ($oWkC) {$last_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[9]]; + if ($oWkC) {$address1=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[10]]; + if ($oWkC) {$address2=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[11]]; + if ($oWkC) {$address3=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[12]]; + if ($oWkC) {$city=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[13]]; + if ($oWkC) {$state=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[14]]; + if ($oWkC) {$province=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[15]]; + if ($oWkC) {$postal_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[16]]; + if ($oWkC) {$country_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[17]]; + if ($oWkC) {$gender=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[18]]; + if ($oWkC) {$date_of_birth=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[19]]; + if ($oWkC) {$alt_phone=$oWkC->Value; } + $alt_phone=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[20]]; + if ($oWkC) {$email=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[21]]; + if ($oWkC) {$security_phrase=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[22]]; + if ($oWkC) {$comments=$oWkC->Value; } + $comments=~s/^\s*(.*?)\s*$/$1/; + + + + if (length($forcelistid) > 0) + { + $list_id = $forcelistid; # set list_id to override value + } + if (length($forcephonecode) > 0) + { + $phone_code = $forcephonecode; # set phone_code to override value + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if ($dupchecksys > 0) + { + $dup_lead=0; + $stmtA = "select count(*) from vicidial_list where phone_number='$phone_number';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead = $aryA[0]; + $dup_lead_list=$list_id; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if ($dupcheck > 0) + { + $dup_lead=0; + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id='$list_id' limit 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = $aryA[0]; + $dup_lead++; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if ($dupcheckcamp > 0) + { + $dup_lead=0; + $dup_lists=''; + + $stmtA = "select count(*) from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $ci_recs = $aryA[0]; + $sthA->finish(); + if ($ci_recs > 0) + { + $stmtA = "select campaign_id from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $dup_camp = $aryA[0]; + $sthA->finish(); + + $stmtA = "select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lists .= "'$aryA[0]',"; + $rec_count++; + } + $sthA->finish(); + + chop($dup_lists); + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = "'$aryA[0]',"; + $rec_count++; + $dup_lead=1; + } + $sthA->finish(); + } + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + + if ( (length($phone_number)>6) && ($dup_lead < 1) ) + { + $phone_list .= "$phone_number$US$list_id|"; + $postalgmt_found=0; + if (length($phone_code)<1) {$phone_code = '1';} + + if ( ($postalgmt > 0) && (length($postal_code)>4) ) + { + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[2]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[3]; + $dst_range = $aryA[4]; + $PC_processed++; + $rec_count++; + $postalgmt_found++; + if ($DBX) {print " Postal GMT record found for $postal_code: |$gmt_offset|$dst|$dst_range|\n";} + } + $sthA->finish(); + } + } + if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### MEXICO ### + if ($phone_code =~ /^52$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### AUSTRALIA ### + if ($phone_code =~ /^61$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + } + + ### Find out if DST to raise the gmt offset ### + $AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); + $AC_localtime = ($secX + (3600 * $AC_GMT_diff)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($AC_localtime); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + $AC_processed=0; + + if ( (!$AC_processed) && ($dst_range =~ /SSM-FSN/) ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + &USACAN_dstcalc; + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSA-LSO/) ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + &NA_dstcalc; + if ($DBX) {print " DST: $NA_DST\n";} + if ($NA_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSM-LSO/) ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + &GBR_dstcalc; + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSO-LSM/) ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + &AUS_dstcalc; + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-LSM/) ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + &AUST_dstcalc; + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-TSM/) ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + &NZL_dstcalc; + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /TSO-LSF/) ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + &BZL_dstcalc; + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$area_GMT++;} + $AC_processed++; + } + if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| $dup_lead_list\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + sleep(1); +# flush(); + } + } +} + +if ($multi_insert_counter > 0) { + $stmtZ = "INSERT INTO vicidial_list values ".substr($multistmt, 0, -1).";"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; +} + +print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total"; + +exit; + + + + + + +sub USACAN_dstcalc { +#********************************************************************** +# SSM-FSN +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on Second Sunday March to First Sunday November at 2 am. +# INPUTS: +# mm INTEGER Month. +# dd INTEGER Day of the month. +# ns INTEGER Seconds into the day. +# dow INTEGER Day of week (0=Sunday, to 6=Saturday) +# OPTIONAL INPUT: +# timezone INTEGER hour difference UTC - local standard time +# (DEFAULT is blank) +# make calculations based on UTC time, +# which means shift at 10:00 UTC in April +# and 9:00 UTC in October +# OUTPUT: +# INTEGER 1 = DST, 0 = not DST +# +# S M T W T F S +# 1 2 3 4 5 6 7 +# 8 9 10 11 12 13 14 +#15 16 17 18 19 20 21 +#22 23 24 25 26 27 28 +#29 30 31 +# +# S M T W T F S +# 1 2 3 4 5 6 +# 7 8 9 10 11 12 13 +#14 15 16 17 18 19 20 +#21 22 23 24 25 26 27 +#28 29 30 31 +# +#********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 10) { + $USACAN_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; return 1; + } elsif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } + } else { + $USACAN_DST=0; return 0; + } + } elsif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; return 0; + } elsif ($dd < ($dow+1)) { + $USACAN_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } + } else { + $USACAN_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub NA_dstcalc { +#********************************************************************** +# FSA-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in April and last Sunday in October at 2 am. +#********************************************************************** + + $NA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $NA_DST=0; return 0; + } elsif ($mm >= 5 && $mm <= 9) { + $NA_DST=1; return 1; + } elsif ($mm == 4) { + if ($dd > 7) { + $NA_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } + } else { + $NA_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $NA_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $NA_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } + } else { + $NA_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub GBR_dstcalc { +#********************************************************************** +# LSM-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in March and last Sunday in October at 1 am. +#********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 9) { + $GBR_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $GBR_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } + } else { + $GBR_DST=1; return 1; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $GBR_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } + } else { + $GBR_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub AUS_dstcalc { +#********************************************************************** +# LSO-LSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUS_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUS_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } + } else { + $AUS_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $AUS_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } + } else { + $AUS_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub AUST_dstcalc { +#********************************************************************** +# FSO-LSM +# TASMANIA ONLY +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUST_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUST_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } + } else { + $AUST_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $AUST_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } + } else { + $AUST_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub NZL_dstcalc { +#********************************************************************** +# FSO-TSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and third Sunday in March at 1 am. +#********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $NZL_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; return 1; + } elsif ($dd < ($dow+14)) { + $NZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } + } else { + $NZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $NZL_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } + } else { + $NZL_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub BZL_dstcalc { +#********************************************************************** +# TSO-LSF +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. Brazil +# Based on Third Sunday October to Last Sunday February at 1 am. +#********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; return 1; + } elsif ($mm >= 3 && $mm <= 9) { + $BZL_DST=0; return 0; + } elsif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; return 1; + } elsif ($dd < ($dow+22)) { + $BZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } + } else { + $BZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; return 0; + } elsif ($dd < ($dow+22)) { + $BZL_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } + } else { + $BZL_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/new_listloader_superL.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/new_listloader_superL.php new file mode 100644 index 00000000..d3c0060d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/new_listloader_superL.php @@ -0,0 +1,2069 @@ + LICENSE: GPLv2 +# +# AST GUI lead loader from formatted file +# +# CHANGES +# 50602-1640 - First version created by Joe Johnson +# 51128-1108 - Removed PHP global vars requirement +# 60113-1603 - Fixed a few bugs in Excel import +# 60421-1624 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60616-1240 - added listID override +# 60616-1604 - added gmt lookup for each lead +# 60619-1651 - Added variable filtering to eliminate SQL injection attack threat +# 60822-1121 - fixed for nonwritable directories +# 60906-1100 - added filter of non-digits in alt_phone field +# 61110-1222 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1149 - added postal code GMT lookup and duplicate check options +# 70417-1059 - Fixed default phone_code bug +# 70510-1518 - Added campaign and system duplicate check and phonecode override +# +# make sure vicidial_list exists and that your file follows the formatting correctly. This page does not dedupe or do any other lead filtering actions yet at this time. + +$version = '2.0.4'; +$build = '70510-1518'; + + +require("dbconnect.php"); + +### links used for testing +#$link=mysql_connect("10.10.10.15", "cron", "1234"); +#mysql_select_db("asterisk"); +#$WeBServeRRooT = '/home/www/htdocs'; + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +$leadfile=$_FILES["leadfile"]; + $LF_orig = $_FILES['leadfile']['name']; + $LF_path = $_FILES['leadfile']['tmp_name']; +if (isset($_GET["submit_file"])) {$submit_file=$_GET["submit_file"];} + elseif (isset($_POST["submit_file"])) {$submit_file=$_POST["submit_file"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} +if (isset($_GET["leadfile_name"])) {$leadfile_name=$_GET["leadfile_name"];} + elseif (isset($_POST["leadfile_name"])) {$leadfile_name=$_POST["leadfile_name"];} +if (isset($_GET["file_layout"])) {$file_layout=$_GET["file_layout"];} + elseif (isset($_POST["file_layout"])) {$file_layout=$_POST["file_layout"];} +if (isset($_GET["OK_to_process"])) {$OK_to_process=$_GET["OK_to_process"];} + elseif (isset($_POST["OK_to_process"])) {$OK_to_process=$_POST["OK_to_process"];} +if (isset($_GET["vendor_lead_code_field"])) {$vendor_lead_code_field=$_GET["vendor_lead_code_field"];} + elseif (isset($_POST["vendor_lead_code_field"])) {$vendor_lead_code_field=$_POST["vendor_lead_code_field"];} +if (isset($_GET["source_id_field"])) {$source_id_field=$_GET["source_id_field"];} + elseif (isset($_POST["source_id_field"])) {$source_id_field=$_POST["source_id_field"];} +if (isset($_GET["list_id_field"])) {$list_id_field=$_GET["list_id_field"];} + elseif (isset($_POST["list_id_field"])) {$list_id_field=$_POST["list_id_field"];} +if (isset($_GET["phone_code_field"])) {$phone_code_field=$_GET["phone_code_field"];} + elseif (isset($_POST["phone_code_field"])) {$phone_code_field=$_POST["phone_code_field"];} +if (isset($_GET["phone_number_field"])) {$phone_number_field=$_GET["phone_number_field"];} + elseif (isset($_POST["phone_number_field"])) {$phone_number_field=$_POST["phone_number_field"];} +if (isset($_GET["title_field"])) {$title_field=$_GET["title_field"];} + elseif (isset($_POST["title_field"])) {$title_field=$_POST["title_field"];} +if (isset($_GET["first_name_field"])) {$first_name_field=$_GET["first_name_field"];} + elseif (isset($_POST["first_name_field"])) {$first_name_field=$_POST["first_name_field"];} +if (isset($_GET["middle_initial_field"])) {$middle_initial_field=$_GET["middle_initial_field"];} + elseif (isset($_POST["middle_initial_field"])) {$middle_initial_field=$_POST["middle_initial_field"];} +if (isset($_GET["last_name_field"])) {$last_name_field=$_GET["last_name_field"];} + elseif (isset($_POST["last_name_field"])) {$last_name_field=$_POST["last_name_field"];} +if (isset($_GET["address1_field"])) {$address1_field=$_GET["address1_field"];} + elseif (isset($_POST["address1_field"])) {$address1_field=$_POST["address1_field"];} +if (isset($_GET["address2_field"])) {$address2_field=$_GET["address2_field"];} + elseif (isset($_POST["address2_field"])) {$address2_field=$_POST["address2_field"];} +if (isset($_GET["address3_field"])) {$address3_field=$_GET["address3_field"];} + elseif (isset($_POST["address3_field"])) {$address3_field=$_POST["address3_field"];} +if (isset($_GET["city_field"])) {$city_field=$_GET["city_field"];} + elseif (isset($_POST["city_field"])) {$city_field=$_POST["city_field"];} +if (isset($_GET["state_field"])) {$state_field=$_GET["state_field"];} + elseif (isset($_POST["state_field"])) {$state_field=$_POST["state_field"];} +if (isset($_GET["province_field"])) {$province_field=$_GET["province_field"];} + elseif (isset($_POST["province_field"])) {$province_field=$_POST["province_field"];} +if (isset($_GET["postal_code_field"])) {$postal_code_field=$_GET["postal_code_field"];} + elseif (isset($_POST["postal_code_field"])) {$postal_code_field=$_POST["postal_code_field"];} +if (isset($_GET["country_code_field"])) {$country_code_field=$_GET["country_code_field"];} + elseif (isset($_POST["country_code_field"])) {$country_code_field=$_POST["country_code_field"];} +if (isset($_GET["gender_field"])) {$gender_field=$_GET["gender_field"];} + elseif (isset($_POST["gender_field"])) {$gender_field=$_POST["gender_field"];} +if (isset($_GET["date_of_birth_field"])) {$date_of_birth_field=$_GET["date_of_birth_field"];} + elseif (isset($_POST["date_of_birth_field"])) {$date_of_birth_field=$_POST["date_of_birth_field"];} +if (isset($_GET["alt_phone_field"])) {$alt_phone_field=$_GET["alt_phone_field"];} + elseif (isset($_POST["alt_phone_field"])) {$alt_phone_field=$_POST["alt_phone_field"];} +if (isset($_GET["email_field"])) {$email_field=$_GET["email_field"];} + elseif (isset($_POST["email_field"])) {$email_field=$_POST["email_field"];} +if (isset($_GET["security_phrase_field"])) {$security_phrase_field=$_GET["security_phrase_field"];} + elseif (isset($_POST["security_phrase_field"])) {$security_phrase_field=$_POST["security_phrase_field"];} +if (isset($_GET["comments_field"])) {$comments_field=$_GET["comments_field"];} + elseif (isset($_POST["comments_field"])) {$comments_field=$_POST["comments_field"];} +if (isset($_GET["list_id_override"])) {$list_id_override=$_GET["list_id_override"];} + elseif (isset($_POST["list_id_override"])) {$list_id_override=$_POST["list_id_override"];} + $list_id_override = (preg_replace("/\D/","",$list_id_override)); +if (isset($_GET["lead_file"])) {$lead_file=$_GET["lead_file"];} + elseif (isset($_POST["lead_file"])) {$lead_file=$_POST["lead_file"];} +if (isset($_GET["dupcheck"])) {$dupcheck=$_GET["dupcheck"];} + elseif (isset($_POST["dupcheck"])) {$dupcheck=$_POST["dupcheck"];} +if (isset($_GET["postalgmt"])) {$postalgmt=$_GET["postalgmt"];} + elseif (isset($_POST["postalgmt"])) {$postalgmt=$_POST["postalgmt"];} +if (isset($_GET["phone_code_override"])) {$phone_code_override=$_GET["phone_code_override"];} + elseif (isset($_POST["phone_code_override"])) {$phone_code_override=$_POST["phone_code_override"];} + $phone_code_override = (preg_replace("/\D/","",$phone_code_override)); + +# $country_field=$_GET["country_field"]; if (!$country_field) {$country_field=$_POST["country_field"];} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$list_id_override = ereg_replace("[^0-9]","",$list_id_override); + + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) {$fp = fopen ("./project_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-LEAD-LOADER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT load_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGload_leads =$row[0]; + + if ($LOGload_leads < 1) + { + echo "You do not have permissions to load leads\n"; + exit; + } + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + + +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +$admDIR = "$HTTPprotocol$server_name$script_name"; +$admDIR = eregi_replace('new_listloader_superL.php','',$admDIR); +$admSCR = 'admin.php'; +$NWB = "   \"ΒΟΗΘΕΙΑ\""; + +$secX = date("U"); +$hour = date("H"); +$min = date("i"); +$sec = date("s"); +$mon = date("m"); +$mday = date("d"); +$year = date("Y"); +$isdst = date("I"); +$Shour = date("H"); +$Smin = date("i"); +$Ssec = date("s"); +$Smon = date("m"); +$Smday = date("d"); +$Syear = date("Y"); +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + ### Grab Server GMT value from the database + $stmt="SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $rslt=mysql_query($stmt, $link); + $gmt_recs = mysql_num_rows($rslt); + if ($gmt_recs > 0) + { + $row=mysql_fetch_row($rslt); + $DBSERVER_GMT = "$row[0]"; + if (strlen($DBSERVER_GMT)>0) {$SERVER_GMT = $DBSERVER_GMT;} + if ($isdst) {$SERVER_GMT++;} + } + else + { + $SERVER_GMT = date("O"); + $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = ($SERVER_GMT + 0); + $SERVER_GMT = ($SERVER_GMT / 100); + } + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +#if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + + +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +function macfontfix($fontsize) { + + $browser = getenv("HTTP_USER_AGENT"); + $pctype = explode("(", $browser); + if (ereg("Mac",$pctype[1])) { + /* Browser is a Mac. If not Netscape 6, raise fonts */ + + $blownbrowser = explode('/', $browser); + $ver = explode(' ', $blownbrowser[1]); + $ver = $ver[0]; + if ($ver >= 5.0) return $fontsize; else return ($fontsize+2); + + } else return $fontsize; /* Browser is not a Mac - don't touch fonts */ +} + +echo "\n"; + +?> + + + +ΔΙΑΧΕΙΡΙΣΗ: Lead Loader + + +
method=post onSubmit="ParseFileName()" enctype="multipart/form-data"> + + +
\n"; + echo ""; + + $stmt="SELECT * from conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
ΕΝΤΑΓΜΕΝΕΣ ΣΥΝΔΙΑΛΕΞΕΙΣ:\n"; +echo "
\n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2]$row[4]  ΤΡΟΠΟΠΟΙΗΣΗ
\n"; +} + +###################### +# ADD=10000000000000 display all vicidial conferences +###################### +if ($ADD==10000000000000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
ΕΝΤΑΓΜΕΝΕΣ ΣΥΝΔΙΑΛΕΞΕΙΣ:\n"; +echo "
\n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2]$row[4]  ΤΡΟΠΟΠΟΙΗΣΗ
\n"; +} + +###################### +# ADD=999999 display reports section +###################### +if ($ADD==999999) +{ + if ($LOGview_reports==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + + $stmt="select * from servers;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $servers_to_print = mysql_num_rows($rslt); + $i=0; + while ($i < $servers_to_print) + { + $row=mysql_fetch_row($rslt); + $server_id[$i] = $row[0]; + $server_description[$i] = $row[1]; + $server_ip[$i] = $row[2]; + $active[$i] = $row[3]; + $i++; + } + + $stmt="SELECT enable_queuemetrics_logging,queuemetrics_url from system_settings;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging_LU = $row[0]; + $queuemetrics_url_LU = $row[1]; + + ?> + + + + + + VICIDIAL: Στατιστικά Διακομιστή and Reports + VICIDIAL: Στατιστικά Διακομιστή and Reports

+ +

+	
+	 $o)
+		{
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		$o++;
+		}
+
+	echo "
SERVERΠΕΡΙΓΡΑΦΗIP ADDRESSΕΝΕΡΓΟVDAD timePARK timeCLOSER/INBOUND time
$server_id[$o]$server_description[$o]$server_ip[$o]$active[$o]LINKLINKLINK
\n"; + } + else + { + echo "Δεν έχετε την άδεια να δείτε αυτήν την σελίδα\n"; + exit; + } +} + + + + + +echo "
\n"; + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n
\n"; + + +echo "\n\n\n


\nχρόνος εκτέλεσης διαδικασίας: $RUNtime seconds"; +echo "                   ΕΚΔΟΣΗ: $admin_version"; +echo "                   ΔΗΜΙΟΥΡΓΙΑ: $build
\n"; + + +?> + + +
+ + + +1) + { + if (strlen($dial_statuses)>2) + { + $g=0; + $p='13'; + $GMT_gmt[0] = ''; + $GMT_hour[0] = ''; + $GMT_day[0] = ''; + while ($p > -13) + { + $pzone=3600 * $p; + $pmin=(gmdate("i", time() + $pzone)); + $phour=( (gmdate("G", time() + $pzone)) * 100); + $pday=gmdate("w", time() + $pzone); + $tz = sprintf("%.2f", $p); + $GMT_gmt[$g] = "$tz"; + $GMT_day[$g] = "$pday"; + $GMT_hour[$g] = ($phour + $pmin); + $p = ($p - 0.25); + $g++; + } + + $stmt="SELECT * FROM vicidial_call_times where call_time_id='$local_call_time';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $Gct_default_start = "$rowx[3]"; + $Gct_default_stop = "$rowx[4]"; + $Gct_sunday_start = "$rowx[5]"; + $Gct_sunday_stop = "$rowx[6]"; + $Gct_monday_start = "$rowx[7]"; + $Gct_monday_stop = "$rowx[8]"; + $Gct_tuesday_start = "$rowx[9]"; + $Gct_tuesday_stop = "$rowx[10]"; + $Gct_wednesday_start = "$rowx[11]"; + $Gct_wednesday_stop = "$rowx[12]"; + $Gct_thursday_start = "$rowx[13]"; + $Gct_thursday_stop = "$rowx[14]"; + $Gct_friday_start = "$rowx[15]"; + $Gct_friday_stop = "$rowx[16]"; + $Gct_saturday_start = "$rowx[17]"; + $Gct_saturday_stop = "$rowx[18]"; + $Gct_state_call_times = "$rowx[19]"; + + $ct_states = ''; + $ct_state_gmt_SQL = ''; + $ct_srs=0; + $b=0; + if (strlen($Gct_state_call_times)>2) + { + $state_rules = explode('|',$Gct_state_call_times); + $ct_srs = ((count($state_rules)) - 2); + } + while($ct_srs >= $b) + { + if (strlen($state_rules[$b])>1) + { + $stmt="SELECT * from vicidial_state_call_times where state_call_time_id='$state_rules[$b]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Gstate_call_time_id = "$row[0]"; + $Gstate_call_time_state = "$row[1]"; + $Gsct_default_start = "$row[4]"; + $Gsct_default_stop = "$row[5]"; + $Gsct_sunday_start = "$row[6]"; + $Gsct_sunday_stop = "$row[7]"; + $Gsct_monday_start = "$row[8]"; + $Gsct_monday_stop = "$row[9]"; + $Gsct_tuesday_start = "$row[10]"; + $Gsct_tuesday_stop = "$row[11]"; + $Gsct_wednesday_start = "$row[12]"; + $Gsct_wednesday_stop = "$row[13]"; + $Gsct_thursday_start = "$row[14]"; + $Gsct_thursday_stop = "$row[15]"; + $Gsct_friday_start = "$row[16]"; + $Gsct_friday_stop = "$row[17]"; + $Gsct_saturday_start = "$row[18]"; + $Gsct_saturday_stop = "$row[19]"; + + $ct_states .="'$Gstate_call_time_state',"; + + $r=0; + $state_gmt=''; + while($r < $g) + { + if ($GMT_day[$r]==0) #### Sunday τοπικός χρόνος + { + if (($Gsct_sunday_start==0) and ($Gsct_sunday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_sunday_start) and ($GMT_hour[$r]<$Gsct_sunday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==1) #### Monday τοπικός χρόνος + { + if (($Gsct_monday_start==0) and ($Gsct_monday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_monday_start) and ($GMT_hour[$r]<$Gsct_monday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==2) #### Tuesday τοπικός χρόνος + { + if (($Gsct_tuesday_start==0) and ($Gsct_tuesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_tuesday_start) and ($GMT_hour[$r]<$Gsct_tuesday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==3) #### Wednesday τοπικός χρόνος + { + if (($Gsct_wednesday_start==0) and ($Gsct_wednesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_wednesday_start) and ($GMT_hour[$r]<$Gsct_wednesday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==4) #### Thursday τοπικός χρόνος + { + if (($Gsct_thursday_start==0) and ($Gsct_thursday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_thursday_start) and ($GMT_hour[$r]<$Gsct_thursday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==5) #### Friday τοπικός χρόνος + { + if (($Gsct_friday_start==0) and ($Gsct_friday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_friday_start) and ($GMT_hour[$r]<$Gsct_friday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==6) #### Saturday τοπικός χρόνος + { + if (($Gsct_saturday_start==0) and ($Gsct_saturday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_saturday_start) and ($GMT_hour[$r]<$Gsct_saturday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + $r++; + } + $state_gmt = "$state_gmt'99'"; + $ct_state_gmt_SQL .= "or (state='$Gstate_call_time_state' and gmt_offset_now IN($state_gmt)) "; + } + + $b++; + } + if (strlen($ct_states)>2) + { + $ct_states = eregi_replace(",$",'',$ct_states); + $ct_statesSQL = "and state NOT IN($ct_states)"; + } + else + { + $ct_statesSQL = ""; + } + + $r=0; + $default_gmt=''; + while($r < $g) + { + if ($GMT_day[$r]==0) #### Sunday τοπικός χρόνος + { + if (($Gct_sunday_start==0) and ($Gct_sunday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_sunday_start) and ($GMT_hour[$r]<$Gct_sunday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==1) #### Monday τοπικός χρόνος + { + if (($Gct_monday_start==0) and ($Gct_monday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_monday_start) and ($GMT_hour[$r]<$Gct_monday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==2) #### Tuesday τοπικός χρόνος + { + if (($Gct_tuesday_start==0) and ($Gct_tuesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_tuesday_start) and ($GMT_hour[$r]<$Gct_tuesday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==3) #### Wednesday τοπικός χρόνος + { + if (($Gct_wednesday_start==0) and ($Gct_wednesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_wednesday_start) and ($GMT_hour[$r]<$Gct_wednesday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==4) #### Thursday τοπικός χρόνος + { + if (($Gct_thursday_start==0) and ($Gct_thursday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_thursday_start) and ($GMT_hour[$r]<$Gct_thursday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==5) #### Friday τοπικός χρόνος + { + if (($Gct_friday_start==0) and ($Gct_friday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_friday_start) and ($GMT_hour[$r]<$Gct_friday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==6) #### Saturday τοπικός χρόνος + { + if (($Gct_saturday_start==0) and ($Gct_saturday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_saturday_start) and ($GMT_hour[$r]<$Gct_saturday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + $r++; + } + + $default_gmt = "$default_gmt'99'"; + $all_gmtSQL = "(gmt_offset_now IN($default_gmt) $ct_statesSQL) $ct_state_gmt_SQL"; + + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) - 0); + $Dsql = ''; + $o=0; + while ($Ds_to_print > $o) + { + $o++; + $Dsql .= "'$Dstatuses[$o]',"; + } + $Dsql = preg_replace("/,$/","",$Dsql); + + $stmt="SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $fSQL"; + #$DB=1; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rslt_rows = mysql_num_rows($rslt); + if ($rslt_rows) + { + $rowx=mysql_fetch_row($rslt); + $active_leads = "$rowx[0]"; + } + else {$active_leads = '0';} + + echo "|$DB|\n"; + echo "Αυτή η εκστρατεία έχει$active_leads οδηγοί που καλούντε στις λίστες\n"; + } + else + { + echo "καμία θέση πινάκων που επιλέγεται για αυτήν την εκστρατεία\n"; + } + } + else + { + echo "δεν έχουν επιλεχθεί ενεργές λίστες για την εκστρατεία\n"; + } + } +else + { + echo "δεν έχουν επιλεχθεί ενεργές λίστες για την εκστρατεία\n"; + } +##### END calculate what gmt_offset_now values are within the allowed local_call_time setting ### +} +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/admin_modify_lead.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/admin_modify_lead.php new file mode 100644 index 00000000..76af1164 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/admin_modify_lead.php @@ -0,0 +1,610 @@ + LICENSE: GPLv2 +# + +# CHANGES +# +# 70702-1259 - Added recording location link and truncation +# 70906-2132 - Added closer_log records display +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];} + elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];} + elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];} + elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];} + elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];} +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["security"])) {$security=$_GET["security"];} + elseif (isset($_POST["security"])) {$security=$_POST["security"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} +if (isset($_GET["CBchangeUSERtoANY"])) {$CBchangeUSERtoANY=$_GET["CBchangeUSERtoANY"];} + elseif (isset($_POST["CBchangeUSERtoANY"])) {$CBchangeUSERtoANY=$_POST["CBchangeUSERtoANY"];} +if (isset($_GET["CBchangeUSERtoUSER"])) {$CBchangeUSERtoUSER=$_GET["CBchangeUSERtoUSER"];} + elseif (isset($_POST["CBchangeUSERtoUSER"])) {$CBchangeUSERtoUSER=$_POST["CBchangeUSERtoUSER"];} +if (isset($_GET["CBchangeANYtoUSER"])) {$CBchangeANYtoUSER=$_GET["CBchangeANYtoUSER"];} + elseif (isset($_POST["CBchangeANYtoUSER"])) {$CBchangeANYtoUSER=$_POST["CBchangeANYtoUSER"];} +if (isset($_GET["callback_id"])) {$callback_id=$_GET["callback_id"];} + elseif (isset($_POST["callback_id"])) {$callback_id=$_POST["callback_id"];} +if (isset($_GET["CBuser"])) {$CBuser=$_GET["CBuser"];} + elseif (isset($_POST["CBuser"])) {$CBuser=$_POST["CBuser"];} +if (isset($_GET["modify_logs"])) {$modify_logs=$_GET["modify_logs"];} + elseif (isset($_POST["modify_logs"])) {$modify_logs=$_POST["modify_logs"];} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + + +### AST GUI database administration modify lead in vicidial_list +### admin_modify_lead.php + +# this is the administration lead information modifier screen, the administrator just needs to enter the leadID and then they can view and modify the information in the record for that lead + +# CHANGES +# +# 60419-1705 - Added ability to change lead callback record from USERONLY to ANYONE or USERONLY-user +# 60421-1459 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60609-1112 - Added DNC list addition if status changed to DNC +# 60619-1539 - Added variable filtering to eliminate SQL injection attack threat +# 61130-1639 - Added recording_log lookup and list for this lead_id +# 61201-1136 - Added recording_log user(TSR) display and link +# 70305-1133 - Changed to default CHECKED modify logs upon status change +# 70424-1128 - Added campaign-specific statuses, reformatted recordings list +# + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and modify_leads='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name,modify_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + + + +ΔΙΑΧΕΙΡΙΣΗ: Τροποποίηση οδηγού + + +
+ΔΙΑΧΕΙΡΙΣΗ: Τροποποίηση οδηγού
\n"; + +if ($end_call > 0) +{ + +$call_length = ($STARTtime - $call_began); + + ### insert a NEW record to the vicidial_closer_log table + $stmt="INSERT INTO vicidial_closer_log (lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed) values('" . mysql_real_escape_string($lead_id) . "','" . mysql_real_escape_string($list_id) . "','" . mysql_real_escape_string($campaign_id) . "','" . mysql_real_escape_string($parked_time) . "','" . mysql_real_escape_string($call_began) . "','$STARTtime','" . mysql_real_escape_string($call_length) . "','" . mysql_real_escape_string($status) . "','" . mysql_real_escape_string($phone_code) . "','" . mysql_real_escape_string($phone_number) . "','$PHP_AUTH_USER','" . mysql_real_escape_string($comments) . "','Y')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + ### update the lead record in the vicidial_list table + $stmt="UPDATE vicidial_list set status='" . mysql_real_escape_string($status) . "',first_name='" . mysql_real_escape_string($first_name) . "',last_name='" . mysql_real_escape_string($last_name) . "',address1='" . mysql_real_escape_string($address1) . "',address2='" . mysql_real_escape_string($address2) . "',address3='" . mysql_real_escape_string($address3) . "',city='" . mysql_real_escape_string($city) . "',state='" . mysql_real_escape_string($state) . "',province='" . mysql_real_escape_string($province) . "',postal_code='" . mysql_real_escape_string($postal_code) . "',country_code='" . mysql_real_escape_string($country_code) . "',alt_phone='" . mysql_real_escape_string($alt_phone) . "',email='" . mysql_real_escape_string($email) . "',security_phrase='" . mysql_real_escape_string($security) . "',comments='" . mysql_real_escape_string($comments) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "οι πληροφορίες τροποποιήθηκαν

\n"; + echo "\n"; + + if ( ($dispo != $status) and ($dispo == 'CBHOLD') ) + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status='ACTIVE';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
vicidial_callback record inactivated: $lead_id
\n"; + } + if ( ($dispo != $status) and ($dispo == 'CALLBK') ) + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
vicidial_callback record inactivated: $lead_id
\n"; + } + + if ( ($dispo != $status) and ($status == 'DNC') ) + { + ### add lead to the internal DNC list + $stmt="INSERT INTO vicidial_dnc (phone_number) values('" . mysql_real_escape_string($phone_number) . "');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
Lead added to DNC List: $lead_id - $phone_number
\n"; + } + ### update last record in vicidial_agent_log and vicidial_log tables + if (($dispo != $status) and ($modify_logs > 0)) + { + $stmt="UPDATE vicidial_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by call_date desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_agent_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by agent_log_id desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + +} +else +{ + + if ($CBchangeUSERtoANY == 'YES') + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set recipient='ANYONE' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
vicidial_callback record changed to ANYONE
\n"; + } + if ($CBchangeUSERtoUSER == 'YES') + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
vicidial_callback record user changed to $CBuser
\n"; + } + if ($CBchangeANYtoUSER == 'YES') + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "',recipient='USERONLY' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
vicidial_callback record changed to USERONLY, user: $CBuser
\n"; + } + + + + $stmt="SELECT count(*) from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_count = $row[0]; + + if ($lead_count > 0) + { + + $stmt="select * from vicidial_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by uniqueid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + $call_log = ''; + $log_campaign = ''; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (strlen($log_campaign)<1) {$log_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + $call_log .= "
"; + $call_log .= ""; + $call_log .= ""; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + + } + + $stmt="select * from vicidial_closer_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by closecallid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $Clogs_to_print = mysql_num_rows($rslt); + + $y=0; + $closer_log = ''; + $Clog_campaign = ''; + while ($Clogs_to_print > $y) + { + $row=mysql_fetch_row($rslt); + if (strlen($Clog_campaign)<1) {$Clog_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + + } + + $stmt="SELECT * from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_id = "$row[0]"; + $dispo = "$row[3]"; + $tsr = "$row[4]"; + $vendor_id = "$row[5]"; + $list_id = "$row[7]"; + $campaign_id = "$row[8]"; + $phone_code = "$row[10]"; + $phone_number = "$row[11]"; + $title = "$row[12]"; + $first_name = "$row[13]"; # + $middle_initial = "$row[14]"; + $last_name = "$row[15]"; # + $address1 = "$row[16]"; # + $address2 = "$row[17]"; # + $address3 = "$row[18]"; # + $city = "$row[19]"; # + $state = "$row[20]"; # + $province = "$row[21]"; # + $postal_code = "$row[22]"; # + $country_code = "$row[23]"; # + $gender = "$row[24]"; + $date_of_birth = "$row[25]"; + $alt_phone = "$row[26]"; # + $email = "$row[27]"; # + $security = "$row[28]"; # + $comments = "$row[29]"; # + + echo "
Πληροφορίες Κλήσης: $first_name $last_name - $phone_number

\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
$u$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1]
$y$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1]   $row[14]
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + + echo "\n"; + echo "
Vendor ID: $vendor_id     Lead ID: $lead_id
Fronter: $tsr     ID Λίστας: $list_id
Ονομα:   \n"; + echo " Επίθετο:
Διεύθυνση 1 :
Διεύθυνση 2 :
Διεύθυνση 3 :
Πόλη :
Κράτος:   \n"; + echo "Ταχ.Κωδ.
Χώρα :
Εναλ Τηλέφωνο :
Ασφάλεια :
Σχόλια :
Τερματισμός: (with $log_campaign statuses)
Modify agent and vicidial logs
\n"; + echo "


\n"; + + if ( ($dispo == 'CALLBK') or ($dispo == 'CBHOLD') ) + { + ### find any vicidial_callback records for this lead + $stmt="select * from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CB_to_print = mysql_num_rows($rslt); + $rowx=mysql_fetch_row($rslt); + + if ($CB_to_print>0) + { + if ($rowx[9] == 'USERONLY') + { + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

\n"; + + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UserID: \n"; + echo "

\n"; + } + else + { + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UserID: \n"; + echo "

\n"; + } + } + else + { + echo "
No Callback records found
\n"; + } + } + + + + + + + } + else + { + echo "ΑΠΟΤΥΧΙΑ ψαξίματος καθοδήγησης για lead_id $lead_id       $NOW_TIME\n

\n"; +# echo "Close this window\n

\n"; + } + + + +echo "

\n"; + +echo "
\n"; + +echo "Κλήσεις για αυτόν τον οδηγό:\n"; +echo "\n"; +echo "\n"; + + echo "$call_log\n"; + +echo "
# DATE/TIME LENGTH STATUS TSRΕΚΣΤΡΑΤΕΙΑ LIST LEAD
\n"; +echo "

\n"; + +echo "CLOSER RECORDS FOR THIS LEAD:\n"; +echo "\n"; +echo "\n"; + + echo "$closer_log\n"; + +echo "
# DATE/TIME LENGTH STATUS TSRΕΚΣΤΡΑΤΕΙΑ LIST LEAD WAIT
\n"; +echo "

\n"; + + +echo "RECORDINGS FOR THIS LEAD:\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from recording_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by recording_id desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $location = $row[11]; + if (strlen($location)>30) + {$locat = substr($location,0,27); $locat = "$locat...";} + else + {$locat = $location;} + if (eregi("http",$location)) + {$location = "$locat";} + else + {$location = $locat;} + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + + } + + +echo "
# LEADDATE/TIME SECONDS   RECIDFILENAMELOCATIONTSR
$u $row[12] $row[4] $row[8] $row[0]   $row[10] $location $row[13]
\n"; + + + + +} + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nχρόνος εκτέλεσης διαδικασίας: $RUNtime seconds
"; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/admin_search_lead.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/admin_search_lead.php new file mode 100644 index 00000000..01549ba9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/admin_search_lead.php @@ -0,0 +1,225 @@ + LICENSE: GPLv2 +### +### AST GUI database administration search for lead info +### admin_modify_lead.php +# +# this is the administration lead information modifier screen, the administrator just needs to enter the leadID and then they can view and modify the information in the record for that lead +# +# changes: +# 60620-1055 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# - Changed results to multi-record +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and modify_leads='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name,modify_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + + + +ΔΙΑΧΕΙΡΙΣΗ: Αναζήτηση Οδηγού + +Ψάξιμο Καθοδήγησης + + +ΔΙΑΧΕΙΡΙΣΗ: Lead search
\n"; + + +if ( (!$vendor_id) and (!$phone) and (!$lead_id) ) + { + echo date("l F j, Y G:i:s A"); + echo "\n

\n"; + echo "
\n"; + echo "\n"; + echo "Παρακαλώ καταχωρήστε:
Vendor ID(αυτόματος κωδικός καθοδήγησης): or \n"; + echo "
ένας αριθμός τηλεφώνου σπιτιού or\n"; + echo "
ID οδηγού

\n"; + echo "
\n"; + echo "\n
\n"; + echo "\n"; + exit; + } + +else + { + + if ($vendor_id) + { + $stmt="SELECT * from vicidial_list where vendor_lead_code='" . mysql_real_escape_string($vendor_id) . "' order by modify_date desc limit 1000"; + } + else + { + if ($phone) + { + $stmt="SELECT * from vicidial_list where phone_number='" . mysql_real_escape_string($phone) . "' order by modify_date desc limit 1000"; + } + else + { + if ($lead_id) + { + $stmt="SELECT * from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "' order by modify_date desc limit 1000"; + } + else + { + print "ERROR: you must search for something! Go back and search for something"; + exit; + } + } + } + if ($DB) + { + echo "\n\n$stmt\n\n"; + } + + $rslt=mysql_query($stmt, $link); + $results_to_print = mysql_num_rows($rslt); + if ($results_to_print < 1) + { + echo date("l F j, Y G:i:s A"); + echo "\n

\n"; + echo "Οι μεταβλητές αναζήτησης που καταχωρήσατε δεν είναι ενεργές στο σύστημα

\n"; + echo "Παρακαλώ, επιστρέψτε πίσω και ελέγξτε τις πληροφορίες που καταχωρήσατε και προσπαθήστε πάλι\n"; + echo "
\n"; + echo "\n"; + exit; + } + else + { + echo "RESULTS: $results_to_print

\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $o=0; + while ($results_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $o++; + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + echo "
#LEAD IDΚΑΤΑΣΤΑΣΗVENDOR IDLAST AGENTID ΛΙΣΤΑΣPHONEΟΝΟΜΑCITYSECURITYLAST CALL
$o$row[0]$row[3]$row[5]$row[4]$row[7]$row[11]$row[13] $row[15]$row[19]$row[28]$row[2]
\n"; + } + } + + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\nΝΕΑ ΑΝΑΖΗΤΗΣΗ"; + + +echo "\n\n\n


\nχρόνος εκτέλεσης διαδικασίας: $RUNtime seconds"; + + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/count.htm b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/count.htm new file mode 100644 index 00000000..51f8a361 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/count.htm @@ -0,0 +1 @@ + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/dbconnect.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/dbconnect.php new file mode 100644 index 00000000..5247e166 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/dbconnect.php @@ -0,0 +1,49 @@ + LICENSE: GPLv2 +# +if ( file_exists("/etc/astguiclient.conf") ) +{ +$DBCagc = file("/etc/astguiclient.conf"); +foreach ($DBCagc as $DBCline) + { + $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); + if (ereg("^PATHlogs", $DBCline)) + {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} + if (ereg("^PATHweb", $DBCline)) + {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} + if (ereg("^VARDB_server", $DBCline)) + {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} + if (ereg("^VARDB_database", $DBCline)) + {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} + if (ereg("^VARDB_user", $DBCline)) + {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} + if (ereg("^VARDB_pass", $DBCline)) + {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} + if (ereg("^VARDB_port", $DBCline)) + {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} + } + +} +else +{ +#defaults for DB connection +$VARDB_server = 'localhost'; +$VARDB_user = 'cron'; +$VARDB_pass = '1234'; +$VARDB_database = '1234'; +$WeBServeRRooT = '/usr/local/apache2/htdocs'; +} + +$link=mysql_connect("$VARDB_server", "$VARDB_user", "$VARDB_pass"); +mysql_select_db("$VARDB_database"); + +$local_DEF = 'Local/'; +$conf_silent_prefix = '7'; +$local_AMP = '@'; +$ext_context = 'demo'; +$recording_exten = '8309'; +$WeBRooTWritablE = '1'; +$non_latin = '0'; # set to 1 for UTF rules + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/group_hourly_stats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/group_hourly_stats.php new file mode 100644 index 00000000..1f85a0e6 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/group_hourly_stats.php @@ -0,0 +1,252 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60620-1014 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["date_with_hour"])) {$date_with_hour=$_GET["date_with_hour"];} + elseif (isset($_POST["date_with_hour"])) {$date_with_hour=$_POST["date_with_hour"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$date_with_hour_default = date("Y-m-d H"); +$date_no_hour_default = $TODAY; + +if (!isset($date_with_hour)) {$date_with_hour = $date_with_hour_default;} + $date_no_hour = $date_with_hour; + $date_no_hour = eregi_replace(" ([0-9]{2})",'',$date_no_hour); +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + +# $stmt="SELECT full_name from vicidial_users where user='$user';"; +# $rslt=mysql_query($stmt, $link); +# $row=mysql_fetch_row($rslt); +# $full_name = $row[0]; + + } + + + + +?> + + +ΔΙΑΧΕΙΡΙΣΗ: Ομαδοποιημένα Ωριαία Στατιστικά +\n"; +?> + + +
+ + + + + += '" . mysql_real_escape_string($date_with_hour) . ":00:00' and call_date <= '" . mysql_real_escape_string($date_with_hour) . ":59:59' and user='$VDuser[$o]';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VDtotal[$o] = "$row[0]"; + + $stmt="select count(*) from vicidial_log where call_date >= '" . mysql_real_escape_string($date_no_hour) . " 00:00:00' and call_date <= '" . mysql_real_escape_string($date_no_hour) . " 23:59:59' and user='$VDuser[$o]' and status='" . mysql_real_escape_string($status) . "';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VDday[$o] = "$row[0]"; + + $stmt="select count(*) from vicidial_log where call_date >= '" . mysql_real_escape_string($date_with_hour) . ":00:00' and call_date <= '" . mysql_real_escape_string($date_with_hour) . ":59:59' and user='$VDuser[$o]' and status='" . mysql_real_escape_string($status) . "';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VDcount[$o] = "$row[0]"; + $o++; + } + +echo "
" ?>   ΔΙΑΧΕΙΡΙΣΗ: Ομαδοποιημένα Ωριαία Στατιστικά  
\n"; + +echo "
\n"; + +echo "ΜΕΤΡΗΣΗ ΩΡΩΝ TSR: $group | $status | $date_with_hour | $date_no_hour\n"; + +echo "
\n"; +echo "\n"; + + $day_calls=0; + $hour_calls=0; + $total_calls=0; + $o=0; + while($o < $tsrs_to_print) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $total_calls = ($total_calls + $VDtotal[$o]); + $hour_calls = ($hour_calls + $VDcount[$o]); + $day_calls = ($day_calls + $VDday[$o]); + + $o++; + } + +echo "\n"; + + +} + +echo "
TSR ID   $status   ΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣ   $status DAY    
$VDuser[$o] $VDname[$o] $VDcount[$o] $VDtotal[$o] $VDday[$o]ΤΡΟΠΟΠΟΙΗΣΗ | ΣΤΑΤΙΣΤΙΚΑ
TOTAL $status $hour_calls $total_calls $day_calls
\n"; +echo "

\n"; + + + echo "
Παρακαλώ, καταχωρήστε την ομάδα για την οποία θέλετε στατιστικά ανά ώρα:
\n"; + echo "\n"; + echo "group:
\n"; + echo "status:   (example: XFER)
\n"; + echo "date with hour:   (example: 2004-06-25 14)
\n"; + echo "\n"; + echo "


\n"; + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nχρόνος εκτέλεσης διαδικασίας: $RUNtime seconds
"; + + +?> + + +
+ + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/help.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/help.gif new file mode 100644 index 0000000000000000000000000000000000000000..5575d7c8761954a943a67f99265cc408edfeca37 GIT binary patch literal 492 zcmV@K zrlzK7XlVcc{(zdZkfy!h=k1@f#?ad1KW2>Z^Y)^mqV4VLXlQ0|jj7+?-?g=~@9*#a z|NoMak9c=?>FMXq%*)5e#og%my1BWCh=?#*gAYJ&zrMYsqoV%*{r~>|{{H^||Nj6p zX13G(A^8LW002J#EC2ui02BZe000L6z@KnPEE=r$6g+ktoje(cAZZc{4nh|!Jvux)X@@=m zC21-y7sABGX&Z<(B|AJC&(S}$JRWB|DXBdgJUkNs!9S#?9v(X*xM}G+D<}p+2b5_V z8b~1O;i1q87Yz;w5oDsk4s-&2^x#n-!huJTe#ntg$k2xm+8(U%L!-zT3@08O+Yv#+ i0XJ}rR3Wh7fCU;Dx+Ew$Wrh+7CQhJ)nL_kP5CA(E_TC-< literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/listloader.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/listloader.php new file mode 100644 index 00000000..234b2be7 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/listloader.php @@ -0,0 +1,926 @@ + LICENSE: GPLv2 +# +# AST Web GUI lead loader from formatted file +# +# CHANGES +# 50602-1640 - First version created by Joe Johnson +# 51128-1108 - Removed PHP global vars requirement +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60616-1006 - added listID override and gmt_offset lookup while loading +# 60619-1652 - Added variable filtering to eliminate SQL injection attack threat +# 60822-1105 - fixed for nonwritable directories +# 60906-1059 - added filter of non-digits in alt_phone field +# 61110-1222 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1046 - added postal code GMT lookup and duplicate check options +# 70205-1703 - Defaulted phone_code to 1 if not populated +# 70417-1059 - Fixed default phone_code bug +# +# make sure vicidial_list exists and that your file follows the formatting correctly. This page does not dedupe or do any other lead filtering actions yet at this time. +# + +$version = '2.0.3'; +$build = '770417-1059'; + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +$leadfile=$_FILES["leadfile"]; + $LF_orig = $_FILES['leadfile']['name']; + $LF_path = $_FILES['leadfile']['tmp_name']; +$submit_file=$_GET["submit_file"]; if (!$submit_file) {$submit_file=$_POST["submit_file"];} +$list_id_override=$_GET["list_id_override"]; if (!$list_id_override) {$list_id_override=$_POST["list_id_override"];} + $list_id_override = (preg_replace("/\D/","",$list_id_override)); +$submit=$_GET["submit"]; if (!$submit) {$submit=$_POST["submit"];} +$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"]; if (!$ΕΠΙΒΕΒΑΙΩΣΗ) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} +if (isset($_GET["dupcheck"])) {$dupcheck=$_GET["dupcheck"];} + elseif (isset($_POST["dupcheck"])) {$dupcheck=$_POST["dupcheck"];} +if (isset($_GET["postalgmt"])) {$postalgmt=$_GET["postalgmt"];} + elseif (isset($_POST["postalgmt"])) {$postalgmt=$_POST["postalgmt"];} + + +#$DB=1; +#$DBX=1; + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$list_id_override = ereg_replace("[^0-9]","",$list_id_override); + + +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +$admDIR = "$HTTPprotocol$server_name$script_name"; +$admDIR = eregi_replace('listloader.php','',$admDIR); +$admSCR = 'admin.php'; +$NWB = "   \"ΒΟΗΘΕΙΑ\""; + + +$secX = date("U"); +$hour = date("H"); +$min = date("i"); +$sec = date("s"); +$mon = date("m"); +$mday = date("d"); +$year = date("Y"); +$isdst = date("I"); +$Shour = date("H"); +$Smin = date("i"); +$Ssec = date("s"); +$Smon = date("m"); +$Smday = date("d"); +$Syear = date("Y"); +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + ### Grab Server GMT value from the database + $stmt="SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $rslt=mysql_query($stmt, $link); + $gmt_recs = mysql_num_rows($rslt); + if ($gmt_recs > 0) + { + $row=mysql_fetch_row($rslt); + $DBSERVER_GMT = "$row[0]"; + if (strlen($DBSERVER_GMT)>0) {$SERVER_GMT = $DBSERVER_GMT;} + if ($isdst) {$SERVER_GMT++;} + } + else + { + $SERVER_GMT = date("O"); + $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = ($SERVER_GMT + 0); + $SERVER_GMT = ($SERVER_GMT / 100); + } + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +#if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + +?> + + + + + + method=post enctype="multipart/form-data"> +
+ + + + + + + + + + + + + + + + + + + + + +
Εισαγωγή οδηγών από αυτό το αρχείο:
ID Λίστας Override: (μόνο αριθμοί or leave blank for values in the file)
Διπλός έλεγχος μολύβδου:
Συμβούλευση ζώνης χρονικής ανοχής:
ΕΠΙΛΕΞΤΕ ΕΔΩ ΓΙΑ ΝΑ ΠΑΤΕ ΣΤΟΝ ΠΡΟΗΓΜΕΝΟ ΕΙΣΑΓΩΓΕΑ ΟΔΗΓΩΝ (BETA ΕΚΔΟΣΗ)     ΠΙΣΩ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗ
+ +document.forms[0].leadfile.disabled=true; document.forms[0].submit_file.disabled=true; document.forms[0].reload_page.disabled=true;"; + flush(); + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"); + $lead_file = "./vicidial_temp_file.txt"; + } + else + { + $lead_file = "$LF_path"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + $pulldate=date("Y-m-d H:i:s"); + + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + + if (count($field_check)>=5) { + flush(); + $file=fopen("$lead_file", "r"); + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + print "
Επεξεργασία$delim_name-delimited file... ($tab_count|$pipe_count)\n"; + + if (strlen($list_id_override)>0) + { + print "

ID ΛΙΣΤΑΣ OVERRIDE FOR THIS FILE: $list_id_override

"; + } + + while (!feof($file)) { + $record++; + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + + if (strlen($buffer)>0) { + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + $vendor_lead_code = $row[0]; + $source_code = $row[1]; + $source_id=$source_code; + $list_id = $row[2]; + $phone_code = eregi_replace("[^0-9]", "", $row[3]); + $phone_number = eregi_replace("[^0-9]", "", $row[4]); + $USarea = substr($phone_number, 0, 3); + $title = $row[5]; + $first_name = $row[6]; + $middle_initial = $row[7]; + $last_name = $row[8]; + $address1 = $row[9]; + $address2 = $row[10]; + $address3 = $row[11]; + $city = $row[12]; + $state = $row[13]; + $province = $row[14]; + $postal_code = $row[15]; + $country = $row[16]; + $gender = $row[17]; + $date_of_birth = $row[18]; + $alt_phone = eregi_replace("[^0-9]", "", $row[19]); + $email = $row[20]; + $security_phrase = $row[21]; + $comments = trim($row[22]); + + if (strlen($list_id_override)>0) + { + # print "

ID ΛΙΣΤΑΣ OVERRIDE FOR THIS FILE: $list_id_override

"; + $list_id = $list_id_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table ##### + if (eregi("DUP",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + $US='_'; + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user = ""; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_list .= "$phone_number$US$list_id|"; + + if (strlen($phone_code)<1) {$phone_code = '1';} + + $postalgmt_found=0; + if ( (eregi("POSTAL",$postalgmt)) && (strlen($postal_code)>4) ) + { + if (preg_match('/^1$/', $phone_code)) + { + $stmt="select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[3]; + $dst_range = $row[4]; + $PC_processed++; + $postalgmt_found++; + $post++; + } + } + } + if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =='1') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### MEXICO ### + if ($phone_code =='52') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### AUSTRALIA ### + if ($phone_code =='61') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $PC_processed++; + $stmt="select * from vicidial_phone_codes where country_code='$phone_code';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + } + + ### Find out if DST to raise the gmt offset ### + $AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); + $AC_localtime = mktime(($Shour + $AC_GMT_diff), $Smin, $Ssec, $Smon, $Smday, $Syear); + $hour = date("H",$AC_localtime); + $min = date("i",$AC_localtime); + $sec = date("s",$AC_localtime); + $mon = date("m",$AC_localtime); + $mday = date("d",$AC_localtime); + $wday = date("w",$AC_localtime); + $year = date("Y",$AC_localtime); + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + $AC_processed=0; + if ( (!$AC_processed) and ($dst_range == 'SSM-FSN') ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + #********************************************************************** + # SSM-FSN + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on Second Sunday March to First Sunday November at 2 am. + # INPUTS: + # mm INTEGER Month. + # dd INTEGER Day of the month. + # ns INTEGER Seconds into the day. + # dow INTEGER Day of week (0=Sunday, to 6=Saturday) + # OPTIONAL INPUT: + # timezone INTEGER hour difference UTC - local standard time + # (DEFAULT is blank) + # make calculations based on UTC time, + # which means shift at 10:00 UTC in April + # and 9:00 UTC in October + # OUTPUT: + # INTEGER 1 = DST, 0 = not DST + # + # S M T W T F S + # 1 2 3 4 5 6 7 + # 8 9 10 11 12 13 14 + #15 16 17 18 19 20 21 + #22 23 24 25 26 27 28 + #29 30 31 + # + # S M T W T F S + # 1 2 3 4 5 6 + # 7 8 9 10 11 12 13 + #14 15 16 17 18 19 20 + #21 22 23 24 25 26 27 + #28 29 30 31 + # + #********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; + } elseif ($mm >= 4 and $mm <= 10) { + $USACAN_DST=1; + } elseif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; + } elseif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } + } else { + $USACAN_DST=0; + } + } elseif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; + } elseif ($dd < ($dow+1)) { + $USACAN_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } else { # τοπικός χρόνος calculations + if ($ns < 7200) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } + } else { + $USACAN_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$gmt_offset++;} + $AC_processed++; + } + + if ( (!$AC_processed) and ($dst_range == 'FSA-LSO') ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + #********************************************************************** + # FSA-LSO + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in April and last Sunday in October at 2 am. + #********************************************************************** + + $NA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $NA_DST=0; + } elseif ($mm >= 5 and $mm <= 9) { + $NA_DST=1; + } elseif ($mm == 4) { + if ($dd > 7) { + $NA_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $NA_DST=0; + } else { + $NA_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $NA_DST=0; + } else { + $NA_DST=1; + } + } + } else { + $NA_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $NA_DST=1; + } elseif ($dd < ($dow+25)) { + $NA_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $NA_DST=1; + } else { + $NA_DST=0; + } + } else { # τοπικός χρόνος calculations + if ($ns < 7200) { + $NA_DST=1; + } else { + $NA_DST=0; + } + } + } else { + $NA_DST=0; + } + } # end of month checks + + if ($DBX) {print " DST: $NA_DST\n";} + if ($NA_DST) {$gmt_offset++;} + $AC_processed++; + } + + if ( (!$AC_processed) and ($dst_range == 'LSM-LSO') ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in March and last Sunday in October at 1 am. + #********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; + } elseif ($mm >= 4 and $mm <= 9) { + $GBR_DST=1; + } elseif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; + } elseif ($dd < ($dow+25)) { + $GBR_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } else { # τοπικός χρόνος calculations + if ($ns < 3600) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } + } else { + $GBR_DST=1; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; + } elseif ($dd < ($dow+25)) { + $GBR_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } else { # τοπικός χρόνος calculations + if ($ns < 3600) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } + } else { + $GBR_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) and ($dst_range == 'LSO-LSM') ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUS_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; + } elseif ($dd < ($dow+25)) { + $AUS_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } else { # τοπικός χρόνος calculations + if ($ns < 3600) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } + } else { + $AUS_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; + } elseif ($dd < ($dow+25)) { + $AUS_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } else { # τοπικός χρόνος calculations + if ($ns < 3600) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } + } else { + $AUS_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + + if ( (!$AC_processed) and ($dst_range == 'FSO-LSM') ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + #********************************************************************** + # TASMANIA ONLY + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUST_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; + } elseif ($dd < ($dow+25)) { + $AUST_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } else { # τοπικός χρόνος calculations + if ($ns < 3600) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } + } else { + $AUST_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $AUST_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } + } else { + $AUST_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) and ($dst_range == 'FSO-TSM') ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and third Sunday in March at 1 am. + #********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $NZL_DST=0; + } elseif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; + } elseif ($dd < ($dow+14)) { + $NZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } else { # τοπικός χρόνος calculations + if ($ns < 3600) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } + } else { + $NZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $NZL_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } + } else { + $NZL_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + + if ( (!$AC_processed) and ($dst_range == 'TSO-LSF') ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + #********************************************************************** + # TSO-LSF + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. Brazil + # Based on Third Sunday October to Last Sunday February at 1 am. + #********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; + } elseif ($mm >= 3 and $mm <= 9) { + $BZL_DST=0; + } elseif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; + } elseif ($dd < ($dow+22)) { + $BZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } else { # τοπικός χρόνος calculations + if ($ns < 3600) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } + } else { + $BZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; + } elseif ($dd < ($dow+22)) { + $BZL_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } else { # τοπικός χρόνος calculations + if ($ns < 3600) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } + } else { + $BZL_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$gmt_offset++;} + $AC_processed++; + } + + if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } + else + { + if ($bad < 10) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) + { + print ""; + usleep(1000); + flush(); + } + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
DUPLICATE: $dup       POSTAL MATCH: $post
"; + + } else { + print "
Λάθος: Το αρχείο δεν έχει τον απαιτούμενο αριθμό πεδίων.
"; + } + print ""; +} else if (filesize($leadfile)>8388608) { + print "
Λάθος: Το αρχείο ξεπέρασε το όριο των 8ΜΒ.
"; +} +?> + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/listloader.pl b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/listloader.pl new file mode 100644 index 00000000..d926368b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/listloader.pl @@ -0,0 +1,1084 @@ +#!/usr/bin/perl + +### listloader.pl version 0.4 *DBI-version* +### +### Copyright (C) 2007 Matt Florell,Joe Johnson LICENSE: GPLv2 +### +# +# +# CHANGES +# 60616-1548 - Added listID override feature to force all leads into same list +# - Added gmt_offset_now lookup for each lead +# 60811-1232 - Changed to DBI +# 60811-1329 - changed to use /etc/astguiclient.conf for configs +# 60822-1121 - fixed for nonwritable directories +# 60906-1058 - added filter of non-digits in alt_phone field +# 61110-1229 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1215 - added postal code GMT lookup and duplicate check options +# 70205-1703 - Defaulted phone_code to 1 if not populated +# 70417-1059 - Fixed default phone_code bug +# 70510-1518 - Added campaign and system duplicate check and phonecode override +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n [-forcelistid=1234] = overrides the listID given in the file with the 1234\n [-h] = this help screen\n\n"; + + exit; + } + else + { + if ($args =~ /-duplicate-check/i) + {$dupcheck=1;} + if ($args =~ /-duplicate-campaign-check/i) + {$dupcheckcamp=1;} + if ($args =~ /-duplicate-system-check/i) + {$dupchecksys=1;} + if ($args =~ /-postal-code-gmt/i) + {$postalgmt=1;} + if ($args =~ /--forcelistid=/i) + { + @data_in = split(/--forcelistid=/,$args); + $forcelistid = $data_in[1]; + $forcelistid =~ s/ .*//gi; + print "\n----- FORCE LISTID OVERRIDE: $forcelistid -----\n\n"; + } + else + {$forcelistid = '';} + + if ($args =~ /--forcephonecode=/i) + { + @data_in = split(/--forcephonecode=/,$args); + $forcephonecode = $data_in[1]; + $forcephonecode =~ s/ .*//gi; + print "\n----- FORCE PHONECODE OVERRIDE: $forcephonecode -----\n\n"; + } + else + {$forcephonecode = '';} + + if ($args =~ /--lead-file=/i) + { + @data_in = split(/--lead-file=/,$args); + $lead_file = $data_in[1]; + $lead_file =~ s/ .*//gi; + # print "\n----- LEAD FILE: $lead_file -----\n\n"; + } + else + {$lead_file = './vicidial_temp_file.xls';} + } +} +### end parsing run-time options ### + + +use Spreadsheet::ParseExcel; +use Time::Local; +use DBI; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +$|=0; +$secX = time(); + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$pulldate="$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + + ### Grab Server values from the database + $stmtA = "SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBSERVER_GMT = "$aryA[0]"; + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + $rec_count++; + } + $sthA->finish(); + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +if ($isdst) {$LOCAL_GMT_OFF++;} +if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + + + +$total=0; $good=0; $bad=0; +print "
Processing Excel file...\n"; +open(STMT_FILE, "> $PATHlogs/listloader_stmts.txt"); + +$oBook = Spreadsheet::ParseExcel::Workbook->Parse("$lead_file"); +my($iR, $iC, $oWkS, $oWkC); + +foreach $oWkS (@{$oBook->{Worksheet}}) { + for($iR = 0 ; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++) { + + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user = ""; + $oWkC = $oWkS->{Cells}[$iR][0]; + if ($oWkC) {$vendor_lead_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][1]; + if ($oWkC) {$source_code=$oWkC->Value; } + $source_id=$source_code; + $oWkC = $oWkS->{Cells}[$iR][2]; + if ($oWkC) {$list_id=$oWkC->Value; } + $gmt_offset = '0'; + $called_since_last_reset='N'; + $oWkC = $oWkS->{Cells}[$iR][3]; + if ($oWkC) {$phone_code=$oWkC->Value; } + $phone_code=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][4]; + if ($oWkC) {$phone_number=$oWkC->Value; } + $phone_number=~s/[^0-9]//g; + $USarea = substr($phone_number, 0, 3); + $oWkC = $oWkS->{Cells}[$iR][5]; + if ($oWkC) {$title=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][6]; + if ($oWkC) {$first_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][7]; + if ($oWkC) {$middle_initial=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][8]; + if ($oWkC) {$last_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][9]; + if ($oWkC) {$address1=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][10]; + if ($oWkC) {$address2=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][11]; + if ($oWkC) {$address3=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][12]; + if ($oWkC) {$city=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][13]; + if ($oWkC) {$state=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][14]; + if ($oWkC) {$province=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][15]; + if ($oWkC) {$postal_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][16]; + if ($oWkC) {$country=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][17]; + if ($oWkC) {$gender=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][18]; + if ($oWkC) {$date_of_birth=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][19]; + if ($oWkC) {$alt_phone=$oWkC->Value; } + $alt_phone=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][20]; + if ($oWkC) {$email=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][21]; + if ($oWkC) {$security_phrase=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][22]; + if ($oWkC) {$comments=$oWkC->Value; } + $comments=~s/^\s*(.*?)\s*$/$1/; + + if (length($forcelistid) > 0) + { + $list_id = $forcelistid; # set list_id to override value + } + if (length($forcephonecode) > 0) + { + $phone_code = $forcephonecode; # set phone_code to override value + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if ($dupchecksys > 0) + { + $dup_lead=0; + $stmtA = "select count(*) from vicidial_list where phone_number='$phone_number';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead = $aryA[0]; + $dup_lead_list=$list_id; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if ($dupcheck > 0) + { + $dup_lead=0; + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id='$list_id' limit 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = $aryA[0]; + $dup_lead++; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if ($dupcheckcamp > 0) + { + $dup_lead=0; + $dup_lists=''; + + $stmtA = "select count(*) from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $ci_recs = $aryA[0]; + $sthA->finish(); + if ($ci_recs > 0) + { + $stmtA = "select campaign_id from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $dup_camp = $aryA[0]; + $sthA->finish(); + + $stmtA = "select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lists .= "'$aryA[0]',"; + $rec_count++; + } + $sthA->finish(); + + chop($dup_lists); + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = "'$aryA[0]',"; + $rec_count++; + $dup_lead=1; + } + $sthA->finish(); + } + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + + if ( (length($phone_number)>6) && ($dup_lead < 1) ) + { + $phone_list .= "$phone_number$US$list_id|"; + $postalgmt_found=0; + if (length($phone_code)<1) {$phone_code = '1';} + + if ( ($postalgmt > 0) && (length($postal_code)>4) ) + { + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[2]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[3]; + $dst_range = $aryA[4]; + $PC_processed++; + $rec_count++; + $postalgmt_found++; + if ($DBX) {print " Postal GMT record found for $postal_code: |$gmt_offset|$dst|$dst_range|\n";} + } + $sthA->finish(); + } + } + if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### MEXICO ### + if ($phone_code =~ /^52$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### AUSTRALIA ### + if ($phone_code =~ /^61$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + } + + ### Find out if DST to raise the gmt offset ### + $AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); + $AC_localtime = ($secX + (3600 * $AC_GMT_diff)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($AC_localtime); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + $AC_processed=0; + + if ( (!$AC_processed) && ($dst_range =~ /SSM-FSN/) ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + &USACAN_dstcalc; + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSA-LSO/) ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + &NA_dstcalc; + if ($DBX) {print " DST: $NA_DST\n";} + if ($NA_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSM-LSO/) ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + &GBR_dstcalc; + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSO-LSM/) ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + &AUS_dstcalc; + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-LSM/) ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + &AUST_dstcalc; + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-TSM/) ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + &NZL_dstcalc; + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /TSO-LSF/) ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + &BZL_dstcalc; + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$area_GMT++;} + $AC_processed++; + } + if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| $dup_lead_list\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + sleep(1); +# flush(); + } + } +} + +if ($multi_insert_counter > 0) { + $stmtZ = "INSERT INTO vicidial_list values ".substr($multistmt, 0, -1).";"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; +} + +print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
"; + +exit; + + + + + + +sub USACAN_dstcalc { +#********************************************************************** +# SSM-FSN +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on Second Sunday March to First Sunday November at 2 am. +# INPUTS: +# mm INTEGER Month. +# dd INTEGER Day of the month. +# ns INTEGER Seconds into the day. +# dow INTEGER Day of week (0=Sunday, to 6=Saturday) +# OPTIONAL INPUT: +# timezone INTEGER hour difference UTC - local standard time +# (DEFAULT is blank) +# make calculations based on UTC time, +# which means shift at 10:00 UTC in April +# and 9:00 UTC in October +# OUTPUT: +# INTEGER 1 = DST, 0 = not DST +# +# S M T W T F S +# 1 2 3 4 5 6 7 +# 8 9 10 11 12 13 14 +#15 16 17 18 19 20 21 +#22 23 24 25 26 27 28 +#29 30 31 +# +# S M T W T F S +# 1 2 3 4 5 6 +# 7 8 9 10 11 12 13 +#14 15 16 17 18 19 20 +#21 22 23 24 25 26 27 +#28 29 30 31 +# +#********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 10) { + $USACAN_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; return 1; + } elsif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } + } else { + $USACAN_DST=0; return 0; + } + } elsif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; return 0; + } elsif ($dd < ($dow+1)) { + $USACAN_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } + } else { + $USACAN_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub NA_dstcalc { +#********************************************************************** +# FSA-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in April and last Sunday in October at 2 am. +#********************************************************************** + + $NA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $NA_DST=0; return 0; + } elsif ($mm >= 5 && $mm <= 9) { + $NA_DST=1; return 1; + } elsif ($mm == 4) { + if ($dd > 7) { + $NA_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } + } else { + $NA_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $NA_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $NA_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } + } else { + $NA_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub GBR_dstcalc { +#********************************************************************** +# LSM-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in March and last Sunday in October at 1 am. +#********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 9) { + $GBR_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $GBR_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } + } else { + $GBR_DST=1; return 1; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $GBR_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } + } else { + $GBR_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub AUS_dstcalc { +#********************************************************************** +# LSO-LSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUS_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUS_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } + } else { + $AUS_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $AUS_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } + } else { + $AUS_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub AUST_dstcalc { +#********************************************************************** +# FSO-LSM +# TASMANIA ONLY +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUST_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUST_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } + } else { + $AUST_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $AUST_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } + } else { + $AUST_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub NZL_dstcalc { +#********************************************************************** +# FSO-TSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and third Sunday in March at 1 am. +#********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $NZL_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; return 1; + } elsif ($dd < ($dow+14)) { + $NZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } + } else { + $NZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $NZL_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } + } else { + $NZL_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub BZL_dstcalc { +#********************************************************************** +# TSO-LSF +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. Brazil +# Based on Third Sunday October to Last Sunday February at 1 am. +#********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; return 1; + } elsif ($mm >= 3 && $mm <= 9) { + $BZL_DST=0; return 0; + } elsif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; return 1; + } elsif ($dd < ($dow+22)) { + $BZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } + } else { + $BZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; return 0; + } elsif ($dd < ($dow+22)) { + $BZL_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } + } else { + $BZL_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/listloaderMAIN.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/listloaderMAIN.php new file mode 100644 index 00000000..a51563f1 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/listloaderMAIN.php @@ -0,0 +1,86 @@ + LICENSE: GPLv2 +# +# this is the main frame page for the lead loading section. This is where you +# would upload a file and have it inserted into vicidial_list +# +# changes: +# 60620-1149 - Added variable filtering to eliminate SQL injection attack threat +# 60822-1105 - fixed for nonwritable directories +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) {$fp = fopen ("./project_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-LEAD-LOADER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT load_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGload_leads =$row[0]; + + if ($LOGload_leads < 1) + { + echo "You do not have permissions to load leads\n"; + exit; + } + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + +VICIDIAL: Υπομονάδα εισαγωγής οδηγών + + + + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/listloader_rowdisplay.pl b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/listloader_rowdisplay.pl new file mode 100644 index 00000000..3f8695c0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/listloader_rowdisplay.pl @@ -0,0 +1,153 @@ +#!/usr/bin/perl + +### listloader_rowdisplay.pl version 0.2 *DBI-version* +### +### Copyright (C) 2006 Matt Florell,Joe Johnson LICENSE: GPLv2 +### +# +# CHANGES +# +# 60811-1232 - Changed to DBI +# 60811-1329 - changed to use /etc/astguiclient.conf for configs +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n [-forcelistid=1234] = overrides the listID given in the file with the 1234\n [-h] = this help screen\n\n"; + + exit; + } + else + { + if ($args =~ /-duplicate-check/i) + {$dupcheck=1;} + if ($args =~ /-postal-code-gmt/i) + {$postalgmt=1;} + if ($args =~ /--lead-file=/i) + { + @data_in = split(/--lead-file=/,$args); + $lead_file = $data_in[1]; + $lead_file =~ s/ .*//gi; + # print "\n----- LEAD FILE: $lead_file -----\n\n"; + } + else + {$lead_file = './vicidial_temp_file.xls';} + } +} +### end parsing run-time options ### + +use Spreadsheet::ParseExcel; +use Time::Local; +use DBI; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +$oBook = Spreadsheet::ParseExcel::Workbook->Parse("$lead_file"); +my($iR, $iC, $oWkS, $oWkC); +$var_str=""; + +foreach $oWkS (@{$oBook->{Worksheet}}) { + for(my $iC = $oWkS->{MinCol} ; defined $oWkS->{MaxCol} && $iC <= $oWkS->{MaxCol} ; $iC++) { + $oWkC = $oWkS->{Cells}[0][$iC]; + if ($oWkC) { + $var_str.=$oWkC->Value."|"; + } else { + $var_str.="|"; + } + } +} + +@xls_row=split(/\|/, $var_str); + + +$stmtA = "select vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments from vicidial_list limit 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + my $names = $sthA->{'NAME'}; + my $numFields = $sthA->{'NUM_OF_FIELDS'}; + for (my $i = 0; $i < $numFields; $i++) + { + # printf("%s%s", $i ? "," : "", $$names[$i]); + # printf("%s%s", $i ? "," : "", $$ref[$i]); + + $field_name=uc($$names[$i]); + $field_name=~s/\_/ /g; + print "
".$field_name.": \r\n"; + print " \r\n"; + print "
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Εισαγωγή οδηγών από αυτό το αρχείο:
ID Λίστας Override: (μόνο αριθμοί or leave blank for values in the file)
Phone Code Override: (μόνο αριθμοί or leave blank for values in the file)
Μορφή αρχείων για χρήση:Τυποποιημένο VICIDIAL    Εμφάνιση συνήθειας
Διπλός έλεγχος μολύβδου:
Συμβούλευση ζώνης χρονικής ανοχής:
        
        ΠΙΣΩ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗLIST LOADER-     ΕΚΔΟΣΗ:     ΔΗΜΙΟΥΡΓΙΑ:    
+ + +document.forms[0].leadfile.disabled=true;document.forms[0].list_id_override.disabled=true;document.forms[0].phone_code_override.disabled=true; document.forms[0].submit_file.disabled=true; document.forms[0].reload_page.disabled=true;"; + flush(); + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + + if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) { + # copy($leadfile, "./vicidial_temp_file.txt"); + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + { + $stmt_file=fopen("listloader_stmts.txt", "w"); + } + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + + if (count($field_check)>=5) { + flush(); + $file=fopen("$lead_file", "r"); + print "
Επεξεργασία$delim_name-delimited file...\n"; + + if (strlen($list_id_override)>0) + { + print "

ID ΛΙΣΤΑΣ OVERRIDE FOR THIS FILE: $list_id_override

"; + } + + if (strlen($phone_code_override)>0) + { + print "

ΣΥΜΠΛΗΡΩΜΑΤΙΚΗ ΠΡΟΜΉΘΕΙΑ ΤΗΛΕΦΩΝΙΚΟΥ ΚΩΔΙΚΑ ΓΙΑ ΑΥΤΟ ΤΟ ΑΡΧΕΙΟ: $phone_code_override

"; + } + + while (!feof($file)) { + $record++; + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + + if (strlen($buffer)>0) { + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[$vendor_lead_code_field]; + $source_code = $row[$source_id_field]; + $source_id=$source_code; + $list_id = $row[$list_id_field]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[$phone_code_field]); + $phone_number = eregi_replace("[^0-9]", "", $row[$phone_number_field]); + $USarea = substr($phone_number, 0, 3); + $title = $row[$title_field]; + $first_name = $row[$first_name_field]; + $middle_initial = $row[$middle_initial_field]; + $last_name = $row[$last_name_field]; + $address1 = $row[$address1_field]; + $address2 = $row[$address2_field]; + $address3 = $row[$address3_field]; + $city =$row[$city_field]; + $state = $row[$state_field]; + $province = $row[$province_field]; + $postal_code = $row[$postal_code_field]; + $country_code = $row[$country_code_field]; + $gender = $row[$gender_field]; + $date_of_birth = $row[$date_of_birth_field]; + $alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]); + $email = $row[$email_field]; + $security_phrase = $row[$security_phrase_field]; + $comments = trim($row[$comments_field]); + + if (strlen($list_id_override)>0) + { + # print "

ID ΛΙΣΤΑΣ OVERRIDE FOR THIS FILE: $list_id_override

"; + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + $dup_lead_list = $list_id; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead $dup_lead_list\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
"; + + } else { + print "
Λάθος: Το αρχείο δεν έχει τον απαιτούμενο αριθμό πεδίων.
"; + } + } else if (!eregi(".csv", $leadfile_name)) { + # copy($leadfile, "./vicidial_temp_file.xls"); + $file=fopen("$lead_file", "r"); + + print "
ΕπεξεργασίαExcel file... \n"; + if (strlen($list_id_override)>0) + { + print "

ID ΛΙΣΤΑΣ OVERRIDE FOR THIS FILE: $list_id_override

\n"; + } + if (strlen($phone_code_override)>0) + { + print "

ΣΥΜΠΛΗΡΩΜΑΤΙΚΗ ΠΡΟΜΉΘΕΙΑ ΤΗΛΕΦΩΝΙΚΟΥ ΚΩΔΙΚΑ ΓΙΑ ΑΥΤΟ ΤΟ ΑΡΧΕΙΟ: $phone_code_override

\n"; + } + # print "|$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override --lead_file=$lead_file|"; + $dupcheckCLI=''; $postalgmtCLI=''; + if (eregi("DUPLIST",$dupcheck)) {$dupcheckCLI='--duplicate-check';} + if (eregi("DUPCAMP",$dupcheck)) {$dupcheckCLI='--duplicate-campaign-check';} + if (eregi("DUPSYS",$dupcheck)) {$dupcheckCLI='--duplicate-system-check';} + if (eregi("POSTAL",$postalgmt)) {$postalgmtCLI='--postal-code-gmt';} + passthru("$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override --forcephonecode=$phone_code_override --lead-file=$lead_file $postalgmtCLI $dupcheckCLI"); + } else { + # copy($leadfile, "./vicidial_temp_file.csv"); + $file=fopen("$lead_file", "r"); + + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + print "
ΕπεξεργασίαCSV file... \n"; + if (strlen($list_id_override)>0) + { + print "

ID ΛΙΣΤΑΣ OVERRIDE FOR THIS FILE: $list_id_override

"; + } + + if (strlen($phone_code_override)>0) + { + print "

ΣΥΜΠΛΗΡΩΜΑΤΙΚΗ ΠΡΟΜΉΘΕΙΑ ΤΗΛΕΦΩΝΙΚΟΥ ΚΩΔΙΚΑ ΓΙΑ ΑΥΤΟ ΤΟ ΑΡΧΕΙΟ: $phone_code_override

"; + } + + while($row=fgetcsv($file, 1000, ",")) { + + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[$vendor_lead_code_field]; + $source_code = $row[$source_id_field]; + $source_id=$source_code; + $list_id = $row[$list_id_field]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[$phone_code_field]); + $phone_number = eregi_replace("[^0-9]", "", $row[$phone_number_field]); + $USarea = substr($phone_number, 0, 3); + $title = $row[$title_field]; + $first_name = $row[$first_name_field]; + $middle_initial = $row[$middle_initial_field]; + $last_name = $row[$last_name_field]; + $address1 = $row[$address1_field]; + $address2 = $row[$address2_field]; + $address3 = $row[$address3_field]; + $city =$row[$city_field]; + $state = $row[$state_field]; + $province = $row[$province_field]; + $postal_code = $row[$postal_code_field]; + $country_code = $row[$country_code_field]; + $gender = $row[$gender_field]; + $date_of_birth = $row[$date_of_birth_field]; + $alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]); + $email = $row[$email_field]; + $security_phrase = $row[$security_phrase_field]; + $comments = trim($row[$comments_field]); + + if (strlen($list_id_override)>0) + { + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
"; + } + print ""; + } + +if ($leadfile && filesize($LF_path)<=8388608) { + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + if ($file_layout=="standard") { + + print ""; + flush(); + + if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) { + + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"); + $lead_file = "./vicidial_temp_file.txt"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.txt"); + $lead_file = "/tmp/vicidial_temp_file.txt"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + + if (count($field_check)>=5) { + flush(); + $file=fopen("$lead_file", "r"); + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + print "
Επεξεργασία$delim_name-delimited file... ($tab_count|$pipe_count)\n"; + if (strlen($list_id_override)>0) + { + print "

ID ΛΙΣΤΑΣ OVERRIDE FOR THIS FILE: $list_id_override

"; + } + if (strlen($phone_code_override)>0) + { + print "

ΣΥΜΠΛΗΡΩΜΑΤΙΚΗ ΠΡΟΜΉΘΕΙΑ ΤΗΛΕΦΩΝΙΚΟΥ ΚΩΔΙΚΑ ΓΙΑ ΑΥΤΟ ΤΟ ΑΡΧΕΙΟ: $phone_code_override

\n"; + } + while (!feof($file)) { + $record++; + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + + if (strlen($buffer)>0) { + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[0]; + $source_code = $row[1]; + $source_id=$source_code; + $list_id = $row[2]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[3]); + $phone_number = eregi_replace("[^0-9]", "", $row[4]); + $USarea = substr($phone_number, 0, 3); + $title = $row[5]; + $first_name = $row[6]; + $middle_initial = $row[7]; + $last_name = $row[8]; + $address1 = $row[9]; + $address2 = $row[10]; + $address3 = $row[11]; + $city =$row[12]; + $state = $row[13]; + $province = $row[14]; + $postal_code = $row[15]; + $country_code = $row[16]; + $gender = $row[17]; + $date_of_birth = $row[18]; + $alt_phone = eregi_replace("[^0-9]", "", $row[19]); + $email = $row[20]; + $security_phrase = $row[21]; + $comments = trim($row[22]); + + if (strlen($list_id_override)>0) + { + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
"; + + } else { + print "
Λάθος: Το αρχείο δεν έχει τον απαιτούμενο αριθμό πεδίων.
"; + } + } else if (!eregi(".csv", $leadfile_name)) + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.xls"); + $lead_file = "/tmp/vicidial_temp_file.xls"; + } + $file=fopen("$lead_file", "r"); + + # echo "|$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override --lead-file=$lead_file|"; + $dupcheckCLI=''; $postalgmtCLI=''; + if (eregi("DUPLIST",$dupcheck)) {$dupcheckCLI='--duplicate-check';} + if (eregi("DUPCAMP",$dupcheck)) {$dupcheckCLI='--duplicate-campaign-check';} + if (eregi("DUPSYS",$dupcheck)) {$dupcheckCLI='--duplicate-system-check';} + if (eregi("POSTAL",$postalgmt)) {$postalgmtCLI='--postal-code-gmt';} + passthru("$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override --forcephonecode=$phone_code_override --lead-file=$lead_file $postalgmtCLI $dupcheckCLI"); + + } + else + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.csv"); + $lead_file = "/tmp/vicidial_temp_file.csv"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + print "
ΕπεξεργασίαCSV file... \n"; + + if (strlen($list_id_override)>0) + { + print "

ID ΛΙΣΤΑΣ OVERRIDE FOR THIS FILE: $list_id_override

"; + } + if (strlen($phone_code_override)>0) + { + print "

ΣΥΜΠΛΗΡΩΜΑΤΙΚΗ ΠΡΟΜΉΘΕΙΑ ΤΗΛΕΦΩΝΙΚΟΥ ΚΩΔΙΚΑ ΓΙΑ ΑΥΤΟ ΤΟ ΑΡΧΕΙΟ: $phone_code_override

"; + } + + while($row=fgetcsv($file, 1000, ",")) { + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[0]; + $source_code = $row[1]; + $source_id=$source_code; + $list_id = $row[2]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[3]); + $phone_number = eregi_replace("[^0-9]", "", $row[4]); + $USarea = substr($phone_number, 0, 3); + $title = $row[5]; + $first_name = $row[6]; + $middle_initial = $row[7]; + $last_name = $row[8]; + $address1 = $row[9]; + $address2 = $row[10]; + $address3 = $row[11]; + $city =$row[12]; + $state = $row[13]; + $province = $row[14]; + $postal_code = $row[15]; + $country_code = $row[16]; + $gender = $row[17]; + $date_of_birth = $row[18]; + $alt_phone = eregi_replace("[^0-9]", "", $row[19]); + $email = $row[20]; + $security_phrase = $row[21]; + $comments = trim($row[22]); + + if (strlen($list_id_override)>0) + { + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
"; + + } + print ""; + + } else { + print "
"; + flush(); + print "\r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + + $rslt=mysql_query("select vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments from vicidial_list limit 1", $link); + + + if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.txt"); + $lead_file = "/tmp/vicidial_temp_file.txt"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + flush(); + $file=fopen("$lead_file", "r"); + print "
Επεξεργασία$delim_name-delimited file...\n"; + + if (strlen($list_id_override)>0) + { + print "

ID ΛΙΣΤΑΣ OVERRIDE FOR THIS FILE: $list_id_override

"; + } + if (strlen($phone_code_override)>0) + { + print "

ΣΥΜΠΛΗΡΩΜΑΤΙΚΗ ΠΡΟΜΉΘΕΙΑ ΤΗΛΕΦΩΝΙΚΟΥ ΚΩΔΙΚΑ ΓΙΑ ΑΥΤΟ ΤΟ ΑΡΧΕΙΟ: $phone_code_override

"; + } + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + + for ($i=0; $i\r\n"; + print "
\r\n"; + print " \r\n"; + print " \r\n"; + + #print " \r\n"; + #print " \r\n"; + #print " \r\n"; + #print " \r\n"; + } + } + else if (!eregi(".csv", $leadfile_name)) + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.xls"); + $lead_file = "/tmp/vicidial_temp_file.xls"; + } + + # echo "|$WeBServeRRooT/vicidial/listloader_rowdisplay.pl --lead-file=$lead_file|"; + $dupcheckCLI=''; $postalgmtCLI=''; + if (eregi("DUPLIST",$dupcheck)) {$dupcheckCLI='--duplicate-check';} + if (eregi("DUPCAMP",$dupcheck)) {$dupcheckCLI='--duplicate-campaign-check';} + if (eregi("DUPSYS",$dupcheck)) {$dupcheckCLI='--duplicate-system-check';} + if (eregi("POSTAL",$postalgmt)) {$postalgmtCLI='--postal-code-gmt';} + passthru("$WeBServeRRooT/vicidial/listloader_rowdisplay.pl --lead-file=$lead_file $postalgmtCLI $dupcheckCLI"); + } + else + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.csv"); + $lead_file = "/tmp/vicidial_temp_file.csv"; + } + $file=fopen("$lead_file", "r"); + + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + print "
ΕπεξεργασίαCSV file... \n"; + + if (strlen($list_id_override)>0) + { + print "

ID ΛΙΣΤΑΣ OVERRIDE FOR THIS FILE: $list_id_override

"; + } + if (strlen($phone_code_override)>0) + { + print "

ΣΥΜΠΛΗΡΩΜΑΤΙΚΗ ΠΡΟΜΉΘΕΙΑ ΤΗΛΕΦΩΝΙΚΟΥ ΚΩΔΙΚΑ ΓΙΑ ΑΥΤΟ ΤΟ ΑΡΧΕΙΟ: $phone_code_override

"; + } + + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + $row=fgetcsv($file, 1000, ","); + for ($i=0; $i\r\n"; + print "
\r\n"; + print " \r\n"; + print " \r\n"; + + #print " \r\n"; + #print " \r\n"; + #print " \r\n"; + #print " \r\n"; + } + } + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print "
VICIDIAL ΣτήληΑρχεία δεδομένων
".strtoupper(eregi_replace("_", " ", mysql_field_name($rslt, $i))).":
$row[$i]
".strtoupper(eregi_replace("_", " ", mysql_field_name($rslt, $i))).":
$row[$i]
        
\r\n"; + # } + print ""; + } +} else if (filesize($leadfile)>8388608) { + print "
Λάθος: Το αρχείο ξεπέρασε το όριο των 8ΜΒ.
"; +} +?> + + + + + + + + +4) ) + { + if (preg_match('/^1$/', $phone_code)) + { + $stmt="select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[3]; + $dst_range = $row[4]; + $PC_processed++; + $postalgmt_found++; + $post++; + } + } + } +if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =='1') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### MEXICO ### + if ($phone_code =='52') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### AUSTRALIA ### + if ($phone_code =='61') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $PC_processed++; + $stmt="select * from vicidial_phone_codes where country_code='$phone_code';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + } + +### Find out if DST to raise the gmt offset ### +$AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); +$AC_localtime = mktime(($Shour + $AC_GMT_diff), $Smin, $Ssec, $Smon, $Smday, $Syear); + $hour = date("H",$AC_localtime); + $min = date("i",$AC_localtime); + $sec = date("s",$AC_localtime); + $mon = date("m",$AC_localtime); + $mday = date("d",$AC_localtime); + $wday = date("w",$AC_localtime); + $year = date("Y",$AC_localtime); +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + +$AC_processed=0; +if ( (!$AC_processed) and ($dst_range == 'SSM-FSN') ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + #********************************************************************** + # SSM-FSN + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on Second Sunday March to First Sunday November at 2 am. + # INPUTS: + # mm INTEGER Month. + # dd INTEGER Day of the month. + # ns INTEGER Seconds into the day. + # dow INTEGER Day of week (0=Sunday, to 6=Saturday) + # OPTIONAL INPUT: + # timezone INTEGER hour difference UTC - local standard time + # (DEFAULT is blank) + # make calculations based on UTC time, + # which means shift at 10:00 UTC in April + # and 9:00 UTC in October + # OUTPUT: + # INTEGER 1 = DST, 0 = not DST + # + # S M T W T F S + # 1 2 3 4 5 6 7 + # 8 9 10 11 12 13 14 + #15 16 17 18 19 20 21 + #22 23 24 25 26 27 28 + #29 30 31 + # + # S M T W T F S + # 1 2 3 4 5 6 + # 7 8 9 10 11 12 13 + #14 15 16 17 18 19 20 + #21 22 23 24 25 26 27 + #28 29 30 31 + # + #********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; + } elseif ($mm >= 4 and $mm <= 10) { + $USACAN_DST=1; + } elseif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; + } elseif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } + } else { + $USACAN_DST=0; + } + } elseif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; + } elseif ($dd < ($dow+1)) { + $USACAN_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } else { # τοπικός χρόνος calculations + if ($ns < 7200) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } + } else { + $USACAN_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'FSA-LSO') ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + #********************************************************************** + # FSA-LSO + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in April and last Sunday in October at 2 am. + #********************************************************************** + + $USA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $USA_DST=0; + } elseif ($mm >= 5 and $mm <= 9) { + $USA_DST=1; + } elseif ($mm == 4) { + if ($dd > 7) { + $USA_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $USA_DST=0; + } else { + $USA_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $USA_DST=0; + } else { + $USA_DST=1; + } + } + } else { + $USA_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $USA_DST=1; + } elseif ($dd < ($dow+25)) { + $USA_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USA_DST=1; + } else { + $USA_DST=0; + } + } else { # τοπικός χρόνος calculations + if ($ns < 7200) { + $USA_DST=1; + } else { + $USA_DST=0; + } + } + } else { + $USA_DST=0; + } + } # end of month checks + + if ($DBX) {print " DST: $USA_DST\n";} + if ($USA_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'LSM-LSO') ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in March and last Sunday in October at 1 am. + #********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; + } elseif ($mm >= 4 and $mm <= 9) { + $GBR_DST=1; + } elseif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; + } elseif ($dd < ($dow+25)) { + $GBR_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } else { # τοπικός χρόνος calculations + if ($ns < 3600) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } + } else { + $GBR_DST=1; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; + } elseif ($dd < ($dow+25)) { + $GBR_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } else { # τοπικός χρόνος calculations + if ($ns < 3600) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } + } else { + $GBR_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } +if ( (!$AC_processed) and ($dst_range == 'LSO-LSM') ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUS_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; + } elseif ($dd < ($dow+25)) { + $AUS_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } else { # τοπικός χρόνος calculations + if ($ns < 3600) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } + } else { + $AUS_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; + } elseif ($dd < ($dow+25)) { + $AUS_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } else { # τοπικός χρόνος calculations + if ($ns < 3600) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } + } else { + $AUS_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'FSO-LSM') ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + #********************************************************************** + # TASMANIA ONLY + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUST_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; + } elseif ($dd < ($dow+25)) { + $AUST_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } else { # τοπικός χρόνος calculations + if ($ns < 3600) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } + } else { + $AUST_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $AUST_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } + } else { + $AUST_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } +if ( (!$AC_processed) and ($dst_range == 'FSO-TSM') ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and third Sunday in March at 1 am. + #********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $NZL_DST=0; + } elseif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; + } elseif ($dd < ($dow+14)) { + $NZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } else { # τοπικός χρόνος calculations + if ($ns < 3600) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } + } else { + $NZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $NZL_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } + } else { + $NZL_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'TSO-LSF') ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + #********************************************************************** + # TSO-LSF + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. Brazil + # Based on Third Sunday October to Last Sunday February at 1 am. + #********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; + } elseif ($mm >= 3 and $mm <= 9) { + $BZL_DST=0; + } elseif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; + } elseif ($dd < ($dow+22)) { + $BZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } else { # τοπικός χρόνος calculations + if ($ns < 3600) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } + } else { + $BZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; + } elseif ($dd < ($dow+22)) { + $BZL_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } else { # τοπικός χρόνος calculations + if ($ns < 3600) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } + } else { + $BZL_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$gmt_offset++;} + $AC_processed++; + } + +if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + +return $gmt_offset; +} \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/remote_dispo.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/remote_dispo.php new file mode 100644 index 00000000..3f45251b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/remote_dispo.php @@ -0,0 +1,327 @@ + LICENSE: GPLv2 +### +# this is the remote agent disposition screen for calls sent to remote agents. This allows the remote agent to modify customer information and disposition the call + +# CHANGES +# +# 60619-1626 - Added variable filtering to eliminate SQL injection attack threat +# + + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];} + elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["channel_group"])) {$channel_group=$_GET["channel_group"];} + elseif (isset($_POST["channel_group"])) {$channel_group=$_POST["channel_group"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["customer_zap_channel"])) {$customer_zap_channel=$_GET["customer_zap_channel"];} + elseif (isset($_POST["customer_zap_channel"])) {$customer_zap_channel=$_POST["customer_zap_channel"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];} + elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];} + elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["security"])) {$security=$_GET["security"];} + elseif (isset($_POST["security"])) {$security=$_POST["security"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_id"])) {$session_id=$_GET["session_id"];} + elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];} + elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$ext_context = 'demo'; +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 2;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-CLOSER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $fullname = $row[0]; + fwrite ($fp, "VD_CLOSER|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + + } + else + { + fwrite ($fp, "VD_CLOSER|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +?> + + +Απομακρυσμένο: Τερματισμός Κλήσης +\n"; +?> + + +
+ +"; + +if ($end_call > 0) +{ + +$call_length = ($STARTtime - $call_began); + + ### insert a NEW record to the vicidial_closer_log table + $stmt="UPDATE vicidial_closer_log set end_epoch='$STARTtime', length_in_sec='" . mysql_real_escape_string($call_length) . "', status='" . mysql_real_escape_string($status) . "', user='$PHP_AUTH_USER' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by start_epoch desc limit 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + ### update the lead record in the vicidial_list table + $stmt="UPDATE vicidial_list set status='" . mysql_real_escape_string($status) . "',first_name='" . mysql_real_escape_string($first_name) . "',last_name='" . mysql_real_escape_string($last_name) . "',address1='" . mysql_real_escape_string($address1) . "',address2='" . mysql_real_escape_string($address2) . "',address3='" . mysql_real_escape_string($address3) . "',city='" . mysql_real_escape_string($city) . "',state='" . mysql_real_escape_string($state) . "',province='" . mysql_real_escape_string($province) . "',postal_code='" . mysql_real_escape_string($postal_code) . "',country_code='" . mysql_real_escape_string($country_code) . "',alt_phone='" . mysql_real_escape_string($alt_phone) . "',email='" . mysql_real_escape_string($email) . "',security_phrase='" . mysql_real_escape_string($security) . "',comments='" . mysql_real_escape_string($comments) . "',user='$PHP_AUTH_USER' where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Η κλήση έχει τερματίσει       $NOW_TIME\n

\n"; + + echo "
\n"; + +} +else +{ + $stmt="SELECT count(*) from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_count = $row[0]; + + if ($lead_count > 0) + { + + $stmt="SELECT * from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_id = "$row[0]"; + $tsr = "$row[4]"; + $vendor_id = "$row[5]"; + $list_id = "$row[7]"; + $campaign_id = "$row[8]"; + $phone_code = "$row[10]"; + $phone_number = "$row[11]"; + $title = "$row[12]"; + $first_name = "$row[13]"; # + $middle_initial = "$row[14]"; + $last_name = "$row[15]"; # + $address1 = "$row[16]"; # + $address2 = "$row[17]"; # + $address3 = "$row[18]"; # + $city = "$row[19]"; # + $state = "$row[20]"; # + $province = "$row[21]"; # + $postal_code = "$row[22]"; # + $country_code = "$row[23]"; # + $gender = "$row[24]"; + $date_of_birth = "$row[25]"; + $alt_phone = "$row[26]"; # + $email = "$row[27]"; # + $security = "$row[28]"; # + $comments = "$row[29]"; # + + echo "
Πληροφορίες Κλήσης: $first_name $last_name - $phone_number

\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
Vendor ID: $vendor_id     ID Εκστρατείας: $campaign_id
Fronter: $tsr     ID Λίστας: $list_id
Ονομα:   \n"; + echo " Επίθετο:
Διεύθυνση 1 :
Διεύθυνση 2 :
Διεύθυνση 3 :
Πόλη :
Κράτος:   \n"; + echo "Ταχ.Κωδ.
Χώρα :
Εναλ Τηλέφωνο :
Ασφάλεια :
Σχόλια :
Τερματισμός:
\n"; + echo "


\n"; + + } + else + { + echo "ΑΠΟΤΥΧΙΑ ψαξίματος καθοδήγησης για lead_id $lead_id       $NOW_TIME\n

\n"; +# echo "Close this window\n

\n"; + } + + + + + + +} + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nχρόνος εκτέλεσης διαδικασίας: $RUNtime seconds
"; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/server_stats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/server_stats.php new file mode 100644 index 00000000..d46d3c10 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/server_stats.php @@ -0,0 +1,97 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60620-1037 - Added Link back to Admin section +# - Added required user/pass to gain access to this page +# 61101-1331 - Added SIP/IAX listen/barge links +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="select * from servers;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$servers_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $servers_to_print) + { + $row=mysql_fetch_row($rslt); + $server_id[$i] = $row[0]; + $server_description[$i] = $row[1]; + $server_ip[$i] = $row[2]; + $active[$i] = $row[3]; + $i++; + } +?> + + + + + +VICIDIAL: Στατιστικά Διακομιστή and Reports +VICIDIAL: Στατιστικά Διακομιστή and Reports                           +ΠΙΣΩ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗ

+ + +

+
+ $o)
+	{
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	$o++;
+	}
+
+?>
+
SERVERΠΕΡΙΓΡΑΦΗIP ADDRESSΕΝΕΡΓΟVDAD timeVDcall timePARK timeCLOSER/INBOUND time
$server_id[$o]$server_description[$o]$server_ip[$o]$active[$o]LINKLINKLINKLINK
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/user_stats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/user_stats.php new file mode 100644 index 00000000..d03abe1d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/user_stats.php @@ -0,0 +1,408 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1743 - Added variable filtering to eliminate SQL injection attack threat +# 61201-1136 - Added recordings display and changed calls to time range with 10000 limit +# 70118-1605 - Added user group column to login/out and calls lists +# 70702-1231 - Added recording location link and truncation +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["begin_date"])) {$begin_date=$_GET["begin_date"];} + elseif (isset($_POST["begin_date"])) {$begin_date=$_POST["begin_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); + +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and view_reports='1';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + + $stmt="SELECT full_name from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + + } + + + + +?> + + +ΔΙΑΧΕΙΡΙΣΗ: User Stats +\n"; +?> + + +
+ + + + + +\n"; +echo "
" ?>   ΔΙΑΧΕΙΡΙΣΗ: User Stats for  
  \n"; + +echo "
\n"; +echo "\n"; +echo " to \n"; +echo "  \n"; +echo "\n"; + + +echo "           $user - $full_name\n"; + +echo " - VICIDIAL Time Sheet\n"; +echo " - User Status\n"; +echo " - Τροποποίηση Χρήστη\n"; + + +echo "
\n"; + + + $stmt="SELECT count(*),status, sum(length_in_sec) from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' group by status order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + +echo "
\n"; + +echo "ΧΡΟΝΟΣ ΟΜΙΛΙΑΣ ΚΑΙ ΚΑΤΑΣΤΑΣΗ:\n"; + +echo "
\n"; +echo "\n"; + + $total_calls=0; + $o=0; + while ($statuses_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $call_seconds = $row[2]; + $call_hours = ($call_seconds / 3600); + $call_hours = round($call_hours, 2); + $call_hours_int = intval("$call_hours"); + $call_minutes = ($call_hours - $call_hours_int); + $call_minutes = ($call_minutes * 60); + $call_minutes_int = round($call_minutes, 0); + if ($call_minutes_int < 10) {$call_minutes_int = "0$call_minutes_int";} + + echo ""; + echo "\n"; + echo "\n"; + $total_calls = ($total_calls + $row[0]); + + $call_seconds=0; + $o++; + } + + $stmt="SELECT sum(length_in_sec) from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59'"; + $rslt=mysql_query($stmt, $link); + $counts_to_print = mysql_num_rows($rslt); + $row=mysql_fetch_row($rslt); + $call_seconds = $row[0]; + $call_hours = ($call_seconds / 3600); + $call_hours = round($call_hours, 2); + $call_hours_int = intval("$call_hours"); + $call_minutes = ($call_hours - $call_hours_int); + $call_minutes = ($call_minutes * 60); + $call_minutes_int = round($call_minutes, 0); + if ($call_minutes_int < 10) {$call_minutes_int = "0$call_minutes_int";} + +echo "\n"; +echo "
ΚΑΤΑΣΤΑΣΗΚΑΤΑΜΕΤΡΗΣΗΩΡΕΣ:ΛΕΠΤΑ
$row[1] $row[0] $call_hours_int:$call_minutes_int
ΣΥΝΟΛΙΚΕΣ ΚΛΗΣΕΙΣ $total_calls $call_hours_int:$call_minutes_int
\n"; +echo "

\n"; + +echo "
\n"; + +echo " ΧΡΟΝΟΣ ΣYΝΔΕΣΗΣ/ΑΠΟΣΥΝΔΕΣΗΣ:\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT event,event_epoch,event_date,campaign_id,user_group from vicidial_user_log where user='" . mysql_real_escape_string($user) . "' and event_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and event_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59'"; + $rslt=mysql_query($stmt, $link); + $events_to_print = mysql_num_rows($rslt); + + $total_calls=0; + $o=0; + $event_start_seconds=''; + $event_stop_seconds=''; + while ($events_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("LOGIN", $row[0])) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + if (ereg("LOGIN", $row[0])) + { + $event_start_seconds = $row[1]; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + if (ereg("LOGOUT", $row[0])) + { + if ($event_start_seconds) + { + $event_stop_seconds = $row[1]; + $event_seconds = ($event_stop_seconds - $event_start_seconds); + $total_login_time = ($total_login_time + $event_seconds); + $event_hours = ($event_seconds / 3600); + $event_hours = round($event_hours, 2); + $event_hours_int = intval("$event_hours"); + $event_minutes = ($event_hours - $event_hours_int); + $event_minutes = ($event_minutes * 60); + $event_minutes_int = round($event_minutes, 0); + if ($event_minutes_int < 10) {$event_minutes_int = "0$event_minutes_int";} + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $event_start_seconds=''; + $event_stop_seconds=''; + } + else + { + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + } + } + + $total_calls = ($total_calls + $row[0]); + + $call_seconds=0; + $o++; + } + +$total_login_hours = ($total_login_time / 3600); +$total_login_hours = round($total_login_hours, 2); +$total_login_hours_int = intval("$total_login_hours"); +$total_login_minutes = ($total_login_hours - $total_login_hours_int); +$total_login_minutes = ($total_login_minutes * 60); +$total_login_minutes_int = round($total_login_minutes, 0); +if ($total_login_minutes_int < 10) {$total_login_minutes_int = "0$total_login_minutes_int";} + +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; + +echo "
ΣΥΜΒΑΝ ΗΜΕΡΑΕΚΣΤΡΑΤΕΙΑ GROUPΩΡΕΣ:ΛΕΠΤΑ
$row[0] $row[2] $row[3] $row[4]
$row[0] $row[2] $row[3] $row[4] $event_hours_int:$event_minutes_int
$row[0] $row[2] $row[3]
ΣΥΝΟΛΙΚΑ $total_login_hours_int:$total_login_minutes_int
\n"; + + +echo "

\n"; + +echo "
\n"; + +echo "OUTBOUND CALLS FOR THIS TIME PERIOD: (10000 record limit)\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + } + + +echo "
# DATE/TIME LENGTH STATUS PHONEΕΚΣΤΡΑΤΕΙΑ GROUP LIST LEAD
$u$row[4] $row[7] $row[8] $row[10] $row[3] $row[14] $row[2] $row[1]


\n"; + + + +echo "CLOSER CALLS FOR THIS TIME PERIOD: (10000 record limit)\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from vicidial_closer_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + } + + +echo "
# DATE/TIME LENGTH STATUS PHONEΕΚΣΤΡΑΤΕΙΑ WAIT (S) LIST LEAD
$u$row[4] $row[7] $row[8] $row[10] $row[3] $row[14] $row[2] $row[1]


\n"; + + + + +echo "RECORDINGS FOR THIS TIME PERIOD: (10000 record limit)\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from recording_log where user='" . mysql_real_escape_string($user) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by recording_id desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $location = $row[11]; + if (strlen($location)>30) + {$locat = substr($location,0,27); $locat = "$locat...";} + else + {$locat = $location;} + if (eregi("http",$location)) + {$location = "$locat";} + else + {$location = $locat;} + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + } + + +echo "
# LEADDATE/TIME SECONDS   RECIDFILENAMELOCATION  
$u $row[12] $row[4] $row[8] $row[0] $row[10] $location  
\n"; + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nχρόνος εκτέλεσης διαδικασίας: $RUNtime seconds
"; + + +?> + + +
+ + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/user_status.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/user_status.php new file mode 100644 index 00000000..97ef2cac --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/user_status.php @@ -0,0 +1,242 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1738 - Added variable filtering to eliminate SQL injection attack threat +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["begin_date"])) {$begin_date=$_GET["begin_date"];} + elseif (isset($_POST["begin_date"])) {$begin_date=$_POST["begin_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); + +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and view_reports='1';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name,change_agent_campaign from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $change_agent_campaign=$row[1]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + + $stmt="SELECT full_name,user_group from vicidial_users where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + $user_group = $row[1]; + + $stmt="SELECT * from vicidial_live_agents where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $agents_to_print = mysql_num_rows($rslt); + $i=0; + while ($i < $agents_to_print) + { + $row=mysql_fetch_row($rslt); + $Aserver_ip = $row[2]; + $Asession_id = $row[3]; + $Aextension = $row[4]; + $Astatus = $row[5]; + $Acampaign = $row[7]; + $Alast_call = $row[14]; + $Acl_campaigns = $row[15]; + $i++; + } + + } + +$stmt="select * from vicidial_campaigns;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + + + +?> + + +ΔΙΑΧΕΙΡΙΣΗ: User Status +\n"; +?> + + +
+
+ + + + +\n"; +echo "
" ?>   ΔΙΑΧΕΙΡΙΣΗ: User Status for  
  \n"; + +if ($stage == "live_campaign_change") +{ + $stmt="UPDATE vicidial_live_agents set campaign_id='" . mysql_real_escape_string($group) . "' where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + + echo "Agent $user - $full_name changed to $group campaign
\n"; + + exit; +} + +if ($stage == "log_agent_out") +{ + $stmt="DELETE from vicidial_live_agents where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + + echo "Agent $user - $full_name has been emergency logged out, make sure they close their web browser
\n"; + + exit; +} + +if ($agents_to_print > 0) +{ + echo "
";
+	echo "Agent Logged in at server:  $Aserver_ip\n";
+	echo "               in session:  $Asession_id\n";
+	echo "               from phone:  $Aextension\n";
+	echo "Agent is in campaign:       $Acampaign\n";
+	echo "              status:       $Astatus\n";
+	echo " hungup last call at:       $Alast_call\n";
+	echo "       Closer groups:       $Acl_campaigns\n\n";
+
+	echo "
"; + + + if ($change_agent_campaign > 0) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Current Εκστρατεία: \n"; + echo "
\n"; + + + echo "
\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + } +} + +else +{ + echo "Agent is not logged in\n
"; + +} + + +echo "           $user - $full_name \n"; +echo "       GROUP: $user_group

\n"; + +echo "VICIDIAL Time Sheet\n"; +echo " - User Stats\n"; +echo " - Τροποποίηση Χρήστη\n"; + +echo "
\n"; + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nχρόνος εκτέλεσης διαδικασίας: $RUNtime seconds
"; + +echo "|$stage|$group|"; + +?> + + +
+ + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/vdremote.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/vdremote.php new file mode 100644 index 00000000..a0adc1ed --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/vdremote.php @@ -0,0 +1,602 @@ + LICENSE: GPLv2 +# +# Changes +# 50307-1721 - First version +# 51123-1502 - removed requirement of PHP Globals=on +# 60421-1229 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1603 - Added variable filtering to eliminate SQL injection attack threat +# +# make sure you have added a user to the vicidial_users MySQL table with at least user_level 4 to access this page the first time + +$version = '1.1.12'; +$build = '60619-1603'; + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["force_logout"])) {$force_logout=$_GET["force_logout"];} + elseif (isset($_POST["force_logout"])) {$force_logout=$_POST["force_logout"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["remote_agent_id"])) {$remote_agent_id=$_GET["remote_agent_id"];} + elseif (isset($_POST["remote_agent_id"])) {$remote_agent_id=$_POST["remote_agent_id"];} +if (isset($_GET["user_start"])) {$user_start=$_GET["user_start"];} + elseif (isset($_POST["user_start"])) {$user_start=$_POST["user_start"];} +if (isset($_GET["number_of_lines"])) {$number_of_lines=$_GET["number_of_lines"];} + elseif (isset($_POST["number_of_lines"])) {$number_of_lines=$_POST["number_of_lines"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];} + elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];} + +if (!isset($force_logout)) {$force_logout = 0;} + +if ($force_logout) +{ + if( (strlen($PHP_AUTH_USER)>0) or (strlen($PHP_AUTH_PW)>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "Έχετε αποσυνδεθεί. Σας ευχαριστούμε\n"; + exit; +} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + +$popup_page = './closer_popup.php'; +$STARTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 3;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Ακυρο Ονομα Χρήστη/Κωδικός Πρόσβασης: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + + $stmt="SELECT count(*) from vicidial_remote_agents where user_start='$PHP_AUTH_USER';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $authx=$row[0]; + + if($authx>0) + { + $stmt="SELECT remote_agent_id,server_ip,number_of_lines from vicidial_remote_agents where user_start='$PHP_AUTH_USER';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id=$row[0]; + $server_ip=$row[1]; + if (!$number_of_lines) {$number_of_lines=$row[2];} + + fwrite ($fp, "VDremote|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VDremote|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + echo "This remote agent does not exist: |$PHP_AUTH_USER|\n"; + exit; + } + } + else + { + fwrite ($fp, "VDremote|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +echo "\n"; +echo "\n"; +echo "\n"; +if ($ADD==61111) + { + echo"\n"; + } +echo "\n"; +?> + +ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ: $LOGfullname - $PHP_AUTH_USER "; + +if (!$ADD) {$ADD="31111";} +if ($ADD==31111) {echo "Τροποποίηση Απομακρυσμένων Χειριστών";} +if ($ADD==41111) {echo "Τροποποίηση Απομακρυσμένων Χειριστών";} +if ($ADD==61111) {echo "Remote Agent Status";} +if ($ADD==71111) {echo "Remote Agent Closer Stats";} + + +if (strlen($ADD)>4) + { + ##### get server listing for dynamic pulldown + $stmt="SELECT server_ip,server_description from servers order by server_ip"; + $rslt=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rslt); + $servers_list=''; + + $o=0; + while ($servers_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $servers_list .= "\n"; + $o++; + } + + ##### get campaigns listing for dynamic pulldown + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "\n"; + $o++; + } + + ##### get inbound groups listing for checkboxes + if ( (($ADD==31111) or ($ADD==31111)) and (count($groups)<1) ) + { + $stmt="SELECT closer_campaigns from vicidial_remote_agents where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $groups_list=''; + $groups_value=''; + + $o=0; + while ($groups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $group_id_value = $rowx[0]; + $group_name_value = $rowx[1]; + $groups_list .= "2) {$groups_value .= " -";} + } + +?> + + + +
+
+ + + +
  ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ:   Αποσύνδεση  
  ΤΡΟΠΟΠΟΙΗΣΗ | ">ΚΑΤΑΣΤΑΣΗ | ">ΣΤΑΤΙΣΤΙΚΑ ΕΙΣΕΡΧΟΜΕΝΩΝ
+"; + + $stmt="SELECT * from vicidial_remote_agents where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id = $row[0]; + $user_start = $row[1]; + $number_of_lines = $row[2]; + $server_ip = $row[3]; + $conf_exten = $row[4]; + $status = $row[5]; + $campaign_id = $row[6]; + +echo "
ΤΡΟΠΟΠΟΙΗΣΗ ΚΑΤΑΧΩΡΗΣΗΣ ΑΠΟΜΑΚΡΥΣΜΕΝΩΝ ΧΕΙΡΙΣΤΩΝ: $row[0]
\n"; +echo "\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
ID Χρήστη Ξεκινά: $user_start
Αριθμός Γραμμών: (μόνο αριθμοί)
IP Διακομιστή: $row[3]
Εξωτερική Τηλ. Σύνδεση: (number dialed to reach agents [i.e. 913125551212])
Κατάσταση:
Εκστρατεία: $campaign_id
Εισερχόμενες Ομάδες: \n"; +echo "$groups_list"; +echo "
\n"; +echo "ΣΗΜΕΙΩΣΗ: Μπορεί να διαρκέσει και 30 δευτερόλεπτα για να καταχωρηθούν οι αλλαγές της οθόνης\n"; + +} + + + + +###################### +# ADD=41111 modify remote agents info in the system +###################### + +if ($ADD==41111) +{ + echo ""; + + if ( (strlen($number_of_lines) < 1) or (strlen($conf_exten) < 2) ) + {echo "
ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ ΔΕΝ ΤΡΟΠΟΠΟΙΗΘΗΚΑΝ - Παρακαλώ ελέγξτε τα δεδομένα που καταχωρήσατε\n";} + else + { + $stmt="UPDATE vicidial_remote_agents set number_of_lines='" . mysql_real_escape_string($number_of_lines) . "', conf_exten='" . mysql_real_escape_string($conf_exten) . "', status='" . mysql_real_escape_string($status) . "', closer_campaigns='" . mysql_real_escape_string($groups_value) . "' where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + +# echo "$stmt\n"; + echo "
ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ ΤΡΟΠΟΠΟΙΗΘΗΚΑΝ\n"; + + ### LOG CHANGES TO LOG FILE ### + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY ΑΠΟΜΑΚΡΥΣΜΕΝΟΙ ΧΕΙΡΙΣΤΕΣ ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + + } + + $stmt="SELECT * from vicidial_remote_agents where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id = $row[0]; + $user_start = $row[1]; + $number_of_lines = $row[2]; + $server_ip = $row[3]; + $conf_exten = $row[4]; + $status = $row[5]; + $campaign_id = $row[6]; + +echo "
ΤΡΟΠΟΠΟΙΗΣΗ ΚΑΤΑΧΩΡΗΣΗΣ ΑΠΟΜΑΚΡΥΣΜΕΝΩΝ ΧΕΙΡΙΣΤΩΝ: $row[0]\n"; +echo "\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
ID Χρήστη Ξεκινά: $user_start
Αριθμός Γραμμών: (μόνο αριθμοί)
IP Διακομιστή: $row[3]
Εξωτερική Τηλ. Σύνδεση: (number dialed to reach agents [i.e. 913125551212])
Κατάσταση:
Εκστρατεία: $campaign_id
Εισερχόμενες Ομάδες: \n"; +echo "$groups_list"; +echo "
\n"; +echo "ΣΗΜΕΙΩΣΗ: Μπορεί να διαρκέσει και 30 δευτερόλεπτα για να καταχωρηθούν οι αλλαγές της οθόνης\n"; + +} + + + + +###################### +# ADD=61111 status of remote agent in the system and active calls and queue +###################### + +if ($ADD==61111) +{ + echo "
";
+
+	 if ( (strlen($server_ip) < 2) or (strlen($user) < 2) )
+		{echo "
ΛΑΘΟΣ ΑΠΟΜΑΚΡΥΣΜΕΝΩΝ ΧΕΙΡΙΣΤΩΝ\n";} + else + { + + $users_list = ''; + $k=0; + while($k < $number_of_lines) + { + $nextuser=($user + $k); + $users_list .= "'" . mysql_real_escape_string($nextuser) . "',"; + $k++; + } + $users_list = preg_replace("/.$/","",$users_list); + + echo "VICIDIAL: Remote Agent Time On Calls $NOW_TIME\n\n"; + echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n"; + echo "| STATION | USER | LEADID | CHANNEL | STATUS | START TIME | MINUTES |\n"; + echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n"; + + + $stmt="select extension,user,lead_id,channel,status,last_call_time,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish) from vicidial_live_agents where status NOT IN('PAUSED') and server_ip='" . mysql_real_escape_string($server_ip) . "' and user IN($users_list) order by extension;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + while ($i < $talking_to_print) + { + $leadlink=0; + $row=mysql_fetch_row($rslt); + if (eregi("READY|PAUSED",$row[4])) + { + $row[3]=''; + $row[5]='- ΑΝΑΜΟΝΗ -'; + $row[6]=$row[7]; + } + $extension = sprintf("%-10s", $row[0]); + $user = sprintf("%-6s", $row[1]); + $leadid = sprintf("%-12s", $row[2]); + if ($row[2] > 0) + { + $leadidLINK=$row[2]; + $leadlink++; + if ( eregi("QUEUE",$row[4]) ) {$row[6]=$STARTtime;} + $leadid = "$leadid"; + } + $channel = sprintf("%-10s", $row[3]); + $cc=0; + while ( (strlen($channel) > 10) and ($cc < 100) ) + { + $channel = eregi_replace(".$","",$channel); + $cc++; + if (strlen($channel) <= 10) {$cc=101;} + } + $status = sprintf("%-6s", $row[4]); + $start_time = sprintf("%-19s", $row[5]); + $call_time_S = ($STARTtime - $row[6]); + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + if ($call_time_M_int >= 5) {$G=''; $EG='';} + if ($call_time_M_int >= 10) {$G=''; $EG='';} + + echo "| $G$extension$EG | $G$user$EG | $G$leadid$EG | $G$channel$EG | $G$status$EG | $G$start_time$EG | $G$call_time_MS$EG |\n"; + + $i++; + } + + echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n"; + echo " $i Χειριστές συνδεμένοι στον διακομιστή $server_ip\n\n"; + + echo " - 5 λεπτά ή παραπάνω σε κλήση\n"; + echo " - Πάνω από 10 λεπτά σε κλήση\n"; + + } + else + { + echo "**************************************************************************************\n"; + echo "********************************* ΚΑΝΕΝΑΣ ΧΕΙΡ. ΣΕ ΚΛΗΣΕΙΣ *********************************\n"; + echo "**************************************************************************************\n"; + } + } + +echo "
\n\n"; + +} + + +###################### +# ADD=71111 stats for remote agents from closer logs(vicidial_closer_log) +###################### + +if ($ADD==71111) +{ + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n\n"; + echo "
";
+
+	 if ( (strlen($server_ip) < 2) or (strlen($user) < 2) )
+		{echo "
ΛΑΘΟΣ ΑΠΟΜΑΚΡΥΣΜΕΝΩΝ ΧΕΙΡΙΣΤΩΝ\n";} + else + { + + $users_list = ''; + $k=0; + while($k < $number_of_lines) + { + $nextuser=($user + $k); + $users_list .= "'$nextuser',"; + $k++; + } + $users_list = preg_replace("/.$/","",$users_list); + + $stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date 00:00:01' and call_date <= '$query_date 23:59:59' and user IN($users_list);"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $in_calls = $row[0]; + $in_time = $row[1]; + $in_time_M = ($in_time / 60); + $in_time_M = round($in_time_M, 2); + $in_time_M_int = intval("$in_time_M"); + $in_time_SEC = ($in_time_M - $in_time_M_int); + $in_time_SEC = ($in_time_SEC * 60); + $in_time_SEC = round($in_time_SEC, 0); + if ($in_time_SEC < 10) {$in_time_SEC = "0$in_time_SEC";} + $in_time_MS = "$in_time_M_int:$in_time_SEC"; + $in_time_MS = sprintf("%7s", $in_time_MS); + + echo "VICIDIAL: Στατιστικά εισερχομένων απομακρυσμένου χειριστή $NOW_TIME\n\n"; + echo "\n"; + echo "Συνολικές κλήσεις που διακομίστηκαν$query_date: $in_calls\n"; + echo "Συνολικός χρόνος ομιλίας σε$query_date: $in_time_MS (minutes:seconds)\n"; + echo "\n"; + echo "\n"; + echo "Λίστα Κλήσεων για$query_date:\n"; + echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n"; + echo "| USER | LEADID | GROUP | PHONE NUM | STATUS | CALL TIME | MINUTES |\n"; + echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n"; + + + $stmt="select user,lead_id,campaign_id,phone_number,status,call_date,length_in_sec from vicidial_closer_log where call_date >= '$query_date 00:00:01' and call_date <= '$query_date 23:59:59' and user IN($users_list) order by call_date;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + while ($i < $talking_to_print) + { + $row=mysql_fetch_row($rslt); + $user = sprintf("%-8s", $row[0]); + $leadid = sprintf("%-10s", $row[1]); + $group = sprintf("%-14s", $row[2]); + $phone = sprintf("%-10s", $row[3]); + $status = sprintf("%-6s", $row[4]); + $start_time = sprintf("%-19s", $row[5]); + $call_time_S = $row[6]; + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + # if ($call_time_M_int >= 5) {$G=''; $EG='';} + # if ($call_time_M_int >= 10) {$G=''; $EG='';} + + echo "| $G$user$EG | $G$leadid$EG | $G$group$EG | $G$phone$EG | $G$status$EG | $G$start_time$EG | $G$call_time_MS$EG |\n"; + + $i++; + } + + echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n"; + # echo " $i Χειριστές συνδεμένοι στον διακομιστή $server_ip\n\n"; + + # echo " - 5 λεπτά ή παραπάνω σε κλήση\n"; + # echo " - Πάνω από 10 λεπτά σε κλήση\n"; + + } + else + { + echo "**************************************************************************************\n"; + echo "*********************************ΔΕΝ ΥΠΑΡΧΟΥΝ ΚΛΗΣΕΙΣ ΓΙΑ ΑΥΤΗ ΤΗΝ ΗΜΕΡΑ*******************************\n"; + echo "**************************************************************************************\n"; + } + } + +echo "
\n\n"; + +} + + + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nχρόνος εκτέλεσης διαδικασίας: $RUNtime seconds
"; + + +?> + + +
+ + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/welcome.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/welcome.php new file mode 100644 index 00000000..00b8d8f0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_el/welcome.php @@ -0,0 +1,25 @@ + LICENSE: GPLv2 +# + +echo "VICIDIAL Καλωσήρθες\n"; +echo "\n"; +echo "\n"; +echo "




"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Υποδοχή
 
Agent Login
 
Administration
 
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; + +?> \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_en/admin.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_en/admin.php new file mode 100644 index 00000000..c29afe44 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_en/admin.php @@ -0,0 +1,29 @@ +\n"; +echo"\n"; +echo"\n"; +echo"\n"; +echo"\n"; +echo"click here to continue. . .\n"; +echo"\n"; + +exit; +?> \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_CLOSERstats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_CLOSERstats.php new file mode 100644 index 00000000..93a7bc05 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_CLOSERstats.php @@ -0,0 +1,617 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1714 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 60905-1326 - Added queue time stats +# 71008-1436 - Added shift to be defined in dbconnect.php +# 71025-0021 - Added status breakdown +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +if (strlen($shift)<2) {$shift='ALL';} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="select group_id from vicidial_inbound_groups;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Estadísticas de VDAD Closer\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFICAR | INFORMES \n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "SELECCIONE POR FAVOR Una CAMPAÚA Y La FECHA ARRIBA Y El TECLEO SOMETEN\n";
+}
+
+else
+{
+if ($shift == 'AM') 
+	{
+	$time_BEGIN=$AM_shift_BEGIN;
+	$time_END=$AM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
+	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
+	}
+if ($shift == 'PM') 
+	{
+	$time_BEGIN=$PM_shift_BEGIN;
+	$time_END=$PM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
+	}
+if ($shift == 'ALL') 
+	{
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
+	}
+$query_date_BEGIN = "$query_date $time_BEGIN";   
+$query_date_END = "$query_date $time_END";
+
+
+
+echo "VICIDIAL: Estadísticas de Auto-dial en CLOSER                      $NOW_TIME\n";
+
+echo "\n";
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- TOTALS\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_hold_seconds = '         0';}
+else
+	{
+	$average_hold_seconds = ($row[1] / $row[0]);
+	$average_hold_seconds = round($average_hold_seconds, 0);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+
+echo "Llamadas dentro de esta campaña $TOTALcalls\n";
+echo "Average Call Length for all Calls:            $average_hold_seconds seconds\n";
+
+echo "\n";
+echo "---------- DROPS\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP' and (length_in_sec <= 999 or length_in_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$DROPcalls =	sprintf("%10s", $row[0]);
+if ( ($DROPcalls < 1) or ($TOTALcalls < 1) )
+	{$DROPpercent = '0';}
+else
+	{
+	$DROPpercent = (($DROPcalls / $TOTALcalls) * 100);
+	$DROPpercent = round($DROPpercent, 0);
+	}
+
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_hold_seconds = '         0';}
+else
+	{
+	$average_hold_seconds = ($row[1] / $row[0]);
+	$average_hold_seconds = round($average_hold_seconds, 0);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+
+echo "Total DROP Calls: $DROPcalls  $DROPpercent%\n";
+echo "Average hold time for DROP Calls:             $average_hold_seconds seconds\n";
+
+
+
+##############################
+#########  CALL STATUS STATS
+
+$TOTALcalls = 0;
+
+echo "\n";
+echo "---------- CALL STATUS STATS\n";
+echo "+--------+----------------------+------------+\n";
+echo "| STATUS | DESCRIPTION          | CALLS      |\n";
+echo "+--------+----------------------+------------+\n";
+
+$stmt="SELECT * from vicidial_statuses order by status";
+$rslt=mysql_query($stmt, $link);
+$statuses_to_print = mysql_num_rows($rslt);
+$statuses_list='';
+
+$o=0;
+while ($statuses_to_print > $o) 
+	{
+	$rowx=mysql_fetch_row($rslt);
+	$statname_list["$rowx[0]"] = "$rowx[1]";
+	$o++;
+	}
+
+$stmt="SELECT * from vicidial_campaign_statuses order by status";
+$rslt=mysql_query($stmt, $link);
+$Cstatuses_to_print = mysql_num_rows($rslt);
+
+$o=0;
+while ($Cstatuses_to_print > $o) 
+	{
+	$rowx=mysql_fetch_row($rslt);
+	$statname_list["$rowx[0]"] = "$rowx[1]";
+	$o++;
+	}
+
+$stmt="select count(*),status from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' group by status;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$statuses_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $statuses_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTALcalls = ($TOTALcalls + $row[0]);
+
+	$STATUScount =	sprintf("%10s", $row[0]);while(strlen($STATUScount)>10) {$STATUScount = substr("$STATUScount", 0, -1);}
+	$RAWstatus = $row[1];
+	$status =	sprintf("%-6s", $row[1]);while(strlen($status)>6) {$status = substr("$status", 0, -1);}
+
+	if ($non_latin < 1)
+		{
+		 $status_name =	sprintf("%-20s", $statname_list[$RAWstatus]); 
+		 while(strlen($status_name)>20) {$status_name = substr("$status_name", 0, -1);}	
+		}
+	else
+		{
+		 $status_name =	sprintf("%-60s", $statname_list[$RAWstatus]); 
+		 while(mb_strlen($status_name,'utf-8')>20) {$status_name = mb_substr("$status_name", 0, -1,'utf-8');}	
+		}
+
+
+	echo "| $status | $status_name | $STATUScount |\n";
+
+	$i++;
+	}
+
+$TOTALcalls =		sprintf("%10s", $TOTALcalls);
+
+echo "+--------+----------------------+------------+\n";
+echo "| TOTAL:                        | $TOTALcalls |\n";
+echo "+-------------------------------+------------+\n";
+
+
+
+
+echo "\n";
+echo "---------- QUEUE STATS\n";
+
+$stmt="select count(*),sum(queue_seconds) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and (queue_seconds > 0);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$QUEUEcalls =	sprintf("%10s", $row[0]);
+if ( ($QUEUEcalls < 1) or ($TOTALcalls < 1) )
+	{$QUEUEpercent = '0';}
+else
+	{
+	$QUEUEpercent = (($QUEUEcalls / $TOTALcalls) * 100);
+	$QUEUEpercent = round($QUEUEpercent, 0);
+	}
+
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_queue_seconds = '         0';}
+else
+	{
+	$average_queue_seconds = ($row[1] / $row[0]);
+	$average_queue_seconds = round($average_queue_seconds, 2);
+	$average_queue_seconds = sprintf("%10.2f", $average_queue_seconds);
+	}
+
+if ( ($TOTALcalls < 1) or ($row[1] < 1) )
+	{$average_total_queue_seconds = '         0';}
+else
+	{
+	$average_total_queue_seconds = ($row[1] / $TOTALcalls);
+	$average_total_queue_seconds = round($average_total_queue_seconds, 2);
+	$average_total_queue_seconds = sprintf("%10.2f", $average_total_queue_seconds);
+	}
+
+echo "Total Calls That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
+echo "Average QUEUE Length for queue calls:         $average_queue_seconds seconds\n";
+echo "Average QUEUE Length across all calls:        $average_total_queue_seconds seconds\n";
+
+
+##############################
+#########  USER STATS
+
+$TOTagents=0;
+$TOTcalls=0;
+$TOTtime=0;
+$TOTavg=0;
+
+echo "\n";
+echo "---------- AGENTE STATS\n";
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| AGENTE                    | CALLS      | TIME M   | AVRG M |\n";
+echo "+--------------------------+------------+----------+--------+\n";
+
+$stmt="select vicidial_closer_log.user,full_name,count(*),sum(length_in_sec),avg(length_in_sec) from vicidial_closer_log,vicidial_users where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' and vicidial_closer_log.user is not null and length_in_sec is not null and length_in_sec > 4 and vicidial_closer_log.user=vicidial_users.user group by vicidial_closer_log.user;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTcalls = ($TOTcalls + $row[2]);
+	$TOTtime = ($TOTtime + $row[3]);
+
+	$user =			sprintf("%-6s", $row[0]);
+	$full_name =	sprintf("%-15s", $row[1]); while(strlen($full_name)>15) {$full_name = substr("$full_name", 0, -1);}
+	$USERcalls =	sprintf("%10s", $row[2]);
+	$USERtotTALK =	$row[3];
+	$USERavgTALK =	$row[4];
+
+	$USERtotTALK_M = ($USERtotTALK / 60);
+	$USERtotTALK_M = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$USERtotTALK_MS =		sprintf("%8s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$USERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	echo "| $user - $full_name | $USERcalls | $USERtotTALK_MS | $USERavgTALK_MS |\n";
+
+	$i++;
+	}
+
+if (!$TOTcalls) {$TOTcalls = 1;}
+$TOTavg = ($TOTtime / $TOTcalls);
+$TOTavg = round($TOTavg, 0);
+$TOTavg_M = ($TOTavg / 60);
+$TOTavg_M = round($TOTavg_M, 2);
+$TOTavg_M_int = intval("$TOTavg_M");
+$TOTavg_S = ($TOTavg_M - $TOTavg_M_int);
+$TOTavg_S = ($TOTavg_S * 60);
+$TOTavg_S = round($TOTavg_S, 0);
+if ($TOTavg_S < 10) {$TOTavg_S = "0$TOTavg_S";}
+$TOTavg_MS = "$TOTavg_M_int:$TOTavg_S";
+$TOTavg =		sprintf("%6s", $TOTavg_MS);
+
+$TOTtime_M = ($TOTtime / 60);
+$TOTtime_M = round($TOTtime_M, 2);
+$TOTtime_M_int = intval("$TOTtime_M");
+$TOTtime_S = ($TOTtime_M - $TOTtime_M_int);
+$TOTtime_S = ($TOTtime_S * 60);
+$TOTtime_S = round($TOTtime_S, 0);
+if ($TOTtime_S < 10) {$TOTtime_S = "0$TOTtime_S";}
+$TOTtime_MS = "$TOTtime_M_int:$TOTtime_S";
+$TOTtime =		sprintf("%6s", $TOTtime_MS);
+
+$TOTagents =		sprintf("%10s", $i);
+$TOTcalls =			sprintf("%10s", $TOTcalls);
+$TOTtime =			sprintf("%8s", $TOTtime);
+$TOTavg =			sprintf("%6s", $TOTavg);
+
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| TOTAL Agents: $TOTagents | $TOTcalls | $TOTtime | $TOTavg |\n";
+echo "+--------------------------+------------+----------+--------+\n";
+
+
+##############################
+#########  TIME STATS
+
+echo "\n";
+echo "---------- ESTADÍSTICAS DEL TIEMPO\n";
+
+echo "\n";
+
+$hi_hour_count=0;
+$last_full_record=0;
+$i=0;
+$h=0;
+while ($i <= 96)
+	{
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' and campaign_id='$group';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+	$h++;
+	}
+
+if ($hi_hour_count < 1)
+	{$hour_multiplier = 0;}
+else
+	{
+	$hour_multiplier = (100 / $hi_hour_count);
+	#$hour_multiplier = round($hour_multiplier, 0);
+	}
+
+echo "\n";
+echo "GRÁFICO EN 15 INCREMENTOS MINUCIOSOS DE LAS LLAMADAS TOTALES PUESTAS DE ESTA CAMPAÚA\n";
+
+$k=1;
+$Mk=0;
+$call_scale = '0';
+while ($k <= 102) 
+	{
+	if ($Mk >= 5) 
+		{
+		$Mk=0;
+		if ( ($k < 1) or ($hour_multiplier <= 0) )
+			{$scale_num = 100;}
+		else
+			{
+			$scale_num=($k / $hour_multiplier);
+			$scale_num = round($scale_num, 0);
+			}
+		$LENscale_num = (strlen($scale_num));
+		$k = ($k + $LENscale_num);
+		$call_scale .= "$scale_num";
+		}
+	else
+		{
+		$call_scale .= " ";
+		$k++;   $Mk++;
+		}
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | DROPS | TOTAL |\n";
+echo "| HOUR |$call_scale| DROPS | TOTAL |\n";
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+$ZZ = '00';
+$i=0;
+$h=4;
+$hour= -1;
+$no_lines_yet=1;
+
+while ($i <= 96)
+	{
+	$char_counter=0;
+	$time = '      ';
+	if ($h >= 4) 
+		{
+		$hour++;
+		$h=0;
+		if ($hour < 10) {$hour = "0$hour";}
+		$time = "+$hour$ZZ+";
+		}
+	if ($h == 1) {$time = "   15 ";}
+	if ($h == 2) {$time = "   30 ";}
+	if ($h == 3) {$time = "   45 ";}
+	$Ghour_count = $hour_count[$i];
+	if ($Ghour_count < 1) 
+		{
+		if ( ($no_lines_yet) or ($i > $last_full_record) )
+			{
+			$do_nothing=1;
+			}
+		else
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			echo "|$time|";
+			$k=0;   while ($k <= 102) {echo " ";   $k++;}
+			echo "| $hour_count[$i] |\n";
+			}
+		}
+	else
+		{
+		$no_lines_yet=0;
+		$Xhour_count = ($Ghour_count * $hour_multiplier);
+		$Yhour_count = (99 - $Xhour_count);
+
+		$Gdrop_count = $drop_count[$i];
+		if ($Gdrop_count < 1) 
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "*X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 101) {echo " ";   $char_counter++;}
+			echo "| 0     | $hour_count[$i] |\n";
+
+			}
+		else
+			{
+			$Xdrop_count = ($Gdrop_count * $hour_multiplier);
+
+		#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
+
+			$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
+
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			$drop_count[$i] =	sprintf("%-5s", $drop_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
+			echo "D";   $char_counter++;
+			$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 102) {echo " ";   $char_counter++;}
+			echo "| $drop_count[$i] | $hour_count[$i] |\n";
+			}
+		}
+	
+	
+	$i++;
+	$h++;
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n\n";
+
+
+
+
+
+$ENDtime = date("U");
+$RUNtime = ($ENDtime - $STARTtime);
+echo "\nRun Time: $RUNtime seconds\n";
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_VDADstats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_VDADstats.php new file mode 100644 index 00000000..c8a5109c --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_VDADstats.php @@ -0,0 +1,647 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1718 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 61215-1139 - Added drop percentage of answered and round-2 decimal +# 71008-1436 - Added shift to be defined in dbconnect.php +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +if (strlen($shift)<2) {$shift='ALL';} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="select campaign_id from vicidial_campaigns;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: VDAD Stats\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFICAR | INFORMES \n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "SELECCIONE POR FAVOR Una CAMPAÚA Y La FECHA ARRIBA Y El TECLEO SOMETEN\n";
+}
+
+else
+{
+if ($shift == 'AM') 
+	{
+	$time_BEGIN=$AM_shift_BEGIN;
+	$time_END=$AM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
+	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
+	}
+if ($shift == 'PM') 
+	{
+	$time_BEGIN=$PM_shift_BEGIN;
+	$time_END=$PM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
+	}
+if ($shift == 'ALL') 
+	{
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
+	}
+$query_date_BEGIN = "$query_date $time_BEGIN";   
+$query_date_END = "$query_date $time_END";
+
+
+
+echo "VICIDIAL: Auto-dial Stats                             $NOW_TIME\n";
+
+echo "\n";
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- TOTALS\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_hold_seconds = '         0';}
+else
+	{
+	$average_hold_seconds = ($row[1] / $row[0]);
+	$average_hold_seconds = round($average_hold_seconds, 2);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+echo "Llamadas dentro de esta campaña $TOTALcalls\n";
+echo "Longitud media para las llamadas en segundos: $average_hold_seconds\n";
+
+echo "\n";
+echo "---------- DROPS\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP' and (length_in_sec <= 60 or length_in_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$DROPcalls =	sprintf("%10s", $row[0]);
+$DROPcallsRAW =	$row[0];
+$DROPseconds =	$row[1];
+
+$stmt="select count(*) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status NOT IN('NA','B');";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$ANSWERcalls =	$row[0];
+
+if ( ($DROPcalls < 1) or ($TOTALcalls < 1) )
+	{$DROPpercent = '0';}
+else
+	{
+	$DROPpercent = (($DROPcallsRAW / $TOTALcalls) * 100);
+	$DROPpercent = round($DROPpercent, 2);
+	}
+
+if ( ($DROPcalls < 1) or ($ANSWERcalls < 1) )
+	{$DROPANSWERpercent = '0';}
+else
+	{
+	$DROPANSWERpercent = (($DROPcallsRAW / $ANSWERcalls) * 100);
+	$DROPANSWERpercent = round($DROPANSWERpercent, 2);
+	}
+
+if ( ($DROPseconds < 1) or ($DROPcallsRAW < 1) )
+	{$average_hold_seconds = '         0';}
+else
+	{
+	$average_hold_seconds = ($DROPseconds / $DROPcallsRAW);
+	$average_hold_seconds = round($average_hold_seconds, 2);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+
+echo "Total DROP Calls: $DROPcalls  $DROPpercent%\n";
+echo "Percent of DROP Calls taken out of Answers:   $DROPcalls / $ANSWERcalls  $DROPANSWERpercent%\n";
+echo "Longitud media para las llamadas DROP en segundos:    $average_hold_seconds\n";
+
+echo "\n";
+echo "---------- AUTO-DIAL SIN RESPUESTA\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status IN('NA','B') and (length_in_sec <= 60 or length_in_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$NAcalls =	sprintf("%10s", $row[0]);
+if ( ($NAcalls < 1) or ($TOTALcalls < 1) )
+	{$NApercent = '0';}
+else
+	{
+	$NApercent = (($NAcalls / $TOTALcalls) * 100);
+	$NApercent = round($NApercent, 2);
+	}
+
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_na_seconds = '         0';}
+else
+	{
+	$average_na_seconds = ($row[1] / $row[0]);
+	$average_na_seconds = round($average_na_seconds, 2);
+	$average_na_seconds =	sprintf("%10s", $average_na_seconds);
+	}
+
+echo "Total NA calls -Busy,Disconnect,RingNoAnswer: $NAcalls  $NApercent%\n";
+echo "Longitud media para las Llamadas sin Respuesta en segundos:       $average_na_seconds\n";
+
+
+##############################
+#########  CALL STATUS STATS
+
+$TOTALcalls = 0;
+
+echo "\n";
+echo "---------- CALL STATUS STATS\n";
+echo "+--------+----------------------+------------+\n";
+echo "| STATUS | DESCRIPTION          | CALLS      |\n";
+echo "+--------+----------------------+------------+\n";
+
+$stmt="SELECT * from vicidial_statuses order by status";
+$rslt=mysql_query($stmt, $link);
+$statuses_to_print = mysql_num_rows($rslt);
+$statuses_list='';
+
+$o=0;
+while ($statuses_to_print > $o) 
+	{
+	$rowx=mysql_fetch_row($rslt);
+	$statname_list["$rowx[0]"] = "$rowx[1]";
+	$o++;
+	}
+
+$stmt="SELECT * from vicidial_campaign_statuses where campaign_id='" . mysql_real_escape_string($group) . "' order by status";
+$rslt=mysql_query($stmt, $link);
+$Cstatuses_to_print = mysql_num_rows($rslt);
+
+$o=0;
+while ($Cstatuses_to_print > $o) 
+	{
+	$rowx=mysql_fetch_row($rslt);
+	$statname_list["$rowx[0]"] = "$rowx[1]";
+	$o++;
+	}
+
+$stmt="select count(*),status from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' group by status;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$statuses_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $statuses_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTALcalls = ($TOTALcalls + $row[0]);
+
+	$STATUScount =	sprintf("%10s", $row[0]);while(strlen($STATUScount)>10) {$STATUScount = substr("$STATUScount", 0, -1);}
+	$RAWstatus = $row[1];
+	$status =	sprintf("%-6s", $row[1]);while(strlen($status)>6) {$status = substr("$status", 0, -1);}
+
+	if ($non_latin < 1)
+		{
+		 $status_name =	sprintf("%-20s", $statname_list[$RAWstatus]); 
+		 while(strlen($status_name)>20) {$status_name = substr("$status_name", 0, -1);}	
+		}
+	else
+		{
+		 $status_name =	sprintf("%-60s", $statname_list[$RAWstatus]); 
+		 while(mb_strlen($status_name,'utf-8')>20) {$status_name = mb_substr("$status_name", 0, -1,'utf-8');}	
+		}
+
+
+	echo "| $status | $status_name | $STATUScount |\n";
+
+	$i++;
+	}
+
+$TOTALcalls =		sprintf("%10s", $TOTALcalls);
+
+echo "+--------+----------------------+------------+\n";
+echo "| TOTAL:                        | $TOTALcalls |\n";
+echo "+-------------------------------+------------+\n";
+
+
+##############################
+#########  USER STATS
+
+$TOTagents=0;
+$TOTcalls=0;
+$TOTtime=0;
+$TOTavg=0;
+
+echo "\n";
+echo "---------- AGENTE STATS\n";
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| AGENTE                    | CALLS      | TIME M   | AVRG M |\n";
+echo "+--------------------------+------------+----------+--------+\n";
+
+$stmt="select vicidial_log.user,full_name,count(*),sum(length_in_sec),avg(length_in_sec) from vicidial_log,vicidial_users where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' and vicidial_log.user is not null and length_in_sec is not null and length_in_sec > 4 and vicidial_log.user=vicidial_users.user group by vicidial_log.user;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTcalls = ($TOTcalls + $row[2]);
+	$TOTtime = ($TOTtime + $row[3]);
+
+	$user =	sprintf("%-6s", $row[0]);while(strlen($user)>6) {$user = substr("$user", 0, -1);}
+	if ($non_latin < 1)
+	{
+ 	 $full_name =	sprintf("%-15s", $row[1]); while(strlen($full_name)>15) {$full_name = substr("$full_name", 0, -1);}	
+	}
+	else
+	{
+	 $full_name =	sprintf("%-45s", $row[1]); while(mb_strlen($full_name,'utf-8')>15) {$full_name = mb_substr("$full_name", 0, -1,'utf-8');}	
+	}
+	$USERcalls =	sprintf("%10s", $row[2]);
+	$USERtotTALK =	$row[3];
+	$USERavgTALK =	$row[4];
+
+	$USERtotTALK_M = ($USERtotTALK / 60);
+	$USERtotTALK_M = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$USERtotTALK_MS =		sprintf("%6s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$USERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	echo "| $user - $full_name | $USERcalls |   $USERtotTALK_MS | $USERavgTALK_MS |\n";
+
+	$i++;
+	}
+
+if (!$TOTcalls) {$TOTcalls = 1;}
+$TOTavg = ($TOTtime / $TOTcalls);
+$TOTavg = round($TOTavg, 0);
+$TOTavg_M = ($TOTavg / 60);
+$TOTavg_M = round($TOTavg_M, 2);
+$TOTavg_M_int = intval("$TOTavg_M");
+$TOTavg_S = ($TOTavg_M - $TOTavg_M_int);
+$TOTavg_S = ($TOTavg_S * 60);
+$TOTavg_S = round($TOTavg_S, 0);
+if ($TOTavg_S < 10) {$TOTavg_S = "0$TOTavg_S";}
+$TOTavg_MS = "$TOTavg_M_int:$TOTavg_S";
+$TOTavg =		sprintf("%6s", $TOTavg_MS);
+
+$TOTtime_M = ($TOTtime / 60);
+$TOTtime_M = round($TOTtime_M, 2);
+$TOTtime_M_int = intval("$TOTtime_M");
+$TOTtime_S = ($TOTtime_M - $TOTtime_M_int);
+$TOTtime_S = ($TOTtime_S * 60);
+$TOTtime_S = round($TOTtime_S, 0);
+if ($TOTtime_S < 10) {$TOTtime_S = "0$TOTtime_S";}
+$TOTtime_MS = "$TOTtime_M_int:$TOTtime_S";
+$TOTtime =		sprintf("%6s", $TOTtime_MS);
+
+$TOTagents =		sprintf("%10s", $i);
+$TOTcalls =			sprintf("%10s", $TOTcalls);
+$TOTtime =			sprintf("%8s", $TOTtime);
+$TOTavg =			sprintf("%6s", $TOTavg);
+
+$stmt="select avg(wait_sec) from vicidial_agent_log where event_time >= '$query_date_BEGIN' and event_time <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$AVGwait = $row[0];
+$AVGwait_M = ($AVGwait / 60);
+$AVGwait_M = round($AVGwait_M, 2);
+$AVGwait_M_int = intval("$AVGwait_M");
+$AVGwait_S = ($AVGwait_M - $AVGwait_M_int);
+$AVGwait_S = ($AVGwait_S * 60);
+$AVGwait_S = round($AVGwait_S, 0);
+if ($AVGwait_S < 10) {$AVGwait_S = "0$AVGwait_S";}
+$AVGwait_MS = "$AVGwait_M_int:$AVGwait_S";
+$AVGwait =		sprintf("%6s", $AVGwait_MS);
+
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| TOTAL Agents: $TOTagents | $TOTcalls | $TOTtime | $TOTavg |\n";
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| Average Wait time between calls                    $AVGwait |\n";
+echo "+-----------------------------------------------------------+\n";
+
+##############################
+#########  TIME STATS
+
+echo "\n";
+echo "---------- ESTADÍSTICAS DEL TIEMPO\n";
+
+echo "\n";
+
+$hi_hour_count=0;
+$last_full_record=0;
+$i=0;
+$h=0;
+while ($i <= 96)
+	{
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+	$h++;
+	}
+
+if ($hi_hour_count < 1)
+	{$hour_multiplier = 0;}
+else
+	{
+	$hour_multiplier = (100 / $hi_hour_count);
+	#$hour_multiplier = round($hour_multiplier, 0);
+	}
+
+echo "\n";
+echo "GRÁFICO EN 15 INCREMENTOS MINUCIOSOS DE LAS LLAMADAS TOTALES PUESTAS DE ESTA CAMPAÚA\n";
+
+$k=1;
+$Mk=0;
+$call_scale = '0';
+while ($k <= 102) 
+	{
+	if ($Mk >= 5) 
+		{
+		$Mk=0;
+		if ( ($k < 1) or ($hour_multiplier <= 0) )
+			{$scale_num = 100;}
+		else
+			{
+			$scale_num=($k / $hour_multiplier);
+			$scale_num = round($scale_num, 0);
+			}
+		$LENscale_num = (strlen($scale_num));
+		$k = ($k + $LENscale_num);
+		$call_scale .= "$scale_num";
+		}
+	else
+		{
+		$call_scale .= " ";
+		$k++;   $Mk++;
+		}
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | DROPS | TOTAL |\n";
+echo "| HOUR |$call_scale| DROPS | TOTAL |\n";
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+$ZZ = '00';
+$i=0;
+$h=4;
+$hour= -1;
+$no_lines_yet=1;
+
+while ($i <= 96)
+	{
+	$char_counter=0;
+	$time = '      ';
+	if ($h >= 4) 
+		{
+		$hour++;
+		$h=0;
+		if ($hour < 10) {$hour = "0$hour";}
+		$time = "+$hour$ZZ+";
+		}
+	if ($h == 1) {$time = "   15 ";}
+	if ($h == 2) {$time = "   30 ";}
+	if ($h == 3) {$time = "   45 ";}
+	$Ghour_count = $hour_count[$i];
+	if ($Ghour_count < 1) 
+		{
+		if ( ($no_lines_yet) or ($i > $last_full_record) )
+			{
+			$do_nothing=1;
+			}
+		else
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			echo "|$time|";
+			$k=0;   while ($k <= 102) {echo " ";   $k++;}
+			echo "| $hour_count[$i] |\n";
+			}
+		}
+	else
+		{
+		$no_lines_yet=0;
+		$Xhour_count = ($Ghour_count * $hour_multiplier);
+		$Yhour_count = (99 - $Xhour_count);
+
+		$Gdrop_count = $drop_count[$i];
+		if ($Gdrop_count < 1) 
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "*X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 101) {echo " ";   $char_counter++;}
+			echo "| 0     | $hour_count[$i] |\n";
+
+			}
+		else
+			{
+			$Xdrop_count = ($Gdrop_count * $hour_multiplier);
+
+		#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
+
+			$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
+
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			$drop_count[$i] =	sprintf("%-5s", $drop_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
+			echo "D";   $char_counter++;
+			$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 102) {echo " ";   $char_counter++;}
+			echo "| $drop_count[$i] | $hour_count[$i] |\n";
+			}
+		}
+	
+	
+	$i++;
+	$h++;
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+
+
+
+
+
+$ENDtime = date("U");
+$RUNtime = ($ENDtime - $STARTtime);
+echo "\nRun Time: $RUNtime seconds\n";
+
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_VICIDIAL_hopperlist.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_VICIDIAL_hopperlist.php new file mode 100644 index 00000000..5969cfd1 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_VICIDIAL_hopperlist.php @@ -0,0 +1,169 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1654 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 70115-1614 - Added ALT field for vicidial_hopper alt_dial column +# 71029-0852 - Added list_id to the output +# 71030-2118 - Added priority to display +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and modify_campaigns='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($server_ip)) {$server_ip = '10.10.10.15';} + +$stmt="select campaign_id,campaign_name from vicidial_campaigns order by campaign_id;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$campaigns_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $campaigns_to_print) + { + $row=mysql_fetch_row($rslt); + $campaign_id[$i] =$row[0]; + $campaign_name[$i] =$row[1]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Lista De Hopper\n"; +echo "
\n"; +#echo "\n"; +#echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFICAR \n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "SELECCIONE POR FAVOR Una CAMPAÚA ARRIBA Y El TECLEO SOMETE\n";
+}
+
+else
+{
+
+
+echo "VICIDIAL: Live Current Lista De Hopper                      $NOW_TIME\n";
+
+echo "\n";
+echo "---------- TOTALS\n";
+
+$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+
+echo "Total de Leads en el hopper ahora mismo:       $TOTALcalls\n";
+
+
+##############################
+#########  LEAD STATS
+
+echo "\n";
+echo "---------- LEADS IN HOPPER\n";
+echo "+------+--------+-----------+------------+------------+-------+--------+-------+--------+-------+\n";
+echo "|ORDER |PRIORITY| LEAD ID   | ID DE LA LISTA    | PHONE NUM  | STATE | STATUS | COUNT | GMT    | ALT   |\n";
+echo "+------+--------+-----------+------------+------------+-------+--------+-------+--------+-------+\n";
+
+$stmt="select vicidial_hopper.lead_id,phone_number,vicidial_hopper.state,vicidial_list.status,called_count,vicidial_hopper.gmt_offset_now,hopper_id,alt_dial,vicidial_hopper.list_id,vicidial_hopper.priority from vicidial_hopper,vicidial_list where vicidial_hopper.campaign_id='" . mysql_real_escape_string($group) . "' and vicidial_hopper.lead_id=vicidial_list.lead_id order by priority desc,hopper_id limit 2000;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$FMT_i =		sprintf("%-4s", $i);
+	$lead_id =		sprintf("%-9s", $row[0]);
+	$phone_number =	sprintf("%-10s", $row[1]);
+	$state =		sprintf("%-5s", $row[2]);
+	$status =		sprintf("%-6s", $row[3]);
+	$count =		sprintf("%-5s", $row[4]);
+	$gmt =			sprintf("%-6s", $row[5]);
+	$hopper_id =	sprintf("%-6s", $row[6]);
+	$alt_dial =		sprintf("%-5s", $row[7]);
+	$list_id =		sprintf("%-10s", $row[8]);
+	$priority =		sprintf("%-6s", $row[9]);
+
+if ($DB) {echo "| $FMT_i | $priority | $lead_id | $list_id | $phone_number | $state | $status | $count | $gmt | $hopper_id |\n";}
+else {echo "| $FMT_i | $priority | $lead_id | $list_id | $phone_number | $state | $status | $count | $gmt | $alt_dial |\n";}
+
+	$i++;
+	}
+
+echo "+------+--------+-----------+------------+------------+-------+--------+-------+--------+-------+\n";
+
+
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_admin_log_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_admin_log_display.php new file mode 100644 index 00000000..f7936b12 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_admin_log_display.php @@ -0,0 +1,118 @@ + LICENSE: GPLv2 +### + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$query_date = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$query_date); + +# AST GUI database administration +# AST_admin_log_display.php +# +# CHANGES +# 50325-0932 - First build +# 51123-1443 - removed globals=on requirement +# 60421-1229 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60620-1044 - Added variable filtering to eliminate SQL injection attack threat +# + +$version = '0.0.4'; +$build = '60620-1044'; + +$STARTtime = date("U"); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 8 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDIAL ADMIN LOG DISPLAY"; +echo "\n"; + +# Fri, 25 Mar 2005 + +$DAY_DATE = date("j"); +if ($DAY_DATE < 10) +# {$GREP_DATE = date("D, j M Y");} + {$GREP_DATE = date("D, 0j M Y");} +else + {$GREP_DATE = date("D, j M Y");} + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!$query_date) {$query_date = $GREP_DATE;} + +$Gquery_date = eregi_replace(" ",'\ ',$query_date); +echo "\n"; + +echo "
\n"; +echo "\n"; +echo "\n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+echo "VICIDIAL ADMIN CHANGE LOG                             $NOW_TIME\n";
+
+#passthru("grep $Gquery_date /home/www/htdocs/vicidial/admin_changes_log.txt");
+passthru("grep $Gquery_date $WeBServeRRooT/vicidial/admin_changes_log.txt");
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_agent_performance.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_agent_performance.php new file mode 100644 index 00000000..220a5be5 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_agent_performance.php @@ -0,0 +1,257 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1711 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 70201-1203 - Added non_latin UTF8 output code, widened USER ID to 8 chars +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="select campaign_id from vicidial_campaigns;"; +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$campaigns_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $campaigns_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Agent Performance\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFICAR | INFORMES \n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$group)
+{
+echo "\n";
+echo "PLEASE SELECT A SERVIDOR AND DATE-TIME ABOVE AND CLICK ENVIAR\n";
+echo " NOTE: stats taken from 6 hour shift specified\n";
+}
+
+else
+{
+if ($shift == 'AM') 
+	{
+	$query_date_BEGIN = "$query_date 08:45:00";   
+	$query_date_END = "$query_date 15:33:00";
+	$time_BEGIN = "08:45:00";   
+	$time_END = "15:33:00";
+	}
+if ($shift == 'PM') 
+	{
+	$query_date_BEGIN = "$query_date 15:33:00";   
+	$query_date_END = "$query_date 23:15:00";
+	$time_BEGIN = "15:33:00";   
+	$time_END = "23:15:00";
+	}
+
+echo "VICIDIAL: Agent Performance                             $NOW_TIME\n";
+
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- AGENTS Details -------------\n\n";
+
+echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
+echo "| USER NAME       | ID       | CALLS  | TALK   | TALKAVG| A    | B    | DC   | DNC  | N    | NI   | SALE |\n";
+echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
+
+$stmt="select count(*) as calls,sum(length_in_sec) as talk,full_name,vicidial_users.user,avg(length_in_sec) from vicidial_users,vicidial_log where call_date <= '$query_date_END' and call_date >= '$query_date_BEGIN' and vicidial_users.user=vicidial_log.user and campaign_id='" . mysql_real_escape_string($group) . "' group by full_name order by calls desc limit 1000;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$rows_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $rows_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$TOTcalls=($TOTcalls + $row[0]);
+	$TOTtotTALK=($TOTtotTALK + $row[1]);
+	$calls[$i] =	sprintf("%-6s", $row[0]);
+
+	if ($non_latin < 1)
+	{
+   	 $full_name[$i]=	sprintf("%-15s", $row[2]); 
+	 while(strlen($full_name[$i])>15) {$full_name[$i] = substr("$full_name[$i]", 0, -1);}
+
+	 $user[$i] =		sprintf("%-6s", $row[3]);
+        while(strlen($user[$i])>6) {$user[$i] = substr("$user[$i]", 0, -1);}
+       }
+	else
+	{	
+        $full_name[$i]=	sprintf("%-45s", $row[2]); 
+	 while(mb_strlen($full_name[$i],'utf-8')>15) {$full_name[$i] = mb_substr("$full_name[$i]", 0, -1,'utf-8');}
+
+ 	 $user[$i] =		sprintf("%-18s", $row[3]);
+	 while(mb_strlen($user[$i],'utf-8')>6) {$user[$i] = mb_substr("$user[$i]", 0, -1,'utf-8');}
+	}
+
+	$user[$i] =		sprintf("%-8s", $row[3]);
+	$USERtotTALK =	$row[1];
+	$USERavgTALK =	$row[4];
+
+	$USERtotTALK_M = ($USERtotTALK / 60);
+	$USERtotTALK_M = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$pfUSERtotTALK_MS[$i] =		sprintf("%6s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$pfUSERavgTALK_MS[$i] =		sprintf("%6s", $USERavgTALK_MS);
+	$i++;
+	}
+
+$k=0;
+while($k < $i)
+	{
+	$ctA[$k]="0   "; $ctB[$k]="0   "; $ctDC[$k]="0   "; $ctDNC[$k]="0   "; $ctN[$k]="0   "; $ctNI[$k]="0   "; $ctSALE[$k]="0   "; 
+	$stmt="select count(*),status from vicidial_log where call_date <= '$query_date_END' and call_date >= '$query_date_BEGIN' and user='$user[$k]' and campaign_id='" . mysql_real_escape_string($group) . "' group by status;";
+	if ($non_latin > 0)
+	{
+	$rslt=mysql_query("SET NAMES 'UTF8'");
+	}
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$rows_to_print = mysql_num_rows($rslt);
+	$m=0;
+	while ($m < $rows_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+		if ($row[1] == 'A') {$ctA[$k]=sprintf("%-4s", $row[0]);		$TOT_A = ($TOT_A + $row[0]);}
+		if ($row[1] == 'B') {$ctB[$k]=sprintf("%-4s", $row[0]);		$TOT_B = ($TOT_B + $row[0]);}
+		if ($row[1] == 'DC') {$ctDC[$k]=sprintf("%-4s", $row[0]);	$TOT_DC = ($TOT_DC + $row[0]);}
+		if ($row[1] == 'DNC') {$ctDNC[$k]=sprintf("%-4s", $row[0]);	$TOT_DNC = ($TOT_DNC + $row[0]);}
+		if ($row[1] == 'N') {$ctN[$k]=sprintf("%-4s", $row[0]);		$TOT_N = ($TOT_N + $row[0]);}
+		if ($row[1] == 'NI') {$ctNI[$k]=sprintf("%-4s", $row[0]);	$TOT_NI = ($TOT_NI + $row[0]);}
+		if (($row[1] == 'SALE') || ($row[1] == 'XFER') ) {$ctSALE[$k]=sprintf("%-4s", $row[0]);	$TOT_SALE = ($TOT_SALE + $row[0]);}
+		$m++;
+		}
+	echo "| $full_name[$k] | $user[$k] | $calls[$k] | $pfUSERtotTALK_MS[$k] | $pfUSERavgTALK_MS[$k] | $ctA[$k] | $ctB[$k] | $ctDC[$k] | $ctDNC[$k] | $ctN[$k] | $ctNI[$k] | $ctSALE[$k] |\n";
+
+
+
+	$k++;
+	}
+
+	$TOTcalls =	sprintf("%-7s", $TOTcalls);
+
+	$TOTtotTALK_M = ($TOTtotTALK / 60);
+	$TOTtotTALK_M = round($TOTtotTALK_M, 2);
+	$TOTtotTALK_M_int = intval("$TOTtotTALK_M");
+	$TOTtotTALK_S = ($TOTtotTALK_M - $TOTtotTALK_M_int);
+	$TOTtotTALK_S = ($TOTtotTALK_S * 60);
+	$TOTtotTALK_S = round($TOTtotTALK_S, 0);
+	if ($TOTtotTALK_S < 10) {$TOTtotTALK_S = "0$TOTtotTALK_S";}
+	$TOTtotTALK_MS = "$TOTtotTALK_M_int:$TOTtotTALK_S";
+	$TOTtotTALK_MS =		sprintf("%7s", $TOTtotTALK_MS);
+		while(strlen($TOTtotTALK_MS)>7) {$TOTtotTALK_MS = substr("$TOTtotTALK_MS", 0, -1);}
+
+	$TOT_A = sprintf("%-5s", $TOT_A);
+	$TOT_B = sprintf("%-5s", $TOT_B);
+	$TOT_DC = sprintf("%-5s", $TOT_DC);
+	$TOT_DNC = sprintf("%-5s", $TOT_DNC);
+	$TOT_N = sprintf("%-5s", $TOT_N);
+	$TOT_NI = sprintf("%-5s", $TOT_NI);
+	$TOT_SALE = sprintf("%-5s", $TOT_SALE);
+
+echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
+echo "|  TOTALS                    | $TOTcalls| $TOTtotTALK_MS|        | $TOT_A| $TOT_B| $TOT_DC| $TOT_DNC| $TOT_N| $TOT_NI| $TOT_SALE|\n";
+echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
+
+echo "\n";
+
+}
+
+
+
+?>
+
+
\ No newline at end of file
diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_agent_performance_detail.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_agent_performance_detail.php
new file mode 100644
index 00000000..bce7e506
--- /dev/null
+++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_agent_performance_detail.php
@@ -0,0 +1,557 @@
+    LICENSE: GPLv2
+###
+# CHANGES
+#
+# 71119-2359 - First build
+# 71121-0144 - Replace existing AST_agent_performance_detail.php script with this one
+#            - Fixed zero division bug
+#
+
+require("dbconnect.php");
+
+$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
+$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
+$PHP_SELF=$_SERVER['PHP_SELF'];
+if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
+	elseif (isset($_POST["query_date"]))	{$query_date=$_POST["query_date"];}
+if (isset($_GET["group"]))				{$group=$_GET["group"];}
+	elseif (isset($_POST["group"]))		{$group=$_POST["group"];}
+if (isset($_GET["user_group"]))				{$user_group=$_GET["user_group"];}
+	elseif (isset($_POST["user_group"]))	{$user_group=$_POST["user_group"];}
+if (isset($_GET["shift"]))				{$shift=$_GET["shift"];}
+	elseif (isset($_POST["shift"]))		{$shift=$_POST["shift"];}
+if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
+	elseif (isset($_POST["submit"]))	{$submit=$_POST["submit"];}
+if (isset($_GET["ENVIAR"]))				{$ENVIAR=$_GET["ENVIAR"];}
+	elseif (isset($_POST["ENVIAR"]))	{$ENVIAR=$_POST["ENVIAR"];}
+
+if (strlen($shift)<2) {$shift='ALL';}
+
+$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
+$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
+
+	$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
+	if ($DB) {echo "|$stmt|\n";}
+	if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");}
+	$rslt=mysql_query($stmt, $link);
+	$row=mysql_fetch_row($rslt);
+	$auth=$row[0];
+
+  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
+	{
+    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
+    Header("HTTP/1.0 401 Unauthorized");
+    echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
+    exit;
+	}
+
+$NOW_DATE = date("Y-m-d");
+$NOW_TIME = date("Y-m-d H:i:s");
+$STARTtime = date("U");
+if (!isset($group)) {$group = '';}
+if (!isset($query_date)) {$query_date = $NOW_DATE;}
+
+$stmt="select campaign_id from vicidial_campaigns;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$campaigns_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $campaigns_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$groups[$i] =$row[0];
+	$i++;
+	}
+$stmt="select user_group from vicidial_user_groups;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$user_groups_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $user_groups_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$user_groups[$i] =$row[0];
+	$i++;
+	}
+?>
+
+
+
+
+
+\n";
+echo "VICIDIAL: Agent Performance\n";
+echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFICAR | INFORMES \n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$group)
+{
+echo "\n";
+echo "PLEASE SELECT A CAMPAIGN AND DATE-TIME ABOVE AND CLICK ENVIAR\n";
+echo " NOTE: stats taken from shift specified\n";
+}
+
+else
+{
+if ($shift == 'AM') 
+	{
+	$time_BEGIN=$AM_shift_BEGIN;
+	$time_END=$AM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
+	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
+	}
+if ($shift == 'PM') 
+	{
+	$time_BEGIN=$PM_shift_BEGIN;
+	$time_END=$PM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
+	}
+if ($shift == 'ALL') 
+	{
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
+	}
+$query_date_BEGIN = "$query_date $time_BEGIN";   
+$query_date_END = "$query_date $time_END";
+
+if (strlen($user_group)>0) {$ugSQL="and vicidial_agent_log.user_group='$user_group'";}
+else {$ugSQL='';}
+
+echo "VICIDIAL: Agent Performance Detail                        $NOW_TIME\n";
+
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- AGENTS Details -------------\n\n";
+
+
+
+
+
+$statuses='-';
+$statusesTXT='';
+$statusesHEAD='';
+$statusesHTML='';
+$statusesARY[0]='';
+$j=0;
+$users='-';
+$usersARY[0]='';
+$user_namesARY[0]='';
+$k=0;
+
+$stmt="select count(*) as calls,sum(talk_sec) as talk,full_name,vicidial_users.user,sum(pause_sec),sum(wait_sec),sum(dispo_sec),status from vicidial_users,vicidial_agent_log where event_time <= '$query_date_END' and event_time >= '$query_date_BEGIN' and vicidial_users.user=vicidial_agent_log.user and campaign_id='" . mysql_real_escape_string($group) . "' and pause_sec<36000 and wait_sec<36000 and talk_sec<36000 and dispo_sec<36000 $ugSQL group by full_name,status order by status desc,full_name limit 100000;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$rows_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $rows_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$row[0] = ($row[0] - 1);	# subtract 1 for login/logout event compensation
+	
+	$calls[$i] =		$row[0];
+	$talk_sec[$i] =		$row[1];
+	$full_name[$i] =	$row[2];
+	$user[$i] =			$row[3];
+	$pause_sec[$i] =	$row[4];
+	$wait_sec[$i] =		$row[5];
+	$dispo_sec[$i] =	$row[6];
+	$status[$i] =		$row[7];
+	if ( (!eregi("-$status[$i]-", $statuses)) and (strlen($status[$i])>0) )
+		{
+		$statusesTXT = sprintf("%8s", $status[$i]);
+		$statusesHEAD .= "----------+";
+		$statusesHTML .= " $statusesTXT |";
+		$statuses .= "$status[$i]-";
+		$statusesARY[$j] = $status[$i];
+		$j++;
+		}
+	if (!eregi("-$user[$i]-", $users))
+		{
+		$users .= "$user[$i]-";
+		$usersARY[$k] = $user[$i];
+		$user_namesARY[$k] = $full_name[$i];
+		$k++;
+		}
+
+	$i++;
+	}
+
+
+echo "+-----------------+----------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
+echo "| USER NAME       | ID       | CALLS  | TIME    | PAUSE  | PAUSAVG| WAIT   | WAITAVG| TALK   | TALKAVG| DISPO  | DISPAVG|$statusesHTML\n";
+echo "+-----------------+----------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
+
+
+### BEGIN loop through each user ###
+$m=0;
+while ($m < $k)
+	{
+	$Suser=$usersARY[$m];
+	$Sfull_name=$user_namesARY[$m];
+	$Stime=0;
+	$Scalls=0;
+	$Stalk_sec=0;
+	$Spause_sec=0;
+	$Swait_sec=0;
+	$Sdispo_sec=0;
+	$SstatusesHTML='';
+
+	### BEGIN loop through each status ###
+	$n=0;
+	while ($n < $j)
+		{
+		$Sstatus=$statusesARY[$n];
+		$SstatusTXT='';
+		### BEGIN loop through each stat line ###
+		$i=0; $status_found=0;
+		while ($i < $rows_to_print)
+			{
+			if ( ($Suser=="$user[$i]") and ($Sstatus=="$status[$i]") )
+				{
+				$Scalls =		($Scalls + $calls[$i]);
+				$Stalk_sec =	($Stalk_sec + $talk_sec[$i]);
+				$Spause_sec =	($Spause_sec + $pause_sec[$i]);
+				$Swait_sec =	($Swait_sec + $wait_sec[$i]);
+				$Sdispo_sec =	($Sdispo_sec + $dispo_sec[$i]);
+				$SstatusTXT = sprintf("%8s", $calls[$i]);
+				$SstatusesHTML .= " $SstatusTXT |";
+				$status_found++;
+				}
+			$i++;
+			}
+		if ($status_found < 1)
+			{
+			$SstatusesHTML .= "        0 |";
+			}
+		### END loop through each stat line ###
+		$n++;
+		}
+	### END loop through each status ###
+	$Stime = ($Stalk_sec + $Spause_sec + $Swait_sec + $Sdispo_sec);
+	$TOTcalls=($TOTcalls + $Scalls);
+	$TOTtime=($TOTtime + $Stime);
+	$TOTtotTALK=($TOTtotTALK + $Stalk_sec);
+	$TOTtotWAIT=($TOTtotWAIT + $Swait_sec);
+	$TOTtotPAUSE=($TOTtotPAUSE + $Spause_sec);
+	$TOTtotDISPO=($TOTtotDISPO + $Sdispo_sec);
+	$Stime = ($Stalk_sec + $Spause_sec + $Swait_sec + $Sdispo_sec);
+	if ( ($Scalls > 0) and ($Stalk_sec > 0) ) {$Stalk_avg = ($Stalk_sec/$Scalls);}
+		else {$Stalk_avg=0;}
+	if ( ($Scalls > 0) and ($Spause_sec > 0) ) {$Spause_avg = ($Spause_sec/$Scalls);}
+		else {$Spause_avg=0;}
+	if ( ($Scalls > 0) and ($Swait_sec > 0) ) {$Swait_avg = ($Swait_sec/$Scalls);}
+		else {$Swait_avg=0;}
+	if ( ($Scalls > 0) and ($Sdispo_sec > 0) ) {$Sdispo_avg = ($Sdispo_sec/$Scalls);}
+		else {$Sdispo_avg=0;}
+
+	$Scalls =	sprintf("%6s", $Scalls);
+
+	if ($non_latin < 1)
+	{
+   	 $Sfull_name=	sprintf("%-15s", $Sfull_name); 
+		while(strlen($Sfull_name)>15) {$Sfull_name = substr("$Sfull_name", 0, -1);}
+	 $Suser =		sprintf("%-8s", $Suser);
+        while(strlen($Suser)>8) {$Suser = substr("$Suser", 0, -1);}
+       }
+	else
+	{	
+        $Sfull_name=	sprintf("%-45s", $Sfull_name); 
+	 while(mb_strlen($Sfull_name,'utf-8')>15) {$Sfull_name = mb_substr("$Sfull_name", 0, -1,'utf-8');}
+
+ 		$Suser =	sprintf("%-24s", $Suser);
+	 while(mb_strlen($Suser,'utf-8')>8) {$Suser = mb_substr("$Suser", 0, -1,'utf-8');}
+	}
+
+	$USERtime_M = ($Stime / 60);
+	$USERtime_M = round($USERtime_M, 2);
+	$USERtime_M_int = intval("$USERtime_M");
+	$USERtime_S = ($USERtime_M - $USERtime_M_int);
+	$USERtime_S = ($USERtime_S * 60);
+	$USERtime_S = round($USERtime_S, 0);
+	if ($USERtime_S < 10) {$USERtime_S = "0$USERtime_S";}
+	$USERtime_MS = "$USERtime_M_int:$USERtime_S";
+	$pfUSERtime_MS =		sprintf("%7s", $USERtime_MS);
+
+	$USERtotTALK_M = ($Stalk_sec / 60);
+	$USERtotTALK_M = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$pfUSERtotTALK_MS =		sprintf("%6s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($Stalk_avg / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$pfUSERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	$USERtotPAUSE_M = ($Spause_sec / 60);
+	$USERtotPAUSE_M = round($USERtotPAUSE_M, 2);
+	$USERtotPAUSE_M_int = intval("$USERtotPAUSE_M");
+	$USERtotPAUSE_S = ($USERtotPAUSE_M - $USERtotPAUSE_M_int);
+	$USERtotPAUSE_S = ($USERtotPAUSE_S * 60);
+	$USERtotPAUSE_S = round($USERtotPAUSE_S, 0);
+	if ($USERtotPAUSE_S < 10) {$USERtotPAUSE_S = "0$USERtotPAUSE_S";}
+	$USERtotPAUSE_MS = "$USERtotPAUSE_M_int:$USERtotPAUSE_S";
+	$pfUSERtotPAUSE_MS =		sprintf("%6s", $USERtotPAUSE_MS);
+
+	$USERavgPAUSE_M = ($Spause_avg / 60);
+	$USERavgPAUSE_M = round($USERavgPAUSE_M, 2);
+	$USERavgPAUSE_M_int = intval("$USERavgPAUSE_M");
+	$USERavgPAUSE_S = ($USERavgPAUSE_M - $USERavgPAUSE_M_int);
+	$USERavgPAUSE_S = ($USERavgPAUSE_S * 60);
+	$USERavgPAUSE_S = round($USERavgPAUSE_S, 0);
+	if ($USERavgPAUSE_S < 10) {$USERavgPAUSE_S = "0$USERavgPAUSE_S";}
+	$USERavgPAUSE_MS = "$USERavgPAUSE_M_int:$USERavgPAUSE_S";
+	$pfUSERavgPAUSE_MS =		sprintf("%6s", $USERavgPAUSE_MS);
+
+	$USERtotWAIT_M = ($Swait_sec / 60);
+	$USERtotWAIT_M = round($USERtotWAIT_M, 2);
+	$USERtotWAIT_M_int = intval("$USERtotWAIT_M");
+	$USERtotWAIT_S = ($USERtotWAIT_M - $USERtotWAIT_M_int);
+	$USERtotWAIT_S = ($USERtotWAIT_S * 60);
+	$USERtotWAIT_S = round($USERtotWAIT_S, 0);
+	if ($USERtotWAIT_S < 10) {$USERtotWAIT_S = "0$USERtotWAIT_S";}
+	$USERtotWAIT_MS = "$USERtotWAIT_M_int:$USERtotWAIT_S";
+	$pfUSERtotWAIT_MS =		sprintf("%6s", $USERtotWAIT_MS);
+
+	$USERavgWAIT_M = ($Swait_avg / 60);
+	$USERavgWAIT_M = round($USERavgWAIT_M, 2);
+	$USERavgWAIT_M_int = intval("$USERavgWAIT_M");
+	$USERavgWAIT_S = ($USERavgWAIT_M - $USERavgWAIT_M_int);
+	$USERavgWAIT_S = ($USERavgWAIT_S * 60);
+	$USERavgWAIT_S = round($USERavgWAIT_S, 0);
+	if ($USERavgWAIT_S < 10) {$USERavgWAIT_S = "0$USERavgWAIT_S";}
+	$USERavgWAIT_MS = "$USERavgWAIT_M_int:$USERavgWAIT_S";
+	$pfUSERavgWAIT_MS =		sprintf("%6s", $USERavgWAIT_MS);
+	
+	$USERtotDISPO_M = ($Sdispo_sec / 60);
+	$USERtotDISPO_M = round($USERtotDISPO_M, 2);
+	$USERtotDISPO_M_int = intval("$USERtotDISPO_M");
+	$USERtotDISPO_S = ($USERtotDISPO_M - $USERtotDISPO_M_int);
+	$USERtotDISPO_S = ($USERtotDISPO_S * 60);
+	$USERtotDISPO_S = round($USERtotDISPO_S, 0);
+	if ($USERtotDISPO_S < 10) {$USERtotDISPO_S = "0$USERtotDISPO_S";}
+	$USERtotDISPO_MS = "$USERtotDISPO_M_int:$USERtotDISPO_S";
+	$pfUSERtotDISPO_MS =		sprintf("%6s", $USERtotDISPO_MS);
+
+	$USERavgDISPO_M = ($Sdispo_avg / 60);
+	$USERavgDISPO_M = round($USERavgDISPO_M, 2);
+	$USERavgDISPO_M_int = intval("$USERavgDISPO_M");
+	$USERavgDISPO_S = ($USERavgDISPO_M - $USERavgDISPO_M_int);
+	$USERavgDISPO_S = ($USERavgDISPO_S * 60);
+	$USERavgDISPO_S = round($USERavgDISPO_S, 0);
+	if ($USERavgDISPO_S < 10) {$USERavgDISPO_S = "0$USERavgDISPO_S";}
+	$USERavgDISPO_MS = "$USERavgDISPO_M_int:$USERavgDISPO_S";
+	$pfUSERavgDISPO_MS =		sprintf("%6s", $USERavgDISPO_MS);
+
+	echo "| $Sfull_name | $Suser | $Scalls | $pfUSERtime_MS | $pfUSERtotPAUSE_MS | $pfUSERavgPAUSE_MS | $pfUSERtotWAIT_MS | $pfUSERavgWAIT_MS | $pfUSERtotTALK_MS | $pfUSERavgTALK_MS | $pfUSERtotDISPO_MS | $pfUSERavgDISPO_MS |$SstatusesHTML\n";
+	$m++;
+	}
+### END loop through each user ###
+
+
+###### LAST LINE FORMATTING ##########
+### BEGIN loop through each status ###
+$SUMstatusesHTML='';
+$n=0;
+while ($n < $j)
+	{
+	$Scalls=0;
+	$Sstatus=$statusesARY[$n];
+	$SUMstatusTXT='';
+	### BEGIN loop through each stat line ###
+	$i=0; $status_found=0;
+	while ($i < $rows_to_print)
+		{
+		if ($Sstatus=="$status[$i]")
+			{
+			$Scalls =		($Scalls + $calls[$i]);
+			$status_found++;
+			}
+		$i++;
+		}
+	### END loop through each stat line ###
+	if ($status_found < 1)
+		{
+		$SUMstatusesHTML .= "        0 |";
+		}
+	else
+		{
+		$SUMstatusTXT = sprintf("%8s", $Scalls);
+		$SUMstatusesHTML .= " $SUMstatusTXT |";
+		}
+	$n++;
+	}
+### END loop through each status ###
+
+
+	$TOTcalls =	sprintf("%7s", $TOTcalls);
+	$TOT_AGENTS = sprintf("%-4s", $m);
+
+	$TOTtime_M = ($TOTtime / 60);
+	$TOTtime_M = round($TOTtime_M, 2);
+	$TOTtime_M_int = intval("$TOTtime_M");
+	$TOTtime_S = ($TOTtime_M - $TOTtime_M_int);
+	$TOTtime_S = ($TOTtime_S * 60);
+	$TOTtime_S = round($TOTtime_S, 0);
+	if ($TOTtime_S < 10) {$TOTtime_S = "0$TOTtime_S";}
+	$TOTtime_MS = "$TOTtime_M_int:$TOTtime_S";
+	$TOTtime_MS =		sprintf("%8s", $TOTtime_MS);
+		while(strlen($TOTtime_MS)>8) {$TOTtime_MS = substr("$TOTtime_MS", 0, -1);}
+
+	$TOTtotTALK_M = ($TOTtotTALK / 60);
+	$TOTtotTALK_M = round($TOTtotTALK_M, 2);
+	$TOTtotTALK_M_int = intval("$TOTtotTALK_M");
+	$TOTtotTALK_S = ($TOTtotTALK_M - $TOTtotTALK_M_int);
+	$TOTtotTALK_S = ($TOTtotTALK_S * 60);
+	$TOTtotTALK_S = round($TOTtotTALK_S, 0);
+	if ($TOTtotTALK_S < 10) {$TOTtotTALK_S = "0$TOTtotTALK_S";}
+	$TOTtotTALK_MS = "$TOTtotTALK_M_int:$TOTtotTALK_S";
+	$TOTtotTALK_MS =		sprintf("%8s", $TOTtotTALK_MS);
+		while(strlen($TOTtotTALK_MS)>8) {$TOTtotTALK_MS = substr("$TOTtotTALK_MS", 0, -1);}
+
+	$TOTtotDISPO_M = ($TOTtotDISPO / 60);
+	$TOTtotDISPO_M = round($TOTtotDISPO_M, 2);
+	$TOTtotDISPO_M_int = intval("$TOTtotDISPO_M");
+	$TOTtotDISPO_S = ($TOTtotDISPO_M - $TOTtotDISPO_M_int);
+	$TOTtotDISPO_S = ($TOTtotDISPO_S * 60);
+	$TOTtotDISPO_S = round($TOTtotDISPO_S, 0);
+	if ($TOTtotDISPO_S < 10) {$TOTtotDISPO_S = "0$TOTtotDISPO_S";}
+	$TOTtotDISPO_MS = "$TOTtotDISPO_M_int:$TOTtotDISPO_S";
+	$TOTtotDISPO_MS =		sprintf("%8s", $TOTtotDISPO_MS);
+		while(strlen($TOTtotDISPO_MS)>8) {$TOTtotDISPO_MS = substr("$TOTtotDISPO_MS", 0, -1);}
+
+	$TOTtotPAUSE_M = ($TOTtotPAUSE / 60);
+	$TOTtotPAUSE_M = round($TOTtotPAUSE_M, 2);
+	$TOTtotPAUSE_M_int = intval("$TOTtotPAUSE_M");
+	$TOTtotPAUSE_S = ($TOTtotPAUSE_M - $TOTtotPAUSE_M_int);
+	$TOTtotPAUSE_S = ($TOTtotPAUSE_S * 60);
+	$TOTtotPAUSE_S = round($TOTtotPAUSE_S, 0);
+	if ($TOTtotPAUSE_S < 10) {$TOTtotPAUSE_S = "0$TOTtotPAUSE_S";}
+	$TOTtotPAUSE_MS = "$TOTtotPAUSE_M_int:$TOTtotPAUSE_S";
+	$TOTtotPAUSE_MS =		sprintf("%8s", $TOTtotPAUSE_MS);
+		while(strlen($TOTtotPAUSE_MS)>8) {$TOTtotPAUSE_MS = substr("$TOTtotPAUSE_MS", 0, -1);}
+
+	$TOTtotWAIT_M = ($TOTtotWAIT / 60);
+	$TOTtotWAIT_M = round($TOTtotWAIT_M, 2);
+	$TOTtotWAIT_M_int = intval("$TOTtotWAIT_M");
+	$TOTtotWAIT_S = ($TOTtotWAIT_M - $TOTtotWAIT_M_int);
+	$TOTtotWAIT_S = ($TOTtotWAIT_S * 60);
+	$TOTtotWAIT_S = round($TOTtotWAIT_S, 0);
+	if ($TOTtotWAIT_S < 10) {$TOTtotWAIT_S = "0$TOTtotWAIT_S";}
+	$TOTtotWAIT_MS = "$TOTtotWAIT_M_int:$TOTtotWAIT_S";
+	$TOTtotWAIT_MS =		sprintf("%8s", $TOTtotWAIT_MS);
+		while(strlen($TOTtotWAIT_MS)>8) {$TOTtotWAIT_MS = substr("$TOTtotWAIT_MS", 0, -1);}
+
+
+	$TOTavgTALK_M = ( ($TOTtotTALK / $TOTcalls) / 60);
+	$TOTavgTALK_M = round($TOTavgTALK_M, 2);
+	$TOTavgTALK_M_int = intval("$TOTavgTALK_M");
+	$TOTavgTALK_S = ($TOTavgTALK_M - $TOTavgTALK_M_int);
+	$TOTavgTALK_S = ($TOTavgTALK_S * 60);
+	$TOTavgTALK_S = round($TOTavgTALK_S, 0);
+	if ($TOTavgTALK_S < 10) {$TOTavgTALK_S = "0$TOTavgTALK_S";}
+	$TOTavgTALK_MS = "$TOTavgTALK_M_int:$TOTavgTALK_S";
+	$TOTavgTALK_MS =		sprintf("%6s", $TOTavgTALK_MS);
+		while(strlen($TOTavgTALK_MS)>6) {$TOTavgTALK_MS = substr("$TOTavgTALK_MS", 0, -1);}
+
+	$TOTavgDISPO_M = ( ($TOTtotDISPO / $TOTcalls) / 60);
+	$TOTavgDISPO_M = round($TOTavgDISPO_M, 2);
+	$TOTavgDISPO_M_int = intval("$TOTavgDISPO_M");
+	$TOTavgDISPO_S = ($TOTavgDISPO_M - $TOTavgDISPO_M_int);
+	$TOTavgDISPO_S = ($TOTavgDISPO_S * 60);
+	$TOTavgDISPO_S = round($TOTavgDISPO_S, 0);
+	if ($TOTavgDISPO_S < 10) {$TOTavgDISPO_S = "0$TOTavgDISPO_S";}
+	$TOTavgDISPO_MS = "$TOTavgDISPO_M_int:$TOTavgDISPO_S";
+	$TOTavgDISPO_MS =		sprintf("%6s", $TOTavgDISPO_MS);
+		while(strlen($TOTavgDISPO_MS)>6) {$TOTavgDISPO_MS = substr("$TOTavgDISPO_MS", 0, -1);}
+
+	$TOTavgPAUSE_M = ( ($TOTtotPAUSE / $TOTcalls) / 60);
+	$TOTavgPAUSE_M = round($TOTavgPAUSE_M, 2);
+	$TOTavgPAUSE_M_int = intval("$TOTavgPAUSE_M");
+	$TOTavgPAUSE_S = ($TOTavgPAUSE_M - $TOTavgPAUSE_M_int);
+	$TOTavgPAUSE_S = ($TOTavgPAUSE_S * 60);
+	$TOTavgPAUSE_S = round($TOTavgPAUSE_S, 0);
+	if ($TOTavgPAUSE_S < 10) {$TOTavgPAUSE_S = "0$TOTavgPAUSE_S";}
+	$TOTavgPAUSE_MS = "$TOTavgPAUSE_M_int:$TOTavgPAUSE_S";
+	$TOTavgPAUSE_MS =		sprintf("%6s", $TOTavgPAUSE_MS);
+		while(strlen($TOTavgPAUSE_MS)>6) {$TOTavgPAUSE_MS = substr("$TOTavgPAUSE_MS", 0, -1);}
+
+	$TOTavgWAIT_M = ( ($TOTtotWAIT / $TOTcalls) / 60);
+	$TOTavgWAIT_M = round($TOTavgWAIT_M, 2);
+	$TOTavgWAIT_M_int = intval("$TOTavgWAIT_M");
+	$TOTavgWAIT_S = ($TOTavgWAIT_M - $TOTavgWAIT_M_int);
+	$TOTavgWAIT_S = ($TOTavgWAIT_S * 60);
+	$TOTavgWAIT_S = round($TOTavgWAIT_S, 0);
+	if ($TOTavgWAIT_S < 10) {$TOTavgWAIT_S = "0$TOTavgWAIT_S";}
+	$TOTavgWAIT_MS = "$TOTavgWAIT_M_int:$TOTavgWAIT_S";
+	$TOTavgWAIT_MS =		sprintf("%6s", $TOTavgWAIT_MS);
+		while(strlen($TOTavgWAIT_MS)>6) {$TOTavgWAIT_MS = substr("$TOTavgWAIT_MS", 0, -1);}
+
+
+echo "+-----------------+----------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
+echo "|  TOTALS        AGENTS:$TOT_AGENTS | $TOTcalls| $TOTtime_MS|$TOTtotPAUSE_MS| $TOTavgPAUSE_MS |$TOTtotWAIT_MS| $TOTavgWAIT_MS |$TOTtotTALK_MS| $TOTavgTALK_MS |$TOTtotDISPO_MS| $TOTavgDISPO_MS |$SUMstatusesHTML\n";
+echo "+----------------------------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
+
+echo "\n";
+
+}
+
+
+?>
+
+
\ No newline at end of file
diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_agent_time_sheet.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_agent_time_sheet.php
new file mode 100644
index 00000000..0c562ea2
--- /dev/null
+++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_agent_time_sheet.php
@@ -0,0 +1,286 @@
+    LICENSE: GPLv2
+###
+# CHANGES
+#
+# 60619-1729 - Added variable filtering to eliminate SQL injection attack threat
+#            - Added required user/pass to gain access to this page
+#
+
+require("dbconnect.php");
+
+$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
+$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
+$PHP_SELF=$_SERVER['PHP_SELF'];
+if (isset($_GET["agent"]))				{$agent=$_GET["agent"];}
+	elseif (isset($_POST["agent"]))		{$agent=$_POST["agent"];}
+if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
+	elseif (isset($_POST["query_date"]))		{$query_date=$_POST["query_date"];}
+if (isset($_GET["calls_summary"]))				{$calls_summary=$_GET["calls_summary"];}
+	elseif (isset($_POST["calls_summary"]))		{$calls_summary=$_POST["calls_summary"];}
+if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
+	elseif (isset($_POST["submit"]))		{$submit=$_POST["submit"];}
+if (isset($_GET["ENVIAR"]))				{$ENVIAR=$_GET["ENVIAR"];}
+	elseif (isset($_POST["ENVIAR"]))		{$ENVIAR=$_POST["ENVIAR"];}
+
+$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
+$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
+
+	$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
+	if ($DB) {echo "|$stmt|\n";}
+	$rslt=mysql_query($stmt, $link);
+	$row=mysql_fetch_row($rslt);
+	$auth=$row[0];
+
+  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
+	{
+    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
+    Header("HTTP/1.0 401 Unauthorized");
+    echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
+    exit;
+	}
+
+$NOW_DATE = date("Y-m-d");
+$NOW_TIME = date("Y-m-d H:i:s");
+$STARTtime = date("U");
+if (!isset($query_date)) {$query_date = $NOW_DATE;}
+
+?>
+
+
+
+
+
+\n";
+echo "VICIDIAL: Agent Time Sheet\n";
+echo "VICIDIAL ADMIN: Agent Time Sheet\n";
+echo " - User Stats\n";
+echo " - User Status\n";
+echo " - Modificar Usuario\n";
+echo "
\n"; +echo "
  \n"; +echo "Date: \n"; +echo "User ID: \n"; +echo "\n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$agent)
+{
+echo "\n";
+echo "PLEASE SELECT AN AGENTE ID AND DATE-TIME ABOVE AND CLICK ENVIAR\n";
+echo " NOTE: stats taken from available agent log data\n";
+}
+
+else
+{
+$query_date_BEGIN = "$query_date 00:00:00";   
+$query_date_END = "$query_date 23:59:59";
+$time_BEGIN = "00:00:00";   
+$time_END = "23:59:59";
+
+$stmt="select full_name from vicidial_users where user='$agent';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$full_name = $row[0];
+
+echo "VICIDIAL: Agent Time Sheet                             $NOW_TIME\n";
+
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- AGENTE TIME SHEET: $agent - $full_name -------------\n\n";
+
+if ($calls_summary)
+	{
+	$stmt="select count(*) as calls,sum(talk_sec) as talk,avg(talk_sec),sum(pause_sec),avg(pause_sec),sum(wait_sec),avg(wait_sec),sum(dispo_sec),avg(dispo_sec) from vicidial_agent_log where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' and pause_sec<48800 and wait_sec<48800 and talk_sec<48800 and dispo_sec<48800 limit 1;";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+
+	$TOTAL_TIME = ($row[1] + $row[3] + $row[5] + $row[7]);
+
+		$TOTAL_TIME_H = ($TOTAL_TIME / 3600);
+		$TOTAL_TIME_H = round($TOTAL_TIME_H, 2);
+		$TOTAL_TIME_H_int = intval("$TOTAL_TIME_H");
+		$TOTAL_TIME_M = ($TOTAL_TIME_H - $TOTAL_TIME_H_int);
+		$TOTAL_TIME_M = ($TOTAL_TIME_M * 60);
+		$TOTAL_TIME_M = round($TOTAL_TIME_M, 2);
+		$TOTAL_TIME_M_int = intval("$TOTAL_TIME_M");
+		$TOTAL_TIME_S = ($TOTAL_TIME_M - $TOTAL_TIME_M_int);
+		$TOTAL_TIME_S = ($TOTAL_TIME_S * 60);
+		$TOTAL_TIME_S = round($TOTAL_TIME_S, 0);
+		if ($TOTAL_TIME_S < 10) {$TOTAL_TIME_S = "0$TOTAL_TIME_S";}
+		if ($TOTAL_TIME_M_int < 10) {$TOTAL_TIME_M_int = "0$TOTAL_TIME_M_int";}
+		$TOTAL_TIME_HMS = "$TOTAL_TIME_H_int:$TOTAL_TIME_M_int:$TOTAL_TIME_S";
+		$pfTOTAL_TIME_HMS =		sprintf("%8s", $TOTAL_TIME_HMS);
+
+		$TALK_TIME_H = ($row[1] / 3600);
+		$TALK_TIME_H = round($TALK_TIME_H, 2);
+		$TALK_TIME_H_int = intval("$TALK_TIME_H");
+		$TALK_TIME_M = ($TALK_TIME_H - $TALK_TIME_H_int);
+		$TALK_TIME_M = ($TALK_TIME_M * 60);
+		$TALK_TIME_M = round($TALK_TIME_M, 2);
+		$TALK_TIME_M_int = intval("$TALK_TIME_M");
+		$TALK_TIME_S = ($TALK_TIME_M - $TALK_TIME_M_int);
+		$TALK_TIME_S = ($TALK_TIME_S * 60);
+		$TALK_TIME_S = round($TALK_TIME_S, 0);
+		if ($TALK_TIME_S < 10) {$TALK_TIME_S = "0$TALK_TIME_S";}
+		if ($TALK_TIME_M_int < 10) {$TALK_TIME_M_int = "0$TALK_TIME_M_int";}
+		$TALK_TIME_HMS = "$TALK_TIME_H_int:$TALK_TIME_M_int:$TALK_TIME_S";
+		$pfTALK_TIME_HMS =		sprintf("%8s", $TALK_TIME_HMS);
+
+		$PAUSE_TIME_H = ($row[3] / 3600);
+		$PAUSE_TIME_H = round($PAUSE_TIME_H, 2);
+		$PAUSE_TIME_H_int = intval("$PAUSE_TIME_H");
+		$PAUSE_TIME_M = ($PAUSE_TIME_H - $PAUSE_TIME_H_int);
+		$PAUSE_TIME_M = ($PAUSE_TIME_M * 60);
+		$PAUSE_TIME_M = round($PAUSE_TIME_M, 2);
+		$PAUSE_TIME_M_int = intval("$PAUSE_TIME_M");
+		$PAUSE_TIME_S = ($PAUSE_TIME_M - $PAUSE_TIME_M_int);
+		$PAUSE_TIME_S = ($PAUSE_TIME_S * 60);
+		$PAUSE_TIME_S = round($PAUSE_TIME_S, 0);
+		if ($PAUSE_TIME_S < 10) {$PAUSE_TIME_S = "0$PAUSE_TIME_S";}
+		if ($PAUSE_TIME_M_int < 10) {$PAUSE_TIME_M_int = "0$PAUSE_TIME_M_int";}
+		$PAUSE_TIME_HMS = "$PAUSE_TIME_H_int:$PAUSE_TIME_M_int:$PAUSE_TIME_S";
+		$pfPAUSE_TIME_HMS =		sprintf("%8s", $PAUSE_TIME_HMS);
+
+		$WAIT_TIME_H = ($row[5] / 3600);
+		$WAIT_TIME_H = round($WAIT_TIME_H, 2);
+		$WAIT_TIME_H_int = intval("$WAIT_TIME_H");
+		$WAIT_TIME_M = ($WAIT_TIME_H - $WAIT_TIME_H_int);
+		$WAIT_TIME_M = ($WAIT_TIME_M * 60);
+		$WAIT_TIME_M = round($WAIT_TIME_M, 2);
+		$WAIT_TIME_M_int = intval("$WAIT_TIME_M");
+		$WAIT_TIME_S = ($WAIT_TIME_M - $WAIT_TIME_M_int);
+		$WAIT_TIME_S = ($WAIT_TIME_S * 60);
+		$WAIT_TIME_S = round($WAIT_TIME_S, 0);
+		if ($WAIT_TIME_S < 10) {$WAIT_TIME_S = "0$WAIT_TIME_S";}
+		if ($WAIT_TIME_M_int < 10) {$WAIT_TIME_M_int = "0$WAIT_TIME_M_int";}
+		$WAIT_TIME_HMS = "$WAIT_TIME_H_int:$WAIT_TIME_M_int:$WAIT_TIME_S";
+		$pfWAIT_TIME_HMS =		sprintf("%8s", $WAIT_TIME_HMS);
+
+		$WRAPUP_TIME_H = ($row[7] / 3600);
+		$WRAPUP_TIME_H = round($WRAPUP_TIME_H, 2);
+		$WRAPUP_TIME_H_int = intval("$WRAPUP_TIME_H");
+		$WRAPUP_TIME_M = ($WRAPUP_TIME_H - $WRAPUP_TIME_H_int);
+		$WRAPUP_TIME_M = ($WRAPUP_TIME_M * 60);
+		$WRAPUP_TIME_M = round($WRAPUP_TIME_M, 2);
+		$WRAPUP_TIME_M_int = intval("$WRAPUP_TIME_M");
+		$WRAPUP_TIME_S = ($WRAPUP_TIME_M - $WRAPUP_TIME_M_int);
+		$WRAPUP_TIME_S = ($WRAPUP_TIME_S * 60);
+		$WRAPUP_TIME_S = round($WRAPUP_TIME_S, 0);
+		if ($WRAPUP_TIME_S < 10) {$WRAPUP_TIME_S = "0$WRAPUP_TIME_S";}
+		if ($WRAPUP_TIME_M_int < 10) {$WRAPUP_TIME_M_int = "0$WRAPUP_TIME_M_int";}
+		$WRAPUP_TIME_HMS = "$WRAPUP_TIME_H_int:$WRAPUP_TIME_M_int:$WRAPUP_TIME_S";
+		$pfWRAPUP_TIME_HMS =		sprintf("%8s", $WRAPUP_TIME_HMS);
+
+		$TALK_AVG_M = ($row[2] / 60);
+		$TALK_AVG_M = round($TALK_AVG_M, 2);
+		$TALK_AVG_M_int = intval("$TALK_AVG_M");
+		$TALK_AVG_S = ($TALK_AVG_M - $TALK_AVG_M_int);
+		$TALK_AVG_S = ($TALK_AVG_S * 60);
+		$TALK_AVG_S = round($TALK_AVG_S, 0);
+		if ($TALK_AVG_S < 10) {$TALK_AVG_S = "0$TALK_AVG_S";}
+		$TALK_AVG_MS = "$TALK_AVG_M_int:$TALK_AVG_S";
+		$pfTALK_AVG_MS =		sprintf("%6s", $TALK_AVG_MS);
+
+		$PAUSE_AVG_M = ($row[4] / 60);
+		$PAUSE_AVG_M = round($PAUSE_AVG_M, 2);
+		$PAUSE_AVG_M_int = intval("$PAUSE_AVG_M");
+		$PAUSE_AVG_S = ($PAUSE_AVG_M - $PAUSE_AVG_M_int);
+		$PAUSE_AVG_S = ($PAUSE_AVG_S * 60);
+		$PAUSE_AVG_S = round($PAUSE_AVG_S, 0);
+		if ($PAUSE_AVG_S < 10) {$PAUSE_AVG_S = "0$PAUSE_AVG_S";}
+		$PAUSE_AVG_MS = "$PAUSE_AVG_M_int:$PAUSE_AVG_S";
+		$pfPAUSE_AVG_MS =		sprintf("%6s", $PAUSE_AVG_MS);
+
+		$WAIT_AVG_M = ($row[6] / 60);
+		$WAIT_AVG_M = round($WAIT_AVG_M, 2);
+		$WAIT_AVG_M_int = intval("$WAIT_AVG_M");
+		$WAIT_AVG_S = ($WAIT_AVG_M - $WAIT_AVG_M_int);
+		$WAIT_AVG_S = ($WAIT_AVG_S * 60);
+		$WAIT_AVG_S = round($WAIT_AVG_S, 0);
+		if ($WAIT_AVG_S < 10) {$WAIT_AVG_S = "0$WAIT_AVG_S";}
+		$WAIT_AVG_MS = "$WAIT_AVG_M_int:$WAIT_AVG_S";
+		$pfWAIT_AVG_MS =		sprintf("%6s", $WAIT_AVG_MS);
+
+		$WRAPUP_AVG_M = ($row[8] / 60);
+		$WRAPUP_AVG_M = round($WRAPUP_AVG_M, 2);
+		$WRAPUP_AVG_M_int = intval("$WRAPUP_AVG_M");
+		$WRAPUP_AVG_S = ($WRAPUP_AVG_M - $WRAPUP_AVG_M_int);
+		$WRAPUP_AVG_S = ($WRAPUP_AVG_S * 60);
+		$WRAPUP_AVG_S = round($WRAPUP_AVG_S, 0);
+		if ($WRAPUP_AVG_S < 10) {$WRAPUP_AVG_S = "0$WRAPUP_AVG_S";}
+		$WRAPUP_AVG_MS = "$WRAPUP_AVG_M_int:$WRAPUP_AVG_S";
+		$pfWRAPUP_AVG_MS =		sprintf("%6s", $WRAPUP_AVG_MS);
+
+	echo "LLAMADAS TOTALES TAKEN: $row[0]\n";
+	echo "TALK TIME:               $pfTALK_TIME_HMS     AVERAGE: $pfTALK_AVG_MS\n";
+	echo "PAUSE TIME:              $pfPAUSE_TIME_HMS     AVERAGE: $pfPAUSE_AVG_MS\n";
+	echo "WAIT TIME:               $pfWAIT_TIME_HMS     AVERAGE: $pfWAIT_AVG_MS\n";
+	echo "WRAPUP TIME:             $pfWRAPUP_TIME_HMS     AVERAGE: $pfWRAPUP_AVG_MS\n";
+	echo "----------------------------------------------------------------\n";
+	echo "TOTAL ACTIVE AGENTE TIME: $pfTOTAL_TIME_HMS\n";
+
+	echo "\n";
+	}
+else
+	{
+	echo "Call Activity Summary\n\n";
+
+	}
+
+$stmt="select event_time,UNIX_TIMESTAMP(event_time) from vicidial_agent_log where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' order by event_time limit 1;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+echo "FIRST LOGIN:          $row[0]\n";
+$start = $row[1];
+
+$stmt="select event_time,UNIX_TIMESTAMP(event_time) from vicidial_agent_log where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' order by event_time desc limit 1;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+echo "LAST LOG ACTIVITY:    $row[0]\n";
+$end = $row[1];
+
+$login_time = ($end - $start);
+	$LOGIN_TIME_H = ($login_time / 3600);
+	$LOGIN_TIME_H = round($LOGIN_TIME_H, 2);
+	$LOGIN_TIME_H_int = intval("$LOGIN_TIME_H");
+	$LOGIN_TIME_M = ($LOGIN_TIME_H - $LOGIN_TIME_H_int);
+	$LOGIN_TIME_M = ($LOGIN_TIME_M * 60);
+	$LOGIN_TIME_M = round($LOGIN_TIME_M, 2);
+	$LOGIN_TIME_M_int = intval("$LOGIN_TIME_M");
+	$LOGIN_TIME_S = ($LOGIN_TIME_M - $LOGIN_TIME_M_int);
+	$LOGIN_TIME_S = ($LOGIN_TIME_S * 60);
+	$LOGIN_TIME_S = round($LOGIN_TIME_S, 0);
+	if ($LOGIN_TIME_S < 10) {$LOGIN_TIME_S = "0$LOGIN_TIME_S";}
+	if ($LOGIN_TIME_M_int < 10) {$LOGIN_TIME_M_int = "0$LOGIN_TIME_M_int";}
+	$LOGIN_TIME_HMS = "$LOGIN_TIME_H_int:$LOGIN_TIME_M_int:$LOGIN_TIME_S";
+	$pfLOGIN_TIME_HMS =		sprintf("%8s", $LOGIN_TIME_HMS);
+
+echo "-----------------------------------------\n";
+echo "TOTAL LOGGED-IN TIME:    $pfLOGIN_TIME_HMS\n";
+
+}
+
+
+
+?>
+
+
\ No newline at end of file
diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_inboundEXTstats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_inboundEXTstats.php
new file mode 100644
index 00000000..e85f742c
--- /dev/null
+++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_inboundEXTstats.php
@@ -0,0 +1,400 @@
+    LICENSE: GPLv2
+#
+# CHANGES
+# 60421-1450 - check GET/POST vars lines with isset to not trigger PHP NOTICES
+# 60620-1322 - Added variable filtering to eliminate SQL injection attack threat
+#            - Added required user/pass to gain access to this page
+#
+
+require("dbconnect.php");
+
+$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
+$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
+$PHP_SELF=$_SERVER['PHP_SELF'];
+if (isset($_GET["group"]))					{$group=$_GET["group"];}
+	elseif (isset($_POST["group"]))			{$group=$_POST["group"];}
+if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
+	elseif (isset($_POST["query_date"]))	{$query_date=$_POST["query_date"];}
+if (isset($_GET["server_ip"]))				{$server_ip=$_GET["server_ip"];}
+	elseif (isset($_POST["server_ip"]))		{$server_ip=$_POST["server_ip"];}
+if (isset($_GET["submit"]))					{$submit=$_GET["submit"];}
+	elseif (isset($_POST["submit"]))		{$submit=$_POST["submit"];}
+if (isset($_GET["ENVIAR"]))					{$ENVIAR=$_GET["ENVIAR"];}
+	elseif (isset($_POST["ENVIAR"]))		{$ENVIAR=$_POST["ENVIAR"];}
+
+$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
+$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
+
+	$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
+	if ($DB) {echo "|$stmt|\n";}
+	$rslt=mysql_query($stmt, $link);
+	$row=mysql_fetch_row($rslt);
+	$auth=$row[0];
+
+  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
+	{
+    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
+    Header("HTTP/1.0 401 Unauthorized");
+    echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
+    exit;
+	}
+
+
+$NOW_DATE = date("Y-m-d");
+$NOW_TIME = date("Y-m-d H:i:s");
+$STARTtime = date("U");
+if (!isset($query_date)) {$query_date = $NOW_DATE;}
+if (!isset($server_ip)) {$server_ip = '10.10.11.20';}
+
+$stmt="select extension,full_number,inbound_name from inbound_numbers where server_ip='" . mysql_real_escape_string($server_ip) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$inbound_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $inbound_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$inbound[$i] =$row[0];
+	$fullnum[$i] =$row[1];
+	$inbname[$i] =$row[2];
+	$i++;
+	}
+?>
+
+
+
+
+
+\n";
+#echo"\n";
+echo "ASTERISK: Estadística de Llamadas Entrantes\n";
+echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "SELECCIONE POR FAVOR Un NÚMERO Y La FECHA ARRIBA Y El TECLEO SOMETEN\n";
+}
+
+else
+{
+
+
+echo "ASTERISK: Estadística de Llamadas Entrantes                      $NOW_TIME\n";
+
+echo "\n";
+echo "---------- TOTALS\n";
+
+$extenSQL = "and extension='" . mysql_real_escape_string($group) . "'";
+if (eregi("\*",$group))
+	{$extenSQL = "and extension LIKE \"%$group\"";}
+$stmt="select count(*),sum(length_in_sec) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+$average_hold_seconds = ($row[1] / $row[0]);
+$average_hold_seconds = round($average_hold_seconds, 0);
+$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+
+echo "Llamadas totales que vinieron en este número:       $TOTALcalls\n";
+echo "Average Call Length(seconds) for all Calls:   $average_hold_seconds\n";
+
+echo "\n";
+echo "---------- DROPS\n";
+
+$stmt="select count(*),sum(length_in_sec) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$DROPcalls =	sprintf("%10s", $row[0]);
+$DROPpercent = (($DROPcalls / $TOTALcalls) * 100);
+$DROPpercent = round($DROPpercent, 0);
+
+if ($row[0])
+	{
+	$average_hold_seconds = ($row[1] / $row[0]);
+	$average_hold_seconds = round($average_hold_seconds, 0);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+else {$DROPpercent=0;   $average_hold_seconds=0;}
+echo "Total DROP Calls:   (less than 10 seconds)    $DROPcalls  $DROPpercent%\n";
+echo "Average Call Length(seconds) for DROP Calls:  $average_hold_seconds\n";
+
+
+##############################
+#########  CALLS STATS
+
+echo "\n";
+echo "---------- CALL LISTINGS\n";
+echo "+----------------------+----------------------+--------+---------------------+\n";
+echo "| CALLERID             | CALLERIDNAME         | LENGTH | DATE TIME           |\n";
+echo "+----------------------+----------------------+--------+---------------------+\n";
+
+$stmt="select number_dialed,caller_code,length_in_sec,start_time from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$CID =			sprintf("%-20s", $row[0]);
+	$CIDname =		sprintf("%-20s", $row[1]); while(strlen($full_name)>15) {$full_name = substr("$full_name", 0, -1);}
+	$datetime =		sprintf("%-19s", $row[3]);
+	$USERavgTALK =	$row[2];
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$USERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	echo "| $CID | $CIDname | $USERavgTALK_MS | $datetime |\n";
+
+	$i++;
+	}
+
+echo "+----------------------+----------------------+--------+---------------------+\n";
+
+##############################
+#########  TIME STATS
+
+if ($output == 'FULL')
+	{
+
+	echo "\n";
+	echo "---------- ESTADÍSTICAS DEL TIEMPO\n";
+
+	echo "\n";
+
+	$hi_hour_count=0;
+	$last_full_record=0;
+	$i=0;
+	$h=0;
+	while ($i <= 96)
+		{
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:00:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:14:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$hour_count[$i] = $row[0];
+		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+		if ($hour_count[$i] > 0) {$last_full_record = $i;}
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:00:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:14:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$drop_count[$i] = $row[0];
+		$i++;
+
+
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:15:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:29:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$hour_count[$i] = $row[0];
+		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+		if ($hour_count[$i] > 0) {$last_full_record = $i;}
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:15:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:29:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$drop_count[$i] = $row[0];
+		$i++;
+
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:30:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:44:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$hour_count[$i] = $row[0];
+		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+		if ($hour_count[$i] > 0) {$last_full_record = $i;}
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:30:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:44:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$drop_count[$i] = $row[0];
+		$i++;
+
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:45:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$hour_count[$i] = $row[0];
+		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+		if ($hour_count[$i] > 0) {$last_full_record = $i;}
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:45:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$drop_count[$i] = $row[0];
+		$i++;
+		$h++;
+		}
+
+	$hour_multiplier = (100 / $hi_hour_count);
+	#$hour_multiplier = round($hour_multiplier, 0);
+
+	echo "\n";
+	echo "GRÁFICO EN 15 INCREMENTOS MINUCIOSOS DE LLAMADAS TOTALES\n";
+
+	$k=1;
+	$Mk=0;
+	$call_scale = '0';
+	while ($k <= 102) 
+		{
+		if ($Mk >= 5) 
+			{
+			$Mk=0;
+			$scale_num=($k / $hour_multiplier);
+			$scale_num = round($scale_num, 0);
+			$LENscale_num = (strlen($scale_num));
+			$k = ($k + $LENscale_num);
+			$call_scale .= "$scale_num";
+			}
+		else
+			{
+			$call_scale .= " ";
+			$k++;   $Mk++;
+			}
+		}
+
+
+	echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+	#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | DROPS | TOTAL |\n";
+	echo "| HOUR |$call_scale| DROPS | TOTAL |\n";
+	echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+	$ZZ = '00';
+	$i=0;
+	$h=4;
+	$hour= -1;
+	$no_lines_yet=1;
+
+	while ($i <= 96)
+		{
+		$char_counter=0;
+		$time = '      ';
+		if ($h >= 4) 
+			{
+			$hour++;
+			$h=0;
+			if ($hour < 10) {$hour = "0$hour";}
+			$time = "+$hour$ZZ+";
+			}
+		if ($h == 1) {$time = "   15 ";}
+		if ($h == 2) {$time = "   30 ";}
+		if ($h == 3) {$time = "   45 ";}
+		$Ghour_count = $hour_count[$i];
+		if ($Ghour_count < 1) 
+			{
+			if ( ($no_lines_yet) or ($i > $last_full_record) )
+				{
+				$do_nothing=1;
+				}
+			else
+				{
+				$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+				echo "|$time|";
+				$k=0;   while ($k <= 102) {echo " ";   $k++;}
+				echo "| $hour_count[$i] |\n";
+				}
+			}
+		else
+			{
+			$no_lines_yet=0;
+			$Xhour_count = ($Ghour_count * $hour_multiplier);
+			$Yhour_count = (99 - $Xhour_count);
+
+			$Gdrop_count = $drop_count[$i];
+			if ($Gdrop_count < 1) 
+				{
+				$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+
+				echo "|$time|";
+				$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
+				echo "*X";   $char_counter++;
+				$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+					while ($char_counter <= 101) {echo " ";   $char_counter++;}
+				echo "| 0     | $hour_count[$i] |\n";
+
+				}
+			else
+				{
+				$Xdrop_count = ($Gdrop_count * $hour_multiplier);
+
+			#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
+
+				$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
+
+				$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+				$drop_count[$i] =	sprintf("%-5s", $drop_count[$i]);
+
+				echo "|$time|";
+				$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
+				echo "D";   $char_counter++;
+				$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
+				echo "X";   $char_counter++;
+				$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+					while ($char_counter <= 102) {echo " ";   $char_counter++;}
+				echo "| $drop_count[$i] | $hour_count[$i] |\n";
+				}
+			}
+		
+		
+		$i++;
+		$h++;
+		}
+
+
+	echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+
+	}
+
+
+
+
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_server_performance.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_server_performance.php new file mode 100644 index 00000000..064b65f4 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_server_performance.php @@ -0,0 +1,306 @@ + LICENSE: GPLv2 +# +# CHANGES +# +# 60619-1732 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 70417-1106 - Changed time frame to be definable per time range on a single day +# - Fixed vertical scaling issues +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["begin_query_time"])) {$begin_query_time=$_GET["begin_query_time"];} + elseif (isset($_POST["begin_query_time"])) {$begin_query_time=$_POST["begin_query_time"];} +if (isset($_GET["end_query_time"])) {$end_query_time=$_GET["end_query_time"];} + elseif (isset($_POST["end_query_time"])) {$end_query_time=$_POST["end_query_time"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and modify_servers='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +# path from root to where ploticus files will be stored +$PLOTroot = "vicidial/ploticus"; +$DOCroot = "$WeBServeRRooT/$PLOTroot/"; + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); + +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($begin_query_time)) {$begin_query_time = '09:00:00';} +if (!isset($end_query_time)) {$end_query_time = '15:30:00';} +if (!isset($group)) {$group = '';} + +$stmt="select server_ip from servers;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$servers_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $servers_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Server Performance\n"; +echo "
\n"; +echo "Date:   \n"; +echo "Time: \n"; +echo "to \n"; +echo "Server: \n"; +echo "\n"; +echo "             INFORMES \n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$group)
+{
+echo "\n";
+echo "PLEASE SELECT A SERVER, DATE AND TIME RANGE ABOVE AND CLICK ENVIAR\n";
+}
+
+else
+{
+
+$query_date_BEGIN = "$query_date $begin_query_time";   
+$query_date_END = "$query_date $end_query_time";
+$time_BEGIN = "$begin_query_time";   
+$time_END = "$end_query_time";
+
+echo "VICIDIAL: Server Performance                             $NOW_TIME\n";
+
+echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- TOTALS, PEAKS and AVERAGES\n";
+
+$stmt="select AVG(sysload),AVG(channels_total),MAX(sysload),MAX(channels_total),MAX(processes) from server_performance where start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and server_ip='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$AVGload =	sprintf("%10s", $row[0]);
+$AVGchannels =	sprintf("%10s", $row[1]);
+$HIGHload =	$row[2];
+	$HIGHmulti = intval($HIGHload / 100);
+$HIGHchannels =	$row[3];
+$HIGHprocesses =$row[4];
+if ($row[2] > $row[3]) {$HIGHlimit = $row[2];}
+else {$HIGHlimit = $row[3];}
+if ($HIGHlimit < $row[4]) {$HIGHlimit = $row[4];}
+
+$stmt="select AVG(cpu_user_percent),AVG(cpu_system_percent),AVG(cpu_idle_percent) from server_performance where start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and server_ip='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$AVGcpuUSER =	sprintf("%10s", $row[0]);
+$AVGcpuSYSTEM =	sprintf("%10s", $row[1]);
+$AVGcpuIDLE =	sprintf("%10s", $row[2]);
+
+$stmt="select count(*),SUM(length_in_min) from call_log where extension NOT IN('8365','8366','8367') and  start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and server_ip='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$TOTALcalls =	sprintf("%10s", $row[0]);
+$OFFHOOKtime =	sprintf("%10s", $row[1]);
+
+
+echo "Total Calls in/out on this server:        $TOTALcalls\n";
+echo "Total Off-Hook time on this server (min): $OFFHOOKtime\n";
+echo "Average/Peak channels in use for server:  $AVGchannels / $HIGHchannels\n";
+echo "Average/Peak load for server:             $AVGload / $HIGHload\n";
+echo "Average USER process cpu percentage:      $AVGcpuUSER %\n";
+echo "Average SYSTEM process cpu percentage:    $AVGcpuSYSTEM %\n";
+echo "Average IDLE process cpu percentage:      $AVGcpuIDLE %\n";
+
+echo "\n";
+echo "---------- LINE GRAPH:\n";
+
+
+
+##############################
+#########  Graph stats
+
+$DAT = '.dat';
+$HTM = '.htm';
+$PNG = '.png';
+$filedate = date("Y-m-d_His");
+$DATfile = "$group$query_date$shift$filedate$DAT";
+$HTMfile = "$group$query_date$shift$filedate$HTM";
+$PNGfile = "$group$query_date$shift$filedate$PNG";
+
+$HTMfp = fopen ("$DOCroot/$HTMfile", "a");
+$DATfp = fopen ("$DOCroot/$DATfile", "a");
+
+$stmt="select DATE_FORMAT(start_time,'%H:%i:%s') as timex,sysload,processes,channels_total,live_recordings,cpu_user_percent,cpu_system_percent from server_performance where server_ip='" . mysql_real_escape_string($group) . "' and start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' order by timex;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$rows_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $rows_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$row[5] = intval(($row[5] + $row[6]) * $HIGHmulti);
+	$row[6] = intval($row[6] * $HIGHmulti);
+	fwrite ($DATfp, "$row[5]\t$row[6]\t$row[0]\t$row[1]\t$row[2]\t$row[3]\n");
+	$i++;
+	}
+fclose($DATfp);
+
+$rows_to_max = ($rows_to_print + 100);
+
+#print "rows: $i\n";
+
+$time_scale_abb = '5 minutes';
+$time_scale_tick = '1 minute';
+if ($i > 1000) {$time_scale_abb = '10 minutes';   $time_scale_tick = '2 minutes';}
+if ($i > 2000) {$time_scale_abb = '20 minutes';   $time_scale_tick = '4 minutes';}
+if ($i > 3000) {$time_scale_abb = '30 minutes';   $time_scale_tick = '5 minutes';}
+if ($i > 4000) {$time_scale_abb = '40 minutes';   $time_scale_tick = '10 minutes';}
+if ($i > 5000) {$time_scale_abb = '60 minutes';   $time_scale_tick = '15 minutes';}
+if ($i > 6000) {$time_scale_abb = '90 minutes';   $time_scale_tick = '15 minutes';}
+if ($i > 7000) {$time_scale_abb = '120 minutes';   $time_scale_tick = '30 minutes';}
+
+$HTMcontent  = '';
+$HTMcontent .= "#proc page\n";
+$HTMcontent .= "#if @DEVICE in png,gif\n";
+$HTMcontent .= "   scale: 0.6\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#endif\n";
+$HTMcontent .= "#proc getdata\n";
+$HTMcontent .= "file: $DOCroot/$DATfile\n";
+$HTMcontent .= "fieldnames: userproc sysproc time load processes channels\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc areadef\n";
+$HTMcontent .= "title: Server $group   $query_date_BEGIN to $query_date_END\n";
+$HTMcontent .= "titledetails: size=14  align=C\n";
+$HTMcontent .= "rectangle: 1 1 14 7\n";
+$HTMcontent .= "xscaletype: time hh:mm:ss\n";
+$HTMcontent .= "xrange: $time_BEGIN $time_END\n";
+$HTMcontent .= "yrange: 0 $HIGHlimit\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc xaxis\n";
+$HTMcontent .= "stubs: inc $time_scale_abb\n";
+$HTMcontent .= "minorticinc: $time_scale_tick\n";
+$HTMcontent .= "stubformat: hh:mm:ssa\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc yaxis\n";
+$HTMcontent .= "stubs: inc 50\n";
+$HTMcontent .= "grid: color=yellow\n";
+$HTMcontent .= "gridskip: min\n";
+$HTMcontent .= "ticincrement: 100 1000\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc lineplot\n";
+$HTMcontent .= "xfield: time\n";
+$HTMcontent .= "yfield: userproc\n";
+$HTMcontent .= "linedetails: color=purple width=.5\n";
+$HTMcontent .= "fill: lavender\n";
+$HTMcontent .= "legendlabel: user proc%\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc lineplot\n";
+$HTMcontent .= "xfield: time\n";
+$HTMcontent .= "yfield: sysproc\n";
+$HTMcontent .= "linedetails: color=yelloworange width=.5\n";
+$HTMcontent .= "fill: dullyellow\n";
+$HTMcontent .= "legendlabel: system proc%\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc curvefit\n";
+$HTMcontent .= "xfield: time\n";
+$HTMcontent .= "yfield: load\n";
+$HTMcontent .= "linedetails: color=blue width=.5\n";
+$HTMcontent .= "legendlabel: load\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc curvefit\n";
+$HTMcontent .= "xfield: time\n";
+$HTMcontent .= "yfield: processes\n";
+$HTMcontent .= "linedetails: color=red width=.5\n";
+$HTMcontent .= "legendlabel: processes\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc curvefit\n";
+$HTMcontent .= "xfield: time\n";
+$HTMcontent .= "yfield: channels\n";
+$HTMcontent .= "linedetails: color=green width=.5\n";
+$HTMcontent .= "legendlabel: channels\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc legend\n";
+$HTMcontent .= "location: max-2 max\n";
+$HTMcontent .= "seglen: 0.2\n";
+$HTMcontent .= "\n";
+
+fwrite ($HTMfp, "$HTMcontent");
+fclose($HTMfp);
+
+
+passthru("/usr/local/bin/pl -png $DOCroot/$HTMfile -o $DOCroot/$PNGfile");
+
+sleep(1);
+
+echo "
\n"; +echo "\n"; +echo "\n"; + + +echo ""; + +} + + + +?> + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeonVDAD.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeonVDAD.php new file mode 100644 index 00000000..b9024460 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeonVDAD.php @@ -0,0 +1,374 @@ + LICENSE: GPLv2 +### +# live real-time stats for the VICIDIAL Auto-Dialer +# +# CHANGES +# +# 60620-1037 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 61114-2004 - Changed to display CLOSER and DEFAULT, added trunk shortage +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];} + elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} +if (isset($_GET["closer_display"])) {$closer_display=$_GET["closer_display"];} + elseif (isset($_POST["closer_display"])) {$closer_display=$_POST["closer_display"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +$epochSIXhoursAGO = ($STARTtime - 21600); +$timeSIXhoursAGO = date("Y-m-d H:i:s",$epochSIXhoursAGO); + +$reset_counter++; + +if ($reset_counter > 7) + { + $reset_counter=0; + + $stmt="update park_log set status='HUNGUP' where hangup_time is not null;"; +# $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + + if ($DB) + { + $stmt="delete from park_log where grab_time < '$timeSIXhoursAGO' and (hangup_time is null or hangup_time='');"; +# $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + } + } + +?> + + + +\n"; +echo " + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On VDAD\n"; +echo "
";
+
+###################################################################################
+###### SERVER INFORMATION
+###################################################################################
+
+$stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats where server_ip='" . mysql_real_escape_string($server_ip) . "';";
+$rslt=mysql_query($stmt, $link);
+$row=mysql_fetch_row($rslt);
+$balanceSHORT = $row[0];
+
+echo "SERVER: $server_ip\n";
+
+
+
+###################################################################################
+###### TIME ON SYSTEM
+###################################################################################
+
+if ($closer_display>0) {$closer_display_reverse=0;   $closer_reverse_link='DEFAULT';}
+else {$closer_display_reverse=1;   $closer_reverse_link='CLOSER';}
+
+echo "VICIDIAL: Agents Time On Calls           $NOW_TIME    $closer_reverse_link | INFORMES\n\n";
+
+if ($closer_display>0)
+{
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+echo "| STATION    | USER   | SESSIONID | CHANNEL             | STATUS | CALLTIME | MINUTES | CAMPAIGN     | FRONT  |\n";
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+}
+else
+{
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+\n";
+echo "| STATION    | USER   | SESSIONID | CHANNEL             | STATUS | CALLTIME | MINUTES |\n";
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+\n";
+}
+
+$stmt="select extension,user,conf_exten,channel,status,last_call_time,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),uniqueid,lead_id from vicidial_live_agents where status NOT IN('PAUSED') and server_ip='" . mysql_real_escape_string($server_ip) . "' order by extension;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$talking_to_print = mysql_num_rows($rslt);
+	if ($talking_to_print > 0)
+	{
+	$i=0;
+	while ($i < $talking_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+			if (eregi("READY|PAUSED|CLOSER",$row[4]))
+			{
+			$row[3]='';
+			$row[5]='- WAIT -';
+			$row[6]=$row[7];
+			}
+		$extension[$i] = eregi_replace('Local/',"",$row[0]);
+		$extension[$i] =		sprintf("%-10s", $extension[$i]);
+			while(strlen($extension[$i])>10) {$extension[$i] = substr("$extension[$i]", 0, -1);}
+		$user[$i] =				sprintf("%-6s", $row[1]);
+		$sessionid[$i] =		sprintf("%-9s", $row[2]);
+		$channel[$i] =			sprintf("%-19s", $row[3]);
+			$cc[$i]=0;
+		while ( (strlen($channel[$i]) > 19) and ($cc[$i] < 100) )
+			{
+			$channel[$i] = eregi_replace(".$","",$channel[$i]);   
+			$cc[$i]++;
+			if (strlen($channel[$i]) <= 19) {$cc[$i]=101;}
+			}
+		$status[$i] =			sprintf("%-6s", $row[4]);
+		$start_time[$i] =		sprintf("%-8s", $row[5]);
+			$cd[$i]=0;
+		while ( (strlen($start_time[$i]) > 8) and ($cd[$i] < 100) )
+			{
+			$start_time[$i] = eregi_replace("^.","",$start_time[$i]);   
+			$cd[$i]++;
+			if (strlen($start_time[$i]) <= 8) {$cd[$i]=101;}
+			}
+		$uniqueid[$i] =			$row[8];
+		$lead_id[$i] =			$row[9];
+		$closer[$i] =			$row[1];
+		$call_time_S[$i] = ($STARTtime - $row[6]);
+
+		$call_time_M[$i] = ($call_time_S[$i] / 60);
+		$call_time_M[$i] = round($call_time_M[$i], 2);
+		$call_time_M_int[$i] = intval("$call_time_M[$i]");
+		$call_time_SEC[$i] = ($call_time_M[$i] - $call_time_M_int[$i]);
+		$call_time_SEC[$i] = ($call_time_SEC[$i] * 60);
+		$call_time_SEC[$i] = round($call_time_SEC[$i], 0);
+		if ($call_time_SEC[$i] < 10) {$call_time_SEC[$i] = "0$call_time_SEC[$i]";}
+		$call_time_MS[$i] = "$call_time_M_int[$i]:$call_time_SEC[$i]";
+		$call_time_MS[$i] =		sprintf("%7s", $call_time_MS[$i]);
+
+		if ($closer_display<1)
+			{
+			$G = '';		$EG = '';
+			if ($call_time_M_int[$i] >= 5) {$G=''; $EG='';}
+			if ($call_time_M_int[$i] >= 10) {$G=''; $EG='';}
+			if (eregi("PAUSED",$row[4])) 
+				{
+				if ($call_time_M_int >= 1) 
+					{$i++; continue;} 
+				else
+					{$G=''; $EG='';}
+				}
+			$agentcount++;
+			echo "| $G$extension[$i]$EG | $G$user[$i]$EG | $G$sessionid[$i]$EG | $G$channel[$i]$EG | $G$status[$i]$EG | $G$start_time[$i]$EG | $G$call_time_MS[$i]$EG |\n";
+			}
+		$i++;
+		}
+
+		if ($closer_display>0)
+		{
+
+			$ext_count = $i;
+			$i=0;
+		while ($i < $ext_count)
+			{
+
+			$stmt="select campaign_id from vicidial_auto_calls where lead_id='$lead_id[$i]' and server_ip='" . mysql_real_escape_string($server_ip) . "';";
+			$rslt=mysql_query($stmt, $link);
+			if ($DB) {echo "$stmt\n";}
+			$camp_to_print = mysql_num_rows($rslt);
+			if ($camp_to_print > 0)
+				{
+				$row=mysql_fetch_row($rslt);
+				$campaign = sprintf("%-12s", $row[0]);
+				$camp_color = $row[0];
+				}
+			else
+				{$campaign = 'DEAD        ';   	$camp_color = 'DEAD';}
+			if (eregi("READY|PAUSED|CLOSER",$status[$i]))
+				{$campaign = '            ';   	$camp_color = '';}
+
+			$stmt="select user from vicidial_xfer_log where lead_id='$lead_id[$i]' and closer='$closer[$i]' order by call_date desc limit 1;";
+			$rslt=mysql_query($stmt, $link);
+			if ($DB) {echo "$stmt\n";}
+			$xfer_to_print = mysql_num_rows($rslt);
+			if ($xfer_to_print > 0)
+				{
+				$row=mysql_fetch_row($rslt);
+				$fronter = sprintf("%-6s", $row[0]);
+				}
+			else
+				{$fronter = '      ';}
+
+			$G = '';		$EG = '';
+			$G=""; $EG='';
+		#	if ($call_time_M_int[$i] >= 5) {$G=''; $EG='';}
+		#	if ($call_time_M_int[$i] >= 10) {$G=''; $EG='';}
+
+			echo "| $G$extension[$i]$EG | $G$user[$i]$EG | $G$sessionid[$i]$EG | $G$channel[$i]$EG | $G$status[$i]$EG | $G$start_time[$i]$EG | $G$call_time_MS[$i]$EG | $G$campaign$EG | $G$fronter$EG |\n";
+
+			$i++;
+			}
+		echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+		echo "  $i agentes identificados en el servidor $server_ip\n\n";
+	#	echo "             - Llamadas de 5 minutos o más\n";
+	#	echo "             - Sobre 10 minutos en llamada\n";
+		}
+	else
+		{
+		echo "+------------|--------+-----------+---------------------+--------+----------+---------+\n";
+		echo "  $agentcount agentes identificados en el servidor $server_ip\n\n";
+
+		echo "             - Agentes detenidos brevemente\n";
+		echo "             - Llamadas de 5 minutos o más\n";
+		echo "             - Sobre 10 minutos en llamada\n";
+		}
+
+	}
+	else
+	{
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	echo "*********************************AGENTES SIN LLAMADAS*********************************\n";
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	}
+
+
+###################################################################################
+###### OUTBOUND CALLS
+###################################################################################
+#echo "\n\n";
+echo "----------------------------------------------------------------------------------------";
+echo "\n\n";
+echo "VICIDIAL: Time On VDAD            TRUNK SHORT: $balanceSHORT              $NOW_TIME\n\n";
+echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+echo "| CHANNEL             | STATUS | CAMPAIGN     | PHONE NUMBER       | CALLTIME | MINUTES |\n";
+echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+
+$stmt="select channel,status,campaign_id,phone_code,phone_number,call_time,UNIX_TIMESTAMP(call_time) from vicidial_auto_calls where status NOT IN('XFER') and server_ip='" . mysql_real_escape_string($server_ip) . "' order by auto_call_id desc;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$parked_to_print = mysql_num_rows($rslt);
+	if ($parked_to_print > 0)
+	{
+	$i=0;
+	while ($i < $parked_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+
+		$channel =			sprintf("%-19s", $row[0]);
+			$cc=0;
+		while ( (strlen($channel) > 19) and ($cc < 100) )
+			{
+			$channel = eregi_replace(".$","",$channel);   
+			$cc++;
+			if (strlen($channel) <= 19) {$cc=101;}
+			}
+		$start_time =		sprintf("%-8s", $row[5]);
+			$cd=0;
+		while ( (strlen($start_time) > 8) and ($cd < 100) )
+			{
+			$start_time = eregi_replace("^.","",$start_time);   
+			$cd++;
+			if (strlen($start_time) <= 8) {$cd=101;}
+			}
+		$status =			sprintf("%-6s", $row[1]);
+		$campaign =			sprintf("%-12s", $row[2]);
+			$all_phone = "$row[3]$row[4]";
+		$number_dialed =	sprintf("%-18s", $all_phone);
+		$call_time_S = ($STARTtime - $row[6]);
+
+		$call_time_M = ($call_time_S / 60);
+		$call_time_M = round($call_time_M, 2);
+		$call_time_M_int = intval("$call_time_M");
+		$call_time_SEC = ($call_time_M - $call_time_M_int);
+		$call_time_SEC = ($call_time_SEC * 60);
+		$call_time_SEC = round($call_time_SEC, 0);
+		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+		$call_time_MS = "$call_time_M_int:$call_time_SEC";
+		$call_time_MS =		sprintf("%7s", $call_time_MS);
+		$G = '';		$EG = '';
+		if (eregi("LIVE",$status)) {$G=''; $EG='';}
+	#	if ($call_time_M_int >= 6) {$G=''; $EG='';}
+
+		echo "| $G$channel$EG | $G$status$EG | $G$campaign$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+		$i++;
+		}
+
+		echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+		echo "  $i llamadas en el servidor $server_ip\n\n";
+
+		echo "             - LLAMADAS ACTUALES EN ESPERA\n";
+	#	echo "             - Over 5 minutes on hold\n";
+
+		}
+	else
+	{
+	echo "***************************************************************************************\n";
+	echo "***************************************************************************************\n";
+	echo "*******************************LLAMADAS EN ESPERA*********************************\n";
+	echo "***************************************************************************************\n";
+	echo "***************************************************************************************\n";
+	}
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeonVDAD_closer.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeonVDAD_closer.php new file mode 100644 index 00000000..1230001d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeonVDAD_closer.php @@ -0,0 +1,318 @@ + LICENSE: GPLv2 +### +# live real-time stats for the VICIDIAL Auto-Dialer +# +# CHANGES +# +# 60620-1037 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];} + elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +$epochSIXhoursAGO = ($STARTtime - 21600); +$timeSIXhoursAGO = date("Y-m-d H:i:s",$epochSIXhoursAGO); + +$reset_counter++; + +if ($reset_counter > 7) + { + $reset_counter=0; + + $stmt="update park_log set status='HUNGUP' where hangup_time is not null;"; +# $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + + if ($DB) + { + $stmt="delete from park_log where grab_time < '$timeSIXhoursAGO' and (hangup_time is null or hangup_time='');"; +# $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + } + } + +?> + + + +\n"; +echo " + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On VDAD\n"; +echo "
";
+
+###################################################################################
+###### TIME ON SYSTEM
+###################################################################################
+
+echo "VICIDIAL: Tiempo de los  Agentes En Llamadas        $NOW_TIME    INFORMES\n\n";
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+echo "| STATION    | USER   | SESSIONID | CHANNEL             | STATUS | CALLTIME | MINUTES | CAMPAIGN     | FRONT  |\n";
+echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+
+
+$stmt="select extension,user,conf_exten,channel,status,last_call_time,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),uniqueid,lead_id from vicidial_live_agents where status NOT IN('PAUSED') and server_ip='" . mysql_real_escape_string($server_ip) . "' order by extension;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$talking_to_print = mysql_num_rows($rslt);
+	if ($talking_to_print > 0)
+	{
+	$i=0;
+	while ($i < $talking_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+			if (eregi("READY|PAUSED|CLOSER",$row[4]))
+			{
+			$row[3]='';
+			$row[5]='- WAIT -';
+			$row[6]=$row[7];
+			}
+		$extension[$i] = eregi_replace('Local/',"",$row[0]);
+		$extension[$i] =		sprintf("%-10s", $extension[$i]);
+			while(strlen($extension[$i])>10) {$extension[$i] = substr("$extension[$i]", 0, -1);}
+		$user[$i] =				sprintf("%-6s", $row[1]);
+		$sessionid[$i] =		sprintf("%-9s", $row[2]);
+		$channel[$i] =			sprintf("%-19s", $row[3]);
+			$cc[$i]=0;
+		while ( (strlen($channel[$i]) > 19) and ($cc[$i] < 100) )
+			{
+			$channel[$i] = eregi_replace(".$","",$channel[$i]);   
+			$cc[$i]++;
+			if (strlen($channel[$i]) <= 19) {$cc[$i]=101;}
+			}
+		$status[$i] =			sprintf("%-6s", $row[4]);
+		$start_time[$i] =		sprintf("%-8s", $row[5]);
+			$cd[$i]=0;
+		while ( (strlen($start_time[$i]) > 8) and ($cd[$i] < 100) )
+			{
+			$start_time[$i] = eregi_replace("^.","",$start_time[$i]);   
+			$cd[$i]++;
+			if (strlen($start_time[$i]) <= 8) {$cd[$i]=101;}
+			}
+		$uniqueid[$i] =			$row[8];
+		$lead_id[$i] =			$row[9];
+		$closer[$i] =			$row[1];
+		$call_time_S[$i] = ($STARTtime - $row[6]);
+
+		$call_time_M[$i] = ($call_time_S[$i] / 60);
+		$call_time_M[$i] = round($call_time_M[$i], 2);
+		$call_time_M_int[$i] = intval("$call_time_M[$i]");
+		$call_time_SEC[$i] = ($call_time_M[$i] - $call_time_M_int[$i]);
+		$call_time_SEC[$i] = ($call_time_SEC[$i] * 60);
+		$call_time_SEC[$i] = round($call_time_SEC[$i], 0);
+		if ($call_time_SEC[$i] < 10) {$call_time_SEC[$i] = "0$call_time_SEC[$i]";}
+		$call_time_MS[$i] = "$call_time_M_int[$i]:$call_time_SEC[$i]";
+		$call_time_MS[$i] =		sprintf("%7s", $call_time_MS[$i]);
+		$i++;
+		}
+		$ext_count = $i;
+		$i=0;
+	while ($i < $ext_count)
+		{
+
+		$stmt="select campaign_id from vicidial_auto_calls where lead_id='$lead_id[$i]' and server_ip='" . mysql_real_escape_string($server_ip) . "';";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$camp_to_print = mysql_num_rows($rslt);
+		if ($camp_to_print > 0)
+			{
+			$row=mysql_fetch_row($rslt);
+			$campaign = sprintf("%-12s", $row[0]);
+			$camp_color = $row[0];
+			}
+		else
+			{$campaign = 'DEAD        ';   	$camp_color = 'DEAD';}
+		if (eregi("READY|PAUSED|CLOSER",$status[$i]))
+			{$campaign = '            ';   	$camp_color = '';}
+
+		$stmt="select user from vicidial_xfer_log where lead_id='$lead_id[$i]' and closer='$closer[$i]' order by call_date desc limit 1;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$xfer_to_print = mysql_num_rows($rslt);
+		if ($xfer_to_print > 0)
+			{
+			$row=mysql_fetch_row($rslt);
+			$fronter = sprintf("%-6s", $row[0]);
+			}
+		else
+			{$fronter = '      ';}
+
+		$G = '';		$EG = '';
+		$G=""; $EG='';
+	#	if ($call_time_M_int[$i] >= 5) {$G=''; $EG='';}
+	#	if ($call_time_M_int[$i] >= 10) {$G=''; $EG='';}
+
+		echo "| $G$extension[$i]$EG | $G$user[$i]$EG | $G$sessionid[$i]$EG | $G$channel[$i]$EG | $G$status[$i]$EG | $G$start_time[$i]$EG | $G$call_time_MS[$i]$EG | $G$campaign$EG | $G$fronter$EG |\n";
+
+		$i++;
+		}
+
+		echo "+------------|--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+		echo "  $i agentes identificados en el servidor $server_ip\n\n";
+
+	#	echo "             - Llamadas de 5 minutos o más\n";
+	#	echo "             - Sobre 10 minutos en llamada\n";
+
+	}
+	else
+	{
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	echo "*********************************AGENTES SIN LLAMADAS*********************************\n";
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	}
+
+
+###################################################################################
+###### OUTBOUND CALLS
+###################################################################################
+#echo "\n\n";
+echo "----------------------------------------------------------------------------------------";
+echo "\n\n";
+echo "VICIDIAL: Time On VDAD                                              $NOW_TIME\n\n";
+echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+echo "| CHANNEL             | STATUS | CAMPAIGN     | PHONE NUMBER       | CALLTIME | MINUTES |\n";
+echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+
+#$link=mysql_connect("localhost", "cron", "1234");
+# $linkX=mysql_connect("localhost", "cron", "1234");
+#mysql_select_db("asterisk");
+
+$stmt="select channel,status,campaign_id,phone_code,phone_number,call_time,UNIX_TIMESTAMP(call_time) from vicidial_auto_calls where status NOT IN('XFER') and server_ip='" . mysql_real_escape_string($server_ip) . "' order by auto_call_id desc;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$parked_to_print = mysql_num_rows($rslt);
+	if ($parked_to_print > 0)
+	{
+	$i=0;
+	while ($i < $parked_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+
+		$channel =			sprintf("%-19s", $row[0]);
+			$cc=0;
+		while ( (strlen($channel) > 19) and ($cc < 100) )
+			{
+			$channel = eregi_replace(".$","",$channel);   
+			$cc++;
+			if (strlen($channel) <= 19) {$cc=101;}
+			}
+		$start_time =		sprintf("%-8s", $row[5]);
+			$cd=0;
+		while ( (strlen($start_time) > 8) and ($cd < 100) )
+			{
+			$start_time = eregi_replace("^.","",$start_time);   
+			$cd++;
+			if (strlen($start_time) <= 8) {$cd=101;}
+			}
+		$status =			sprintf("%-6s", $row[1]);
+		$campaign =			sprintf("%-12s", $row[2]);
+			$all_phone = "$row[3]$row[4]";
+		$number_dialed =	sprintf("%-18s", $all_phone);
+		$call_time_S = ($STARTtime - $row[6]);
+
+		$call_time_M = ($call_time_S / 60);
+		$call_time_M = round($call_time_M, 2);
+		$call_time_M_int = intval("$call_time_M");
+		$call_time_SEC = ($call_time_M - $call_time_M_int);
+		$call_time_SEC = ($call_time_SEC * 60);
+		$call_time_SEC = round($call_time_SEC, 0);
+		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+		$call_time_MS = "$call_time_M_int:$call_time_SEC";
+		$call_time_MS =		sprintf("%7s", $call_time_MS);
+		$G = '';		$EG = '';
+		if (eregi("LIVE",$status)) {$G=''; $EG='';}
+	#	if ($call_time_M_int >= 6) {$G=''; $EG='';}
+
+		echo "| $G$channel$EG | $G$status$EG | $G$campaign$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+		$i++;
+		}
+
+		echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+		echo "  $i llamadas en el servidor $server_ip\n\n";
+
+		echo "             - LLAMADAS ACTUALES EN ESPERA\n";
+	#	echo "             - Over 5 minutes on hold\n";
+
+		}
+	else
+	{
+	echo "***************************************************************************************\n";
+	echo "***************************************************************************************\n";
+	echo "*******************************LLAMADAS EN ESPERA*********************************\n";
+	echo "***************************************************************************************\n";
+	echo "***************************************************************************************\n";
+	}
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeonVDADall.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeonVDADall.php new file mode 100644 index 00000000..c625746e --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeonVDADall.php @@ -0,0 +1,826 @@ + LICENSE: GPLv2 +# +# live real-time stats for the VICIDIAL Auto-Dialer all servers +# +# STOP=4000, SLOW=40, GO=4 seconds refresh interval +# +# CHANGELOG: +# 50406-0920 - Added Paused agents < 1 min (Chris Doyle) +# 51130-1218 - Modified layout and info to show all servers in a vicidial system +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60511-1343 - Added leads and drop info at the top of the screen +# 60608-1539 - Fixed CLOSER tallies for active calls +# 60619-1658 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 60626-1453 - Added display of system load to bottom (Angelito Manansala) +# 60901-1123 - Changed display elements at the top of the screen +# 60905-1342 - Fixed non INCALL|QUEUE timer column +# 61002-1642 - Added TRUNK SHORT/FILL stats +# 61101-1318 - Added SIP and IAX Listen and Barge links option +# 61101-1647 - Added Usergroup column and user name option as well as sorting +# 61102-1155 - Made display of columns more modular, added ability to hide server info +# 61215-1131 - Added answered calls and drop percent taken from answered calls +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70123-1151 - Added non_latin options for substr in display variables, thanks Marin Blu +# 70206-1140 - Added call-type statuses to display(A-Auto, M-Manual, I-Inbound/Closer) +# 70619-1339 - Added Status Category tally display +# 71029-1900 - Changed CLOSER-type to not require campaign_id restriction +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["RR"])) {$RR=$_GET["RR"];} + elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["usergroup"])) {$usergroup=$_GET["usergroup"];} + elseif (isset($_POST["usergroup"])) {$usergroup=$_POST["usergroup"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["adastats"])) {$adastats=$_GET["adastats"];} + elseif (isset($_POST["adastats"])) {$adastats=$_POST["adastats"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} +if (isset($_GET["SIPmonitorLINK"])) {$SIPmonitorLINK=$_GET["SIPmonitorLINK"];} + elseif (isset($_POST["SIPmonitorLINK"])) {$SIPmonitorLINK=$_POST["SIPmonitorLINK"];} +if (isset($_GET["IAXmonitorLINK"])) {$IAXmonitorLINK=$_GET["IAXmonitorLINK"];} + elseif (isset($_POST["IAXmonitorLINK"])) {$IAXmonitorLINK=$_POST["IAXmonitorLINK"];} +if (isset($_GET["UGdisplay"])) {$UGdisplay=$_GET["UGdisplay"];} + elseif (isset($_POST["UGdisplay"])) {$UGdisplay=$_POST["UGdisplay"];} +if (isset($_GET["UidORname"])) {$UidORname=$_GET["UidORname"];} + elseif (isset($_POST["UidORname"])) {$UidORname=$_POST["UidORname"];} +if (isset($_GET["orderby"])) {$orderby=$_GET["orderby"];} + elseif (isset($_POST["orderby"])) {$orderby=$_POST["orderby"];} +if (isset($_GET["SERVdisplay"])) {$SERVdisplay=$_GET["SERVdisplay"];} + elseif (isset($_POST["SERVdisplay"])) {$SERVdisplay=$_POST["SERVdisplay"];} + + + +if (!isset($RR)) {$gRRroup=4;} +if (!isset($group)) {$group='';} +if (!isset($usergroup)) {$usergroup='';} +if (!isset($UGdisplay)) {$UGdisplay=0;} # 0=no, 1=yes +if (!isset($UidORname)) {$UidORname=0;} # 0=id, 1=name +if (!isset($orderby)) {$orderby='timeup';} +if (!isset($SERVdisplay)) {$SERVdisplay=1;} # 0=no, 1=yes + +function get_server_load($windows = false) { +$os = strtolower(PHP_OS); +if(strpos($os, "win") === false) { +if(file_exists("/proc/loadavg")) { +$load = file_get_contents("/proc/loadavg"); +$load = explode(' ', $load); +return $load[0]; +} +elseif(function_exists("shell_exec")) { +$load = explode(' ', `uptime`); +return $load[count($load)-1]; +} +else { +return false; +} +} +elseif($windows) { +if(class_exists("COM")) { +$wmi = new COM("WinMgmts:\\\\."); +$cpus = $wmi->InstancesOf("Win32_Processor"); + +$cpuload = 0; +$i = 0; +while ($cpu = $cpus->Next()) { +$cpuload += $cpu->LoadPercentage; +$i++; +} + +$cpuload = round($cpuload / $i, 2); +return "$cpuload%"; +} +else { +return false; +} +} +} + +$load_ave = get_server_load(true); + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$NOW_DAY = date("Y-m-d"); +$NOW_HOUR = date("H:i:s"); +$STARTtime = date("U"); +$epochSIXhoursAGO = ($STARTtime - 21600); +$timeSIXhoursAGO = date("Y-m-d H:i:s",$epochSIXhoursAGO); + +$stmt="select campaign_id from vicidial_campaigns where active='Y';"; +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + +$stmt="select * from vicidial_user_groups;"; +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$usergroups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $usergroups_to_print) + { + $row=mysql_fetch_row($rslt); + $usergroups[$i] =$row[0]; + $i++; + } + +if (!isset($RR)) {$RR=4;} + +$NFB = ''; +$NFE = ''; +$F=''; $FG=''; $B=''; $BG=''; + +?> + + + + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On VDAD Campaña: $group\n"; +echo "
\n"; +echo "VICIDIAL Campaña: \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +if ($UGdisplay > 0) + { + echo "\n"; + } +echo "         \n"; +echo "STOP | "; +echo "SLOW | "; +echo "GO"; +echo "       MODIFICAR | \n"; +echo "SUMMARY | \n"; +echo "INFORMES \n"; +echo "\n\n"; + + +if (!$group) {echo "

please select a campaign from the pulldown above
\n"; exit;} +else +{ +$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select avg(auto_dial_level),min(dial_status_a),min(dial_status_b),min(dial_status_c),min(dial_status_d),min(dial_status_e),min(lead_order),min(lead_filter_id),sum(hopper_level),min(dial_method),avg(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),min(available_only_ratio_tally),min(adaptive_latest_server_time),min(local_call_time),avg(dial_timeout),min(dial_statuses) from vicidial_campaigns;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DIALlev = $row[0]; +$DIALstatusA = $row[1]; +$DIALstatusB = $row[2]; +$DIALstatusC = $row[3]; +$DIALstatusD = $row[4]; +$DIALstatusE = $row[5]; +$DIALorder = $row[6]; +$DIALfilter = $row[7]; +$HOPlev = $row[8]; +$DIALmethod = $row[9]; +$maxDIALlev = $row[10]; +$DROPmax = $row[11]; +$targetDIFF = $row[12]; +$ADAintense = $row[13]; +$ADAavailonly = $row[14]; +$TAPERtime = $row[15]; +$CALLtime = $row[16]; +$DIALtimeout = $row[17]; +$DIALstatuses = $row[18]; + $DIALstatuses = (preg_replace("/ -$|^ /","",$DIALstatuses)); + $DIALstatuses = (ereg_replace(' ',', ',$DIALstatuses)); + +$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select count(*) from vicidial_hopper;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VDhop = $row[0]; + +$stmt="select dialable_leads,calls_today,drops_today,drops_answers_today_pct,differential_onemin,agents_average_onemin,balance_trunk_fill,answers_today,status_category_1,status_category_count_1,status_category_2,status_category_count_2,status_category_3,status_category_count_3,status_category_4,status_category_count_4 from vicidial_campaign_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),min(status_category_1),sum(status_category_count_1),min(status_category_2),sum(status_category_count_2),min(status_category_3),sum(status_category_count_3),min(status_category_4),sum(status_category_count_4) from vicidial_campaign_stats;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DAleads = $row[0]; +$callsTODAY = $row[1]; +$dropsTODAY = $row[2]; +$drpctTODAY = $row[3]; +$diffONEMIN = $row[4]; +$agentsONEMIN = $row[5]; +$balanceFILL = $row[6]; +$answersTODAY = $row[7]; +$VSCcat1 = $row[8]; +$VSCcat1tally = $row[9]; +$VSCcat2 = $row[10]; +$VSCcat2tally = $row[11]; +$VSCcat3 = $row[12]; +$VSCcat3tally = $row[13]; +$VSCcat4 = $row[14]; +$VSCcat4tally = $row[15]; + +if ( ($diffONEMIN != 0) and ($agentsONEMIN > 0) ) + { + $diffpctONEMIN = ( ($diffONEMIN / $agentsONEMIN) * 100); + $diffpctONEMIN = sprintf("%01.2f", $diffpctONEMIN); + } +else {$diffpctONEMIN = '0.00';} + +$stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$balanceSHORT = $row[0]; + +echo "
"; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +if ($adastats>1) + { + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; + + + + +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "
DIAL LEVEL:  $DIALlev    TRUNK SHORT/FILL:  $balanceSHORT / $balanceFILL     FILTER:  $DIALfilter   TIME:   $NOW_TIME
- min   MAX LEVEL:  $maxDIALlev   DROPPED MAX:  $DROPmax%    TARGET DIFF:  $targetDIFF     INTENSITY:  $ADAintense    
DIAL TIMEOUT:  $DIALtimeout  TAPER TIME:  $TAPERtime  LOCAL TIME:  $CALLtime  AVAIL ONLY:  $ADAavailonly  
DIALABLE LEADS:  $DAleads     CALLS TODAY:  $callsTODAY     AVG AGENTS:  $agentsONEMIN     DIAL METHOD:  $DIALmethod    
HOPPER LEVEL:  $HOPlev     DROPPED / ANSWERED:  $dropsTODAY / $answersTODAY   DL DIFF:  $diffONEMIN     STATUSES:  $DIALstatuses    
LEADS IN HOPPER:  $VDhop     DROPPED PERCENT:  "; +if ($drpctTODAY >= $DROPmax) + {echo "$drpctTODAY%";} +else + {echo "$drpctTODAY%";} +echo "    DIFF:  $diffpctONEMIN%     ORDER:  $DIALorder    
"; +if ( (!eregi('NULL',$VSCcat1)) and (strlen($VSCcat1)>0) ) + {echo "$VSCcat1:   $VSCcat1tally       \n";} +if ( (!eregi('NULL',$VSCcat2)) and (strlen($VSCcat2)>0) ) + {echo "$VSCcat2:   $VSCcat2tally       \n";} +if ( (!eregi('NULL',$VSCcat3)) and (strlen($VSCcat3)>0) ) + {echo "$VSCcat3:   $VSCcat3tally       \n";} +if ( (!eregi('NULL',$VSCcat4)) and (strlen($VSCcat4)>0) ) + {echo "$VSCcat4:   $VSCcat4tally       \n";} +echo "
"; + +if ($adastats<2) + { + echo "+ VIEW MORE SETTINGS"; + } +if ($UGdisplay>0) + { + echo "       PIEL USER GROUP"; + } +else + { + echo "       VIEW USER GROUP"; + } +if ($UidORname>0) + { + echo "       DEMOSTRACIÓN AGENTE ID"; + } +else + { + echo "       DEMOSTRACIÓN AGENTE NAME"; + } +if ($SERVdisplay>0) + { + echo "       PIEL SERVIDOR INFO"; + } +else + { + echo "       DEMOSTRACIÓN SERVIDOR INFO"; + } +echo "
"; + +echo "\n\n"; +} +################################################################################### +###### OUTBOUND CALLS +################################################################################### +if ($campaign_allow_inbound > 0) + { + $stmt="select closer_campaigns from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = preg_replace("/^ | -$/","",$row[0]); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') and ( (call_type='IN' and campaign_id IN($closer_campaigns)) or (campaign_id='" . mysql_real_escape_string($group) . "' and call_type='OUT') );"; + } +else + { + if ($group=='XXXX-ALL-ACTIVE-XXXX') {$groupSQL = '';} + else {$groupSQL = " and campaign_id='" . mysql_real_escape_string($group) . "'";} + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') $groupSQL;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$parked_to_print = mysql_num_rows($rslt); + if ($parked_to_print > 0) + { + $i=0; + $out_total=0; + $out_ring=0; + $out_live=0; + while ($i < $parked_to_print) + { + $row=mysql_fetch_row($rslt); + + if (eregi("LIVE",$row[0])) + {$out_live++;} + else + { + if (eregi("CLOSER",$row[0])) + {$nothing=1;} + else + {$out_ring++;} + } + $out_total++; + $i++; + } + + if ($out_live > 0) {$F=''; $FG='';} + if ($out_live > 4) {$F=''; $FG='';} + if ($out_live > 9) {$F=''; $FG='';} + if ($out_live > 14) {$F=''; $FG='';} + + if ($campaign_allow_inbound > 0) + {echo "$NFB$out_total$NFE current active calls      \n";} + else + {echo "$NFB$out_total$NFE calls being placed       \n";} + + echo "$NFB$out_ring$NFE calls ringing         \n"; + echo "$NFB$F  $out_live $FG$NFE calls waiting for agents       \n"; + } + else + { + echo "LLAMADAS EN ESPERA\n"; + } + + +################################################################################### +###### TIME ON SYSTEM +################################################################################### + +$agent_incall=0; +$agent_ready=0; +$agent_paused=0; +$agent_total=0; + +$Aecho = ''; +$Aecho .= "VICIDIAL: Agents Time On Calls Campaña: $group $NOW_TIME\n\n"; + + +$HDbegin = "+"; +$HTbegin = "|"; +$HDstation = "------------+"; +$HTstation = " STATION |"; +$HDuser = "--------------------+"; +$HTuser = " USER |"; +$HDusergroup = "--------------+"; +$HTusergroup = " USER GROUP |"; +$HDsessionid = "------------------+"; +$HTsessionid = " SESSIONID |"; +$HDbarge = "-------+"; +$HTbarge = " BARGE |"; +$HDstatus = "----------+"; +$HTstatus = " STATUS |"; +$HDserver_ip = "-----------------+"; +$HTserver_ip = " SERVIDOR IP |"; +$HDcall_server_ip = "-----------------+"; +$HTcall_server_ip = " CALL SERVIDOR IP |"; +$HDtime = "---------+"; +$HTtime = " MM:SS |"; +$HDcampaign = "------------+"; +$HTcampaign = " CAMPAIGN |"; + +if ($UGdisplay < 1) + { + $HDusergroup = ''; + $HTusergroup = ''; + } +if ( ($SIPmonitorLINK<1) && ($IAXmonitorLINK<1) ) + { + $HDsessionid = "-----------+"; + $HTsessionid = " SESSIONID |"; + } +if ( ($SIPmonitorLINK<2) && ($IAXmonitorLINK<2) ) + { + $HDbarge = ''; + $HTbarge = ''; + } +if ($SERVdisplay < 1) + { + $HDserver_ip = ''; + $HTserver_ip = ''; + $HDcall_server_ip = ''; + $HTcall_server_ip = ''; + } + + + +$Aline = "$HDbegin$HDstation$HDuser$HDusergroup$HDsessionid$HDbarge$HDstatus$HDserver_ip$HDcall_server_ip$HDtime$HDcampaign\n"; +$Bline = "$HTbegin$HTstation$HTuser$HTusergroup$HTsessionid$HTbarge$HTstatus$HTserver_ip$HTcall_server_ip$HTtime$HTcampaign\n"; +$Aecho .= "$Aline"; +$Aecho .= "$Bline"; +$Aecho .= "$Aline"; + +if ($orderby=='timeup') {$orderSQL='status,last_call_time';} +if ($orderby=='timedown') {$orderSQL='status desc,last_call_time desc';} +if ($orderby=='campaignup') {$orderSQL='campaign_id,status,last_call_time';} +if ($orderby=='campaigndown') {$orderSQL='campaign_id desc,status desc,last_call_time desc';} +if ($orderby=='groupup') {$orderSQL='user_group,status,last_call_time';} +if ($orderby=='groupdown') {$orderSQL='user_group desc,status desc,last_call_time desc';} +if ($UidORname > 0) + { + if ($orderby=='userup') {$orderSQL='full_name,status,last_call_time';} + if ($orderby=='userdown') {$orderSQL='full_name desc,status desc,last_call_time desc';} + } +else + { + if ($orderby=='userup') {$orderSQL='vicidial_live_agents.user';} + if ($orderby=='userdown') {$orderSQL='vicidial_live_agents.user desc';} + } + +if ($group=='XXXX-ALL-ACTIVE-XXXX') {$groupSQL = '';} +else {$groupSQL = " and campaign_id='" . mysql_real_escape_string($group) . "'";} +if (strlen($usergroup)<1) {$usergroupSQL = '';} +else {$usergroupSQL = " and user_group='" . mysql_real_escape_string($usergroup) . "'";} + +$stmt="select extension,vicidial_live_agents.user,conf_exten,status,server_ip,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),call_server_ip,campaign_id,vicidial_users.user_group,vicidial_users.full_name,vicidial_live_agents.comments from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user $groupSQL $usergroupSQL order by $orderSQL;"; + +#$stmt="select extension,vicidial_live_agents.user,conf_exten,status,server_ip,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),call_server_ip,campaign_id,vicidial_users.user_group,vicidial_users.full_name from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user and campaign_id='" . mysql_real_escape_string($group) . "' order by $orderSQL;"; + +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + $agentcount=0; + while ($i < $talking_to_print) + { + $row=mysql_fetch_row($rslt); + if (eregi("READY|PAUSED",$row[3])) + { + $row[5]=$row[6]; + } + if ($non_latin < 1) + { + $extension = eregi_replace('Local/',"",$row[0]); + $extension = sprintf("%-10s", $extension); + while(strlen($extension)>10) {$extension = substr("$extension", 0, -1);} + } + else + { + $extension = eregi_replace('Local/',"",$row[0]); + $extension = sprintf("%-40s", $extension); + while(mb_strlen($extension, 'utf-8')>10) {$extension = mb_substr("$extension", 0, -1,'utf8');} + } + $Luser = $row[1]; + $user = sprintf("%-18s", $row[1]); + $Lsessionid = $row[2]; + $sessionid = sprintf("%-9s", $row[2]); + $Lstatus = $row[3]; + $status = sprintf("%-6s", $row[3]); + $server_ip = sprintf("%-15s", $row[4]); + $call_server_ip = sprintf("%-15s", $row[7]); + $campaign_id = sprintf("%-10s", $row[8]); + $comments= $row[11]; + + if (eregi("INCALL",$Lstatus)) + { + if ( (eregi("AUTO",$comments)) or (strlen($comments)<1) ) + {$CM='A';} + else + { + if (eregi("INBOUND",$comments)) + {$CM='I';} + else + {$CM='M';} + } + } + else {$CM=' ';} + + if ($UGdisplay > 0) + { + if ($non_latin < 1) + { + $user_group = sprintf("%-12s", $row[9]); + while(strlen($user_group)>12) {$user_group = substr("$user_group", 0, -1);} + } + else + { + $user_group = sprintf("%-40s", $row[9]); + while(mb_strlen($user_group, 'utf-8')>12) {$user_group = mb_substr("$user_group", 0, -1,'utf8');} + } + } + if ($UidORname > 0) + { + if ($non_latin < 1) + { + $user = sprintf("%-18s", $row[10]); + while(strlen($user)>18) {$user = substr("$user", 0, -1);} + } + else + { + $user = sprintf("%-40s", $row[10]); + while(mb_strlen($user, 'utf-8')>18) {$user = mb_substr("$user", 0, -1,'utf8');} + } + } + if (!eregi("INCALL|QUEUE",$row[3])) + {$call_time_S = ($STARTtime - $row[6]);} + else + {$call_time_S = ($STARTtime - $row[5]);} + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + if ($Lstatus=='INCALL') + { + if ($call_time_S >= 10) {$G=''; $EG='';} + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + # if ($call_time_M_int >= 10) {$G=''; $EG='';} + } + if (eregi("PAUSED",$row[3])) + { + if ($call_time_M_int >= 30) + {$i++; continue;} + else + { + $agent_paused++; $agent_total++; + $G=''; $EG=''; + if ($call_time_S >= 10) {$G=''; $EG='';} + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + } + } +# if ( (strlen($row[7])> 4) and ($row[7] != "$row[4]") ) +# {$G=''; $EG='';} + + if ( (eregi("INCALL",$status)) or (eregi("QUEUE",$status)) ) {$agent_incall++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) {$agent_ready++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) + { + $G=''; $EG=''; + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + } + + $L=''; + $R=''; + if ($SIPmonitorLINK>0) {$L=" LISTEN"; $R='';} + if ($IAXmonitorLINK>0) {$L=" LISTEN"; $R='';} + if ($SIPmonitorLINK>1) {$R=" | BARGE";} + if ($IAXmonitorLINK>1) {$R=" | BARGE";} + + if ($UGdisplay > 0) {$UGD = " $G$user_group$EG |";} + else {$UGD = "";} + + if ($SERVdisplay > 0) {$SVD = "$G$server_ip$EG | $G$call_server_ip$EG | ";} + else {$SVD = "";} + + $agentcount++; + + $Aecho .= "| $G$extension$EG | $G$user$EG |$UGD $G$sessionid$EG$L$R | $G$status$EG $CM | $SVD$G$call_time_MS$EG | $G$campaign_id$EG |\n"; + + $i++; + } + + $Aecho .= "$Aline"; + $Aecho .= " $agentcount agents logged in on all servers\n"; + $Aecho .= " System Load Average: $load_ave\n\n"; + + # $Aecho .= " - Balanced call\n"; + $Aecho .= " - Agent waiting for call\n"; + $Aecho .= " - Agent waiting for call > 1 minute\n"; + $Aecho .= " - Agent waiting for call > 5 minutes\n"; + $Aecho .= " - Agent on call > 10 seconds\n"; + $Aecho .= " - Agent on call > 1 minute\n"; + $Aecho .= " - Agent on call > 5 minutes\n"; + $Aecho .= " - Agent Paused > 10 seconds\n"; + $Aecho .= " - Agent Paused > 1 minute\n"; + $Aecho .= " - Agent Paused > 5 minutes\n"; + + if ($agent_ready > 0) {$B=''; $BG='';} + if ($agent_ready > 4) {$B=''; $BG='';} + if ($agent_ready > 9) {$B=''; $BG='';} + if ($agent_ready > 14) {$B=''; $BG='';} + + + echo "\n
\n"; + + echo "$NFB$agent_total$NFE agents logged in         \n"; + echo "$NFB$agent_incall$NFE agents in calls       \n"; + echo "$NFB$B  $agent_ready $BG$NFE agents waiting       \n"; + echo "$NFB$agent_paused$NFE paused agents       \n"; + + echo "
";
+		echo "";
+		echo "$Aecho";
+	}
+	else
+	{
+	echo "AGENTES SIN LLAMADAS\n";
+	}
+
+?>
+
+ + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeonVDADallSUMMARY.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeonVDADallSUMMARY.php new file mode 100644 index 00000000..4a45a5b6 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeonVDADallSUMMARY.php @@ -0,0 +1,442 @@ + LICENSE: GPLv2 +# +# Summary for all campaigns live real-time stats for the VICIDIAL Auto-Dialer all servers +# +# STOP=4000, SLOW=40, GO=4 seconds refresh interval +# +# changes: +# 61102-1616 - first build +# 61215-1131 - added answered calls and drop percent taken from answered calls +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70619-1339 - Added Status Category tally display +# 71029-1900 - Changed CLOSER-type to not require campaign_id restriction +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["RR"])) {$RR=$_GET["RR"];} + elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["adastats"])) {$adastats=$_GET["adastats"];} + elseif (isset($_POST["adastats"])) {$adastats=$_POST["adastats"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} + +if (!isset($RR)) {$gRRroup=4;} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); + +$stmt="select campaign_id from vicidial_campaigns where active='Y';"; +$rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + +if (!isset($RR)) {$RR=4;} + +?> + + + + + +\n"; +echo "VICIDIAL: Realtime All Campañas Summary\n"; +echo "VICIDIAL: Realtime All Campañas Summary           \n"; +echo "STOP | "; +echo "SLOW | "; +echo "GO "; +echo "       \n"; +if ($adastats<2) + { + echo "+ VIEW MORE SETTINGS"; + } +else + { + echo "- VIEW LESS SETTINGS"; + } +echo "       INFORMES"; +echo "

\n\n"; + +$k=0; +while($k<$groups_to_print) +{ +$NFB = ''; +$NFE = ''; +$F=''; $FG=''; $B=''; $BG=''; + +$group = $groups[$k]; +echo "$group   -   "; +echo "Modify\n"; + + +$stmt = "select count(*) from vicidial_campaigns where campaign_id='$group' and campaign_allow_inbound='Y';"; +$rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $campaign_allow_inbound = $row[0]; + +$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DIALlev = $row[0]; +$DIALstatusA = $row[1]; +$DIALstatusB = $row[2]; +$DIALstatusC = $row[3]; +$DIALstatusD = $row[4]; +$DIALstatusE = $row[5]; +$DIALorder = $row[6]; +$DIALfilter = $row[7]; +$HOPlev = $row[8]; +$DIALmethod = $row[9]; +$maxDIALlev = $row[10]; +$DROPmax = $row[11]; +$targetDIFF = $row[12]; +$ADAintense = $row[13]; +$ADAavailonly = $row[14]; +$TAPERtime = $row[15]; +$CALLtime = $row[16]; +$DIALtimeout = $row[17]; +$DIALstatuses = $row[18]; + $DIALstatuses = (preg_replace("/ -$|^ /","",$DIALstatuses)); + $DIALstatuses = (ereg_replace(' ',', ',$DIALstatuses)); + +$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VDhop = $row[0]; + +$stmt="select dialable_leads,calls_today,drops_today,drops_answers_today_pct,differential_onemin,agents_average_onemin,balance_trunk_fill,answers_today,status_category_1,status_category_count_1,status_category_2,status_category_count_2,status_category_3,status_category_count_3,status_category_4,status_category_count_4 from vicidial_campaign_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DAleads = $row[0]; +$callsTODAY = $row[1]; +$dropsTODAY = $row[2]; +$drpctTODAY = $row[3]; +$diffONEMIN = $row[4]; +$agentsONEMIN = $row[5]; +$balanceFILL = $row[6]; +$answersTODAY = $row[7]; +$VSCcat1 = $row[8]; +$VSCcat1tally = $row[9]; +$VSCcat2 = $row[10]; +$VSCcat2tally = $row[11]; +$VSCcat3 = $row[12]; +$VSCcat3tally = $row[13]; +$VSCcat4 = $row[14]; +$VSCcat4tally = $row[15]; + +if ( ($diffONEMIN != 0) and ($agentsONEMIN > 0) ) + { + $diffpctONEMIN = ( ($diffONEMIN / $agentsONEMIN) * 100); + $diffpctONEMIN = sprintf("%01.2f", $diffpctONEMIN); + } +else {$diffpctONEMIN = '0.00';} + +$stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$balanceSHORT = $row[0]; + +echo "
"; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +if ($adastats>1) + { + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "
DIAL LEVEL:  $DIALlev    TRUNK SHORT/FILL:  $balanceSHORT / $balanceFILL     FILTER:  $DIALfilter   TIME:   $NOW_TIME
  MAX LEVEL:  $maxDIALlev   DROPPED MAX:  $DROPmax%    TARGET DIFF:  $targetDIFF     INTENSITY:  $ADAintense    
DIAL TIMEOUT:  $DIALtimeout  TAPER TIME:  $TAPERtime  LOCAL TIME:  $CALLtime  AVAIL ONLY:  $ADAavailonly  
DIALABLE LEADS:  $DAleads     CALLS TODAY:  $callsTODAY     AVG AGENTS:  $agentsONEMIN     DIAL METHOD:  $DIALmethod    
HOPPER LEVEL:  $HOPlev     DROPPED / ANSWERED:  $dropsTODAY / $answersTODAY   DL DIFF:  $diffONEMIN     STATUSES:  $DIALstatuses    
LEADS IN HOPPER:  $VDhop     DROPPED PERCENT:  "; +if ($drpctTODAY >= $DROPmax) + {echo "$drpctTODAY%";} +else + {echo "$drpctTODAY%";} +echo "    DIFF:  $diffpctONEMIN%     ORDER:  $DIALorder    
"; +if ( (!eregi('NULL',$VSCcat1)) and (strlen($VSCcat1)>0) ) + {echo "$VSCcat1:   $VSCcat1tally       \n";} +if ( (!eregi('NULL',$VSCcat2)) and (strlen($VSCcat2)>0) ) + {echo "$VSCcat2:   $VSCcat2tally       \n";} +if ( (!eregi('NULL',$VSCcat3)) and (strlen($VSCcat3)>0) ) + {echo "$VSCcat3:   $VSCcat3tally       \n";} +if ( (!eregi('NULL',$VSCcat4)) and (strlen($VSCcat4)>0) ) + {echo "$VSCcat4:   $VSCcat4tally       \n";} +echo "
"; + +### Header finish + + + + + +################################################################################ +### START calculating calls/agents +################################################################################ + +################################################################################ +###### OUTBOUND CALLS +################################################################################ +if ($campaign_allow_inbound > 0) + { + $stmt="select closer_campaigns from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = preg_replace("/^ | -$/","",$row[0]); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') and ( (call_type='IN' and campaign_id IN($closer_campaigns)) or (campaign_id='" . mysql_real_escape_string($group) . "' and call_type='OUT') );"; + } +else + { + if ($group=='XXXX-ALL-ACTIVE-XXXX') {$groupSQL = '';} + else {$groupSQL = " and campaign_id='" . mysql_real_escape_string($group) . "'";} + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') $groupSQL;"; + } +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$parked_to_print = mysql_num_rows($rslt); + if ($parked_to_print > 0) + { + $i=0; + $out_total=0; + $out_ring=0; + $out_live=0; + while ($i < $parked_to_print) + { + $row=mysql_fetch_row($rslt); + + if (eregi("LIVE",$row[0])) + {$out_live++;} + else + { + if (eregi("CLOSER",$row[0])) + {$nothing=1;} + else + {$out_ring++;} + } + $out_total++; + $i++; + } + + if ($out_live > 0) {$F=''; $FG='';} + if ($out_live > 4) {$F=''; $FG='';} + if ($out_live > 9) {$F=''; $FG='';} + if ($out_live > 14) {$F=''; $FG='';} + + if ($campaign_allow_inbound > 0) + {echo "$NFB$out_total$NFE current active calls      \n";} + else + {echo "$NFB$out_total$NFE calls being placed       \n";} + + echo "$NFB$out_ring$NFE calls ringing         \n"; + echo "$NFB$F  $out_live $FG$NFE calls waiting for agents       \n"; + } + else + { + echo "LLAMADAS EN ESPERA\n"; + } + + +################################################################################### +###### TIME ON SYSTEM +################################################################################### + +$agent_incall=0; +$agent_ready=0; +$agent_paused=0; +$agent_total=0; + +$stmt="select extension,user,conf_exten,status,server_ip,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),call_server_ip,campaign_id from vicidial_live_agents where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + $agentcount=0; + while ($i < $talking_to_print) + { + $row=mysql_fetch_row($rslt); + if (eregi("READY|PAUSED",$row[3])) + { + $row[5]=$row[6]; + } + $Lstatus = $row[3]; + $status = sprintf("%-6s", $row[3]); + if (!eregi("INCALL|QUEUE",$row[3])) + {$call_time_S = ($STARTtime - $row[6]);} + else + {$call_time_S = ($STARTtime - $row[5]);} + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + if (eregi("PAUSED",$row[3])) + { + if ($call_time_M_int >= 30) + {$i++; continue;} + else + { + $agent_paused++; $agent_total++; + } + } + + if ( (eregi("INCALL",$status)) or (eregi("QUEUE",$status)) ) {$agent_incall++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) {$agent_ready++; $agent_total++;} + $agentcount++; + + + $i++; + } + + if ($agent_ready > 0) {$B=''; $BG='';} + if ($agent_ready > 4) {$B=''; $BG='';} + if ($agent_ready > 9) {$B=''; $BG='';} + if ($agent_ready > 14) {$B=''; $BG='';} + + echo "\n
\n"; + + echo "$NFB$agent_total$NFE agents logged in         \n"; + echo "$NFB$agent_incall$NFE agents in calls       \n"; + echo "$NFB$B  $agent_ready $BG$NFE agents waiting       \n"; + echo "$NFB$agent_paused$NFE paused agents       \n"; + + echo "
";
+		echo "";
+	}
+	else
+	{
+	echo " NO AGENTS ON CALLS
\n"; + } + +################################################################################ +### END calculating calls/agents +################################################################################ + + + + + +echo "
"; + +echo "\n\n"; +$k++; +} + +?> +
+ + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeoncall.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeoncall.php new file mode 100644 index 00000000..c417350c --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeoncall.php @@ -0,0 +1,180 @@ + LICENSE: GPLv2 +### + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];} + elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); + +?> + + + + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On Call\n"; +echo "
\n\n";
+
+echo "VICIDIAL: Time On Call                                          $NOW_TIME\n\n";
+echo "+------------+-----------+-----------+------------------+---------------------+---------+\n";
+echo "| STATION    | SESSIONID | CHANNEL   | NUMBER DIALED    | START TIME          | MINUTES |\n";
+echo "+------------+-----------+-----------+------------------+---------------------+---------+\n";
+
+$stmt="SELECT count(*) from live_sip_channels where server_ip='$server_ip';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$parked_count = $row[0];
+	if ($parked_count > 0)
+	{
+	$stmt="select extension from live_channels where server_ip='$server_ip';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$ext_to_print = mysql_num_rows($rslt);
+	$i=0;
+	$live_zap_counter=0;
+	$sessions = '';
+	while ($i < $ext_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+		if (preg_match("/^8600/i",$row[0]))
+			{
+			$sessions .= "$row[0]|";
+			}
+		$i++;
+		}
+	$sessions = preg_replace("/\|$/",'',$sessions);
+
+	if ($DB) {echo "SESSIONS: -$sessions-\n";}
+
+	$stmt="select * from live_sip_channels where server_ip='$server_ip' order by channel;";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$parked_to_print = mysql_num_rows($rslt);
+	$i=0;
+	$live_calls_counter=0;
+	while ($i < $parked_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+		if ( (preg_match("/Zap\/|internal|ring/i",$row[3])) or (preg_match("/Local\//i",$row[0])) )
+			{
+			if ($DB) {echo "NOT STATION |$row[0]|$row[3]|\n";}
+			$session_id = '';
+			}
+		else 
+			{
+			if (preg_match("/$row[3]/i",$sessions))
+				{
+				if ($DB) {echo "LIVE STATION|$row[0]|$row[3]|\n";}
+				$session_id = $row[3];
+				$station = preg_replace("/SIP\//",'',$row[0]);
+				$station = preg_replace("/-.*/",'',$station);
+			
+				$LIVE_sessions[$live_calls_counter] =			"$session_id";
+				$LIVE_sessions_FORMAT[$live_calls_counter] =	sprintf("%-9s", $session_id);
+				$LIVE_stations[$live_calls_counter] =			"$station";
+				$LIVE_stations_FORMAT[$live_calls_counter] =	sprintf("%-10s", $station);
+
+		#		echo "| $station | $session_id | \n";
+
+				$live_calls_counter++;
+				}
+			else
+				{
+				if ($DB) {echo "NOT STATIONZ|$row[0]|$row[3]|\n";}
+				$session_id = '';
+				}
+			}
+
+		$i++;
+		}
+
+		if ($live_calls_counter > 0)
+		{
+		$i=0;
+		$LC_counter = $live_calls_counter;
+
+		while ($i < $live_calls_counter)
+			{
+			$stmt="select channel,extension,number_dialed,start_time,start_epoch from call_log where extension='$LIVE_stations[$i]' and server_ip='$server_ip' order by uniqueid desc LIMIT 1;";
+			$rslt=mysql_query($stmt, $link);
+			if ($DB) {echo "$stmt\n";}
+			$parked_to_print = mysql_num_rows($rslt);
+			$row=mysql_fetch_row($rslt);
+
+			$channel =			sprintf("%-9s", $row[0]);
+			$number_dialed =	sprintf("%-16s", $row[2]);
+			$start_time =		sprintf("%-19s", $row[3]);
+			$call_time_S = ($STARTtime - $row[4]);
+
+			$call_time_M = ($call_time_S / 60);
+			$call_time_M = round($call_time_M, 2);
+			$call_time_M_int = intval("$call_time_M");
+			$call_time_SEC = ($call_time_M - $call_time_M_int);
+			$call_time_SEC = ($call_time_SEC * 60);
+			$call_time_SEC = round($call_time_SEC, 0);
+			if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+			$call_time_MS = "$call_time_M_int:$call_time_SEC";
+			$call_time_MS =		sprintf("%7s", $call_time_MS);
+			$G = '';		$EG = '';
+			if ($call_time_M_int >= 12) {$G=''; $EG='';}
+			if ($call_time_M_int >= 31) {$G=''; $EG='';}
+
+			echo "| $G$LIVE_stations_FORMAT[$i]$EG | $G$LIVE_sessions_FORMAT[$i]$EG | $G$channel$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+			$i++;
+			}
+
+		echo "+------------+-----------+-----------+------------------+---------------------+---------+\n";
+		echo "  $i stations on live calls on server $server_ip\n\n";
+
+		echo "             - 12 minutes or more on live call\n";
+		echo "             - Over 30 minutes on live call\n";
+
+		}
+		else
+		{
+		echo "*****************************************************************************************\n";
+		echo "*****************************************************************************************\n";
+		echo "*************************************** NO LIVE STATIONS ********************************\n";
+		echo "*****************************************************************************************\n";
+		echo "*****************************************************************************************\n";
+		}
+
+	}
+	else
+	{
+	echo "*****************************************************************************************\n";
+	echo "*****************************************************************************************\n";
+	echo "*************************************** NO LIVE STATIONS ********************************\n";
+	echo "*****************************************************************************************\n";
+	echo "*****************************************************************************************\n";
+	}
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeonpark.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeonpark.php new file mode 100644 index 00000000..c48ee38c --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/AST_timeonpark.php @@ -0,0 +1,219 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60620-1042 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];} + elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +$timeONEhoursAGO = ($STARTtime - 3600); +$epochHALFhoursAGO = ($STARTtime - 1860); +$timeONEhoursAGO = date("Y-m-d H:i:s",$timeONEhoursAGO); +$timeHALFhoursAGO = date("Y-m-d H:i:s",$epochHALFhoursAGO); + +$reset_counter++; + +if ($reset_counter > 7) + { + $reset_counter=0; + + $stmt="update park_log set status='HUNGUP' where hangup_time is not null;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + + if ($DB) + { + $stmt="delete from park_log where status='TALKING' and grab_time < '$timeONEhoursAGO' and (hangup_time is null or hangup_time='');"; + $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + + $stmt="delete from park_log where status='PARKED' and parked_time < '$timeHALFhoursAGO' and (hangup_time is null or hangup_time='');"; + $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + + } + } + +?> + + + + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On Park\n"; +echo "
\n\n";
+
+echo "VICIDIAL: Time On Park         $NOW_TIME    INFORMES\n\n";
+echo "+------------+-----------------+---------------------+---------+\n";
+echo "| CHANNEL    | GROUP           | START TIME          | MINUTES |\n";
+echo "+------------+-----------------+---------------------+---------+\n";
+
+#$link=mysql_connect("localhost", "cron", "1234");
+# $linkX=mysql_connect("localhost", "cron", "1234");
+#mysql_select_db("asterisk");
+
+$stmt="select extension,user,channel,channel_group,parked_time,UNIX_TIMESTAMP(parked_time) from park_log where status ='PARKED' and server_ip='" . mysql_real_escape_string($server_ip) . "' order by uniqueid;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$parked_to_print = mysql_num_rows($rslt);
+	if ($parked_to_print > 0)
+	{
+	$i=0;
+	while ($i < $parked_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+
+		$channel =			sprintf("%-10s", $row[2]);
+		$number_dialed =	sprintf("%-15s", $row[3]);
+		$start_time =		sprintf("%-19s", $row[4]);
+		$call_time_S = ($STARTtime - $row[5]);
+
+		$call_time_M = ($call_time_S / 60);
+		$call_time_M = round($call_time_M, 2);
+		$call_time_M_int = intval("$call_time_M");
+		$call_time_SEC = ($call_time_M - $call_time_M_int);
+		$call_time_SEC = ($call_time_SEC * 60);
+		$call_time_SEC = round($call_time_SEC, 0);
+		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+		$call_time_MS = "$call_time_M_int:$call_time_SEC";
+		$call_time_MS =		sprintf("%7s", $call_time_MS);
+		$G = '';		$EG = '';
+		if ($call_time_M_int >= 1) {$G=''; $EG='';}
+		if ($call_time_M_int >= 6) {$G=''; $EG='';}
+
+		echo "| $G$channel$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+		$i++;
+		}
+
+		echo "+------------+-----------------+---------------------+---------+\n";
+		echo "  $i callers waiting on server $server_ip\n\n";
+
+		echo "             - 1 minute or more on hold\n";
+		echo "             - Over 5 minutes on hold\n";
+
+		}
+	else
+	{
+	echo "****************************************************************\n";
+	echo "****************************************************************\n";
+	echo "********************LLAMADAS EN ESPERA*********************\n";
+	echo "****************************************************************\n";
+	echo "****************************************************************\n";
+	}
+
+###################################################################################
+###### TIME ON INBOUND CALLS
+###################################################################################
+echo "\n\n";
+echo "----------------------------------------------------------------------------------------";
+echo "\n\n";
+echo "VICIDIAL: Agents Time On Inbound Calls                             $NOW_TIME\n\n";
+echo "+------------|--------+------------+-----------------+---------------------+---------+\n";
+echo "| STATION    | USER   | CHANNEL    | GROUP           | START TIME          | MINUTES |\n";
+echo "+------------|--------+------------+-----------------+---------------------+---------+\n";
+
+
+$stmt="select extension,user,channel,channel_group,grab_time,UNIX_TIMESTAMP(grab_time) from park_log where status ='TALKING' and server_ip='" . mysql_real_escape_string($server_ip) . "' order by uniqueid;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$talking_to_print = mysql_num_rows($rslt);
+	if ($talking_to_print > 0)
+	{
+	$i=0;
+	while ($i < $talking_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+
+		$extension =		sprintf("%-10s", $row[0]);
+		$user =				sprintf("%-6s", $row[1]);
+		$channel =			sprintf("%-10s", $row[2]);
+		$number_dialed =	sprintf("%-15s", $row[3]);
+		$start_time =		sprintf("%-19s", $row[4]);
+		$call_time_S = ($STARTtime - $row[5]);
+
+		$call_time_M = ($call_time_S / 60);
+		$call_time_M = round($call_time_M, 2);
+		$call_time_M_int = intval("$call_time_M");
+		$call_time_SEC = ($call_time_M - $call_time_M_int);
+		$call_time_SEC = ($call_time_SEC * 60);
+		$call_time_SEC = round($call_time_SEC, 0);
+		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+		$call_time_MS = "$call_time_M_int:$call_time_SEC";
+		$call_time_MS =		sprintf("%7s", $call_time_MS);
+		$G = '';		$EG = '';
+		if ($call_time_M_int >= 12) {$G=''; $EG='';}
+		if ($call_time_M_int >= 31) {$G=''; $EG='';}
+
+		echo "| $G$extension$EG | $G$user$EG | $G$channel$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+		$i++;
+		}
+
+		echo "+------------|--------+------------+-----------------+---------------------+---------+\n";
+		echo "  $i agents on calls on server $server_ip\n\n";
+
+		echo "             - 12 minutes or more on call\n";
+		echo "             - Over 30 minutes on call\n";
+
+	}
+	else
+	{
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	echo "*********************************AGENTES SIN LLAMADAS*********************************\n";
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	}
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/admin.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/admin.php new file mode 100644 index 00000000..5fa5509c --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/admin.php @@ -0,0 +1,13575 @@ + LICENSE: GPLv2 +# + + +require("dbconnect.php"); + + +###################################################################################################### +###################################################################################################### +####### static variable settings for display options +###################################################################################################### +###################################################################################################### + +$page_width='770'; +$section_width='720'; +$header_font_size='3'; +$subheader_font_size='2'; +$subcamp_font_size='2'; +$header_selected_bold=''; +$header_nonselected_bold=''; +$users_color = '#FFFF99'; +$campaigns_color = '#FFCC99'; +$lists_color = '#FFCCCC'; +$ingroups_color = '#CC99FF'; +$remoteagent_color ='#CCFFCC'; +$usergroups_color = '#CCFFFF'; +$scripts_color = '#99FFCC'; +$filters_color = '#CCCCCC'; +$admin_color = '#FF99FF'; +$reports_color = '#99FF33'; +#$users_color = '#FFFF99'; +#$campaigns_color = '#FFFF99'; +#$lists_color = '#FFFF99'; +#$ingroups_color = '#FFFF99'; +#$remoteagent_color ='#FFFF99'; +#$usergroups_color = '#FFFF99'; +#$scripts_color = '#FFFF99'; +#$filters_color = '#FFFF99'; +#$admin_color = '#FFFF99'; +#$reports_color = '#FFFF99'; + $times_color = '#FF33FF'; + $phones_color = '#FF33FF'; + $conference_color = '#FF33FF'; + $server_color = '#FF33FF'; + $settings_color = '#FF33FF'; + $status_color = '#FF33FF'; +$users_font = 'BLACK'; +$campaigns_font = 'BLACK'; +$lists_font = 'BLACK'; +$ingroups_font = 'BLACK'; +$remoteagent_font = 'BLACK'; +$usergroups_font = 'BLACK'; +$scripts_font = 'BLACK'; +$filters_font = 'BLACK'; +$admin_font = 'BLACK'; +$reports_font = 'BLACK'; + $times_font = 'BLACK'; + $phones_font = 'BLACK'; + $conference_font = 'BLACK'; + $server_font = 'BLACK'; + $settings_font = 'BLACK'; + $status_font = 'BLACK'; +$subcamp_color = '#FF9933'; +$subcamp_font = 'BLACK'; + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; + +###################################################################################################### +###################################################################################################### +####### Form variable declaration +###################################################################################################### +###################################################################################################### + + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["active"])) {$active=$_GET["active"];} + elseif (isset($_POST["active"])) {$active=$_POST["active"];} +if (isset($_GET["adaptive_dl_diff_target"])) {$adaptive_dl_diff_target=$_GET["adaptive_dl_diff_target"];} + elseif (isset($_POST["adaptive_dl_diff_target"])) {$adaptive_dl_diff_target=$_POST["adaptive_dl_diff_target"];} +if (isset($_GET["adaptive_dropped_percentage"])) {$adaptive_dropped_percentage=$_GET["adaptive_dropped_percentage"];} + elseif (isset($_POST["adaptive_dropped_percentage"])){$adaptive_dropped_percentage=$_POST["adaptive_dropped_percentage"];} +if (isset($_GET["adaptive_intensity"])) {$adaptive_intensity=$_GET["adaptive_intensity"];} + elseif (isset($_POST["adaptive_intensity"])) {$adaptive_intensity=$_POST["adaptive_intensity"];} +if (isset($_GET["adaptive_latest_server_time"])) {$adaptive_latest_server_time=$_GET["adaptive_latest_server_time"];} + elseif (isset($_POST["adaptive_latest_server_time"])){$adaptive_latest_server_time=$_POST["adaptive_latest_server_time"];} +if (isset($_GET["adaptive_maximum_level"])) {$adaptive_maximum_level=$_GET["adaptive_maximum_level"];} + elseif (isset($_POST["adaptive_maximum_level"])) {$adaptive_maximum_level=$_POST["adaptive_maximum_level"];} +if (isset($_GET["SUB"])) {$SUB=$_GET["SUB"];} + elseif (isset($_POST["SUB"])) {$SUB=$_POST["SUB"];} +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["admin_hangup_enabled"])) {$admin_hangup_enabled=$_GET["admin_hangup_enabled"];} + elseif (isset($_POST["admin_hangup_enabled"])) {$admin_hangup_enabled=$_POST["admin_hangup_enabled"];} +if (isset($_GET["admin_hijack_enabled"])) {$admin_hijack_enabled=$_GET["admin_hijack_enabled"];} + elseif (isset($_POST["admin_hijack_enabled"])) {$admin_hijack_enabled=$_POST["admin_hijack_enabled"];} +if (isset($_GET["admin_monitor_enabled"])) {$admin_monitor_enabled=$_GET["admin_monitor_enabled"];} + elseif (isset($_POST["admin_monitor_enabled"])) {$admin_monitor_enabled=$_POST["admin_monitor_enabled"];} +if (isset($_GET["AFLogging_enabled"])) {$AFLogging_enabled=$_GET["AFLogging_enabled"];} + elseif (isset($_POST["AFLogging_enabled"])) {$AFLogging_enabled=$_POST["AFLogging_enabled"];} +if (isset($_GET["agent_choose_ingroups"])) {$agent_choose_ingroups=$_GET["agent_choose_ingroups"];} + elseif (isset($_POST["agent_choose_ingroups"])) {$agent_choose_ingroups=$_POST["agent_choose_ingroups"];} +if (isset($_GET["agentcall_manual"])) {$agentcall_manual=$_GET["agentcall_manual"];} + elseif (isset($_POST["agentcall_manual"])) {$agentcall_manual=$_POST["agentcall_manual"];} +if (isset($_GET["agentonly_callbacks"])) {$agentonly_callbacks=$_GET["agentonly_callbacks"];} + elseif (isset($_POST["agentonly_callbacks"])) {$agentonly_callbacks=$_POST["agentonly_callbacks"];} +if (isset($_GET["AGI_call_logging_enabled"])) {$AGI_call_logging_enabled=$_GET["AGI_call_logging_enabled"];} + elseif (isset($_POST["AGI_call_logging_enabled"])) {$AGI_call_logging_enabled=$_POST["AGI_call_logging_enabled"];} +if (isset($_GET["agi_output"])) {$agi_output=$_GET["agi_output"];} + elseif (isset($_POST["agi_output"])) {$agi_output=$_POST["agi_output"];} +if (isset($_GET["allcalls_delay"])) {$allcalls_delay=$_GET["allcalls_delay"];} + elseif (isset($_POST["allcalls_delay"])) {$allcalls_delay=$_POST["allcalls_delay"];} +if (isset($_GET["allow_closers"])) {$allow_closers=$_GET["allow_closers"];} + elseif (isset($_POST["allow_closers"])) {$allow_closers=$_POST["allow_closers"];} +if (isset($_GET["alt_number_dialing"])) {$alt_number_dialing=$_GET["alt_number_dialing"];} + elseif (isset($_POST["alt_number_dialing"])) {$alt_number_dialing=$_POST["alt_number_dialing"];} +if (isset($_GET["alter_agent_interface_options"])) {$alter_agent_interface_options=$_GET["alter_agent_interface_options"];} + elseif (isset($_POST["alter_agent_interface_options"])) {$alter_agent_interface_options=$_POST["alter_agent_interface_options"];} +if (isset($_GET["am_message_exten"])) {$am_message_exten=$_GET["am_message_exten"];} + elseif (isset($_POST["am_message_exten"])) {$am_message_exten=$_POST["am_message_exten"];} +if (isset($_GET["amd_send_to_vmx"])) {$amd_send_to_vmx=$_GET["amd_send_to_vmx"];} + elseif (isset($_POST["amd_send_to_vmx"])) {$amd_send_to_vmx=$_POST["amd_send_to_vmx"];} +if (isset($_GET["answer_transfer_agent"])) {$answer_transfer_agent=$_GET["answer_transfer_agent"];} + elseif (isset($_POST["answer_transfer_agent"])) {$answer_transfer_agent=$_POST["answer_transfer_agent"];} +if (isset($_GET["ast_admin_access"])) {$ast_admin_access=$_GET["ast_admin_access"];} + elseif (isset($_POST["ast_admin_access"])) {$ast_admin_access=$_POST["ast_admin_access"];} +if (isset($_GET["ast_delete_phones"])) {$ast_delete_phones=$_GET["ast_delete_phones"];} + elseif (isset($_POST["ast_delete_phones"])) {$ast_delete_phones=$_POST["ast_delete_phones"];} +if (isset($_GET["asterisk_version"])) {$asterisk_version=$_GET["asterisk_version"];} + elseif (isset($_POST["asterisk_version"])) {$asterisk_version=$_POST["asterisk_version"];} +if (isset($_GET["ASTmgrSECRET"])) {$ASTmgrSECRET=$_GET["ASTmgrSECRET"];} + elseif (isset($_POST["ASTmgrSECRET"])) {$ASTmgrSECRET=$_POST["ASTmgrSECRET"];} +if (isset($_GET["ASTmgrUSERNAME"])) {$ASTmgrUSERNAME=$_GET["ASTmgrUSERNAME"];} + elseif (isset($_POST["ASTmgrUSERNAME"])) {$ASTmgrUSERNAME=$_POST["ASTmgrUSERNAME"];} +if (isset($_GET["ASTmgrUSERNAMElisten"])) {$ASTmgrUSERNAMElisten=$_GET["ASTmgrUSERNAMElisten"];} + elseif (isset($_POST["ASTmgrUSERNAMElisten"])) {$ASTmgrUSERNAMElisten=$_POST["ASTmgrUSERNAMElisten"];} +if (isset($_GET["ASTmgrUSERNAMEsend"])) {$ASTmgrUSERNAMEsend=$_GET["ASTmgrUSERNAMEsend"];} + elseif (isset($_POST["ASTmgrUSERNAMEsend"])) {$ASTmgrUSERNAMEsend=$_POST["ASTmgrUSERNAMEsend"];} +if (isset($_GET["ASTmgrUSERNAMEupdate"])) {$ASTmgrUSERNAMEupdate=$_GET["ASTmgrUSERNAMEupdate"];} + elseif (isset($_POST["ASTmgrUSERNAMEupdate"])) {$ASTmgrUSERNAMEupdate=$_POST["ASTmgrUSERNAMEupdate"];} +if (isset($_GET["attempt_delay"])) {$attempt_delay=$_GET["attempt_delay"];} + elseif (isset($_POST["attempt_delay"])) {$attempt_delay=$_POST["attempt_delay"];} +if (isset($_GET["attempt_maximum"])) {$attempt_maximum=$_GET["attempt_maximum"];} + elseif (isset($_POST["attempt_maximum"])) {$attempt_maximum=$_POST["attempt_maximum"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["auto_dial_next_number"])) {$auto_dial_next_number=$_GET["auto_dial_next_number"];} + elseif (isset($_POST["auto_dial_next_number"])) {$auto_dial_next_number=$_POST["auto_dial_next_number"];} +if (isset($_GET["available_only_ratio_tally"])) {$available_only_ratio_tally=$_GET["available_only_ratio_tally"];} + elseif (isset($_POST["available_only_ratio_tally"])){$available_only_ratio_tally=$_POST["available_only_ratio_tally"];} +if (isset($_GET["call_out_number_group"])) {$call_out_number_group=$_GET["call_out_number_group"];} + elseif (isset($_POST["call_out_number_group"])) {$call_out_number_group=$_POST["call_out_number_group"];} +if (isset($_GET["call_parking_enabled"])) {$call_parking_enabled=$_GET["call_parking_enabled"];} + elseif (isset($_POST["call_parking_enabled"])) {$call_parking_enabled=$_POST["call_parking_enabled"];} +if (isset($_GET["call_time_comments"])) {$call_time_comments=$_GET["call_time_comments"];} + elseif (isset($_POST["call_time_comments"])) {$call_time_comments=$_POST["call_time_comments"];} +if (isset($_GET["call_time_id"])) {$call_time_id=$_GET["call_time_id"];} + elseif (isset($_POST["call_time_id"])) {$call_time_id=$_POST["call_time_id"];} +if (isset($_GET["call_time_name"])) {$call_time_name=$_GET["call_time_name"];} + elseif (isset($_POST["call_time_name"])) {$call_time_name=$_POST["call_time_name"];} +if (isset($_GET["CallerID_popup_enabled"])) {$CallerID_popup_enabled=$_GET["CallerID_popup_enabled"];} + elseif (isset($_POST["CallerID_popup_enabled"])) {$CallerID_popup_enabled=$_POST["CallerID_popup_enabled"];} +if (isset($_GET["campaign_cid"])) {$campaign_cid=$_GET["campaign_cid"];} + elseif (isset($_POST["campaign_cid"])) {$campaign_cid=$_POST["campaign_cid"];} +if (isset($_GET["campaign_detail"])) {$campaign_detail=$_GET["campaign_detail"];} + elseif (isset($_POST["campaign_detail"])) {$campaign_detail=$_POST["campaign_detail"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["campaign_name"])) {$campaign_name=$_GET["campaign_name"];} + elseif (isset($_POST["campaign_name"])) {$campaign_name=$_POST["campaign_name"];} +if (isset($_GET["campaign_rec_exten"])) {$campaign_rec_exten=$_GET["campaign_rec_exten"];} + elseif (isset($_POST["campaign_rec_exten"])) {$campaign_rec_exten=$_POST["campaign_rec_exten"];} +if (isset($_GET["campaign_rec_filename"])) {$campaign_rec_filename=$_GET["campaign_rec_filename"];} + elseif (isset($_POST["campaign_rec_filename"])) {$campaign_rec_filename=$_POST["campaign_rec_filename"];} +if (isset($_GET["campaign_recording"])) {$campaign_recording=$_GET["campaign_recording"];} + elseif (isset($_POST["campaign_recording"])) {$campaign_recording=$_POST["campaign_recording"];} +if (isset($_GET["campaign_vdad_exten"])) {$campaign_vdad_exten=$_GET["campaign_vdad_exten"];} + elseif (isset($_POST["campaign_vdad_exten"])) {$campaign_vdad_exten=$_POST["campaign_vdad_exten"];} +if (isset($_GET["change_agent_campaign"])) {$change_agent_campaign=$_GET["change_agent_campaign"];} + elseif (isset($_POST["change_agent_campaign"])) {$change_agent_campaign=$_POST["change_agent_campaign"];} +if (isset($_GET["client_browser"])) {$client_browser=$_GET["client_browser"];} + elseif (isset($_POST["client_browser"])) {$client_browser=$_POST["client_browser"];} +if (isset($_GET["closer_default_blended"])) {$closer_default_blended=$_GET["closer_default_blended"];} + elseif (isset($_POST["closer_default_blended"])) {$closer_default_blended=$_POST["closer_default_blended"];} +if (isset($_GET["company"])) {$company=$_GET["company"];} + elseif (isset($_POST["company"])) {$company=$_POST["company"];} +if (isset($_GET["computer_ip"])) {$computer_ip=$_GET["computer_ip"];} + elseif (isset($_POST["computer_ip"])) {$computer_ip=$_POST["computer_ip"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["conf_on_extension"])) {$conf_on_extension=$_GET["conf_on_extension"];} + elseif (isset($_POST["conf_on_extension"])) {$conf_on_extension=$_POST["conf_on_extension"];} +if (isset($_GET["conferencing_enabled"])) {$conferencing_enabled=$_GET["conferencing_enabled"];} + elseif (isset($_POST["conferencing_enabled"])) {$conferencing_enabled=$_POST["conferencing_enabled"];} +if (isset($_GET["CoNfIrM"])) {$CoNfIrM=$_GET["CoNfIrM"];} + elseif (isset($_POST["CoNfIrM"])) {$CoNfIrM=$_POST["CoNfIrM"];} +if (isset($_GET["ct_default_start"])) {$ct_default_start=$_GET["ct_default_start"];} + elseif (isset($_POST["ct_default_start"])) {$ct_default_start=$_POST["ct_default_start"];} +if (isset($_GET["ct_default_stop"])) {$ct_default_stop=$_GET["ct_default_stop"];} + elseif (isset($_POST["ct_default_stop"])) {$ct_default_stop=$_POST["ct_default_stop"];} +if (isset($_GET["ct_friday_start"])) {$ct_friday_start=$_GET["ct_friday_start"];} + elseif (isset($_POST["ct_friday_start"])) {$ct_friday_start=$_POST["ct_friday_start"];} +if (isset($_GET["ct_friday_stop"])) {$ct_friday_stop=$_GET["ct_friday_stop"];} + elseif (isset($_POST["ct_friday_stop"])) {$ct_friday_stop=$_POST["ct_friday_stop"];} +if (isset($_GET["ct_monday_start"])) {$ct_monday_start=$_GET["ct_monday_start"];} + elseif (isset($_POST["ct_monday_start"])) {$ct_monday_start=$_POST["ct_monday_start"];} +if (isset($_GET["ct_monday_stop"])) {$ct_monday_stop=$_GET["ct_monday_stop"];} + elseif (isset($_POST["ct_monday_stop"])) {$ct_monday_stop=$_POST["ct_monday_stop"];} +if (isset($_GET["ct_saturday_start"])) {$ct_saturday_start=$_GET["ct_saturday_start"];} + elseif (isset($_POST["ct_saturday_start"])) {$ct_saturday_start=$_POST["ct_saturday_start"];} +if (isset($_GET["ct_saturday_stop"])) {$ct_saturday_stop=$_GET["ct_saturday_stop"];} + elseif (isset($_POST["ct_saturday_stop"])) {$ct_saturday_stop=$_POST["ct_saturday_stop"];} +if (isset($_GET["ct_sunday_start"])) {$ct_sunday_start=$_GET["ct_sunday_start"];} + elseif (isset($_POST["ct_sunday_start"])) {$ct_sunday_start=$_POST["ct_sunday_start"];} +if (isset($_GET["ct_sunday_stop"])) {$ct_sunday_stop=$_GET["ct_sunday_stop"];} + elseif (isset($_POST["ct_sunday_stop"])) {$ct_sunday_stop=$_POST["ct_sunday_stop"];} +if (isset($_GET["ct_thursday_start"])) {$ct_thursday_start=$_GET["ct_thursday_start"];} + elseif (isset($_POST["ct_thursday_start"])) {$ct_thursday_start=$_POST["ct_thursday_start"];} +if (isset($_GET["ct_thursday_stop"])) {$ct_thursday_stop=$_GET["ct_thursday_stop"];} + elseif (isset($_POST["ct_thursday_stop"])) {$ct_thursday_stop=$_POST["ct_thursday_stop"];} +if (isset($_GET["ct_tuesday_start"])) {$ct_tuesday_start=$_GET["ct_tuesday_start"];} + elseif (isset($_POST["ct_tuesday_start"])) {$ct_tuesday_start=$_POST["ct_tuesday_start"];} +if (isset($_GET["ct_tuesday_stop"])) {$ct_tuesday_stop=$_GET["ct_tuesday_stop"];} + elseif (isset($_POST["ct_tuesday_stop"])) {$ct_tuesday_stop=$_POST["ct_tuesday_stop"];} +if (isset($_GET["ct_wednesday_start"])) {$ct_wednesday_start=$_GET["ct_wednesday_start"];} + elseif (isset($_POST["ct_wednesday_start"])) {$ct_wednesday_start=$_POST["ct_wednesday_start"];} +if (isset($_GET["ct_wednesday_stop"])) {$ct_wednesday_stop=$_GET["ct_wednesday_stop"];} + elseif (isset($_POST["ct_wednesday_stop"])) {$ct_wednesday_stop=$_POST["ct_wednesday_stop"];} +if (isset($_GET["DBX_database"])) {$DBX_database=$_GET["DBX_database"];} + elseif (isset($_POST["DBX_database"])) {$DBX_database=$_POST["DBX_database"];} +if (isset($_GET["DBX_pass"])) {$DBX_pass=$_GET["DBX_pass"];} + elseif (isset($_POST["DBX_pass"])) {$DBX_pass=$_POST["DBX_pass"];} +if (isset($_GET["DBX_port"])) {$DBX_port=$_GET["DBX_port"];} + elseif (isset($_POST["DBX_port"])) {$DBX_port=$_POST["DBX_port"];} +if (isset($_GET["DBX_server"])) {$DBX_server=$_GET["DBX_server"];} + elseif (isset($_POST["DBX_server"])) {$DBX_server=$_POST["DBX_server"];} +if (isset($_GET["DBX_user"])) {$DBX_user=$_GET["DBX_user"];} + elseif (isset($_POST["DBX_user"])) {$DBX_user=$_POST["DBX_user"];} +if (isset($_GET["DBY_database"])) {$DBY_database=$_GET["DBY_database"];} + elseif (isset($_POST["DBY_database"])) {$DBY_database=$_POST["DBY_database"];} +if (isset($_GET["DBY_pass"])) {$DBY_pass=$_GET["DBY_pass"];} + elseif (isset($_POST["DBY_pass"])) {$DBY_pass=$_POST["DBY_pass"];} +if (isset($_GET["DBY_port"])) {$DBY_port=$_GET["DBY_port"];} + elseif (isset($_POST["DBY_port"])) {$DBY_port=$_POST["DBY_port"];} +if (isset($_GET["DBY_server"])) {$DBY_server=$_GET["DBY_server"];} + elseif (isset($_POST["DBY_server"])) {$DBY_server=$_POST["DBY_server"];} +if (isset($_GET["DBY_user"])) {$DBY_user=$_GET["DBY_user"];} + elseif (isset($_POST["DBY_user"])) {$DBY_user=$_POST["DBY_user"];} +if (isset($_GET["delete_call_times"])) {$delete_call_times=$_GET["delete_call_times"];} + elseif (isset($_POST["delete_call_times"])) {$delete_call_times=$_POST["delete_call_times"];} +if (isset($_GET["delete_campaigns"])) {$delete_campaigns=$_GET["delete_campaigns"];} + elseif (isset($_POST["delete_campaigns"])) {$delete_campaigns=$_POST["delete_campaigns"];} +if (isset($_GET["delete_filters"])) {$delete_filters=$_GET["delete_filters"];} + elseif (isset($_POST["delete_filters"])) {$delete_filters=$_POST["delete_filters"];} +if (isset($_GET["delete_ingroups"])) {$delete_ingroups=$_GET["delete_ingroups"];} + elseif (isset($_POST["delete_ingroups"])) {$delete_ingroups=$_POST["delete_ingroups"];} +if (isset($_GET["delete_lists"])) {$delete_lists=$_GET["delete_lists"];} + elseif (isset($_POST["delete_lists"])) {$delete_lists=$_POST["delete_lists"];} +if (isset($_GET["delete_remote_agents"])) {$delete_remote_agents=$_GET["delete_remote_agents"];} + elseif (isset($_POST["delete_remote_agents"])) {$delete_remote_agents=$_POST["delete_remote_agents"];} +if (isset($_GET["delete_scripts"])) {$delete_scripts=$_GET["delete_scripts"];} + elseif (isset($_POST["delete_scripts"])) {$delete_scripts=$_POST["delete_scripts"];} +if (isset($_GET["delete_user_groups"])) {$delete_user_groups=$_GET["delete_user_groups"];} + elseif (isset($_POST["delete_user_groups"])) {$delete_user_groups=$_POST["delete_user_groups"];} +if (isset($_GET["delete_users"])) {$delete_users=$_GET["delete_users"];} + elseif (isset($_POST["delete_users"])) {$delete_users=$_POST["delete_users"];} +if (isset($_GET["dial_method"])) {$dial_method=$_GET["dial_method"];} + elseif (isset($_POST["dial_method"])) {$dial_method=$_POST["dial_method"];} +if (isset($_GET["dial_prefix"])) {$dial_prefix=$_GET["dial_prefix"];} + elseif (isset($_POST["dial_prefix"])) {$dial_prefix=$_POST["dial_prefix"];} +if (isset($_GET["dial_status_a"])) {$dial_status_a=$_GET["dial_status_a"];} + elseif (isset($_POST["dial_status_a"])) {$dial_status_a=$_POST["dial_status_a"];} +if (isset($_GET["dial_status_b"])) {$dial_status_b=$_GET["dial_status_b"];} + elseif (isset($_POST["dial_status_b"])) {$dial_status_b=$_POST["dial_status_b"];} +if (isset($_GET["dial_status_c"])) {$dial_status_c=$_GET["dial_status_c"];} + elseif (isset($_POST["dial_status_c"])) {$dial_status_c=$_POST["dial_status_c"];} +if (isset($_GET["dial_status_d"])) {$dial_status_d=$_GET["dial_status_d"];} + elseif (isset($_POST["dial_status_d"])) {$dial_status_d=$_POST["dial_status_d"];} +if (isset($_GET["dial_status_e"])) {$dial_status_e=$_GET["dial_status_e"];} + elseif (isset($_POST["dial_status_e"])) {$dial_status_e=$_POST["dial_status_e"];} +if (isset($_GET["dial_timeout"])) {$dial_timeout=$_GET["dial_timeout"];} + elseif (isset($_POST["dial_timeout"])) {$dial_timeout=$_POST["dial_timeout"];} +if (isset($_GET["dialplan_number"])) {$dialplan_number=$_GET["dialplan_number"];} + elseif (isset($_POST["dialplan_number"])) {$dialplan_number=$_POST["dialplan_number"];} +if (isset($_GET["drop_call_seconds"])) {$drop_call_seconds=$_GET["drop_call_seconds"];} + elseif (isset($_POST["drop_call_seconds"])) {$drop_call_seconds=$_POST["drop_call_seconds"];} +if (isset($_GET["drop_exten"])) {$drop_exten=$_GET["drop_exten"];} + elseif (isset($_POST["drop_exten"])) {$drop_exten=$_POST["drop_exten"];} +if (isset($_GET["drop_message"])) {$drop_message=$_GET["drop_message"];} + elseif (isset($_POST["drop_message"])) {$drop_message=$_POST["drop_message"];} +if (isset($_GET["dtmf_send_extension"])) {$dtmf_send_extension=$_GET["dtmf_send_extension"];} + elseif (isset($_POST["dtmf_send_extension"])) {$dtmf_send_extension=$_POST["dtmf_send_extension"];} +if (isset($_GET["enable_fast_refresh"])) {$enable_fast_refresh=$_GET["enable_fast_refresh"];} + elseif (isset($_POST["enable_fast_refresh"])) {$enable_fast_refresh=$_POST["enable_fast_refresh"];} +if (isset($_GET["enable_persistant_mysql"])) {$enable_persistant_mysql=$_GET["enable_persistant_mysql"];} + elseif (isset($_POST["enable_persistant_mysql"])) {$enable_persistant_mysql=$_POST["enable_persistant_mysql"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["fast_refresh_rate"])) {$fast_refresh_rate=$_GET["fast_refresh_rate"];} + elseif (isset($_POST["fast_refresh_rate"])) {$fast_refresh_rate=$_POST["fast_refresh_rate"];} +if (isset($_GET["force_logout"])) {$force_logout=$_GET["force_logout"];} + elseif (isset($_POST["force_logout"])) {$force_logout=$_POST["force_logout"];} +if (isset($_GET["fronter_display"])) {$fronter_display=$_GET["fronter_display"];} + elseif (isset($_POST["fronter_display"])) {$fronter_display=$_POST["fronter_display"];} +if (isset($_GET["full_name"])) {$full_name=$_GET["full_name"];} + elseif (isset($_POST["full_name"])) {$full_name=$_POST["full_name"];} +if (isset($_GET["fullname"])) {$fullname=$_GET["fullname"];} + elseif (isset($_POST["fullname"])) {$fullname=$_POST["fullname"];} +if (isset($_GET["get_call_launch"])) {$get_call_launch=$_GET["get_call_launch"];} + elseif (isset($_POST["get_call_launch"])) {$get_call_launch=$_POST["get_call_launch"];} +if (isset($_GET["group_color"])) {$group_color=$_GET["group_color"];} + elseif (isset($_POST["group_color"])) {$group_color=$_POST["group_color"];} +if (isset($_GET["group_id"])) {$group_id=$_GET["group_id"];} + elseif (isset($_POST["group_id"])) {$group_id=$_POST["group_id"];} +if (isset($_GET["group_name"])) {$group_name=$_GET["group_name"];} + elseif (isset($_POST["group_name"])) {$group_name=$_POST["group_name"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["XFERgroups"])) {$XFERgroups=$_GET["XFERgroups"];} + elseif (isset($_POST["XFERgroups"])) {$XFERgroups=$_POST["XFERgroups"];} +if (isset($_GET["HKstatus"])) {$HKstatus=$_GET["HKstatus"];} + elseif (isset($_POST["HKstatus"])) {$HKstatus=$_POST["HKstatus"];} +if (isset($_GET["hopper_level"])) {$hopper_level=$_GET["hopper_level"];} + elseif (isset($_POST["hopper_level"])) {$hopper_level=$_POST["hopper_level"];} +if (isset($_GET["hotkey"])) {$hotkey=$_GET["hotkey"];} + elseif (isset($_POST["hotkey"])) {$hotkey=$_POST["hotkey"];} +if (isset($_GET["hotkeys_active"])) {$hotkeys_active=$_GET["hotkeys_active"];} + elseif (isset($_POST["hotkeys_active"])) {$hotkeys_active=$_POST["hotkeys_active"];} +if (isset($_GET["install_directory"])) {$install_directory=$_GET["install_directory"];} + elseif (isset($_POST["install_directory"])) {$install_directory=$_POST["install_directory"];} +if (isset($_GET["lead_filter_comments"])) {$lead_filter_comments=$_GET["lead_filter_comments"];} + elseif (isset($_POST["lead_filter_comments"])) {$lead_filter_comments=$_POST["lead_filter_comments"];} +if (isset($_GET["lead_filter_id"])) {$lead_filter_id=$_GET["lead_filter_id"];} + elseif (isset($_POST["lead_filter_id"])) {$lead_filter_id=$_POST["lead_filter_id"];} +if (isset($_GET["lead_filter_name"])) {$lead_filter_name=$_GET["lead_filter_name"];} + elseif (isset($_POST["lead_filter_name"])) {$lead_filter_name=$_POST["lead_filter_name"];} +if (isset($_GET["lead_filter_sql"])) {$lead_filter_sql=$_GET["lead_filter_sql"];} + elseif (isset($_POST["lead_filter_sql"])) {$lead_filter_sql=$_POST["lead_filter_sql"];} +if (isset($_GET["lead_order"])) {$lead_order=$_GET["lead_order"];} + elseif (isset($_POST["lead_order"])) {$lead_order=$_POST["lead_order"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["list_name"])) {$list_name=$_GET["list_name"];} + elseif (isset($_POST["list_name"])) {$list_name=$_POST["list_name"];} +if (isset($_GET["load_leads"])) {$load_leads=$_GET["load_leads"];} + elseif (isset($_POST["load_leads"])) {$load_leads=$_POST["load_leads"];} +if (isset($_GET["local_call_time"])) {$local_call_time=$_GET["local_call_time"];} + elseif (isset($_POST["local_call_time"])) {$local_call_time=$_POST["local_call_time"];} +if (isset($_GET["local_gmt"])) {$local_gmt=$_GET["local_gmt"];} + elseif (isset($_POST["local_gmt"])) {$local_gmt=$_POST["local_gmt"];} +if (isset($_GET["local_web_callerID_URL"])) {$local_web_callerID_URL=$_GET["local_web_callerID_URL"];} + elseif (isset($_POST["local_web_callerID_URL"])) {$local_web_callerID_URL=$_POST["local_web_callerID_URL"];} +if (isset($_GET["login"])) {$login=$_GET["login"];} + elseif (isset($_POST["login"])) {$login=$_POST["login"];} +if (isset($_GET["login_campaign"])) {$login_campaign=$_GET["login_campaign"];} + elseif (isset($_POST["login_campaign"])) {$login_campaign=$_POST["login_campaign"];} +if (isset($_GET["login_pass"])) {$login_pass=$_GET["login_pass"];} + elseif (isset($_POST["login_pass"])) {$login_pass=$_POST["login_pass"];} +if (isset($_GET["login_user"])) {$login_user=$_GET["login_user"];} + elseif (isset($_POST["login_user"])) {$login_user=$_POST["login_user"];} +if (isset($_GET["max_vicidial_trunks"])) {$max_vicidial_trunks=$_GET["max_vicidial_trunks"];} + elseif (isset($_POST["max_vicidial_trunks"])) {$max_vicidial_trunks=$_POST["max_vicidial_trunks"];} +if (isset($_GET["modify_call_times"])) {$modify_call_times=$_GET["modify_call_times"];} + elseif (isset($_POST["modify_call_times"])) {$modify_call_times=$_POST["modify_call_times"];} +if (isset($_GET["modify_leads"])) {$modify_leads=$_GET["modify_leads"];} + elseif (isset($_POST["modify_leads"])) {$modify_leads=$_POST["modify_leads"];} +if (isset($_GET["monitor_prefix"])) {$monitor_prefix=$_GET["monitor_prefix"];} + elseif (isset($_POST["monitor_prefix"])) {$monitor_prefix=$_POST["monitor_prefix"];} +if (isset($_GET["next_agent_call"])) {$next_agent_call=$_GET["next_agent_call"];} + elseif (isset($_POST["next_agent_call"])) {$next_agent_call=$_POST["next_agent_call"];} +if (isset($_GET["number_of_lines"])) {$number_of_lines=$_GET["number_of_lines"];} + elseif (isset($_POST["number_of_lines"])) {$number_of_lines=$_POST["number_of_lines"];} +if (isset($_GET["old_campaign_id"])) {$old_campaign_id=$_GET["old_campaign_id"];} + elseif (isset($_POST["old_campaign_id"])) {$old_campaign_id=$_POST["old_campaign_id"];} +if (isset($_GET["old_conf_exten"])) {$old_conf_exten=$_GET["old_conf_exten"];} + elseif (isset($_POST["old_conf_exten"])) {$old_conf_exten=$_POST["old_conf_exten"];} +if (isset($_GET["old_extension"])) {$old_extension=$_GET["old_extension"];} + elseif (isset($_POST["old_extension"])) {$old_extension=$_POST["old_extension"];} +if (isset($_GET["old_server_id"])) {$old_server_id=$_GET["old_server_id"];} + elseif (isset($_POST["old_server_id"])) {$old_server_id=$_POST["old_server_id"];} +if (isset($_GET["old_server_ip"])) {$old_server_ip=$_GET["old_server_ip"];} + elseif (isset($_POST["old_server_ip"])) {$old_server_ip=$_POST["old_server_ip"];} +if (isset($_GET["OLDuser_group"])) {$OLDuser_group=$_GET["OLDuser_group"];} + elseif (isset($_POST["OLDuser_group"])) {$OLDuser_group=$_POST["OLDuser_group"];} +if (isset($_GET["omit_phone_code"])) {$omit_phone_code=$_GET["omit_phone_code"];} + elseif (isset($_POST["omit_phone_code"])) {$omit_phone_code=$_POST["omit_phone_code"];} +if (isset($_GET["outbound_cid"])) {$outbound_cid=$_GET["outbound_cid"];} + elseif (isset($_POST["outbound_cid"])) {$outbound_cid=$_POST["outbound_cid"];} +if (isset($_GET["park_ext"])) {$park_ext=$_GET["park_ext"];} + elseif (isset($_POST["park_ext"])) {$park_ext=$_POST["park_ext"];} +if (isset($_GET["park_file_name"])) {$park_file_name=$_GET["park_file_name"];} + elseif (isset($_POST["park_file_name"])) {$park_file_name=$_POST["park_file_name"];} +if (isset($_GET["park_on_extension"])) {$park_on_extension=$_GET["park_on_extension"];} + elseif (isset($_POST["park_on_extension"])) {$park_on_extension=$_POST["park_on_extension"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["phone_type"])) {$phone_type=$_GET["phone_type"];} + elseif (isset($_POST["phone_type"])) {$phone_type=$_POST["phone_type"];} +if (isset($_GET["picture"])) {$picture=$_GET["picture"];} + elseif (isset($_POST["picture"])) {$picture=$_POST["picture"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["QUEUE_ACTION_enabled"])) {$QUEUE_ACTION_enabled=$_GET["QUEUE_ACTION_enabled"];} + elseif (isset($_POST["QUEUE_ACTION_enabled"])) {$QUEUE_ACTION_enabled=$_POST["QUEUE_ACTION_enabled"];} +if (isset($_GET["recording_exten"])) {$recording_exten=$_GET["recording_exten"];} + elseif (isset($_POST["recording_exten"])) {$recording_exten=$_POST["recording_exten"];} +if (isset($_GET["remote_agent_id"])) {$remote_agent_id=$_GET["remote_agent_id"];} + elseif (isset($_POST["remote_agent_id"])) {$remote_agent_id=$_POST["remote_agent_id"];} +if (isset($_GET["reset_hopper"])) {$reset_hopper=$_GET["reset_hopper"];} + elseif (isset($_POST["reset_hopper"])) {$reset_hopper=$_POST["reset_hopper"];} +if (isset($_GET["reset_list"])) {$reset_list=$_GET["reset_list"];} + elseif (isset($_POST["reset_list"])) {$reset_list=$_POST["reset_list"];} +if (isset($_GET["safe_harbor_exten"])) {$safe_harbor_exten=$_GET["safe_harbor_exten"];} + elseif (isset($_POST["safe_harbor_exten"])) {$safe_harbor_exten=$_POST["safe_harbor_exten"];} +if (isset($_GET["safe_harbor_message"])) {$safe_harbor_message=$_GET["safe_harbor_message"];} + elseif (isset($_POST["safe_harbor_message"])) {$safe_harbor_message=$_POST["safe_harbor_message"];} +if (isset($_GET["scheduled_callbacks"])) {$scheduled_callbacks=$_GET["scheduled_callbacks"];} + elseif (isset($_POST["scheduled_callbacks"])) {$scheduled_callbacks=$_POST["scheduled_callbacks"];} +if (isset($_GET["script_comments"])) {$script_comments=$_GET["script_comments"];} + elseif (isset($_POST["script_comments"])) {$script_comments=$_POST["script_comments"];} +if (isset($_GET["script_id"])) {$script_id=$_GET["script_id"];} + elseif (isset($_POST["script_id"])) {$script_id=$_POST["script_id"];} +if (isset($_GET["script_name"])) {$script_name=$_GET["script_name"];} + elseif (isset($_POST["script_name"])) {$script_name=$_POST["script_name"];} +if (isset($_GET["script_text"])) {$script_text=$_GET["script_text"];} + elseif (isset($_POST["script_text"])) {$script_text=$_POST["script_text"];} +if (isset($_GET["selectable"])) {$selectable=$_GET["selectable"];} + elseif (isset($_POST["selectable"])) {$selectable=$_POST["selectable"];} +if (isset($_GET["server_description"])) {$server_description=$_GET["server_description"];} + elseif (isset($_POST["server_description"])) {$server_description=$_POST["server_description"];} +if (isset($_GET["server_id"])) {$server_id=$_GET["server_id"];} + elseif (isset($_POST["server_id"])) {$server_id=$_POST["server_id"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["state_call_time_state"])) {$state_call_time_state=$_GET["state_call_time_state"];} + elseif (isset($_POST["state_call_time_state"])) {$state_call_time_state=$_POST["state_call_time_state"];} +if (isset($_GET["state_rule"])) {$state_rule=$_GET["state_rule"];} + elseif (isset($_POST["state_rule"])) {$state_rule=$_POST["state_rule"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["status_name"])) {$status_name=$_GET["status_name"];} + elseif (isset($_POST["status_name"])) {$status_name=$_POST["status_name"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} +if (isset($_GET["sys_perf_log"])) {$sys_perf_log=$_GET["sys_perf_log"];} + elseif (isset($_POST["sys_perf_log"])) {$sys_perf_log=$_POST["sys_perf_log"];} +if (isset($_GET["telnet_host"])) {$telnet_host=$_GET["telnet_host"];} + elseif (isset($_POST["telnet_host"])) {$telnet_host=$_POST["telnet_host"];} +if (isset($_GET["telnet_port"])) {$telnet_port=$_GET["telnet_port"];} + elseif (isset($_POST["telnet_port"])) {$telnet_port=$_POST["telnet_port"];} +if (isset($_GET["updater_check_enabled"])) {$updater_check_enabled=$_GET["updater_check_enabled"];} + elseif (isset($_POST["updater_check_enabled"])) {$updater_check_enabled=$_POST["updater_check_enabled"];} +if (isset($_GET["use_internal_dnc"])) {$use_internal_dnc=$_GET["use_internal_dnc"];} + elseif (isset($_POST["use_internal_dnc"])) {$use_internal_dnc=$_POST["use_internal_dnc"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} +if (isset($_GET["user_level"])) {$user_level=$_GET["user_level"];} + elseif (isset($_POST["user_level"])) {$user_level=$_POST["user_level"];} +if (isset($_GET["user_start"])) {$user_start=$_GET["user_start"];} + elseif (isset($_POST["user_start"])) {$user_start=$_POST["user_start"];} +if (isset($_GET["user_switching_enabled"])) {$user_switching_enabled=$_GET["user_switching_enabled"];} + elseif (isset($_POST["user_switching_enabled"])) {$user_switching_enabled=$_POST["user_switching_enabled"];} +if (isset($_GET["vd_server_logs"])) {$vd_server_logs=$_GET["vd_server_logs"];} + elseif (isset($_POST["vd_server_logs"])) {$vd_server_logs=$_POST["vd_server_logs"];} +if (isset($_GET["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_GET["VDstop_rec_after_each_call"];} + elseif (isset($_POST["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_POST["VDstop_rec_after_each_call"];} +if (isset($_GET["VICIDIAL_park_on_extension"])) {$VICIDIAL_park_on_extension=$_GET["VICIDIAL_park_on_extension"];} + elseif (isset($_POST["VICIDIAL_park_on_extension"])) {$VICIDIAL_park_on_extension=$_POST["VICIDIAL_park_on_extension"];} +if (isset($_GET["VICIDIAL_park_on_filename"])) {$VICIDIAL_park_on_filename=$_GET["VICIDIAL_park_on_filename"];} + elseif (isset($_POST["VICIDIAL_park_on_filename"])) {$VICIDIAL_park_on_filename=$_POST["VICIDIAL_park_on_filename"];} +if (isset($_GET["vicidial_recording"])) {$vicidial_recording=$_GET["vicidial_recording"];} + elseif (isset($_POST["vicidial_recording"])) {$vicidial_recording=$_POST["vicidial_recording"];} +if (isset($_GET["vicidial_transfers"])) {$vicidial_transfers=$_GET["vicidial_transfers"];} + elseif (isset($_POST["vicidial_transfers"])) {$vicidial_transfers=$_POST["vicidial_transfers"];} +if (isset($_GET["VICIDIAL_web_URL"])) {$VICIDIAL_web_URL=$_GET["VICIDIAL_web_URL"];} + elseif (isset($_POST["VICIDIAL_web_URL"])) {$VICIDIAL_web_URL=$_POST["VICIDIAL_web_URL"];} +if (isset($_GET["voicemail_button_enabled"])) {$voicemail_button_enabled=$_GET["voicemail_button_enabled"];} + elseif (isset($_POST["voicemail_button_enabled"])) {$voicemail_button_enabled=$_POST["voicemail_button_enabled"];} +if (isset($_GET["voicemail_dump_exten"])) {$voicemail_dump_exten=$_GET["voicemail_dump_exten"];} + elseif (isset($_POST["voicemail_dump_exten"])) {$voicemail_dump_exten=$_POST["voicemail_dump_exten"];} +if (isset($_GET["voicemail_ext"])) {$voicemail_ext=$_GET["voicemail_ext"];} + elseif (isset($_POST["voicemail_ext"])) {$voicemail_ext=$_POST["voicemail_ext"];} +if (isset($_GET["voicemail_exten"])) {$voicemail_exten=$_GET["voicemail_exten"];} + elseif (isset($_POST["voicemail_exten"])) {$voicemail_exten=$_POST["voicemail_exten"];} +if (isset($_GET["voicemail_id"])) {$voicemail_id=$_GET["voicemail_id"];} + elseif (isset($_POST["voicemail_id"])) {$voicemail_id=$_POST["voicemail_id"];} +if (isset($_GET["web_form_address"])) {$web_form_address=$_GET["web_form_address"];} + elseif (isset($_POST["web_form_address"])) {$web_form_address=$_POST["web_form_address"];} +if (isset($_GET["wrapup_message"])) {$wrapup_message=$_GET["wrapup_message"];} + elseif (isset($_POST["wrapup_message"])) {$wrapup_message=$_POST["wrapup_message"];} +if (isset($_GET["wrapup_seconds"])) {$wrapup_seconds=$_GET["wrapup_seconds"];} + elseif (isset($_POST["wrapup_seconds"])) {$wrapup_seconds=$_POST["wrapup_seconds"];} +if (isset($_GET["xferconf_a_dtmf"])) {$xferconf_a_dtmf=$_GET["xferconf_a_dtmf"];} + elseif (isset($_POST["xferconf_a_dtmf"])) {$xferconf_a_dtmf=$_POST["xferconf_a_dtmf"];} +if (isset($_GET["xferconf_a_number"])) {$xferconf_a_number=$_GET["xferconf_a_number"];} + elseif (isset($_POST["xferconf_a_number"])) {$xferconf_a_number=$_POST["xferconf_a_number"];} +if (isset($_GET["xferconf_b_dtmf"])) {$xferconf_b_dtmf=$_GET["xferconf_b_dtmf"];} + elseif (isset($_POST["xferconf_b_dtmf"])) {$xferconf_b_dtmf=$_POST["xferconf_b_dtmf"];} +if (isset($_GET["xferconf_b_number"])) {$xferconf_b_number=$_GET["xferconf_b_number"];} + elseif (isset($_POST["xferconf_b_number"])) {$xferconf_b_number=$_POST["xferconf_b_number"];} +if (isset($_GET["vicidial_balance_active"])) {$vicidial_balance_active=$_GET["vicidial_balance_active"];} + elseif (isset($_POST["vicidial_balance_active"])) {$vicidial_balance_active=$_POST["vicidial_balance_active"];} +if (isset($_GET["balance_trunks_offlimits"])) {$balance_trunks_offlimits=$_GET["balance_trunks_offlimits"];} + elseif (isset($_POST["balance_trunks_offlimits"])) {$balance_trunks_offlimits=$_POST["balance_trunks_offlimits"];} +if (isset($_GET["dedicated_trunks"])) {$dedicated_trunks=$_GET["dedicated_trunks"];} + elseif (isset($_POST["dedicated_trunks"])) {$dedicated_trunks=$_POST["dedicated_trunks"];} +if (isset($_GET["trunk_restriction"])) {$trunk_restriction=$_GET["trunk_restriction"];} + elseif (isset($_POST["trunk_restriction"])) {$trunk_restriction=$_POST["trunk_restriction"];} +if (isset($_GET["campaigns"])) {$campaigns=$_GET["campaigns"];} + elseif (isset($_POST["campaigns"])) {$campaigns=$_POST["campaigns"];} +if (isset($_GET["dial_level_override"])) {$dial_level_override=$_GET["dial_level_override"];} + elseif (isset($_POST["dial_level_override"])) {$dial_level_override=$_POST["dial_level_override"];} +if (isset($_GET["concurrent_transfers"])) {$concurrent_transfers=$_GET["concurrent_transfers"];} + elseif (isset($_POST["concurrent_transfers"])) {$concurrent_transfers=$_POST["concurrent_transfers"];} +if (isset($_GET["auto_alt_dial"])) {$auto_alt_dial=$_GET["auto_alt_dial"];} + elseif (isset($_POST["auto_alt_dial"])) {$auto_alt_dial=$_POST["auto_alt_dial"];} +if (isset($_GET["modify_users"])) {$modify_users=$_GET["modify_users"];} + elseif (isset($_POST["modify_users"])) {$modify_users=$_POST["modify_users"];} +if (isset($_GET["modify_campaigns"])) {$modify_campaigns=$_GET["modify_campaigns"];} + elseif (isset($_POST["modify_campaigns"])) {$modify_campaigns=$_POST["modify_campaigns"];} +if (isset($_GET["modify_lists"])) {$modify_lists=$_GET["modify_lists"];} + elseif (isset($_POST["modify_lists"])) {$modify_lists=$_POST["modify_lists"];} +if (isset($_GET["modify_scripts"])) {$modify_scripts=$_GET["modify_scripts"];} + elseif (isset($_POST["modify_scripts"])) {$modify_scripts=$_POST["modify_scripts"];} +if (isset($_GET["modify_filters"])) {$modify_filters=$_GET["modify_filters"];} + elseif (isset($_POST["modify_filters"])) {$modify_filters=$_POST["modify_filters"];} +if (isset($_GET["modify_ingroups"])) {$modify_ingroups=$_GET["modify_ingroups"];} + elseif (isset($_POST["modify_ingroups"])) {$modify_ingroups=$_POST["modify_ingroups"];} +if (isset($_GET["modify_usergroups"])) {$modify_usergroups=$_GET["modify_usergroups"];} + elseif (isset($_POST["modify_usergroups"])) {$modify_usergroups=$_POST["modify_usergroups"];} +if (isset($_GET["modify_remoteagents"])) {$modify_remoteagents=$_GET["modify_remoteagents"];} + elseif (isset($_POST["modify_remoteagents"])) {$modify_remoteagents=$_POST["modify_remoteagents"];} +if (isset($_GET["modify_servers"])) {$modify_servers=$_GET["modify_servers"];} + elseif (isset($_POST["modify_servers"])) {$modify_servers=$_POST["modify_servers"];} +if (isset($_GET["view_reports"])) {$view_reports=$_GET["view_reports"];} + elseif (isset($_POST["view_reports"])) {$view_reports=$_POST["view_reports"];} +if (isset($_GET["agent_pause_codes_active"])) {$agent_pause_codes_active=$_GET["agent_pause_codes_active"];} + elseif (isset($_POST["agent_pause_codes_active"])) {$agent_pause_codes_active=$_POST["agent_pause_codes_active"];} +if (isset($_GET["pause_code"])) {$pause_code=$_GET["pause_code"];} + elseif (isset($_POST["pause_code"])) {$pause_code=$_POST["pause_code"];} +if (isset($_GET["pause_code_name"])) {$pause_code_name=$_GET["pause_code_name"];} + elseif (isset($_POST["pause_code_name"])) {$pause_code_name=$_POST["pause_code_name"];} +if (isset($_GET["billable"])) {$billable=$_GET["billable"];} + elseif (isset($_POST["billable"])) {$billable=$_POST["billable"];} +if (isset($_GET["campaign_description"])) {$campaign_description=$_GET["campaign_description"];} + elseif (isset($_POST["campaign_description"])) {$campaign_description=$_POST["campaign_description"];} +if (isset($_GET["campaign_stats_refresh"])) {$campaign_stats_refresh=$_GET["campaign_stats_refresh"];} + elseif (isset($_POST["campaign_stats_refresh"])){$campaign_stats_refresh=$_POST["campaign_stats_refresh"];} +if (isset($_GET["list_description"])) {$list_description=$_GET["list_description"];} + elseif (isset($_POST["list_description"])) {$list_description=$_POST["list_description"];} +if (isset($_GET["vicidial_recording_override"])) {$vicidial_recording_override=$_GET["vicidial_recording_override"];} elseif (isset($_POST["vicidial_recording_override"])) {$vicidial_recording_override=$_POST["vicidial_recording_override"];} +if (isset($_GET["use_non_latin"])) {$use_non_latin=$_GET["use_non_latin"];} + elseif (isset($_POST["use_non_latin"])) {$use_non_latin=$_POST["use_non_latin"];} +if (isset($_GET["webroot_writable"])) {$webroot_writable=$_GET["webroot_writable"];} + elseif (isset($_POST["webroot_writable"])) {$webroot_writable=$_POST["webroot_writable"];} +if (isset($_GET["enable_queuemetrics_logging"])) {$enable_queuemetrics_logging=$_GET["enable_queuemetrics_logging"];} + elseif (isset($_POST["enable_queuemetrics_logging"])) {$enable_queuemetrics_logging=$_POST["enable_queuemetrics_logging"];} +if (isset($_GET["queuemetrics_server_ip"])) {$queuemetrics_server_ip=$_GET["queuemetrics_server_ip"];} + elseif (isset($_POST["queuemetrics_server_ip"])) {$queuemetrics_server_ip=$_POST["queuemetrics_server_ip"];} +if (isset($_GET["queuemetrics_dbname"])) {$queuemetrics_dbname=$_GET["queuemetrics_dbname"];} + elseif (isset($_POST["queuemetrics_dbname"])) {$queuemetrics_dbname=$_POST["queuemetrics_dbname"];} +if (isset($_GET["queuemetrics_login"])) {$queuemetrics_login=$_GET["queuemetrics_login"];} + elseif (isset($_POST["queuemetrics_login"])) {$queuemetrics_login=$_POST["queuemetrics_login"];} +if (isset($_GET["queuemetrics_pass"])) {$queuemetrics_pass=$_GET["queuemetrics_pass"];} + elseif (isset($_POST["queuemetrics_pass"])) {$queuemetrics_pass=$_POST["queuemetrics_pass"];} +if (isset($_GET["queuemetrics_url"])) {$queuemetrics_url=$_GET["queuemetrics_url"];} + elseif (isset($_POST["queuemetrics_url"])) {$queuemetrics_url=$_POST["queuemetrics_url"];} +if (isset($_GET["queuemetrics_log_id"])) {$queuemetrics_log_id=$_GET["queuemetrics_log_id"];} + elseif (isset($_POST["queuemetrics_log_id"])) {$queuemetrics_log_id=$_POST["queuemetrics_log_id"];} +if (isset($_GET["dial_status"])) {$dial_status=$_GET["dial_status"];} + elseif (isset($_POST["dial_status"])) {$dial_status=$_POST["dial_status"];} +if (isset($_GET["queuemetrics_eq_prepend"])) {$queuemetrics_eq_prepend=$_GET["queuemetrics_eq_prepend"];} + elseif (isset($_POST["queuemetrics_eq_prepend"])) {$queuemetrics_eq_prepend=$_POST["queuemetrics_eq_prepend"];} +if (isset($_GET["vicidial_agent_disable"])) {$vicidial_agent_disable=$_GET["vicidial_agent_disable"];} + elseif (isset($_POST["vicidial_agent_disable"])) {$vicidial_agent_disable=$_POST["vicidial_agent_disable"];} +if (isset($_GET["disable_alter_custdata"])) {$disable_alter_custdata=$_GET["disable_alter_custdata"];} + elseif (isset($_POST["disable_alter_custdata"])) {$disable_alter_custdata=$_POST["disable_alter_custdata"];} +if (isset($_GET["alter_custdata_override"])) {$alter_custdata_override=$_GET["alter_custdata_override"];} + elseif (isset($_POST["alter_custdata_override"])) {$alter_custdata_override=$_POST["alter_custdata_override"];} +if (isset($_GET["no_hopper_leads_logins"])) {$no_hopper_leads_logins=$_GET["no_hopper_leads_logins"];} + elseif (isset($_POST["no_hopper_leads_logins"])) {$no_hopper_leads_logins=$_POST["no_hopper_leads_logins"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["allow_sipsak_messages"])) {$allow_sipsak_messages=$_GET["allow_sipsak_messages"];} + elseif (isset($_POST["allow_sipsak_messages"])) {$allow_sipsak_messages=$_POST["allow_sipsak_messages"];} +if (isset($_GET["admin_home_url"])) {$admin_home_url=$_GET["admin_home_url"];} + elseif (isset($_POST["admin_home_url"])) {$admin_home_url=$_POST["admin_home_url"];} +if (isset($_GET["list_order_mix"])) {$list_order_mix=$_GET["list_order_mix"];} + elseif (isset($_POST["list_order_mix"])) {$list_order_mix=$_POST["list_order_mix"];} +if (isset($_GET["vcl_id"])) {$vcl_id=$_GET["vcl_id"];} + elseif (isset($_POST["vcl_id"])) {$vcl_id=$_POST["vcl_id"];} +if (isset($_GET["vcl_name"])) {$vcl_name=$_GET["vcl_name"];} + elseif (isset($_POST["vcl_name"])) {$vcl_name=$_POST["vcl_name"];} +if (isset($_GET["list_mix_container"])) {$list_mix_container=$_GET["list_mix_container"];} + elseif (isset($_POST["list_mix_container"])) {$list_mix_container=$_POST["list_mix_container"];} +if (isset($_GET["mix_method"])) {$mix_method=$_GET["mix_method"];} + elseif (isset($_POST["mix_method"])) {$mix_method=$_POST["mix_method"];} +if (isset($_GET["human_answered"])) {$human_answered=$_GET["human_answered"];} + elseif (isset($_POST["human_answered"])) {$human_answered=$_POST["human_answered"];} +if (isset($_GET["category"])) {$category=$_GET["category"];} + elseif (isset($_POST["category"])) {$category=$_POST["category"];} +if (isset($_GET["vsc_id"])) {$vsc_id=$_GET["vsc_id"];} + elseif (isset($_POST["vsc_id"])) {$vsc_id=$_POST["vsc_id"];} +if (isset($_GET["vsc_name"])) {$vsc_name=$_GET["vsc_name"];} + elseif (isset($_POST["vsc_name"])) {$vsc_name=$_POST["vsc_name"];} +if (isset($_GET["vsc_description"])) {$vsc_description=$_GET["vsc_description"];} + elseif (isset($_POST["vsc_description"])) {$vsc_description=$_POST["vsc_description"];} +if (isset($_GET["tovdad_display"])) {$tovdad_display=$_GET["tovdad_display"];} + elseif (isset($_POST["tovdad_display"])) {$tovdad_display=$_POST["tovdad_display"];} +if (isset($_GET["mix_container_item"])) {$mix_container_item=$_GET["mix_container_item"];} + elseif (isset($_POST["mix_container_item"])) {$mix_container_item=$_POST["mix_container_item"];} +if (isset($_GET["enable_agc_xfer_log"])) {$enable_agc_xfer_log=$_GET["enable_agc_xfer_log"];} + elseif (isset($_POST["enable_agc_xfer_log"])) {$enable_agc_xfer_log=$_POST["enable_agc_xfer_log"];} +if (isset($_GET["after_hours_action"])) {$after_hours_action=$_GET["after_hours_action"];} + elseif (isset($_POST["after_hours_action"])) {$after_hours_action=$_POST["after_hours_action"];} +if (isset($_GET["after_hours_message_filename"])) {$after_hours_message_filename=$_GET["after_hours_message_filename"];} + elseif (isset($_POST["after_hours_message_filename"])) {$after_hours_message_filename=$_POST["after_hours_message_filename"];} +if (isset($_GET["after_hours_exten"])) {$after_hours_exten=$_GET["after_hours_exten"];} + elseif (isset($_POST["after_hours_exten"])) {$after_hours_exten=$_POST["after_hours_exten"];} +if (isset($_GET["after_hours_voicemail"])) {$after_hours_voicemail=$_GET["after_hours_voicemail"];} + elseif (isset($_POST["after_hours_voicemail"])) {$after_hours_voicemail=$_POST["after_hours_voicemail"];} +if (isset($_GET["welcome_message_filename"])) {$welcome_message_filename=$_GET["welcome_message_filename"];} + elseif (isset($_POST["welcome_message_filename"])) {$welcome_message_filename=$_POST["welcome_message_filename"];} +if (isset($_GET["moh_context"])) {$moh_context=$_GET["moh_context"];} + elseif (isset($_POST["moh_context"])) {$moh_context=$_POST["moh_context"];} +if (isset($_GET["onhold_prompt_filename"])) {$onhold_prompt_filename=$_GET["onhold_prompt_filename"];} + elseif (isset($_POST["onhold_prompt_filename"])) {$onhold_prompt_filename=$_POST["onhold_prompt_filename"];} +if (isset($_GET["prompt_interval"])) {$prompt_interval=$_GET["prompt_interval"];} + elseif (isset($_POST["prompt_interval"])) {$prompt_interval=$_POST["prompt_interval"];} +if (isset($_GET["agent_alert_exten"])) {$agent_alert_exten=$_GET["agent_alert_exten"];} + elseif (isset($_POST["agent_alert_exten"])) {$agent_alert_exten=$_POST["agent_alert_exten"];} +if (isset($_GET["agent_alert_delay"])) {$agent_alert_delay=$_GET["agent_alert_delay"];} + elseif (isset($_POST["agent_alert_delay"])) {$agent_alert_delay=$_POST["agent_alert_delay"];} +if (isset($_GET["group_rank"])) {$group_rank=$_GET["group_rank"];} + elseif (isset($_POST["group_rank"])) {$group_rank=$_POST["group_rank"];} +if (isset($_GET["campaign_allow_inbound"])) {$campaign_allow_inbound=$_GET["campaign_allow_inbound"];} + elseif (isset($_POST["campaign_allow_inbound"])) {$campaign_allow_inbound=$_POST["campaign_allow_inbound"];} +if (isset($_GET["manual_dial_list_id"])) {$manual_dial_list_id=$_GET["manual_dial_list_id"];} + elseif (isset($_POST["manual_dial_list_id"])) {$manual_dial_list_id=$_POST["manual_dial_list_id"];} +if (isset($_GET["campaign_rank"])) {$campaign_rank=$_GET["campaign_rank"];} + elseif (isset($_POST["campaign_rank"])) {$campaign_rank=$_POST["campaign_rank"];} +if (isset($_GET["source_campaign_id"])) {$source_campaign_id=$_GET["source_campaign_id"];} + elseif (isset($_POST["source_campaign_id"])) {$source_campaign_id=$_POST["source_campaign_id"];} +if (isset($_GET["source_user_id"])) {$source_user_id=$_GET["source_user_id"];} + elseif (isset($_POST["source_user_id"])) {$source_user_id=$_POST["source_user_id"];} +if (isset($_GET["source_group_id"])) {$source_group_id=$_GET["source_group_id"];} + elseif (isset($_POST["source_group_id"])) {$source_group_id=$_POST["source_group_id"];} +if (isset($_GET["default_xfer_group"])) {$default_xfer_group=$_GET["default_xfer_group"];} + elseif (isset($_POST["default_xfer_group"])) {$default_xfer_group=$_POST["default_xfer_group"];} + + + if (isset($script_id)) {$script_id= strtoupper($script_id);} + if (isset($lead_filter_id)) {$lead_filter_id = strtoupper($lead_filter_id);} + +if (strlen($dial_status) > 0) + { + $ADD='28'; + $status = $dial_status; + } + +###################################################################################################### +###################################################################################################### +####### Form variable filtering for security and data integrity +###################################################################################################### +###################################################################################################### + +if ($non_latin < 1) +{ +### DIGITS ONLY ### +$adaptive_dropped_percentage = ereg_replace("[^0-9]","",$adaptive_dropped_percentage); +$adaptive_latest_server_time = ereg_replace("[^0-9]","",$adaptive_latest_server_time); +$admin_hangup_enabled = ereg_replace("[^0-9]","",$admin_hangup_enabled); +$admin_hijack_enabled = ereg_replace("[^0-9]","",$admin_hijack_enabled); +$admin_monitor_enabled = ereg_replace("[^0-9]","",$admin_monitor_enabled); +$AFLogging_enabled = ereg_replace("[^0-9]","",$AFLogging_enabled); +$agent_choose_ingroups = ereg_replace("[^0-9]","",$agent_choose_ingroups); +$agentcall_manual = ereg_replace("[^0-9]","",$agentcall_manual); +$agentonly_callbacks = ereg_replace("[^0-9]","",$agentonly_callbacks); +$AGI_call_logging_enabled = ereg_replace("[^0-9]","",$AGI_call_logging_enabled); +$allcalls_delay = ereg_replace("[^0-9]","",$allcalls_delay); +$alter_agent_interface_options = ereg_replace("[^0-9]","",$alter_agent_interface_options); +$am_message_exten = ereg_replace("[^0-9]","",$am_message_exten); +$answer_transfer_agent = ereg_replace("[^0-9]","",$answer_transfer_agent); +$ast_admin_access = ereg_replace("[^0-9]","",$ast_admin_access); +$ast_delete_phones = ereg_replace("[^0-9]","",$ast_delete_phones); +$attempt_delay = ereg_replace("[^0-9]","",$attempt_delay); +$attempt_maximum = ereg_replace("[^0-9]","",$attempt_maximum); +$auto_dial_next_number = ereg_replace("[^0-9]","",$auto_dial_next_number); +$balance_trunks_offlimits = ereg_replace("[^0-9]","",$balance_trunks_offlimits); +$call_parking_enabled = ereg_replace("[^0-9]","",$call_parking_enabled); +$CallerID_popup_enabled = ereg_replace("[^0-9]","",$CallerID_popup_enabled); +$campaign_detail = ereg_replace("[^0-9]","",$campaign_detail); +$campaign_rec_exten = ereg_replace("[^0-9]","",$campaign_rec_exten); +$campaign_vdad_exten = ereg_replace("[^0-9]","",$campaign_vdad_exten); +$change_agent_campaign = ereg_replace("[^0-9]","",$change_agent_campaign); +$closer_default_blended = ereg_replace("[^0-9]","",$closer_default_blended); +$conf_exten = ereg_replace("[^0-9]","",$conf_exten); +$conf_on_extension = ereg_replace("[^0-9]","",$conf_on_extension); +$conferencing_enabled = ereg_replace("[^0-9]","",$conferencing_enabled); +$ct_default_start = ereg_replace("[^0-9]","",$ct_default_start); +$ct_default_stop = ereg_replace("[^0-9]","",$ct_default_stop); +$ct_friday_start = ereg_replace("[^0-9]","",$ct_friday_start); +$ct_friday_stop = ereg_replace("[^0-9]","",$ct_friday_stop); +$ct_monday_start = ereg_replace("[^0-9]","",$ct_monday_start); +$ct_monday_stop = ereg_replace("[^0-9]","",$ct_monday_stop); +$ct_saturday_start = ereg_replace("[^0-9]","",$ct_saturday_start); +$ct_saturday_stop = ereg_replace("[^0-9]","",$ct_saturday_stop); +$ct_sunday_start = ereg_replace("[^0-9]","",$ct_sunday_start); +$ct_sunday_stop = ereg_replace("[^0-9]","",$ct_sunday_stop); +$ct_thursday_start = ereg_replace("[^0-9]","",$ct_thursday_start); +$ct_thursday_stop = ereg_replace("[^0-9]","",$ct_thursday_stop); +$ct_tuesday_start = ereg_replace("[^0-9]","",$ct_tuesday_start); +$ct_tuesday_stop = ereg_replace("[^0-9]","",$ct_tuesday_stop); +$ct_wednesday_start = ereg_replace("[^0-9]","",$ct_wednesday_start); +$ct_wednesday_stop = ereg_replace("[^0-9]","",$ct_wednesday_stop); +$DBX_port = ereg_replace("[^0-9]","",$DBX_port); +$DBY_port = ereg_replace("[^0-9]","",$DBY_port); +$dedicated_trunks = ereg_replace("[^0-9]","",$dedicated_trunks); +$delete_call_times = ereg_replace("[^0-9]","",$delete_call_times); +$delete_campaigns = ereg_replace("[^0-9]","",$delete_campaigns); +$delete_filters = ereg_replace("[^0-9]","",$delete_filters); +$delete_ingroups = ereg_replace("[^0-9]","",$delete_ingroups); +$delete_lists = ereg_replace("[^0-9]","",$delete_lists); +$delete_remote_agents = ereg_replace("[^0-9]","",$delete_remote_agents); +$delete_scripts = ereg_replace("[^0-9]","",$delete_scripts); +$delete_user_groups = ereg_replace("[^0-9]","",$delete_user_groups); +$delete_users = ereg_replace("[^0-9]","",$delete_users); +$dial_timeout = ereg_replace("[^0-9]","",$dial_timeout); +$dialplan_number = ereg_replace("[^0-9]","",$dialplan_number); +$drop_call_seconds = ereg_replace("[^0-9]","",$drop_call_seconds); +$drop_exten = ereg_replace("[^0-9]","",$drop_exten); +$enable_fast_refresh = ereg_replace("[^0-9]","",$enable_fast_refresh); +$enable_persistant_mysql = ereg_replace("[^0-9]","",$enable_persistant_mysql); +$fast_refresh_rate = ereg_replace("[^0-9]","",$fast_refresh_rate); +$hopper_level = ereg_replace("[^0-9]","",$hopper_level); +$hotkey = ereg_replace("[^0-9]","",$hotkey); +$hotkeys_active = ereg_replace("[^0-9]","",$hotkeys_active); +$list_id = ereg_replace("[^0-9]","",$list_id); +$load_leads = ereg_replace("[^0-9]","",$load_leads); +$max_vicidial_trunks = ereg_replace("[^0-9]","",$max_vicidial_trunks); +$modify_call_times = ereg_replace("[^0-9]","",$modify_call_times); +$modify_users = ereg_replace("[^0-9]","",$modify_users); +$modify_campaigns = ereg_replace("[^0-9]","",$modify_campaigns); +$modify_lists = ereg_replace("[^0-9]","",$modify_lists); +$modify_scripts = ereg_replace("[^0-9]","",$modify_scripts); +$modify_filters = ereg_replace("[^0-9]","",$modify_filters); +$modify_ingroups = ereg_replace("[^0-9]","",$modify_ingroups); +$modify_usergroups = ereg_replace("[^0-9]","",$modify_usergroups); +$modify_remoteagents = ereg_replace("[^0-9]","",$modify_remoteagents); +$modify_servers = ereg_replace("[^0-9]","",$modify_servers); +$view_reports = ereg_replace("[^0-9]","",$view_reports); +$modify_leads = ereg_replace("[^0-9]","",$modify_leads); +$monitor_prefix = ereg_replace("[^0-9]","",$monitor_prefix); +$number_of_lines = ereg_replace("[^0-9]","",$number_of_lines); +$old_conf_exten = ereg_replace("[^0-9]","",$old_conf_exten); +$outbound_cid = ereg_replace("[^0-9]","",$outbound_cid); +$park_ext = ereg_replace("[^0-9]","",$park_ext); +$park_on_extension = ereg_replace("[^0-9]","",$park_on_extension); +$phone_number = ereg_replace("[^0-9]","",$phone_number); +$QUEUE_ACTION_enabled = ereg_replace("[^0-9]","",$QUEUE_ACTION_enabled); +$recording_exten = ereg_replace("[^0-9]","",$recording_exten); +$remote_agent_id = ereg_replace("[^0-9]","",$remote_agent_id); +$safe_harbor_exten = ereg_replace("[^0-9]","",$safe_harbor_exten); +$telnet_port = ereg_replace("[^0-9]","",$telnet_port); +$updater_check_enabled = ereg_replace("[^0-9]","",$updater_check_enabled); +$user_level = ereg_replace("[^0-9]","",$user_level); +$user_start = ereg_replace("[^0-9]","",$user_start); +$user_switching_enabled = ereg_replace("[^0-9]","",$user_switching_enabled); +$VDstop_rec_after_each_call = ereg_replace("[^0-9]","",$VDstop_rec_after_each_call); +$VICIDIAL_park_on_extension = ereg_replace("[^0-9]","",$VICIDIAL_park_on_extension); +$vicidial_recording = ereg_replace("[^0-9]","",$vicidial_recording); +$vicidial_transfers = ereg_replace("[^0-9]","",$vicidial_transfers); +$voicemail_button_enabled = ereg_replace("[^0-9]","",$voicemail_button_enabled); +$voicemail_dump_exten = ereg_replace("[^0-9]","",$voicemail_dump_exten); +$voicemail_ext = ereg_replace("[^0-9]","",$voicemail_ext); +$voicemail_exten = ereg_replace("[^0-9]","",$voicemail_exten); +$voicemail_id = ereg_replace("[^0-9]","",$voicemail_id); +$wrapup_seconds = ereg_replace("[^0-9]","",$wrapup_seconds); +$use_non_latin = ereg_replace("[^0-9]","",$use_non_latin); +$webroot_writable = ereg_replace("[^0-9]","",$webroot_writable); +$enable_queuemetrics_logging = ereg_replace("[^0-9]","",$enable_queuemetrics_logging); +$enable_sipsak_messages = ereg_replace("[^0-9]","",$enable_sipsak_messages); +$allow_sipsak_messages = ereg_replace("[^0-9]","",$allow_sipsak_messages); +$mix_container_item = ereg_replace("[^0-9]","",$mix_container_item); +$prompt_interval = ereg_replace("[^0-9]","",$prompt_interval); +$agent_alert_delay = ereg_replace("[^0-9]","",$agent_alert_delay); +$manual_dial_list_id = ereg_replace("[^0-9]","",$manual_dial_list_id); + +### DIGITS and DASHES +$group_rank = ereg_replace("[^-0-9]","",$group_rank); +$campaign_rank = ereg_replace("[^-0-9]","",$campaign_rank); + +### Y or N ONLY ### +$active = ereg_replace("[^NY]","",$active); +$allow_closers = ereg_replace("[^NY]","",$allow_closers); +$reset_hopper = ereg_replace("[^NY]","",$reset_hopper); +$amd_send_to_vmx = ereg_replace("[^NY]","",$amd_send_to_vmx); +$alt_number_dialing = ereg_replace("[^NY]","",$alt_number_dialing); +$safe_harbor_message = ereg_replace("[^NY]","",$safe_harbor_message); +$selectable = ereg_replace("[^NY]","",$selectable); +$reset_list = ereg_replace("[^NY]","",$reset_list); +$fronter_display = ereg_replace("[^NY]","",$fronter_display); +$drop_message = ereg_replace("[^NY]","",$drop_message); +$use_internal_dnc = ereg_replace("[^NY]","",$use_internal_dnc); +$omit_phone_code = ereg_replace("[^NY]","",$omit_phone_code); +$available_only_ratio_tally = ereg_replace("[^NY]","",$available_only_ratio_tally); +$sys_perf_log = ereg_replace("[^NY]","",$sys_perf_log); +$vicidial_balance_active = ereg_replace("[^NY]","",$vicidial_balance_active); +$vd_server_logs = ereg_replace("[^NY]","",$vd_server_logs); +$agent_pause_codes_active = ereg_replace("[^NY]","",$agent_pause_codes_active); +$campaign_stats_refresh = ereg_replace("[^NY]","",$campaign_stats_refresh); +$disable_alter_custdata = ereg_replace("[^NY]","",$disable_alter_custdata); +$no_hopper_leads_logins = ereg_replace("[^NY]","",$no_hopper_leads_logins); +$human_answered = ereg_replace("[^NY]","",$human_answered); +$tovdad_display = ereg_replace("[^NY]","",$tovdad_display); +$campaign_allow_inbound = ereg_replace("[^NY]","",$campaign_allow_inbound); + +### ALPHA-NUMERIC ONLY ### +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$script_id = ereg_replace("[^0-9a-zA-Z]","",$script_id); +$submit = ereg_replace("[^0-9a-zA-Z]","",$submit); +$campaign_cid = ereg_replace("[^0-9a-zA-Z]","",$campaign_cid); +$get_call_launch = ereg_replace("[^0-9a-zA-Z]","",$get_call_launch); +$campaign_recording = ereg_replace("[^0-9a-zA-Z]","",$campaign_recording); +$ADD = ereg_replace("[^0-9a-zA-Z]","",$ADD); +$dial_prefix = ereg_replace("[^0-9a-zA-Z]","",$dial_prefix); +$state_call_time_state = ereg_replace("[^0-9a-zA-Z]","",$state_call_time_state); +$scheduled_callbacks = ereg_replace("[^0-9a-zA-Z]","",$scheduled_callbacks); +$concurrent_transfers = ereg_replace("[^0-9a-zA-Z]","",$concurrent_transfers); +$billable = ereg_replace("[^0-9a-zA-Z]","",$billable); +$pause_code = ereg_replace("[^0-9a-zA-Z]","",$pause_code); +$vicidial_recording_override = ereg_replace("[^0-9a-zA-Z]","",$vicidial_recording_override); +$queuemetrics_log_id = ereg_replace("[^0-9a-zA-Z]","",$queuemetrics_log_id); +$after_hours_action = ereg_replace("[^0-9a-zA-Z]","",$after_hours_action); +$after_hours_exten = ereg_replace("[^0-9a-zA-Z]","",$after_hours_exten); +$after_hours_voicemail = ereg_replace("[^0-9a-zA-Z]","",$after_hours_voicemail); + +### DIGITS and Dots +$server_ip = ereg_replace("[^\.0-9]","",$server_ip); +$auto_dial_level = ereg_replace("[^\.0-9]","",$auto_dial_level); +$adaptive_maximum_level = ereg_replace("[^\.0-9]","",$adaptive_maximum_level); +$phone_ip = ereg_replace("[^\.0-9]","",$phone_ip); +$old_server_ip = ereg_replace("[^\.0-9]","",$old_server_ip); +$computer_ip = ereg_replace("[^\.0-9]","",$computer_ip); +$queuemetrics_server_ip = ereg_replace("[^\.0-9]","",$queuemetrics_server_ip); + +### ALPHA-NUMERIC and spaces and hash and star and comma +$xferconf_a_dtmf = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$xferconf_a_dtmf); +$xferconf_b_dtmf = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$xferconf_b_dtmf); + +### ALPHACAPS-NUMERIC +$xferconf_a_number = ereg_replace("[^0-9A-Z]","",$xferconf_a_number); +$xferconf_b_number = ereg_replace("[^0-9A-Z]","",$xferconf_b_number); + +### ALPHA-NUMERIC and underscore and dash +$agi_output = ereg_replace("[^-\_0-9a-zA-Z]","",$agi_output); +$ASTmgrSECRET = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrSECRET); +$ASTmgrUSERNAME = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAME); +$ASTmgrUSERNAMElisten = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAMElisten); +$ASTmgrUSERNAMEsend = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAMEsend); +$ASTmgrUSERNAMEupdate = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAMEupdate); +$call_time_id = ereg_replace("[^-\_0-9a-zA-Z]","",$call_time_id); +$campaign_id = ereg_replace("[^-\_0-9a-zA-Z]","",$campaign_id); +$CoNfIrM = ereg_replace("[^-\_0-9a-zA-Z]","",$CoNfIrM); +$DBX_database = ereg_replace("[^-\_0-9a-zA-Z]","",$DBX_database); +$DBX_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$DBX_pass); +$DBX_user = ereg_replace("[^-\_0-9a-zA-Z]","",$DBX_user); +$DBY_database = ereg_replace("[^-\_0-9a-zA-Z]","",$DBY_database); +$DBY_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$DBY_pass); +$DBY_user = ereg_replace("[^-\_0-9a-zA-Z]","",$DBY_user); +$dial_method = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_method); +$dial_status_a = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_a); +$dial_status_b = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_b); +$dial_status_c = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_c); +$dial_status_d = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_d); +$dial_status_e = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_e); +$ext_context = ereg_replace("[^-\_0-9a-zA-Z]","",$ext_context); +$group_id = ereg_replace("[^-\_0-9a-zA-Z]","",$group_id); +$lead_filter_id = ereg_replace("[^-\_0-9a-zA-Z]","",$lead_filter_id); +$local_call_time = ereg_replace("[^-\_0-9a-zA-Z]","",$local_call_time); +$login = ereg_replace("[^-\_0-9a-zA-Z]","",$login); +$login_campaign = ereg_replace("[^-\_0-9a-zA-Z]","",$login_campaign); +$login_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$login_pass); +$login_user = ereg_replace("[^-\_0-9a-zA-Z]","",$login_user); +$next_agent_call = ereg_replace("[^-\_0-9a-zA-Z]","",$next_agent_call); +$old_campaign_id = ereg_replace("[^-\_0-9a-zA-Z]","",$old_campaign_id); +$old_server_id = ereg_replace("[^-\_0-9a-zA-Z]","",$old_server_id); +$OLDuser_group = ereg_replace("[^-\_0-9a-zA-Z]","",$OLDuser_group); +$park_file_name = ereg_replace("[^-\_0-9a-zA-Z]","",$park_file_name); +$pass = ereg_replace("[^-\_0-9a-zA-Z]","",$pass); +$phone_login = ereg_replace("[^-\_0-9a-zA-Z]","",$phone_login); +$phone_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$phone_pass); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$protocol = ereg_replace("[^-\_0-9a-zA-Z]","",$protocol); +$server_id = ereg_replace("[^-\_0-9a-zA-Z]","",$server_id); +$stage = ereg_replace("[^-\_0-9a-zA-Z]","",$stage); +$state_rule = ereg_replace("[^-\_0-9a-zA-Z]","",$state_rule); +$status = ereg_replace("[^-\_0-9a-zA-Z]","",$status); +$trunk_restriction = ereg_replace("[^-\_0-9a-zA-Z]","",$trunk_restriction); +$user = ereg_replace("[^-\_0-9a-zA-Z]","",$user); +$user_group = ereg_replace("[^-\_0-9a-zA-Z]","",$user_group); +$VICIDIAL_park_on_filename = ereg_replace("[^-\_0-9a-zA-Z]","",$VICIDIAL_park_on_filename); +$auto_alt_dial = ereg_replace("[^-\_0-9a-zA-Z]","",$auto_alt_dial); +$dial_status = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status); +$queuemetrics_eq_prepend = ereg_replace("[^-\_0-9a-zA-Z]","",$queuemetrics_eq_prepend); +$vicidial_agent_disable = ereg_replace("[^-\_0-9a-zA-Z]","",$vicidial_agent_disable); +$alter_custdata_override = ereg_replace("[^-\_0-9a-zA-Z]","",$alter_custdata_override); +$list_order_mix = ereg_replace("[^-\_0-9a-zA-Z]","",$list_order_mix); +$vcl_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vcl_id); +$mix_method = ereg_replace("[^-\_0-9a-zA-Z]","",$mix_method); +$category = ereg_replace("[^-\_0-9a-zA-Z]","",$category); +$vsc_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vsc_id); +$moh_context = ereg_replace("[^-\_0-9a-zA-Z]","",$moh_context); +$agent_alert_exten = ereg_replace("[^-\_0-9a-zA-Z]","",$agent_alert_exten); +$source_campaign_id = ereg_replace("[^-\_0-9a-zA-Z]","",$source_campaign_id); +$source_user_id = ereg_replace("[^-\_0-9a-zA-Z]","",$source_user_id); +$source_group_id = ereg_replace("[^-\_0-9a-zA-Z]","",$source_group_id); +$default_xfer_group = ereg_replace("[^-\_0-9a-zA-Z]","",$default_xfer_group); + +### ALPHA-NUMERIC and spaces +$lead_order = ereg_replace("[^ 0-9a-zA-Z]","",$lead_order); +### ALPHA-NUMERIC and hash +$group_color = ereg_replace("[^\#0-9a-zA-Z]","",$group_color); + +### ALPHA-NUMERIC and spaces dots, commas, dashes, underscores +$adaptive_dl_diff_target = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$adaptive_dl_diff_target); +$adaptive_intensity = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$adaptive_intensity); +$asterisk_version = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$asterisk_version); +$call_time_comments = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$call_time_comments); +$call_time_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$call_time_name); +$campaign_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$campaign_name); +$campaign_rec_filename = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$campaign_rec_filename); +$company = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$company); +$full_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$full_name); +$fullname = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$fullname); +$group_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$group_name); +$HKstatus = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$HKstatus); +$lead_filter_comments = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$lead_filter_comments); +$lead_filter_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$lead_filter_name); +$list_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$list_name); +$local_gmt = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$local_gmt); +$phone_type = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$phone_type); +$picture = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$picture); +$script_comments = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$script_comments); +$script_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$script_name); +$server_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$server_description); +$status = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$status); +$status_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$status_name); +$wrapup_message = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$wrapup_message); +$pause_code_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$pause_code_name); +$campaign_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$campaign_description); +$list_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$list_description); +$vcl_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vcl_name); +$vsc_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vsc_name); +$vsc_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vsc_description); + +### ALPHA-NUMERIC and underscore and dash and slash and at and dot +$call_out_number_group = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$call_out_number_group); +$client_browser = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$client_browser); +$DBX_server = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$DBX_server); +$DBY_server = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$DBY_server); +$dtmf_send_extension = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$dtmf_send_extension); +$extension = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$extension); +$install_directory = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$install_directory); +$old_extension = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$old_extension); +$telnet_host = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$telnet_host); +$queuemetrics_dbname = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_dbname); +$queuemetrics_login = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_login); +$queuemetrics_pass = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_pass); +$after_hours_message_filename = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$after_hours_message_filename); +$welcome_message_filename = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$welcome_message_filename); +$onhold_prompt_filename = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$onhold_prompt_filename); + +### remove semi-colons ### +$lead_filter_sql = ereg_replace(";","",$lead_filter_sql); +$list_mix_container = ereg_replace(";","",$list_mix_container); + +### VARIABLES TO BE mysql_real_escape_string ### +# $web_form_address +# $queuemetrics_url +# $admin_home_url + +### VARIABLES not filtered at all ### +# $script_text + +} # end of non_latin + + +##### END VARIABLE FILTERING FOR SECURITY ##### + + +# AST GUI database administration +# admin.php +# +# CHANGELOG: +# 50315-1110 - Added Custom Campaign Statuses +# 50317-1438 - Added Fronter Display var to inbound groups +# 50322-1355 - Added custom callerID per campaign +# 50517-1356 - Added user_groups sections and user_group to vicidial_users +# 50517-1440 - Added ability to logout (must click OK with empty user/pass) +# 50602-1622 - Added lead loader pages to load new files into vicidial_list +# 50620-1351 - Added custom vdad transfer AGI extension per campaign +# 50810-1414 - modified in groups to kick out spaces and dashes +# 50908-2136 - Added Custom Campaign HotKeys +# 50914-0950 - Fixed user search by user_group +# 50926-1358 - Modified to allow for language translation +# 50926-1615 - Added WeBRooTWritablE write controls +# 51020-1008 - Added editable web address and park ext - NEW dial campaigns +# 51020-1056 - Added fields and help for campaign recording control +# 51123-1335 - Altered code to function in php globals=off +# 51208-1038 - Added user_level changes, function controls and default user phones +# 51208-1556 - Added deletion of users/lists/campaigns/in groups/remote agents +# 51213-1706 - Added add/delete/modify vicidial scripts +# 51214-1737 - Added preview of vicidial script in popup window +# 51219-1225 - Added campaign and ingroups script selector and get_call_launch field +# 51222-1055 - Added am_message_exten to campaigns to allow for AM Message button +# 51222-1125 - Fixed new vicidial_campaigns default values not being assigned bug +# 51222-1156 - Added LOG OUT ALL AGENTS ON THIS CAMPAIGN button to campaign screen +# 60204-0659 - Fixed hopper reset bug +# 60207-1413 - Added AMD send to voicemail extension and xfer-conf dtmf presets +# 60213-1100 - Added several vicidial_users permissions fields +# 60215-1319 - Added On-hold CallBacks display and links +# 60227-1226 - Fixed vicidial_inbound_groups insert bug +# 60413-1308 - Fixed list display to have 1 row/status: count and time zone tables +# - Added status name in selected dial statuses in campaign screen +# 60417-1416 - Added vicidial_lead_filters sections +# - Changed the header links to color-coded sectional with sublinks below +# - Added filter name and script name to campaign and in-group modify sections +# - Added callback and alt dial options to campaigns section +# - Added callback, alt dial and other options to users section +# 60419-1628 - Alter Callbacks display to include status and LIVE listings, reordered +# 60421-1441 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60425-2355 - Added agent options to vicidial_users, reformatted user page +# 60502-1627 - Added drop_call_seconds and safe_harbor_ fields to campaign screen +# 60503-1228 - Added drop_call_seconds and drop_ fields to inbound groups screen +# 60505-1117 - Added initial framework for new local_call_times tables and definitions +# 60506-1033 - More revisions to the local_call_time section +# 60508-1354 - Finished call_times and state_call_times sections +# - Added modify/delete options for call_times +# 60509-1311 - Functionalize campaign dialable leads calculation +# - Change state_call_times selection from call_times to only allow one per state +# - Added dialable leads count popup to campaign screen if auto-calc is disabled +# - Added test dialable leads count popup to filter screen +# 60510-1050 - Added Wrapup seconds and Wrapup message to campaigns screen +# 60608-1401 - Added allowable inbound_groups checkboxes to CLOSER campaign detail screen +# 60609-1051 - Added add-to-dnc in LISTS section +# 60613-1415 - Added lead recycling options to campaign detail screen +# 60619-1523 - Added variable filtering to eliminate SQL injection attack threat +# 60622-1216 - Fixed HotKey addition form issues and variable filtering +# 60623-1159 - Fixed Scheduled Callbacks over-filtering bug and filter_sql bug +# 60808-1147 - Changed filtering for and added instructions for consutative transfers +# 60816-1552 - Added allcalls_delay start delay for recordings in vicidial.php +# 60817-2226 - Fixed bug that would not allow lead recycling of non-selectable statuses +# 60821-1543 - Added option to Omit Phone Code while dialing in vicidial +# 60821-1625 - Added ALLFORCE recording option for campaign_recording +# 60823-1154 - Added fields for adaptive dialing +# 60824-1326 - Added adaptive_latest_target_gmt for ADAPT_TAPERED dial method +# 60825-1205 - Added adaptive_intensity for ADAPT_ dial methods +# 60828-1019 - Changed adaptive_latest_target_gmt to adaptive_latest_server_time +# 60828-1115 - Added adaptive_dl_diff_target and changed intensity dropdown +# 60927-1246 - Added astguiclient/admin.php functions under SERVERS tab +# 61002-1402 - Added fields for vicidial balance trunk controls +# 61003-1123 - Added functions for vicidial_server_trunks records +# 61109-1022 - Added Emergency VDAC Jam Clear function to Campaign Detail screen +# 61110-1502 - Add ability to select NONE in dial statuses, new list_id must not be < 100 +# 61122-1228 - Added user group campaign restrictions +# 61122-1535 - Changed script_text to unfiltered and added more variables to SCRIPTS +# 61129-1028 - Added headers to Users and Phones with clickable order-by titles +# 70108-1405 - Added ADAPT OVERRIDE to allow for forced dial_level changes in ADAPT dial methods +# - Screen width definable at top of script, merged server_stats into this script +# 70109-1638 - Added ALTPH2 and ADDR3 hotkey options for alt number dialing with HotKeys +# 70109-1716 - Added concurrent_transfers option to vicidial_campaigns +# 70115-1152 - Aded (CLOSER|BLEND|INBND|_C$|_B$|_I$) options for CLOSER-type campaigns +# 70115-1532 - Added auto_alt_dial field to campaign screen for auto-dialing of alt numbers +# 70116-1200 - Added auto_alt_dial_status functionality to campaign screen +# 70117-1235 - Added header formatting variables at top of script +# - Moved Call Times and Phones/Server functions to Admin section +# 70118-1706 - Added new user group displays and links +# 70123-1519 - Added user permission settings for all sections +# 70124-1346 - Fixed spelling errors and formatting consistency +# 70202-1120 - Added agent_pause_codes section to campaigns +# 70205-1204 - Added memo, last dialed, timestamp and stats-refresh fields to vicidial_campaigns/lists +# 70206-1323 - Added user setting for vicidial_recording_override +# 70212-1412 - Added system settings section +# 70214-1226 - Added QueueMetrics Log ID field to system settings section +# 70219-1102 - Changed campaign dial statuses to be one string allowing for high limit +# 70223-0957 - Added queuemetrics_eq_prepend for custom ENTERQUEUE prepending of a field +# 70302-1111 - Fixed small bug in dialable leads calculation +# 70314-1133 - Added insert selection on script forms +# 70319-1423 - Added Alter Customer Data and agent disable display functions +# 70319-1625 - Added option to allow agents to login to outbound campaigns with no leads in the hopper +# 70322-1455 - Added sipsak messages parameters +# 70402-1157 - Added HOME link and entry to system_settings table, added QM link on reports section +# 70516-1628 - Started reformatting campaigns to use submenus to break up options +# 70529-1653 - Added help for list mix +# 70530-1354 - Added human_answered field to statuses, added system status modification +# 70530-1714 - Added lists for all campaign subsections +# 70531-1631 - Development on List mix admin interface +# 70601-1629 - More development on List mix admin interface, formatting, and added some javascript +# 70602-1300 - More development on List mix admin interface, more javascript +# 70608-1459 - Added option to set LIVE Callbacks to INACTIVE after one month +# 70612-1451 - Added Callback INACTIVE link for after one week, sort by user/group/entrydate +# 70614-0231 - Added Status Categories, ability to Modify Statuses, moved system statuses to sub-section +# 70623-1008 - List Mix section now allows modification of list mix entries +# 70629-1721 - List Mix section adding and removing of list entries active +# 70706-1636 - List Mix section cleanup and more error-checking +# 70908-0941 - Added agc logile enable system_settings +# 71020-1934 - Added inbound groups options: on-hold music, messages, call_times +# 71022-1343 - Added inbound group ranks for users +# 71029-1710 - Added option for campaign to be inbound and/or blended with no restrictions on the campaign_id name +# - Added 5th NEW and 6th NEW to the dial order options +# 71030-2010 - Added Manual Dial List ID field to campaigns table +# 71103-2207 - Added inbound_group_rank and fewest_calls to the inbound groups call order options +# 71113-1521 - Added campaign_rank to agent options +# - Added ability to Copy a campaign's setting to a new campaign +# 71113-2225 - Added ability to copy user and in-group settings to new users and in-groups +# 71116-0942 - Added campaign_rank and fewest_calls as methods for agent call routing +# 71122-1135 - Added default transfer group for campaigns and inbound groups +# 71125-1751 - Added allowable transfer groups to campaign detail screen +# +# +# make sure you have added a user to the vicidial_users MySQL table with at least user_level 8 to access this page the first time + +$admin_version = '2.0.4-119'; +$build = '71125-1751'; + +$STARTtime = date("U"); +$SQLdate = date("Y-m-d H:i:s"); +$MT[0]=''; +$US='_'; + +$month_old = mktime(0, 0, 0, date("m")-1, date("d"), date("Y")); +$past_month_date = date("Y-m-d H:i:s",$month_old); +$week_old = mktime(0, 0, 0, date("m"), date("d")-7, date("Y")); +$past_week_date = date("Y-m-d H:i:s",$week_old); + +if ($force_logout) +{ + if( (strlen($PHP_AUTH_USER)>0) or (strlen($PHP_AUTH_PW)>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "Usted ahora ha salido. Gracias\n"; + exit; +} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ($auth<1)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT * from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[3]; + $LOGuser_level =$row[4]; + $LOGuser_group =$row[5]; + $LOGdelete_users =$row[8]; + $LOGdelete_user_groups =$row[9]; + $LOGdelete_lists =$row[10]; + $LOGdelete_campaigns =$row[11]; + $LOGdelete_ingroups =$row[12]; + $LOGdelete_remote_agents =$row[13]; + $LOGload_leads =$row[14]; + $LOGcampaign_detail =$row[15]; + $LOGast_admin_access =$row[16]; + $LOGast_delete_phones =$row[17]; + $LOGdelete_scripts =$row[18]; + $LOGdelete_filters =$row[29]; + $LOGalter_agent_interface =$row[30]; + $LOGdelete_call_times =$row[32]; + $LOGmodify_call_times =$row[33]; + $LOGmodify_users =$row[34]; + $LOGmodify_campaigns =$row[35]; + $LOGmodify_lists =$row[36]; + $LOGmodify_scripts =$row[37]; + $LOGmodify_filters =$row[38]; + $LOGmodify_ingroups =$row[39]; + $LOGmodify_usergroups =$row[40]; + $LOGmodify_remoteagents =$row[41]; + $LOGmodify_servers =$row[42]; + $LOGview_reports =$row[43]; + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns =$row[0]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +###################################################################################################### +###################################################################################################### +####### Header settings +###################################################################################################### +###################################################################################################### + + +header ("Content-type: text/html; charset=utf-8"); +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDIAL ADMIN: "; + +if (!isset($ADD)) {$ADD=0;} + +if ($ADD=="1") {$hh='users'; echo "Añadir un Usuario";} +if ($ADD=="1A") {$hh='users'; echo "Usuario Del Copy";} +if ($ADD==11) {$hh='campaigns'; $sh='basic'; echo "Añadir una Campaña";} +if ($ADD==12) {$hh='campaigns'; $sh='basic'; echo "Campaña Del Copy";} +if ($ADD==111) {$hh='lists'; echo "Añadir una Lista";} +if ($ADD==121) {$hh='lists'; echo "Agregue DNC Nuevo";} +if ($ADD==1111) {$hh='ingroups'; echo "Añadir un Grupo-Entrantes";} +if ($ADD==1211) {$hh='ingroups'; echo "En-Grupo Del Copy";} +if ($ADD==11111) {$hh='remoteagent'; echo "Añadir Agentes Remotos";} +if ($ADD==111111) {$hh='usergroups'; echo "Añadir un Grupo De Usuarios";} +if ($ADD==1111111) {$hh='scripts'; echo "Agregue La Nueva Escritura";} +if ($ADD==11111111) {$hh='filters'; echo "Agregue El Filtro Nuevo";} +if ($ADD==111111111) {$hh='admin'; $sh='times'; echo "Agregue El Nuevo Tiempo De la Llamada";} +if ($ADD==1111111111) {$hh='admin'; $sh='times'; echo "Agregue El Nuevo Tiempo De la Llamada Del Estado";} +if ($ADD==11111111111) {$hh='admin'; $sh='phones'; echo "NUEVO TELÉFONO";} +if ($ADD==111111111111) {$hh='admin'; $sh='server'; echo "NUEVO SERVIDOR";} +if ($ADD==1111111111111) {$hh='admin'; $sh='conference'; echo "NUEVA CONFERENCIA";} +if ($ADD==11111111111111) {$hh='admin'; $sh='conference'; echo "ADD NEW VICIDIAL CONFERENCE";} +if ($ADD=="2") {$hh='users'; echo "Nueva Adición De Usuario";} +if ($ADD=="2A") {$hh='users'; echo "Nueva Adición Copiada Del Usuario";} +if ($ADD==20) {$hh='campaigns'; $sh='basic'; echo "Nueva Adición Copiada De la Campaña";} +if ($ADD==21) {$hh='campaigns'; $sh='basic'; echo "Nueva Adición De la Campaña";} +if ($ADD==22) {$hh='campaigns'; $sh='status'; echo "Nueva Adición Del Estado De la Campaña";} +if ($ADD==23) {$hh='campaigns'; $sh='hotkey'; echo "New Campaña HotKey Addition";} +if ($ADD==25) {$hh='campaigns'; $sh='recycle'; echo "El Nuevo Plomo De la Campaña Recicla La Adición";} +if ($ADD==26) {$hh='campaigns'; $sh='autoalt'; echo "Nuevo Estado Del Dial Del Alt Del Automóvil";} +if ($ADD==27) {$hh='campaigns'; $sh='pause'; echo "Nuevo Código De la Pausa Del Agente";} +if ($ADD==28) {$hh='campaigns'; $sh='dialstat'; echo "Estado Del Dial De la Campaña Agregado";} +if ($ADD==29) {$hh='campaigns'; $sh='listmix'; echo "Mezcla De la Lista De la Campaña Agregada";} +if ($ADD==211) {$hh='lists'; echo "Nueva Adición De la Lista";} +if ($ADD==2111) {$hh='ingroups'; echo "Nueva Adición Del Grupo de Entrantes";} +if ($ADD==2011) {$hh='ingroups'; echo "Nueva Adicin Copiada Del En-Grupo";} +if ($ADD==21111) {$hh='remoteagent'; echo "Nueva Adición de Agentes Remotos";} +if ($ADD==211111) {$hh='usergroups'; echo "Nueva Adición Del Grupo De Usuarios";} +if ($ADD==2111111) {$hh='scripts'; echo "Nueva Adición De la Escritura";} +if ($ADD==21111111) {$hh='filters'; echo "Nueva Adición Del Filtro";} +if ($ADD==211111111) {$hh='admin'; $sh='times'; echo "Nueva Adición Del Tiempo De la Llamada";} +if ($ADD==2111111111) {$hh='admin'; $sh='times'; echo "Nueva Adición Del Tiempo De la Llamada Del Estado";} +if ($ADD==21111111111) {$hh='admin'; $sh='phones'; echo "CREANDO TELÉFONO";} +if ($ADD==211111111111) {$hh='admin'; $sh='server'; echo "CREANDO SERVIDOR";} +if ($ADD==221111111111) {$hh='admin'; $sh='server'; echo "ADICIÓN DEL NUEVO EXPEDIENTE DEL TRONCO DEL SERVIDOR VICIDIAL";} +if ($ADD==2111111111111) {$hh='admin'; $sh='conference'; echo "CREANDO CONFERENCIA";} +if ($ADD==21111111111111) {$hh='admin'; $sh='conference'; echo "ADDING NEW VICIDIAL CONFERENCE";} +if ($ADD==221111111111111) {$hh='admin'; $sh='status'; echo "ADICIÓN DE ESTADOS DE SISTEMA DE VICIDIAL";} +if ($ADD==231111111111111) {$hh='admin'; $sh='status'; echo "ADICIÓN DE CATEGORÍA DEL ESTADO DE VICIDIAL";} +if ($ADD==3) {$hh='users'; echo "Modificar Usuario";} +if ($ADD==30) {$hh='campaigns'; echo "Campaña No permitida";} +if ($ADD==31) + { + $hh='campaigns'; $sh='detail'; echo "Modifcar Campaña - Detail - $campaign_id"; + if ($SUB==22) {echo " - Statuses";} + if ($SUB==23) {echo " - HotKeys";} + if ($SUB==25) {echo " -El Plomo ReciclaEntries";} + if ($SUB==26) {echo " - Auto Alt Dial Statuses";} + if ($SUB==27) {echo " - Agent Pause Codes";} + if ($SUB==29) {echo " - List Mixes";} + } +if ($ADD==32) {$hh='campaigns'; $sh='status'; echo "Estados De la Campaña";} +if ($ADD==33) {$hh='campaigns'; $sh='hotkey'; echo "Campaña HotKeys";} +if ($ADD==34) {$hh='campaigns'; $sh='basic'; echo "Modificar Campaña - Vista Básica";} +if ($ADD==35) {$hh='campaigns'; $sh='recycle'; echo "El Plomo De la Campaña Recicla Entradas";} +if ($ADD==36) {$hh='campaigns'; $sh='autoalt'; echo "Estados Auto Del Dial Del Alt De la Campaña";} +if ($ADD==37) {$hh='campaigns'; $sh='pause'; echo "Códigos De la Pausa Del Agente De la Campaña";} +if ($ADD==38) {$hh='campaigns'; $sh='dialstat'; echo "Estados Del Dial De la Campaña";} +if ($ADD==39) {$hh='campaigns'; $sh='listmix'; echo "Mezclas De la Lista De la Campaña";} +if ($ADD==311) {$hh='lists'; echo "Modificar Lista";} +if ($ADD==3111) {$hh='ingroups'; echo "Modificar In-Group";} +if ($ADD==31111) {$hh='remoteagent'; echo "Modificar Agentes Remotos";} +if ($ADD==311111) {$hh='usergroups'; echo "Modificar Grupos De Usuarios";} +if ($ADD==3111111) {$hh='scripts'; echo "Modifique La Escritura";} +if ($ADD==31111111) {$hh='filters'; echo "Modifique El Filtro";} +if ($ADD==311111111) {$hh='admin'; $sh='times'; echo "Modifique El Tiempo De la Llamada";} +if ($ADD==321111111) {$hh='admin'; $sh='times'; echo "Modifique La Lista De las Definiciones Del Estado Del Tiempo De laLlamada";} +if ($ADD==3111111111) {$hh='admin'; $sh='times'; echo "Modifique El Tiempo De la Llamada Del Estado";} +if ($ADD==31111111111) {$hh='admin'; $sh='phones'; echo "MODIFICAR EL TELÉFONO";} +if ($ADD==311111111111) {$hh='admin'; $sh='server'; echo "MODIFICAR EL SERVIDOR";} +if ($ADD==3111111111111) {$hh='admin'; $sh='conference'; echo "MODIFICAR LA CONFERENCIA";} +if ($ADD==31111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY VICIDIAL CONFERENCE";} +if ($ADD==311111111111111) {$hh='admin'; $sh='settings'; echo "MODIFIQUE LOS AJUSTES DEL SISTEMA DE VICIDIAL";} +if ($ADD==321111111111111) {$hh='admin'; $sh='status'; echo "MODIFIQUE LOS ESTADOS DE SISTEMA DE VICIDIAL";} +if ($ADD==331111111111111) {$hh='admin'; $sh='status'; echo "MODIFIQUE LA CATEGORÍA DEL ESTADO DE VICIDIAL";} +if ($ADD=="4A") {$hh='users'; echo "Modificar Usuario - Admin";} +if ($ADD=="4B") {$hh='users'; echo "Modificar Usuario - Admin";} +if ($ADD==4) {$hh='users'; echo "Modificar Usuario";} +if ($ADD==41) {$hh='campaigns'; $sh='detail'; echo "Modifcar Campaña";} +if ($ADD==42) {$hh='campaigns'; $sh='status'; echo "Modifcar Campaña Status";} +if ($ADD==43) {$hh='campaigns'; $sh='hotkey'; echo "Modifcar Campaña HotKey";} +if ($ADD==44) {$hh='campaigns'; $sh='basic'; echo "Modificar Campaña - Vista Básica";} +if ($ADD==45) {$hh='campaigns'; $sh='recycle'; echo "Modifique El Plomo De la Campaña Reciclan";} +if ($ADD==47) {$hh='campaigns'; $sh='pause'; echo "Modifique El Código De la Pausa Del Agente";} +if ($ADD==49) {$hh='campaigns'; $sh='listmix'; echo "Modifique La Mezcla De la Lista De la Campaña";} +if ($ADD==411) {$hh='lists'; echo "Modificar Lista";} +if ($ADD==4111) {$hh='ingroups'; echo "Modificar In-Group";} +if ($ADD==41111) {$hh='remoteagent'; echo "Modificar Agentes Remotos";} +if ($ADD==411111) {$hh='usergroups'; echo "Modificar Grupos De Usuarios";} +if ($ADD==4111111) {$hh='scripts'; echo "Modifique La Escritura";} +if ($ADD==41111111) {$hh='filters'; echo "Modifique El Filtro";} +if ($ADD==411111111) {$hh='admin'; $sh='times'; echo "Modifique El Tiempo De la Llamada";} +if ($ADD==4111111111) {$hh='admin'; $sh='times'; echo "Modifique El Tiempo De la Llamada Del Estado";} +if ($ADD==41111111111) {$hh='admin'; $sh='phones'; echo "MODIFICAR EL TELÉFONO";} +if ($ADD==411111111111) {$hh='admin'; $sh='server'; echo "MODIFICAR EL SERVIDOR";} +if ($ADD==421111111111) {$hh='admin'; $sh='server'; echo "MODIFIQUE EL EXPEDIENTE DEL TRONCO DEL SERVIDOR VICIDIAL";} +if ($ADD==4111111111111) {$hh='admin'; $sh='conference'; echo "MODIFICAR LA CONFERENCIA";} +if ($ADD==41111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY VICIDIAL CONFERENCE";} +if ($ADD==411111111111111) {$hh='admin'; $sh='settings'; echo "MODIFIQUE LOS AJUSTES DEL SISTEMA DE VICIDIAL";} +if ($ADD==421111111111111) {$hh='admin'; $sh='status'; echo "MODIFIQUE LOS ESTADOS DE SISTEMA DE VICIDIAL";} +if ($ADD==431111111111111) {$hh='admin'; $sh='status'; echo "MODIFIQUE LAS CATEGORÍAS DEL ESTADO DE VICIDIAL";} +if ($ADD==5) {$hh='users'; echo "Delete User";} +if ($ADD==51) {$hh='campaigns'; $sh='detail'; echo "Delete Campaña";} +if ($ADD==52) {$hh='campaigns'; $sh='detail'; echo "Agentes Del Registro de estado de la máquina";} +if ($ADD==53) {$hh='campaigns'; $sh='detail'; echo "Claro Del Atasco De la Emergencia VDAC";} +if ($ADD==511) {$hh='lists'; echo "Delete List";} +if ($ADD==5111) {$hh='ingroups'; echo "Delete In-Group";} +if ($ADD==51111) {$hh='remoteagent'; echo "Suprima los agentes alejados";} +if ($ADD==511111) {$hh='usergroups'; echo "Usuarios de la cancelación Group";} +if ($ADD==5111111) {$hh='scripts'; echo "Escritura De la Cancelación";} +if ($ADD==51111111) {$hh='filters'; echo "Filtro De la Cancelación";} +if ($ADD==511111111) {$hh='admin'; $sh='times'; echo "Delete Call Time";} +if ($ADD==5111111111) {$hh='admin'; $sh='times'; echo "Tiempo De la Llamada Del Estado De la Cancelación";} +if ($ADD==51111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} +if ($ADD==511111111111) {$hh='admin'; $sh='server'; echo "DELETE SERVER";} +if ($ADD==5111111111111) {$hh='admin'; $sh='conference'; echo "DELETE CONFERENCE";} +if ($ADD==51111111111111) {$hh='admin'; $sh='conference'; echo "DELETE VICIDIAL CONFERENCE";} +if ($ADD==6) {$hh='users'; echo "Delete User";} +if ($ADD==61) {$hh='campaigns'; $sh='detail'; echo "Delete Campaña";} +if ($ADD==62) {$hh='campaigns'; $sh='detail'; echo "Agentes Del Registro de estado de la máquina";} +if ($ADD==63) {$hh='campaigns'; $sh='detail'; echo "Claro Del Atasco De la Emergencia VDAC";} +if ($ADD==65) {$hh='campaigns'; $sh='recycle'; echo "El Plomo De la Cancelación Recicla";} +if ($ADD==66) {$hh='campaigns'; $sh='autoalt'; echo "Estado Auto Del Dial Del Alt De la Cancelación";} +if ($ADD==67) {$hh='campaigns'; $sh='pause'; echo "Código De la Pausa Del Agente De la Cancelación";} +if ($ADD==68) {$hh='campaigns'; $sh='dialstat'; echo "El Estado Del Dial De la Campaña Quitó";} +if ($ADD==69) {$hh='campaigns'; $sh='listmix'; echo "La Mezcla De la Lista De la Campaña Quitó";} +if ($ADD==611) {$hh='lists'; echo "Delete List";} +if ($ADD==6111) {$hh='ingroups'; echo "Delete In-Group";} +if ($ADD==61111) {$hh='remoteagent'; echo "Suprima los agentes alejados";} +if ($ADD==611111) {$hh='usergroups'; echo "Usuarios de la cancelación Group";} +if ($ADD==6111111) {$hh='scripts'; echo "Escritura De la Cancelación";} +if ($ADD==61111111) {$hh='filters'; echo "Filtro De la Cancelación";} +if ($ADD==611111111) {$hh='admin'; $sh='times'; echo "Delete Call Time";} +if ($ADD==6111111111) {$hh='admin'; $sh='times'; echo "Tiempo De la Llamada Del Estado De la Cancelación";} +if ($ADD==61111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} +if ($ADD==611111111111) {$hh='admin'; $sh='server'; echo "DELETE SERVER";} +if ($ADD==621111111111) {$hh='admin'; $sh='server'; echo "EXPEDIENTE DEL TRONCO DEL SERVIDOR VICIDIAL DE LA CANCELACIÓN";} +if ($ADD==6111111111111) {$hh='admin'; $sh='conference'; echo "DELETE CONFERENCE";} +if ($ADD==61111111111111) {$hh='admin'; $sh='conference'; echo "DELETE VICIDIAL CONFERENCE";} +if ($ADD==73) {$hh='campaigns'; echo "Cuenta Del Plomo De Dialable";} +if ($ADD==7111111) {$hh='scripts'; echo "Escritura De la Inspección previo";} +if ($ADD==0) {$hh='users'; echo "Lista De Usuarios";} +if ($ADD==8) {$hh='users'; echo "Servicios repetidos Dentro Del Agente";} +if ($ADD==81) {$hh='campaigns'; $sh='list'; echo "Servicios repetidos Dentro De la Campaña";} +if ($ADD==811) {$hh='lists'; echo "Servicios repetidos Dentro De la Lista";} +if ($ADD==8111) {$hh='usergroups'; echo "Servicios repetidos Dentro Del Grupo De Usuario";} +if ($ADD==10) {$hh='campaigns'; $sh='list'; echo "Campañas";} +if ($ADD==100) {$hh='lists'; echo "Listas";} +if ($ADD==1000) {$hh='ingroups'; echo "In-Groups";} +if ($ADD==10000) {$hh='remoteagent'; echo "Agentes Remotos";} +if ($ADD==100000) {$hh='usergroups'; echo "Grupos De Usuario";} +if ($ADD==1000000) {$hh='scripts'; echo "Escrituras";} +if ($ADD==10000000) {$hh='filters'; echo "Filtros";} +if ($ADD==100000000) {$hh='admin'; $sh='times'; echo "Tiempos De la Llamada";} +if ($ADD==1000000000) {$hh='admin'; $sh='times'; echo "Tiempos De la Llamada Del Estado";} +if ($ADD==10000000000) {$hh='admin'; $sh='phones'; echo "LISTA DE TELÉFONOS";} +if ($ADD==100000000000) {$hh='admin'; $sh='server'; echo "LISTA DE SERVIDORES";} +if ($ADD==1000000000000) {$hh='admin'; $sh='conference'; echo "LISTA DE CONFERENCIAS";} +if ($ADD==10000000000000) {$hh='admin'; $sh='conference'; echo "VICIDIAL LISTA DE CONFERENCIAS";} +if ($ADD==550) {$hh='users'; echo "Formulario De Búsqueda";} +if ($ADD==551) {$hh='users'; echo "BUSCAR TELÉFONOS";} +if ($ADD==660) {$hh='users'; echo "RESULTADOS DE LA BÚSQUEDA";} +if ($ADD==661) {$hh='users'; echo "RESULTADO DE LA BÚSQUEDA DE TELÉFONOS";} +if ($ADD==99999) {$hh='users'; echo "AYUDA";} +if ($ADD==999999) {$hh='reports'; echo "INFORMES";} + +if ( ($ADD>9) && ($ADD < 99998) ) + { + ##### get scripts listing for dynamic pulldown + $stmt="SELECT script_id,script_name from vicidial_scripts order by script_id"; + $rslt=mysql_query($stmt, $link); + $scripts_to_print = mysql_num_rows($rslt); + $scripts_list="<option value=\"\">NONE</option>\n"; + + $o=0; + while ($scripts_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $scripts_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $scriptname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + ##### get filters listing for dynamic pulldown + $stmt="SELECT lead_filter_id,lead_filter_name,lead_filter_sql from vicidial_lead_filters order by lead_filter_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + $filters_list="<option value=\"\">NONE</option>\n"; + + $o=0; + while ($filters_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $filters_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $filtername_list["$rowx[0]"] = "$rowx[1]"; + $filtersql_list["$rowx[0]"] = "$rowx[2]"; + $o++; + } + + ##### get call_times listing for dynamic pulldown + $stmt="SELECT call_time_id,call_time_name from vicidial_call_times order by call_time_id"; + $rslt=mysql_query($stmt, $link); + $times_to_print = mysql_num_rows($rslt); + + $o=0; + while ($times_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $call_times_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $call_timename_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + } + +if ( ( (strlen($ADD)>4) && ($ADD < 99998) ) or ($ADD==3) or (($ADD>20) and ($ADD<70)) or ($ADD=="4A") or ($ADD=="4B") or (strlen($ADD)==12) ) + { + ##### get server listing for dynamic pulldown + $stmt="SELECT server_ip,server_description from servers order by server_ip"; + $rslt=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rslt); + $servers_list=''; + + $o=0; + while ($servers_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $servers_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + ##### BEGIN get campaigns listing for rankings ##### + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + $campaigns_value=''; + $RANKcampaigns_list="<tr><td>CAMPAIGN</td><td>     RANK</td><td>     CALLS</td></tr>\n"; + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $campaign_id_values[$o] = $rowx[0]; + $campaign_name_values[$o] = $rowx[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + $stmt="SELECT campaign_rank,calls_today from vicidial_campaign_agents where user='$user' and campaign_id='$campaign_id_values[$o]'"; + $rslt=mysql_query($stmt, $link); + $ranks_to_print = mysql_num_rows($rslt); + if ($ranks_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $SELECT_campaign_rank = $row[0]; + $calls_today = $row[1]; + } + else + {$calls_today=0; $SELECT_campaign_rank=0;} + if ( ($ADD=="4A") or ($ADD=="4B") ) + { + if (isset($_GET["RANK_$campaign_id_values[$o]"])) {$campaign_rank=$_GET["RANK_$campaign_id_values[$o]"];} + elseif (isset($_POST["RANK_$campaign_id_values[$o]"])) {$campaign_rank=$_POST["RANK_$campaign_id_values[$o]"];} + + if ($ranks_to_print > 0) + { + $stmt="UPDATE vicidial_campaign_agents set campaign_rank='$campaign_rank', campaign_weight='$campaign_rank' where campaign_id='$campaign_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO vicidial_campaign_agents set campaign_rank='$campaign_rank', campaign_weight='$campaign_rank', campaign_id='$campaign_id_values[$o]', user='$user';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_live_agents set campaign_weight='$campaign_rank' where campaign_id='$campaign_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else {$campaign_rank = $SELECT_campaign_rank;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + # disable non user-group allowable campaign ranks + $stmt="SELECT user_group from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Ruser_group = $row[0]; + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$Ruser_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_campaigns = $row[0]; + $allowed_campaigns = preg_replace("/ -$/","",$allowed_campaigns); + $UGcampaigns = explode(" ", $allowed_campaigns); + + $p=0; $RANK_camp_active=0; $CR_disabled = ''; + if (eregi('-ALL-CAMPAIGNS-',$allowed_campaigns)) + {$RANK_camp_active++;} + else + { + $UGcampaign_ct = count($UGcampaigns); + while ($p < $UGcampaign_ct) + { + if ($campaign_id_values[$o] == $UGcampaigns[$p]) + {$RANK_camp_active++;} + $p++; + } + } + if ($RANK_camp_active < 1) {$CR_disabled = 'DISABLED';} + + $RANKcampaigns_list .= "<tr $bgcolor><td>"; + $campaigns_list .= "<a href=\"$PHP_SELF?ADD=31&campaign_id=$campaign_id_values[$o]\">$campaign_id_values[$o]</a> - $campaign_name_values[$o] <BR>\n"; + $RANKcampaigns_list .= "<a href=\"$PHP_SELF?ADD=31&campaign_id=$campaign_id_values[$o]\">$campaign_id_values[$o]</a> - $campaign_name_values[$o] </td>"; + $RANKcampaigns_list .= "<td>     <select size=1 name=RANK_$campaign_id_values[$o] $CR_disabled>\n"; + $h="9"; + while ($h>=-9) + { + $RANKcampaigns_list .= "<option value=\"$h\""; + if ($h==$campaign_rank) + {$RANKcampaigns_list .= " SELECTED";} + $RANKcampaigns_list .= ">$h</option>"; + $h--; + } + $RANKcampaigns_list .= "</select></td>\n"; + $RANKcampaigns_list .= "<td align=right>     $calls_today</td></tr>\n"; + $o++; + } + ##### END get campaigns listing for rankings ##### + + + ##### BEGIN get inbound groups listing for checkboxes ##### + $xfer_groupsSQL=''; + if ( (($ADD>20) and ($ADD<70)) and ($ADD!=41) ) + { + $stmt="SELECT closer_campaigns,xfer_groups from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + $xfer_groups = $row[1]; + $xfer_groups = preg_replace("/ -$/","",$xfer_groups); + $XFERgroups = explode(" ", $xfer_groups); + $xfer_groupsSQL = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groupsSQL = preg_replace("/ /","','",$xfer_groupsSQL); + $xfer_groupsSQL = "WHERE group_id IN('$xfer_groupsSQL')"; + } + if ($ADD==41) + { + $p=0; + $XFERgroup_ct = count($XFERgroups); + while ($p < $XFERgroup_ct) + { + $xfer_groups .= " $XFERgroups[$p]"; + $p++; + } + $xfer_groupsSQL = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groupsSQL = preg_replace("/ /","','",$xfer_groupsSQL); + $xfer_groupsSQL = "WHERE group_id IN('$xfer_groupsSQL')"; + } + + if ( (($ADD==31111) or ($ADD==31111)) and (count($groups)<1) ) + { + $stmt="SELECT closer_campaigns from vicidial_remote_agents where remote_agent_id='$remote_agent_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + } + + if ($ADD==3) + { + $stmt="SELECT closer_campaigns from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $groups_list=''; + $groups_value=''; + $XFERgroups_list=''; + $RANKgroups_list="<tr><td>INBOUND GROUP</td><td>     RANK</td><td>     CALLS</td></tr>\n"; + + $o=0; + while ($groups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $group_id_values[$o] = $rowx[0]; + $group_name_values[$o] = $rowx[1]; + $o++; + } + + $o=0; + while ($groups_to_print > $o) + { + $stmt="SELECT group_rank,calls_today from vicidial_inbound_group_agents where user='$user' and group_id='$group_id_values[$o]'"; + $rslt=mysql_query($stmt, $link); + $ranks_to_print = mysql_num_rows($rslt); + if ($ranks_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $SELECT_group_rank = $row[0]; + $calls_today = $row[1]; + } + else + {$calls_today=0; $SELECT_group_rank=0;} + if ( ($ADD=="4A") or ($ADD=="4B") ) + { + if (isset($_GET["RANK_$group_id_values[$o]"])) {$group_rank=$_GET["RANK_$group_id_values[$o]"];} + elseif (isset($_POST["RANK_$group_id_values[$o]"])) {$group_rank=$_POST["RANK_$group_id_values[$o]"];} + + if ($ranks_to_print > 0) + { + $stmt="UPDATE vicidial_inbound_group_agents set group_rank='$group_rank', group_weight='$group_rank' where group_id='$group_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO vicidial_inbound_group_agents set group_rank='$group_rank', group_weight='$group_rank', group_id='$group_id_values[$o]', user='$user';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_live_inbound_agents set group_weight='$group_rank' where group_id='$group_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else {$group_rank = $SELECT_group_rank;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $groups_list .= "<input type=\"checkbox\" name=\"groups[]\" value=\"$group_id_values[$o]\""; + $XFERgroups_list .= "<input type=\"checkbox\" name=\"XFERgroups[]\" value=\"$group_id_values[$o]\""; + $RANKgroups_list .= "<tr $bgcolor><td><input type=\"checkbox\" name=\"groups[]\" value=\"$group_id_values[$o]\""; + $p=0; + $group_ct = count($groups); + while ($p < $group_ct) + { + if ($group_id_values[$o] == $groups[$p]) + { + $groups_list .= " CHECKED"; + $RANKgroups_list .= " CHECKED"; + $groups_value .= " $group_id_values[$o]"; + } + $p++; + } + $p=0; + $XFERgroup_ct = count($XFERgroups); + while ($p < $XFERgroup_ct) + { + if ($group_id_values[$o] == $XFERgroups[$p]) + { + $XFERgroups_list .= " CHECKED"; + $XFERgroups_value .= " $group_id_values[$o]"; + } + $p++; + } + $groups_list .= "> <a href=\"$PHP_SELF?ADD=3111&group_id=$group_id_values[$o]\">$group_id_values[$o]</a> - $group_name_values[$o] <BR>\n"; + $XFERgroups_list .= "> <a href=\"$PHP_SELF?ADD=3111&group_id=$group_id_values[$o]\">$group_id_values[$o]</a> - $group_name_values[$o] <BR>\n"; + $RANKgroups_list .= "> <a href=\"$PHP_SELF?ADD=3111&group_id=$group_id_values[$o]\">$group_id_values[$o]</a> - $group_name_values[$o] </td>"; + $RANKgroups_list .= "<td>     <select size=1 name=RANK_$group_id_values[$o]>\n"; + $h="9"; + while ($h>=-9) + { + $RANKgroups_list .= "<option value=\"$h\""; + if ($h==$group_rank) + {$RANKgroups_list .= " SELECTED";} + $RANKgroups_list .= ">$h</option>"; + $h--; + } + $RANKgroups_list .= "</select></td>\n"; + $RANKgroups_list .= "<td align=right>     $calls_today</td></tr>\n"; + $o++; + } + if (strlen($groups_value)>2) {$groups_value .= " -";} + if (strlen($XFERgroups_value)>2) {$XFERgroups_value .= " -";} + } + ##### END get inbound groups listing for checkboxes ##### + + + ##### BEGIN get campaigns listing for checkboxes ##### + if ( ($ADD==211111) or ($ADD==311111) or ($ADD==411111) or ($ADD==511111) or ($ADD==611111) ) + { + if ( ($ADD==211111) or ($ADD==311111) or ($ADD==511111) or ($ADD==611111) ) + { + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_campaigns = $row[0]; + $allowed_campaigns = preg_replace("/ -$/","",$allowed_campaigns); + $campaigns = explode(" ", $allowed_campaigns); + } + + $campaigns_value=''; + $campaigns_list='<B><input type="checkbox" name="campaigns[]" value="-ALL-CAMPAIGNS-"'; + $p=0; + while ($p<100) + { + if (eregi('ALL-CAMPAIGNS',$campaigns[$p])) + { + $campaigns_list.=" CHECKED"; + $campaigns_value .= " -ALL-CAMPAIGNS- -"; + } + $p++; + } + $campaigns_list.="> ALL-CAMPAIGNS - LOS USUARIOS PUEDEN VISIÓN CUALQUIER CAMPAÑA</B><BR>\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaign_id_value = $rowx[0]; + $campaign_name_value = $rowx[1]; + $campaigns_list .= "<input type=\"checkbox\" name=\"campaigns[]\" value=\"$campaign_id_value\""; + $p=0; + while ($p<100) + { + if ($campaign_id_value == $campaigns[$p]) + { + # echo "<!-- X $p|$campaign_id_value|$campaigns[$p]| -->"; + $campaigns_list .= " CHECKED"; + $campaigns_value .= " $campaign_id_value"; + } + # echo "<!-- O $p|$campaign_id_value|$campaigns[$p]| -->"; + $p++; + } + $campaigns_list .= "> $campaign_id_value - $campaign_name_value<BR>\n"; + $o++; + } + if (strlen($campaigns_value)>2) {$campaigns_value .= " -";} + } + ##### END get campaigns listing for checkboxes ##### + + + if ( (strlen($ADD)==11) or (strlen($ADD)>12) ) + { + ##### get server listing for dynamic pulldown + $stmt="SELECT server_ip,server_description from servers order by server_ip"; + $rsltx=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rsltx); + $servers_list=''; + + $o=0; + while ($servers_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $servers_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + } + + + +$NWB = "   <a href=\"javascript:openNewWindow('$PHP_SELF?ADD=99999"; +$NWE = "')\"><IMG SRC=\"help.gif\" WIDTH=20 HEIGHT=20 Border=0 ALT=\"AYUDA\" ALIGN=TOP></A>"; + + +###################################################################################################### +###################################################################################################### +####### 9 series, HELP screen +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=99999 display the HELP SCREENS +###################### + +if ($ADD==99999) +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "
\n"; +echo "
VICIDIAL ADMIN: AYUDA


\n"; + +?> +VICIDIAL_USUARIOS TABLA

+ +
+Identificación del usuario - este campo es donde usted pone el número de la identificación del usuario de VICIDIAL, puede ser hasta 8 dígitos en longitud, debe ser por lo menos 2 caracteres en longitud. + +
+
+
+Contraseña - este campo es donde usted pone la contraseña de los usuarios de VICIDIAL. Deben ser por lo menos 2 caracteres en longitud. + +
+
+
+Nombre completo - este campo es donde usted pone el nombre completo de los usuarios de VICIDIAL. Deben ser por lo menos 2 caracteres en longitud. + +
+
+
+Nivel de usuario - este menú es donde usted selecciona el nivel de usuario de los usuarios de VICIDIAL. Debe ser un nivel de 1 a registrar en VICIDIAL, debe ser llano mayor de 2 a abrirse una sesión como más cercano, deben ser el nivel de usuario 8 o mayor conseguir en la sección de la tela del admin. + +
+
+
+Grupo de usuario - este menú es donde usted selecciona a grupo de usuarios de VICIDIAL que este usuario pertenecerá a. Esto no tiene ninguna restricciones en este tiempo, éste es justo subdividir a usuarios y permitir las características futuras basadas sobre él. + +
+
+
+Conexión del teléfono - aquí es para donde usted puede fijar un valor de la conexión del teléfono del defecto cuando los registros del usuario en vicidial.php. Este valor poblará el phone_login automáticamente cuando el usuario entra con su usuario-pasar-campaña en la pantalla de la conexión de vicidial.php. + +
+
+
+Paso del teléfono - aquí es para donde usted puede fijar un valor del paso del teléfono del defecto cuando los registros del usuario en vicidial.php. Este valor poblará los phone_pass automáticamente cuando el usuario entra con su usuario-pasar-campaña en la pantalla de la conexión de vicidial.php. + +
+
+
+Hot Keys activo - esta opción si el sistema a 1 permite que el usuario utilice la función ra'pida-dispositioning de Hot Keys adentro vicidial.php. + +
+
+
+El agente elige Ingroups - esta opción si el sistema a 1 permite que el usuario elija los ingroups de los cuales recibirán llamadas cuando ellos conexión a una campaña MÁS CERCANA o DE ENTRADA. Si no el encargado necesitará fijar esto en su pantalla del detalle del usuario de la página del admin. + +
+
+
+Servicios repetidos programar - esta opción no prohibe a agente a la disposición una llamada como CALLBK y elige los datos y el tiempo en los cuales el plomo será reactivado. + +
+
+
+Servicios repetidos del Agente-Solamente - esta opción permite que un agente fije un servicio repetido de modo que sean el único agente que puede llamar la parte posteriora del cliente. Esto también permite que el agente vea sus listados del servicio repetido y los llame detrás cualquier momento desean a. + +
+
+
+Manual de la llamada del agente - esta opción permite que un agente incorpore manualmente un nuevo plomo en el sistema y los llame. Esto también permite llamar de cualquier número de teléfono de su pantalla vicidial y pone esa llamada en su sesión. Utilice esta opción con la precaución. + +
+
+
+Grabación de Vicidial - esta opción puede evitar que un agente haga cualquier grabación después de que se abran una sesión a vicidial. Esta opción debe estar encendido para que vicidial siga la sesión de la grabación de la campaña. + +
+
+
+Vicidial transfiere - esta opción puede evitar que un agente abra la transferencia - la sesión de la conferencia de vicidial. Si esto es lisiado, el agente no puede llamada de los terceros o la transferencia oculta cualquiera llama. + +
+
+
+Un defecto más cercano mezclado - esta opción omite simplemente el checkbox mezclado en una pantalla MÁS CERCANA de la conexión. + +
+
+
+Invalidación de la grabación de VICIDIAL - esta opción seeliminará lo que es la opción en la campaña para la grabación.LISIADO no eliminará el ajuste de la grabación de la campaña. NUNCAinhabilitará la grabación en el cliente. ONDEMAND es el defecto ypermite que el agente comience y pare a registrar según lonecesitado. ALLCALLS comenzará la grabación en el cliente siempreque una llamada se envíe a un agente. ALLFORCE comenzará lagrabación en el cliente siempre que una llamada se envíe a un agenteque no da al agente ninguna opción para parar el registrar. ParaALLCALLS y ALLFORCE hay una opción para utilizar la grabaciónretrasa para reducir en grabaciones y carga de sistema muy cortas delrecude. + +
+
+
+La campaña alinea - en esta sección usted puede definir a la filaque un agente tendrá para cada campaña. Estas filas pueden serutilizadas para tener en cuenta la encaminamiento preferida de lallamada cuando la llamada siguiente del agente se fija alcampaign_rank. + +
+
+
+Grupos de entrada - aquí es donde usted selecciona a grupos de entrada que usted desea recibir llamadas de si usted ha seleccionado la campaña MÁS CERCANA. Usted también podrá fijar la fila, o el nivel de habilidad, en estasección para cada uno de los grupos de entrada así como poder ver elnúmero de las llamadas recibidas de cada grupo de entrada para esteagente específico. También en esta sección está la capacidad de dar al agente una filapara cada grupo de entrada. Estas filas pueden ser utilizadas para laencaminamiento preferida de la llamada cuando esa opción seselecciona en la pantalla del en-grupo. + +
+
+
+El agente altera la invalidación de los datos del cliente - estaopción se eliminará lo que es la opción en la campaña paraalterarse de los datos del cliente. NOT_ACTIVE utilizará lo que estápresente el ajuste para la campaña. ALLOW_ALTER permitirá siemprepara que el agente altere los datos del cliente, no importa qué es elajuste de la campaña. El defecto es NOT_ACTIVE. + +
+
+
+Altere las opciones de interfaz del agente - esta opción si el sistema a 1 permite que el usuario administrativo modifique las opciones de interfaz de los agentes en admin.php. + +
+
+
+Usuarios de la cancelación - esta opción si el sistema a 1 permite que el usuario suprima a otros usuarios del igual o de poco nivel de usuario del sistema. + +
+
+
+Suprima a grupos de usuario - esta opción si el sistema a 1 permite que el usuario suprima a grupos de usuario del sistema. + +
+
+
+La cancelación enumera - esta opción si el sistema a 1 permite que el usuario suprima listas vicidial del sistema. + +
+
+
+La cancelación hace campaña - esta opción si el sistema a 1 permite que el usuario suprima campañas vicidial del sistema. + +
+
+
+En-Grupos de la cancelación - esta opción si el sistema a 1 permite que el usuario suprima a En-Grupos vicidial del sistema. + +
+
+
+Suprima los agentes alejados - esta opción si el sistema a 1 permite que el usuario suprima agentes alejados vicidial del sistema. + +
+
+
+La carga conduce - esta opción si el sistema a 1 permite que el usuario cargue los plomos vicidial en la tabla del vicidial_list por el cargador basado tela del plomo. + +
+
+
+Detalle de la campaña - esta opción si el sistema a 1 permite que el usuario visión y modifique los elementos de la pantalla del detalle de la campaña. + +
+
+
+Acceso de AGC Admin - esta opción si el sistema a 1 permite a usuario a la conexión a las páginas astGUIclient del admin. + +
+
+
+La cancelación de AGC telefona - esta opción si el sistema a 1 permite que el usuario suprima entradas del teléfono en las páginas astGUIclient del admin. + +
+
+
+Escrituras de la cancelación - esta opción si el sistema a 1 permite que el usuario suprima las escrituras de la campaña en la pantalla de la modificación de la escritura. + +
+
+
+Modifique los plomos - esta opción si el sistema a 1 permite que el usuario modifique los plomos en la página de los resultados de la búsqueda del plomo de la sección del admin. + +
+
+
+Cambie la campaña del agente - esta opción si el sistema a 1 permite que el usuario altere la campaña que un agente está registrado en mientras que se registran en él. + +
+
+
+La cancelación se filtra - esta opción permite que el usuario pueda suprimir los filtros vicidial del plomo del sistema. + +
+
+
+Tiempos de la llamada de la cancelación - esta opción permite que elusuario pueda suprimir expedientes vicidial de los tiempos de lallamada y expedientes vicidial de los tiempos de la llamada del estadodel sistema. + +
+
+
+Modifique los tiempos de la llamada - esta opción permite que elusuario visión y modifique los expedientes de los tiempos de lallamada y de los tiempos de la llamada del estado. Un usuario nonecesita esta opción permitida si necesitan solamente cambiar laopción de los tiempos de la llamada en la pantalla de las campañas. + +
+
+
+Modifique las secciones - estas opciones permiten que el usuariovisión y modifique cada uno los expedientes de las secciones. Si elsistema a 0, el usuario puede considerar la lista de la sección, perono el detalle o la pantalla de la modificación de un expediente enesa sección. + +
+
+
+La visión divulga - esta opción permite que el usuario visión losinformes de VICIDIAL. + + + + +



+ +VICIDIAL_CAMPAIGNS TABLA

+
+
+Identificación de la campaña - Úste es el nombre corto de la campaña, él no es editable después de la sumisión inicial, no puede contener espacios y debe estar entre 2 y 8 caracteres en longitudh. + +
+
+
+Nombre de la campaña - Ésta es la descripción de la campaña, debe estar entre 6 y 40 caracteres en longitud. + +
+
+
+Descripción de la campaña - esto es un campo de la nota para lacampaña, es opcional y puede ser un máximo de 255 caracteres enlongitud. + +
+
+
+Fecha del cambio de la campaña - ésta es la vez última que losajustes para esta campaña fueron modificados de cualquier manera. + +
+
+
+La fecha pasada de la conexión de la campaña - ésta es la vezúltima que un agente fue registrado en esta campaña. + +
+
+
+Los Stats de la campaña restauran - este checkbox permitirá queusted fuerce un stats vicidial restaura, incluso si la campaña no esactiva. + +
+
+
+Activo - aquí es adonde usted fija la campaña a activo o a inactivo. Si es inactivo, noone puede registrar en él. + +
+
+
+Extensión del parque - aquí es donde usted puede modificar para requisitos particulares en-sostiene la música para VICIDIAL. Cerciórese de que la extensión esté en lugar en el extensions.conf y eso que señala al nombre de fichero abajo. + +
+
+
+Nombre del archivo del parque - aquí es donde usted puede modificar para requisitos particulares en-sostiene la música para VICIDIAL. Cerciórese de que el nombre de fichero sea 10 caracteres en longitud o menos y que el archivo está en lugar en el directorio de /var/lib/asterisk/sounds. + +
+
+
+Forma del Web - aquí es donde usted puede fijar el Web page de encargo que será abierto cuando el usuario chasca encendido el botón de la FORMA del WEB. + +
+
+
+Permita Closers - aquí es donde usted puede fijar si los usuarios de esta campaña tendrán la opción para enviar la llamada a un más cercano. + +
+
+
+Grupo de la transferencia del defecto - este campo es el En-Grupo deldefecto que será seleccionado automáticamente cuando el agente va almarco de la transferir-conferencia en su interfaz del agente. + +
+
+
+Grupos permitidos de la transferencia - con estos listados delcheckbox usted puede seleccionar a los grupos a quienes los agentes enesta campaña pueden transferir llamadas. Permita Closers debe serpermitido para que esta opción demuestre para arriba. + +
+
+
+Permita de entrada y mezclado - aquí es donde usted puede fijar silos usuarios de esta campaña tendrán la opción para tomar llamadasde entrada con esta campaña. Si usted desea hacer de entrada y desalida mezclada entonces esto se debe fijar a Y. Si usted deseasolamente hacer marcar de salida en esta campaña fijó esto a N.Default es N. + +
+
+
+Estado del dial - aquí es adonde usted fija los estados que usted está deseando marcar encendido dentro de las listas que son activas para la campaña abajo. Para agregar otro estado al dial, selecciónelo de la lista drop-downy el tecleo AGREGA. Para quitar uno de los estados del dial, chasqueencendido el acoplamiento del QUITAR al lado del estado que usteddesea quitar. + +
+
+
+Orden de la lista - Este menú es donde usted selecciona cómo los plomos que emparejan los estados seleccionados arriba serán puestos en la tolva del plomo: +
  - DOWN: seleccione los primeros plomos cargados en la tabla del vicidial_list +
  - UP: seleccione los plomos pasados cargados en la tabla del vicidial_list +
  - UP PHONE: seleccione el número y los trabajos más altos de teléfono su manera abajo +
  - DOWN PHONE: seleccione el número y los trabajos más bajos de teléfono su manera para arriba +
  - UP LAST NAME: comienzo con los nombres pasados comenzando con Z y trabajos su manera abajo +
  - DOWN LAST NAME: comienzo con los nombres pasados comenzando con A y trabajos su manera para arriba +
  - UP COUNT: comienzo con los plomos y los trabajos llamados su manera abajo +
  - DOWN COUNT: comienzo con menos plomos y trabajos llamados su manera para arriba +
  - DOWN COUNT 2nd NEW: comienzo con menos plomos y trabajos llamados su manera para arriba que inserta un NEW plomo en cada otro lead(Must para no tener NEW seleccionado en los estados del dial) +
  - DOWN COUNT 3nd NEW: comienzo con menos plomos y trabajos llamados su manera para arriba que inserta un NEW plomo en cada tercer lead(Must para no tener NEW seleccionado en los estados del dial) +
  - DOWN COUNT 4th NEW: comienzo con menos plomos y trabajos llamados que su manera para arriba que inserta un NEW plomo en cada adelante conduzca (no debe tener NEW seleccionado en los estados del dial) + +
+
+
+Tolva llana - éste es cuántos conducen los intentos de la escritura de VDhopper para mantener la tabla del vicidial_hopper para esta campaña. Si funciona la escritura de VDhopper cada minuto, haga esto levemente mayor que el número de plomos que usted entra a través en un minuto. + +
+
+
+Filtro del plomo - éste es un método de filtrar sus plomos usando un fragmento de una pregunta del SQL. Utilice esta característica con la precaución, él es fácil de parar el marcar accidentalmente con la alteración más leve a la declaración del SQL. El defecto no es NINGUNO. + +
+
+
+Reajuste de la fuerza de la tolva - esto permite que usted limpie fuera del contenido de la tolva sobre la sumisión de la forma. Debe ser llenada otra vez cuando la escritura de VDhopper funciona. + +
+
+
+Método del dial - Este campo es la manera de definir cómo el marcar debe ocurrir. Si el MANUAL entonces el auto_dial_level es bloqueado en 0 a menos que se cambie el método del dial. Si COCIENTE entonces el normal marcando un número de líneas para los agentes activos. ADAPT_HARD_LIMIT marcará predictively hasta el porcentaje caído y después no permitirá marcar agresivo una vez que se alcance el límite de la gota hasta que va el porcentaje abajo otra vez. ADAPT_TAPERED permite para el excedente de funcionamiento el porcentaje caído por la mitad primer de la cambio - según lo definido por el call_time seleccionado para la campaña y consigue más terminante mientras que se enciende la cambio. ADAPT_AVERAGE intenta mantener un promedio o el porcentaje caído que no impone límites duros tan agresivamente como los otros dos métodos. Usted no puede cambiar el nivel auto del dial si usted está en cualesquiera de los métodos del dial del ADAPTAR. Solamente el sintonizador puede cambiar el nivel del dial cuando en modo que marca profético. + +
+
+
+Nivel auto del dial - aquí es adonde usted fija cuántos alinea VICIDIAL debe utilizar por medios del agente activo cero 0 que el marcar del automóvil está apagado y los agentes chascarán para marcar cada número. Si no VICIDIAL mantendrá líneas que marcan iguales a los agentes activos multiplicados por el nivel del dial para llegar cuántas líneas debe permitir esta campaña en cada servidor. El checkbox de la INVALIDACIÓN del ADAPTAR permite que usted fuerceun nuevo nivel del dial aunque el método del dial está en un mododel ADAPTAR. Esto es útil si hay una cambio dramática en la calidadde plomos y usted desea cambiar drástico el dial_level manualmente. + +
+
+
+Solamente cuenta disponible - este campo si el sistema a Y deja haciafuera los agentes del estado de INCALL y de la COLETA al calcular elnúmero de llamadas al dial cuando no en modo de dial MANUAL. Eldefecto es N. + +
+
+
+Límite del porcentaje de la gota - este campo es donde usted fijó ellímite del porcentaje de llamadas caídas que usted quisiera mientrasque usaba un método adaptante-profe'tico del dial, NO MANUAL o delCOCIENTE. + +
+
+
+El máximo adapta el dial llano - este campo es donde usted fijó ellímite del límite al numbr de líneas que usted quisiera marcado poragente mientras que usaba un método adaptante-profe'tico del dial, NOMANUAL o del COCIENTE. Este número puede ser más alto que el nivelauto del dial si su hardware lo apoya. El valor debe ser un númeropositivo mayor de uno y puede tener defecto 3.0 de los lugaresdecimales. + +
+
+
+El tiempo más último del servidor - este campo es utilizadosolamente por el método del dial de ADAPT_TAPERED. Usted debe entraren la hora y el minuto que usted parará el invitar de esta campaña,2100 significaría que usted parará el marcar de esta campaña en eltiempo del servidor de los 9PM. Esto permite que el algoritmo afiladodecida a cómo agresivamente al dial cerca cuánto tiempo usted tienehasta que usted será el llamar acabado. + +
+
+
+Adapte el modificante de la intensidad - este campo se utiliza paraajustar la intensidad profética más alta o más baja. El más altoun número positivo que usted selecciona, mayor va el sintonizadoraumentará la llamada que establece el paso cuando para arriba y máslentamente va el sintonizador disminuirá la llamada que establece elpaso cuando abajo. Cuanto más bajo es el número negativo que ustedseleccionan aquí, más lentamente el sintonizador aumentará lallamada que establece el paso y más rápidamente el sintonizadorbajará la llamada que establece el paso cuando va abajo. El defectoes 0. Este campo no es utilizado por los métodos del dial del MANUALo del COCIENTE. + +
+
+
+Blanco llana de la diferencia del dial - este campo se utiliza paradefinir si usted desea apuntar tener un número específico de losagentes que esperan agentes de las llamadas o el esperar de llamadas.Por ejemplo si usted siempre quisiera tener en agente del promedio unolibre tomar llamadas inmediatamente usted fijaría esto a -1, si ustedquisiera apuntar siempre tener uno invita el asimiento que espera unagente que usted fijaría esto a 1. El defecto es 0. Este campo no esutilizado por los métodos del dial del MANUAL o del COCIENTE. + +
+
+
+Transferencias concurrentes - este ajuste se utiliza para definir elnúmero de las llamadas que se pueden enviar a los agentes en el mismotiempo. Se recomienda que este ajuste está dejado en el AUTOMÓVIL. Este campo no es utilizado por el método MANUAL del dial. + +
+
+
+Alt-Nu'mero auto que marca - este ajuste se utiliza para marcarautomáticamente campos alternos del número mientras que marca en elCOCIENTE y ADAPTA métodos del dial cuando no hay contacto en elnúmero de teléfono principal para un plomo, los estados del NA, deB, de la C.C. y de N. Este ajuste no es utilizado por el métodoMANUAL del dial. + +
+
+
+Llamada siguiente del agente - esto se determina qué agente recibe la llamada siguiente que está disponible: +
  - random: órdenes por el valor al azar de la actualización en la tabla de los vicidial_live_agents +
  - oldest_call_start: las órdenes por la vez última un agente fueron enviadas una llamada. Resultados en los agentes que reciben el número casi igual de llamadas cabalmente. +
  - oldest_call_finish: las órdenes por la vez última un agente acabaron una llamada. El agente de AKA que espera lo más de largo posible recibe la primera llamada. +
  - overall_user_level: las órdenes por el user_level del agente según lo definido en los vicidial_users tabulan un user_level más alto recibirán más llamadas. +
  - campaign_rank: órdenes de la fila dada al agente para la campaña. Lomás arriba posible a lo más bajo posible. +
  - fewest_calls: órdenes por el número de las llamadas recibidas por unagente para ese grupo de entrada específico. Menos llamadas primero. + +
+
+
+Tiempo de la llamada local - aquí es adonde usted fijó durante qué horas usted quisiera marcar, según lo determinado por el tiempo local en está en cuál usted está llamando. Esto es controlada por código de área y ajustada por tiempo de los ahorros de la luz del día si es aplicable. Las pautas generales en los E.E.U.U. para el negocio al negocio son los 9am a los 5pm y el negocio a las llamadas del consumidor es los 9am a los 9pm. + +
+
+
+Descanso del dial - si está definido, llamadas que normalmente retraso después de que el descanso definido en extensions.conf en lugar de otro descanso en esta cantidad de segundos si es menos que el descanso de extensions.conf. Esto permite descansos del dial rápidamente que cambian del servidor al servidor y a limitar los efectos a una sola campaña. Si usted está teniendo muchos de llamadas del contestador automático o de Buzón de Voz usted puede desear intentar cambiar este valor entre a 21-26 y ver si los resultados mejoran. + +
+
+
+Prefijo del dial - este campo permite más fácilmente cambiar una trayectoria de marcar a salir con un diverso método sin hacer una recarga en asterisco. El defecto es 9 basados sobre un 91NXXNXXXXXX en el dial plan - extensions.conf. + +
+
+
+Omita el código del teléfono - este campo permite que usted dejehacia fuera el campo del phone_code mientras que marca dentro deVICIDIAL. Por ejemplo si usted está marcando en el Reino Unido delReino Unido usted tendría 44 adentro como su campo del phone_codepara todos los plomos, pero usted apenas desea marcar 10 dígitos ensu extensions.conf dial plan para poner llamadas en vez de 44 entonces10 dígitos. El defecto es N. + +
+
+
+Campaña CallerID - este campo permite enviar de un número de encargo del callerid en las llamadas de salida. Úste es el número que demostraría para arriba en el callerid de la persona que usted está llamando. El defecto es DESCONOCIDO. Esta opción está solamente disponible si usted está utilizando PRIs - ISDN T1 o E1 - que tienen la característica de encargo del callerid se giraron. Esta característica puede también trabajar con los troncos IAX2 dependiendo de lo que admite su abastecedor. El callerID de encargo se aplica solamente a las llamadas puestas para la campaña de VICIDIAL directamente, cualquier tercer persona llama o las transferencias no enviarán el callerID de encargo. NOTA: A veces el poner DESCONOCIDO o PRIVADO en el campo rendirá enviar de su número del callerID del defecto por su portador con las llamadas. Usted puede desear probar esto y poner 0000000000 en el campo del callerid en lugar de otro si usted no desea enviarle CallerID. + +
+
+
+Extensión de la campaña VDAD - este campo permite una extensión de la transferencia del costumbre VDAD. Esto permite que usted utilice diversas escrituras del agi de VDADtransfer... dependiendo de su campaña. La transferencia AGI(exten 8365 agi-VDADtransfer.agi del defecto) apenas envía inmediatamente invita a los agentes tan pronto como él se tome. Una encuesta sobre política AGI la muestra adicional es también (8366 agi-VDADtransferSURVEY.agi ) ese ahora incluido los juegos un mensaje a la persona llamada y permite que él haga una opción presionando buttons(effectively la pre-investigacio'n el plomo). Observe por favor eso a excepción de los exámenes, llamadas políticas y las caridades esta forma de llamar son ilegales en los Estados Unidos. + +
+
+
+Extensión de Rec de la Campaña - este campo permite para que una extensión de encargo de la grabación sea utilizada con VICIDIAL. Esto permite que usted utilice diversas extensiones dependiendo sobre cuánto tiempo usted desea permitir una grabación máxima y qué tipo de codec usted desea registrar adentro. El defecto exten es 8309 que si usted sigue los ejemplos de SCRATCH_INSTALL registrarán en el formato de WAV para hasta que una hora. Otra opción incluida en los ejemplos es 8310 que registrarán en el formato del GSM para hasta que una hora. + +
+
+
+Grabación de la campaña - este menú permite que usted elija quénivel de la grabación se permite en esta campaña. NUNCAinhabilitará la grabación en el cliente. ONDEMAND es el defecto ypermite que el agente comience y pare a registrar según lonecesitado. ALLCALLS comenzará la grabación en el cliente siempreque una llamada se envíe a un agente. ALLFORCE comenzará lagrabación en el cliente siempre que una llamada se envíe a un agenteque no da al agente ninguna opción para parar el registrar. ParaALLCALLS y ALLFORCE hay una opción para utilizar la grabaciónretrasa para reducir en grabaciones y carga de sistema muy cortas delrecude. + +
+
+
+Nombre de fichero de Rec de la campaña - este campo permite que usted modifique el nombre para requisitos particulares de la grabación cuando la grabación de la campaña es ONDEMAND o ALLCALLS. Las variables permitidas son CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT. El defecto es FULLDATE_AGENTE y parecería este 20051020-103108_6666. Otro ejemplo es CAMPAIGN_TINYDATE_CUSTPHONE que parecería este TESTCAMP_51020103108_3125551212. 50 char max. + +
+
+
+La registración retrasa - para la grabación de ALLCALLS y deALLFORCE solamente. Esta voluntad del ajuste retrasa comenzar de lagrabación en todas las llamadas para el número de los segundosespecificados en este campo. El defecto es 0. + +
+
+
+Escritura de la campaña - este menú permite que usted elija la escritura que aparecerá en la pantalla de los agentes para esta campaña. No seleccione NONE no demostrar ninguna escritura para esta campaña. + +
+
+
+Consiga el lanzamiento de la llamada - este menú permite que usted elija si usted desee automo'vil-lance la página en una ventana separada, auto-switch de la tela-forma a la lengüeta de la ESCRITURA o no haga nada cuando una llamada se envía al agente para esta campaña. + +
+
+
+Mensaje del contestador automático - este campo está para entrar en una extensión para cegar llamadas de la transferencia a cuando el agente consigue un contestador automático y chasca encendido el botón del mensaje del contestador automático en el marco de la conferencia de la transferencia. Usted debe fijar esto exten para arriba en el dial plan - extensions.conf - y se cerciora de que juega un archivo audio después que cuelga para arriba. + +
+
+
+AMD envían a la VM exten - este menú permite que usted defina si un mensaje esté dejado en un contestador automático cuando se detecta la llamada será remitido inmediatamente a la extensión del Contestar-Ma'quina-Mensaje si AMD es activo y se determina que la llamada es un contestador automático. + +
+
+
+Xfer-Conf DTMF - Estos cuatro campos permiten para que usted tenga dos sistemas de conferencia de la transferencia y de precolocaciones de DTMF. Cuando se carga la llamada o la campaña, la escritura de vicidial.php demostrará dos botones en el marco de la transferir-conferencia y automo'vil-poblara' el nu'mero-a-dial y los campos del enviar-dtmf cuando está presionada. Si usted desea permitir transferencias consultivas, un fronter a unmás cercano, usted puede colocar CXFER pues uno de lasprecolocaciones del nu'mero-a-dial y del dial string apropiado seráenviado para hacer una transferencia consultiva local, entonces lalata LEAVE-3WAY-CALL justo del agente y movimiento encendido a sullamada siguiente. Si usted desea permitir transferencias ocultas declientes a una escritura de VICIDIAL AGI para registrar o un IVR,entonces coloque AXFER en el campo del nu'mero-a-dial. Usted puedetambién especificar una extensión de encargo después del AXFER odel CXFER, por ejemplo si usted desea hacer transferencias consultivasinternas en vez de local que usted pondría CXFER90009 en el campo delnu'mero-a-dial. + +
+
+
+El marcar numérico del Alt del agente - esta opción permite que un agente marque manualmente el número de teléfono o el campo alterno address3 después de que se haya llamado el número principal. + +
+
+
+Servicios repetidos programar - esta opción no prohibe a agente a la disposición una llamada como CALLBK y elige los datos y el tiempo en los cuales el plomo será reactivado. + +
+
+
+Segundos de la llamada de la gota - el número de segundos a partirdel tiempo que la línea de cliente se escoge encima de hasta que lallamada se considera una GOTA, sólo se aplica a las llamadas desalida. + +
+
+
+Buzón de Voz - si estuvieron definidas, las llamadas que CAERÍAN normalmente en lugar de otro serían ordenadas a esta caja del voicemail para oír y para dejar un mensaje. + +
+
+
+seguro puerto mensaje - si fijar y juego uno mensaje clientedespués gota llamar segundo descanso ser alcanzar sin ser transferiruno agente. _ este fijar eliminar sending uno voicemail caja si esteser fijar y. + +
+
+
+seguro puerto Exten - este ser dial plan extensión que desear seguropuerto audio archivo ser localizar en en su servidor. + +
+
+
+Segundos de Wrap Up - el número de los segundos para forzar un agenteesperar antes de permitir que reciban o que marquen otra llamada. Elcontador de tiempo comienza tan pronto como un agente cuelgue paraarriba en su cliente - o en el caso del número alterno que marcacuando el agente acaba el plomo - defecto sea los segundos 0. Si elcontador de tiempo funciona hacia fuera antes de que el agente tengadispositioned la llamada, el agente todavía no se mueve encendido ala llamada siguiente hasta que seleccionan una disposición. + +
+
+
+Mensaje de Wrap up - esto es un mensaje campaña-especi'fico que seexhibirá en la pantalla del wrapup si se fijan los segundos delwrapup. + +
+
+
+Lista interna del uso DNC - esto define si esta campaña es filtrarlos plomos contra la lista interna de DNC. Si se fija a Y, la tolvabuscará cada número de teléfono en la lista de DNC antes de ponerlaen la tolva. Si está en la lista de DNC entonces que cambiará eseconduce estado a DNCL así que no puede ser marcada. El defecto es N. + +
+
+
+Grupos De entrada Permitidos - For CLOSER campaigns only. Here is where you select the inbound groups you want agents in this CLOSER campaign to be able to take calls from. It is important for BLENDED inbound-outbound campaigns only to select the inbound groups that are used for agents in this campaign. The calls coming into the inbound groups selected here will be counted as active calls for a blended campaign even if all agents in the campaign are not logged in to receive calls from all of those selected inbound groups. + +
+
+
+La pausa del agente cifra activo - permite que los agentes seleccionenun código de la pausa cuando chascan encendido el botón de PAUSA envicidial.php. Los códigos de la pausa son definibles por campaña enel fondo de la pantalla del detalle de la opinión de la campaña y sealmacenan en la tabla del vicidial_agent_log. El defecto es N. + +
+
+
+Inhabilite alteran datos del cliente - si el sistema a Y, no cambiacualquiera del expediente de datos del cliente cuando lasdisposiciones de un agente la llamada. El defecto es N. + +
+
+
+Permita Ninguno-Tolva-Conduce conexiones - si el sistema a Y, permiteagentes a la conexión a la campaña incluso si no hay plomos cargadosen la tolva para esa campaña. Esta función no se necesita encampañas de CLOSER-type. El defecto es N. + +
+
+
+Mezcla de la orden de la lista - elimina los campos de la orden delplomo y del estado del dial. Utilizará los parámetros de la lista ydel estado para la entrada seleccionada de la mezcla de la lista en lasección del submarino de la mezcla de la lista en lugar de otro. Eldefecto es LISIADO. + +
+
+
+Identificación de la mezcla de la lista - identificación de lamezcla de la lista. Debe ser a partir de 2-20 caracteres en longitudsin los espacios o la otra puntuación especial. + +
+
+
+Nombre de la mezcla de la lista - nombre descriptivo de la mezcla dela lista. Debe ser a partir de 2-50 caracteres en longitud. + +
+
+
+Detalle de la mezcla de la lista - la composición de la entrada de lamezcla de la lista. Contiene la identificación de la lista, la ordende la mezcla, los porcentajes y los estados que hacen para arriba estamezcla de la lista. Los porcentajes tienen que agregar siempre hasta100, y las listas todas tienen que ser activas y fijadas a la campañapara que la entrada de la mezcla de la orden sea activada. + +
+
+
+Método de la mezcla de la lista - el método de mezclar a todas laspartes del detalle de la mezcla de la lista juntas. EVEN_MIX mezclarálos plomos de cada parte interpolada con las otras partes, como estos1.2.3.1.2.3.1.2.3. IN_ORDER pondrá los plomos en la orden en la cualse enumeran en la pantalla 1.1.1.2.2.2.3.3.3 del detalle de la mezclade la lista. La voluntad AL AZAR los puso en la orden AL AZAR1.3.2.1.1.3.2.1.3. El defecto es IN_ORDER. + +
+
+
+Identificación manual de la lista del dial - el list_id del defectoque se utilizará cuando los placces de un agente una llamada manual yun nuevo expediente del plomo se crean en vicidial_list. El defecto es999. Este campo puede contener dígitos solamente. + + + + +



+ +VICIDIAL_LISTAS TABLA

+
+
+Identificación de la lista - Úste es el nombre numérico de la lista, él no es editable después de la sumisión inicial, debe contener solamente números y debe estar entre 2 y 8 caracteres en longitud. Must be a number greater than 100. + +
+
+
+Nombre de la lista - Ésta es la descripción de la lista, debe estar entre 2 y 20 caracteres en longitud. + +
+
+
+Descripción de la lista - éste es el campo de la nota para la lista,él es opcional. + +
+
+
+Fecha del cambio de la lista - ésta es la vez última que los ajustespara esta lista fueron modificados de cualquier manera. + +
+
+
+Fecha de la llamada del último de la lista - ésta es la vez últimaque conduce fue marcado de esta lista. + +
+
+
+Campaña - Ésta es la campaña que esta lista pertenece a. Una lista se puede marcar solamente en una sola campaña contemporáneamente. + +
+
+
+Activo - esto define si la lista debe ser marcada encendido o no. + +
+
+
+Reajuste el Conducir-Llamar-Estado para esta lista - esto reajusta todos los plomos en esta lista a N para "no llamado puesto que reajuste pasado" y significa que cualquier plomo puede ahora ser llamado si es el estado derecho según lo definido en la pantalla de la campaña. + +
+
+
+Lista de VICIDIAL DNC - esto no llama la lista contiene cada plomo quese ha fijado a un estado de DNC en el sistema. A través de las LISTAS- AGREGUE EL NÚMERO a la página de DNC que usted puede agregarmanualmente un número a esta lista de modo que no sea llamada por lascampañas que utilizan la lista interna de DNC. + + + +



+ +VICIDIAL_INBOUND_GROUPS TABLA

+
+
+Identificación de grupo - Úste es el nombre corto del grupo de entrada, él no es editable después de la sumisión inicial, no debe contener cualquier espacio y debe estar entre 2 y 20 caracteres en longitud. + +
+
+
+Nombre de grupo - Ésta es la descripción del grupo, debe estar entre 2 y 30 caracteres en longitud. No puede incluir rociadas -, plusses + o espacios . + +
+
+
+Color del grupo - éste es el color que exhibe en el cliente app de VICIDIAL cuando una llamada viene adentro en este grupo. Debe estar entre 2 y 7 caracteres de largo. Si esto es una definición del color de la tuerca hexagonal usted debe recordar poner a # al principio de la secuencia o VICIDIAL no trabajará correctamente. + +
+
+
+Activo - esto se determina si este grupo demuestra para arriba en la caja de la selección cuando un agente de VICIDIAL entra. + +
+
+
+Forma del Web - Ésta es la dirección de encargo que el chascar en el botón de la FORMA del WEB en VICIDIAL le llevará para las llamadas que vienen adentro en este grupo. + +
+
+
+Llamada siguiente del agente - esto se determina qué agente recibe la llamada siguiente que está disponible: +
  - random: órdenes por el valor al azar de la actualización en la tabla de los vicidial_live_agents +
  - oldest_call_start: las órdenes por la vez última un agente fueron enviadas una llamada. Resultados en los agentes que reciben el número casi igual de llamadas cabalmente. +
  - oldest_call_finish: las órdenes por la vez última un agente acabaron una llamada. El agente de AKA que espera lo más de largo posible recibe la primera llamada. +
  - overall_user_level: las órdenes por el user_level del agente según lo definido en los vicidial_users tabulan un user_level más alto recibirán más llamadas. +
  - inbound_group_rank: órdenes de la fila dada al agente para el grupode entrada específico. Lo más arriba posible a lo más bajo posible. +
  - fewest_calls: órdenes por el número de las llamadas recibidas por unagente para ese grupo de entrada específico. Menos llamadas primero. +
  - campaign_rank: órdenes de la fila dada al agente para la campaña. Lomás arriba posible a lo más bajo posible. +
  - fewest_calls_campaign: orders by the number of calls received by an agent for the campaign. Least calls first. +
+
+
+Exhibición de Fronter - este campo se determina si el agente de entrada de VICIDIAL tendría el name(if del fronter allí es uno) exhibido en el campo del estado cuando la llamada viene al agente. + +
+
+
+Escritura de la campaña - este menú permite que usted elija la escritura que aparecerá en la pantalla de los agentes para esta campaña. No seleccione NONE no demostrar ninguna escritura para esta campaña. + +
+
+
+Consiga el lanzamiento de la llamada - este menú permite que usted elija si usted desee automo'vil-lance la página en una ventana separada, auto-switch de la tela-forma a la lengüeta de la ESCRITURA o no haga nada cuando una llamada se envía al agente para esta campaña. + +
+
+
+Xfer-Conf DTMF - Estos cuatro campos permiten para que usted tenga dos sistemas de conferencia de la transferencia y de precolocaciones de DTMF. Cuando se carga la llamada o la campaña, la escritura de vicidial.php demostrará dos botones en el marco de la transferir-conferencia y automo'vil-poblara' el nu'mero-a-dial y los campos del enviar-dtmf cuando está presionada. Si usted desea permitir transferencias consultivas, un fronter a unmás cercano, usted puede colocar CXFER pues uno de lasprecolocaciones del nu'mero-a-dial y del dial string apropiado seráenviado para hacer una transferencia consultiva local, entonces lalata LEAVE-3WAY-CALL justo del agente y movimiento encendido a sullamada siguiente. Si usted desea permitir transferencias ocultas declientes a una escritura de VICIDIAL AGI para registrar o un IVR,entonces coloque AXFER en el campo del nu'mero-a-dial. Usted puedetambién especificar una extensión de encargo después del AXFER odel CXFER, por ejemplo si usted desea hacer transferencias consultivasinternas en vez de local que usted pondría CXFER90009 en el campo delnu'mero-a-dial. + +
+
+
+Segundos de la llamada de la gota - el número de segundos a partirdel tiempo que la línea de cliente se escoge encima de hasta que lallamada se considera una GOTA, sólo se aplica a las llamadas desalida. + +
+
+
+Buzón de Voz - si estuvieron definidas, las llamadas que CAERÍAN normalmente en lugar de otro serían ordenadas a esta caja del voicemail para oír y para dejar un mensaje. + +
+
+
+Mensaje de la gota - si el sistema a Y juega un mensaje al clientedespués de que el descanso de los segundos de la llamada de la gotase alcance sin la transferencia a un agente. Este ajuste eliminaráenviar a una caja del voicemail si esto se fija a Y. + +
+
+
+Gota Exten - ésta es la extensión dial plan que el archivo audiocaído deseado de la llamada está situado en en su servidor. + +
+
+
+Tiempo de la llamada - éste es el esquema del tiempo de la llamada autilizar para este grupo de entrada. Tenga presente que el tiempoestá basado en el tiempo del servidor. El defecto es 24hours. + +
+
+
+Después de la acción de las horas - la acción a realizarse si esdespués de horas según lo definido en la época de la llamada paraeste grupo de entrada. Del RETRASO de la voluntad el retrasoinmediatamente la llamada, MESSASGE jugará el archivo en después delcampo de Filenam del mensaje de las horas, la EXTENSIÓN enviará lallamada a después de la extensión de las horas en el dialplan yVOICEMAIL enviará la llamada a la caja del voicemail enumerada endespués del campo de Buzón de Voz de las horas. El defecto es MENSAJE. + +
+
+
+Después del nombre de fichero del mensaje de las horas - el archivoaudio situado en el servidor que se jugará si la acción se fija alMENSAJE. El defecto es VM-ADIO'S + +
+
+
+Después de la extensión de las horas - la extensión dialplan paraenviar la llamada si la acción se fija a la EXTENSIÓN. El defecto es8300. + +
+
+
+Después de las horas Buzón de Voz - la caja del voicemail para enviar lallamada si la acción se fija a VOICEMAIL. + +
+
+
+Nombre de fichero agradable del mensaje - el archivo audio situado enel servidor que se jugará cuando viene la llamada adentro. Si sistemaa ---NONE --- entonces no se jugará ningún mensaje. El defecto es---NONE --- + +
+
+
+Música en contexto del asimiento - la música en el contexto delasimiento para utilizar cuando colocan al cliente en asimiento. Eldefecto es defecto. + +
+
+
+En el nombre de fichero del aviso del asimiento - el archivo audiosituado en el servidor que se jugará en un intervalo regular cuandoel cliente está en asimiento. El defecto es generic_hold. Estearchivo audio DEBE estar 9 segundos o menos en longitud. + +
+
+
+En el intervalo del aviso del asimiento - la longitud de la hora ensegundos de esperar antes de jugar encendido el aviso del sostener. Eldefecto es 60. + +
+
+
+Extensión alerta del agente - la extensión a enviar en la sesióndel agente para anunciar que una llamada está viniendo al agente.Esta extensión debe tener un aparato de lectura de un archivo audio.No utilizar esta función fijó esto a X. Default es X. + +
+
+
+La alarma del agente retrasa - la longitud de la hora en milisegundosde esperar antes de enviar la llamada al agente después de jugarencendido la extensión alerta del agente. El defecto es 1000. + +
+
+
+Grupo de la transferencia del defecto - este campo es el En-Grupo deldefecto que será seleccionado automáticamente cuando el agente va almarco de la transferir-conferencia en su interfaz del agente. + + + +



+ +VICIDIAL_REMOTE_AGENTS TABLA

+
+
+Comienzo de la identificación del usuario - Ésta es la identificación del usuario que comienza se utiliza que cuando las entradas alejadas del agente se insertan en el sistema. Si el número de líneas se fija más altamente de 1, este número es incrementado por uno hasta que cada línea tiene una entrada. Se cerciora de usted crear una nueva cuenta del usuario de VICIDIAL con un nivel de usuario de 4 o grande si usted quisiera que pudieran utilizar la página de vdremote.php para el acceso alejado de la tela de esta cuenta. + +
+
+
+Número de líneas - el define cuánto crea el agente alejado las entradas el sistema, y se determina cuántas líneas piensa que puede enviar con seguridad al número debajo. + +
+
+
+IP del servidor - Una entrada alejada del agente es solamente buena para un servidor específico, aquí es donde usted selecciona a que el servidor usted desea. + +
+
+
+Extensión externa - éste es el número que usted desea las llamadas remitidas a. Cerciórese de que sea un número dial plan completo y que si usted necesita 9 al principio usted lo pone adentro aquí. Pruebe marcando este número de un teléfono en el sistema. + +
+
+
+Estado - aquí es donde usted da vuelta al agente alejado por intervalos. Tan pronto como el agente sea activo el sistema asume que puede enviarle llamadas. Puede tomar hasta 30 segundos una vez que usted cambie el estado a inactivo para parar el recibir de llamadas. + +
+
+
+Campaña - aquí es donde usted selecciona la campaña que estos agentes alejados serán registrados en. Necesidades de entrada de utilizar la campaña MÁS CERCANA y de seleccionar las campañas de entrada debajo de ésa que usted desea recibir llamadas de. + +
+
+
+Grupos de entrada - aquí es donde usted selecciona a grupos de entrada que usted desea recibir llamadas de si usted ha seleccionado la campaña MÁS CERCANA. + + +



+ +VICIDIAL_CAMPAIGN_LISTAS

+
+
+Las listas dentro de esta campaña se enumeran aquí, si son activas son denotadas por la Y o N y usted pueden ir a la pantalla de la lista chascando en la identificación de la lista en la primera columna. + + +



+ +VICIDIAL_CAMPAIGN_STATUSES TABLA

+
+
+Con el uso de los estados de encargo de la campaña, usted puede tener estados que existan solamente para una campaña específica. El estado debe ser 1-8 caracteres en longitud, la descripción debe ser 2-30 caracteres en longitud y seleccionable define si demuestra para arriba en VICIDIAL como disposición. Human_answered el campo se utiliza al calcular el porcentaje de lagota, o la tarifa del abandono. El ajuste human_answered a Yutilizará este estado al contar las llamadas humano-contestadas. La opción de la categoría permite que usted agrupe varios estados enun catogy que se pueda utilizar para el análisis estadístico. + + + +



+ +VICIDIAL_CAMPAIGN_HOTKEYS TABLA

+
+
+Con el uso de los hot keys de encargo de la campaña, los agentes que utilizan el retraso vicidial de la lata del tela-cliente y la disposición llama apenas presionando una sola llave en su teclado. Hay dos opciones especiales que usted puede utilizar conjuntamente conel número de teléfono alterno que marca, ALTPH2 de HotKey - el dialcaliente del teléfono alterno y el dial caliente ADDR3-----Address3permiten que un agente utilice un hotkey al retraso su llamada,permanecen en el mismo plomo, y marcan otro número del contacto deese conducen. + + + + + +



+ +VICIDIAL_LEAD_RECYCLE TABLA

+
+
+Through the use of lead recycling, you can call specific statuses of leads again at a specified interval without resetting the entire list. Lead recycling is campaign-specific and does not have to be a selected dialable status in your campaign. The attempt delay field is the number of seconds until the lead can be placed back in the hopper, this number must be at least 120 seconds. The attempt maximum field is the maximum number of times that a lead of this status can be attempted before the list needs to be reset, this number can be from 1 to 10. You can activate and deactivate a lead recycle entry with the provided links. + + + + + +



+ +ESTADOS AUTO DEL DIAL DE VICIDIAL ALT

+
+
+Si se fija el campo que marca del Alt-Nu'mero auto, después losplomos que son dispositioned bajo estos estados del dial del alt delautomóvil tendrán su alt_phone y-o los campos address3 marcadosdespués de que cualesquiera de estos ninguno-contesten a estados sefijan. + + + + + +



+ +VICIDIAL CÓDIGOS DE LA PAUSA DEL AGENTE

+
+
+Si la pausa del agente cifra el campo activo se fija a activo entonceslos agentes podrá seleccionar de estos códigos de la pausa cuandochascan encendido el botón de PAUSA en sus pantallas. Estos datosentonces se almacenan en el registro vicidial del agente. El códigode la pausa debe contener solamente letras y números y ser menos de 7caracteres de largo. El nombre del código de la pausa puede estar nomás de largo de 30 caracteres. + + + + + +



+ +VICIDIAL_USER_GROUPS TABLA

+
+
+Grupo de usuario - éste es el nombre corto de un grupo de usuario de Vicidial, intento para no utilizar ningunos espacios o puntuación para los caracteres de este máximo 20 del campo, mínimo de 2 caracteres. + +
+
+
+Nombre de grupo - Ésta es la descripción del máximo vicidial del grupo de usuario de 40 caracteres. + +
+
+
+Campañas permitidas - ésta es una lista seleccionable de lascampañas a las cuales los miembros de este grupo de usuario puedenabrirse una sesión. La opción de ALL-CAMPAIGNS permite que losusuarios en este grupo consideren y se abran una sesión a cualquiercampaña en el sistema. + + + + + +



+ +VICIDIAL_ESCRITURAS TABLA

+
+
+Identificación de la escritura - Éste es el nombre corto de una escritura de Vicidial. Éste necesita ser un identificador único. Intente no utilizar ningunos espacios o puntuación para los caracteres de este máximo 10 del campo, mínimo de 2 caracteres. + +
+
+Nombre de la escritura - éste es el título de una escritura de Vicidial. Éste es un resumen corto de los caracteres del máximo 50 de la escritura, mínimo de 2 caracteres. No debe haber espacios o puntuación de la clase en campo de los theis. + +
+
+Comentarios de la escritura - éste es tal como donde usted puede poner los comentarios para una escritura de Vicidial - cambiantes para liberar mejora de sept. el 23 -. caracteres del máximo 255, mínimo de 2 caracteres. + +
+
+Texto de la escritura - This is where you place the content of a Vicidial Script. Minimum of 2 characters. You can have customer information be auto-populated in this script using "--A--field--B--" where field is one of the following fieldnames: vendor_lead_code, source_id, list_id, gmt_offset_now, called_since_last_reset, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, lead_id, campaign, phone_login, group, channel_group, SQLdate, epoch, uniqueid, customer_zap_channel, server_ip, SIPexten, session_id. For example, this sentence would print the persons name in it----

Hello, can I speak with --A--first_name--B-- --A--last_name--B-- please? Well hello --A--title--B-- --A--last_name--B-- how are you today?

This would read----

Hello, can I speak with John Doe please? Well hello Mr. Doe how are you today?

You can also use an iframe to load a separate window within the SCRIPT tab, here is an example with prepopulated variables: + +
+<iframe src="http://astguiclient.sf.net/test_VICIDIAL_output.php?lead_id=--A--lead_id--B--&vendor_id=--A--vendor_lead_code--B--&list_id=--A--list_id--B--&gmt_offset_now=--A--gmt_offset_now--B--&phone_code=--A--phone_code--B--&phone_number=--A--phone_number--B--&title=--A--title--B--&first_name=--A--first_name--B--&middle_initial=--A--middle_initial--B--&last_name=--A--last_name--B--&address1=--A--address1--B--&address2=--A--address2--B--&address3=--A--address3--B--&city=--A--city--B--&state=--A--state--B--&province=--A--province--B--&postal_code=--A--postal_code--B--&country_code=--A--country_code--B--&gender=--A--gender--B--&date_of_birth=--A--date_of_birth--B--&alt_phone=--A--alt_phone--B--&email=--A--email--B--&security_phrase=--A--security_phrase--B--&comments=--A--comments--B--&user=--A--user--B--&campaign=--A--campaign--B--&phone_login=--A--phone_login--B--&fronter=--A--fronter--B--&closer=--A--user--B--&group=--A--group--B--&channel_group=--A--group--B--&SQLdate=--A--SQLdate--B--&epoch=--A--epoch--B--&uniqueid=--A--uniqueid--B--&customer_zap_channel=--A--customer_zap_channel--B--&server_ip=--A--server_ip--B--&SIPexten=--A--SIPexten--B--&session_id=--A--session_id--B--&phone=--A--phone--B--" style="width:580;height:290;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="460" height="290" STYLE="z-index:17"> +</iframe> +
+ +
+
+
+Activo - esto se determina si esta escritura se puede seleccionar para ser utilizado por una campaña. + + + + + +



+ +VICIDIAL_LEAD_FILTROS TABLA

+
+
+Identificación del filtro - Éste es el nombre corto de un filtro del plomo de Vicidial. Éste necesita ser un identificador único. No utilice ningunos espacios o puntuación para los caracteres de este máximo 10 del campo, mínimo de 2 caracteres. + +
+
+Nombre del filtro - éste es un nombre más descriptivo del filtro. Éste es un resumen corto de los caracteres del máximo 30 del filtro, mínimo de 2 caracteres. + +
+
+El filtro comenta - aquí es tal como donde usted puede poner los comentarios para un filtro de Vicidial - las llamadas todos los plomos de California -. los caracteres del máximo 255, mínimo de 2 caracteres. + +
+
+Filtro SQL - Aquí es adonde usted pone el fragmento de la pregunta del SQL que usted desea filtrar cerca no comienza o el extremo con Y, eso será agregado por la escritura del cron de la tolva automáticamente. una pregunta del SQL del ejemplo que trabajaría aquí es el called_count 4 y called_count. + + + + + +



+ +VICIDIAL_TIEMPOS DE LA LLAMADA TABLA

+
+
+Identificación del tiempo de la llamada - éste es el nombre corto deuna definición del tiempo de la llamada de Vicidial. Éste necesitaser un identificador único. No utilice ningunos espacios opuntuación para los caracteres de este máximo 10 del campo, mínimode 2 caracteres. + +
+
+Nombre del tiempo de la llamada - éste es un nombre más descriptivode la definición del tiempo de la llamada. Éste es un resumen cortode los caracteres del máximo 30 de la definición del tiempo de lallamada, mínimo de 2 caracteres. + +
+
+El tiempo de la llamada comenta - aquí es donde usted puede poner loscomentarios para una definición del tiempo de la llamada de Vicidialtal como -10am hasta los 4pm con restricciones adicionales del estadode la llamada -. los caracteres del máximo 255. + +
+
+Tiempos del comienzo y de parada del defecto - éste es el tiempo dedefecto paran que el llamar será permitido que sea comenzado o dentrode esta definición del tiempo de la llamada si la hora de salida dela di'a-de-$$$-SEMANA no se define. 0 es medianoche. Evitar el llamarfijó totalmente este campo a 2400 y fijó el tiempo de parada deldefecto a 2400. Permitir el llamar 24 horas al día fijó la hora desalida a 0 y el tiempo de parada a 2400. + +
+
+Tiempos del comienzo y de parada del día laborable - éstos son lostiempos de encargo por el día que se puede fijar para la definicióndel tiempo de la llamada que las mismas reglas se aplican como con lostiempos del comienzo y de parada del defecto. + +
+
+Definiciones del tiempo de la llamada del estado - ésta es la listade las definiciones específicas del tiempo de la llamada del estadoque se siguen en esta definición del tiempo de la llamada. + +
+
+Estado del tiempo de la llamada del estado - éste es el código dedos letras para el estado que esta definición del tiempo que llamaestá para. Para que esto sea en efecto la llamada local mida eltiempo que se fija en la campaña debe tener este expediente deltiempo de la llamada del estado en él así como todos los plomos quetienen dos códigos del estado de la letra en ellos. + + + + +



+ +FUNCIONALIDAD DEL CARGADOR DE LA LISTA DE VICIDIAL

+
+
+El cargador tela-basado básico del plomo de VICIDIAL se diseñasimplemente para tomar un archivo del plomo - hasta 8MB de tamaño quees la lengüeta o la pipa delimitada y para cargarlo en la tabla delvicidial_list. El cargador del plomo permite el campo que elige y deTXT- el texto claramente, los valores separados coma de CSV- y XLS-sobresalen formatos del archivo. El cargador del plomo no hace lavalidación de datos, sino que permite que usted compruebe para sabersi hay duplicados en sí mismo, dentro de la campaña o dentro delsistema entero. También, cerciórese de que usted haya creado lalista que estos plomos son estar debajo de modo que usted puedautilizarlos. Aquí está una lista de los campos en su orden apropiadapara los archivos del plomo: +
    +
  1. Código del plomo del vendedor - demuestra para arriba en el campo de la identificación del vendedor del GUI +
  2. Código de fuente - uso interno solamente para los admins y DBAs +
  3. Identificación de la lista - el número de la lista que estos plomos demostrarán para arriba debajo +
  4. Código del teléfono - el prefijo para el teléfono number(1 para los E.E.U.U., 01144 para Reino Unido, 01161 para AUS, el etc) +
  5. Número de teléfono - debe ser por lo menos 8 dígitos de largo +
  6. Título - título del customer(Mr. Ms señ., etc...) +
  7. Nombre +
  8. Inicial Media +
  9. Apellidos +
  10. Dirección, línea 1 +
  11. Dirección, línea 2 +
  12. Dirección, línea 3 +
  13. Ciudad +
  14. Estado - limitado a 2 caracteres +
  15. Provincia +
  16. Código Postal +
  17. País +
  18. Sexo +
  19. Fecha de nacimiento +
  20. Número De Teléfono Alternativo +
  21. Dirección Email +
  22. Frase De Seguridad +
  23. Comentarios +
+ +
NOTAS: La funcionalidad del cargador del plomo del sobresalir espermitida por una serie de escrituras del Perl y necesita tener unarchivo correctamente configurado de /etc/astguiclient.conf en lugaren el web server. También, los módulos de un Perl de los pares sedeben cargar para ella para trabajar también -oLE-Storage_Lite-Storage_Lite y la Hoja de balance-ParseExcel. Ustedpuede comprobar para saber si hay errores runtime en éstos mirando suarchivo del error_log de apache. También, para los cheques deduplicación contra gampaign enumera, la lista que tiene nuevos plomosel entrar él necesita ser creada en el sistema antes de que ustedcomience a cargar los plomos. + + + + +



+ + + + + + +TABLA DE LOS TELÉFONOS

+
+
+Extensión del teléfono - este campo es donde usted pone los nombres del teléfono que aparecen al marcar con asterisco no incluyendo el protocolo o la barra vertical del principio. Por ejemplo: para el teléfono SIP/test101 del SIP la extensión del teléfono sería test101. También, para los teléfonos IAX2 compruebe que usted utiliza el nombre del teléfono completo: IAX2/IAXphone1@IAXphone1 sería IAXphone1@IAXphone1. Para zap los teléfonos compruebe que usted pone el canal completo: Zap/25-1 sería 25-1. Otra nota, compruebe que usted fija el protocolo abajo correctamente para su tipo de teléfono. + +
+
+
+Número del Dial plan - este campo está para el número que usted marca para tener el anillo del teléfono. Este número se define en el archivo de extensions.conf de su servidor asterisco + +
+
+
+Caja de Buzón de Voz - este campo es para la caja del buzón de voz donde van los mensajes para al usuario de este teléfono. Utilizamos esto para comprobar los mensajes del buzón de voz y para que el usuario pueda acceder al Buzón de Voz desde astGUIclient. + +
+
+
+CallerID de salida - este campo es donde usted incorporara el número del callerID que usted quiera que aparezca en las llamadas de salida. Esto no funciona en las líneas RTB(non-PRI) T1/E1. + +
+
+
+Dirección IP del teléfono - este campo es para la dirección IP del teléfono si es un teléfono de VOZIP. Este es un campo opcional + +
+
+
+Dirección IP del ordenador - este campo es para la dirección IP del ordenador del usuario. Es un campo opcional + +
+
+
+IP del servidor - Este menú es donde usted selecciona en que servidor está el teléfono activo. + +
+
+
+Conexión - la conexión usada para el usuario del teléfono a laconexión a los usos del cliente. + +
+
+
+Contraseña - la contraseña usada para el usuario del teléfono a laconexión a los usos del cliente. + +
+
+
+Estado - el estado del teléfono en el sistema, puede ser ACTIVO y ADMIN permiten que los clientes del GUI trabajen. ADMIN permite el acceso a este Web site de administración. El resto de los estados no permiten el acceso al GUI o al Web de Admin. + +
+
+
+Cuenta activa - si el teléfono está activado ponerla en la lista del cliente del GUI. + +
+
+
+Tipo de teléfono - solamente para información administrativas. + +
+
+
+Nombre completo - usado por el GUIclient en la lista de teléfonos activos. + +
+
+
+Compañía - solamente para las notas administrativas. + +
+
+
+Cuadro - todavía no puesto en ejecución. + +
+
+
+Nuevos mensajes - número de los nuevos mensajes del Buzón de Voz para este teléfono en el servidor del asterisco. + +
+
+
+Viejos mensajes - número de los viejos mensajes del Buzón de Voz para este teléfono en el servidor del asterisco. + +
+
+
+Protocolo del cliente - el protocolo que el teléfono utiliza para conectar con el servidor del asterisco: El Sip, IAX2, Zap. También, para los números External remotos o los números SpeedDial que usted desea enumerar como teléfonos. + +
+
+
+GMT local - La diferencia a partir del tiempo malo del ZULÚ del time(or de Greenwich) donde se localiza el teléfono. NO AJUSTE POR TIEMPO DE LOS AHORROS DE LA LUZ DEL DÍA. Esto es utilizada por la campaña de VICIDIAL para exhibir exactamente el tiempo y el tiempo del cliente. + +
+
+
+Conexión del encargado - Ésta es la conexión que los clientes del GUI para este teléfono utilizarán tener acceso a la base de datos donde residen los datos del servidor. + +
+
+
+Secreto del encargado - Ésta es la contraseña que los clientes del GUI para este teléfono utilizarán tener acceso a la base de datos donde residen los datos del servidor. + +
+
+
+Usuario del defecto de VICIDIAL - éste debe poner un valor prefijado en el campo del usuario de VICIDIAL siempre que este usuario del teléfono abra a cliente app de astVICIDIAL. Deje el espacio en blanco para ningún usuario. + +
+
+
+Paso del defecto de VICIDIAL - éste debe poner un valor prefijado en el campo de la contraseña de VICIDIAL siempre que este usuario del teléfono abra a cliente app de astVICIDIAL. Deje el espacio en blanco para ningún paso. + +
+
+
+Campaña del defecto de VICIDIAL - éste debe poner un valor prefijado en el campo de la campaña de VICIDIAL siempre que este usuario del teléfono abra a cliente app de astVICIDIAL. Deje el espacio en blanco para ninguna campaña. + +
+
+
+Parque Exten - Ésta es la extensión del estacionamiento del defecto para los apps del cliente. Verifique que diverso trabaje antes de que usted cambie esto. + +
+
+
+Extensión de la conferencia - Ésta es la extensión del parque de la conferencia del defecto para los apps del cliente. Verifique que diverso trabaje antes de que usted cambie esto. + +
+
+
+Parque Exten de VICIDIAL - Ésta es la extensión del estacionamiento del defecto para el cliente app de VICIDIAL. Verifique que diverso trabaje antes de que usted cambie esto. + +
+
+
+Archivo del parque de VICIDIAL - éste es el nombre del archivo de la extensión del parque del defecto VICIDIAL para los apps del cliente. Verifique que diverso trabaje antes de que usted cambie éste limitado a 10 caracteres. + +
+
+
+Prefijo del monitor - éste es el prefijo dial plan para supervisar de zap los canales automáticamente dentro del app astGUIclient. Cambie solamente según los expedientes de extensiones de extensions.conf ZapBarge. + +
+
+
+Grabación Exten - Ésta es la extensión dial plan para la extensión de la grabación que se utiliza para caer en conferencias del meetme para registrarlas. Dura generalmente hasta que una hora si no parada verifica con el archivo de extensions.conf antes de cambiar. + +
+
+
+VMAIL Exten principal - Ésta es la extensión dial plan que va a comprobar su voicemail. verifica con el archivo de extensions.conf antes de cambiar. + +
+
+
+Descarga Exten de VMAIL - éste es el prefijo dial plan usado para enviar llamadas directamente al voicemail de un usuario de una llamada viva en el app. astGUIclient verifica con el archivo de extensions.conf antes de cambiar. + +
+
+
+Contexto de Exten - éste es el contexto dial plan que este teléfono utiliza sobre todo. Se asume que todos los números marcados por los apps del cliente están utilizando este contexto así que es una buena idea cerciorarse de que éste es el contexto más amplio posible verifica con el archivo de extensions.conf antes de cambiar. + +
+
+
+DTMF envían el canal - Ésta es la secuencia del canal usada para enviar sonidos de DTMF en conferencias del meetme de los apps del cliente. Verifique que exten y contexto con el archivo de extensions.conf. + +
+
+
+Grupo de salida de la llamada - éste es el grupo de canal que las llamadas de salida de este teléfono están puestas de. Hay rutinas de un par en los apps del cliente que utilizan esto. Para zap los canales que usted desea utilizar algo como Zap/g2, porque los troncos IAX2 usted desearía utilizar el prefijo completo de IAX como IAX2/VICItest1:secret@10.10.10.15:4569. Verifique que los troncos con el file(it de extensions.conf sean generalmente lo que usted ha definido como la variable global del TRUNK en la tapa del archivo). + +
+
+
+Localización del browser - esto es aplicable solamente a los clientes de UNIX/LINUX, el camino absoluto a Mozilla o el browser de Firefox en la máquina verifica esto lanzándolo manualmente. + +
+
+
+Instale el directorio - éste es el lugar en donde las escrituras astGUIclient y de astVICIDIAL están situadas en su máquina. Para Win32 debe ser algo como C:\AST_VICI y para UNIX debe ser algo como /usr/local/perl_TK. verifica esto manualmente. + +
+
+
+URL de CallerID - Ústa es la dirección de la tela de la página usada para hacer operaciones de búsqueda de encargo del callerID que es la dirección de prueba del defecto: http://astguiclient.sf.net/test_callerid_output.php + +
+
+
+URL del defecto de VICIDIAL - Ésta es la dirección de la tela de la página usada para hacer preguntas de encargo de la forma del Web de VICIDIAL que es la dirección de prueba del defecto: http://astguiclient.sf.net/test_VICIDIAL_output.php + +
+
+
+Registración de la llamada - esto se fija para verdad si el archivo de call_log.agi está en lugar en el archivo de extensions.conf para todo el de salida y las extensiones del retraso ' h ' para registrar todo llama. Ústa debe siempre ser 1 porque es manditory para muchos astGUIclient y características de VICIDIAL a trabajar correctamente. + +
+
+
+Conmutación del usuario - fije para verdad para permitir que el usuario cambie a otra cuenta del usuario. NOTA: Si los interruptores del usuario ellos pueden iniciar la grabación en la conversación de teléfono del nuevo usuario + +
+
+
+Comunicación - fije para verdad para permitir que el usuario comience llamadas de conferencia con hasta que seis líneas externas. + +
+
+
+Retraso del Admin - sistema a verdad para permitir que el usuario pueda al retraso cualquier línea en la voluntad con astGUIclient. Buena idea de permitir solamente esto para los usuarios del Admin. + +
+
+
+Secuestro del Admin - fije para verdad para permitir que el usuario pueda asir y volver a dirigir a su extensión cualquier línea en la voluntad con astGUIclient. Buena idea de permitir solamente esto para los usuarios del Admin. Pero es muy útil para los encargados. + +
+
+
+Monitor del Admin - fije para verdad para permitir que el usuario pueda asir y volver a dirigir a su extensión cualquier línea en la voluntad con astGUIclient. Buena idea de permitir solamente esto para los usuarios del Admin. Pero es muy útil para los encargados y como herramienta del entrenamiento. + +
+
+
+Parque de llamada - el sistema a verdad para permitir que el usuario pueda parquear invita el asimiento astGUIclient para ser tomado por cualquier otro usuario astGUIclient en el sistema. Las llamadas permanecen en el asimiento para hasta que un retraso de la media-hora entonces. Permitido generalmente para todos. + +
+
+
+Cheque de Updater - fije para verdad para exhibir una advertencia del popup que el tiempo del updater no ha cambiado en 20 segundos. Útil para los usuarios del Admin. + +
+
+
+Af que registra - fije para verdad para registrar muchas acciones del uso astGUIclient a un archivo de texto en la computadora del usuario. + +
+
+
+La coleta permitió - al sistema verdad para hacer que los apps del cliente utilicen el sistema central de la coleta del asterisco. Requerido para VICIDIAL y recomendado para todos los usuarios. + +
+
+
+Ventana emergente del CallerID - sistema a verdad para tener en cuenta los números definidos en el archivo de extensions.conf para enviar las pantallas del popup de CallerID a los usuarios astGUIclient. + +
+
+
+Botón de VMail - fije para verdad para exhibir el botón de VOICEMAIL y los mensajes cuentan la exhibición en astGUIclient. + +
+
+
+Rápido restaure - fije para verdad para permitir un nuevo índice de restauran de la información de la llamada para el astGUIclient. La tarifa inhabilitada defecto es el ms 1000 (1 segundo). Puede aumentar la carga de sistema si usted baja este número. + +
+
+
+Rápido restaure la tarifa - en milisegundos. Utilizado solamente si es rápido restaure se permite. La tarifa inhabilitada defecto es el ms 1000 (1 segundo). Puede aumentar la carga de sistema si usted baja este número. + +
+
+
+Persistant MySQL - si está permitida la conexión astGUIclient seguirá conectada en vez de conectar cada segundo. Útil si usted hace que un rápido restaure la tarifa fijada. Aumentará el número de conexiones en su máquina de MySQL. + +
+
+
+Número siguiente del dial auto - si está permitido el cliente de VICIDIAL marcará el número siguiente en la lista automáticamente sobre la disposición de una llamada a menos que seleccionaran "para parar el marcar" en la pantalla de la disposición. + +
+
+
+Pare Rec después de cada llamada - si está permitido el cliente de VICIDIAL parará se está encendiendo cualquier grabación después de que haya sido cada llamada dispositioned. Útil si usted está haciendo muchos de la grabación o usted están utilizando una forma de la tela para accionar la grabación. + +
+
+
+Permita los mensajes de SIPSAK - si está permitido el servidorenviará mensajes al teléfono del SIP a la exhibición en laexhibición del LCD del teléfono cuando está registrado en VICIDIAL.La característica trabaja solamente con los teléfonos del SIP yrequiere el uso del sipsak ser instalada en el web server. El defectoes 0. + +
+
+
+Servidor de DBX - el servidor de la base de datos de MySQL con el cual este usuario debe conectar. + +
+
+
+Base de datos de DBX - la base de datos de MySQL con la cual este usuario debe conectar. El defecto es asterisco. + +
+
+
+Usuario de DBX - la conexión del usuario de MySQL que este usuario debe utilizar al conectar. El defecto es cron. + +
+
+
+Paso de DBX - la contraseña del usuario de MySQL que este usuario debe utilizar al conectar. El defecto es 1234. + +
+
+
+DBX viran - el puerto de MySQL hacia el lado de babor TCP que este usuario debe utilizar al conectar. El defecto es 3306. + +
+
+
+Servidor de DBY - el servidor de la base de datos de MySQL con el cual este usuario debe conectar. Secundario server, no utilizado actualmente. + +
+
+
+Base de datos de DBY - la base de datos de MySQL con la cual este usuario debe conectar. El defecto es asterisco. Secundario server, no utilizado actualmente. + +
+
+
+Usuario de DBY - la conexión del usuario de MySQL que este usuario debe utilizar al conectar. El defecto es cron. Secundario server, no utilizado actualmente. + +
+
+
+Paso de DBY - la contraseña del usuario de MySQL que este usuario debe utilizar al conectar. El defecto es 1234. Secundario server, no utilizado actualmente. + +
+
+
+DBY viran - el puerto de MySQL hacia el lado de babor TCP que este usuario debe utilizar al conectar. El defecto es 3306. Secundario server, no utilizado actualmente. + + +



+ +TABLA DE LOS SERVIDORES

+
+
+ID Del Servidor - Este campo es donde usted pone el nombre del servidor del asterisco, no tiene que ser un submarino oficial del dominio, apenas un apodo para identificar el servidor a los usuarios del Admin. + +
+
+
+Descripción del servidor - el campo donde usted utiliza una frase pequeña para describir el servidor del asterisco. + +
+
+
+IP address del servidor - el campo donde usted puso el IP address de la red del servidor del asterisco. + +
+
+
+Activo - fije si el servidor del asterisco es activo o inactivo. + +
+
+
+Versión del asterisco - fije la versión del asterisco que usted ha instalado en este servidor. Ejemplos: ' 1.2 ', ' 1.0.8 ', ' 1.0.7 ', ' CVS_HEAD ', ' REALMENTE VIEJO ', etc... Se utiliza esto porque las versiones 1.0.8 y 1.0.9 tienen un diverso método de ocuparse del insecto local del channels(a que ha estado fijado en CVS v1.0) y necesidad de ser tratado diferentemente cuando la manipulación de su Local/ acanala. También, CVS_HEAD actual y las 1.2 aplicaciones diverso encargado y comando del árbol del lanzamiento hicieron salir así que debe ser tratado diverso también. + +
+
+
+Troncos máximos de VICIDIAL - este campo determinará el número de las líneas máximo que el auto-dialer de VICIDIAL procurará invitar este servidor. Si usted desea dedicar dos PRI llenos T1 a VICIDIALing en un servidor entonces usted fijaría esto a 46. E1 defecto es 96. + +
+
+
+Anfitrión del telnet - éste es la dirección o el nombre del servidor del asterisco y es cómo los usos del encargado conectan con él de donde están funcionando. Si están funcionando en el servidor del asterisco, después el defecto del ' localhost ' está muy bien. + +
+
+
+El telnet vira hacia el lado de babor - éste es el puerto de la conexión del encargado del servidor del asterisco y es cómo los usos del encargado conectan con ella de donde están funcionando. El defecto de ' 5038 ' está para un estándar instala muy bien. + +
+
+
+Usuario del encargado - el username o la conexión conectaba genericly con el encargado del servidor del asterisco. El defecto es 'cron' + +
+
+
+Secreto del encargado - el secreto o la contraseña conectaba genericly con el encargado del servidor del asterisco. El defecto es '1234' + +
+
+
+Usuario en modo actualización del encargado - el username o la conexión conectaba con el encargado del servidor del asterisco optimizado para las escrituras de la actualización. Omita es 'updatecron' y asume el mismo secreto que el usuario genérico. + +
+
+
+El encargado escucha usuario - el username o la conexión usada para conectar con el encargado del servidor del asterisco optimizado para las escrituras que esperan a escuchar solamente salida. Omita es 'listencron' y asume el mismo secreto que el usuario genérico. + +
+
+
+El encargado envía a usuario - el username o la conexión usada para conectar con el encargado del servidor del asterisco optimizado para las escrituras que envían solamente acciones al encargado. Omita es 'sendcron' y asume el mismo secreto que el usuario genérico. + +
+
+
+El GMT del servidor compensó - la diferencia sobre horas a partir del tiempo del GMT no ajustado según el Luz del di'a-Ahorro-Tiempo del servidor. El defecto es '-5' + +
+
+
+Descarga Exten - el prefijo de VMail de la extensión usado en este servidor para enviar llamadas directamente a través de agc a una caja específica del voicemail. El defecto es '85026666666666' + +
+
+
+Extensión del ANUNCIO de VICIDIAL - la extensión del defecto si ninguno está presente en la campaña enviar llamadas para a marcar auto de VICIDIAL. El defecto es '8365' + +
+
+
+Contexto del defecto - el contexto dial plan del defecto usado para las escrituras que funcionan para este servidor. El defecto es 'defecto' + +
+
+
+Funcionamiento del sistema - fijar esta opción a Y permitirá laregistración del stats del funcionamiento del sistema para lamáquina del servidor incluyendo carga de sistema, procesos delsistema y canales del asterisco en uso. El defecto es N. + +
+
+
+Registros del servidor - fijar esta opción a Y permitirá laregistración de todas las escrituras relacionadas VICIDIAL a susficheros de diario del texto. Fijar esto a N parará registros de laescritura a los archivos para estos procesos, también laregistración de la pantalla del asterisco será lisiado si esto sefija a N cuando se comienza el asterisco. El defecto es Y. + +
+
+
+AGI hecho salir - fijar esta opción a NINGUNOS inhabilitará salidade todas las escrituras relacionadas VICIDIAL de AGI. Fijar esto aSTDERR enviará el AGI hecho salir al asterisco CLI. Fijar esto alARCHIVO enviará la salida a un archivo en el directorio de losregistros. Fijar esto a AMBOS enviará salida al asterisco CLI y a unfichero de diario. El defecto es ARCHIVO. + +
+
+
+El marcar del balance de VICIDIAL - fijar este campo a Y permitiráque el servidor ponga las llamadas del balance para las campañas enVICIDIAL para poder resolver el nivel definido del dial incluso si nohay agentes registrados en esa campaña en este servidor. El defectoes N. + +
+
+
+Balance Offlimits de VICIDIAL - este ajuste define el número detroncos para no permitir el balance de VICIDIAL que marca parautilizar. Por ejemplo si usted tiene 40 troncos y offlimits vicidialmáximos del balance se fijan a 10 que usted podrá solamenteutilizar 30 líneas interurbanas para marcar del balance de VICIDIAL.El defecto es 0. + + +



+ +TABLA DE CONFERENCIAS

+
+
+Número de la conferencia - este campo es donde usted pone el número del dialpna de la conferencia del meetme. También se recomienda que el número del meetme en meetme.conf empareja este número para cada entrada. Esto está para las conferencias en astGUIclient y se utiliza para la funcionalidad de leave-3way-call en VICIDIAL. + +
+
+
+IP del servidor - El menú donde usted selecciona el servidor del asterisco que esta conferencia estará encendido. + + + + +



+ +VICIDIAL_SERVER_TRUNKS TABLA

+
+
+Los troncos del servidor de VICIDIAL permiten que usted restrinja laslíneas salientes que se utilizan en este servidor para la campañaque marca sobre una base de la por-campaña. Usted tiene la opciónpara reservar un número de las líneas específico que se utilizaránpor solamente una campaña así como permitir que esa campañafuncione sobre sus líneas reservadas en cualesquiera líneas siguensiendo abiertas, según lo en las líneas totales usadas por vicidialen este servidor es de largo menos que fijar de los troncos delmáximo VICIDIAL. No tener cualesquiera de estos expedientespermitirá la campaña que marca la línea primero para tener tantaslíneas mientras que puede conseguir bajo fijar de los troncos delmáximo VICIDIAL. + + + + + +



+ +SYSTEM_SETTINGS TABLA

+
+
+Uso No-Latino - esta opción permite que usted omita la escritura dela exhibición de la tela los caracteres del uso UTF8 y que no haganinguna expresión regular de la latino-cara'cter-familia que sefiltra ni que no exhiba el formato. El defecto es 0. + +
+
+
+Webroot escribible - este ajuste permite que usted defina si losarchivos de la temperatura y los archivos de la autentificación seancolocados en el webroot en su web server. El defecto es 1. + +
+
+
+Permita la registración de QueueMetrics - este ajuste permite queusted defina si VICIDIAL inserte entradas del registro en la tabla dela base de datos del queue_log como lo hace la actividad de lascoletas del asterisco. QueueMetrics es un independiente, programa delanálisis estadístico de la cerrado-fuente. Usted debe tenerQueueMetrics instalado y configurado ya antes de permitir estacaracterística. El defecto es 0. + +
+
+
+IP del servidor de QueueMetrics - éste es el IP address de la base dedatos para su instalación de QueueMetrics. + +
+
+
+Nombre de la base de datos de QueueMetrics - éste es el nombre de labase de datos para su base de datos de QueueMetrics. + +
+
+
+Conexión de la base de datos de QueueMetrics - éste es el nombre delusuario usado para abrirse una sesión a su base de datos deQueueMetrics. + +
+
+
+Contraseña de la base de datos de QueueMetrics - ésta es lacontraseña usada para abrirse una sesión a su base de datos deQueueMetrics. + +
+
+
+URL de QueueMetrics - Ésta es la dirección del URL o del Web siteusada para conseguir a su instalación de QueueMetrics. + +
+
+
+Identificación del registro de QueueMetrics - ésta es laidentificación del servidor que todos los registros de VICIDIAL queentran la base de datos de QueueMetrics utilizarán como identificadorpara cada expediente. + +
+
+
+QueueMetrics EnterQueue prepend - este campo se utiliza para permitirprepending de una de las zonas de informaciones del vicidial_listdelante del número de teléfono del cliente para los informesmodificados para requisitos particulares de QueueMetrics. El defectono es NINGUNO no poblar cualquier cosa. + +
+
+
+El agente de VICIDIAL inhabilita la exhibición - este campo seutiliza para seleccionar cuando demostrar a un agente cuando susesión ha sido inhabilitada por el sistema, una acción del encargadoo por una medida externa. El ajuste de NOT_ACTIVE inhabilitará elmensaje en la pantalla de los agentes. El ajuste de LIVE_AGENTexhibirá solamente el mensaje lisiado cuando se ha quitado elexpediente de los vicidial_auto_calls de los agentes, por ejemplodurante un registro de estado de la máquina de la fuerza o registrode estado de la máquina de la emergencia. + +
+
+
+Permita los mensajes de SIPSAK - si el sistema a 1, éste permite queel ajuste de la tabla de los teléfonos trabaje correctamente, elservidor enviará mensajes al teléfono del SIP a la exhibición en laexhibición del LCD del teléfono cuando está registrado en VICIDIAL.Esta característica trabaja solamente con los teléfonos del SIP yrequiere el uso del sipsak ser instalada en el web server. El defectoes 0. + +
+
+
+URL casero del Admin - ésta es la dirección del URL o del Web siteque usted irá si usted chasca encendido el acoplamiento CASERO en latapa de la página de admin.php. + +
+
+
+Permita el logfile de la transferencia del agente - esta opciónregistrará a un logfile del texto en el webserver cada vez que unallamada se transfiere a un agente. El defecto es 0, inhabilitado. + + + + + +



+ +VICIDIAL_STATUSES TABLA

+
+
+Con el uso de los estados de sistema, usted puede tener estados queexistan para la campaña y el en-grupo. El estado debe ser 1-6caracteres en longitud, la descripción debe ser 2-30 caracteres enlongitud y seleccionable define si demuestra para arriba en VICIDIALcomo disposición del agente. Human_answered el campo se utiliza alcalcular el porcentaje de la gota, o la tarifa del abandono. El ajustehuman_answered a Y utilizará este estado al contar las llamadashumano-contestadas. La opción de la categoría permite que ustedagrupe varios estados en un catogy que se pueda utilizar para elanálisis estadístico. + + +



+ +VICIDIAL_STATUS_CATEGORIES TABLA

+
+
+Con el uso de las categorías del estado de sistema, usted puedeagrupar juntos estados para tener en cuenta análisis estadístico enun grupo de estados. La identificación de la categoría debe ser 2-20caracteres en longitud sin espacios, el nombre debe ser 2-50caracteres en longitud, la descripción es opcional y la exhibiciónde TimeonVDAD define si ese estado será uno de hasta que 4 estadosque se puedan calcular y exhibir en el tiempo en informe del tiemporeal de VDAD. + + + + +







+







+EL EXTREMO +
+\n"; + echo "\n"; + echo "\n"; + echo ""; + + $stmt="SELECT dial_statuses,local_call_time,lead_filter_id from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $dial_statuses = $row[0]; + $local_call_time = $row[1]; + if ($lead_filter_id=='') + { + $lead_filter_id = $row[2]; + if ($lead_filter_id=='') + { + $lead_filter_id='NONE'; + } + } + + $stmt="SELECT list_id,active,list_name from vicidial_lists where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + if (ereg("Y", $rowx[1])) {$camp_lists .= "'$rowx[0]',";} + } + $camp_lists = eregi_replace(".$","",$camp_lists); + + $filterSQL = $filtersql_list[$lead_filter_id]; + $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); + if (strlen($filterSQL)>4) + {$fSQL = "and $filterSQL";} + else + {$fSQL = '';} + + + echo "

\n"; + echo "Demuestre La Cuenta De los Plomos De Dialable -

\n"; + echo "CAMPAIGN: $campaign_id
\n"; + echo "LISTAS: $camp_lists
\n"; + echo "STATUSES: $dial_statuses
\n"; + echo "FILTER: $lead_filter_id
\n"; + echo "CALL TIME: $local_call_time

\n"; + + ### call function to calculate and print dialable leads + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$fSQL); + + echo "

\n"; + echo "\n"; + + exit; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=7111111 view sample script with test variables +###################### + +if ($ADD==7111111) +{ + ##### TEST VARIABLES ##### + $vendor_lead_code = 'VENDOR:LEAD;CODE'; + $list_id = 'LISTID'; + $gmt_offset_now = 'GMTOFFSET'; + $phone_code = '1'; + $phone_number = '7275551212'; + $title = 'Mr.'; + $first_name = 'JOHN'; + $middle_initial = 'Q'; + $last_name = 'PUBLIC'; + $address1 = '1234 Main St.'; + $address2 = 'Apt. 3'; + $address3 = 'ADDRESS3'; + $city = 'CHICAGO'; + $state = 'IL'; + $province = 'PROVINCE'; + $postal_code = '33760'; + $country_code = 'USA'; + $gender = 'M'; + $date_of_birth = '1970-01-01'; + $alt_phone = '3125551212'; + $email = 'test@test.com'; + $security_phrase = 'SECUTIRY'; + $comments = 'COMMENTS FIELD'; + $RGfullname = 'JOE AGENT'; + $RGuser = '6666'; + $RGlead_id = '1234'; + $RGcampaign = 'TESTCAMP'; + $RGphone_login = 'gs102'; + $RGgroup = 'TESTCAMP'; + $RGchannel_group = 'TESTCAMP'; + $RGSQLdate = date("Y-m-d H:i:s"); + $RGepoch = date("U"); + $RGuniqueid = '1163095830.4136'; + $RGcustomer_zap_channel = 'Zap/1-1'; + $RGserver_ip = '10.10.10.15'; + $RGSIPexten = 'SIP/gs102'; + $RGsession_id = '8600051'; + +echo "\n"; +echo "\n"; +echo "\n"; +echo ""; + +$stmt="SELECT * from vicidial_scripts where script_id='$script_id';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$script_name = $row[1]; +$script_text = $row[3]; + +if (eregi("iframe src",$script_text)) + { + $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); + $list_id = eregi_replace(' ','+',$list_id); + $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); + $phone_code = eregi_replace(' ','+',$phone_code); + $phone_number = eregi_replace(' ','+',$phone_number); + $title = eregi_replace(' ','+',$title); + $first_name = eregi_replace(' ','+',$first_name); + $middle_initial = eregi_replace(' ','+',$middle_initial); + $last_name = eregi_replace(' ','+',$last_name); + $address1 = eregi_replace(' ','+',$address1); + $address2 = eregi_replace(' ','+',$address2); + $address3 = eregi_replace(' ','+',$address2); + $city = eregi_replace(' ','+',$city); + $state = eregi_replace(' ','+',$state); + $province = eregi_replace(' ','+',$province); + $postal_code = eregi_replace(' ','+',$postal_code); + $country_code = eregi_replace(' ','+',$country_code); + $gender = eregi_replace(' ','+',$gender); + $date_of_birth = eregi_replace(' ','+',$date_of_birth); + $alt_phone = eregi_replace(' ','+',$alt_phone); + $email = eregi_replace(' ','+',$email); + $security_phrase = eregi_replace(' ','+',$security_phrase); + $comments = eregi_replace(' ','+',$comments); + $RGfullname = eregi_replace(' ','+',$RGfullname); + $RGuser = eregi_replace(' ','+',$RGuser); + $RGlead_id = eregi_replace(' ','+',$RGlead_id); + $RGcampaign = eregi_replace(' ','+',$RGcampaign); + $RGphone_login = eregi_replace(' ','+',$RGphone_login); + $RGgroup = eregi_replace(' ','+',$RGgroup); + $RGchannel_group = eregi_replace(' ','+',$RGchannel_group); + $RGSQLdate = eregi_replace(' ','+',$RGSQLdate); + $RGepoch = eregi_replace(' ','+',$RGepoch); + $RGuniqueid = eregi_replace(' ','+',$RGuniqueid); + $RGcustomer_zap_channel = eregi_replace(' ','+',$RGcustomer_zap_channel); + $RGserver_ip = eregi_replace(' ','+',$RGserver_ip); + $RGSIPexten = eregi_replace(' ','+',$RGSIPexten); + $RGsession_id = eregi_replace(' ','+',$RGsession_id); + } + +$script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); +$script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); +$script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); +$script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); +$script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); +$script_text = eregi_replace('--A--title--B--',"$title",$script_text); +$script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); +$script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); +$script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); +$script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); +$script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); +$script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); +$script_text = eregi_replace('--A--city--B--',"$city",$script_text); +$script_text = eregi_replace('--A--state--B--',"$state",$script_text); +$script_text = eregi_replace('--A--province--B--',"$province",$script_text); +$script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); +$script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); +$script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); +$script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); +$script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); +$script_text = eregi_replace('--A--email--B--',"$email",$script_text); +$script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); +$script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); +$script_text = eregi_replace('--A--fullname--B--',"$RGfullname",$script_text); +$script_text = eregi_replace('--A--fronter--B--',"$RGuser",$script_text); +$script_text = eregi_replace('--A--user--B--',"$RGuser",$script_text); +$script_text = eregi_replace('--A--lead_id--B--',"$RGlead_id",$script_text); +$script_text = eregi_replace('--A--campaign--B--',"$RGcampaign",$script_text); +$script_text = eregi_replace('--A--phone_login--B--',"$RGphone_login",$script_text); +$script_text = eregi_replace('--A--group--B--',"$RGgroup",$script_text); +$script_text = eregi_replace('--A--channel_group--B--',"$RGchannel_group",$script_text); +$script_text = eregi_replace('--A--SQLdate--B--',"$RGSQLdate",$script_text); +$script_text = eregi_replace('--A--epoch--B--',"$RGepoch",$script_text); +$script_text = eregi_replace('--A--uniqueid--B--',"$RGuniqueid",$script_text); +$script_text = eregi_replace('--A--customer_zap_channel--B--',"$RGcustomer_zap_channel",$script_text); +$script_text = eregi_replace('--A--server_ip--B--',"$RGserver_ip",$script_text); +$script_text = eregi_replace('--A--SIPexten--B--',"$RGSIPexten",$script_text); +$script_text = eregi_replace('--A--session_id--B--',"$RGsession_id",$script_text); +$script_text = eregi_replace("\n","
",$script_text); + + +echo ""; + +echo "Escritura De la Inspección previo: $script_id
\n"; +echo "
\n"; +echo "
$script_name
\n"; +echo "$script_text\n"; +echo "
\n"; + +echo "\n"; + +exit; +} + + + + +######################### HTML HEADER BEGIN ####################################### +if ($hh=='users') + {$users_hh="bgcolor =\"$users_color\""; $users_fc="$users_font"; $users_bold="$header_selected_bold";} + else {$users_hh=''; $users_fc='WHITE'; $users_bold="$header_nonselected_bold";} +if ($hh=='campaigns') + {$campaigns_hh="bgcolor=\"$campaigns_color\""; $campaigns_fc="$campaigns_font"; $campaigns_bold="$header_selected_bold";} + else {$campaigns_hh=''; $campaigns_fc='WHITE'; $campaigns_bold="$header_nonselected_bold";} +if ($hh=='lists') + {$lists_hh="bgcolor=\"$lists_color\""; $lists_fc="$lists_font"; $lists_bold="$header_selected_bold";} + else {$lists_hh=''; $lists_fc='WHITE'; $lists_bold="$header_nonselected_bold";} +if ($hh=='ingroups') + {$ingroups_hh="bgcolor=\"$ingroups_color\""; $ingroups_fc="$ingroups_font"; $ingroups_bold="$header_selected_bold";} + else {$ingroups_hh=''; $ingroups_fc='WHITE'; $ingroups_bold="$header_nonselected_bold";} +if ($hh=='remoteagent') + {$remoteagent_hh="bgcolor=\"$remoteagent_color\""; $remoteagent_fc="$remoteagent_font"; $remoteagent_bold="$header_selected_bold";} + else {$remoteagent_hh=''; $remoteagent_fc='WHITE'; $remoteagent_bold="$header_nonselected_bold";} +if ($hh=='usergroups') + {$usergroups_hh="bgcolor=\"$usergroups_color\""; $usergroups_fc="$usergroups_font"; $usergroups_bold="$header_selected_bold";} + else {$usergroups_hh=''; $usergroups_fc='WHITE'; $usergroups_bold="$header_nonselected_bold";} +if ($hh=='scripts') + {$scripts_hh="bgcolor=\"$scripts_color\""; $scripts_fc="$scripts_font"; $scripts_bold="$header_selected_bold";} + else {$scripts_hh=''; $scripts_fc='WHITE'; $scripts_bold="$header_nonselected_bold";} +if ($hh=='filters') + {$filters_hh="bgcolor=\"$filters_color\""; $filters_fc="$filters_font"; $filters_bold="$header_selected_bold";} + else {$filters_hh=''; $filters_fc='WHITE'; $filters_bold="$header_nonselected_bold";} +if ($hh=='admin') + {$admin_hh="bgcolor=\"$admin_color\""; $admin_fc="$admin_font"; $admin_bold="$header_selected_bold";} + else {$admin_hh=''; $admin_fc='WHITE'; $admin_bold="$header_nonselected_bold";} +if ($hh=='reports') + {$reports_hh="bgcolor=\"$reports_color\""; $reports_fc="$reports_font"; $reports_bold="$header_selected_bold";} + else {$reports_hh=''; $reports_fc='WHITE'; $reports_bold="$header_nonselected_bold";} + +echo "\n"; +echo " + + +\n"; +echo "
English Español
BGCOLOR=#D9E6FE cellpadding=2 cellspacing=0> + + + + + + + + + + + + + + + 1) { + ?> +> + 1) + { + +# if ($sh=='basic') {$basic_sh="bgcolor=\"$subcamp_color\""; $basic_fc="$subcamp_font";} +# else {$basic_sh=''; $basic_fc='BLACK';} +# if ($sh=='detail') {$detail_sh="bgcolor=\"$subcamp_color\""; $detail_fc="$subcamp_font";} +# else {$detail_sh=''; $detail_fc='BLACK';} +# if ($sh=='dialstat') {$dialstat_sh="bgcolor=\"$subcamp_color\""; $dialstat_fc="$subcamp_font";} +# else {$dialstat_sh=''; $dialstat_fc='BLACK';} + + if ($sh=='basic') {$sh='list';} + if ($sh=='detail') {$sh='list';} + if ($sh=='dialstat') {$sh='list';} + + if ($sh=='list') {$list_sh="bgcolor=\"$subcamp_color\""; $list_fc="$subcamp_font";} + else {$list_sh=''; $list_fc='BLACK';} + if ($sh=='status') {$status_sh="bgcolor=\"$subcamp_color\""; $status_fc="$subcamp_font";} + else {$status_sh=''; $status_fc='BLACK';} + if ($sh=='hotkey') {$hotkey_sh="bgcolor=\"$subcamp_color\""; $hotkey_fc="$subcamp_font";} + else {$hotkey_sh=''; $hotkey_fc='BLACK';} + if ($sh=='recycle') {$recycle_sh="bgcolor=\"$subcamp_color\""; $recycle_fc="$subcamp_font";} + else {$recycle_sh=''; $recycle_fc='BLACK';} + if ($sh=='autoalt') {$autoalt_sh="bgcolor=\"$subcamp_color\""; $autoalt_fc="$subcamp_font";} + else {$autoalt_sh=''; $autoalt_fc='BLACK';} + if ($sh=='pause') {$pause_sh="bgcolor=\"$subcamp_color\""; $pause_fc="$subcamp_font";} + else {$pause_sh=''; $pause_fc='BLACK';} + if ($sh=='listmix') {$listmix_sh="bgcolor=\"$subcamp_color\""; $listmix_fc="$subcamp_font";} + else {$listmix_sh=''; $listmix_fc='BLACK';} + + ?> +> + + + + + + + + + 1) { + ?> + > + 1) { + ?> +> + 1) { + ?> +> + 1) { + ?> +> + 1) { + ?> +> + 1) { + ?> +> + 1) { + ?> +> + 1) { + if ($sh=='times') {$times_sh="bgcolor=\"$times_color\""; $times_fc="$times_font";} # hard teal + else {$times_sh=''; $times_fc='BLACK';} + if ($sh=='phones') {$phones_sh="bgcolor=\"$server_color\""; $phones_fc="$phones_font";} # pink + else {$phones_sh=''; $phones_fc='BLACK';} + if ($sh=='server') {$server_sh="bgcolor=\"$server_color\""; $server_fc="$server_font";} # pink + else {$server_sh=''; $server_fc='BLACK';} + if ($sh=='conference') {$conference_sh="bgcolor=\"$server_color\""; $conference_fc="$server_font";} # pink + else {$conference_sh=''; $conference_fc='BLACK';} + if ($sh=='settings') {$settings_sh="bgcolor=\"$settings_color\""; $settings_fc="$settings_font";} # pink + else {$settings_sh=''; $settings_fc='BLACK';} + if ($sh=='status') {$status_sh="bgcolor=\"$status_color\""; $status_fc="$status_font";} # pink + else {$status_sh=''; $status_fc='BLACK';} + + ?> +> + + + + + + + + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + \n"; + echo "Le no autorizan a visión esta página. Vaya por favor detrás.\n"; + } + +} +if (strlen($reports_hh) > 1) { + ?> +> + + + + +
  VICIDIAL ADMIN - CASERO | Salir  
> SIZE=> Usuarios > SIZE=> Campañas > SIZE=> Listas > SIZE=> Escrituras > SIZE=> Filtros > SIZE=> En-Grupos > SIZE=> Grupos De Usuario > SIZE=> Agentes Alejados > SIZE=> Admin > SIZE=> Informes
>   > Demuestre A Usuarios     |     > Agregue A Nuevo Usuario     |     > Usuario Del Copy     |     > Búsqueda Para Un Usuario
COLSPAN=2> SIZE=>Campañas Principales COLSPAN=1> SIZE=> Statuses COLSPAN=1> SIZE=> HotKeys COLSPAN=2> SIZE=>El Plomo Recicla COLSPAN=1> SIZE=>Dial Automo'vil-Auto-Alt COLSPAN=1> SIZE=>Códigos De la Pausa COLSPAN=2> SIZE=>Mezcla De la Lista
>   > Demuestre Las Campañas     |     > Agregue Una Nueva Campaña     |     > Campaña Del Copy     |     > Campañas En tiempo real Sumarias
>   > Demuestre Las Listas     |     > Agregue Una Nueva Lista     |     > Búsqueda Para Un Plomo     |     > Agregue El Número a DNC     |     > Nuevos Plomos De la Carga
>   > Demuestre Las Escrituras     |     > Agregue Una Nueva Escritura
>   > Demuestre Los Filtros     |     > Agregue Un Filtro Nuevo
>   > Demuestre A En-Grupos     |     > Agregue A Nuevo En-Grupo     |     > En-Grupo Del Copy
>   > Demuestre A Grupos De Usuario     |     > Agregue A Nuevo Grupo De Usuario     |     > Informe Cada hora Del Grupo
>   > Demuestre Los Agentes Alejados     |     > Agregue Los Agentes Alejados Nuevos
COLSPAN=2> SIZE=> Tiempos De la Llamada COLSPAN=2> SIZE=> Teléfonos COLSPAN=2> SIZE=> Conferencias COLSPAN=1> SIZE=> Servidores COLSPAN=1> SIZE=> Ajustes Del Sistema COLSPAN=2> SIZE=>Estados De Sistema
>   > Demuestre Los Tiempos De la Llamada     |     > Agregue Un Nuevo Rato De la Llamada     |     > Demuestre Los Tiempos De la Llamada Del Estado     |     > Agregue Un Nuevo Rato De la Llamada Del Estado  
>   > Demuestre Los Teléfonos   |   > Agregue Un Teléfono Nuevo
> Demuestre Las Conferencias   |   > Agregue Una Nueva Conferencia   |   > Demuestre Las Conferencias de VICIDIAL   |   > Agregue Una Nueva Conferencia de VICIDIAL
> Demuestre Los Servidores   |   > Agregue Un Servidor Nuevo
> Ajustes Del Sistema
>Estados De Sistema   |   >Categorías Del Estado
>  
+
\n"; + echo ""; + + echo "
NUEVO USUARIO
\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$NWB#vicidial_users-user_group$NWE\n"; + echo "\n"; + echo "
NÚmero De Usuario: $NWB#vicidial_users-user$NWE
Contraseña: $NWB#vicidial_users-pass$NWE
Nombre Completo: $NWB#vicidial_users-full_name$NWE
Nivel Del Usuario: $NWB#vicidial_users-user_level$NWE
Grupo Del Usuario:
Conexión Del Teléfono: $NWB#vicidial_users-phone_login$NWE
Contraseña Del Teléfono: $NWB#vicidial_users-phone_pass$NWE
\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=1 display the COPY USER FORM SCREEN +###################### + +if ($ADD=="1A") +{ + if ($LOGmodify_users==1) + { + echo "
\n"; + echo ""; + + echo "
USUARIO DEL COPY\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + if ($LOGuser_level==9) {$levelMAX=10;} + else {$levelMAX=$LOGuser_level;} + + echo "\n"; + echo "\n"; + echo "
NÚmero De Usuario: $NWB#vicidial_users-user$NWE
Contraseña: $NWB#vicidial_users-pass$NWE
Nombre Completo: $NWB#vicidial_users-full_name$NWE
Source User: $NWB#vicidial_users-user$NWE
\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=11 display the ADD NEW CAMPAIGN FORM SCREEN +###################### + +if ($ADD==11) +{ + if ($LOGmodify_campaigns==1) + { + echo "
\n"; + echo ""; + + echo "
NUEVA CAMPAÑA\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID De la Campaña: $NWB#vicidial_campaigns-campaign_id$NWE
Nombre de la Campaña: $NWB#vicidial_campaigns-campaign_name$NWE
Descripción De la Campaña: $NWB#vicidial_campaigns-campaign_description$NWE
Activo: $NWB#vicidial_campaigns-active$NWE
Extensión del parking: $NWB#vicidial_campaigns-park_ext$NWE
Nombre de fichero Del Parking: $NWB#vicidial_campaigns-park_file_name$NWE
Formulario Web: $NWB#vicidial_campaigns-web_form_address$NWE
Permitir Closers: $NWB#vicidial_campaigns-allow_closers$NWE
Nivel Del Hopper: $NWB#vicidial_campaigns-hopper_level$NWE
Nivel del Auto-Dial: (0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE
Llamar al Siguiente Agente: $NWB#vicidial_campaigns-next_agent_call$NWE
Franja horaria de llamada: $NWB#vicidial_campaigns-local_call_time$NWE
Buzón de Voz: $NWB#vicidial_campaigns-voicemail_ext$NWE
Escritura: $NWB#vicidial_campaigns-campaign_script$NWE
Consiga El Lanzamiento De la Llamada: $NWB#vicidial_campaigns-get_call_launch$NWE
\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=12 display the COPY CAMPAIGN FORM SCREEN +###################### + +if ($ADD==12) +{ + if ($LOGmodify_campaigns==1) + { + echo "
\n"; + echo ""; + + echo "
Copy Una CAMPAÑA\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
ID De la Campaña: $NWB#vicidial_campaigns-campaign_id$NWE
Nombre de la Campaña: $NWB#vicidial_campaigns-campaign_name$NWE
Campaña De la Fuente:$NWB#vicidial_campaigns-campaign_id$NWE
\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=111 display the ADD NEW LIST FORM SCREEN +###################### + +if ($ADD==111) +{ + if ($LOGmodify_lists==1) + { + echo "
\n"; + echo ""; + + echo "
ADD A NEW LIST\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID De la Lista: (Solamente dígitos)$NWB#vicidial_lists-list_id$NWE
Nombre De la Lista: $NWB#vicidial_lists-list_name$NWE
Descripción De la Lista: $NWB#vicidial_lists-list_description$NWE
Campaña: $NWB#vicidial_lists-campaign_id$NWE
Activo: $NWB#vicidial_lists-active$NWE
\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=121 display the ADD NUMBER TO DNC FORM SCREEN and add a new number +###################### + +if ($ADD==121) +{ +echo "
\n"; +echo ""; + +if (strlen($phone_number) > 2) + { + $stmt="SELECT count(*) from vicidial_dnc where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
DNC NO AGREGADO - este número de teléfono está en no llama ya lalista: $phone_number

\n";} + else + { + $stmt="INSERT INTO vicidial_dnc (phone_number) values('$phone_number');"; + $rslt=mysql_query($stmt, $link); + + echo "
DNC AGREGADO: $phone_number

\n"; + + ### LOG INSERTION TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW DNC NUMBER|$PHP_AUTH_USER|$ip|'$phone_number'|\n"); + fclose($fp); + } + } + } + +echo "
AGREGUE Un NÚMERO A la LISTA De DNC\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "
Número De Teléfono: (Solamente dígitos)$NWB#vicidial_list-dnc$NWE
\n"; + +} + + +###################### +# ADD=1111 display the ADD NEW INBOUND GROUP SCREEN +###################### + +if ($ADD==1111) +{ + if ($LOGmodify_ingroups==1) + { + echo "
\n"; + echo ""; + + echo "
NUEVO GRUPO DE ENTRADA\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID De Grupo: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
Nombre De Grupo: $NWB#vicidial_inbound_groups-group_name$NWE
Color Del Grupo: $NWB#vicidial_inbound_groups-group_color$NWE
Activo: $NWB#vicidial_inbound_groups-active$NWE
Formulario Web: $NWB#vicidial_inbound_groups-web_form_address$NWE
Buzón de Voz: $NWB#vicidial_inbound_groups-voicemail_ext$NWE
Llamar al Siguiente Agente: $NWB#vicidial_inbound_groups-next_agent_call$NWE
Mostrar Fronter: $NWB#vicidial_inbound_groups-fronter_display$NWE
Escritura: $NWB#vicidial_inbound_groups-ingroup_script$NWE
Consiga El Lanzamiento De la Llamada: $NWB#vicidial_inbound_groups-get_call_launch$NWE
\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=1211 display the COPY INBOUND GROUP SCREEN +###################### + +if ($ADD==1211) +{ + if ($LOGmodify_ingroups==1) + { + echo "
\n"; + echo ""; + + echo "
GRUPO DE ENTRADA DEL COPY\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
ID De Grupo: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
Nombre De Grupo: $NWB#vicidial_inbound_groups-group_name$NWE
Source ID De Grupo: $NWB#vicidial_inbound_groups-group_id$NWE
\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=11111 display the ADD NEW REMOTE AGENTS SCREEN +###################### + +if ($ADD==11111) +{ + if ($LOGmodify_remoteagents==1) + { + echo "
\n"; + echo ""; + + echo "
NUEVO AGENTE REMOTO\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Comienzo Del ID del usuario: (Solamente números, incremented)$NWB#vicidial_remote_agents-user_start$NWE
Número de líneas: (Solamente números)$NWB#vicidial_remote_agents-number_of_lines$NWE
IP Del Servidor: $NWB#vicidial_remote_agents-server_ip$NWE
Extensión Externa: (número del dial plan para alcanzar agentes)$NWB#vicidial_remote_agents-conf_exten$NWE
Estado: $NWB#vicidial_remote_agents-status$NWE
Campaña: $NWB#vicidial_remote_agents-campaign_id$NWE
Grupos De entrada: \n"; + echo "$groups_list"; + echo "$NWB#vicidial_remote_agents-closer_campaigns$NWE
\n"; + echo "NOTA: Puede tomar hasta 30 segundos para los cambios sometidos en esta pantalla para ir viva\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=111111 display the ADD NEW USERS GROUP SCREEN +###################### + +if ($ADD==111111) +{ + if ($LOGmodify_usergroups==1) + { + echo "
\n"; + echo ""; + + echo "
NUEVO GRUPO DE USUARIOS\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Grupo: (sin espacios o signos de puntuación)$NWB#vicidial_user_groups-user_group$NWE
Descripción: (Descripción del grupo)$NWB#vicidial_user_groups-group_name$NWE
\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=1111111 display the ADD NEW SCRIPT SCREEN +###################### + +if ($ADD==1111111) +{ + if ($LOGmodify_scripts==1) + { + echo "
\n"; + echo ""; + + echo "
ADD NEW SCRIPT\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Identificación De la Escritura:: (sin espacios o signos de puntuación)$NWB#vicidial_scripts-script_id$NWE
Nombre de la escritura: (título de la escritura)$NWB#vicidial_scripts-script_name$NWE
Comentarios de la escritura: $NWB#vicidial_scripts-script_comments$NWE
Activo: $NWB#vicidial_scripts-active$NWE
Texto de la escritura: "; + # BEGIN Insert Field + echo ""; + echo "
"; + # END Insert Field + echo " $NWB#vicidial_scripts-script_text$NWE
\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=11111111 display the ADD NEW FILTER SCREEN +###################### + +if ($ADD==11111111) +{ + if ($LOGmodify_filters==1) + { + echo "
\n"; + echo ""; + + echo "
AGREGUE EL FILTRO NUEVO\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Identificación Del Filtro: (sin espacios o signos de puntuación)$NWB#vicidial_lead_filters-lead_filter_id$NWE
Nombre Del Filtro: (descripción corta del filtro)$NWB#vicidial_lead_filters-lead_filter_name$NWE
Comentarios Del Filtro: $NWB#vicidial_lead_filters-lead_filter_comments$NWE
Filtro Sql: $NWB#vicidial_lead_filters-lead_filter_sql$NWE
\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=111111111 display the ADD NEW CALL TIME SCREEN +###################### + +if ($ADD==111111111) +{ + if ($LOGmodify_call_times==1) + { + echo "
\n"; + echo ""; + + echo "
AGREGUE EL NUEVO TIEMPO DE LA LLAMADA\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "
Identificación Del Tiempo De la Llamada: (sin espacios o signos de puntuación)$NWB#vicidial_call_times-call_time_id$NWE
Nombre Del Tiempo De la Llamada: (descripción corta del tiempo de la llamada)$NWB#vicidial_call_times-call_time_name$NWE
Comentarios Del Tiempo De la Llamada: $NWB#vicidial_call_times-call_time_comments$NWE
Las opciones del día y del tiempo aparecerán una vez que usted hayacreado la definición del tiempo de la llamada
\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=1111111111 display the ADD NEW STATE CALL TIME SCREEN +###################### + +if ($ADD==1111111111) +{ + if ($LOGmodify_call_times==1) + { + echo "
\n"; + echo ""; + + echo "
AGREGUE EL NUEVO TIEMPO DE LA LLAMADA DEL ESTADO\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "
Identificación Del Tiempo De la Llamada Del Estado: (sin espacios o signos de puntuación)$NWB#vicidial_call_times-call_time_id$NWE
State Call Time State: (sin espacios o signos de puntuación)$NWB#vicidial_call_times-state_call_time_state$NWE
_ Estado Llamar Tiempo Nombre: (descripción corta del tiempo de la llamada)$NWB#vicidial_call_times-call_time_name$NWE
Comentarios Del Tiempo De la Llamada Del Estado: $NWB#vicidial_call_times-call_time_comments$NWE
Las opciones del día y del tiempo aparecerán una vez que usted hayacreado la definición del tiempo de la llamada
\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=11111111111 display the ADD NEW PHONE SCREEN +###################### + +if ($ADD==11111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + echo "
AGREGUE Un TELÉFONO NUEVO\n"; + echo "\n"; + echo "
\n"; + + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Extensión del teléfono: $NWB#phones-extension$NWE
Número De Dial plan: (Solamente dígitos)$NWB#phones-dialplan_number$NWE
Buzón de voz: (Solamente dígitos)$NWB#phones-voicemail_id$NWE
CallerID De salida: (Solamente dígitos)$NWB#phones-outbound_cid$NWE
Dirección IP del teléfono: (optional)$NWB#phones-phone_ip$NWE
Dirección IP del ordenador: (optional)$NWB#phones-computer_ip$NWE
IP Del Servidor: $NWB#phones-server_ip$NWE
Login: $NWB#phones-login$NWE
Contraseña: $NWB#phones-pass$NWE
Estado: $NWB#phones-status$NWE
Cuenta Activa: $NWB#phones-active$NWE
Tipo Del Teléfono: $NWB#phones-phone_type$NWE
Nombre Completo: $NWB#phones-fullname$NWE
Compañía: $NWB#phones-company$NWE
Foto: $NWB#phones-picture$NWE
Protocolo Del Cliente: $NWB#phones-protocol$NWE
GMT Local: (No ajustar para el DST)$NWB#phones-local_gmt$NWE
\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=111111111111 display the ADD NEW SERVER SCREEN +###################### + +if ($ADD==111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + echo "
AGREGAR Un SERVIDOR NUEVO\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID Del Servidor: $NWB#servers-server_id$NWE
Descripción Del Servidor: $NWB#servers-server_description$NWE
Dirección IP del Servidor: $NWB#servers-server_ip$NWE
Activo: $NWB#servers-active$NWE
Versión De Asterisk: $NWB#servers-asterisk_version$NWE
\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=1111111111111 display the ADD NEW CONFERENCE SCREEN +###################### + +if ($ADD==1111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + echo "
AGREGUE Una NUEVA CONFERENCIA\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Número de la Conferencia: (Solamente dígitos)$NWB#conferences-conf_exten$NWE
IP Del Servidor: $NWB#conferences-server_ip$NWE
\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=11111111111111 display the ADD NEW VICIDIAL CONFERENCE SCREEN +###################### + +if ($ADD==11111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + echo "
ADD A NEW VICIDIAL CONFERENCE\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Número de la Conferencia: (Solamente dígitos)$NWB#conferences-conf_exten$NWE
IP Del Servidor: $NWB#conferences-server_ip$NWE
\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + + +###################################################################################################### +###################################################################################################### +####### 2 series, validates form data and inserts the new record into the database +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=2 adds the new user to the system +###################### + +if ($ADD=="2") +{ + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
USUARIO NO AGREGADO - hay ya un usuario en el sistema con este número del usuario\n";} + else + { + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 8) ) + { + echo "
USUARIO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
la ID del usuario debe estar entre 2 y 8 caracteres de largo\n"; + echo "
el nombre completo y la contraseña deben ser por lo menos 2 caracteres de largo\n"; + } + else + { + echo "
EL USUARIOAÑADIDO: $user\n"; + + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass) values('$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A USER |$PHP_AUTH_USER|$ip|'$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass'|\n"); + fclose($fp); + } + } + } + +$ADD=3; +} + +###################### +# ADD=2A adds the copied new user to the system +###################### + +if ($ADD=="2A") +{ + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
USUARIO NO AGREGADO - hay ya un usuario en el sistema con este número del usuario\n";} + else + { + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 8) ) + { + echo "
USUARIO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
la ID del usuario debe estar entre 2 y 8 caracteres de largo\n"; + echo "
el nombre completo y la contraseña deben ser por lo menos 2 caracteres de largo\n"; + } + else + { + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override from vicidial_users where user=\"$source_user_id\";"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today) SELECT \"$user\",group_id,group_rank,group_weight,\"0\" from vicidial_inbound_group_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) SELECT \"$user\",campaign_id,campaign_rank,campaign_weight,\"0\" from vicidial_campaign_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); + + echo "
USER COPIED: $user copied from $source_user_id\n"; + echo "

\n"; + echo "Click here to go to the user record\n"; + echo "

\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A COPIED USER |$PHP_AUTH_USER|$ip|$user|$source_user_id|$stmt|\n"); + fclose($fp); + } + } + } +exit; +} + +###################### +# ADD=21 adds the new campaign to the system +###################### + +if ($ADD==21) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CAMPAÚA NO AGREGADA - hay ya una campaña en el sistema con esta identificación\n";} + else + { + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($campaign_name) > 40) ) + { + echo "
CAMPAÚA NO AGREGADA - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
la ID de la campaña debe estar entre 2 y 8 caracteres en longitud\n"; + echo "
el nombre de la campaña debe estar entre 6 y 40 caracteres en longitud\n"; + } + else + { + echo "
CAMPAÑA AÑADIDA: $campaign_id\n"; + + $stmt="INSERT INTO vicidial_campaigns (campaign_id,campaign_name,campaign_description,active,dial_status_a,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,campaign_script,get_call_launch,campaign_changedate,campaign_stats_refresh,list_order_mix) values('$campaign_id','$campaign_name','$campaign_description','$active','NEW','DOWN','$park_ext','$park_file_name','" . mysql_real_escape_string($web_form_address) . "','$allow_closers','$hopper_level','$auto_dial_level','$next_agent_call','$local_call_time','$voicemail_ext','$script_id','$get_call_launch','$SQLdate','Y','DISABLED');"; + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmt, $link); + + echo ""; + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|NUEVA CAMPAÑA |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + } + } + } +$ADD=31; +} + +###################### +# ADD=20 adds copied new campaign to the system +###################### + +if ($ADD==20) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CAMPAÚA NO AGREGADA - hay ya una campaña en el sistema con esta identificación\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 2) or (strlen($source_campaign_id) < 2) or (strlen($source_campaign_id) > 8) ) + { + echo "
CAMPAÚA NO AGREGADA - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
la ID de la campaña debe estar entre 2 y 8 caracteres en longitud\n"; + echo "
source la ID de la campaña debe estar entre 2 y 8 caracteres en longitud\n"; + } + else + { + echo "
CAMPAIGN COPIED: $campaign_id copied from $source_campaign_id\n"; + + $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,safe_harbor_message,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,safe_harbor_message,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group from vicidial_campaigns where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category) SELECT status,status_name,selectable,\"$campaign_id\",human_answered,category from vicidial_campaign_statuses where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_hotkeys (status,hotkey,status_name,selectable,campaign_id) SELECT status,hotkey,status_name,selectable,\"$campaign_id\" from vicidial_campaign_hotkeys where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_lead_recycle (status,attempt_delay,attempt_maximum,active,campaign_id) SELECT status,attempt_delay,attempt_maximum,active,\"$campaign_id\" from vicidial_lead_recycle where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_pause_codes (pause_code,pause_code_name,billable,campaign_id) SELECT pause_code,pause_code_name,billable,\"$campaign_id\" from vicidial_pause_codes where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + echo ""; + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|COPY TO NEW CAMPAIGN|$PHP_AUTH_USER|$ip|$campaign_id|$source_campaign_id|$stmt|$stmtA|\n"); + fclose($fp); + } + + } + } +$ADD=31; +} + +###################### +# ADD=22 adds the new campaign status to the system +###################### + +if ($ADD==22) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ESTADO de la CAMPAÚA - hay ya una campaña - estado NO AGREGADO en el sistema con este nombre\n";} + else + { + $stmt="SELECT count(*) from vicidial_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ESTADO de la CAMPAÚA NO AGREGADO - hay ya un global-estado en el sistema con este nombre\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($status_name) < 2) ) + { + echo "
ESTADO de la CAMPAÚA NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
el estado debe estar entre 1 y 8 caracteres en longitud\n"; + echo "
el nombre del estado debe estar entre 2 y 30 caracteres en longitud\n"; + } + else + { + echo "
ESTADO DE LA CAMPAÑA AÑADIDA: $campaign_id - $status\n"; + + $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category) values('$status','$status_name','$selectable','$campaign_id','$human_answered','$category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|NUEVA CAMPAÑA STATUS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$SUB=22; +$ADD=31; +} + + +###################### +# ADD=23 adds the new campaign hotkey to the system +###################### + +if ($ADD==23) +{ + $HKstatus_data = explode('-----',$HKstatus); + $status = $HKstatus_data[0]; + $status_name = $HKstatus_data[1]; + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_hotkeys where campaign_id='$campaign_id' and hotkey='$hotkey' and hotkey='$hotkey';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CAMPAIGN HOT KEY NOT ADDED - there is already a campaign-hotkey in the system with this hotkey\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) + { + echo "
CAMPAÚA HOT KEY NO AGREGADA - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
hotkey must be a single character between 1 and 9 \n"; + echo "
el estado debe estar entre 1 y 8 caracteres en longitud\n"; + } + else + { + echo "
ACCESO DIRECTO A LA CAMPAÑA AÑADIDO: $campaign_id - $status - $hotkey\n"; + + $stmt="INSERT INTO vicidial_campaign_hotkeys values('$status','$hotkey','$status_name','$selectable','$campaign_id');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|NUEVA CAMPAÑA HOT KEY |$PHP_AUTH_USER|$ip|'$status','$hotkey','$status_name','$selectable','$campaign_id'|\n"); + fclose($fp); + } + } + } +$SUB=23; +$ADD=31; +} + + +###################### +# ADD=25 adds the new campaign lead recycle entry to the system +###################### + +if ($ADD==25) +{ + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
El PLOMO de la CAMPAÑA RECICLA NO AGREGADO - hay ya unconducir-reciclaje para esta campaña con este estado\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) + { + echo "
CAMPAIGN LEAD RECYCLE NOT ADDED - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
el estado debe estar entre 1 y 6 caracteres en longitud\n"; + echo "
la tentativa retrasa debe ser por lo menos 120 segundos\n"; + echo "
las tentativas máximas deben ser a partir la 1 a 10\n"; + } + else + { + echo "
EL PLOMO DE LA CAMPAÑA RECICLA AGREGADO: $campaign_id - $status - $attempt_delay\n"; + + $stmt="INSERT INTO vicidial_lead_recycle(campaign_id,status,attempt_delay,attempt_maximum,active) values('$campaign_id','$status','$attempt_delay','$attempt_maximum','$active');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW LEAD RECYCLE |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$SUB=25; +$ADD=31; +} + + +###################### +# ADD=26 adds the new auto alt dial status to the campaign +###################### + +if ($ADD==26) +{ + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ESTADO AUTO DEL DIAL DEL ALT NO AGREGADO - hay ya una entrada para esta campaña con este estado\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
ESTADO AUTO DEL DIAL DEL ALT NO AGREGADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
el estado debe estar entre 1 y 6 caracteres en longitud\n"; + } + else + { + echo "
ESTADO AUTO DEL DIAL DEL ALT AGREGADO: $campaign_id - $status\n"; + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if (strlen($row[0])<2) {$row[0] = ' -';} + $auto_alt_dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A AUTO-ALT-DIAL STATUS|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$SUB=26; +$ADD=31; +} + + +###################### +# ADD=27 adds the new campaign agent pause code entry to the system +###################### + +if ($ADD==27) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CÓDIGO DE LA PAUSA DEL AGENTE NO AGREGADO - hay ya una entrada para esta campaña con este code\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) + { + echo "
CÓDIGO DE LA PAUSA DEL AGENTE NO AGREGADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
pause code must be between 1 and 6 characters in length\n"; + echo "
pause code name must be between 2 and 30 characters in length\n"; + } + else + { + echo "
EL CÓDIGO DE LA PAUSA DEL AGENTE AGREGÓ: $campaign_id - $pause_code - $pause_code_name\n"; + + $stmt="INSERT INTO vicidial_pause_codes(campaign_id,pause_code,pause_code_name,billable) values('$campaign_id','$pause_code','$pause_code_name','$billable');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW AGENTE PAUSE CODE|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$SUB=27; +$ADD=31; +} + + +###################### +# ADD=28 adds new status to the campaign dial statuses +###################### + +if ($ADD==28) +{ + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ESTADO DEL DIAL DE LA CAMPAÑA NO AGREGADO - hay ya una entrada para esta campaña con este estado\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
ESTADO DEL DIAL DE LA CAMPAÑA NO AGREGADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
el estado debe estar entre 1 y 6 caracteres en longitud\n"; + } + else + { + echo "
EL ESTADO DEL DIAL DE LA CAMPAÑA AGREGÓ: $campaign_id - $status\n"; + + $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if (strlen($row[0])<2) {$row[0] = ' -';} + $dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|NUEVA CAMPAÑA DIAL STATUS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +#$SUB=28; +$ADD=31; +} + + +###################### +# ADD=211 adds the new list to the system +###################### + +if ($ADD==211) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
LISTA NO AGREGADA - hay ya una lista en el sistema con esta ID\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($list_name) < 2) or ($list_id < 100) or (strlen($list_id) > 8) ) + { + echo "
LISTA NO AGREGADA - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
La ID de la lista debe estar entre 2 y 8 caracteres en longitud\n"; + echo "
El nombre de la lista debe ser por lo menos 2 caracteres en longitud\n"; + echo "
ID De la Lista must be greater than 100\n"; + } + else + { + echo "
LISTA AÑADIDA: $list_id\n"; + + $stmt="INSERT INTO vicidial_lists (list_id,list_name,campaign_id,active,list_description,list_changedate) values('$list_id','$list_name','$campaign_id','$active','$list_description','$SQLdate');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW LIST |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=311; +} + + + +###################### +# ADD=2111 adds the new inbound group to the system +###################### + +if ($ADD==2111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
GRUPO NO AGREGADO - hay ya un grupo en el sistema con esta ID\n";} + else + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
GRUPO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
La ID de grupo debe estar entre 2 y 20 caracteres en longitud y contener no ' -+'.\n"; + echo "
El color del nombre de grupo y del grupo debe ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','$get_call_launch');"; + $rslt=mysql_query($stmt, $link); + + echo "
GRUPO AÑADIDO: $group_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW GROUP |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$ADD=3111; +} + + +###################### +# ADD=2011 adds copied inbound group to the system +###################### + +if ($ADD==2011) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
GRUPO NO AGREGADO - hay ya un grupo en el sistema con esta ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
GRUPO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
La ID de grupo debe estar entre 2 y 20 caracteres en longitud y contener no ' -+'.\n"; + echo "
El color del nombre de grupo y del grupo debe ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_message,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_message,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group from vicidial_inbound_groups where group_id=\"$source_group_id\";"; + $rslt=mysql_query($stmt, $link); + + echo "
GRUPO AÑADIDO: $group_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|COPIED TO NEW GROUP |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=3111; +} + + +###################### +# ADD=21111 adds new remote agents to the system +###################### + +if ($ADD==21111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_remote_agents where server_ip='$server_ip' and user_start='$user_start';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
AGENTES ALEJADOS NO AGREGADOS - hay ya una entrada alejada de los agentes comenzando con esta ID del usuario\n";} + else + { + if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) + { + echo "
AGENTES ALEJADOS NO AGREGADOS - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
El comienzo de la ID del usuario y la extensión externa deben ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_remote_agents values('','$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value');"; + $rslt=mysql_query($stmt, $link); + + echo "
AGENTES REMOTO AÑADIDO: $user_start\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW AGENTES REMOTOS ENTRY |$PHP_AUTH_USER|$ip|'$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value'|\n"); + fclose($fp); + } + } + } +$ADD=10000; +} + +###################### +# ADD=211111 adds new user group to the system +###################### + +if ($ADD==211111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
GRUPO de USUARIO NO AGREGADO - hay ya una entrada del grupo de usuario con este nombre\n";} + else + { + if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) + { + echo "
GRUPO de USUARIO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
El nombre y la descripción de grupo deben ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_user_groups(user_group,group_name,allowed_campaigns) values('$user_group','$group_name','-ALL-CAMPAIGNS-');"; + $rslt=mysql_query($stmt, $link); + + echo "
GRUPO DE USUARIO AÑADIDO: $user_group\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|NUEVO USUARIO GROUP ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=100000; +} + +###################### +# ADD=2111111 adds new script to the system +###################### + +if ($ADD==2111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_scripts where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ESCRITURA NO AGREGADA - hay ya una entrada de la escritura con este nombre\n";} + else + { + if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + { + echo "
ESCRITURA NO AGREGADA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
El nombre, la descripción y el texto de la escritura deben ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_scripts values('$script_id','$script_name','$script_comments','$script_text','$active');"; + $rslt=mysql_query($stmt, $link); + + echo "
ESCRITURA AGREGADA: $script_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW SCRIPT ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=1000000; +} + + +###################### +# ADD=21111111 adds new filter to the system +###################### + +if ($ADD==21111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
FILTRO NO AGREGADO - hay ya una entrada del filtro con esta identificación\n";} + else + { + if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + { + echo "
FILTRO NO AGREGADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Filtre la identificación, nombre y el SQL debe ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_lead_filters SET lead_filter_id='$lead_filter_id',lead_filter_name='$lead_filter_name',lead_filter_comments='$lead_filter_comments',lead_filter_sql='$lead_filter_sql';"; + $rslt=mysql_query($stmt, $link); + + echo "
EL FILTRO AGREGÓ: $lead_filter_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW FILTER ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=10000000; +} + + +###################### +# ADD=211111111 adds new call time definition to the system +###################### + +if ($ADD==211111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
DEFINICIÓN DEL TIEMPO DE LA LLAMADA NO AGREGADA - hay ya una entrada de tiempo de la llamada con esta identificación\n";} + else + { + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) + { + echo "
DEFINICIÓN DEL TIEMPO DE LA LLAMADA NO AGREGADA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
La identificación del tiempo de la llamada y el nombre deben ser porlo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_call_times SET call_time_id='$call_time_id',call_time_name='$call_time_name',call_time_comments='$call_time_comments';"; + $rslt=mysql_query($stmt, $link); + + echo "
TIEMPO DE LA LLAMADA AGREGADO: $call_time_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW CALL TIME ENTRY |$stmt|\n"); + fclose($fp); + } + } + } +$ADD=311111111; +} + + +###################### +# ADD=2111111111 adds new state call time definition to the system +###################### + +if ($ADD==2111111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_state_call_times where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
DEFINICIÓN DEL TIEMPO DE LA LLAMADA DEL ESTADO NO AGREGADA - hay ya una entrada de tiempo de la llamada con esta identificación\n";} + else + { + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) + { + echo "
DEFINICIÓN DEL TIEMPO DE LA LLAMADA DEL ESTADO NO AGREGADA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Indique que identificación del tiempo de la llamada, nombre y estadodebe ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_state_call_times SET state_call_time_id='$call_time_id',state_call_time_name='$call_time_name',state_call_time_comments='$call_time_comments',state_call_time_state='$state_call_time_state';"; + $rslt=mysql_query($stmt, $link); + + echo "
TIEMPO DE LA LLAMADA DEL ESTADO AGREGADO: $call_time_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW STATE CALL TIME ENTRY|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=3111111111; +} + + +###################### +# ADD=21111111111 adds new phone to the system +###################### + +if ($ADD==21111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
TELÉFONO NO AGREGADO - hay ya un teléfono en el sistema con esta extensión/servidor\n";} + else + { + if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) + {echo "
TELÉFONO NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
EL TELÉFONO AGREGÚ\n"; + + $stmt="INSERT INTO phones (extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,protocol,local_gmt,outbound_cid) values('$extension','$dialplan_number','$voicemail_id','$phone_ip','$computer_ip','$server_ip','$login','$pass','$status','$active','$phone_type','$fullname','$company','$picture','$protocol','$local_gmt','$outbound_cid');"; + $rslt=mysql_query($stmt, $link); + } + } +$ADD=31111111111; +} + + +###################### +# ADD=211111111111 adds new server to the system +###################### + +if ($ADD==211111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from servers where server_id='$server_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
SERVIDOR NO AGREGADO - hay ya un servidor en el sistema con esta identificación\n";} + else + { + if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) + {echo "
SERVIDOR NO AGREGADO - vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
SERVIDOR AGREGADO\n"; + + $stmt="INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version) values('$server_id','$server_description','$server_ip','$active','$asterisk_version');"; + $rslt=mysql_query($stmt, $link); + } + } +$ADD=311111111111; +} + + +###################### +# ADD=221111111111 adds the new vicidial server trunk record to the system +###################### + +if ($ADD==221111111111) +{ + echo ""; + $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $MAXvicidial_trunks = $rowx[0]; + + $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); + + if ($SUMvicidial_trunks > $MAXvicidial_trunks) + { + echo "
EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO AGREGADO - el número de troncos vicidial es demasiado alto: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + } + else + { + $stmt="SELECT count(*) from vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO AGREGADO - hay ya un expediente del servidor-tronco para esta campaña\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) + { + echo "
EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO AGREGADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
la campaña debe estar entre 3 y 8 caracteres en longitud\n"; + echo "
el server_ip retrasa debe ser por lo menos 7 caracteres\n"; + echo "
los troncos deben ser un dígito a partir de la 0 a 9999\n"; + } + else + { + echo "
EL EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL AGREGÓ: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; + + $stmt="INSERT INTO vicidial_server_trunks(server_ip,campaign_id,dedicated_trunks,trunk_restriction) values('$server_ip','$campaign_id','$dedicated_trunks','$trunk_restriction');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW VICIDIAL TRUNK |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$ADD=311111111111; +} + + +###################### +# ADD=2111111111111 adds new conference to the system +###################### + +if ($ADD==2111111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CONFERENCIA NO AGREGADA - hay ya una conferencia en el sistema con esta identificación y servidor\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
CONFERENCIA NO AGREGADA - vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
LA CONFERENCIA AGREGÚ\n"; + + $stmt="INSERT INTO conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } + } +$ADD=3111111111111; +} + + +###################### +# ADD=21111111111111 adds new vicidial conference to the system +###################### + +if ($ADD==21111111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
VICIDIAL CONFERENCE NOT ADDED - there is already a vicidial conference in the system with this ID and server\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
VICIDIAL CONFERENCIA NO AGREGADA - vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
VICIDIAL LA CONFERENCIA AGREGÚ\n"; + + $stmt="INSERT INTO vicidial_conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } + } +$ADD=31111111111111; +} + + +###################### +# ADD=221111111111111 adds the new system status to the system +###################### + +if ($ADD==221111111111111) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ESTADO DE SISTEMA NO AGREGADO - there is already a campaign-status in the system with this name: $row[0]\n";} + else + { + $stmt="SELECT count(*) from vicidial_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ESTADO DE SISTEMA NO AGREGADO - there is already a global-status in the system with this name\n";} + else + { + if ( (strlen($status) < 1) or (strlen($status_name) < 2) ) + { + echo "
ESTADO DE SISTEMA NO AGREGADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
el estado debe estar entre 1 y 8 caracteres en longitud\n"; + echo "
el nombre del estado debe estar entre 2 y 30 caracteres en longitud\n"; + } + else + { + echo "
EL ESTADO DE SISTEMA AGREGÓ: $status_name - $status\n"; + + $stmt="INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category) values('$status','$status_name','$selectable','$human_answered','$category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW SYSTEM STATUS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$ADD=321111111111111; +} + + +###################### +# ADD=231111111111111 adds the new status category to the system +###################### + +if ($ADD==231111111111111) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_status_categories where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CATEGORÍA DEL ESTADO NO AGREGADA - hay ya una categoría del estado en el sistema con estaidentificación: $row[0]\n";} + else + { + if ( (strlen($vsc_id) < 2) or (strlen($vsc_id) > 20) or (strlen($vsc_name) < 2) ) + { + echo "
CATEGORÍA DEL ESTADO NO AGREGADA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
La identificación debe estar entre 2 y 20 caracteres en longitud\n"; + echo "
el nombre conocido debe estar entre 2 y 50 caracteres en longitud\n"; + } + else + { + echo "
STATUS CATEGORY ADDED: $vsc_id - $vsc_name\n"; + + $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + { + $tovdad_display = 'N'; + echo "
ERROR: Hay ya sistema de 4 categorías del estado a la exhibición deTimeOnVDAD\n"; + } + + $stmt="INSERT INTO vicidial_status_categories (vsc_id,vsc_name,vsc_description,tovdad_display) values('$vsc_id','$vsc_name','$vsc_description','$tovdad_display');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW STATUS CATEGORY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=331111111111111; +} + + + +###################################################################################################### +###################################################################################################### +####### 4 series, record modifications submitted and DB is modified, then on to 3 series forms below +###################################################################################################### +###################################################################################################### + + + +###################### +# ADD=4A submit user modifications to the system - ADMIN +###################### + +if ($ADD=="4A") +{ + if ($LOGmodify_users==1) + { + echo ""; + + if ( (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_level) < 1) ) + { + echo "
USUARIO NO MODIFICADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
La contraseña y el nombre completo cada ot de la necesidad sean por lo menos 2 caracteres en longitud\n"; + } + else + { + echo "
USUARIO MODIFICADO - ADMIN: $user\n"; + + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override' where user='$user';"; + $rslt=mysql_query($stmt, $link); + + + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY USER INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=3; # go to user modification below +} + + +###################### +# ADD=4B submit user modifications to the system - ADMIN +###################### + +if ($ADD=="4B") +{ + if ($LOGmodify_users==1) + { + echo ""; + + if ( (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_level) < 1) ) + { + echo "
USUARIO NO MODIFICADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
La contraseña y el nombre completo cada ot de la necesidad sean por lo menos 2 caracteres en longitud\n"; + } + else + { + echo "
USUARIO MODIFICADO - ADMIN: $user\n"; + + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',hotkeys_active='$hotkeys_active',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',closer_default_blended='$closer_default_blended',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override' where user='$user';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY USER INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=3; # go to user modification below +} + + + +###################### +# ADD=4 submit user modifications to the system +###################### + +if ($ADD==4) +{ + if ($LOGmodify_users==1) + { + echo ""; + + if ( (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_level) < 1) ) + { + echo "
USUARIO NO MODIFICADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
La contraseña y el nombre completo cada ot de la necesidad sean por lo menos 2 caracteres en longitud\n"; + } + else + { + echo "
USUARIO MODIFICADO: $user\n"; + + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass' where user='$user';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY USER INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=3; # go to user modification below +} + +###################### +# ADD=41 submit campaign modifications to the system +###################### + +if ($ADD==41) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_name) < 6) or (strlen($active) < 1) ) + { + echo "
CAMPAÚA NO MODIFICADA - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
el nombre de la campaña necesita ser por lo menos 6 caracteres en longitud\n"; + echo "
|$campaign_name|$active|\n"; + } + else + { + echo "
CAMPAÑA MODIFICADA: $campaign_id\n"; + + if ($dial_method == 'MANUAL') + { + $auto_dial_level='0'; + $adlSQL = "auto_dial_level='0',"; + } + else + { + if ($dial_level_override > 0) + { + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + else + { + if ($dial_method == 'RATIO') + { + if ($auto_dial_level < 1) {$auto_dial_level = "1.0";} + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + else + { + $adlSQL = ""; + if ($auto_dial_level < 1) + { + $auto_dial_level = "1.0"; + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + } + } + } + if ( (!ereg("DISABLED",$list_order_mix)) and ($hopper_level < 100) ) + {$hopper_level='100';} + + $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',safe_harbor_message='$safe_harbor_message',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns='$groups_value',use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_refresh='$campaign_stats_refresh',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + if ($reset_hopper == 'Y') + { + echo "
REAJUSTE DE LA TOLVA DEL PLOMO DE LA CAMPAÚA\n"; + echo "
- Espera 1 minuto antes de marcar el número siguiente\n"; + $stmt="DELETE from vicidial_hopper where campaign_id='$campaign_id' and status IN('READY','QUEUE','DONE');"; + $rslt=mysql_query($stmt, $link); + + ### LOG RESET TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|CAMPAIGN HOPPERRESET|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CAMPAIGN INFO|$PHP_AUTH_USER|$ip|$stmtA|$reset_hopper|\n"); + fclose($fp); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=42 modify/delete campaign status in the system +###################### + +if ($ADD==42) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
ESTADO de la CAMPAÚA NO MODIFICADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
la ID de la campaña necesita ser por lo menos 2 caracteres en longitud\n"; + echo "
el estado de la campaña necesita ser por lo menos los caracteres 1 en longitud\n"; + } + else + { + if (ereg('delete',$stage)) + { + echo "
ESTADO DE ENCARGO DE LA CAMPAÚA SUPRIMIDO: $campaign_id - $status\n"; + + $stmt="DELETE FROM vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="DELETE FROM vicidial_campaign_hotkeys where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmtA, $link); + + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE CAMPAIGN STATUS|$PHP_AUTH_USER|$ip|$stmt|$stmtA|\n"); + fclose($fp); + } + } + if (ereg('modify',$stage)) + { + echo "
EL ESTADO DE ENCARGO DE LA CAMPAÑA SE MODIFICÓ: $campaign_id - $status\n"; + + $stmt="UPDATE vicidial_campaign_statuses SET status_name='$status_name',selectable='$selectable',human_answered='$human_answered',category='$category' where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CAMPAIGN STATUS|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$SUB=22; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=43 delete campaign hotkey in the system +###################### + +if ($ADD==43) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) + { + echo "
CAMPAÚA HOT KEY NO MODIFICADA - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
la ID de la campaña necesita ser por lo menos 2 caracteres en longitud\n"; + echo "
el estado de la campaña necesita ser por lo menos los caracteres 1 en longitud\n"; + echo "
the campaign hotkey needs to be at least 1 characters in length\n"; + } + else + { + echo "
LA CAMPAÚA DE ENCARGO HOT KEY SUPRIMIÚ: $campaign_id - $status - $hotkey\n"; + + $stmt="DELETE FROM vicidial_campaign_hotkeys where campaign_id='$campaign_id' and status='$status' and hotkey='$hotkey';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE CAMPAIGN STATUS|$PHP_AUTH_USER|$ip|DELETE FROM vicidial_campaign_hotkeys where campaign_id='$campaign_id' and status='$status' and hotkey='$hotkey'|\n"); + fclose($fp); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$SUB=23; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=44 submit campaign modifications to the system - Basic View +###################### + +if ($ADD==44) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_name) < 6) or (strlen($active) < 1) ) + { + echo "
CAMPAÚA NO MODIFICADA - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
el nombre de la campaña necesita ser por lo menos 6 caracteres en longitud\n"; + } + else + { + echo "
CAMPAÑA MODIFICADA: $campaign_id\n"; + + if ($dial_method == 'RATIO') + { + if ($auto_dial_level < 1) {$auto_dial_level = "1.0";} + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + else + { + if ($dial_method == 'MANUAL') + { + $auto_dial_level='0'; + $adlSQL = "auto_dial_level='0',"; + } + else + { + $adlSQL = ""; + if ($auto_dial_level < 1) + { + $auto_dial_level = "1.0"; + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + } + } + if ( (!ereg("DISABLED",$list_order_mix)) and ($hopper_level < 100) ) + {$hopper_level='100';} + + $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',hopper_level='$hopper_level', $adlSQL lead_filter_id='$lead_filter_id',dial_method='$dial_method',adaptive_intensity='$adaptive_intensity',campaign_changedate='$SQLdate',list_order_mix='$list_order_mix' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + if ($reset_hopper == 'Y') + { + echo "
REAJUSTE DE LA TOLVA DEL PLOMO DE LA CAMPAÚA\n"; + echo "
- Espera 1 minuto antes de marcar el número siguiente\n"; + $stmt="DELETE from vicidial_hopper where campaign_id='$campaign_id' and status IN('READY','QUEUE','DONE');;"; + $rslt=mysql_query($stmt, $link); + + ### LOG HOPPER RESET TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|CAMPAIGN HOPPERRESET|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CAMPAIGN INFO|$PHP_AUTH_USER|$ip|$stmtA|$reset_hopper|\n"); + fclose($fp); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=34; # go to campaign modification form below +} + +###################### +# ADD=45 modify campaign lead recycle in the system +###################### + +if ($ADD==45) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) + { + echo "
CAMPAIGN LEAD RECYCLE NOT MODIFIED - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
el estado debe estar entre 1 y 6 caracteres en longitud\n"; + echo "
la tentativa retrasa debe ser por lo menos 120 segundos\n"; + echo "
las tentativas máximas deben ser a partir la 1 a 10\n"; + } + else + { + echo "
CAMPAIGN LEAD MODIFIED: $campaign_id - $status - $attempt_delay\n"; + + $stmt="UPDATE vicidial_lead_recycle SET attempt_delay='$attempt_delay',attempt_maximum='$attempt_maximum',active='$active' where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LEAD RECYCLE |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$SUB=25; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=47 modify agent pause code in the system +###################### + +if ($ADD==47) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) + { + echo "
CÓDIGO DE LA PAUSA DEL AGENTE NO MODIFICADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
pause_code must be between 1 and 6 characters in length\n"; + echo "
pause_code name must be between 2 and 30 characters in length\n"; + } + else + { + echo "
AGENTE PAUSE CODE MODIFIED: $campaign_id - $pause_code - $pause_code_name\n"; + + $stmt="UPDATE vicidial_pause_codes SET pause_code_name='$pause_code_name',billable='$billable' where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY AGENTE PAUSECODE|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$SUB=27; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=49 modify campaign list mix in the system +###################### + +if ($ADD==49) +{ + if ($LOGmodify_campaigns==1) + { + ##### MODIFY a list mix container entry ##### + if ($stage=='MODIFY') + { + echo ""; + + $Flist_mix_container = "list_mix_container_$vcl_id"; + $Fmix_method = "mix_method_$vcl_id"; + $Fstatus = "status_$vcl_id"; + $Fvcl_name = "vcl_name_$vcl_id"; + + if (isset($_GET[$Flist_mix_container])) {$list_mix_container=$_GET[$Flist_mix_container];} + elseif (isset($_POST[$Flist_mix_container])) {$list_mix_container=$_POST[$Flist_mix_container];} + if (isset($_GET[$Fmix_method])) {$mix_method=$_GET[$Fmix_method];} + elseif (isset($_POST[$Fmix_method])) {$mix_method=$_POST[$Fmix_method];} + if (isset($_GET[$Fstatus])) {$status=$_GET[$Fstatus];} + elseif (isset($_POST[$Fstatus])) {$status=$_POST[$Fstatus];} + if (isset($_GET[$Fvcl_name])) {$vcl_name=$_GET[$Fvcl_name];} + elseif (isset($_POST[$Fvcl_name])) {$vcl_name=$_POST[$Fvcl_name];} + $list_mix_container = preg_replace("/:$/","",$list_mix_container); + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($list_mix_container) < 6) or (strlen($vcl_name) < 2) ) + { + echo "
MEZCLA DE LA LISTA NO MODIFICADA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + echo "
vcl_name name must be between 2 and 30 characters in length\n"; + } + else + { + $stmt="UPDATE vicidial_campaigns_list_mix SET vcl_name='$vcl_name',mix_method='$mix_method',list_mix_container='$list_mix_container' where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
LA MEZCLA DE LA LISTA SE MODIFICÓ: $campaign_id - $vcl_id - $vcl_name\n"; + } + } + + ##### ADD a list mix container entry ##### + if ($stage=='ADD') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($list_id) < 1) ) + { + echo "
MEZCLA DE LA LISTA NO MODIFICADA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + echo "
list_id must be at least 2 characters in length\n"; + } + else + { + $stmt="SELECT list_mix_container from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $OLDlist_mix_container = $row[0]; + $NEWlist_mix_container = "$OLDlist_mix_container:$list_id|10|0| -|"; + + $stmt="UPDATE vicidial_campaigns_list_mix SET list_mix_container='$NEWlist_mix_container' where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
LA MEZCLA DE LA LISTA SE MODIFICÓ: $campaign_id - $vcl_id - $list_id\n"; + } + } + + ##### REMOVE a list mix container entry ##### + if ($stage=='REMOVE') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($list_id) < 1) ) + { + echo "
MEZCLA DE LA LISTA NO MODIFICADA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + echo "
list_id must be at least 2 characters in length\n"; + } + else + { + $stmt="SELECT list_mix_container from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $MIXentries = $MT; + $MIXentries = explode(":", $row[0]); + $Ms_to_print = (count($MIXentries) - 0); + + if ($Ms_to_print < 2) + { + echo "
MEZCLA DE LA LISTA NO MODIFICADA: Usted no puede suprimir la entrada pasada del list_id de una mezcla dela lista\n"; + } + else + { + $MIXdetailsPCT = explode('|', $MIXentries[$mix_container_item]); + $MIXpercentPCT = $MIXdetailsPCT[2]; + + $q=0; + while ($Ms_to_print > $q) + { + if ( ($mix_container_item > $q) or ($mix_container_item < $q) ) + { + if ( ($q==0) and ($mix_container_item > 0) ) + { + $MIXdetailsONE = explode('|', $MIXentries[$q]); + $MIXpercentONE = ($MIXdetailsONE[2] + $MIXpercentPCT); + $NEWlist_mix_container .= "$MIXdetailsONE[0]|$MIXdetailsONE[1]|$MIXpercentONE|$MIXdetailsONE[3]|:"; + } + else + { + if ( ($q==1) and ($mix_container_item < 1) ) + { + $MIXdetailsONE = explode('|', $MIXentries[$q]); + $MIXpercentONE = ($MIXdetailsONE[2] + $MIXpercentPCT); + $NEWlist_mix_container .= "$MIXdetailsONE[0]|$MIXdetailsONE[1]|$MIXpercentONE|$MIXdetailsONE[3]|:"; + } + else + { + $NEWlist_mix_container .= "$MIXentries[$q]:"; + } + } + } + $q++; + } + $NEWlist_mix_container = preg_replace("/.$/",'',$NEWlist_mix_container); + + $stmt="UPDATE vicidial_campaigns_list_mix SET list_mix_container='$NEWlist_mix_container' where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
LA MEZCLA DE LA LISTA SE MODIFICÓ: $campaign_id - $vcl_id - $list_id - $mix_container_item\n"; + } + } + } + + ##### ADD a NEW list mix ##### + if ($stage=='NEWMIX') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($vcl_name) < 2) ) + { + echo "
MEZCLA DE LA LISTA NO AGREGADA- Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + echo "
vcl_name must be at least 2 characters in length\n"; + } + else + { + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
MEZCLA DE LA LISTA NO AGREGADA- Hay ya una mezcla de la lista con esta identificación en el sistema\n"; + } + else + { + $stmt="INSERT INTO vicidial_campaigns_list_mix SET list_mix_container='$list_id|1|100| $status -|',campaign_id='$campaign_id',vcl_id='$vcl_id',vcl_name='$vcl_name',mix_method='$mix_method',status='INACTIVE';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
LA MEZCLA DE LA LISTA AGREGÓ:$campaign_id - $vcl_id - $vcl_name\n"; + } + } + } + + ##### DELETE an existing list mix ##### + if ($stage=='DELMIX') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) ) + { + echo "
MEZCLA DE LA LISTA NO SUPRIMIDA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_campaigns_list_mix where vcl_id='$vcl_id' and campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
MEZCLA DE LA LISTA SUPRIMIDA:$campaign_id - $vcl_id - $vcl_name\n"; + } + } + + ##### Set list mix entry to active ##### + if ($stage=='SETACTIVE') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) ) + { + echo "
MEZCLA DE LA LISTA NO ACTIVADA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + } + else + { + $stmt="UPDATE vicidial_campaigns_list_mix SET status='INACTIVE' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_campaigns_list_mix SET status='ACTIVE' where vcl_id='$vcl_id' and campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
LA MEZCLA DE LA LISTA ACTIVÓ: $campaign_id - $vcl_id - $vcl_name\n"; + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$SUB=29; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=411 submit list modifications to the system +###################### + +if ($ADD==411) +{ + if ($LOGmodify_lists==1) + { + echo ""; + + if ( (strlen($list_name) < 2) or (strlen($campaign_id) < 2) ) + { + echo "
LISTA NO MODIFICADA - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
el nombre de la lista debe ser por lo menos 2 caracteres en longitud\n"; + } + else + { + echo "
LISTA MODIFICADA: $list_id\n"; + + $stmt="UPDATE vicidial_lists set list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description',list_changedate='$SQLdate' where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + if ($reset_list == 'Y') + { + echo "
REAJUSTANDO LA LISTA - LLAMADA - ESTADO\n"; + $stmt="UPDATE vicidial_list set called_since_last_reset='N' where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG RESET TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|RESET LIST CALLED |$PHP_AUTH_USER|$ip|list_name='$list_name'|\n"); + fclose($fp); + } + } + if ($campaign_id != "$old_campaign_id") + { + echo "
QUITAR LOS PLOMOS DE LA TOLVA DE LA LISTA DE VIEJA TOLVA DE LA CAMPAÚA ($old_campaign_id)\n"; + $stmt="DELETE from vicidial_hopper where list_id='$list_id' and campaign_id='$old_campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST INFO |$PHP_AUTH_USER|$ip|list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description' where list_id='$list_id'|\n"); + fclose($fp); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=311; # go to list modification form below +} + + +###################### +# ADD=4111 modify in-group info in the system +###################### + +if ($ADD==4111) +{ + if ($LOGmodify_ingroups==1) + { + echo ""; + + if ( (strlen($group_name) < 2) or (strlen($group_color) < 2) ) + { + echo "
GRUPO NO MODIFICADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
el color del nombre de grupo y del grupo debe ser por lo menos 2 caracteres en longitud\n"; + } + else + { + echo "
GRUPO MODIFICADO: $group_id\n"; + + $stmt="UPDATE vicidial_inbound_groups set group_name='$group_name', group_color='$group_color', active='$active', web_form_address='" . mysql_real_escape_string($web_form_address) . "', voicemail_ext='$voicemail_ext', next_agent_call='$next_agent_call', fronter_display='$fronter_display', ingroup_script='$script_id', get_call_launch='$get_call_launch', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',drop_message='$drop_message',drop_call_seconds='$drop_call_seconds',drop_exten='$drop_exten',call_time_id='$call_time_id',after_hours_action='$after_hours_action',after_hours_message_filename='$after_hours_message_filename',after_hours_exten='$after_hours_exten',after_hours_voicemail='$after_hours_voicemail',welcome_message_filename='$welcome_message_filename',moh_context='$moh_context',onhold_prompt_filename='$onhold_prompt_filename',prompt_interval='$prompt_interval',agent_alert_exten='$agent_alert_exten',agent_alert_delay='$agent_alert_delay',default_xfer_group='$default_xfer_group' where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY GROUP INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=3111; # go to in-group modification form below +} + + + +###################### +# ADD=41111 modify remote agents info in the system +###################### + +if ($ADD==41111) +{ + if ($LOGmodify_remoteagents==1) + { + echo ""; + + if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) + { + echo "
AGENTES ALEJADOS NO MODIFICADOS - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
El comienzo de la ID del usuario y la extensión externa deben ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="UPDATE vicidial_remote_agents set user_start='$user_start', number_of_lines='$number_of_lines', server_ip='$server_ip', conf_exten='$conf_exten', status='$status', campaign_id='$campaign_id', closer_campaigns='$groups_value' where remote_agent_id='$remote_agent_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
LOS AGENTES ALEJADOS SE MODIFICARON\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY AGENTES REMOTOS ENTRY |$PHP_AUTH_USER|$ip|set user_start='$user_start', number_of_lines='$number_of_lines', server_ip='$server_ip', conf_exten='$conf_exten', status='$status', campaign_id='$campaign_id', closer_campaigns='$groups_value' where remote_agent_id='$remote_agent_id'|\n"); + fclose($fp); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=31111; # go to remote agents modification form below +} + + + +###################### +# ADD=411111 modify user group info in the system +###################### + +if ($ADD==411111) +{ + if ($LOGmodify_usergroups==1) + { + echo ""; + + if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) + { + echo "
GRUPO de USUARIO NO MODIFICADO - vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
El nombre y la descripción de grupo deben ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="UPDATE vicidial_user_groups set user_group='$user_group', group_name='$group_name',allowed_campaigns='$campaigns_value' where user_group='$OLDuser_group';"; + $rslt=mysql_query($stmt, $link); + + echo "
GRUPO DE USUARIO MODIFICADO\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY USER GROUP ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=311111; # go to user group modification form below +} + +###################### +# ADD=4111111 modify script in the system +###################### + +if ($ADD==4111111) +{ + if ($LOGmodify_scripts==1) + { + echo "\n"; + echo "\n"; + echo ""; + + if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + { + echo "
ESCRITURA NO MODIFICADA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
El nombre, la descripción y el texto de la escritura deben ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="UPDATE vicidial_scripts set script_name='$script_name', script_comments='$script_comments', script_text='$script_text', active='$active' where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
LA ESCRITURA SE MODIFICÓ\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY SCRIPT ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=3111111; # go to script modification form below +} + + +###################### +# ADD=41111111 modify filter in the system +###################### + +if ($ADD==41111111) +{ + if ($LOGmodify_filters==1) + { + echo ""; + + if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + { + echo "
FILTRO NO MODIFICADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Filtre la identificación, nombre y el SQL debe ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="UPDATE vicidial_lead_filters set lead_filter_name='$lead_filter_name', lead_filter_comments='$lead_filter_comments', lead_filter_sql='$lead_filter_sql' where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
FILTRO MODIFICADO\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY FILTER ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=31111111; # go to filter modification form below +} + + +###################### +# ADD=411111111 modify call time in the system +###################### + +if ($ADD==411111111) +{ + if ($LOGmodify_call_times==1) + { + echo ""; + + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) + { + echo "
TIEMPO DE LA LLAMADA NO MODIFICADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
La identificación del tiempo de la llamada y el nombre deben ser porlo menos 2 caracteres en longitud\n"; + } + else + { + $ct_default_start = preg_replace('/\D/', '', $ct_default_start); + $ct_default_stop = preg_replace('/\D/', '', $ct_default_stop); + $ct_sunday_start = preg_replace('/\D/', '', $ct_sunday_start); + $ct_sunday_stop = preg_replace('/\D/', '', $ct_sunday_stop); + $ct_monday_start = preg_replace('/\D/', '', $ct_monday_start); + $ct_monday_stop = preg_replace('/\D/', '', $ct_monday_stop); + $ct_tuesday_start = preg_replace('/\D/', '', $ct_tuesday_start); + $ct_tuesday_stop = preg_replace('/\D/', '', $ct_tuesday_stop); + $ct_wednesday_start = preg_replace('/\D/', '', $ct_wednesday_start); + $ct_wednesday_stop = preg_replace('/\D/', '', $ct_wednesday_stop); + $ct_thursday_start = preg_replace('/\D/', '', $ct_thursday_start); + $ct_thursday_stop = preg_replace('/\D/', '', $ct_thursday_stop); + $ct_friday_start = preg_replace('/\D/', '', $ct_friday_start); + $ct_friday_stop = preg_replace('/\D/', '', $ct_friday_stop); + $ct_saturday_start = preg_replace('/\D/', '', $ct_saturday_start); + $ct_saturday_stop = preg_replace('/\D/', '', $ct_saturday_stop); + $stmt="UPDATE vicidial_call_times set call_time_name='$call_time_name', call_time_comments='$call_time_comments', ct_default_start='$ct_default_start', ct_default_stop='$ct_default_stop', ct_sunday_start='$ct_sunday_start', ct_sunday_stop='$ct_sunday_stop', ct_monday_start='$ct_monday_start', ct_monday_stop='$ct_monday_stop', ct_tuesday_start='$ct_tuesday_start', ct_tuesday_stop='$ct_tuesday_stop', ct_wednesday_start='$ct_wednesday_start', ct_wednesday_stop='$ct_wednesday_stop', ct_thursday_start='$ct_thursday_start', ct_thursday_stop='$ct_thursday_stop', ct_friday_start='$ct_friday_start', ct_friday_stop='$ct_friday_stop', ct_saturday_start='$ct_saturday_start', ct_saturday_stop='$ct_saturday_stop' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
TIEMPO DE LA LLAMADA MODIFICADO\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CALL TIME ENTRY |$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=311111111; # go to call time modification form below +} + + +###################### +# ADD=4111111111 modify state call time in the system +###################### + +if ($ADD==4111111111) +{ + if ($LOGmodify_call_times==1) + { + echo ""; + + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) + { + echo "
TIEMPO DE LA LLAMADA DEL ESTADO NO MODIFICADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Indique que identificación del tiempo de la llamada, nombre y estadodebe ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $ct_default_start = preg_replace('/\D/', '', $ct_default_start); + $ct_default_stop = preg_replace('/\D/', '', $ct_default_stop); + $ct_sunday_start = preg_replace('/\D/', '', $ct_sunday_start); + $ct_sunday_stop = preg_replace('/\D/', '', $ct_sunday_stop); + $ct_monday_start = preg_replace('/\D/', '', $ct_monday_start); + $ct_monday_stop = preg_replace('/\D/', '', $ct_monday_stop); + $ct_tuesday_start = preg_replace('/\D/', '', $ct_tuesday_start); + $ct_tuesday_stop = preg_replace('/\D/', '', $ct_tuesday_stop); + $ct_wednesday_start = preg_replace('/\D/', '', $ct_wednesday_start); + $ct_wednesday_stop = preg_replace('/\D/', '', $ct_wednesday_stop); + $ct_thursday_start = preg_replace('/\D/', '', $ct_thursday_start); + $ct_thursday_stop = preg_replace('/\D/', '', $ct_thursday_stop); + $ct_friday_start = preg_replace('/\D/', '', $ct_friday_start); + $ct_friday_stop = preg_replace('/\D/', '', $ct_friday_stop); + $ct_saturday_start = preg_replace('/\D/', '', $ct_saturday_start); + $ct_saturday_stop = preg_replace('/\D/', '', $ct_saturday_stop); + $stmt="UPDATE vicidial_state_call_times set state_call_time_name='$call_time_name', state_call_time_comments='$call_time_comments', sct_default_start='$ct_default_start', sct_default_stop='$ct_default_stop', sct_sunday_start='$ct_sunday_start', sct_sunday_stop='$ct_sunday_stop', sct_monday_start='$ct_monday_start', sct_monday_stop='$ct_monday_stop', sct_tuesday_start='$ct_tuesday_start', sct_tuesday_stop='$ct_tuesday_stop', sct_wednesday_start='$ct_wednesday_start', sct_wednesday_stop='$ct_wednesday_stop', sct_thursday_start='$ct_thursday_start', sct_thursday_stop='$ct_thursday_stop', sct_friday_start='$ct_friday_start', sct_friday_stop='$ct_friday_stop', sct_saturday_start='$ct_saturday_start', sct_saturday_stop='$ct_saturday_stop', state_call_time_state='$state_call_time_state' where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
TIEMPO DE LA LLAMADA DEL ESTADO MODIFICADO\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY STATE CALL TIME ENTRY|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=3111111111; # go to state call time modification form below +} + + +###################### +# ADD=41111111111 modify phone record in the system +###################### + +if ($ADD==41111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ( ($extension != $old_extension) or ($server_ip != $old_server_ip) ) ) + {echo "
TELÉFONO NO MODIFICADO - hay ya un teléfono en el sistema con esta extensión/servidor\n";} + else + { + if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) + {echo "
TELÉFONO NO MODIFICADO - vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
TELÉFONO MODIFICADO: $extension\n"; + + $stmt="UPDATE phones set extension='$extension', dialplan_number='$dialplan_number', voicemail_id='$voicemail_id', phone_ip='$phone_ip', computer_ip='$computer_ip', server_ip='$server_ip', login='$login', pass='$pass', status='$status', active='$active', phone_type='$phone_type', fullname='$fullname', company='$company', picture='$picture', protocol='$protocol', local_gmt='$local_gmt', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', login_user='$login_user', login_pass='$login_pass', login_campaign='$login_campaign', park_on_extension='$park_on_extension', conf_on_extension='$conf_on_extension', VICIDIAL_park_on_extension='$VICIDIAL_park_on_extension', VICIDIAL_park_on_filename='$VICIDIAL_park_on_filename', monitor_prefix='$monitor_prefix', recording_exten='$recording_exten', voicemail_exten='$voicemail_exten', voicemail_dump_exten='$voicemail_dump_exten', ext_context='$ext_context', dtmf_send_extension='$dtmf_send_extension', call_out_number_group='$call_out_number_group', client_browser='$client_browser', install_directory='$install_directory', local_web_callerID_URL='" . mysql_real_escape_string($local_web_callerID_URL) . "', VICIDIAL_web_URL='" . mysql_real_escape_string($VICIDIAL_web_URL) . "', AGI_call_logging_enabled='$AGI_call_logging_enabled', user_switching_enabled='$user_switching_enabled', conferencing_enabled='$conferencing_enabled', admin_hangup_enabled='$admin_hangup_enabled', admin_hijack_enabled='$admin_hijack_enabled', admin_monitor_enabled='$admin_monitor_enabled', call_parking_enabled='$call_parking_enabled', updater_check_enabled='$updater_check_enabled', AFLogging_enabled='$AFLogging_enabled', QUEUE_ACTION_enabled='$QUEUE_ACTION_enabled', CallerID_popup_enabled='$CallerID_popup_enabled', voicemail_button_enabled='$voicemail_button_enabled', enable_fast_refresh='$enable_fast_refresh', fast_refresh_rate='$fast_refresh_rate', enable_persistant_mysql='$enable_persistant_mysql', auto_dial_next_number='$auto_dial_next_number', VDstop_rec_after_each_call='$VDstop_rec_after_each_call', DBX_server='$DBX_server', DBX_database='$DBX_database', DBX_user='$DBX_user', DBX_pass='$DBX_pass', DBX_port='$DBX_port', DBY_server='$DBY_server', DBY_database='$DBY_database', DBY_user='$DBY_user', DBY_pass='$DBY_pass', DBY_port='$DBY_port', outbound_cid='$outbound_cid', enable_sipsak_messages='$enable_sipsak_messages' where extension='$old_extension' and server_ip='$old_server_ip';"; + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=31111111111; # go to phone modification form below +} + + +###################### +# ADD=411111111111 modify server record in the system +###################### + +if ($ADD==411111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + $stmt="SELECT count(*) from servers where server_id='$server_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ($server_id != $old_server_id) ) + {echo "
SERVIDOR NOT MODIFIED - there is already a server in the system with this server_id\n";} + else + { + $stmt="SELECT count(*) from servers where server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ($server_ip != $old_server_ip) ) + {echo "
SERVIDOR NO MODIFICADO - hay ya un servidor en el sistema con este server_ip\n";} + else + { + if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) + {echo "
SERVIDOR NO MODIFICADO - vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
SERVIDOR MODIFICADO: $server_ip\n"; + + $stmt="UPDATE servers set server_id='$server_id',server_description='$server_description',server_ip='$server_ip',active='$active',asterisk_version='$asterisk_version', max_vicidial_trunks='$max_vicidial_trunks', telnet_host='$telnet_host', telnet_port='$telnet_port', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', ASTmgrUSERNAMEupdate='$ASTmgrUSERNAMEupdate', ASTmgrUSERNAMElisten='$ASTmgrUSERNAMElisten', ASTmgrUSERNAMEsend='$ASTmgrUSERNAMEsend', local_gmt='$local_gmt', voicemail_dump_exten='$voicemail_dump_exten', answer_transfer_agent='$answer_transfer_agent', ext_context='$ext_context', sys_perf_log='$sys_perf_log', vd_server_logs='$vd_server_logs', agi_output='$agi_output', vicidial_balance_active='$vicidial_balance_active', balance_trunks_offlimits='$balance_trunks_offlimits' where server_id='$old_server_id';"; + $rslt=mysql_query($stmt, $link); + } + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=311111111111; # go to server modification form below +} + + +###################### +# ADD=421111111111 modify vicidial server trunks record in the system +###################### + +if ($ADD==421111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $MAXvicidial_trunks = $rowx[0]; + + $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); + + if ($SUMvicidial_trunks > $MAXvicidial_trunks) + { + echo "
EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO AGREGADO - el número de troncos vicidial es demasiado alto: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + } + else + { + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) + { + echo "
EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO MODIFICADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
la campaña debe estar entre 3 y 8 caracteres en longitud\n"; + echo "
el server_ip retrasa debe ser por lo menos 7 caracteres\n"; + echo "
los troncos deben ser un dígito a partir de la 0 a 9999\n"; + } + else + { + echo "
EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL MODIFICADO: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; + + $stmt="UPDATE vicidial_server_trunks SET dedicated_trunks='$dedicated_trunks',trunk_restriction='$trunk_restriction' where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFICAR EL SERVIDOR TRUNK |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=311111111111; # go to server modification form below +} + + +###################### +# ADD=4111111111111 modify conference record in the system +###################### + +if ($ADD==4111111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ( ($conf_exten != $old_conf_exten) or ($server_ip != $old_server_ip) ) ) + {echo "
CONFERENCIA - hay ya una conferencia en el sistema con esta extensión - servidor NO MODIFICADO\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
CONFERENCIA NO MODIFICADA - vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
CONFERENCIA MODIFICADA: $conf_exten\n"; + + $stmt="UPDATE conferences set conf_exten='$conf_exten',server_ip='$server_ip',extension='$extension' where conf_exten='$old_conf_exten';"; + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=3111111111111; # go to conference modification form below +} + + +###################### +# ADD=41111111111111 modify vicidial conference record in the system +###################### + +if ($ADD==41111111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ( ($conf_exten != $old_conf_exten) or ($server_ip != $old_server_ip) ) ) + {echo "
VICIDIAL CONFERENCIA - hay ya una conferencia en el sistema con esta extensión - servidor NO MODIFICADO\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
VICIDIAL CONFERENCIA NO MODIFICADA - vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + echo "
VICIDIAL CONFERENCIA MODIFICADA: $conf_exten\n"; + + $stmt="UPDATE vicidial_conferences set conf_exten='$conf_exten',server_ip='$server_ip',extension='$extension' where conf_exten='$old_conf_exten';"; + $rslt=mysql_query($stmt, $link); + + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=31111111111111; # go to vicidial conference modification form below +} + + + +###################### +# ADD=411111111111111 modify vicidial system settings +###################### + +if ($ADD==411111111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + echo "
AJUSTES DEL SISTEMA DE VICIDIAL MODIFICADOS\n"; + + $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY SYSTEM SETTINGS|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=311111111111111; # go to vicidial system settings form below +} + + +###################### +# ADD=421111111111111 modify/delete system status in the system +###################### + +if ($ADD==421111111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + if (ereg('delete',$stage)) + { + if ( (strlen($status) < 1) or (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$status)) ) + { + echo "
ESTADO DE SISTEMA NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
el estado de sistema no puede ser un estado reservado:B,NA,DNC,NA,DROP,INCALL,QUEUE,NEW\n"; + echo "
el estado de sistema necesita ser por lo menos los caracteres 1 enlongitud\n"; + } + else + { + echo "
SYSTEM STATUS DELETED: $status\n"; + + $stmt="DELETE FROM vicidial_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="DELETE FROM vicidial_campaign_hotkeys where status='$status';"; + $rslt=mysql_query($stmtA, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE SYSTEM STATUS |$PHP_AUTH_USER|$ip|$stmt|$stmtA|\n"); + fclose($fp); + } + } + } + if (ereg('modify',$stage)) + { + if ( (strlen($status) < 1) or (strlen($status_name) < 2) ) + { + echo "
ESTADO DE SISTEMA NO MODIFICADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
el estado de sistema necesita ser por lo menos los caracteres 1 enlongitud\n"; + echo "
el nombre del estado de sistema necesita ser por lo menos loscaracteres 1 en longitud\n"; + } + else + { + echo "
ESTADO DE SISTEMA MODIFICADO: $status\n"; + + $stmt="UPDATE vicidial_statuses SET status_name='$status_name',selectable='$selectable',human_answered='$human_answered',category='$category' where status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY SYSTEM STATUS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=321111111111111; # go to system settings modification form below +} + + +###################### +# ADD=431111111111111 modify/delete status category in the system +###################### + +if ($ADD==431111111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + if ( (strlen($vsc_id) < 2) or (preg_match("/^UNDEFINED$/i",$vsc_id)) ) + { + echo "
CATEGORÍA DEL ESTADO NO MODIFICADA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
la categoría del estado no puede ser una categoría reservada:UNDEFINED\n"; + echo "
la categoría del estado necesita ser por lo menos 2 caracteres enlongitud\n"; + } + else + { + if (ereg('delete',$stage)) + { + echo "
CATEGORÍA DEL ESTADO SUPRIMIDA: $vsc_id\n"; + + $stmt="DELETE FROM vicidial_status_categories where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE STATUS CATEGORY|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + if (ereg('modify',$stage)) + { + echo "
LA CATEGORÍA DEL ESTADO SE MODIFICÓ: $vsc_id\n"; + + $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + { + $tovdad_display = 'N'; + echo "
ERROR: Hay ya sistema de 4 categorías del estado a la exhibición deTimeOnVDAD\n"; + } + + $stmt="UPDATE vicidial_status_categories SET vsc_name='$vsc_name',vsc_description='$vsc_description',tovdad_display='$tovdad_display' where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY STATUS CATEGORY|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=331111111111111; # go to system settings modification form below +} + + + + +###################################################################################################### +###################################################################################################### +####### 5 series, delete records confirmation +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=5 confirmation before deletion of user +###################### + +if ($ADD==5) +{ + echo ""; + + if ( (strlen($user) < 2) or ($LOGdelete_users < 1) ) + { + echo "
USUARIO NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
User be at least 2 characters in length\n"; + } + else + { + echo "
CONFIRMACIÓN DE LA CANCELADURA DEL USUARIO: $user\n"; + echo "

Chasque aquí para suprimir a usuario $user


\n"; + } + +$ADD='3'; # go to user modification below +} + +###################### +# ADD=51 confirmation before deletion of campaign +###################### + +if ($ADD==51) +{ + echo ""; + + if ( (strlen($campaign_id) < 2) or ($LOGdelete_campaigns < 1) ) + { + echo "
CAMPAÑA NO SUPRIMIDA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Campaña_id be at least 2 characters in length\n"; + } + else + { + echo "
CONFIRMACIÓN DE LA CANCELADURA DE LA CAMPAÑA: $campaign_id\n"; + echo "

Chasque aquí para suprimir campaña $campaign_id


\n"; + } + +$ADD='31'; # go to campaign modification below +} + +###################### +# ADD=52 confirmation before logging all agents out of campaign of campaign +###################### + +if ($ADD==52) +{ + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
AGENTES NO REGISTRADOS FUERA DE CAMPAÑA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Campaña_id be at least 2 characters in length\n"; + } + else + { + echo "
CONFIRMACIÓN DEL REGISTRO DE ESTADO DE LA MÁQUINA DEL AGENTE: $campaign_id\n"; + echo "

Chasque aquí para registrar todos los agentes fuera de $campaign_id


\n"; + } + +$ADD='31'; # go to campaign modification below +} + +###################### +# ADD=53 confirmation before Emergency VDAC Jam Clear - deletes oldest LIVE vicidial_auto_call record +###################### + +if ($ADD==53) +{ + if (eregi('IN',$stage)) + {$group_id=$campaign_id;} + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
VDAC NO DESPEJÓ PARA LA CAMPAÑA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Campaña_id be at least 2 characters in length\n"; + } + else + { + echo "
CONFIRMACIÓN CLARA DE VDAC: $campaign_id\n"; + echo "

Chasque aquí para suprimir el más viejo VIVEN expediente en VDACpara $campaign_id


\n"; + } + +# go to campaign modification below +if (eregi('IN',$stage)) + {$ADD='3111';} +else + {$ADD='31';} +} + +###################### +# ADD=511 confirmation before deletion of list +###################### + +if ($ADD==511) +{ + echo ""; + + if ( (strlen($list_id) < 2) or ($LOGdelete_lists < 1) ) + { + echo "
LISTA NO SUPRIMIDA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
List_id be at least 2 characters in length\n"; + } + else + { + echo "
CONFIRMACIÓN DE LA CANCELADURA DE LA LISTA: $list_id\n"; + echo "

Chasque aquí para suprimir la lista y todos sus plomos $list_id


\n"; + } + +$ADD='311'; # go to campaign modification below +} + +###################### +# ADD=5111 confirmation before deletion of in-group +###################### + +if ($ADD==5111) +{ + echo ""; + + if ( (strlen($group_id) < 2) or ($LOGdelete_ingroups < 1) ) + { + echo "
EN-GRUPO NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Group_id be at least 2 characters in length\n"; + } + else + { + echo "
CONFIRMACIÓN DE LA CANCELADURA DE EN-GRUPO: $group_id\n"; + echo "

Chasque aquí para suprimir a en-grupo $group_id


\n"; + } + +$ADD='3111'; # go to in-group modification below +} + +###################### +# ADD=51111 confirmation before deletion of remote agent record +###################### + +if ($ADD==51111) +{ + echo ""; + + if ( (strlen($remote_agent_id) < 1) or ($LOGdelete_remote_agents < 1) ) + { + echo "
AGENTE ALEJADO NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Remote_agent_id be at least 2 characters in length\n"; + } + else + { + echo "
CONFIRMACIÓN ALEJADA DE LA CANCELADURA DEL AGENTE: $remote_agent_id\n"; + echo "

Chasque aquí para suprimir el agente alejado $remote_agent_id


\n"; + } + +$ADD='31111'; # go to remote agent modification below +} + +###################### +# ADD=511111 confirmation before deletion of user group record +###################### + +if ($ADD==511111) +{ + echo ""; + + if ( (strlen($user_group) < 2) or ($LOGdelete_user_groups < 1) ) + { + echo "
GRUPO DE USUARIO NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
User_group be at least 2 characters in length\n"; + } + else + { + echo "
CONFIRMACIÓN DE LA CANCELADURA DEL GRUPO DE USUARIO: $user_group\n"; + echo "

Chasque aquí para suprimir a grupo de usuario $user_group


\n"; + } + +$ADD='311111'; # go to user group modification below +} + +###################### +# ADD=5111111 confirmation before deletion of script record +###################### + +if ($ADD==5111111) +{ + echo ""; + + if ( (strlen($script_id) < 2) or ($LOGdelete_scripts < 1) ) + { + echo "
ESCRITURA NO SUPRIMIDA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Script_id must be at least 2 characters in length\n"; + } + else + { + echo "
CONFIRMACIÓN DE LA CANCELADURA DE LA ESCRITURA: $script_id\n"; + echo "

Chasque aquí para suprimir la escritura $script_id


\n"; + } + +$ADD='3111111'; # go to script modification below +} + +###################### +# ADD=51111111 confirmation before deletion of filter record +###################### + +if ($ADD==51111111) +{ + echo ""; + + if ( (strlen($lead_filter_id) < 2) or ($LOGdelete_filters < 1) ) + { + echo "
FILTRO NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
La identificación del filtro debe ser por lo menos 2 caracteres en longitud\n"; + } + else + { + echo "
FILTER DELETION CONFIRMATION: $lead_filter_id\n"; + echo "

Chasque aquí para suprimir el filtro$lead_filter_id


\n"; + } + +$ADD='31111111'; # go to filter modification below +} + +###################### +# ADD=511111111 confirmation before deletion of call time record +###################### + +if ($ADD==511111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
TIEMPO DE LA LLAMADA NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
_ llamar tiempo identificación deber ser por lo menos 2 carácter enlongitud\n"; + } + else + { + echo "
CONFIRMACIÓN DE LA CANCELADURA DEL TIEMPO DE LA LLAMADA: $call_time_id\n"; + echo "

Click here to delete call time $call_time_id


\n"; + } + +$ADD='311111111'; # go to call time modification below +} + +###################### +# ADD=5111111111 confirmation before deletion of state call time record +###################### + +if ($ADD==5111111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
TIEMPO DE LA LLAMADA DEL ESTADO NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
_ llamar tiempo identificación deber ser por lo menos 2 carácter enlongitud\n"; + } + else + { + echo "
CONFIRMACIÓN DE LA CANCELADURA DEL TIEMPO DE LA LLAMADA DEL ESTADO: $call_time_id\n"; + echo "

Click here to delete state call time $call_time_id


\n"; + } + +$ADD='3111111111'; # go to state call time modification below +} + + +###################### +# ADD=51111111111 confirmation before deletion of phone record +###################### + +if ($ADD==51111111111) +{ + echo ""; + + if ( (strlen($extension) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
TELÉFONO NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Extension be at least 2 characters in length\n"; + echo "
IP Del Servidor be at least 7 characters in length\n"; + } + else + { + echo "
CONFIRMACIÓN DE LA CANCELADURA DEL TELÉFONO: $extension - $server_ip\n"; + echo "

Chasque aquí para suprimir el teléfono $extension - $server_ip


\n"; + } +$ADD='31111111111'; # go to phone modification below +} + + +###################### +# ADD=511111111111 confirmation before deletion of server record +###################### + +if ($ADD==511111111111) +{ + echo ""; + + if ( (strlen($server_id) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
SERVIDOR NOT DELETED - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
ID Del Servidor be at least 2 characters in length\n"; + echo "
IP Del Servidor be at least 7 characters in length\n"; + } + else + { + echo "
SERVIDOR DELETION CONFIRMATION: $server_id - $server_ip\n"; + echo "

Chasque aquí para suprimir el teléfono $server_id - $server_ip


\n"; + } +$ADD='311111111111'; # go to server modification below +} + + +###################### +# ADD=5111111111111 confirmation before deletion of conference record +###################### + +if ($ADD==5111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
CONFERENCE NOT DELETED - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Conference must be at least 2 characters in length\n"; + echo "
IP Del Servidor be at least 7 characters in length\n"; + } + else + { + echo "
CONFERENCE DELETION CONFIRMATION: $conf_exten - $server_ip\n"; + echo "

Chasque aquí para suprimir el teléfono $conf_exten - $server_ip


\n"; + } +$ADD='3111111111111'; # go to conference modification below +} + + +###################### +# ADD=51111111111111 confirmation before deletion of vicidial conference record +###################### + +if ($ADD==51111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
VICIDIAL CONFERENCE NOT DELETED - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Conference must be at least 2 characters in length\n"; + echo "
IP Del Servidor be at least 7 characters in length\n"; + } + else + { + echo "
VICIDIAL CONFERENCE DELETION CONFIRMATION: $conf_exten - $server_ip\n"; + echo "

Chasque aquí para suprimir el teléfono $conf_exten - $server_ip


\n"; + } +$ADD='31111111111111'; # go to vicidial conference modification below +} + + + +###################################################################################################### +###################################################################################################### +####### 6 series, delete records +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=6 delete user record +###################### + +if ($ADD==6) +{ + echo ""; + + if ( ( strlen($user) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_users < 1) ) + { + echo "
USUARIO NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
User be at least 2 characters in length\n"; + } + else + { + $stmtA="DELETE from vicidial_users where user='$user' limit 1;"; + $rslt=mysql_query($stmtA, $link); + + $stmt="DELETE from vicidial_campaign_agents where user='$user';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_inbound_group_agents where user='$user';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING USER!!!!|$PHP_AUTH_USER|$ip|$user|$stmtA|$stmt|\n"); + fclose($fp); + } + echo "
CANCELADURA DEL USUARIO TERMINADA: $user\n"; + echo "

\n"; + } + +$ADD='0'; # go to user list +} + +###################### +# ADD=61 delete campaign record +###################### + +if ($ADD==61) +{ + echo ""; + + if ( ( strlen($campaign_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_campaigns < 1) ) + { + echo "
CAMPAÑA NO SUPRIMIDA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Campaña_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_campaigns where campaign_id='$campaign_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_agents where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_live_agents where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_statuses where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_hotkeys where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_callbacks where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_stats where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_lead_recycle where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_server_stats where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_server_trunks where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_pause_codes where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaigns_list_mix where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
QUITAR LOS PLOMOS DE LA TOLVA DE LA LISTA DE VIEJA TOLVA DE LA CAMPAÚA ($campaign_id)\n"; + $stmt="DELETE from vicidial_hopper where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!DELETING CAMPAIGN!|$PHP_AUTH_USER|$ip|campaign_id='$campaign_id'|\n"); + fclose($fp); + } + echo "
LA CANCELADURA DE LA CAMPAÑA TERMINÓ: $campaign_id\n"; + echo "

\n"; + } + +$ADD='10'; # go to campaigns list +} + +###################### +# ADD=62 Logout all agents from a campaign +###################### + +if ($ADD==62) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
AGENTES NO REGISTRADOS FUERA DE CAMPAÑA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Campaña_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_live_agents where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!AGENTE LOGOUT!!!!!!|$PHP_AUTH_USER|$ip|campaign_id='$campaign_id'|\n"); + fclose($fp); + } + echo "
EL REGISTRO DE ESTADO DE LA MÁQUINA DEL AGENTE TERMINÓ: $campaign_id\n"; + echo "

\n"; + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD='31'; # go to campaign modification below +} + + +###################### +# ADD=63 Emergency VDAC Jam Clear +###################### + +if ($ADD==63) +{ + if ($LOGmodify_campaigns==1) + { + if (eregi('IN',$stage)) + {$group_id=$campaign_id;} + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
VDAC NO DESPEJÓ PARA LA CAMPAÑA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Campaña_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_auto_calls where status='LIVE' and campaign_id='$campaign_id' order by call_time limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|EMERGENCY VDAC CLEAR|$PHP_AUTH_USER|$ip|campaign_id='$campaign_id'|\n"); + fclose($fp); + } + echo "
DE REGISTRO PASADO DE VDAC DESPEJADA PARA LA CAMPAÑA: $campaign_id\n"; + echo "

\n"; + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +# go to campaign modification below +if (eregi('IN',$stage)) + {$ADD='3111';} +else + {$ADD='31';} +} + + +###################### +# ADD=65 delete campaign lead recycle in the system +###################### + +if ($ADD==65) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
EL PLOMO DE LA CAMPAÑA RECICLA NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
el estado debe estar entre 1 y 6 caracteres en longitud\n"; + echo "
la tentativa retrasa debe ser por lo menos 120 segundos\n"; + echo "
las tentativas máximas deben ser a partir la 1 a 10\n"; + } + else + { + echo "
EL PLOMO DE LA CAMPAÑA RECICLA SUPRIMIDO: $campaign_id - $status - $attempt_delay\n"; + + $stmt="DELETE FROM vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE LEAD RECYCLE |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$SUB=25; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=66 delete auto alt dial status from the campaign +###################### + +if ($ADD==66) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + {echo "
ESTADO AUTO DEL DIAL DEL ALT NO SUPRIMIDO - este estado del dial del alt del automóvil no está en esta campaña\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
ESTADO AUTO DEL DIAL DEL ALT NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
el estado debe estar entre 1 y 6 caracteres en longitud\n"; + } + else + { + echo "
ESTADO AUTO DEL DIAL DEL ALT SUPRIMIDO: $campaign_id - $status\n"; + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + $auto_alt_dial_statuses = eregi_replace(" $status "," ",$row[0]); + $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE AUTALTDIALSTTUS|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$SUB=26; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=67 delete agent pause code in the system +###################### + +if ($ADD==67) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) ) + { + echo "
CÓDIGO DE LA PAUSA DE LA CAMPAÑA NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
pause code must be between 1 and 6 characters in length\n"; + } + else + { + echo "
CAMPAIGN PAUSE CODE DELETED: $campaign_id - $pause_code\n"; + + $stmt="DELETE FROM vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE AGENTE PAUSECODE|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$SUB=27; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=68 remove campaign dial status +###################### + +if ($ADD==68) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + {echo "
ESTADO DEL DIAL DE LA CAMPAÑA NO QUITADO - este estado del dial no se selecciona para esta campaña\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
ESTADO DEL DIAL DE LA CAMPAÑA NO QUITADO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
el estado debe estar entre 1 y 6 caracteres en longitud\n"; + } + else + { + echo "
EL ESTADO DEL DIAL DE LA CAMPAÑA QUITÓ: $campaign_id - $status\n"; + + $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + $dial_statuses = eregi_replace(" $status "," ",$row[0]); + $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DIAL STATUS REMOVED |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +#$SUB=28; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=611 delete list record and all leads within it +###################### + +if ($ADD==611) +{ + echo ""; + + if ( ( strlen($list_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_lists < 1) ) + { + echo "
LISTA NO SUPRIMIDA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
List_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_lists where list_id='$list_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + echo "
QUITAR LOS PLOMOS DE LA TOLVA DE LA LISTA DE VIEJA TOLVA DE LA CAMPAÚA ($list_id)\n"; + $stmt="DELETE from vicidial_hopper where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
QUITAR LOS PLOMOS DE LA LISTA DE LA TABLA DE VICIDIAL_LIST\n"; + $stmt="DELETE from vicidial_list where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING LIST!!!!|$PHP_AUTH_USER|$ip|list_id='$list_id'|\n"); + fclose($fp); + } + echo "
LA CANCELADURA DE LA LISTA TERMINÓ: $list_id\n"; + echo "

\n"; + } + +$ADD='100'; # go to lists list +} + +###################### +# ADD=6111 delete in-group record +###################### + +if ($ADD==6111) +{ + echo ""; + + if ( (strlen($group_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_ingroups < 1) ) + { + echo "
EN-GRUPO NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Group_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_inbound_groups where group_id='$group_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_inbound_group_agents where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_live_inbound_agents where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING IN-GROUP!!|$PHP_AUTH_USER|$ip|group_id='$group_id'|\n"); + fclose($fp); + } + echo "
CANCELADURA DE EN-GRUPO TERMINADA: $group_id\n"; + echo "

\n"; + } + +$ADD='1000'; # go to in-group list +} + +###################### +# ADD=61111 delete remote agent record +###################### + +if ($ADD==61111) +{ + echo ""; + + if ( (strlen($remote_agent_id) < 1) or ($CoNfIrM != 'YES') or ($LOGdelete_remote_agents < 1) ) + { + echo "
AGENTE ALEJADO NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Remote_agent_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_remote_agents where remote_agent_id='$remote_agent_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING RMTAGENT!!|$PHP_AUTH_USER|$ip|remote_agent_id='$remote_agent_id'|\n"); + fclose($fp); + } + echo "
CANCELADURA ALEJADA DEL AGENTE TERMINADA: $remote_agent_id\n"; + echo "

\n"; + } + +$ADD='10000'; # go to remote agents list +} + +###################### +# ADD=611111 delete user group record +###################### + +if ($ADD==611111) +{ + echo ""; + + if ( (strlen($user_group) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_user_groups < 1) ) + { + echo "
GRUPO DE USUARIO NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
User_group be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_user_groups where user_group='$user_group' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING USRGROUP!!|$PHP_AUTH_USER|$ip|user_group='$user_group'|\n"); + fclose($fp); + } + echo "
CANCELADURA DEL GRUPO DE USUARIO TERMINADA: $user_group\n"; + echo "

\n"; + } + +$ADD='100000'; # go to user group list +} + +###################### +# ADD=6111111 delete script record +###################### + +if ($ADD==6111111) +{ + echo ""; + + if ( (strlen($script_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_scripts < 1) ) + { + echo "
ESCRITURA NO SUPRIMIDA - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Script_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_scripts where script_id='$script_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING SCRIPT!!!!|$PHP_AUTH_USER|$ip|script_id='$script_id'|\n"); + fclose($fp); + } + echo "
CANCELADURA DE LA ESCRITURA TERMINADA: $script_id\n"; + echo "

\n"; + } + +$ADD='1000000'; # go to script list +} + + +###################### +# ADD=61111111 delete filter record +###################### + +if ($ADD==61111111) +{ + echo ""; + + if ( (strlen($lead_filter_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_filters < 1) ) + { + echo "
FILTRO NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
La identificación del filtro debe ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="DELETE from vicidial_lead_filters where lead_filter_id='$lead_filter_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING FILTER!!!!|$PHP_AUTH_USER|$ip|lead_filter_id='$lead_filter_id'|\n"); + fclose($fp); + } + echo "
CANCELADURA DEL FILTRO TERMINADA: $lead_filter_id\n"; + echo "

\n"; + } + +$ADD='10000000'; # go to filter list +} + + +###################### +# ADD=611111111 delete call times record +###################### + +if ($ADD==611111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
TIEMPO DE LA LLAMADA NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
_ llamar tiempo identificación deber ser por lo menos 2 carácter enlongitud\n"; + } + else + { + $stmt="DELETE from vicidial_call_times where call_time_id='$call_time_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING CALL TIME!|$PHP_AUTH_USER|$ip|call_time_id='$call_time_id'|\n"); + fclose($fp); + } + echo "
_ LLAMAR TIEMPO CANCELADURA TERMINAR: $call_time_id\n"; + echo "

\n"; + } + +$ADD='100000000'; # go to call times list +} + + +###################### +# ADD=6111111111 delete state call times record +###################### + +if ($ADD==6111111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
TIEMPO DE LA LLAMADA DEL ESTADO NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
_ llamar tiempo identificación deber ser por lo menos 2 carácter enlongitud\n"; + } + else + { + $stmt="DELETE from vicidial_state_call_times where state_call_time_id='$call_time_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT call_time_id,ct_state_call_times from vicidial_call_times where ct_state_call_times LIKE \"%|$call_time_id|%\" order by call_time_id;"; + $rslt=mysql_query($stmt, $link); + $sct_to_print = mysql_num_rows($rslt); + $sct_list=''; + + $o=0; + while ($sct_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $sct_ids[$o] = "$rowx[0]"; + $sct_states[$o] = "$rowx[1]"; + $o++; + } + $o=0; + + while ($sct_to_print > $o) { + $sct_states[$o] = eregi_replace("\|$call_time_id\|",'|',$sct_states[$o]); + $stmt="UPDATE vicidial_call_times set ct_state_call_times='$sct_states[$o]' where call_time_id='$sct_ids[$o]';"; + $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + echo "Regla Del Estado Quitada: $sct_ids[$o]
\n"; + $o++; + } + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING CALL TIME!|$PHP_AUTH_USER|$ip|state_call_time_id='$call_time_id'|\n"); + fclose($fp); + } + echo "
CANCELADURA DEL TIEMPO DE LA LLAMADA DEL ESTADO TERMINADA: $call_time_id\n"; + echo "

\n"; + } + +$ADD='1000000000'; # go to call times list +} + + +###################### +# ADD=61111111111 delete phone record +###################### + +if ($ADD==61111111111) +{ + echo ""; + + if ( (strlen($extension) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
TELÉFONO NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Extension be at least 2 characters in length\n"; + echo "
IP Del Servidor be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from phones where extension='$extension' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING PHONE!!!|$PHP_AUTH_USER|$ip|extension='$extension'|server_ip='$server_ip'|\n"); + fclose($fp); + } + echo "
LA CANCELADURA DEL TELÉFONO TERMINÓ: $extension - $server_ip\n"; + echo "

\n"; + } +$ADD='10000000000'; # go to phone list +} + + +###################### +# ADD=611111111111 delete server record +###################### + +if ($ADD==611111111111) +{ + echo ""; + + if ( (strlen($server_id) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
SERVIDOR NOT DELETED - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
ID Del Servidor be at least 2 characters in length\n"; + echo "
IP Del Servidor be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from servers where server_id='$server_id' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING SERVER!!|$PHP_AUTH_USER|$ip|server_id='$server_id'|server_ip='$server_ip'|\n"); + fclose($fp); + } + echo "
SERVIDOR DELETION COMPLETED: $server_id - $server_ip\n"; + echo "

\n"; + } +$ADD='100000000000'; # go to server list +} + + +###################### +# ADD=621111111111 delete vicidial server trunk record in the system +###################### + +if ($ADD==621111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) ) + { + echo "
EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO SUPRIMIDO - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
la campaña debe estar entre 3 y 8 caracteres en longitud\n"; + echo "
el server_ip retrasa debe ser por lo menos 7 caracteres\n"; + } + else + { + echo "
EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL SUPRIMIDO: $campaign_id - $server_ip\n"; + + $stmt="DELETE FROM vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE SERVIDOR TRUNK |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +$ADD=311111111111; # go to server modification form below +} + + +###################### +# ADD=6111111111111 delete conference record +###################### + +if ($ADD==6111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
CONFERENCE NOT DELETED - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Conference be at least 2 characters in length\n"; + echo "
IP Del Servidor be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from conferences where conf_exten='$conf_exten' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING CONF!!!!|$PHP_AUTH_USER|$ip|conf_exten='$conf_exten'|server_ip='$server_ip'|\n"); + fclose($fp); + } + echo "
CONFERENCE DELETION COMPLETED: $conf_exten - $server_ip\n"; + echo "

\n"; + } +$ADD='1000000000000'; # go to conference list +} + + +###################### +# ADD=61111111111111 delete vicidial conference record +###################### + +if ($ADD==61111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
VICIDIAL CONFERENCE NOT DELETED - Vaya por favor detrás y mire los datos que usted incorporó\n"; + echo "
Conference be at least 2 characters in length\n"; + echo "
IP Del Servidor be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING CONF!!!!|$PHP_AUTH_USER|$ip|conf_exten='$conf_exten'|server_ip='$server_ip'|\n"); + fclose($fp); + } + echo "
VICIDIAL CONFERENCE DELETION COMPLETED: $conf_exten - $server_ip\n"; + echo "

\n"; + } +$ADD='10000000000000'; # go to vicidial conference list +} + + + + + +###################################################################################################### +###################################################################################################### +####### 3 series, record modification forms +###################################################################################################### +###################################################################################################### + + + + +###################### +# ADD=3 modify user info in the system +###################### + +if ($ADD==3) +{ + if ($LOGmodify_users==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $user_level = $row[4]; + $user_group = $row[5]; + $phone_login = $row[6]; + $phone_pass = $row[7]; + $delete_users = $row[8]; + $delete_user_groups = $row[9]; + $delete_lists = $row[10]; + $delete_campaigns = $row[11]; + $delete_ingroups = $row[12]; + $delete_remote_agents = $row[13]; + $load_leads = $row[14]; + $campaign_detail = $row[15]; + $ast_admin_access = $row[16]; + $ast_delete_phones = $row[17]; + $delete_scripts = $row[18]; + $modify_leads = $row[19]; + $hotkeys_active = $row[20]; + $change_agent_campaign =$row[21]; + $agent_choose_ingroups =$row[22]; + $scheduled_callbacks = $row[24]; + $agentonly_callbacks = $row[25]; + $agentcall_manual = $row[26]; + $vicidial_recording = $row[27]; + $vicidial_transfers = $row[28]; + $delete_filters = $row[29]; + $alter_agent_interface_options =$row[30]; + $closer_default_blended = $row[31]; + $delete_call_times = $row[32]; + $modify_call_times = $row[33]; + $modify_users = $row[34]; + $modify_campaigns = $row[35]; + $modify_lists = $row[36]; + $modify_scripts = $row[37]; + $modify_filters = $row[38]; + $modify_ingroups = $row[39]; + $modify_usergroups = $row[40]; + $modify_remoteagents = $row[41]; + $modify_servers = $row[42]; + $view_reports = $row[43]; + $vicidial_recording_override = $row[44]; + $alter_custdata_override = $row[45]; + + if ( ($user_level >= $LOGuser_level) and ($LOGuser_level < 9) ) + { + echo "
Usted no tiene permisos de modificar a este usuario: $row[1]\n"; + } + else + { + echo "
MODIFIQUE Un EXPEDIENTE De los USUARIOS: $row[1]\n"; + if ($LOGuser_level > 8) + {echo "\n";} + else + { + if ($LOGalter_agent_interface == "1") + {echo "\n";} + else + {echo "\n";} + } + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + if ( ($LOGuser_level > 8) or ($LOGalter_agent_interface == "1") ) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + if ($LOGuser_level > 8) + { + echo "\n"; + +#9BB9FB +#B9CBFD + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + echo "\n"; + echo "
NÚmero De Usuario: $row[1]$NWB#vicidial_users-user$NWE
Contraseña: $NWB#vicidial_users-pass$NWE
Nombre Completo: $NWB#vicidial_users-full_name$NWE
Nivel Del Usuario: $NWB#vicidial_users-user_level$NWE
Grupo Del Usuario: $NWB#vicidial_users-user_group$NWE
Conexión Del Teléfono: $NWB#vicidial_users-phone_login$NWE
Contraseña Del Teléfono: $NWB#vicidial_users-phone_pass$NWE
OPCIONES DE INTERFAZ DEL AGENTE:
El Agente Elige Ingroups: $NWB#vicidial_users-agent_choose_ingroups$NWE
Hot Keys Activo: $NWB#vicidial_users-hotkeys_active$NWE
Servicios repetidos Programar: $NWB#vicidial_users-scheduled_callbacks$NWE
Servicios repetidos Del Agente-Solamente: $NWB#vicidial_users-agentonly_callbacks$NWE
Manual de la llamada del agente: $NWB#vicidial_users-agentcall_manual$NWE
Grabación de Vicidial: $NWB#vicidial_users-vicidial_recording$NWE
Vicidial transfiere: $NWB#vicidial_users-vicidial_transfers$NWE
Un Defecto Más cercano Mezclado: $NWB#vicidial_users-closer_default_blended$NWE
Invalidación De la Grabación de VICIDIAL:$NWB#vicidial_users-vicidial_recording_override$NWE
El Agente Altera La Invalidación De los Datos Del Cliente: $NWB#vicidial_users-alter_custdata_override$NWE
Filas De la Campaña:$NWB#vicidial_users-campaign_ranks$NWE
\n"; + echo "\n"; + echo "$RANKcampaigns_list"; + echo "
\n"; + echo "
Grupos De entrada: $NWB#vicidial_users-closer_campaigns$NWE
\n"; + echo "\n"; + echo "$RANKgroups_list"; + echo "
\n"; + echo "
OPCIONES DE INTERFAZ DEL ADMIN:
Informes De la Visión: $NWB#vicidial_users-view_reports$NWE
Altere Las Opciones De Interfaz Del Agente: $NWB#vicidial_users-alter_agent_interface_options$NWE
Modifique A Usuarios: $NWB#vicidial_users-modify_sections$NWE
Cambie La Campaña Del Agente: $NWB#vicidial_users-change_agent_campaign$NWE
Usuarios de la cancelación: $NWB#vicidial_users-delete_users$NWE
Modifique A Grupos De Usuario: $NWB#vicidial_users-modify_sections$NWE
Suprima a grupos de usuario: $NWB#vicidial_users-delete_user_groups$NWE
Modifique Las Listas: $NWB#vicidial_users-modify_sections$NWE
La cancelación enumera: $NWB#vicidial_users-delete_lists$NWE
La carga conduce: $NWB#vicidial_users-load_leads$NWE
Modifique Los Plomos: $NWB#vicidial_users-modify_leads$NWE
Modifique Las Campañas: $NWB#vicidial_users-modify_sections$NWE
Detalle de la campaña: $NWB#vicidial_users-campaign_detail$NWE
La cancelación hace campaña: $NWB#vicidial_users-delete_campaigns$NWE
Modifique A En-Grupos: $NWB#vicidial_users-modify_sections$NWE
En-Grupos de la cancelación: $NWB#vicidial_users-delete_ingroups$NWE
Modifique Los Agentes Alejados: $NWB#vicidial_users-modify_sections$NWE
Suprima los agentes alejados: $NWB#vicidial_users-delete_remote_agents$NWE
Modifique Las Escrituras: $NWB#vicidial_users-modify_sections$NWE
Escritura De la Cancelacións: $NWB#vicidial_users-delete_scripts$NWE
Modifique Los Filtros: $NWB#vicidial_users-modify_sections$NWE
Filtro De la Cancelacións: $NWB#vicidial_users-delete_filters$NWE
Acceso de AGC Admin: $NWB#vicidial_users-ast_admin_access$NWE
La cancelación de AGC telefona: $NWB#vicidial_users-ast_delete_phones$NWE
Modifique El Tiempo De la Llamadas: $NWB#vicidial_users-modify_call_times$NWE
Delete Tiempos De la Llamada: $NWB#vicidial_users-delete_call_times$NWE
Modifique Los Servidores: $NWB#vicidial_users-modify_sections$NWE
\n"; + + if ($LOGdelete_users > 0) + { + echo "

SUPRIMA A ESTE USUARIO\n"; + } + echo "

Chasque aquí para la hoja de tiempo del usuario\n"; + echo "

Chasque aquí para el estado del usuario\n"; + echo "

Clique aquí para ver las estadísticas del usuario\n"; + echo "

Chasque aquí para los asimientos del servicio repetido del usuario\n"; + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=31 modify campaign info in the system - Detail view +###################### + +if ( ($LOGcampaign_detail < 1) and ($ADD==31) ) {$ADD=34;} # send to Basic if not allowed + +if ( ($ADD==31) and ( (!eregi("$campaign_id",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) ) + {$ADD=30;} # send to not allowed screen if not in vicidial_user_groups allowed_campaigns list + +if ($ADD==31) +{ + if ($LOGmodify_campaigns==1) + { + if ($stage=='show_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='Y' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + if ($stage=='hide_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='N' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT * from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $campaign_name = $row[1]; + $dial_status_a = $row[3]; + $dial_status_b = $row[4]; + $dial_status_c = $row[5]; + $dial_status_d = $row[6]; + $dial_status_e = $row[7]; + $lead_order = $row[8]; + $allow_closers = $row[12]; + $hopper_level = $row[13]; + $auto_dial_level = $row[14]; + $next_agent_call = $row[15]; + $local_call_time = $row[16]; + $voicemail_ext = $row[17]; + $dial_timeout = $row[18]; + $dial_prefix = $row[19]; + $campaign_cid = $row[20]; + $campaign_vdad_exten = $row[21]; + $campaign_rec_exten = $row[22]; + $campaign_recording = $row[23]; + $campaign_rec_filename = $row[24]; + $script_id = $row[25]; + $get_call_launch = $row[26]; + $am_message_exten = $row[27]; + $amd_send_to_vmx = $row[28]; + $xferconf_a_dtmf = $row[29]; + $xferconf_a_number = $row[30]; + $xferconf_b_dtmf = $row[31]; + $xferconf_b_number = $row[32]; + $alt_number_dialing = $row[33]; + $scheduled_callbacks = $row[34]; + $lead_filter_id = $row[35]; + if ($lead_filter_id=='') {$lead_filter_id='NONE';} + $drop_call_seconds = $row[36]; + $safe_harbor_message = $row[37]; + $safe_harbor_exten = $row[38]; + $display_dialable_count = $row[39]; + $wrapup_seconds = $row[40]; + $wrapup_message = $row[41]; + # $closer_campaigns = $row[42]; + $use_internal_dnc = $row[43]; + $allcalls_delay = $row[44]; + $omit_phone_code = $row[45]; + $dial_method = $row[46]; + $available_only_ratio_tally = $row[47]; + $adaptive_dropped_percentage = $row[48]; + $adaptive_maximum_level = $row[49]; + $adaptive_latest_server_time = $row[50]; + $adaptive_intensity = $row[51]; + $adaptive_dl_diff_target = $row[52]; + $concurrent_transfers = $row[53]; + $auto_alt_dial = $row[54]; + $auto_alt_dial_statuses = $row[55]; + $agent_pause_codes_active = $row[56]; + $campaign_description = $row[57]; + $campaign_changedate = $row[58]; + $campaign_stats_refresh = $row[59]; + $campaign_logindate = $row[60]; + $dial_statuses = $row[61]; + $disable_alter_custdata = $row[62]; + $no_hopper_leads_logins = $row[63]; + $list_order_mix = $row[64]; + $campaign_allow_inbound = $row[65]; + $manual_dial_list_id = $row[66]; + $default_xfer_group = $row[67]; + + if (ereg("DISABLED",$list_order_mix)) + {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} + else + {$DEFlistDISABLE = 'disabled'; $DEFstatusDISABLED=1;} + + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE'"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $mixes_list="\n"; + $mixname_list["DISABLED"] = "DISABLED"; + } + else + { + ##### get list_mix listings for dynamic pulldown + $stmt="SELECT vcl_id,vcl_name from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE' limit 1"; + $rslt=mysql_query($stmt, $link); + $mixes_to_print = mysql_num_rows($rslt); + $mixes_list="\n"; + + $o=0; + while ($mixes_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $mixes_list .= "\n"; + $mixname_list["ACTIVE"] = "$rowx[0] - $rowx[1]"; + $o++; + } + } + + ##### get status listings for dynamic pulldown + $stmt="SELECT * from vicidial_statuses order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $statuses_list=''; + + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + $o++; + } + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $Cstatuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($Cstatuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + $o++; + } + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) -1); + + ##### get in-groups listings for dynamic pulldown list menu + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $xfer_groupsSQL order by group_id"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "\n";} + else + {$Xgroups_menu .= "\n";} + + + if ($SUB<1) {$camp_detail_color=$subcamp_color;} + else {$camp_detail_color=$campaigns_color;} + if ($SUB==22) {$camp_statuses_color=$subcamp_color;} + else {$camp_statuses_color=$campaigns_color;} + if ($SUB==23) {$camp_hotkeys_color=$subcamp_color;} + else {$camp_hotkeys_color=$campaigns_color;} + if ($SUB==25) {$camp_recycle_color=$subcamp_color;} + else {$camp_recycle_color=$campaigns_color;} + if ($SUB==26) {$camp_autoalt_color=$subcamp_color;} + else {$camp_autoalt_color=$campaigns_color;} + if ($SUB==27) {$camp_pause_color=$subcamp_color;} + else {$camp_pause_color=$campaigns_color;} + if ($SUB==29) {$camp_listmix_color=$subcamp_color;} + else {$camp_listmix_color=$campaigns_color;} + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "
$row[0]: Basic Detail StatusesHotKeysLead RecyclingAuto Alt DialPause CodesList Mix Real-Time
\n"; + + echo "
\n"; + echo ""; + + echo "
\n"; + + if ($SUB < 1) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($Ds_to_print > $o) + { + $o++; + $Dstatus = $Dstatuses[$o]; + + echo "\n"; + } + else + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "QUITE\n"; + } + } + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + + + echo "\n"; + + echo "\n"; + + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + if ($campaign_allow_inbound == 'Y') + { + echo "\n"; + } + + echo "\n"; + + if ($allow_closers == 'Y') + { + echo "\n"; + } + + echo "\n"; + echo "
ID De la Campaña: $row[0]$NWB#vicidial_campaigns-campaign_id$NWE
Nombre de la Campaña: $NWB#vicidial_campaigns-campaign_name$NWE
Descripción De la Campaña: $NWB#vicidial_campaigns-campaign_description$NWE
Campaña Change Date: $campaign_changedate   $NWB#vicidial_campaigns-campaign_changedate$NWE
Campaña Login Date: $campaign_logindate   $NWB#vicidial_campaigns-campaign_logindate$NWE
Activo: $NWB#vicidial_campaigns-active$NWE
Extensión del parking: - Filename: $NWB#vicidial_campaigns-park_ext$NWE
Formulario Web: $NWB#vicidial_campaigns-web_form_address$NWE
Permitir Closers: $NWB#vicidial_campaigns-allow_closers$NWE
Permita de entrada y mezclado:$NWB#vicidial_campaigns-campaign_allow_inbound$NWE
Estado Del Dial $o: \n"; + + if ($DEFstatusDISABLED > 0) + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "REMOVE
Add A Dial Estado:   \n"; + echo "     $NWB#vicidial_campaigns-dial_status$NWE
Orden De la Lista: $NWB#vicidial_campaigns-lead_order$NWE
List Mix: $NWB#vicidial_campaigns-list_order_mix$NWE
Filtro del plomo: $NWB#vicidial_campaigns-lead_filter_id$NWE
Nivel Del Hopper: $NWB#vicidial_campaigns-hopper_level$NWE
Forzar el Reinicio del Hopper: $NWB#vicidial_campaigns-force_reset_hopper$NWE
Método Del Dial: $NWB#vicidial_campaigns-dial_method$NWE
Nivel del Auto-Dial: (0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE       ADAPTE LA INVALIDACIÓN
Solamente Cuenta Disponible: $NWB#vicidial_campaigns-available_only_ratio_tally$NWE
Límite Del Porcentaje De la Gota: % $NWB#vicidial_campaigns-adaptive_dropped_percentage$NWE
El Máximo Adapta El Nivel Del Dial: number only $NWB#vicidial_campaigns-adaptive_maximum_level$NWE
El Tiempo Más último Del Servidor: 4 Solamente dígitos $NWB#vicidial_campaigns-adaptive_latest_server_time$NWE
Adapte El Modificante De la Intensidad: $NWB#vicidial_campaigns-adaptive_intensity$NWE
Blanco Llana De la Diferencia Del Dial: $NWB#vicidial_campaigns-adaptive_dl_diff_target$NWE
Transferencias Concurrentes: $NWB#vicidial_campaigns-concurrent_transfers$NWE
El Marcar Auto Del Alt-Nu'mero: $NWB#vicidial_campaigns-auto_alt_dial$NWE
Llamar al Siguiente Agente: $NWB#vicidial_campaigns-next_agent_call$NWE
Franja horaria de llamada: $NWB#vicidial_campaigns-local_call_time$NWE
Tiempo de espera Del Dial: in seconds$NWB#vicidial_campaigns-dial_timeout$NWE
Prefijo al marcar: for 91NXXNXXXXXX value would be 9, for no dial prefix use X$NWB#vicidial_campaigns-dial_prefix$NWE
Omita El Código Del Teléfono: $NWB#vicidial_campaigns-omit_phone_code$NWE
CallerID de la Campaña: $NWB#vicidial_campaigns-campaign_cid$NWE
Exten VDAD de La campaña: $NWB#vicidial_campaigns-campaign_vdad_exten$NWE
Extensión de Rec de la campaña: $NWB#vicidial_campaigns-campaign_rec_exten$NWE
Grabación De la Campaña: $NWB#vicidial_campaigns-campaign_recording$NWE
Nombre de fichero De Rec De la Campaña: $NWB#vicidial_campaigns-campaign_rec_filename$NWE
La Registración Retrasa: in seconds$NWB#vicidial_campaigns-allcalls_delay$NWE
Script: $NWB#vicidial_campaigns-campaign_script$NWE
Consiga El Lanzamiento De la Llamada: $NWB#vicidial_campaigns-get_call_launch$NWE
Mensaje del contestador automático: $NWB#vicidial_campaigns-am_message_exten$NWE
AMD envían a la VM exten: $NWB#vicidial_campaigns-amd_send_to_vmx$NWE
Transfiera -Conf DTMF 1: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
Transfiera -Conf El Número 1: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
Transfiera -Conf DTMF 2: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
Transfiera -Conf El Número 2: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
El Marcar Del Número Del Alt: $NWB#vicidial_campaigns-alt_number_dialing$NWE
Servicios repetidos Programar: $NWB#vicidial_campaigns-scheduled_callbacks$NWE
Segundos De la Llamada De la Gota: $NWB#vicidial_campaigns-drop_call_seconds$NWE
Buzón de Voz: $NWB#vicidial_campaigns-voicemail_ext$NWE
Utilice El Mensaje Seguro Del Puerto: $NWB#vicidial_campaigns-safe_harbor_message$NWE
Puerto Seguro Exten: $NWB#vicidial_campaigns-safe_harbor_exten$NWE
Segundos De Wrap Up: $NWB#vicidial_campaigns-wrapup_seconds$NWE
Mensaje De Wrap Up: $NWB#vicidial_campaigns-wrapup_message$NWE
Utilice La Lista Interna de DNC: $NWB#vicidial_campaigns-use_internal_dnc$NWE
AgentCódigos De la PausaActivo: $NWB#vicidial_campaigns-agent_pause_codes_active$NWE
Campaña Stats Refresh: $NWB#vicidial_campaigns-campaign_stats_refresh$NWE
Inhabilite Alteran Datos Del Cliente:$NWB#vicidial_campaigns-disable_alter_custdata$NWE
Permita Ninguno-Tolva-Conduce Conexiones: $NWB#vicidial_campaigns-no_hopper_leads_logins$NWE
Identificación Manual De la Lista Del Dial:$NWB#vicidial_campaigns-manual_dial_list_id$NWE
Grupos De entrada Permitidos:
"; + echo " $NWB#vicidial_campaigns-closer_campaigns$NWE
\n"; + echo "$groups_list"; + echo "
Grupo De la Transferencia Del Defecto:$NWB#vicidial_campaigns-default_xfer_group$NWE
Grupos Permitidos De la Transferencia:
"; + echo " $NWB#vicidial_campaigns-xfer_groups$NWE
\n"; + echo "$XFERgroups_list"; + echo "
\n"; + + echo "
\n"; + echo "
LISTAS DENTRO DE ESTA CAMPAÑA:   $NWB#vicidial_campaign_lists$NWE
\n"; + echo "\n"; + echo "\n"; + + $active_lists = 0; + $inactive_lists = 0; + $stmt="SELECT list_id,active,list_name from vicidial_lists where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $o++; + if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_lists++;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + echo "
ID DE LA LISTANOMBRE DE LA LISTAACTIVO
$rowx[0]$rowx[2]$rowx[1]

\n"; + echo "
\n"; + + $filterSQL = $filtersql_list[$lead_filter_id]; + $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); + if (strlen($filterSQL)>4) + {$fSQL = "and $filterSQL";} + else + {$fSQL = '';} + + $camp_lists = eregi_replace(".$","",$camp_lists); + echo "Esta campaña tiene $active_lists listas activas y $inactive_lists listas inactivas

\n"; + + if ($display_dialable_count == 'Y') + { + ### call function to calculate and print dialable leads + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$fSQL); + echo " - PIEL

"; + } + else + { + echo "Popup Dialable Leads Count"; + echo " - DEMOSTRACIÓN

"; + } + + + + + + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id='$campaign_id' and status IN('READY')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $hopper_leads = "$rowx[0]"; + + echo "Esta campaña tiene $hopper_leads Leads en el Hopper

\n"; + echo "Chasque aquí para ver qué plomos están en la tolva ahora

\n"; + echo "Chasque aquí para ver todos los asimientos del servicio repetido en esta campaña

\n"; + echo "Click here to see a VDAD report for this campaign

\n"; + echo "
\n"; + } + + + + if ($SUB==22) + { + + ##### get status category listings for dynamic pulldown + $stmt="SELECT vsc_id,vsc_name from vicidial_status_categories order by vsc_id desc"; + $rslt=mysql_query($stmt, $link); + $cats_to_print = mysql_num_rows($rslt); + $cats_list=""; + + $o=0; + while ($cats_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $cats_list .= "\n"; + $catsname_list["$rowx[0]"] = substr($rowx[1],0,20); + $o++; + } + + + echo "
\n"; + echo "
ESTADOS DE ENCARGO DENTRO DE ESTA CAMPAÚA:   $NWB#vicidial_campaign_statuses$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AScategory = $rowx[5]; + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
ESTADODESCRIPCIÓNSELECCIONABLERESPUESTA HUMANAELIMINAR
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
\n"; + echo "\n"; + echo "         \n"; + echo "   \n"; + echo "ELIMINAR\n"; + echo "
\n"; + + echo "
AGREGAR ESTADO PERSONALIZADO A LA CAMPAÑA
\n"; + echo "\n"; + echo "\n"; + echo "Estado:   \n"; + echo "Descripción:   \n"; + echo "Seleccionable:   \n"; + echo "Human Answer:   \n"; + echo "Categoría:\n"; + echo "  
\n"; + echo "
\n"; + + echo "

\n"; + } + + + if ($SUB==23) + { + echo "
PERSONALIZAR ACCEDOS DIRECTOS PARA ESTA CAMPAÑA:   $NWB#vicidial_campaign_hotkeys$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_campaign_hotkeys where campaign_id='$campaign_id' order by hotkey"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + + } + + echo "
ACCESO DIRECTOESTADODESCRIPCIÓNELIMINAR
$rowx[1]$rowx[0]$rowx[2]ELIMINAR
\n"; + + echo "
AÑADIR ACCESO DIRECTO A LA CAMPAÑA
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Hotkey:   \n"; + echo "Estado:   \n"; + echo "
\n"; + echo "

\n"; + } + + + if ($SUB==25) + { + echo "

PLOMO QUE RECICLA DENTRO DE ESTA CAMPAÑA:   $NWB#vicidial_lead_recycle$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_lead_recycle where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $recycle_to_print = mysql_num_rows($rslt); + $o=0; + while ($recycle_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
ESTADOLA TENTATIVA RETRASAMÁXIMO DE LA TENTATIVAACTIVO ELIMINAR
$rowx[2]
\n"; + echo "\n"; + echo "\n"; + echo "
ELIMINAR
\n"; + + echo "
AGREGUE EL NUEVO PLOMO DE LA CAMPAÑA RECICLAN
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Estado:   \n"; + echo "La Tentativa Retrasa: \n"; + echo "Máximo De la Tentativa: \n"; + echo "
\n"; + + echo "

\n"; + } + + + if ($SUB==26) + { + echo "

NÚMERO AUTO DEL ALT QUE MARCA PARA ESTA CAMPAÑA:   $NWB#vicidial_auto_alt_dial_statuses$NWE
\n"; + echo "\n"; + echo "\n"; + + $auto_alt_dial_statuses = preg_replace("/ -$/","",$auto_alt_dial_statuses); + $AADstatuses = explode(" ", $auto_alt_dial_statuses); + $AADs_to_print = (count($AADstatuses) -1); + + $o=0; + while ($AADs_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + $o++; + + echo "\n"; + echo "\n"; + } + + echo "
STATUSESELIMINAR
$AADstatuses[$o]ELIMINAR
\n"; + + echo "
AGREGUE EL ESTADO QUE MARCA DEL NUEVO DEL AUTOMÓVIL NÚMERO DEL ALT
\n"; + echo "\n"; + echo "\n"; + echo "Estado:   \n"; + echo "
\n"; + + echo "

\n"; + } + + + if ($SUB==27) + { + echo "

CÓDIGOS DE LA PAUSA DEL AGENTE PARA ESTA CAMPAÑA:   $NWB#vicidial_pause_codes$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_pause_codes where campaign_id='$campaign_id' order by pause_code"; + $rslt=mysql_query($stmt, $link); + $pause_codes_to_print = mysql_num_rows($rslt); + $o=0; + while ($pause_codes_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
CÓDIGOS DE LA PAUSAFACTURABLEMODIFICARELIMINAR
$rowx[0]\n"; + echo "\n"; + echo "\n"; + echo "  \n"; + echo "
ELIMINAR
\n"; + + echo "
AGREGUE EL NUEVO CÓDIGO DE LA PAUSA DEL AGENTE
\n"; + echo "\n"; + echo "\n"; + echo "Código De la Pausa: \n"; + echo "Nombre Del Código De la Pausa: \n"; + echo "   Facturable: \n"; + echo "
\n"; + + echo "

\n"; + } + + + if ($SUB < 1) + { + echo "

\n"; + echo "REGISTRE TODOS LOS AGENTES FUERA DE ESTA CAMPAÑA

\n"; + echo "EMERGENCY VDAC CLEAR FOR THIS CAMPAIGN

\n"; + + if ($LOGdelete_campaigns > 0) + { + echo "

SUPRIMA ESTA CAMPAÑA\n"; + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=34 modify campaign info in the system - Basic View +###################### + +if ( ($ADD==34) and ( (!eregi("$campaign_id",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) ) + {$ADD=30;} # send to not allowed screen if not in vicidial_user_groups allowed_campaigns list + +if ($ADD==34) +{ + if ($LOGmodify_campaigns==1) + { + if ($stage=='show_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='Y' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + if ($stage=='hide_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='N' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT * from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $dial_status_a = $row[3]; + $dial_status_b = $row[4]; + $dial_status_c = $row[5]; + $dial_status_d = $row[6]; + $dial_status_e = $row[7]; + $lead_order = $row[8]; + $hopper_level = $row[13]; + $auto_dial_level = $row[14]; + $next_agent_call = $row[15]; + $local_call_time = $row[16]; + $voicemail_ext = $row[17]; + $dial_timeout = $row[18]; + $dial_prefix = $row[19]; + $campaign_cid = $row[20]; + $campaign_vdad_exten = $row[21]; + $script_id = $row[25]; + $get_call_launch = $row[26]; + $lead_filter_id = $row[35]; + if ($lead_filter_id=='') {$lead_filter_id='NONE';} + $display_dialable_count = $row[39]; + $dial_method = $row[46]; + $adaptive_intensity = $row[51]; + $campaign_description = $row[57]; + $campaign_changedate = $row[58]; + $campaign_stats_refresh = $row[59]; + $campaign_logindate = $row[60]; + $dial_statuses = $row[61]; + $list_order_mix = $row[64]; + $default_xfer_group = $row[67]; + $campaign_allow_inbound = $row[65]; + $default_xfer_group = $row[67]; + + if (ereg("DISABLED",$list_order_mix)) + {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} + else + {$DEFlistDISABLE = 'disabled'; $DEFstatusDISABLED=1;} + + $stmt="SELECT * from vicidial_statuses order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $statuses_list=''; + + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + $o++; + } + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $Cstatuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($Cstatuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + $o++; + } + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) -1); + + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE'"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $mixes_list="\n"; + $mixname_list["DISABLED"] = "DISABLED"; + } + else + { + ##### get list_mix listings for dynamic pulldown + $stmt="SELECT vcl_id,vcl_name from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE' limit 1"; + $rslt=mysql_query($stmt, $link); + $mixes_to_print = mysql_num_rows($rslt); + $mixes_list="\n"; + + $o=0; + while ($mixes_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $mixes_list .= "\n"; + $mixname_list["ACTIVE"] = "$rowx[0] - $rowx[1]"; + $o++; + } + } + + if ($SUB<1) {$camp_detail_color=$subcamp_color;} + else {$camp_detail_color=$campaigns_color;} + if ($SUB==22) {$camp_statuses_color=$subcamp_color;} + else {$camp_statuses_color=$campaigns_color;} + if ($SUB==23) {$camp_hotkeys_color=$subcamp_color;} + else {$camp_hotkeys_color=$campaigns_color;} + if ($SUB==25) {$camp_recycle_color=$subcamp_color;} + else {$camp_recycle_color=$campaigns_color;} + if ($SUB==26) {$camp_autoalt_color=$subcamp_color;} + else {$camp_autoalt_color=$campaigns_color;} + if ($SUB==27) {$camp_pause_color=$subcamp_color;} + else {$camp_pause_color=$campaigns_color;} + if ($SUB==29) {$camp_listmix_color=$subcamp_color;} + else {$camp_listmix_color=$campaigns_color;} + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "
$row[0]: Vista Básica Vista Detallada List Mix Pantalla En tiempo real  
\n"; + + if ($SUB < 1) + { + echo "
\n"; + echo ""; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($Ds_to_print > $o) + { + $o++; + $Dstatus = $Dstatuses[$o]; + + echo "\n"; + } + else + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "QUITE\n"; + } + } + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
ID De la Campaña: $row[0]$NWB#vicidial_campaigns-campaign_id$NWE
Nombre de la Campaña: $NWB#vicidial_campaigns-campaign_name$NWE
Descripción De la Campaña: $row[57]$NWB#vicidial_campaigns-campaign_description$NWE
Campaña Change Date: $campaign_changedate   $NWB#vicidial_campaigns-campaign_changedate$NWE
Campaña Login Date: $campaign_logindate   $NWB#vicidial_campaigns-campaign_logindate$NWE
Activo: $NWB#vicidial_campaigns-active$NWE
Extensión del parking: $row[9] - $row[10]$NWB#vicidial_campaigns-park_ext$NWE
Formulario Web: $row[11]$NWB#vicidial_campaigns-web_form_address$NWE
Permitir Closers: $row[12] $NWB#vicidial_campaigns-allow_closers$NWE
Grupo De la Transferencia Del Defecto:$default_xfer_group $NWB#vicidial_campaigns-default_xfer_group$NWE
Permita de entrada y mezclado:$campaign_allow_inbound $NWB#vicidial_campaigns-campaign_allow_inbound$NWE
Estado Del Dial $o: \n"; + if ($DEFstatusDISABLED > 0) + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "REMOVE
Add A Dial Estado:   \n"; + echo "     $NWB#vicidial_campaigns-dial_status$NWE
Orden De la Lista: $NWB#vicidial_campaigns-lead_order$NWE
List Mix: $NWB#vicidial_campaigns-list_order_mix$NWE
Filtro del plomo: $NWB#vicidial_campaigns-lead_filter_id$NWE
Nivel Del Hopper: $NWB#vicidial_campaigns-hopper_level$NWE
Forzar el Reinicio del Hopper: $NWB#vicidial_campaigns-force_reset_hopper$NWE
Método Del Dial: $NWB#vicidial_campaigns-dial_method$NWE
Nivel del Auto-Dial: (0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE
Adapte El Modificante De la Intensidad: $NWB#vicidial_campaigns-adaptive_intensity$NWE
Script: $script_id
Consiga El Lanzamiento De la Llamada: $get_call_launch
\n"; + + echo "
\n"; + echo "
LISTAS DENTRO DE ESTA CAMPAÑA:   $NWB#vicidial_campaign_lists$NWE
\n"; + echo "\n"; + echo "\n"; + + $active_lists = 0; + $inactive_lists = 0; + $stmt="SELECT list_id,active,list_name from vicidial_lists where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_lists++;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + + } + + echo "
ID DE LA LISTANOMBRE DE LA LISTAACTIVO
$rowx[0]$rowx[2]$rowx[1]

\n"; + echo "
\n"; + + $filterSQL = $filtersql_list[$lead_filter_id]; + $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); + if (strlen($filterSQL)>4) + {$fSQL = "and $filterSQL";} + else + {$fSQL = '';} + + $camp_lists = eregi_replace(".$","",$camp_lists); + echo "Esta campaña tiene $active_lists listas activas y $inactive_lists listas inactivas

\n"; + + + if ($display_dialable_count == 'Y') + { + ### call function to calculate and print dialable leads + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$fSQL); + echo " - PIEL

"; + } + else + { + echo "Popup Dialable Leads Count"; + echo " - DEMOSTRACIÓN

"; + } + + + + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id='$campaign_id' and status IN('READY')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $hopper_leads = "$rowx[0]"; + + echo "Esta campaña tiene $hopper_leads Leads en el Hopper

\n"; + echo "Chasque aquí para ver qué plomos están en la tolva ahora

\n"; + echo "Chasque aquí para ver todos los asimientos del servicio repetido en esta campaña

\n"; + echo "Click here to see a VDAD report for this campaign

\n"; + echo "
\n"; + + echo "
\n"; + + ### list of agent rank or skill-level for this campaign + echo "
\n"; + echo "
FILAS DEL AGENTE PARA ESTA CAMPAÑA:
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT user,campaign_rank,calls_today from vicidial_campaign_agents where campaign_id='$campaign_id'"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
USER     RANK     CALLS TODAY
$rowx[0]$rowx[1]$rowx[2]

\n"; + + + echo "REGISTRE TODOS LOS AGENTES FUERA DE ESTA CAMPAÑA

\n"; + + + if ($LOGdelete_campaigns > 0) + { + echo "

SUPRIMA ESTA CAMPAÑA\n"; + } + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=31 or 34 and SUB=29 for list mixes +###################### +if ( ( ($ADD==34) or ($ADD==31) ) and ( (!eregi("$campaign_id",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) ) + {$ADD=30;} # send to not allowed screen if not in vicidial_user_groups allowed_campaigns list + +if ( ($ADD==34) or ($ADD==31) ) +{ + if ($LOGmodify_campaigns==1) + { + if ($SUB==29) + { + ##### get list_id listings for dynamic pulldown + $stmt="SELECT list_id,list_name from vicidial_lists where campaign_id='$campaign_id' order by list_id"; + $rslt=mysql_query($stmt, $link); + $mixlists_to_print = mysql_num_rows($rslt); + $mixlists_list=""; + + $o=0; + while ($mixlists_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $mixlists_list .= "\n"; + $mixlistsname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + + echo "

MEZCLAS DE LA LISTA PARA ESTA CAMPAÑA:  $NWB#vicidial_campaigns-list_order_mix$NWE
\n"; + + echo "

Experimental Feature in development!!! NON-FUNCTIONAL
\n"; + + + $stmt="SELECT * from vicidial_campaigns_list_mix where campaign_id='$campaign_id' order by status, vcl_id"; + $rslt=mysql_query($stmt, $link); + $listmixes = mysql_num_rows($rslt); + $o=0; + while ($listmixes > $o) + { + $rowx=mysql_fetch_row($rslt); + $vcl_id=$rowx[0]; + $o++; + + if ($o < 2) + {$tablecolor='bgcolor="#99FF99"'; $bgcolor='bgcolor="#CCFFCC"';} + else + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$tablecolor='bgcolor="#B9CBFD"'; $bgcolor='bgcolor="#9BB9FB"';} + else + {$tablecolor='bgcolor="#9BB9FB"'; $bgcolor='bgcolor="#B9CBFD"';} + } + echo "
\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + } + else + {echo "$rowx[5]\n";} + echo "\n"; + echo "\n"; + +# list_id|order|percent|statuses|:list_id|order|percent|statuses|:... +# 101|1|40| A B NA -|:102|2|25| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -| +# INSERT INTO vicidial_campaigns_list_mix values('TESTMIX','TESTCAMP List Mix','TESTCAMP','101|1|40| A B NA -|:102|2|25| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -|','IN_ORDER','ACTIVE'); +# INSERT INTO vicidial_campaigns_list_mix values('TESTMIX2','TESTCAMP List Mix2','TESTCAMP','101|1|20| A B -|:102|2|45| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -|','IN_ORDER','ACTIVE'); +# INSERT INTO vicidial_campaigns_list_mix values('TESTMIX3','TESTCAMP List Mix3','TESTCAMP','101|1|30| A NA -|:102|2|35| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -|','IN_ORDER','ACTIVE'); + + $MIXentries = $MT; + $MIXentries = explode(":", $rowx[3]); + $Ms_to_print = (count($MIXentries) - 0); + $q=0; + while ($Ms_to_print > $q) + { + $MIXdetails = explode('|', $MIXentries[$q]); + $MIXdetailsLIST = $MIXdetails[0]; + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) - 0); + $Dsql = ''; + $r=0; + while ($Ds_to_print > $r) + { + $r++; + $Dsql .= "'$Dstatuses[$r]',"; + } + $Dsql = preg_replace("/,$/","",$Dsql); + + echo "\n"; + + echo "\n"; + + echo "\n"; + + + echo "\n"; + echo "\n"; + + + echo "\n"; + + + $q++; + + } + + + + + echo "\n"; + + echo "\n"; + + + echo "\n"; + + if ($q > 9) {$AE_disabled = 'DISABLED';} + else {$AE_disabled = '';} + echo "\n"; + echo "
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$vcl_id:\n"; + echo "\n"; + echo "     DELETE LIST MIX
Estado: \n"; + if ($rowx[5]=='INACTIVE') + { + echo "$rowx[5]\n"; + echo "FIJE A ACTIVOMethod:\n"; + echo "
ID DE LA LISTAPRIORITY% MIXSTATUSES
\n"; + echo "\n"; + echo "List: $MIXdetailsLIST   QUITE\n"; + + + + echo " \n"; + echo "ADD   \n"; + echo "QUITE\n"; + echo "
\n"; + echo "Difference %: \n"; + echo "   \n"; + echo "\n"; + echo "
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "List:
\n"; + echo "
\n"; + } + + + echo "

NUEVA LISTA MIX
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Mix ID: Mix Name: Mix Method: "; + echo "
List: Dial Estado:  
\n"; + + echo "
\n"; + + } + } +} + + +###################### +# ADD=30 campaign not allowed +###################### + +if ($ADD==30) +{ +echo "
\n"; + echo ""; +echo "You do not have permission to view campaign $campaign_id\n"; +} + + +###################### +# ADD=32 display all campaign statuses +###################### +if ($ADD==32) +{ +echo "
\n"; + echo ""; + +echo "
LISTADOS DE ENCARGO DE LOS ESTADOS DE LA CAMPAÑA:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNNOMBRESTATUSESMODIFICAR
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT status from vicidial_campaign_statuses where campaign_id='$campaigns_id_list[$o]' order by status"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY STATUSES
\n"; +} + + +###################### +# ADD=33 display all campaign hotkeys +###################### +if ($ADD==33) +{ +echo "
\n"; + echo ""; + +echo "
LISTADOS DE LA CAMPAÑA HOTKEYS:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNNOMBREHOTKEYSMODIFICAR
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT status from vicidial_campaign_hotkeys where campaign_id='$campaigns_id_list[$o]' order by status"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY HOTKEYS
\n"; +} + + +###################### +# ADD=35 display all campaign lead recycle entries +###################### +if ($ADD==35) +{ +echo "
\n"; + echo ""; + +echo "
EL PLOMO DE LA CAMPAÑA RECICLA LISTADOS:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNNOMBREEL PLOMO RECICLAMODIFICAR
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT status from vicidial_lead_recycle where campaign_id='$campaigns_id_list[$o]' order by status"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY EL PLOMO RECICLA
\n"; +} + + +###################### +# ADD=36 display all campaign auto-alt dial entries +###################### +if ($ADD==36) +{ +echo "
\n"; + echo ""; + +echo "
LISTADOS DEL DIAL DEL PLOMO AUTO-ALT DE LA CAMPAÑA:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNNOMBREAUTO-ALT DIALMODIFICAR
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaigns_id_list[$o]';"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if (strlen($row[0])<3) + {echo "NONE";} + echo "MODIFY AUTO-ALT DIAL
\n"; +} + + +###################### +# ADD=37 display all campaign agent pause codes +###################### +if ($ADD==37) +{ +echo "
\n"; + echo ""; + +echo "
LISTADOS DE CÓDIGO DE LA PAUSA DEL AGENTE DE LA CAMPAÑA:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNNOMBRECÓDIGOS DE LA PAUSAMODIFICAR
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT pause_code from vicidial_pause_codes where campaign_id='$campaigns_id_list[$o]' order by pause_code;"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY CÓDIGOS DE LA PAUSA
\n"; +} + + +###################### +# ADD=39 display all campaign list mixes +###################### +if ($ADD==39) +{ +echo "
\n"; + echo ""; + +echo "
LISTADOS DE LA MEZCLA DE LA LISTA DE LA CAMPAÑA:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAIGNNOMBRELIST MIXMODIFICAR
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT vcl_id from vicidial_campaigns_list_mix where campaign_id='$campaigns_id_list[$o]' order by status,vcl_id;"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY LIST MIX
\n"; +} + + + + + +###################### +# ADD=311 modify list info in the system +###################### + +if ($ADD==311) +{ + if ($LOGmodify_lists==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $campaign_id = $row[2]; + $active = $row[3]; + $list_description = $row[4]; + $list_changedate = $row[5]; + $list_lastcalldate = $row[6]; + + # grab names of global statuses and statuses in the selected campaign + $stmt="SELECT * from vicidial_statuses order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($statuses_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $statuses_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $Cstatuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($Cstatuses_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $statuses_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + # end grab status names + + + echo "
MODIFICAR UN REGISTRO DE LAS LISTAS: $row[0]
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID De la Lista: $row[0]$NWB#vicidial_lists-list_id$NWE
Nombre De la Lista: $NWB#vicidial_lists-list_name$NWE
Descripción De la Lista: $NWB#vicidial_lists-list_description$NWE
Campaña: $NWB#vicidial_lists-campaign_id$NWE
Activo: $NWB#vicidial_lists-active$NWE
Reiniciar el Lead-Called-Status para esta lista: $NWB#vicidial_lists-reset_list$NWE
Fecha Del Cambio De la Lista: $list_changedate   $NWB#vicidial_lists-list_changedate$NWE
List Last Call Date: $list_lastcalldate   $NWB#vicidial_lists-list_lastcalldate$NWE
\n"; + + echo "
\n"; + echo "
ESTADOS DENTRO DE ESTA LISTA:
\n"; + echo "\n"; + echo "\n"; + + $leads_in_list = 0; + $leads_in_list_N = 0; + $leads_in_list_Y = 0; + $stmt="SELECT status,called_since_last_reset,count(*) from vicidial_list where list_id='$list_id' group by status,called_since_last_reset order by status,called_since_last_reset"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + + $o=0; + $lead_list['count'] = 0; + $lead_list['Y_count'] = 0; + $lead_list['N_count'] = 0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + + $lead_list['count'] = ($lead_list['count'] + $rowx[2]); + if ($rowx[1] == 'N') + { + $since_reset = 'N'; + $since_resetX = 'Y'; + } + else + { + $since_reset = 'Y'; + $since_resetX = 'N'; + } + $lead_list[$since_reset][$rowx[0]] = ($lead_list[$since_reset][$rowx[0]] + $rowx[2]); + $lead_list[$since_reset.'_count'] = ($lead_list[$since_reset.'_count'] + $rowx[2]); + #If opposite side is not set, it may not in the future so give it a value of zero + if (!isset($lead_list[$since_resetX][$rowx[0]])) + { + $lead_list[$since_resetX][$rowx[0]]=0; + } + $o++; + } + + $o=0; + if ($lead_list['count'] > 0) + { + while (list($dispo,) = each($lead_list[$since_reset])) + { + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + if ($dispo == 'CBHOLD') + { + $CLB=""; + $CLE=""; + } + else + { + $CLB=''; + $CLE=''; + } + + echo "\n"; + $o++; + } + } + + echo "\n"; + echo "\n"; + + echo "
ESTADONOMBRE DEL ESTADOLLAMADONO LLAMADO
$CLB$dispo$CLE$statuses_list[$dispo]".$lead_list['Y'][$dispo]."".$lead_list['N'][$dispo]."
SUBTOTALES$lead_list[Y_count]$lead_list[N_count]
TOTAL$lead_list[count]

\n"; + unset($lead_list); + + + echo "
\n"; + echo "
ZONAS DE TIEMPO DENTRO DE ESTA LISTA:
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT gmt_offset_now,called_since_last_reset,count(*) from vicidial_list where list_id='$list_id' group by gmt_offset_now,called_since_last_reset order by gmt_offset_now,called_since_last_reset"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + + $o=0; + $plus='+'; + $lead_list['count'] = 0; + $lead_list['Y_count'] = 0; + $lead_list['N_count'] = 0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + + $lead_list['count'] = ($lead_list['count'] + $rowx[2]); + if ($rowx[1] == 'N') + { + $since_reset = 'N'; + $since_resetX = 'Y'; + } + else + { + $since_reset = 'Y'; + $since_resetX = 'N'; + } + $lead_list[$since_reset][$rowx[0]] = ($lead_list[$since_reset][$rowx[0]] + $rowx[2]); + $lead_list[$since_reset.'_count'] = ($lead_list[$since_reset.'_count'] + $rowx[2]); + #If opposite side is not set, it may not in the future so give it a value of zero + if (!isset($lead_list[$since_resetX][$rowx[0]])) + { + $lead_list[$since_resetX][$rowx[0]]=0; + } + $o++; + } + + if ($lead_list['count'] > 0) + { + while (list($tzone,) = each($lead_list[$since_reset])) + { + $LOCALzone=3600 * $tzone; + $LOCALdate=gmdate("D M Y H:i", time() + $LOCALzone); + + if ($tzone >= 0) {$DISPtzone = "$plus$tzone";} + else {$DISPtzone = "$tzone";} + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + } + + echo "\n"; + echo "\n"; + + echo "
DESPLAZAMIENTO GMT AHORA (tiempo local)LLAMADONO LLAMADO
".$DISPtzone."     ($LOCALdate)".$lead_list['Y'][$tzone]."".$lead_list['N'][$tzone]."
SUBTOTALES$lead_list[Y_count]$lead_list[N_count]
TOTAL$lead_list[count]

\n"; + unset($lead_list); + + + + $leads_in_list = 0; + $leads_in_list_N = 0; + $leads_in_list_Y = 0; + $stmt="SELECT status,called_count,count(*) from vicidial_list where list_id='$list_id' group by status,called_count order by status,called_count"; + $rslt=mysql_query($stmt, $link); + $status_called_to_print = mysql_num_rows($rslt); + + $o=0; + $sts=0; + $first_row=1; + $all_called_first=1000; + $all_called_last=0; + while ($status_called_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $leads_in_list = ($leads_in_list + $rowx[2]); + $count_statuses[$o] = "$rowx[0]"; + $count_called[$o] = "$rowx[1]"; + $count_count[$o] = "$rowx[2]"; + $all_called_count[$rowx[1]] = ($all_called_count[$rowx[1]] + $rowx[2]); + + if ( (strlen($status[$sts]) < 1) or ($status[$sts] != "$rowx[0]") ) + { + if ($first_row) {$first_row=0;} + else {$sts++;} + $status[$sts] = "$rowx[0]"; + $status_called_first[$sts] = "$rowx[1]"; + if ($status_called_first[$sts] < $all_called_first) {$all_called_first = $status_called_first[$sts];} + } + $leads_in_sts[$sts] = ($leads_in_sts[$sts] + $rowx[2]); + $status_called_last[$sts] = "$rowx[1]"; + if ($status_called_last[$sts] > $all_called_last) {$all_called_last = $status_called_last[$sts];} + + $o++; + } + + + + + echo "
\n"; + echo "
LLAMADAS REALIZADAS DENTRO DE ESTA LISTA:
\n"; + echo "\n"; + echo ""; + $first = $all_called_first; + while ($first <= $all_called_last) + { + if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#AFEEEE"';} + else{$AB='bgcolor="#E0FFFF"';} + echo ""; + $first++; + } + echo "\n"; + + $sts=0; + $statuses_called_to_print = count($status); + while ($statuses_called_to_print > $sts) + { + $Pstatus = $status[$sts]; + if (eregi("1$|3$|5$|7$|9$", $sts)) + {$bgcolor='bgcolor="#B9CBFD"'; $AB='bgcolor="#9BB9FB"';} + else + {$bgcolor='bgcolor="#9BB9FB"'; $AB='bgcolor="#B9CBFD"';} + # echo "$status[$sts]|$status_called_first[$sts]|$status_called_last[$sts]|$leads_in_sts[$sts]|\n"; + # echo "$status[$sts]|"; + echo ""; + + $first = $all_called_first; + while ($first <= $all_called_last) + { + if (eregi("1$|3$|5$|7$|9$", $sts)) + { + if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#9BB9FB"';} + else{$AB='bgcolor="#B9CBFD"';} + } + else + { + if (eregi("0$|2$|4$|6$|8$", $first)) {$AB='bgcolor="#9BB9FB"';} + else{$AB='bgcolor="#B9CBFD"';} + } + + $called_printed=0; + $o=0; + while ($status_called_to_print > $o) + { + if ( ($count_statuses[$o] == "$Pstatus") and ($count_called[$o] == "$first") ) + { + $called_printed++; + echo ""; + } + + + $o++; + } + if (!$called_printed) + {echo "";} + $first++; + } + echo "\n\n"; + + $sts++; + } + + echo ""; + $first = $all_called_first; + while ($first <= $all_called_last) + { + if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#AFEEEE"';} + else{$AB='bgcolor="#E0FFFF"';} + echo ""; + $first++; + } + echo "\n"; + + echo "
ESTADONOMBRE DEL ESTADO$firstSUBTOTAL
$Pstatus$statuses_list[$Pstatus] $count_count[$o]  $leads_in_sts[$sts]
TOTAL$all_called_count[$first]$leads_in_list

\n"; + + + + + + echo "
\n"; + + echo "

Click here to see all CallBack Holds in this list

\n"; + + if ($LOGdelete_lists > 0) + { + echo "

SUPRIMA ESTA LISTA\n"; + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + + +###################### +# ADD=3111 modify in-group info in the system +###################### + +if ($ADD==3111) +{ + if ($LOGmodify_ingroups==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $group_name = $row[1]; + $group_color = $row[2]; + $active = $row[3]; + $web_form_address = $row[4]; + $voicemail_ext = $row[5]; + $next_agent_call = $row[6]; + $fronter_display = $row[7]; + $script_id = $row[8]; + $get_call_launch = $row[9]; + $xferconf_a_dtmf = $row[10]; + $xferconf_a_number = $row[11]; + $xferconf_b_dtmf = $row[12]; + $xferconf_b_number = $row[13]; + $drop_call_seconds = $row[14]; + $drop_message = $row[15]; + $drop_exten = $row[16]; + $call_time_id = $row[17]; + $after_hours_action = $row[18]; + $after_hours_message_filename = $row[19]; + $after_hours_exten = $row[20]; + $after_hours_voicemail = $row[21]; + $welcome_message_filename = $row[22]; + $moh_context = $row[23]; + $onhold_prompt_filename = $row[24]; + $prompt_interval = $row[25]; + $agent_alert_exten = $row[26]; + $agent_alert_delay = $row[27]; + $default_xfer_group = $row[28]; + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "\n";} + else + {$Xgroups_menu .= "\n";} + + + echo "
MODIFICAR UN REGISTRO DE LOS GRUPOS: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
ID De Grupo: $row[0]$NWB#vicidial_inbound_groups-group_id$NWE
Nombre De Grupo: $NWB#vicidial_inbound_groups-group_name$NWE
Color Del Grupo: $NWB#vicidial_inbound_groups-group_color$NWE
Activo: $NWB#vicidial_inbound_groups-active$NWE
Formulario Web: $NWB#vicidial_inbound_groups-web_form_address$NWE
Llamar al Siguiente Agente: $NWB#vicidial_inbound_groups-next_agent_call$NWE
Mostrar Fronter: $NWB#vicidial_inbound_groups-fronter_display$NWE
Script: $NWB#vicidial_inbound_groups-ingroup_script$NWE
Consiga El Lanzamiento De la Llamada: $NWB#vicidial_inbound_groups-get_call_launch$NWE
Transfiera -Conf DTMF 1: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
Transfiera -Conf El Número 1: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
Transfiera -Conf DTMF 2: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
Transfiera -Conf El Número 2: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
Segundos De la Llamada De la Gota: $NWB#vicidial_inbound_groups-drop_call_seconds$NWE
Buzón de Voz: $NWB#vicidial_inbound_groups-voicemail_ext$NWE
Utilice El Mensaje De la Gota: $NWB#vicidial_inbound_groups-drop_message$NWE
Gota Exten: $NWB#vicidial_inbound_groups-drop_exten$NWE
Tiempo De la Llamada:$NWB#vicidial_inbound_groups-call_time_id$NWE
Después De la Acción De las Horas:$NWB#vicidial_inbound_groups-after_hours_action$NWE
Después De Nombre de fichero Del Mensaje De las Horas:$NWB#vicidial_inbound_groups-after_hours_message_filename$NWE
Después De la Extensión De las Horas:$NWB#vicidial_inbound_groups-after_hours_exten$NWE
Después De las Horas Buzón de Voz:$NWB#vicidial_inbound_groups-after_hours_voicemail$NWE
Nombre de fichero Agradable Del Mensaje:$NWB#vicidial_inbound_groups-welcome_message_filename$NWE
Música En Contexto Del Asimiento:$NWB#vicidial_inbound_groups-moh_context$NWE
En Nombre de fichero Del Aviso Del Asimiento:$NWB#vicidial_inbound_groups-onhold_prompt_filename$NWE
En Intervalo Del Aviso Del Asimiento:$NWB#vicidial_inbound_groups-prompt_interval$NWE
Extensión Alerta Del Agente:$NWB#vicidial_inbound_groups-agent_alert_exten$NWE
La Alarma Del Agente Retrasa:$NWB#vicidial_inbound_groups-agent_alert_delay$NWE
Grupo De la Transferencia Del Defecto:$NWB#vicidial_inbound_groups-default_xfer_group$NWE
\n"; + + ### list of agent rank or skill-level for this inbound group + echo "
\n"; + echo "
AGENTE RANKS FOR THIS INBOUND GROUP:
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT user,group_rank,calls_today from vicidial_inbound_group_agents where group_id='$group_id'"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
USER     RANK     CALLS TODAY
$rowx[0]$rowx[1]$rowx[2]

\n"; + + echo "

\n"; + + echo "Click here to see a report for this inbound group

\n"; + + echo "
\n"; + + if ($LOGdelete_ingroups > 0) + { + echo "

EMERGENCY VDAC CLEAR FOR THIS IN-GROUP

\n"; + echo "

SUPRIMA A ESTE EN-GRUPO\n"; + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + + +###################### +# ADD=31111 modify remote agents info in the system +###################### + +if ($ADD==31111) +{ + if ($LOGmodify_remoteagents==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_remote_agents where remote_agent_id='$remote_agent_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id = $row[0]; + $user_start = $row[1]; + $number_of_lines = $row[2]; + $server_ip = $row[3]; + $conf_exten = $row[4]; + $status = $row[5]; + $campaign_id = $row[6]; + + echo "
MODIFICAR UNA ENTRADA DE LOS AGENTES REMOTOS: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Comienzo Del ID del usuario: (Solamente números, incremented)$NWB#vicidial_remote_agents-user_start$NWE
Número de líneas: (Solamente números)$NWB#vicidial_remote_agents-number_of_lines$NWE
IP Del Servidor: $NWB#vicidial_remote_agents-server_ip$NWE
Extensión Externa: (número del dial plan para alcanzar agentes)$NWB#vicidial_remote_agents-conf_exten$NWE
Estado: $NWB#vicidial_remote_agents-status$NWE
Campaña: $NWB#vicidial_remote_agents-campaign_id$NWE
Grupos De entrada: \n"; + echo "$groups_list"; + echo "$NWB#vicidial_remote_agents-closer_campaigns$NWE
\n"; + echo "NOTA: Puede tomar hasta 30 segundos para los cambios sometidos en esta pantalla para ir viva\n"; + + + if ($LOGdelete_remote_agents > 0) + { + echo "

SUPRIMA ESTE AGENTE ALEJADO\n"; + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=311111 modify user group info in the system +###################### + +if ($ADD==311111) +{ + if ($LOGmodify_usergroups==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $user_group = $row[0]; + $group_name = $row[1]; + echo ""; + + echo "
MODIFICAR UNA ENTRADA EN LOS GRUPOS DE USUARIOS\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Grupo: (sin espacios o signos de puntuación)$NWB#vicidial_user_groups-user_group$NWE
Descripción: (Descripción del grupo)$NWB#vicidial_user_groups-group_name$NWE
Campañas Permitidas: \n"; + echo "$campaigns_list"; + echo "$NWB#vicidial_user_groups-allowed_campaigns$NWE
\n"; + + + ### list of users in this user group + + $active_confs = 0; + $stmt="SELECT user,full_name,user_level from vicidial_users where user_group='$user_group'"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + echo "
\n"; + echo "
USUARIOS DENTRO DE ESTE GRUPO DE USUARIO: $users_to_print
\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($users_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
USERFULL NAMELEVEL
$rowx[0]$rowx[1]$rowx[2]

\n"; + + + + echo "

Click here to see all CallBack Holds in this user group

\n"; + + if ($LOGdelete_user_groups > 0) + { + echo "

SUPRIMA A ESTE GRUPO DE USUARIO\n"; + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=3111111 modify script info in the system +###################### + +if ($ADD==3111111) +{ + if ($LOGmodify_scripts==1) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_scripts where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $script_name = $row[1]; + $script_comments = $row[2]; + $script_text = $row[3]; + $active = $row[4]; + echo ""; + + echo "
MODIFIQUE Una ESCRITURA\n"; + echo "\n"; + echo "\n"; + echo "
Identificación De la Escritura:: $script_id$NWB#vicidial_scripts-script_name$NWE
Nombre de la escritura: (título de la escritura)$NWB#vicidial_scripts-script_name$NWE
Comentarios de la escritura: $NWB#vicidial_scripts-script_comments$NWE
Activo: $NWB#vicidial_scripts-active$NWE
Texto de la escritura:

Escritura De la Inspección previo
"; + # BEGIN Insert Field + echo ""; + echo "
"; + # END Insert Field + echo " $NWB#vicidial_scripts-script_text$NWE
\n"; + + if ($LOGdelete_scripts > 0) + { + echo "

SUPRIMA ESTA ESCRITURA\n"; + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=31111111 modify filter info in the system +###################### + +if ($ADD==31111111) +{ + if ($LOGmodify_filters==1) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $lead_filter_name = $row[1]; + $lead_filter_comments = $row[2]; + $lead_filter_sql = $row[3]; + echo ""; + + echo "
MODIFIQUE Un FILTRO\n"; + echo "\n"; + echo "\n"; + echo "
Identificación Del Filtro:$lead_filter_id$NWB#vicidial_lead_filters-lead_filter_id$NWE
Nombre Del Filtro: (descripción corta del filtro)$NWB#vicidial_lead_filters-lead_filter_name$NWE
Comentarios Del Filtro: $NWB#vicidial_lead_filters-lead_filter_comments$NWE
Filtro Sql: $NWB#vicidial_lead_filters-lead_filter_sql$NWE
\n"; + + ##### get campaigns listing for dynamic pulldown + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "\n"; + $o++; + } + + echo "

"; + echo "
PRUEBE EN CAMPAÑA:
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + if ($LOGdelete_filters > 0) + { + echo "

SUPRIMA ESTE FILTRO\n"; + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=321111111 modify call time definition info in the system +###################### + +if ($ADD==321111111) +{ +if ($LOGmodify_call_times==1) +{ + +if ( ($stage=="ADD") and (strlen($state_rule)>0) ) + { + $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_state_call_times = $row[0]; + + if (eregi("\|$",$ct_state_call_times)) + {$ct_state_call_times = "$ct_state_call_times$state_rule\|";} + else + {$ct_state_call_times = "$ct_state_call_times\|$state_rule\|";} + $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + echo "Regla Del Estado Agregada: $state_rule
\n"; + } +if ( ($stage=="REMOVE") and (strlen($state_rule)>0) ) + { + $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_state_call_times = $row[0]; + + $ct_state_call_times = eregi_replace("\|$state_rule\|",'|',$ct_state_call_times); + $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + echo "Regla Del Estado Quitada: $state_rule
\n"; + } + +$ADD=311111111; +} +else +{ +echo "Le no autorizan a visión esta página. Vaya por favor detrás."; +} + +} + + +###################### +# ADD=311111111 modify call time definition info in the system +###################### + +if ($ADD==311111111) +{ + +if ($LOGmodify_call_times==1) +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +$ct_srs=1; +$b=0; +$srs_SQL =''; +if (strlen($ct_state_call_times)>2) + { + $state_rules = explode('|',$ct_state_call_times); + $ct_srs = ((count($state_rules)) - 1); + } +echo "\n"; +echo "\n"; +while($ct_srs >= $b) + { + if (strlen($state_rules[$b])>0) + { + $stmt="SELECT state_call_time_state,state_call_time_name from vicidial_state_call_times where state_call_time_id='$state_rules[$b]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + echo "\n"; + $srs_SQL .= "'$state_rules[$b]',"; + $srs_state_SQL .= "'$row[0]',"; + } + $b++; + } +if (strlen($srs_SQL)>2) + { + $srs_SQL = "$srs_SQL''"; + $srs_state_SQL = "$srs_state_SQL''"; + $srs_SQL = "where state_call_time_id NOT IN($srs_SQL) and state_call_time_state NOT IN($srs_state_SQL)"; + } +else + {$srs_SQL='';} +$stmt="SELECT state_call_time_id,state_call_time_name from vicidial_state_call_times $srs_SQL order by state_call_time_id;"; +$rslt=mysql_query($stmt, $link); +$sct_to_print = mysql_num_rows($rslt); +$sct_list=''; + +$o=0; +while ($sct_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $sct_list .= "\n"; + $o++; +} +echo "\n"; +echo "\n"; + +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $call_time_name = $row[1]; + $call_time_comments = $row[2]; + $ct_default_start = $row[3]; + $ct_default_stop = $row[4]; + $ct_sunday_start = $row[5]; + $ct_sunday_stop = $row[6]; + $ct_monday_start = $row[7]; + $ct_monday_stop = $row[8]; + $ct_tuesday_start = $row[9]; + $ct_tuesday_stop = $row[10]; + $ct_wednesday_start = $row[11]; + $ct_wednesday_stop = $row[12]; + $ct_thursday_start = $row[13]; + $ct_thursday_stop = $row[14]; + $ct_friday_start = $row[15]; + $ct_friday_stop = $row[16]; + $ct_saturday_start = $row[17]; + $ct_saturday_stop = $row[18]; + $ct_state_call_times = $row[19]; + +echo ""; + +echo "
MODIFIQUE Un RATO De la LLAMADA\n"; +echo "\n"; +echo "\n"; +echo "
Identificación Del Tiempo De la Llamada: $call_time_id$NWB#vicidial_call_times-call_time_id$NWE
Nombre Del Tiempo De la Llamada: (descripción corta del tiempo de la llamada)$NWB#vicidial_call_times-call_time_name$NWE
Comentarios Del Tiempo De la Llamada: $NWB#vicidial_call_times-call_time_comments$NWE
Comienzo Del Defecto: Parada Del Defecto: $NWB#vicidial_call_times-ct_default_start$NWE
Comienzo De Domingo: Parada De Domingo: $NWB#vicidial_call_times-ct_sunday_start$NWE
Comienzo De Lunes: Parada De Lunes: $NWB#vicidial_call_times-ct_sunday_start$NWE
Comienzo De Martes: Parada De Martes: $NWB#vicidial_call_times-ct_sunday_start$NWE
Comienzo De Miércoles: Parada De Miércoles: $NWB#vicidial_call_times-ct_sunday_start$NWE
Thursday Start: Parada De Jueves: $NWB#vicidial_call_times-ct_sunday_start$NWE
Comienzo De Viernes: Parada De Viernes: $NWB#vicidial_call_times-ct_sunday_start$NWE
Comienzo De Sábado: Parada De Sábado: $NWB#vicidial_call_times-ct_sunday_start$NWE
Definiciones activas del tiempo de la llamada del estado para estoexpediente:  
$state_rules[$b] - REMOVE $row[0] - $row[1]
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "Add state call time rule:


\n"; +echo "CAMPAÑAS USANDO ESTE TIEMPO DE LA LLAMADA:
\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns where local_call_time='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]
\n"; +echo "INBOUND GROUPS USING THIS CALL TIME:
\n"; +echo "\n"; + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]
\n"; +echo "

\n"; + +if ($LOGdelete_call_times > 0) + { + echo "

SUPRIMA ESTA DEFINICIÓN DEL TIEMPO DE LA LLAMADA\n"; + } +} +else +{ +echo "Le no autorizan a visión esta página. Vaya por favor detrás."; +} + +} + + +###################### +# ADD=3111111111 modify state call time definition info in the system +###################### + +if ($ADD==3111111111) +{ + +if ($LOGmodify_call_times==1) +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +echo "\n"; +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_state_call_times where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $state_call_time_state =$row[1]; + $call_time_name = $row[2]; + $call_time_comments = $row[3]; + $ct_default_start = $row[4]; + $ct_default_stop = $row[5]; + $ct_sunday_start = $row[6]; + $ct_sunday_stop = $row[7]; + $ct_monday_start = $row[8]; + $ct_monday_stop = $row[9]; + $ct_tuesday_start = $row[10]; + $ct_tuesday_stop = $row[11]; + $ct_wednesday_start = $row[12]; + $ct_wednesday_stop = $row[13]; + $ct_thursday_start = $row[14]; + $ct_thursday_stop = $row[15]; + $ct_friday_start = $row[16]; + $ct_friday_stop = $row[17]; + $ct_saturday_start = $row[18]; + $ct_saturday_stop = $row[19]; + +echo ""; + +echo "
_ MODIFICAR Uno ESTADO LLAMAR TIEMPO
\n"; +echo "\n"; +echo "\n"; +echo "
Identificación Del Tiempo De la Llamada: $call_time_id$NWB#vicidial_call_times-call_time_id$NWE
State Call Time State: $NWB#vicidial_call_times-state_call_time_state$NWE
_ Estado Llamar Tiempo Nombre: (descripción corta del tiempo de la llamada)$NWB#vicidial_call_times-call_time_name$NWE
Comentarios Del Tiempo De la Llamada Del Estado: $NWB#vicidial_call_times-call_time_comments$NWE
Comienzo Del Defecto: Parada Del Defecto: $NWB#vicidial_call_times-ct_default_start$NWE
Comienzo De Domingo: Parada De Domingo: $NWB#vicidial_call_times-ct_sunday_start$NWE
Comienzo De Lunes: Parada De Lunes: $NWB#vicidial_call_times-ct_sunday_start$NWE
Comienzo De Martes: Parada De Martes: $NWB#vicidial_call_times-ct_sunday_start$NWE
Comienzo De Miércoles: Parada De Miércoles: $NWB#vicidial_call_times-ct_sunday_start$NWE
Thursday Start: Parada De Jueves: $NWB#vicidial_call_times-ct_sunday_start$NWE
Comienzo De Viernes: Parada De Viernes: $NWB#vicidial_call_times-ct_sunday_start$NWE
Comienzo De Sábado: Parada De Sábado: $NWB#vicidial_call_times-ct_sunday_start$NWE


\n"; +echo "TIEMPOS DE LA LLAMADA USANDO ESTE TIEMPO DE LA LLAMADA DEL ESTADO:
\n"; +echo "\n"; + + $stmt="SELECT call_time_id,call_time_name from vicidial_call_times where ct_state_call_times LIKE \"%|$call_time_id|%\";"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]
\n"; +echo "

\n"; + +if ($LOGdelete_call_times > 0) + { + echo "

SUPRIMA ESTA DEFINICIÓN DEL TIEMPO DE LA LLAMADA DEL ESTADO\n"; + } + +} +else +{ +echo "Le no autorizan a visión esta página. Vaya por favor detrás."; +} + +} + + +###################### +# ADD=31111111111 modify phone record in the system +###################### + +if ($ADD==31111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from phones where extension='$extension' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + echo "
MODIFICANDO EL TELÉFONO: $row[1]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Extensión del teléfono: $NWB#phones-extension$NWE
Número De Dial plan: (Solamente dígitos)$NWB#phones-dialplan_number$NWE
Buzón de voz: (Solamente dígitos)$NWB#phones-voicemail_id$NWE
CallerID De salida: (Solamente dígitos)$NWB#phones-outbound_cid$NWE
Dirección IP del teléfono: (optional)$NWB#phones-phone_ip$NWE
Dirección IP del ordenador: (optional)$NWB#phones-computer_ip$NWE
IP Del Servidor: $NWB#phones-server_ip$NWE
Login: $NWB#phones-login$NWE
Contraseña: $NWB#phones-pass$NWE
Estado: $NWB#phones-status$NWE
Cuenta Activa: $NWB#phones-active$NWE
Tipo Del Teléfono: $NWB#phones-phone_type$NWE
Nombre Completo: $NWB#phones-fullname$NWE
Compañía: $NWB#phones-company$NWE
Foto: $NWB#phones-picture$NWE
Mensajes Nuevos: $row[14]$NWB#phones-messages$NWE
Mensajes Viejos: $row[15]$NWB#phones-old_messages$NWE
Protocolo Del Cliente: $NWB#phones-protocol$NWE
GMT Local: (No ajustar para el DST)$NWB#phones-local_gmt$NWE
Login del Manager: $NWB#phones-ASTmgrUSERNAME$NWE
Contraseña del Manager: $NWB#phones-ASTmgrSECRET$NWE
Usuario por defecto de VICIDIAL: $NWB#phones-login_user$NWE
Contraseña por defecto de VICIDIAL: $NWB#phones-login_pass$NWE
Campaña por defecto de VICIDIAL: $NWB#phones-login_campaign$NWE
Extensión del parking: $NWB#phones-park_on_extension$NWE
Extensión de la conferencia: $NWB#phones-conf_on_extension$NWE
Exten. Del parking de VICIDIAL: $NWB#phones-VICIDIAL_park_on_extension$NWE
Archivo para música del parking de VICIDIAL: $NWB#phones-VICIDIAL_park_on_filename$NWE
Prefijo al monitorizar: $NWB#phones-monitor_prefix$NWE
Exten de Grabación: $NWB#phones-recording_exten$NWE
Exten de VmailMain: $NWB#phones-voicemail_exten$NWE
Exten de VmaiDumpl: $NWB#phones-voicemail_dump_exten$NWE
Contexto De Exten: $NWB#phones-ext_context$NWE
Canal de envío del DTMF: $NWB#phones-dtmf_send_extension$NWE
Grupo de las llamadas de salida: $NWB#phones-call_out_number_group$NWE
Localización del Navegador: $NWB#phones-client_browser$NWE
Directorio de instalación: $NWB#phones-install_directory$NWE
URL del CallerID: $NWB#phones-local_web_callerID_URL$NWE
URL por defecto de VICIDIAL: $NWB#phones-VICIDIAL_web_URL$NWE
Call Logging: $NWB#phones-AGI_call_logging_enabled$NWE
Cambio de Usuario: $NWB#phones-user_switching_enabled$NWE
Conferencias: $NWB#phones-conferencing_enabled$NWE
Colgar del Admin: $NWB#phones-admin_hangup_enabled$NWE
Captura del Admin: $NWB#phones-admin_hijack_enabled$NWE
Monitorización del Admin: $NWB#phones-admin_monitor_enabled$NWE
Parking de Llamada: $NWB#phones-call_parking_enabled$NWE
Uptader Check: $NWB#phones-updater_check_enabled$NWE
AF Logging: $NWB#phones-AFLogging_enabled$NWE
Colas permitidas: $NWB#phones-QUEUE_ACTION_enabled$NWE
Ventana emergente del CallerID: $NWB#phones-CallerID_popup_enabled$NWE
Botón Vmail: $NWB#phones-voicemail_button_enabled$NWE
Refresco rápido: $NWB#phones-enable_fast_refresh$NWE
Refresco rápido de la tarifa: (in ms)$NWB#phones-fast_refresh_rate$NWE
Persistant MySQL: $NWB#phones-enable_persistant_mysql$NWE
Auto Marcar el Siguiente Número: $NWB#phones-auto_dial_next_number$NWE
Parar de Grabar después de cada llamada: $NWB#phones-VDstop_rec_after_each_call$NWE
Permita Los Mensajes de SIPSAK: $NWB#phones-enable_sipsak_messages$NWE
Servidor de DBX: (Primario DB Server)$NWB#phones-DBX_server$NWE
Base de datos de DBX: (Primario Server Database)$NWB#phones-DBX_database$NWE
Usuario de DBX: (Primario DB Login)$NWB#phones-DBX_user$NWE
Contraseña de DBX: (Primario DB Secret)$NWB#phones-DBX_pass$NWE
Puerto de DBX: (Primario DB Port)$NWB#phones-DBX_port$NWE
Servidor de DBY: (Secundario DB Server)$NWB#phones-DBY_server$NWE
Base de datos de DBY: (Secundario Server Database)$NWB#phones-DBY_database$NWE
Usuario de DBY: (Secundario DB Login)$NWB#phones-DBY_user$NWE
Contraseña de DBY: (Secundario DB Secret)$NWB#phones-DBY_pass$NWE
Puerto de DBY: (Secundario DB Port)$NWB#phones-DBY_port$NWE
\n"; + + echo "

Pinchar aquí­ para ver las estadísticas del teléfono\n"; + + if ($LOGast_delete_phones > 0) + { + echo "

SUPRIMA ESTE TELÉFONO\n"; + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=311111111111 modify server record in the system +###################### + +if ($ADD==311111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from servers where server_id='$server_id' or server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $server_id = $row[0]; + $server_ip = $row[2]; + + echo "
MODIFICAR UN REGISTRO DEL SERVIDOR: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID Del Servidor: $NWB#servers-server_id$NWE
Descripción Del Servidor: $NWB#servers-server_description$NWE
Dirección IP del Servidor: $NWB#servers-server_ip$NWE
Activo: $NWB#servers-active$NWE
Versión De Asterisk: $NWB#servers-asterisk_version$NWE
Máx. Trunks en VICIDIAL: $NWB#servers-max_vicidial_trunks$NWE
El Marcar Del Balance de VICIDIAL: $NWB#servers-vicidial_balance_active$NWE
Balance Offlimits de VICIDIAL: $NWB#servers-balance_trunks_offlimits$NWE
Host Del Telnet: $NWB#servers-telnet_host$NWE
Puerto Del Telnet: $NWB#servers-telnet_port$NWE
Usuario Del Manager: $NWB#servers-ASTmgrUSERNAME$NWE
Contraseña del Manager: $NWB#servers-ASTmgrSECRET$NWE
Usuario del Updater del Manager: $NWB#servers-ASTmgrUSERNAMEupdate$NWE
Usuario Listen del Manager: $NWB#servers-ASTmgrUSERNAMElisten$NWE
Usuario Send del Manager: $NWB#servers-ASTmgrUSERNAMEsend$NWE
GMT Local: (No ajustar para el DST)$NWB#servers-local_gmt$NWE
Extensión de Vmail Dump : $NWB#servers-voicemail_dump_exten$NWE
Extensión del AD de VICIDIAL: $NWB#servers-answer_transfer_agent$NWE
Contexto por Defecto: $NWB#servers-ext_context$NWE
Funcionamiento Del Sistema: $NWB#servers-sys_perf_log$NWE
Registros Del Servidor: $NWB#servers-vd_server_logs$NWE
Salida de AGI: $NWB#servers-agi_output$NWE
\n"; + + + ### vicidial server trunk records for this server + echo "

TRONCOS DE VICIDIAL PARA ESTE SERVIDOR:   $NWB#vicidial_server_trunks$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_server_trunks where server_ip='$server_ip' order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $recycle_to_print = mysql_num_rows($rslt); + $o=0; + while ($recycle_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
CAMPAÑA TRONCOS RESTRICCIÓN DELETE
$rowx[1]
\n"; + echo "\n"; + echo "\n"; + echo "
ELIMINAR
\n"; + + echo "
AGREGUE EL NUEVO EXPEDIENTE DEL TRONCO DEL SERVIDOR VICIDIAL
\n"; + echo "\n"; + echo "\n"; + echo "TRUNKS:
\n"; + echo "CAMPAÑA:
\n"; + echo "RESTRICTION:
\n"; + echo "
\n"; + + echo "

\n"; + + + ### list of phones on this server + echo "
\n"; + echo "
TELÉFONOS DENTRO DE ESTE SERVIDOR:
\n"; + echo "\n"; + echo "\n"; + + $active_phones = 0; + $inactive_phones = 0; + $stmt="SELECT extension,active,fullname from phones where server_ip='$row[2]'"; + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + if (ereg("Y", $rowx[1])) {$active_phones++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_phones++;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
EXTENSIÓNNOMBREACTIVO
$rowx[0]$rowx[2]$rowx[1]

\n"; + + + ### list of conferences on this server + echo "
\n"; + echo "
CONFERENCES WITHIN THIS SERVER:
\n"; + echo "\n"; + echo "\n"; + + $active_confs = 0; + $stmt="SELECT conf_exten,extension from conferences where server_ip='$row[2]'"; + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + $active_confs++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
CONFERENCEEXTENSIÓN
$rowx[0]$rowx[2]

\n"; + + + ### list of vicidial conferences on this server + echo "
\n"; + echo "
VICIDIAL CONFERENCES WITHIN THIS SERVER:
\n"; + echo "\n"; + echo "\n"; + + $active_vdconfs = 0; + $stmt="SELECT conf_exten,extension from vicidial_conferences where server_ip='$row[2]'"; + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + $active_vdconfs++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
VD CONFERENCEEXTENSIÓN
$rowx[0]$rowx[2]

\n"; + + + echo "
\n"; + + $camp_lists = eregi_replace(".$","",$camp_lists); + echo "Este servidor tiene $active_phones Teléfonos activos y $inactive_phones Teléfonos inactivos

\n"; + echo "Este servidor tiene $active_confs active conferences

\n"; + echo "Este servidor tiene $active_vdconfs active vicidial conferences

\n"; + echo "
\n"; + if ($LOGast_delete_phones > 0) + { + echo "

DELETE THIS SERVER\n"; + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=3111111111111 modify conference record in the system +###################### + +if ($ADD==3111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $conf_exten = $row[0]; + $server_ip = $row[1]; + + echo "
MODIFICAR UN REGISTRO DE LA CONFERENCIA: $row[0]
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Conferencia: $NWB#conferences-conf_exten$NWE
IP Del Servidor: $NWB#conferences-server_ip$NWE
Extensión Actual:
\n"; + + echo "
\n"; + if ($LOGast_delete_phones > 0) + { + echo "

DELETE THIS CONFERENCE\n"; + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + +###################### +# ADD=31111111111111 modify vicidial conference record in the system +###################### + +if ($ADD==31111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $conf_exten = $row[0]; + $server_ip = $row[1]; + + echo "
MODIFY A VICIDIAL CONFERENCE RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Conferencia: $NWB#conferences-conf_exten$NWE
IP Del Servidor: $NWB#conferences-server_ip$NWE
Extensión Actual:
\n"; + + echo "
\n"; + if ($LOGast_delete_phones > 0) + { + echo "

DELETE THIS VICIDIAL CONFERENCE\n"; + } + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + + +###################### +# ADD=311111111111111 modify vicidial system settings +###################### + +if ($ADD==311111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT version,install_date,use_non_latin,webroot_writable,enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_url,queuemetrics_log_id,queuemetrics_eq_prepend,vicidial_agent_disable,allow_sipsak_messages,admin_home_url,enable_agc_xfer_log from system_settings;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $version = $row[0]; + $install_date = $row[1]; + $use_non_latin = $row[2]; + $webroot_writable = $row[3]; + $enable_queuemetrics_logging = $row[4]; + $queuemetrics_server_ip = $row[5]; + $queuemetrics_dbname = $row[6]; + $queuemetrics_login = $row[7]; + $queuemetrics_pass = $row[8]; + $queuemetrics_url = $row[9]; + $queuemetrics_log_id = $row[10]; + $queuemetrics_eq_prepend = $row[11]; + $vicidial_agent_disable = $row[12]; + $allow_sipsak_messages = $row[13]; + $admin_home_url = $row[14]; + $enable_agc_xfer_log = $row[15]; + + echo "
MODIFIQUE LOS AJUSTES DEL SISTEMA DE VICIDIAL\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
Versión: $version
Install Date: $install_date
Uso No-Latino: $NWB#settings-use_non_latin$NWE
Webroot Escribible: $NWB#settings-webroot_writable$NWE
Permita La Registración De QueueMetrics: $NWB#settings-enable_queuemetrics_logging$NWE
IP Del Servidor De QueueMetrics: $NWB#settings-queuemetrics_server_ip$NWE
Nombre del DB De QueueMetrics: $NWB#settings-queuemetrics_dbname$NWE
Conexión del DB De QueueMetrics: $NWB#settings-queuemetrics_login$NWE
Contraseña del DB De QueueMetrics: $NWB#settings-queuemetrics_pass$NWE
QueueMetrics URL: $NWB#settings-queuemetrics_url$NWE
Identificación Del Registro De QueueMetrics: $NWB#settings-queuemetrics_log_id$NWE
QueueMetrics EnterQueue Prepend: $NWB#settings-queuemetrics_eq_prepend$NWE
El Agente de VICIDIAL Inhabilita La Exhibición:$NWB#settings-vicidial_agent_disable$NWE
Permita Los Mensajes de SIPSAK: $NWB#settings-allow_sipsak_messages$NWE
URL Casero Del Admin: $NWB#settings-admin_home_url$NWE
Permita El Logfile De la Transferencia Del Agente: $NWB#settings-enable_agc_xfer_log$NWE
\n"; + echo "\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + + + + + +###################### +# ADD=321111111111111 modify vicidial system statuses +###################### + +if ($ADD==321111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + echo "
\n"; + echo "ESTADOS DE VICIDIAL DENTRO DE ESTE SISTEMA:  $NWB#vicidial_statuses$NWE
\n"; + echo "\n"; + echo "\n"; + + ##### get status category listings for dynamic pulldown + $stmt="SELECT vsc_id,vsc_name from vicidial_status_categories order by vsc_id desc"; + $rslt=mysql_query($stmt, $link); + $cats_to_print = mysql_num_rows($rslt); + $cats_list=""; + + $o=0; + while ($cats_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $cats_list .= "\n"; + $catsname_list["$rowx[0]"] = substr($rowx[1],0,20); + $o++; + } + + + $stmt="SELECT * from vicidial_statuses order by status;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AScategory = $rowx[4]; + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
ESTADODESCRIPCIÓNSELECT-
ABLE
HUMAN
ANSWER
CATEGORYMODIFY/DELETE
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
\n"; + echo "\n"; + echo "         \n"; + echo "   \n"; + + if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) + { + echo "ELIMINAR\n"; + } + else + { + echo "ELIMINAR\n"; + } + echo "
\n"; + + echo "
AGREGUE EL NUEVO ESTADO DE SISTEMA
\n"; + echo "\n"; + echo "Estado:   \n"; + echo "Descripción:
\n"; + echo "Seleccionable:   \n"; + echo "Human Answer:   \n"; + echo "Categoría:\n"; + echo "  
\n"; + echo "
\n"; + + echo "

\n"; + + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + + + + +###################### +# ADD=331111111111111 modify vicidial status categories +###################### + +if ($ADD==331111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + echo "
\n"; + echo "VICIDIAL STATUS CATEGORIES:   $NWB#vicidial_status_categories$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_status_categories order by vsc_id;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + + $Avsc_id[$o] = $rowx[0]; + $Avsc_name[$o] = $rowx[1]; + $Avsc_description[$o] = $rowx[2]; + $Atovdad_display[$o] = $rowx[3]; + + $o++; + } + $p=0; + while ($o > $p) + { + if (eregi("1$|3$|5$|7$|9$", $p)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $CATstatuses=''; + $stmt="SELECT status from vicidial_statuses where category='$Avsc_id[$p]' order by status;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $q=0; + while ($statuses_to_print > $q) + { + $rowx=mysql_fetch_row($rslt); + $CATstatuses.=" $rowx[0]"; + $q++; + } + $stmt="SELECT status from vicidial_campaign_statuses where category='$Avsc_id[$p]' order by status;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $q=0; + while ($statuses_to_print > $q) + { + $rowx=mysql_fetch_row($rslt); + $CATstatuses.=" $rowx[0]"; + $q++; + } + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $p++; + } + + echo "
CATEGORYNOMBRETOVDADSTATUSES IN THIS CATEGORY
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$Avsc_id[$p]
\n"; + echo "$CATstatuses"; + echo "
Descripción:
        \n"; + echo "   ELIMINAR
 
\n"; + + echo "
AGREGUE LA NUEVA CATEGORÍA DEL ESTADO
\n"; + echo "\n"; + echo "Category ID:   \n"; + echo "Name:   \n"; + echo "TimeOnVDAD Display:  
\n"; + echo "Descripción:   \n"; + echo "
\n"; + + echo "

\n"; + + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + + + + + +###################### +# ADD=550 search form +###################### + +if ($ADD==550) +{ +echo "
\n"; +echo ""; + +echo "
BUSCAR UN USUARIO
\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +echo "\n"; +echo "
NÚmero De Usuario:
Nombre Completo:
Nivel Del Usuario:
Grupo Del Usuario:
\n"; + +} + +###################### +# ADD=660 user search results +###################### + +if ($ADD==660) +{ +echo "
\n"; + echo ""; + + $SQL = ''; + if ($user) {$SQL .= " user LIKE \"%$user%\" and";} + if ($full_name) {$SQL .= " full_name LIKE \"%$full_name%\" and";} + if ($user_level > 0) {$SQL .= " user_level LIKE \"%$user_level%\" and";} + if ($user_group) {$SQL .= " user_group = '$user_group' and";} + $SQL = eregi_replace(" and$", "", $SQL); + if (strlen($SQL)>5) {$SQL = "where $SQL";} + + $stmt="SELECT * from vicidial_users $SQL order by full_name desc;"; +# echo "\n|$stmt|\n"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
RESULTADOS DE LA BÚSQUEDA:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[1]$row[3]$row[4]$row[5]MODIFICAR | ESTADÍSTICAS | ESTADO | TIME
\n"; + +} + + +###################################################################################################### +###################################################################################################### +####### 8 series, Callback lists +###################################################################################################### +###################################################################################################### + +###################### +# ADD=8 find all callbacks on hold by a User +###################### +if ($ADD==8) +{ + if ($LOGmodify_users==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user='$user' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
User($user) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user='$user' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
User($user) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } +$CBinactiveLINK = "
Remove LIVE Callbacks older than one month for this user
Remove LIVE Callbacks older than one week for this user
"; + +echo ""; + + $CBquerySQLwhere = "and user='$user'"; + +echo "
USER CALLBACK HOLD LISTINGS: $user\n"; +$oldADD = "ADD=8&user=$user"; +$ADD='82'; +} + +###################### +# ADD=81 find all callbacks on hold within a Campaign +###################### +if ($ADD==81) +{ + if ($LOGmodify_campaigns==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where campaign_id='$campaign_id' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
campaign($campaign_id) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where campaign_id='$campaign_id' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
campaign($campaign_id) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } +$CBinactiveLINK = "
Remove LIVE Callbacks older than one month for this campaign
Remove LIVE Callbacks older than one week for this campaign
"; + +echo ""; + + $CBquerySQLwhere = "and campaign_id='$campaign_id'"; + +echo "
CAMPAIGN CALLBACK HOLD LISTINGS: $campaign_id\n"; +$oldADD = "ADD=81&campaign_id=$campaign_id"; +$ADD='82'; +} + +###################### +# ADD=811 find all callbacks on hold within a List +###################### +if ($ADD==811) +{ + if ($LOGmodify_lists==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where list_id='$list_id' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
list($list_id) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where list_id='$list_id' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
list($list_id) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } +$CBinactiveLINK = "
Remove LIVE Callbacks older than one month for this list
Remove LIVE Callbacks older than one week for this list
"; + +echo ""; + + $CBquerySQLwhere = "and list_id='$list_id'"; + +echo "
LIST CALLBACK HOLD LISTINGS: $list_id\n"; +$oldADD = "ADD=811&list_id=$list_id"; +$ADD='82'; +} + +###################### +# ADD=8111 find all callbacks on hold within a user group +###################### +if ($ADD==8111) +{ + if ($LOGmodify_usergroups==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user_group='$user_group' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
user group($user_group) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user_group='$user_group' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
user group($user_group) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } + $CBinactiveLINK = "
Remove LIVE Callbacks older than one month for this user group
Remove LIVE Callbacks older than one week for this user group
"; + + echo ""; + + $CBquerySQLwhere = "and user_group='$user_group'"; + +echo "
USER GROUP CALLBACK HOLD LISTINGS: $list_id\n"; +$oldADD = "ADD=8111&user_group=$user_group"; +$ADD='82'; +} + +###################### +# ADD=82 display all callbacks on hold +###################### +if ($ADD==82) +{ + +$USERlink='stage=USERIDDOWN'; +$GROUPlink='stage=GROUPDOWN'; +$ENDATElink='stage=ENDATEDOWN'; +$SQLorder='order by '; +if (eregi("USERIDDOWN",$stage)) {$SQLorder='order by user desc,'; $USERlink='stage=USERIDUP';} +if (eregi("GROUPDOWN",$stage)) {$SQLorder='order by user_group desc,'; $NAMElink='stage=NAMEUP';} +if (eregi("ENDATEDOWN",$stage)) {$SQLorder='order by entry_time desc,'; $LEVELlink='stage=LEVELUP';} + + $stmt="SELECT * from vicidial_callbacks where status IN('ACTIVE','LIVE') $CBquerySQLwhere $SQLorder recipient,status desc,callback_time"; + $rslt=mysql_query($stmt, $link); + $cb_to_print = mysql_num_rows($rslt); + +echo "
\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $o=0; + while ($cb_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
LEADLIST CAMPAÑAENTRY FECHACALLBACK FECHAUSERRECIPIENTESTADOGROUP
$row[1]$row[2]$row[3]$row[5]$row[6]$row[8]$row[9]$row[4]$row[11]
\n"; + +echo "$CBinactiveLINK"; +} + + + +###################################################################################################### +###################################################################################################### +####### 0 series, displays and searches +###################################################################################################### +###################################################################################################### + +###################### +# ADD=0 display all active users +###################### +if ($ADD==0) +{ +echo "
\n"; +echo ""; + +$USERlink='stage=USERIDDOWN'; +$NAMElink='stage=NAMEDOWN'; +$LEVELlink='stage=LEVELDOWN'; +$GROUPlink='stage=GROUPDOWN'; +$SQLorder='order by full_name'; +if (eregi("USERIDUP",$stage)) {$SQLorder='order by user asc'; $USERlink='stage=USERIDDOWN';} +if (eregi("USERIDDOWN",$stage)) {$SQLorder='order by user desc'; $USERlink='stage=USERIDUP';} +if (eregi("NAMEUP",$stage)) {$SQLorder='order by full_name asc'; $NAMElink='stage=NAMEDOWN';} +if (eregi("NAMEDOWN",$stage)) {$SQLorder='order by full_name desc'; $NAMElink='stage=NAMEUP';} +if (eregi("LEVELUP",$stage)) {$SQLorder='order by user_level asc'; $LEVELlink='stage=LEVELDOWN';} +if (eregi("LEVELDOWN",$stage)) {$SQLorder='order by user_level desc'; $LEVELlink='stage=LEVELUP';} +if (eregi("GROUPUP",$stage)) {$SQLorder='order by user_group asc'; $GROUPlink='stage=GROUPDOWN';} +if (eregi("GROUPDOWN",$stage)) {$SQLorder='order by user_group desc'; $GROUPlink='stage=GROUPUP';} + $stmt="SELECT * from vicidial_users $SQLorder"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
USUARIOS:\n"; +echo "
\n"; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + $o++; + } + +echo "
USER IDFULL NAMELEVELGROUPLINKS
$row[1]$row[3]$row[4]$row[5]MODIFICAR | ESTADÍSTICAS | ESTADO | TIME
\n"; +} + +###################### +# ADD=10 display all campaigns +###################### +if ($ADD==10) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
CAMPAÑAS:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2] $row[3]$row[4]$row[5] $row[6]$row[7]  MODIFICAR
\n"; +} + + +###################### +# ADD=100 display all lists +###################### +if ($ADD==100) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_lists order by list_id"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
LISTAS:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2]$row[4]$row[5] $row[3]$row[7]  MODIFICAR
\n"; +} + + + +###################### +# ADD=1000 display all inbound groups +###################### +if ($ADD==1000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
GRUPOS DE ENTRADA :\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[3] $row[5]  MODIFICAR
\n"; +} + + +###################### +# ADD=10000 display all remote agents +###################### +if ($ADD==10000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_remote_agents order by server_ip,campaign_id,user_start"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
AGENTES REMOTOS:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[1] $row[2] $row[3] $row[4] $row[5] $row[6]MODIFICAR
\n"; +} + + +###################### +# ADD=100000 display all user groups +###################### +if ($ADD==100000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_user_groups order by user_group"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
GRUPOS DE USUARIO :\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]MODIFICAR
\n"; +} + + +###################### +# ADD=1000000 display all scripts +###################### +if ($ADD==1000000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_scripts order by script_id"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
ESCRITURAS DE LA VISIÓN:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]MODIFICAR
\n"; +} + + +###################### +# ADD=10000000 display all filters +###################### +if ($ADD==10000000) +{ +echo "
\n"; + + echo ""; + + $stmt="SELECT * from vicidial_lead_filters order by lead_filter_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + +echo "
LISTADOS DEL FILTRO DEL PLOMO:\n"; +echo "
\n"; + + $o=0; + while ($filters_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]MODIFICAR
\n"; +} + + +###################### +# ADD=100000000 display all call times +###################### +if ($ADD==100000000) +{ +echo "
\n"; + + echo ""; + + $stmt="SELECT * from vicidial_call_times order by call_time_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + +echo "
LISTADOS DEL TIEMPO DE LA LLAMADA:\n"; +echo "
\n"; + + $o=0; + while ($filters_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[3] $row[4] MODIFICAR
\n"; +} + +###################### +# ADD=1000000000 display all state call times +###################### +if ($ADD==1000000000) +{ +echo "
\n"; + + echo ""; + + $stmt="SELECT * from vicidial_state_call_times order by state_call_time_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + +echo "
LISTADOS DEL TIEMPO DE LA LLAMADA DEL ESTADO:\n"; +echo "
\n"; + + $o=0; + while ($filters_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2] $row[3] $row[4] MODIFICAR
\n"; +} + +###################### +# ADD=10000000000 display all phones +###################### +if ($ADD==10000000000) +{ +echo "
\n"; +echo ""; + +$EXTENlink='stage=EXTENDOWN'; +$PROTOlink='stage=PROTODOWN'; +$SERVERlink='stage=SERVERDOWN'; +$STATUSlink='stage=STATUSDOWN'; +$SQLorder='order by extension,server_ip'; +if (eregi("EXTENUP",$stage)) {$SQLorder='order by extension asc'; $EXTENlink='stage=EXTENDOWN';} +if (eregi("EXTENDOWN",$stage)) {$SQLorder='order by extension desc'; $EXTENlink='stage=EXTENUP';} +if (eregi("PROTOUP",$stage)) {$SQLorder='order by protocol asc'; $PROTOlink='stage=PROTODOWN';} +if (eregi("PROTODOWN",$stage)) {$SQLorder='order by protocol desc'; $PROTOlink='stage=PROTOUP';} +if (eregi("SERVERUP",$stage)) {$SQLorder='order by server_ip asc'; $SERVERlink='stage=SERVERDOWN';} +if (eregi("SERVERDOWN",$stage)) {$SQLorder='order by server_ip desc'; $SERVERlink='stage=SERVERUP';} +if (eregi("STATUSUP",$stage)) {$SQLorder='order by status asc'; $STATUSlink='stage=STATUSDOWN';} +if (eregi("STATUSDOWN",$stage)) {$SQLorder='order by status desc'; $STATUSlink='stage=STATUSUP';} + $stmt="SELECT * from phones $SQLorder"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
LISTADOS DE TELÉFONOS:\n"; +echo "
\n"; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "\n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + $o++; + } + +echo "
EXTENPROTOSERVERDIAL PLANESTADONOMBREVMAILLINKS
$row[0]$row[16]$row[5]$row[1]$row[2]$row[8]$row[11]$row[14]$row[15]MODIFICAR | ESTADÍSTICAS
\n"; +} + +###################### +# ADD=100000000000 display all servers +###################### +if ($ADD==100000000000) +{ +echo "\n";echo "\n"; +$stmt="SELECT admin_home_url from system_settings;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$admin_home_url_LU = $row[0]; + +?> +
+
\n"; + echo ""; + + $stmt="SELECT * from servers order by server_id"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
LISTADOS DEL SERVIDOR:\n"; +echo "
\n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0]$row[1] $row[2] $row[4] $row[3]  MODIFICAR
\n"; +} + +###################### +# ADD=1000000000000 display all conferences +###################### +if ($ADD==1000000000000) +{ +echo "\r\n"; + print " \r\n"; + } + $rec_count++; + } +$sthA->finish(); + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/listloader_super.pl b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/listloader_super.pl new file mode 100644 index 00000000..167fff5e --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/listloader_super.pl @@ -0,0 +1,1086 @@ +#!/usr/bin/perl + +### listloader_super.pl version 0.4 *DBI-version* +### +### Copyright (C) 2007 Matt Florell,Joe Johnson LICENSE: GPLv2 +### +# +# +# CHANGES +# 60616-1548 - Added listID override feature to force all leads into same list +# - Added gmt_offset_now lookup for each lead +# 60811-1232 - Changed to DBI +# 60811-1329 - changed to use /etc/astguiclient.conf for configs +# 60906-1056 - added filter of non-digits in alt_phone field +# 61110-1229 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1207 - added postal code GMT lookup and duplicate check options +# 70205-1703 - Defaulted phone_code to 1 if not populated +# 70417-1059 - Fixed default phone_code bug +# 70510-1518 - Added campaign and system duplicate check and phonecode override +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n [-forcelistid=1234] = overrides the listID given in the file with the 1234\n [-h] = this help screen\n\n"; + + exit; + } + else + { + if ($args =~ /-duplicate-check/i) + {$dupcheck=1;} + if ($args =~ /-duplicate-campaign-check/i) + {$dupcheckcamp=1;} + if ($args =~ /-duplicate-system-check/i) + {$dupchecksys=1;} + if ($args =~ /-postal-code-gmt/i) + {$postalgmt=1;} + if ($args =~ /--forcelistid=/i) + { + @data_in = split(/--forcelistid=/,$args); + $forcelistid = $data_in[1]; + $forcelistid =~ s/ .*//gi; + print "\n----- FORCE LISTID OVERRIDE: $forcelistid -----\n\n"; + } + else + {$forcelistid = '';} + + if ($args =~ /--forcephonecode=/i) + { + @data_in = split(/--forcephonecode=/,$args); + $forcephonecode = $data_in[1]; + $forcephonecode =~ s/ .*//gi; + print "\n----- FORCE PHONECODE OVERRIDE: $forcephonecode -----\n\n"; + } + else + {$forcephonecode = '';} + + if ($args =~ /--lead-file=/i) + { + @data_in = split(/--lead-file=/,$args); + $lead_file = $data_in[1]; + $lead_file =~ s/ .*//gi; + # print "\n----- LEAD FILE: $lead_file -----\n\n"; + } + else + {$lead_file = './vicidial_temp_file.xls';} + } +} +### end parsing run-time options ### + +use Spreadsheet::ParseExcel; +use Time::Local; +use DBI; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +$vars=$ARGV[0]; +@xls_fields=split(/\,/, $vars); + +$|=0; +$secX = time(); + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$pulldate="$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + + ### Grab Server values from the database + $stmtA = "SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBSERVER_GMT = "$aryA[0]"; + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + $rec_count++; + } + $sthA->finish(); + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +if ($isdst) {$LOCAL_GMT_OFF++;} +if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + + + +$total=0; $good=0; $bad=0; +open(STMT_FILE, "> $PATHlogs/listloader_stmts.txt"); + +$oBook = Spreadsheet::ParseExcel::Workbook->Parse("$lead_file"); +my($iR, $iC, $oWkS, $oWkC); + +foreach $oWkS (@{$oBook->{Worksheet}}) { + for($iR = 0 ; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++) { + + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user = ""; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[0]]; + if ($oWkC) {$vendor_lead_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[1]]; + if ($oWkC) {$source_code=$oWkC->Value; } + $source_id=$source_code; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[2]]; + if ($oWkC) {$list_id=$oWkC->Value; } + $gmt_offset = '0'; + $called_since_last_reset='N'; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[3]]; + if ($oWkC) {$phone_code=$oWkC->Value; } + $phone_code=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[4]]; + if ($oWkC) {$phone_number=$oWkC->Value; } + $phone_number=~s/[^0-9]//g; + $USarea = substr($phone_number, 0, 3); + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[5]]; + if ($oWkC) {$title=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[6]]; + if ($oWkC) {$first_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[7]]; + if ($oWkC) {$middle_initial=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[8]]; + if ($oWkC) {$last_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[9]]; + if ($oWkC) {$address1=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[10]]; + if ($oWkC) {$address2=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[11]]; + if ($oWkC) {$address3=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[12]]; + if ($oWkC) {$city=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[13]]; + if ($oWkC) {$state=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[14]]; + if ($oWkC) {$province=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[15]]; + if ($oWkC) {$postal_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[16]]; + if ($oWkC) {$country_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[17]]; + if ($oWkC) {$gender=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[18]]; + if ($oWkC) {$date_of_birth=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[19]]; + if ($oWkC) {$alt_phone=$oWkC->Value; } + $alt_phone=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[20]]; + if ($oWkC) {$email=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[21]]; + if ($oWkC) {$security_phrase=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[22]]; + if ($oWkC) {$comments=$oWkC->Value; } + $comments=~s/^\s*(.*?)\s*$/$1/; + + + + if (length($forcelistid) > 0) + { + $list_id = $forcelistid; # set list_id to override value + } + if (length($forcephonecode) > 0) + { + $phone_code = $forcephonecode; # set phone_code to override value + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if ($dupchecksys > 0) + { + $dup_lead=0; + $stmtA = "select count(*) from vicidial_list where phone_number='$phone_number';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead = $aryA[0]; + $dup_lead_list=$list_id; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if ($dupcheck > 0) + { + $dup_lead=0; + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id='$list_id' limit 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = $aryA[0]; + $dup_lead++; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if ($dupcheckcamp > 0) + { + $dup_lead=0; + $dup_lists=''; + + $stmtA = "select count(*) from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $ci_recs = $aryA[0]; + $sthA->finish(); + if ($ci_recs > 0) + { + $stmtA = "select campaign_id from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $dup_camp = $aryA[0]; + $sthA->finish(); + + $stmtA = "select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lists .= "'$aryA[0]',"; + $rec_count++; + } + $sthA->finish(); + + chop($dup_lists); + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = "'$aryA[0]',"; + $rec_count++; + $dup_lead=1; + } + $sthA->finish(); + } + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + + if ( (length($phone_number)>6) && ($dup_lead < 1) ) + { + $phone_list .= "$phone_number$US$list_id|"; + $postalgmt_found=0; + if (length($phone_code)<1) {$phone_code = '1';} + + if ( ($postalgmt > 0) && (length($postal_code)>4) ) + { + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[2]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[3]; + $dst_range = $aryA[4]; + $PC_processed++; + $rec_count++; + $postalgmt_found++; + if ($DBX) {print " Postal GMT record found for $postal_code: |$gmt_offset|$dst|$dst_range|\n";} + } + $sthA->finish(); + } + } + if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### MEXICO ### + if ($phone_code =~ /^52$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### AUSTRALIA ### + if ($phone_code =~ /^61$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + } + + ### Find out if DST to raise the gmt offset ### + $AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); + $AC_localtime = ($secX + (3600 * $AC_GMT_diff)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($AC_localtime); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + $AC_processed=0; + + if ( (!$AC_processed) && ($dst_range =~ /SSM-FSN/) ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + &USACAN_dstcalc; + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSA-LSO/) ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + &NA_dstcalc; + if ($DBX) {print " DST: $NA_DST\n";} + if ($NA_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSM-LSO/) ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + &GBR_dstcalc; + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSO-LSM/) ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + &AUS_dstcalc; + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-LSM/) ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + &AUST_dstcalc; + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-TSM/) ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + &NZL_dstcalc; + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /TSO-LSF/) ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + &BZL_dstcalc; + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$area_GMT++;} + $AC_processed++; + } + if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| $dup_lead_list\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + sleep(1); +# flush(); + } + } +} + +if ($multi_insert_counter > 0) { + $stmtZ = "INSERT INTO vicidial_list values ".substr($multistmt, 0, -1).";"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; +} + +print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total"; + +exit; + + + + + + +sub USACAN_dstcalc { +#********************************************************************** +# SSM-FSN +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on Second Sunday March to First Sunday November at 2 am. +# INPUTS: +# mm INTEGER Month. +# dd INTEGER Day of the month. +# ns INTEGER Seconds into the day. +# dow INTEGER Day of week (0=Sunday, to 6=Saturday) +# OPTIONAL INPUT: +# timezone INTEGER hour difference UTC - local standard time +# (DEFAULT is blank) +# make calculations based on UTC time, +# which means shift at 10:00 UTC in April +# and 9:00 UTC in October +# OUTPUT: +# INTEGER 1 = DST, 0 = not DST +# +# S M T W T F S +# 1 2 3 4 5 6 7 +# 8 9 10 11 12 13 14 +#15 16 17 18 19 20 21 +#22 23 24 25 26 27 28 +#29 30 31 +# +# S M T W T F S +# 1 2 3 4 5 6 +# 7 8 9 10 11 12 13 +#14 15 16 17 18 19 20 +#21 22 23 24 25 26 27 +#28 29 30 31 +# +#********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 10) { + $USACAN_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; return 1; + } elsif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } + } else { + $USACAN_DST=0; return 0; + } + } elsif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; return 0; + } elsif ($dd < ($dow+1)) { + $USACAN_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } + } else { + $USACAN_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub NA_dstcalc { +#********************************************************************** +# FSA-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in April and last Sunday in October at 2 am. +#********************************************************************** + + $NA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $NA_DST=0; return 0; + } elsif ($mm >= 5 && $mm <= 9) { + $NA_DST=1; return 1; + } elsif ($mm == 4) { + if ($dd > 7) { + $NA_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } + } else { + $NA_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $NA_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $NA_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } + } else { + $NA_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub GBR_dstcalc { +#********************************************************************** +# LSM-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in March and last Sunday in October at 1 am. +#********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 9) { + $GBR_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $GBR_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } + } else { + $GBR_DST=1; return 1; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $GBR_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } + } else { + $GBR_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub AUS_dstcalc { +#********************************************************************** +# LSO-LSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUS_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUS_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } + } else { + $AUS_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $AUS_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } + } else { + $AUS_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub AUST_dstcalc { +#********************************************************************** +# FSO-LSM +# TASMANIA ONLY +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUST_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUST_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } + } else { + $AUST_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $AUST_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } + } else { + $AUST_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub NZL_dstcalc { +#********************************************************************** +# FSO-TSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and third Sunday in March at 1 am. +#********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $NZL_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; return 1; + } elsif ($dd < ($dow+14)) { + $NZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } + } else { + $NZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $NZL_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } + } else { + $NZL_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub BZL_dstcalc { +#********************************************************************** +# TSO-LSF +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. Brazil +# Based on Third Sunday October to Last Sunday February at 1 am. +#********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; return 1; + } elsif ($mm >= 3 && $mm <= 9) { + $BZL_DST=0; return 0; + } elsif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; return 1; + } elsif ($dd < ($dow+22)) { + $BZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } + } else { + $BZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; return 0; + } elsif ($dd < ($dow+22)) { + $BZL_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } + } else { + $BZL_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/new_listloader_superL.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/new_listloader_superL.php new file mode 100644 index 00000000..2c481864 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/new_listloader_superL.php @@ -0,0 +1,2069 @@ + LICENSE: GPLv2 +# +# AST GUI lead loader from formatted file +# +# CHANGES +# 50602-1640 - First version created by Joe Johnson +# 51128-1108 - Removed PHP global vars requirement +# 60113-1603 - Fixed a few bugs in Excel import +# 60421-1624 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60616-1240 - added listID override +# 60616-1604 - added gmt lookup for each lead +# 60619-1651 - Added variable filtering to eliminate SQL injection attack threat +# 60822-1121 - fixed for nonwritable directories +# 60906-1100 - added filter of non-digits in alt_phone field +# 61110-1222 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1149 - added postal code GMT lookup and duplicate check options +# 70417-1059 - Fixed default phone_code bug +# 70510-1518 - Added campaign and system duplicate check and phonecode override +# +# make sure vicidial_list exists and that your file follows the formatting correctly. This page does not dedupe or do any other lead filtering actions yet at this time. + +$version = '2.0.4'; +$build = '70510-1518'; + + +require("dbconnect.php"); + +### links used for testing +#$link=mysql_connect("10.10.10.15", "cron", "1234"); +#mysql_select_db("asterisk"); +#$WeBServeRRooT = '/home/www/htdocs'; + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +$leadfile=$_FILES["leadfile"]; + $LF_orig = $_FILES['leadfile']['name']; + $LF_path = $_FILES['leadfile']['tmp_name']; +if (isset($_GET["submit_file"])) {$submit_file=$_GET["submit_file"];} + elseif (isset($_POST["submit_file"])) {$submit_file=$_POST["submit_file"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} +if (isset($_GET["leadfile_name"])) {$leadfile_name=$_GET["leadfile_name"];} + elseif (isset($_POST["leadfile_name"])) {$leadfile_name=$_POST["leadfile_name"];} +if (isset($_GET["file_layout"])) {$file_layout=$_GET["file_layout"];} + elseif (isset($_POST["file_layout"])) {$file_layout=$_POST["file_layout"];} +if (isset($_GET["OK_to_process"])) {$OK_to_process=$_GET["OK_to_process"];} + elseif (isset($_POST["OK_to_process"])) {$OK_to_process=$_POST["OK_to_process"];} +if (isset($_GET["vendor_lead_code_field"])) {$vendor_lead_code_field=$_GET["vendor_lead_code_field"];} + elseif (isset($_POST["vendor_lead_code_field"])) {$vendor_lead_code_field=$_POST["vendor_lead_code_field"];} +if (isset($_GET["source_id_field"])) {$source_id_field=$_GET["source_id_field"];} + elseif (isset($_POST["source_id_field"])) {$source_id_field=$_POST["source_id_field"];} +if (isset($_GET["list_id_field"])) {$list_id_field=$_GET["list_id_field"];} + elseif (isset($_POST["list_id_field"])) {$list_id_field=$_POST["list_id_field"];} +if (isset($_GET["phone_code_field"])) {$phone_code_field=$_GET["phone_code_field"];} + elseif (isset($_POST["phone_code_field"])) {$phone_code_field=$_POST["phone_code_field"];} +if (isset($_GET["phone_number_field"])) {$phone_number_field=$_GET["phone_number_field"];} + elseif (isset($_POST["phone_number_field"])) {$phone_number_field=$_POST["phone_number_field"];} +if (isset($_GET["title_field"])) {$title_field=$_GET["title_field"];} + elseif (isset($_POST["title_field"])) {$title_field=$_POST["title_field"];} +if (isset($_GET["first_name_field"])) {$first_name_field=$_GET["first_name_field"];} + elseif (isset($_POST["first_name_field"])) {$first_name_field=$_POST["first_name_field"];} +if (isset($_GET["middle_initial_field"])) {$middle_initial_field=$_GET["middle_initial_field"];} + elseif (isset($_POST["middle_initial_field"])) {$middle_initial_field=$_POST["middle_initial_field"];} +if (isset($_GET["last_name_field"])) {$last_name_field=$_GET["last_name_field"];} + elseif (isset($_POST["last_name_field"])) {$last_name_field=$_POST["last_name_field"];} +if (isset($_GET["address1_field"])) {$address1_field=$_GET["address1_field"];} + elseif (isset($_POST["address1_field"])) {$address1_field=$_POST["address1_field"];} +if (isset($_GET["address2_field"])) {$address2_field=$_GET["address2_field"];} + elseif (isset($_POST["address2_field"])) {$address2_field=$_POST["address2_field"];} +if (isset($_GET["address3_field"])) {$address3_field=$_GET["address3_field"];} + elseif (isset($_POST["address3_field"])) {$address3_field=$_POST["address3_field"];} +if (isset($_GET["city_field"])) {$city_field=$_GET["city_field"];} + elseif (isset($_POST["city_field"])) {$city_field=$_POST["city_field"];} +if (isset($_GET["state_field"])) {$state_field=$_GET["state_field"];} + elseif (isset($_POST["state_field"])) {$state_field=$_POST["state_field"];} +if (isset($_GET["province_field"])) {$province_field=$_GET["province_field"];} + elseif (isset($_POST["province_field"])) {$province_field=$_POST["province_field"];} +if (isset($_GET["postal_code_field"])) {$postal_code_field=$_GET["postal_code_field"];} + elseif (isset($_POST["postal_code_field"])) {$postal_code_field=$_POST["postal_code_field"];} +if (isset($_GET["country_code_field"])) {$country_code_field=$_GET["country_code_field"];} + elseif (isset($_POST["country_code_field"])) {$country_code_field=$_POST["country_code_field"];} +if (isset($_GET["gender_field"])) {$gender_field=$_GET["gender_field"];} + elseif (isset($_POST["gender_field"])) {$gender_field=$_POST["gender_field"];} +if (isset($_GET["date_of_birth_field"])) {$date_of_birth_field=$_GET["date_of_birth_field"];} + elseif (isset($_POST["date_of_birth_field"])) {$date_of_birth_field=$_POST["date_of_birth_field"];} +if (isset($_GET["alt_phone_field"])) {$alt_phone_field=$_GET["alt_phone_field"];} + elseif (isset($_POST["alt_phone_field"])) {$alt_phone_field=$_POST["alt_phone_field"];} +if (isset($_GET["email_field"])) {$email_field=$_GET["email_field"];} + elseif (isset($_POST["email_field"])) {$email_field=$_POST["email_field"];} +if (isset($_GET["security_phrase_field"])) {$security_phrase_field=$_GET["security_phrase_field"];} + elseif (isset($_POST["security_phrase_field"])) {$security_phrase_field=$_POST["security_phrase_field"];} +if (isset($_GET["comments_field"])) {$comments_field=$_GET["comments_field"];} + elseif (isset($_POST["comments_field"])) {$comments_field=$_POST["comments_field"];} +if (isset($_GET["list_id_override"])) {$list_id_override=$_GET["list_id_override"];} + elseif (isset($_POST["list_id_override"])) {$list_id_override=$_POST["list_id_override"];} + $list_id_override = (preg_replace("/\D/","",$list_id_override)); +if (isset($_GET["lead_file"])) {$lead_file=$_GET["lead_file"];} + elseif (isset($_POST["lead_file"])) {$lead_file=$_POST["lead_file"];} +if (isset($_GET["dupcheck"])) {$dupcheck=$_GET["dupcheck"];} + elseif (isset($_POST["dupcheck"])) {$dupcheck=$_POST["dupcheck"];} +if (isset($_GET["postalgmt"])) {$postalgmt=$_GET["postalgmt"];} + elseif (isset($_POST["postalgmt"])) {$postalgmt=$_POST["postalgmt"];} +if (isset($_GET["phone_code_override"])) {$phone_code_override=$_GET["phone_code_override"];} + elseif (isset($_POST["phone_code_override"])) {$phone_code_override=$_POST["phone_code_override"];} + $phone_code_override = (preg_replace("/\D/","",$phone_code_override)); + +# $country_field=$_GET["country_field"]; if (!$country_field) {$country_field=$_POST["country_field"];} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$list_id_override = ereg_replace("[^0-9]","",$list_id_override); + + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) {$fp = fopen ("./project_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-LEAD-LOADER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT load_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGload_leads =$row[0]; + + if ($LOGload_leads < 1) + { + echo "You do not have permissions to load leads\n"; + exit; + } + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + + +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +$admDIR = "$HTTPprotocol$server_name$script_name"; +$admDIR = eregi_replace('new_listloader_superL.php','',$admDIR); +$admSCR = 'admin.php'; +$NWB = "   \"AYUDA\""; + +$secX = date("U"); +$hour = date("H"); +$min = date("i"); +$sec = date("s"); +$mon = date("m"); +$mday = date("d"); +$year = date("Y"); +$isdst = date("I"); +$Shour = date("H"); +$Smin = date("i"); +$Ssec = date("s"); +$Smon = date("m"); +$Smday = date("d"); +$Syear = date("Y"); +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + ### Grab Server GMT value from the database + $stmt="SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $rslt=mysql_query($stmt, $link); + $gmt_recs = mysql_num_rows($rslt); + if ($gmt_recs > 0) + { + $row=mysql_fetch_row($rslt); + $DBSERVER_GMT = "$row[0]"; + if (strlen($DBSERVER_GMT)>0) {$SERVER_GMT = $DBSERVER_GMT;} + if ($isdst) {$SERVER_GMT++;} + } + else + { + $SERVER_GMT = date("O"); + $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = ($SERVER_GMT + 0); + $SERVER_GMT = ($SERVER_GMT / 100); + } + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +#if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + + +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +function macfontfix($fontsize) { + + $browser = getenv("HTTP_USER_AGENT"); + $pctype = explode("(", $browser); + if (ereg("Mac",$pctype[1])) { + /* Browser is a Mac. If not Netscape 6, raise fonts */ + + $blownbrowser = explode('/', $browser); + $ver = explode(' ', $blownbrowser[1]); + $ver = $ver[0]; + if ($ver >= 5.0) return $fontsize; else return ($fontsize+2); + + } else return $fontsize; /* Browser is not a Mac - don't touch fonts */ +} + +echo "\n"; + +?> + + + +VICIDIAL ADMIN: Lead Loader + + +
method=post onSubmit="ParseFileName()" enctype="multipart/form-data"> + + +
\n"; + echo ""; + + $stmt="SELECT * from conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
LISTADOS DE CONFERENCIAS:\n"; +echo "
\n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2]$row[4]  MODIFICAR
\n"; +} + +###################### +# ADD=10000000000000 display all vicidial conferences +###################### +if ($ADD==10000000000000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
LISTADOS DE CONFERENCIAS:\n"; +echo "
\n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2]$row[4]  MODIFICAR
\n"; +} + +###################### +# ADD=999999 display reports section +###################### +if ($ADD==999999) +{ + if ($LOGview_reports==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + + $stmt="select * from servers;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $servers_to_print = mysql_num_rows($rslt); + $i=0; + while ($i < $servers_to_print) + { + $row=mysql_fetch_row($rslt); + $server_id[$i] = $row[0]; + $server_description[$i] = $row[1]; + $server_ip[$i] = $row[2]; + $active[$i] = $row[3]; + $i++; + } + + $stmt="SELECT enable_queuemetrics_logging,queuemetrics_url from system_settings;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging_LU = $row[0]; + $queuemetrics_url_LU = $row[1]; + + ?> + + + + + + VICIDIAL: ESTADÍSTICAS DEL SERVIDOR and Reports + VICIDIAL: ESTADÍSTICAS DEL SERVIDOR and Reports

+ +

+	
+	 $o)
+		{
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		echo "\n";
+		$o++;
+		}
+
+	echo "
SERVERDESCRIPCIÓNIP ADDRESSACTIVOVDAD timePARK timeCLOSER/INBOUND time
$server_id[$o]$server_description[$o]$server_ip[$o]$active[$o]LINKLINKLINK
\n"; + } + else + { + echo "Usted no tiene permiso de visión esta página\n"; + exit; + } +} + + + + + +echo "
\n"; + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n
\n"; + + +echo "\n\n\n


\nScript runtime: $RUNtime seconds"; +echo "                   VERSIÓN: $admin_version"; +echo "                   CONSTRUCCION: $build
\n"; + + +?> + + +
+ + + +1) + { + if (strlen($dial_statuses)>2) + { + $g=0; + $p='13'; + $GMT_gmt[0] = ''; + $GMT_hour[0] = ''; + $GMT_day[0] = ''; + while ($p > -13) + { + $pzone=3600 * $p; + $pmin=(gmdate("i", time() + $pzone)); + $phour=( (gmdate("G", time() + $pzone)) * 100); + $pday=gmdate("w", time() + $pzone); + $tz = sprintf("%.2f", $p); + $GMT_gmt[$g] = "$tz"; + $GMT_day[$g] = "$pday"; + $GMT_hour[$g] = ($phour + $pmin); + $p = ($p - 0.25); + $g++; + } + + $stmt="SELECT * FROM vicidial_call_times where call_time_id='$local_call_time';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $Gct_default_start = "$rowx[3]"; + $Gct_default_stop = "$rowx[4]"; + $Gct_sunday_start = "$rowx[5]"; + $Gct_sunday_stop = "$rowx[6]"; + $Gct_monday_start = "$rowx[7]"; + $Gct_monday_stop = "$rowx[8]"; + $Gct_tuesday_start = "$rowx[9]"; + $Gct_tuesday_stop = "$rowx[10]"; + $Gct_wednesday_start = "$rowx[11]"; + $Gct_wednesday_stop = "$rowx[12]"; + $Gct_thursday_start = "$rowx[13]"; + $Gct_thursday_stop = "$rowx[14]"; + $Gct_friday_start = "$rowx[15]"; + $Gct_friday_stop = "$rowx[16]"; + $Gct_saturday_start = "$rowx[17]"; + $Gct_saturday_stop = "$rowx[18]"; + $Gct_state_call_times = "$rowx[19]"; + + $ct_states = ''; + $ct_state_gmt_SQL = ''; + $ct_srs=0; + $b=0; + if (strlen($Gct_state_call_times)>2) + { + $state_rules = explode('|',$Gct_state_call_times); + $ct_srs = ((count($state_rules)) - 2); + } + while($ct_srs >= $b) + { + if (strlen($state_rules[$b])>1) + { + $stmt="SELECT * from vicidial_state_call_times where state_call_time_id='$state_rules[$b]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Gstate_call_time_id = "$row[0]"; + $Gstate_call_time_state = "$row[1]"; + $Gsct_default_start = "$row[4]"; + $Gsct_default_stop = "$row[5]"; + $Gsct_sunday_start = "$row[6]"; + $Gsct_sunday_stop = "$row[7]"; + $Gsct_monday_start = "$row[8]"; + $Gsct_monday_stop = "$row[9]"; + $Gsct_tuesday_start = "$row[10]"; + $Gsct_tuesday_stop = "$row[11]"; + $Gsct_wednesday_start = "$row[12]"; + $Gsct_wednesday_stop = "$row[13]"; + $Gsct_thursday_start = "$row[14]"; + $Gsct_thursday_stop = "$row[15]"; + $Gsct_friday_start = "$row[16]"; + $Gsct_friday_stop = "$row[17]"; + $Gsct_saturday_start = "$row[18]"; + $Gsct_saturday_stop = "$row[19]"; + + $ct_states .="'$Gstate_call_time_state',"; + + $r=0; + $state_gmt=''; + while($r < $g) + { + if ($GMT_day[$r]==0) #### Sunday tiempo local + { + if (($Gsct_sunday_start==0) and ($Gsct_sunday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_sunday_start) and ($GMT_hour[$r]<$Gsct_sunday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==1) #### Monday tiempo local + { + if (($Gsct_monday_start==0) and ($Gsct_monday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_monday_start) and ($GMT_hour[$r]<$Gsct_monday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==2) #### Tuesday tiempo local + { + if (($Gsct_tuesday_start==0) and ($Gsct_tuesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_tuesday_start) and ($GMT_hour[$r]<$Gsct_tuesday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==3) #### Wednesday tiempo local + { + if (($Gsct_wednesday_start==0) and ($Gsct_wednesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_wednesday_start) and ($GMT_hour[$r]<$Gsct_wednesday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==4) #### Thursday tiempo local + { + if (($Gsct_thursday_start==0) and ($Gsct_thursday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_thursday_start) and ($GMT_hour[$r]<$Gsct_thursday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==5) #### Friday tiempo local + { + if (($Gsct_friday_start==0) and ($Gsct_friday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_friday_start) and ($GMT_hour[$r]<$Gsct_friday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==6) #### Saturday tiempo local + { + if (($Gsct_saturday_start==0) and ($Gsct_saturday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_saturday_start) and ($GMT_hour[$r]<$Gsct_saturday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + $r++; + } + $state_gmt = "$state_gmt'99'"; + $ct_state_gmt_SQL .= "or (state='$Gstate_call_time_state' and gmt_offset_now IN($state_gmt)) "; + } + + $b++; + } + if (strlen($ct_states)>2) + { + $ct_states = eregi_replace(",$",'',$ct_states); + $ct_statesSQL = "and state NOT IN($ct_states)"; + } + else + { + $ct_statesSQL = ""; + } + + $r=0; + $default_gmt=''; + while($r < $g) + { + if ($GMT_day[$r]==0) #### Sunday tiempo local + { + if (($Gct_sunday_start==0) and ($Gct_sunday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_sunday_start) and ($GMT_hour[$r]<$Gct_sunday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==1) #### Monday tiempo local + { + if (($Gct_monday_start==0) and ($Gct_monday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_monday_start) and ($GMT_hour[$r]<$Gct_monday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==2) #### Tuesday tiempo local + { + if (($Gct_tuesday_start==0) and ($Gct_tuesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_tuesday_start) and ($GMT_hour[$r]<$Gct_tuesday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==3) #### Wednesday tiempo local + { + if (($Gct_wednesday_start==0) and ($Gct_wednesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_wednesday_start) and ($GMT_hour[$r]<$Gct_wednesday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==4) #### Thursday tiempo local + { + if (($Gct_thursday_start==0) and ($Gct_thursday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_thursday_start) and ($GMT_hour[$r]<$Gct_thursday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==5) #### Friday tiempo local + { + if (($Gct_friday_start==0) and ($Gct_friday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_friday_start) and ($GMT_hour[$r]<$Gct_friday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==6) #### Saturday tiempo local + { + if (($Gct_saturday_start==0) and ($Gct_saturday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_saturday_start) and ($GMT_hour[$r]<$Gct_saturday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + $r++; + } + + $default_gmt = "$default_gmt'99'"; + $all_gmtSQL = "(gmt_offset_now IN($default_gmt) $ct_statesSQL) $ct_state_gmt_SQL"; + + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) - 0); + $Dsql = ''; + $o=0; + while ($Ds_to_print > $o) + { + $o++; + $Dsql .= "'$Dstatuses[$o]',"; + } + $Dsql = preg_replace("/,$/","",$Dsql); + + $stmt="SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $fSQL"; + #$DB=1; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rslt_rows = mysql_num_rows($rslt); + if ($rslt_rows) + { + $rowx=mysql_fetch_row($rslt); + $active_leads = "$rowx[0]"; + } + else {$active_leads = '0';} + + echo "|$DB|\n"; + echo "Esta campaña tiene $active_leads Leads para ser llamados en estas listas\n"; + } + else + { + echo "ningunos estados del dial seleccionados para esta campaña\n"; + } + } + else + { + echo "ningunas listas activas seleccionadas para esta campaña\n"; + } + } +else + { + echo "ningunas listas activas seleccionadas para esta campaña\n"; + } +##### END calculate what gmt_offset_now values are within the allowed local_call_time setting ### +} +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/admin_modify_lead.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/admin_modify_lead.php new file mode 100644 index 00000000..b28d98c4 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/admin_modify_lead.php @@ -0,0 +1,610 @@ + LICENSE: GPLv2 +# + +# CHANGES +# +# 70702-1259 - Added recording location link and truncation +# 70906-2132 - Added closer_log records display +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];} + elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];} + elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];} + elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];} + elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];} +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["security"])) {$security=$_GET["security"];} + elseif (isset($_POST["security"])) {$security=$_POST["security"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} +if (isset($_GET["CBchangeUSERtoANY"])) {$CBchangeUSERtoANY=$_GET["CBchangeUSERtoANY"];} + elseif (isset($_POST["CBchangeUSERtoANY"])) {$CBchangeUSERtoANY=$_POST["CBchangeUSERtoANY"];} +if (isset($_GET["CBchangeUSERtoUSER"])) {$CBchangeUSERtoUSER=$_GET["CBchangeUSERtoUSER"];} + elseif (isset($_POST["CBchangeUSERtoUSER"])) {$CBchangeUSERtoUSER=$_POST["CBchangeUSERtoUSER"];} +if (isset($_GET["CBchangeANYtoUSER"])) {$CBchangeANYtoUSER=$_GET["CBchangeANYtoUSER"];} + elseif (isset($_POST["CBchangeANYtoUSER"])) {$CBchangeANYtoUSER=$_POST["CBchangeANYtoUSER"];} +if (isset($_GET["callback_id"])) {$callback_id=$_GET["callback_id"];} + elseif (isset($_POST["callback_id"])) {$callback_id=$_POST["callback_id"];} +if (isset($_GET["CBuser"])) {$CBuser=$_GET["CBuser"];} + elseif (isset($_POST["CBuser"])) {$CBuser=$_POST["CBuser"];} +if (isset($_GET["modify_logs"])) {$modify_logs=$_GET["modify_logs"];} + elseif (isset($_POST["modify_logs"])) {$modify_logs=$_POST["modify_logs"];} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + + +### AST GUI database administration modify lead in vicidial_list +### admin_modify_lead.php + +# this is the administration lead information modifier screen, the administrator just needs to enter the leadID and then they can view and modify the information in the record for that lead + +# CHANGES +# +# 60419-1705 - Added ability to change lead callback record from USERONLY to ANYONE or USERONLY-user +# 60421-1459 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60609-1112 - Added DNC list addition if status changed to DNC +# 60619-1539 - Added variable filtering to eliminate SQL injection attack threat +# 61130-1639 - Added recording_log lookup and list for this lead_id +# 61201-1136 - Added recording_log user(TSR) display and link +# 70305-1133 - Changed to default CHECKED modify logs upon status change +# 70424-1128 - Added campaign-specific statuses, reformatted recordings list +# + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and modify_leads='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name,modify_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + + + +VICIDIAL ADMIN: Registro del Lead modificado + + +
+VICIDIAL ADMIN: Registro del Lead modificado
\n"; + +if ($end_call > 0) +{ + +$call_length = ($STARTtime - $call_began); + + ### insert a NEW record to the vicidial_closer_log table + $stmt="INSERT INTO vicidial_closer_log (lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed) values('" . mysql_real_escape_string($lead_id) . "','" . mysql_real_escape_string($list_id) . "','" . mysql_real_escape_string($campaign_id) . "','" . mysql_real_escape_string($parked_time) . "','" . mysql_real_escape_string($call_began) . "','$STARTtime','" . mysql_real_escape_string($call_length) . "','" . mysql_real_escape_string($status) . "','" . mysql_real_escape_string($phone_code) . "','" . mysql_real_escape_string($phone_number) . "','$PHP_AUTH_USER','" . mysql_real_escape_string($comments) . "','Y')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + ### update the lead record in the vicidial_list table + $stmt="UPDATE vicidial_list set status='" . mysql_real_escape_string($status) . "',first_name='" . mysql_real_escape_string($first_name) . "',last_name='" . mysql_real_escape_string($last_name) . "',address1='" . mysql_real_escape_string($address1) . "',address2='" . mysql_real_escape_string($address2) . "',address3='" . mysql_real_escape_string($address3) . "',city='" . mysql_real_escape_string($city) . "',state='" . mysql_real_escape_string($state) . "',province='" . mysql_real_escape_string($province) . "',postal_code='" . mysql_real_escape_string($postal_code) . "',country_code='" . mysql_real_escape_string($country_code) . "',alt_phone='" . mysql_real_escape_string($alt_phone) . "',email='" . mysql_real_escape_string($email) . "',security_phrase='" . mysql_real_escape_string($security) . "',comments='" . mysql_real_escape_string($comments) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Información modificada

\n"; + echo "\n"; + + if ( ($dispo != $status) and ($dispo == 'CBHOLD') ) + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status='ACTIVE';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
vicidial_callback record inactivated: $lead_id
\n"; + } + if ( ($dispo != $status) and ($dispo == 'CALLBK') ) + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
vicidial_callback record inactivated: $lead_id
\n"; + } + + if ( ($dispo != $status) and ($status == 'DNC') ) + { + ### add lead to the internal DNC list + $stmt="INSERT INTO vicidial_dnc (phone_number) values('" . mysql_real_escape_string($phone_number) . "');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
Lead added to DNC List: $lead_id - $phone_number
\n"; + } + ### update last record in vicidial_agent_log and vicidial_log tables + if (($dispo != $status) and ($modify_logs > 0)) + { + $stmt="UPDATE vicidial_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by call_date desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_agent_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by agent_log_id desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + +} +else +{ + + if ($CBchangeUSERtoANY == 'YES') + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set recipient='ANYONE' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
vicidial_callback record changed to ANYONE
\n"; + } + if ($CBchangeUSERtoUSER == 'YES') + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
vicidial_callback record user changed to $CBuser
\n"; + } + if ($CBchangeANYtoUSER == 'YES') + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "',recipient='USERONLY' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
vicidial_callback record changed to USERONLY, user: $CBuser
\n"; + } + + + + $stmt="SELECT count(*) from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_count = $row[0]; + + if ($lead_count > 0) + { + + $stmt="select * from vicidial_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by uniqueid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + $call_log = ''; + $log_campaign = ''; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (strlen($log_campaign)<1) {$log_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + $call_log .= "
"; + $call_log .= ""; + $call_log .= ""; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + + } + + $stmt="select * from vicidial_closer_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by closecallid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $Clogs_to_print = mysql_num_rows($rslt); + + $y=0; + $closer_log = ''; + $Clog_campaign = ''; + while ($Clogs_to_print > $y) + { + $row=mysql_fetch_row($rslt); + if (strlen($Clog_campaign)<1) {$Clog_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + + } + + $stmt="SELECT * from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_id = "$row[0]"; + $dispo = "$row[3]"; + $tsr = "$row[4]"; + $vendor_id = "$row[5]"; + $list_id = "$row[7]"; + $campaign_id = "$row[8]"; + $phone_code = "$row[10]"; + $phone_number = "$row[11]"; + $title = "$row[12]"; + $first_name = "$row[13]"; # + $middle_initial = "$row[14]"; + $last_name = "$row[15]"; # + $address1 = "$row[16]"; # + $address2 = "$row[17]"; # + $address3 = "$row[18]"; # + $city = "$row[19]"; # + $state = "$row[20]"; # + $province = "$row[21]"; # + $postal_code = "$row[22]"; # + $country_code = "$row[23]"; # + $gender = "$row[24]"; + $date_of_birth = "$row[25]"; + $alt_phone = "$row[26]"; # + $email = "$row[27]"; # + $security = "$row[28]"; # + $comments = "$row[29]"; # + + echo "
Información de la llamada: $first_name $last_name - $phone_number

\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
$u$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1]
$y$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1]   $row[14]
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + + echo "\n"; + echo "
Vendor ID: $vendor_id     Lead ID: $lead_id
Fronter: $tsr     ID De la Lista: $list_id
Nombre:   \n"; + echo " Apellidos:
Dirección 1 :
Dirección 2 :
Dirección 3 :
Ciudad :
Estado:   \n"; + echo " Código Postal:
Provincia:
País :
Alt Phone :
Email :
Seguridad:
Comentarios :
Disposición: (with $log_campaign statuses)
Modify agent and vicidial logs
\n"; + echo "


\n"; + + if ( ($dispo == 'CALLBK') or ($dispo == 'CBHOLD') ) + { + ### find any vicidial_callback records for this lead + $stmt="select * from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CB_to_print = mysql_num_rows($rslt); + $rowx=mysql_fetch_row($rslt); + + if ($CB_to_print>0) + { + if ($rowx[9] == 'USERONLY') + { + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

\n"; + + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UserID: \n"; + echo "

\n"; + } + else + { + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UserID: \n"; + echo "

\n"; + } + } + else + { + echo "
No Callback records found
\n"; + } + } + + + + + + + } + else + { + echo "las operaciones de búsqueda del plomo FALLARON para el lead_id $lead_id       $NOW_TIME\n

\n"; +# echo "Close this window\n

\n"; + } + + + +echo "

\n"; + +echo "
\n"; + +echo "LLAMADAS A ESTE LEAD:\n"; +echo "\n"; +echo "\n"; + + echo "$call_log\n"; + +echo "
# DATE/TIME LENGTH STATUS TSR CAMPAÑA LIST LEAD
\n"; +echo "

\n"; + +echo "CLOSER RECORDS FOR THIS LEAD:\n"; +echo "\n"; +echo "\n"; + + echo "$closer_log\n"; + +echo "
# DATE/TIME LENGTH STATUS TSR CAMPAÑA LIST LEAD WAIT
\n"; +echo "

\n"; + + +echo "RECORDINGS FOR THIS LEAD:\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from recording_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by recording_id desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $location = $row[11]; + if (strlen($location)>30) + {$locat = substr($location,0,27); $locat = "$locat...";} + else + {$locat = $location;} + if (eregi("http",$location)) + {$location = "$locat";} + else + {$location = $locat;} + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + + } + + +echo "
# LEADDATE/TIME SECONDS   RECIDFILENAMELOCATIONTSR
$u $row[12] $row[4] $row[8] $row[0]   $row[10] $location $row[13]
\n"; + + + + +} + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nScript runtime: $RUNtime seconds
"; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/admin_search_lead.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/admin_search_lead.php new file mode 100644 index 00000000..536853f5 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/admin_search_lead.php @@ -0,0 +1,225 @@ + LICENSE: GPLv2 +### +### AST GUI database administration search for lead info +### admin_modify_lead.php +# +# this is the administration lead information modifier screen, the administrator just needs to enter the leadID and then they can view and modify the information in the record for that lead +# +# changes: +# 60620-1055 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# - Changed results to multi-record +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and modify_leads='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name,modify_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + + + +VICIDIAL ADMIN: Buscar Lead + +Operaciones de búsqueda del Lead + + +VICIDIAL ADMIN: Lead search
\n"; + + +if ( (!$vendor_id) and (!$phone) and (!$lead_id) ) + { + echo date("l F j, Y G:i:s A"); + echo "\n

\n"; + echo "
\n"; + echo "\n"; + echo "Por favor, Introduzca un:
Vendor ID(código del vendedor del Lead): or \n"; + echo "
un número de teléfono de casa: or\n"; + echo "
ID del Lead:

\n"; + echo "
\n"; + echo "\n
\n"; + echo "\n"; + exit; + } + +else + { + + if ($vendor_id) + { + $stmt="SELECT * from vicidial_list where vendor_lead_code='" . mysql_real_escape_string($vendor_id) . "' order by modify_date desc limit 1000"; + } + else + { + if ($phone) + { + $stmt="SELECT * from vicidial_list where phone_number='" . mysql_real_escape_string($phone) . "' order by modify_date desc limit 1000"; + } + else + { + if ($lead_id) + { + $stmt="SELECT * from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "' order by modify_date desc limit 1000"; + } + else + { + print "ERROR: you must search for something! Go back and search for something"; + exit; + } + } + } + if ($DB) + { + echo "\n\n$stmt\n\n"; + } + + $rslt=mysql_query($stmt, $link); + $results_to_print = mysql_num_rows($rslt); + if ($results_to_print < 1) + { + echo date("l F j, Y G:i:s A"); + echo "\n

\n"; + echo "Las variables de la búsqueda que usted incorporó no son activas en el sistema

\n"; + echo "Va por favor detrás y dobla el cheque la información que usted incorporó y somete otra vez\n"; + echo "
\n"; + echo "\n"; + exit; + } + else + { + echo "RESULTS: $results_to_print

\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $o=0; + while ($results_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $o++; + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + echo "
#LEAD IDESTADOVENDOR IDLAST AGENTID DE LA LISTAPHONENOMBRECITYSECURITYLAST CALL
$o$row[0]$row[3]$row[5]$row[4]$row[7]$row[11]$row[13] $row[15]$row[19]$row[28]$row[2]
\n"; + } + } + + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\nNUEVA BÚSQUEDA"; + + +echo "\n\n\n


\nScript runtime: $RUNtime seconds"; + + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/count.htm b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/count.htm new file mode 100644 index 00000000..51f8a361 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/count.htm @@ -0,0 +1 @@ + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/dbconnect.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/dbconnect.php new file mode 100644 index 00000000..5247e166 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/dbconnect.php @@ -0,0 +1,49 @@ + LICENSE: GPLv2 +# +if ( file_exists("/etc/astguiclient.conf") ) +{ +$DBCagc = file("/etc/astguiclient.conf"); +foreach ($DBCagc as $DBCline) + { + $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); + if (ereg("^PATHlogs", $DBCline)) + {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} + if (ereg("^PATHweb", $DBCline)) + {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} + if (ereg("^VARDB_server", $DBCline)) + {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} + if (ereg("^VARDB_database", $DBCline)) + {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} + if (ereg("^VARDB_user", $DBCline)) + {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} + if (ereg("^VARDB_pass", $DBCline)) + {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} + if (ereg("^VARDB_port", $DBCline)) + {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} + } + +} +else +{ +#defaults for DB connection +$VARDB_server = 'localhost'; +$VARDB_user = 'cron'; +$VARDB_pass = '1234'; +$VARDB_database = '1234'; +$WeBServeRRooT = '/usr/local/apache2/htdocs'; +} + +$link=mysql_connect("$VARDB_server", "$VARDB_user", "$VARDB_pass"); +mysql_select_db("$VARDB_database"); + +$local_DEF = 'Local/'; +$conf_silent_prefix = '7'; +$local_AMP = '@'; +$ext_context = 'demo'; +$recording_exten = '8309'; +$WeBRooTWritablE = '1'; +$non_latin = '0'; # set to 1 for UTF rules + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/group_hourly_stats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/group_hourly_stats.php new file mode 100644 index 00000000..dce46183 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/group_hourly_stats.php @@ -0,0 +1,252 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60620-1014 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["date_with_hour"])) {$date_with_hour=$_GET["date_with_hour"];} + elseif (isset($_POST["date_with_hour"])) {$date_with_hour=$_POST["date_with_hour"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$date_with_hour_default = date("Y-m-d H"); +$date_no_hour_default = $TODAY; + +if (!isset($date_with_hour)) {$date_with_hour = $date_with_hour_default;} + $date_no_hour = $date_with_hour; + $date_no_hour = eregi_replace(" ([0-9]{2})",'',$date_no_hour); +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + +# $stmt="SELECT full_name from vicidial_users where user='$user';"; +# $rslt=mysql_query($stmt, $link); +# $row=mysql_fetch_row($rslt); +# $full_name = $row[0]; + + } + + + + +?> + + +VICIDIAL ADMIN: Stats Cada hora Del Grupo +\n"; +?> + + +
+ + + + + += '" . mysql_real_escape_string($date_with_hour) . ":00:00' and call_date <= '" . mysql_real_escape_string($date_with_hour) . ":59:59' and user='$VDuser[$o]';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VDtotal[$o] = "$row[0]"; + + $stmt="select count(*) from vicidial_log where call_date >= '" . mysql_real_escape_string($date_no_hour) . " 00:00:00' and call_date <= '" . mysql_real_escape_string($date_no_hour) . " 23:59:59' and user='$VDuser[$o]' and status='" . mysql_real_escape_string($status) . "';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VDday[$o] = "$row[0]"; + + $stmt="select count(*) from vicidial_log where call_date >= '" . mysql_real_escape_string($date_with_hour) . ":00:00' and call_date <= '" . mysql_real_escape_string($date_with_hour) . ":59:59' and user='$VDuser[$o]' and status='" . mysql_real_escape_string($status) . "';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VDcount[$o] = "$row[0]"; + $o++; + } + +echo "
" ?>   VICIDIAL ADMIN: Stats Cada hora Del Grupo  
\n"; + +echo "
\n"; + +echo "CUENTAS DE HORAS DE TSR: $group | $status | $date_with_hour | $date_no_hour\n"; + +echo "
\n"; +echo "\n"; + + $day_calls=0; + $hour_calls=0; + $total_calls=0; + $o=0; + while($o < $tsrs_to_print) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $total_calls = ($total_calls + $VDtotal[$o]); + $hour_calls = ($hour_calls + $VDcount[$o]); + $day_calls = ($day_calls + $VDday[$o]); + + $o++; + } + +echo "\n"; + + +} + +echo "
TSR ID   $status   LLAMADAS TOTALES   $status DAY    
$VDuser[$o] $VDname[$o] $VDcount[$o] $VDtotal[$o] $VDday[$o]MODIFICAR | ESTADÍSTICAS
TOTAL $status $hour_calls $total_calls $day_calls
\n"; +echo "

\n"; + + + echo "
Inscriba por favor a grupo que usted desea conseguir el stats cada hora para:
\n"; + echo "\n"; + echo "group:
\n"; + echo "status:   (example: XFER)
\n"; + echo "date with hour:   (example: 2004-06-25 14)
\n"; + echo "\n"; + echo "


\n"; + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nScript runtime: $RUNtime seconds
"; + + +?> + + +
+ + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/help.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/help.gif new file mode 100644 index 0000000000000000000000000000000000000000..5575d7c8761954a943a67f99265cc408edfeca37 GIT binary patch literal 492 zcmV@K zrlzK7XlVcc{(zdZkfy!h=k1@f#?ad1KW2>Z^Y)^mqV4VLXlQ0|jj7+?-?g=~@9*#a z|NoMak9c=?>FMXq%*)5e#og%my1BWCh=?#*gAYJ&zrMYsqoV%*{r~>|{{H^||Nj6p zX13G(A^8LW002J#EC2ui02BZe000L6z@KnPEE=r$6g+ktoje(cAZZc{4nh|!Jvux)X@@=m zC21-y7sABGX&Z<(B|AJC&(S}$JRWB|DXBdgJUkNs!9S#?9v(X*xM}G+D<}p+2b5_V z8b~1O;i1q87Yz;w5oDsk4s-&2^x#n-!huJTe#ntg$k2xm+8(U%L!-zT3@08O+Yv#+ i0XJ}rR3Wh7fCU;Dx+Ew$Wrh+7CQhJ)nL_kP5CA(E_TC-< literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/listloader.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/listloader.php new file mode 100644 index 00000000..801ca169 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/listloader.php @@ -0,0 +1,926 @@ + LICENSE: GPLv2 +# +# AST Web GUI lead loader from formatted file +# +# CHANGES +# 50602-1640 - First version created by Joe Johnson +# 51128-1108 - Removed PHP global vars requirement +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60616-1006 - added listID override and gmt_offset lookup while loading +# 60619-1652 - Added variable filtering to eliminate SQL injection attack threat +# 60822-1105 - fixed for nonwritable directories +# 60906-1059 - added filter of non-digits in alt_phone field +# 61110-1222 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1046 - added postal code GMT lookup and duplicate check options +# 70205-1703 - Defaulted phone_code to 1 if not populated +# 70417-1059 - Fixed default phone_code bug +# +# make sure vicidial_list exists and that your file follows the formatting correctly. This page does not dedupe or do any other lead filtering actions yet at this time. +# + +$version = '2.0.3'; +$build = '770417-1059'; + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +$leadfile=$_FILES["leadfile"]; + $LF_orig = $_FILES['leadfile']['name']; + $LF_path = $_FILES['leadfile']['tmp_name']; +$submit_file=$_GET["submit_file"]; if (!$submit_file) {$submit_file=$_POST["submit_file"];} +$list_id_override=$_GET["list_id_override"]; if (!$list_id_override) {$list_id_override=$_POST["list_id_override"];} + $list_id_override = (preg_replace("/\D/","",$list_id_override)); +$submit=$_GET["submit"]; if (!$submit) {$submit=$_POST["submit"];} +$ENVIAR=$_GET["ENVIAR"]; if (!$ENVIAR) {$ENVIAR=$_POST["ENVIAR"];} +if (isset($_GET["dupcheck"])) {$dupcheck=$_GET["dupcheck"];} + elseif (isset($_POST["dupcheck"])) {$dupcheck=$_POST["dupcheck"];} +if (isset($_GET["postalgmt"])) {$postalgmt=$_GET["postalgmt"];} + elseif (isset($_POST["postalgmt"])) {$postalgmt=$_POST["postalgmt"];} + + +#$DB=1; +#$DBX=1; + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$list_id_override = ereg_replace("[^0-9]","",$list_id_override); + + +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +$admDIR = "$HTTPprotocol$server_name$script_name"; +$admDIR = eregi_replace('listloader.php','',$admDIR); +$admSCR = 'admin.php'; +$NWB = "   \"AYUDA\""; + + +$secX = date("U"); +$hour = date("H"); +$min = date("i"); +$sec = date("s"); +$mon = date("m"); +$mday = date("d"); +$year = date("Y"); +$isdst = date("I"); +$Shour = date("H"); +$Smin = date("i"); +$Ssec = date("s"); +$Smon = date("m"); +$Smday = date("d"); +$Syear = date("Y"); +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + ### Grab Server GMT value from the database + $stmt="SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $rslt=mysql_query($stmt, $link); + $gmt_recs = mysql_num_rows($rslt); + if ($gmt_recs > 0) + { + $row=mysql_fetch_row($rslt); + $DBSERVER_GMT = "$row[0]"; + if (strlen($DBSERVER_GMT)>0) {$SERVER_GMT = $DBSERVER_GMT;} + if ($isdst) {$SERVER_GMT++;} + } + else + { + $SERVER_GMT = date("O"); + $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = ($SERVER_GMT + 0); + $SERVER_GMT = ($SERVER_GMT / 100); + } + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +#if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + +?> + + + + + + method=post enctype="multipart/form-data"> +
+ + + + + + + + + + + + + + + + + + + + + +
Cargar Leads de este archivo:
ID De la Lista Override: (Solamente números or leave blank for values in the file)
Cheque Del Duplicado Del Plomo:
Operaciones de búsqueda De la Zona De Tiempo De Plomo:
CHASQUE AQUÍ PARA IR AL CARGADOR ESTUPENDO DEL PLOMO (BETA VERSIÓN)     DE NUEVO AL ADMIN
+ +document.forms[0].leadfile.disabled=true; document.forms[0].submit_file.disabled=true; document.forms[0].reload_page.disabled=true;"; + flush(); + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"); + $lead_file = "./vicidial_temp_file.txt"; + } + else + { + $lead_file = "$LF_path"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + $pulldate=date("Y-m-d H:i:s"); + + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + + if (count($field_check)>=5) { + flush(); + $file=fopen("$lead_file", "r"); + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + print "
Procesando$delim_name-delimited file... ($tab_count|$pipe_count)\n"; + + if (strlen($list_id_override)>0) + { + print "

ID DE LA LISTA OVERRIDE FOR THIS FILE: $list_id_override

"; + } + + while (!feof($file)) { + $record++; + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + + if (strlen($buffer)>0) { + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + $vendor_lead_code = $row[0]; + $source_code = $row[1]; + $source_id=$source_code; + $list_id = $row[2]; + $phone_code = eregi_replace("[^0-9]", "", $row[3]); + $phone_number = eregi_replace("[^0-9]", "", $row[4]); + $USarea = substr($phone_number, 0, 3); + $title = $row[5]; + $first_name = $row[6]; + $middle_initial = $row[7]; + $last_name = $row[8]; + $address1 = $row[9]; + $address2 = $row[10]; + $address3 = $row[11]; + $city = $row[12]; + $state = $row[13]; + $province = $row[14]; + $postal_code = $row[15]; + $country = $row[16]; + $gender = $row[17]; + $date_of_birth = $row[18]; + $alt_phone = eregi_replace("[^0-9]", "", $row[19]); + $email = $row[20]; + $security_phrase = $row[21]; + $comments = trim($row[22]); + + if (strlen($list_id_override)>0) + { + # print "

ID DE LA LISTA OVERRIDE FOR THIS FILE: $list_id_override

"; + $list_id = $list_id_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table ##### + if (eregi("DUP",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + $US='_'; + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user = ""; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_list .= "$phone_number$US$list_id|"; + + if (strlen($phone_code)<1) {$phone_code = '1';} + + $postalgmt_found=0; + if ( (eregi("POSTAL",$postalgmt)) && (strlen($postal_code)>4) ) + { + if (preg_match('/^1$/', $phone_code)) + { + $stmt="select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[3]; + $dst_range = $row[4]; + $PC_processed++; + $postalgmt_found++; + $post++; + } + } + } + if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =='1') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### MEXICO ### + if ($phone_code =='52') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### AUSTRALIA ### + if ($phone_code =='61') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $PC_processed++; + $stmt="select * from vicidial_phone_codes where country_code='$phone_code';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + } + + ### Find out if DST to raise the gmt offset ### + $AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); + $AC_localtime = mktime(($Shour + $AC_GMT_diff), $Smin, $Ssec, $Smon, $Smday, $Syear); + $hour = date("H",$AC_localtime); + $min = date("i",$AC_localtime); + $sec = date("s",$AC_localtime); + $mon = date("m",$AC_localtime); + $mday = date("d",$AC_localtime); + $wday = date("w",$AC_localtime); + $year = date("Y",$AC_localtime); + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + $AC_processed=0; + if ( (!$AC_processed) and ($dst_range == 'SSM-FSN') ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + #********************************************************************** + # SSM-FSN + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on Second Sunday March to First Sunday November at 2 am. + # INPUTS: + # mm INTEGER Month. + # dd INTEGER Day of the month. + # ns INTEGER Seconds into the day. + # dow INTEGER Day of week (0=Sunday, to 6=Saturday) + # OPTIONAL INPUT: + # timezone INTEGER hour difference UTC - local standard time + # (DEFAULT is blank) + # make calculations based on UTC time, + # which means shift at 10:00 UTC in April + # and 9:00 UTC in October + # OUTPUT: + # INTEGER 1 = DST, 0 = not DST + # + # S M T W T F S + # 1 2 3 4 5 6 7 + # 8 9 10 11 12 13 14 + #15 16 17 18 19 20 21 + #22 23 24 25 26 27 28 + #29 30 31 + # + # S M T W T F S + # 1 2 3 4 5 6 + # 7 8 9 10 11 12 13 + #14 15 16 17 18 19 20 + #21 22 23 24 25 26 27 + #28 29 30 31 + # + #********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; + } elseif ($mm >= 4 and $mm <= 10) { + $USACAN_DST=1; + } elseif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; + } elseif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } + } else { + $USACAN_DST=0; + } + } elseif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; + } elseif ($dd < ($dow+1)) { + $USACAN_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } else { # tiempo local calculations + if ($ns < 7200) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } + } else { + $USACAN_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$gmt_offset++;} + $AC_processed++; + } + + if ( (!$AC_processed) and ($dst_range == 'FSA-LSO') ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + #********************************************************************** + # FSA-LSO + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in April and last Sunday in October at 2 am. + #********************************************************************** + + $NA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $NA_DST=0; + } elseif ($mm >= 5 and $mm <= 9) { + $NA_DST=1; + } elseif ($mm == 4) { + if ($dd > 7) { + $NA_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $NA_DST=0; + } else { + $NA_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $NA_DST=0; + } else { + $NA_DST=1; + } + } + } else { + $NA_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $NA_DST=1; + } elseif ($dd < ($dow+25)) { + $NA_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $NA_DST=1; + } else { + $NA_DST=0; + } + } else { # tiempo local calculations + if ($ns < 7200) { + $NA_DST=1; + } else { + $NA_DST=0; + } + } + } else { + $NA_DST=0; + } + } # end of month checks + + if ($DBX) {print " DST: $NA_DST\n";} + if ($NA_DST) {$gmt_offset++;} + $AC_processed++; + } + + if ( (!$AC_processed) and ($dst_range == 'LSM-LSO') ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in March and last Sunday in October at 1 am. + #********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; + } elseif ($mm >= 4 and $mm <= 9) { + $GBR_DST=1; + } elseif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; + } elseif ($dd < ($dow+25)) { + $GBR_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } else { # tiempo local calculations + if ($ns < 3600) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } + } else { + $GBR_DST=1; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; + } elseif ($dd < ($dow+25)) { + $GBR_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } else { # tiempo local calculations + if ($ns < 3600) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } + } else { + $GBR_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) and ($dst_range == 'LSO-LSM') ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUS_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; + } elseif ($dd < ($dow+25)) { + $AUS_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } else { # tiempo local calculations + if ($ns < 3600) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } + } else { + $AUS_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; + } elseif ($dd < ($dow+25)) { + $AUS_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } else { # tiempo local calculations + if ($ns < 3600) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } + } else { + $AUS_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + + if ( (!$AC_processed) and ($dst_range == 'FSO-LSM') ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + #********************************************************************** + # TASMANIA ONLY + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUST_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; + } elseif ($dd < ($dow+25)) { + $AUST_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } else { # tiempo local calculations + if ($ns < 3600) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } + } else { + $AUST_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $AUST_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } + } else { + $AUST_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) and ($dst_range == 'FSO-TSM') ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and third Sunday in March at 1 am. + #********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $NZL_DST=0; + } elseif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; + } elseif ($dd < ($dow+14)) { + $NZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } else { # tiempo local calculations + if ($ns < 3600) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } + } else { + $NZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $NZL_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } + } else { + $NZL_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + + if ( (!$AC_processed) and ($dst_range == 'TSO-LSF') ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + #********************************************************************** + # TSO-LSF + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. Brazil + # Based on Third Sunday October to Last Sunday February at 1 am. + #********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; + } elseif ($mm >= 3 and $mm <= 9) { + $BZL_DST=0; + } elseif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; + } elseif ($dd < ($dow+22)) { + $BZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } else { # tiempo local calculations + if ($ns < 3600) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } + } else { + $BZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; + } elseif ($dd < ($dow+22)) { + $BZL_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } else { # tiempo local calculations + if ($ns < 3600) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } + } else { + $BZL_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$gmt_offset++;} + $AC_processed++; + } + + if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } + else + { + if ($bad < 10) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) + { + print ""; + usleep(1000); + flush(); + } + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
DUPLICATE: $dup       POSTAL MATCH: $post
"; + + } else { + print "
ERROR: El archivo no tiene el número requerido de los campos para procesarlo.
"; + } + print ""; +} else if (filesize($leadfile)>8388608) { + print "
ERROR: El archivo excede el límite 8MB.
"; +} +?> + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/listloader.pl b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/listloader.pl new file mode 100644 index 00000000..d926368b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/listloader.pl @@ -0,0 +1,1084 @@ +#!/usr/bin/perl + +### listloader.pl version 0.4 *DBI-version* +### +### Copyright (C) 2007 Matt Florell,Joe Johnson LICENSE: GPLv2 +### +# +# +# CHANGES +# 60616-1548 - Added listID override feature to force all leads into same list +# - Added gmt_offset_now lookup for each lead +# 60811-1232 - Changed to DBI +# 60811-1329 - changed to use /etc/astguiclient.conf for configs +# 60822-1121 - fixed for nonwritable directories +# 60906-1058 - added filter of non-digits in alt_phone field +# 61110-1229 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1215 - added postal code GMT lookup and duplicate check options +# 70205-1703 - Defaulted phone_code to 1 if not populated +# 70417-1059 - Fixed default phone_code bug +# 70510-1518 - Added campaign and system duplicate check and phonecode override +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n [-forcelistid=1234] = overrides the listID given in the file with the 1234\n [-h] = this help screen\n\n"; + + exit; + } + else + { + if ($args =~ /-duplicate-check/i) + {$dupcheck=1;} + if ($args =~ /-duplicate-campaign-check/i) + {$dupcheckcamp=1;} + if ($args =~ /-duplicate-system-check/i) + {$dupchecksys=1;} + if ($args =~ /-postal-code-gmt/i) + {$postalgmt=1;} + if ($args =~ /--forcelistid=/i) + { + @data_in = split(/--forcelistid=/,$args); + $forcelistid = $data_in[1]; + $forcelistid =~ s/ .*//gi; + print "\n----- FORCE LISTID OVERRIDE: $forcelistid -----\n\n"; + } + else + {$forcelistid = '';} + + if ($args =~ /--forcephonecode=/i) + { + @data_in = split(/--forcephonecode=/,$args); + $forcephonecode = $data_in[1]; + $forcephonecode =~ s/ .*//gi; + print "\n----- FORCE PHONECODE OVERRIDE: $forcephonecode -----\n\n"; + } + else + {$forcephonecode = '';} + + if ($args =~ /--lead-file=/i) + { + @data_in = split(/--lead-file=/,$args); + $lead_file = $data_in[1]; + $lead_file =~ s/ .*//gi; + # print "\n----- LEAD FILE: $lead_file -----\n\n"; + } + else + {$lead_file = './vicidial_temp_file.xls';} + } +} +### end parsing run-time options ### + + +use Spreadsheet::ParseExcel; +use Time::Local; +use DBI; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +$|=0; +$secX = time(); + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$pulldate="$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + + ### Grab Server values from the database + $stmtA = "SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBSERVER_GMT = "$aryA[0]"; + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + $rec_count++; + } + $sthA->finish(); + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +if ($isdst) {$LOCAL_GMT_OFF++;} +if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + + + +$total=0; $good=0; $bad=0; +print "
Processing Excel file...\n"; +open(STMT_FILE, "> $PATHlogs/listloader_stmts.txt"); + +$oBook = Spreadsheet::ParseExcel::Workbook->Parse("$lead_file"); +my($iR, $iC, $oWkS, $oWkC); + +foreach $oWkS (@{$oBook->{Worksheet}}) { + for($iR = 0 ; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++) { + + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user = ""; + $oWkC = $oWkS->{Cells}[$iR][0]; + if ($oWkC) {$vendor_lead_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][1]; + if ($oWkC) {$source_code=$oWkC->Value; } + $source_id=$source_code; + $oWkC = $oWkS->{Cells}[$iR][2]; + if ($oWkC) {$list_id=$oWkC->Value; } + $gmt_offset = '0'; + $called_since_last_reset='N'; + $oWkC = $oWkS->{Cells}[$iR][3]; + if ($oWkC) {$phone_code=$oWkC->Value; } + $phone_code=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][4]; + if ($oWkC) {$phone_number=$oWkC->Value; } + $phone_number=~s/[^0-9]//g; + $USarea = substr($phone_number, 0, 3); + $oWkC = $oWkS->{Cells}[$iR][5]; + if ($oWkC) {$title=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][6]; + if ($oWkC) {$first_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][7]; + if ($oWkC) {$middle_initial=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][8]; + if ($oWkC) {$last_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][9]; + if ($oWkC) {$address1=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][10]; + if ($oWkC) {$address2=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][11]; + if ($oWkC) {$address3=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][12]; + if ($oWkC) {$city=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][13]; + if ($oWkC) {$state=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][14]; + if ($oWkC) {$province=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][15]; + if ($oWkC) {$postal_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][16]; + if ($oWkC) {$country=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][17]; + if ($oWkC) {$gender=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][18]; + if ($oWkC) {$date_of_birth=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][19]; + if ($oWkC) {$alt_phone=$oWkC->Value; } + $alt_phone=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][20]; + if ($oWkC) {$email=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][21]; + if ($oWkC) {$security_phrase=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][22]; + if ($oWkC) {$comments=$oWkC->Value; } + $comments=~s/^\s*(.*?)\s*$/$1/; + + if (length($forcelistid) > 0) + { + $list_id = $forcelistid; # set list_id to override value + } + if (length($forcephonecode) > 0) + { + $phone_code = $forcephonecode; # set phone_code to override value + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if ($dupchecksys > 0) + { + $dup_lead=0; + $stmtA = "select count(*) from vicidial_list where phone_number='$phone_number';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead = $aryA[0]; + $dup_lead_list=$list_id; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if ($dupcheck > 0) + { + $dup_lead=0; + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id='$list_id' limit 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = $aryA[0]; + $dup_lead++; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if ($dupcheckcamp > 0) + { + $dup_lead=0; + $dup_lists=''; + + $stmtA = "select count(*) from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $ci_recs = $aryA[0]; + $sthA->finish(); + if ($ci_recs > 0) + { + $stmtA = "select campaign_id from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $dup_camp = $aryA[0]; + $sthA->finish(); + + $stmtA = "select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lists .= "'$aryA[0]',"; + $rec_count++; + } + $sthA->finish(); + + chop($dup_lists); + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = "'$aryA[0]',"; + $rec_count++; + $dup_lead=1; + } + $sthA->finish(); + } + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + + if ( (length($phone_number)>6) && ($dup_lead < 1) ) + { + $phone_list .= "$phone_number$US$list_id|"; + $postalgmt_found=0; + if (length($phone_code)<1) {$phone_code = '1';} + + if ( ($postalgmt > 0) && (length($postal_code)>4) ) + { + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[2]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[3]; + $dst_range = $aryA[4]; + $PC_processed++; + $rec_count++; + $postalgmt_found++; + if ($DBX) {print " Postal GMT record found for $postal_code: |$gmt_offset|$dst|$dst_range|\n";} + } + $sthA->finish(); + } + } + if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### MEXICO ### + if ($phone_code =~ /^52$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### AUSTRALIA ### + if ($phone_code =~ /^61$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + } + + ### Find out if DST to raise the gmt offset ### + $AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); + $AC_localtime = ($secX + (3600 * $AC_GMT_diff)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($AC_localtime); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + $AC_processed=0; + + if ( (!$AC_processed) && ($dst_range =~ /SSM-FSN/) ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + &USACAN_dstcalc; + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSA-LSO/) ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + &NA_dstcalc; + if ($DBX) {print " DST: $NA_DST\n";} + if ($NA_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSM-LSO/) ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + &GBR_dstcalc; + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSO-LSM/) ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + &AUS_dstcalc; + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-LSM/) ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + &AUST_dstcalc; + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-TSM/) ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + &NZL_dstcalc; + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /TSO-LSF/) ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + &BZL_dstcalc; + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$area_GMT++;} + $AC_processed++; + } + if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| $dup_lead_list\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + sleep(1); +# flush(); + } + } +} + +if ($multi_insert_counter > 0) { + $stmtZ = "INSERT INTO vicidial_list values ".substr($multistmt, 0, -1).";"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; +} + +print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
"; + +exit; + + + + + + +sub USACAN_dstcalc { +#********************************************************************** +# SSM-FSN +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on Second Sunday March to First Sunday November at 2 am. +# INPUTS: +# mm INTEGER Month. +# dd INTEGER Day of the month. +# ns INTEGER Seconds into the day. +# dow INTEGER Day of week (0=Sunday, to 6=Saturday) +# OPTIONAL INPUT: +# timezone INTEGER hour difference UTC - local standard time +# (DEFAULT is blank) +# make calculations based on UTC time, +# which means shift at 10:00 UTC in April +# and 9:00 UTC in October +# OUTPUT: +# INTEGER 1 = DST, 0 = not DST +# +# S M T W T F S +# 1 2 3 4 5 6 7 +# 8 9 10 11 12 13 14 +#15 16 17 18 19 20 21 +#22 23 24 25 26 27 28 +#29 30 31 +# +# S M T W T F S +# 1 2 3 4 5 6 +# 7 8 9 10 11 12 13 +#14 15 16 17 18 19 20 +#21 22 23 24 25 26 27 +#28 29 30 31 +# +#********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 10) { + $USACAN_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; return 1; + } elsif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } + } else { + $USACAN_DST=0; return 0; + } + } elsif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; return 0; + } elsif ($dd < ($dow+1)) { + $USACAN_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } + } else { + $USACAN_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub NA_dstcalc { +#********************************************************************** +# FSA-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in April and last Sunday in October at 2 am. +#********************************************************************** + + $NA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $NA_DST=0; return 0; + } elsif ($mm >= 5 && $mm <= 9) { + $NA_DST=1; return 1; + } elsif ($mm == 4) { + if ($dd > 7) { + $NA_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } + } else { + $NA_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $NA_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $NA_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } + } else { + $NA_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub GBR_dstcalc { +#********************************************************************** +# LSM-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in March and last Sunday in October at 1 am. +#********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 9) { + $GBR_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $GBR_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } + } else { + $GBR_DST=1; return 1; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $GBR_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } + } else { + $GBR_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub AUS_dstcalc { +#********************************************************************** +# LSO-LSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUS_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUS_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } + } else { + $AUS_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $AUS_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } + } else { + $AUS_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub AUST_dstcalc { +#********************************************************************** +# FSO-LSM +# TASMANIA ONLY +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUST_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUST_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } + } else { + $AUST_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $AUST_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } + } else { + $AUST_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub NZL_dstcalc { +#********************************************************************** +# FSO-TSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and third Sunday in March at 1 am. +#********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $NZL_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; return 1; + } elsif ($dd < ($dow+14)) { + $NZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } + } else { + $NZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $NZL_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } + } else { + $NZL_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub BZL_dstcalc { +#********************************************************************** +# TSO-LSF +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. Brazil +# Based on Third Sunday October to Last Sunday February at 1 am. +#********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; return 1; + } elsif ($mm >= 3 && $mm <= 9) { + $BZL_DST=0; return 0; + } elsif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; return 1; + } elsif ($dd < ($dow+22)) { + $BZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } + } else { + $BZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; return 0; + } elsif ($dd < ($dow+22)) { + $BZL_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } + } else { + $BZL_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/listloaderMAIN.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/listloaderMAIN.php new file mode 100644 index 00000000..ab67fd40 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/listloaderMAIN.php @@ -0,0 +1,86 @@ + LICENSE: GPLv2 +# +# this is the main frame page for the lead loading section. This is where you +# would upload a file and have it inserted into vicidial_list +# +# changes: +# 60620-1149 - Added variable filtering to eliminate SQL injection attack threat +# 60822-1105 - fixed for nonwritable directories +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) {$fp = fopen ("./project_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-LEAD-LOADER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT load_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGload_leads =$row[0]; + + if ($LOGload_leads < 1) + { + echo "You do not have permissions to load leads\n"; + exit; + } + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + +VICIDIAL: Módulo Cargador de Leads + + + + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/listloader_rowdisplay.pl b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/listloader_rowdisplay.pl new file mode 100644 index 00000000..3f8695c0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/listloader_rowdisplay.pl @@ -0,0 +1,153 @@ +#!/usr/bin/perl + +### listloader_rowdisplay.pl version 0.2 *DBI-version* +### +### Copyright (C) 2006 Matt Florell,Joe Johnson LICENSE: GPLv2 +### +# +# CHANGES +# +# 60811-1232 - Changed to DBI +# 60811-1329 - changed to use /etc/astguiclient.conf for configs +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n [-forcelistid=1234] = overrides the listID given in the file with the 1234\n [-h] = this help screen\n\n"; + + exit; + } + else + { + if ($args =~ /-duplicate-check/i) + {$dupcheck=1;} + if ($args =~ /-postal-code-gmt/i) + {$postalgmt=1;} + if ($args =~ /--lead-file=/i) + { + @data_in = split(/--lead-file=/,$args); + $lead_file = $data_in[1]; + $lead_file =~ s/ .*//gi; + # print "\n----- LEAD FILE: $lead_file -----\n\n"; + } + else + {$lead_file = './vicidial_temp_file.xls';} + } +} +### end parsing run-time options ### + +use Spreadsheet::ParseExcel; +use Time::Local; +use DBI; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +$oBook = Spreadsheet::ParseExcel::Workbook->Parse("$lead_file"); +my($iR, $iC, $oWkS, $oWkC); +$var_str=""; + +foreach $oWkS (@{$oBook->{Worksheet}}) { + for(my $iC = $oWkS->{MinCol} ; defined $oWkS->{MaxCol} && $iC <= $oWkS->{MaxCol} ; $iC++) { + $oWkC = $oWkS->{Cells}[0][$iC]; + if ($oWkC) { + $var_str.=$oWkC->Value."|"; + } else { + $var_str.="|"; + } + } +} + +@xls_row=split(/\|/, $var_str); + + +$stmtA = "select vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments from vicidial_list limit 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + my $names = $sthA->{'NAME'}; + my $numFields = $sthA->{'NUM_OF_FIELDS'}; + for (my $i = 0; $i < $numFields; $i++) + { + # printf("%s%s", $i ? "," : "", $$names[$i]); + # printf("%s%s", $i ? "," : "", $$ref[$i]); + + $field_name=uc($$names[$i]); + $field_name=~s/\_/ /g; + print "
".$field_name.": \r\n"; + print " \r\n"; + print "
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Cargar Leads de este archivo:
ID De la Lista Override: (Solamente números or leave blank for values in the file)
Phone Code Override: (Solamente números or leave blank for values in the file)
Disposición de archivo a utilizar:VICIDIAL Estándar    Disposición de encargo
Cheque Del Duplicado Del Plomo:
Operaciones de búsqueda De la Zona De Tiempo De Plomo:
        
        DE NUEVO AL ADMINLIST LOADER-     VERSIÓN:     CONSTRUCCION:    
+ + +document.forms[0].leadfile.disabled=true;document.forms[0].list_id_override.disabled=true;document.forms[0].phone_code_override.disabled=true; document.forms[0].submit_file.disabled=true; document.forms[0].reload_page.disabled=true;"; + flush(); + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + + if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) { + # copy($leadfile, "./vicidial_temp_file.txt"); + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + { + $stmt_file=fopen("listloader_stmts.txt", "w"); + } + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + + if (count($field_check)>=5) { + flush(); + $file=fopen("$lead_file", "r"); + print "
Procesando$delim_name-delimited file...\n"; + + if (strlen($list_id_override)>0) + { + print "

ID DE LA LISTA OVERRIDE FOR THIS FILE: $list_id_override

"; + } + + if (strlen($phone_code_override)>0) + { + print "

INVALIDACIÓN DEL CÓDIGO DEL TELÉFONO PARA ESTE ARCHIVO: $phone_code_override

"; + } + + while (!feof($file)) { + $record++; + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + + if (strlen($buffer)>0) { + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[$vendor_lead_code_field]; + $source_code = $row[$source_id_field]; + $source_id=$source_code; + $list_id = $row[$list_id_field]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[$phone_code_field]); + $phone_number = eregi_replace("[^0-9]", "", $row[$phone_number_field]); + $USarea = substr($phone_number, 0, 3); + $title = $row[$title_field]; + $first_name = $row[$first_name_field]; + $middle_initial = $row[$middle_initial_field]; + $last_name = $row[$last_name_field]; + $address1 = $row[$address1_field]; + $address2 = $row[$address2_field]; + $address3 = $row[$address3_field]; + $city =$row[$city_field]; + $state = $row[$state_field]; + $province = $row[$province_field]; + $postal_code = $row[$postal_code_field]; + $country_code = $row[$country_code_field]; + $gender = $row[$gender_field]; + $date_of_birth = $row[$date_of_birth_field]; + $alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]); + $email = $row[$email_field]; + $security_phrase = $row[$security_phrase_field]; + $comments = trim($row[$comments_field]); + + if (strlen($list_id_override)>0) + { + # print "

ID DE LA LISTA OVERRIDE FOR THIS FILE: $list_id_override

"; + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + $dup_lead_list = $list_id; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead $dup_lead_list\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
"; + + } else { + print "
ERROR: El archivo no tiene el número requerido de los campos para procesarlo.
"; + } + } else if (!eregi(".csv", $leadfile_name)) { + # copy($leadfile, "./vicidial_temp_file.xls"); + $file=fopen("$lead_file", "r"); + + print "
ProcesandoExcel file... \n"; + if (strlen($list_id_override)>0) + { + print "

ID DE LA LISTA OVERRIDE FOR THIS FILE: $list_id_override

\n"; + } + if (strlen($phone_code_override)>0) + { + print "

INVALIDACIÓN DEL CÓDIGO DEL TELÉFONO PARA ESTE ARCHIVO: $phone_code_override

\n"; + } + # print "|$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override --lead_file=$lead_file|"; + $dupcheckCLI=''; $postalgmtCLI=''; + if (eregi("DUPLIST",$dupcheck)) {$dupcheckCLI='--duplicate-check';} + if (eregi("DUPCAMP",$dupcheck)) {$dupcheckCLI='--duplicate-campaign-check';} + if (eregi("DUPSYS",$dupcheck)) {$dupcheckCLI='--duplicate-system-check';} + if (eregi("POSTAL",$postalgmt)) {$postalgmtCLI='--postal-code-gmt';} + passthru("$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override --forcephonecode=$phone_code_override --lead-file=$lead_file $postalgmtCLI $dupcheckCLI"); + } else { + # copy($leadfile, "./vicidial_temp_file.csv"); + $file=fopen("$lead_file", "r"); + + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + print "
ProcesandoCSV file... \n"; + if (strlen($list_id_override)>0) + { + print "

ID DE LA LISTA OVERRIDE FOR THIS FILE: $list_id_override

"; + } + + if (strlen($phone_code_override)>0) + { + print "

INVALIDACIÓN DEL CÓDIGO DEL TELÉFONO PARA ESTE ARCHIVO: $phone_code_override

"; + } + + while($row=fgetcsv($file, 1000, ",")) { + + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[$vendor_lead_code_field]; + $source_code = $row[$source_id_field]; + $source_id=$source_code; + $list_id = $row[$list_id_field]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[$phone_code_field]); + $phone_number = eregi_replace("[^0-9]", "", $row[$phone_number_field]); + $USarea = substr($phone_number, 0, 3); + $title = $row[$title_field]; + $first_name = $row[$first_name_field]; + $middle_initial = $row[$middle_initial_field]; + $last_name = $row[$last_name_field]; + $address1 = $row[$address1_field]; + $address2 = $row[$address2_field]; + $address3 = $row[$address3_field]; + $city =$row[$city_field]; + $state = $row[$state_field]; + $province = $row[$province_field]; + $postal_code = $row[$postal_code_field]; + $country_code = $row[$country_code_field]; + $gender = $row[$gender_field]; + $date_of_birth = $row[$date_of_birth_field]; + $alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]); + $email = $row[$email_field]; + $security_phrase = $row[$security_phrase_field]; + $comments = trim($row[$comments_field]); + + if (strlen($list_id_override)>0) + { + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
"; + } + print ""; + } + +if ($leadfile && filesize($LF_path)<=8388608) { + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + if ($file_layout=="standard") { + + print ""; + flush(); + + if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) { + + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"); + $lead_file = "./vicidial_temp_file.txt"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.txt"); + $lead_file = "/tmp/vicidial_temp_file.txt"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + + if (count($field_check)>=5) { + flush(); + $file=fopen("$lead_file", "r"); + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + print "
Procesando$delim_name-delimited file... ($tab_count|$pipe_count)\n"; + if (strlen($list_id_override)>0) + { + print "

ID DE LA LISTA OVERRIDE FOR THIS FILE: $list_id_override

"; + } + if (strlen($phone_code_override)>0) + { + print "

INVALIDACIÓN DEL CÓDIGO DEL TELÉFONO PARA ESTE ARCHIVO: $phone_code_override

\n"; + } + while (!feof($file)) { + $record++; + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + + if (strlen($buffer)>0) { + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[0]; + $source_code = $row[1]; + $source_id=$source_code; + $list_id = $row[2]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[3]); + $phone_number = eregi_replace("[^0-9]", "", $row[4]); + $USarea = substr($phone_number, 0, 3); + $title = $row[5]; + $first_name = $row[6]; + $middle_initial = $row[7]; + $last_name = $row[8]; + $address1 = $row[9]; + $address2 = $row[10]; + $address3 = $row[11]; + $city =$row[12]; + $state = $row[13]; + $province = $row[14]; + $postal_code = $row[15]; + $country_code = $row[16]; + $gender = $row[17]; + $date_of_birth = $row[18]; + $alt_phone = eregi_replace("[^0-9]", "", $row[19]); + $email = $row[20]; + $security_phrase = $row[21]; + $comments = trim($row[22]); + + if (strlen($list_id_override)>0) + { + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
"; + + } else { + print "
ERROR: El archivo no tiene el número requerido de los campos para procesarlo.
"; + } + } else if (!eregi(".csv", $leadfile_name)) + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.xls"); + $lead_file = "/tmp/vicidial_temp_file.xls"; + } + $file=fopen("$lead_file", "r"); + + # echo "|$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override --lead-file=$lead_file|"; + $dupcheckCLI=''; $postalgmtCLI=''; + if (eregi("DUPLIST",$dupcheck)) {$dupcheckCLI='--duplicate-check';} + if (eregi("DUPCAMP",$dupcheck)) {$dupcheckCLI='--duplicate-campaign-check';} + if (eregi("DUPSYS",$dupcheck)) {$dupcheckCLI='--duplicate-system-check';} + if (eregi("POSTAL",$postalgmt)) {$postalgmtCLI='--postal-code-gmt';} + passthru("$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override --forcephonecode=$phone_code_override --lead-file=$lead_file $postalgmtCLI $dupcheckCLI"); + + } + else + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.csv"); + $lead_file = "/tmp/vicidial_temp_file.csv"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + print "
ProcesandoCSV file... \n"; + + if (strlen($list_id_override)>0) + { + print "

ID DE LA LISTA OVERRIDE FOR THIS FILE: $list_id_override

"; + } + if (strlen($phone_code_override)>0) + { + print "

INVALIDACIÓN DEL CÓDIGO DEL TELÉFONO PARA ESTE ARCHIVO: $phone_code_override

"; + } + + while($row=fgetcsv($file, 1000, ",")) { + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[0]; + $source_code = $row[1]; + $source_id=$source_code; + $list_id = $row[2]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[3]); + $phone_number = eregi_replace("[^0-9]", "", $row[4]); + $USarea = substr($phone_number, 0, 3); + $title = $row[5]; + $first_name = $row[6]; + $middle_initial = $row[7]; + $last_name = $row[8]; + $address1 = $row[9]; + $address2 = $row[10]; + $address3 = $row[11]; + $city =$row[12]; + $state = $row[13]; + $province = $row[14]; + $postal_code = $row[15]; + $country_code = $row[16]; + $gender = $row[17]; + $date_of_birth = $row[18]; + $alt_phone = eregi_replace("[^0-9]", "", $row[19]); + $email = $row[20]; + $security_phrase = $row[21]; + $comments = trim($row[22]); + + if (strlen($list_id_override)>0) + { + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0);"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

Done
GOOD: $good       BAD: $bad       TOTAL: $total
"; + + } + print ""; + + } else { + print "
"; + flush(); + print "\r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + + $rslt=mysql_query("select vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments from vicidial_list limit 1", $link); + + + if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.txt"); + $lead_file = "/tmp/vicidial_temp_file.txt"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + flush(); + $file=fopen("$lead_file", "r"); + print "
Procesando$delim_name-delimited file...\n"; + + if (strlen($list_id_override)>0) + { + print "

ID DE LA LISTA OVERRIDE FOR THIS FILE: $list_id_override

"; + } + if (strlen($phone_code_override)>0) + { + print "

INVALIDACIÓN DEL CÓDIGO DEL TELÉFONO PARA ESTE ARCHIVO: $phone_code_override

"; + } + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + + for ($i=0; $i\r\n"; + print "
\r\n"; + print " \r\n"; + print " \r\n"; + + #print " \r\n"; + #print " \r\n"; + #print " \r\n"; + #print " \r\n"; + } + } + else if (!eregi(".csv", $leadfile_name)) + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.xls"); + $lead_file = "/tmp/vicidial_temp_file.xls"; + } + + # echo "|$WeBServeRRooT/vicidial/listloader_rowdisplay.pl --lead-file=$lead_file|"; + $dupcheckCLI=''; $postalgmtCLI=''; + if (eregi("DUPLIST",$dupcheck)) {$dupcheckCLI='--duplicate-check';} + if (eregi("DUPCAMP",$dupcheck)) {$dupcheckCLI='--duplicate-campaign-check';} + if (eregi("DUPSYS",$dupcheck)) {$dupcheckCLI='--duplicate-system-check';} + if (eregi("POSTAL",$postalgmt)) {$postalgmtCLI='--postal-code-gmt';} + passthru("$WeBServeRRooT/vicidial/listloader_rowdisplay.pl --lead-file=$lead_file $postalgmtCLI $dupcheckCLI"); + } + else + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.csv"); + $lead_file = "/tmp/vicidial_temp_file.csv"; + } + $file=fopen("$lead_file", "r"); + + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + print "
ProcesandoCSV file... \n"; + + if (strlen($list_id_override)>0) + { + print "

ID DE LA LISTA OVERRIDE FOR THIS FILE: $list_id_override

"; + } + if (strlen($phone_code_override)>0) + { + print "

INVALIDACIÓN DEL CÓDIGO DEL TELÉFONO PARA ESTE ARCHIVO: $phone_code_override

"; + } + + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + $row=fgetcsv($file, 1000, ","); + for ($i=0; $i\r\n"; + print "
\r\n"; + print " \r\n"; + print " \r\n"; + + #print " \r\n"; + #print " \r\n"; + #print " \r\n"; + #print " \r\n"; + } + } + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print "
VICIDIAL ColumnaDatos del archivo
".strtoupper(eregi_replace("_", " ", mysql_field_name($rslt, $i))).":
$row[$i]
".strtoupper(eregi_replace("_", " ", mysql_field_name($rslt, $i))).":
$row[$i]
        
\r\n"; + # } + print ""; + } +} else if (filesize($leadfile)>8388608) { + print "
ERROR: El archivo excede el límite 8MB.
"; +} +?> + + + + + + + + +4) ) + { + if (preg_match('/^1$/', $phone_code)) + { + $stmt="select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[3]; + $dst_range = $row[4]; + $PC_processed++; + $postalgmt_found++; + $post++; + } + } + } +if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =='1') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### MEXICO ### + if ($phone_code =='52') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### AUSTRALIA ### + if ($phone_code =='61') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $PC_processed++; + $stmt="select * from vicidial_phone_codes where country_code='$phone_code';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + } + +### Find out if DST to raise the gmt offset ### +$AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); +$AC_localtime = mktime(($Shour + $AC_GMT_diff), $Smin, $Ssec, $Smon, $Smday, $Syear); + $hour = date("H",$AC_localtime); + $min = date("i",$AC_localtime); + $sec = date("s",$AC_localtime); + $mon = date("m",$AC_localtime); + $mday = date("d",$AC_localtime); + $wday = date("w",$AC_localtime); + $year = date("Y",$AC_localtime); +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + +$AC_processed=0; +if ( (!$AC_processed) and ($dst_range == 'SSM-FSN') ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + #********************************************************************** + # SSM-FSN + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on Second Sunday March to First Sunday November at 2 am. + # INPUTS: + # mm INTEGER Month. + # dd INTEGER Day of the month. + # ns INTEGER Seconds into the day. + # dow INTEGER Day of week (0=Sunday, to 6=Saturday) + # OPTIONAL INPUT: + # timezone INTEGER hour difference UTC - local standard time + # (DEFAULT is blank) + # make calculations based on UTC time, + # which means shift at 10:00 UTC in April + # and 9:00 UTC in October + # OUTPUT: + # INTEGER 1 = DST, 0 = not DST + # + # S M T W T F S + # 1 2 3 4 5 6 7 + # 8 9 10 11 12 13 14 + #15 16 17 18 19 20 21 + #22 23 24 25 26 27 28 + #29 30 31 + # + # S M T W T F S + # 1 2 3 4 5 6 + # 7 8 9 10 11 12 13 + #14 15 16 17 18 19 20 + #21 22 23 24 25 26 27 + #28 29 30 31 + # + #********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; + } elseif ($mm >= 4 and $mm <= 10) { + $USACAN_DST=1; + } elseif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; + } elseif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } + } else { + $USACAN_DST=0; + } + } elseif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; + } elseif ($dd < ($dow+1)) { + $USACAN_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } else { # tiempo local calculations + if ($ns < 7200) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } + } else { + $USACAN_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'FSA-LSO') ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + #********************************************************************** + # FSA-LSO + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in April and last Sunday in October at 2 am. + #********************************************************************** + + $USA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $USA_DST=0; + } elseif ($mm >= 5 and $mm <= 9) { + $USA_DST=1; + } elseif ($mm == 4) { + if ($dd > 7) { + $USA_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $USA_DST=0; + } else { + $USA_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $USA_DST=0; + } else { + $USA_DST=1; + } + } + } else { + $USA_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $USA_DST=1; + } elseif ($dd < ($dow+25)) { + $USA_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USA_DST=1; + } else { + $USA_DST=0; + } + } else { # tiempo local calculations + if ($ns < 7200) { + $USA_DST=1; + } else { + $USA_DST=0; + } + } + } else { + $USA_DST=0; + } + } # end of month checks + + if ($DBX) {print " DST: $USA_DST\n";} + if ($USA_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'LSM-LSO') ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in March and last Sunday in October at 1 am. + #********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; + } elseif ($mm >= 4 and $mm <= 9) { + $GBR_DST=1; + } elseif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; + } elseif ($dd < ($dow+25)) { + $GBR_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } else { # tiempo local calculations + if ($ns < 3600) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } + } else { + $GBR_DST=1; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; + } elseif ($dd < ($dow+25)) { + $GBR_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } else { # tiempo local calculations + if ($ns < 3600) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } + } else { + $GBR_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } +if ( (!$AC_processed) and ($dst_range == 'LSO-LSM') ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUS_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; + } elseif ($dd < ($dow+25)) { + $AUS_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } else { # tiempo local calculations + if ($ns < 3600) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } + } else { + $AUS_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; + } elseif ($dd < ($dow+25)) { + $AUS_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } else { # tiempo local calculations + if ($ns < 3600) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } + } else { + $AUS_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'FSO-LSM') ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + #********************************************************************** + # TASMANIA ONLY + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUST_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; + } elseif ($dd < ($dow+25)) { + $AUST_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } else { # tiempo local calculations + if ($ns < 3600) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } + } else { + $AUST_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $AUST_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } + } else { + $AUST_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } +if ( (!$AC_processed) and ($dst_range == 'FSO-TSM') ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and third Sunday in March at 1 am. + #********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $NZL_DST=0; + } elseif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; + } elseif ($dd < ($dow+14)) { + $NZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } else { # tiempo local calculations + if ($ns < 3600) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } + } else { + $NZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $NZL_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } + } else { + $NZL_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'TSO-LSF') ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + #********************************************************************** + # TSO-LSF + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. Brazil + # Based on Third Sunday October to Last Sunday February at 1 am. + #********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; + } elseif ($mm >= 3 and $mm <= 9) { + $BZL_DST=0; + } elseif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; + } elseif ($dd < ($dow+22)) { + $BZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } else { # tiempo local calculations + if ($ns < 3600) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } + } else { + $BZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; + } elseif ($dd < ($dow+22)) { + $BZL_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } else { # tiempo local calculations + if ($ns < 3600) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } + } else { + $BZL_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$gmt_offset++;} + $AC_processed++; + } + +if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + +return $gmt_offset; +} \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/remote_dispo.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/remote_dispo.php new file mode 100644 index 00000000..79c582c2 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/remote_dispo.php @@ -0,0 +1,327 @@ + LICENSE: GPLv2 +### +# this is the remote agent disposition screen for calls sent to remote agents. This allows the remote agent to modify customer information and disposition the call + +# CHANGES +# +# 60619-1626 - Added variable filtering to eliminate SQL injection attack threat +# + + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];} + elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["channel_group"])) {$channel_group=$_GET["channel_group"];} + elseif (isset($_POST["channel_group"])) {$channel_group=$_POST["channel_group"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["customer_zap_channel"])) {$customer_zap_channel=$_GET["customer_zap_channel"];} + elseif (isset($_POST["customer_zap_channel"])) {$customer_zap_channel=$_POST["customer_zap_channel"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];} + elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];} + elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["security"])) {$security=$_GET["security"];} + elseif (isset($_POST["security"])) {$security=$_POST["security"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_id"])) {$session_id=$_GET["session_id"];} + elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];} + elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$ext_context = 'demo'; +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 2;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-CLOSER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $fullname = $row[0]; + fwrite ($fp, "VD_CLOSER|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + + } + else + { + fwrite ($fp, "VD_CLOSER|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +?> + + +REMOTE VICIDIAL: Disposición De la Llamada +\n"; +?> + + +
+ +"; + +if ($end_call > 0) +{ + +$call_length = ($STARTtime - $call_began); + + ### insert a NEW record to the vicidial_closer_log table + $stmt="UPDATE vicidial_closer_log set end_epoch='$STARTtime', length_in_sec='" . mysql_real_escape_string($call_length) . "', status='" . mysql_real_escape_string($status) . "', user='$PHP_AUTH_USER' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by start_epoch desc limit 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + ### update the lead record in the vicidial_list table + $stmt="UPDATE vicidial_list set status='" . mysql_real_escape_string($status) . "',first_name='" . mysql_real_escape_string($first_name) . "',last_name='" . mysql_real_escape_string($last_name) . "',address1='" . mysql_real_escape_string($address1) . "',address2='" . mysql_real_escape_string($address2) . "',address3='" . mysql_real_escape_string($address3) . "',city='" . mysql_real_escape_string($city) . "',state='" . mysql_real_escape_string($state) . "',province='" . mysql_real_escape_string($province) . "',postal_code='" . mysql_real_escape_string($postal_code) . "',country_code='" . mysql_real_escape_string($country_code) . "',alt_phone='" . mysql_real_escape_string($alt_phone) . "',email='" . mysql_real_escape_string($email) . "',security_phrase='" . mysql_real_escape_string($security) . "',comments='" . mysql_real_escape_string($comments) . "',user='$PHP_AUTH_USER' where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "La llamada ha sido dispositioned       $NOW_TIME\n

\n"; + + echo "
\n"; + +} +else +{ + $stmt="SELECT count(*) from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_count = $row[0]; + + if ($lead_count > 0) + { + + $stmt="SELECT * from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_id = "$row[0]"; + $tsr = "$row[4]"; + $vendor_id = "$row[5]"; + $list_id = "$row[7]"; + $campaign_id = "$row[8]"; + $phone_code = "$row[10]"; + $phone_number = "$row[11]"; + $title = "$row[12]"; + $first_name = "$row[13]"; # + $middle_initial = "$row[14]"; + $last_name = "$row[15]"; # + $address1 = "$row[16]"; # + $address2 = "$row[17]"; # + $address3 = "$row[18]"; # + $city = "$row[19]"; # + $state = "$row[20]"; # + $province = "$row[21]"; # + $postal_code = "$row[22]"; # + $country_code = "$row[23]"; # + $gender = "$row[24]"; + $date_of_birth = "$row[25]"; + $alt_phone = "$row[26]"; # + $email = "$row[27]"; # + $security = "$row[28]"; # + $comments = "$row[29]"; # + + echo "
Información de la llamada: $first_name $last_name - $phone_number

\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
Vendor ID: $vendor_id     ID De la Campaña: $campaign_id
Fronter: $tsr     ID De la Lista: $list_id
Nombre:   \n"; + echo " Apellidos:
Dirección 1 :
Dirección 2 :
Dirección 3 :
Ciudad :
Estado:   \n"; + echo " Código Postal:
Provincia:
País :
Alt Phone :
Email :
Seguridad:
Comentarios :
Disposición:
\n"; + echo "


\n"; + + } + else + { + echo "las operaciones de búsqueda del plomo FALLARON para el lead_id $lead_id       $NOW_TIME\n

\n"; +# echo "Close this window\n

\n"; + } + + + + + + +} + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nScript runtime: $RUNtime seconds
"; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/server_stats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/server_stats.php new file mode 100644 index 00000000..1d24f7a0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/server_stats.php @@ -0,0 +1,97 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60620-1037 - Added Link back to Admin section +# - Added required user/pass to gain access to this page +# 61101-1331 - Added SIP/IAX listen/barge links +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="select * from servers;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$servers_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $servers_to_print) + { + $row=mysql_fetch_row($rslt); + $server_id[$i] = $row[0]; + $server_description[$i] = $row[1]; + $server_ip[$i] = $row[2]; + $active[$i] = $row[3]; + $i++; + } +?> + + + + + +VICIDIAL: ESTADÍSTICAS DEL SERVIDOR and Reports +VICIDIAL: ESTADÍSTICAS DEL SERVIDOR and Reports                           +DE NUEVO AL ADMIN

+ + +

+
+ $o)
+	{
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	echo "\n";
+	$o++;
+	}
+
+?>
+
SERVERDESCRIPCIÓNIP ADDRESSACTIVOVDAD timeVDcall timePARK timeCLOSER/INBOUND time
$server_id[$o]$server_description[$o]$server_ip[$o]$active[$o]LINKLINKLINKLINK
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/user_stats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/user_stats.php new file mode 100644 index 00000000..f4351011 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/user_stats.php @@ -0,0 +1,408 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1743 - Added variable filtering to eliminate SQL injection attack threat +# 61201-1136 - Added recordings display and changed calls to time range with 10000 limit +# 70118-1605 - Added user group column to login/out and calls lists +# 70702-1231 - Added recording location link and truncation +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["begin_date"])) {$begin_date=$_GET["begin_date"];} + elseif (isset($_POST["begin_date"])) {$begin_date=$_POST["begin_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); + +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and view_reports='1';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + + $stmt="SELECT full_name from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + + } + + + + +?> + + +VICIDIAL ADMIN: User Stats +\n"; +?> + + +
+ + + + + +\n"; +echo "
" ?>   VICIDIAL ADMIN: User Stats for  
  \n"; + +echo "
\n"; +echo "\n"; +echo " to \n"; +echo "  \n"; +echo "\n"; + + +echo "           $user - $full_name\n"; + +echo " - VICIDIAL Time Sheet\n"; +echo " - User Status\n"; +echo " - Modificar Usuario\n"; + + +echo "
\n"; + + + $stmt="SELECT count(*),status, sum(length_in_sec) from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' group by status order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + +echo "
\n"; + +echo "TIEMPO Y ESTADO DE CONVERSACIÓN:\n"; + +echo "
\n"; +echo "\n"; + + $total_calls=0; + $o=0; + while ($statuses_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $call_seconds = $row[2]; + $call_hours = ($call_seconds / 3600); + $call_hours = round($call_hours, 2); + $call_hours_int = intval("$call_hours"); + $call_minutes = ($call_hours - $call_hours_int); + $call_minutes = ($call_minutes * 60); + $call_minutes_int = round($call_minutes, 0); + if ($call_minutes_int < 10) {$call_minutes_int = "0$call_minutes_int";} + + echo ""; + echo "\n"; + echo "\n"; + $total_calls = ($total_calls + $row[0]); + + $call_seconds=0; + $o++; + } + + $stmt="SELECT sum(length_in_sec) from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59'"; + $rslt=mysql_query($stmt, $link); + $counts_to_print = mysql_num_rows($rslt); + $row=mysql_fetch_row($rslt); + $call_seconds = $row[0]; + $call_hours = ($call_seconds / 3600); + $call_hours = round($call_hours, 2); + $call_hours_int = intval("$call_hours"); + $call_minutes = ($call_hours - $call_hours_int); + $call_minutes = ($call_minutes * 60); + $call_minutes_int = round($call_minutes, 0); + if ($call_minutes_int < 10) {$call_minutes_int = "0$call_minutes_int";} + +echo "\n"; +echo "
ESTADOCUENTAHORAS:MINUTOS
$row[1] $row[0] $call_hours_int:$call_minutes_int
LLAMADAS TOTALES $total_calls $call_hours_int:$call_minutes_int
\n"; +echo "

\n"; + +echo "
\n"; + +echo "TIEMPO LOGIN/LOGOUT:\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT event,event_epoch,event_date,campaign_id,user_group from vicidial_user_log where user='" . mysql_real_escape_string($user) . "' and event_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and event_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59'"; + $rslt=mysql_query($stmt, $link); + $events_to_print = mysql_num_rows($rslt); + + $total_calls=0; + $o=0; + $event_start_seconds=''; + $event_stop_seconds=''; + while ($events_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("LOGIN", $row[0])) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + if (ereg("LOGIN", $row[0])) + { + $event_start_seconds = $row[1]; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + if (ereg("LOGOUT", $row[0])) + { + if ($event_start_seconds) + { + $event_stop_seconds = $row[1]; + $event_seconds = ($event_stop_seconds - $event_start_seconds); + $total_login_time = ($total_login_time + $event_seconds); + $event_hours = ($event_seconds / 3600); + $event_hours = round($event_hours, 2); + $event_hours_int = intval("$event_hours"); + $event_minutes = ($event_hours - $event_hours_int); + $event_minutes = ($event_minutes * 60); + $event_minutes_int = round($event_minutes, 0); + if ($event_minutes_int < 10) {$event_minutes_int = "0$event_minutes_int";} + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $event_start_seconds=''; + $event_stop_seconds=''; + } + else + { + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + } + } + + $total_calls = ($total_calls + $row[0]); + + $call_seconds=0; + $o++; + } + +$total_login_hours = ($total_login_time / 3600); +$total_login_hours = round($total_login_hours, 2); +$total_login_hours_int = intval("$total_login_hours"); +$total_login_minutes = ($total_login_hours - $total_login_hours_int); +$total_login_minutes = ($total_login_minutes * 60); +$total_login_minutes_int = round($total_login_minutes, 0); +if ($total_login_minutes_int < 10) {$total_login_minutes_int = "0$total_login_minutes_int";} + +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; + +echo "
EVENTO FECHA CAMPAÑA GROUPHORAS:MINUTOS
$row[0] $row[2] $row[3] $row[4]
$row[0] $row[2] $row[3] $row[4] $event_hours_int:$event_minutes_int
$row[0] $row[2] $row[3]
TOTAL $total_login_hours_int:$total_login_minutes_int
\n"; + + +echo "

\n"; + +echo "
\n"; + +echo "OUTBOUND CALLS FOR THIS TIME PERIOD: (10000 record limit)\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + } + + +echo "
# DATE/TIME LENGTH STATUS PHONE CAMPAÑA GROUP LIST LEAD
$u$row[4] $row[7] $row[8] $row[10] $row[3] $row[14] $row[2] $row[1]


\n"; + + + +echo "CLOSER CALLS FOR THIS TIME PERIOD: (10000 record limit)\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from vicidial_closer_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + } + + +echo "
# DATE/TIME LENGTH STATUS PHONE CAMPAÑA WAIT (S) LIST LEAD
$u$row[4] $row[7] $row[8] $row[10] $row[3] $row[14] $row[2] $row[1]


\n"; + + + + +echo "RECORDINGS FOR THIS TIME PERIOD: (10000 record limit)\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from recording_log where user='" . mysql_real_escape_string($user) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by recording_id desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $location = $row[11]; + if (strlen($location)>30) + {$locat = substr($location,0,27); $locat = "$locat...";} + else + {$locat = $location;} + if (eregi("http",$location)) + {$location = "$locat";} + else + {$location = $locat;} + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + } + + +echo "
# LEADDATE/TIME SECONDS   RECIDFILENAMELOCATION  
$u $row[12] $row[4] $row[8] $row[0] $row[10] $location  
\n"; + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nScript runtime: $RUNtime seconds
"; + + +?> + + +
+ + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/user_status.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/user_status.php new file mode 100644 index 00000000..0bc09f99 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/user_status.php @@ -0,0 +1,242 @@ + LICENSE: GPLv2 +### +# CHANGES +# +# 60619-1738 - Added variable filtering to eliminate SQL injection attack threat +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["begin_date"])) {$begin_date=$_GET["begin_date"];} + elseif (isset($_POST["begin_date"])) {$begin_date=$_POST["begin_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); + +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and view_reports='1';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name,change_agent_campaign from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $change_agent_campaign=$row[1]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + + $stmt="SELECT full_name,user_group from vicidial_users where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + $user_group = $row[1]; + + $stmt="SELECT * from vicidial_live_agents where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $agents_to_print = mysql_num_rows($rslt); + $i=0; + while ($i < $agents_to_print) + { + $row=mysql_fetch_row($rslt); + $Aserver_ip = $row[2]; + $Asession_id = $row[3]; + $Aextension = $row[4]; + $Astatus = $row[5]; + $Acampaign = $row[7]; + $Alast_call = $row[14]; + $Acl_campaigns = $row[15]; + $i++; + } + + } + +$stmt="select * from vicidial_campaigns;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + + + +?> + + +VICIDIAL ADMIN: User Status +\n"; +?> + + +
+
+ + + + +\n"; +echo "
" ?>   VICIDIAL ADMIN: User Status for  
  \n"; + +if ($stage == "live_campaign_change") +{ + $stmt="UPDATE vicidial_live_agents set campaign_id='" . mysql_real_escape_string($group) . "' where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + + echo "Agent $user - $full_name changed to $group campaign
\n"; + + exit; +} + +if ($stage == "log_agent_out") +{ + $stmt="DELETE from vicidial_live_agents where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + + echo "Agent $user - $full_name has been emergency logged out, make sure they close their web browser
\n"; + + exit; +} + +if ($agents_to_print > 0) +{ + echo "
";
+	echo "Agent Logged in at server:  $Aserver_ip\n";
+	echo "               in session:  $Asession_id\n";
+	echo "               from phone:  $Aextension\n";
+	echo "Agent is in campaign:       $Acampaign\n";
+	echo "              status:       $Astatus\n";
+	echo " hungup last call at:       $Alast_call\n";
+	echo "       Closer groups:       $Acl_campaigns\n\n";
+
+	echo "
"; + + + if ($change_agent_campaign > 0) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "Current Campaña: \n"; + echo "
\n"; + + + echo "
\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + } +} + +else +{ + echo "Agent is not logged in\n
"; + +} + + +echo "           $user - $full_name \n"; +echo "       GROUP: $user_group

\n"; + +echo "VICIDIAL Time Sheet\n"; +echo " - User Stats\n"; +echo " - Modificar Usuario\n"; + +echo "
\n"; + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nScript runtime: $RUNtime seconds
"; + +echo "|$stage|$group|"; + +?> + + +
+ + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/vdremote.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/vdremote.php new file mode 100644 index 00000000..b0eef2f5 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/vdremote.php @@ -0,0 +1,602 @@ + LICENSE: GPLv2 +# +# Changes +# 50307-1721 - First version +# 51123-1502 - removed requirement of PHP Globals=on +# 60421-1229 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1603 - Added variable filtering to eliminate SQL injection attack threat +# +# make sure you have added a user to the vicidial_users MySQL table with at least user_level 4 to access this page the first time + +$version = '1.1.12'; +$build = '60619-1603'; + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["force_logout"])) {$force_logout=$_GET["force_logout"];} + elseif (isset($_POST["force_logout"])) {$force_logout=$_POST["force_logout"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["remote_agent_id"])) {$remote_agent_id=$_GET["remote_agent_id"];} + elseif (isset($_POST["remote_agent_id"])) {$remote_agent_id=$_POST["remote_agent_id"];} +if (isset($_GET["user_start"])) {$user_start=$_GET["user_start"];} + elseif (isset($_POST["user_start"])) {$user_start=$_POST["user_start"];} +if (isset($_GET["number_of_lines"])) {$number_of_lines=$_GET["number_of_lines"];} + elseif (isset($_POST["number_of_lines"])) {$number_of_lines=$_POST["number_of_lines"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];} + elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];} + +if (!isset($force_logout)) {$force_logout = 0;} + +if ($force_logout) +{ + if( (strlen($PHP_AUTH_USER)>0) or (strlen($PHP_AUTH_PW)>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "Usted ahora ha salido. Gracias\n"; + exit; +} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + +$popup_page = './closer_popup.php'; +$STARTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 3;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Nombre y contraseña inválidos del usuario: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + + $stmt="SELECT count(*) from vicidial_remote_agents where user_start='$PHP_AUTH_USER';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $authx=$row[0]; + + if($authx>0) + { + $stmt="SELECT remote_agent_id,server_ip,number_of_lines from vicidial_remote_agents where user_start='$PHP_AUTH_USER';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id=$row[0]; + $server_ip=$row[1]; + if (!$number_of_lines) {$number_of_lines=$row[2];} + + fwrite ($fp, "VDremote|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VDremote|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + echo "This remote agent does not exist: |$PHP_AUTH_USER|\n"; + exit; + } + } + else + { + fwrite ($fp, "VDremote|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +echo "\n"; +echo "\n"; +echo "\n"; +if ($ADD==61111) + { + echo"\n"; + } +echo "\n"; +?> + +VICIDIAL, AGENTES REMOTOS: $LOGfullname - $PHP_AUTH_USER "; + +if (!$ADD) {$ADD="31111";} +if ($ADD==31111) {echo "Modificar Agentes Remotos";} +if ($ADD==41111) {echo "Modificar Agentes Remotos";} +if ($ADD==61111) {echo "Remote Agent Status";} +if ($ADD==71111) {echo "Remote Agent Closer Stats";} + + +if (strlen($ADD)>4) + { + ##### get server listing for dynamic pulldown + $stmt="SELECT server_ip,server_description from servers order by server_ip"; + $rslt=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rslt); + $servers_list=''; + + $o=0; + while ($servers_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $servers_list .= "\n"; + $o++; + } + + ##### get campaigns listing for dynamic pulldown + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "\n"; + $o++; + } + + ##### get inbound groups listing for checkboxes + if ( (($ADD==31111) or ($ADD==31111)) and (count($groups)<1) ) + { + $stmt="SELECT closer_campaigns from vicidial_remote_agents where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $groups_list=''; + $groups_value=''; + + $o=0; + while ($groups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $group_id_value = $rowx[0]; + $group_name_value = $rowx[1]; + $groups_list .= "2) {$groups_value .= " -";} + } + +?> + + + +
+
+ + + +
  VICIDIAL, AGENTES REMOTOS:   Salir  
  MODIFICAR | ">ESTADO | ">ESTADÍSTICAS DE ENTRADA
+"; + + $stmt="SELECT * from vicidial_remote_agents where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id = $row[0]; + $user_start = $row[1]; + $number_of_lines = $row[2]; + $server_ip = $row[3]; + $conf_exten = $row[4]; + $status = $row[5]; + $campaign_id = $row[6]; + +echo "
MODIFICAR UNA ENTRADA DE LOS AGENTES REMOTOS: $row[0]
\n"; +echo "\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Comienzo Del ID del usuario: $user_start
Número de líneas: (Solamente números)
IP Del Servidor: $row[3]
Extensión Externa: (number dialed to reach agents [i.e. 913125551212])
Estado:
Campaña: $campaign_id
Grupos De entrada: \n"; +echo "$groups_list"; +echo "
\n"; +echo "NOTA: Puede tomar hasta 30 segundos para los cambios sometidos en esta pantalla para ir viva\n"; + +} + + + + +###################### +# ADD=41111 modify remote agents info in the system +###################### + +if ($ADD==41111) +{ + echo ""; + + if ( (strlen($number_of_lines) < 1) or (strlen($conf_exten) < 2) ) + {echo "
AGENTES ALEJADOS NO MODIFICADOS - vaya por favor detrás y mire los datos que usted incorporó\n";} + else + { + $stmt="UPDATE vicidial_remote_agents set number_of_lines='" . mysql_real_escape_string($number_of_lines) . "', conf_exten='" . mysql_real_escape_string($conf_exten) . "', status='" . mysql_real_escape_string($status) . "', closer_campaigns='" . mysql_real_escape_string($groups_value) . "' where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + +# echo "$stmt\n"; + echo "
LOS AGENTES ALEJADOS SE MODIFICARON\n"; + + ### LOG CHANGES TO LOG FILE ### + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY AGENTES REMOTOS ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + + } + + $stmt="SELECT * from vicidial_remote_agents where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id = $row[0]; + $user_start = $row[1]; + $number_of_lines = $row[2]; + $server_ip = $row[3]; + $conf_exten = $row[4]; + $status = $row[5]; + $campaign_id = $row[6]; + +echo "
MODIFICAR UNA ENTRADA DE LOS AGENTES REMOTOS: $row[0]\n"; +echo "\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Comienzo Del ID del usuario: $user_start
Número de líneas: (Solamente números)
IP Del Servidor: $row[3]
Extensión Externa: (number dialed to reach agents [i.e. 913125551212])
Estado:
Campaña: $campaign_id
Grupos De entrada: \n"; +echo "$groups_list"; +echo "
\n"; +echo "NOTA: Puede tomar hasta 30 segundos para los cambios sometidos en esta pantalla para ir viva\n"; + +} + + + + +###################### +# ADD=61111 status of remote agent in the system and active calls and queue +###################### + +if ($ADD==61111) +{ + echo "
";
+
+	 if ( (strlen($server_ip) < 2) or (strlen($user) < 2) )
+		{echo "
ERROR AGENTES REMOTOS – Por favor, vuelva atrás y compruebe los datos que introdujo\n";} + else + { + + $users_list = ''; + $k=0; + while($k < $number_of_lines) + { + $nextuser=($user + $k); + $users_list .= "'" . mysql_real_escape_string($nextuser) . "',"; + $k++; + } + $users_list = preg_replace("/.$/","",$users_list); + + echo "VICIDIAL: Remote Agent Time On Calls $NOW_TIME\n\n"; + echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n"; + echo "| STATION | USER | LEADID | CHANNEL | STATUS | START TIME | MINUTES |\n"; + echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n"; + + + $stmt="select extension,user,lead_id,channel,status,last_call_time,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish) from vicidial_live_agents where status NOT IN('PAUSED') and server_ip='" . mysql_real_escape_string($server_ip) . "' and user IN($users_list) order by extension;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + while ($i < $talking_to_print) + { + $leadlink=0; + $row=mysql_fetch_row($rslt); + if (eregi("READY|PAUSED",$row[4])) + { + $row[3]=''; + $row[5]='- ESPERANDO -'; + $row[6]=$row[7]; + } + $extension = sprintf("%-10s", $row[0]); + $user = sprintf("%-6s", $row[1]); + $leadid = sprintf("%-12s", $row[2]); + if ($row[2] > 0) + { + $leadidLINK=$row[2]; + $leadlink++; + if ( eregi("QUEUE",$row[4]) ) {$row[6]=$STARTtime;} + $leadid = "$leadid"; + } + $channel = sprintf("%-10s", $row[3]); + $cc=0; + while ( (strlen($channel) > 10) and ($cc < 100) ) + { + $channel = eregi_replace(".$","",$channel); + $cc++; + if (strlen($channel) <= 10) {$cc=101;} + } + $status = sprintf("%-6s", $row[4]); + $start_time = sprintf("%-19s", $row[5]); + $call_time_S = ($STARTtime - $row[6]); + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + if ($call_time_M_int >= 5) {$G=''; $EG='';} + if ($call_time_M_int >= 10) {$G=''; $EG='';} + + echo "| $G$extension$EG | $G$user$EG | $G$leadid$EG | $G$channel$EG | $G$status$EG | $G$start_time$EG | $G$call_time_MS$EG |\n"; + + $i++; + } + + echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n"; + echo " $i agentes identificados en el servidor $server_ip\n\n"; + + echo " - Llamadas de 5 minutos o más\n"; + echo " - Sobre 10 minutos en llamada\n"; + + } + else + { + echo "**************************************************************************************\n"; + echo "*********************************AGENTES SIN LLAMADAS*********************************\n"; + echo "**************************************************************************************\n"; + } + } + +echo "
\n\n"; + +} + + +###################### +# ADD=71111 stats for remote agents from closer logs(vicidial_closer_log) +###################### + +if ($ADD==71111) +{ + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n\n"; + echo "
";
+
+	 if ( (strlen($server_ip) < 2) or (strlen($user) < 2) )
+		{echo "
ERROR AGENTES REMOTOS – Por favor, vuelva atrás y compruebe los datos que introdujo\n";} + else + { + + $users_list = ''; + $k=0; + while($k < $number_of_lines) + { + $nextuser=($user + $k); + $users_list .= "'$nextuser',"; + $k++; + } + $users_list = preg_replace("/.$/","",$users_list); + + $stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date 00:00:01' and call_date <= '$query_date 23:59:59' and user IN($users_list);"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $in_calls = $row[0]; + $in_time = $row[1]; + $in_time_M = ($in_time / 60); + $in_time_M = round($in_time_M, 2); + $in_time_M_int = intval("$in_time_M"); + $in_time_SEC = ($in_time_M - $in_time_M_int); + $in_time_SEC = ($in_time_SEC * 60); + $in_time_SEC = round($in_time_SEC, 0); + if ($in_time_SEC < 10) {$in_time_SEC = "0$in_time_SEC";} + $in_time_MS = "$in_time_M_int:$in_time_SEC"; + $in_time_MS = sprintf("%7s", $in_time_MS); + + echo "VICIDIAL: Stats de entrada del agente alejado $NOW_TIME\n\n"; + echo "\n"; + echo "Llamadas totales tomadas $query_date: $in_calls\n"; + echo "Tiempo total de conversación$query_date: $in_time_MS (minutes:seconds)\n"; + echo "\n"; + echo "\n"; + echo "Lista la llamada para $query_date:\n"; + echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n"; + echo "| USER | LEADID | GROUP | PHONE NUM | STATUS | CALL TIME | MINUTES |\n"; + echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n"; + + + $stmt="select user,lead_id,campaign_id,phone_number,status,call_date,length_in_sec from vicidial_closer_log where call_date >= '$query_date 00:00:01' and call_date <= '$query_date 23:59:59' and user IN($users_list) order by call_date;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + while ($i < $talking_to_print) + { + $row=mysql_fetch_row($rslt); + $user = sprintf("%-8s", $row[0]); + $leadid = sprintf("%-10s", $row[1]); + $group = sprintf("%-14s", $row[2]); + $phone = sprintf("%-10s", $row[3]); + $status = sprintf("%-6s", $row[4]); + $start_time = sprintf("%-19s", $row[5]); + $call_time_S = $row[6]; + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + # if ($call_time_M_int >= 5) {$G=''; $EG='';} + # if ($call_time_M_int >= 10) {$G=''; $EG='';} + + echo "| $G$user$EG | $G$leadid$EG | $G$group$EG | $G$phone$EG | $G$status$EG | $G$start_time$EG | $G$call_time_MS$EG |\n"; + + $i++; + } + + echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n"; + # echo " $i agentes identificados en el servidor $server_ip\n\n"; + + # echo " - Llamadas de 5 minutos o más\n"; + # echo " - Sobre 10 minutos en llamada\n"; + + } + else + { + echo "**************************************************************************************\n"; + echo "*********************************NINGUNA LLAMADA PARA HOY*******************************\n"; + echo "**************************************************************************************\n"; + } + } + +echo "
\n\n"; + +} + + + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


\n\n"; + + +echo "\n\n\n


\nScript runtime: $RUNtime seconds
"; + + +?> + + +
+ + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/welcome.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/welcome.php new file mode 100644 index 00000000..f43e47b1 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_es/welcome.php @@ -0,0 +1,25 @@ + LICENSE: GPLv2 +# + +echo "VICIDIAL Bienvenido\n"; +echo "\n"; +echo "\n"; +echo "




"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Recepción
 
Agent Login
 
Administration
 
\n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; + +?> \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_CLOSERstats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_CLOSERstats.php new file mode 100644 index 00000000..839490f5 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_CLOSERstats.php @@ -0,0 +1,1490 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 60619-1714 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 60905-1326 - Added queue time stats +# 71008-1436 - Added shift to be defined in dbconnect.php +# 71025-0021 - Added status breakdown +# 71218-1155 - Added end_date for multi-day reports +# 80430-1920 - Added Customer hangup cause stats +# 80709-0331 - Added time stats to call statuses +# 80722-2149 - Added Status Category stats +# 81015-0705 - Added IVR calls count +# 81024-0037 - Added multi-select inbound-groups +# 81105-2118 - Added Answered calls 15-minute breakdown +# 81109-2340 - Added custom indicators section +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +if (strlen($shift)<2) {$shift='ALL';} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} + +$stmt="select group_id from vicidial_inbound_groups;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; + $LISTgroups[$i]='---NONE---'; + $i++; + $groups_to_print++; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTgroups[$i] =$row[0]; + $i++; + } + +$i=0; +$group_string='|'; +$group_ct = count($group); +while($i < $group_ct) + { + $group_string .= "$group[$i]|"; + $group_SQL .= "'$group[$i]',"; + $groupQS .= "&group[]=$group[$i]"; + $i++; + } +if ( (ereg("--NONE--",$group_string) ) or ($group_ct < 1) ) + { + $group_SQL = "''"; +# $group_SQL = "group_id IN('')"; + } +else + { + $group_SQL = eregi_replace(",$",'',$group_SQL); +# $group_SQL = "group_id IN($group_SQL)"; + } + + +$stmt="select vsc_id,vsc_name from vicidial_status_categories;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$statcats_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $statcats_to_print) + { + $row=mysql_fetch_row($rslt); + $vsc_id[$i] = $row[0]; + $vsc_name[$i] = $row[1]; + $vsc_count[$i] = 0; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Estadísticas de VDAD Closer\n"; +if ($DB > 0) + { + echo "
\n"; + echo "$group_ct|$group_string|$group_SQL\n"; + echo "
\n"; + echo "$shift|$query_date|$end_date\n"; + echo "
\n"; + } + +echo "
\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "Date Range:
\n"; +echo "\n"; +echo " to \n"; +echo "
\n"; +echo "Gruppi Inbound: \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           "; +echo "MODIFICA | "; +echo "REPORT | "; +echo "IVR REPORT \n"; +echo "\n"; + +echo "
\n"; + +#echo "\n"; +echo "Shift: \n"; +echo "   \n"; +echo "
\n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if ($groups_to_print < 1)
+{
+echo "\n\n";
+echo "PER FAVORE SELEZIONA UN GRUPPO INBOUND E UN INTERVALLO DI TEMPO, POI PREMI INVIA\n";
+}
+
+else
+{
+if ($shift == 'AM') 
+	{
+	$time_BEGIN=$AM_shift_BEGIN;
+	$time_END=$AM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
+	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
+	}
+if ($shift == 'PM') 
+	{
+	$time_BEGIN=$PM_shift_BEGIN;
+	$time_END=$PM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
+	}
+if ($shift == 'ALL') 
+	{
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
+	}
+$query_date_BEGIN = "$query_date $time_BEGIN";   
+$query_date_END = "$end_date $time_END";
+
+
+
+echo "VICIDIAL: Estadísticas de Auto-dial en CLOSER: $group_string          $NOW_TIME\n";
+
+
+
+
+
+
+if ($group_ct > 1)
+	{
+	echo "\n";
+	echo "---------- MULTI-GROUP BREAKDOWN:\n";
+	echo "+----------------------+---------+---------+---------+---------+\n";
+	echo "| IN-GROUP             | CALLS   | DROPS   | DROP %  | IVR     |\n";
+	echo "+----------------------+---------+---------+---------+---------+\n";
+
+	$i=0;
+	while($i < $group_ct)
+		{
+		$stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='$group[$i]';";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+
+		$stmt="select count(*) from live_inbound_log where start_time >= '$query_date_BEGIN' and start_time <= '$query_date_END' and comment_a='$group[$i]' and comment_b='START';";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$rowx=mysql_fetch_row($rslt);
+
+		$stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='$group[$i]' and status IN('DROP','XDROP') and (length_in_sec <= 49999 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$rowy=mysql_fetch_row($rslt);
+
+		$groupDISPLAY =	sprintf("%20s", $group[$i]);
+		$gTOTALcalls =	sprintf("%7s", $row[0]);
+		$gIVRcalls =	sprintf("%7s", $rowx[0]);
+		$gDROPcalls =	sprintf("%7s", $rowy[0]);
+		if ( ($gDROPcalls < 1) or ($gTOTALcalls < 1) )
+			{$gDROPpercent = '0';}
+		else
+			{
+			$gDROPpercent = (($gDROPcalls / $gTOTALcalls) * 100);
+			$gDROPpercent = round($gDROPpercent, 2);
+			}
+		$gDROPpercent =	sprintf("%6s", $gDROPpercent);
+
+		echo "| $groupDISPLAY | $gTOTALcalls | $gDROPcalls | $gDROPpercent% | $gIVRcalls |\n";
+		$i++;
+		}
+
+	echo "+----------------------+---------+---------+---------+---------+\n";
+
+	}
+
+
+echo "\n";
+echo "Intervallo Di Tempo: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- TOTALI\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id IN($group_SQL);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$stmt="select count(*),sum(queue_seconds) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id IN($group_SQL) and status NOT IN('DROP','XDROP','HXFER','QVMAIL','HOLDTO','LIVE','QUEUE');";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$rowy=mysql_fetch_row($rslt);
+
+$stmt="select count(*) from live_inbound_log where start_time >= '$query_date_BEGIN' and start_time <= '$query_date_END' and comment_a IN($group_SQL) and comment_b='START';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$rowx=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+$IVRcalls =	sprintf("%10s", $rowx[0]);
+$TOTALsec =		$row[1];
+if ( ($row[0] < 1) or ($TOTALsec < 1) )
+	{$average_call_seconds = '         0';}
+else
+	{
+	$average_call_seconds = ($TOTALsec / $row[0]);
+	$average_call_seconds = round($average_call_seconds, 0);
+	$average_call_seconds =	sprintf("%10s", $average_call_seconds);
+	}
+$ANSWEREDcalls  =	sprintf("%10s", $rowy[0]);
+if ( ($ANSWEREDcalls < 1) or ($TOTALcalls < 1) )
+	{$ANSWEREDpercent = '0';}
+else
+	{
+	$ANSWEREDpercent = (($ANSWEREDcalls / $TOTALcalls) * 100);
+	$ANSWEREDpercent = round($ANSWEREDpercent, 0);
+	}
+if ( ($rowy[0] < 1) or ($ANSWEREDcalls < 1) )
+	{$average_answer_seconds = '         0';}
+else
+	{
+	$average_answer_seconds = ($rowy[1] / $rowy[0]);
+	$average_answer_seconds = round($average_answer_seconds, 2);
+	$average_answer_seconds =	sprintf("%10s", $average_answer_seconds);
+	}
+
+
+echo "Llamadas totales tomadas in to this In-Gruppo:        $TOTALcalls\n";
+echo "Average Call Length for all Calls:            $average_call_seconds seconds\n";
+echo "Answered Calls:                               $ANSWEREDcalls  $ANSWEREDpercent%\n";
+echo "Average queue time for Answered Calls:        $average_answer_seconds seconds\n";
+echo "Calls taken into the IVR for this In-Gruppo:   $IVRcalls\n";
+
+
+echo "\n";
+echo "---------- ABBATTUTE\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id IN($group_SQL) and status IN('DROP','XDROP') and (length_in_sec <= 49999 or length_in_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$DROPcalls =	sprintf("%10s", $row[0]);
+if ( ($DROPcalls < 1) or ($TOTALcalls < 1) )
+	{$DROPpercent = '0';}
+else
+	{
+	$DROPpercent = (($DROPcalls / $TOTALcalls) * 100);
+	$DROPpercent = round($DROPpercent, 0);
+	}
+
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{
+	$average_hold_seconds = '         0';
+	}
+else
+	{
+	$average_hold_seconds = ($row[1] / $row[0]);
+	$average_hold_seconds = round($average_hold_seconds, 0);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+if ( ($ANSWEREDcalls < 1) or ($DROPcalls < 1) )
+	{$DROP_ANSWEREDpercent = '0';}
+else
+	{
+	$DROP_ANSWEREDpercent = (($DROPcalls / $ANSWEREDcalls) * 100);
+	$DROP_ANSWEREDpercent = round($DROP_ANSWEREDpercent, 0);
+	}
+
+echo "Totale Chiamate ABBATTUTE: $DROPcalls  $DROPpercent%               drop/answered: $DROP_ANSWEREDpercent%\n";
+echo "Average hold time for DROP Calls:             $average_hold_seconds seconds\n";
+
+
+
+
+if (strlen($group_SQL)>3)
+	{
+	$stmt = "SELECT answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two from vicidial_inbound_groups where group_id IN($group_SQL) order by answer_sec_pct_rt_stat_one desc limit 1;";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$Sanswer_sec_pct_rt_stat_one = $row[0];
+	$Sanswer_sec_pct_rt_stat_two = $row[1];
+
+	$stmt = "SELECT count(*) from vicidial_closer_log where campaign_id IN($group_SQL) and call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and queue_seconds <= $Sanswer_sec_pct_rt_stat_one;";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$answer_sec_pct_rt_stat_one = $row[0];
+
+	$stmt = "SELECT count(*) from vicidial_closer_log where campaign_id IN($group_SQL) and call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and queue_seconds <= $Sanswer_sec_pct_rt_stat_two;";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$answer_sec_pct_rt_stat_two = $row[0];
+
+	if ( ($ANSWEREDcalls > 0) and ($answer_sec_pct_rt_stat_one > 0) and ($answer_sec_pct_rt_stat_two > 0) )
+		{
+		$PCTanswer_sec_pct_rt_stat_one = (($answer_sec_pct_rt_stat_one / $ANSWEREDcalls) * 100);
+		$PCTanswer_sec_pct_rt_stat_one = round($PCTanswer_sec_pct_rt_stat_one, 0);
+		#$PCTanswer_sec_pct_rt_stat_one = sprintf("%10s", $PCTanswer_sec_pct_rt_stat_one);
+		$PCTanswer_sec_pct_rt_stat_two = (($answer_sec_pct_rt_stat_two / $ANSWEREDcalls) * 100);
+		$PCTanswer_sec_pct_rt_stat_two = round($PCTanswer_sec_pct_rt_stat_two, 0);
+		#$PCTanswer_sec_pct_rt_stat_two = sprintf("%10s", $PCTanswer_sec_pct_rt_stat_two);
+		}
+	}
+echo "\n";
+echo "---------- CUSTOM INDICATORS\n";
+echo "GDE (Answered/Llamadas totales tomadas in to this In-Group):  $ANSWEREDpercent%\n";
+echo "ACR (Dropped/Answered):                                $DROP_ANSWEREDpercent%\n";
+echo "TMR1 (Answered within $Sanswer_sec_pct_rt_stat_one seconds/Answered):            $PCTanswer_sec_pct_rt_stat_one%\n";
+echo "TMR2 (Answered within $Sanswer_sec_pct_rt_stat_two seconds/Answered):            $PCTanswer_sec_pct_rt_stat_two%\n";
+
+
+# GET LIST OF ALL STATUSES and create SQL from human_answered statuses
+$q=0;
+$stmt = "SELECT status,status_name,human_answered,category from vicidial_statuses;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$statuses_to_print = mysql_num_rows($rslt);
+$p=0;
+while ($p < $statuses_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$status[$q] =			$row[0];
+	$status_name[$q] =		$row[1];
+	$human_answered[$q] =	$row[2];
+	$category[$q] =			$row[3];
+	$statname_list["$status[$q]"] = "$status_name[$q]";
+	$statcat_list["$status[$q]"] = "$category[$q]";
+	$q++;
+	$p++;
+	}
+$stmt = "SELECT status,status_name,human_answered,category from vicidial_campaign_statuses;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$statuses_to_print = mysql_num_rows($rslt);
+$p=0;
+while ($p < $statuses_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$status[$q] =			$row[0];
+	$status_name[$q] =		$row[1];
+	$human_answered[$q] =	$row[2];
+	$category[$q] =			$row[3];
+	$statname_list["$status[$q]"] = "$status_name[$q]";
+	$statcat_list["$status[$q]"] = "$category[$q]";
+	$q++;
+	$p++;
+	}
+
+##############################
+#########  CALL QUEUE STATS
+echo "\n";
+echo "---------- QUEUE STATS\n";
+
+$stmt="select count(*),sum(queue_seconds) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id IN($group_SQL) and (queue_seconds > 0);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$QUEUEcalls =	sprintf("%10s", $row[0]);
+if ( ($QUEUEcalls < 1) or ($TOTALcalls < 1) )
+	{$QUEUEpercent = '0';}
+else
+	{
+	$QUEUEpercent = (($QUEUEcalls / $TOTALcalls) * 100);
+	$QUEUEpercent = round($QUEUEpercent, 0);
+	}
+
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_queue_seconds = '         0';}
+else
+	{
+	$average_queue_seconds = ($row[1] / $row[0]);
+	$average_queue_seconds = round($average_queue_seconds, 2);
+	$average_queue_seconds = sprintf("%10.2f", $average_queue_seconds);
+	}
+
+if ( ($TOTALcalls < 1) or ($row[1] < 1) )
+	{$average_total_queue_seconds = '         0';}
+else
+	{
+	$average_total_queue_seconds = ($row[1] / $TOTALcalls);
+	$average_total_queue_seconds = round($average_total_queue_seconds, 2);
+	$average_total_queue_seconds = sprintf("%10.2f", $average_total_queue_seconds);
+	}
+
+echo "Total Calls That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
+echo "Average QUEUE Length for queue calls:         $average_queue_seconds seconds\n";
+echo "Average QUEUE Length across all calls:        $average_total_queue_seconds seconds\n";
+
+
+
+##############################
+#########  CALL HOLD TIME BREAKDOWN IN SECONDS
+
+$TOTALcalls = 0;
+
+echo "\n";
+echo "---------- CALL HOLD TIME BREAKDOWN IN SECONDS\n";
+echo "+-------------------------------------------------------------------------------------------+------------+\n";
+echo "|     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
+echo "+-------------------------------------------------------------------------------------------+------------+\n";
+
+$stmt="select count(*),queue_seconds from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) group by queue_seconds;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$reasons_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $reasons_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTALcalls = ($TOTALcalls + $row[0]);
+
+	if ($row[1] == 0) {$hd_0 = ($hd_0 + $row[0]);}
+	if ( ($row[1] > 0) and ($row{1} <= 5) ) {$hd_5 = ($hd_5 + $row[0]);}
+	if ( ($row[1] > 5) and ($row{1} <= 10) ) {$hd10 = ($hd10 + $row[0]);}
+	if ( ($row[1] > 10) and ($row{1} <= 15) ) {$hd15 = ($hd15 + $row[0]);}
+	if ( ($row[1] > 15) and ($row{1} <= 20) ) {$hd20 = ($hd20 + $row[0]);}
+	if ( ($row[1] > 20) and ($row{1} <= 25) ) {$hd25 = ($hd25 + $row[0]);}
+	if ( ($row[1] > 25) and ($row{1} <= 30) ) {$hd30 = ($hd30 + $row[0]);}
+	if ( ($row[1] > 30) and ($row{1} <= 35) ) {$hd35 = ($hd35 + $row[0]);}
+	if ( ($row[1] > 35) and ($row{1} <= 40) ) {$hd40 = ($hd40 + $row[0]);}
+	if ( ($row[1] > 40) and ($row{1} <= 45) ) {$hd45 = ($hd45 + $row[0]);}
+	if ( ($row[1] > 45) and ($row{1} <= 50) ) {$hd50 = ($hd50 + $row[0]);}
+	if ( ($row[1] > 50) and ($row{1} <= 55) ) {$hd55 = ($hd55 + $row[0]);}
+	if ( ($row[1] > 55) and ($row{1} <= 60) ) {$hd60 = ($hd60 + $row[0]);}
+	if ( ($row[1] > 60) and ($row{1} <= 90) ) {$hd90 = ($hd90 + $row[0]);}
+	if ($row[1] > 90) {$hd99 = ($hd99 + $row[0]);}
+	$i++;
+	}
+
+$hd_0 =	sprintf("%5s", $hd_0);
+$hd_5 =	sprintf("%5s", $hd_5);
+$hd10 =	sprintf("%5s", $hd10);
+$hd15 =	sprintf("%5s", $hd15);
+$hd20 =	sprintf("%5s", $hd20);
+$hd25 =	sprintf("%5s", $hd25);
+$hd30 =	sprintf("%5s", $hd30);
+$hd35 =	sprintf("%5s", $hd35);
+$hd40 =	sprintf("%5s", $hd40);
+$hd45 =	sprintf("%5s", $hd45);
+$hd50 =	sprintf("%5s", $hd50);
+$hd55 =	sprintf("%5s", $hd55);
+$hd60 =	sprintf("%5s", $hd60);
+$hd90 =	sprintf("%5s", $hd90);
+$hd99 =	sprintf("%5s", $hd99);
+
+$TOTALcalls =		sprintf("%10s", $TOTALcalls);
+
+echo "| $hd_0 $hd_5 $hd10 $hd15 $hd20 $hd25 $hd30 $hd35 $hd40 $hd45 $hd50 $hd55 $hd60 $hd90 $hd99 | $TOTALcalls |\n";
+echo "+-------------------------------------------------------------------------------------------+------------+\n";
+
+
+
+##############################
+#########  CALL DROP TIME BREAKDOWN IN SECONDS
+
+$BDdropCALLS = 0;
+
+echo "\n";
+echo "---------- CALL DROP TIME BREAKDOWN IN SECONDS\n";
+echo "+-------------------------------------------------------------------------------------------+------------+\n";
+echo "|     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
+echo "+-------------------------------------------------------------------------------------------+------------+\n";
+
+$stmt="select count(*),queue_seconds from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) and status IN('DROP','XDROP') group by queue_seconds;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$reasons_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $reasons_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$BDdropCALLS = ($BDdropCALLS + $row[0]);
+
+	if ($row[1] == 0) {$dd_0 = ($dd_0 + $row[0]);}
+	if ( ($row[1] > 0) and ($row{1} <= 5) ) {$dd_5 = ($dd_5 + $row[0]);}
+	if ( ($row[1] > 5) and ($row{1} <= 10) ) {$dd10 = ($dd10 + $row[0]);}
+	if ( ($row[1] > 10) and ($row{1} <= 15) ) {$dd15 = ($dd15 + $row[0]);}
+	if ( ($row[1] > 15) and ($row{1} <= 20) ) {$dd20 = ($dd20 + $row[0]);}
+	if ( ($row[1] > 20) and ($row{1} <= 25) ) {$dd25 = ($dd25 + $row[0]);}
+	if ( ($row[1] > 25) and ($row{1} <= 30) ) {$dd30 = ($dd30 + $row[0]);}
+	if ( ($row[1] > 30) and ($row{1} <= 35) ) {$dd35 = ($dd35 + $row[0]);}
+	if ( ($row[1] > 35) and ($row{1} <= 40) ) {$dd40 = ($dd40 + $row[0]);}
+	if ( ($row[1] > 40) and ($row{1} <= 45) ) {$dd45 = ($dd45 + $row[0]);}
+	if ( ($row[1] > 45) and ($row{1} <= 50) ) {$dd50 = ($dd50 + $row[0]);}
+	if ( ($row[1] > 50) and ($row{1} <= 55) ) {$dd55 = ($dd55 + $row[0]);}
+	if ( ($row[1] > 55) and ($row{1} <= 60) ) {$dd60 = ($dd60 + $row[0]);}
+	if ( ($row[1] > 60) and ($row{1} <= 90) ) {$dd90 = ($dd90 + $row[0]);}
+	if ($row[1] > 90) {$dd99 = ($dd99 + $row[0]);}
+	$i++;
+	}
+
+$dd_0 =	sprintf("%5s", $dd_0);
+$dd_5 =	sprintf("%5s", $dd_5);
+$dd10 =	sprintf("%5s", $dd10);
+$dd15 =	sprintf("%5s", $dd15);
+$dd20 =	sprintf("%5s", $dd20);
+$dd25 =	sprintf("%5s", $dd25);
+$dd30 =	sprintf("%5s", $dd30);
+$dd35 =	sprintf("%5s", $dd35);
+$dd40 =	sprintf("%5s", $dd40);
+$dd45 =	sprintf("%5s", $dd45);
+$dd50 =	sprintf("%5s", $dd50);
+$dd55 =	sprintf("%5s", $dd55);
+$dd60 =	sprintf("%5s", $dd60);
+$dd90 =	sprintf("%5s", $dd90);
+$dd99 =	sprintf("%5s", $dd99);
+
+$BDdropCALLS =		sprintf("%10s", $BDdropCALLS);
+
+echo "| $dd_0 $dd_5 $dd10 $dd15 $dd20 $dd25 $dd30 $dd35 $dd40 $dd45 $dd50 $dd55 $dd60 $dd90 $dd99 | $BDdropCALLS |\n";
+echo "+-------------------------------------------------------------------------------------------+------------+\n";
+
+
+
+
+##############################
+#########  CALL ANSWERED TIME AND PERCENT BREAKDOWN IN SECONDS
+
+$BDansweredCALLS = 0;
+
+echo "\n";
+echo "           CALL ANSWERED TIME AND PERCENT BREAKDOWN IN SECONDS\n";
+echo "          +-------------------------------------------------------------------------------------------+------------+\n";
+echo "          |     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
+echo "----------+-------------------------------------------------------------------------------------------+------------+\n";
+
+$stmt="select count(*),queue_seconds from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) and status NOT IN('DROP','XDROP','HXFER','QVMAIL','HOLDTO','LIVE','QUEUE') group by queue_seconds;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$reasons_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $reasons_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$BDansweredCALLS = ($BDansweredCALLS + $row[0]);
+	
+	### Get interval totals
+	if ($row[1] == 0) {$ad_0 = ($ad_0 + $row[0]);}
+	if ( ($row[1] > 0) and ($row{1} <= 5) ) {$ad_5 = ($ad_5 + $row[0]);}
+	if ( ($row[1] > 5) and ($row{1} <= 10) ) {$ad10 = ($ad10 + $row[0]);}
+	if ( ($row[1] > 10) and ($row{1} <= 15) ) {$ad15 = ($ad15 + $row[0]);}
+	if ( ($row[1] > 15) and ($row{1} <= 20) ) {$ad20 = ($ad20 + $row[0]);}
+	if ( ($row[1] > 20) and ($row{1} <= 25) ) {$ad25 = ($ad25 + $row[0]);}
+	if ( ($row[1] > 25) and ($row{1} <= 30) ) {$ad30 = ($ad30 + $row[0]);}
+	if ( ($row[1] > 30) and ($row{1} <= 35) ) {$ad35 = ($ad35 + $row[0]);}
+	if ( ($row[1] > 35) and ($row{1} <= 40) ) {$ad40 = ($ad40 + $row[0]);}
+	if ( ($row[1] > 40) and ($row{1} <= 45) ) {$ad45 = ($ad45 + $row[0]);}
+	if ( ($row[1] > 45) and ($row{1} <= 50) ) {$ad50 = ($ad50 + $row[0]);}
+	if ( ($row[1] > 50) and ($row{1} <= 55) ) {$ad55 = ($ad55 + $row[0]);}
+	if ( ($row[1] > 55) and ($row{1} <= 60) ) {$ad60 = ($ad60 + $row[0]);}
+	if ( ($row[1] > 60) and ($row{1} <= 90) ) {$ad90 = ($ad90 + $row[0]);}
+	if ($row[1] > 90) {$ad99 = ($ad99 + $row[0]);}
+	$i++;
+	}
+
+### Calculate cumulative totals
+$Cad_0 =$ad_0;
+$Cad_5 =($Cad_0 + $ad_5);
+$Cad10 =($Cad_5 + $ad10);
+$Cad15 =($Cad10 + $ad15);
+$Cad20 =($Cad15 + $ad20);
+$Cad25 =($Cad20 + $ad25);
+$Cad30 =($Cad25 + $ad30);
+$Cad35 =($Cad30 + $ad35);
+$Cad40 =($Cad35 + $ad40);
+$Cad45 =($Cad40 + $ad45);
+$Cad50 =($Cad45 + $ad50);
+$Cad55 =($Cad50 + $ad55);
+$Cad60 =($Cad55 + $ad60);
+$Cad90 =($Cad60 + $ad90);
+$Cad99 =($Cad90 + $ad99);
+
+### Calculate interval percentages
+$pad_0=0; $pad_5=0; $pad10=0; $pad15=0; $pad20=0; $pad25=0; $pad30=0; $pad35=0; $pad40=0; $pad45=0; $pad50=0; $pad55=0; $pad60=0; $pad90=0; $pad99=0; 
+$pCad_0=0; $pCad_5=0; $pCad10=0; $pCad15=0; $pCad20=0; $pCad25=0; $pCad30=0; $pCad35=0; $pCad40=0; $pCad45=0; $pCad50=0; $pCad55=0; $pCad60=0; $pCad90=0; $pCad99=0; 
+if ( ($BDansweredCALLS > 0) and ($TOTALcalls > 0) )
+	{
+	if ($ad_0 > 0) {$pad_0 = (($ad_0 / $TOTALcalls) * 100);	$pad_0 = round($pad_0, 0);}
+	if ($ad_5 > 0) {$pad_5 = (($ad_5 / $TOTALcalls) * 100);	$pad_5 = round($pad_5, 0);}
+	if ($ad10 > 0) {$pad10 = (($ad10 / $TOTALcalls) * 100);	$pad10 = round($pad10, 0);}
+	if ($ad15 > 0) {$pad15 = (($ad15 / $TOTALcalls) * 100);	$pad15 = round($pad15, 0);}
+	if ($ad20 > 0) {$pad20 = (($ad20 / $TOTALcalls) * 100);	$pad20 = round($pad20, 0);}
+	if ($ad25 > 0) {$pad25 = (($ad25 / $TOTALcalls) * 100);	$pad25 = round($pad25, 0);}
+	if ($ad30 > 0) {$pad30 = (($ad30 / $TOTALcalls) * 100);	$pad30 = round($pad30, 0);}
+	if ($ad35 > 0) {$pad35 = (($ad35 / $TOTALcalls) * 100);	$pad35 = round($pad35, 0);}
+	if ($ad40 > 0) {$pad40 = (($ad40 / $TOTALcalls) * 100);	$pad40 = round($pad40, 0);}
+	if ($ad45 > 0) {$pad45 = (($ad45 / $TOTALcalls) * 100);	$pad45 = round($pad45, 0);}
+	if ($ad50 > 0) {$pad50 = (($ad50 / $TOTALcalls) * 100);	$pad50 = round($pad50, 0);}
+	if ($ad55 > 0) {$pad55 = (($ad55 / $TOTALcalls) * 100);	$pad55 = round($pad55, 0);}
+	if ($ad60 > 0) {$pad60 = (($ad60 / $TOTALcalls) * 100);	$pad60 = round($pad60, 0);}
+	if ($ad90 > 0) {$pad90 = (($ad90 / $TOTALcalls) * 100);	$pad90 = round($pad90, 0);}
+	if ($ad99 > 0) {$pad99 = (($ad99 / $TOTALcalls) * 100);	$pad99 = round($pad99, 0);}
+
+	if ($Cad_0 > 0) {$pCad_0 = (($Cad_0 / $TOTALcalls) * 100);	$pCad_0 = round($pCad_0, 0);}
+	if ($Cad_5 > 0) {$pCad_5 = (($Cad_5 / $TOTALcalls) * 100);	$pCad_5 = round($pCad_5, 0);}
+	if ($Cad10 > 0) {$pCad10 = (($Cad10 / $TOTALcalls) * 100);	$pCad10 = round($pCad10, 0);}
+	if ($Cad15 > 0) {$pCad15 = (($Cad15 / $TOTALcalls) * 100);	$pCad15 = round($pCad15, 0);}
+	if ($Cad20 > 0) {$pCad20 = (($Cad20 / $TOTALcalls) * 100);	$pCad20 = round($pCad20, 0);}
+	if ($Cad25 > 0) {$pCad25 = (($Cad25 / $TOTALcalls) * 100);	$pCad25 = round($pCad25, 0);}
+	if ($Cad30 > 0) {$pCad30 = (($Cad30 / $TOTALcalls) * 100);	$pCad30 = round($pCad30, 0);}
+	if ($Cad35 > 0) {$pCad35 = (($Cad35 / $TOTALcalls) * 100);	$pCad35 = round($pCad35, 0);}
+	if ($Cad40 > 0) {$pCad40 = (($Cad40 / $TOTALcalls) * 100);	$pCad40 = round($pCad40, 0);}
+	if ($Cad45 > 0) {$pCad45 = (($Cad45 / $TOTALcalls) * 100);	$pCad45 = round($pCad45, 0);}
+	if ($Cad50 > 0) {$pCad50 = (($Cad50 / $TOTALcalls) * 100);	$pCad50 = round($pCad50, 0);}
+	if ($Cad55 > 0) {$pCad55 = (($Cad55 / $TOTALcalls) * 100);	$pCad55 = round($pCad55, 0);}
+	if ($Cad60 > 0) {$pCad60 = (($Cad60 / $TOTALcalls) * 100);	$pCad60 = round($pCad60, 0);}
+	if ($Cad90 > 0) {$pCad90 = (($Cad90 / $TOTALcalls) * 100);	$pCad90 = round($pCad90, 0);}
+	if ($Cad99 > 0) {$pCad99 = (($Cad99 / $TOTALcalls) * 100);	$pCad99 = round($pCad99, 0);}
+
+	if ($Cad_0 > 0) {$ApCad_0 = (($Cad_0 / $BDansweredCALLS) * 100);	$ApCad_0 = round($ApCad_0, 0);}
+	if ($Cad_5 > 0) {$ApCad_5 = (($Cad_5 / $BDansweredCALLS) * 100);	$ApCad_5 = round($ApCad_5, 0);}
+	if ($Cad10 > 0) {$ApCad10 = (($Cad10 / $BDansweredCALLS) * 100);	$ApCad10 = round($ApCad10, 0);}
+	if ($Cad15 > 0) {$ApCad15 = (($Cad15 / $BDansweredCALLS) * 100);	$ApCad15 = round($ApCad15, 0);}
+	if ($Cad20 > 0) {$ApCad20 = (($Cad20 / $BDansweredCALLS) * 100);	$ApCad20 = round($ApCad20, 0);}
+	if ($Cad25 > 0) {$ApCad25 = (($Cad25 / $BDansweredCALLS) * 100);	$ApCad25 = round($ApCad25, 0);}
+	if ($Cad30 > 0) {$ApCad30 = (($Cad30 / $BDansweredCALLS) * 100);	$ApCad30 = round($ApCad30, 0);}
+	if ($Cad35 > 0) {$ApCad35 = (($Cad35 / $BDansweredCALLS) * 100);	$ApCad35 = round($ApCad35, 0);}
+	if ($Cad40 > 0) {$ApCad40 = (($Cad40 / $BDansweredCALLS) * 100);	$ApCad40 = round($ApCad40, 0);}
+	if ($Cad45 > 0) {$ApCad45 = (($Cad45 / $BDansweredCALLS) * 100);	$ApCad45 = round($ApCad45, 0);}
+	if ($Cad50 > 0) {$ApCad50 = (($Cad50 / $BDansweredCALLS) * 100);	$ApCad50 = round($ApCad50, 0);}
+	if ($Cad55 > 0) {$ApCad55 = (($Cad55 / $BDansweredCALLS) * 100);	$ApCad55 = round($ApCad55, 0);}
+	if ($Cad60 > 0) {$ApCad60 = (($Cad60 / $BDansweredCALLS) * 100);	$ApCad60 = round($ApCad60, 0);}
+	if ($Cad90 > 0) {$ApCad90 = (($Cad90 / $BDansweredCALLS) * 100);	$ApCad90 = round($ApCad90, 0);}
+	if ($Cad99 > 0) {$ApCad99 = (($Cad99 / $BDansweredCALLS) * 100);	$ApCad99 = round($ApCad99, 0);}
+	}
+
+### Format variables
+$ad_0 = sprintf("%5s", $ad_0);
+$ad_5 = sprintf("%5s", $ad_5);
+$ad10 = sprintf("%5s", $ad10);
+$ad15 = sprintf("%5s", $ad15);
+$ad20 = sprintf("%5s", $ad20);
+$ad25 = sprintf("%5s", $ad25);
+$ad30 = sprintf("%5s", $ad30);
+$ad35 = sprintf("%5s", $ad35);
+$ad40 = sprintf("%5s", $ad40);
+$ad45 = sprintf("%5s", $ad45);
+$ad50 = sprintf("%5s", $ad50);
+$ad55 = sprintf("%5s", $ad55);
+$ad60 = sprintf("%5s", $ad60);
+$ad90 = sprintf("%5s", $ad90);
+$ad99 = sprintf("%5s", $ad99);
+$Cad_0 = sprintf("%5s", $Cad_0);
+$Cad_5 = sprintf("%5s", $Cad_5);
+$Cad10 = sprintf("%5s", $Cad10);
+$Cad15 = sprintf("%5s", $Cad15);
+$Cad20 = sprintf("%5s", $Cad20);
+$Cad25 = sprintf("%5s", $Cad25);
+$Cad30 = sprintf("%5s", $Cad30);
+$Cad35 = sprintf("%5s", $Cad35);
+$Cad40 = sprintf("%5s", $Cad40);
+$Cad45 = sprintf("%5s", $Cad45);
+$Cad50 = sprintf("%5s", $Cad50);
+$Cad55 = sprintf("%5s", $Cad55);
+$Cad60 = sprintf("%5s", $Cad60);
+$Cad90 = sprintf("%5s", $Cad90);
+$Cad99 = sprintf("%5s", $Cad99);
+$pad_0 = sprintf("%4s", $pad_0) . '%';
+$pad_5 = sprintf("%4s", $pad_5) . '%';
+$pad10 = sprintf("%4s", $pad10) . '%';
+$pad15 = sprintf("%4s", $pad15) . '%';
+$pad20 = sprintf("%4s", $pad20) . '%';
+$pad25 = sprintf("%4s", $pad25) . '%';
+$pad30 = sprintf("%4s", $pad30) . '%';
+$pad35 = sprintf("%4s", $pad35) . '%';
+$pad40 = sprintf("%4s", $pad40) . '%';
+$pad45 = sprintf("%4s", $pad45) . '%';
+$pad50 = sprintf("%4s", $pad50) . '%';
+$pad55 = sprintf("%4s", $pad55) . '%';
+$pad60 = sprintf("%4s", $pad60) . '%';
+$pad90 = sprintf("%4s", $pad90) . '%';
+$pad99 = sprintf("%4s", $pad99) . '%';
+$pCad_0 = sprintf("%4s", $pCad_0) . '%';
+$pCad_5 = sprintf("%4s", $pCad_5) . '%';
+$pCad10 = sprintf("%4s", $pCad10) . '%';
+$pCad15 = sprintf("%4s", $pCad15) . '%';
+$pCad20 = sprintf("%4s", $pCad20) . '%';
+$pCad25 = sprintf("%4s", $pCad25) . '%';
+$pCad30 = sprintf("%4s", $pCad30) . '%';
+$pCad35 = sprintf("%4s", $pCad35) . '%';
+$pCad40 = sprintf("%4s", $pCad40) . '%';
+$pCad45 = sprintf("%4s", $pCad45) . '%';
+$pCad50 = sprintf("%4s", $pCad50) . '%';
+$pCad55 = sprintf("%4s", $pCad55) . '%';
+$pCad60 = sprintf("%4s", $pCad60) . '%';
+$pCad90 = sprintf("%4s", $pCad90) . '%';
+$pCad99 = sprintf("%4s", $pCad99) . '%';
+$ApCad_0 = sprintf("%4s", $ApCad_0) . '%';
+$ApCad_5 = sprintf("%4s", $ApCad_5) . '%';
+$ApCad10 = sprintf("%4s", $ApCad10) . '%';
+$ApCad15 = sprintf("%4s", $ApCad15) . '%';
+$ApCad20 = sprintf("%4s", $ApCad20) . '%';
+$ApCad25 = sprintf("%4s", $ApCad25) . '%';
+$ApCad30 = sprintf("%4s", $ApCad30) . '%';
+$ApCad35 = sprintf("%4s", $ApCad35) . '%';
+$ApCad40 = sprintf("%4s", $ApCad40) . '%';
+$ApCad45 = sprintf("%4s", $ApCad45) . '%';
+$ApCad50 = sprintf("%4s", $ApCad50) . '%';
+$ApCad55 = sprintf("%4s", $ApCad55) . '%';
+$ApCad60 = sprintf("%4s", $ApCad60) . '%';
+$ApCad90 = sprintf("%4s", $ApCad90) . '%';
+$ApCad99 = sprintf("%4s", $ApCad99) . '%';
+
+$BDansweredCALLS =		sprintf("%10s", $BDansweredCALLS);
+
+### Format and output
+$answeredTOTALs = "$ad_0 $ad_5 $ad10 $ad15 $ad20 $ad25 $ad30 $ad35 $ad40 $ad45 $ad50 $ad55 $ad60 $ad90 $ad99 | $BDansweredCALLS |";
+$answeredCUMULATIVE = "$Cad_0 $Cad_5 $Cad10 $Cad15 $Cad20 $Cad25 $Cad30 $Cad35 $Cad40 $Cad45 $Cad50 $Cad55 $Cad60 $Cad90 $Cad99 | $BDansweredCALLS |";
+$answeredINT_PERCENT = "$pad_0 $pad_5 $pad10 $pad15 $pad20 $pad25 $pad30 $pad35 $pad40 $pad45 $pad50 $pad55 $pad60 $pad90 $pad99 |            |";
+$answeredCUM_PERCENT = "$pCad_0 $pCad_5 $pCad10 $pCad15 $pCad20 $pCad25 $pCad30 $pCad35 $pCad40 $pCad45 $pCad50 $pCad55 $pCad60 $pCad90 $pCad99 |            |";
+$answeredCUM_ANS_PERCENT = "$ApCad_0 $ApCad_5 $ApCad10 $ApCad15 $ApCad20 $ApCad25 $ApCad30 $ApCad35 $ApCad40 $ApCad45 $ApCad50 $ApCad55 $ApCad60 $ApCad90 $ApCad99 |            |";
+echo "INTERVAL  | $answeredTOTALs\n";
+echo "INT %     | $answeredINT_PERCENT\n";
+echo "CUMULATIVE| $answeredCUMULATIVE\n";
+echo "CUM %     | $answeredCUM_PERCENT\n";
+echo "CUM ANS % | $answeredCUM_ANS_PERCENT\n";
+echo "----------+-------------------------------------------------------------------------------------------+------------+\n";
+
+
+
+
+
+##############################
+#########  CALL HANGUP REASON STATS
+
+$TOTALcalls = 0;
+
+echo "\n";
+echo "---------- CALL HANGUP REASON STATS\n";
+echo "+----------------------+------------+\n";
+echo "| HANGUP REASON        | CALLS      |\n";
+echo "+----------------------+------------+\n";
+
+$stmt="select count(*),term_reason from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) group by term_reason;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$reasons_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $reasons_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTALcalls = ($TOTALcalls + $row[0]);
+
+	$REASONcount =	sprintf("%10s", $row[0]);while(strlen($REASONcount)>10) {$REASONcount = substr("$REASONcount", 0, -1);}
+	$reason =	sprintf("%-20s", $row[1]);while(strlen($reason)>20) {$reason = substr("$reason", 0, -1);}
+#	if (ereg("NONE",$reason)) {$reason = 'NO ANSWER           ';}
+
+	echo "| $reason | $REASONcount |\n";
+
+	$i++;
+	}
+
+$TOTALcalls =		sprintf("%10s", $TOTALcalls);
+
+echo "+----------------------+------------+\n";
+echo "| TOTAL:               | $TOTALcalls |\n";
+echo "+----------------------+------------+\n";
+
+
+
+
+##############################
+#########  CALL STATUS STATS
+
+$TOTALcalls = 0;
+
+echo "\n";
+echo "---------- CALL STATUS STATS\n";
+echo "+--------+----------------------+----------------------+------------+------------+----------+----------+\n";
+echo "| STATUS | DESCRIZIONE          | CATEGORY             | CALLS      | TOTAL TIME | AVG TIME |CALLS/HOUR|\n";
+echo "+--------+----------------------+----------------------+------------+------------+----------+----------+\n";
+
+
+## get counts and time totals for all statuses in this campaign
+$stmt="select count(*),status,sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) group by status;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$statuses_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $statuses_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$STATUScount =	$row[0];
+	$RAWstatus =	$row[1];
+	$r=0;  $foundstat=0;
+	while ($r < $statcats_to_print)
+		{
+		if ( ($statcat_list[$RAWstatus] == "$vsc_id[$r]") and ($foundstat < 1) )
+			{
+			$vsc_count[$r] = ($vsc_count[$r] + $STATUScount);
+			}
+		$r++;
+		}
+
+	$TOTALcalls =	($TOTALcalls + $row[0]);
+	if ( ($STATUScount < 1) or ($TOTALsec < 1) )
+		{$STATUSrate = 0;}
+	else
+		{$STATUSrate =	($STATUScount / ($TOTALsec / 3600) );}
+	$STATUSrate =	sprintf("%.2f", $STATUSrate);
+
+	$STATUShours_H =	($row[2] / 3600);
+	$STATUShours_H_int = round($STATUShours_H, 2);
+	$STATUShours_H_int = intval("$STATUShours_H_int");
+	$STATUShours_M = ($STATUShours_H - $STATUShours_H_int);
+	$STATUShours_M = ($STATUShours_M * 60);
+	$STATUShours_M_int = round($STATUShours_M, 2);
+	$STATUShours_M_int = intval("$STATUShours_M_int");
+	$STATUShours_S = ($STATUShours_M - $STATUShours_M_int);
+	$STATUShours_S = ($STATUShours_S * 60);
+	$STATUShours_S = round($STATUShours_S, 0);
+	if ($STATUShours_S < 10) {$STATUShours_S = "0$STATUShours_S";}
+	if ($STATUShours_M_int < 10) {$STATUShours_M_int = "0$STATUShours_M_int";}
+	$STATUShours = "$STATUShours_H_int:$STATUShours_M_int:$STATUShours_S";
+
+	$STATUSavg_H =	(($row[2] / 3600) / $STATUScount);
+	$STATUSavg_H_int = round($STATUSavg_H, 2);
+	$STATUSavg_H_int = intval("$STATUSavg_H_int");
+	$STATUSavg_M = ($STATUSavg_H - $STATUSavg_H_int);
+	$STATUSavg_M = ($STATUSavg_M * 60);
+	$STATUSavg_M_int = round($STATUSavg_M, 2);
+	$STATUSavg_M_int = intval("$STATUSavg_M_int");
+	$STATUSavg_S = ($STATUSavg_M - $STATUSavg_M_int);
+	$STATUSavg_S = ($STATUSavg_S * 60);
+	$STATUSavg_S = round($STATUSavg_S, 0);
+	if ($STATUSavg_S < 10) {$STATUSavg_S = "0$STATUSavg_S";}
+	if ($STATUSavg_M_int < 10) {$STATUSavg_M_int = "0$STATUSavg_M_int";}
+	$STATUSavg = "$STATUSavg_H_int:$STATUSavg_M_int:$STATUSavg_S";
+
+	$STATUScount =	sprintf("%10s", $row[0]);while(strlen($STATUScount)>10) {$STATUScount = substr("$STATUScount", 0, -1);}
+	$status =	sprintf("%-6s", $row[1]);while(strlen($status)>6) {$status = substr("$status", 0, -1);}
+	$STATUShours =	sprintf("%10s", $STATUShours);while(strlen($STATUShours)>10) {$STATUShours = substr("$STATUShours", 0, -1);}
+	$STATUSavg =	sprintf("%8s", $STATUSavg);while(strlen($STATUSavg)>8) {$STATUSavg = substr("$STATUSavg", 0, -1);}
+	$STATUSrate =	sprintf("%8s", $STATUSrate);while(strlen($STATUSrate)>8) {$STATUSrate = substr("$STATUSrate", 0, -1);}
+
+	if ($non_latin < 1)
+		{
+		$status_name =	sprintf("%-20s", $statname_list[$RAWstatus]); 
+		while(strlen($status_name)>20) {$status_name = substr("$status_name", 0, -1);}	
+		$statcat =	sprintf("%-20s", $statcat_list[$RAWstatus]); 
+		while(strlen($statcat)>20) {$statcat = substr("$statcat", 0, -1);}	
+		}
+	else
+		{
+		$status_name =	sprintf("%-60s", $statname_list[$RAWstatus]); 
+		while(mb_strlen($status_name,'utf-8')>20) {$status_name = mb_substr("$status_name", 0, -1,'utf-8');}	
+		$statcat =	sprintf("%-60s", $statcat_list[$RAWstatus]); 
+		while(mb_strlen($statcat,'utf-8')>20) {$statcat = mb_substr("$statcat", 0, -1,'utf-8');}	
+		}
+
+
+	echo "| $status | $status_name | $statcat | $STATUScount | $STATUShours | $STATUSavg | $STATUSrate |\n";
+
+	$i++;
+	}
+
+if ($TOTALcalls < 1)
+	{
+	$TOTALhours =	'0:00:00';
+	$TOTALavg =		'0:00:00';
+	$TOTALrate =	'0.00';
+	}
+else
+	{
+	if ( ($TOTALcalls < 1) or ($TOTALsec < 1) )
+		{$TOTALrate = 0;}
+	else
+		{$TOTALrate =	($TOTALcalls / ($TOTALsec / 3600) );}
+	$TOTALrate =	sprintf("%.2f", $TOTALrate);
+
+	$TOTALhours_H =	($TOTALsec / 3600);
+	$TOTALhours_H_int = round($TOTALhours_H, 2);
+	$TOTALhours_H_int = intval("$TOTALhours_H_int");
+	$TOTALhours_M = ($TOTALhours_H - $TOTALhours_H_int);
+	$TOTALhours_M = ($TOTALhours_M * 60);
+	$TOTALhours_M_int = round($TOTALhours_M, 2);
+	$TOTALhours_M_int = intval("$TOTALhours_M_int");
+	$TOTALhours_S = ($TOTALhours_M - $TOTALhours_M_int);
+	$TOTALhours_S = ($TOTALhours_S * 60);
+	$TOTALhours_S = round($TOTALhours_S, 0);
+	if ($TOTALhours_S < 10) {$TOTALhours_S = "0$TOTALhours_S";}
+	if ($TOTALhours_M_int < 10) {$TOTALhours_M_int = "0$TOTALhours_M_int";}
+	$TOTALhours = "$TOTALhours_H_int:$TOTALhours_M_int:$TOTALhours_S";
+
+	$TOTALavg_H =	(($TOTALsec / 3600) / $TOTALcalls);
+	$TOTALavg_H_int = round($TOTALavg_H, 2);
+	$TOTALavg_H_int = intval("$TOTALavg_H_int");
+	$TOTALavg_M = ($TOTALavg_H - $TOTALavg_H_int);
+	$TOTALavg_M = ($TOTALavg_M * 60);
+	$TOTALavg_M_int = round($TOTALavg_M, 2);
+	$TOTALavg_M_int = intval("$TOTALavg_M_int");
+	$TOTALavg_S = ($TOTALavg_M - $TOTALavg_M_int);
+	$TOTALavg_S = ($TOTALavg_S * 60);
+	$TOTALavg_S = round($TOTALavg_S, 0);
+	if ($TOTALavg_S < 10) {$TOTALavg_S = "0$TOTALavg_S";}
+	if ($TOTALavg_M_int < 10) {$TOTALavg_M_int = "0$TOTALavg_M_int";}
+	$TOTALavg = "$TOTALavg_H_int:$TOTALavg_M_int:$TOTALavg_S";
+	}
+$TOTALcalls =	sprintf("%10s", $TOTALcalls);
+$TOTALhours =	sprintf("%10s", $TOTALhours);while(strlen($TOTALhours)>10) {$TOTALhours = substr("$TOTALhours", 0, -1);}
+$TOTALavg =	sprintf("%8s", $TOTALavg);while(strlen($TOTALavg)>8) {$TOTALavg = substr("$TOTALavg", 0, -1);}
+$TOTALrate =	sprintf("%8s", $TOTALrate);while(strlen($TOTALrate)>8) {$TOTALrate = substr("$TOTALrate", 0, -1);}
+
+echo "+--------+----------------------+----------------------+------------+------------+----------+----------+\n";
+echo "| TOTAL:                                               | $TOTALcalls | $TOTALhours | $TOTALavg | $TOTALrate |\n";
+echo "+------------------------------------------------------+------------+------------+----------+----------+\n";
+
+
+##############################
+#########  STATUS CATEGORY STATS
+
+echo "\n";
+echo "---------- CUSTOM STATUS CATEGORY STATS\n";
+echo "+----------------------+------------+--------------------------------+\n";
+echo "| CATEGORY             | CALLS      | DESCRIZIONE                    |\n";
+echo "+----------------------+------------+--------------------------------+\n";
+
+$TOTCATcalls=0;
+$r=0;
+while ($r < $statcats_to_print)
+	{
+	if ($vsc_id[$r] != 'UNDEFINED')
+		{
+		$TOTCATcalls = ($TOTCATcalls + $vsc_count[$r]);
+		$category =	sprintf("%-20s", $vsc_id[$r]); while(strlen($category)>20) {$category = substr("$category", 0, -1);}
+		$CATcount =	sprintf("%10s", $vsc_count[$r]); while(strlen($CATcount)>10) {$CATcount = substr("$CATcount", 0, -1);}
+		$CATname =	sprintf("%-30s", $vsc_name[$r]); while(strlen($CATname)>30) {$CATname = substr("$CATname", 0, -1);}
+
+		echo "| $category | $CATcount | $CATname |\n";
+		}
+
+	$r++;
+	}
+
+$TOTCATcalls =	sprintf("%10s", $TOTCATcalls); while(strlen($TOTCATcalls)>10) {$TOTCATcalls = substr("$TOTCATcalls", 0, -1);}
+
+echo "+----------------------+------------+--------------------------------+\n";
+echo "| TOTAL                | $TOTCATcalls |\n";
+echo "+----------------------+------------+\n";
+
+
+##############################
+#########  USER STATS
+
+$TOTagents=0;
+$TOTcalls=0;
+$TOTtime=0;
+$TOTavg=0;
+
+echo "\n";
+echo "---------- STATISTICHE OPERATORE\n";
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| AGENT                    | CALLS      | TEMPO M   | MEDIA M |\n";
+echo "+--------------------------+------------+----------+--------+\n";
+
+$stmt="select vicidial_closer_log.user,full_name,count(*),sum(length_in_sec),avg(length_in_sec) from vicidial_closer_log,vicidial_users where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) and vicidial_closer_log.user is not null and length_in_sec is not null and length_in_sec > 0 and vicidial_closer_log.user=vicidial_users.user group by vicidial_closer_log.user;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTcalls = ($TOTcalls + $row[2]);
+	$TOTtime = ($TOTtime + $row[3]);
+
+	$user =			sprintf("%-6s", $row[0]);
+	$full_name =	sprintf("%-15s", $row[1]); while(strlen($full_name)>15) {$full_name = substr("$full_name", 0, -1);}
+	$USERcalls =	sprintf("%10s", $row[2]);
+	$USERtotTALK =	$row[3];
+	$USERavgTALK =	$row[4];
+
+	$USERtotTALK_M = ($USERtotTALK / 60);
+	$USERtotTALK_M_int = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M_int");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$USERtotTALK_MS = eregi_replace('-','',$USERtotTALK_MS);
+	$USERtotTALK_MS =		sprintf("%8s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M_int = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M_int");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$USERavgTALK_MS = eregi_replace('-','',$USERavgTALK_MS);
+	$USERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	echo "| $user - $full_name | $USERcalls | $USERtotTALK_MS | $USERavgTALK_MS |\n";
+
+	$i++;
+	}
+
+if ($TOTcalls < 1) {$TOTcalls = 0; $TOTavg=0;}
+else
+	{
+	$TOTavg = ($TOTtime / $TOTcalls);
+	$TOTavg = round($TOTavg, 0);
+	$TOTavg_M = ($TOTavg / 60);
+	$TOTavg_M_int = round($TOTavg_M, 2);
+	$TOTavg_M_int = intval("$TOTavg_M_int");
+	$TOTavg_S = ($TOTavg_M - $TOTavg_M_int);
+	$TOTavg_S = ($TOTavg_S * 60);
+	$TOTavg_S = round($TOTavg_S, 0);
+	if ($TOTavg_S < 10) {$TOTavg_S = "0$TOTavg_S";}
+	$TOTavg_MS = "$TOTavg_M_int:$TOTavg_S";
+	$TOTavg =		sprintf("%6s", $TOTavg_MS);
+	}
+
+$TOTtime_M = ($TOTtime / 60);
+$TOTtime_M_int = round($TOTtime_M, 2);
+$TOTtime_M_int = intval("$TOTtime_M_int");
+$TOTtime_S = ($TOTtime_M - $TOTtime_M_int);
+$TOTtime_S = ($TOTtime_S * 60);
+$TOTtime_S = round($TOTtime_S, 0);
+if ($TOTtime_S < 10) {$TOTtime_S = "0$TOTtime_S";}
+$TOTtime_MS = "$TOTtime_M_int:$TOTtime_S";
+$TOTtime =		sprintf("%6s", $TOTtime_MS);
+
+$TOTagents =		sprintf("%10s", $i);
+$TOTcalls =			sprintf("%10s", $TOTcalls);
+$TOTtime =			sprintf("%8s", $TOTtime);
+$TOTavg =			sprintf("%6s", $TOTavg);
+
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| TOTALE Operatori: $TOTagents | $TOTcalls | $TOTtime | $TOTavg |\n";
+echo "+--------------------------+------------+----------+--------+\n";
+
+
+##############################
+#########  TIME STATS
+
+echo "\n";
+echo "---------- STATISTICHE TEMPO\n";
+
+echo "\n";
+
+$hi_hour_count=0;
+$last_full_record=0;
+$i=0;
+$h=0;
+while ($i <= 96)
+	{
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' and campaign_id IN($group_SQL);";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' and campaign_id IN($group_SQL) and status IN('DROP','XDROP');";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' and campaign_id IN($group_SQL);";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' and campaign_id IN($group_SQL) and status IN('DROP','XDROP');";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' and campaign_id IN($group_SQL);";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' and campaign_id IN($group_SQL) and status IN('DROP','XDROP');";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' and campaign_id IN($group_SQL);";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' and campaign_id IN($group_SQL) and status IN('DROP','XDROP');";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+	$h++;
+	}
+
+if ($hi_hour_count < 1)
+	{$hour_multiplier = 0;}
+else
+	{
+	$hour_multiplier = (100 / $hi_hour_count);
+	#$hour_multiplier = round($hour_multiplier, 0);
+	}
+
+echo "\n";
+echo "GRAFICO AD INCREMENTO DI 15 MINUTI DEL TOTALE DELLE CHIAMATE TAKEN INTO THIS IN-GROUP\n";
+
+$k=1;
+$Mk=0;
+$call_scale = '0';
+while ($k <= 102) 
+	{
+	if ($Mk >= 5) 
+		{
+		$Mk=0;
+		if ( ($k < 1) or ($hour_multiplier <= 0) )
+			{$scale_num = 100;}
+		else
+			{
+			$scale_num=($k / $hour_multiplier);
+			$scale_num = round($scale_num, 0);
+			}
+		$LENscale_num = (strlen($scale_num));
+		$k = ($k + $LENscale_num);
+		$call_scale .= "$scale_num";
+		}
+	else
+		{
+		$call_scale .= " ";
+		$k++;   $Mk++;
+		}
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | DROPS | TOTAL |\n";
+echo "| HOUR |$call_scale| DROPS | TOTAL |\n";
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+$ZZ = '00';
+$i=0;
+$h=4;
+$hour= -1;
+$no_lines_yet=1;
+
+while ($i <= 96)
+	{
+	$char_counter=0;
+	$time = '      ';
+	if ($h >= 4) 
+		{
+		$hour++;
+		$h=0;
+		if ($hour < 10) {$hour = "0$hour";}
+		$time = "+$hour$ZZ+";
+		}
+	if ($h == 1) {$time = "   15 ";}
+	if ($h == 2) {$time = "   30 ";}
+	if ($h == 3) {$time = "   45 ";}
+	$Ghour_count = $hour_count[$i];
+	if ($Ghour_count < 1) 
+		{
+		if ( ($no_lines_yet) or ($i > $last_full_record) )
+			{
+			$do_nothing=1;
+			}
+		else
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			echo "|$time|";
+			$k=0;   while ($k <= 102) {echo " ";   $k++;}
+			echo "| $hour_count[$i] |\n";
+			}
+		}
+	else
+		{
+		$no_lines_yet=0;
+		$Xhour_count = ($Ghour_count * $hour_multiplier);
+		$Yhour_count = (99 - $Xhour_count);
+
+		$Gdrop_count = $drop_count[$i];
+		if ($Gdrop_count < 1) 
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "*X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 101) {echo " ";   $char_counter++;}
+			echo "| 0     | $hour_count[$i] |\n";
+
+			}
+		else
+			{
+			$Xdrop_count = ($Gdrop_count * $hour_multiplier);
+
+		#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
+
+			$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
+
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			$drop_count[$i] =	sprintf("%-5s", $drop_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
+			echo "D";   $char_counter++;
+			$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 102) {echo " ";   $char_counter++;}
+			echo "| $drop_count[$i] | $hour_count[$i] |\n";
+			}
+		}
+	
+	
+	$i++;
+	$h++;
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n\n";
+
+
+
+
+
+
+##############################
+#########  CALL ANSWERED TIME BREAKDOWN IN SECONDS
+
+$BDansweredCALLS = 0;
+
+echo "\n";
+echo "---------- CALL ANSWERED TIME BREAKDOWN IN SECONDS\n";
+echo "+------+-------------------------------------------------------------------------------------------+------------+\n";
+echo "| HOUR |     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
+echo "+------+-------------------------------------------------------------------------------------------+------------+\n";
+
+
+
+
+$ZZ = '00';
+$i=0;
+$h=4;
+$hour= -1;
+$no_lines_yet=1;
+
+while ($i <= 96)
+	{
+	$char_counter=0;
+	$time = '      ';
+	if ($h >= 4) 
+		{
+		$hour++;
+		$h=0;
+		if ($hour < 10) {$hour = "0$hour";}
+		$time = "+$hour$ZZ+";
+		$SQLtime = "$hour:$ZZ:00";
+		$SQLtimeEND = "$hour:15:00";
+		}
+	if ($h == 1) {$time = "   15 ";   $SQLtime = "$hour:15:00";   $SQLtimeEND = "$hour:30:00";}
+	if ($h == 2) {$time = "   30 ";   $SQLtime = "$hour:30:00";   $SQLtimeEND = "$hour:45:00";}
+	if ($h == 3) 
+		{
+		$time = "   45 ";
+		$SQLtime = "$hour:45:00";
+		$hourEND = ($hour + 1);
+		if ($hourEND < 10) {$hourEND = "0$hourEND";}
+		if ($hourEND > 23) {$SQLtimeEND = "23:59:59";}
+		else {$SQLtimeEND = "$hourEND:00:00";}
+		}
+
+	$ad_0=0; $ad_5=0; $ad10=0; $ad15=0; $ad20=0; $ad25=0; $ad30=0; $ad35=0;
+	$ad40=0; $ad45=0; $ad50=0; $ad55=0; $ad60=0; $ad90=0; $ad99=0; $BDansweredCALLS=0; 
+
+	$stmt="select count(*),queue_seconds from vicidial_closer_log where call_date >= '$query_date $SQLtime' and call_date < '$query_date $SQLtimeEND' and  campaign_id IN($group_SQL) and status NOT IN('DROP','XDROP','HXFER','QVMAIL','HOLDTO','LIVE','QUEUE') group by queue_seconds;";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$reasons_to_print = mysql_num_rows($rslt);
+	$j=0;
+	while ($j < $reasons_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+
+		$BDansweredCALLS = ($BDansweredCALLS + $row[0]);
+
+		if ($row[1] == 0) {$ad_0 = ($ad_0 + $row[0]);}
+		if ( ($row[1] > 0) and ($row{1} <= 5) ) {$ad_5 = ($ad_5 + $row[0]);}
+		if ( ($row[1] > 5) and ($row{1} <= 10) ) {$ad10 = ($ad10 + $row[0]);}
+		if ( ($row[1] > 10) and ($row{1} <= 15) ) {$ad15 = ($ad15 + $row[0]);}
+		if ( ($row[1] > 15) and ($row{1} <= 20) ) {$ad20 = ($ad20 + $row[0]);}
+		if ( ($row[1] > 20) and ($row{1} <= 25) ) {$ad25 = ($ad25 + $row[0]);}
+		if ( ($row[1] > 25) and ($row{1} <= 30) ) {$ad30 = ($ad30 + $row[0]);}
+		if ( ($row[1] > 30) and ($row{1} <= 35) ) {$ad35 = ($ad35 + $row[0]);}
+		if ( ($row[1] > 35) and ($row{1} <= 40) ) {$ad40 = ($ad40 + $row[0]);}
+		if ( ($row[1] > 40) and ($row{1} <= 45) ) {$ad45 = ($ad45 + $row[0]);}
+		if ( ($row[1] > 45) and ($row{1} <= 50) ) {$ad50 = ($ad50 + $row[0]);}
+		if ( ($row[1] > 50) and ($row{1} <= 55) ) {$ad55 = ($ad55 + $row[0]);}
+		if ( ($row[1] > 55) and ($row{1} <= 60) ) {$ad60 = ($ad60 + $row[0]);}
+		if ( ($row[1] > 60) and ($row{1} <= 90) ) {$ad90 = ($ad90 + $row[0]);}
+		if ($row[1] > 90) {$ad99 = ($ad99 + $row[0]);}
+		$j++;
+		}
+
+	$ad_0 =	sprintf("%5s", $ad_0);
+	$ad_5 =	sprintf("%5s", $ad_5);
+	$ad10 =	sprintf("%5s", $ad10);
+	$ad15 =	sprintf("%5s", $ad15);
+	$ad20 =	sprintf("%5s", $ad20);
+	$ad25 =	sprintf("%5s", $ad25);
+	$ad30 =	sprintf("%5s", $ad30);
+	$ad35 =	sprintf("%5s", $ad35);
+	$ad40 =	sprintf("%5s", $ad40);
+	$ad45 =	sprintf("%5s", $ad45);
+	$ad50 =	sprintf("%5s", $ad50);
+	$ad55 =	sprintf("%5s", $ad55);
+	$ad60 =	sprintf("%5s", $ad60);
+	$ad90 =	sprintf("%5s", $ad90);
+	$ad99 =	sprintf("%5s", $ad99);
+
+	$BDansweredCALLS =		sprintf("%10s", $BDansweredCALLS);
+
+	echo "|$time| $ad_0 $ad_5 $ad10 $ad15 $ad20 $ad25 $ad30 $ad35 $ad40 $ad45 $ad50 $ad55 $ad60 $ad90 $ad99 | $BDansweredCALLS |\n";
+
+
+	$i++;
+	$h++;
+	}
+
+echo "+------+-------------------------------------------------------------------------------------------+------------+\n";
+echo "|TOTALI| $answeredTOTALs\n";
+echo "+------+-------------------------------------------------------------------------------------------+------------+\n";
+
+
+$ENDtime = date("U");
+$RUNtime = ($ENDtime - $STARTtime);
+echo "\nRun Time: $RUNtime seconds\n";
+}
+
+
+
+?>
+
+ + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_IVRstats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_IVRstats.php new file mode 100644 index 00000000..3a5fe5a2 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_IVRstats.php @@ -0,0 +1,675 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 81026-2026 - First build +# 81107-0341 - Added time range and option and 15-minute increment graph +# 81107-1148 - Added average times and totals +# 81108-0922 - Added no-callerID and unique caller counts +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +if (strlen($shift)<2) {$shift='ALL';} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = "$NOW_DATE 00:00:00";} +if (!isset($end_date)) {$end_date = "$NOW_DATE 23:23:59";} + +$stmt="select group_id from vicidial_inbound_groups;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; + $LISTgroups[$i]='---NONE---'; + $i++; + $groups_to_print++; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTgroups[$i] =$row[0]; + $i++; + } + +$i=0; +$group_string='|'; +$group_ct = count($group); +while($i < $group_ct) + { + $group_string .= "$group[$i]|"; + $group_SQL .= "'$group[$i]',"; + $groupQS .= "&group[]=$group[$i]"; + $i++; + } +if ( (ereg("--NONE--",$group_string) ) or ($group_ct < 1) ) + { + $group_SQL = "''"; +# $group_SQL = "group_id IN('')"; + } +else + { + $group_SQL = eregi_replace(",$",'',$group_SQL); +# $group_SQL = "group_id IN($group_SQL)"; + } + + +$stmt="select vsc_id,vsc_name from vicidial_status_categories;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$statcats_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $statcats_to_print) + { + $row=mysql_fetch_row($rslt); + $vsc_id[$i] = $row[0]; + $vsc_name[$i] = $row[1]; + $vsc_count[$i] = 0; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: IVR Stats\n"; +if ($DB > 0) + { + echo "
\n"; + echo "$group_ct|$group_string|$group_SQL\n"; + echo "
\n"; + echo "$shift|$query_date|$end_date\n"; + echo "
\n"; + } + +echo "
\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "Date Range:
\n"; +echo "\n"; +echo " to \n"; +echo "
\n"; +echo "Inbound Groups: \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           "; +echo "MODIFY | "; +echo "REPORTS | "; +echo "CLOSER REPORT \n"; +echo "\n"; + +echo "
\n"; + +#echo "\n"; +echo "Shift: \n"; +echo "   \n"; +echo "
\n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if ($groups_to_print < 1)
+{
+echo "\n\n";
+echo "PLEASE SELECT AN IN-GROUP AND DATE RANGE ABOVE AND CLICK SUBMIT\n";
+}
+
+else
+{
+
+
+echo "VICIDIAL: IVR Stats: $group_string          $NOW_TIME\n";
+
+
+
+
+
+
+$TOTALcalls=0;
+$NOCALLERIDcalls=0;
+$UNIQUEcallers=0;
+$totFLOWivr_time=0;
+$totFLOWtotal_time=0;
+
+##### Grab all records for the IVR for the specified time period
+$stmt="select uniqueid,extension,start_time,comment_a,comment_b,comment_d,UNIX_TIMESTAMP(start_time),phone_ext from live_inbound_log where start_time >= '$query_date_BEGIN' and start_time <= '$query_date_END' and comment_a IN($group_SQL) order by uniqueid,start_time;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$logs_to_print = mysql_num_rows($rslt);
+$p=0;
+while ($p < $logs_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$uniqueid[$p] =		$row[0];
+	$extension[$p] =	$row[1];
+	$start_time[$p] =	$row[2];
+	$comment_a[$p] =	$row[3];
+	$comment_b[$p] =	$row[4];
+	$comment_d[$p] =	$row[5];
+	$epoch[$p] =		$row[6];
+	$phone_ext[$p] =	$row[7];
+	$p++;
+	}
+
+### create the call flow of all calls by uniqueid
+$last_uniqueid='';
+$first_epoch='';
+$last_epoch='';
+$p=0;
+$r=-1;
+while ($p < $logs_to_print)
+	{
+	if ($DB > 0) {echo "$p|$uniqueid[$p]|$comment_b[$p]";}
+	if ($last_uniqueid === "$uniqueid[$p]")
+		{
+		$unique_calls[$r] .= "----------$comment_b[$p]";
+		if ($DB > 0) {echo "   $r|$unique_calls[$r]\n";}
+		$last_epoch[$r]=$epoch[$p];
+		}
+	else
+		{
+		$r++;
+		$caller_id[$r]=$phone_ext[$p];
+		if (strlen($phone_ext[$p])<2)
+			{$NOCALLERIDcalls++;}
+		else
+			{
+			if (!ereg("_$phone_ext[$p]_",$unique_callerIDs))
+				{
+				$unique_callerIDs .= "_$phone_ext[$p]_";
+				$UNIQUEcallers++;
+				}
+			}
+		$first_epoch[$r]=$epoch[$p];
+		$last_epoch[$r]=$epoch[$p];
+		$unique_calls[$r] = $comment_b[$p];
+		$FLOWuniqueid[$r] = "$uniqueid[$p]";
+		$last_uniqueid = "$uniqueid[$p]";
+		if ($DB > 0) {echo "   $r|$unique_calls[$r]\n";}
+		}
+	$p++;
+	}
+
+### sort call flows for counting
+$RAWunique_calls = $unique_calls;
+if ($logs_to_print > 0)
+	{sort($unique_calls);}
+
+
+### count each unique call flow
+$last_Suniqueid='';
+$p=-1;
+$s=0;
+while ($s <= $r)
+	{
+	if ($DB > 0) {echo "$s|$unique_calls[$s]\n";}
+	if ($last_Suniqueid === "$unique_calls[$s]")
+		{
+		$STunique_calls_count[$p]++;
+		}
+	else
+		{
+		$p++;
+		$STunique_calls[$p] = $unique_calls[$s];
+		$last_Suniqueid = "$unique_calls[$s]";
+		$STunique_calls_count[$p]=1;
+		}
+	$s++;
+	}
+
+
+### put call flows and counts together for sorting again
+$TOTALcalls=0;
+$s=0;
+while ($s <= $p)
+	{
+	$TOTALcalls = ($TOTALcalls + $STunique_calls_count[$s]);
+	$STunique_calls_count[$s] = sprintf("%07s", $STunique_calls_count[$s]);
+	$FLOWunique_calls[$s] = "$STunique_calls_count[$s]__________$STunique_calls[$s]";
+	$s++;
+	}
+
+#### PRINT TOTAL CALLS INTO THIS IVR
+echo "\n";
+echo "Calls taken into this IVR:   $TOTALcalls\n";
+echo "Calls with no CallerID:      $NOCALLERIDcalls\n";
+echo "Unique Callers:              $UNIQUEcallers\n";
+echo "\n";
+
+### sort call flows for counting
+if ($p > 0)
+	{rsort($FLOWunique_calls);}
+
+
+### put call flows and counts together for sorting again
+$RUC_ct = count($RAWunique_calls);
+$s=0;
+while ($s <= $p)
+	{
+	$FLOWsummary = explode('__________',$FLOWunique_calls[$s]);
+	$FLOWsummary[0] = ($FLOWsummary[0] + 0);
+
+	$t=0;
+	while ($t < $RUC_ct)
+		{
+		if ($FLOWsummary[1] === "$RAWunique_calls[$t]")
+			{
+			$FLOWunique_calls_list[$s] .= "'$FLOWuniqueid[$t]',";
+			if ($last_epoch[$t] <= $first_epoch[$t]) {$last_epoch[$t] = ($first_epoch[$t] + 5);}
+			else {$last_epoch[$t] = ($last_epoch[$t] + 10);}
+			$FLOWivr_time[$s] = ($FLOWivr_time[$s] + ($last_epoch[$t] - $first_epoch[$t]));
+			}
+		$t++;
+		}
+
+	$s++;
+	}
+
+
+### put call flows and counts together for sorting again
+$s=0;
+
+echo "+--------+--------+--------+--------+------+------+\n";
+echo "|        |        | QUEUE  | QUEUE  | IVR  | TOTAL|\n";
+echo "| IVR    | QUEUE  | DROP   | DROP   | AVG  | AVG  |\n";
+echo "| CALLS  | CALLS  | CALLS  | PERCENT| TIME | TIME | CALL PATH\n";
+echo "+--------+--------+--------+--------+------+------+------------\n";
+
+while ($s <= $p)
+	{
+	$vcl_statuses = $MT;
+	$FLOWdrop[$s]=0;
+	$FLOWtotal[$s]=0;
+	$FLOWdropPCT[$s]=0;
+	$FLOWsummary = explode('__________',$FLOWunique_calls[$s]);
+	$FLOWsummary[0] = ($FLOWsummary[0] + 0);
+
+	$FLOWunique_calls_list[$s] = preg_replace("/,$/","",$FLOWunique_calls_list[$s]);
+
+
+	##### Grab all records for the IVR for the specified time period
+	$stmt="select status,length_in_sec from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id IN($group_SQL) and uniqueid IN($FLOWunique_calls_list[$s]);";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$vcl_statuses_to_print = mysql_num_rows($rslt);
+	$w=0;
+	while ($w < $vcl_statuses_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+		$vcl_statuses[$w] =		$row[0];
+		if ( (ereg("DROP",$vcl_statuses[$w])) or (ereg("XDROP",$vcl_statuses[$w])) )
+			{$FLOWdrop[$s]++;}
+		$FLOWclose_time[$s] = ($FLOWclose_time[$s] + $row[1]);
+		$FLOWtotal[$s]++;
+		$w++;
+		}
+	if ( ($FLOWtotal[$s] > 0) and ($FLOWdrop[$s] > 0) )
+		{
+		$FLOWdropPCT[$s] = ( ($FLOWdrop[$s] / $FLOWtotal[$s]) * 100);
+		$FLOWdropPCT[$s] = round($FLOWdropPCT[$s], 2);
+		}
+	$FLOWsummary[0] =	sprintf("%6s", $FLOWsummary[0]);
+	$FLOWtotal[$s] =	sprintf("%6s", $FLOWtotal[$s]);
+	$FLOWdrop[$s] =		sprintf("%6s", $FLOWdrop[$s]);
+	$FLOWdropPCT[$s] =	sprintf("%6s", $FLOWdropPCT[$s]);
+	$FLOWsummary[1] = ereg_replace('----------',' / ',$FLOWsummary[1]);
+	$FLOWtotal_time[$s] = ($FLOWivr_time[$s] + $FLOWclose_time[$s]);
+
+	$avgFLOWivr_time[$s] = ($FLOWivr_time[$s] / $FLOWsummary[0]);
+	$avgFLOWivr_time[$s] = round($avgFLOWivr_time[$s], 0);
+	$avgFLOWivr_time[$s] = sprintf("%4s", $avgFLOWivr_time[$s]);
+	$avgFLOWtotal_time[$s] = ($FLOWtotal_time[$s] / $FLOWsummary[0]);
+	$avgFLOWtotal_time[$s] = round($avgFLOWtotal_time[$s], 0);
+	$avgFLOWtotal_time[$s] = sprintf("%4s", $avgFLOWtotal_time[$s]);
+
+	$totFLOWtotal_time = ($totFLOWtotal_time + $FLOWtotal_time[$s]);
+	$totFLOWivr_time = ($totFLOWivr_time + $FLOWivr_time[$s]);
+	$totFLOWtotal = ($totFLOWtotal + $FLOWtotal[$s]);
+	$totFLOWdrop = ($totFLOWdrop + $FLOWdrop[$s]);
+
+	echo "| $FLOWsummary[0] | $FLOWtotal[$s] | $FLOWdrop[$s] | $FLOWdropPCT[$s]%| $avgFLOWivr_time[$s] | $avgFLOWtotal_time[$s] | $FLOWsummary[1]\n";
+
+	$s++;
+	}
+$TOTALcalls = sprintf("%6s", $TOTALcalls);
+$totFLOWtotal = sprintf("%6s", $totFLOWtotal);
+$totFLOWdrop = sprintf("%6s", $totFLOWdrop);
+if ( ($totFLOWivr_time > 0) and ($TOTALcalls > 0) )
+	{$TavgFLOWivr_time = ($totFLOWivr_time / $TOTALcalls);}
+$TavgFLOWivr_time = round($TavgFLOWivr_time, 0);
+$TavgFLOWivr_time = sprintf("%4s", $TavgFLOWivr_time);
+if ( ($totFLOWtotal_time > 0) and ($TOTALcalls > 0) )
+	{$TavgFLOWtotal_time = ($totFLOWtotal_time / $TOTALcalls);}
+$TavgFLOWtotal_time = round($TavgFLOWtotal_time, 0);
+$TavgFLOWtotal_time = sprintf("%4s", $TavgFLOWtotal_time);
+if ( ($totFLOWtotal < 1) or ($totFLOWdrop < 1) )
+	{$totFLOWdropPCT = '0';}
+else
+	{
+	$totFLOWdropPCT = (($totFLOWdrop / $totFLOWtotal) * 100);
+	$totFLOWdropPCT = round($totFLOWdropPCT, 0);
+	}
+$totFLOWdropPCT = sprintf("%5s", $totFLOWdropPCT);
+
+echo "+--------+--------+--------+--------+------+------+------------\n";
+echo "| $TOTALcalls | $totFLOWtotal | $totFLOWdrop | $totFLOWdropPCT% | $TavgFLOWivr_time | $TavgFLOWtotal_time |\n";
+echo "+--------+--------+--------+--------+------+------+\n";
+
+
+
+
+
+
+
+
+
+
+
+
+
+##############################
+#########  TIME STATS
+
+echo "\n";
+echo "---------- TIME STATS\n";
+
+echo "\n";
+
+$hi_hour_count=0;
+$last_full_record=0;
+$i=0;
+$h=0;
+while ($i <= 96)
+	{
+	$stmt="select count(*) from live_inbound_log where start_time >= '$query_date $h:00:00' and start_time <= '$query_date $h:14:59' and comment_a IN($group_SQL) and comment_b='START';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$i++;
+
+
+	$stmt="select count(*) from live_inbound_log where start_time >= '$query_date $h:15:00' and start_time <= '$query_date $h:29:59' and comment_a IN($group_SQL) and comment_b='START';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$i++;
+
+	$stmt="select count(*) from live_inbound_log where start_time >= '$query_date $h:30:00' and start_time <= '$query_date $h:44:59' and comment_a IN($group_SQL) and comment_b='START';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$i++;
+
+	$stmt="select count(*) from live_inbound_log where start_time >= '$query_date $h:45:00' and start_time <= '$query_date $h:59:59' and comment_a IN($group_SQL) and comment_b='START';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$i++;
+	$h++;
+	}
+
+if ($hi_hour_count < 1)
+	{$hour_multiplier = 0;}
+else
+	{
+	$hour_multiplier = (100 / $hi_hour_count);
+	#$hour_multiplier = round($hour_multiplier, 0);
+	}
+
+echo "\n";
+echo "GRAPH IN 15 MINUTE INCREMENTS OF TOTAL CALLS TAKEN INTO THIS IVR\n";
+
+$k=1;
+$Mk=0;
+$call_scale = '0';
+while ($k <= 102) 
+	{
+	if ($Mk >= 5) 
+		{
+		$Mk=0;
+		if ( ($k < 1) or ($hour_multiplier <= 0) )
+			{$scale_num = 100;}
+		else
+			{
+			$scale_num=($k / $hour_multiplier);
+			$scale_num = round($scale_num, 0);
+			}
+		$LENscale_num = (strlen($scale_num));
+		$k = ($k + $LENscale_num);
+		$call_scale .= "$scale_num";
+		}
+	else
+		{
+		$call_scale .= " ";
+		$k++;   $Mk++;
+		}
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+\n";
+#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | TOTAL |\n";
+echo "| HOUR |$call_scale| TOTAL |\n";
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+\n";
+
+$ZZ = '00';
+$i=0;
+$h=4;
+$hour= -1;
+$no_lines_yet=1;
+
+while ($i <= 96)
+	{
+	$char_counter=0;
+	$time = '      ';
+	if ($h >= 4) 
+		{
+		$hour++;
+		$h=0;
+		if ($hour < 10) {$hour = "0$hour";}
+		$time = "+$hour$ZZ+";
+		}
+	if ($h == 1) {$time = "   15 ";}
+	if ($h == 2) {$time = "   30 ";}
+	if ($h == 3) {$time = "   45 ";}
+	$Ghour_count = $hour_count[$i];
+	if ($Ghour_count < 1) 
+		{
+		if ( ($no_lines_yet) or ($i > $last_full_record) )
+			{
+			$do_nothing=1;
+			}
+		else
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			echo "|$time|";
+			$k=0;   while ($k <= 102) {echo " ";   $k++;}
+			echo "| $hour_count[$i] |\n";
+			}
+		}
+	else
+		{
+		$no_lines_yet=0;
+		$Xhour_count = ($Ghour_count * $hour_multiplier);
+		$Yhour_count = (99 - $Xhour_count);
+
+		$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+
+		echo "|$time|";
+		$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
+		echo "*X";   $char_counter++;
+		$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+			while ($char_counter <= 101) {echo " ";   $char_counter++;}
+		echo "| $hour_count[$i] |\n";
+		}
+	
+	
+	$i++;
+	$h++;
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+\n\n";
+
+
+
+
+
+
+
+
+
+
+$ENDtime = date("U");
+$RUNtime = ($ENDtime - $STARTtime);
+echo "\nRun Time: $RUNtime seconds\n";
+}
+
+
+
+?>
+
+ + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_VDADstats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_VDADstats.php new file mode 100644 index 00000000..66d134fb --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_VDADstats.php @@ -0,0 +1,958 @@ + LICENSE: AGPLv2 +# +# CHANGES +# 60619-1718 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 61215-1139 - Added drop percentage of answered and round-2 decimal +# 71008-1436 - Added shift to be defined in dbconnect.php +# 71218-1155 - Added end_date for multi-day reports +# 80430-1920 - Added Customer hangup cause stats +# 80620-0031 - Fixed human answered calculation for drop perfentage +# 80709-0230 - Added time stats to call statuses +# 80717-2118 - Added calls/hour out of agent login time in status summary +# 80722-2049 - Added Status Category stats +# 81109-2341 - Added Productivity Rating +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["agent_hours"])) {$agent_hours=$_GET["agent_hours"];} + elseif (isset($_POST["agent_hours"])) {$agent_hours=$_POST["agent_hours"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +if (strlen($shift)<2) {$shift='ALL';} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} + +$stmt="select campaign_id from vicidial_campaigns;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + +$stmt="select vsc_id,vsc_name from vicidial_status_categories;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$statcats_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $statcats_to_print) + { + $row=mysql_fetch_row($rslt); + $vsc_id[$i] = $row[0]; + $vsc_name[$i] = $row[1]; + $vsc_count[$i] = 0; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: VDAD Stats\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo " to \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFICA | REPORT \n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "PER FAVORE SELEZIONA UNA CAMPAGNA E UNA DATA, POI PREMI INVIA\n";
+}
+
+else
+{
+if ($shift == 'AM') 
+	{
+	$time_BEGIN=$AM_shift_BEGIN;
+	$time_END=$AM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
+	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
+	}
+if ($shift == 'PM') 
+	{
+	$time_BEGIN=$PM_shift_BEGIN;
+	$time_END=$PM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
+	}
+if ($shift == 'ALL') 
+	{
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
+	}
+$query_date_BEGIN = "$query_date $time_BEGIN";   
+$query_date_END = "$end_date $time_END";
+
+
+
+echo "VICIDIAL: Statistiche Auto-Dial                             $NOW_TIME\n";
+
+echo "\n";
+echo "Intervallo Di Tempo: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- TOTALI\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+$TOTALsec =		$row[1];
+if ( ($row[0] < 1) or ($TOTALsec < 1) )
+	{$average_hold_seconds = '         0';}
+else
+	{
+	$average_hold_seconds = ($TOTALsec / $row[0]);
+	$average_hold_seconds = round($average_hold_seconds, 2);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+echo "Totale Chiamate Effettuate Per Questa Campagna: $TOTALcalls\n";
+echo "Durata Media per Tutte Le Chiamate In Secondi: $average_hold_seconds\n";
+
+
+echo "\n";
+echo "---------- ABBATTUTE\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP' and (length_in_sec <= 60 or length_in_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$DROPcalls =	sprintf("%10s", $row[0]);
+$DROPcallsRAW =	$row[0];
+$DROPseconds =	$row[1];
+
+
+# GET LIST OF ALL STATUSES and create SQL from human_answered statuses
+$q=0;
+$stmt = "SELECT status,status_name,human_answered,category from vicidial_statuses;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$statuses_to_print = mysql_num_rows($rslt);
+$p=0;
+while ($p < $statuses_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$status[$q] =			$row[0];
+	$status_name[$q] =		$row[1];
+	$human_answered[$q] =	$row[2];
+	$category[$q] =			$row[3];
+	$statname_list["$status[$q]"] = "$status_name[$q]";
+	$statcat_list["$status[$q]"] = "$category[$q]";
+	if ($human_answered[$q]=='Y')
+		{$camp_ANS_STAT_SQL .=	 "'$row[0]',";}
+	$q++;
+	$p++;
+	}
+$stmt = "SELECT status,status_name,human_answered,category from vicidial_campaign_statuses where campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$statuses_to_print = mysql_num_rows($rslt);
+$p=0;
+while ($p < $statuses_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$status[$q] =			$row[0];
+	$status_name[$q] =		$row[1];
+	$human_answered[$q] =	$row[2];
+	$category[$q] =			$row[3];
+	$statname_list["$status[$q]"] = "$status_name[$q]";
+	$statcat_list["$status[$q]"] = "$category[$q]";
+	if ($human_answered[$q]=='Y')
+		{$camp_ANS_STAT_SQL .=	 "'$row[0]',";}
+	$q++;
+	$p++;
+	}
+$camp_ANS_STAT_SQL = eregi_replace(",$",'',$camp_ANS_STAT_SQL);
+
+
+$stmt="select count(*) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status IN($camp_ANS_STAT_SQL);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$ANSWERcalls =	$row[0];
+
+if ( ($DROPcalls < 1) or ($TOTALcalls < 1) )
+	{$DROPpercent = '0';}
+else
+	{
+	$DROPpercent = (($DROPcallsRAW / $TOTALcalls) * 100);
+	$DROPpercent = round($DROPpercent, 2);
+	}
+
+if ( ($DROPcalls < 1) or ($ANSWERcalls < 1) )
+	{$DROPANSWERpercent = '0';}
+else
+	{
+	$DROPANSWERpercent = (($DROPcallsRAW / $ANSWERcalls) * 100);
+	$DROPANSWERpercent = round($DROPANSWERpercent, 2);
+	}
+
+if ( ($DROPseconds < 1) or ($DROPcallsRAW < 1) )
+	{$average_hold_seconds = '         0';}
+else
+	{
+	$average_hold_seconds = ($DROPseconds / $DROPcallsRAW);
+	$average_hold_seconds = round($average_hold_seconds, 2);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+
+echo "Totale Chiamate ABBATTUTE: $DROPcalls  $DROPpercent%\n";
+echo "Percentuale Di Chiamate ABBATTUTE Su Chiamate Con Risposta:   $DROPcalls / $ANSWERcalls  $DROPANSWERpercent%\n";
+echo "Durata Media Chiamate ABBATTUTE in secondi:    $average_hold_seconds\n";
+
+
+
+
+
+$stmt = "select closer_campaigns from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+	$row=mysql_fetch_row($rslt);
+	$closer_campaigns = $row[0];
+	$closer_campaigns = preg_replace("/^ | -$/","",$closer_campaigns);
+	$closer_campaigns = preg_replace("/ /","','",$closer_campaigns);
+	$closer_campaignsSQL = "'$closer_campaigns'";
+if ($DB > 0) {echo "\n|$closer_campaigns|$closer_campaignsSQL|$stmt|\n";}
+
+$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($closer_campaignsSQL) and status NOT IN('DROP','XDROP','HXFER','QVMAIL','HOLDTO','LIVE','QUEUE');";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$TOTALanswers = ($row[0] + $ANSWERcalls);
+
+
+$stmt = "SELECT sum(wait_sec + talk_sec + dispo_sec) from vicidial_agent_log where campaign_id='" . mysql_real_escape_string($group) . "' and event_time >= '$query_date_BEGIN' and event_time <= '$query_date_END';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$agent_non_pause_sec = $row[0];
+
+if ($agent_non_pause_sec > 0)
+	{
+	$AVG_ANSWERagent_non_pause_sec = (($TOTALanswers / $agent_non_pause_sec) * 60);
+	$AVG_ANSWERagent_non_pause_sec = round($AVG_ANSWERagent_non_pause_sec, 2);
+	}
+else
+	{$AVG_ANSWERagent_non_pause_sec=0;}
+$AVG_ANSWERagent_non_pause_sec = sprintf("%10s", $AVG_ANSWERagent_non_pause_sec);
+
+echo "Productivity Rating:                          $AVG_ANSWERagent_non_pause_sec\n";
+
+
+
+
+echo "\n";
+echo "---------- NESSUNA RISPOSTA AUTO-DIAL\n";
+
+$stmt="select count(*),sum(length_in_sec) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status IN('NA','B') and (length_in_sec <= 60 or length_in_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$NAcalls =	sprintf("%10s", $row[0]);
+if ( ($NAcalls < 1) or ($TOTALcalls < 1) )
+	{$NApercent = '0';}
+else
+	{
+	$NApercent = (($NAcalls / $TOTALcalls) * 100);
+	$NApercent = round($NApercent, 2);
+	}
+
+if ( ($row[0] < 1) or ($row[1] < 1) )
+	{$average_na_seconds = '         0';}
+else
+	{
+	$average_na_seconds = ($row[1] / $row[0]);
+	$average_na_seconds = round($average_na_seconds, 2);
+	$average_na_seconds =	sprintf("%10s", $average_na_seconds);
+	}
+
+echo "Totale Chiamate Senza Risposta - occupato, disconnesso, fuori posto...: $NAcalls  $NApercent%\n";
+echo "Durata Media Chiamate Senza Risposta in secondi:       $average_na_seconds\n";
+
+
+##############################
+#########  CALL HANGUP REASON STATS
+
+$TOTALcalls = 0;
+
+echo "\n";
+echo "---------- CALL HANGUP REASON STATS\n";
+echo "+----------------------+------------+\n";
+echo "| HANGUP REASON        | CALLS      |\n";
+echo "+----------------------+------------+\n";
+
+$stmt="select count(*),term_reason from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' group by term_reason;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$reasons_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $reasons_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTALcalls = ($TOTALcalls + $row[0]);
+
+	$REASONcount =	sprintf("%10s", $row[0]);while(strlen($REASONcount)>10) {$REASONcount = substr("$REASONcount", 0, -1);}
+	$reason =	sprintf("%-20s", $row[1]);while(strlen($reason)>20) {$reason = substr("$reason", 0, -1);}
+	if (ereg("NONE",$reason))	{$reason = 'NO ANSWER           ';}
+	if (ereg("CALLER",$reason)) {$reason = 'CUSTOMER            ';}
+
+	echo "| $reason | $REASONcount |\n";
+
+	$i++;
+	}
+
+$TOTALcalls =		sprintf("%10s", $TOTALcalls);
+
+echo "+----------------------+------------+\n";
+echo "| TOTAL:               | $TOTALcalls |\n";
+echo "+----------------------+------------+\n";
+
+
+
+
+
+##############################
+#########  CALL STATUS STATS
+
+$TOTALcalls = 0;
+
+echo "\n";
+echo "---------- CALL STATUS STATS\n";
+echo "+--------+----------------------+----------------------+------------+----------------------------------+----------+\n";
+echo "|        |                      |                      |            |      CALL TIME                   |AGENT TIME|\n";
+echo "| STATUS | DESCRIZIONE          | CATEGORY             | CALLS      | TOTAL TIME | AVG TIME |CALLS/HOUR|CALLS/HOUR|\n";
+echo "+--------+----------------------+----------------------+------------+------------+----------+----------+----------+\n";
+
+
+## Pull the count of agent seconds for the total tally
+$stmt="SELECT sum(pause_sec + wait_sec + talk_sec + dispo_sec) from vicidial_agent_log where event_time >= '$query_date_BEGIN' and event_time <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' and pause_sec<36000 and wait_sec<36000 and talk_sec<36000 and dispo_sec<36000;";
+$rslt=mysql_query($stmt, $link);
+$Ctally_to_print = mysql_num_rows($rslt);
+if ($Ctally_to_print > 0) 
+	{
+	$rowx=mysql_fetch_row($rslt);
+	$AGENTsec = "$rowx[0]";
+	}
+
+
+## get counts and time totals for all statuses in this campaign
+$stmt="select count(*),status,sum(length_in_sec) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' group by status;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$statuses_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $statuses_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$STATUScount =	$row[0];
+	$RAWstatus =	$row[1];
+	$r=0;
+	while ($r < $statcats_to_print)
+		{
+		if ($statcat_list[$RAWstatus] == "$vsc_id[$r]")
+			{
+			$vsc_count[$r] = ($vsc_count[$r] + $STATUScount);
+			}
+		$r++;
+		}
+	if ($AGENTsec < 1) {$AGENTsec=1;}
+	$TOTALcalls =	($TOTALcalls + $row[0]);
+	$STATUSrate =	($STATUScount / ($TOTALsec / 3600) );
+		$STATUSrate =	sprintf("%.2f", $STATUSrate);
+	$AGENTrate =	($STATUScount / ($AGENTsec / 3600) );
+		$AGENTrate =	sprintf("%.2f", $AGENTrate);
+
+	$STATUShours_H =	($row[2] / 3600);
+	$STATUShours_H_int = round($STATUShours_H, 2);
+	$STATUShours_H_int = intval("$STATUShours_H_int");
+	$STATUShours_M = ($STATUShours_H - $STATUShours_H_int);
+	$STATUShours_M = ($STATUShours_M * 60);
+	$STATUShours_M_int = round($STATUShours_M, 2);
+	$STATUShours_M_int = intval("$STATUShours_M_int");
+	$STATUShours_S = ($STATUShours_M - $STATUShours_M_int);
+	$STATUShours_S = ($STATUShours_S * 60);
+	$STATUShours_S = round($STATUShours_S, 0);
+	if ($STATUShours_S < 10) {$STATUShours_S = "0$STATUShours_S";}
+	if ($STATUShours_M_int < 10) {$STATUShours_M_int = "0$STATUShours_M_int";}
+	$STATUShours = "$STATUShours_H_int:$STATUShours_M_int:$STATUShours_S";
+
+	$STATUSavg_H =	(($row[2] / 3600) / $STATUScount);
+	$STATUSavg_H_int = round($STATUSavg_H, 2);
+	$STATUSavg_H_int = intval("$STATUSavg_H_int");
+	$STATUSavg_M = ($STATUSavg_H - $STATUSavg_H_int);
+	$STATUSavg_M = ($STATUSavg_M * 60);
+	$STATUSavg_M_int = round($STATUSavg_M, 2);
+	$STATUSavg_M_int = intval("$STATUSavg_M_int");
+	$STATUSavg_S = ($STATUSavg_M - $STATUSavg_M_int);
+	$STATUSavg_S = ($STATUSavg_S * 60);
+	$STATUSavg_S = round($STATUSavg_S, 0);
+	if ($STATUSavg_S < 10) {$STATUSavg_S = "0$STATUSavg_S";}
+	if ($STATUSavg_M_int < 10) {$STATUSavg_M_int = "0$STATUSavg_M_int";}
+	$STATUSavg = "$STATUSavg_H_int:$STATUSavg_M_int:$STATUSavg_S";
+
+	$STATUScount =	sprintf("%10s", $row[0]);while(strlen($STATUScount)>10) {$STATUScount = substr("$STATUScount", 0, -1);}
+	$status =	sprintf("%-6s", $row[1]);while(strlen($status)>6) {$status = substr("$status", 0, -1);}
+	$STATUShours =	sprintf("%10s", $STATUShours);while(strlen($STATUShours)>10) {$STATUShours = substr("$STATUShours", 0, -1);}
+	$STATUSavg =	sprintf("%8s", $STATUSavg);while(strlen($STATUSavg)>8) {$STATUSavg = substr("$STATUSavg", 0, -1);}
+	$STATUSrate =	sprintf("%8s", $STATUSrate);while(strlen($STATUSrate)>8) {$STATUSrate = substr("$STATUSrate", 0, -1);}
+	$AGENTrate =	sprintf("%8s", $AGENTrate);while(strlen($AGENTrate)>8) {$AGENTrate = substr("$AGENTrate", 0, -1);}
+
+	if ($non_latin < 1)
+		{
+		$status_name =	sprintf("%-20s", $statname_list[$RAWstatus]); 
+		while(strlen($status_name)>20) {$status_name = substr("$status_name", 0, -1);}	
+		$statcat =	sprintf("%-20s", $statcat_list[$RAWstatus]); 
+		while(strlen($statcat)>20) {$statcat = substr("$statcat", 0, -1);}	
+		}
+	else
+		{
+		$status_name =	sprintf("%-60s", $statname_list[$RAWstatus]); 
+		while(mb_strlen($status_name,'utf-8')>20) {$status_name = mb_substr("$status_name", 0, -1,'utf-8');}	
+		$statcat =	sprintf("%-60s", $statcat_list[$RAWstatus]); 
+		while(mb_strlen($statcat,'utf-8')>20) {$statcat = mb_substr("$statcat", 0, -1,'utf-8');}	
+		}
+
+	echo "| $status | $status_name | $statcat | $STATUScount | $STATUShours | $STATUSavg | $STATUSrate | $AGENTrate |\n";
+
+	$i++;
+	}
+
+if ($TOTALcalls < 1)
+	{
+	$TOTALhours =	'0:00:00';
+	$TOTALavg =		'0:00:00';
+	$TOTALrate =	'0.00';
+	}
+else
+	{
+	$TOTALrate =	($TOTALcalls / ($TOTALsec / 3600) );
+		$TOTALrate =	sprintf("%.2f", $TOTALrate);
+	$aTOTALrate =	($TOTALcalls / ($AGENTsec / 3600) );
+		$aTOTALrate =	sprintf("%.2f", $aTOTALrate);
+
+	$aTOTALhours_H =	($AGENTsec / 3600);
+	$aTOTALhours_H_int = round($aTOTALhours_H, 2);
+	$aTOTALhours_H_int = intval("$aTOTALhours_H_int");
+	$aTOTALhours_M = ($aTOTALhours_H - $aTOTALhours_H_int);
+	$aTOTALhours_M = ($aTOTALhours_M * 60);
+	$aTOTALhours_M_int = round($aTOTALhours_M, 2);
+	$aTOTALhours_M_int = intval("$aTOTALhours_M_int");
+	$aTOTALhours_S = ($aTOTALhours_M - $aTOTALhours_M_int);
+	$aTOTALhours_S = ($aTOTALhours_S * 60);
+	$aTOTALhours_S = round($aTOTALhours_S, 0);
+	if ($aTOTALhours_S < 10) {$aTOTALhours_S = "0$aTOTALhours_S";}
+	if ($aTOTALhours_M_int < 10) {$aTOTALhours_M_int = "0$aTOTALhours_M_int";}
+	$aTOTALhours = "$aTOTALhours_H_int:$aTOTALhours_M_int:$aTOTALhours_S";
+
+	$TOTALhours_H =	($TOTALsec / 3600);
+	$TOTALhours_H_int = round($TOTALhours_H, 2);
+	$TOTALhours_H_int = intval("$TOTALhours_H_int");
+	$TOTALhours_M = ($TOTALhours_H - $TOTALhours_H_int);
+	$TOTALhours_M = ($TOTALhours_M * 60);
+	$TOTALhours_M_int = round($TOTALhours_M, 2);
+	$TOTALhours_M_int = intval("$TOTALhours_M_int");
+	$TOTALhours_S = ($TOTALhours_M - $TOTALhours_M_int);
+	$TOTALhours_S = ($TOTALhours_S * 60);
+	$TOTALhours_S = round($TOTALhours_S, 0);
+	if ($TOTALhours_S < 10) {$TOTALhours_S = "0$TOTALhours_S";}
+	if ($TOTALhours_M_int < 10) {$TOTALhours_M_int = "0$TOTALhours_M_int";}
+	$TOTALhours = "$TOTALhours_H_int:$TOTALhours_M_int:$TOTALhours_S";
+
+	$TOTALavg_H =	(($TOTALsec / 3600) / $TOTALcalls);
+	$TOTALavg_H_int = round($TOTALavg_H, 2);
+	$TOTALavg_H_int = intval("$TOTALavg_H_int");
+	$TOTALavg_M = ($TOTALavg_H - $TOTALavg_H_int);
+	$TOTALavg_M = ($TOTALavg_M * 60);
+	$TOTALavg_M_int = round($TOTALavg_M, 2);
+	$TOTALavg_M_int = intval("$TOTALavg_M_int");
+	$TOTALavg_S = ($TOTALavg_M - $TOTALavg_M_int);
+	$TOTALavg_S = ($TOTALavg_S * 60);
+	$TOTALavg_S = round($TOTALavg_S, 0);
+	if ($TOTALavg_S < 10) {$TOTALavg_S = "0$TOTALavg_S";}
+	if ($TOTALavg_M_int < 10) {$TOTALavg_M_int = "0$TOTALavg_M_int";}
+	$TOTALavg = "$TOTALavg_H_int:$TOTALavg_M_int:$TOTALavg_S";
+	}
+$TOTALcalls =	sprintf("%10s", $TOTALcalls);
+$TOTALhours =	sprintf("%10s", $TOTALhours);while(strlen($TOTALhours)>10) {$TOTALhours = substr("$TOTALhours", 0, -1);}
+$aTOTALhours =	sprintf("%10s", $aTOTALhours);while(strlen($aTOTALhours)>10) {$aTOTALhours = substr("$aTOTALhours", 0, -1);}
+$TOTALavg =	sprintf("%8s", $TOTALavg);while(strlen($TOTALavg)>8) {$TOTALavg = substr("$TOTALavg", 0, -1);}
+$TOTALrate =	sprintf("%8s", $TOTALrate);while(strlen($TOTALrate)>8) {$TOTALrate = substr("$TOTALrate", 0, -1);}
+$aTOTALrate =	sprintf("%8s", $aTOTALrate);while(strlen($aTOTALrate)>8) {$aTOTALrate = substr("$aTOTALrate", 0, -1);}
+
+echo "+--------+----------------------+----------------------+------------+------------+----------+----------+----------+\n";
+echo "| TOTAL:                                               | $TOTALcalls | $TOTALhours | $TOTALavg | $TOTALrate |          |\n";
+echo "|   AGENT TIME                                                      | $aTOTALhours |                     | $aTOTALrate |\n";
+echo "+------------------------------------------------------+------------+------------+---------------------+----------+\n";
+
+
+
+##############################
+#########  STATUS CATEGORY STATS
+
+echo "\n";
+echo "---------- CUSTOM STATUS CATEGORY STATS\n";
+echo "+----------------------+------------+--------------------------------+\n";
+echo "| CATEGORY             | CALLS      | DESCRIZIONE                    |\n";
+echo "+----------------------+------------+--------------------------------+\n";
+
+
+$TOTCATcalls=0;
+$r=0;
+while ($r < $statcats_to_print)
+	{
+	if ($vsc_id[$r] != 'UNDEFINED')
+		{
+		$TOTCATcalls = ($TOTCATcalls + $vsc_count[$r]);
+		$category =	sprintf("%-20s", $vsc_id[$r]); while(strlen($category)>20) {$category = substr("$category", 0, -1);}
+		$CATcount =	sprintf("%10s", $vsc_count[$r]); while(strlen($CATcount)>10) {$CATcount = substr("$CATcount", 0, -1);}
+		$CATname =	sprintf("%-30s", $vsc_name[$r]); while(strlen($CATname)>30) {$CATname = substr("$CATname", 0, -1);}
+
+		echo "| $category | $CATcount | $CATname |\n";
+		}
+	$r++;
+	}
+
+$TOTCATcalls =	sprintf("%10s", $TOTCATcalls); while(strlen($TOTCATcalls)>10) {$TOTCATcalls = substr("$TOTCATcalls", 0, -1);}
+
+echo "+----------------------+------------+--------------------------------+\n";
+echo "| TOTAL                | $TOTCATcalls |\n";
+echo "+----------------------+------------+\n";
+
+
+
+##############################
+#########  USER STATS
+
+$TOTagents=0;
+$TOTcalls=0;
+$TOTtime=0;
+$TOTavg=0;
+
+echo "\n";
+echo "---------- STATISTICHE OPERATORE\n";
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| AGENT                    | CALLS      | TEMPO M   | MEDIA M |\n";
+echo "+--------------------------+------------+----------+--------+\n";
+
+$stmt="select vicidial_log.user,full_name,count(*),sum(length_in_sec),avg(length_in_sec) from vicidial_log,vicidial_users where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' and vicidial_log.user is not null and length_in_sec is not null and length_in_sec > 0 and vicidial_log.user=vicidial_users.user group by vicidial_log.user;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$TOTcalls = ($TOTcalls + $row[2]);
+	$TOTtime = ($TOTtime + $row[3]);
+
+	$user =	sprintf("%-6s", $row[0]);while(strlen($user)>6) {$user = substr("$user", 0, -1);}
+	if ($non_latin < 1)
+	{
+ 	 $full_name =	sprintf("%-15s", $row[1]); while(strlen($full_name)>15) {$full_name = substr("$full_name", 0, -1);}	
+	}
+	else
+	{
+	 $full_name =	sprintf("%-45s", $row[1]); while(mb_strlen($full_name,'utf-8')>15) {$full_name = mb_substr("$full_name", 0, -1,'utf-8');}	
+	}
+	$USERcalls =	sprintf("%10s", $row[2]);
+	$USERtotTALK =	$row[3];
+	$USERavgTALK =	$row[4];
+
+	$USERtotTALK_M = ($USERtotTALK / 60);
+	$USERtotTALK_M_int = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M_int");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$USERtotTALK_MS =		sprintf("%6s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M_int = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M_int");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$USERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	echo "| $user - $full_name | $USERcalls |   $USERtotTALK_MS | $USERavgTALK_MS |\n";
+
+	$i++;
+	}
+
+if (!$TOTcalls) {$TOTcalls = 1;}
+$TOTavg = ($TOTtime / $TOTcalls);
+$TOTavg = round($TOTavg, 0);
+$TOTavg_M = ($TOTavg / 60);
+$TOTavg_M_int = round($TOTavg_M, 2);
+$TOTavg_M_int = intval("$TOTavg_M_int");
+$TOTavg_S = ($TOTavg_M - $TOTavg_M_int);
+$TOTavg_S = ($TOTavg_S * 60);
+$TOTavg_S = round($TOTavg_S, 0);
+if ($TOTavg_S < 10) {$TOTavg_S = "0$TOTavg_S";}
+$TOTavg_MS = "$TOTavg_M_int:$TOTavg_S";
+$TOTavg =		sprintf("%6s", $TOTavg_MS);
+
+$TOTtime_M = ($TOTtime / 60);
+$TOTtime_M_int = round($TOTtime_M, 2);
+$TOTtime_M_int = intval("$TOTtime_M_int");
+$TOTtime_S = ($TOTtime_M - $TOTtime_M_int);
+$TOTtime_S = ($TOTtime_S * 60);
+$TOTtime_S = round($TOTtime_S, 0);
+if ($TOTtime_S < 10) {$TOTtime_S = "0$TOTtime_S";}
+$TOTtime_MS = "$TOTtime_M_int:$TOTtime_S";
+$TOTtime =		sprintf("%6s", $TOTtime_MS);
+
+$TOTagents =		sprintf("%10s", $i);
+$TOTcalls =			sprintf("%10s", $TOTcalls);
+$TOTtime =			sprintf("%8s", $TOTtime);
+$TOTavg =			sprintf("%6s", $TOTavg);
+
+$stmt="select avg(wait_sec) from vicidial_agent_log where event_time >= '$query_date_BEGIN' and event_time <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$AVGwait = $row[0];
+$AVGwait_M = ($AVGwait / 60);
+$AVGwait_M_int = round($AVGwait_M, 2);
+$AVGwait_M_int = intval("$AVGwait_M_int");
+$AVGwait_S = ($AVGwait_M - $AVGwait_M_int);
+$AVGwait_S = ($AVGwait_S * 60);
+$AVGwait_S = round($AVGwait_S, 0);
+if ($AVGwait_S < 10) {$AVGwait_S = "0$AVGwait_S";}
+$AVGwait_MS = "$AVGwait_M_int:$AVGwait_S";
+$AVGwait =		sprintf("%6s", $AVGwait_MS);
+
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| TOTALE Operatori: $TOTagents | $TOTcalls | $TOTtime | $TOTavg |\n";
+echo "+--------------------------+------------+----------+--------+\n";
+echo "| Tempo Medio di Attesa Tra Due Chiamate                    $AVGwait |\n";
+echo "+-----------------------------------------------------------+\n";
+
+##############################
+#########  TIME STATS
+
+echo "\n";
+echo "---------- STATISTICHE TEMPO\n";
+
+echo "\n";
+
+$hi_hour_count=0;
+$last_full_record=0;
+$i=0;
+$h=0;
+while ($i <= 96)
+	{
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' and campaign_id='" . mysql_real_escape_string($group) . "';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$hour_count[$i] = $row[0];
+	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+	if ($hour_count[$i] > 0) {$last_full_record = $i;}
+	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' and campaign_id='" . mysql_real_escape_string($group) . "' and status='DROP';";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+	$drop_count[$i] = $row[0];
+	$i++;
+	$h++;
+	}
+
+if ($hi_hour_count < 1)
+	{$hour_multiplier = 0;}
+else
+	{
+	$hour_multiplier = (100 / $hi_hour_count);
+	#$hour_multiplier = round($hour_multiplier, 0);
+	}
+
+echo "\n";
+echo "GRAFICO AD INCREMENTO DI 15 MINUTI DEL TOTALE DELLE CHIAMATE EFFETTUATE PER QUESTA CAMPAGNA\n";
+
+$k=1;
+$Mk=0;
+$call_scale = '0';
+while ($k <= 102) 
+	{
+	if ($Mk >= 5) 
+		{
+		$Mk=0;
+		if ( ($k < 1) or ($hour_multiplier <= 0) )
+			{$scale_num = 100;}
+		else
+			{
+			$scale_num=($k / $hour_multiplier);
+			$scale_num = round($scale_num, 0);
+			}
+		$LENscale_num = (strlen($scale_num));
+		$k = ($k + $LENscale_num);
+		$call_scale .= "$scale_num";
+		}
+	else
+		{
+		$call_scale .= " ";
+		$k++;   $Mk++;
+		}
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | DROPS | TOTAL |\n";
+echo "| HOUR |$call_scale| DROPS | TOTAL |\n";
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+$ZZ = '00';
+$i=0;
+$h=4;
+$hour= -1;
+$no_lines_yet=1;
+
+while ($i <= 96)
+	{
+	$char_counter=0;
+	$time = '      ';
+	if ($h >= 4) 
+		{
+		$hour++;
+		$h=0;
+		if ($hour < 10) {$hour = "0$hour";}
+		$time = "+$hour$ZZ+";
+		}
+	if ($h == 1) {$time = "   15 ";}
+	if ($h == 2) {$time = "   30 ";}
+	if ($h == 3) {$time = "   45 ";}
+	$Ghour_count = $hour_count[$i];
+	if ($Ghour_count < 1) 
+		{
+		if ( ($no_lines_yet) or ($i > $last_full_record) )
+			{
+			$do_nothing=1;
+			}
+		else
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			echo "|$time|";
+			$k=0;   while ($k <= 102) {echo " ";   $k++;}
+			echo "| $hour_count[$i] |\n";
+			}
+		}
+	else
+		{
+		$no_lines_yet=0;
+		$Xhour_count = ($Ghour_count * $hour_multiplier);
+		$Yhour_count = (99 - $Xhour_count);
+
+		$Gdrop_count = $drop_count[$i];
+		if ($Gdrop_count < 1) 
+			{
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "*X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 101) {echo " ";   $char_counter++;}
+			echo "| 0     | $hour_count[$i] |\n";
+
+			}
+		else
+			{
+			$Xdrop_count = ($Gdrop_count * $hour_multiplier);
+
+		#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
+
+			$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
+
+			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+			$drop_count[$i] =	sprintf("%-5s", $drop_count[$i]);
+
+			echo "|$time|";
+			$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
+			echo "D";   $char_counter++;
+			$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
+			echo "X";   $char_counter++;
+			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+				while ($char_counter <= 102) {echo " ";   $char_counter++;}
+			echo "| $drop_count[$i] | $hour_count[$i] |\n";
+			}
+		}
+	
+	
+	$i++;
+	$h++;
+	}
+
+
+echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+
+
+
+
+
+$ENDtime = date("U");
+$RUNtime = ($ENDtime - $STARTtime);
+echo "\nRun Time: $RUNtime seconds\n";
+
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_VICIDIAL_hopperlist.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_VICIDIAL_hopperlist.php new file mode 100644 index 00000000..2189b9a3 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_VICIDIAL_hopperlist.php @@ -0,0 +1,169 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 60619-1654 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 70115-1614 - Added ALT field for vicidial_hopper alt_dial column +# 71029-0852 - Added list_id to the output +# 71030-2118 - Added priority to display +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and modify_campaigns='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($server_ip)) {$server_ip = '10.10.10.15';} + +$stmt="select campaign_id,campaign_name from vicidial_campaigns order by campaign_id;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$campaigns_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $campaigns_to_print) + { + $row=mysql_fetch_row($rslt); + $campaign_id[$i] =$row[0]; + $campaign_name[$i] =$row[1]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Coda Chiamate\n"; +echo "
\n"; +#echo "\n"; +#echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFICA \n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "PER FAVORE SELEZIONA UNA CAMPAGNA E PREMI INVIA\n";
+}
+
+else
+{
+
+
+echo "VICIDIAL: Coda Contatti Da Chiamare In Tempo Reale                      $NOW_TIME\n";
+
+echo "\n";
+echo "---------- TOTALI\n";
+
+$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+
+echo "Totale Contatti Nella Coda Chiamate In Questo Istante:       $TOTALcalls\n";
+
+
+##############################
+#########  LEAD STATS
+
+echo "\n";
+echo "---------- LEADS IN HOPPER\n";
+echo "+------+--------+-----------+------------+------------+-------+--------+-------+--------+-------+\n";
+echo "|ORDER |PRIORITY| LEAD ID   | ID LISTA    | PHONE NUM  | STATE | STATUS | COUNT | GMT    | ALT   |\n";
+echo "+------+--------+-----------+------------+------------+-------+--------+-------+--------+-------+\n";
+
+$stmt="select vicidial_hopper.lead_id,phone_number,vicidial_hopper.state,vicidial_list.status,called_count,vicidial_hopper.gmt_offset_now,hopper_id,alt_dial,vicidial_hopper.list_id,vicidial_hopper.priority from vicidial_hopper,vicidial_list where vicidial_hopper.campaign_id='" . mysql_real_escape_string($group) . "' and vicidial_hopper.lead_id=vicidial_list.lead_id order by priority desc,hopper_id limit 2000;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$FMT_i =		sprintf("%-4s", $i);
+	$lead_id =		sprintf("%-9s", $row[0]);
+	$phone_number =	sprintf("%-10s", $row[1]);
+	$state =		sprintf("%-5s", $row[2]);
+	$status =		sprintf("%-6s", $row[3]);
+	$count =		sprintf("%-5s", $row[4]);
+	$gmt =			sprintf("%-6s", $row[5]);
+	$hopper_id =	sprintf("%-6s", $row[6]);
+	$alt_dial =		sprintf("%-5s", $row[7]);
+	$list_id =		sprintf("%-10s", $row[8]);
+	$priority =		sprintf("%-6s", $row[9]);
+
+if ($DB) {echo "| $FMT_i | $priority | $lead_id | $list_id | $phone_number | $state | $status | $count | $gmt | $hopper_id |\n";}
+else {echo "| $FMT_i | $priority | $lead_id | $list_id | $phone_number | $state | $status | $count | $gmt | $alt_dial |\n";}
+
+	$i++;
+	}
+
+echo "+------+--------+-----------+------------+------------+-------+--------+-------+--------+-------+\n";
+
+
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_admin_log_display.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_admin_log_display.php new file mode 100644 index 00000000..10bb7261 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_admin_log_display.php @@ -0,0 +1,118 @@ + LICENSE: AGPLv2 +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$query_date = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$query_date); + +# AST GUI database administration +# AST_admin_log_display.php +# +# CHANGES +# 50325-0932 - First build +# 51123-1443 - removed globals=on requirement +# 60421-1229 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60620-1044 - Added variable filtering to eliminate SQL injection attack threat +# + +$version = '0.0.4'; +$build = '60620-1044'; + +$STARTtime = date("U"); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 8 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDIAL ADMIN LOG DISPLAY"; +echo "\n"; + +# Fri, 25 Mar 2005 + +$DAY_DATE = date("j"); +if ($DAY_DATE < 10) +# {$GREP_DATE = date("D, j M Y");} + {$GREP_DATE = date("D, 0j M Y");} +else + {$GREP_DATE = date("D, j M Y");} + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!$query_date) {$query_date = $GREP_DATE;} + +$Gquery_date = eregi_replace(" ",'\ ',$query_date); +echo "\n"; + +echo "
\n"; +echo "\n"; +echo "\n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+echo "VICIDIAL ADMIN CHANGE LOG                             $NOW_TIME\n";
+
+#passthru("grep $Gquery_date /home/www/htdocs/vicidial/admin_changes_log.txt");
+passthru("grep $Gquery_date $WeBServeRRooT/vicidial/admin_changes_log.txt");
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_agent_performance.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_agent_performance.php new file mode 100644 index 00000000..e687e172 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_agent_performance.php @@ -0,0 +1,257 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 60619-1711 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 70201-1203 - Added non_latin UTF8 output code, widened USER ID to 8 chars +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="select campaign_id from vicidial_campaigns;"; +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$campaigns_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $campaigns_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Agent Performance\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFICA | REPORT \n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$group)
+{
+echo "\n";
+echo "PLEASE SELECT A SERVER AND DATE-TIME ABOVE AND CLICK INVIA\n";
+echo " NOTE: stats taken from 6 hour shift specified\n";
+}
+
+else
+{
+if ($shift == 'AM') 
+	{
+	$query_date_BEGIN = "$query_date 08:45:00";   
+	$query_date_END = "$query_date 15:33:00";
+	$time_BEGIN = "08:45:00";   
+	$time_END = "15:33:00";
+	}
+if ($shift == 'PM') 
+	{
+	$query_date_BEGIN = "$query_date 15:33:00";   
+	$query_date_END = "$query_date 23:15:00";
+	$time_BEGIN = "15:33:00";   
+	$time_END = "23:15:00";
+	}
+
+echo "VICIDIAL: Agent Performance                             $NOW_TIME\n";
+
+echo "Intervallo Di Tempo: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- AGENTS Dettagliatas -------------\n\n";
+
+echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
+echo "| USER NAME       | ID       | CALLS  | TALK   | TALKAVG| A    | B    | DC   | DNC  | N    | NI   | SALE |\n";
+echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
+
+$stmt="select count(*) as calls,sum(length_in_sec) as talk,full_name,vicidial_users.user,avg(length_in_sec) from vicidial_users,vicidial_log where call_date <= '$query_date_END' and call_date >= '$query_date_BEGIN' and vicidial_users.user=vicidial_log.user and campaign_id='" . mysql_real_escape_string($group) . "' group by full_name order by calls desc limit 1000;";
+if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$rows_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $rows_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$TOTcalls=($TOTcalls + $row[0]);
+	$TOTtotTALK=($TOTtotTALK + $row[1]);
+	$calls[$i] =	sprintf("%-6s", $row[0]);
+
+	if ($non_latin < 1)
+	{
+   	 $full_name[$i]=	sprintf("%-15s", $row[2]); 
+	 while(strlen($full_name[$i])>15) {$full_name[$i] = substr("$full_name[$i]", 0, -1);}
+
+	 $user[$i] =		sprintf("%-6s", $row[3]);
+        while(strlen($user[$i])>6) {$user[$i] = substr("$user[$i]", 0, -1);}
+       }
+	else
+	{	
+        $full_name[$i]=	sprintf("%-45s", $row[2]); 
+	 while(mb_strlen($full_name[$i],'utf-8')>15) {$full_name[$i] = mb_substr("$full_name[$i]", 0, -1,'utf-8');}
+
+ 	 $user[$i] =		sprintf("%-18s", $row[3]);
+	 while(mb_strlen($user[$i],'utf-8')>6) {$user[$i] = mb_substr("$user[$i]", 0, -1,'utf-8');}
+	}
+
+	$user[$i] =		sprintf("%-8s", $row[3]);
+	$USERtotTALK =	$row[1];
+	$USERavgTALK =	$row[4];
+
+	$USERtotTALK_M = ($USERtotTALK / 60);
+	$USERtotTALK_M = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$pfUSERtotTALK_MS[$i] =		sprintf("%6s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$pfUSERavgTALK_MS[$i] =		sprintf("%6s", $USERavgTALK_MS);
+	$i++;
+	}
+
+$k=0;
+while($k < $i)
+	{
+	$ctA[$k]="0   "; $ctB[$k]="0   "; $ctDC[$k]="0   "; $ctDNC[$k]="0   "; $ctN[$k]="0   "; $ctNI[$k]="0   "; $ctSALE[$k]="0   "; 
+	$stmt="select count(*),status from vicidial_log where call_date <= '$query_date_END' and call_date >= '$query_date_BEGIN' and user='$user[$k]' and campaign_id='" . mysql_real_escape_string($group) . "' group by status;";
+	if ($non_latin > 0)
+	{
+	$rslt=mysql_query("SET NAMES 'UTF8'");
+	}
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$rows_to_print = mysql_num_rows($rslt);
+	$m=0;
+	while ($m < $rows_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+		if ($row[1] == 'A') {$ctA[$k]=sprintf("%-4s", $row[0]);		$TOT_A = ($TOT_A + $row[0]);}
+		if ($row[1] == 'B') {$ctB[$k]=sprintf("%-4s", $row[0]);		$TOT_B = ($TOT_B + $row[0]);}
+		if ($row[1] == 'DC') {$ctDC[$k]=sprintf("%-4s", $row[0]);	$TOT_DC = ($TOT_DC + $row[0]);}
+		if ($row[1] == 'DNC') {$ctDNC[$k]=sprintf("%-4s", $row[0]);	$TOT_DNC = ($TOT_DNC + $row[0]);}
+		if ($row[1] == 'N') {$ctN[$k]=sprintf("%-4s", $row[0]);		$TOT_N = ($TOT_N + $row[0]);}
+		if ($row[1] == 'NI') {$ctNI[$k]=sprintf("%-4s", $row[0]);	$TOT_NI = ($TOT_NI + $row[0]);}
+		if (($row[1] == 'SALE') || ($row[1] == 'XFER') ) {$ctSALE[$k]=sprintf("%-4s", $row[0]);	$TOT_SALE = ($TOT_SALE + $row[0]);}
+		$m++;
+		}
+	echo "| $full_name[$k] | $user[$k] | $calls[$k] | $pfUSERtotTALK_MS[$k] | $pfUSERavgTALK_MS[$k] | $ctA[$k] | $ctB[$k] | $ctDC[$k] | $ctDNC[$k] | $ctN[$k] | $ctNI[$k] | $ctSALE[$k] |\n";
+
+
+
+	$k++;
+	}
+
+	$TOTcalls =	sprintf("%-7s", $TOTcalls);
+
+	$TOTtotTALK_M = ($TOTtotTALK / 60);
+	$TOTtotTALK_M = round($TOTtotTALK_M, 2);
+	$TOTtotTALK_M_int = intval("$TOTtotTALK_M");
+	$TOTtotTALK_S = ($TOTtotTALK_M - $TOTtotTALK_M_int);
+	$TOTtotTALK_S = ($TOTtotTALK_S * 60);
+	$TOTtotTALK_S = round($TOTtotTALK_S, 0);
+	if ($TOTtotTALK_S < 10) {$TOTtotTALK_S = "0$TOTtotTALK_S";}
+	$TOTtotTALK_MS = "$TOTtotTALK_M_int:$TOTtotTALK_S";
+	$TOTtotTALK_MS =		sprintf("%7s", $TOTtotTALK_MS);
+		while(strlen($TOTtotTALK_MS)>7) {$TOTtotTALK_MS = substr("$TOTtotTALK_MS", 0, -1);}
+
+	$TOT_A = sprintf("%-5s", $TOT_A);
+	$TOT_B = sprintf("%-5s", $TOT_B);
+	$TOT_DC = sprintf("%-5s", $TOT_DC);
+	$TOT_DNC = sprintf("%-5s", $TOT_DNC);
+	$TOT_N = sprintf("%-5s", $TOT_N);
+	$TOT_NI = sprintf("%-5s", $TOT_NI);
+	$TOT_SALE = sprintf("%-5s", $TOT_SALE);
+
+echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
+echo "|  TOTALI                    | $TOTcalls| $TOTtotTALK_MS|        | $TOT_A| $TOT_B| $TOT_DC| $TOT_DNC| $TOT_N| $TOT_NI| $TOT_SALE|\n";
+echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
+
+echo "\n";
+
+}
+
+
+
+?>
+
+
\ No newline at end of file
diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_agent_performance_detail.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_agent_performance_detail.php
new file mode 100644
index 00000000..4b68381a
--- /dev/null
+++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_agent_performance_detail.php
@@ -0,0 +1,862 @@
+    LICENSE: AGPLv2
+#
+# CHANGES
+#
+# 71119-2359 - First build
+# 71121-0144 - Replace existing AST_agent_performance_detail.php script with this one
+#            - Fixed zero division bug
+# 71218-1155 - added end_date for multi-day reports
+# 80428-0144 - UTF8 cleanup
+# 80712-1007 - tally bug fixes and time display change
+# 81030-0346 - Added pause code stats
+# 81030-1924 - Added total non-pause and total logged-in time to pause code section
+# 81108-0716 - fixed user same-name bug
+# 81110-0056 - fixed pause code display bug
+#
+
+require("dbconnect.php");
+
+$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
+$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
+$PHP_SELF=$_SERVER['PHP_SELF'];
+if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
+	elseif (isset($_POST["query_date"]))	{$query_date=$_POST["query_date"];}
+if (isset($_GET["end_date"]))				{$end_date=$_GET["end_date"];}
+	elseif (isset($_POST["end_date"]))		{$end_date=$_POST["end_date"];}
+if (isset($_GET["group"]))					{$group=$_GET["group"];}
+	elseif (isset($_POST["group"]))			{$group=$_POST["group"];}
+if (isset($_GET["user_group"]))				{$user_group=$_GET["user_group"];}
+	elseif (isset($_POST["user_group"]))	{$user_group=$_POST["user_group"];}
+if (isset($_GET["shift"]))					{$shift=$_GET["shift"];}
+	elseif (isset($_POST["shift"]))			{$shift=$_POST["shift"];}
+if (isset($_GET["DB"]))						{$DB=$_GET["DB"];}
+	elseif (isset($_POST["DB"]))			{$DB=$_POST["DB"];}
+if (isset($_GET["submit"]))					{$submit=$_GET["submit"];}
+	elseif (isset($_POST["submit"]))		{$submit=$_POST["submit"];}
+if (isset($_GET["INVIA"]))					{$INVIA=$_GET["INVIA"];}
+	elseif (isset($_POST["INVIA"]))		{$INVIA=$_POST["INVIA"];}
+
+if (strlen($shift)<2) {$shift='ALL';}
+
+#############################################
+##### START SYSTEM_SETTINGS LOOKUP #####
+$stmt = "SELECT use_non_latin FROM system_settings;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$qm_conf_ct = mysql_num_rows($rslt);
+$i=0;
+while ($i < $qm_conf_ct)
+	{
+	$row=mysql_fetch_row($rslt);
+	$non_latin =					$row[0];
+	$i++;
+	}
+##### END SETTINGS LOOKUP #####
+###########################################
+
+$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
+$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
+
+$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
+if ($DB) {echo "|$stmt|\n";}
+if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");}
+$rslt=mysql_query($stmt, $link);
+$row=mysql_fetch_row($rslt);
+$auth=$row[0];
+
+  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
+	{
+    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
+    Header("HTTP/1.0 401 Unauthorized");
+    echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
+    exit;
+	}
+
+$MT[0]='';
+$NOW_DATE = date("Y-m-d");
+$NOW_TIME = date("Y-m-d H:i:s");
+$STARTtime = date("U");
+if (!isset($group)) {$group = '';}
+if (!isset($query_date)) {$query_date = $NOW_DATE;}
+if (!isset($end_date)) {$end_date = $NOW_DATE;}
+
+$stmt="select campaign_id from vicidial_campaigns;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$campaigns_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $campaigns_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$groups[$i] =$row[0];
+	$i++;
+	}
+$stmt="select user_group from vicidial_user_groups;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$user_groups_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $user_groups_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$user_groups[$i] =$row[0];
+	$i++;
+	}
+?>
+
+
+
+
+
+\n";
+echo "VICIDIAL: Agent Performance\n";
+echo "
\n"; +echo "\n"; +echo "\n"; +echo " to \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFICA | REPORT \n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$group)
+{
+echo "\n";
+echo "PER FAVORE SELEZIONA UNA CAMPAGNA E UNA DATA E PREMI INVIA\n";
+echo " NOTE: stats taken from shift specified\n";
+}
+
+else
+{
+if ($shift == 'AM') 
+	{
+	$time_BEGIN=$AM_shift_BEGIN;
+	$time_END=$AM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
+	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
+	}
+if ($shift == 'PM') 
+	{
+	$time_BEGIN=$PM_shift_BEGIN;
+	$time_END=$PM_shift_END;
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
+	}
+if ($shift == 'ALL') 
+	{
+	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
+	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
+	}
+$query_date_BEGIN = "$query_date $time_BEGIN";   
+$query_date_END = "$end_date $time_END";
+
+if (strlen($user_group)>0) {$ugSQL="and vicidial_agent_log.user_group='$user_group'";}
+else {$ugSQL='';}
+
+echo "VICIDIAL: Agent Performance Dettagliata                        $NOW_TIME\n";
+
+echo "Intervallo Di Tempo: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- AGENTS Dettagliatas -------------\n\n";
+
+
+
+
+
+$statuses='-';
+$statusesTXT='';
+$statusesHEAD='';
+$statusesHTML='';
+$statusesARY[0]='';
+$j=0;
+$users='-';
+$usersARY[0]='';
+$user_namesARY[0]='';
+$k=0;
+
+$stmt="select count(*) as calls,sum(talk_sec) as talk,full_name,vicidial_users.user,sum(pause_sec),sum(wait_sec),sum(dispo_sec),status from vicidial_users,vicidial_agent_log where event_time <= '$query_date_END' and event_time >= '$query_date_BEGIN' and vicidial_users.user=vicidial_agent_log.user and campaign_id='" . mysql_real_escape_string($group) . "' and pause_sec<36000 and wait_sec<36000 and talk_sec<36000 and dispo_sec<36000 $ugSQL group by user,full_name,status order by full_name,user,status desc limit 500000;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$rows_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $rows_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+#	$row[0] = ($row[0] - 1);	# subtract 1 for login/logout event compensation
+	
+	$calls[$i] =		$row[0];
+	$talk_sec[$i] =		$row[1];
+	$full_name[$i] =	$row[2];
+	$user[$i] =			$row[3];
+	$pause_sec[$i] =	$row[4];
+	$wait_sec[$i] =		$row[5];
+	$dispo_sec[$i] =	$row[6];
+	$status[$i] =		$row[7];
+	if ( (!eregi("-$status[$i]-", $statuses)) and (strlen($status[$i])>0) )
+		{
+		$statusesTXT = sprintf("%8s", $status[$i]);
+		$statusesHEAD .= "----------+";
+		$statusesHTML .= " $statusesTXT |";
+		$statuses .= "$status[$i]-";
+		$statusesARY[$j] = $status[$i];
+		$j++;
+		}
+	if (!eregi("-$user[$i]-", $users))
+		{
+		$users .= "$user[$i]-";
+		$usersARY[$k] = $user[$i];
+		$user_namesARY[$k] = $full_name[$i];
+		$k++;
+		}
+
+	$i++;
+	}
+
+echo "CALL STATS BREAKDOWN:\n";
+echo "+-----------------+----------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
+echo "| USER NAME       | ID       | CALLS  | TIME    | PAUSE  | PAUSAVG| WAIT   | WAITAVG| TALK   | TALKAVG| DISPO  | DISPAVG|$statusesHTML\n";
+echo "+-----------------+----------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
+
+
+### BEGIN loop through each user ###
+$m=0;
+while ($m < $k)
+	{
+	$Suser=$usersARY[$m];
+	$Sfull_name=$user_namesARY[$m];
+	$Stime=0;
+	$Scalls=0;
+	$Stalk_sec=0;
+	$Spause_sec=0;
+	$Swait_sec=0;
+	$Sdispo_sec=0;
+	$SstatusesHTML='';
+
+	### BEGIN loop through each status ###
+	$n=0;
+	while ($n < $j)
+		{
+		$Sstatus=$statusesARY[$n];
+		$SstatusTXT='';
+		### BEGIN loop through each stat line ###
+		$i=0; $status_found=0;
+		while ($i < $rows_to_print)
+			{
+			if ( ($Suser=="$user[$i]") and ($Sstatus=="$status[$i]") )
+				{
+				$Scalls =		($Scalls + $calls[$i]);
+				$Stalk_sec =	($Stalk_sec + $talk_sec[$i]);
+				$Spause_sec =	($Spause_sec + $pause_sec[$i]);
+				$Swait_sec =	($Swait_sec + $wait_sec[$i]);
+				$Sdispo_sec =	($Sdispo_sec + $dispo_sec[$i]);
+				$SstatusTXT = sprintf("%8s", $calls[$i]);
+				$SstatusesHTML .= " $SstatusTXT |";
+				$status_found++;
+				}
+			$i++;
+			}
+		if ($status_found < 1)
+			{
+			$SstatusesHTML .= "        0 |";
+			}
+		### END loop through each stat line ###
+		$n++;
+		}
+	### END loop through each status ###
+	$Stime = ($Stalk_sec + $Spause_sec + $Swait_sec + $Sdispo_sec);
+	$TOTcalls=($TOTcalls + $Scalls);
+	$TOTtime=($TOTtime + $Stime);
+	$TOTtotTALK=($TOTtotTALK + $Stalk_sec);
+	$TOTtotWAIT=($TOTtotWAIT + $Swait_sec);
+	$TOTtotPAUSE=($TOTtotPAUSE + $Spause_sec);
+	$TOTtotDISPO=($TOTtotDISPO + $Sdispo_sec);
+	$Stime = ($Stalk_sec + $Spause_sec + $Swait_sec + $Sdispo_sec);
+	if ( ($Scalls > 0) and ($Stalk_sec > 0) ) {$Stalk_avg = ($Stalk_sec/$Scalls);}
+		else {$Stalk_avg=0;}
+	if ( ($Scalls > 0) and ($Spause_sec > 0) ) {$Spause_avg = ($Spause_sec/$Scalls);}
+		else {$Spause_avg=0;}
+	if ( ($Scalls > 0) and ($Swait_sec > 0) ) {$Swait_avg = ($Swait_sec/$Scalls);}
+		else {$Swait_avg=0;}
+	if ( ($Scalls > 0) and ($Sdispo_sec > 0) ) {$Sdispo_avg = ($Sdispo_sec/$Scalls);}
+		else {$Sdispo_avg=0;}
+
+	$Scalls =	sprintf("%6s", $Scalls);
+
+	if ($non_latin < 1)
+		{
+		 $Sfull_name=	sprintf("%-15s", $Sfull_name); 
+			while(strlen($Sfull_name)>15) {$Sfull_name = substr("$Sfull_name", 0, -1);}
+		 $Suser =		sprintf("%-8s", $Suser);
+			while(strlen($Suser)>8) {$Suser = substr("$Suser", 0, -1);}
+		}
+	else
+		{	
+			$Sfull_name=	sprintf("%-45s", $Sfull_name); 
+		 while(mb_strlen($Sfull_name,'utf-8')>15) {$Sfull_name = mb_substr("$Sfull_name", 0, -1,'utf-8');}
+
+			$Suser =	sprintf("%-24s", $Suser);
+		 while(mb_strlen($Suser,'utf-8')>8) {$Suser = mb_substr("$Suser", 0, -1,'utf-8');}
+		}
+
+	$USERtime_M = ($Stime / 60);
+	$USERtime_M_int = round($USERtime_M, 2);
+	$USERtime_M_int = intval("$USERtime_M_int");
+	$USERtime_S = ($USERtime_M - $USERtime_M_int);
+	$USERtime_S = ($USERtime_S * 60);
+	$USERtime_S = round($USERtime_S, 0);
+	if ($USERtime_S < 10) {$USERtime_S = "0$USERtime_S";}
+	$USERtime_MS = "$USERtime_M_int:$USERtime_S";
+	$pfUSERtime_MS =		sprintf("%7s", $USERtime_MS);
+
+	$USERtotTALK_M = ($Stalk_sec / 60);
+	$USERtotTALK_M_int = round($USERtotTALK_M, 2);
+	$USERtotTALK_M_int = intval("$USERtotTALK_M_int");
+	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
+	$USERtotTALK_S = ($USERtotTALK_S * 60);
+	$USERtotTALK_S = round($USERtotTALK_S, 0);
+	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
+	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
+	$pfUSERtotTALK_MS =		sprintf("%6s", $USERtotTALK_MS);
+
+	$USERavgTALK_M = ($Stalk_avg / 60);
+	$USERavgTALK_M_int = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M_int");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$pfUSERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	$USERtotPAUSE_M = ($Spause_sec / 60);
+	$USERtotPAUSE_M_int = round($USERtotPAUSE_M, 2);
+	$USERtotPAUSE_M_int = intval("$USERtotPAUSE_M_int");
+	$USERtotPAUSE_S = ($USERtotPAUSE_M - $USERtotPAUSE_M_int);
+	$USERtotPAUSE_S = ($USERtotPAUSE_S * 60);
+	$USERtotPAUSE_S = round($USERtotPAUSE_S, 0);
+	if ($USERtotPAUSE_S < 10) {$USERtotPAUSE_S = "0$USERtotPAUSE_S";}
+	$USERtotPAUSE_MS = "$USERtotPAUSE_M_int:$USERtotPAUSE_S";
+	$pfUSERtotPAUSE_MS =		sprintf("%6s", $USERtotPAUSE_MS);
+	$PAUSEtotal[$m] = $pfUSERtotPAUSE_MS;
+
+	$USERavgPAUSE_M = ($Spause_avg / 60);
+	$USERavgPAUSE_M_int = round($USERavgPAUSE_M, 2);
+	$USERavgPAUSE_M_int = intval("$USERavgPAUSE_M_int");
+	$USERavgPAUSE_S = ($USERavgPAUSE_M - $USERavgPAUSE_M_int);
+	$USERavgPAUSE_S = ($USERavgPAUSE_S * 60);
+	$USERavgPAUSE_S = round($USERavgPAUSE_S, 0);
+	if ($USERavgPAUSE_S < 10) {$USERavgPAUSE_S = "0$USERavgPAUSE_S";}
+	$USERavgPAUSE_MS = "$USERavgPAUSE_M_int:$USERavgPAUSE_S";
+	$pfUSERavgPAUSE_MS =		sprintf("%6s", $USERavgPAUSE_MS);
+
+	$USERtotWAIT_M = ($Swait_sec / 60);
+	$USERtotWAIT_M_int = round($USERtotWAIT_M, 2);
+	$USERtotWAIT_M_int = intval("$USERtotWAIT_M_int");
+	$USERtotWAIT_S = ($USERtotWAIT_M - $USERtotWAIT_M_int);
+	$USERtotWAIT_S = ($USERtotWAIT_S * 60);
+	$USERtotWAIT_S = round($USERtotWAIT_S, 0);
+	if ($USERtotWAIT_S < 10) {$USERtotWAIT_S = "0$USERtotWAIT_S";}
+	$USERtotWAIT_MS = "$USERtotWAIT_M_int:$USERtotWAIT_S";
+	$pfUSERtotWAIT_MS =		sprintf("%6s", $USERtotWAIT_MS);
+
+	$USERavgWAIT_M = ($Swait_avg / 60);
+	$USERavgWAIT_M_int = round($USERavgWAIT_M, 2);
+	$USERavgWAIT_M_int = intval("$USERavgWAIT_M_int");
+	$USERavgWAIT_S = ($USERavgWAIT_M - $USERavgWAIT_M_int);
+	$USERavgWAIT_S = ($USERavgWAIT_S * 60);
+	$USERavgWAIT_S = round($USERavgWAIT_S, 0);
+	if ($USERavgWAIT_S < 10) {$USERavgWAIT_S = "0$USERavgWAIT_S";}
+	$USERavgWAIT_MS = "$USERavgWAIT_M_int:$USERavgWAIT_S";
+	$pfUSERavgWAIT_MS =		sprintf("%6s", $USERavgWAIT_MS);
+	
+	$USERtotDISPO_M = ($Sdispo_sec / 60);
+	$USERtotDISPO_M_int = round($USERtotDISPO_M, 2);
+	$USERtotDISPO_M_int = intval("$USERtotDISPO_M_int");
+	$USERtotDISPO_S = ($USERtotDISPO_M - $USERtotDISPO_M_int);
+	$USERtotDISPO_S = ($USERtotDISPO_S * 60);
+	$USERtotDISPO_S = round($USERtotDISPO_S, 0);
+	if ($USERtotDISPO_S < 10) {$USERtotDISPO_S = "0$USERtotDISPO_S";}
+	$USERtotDISPO_MS = "$USERtotDISPO_M_int:$USERtotDISPO_S";
+	$pfUSERtotDISPO_MS =		sprintf("%6s", $USERtotDISPO_MS);
+
+	$USERavgDISPO_M = ($Sdispo_avg / 60);
+	$USERavgDISPO_M_int = round($USERavgDISPO_M, 2);
+	$USERavgDISPO_M_int = intval("$USERavgDISPO_M_int");
+	$USERavgDISPO_S = ($USERavgDISPO_M - $USERavgDISPO_M_int);
+	$USERavgDISPO_S = ($USERavgDISPO_S * 60);
+	$USERavgDISPO_S = round($USERavgDISPO_S, 0);
+	if ($USERavgDISPO_S < 10) {$USERavgDISPO_S = "0$USERavgDISPO_S";}
+	$USERavgDISPO_MS = "$USERavgDISPO_M_int:$USERavgDISPO_S";
+	$pfUSERavgDISPO_MS =		sprintf("%6s", $USERavgDISPO_MS);
+
+	echo "| $Sfull_name | $Suser | $Scalls | $pfUSERtime_MS | $pfUSERtotPAUSE_MS | $pfUSERavgPAUSE_MS | $pfUSERtotWAIT_MS | $pfUSERavgWAIT_MS | $pfUSERtotTALK_MS | $pfUSERavgTALK_MS | $pfUSERtotDISPO_MS | $pfUSERavgDISPO_MS |$SstatusesHTML\n";
+	$m++;
+	}
+### END loop through each user ###
+
+
+###### LAST LINE FORMATTING ##########
+### BEGIN loop through each status ###
+$SUMstatusesHTML='';
+$n=0;
+while ($n < $j)
+	{
+	$Scalls=0;
+	$Sstatus=$statusesARY[$n];
+	$SUMstatusTXT='';
+	### BEGIN loop through each stat line ###
+	$i=0; $status_found=0;
+	while ($i < $rows_to_print)
+		{
+		if ($Sstatus=="$status[$i]")
+			{
+			$Scalls =		($Scalls + $calls[$i]);
+			$status_found++;
+			}
+		$i++;
+		}
+	### END loop through each stat line ###
+	if ($status_found < 1)
+		{
+		$SUMstatusesHTML .= "        0 |";
+		}
+	else
+		{
+		$SUMstatusTXT = sprintf("%8s", $Scalls);
+		$SUMstatusesHTML .= " $SUMstatusTXT |";
+		}
+	$n++;
+	}
+### END loop through each status ###
+
+
+	$TOTcalls =	sprintf("%7s", $TOTcalls);
+	$TOT_AGENTS = sprintf("%-4s", $m);
+
+	$TOTtime_M = ($TOTtime / 60);
+	$TOTtime_M_int = round($TOTtime_M, 2);
+	$TOTtime_M_int = intval("$TOTtime_M_int");
+	$TOTtime_S = ($TOTtime_M - $TOTtime_M_int);
+	$TOTtime_S = ($TOTtime_S * 60);
+	$TOTtime_S = round($TOTtime_S, 0);
+	if ($TOTtime_S < 10) {$TOTtime_S = "0$TOTtime_S";}
+	$TOTtime_MS = "$TOTtime_M_int:$TOTtime_S";
+	$TOTtime_MS =		sprintf("%8s", $TOTtime_MS);
+		while(strlen($TOTtime_MS)>8) {$TOTtime_MS = substr("$TOTtime_MS", 0, -1);}
+
+	$TOTtotTALK_M = ($TOTtotTALK / 60);
+	$TOTtotTALK_M_int = round($TOTtotTALK_M, 2);
+	$TOTtotTALK_M_int = intval("$TOTtotTALK_M_int");
+	$TOTtotTALK_S = ($TOTtotTALK_M - $TOTtotTALK_M_int);
+	$TOTtotTALK_S = ($TOTtotTALK_S * 60);
+	$TOTtotTALK_S = round($TOTtotTALK_S, 0);
+	if ($TOTtotTALK_S < 10) {$TOTtotTALK_S = "0$TOTtotTALK_S";}
+	$TOTtotTALK_MS = "$TOTtotTALK_M_int:$TOTtotTALK_S";
+	$TOTtotTALK_MS =		sprintf("%8s", $TOTtotTALK_MS);
+		while(strlen($TOTtotTALK_MS)>8) {$TOTtotTALK_MS = substr("$TOTtotTALK_MS", 0, -1);}
+
+	$TOTtotDISPO_M = ($TOTtotDISPO / 60);
+	$TOTtotDISPO_M_int = round($TOTtotDISPO_M, 2);
+	$TOTtotDISPO_M_int = intval("$TOTtotDISPO_M_int");
+	$TOTtotDISPO_S = ($TOTtotDISPO_M - $TOTtotDISPO_M_int);
+	$TOTtotDISPO_S = ($TOTtotDISPO_S * 60);
+	$TOTtotDISPO_S = round($TOTtotDISPO_S, 0);
+	if ($TOTtotDISPO_S < 10) {$TOTtotDISPO_S = "0$TOTtotDISPO_S";}
+	$TOTtotDISPO_MS = "$TOTtotDISPO_M_int:$TOTtotDISPO_S";
+	$TOTtotDISPO_MS =		sprintf("%8s", $TOTtotDISPO_MS);
+		while(strlen($TOTtotDISPO_MS)>8) {$TOTtotDISPO_MS = substr("$TOTtotDISPO_MS", 0, -1);}
+
+	$TOTtotPAUSE_M = ($TOTtotPAUSE / 60);
+	$TOTtotPAUSE_M_int = round($TOTtotPAUSE_M, 2);
+	$TOTtotPAUSE_M_int = intval("$TOTtotPAUSE_M_int");
+	$TOTtotPAUSE_S = ($TOTtotPAUSE_M - $TOTtotPAUSE_M_int);
+	$TOTtotPAUSE_S = ($TOTtotPAUSE_S * 60);
+	$TOTtotPAUSE_S = round($TOTtotPAUSE_S, 0);
+	if ($TOTtotPAUSE_S < 10) {$TOTtotPAUSE_S = "0$TOTtotPAUSE_S";}
+	$TOTtotPAUSE_MS = "$TOTtotPAUSE_M_int:$TOTtotPAUSE_S";
+	$TOTtotPAUSE_MS =		sprintf("%8s", $TOTtotPAUSE_MS);
+		while(strlen($TOTtotPAUSE_MS)>8) {$TOTtotPAUSE_MS = substr("$TOTtotPAUSE_MS", 0, -1);}
+
+	$TOTtotWAIT_M = ($TOTtotWAIT / 60);
+	$TOTtotWAIT_M_int = round($TOTtotWAIT_M, 2);
+	$TOTtotWAIT_M_int = intval("$TOTtotWAIT_M_int");
+	$TOTtotWAIT_S = ($TOTtotWAIT_M - $TOTtotWAIT_M_int);
+	$TOTtotWAIT_S = ($TOTtotWAIT_S * 60);
+	$TOTtotWAIT_S = round($TOTtotWAIT_S, 0);
+	if ($TOTtotWAIT_S < 10) {$TOTtotWAIT_S = "0$TOTtotWAIT_S";}
+	$TOTtotWAIT_MS = "$TOTtotWAIT_M_int:$TOTtotWAIT_S";
+	$TOTtotWAIT_MS =		sprintf("%8s", $TOTtotWAIT_MS);
+		while(strlen($TOTtotWAIT_MS)>8) {$TOTtotWAIT_MS = substr("$TOTtotWAIT_MS", 0, -1);}
+
+
+	$TOTavgTALK_M = ( ($TOTtotTALK / $TOTcalls) / 60);
+	$TOTavgTALK_M_int = round($TOTavgTALK_M, 2);
+	$TOTavgTALK_M_int = intval("$TOTavgTALK_M_int");
+	$TOTavgTALK_S = ($TOTavgTALK_M - $TOTavgTALK_M_int);
+	$TOTavgTALK_S = ($TOTavgTALK_S * 60);
+	$TOTavgTALK_S = round($TOTavgTALK_S, 0);
+	if ($TOTavgTALK_S < 10) {$TOTavgTALK_S = "0$TOTavgTALK_S";}
+	$TOTavgTALK_MS = "$TOTavgTALK_M_int:$TOTavgTALK_S";
+	$TOTavgTALK_MS =		sprintf("%6s", $TOTavgTALK_MS);
+		while(strlen($TOTavgTALK_MS)>6) {$TOTavgTALK_MS = substr("$TOTavgTALK_MS", 0, -1);}
+
+	$TOTavgDISPO_M = ( ($TOTtotDISPO / $TOTcalls) / 60);
+	$TOTavgDISPO_M_int = round($TOTavgDISPO_M, 2);
+	$TOTavgDISPO_M_int = intval("$TOTavgDISPO_M_int");
+	$TOTavgDISPO_S = ($TOTavgDISPO_M - $TOTavgDISPO_M_int);
+	$TOTavgDISPO_S = ($TOTavgDISPO_S * 60);
+	$TOTavgDISPO_S = round($TOTavgDISPO_S, 0);
+	if ($TOTavgDISPO_S < 10) {$TOTavgDISPO_S = "0$TOTavgDISPO_S";}
+	$TOTavgDISPO_MS = "$TOTavgDISPO_M_int:$TOTavgDISPO_S";
+	$TOTavgDISPO_MS =		sprintf("%6s", $TOTavgDISPO_MS);
+		while(strlen($TOTavgDISPO_MS)>6) {$TOTavgDISPO_MS = substr("$TOTavgDISPO_MS", 0, -1);}
+
+	$TOTavgPAUSE_M = ( ($TOTtotPAUSE / $TOTcalls) / 60);
+	$TOTavgPAUSE_M_int = round($TOTavgPAUSE_M, 2);
+	$TOTavgPAUSE_M_int = intval("$TOTavgPAUSE_M_int");
+	$TOTavgPAUSE_S = ($TOTavgPAUSE_M - $TOTavgPAUSE_M_int);
+	$TOTavgPAUSE_S = ($TOTavgPAUSE_S * 60);
+	$TOTavgPAUSE_S = round($TOTavgPAUSE_S, 0);
+	if ($TOTavgPAUSE_S < 10) {$TOTavgPAUSE_S = "0$TOTavgPAUSE_S";}
+	$TOTavgPAUSE_MS = "$TOTavgPAUSE_M_int:$TOTavgPAUSE_S";
+	$TOTavgPAUSE_MS =		sprintf("%6s", $TOTavgPAUSE_MS);
+		while(strlen($TOTavgPAUSE_MS)>6) {$TOTavgPAUSE_MS = substr("$TOTavgPAUSE_MS", 0, -1);}
+
+	$TOTavgWAIT_M = ( ($TOTtotWAIT / $TOTcalls) / 60);
+	$TOTavgWAIT_M_int = round($TOTavgWAIT_M, 2);
+	$TOTavgWAIT_M_int = intval("$TOTavgWAIT_M_int");
+	$TOTavgWAIT_S = ($TOTavgWAIT_M - $TOTavgWAIT_M_int);
+	$TOTavgWAIT_S = ($TOTavgWAIT_S * 60);
+	$TOTavgWAIT_S = round($TOTavgWAIT_S, 0);
+	if ($TOTavgWAIT_S < 10) {$TOTavgWAIT_S = "0$TOTavgWAIT_S";}
+	$TOTavgWAIT_MS = "$TOTavgWAIT_M_int:$TOTavgWAIT_S";
+	$TOTavgWAIT_MS =		sprintf("%6s", $TOTavgWAIT_MS);
+		while(strlen($TOTavgWAIT_MS)>6) {$TOTavgWAIT_MS = substr("$TOTavgWAIT_MS", 0, -1);}
+
+
+echo "+-----------------+----------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
+echo "|  TOTALI        AGENTS:$TOT_AGENTS | $TOTcalls| $TOTtime_MS|$TOTtotPAUSE_MS| $TOTavgPAUSE_MS |$TOTtotWAIT_MS| $TOTavgWAIT_MS |$TOTtotTALK_MS| $TOTavgTALK_MS |$TOTtotDISPO_MS| $TOTavgDISPO_MS |$SUMstatusesHTML\n";
+echo "+----------------------------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
+
+echo "\n\n";
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+$sub_statuses='-';
+$sub_statusesTXT='';
+$sub_statusesHEAD='';
+$sub_statusesHTML='';
+$sub_statusesARY=$MT;
+$j=0;
+$PCusers='-';
+$PCusersARY=$MT;
+$PCuser_namesARY=$MT;
+$k=0;
+$stmt="select full_name,vicidial_users.user,sum(pause_sec),sub_status,sum(wait_sec + talk_sec + dispo_sec) from vicidial_users,vicidial_agent_log where event_time <= '$query_date_END' and event_time >= '$query_date_BEGIN' and vicidial_users.user=vicidial_agent_log.user and campaign_id='" . mysql_real_escape_string($group) . "' and pause_sec<36000 $ugSQL group by user,full_name,sub_status order by user,full_name,sub_status desc limit 100000;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$subs_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $subs_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	$PCfull_name[$i] =	$row[0];
+	$PCuser[$i] =		$row[1];
+	$PCpause_sec[$i] =	$row[2];
+	$sub_status[$i] =	$row[3];
+	$PCnon_pause_sec[$i] =	$row[4];
+
+#	echo "$sub_status[$i]|$PCpause_sec[$i]\n";
+#	if ( (!eregi("-$sub_status[$i]-", $sub_statuses)) and (strlen($sub_status[$i])>0) )
+	if (!eregi("-$sub_status[$i]-", $sub_statuses))
+		{
+		$sub_statusesTXT = sprintf("%8s", $sub_status[$i]);
+		$sub_statusesHEAD .= "----------+";
+		$sub_statusesHTML .= " $sub_statusesTXT |";
+		$sub_statuses .= "$sub_status[$i]-";
+		$sub_statusesARY[$j] = $sub_status[$i];
+		$j++;
+		}
+	if (!eregi("-$PCuser[$i]-", $PCusers))
+		{
+		$PCusers .= "$PCuser[$i]-";
+		$PCusersARY[$k] = $PCuser[$i];
+		$PCuser_namesARY[$k] = $PCfull_name[$i];
+		$k++;
+		}
+
+	$i++;
+	}
+
+echo "PAUSE CODE BREAKDOWN:\n";
+echo "+-----------------+----------+--------+--------+--------+  +$sub_statusesHEAD\n";
+echo "| USER NAME       | ID       | TOTAL  |NONPAUSE| PAUSE  |  |$sub_statusesHTML\n";
+echo "+-----------------+----------+--------+--------+--------+  +$sub_statusesHEAD\n";
+
+
+### BEGIN loop through each user ###
+$m=0;
+$Suser_ct = count($usersARY);
+$TOTtotNONPAUSE = 0;
+$TOTtotTOTAL = 0;
+
+while ($m < $k)
+	{
+	$d=0;
+	while ($d < $Suser_ct)
+		{
+		if ($usersARY[$d] === "$PCusersARY[$m]")
+			{$pcPAUSEtotal = $PAUSEtotal[$d];}
+		$d++;
+		}
+	$Suser=$PCusersARY[$m];
+	$Sfull_name=$PCuser_namesARY[$m];
+	$Spause_sec=0;
+	$Snon_pause_sec=0;
+	$Stotal_sec=0;
+	$SstatusesHTML='';
+
+	### BEGIN loop through each status ###
+	$n=0;
+	while ($n < $j)
+		{
+		$Sstatus=$sub_statusesARY[$n];
+		$SstatusTXT='';
+		### BEGIN loop through each stat line ###
+		$i=0; $status_found=0;
+		while ($i < $subs_to_print)
+			{
+			if ( ($Suser=="$PCuser[$i]") and ($Sstatus=="$sub_status[$i]") )
+				{
+				$Spause_sec =	($Spause_sec + $PCpause_sec[$i]);
+				$Snon_pause_sec =	($Snon_pause_sec + $PCnon_pause_sec[$i]);
+				$Stotal_sec =	($Stotal_sec + $PCnon_pause_sec[$i] + $PCpause_sec[$i]);
+
+				$USERcodePAUSE_M = ($PCpause_sec[$i] / 60);
+				$USERcodePAUSE_M_int = round($USERcodePAUSE_M, 2);
+				$USERcodePAUSE_M_int = intval("$USERcodePAUSE_M_int");
+				$USERcodePAUSE_S = ($USERcodePAUSE_M - $USERcodePAUSE_M_int);
+				$USERcodePAUSE_S = ($USERcodePAUSE_S * 60);
+				$USERcodePAUSE_S = round($USERcodePAUSE_S, 0);
+				if ($USERcodePAUSE_S < 10) {$USERcodePAUSE_S = "0$USERcodePAUSE_S";}
+				$USERcodePAUSE_MS = "$USERcodePAUSE_M_int:$USERcodePAUSE_S";
+				$pfUSERcodePAUSE_MS =		sprintf("%6s", $USERcodePAUSE_MS);
+
+				$SstatusTXT = sprintf("%8s", $pfUSERcodePAUSE_MS);
+				$SstatusesHTML .= " $SstatusTXT |";
+				$status_found++;
+				}
+			$i++;
+			}
+		if ($status_found < 1)
+			{
+			$SstatusesHTML .= "        0 |";
+			}
+		### END loop through each stat line ###
+		$n++;
+		}
+	### END loop through each status ###
+	$TOTtotPAUSE=($TOTtotPAUSE + $Spause_sec);
+
+	if ($non_latin < 1)
+		{
+		$Sfull_name=	sprintf("%-15s", $Sfull_name); 
+		while(strlen($Sfull_name)>15) {$Sfull_name = substr("$Sfull_name", 0, -1);}
+		$Suser =		sprintf("%-8s", $Suser);
+		while(strlen($Suser)>8) {$Suser = substr("$Suser", 0, -1);}
+		}
+	else
+		{
+		$Sfull_name=	sprintf("%-45s", $Sfull_name); 
+		while(mb_strlen($Sfull_name,'utf-8')>15) {$Sfull_name = mb_substr("$Sfull_name", 0, -1,'utf-8');}
+
+		$Suser =	sprintf("%-24s", $Suser);
+		while(mb_strlen($Suser,'utf-8')>8) {$Suser = mb_substr("$Suser", 0, -1,'utf-8');}
+		}
+
+	$TOTtotNONPAUSE = ($TOTtotNONPAUSE + $Snon_pause_sec);
+	$TOTtotTOTAL = ($TOTtotTOTAL + $Stotal_sec);
+
+	$USERtotPAUSE_M = ($Spause_sec / 60);
+	$USERtotPAUSE_M_int = round($USERtotPAUSE_M, 2);
+	$USERtotPAUSE_M_int = intval("$USERtotPAUSE_M_int");
+	$USERtotPAUSE_S = ($USERtotPAUSE_M - $USERtotPAUSE_M_int);
+	$USERtotPAUSE_S = ($USERtotPAUSE_S * 60);
+	$USERtotPAUSE_S = round($USERtotPAUSE_S, 0);
+	if ($USERtotPAUSE_S < 10) {$USERtotPAUSE_S = "0$USERtotPAUSE_S";}
+	$USERtotPAUSE_MS = "$USERtotPAUSE_M_int:$USERtotPAUSE_S";
+	$pfUSERtotPAUSE_MS =		sprintf("%6s", $USERtotPAUSE_MS);
+
+	$USERtotNONPAUSE_M = ($Snon_pause_sec / 60);
+	$USERtotNONPAUSE_M_int = round($USERtotNONPAUSE_M, 2);
+	$USERtotNONPAUSE_M_int = intval("$USERtotNONPAUSE_M_int");
+	$USERtotNONPAUSE_S = ($USERtotNONPAUSE_M - $USERtotNONPAUSE_M_int);
+	$USERtotNONPAUSE_S = ($USERtotNONPAUSE_S * 60);
+	$USERtotNONPAUSE_S = round($USERtotNONPAUSE_S, 0);
+	if ($USERtotNONPAUSE_S < 10) {$USERtotNONPAUSE_S = "0$USERtotNONPAUSE_S";}
+	$USERtotNONPAUSE_MS = "$USERtotNONPAUSE_M_int:$USERtotNONPAUSE_S";
+	$pfUSERtotNONPAUSE_MS =		sprintf("%6s", $USERtotNONPAUSE_MS);
+
+	$USERtotTOTAL_M = ($Stotal_sec / 60);
+	$USERtotTOTAL_M_int = round($USERtotTOTAL_M, 2);
+	$USERtotTOTAL_M_int = intval("$USERtotTOTAL_M_int");
+	$USERtotTOTAL_S = ($USERtotTOTAL_M - $USERtotTOTAL_M_int);
+	$USERtotTOTAL_S = ($USERtotTOTAL_S * 60);
+	$USERtotTOTAL_S = round($USERtotTOTAL_S, 0);
+	if ($USERtotTOTAL_S < 10) {$USERtotTOTAL_S = "0$USERtotTOTAL_S";}
+	$USERtotTOTAL_MS = "$USERtotTOTAL_M_int:$USERtotTOTAL_S";
+	$pfUSERtotTOTAL_MS =		sprintf("%6s", $USERtotTOTAL_MS);
+
+
+	echo "| $Sfull_name | $Suser | $pfUSERtotTOTAL_MS | $pfUSERtotNONPAUSE_MS | $pfUSERtotPAUSE_MS |  |$SstatusesHTML\n";
+	$m++;
+	}
+### END loop through each user ###
+
+
+###### LAST LINE FORMATTING ##########
+### BEGIN loop through each status ###
+$SUMstatusesHTML='';
+$TOTtotPAUSE=0;
+$n=0;
+while ($n < $j)
+	{
+	$Scalls=0;
+	$Sstatus=$sub_statusesARY[$n];
+	$SUMstatusTXT='';
+	### BEGIN loop through each stat line ###
+	$i=0; $status_found=0;
+	while ($i < $subs_to_print)
+		{
+		if ($Sstatus=="$sub_status[$i]")
+			{
+			$Scalls =		($Scalls + $PCpause_sec[$i]);
+			$status_found++;
+			}
+		$i++;
+		}
+	### END loop through each stat line ###
+	if ($status_found < 1)
+		{
+		$SUMstatusesHTML .= "        0 |";
+		}
+	else
+		{
+		$TOTtotPAUSE = ($TOTtotPAUSE + $Scalls);
+
+		$USERsumstatPAUSE_M = ($Scalls / 60);
+		$USERsumstatPAUSE_M_int = round($USERsumstatPAUSE_M, 2);
+		$USERsumstatPAUSE_M_int = intval("$USERsumstatPAUSE_M_int");
+		$USERsumstatPAUSE_S = ($USERsumstatPAUSE_M - $USERsumstatPAUSE_M_int);
+		$USERsumstatPAUSE_S = ($USERsumstatPAUSE_S * 60);
+		$USERsumstatPAUSE_S = round($USERsumstatPAUSE_S, 0);
+		if ($USERsumstatPAUSE_S < 10) {$USERsumstatPAUSE_S = "0$USERsumstatPAUSE_S";}
+		$USERsumstatPAUSE_MS = "$USERsumstatPAUSE_M_int:$USERsumstatPAUSE_S";
+		$pfUSERsumstatPAUSE_MS =		sprintf("%6s", $USERsumstatPAUSE_MS);
+
+		$SUMstatusTXT = sprintf("%8s", $pfUSERsumstatPAUSE_MS);
+		$SUMstatusesHTML .= " $SUMstatusTXT |";
+		}
+	$n++;
+	}
+### END loop through each status ###
+
+	$TOT_AGENTS = sprintf("%-4s", $m);
+
+	$TOTtotPAUSE_M = ($TOTtotPAUSE / 60);
+	$TOTtotPAUSE_M_int = round($TOTtotPAUSE_M, 2);
+	$TOTtotPAUSE_M_int = intval("$TOTtotPAUSE_M_int");
+	$TOTtotPAUSE_S = ($TOTtotPAUSE_M - $TOTtotPAUSE_M_int);
+	$TOTtotPAUSE_S = ($TOTtotPAUSE_S * 60);
+	$TOTtotPAUSE_S = round($TOTtotPAUSE_S, 0);
+	if ($TOTtotPAUSE_S < 10) {$TOTtotPAUSE_S = "0$TOTtotPAUSE_S";}
+	$TOTtotPAUSE_MS = "$TOTtotPAUSE_M_int:$TOTtotPAUSE_S";
+	$TOTtotPAUSE_MS =		sprintf("%8s", $TOTtotPAUSE_MS);
+		while(strlen($TOTtotPAUSE_MS)>8) {$TOTtotPAUSE_MS = substr("$TOTtotPAUSE_MS", 0, -1);}
+
+	$TOTtotNONPAUSE_M = ($TOTtotNONPAUSE / 60);
+	$TOTtotNONPAUSE_M_int = round($TOTtotNONPAUSE_M, 2);
+	$TOTtotNONPAUSE_M_int = intval("$TOTtotNONPAUSE_M_int");
+	$TOTtotNONPAUSE_S = ($TOTtotNONPAUSE_M - $TOTtotNONPAUSE_M_int);
+	$TOTtotNONPAUSE_S = ($TOTtotNONPAUSE_S * 60);
+	$TOTtotNONPAUSE_S = round($TOTtotNONPAUSE_S, 0);
+	if ($TOTtotNONPAUSE_S < 10) {$TOTtotNONPAUSE_S = "0$TOTtotNONPAUSE_S";}
+	$TOTtotNONPAUSE_MS = "$TOTtotNONPAUSE_M_int:$TOTtotNONPAUSE_S";
+	$TOTtotNONPAUSE_MS =		sprintf("%8s", $TOTtotNONPAUSE_MS);
+		while(strlen($TOTtotNONPAUSE_MS)>8) {$TOTtotNONPAUSE_MS = substr("$TOTtotNONPAUSE_MS", 0, -1);}
+
+	$TOTtotTOTAL_M = ($TOTtotTOTAL / 60);
+	$TOTtotTOTAL_M_int = round($TOTtotTOTAL_M, 2);
+	$TOTtotTOTAL_M_int = intval("$TOTtotTOTAL_M_int");
+	$TOTtotTOTAL_S = ($TOTtotTOTAL_M - $TOTtotTOTAL_M_int);
+	$TOTtotTOTAL_S = ($TOTtotTOTAL_S * 60);
+	$TOTtotTOTAL_S = round($TOTtotTOTAL_S, 0);
+	if ($TOTtotTOTAL_S < 10) {$TOTtotTOTAL_S = "0$TOTtotTOTAL_S";}
+	$TOTtotTOTAL_MS = "$TOTtotTOTAL_M_int:$TOTtotTOTAL_S";
+	$TOTtotTOTAL_MS =		sprintf("%8s", $TOTtotTOTAL_MS);
+		while(strlen($TOTtotTOTAL_MS)>8) {$TOTtotTOTAL_MS = substr("$TOTtotTOTAL_MS", 0, -1);}
+
+
+
+echo "+-----------------+----------+--------+--------+--------+  +$sub_statusesHEAD\n";
+echo "|  TOTALI        AGENTS:$TOT_AGENTS |$TOTtotTOTAL_MS|$TOTtotNONPAUSE_MS|$TOTtotPAUSE_MS|  |$SUMstatusesHTML\n";
+echo "+----------------------------+--------+--------+--------+  +$sub_statusesHEAD\n";
+
+echo "\n\n";
+
+}
+
+
+?>
+
+
\ No newline at end of file
diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_agent_time_sheet.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_agent_time_sheet.php
new file mode 100644
index 00000000..163c3487
--- /dev/null
+++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_agent_time_sheet.php
@@ -0,0 +1,385 @@
+    LICENSE: AGPLv2
+#
+# CHANGES
+#
+# 60619-1729 - Added variable filtering to eliminate SQL injection attack threat
+#            - Added required user/pass to gain access to this page
+# 80624-0132 - Added vicidial_timeclock entries
+#
+
+require("dbconnect.php");
+
+$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
+$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
+$PHP_SELF=$_SERVER['PHP_SELF'];
+if (isset($_GET["agent"]))				{$agent=$_GET["agent"];}
+	elseif (isset($_POST["agent"]))		{$agent=$_POST["agent"];}
+if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
+	elseif (isset($_POST["query_date"]))	{$query_date=$_POST["query_date"];}
+if (isset($_GET["calls_summary"]))			{$calls_summary=$_GET["calls_summary"];}
+	elseif (isset($_POST["calls_summary"]))	{$calls_summary=$_POST["calls_summary"];}
+if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
+	elseif (isset($_POST["submit"]))	{$submit=$_POST["submit"];}
+if (isset($_GET["INVIA"]))				{$INVIA=$_GET["INVIA"];}
+	elseif (isset($_POST["INVIA"]))	{$INVIA=$_POST["INVIA"];}
+
+$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
+$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
+
+	$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
+	if ($DB) {echo "|$stmt|\n";}
+	$rslt=mysql_query($stmt, $link);
+	$row=mysql_fetch_row($rslt);
+	$auth=$row[0];
+
+  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
+	{
+    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
+    Header("HTTP/1.0 401 Unauthorized");
+    echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
+    exit;
+	}
+
+$NOW_DATE = date("Y-m-d");
+$NOW_TIME = date("Y-m-d H:i:s");
+$STARTtime = date("U");
+if (!isset($query_date)) {$query_date = $NOW_DATE;}
+
+?>
+
+
+
+
+
+\n";
+echo "VICIDIAL: Agent Time Sheet\n";
+echo "VICIDIAL ADMIN: Agent Time Sheet\n";
+echo " - User Stats\n";
+echo " - User Status\n";
+echo " - Modifica Utente\n";
+echo "
\n"; +echo "
  \n"; +echo "Date: \n"; +echo "User ID: \n"; +echo "\n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$agent)
+{
+echo "\n";
+echo "PLEASE SELECT AN AGENT ID AND DATE-TIME ABOVE AND CLICK INVIA\n";
+echo " NOTE: stats taken from available agent log data\n";
+}
+
+else
+{
+$query_date_BEGIN = "$query_date 00:00:00";   
+$query_date_END = "$query_date 23:59:59";
+$time_BEGIN = "00:00:00";   
+$time_END = "23:59:59";
+
+$stmt="select full_name from vicidial_users where user='$agent';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$full_name = $row[0];
+
+echo "VICIDIAL: Agent Time Sheet                             $NOW_TIME\n";
+
+echo "Intervallo Di Tempo: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- AGENT TIME SHEET: $agent - $full_name -------------\n\n";
+
+if ($calls_summary)
+	{
+	$stmt="select count(*) as calls,sum(talk_sec) as talk,avg(talk_sec),sum(pause_sec),avg(pause_sec),sum(wait_sec),avg(wait_sec),sum(dispo_sec),avg(dispo_sec) from vicidial_agent_log where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' and pause_sec<48800 and wait_sec<48800 and talk_sec<48800 and dispo_sec<48800 limit 1;";
+	$rslt=mysql_query($stmt, $link);
+	if ($DB) {echo "$stmt\n";}
+	$row=mysql_fetch_row($rslt);
+
+	$TOTAL_TIME = ($row[1] + $row[3] + $row[5] + $row[7]);
+
+		$TOTAL_TIME_H = ($TOTAL_TIME / 3600);
+		$TOTAL_TIME_H = round($TOTAL_TIME_H, 2);
+		$TOTAL_TIME_H_int = intval("$TOTAL_TIME_H");
+		$TOTAL_TIME_M = ($TOTAL_TIME_H - $TOTAL_TIME_H_int);
+		$TOTAL_TIME_M = ($TOTAL_TIME_M * 60);
+		$TOTAL_TIME_M = round($TOTAL_TIME_M, 2);
+		$TOTAL_TIME_M_int = intval("$TOTAL_TIME_M");
+		$TOTAL_TIME_S = ($TOTAL_TIME_M - $TOTAL_TIME_M_int);
+		$TOTAL_TIME_S = ($TOTAL_TIME_S * 60);
+		$TOTAL_TIME_S = round($TOTAL_TIME_S, 0);
+		if ($TOTAL_TIME_S < 10) {$TOTAL_TIME_S = "0$TOTAL_TIME_S";}
+		if ($TOTAL_TIME_M_int < 10) {$TOTAL_TIME_M_int = "0$TOTAL_TIME_M_int";}
+		$TOTAL_TIME_HMS = "$TOTAL_TIME_H_int:$TOTAL_TIME_M_int:$TOTAL_TIME_S";
+		$pfTOTAL_TIME_HMS =		sprintf("%8s", $TOTAL_TIME_HMS);
+
+		$TALK_TIME_H = ($row[1] / 3600);
+		$TALK_TIME_H = round($TALK_TIME_H, 2);
+		$TALK_TIME_H_int = intval("$TALK_TIME_H");
+		$TALK_TIME_M = ($TALK_TIME_H - $TALK_TIME_H_int);
+		$TALK_TIME_M = ($TALK_TIME_M * 60);
+		$TALK_TIME_M = round($TALK_TIME_M, 2);
+		$TALK_TIME_M_int = intval("$TALK_TIME_M");
+		$TALK_TIME_S = ($TALK_TIME_M - $TALK_TIME_M_int);
+		$TALK_TIME_S = ($TALK_TIME_S * 60);
+		$TALK_TIME_S = round($TALK_TIME_S, 0);
+		if ($TALK_TIME_S < 10) {$TALK_TIME_S = "0$TALK_TIME_S";}
+		if ($TALK_TIME_M_int < 10) {$TALK_TIME_M_int = "0$TALK_TIME_M_int";}
+		$TALK_TIME_HMS = "$TALK_TIME_H_int:$TALK_TIME_M_int:$TALK_TIME_S";
+		$pfTALK_TIME_HMS =		sprintf("%8s", $TALK_TIME_HMS);
+
+		$PAUSE_TIME_H = ($row[3] / 3600);
+		$PAUSE_TIME_H = round($PAUSE_TIME_H, 2);
+		$PAUSE_TIME_H_int = intval("$PAUSE_TIME_H");
+		$PAUSE_TIME_M = ($PAUSE_TIME_H - $PAUSE_TIME_H_int);
+		$PAUSE_TIME_M = ($PAUSE_TIME_M * 60);
+		$PAUSE_TIME_M = round($PAUSE_TIME_M, 2);
+		$PAUSE_TIME_M_int = intval("$PAUSE_TIME_M");
+		$PAUSE_TIME_S = ($PAUSE_TIME_M - $PAUSE_TIME_M_int);
+		$PAUSE_TIME_S = ($PAUSE_TIME_S * 60);
+		$PAUSE_TIME_S = round($PAUSE_TIME_S, 0);
+		if ($PAUSE_TIME_S < 10) {$PAUSE_TIME_S = "0$PAUSE_TIME_S";}
+		if ($PAUSE_TIME_M_int < 10) {$PAUSE_TIME_M_int = "0$PAUSE_TIME_M_int";}
+		$PAUSE_TIME_HMS = "$PAUSE_TIME_H_int:$PAUSE_TIME_M_int:$PAUSE_TIME_S";
+		$pfPAUSE_TIME_HMS =		sprintf("%8s", $PAUSE_TIME_HMS);
+
+		$WAIT_TIME_H = ($row[5] / 3600);
+		$WAIT_TIME_H = round($WAIT_TIME_H, 2);
+		$WAIT_TIME_H_int = intval("$WAIT_TIME_H");
+		$WAIT_TIME_M = ($WAIT_TIME_H - $WAIT_TIME_H_int);
+		$WAIT_TIME_M = ($WAIT_TIME_M * 60);
+		$WAIT_TIME_M = round($WAIT_TIME_M, 2);
+		$WAIT_TIME_M_int = intval("$WAIT_TIME_M");
+		$WAIT_TIME_S = ($WAIT_TIME_M - $WAIT_TIME_M_int);
+		$WAIT_TIME_S = ($WAIT_TIME_S * 60);
+		$WAIT_TIME_S = round($WAIT_TIME_S, 0);
+		if ($WAIT_TIME_S < 10) {$WAIT_TIME_S = "0$WAIT_TIME_S";}
+		if ($WAIT_TIME_M_int < 10) {$WAIT_TIME_M_int = "0$WAIT_TIME_M_int";}
+		$WAIT_TIME_HMS = "$WAIT_TIME_H_int:$WAIT_TIME_M_int:$WAIT_TIME_S";
+		$pfWAIT_TIME_HMS =		sprintf("%8s", $WAIT_TIME_HMS);
+
+		$WRAPUP_TIME_H = ($row[7] / 3600);
+		$WRAPUP_TIME_H = round($WRAPUP_TIME_H, 2);
+		$WRAPUP_TIME_H_int = intval("$WRAPUP_TIME_H");
+		$WRAPUP_TIME_M = ($WRAPUP_TIME_H - $WRAPUP_TIME_H_int);
+		$WRAPUP_TIME_M = ($WRAPUP_TIME_M * 60);
+		$WRAPUP_TIME_M = round($WRAPUP_TIME_M, 2);
+		$WRAPUP_TIME_M_int = intval("$WRAPUP_TIME_M");
+		$WRAPUP_TIME_S = ($WRAPUP_TIME_M - $WRAPUP_TIME_M_int);
+		$WRAPUP_TIME_S = ($WRAPUP_TIME_S * 60);
+		$WRAPUP_TIME_S = round($WRAPUP_TIME_S, 0);
+		if ($WRAPUP_TIME_S < 10) {$WRAPUP_TIME_S = "0$WRAPUP_TIME_S";}
+		if ($WRAPUP_TIME_M_int < 10) {$WRAPUP_TIME_M_int = "0$WRAPUP_TIME_M_int";}
+		$WRAPUP_TIME_HMS = "$WRAPUP_TIME_H_int:$WRAPUP_TIME_M_int:$WRAPUP_TIME_S";
+		$pfWRAPUP_TIME_HMS =		sprintf("%8s", $WRAPUP_TIME_HMS);
+
+		$TALK_AVG_M = ($row[2] / 60);
+		$TALK_AVG_M = round($TALK_AVG_M, 2);
+		$TALK_AVG_M_int = intval("$TALK_AVG_M");
+		$TALK_AVG_S = ($TALK_AVG_M - $TALK_AVG_M_int);
+		$TALK_AVG_S = ($TALK_AVG_S * 60);
+		$TALK_AVG_S = round($TALK_AVG_S, 0);
+		if ($TALK_AVG_S < 10) {$TALK_AVG_S = "0$TALK_AVG_S";}
+		$TALK_AVG_MS = "$TALK_AVG_M_int:$TALK_AVG_S";
+		$pfTALK_AVG_MS =		sprintf("%6s", $TALK_AVG_MS);
+
+		$PAUSE_AVG_M = ($row[4] / 60);
+		$PAUSE_AVG_M = round($PAUSE_AVG_M, 2);
+		$PAUSE_AVG_M_int = intval("$PAUSE_AVG_M");
+		$PAUSE_AVG_S = ($PAUSE_AVG_M - $PAUSE_AVG_M_int);
+		$PAUSE_AVG_S = ($PAUSE_AVG_S * 60);
+		$PAUSE_AVG_S = round($PAUSE_AVG_S, 0);
+		if ($PAUSE_AVG_S < 10) {$PAUSE_AVG_S = "0$PAUSE_AVG_S";}
+		$PAUSE_AVG_MS = "$PAUSE_AVG_M_int:$PAUSE_AVG_S";
+		$pfPAUSE_AVG_MS =		sprintf("%6s", $PAUSE_AVG_MS);
+
+		$WAIT_AVG_M = ($row[6] / 60);
+		$WAIT_AVG_M = round($WAIT_AVG_M, 2);
+		$WAIT_AVG_M_int = intval("$WAIT_AVG_M");
+		$WAIT_AVG_S = ($WAIT_AVG_M - $WAIT_AVG_M_int);
+		$WAIT_AVG_S = ($WAIT_AVG_S * 60);
+		$WAIT_AVG_S = round($WAIT_AVG_S, 0);
+		if ($WAIT_AVG_S < 10) {$WAIT_AVG_S = "0$WAIT_AVG_S";}
+		$WAIT_AVG_MS = "$WAIT_AVG_M_int:$WAIT_AVG_S";
+		$pfWAIT_AVG_MS =		sprintf("%6s", $WAIT_AVG_MS);
+
+		$WRAPUP_AVG_M = ($row[8] / 60);
+		$WRAPUP_AVG_M = round($WRAPUP_AVG_M, 2);
+		$WRAPUP_AVG_M_int = intval("$WRAPUP_AVG_M");
+		$WRAPUP_AVG_S = ($WRAPUP_AVG_M - $WRAPUP_AVG_M_int);
+		$WRAPUP_AVG_S = ($WRAPUP_AVG_S * 60);
+		$WRAPUP_AVG_S = round($WRAPUP_AVG_S, 0);
+		if ($WRAPUP_AVG_S < 10) {$WRAPUP_AVG_S = "0$WRAPUP_AVG_S";}
+		$WRAPUP_AVG_MS = "$WRAPUP_AVG_M_int:$WRAPUP_AVG_S";
+		$pfWRAPUP_AVG_MS =		sprintf("%6s", $WRAPUP_AVG_MS);
+
+	echo "TOTALE CHIAMATE TAKEN: $row[0]\n";
+	echo "TALK TIME:               $pfTALK_TIME_HMS     AVERAGE: $pfTALK_AVG_MS\n";
+	echo "PAUSE TIME:              $pfPAUSE_TIME_HMS     AVERAGE: $pfPAUSE_AVG_MS\n";
+	echo "WAIT TIME:               $pfWAIT_TIME_HMS     AVERAGE: $pfWAIT_AVG_MS\n";
+	echo "WRAPUP TIME:             $pfWRAPUP_TIME_HMS     AVERAGE: $pfWRAPUP_AVG_MS\n";
+	echo "----------------------------------------------------------------\n";
+	echo "TOTAL ACTIVE AGENT TIME: $pfTOTAL_TIME_HMS\n";
+
+	echo "\n";
+	}
+else
+	{
+	echo "Call Activity Summary\n\n";
+
+	}
+
+$stmt="select event_time,UNIX_TIMESTAMP(event_time) from vicidial_agent_log where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' order by event_time limit 1;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+echo "FIRST LOGIN:          $row[0]\n";
+$start = $row[1];
+
+$stmt="select event_time,UNIX_TIMESTAMP(event_time) from vicidial_agent_log where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' order by event_time desc limit 1;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+echo "LAST LOG ACTIVITY:    $row[0]\n";
+$end = $row[1];
+
+$login_time = ($end - $start);
+	$LOGIN_TIME_H = ($login_time / 3600);
+	$LOGIN_TIME_H = round($LOGIN_TIME_H, 2);
+	$LOGIN_TIME_H_int = intval("$LOGIN_TIME_H");
+	$LOGIN_TIME_M = ($LOGIN_TIME_H - $LOGIN_TIME_H_int);
+	$LOGIN_TIME_M = ($LOGIN_TIME_M * 60);
+	$LOGIN_TIME_M = round($LOGIN_TIME_M, 2);
+	$LOGIN_TIME_M_int = intval("$LOGIN_TIME_M");
+	$LOGIN_TIME_S = ($LOGIN_TIME_M - $LOGIN_TIME_M_int);
+	$LOGIN_TIME_S = ($LOGIN_TIME_S * 60);
+	$LOGIN_TIME_S = round($LOGIN_TIME_S, 0);
+	if ($LOGIN_TIME_S < 10) {$LOGIN_TIME_S = "0$LOGIN_TIME_S";}
+	if ($LOGIN_TIME_M_int < 10) {$LOGIN_TIME_M_int = "0$LOGIN_TIME_M_int";}
+	$LOGIN_TIME_HMS = "$LOGIN_TIME_H_int:$LOGIN_TIME_M_int:$LOGIN_TIME_S";
+	$pfLOGIN_TIME_HMS =		sprintf("%8s", $LOGIN_TIME_HMS);
+
+echo "-----------------------------------------\n";
+echo "TOTAL LOGGED-IN TIME:    $pfLOGIN_TIME_HMS\n";
+
+
+### timeclock records
+
+
+##### vicidial_timeclock log records for user #####
+
+$total_login_time=0;
+$SQday_ARY =	explode('-',$query_date_BEGIN);
+$EQday_ARY =	explode('-',$query_date_END);
+$SQepoch = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]);
+$EQepoch = mktime(23, 59, 59, $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]);
+
+echo "\n";
+
+echo "TIMECLOCK TIEMPO LOGIN/LOGOUT:\n";
+echo "\n";
+echo "\n";
+
+	$stmt="SELECT event,event_epoch,user_group,login_sec,ip_address,timeclock_id,manager_user from vicidial_timeclock_log where user='$agent' and event_epoch >= '$SQepoch'  and event_epoch <= '$EQepoch';";
+	if ($DB>0) {echo "|$stmt|";}
+	$rslt=mysql_query($stmt, $link);
+	$events_to_print = mysql_num_rows($rslt);
+
+	$total_logs=0;
+	$o=0;
+	while ($events_to_print > $o) {
+		$row=mysql_fetch_row($rslt);
+		if ( ($row[0]=='START') or ($row[0]=='LOGIN') )
+			{$bgcolor='bgcolor="#B9CBFD"';} 
+		else
+			{$bgcolor='bgcolor="#9BB9FB"';}
+
+		$TC_log_date = date("Y-m-d H:i:s", $row[1]);
+
+		$manager_edit='';
+		if (strlen($row[6])>0) {$manager_edit = ' * ';}
+
+		if (ereg("LOGIN", $row[0]))
+			{
+			$login_sec='';
+			echo "";
+			echo "";
+			echo "";
+			echo "\n";
+			echo "\n";
+			echo "\n";
+			echo "\n";
+			}
+		if (ereg("LOGOUT", $row[0]))
+			{
+			$login_sec = $row[3];
+			$total_login_time = ($total_login_time + $login_sec);
+			$event_hours = ($login_sec / 3600);
+			$event_hours_int = round($event_hours, 2);
+			$event_hours_int = intval("$event_hours_int");
+			$event_minutes = ($event_hours - $event_hours_int);
+			$event_minutes = ($event_minutes * 60);
+			$event_minutes_int = round($event_minutes, 0);
+			if ($event_minutes_int < 10) {$event_minutes_int = "0$event_minutes_int";}
+			echo "";
+			echo "";
+			echo "";
+			echo "\n";
+			echo "\n";
+			echo "\n";
+			echo "\n";
+			}
+		$o++;
+	}
+if (strlen($login_sec)<1)
+	{
+	$login_sec = ($STARTtime - $row[1]);
+	$total_login_time = ($total_login_time + $login_sec);
+		if ($DB) {echo "LOGIN ONLY - $total_login_time - $login_sec";}
+	}
+$total_login_hours = ($total_login_time / 3600);
+$total_login_hours_int = round($total_login_hours, 2);
+$total_login_hours_int = intval("$total_login_hours_int");
+$total_login_minutes = ($total_login_hours - $total_login_hours_int);
+$total_login_minutes = ($total_login_minutes * 60);
+$total_login_minutes_int = round($total_login_minutes, 0);
+if ($total_login_minutes_int < 10) {$total_login_minutes_int = "0$total_login_minutes_int";}
+
+	if ($DB) {echo " - $total_login_time - $login_sec";}
+
+echo "";
+echo "\n";
+echo "\n";
+echo "\n";
+echo "\n";
+echo "\n";
+
+echo "
ID EDIT EVENTO DATA IP ADDRESS GROUPORE:MINUTI
$row[5]$manager_edit$row[0] $TC_log_date $row[4] $row[2]
$row[5]$manager_edit$row[0] $TC_log_date $row[4] $row[2] $event_hours_int:$event_minutes_int"; + if ($DB) {echo " - $total_login_time - $login_sec";} + echo "
TOTALE $total_login_hours_int:$total_login_minutes_int
\n"; + + + +} + + + +?> + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_inboundEXTstats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_inboundEXTstats.php new file mode 100644 index 00000000..1aa397b8 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_inboundEXTstats.php @@ -0,0 +1,400 @@ + LICENSE: AGPLv2 +# +# CHANGES +# 60421-1450 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60620-1322 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($server_ip)) {$server_ip = '10.10.11.20';} + +$stmt="select extension,full_number,inbound_name from inbound_numbers where server_ip='" . mysql_real_escape_string($server_ip) . "';"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$inbound_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $inbound_to_print) + { + $row=mysql_fetch_row($rslt); + $inbound[$i] =$row[0]; + $fullnum[$i] =$row[1]; + $inbname[$i] =$row[2]; + $i++; + } +?> + + + + + +\n"; +#echo"\n"; +echo "ASTERISK: Statistiche Chiamate In Entrata\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
\n\n"; + +echo "
\n\n";
+
+
+if (!$group)
+{
+echo "\n\n";
+echo "SELEZIONARE UN NUMERO E UNA DATA QUI IN ALTO E CLICCARE SU INVIA\n";
+}
+
+else
+{
+
+
+echo "ASTERISK: Statistiche Chiamate In Entrata                      $NOW_TIME\n";
+
+echo "\n";
+echo "---------- TOTALI\n";
+
+$extenSQL = "and extension='" . mysql_real_escape_string($group) . "'";
+if (eregi("\*",$group))
+	{$extenSQL = "and extension LIKE \"%$group\"";}
+$stmt="select count(*),sum(length_in_sec) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$TOTALcalls =	sprintf("%10s", $row[0]);
+$average_hold_seconds = ($row[1] / $row[0]);
+$average_hold_seconds = round($average_hold_seconds, 0);
+$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+
+echo "Totale chiamate ricevute da questo numero:       $TOTALcalls\n";
+echo "Average Call Length(seconds) for all Calls:   $average_hold_seconds\n";
+
+echo "\n";
+echo "---------- ABBATTUTE\n";
+
+$stmt="select count(*),sum(length_in_sec) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+
+$DROPcalls =	sprintf("%10s", $row[0]);
+$DROPpercent = (($DROPcalls / $TOTALcalls) * 100);
+$DROPpercent = round($DROPpercent, 0);
+
+if ($row[0])
+	{
+	$average_hold_seconds = ($row[1] / $row[0]);
+	$average_hold_seconds = round($average_hold_seconds, 0);
+	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
+	}
+else {$DROPpercent=0;   $average_hold_seconds=0;}
+echo "Total DROP Calls:   (less than 10 seconds)    $DROPcalls  $DROPpercent%\n";
+echo "Average Call Length(seconds) for DROP Calls:  $average_hold_seconds\n";
+
+
+##############################
+#########  CALLS STATS
+
+echo "\n";
+echo "---------- CALL LISTINGS\n";
+echo "+----------------------+----------------------+--------+---------------------+\n";
+echo "| CALLERID             | CALLERIDNAME         | LENGTH | DATE TIME           |\n";
+echo "+----------------------+----------------------+--------+---------------------+\n";
+
+$stmt="select number_dialed,caller_code,length_in_sec,start_time from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$users_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $users_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+
+	$CID =			sprintf("%-20s", $row[0]);
+	$CIDname =		sprintf("%-20s", $row[1]); while(strlen($full_name)>15) {$full_name = substr("$full_name", 0, -1);}
+	$datetime =		sprintf("%-19s", $row[3]);
+	$USERavgTALK =	$row[2];
+
+	$USERavgTALK_M = ($USERavgTALK / 60);
+	$USERavgTALK_M = round($USERavgTALK_M, 2);
+	$USERavgTALK_M_int = intval("$USERavgTALK_M");
+	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
+	$USERavgTALK_S = ($USERavgTALK_S * 60);
+	$USERavgTALK_S = round($USERavgTALK_S, 0);
+	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
+	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
+	$USERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
+
+	echo "| $CID | $CIDname | $USERavgTALK_MS | $datetime |\n";
+
+	$i++;
+	}
+
+echo "+----------------------+----------------------+--------+---------------------+\n";
+
+##############################
+#########  TIME STATS
+
+if ($output == 'FULL')
+	{
+
+	echo "\n";
+	echo "---------- STATISTICHE TEMPO\n";
+
+	echo "\n";
+
+	$hi_hour_count=0;
+	$last_full_record=0;
+	$i=0;
+	$h=0;
+	while ($i <= 96)
+		{
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:00:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:14:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$hour_count[$i] = $row[0];
+		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+		if ($hour_count[$i] > 0) {$last_full_record = $i;}
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:00:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:14:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$drop_count[$i] = $row[0];
+		$i++;
+
+
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:15:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:29:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$hour_count[$i] = $row[0];
+		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+		if ($hour_count[$i] > 0) {$last_full_record = $i;}
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:15:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:29:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$drop_count[$i] = $row[0];
+		$i++;
+
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:30:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:44:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$hour_count[$i] = $row[0];
+		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+		if ($hour_count[$i] > 0) {$last_full_record = $i;}
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:30:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:44:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$drop_count[$i] = $row[0];
+		$i++;
+
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:45:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$hour_count[$i] = $row[0];
+		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
+		if ($hour_count[$i] > 0) {$last_full_record = $i;}
+		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:45:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
+		$rslt=mysql_query($stmt, $link);
+		if ($DB) {echo "$stmt\n";}
+		$row=mysql_fetch_row($rslt);
+		$drop_count[$i] = $row[0];
+		$i++;
+		$h++;
+		}
+
+	$hour_multiplier = (100 / $hi_hour_count);
+	#$hour_multiplier = round($hour_multiplier, 0);
+
+	echo "\n";
+	echo "GRAFICO AD INCREMENTO DI 15 MINUTI DEL TOTALE DELLE CHIAMATE\n";
+
+	$k=1;
+	$Mk=0;
+	$call_scale = '0';
+	while ($k <= 102) 
+		{
+		if ($Mk >= 5) 
+			{
+			$Mk=0;
+			$scale_num=($k / $hour_multiplier);
+			$scale_num = round($scale_num, 0);
+			$LENscale_num = (strlen($scale_num));
+			$k = ($k + $LENscale_num);
+			$call_scale .= "$scale_num";
+			}
+		else
+			{
+			$call_scale .= " ";
+			$k++;   $Mk++;
+			}
+		}
+
+
+	echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+	#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | DROPS | TOTAL |\n";
+	echo "| HOUR |$call_scale| DROPS | TOTAL |\n";
+	echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+	$ZZ = '00';
+	$i=0;
+	$h=4;
+	$hour= -1;
+	$no_lines_yet=1;
+
+	while ($i <= 96)
+		{
+		$char_counter=0;
+		$time = '      ';
+		if ($h >= 4) 
+			{
+			$hour++;
+			$h=0;
+			if ($hour < 10) {$hour = "0$hour";}
+			$time = "+$hour$ZZ+";
+			}
+		if ($h == 1) {$time = "   15 ";}
+		if ($h == 2) {$time = "   30 ";}
+		if ($h == 3) {$time = "   45 ";}
+		$Ghour_count = $hour_count[$i];
+		if ($Ghour_count < 1) 
+			{
+			if ( ($no_lines_yet) or ($i > $last_full_record) )
+				{
+				$do_nothing=1;
+				}
+			else
+				{
+				$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+				echo "|$time|";
+				$k=0;   while ($k <= 102) {echo " ";   $k++;}
+				echo "| $hour_count[$i] |\n";
+				}
+			}
+		else
+			{
+			$no_lines_yet=0;
+			$Xhour_count = ($Ghour_count * $hour_multiplier);
+			$Yhour_count = (99 - $Xhour_count);
+
+			$Gdrop_count = $drop_count[$i];
+			if ($Gdrop_count < 1) 
+				{
+				$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+
+				echo "|$time|";
+				$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
+				echo "*X";   $char_counter++;
+				$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+					while ($char_counter <= 101) {echo " ";   $char_counter++;}
+				echo "| 0     | $hour_count[$i] |\n";
+
+				}
+			else
+				{
+				$Xdrop_count = ($Gdrop_count * $hour_multiplier);
+
+			#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
+
+				$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
+
+				$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
+				$drop_count[$i] =	sprintf("%-5s", $drop_count[$i]);
+
+				echo "|$time|";
+				$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
+				echo "D";   $char_counter++;
+				$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
+				echo "X";   $char_counter++;
+				$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
+					while ($char_counter <= 102) {echo " ";   $char_counter++;}
+				echo "| $drop_count[$i] | $hour_count[$i] |\n";
+				}
+			}
+		
+		
+		$i++;
+		$h++;
+		}
+
+
+	echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
+
+
+	}
+
+
+
+
+}
+
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_server_performance.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_server_performance.php new file mode 100644 index 00000000..a4d35218 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_server_performance.php @@ -0,0 +1,332 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 60619-1732 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 70417-1106 - Changed time frame to be definable per time range on a single day +# - Fixed vertical scaling issues +# 80118-1508 - Fixed horizontal scale marking issues +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["begin_query_time"])) {$begin_query_time=$_GET["begin_query_time"];} + elseif (isset($_POST["begin_query_time"])) {$begin_query_time=$_POST["begin_query_time"];} +if (isset($_GET["end_query_time"])) {$end_query_time=$_GET["end_query_time"];} + elseif (isset($_POST["end_query_time"])) {$end_query_time=$_POST["end_query_time"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and modify_servers='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +# path from root to where ploticus files will be stored +$PLOTroot = "vicidial/ploticus"; +$DOCroot = "$WeBServeRRooT/$PLOTroot/"; + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); + +if (!isset($begin_query_time)) {$begin_query_time = "$NOW_DATE 09:00:00";} +if (!isset($end_query_time)) {$end_query_time = "$NOW_DATE 15:30:00";} +if (!isset($group)) {$group = '';} + +$stmt="select server_ip from servers;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$servers_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $servers_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Server Performance\n"; +echo "
\n"; +echo "Intervallo di tempo in formato Data/Ora: \n"; +echo "to \n"; +echo "Server: \n"; +echo "\n"; +echo "             REPORT \n"; +echo "
\n\n"; + +echo "
\n";
+
+
+if (!$group)
+{
+echo "\n";
+echo "PER FAVORE SELEZIONA UN SERVER E UN INTERVALLO DI TEMPO, POI PREMI INVIA\n";
+}
+
+else
+{
+
+$query_date_BEGIN = $begin_query_time;   
+$query_date_END = $end_query_time;
+
+
+echo "VICIDIAL: Server Performance                             $NOW_TIME\n";
+
+echo "Intervallo Di Tempo: $query_date_BEGIN to $query_date_END\n\n";
+echo "---------- TOTALI, PEAKS and AVERAGES\n";
+
+$stmt="select AVG(sysload),AVG(channels_total),MAX(sysload),MAX(channels_total),MAX(processes) from server_performance where start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and server_ip='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$AVGload =	sprintf("%10s", $row[0]);
+$AVGchannels =	sprintf("%10s", $row[1]);
+$HIGHload =	$row[2];
+	$HIGHmulti = intval($HIGHload / 100);
+$HIGHchannels =	$row[3];
+$HIGHprocesses =$row[4];
+if ($row[2] > $row[3]) {$HIGHlimit = $row[2];}
+else {$HIGHlimit = $row[3];}
+if ($HIGHlimit < $row[4]) {$HIGHlimit = $row[4];}
+
+$stmt="select AVG(cpu_user_percent),AVG(cpu_system_percent),AVG(cpu_idle_percent) from server_performance where start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and server_ip='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$AVGcpuUSER =	sprintf("%10s", $row[0]);
+$AVGcpuSYSTEM =	sprintf("%10s", $row[1]);
+$AVGcpuIDLE =	sprintf("%10s", $row[2]);
+
+$stmt="select count(*),SUM(length_in_min) from call_log where extension NOT IN('8365','8366','8367') and  start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and server_ip='" . mysql_real_escape_string($group) . "';";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$row=mysql_fetch_row($rslt);
+$TOTALcalls =	sprintf("%10s", $row[0]);
+$OFFHOOKtime =	sprintf("%10s", $row[1]);
+
+
+echo "Total Calls in/out on this server:        $TOTALcalls\n";
+echo "Total Off-Hook time on this server (min): $OFFHOOKtime\n";
+echo "Average/Peak channels in use for server:  $AVGchannels / $HIGHchannels\n";
+echo "Average/Peak load for server:             $AVGload / $HIGHload\n";
+echo "Average USER process cpu percentage:      $AVGcpuUSER %\n";
+echo "Average SYSTEM process cpu percentage:    $AVGcpuSYSTEM %\n";
+echo "Average IDLE process cpu percentage:      $AVGcpuIDLE %\n";
+
+echo "\n";
+echo "---------- LINE GRAPH:\n";
+
+
+
+##############################
+#########  Graph stats
+
+$DAT = '.dat';
+$HTM = '.htm';
+$PNG = '.png';
+$filedate = date("Y-m-d_His");
+$DATfile = "$group$query_date$shift$filedate$DAT";
+$HTMfile = "$group$query_date$shift$filedate$HTM";
+$PNGfile = "$group$query_date$shift$filedate$PNG";
+
+$HTMfp = fopen ("$DOCroot/$HTMfile", "a");
+$DATfp = fopen ("$DOCroot/$DATfile", "a");
+
+$stmt="select DATE_FORMAT(start_time,'%Y-%m-%d.%H:%i:%s') as timex,sysload,processes,channels_total,live_recordings,cpu_user_percent,cpu_system_percent from server_performance where server_ip='" . mysql_real_escape_string($group) . "' and start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' order by timex limit 99999;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$rows_to_print = mysql_num_rows($rslt);
+$i=0;
+while ($i < $rows_to_print)
+	{
+	$row=mysql_fetch_row($rslt);
+	if ($i<1) {$time_BEGIN = $row[0];}
+	$time_END = $row[0];
+	$row[5] = intval(($row[5] + $row[6]) * $HIGHmulti);
+	$row[6] = intval($row[6] * $HIGHmulti);
+	if ($rows_to_print > 9999)
+		{
+		if ($rows_to_print <= 19999)
+			{
+			if (preg_match("/0$|2$|4$|6$|8$/",$i))
+				{
+				fwrite ($DATfp, "$row[5]\t$row[6]\t$row[0]\t$row[1]\t$row[2]\t$row[3]\n");
+				}
+			}
+		if ( ($rows_to_print > 19999) and ($rows_to_print <= 49999) )
+			{
+			if (preg_match("/0$|5$/",$i))
+				{
+				fwrite ($DATfp, "$row[5]\t$row[6]\t$row[0]\t$row[1]\t$row[2]\t$row[3]\n");
+				}
+			}
+		if ( ($rows_to_print > 49999) and ($rows_to_print <= 99999) )
+			{
+			if (preg_match("/0$/",$i))
+				{
+				fwrite ($DATfp, "$row[5]\t$row[6]\t$row[0]\t$row[1]\t$row[2]\t$row[3]\n");
+				}
+			}
+		}
+	else
+		{
+		fwrite ($DATfp, "$row[5]\t$row[6]\t$row[0]\t$row[1]\t$row[2]\t$row[3]\n");
+		}
+	$i++;
+	}
+fclose($DATfp);
+
+$rows_to_max = ($rows_to_print + 100);
+
+$time_scale_abb = '5 minutes';
+$time_scale_tick = '1 minute';
+if ($i > 1000) {$time_scale_abb = '10 minutes';   $time_scale_tick = '2 minutes';}
+if ($i > 1500) {$time_scale_abb = '15 minutes';   $time_scale_tick = '3 minutes';}
+if ($i > 2000) {$time_scale_abb = '20 minutes';   $time_scale_tick = '4 minutes';}
+if ($i > 3000) {$time_scale_abb = '30 minutes';   $time_scale_tick = '5 minutes';}
+if ($i > 4000) {$time_scale_abb = '40 minutes';   $time_scale_tick = '10 minutes';}
+if ($i > 5000) {$time_scale_abb = '60 minutes';   $time_scale_tick = '15 minutes';}
+if ($i > 6000) {$time_scale_abb = '90 minutes';   $time_scale_tick = '15 minutes';}
+if ($i > 7000) {$time_scale_abb = '120 minutes';   $time_scale_tick = '30 minutes';}
+
+print "rows: $i   tick: $time_scale_abb   scale: $time_scale_tick\n";
+
+$HTMcontent  = '';
+$HTMcontent .= "#proc page\n";
+$HTMcontent .= "#if @DEVICE in png,gif\n";
+$HTMcontent .= "   scale: 0.6\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#endif\n";
+$HTMcontent .= "#proc getdata\n";
+$HTMcontent .= "file: $DOCroot/$DATfile\n";
+$HTMcontent .= "fieldnames: userproc sysproc datetime load processes channels\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc areadef\n";
+$HTMcontent .= "title: Server $group   $query_date_BEGIN to $query_date_END\n";
+$HTMcontent .= "titledetails: size=14  align=C\n";
+$HTMcontent .= "rectangle: 1 1 12 7\n";
+$HTMcontent .= "xscaletype: datetime yyyy-mm-dd.hh:mm:ss\n";
+$HTMcontent .= "xrange: $time_BEGIN $time_END\n";
+$HTMcontent .= "yrange: 0 $HIGHlimit\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc xaxis\n";
+$HTMcontent .= "stubs: inc $time_scale_abb\n";
+$HTMcontent .= "minorticinc: $time_scale_tick\n";
+$HTMcontent .= "stubformat: hh:mma\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc yaxis\n";
+$HTMcontent .= "stubs: inc 50\n";
+$HTMcontent .= "grid: color=yellow\n";
+$HTMcontent .= "gridskip: min\n";
+$HTMcontent .= "ticincrement: 100 1000\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc lineplot\n";
+$HTMcontent .= "xfield: datetime\n";
+$HTMcontent .= "yfield: userproc\n";
+$HTMcontent .= "linedetails: color=purple width=.5\n";
+$HTMcontent .= "fill: lavender\n";
+$HTMcontent .= "legendlabel: user proc%\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc lineplot\n";
+$HTMcontent .= "xfield: datetime\n";
+$HTMcontent .= "yfield: sysproc\n";
+$HTMcontent .= "linedetails: color=yelloworange width=.5\n";
+$HTMcontent .= "fill: dullyellow\n";
+$HTMcontent .= "legendlabel: system proc%\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc curvefit\n";
+$HTMcontent .= "xfield: datetime\n";
+$HTMcontent .= "yfield: load\n";
+$HTMcontent .= "linedetails: color=blue width=.5\n";
+$HTMcontent .= "legendlabel: load\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc curvefit\n";
+$HTMcontent .= "xfield: datetime\n";
+$HTMcontent .= "yfield: processes\n";
+$HTMcontent .= "linedetails: color=red width=.5\n";
+$HTMcontent .= "legendlabel: processes\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc curvefit\n";
+$HTMcontent .= "xfield: datetime\n";
+$HTMcontent .= "yfield: channels\n";
+$HTMcontent .= "linedetails: color=green width=.5\n";
+$HTMcontent .= "legendlabel: channels\n";
+$HTMcontent .= "maxinpoints: $rows_to_max\n";
+$HTMcontent .= "\n";
+$HTMcontent .= "#proc legend\n";
+$HTMcontent .= "location: max-1 max\n";
+$HTMcontent .= "seglen: 0.2\n";
+$HTMcontent .= "\n";
+
+fwrite ($HTMfp, "$HTMcontent");
+fclose($HTMfp);
+
+
+passthru("/usr/local/bin/pl -png $DOCroot/$HTMfile -o $DOCroot/$PNGfile");
+
+sleep(1);
+
+echo "
"; +echo "\n"; +echo "\n"; + + +echo ""; + +} + + + +?> + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_timeonVDAD.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_timeonVDAD.php new file mode 100644 index 00000000..faead61d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_timeonVDAD.php @@ -0,0 +1,435 @@ + LICENSE: AGPLv2 +# +# live real-time stats for the VICIDIAL Auto-Dialer +# +# CHANGES +# +# 60620-1037 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 61114-2004 - Changed to display CLOSER and DEFAULT, added trunk shortage +# 80422-0305 - Added phone login to display, lower font size to 2 +# 81013-2227 - Fixed Remote Agent display bug +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];} + elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} +if (isset($_GET["closer_display"])) {$closer_display=$_GET["closer_display"];} + elseif (isset($_POST["closer_display"])) {$closer_display=$_POST["closer_display"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +$epochSIXhoursAGO = ($STARTtime - 21600); +$timeSIXhoursAGO = date("Y-m-d H:i:s",$epochSIXhoursAGO); + +$reset_counter++; + +if ($reset_counter > 7) + { + $reset_counter=0; + + $stmt="update park_log set status='HUNGUP' where hangup_time is not null;"; +# $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + + if ($DB) + { + $stmt="delete from park_log where grab_time < '$timeSIXhoursAGO' and (hangup_time is null or hangup_time='');"; +# $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + } + } + +?> + + + +\n"; +echo " + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On VDAD\n"; +echo "
";
+
+###################################################################################
+###### SERVER INFORMATION
+###################################################################################
+
+$stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats where server_ip='" . mysql_real_escape_string($server_ip) . "';";
+$rslt=mysql_query($stmt, $link);
+$row=mysql_fetch_row($rslt);
+$balanceSHORT = $row[0];
+
+echo "SERVER: $server_ip\n";
+
+
+
+###################################################################################
+###### TIME ON SYSTEM
+###################################################################################
+
+if ($closer_display>0) {$closer_display_reverse=0;   $closer_reverse_link='DEFAULT';}
+else {$closer_display_reverse=1;   $closer_reverse_link='CLOSER';}
+
+echo "VICIDIAL: Agents Time On Calls           $NOW_TIME    $closer_reverse_link | REPORT\n\n";
+
+if ($closer_display>0)
+{
+echo "+------------+------------+--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+echo "| STATION    | PHONE      | USER   | SESSIONID | CHANNEL             | STATUS | CALLTIME | MINUTES | CAMPAIGN     | FRONT  |\n";
+echo "+------------+------------+--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+}
+else
+{
+echo "+------------+------------+--------+-----------+---------------------+--------+----------+---------+\n";
+echo "| STATION    | PHONE      | USER   | SESSIONID | CHANNEL             | STATUS | CALLTIME | MINUTES |\n";
+echo "+------------+------------+--------+-----------+---------------------+--------+----------+---------+\n";
+}
+
+$stmt="select extension,user,conf_exten,channel,status,last_call_time,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),uniqueid,lead_id from vicidial_live_agents where status NOT IN('PAUSED') and server_ip='" . mysql_real_escape_string($server_ip) . "' order by extension;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$talking_to_print = mysql_num_rows($rslt);
+	if ($talking_to_print > 0)
+	{
+	$i=0;
+	while ($i < $talking_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+		$Sextension[$i] =		$row[0];
+		$Suser[$i] =			$row[1];
+		$Ssessionid[$i] =		$row[2];
+		$Schannel[$i] =			$row[3];
+		$Sstatus[$i] =			$row[4];
+		$Sstart_time[$i] =		$row[5];
+		$Scall_time[$i] =		$row[6];
+		$Sfinish_time[$i] =		$row[7];
+		$Suniqueid[$i] =		$row[8];
+		$Slead_id[$i] =			$row[9];
+		$i++;
+		}
+
+	$i=0;
+	while ($i < $talking_to_print)
+		{
+		$phone[$i]='          ';
+		if (eregi("R/",$Sextension[$i])) 
+			{
+			$protocol = 'EXTERNAL';
+			$dialplan = eregi_replace('R/',"",$Sextension[$i]);
+			$dialplan = eregi_replace("\@.*",'',$dialplan);
+			$exten = "dialplan_number='$dialplan'";
+			}
+		if (eregi("Local/",$Sextension[$i])) 
+			{
+			$protocol = 'EXTERNAL';
+			$dialplan = eregi_replace('Local/',"",$Sextension[$i]);
+			$dialplan = eregi_replace("\@.*",'',$dialplan);
+			$exten = "dialplan_number='$dialplan'";
+			}
+		if (eregi('SIP/',$Sextension[$i])) 
+			{
+			$protocol = 'SIP';
+			$dialplan = eregi_replace('SIP/',"",$Sextension[$i]);
+			$dialplan = eregi_replace("-.*",'',$dialplan);
+			$exten = "extension='$dialplan'";
+			}
+		if (eregi('IAX2/',$Sextension[$i])) 
+			{
+			$protocol = 'IAX2';
+			$dialplan = eregi_replace('IAX2/',"",$Sextension[$i]);
+			$dialplan = eregi_replace("-.*",'',$dialplan);
+			$exten = "extension='$dialplan'";
+			}
+		if (eregi('Zap/',$Sextension[$i])) 
+			{
+			$protocol = 'Zap';
+			$dialplan = eregi_replace('Zap/',"",$Sextension[$i]);
+			$exten = "extension='$dialplan'";
+			}
+
+		$stmt="select login from phones where server_ip='" . mysql_real_escape_string($server_ip) . "' and $exten and protocol='$protocol';";
+		$rslt=mysql_query($stmt, $link);
+		$row=mysql_fetch_row($rslt);
+		$login = $row[0];
+
+		$phone[$i] =			sprintf("%-10s", $login);
+
+		if (eregi("READY|PAUSED|CLOSER",$Sstatus[$i]))
+			{
+			$Schannel[$i]='';
+			$Sstart_time[$i]='- WAIT -';
+			$Scall_time[$i]=$Sfinish_time[$i];
+			}
+		$extension[$i] = eregi_replace('Local/',"",$Sextension[$i]);
+		$extension[$i] =		sprintf("%-10s", $extension[$i]);
+			while(strlen($extension[$i])>10) {$extension[$i] = substr("$extension[$i]", 0, -1);}
+		$user[$i] =				sprintf("%-6s", $Suser[$i]);
+		$sessionid[$i] =		sprintf("%-9s", $Ssessionid[$i]);
+		$channel[$i] =			sprintf("%-19s", $Schannel[$i]);
+			$cc[$i]=0;
+		while ( (strlen($channel[$i]) > 19) and ($cc[$i] < 100) )
+			{
+			$channel[$i] = eregi_replace(".$","",$channel[$i]);   
+			$cc[$i]++;
+			if (strlen($channel[$i]) <= 19) {$cc[$i]=101;}
+			}
+		$status[$i] =			sprintf("%-6s", $Sstatus[$i]);
+		$start_time[$i] =		sprintf("%-8s", $Sstart_time[$i]);
+			$cd[$i]=0;
+		while ( (strlen($start_time[$i]) > 8) and ($cd[$i] < 100) )
+			{
+			$start_time[$i] = eregi_replace("^.","",$start_time[$i]);   
+			$cd[$i]++;
+			if (strlen($start_time[$i]) <= 8) {$cd[$i]=101;}
+			}
+		$uniqueid[$i] =			$Suniqueid[$i];
+		$lead_id[$i] =			$Slead_id[$i];
+		$closer[$i] =			$Suser[$i];
+		$call_time_S[$i] = ($STARTtime - $Scall_time[$i]);
+
+		$call_time_M[$i] = ($call_time_S[$i] / 60);
+		$call_time_M[$i] = round($call_time_M[$i], 2);
+		$call_time_M_int[$i] = intval("$call_time_M[$i]");
+		$call_time_SEC[$i] = ($call_time_M[$i] - $call_time_M_int[$i]);
+		$call_time_SEC[$i] = ($call_time_SEC[$i] * 60);
+		$call_time_SEC[$i] = round($call_time_SEC[$i], 0);
+		if ($call_time_SEC[$i] < 10) {$call_time_SEC[$i] = "0$call_time_SEC[$i]";}
+		$call_time_MS[$i] = "$call_time_M_int[$i]:$call_time_SEC[$i]";
+		$call_time_MS[$i] =		sprintf("%7s", $call_time_MS[$i]);
+
+		if ($closer_display<1)
+			{
+			$G = '';		$EG = '';
+			if ($call_time_M_int[$i] >= 5) {$G=''; $EG='';}
+			if ($call_time_M_int[$i] >= 10) {$G=''; $EG='';}
+			if (eregi("PAUSED",$Sstatus[$i])) 
+				{
+				if ($call_time_M_int >= 1) 
+					{$i++; continue;} 
+				else
+					{$G=''; $EG='';}
+				}
+			$agentcount++;
+			echo "| $G$extension[$i]$EG | $G$phone[$i]$EG | $G$user[$i]$EG | $G$sessionid[$i]$EG | $G$channel[$i]$EG | $G$status[$i]$EG | $G$start_time[$i]$EG | $G$call_time_MS[$i]$EG |\n";
+			}
+		$i++;
+		}
+
+		if ($closer_display>0)
+		{
+
+			$ext_count = $i;
+			$i=0;
+		while ($i < $ext_count)
+			{
+
+			$stmt="select campaign_id from vicidial_auto_calls where lead_id='$lead_id[$i]' and server_ip='" . mysql_real_escape_string($server_ip) . "';";
+			$rslt=mysql_query($stmt, $link);
+			if ($DB) {echo "$stmt\n";}
+			$camp_to_print = mysql_num_rows($rslt);
+			if ($camp_to_print > 0)
+				{
+				$row=mysql_fetch_row($rslt);
+				$campaign = sprintf("%-12s", $row[0]);
+				$camp_color = $row[0];
+				}
+			else
+				{$campaign = 'DEAD        ';   	$camp_color = 'DEAD';}
+			if (eregi("READY|PAUSED|CLOSER",$status[$i]))
+				{$campaign = '            ';   	$camp_color = '';}
+
+			$stmt="select user from vicidial_xfer_log where lead_id='$lead_id[$i]' and closer='$closer[$i]' order by call_date desc limit 1;";
+			$rslt=mysql_query($stmt, $link);
+			if ($DB) {echo "$stmt\n";}
+			$xfer_to_print = mysql_num_rows($rslt);
+			if ($xfer_to_print > 0)
+				{
+				$row=mysql_fetch_row($rslt);
+				$fronter = sprintf("%-6s", $row[0]);
+				}
+			else
+				{$fronter = '      ';}
+
+			$G = '';		$EG = '';
+			$G=""; $EG='';
+		#	if ($call_time_M_int[$i] >= 5) {$G=''; $EG='';}
+		#	if ($call_time_M_int[$i] >= 10) {$G=''; $EG='';}
+
+			echo "| $G$extension[$i]$EG | $G$phone[$i]$EG | $G$user[$i]$EG | $G$sessionid[$i]$EG | $G$channel[$i]$EG | $G$status[$i]$EG | $G$start_time[$i]$EG | $G$call_time_MS[$i]$EG | $G$campaign$EG | $G$fronter$EG |\n";
+
+			$i++;
+			}
+		echo "+------------+------------+--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
+		echo "  $i Operatori collegati al server $server_ip\n\n";
+	#	echo "             - 5 o piu` minuti in conversazione\n";
+	#	echo "             - Oltre 10 minuti in conversazione\n";
+		}
+	else
+		{
+		echo "+------------+------------+--------+-----------+---------------------+--------+----------+---------+\n";
+		echo "  $agentcount Operatori collegati al server $server_ip\n\n";
+
+		echo "             - Operatori in pausa\n";
+		echo "             - 5 o piu` minuti in conversazione\n";
+		echo "             - Oltre 10 minuti in conversazione\n";
+		}
+
+	}
+	else
+	{
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	echo "********************************* NESSUN OPERATORE IN CONVERSAZIONE *********************************\n";
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	}
+
+
+###################################################################################
+###### OUTBOUND CALLS
+###################################################################################
+#echo "\n\n";
+echo "----------------------------------------------------------------------------------------";
+echo "\n\n";
+echo "VICIDIAL: Time On VDAD            TRUNK SHORT: $balanceSHORT              $NOW_TIME\n\n";
+echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+echo "| CHANNEL             | STATUS | CAMPAIGN     | PHONE NUMBER       | CALLTIME | MINUTES |\n";
+echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+
+$stmt="select channel,status,campaign_id,phone_code,phone_number,call_time,UNIX_TIMESTAMP(call_time) from vicidial_auto_calls where status NOT IN('XFER') and server_ip='" . mysql_real_escape_string($server_ip) . "' order by auto_call_id desc;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$parked_to_print = mysql_num_rows($rslt);
+	if ($parked_to_print > 0)
+	{
+	$i=0;
+	while ($i < $parked_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+
+		$channel =			sprintf("%-19s", $row[0]);
+			$cc=0;
+		while ( (strlen($channel) > 19) and ($cc < 100) )
+			{
+			$channel = eregi_replace(".$","",$channel);   
+			$cc++;
+			if (strlen($channel) <= 19) {$cc=101;}
+			}
+		$start_time =		sprintf("%-8s", $row[5]);
+			$cd=0;
+		while ( (strlen($start_time) > 8) and ($cd < 100) )
+			{
+			$start_time = eregi_replace("^.","",$start_time);   
+			$cd++;
+			if (strlen($start_time) <= 8) {$cd=101;}
+			}
+		$status =			sprintf("%-6s", $row[1]);
+		$campaign =			sprintf("%-12s", $row[2]);
+			$all_phone = "$row[3]$row[4]";
+		$number_dialed =	sprintf("%-18s", $all_phone);
+		$call_time_S = ($STARTtime - $row[6]);
+
+		$call_time_M = ($call_time_S / 60);
+		$call_time_M = round($call_time_M, 2);
+		$call_time_M_int = intval("$call_time_M");
+		$call_time_SEC = ($call_time_M - $call_time_M_int);
+		$call_time_SEC = ($call_time_SEC * 60);
+		$call_time_SEC = round($call_time_SEC, 0);
+		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+		$call_time_MS = "$call_time_M_int:$call_time_SEC";
+		$call_time_MS =		sprintf("%7s", $call_time_MS);
+		$G = '';		$EG = '';
+		if (eregi("LIVE",$status)) {$G=''; $EG='';}
+	#	if ($call_time_M_int >= 6) {$G=''; $EG='';}
+
+		echo "| $G$channel$EG | $G$status$EG | $G$campaign$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+		$i++;
+		}
+
+		echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
+		echo "  $i chiamate effettuate dal server $server_ip\n\n";
+
+		echo "             - CHIAMATA IN ATTESA\n";
+	#	echo "             - Over 5 minutes on hold\n";
+
+		}
+	else
+	{
+	echo "***************************************************************************************\n";
+	echo "***************************************************************************************\n";
+	echo "******************************* NESSUNA CHIAMATA IN ATTESA*********************************\n";
+	echo "***************************************************************************************\n";
+	echo "***************************************************************************************\n";
+	}
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_timeonVDADall.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_timeonVDADall.php new file mode 100644 index 00000000..2c9184b1 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_timeonVDADall.php @@ -0,0 +1,1530 @@ + LICENSE: AGPLv2 +# +# live real-time stats for the VICIDIAL Auto-Dialer all servers +# +# STOP=4000, SLOW=40, GO=4 seconds refresh interval +# +# CHANGELOG: +# 50406-0920 - Added Paused agents < 1 min (Chris Doyle) +# 51130-1218 - Modified layout and info to show all servers in a vicidial system +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60511-1343 - Added leads and drop info at the top of the screen +# 60608-1539 - Fixed CLOSER tallies for active calls +# 60619-1658 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 60626-1453 - Added display of system load to bottom (Angelito Manansala) +# 60901-1123 - Changed display elements at the top of the screen +# 60905-1342 - Fixed non INCALL|QUEUE timer column +# 61002-1642 - Added TRUNK SHORT/FILL stats +# 61101-1318 - Added SIP and IAX Listen and Barge links option +# 61101-1647 - Added Usergroup column and user name option as well as sorting +# 61102-1155 - Made display of columns more modular, added ability to hide server info +# 61215-1131 - Added answered calls and drop percent taken from answered calls +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70123-1151 - Added non_latin options for substr in display variables, thanks Marin Blu +# 70206-1140 - Added call-type statuses to display(A-Auto, M-Manual, I-Inbound/Closer) +# 70619-1339 - Added Status Category tally display +# 71029-1900 - Changed CLOSER-type to not require campaign_id restriction +# 80227-0418 - Added priority to waiting calls display +# 80311-1550 - Added calls_today on all agents and wait time/in-group for inbound calls +# 80422-0033 - Added phonediaplay option, allow for toggle-sorting on sortable fields +# 80422-1001 - Fixed sort by phone login +# 80424-0515 - Added non_latin lookup from system_settings +# 80525-1040 - Added IVR status display and summary for inbound calls +# 80619-2047 - Added DISPO status for post-call-work while paused +# 80704-0543 - Added DEAD status for agents INCALL with no live call +# 80822-1222 - Added option for display of customer phone number +# 81011-0335 - Fixed remote agent display bug +# 81022-1500 - Added inbound call stats display option +# 81029-1023 - Changed drop percent calculation for multi-stat reports +# 81029-1706 - Added pause code display if enabled per campaign +# 81108-2337 - Added inbound-only section +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["RR"])) {$RR=$_GET["RR"];} + elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];} +if (isset($_GET["inbound"])) {$inbound=$_GET["inbound"];} + elseif (isset($_POST["inbound"])) {$inbound=$_POST["inbound"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["usergroup"])) {$usergroup=$_GET["usergroup"];} + elseif (isset($_POST["usergroup"])) {$usergroup=$_POST["usergroup"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["adastats"])) {$adastats=$_GET["adastats"];} + elseif (isset($_POST["adastats"])) {$adastats=$_POST["adastats"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} +if (isset($_GET["SIPmonitorLINK"])) {$SIPmonitorLINK=$_GET["SIPmonitorLINK"];} + elseif (isset($_POST["SIPmonitorLINK"])) {$SIPmonitorLINK=$_POST["SIPmonitorLINK"];} +if (isset($_GET["IAXmonitorLINK"])) {$IAXmonitorLINK=$_GET["IAXmonitorLINK"];} + elseif (isset($_POST["IAXmonitorLINK"])) {$IAXmonitorLINK=$_POST["IAXmonitorLINK"];} +if (isset($_GET["UGdisplay"])) {$UGdisplay=$_GET["UGdisplay"];} + elseif (isset($_POST["UGdisplay"])) {$UGdisplay=$_POST["UGdisplay"];} +if (isset($_GET["UidORname"])) {$UidORname=$_GET["UidORname"];} + elseif (isset($_POST["UidORname"])) {$UidORname=$_POST["UidORname"];} +if (isset($_GET["orderby"])) {$orderby=$_GET["orderby"];} + elseif (isset($_POST["orderby"])) {$orderby=$_POST["orderby"];} +if (isset($_GET["SERVdisplay"])) {$SERVdisplay=$_GET["SERVdisplay"];} + elseif (isset($_POST["SERVdisplay"])) {$SERVdisplay=$_POST["SERVdisplay"];} +if (isset($_GET["CALLSdisplay"])) {$CALLSdisplay=$_GET["CALLSdisplay"];} + elseif (isset($_POST["CALLSdisplay"])) {$CALLSdisplay=$_POST["CALLSdisplay"];} +if (isset($_GET["PHONEdisplay"])) {$PHONEdisplay=$_GET["PHONEdisplay"];} + elseif (isset($_POST["PHONEdisplay"])) {$PHONEdisplay=$_POST["PHONEdisplay"];} +if (isset($_GET["CUSTPHONEdisplay"])) {$CUSTPHONEdisplay=$_GET["CUSTPHONEdisplay"];} + elseif (isset($_POST["CUSTPHONEdisplay"])) {$CUSTPHONEdisplay=$_POST["CUSTPHONEdisplay"];} +if (isset($_GET["with_inbound"])) {$with_inbound=$_GET["with_inbound"];} + elseif (isset($_POST["with_inbound"])) {$with_inbound=$_POST["with_inbound"];} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if (!isset($RR)) {$RR=40;} +if (!isset($group)) {$group=''; $RR=40;} +if (!isset($usergroup)) {$usergroup='';} +if (!isset($UGdisplay)) {$UGdisplay=0;} # 0=no, 1=yes +if (!isset($UidORname)) {$UidORname=0;} # 0=id, 1=name +if (!isset($orderby)) {$orderby='timeup';} +if (!isset($SERVdisplay)) {$SERVdisplay=1;} # 0=no, 1=yes +if (!isset($CALLSdisplay)) {$CALLSdisplay=1;} # 0=no, 1=yes +if (!isset($PHONEdisplay)) {$PHONEdisplay=0;} # 0=no, 1=yes +if (!isset($CUSTPHONEdisplay)) {$CUSTPHONEdisplay=0;} # 0=no, 1=yes +if (!isset($with_inbound)) {$with_inbound='N';} # N=no, Y=yes, O=only +if (!isset($PAUSEcodes)) {$PAUSEcodes='N';} # 0=no, 1=yes +$ingroup_detail=''; + +function get_server_load($windows = false) { +$os = strtolower(PHP_OS); +if(strpos($os, "win") === false) { +if(file_exists("/proc/loadavg")) { +$load = file_get_contents("/proc/loadavg"); +$load = explode(' ', $load); +return $load[0]; +} +elseif(function_exists("shell_exec")) { +$load = explode(' ', `uptime`); +return $load[count($load)-1]; +} +else { +return false; +} +} +elseif($windows) { +if(class_exists("COM")) { +$wmi = new COM("WinMgmts:\\\\."); +$cpus = $wmi->InstancesOf("Win32_Processor"); + +$cpuload = 0; +$i = 0; +while ($cpu = $cpus->Next()) { +$cpuload += $cpu->LoadPercentage; +$i++; +} + +$cpuload = round($cpuload / $i, 2); +return "$cpuload%"; +} +else { +return false; +} +} +} + +$load_ave = get_server_load(true); + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$NOW_DAY = date("Y-m-d"); +$NOW_HOUR = date("H:i:s"); +$STARTtime = date("U"); +$epochSIXhoursAGO = ($STARTtime - 21600); +$timeSIXhoursAGO = date("Y-m-d H:i:s",$epochSIXhoursAGO); + +$stmt="select campaign_id from vicidial_campaigns where active='Y';"; +$rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + +$stmt="select * from vicidial_user_groups;"; +$rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$usergroups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $usergroups_to_print) + { + $row=mysql_fetch_row($rslt); + $usergroups[$i] =$row[0]; + $i++; + } + +if (!isset($RR)) {$RR=4;} + +$NFB = ''; +$NFE = ''; +$F=''; $FG=''; $B=''; $BG=''; + +?> + + + +\n"; + +$stmt = "select count(*) from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "' and campaign_allow_inbound='Y';"; +$rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $campaign_allow_inbound = $row[0]; + +echo "\n"; +echo"\n"; +echo "VICIDIAL: Time On VDAD Campagna: $group\n"; +echo "
\n"; +echo "VICIDIAL Campagna: \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +if ($UGdisplay > 0) + { + echo "\n"; + } +if (!eregi('XXXX-ALL-ACTIVE-XXXX', $group)) + { + echo "   Inbound:         \n"; +echo "STOP | "; +echo "PIU LENTO | "; +echo "INIZIA"; +if ($group == 'XXXX-ALL-ACTIVE-XXXX') + { + echo "       MODIFICA | \n"; + } +else + { + echo "       MODIFICA | \n"; + } +echo "RIEPILOGO | \n"; +echo "REPORT \n"; +echo "\n\n"; + + +if (!$group) {echo "

per favore seleziona una campagna dal menu qui in alto
\n"; exit;} +else +{ +$multi_drop=0; + +##### INBOUND ONLY ### +if (ereg('O',$with_inbound)) + { + $multi_drop++; + $stmt = "select closer_campaigns from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/^ | -$/","",$closer_campaigns); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaignsSQL = "'$closer_campaigns'"; + if ($DB > 0) {echo "\n|$closer_campaigns|$closer_campaignsSQL|$stmt|\n";} + + if ($adastats>1) + { + $stmtB="select calls_today,drops_today,answers_today,status_category_1,status_category_count_1,status_category_2,status_category_count_2,status_category_3,status_category_count_3,status_category_4,status_category_count_4,hold_sec_stat_one,hold_sec_stat_two,hold_sec_answer_calls,hold_sec_drop_calls,hold_sec_queue_calls,campaign_id from vicidial_campaign_stats where campaign_id IN ($closer_campaignsSQL);"; + + if ($DB > 0) {echo "\n|$stmtB|\n";} + + $r=0; + $rslt=mysql_query($stmtB, $link); + $ingroups_to_print = mysql_num_rows($rslt); + if ($ingroups_to_print > 0) + {$ingroup_detail .= "";} + while ($ingroups_to_print > $r) + { + $row=mysql_fetch_row($rslt); + $callsTODAY = $row[0]; + $dropsTODAY = $row[1]; + $answersTODAY = $row[2]; + $VSCcat1 = $row[3]; + $VSCcat1tally = $row[4]; + $VSCcat2 = $row[5]; + $VSCcat2tally = $row[6]; + $VSCcat3 = $row[7]; + $VSCcat3tally = $row[8]; + $VSCcat4 = $row[9]; + $VSCcat4tally = $row[10]; + $hold_sec_stat_one = $row[11]; + $hold_sec_stat_two = $row[12]; + $hold_sec_answer_calls = $row[13]; + $hold_sec_drop_calls = $row[14]; + $hold_sec_queue_calls = $row[15]; + $ingroupdetail = $row[16]; + if ( ($dropsTODAY > 0) and ($answersTODAY > 0) ) + { + $drpctTODAY = ( ($dropsTODAY / $answersTODAY) * 100); + $drpctTODAY = round($drpctTODAY, 2); + $drpctTODAY = sprintf("%01.2f", $drpctTODAY); + } + else + {$drpctTODAY=0;} + + if ($callsTODAY > 0) + { + $AVGhold_sec_queue_calls = ($hold_sec_queue_calls / $callsTODAY); + $AVGhold_sec_queue_calls = round($AVGhold_sec_queue_calls, 0); + } + else + {$AVGhold_sec_queue_calls=0;} + + if ($dropsTODAY > 0) + { + $AVGhold_sec_drop_calls = ($hold_sec_drop_calls / $dropsTODAY); + $AVGhold_sec_drop_calls = round($AVGhold_sec_drop_calls, 0); + } + else + {$AVGhold_sec_drop_calls=0;} + + if ($answersTODAY > 0) + { + $PCThold_sec_stat_one = ( ($hold_sec_stat_one / $answersTODAY) * 100); + $PCThold_sec_stat_one = round($PCThold_sec_stat_one, 2); + $PCThold_sec_stat_one = sprintf("%01.2f", $PCThold_sec_stat_one); + $PCThold_sec_stat_two = ( ($hold_sec_stat_two / $answersTODAY) * 100); + $PCThold_sec_stat_two = round($PCThold_sec_stat_two, 2); + $PCThold_sec_stat_two = sprintf("%01.2f", $PCThold_sec_stat_two); + $AVGhold_sec_answer_calls = ($hold_sec_answer_calls / $answersTODAY); + $AVGhold_sec_answer_calls = round($AVGhold_sec_answer_calls, 0); + if ($agent_non_pause_sec > 0) + { + $AVG_ANSWERagent_non_pause_sec = (($answersTODAY / $agent_non_pause_sec) * 60); + $AVG_ANSWERagent_non_pause_sec = round($AVG_ANSWERagent_non_pause_sec, 2); + $AVG_ANSWERagent_non_pause_sec = sprintf("%01.2f", $AVG_ANSWERagent_non_pause_sec); + } + else + {$AVG_ANSWERagent_non_pause_sec=0;} + } + else + { + $PCThold_sec_stat_one=0; + $PCThold_sec_stat_two=0; + $AVGhold_sec_answer_calls=0; + $AVG_ANSWERagent_non_pause_sec=0; + } + + if (ereg("0$|2$|4$|6$|8$",$r)) {$bgcolor='#E6E6E6';} + else {$bgcolor='white';} + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + + $r++; + } + + if ($ingroups_to_print > 0) + {$ingroup_detail .= "
        $ingroupdetail   CHIAMATE OGGI:  $callsTODAY    TMA 1:  $PCThold_sec_stat_one%     Average Hold time for Answered Calls:  $AVGhold_sec_answer_calls  
DROPS TODAY:  $dropsTODAY    TMA 2:  $PCThold_sec_stat_two%     Average Hold time for Dropped Calls:  $AVGhold_sec_drop_calls  
ANSWERS TODAY:  $answersTODAY    DROP PERCENT:  $drpctTODAY%    Average Hold time for All Calls:  $AVGhold_sec_queue_calls  
";} + + } + + $stmt="select agent_pause_codes_active from vicidial_campaigns where campaign_id IN ('" . mysql_real_escape_string($group) . "',$closer_campaignsSQL);"; + + $stmtB="select sum(calls_today),sum(drops_today),sum(answers_today),min(status_category_1),sum(status_category_count_1),min(status_category_2),sum(status_category_count_2),min(status_category_3),sum(status_category_count_3),min(status_category_4),sum(status_category_count_4),sum(hold_sec_stat_one),sum(hold_sec_stat_two),sum(hold_sec_answer_calls),sum(hold_sec_drop_calls),sum(hold_sec_queue_calls) from vicidial_campaign_stats where campaign_id IN ($closer_campaignsSQL);"; + + $stmtC="select agent_non_pause_sec from vicidial_campaign_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; + + + if ($DB > 0) {echo "\n|$stmt|$stmtB|$stmtC|\n";} + + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $agent_pause_codes_active = $row[0]; + + $rslt=mysql_query($stmtC, $link); + $row=mysql_fetch_row($rslt); + $agent_non_pause_sec = $row[0]; + + $rslt=mysql_query($stmtB, $link); + $row=mysql_fetch_row($rslt); + $callsTODAY = $row[0]; + $dropsTODAY = $row[1]; + $answersTODAY = $row[2]; + $VSCcat1 = $row[3]; + $VSCcat1tally = $row[4]; + $VSCcat2 = $row[5]; + $VSCcat2tally = $row[6]; + $VSCcat3 = $row[7]; + $VSCcat3tally = $row[8]; + $VSCcat4 = $row[9]; + $VSCcat4tally = $row[10]; + $hold_sec_stat_one = $row[11]; + $hold_sec_stat_two = $row[12]; + $hold_sec_answer_calls = $row[13]; + $hold_sec_drop_calls = $row[14]; + $hold_sec_queue_calls = $row[15]; + if ( ($dropsTODAY > 0) and ($answersTODAY > 0) ) + { + $drpctTODAY = ( ($dropsTODAY / $answersTODAY) * 100); + $drpctTODAY = round($drpctTODAY, 2); + $drpctTODAY = sprintf("%01.2f", $drpctTODAY); + } + else + {$drpctTODAY=0;} + + if ($callsTODAY > 0) + { + $AVGhold_sec_queue_calls = ($hold_sec_queue_calls / $callsTODAY); + $AVGhold_sec_queue_calls = round($AVGhold_sec_queue_calls, 0); + } + else + {$AVGhold_sec_queue_calls=0;} + + if ($dropsTODAY > 0) + { + $AVGhold_sec_drop_calls = ($hold_sec_drop_calls / $dropsTODAY); + $AVGhold_sec_drop_calls = round($AVGhold_sec_drop_calls, 0); + } + else + {$AVGhold_sec_drop_calls=0;} + + if ($answersTODAY > 0) + { + $PCThold_sec_stat_one = ( ($hold_sec_stat_one / $answersTODAY) * 100); + $PCThold_sec_stat_one = round($PCThold_sec_stat_one, 2); + $PCThold_sec_stat_one = sprintf("%01.2f", $PCThold_sec_stat_one); + $PCThold_sec_stat_two = ( ($hold_sec_stat_two / $answersTODAY) * 100); + $PCThold_sec_stat_two = round($PCThold_sec_stat_two, 2); + $PCThold_sec_stat_two = sprintf("%01.2f", $PCThold_sec_stat_two); + $AVGhold_sec_answer_calls = ($hold_sec_answer_calls / $answersTODAY); + $AVGhold_sec_answer_calls = round($AVGhold_sec_answer_calls, 0); + if ($agent_non_pause_sec > 0) + { + $AVG_ANSWERagent_non_pause_sec = (($answersTODAY / $agent_non_pause_sec) * 60); + $AVG_ANSWERagent_non_pause_sec = round($AVG_ANSWERagent_non_pause_sec, 2); + $AVG_ANSWERagent_non_pause_sec = sprintf("%01.2f", $AVG_ANSWERagent_non_pause_sec); + } + else + {$AVG_ANSWERagent_non_pause_sec=0;} + } + else + { + $PCThold_sec_stat_one=0; + $PCThold_sec_stat_two=0; + $AVGhold_sec_answer_calls=0; + $AVG_ANSWERagent_non_pause_sec=0; + } + + echo "
"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + +##### NOT INBOUND ONLY ### +else + { + if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $multi_drop++; + $stmt="select avg(auto_dial_level),min(dial_status_a),min(dial_status_b),min(dial_status_c),min(dial_status_d),min(dial_status_e),min(lead_order),min(lead_filter_id),sum(hopper_level),min(dial_method),avg(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),min(available_only_ratio_tally),min(adaptive_latest_server_time),min(local_call_time),avg(dial_timeout),min(dial_statuses),max(agent_pause_codes_active) from vicidial_campaigns;"; + + $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),min(status_category_1),sum(status_category_count_1),min(status_category_2),sum(status_category_count_2),min(status_category_3),sum(status_category_count_3),min(status_category_4),sum(status_category_count_4) from vicidial_campaign_stats;"; + } + else + { + if ($DB > 0) {echo "\n|$with_inbound|$campaign_allow_inbound|\n";} + + if ( (ereg('Y',$with_inbound)) and ($campaign_allow_inbound > 0) ) + { + $multi_drop++; + $stmt = "select closer_campaigns from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/^ | -$/","",$closer_campaigns); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaignsSQL = "'$closer_campaigns'"; + if ($DB > 0) {echo "\n|$closer_campaigns|$closer_campaignsSQL|$stmt|\n";} + + $stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses,agent_pause_codes_active from vicidial_campaigns where campaign_id IN ('" . mysql_real_escape_string($group) . "',$closer_campaignsSQL);"; + + $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),min(status_category_1),sum(status_category_count_1),min(status_category_2),sum(status_category_count_2),min(status_category_3),sum(status_category_count_3),min(status_category_4),sum(status_category_count_4) from vicidial_campaign_stats where campaign_id IN ('" . mysql_real_escape_string($group) . "',$closer_campaignsSQL);"; + } + else + { + $stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses,agent_pause_codes_active from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; + + $stmtB="select dialable_leads,calls_today,drops_today,drops_answers_today_pct,differential_onemin,agents_average_onemin,balance_trunk_fill,answers_today,status_category_1,status_category_count_1,status_category_2,status_category_count_2,status_category_3,status_category_count_3,status_category_4,status_category_count_4 from vicidial_campaign_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; + } + } + if ($DB > 0) {echo "\n|$stmt|$stmtB|\n";} + + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $DIALlev = $row[0]; + $DIALstatusA = $row[1]; + $DIALstatusB = $row[2]; + $DIALstatusC = $row[3]; + $DIALstatusD = $row[4]; + $DIALstatusE = $row[5]; + $DIALorder = $row[6]; + $DIALfilter = $row[7]; + $HOPlev = $row[8]; + $DIALmethod = $row[9]; + $maxDIALlev = $row[10]; + $DROPmax = $row[11]; + $targetDIFF = $row[12]; + $ADAintense = $row[13]; + $ADAavailonly = $row[14]; + $TAPERtime = $row[15]; + $CALLtime = $row[16]; + $DIALtimeout = $row[17]; + $DIALstatuses = $row[18]; + $DIALstatuses = (preg_replace("/ -$|^ /","",$DIALstatuses)); + $DIALstatuses = (ereg_replace(' ',', ',$DIALstatuses)); + $agent_pause_codes_active = $row[19]; + + + $stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';"; + if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select count(*) from vicidial_hopper;"; + } + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VDhop = $row[0]; + + $rslt=mysql_query($stmtB, $link); + $row=mysql_fetch_row($rslt); + $DAleads = $row[0]; + $callsTODAY = $row[1]; + $dropsTODAY = $row[2]; + $drpctTODAY = $row[3]; + $diffONEMIN = $row[4]; + $agentsONEMIN = $row[5]; + $balanceFILL = $row[6]; + $answersTODAY = $row[7]; + if ($multi_drop > 0) + { + if ( ($dropsTODAY > 0) and ($answersTODAY > 0) ) + { + $drpctTODAY = ( ($dropsTODAY / $answersTODAY) * 100); + $drpctTODAY = round($drpctTODAY, 2); + $drpctTODAY = sprintf("%01.2f", $drpctTODAY); + } + else + {$drpctTODAY=0;} + } + $VSCcat1 = $row[8]; + $VSCcat1tally = $row[9]; + $VSCcat2 = $row[10]; + $VSCcat2tally = $row[11]; + $VSCcat3 = $row[12]; + $VSCcat3tally = $row[13]; + $VSCcat4 = $row[14]; + $VSCcat4tally = $row[15]; + + if ( ($diffONEMIN != 0) and ($agentsONEMIN > 0) ) + { + $diffpctONEMIN = ( ($diffONEMIN / $agentsONEMIN) * 100); + $diffpctONEMIN = sprintf("%01.2f", $diffpctONEMIN); + } + else {$diffpctONEMIN = '0.00';} + + $stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; + if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats;"; + } + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $balanceSHORT = $row[0]; + + echo "
CHIAMATE OGGI:  $callsTODAY    TMA 1:  $PCThold_sec_stat_one%     Average Hold time for Answered Calls:  $AVGhold_sec_answer_calls   DATA:   $NOW_TIME
DROPS TODAY:  $dropsTODAY    TMA 2:  $PCThold_sec_stat_two%     Average Hold time for Dropped Calls:  $AVGhold_sec_drop_calls  
ANSWERS TODAY:  $answersTODAY    (Agent non-pause time / Answers)Average Hold time for All Calls:  $AVGhold_sec_queue_calls  
DROP PERCENT:  $drpctTODAY%    PRODUCTIVITY:  $AVG_ANSWERagent_non_pause_sec    
"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + if ($adastats>1) + { + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo ""; + echo ""; + echo ""; + + + echo ""; + echo ""; + echo ""; + } + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "
LIVELLO CHIAMATE:  $DIALlev    TRUNK SHORT/FILL:  $balanceSHORT / $balanceFILL     FILTRO:  $DIALfilter   DATA:   $NOW_TIME
- min   LIVELLO MAX:  $maxDIALlev   ABBATTIMENTO MAX:  $DROPmax%    TARGET DIFF:  $targetDIFF     INTENSITY:  $ADAintense    
TIMEOUT CHIAMATA:  $DIALtimeout  TAPER TIME:  $TAPERtime  LOCAL TIME:  $CALLtime  AVAIL ONLY:  $ADAavailonly  
CONTATTI CHIAMABILI:  $DAleads     CHIAMATE OGGI:  $callsTODAY     MEDIA OPERATORI:  $agentsONEMIN     METODO CHIAMATA:  $DIALmethod    
LIVELLO CODA CHIAMATE:  $HOPlev     ABBATTUTE / RISPOSTE:  $dropsTODAY / $answersTODAY   DL DIFF:  $diffONEMIN     ESITI:  $DIALstatuses    
CONTATTI IN CODA:  $VDhop     PERCENT ABBATTIMENTO:  "; + if ($drpctTODAY >= $DROPmax) + {echo "$drpctTODAY%";} + else + {echo "$drpctTODAY%";} + echo "    DIFF:  $diffpctONEMIN%     ORDINE:  $DIALorder    
"; +if ( (!eregi('NULL',$VSCcat1)) and (strlen($VSCcat1)>0) ) + {echo "$VSCcat1:   $VSCcat1tally       \n";} +if ( (!eregi('NULL',$VSCcat2)) and (strlen($VSCcat2)>0) ) + {echo "$VSCcat2:   $VSCcat2tally       \n";} +if ( (!eregi('NULL',$VSCcat3)) and (strlen($VSCcat3)>0) ) + {echo "$VSCcat3:   $VSCcat3tally       \n";} +if ( (!eregi('NULL',$VSCcat4)) and (strlen($VSCcat4)>0) ) + {echo "$VSCcat4:   $VSCcat4tally       \n";} +echo "
"; + +echo "$ingroup_detail"; + +if ($adastats<2) + { + echo "+ VIEW MORE"; + } +else + { + echo "+ VIEW LESS"; + } +if ($UGdisplay>0) + { + echo "       NASCONDI GRUPPI UTENTI"; + } +else + { + echo "       MOSTRA GRUPPI UTENTI"; + } +if ($UidORname>0) + { + echo "       MOSTRA ID OPERATORE"; + } +else + { + echo "       MOSTRA NOME OPERATORE"; + } +if ($SERVdisplay>0) + { + echo "       NASCONDI INFO SERVER"; + } +else + { + echo "       MOSTRA INFO SERVER"; + } +if ($CALLSdisplay>0) + { + echo "       NASCONDI WAITING CALLS"; + } +else + { + echo "       MOSTRA WAITING CALLS"; + } +if ($PHONEdisplay>0) + { + echo "       NASCONDI PHONES"; + } +else + { + echo "       MOSTRA PHONES"; + } +if ($CUSTPHONEdisplay>0) + { + echo "       NASCONDI CUSTPHONES"; + } +else + { + echo "       MOSTRA CUSTPHONES"; + } +echo "
"; + +echo "\n\n"; +} +################################################################################### +###### INBOUND/OUTBOUND CALLS +################################################################################### +if ($campaign_allow_inbound > 0) + { + $stmt="select closer_campaigns from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = preg_replace("/^ | -$/","",$row[0]); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + $stmtB="from vicidial_auto_calls where status NOT IN('XFER') and ( (call_type='IN' and campaign_id IN($closer_campaigns)) or (campaign_id='" . mysql_real_escape_string($group) . "' and call_type IN('OUT','OUTBALANCE')) ) order by queue_priority desc,campaign_id,call_time;"; + } +else + { + if ($group=='XXXX-ALL-ACTIVE-XXXX') {$groupSQL = '';} + else {$groupSQL = " and campaign_id='" . mysql_real_escape_string($group) . "'";} + + $stmtB="from vicidial_auto_calls where status NOT IN('XFER') $groupSQL order by queue_priority desc,campaign_id,call_time;"; + } +if ($CALLSdisplay > 0) + { + $stmtA = "SELECT status,campaign_id,phone_number,server_ip,UNIX_TIMESTAMP(call_time),call_type,queue_priority"; + } +else + { + $stmtA = "SELECT status"; + } + + +$k=0; +$stmt = "$stmtA $stmtB"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$parked_to_print = mysql_num_rows($rslt); + if ($parked_to_print > 0) + { + $i=0; + $out_total=0; + $out_ring=0; + $out_live=0; + $in_ivr=0; + while ($i < $parked_to_print) + { + $row=mysql_fetch_row($rslt); + + if (eregi("LIVE",$row[0])) + { + $out_live++; + + if ($CALLSdisplay > 0) + { + $CDstatus[$k] = $row[0]; + $CDcampaign_id[$k] = $row[1]; + $CDphone_number[$k] = $row[2]; + $CDserver_ip[$k] = $row[3]; + $CDcall_time[$k] = $row[4]; + $CDcall_type[$k] = $row[5]; + $CDqueue_priority[$k] = $row[6]; + $k++; + } + } + else + { + if (eregi("IVR",$row[0])) + { + $in_ivr++; + + if ($CALLSdisplay > 0) + { + $CDstatus[$k] = $row[0]; + $CDcampaign_id[$k] = $row[1]; + $CDphone_number[$k] = $row[2]; + $CDserver_ip[$k] = $row[3]; + $CDcall_time[$k] = $row[4]; + $CDcall_type[$k] = $row[5]; + $CDqueue_priority[$k] = $row[6]; + $k++; + } + } + if (eregi("CLOSER",$row[0])) + {$nothing=1;} + else + {$out_ring++;} + } + + $out_total++; + $i++; + } + + if ($out_live > 0) {$F=''; $FG='';} + if ($out_live > 4) {$F=''; $FG='';} + if ($out_live > 9) {$F=''; $FG='';} + if ($out_live > 14) {$F=''; $FG='';} + + if ($campaign_allow_inbound > 0) + {echo "$NFB$out_total$NFE current active calls      \n";} + else + {echo "$NFB$out_total$NFE calls being placed       \n";} + + echo "$NFB$out_ring$NFE calls ringing         \n"; + echo "$NFB$F  $out_live $FG$NFE calls waiting for agents       \n"; + echo "$NFB  $in_ivr$NFE calls in IVR       \n"; + } + else + { + echo " NESSUNA CHIAMATA IN ATTESA\n"; + } + + + +################################################################################### +###### CALLS WAITING +################################################################################### + +$Cecho = ''; +$Cecho .= "VICIDIAL: Calls Waiting $NOW_TIME\n"; +$Cecho .= "+--------+--------------+--------------+-----------------+---------+------------+----------+\n"; +$Cecho .= "| STATUS | CAMPAIGN | PHONE NUMBER | SERVER_IP | DIALTIME| CALL TYPE | PRIORITY |\n"; +$Cecho .= "+--------+--------------+--------------+-----------------+---------+------------+----------+\n"; + +$p=0; +while($p<$k) + { + $Cstatus = sprintf("%-6s", $CDstatus[$p]); + $Ccampaign_id = sprintf("%-12s", $CDcampaign_id[$p]); + $Cphone_number = sprintf("%-12s", $CDphone_number[$p]); + $Cserver_ip = sprintf("%-15s", $CDserver_ip[$p]); + $Ccall_type = sprintf("%-10s", $CDcall_type[$p]); + $Cqueue_priority = sprintf("%8s", $CDqueue_priority[$p]); + + $Ccall_time_S = ($STARTtime - $CDcall_time[$p]); + $Ccall_time_M = ($Ccall_time_S / 60); + $Ccall_time_M = round($Ccall_time_M, 2); + $Ccall_time_M_int = intval("$Ccall_time_M"); + $Ccall_time_SEC = ($Ccall_time_M - $Ccall_time_M_int); + $Ccall_time_SEC = ($Ccall_time_SEC * 60); + $Ccall_time_SEC = round($Ccall_time_SEC, 0); + if ($Ccall_time_SEC < 10) {$Ccall_time_SEC = "0$Ccall_time_SEC";} + $Ccall_time_MS = "$Ccall_time_M_int:$Ccall_time_SEC"; + $Ccall_time_MS = sprintf("%7s", $Ccall_time_MS); + + $G = ''; $EG = ''; + if ($CDcall_type[$p] == 'IN') + { + $G=""; $EG=''; + } + $Cecho .= "| $G$Cstatus$EG | $G$Ccampaign_id$EG | $G$Cphone_number$EG | $G$Cserver_ip$EG | $G$Ccall_time_MS$EG | $G$Ccall_type$EG | $G$Cqueue_priority$EG |\n"; + + $p++; + } +$Cecho .= "+--------+--------------+--------------+-----------------+---------+------------+----------+\n"; + +if ($p<1) + {$Cecho='';} + +################################################################################### +###### AGENT TIME ON SYSTEM +################################################################################### + +$agent_incall=0; +$agent_ready=0; +$agent_paused=0; +$agent_dead=0; +$agent_total=0; + +$phoneord=$orderby; +$userord=$orderby; +$groupord=$orderby; +$timeord=$orderby; +$campaignord=$orderby; + +if ($phoneord=='phoneup') {$phoneord='phonedown';} + else {$phoneord='phoneup';} +if ($userord=='userup') {$userord='userdown';} + else {$userord='userup';} +if ($groupord=='groupup') {$groupord='groupdown';} + else {$groupord='groupup';} +if ($timeord=='timeup') {$timeord='timedown';} + else {$timeord='timeup';} +if ($campaignord=='campaignup') {$campaignord='campaigndown';} + else {$campaignord='campaignup';} + +$Aecho = ''; +$Aecho .= "VICIDIAL: Agents Time On Calls Campagna: $group $NOW_TIME\n"; + + +$HDbegin = "+"; +$HTbegin = "|"; +$HDstation = "------------+"; +$HTstation = " STATION |"; +$HDphone = "------------+"; +$HTphone = " PHONE |"; +$HDuser = "--------------------+"; +$HTuser = " UTENTE |"; +$HDusergroup = "--------------+"; +$HTusergroup = " USER GROUP |"; +$HDsessionid = "------------------+"; +$HTsessionid = " SESSIONID |"; +$HDbarge = "-------+"; +$HTbarge = " BARGE |"; +$HDstatus = "----------+"; +$HTstatus = " STATUS |"; +$HDcustphone = "------------+"; +$HTcustphone = " CUST PHONE |"; +$HDserver_ip = "-----------------+"; +$HTserver_ip = " SERVER IP |"; +$HDcall_server_ip = "-----------------+"; +$HTcall_server_ip = " CALL SERVER IP |"; +$HDtime = "---------+"; +$HTtime = " MM:SS |"; +$HDcampaign = "------------+"; +$HTcampaign = " CAMPAGNA |"; +$HDcalls = "-------+"; +$HTcalls = " CALLS |"; +$HDpause = ''; +$HTpause = ''; + +if (!ereg("N",$agent_pause_codes_active)) + { + $HDstatus = "----------"; + $HTstatus = " STATUS "; + $HDpause = "-------+"; + $HTpause = " PAUSE |"; + } +if ($PHONEdisplay < 1) + { + $HDphone = ''; + $HTphone = ''; + } +if ($CUSTPHONEdisplay < 1) + { + $HDcustphone = ''; + $HTcustphone = ''; + } +if ($UGdisplay < 1) + { + $HDusergroup = ''; + $HTusergroup = ''; + } +if ( ($SIPmonitorLINK<1) && ($IAXmonitorLINK<1) ) + { + $HDsessionid = "-----------+"; + $HTsessionid = " SESSIONID |"; + } +if ( ($SIPmonitorLINK<2) && ($IAXmonitorLINK<2) ) + { + $HDbarge = ''; + $HTbarge = ''; + } +if ($SERVdisplay < 1) + { + $HDserver_ip = ''; + $HTserver_ip = ''; + $HDcall_server_ip = ''; + $HTcall_server_ip = ''; + } + + + +$Aline = "$HDbegin$HDstation$HDphone$HDuser$HDusergroup$HDsessionid$HDbarge$HDstatus$HDpause$HDcustphone$HDserver_ip$HDcall_server_ip$HDtime$HDcampaign$HDcalls\n"; +$Bline = "$HTbegin$HTstation$HTphone$HTuser$HTusergroup$HTsessionid$HTbarge$HTstatus$HTpause$HTcustphone$HTserver_ip$HTcall_server_ip$HTtime$HTcampaign$HTcalls\n"; +$Aecho .= "$Aline"; +$Aecho .= "$Bline"; +$Aecho .= "$Aline"; + +if ($orderby=='timeup') {$orderSQL='vicidial_live_agents.status,last_call_time';} +if ($orderby=='timedown') {$orderSQL='vicidial_live_agents.status desc,last_call_time desc';} +if ($orderby=='campaignup') {$orderSQL='vicidial_live_agents.campaign_id,vicidial_live_agents.status,last_call_time';} +if ($orderby=='campaigndown') {$orderSQL='vicidial_live_agents.campaign_id desc,vicidial_live_agents.status desc,last_call_time desc';} +if ($orderby=='groupup') {$orderSQL='user_group,vicidial_live_agents.status,last_call_time';} +if ($orderby=='groupdown') {$orderSQL='user_group desc,vicidial_live_agents.status desc,last_call_time desc';} +if ($orderby=='phoneup') {$orderSQL='extension,server_ip';} +if ($orderby=='phonedown') {$orderSQL='extension desc,server_ip desc';} +if ($UidORname > 0) + { + if ($orderby=='userup') {$orderSQL='full_name,status,last_call_time';} + if ($orderby=='userdown') {$orderSQL='full_name desc,status desc,last_call_time desc';} + } +else + { + if ($orderby=='userup') {$orderSQL='vicidial_live_agents.user';} + if ($orderby=='userdown') {$orderSQL='vicidial_live_agents.user desc';} + } + +if ($group=='XXXX-ALL-ACTIVE-XXXX') {$groupSQL = '';} +else {$groupSQL = " and vicidial_live_agents.campaign_id='" . mysql_real_escape_string($group) . "'";} +if (strlen($usergroup)<1) {$usergroupSQL = '';} +else {$usergroupSQL = " and user_group='" . mysql_real_escape_string($usergroup) . "'";} + +$stmt="select extension,vicidial_live_agents.user,conf_exten,vicidial_live_agents.status,vicidial_live_agents.server_ip,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),call_server_ip,vicidial_live_agents.campaign_id,vicidial_users.user_group,vicidial_users.full_name,vicidial_live_agents.comments,vicidial_live_agents.calls_today,vicidial_live_agents.callerid,lead_id from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user $groupSQL $usergroupSQL order by $orderSQL;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + while ($i < $talking_to_print) + { + $row=mysql_fetch_row($rslt); + + $Aextension[$i] = $row[0]; + $Auser[$i] = $row[1]; + $Asessionid[$i] = $row[2]; + $Astatus[$i] = $row[3]; + $Aserver_ip[$i] = $row[4]; + $Acall_time[$i] = $row[5]; + $Acall_finish[$i] = $row[6]; + $Acall_server_ip[$i] = $row[7]; + $Acampaign_id[$i] = $row[8]; + $Auser_group[$i] = $row[9]; + $Afull_name[$i] = $row[10]; + $Acomments[$i] = $row[11]; + $Acalls_today[$i] = $row[12]; + $Acallerid[$i] = $row[13]; + $Alead_id[$i] = $row[14]; + + $i++; + } + +$callerids=''; +$pausecode=''; +$stmt="select callerid,lead_id,phone_number from vicidial_auto_calls;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$calls_to_list = mysql_num_rows($rslt); + if ($calls_to_list > 0) + { + $i=0; + while ($i < $calls_to_list) + { + $row=mysql_fetch_row($rslt); + $callerids .= "$row[0]|"; + $VAClead_ids[$i] = $row[1]; + $VACphones[$i] = $row[2]; + $i++; + } + } + +### Lookup phone logins + $i=0; + while ($i < $talking_to_print) + { + if (eregi("R/",$Aextension[$i])) + { + $protocol = 'EXTERNAL'; + $dialplan = eregi_replace('R/',"",$Aextension[$i]); + $dialplan = eregi_replace("\@.*",'',$dialplan); + $exten = "dialplan_number='$dialplan'"; + } + if (eregi("Local/",$Aextension[$i])) + { + $protocol = 'EXTERNAL'; + $dialplan = eregi_replace('Local/',"",$Aextension[$i]); + $dialplan = eregi_replace("\@.*",'',$dialplan); + $exten = "dialplan_number='$dialplan'"; + } + if (eregi('SIP/',$Aextension[$i])) + { + $protocol = 'SIP'; + $dialplan = eregi_replace('SIP/',"",$Aextension[$i]); + $dialplan = eregi_replace("-.*",'',$dialplan); + $exten = "extension='$dialplan'"; + } + if (eregi('IAX2/',$Aextension[$i])) + { + $protocol = 'IAX2'; + $dialplan = eregi_replace('IAX2/',"",$Aextension[$i]); + $dialplan = eregi_replace("-.*",'',$dialplan); + $exten = "extension='$dialplan'"; + } + if (eregi('Zap/',$Aextension[$i])) + { + $protocol = 'Zap'; + $dialplan = eregi_replace('Zap/',"",$Aextension[$i]); + $exten = "extension='$dialplan'"; + } + + $stmt="select login from phones where server_ip='$Aserver_ip[$i]' and $exten and protocol='$protocol';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $phones_to_print = mysql_num_rows($rslt); + if ($phones_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $Alogin[$i] = "$row[0]-----$i"; + } + else + { + $Alogin[$i] = "$Aextension[$i]-----$i"; + } + $i++; + } + +### Sort by phone if selected + if ($orderby=='phoneup') + { + sort($Alogin); + } + if ($orderby=='phonedown') + { + rsort($Alogin); + } + +### Run through the loop to display agents + $j=0; + $agentcount=0; + while ($j < $talking_to_print) + { + $n=0; + $custphone=''; + while ($n < $calls_to_list) + { + if ( (ereg("$VAClead_ids[$n]", $Alead_id[$j])) and (strlen($VAClead_ids[$n]) == strlen($Alead_id[$j])) ) + {$custphone = $VACphones[$n];} + $n++; + } + + $phone_split = explode("-----",$Alogin[$j]); + $i = $phone_split[1]; + + if (eregi("READY|PAUSED",$Astatus[$i])) + { + $Acall_time[$i]=$Acall_finish[$i]; + + if ($Alead_id[$i] > 0) + { + $Astatus[$i] = 'DISPO'; + $Lstatus = 'DISPO'; + $status = ' DISPO'; + } + } + if ($non_latin < 1) + { + $extension = eregi_replace('Local/',"",$Aextension[$i]); + $extension = sprintf("%-10s", $extension); + while(strlen($extension)>10) {$extension = substr("$extension", 0, -1);} + } + else + { + $extension = eregi_replace('Local/',"",$Aextension[$i]); + $extension = sprintf("%-40s", $extension); + while(mb_strlen($extension, 'utf-8')>10) {$extension = mb_substr("$extension", 0, -1,'utf8');} + } + + $phone = sprintf("%-10s", $phone_split[0]); + $custphone = sprintf("%-10s", $custphone); + $Luser = $Auser[$i]; + $user = sprintf("%-18s", $Auser[$i]); + $Lsessionid = $Asessionid[$i]; + $sessionid = sprintf("%-9s", $Asessionid[$i]); + $Lstatus = $Astatus[$i]; + $status = sprintf("%-6s", $Astatus[$i]); + $server_ip = sprintf("%-15s", $Aserver_ip[$i]); + $call_server_ip = sprintf("%-15s", $Acall_server_ip[$i]); + $campaign_id = sprintf("%-10s", $Acampaign_id[$i]); + $comments= $Acomments[$i]; + $calls_today = sprintf("%-5s", $Acalls_today[$i]); + + if (!ereg("N",$agent_pause_codes_active)) + {$pausecode=' ';} + else + {$pausecode='';} + + if (eregi("INCALL",$Lstatus)) + { + ### temporarily deactivate DEAD calls display until bug is fixed + if (!ereg("$Acallerid[$i]\|",$callerids)) + { + $Astatus[$i] = 'DEAD'; + $Lstatus = 'DEAD'; + $status = ' DEAD '; + } + + if ( (eregi("AUTO",$comments)) or (strlen($comments)<1) ) + {$CM='A';} + else + { + if (eregi("INBOUND",$comments)) + {$CM='I';} + else + {$CM='M';} + } + } + else {$CM=' ';} + + if ($UGdisplay > 0) + { + if ($non_latin < 1) + { + $user_group = sprintf("%-12s", $Auser_group[$i]); + while(strlen($user_group)>12) {$user_group = substr("$user_group", 0, -1);} + } + else + { + $user_group = sprintf("%-40s", $Auser_group[$i]); + while(mb_strlen($user_group, 'utf-8')>12) {$user_group = mb_substr("$user_group", 0, -1,'utf8');} + } + } + if ($UidORname > 0) + { + if ($non_latin < 1) + { + $user = sprintf("%-18s", $Afull_name[$i]); + while(strlen($user)>18) {$user = substr("$user", 0, -1);} + } + else + { + $user = sprintf("%-40s", $Afull_name[$i]); + while(mb_strlen($user, 'utf-8')>18) {$user = mb_substr("$user", 0, -1,'utf8');} + } + } + if (!eregi("INCALL|QUEUE",$Astatus[$i])) + {$call_time_S = ($STARTtime - $Acall_finish[$i]);} + else + {$call_time_S = ($STARTtime - $Acall_time[$i]);} + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + if ($Lstatus=='INCALL') + { + if ($call_time_S >= 10) {$G=''; $EG='';} + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + # if ($call_time_M_int >= 10) {$G=''; $EG='';} + } + if ($Lstatus=='DEAD') + { + if ($call_time_M_int >= 360) + {$j++; continue;} + else + { + $agent_dead++; $agent_total++; + $G=''; $EG=''; + if ($call_time_S >= 10) {$G=''; $EG='';} + } + } + if ($Lstatus=='DISPO') + { + if ($call_time_M_int >= 360) + {$j++; continue;} + else + { + $agent_paused++; $agent_total++; + $G=''; $EG=''; + if ($call_time_S >= 10) {$G=''; $EG='';} + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + } + } + if ($Lstatus=='PAUSED') + { + if (!ereg("N",$agent_pause_codes_active)) + { + $stmtC="select sub_status from vicidial_agent_log where user='$Luser' order by agent_log_id desc limit 1;"; + $rsltC=mysql_query($stmtC,$link); + $rowC=mysql_fetch_row($rsltC); + $pausecode = sprintf("%-6s", $rowC[0]); + $pausecode = "$pausecode "; + } + else + {$pausecode='';} + + if ($call_time_M_int >= 360) + {$j++; continue;} + else + { + $agent_paused++; $agent_total++; + $G=''; $EG=''; + if ($call_time_S >= 10) {$G=''; $EG='';} + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + } + } +# if ( (strlen($Acall_server_ip[$i])> 4) and ($Acall_server_ip[$i] != "$Aserver_ip[$i]") ) +# {$G=''; $EG='';} + + if ( (eregi("INCALL",$status)) or (eregi("QUEUE",$status)) ) {$agent_incall++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) {$agent_ready++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) + { + $G=''; $EG=''; + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + } + + $L=''; + $R=''; + if ($SIPmonitorLINK>0) {$L=" LISTEN"; $R='';} + if ($IAXmonitorLINK>0) {$L=" LISTEN"; $R='';} + if ($SIPmonitorLINK>1) {$R=" | BARGE";} + if ($IAXmonitorLINK>1) {$R=" | BARGE";} + + if ($CUSTPHONEdisplay > 0) {$CP = " $G$custphone$EG |";} + else {$CP = "";} + + if ($UGdisplay > 0) {$UGD = " $G$user_group$EG |";} + else {$UGD = "";} + + if ($SERVdisplay > 0) {$SVD = "$G$server_ip$EG | $G$call_server_ip$EG | ";} + else {$SVD = "";} + + if ($PHONEdisplay > 0) {$phoneD = "$G$phone$EG | ";} + else {$phoneD = "";} + + $vac_stage=''; + $vac_campaign=''; + $INGRP=''; + if ($CM == 'I') + { + $stmt="select campaign_id,stage from vicidial_auto_calls where callerid='$Acallerid[$i]' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ingrp_to_print = mysql_num_rows($rslt); + if ($ingrp_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $vac_campaign = sprintf("%-20s", $row[0]); + $row[1] = eregi_replace(".*-",'',$row[1]); + $vac_stage = sprintf("%-4s", $row[1]); + } + + $INGRP = " $G$vac_stage$EG $G$vac_campaign$EG "; + } + + $agentcount++; + + $Aecho .= "| $G$extension$EG |$phoneD $G$user$EG |$UGD $G$sessionid$EG$L$R | $G$status$EG $CM $pausecode| $CP$SVD$G$call_time_MS$EG | $G$campaign_id$EG | $G$calls_today$EG |$INGRP\n"; + + $j++; + } + + $Aecho .= "$Aline"; + $Aecho .= " $agentcount agents logged in on all servers\n"; + $Aecho .= " System Load Average: $load_ave\n\n"; + + # $Aecho .= " - Balanced call\n"; + $Aecho .= " - Agent waiting for call\n"; + $Aecho .= " - Agent waiting for call > 1 minute\n"; + $Aecho .= " - Agent waiting for call > 5 minutes\n"; + $Aecho .= " - Agent on call > 10 seconds\n"; + $Aecho .= " - Agent on call > 1 minute\n"; + $Aecho .= " - Agent on call > 5 minutes\n"; + $Aecho .= " - Agent Paused > 10 seconds\n"; + $Aecho .= " - Agent Paused > 1 minute\n"; + $Aecho .= " - Agent Paused > 5 minutes\n"; + $Aecho .= " - Agent on a dead call\n"; + + if ($agent_ready > 0) {$B=''; $BG='';} + if ($agent_ready > 4) {$B=''; $BG='';} + if ($agent_ready > 9) {$B=''; $BG='';} + if ($agent_ready > 14) {$B=''; $BG='';} + + + echo "\n
\n"; + + echo "$NFB$agent_total$NFE agents logged in         \n"; + echo "$NFB$agent_incall$NFE agents in calls       \n"; + echo "$NFB$B  $agent_ready $BG$NFE agents waiting       \n"; + echo "$NFB$agent_paused$NFE paused agents       \n"; + echo "$NFB$agent_dead$NFE agents in dead calls      \n"; + + echo "
";
+		echo "";
+		echo "$Cecho";
+		echo "$Aecho";
+	}
+	else
+	{
+	echo " NESSUN OPERATORE IN CONVERSAZIONE \n";
+	echo "
$Cecho";
+	}
+
+?>
+
+ + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_timeonVDADallSUMMARY.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_timeonVDADallSUMMARY.php new file mode 100644 index 00000000..2c1a53b0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_timeonVDADallSUMMARY.php @@ -0,0 +1,447 @@ + LICENSE: AGPLv2 +# +# Summary for all campaigns live real-time stats for the VICIDIAL Auto-Dialer all servers +# +# STOP=4000, SLOW=40, GO=4 seconds refresh interval +# +# changes: +# 61102-1616 - first build +# 61215-1131 - added answered calls and drop percent taken from answered calls +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70619-1339 - Added Status Category tally display +# 71029-1900 - Changed CLOSER-type to not require campaign_id restriction +# 80525-1040 - Added IVR status summary display for inbound calls +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["RR"])) {$RR=$_GET["RR"];} + elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["adastats"])) {$adastats=$_GET["adastats"];} + elseif (isset($_POST["adastats"])) {$adastats=$_POST["adastats"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} + +if (!isset($RR)) {$gRRroup=4;} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); + +$stmt="select campaign_id from vicidial_campaigns where active='Y';"; +$rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + +if (!isset($RR)) {$RR=4;} + +?> + + + + + +\n"; +echo "VICIDIAL: Riepilogo Di Tutte Le Campagne Aggiornato In Tempo Reale/TITLE></HEAD><BODY BGCOLOR=WHITE>\n"; +echo "<b>VICIDIAL: Riepilogo Di Tutte Le Campagne Aggiornato In Tempo Reale/b>           \n"; +echo "<a href=\"$PHP_SELF?group=$group&RR=4000&DB=$DB&adastats=$adastats\">STOP</a> | "; +echo "<a href=\"$PHP_SELF?group=$group&RR=40&DB=$DB&adastats=$adastats\">PIU LENTO</a> | "; +echo "<a href=\"$PHP_SELF?group=$group&RR=4&DB=$DB&adastats=$adastats\">INIZIA</a> "; +echo "       </FONT>\n"; +if ($adastats<2) + { + echo "<a href=\"$PHP_SELF?group=$group&RR=$RR&DB=$DB&adastats=2\"><font size=1>+ VISUALIZZA PIU DATI</font></a>"; + } +else + { + echo "<a href=\"$PHP_SELF?group=$group&RR=$RR&DB=$DB&adastats=1\"><font size=1>- VISUALIZZA MENO DATI</font></a>"; + } +echo "       <a href=\"./admin.php?ADD=999999\">REPORT</a>"; +echo "<BR><BR>\n\n"; + +$k=0; +while($k<$groups_to_print) +{ +$NFB = '<b><font size=3 face="courier">'; +$NFE = '</font></b>'; +$F=''; $FG=''; $B=''; $BG=''; + +$group = $groups[$k]; +echo "<b><a href=\"./AST_timeonVDADall.php?group=$group&RR=$RR&DB=$DB&adastats=$adastats\">$group</a></b>   -   "; +echo "<a href=\"./admin.php?ADD=34&campaign_id=$group\">Modifica</a>\n"; + + +$stmt = "select count(*) from vicidial_campaigns where campaign_id='$group' and campaign_allow_inbound='Y';"; +$rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $campaign_allow_inbound = $row[0]; + +$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DIALlev = $row[0]; +$DIALstatusA = $row[1]; +$DIALstatusB = $row[2]; +$DIALstatusC = $row[3]; +$DIALstatusD = $row[4]; +$DIALstatusE = $row[5]; +$DIALorder = $row[6]; +$DIALfilter = $row[7]; +$HOPlev = $row[8]; +$DIALmethod = $row[9]; +$maxDIALlev = $row[10]; +$DROPmax = $row[11]; +$targetDIFF = $row[12]; +$ADAintense = $row[13]; +$ADAavailonly = $row[14]; +$TAPERtime = $row[15]; +$CALLtime = $row[16]; +$DIALtimeout = $row[17]; +$DIALstatuses = $row[18]; + $DIALstatuses = (preg_replace("/ -$|^ /","",$DIALstatuses)); + $DIALstatuses = (ereg_replace(' ',', ',$DIALstatuses)); + +$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VDhop = $row[0]; + +$stmt="select dialable_leads,calls_today,drops_today,drops_answers_today_pct,differential_onemin,agents_average_onemin,balance_trunk_fill,answers_today,status_category_1,status_category_count_1,status_category_2,status_category_count_2,status_category_3,status_category_count_3,status_category_4,status_category_count_4 from vicidial_campaign_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DAleads = $row[0]; +$callsTODAY = $row[1]; +$dropsTODAY = $row[2]; +$drpctTODAY = $row[3]; +$diffONEMIN = $row[4]; +$agentsONEMIN = $row[5]; +$balanceFILL = $row[6]; +$answersTODAY = $row[7]; +$VSCcat1 = $row[8]; +$VSCcat1tally = $row[9]; +$VSCcat2 = $row[10]; +$VSCcat2tally = $row[11]; +$VSCcat3 = $row[12]; +$VSCcat3tally = $row[13]; +$VSCcat4 = $row[14]; +$VSCcat4tally = $row[15]; + +if ( ($diffONEMIN != 0) and ($agentsONEMIN > 0) ) + { + $diffpctONEMIN = ( ($diffONEMIN / $agentsONEMIN) * 100); + $diffpctONEMIN = sprintf("%01.2f", $diffpctONEMIN); + } +else {$diffpctONEMIN = '0.00';} + +$stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$balanceSHORT = $row[0]; + +echo "<BR><table cellpadding=0 cellspacing=0><TR>"; +echo "<TD ALIGN=RIGHT><font size=2><B>LIVELLO CHIAMATE:</B></TD><TD ALIGN=LEFT><font size=2>  $DIALlev    </TD>"; +echo "<TD ALIGN=RIGHT><font size=2><B>TRUNK SHORT/FILL:</B></TD><TD ALIGN=LEFT><font size=2>  $balanceSHORT / $balanceFILL     </TD>"; +echo "<TD ALIGN=RIGHT><font size=2><B>FILTRO:</B></TD><TD ALIGN=LEFT><font size=2>  $DIALfilter   </TD>"; +echo "<TD ALIGN=RIGHT><font size=2><B> DATA:</B>   </TD><TD ALIGN=LEFT><font size=2> $NOW_TIME </TD>"; +echo ""; +echo "</TR>"; + +if ($adastats>1) + { + echo "<TR BGCOLOR=\"#CCCCCC\">"; + echo "<TD ALIGN=RIGHT><font size=2>  <B>LIVELLO MAX:</B></TD><TD ALIGN=LEFT><font size=2>  $maxDIALlev   </TD>"; + echo "<TD ALIGN=RIGHT><font size=2><B>ABBATTIMENTO MAX:</B></TD><TD ALIGN=LEFT><font size=2>  $DROPmax%    </TD>"; + echo "<TD ALIGN=RIGHT><font size=2><B>TARGET DIFF:</B></TD><TD ALIGN=LEFT><font size=2>  $targetDIFF     </TD>"; + echo "<TD ALIGN=RIGHT><font size=2><B>INTENSITY:</B></TD><TD ALIGN=LEFT><font size=2>  $ADAintense     </TD>"; + echo "</TR>"; + + echo "<TR BGCOLOR=\"#CCCCCC\">"; + echo "<TD ALIGN=RIGHT><font size=2><B>TIMEOUT CHIAMATA:</B></TD><TD ALIGN=LEFT><font size=2>  $DIALtimeout  </TD>"; + echo "<TD ALIGN=RIGHT><font size=2><B>TAPER TIME:</B></TD><TD ALIGN=LEFT><font size=2>  $TAPERtime  </TD>"; + echo "<TD ALIGN=RIGHT><font size=2><B>LOCAL TIME:</B></TD><TD ALIGN=LEFT><font size=2>  $CALLtime  </TD>"; + echo "<TD ALIGN=RIGHT><font size=2><B>AVAIL ONLY:</B></TD><TD ALIGN=LEFT><font size=2>  $ADAavailonly  </TD>"; + echo "</TR>"; + } + +echo "<TR>"; +echo "<TD ALIGN=RIGHT><font size=2><B>CONTATTI CHIAMABILI:</B></TD><TD ALIGN=LEFT><font size=2>  $DAleads     </TD>"; +echo "<TD ALIGN=RIGHT><font size=2><B>CHIAMATE OGGI:</B></TD><TD ALIGN=LEFT><font size=2>  $callsTODAY     </TD>"; +echo "<TD ALIGN=RIGHT><font size=2><B>MEDIA OPERATORI:</B></TD><TD ALIGN=LEFT><font size=2>  $agentsONEMIN     </TD>"; +echo "<TD ALIGN=RIGHT><font size=2><B>METODO CHIAMATA:</B></TD><TD ALIGN=LEFT><font size=2>  $DIALmethod     </TD>"; +echo "</TR>"; + +echo "<TR>"; +echo "<TD ALIGN=RIGHT><font size=2><B>LIVELLO CODA CHIAMATE:</B></TD><TD ALIGN=LEFT><font size=2>  $HOPlev     </TD>"; +echo "<TD ALIGN=RIGHT><font size=2><B>ABBATTUTE / RISPOSTE:</B></TD><TD ALIGN=LEFT><font size=2>  $dropsTODAY / $answersTODAY   </TD>"; +echo "<TD ALIGN=RIGHT><font size=2><B>DL DIFF:</B></TD><TD ALIGN=LEFT><font size=2>  $diffONEMIN     </TD>"; +echo "<TD ALIGN=RIGHT><font size=2><B>ESITI:</B></TD><TD ALIGN=LEFT><font size=2>  $DIALstatuses     </TD>"; +echo "</TR>"; + +echo "<TR>"; +echo "<TD ALIGN=RIGHT><font size=2><B>CONTATTI IN CODA:</B></TD><TD ALIGN=LEFT><font size=2>  $VDhop     </TD>"; +echo "<TD ALIGN=RIGHT><font size=2><B>PERCENT ABBATTIMENTO:</B></TD><TD ALIGN=LEFT><font size=2>  "; +if ($drpctTODAY >= $DROPmax) + {echo "<font color=red><B>$drpctTODAY%</B></font>";} +else + {echo "$drpctTODAY%";} +echo "    </TD>"; +echo "<TD ALIGN=RIGHT><font size=2><B>DIFF:</B></TD><TD ALIGN=LEFT><font size=2>  $diffpctONEMIN%     </TD>"; +echo "<TD ALIGN=RIGHT><font size=2><B>ORDINE:</B></TD><TD ALIGN=LEFT><font size=2>  $DIALorder     </TD>"; +echo "</TR>"; + +echo "<TR>"; +echo "<TD ALIGN=LEFT COLSPAN=8>"; +if ( (!eregi('NULL',$VSCcat1)) and (strlen($VSCcat1)>0) ) + {echo "<font size=2><B>$VSCcat1:</B>   $VSCcat1tally       \n";} +if ( (!eregi('NULL',$VSCcat2)) and (strlen($VSCcat2)>0) ) + {echo "<font size=2><B>$VSCcat2:</B>   $VSCcat2tally       \n";} +if ( (!eregi('NULL',$VSCcat3)) and (strlen($VSCcat3)>0) ) + {echo "<font size=2><B>$VSCcat3:</B>   $VSCcat3tally       \n";} +if ( (!eregi('NULL',$VSCcat4)) and (strlen($VSCcat4)>0) ) + {echo "<font size=2><B>$VSCcat4:</B>   $VSCcat4tally       \n";} +echo "</TD></TR>"; +echo "<TR>"; +echo "<TD ALIGN=LEFT COLSPAN=8>"; + +### Header finish + + + + + +################################################################################ +### START calculating calls/agents +################################################################################ + +################################################################################ +###### OUTBOUND CALLS +################################################################################ +if ($campaign_allow_inbound > 0) + { + $stmt="select closer_campaigns from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = preg_replace("/^ | -$/","",$row[0]); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') and ( (call_type='IN' and campaign_id IN($closer_campaigns)) or (campaign_id='" . mysql_real_escape_string($group) . "' and call_type='OUT') );"; + } +else + { + if ($group=='XXXX-ALL-ACTIVE-XXXX') {$groupSQL = '';} + else {$groupSQL = " and campaign_id='" . mysql_real_escape_string($group) . "'";} + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') $groupSQL;"; + } +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$parked_to_print = mysql_num_rows($rslt); + if ($parked_to_print > 0) + { + $i=0; + $out_total=0; + $out_ring=0; + $out_live=0; + $in_ivr=0; + while ($i < $parked_to_print) + { + $row=mysql_fetch_row($rslt); + + if (eregi("LIVE",$row[0])) + {$out_live++;} + else + { + if (eregi("IVR",$row[0])) + {$in_ivr++;} + if (eregi("CLOSER",$row[0])) + {$nothing=1;} + else + {$out_ring++;} + } + $out_total++; + $i++; + } + + if ($out_live > 0) {$F='<FONT class="r1">'; $FG='</FONT>';} + if ($out_live > 4) {$F='<FONT class="r2">'; $FG='</FONT>';} + if ($out_live > 9) {$F='<FONT class="r3">'; $FG='</FONT>';} + if ($out_live > 14) {$F='<FONT class="r4">'; $FG='</FONT>';} + + if ($campaign_allow_inbound > 0) + {echo "$NFB$out_total$NFE current active calls      \n";} + else + {echo "$NFB$out_total$NFE calls being placed       \n";} + + echo "$NFB$out_ring$NFE calls ringing         \n"; + echo "$NFB$F  $out_live $FG$NFE calls waiting for agents       \n"; + echo "$NFB  $in_ivr$NFE calls in IVR       \n"; + } + else + { + echo " NESSUNA CHIAMATA IN ATTESA\n"; + } + + +################################################################################### +###### TIME ON SYSTEM +################################################################################### + +$agent_incall=0; +$agent_ready=0; +$agent_paused=0; +$agent_total=0; + +$stmt="select extension,user,conf_exten,status,server_ip,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),call_server_ip,campaign_id from vicidial_live_agents where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + $agentcount=0; + while ($i < $talking_to_print) + { + $row=mysql_fetch_row($rslt); + if (eregi("READY|PAUSED",$row[3])) + { + $row[5]=$row[6]; + } + $Lstatus = $row[3]; + $status = sprintf("%-6s", $row[3]); + if (!eregi("INCALL|QUEUE",$row[3])) + {$call_time_S = ($STARTtime - $row[6]);} + else + {$call_time_S = ($STARTtime - $row[5]);} + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + if (eregi("PAUSED",$row[3])) + { + if ($call_time_M_int >= 30) + {$i++; continue;} + else + { + $agent_paused++; $agent_total++; + } + } + + if ( (eregi("INCALL",$status)) or (eregi("QUEUE",$status)) ) {$agent_incall++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) {$agent_ready++; $agent_total++;} + $agentcount++; + + + $i++; + } + + if ($agent_ready > 0) {$B='<FONT class="b1">'; $BG='</FONT>';} + if ($agent_ready > 4) {$B='<FONT class="b2">'; $BG='</FONT>';} + if ($agent_ready > 9) {$B='<FONT class="b3">'; $BG='</FONT>';} + if ($agent_ready > 14) {$B='<FONT class="b4">'; $BG='</FONT>';} + + echo "\n<BR>\n"; + + echo "$NFB$agent_total$NFE agents logged in         \n"; + echo "$NFB$agent_incall$NFE agents in calls       \n"; + echo "$NFB$B  $agent_ready $BG$NFE agents waiting       \n"; + echo "$NFB$agent_paused$NFE paused agents       \n"; + + echo "<PRE><FONT SIZE=2>"; + echo ""; + } + else + { + echo " NESSUN OPERATORE AL TELEFONO<BR>\n"; + } + +################################################################################ +### END calculating calls/agents +################################################################################ + + + + + +echo "</TD>"; +echo "</TR>"; +echo "</TABLE>"; + +echo "</FORM>\n\n"; +$k++; +} + +?> +</PRE> + +</BODY></HTML> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_timeonpark.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_timeonpark.php new file mode 100644 index 00000000..adeac370 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/AST_timeonpark.php @@ -0,0 +1,219 @@ +<? +# AST_timeonpark.php +# +# Copyright (C) 2008 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 +# +# CHANGES +# +# 60620-1042 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];} + elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +$timeONEhoursAGO = ($STARTtime - 3600); +$epochHALFhoursAGO = ($STARTtime - 1860); +$timeONEhoursAGO = date("Y-m-d H:i:s",$timeONEhoursAGO); +$timeHALFhoursAGO = date("Y-m-d H:i:s",$epochHALFhoursAGO); + +$reset_counter++; + +if ($reset_counter > 7) + { + $reset_counter=0; + + $stmt="update park_log set status='HUNGUP' where hangup_time is not null;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + + if ($DB) + { + $stmt="delete from park_log where status='TALKING' and grab_time < '$timeONEhoursAGO' and (hangup_time is null or hangup_time='');"; + $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + + $stmt="delete from park_log where status='PARKED' and parked_time < '$timeHALFhoursAGO' and (hangup_time is null or hangup_time='');"; + $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + + } + } + +?> + +<HTML> +<HEAD> +<STYLE type="text/css"> +<!-- + .green {color: white; background-color: green} + .red {color: white; background-color: red} + .blue {color: white; background-color: blue} + .purple {color: white; background-color: purple} +--> + </STYLE> + +<? +echo "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=utf-8\">\n"; +echo"<META HTTP-EQUIV=Refresh CONTENT=\"7; URL=$PHP_SELF?server_ip=$server_ip&DB=$DB&reset_counter=$reset_counter\">\n"; +echo "<TITLE>VICIDIAL: Time On Park\n"; +echo "
\n\n";
+
+echo "VICIDIAL: Time On Park         $NOW_TIME    REPORT\n\n";
+echo "+------------+-----------------+---------------------+---------+\n";
+echo "| CHANNEL    | GROUP           | START TIME          | MINUTES |\n";
+echo "+------------+-----------------+---------------------+---------+\n";
+
+#$link=mysql_connect("localhost", "cron", "1234");
+# $linkX=mysql_connect("localhost", "cron", "1234");
+#mysql_select_db("asterisk");
+
+$stmt="select extension,user,channel,channel_group,parked_time,UNIX_TIMESTAMP(parked_time) from park_log where status ='PARKED' and server_ip='" . mysql_real_escape_string($server_ip) . "' order by uniqueid;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$parked_to_print = mysql_num_rows($rslt);
+	if ($parked_to_print > 0)
+	{
+	$i=0;
+	while ($i < $parked_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+
+		$channel =			sprintf("%-10s", $row[2]);
+		$number_dialed =	sprintf("%-15s", $row[3]);
+		$start_time =		sprintf("%-19s", $row[4]);
+		$call_time_S = ($STARTtime - $row[5]);
+
+		$call_time_M = ($call_time_S / 60);
+		$call_time_M = round($call_time_M, 2);
+		$call_time_M_int = intval("$call_time_M");
+		$call_time_SEC = ($call_time_M - $call_time_M_int);
+		$call_time_SEC = ($call_time_SEC * 60);
+		$call_time_SEC = round($call_time_SEC, 0);
+		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+		$call_time_MS = "$call_time_M_int:$call_time_SEC";
+		$call_time_MS =		sprintf("%7s", $call_time_MS);
+		$G = '';		$EG = '';
+		if ($call_time_M_int >= 1) {$G=''; $EG='';}
+		if ($call_time_M_int >= 6) {$G=''; $EG='';}
+
+		echo "| $G$channel$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+		$i++;
+		}
+
+		echo "+------------+-----------------+---------------------+---------+\n";
+		echo "  $i callers waiting on server $server_ip\n\n";
+
+		echo "             - 1 minute or more on hold\n";
+		echo "             - Over 5 minutes on hold\n";
+
+		}
+	else
+	{
+	echo "****************************************************************\n";
+	echo "****************************************************************\n";
+	echo "******************** NESSUNA CHIAMATA IN ATTESA*********************\n";
+	echo "****************************************************************\n";
+	echo "****************************************************************\n";
+	}
+
+###################################################################################
+###### TIME ON INBOUND CALLS
+###################################################################################
+echo "\n\n";
+echo "----------------------------------------------------------------------------------------";
+echo "\n\n";
+echo "VICIDIAL: Agents Time On Inbound Calls                             $NOW_TIME\n\n";
+echo "+------------|--------+------------+-----------------+---------------------+---------+\n";
+echo "| STATION    | USER   | CHANNEL    | GROUP           | START TIME          | MINUTES |\n";
+echo "+------------|--------+------------+-----------------+---------------------+---------+\n";
+
+
+$stmt="select extension,user,channel,channel_group,grab_time,UNIX_TIMESTAMP(grab_time) from park_log where status ='TALKING' and server_ip='" . mysql_real_escape_string($server_ip) . "' order by uniqueid;";
+$rslt=mysql_query($stmt, $link);
+if ($DB) {echo "$stmt\n";}
+$talking_to_print = mysql_num_rows($rslt);
+	if ($talking_to_print > 0)
+	{
+	$i=0;
+	while ($i < $talking_to_print)
+		{
+		$row=mysql_fetch_row($rslt);
+
+		$extension =		sprintf("%-10s", $row[0]);
+		$user =				sprintf("%-6s", $row[1]);
+		$channel =			sprintf("%-10s", $row[2]);
+		$number_dialed =	sprintf("%-15s", $row[3]);
+		$start_time =		sprintf("%-19s", $row[4]);
+		$call_time_S = ($STARTtime - $row[5]);
+
+		$call_time_M = ($call_time_S / 60);
+		$call_time_M = round($call_time_M, 2);
+		$call_time_M_int = intval("$call_time_M");
+		$call_time_SEC = ($call_time_M - $call_time_M_int);
+		$call_time_SEC = ($call_time_SEC * 60);
+		$call_time_SEC = round($call_time_SEC, 0);
+		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
+		$call_time_MS = "$call_time_M_int:$call_time_SEC";
+		$call_time_MS =		sprintf("%7s", $call_time_MS);
+		$G = '';		$EG = '';
+		if ($call_time_M_int >= 12) {$G=''; $EG='';}
+		if ($call_time_M_int >= 31) {$G=''; $EG='';}
+
+		echo "| $G$extension$EG | $G$user$EG | $G$channel$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
+
+		$i++;
+		}
+
+		echo "+------------|--------+------------+-----------------+---------------------+---------+\n";
+		echo "  $i agents on calls on server $server_ip\n\n";
+
+		echo "             - 12 minutes or more on call\n";
+		echo "             - Over 30 minutes on call\n";
+
+	}
+	else
+	{
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	echo "********************************* NESSUN OPERATORE IN CONVERSAZIONE *********************************\n";
+	echo "**************************************************************************************\n";
+	echo "**************************************************************************************\n";
+	}
+
+
+?>
+
+ + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/admin.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/admin.php new file mode 100644 index 00000000..279bd821 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/admin.php @@ -0,0 +1,16921 @@ + LICENSE: AGPLv2 +# + +require("dbconnect.php"); + +###################################################################################################### +###################################################################################################### +####### static variable settings for display options +###################################################################################################### +###################################################################################################### + +$page_width='770'; +$section_width='720'; +$header_font_size='3'; +$subheader_font_size='2'; +$subcamp_font_size='2'; +$header_selected_bold=''; +$header_nonselected_bold=''; +$users_color = '#FFFF99'; +$campaigns_color = '#FFCC99'; +$lists_color = '#FFCCCC'; +$ingroups_color = '#CC99FF'; +$remoteagent_color ='#CCFFCC'; +$usergroups_color = '#CCFFFF'; +$scripts_color = '#99FFCC'; +$filters_color = '#CCCCCC'; +$admin_color = '#FF99FF'; +$reports_color = '#99FF33'; +#$users_color = '#FFFF99'; +#$campaigns_color = '#FFFF99'; +#$lists_color = '#FFFF99'; +#$ingroups_color = '#FFFF99'; +#$remoteagent_color ='#FFFF99'; +#$usergroups_color = '#FFFF99'; +#$scripts_color = '#FFFF99'; +#$filters_color = '#FFFF99'; +#$admin_color = '#FFFF99'; +#$reports_color = '#FFFF99'; + $times_color = '#FF33FF'; + $phones_color = '#FF33FF'; + $conference_color = '#FF33FF'; + $server_color = '#FF33FF'; + $settings_color = '#FF33FF'; + $status_color = '#FF33FF'; +$users_font = 'BLACK'; +$campaigns_font = 'BLACK'; +$lists_font = 'BLACK'; +$ingroups_font = 'BLACK'; +$remoteagent_font = 'BLACK'; +$usergroups_font = 'BLACK'; +$scripts_font = 'BLACK'; +$filters_font = 'BLACK'; +$admin_font = 'BLACK'; +$reports_font = 'BLACK'; + $times_font = 'BLACK'; + $phones_font = 'BLACK'; + $conference_font = 'BLACK'; + $server_font = 'BLACK'; + $settings_font = 'BLACK'; + $status_font = 'BLACK'; +$subcamp_color = '#FF9933'; +$subcamp_font = 'BLACK'; + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; + +###################################################################################################### +###################################################################################################### +####### Form variable declaration +###################################################################################################### +###################################################################################################### + + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["active"])) {$active=$_GET["active"];} + elseif (isset($_POST["active"])) {$active=$_POST["active"];} +if (isset($_GET["adaptive_dl_diff_target"])) {$adaptive_dl_diff_target=$_GET["adaptive_dl_diff_target"];} + elseif (isset($_POST["adaptive_dl_diff_target"])) {$adaptive_dl_diff_target=$_POST["adaptive_dl_diff_target"];} +if (isset($_GET["adaptive_dropped_percentage"])) {$adaptive_dropped_percentage=$_GET["adaptive_dropped_percentage"];} + elseif (isset($_POST["adaptive_dropped_percentage"])){$adaptive_dropped_percentage=$_POST["adaptive_dropped_percentage"];} +if (isset($_GET["adaptive_intensity"])) {$adaptive_intensity=$_GET["adaptive_intensity"];} + elseif (isset($_POST["adaptive_intensity"])) {$adaptive_intensity=$_POST["adaptive_intensity"];} +if (isset($_GET["adaptive_latest_server_time"])) {$adaptive_latest_server_time=$_GET["adaptive_latest_server_time"];} + elseif (isset($_POST["adaptive_latest_server_time"])){$adaptive_latest_server_time=$_POST["adaptive_latest_server_time"];} +if (isset($_GET["adaptive_maximum_level"])) {$adaptive_maximum_level=$_GET["adaptive_maximum_level"];} + elseif (isset($_POST["adaptive_maximum_level"])) {$adaptive_maximum_level=$_POST["adaptive_maximum_level"];} +if (isset($_GET["SUB"])) {$SUB=$_GET["SUB"];} + elseif (isset($_POST["SUB"])) {$SUB=$_POST["SUB"];} +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["admin_hangup_enabled"])) {$admin_hangup_enabled=$_GET["admin_hangup_enabled"];} + elseif (isset($_POST["admin_hangup_enabled"])) {$admin_hangup_enabled=$_POST["admin_hangup_enabled"];} +if (isset($_GET["admin_hijack_enabled"])) {$admin_hijack_enabled=$_GET["admin_hijack_enabled"];} + elseif (isset($_POST["admin_hijack_enabled"])) {$admin_hijack_enabled=$_POST["admin_hijack_enabled"];} +if (isset($_GET["admin_monitor_enabled"])) {$admin_monitor_enabled=$_GET["admin_monitor_enabled"];} + elseif (isset($_POST["admin_monitor_enabled"])) {$admin_monitor_enabled=$_POST["admin_monitor_enabled"];} +if (isset($_GET["AFLogging_enabled"])) {$AFLogging_enabled=$_GET["AFLogging_enabled"];} + elseif (isset($_POST["AFLogging_enabled"])) {$AFLogging_enabled=$_POST["AFLogging_enabled"];} +if (isset($_GET["agent_choose_ingroups"])) {$agent_choose_ingroups=$_GET["agent_choose_ingroups"];} + elseif (isset($_POST["agent_choose_ingroups"])) {$agent_choose_ingroups=$_POST["agent_choose_ingroups"];} +if (isset($_GET["agentcall_manual"])) {$agentcall_manual=$_GET["agentcall_manual"];} + elseif (isset($_POST["agentcall_manual"])) {$agentcall_manual=$_POST["agentcall_manual"];} +if (isset($_GET["agentonly_callbacks"])) {$agentonly_callbacks=$_GET["agentonly_callbacks"];} + elseif (isset($_POST["agentonly_callbacks"])) {$agentonly_callbacks=$_POST["agentonly_callbacks"];} +if (isset($_GET["AGI_call_logging_enabled"])) {$AGI_call_logging_enabled=$_GET["AGI_call_logging_enabled"];} + elseif (isset($_POST["AGI_call_logging_enabled"])) {$AGI_call_logging_enabled=$_POST["AGI_call_logging_enabled"];} +if (isset($_GET["agi_output"])) {$agi_output=$_GET["agi_output"];} + elseif (isset($_POST["agi_output"])) {$agi_output=$_POST["agi_output"];} +if (isset($_GET["allcalls_delay"])) {$allcalls_delay=$_GET["allcalls_delay"];} + elseif (isset($_POST["allcalls_delay"])) {$allcalls_delay=$_POST["allcalls_delay"];} +if (isset($_GET["allow_closers"])) {$allow_closers=$_GET["allow_closers"];} + elseif (isset($_POST["allow_closers"])) {$allow_closers=$_POST["allow_closers"];} +if (isset($_GET["alt_number_dialing"])) {$alt_number_dialing=$_GET["alt_number_dialing"];} + elseif (isset($_POST["alt_number_dialing"])) {$alt_number_dialing=$_POST["alt_number_dialing"];} +if (isset($_GET["alter_agent_interface_options"])) {$alter_agent_interface_options=$_GET["alter_agent_interface_options"];} + elseif (isset($_POST["alter_agent_interface_options"])) {$alter_agent_interface_options=$_POST["alter_agent_interface_options"];} +if (isset($_GET["am_message_exten"])) {$am_message_exten=$_GET["am_message_exten"];} + elseif (isset($_POST["am_message_exten"])) {$am_message_exten=$_POST["am_message_exten"];} +if (isset($_GET["amd_send_to_vmx"])) {$amd_send_to_vmx=$_GET["amd_send_to_vmx"];} + elseif (isset($_POST["amd_send_to_vmx"])) {$amd_send_to_vmx=$_POST["amd_send_to_vmx"];} +if (isset($_GET["answer_transfer_agent"])) {$answer_transfer_agent=$_GET["answer_transfer_agent"];} + elseif (isset($_POST["answer_transfer_agent"])) {$answer_transfer_agent=$_POST["answer_transfer_agent"];} +if (isset($_GET["ast_admin_access"])) {$ast_admin_access=$_GET["ast_admin_access"];} + elseif (isset($_POST["ast_admin_access"])) {$ast_admin_access=$_POST["ast_admin_access"];} +if (isset($_GET["ast_delete_phones"])) {$ast_delete_phones=$_GET["ast_delete_phones"];} + elseif (isset($_POST["ast_delete_phones"])) {$ast_delete_phones=$_POST["ast_delete_phones"];} +if (isset($_GET["asterisk_version"])) {$asterisk_version=$_GET["asterisk_version"];} + elseif (isset($_POST["asterisk_version"])) {$asterisk_version=$_POST["asterisk_version"];} +if (isset($_GET["ASTmgrSECRET"])) {$ASTmgrSECRET=$_GET["ASTmgrSECRET"];} + elseif (isset($_POST["ASTmgrSECRET"])) {$ASTmgrSECRET=$_POST["ASTmgrSECRET"];} +if (isset($_GET["ASTmgrUSERNAME"])) {$ASTmgrUSERNAME=$_GET["ASTmgrUSERNAME"];} + elseif (isset($_POST["ASTmgrUSERNAME"])) {$ASTmgrUSERNAME=$_POST["ASTmgrUSERNAME"];} +if (isset($_GET["ASTmgrUSERNAMElisten"])) {$ASTmgrUSERNAMElisten=$_GET["ASTmgrUSERNAMElisten"];} + elseif (isset($_POST["ASTmgrUSERNAMElisten"])) {$ASTmgrUSERNAMElisten=$_POST["ASTmgrUSERNAMElisten"];} +if (isset($_GET["ASTmgrUSERNAMEsend"])) {$ASTmgrUSERNAMEsend=$_GET["ASTmgrUSERNAMEsend"];} + elseif (isset($_POST["ASTmgrUSERNAMEsend"])) {$ASTmgrUSERNAMEsend=$_POST["ASTmgrUSERNAMEsend"];} +if (isset($_GET["ASTmgrUSERNAMEupdate"])) {$ASTmgrUSERNAMEupdate=$_GET["ASTmgrUSERNAMEupdate"];} + elseif (isset($_POST["ASTmgrUSERNAMEupdate"])) {$ASTmgrUSERNAMEupdate=$_POST["ASTmgrUSERNAMEupdate"];} +if (isset($_GET["attempt_delay"])) {$attempt_delay=$_GET["attempt_delay"];} + elseif (isset($_POST["attempt_delay"])) {$attempt_delay=$_POST["attempt_delay"];} +if (isset($_GET["attempt_maximum"])) {$attempt_maximum=$_GET["attempt_maximum"];} + elseif (isset($_POST["attempt_maximum"])) {$attempt_maximum=$_POST["attempt_maximum"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["auto_dial_next_number"])) {$auto_dial_next_number=$_GET["auto_dial_next_number"];} + elseif (isset($_POST["auto_dial_next_number"])) {$auto_dial_next_number=$_POST["auto_dial_next_number"];} +if (isset($_GET["available_only_ratio_tally"])) {$available_only_ratio_tally=$_GET["available_only_ratio_tally"];} + elseif (isset($_POST["available_only_ratio_tally"])){$available_only_ratio_tally=$_POST["available_only_ratio_tally"];} +if (isset($_GET["call_out_number_group"])) {$call_out_number_group=$_GET["call_out_number_group"];} + elseif (isset($_POST["call_out_number_group"])) {$call_out_number_group=$_POST["call_out_number_group"];} +if (isset($_GET["call_parking_enabled"])) {$call_parking_enabled=$_GET["call_parking_enabled"];} + elseif (isset($_POST["call_parking_enabled"])) {$call_parking_enabled=$_POST["call_parking_enabled"];} +if (isset($_GET["call_time_comments"])) {$call_time_comments=$_GET["call_time_comments"];} + elseif (isset($_POST["call_time_comments"])) {$call_time_comments=$_POST["call_time_comments"];} +if (isset($_GET["call_time_id"])) {$call_time_id=$_GET["call_time_id"];} + elseif (isset($_POST["call_time_id"])) {$call_time_id=$_POST["call_time_id"];} +if (isset($_GET["call_time_name"])) {$call_time_name=$_GET["call_time_name"];} + elseif (isset($_POST["call_time_name"])) {$call_time_name=$_POST["call_time_name"];} +if (isset($_GET["CallerID_popup_enabled"])) {$CallerID_popup_enabled=$_GET["CallerID_popup_enabled"];} + elseif (isset($_POST["CallerID_popup_enabled"])) {$CallerID_popup_enabled=$_POST["CallerID_popup_enabled"];} +if (isset($_GET["campaign_cid"])) {$campaign_cid=$_GET["campaign_cid"];} + elseif (isset($_POST["campaign_cid"])) {$campaign_cid=$_POST["campaign_cid"];} +if (isset($_GET["campaign_detail"])) {$campaign_detail=$_GET["campaign_detail"];} + elseif (isset($_POST["campaign_detail"])) {$campaign_detail=$_POST["campaign_detail"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["campaign_name"])) {$campaign_name=$_GET["campaign_name"];} + elseif (isset($_POST["campaign_name"])) {$campaign_name=$_POST["campaign_name"];} +if (isset($_GET["campaign_rec_exten"])) {$campaign_rec_exten=$_GET["campaign_rec_exten"];} + elseif (isset($_POST["campaign_rec_exten"])) {$campaign_rec_exten=$_POST["campaign_rec_exten"];} +if (isset($_GET["campaign_rec_filename"])) {$campaign_rec_filename=$_GET["campaign_rec_filename"];} + elseif (isset($_POST["campaign_rec_filename"])) {$campaign_rec_filename=$_POST["campaign_rec_filename"];} +if (isset($_GET["ingroup_rec_filename"])) {$ingroup_rec_filename=$_GET["ingroup_rec_filename"];} + elseif (isset($_POST["ingroup_rec_filename"])) {$ingroup_rec_filename=$_POST["ingroup_rec_filename"];} +if (isset($_GET["campaign_recording"])) {$campaign_recording=$_GET["campaign_recording"];} + elseif (isset($_POST["campaign_recording"])) {$campaign_recording=$_POST["campaign_recording"];} +if (isset($_GET["campaign_vdad_exten"])) {$campaign_vdad_exten=$_GET["campaign_vdad_exten"];} + elseif (isset($_POST["campaign_vdad_exten"])) {$campaign_vdad_exten=$_POST["campaign_vdad_exten"];} +if (isset($_GET["change_agent_campaign"])) {$change_agent_campaign=$_GET["change_agent_campaign"];} + elseif (isset($_POST["change_agent_campaign"])) {$change_agent_campaign=$_POST["change_agent_campaign"];} +if (isset($_GET["client_browser"])) {$client_browser=$_GET["client_browser"];} + elseif (isset($_POST["client_browser"])) {$client_browser=$_POST["client_browser"];} +if (isset($_GET["closer_default_blended"])) {$closer_default_blended=$_GET["closer_default_blended"];} + elseif (isset($_POST["closer_default_blended"])) {$closer_default_blended=$_POST["closer_default_blended"];} +if (isset($_GET["company"])) {$company=$_GET["company"];} + elseif (isset($_POST["company"])) {$company=$_POST["company"];} +if (isset($_GET["computer_ip"])) {$computer_ip=$_GET["computer_ip"];} + elseif (isset($_POST["computer_ip"])) {$computer_ip=$_POST["computer_ip"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["conf_on_extension"])) {$conf_on_extension=$_GET["conf_on_extension"];} + elseif (isset($_POST["conf_on_extension"])) {$conf_on_extension=$_POST["conf_on_extension"];} +if (isset($_GET["conferencing_enabled"])) {$conferencing_enabled=$_GET["conferencing_enabled"];} + elseif (isset($_POST["conferencing_enabled"])) {$conferencing_enabled=$_POST["conferencing_enabled"];} +if (isset($_GET["CoNfIrM"])) {$CoNfIrM=$_GET["CoNfIrM"];} + elseif (isset($_POST["CoNfIrM"])) {$CoNfIrM=$_POST["CoNfIrM"];} +if (isset($_GET["ct_default_start"])) {$ct_default_start=$_GET["ct_default_start"];} + elseif (isset($_POST["ct_default_start"])) {$ct_default_start=$_POST["ct_default_start"];} +if (isset($_GET["ct_default_stop"])) {$ct_default_stop=$_GET["ct_default_stop"];} + elseif (isset($_POST["ct_default_stop"])) {$ct_default_stop=$_POST["ct_default_stop"];} +if (isset($_GET["ct_friday_start"])) {$ct_friday_start=$_GET["ct_friday_start"];} + elseif (isset($_POST["ct_friday_start"])) {$ct_friday_start=$_POST["ct_friday_start"];} +if (isset($_GET["ct_friday_stop"])) {$ct_friday_stop=$_GET["ct_friday_stop"];} + elseif (isset($_POST["ct_friday_stop"])) {$ct_friday_stop=$_POST["ct_friday_stop"];} +if (isset($_GET["ct_monday_start"])) {$ct_monday_start=$_GET["ct_monday_start"];} + elseif (isset($_POST["ct_monday_start"])) {$ct_monday_start=$_POST["ct_monday_start"];} +if (isset($_GET["ct_monday_stop"])) {$ct_monday_stop=$_GET["ct_monday_stop"];} + elseif (isset($_POST["ct_monday_stop"])) {$ct_monday_stop=$_POST["ct_monday_stop"];} +if (isset($_GET["ct_saturday_start"])) {$ct_saturday_start=$_GET["ct_saturday_start"];} + elseif (isset($_POST["ct_saturday_start"])) {$ct_saturday_start=$_POST["ct_saturday_start"];} +if (isset($_GET["ct_saturday_stop"])) {$ct_saturday_stop=$_GET["ct_saturday_stop"];} + elseif (isset($_POST["ct_saturday_stop"])) {$ct_saturday_stop=$_POST["ct_saturday_stop"];} +if (isset($_GET["ct_sunday_start"])) {$ct_sunday_start=$_GET["ct_sunday_start"];} + elseif (isset($_POST["ct_sunday_start"])) {$ct_sunday_start=$_POST["ct_sunday_start"];} +if (isset($_GET["ct_sunday_stop"])) {$ct_sunday_stop=$_GET["ct_sunday_stop"];} + elseif (isset($_POST["ct_sunday_stop"])) {$ct_sunday_stop=$_POST["ct_sunday_stop"];} +if (isset($_GET["ct_thursday_start"])) {$ct_thursday_start=$_GET["ct_thursday_start"];} + elseif (isset($_POST["ct_thursday_start"])) {$ct_thursday_start=$_POST["ct_thursday_start"];} +if (isset($_GET["ct_thursday_stop"])) {$ct_thursday_stop=$_GET["ct_thursday_stop"];} + elseif (isset($_POST["ct_thursday_stop"])) {$ct_thursday_stop=$_POST["ct_thursday_stop"];} +if (isset($_GET["ct_tuesday_start"])) {$ct_tuesday_start=$_GET["ct_tuesday_start"];} + elseif (isset($_POST["ct_tuesday_start"])) {$ct_tuesday_start=$_POST["ct_tuesday_start"];} +if (isset($_GET["ct_tuesday_stop"])) {$ct_tuesday_stop=$_GET["ct_tuesday_stop"];} + elseif (isset($_POST["ct_tuesday_stop"])) {$ct_tuesday_stop=$_POST["ct_tuesday_stop"];} +if (isset($_GET["ct_wednesday_start"])) {$ct_wednesday_start=$_GET["ct_wednesday_start"];} + elseif (isset($_POST["ct_wednesday_start"])) {$ct_wednesday_start=$_POST["ct_wednesday_start"];} +if (isset($_GET["ct_wednesday_stop"])) {$ct_wednesday_stop=$_GET["ct_wednesday_stop"];} + elseif (isset($_POST["ct_wednesday_stop"])) {$ct_wednesday_stop=$_POST["ct_wednesday_stop"];} +if (isset($_GET["DBX_database"])) {$DBX_database=$_GET["DBX_database"];} + elseif (isset($_POST["DBX_database"])) {$DBX_database=$_POST["DBX_database"];} +if (isset($_GET["DBX_pass"])) {$DBX_pass=$_GET["DBX_pass"];} + elseif (isset($_POST["DBX_pass"])) {$DBX_pass=$_POST["DBX_pass"];} +if (isset($_GET["DBX_port"])) {$DBX_port=$_GET["DBX_port"];} + elseif (isset($_POST["DBX_port"])) {$DBX_port=$_POST["DBX_port"];} +if (isset($_GET["DBX_server"])) {$DBX_server=$_GET["DBX_server"];} + elseif (isset($_POST["DBX_server"])) {$DBX_server=$_POST["DBX_server"];} +if (isset($_GET["DBX_user"])) {$DBX_user=$_GET["DBX_user"];} + elseif (isset($_POST["DBX_user"])) {$DBX_user=$_POST["DBX_user"];} +if (isset($_GET["DBY_database"])) {$DBY_database=$_GET["DBY_database"];} + elseif (isset($_POST["DBY_database"])) {$DBY_database=$_POST["DBY_database"];} +if (isset($_GET["DBY_pass"])) {$DBY_pass=$_GET["DBY_pass"];} + elseif (isset($_POST["DBY_pass"])) {$DBY_pass=$_POST["DBY_pass"];} +if (isset($_GET["DBY_port"])) {$DBY_port=$_GET["DBY_port"];} + elseif (isset($_POST["DBY_port"])) {$DBY_port=$_POST["DBY_port"];} +if (isset($_GET["DBY_server"])) {$DBY_server=$_GET["DBY_server"];} + elseif (isset($_POST["DBY_server"])) {$DBY_server=$_POST["DBY_server"];} +if (isset($_GET["DBY_user"])) {$DBY_user=$_GET["DBY_user"];} + elseif (isset($_POST["DBY_user"])) {$DBY_user=$_POST["DBY_user"];} +if (isset($_GET["delete_call_times"])) {$delete_call_times=$_GET["delete_call_times"];} + elseif (isset($_POST["delete_call_times"])) {$delete_call_times=$_POST["delete_call_times"];} +if (isset($_GET["delete_campaigns"])) {$delete_campaigns=$_GET["delete_campaigns"];} + elseif (isset($_POST["delete_campaigns"])) {$delete_campaigns=$_POST["delete_campaigns"];} +if (isset($_GET["delete_filters"])) {$delete_filters=$_GET["delete_filters"];} + elseif (isset($_POST["delete_filters"])) {$delete_filters=$_POST["delete_filters"];} +if (isset($_GET["delete_ingroups"])) {$delete_ingroups=$_GET["delete_ingroups"];} + elseif (isset($_POST["delete_ingroups"])) {$delete_ingroups=$_POST["delete_ingroups"];} +if (isset($_GET["delete_lists"])) {$delete_lists=$_GET["delete_lists"];} + elseif (isset($_POST["delete_lists"])) {$delete_lists=$_POST["delete_lists"];} +if (isset($_GET["delete_remote_agents"])) {$delete_remote_agents=$_GET["delete_remote_agents"];} + elseif (isset($_POST["delete_remote_agents"])) {$delete_remote_agents=$_POST["delete_remote_agents"];} +if (isset($_GET["delete_scripts"])) {$delete_scripts=$_GET["delete_scripts"];} + elseif (isset($_POST["delete_scripts"])) {$delete_scripts=$_POST["delete_scripts"];} +if (isset($_GET["delete_user_groups"])) {$delete_user_groups=$_GET["delete_user_groups"];} + elseif (isset($_POST["delete_user_groups"])) {$delete_user_groups=$_POST["delete_user_groups"];} +if (isset($_GET["delete_users"])) {$delete_users=$_GET["delete_users"];} + elseif (isset($_POST["delete_users"])) {$delete_users=$_POST["delete_users"];} +if (isset($_GET["dial_method"])) {$dial_method=$_GET["dial_method"];} + elseif (isset($_POST["dial_method"])) {$dial_method=$_POST["dial_method"];} +if (isset($_GET["dial_prefix"])) {$dial_prefix=$_GET["dial_prefix"];} + elseif (isset($_POST["dial_prefix"])) {$dial_prefix=$_POST["dial_prefix"];} +if (isset($_GET["dial_status_a"])) {$dial_status_a=$_GET["dial_status_a"];} + elseif (isset($_POST["dial_status_a"])) {$dial_status_a=$_POST["dial_status_a"];} +if (isset($_GET["dial_status_b"])) {$dial_status_b=$_GET["dial_status_b"];} + elseif (isset($_POST["dial_status_b"])) {$dial_status_b=$_POST["dial_status_b"];} +if (isset($_GET["dial_status_c"])) {$dial_status_c=$_GET["dial_status_c"];} + elseif (isset($_POST["dial_status_c"])) {$dial_status_c=$_POST["dial_status_c"];} +if (isset($_GET["dial_status_d"])) {$dial_status_d=$_GET["dial_status_d"];} + elseif (isset($_POST["dial_status_d"])) {$dial_status_d=$_POST["dial_status_d"];} +if (isset($_GET["dial_status_e"])) {$dial_status_e=$_GET["dial_status_e"];} + elseif (isset($_POST["dial_status_e"])) {$dial_status_e=$_POST["dial_status_e"];} +if (isset($_GET["dial_timeout"])) {$dial_timeout=$_GET["dial_timeout"];} + elseif (isset($_POST["dial_timeout"])) {$dial_timeout=$_POST["dial_timeout"];} +if (isset($_GET["dialplan_number"])) {$dialplan_number=$_GET["dialplan_number"];} + elseif (isset($_POST["dialplan_number"])) {$dialplan_number=$_POST["dialplan_number"];} +if (isset($_GET["drop_call_seconds"])) {$drop_call_seconds=$_GET["drop_call_seconds"];} + elseif (isset($_POST["drop_call_seconds"])) {$drop_call_seconds=$_POST["drop_call_seconds"];} +if (isset($_GET["drop_exten"])) {$drop_exten=$_GET["drop_exten"];} + elseif (isset($_POST["drop_exten"])) {$drop_exten=$_POST["drop_exten"];} +if (isset($_GET["drop_action"])) {$drop_action=$_GET["drop_action"];} + elseif (isset($_POST["drop_action"])) {$drop_action=$_POST["drop_action"];} +if (isset($_GET["dtmf_send_extension"])) {$dtmf_send_extension=$_GET["dtmf_send_extension"];} + elseif (isset($_POST["dtmf_send_extension"])) {$dtmf_send_extension=$_POST["dtmf_send_extension"];} +if (isset($_GET["enable_fast_refresh"])) {$enable_fast_refresh=$_GET["enable_fast_refresh"];} + elseif (isset($_POST["enable_fast_refresh"])) {$enable_fast_refresh=$_POST["enable_fast_refresh"];} +if (isset($_GET["enable_persistant_mysql"])) {$enable_persistant_mysql=$_GET["enable_persistant_mysql"];} + elseif (isset($_POST["enable_persistant_mysql"])) {$enable_persistant_mysql=$_POST["enable_persistant_mysql"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["fast_refresh_rate"])) {$fast_refresh_rate=$_GET["fast_refresh_rate"];} + elseif (isset($_POST["fast_refresh_rate"])) {$fast_refresh_rate=$_POST["fast_refresh_rate"];} +if (isset($_GET["force_logout"])) {$force_logout=$_GET["force_logout"];} + elseif (isset($_POST["force_logout"])) {$force_logout=$_POST["force_logout"];} +if (isset($_GET["fronter_display"])) {$fronter_display=$_GET["fronter_display"];} + elseif (isset($_POST["fronter_display"])) {$fronter_display=$_POST["fronter_display"];} +if (isset($_GET["full_name"])) {$full_name=$_GET["full_name"];} + elseif (isset($_POST["full_name"])) {$full_name=$_POST["full_name"];} +if (isset($_GET["fullname"])) {$fullname=$_GET["fullname"];} + elseif (isset($_POST["fullname"])) {$fullname=$_POST["fullname"];} +if (isset($_GET["get_call_launch"])) {$get_call_launch=$_GET["get_call_launch"];} + elseif (isset($_POST["get_call_launch"])) {$get_call_launch=$_POST["get_call_launch"];} +if (isset($_GET["group_color"])) {$group_color=$_GET["group_color"];} + elseif (isset($_POST["group_color"])) {$group_color=$_POST["group_color"];} +if (isset($_GET["group_id"])) {$group_id=$_GET["group_id"];} + elseif (isset($_POST["group_id"])) {$group_id=$_POST["group_id"];} +if (isset($_GET["group_name"])) {$group_name=$_GET["group_name"];} + elseif (isset($_POST["group_name"])) {$group_name=$_POST["group_name"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["XFERgroups"])) {$XFERgroups=$_GET["XFERgroups"];} + elseif (isset($_POST["XFERgroups"])) {$XFERgroups=$_POST["XFERgroups"];} +if (isset($_GET["HKstatus"])) {$HKstatus=$_GET["HKstatus"];} + elseif (isset($_POST["HKstatus"])) {$HKstatus=$_POST["HKstatus"];} +if (isset($_GET["hopper_level"])) {$hopper_level=$_GET["hopper_level"];} + elseif (isset($_POST["hopper_level"])) {$hopper_level=$_POST["hopper_level"];} +if (isset($_GET["hotkey"])) {$hotkey=$_GET["hotkey"];} + elseif (isset($_POST["hotkey"])) {$hotkey=$_POST["hotkey"];} +if (isset($_GET["hotkeys_active"])) {$hotkeys_active=$_GET["hotkeys_active"];} + elseif (isset($_POST["hotkeys_active"])) {$hotkeys_active=$_POST["hotkeys_active"];} +if (isset($_GET["install_directory"])) {$install_directory=$_GET["install_directory"];} + elseif (isset($_POST["install_directory"])) {$install_directory=$_POST["install_directory"];} +if (isset($_GET["lead_filter_comments"])) {$lead_filter_comments=$_GET["lead_filter_comments"];} + elseif (isset($_POST["lead_filter_comments"])) {$lead_filter_comments=$_POST["lead_filter_comments"];} +if (isset($_GET["lead_filter_id"])) {$lead_filter_id=$_GET["lead_filter_id"];} + elseif (isset($_POST["lead_filter_id"])) {$lead_filter_id=$_POST["lead_filter_id"];} +if (isset($_GET["lead_filter_name"])) {$lead_filter_name=$_GET["lead_filter_name"];} + elseif (isset($_POST["lead_filter_name"])) {$lead_filter_name=$_POST["lead_filter_name"];} +if (isset($_GET["lead_filter_sql"])) {$lead_filter_sql=$_GET["lead_filter_sql"];} + elseif (isset($_POST["lead_filter_sql"])) {$lead_filter_sql=$_POST["lead_filter_sql"];} +if (isset($_GET["lead_order"])) {$lead_order=$_GET["lead_order"];} + elseif (isset($_POST["lead_order"])) {$lead_order=$_POST["lead_order"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["list_name"])) {$list_name=$_GET["list_name"];} + elseif (isset($_POST["list_name"])) {$list_name=$_POST["list_name"];} +if (isset($_GET["load_leads"])) {$load_leads=$_GET["load_leads"];} + elseif (isset($_POST["load_leads"])) {$load_leads=$_POST["load_leads"];} +if (isset($_GET["local_call_time"])) {$local_call_time=$_GET["local_call_time"];} + elseif (isset($_POST["local_call_time"])) {$local_call_time=$_POST["local_call_time"];} +if (isset($_GET["local_gmt"])) {$local_gmt=$_GET["local_gmt"];} + elseif (isset($_POST["local_gmt"])) {$local_gmt=$_POST["local_gmt"];} +if (isset($_GET["local_web_callerID_URL"])) {$local_web_callerID_URL=$_GET["local_web_callerID_URL"];} + elseif (isset($_POST["local_web_callerID_URL"])) {$local_web_callerID_URL=$_POST["local_web_callerID_URL"];} +if (isset($_GET["login"])) {$login=$_GET["login"];} + elseif (isset($_POST["login"])) {$login=$_POST["login"];} +if (isset($_GET["login_campaign"])) {$login_campaign=$_GET["login_campaign"];} + elseif (isset($_POST["login_campaign"])) {$login_campaign=$_POST["login_campaign"];} +if (isset($_GET["login_pass"])) {$login_pass=$_GET["login_pass"];} + elseif (isset($_POST["login_pass"])) {$login_pass=$_POST["login_pass"];} +if (isset($_GET["login_user"])) {$login_user=$_GET["login_user"];} + elseif (isset($_POST["login_user"])) {$login_user=$_POST["login_user"];} +if (isset($_GET["max_vicidial_trunks"])) {$max_vicidial_trunks=$_GET["max_vicidial_trunks"];} + elseif (isset($_POST["max_vicidial_trunks"])) {$max_vicidial_trunks=$_POST["max_vicidial_trunks"];} +if (isset($_GET["modify_call_times"])) {$modify_call_times=$_GET["modify_call_times"];} + elseif (isset($_POST["modify_call_times"])) {$modify_call_times=$_POST["modify_call_times"];} +if (isset($_GET["modify_leads"])) {$modify_leads=$_GET["modify_leads"];} + elseif (isset($_POST["modify_leads"])) {$modify_leads=$_POST["modify_leads"];} +if (isset($_GET["monitor_prefix"])) {$monitor_prefix=$_GET["monitor_prefix"];} + elseif (isset($_POST["monitor_prefix"])) {$monitor_prefix=$_POST["monitor_prefix"];} +if (isset($_GET["next_agent_call"])) {$next_agent_call=$_GET["next_agent_call"];} + elseif (isset($_POST["next_agent_call"])) {$next_agent_call=$_POST["next_agent_call"];} +if (isset($_GET["number_of_lines"])) {$number_of_lines=$_GET["number_of_lines"];} + elseif (isset($_POST["number_of_lines"])) {$number_of_lines=$_POST["number_of_lines"];} +if (isset($_GET["old_campaign_id"])) {$old_campaign_id=$_GET["old_campaign_id"];} + elseif (isset($_POST["old_campaign_id"])) {$old_campaign_id=$_POST["old_campaign_id"];} +if (isset($_GET["old_conf_exten"])) {$old_conf_exten=$_GET["old_conf_exten"];} + elseif (isset($_POST["old_conf_exten"])) {$old_conf_exten=$_POST["old_conf_exten"];} +if (isset($_GET["old_extension"])) {$old_extension=$_GET["old_extension"];} + elseif (isset($_POST["old_extension"])) {$old_extension=$_POST["old_extension"];} +if (isset($_GET["old_server_id"])) {$old_server_id=$_GET["old_server_id"];} + elseif (isset($_POST["old_server_id"])) {$old_server_id=$_POST["old_server_id"];} +if (isset($_GET["old_server_ip"])) {$old_server_ip=$_GET["old_server_ip"];} + elseif (isset($_POST["old_server_ip"])) {$old_server_ip=$_POST["old_server_ip"];} +if (isset($_GET["OLDuser_group"])) {$OLDuser_group=$_GET["OLDuser_group"];} + elseif (isset($_POST["OLDuser_group"])) {$OLDuser_group=$_POST["OLDuser_group"];} +if (isset($_GET["omit_phone_code"])) {$omit_phone_code=$_GET["omit_phone_code"];} + elseif (isset($_POST["omit_phone_code"])) {$omit_phone_code=$_POST["omit_phone_code"];} +if (isset($_GET["outbound_cid"])) {$outbound_cid=$_GET["outbound_cid"];} + elseif (isset($_POST["outbound_cid"])) {$outbound_cid=$_POST["outbound_cid"];} +if (isset($_GET["park_ext"])) {$park_ext=$_GET["park_ext"];} + elseif (isset($_POST["park_ext"])) {$park_ext=$_POST["park_ext"];} +if (isset($_GET["park_file_name"])) {$park_file_name=$_GET["park_file_name"];} + elseif (isset($_POST["park_file_name"])) {$park_file_name=$_POST["park_file_name"];} +if (isset($_GET["park_on_extension"])) {$park_on_extension=$_GET["park_on_extension"];} + elseif (isset($_POST["park_on_extension"])) {$park_on_extension=$_POST["park_on_extension"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["phone_type"])) {$phone_type=$_GET["phone_type"];} + elseif (isset($_POST["phone_type"])) {$phone_type=$_POST["phone_type"];} +if (isset($_GET["picture"])) {$picture=$_GET["picture"];} + elseif (isset($_POST["picture"])) {$picture=$_POST["picture"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["QUEUE_ACTION_enabled"])) {$QUEUE_ACTION_enabled=$_GET["QUEUE_ACTION_enabled"];} + elseif (isset($_POST["QUEUE_ACTION_enabled"])) {$QUEUE_ACTION_enabled=$_POST["QUEUE_ACTION_enabled"];} +if (isset($_GET["recording_exten"])) {$recording_exten=$_GET["recording_exten"];} + elseif (isset($_POST["recording_exten"])) {$recording_exten=$_POST["recording_exten"];} +if (isset($_GET["remote_agent_id"])) {$remote_agent_id=$_GET["remote_agent_id"];} + elseif (isset($_POST["remote_agent_id"])) {$remote_agent_id=$_POST["remote_agent_id"];} +if (isset($_GET["reset_hopper"])) {$reset_hopper=$_GET["reset_hopper"];} + elseif (isset($_POST["reset_hopper"])) {$reset_hopper=$_POST["reset_hopper"];} +if (isset($_GET["reset_list"])) {$reset_list=$_GET["reset_list"];} + elseif (isset($_POST["reset_list"])) {$reset_list=$_POST["reset_list"];} +if (isset($_GET["safe_harbor_exten"])) {$safe_harbor_exten=$_GET["safe_harbor_exten"];} + elseif (isset($_POST["safe_harbor_exten"])) {$safe_harbor_exten=$_POST["safe_harbor_exten"];} +if (isset($_GET["drop_action"])) {$drop_action=$_GET["drop_action"];} + elseif (isset($_POST["drop_action"])) {$drop_action=$_POST["drop_action"];} +if (isset($_GET["scheduled_callbacks"])) {$scheduled_callbacks=$_GET["scheduled_callbacks"];} + elseif (isset($_POST["scheduled_callbacks"])) {$scheduled_callbacks=$_POST["scheduled_callbacks"];} +if (isset($_GET["script_comments"])) {$script_comments=$_GET["script_comments"];} + elseif (isset($_POST["script_comments"])) {$script_comments=$_POST["script_comments"];} +if (isset($_GET["script_id"])) {$script_id=$_GET["script_id"];} + elseif (isset($_POST["script_id"])) {$script_id=$_POST["script_id"];} +if (isset($_GET["script_name"])) {$script_name=$_GET["script_name"];} + elseif (isset($_POST["script_name"])) {$script_name=$_POST["script_name"];} +if (isset($_GET["script_text"])) {$script_text=$_GET["script_text"];} + elseif (isset($_POST["script_text"])) {$script_text=$_POST["script_text"];} +if (isset($_GET["selectable"])) {$selectable=$_GET["selectable"];} + elseif (isset($_POST["selectable"])) {$selectable=$_POST["selectable"];} +if (isset($_GET["server_description"])) {$server_description=$_GET["server_description"];} + elseif (isset($_POST["server_description"])) {$server_description=$_POST["server_description"];} +if (isset($_GET["server_id"])) {$server_id=$_GET["server_id"];} + elseif (isset($_POST["server_id"])) {$server_id=$_POST["server_id"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["state_call_time_state"])) {$state_call_time_state=$_GET["state_call_time_state"];} + elseif (isset($_POST["state_call_time_state"])) {$state_call_time_state=$_POST["state_call_time_state"];} +if (isset($_GET["state_rule"])) {$state_rule=$_GET["state_rule"];} + elseif (isset($_POST["state_rule"])) {$state_rule=$_POST["state_rule"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["status_name"])) {$status_name=$_GET["status_name"];} + elseif (isset($_POST["status_name"])) {$status_name=$_POST["status_name"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} +if (isset($_GET["sys_perf_log"])) {$sys_perf_log=$_GET["sys_perf_log"];} + elseif (isset($_POST["sys_perf_log"])) {$sys_perf_log=$_POST["sys_perf_log"];} +if (isset($_GET["telnet_host"])) {$telnet_host=$_GET["telnet_host"];} + elseif (isset($_POST["telnet_host"])) {$telnet_host=$_POST["telnet_host"];} +if (isset($_GET["telnet_port"])) {$telnet_port=$_GET["telnet_port"];} + elseif (isset($_POST["telnet_port"])) {$telnet_port=$_POST["telnet_port"];} +if (isset($_GET["updater_check_enabled"])) {$updater_check_enabled=$_GET["updater_check_enabled"];} + elseif (isset($_POST["updater_check_enabled"])) {$updater_check_enabled=$_POST["updater_check_enabled"];} +if (isset($_GET["use_internal_dnc"])) {$use_internal_dnc=$_GET["use_internal_dnc"];} + elseif (isset($_POST["use_internal_dnc"])) {$use_internal_dnc=$_POST["use_internal_dnc"];} +if (isset($_GET["use_campaign_dnc"])) {$use_campaign_dnc=$_GET["use_campaign_dnc"];} + elseif (isset($_POST["use_campaign_dnc"])) {$use_campaign_dnc=$_POST["use_campaign_dnc"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} +if (isset($_GET["user_level"])) {$user_level=$_GET["user_level"];} + elseif (isset($_POST["user_level"])) {$user_level=$_POST["user_level"];} +if (isset($_GET["user_start"])) {$user_start=$_GET["user_start"];} + elseif (isset($_POST["user_start"])) {$user_start=$_POST["user_start"];} +if (isset($_GET["user_switching_enabled"])) {$user_switching_enabled=$_GET["user_switching_enabled"];} + elseif (isset($_POST["user_switching_enabled"])) {$user_switching_enabled=$_POST["user_switching_enabled"];} +if (isset($_GET["vd_server_logs"])) {$vd_server_logs=$_GET["vd_server_logs"];} + elseif (isset($_POST["vd_server_logs"])) {$vd_server_logs=$_POST["vd_server_logs"];} +if (isset($_GET["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_GET["VDstop_rec_after_each_call"];} + elseif (isset($_POST["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_POST["VDstop_rec_after_each_call"];} +if (isset($_GET["VICIDIAL_park_on_extension"])) {$VICIDIAL_park_on_extension=$_GET["VICIDIAL_park_on_extension"];} + elseif (isset($_POST["VICIDIAL_park_on_extension"])) {$VICIDIAL_park_on_extension=$_POST["VICIDIAL_park_on_extension"];} +if (isset($_GET["VICIDIAL_park_on_filename"])) {$VICIDIAL_park_on_filename=$_GET["VICIDIAL_park_on_filename"];} + elseif (isset($_POST["VICIDIAL_park_on_filename"])) {$VICIDIAL_park_on_filename=$_POST["VICIDIAL_park_on_filename"];} +if (isset($_GET["vicidial_recording"])) {$vicidial_recording=$_GET["vicidial_recording"];} + elseif (isset($_POST["vicidial_recording"])) {$vicidial_recording=$_POST["vicidial_recording"];} +if (isset($_GET["vicidial_transfers"])) {$vicidial_transfers=$_GET["vicidial_transfers"];} + elseif (isset($_POST["vicidial_transfers"])) {$vicidial_transfers=$_POST["vicidial_transfers"];} +if (isset($_GET["VICIDIAL_web_URL"])) {$VICIDIAL_web_URL=$_GET["VICIDIAL_web_URL"];} + elseif (isset($_POST["VICIDIAL_web_URL"])) {$VICIDIAL_web_URL=$_POST["VICIDIAL_web_URL"];} +if (isset($_GET["voicemail_button_enabled"])) {$voicemail_button_enabled=$_GET["voicemail_button_enabled"];} + elseif (isset($_POST["voicemail_button_enabled"])) {$voicemail_button_enabled=$_POST["voicemail_button_enabled"];} +if (isset($_GET["voicemail_dump_exten"])) {$voicemail_dump_exten=$_GET["voicemail_dump_exten"];} + elseif (isset($_POST["voicemail_dump_exten"])) {$voicemail_dump_exten=$_POST["voicemail_dump_exten"];} +if (isset($_GET["voicemail_ext"])) {$voicemail_ext=$_GET["voicemail_ext"];} + elseif (isset($_POST["voicemail_ext"])) {$voicemail_ext=$_POST["voicemail_ext"];} +if (isset($_GET["voicemail_exten"])) {$voicemail_exten=$_GET["voicemail_exten"];} + elseif (isset($_POST["voicemail_exten"])) {$voicemail_exten=$_POST["voicemail_exten"];} +if (isset($_GET["voicemail_id"])) {$voicemail_id=$_GET["voicemail_id"];} + elseif (isset($_POST["voicemail_id"])) {$voicemail_id=$_POST["voicemail_id"];} +if (isset($_GET["web_form_address"])) {$web_form_address=$_GET["web_form_address"];} + elseif (isset($_POST["web_form_address"])) {$web_form_address=$_POST["web_form_address"];} +if (isset($_GET["wrapup_message"])) {$wrapup_message=$_GET["wrapup_message"];} + elseif (isset($_POST["wrapup_message"])) {$wrapup_message=$_POST["wrapup_message"];} +if (isset($_GET["wrapup_seconds"])) {$wrapup_seconds=$_GET["wrapup_seconds"];} + elseif (isset($_POST["wrapup_seconds"])) {$wrapup_seconds=$_POST["wrapup_seconds"];} +if (isset($_GET["xferconf_a_dtmf"])) {$xferconf_a_dtmf=$_GET["xferconf_a_dtmf"];} + elseif (isset($_POST["xferconf_a_dtmf"])) {$xferconf_a_dtmf=$_POST["xferconf_a_dtmf"];} +if (isset($_GET["xferconf_a_number"])) {$xferconf_a_number=$_GET["xferconf_a_number"];} + elseif (isset($_POST["xferconf_a_number"])) {$xferconf_a_number=$_POST["xferconf_a_number"];} +if (isset($_GET["xferconf_b_dtmf"])) {$xferconf_b_dtmf=$_GET["xferconf_b_dtmf"];} + elseif (isset($_POST["xferconf_b_dtmf"])) {$xferconf_b_dtmf=$_POST["xferconf_b_dtmf"];} +if (isset($_GET["xferconf_b_number"])) {$xferconf_b_number=$_GET["xferconf_b_number"];} + elseif (isset($_POST["xferconf_b_number"])) {$xferconf_b_number=$_POST["xferconf_b_number"];} +if (isset($_GET["vicidial_balance_active"])) {$vicidial_balance_active=$_GET["vicidial_balance_active"];} + elseif (isset($_POST["vicidial_balance_active"])) {$vicidial_balance_active=$_POST["vicidial_balance_active"];} +if (isset($_GET["balance_trunks_offlimits"])) {$balance_trunks_offlimits=$_GET["balance_trunks_offlimits"];} + elseif (isset($_POST["balance_trunks_offlimits"])) {$balance_trunks_offlimits=$_POST["balance_trunks_offlimits"];} +if (isset($_GET["dedicated_trunks"])) {$dedicated_trunks=$_GET["dedicated_trunks"];} + elseif (isset($_POST["dedicated_trunks"])) {$dedicated_trunks=$_POST["dedicated_trunks"];} +if (isset($_GET["trunk_restriction"])) {$trunk_restriction=$_GET["trunk_restriction"];} + elseif (isset($_POST["trunk_restriction"])) {$trunk_restriction=$_POST["trunk_restriction"];} +if (isset($_GET["campaigns"])) {$campaigns=$_GET["campaigns"];} + elseif (isset($_POST["campaigns"])) {$campaigns=$_POST["campaigns"];} +if (isset($_GET["dial_level_override"])) {$dial_level_override=$_GET["dial_level_override"];} + elseif (isset($_POST["dial_level_override"])) {$dial_level_override=$_POST["dial_level_override"];} +if (isset($_GET["concurrent_transfers"])) {$concurrent_transfers=$_GET["concurrent_transfers"];} + elseif (isset($_POST["concurrent_transfers"])) {$concurrent_transfers=$_POST["concurrent_transfers"];} +if (isset($_GET["auto_alt_dial"])) {$auto_alt_dial=$_GET["auto_alt_dial"];} + elseif (isset($_POST["auto_alt_dial"])) {$auto_alt_dial=$_POST["auto_alt_dial"];} +if (isset($_GET["modify_users"])) {$modify_users=$_GET["modify_users"];} + elseif (isset($_POST["modify_users"])) {$modify_users=$_POST["modify_users"];} +if (isset($_GET["modify_campaigns"])) {$modify_campaigns=$_GET["modify_campaigns"];} + elseif (isset($_POST["modify_campaigns"])) {$modify_campaigns=$_POST["modify_campaigns"];} +if (isset($_GET["modify_lists"])) {$modify_lists=$_GET["modify_lists"];} + elseif (isset($_POST["modify_lists"])) {$modify_lists=$_POST["modify_lists"];} +if (isset($_GET["modify_scripts"])) {$modify_scripts=$_GET["modify_scripts"];} + elseif (isset($_POST["modify_scripts"])) {$modify_scripts=$_POST["modify_scripts"];} +if (isset($_GET["modify_filters"])) {$modify_filters=$_GET["modify_filters"];} + elseif (isset($_POST["modify_filters"])) {$modify_filters=$_POST["modify_filters"];} +if (isset($_GET["modify_ingroups"])) {$modify_ingroups=$_GET["modify_ingroups"];} + elseif (isset($_POST["modify_ingroups"])) {$modify_ingroups=$_POST["modify_ingroups"];} +if (isset($_GET["modify_usergroups"])) {$modify_usergroups=$_GET["modify_usergroups"];} + elseif (isset($_POST["modify_usergroups"])) {$modify_usergroups=$_POST["modify_usergroups"];} +if (isset($_GET["modify_remoteagents"])) {$modify_remoteagents=$_GET["modify_remoteagents"];} + elseif (isset($_POST["modify_remoteagents"])) {$modify_remoteagents=$_POST["modify_remoteagents"];} +if (isset($_GET["modify_servers"])) {$modify_servers=$_GET["modify_servers"];} + elseif (isset($_POST["modify_servers"])) {$modify_servers=$_POST["modify_servers"];} +if (isset($_GET["view_reports"])) {$view_reports=$_GET["view_reports"];} + elseif (isset($_POST["view_reports"])) {$view_reports=$_POST["view_reports"];} +if (isset($_GET["agent_pause_codes_active"])) {$agent_pause_codes_active=$_GET["agent_pause_codes_active"];} + elseif (isset($_POST["agent_pause_codes_active"])) {$agent_pause_codes_active=$_POST["agent_pause_codes_active"];} +if (isset($_GET["pause_code"])) {$pause_code=$_GET["pause_code"];} + elseif (isset($_POST["pause_code"])) {$pause_code=$_POST["pause_code"];} +if (isset($_GET["pause_code_name"])) {$pause_code_name=$_GET["pause_code_name"];} + elseif (isset($_POST["pause_code_name"])) {$pause_code_name=$_POST["pause_code_name"];} +if (isset($_GET["billable"])) {$billable=$_GET["billable"];} + elseif (isset($_POST["billable"])) {$billable=$_POST["billable"];} +if (isset($_GET["campaign_description"])) {$campaign_description=$_GET["campaign_description"];} + elseif (isset($_POST["campaign_description"])) {$campaign_description=$_POST["campaign_description"];} +if (isset($_GET["campaign_stats_refresh"])) {$campaign_stats_refresh=$_GET["campaign_stats_refresh"];} + elseif (isset($_POST["campaign_stats_refresh"])){$campaign_stats_refresh=$_POST["campaign_stats_refresh"];} +if (isset($_GET["list_description"])) {$list_description=$_GET["list_description"];} + elseif (isset($_POST["list_description"])) {$list_description=$_POST["list_description"];} +if (isset($_GET["vicidial_recording_override"])) {$vicidial_recording_override=$_GET["vicidial_recording_override"];} + elseif (isset($_POST["vicidial_recording_override"])) {$vicidial_recording_override=$_POST["vicidial_recording_override"];} +if (isset($_GET["use_non_latin"])) {$use_non_latin=$_GET["use_non_latin"];} + elseif (isset($_POST["use_non_latin"])) {$use_non_latin=$_POST["use_non_latin"];} +if (isset($_GET["webroot_writable"])) {$webroot_writable=$_GET["webroot_writable"];} + elseif (isset($_POST["webroot_writable"])) {$webroot_writable=$_POST["webroot_writable"];} +if (isset($_GET["enable_queuemetrics_logging"])) {$enable_queuemetrics_logging=$_GET["enable_queuemetrics_logging"];} + elseif (isset($_POST["enable_queuemetrics_logging"])) {$enable_queuemetrics_logging=$_POST["enable_queuemetrics_logging"];} +if (isset($_GET["queuemetrics_server_ip"])) {$queuemetrics_server_ip=$_GET["queuemetrics_server_ip"];} + elseif (isset($_POST["queuemetrics_server_ip"])) {$queuemetrics_server_ip=$_POST["queuemetrics_server_ip"];} +if (isset($_GET["queuemetrics_dbname"])) {$queuemetrics_dbname=$_GET["queuemetrics_dbname"];} + elseif (isset($_POST["queuemetrics_dbname"])) {$queuemetrics_dbname=$_POST["queuemetrics_dbname"];} +if (isset($_GET["queuemetrics_login"])) {$queuemetrics_login=$_GET["queuemetrics_login"];} + elseif (isset($_POST["queuemetrics_login"])) {$queuemetrics_login=$_POST["queuemetrics_login"];} +if (isset($_GET["queuemetrics_pass"])) {$queuemetrics_pass=$_GET["queuemetrics_pass"];} + elseif (isset($_POST["queuemetrics_pass"])) {$queuemetrics_pass=$_POST["queuemetrics_pass"];} +if (isset($_GET["queuemetrics_url"])) {$queuemetrics_url=$_GET["queuemetrics_url"];} + elseif (isset($_POST["queuemetrics_url"])) {$queuemetrics_url=$_POST["queuemetrics_url"];} +if (isset($_GET["queuemetrics_log_id"])) {$queuemetrics_log_id=$_GET["queuemetrics_log_id"];} + elseif (isset($_POST["queuemetrics_log_id"])) {$queuemetrics_log_id=$_POST["queuemetrics_log_id"];} +if (isset($_GET["dial_status"])) {$dial_status=$_GET["dial_status"];} + elseif (isset($_POST["dial_status"])) {$dial_status=$_POST["dial_status"];} +if (isset($_GET["queuemetrics_eq_prepend"])) {$queuemetrics_eq_prepend=$_GET["queuemetrics_eq_prepend"];} + elseif (isset($_POST["queuemetrics_eq_prepend"])) {$queuemetrics_eq_prepend=$_POST["queuemetrics_eq_prepend"];} +if (isset($_GET["vicidial_agent_disable"])) {$vicidial_agent_disable=$_GET["vicidial_agent_disable"];} + elseif (isset($_POST["vicidial_agent_disable"])) {$vicidial_agent_disable=$_POST["vicidial_agent_disable"];} +if (isset($_GET["disable_alter_custdata"])) {$disable_alter_custdata=$_GET["disable_alter_custdata"];} + elseif (isset($_POST["disable_alter_custdata"])) {$disable_alter_custdata=$_POST["disable_alter_custdata"];} +if (isset($_GET["alter_custdata_override"])) {$alter_custdata_override=$_GET["alter_custdata_override"];} + elseif (isset($_POST["alter_custdata_override"])) {$alter_custdata_override=$_POST["alter_custdata_override"];} +if (isset($_GET["no_hopper_leads_logins"])) {$no_hopper_leads_logins=$_GET["no_hopper_leads_logins"];} + elseif (isset($_POST["no_hopper_leads_logins"])) {$no_hopper_leads_logins=$_POST["no_hopper_leads_logins"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["allow_sipsak_messages"])) {$allow_sipsak_messages=$_GET["allow_sipsak_messages"];} + elseif (isset($_POST["allow_sipsak_messages"])) {$allow_sipsak_messages=$_POST["allow_sipsak_messages"];} +if (isset($_GET["admin_home_url"])) {$admin_home_url=$_GET["admin_home_url"];} + elseif (isset($_POST["admin_home_url"])) {$admin_home_url=$_POST["admin_home_url"];} +if (isset($_GET["list_order_mix"])) {$list_order_mix=$_GET["list_order_mix"];} + elseif (isset($_POST["list_order_mix"])) {$list_order_mix=$_POST["list_order_mix"];} +if (isset($_GET["vcl_id"])) {$vcl_id=$_GET["vcl_id"];} + elseif (isset($_POST["vcl_id"])) {$vcl_id=$_POST["vcl_id"];} +if (isset($_GET["vcl_name"])) {$vcl_name=$_GET["vcl_name"];} + elseif (isset($_POST["vcl_name"])) {$vcl_name=$_POST["vcl_name"];} +if (isset($_GET["list_mix_container"])) {$list_mix_container=$_GET["list_mix_container"];} + elseif (isset($_POST["list_mix_container"])) {$list_mix_container=$_POST["list_mix_container"];} +if (isset($_GET["mix_method"])) {$mix_method=$_GET["mix_method"];} + elseif (isset($_POST["mix_method"])) {$mix_method=$_POST["mix_method"];} +if (isset($_GET["human_answered"])) {$human_answered=$_GET["human_answered"];} + elseif (isset($_POST["human_answered"])) {$human_answered=$_POST["human_answered"];} +if (isset($_GET["category"])) {$category=$_GET["category"];} + elseif (isset($_POST["category"])) {$category=$_POST["category"];} +if (isset($_GET["vsc_id"])) {$vsc_id=$_GET["vsc_id"];} + elseif (isset($_POST["vsc_id"])) {$vsc_id=$_POST["vsc_id"];} +if (isset($_GET["vsc_name"])) {$vsc_name=$_GET["vsc_name"];} + elseif (isset($_POST["vsc_name"])) {$vsc_name=$_POST["vsc_name"];} +if (isset($_GET["vsc_description"])) {$vsc_description=$_GET["vsc_description"];} + elseif (isset($_POST["vsc_description"])) {$vsc_description=$_POST["vsc_description"];} +if (isset($_GET["tovdad_display"])) {$tovdad_display=$_GET["tovdad_display"];} + elseif (isset($_POST["tovdad_display"])) {$tovdad_display=$_POST["tovdad_display"];} +if (isset($_GET["mix_container_item"])) {$mix_container_item=$_GET["mix_container_item"];} + elseif (isset($_POST["mix_container_item"])) {$mix_container_item=$_POST["mix_container_item"];} +if (isset($_GET["enable_agc_xfer_log"])) {$enable_agc_xfer_log=$_GET["enable_agc_xfer_log"];} + elseif (isset($_POST["enable_agc_xfer_log"])) {$enable_agc_xfer_log=$_POST["enable_agc_xfer_log"];} +if (isset($_GET["after_hours_action"])) {$after_hours_action=$_GET["after_hours_action"];} + elseif (isset($_POST["after_hours_action"])) {$after_hours_action=$_POST["after_hours_action"];} +if (isset($_GET["after_hours_message_filename"])) {$after_hours_message_filename=$_GET["after_hours_message_filename"];} + elseif (isset($_POST["after_hours_message_filename"])) {$after_hours_message_filename=$_POST["after_hours_message_filename"];} +if (isset($_GET["after_hours_exten"])) {$after_hours_exten=$_GET["after_hours_exten"];} + elseif (isset($_POST["after_hours_exten"])) {$after_hours_exten=$_POST["after_hours_exten"];} +if (isset($_GET["after_hours_voicemail"])) {$after_hours_voicemail=$_GET["after_hours_voicemail"];} + elseif (isset($_POST["after_hours_voicemail"])) {$after_hours_voicemail=$_POST["after_hours_voicemail"];} +if (isset($_GET["welcome_message_filename"])) {$welcome_message_filename=$_GET["welcome_message_filename"];} + elseif (isset($_POST["welcome_message_filename"])) {$welcome_message_filename=$_POST["welcome_message_filename"];} +if (isset($_GET["moh_context"])) {$moh_context=$_GET["moh_context"];} + elseif (isset($_POST["moh_context"])) {$moh_context=$_POST["moh_context"];} +if (isset($_GET["onhold_prompt_filename"])) {$onhold_prompt_filename=$_GET["onhold_prompt_filename"];} + elseif (isset($_POST["onhold_prompt_filename"])) {$onhold_prompt_filename=$_POST["onhold_prompt_filename"];} +if (isset($_GET["prompt_interval"])) {$prompt_interval=$_GET["prompt_interval"];} + elseif (isset($_POST["prompt_interval"])) {$prompt_interval=$_POST["prompt_interval"];} +if (isset($_GET["agent_alert_exten"])) {$agent_alert_exten=$_GET["agent_alert_exten"];} + elseif (isset($_POST["agent_alert_exten"])) {$agent_alert_exten=$_POST["agent_alert_exten"];} +if (isset($_GET["agent_alert_delay"])) {$agent_alert_delay=$_GET["agent_alert_delay"];} + elseif (isset($_POST["agent_alert_delay"])) {$agent_alert_delay=$_POST["agent_alert_delay"];} +if (isset($_GET["group_rank"])) {$group_rank=$_GET["group_rank"];} + elseif (isset($_POST["group_rank"])) {$group_rank=$_POST["group_rank"];} +if (isset($_GET["campaign_allow_inbound"])) {$campaign_allow_inbound=$_GET["campaign_allow_inbound"];} + elseif (isset($_POST["campaign_allow_inbound"])) {$campaign_allow_inbound=$_POST["campaign_allow_inbound"];} +if (isset($_GET["manual_dial_list_id"])) {$manual_dial_list_id=$_GET["manual_dial_list_id"];} + elseif (isset($_POST["manual_dial_list_id"])) {$manual_dial_list_id=$_POST["manual_dial_list_id"];} +if (isset($_GET["campaign_rank"])) {$campaign_rank=$_GET["campaign_rank"];} + elseif (isset($_POST["campaign_rank"])) {$campaign_rank=$_POST["campaign_rank"];} +if (isset($_GET["source_campaign_id"])) {$source_campaign_id=$_GET["source_campaign_id"];} + elseif (isset($_POST["source_campaign_id"])) {$source_campaign_id=$_POST["source_campaign_id"];} +if (isset($_GET["source_user_id"])) {$source_user_id=$_GET["source_user_id"];} + elseif (isset($_POST["source_user_id"])) {$source_user_id=$_POST["source_user_id"];} +if (isset($_GET["source_group_id"])) {$source_group_id=$_GET["source_group_id"];} + elseif (isset($_POST["source_group_id"])) {$source_group_id=$_POST["source_group_id"];} +if (isset($_GET["default_xfer_group"])) {$default_xfer_group=$_GET["default_xfer_group"];} + elseif (isset($_POST["default_xfer_group"])) {$default_xfer_group=$_POST["default_xfer_group"];} +if (isset($_GET["qc_enabled"])) {$qc_enabled=$_GET["qc_enabled"];} + elseif (isset($_POST["qc_enabled"])) {$qc_enabled=$_POST["qc_enabled"];} +if (isset($_GET["qc_user_level"])) {$qc_user_level=$_GET["qc_user_level"];} + elseif (isset($_POST["qc_user_level"])) {$qc_user_level=$_POST["qc_user_level"];} +if (isset($_GET["qc_pass"])) {$qc_pass=$_GET["qc_pass"];} + elseif (isset($_POST["qc_pass"])) {$qc_pass=$_POST["qc_pass"];} +if (isset($_GET["qc_finish"])) {$qc_finish=$_GET["qc_finish"];} + elseif (isset($_POST["qc_finish"])) {$qc_finish=$_POST["qc_finish"];} +if (isset($_GET["qc_commit"])) {$qc_commit=$_GET["qc_commit"];} + elseif (isset($_POST["qc_commit"])) {$qc_commit=$_POST["qc_commit"];} +if (isset($_GET["qc_campaigns"])) {$qc_campaigns=$_GET["qc_campaigns"];} + elseif (isset($_POST["qc_campaigns"])) {$qc_campaigns=$_POST["qc_campaigns"];} +if (isset($_GET["qc_groups"])) {$qc_groups=$_GET["qc_groups"];} + elseif (isset($_POST["qc_groups"])) {$qc_groups=$_POST["qc_groups"];} +if (isset($_GET["queue_priority"])) {$queue_priority=$_GET["queue_priority"];} + elseif (isset($_POST["queue_priority"])) {$queue_priority=$_POST["queue_priority"];} +if (isset($_GET["drop_inbound_group"])) {$drop_inbound_group=$_GET["drop_inbound_group"];} + elseif (isset($_POST["drop_inbound_group"])) {$drop_inbound_group=$_POST["drop_inbound_group"];} +if (isset($_GET["qc_statuses"])) {$qc_statuses=$_GET["qc_statuses"];} + elseif (isset($_POST["qc_statuses"])) {$qc_statuses=$_POST["qc_statuses"];} +if (isset($_GET["qc_lists"])) {$qc_lists=$_GET["qc_lists"];} + elseif (isset($_POST["qc_lists"])) {$qc_lists=$_POST["qc_lists"];} +if (isset($_GET["qc_get_record_launch"])) {$qc_get_record_launch=$_GET["qc_get_record_launch"];} + elseif (isset($_POST["qc_get_record_launch"])) {$qc_get_record_launch=$_POST["qc_get_record_launch"];} +if (isset($_GET["qc_show_recording"])) {$qc_show_recording=$_GET["qc_show_recording"];} + elseif (isset($_POST["qc_show_recording"])) {$qc_show_recording=$_POST["qc_show_recording"];} +if (isset($_GET["qc_shift_id"])) {$qc_shift_id=$_GET["qc_shift_id"];} + elseif (isset($_POST["qc_shift_id"])) {$qc_shift_id=$_POST["qc_shift_id"];} +if (isset($_GET["qc_web_form_address"])) {$qc_web_form_address=$_GET["qc_web_form_address"];} + elseif (isset($_POST["qc_web_form_address"])) {$qc_web_form_address=$_POST["qc_web_form_address"];} +if (isset($_GET["qc_script"])) {$qc_script=$_GET["qc_script"];} + elseif (isset($_POST["qc_script"])) {$qc_script=$_POST["qc_script"];} +if (isset($_GET["ingroup_recording_override"])) {$ingroup_recording_override=$_GET["ingroup_recording_override"];} + elseif (isset($_POST["ingroup_recording_override"])) {$ingroup_recording_override=$_POST["ingroup_recording_override"];} +if (isset($_GET["code"])) {$code=$_GET["code"];} + elseif (isset($_POST["code"])) {$code=$_POST["code"];} +if (isset($_GET["code_name"])) {$code_name=$_GET["code_name"];} + elseif (isset($_POST["code_name"])) {$code_name=$_POST["code_name"];} +if (isset($_GET["afterhours_xfer_group"])) {$afterhours_xfer_group=$_GET["afterhours_xfer_group"];} + elseif (isset($_POST["afterhours_xfer_group"])) {$afterhours_xfer_group=$_POST["afterhours_xfer_group"];} +if (isset($_GET["alias_id"])) {$alias_id=$_GET["alias_id"];} + elseif (isset($_POST["alias_id"])) {$alias_id=$_POST["alias_id"];} +if (isset($_GET["alias_name"])) {$alias_name=$_GET["alias_name"];} + elseif (isset($_POST["alias_name"])) {$alias_name=$_POST["alias_name"];} +if (isset($_GET["logins_list"])) {$logins_list=$_GET["logins_list"];} + elseif (isset($_POST["logins_list"])) {$logins_list=$_POST["logins_list"];} +if (isset($_GET["shift_id"])) {$shift_id=$_GET["shift_id"];} + elseif (isset($_POST["shift_id"])) {$shift_id=$_POST["shift_id"];} +if (isset($_GET["shift_name"])) {$shift_name=$_GET["shift_name"];} + elseif (isset($_POST["shift_name"])) {$shift_name=$_POST["shift_name"];} +if (isset($_GET["shift_start_time"])) {$shift_start_time=$_GET["shift_start_time"];} + elseif (isset($_POST["shift_start_time"])) {$shift_start_time=$_POST["shift_start_time"];} +if (isset($_GET["shift_length"])) {$shift_length=$_GET["shift_length"];} + elseif (isset($_POST["shift_length"])) {$shift_length=$_POST["shift_length"];} +if (isset($_GET["shift_weekdays"])) {$shift_weekdays=$_GET["shift_weekdays"];} + elseif (isset($_POST["shift_weekdays"])) {$shift_weekdays=$_POST["shift_weekdays"];} +if (isset($_GET["group_shifts"])) {$group_shifts=$_GET["group_shifts"];} + elseif (isset($_POST["group_shifts"])) {$group_shifts=$_POST["group_shifts"];} +if (isset($_GET["timeclock_end_of_day"])) {$timeclock_end_of_day=$_GET["timeclock_end_of_day"];} + elseif (isset($_POST["timeclock_end_of_day"])) {$timeclock_end_of_day=$_POST["timeclock_end_of_day"];} +if (isset($_GET["survey_first_audio_file"])) {$survey_first_audio_file=$_GET["survey_first_audio_file"];} + elseif (isset($_POST["survey_first_audio_file"])) {$survey_first_audio_file=$_POST["survey_first_audio_file"];} +if (isset($_GET["survey_dtmf_digits"])) {$survey_dtmf_digits=$_GET["survey_dtmf_digits"];} + elseif (isset($_POST["survey_dtmf_digits"])) {$survey_dtmf_digits=$_POST["survey_dtmf_digits"];} +if (isset($_GET["survey_ni_digit"])) {$survey_ni_digit=$_GET["survey_ni_digit"];} + elseif (isset($_POST["survey_ni_digit"])) {$survey_ni_digit=$_POST["survey_ni_digit"];} +if (isset($_GET["survey_opt_in_audio_file"])) {$survey_opt_in_audio_file=$_GET["survey_opt_in_audio_file"];} + elseif (isset($_POST["survey_opt_in_audio_file"])) {$survey_opt_in_audio_file=$_POST["survey_opt_in_audio_file"];} +if (isset($_GET["survey_ni_audio_file"])) {$survey_ni_audio_file=$_GET["survey_ni_audio_file"];} + elseif (isset($_POST["survey_ni_audio_file"])) {$survey_ni_audio_file=$_POST["survey_ni_audio_file"];} +if (isset($_GET["survey_method"])) {$survey_method=$_GET["survey_method"];} + elseif (isset($_POST["survey_method"])) {$survey_method=$_POST["survey_method"];} +if (isset($_GET["survey_no_response_action"])) {$survey_no_response_action=$_GET["survey_no_response_action"];} + elseif (isset($_POST["survey_no_response_action"])) {$survey_no_response_action=$_POST["survey_no_response_action"];} +if (isset($_GET["survey_ni_status"])) {$survey_ni_status=$_GET["survey_ni_status"];} + elseif (isset($_POST["survey_ni_status"])) {$survey_ni_status=$_POST["survey_ni_status"];} +if (isset($_GET["survey_response_digit_map"])) {$survey_response_digit_map=$_GET["survey_response_digit_map"];} + elseif (isset($_POST["survey_response_digit_map"])) {$survey_response_digit_map=$_POST["survey_response_digit_map"];} +if (isset($_GET["survey_xfer_exten"])) {$survey_xfer_exten=$_GET["survey_xfer_exten"];} + elseif (isset($_POST["survey_xfer_exten"])) {$survey_xfer_exten=$_POST["survey_xfer_exten"];} +if (isset($_GET["survey_camp_record_dir"])) {$survey_camp_record_dir=$_GET["survey_camp_record_dir"];} + elseif (isset($_POST["survey_camp_record_dir"])) {$survey_camp_record_dir=$_POST["survey_camp_record_dir"];} +if (isset($_GET["add_timeclock_log"])) {$add_timeclock_log=$_GET["add_timeclock_log"];} + elseif (isset($_POST["add_timeclock_log"])) {$add_timeclock_log=$_POST["add_timeclock_log"];} +if (isset($_GET["modify_timeclock_log"])) {$modify_timeclock_log=$_GET["modify_timeclock_log"];} + elseif (isset($_POST["modify_timeclock_log"])) {$modify_timeclock_log=$_POST["modify_timeclock_log"];} +if (isset($_GET["delete_timeclock_log"])) {$delete_timeclock_log=$_GET["delete_timeclock_log"];} + elseif (isset($_POST["delete_timeclock_log"])) {$delete_timeclock_log=$_POST["delete_timeclock_log"];} +if (isset($_GET["phone_numbers"])) {$phone_numbers=$_GET["phone_numbers"];} + elseif (isset($_POST["phone_numbers"])) {$phone_numbers=$_POST["phone_numbers"];} +if (isset($_GET["vdc_header_date_format"])) {$vdc_header_date_format=$_GET["vdc_header_date_format"];} + elseif (isset($_POST["vdc_header_date_format"])) {$vdc_header_date_format=$_POST["vdc_header_date_format"];} +if (isset($_GET["vdc_customer_date_format"])) {$vdc_customer_date_format=$_GET["vdc_customer_date_format"];} + elseif (isset($_POST["vdc_customer_date_format"])) {$vdc_customer_date_format=$_POST["vdc_customer_date_format"];} +if (isset($_GET["vdc_header_phone_format"])) {$vdc_header_phone_format=$_GET["vdc_header_phone_format"];} + elseif (isset($_POST["vdc_header_phone_format"])) {$vdc_header_phone_format=$_POST["vdc_header_phone_format"];} +if (isset($_GET["disable_alter_custphone"])) {$disable_alter_custphone=$_GET["disable_alter_custphone"];} + elseif (isset($_POST["disable_alter_custphone"])) {$disable_alter_custphone=$_POST["disable_alter_custphone"];} +if (isset($_GET["alter_custphone_override"])) {$alter_custphone_override=$_GET["alter_custphone_override"];} + elseif (isset($_POST["alter_custphone_override"])) {$alter_custphone_override=$_POST["alter_custphone_override"];} +if (isset($_GET["vdc_agent_api_access"])) {$vdc_agent_api_access=$_GET["vdc_agent_api_access"];} + elseif (isset($_POST["vdc_agent_api_access"])) {$vdc_agent_api_access=$_POST["vdc_agent_api_access"];} +if (isset($_GET["vdc_agent_api_active"])) {$vdc_agent_api_active=$_GET["vdc_agent_api_active"];} + elseif (isset($_POST["vdc_agent_api_active"])) {$vdc_agent_api_active=$_POST["vdc_agent_api_active"];} +if (isset($_GET["display_queue_count"])) {$display_queue_count=$_GET["display_queue_count"];} + elseif (isset($_POST["display_queue_count"])) {$display_queue_count=$_POST["display_queue_count"];} +if (isset($_GET["sale_category"])) {$sale_category=$_GET["sale_category"];} + elseif (isset($_POST["sale_category"])) {$sale_category=$_POST["sale_category"];} +if (isset($_GET["dead_lead_category"])) {$dead_lead_category=$_GET["dead_lead_category"];} + elseif (isset($_POST["dead_lead_category"])) {$dead_lead_category=$_POST["dead_lead_category"];} +if (isset($_GET["manual_dial_filter"])) {$manual_dial_filter=$_GET["manual_dial_filter"];} + elseif (isset($_POST["manual_dial_filter"])) {$manual_dial_filter=$_POST["manual_dial_filter"];} +if (isset($_GET["agent_clipboard_copy"])) {$agent_clipboard_copy=$_GET["agent_clipboard_copy"];} + elseif (isset($_POST["agent_clipboard_copy"])) {$agent_clipboard_copy=$_POST["agent_clipboard_copy"];} +if (isset($_GET["agent_extended_alt_dial"])) {$agent_extended_alt_dial=$_GET["agent_extended_alt_dial"];} + elseif (isset($_POST["agent_extended_alt_dial"])) {$agent_extended_alt_dial=$_POST["agent_extended_alt_dial"];} +if (isset($_GET["play_place_in_line"])) {$play_place_in_line=$_GET["play_place_in_line"];} + elseif (isset($_POST["play_place_in_line"])) {$play_place_in_line=$_POST["play_place_in_line"];} +if (isset($_GET["play_estimate_hold_time"])) {$play_estimate_hold_time=$_GET["play_estimate_hold_time"];} + elseif (isset($_POST["play_estimate_hold_time"])) {$play_estimate_hold_time=$_POST["play_estimate_hold_time"];} +if (isset($_GET["hold_time_option"])) {$hold_time_option=$_GET["hold_time_option"];} + elseif (isset($_POST["hold_time_option"])) {$hold_time_option=$_POST["hold_time_option"];} +if (isset($_GET["hold_time_option_seconds"])) {$hold_time_option_seconds=$_GET["hold_time_option_seconds"];} + elseif (isset($_POST["hold_time_option_seconds"])) {$hold_time_option_seconds=$_POST["hold_time_option_seconds"];} +if (isset($_GET["hold_time_option_exten"])) {$hold_time_option_exten=$_GET["hold_time_option_exten"];} + elseif (isset($_POST["hold_time_option_exten"])) {$hold_time_option_exten=$_POST["hold_time_option_exten"];} +if (isset($_GET["hold_time_option_voicemail"])) {$hold_time_option_voicemail=$_GET["hold_time_option_voicemail"];} + elseif (isset($_POST["hold_time_option_voicemail"])) {$hold_time_option_voicemail=$_POST["hold_time_option_voicemail"];} +if (isset($_GET["hold_time_option_xfer_group"])) {$hold_time_option_xfer_group=$_GET["hold_time_option_xfer_group"];} + elseif (isset($_POST["hold_time_option_xfer_group"])) {$hold_time_option_xfer_group=$_POST["hold_time_option_xfer_group"];} +if (isset($_GET["hold_time_option_callback_filename"])) {$hold_time_option_callback_filename=$_GET["hold_time_option_callback_filename"];} + elseif (isset($_POST["hold_time_option_callback_filename"])) {$hold_time_option_callback_filename=$_POST["hold_time_option_callback_filename"];} +if (isset($_GET["hold_time_option_callback_list_id"])) {$hold_time_option_callback_list_id=$_GET["hold_time_option_callback_list_id"];} + elseif (isset($_POST["hold_time_option_callback_list_id"])) {$hold_time_option_callback_list_id=$_POST["hold_time_option_callback_list_id"];} +if (isset($_GET["hold_recall_xfer_group"])) {$hold_recall_xfer_group=$_GET["hold_recall_xfer_group"];} + elseif (isset($_POST["hold_recall_xfer_group"])) {$hold_recall_xfer_group=$_POST["hold_recall_xfer_group"];} +if (isset($_GET["no_delay_call_route"])) {$no_delay_call_route=$_GET["no_delay_call_route"];} + elseif (isset($_POST["no_delay_call_route"])) {$no_delay_call_route=$_POST["no_delay_call_route"];} +if (isset($_GET["play_welcome_message"])) {$play_welcome_message=$_GET["play_welcome_message"];} + elseif (isset($_POST["play_welcome_message"])) {$play_welcome_message=$_POST["play_welcome_message"];} +if (isset($_GET["did_id"])) {$did_id=$_GET["did_id"];} + elseif (isset($_POST["did_id"])) {$did_id=$_POST["did_id"];} +if (isset($_GET["source_did"])) {$source_did=$_GET["source_did"];} + elseif (isset($_POST["source_did"])) {$source_did=$_POST["source_did"];} +if (isset($_GET["did_pattern"])) {$did_pattern=$_GET["did_pattern"];} + elseif (isset($_POST["did_pattern"])) {$did_pattern=$_POST["did_pattern"];} +if (isset($_GET["did_description"])) {$did_description=$_GET["did_description"];} + elseif (isset($_POST["did_description"])) {$did_description=$_POST["did_description"];} +if (isset($_GET["did_active"])) {$did_active=$_GET["did_active"];} + elseif (isset($_POST["did_active"])) {$did_active=$_POST["did_active"];} +if (isset($_GET["did_route"])) {$did_route=$_GET["did_route"];} + elseif (isset($_POST["did_route"])) {$did_route=$_POST["did_route"];} +if (isset($_GET["exten_context"])) {$exten_context=$_GET["exten_context"];} + elseif (isset($_POST["exten_context"])) {$exten_context=$_POST["exten_context"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["user_unavailable_action"])) {$user_unavailable_action=$_GET["user_unavailable_action"];} + elseif (isset($_POST["user_unavailable_action"])) {$user_unavailable_action=$_POST["user_unavailable_action"];} +if (isset($_GET["user_route_settings_ingroup"])) {$user_route_settings_ingroup=$_GET["user_route_settings_ingroup"];} + elseif (isset($_POST["user_route_settings_ingroup"])) {$user_route_settings_ingroup=$_POST["user_route_settings_ingroup"];} +if (isset($_GET["call_handle_method"])) {$call_handle_method=$_GET["call_handle_method"];} + elseif (isset($_POST["call_handle_method"])) {$call_handle_method=$_POST["call_handle_method"];} +if (isset($_GET["agent_search_method"])) {$agent_search_method=$_GET["agent_search_method"];} + elseif (isset($_POST["agent_search_method"])) {$agent_search_method=$_POST["agent_search_method"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["modify_inbound_dids"])) {$modify_inbound_dids=$_GET["modify_inbound_dids"];} + elseif (isset($_POST["modify_inbound_dids"])) {$modify_inbound_dids=$_POST["modify_inbound_dids"];} +if (isset($_GET["delete_inbound_dids"])) {$delete_inbound_dids=$_GET["delete_inbound_dids"];} + elseif (isset($_POST["delete_inbound_dids"])) {$delete_inbound_dids=$_POST["delete_inbound_dids"];} +if (isset($_GET["three_way_call_cid"])) {$three_way_call_cid=$_GET["three_way_call_cid"];} + elseif (isset($_POST["three_way_call_cid"])) {$three_way_call_cid=$_POST["three_way_call_cid"];} +if (isset($_GET["three_way_dial_prefix"])) {$three_way_dial_prefix=$_GET["three_way_dial_prefix"];} + elseif (isset($_POST["three_way_dial_prefix"])) {$three_way_dial_prefix=$_POST["three_way_dial_prefix"];} +if (isset($_GET["forced_timeclock_login"])) {$forced_timeclock_login=$_GET["forced_timeclock_login"];} + elseif (isset($_POST["forced_timeclock_login"])) {$forced_timeclock_login=$_POST["forced_timeclock_login"];} +if (isset($_GET["answer_sec_pct_rt_stat_one"])) {$answer_sec_pct_rt_stat_one=$_GET["answer_sec_pct_rt_stat_one"];} + elseif (isset($_POST["answer_sec_pct_rt_stat_one"])) {$answer_sec_pct_rt_stat_one=$_POST["answer_sec_pct_rt_stat_one"];} +if (isset($_GET["answer_sec_pct_rt_stat_two"])) {$answer_sec_pct_rt_stat_two=$_GET["answer_sec_pct_rt_stat_two"];} + elseif (isset($_POST["answer_sec_pct_rt_stat_two"])) {$answer_sec_pct_rt_stat_two=$_POST["answer_sec_pct_rt_stat_two"];} + + + if (isset($script_id)) {$script_id= strtoupper($script_id);} + if (isset($lead_filter_id)) {$lead_filter_id = strtoupper($lead_filter_id);} + +if (strlen($dial_status) > 0) + { + $ADD='28'; + $status = $dial_status; + } + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +###################################################################################################### +###################################################################################################### +####### Form variable filtering for security and data integrity +###################################################################################################### +###################################################################################################### + +if ($non_latin < 1) +{ +### DIGITS ONLY ### +$adaptive_dropped_percentage = ereg_replace("[^0-9]","",$adaptive_dropped_percentage); +$adaptive_latest_server_time = ereg_replace("[^0-9]","",$adaptive_latest_server_time); +$admin_hangup_enabled = ereg_replace("[^0-9]","",$admin_hangup_enabled); +$admin_hijack_enabled = ereg_replace("[^0-9]","",$admin_hijack_enabled); +$admin_monitor_enabled = ereg_replace("[^0-9]","",$admin_monitor_enabled); +$AFLogging_enabled = ereg_replace("[^0-9]","",$AFLogging_enabled); +$agent_choose_ingroups = ereg_replace("[^0-9]","",$agent_choose_ingroups); +$agentcall_manual = ereg_replace("[^0-9]","",$agentcall_manual); +$agentonly_callbacks = ereg_replace("[^0-9]","",$agentonly_callbacks); +$AGI_call_logging_enabled = ereg_replace("[^0-9]","",$AGI_call_logging_enabled); +$allcalls_delay = ereg_replace("[^0-9]","",$allcalls_delay); +$alter_agent_interface_options = ereg_replace("[^0-9]","",$alter_agent_interface_options); +$am_message_exten = ereg_replace("[^0-9]","",$am_message_exten); +$answer_transfer_agent = ereg_replace("[^0-9]","",$answer_transfer_agent); +$ast_admin_access = ereg_replace("[^0-9]","",$ast_admin_access); +$ast_delete_phones = ereg_replace("[^0-9]","",$ast_delete_phones); +$attempt_delay = ereg_replace("[^0-9]","",$attempt_delay); +$attempt_maximum = ereg_replace("[^0-9]","",$attempt_maximum); +$auto_dial_next_number = ereg_replace("[^0-9]","",$auto_dial_next_number); +$balance_trunks_offlimits = ereg_replace("[^0-9]","",$balance_trunks_offlimits); +$call_parking_enabled = ereg_replace("[^0-9]","",$call_parking_enabled); +$CallerID_popup_enabled = ereg_replace("[^0-9]","",$CallerID_popup_enabled); +$campaign_detail = ereg_replace("[^0-9]","",$campaign_detail); +$campaign_rec_exten = ereg_replace("[^0-9]","",$campaign_rec_exten); +$campaign_vdad_exten = ereg_replace("[^0-9]","",$campaign_vdad_exten); +$change_agent_campaign = ereg_replace("[^0-9]","",$change_agent_campaign); +$closer_default_blended = ereg_replace("[^0-9]","",$closer_default_blended); +$conf_exten = ereg_replace("[^0-9]","",$conf_exten); +$conf_on_extension = ereg_replace("[^0-9]","",$conf_on_extension); +$conferencing_enabled = ereg_replace("[^0-9]","",$conferencing_enabled); +$ct_default_start = ereg_replace("[^0-9]","",$ct_default_start); +$ct_default_stop = ereg_replace("[^0-9]","",$ct_default_stop); +$ct_friday_start = ereg_replace("[^0-9]","",$ct_friday_start); +$ct_friday_stop = ereg_replace("[^0-9]","",$ct_friday_stop); +$ct_monday_start = ereg_replace("[^0-9]","",$ct_monday_start); +$ct_monday_stop = ereg_replace("[^0-9]","",$ct_monday_stop); +$ct_saturday_start = ereg_replace("[^0-9]","",$ct_saturday_start); +$ct_saturday_stop = ereg_replace("[^0-9]","",$ct_saturday_stop); +$ct_sunday_start = ereg_replace("[^0-9]","",$ct_sunday_start); +$ct_sunday_stop = ereg_replace("[^0-9]","",$ct_sunday_stop); +$ct_thursday_start = ereg_replace("[^0-9]","",$ct_thursday_start); +$ct_thursday_stop = ereg_replace("[^0-9]","",$ct_thursday_stop); +$ct_tuesday_start = ereg_replace("[^0-9]","",$ct_tuesday_start); +$ct_tuesday_stop = ereg_replace("[^0-9]","",$ct_tuesday_stop); +$ct_wednesday_start = ereg_replace("[^0-9]","",$ct_wednesday_start); +$ct_wednesday_stop = ereg_replace("[^0-9]","",$ct_wednesday_stop); +$DBX_port = ereg_replace("[^0-9]","",$DBX_port); +$DBY_port = ereg_replace("[^0-9]","",$DBY_port); +$dedicated_trunks = ereg_replace("[^0-9]","",$dedicated_trunks); +$delete_call_times = ereg_replace("[^0-9]","",$delete_call_times); +$delete_campaigns = ereg_replace("[^0-9]","",$delete_campaigns); +$delete_filters = ereg_replace("[^0-9]","",$delete_filters); +$delete_ingroups = ereg_replace("[^0-9]","",$delete_ingroups); +$delete_lists = ereg_replace("[^0-9]","",$delete_lists); +$delete_remote_agents = ereg_replace("[^0-9]","",$delete_remote_agents); +$delete_scripts = ereg_replace("[^0-9]","",$delete_scripts); +$delete_user_groups = ereg_replace("[^0-9]","",$delete_user_groups); +$delete_users = ereg_replace("[^0-9]","",$delete_users); +$dial_timeout = ereg_replace("[^0-9]","",$dial_timeout); +$dialplan_number = ereg_replace("[^0-9]","",$dialplan_number); +$drop_call_seconds = ereg_replace("[^0-9]","",$drop_call_seconds); +$enable_fast_refresh = ereg_replace("[^0-9]","",$enable_fast_refresh); +$enable_persistant_mysql = ereg_replace("[^0-9]","",$enable_persistant_mysql); +$fast_refresh_rate = ereg_replace("[^0-9]","",$fast_refresh_rate); +$hopper_level = ereg_replace("[^0-9]","",$hopper_level); +$hotkey = ereg_replace("[^0-9]","",$hotkey); +$hotkeys_active = ereg_replace("[^0-9]","",$hotkeys_active); +$list_id = ereg_replace("[^0-9]","",$list_id); +$load_leads = ereg_replace("[^0-9]","",$load_leads); +$max_vicidial_trunks = ereg_replace("[^0-9]","",$max_vicidial_trunks); +$modify_call_times = ereg_replace("[^0-9]","",$modify_call_times); +$modify_users = ereg_replace("[^0-9]","",$modify_users); +$modify_campaigns = ereg_replace("[^0-9]","",$modify_campaigns); +$modify_lists = ereg_replace("[^0-9]","",$modify_lists); +$modify_scripts = ereg_replace("[^0-9]","",$modify_scripts); +$modify_filters = ereg_replace("[^0-9]","",$modify_filters); +$modify_ingroups = ereg_replace("[^0-9]","",$modify_ingroups); +$modify_usergroups = ereg_replace("[^0-9]","",$modify_usergroups); +$modify_remoteagents = ereg_replace("[^0-9]","",$modify_remoteagents); +$modify_servers = ereg_replace("[^0-9]","",$modify_servers); +$view_reports = ereg_replace("[^0-9]","",$view_reports); +$modify_leads = ereg_replace("[^0-9]","",$modify_leads); +$monitor_prefix = ereg_replace("[^0-9]","",$monitor_prefix); +$number_of_lines = ereg_replace("[^0-9]","",$number_of_lines); +$old_conf_exten = ereg_replace("[^0-9]","",$old_conf_exten); +$outbound_cid = ereg_replace("[^0-9]","",$outbound_cid); +$park_ext = ereg_replace("[^0-9]","",$park_ext); +$park_on_extension = ereg_replace("[^0-9]","",$park_on_extension); +$phone_number = ereg_replace("[^0-9]","",$phone_number); +$QUEUE_ACTION_enabled = ereg_replace("[^0-9]","",$QUEUE_ACTION_enabled); +$recording_exten = ereg_replace("[^0-9]","",$recording_exten); +$remote_agent_id = ereg_replace("[^0-9]","",$remote_agent_id); +$telnet_port = ereg_replace("[^0-9]","",$telnet_port); +$updater_check_enabled = ereg_replace("[^0-9]","",$updater_check_enabled); +$user_level = ereg_replace("[^0-9]","",$user_level); +$user_start = ereg_replace("[^0-9]","",$user_start); +$user_switching_enabled = ereg_replace("[^0-9]","",$user_switching_enabled); +$VDstop_rec_after_each_call = ereg_replace("[^0-9]","",$VDstop_rec_after_each_call); +$VICIDIAL_park_on_extension = ereg_replace("[^0-9]","",$VICIDIAL_park_on_extension); +$vicidial_recording = ereg_replace("[^0-9]","",$vicidial_recording); +$vicidial_transfers = ereg_replace("[^0-9]","",$vicidial_transfers); +$voicemail_button_enabled = ereg_replace("[^0-9]","",$voicemail_button_enabled); +$voicemail_dump_exten = ereg_replace("[^0-9]","",$voicemail_dump_exten); +$voicemail_ext = ereg_replace("[^0-9]","",$voicemail_ext); +$voicemail_exten = ereg_replace("[^0-9]","",$voicemail_exten); +$voicemail_id = ereg_replace("[^0-9]","",$voicemail_id); +$wrapup_seconds = ereg_replace("[^0-9]","",$wrapup_seconds); +$use_non_latin = ereg_replace("[^0-9]","",$use_non_latin); +$webroot_writable = ereg_replace("[^0-9]","",$webroot_writable); +$enable_queuemetrics_logging = ereg_replace("[^0-9]","",$enable_queuemetrics_logging); +$enable_sipsak_messages = ereg_replace("[^0-9]","",$enable_sipsak_messages); +$allow_sipsak_messages = ereg_replace("[^0-9]","",$allow_sipsak_messages); +$mix_container_item = ereg_replace("[^0-9]","",$mix_container_item); +$prompt_interval = ereg_replace("[^0-9]","",$prompt_interval); +$agent_alert_delay = ereg_replace("[^0-9]","",$agent_alert_delay); +$manual_dial_list_id = ereg_replace("[^0-9]","",$manual_dial_list_id); +$qc_user_level = ereg_replace("[^0-9]","",$qc_user_level); +$qc_pass = ereg_replace("[^0-9]","",$qc_pass); +$qc_finish = ereg_replace("[^0-9]","",$qc_finish); +$qc_commit = ereg_replace("[^0-9]","",$qc_commit); +$shift_start_time = ereg_replace("[^0-9]","",$shift_start_time); +$timeclock_end_of_day = ereg_replace("[^0-9]","",$timeclock_end_of_day); +$survey_xfer_exten = ereg_replace("[^0-9]","",$survey_xfer_exten); +$add_timeclock_log = ereg_replace("[^0-9]","",$add_timeclock_log); +$modify_timeclock_log = ereg_replace("[^0-9]","",$modify_timeclock_log); +$delete_timeclock_log = ereg_replace("[^0-9]","",$delete_timeclock_log); +$vdc_agent_api_access = ereg_replace("[^0-9]","",$vdc_agent_api_access); +$vdc_agent_api_active = ereg_replace("[^0-9]","",$vdc_agent_api_active); +$hold_time_option_seconds = ereg_replace("[^0-9]","",$hold_time_option_seconds); +$hold_time_option_callback_list_id = ereg_replace("[^0-9]","",$hold_time_option_callback_list_id); +$did_id = ereg_replace("[^0-9]","",$did_id); +$source_did = ereg_replace("[^0-9]","",$source_did); +$modify_inbound_dids = ereg_replace("[^0-9]","",$modify_inbound_dids); +$delete_inbound_dids = ereg_replace("[^0-9]","",$delete_inbound_dids); +$answer_sec_pct_rt_stat_one = ereg_replace("[^0-9]","",$answer_sec_pct_rt_stat_one); +$answer_sec_pct_rt_stat_two = ereg_replace("[^0-9]","",$answer_sec_pct_rt_stat_two); + +### DIGITS and COLONS +$shift_length = ereg_replace("[^\:0-9]","",$shift_length); + +### DIGITS and HASHES and STARS +$survey_dtmf_digits = ereg_replace("[^\#\*0-9]","",$survey_dtmf_digits); +$survey_ni_digit = ereg_replace("[^\#\*0-9]","",$survey_ni_digit); + +### DIGITS and DASHES +$group_rank = ereg_replace("[^-0-9]","",$group_rank); +$campaign_rank = ereg_replace("[^-0-9]","",$campaign_rank); +$queue_priority = ereg_replace("[^-0-9]","",$queue_priority); + +### DIGITS and NEWLINES +$phone_numbers = ereg_replace("[^\n0-9]","",$phone_numbers); + +### Y or N ONLY ### +$active = ereg_replace("[^NY]","",$active); +$allow_closers = ereg_replace("[^NY]","",$allow_closers); +$reset_hopper = ereg_replace("[^NY]","",$reset_hopper); +$amd_send_to_vmx = ereg_replace("[^NY]","",$amd_send_to_vmx); +$alt_number_dialing = ereg_replace("[^NY]","",$alt_number_dialing); +$selectable = ereg_replace("[^NY]","",$selectable); +$reset_list = ereg_replace("[^NY]","",$reset_list); +$fronter_display = ereg_replace("[^NY]","",$fronter_display); +$use_internal_dnc = ereg_replace("[^NY]","",$use_internal_dnc); +$use_campaign_dnc = ereg_replace("[^NY]","",$use_campaign_dnc); +$omit_phone_code = ereg_replace("[^NY]","",$omit_phone_code); +$available_only_ratio_tally = ereg_replace("[^NY]","",$available_only_ratio_tally); +$sys_perf_log = ereg_replace("[^NY]","",$sys_perf_log); +$vicidial_balance_active = ereg_replace("[^NY]","",$vicidial_balance_active); +$vd_server_logs = ereg_replace("[^NY]","",$vd_server_logs); +$campaign_stats_refresh = ereg_replace("[^NY]","",$campaign_stats_refresh); +$disable_alter_custdata = ereg_replace("[^NY]","",$disable_alter_custdata); +$no_hopper_leads_logins = ereg_replace("[^NY]","",$no_hopper_leads_logins); +$human_answered = ereg_replace("[^NY]","",$human_answered); +$tovdad_display = ereg_replace("[^NY]","",$tovdad_display); +$campaign_allow_inbound = ereg_replace("[^NY]","",$campaign_allow_inbound); +$disable_alter_custphone = ereg_replace("[^NY]","",$disable_alter_custphone); +$display_queue_count = ereg_replace("[^NY]","",$display_queue_count); +$qc_show_recording = ereg_replace("[^NY]","",$qc_show_recording); +$sale_category = ereg_replace("[^NY]","",$sale_category); +$dead_lead_category = ereg_replace("[^NY]","",$dead_lead_category); +$agent_extended_alt_dial = ereg_replace("[^NY]","",$agent_extended_alt_dial); +$play_place_in_line = ereg_replace("[^NY]","",$play_place_in_line); +$play_estimate_hold_time = ereg_replace("[^NY]","",$play_estimate_hold_time); +$no_delay_call_route = ereg_replace("[^NY]","",$no_delay_call_route); +$did_active = ereg_replace("[^NY]","",$did_active); + +$qc_enabled = ereg_replace("[^0-9NY]","",$qc_enabled); + + +### ALPHA-NUMERIC ONLY ### +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$script_id = ereg_replace("[^0-9a-zA-Z]","",$script_id); +$submit = ereg_replace("[^0-9a-zA-Z]","",$submit); +$campaign_cid = ereg_replace("[^0-9a-zA-Z]","",$campaign_cid); +$get_call_launch = ereg_replace("[^0-9a-zA-Z]","",$get_call_launch); +$campaign_recording = ereg_replace("[^0-9a-zA-Z]","",$campaign_recording); +$ADD = ereg_replace("[^0-9a-zA-Z]","",$ADD); +$dial_prefix = ereg_replace("[^0-9a-zA-Z]","",$dial_prefix); +$state_call_time_state = ereg_replace("[^0-9a-zA-Z]","",$state_call_time_state); +$scheduled_callbacks = ereg_replace("[^0-9a-zA-Z]","",$scheduled_callbacks); +$concurrent_transfers = ereg_replace("[^0-9a-zA-Z]","",$concurrent_transfers); +$billable = ereg_replace("[^0-9a-zA-Z]","",$billable); +$pause_code = ereg_replace("[^0-9a-zA-Z]","",$pause_code); +$vicidial_recording_override = ereg_replace("[^0-9a-zA-Z]","",$vicidial_recording_override); +$ingroup_recording_override = ereg_replace("[^0-9a-zA-Z]","",$ingroup_recording_override); +$queuemetrics_log_id = ereg_replace("[^0-9a-zA-Z]","",$queuemetrics_log_id); +$after_hours_exten = ereg_replace("[^0-9a-zA-Z]","",$after_hours_exten); +$after_hours_voicemail = ereg_replace("[^0-9a-zA-Z]","",$after_hours_voicemail); +$qc_script = ereg_replace("[^0-9a-zA-Z]","",$qc_script); +$code = ereg_replace("[^0-9a-zA-Z]","",$code); +$survey_no_response_action = ereg_replace("[^0-9a-zA-Z]","",$survey_no_response_action); +$survey_ni_status = ereg_replace("[^0-9a-zA-Z]","",$survey_ni_status); +$qc_get_record_launch = ereg_replace("[^0-9a-zA-Z]","",$qc_get_record_launch); +$agent_pause_codes_active = ereg_replace("[^0-9a-zA-Z]","",$agent_pause_codes_active); +$three_way_dial_prefix = ereg_replace("[^0-9a-zA-Z]","",$three_way_dial_prefix); + +### DIGITS and Dots +$server_ip = ereg_replace("[^\.0-9]","",$server_ip); +$auto_dial_level = ereg_replace("[^\.0-9]","",$auto_dial_level); +$adaptive_maximum_level = ereg_replace("[^\.0-9]","",$adaptive_maximum_level); +$phone_ip = ereg_replace("[^\.0-9]","",$phone_ip); +$old_server_ip = ereg_replace("[^\.0-9]","",$old_server_ip); +$computer_ip = ereg_replace("[^\.0-9]","",$computer_ip); +$queuemetrics_server_ip = ereg_replace("[^\.0-9]","",$queuemetrics_server_ip); + +### ALPHA-NUMERIC and spaces and hash and star and comma +$xferconf_a_dtmf = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$xferconf_a_dtmf); +$xferconf_b_dtmf = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$xferconf_b_dtmf); + +### ALPHACAPS-NUMERIC +$xferconf_a_number = ereg_replace("[^0-9A-Z]","",$xferconf_a_number); +$xferconf_b_number = ereg_replace("[^0-9A-Z]","",$xferconf_b_number); + +### ALPHA-NUMERIC and underscore and dash +$agi_output = ereg_replace("[^-\_0-9a-zA-Z]","",$agi_output); +$ASTmgrSECRET = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrSECRET); +$ASTmgrUSERNAME = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAME); +$ASTmgrUSERNAMElisten = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAMElisten); +$ASTmgrUSERNAMEsend = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAMEsend); +$ASTmgrUSERNAMEupdate = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAMEupdate); +$call_time_id = ereg_replace("[^-\_0-9a-zA-Z]","",$call_time_id); +$campaign_id = ereg_replace("[^-\_0-9a-zA-Z]","",$campaign_id); +$CoNfIrM = ereg_replace("[^-\_0-9a-zA-Z]","",$CoNfIrM); +$DBX_database = ereg_replace("[^-\_0-9a-zA-Z]","",$DBX_database); +$DBX_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$DBX_pass); +$DBX_user = ereg_replace("[^-\_0-9a-zA-Z]","",$DBX_user); +$DBY_database = ereg_replace("[^-\_0-9a-zA-Z]","",$DBY_database); +$DBY_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$DBY_pass); +$DBY_user = ereg_replace("[^-\_0-9a-zA-Z]","",$DBY_user); +$dial_method = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_method); +$dial_status_a = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_a); +$dial_status_b = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_b); +$dial_status_c = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_c); +$dial_status_d = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_d); +$dial_status_e = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_e); +$ext_context = ereg_replace("[^-\_0-9a-zA-Z]","",$ext_context); +$group_id = ereg_replace("[^-\_0-9a-zA-Z]","",$group_id); +$lead_filter_id = ereg_replace("[^-\_0-9a-zA-Z]","",$lead_filter_id); +$local_call_time = ereg_replace("[^-\_0-9a-zA-Z]","",$local_call_time); +$login = ereg_replace("[^-\_0-9a-zA-Z]","",$login); +$login_campaign = ereg_replace("[^-\_0-9a-zA-Z]","",$login_campaign); +$login_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$login_pass); +$login_user = ereg_replace("[^-\_0-9a-zA-Z]","",$login_user); +$next_agent_call = ereg_replace("[^-\_0-9a-zA-Z]","",$next_agent_call); +$old_campaign_id = ereg_replace("[^-\_0-9a-zA-Z]","",$old_campaign_id); +$old_server_id = ereg_replace("[^-\_0-9a-zA-Z]","",$old_server_id); +$OLDuser_group = ereg_replace("[^-\_0-9a-zA-Z]","",$OLDuser_group); +$park_file_name = ereg_replace("[^-\_0-9a-zA-Z]","",$park_file_name); +$pass = ereg_replace("[^-\_0-9a-zA-Z]","",$pass); +$phone_login = ereg_replace("[^-\_0-9a-zA-Z]","",$phone_login); +$phone_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$phone_pass); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$protocol = ereg_replace("[^-\_0-9a-zA-Z]","",$protocol); +$server_id = ereg_replace("[^-\_0-9a-zA-Z]","",$server_id); +$stage = ereg_replace("[^-\_0-9a-zA-Z]","",$stage); +$state_rule = ereg_replace("[^-\_0-9a-zA-Z]","",$state_rule); +$status = ereg_replace("[^-\_0-9a-zA-Z]","",$status); +$trunk_restriction = ereg_replace("[^-\_0-9a-zA-Z]","",$trunk_restriction); +$user = ereg_replace("[^-\_0-9a-zA-Z]","",$user); +$user_group = ereg_replace("[^-\_0-9a-zA-Z]","",$user_group); +$VICIDIAL_park_on_filename = ereg_replace("[^-\_0-9a-zA-Z]","",$VICIDIAL_park_on_filename); +$auto_alt_dial = ereg_replace("[^-\_0-9a-zA-Z]","",$auto_alt_dial); +$dial_status = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status); +$queuemetrics_eq_prepend = ereg_replace("[^-\_0-9a-zA-Z]","",$queuemetrics_eq_prepend); +$vicidial_agent_disable = ereg_replace("[^-\_0-9a-zA-Z]","",$vicidial_agent_disable); +$alter_custdata_override = ereg_replace("[^-\_0-9a-zA-Z]","",$alter_custdata_override); +$list_order_mix = ereg_replace("[^-\_0-9a-zA-Z]","",$list_order_mix); +$vcl_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vcl_id); +$mix_method = ereg_replace("[^-\_0-9a-zA-Z]","",$mix_method); +$category = ereg_replace("[^-\_0-9a-zA-Z]","",$category); +$vsc_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vsc_id); +$moh_context = ereg_replace("[^-\_0-9a-zA-Z]","",$moh_context); +$agent_alert_exten = ereg_replace("[^-\_0-9a-zA-Z]","",$agent_alert_exten); +$source_campaign_id = ereg_replace("[^-\_0-9a-zA-Z]","",$source_campaign_id); +$source_user_id = ereg_replace("[^-\_0-9a-zA-Z]","",$source_user_id); +$source_group_id = ereg_replace("[^-\_0-9a-zA-Z]","",$source_group_id); +$default_xfer_group = ereg_replace("[^-\_0-9a-zA-Z]","",$default_xfer_group); +$drop_exten = ereg_replace("[^-\_0-9a-zA-Z]","",$drop_exten); +$safe_harbor_exten = ereg_replace("[^-\_0-9a-zA-Z]","",$safe_harbor_exten); +$drop_action = ereg_replace("[^-\_0-9a-zA-Z]","",$drop_action); +$drop_inbound_group = ereg_replace("[^-\_0-9a-zA-Z]","",$drop_inbound_group); +$afterhours_xfer_group = ereg_replace("[^-\_0-9a-zA-Z]","",$afterhours_xfer_group); +$after_hours_action = ereg_replace("[^-\_0-9a-zA-Z]","",$after_hours_action); +$alias_id = ereg_replace("[^-\_0-9a-zA-Z]","",$alias_id); +$shift_id = ereg_replace("[^-\_0-9a-zA-Z]","",$shift_id); +$qc_shift_id = ereg_replace("[^-\_0-9a-zA-Z]","",$qc_shift_id); +$survey_first_audio_file = ereg_replace("[^-\_0-9a-zA-Z]","",$survey_first_audio_file); +$survey_opt_in_audio_file = ereg_replace("[^-\_0-9a-zA-Z]","",$survey_opt_in_audio_file); +$survey_ni_audio_file = ereg_replace("[^-\_0-9a-zA-Z]","",$survey_ni_audio_file); +$survey_method = ereg_replace("[^-\_0-9a-zA-Z]","",$survey_method); +$alter_custphone_override = ereg_replace("[^-\_0-9a-zA-Z]","",$alter_custphone_override); +$manual_dial_filter = ereg_replace("[^-\_0-9a-zA-Z]","",$manual_dial_filter); +$agent_clipboard_copy = ereg_replace("[^-\_0-9a-zA-Z]","",$agent_clipboard_copy); +$hold_time_option = ereg_replace("[^-\_0-9a-zA-Z]","",$hold_time_option); +$hold_time_option_xfer_group = ereg_replace("[^-\_0-9a-zA-Z]","",$hold_time_option_xfer_group); +$hold_recall_xfer_group = ereg_replace("[^-\_0-9a-zA-Z]","",$hold_recall_xfer_group); +$play_welcome_message = ereg_replace("[^-\_0-9a-zA-Z]","",$play_welcome_message); +$did_route = ereg_replace("[^-\_0-9a-zA-Z]","",$did_route); +$user_unavailable_action = ereg_replace("[^-\_0-9a-zA-Z]","",$user_unavailable_action); +$user_route_settings_ingroup = ereg_replace("[^-\_0-9a-zA-Z]","",$user_route_settings_ingroup); +$call_handle_method = ereg_replace("[^-\_0-9a-zA-Z]","",$call_handle_method); +$agent_search_method = ereg_replace("[^-\_0-9a-zA-Z]","",$agent_search_method); +$hold_time_option_voicemail = ereg_replace("[^-\_0-9a-zA-Z]","",$hold_time_option_voicemail); +$hold_time_option_callback_filename = ereg_replace("[^-\_0-9a-zA-Z]","",$hold_time_option_callback_filename); +$exten_context = ereg_replace("[^-\_0-9a-zA-Z]","",$exten_context); +$three_way_call_cid = ereg_replace("[^-\_0-9a-zA-Z]","",$three_way_call_cid); + +### ALPHA-NUMERIC and underscore and dash and comma +$logins_list = ereg_replace("[^-\,\_0-9a-zA-Z]","",$logins_list); +$forced_timeclock_login = ereg_replace("[^-\,\_0-9a-zA-Z]","",$forced_timeclock_login); + +### ALPHA-NUMERIC and spaces +$lead_order = ereg_replace("[^ 0-9a-zA-Z]","",$lead_order); +### ALPHA-NUMERIC and hash +$group_color = ereg_replace("[^\#0-9a-zA-Z]","",$group_color); +### ALPHA-NUMERIC and hash and star and dot and underscore +$hold_time_option_exten = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$hold_time_option_exten); +$did_pattern = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$did_pattern); +$voicemail_ext = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$voicemail_ext); +$phone = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$phone); +$phone_code = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$phone_code); + +### ALPHA-NUMERIC and spaces dots, commas, dashes, underscores +$adaptive_dl_diff_target = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$adaptive_dl_diff_target); +$adaptive_intensity = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$adaptive_intensity); +$asterisk_version = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$asterisk_version); +$call_time_comments = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$call_time_comments); +$call_time_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$call_time_name); +$campaign_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$campaign_name); +$campaign_rec_filename = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$campaign_rec_filename); +$ingroup_rec_filename = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$ingroup_rec_filename); +$company = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$company); +$full_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$full_name); +$fullname = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$fullname); +$group_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$group_name); +$HKstatus = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$HKstatus); +$lead_filter_comments = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$lead_filter_comments); +$lead_filter_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$lead_filter_name); +$list_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$list_name); +$local_gmt = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$local_gmt); +$phone_type = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$phone_type); +$picture = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$picture); +$script_comments = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$script_comments); +$script_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$script_name); +$server_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$server_description); +$status = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$status); +$status_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$status_name); +$wrapup_message = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$wrapup_message); +$pause_code_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$pause_code_name); +$campaign_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$campaign_description); +$list_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$list_description); +$vcl_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vcl_name); +$vsc_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vsc_name); +$vsc_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vsc_description); +$code_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$code_name); +$alias_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$alias_name); +$shift_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$shift_name); +$did_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$did_description); + +### ALPHA-NUMERIC and underscore and dash and slash and at and dot +$call_out_number_group = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$call_out_number_group); +$client_browser = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$client_browser); +$DBX_server = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$DBX_server); +$DBY_server = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$DBY_server); +$dtmf_send_extension = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$dtmf_send_extension); +$extension = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$extension); +$install_directory = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$install_directory); +$old_extension = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$old_extension); +$telnet_host = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$telnet_host); +$queuemetrics_dbname = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_dbname); +$queuemetrics_login = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_login); +$queuemetrics_pass = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_pass); +$after_hours_message_filename = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$after_hours_message_filename); +$welcome_message_filename = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$welcome_message_filename); +$onhold_prompt_filename = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$onhold_prompt_filename); +$email = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$email); + +### ALPHA-NUMERIC and underscore and dash and slash and at and space and colon +$vdc_header_date_format = ereg_replace("[^- \:\/\_0-9a-zA-Z]","",$vdc_header_date_format); +$vdc_customer_date_format = ereg_replace("[^- \:\/\_0-9a-zA-Z]","",$vdc_customer_date_format); + +### ALPHA-NUMERIC and underscore and dash and at and space and parantheses +$vdc_header_phone_format = ereg_replace("[^- \(\)\_0-9a-zA-Z]","",$vdc_header_phone_format); + +### remove semi-colons ### +$lead_filter_sql = ereg_replace(";","",$lead_filter_sql); +$list_mix_container = ereg_replace(";","",$list_mix_container); +$survey_response_digit_map = ereg_replace(";","",$survey_response_digit_map); +$survey_camp_record_dir = ereg_replace(";","",$survey_camp_record_dir); + +### VARIABLES TO BE mysql_real_escape_string ### +# $web_form_address +# $queuemetrics_url +# $admin_home_url +# $qc_web_form_address + +### VARIABLES not filtered at all ### +# $script_text + +} # end of non_latin + + +##### END VARIABLE FILTERING FOR SECURITY ##### + + +# AST GUI database administration +# admin.php +# +# CHANGELOG: +# 50315-1110 - Added Custom Campaign Statuses +# 50317-1438 - Added Fronter Display var to inbound groups +# 50322-1355 - Added custom callerID per campaign +# 50517-1356 - Added user_groups sections and user_group to vicidial_users +# 50517-1440 - Added ability to logout (must click OK with empty user/pass) +# 50602-1622 - Added lead loader pages to load new files into vicidial_list +# 50620-1351 - Added custom vdad transfer AGI extension per campaign +# 50810-1414 - modified in groups to kick out spaces and dashes +# 50908-2136 - Added Custom Campaign HotKeys +# 50914-0950 - Fixed user search by user_group +# 50926-1358 - Modified to allow for language translation +# 50926-1615 - Added WeBRooTWritablE write controls +# 51020-1008 - Added editable web address and park ext - NEW dial campaigns +# 51020-1056 - Added fields and help for campaign recording control +# 51123-1335 - Altered code to function in php globals=off +# 51208-1038 - Added user_level changes, function controls and default user phones +# 51208-1556 - Added deletion of users/lists/campaigns/in groups/remote agents +# 51213-1706 - Added add/delete/modify vicidial scripts +# 51214-1737 - Added preview of vicidial script in popup window +# 51219-1225 - Added campaign and ingroups script selector and get_call_launch field +# 51222-1055 - Added am_message_exten to campaigns to allow for AM Message button +# 51222-1125 - Fixed new vicidial_campaigns default values not being assigned bug +# 51222-1156 - Added LOG OUT ALL AGENTS ON THIS CAMPAIGN button to campaign screen +# 60204-0659 - Fixed hopper reset bug +# 60207-1413 - Added AMD send to voicemail extension and xfer-conf dtmf presets +# 60213-1100 - Added several vicidial_users permissions fields +# 60215-1319 - Added On-hold CallBacks display and links +# 60227-1226 - Fixed vicidial_inbound_groups insert bug +# 60413-1308 - Fixed list display to have 1 row/status: count and time zone tables +# - Added status name in selected dial statuses in campaign screen +# 60417-1416 - Added vicidial_lead_filters sections +# - Changed the header links to color-coded sectional with sublinks below +# - Added filter name and script name to campaign and in-group modify sections +# - Added callback and alt dial options to campaigns section +# - Added callback, alt dial and other options to users section +# 60419-1628 - Alter Callbacks display to include status and LIVE listings, reordered +# 60421-1441 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60425-2355 - Added agent options to vicidial_users, reformatted user page +# 60502-1627 - Added drop_call_seconds and safe_harbor_ fields to campaign screen +# 60503-1228 - Added drop_call_seconds and drop_ fields to inbound groups screen +# 60505-1117 - Added initial framework for new local_call_times tables and definitions +# 60506-1033 - More revisions to the local_call_time section +# 60508-1354 - Finished call_times and state_call_times sections +# - Added modify/delete options for call_times +# 60509-1311 - Functionalize campaign dialable leads calculation +# - Change state_call_times selection from call_times to only allow one per state +# - Added dialable leads count popup to campaign screen if auto-calc is disabled +# - Added test dialable leads count popup to filter screen +# 60510-1050 - Added Wrapup seconds and Wrapup message to campaigns screen +# 60608-1401 - Added allowable inbound_groups checkboxes to CLOSER campaign detail screen +# 60609-1051 - Added add-to-dnc in LISTS section +# 60613-1415 - Added lead recycling options to campaign detail screen +# 60619-1523 - Added variable filtering to eliminate SQL injection attack threat +# 60622-1216 - Fixed HotKey addition form issues and variable filtering +# 60623-1159 - Fixed Scheduled Callbacks over-filtering bug and filter_sql bug +# 60808-1147 - Changed filtering for and added instructions for consutative transfers +# 60816-1552 - Added allcalls_delay start delay for recordings in vicidial.php +# 60817-2226 - Fixed bug that would not allow lead recycling of non-selectable statuses +# 60821-1543 - Added option to Omit Phone Code while dialing in vicidial +# 60821-1625 - Added ALLFORCE recording option for campaign_recording +# 60823-1154 - Added fields for adaptive dialing +# 60824-1326 - Added adaptive_latest_target_gmt for ADAPT_TAPERED dial method +# 60825-1205 - Added adaptive_intensity for ADAPT_ dial methods +# 60828-1019 - Changed adaptive_latest_target_gmt to adaptive_latest_server_time +# 60828-1115 - Added adaptive_dl_diff_target and changed intensity dropdown +# 60927-1246 - Added astguiclient/admin.php functions under SERVERS tab +# 61002-1402 - Added fields for vicidial balance trunk controls +# 61003-1123 - Added functions for vicidial_server_trunks records +# 61109-1022 - Added Emergency VDAC Jam Clear function to Campaign Detail screen +# 61110-1502 - Add ability to select NONE in dial statuses, new list_id must not be < 100 +# 61122-1228 - Added user group campaign restrictions +# 61122-1535 - Changed script_text to unfiltered and added more variables to SCRIPTS +# 61129-1028 - Added headers to Users and Phones with clickable order-by titles +# 70108-1405 - Added ADAPT OVERRIDE to allow for forced dial_level changes in ADAPT dial methods +# - Screen width definable at top of script, merged server_stats into this script +# 70109-1638 - Added ALTPH2 and ADDR3 hotkey options for alt number dialing with HotKeys +# 70109-1716 - Added concurrent_transfers option to vicidial_campaigns +# 70115-1152 - Aded (CLOSER|BLEND|INBND|_C$|_B$|_I$) options for CLOSER-type campaigns +# 70115-1532 - Added auto_alt_dial field to campaign screen for auto-dialing of alt numbers +# 70116-1200 - Added auto_alt_dial_status functionality to campaign screen +# 70117-1235 - Added header formatting variables at top of script +# - Moved Call Times and Phones/Server functions to Admin section +# 70118-1706 - Added new user group displays and links +# 70123-1519 - Added user permission settings for all sections +# 70124-1346 - Fixed spelling errors and formatting consistency +# 70202-1120 - Added agent_pause_codes section to campaigns +# 70205-1204 - Added memo, last dialed, timestamp and stats-refresh fields to vicidial_campaigns/lists +# 70206-1323 - Added user setting for vicidial_recording_override +# 70212-1412 - Added system settings section +# 70214-1226 - Added QueueMetrics Log ID field to system settings section +# 70219-1102 - Changed campaign dial statuses to be one string allowing for high limit +# 70223-0957 - Added queuemetrics_eq_prepend for custom ENTERQUEUE prepending of a field +# 70302-1111 - Fixed small bug in dialable leads calculation +# 70314-1133 - Added insert selection on script forms +# 70319-1423 - Added Alter Customer Data and agent disable display functions +# 70319-1625 - Added option to allow agents to login to outbound campaigns with no leads in the hopper +# 70322-1455 - Added sipsak messages parameters +# 70402-1157 - Added HOME link and entry to system_settings table, added QM link on reports section +# 70516-1628 - Started reformatting campaigns to use submenus to break up options +# 70529-1653 - Added help for list mix +# 70530-1354 - Added human_answered field to statuses, added system status modification +# 70530-1714 - Added lists for all campaign subsections +# 70531-1631 - Development on List mix admin interface +# 70601-1629 - More development on List mix admin interface, formatting, and added some javascript +# 70602-1300 - More development on List mix admin interface, more javascript +# 70608-1459 - Added option to set LIVE Callbacks to INACTIVE after one month +# 70612-1451 - Added Callback INACTIVE link for after one week, sort by user/group/entrydate +# 70614-0231 - Added Status Categories, ability to Modify Statuses, moved system statuses to sub-section +# 70623-1008 - List Mix section now allows modification of list mix entries +# 70629-1721 - List Mix section adding and removing of list entries active +# 70706-1636 - List Mix section cleanup and more error-checking +# 70908-0941 - Added agc logile enable system_settings +# 71020-1934 - Added inbound groups options: on-hold music, messages, call_times +# 71022-1343 - Added inbound group ranks for users +# 71029-1710 - Added option for campaign to be inbound and/or blended with no restrictions on the campaign_id name +# - Added 5th NEW and 6th NEW to the dial order options +# 71030-2010 - Added Manual Dial List ID field to campaigns table +# 71103-2207 - Added inbound_group_rank and fewest_calls to the inbound groups call order options +# 71113-1521 - Added campaign_rank to agent options +# - Added ability to Copy a campaign's setting to a new campaign +# 71113-2225 - Added ability to copy user and in-group settings to new users and in-groups +# 71116-0942 - Added campaign_rank and fewest_calls as methods for agent call routing +# 71122-1135 - Added default transfer group for campaigns and inbound groups +# 71125-1751 - Added allowable transfer groups to campaign detail screen +# 80107-1204 - Started framework for new QC section +# 80112-0242 - Added more options for lead order +# 80211-1901 - Added DB Schema Version to system settings display +# 80224-1334 - Added Queue Priority to in-groups and campaigns +# 80302-0232 - added drop_action and transfer to in-group for both in-groups and outbound +# 80310-1504 - added QC settings section to campaign screen +# 80317-2037 - Added Recording override settings to in-groups +# 80414-1505 - More work on QC, added vicidial_qc_codes +# 80424-0442 - Added non_latin system_settings lookup at top to override dbconnect setting +# 80505-0333 - Added phones_alias sections to allow for load-balanced-phone-logins +# 80512-1529 - Added auto-generate of User ID feature +# 80515-1345 - Added Shifts sub-section to Admin section +# 80528-0001 - Added campaign survey sub-section +# 80528-1102 - Added user timeclock edit options +# 80608-1304 - Changed add-to-DNC to allow for multiple entries per submission +# 80625-0032 - Added time/phone display format options to system settings +# 80703-0124 - Added alter cust phone and api settings +# 80715-1130 - Added Recycle leads limit count +# 80719-1351 - Changed QC settings in campaigns and In-Groups +# 80809-2305 - Added Sale and Dead Lead categories to status categories page +# 80815-1036 - Added manual dial filter to capaigns +# 80823-2124 - Added copy to clipboard campaign option +# 80829-2359 - Added EXTENDED auto_alt_dial options +# 80831-0406 - Added agent screen extended alt-dial option to campaigns +# 80909-0553 - Added campaign-specific DNC list option and add +# 81002-1101 - Added more in-group options and new DID section and user options +# 81007-0936 - Added three_way_call_cid option to campaigns +# 81012-1725 - Added INBOUND_MAN dial method allowing for manual list dialing with inbound calls +# 81030-0348 - Added campaign pause code force option +# 81030-2228 - Fixed DIDs creation issue +# 81103-1408 - Added 3way call dial prefix option +# 81107-1551 - Added Stats Percent of Calls Answered Within X seconds fields to in-groups +# +# make sure you have added a user to the vicidial_users MySQL table with at least user_level 8 to access this page the first time + +$admin_version = '2.0.5-149'; +$build = '81107-1551'; + +$STARTtime = date("U"); +$SQLdate = date("Y-m-d H:i:s"); +$MT[0]=''; +$US='_'; + +$month_old = mktime(0, 0, 0, date("m")-1, date("d"), date("Y")); +$past_month_date = date("Y-m-d H:i:s",$month_old); +$week_old = mktime(0, 0, 0, date("m"), date("d")-7, date("Y")); +$past_week_date = date("Y-m-d H:i:s",$week_old); + +if ($force_logout) +{ + if( (strlen($PHP_AUTH_USER)>0) or (strlen($PHP_AUTH_PW)>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "Ora non sei collegato. Grazie\n"; + exit; +} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ($auth<1)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT * from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[3]; + $LOGuser_level =$row[4]; + $LOGuser_group =$row[5]; + $LOGdelete_users =$row[8]; + $LOGdelete_user_groups =$row[9]; + $LOGdelete_lists =$row[10]; + $LOGdelete_campaigns =$row[11]; + $LOGdelete_ingroups =$row[12]; + $LOGdelete_remote_agents =$row[13]; + $LOGload_leads =$row[14]; + $LOGcampaign_detail =$row[15]; + $LOGast_admin_access =$row[16]; + $LOGast_delete_phones =$row[17]; + $LOGdelete_scripts =$row[18]; + $LOGdelete_filters =$row[29]; + $LOGalter_agent_interface =$row[30]; + $LOGdelete_call_times =$row[32]; + $LOGmodify_call_times =$row[33]; + $LOGmodify_users =$row[34]; + $LOGmodify_campaigns =$row[35]; + $LOGmodify_lists =$row[36]; + $LOGmodify_scripts =$row[37]; + $LOGmodify_filters =$row[38]; + $LOGmodify_ingroups =$row[39]; + $LOGmodify_usergroups =$row[40]; + $LOGmodify_remoteagents =$row[41]; + $LOGmodify_servers =$row[42]; + $LOGview_reports =$row[43]; + $LOGmodify_dids =$row[56]; + $LOGdelete_dids =$row[57]; + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns =$row[0]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +###################################################################################################### +###################################################################################################### +####### Header settings +###################################################################################################### +###################################################################################################### + + +header ("Content-type: text/html; charset=utf-8"); +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDIAL ADMIN: "; + +if (!isset($ADD)) {$ADD=0;} + +if ($ADD=="1") {$hh='users'; echo "Aggiungi Nuovo Utente";} +if ($ADD=="1A") {$hh='users'; echo "Copia Utente";} +if ($ADD==11) {$hh='campaigns'; $sh='basic'; echo "Aggiungi Nuova Campagna";} +if ($ADD==12) {$hh='campaigns'; $sh='basic'; echo "Copia Campagna";} +if ($ADD==111) {$hh='lists'; echo "Aggiungi Nuova Lista";} +if ($ADD==121) {$hh='lists'; echo "Agregue DNC Nuevo";} +if ($ADD==1111) {$hh='ingroups'; echo "Aggiungi Nuovo Gruppo Inbound";} +if ($ADD==1211) {$hh='ingroups'; echo "Copia Gruppo Inbound";} +if ($ADD==1311) {$hh='ingroups'; echo "Add New DID";} +if ($ADD==1411) {$hh='ingroups'; echo "Copy DID";} +if ($ADD==11111) {$hh='remoteagent'; echo "Aggiungi Nuovo Operatore Remoto";} +if ($ADD==111111) {$hh='usergroups'; echo "Aggiungi Nuovo Gruppo Utente";} +if ($ADD==1111111) {$hh='scripts'; echo "Aggiungi Nuovo Script";} +if ($ADD==11111111) {$hh='filters'; echo "Agiungi Nuovo Filtro";} +if ($ADD==111111111) {$hh='admin'; $sh='times'; echo "Agregue El Nuevo Tiempo De la Llamada";} +if ($ADD==131111111) {$hh='admin'; $sh='times'; echo "Add New Shift";} +if ($ADD==1111111111) {$hh='admin'; $sh='times'; echo "Agregue El Nuevo Tiempo De la Llamada Del Estado";} +if ($ADD==11111111111) {$hh='admin'; $sh='phones'; echo "AGGIUNGI TELEFONO";} +if ($ADD==12111111111) {$hh='admin'; $sh='phones'; echo "AGGIUNGI TELEFONO ALIAS";} +if ($ADD==111111111111) {$hh='admin'; $sh='server'; echo "AGGIUNGI SERVER";} +if ($ADD==1111111111111) {$hh='admin'; $sh='conference'; echo "NUEVA CONFERENCIA";} +if ($ADD==11111111111111) {$hh='admin'; $sh='conference'; echo "ADD NEW VICIDIAL CONFERENCE";} +if ($ADD=='2') {$hh='users'; echo "Creazione Nuovo Utente";} +if ($ADD=='2A') {$hh='users'; echo "Nueva Adicio`n Copiada Del Usuario";} +if ($ADD==20) {$hh='campaigns'; $sh='basic'; echo "Nueva Adicio`n Copiada De la Campaña";} +if ($ADD==21) {$hh='campaigns'; $sh='basic'; echo "Creazione Nuova Campagna";} +if ($ADD==22) {$hh='campaigns'; $sh='status'; echo "Creazione Nuovo Esito Personalizzato Per Campagna";} +if ($ADD==23) {$hh='campaigns'; $sh='hotkey'; echo "New Campagna HotKey Addition";} +if ($ADD==25) {$hh='campaigns'; $sh='recycle'; echo "El Nuevo Plomo De la Campaña Recicla La Adicio`n";} +if ($ADD==26) {$hh='campaigns'; $sh='autoalt'; echo "Nuevo Estado Del Dial Del Alt Del Automo`vil";} +if ($ADD==27) {$hh='campaigns'; $sh='pause'; echo "Nuevo Co`digo De la Pausa Del Agente";} +if ($ADD==28) {$hh='campaigns'; $sh='dialstat'; echo "Esito Campagna Aggiunto";} +if ($ADD==29) {$hh='campaigns'; $sh='listmix'; echo "Mezcla De la Lista De la Campaña Agregada";} +if ($ADD==211) {$hh='lists'; echo "Creazione Nuova Lista";} +if ($ADD==2111) {$hh='ingroups'; echo "Creazione Nuovo Gruppo Inbound";} +if ($ADD==2011) {$hh='ingroups'; echo "Nueva Adicin Copiada Del En-Grupo";} +if ($ADD==2311) {$hh='ingroups'; echo "New DID Addition";} +if ($ADD==2411) {$hh='ingroups'; echo "New Copied DID Addition";} +if ($ADD==21111) {$hh='remoteagent'; echo "Creazuibe Nuovi Operatori Remoti";} +if ($ADD==211111) {$hh='usergroups'; echo "Creazione Nuovo Gruppo Utenti";} +if ($ADD==2111111) {$hh='scripts'; echo "Creazione Nuovo Script";} +if ($ADD==21111111) {$hh='filters'; echo "Nueva Adicio`n Del Filtro";} +if ($ADD==211111111) {$hh='admin'; $sh='times'; echo "Nueva Adicio`n Del Tiempo De la Llamada";} +if ($ADD==231111111) {$hh='admin'; $sh='times'; echo "New Shift Addition";} +if ($ADD==2111111111) {$hh='admin'; $sh='times'; echo "Nueva Adicio`n Del Tiempo De la Llamada Del Estado";} +if ($ADD==21111111111) {$hh='admin'; $sh='phones'; echo "CREANDO telefono";} +if ($ADD==22111111111) {$hh='admin'; $sh='phones'; echo "CREANDO telefono ALIAS";} +if ($ADD==211111111111) {$hh='admin'; $sh='server'; echo "CREANDO SERVIDOR";} +if ($ADD==221111111111) {$hh='admin'; $sh='server'; echo "ADICIo`N DEL NUEVO EXPEDIENTE DEL TRONCO DEL SERVIDOR VICIDIAL";} +if ($ADD==2111111111111) {$hh='admin'; $sh='conference'; echo "CREANDO CONFERENCIA";} +if ($ADD==21111111111111) {$hh='admin'; $sh='conference'; echo "ADDING NEW VICIDIAL CONFERENCE";} +if ($ADD==221111111111111) {$hh='admin'; $sh='status'; echo "AGGIUNGI ESITI DI DEFAULT VICIDIAL";} +if ($ADD==231111111111111) {$hh='admin'; $sh='status'; echo "ADICIo`N DE CATEGORÍA DEL ESTADO DE VICIDIAL";} +if ($ADD==241111111111111) {$hh='admin'; $sh='status'; echo "ADDING VICIDIAL QC STATUS CODE";} +if ($ADD==3) {$hh='users'; echo "Modifica Utente";} +if ($ADD==30) {$hh='campaigns'; echo "Campagna Non Autorizzata";} +if ($ADD==31) + { + $hh='campaigns'; $sh='detail'; echo "Modifica Campagna - Dettagliata - $campaign_id"; + if ($SUB==22) {echo " - Esiti";} + if ($SUB==23) {echo " - Hot-Key";} + if ($SUB==25) {echo " -Riciclaggio ContattiEntries";} + if ($SUB==26) {echo " - Auto Alt Dial Esiti";} + if ($SUB==27) {echo " - Agent Codici Pausa";} + if ($SUB==28) {echo " - QC";} + if ($SUB==29) {echo " - List Mixes";} + if ($SUB=='20A') {echo " - Survey";} + } +if ($ADD==34) + { + $hh='campaigns'; $sh='basic'; echo "Modifica Campagna - Vista Generale - $campaign_id"; + if ($SUB==22) {echo " - Esiti";} + if ($SUB==23) {echo " - Hot-Key";} + if ($SUB==25) {echo " -Riciclaggio ContattiEntries";} + if ($SUB==26) {echo " - Auto Alt Dial Esiti";} + if ($SUB==27) {echo " - Agent Codici Pausa";} + if ($SUB==28) {echo " - QC";} + if ($SUB==29) {echo " - List Mixes";} + if ($SUB=='20A') {echo " - Survey";} + } +if ($ADD==32) {$hh='campaigns'; $sh='status'; echo "Esiti Campagna";} +if ($ADD==33) {$hh='campaigns'; $sh='hotkey'; echo "Hot-Key Campagna";} +if ($ADD==35) {$hh='campaigns'; $sh='recycle'; echo "El Plomo De la Campaña Recicla Entradas";} +if ($ADD==36) {$hh='campaigns'; $sh='autoalt'; echo "Estados Auto Del Dial Del Alt De la Campaña";} +if ($ADD==37) {$hh='campaigns'; $sh='pause'; echo "Codici Pausa Operatore per Campagna";} +if ($ADD==38) {$hh='campaigns'; $sh='dialstat'; echo "Estados Del Dial De la Campaña";} +if ($ADD==39) {$hh='campaigns'; $sh='listmix'; echo "Mezclas De la Lista De la Campaña";} +if ($ADD==311) {$hh='lists'; echo "Modifica Lista";} +if ($ADD==3111) {$hh='ingroups'; echo "Modifica Gruppo Inbound";} +if ($ADD==3311) {$hh='ingroups'; echo "Modify DID";} +if ($ADD==31111) {$hh='remoteagent'; echo "Modifica Operatori Remoti";} +if ($ADD==311111) {$hh='usergroups'; echo "Modifica Gruppi Utenti";} +if ($ADD==3111111) {$hh='scripts'; echo "Modifica Script";} +if ($ADD==31111111) {$hh='filters'; echo "Modifica Filtro";} +if ($ADD==311111111) {$hh='admin'; $sh='times'; echo "Modifique El Tiempo De la Llamada";} +if ($ADD==321111111) {$hh='admin'; $sh='times'; echo "Modifique La Lista De las Definiciones Del Estado Del Tiempo De laLlamada";} +if ($ADD==331111111) {$hh='admin'; $sh='times'; echo "Modify Shift";} +if ($ADD==3111111111) {$hh='admin'; $sh='times'; echo "Modifique El Tiempo De la Llamada Del Estado";} +if ($ADD==31111111111) {$hh='admin'; $sh='phones'; echo "MODIFICAR EL telefonO";} +if ($ADD==32111111111) {$hh='admin'; $sh='phones'; echo "MODIFICAR EL telefonO ALIAS";} +if ($ADD==311111111111) {$hh='admin'; $sh='server'; echo "MODIFICAR EL SERVIDOR";} +if ($ADD==3111111111111) {$hh='admin'; $sh='conference'; echo "MODIFICAR LA CONFERENCIA";} +if ($ADD==31111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY VICIDIAL CONFERENCE";} +if ($ADD==311111111111111) {$hh='admin'; $sh='settings'; echo "MODIFICA IMPOSTAZIONI DI SISTEMA";} +if ($ADD==321111111111111) {$hh='admin'; $sh='status'; echo "MODIFICA ESITI DI DEFAULT VICIDIAL";} +if ($ADD==331111111111111) {$hh='admin'; $sh='status'; echo "MODIFICA LE CATEGORIE DI ESITI DI VICIDIAL";} +if ($ADD==341111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL QC STATUS CODE";} +if ($ADD=="4A") {$hh='users'; echo "Modifica Utente - Admin";} +if ($ADD=="4B") {$hh='users'; echo "Modifica Utente - Admin";} +if ($ADD==4) {$hh='users'; echo "Modifica Utente";} +if ($ADD==41) {$hh='campaigns'; $sh='detail'; echo "Modifica Campagna";} +if ($ADD==42) {$hh='campaigns'; $sh='status'; echo "Modifica Campagna Status";} +if ($ADD==43) {$hh='campaigns'; $sh='hotkey'; echo "Modifica Campagna HotKey";} +if ($ADD==44) {$hh='campaigns'; $sh='basic'; echo "Modifica Campagna - Vista Generale";} +if ($ADD==45) {$hh='campaigns'; $sh='recycle'; echo "Modifique El Plomo De la Campaña Reciclan";} +if ($ADD==47) {$hh='campaigns'; $sh='pause'; echo "Modifique El Co`digo De la Pausa Del Agente";} +if ($ADD==48) {$hh='campaigns'; $sh='qc'; echo "Modifica Campagna QC Settings";} +if ($ADD==49) {$hh='campaigns'; $sh='listmix'; echo "Modifique La Mezcla De la Lista De la Campaña";} +if ($ADD=='40A') {$hh='campaigns'; $sh='survey'; echo "Modifica Campagna Survey";} +if ($ADD==411) {$hh='lists'; echo "Modifica Lista";} +if ($ADD==4111) {$hh='ingroups'; echo "Modifica Gruppo Inbound";} +if ($ADD==4311) {$hh='ingroups'; echo "Modify DID";} +if ($ADD==41111) {$hh='remoteagent'; echo "Modifica Operatori Remoti";} +if ($ADD==411111) {$hh='usergroups'; echo "Modifica Gruppi Utenti";} +if ($ADD==4111111) {$hh='scripts'; echo "Modifica Script";} +if ($ADD==41111111) {$hh='filters'; echo "Modifica Filtro";} +if ($ADD==411111111) {$hh='admin'; $sh='times'; echo "Modifique El Tiempo De la Llamada";} +if ($ADD==431111111) {$hh='admin'; $sh='times'; echo "Modify Shift";} +if ($ADD==4111111111) {$hh='admin'; $sh='times'; echo "Modifique El Tiempo De la Llamada Del Estado";} +if ($ADD==41111111111) {$hh='admin'; $sh='phones'; echo "MODIFICAR EL telefonO";} +if ($ADD==42111111111) {$hh='admin'; $sh='phones'; echo "MODIFICAR EL telefonO ALIAS";} +if ($ADD==411111111111) {$hh='admin'; $sh='server'; echo "MODIFICAR EL SERVIDOR";} +if ($ADD==421111111111) {$hh='admin'; $sh='server'; echo "MODIFIQUE EL EXPEDIENTE DEL TRONCO DEL SERVIDOR VICIDIAL";} +if ($ADD==4111111111111) {$hh='admin'; $sh='conference'; echo "MODIFICAR LA CONFERENCIA";} +if ($ADD==41111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY VICIDIAL CONFERENCE";} +if ($ADD==411111111111111) {$hh='admin'; $sh='settings'; echo "MODIFICA IMPOSTAZIONI DI SISTEMA";} +if ($ADD==421111111111111) {$hh='admin'; $sh='status'; echo "MODIFICA ESITI DI DEFAULT VICIDIAL";} +if ($ADD==431111111111111) {$hh='admin'; $sh='status'; echo "MODIFIQUE LAS CATEGORÍAS DEL ESTADO DE VICIDIAL";} +if ($ADD==441111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL QC STATUS CODE";} +if ($ADD==5) {$hh='users'; echo "Delete User";} +if ($ADD==51) {$hh='campaigns'; $sh='detail'; echo "Delete Campagna";} +if ($ADD==52) {$hh='campaigns'; $sh='detail'; echo "Disconnetti Operatori";} +if ($ADD==53) {$hh='campaigns'; $sh='detail'; echo "Claro Del Atasco De la Emergencia VDAC";} +if ($ADD==511) {$hh='lists'; echo "Delete List";} +if ($ADD==5111) {$hh='ingroups'; echo "Delete In-Group";} +if ($ADD==5311) {$hh='ingroups'; echo "Delete DID";} +if ($ADD==51111) {$hh='remoteagent'; echo "Suprima los agentes alejados";} +if ($ADD==511111) {$hh='usergroups'; echo "Cancella Utenti Group";} +if ($ADD==5111111) {$hh='scripts'; echo "Cancella Script";} +if ($ADD==51111111) {$hh='filters'; echo "Cancella Filtro";} +if ($ADD==511111111) {$hh='admin'; $sh='times'; echo "Delete Call Time";} +if ($ADD==531111111) {$hh='admin'; $sh='times'; echo "Delete Shift";} +if ($ADD==5111111111) {$hh='admin'; $sh='times'; echo "Tiempo De la Llamada Del Estado De la Cancelacio`n";} +if ($ADD==51111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} +if ($ADD==52111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE ALIAS";} +if ($ADD==511111111111) {$hh='admin'; $sh='server'; echo "DELETE SERVER";} +if ($ADD==5111111111111) {$hh='admin'; $sh='conference'; echo "DELETE CONFERENCE";} +if ($ADD==51111111111111) {$hh='admin'; $sh='conference'; echo "DELETE VICIDIAL CONFERENCE";} +if ($ADD==6) {$hh='users'; echo "Delete User";} +if ($ADD==61) {$hh='campaigns'; $sh='detail'; echo "Delete Campagna";} +if ($ADD==62) {$hh='campaigns'; $sh='detail'; echo "Disconnetti Operatori";} +if ($ADD==63) {$hh='campaigns'; $sh='detail'; echo "Claro Del Atasco De la Emergencia VDAC";} +if ($ADD==65) {$hh='campaigns'; $sh='recycle'; echo "El Plomo De la Cancelacio`n Recicla";} +if ($ADD==66) {$hh='campaigns'; $sh='autoalt'; echo "Estado Auto Del Dial Del Alt De la Cancelacio`n";} +if ($ADD==67) {$hh='campaigns'; $sh='pause'; echo "Co`digo De la Pausa Del Agente De la Cancelacio`n";} +if ($ADD==68) {$hh='campaigns'; $sh='dialstat'; echo "Esito Campagna Rimosso";} +if ($ADD==69) {$hh='campaigns'; $sh='listmix'; echo "La Mezcla De la Lista De la Campaña Quito`";} +if ($ADD==611) {$hh='lists'; echo "Delete List";} +if ($ADD==6111) {$hh='ingroups'; echo "Delete In-Group";} +if ($ADD==6311) {$hh='ingroups'; echo "Delete DID";} +if ($ADD==61111) {$hh='remoteagent'; echo "Suprima los agentes alejados";} +if ($ADD==611111) {$hh='usergroups'; echo "Cancella Utenti Group";} +if ($ADD==6111111) {$hh='scripts'; echo "Cancella Script";} +if ($ADD==61111111) {$hh='filters'; echo "Cancella Filtro";} +if ($ADD==611111111) {$hh='admin'; $sh='times'; echo "Delete Call Time";} +if ($ADD==631111111) {$hh='admin'; $sh='times'; echo "Delete Shift";} +if ($ADD==6111111111) {$hh='admin'; $sh='times'; echo "Tiempo De la Llamada Del Estado De la Cancelacio`n";} +if ($ADD==61111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} +if ($ADD==62111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE ALIAS";} +if ($ADD==611111111111) {$hh='admin'; $sh='server'; echo "DELETE SERVER";} +if ($ADD==621111111111) {$hh='admin'; $sh='server'; echo "EXPEDIENTE DEL TRONCO DEL SERVIDOR VICIDIAL DE LA CANCELACIo`N";} +if ($ADD==6111111111111) {$hh='admin'; $sh='conference'; echo "DELETE CONFERENCE";} +if ($ADD==61111111111111) {$hh='admin'; $sh='conference'; echo "DELETE VICIDIAL CONFERENCE";} +if ($ADD==73) {$hh='campaigns'; echo "Cuenta Del Plomo De Dialable";} +if ($ADD==7111111) {$hh='scripts'; echo "Anteprima Script";} +if ($ADD==0) {$hh='users'; echo "Lista Utenti";} +if ($ADD==8) {$hh='users'; echo "Richiami Dell`Operatore";} +if ($ADD==81) {$hh='campaigns'; $sh='list'; echo "Richiami Nella Campagna";} +if ($ADD==811) {$hh='lists'; echo "Richiami Nella Lista";} +if ($ADD==8111) {$hh='usergroups'; echo "Richiami In Attesa In Questo Gruppo";} +if ($ADD==10) {$hh='campaigns'; $sh='list'; echo "Campagnas";} +if ($ADD==100) {$hh='lists'; echo "Liste";} +if ($ADD==1000) {$hh='ingroups'; echo "In-Groups";} +if ($ADD==1300) {$hh='ingroups'; echo "DIDs";} +if ($ADD==10000) {$hh='remoteagent'; echo "Operatori Remoti";} +if ($ADD==100000) {$hh='usergroups'; echo "Gruppi Utenti";} +if ($ADD==1000000) {$hh='scripts'; echo "Script";} +if ($ADD==10000000) {$hh='filters'; echo "Filtri";} +if ($ADD==100000000) {$hh='admin'; $sh='times'; echo "Orari Chiamata";} +if ($ADD==130000000) {$hh='admin'; $sh='times'; echo "Shifts";} +if ($ADD==1000000000) {$hh='admin'; $sh='times'; echo "Tiempos De la Llamada Del Estado";} +if ($ADD==10000000000) {$hh='admin'; $sh='phones'; echo "ELENCO TELEFONI";} +if ($ADD==12000000000) {$hh='admin'; $sh='phones'; echo "PHONE ALIAS LIST";} +if ($ADD==100000000000) {$hh='admin'; $sh='server'; echo "ELENCO SEEVER";} +if ($ADD==1000000000000) {$hh='admin'; $sh='conference'; echo "LISTA DE CONFERENCIAS";} +if ($ADD==10000000000000) {$hh='admin'; $sh='conference'; echo "VICIDIAL LISTA DE CONFERENCIAS";} +if ($ADD==550) {$hh='users'; echo "Form di Ricerca";} +if ($ADD==551) {$hh='users'; echo "BUSCAR telefonOS";} +if ($ADD==660) {$hh='users'; echo "Risultati Ricerca";} +if ($ADD==661) {$hh='users'; echo "RESULTADO DE LA BÚSQUEDA DE telefonOS";} +if ($ADD==99999) {$hh='users'; echo "AIUTO";} +if ($ADD==999999) {$hh='reports'; echo "REPORT";} + +if ( ($ADD>9) && ($ADD < 99998) ) + { + ##### get scripts listing for dynamic pulldown + $stmt="SELECT script_id,script_name from vicidial_scripts order by script_id"; + $rslt=mysql_query($stmt, $link); + $scripts_to_print = mysql_num_rows($rslt); + $scripts_list="<option value=\"\">NESSUNO</option>\n"; + + $o=0; + while ($scripts_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $scripts_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $scriptname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + ##### get filters listing for dynamic pulldown + $stmt="SELECT lead_filter_id,lead_filter_name,lead_filter_sql from vicidial_lead_filters order by lead_filter_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + $filters_list="<option value=\"\">NESSUNO</option>\n"; + + $o=0; + while ($filters_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $filters_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $filtername_list["$rowx[0]"] = "$rowx[1]"; + $filtersql_list["$rowx[0]"] = "$rowx[2]"; + $o++; + } + + ##### get call_times listing for dynamic pulldown + $stmt="SELECT call_time_id,call_time_name from vicidial_call_times order by call_time_id"; + $rslt=mysql_query($stmt, $link); + $times_to_print = mysql_num_rows($rslt); + + $o=0; + while ($times_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $call_times_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $call_timename_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + } + +if ( ( (strlen($ADD)>4) && ($ADD < 99998) ) or ($ADD==3) or (($ADD>20) and ($ADD<70)) or ($ADD=="4A") or ($ADD=="4B") or (strlen($ADD)==12) ) + { + ##### get server listing for dynamic pulldown + $stmt="SELECT server_ip,server_description from servers order by server_ip"; + $rslt=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rslt); + $servers_list=''; + + $o=0; + while ($servers_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $servers_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + ##### BEGIN get campaigns listing for rankings ##### + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + $campaigns_value=''; + $RANKcampaigns_list="<tr><td>CAMPAGNA</td><td>     CLASSIFICA</td><td>     CALLS</td></tr>\n"; + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $campaign_id_values[$o] = $rowx[0]; + $campaign_name_values[$o] = $rowx[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + $stmt="SELECT campaign_rank,calls_today from vicidial_campaign_agents where user='$user' and campaign_id='$campaign_id_values[$o]'"; + $rslt=mysql_query($stmt, $link); + $ranks_to_print = mysql_num_rows($rslt); + if ($ranks_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $SELECT_campaign_rank = $row[0]; + $calls_today = $row[1]; + } + else + {$calls_today=0; $SELECT_campaign_rank=0;} + if ( ($ADD=="4A") or ($ADD=="4B") ) + { + if (isset($_GET["RANK_$campaign_id_values[$o]"])) {$campaign_rank=$_GET["RANK_$campaign_id_values[$o]"];} + elseif (isset($_POST["RANK_$campaign_id_values[$o]"])) {$campaign_rank=$_POST["RANK_$campaign_id_values[$o]"];} + + if ($ranks_to_print > 0) + { + $stmt="UPDATE vicidial_campaign_agents set campaign_rank='$campaign_rank', campaign_weight='$campaign_rank' where campaign_id='$campaign_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO vicidial_campaign_agents set campaign_rank='$campaign_rank', campaign_weight='$campaign_rank', campaign_id='$campaign_id_values[$o]', user='$user';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_live_agents set campaign_weight='$campaign_rank' where campaign_id='$campaign_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else {$campaign_rank = $SELECT_campaign_rank;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + # disable non user-group allowable campaign ranks + $stmt="SELECT user_group from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Ruser_group = $row[0]; + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$Ruser_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_campaigns = $row[0]; + $allowed_campaigns = preg_replace("/ -$/","",$allowed_campaigns); + $UGcampaigns = explode(" ", $allowed_campaigns); + + $p=0; $RANK_camp_active=0; $CR_disabled = ''; + if (eregi('-ALL-CAMPAIGNS-',$allowed_campaigns)) + {$RANK_camp_active++;} + else + { + $UGcampaign_ct = count($UGcampaigns); + while ($p < $UGcampaign_ct) + { + if ($campaign_id_values[$o] == $UGcampaigns[$p]) + {$RANK_camp_active++;} + $p++; + } + } + if ($RANK_camp_active < 1) {$CR_disabled = 'DISABLED';} + + $RANKcampaigns_list .= "<tr $bgcolor><td>"; + $campaigns_list .= "<a href=\"$PHP_SELF?ADD=31&campaign_id=$campaign_id_values[$o]\">$campaign_id_values[$o]</a> - $campaign_name_values[$o] <BR>\n"; + $RANKcampaigns_list .= "<a href=\"$PHP_SELF?ADD=31&campaign_id=$campaign_id_values[$o]\">$campaign_id_values[$o]</a> - $campaign_name_values[$o] </td>"; + $RANKcampaigns_list .= "<td>     <select size=1 name=RANK_$campaign_id_values[$o] $CR_disabled>\n"; + $h="9"; + while ($h>=-9) + { + $RANKcampaigns_list .= "<option value=\"$h\""; + if ($h==$campaign_rank) + {$RANKcampaigns_list .= " SELECTED";} + $RANKcampaigns_list .= ">$h</option>"; + $h--; + } + $RANKcampaigns_list .= "</select></td>\n"; + $RANKcampaigns_list .= "<td align=right>     $calls_today</td></tr>\n"; + $o++; + } + ##### END get campaigns listing for rankings ##### + + + ##### BEGIN get inbound groups listing for checkboxes ##### + $xfer_groupsSQL=''; + if ( (($ADD>20) and ($ADD<70)) and ($ADD!=41) ) + { + $stmt="SELECT closer_campaigns,xfer_groups from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + $xfer_groups = $row[1]; + $xfer_groups = preg_replace("/ -$/","",$xfer_groups); + $XFERgroups = explode(" ", $xfer_groups); + $xfer_groupsSQL = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groupsSQL = preg_replace("/ /","','",$xfer_groupsSQL); + $xfer_groupsSQL = "WHERE group_id IN('$xfer_groupsSQL')"; + } + if ($ADD==41) + { + $p=0; + $XFERgroup_ct = count($XFERgroups); + while ($p < $XFERgroup_ct) + { + $xfer_groups .= " $XFERgroups[$p]"; + $p++; + } + $xfer_groupsSQL = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groupsSQL = preg_replace("/ /","','",$xfer_groupsSQL); + $xfer_groupsSQL = "WHERE group_id IN('$xfer_groupsSQL')"; + } + + if ( (($ADD==31111) or ($ADD==31111)) and (count($groups)<1) ) + { + $stmt="SELECT closer_campaigns from vicidial_remote_agents where remote_agent_id='$remote_agent_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + } + + if ($ADD==3) + { + $stmt="SELECT closer_campaigns from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') order by group_id"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $groups_list=''; + $groups_value=''; + $XFERgroups_list=''; + $RANKgroups_list="<tr><td>INBOUND GROUP</td><td>     CLASSIFICA</td><td>     CALLS</td></tr>\n"; + + $o=0; + while ($groups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $group_id_values[$o] = $rowx[0]; + $group_name_values[$o] = $rowx[1]; + $o++; + } + + $o=0; + while ($groups_to_print > $o) + { + $stmt="SELECT group_rank,calls_today from vicidial_inbound_group_agents where user='$user' and group_id='$group_id_values[$o]'"; + $rslt=mysql_query($stmt, $link); + $ranks_to_print = mysql_num_rows($rslt); + if ($ranks_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $SELECT_group_rank = $row[0]; + $calls_today = $row[1]; + } + else + {$calls_today=0; $SELECT_group_rank=0;} + if ( ($ADD=="4A") or ($ADD=="4B") ) + { + if (isset($_GET["RANK_$group_id_values[$o]"])) {$group_rank=$_GET["RANK_$group_id_values[$o]"];} + elseif (isset($_POST["RANK_$group_id_values[$o]"])) {$group_rank=$_POST["RANK_$group_id_values[$o]"];} + + if ($ranks_to_print > 0) + { + $stmt="UPDATE vicidial_inbound_group_agents set group_rank='$group_rank', group_weight='$group_rank' where group_id='$group_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO vicidial_inbound_group_agents set group_rank='$group_rank', group_weight='$group_rank', group_id='$group_id_values[$o]', user='$user';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_live_inbound_agents set group_weight='$group_rank' where group_id='$group_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else {$group_rank = $SELECT_group_rank;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $groups_list .= "<input type=\"checkbox\" name=\"groups[]\" value=\"$group_id_values[$o]\""; + $XFERgroups_list .= "<input type=\"checkbox\" name=\"XFERgroups[]\" value=\"$group_id_values[$o]\""; + $RANKgroups_list .= "<tr $bgcolor><td><input type=\"checkbox\" name=\"groups[]\" value=\"$group_id_values[$o]\""; + $p=0; + $group_ct = count($groups); + while ($p < $group_ct) + { + if ($group_id_values[$o] == $groups[$p]) + { + $groups_list .= " CHECKED"; + $RANKgroups_list .= " CHECKED"; + $groups_value .= " $group_id_values[$o]"; + } + $p++; + } + $p=0; + $XFERgroup_ct = count($XFERgroups); + while ($p < $XFERgroup_ct) + { + if ($group_id_values[$o] == $XFERgroups[$p]) + { + $XFERgroups_list .= " CHECKED"; + $XFERgroups_value .= " $group_id_values[$o]"; + } + $p++; + } + $stmt="SELECT queue_priority from vicidial_inbound_groups where group_id='$group_id_values[$o]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VIG_priority = $row[0]; + + $groups_list .= "> <a href=\"$PHP_SELF?ADD=3111&group_id=$group_id_values[$o]\">$group_id_values[$o]</a> - $group_name_values[$o] - $VIG_priority <BR>\n"; + $XFERgroups_list .= "> <a href=\"$PHP_SELF?ADD=3111&group_id=$group_id_values[$o]\">$group_id_values[$o]</a> - $group_name_values[$o] <BR>\n"; + $RANKgroups_list .= "> <a href=\"$PHP_SELF?ADD=3111&group_id=$group_id_values[$o]\">$group_id_values[$o]</a> - $group_name_values[$o] </td>"; + $RANKgroups_list .= "<td>     <select size=1 name=RANK_$group_id_values[$o]>\n"; + $h="9"; + while ($h>=-9) + { + $RANKgroups_list .= "<option value=\"$h\""; + if ($h==$group_rank) + {$RANKgroups_list .= " SELECTED";} + $RANKgroups_list .= ">$h</option>"; + $h--; + } + $RANKgroups_list .= "</select></td>\n"; + $RANKgroups_list .= "<td align=right>     $calls_today</td></tr>\n"; + $o++; + } + if (strlen($groups_value)>2) {$groups_value .= " -";} + if (strlen($XFERgroups_value)>2) {$XFERgroups_value .= " -";} + } + ##### END get inbound groups listing for checkboxes ##### + + + ##### BEGIN get campaigns listing for checkboxes ##### + if ( ($ADD==211111) or ($ADD==311111) or ($ADD==411111) or ($ADD==511111) or ($ADD==611111) ) + { + if ( ($ADD==211111) or ($ADD==311111) or ($ADD==511111) or ($ADD==611111) ) + { + $stmt="SELECT allowed_campaigns,qc_allowed_campaigns,qc_allowed_inbound_groups from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_campaigns = $row[0]; + $qc_allowed_campaigns = $row[1]; + $qc_allowed_inbound_groups = $row[2]; + $allowed_campaigns = preg_replace("/ -$/","",$allowed_campaigns); + $campaigns = explode(" ", $allowed_campaigns); + $qc_allowed_campaigns = preg_replace("/ -$/","",$qc_allowed_campaigns); + $qc_campaigns = explode(" ", $qc_allowed_campaigns); + $qc_allowed_inbound_groups = preg_replace("/ -$/","",$qc_allowed_inbound_groups); + $qc_groups = explode(" ", $qc_allowed_inbound_groups); + } + + $campaigns_value=''; + $campaigns_list='<B><input type="checkbox" name="campaigns[]" value="-ALL-CAMPAIGNS-"'; + $qc_campaigns_value=''; + $qc_campaigns_list='<B><input type="checkbox" name="qc_campaigns[]" value="-ALL-CAMPAIGNS-"'; + $qc_groups_value=''; + $qc_groups_list='<B><input type="checkbox" name="qc_groups[]" value="-ALL-GROUPS-"'; + $p=0; + while ($p<100) + { + if (eregi('ALL-CAMPAIGNS',$campaigns[$p])) + { + $campaigns_list.=" CHECKED"; + $campaigns_value .= " -ALL-CAMPAIGNS- -"; + } + if (eregi('ALL-CAMPAIGNS',$qc_campaigns[$p])) + { + $qc_campaigns_list.=" CHECKED"; + $qc_campaigns_value .= " -ALL-CAMPAIGNS- -"; + } + if (eregi('ALL-GROUPS',$qc_groups[$p])) + { + $qc_groups_list.=" CHECKED"; + $qc_groups_value .= " -ALL-GROUPS- -"; + } + $p++; + } + $campaigns_list.="> ALL-CAMPAIGNS - GLI UTENTI POSSONO VISUALIZZARE QUALSIASI CAMPAGNA</B><BR>\n"; + $qc_campaigns_list.="> ALL-CAMPAIGNS - USERS CAN QC ANY CAMPAIGN</B><BR>\n"; + $qc_groups_list.="> ALL-GROUPS - USERS CAN QC ANY INBOUND GROUP</B><BR>\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaign_id_value = $rowx[0]; + $campaign_name_value = $rowx[1]; + $campaigns_list .= "<input type=\"checkbox\" name=\"campaigns[]\" value=\"$campaign_id_value\""; + $qc_campaigns_list .= "<input type=\"checkbox\" name=\"qc_campaigns[]\" value=\"$campaign_id_value\""; + $p=0; + while ($p<100) + { + if ($campaign_id_value == $campaigns[$p]) + { + # echo "<!-- X $p|$campaign_id_value|$campaigns[$p]| -->"; + $campaigns_list .= " CHECKED"; + $campaigns_value .= " $campaign_id_value"; + } + if ($campaign_id_value == $qc_campaigns[$p]) + { + $qc_campaigns_list .= " CHECKED"; + $qc_campaigns_value .= " $campaign_id_value"; + } + # echo "<!-- O $p|$campaign_id_value|$campaigns[$p]| -->"; + $p++; + } + $campaigns_list .= "> $campaign_id_value - $campaign_name_value<BR>\n"; + $qc_campaigns_list .= "> $campaign_id_value - $campaign_name_value<BR>\n"; + $o++; + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') order by group_id"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + + $o=0; + while ($groups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $group_id_value = $rowx[0]; + $group_name_value = $rowx[1]; + $qc_groups_list .= "<input type=\"checkbox\" name=\"qc_groups[]\" value=\"$group_id_value\""; + $p=0; + while ($p<100) + { + if ($group_id_value == $qc_groups[$p]) + { + $qc_groups_list .= " CHECKED"; + $qc_groups_value .= " $group_id_value"; + } + $p++; + } + $qc_groups_list .= "> $group_id_value - $group_name_value<BR>\n"; + $o++; + } + + if (strlen($campaigns_value)>2) {$campaigns_value .= " -";} + if (strlen($qc_campaigns_value)>2) {$qc_campaigns_value .= " -";} + if (strlen($qc_groups_value)>2) {$qc_groups_value .= " -";} + } + ##### END get campaigns listing for checkboxes ##### + + + if ( (strlen($ADD)==11) or (strlen($ADD)>12) or ( ($ADD > 1299) and ($ADD < 9999) ) ) + { + ##### get server listing for dynamic pulldown + $stmt="SELECT server_ip,server_description from servers order by server_ip"; + $rsltx=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rsltx); + $servers_list=''; + + $o=0; + while ($servers_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $servers_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + } + + + +$NWB = "   <a href=\"javascript:openNewWindow('$PHP_SELF?ADD=99999"; +$NWE = "')\"><IMG SRC=\"help.gif\" WIDTH=20 HEIGHT=20 Border=0 ALT=\"AIUTO\" ALIGN=TOP></A>"; + + +###################################################################################################### +###################################################################################################### +####### 9 series, HELP screen +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=99999 display the HELP SCREENS +###################### + +if ($ADD==99999) +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "
\n"; +echo "
VICIDIAL ADMIN: AIUTO


\n"; + +?> +VICIDIAL_USERS TABELLA

+ +
+Identificacio`n del usuario - este campo es donde usted pone el número de la identificacio`n del usuario de VICIDIAL, puede ser hasta 8 dígitos en longitud, debe ser por lo menos 2 caracteres en longitud. + +
+
+
+Contraseña - este campo es donde usted pone la contraseña de los usuarios de VICIDIAL. Deben ser por lo menos 2 caracteres en longitud. + +
+
+
+Nombre completo - este campo es donde usted pone el nombre completo de los usuarios de VICIDIAL. Deben ser por lo menos 2 caracteres en longitud. + +
+
+
+Nivel de usuario - este menú es donde usted selecciona el nivel de usuario de los usuarios de VICIDIAL. Debe ser un nivel de 1 a registrar en VICIDIAL, debe ser llano mayor de 2 a abrirse una sesio`n como más cercano, deben ser el nivel de usuario 8 o mayor conseguir en la seccio`n de la tela del admin. + +
+
+
+Grupo de usuario - este menú es donde usted selecciona a grupo de usuarios de VICIDIAL que este usuario pertenecerá a. Esto no tiene ninguna restricciones en este tiempo, este es justo subdividir a usuarios y permitir las características futuras basadas sobre e`l. + +
+
+
+conexion del telefono - aquí es para donde usted puede fijar un valor de la conexion del telefono del defecto cuando los registros del usuario en vicidial.php. Este valor poblará el phone_login automáticamente cuando el usuario entra con su usuario-pasar-campaña en la pantalla de la conexion de vicidial.php. + +
+
+
+Paso del telefono - aquí es para donde usted puede fijar un valor del paso del telefono del defecto cuando los registros del usuario en vicidial.php. Este valor poblará los phone_pass automáticamente cuando el usuario entra con su usuario-pasar-campaña en la pantalla de la conexion de vicidial.php. + +
+
+
+Hot Keys activo - esta opcio`n si el sistema a 1 permite que el usuario utilice la funcio`n ra`pida-dispositioning de Hot Keys adentro vicidial.php. + +
+
+
+El agente elige Ingroups - esta opcio`n si el sistema a 1 permite que el usuario elija los ingroups de los cuales recibirán llamadas cuando ellos conexion a una campaña MÁS CERCANA o DE ENTRADA. Si no el encargado necesitará fijar esto en su pantalla del detalle del usuario de la página del admin. + +
+
+
+Servicios repetidos programar - esta opcio`n no prohibe a agente a la disposicion una llamada como CALLBK y elige los datos y el tiempo en los cuales el plomo será reactivado. + +
+
+
+Servicios repetidos del Agente-Solamente - esta opcio`n permite que un agente fije un servicio repetido de modo que sean el único agente que puede llamar la parte posteriora del cliente. Esto Tambien permite que el agente vea sus listados del servicio repetido y los llame detrás cualquier momento desean a. + +
+
+
+Manual de la llamada del agente - esta opcio`n permite que un agente incorpore manualmente un nuevo plomo en el sistema y los llame. Esto Tambien permite llamar de cualquier número de telefono de su pantalla vicidial y pone esa llamada en su sesio`n. Utilice esta opcio`n con la precaucio`n. + +
+
+
+grabacion de Vicidial - esta opcio`n puede evitar que un agente haga cualquier grabacion despue`s de que se abran una sesio`n a vicidial. Esta opcio`n debe estar encendido para que vicidial siga la sesio`n de la grabacion de la campaña. + +
+
+
+Vicidial transfiere - esta opcio`n puede evitar que un agente abra la transferencia - la sesio`n de la conferencia de vicidial. Si esto es lisiado, el agente no puede llamada de los terceros o la transferencia oculta cualquiera llama. + +
+
+
+Un defecto más cercano mezclado - esta opcio`n omite simplemente el checkbox mezclado en una pantalla MÁS CERCANA de la conexion. + +
+
+
+Invalidacio`n de la grabacion de VICIDIAL - esta opcio`n seeliminará lo que es la opcio`n en la campaña para la grabacion.LISIADO no eliminará el ajuste de la grabacion de la campaña. NUNCAinhabilitará la grabacion en el cliente. ONDEMAND es el defecto ypermite que el agente comience y pare a registrar según lonecesitado. ALLCALLS comenzará la grabacion en el cliente siempreque una llamada se envíe a un agente. ALLFORCE comenzará lagrabacion en el cliente siempre que una llamada se envíe a un agenteque no da al agente ninguna opcio`n para parar el registrar. ParaALLCALLS y ALLFORCE hay una opcio`n para utilizar la grabacionretrasa para reducir en grabaciones y carga de sistema muy cortas delrecude. + +
+
+
+La campaña alinea - en esta seccio`n usted puede definir a la filaque un agente tendrá para cada campaña. Estas filas pueden serutilizadas para tener en cuenta la encaminamiento preferida de lallamada cuando la llamada siguiente del agente se fija alcampaign_rank. + +
+
+
+Grupos de entrada - aquí es donde usted selecciona a grupos de entrada que usted desea recibir llamadas de si usted ha seleccionado la campaña MÁS CERCANA. Usted Tambien podrá fijar la fila, o el nivel de habilidad, en estaseccio`n para cada uno de los grupos de entrada así como poder ver elnúmero de las llamadas recibidas de cada grupo de entrada para esteagente específico. Tambien en esta seccio`n está la capacidad de dar al agente una filapara cada grupo de entrada. Estas filas pueden ser utilizadas para laencaminamiento preferida de la llamada cuando esa opcio`n seselecciona en la pantalla del en-grupo. + +
+
+
+El agente altera la invalidacio`n de los datos del cliente - estaopcio`n se eliminará lo que es la opcio`n en la campaña paraalterarse de los datos del cliente. NOT_ACTIVE utilizará lo que estápresente el ajuste para la campaña. ALLOW_ALTER permitirá siemprepara que el agente altere los datos del cliente, no importa que` es elajuste de la campaña. El defecto es NOT_ACTIVE. + +
+
+
+Agent Alter Customer Phone Override - This option will override whatever the option is in the campaign for altering of customer phone number. NOT_ACTIVE will use whatever setting is present for the campaign. ALLOW_ALTER will always allow for the agent to alter the customer phone number, no matter what the campaign setting is. Default is NOT_ACTIVE. + +
+
+
+Altere las opciones de interfaz del agente - esta opcio`n si el sistema a 1 permite que el usuario administrativo modifique las opciones de interfaz de los agentes en admin.php. + +
+
+
+Usuarios de la cancelacio`n - esta opcio`n si el sistema a 1 permite que el usuario suprima a otros usuarios del igual o de poco nivel de usuario del sistema. + +
+
+
+Suprima a grupos de usuario - esta opcio`n si el sistema a 1 permite que el usuario suprima a grupos de usuario del sistema. + +
+
+
+La cancelacio`n enumera - esta opcio`n si el sistema a 1 permite que el usuario suprima listas vicidial del sistema. + +
+
+
+La cancelacio`n hace campaña - esta opcio`n si el sistema a 1 permite que el usuario suprima campañas vicidial del sistema. + +
+
+
+En-Grupos de la cancelacio`n - esta opcio`n si el sistema a 1 permite que el usuario suprima a En-Grupos vicidial del sistema. + +
+
+
+Suprima los agentes alejados - esta opcio`n si el sistema a 1 permite que el usuario suprima agentes alejados vicidial del sistema. + +
+
+
+La carga conduce - esta opcio`n si el sistema a 1 permite que el usuario cargue los plomos vicidial en la tabla del vicidial_list por el cargador basado tela del plomo. + +
+
+
+Detalle de la campaña - esta opcio`n si el sistema a 1 permite que el usuario visio`n y modifique los elementos de la pantalla del detalle de la campaña. + +
+
+
+Acceso de AGC Admin - esta opcio`n si el sistema a 1 permite a usuario a la conexion a las páginas astGUIclient del admin. + +
+
+
+La cancelacio`n de AGC telefona - esta opcio`n si el sistema a 1 permite que el usuario suprima entradas del telefono en las páginas astGUIclient del admin. + +
+
+
+Escrituras de la cancelacio`n - esta opcio`n si el sistema a 1 permite que el usuario suprima las escrituras de la campaña en la pantalla de la modificacio`n de la escritura. + +
+
+
+Modifique los plomos - esta opcio`n si el sistema a 1 permite que el usuario modifique los plomos en la página de los resultados de la búsqueda del plomo de la seccio`n del admin. + +
+
+
+Cambie la campaña del agente - esta opcio`n si el sistema a 1 permite que el usuario altere la campaña que un agente está registrado en mientras que se registran en e`l. + +
+
+
+La cancelacio`n se filtra - esta opcio`n permite que el usuario pueda suprimir los filtros vicidial del plomo del sistema. + +
+
+
+Tiempos de la llamada de la cancelacio`n - esta opcio`n permite que elusuario pueda suprimir expedientes vicidial de los tiempos de lallamada y expedientes vicidial de los tiempos de la llamada del estadodel sistema. + +
+
+
+Modifique El Tiempo De la Llamadas - This option allows the user to view and modify the call times and state call times records. A user doesn't need this option enabled if they only need to change the call times option on the campaigns screen. + +
+
+
+Modifique las secciones - estas opciones permiten que el usuariovisio`n y modifique cada uno los expedientes de las secciones. Si elsistema a 0, el usuario puede considerar la lista de la seccio`n, perono el detalle o la pantalla de la modificacio`n de un expediente enesa seccio`n. + +
+
+
+La visio`n divulga - esta opcio`n permite que el usuario visio`n losinformes de VICIDIAL. + +
+
+
+QC Enabled - This option allows the user to log in to the Quality Control agent screen. + +
+
+
+QC Livello Utente - This setting defines what the agent Quality Control user level is. This will dictate the level of functionality for the agent in the QC section:
+1 - Modify Nothing
+2 - Modify Nothing Except Status
+3 - Modify All Fields
+4 - Verify First Round of QC
+5 - View QC Statistics
+6 - Ability to Modify FINISHed records
+7 - Manager Level
+ +
+
+
+QC Record Pass - This option allows the agent to specify that a record has passed the first round of QC after reviewing the record. + +
+
+
+QC Record Finish - This option allows the agent to specify that a record has finished the second round of QC after reviewing the passed record. + +
+
+
+QC Record Commit - This option allows the agent to specify that a record has been committed in QC. It can no longer be modified by anyone. + +
+
+
+Add Timeclock Log Record - This option allows the user to add records to the timeclock log. + +
+
+
+Modify Timeclock Log Record - This option allows the user to modify records in the timeclock log. + +
+
+
+Delete Timeclock Log Record - This option allows the user to delete records in the timeclock log. + +
+
+
+Agent API Access - This option allows the account to be used with the vicidial agent API commands. + + + + + +



+ +VICIDIAL_CAMPAIGNS TABELLA

+
+
+Identificacio`n de la campaña - Úste es el nombre corto de la campaña, e`l no es editable despue`s de la sumisio`n inicial, no puede contener espacios y debe estar entre 2 y 8 caracteres en longitudh. + +
+
+
+Nombre de la campaña - esta es la descripcio`n de la campaña, debe estar entre 6 y 40 caracteres en longitud. + +
+
+
+Descripcio`n de la campaña - esto es un campo de la nota para lacampaña, es opcional y puede ser un máximo de 255 caracteres enlongitud. + +
+
+
+Fecha del cambio de la campaña - esta es la vez última que losajustes para esta campaña fueron modificados de cualquier manera. + +
+
+
+La fecha pasada de la conexion de la campaña - esta es la vezúltima que un agente fue registrado en esta campaña. + +
+
+
+Los Stats de la campaña restauran - este checkbox permitirá queusted fuerce un stats vicidial restaura, incluso si la campaña no esactiva. + +
+
+
+Activo - aquí es adonde usted fija la campaña a activo o a inactivo. Si es inactivo, noone puede registrar en e`l. + +
+
+
+Extension del parque - aquí es donde usted puede modificar para requisitos particulares en-sostiene la música para VICIDIAL. Cercio`rese de que la extension este` en lugar en el extensions.conf y eso que señala al nombre de fichero abajo. + +
+
+
+Nombre del archivo del parque - aquí es donde usted puede modificar para requisitos particulares en-sostiene la música para VICIDIAL. Cercio`rese de que el nombre de fichero sea 10 caracteres en longitud o menos y que el archivo está en lugar en el directorio de /var/lib/asterisk/sounds. + +
+
+
+Forma del Web - aquí es donde usted puede fijar el Web page de encargo que será abierto cuando el usuario chasca encendido el boton de la FORMA del WEB. + +
+
+
+Permita Closers - aquí es donde usted puede fijar si los usuarios de esta campaña tendrán la opcio`n para enviar la llamada a un más cercano. + +
+
+
+Grupo de la transferencia del defecto - este campo es el En-Grupo deldefecto que será seleccionado automáticamente cuando el agente va almarco de la transferir-conferencia en su interfaz del agente. + +
+
+
+Grupos permitidos de la transferencia - con estos listados delcheckbox usted puede seleccionar a los grupos a quienes los agentes enesta campaña pueden transferir llamadas. Permita Closers debe serpermitido para que esta opcio`n demuestre para arriba. + +
+
+
+Permita de entrada y mezclado - aquí es donde usted puede fijar silos usuarios de esta campaña tendrán la opcio`n para tomar llamadasde entrada con esta campaña. Si usted desea hacer de entrada y desalida mezclada entonces esto se debe fijar a Y. Si usted deseasolamente hacer marcar de salida en esta campaña fijo` esto a N.Default es N. + +
+
+
+Estado del dial - aquí es adonde usted fija los estados que usted está deseando marcar encendido dentro de las listas que son activas para la campaña abajo. Para agregar otro estado al dial, seleccio`nelo de la lista drop-downy el tecleo AGREGA. Para quitar uno de los estados del dial, chasqueencendido el acoplamiento del QUITAR al lado del estado que usteddesea quitar. + +
+
+
+Orden de la lista - Este menú es donde usted selecciona co`mo los plomos que emparejan los estados seleccionados arriba serán puestos en la tolva del plomo: +
  - DOWN: seleziona i primi contatti caricati nella tabella vicidial_list +
  - UP: seleziona gli ultimi contatti caricati nella tabella vicidial_list +
  - UP PHONE: seleziona il numero di telefono piu` grande e poi scorre verso il basso +
  - DOWN PHONE: seleziona il numero di telefono piu` piccolo e poi scorre verso l`alto +
  - UP LAST NAME: comienzo con los nombres pasados comenzando con Z y trabajos su manera abajo +
  - DOWN LAST NAME: comienzo con los nombres pasados comenzando con A y trabajos su manera para arriba +
  - UP COUNT: comienzo con los plomos y los trabajos llamados su manera abajo +
  - DOWN COUNT: comienzo con menos plomos y trabajos llamados su manera para arriba +
  - DOWN COUNT 2nd NEW: comienzo con menos plomos y trabajos llamados su manera para arriba que inserta un NEW plomo en cada otro lead(Must para no tener NEW seleccionado en los estados del dial) +
  - DOWN COUNT 3nd NEW: comienzo con menos plomos y trabajos llamados su manera para arriba que inserta un NEW plomo en cada tercer lead(Must para no tener NEW seleccionado en los estados del dial) +
  - DOWN COUNT 4th NEW: comienzo con menos plomos y trabajos llamados que su manera para arriba que inserta un NEW plomo en cada adelante conduzca (no debe tener NEW seleccionado en los estados del dial) + +
+
+
+Tolva llana - este es cuántos conducen los intentos de la escritura de VDhopper para mantener la tabla del vicidial_hopper para esta campaña. Si funciona la escritura de VDhopper cada minuto, haga esto levemente mayor que el número de plomos que usted entra a trave`s en un minuto. + +
+
+
+Filtro del plomo - este es un me`todo de filtrar sus plomos usando un fragmento de una pregunta del SQL. Utilice esta característica con la precaucio`n, e`l es fácil de parar el marcar accidentalmente con la alteracio`n más leve a la declaracio`n del SQL. El defecto no es NINGUNO. + +
+
+
+Reajuste de la fuerza de la tolva - esto permite que usted limpie fuera del contenido de la tolva sobre la sumisio`n de la forma. Debe ser llenada otra vez cuando la escritura de VDhopper funciona. + +
+
+
+Me`todo del dial - Este campo es la manera de definir co`mo el marcar debe ocurrir. Si el MANUAL entonces el auto_dial_level es bloqueado en 0 a menos que se cambie el me`todo del dial. Si COCIENTE entonces el normal marcando un número de líneas para los agentes activos. ADAPT_HARD_LIMIT marcará predictively hasta el porcentaje caído y despue`s no permitirá marcar agresivo una vez que se alcance el límite de la gota hasta que va el porcentaje abajo otra vez. ADAPT_TAPERED permite para el excedente de funcionamiento el porcentaje caído por la mitad primer de la cambio - según lo definido por el call_time seleccionado para la campaña y consigue más terminante mientras que se enciende la cambio. ADAPT_AVERAGE intenta mantener un promedio o el porcentaje caído que no impone límites duros tan agresivamente como los otros dos me`todos. Usted no puede cambiar el nivel auto del dial si usted está en cualesquiera de los me`todos del dial del ADAPTAR. Solamente el sintonizador puede cambiar el nivel del dial cuando en modo que marca profe`tico. INBOUND_MAN allows the agent to place manual dial calls from a campaign list while being able to take inbound calls between manual dial calls. + +
+
+
+Nivel auto del dial - aquí es adonde usted fija cuántos alinea VICIDIAL debe utilizar por medios del agente activo cero 0 que el marcar del automo`vil está apagado y los agentes chascarán para marcar cada número. Si no VICIDIAL mantendrá líneas que marcan iguales a los agentes activos multiplicados por el nivel del dial para llegar cuántas líneas debe permitir esta campaña en cada servidor. El checkbox de la INVALIDACIo`N del ADAPTAR permite que usted fuerceun nuevo nivel del dial aunque el me`todo del dial está en un mododel ADAPTAR. Esto es útil si hay una cambio dramática en la calidadde plomos y usted desea cambiar drástico el dial_level manualmente. + +
+
+
+Solamente cuenta disponible - este campo si el sistema a Y deja haciafuera los agentes del estado de INCALL y de la COLETA al calcular elnúmero de llamadas al dial cuando no en modo de dial MANUAL. Eldefecto es N. + +
+
+
+Límite del porcentaje de la gota - este campo es donde usted fijo` ellímite del porcentaje de llamadas caídas que usted quisiera mientrasque usaba un me`todo adaptante-profe`tico del dial, NO MANUAL o delCOCIENTE. + +
+
+
+El máximo adapta el dial llano - este campo es donde usted fijo` ellímite del límite al numbr de líneas que usted quisiera marcado poragente mientras que usaba un me`todo adaptante-profe`tico del dial, NOMANUAL o del COCIENTE. Este número puede ser más alto que el nivelauto del dial si su hardware lo apoya. El valor debe ser un númeropositivo mayor de uno y puede tener defecto 3.0 de los lugaresdecimales. + +
+
+
+El tiempo más último del servidor - este campo es utilizadosolamente por el me`todo del dial de ADAPT_TAPERED. Usted debe entraren la hora y el minuto que usted parará el invitar de esta campaña,2100 significaría que usted parará el marcar de esta campaña en eltiempo del servidor de los 9PM. Esto permite que el algoritmo afiladodecida a co`mo agresivamente al dial cerca cuánto tiempo usted tienehasta que usted será el llamar acabado. + +
+
+
+Adapte el modificante de la intensidad - este campo se utiliza paraajustar la intensidad profe`tica más alta o más baja. El más altoun número positivo que usted selecciona, mayor va el sintonizadoraumentará la llamada que establece el paso cuando para arriba y máslentamente va el sintonizador disminuirá la llamada que establece elpaso cuando abajo. Cuanto más bajo es el número negativo que ustedseleccionan aquí, más lentamente el sintonizador aumentará lallamada que establece el paso y más rápidamente el sintonizadorbajará la llamada que establece el paso cuando va abajo. El defectoes 0. Este campo no es utilizado por los me`todos del dial del MANUALo del COCIENTE. + +
+
+
+Blanco llana de la diferencia del dial - este campo se utiliza paradefinir si usted desea apuntar tener un número específico de losagentes que esperan agentes de las llamadas o el esperar de llamadas.Por ejemplo si usted siempre quisiera tener en agente del promedio unolibre tomar llamadas inmediatamente usted fijaría esto a -1, si ustedquisiera apuntar siempre tener uno invita el asimiento que espera unagente que usted fijaría esto a 1. El defecto es 0. Este campo no esutilizado por los me`todos del dial del MANUAL o del COCIENTE. + +
+
+
+Transferencias concurrentes - este ajuste se utiliza para definir elnúmero de las llamadas que se pueden enviar a los agentes en el mismotiempo. Se recomienda que este ajuste está dejado en el AUTOMo`VIL. Este campo no es utilizado por el me`todo MANUAL del dial. + +
+
+
+Queue Priority - This setting is used to define the order in which the calls from this outbound campaign should be answered in relation to the inbound calls if this campaign is in blended mode. + +
+
+
+Alt-Nu`mero auto que marca - este ajuste se utiliza para marcarautomáticamente campos alternos del número mientras que marca en elCOCIENTE y ADAPTA me`todos del dial cuando no hay contacto en elnúmero de telefono principal para un plomo, los estados del NA, deB, de la C.C. y de N. Este ajuste no es utilizado por el me`todoMANUAL del dial. EXTENDED alternate numbers are numbers loaded into the system outside of the standard lead information screen. Using EXTENDED you can have hundreds of phone numbers for a single customer record. + +
+
+
+Llamada siguiente del agente - esto se determina que` agente recibe la llamada siguiente que está disponible: +
  - random: o`rdenes por el valor al azar de la actualizacio`n en la tabla de los vicidial_live_agents +
  - oldest_call_start: las o`rdenes por la vez última un agente fueron enviadas una llamada. Resultados en los agentes que reciben el número casi igual de llamadas cabalmente. +
  - oldest_call_finish: las o`rdenes por la vez última un agente acabaron una llamada. El agente de AKA que espera lo más de largo posible recibe la primera llamada. +
  - overall_user_level: las o`rdenes por el user_level del agente según lo definido en los vicidial_users tabulan un user_level más alto recibirán más llamadas. +
  - campaign_rank: o`rdenes de la fila dada al agente para la campaña. Lomás arriba posible a lo más bajo posible. +
  - fewest_calls: o`rdenes por el número de las llamadas recibidas por unagente para ese grupo de entrada específico. Menos llamadas primero. + +
+
+
+Tiempo de la llamada local - aquí es adonde usted fijo` durante que` horas usted quisiera marcar, según lo determinado por el tiempo local en está en cuál usted está llamando. Esto es controlada por co`digo de área y ajustada por tiempo de los ahorros de la luz del día si es aplicable. Las pautas generales en los E.E.U.U. para el negocio al negocio son los 9am a los 5pm y el negocio a las llamadas del consumidor es los 9am a los 9pm. + +
+
+
+Descanso del dial - si está definido, llamadas que normalmente retraso despue`s de que el descanso definido en extensions.conf en lugar de otro descanso en esta cantidad de segundos si es menos que el descanso de extensions.conf. Esto permite descansos del dial rápidamente que cambian del servidor al servidor y a limitar los efectos a una sola campaña. Si usted está teniendo muchos de llamadas del contestador automático o de Casella Vocale usted puede desear intentar cambiar este valor entre a 21-26 y ver si los resultados mejoran. + +
+
+
+Prefijo del dial - este campo permite más fácilmente cambiar una trayectoria de marcar a salir con un diverso me`todo sin hacer una recarga en asterisco. El defecto es 9 basados sobre un 91NXXNXXXXXX en el dial plan - extensions.conf. + +
+
+
+Omita el co`digo del telefono - este campo permite que usted dejehacia fuera el campo del phone_code mientras que marca dentro deVICIDIAL. Por ejemplo si usted está marcando en el Reino Unido delReino Unido usted tendría 44 adentro como su campo del phone_codepara todos los plomos, pero usted apenas desea marcar 10 dígitos ensu extensions.conf dial plan para poner llamadas en vez de 44 entonces10 dígitos. El defecto es N. + +
+
+
+Campaña CallerID - este campo permite enviar de un número de encargo del callerid en las llamadas de salida. Úste es el número que demostraría para arriba en el callerid de la persona que usted está llamando. El defecto es DESCONOCIDO. Esta opcio`n está solamente disponible si usted está utilizando PRIs - ISDN T1 o E1 - que tienen la característica de encargo del callerid se giraron. Esta característica puede Tambien trabajar con los troncos IAX2 dependiendo de lo que admite su abastecedor. El callerID de encargo se aplica solamente a las llamadas puestas para la campaña de VICIDIAL directamente, cualquier tercer persona llama o las transferencias no enviarán el callerID de encargo. NOTA: A veces el poner DESCONOCIDO o PRIVADO en el campo rendirá enviar de su número del callerID del defecto por su portador con las llamadas. Usted puede desear probar esto y poner 0000000000 en el campo del callerid en lugar de otro si usted no desea enviarle CallerID. + +
+
+
+Extension de la campaña VDAD - este campo permite una extension de la transferencia del costumbre VDAD. Esto permite que usted utilice diversas escrituras del agi de VDADtransfer... dependiendo de su campaña. La transferencia AGI(exten 8365 agi-VDADtransfer.agi del defecto) apenas envía inmediatamente invita a los agentes tan pronto como e`l se tome. Una encuesta sobre política AGI la muestra adicional es Tambien (8366 agi-VDADtransferSURVEY.agi ) ese ahora incluido los juegos un mensaje a la persona llamada y permite que e`l haga una opcio`n presionando buttons(effectively la pre-investigacio`n el plomo). Observe por favor eso a excepcio`n de los exámenes, llamadas políticas y las caridades esta forma de llamar son ilegales en los Estados Unidos. + +
+
+
+Extension de Rec de la Campaña - este campo permite para que una extension de encargo de la grabacion sea utilizada con VICIDIAL. Esto permite que usted utilice diversas extensiones dependiendo sobre cuánto tiempo usted desea permitir una grabacion máxima y que` tipo de codec usted desea registrar adentro. El defecto exten es 8309 que si usted sigue los ejemplos de SCRATCH_INSTALL registrarán en el formato de WAV para hasta que una hora. Otra opcio`n incluida en los ejemplos es 8310 que registrarán en el formato del GSM para hasta que una hora. + +
+
+
+grabacion de la campaña - este menú permite que usted elija que`nivel de la grabacion se permite en esta campaña. NUNCAinhabilitará la grabacion en el cliente. ONDEMAND es el defecto ypermite que el agente comience y pare a registrar según lonecesitado. ALLCALLS comenzará la grabacion en el cliente siempreque una llamada se envíe a un agente. ALLFORCE comenzará lagrabacion en el cliente siempre que una llamada se envíe a un agenteque no da al agente ninguna opcio`n para parar el registrar. ParaALLCALLS y ALLFORCE hay una opcio`n para utilizar la grabacionretrasa para reducir en grabaciones y carga de sistema muy cortas delrecude. + +
+
+
+Nombre de fichero de Rec de la campaña - este campo permite que usted modifique el nombre para requisitos particulares de la grabacion cuando la grabacion de la campaña es ONDEMAND o ALLCALLS. Las variables permitidas son CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT. El defecto es FULLDATE_AGENT y parecería este 20051020-103108_6666. Otro ejemplo es CAMPAIGN_TINYDATE_CUSTPHONE que parecería este TESTCAMP_51020103108_3125551212. 50 char max. + +
+
+
+La registracion retrasa - para la grabacion de ALLCALLS y deALLFORCE solamente. Esta voluntad del ajuste retrasa comenzar de lagrabacion en todas las llamadas para el número de los segundosespecificados en este campo. El defecto es 0. + +
+
+
+Escritura de la campaña - este menú permite que usted elija la escritura que aparecerá en la pantalla de los agentes para esta campaña. No seleccione NONE no demostrar ninguna escritura para esta campaña. + +
+
+
+Consiga el lanzamiento de la llamada - este menú permite que usted elija si usted desee automo`vil-lance la página en una ventana separada, auto-switch de la tela-forma a la lengüeta de la ESCRITURA o no haga nada cuando una llamada se envía al agente para esta campaña. + +
+
+
+Mensaje del contestador automático - este campo está para entrar en una extension para cegar llamadas de la transferencia a cuando el agente consigue un contestador automático y chasca encendido el boton del mensaje del contestador automático en el marco de la conferencia de la transferencia. Usted debe fijar esto exten para arriba en el dial plan - extensions.conf - y se cerciora de que juega un archivo audio despue`s que cuelga para arriba. + +
+
+
+AMD envían a la VM exten - este menú permite que usted defina si un mensaje este` dejado en un contestador automático cuando se detecta la llamada será remitido inmediatamente a la extension del Contestar-Ma`quina-Mensaje si AMD es activo y se determina que la llamada es un contestador automático. + +
+
+
+Xfer-Conf DTMF - Estos cuatro campos permiten para que usted tenga dos sistemas de conferencia de la transferencia y de precolocaciones de DTMF. Cuando se carga la llamada o la campaña, la escritura de vicidial.php demostrará dos botones en el marco de la transferir-conferencia y automo`vil-poblara` el nu`mero-a-dial y los campos del enviar-dtmf cuando está presionada. Si usted desea permitir transferencias consultivas, un fronter a unmás cercano, usted puede colocar CXFER pues uno de lasprecolocaciones del nu`mero-a-dial y del dial string apropiado seráenviado para hacer una transferencia consultiva local, entonces lalata LEAVE-3WAY-CALL justo del agente y movimiento encendido a sullamada siguiente. Si usted desea permitir transferencias ocultas declientes a una escritura de VICIDIAL AGI para registrar o un IVR,entonces coloque AXFER en el campo del nu`mero-a-dial. Usted puedeTambien especificar una extension de encargo despue`s del AXFER odel CXFER, por ejemplo si usted desea hacer transferencias consultivasinternas en vez de local que usted pondría CXFER90009 en el campo delnu`mero-a-dial. + +
+
+
+El marcar nume`rico del Alt del agente - esta opcio`n permite que un agente marque manualmente el número de telefono o el campo alterno address3 despue`s de que se haya llamado el número principal. + +
+
+
+Servicios repetidos programar - esta opcio`n no prohibe a agente a la disposicion una llamada como CALLBK y elige los datos y el tiempo en los cuales el plomo será reactivado. + +
+
+
+Segundos de la llamada de la gota - el número de segundos a partirdel tiempo que la línea de cliente se escoge encima de hasta que lallamada se considera una GOTA, so`lo se aplica a las llamadas desalida. + +
+
+
+Drop Action - This menu allows you to choose what happens to a call when it has been waiting for longer than what is set in the Secondi Abbattimento Telefonata field. HANGUP will simply hang up the call, MESSAGE will send the call the Gota Exten that you have defined below, VOICEMAIL will send the call to the voicemail box that you have defined below and IN_GROUP will send the call to the Inbound Group that is defined below|| + +
+
+
+seguro puerto Exten - este ser dial plan extension que desear seguropuerto audio archivo ser localizar en en su servidor. + +
+
+
+Casella Vocale - si estuvieron definidas, las llamadas que CAERÍAN normalmente en lugar de otro serían ordenadas a esta caja del voicemail para oír y para dejar un mensaje. + +
+
+
+Drop Transfer Group - If Drop Action is set to IN_GROUP, the call will be sent to this inbound group if it reaches Secondi Abbattimento Telefonata. + +
+
+
+Segundos de Wrap Up - el número de los segundos para forzar un agenteesperar antes de permitir que reciban o que marquen otra llamada. Elcontador de tiempo comienza tan pronto como un agente cuelgue paraarriba en su cliente - o en el caso del número alterno que marcacuando el agente acaba el plomo - defecto sea los segundos 0. Si elcontador de tiempo funciona hacia fuera antes de que el agente tengadispositioned la llamada, el agente todavía no se mueve encendido ala llamada siguiente hasta que seleccionan una disposicion. + +
+
+
+Mensaje de Wrap up - esto es un mensaje campaña-especi`fico que seexhibirá en la pantalla del wrapup si se fijan los segundos delwrapup. + +
+
+
+Lista interna del uso DNC - esto define si esta campaña es filtrarlos plomos contra la lista interna de DNC. Si se fija a Y, la tolvabuscará cada número de telefono en la lista de DNC antes de ponerlaen la tolva. Si está en la lista de DNC entonces que cambiará eseconduce estado a DNCL así que no puede ser marcada. El defecto es N. + +
+
+
+Use Campagna DNC List - This defines whether this campaign is to filter leads against a DNC list that is specific to that campaign only. If it is set to Y, the hopper will look for each phone number in the campaign-specific DNC list before placing it in the hopper. If it is in the campaign-specific DNC list then it will change that lead status to DNCC so it cannot be dialed. Default is N. + +
+
+
+Grupos De entrada Permitidos - For CLOSER campaigns only. Here is where you select the inbound groups you want agents in this CLOSER campaign to be able to take calls from. It is important for BLENDED inbound-outbound campaigns only to select the inbound groups that are used for agents in this campaign. The calls coming into the inbound groups selected here will be counted as active calls for a blended campaign even if all agents in the campaign are not logged in to receive calls from all of those selected inbound groups. + +
+
+
+La pausa del agente cifra activo - permite que los agentes seleccionenun co`digo de la pausa cuando chascan encendido el boton de PAUSA envicidial.php. Los co`digos de la pausa son definibles por campaña enel fondo de la pantalla del detalle de la opinio`n de la campaña y sealmacenan en la tabla del vicidial_agent_log. El defecto es N. FORCE will force the agents to choose a PAUSE code if they click on the PAUSE button. + +
+
+
+Inhabilite alteran datos del cliente - si el sistema a Y, no cambiacualquiera del expediente de datos del cliente cuando lasdisposiciones de un agente la llamada. El defecto es N. + +
+
+
+Disable Alter Customer Phone - If set to Y, does not change the customer phone number when an agent dispositions the call. Default is Y. + +
+
+
+Permita Ninguno-Tolva-Conduce conexiones - si el sistema a Y, permiteagentes a la conexion a la campaña incluso si no hay plomos cargadosen la tolva para esa campaña. Esta funcio`n no se necesita encampañas de CLOSER-type. El defecto es N. + +
+
+
+Agent Display Queue Count - If set to Y, when a customer is waiting for an agent, the Queue Calls display at the top of the agent screen will turn red and show the number of waiting calls. Default is Y. + +
+
+
+Mezcla de la orden de la lista - elimina los campos de la orden delplomo y del estado del dial. Utilizará los parámetros de la lista ydel estado para la entrada seleccionada de la mezcla de la lista en laseccio`n del submarino de la mezcla de la lista en lugar de otro. Eldefecto es LISIADO. + +
+
+
+Identificacio`n de la mezcla de la lista - identificacio`n de lamezcla de la lista. Debe ser a partir de 2-20 caracteres en longitudsin los espacios o la otra puntuacio`n especial. + +
+
+
+Nombre de la mezcla de la lista - nombre descriptivo de la mezcla dela lista. Debe ser a partir de 2-50 caracteres en longitud. + +
+
+
+Detalle de la mezcla de la lista - la composicio`n de la entrada de lamezcla de la lista. Contiene la identificacio`n de la lista, la ordende la mezcla, los porcentajes y los estados que hacen para arriba estamezcla de la lista. Los porcentajes tienen que agregar siempre hasta100, y las listas todas tienen que ser activas y fijadas a la campañapara que la entrada de la mezcla de la orden sea activada. + +
+
+
+Me`todo de la mezcla de la lista - el me`todo de mezclar a todas laspartes del detalle de la mezcla de la lista juntas. EVEN_MIX mezclarálos plomos de cada parte interpolada con las otras partes, como estos1.2.3.1.2.3.1.2.3. IN_ORDER pondrá los plomos en la orden en la cualse enumeran en la pantalla 1.1.1.2.2.2.3.3.3 del detalle de la mezclade la lista. La voluntad AL AZAR los puso en la orden AL AZAR1.3.2.1.1.3.2.1.3. El defecto es IN_ORDER. + +
+
+
+Identificacio`n manual de la lista del dial - el list_id del defectoque se utilizará cuando los placces de un agente una llamada manual yun nuevo expediente del plomo se crean en vicidial_list. El defecto es999. Este campo puede contener dígitos solamente. + +
+
+
+Manual Dial Filter - This allows you to filter the calls that agents make in manual dial mode for this campaign by any combination of the following: DNC - to kick out, CAMPAIGNLISTE - the number must be within the lists for the campaign, NONE - no filter on manual dial or fast dial lists. + +
+
+
+Agent Screen Clipboard Copy - THIS FEATURE IS CURRENTLY ONLY ENABLED FOR INTERNET EXPLORER. This feature allows you to select a field that will be copied to the computer clipboard of the agent computer upon a call being sent to an agent. Common uses for this are to allow for easy pasting of account numbers or phone numbers into legacy client applications on the agent computer. + +
+
+
+Agent Screen Extended Alt Dial - This feature allows for agents to access extended alternate phone numbers for leads beyond the standard Alt Phone and Address3 fields that can be used in VICIDIAL for phone numbers beyond the main phone number. The Extended phone numbers can be dialed automatically using the Auto-Alt-Dial feature in VICIDIAL Campagna settings, but enabling this Agent Screen feature will also allow for the agent to call these numbers from their agent screen as well as edit their information. + +
+
+
+3-Way Call CallerID De salida - This defines what is sent out as the outbound callerID number from 3-way calls placed by the agent, CAMPAIGN uses the custom campaign callerID, CUSTOMER uses the number of the customer that is active on the agents screen and AGENT_PHONE uses the callerID for the phone that the agent is logged into. + +
+
+
+3-Way Call Prefisso Chiamata - This defines what is used as the dial prefix for 3-way calls, default is empty so the campaign dial prefix is used, passthru so you can hear ringing is 88. + +
+
+
+QC Enabled - Setting this field to Y allows for the agent Quality Control features to work. Default is N. + +
+
+
+QC Esiti - This area is where you select which statuses of leads should be gone over by the QC system. Place a check next to the status that you want QC to review. + +
+
+
+QC Shift - This is the shift timeframe used to pull QC records for a campaign. The days of the week are ignored for these functions. + +
+
+
+QC Get Record Launch- This allows one of the following actions to be triggered upon a QC agent receiving a new record. + +
+
+
+QC Show Recording - This allows for a recording that may be linked with the QC record to be display in the QC agent screen. + +
+
+
+QC WebForm Address - This is the website address that a QC agent can go to when clicking on the WEBFORM link in the QC screen. + +
+
+
+QC Script - This is the script that can be used by QC agents in the SCRIPT tab in the QC screen. + +
+
+
+Survey First Audio File - This is the audio filename that is played as soon as the customer picks up the phone when running a survey campaign. + +
+
+
+Survey DTMF Digits - This field is where you define the digits that a customer can press as an option on a survey campaign. valid dtmf digits are 0123456789*# + +
+
+
+Survey Not Interested Digit - This field is where you define the customer digit pressed that will show they are Not Interested. + +
+
+
+Survey Not Interested Status - This field is where you select the status to be used for Not Interested. If DNC is used and the campaign is set to use DNC then the phone number will be automatically added to the VICIDIAL internal DNC list and possibly the campaign-specific DNC list. + +
+
+
+Survey Opt-in Audio File - This is the audio filename that is played when the customer has opted-in to the survey, not opted-out or not responded if the no-response-action is set to OPTOUT. After this audio file is played, the Survey Method action is taken. + +
+
+
+Survey Not Interested Audio File - This is the audio filename that is played when the customer has opted-out of the survey, not opted-in or not responded if the no-response-action is set to OPTIN. After this audio file is played, the call will be hung up. + +
+
+
+Survey Method - This option defines what happens to a call after the customer has opted-in. AGENT_XFER will send the call to the next available agent. VOICEMAIL will send the call to the voicemail box that is specified in the Casella Vocale field. EXTENSION will send the customer to the extension defined in the Survey Xfer Extension field. HANGUP will hang up the customer. CAMPREC_60_WAV will send the customer to have a recording made with their response, this recording will be placed in a folder named as the campaign inside of the Survey Registrazioni Per Questa Campagna Directory. + +
+
+
+Survey No-Response Action - This is where you define what will happen if there is no response to the survey question. OPTIN will only send the call on to the Survey Method if the customer presses a dtmf digit. OPTOUT will send the customer on to the Survey Method even if they do not press a dtmf digit. + +
+
+
+Survey Response Digit Map - This is the section where you can define a description to go with each dtmf digit option that the customer may select. + +
+
+
+Survey Xfer Extension - If the Survey Method of EXTENSION is selected then the customer call would be directed to this dialplan extension. + +
+
+
+Survey Registrazioni Per Questa Campagna Directory - If the Survey Method of CAMPREC_60_WAV is selected then the customer response will be recorded and placed in a directory named after the campaign inside of this directory. + + + + + + + +



+ +VICIDIAL_LISTE TABELLA

+
+
+Identificacio`n de la lista - Úste es el nombre nume`rico de la lista, e`l no es editable despue`s de la sumisio`n inicial, debe contener solamente números y debe estar entre 2 y 8 caracteres en longitud. Must be a number greater than 100. + +
+
+
+Nombre de la lista - esta es la descripcio`n de la lista, debe estar entre 2 y 20 caracteres en longitud. + +
+
+
+Descripcio`n de la lista - este es el campo de la nota para la lista,e`l es opcional. + +
+
+
+Fecha del cambio de la lista - esta es la vez última que los ajustespara esta lista fueron modificados de cualquier manera. + +
+
+
+Fecha de la llamada del último de la lista - esta es la vez últimaque conduce fue marcado de esta lista. + +
+
+
+Campaña - esta es la campaña que esta lista pertenece a. Una lista se puede marcar solamente en una sola campaña contemporáneamente. + +
+
+
+Activo - esto define si la lista debe ser marcada encendido o no. + +
+
+
+Reajuste el Conducir-Llamar-Estado para esta lista - esto reajusta todos los plomos en esta lista a N para "no llamado puesto que reajuste pasado" y significa que cualquier plomo puede ahora ser llamado si es el estado derecho según lo definido en la pantalla de la campaña. + +
+
+
+VICIDIAL DNC List - This Do Not Call list contains every lead that has been set to a status of DNC in the system. Through the LISTE - AGREGUE EL NÚMERO A DNC page you are able to manually add numbers to this list so that they will not be called by campaigns that use the internal DNC list. There is also the option to add leads to the campaign-specific DNC lists for those campaigns that have them. + + + +



+ +VICIDIAL_INBOUND_GROUPS TABELLA

+
+
+Identificacio`n de grupo - Úste es el nombre corto del grupo de entrada, e`l no es editable despue`s de la sumisio`n inicial, no debe contener cualquier espacio y debe estar entre 2 y 20 caracteres en longitud. + +
+
+
+Nombre de grupo - esta es la descripcio`n del grupo, debe estar entre 2 y 30 caracteres en longitud. No puede incluir rociadas -, plusses + o espacios . + +
+
+
+Color del grupo - este es el color que exhibe en el cliente app de VICIDIAL cuando una llamada viene adentro en este grupo. Debe estar entre 2 y 7 caracteres de largo. Si esto es una definicio`n del color de la tuerca hexagonal usted debe recordar poner a # al principio de la secuencia o VICIDIAL no trabajará correctamente. + +
+
+
+Activo - esto se determina si este grupo demuestra para arriba en la caja de la seleccio`n cuando un agente de VICIDIAL entra. + +
+
+
+Forma del Web - esta es la Direccion de encargo que el chascar en el boton de la FORMA del WEB en VICIDIAL le llevará para las llamadas que vienen adentro en este grupo. + +
+
+
+Llamada siguiente del agente - esto se determina que` agente recibe la llamada siguiente que está disponible: +
  - random: o`rdenes por el valor al azar de la actualizacio`n en la tabla de los vicidial_live_agents +
  - oldest_call_start: las o`rdenes por la vez última un agente fueron enviadas una llamada. Resultados en los agentes que reciben el número casi igual de llamadas cabalmente. +
  - oldest_call_finish: las o`rdenes por la vez última un agente acabaron una llamada. El agente de AKA que espera lo más de largo posible recibe la primera llamada. +
  - overall_user_level: las o`rdenes por el user_level del agente según lo definido en los vicidial_users tabulan un user_level más alto recibirán más llamadas. +
  - inbound_group_rank: o`rdenes de la fila dada al agente para el grupode entrada específico. Lo más arriba posible a lo más bajo posible. +
  - fewest_calls: o`rdenes por el número de las llamadas recibidas por unagente para ese grupo de entrada específico. Menos llamadas primero. +
  - campaign_rank: o`rdenes de la fila dada al agente para la campaña. Lomás arriba posible a lo más bajo posible. +
  - fewest_calls_campaign: orders by the number of calls received by an agent for the campaign. Least calls first. +
+ +
+
+
+Queue Priority - This setting is used to define the order in which the calls from this inbound group should be answered in relation to calls from other inbound groups. + +
+
+Exhibicio`n de Fronter - este campo se determina si el agente de entrada de VICIDIAL tendría el name(if del fronter allí es uno) exhibido en el campo del estado cuando la llamada viene al agente. + +
+
+
+Escritura de la campaña - este menú permite que usted elija la escritura que aparecerá en la pantalla de los agentes para esta campaña. No seleccione NONE no demostrar ninguna escritura para esta campaña. + +
+
+
+Consiga el lanzamiento de la llamada - este menú permite que usted elija si usted desee automo`vil-lance la página en una ventana separada, auto-switch de la tela-forma a la lengüeta de la ESCRITURA o no haga nada cuando una llamada se envía al agente para esta campaña. + +
+
+
+Xfer-Conf DTMF - Estos cuatro campos permiten para que usted tenga dos sistemas de conferencia de la transferencia y de precolocaciones de DTMF. Cuando se carga la llamada o la campaña, la escritura de vicidial.php demostrará dos botones en el marco de la transferir-conferencia y automo`vil-poblara` el nu`mero-a-dial y los campos del enviar-dtmf cuando está presionada. Si usted desea permitir transferencias consultivas, un fronter a unmás cercano, usted puede colocar CXFER pues uno de lasprecolocaciones del nu`mero-a-dial y del dial string apropiado seráenviado para hacer una transferencia consultiva local, entonces lalata LEAVE-3WAY-CALL justo del agente y movimiento encendido a sullamada siguiente. Si usted desea permitir transferencias ocultas declientes a una escritura de VICIDIAL AGI para registrar o un IVR,entonces coloque AXFER en el campo del nu`mero-a-dial. Usted puedeTambien especificar una extension de encargo despue`s del AXFER odel CXFER, por ejemplo si usted desea hacer transferencias consultivasinternas en vez de local que usted pondría CXFER90009 en el campo delnu`mero-a-dial. + +
+
+
+Secondi Abbattimento Telefonata - The number of seconds a call will stay in queue before being considered a DROP. + +
+
+
+Drop Action - This menu allows you to choose what happens to a call when it has been waiting for longer than what is set in the Secondi Abbattimento Telefonata field. HANGUP will simply hang up the call, MESSAGE will send the call the Gota Exten that you have defined below, VOICEMAIL will send the call to the voicemail box that you have defined below and IN_GROUP will send the call to the Inbound Group that is defined below. + +
+
+
+Gota Exten - If Drop Action is set to MESSAGE, this is the dial plan extension that the call will be sent to if it reaches Secondi Abbattimento Telefonata. + +
+
+
+Casella Vocale - If Drop Action is set to VOICEMAIL, the call DROP would instead be directed to this voicemail box to hear and leave a message. + +
+
+
+Drop Transfer Group - If Drop Action is set to IN_GROUP, the call will be sent to this inbound group if it reaches Secondi Abbattimento Telefonata. + +
+
+
+Tiempo de la llamada - este es el esquema del tiempo de la llamada autilizar para este grupo de entrada. Tenga presente que el tiempoestá basado en el tiempo del servidor. El defecto es 24hours. + +
+
+
+After Hours Action - The action to perform if it is after hours as defined in the call time for this inbound group. HANGUP will immediately hangup the call, MESSASGE will play the file in the After Hours Message Filenam field, EXTENSION will send the call to the After Hours Extension in the dialplan and VOICEMAIL will send the call to the voicemail box listed in the After Hours Casella Vocale field, IN_GROUP will send the call to the inbound group selected in the After Hours Transfer Group select list. Default is MESSAGE. + +
+
+
+Despue`s del nombre de fichero del mensaje de las horas - el archivoaudio situado en el servidor que se jugará si la accio`n se fija alMENSAJE. El defecto es VM-ADIO`S + +
+
+
+Despue`s de la extension de las horas - la extension dialplan paraenviar la llamada si la accio`n se fija a la Extension. El defecto es8300. + +
+
+
+Despue`s de las horas Casella Vocale - la caja del voicemail para enviar lallamada si la accio`n se fija a VOICEMAIL. + +
+
+
+After Hours Transfer Group - If After Hours Action is set to IN_GROUP, the call will be sent to this inbound group if it enters the in-group outside of the call time scheme defined for the in-group. + +
+
+
+Nombre de fichero agradable del mensaje - el archivo audio situado enel servidor que se jugará cuando viene la llamada adentro. Si sistemaa ---NONE --- entonces no se jugará ningún mensaje. El defecto es---NONE --- + +
+
+
+Play Benvenuti Message - These settings select when to play the defined welcome message, ALWAYS will play it every time, NEVER will never play it, IF_WAIT_ONLY will only play the welcome message if the call does not immediately go to an agent, and YES_UNLESS_NODELAY will always play the welcome message unless the NO_DELAY setting is enabled. Default is ALWAYS. + +
+
+
+Música en contexto del asimiento - la música en el contexto delasimiento para utilizar cuando colocan al cliente en asimiento. Eldefecto es defecto. + +
+
+
+En el nombre de fichero del aviso del asimiento - el archivo audiosituado en el servidor que se jugará en un intervalo regular cuandoel cliente está en asimiento. El defecto es generic_hold. Estearchivo audio DEBE estar 9 segundos o menos en longitud. + +
+
+
+En el intervalo del aviso del asimiento - la longitud de la hora ensegundos de esperar antes de jugar encendido el aviso del sostener. Eldefecto es 60. To disable the On Hold Prompt, set the interval to 0. + +
+
+
+Play Place in Line - This defines whether the caller will hear their place in line when they enter the queue as well as when they hear the announcemend. Default is N. + +
+
+
+Play Estimated Hold Time - This defines whether the caller will hear the estimated hold time before they are transferred to an agent. Default is N. + +
+
+
+Hold Time Option - This allows you to specify the routing of the call if the estimated hold time is over the amount of seconds specified below. Default is NONE. + +
+
+
+Hold Time Option Seconds - If Hold Time Option is set to anything but NONE, this is the number of seconds of estimated hold time that will trigger the hold time option. Default is 360 seconds. + +
+
+
+Hold Time Option Extension - If Hold Time Option is set to EXTENSION, this is the dialplan extension that the call will be sent to if the estimated hold time exceeds the Hold Time Option Seconds. + +
+
+
+Hold Time Option Casella Vocale - If Hold Time Option is set to VOICEMAIL, this is the voicemail box that the call will be sent to if the estimated hold time exceeds the Hold Time Option Seconds. + +
+
+
+Hold Time Option Transfer In-Group - If Hold Time Option is set to IN_GROUP, this is the inbound group that the call will be sent to if the estimated hold time exceeds the Hold Time Option Seconds. + +
+
+
+Hold Time Option Callback Filename - If Hold Time Option is set to CALLERID_CALLBACK, this is the filename prompt that is played before the call is logged as a new lead to the list ID specified below if the estimated hold time exceeds the Hold Time Option Seconds. + +
+
+
+Hold Time Option Callback ID Lista - If Hold Time Option is set to CALLERID_CALLBACK, this is the ID Lista the call is added to as a new lead if the estimated hold time exceeds the Hold Time Option Seconds. + +
+
+
+Extension alerta del agente - la extension a enviar en la sesio`ndel agente para anunciar que una llamada está viniendo al agente.Esta extension debe tener un aparato de lectura de un archivo audio.No utilizar esta funcio`n fijo` esto a X. Default es X. + +
+
+
+La alarma del agente retrasa - la longitud de la hora en milisegundosde esperar antes de enviar la llamada al agente despue`s de jugarencendido la extension alerta del agente. El defecto es 1000. + +
+
+
+Grupo de la transferencia del defecto - este campo es el En-Grupo deldefecto que será seleccionado automáticamente cuando el agente va almarco de la transferir-conferencia en su interfaz del agente. + +
+
+
+In-Group Recording Override - This field allows for the overriding of the campaign call recording setting. This setting can be overridden by the vicidial_user recording override setting. DISABLED will not override the campaign recording setting. NEVER will disable recording on the client. ONDEMAND is the default and allows the agent to start and stop recording as needed. ALLCALLS will start recording on the client whenever a call is sent to an agent. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. + +
+
+
+In-Group Recording Filename - This field will override the Registrazioni Per Questa Campagna Filenaming Scheme unless it is set to NONE. The allowed variables are CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT. The default is FULLDATE_AGENT and would look like this 20051020-103108_6666. Another example is CAMPAIGN_TINYDATE_CUSTPHONE which would look like this TESTCAMP_51020103108_3125551212. 50 char max. Default is NONE. + +
+
+
+QC Enabled - Setting this field to Y allows for the agent Quality Control features to work. Default is N. + +
+
+
+QC Esiti - This area is where you select which statuses of leads should be gone over by the QC system. Place a check next to the status that you want QC to review. + +
+
+
+QC Shift - This is the shift timeframe used to pull QC records for an inbound_group. The days of the week are ignored for these functions. + +
+
+
+QC Get Record Launch- This allows one of the following actions to be triggered upon a QC agent receiving a new record. + +
+
+
+QC Show Recording - This allows for a recording that may be linked with the QC record to be display in the QC agent screen. + +
+
+
+QC WebForm Address - This is the website address that a QC agent can go to when clicking on the WEBFORM link in the QC screen. + +
+
+
+QC Script - This is the script that can be used by QC agents in the SCRIPT tab in the QC screen. + +
+
+
+Hold Recall Transfer In-Group - If a customer calls back to this in-group more than once and this is not set to NONE, then the call will automatically be sent on to the In-Group selected in this field. Default is NONE. + +
+
+
+No Delay Call Route - Setting this to Y will remove all wait times and audio prompts and attempt to send the call right to an agent. Does not override welcome message or on hold prompt settings. Default is N. + +
+
+
+Stats Percent of Calls Answered Within X seconds - This field allows you to set the number of hold seconds that the realtime stats display will use to calculate the percentage of answered calls that were answered within X number of seconds on hold. + + + + +



+ +VICIDIAL_INBOUND_DIDS TABELLA

+
+
+
+DID Extension - This is the number, extension or DID that will trigger this entry and that you will route within the system using this function. + +
+
+
+DID Description - This is the description of the DID routing entry. + +
+
+
+DID Active - This the field where you set the DID entry to active or not. Default is Y. + +
+
+
+DID Route - This the type of route that you set the DID to use. EXTEN will send calls to the extension entered below, VOICEMAIL will send calls directly to the voicemail box entered below, AGENT will send calls to a VICIDIAL agent if they are logged in, PHONE will send the call to a phones entry selected below, IN_GROUP will send calls directly to the specified inbound group. Default is EXTEN. + +
+
+
+Extension - If EXTEN is selected as the DID Route, then this is the dialplan extension that calls will be sent to. Default is 9998811112, no-service. + +
+
+
+Extension Context - If EXTEN is selected as the DID Route, then this is the dialplan context that calls will be sent to. Default is default. + +
+
+
+Buzon de voz - If VOICEMAIL is selected as the DID Route, then this is the voicemail box that calls will be sent to. Default is empty. + +
+
+
+Phone Extension - If PHONE is selected as the DID Route, then this is the phone extension that calls will be sent to. + +
+
+
+Phone IP Server - If PHONE is selected as the DID Route, then this is the server IP for the phone extension that calls will be sent to. + +
+
+
+User Agent - If AGENT is selected as the DID Route, then this is the VICIDIAL Agent that calls will be sent to. + +
+
+
+User Unavailable Action - If AGENT is selected as the DID Route, and the user is not logged in or available, then this is the route that the calls will take. + +
+
+
+User Route Settings In-Group - If AGENT is selected as the DID Route, then this is the In-Group that will be used for the queue settings as the caller is waiting to be sent to the agent. Default is AGENTDIRECT. + +
+
+
+In-ID Gruppo - If IN_GROUP is selected as the DID Route, then this is the In-Group that calls will be sent to. + +
+
+
+In-Group Call Handle Method - If IN_GROUP is selected as the DID Route, then this is the call handling method used for these calls. CID will add a new lead record with every call using the CallerID as the phone number, CIDLOOKUP will attempt to lookup the phone number by the CallerID in the entire system, CIDLOOKUPRL will attampt to lookup the phone number by the CallerID in only one specified list, CIDLOOKUPRC will attampt to lookup the phone number by the CallerID in all of the lists that belong to the specified campaign, CLOSER is specified for VICIDIAL Closer calls, ANI will add a new lead record with every call using the ANI as the phone number, ANILOOKUP will attempt to lookup the phone number by the ANI in the entire system, ANILOOKUPRL will attampt to lookup the phone number by the ANI in only one specified list, XDIGITID will prompt the caller for an X digit code before the call will be put into the queue. Default is CID. + +
+
+
+In-Group Agent Search Method - If IN_GROUP is selected as the DID Route, then this is the agent search method to be used by the inbound group, LO is Load-Balanced-Overflow and will try to send the call to an agent on the local server before trying to send it to an agent on another server, LB is Load-Balanced and will try to send the call to the next agent no matter what server they are on, SO is Server-Only and will only try to send the calls to agents on the server that the call came in on. Default is LB. + +
+
+
+In-Group ID Lista - If IN_GROUP is selected as the DID Route, then this is the ID Lista that leads may be searched through and that leads will be inserted into if necessary. + +
+
+
+In-ID Gruppo Campagna - If IN_GROUP is selected as the DID Route, then this is the ID Campagna that leads may be searched for in if the call handle method is CIDLOOKUPRC. + +
+
+
+In-Group Phone Code - If IN_GROUP is selected as the DID Route, then this is the Phone Code used if a new lead is created. + + + + +



+ +VICIDIAL_REMOTE_AGENTS TABELLA

+
+
+Comienzo de la identificacio`n del usuario - esta es la identificacio`n del usuario que comienza se utiliza que cuando las entradas alejadas del agente se insertan en el sistema. Si el número de líneas se fija más altamente de 1, este número es incrementado por uno hasta que cada línea tiene una entrada. Se cerciora de usted crear una nueva cuenta del usuario de VICIDIAL con un nivel de usuario de 4 o grande si usted quisiera que pudieran utilizar la página de vdremote.php para el acceso alejado de la tela de esta cuenta. + +
+
+
+Número de líneas - el define cuánto crea el agente alejado las entradas el sistema, y se determina cuántas líneas piensa que puede enviar con seguridad al número debajo. + +
+
+
+IP del servidor - Una entrada alejada del agente es solamente buena para un servidor específico, aquí es donde usted selecciona a que el servidor usted desea. + +
+
+
+Extension externa - este es el número que usted desea las llamadas remitidas a. Cercio`rese de que sea un número dial plan completo y que si usted necesita 9 al principio usted lo pone adentro aquí. Pruebe marcando este número de un telefono en el sistema. + +
+
+
+Estado - aquí es donde usted da vuelta al agente alejado por intervalos. Tan pronto como el agente sea activo el sistema asume que puede enviarle llamadas. Puede tomar hasta 30 segundos una vez que usted cambie el estado a inactivo para parar el recibir de llamadas. + +
+
+
+Campaña - aquí es donde usted selecciona la campaña que estos agentes alejados serán registrados en. Necesidades de entrada de utilizar la campaña MÁS CERCANA y de seleccionar las campañas de entrada debajo de e`sa que usted desea recibir llamadas de. + +
+
+
+Grupos de entrada - aquí es donde usted selecciona a grupos de entrada que usted desea recibir llamadas de si usted ha seleccionado la campaña MÁS CERCANA. + + +



+ +VICIDIAL_CAMPAIGN_LISTE

+
+
+Las listas dentro de esta campaña se enumeran aquí, si son activas son denotadas por la Y o N y usted pueden ir a la pantalla de la lista chascando en la identificacio`n de la lista en la primera columna. + + +



+ +VICIDIAL_CAMPAIGN_STATUSES TABELLA

+
+
+Con el uso de los estados de encargo de la campaña, usted puede tener estados que existan solamente para una campaña específica. El estado debe ser 1-8 caracteres en longitud, la descripcio`n debe ser 2-30 caracteres en longitud y seleccionable define si demuestra para arriba en VICIDIAL como disposicion. Human_answered el campo se utiliza al calcular el porcentaje de lagota, o la tarifa del abandono. El ajuste human_answered a Yutilizará este estado al contar las llamadas humano-contestadas. La opcio`n de la categoría permite que usted agrupe varios estados enun catogy que se pueda utilizar para el análisis estadístico. + + + +



+ +VICIDIAL_CAMPAIGN_HOTKEYS TABELLA

+
+
+Con el uso de los hot keys de encargo de la campaña, los agentes que utilizan el retraso vicidial de la lata del tela-cliente y la disposicion llama apenas presionando una sola llave en su teclado. Hay dos opciones especiales que usted puede utilizar conjuntamente conel número de telefono alterno que marca, ALTPH2 de HotKey - el dialcaliente del telefono alterno y el dial caliente ADDR3-----Address3permiten que un agente utilice un hotkey al retraso su llamada,permanecen en el mismo plomo, y marcan otro número del contacto deese conducen. + + + + + +



+ +VICIDIAL_LEAD_RECYCLE TABELLA

+
+
+Through the use of lead recycling, you can call specific statuses of leads again at a specified interval without resetting the entire list. Lead recycling is campaign-specific and does not have to be a selected dialable status in your campaign. The attempt delay field is the number of seconds until the lead can be placed back in the hopper, this number must be at least 120 seconds. The attempt maximum field is the maximum number of times that a lead of this status can be attempted before the list needs to be reset, this number can be from 1 to 10. You can activate and deactivate a lead recycle entry with the provided links. + + + + + +



+ +ESTADOS AUTO DEL DIAL DE VICIDIAL ALT

+
+
+Si se fija el campo que marca del Alt-Nu`mero auto, despue`s losplomos que son dispositioned bajo estos estados del dial del alt delautomo`vil tendrán su alt_phone y-o los campos address3 marcadosdespue`s de que cualesquiera de estos ninguno-contesten a estados sefijan. + + + + + +



+ +VICIDIAL CODICI PAUSA OPERATORE

+
+
+Si la pausa del agente cifra el campo activo se fija a activo entonceslos agentes podrá seleccionar de estos co`digos de la pausa cuandochascan encendido el boton de PAUSA en sus pantallas. Estos datosentonces se almacenan en el registro vicidial del agente. El co`digode la pausa debe contener solamente letras y números y ser menos de 7caracteres de largo. El nombre del co`digo de la pausa puede estar nomás de largo de 30 caracteres. + + + + + +



+ +VICIDIAL_USER_GROUPS TABELLA

+
+
+Grupo de usuario - este es el nombre corto de un grupo de usuario de Vicidial, intento para no utilizar ningunos espacios o puntuacio`n para los caracteres de este máximo 20 del campo, mínimo de 2 caracteres. + +
+
+
+Nombre de grupo - esta es la descripcio`n del máximo vicidial del grupo de usuario de 40 caracteres. + +
+
+
+Force Timeclock Login - This option allows you to not let an agent log in to the VICIDIAL agent interface if they have not logged into the timeclock. Default is N. There is an option to exempt admin users, levels 8 and 9. + +
+
+
+Group Shifts - This is a selectable list of shifts that can restrict the agents login time on the system. + +
+
+
+Campañas permitidas - esta es una lista seleccionable de lascampañas a las cuales los miembros de este grupo de usuario puedenabrirse una sesio`n. La opcio`n de ALL-CAMPAIGNS permite que losusuarios en este grupo consideren y se abran una sesio`n a cualquiercampaña en el sistema. + +
+
+
+QC Campagne Permesse - This is a selectable list of Campagne which members of this user group will be able to QC. The ALL-CAMPAIGNS option allows the users in this group to QC any campaign on the system. + +
+
+
+QC Grupos De entrada Permitidos - This is a selectable list of Gruppi Inbound which members of this user group will be able to QC. The ALL-GROUPS option allows the users in this user group to QC any inbound group on the system. + + + + + +



+ +VICIDIAL_SCRIPT TABELLA

+
+
+Identificacio`n de la escritura - este es el nombre corto de una escritura de Vicidial. este necesita ser un identificador único. Intente no utilizar ningunos espacios o puntuacio`n para los caracteres de este máximo 10 del campo, mínimo de 2 caracteres. + +
+
+Nombre de la escritura - este es el título de una escritura de Vicidial. este es un resumen corto de los caracteres del máximo 50 de la escritura, mínimo de 2 caracteres. No debe haber espacios o puntuacio`n de la clase en campo de los theis. + +
+
+Comentarios de la escritura - este es tal como donde usted puede poner los comentarios para una escritura de Vicidial - cambiantes para liberar mejora de sept. el 23 -. caracteres del máximo 255, mínimo de 2 caracteres. + +
+
+Testo Script - This is where you place the content of a Vicidial Script. Minimum of 2 characters. You can have customer information be auto-populated in this script using "--A--field--B--" where field is one of the following fieldnames: vendor_lead_code, source_id, list_id, gmt_offset_now, called_since_last_reset, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, lead_id, campaign, phone_login, group, channel_group, SQLdate, epoch, uniqueid, customer_zap_channel, server_ip, SIPexten, session_id. For example, this sentence would print the persons name in it----

Hello, can I speak with --A--first_name--B-- --A--last_name--B-- please? Well hello --A--title--B-- --A--last_name--B-- how are you today?

This would read----

Hello, can I speak with John Doe please? Well hello Mr. Doe how are you today?

You can also use an iframe to load a separate window within the SCRIPT tab, here is an example with prepopulated variables: + +
+<iframe src="http://astguiclient.sf.net/test_VICIDIAL_output.php?lead_id=--A--lead_id--B--&vendor_id=--A--vendor_lead_code--B--&list_id=--A--list_id--B--&gmt_offset_now=--A--gmt_offset_now--B--&phone_code=--A--phone_code--B--&phone_number=--A--phone_number--B--&title=--A--title--B--&first_name=--A--first_name--B--&middle_initial=--A--middle_initial--B--&last_name=--A--last_name--B--&address1=--A--address1--B--&address2=--A--address2--B--&address3=--A--address3--B--&city=--A--city--B--&state=--A--state--B--&province=--A--province--B--&postal_code=--A--postal_code--B--&country_code=--A--country_code--B--&gender=--A--gender--B--&date_of_birth=--A--date_of_birth--B--&alt_phone=--A--alt_phone--B--&email=--A--email--B--&security_phrase=--A--security_phrase--B--&comments=--A--comments--B--&user=--A--user--B--&campaign=--A--campaign--B--&phone_login=--A--phone_login--B--&fronter=--A--fronter--B--&closer=--A--user--B--&group=--A--group--B--&channel_group=--A--group--B--&SQLdate=--A--SQLdate--B--&epoch=--A--epoch--B--&uniqueid=--A--uniqueid--B--&customer_zap_channel=--A--customer_zap_channel--B--&server_ip=--A--server_ip--B--&SIPexten=--A--SIPexten--B--&session_id=--A--session_id--B--&phone=--A--phone--B--" style="width:580;height:290;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="460" height="290" STYLE="z-index:17"> +</iframe> +
+ +
+
+
+Activo - esto se determina si esta escritura se puede seleccionar para ser utilizado por una campaña. + + + + + +



+ +VICIDIAL_LEAD_FILTRI TABELLA

+
+
+Identificacio`n del filtro - este es el nombre corto de un filtro del plomo de Vicidial. este necesita ser un identificador único. No utilice ningunos espacios o puntuacio`n para los caracteres de este máximo 10 del campo, mínimo de 2 caracteres. + +
+
+Nombre del filtro - este es un nombre más descriptivo del filtro. este es un resumen corto de los caracteres del máximo 30 del filtro, mínimo de 2 caracteres. + +
+
+El filtro comenta - aquí es tal como donde usted puede poner los comentarios para un filtro de Vicidial - las llamadas todos los plomos de California -. los caracteres del máximo 255, mínimo de 2 caracteres. + +
+
+Filtro SQL - Aquí es adonde usted pone el fragmento de la pregunta del SQL que usted desea filtrar cerca no comienza o el extremo con Y, eso será agregado por la escritura del cron de la tolva automáticamente. una pregunta del SQL del ejemplo que trabajaría aquí es el called_count 4 y called_count. + + + + + +



+ +VICIDIAL_ORARI CHIAMATA TABELLA

+
+
+Identificacio`n del tiempo de la llamada - este es el nombre corto deuna definicio`n del tiempo de la llamada de Vicidial. este necesitaser un identificador único. No utilice ningunos espacios opuntuacio`n para los caracteres de este máximo 10 del campo, mínimode 2 caracteres. + +
+
+Nombre del tiempo de la llamada - este es un nombre más descriptivode la definicio`n del tiempo de la llamada. este es un resumen cortode los caracteres del máximo 30 de la definicio`n del tiempo de lallamada, mínimo de 2 caracteres. + +
+
+El tiempo de la llamada comenta - aquí es donde usted puede poner loscomentarios para una definicio`n del tiempo de la llamada de Vicidialtal como -10am hasta los 4pm con restricciones adicionales del estadode la llamada -. los caracteres del máximo 255. + +
+
+Tiempos del comienzo y de parada del defecto - este es el tiempo dedefecto paran que el llamar será permitido que sea comenzado o dentrode esta definicio`n del tiempo de la llamada si la hora de salida dela di`a-de-$$$-SEMANA no se define. 0 es medianoche. Evitar el llamarfijo` totalmente este campo a 2400 y fijo` el tiempo de parada deldefecto a 2400. Permitir el llamar 24 horas al día fijo` la hora desalida a 0 y el tiempo de parada a 2400. + +
+
+Tiempos del comienzo y de parada del día laborable - estos son lostiempos de encargo por el día que se puede fijar para la definicio`ndel tiempo de la llamada que las mismas reglas se aplican como con lostiempos del comienzo y de parada del defecto. + +
+
+Definiciones del tiempo de la llamada del estado - esta es la listade las definiciones específicas del tiempo de la llamada del estadoque se siguen en esta definicio`n del tiempo de la llamada. + +
+
+Estado del tiempo de la llamada del estado - este es el co`digo dedos letras para el estado que esta definicio`n del tiempo que llamaestá para. Para que esto sea en efecto la llamada local mida eltiempo que se fija en la campaña debe tener este expediente deltiempo de la llamada del estado en e`l así como todos los plomos quetienen dos co`digos del estado de la letra en ellos. + + + + +



+ +VICIDIAL_SHIFTS TABELLA

+
+
+Shift ID - This is the short name of a Vicidial Shift Definition. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 20 characters, minimum of 2 characters. + +
+
+Shift Name - This is a more descriptive name of the Shift Definition. This is a short summary of the Shift definition. max 50 characters, minimum of 2 characters. + +
+
+Shift Start Time - This is the time that the campaign shift begins. Must only be numbers, 9:30 AM would be 0930 and 5:00 PM would be 1700. + +
+
+Shift Length - This is the time in Hours and Minutes that the campaign shift lasts. 8 hours would be 08:00 and 7 hours and 30 minutes would be 07:30. + +
+
+Shift Weekdays - In this section you should choose the days of the week that this shift is active. + + + + +



+ +FUNCIONALIDAD DEL CARGADOR DE LA LISTA DE VICIDIAL

+
+
+El cargador tela-basado básico del plomo de VICIDIAL se diseñasimplemente para tomar un archivo del plomo - hasta 8MB de tamaño quees la lengüeta o la pipa delimitada y para cargarlo en la tabla delvicidial_list. El cargador del plomo permite el campo que elige y deTXT- el texto claramente, los valores separados coma de CSV- y XLS-sobresalen formatos del archivo. El cargador del plomo no hace lavalidacio`n de datos, sino que permite que usted compruebe para sabersi hay duplicados en sí mismo, dentro de la campaña o dentro delsistema entero. Tambien, cercio`rese de que usted haya creado lalista que estos plomos son estar debajo de modo que usted puedautilizarlos. Aquí está una lista de los campos en su orden apropiadapara los archivos del plomo: +
    +
  1. Co`digo del plomo del vendedor - demuestra para arriba en el campo de la identificacio`n del vendedor del GUI +
  2. Co`digo de fuente - uso interno solamente para los admins y DBAs +
  3. Identificacio`n de la lista - el número de la lista que estos plomos demostrarán para arriba debajo +
  4. Co`digo del telefono - el prefijo para el telefono number(1 para los E.E.U.U., 01144 para Reino Unido, 01161 para AUS, el etc) +
  5. Número de telefono - debe ser por lo menos 8 dígitos de largo +
  6. Título - título del customer(Mr. Ms señ., etc...) +
  7. Nome +
  8. Secondo Nome +
  9. Cognome +
  10. Indirizzo, linea 1 +
  11. Indirizzo, linea 2 +
  12. Indirizzo, linea 3 +
  13. Citta` +
  14. Stato - limitato a 2 caratteri +
  15. Provincia +
  16. CAP +
  17. Stato +
  18. Sesso +
  19. Data di Nascita +
  20. Numero di Telefono Alternativo +
  21. Email +
  22. Frase De Seguridad +
  23. Note +
+ +
NOTAS: La funcionalidad del cargador del plomo del sobresalir espermitida por una serie de escrituras del Perl y necesita tener unarchivo correctamente configurado de /etc/astguiclient.conf en lugaren el web server. Tambien, los mo`dulos de un Perl de los pares sedeben cargar para ella para trabajar Tambien -oLE-Storage_Lite-Storage_Lite y la Hoja de balance-ParseExcel. Ustedpuede comprobar para saber si hay errores runtime en estos mirando suarchivo del error_log de apache. Tambien, para los cheques deduplicacio`n contra gampaign enumera, la lista que tiene nuevos plomosel entrar e`l necesita ser creada en el sistema antes de que ustedcomience a cargar los plomos. + + + + +



+ + + + + + +TABELLA TELEFONI

+
+
+Extension del telefono - este campo es donde usted pone los nombres del telefono que aparecen al marcar con asterisco no incluyendo el protocolo o la barra vertical del principio. Por ejemplo: para el telefono SIP/test101 del SIP la extension del telefono sería test101. Tambien, para los telefonos IAX2 compruebe que usted utiliza el nombre del telefono completo: IAX2/IAXphone1@IAXphone1 sería IAXphone1@IAXphone1. Para zap los telefonos compruebe que usted pone el canal completo: Zap/25-1 sería 25-1. Otra nota, compruebe que usted fija el protocolo abajo correctamente para su tipo de telefono. + +
+
+
+Número del Dial plan - este campo está para el número que usted marca para tener el anillo del telefono. Este número se define en el archivo de extensions.conf de su servidor asterisco + +
+
+
+Caja de Buzon de Voz - este campo es para la caja del Buzon de voz donde van los mensajes para al usuario de este telefono. Utilizamos esto para comprobar los mensajes del Buzon de voz y para que el usuario pueda acceder al Buzon de Voz desde astGUIclient. + +
+
+
+CallerID de salida - este campo es donde usted incorporara el número del callerID que usted quiera que aparezca en las llamadas de salida. Esto no funciona en las líneas RTB(non-PRI) T1/E1. + +
+
+
+Direccion IP del telefono - This field is for the phone's IP address if it is a VOIP phone. This is an optional field + +
+
+
+Direccion IP del ordenador - This field is for the user's computer IP address. This is an optional field + +
+
+
+IP del servidor - Este menú es donde usted selecciona en que servidor está el telefono activo. + +
+
+
+conexion - la conexion usada para el usuario del telefono a laconexion a los usos del cliente. + +
+
+
+Contraseña - la contraseña usada para el usuario del telefono a laconexion a los usos del cliente. + +
+
+
+Estado - el estado del telefono en el sistema, puede ser ACTIVO y ADMIN permiten que los clientes del GUI trabajen. ADMIN permite el acceso a este Web site de administracion. El resto de los estados no permiten el acceso al GUI o al Web de Admin. + +
+
+
+Cuenta activa - si el telefono está activado ponerla en la lista del cliente del GUI. + +
+
+
+Tipo de telefono - solamente para informacion administrativas. + +
+
+
+Nombre completo - usado por el GUIclient en la lista de telefonos activos. + +
+
+
+Compañía - solamente para las notas administrativas. + +
+
+
+Cuadro - todavía no puesto en ejecucio`n. + +
+
+
+Nuevos mensajes - número de los nuevos mensajes del Buzon de Voz para este telefono en el servidor del asterisco. + +
+
+
+Viejos mensajes - número de los viejos mensajes del Buzon de Voz para este telefono en el servidor del asterisco. + +
+
+
+Protocolo del cliente - el protocolo que el telefono utiliza para conectar con el servidor del asterisco: El Sip, IAX2, Zap. Tambien, para los números External remotos o los números SpeedDial que usted desea enumerar como telefonos. + +
+
+
+GMT local - La diferencia a partir del tiempo malo del ZULÚ del time(or de Greenwich) donde se localiza el telefono. NO AJUSTE POR TIEMPO DE LOS AHORROS DE LA LUZ DEL DÍA. Esto es utilizada por la campaña de VICIDIAL para exhibir exactamente el tiempo y el tiempo del cliente. + +
+
+
+conexion del encargado - esta es la conexion que los clientes del GUI para este telefono utilizarán tener acceso a la base de datos donde residen los datos del servidor. + +
+
+
+Secreto del encargado - esta es la contraseña que los clientes del GUI para este telefono utilizarán tener acceso a la base de datos donde residen los datos del servidor. + +
+
+
+Usuario del defecto de VICIDIAL - este debe poner un valor prefijado en el campo del usuario de VICIDIAL siempre que este usuario del telefono abra a cliente app de astVICIDIAL. Deje el espacio en blanco para ningún usuario. + +
+
+
+Paso del defecto de VICIDIAL - este debe poner un valor prefijado en el campo de la contraseña de VICIDIAL siempre que este usuario del telefono abra a cliente app de astVICIDIAL. Deje el espacio en blanco para ningún paso. + +
+
+
+Campaña del defecto de VICIDIAL - este debe poner un valor prefijado en el campo de la campaña de VICIDIAL siempre que este usuario del telefono abra a cliente app de astVICIDIAL. Deje el espacio en blanco para ninguna campaña. + +
+
+
+Parque Exten - esta es la extension del estacionamiento del defecto para los apps del cliente. Verifique que diverso trabaje antes de que usted cambie esto. + +
+
+
+Extension de la conferencia - esta es la extension del parque de la conferencia del defecto para los apps del cliente. Verifique que diverso trabaje antes de que usted cambie esto. + +
+
+
+Parque Exten de VICIDIAL - esta es la extension del estacionamiento del defecto para el cliente app de VICIDIAL. Verifique que diverso trabaje antes de que usted cambie esto. + +
+
+
+Archivo del parque de VICIDIAL - este es el nombre del archivo de la extension del parque del defecto VICIDIAL para los apps del cliente. Verifique que diverso trabaje antes de que usted cambie este limitado a 10 caracteres. + +
+
+
+Prefijo del monitor - este es el prefijo dial plan para supervisar de zap los canales automáticamente dentro del app astGUIclient. Cambie solamente según los expedientes de extensiones de extensions.conf ZapBarge. + +
+
+
+grabacion Exten - esta es la extension dial plan para la extension de la grabacion que se utiliza para caer en conferencias del meetme para registrarlas. Dura generalmente hasta que una hora si no parada verifica con el archivo de extensions.conf antes de cambiar. + +
+
+
+VMAIL Exten principal - esta es la extension dial plan que va a comprobar su voicemail. verifica con el archivo de extensions.conf antes de cambiar. + +
+
+
+VMAIL Dump Exten - This is the dial plan prefix used to send calls directly to a user's voicemail from a live call in the astGUIclient app. verify with extensions.conf file before changing. + +
+
+
+Contexto de Exten - este es el contexto dial plan que este telefono utiliza sobre todo. Se asume que todos los números marcados por los apps del cliente están utilizando este contexto así que es una buena idea cerciorarse de que este es el contexto más amplio posible verifica con el archivo de extensions.conf antes de cambiar. + +
+
+
+DTMF envían el canal - esta es la secuencia del canal usada para enviar sonidos de DTMF en conferencias del meetme de los apps del cliente. Verifique que exten y contexto con el archivo de extensions.conf. + +
+
+
+Grupo de salida de la llamada - este es el grupo de canal que las llamadas de salida de este telefono están puestas de. Hay rutinas de un par en los apps del cliente que utilizan esto. Para zap los canales que usted desea utilizar algo como Zap/g2, porque los troncos IAX2 usted desearía utilizar el prefijo completo de IAX como IAX2/VICItest1:secret@10.10.10.15:4569. Verifique que los troncos con el file(it de extensions.conf sean generalmente lo que usted ha definido como la variable global del TRUNK en la tapa del archivo). + +
+
+
+Localizacio`n del browser - esto es aplicable solamente a los clientes de UNIX/LINUX, el camino absoluto a Mozilla o el browser de Firefox en la máquina verifica esto lanzándolo manualmente. + +
+
+
+Instale el directorio - este es el lugar en donde las escrituras astGUIclient y de astVICIDIAL están situadas en su máquina. Para Win32 debe ser algo como C:\AST_VICI y para UNIX debe ser algo como /usr/local/perl_TK. verifica esto manualmente. + +
+
+
+URL de CallerID - Ústa es la Direccion de la tela de la página usada para hacer operaciones de búsqueda de encargo del callerID que es la Direccion de prueba del defecto: http://astguiclient.sf.net/test_callerid_output.php + +
+
+
+URL del defecto de VICIDIAL - esta es la Direccion de la tela de la página usada para hacer preguntas de encargo de la forma del Web de VICIDIAL que es la Direccion de prueba del defecto: http://astguiclient.sf.net/test_VICIDIAL_output.php + +
+
+
+Call Logging - This is set to true if the call_log.agi file is in place in the extensions.conf file for all outbound and hang up 'h' extensions to log all calls. This should always be 1 because it is manditory for many astGUIclient and VICIDIAL features to work properly. + +
+
+
+Cambio de Usuario - Set to true to allow user to switch to another user account. NOTE: If user switches they can initiate recording on the new user's phone conversation + +
+
+
+Comunicacio`n - fije para verdad para permitir que el usuario comience llamadas de conferencia con hasta que seis líneas externas. + +
+
+
+Retraso del Admin - sistema a verdad para permitir que el usuario pueda al retraso cualquier línea en la voluntad con astGUIclient. Buena idea de permitir solamente esto para los usuarios del Admin. + +
+
+
+Secuestro del Admin - fije para verdad para permitir que el usuario pueda asir y volver a dirigir a su extension cualquier línea en la voluntad con astGUIclient. Buena idea de permitir solamente esto para los usuarios del Admin. Pero es muy útil para los encargados. + +
+
+
+Monitor del Admin - fije para verdad para permitir que el usuario pueda asir y volver a dirigir a su extension cualquier línea en la voluntad con astGUIclient. Buena idea de permitir solamente esto para los usuarios del Admin. Pero es muy útil para los encargados y como herramienta del entrenamiento. + +
+
+
+Parque de llamada - el sistema a verdad para permitir que el usuario pueda parquear invita el asimiento astGUIclient para ser tomado por cualquier otro usuario astGUIclient en el sistema. Las llamadas permanecen en el asimiento para hasta que un retraso de la media-hora entonces. Permitido generalmente para todos. + +
+
+
+Cheque de Updater - fije para verdad para exhibir una advertencia del popup que el tiempo del updater no ha cambiado en 20 segundos. Útil para los usuarios del Admin. + +
+
+
+AF Logging - Set to true to log many actions of astGUIclient usage to a text file on the user's computer. + +
+
+
+La coleta permitio` - al sistema verdad para hacer que los apps del cliente utilicen el sistema central de la coleta del asterisco. Requerido para VICIDIAL y recomendado para todos los usuarios. + +
+
+
+Ventana emergente del CallerID - sistema a verdad para tener en cuenta los números definidos en el archivo de extensions.conf para enviar las pantallas del popup de CallerID a los usuarios astGUIclient. + +
+
+
+Boto`n de VMail - fije para verdad para exhibir el boton de VOICEMAIL y los mensajes cuentan la exhibicio`n en astGUIclient. + +
+
+
+Rápido restaure - fije para verdad para permitir un nuevo índice de restauran de la informacion de la llamada para el astGUIclient. La tarifa inhabilitada defecto es el ms 1000 (1 segundo). Puede aumentar la carga de sistema si usted baja este número. + +
+
+
+Rápido restaure la tarifa - en milisegundos. Utilizado solamente si es rápido restaure se permite. La tarifa inhabilitada defecto es el ms 1000 (1 segundo). Puede aumentar la carga de sistema si usted baja este número. + +
+
+
+Persistant MySQL - si está permitida la conexion astGUIclient seguirá conectada en vez de conectar cada segundo. Útil si usted hace que un rápido restaure la tarifa fijada. Aumentará el número de conexiones en su máquina de MySQL. + +
+
+
+Número siguiente del dial auto - si está permitido el cliente de VICIDIAL marcará el número siguiente en la lista automáticamente sobre la disposicion de una llamada a menos que seleccionaran "para parar el marcar" en la pantalla de la disposicion. + +
+
+
+Pare Rec despue`s de cada llamada - si está permitido el cliente de VICIDIAL parará se está encendiendo cualquier grabacion despue`s de que haya sido cada llamada dispositioned. Útil si usted está haciendo muchos de la grabacion o usted están utilizando una forma de la tela para accionar la grabacion. + +
+
+
+Permita los mensajes de SIPSAK - si está permitido el servidorenviará mensajes al telefono del SIP a la exhibicio`n en laexhibicio`n del LCD del telefono cuando está registrado en VICIDIAL.La característica trabaja solamente con los telefonos del SIP yrequiere el uso del sipsak ser instalada en el web server. El defectoes 0. + +
+
+
+Servidor de DBX - el servidor de la base de datos de MySQL con el cual este usuario debe conectar. + +
+
+
+Base de datos de DBX - la base de datos de MySQL con la cual este usuario debe conectar. El defecto es asterisco. + +
+
+
+Usuario de DBX - la conexion del usuario de MySQL que este usuario debe utilizar al conectar. El defecto es cron. + +
+
+
+Paso de DBX - la contraseña del usuario de MySQL que este usuario debe utilizar al conectar. El defecto es 1234. + +
+
+
+DBX viran - el puerto de MySQL hacia el lado de babor TCP que este usuario debe utilizar al conectar. El defecto es 3306. + +
+
+
+Servidor de DBY - el servidor de la base de datos de MySQL con el cual este usuario debe conectar. Secondario server, non utilizzato attualmente. + +
+
+
+Base de datos de DBY - la base de datos de MySQL con la cual este usuario debe conectar. El defecto es asterisco. Secondario server, non utilizzato attualmente. + +
+
+
+Usuario de DBY - la conexion del usuario de MySQL que este usuario debe utilizar al conectar. El defecto es cron. Secondario server, non utilizzato attualmente. + +
+
+
+Paso de DBY - la contraseña del usuario de MySQL que este usuario debe utilizar al conectar. El defecto es 1234. Secondario server, non utilizzato attualmente. + +
+
+
+DBY viran - el puerto de MySQL hacia el lado de babor TCP que este usuario debe utilizar al conectar. El defecto es 3306. Secondario server, non utilizzato attualmente. + +
+
+
+Alias ID - The ID of the alias used to allow for phone load balanced logins. senza spazi or other special characters allowed. Must be between 2 and 20 characters in length. + +
+
+
+Alias Name - The name used to describe a phones alias, Must be between 2 and 50 characters in length. + +
+
+
+Phones Logins List - The comma separated list of phone logins used when an agent logs in using phone load balanced logins. The Agent application will find the active server with the fewest agents logged into it and place a call from that server to the agent upon login. + +
+
+
+Phones Email - The email address associated with this phone entry. This is used for voicemail settings. + + + +



+ +TABELLA SERVER

+
+
+ID Del Servidor - Este campo es donde usted pone el nombre del servidor del asterisco, no tiene que ser un submarino oficial del dominio, apenas un apodo para identificar el servidor a los usuarios del Admin. + +
+
+
+Descripcio`n del servidor - el campo donde usted utiliza una frase pequeña para describir el servidor del asterisco. + +
+
+
+IP address del servidor - el campo donde usted puso el IP address de la red del servidor del asterisco. + +
+
+
+Activo - fije si el servidor del asterisco es activo o inactivo. + +
+
+
+Versione Di Asterisk - Set the version of Asterisk that you have installed on this server. Examples: '1.2', '1.0.8', '1.0.7', 'CVS_HEAD', 'REALLY OLD', etc... This is used because versions 1.0.8 and 1.0.9 have a different method of dealing with Local/ channels, a bug that has been fixed in CVS v1.0, and need to be treated differently when handling their Local/ channels. Also, current CVS_HEAD and the 1.2 release tree uses different manager and command output so it must be treated differently as well. + +
+
+
+Troncos máximos de VICIDIAL - este campo determinará el número de las líneas máximo que el auto-dialer de VICIDIAL procurará invitar este servidor. Si usted desea dedicar dos PRI llenos T1 a VICIDIALing en un servidor entonces usted fijaría esto a 46. E1 defecto es 96. + +
+
+
+Host Telnet - This is the address or name of the Asterisk server and is how the manager applications connect to it from where they are running. If they are running on the Asterisk server, then the default of 'localhost' is fine. + +
+
+
+Porta Telnet - This is the port of the Asterisk server Manager connection and is how the manager applications connect to it from where they are running. The default of '5038' is fine for a standard install. + +
+
+
+Usuario Del Manager - The username or login used to connect genericly to the Asterisk server manager. Default is 'cron' + +
+
+
+Contraseña del Manager - The secret or password used to connect genericly to the Asterisk server manager. Default is '1234' + +
+
+
+Usuario del Updater del Manager - The username or login used to connect to the Asterisk server manager optimized for the Update scripts. Default is 'updatecron' and assumes the same secret as the generic user. + +
+
+
+Usuario Listen del Manager - The username or login used to connect to the Asterisk server manager optimized for scripts that only listen for output. Default is 'listencron' and assumes the same secret as the generic user. + +
+
+
+Usuario Send del Manager - The username or login used to connect to the Asterisk server manager optimized for scripts that only send Actions to the manager. Default is 'sendcron' and assumes the same secret as the generic user. + +
+
+
+Server GMT offset - The difference in hours from GMT time not adjusted for Daylight-Savings-Time of the server. Default is '-5' + +
+
+
+Extension de Vmail Dump - The extension prefix used on this server to send calls directly through agc to a specific voicemail box. Default is '85026666666666' + +
+
+
+Extension del AD de VICIDIAL - The default extension if none is present in the campaign to send calls to for VICIDIAL auto dialing. Default is '8365' + +
+
+
+Contexto por Defecto - The default dial plan context used for scripts that operate for this server. Default is 'default' + +
+
+
+Funcionamiento del sistema - fijar esta opcio`n a Y permitirá laregistracion del stats del funcionamiento del sistema para lamáquina del servidor incluyendo carga de sistema, procesos delsistema y canales del asterisco en uso. El defecto es N. + +
+
+
+Registros del servidor - fijar esta opcio`n a Y permitirá laregistracion de todas las escrituras relacionadas VICIDIAL a susficheros de diario del texto. Fijar esto a N parará registros de laescritura a los archivos para estos procesos, Tambien laregistracion de la pantalla del asterisco será lisiado si esto sefija a N cuando se comienza el asterisco. El defecto es Y. + +
+
+
+AGI hecho salir - fijar esta opcio`n a NINGUNOS inhabilitará salidade todas las escrituras relacionadas VICIDIAL de AGI. Fijar esto aSTDERR enviará el AGI hecho salir al asterisco CLI. Fijar esto alARCHIVO enviará la salida a un archivo en el directorio de losregistros. Fijar esto a AMBOS enviará salida al asterisco CLI y a unfichero de diario. El defecto es ARCHIVO. + +
+
+
+El marcar del balance de VICIDIAL - fijar este campo a Y permitiráque el servidor ponga las llamadas del balance para las campañas enVICIDIAL para poder resolver el nivel definido del dial incluso si nohay agentes registrados en esa campaña en este servidor. El defectoes N. + +
+
+
+Balance Offlimits de VICIDIAL - este ajuste define el número detroncos para no permitir el balance de VICIDIAL que marca parautilizar. Por ejemplo si usted tiene 40 troncos y offlimits vicidialmáximos del balance se fijan a 10 que usted podrá solamenteutilizar 30 líneas interurbanas para marcar del balance de VICIDIAL.El defecto es 0. + + +



+ +TABLA DE CONFERENCIAS

+
+
+Número de la conferencia - este campo es donde usted pone el número del dialpna de la conferencia del meetme. Tambien se recomienda que el número del meetme en meetme.conf empareja este número para cada entrada. Esto está para las conferencias en astGUIclient y se utiliza para la funcionalidad de leave-3way-call en VICIDIAL. + +
+
+
+IP del servidor - El menú donde usted selecciona el servidor del asterisco que esta conferencia estará encendido. + + + + +



+ +VICIDIAL_SERVER_TRUNKS TABELLA

+
+
+Los troncos del servidor de VICIDIAL permiten que usted restrinja laslíneas salientes que se utilizan en este servidor para la campañaque marca sobre una base de la por-campaña. Usted tiene la opcio`npara reservar un número de las líneas específico que se utilizaránpor solamente una campaña así como permitir que esa campañafuncione sobre sus líneas reservadas en cualesquiera líneas siguensiendo abiertas, según lo en las líneas totales usadas por vicidialen este servidor es de largo menos que fijar de los troncos delmáximo VICIDIAL. No tener cualesquiera de estos expedientespermitirá la campaña que marca la línea primero para tener tantaslíneas mientras que puede conseguir bajo fijar de los troncos delmáximo VICIDIAL. + + + + + +



+ +SYSTEM_SETTINGS TABELLA

+
+
+Uso No-Latino - esta opcio`n permite que usted omita la escritura dela exhibicio`n de la tela los caracteres del uso UTF8 y que no haganinguna expresio`n regular de la latino-cara`cter-familia que sefiltra ni que no exhiba el formato. El defecto es 0. + +
+
+
+Webroot escribible - este ajuste permite que usted defina si losarchivos de la temperatura y los archivos de la autentificacio`n seancolocados en el webroot en su web server. El defecto es 1. + +
+
+
+Permita la registracion de QueueMetrics - este ajuste permite queusted defina si VICIDIAL inserte entradas del registro en la tabla dela base de datos del queue_log como lo hace la actividad de lascoletas del asterisco. QueueMetrics es un independiente, programa delanálisis estadístico de la cerrado-fuente. Usted debe tenerQueueMetrics instalado y configurado ya antes de permitir estacaracterística. El defecto es 0. + +
+
+
+IP del servidor de QueueMetrics - este es el IP address de la base dedatos para su instalacio`n de QueueMetrics. + +
+
+
+Nombre de la base de datos de QueueMetrics - este es el nombre de labase de datos para su base de datos de QueueMetrics. + +
+
+
+conexion de la base de datos de QueueMetrics - este es el nombre delusuario usado para abrirse una sesio`n a su base de datos deQueueMetrics. + +
+
+
+Contraseña de la base de datos de QueueMetrics - esta es lacontraseña usada para abrirse una sesio`n a su base de datos deQueueMetrics. + +
+
+
+URL de QueueMetrics - esta es la Direccion del URL o del Web siteusada para conseguir a su instalacio`n de QueueMetrics. + +
+
+
+Identificacio`n del registro de QueueMetrics - esta es laidentificacio`n del servidor que todos los registros de VICIDIAL queentran la base de datos de QueueMetrics utilizarán como identificadorpara cada expediente. + +
+
+
+QueueMetrics EnterQueue prepend - este campo se utiliza para permitirprepending de una de las zonas de informaciones del vicidial_listdelante del número de telefono del cliente para los informesmodificados para requisitos particulares de QueueMetrics. El defectono es NINGUNO no poblar cualquier cosa. + +
+
+
+El agente de VICIDIAL inhabilita la exhibicio`n - este campo seutiliza para seleccionar cuando demostrar a un agente cuando susesio`n ha sido inhabilitada por el sistema, una accio`n del encargadoo por una medida externa. El ajuste de NOT_ACTIVE inhabilitará elmensaje en la pantalla de los agentes. El ajuste de LIVE_AGENTexhibirá solamente el mensaje lisiado cuando se ha quitado elexpediente de los vicidial_auto_calls de los agentes, por ejemplodurante un registro de estado de la máquina de la fuerza o registrode estado de la máquina de la emergencia. + +
+
+
+Permita los mensajes de SIPSAK - si el sistema a 1, este permite queel ajuste de la tabla de los telefonos trabaje correctamente, elservidor enviará mensajes al telefono del SIP a la exhibicio`n en laexhibicio`n del LCD del telefono cuando está registrado en VICIDIAL.Esta característica trabaja solamente con los telefonos del SIP yrequiere el uso del sipsak ser instalada en el web server. El defectoes 0. + +
+
+
+Agent API Active - If set to 1, this will allow the Agent API interface to function. Default is 0. + +
+
+
+URL casero del Admin - esta es la Direccion del URL o del Web siteque usted irá si usted chasca encendido el acoplamiento CASERO en latapa de la página de admin.php. + +
+
+
+Permita el logfile de la transferencia del agente - esta opcio`nregistrará a un logfile del texto en el webserver cada vez que unallamada se transfiere a un agente. El defecto es 0, inhabilitado. + +
+
+
+Timeclock End Of Day - This setting defines when all users are to be auto logged out of the timeclock system. Only runs once a day. must be only 4 digits 2 digit hour and 2 digit minutes in 24 hour time. Default is 0000. + +
+
+
+Timeclock Last Auto Logout - This field displays the date of the last auto-logout. + +
+
+
+Agent Screen Header Date Format - This menu allows you to choose the format of the date that shows up at the top of the VICIDIAL agent screen. The options for this setting are: default is MS_DASH_24HR
+MS_DASH_24HR 2008-06-24 23:59:59 - Default date format with year month day followed by 24 hour time
+US_SLASH_24HR 06/24/2008 23:59:59 - USA date format with month day year followed by 24 hour time
+EU_SLASH_24HR 24/06/2008 23:59:59 - European date format with day month year followed by 24 hour time
+AL_TEXT_24HR JUN 24 23:59:59 - Text date format with abbreviated month day followed by 24 hour time
+MS_DASH_AMPM 2008-06-24 11:59:59 PM - Default date format with year month day followed by 12 hour time
+US_SLASH_AMPM 06/24/2008 11:59:59 PM - USA date format with month day year followed by 12 hour time
+EU_SLASH_AMPM 24/06/2008 11:59:59 PM - European date format with day month year followed by 12 hour time
+AL_TEXT_AMPM JUN 24 11:59:59 PM - Text date format with abbreviated month day followed by 12 hour time
+ +
+
+
+Agent Screen Customer Date Format - This menu allows you to choose the format of the customer time zone date that shows up at the top of the Customer Information section of the VICIDIAL agent screen. The options for this setting are: default is AL_TEXT_AMPM
+MS_DASH_24HR 2008-06-24 23:59:59 - Default date format with year month day followed by 24 hour time
+US_SLASH_24HR 06/24/2008 23:59:59 - USA date format with month day year followed by 24 hour time
+EU_SLASH_24HR 24/06/2008 23:59:59 - European date format with day month year followed by 24 hour time
+AL_TEXT_24HR JUN 24 23:59:59 - Text date format with abbreviated month day followed by 24 hour time
+MS_DASH_AMPM 2008-06-24 11:59:59 PM - Default date format with year month day followed by 12 hour time
+US_SLASH_AMPM 06/24/2008 11:59:59 PM - USA date format with month day year followed by 12 hour time
+EU_SLASH_AMPM 24/06/2008 11:59:59 PM - European date format with day month year followed by 12 hour time
+AL_TEXT_AMPM JUN 24 11:59:59 PM - Text date format with abbreviated month day followed by 12 hour time
+ +
+
+
+Agent Screen Customer Phone Format - This menu allows you to choose the format of the customer phone number that shows up in the status section of the VICIDIAL agent screen. The options for this setting are: default is US_PARN
+US_DASH 000-000-0000 - USA dash separated phone number
+US_PARN (000)000-0000 - USA dash separated number with area code in parenthesis
+MS_NODS 0000000000 - No formatting
+UK_DASH 00 0000-0000 - UK dash separated phone number with space after city code
+AU_SPAC 000 000 000 - Australia space separated phone number
+IT_DASH 0000-000-000 - Italy dash separated phone number
+FR_SPAC 00 00 00 00 00 - France space separated phone number
+ +
+
+Agent interface API Access Active - This option allows you to enable or disable the agent interface API. Default is 0. + +



+ +VICIDIAL_STATUSES TABELLA

+
+
+Con el uso de los estados de sistema, usted puede tener estados queexistan para la campaña y el en-grupo. El estado debe ser 1-6caracteres en longitud, la descripcio`n debe ser 2-30 caracteres enlongitud y seleccionable define si demuestra para arriba en VICIDIALcomo disposicion del agente. Human_answered el campo se utiliza alcalcular el porcentaje de la gota, o la tarifa del abandono. El ajustehuman_answered a Y utilizará este estado al contar las llamadashumano-contestadas. La opcio`n de la categoría permite que ustedagrupe varios estados en un catogy que se pueda utilizar para elanálisis estadístico. + + +



+ +VICIDIAL_STATUS_CATEGORIES TABELLA

+
+
+Con el uso de las categorías del estado de sistema, usted puedeagrupar juntos estados para tener en cuenta análisis estadístico enun grupo de estados. La identificacio`n de la categoría debe ser 2-20caracteres en longitud sin espacios, el nombre debe ser 2-50caracteres en longitud, la descripcio`n es opcional y la exhibicio`nde TimeonVDAD define si ese estado será uno de hasta que 4 estadosque se puedan calcular y exhibir en el tiempo en informe del tiemporeal de VDAD. The Sale Category and Dead Lead Category are both used by the List Suggestion system when analyzing list statistics. + + +



+ +VICIDIAL QC STATUS CODES

+
+
+The Quality Control-QC system within VICIDIAL has its own set of status codes separate from those within the call handling functions of VICIDIAL. QC statuse codes must be between 2 and 8 characters in length and contain no special characters like a space or colon. The QC status code description must be between 2 and 30 characters in length. + + + + +







+







+FINE +
+\n"; + echo "\n"; + echo "\n"; + echo ""; + + $stmt="SELECT dial_statuses,local_call_time,lead_filter_id from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $dial_statuses = $row[0]; + $local_call_time = $row[1]; + if ($lead_filter_id=='') + { + $lead_filter_id = $row[2]; + if ($lead_filter_id=='') + { + $lead_filter_id='NONE'; + } + } + + $stmt="SELECT list_id,active,list_name from vicidial_lists where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + if (ereg("Y", $rowx[1])) {$camp_lists .= "'$rowx[0]',";} + } + $camp_lists = eregi_replace(".$","",$camp_lists); + + $filterSQL = $filtersql_list[$lead_filter_id]; + $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); + if (strlen($filterSQL)>4) + {$fSQL = "and $filterSQL";} + else + {$fSQL = '';} + + + echo "

\n"; + echo "Demuestre La Cuenta De los Plomos De Dialable -

\n"; + echo "CAMPAIGN: $campaign_id
\n"; + echo "LISTE: $camp_lists
\n"; + echo "ESITI: $dial_statuses
\n"; + echo "FILTRO: $lead_filter_id
\n"; + echo "CALL TIME: $local_call_time

\n"; + + ### call function to calculate and print dialable leads + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$fSQL); + + echo "

\n"; + echo "\n"; + + exit; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=7111111 view sample script with test variables +###################### + +if ($ADD==7111111) +{ + ##### TEST VARIABLES ##### + $vendor_lead_code = 'VENDOR:LEAD;CODE'; + $list_id = 'LISTID'; + $gmt_offset_now = 'GMTOFFSET'; + $phone_code = '1'; + $phone_number = '7275551212'; + $title = 'Mr.'; + $first_name = 'JOHN'; + $middle_initial = 'Q'; + $last_name = 'PUBLIC'; + $address1 = '1234 Main St.'; + $address2 = 'Apt. 3'; + $address3 = 'ADDRESS3'; + $city = 'CHICAGO'; + $state = 'IL'; + $province = 'PROVINCE'; + $postal_code = '33760'; + $country_code = 'USA'; + $gender = 'M'; + $date_of_birth = '1970-01-01'; + $alt_phone = '3125551212'; + $email = 'test@test.com'; + $security_phrase = 'SECUTIRY'; + $comments = 'COMMENTS FIELD'; + $RGfullname = 'JOE AGENT'; + $RGuser = '6666'; + $RGlead_id = '1234'; + $RGcampaign = 'TESTCAMP'; + $RGphone_login = 'gs102'; + $RGgroup = 'TESTCAMP'; + $RGchannel_group = 'TESTCAMP'; + $RGSQLdate = date("Y-m-d H:i:s"); + $RGepoch = date("U"); + $RGuniqueid = '1163095830.4136'; + $RGcustomer_zap_channel = 'Zap/1-1'; + $RGserver_ip = '10.10.10.15'; + $RGSIPexten = 'SIP/gs102'; + $RGsession_id = '8600051'; + +echo "\n"; +echo "\n"; +echo "\n"; +echo ""; + +$stmt="SELECT * from vicidial_scripts where script_id='$script_id';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$script_name = $row[1]; +$script_text = $row[3]; + +if (eregi("iframe src",$script_text)) + { + $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); + $list_id = eregi_replace(' ','+',$list_id); + $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); + $phone_code = eregi_replace(' ','+',$phone_code); + $phone_number = eregi_replace(' ','+',$phone_number); + $title = eregi_replace(' ','+',$title); + $first_name = eregi_replace(' ','+',$first_name); + $middle_initial = eregi_replace(' ','+',$middle_initial); + $last_name = eregi_replace(' ','+',$last_name); + $address1 = eregi_replace(' ','+',$address1); + $address2 = eregi_replace(' ','+',$address2); + $address3 = eregi_replace(' ','+',$address2); + $city = eregi_replace(' ','+',$city); + $state = eregi_replace(' ','+',$state); + $province = eregi_replace(' ','+',$province); + $postal_code = eregi_replace(' ','+',$postal_code); + $country_code = eregi_replace(' ','+',$country_code); + $gender = eregi_replace(' ','+',$gender); + $date_of_birth = eregi_replace(' ','+',$date_of_birth); + $alt_phone = eregi_replace(' ','+',$alt_phone); + $email = eregi_replace(' ','+',$email); + $security_phrase = eregi_replace(' ','+',$security_phrase); + $comments = eregi_replace(' ','+',$comments); + $RGfullname = eregi_replace(' ','+',$RGfullname); + $RGuser = eregi_replace(' ','+',$RGuser); + $RGlead_id = eregi_replace(' ','+',$RGlead_id); + $RGcampaign = eregi_replace(' ','+',$RGcampaign); + $RGphone_login = eregi_replace(' ','+',$RGphone_login); + $RGgroup = eregi_replace(' ','+',$RGgroup); + $RGchannel_group = eregi_replace(' ','+',$RGchannel_group); + $RGSQLdate = eregi_replace(' ','+',$RGSQLdate); + $RGepoch = eregi_replace(' ','+',$RGepoch); + $RGuniqueid = eregi_replace(' ','+',$RGuniqueid); + $RGcustomer_zap_channel = eregi_replace(' ','+',$RGcustomer_zap_channel); + $RGserver_ip = eregi_replace(' ','+',$RGserver_ip); + $RGSIPexten = eregi_replace(' ','+',$RGSIPexten); + $RGsession_id = eregi_replace(' ','+',$RGsession_id); + } + +$script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); +$script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); +$script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); +$script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); +$script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); +$script_text = eregi_replace('--A--title--B--',"$title",$script_text); +$script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); +$script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); +$script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); +$script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); +$script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); +$script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); +$script_text = eregi_replace('--A--city--B--',"$city",$script_text); +$script_text = eregi_replace('--A--state--B--',"$state",$script_text); +$script_text = eregi_replace('--A--province--B--',"$province",$script_text); +$script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); +$script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); +$script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); +$script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); +$script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); +$script_text = eregi_replace('--A--email--B--',"$email",$script_text); +$script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); +$script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); +$script_text = eregi_replace('--A--fullname--B--',"$RGfullname",$script_text); +$script_text = eregi_replace('--A--fronter--B--',"$RGuser",$script_text); +$script_text = eregi_replace('--A--user--B--',"$RGuser",$script_text); +$script_text = eregi_replace('--A--lead_id--B--',"$RGlead_id",$script_text); +$script_text = eregi_replace('--A--campaign--B--',"$RGcampaign",$script_text); +$script_text = eregi_replace('--A--phone_login--B--',"$RGphone_login",$script_text); +$script_text = eregi_replace('--A--group--B--',"$RGgroup",$script_text); +$script_text = eregi_replace('--A--channel_group--B--',"$RGchannel_group",$script_text); +$script_text = eregi_replace('--A--SQLdate--B--',"$RGSQLdate",$script_text); +$script_text = eregi_replace('--A--epoch--B--',"$RGepoch",$script_text); +$script_text = eregi_replace('--A--uniqueid--B--',"$RGuniqueid",$script_text); +$script_text = eregi_replace('--A--customer_zap_channel--B--',"$RGcustomer_zap_channel",$script_text); +$script_text = eregi_replace('--A--server_ip--B--',"$RGserver_ip",$script_text); +$script_text = eregi_replace('--A--SIPexten--B--',"$RGSIPexten",$script_text); +$script_text = eregi_replace('--A--session_id--B--',"$RGsession_id",$script_text); +$script_text = eregi_replace("\n","
",$script_text); + + +echo ""; + +echo "Anteprima Script: $script_id
\n"; +echo "
\n"; +echo "
$script_name
\n"; +echo "$script_text\n"; +echo "
\n"; + +echo "\n"; + +exit; +} + + + + +######################### HTML HEADER BEGIN ####################################### +if ($hh=='users') + {$users_hh="bgcolor =\"$users_color\""; $users_fc="$users_font"; $users_bold="$header_selected_bold";} + else {$users_hh=''; $users_fc='WHITE'; $users_bold="$header_nonselected_bold";} +if ($hh=='campaigns') + {$campaigns_hh="bgcolor=\"$campaigns_color\""; $campaigns_fc="$campaigns_font"; $campaigns_bold="$header_selected_bold";} + else {$campaigns_hh=''; $campaigns_fc='WHITE'; $campaigns_bold="$header_nonselected_bold";} +if ($hh=='lists') + {$lists_hh="bgcolor=\"$lists_color\""; $lists_fc="$lists_font"; $lists_bold="$header_selected_bold";} + else {$lists_hh=''; $lists_fc='WHITE'; $lists_bold="$header_nonselected_bold";} +if ($hh=='ingroups') + {$ingroups_hh="bgcolor=\"$ingroups_color\""; $ingroups_fc="$ingroups_font"; $ingroups_bold="$header_selected_bold";} + else {$ingroups_hh=''; $ingroups_fc='WHITE'; $ingroups_bold="$header_nonselected_bold";} +if ($hh=='remoteagent') + {$remoteagent_hh="bgcolor=\"$remoteagent_color\""; $remoteagent_fc="$remoteagent_font"; $remoteagent_bold="$header_selected_bold";} + else {$remoteagent_hh=''; $remoteagent_fc='WHITE'; $remoteagent_bold="$header_nonselected_bold";} +if ($hh=='usergroups') + {$usergroups_hh="bgcolor=\"$usergroups_color\""; $usergroups_fc="$usergroups_font"; $usergroups_bold="$header_selected_bold";} + else {$usergroups_hh=''; $usergroups_fc='WHITE'; $usergroups_bold="$header_nonselected_bold";} +if ($hh=='scripts') + {$scripts_hh="bgcolor=\"$scripts_color\""; $scripts_fc="$scripts_font"; $scripts_bold="$header_selected_bold";} + else {$scripts_hh=''; $scripts_fc='WHITE'; $scripts_bold="$header_nonselected_bold";} +if ($hh=='filters') + {$filters_hh="bgcolor=\"$filters_color\""; $filters_fc="$filters_font"; $filters_bold="$header_selected_bold";} + else {$filters_hh=''; $filters_fc='WHITE'; $filters_bold="$header_nonselected_bold";} +if ($hh=='admin') + {$admin_hh="bgcolor=\"$admin_color\""; $admin_fc="$admin_font"; $admin_bold="$header_selected_bold";} + else {$admin_hh=''; $admin_fc='WHITE'; $admin_bold="$header_nonselected_bold";} +if ($hh=='reports') + {$reports_hh="bgcolor=\"$reports_color\""; $reports_fc="$reports_font"; $reports_bold="$header_selected_bold";} + else {$reports_hh=''; $reports_fc='WHITE'; $reports_bold="$header_nonselected_bold";} + +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
English Italiano
BGCOLOR=#D9E6FE cellpadding=2 cellspacing=0> + + + + + + + + + + + + + + + 1) { + ?> +> + 1) + { + +# if ($sh=='basic') {$basic_sh="bgcolor=\"$subcamp_color\""; $basic_fc="$subcamp_font";} +# else {$basic_sh=''; $basic_fc='BLACK';} +# if ($sh=='detail') {$detail_sh="bgcolor=\"$subcamp_color\""; $detail_fc="$subcamp_font";} +# else {$detail_sh=''; $detail_fc='BLACK';} +# if ($sh=='dialstat') {$dialstat_sh="bgcolor=\"$subcamp_color\""; $dialstat_fc="$subcamp_font";} +# else {$dialstat_sh=''; $dialstat_fc='BLACK';} + + if ($sh=='basic') {$sh='list';} + if ($sh=='detail') {$sh='list';} + if ($sh=='dialstat') {$sh='list';} + + if ($sh=='list') {$list_sh="bgcolor=\"$subcamp_color\""; $list_fc="$subcamp_font";} + else {$list_sh=''; $list_fc='BLACK';} + if ($sh=='status') {$status_sh="bgcolor=\"$subcamp_color\""; $status_fc="$subcamp_font";} + else {$status_sh=''; $status_fc='BLACK';} + if ($sh=='hotkey') {$hotkey_sh="bgcolor=\"$subcamp_color\""; $hotkey_fc="$subcamp_font";} + else {$hotkey_sh=''; $hotkey_fc='BLACK';} + if ($sh=='recycle') {$recycle_sh="bgcolor=\"$subcamp_color\""; $recycle_fc="$subcamp_font";} + else {$recycle_sh=''; $recycle_fc='BLACK';} + if ($sh=='autoalt') {$autoalt_sh="bgcolor=\"$subcamp_color\""; $autoalt_fc="$subcamp_font";} + else {$autoalt_sh=''; $autoalt_fc='BLACK';} + if ($sh=='pause') {$pause_sh="bgcolor=\"$subcamp_color\""; $pause_fc="$subcamp_font";} + else {$pause_sh=''; $pause_fc='BLACK';} + if ($sh=='listmix') {$listmix_sh="bgcolor=\"$subcamp_color\""; $listmix_fc="$subcamp_font";} + else {$listmix_sh=''; $listmix_fc='BLACK';} + + ?> +> + + + + + + + + + 1) { + ?> + > + 1) { + ?> +> + 1) { + ?> +> + 1) { + ?> +> + 1) { + ?> +> + 1) { + ?> +> + 1) { + ?> +> + 1) { + if ($sh=='times') {$times_sh="bgcolor=\"$times_color\""; $times_fc="$times_font";} # hard teal + else {$times_sh=''; $times_fc='BLACK';} + if ($sh=='phones') {$phones_sh="bgcolor=\"$server_color\""; $phones_fc="$phones_font";} # pink + else {$phones_sh=''; $phones_fc='BLACK';} + if ($sh=='server') {$server_sh="bgcolor=\"$server_color\""; $server_fc="$server_font";} # pink + else {$server_sh=''; $server_fc='BLACK';} + if ($sh=='conference') {$conference_sh="bgcolor=\"$server_color\""; $conference_fc="$server_font";} # pink + else {$conference_sh=''; $conference_fc='BLACK';} + if ($sh=='settings') {$settings_sh="bgcolor=\"$settings_color\""; $settings_fc="$settings_font";} # pink + else {$settings_sh=''; $settings_fc='BLACK';} + if ($sh=='status') {$status_sh="bgcolor=\"$status_color\""; $status_fc="$status_font";} # pink + else {$status_sh=''; $status_fc='BLACK';} + + ?> +> + + + + + + + + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + \n"; + echo "Le no autorizan a visio`n esta página. Vaya por favor detrás.\n"; + } + +} +if (strlen($reports_hh) > 1) { + ?> +> + + + + +
  VICIDIAL ADMIN - HOME | Timeclock | Logout  
> SIZE=> Utenti > SIZE=> Campagne > SIZE=> Liste > SIZE=> Script > SIZE=> Filtri > SIZE=> Gruppi Inbound > SIZE=> Gruppi Utenti > SIZE=> Operatori Remoti > SIZE=> Admin > SIZE=> Report
>   > Visualizza Utenti   |   > Aggiungi Nuovo Utente   |   > Copia Utente   |   > Ricerca Utenti   |   > User Stats   |   > User Status   |   > Time Sheet
COLSPAN=2> SIZE=>Main Campagne COLSPAN=1> SIZE=> Esiti COLSPAN=1> SIZE=> Hot-Key COLSPAN=2> SIZE=>Riciclaggio Contatti COLSPAN=1> SIZE=> Chiama-Auto-Num-Altern COLSPAN=1> SIZE=>Codici Pausa COLSPAN=2> SIZE=>Mix Liste
>   > Visualizza Campagne     |     > Aggiungi Nuova Campagna     |     > Copia Campagna     |     > Riepilogo Campagne In Tempo Reale
>   > Visualizza Liste     |     > Nuova Lista     |     > Ricerca Contatti     |     > Aggiungi Numero Alla Lista DNC     |     > Carica Nuovi Contatti
>   > Visualizza Script     |     > Aggiungi Nuovo Script
>   > Visualizza Filtri     |     > Aggiungi Nuovo Filtro
>   > Visualizza Gruppi Inbound     |     > Aggiungi Gruppo Inbound     |     > Copia Gruppo Inbound     |     > Show DIDs   |   > Add A New DID   |   > Copy DID
>   > Visualizza Gruppi Utenti     |     >Aggiungi Nuovo Gruppo Utente     |     > Report Orario Per Gruppo
>   > Visualizza Operatori Remoti     |     >Aggiungi Operatore Remoto
COLSPAN=2> SIZE=> Orari Chiamata COLSPAN=2> SIZE=> Telefoni COLSPAN=2> SIZE=> Conferencias COLSPAN=1> SIZE=> Server COLSPAN=1> SIZE=> Impostazioni di Sistema COLSPAN=2> SIZE=> Esiti di Default
>> Elenca Orari Chiamata  | > Nuovo Orario Chiamate  | > Elenca Orari Chiamata Per Stati  | > Nuovo Orario Chiamate Per Stato  | > Show Shifts  | > Add A New Shift
>   > Visualizza Telefoni   |   > Aggiungi Un Nuovo Telefono   |   > Phone Alias List   |   > Aggiungi Un Nuovo Telefono Alias
>Visualizza Conferenze   |   > Aggiungi Conferenza   |   > Visualizza Conferenze VICIDIAL   |   > Aggiungi Conferenza VICIDIAL
> Visualizza Server   |   > Aggiungi Un Nuovo Server
> Impostazioni di Sistema
> Esiti di Default   |   > Categorie di esiti   |   > QC Status Codes
>  
+
\n"; + echo ""; + + echo "
NUOVO UTENTE
\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$NWB#vicidial_users-user_group$NWE\n"; + echo "\n"; + echo "
Numero Utente: $NWB#vicidial_users-user$NWE
Password: $NWB#vicidial_users-pass$NWE
Nome Completo: $NWB#vicidial_users-full_name$NWE
Livello Utente: $NWB#vicidial_users-user_level$NWE
Gruppo Utente:
Login Telefono: $NWB#vicidial_users-phone_login$NWE
Password Telefono: $NWB#vicidial_users-phone_pass$NWE
\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=1A display the COPY USER FORM SCREEN +###################### + +if ($ADD=="1A") +{ + if ($LOGmodify_users==1) + { + echo "
\n"; + echo ""; + + echo "
COPIA UTENTE\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + if ($LOGuser_level==9) {$levelMAX=10;} + else {$levelMAX=$LOGuser_level;} + + echo "\n"; + echo "\n"; + echo "
Numero Utente: $NWB#vicidial_users-user$NWE
Password: $NWB#vicidial_users-pass$NWE
Nome Completo: $NWB#vicidial_users-full_name$NWE
Utente Da Copiare: $NWB#vicidial_users-user$NWE
\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=11 display the ADD NEW CAMPAIGN FORM SCREEN +###################### + +if ($ADD==11) +{ + if ($LOGmodify_campaigns==1) + { + echo "
\n"; + echo ""; + + echo "
NUOVA CAMPAGNA\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID Campagna: $NWB#vicidial_campaigns-campaign_id$NWE
Nome Campagna: $NWB#vicidial_campaigns-campaign_name$NWE
Descrizione Campagna: $NWB#vicidial_campaigns-campaign_description$NWE
Attivo: $NWB#vicidial_campaigns-active$NWE
Extension del parking: $NWB#vicidial_campaigns-park_ext$NWE
Nombre de fichero Del Parking: $NWB#vicidial_campaigns-park_file_name$NWE
Web Form: $NWB#vicidial_campaigns-web_form_address$NWE
Permitir Closers: $NWB#vicidial_campaigns-allow_closers$NWE
Livello Coda Chiamate: $NWB#vicidial_campaigns-hopper_level$NWE
Livello Auto Dial: (0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE
Operatore Da Scegliere Per La Chiamata Successiva: $NWB#vicidial_campaigns-next_agent_call$NWE
Orario Chiamate: $NWB#vicidial_campaigns-local_call_time$NWE
Casella Vocale: $NWB#vicidial_campaigns-voicemail_ext$NWE
Script: $NWB#vicidial_campaigns-campaign_script$NWE
Esegui all`avvio della telefonata: $NWB#vicidial_campaigns-get_call_launch$NWE
\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=12 display the COPY CAMPAIGN FORM SCREEN +###################### + +if ($ADD==12) +{ + if ($LOGmodify_campaigns==1) + { + echo "
\n"; + echo ""; + + echo "
COPIA UNA CAMPAGNA\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "
ID Campagna: $NWB#vicidial_campaigns-campaign_id$NWE
Nome Campagna: $NWB#vicidial_campaigns-campaign_name$NWE
Campagna da copiare:$NWB#vicidial_campaigns-campaign_id$NWE
NOTE: Copying a campaign will copy all settings from the master campaign you select, but it will not copy a campaign-specific DNC list if there was one on the selected master campaign.
\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=111 display the ADD NEW LIST FORM SCREEN +###################### + +if ($ADD==111) +{ + if ($LOGmodify_lists==1) + { + echo "
\n"; + echo ""; + + echo "
AGGIUNGI NUOVA LISTA\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID Lista: (solo cifre)$NWB#vicidial_lists-list_id$NWE
Nome Lista: $NWB#vicidial_lists-list_name$NWE
Descrizione Lista: $NWB#vicidial_lists-list_description$NWE
Campagna: $NWB#vicidial_lists-campaign_id$NWE
Attivo: $NWB#vicidial_lists-active$NWE
\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=121 display the ADD NUMBER TO DNC FORM SCREEN and add a new number +###################### + +if ($ADD==121) +{ +echo "
\n"; +echo ""; + +$campaigns_list = "\n"; + +$stmt="SELECT campaign_id,campaign_name from vicidial_campaigns where use_campaign_dnc='Y' order by campaign_id"; +$rslt=mysql_query($stmt, $link); +$campaigns_to_print = mysql_num_rows($rslt); + +$o=0; +while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "\n"; + $o++; + } + +if (strlen($phone_numbers) > 2) + { + $PN = explode("\n",$phone_numbers); + $PNct = count($PN); + $p=0; + while ($p < $PNct) + { + if (ereg('SYSTEM_INTERNAL',$campaign_id)) + { + $stmt="SELECT count(*) from vicidial_dnc where phone_number='$PN[$p]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
DNC NO AGREGADO - este número de telefono está en no llama ya lalista: $PN[$p]\n";} + else + { + $stmt="INSERT INTO vicidial_dnc (phone_number) values('$PN[$p]');"; + $rslt=mysql_query($stmt, $link); + + echo "
DNC AGREGADO: $PN[$p]\n"; + } + } + else + { + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number='$PN[$p]' and campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
DNC NO AGREGADO - este número de telefono está en no llama ya lalista: $PN[$p] $campaign_id\n";} + else + { + $stmt="INSERT INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$PN[$p]','$campaign_id');"; + $rslt=mysql_query($stmt, $link); + + echo "
DNC AGREGADO: $PN[$p] $campaign_id\n"; + } + } + $p++; + } + + ### LOG INSERTION TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW DNC NUMBER|$PHP_AUTH_USER|$ip|'$phone_number','$campaign_id'|\n"); + fclose($fp); + } + } + +echo "
ADD NUMBERS TO THE DNC LIST\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
List:
Numero di Telefonos:

(one phone number per line only)
$NWB#vicidial_list-dnc$NWE
\n"; + +} + + +###################### +# ADD=1111 display the ADD NEW INBOUND GROUP SCREEN +###################### + +if ($ADD==1111) +{ + if ($LOGmodify_ingroups==1) + { + echo "
\n"; + echo ""; + + echo "
NUOVO GRUPPO INBOUND\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID Gruppo: (senza spazi)$NWB#vicidial_inbound_groups-group_id$NWE
Nome Gruppo: $NWB#vicidial_inbound_groups-group_name$NWE
Colore Gruppo: $NWB#vicidial_inbound_groups-group_color$NWE
Attivo: $NWB#vicidial_inbound_groups-active$NWE
Web Form: $NWB#vicidial_inbound_groups-web_form_address$NWE
Casella Vocale: $NWB#vicidial_inbound_groups-voicemail_ext$NWE
Operatore Da Scegliere Per La Chiamata Successiva: $NWB#vicidial_inbound_groups-next_agent_call$NWE
Mostrar Fronter: $NWB#vicidial_inbound_groups-fronter_display$NWE
Script: $NWB#vicidial_inbound_groups-ingroup_script$NWE
Esegui all`avvio della telefonata: $NWB#vicidial_inbound_groups-get_call_launch$NWE
\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=1211 display the COPY INBOUND GROUP SCREEN +###################### + +if ($ADD==1211) +{ + if ($LOGmodify_ingroups==1) + { + echo "
\n"; + echo ""; + + echo "
COPIA GRUPPO INBOUND\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
ID Gruppo: (senza spazi)$NWB#vicidial_inbound_groups-group_id$NWE
Nome Gruppo: $NWB#vicidial_inbound_groups-group_name$NWE
ID Gruppo Da Copiare: $NWB#vicidial_inbound_groups-group_id$NWE
\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=1311 display the ADD NEW DID SCREEN +###################### + +if ($ADD==1311) +{ + if ($LOGmodify_dids==1) + { + echo "
\n"; + echo ""; + + echo "
ADD A NEW DID\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
DID Extension: (senza spazi)$NWB#vicidial_inbound_dids-did_pattern$NWE
DID Descrizione: $NWB#vicidial_inbound_dids-did_description$NWE
\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=1411 display the COPY DID SCREEN +###################### + +if ($ADD==1411) +{ + if ($LOGmodify_dids==1) + { + echo "
\n"; + echo ""; + + echo "
COPY DID\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
DID Extension: (senza spazi)$NWB#vicidial_inbound_dids-did_pattern$NWE
DID Descrizione: $NWB#vicidial_inbound_dids-did_description$NWE
Source DID: $NWB#vicidial_inbound_dids-did_pattern$NWE
\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=11111 display the ADD NEW REMOTE AGENTS SCREEN +###################### + +if ($ADD==11111) +{ + if ($LOGmodify_remoteagents==1) + { + echo "
\n"; + echo ""; + + echo "
NUOVO OPERATORE REMOTO\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Inizio ID Utente: (solo cifre, incremented)$NWB#vicidial_remote_agents-user_start$NWE
Numero di Linee: (solo cifre)$NWB#vicidial_remote_agents-number_of_lines$NWE
IP Server: $NWB#vicidial_remote_agents-server_ip$NWE
Numero Di Interno Remoto: (numero del dialplan usato per raggiungere gli operatori)$NWB#vicidial_remote_agents-conf_exten$NWE
Esito: $NWB#vicidial_remote_agents-status$NWE
Campagna: $NWB#vicidial_remote_agents-campaign_id$NWE
Gruppi Inbound: \n"; + echo "$groups_list"; + echo "$NWB#vicidial_remote_agents-closer_campaigns$NWE
\n"; + echo "NOTA: Potrebbero passare fino a 30 secondi prima che le modifiche qui effettuate possano essere accettate\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=111111 display the ADD NEW USERS GROUP SCREEN +###################### + +if ($ADD==111111) +{ + if ($LOGmodify_usergroups==1) + { + echo "
\n"; + echo ""; + + echo "
NUOVO GRUPPO UTENTI\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Gruppo: (senza spazi e punteggiatura)$NWB#vicidial_user_groups-user_group$NWE
Descrizione: (Descrizione del gruppo)$NWB#vicidial_user_groups-group_name$NWE
\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=1111111 display the ADD NEW SCRIPT SCREEN +###################### + +if ($ADD==1111111) +{ + if ($LOGmodify_scripts==1) + { + echo "
\n"; + echo ""; + + echo "
AGGIUNGI NUOVO SCRIPT\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID Script:: (senza spazi e punteggiatura)$NWB#vicidial_scripts-script_id$NWE
Nome Script: (titolo script)$NWB#vicidial_scripts-script_name$NWE
Note Script: $NWB#vicidial_scripts-script_comments$NWE
Attivo: $NWB#vicidial_scripts-active$NWE
Testo Script: "; + # BEGIN Insert Field + echo ""; + echo "
"; + # END Insert Field + echo " $NWB#vicidial_scripts-script_text$NWE
\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=11111111 display the ADD NEW FILTER SCREEN +###################### + +if ($ADD==11111111) +{ + if ($LOGmodify_filters==1) + { + echo "
\n"; + echo ""; + + echo "
AGGIUNGI NUOVO FILTRO\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID Filtro: (senza spazi e punteggiatura)$NWB#vicidial_lead_filters-lead_filter_id$NWE
Nome Del Filtro: (breve descrizione del filtro)$NWB#vicidial_lead_filters-lead_filter_name$NWE
Commenti Del Filtro: $NWB#vicidial_lead_filters-lead_filter_comments$NWE
Filtro Sql: $NWB#vicidial_lead_filters-lead_filter_sql$NWE
\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=111111111 display the ADD NEW CALL TIME SCREEN +###################### + +if ($ADD==111111111) +{ + if ($LOGmodify_call_times==1) + { + echo "
\n"; + echo ""; + + echo "
AGGIUNGI ORARIO CHIAMATE\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "
ID Orario Chiamate: (senza spazi e punteggiatura)$NWB#vicidial_call_times-call_time_id$NWE
Nome Orario Chiamate: (breve descrizione dell`orario chiamate)$NWB#vicidial_call_times-call_time_name$NWE
Note Orario Chiamate: $NWB#vicidial_call_times-call_time_comments$NWE
Las opciones del día y del tiempo aparecerán una vez que usted hayacreado la definicio`n del tiempo de la llamada
\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=1111111111 display the ADD NEW STATE CALL TIME SCREEN +###################### + +if ($ADD==1111111111) +{ + if ($LOGmodify_call_times==1) + { + echo "
\n"; + echo ""; + + echo "
AGREGUE EL NUEVO TIEMPO DE LA LLAMADA DEL ESTADO\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "
Identificacio`n Del Tiempo De la Llamada Del Estado: (senza spazi e punteggiatura)$NWB#vicidial_call_times-call_time_id$NWE
State Call Time State: (senza spazi e punteggiatura)$NWB#vicidial_call_times-state_call_time_state$NWE
_ Estado Llamar Tiempo Nombre: (breve descrizione dell`orario chiamate)$NWB#vicidial_call_times-call_time_name$NWE
Comentarios Del Tiempo De la Llamada Del Estado: $NWB#vicidial_call_times-call_time_comments$NWE
Las opciones del día y del tiempo aparecerán una vez que usted hayacreado la definicio`n del tiempo de la llamada
\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=131111111 display the ADD NEW SHIFT SCREEN +###################### + +if ($ADD==131111111) +{ + if ($LOGmodify_call_times==1) + { + echo "
\n"; + echo ""; + + echo "
ADD NEW SHIFT\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Shift ID: (senza spazi e punteggiatura)$NWB#vicidial_shifts-shift_id$NWE
Shift Name: (short description of the shift)$NWB#vicidial_shifts-shift_name$NWE
Shift Start Time: \n"; + echo "   Shift End Time: \n"; + echo " $NWB#vicidial_shifts-shift_start_time$NWE
Shift Length: $NWB#vicidial_shifts-shift_length$NWE
Shift Weekdays:
$NWB#vicidial_shifts-shift_weekdays$NWE
\n"; + echo "Sunday
\n"; + echo "Monday
\n"; + echo "Tuesday
\n"; + echo "Wednesday
\n"; + echo "Thursday
\n"; + echo "Friday
\n"; + echo "Saturday
\n"; + echo "
\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=11111111111 display the ADD NEW PHONE SCREEN +###################### + +if ($ADD==11111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + echo "
AGGIUNGI UN NUOVO TELEFONO\n"; + echo "\n"; + echo "
\n"; + + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Interno Telefono: $NWB#phones-extension$NWE
Numero De Dial plan: (solo cifre)$NWB#phones-dialplan_number$NWE
Buzon de voz: (solo cifre)$NWB#phones-voicemail_id$NWE
CallerID De salida: (solo cifre)$NWB#phones-outbound_cid$NWE
Direccion IP del telefono: (optional)$NWB#phones-phone_ip$NWE
Direccion IP del ordenador: (optional)$NWB#phones-computer_ip$NWE
IP Server: $NWB#phones-server_ip$NWE
Login: $NWB#phones-login$NWE
Password: $NWB#phones-pass$NWE
Esito: $NWB#phones-status$NWE
Cuenta Activa: $NWB#phones-active$NWE
Tipo Del telefono: $NWB#phones-phone_type$NWE
Nome Completo: $NWB#phones-fullname$NWE
Compania: $NWB#phones-company$NWE
Foto: $NWB#phones-picture$NWE
Protocollo Client: $NWB#phones-protocol$NWE
Fuso Orario Locale: (No ajustar para el DST)$NWB#phones-local_gmt$NWE
\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=12111111111 display the ADD NEW PHONE ALIAS SCREEN +###################### + +if ($ADD==12111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + echo "
AGGIUNGI UN NUOVO TELEFONO ALIAS\n"; + echo "\n"; + echo "
\n"; + + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "
Alias ID: $NWB#phones-alias_id$NWE
Alias Name: $NWB#phones-alias_name$NWE
Login Telefonos List: (comma separated)$NWB#phones-logins_list$NWE
\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=111111111111 display the ADD NEW SERVER SCREEN +###################### + +if ($ADD==111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + echo "
AGGIUNGI UN NUOVO SERVER\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID Server: $NWB#servers-server_id$NWE
Descrizione Server: $NWB#servers-server_description$NWE
Indirizzo IP del Server: $NWB#servers-server_ip$NWE
Attivo: $NWB#servers-active$NWE
Versione Di Asterisk: $NWB#servers-asterisk_version$NWE
\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=1111111111111 display the ADD NEW CONFERENCE SCREEN +###################### + +if ($ADD==1111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + echo "
CREA UNA NUOVA CONFERENZA\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Número de la Conferencia: (solo cifre)$NWB#conferences-conf_exten$NWE
IP Server: $NWB#conferences-server_ip$NWE
\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=11111111111111 display the ADD NEW VICIDIAL CONFERENCE SCREEN +###################### + +if ($ADD==11111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + echo "
CREA UNA NUOVA CONFERENZA VICIDIAL\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Número de la Conferencia: (solo cifre)$NWB#conferences-conf_exten$NWE
IP Server: $NWB#conferences-server_ip$NWE
\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + + +###################################################################################################### +###################################################################################################### +####### 2 series, validates form data and inserts the new record into the database +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=2 adds the new user to the system +###################### + +if ($ADD=="2") +{ + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
UTENTE NON AGGIUNTO - Esiste gia` un utente nel sistema con questo numero utente\n";} + else + { + if (ereg('AUTOGENERA',$user)) + { + $user = 'AUTOGENERA'; + } + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 10) ) + { + echo "
UTENTE NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
user id must be between 2 and 10 characters long\n"; + echo "
il nome e la password devono essere lunghi almeno 2 caratteri\n"; + } + else + { + if (ereg('AUTOGENERA',$user)) + { + $new_user=0; + $auto_user_add_value=0; + while ($new_user < 2) + { + if ($new_user < 1) + { + $stmt = "SELECT auto_user_add_value FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + $ss_auav_ct = mysql_num_rows($rslt); + if ($ss_auav_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_user_add_value = $row[0]; + } + $new_user++; + } + $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + { + $new_user++; + } + else + { + echo "\n"; + $auto_user_add_value = ($auto_user_add_value + 7); + } + } + $user = $auto_user_add_value; + echo "
user_id has been auto-generated: $user
\n"; + + $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; + $rslt=mysql_query($stmt, $link); + } + echo "
UTENTE AGGIUNTO: $user\n"; + + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass) values('$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A USER |$PHP_AUTH_USER|$ip|'$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass'|\n"); + fclose($fp); + } + } + } + +$ADD=3; +} + +###################### +# ADD=2A adds the copied new user to the system +###################### + +if ($ADD=="2A") +{ + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
UTENTE NON AGGIUNTO - Esiste gia` un utente nel sistema con questo numero utente\n";} + else + { + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 10) ) + { + echo "
UTENTE NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
user id must be between 2 and 10 characters long\n"; + echo "
il nome e la password devono essere lunghi almeno 2 caratteri\n"; + echo "\n"; + } + else + { + if (ereg('AUTOGENERA',$user)) + { + $new_user=0; + $auto_user_add_value=0; + while ($new_user < 2) + { + if ($new_user < 1) + { + $stmt = "SELECT auto_user_add_value FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + $ss_auav_ct = mysql_num_rows($rslt); + if ($ss_auav_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_user_add_value = $row[0]; + } + $new_user++; + } + $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + { + $new_user++; + } + else + { + echo "\n"; + $auto_user_add_value = ($auto_user_add_value + 7); + } + } + $user = $auto_user_add_value; + echo "
user_id has been auto-generated: $user
\n"; + + $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids from vicidial_users where user=\"$source_user_id\";"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today) SELECT \"$user\",group_id,group_rank,group_weight,\"0\" from vicidial_inbound_group_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) SELECT \"$user\",campaign_id,campaign_rank,campaign_weight,\"0\" from vicidial_campaign_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); + + echo "
USER COPIED: $user copied from $source_user_id\n"; + echo "

\n"; + echo "Click here to go to the user record\n"; + echo "

\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A COPIED USER |$PHP_AUTH_USER|$ip|$user|$source_user_id|$stmt|\n"); + fclose($fp); + } + } + } +exit; +} + +###################### +# ADD=21 adds the new campaign to the system +###################### + +if ($ADD==21) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CAMPAGNA NON AGGIUNTA - Esiste gia` una campagna nel sistema con questo ID\n";} + else + { + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($campaign_name) > 40) ) + { + echo "
CAMPAGNA NON AGGIUNTA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
L`ID Campagna deve essere lungo tra i 2 e gli 8 caratteri\n"; + echo "
il nome della campagna deve essere lungo tra i 6 e i 40 caratteri\n"; + } + else + { + echo "
CAMPAGNA AGGIUNTA: $campaign_id\n"; + + $stmt="INSERT INTO vicidial_campaigns (campaign_id,campaign_name,campaign_description,active,dial_status_a,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,campaign_script,get_call_launch,campaign_changedate,campaign_stats_refresh,list_order_mix) values('$campaign_id','$campaign_name','$campaign_description','$active','NEW','DOWN','$park_ext','$park_file_name','" . mysql_real_escape_string($web_form_address) . "','$allow_closers','$hopper_level','$auto_dial_level','$next_agent_call','$local_call_time','$voicemail_ext','$script_id','$get_call_launch','$SQLdate','Y','DISABLED');"; + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmt, $link); + + echo ""; + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|NUOVA CAMPAGNA |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + } + } + } +$ADD=31; +} + +###################### +# ADD=20 adds copied new campaign to the system +###################### + +if ($ADD==20) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CAMPAGNA NON AGGIUNTA - Esiste gia` una campagna nel sistema con questo ID\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 2) or (strlen($source_campaign_id) < 2) or (strlen($source_campaign_id) > 8) ) + { + echo "
CAMPAGNA NON AGGIUNTA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
L`ID Campagna deve essere lungo tra i 2 e gli 8 caratteri\n"; + echo "
source L`ID Campagna deve essere lungo tra i 2 e gli 8 caratteri\n"; + } + else + { + echo "
CAMPAIGN COPIED: $campaign_id copied from $source_campaign_id\n"; + + $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix from vicidial_campaigns where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category) SELECT status,status_name,selectable,\"$campaign_id\",human_answered,category from vicidial_campaign_statuses where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_hotkeys (status,hotkey,status_name,selectable,campaign_id) SELECT status,hotkey,status_name,selectable,\"$campaign_id\" from vicidial_campaign_hotkeys where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_lead_recycle (status,attempt_delay,attempt_maximum,active,campaign_id) SELECT status,attempt_delay,attempt_maximum,active,\"$campaign_id\" from vicidial_lead_recycle where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_pause_codes (pause_code,pause_code_name,billable,campaign_id) SELECT pause_code,pause_code_name,billable,\"$campaign_id\" from vicidial_pause_codes where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + echo ""; + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|COPY TO NEW CAMPAIGN|$PHP_AUTH_USER|$ip|$campaign_id|$source_campaign_id|$stmt|$stmtA|\n"); + fclose($fp); + } + + } + } +$ADD=31; +} + +###################### +# ADD=22 adds the new campaign status to the system +###################### + +if ($ADD==22) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ESITO CAMPAGNA NON AGGIUNTO - Esiste gia` un esito campagna con questo nome\n";} + else + { + $stmt="SELECT count(*) from vicidial_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ESITO CAMPAGNA NON AGGIUNTO - esiste gia` un esito globale con questo nome\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($status_name) < 2) ) + { + echo "
ESITO CAMPAGNA NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
l`esito deve essere lungo tra 1 e 8 caratteri\n"; + echo "
il nome dell`esito deve essere lungo tra i 2 e i 30 caratteri\n"; + } + else + { + echo "
STATO PERSONALIZZATO PER CAMPAGNA AGGIUNTO: $campaign_id - $status\n"; + + $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category) values('$status','$status_name','$selectable','$campaign_id','$human_answered','$category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|NUOVA CAMPAGNA STATUS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$SUB=22; +$ADD=31; +} + + +###################### +# ADD=23 adds the new campaign hotkey to the system +###################### + +if ($ADD==23) +{ + $HKstatus_data = explode('-----',$HKstatus); + $status = $HKstatus_data[0]; + $status_name = $HKstatus_data[1]; + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_hotkeys where campaign_id='$campaign_id' and hotkey='$hotkey' and hotkey='$hotkey';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CAMPAIGN HOT KEY NOT ADDED - there is already a campaign-hotkey in the system with this hotkey\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) + { + echo "
CAMPAÚA HOT KEY NO AGREGADA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
hotkey must be a single character between 1 and 9 \n"; + echo "
l`esito deve essere lungo tra 1 e 8 caratteri\n"; + } + else + { + echo "
HOTKEY AGGIUNTA: $campaign_id - $status - $hotkey\n"; + + $stmt="INSERT INTO vicidial_campaign_hotkeys values('$status','$hotkey','$status_name','$selectable','$campaign_id');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|NUOVA CAMPAGNA HOT KEY |$PHP_AUTH_USER|$ip|'$status','$hotkey','$status_name','$selectable','$campaign_id'|\n"); + fclose($fp); + } + } + } +$SUB=23; +$ADD=31; +} + + +###################### +# ADD=25 adds the new campaign lead recycle entry to the system +###################### + +if ($ADD==25) +{ + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
El PLOMO de la CAMPAÑA RECICLA NO AGREGADO - hay ya unconducir-reciclaje para esta campaña con este estado\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_delay >= 43200) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) + { + echo "
CAMPAIGN LEAD RECYCLE NOT ADDED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
el estado debe estar entre 1 y 6 caracteres en longitud\n"; + echo "
la tentativa retrasa debe ser por lo menos 120 segundos and less than 43200 seconds or 12 hours\n"; + echo "
las tentativas máximas deben ser a partir la 1 a 10\n"; + } + else + { + echo "
EL PLOMO DE LA CAMPAÑA RECICLA AGREGADO: $campaign_id - $status - $attempt_delay\n"; + + $stmt="INSERT INTO vicidial_lead_recycle(campaign_id,status,attempt_delay,attempt_maximum,active) values('$campaign_id','$status','$attempt_delay','$attempt_maximum','$active');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW LEAD RECYCLE |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$SUB=25; +$ADD=31; +} + + +###################### +# ADD=26 adds the new auto alt dial status to the campaign +###################### + +if ($ADD==26) +{ + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ESTADO AUTO DEL DIAL DEL ALT NO AGREGADO - hay ya una entrada para esta campaña con este estado\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
ESTADO AUTO DEL DIAL DEL ALT NO AGREGADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
el estado debe estar entre 1 y 6 caracteres en longitud\n"; + } + else + { + echo "
ESTADO AUTO DEL DIAL DEL ALT AGREGADO: $campaign_id - $status\n"; + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if (strlen($row[0])<2) {$row[0] = ' -';} + $auto_alt_dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A AUTO-ALT-DIAL STATUS|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$SUB=26; +$ADD=31; +} + + +###################### +# ADD=27 adds the new campaign agent pause code entry to the system +###################### + +if ($ADD==27) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
Co`DIGO DE LA PAUSA DEL AGENTE NO AGREGADO - hay ya una entrada para esta campaña con este code de la pausa\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) + { + echo "
Co`DIGO DE LA PAUSA DEL AGENTE NO AGREGADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
pause code must be between 1 and 6 characters in length\n"; + echo "
pause code name must be between 2 and 30 characters in length\n"; + } + else + { + echo "
EL Co`DIGO DE LA PAUSA DEL AGENTE AGREGo`: $campaign_id - $pause_code - $pause_code_name\n"; + + $stmt="INSERT INTO vicidial_pause_codes(campaign_id,pause_code,pause_code_name,billable) values('$campaign_id','$pause_code','$pause_code_name','$billable');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW AGENT PAUSE CODE|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$SUB=27; +$ADD=31; +} + + +###################### +# ADD=28 adds new status to the campaign dial statuses +###################### + +if ($ADD==28) +{ + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ESITO CHIAMATA PER CAMPAGNA NON AGGIUNTO - hay ya una entrada para esta campaña con este estado\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
ESITO CHIAMATA PER CAMPAGNA NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
el estado debe estar entre 1 y 6 caracteres en longitud\n"; + } + else + { + echo "
ESITO CHIAMATA PER CAMPAGNA AGGIUNTO: $campaign_id - $status\n"; + + $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if (strlen($row[0])<2) {$row[0] = ' -';} + $dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|AGGIUNGI CAMPAGNA DIAL STATUS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +#$SUB=28; +$ADD=31; +} + + +###################### +# ADD=211 adds the new list to the system +###################### + +if ($ADD==211) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
LISTA NON AGGIUNTA - Esiste gia` una lista nel sistema con questo ID\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($list_name) < 2) or ($list_id < 100) or (strlen($list_id) > 8) ) + { + echo "
LISTA NON AGGIUNTA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
La ID de la lista debe estar entre 2 y 8 caracteres en longitud\n"; + echo "
El nombre de la lista debe ser por lo menos 2 caracteres en longitud\n"; + echo "
ID Lista must be greater than 100\n"; + } + else + { + echo "
LISTA AGGIUNTA: $list_id\n"; + + $stmt="INSERT INTO vicidial_lists (list_id,list_name,campaign_id,active,list_description,list_changedate) values('$list_id','$list_name','$campaign_id','$active','$list_description','$SQLdate');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|AGGIUNGI NUOVA LISTA |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=311; +} + + + +###################### +# ADD=2111 adds the new inbound group to the system +###################### + +if ($ADD==2111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
GRUPPO NON AGGIUNTO - l`ID specificato e` associato ad un gruppo gia` presente in sistema\n";} + else + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
GRUPPO NON AGGIUNTO - per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
L`ID deve essere lungo tra i 2 e i 20 caratteri e non deve contenere ' -+'.\n"; + echo "
Il nome ed il colore del gruppo devono essere lunghi almeno 2 caratteri\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','$get_call_launch');"; + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmt, $link); + + echo "
GRUPPO AGGIUNTO: $group_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW GROUP |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$ADD=3111; +} + + +###################### +# ADD=2011 adds copied inbound group to the system +###################### + +if ($ADD==2011) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
GRUPPO NON AGGIUNTO - l`ID specificato e` associato ad un gruppo gia` presente in sistema\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
GRUPPO NON AGGIUNTO - per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
L`ID deve essere lungo tra i 2 e i 20 caratteri e non deve contenere ' -+'.\n"; + echo "
Il nome ed il colore del gruppo devono essere lunghi almeno 2 caratteri\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two from vicidial_inbound_groups where group_id=\"$source_group_id\";"; + $rslt=mysql_query($stmt, $link); + + echo "
GRUPPO AGGIUNTO: $group_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|COPIED TO NEW GROUP |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=3111; +} + + +###################### +# ADD=2311 adds the new did to the system +###################### + +if ($ADD==2311) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
DID NOT ADDED - there is already a DID in the system with this ID\n";} + else + { + $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
DID NOT ADDED - there is already a DID in the system with this extension\n";} + else + { + if ( (strlen($did_pattern) < 2) or (eregi(' ',$did_pattern)) or (eregi('-',$did_pattern)) or (eregi("\+",$did_pattern)) ) + { + echo "
DID NOT ADDED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description) values('$did_pattern','$did_description');"; + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $did_id = $row[0]; + + echo "
DID ADDED: $did_pattern $did_description - $did_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A DID |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$ADD=3311; +} + + +###################### +# ADD=2411 adds copied did to the system +###################### + +if ($ADD==2411) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
DID NOT ADDED - there is already a DID in the system with this extension\n";} + else + { + if ( (strlen($source_did) < 1) or (strlen($did_pattern) < 1) or (eregi(' ',$source_did)) or (eregi(' ',$did_pattern)) or (eregi("\+",$source_did)) ) + { + echo "
DID NOT ADDED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code) SELECT \"$did_pattern\",\"$did_description\",did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code from vicidial_inbound_dids where did_id=\"$source_did\";"; + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $did_id = $row[0]; + + echo "
DID ADDED: $did_pattern - $did_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|COPY A DID |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=3311; +} + + +###################### +# ADD=21111 adds new remote agents to the system +###################### + +if ($ADD==21111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_remote_agents where server_ip='$server_ip' and user_start='$user_start';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
AGENTES ALEJADOS NO AGREGADOS - hay ya una entrada alejada de los agentes comenzando con esta ID del usuario\n";} + else + { + if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) + { + echo "
AGENTES ALEJADOS NO AGREGADOS - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
El comienzo de la ID del usuario y la extension externa deben ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_remote_agents values('','$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value');"; + $rslt=mysql_query($stmt, $link); + + echo "
OPERATORE REMOTO AGGIUNTO: $user_start\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW OPERATORI REMOTI ENTRY |$PHP_AUTH_USER|$ip|'$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value'|\n"); + fclose($fp); + } + } + } +$ADD=10000; +} + +###################### +# ADD=211111 adds new user group to the system +###################### + +if ($ADD==211111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
GRUPO de USUARIO NO AGREGADO - hay ya una entrada del grupo de usuario con este nombre\n";} + else + { + if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) + { + echo "
GRUPO de USUARIO NO AGREGADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
El nombre y la descripcio`n de grupo deben ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_user_groups(user_group,group_name,allowed_campaigns) values('$user_group','$group_name','-ALL-CAMPAIGNS-');"; + $rslt=mysql_query($stmt, $link); + + echo "
GRUPPO UTENTI AGGIUNTO: $user_group\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|NUOVO UTENTE GROUP ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=100000; +} + +###################### +# ADD=2111111 adds new script to the system +###################### + +if ($ADD==2111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_scripts where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
SCRIPT NON AGGIUNTO - hay ya una entrada de la escritura con este nombre\n";} + else + { + if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + { + echo "
SCRIPT NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
El nombre, la descripcio`n y el texto de la escritura deben ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_scripts values('$script_id','$script_name','$script_comments','$script_text','$active');"; + $rslt=mysql_query($stmt, $link); + + echo "
SCRIPT AGGIUNTO: $script_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW SCRIPT ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=1000000; +} + + +###################### +# ADD=21111111 adds new filter to the system +###################### + +if ($ADD==21111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
FILTRO NON AGGIUNTO - Esiste gia` un altro filtro con questo ID\n";} + else + { + if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + { + echo "
FILTRO NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
ID Filtro, nome e SQL devono essere lunghi almeno 2 caratteri\n"; + } + else + { + $stmt="INSERT INTO vicidial_lead_filters SET lead_filter_id='$lead_filter_id',lead_filter_name='$lead_filter_name',lead_filter_comments='$lead_filter_comments',lead_filter_sql='$lead_filter_sql';"; + $rslt=mysql_query($stmt, $link); + + echo "
FILTRO AGGIUNTO: $lead_filter_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW FILTER ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=10000000; +} + + +###################### +# ADD=211111111 adds new call time definition to the system +###################### + +if ($ADD==211111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
DEFINICIo`N DEL TIEMPO DE LA LLAMADA NO AGREGADA - hay ya una entrada de tiempo de la llamada con esta identificacio`n\n";} + else + { + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) + { + echo "
DEFINICIo`N DEL TIEMPO DE LA LLAMADA NO AGREGADA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
La identificacio`n del tiempo de la llamada y el nombre deben ser porlo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_call_times SET call_time_id='$call_time_id',call_time_name='$call_time_name',call_time_comments='$call_time_comments';"; + $rslt=mysql_query($stmt, $link); + + echo "
ORARIO CHIAMATE AGGIUNTO: $call_time_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW CALL TIME ENTRY |$stmt|\n"); + fclose($fp); + } + } + } +$ADD=311111111; +} + + +###################### +# ADD=2111111111 adds new state call time definition to the system +###################### + +if ($ADD==2111111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_state_call_times where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
DEFINICIo`N DEL TIEMPO DE LA LLAMADA DEL ESTADO NO AGREGADA - hay ya una entrada de tiempo de la llamada con esta identificacio`n\n";} + else + { + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) + { + echo "
DEFINICIo`N DEL TIEMPO DE LA LLAMADA DEL ESTADO NO AGREGADA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Indique que identificacio`n del tiempo de la llamada, nombre y estadodebe ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="INSERT INTO vicidial_state_call_times SET state_call_time_id='$call_time_id',state_call_time_name='$call_time_name',state_call_time_comments='$call_time_comments',state_call_time_state='$state_call_time_state';"; + $rslt=mysql_query($stmt, $link); + + echo "
ORARIO CHIAMATE PER STATO AGGIUNTO: $call_time_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW STATE CALL TIME ENTRY|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=3111111111; +} + + +###################### +# ADD=231111111 adds new shift definition to the system +###################### + +if ($ADD==231111111) +{ + echo ""; + $stmt="SELECT count(*) from vicidial_shifts where shift_id='$shift_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
SHIFT DEFINITION NOT ADDED - there is already a shift entry with this ID\n";} + else + { + $shift_length_test = eregi_replace(':','',$shift_length); + if ( (strlen($shift_id) < 2) or (strlen($shift_name) < 2) or (strlen($shift_start_time) < 4) or (strlen($shift_start_time) > 4) or (strlen($shift_length) < 5) or (strlen($shift_length) > 5) or ($shift_start_time > 2359) or ($shift_length_test > 2400) ) + { + echo "
SHIFT DEFINITION NOT ADDED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Shift ID and name must be at least 2 characters in length\n"; + echo "
Shift Start Time must be 4 digits in length and be a valid time\n"; + echo "
Shift Length must be 5 characters in length and be 24 hours or less\n"; + } + else + { + $p=0; + $shift_weekdays_ct = count($shift_weekdays); + while ($p <= $shift_weekdays_ct) + { + $SHIFT_weekdays .= "$shift_weekdays[$p]"; + $p++; + } + $stmt="INSERT INTO vicidial_shifts SET shift_id='$shift_id',shift_name='$shift_name',shift_start_time='$shift_start_time',shift_length='$shift_length',shift_weekdays='$SHIFT_weekdays';"; + $rslt=mysql_query($stmt, $link); + + echo "
SHIFT ADDED: $shift_id\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW SHIFT ENTRY |$stmt|\n"); + fclose($fp); + } + } + } +$ADD=331111111; +} + + +###################### +# ADD=21111111111 adds new phone to the system +###################### + +if ($ADD==21111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
telefonO NO AGREGADO - hay ya un telefono en el sistema con esta extension/servidor\n";} + else + { + $stmt="SELECT count(*) from phones where login='$login';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
PHONE NOT ADDED - there is already a Phone in the system with this login\n";} + else + { + $stmt="SELECT count(*) from phones_alias where alias_id='$login';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
PHONE NOT ADDED - there is already a Phone alias in the system with this login\n";} + else + { + if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) + {echo "
telefonO NO AGREGADO - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
TELEFONO AGGIUNTO\n"; + + $stmt="INSERT INTO phones (extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,protocol,local_gmt,outbound_cid) values('$extension','$dialplan_number','$voicemail_id','$phone_ip','$computer_ip','$server_ip','$login','$pass','$status','$active','$phone_type','$fullname','$company','$picture','$protocol','$local_gmt','$outbound_cid');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|AGGIUNGI UN NUOVO TELEFONO |$stmt|\n"); + fclose($fp); + } + } + } + } + } +$ADD=31111111111; +} + + +###################### +# ADD=22111111111 adds new phone alias to the system +###################### + +if ($ADD==22111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from phones_alias where alias_id='$alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
PHONE ALIAS NOT ADDED - there is already a Phone Alias in the system with this ID\n";} + else + { + $stmt="SELECT count(*) from phones where login='$alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
PHONE ALIAS NOT ADDED - there is already a Login Telefono in the system with this ID\n";} + else + { + if ( (strlen($alias_id) < 1) or (strlen($alias_name) < 2) ) + {echo "
PHONE ALIAS NOT ADDED - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
PHONE ALIAS ADDED\n"; + + $stmt="INSERT INTO phones_alias (alias_id,alias_name,logins_list) values('$alias_id','$alias_name','$logins_list');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|AGGIUNGI UN NUOVO TELEFONO ALIAS |$stmt|\n"); + fclose($fp); + } + } + } + } +$ADD=32111111111; +} + + +###################### +# ADD=211111111111 adds new server to the system +###################### + +if ($ADD==211111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from servers where server_id='$server_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
SERVER NON AGGIUNTO - Esiste gia` un altro server nel sistema con questo ID\n";} + else + { + if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) + {echo "
SERVER NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
SERVER AGGIUNTO\n"; + + $stmt="INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version) values('$server_id','$server_description','$server_ip','$active','$asterisk_version');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|AGGIUNGI UN NUOVO SERVER |$stmt|\n"); + fclose($fp); + } + } + } +$ADD=311111111111; +} + + +###################### +# ADD=221111111111 adds the new vicidial server trunk record to the system +###################### + +if ($ADD==221111111111) +{ + echo ""; + $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $MAXvicidial_trunks = $rowx[0]; + + $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); + + if ($SUMvicidial_trunks > $MAXvicidial_trunks) + { + echo "
EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO AGREGADO - el número de troncos vicidial es demasiado alto: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + } + else + { + $stmt="SELECT count(*) from vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO AGREGADO - hay ya un expediente del servidor-tronco para esta campaña\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) + { + echo "
EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO AGREGADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
la campaña debe estar entre 3 y 8 caracteres en longitud\n"; + echo "
el server_ip retrasa debe ser por lo menos 7 caracteres\n"; + echo "
los troncos deben ser un dígito a partir de la 0 a 9999\n"; + } + else + { + echo "
EL EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL AGREGo`: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; + + $stmt="INSERT INTO vicidial_server_trunks(server_ip,campaign_id,dedicated_trunks,trunk_restriction) values('$server_ip','$campaign_id','$dedicated_trunks','$trunk_restriction');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW VICIDIAL TRUNK |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$ADD=311111111111; +} + + +###################### +# ADD=2111111111111 adds new conference to the system +###################### + +if ($ADD==2111111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CONFERENZA NON AGGIUNTA - Esiste gia` una conferenza nel sistema con questo ID e server\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
CONFERENZA NON AGGIUNTA - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
CONFERENZA AGGIUNTA\n"; + + $stmt="INSERT INTO conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } + } +$ADD=3111111111111; +} + + +###################### +# ADD=21111111111111 adds new vicidial conference to the system +###################### + +if ($ADD==21111111111111) +{ +echo "
\n"; + echo ""; + $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
VICIDIAL CONFERENCE NOT ADDED - there is already a vicidial conference in the system with this ID and server\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
VICIDIAL CONFERENZA NON AGGIUNTA - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
VICIDIAL CONFERENZA AGGIUNTA\n"; + + $stmt="INSERT INTO vicidial_conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } + } +$ADD=31111111111111; +} + + +###################### +# ADD=221111111111111 adds the new system status to the system +###################### + +if ($ADD==221111111111111) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ESITO DI DEFAULT NON AGGIUNTO - there is already a campaign-status in the system with this name: $row[0]\n";} + else + { + $stmt="SELECT count(*) from vicidial_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
ESITO DI DEFAULT NON AGGIUNTO - there is already a global-status in the system with this name\n";} + else + { + if ( (strlen($status) < 1) or (strlen($status_name) < 2) ) + { + echo "
ESITO DI DEFAULT NON AGGIUNTO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
l`esito deve essere lungo tra 1 e 8 caratteri\n"; + echo "
il nome dell`esito deve essere lungo tra i 2 e i 30 caratteri\n"; + } + else + { + echo "
ESITO DI DEFAULT AGGIUNTO: $status_name - $status\n"; + + $stmt="INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category) values('$status','$status_name','$selectable','$human_answered','$category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW SYSTEM STATUS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } +$ADD=321111111111111; +} + + +###################### +# ADD=231111111111111 adds the new status category to the system +###################### + +if ($ADD==231111111111111) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_status_categories where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
CATEGORIA DI ESITI NON AGGIUNTA - Esiste gia` una categoria di esiti con questo ID: $row[0]\n";} + else + { + if ( (strlen($vsc_id) < 2) or (strlen($vsc_id) > 20) or (strlen($vsc_name) < 2) ) + { + echo "
CATEGORIA DI ESITI NON AGGIUNTA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
L` ID deve essere lungo tra i 2 e i 50 caratteri\n"; + echo "
il nome deve essere lungo tra i 2 e i 50 caratteri\n"; + } + else + { + echo "
STATUS CATEGORY ADDED: $vsc_id - $vsc_name\n"; + + $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + { + $tovdad_display = 'N'; + echo "
ERRORE: Ci sono gia` 4 Categorie di Stato attivi nel display TimeOnVDAD\n"; + } + + $stmt="INSERT INTO vicidial_status_categories (vsc_id,vsc_name,vsc_description,tovdad_display,sale_category,dead_lead_category) values('$vsc_id','$vsc_name','$vsc_description','$tovdad_display','$sale_category','$dead_lead_category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW STATUS CATEGORY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=331111111111111; +} + + + +###################### +# ADD=241111111111111 adds the new qc status code to the system +###################### + +if ($ADD==241111111111111) +{ + + echo ""; + $stmt="SELECT count(*) from vicidial_qc_codes where code='$code';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
QC STATUS CODE NOT ADDED - there is already a qc status code in the system with this name: $row[0]\n";} + else + { + if ( (strlen($code) < 1) or (strlen($code_name) < 2) ) + { + echo "
QC STATUS CODE NOT ADDED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
code must be between 1 and 8 characters in length\n"; + echo "
code name must be between 2 and 30 characters in length\n"; + } + else + { + echo "
QC STATUS CODE ADDED: $code_name - $code\n"; + + $stmt="INSERT INTO vicidial_qc_codes (code,code_name) values('$code','$code_name');"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|ADD A NEW QC STATUS CODE |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } +$ADD=341111111111111; +} + + + +###################################################################################################### +###################################################################################################### +####### 4 series, record modifications submitted and DB is modified, then on to 3 series forms below +###################################################################################################### +###################################################################################################### + + + +###################### +# ADD=4A submit user modifications to the system - ADMIN +###################### + +if ($ADD=="4A") +{ + if ($LOGmodify_users==1) + { + echo ""; + + if ( (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_level) < 1) ) + { + echo "
USUARIO NO MODIFICADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
La contraseña y el nombre completo cada ot de la necesidad sean por lo menos 2 caracteres en longitud\n"; + } + else + { + echo "
UTENTE MODIFICATO - ADMIN: $user\n"; + + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log',alter_custphone_override='$alter_custphone_override',vdc_agent_api_access='$vdc_agent_api_access',modify_inbound_dids='$modify_inbound_dids',delete_inbound_dids='$delete_inbound_dids' where user='$user';"; + $rslt=mysql_query($stmt, $link); + + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY USER INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=3; # go to user modification below +} + + +###################### +# ADD=4B submit user modifications to the system - ADMIN +###################### + +if ($ADD=="4B") +{ + if ($LOGmodify_users==1) + { + echo ""; + + if ( (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_level) < 1) ) + { + echo "
USUARIO NO MODIFICADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
La contraseña y el nombre completo cada ot de la necesidad sean por lo menos 2 caracteres en longitud\n"; + } + else + { + echo "
UTENTE MODIFICATO - ADMIN: $user\n"; + + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',hotkeys_active='$hotkeys_active',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',closer_default_blended='$closer_default_blended',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',alter_custphone_override='$alter_custphone_override' where user='$user';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY USER INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=3; # go to user modification below +} + + + +###################### +# ADD=4 submit user modifications to the system +###################### + +if ($ADD==4) +{ + if ($LOGmodify_users==1) + { + echo ""; + + if ( (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_level) < 1) ) + { + echo "
USUARIO NO MODIFICADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
La contraseña y el nombre completo cada ot de la necesidad sean por lo menos 2 caracteres en longitud\n"; + } + else + { + echo "
UTENTE MODIFICATO: $user\n"; + + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass' where user='$user';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY USER INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=3; # go to user modification below +} + +###################### +# ADD=41 submit campaign modifications to the system +###################### + +if ($ADD==41) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_name) < 6) or (strlen($active) < 1) ) + { + echo "
CAMPAÚA NO MODIFICADA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
el nombre de la campaña necesita ser por lo menos 6 caracteres en longitud\n"; + echo "
|$campaign_name|$active|\n"; + } + else + { + echo "
CAMPAGNA MODIFICATA: $campaign_id\n"; + + if ($dial_method == 'MANUAL') + { + $auto_dial_level='0'; + $adlSQL = "auto_dial_level='0',"; + } + else + { + if ($dial_level_override > 0) + { + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + else + { + if ($dial_method == 'RATIO') + { + if ($auto_dial_level < 1) {$auto_dial_level = "1.0";} + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + else + { + $adlSQL = ""; + if ($auto_dial_level < 1) + { + $auto_dial_level = "1.0"; + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + } + } + } + if ( (!ereg("DISABLED",$list_order_mix)) and ($hopper_level < 100) ) + {$hopper_level='100';} + + $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number',xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns='$groups_value',use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_refresh='$campaign_stats_refresh',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',disable_alter_custphone='$disable_alter_custphone',display_queue_count='$display_queue_count',manual_dial_filter='$manual_dial_filter',agent_clipboard_copy='$agent_clipboard_copy',agent_extended_alt_dial='$agent_extended_alt_dial',use_campaign_dnc='$use_campaign_dnc',three_way_call_cid='$three_way_call_cid',three_way_dial_prefix='$three_way_dial_prefix' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + if ($reset_hopper == 'Y') + { + echo "
REAJUSTE DE LA TOLVA DEL PLOMO DE LA CAMPAÚA\n"; + echo "
- Espera 1 minuto antes de marcar el número siguiente\n"; + $stmt="DELETE from vicidial_hopper where campaign_id='$campaign_id' and status IN('READY','QUEUE','DONE');"; + $rslt=mysql_query($stmt, $link); + + ### LOG RESET TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|CAMPAIGN HOPPERRESET|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CAMPAIGN INFO|$PHP_AUTH_USER|$ip|$stmtA|$reset_hopper|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=42 modify/delete campaign status in the system +###################### + +if ($ADD==42) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
ESTADO de la CAMPAÚA NO MODIFICADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
la ID de la campaña necesita ser por lo menos 2 caracteres en longitud\n"; + echo "
el estado de la campaña necesita ser por lo menos los caracteres 1 en longitud\n"; + } + else + { + if (ereg('delete',$stage)) + { + echo "
ESTADO DE ENCARGO DE LA CAMPAÚA SUPRIMIDO: $campaign_id - $status\n"; + + $stmt="DELETE FROM vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="DELETE FROM vicidial_campaign_hotkeys where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmtA, $link); + + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE CAMPAIGN STATUS|$PHP_AUTH_USER|$ip|$stmt|$stmtA|\n"); + fclose($fp); + } + } + if (ereg('modify',$stage)) + { + echo "
ESITO PERSONALIZZATO PER CAMPAGNA MODIFICATO: $campaign_id - $status\n"; + + $stmt="UPDATE vicidial_campaign_statuses SET status_name='$status_name',selectable='$selectable',human_answered='$human_answered',category='$category' where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CAMPAIGN STATUS|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$SUB=22; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=43 delete campaign hotkey in the system +###################### + +if ($ADD==43) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) + { + echo "
CAMPAÚA HOT KEY NO MODIFICADA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
la ID de la campaña necesita ser por lo menos 2 caracteres en longitud\n"; + echo "
el estado de la campaña necesita ser por lo menos los caracteres 1 en longitud\n"; + echo "
the campaign hotkey needs to be at least 1 characters in length\n"; + } + else + { + echo "
LA CAMPAÚA DE ENCARGO HOT KEY SUPRIMIÚ: $campaign_id - $status - $hotkey\n"; + + $stmt="DELETE FROM vicidial_campaign_hotkeys where campaign_id='$campaign_id' and status='$status' and hotkey='$hotkey';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE CAMPAIGN STATUS|$PHP_AUTH_USER|$ip|DELETE FROM vicidial_campaign_hotkeys where campaign_id='$campaign_id' and status='$status' and hotkey='$hotkey'|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$SUB=23; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=44 submit campaign modifications to the system - Basic View +###################### + +if ($ADD==44) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_name) < 6) or (strlen($active) < 1) ) + { + echo "
CAMPAÚA NO MODIFICADA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
el nombre de la campaña necesita ser por lo menos 6 caracteres en longitud\n"; + } + else + { + echo "
CAMPAGNA MODIFICATA: $campaign_id\n"; + + if ($dial_method == 'RATIO') + { + if ($auto_dial_level < 1) {$auto_dial_level = "1.0";} + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + else + { + if ($dial_method == 'MANUAL') + { + $auto_dial_level='0'; + $adlSQL = "auto_dial_level='0',"; + } + else + { + $adlSQL = ""; + if ($auto_dial_level < 1) + { + $auto_dial_level = "1.0"; + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + } + } + if ( (!ereg("DISABLED",$list_order_mix)) and ($hopper_level < 100) ) + {$hopper_level='100';} + + $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',hopper_level='$hopper_level', $adlSQL lead_filter_id='$lead_filter_id',dial_method='$dial_method',adaptive_intensity='$adaptive_intensity',campaign_changedate='$SQLdate',list_order_mix='$list_order_mix' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + if ($reset_hopper == 'Y') + { + echo "
REAJUSTE DE LA TOLVA DEL PLOMO DE LA CAMPAÚA\n"; + echo "
- Espera 1 minuto antes de marcar el número siguiente\n"; + $stmt="DELETE from vicidial_hopper where campaign_id='$campaign_id' and status IN('READY','QUEUE','DONE');;"; + $rslt=mysql_query($stmt, $link); + + ### LOG HOPPER RESET TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|CAMPAIGN HOPPERRESET|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CAMPAIGN INFO|$PHP_AUTH_USER|$ip|$stmtA|$reset_hopper|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=34; # go to campaign modification form below +} + +###################### +# ADD=45 modify campaign lead recycle in the system +###################### + +if ($ADD==45) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_delay >= 43200) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) + { + echo "
CAMPAIGN LEAD RECYCLE NOT MODIFIED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
el estado debe estar entre 1 y 6 caracteres en longitud\n"; + echo "
la tentativa retrasa debe ser por lo menos 120 segundos and less than 43200 seconds or 12 hours\n"; + echo "
las tentativas máximas deben ser a partir la 1 a 10\n"; + } + else + { + echo "
CAMPAIGN LEAD MODIFIED: $campaign_id - $status - $attempt_delay\n"; + + $stmt="UPDATE vicidial_lead_recycle SET attempt_delay='$attempt_delay',attempt_maximum='$attempt_maximum',active='$active' where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LEAD RECYCLE |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$SUB=25; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=47 modify agent pause code in the system +###################### + +if ($ADD==47) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) + { + echo "
Co`DIGO DE LA PAUSA DEL AGENTE NO MODIFICADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
pause_code must be between 1 and 6 characters in length\n"; + echo "
pause_code name must be between 2 and 30 characters in length\n"; + } + else + { + echo "
AGENT PAUSE CODE MODIFIED: $campaign_id - $pause_code - $pause_code_name\n"; + + $stmt="UPDATE vicidial_pause_codes SET pause_code_name='$pause_code_name',billable='$billable' where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY AGENT PAUSECODE|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$SUB=27; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=48 modify campaign QC settings in the system +###################### + +if ($ADD==48) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
QC SETTINGS NOT MODIFIED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + } + else + { + $p=0; + $qc_statuses_ct = count($qc_statuses); + while ($p < $qc_statuses_ct) + { + $QC_statuses .= " $qc_statuses[$p]"; + $p++; + } + $p=0; + $qc_lists_ct = count($qc_lists); + while ($p < $qc_lists_ct) + { + $QC_lists .= " $qc_lists[$p]"; + $p++; + } + + if (strlen($QC_statuses)>0) {$QC_statuses .= " -";} + if (strlen($QC_lists)>0) {$QC_lists .= " -";} + + echo "
QC SETTINGS MODIFIED: $campaign_id\n"; + + $stmt="UPDATE vicidial_campaigns SET qc_enabled='$qc_enabled',qc_statuses='$QC_statuses',qc_lists='$QC_lists',qc_web_form_address='$qc_web_form_address',qc_script='$qc_script',qc_get_record_launch='$qc_get_record_launch',qc_show_recording='$qc_show_recording',qc_shift_id='$qc_shift_id' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CAMP QC SETTING|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$SUB=28; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=40A modify campaign survey settings in the system +###################### + +if ($ADD=='40A') +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
SURVEY SETTINGS NOT MODIFIED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + } + else + { + echo "
SURVEY SETTINGS MODIFIED: $campaign_id\n"; + + $stmt="UPDATE vicidial_campaigns SET survey_first_audio_file='$survey_first_audio_file',survey_dtmf_digits='$survey_dtmf_digits',survey_ni_digit='$survey_ni_digit',survey_opt_in_audio_file='$survey_opt_in_audio_file',survey_ni_audio_file='$survey_ni_audio_file',survey_method='$survey_method',survey_no_response_action='$survey_no_response_action',survey_ni_status='$survey_ni_status',survey_response_digit_map='$survey_response_digit_map',survey_xfer_exten='$survey_xfer_exten',survey_camp_record_dir='$survey_camp_record_dir',voicemail_ext='$voicemail_ext' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CAMP SV SETTING|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$SUB='20A'; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=49 modify campaign list mix in the system +###################### + +if ($ADD==49) +{ + if ($LOGmodify_campaigns==1) + { + ##### MODIFY a list mix container entry ##### + if ($stage=='MODIFY') + { + echo ""; + + $Flist_mix_container = "list_mix_container_$vcl_id"; + $Fmix_method = "mix_method_$vcl_id"; + $Fstatus = "status_$vcl_id"; + $Fvcl_name = "vcl_name_$vcl_id"; + + if (isset($_GET[$Flist_mix_container])) {$list_mix_container=$_GET[$Flist_mix_container];} + elseif (isset($_POST[$Flist_mix_container])) {$list_mix_container=$_POST[$Flist_mix_container];} + if (isset($_GET[$Fmix_method])) {$mix_method=$_GET[$Fmix_method];} + elseif (isset($_POST[$Fmix_method])) {$mix_method=$_POST[$Fmix_method];} + if (isset($_GET[$Fstatus])) {$status=$_GET[$Fstatus];} + elseif (isset($_POST[$Fstatus])) {$status=$_POST[$Fstatus];} + if (isset($_GET[$Fvcl_name])) {$vcl_name=$_GET[$Fvcl_name];} + elseif (isset($_POST[$Fvcl_name])) {$vcl_name=$_POST[$Fvcl_name];} + $list_mix_container = preg_replace("/:$/","",$list_mix_container); + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($list_mix_container) < 6) or (strlen($vcl_name) < 2) ) + { + echo "
MIX LISTA NON MODIFICATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + echo "
vcl_name name must be between 2 and 30 characters in length\n"; + } + else + { + $stmt="UPDATE vicidial_campaigns_list_mix SET vcl_name='$vcl_name',mix_method='$mix_method',list_mix_container='$list_mix_container' where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
MIX LISTA MODIFICATO: $campaign_id - $vcl_id - $vcl_name\n"; + } + } + + ##### ADD a list mix container entry ##### + if ($stage=='ADD') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($list_id) < 1) ) + { + echo "
MIX LISTA NON MODIFICATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + echo "
list_id must be at least 2 characters in length\n"; + } + else + { + $stmt="SELECT list_mix_container from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $OLDlist_mix_container = $row[0]; + $NEWlist_mix_container = "$OLDlist_mix_container:$list_id|10|0| -|"; + + $stmt="UPDATE vicidial_campaigns_list_mix SET list_mix_container='$NEWlist_mix_container' where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
MIX LISTA MODIFICATO: $campaign_id - $vcl_id - $list_id\n"; + } + } + + ##### REMOVE a list mix container entry ##### + if ($stage=='REMOVE') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($list_id) < 1) ) + { + echo "
MIX LISTA NON MODIFICATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + echo "
list_id must be at least 2 characters in length\n"; + } + else + { + $stmt="SELECT list_mix_container from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $MIXentries = $MT; + $MIXentries = explode(":", $row[0]); + $Ms_to_print = (count($MIXentries) - 0); + + if ($Ms_to_print < 2) + { + echo "
MIX LISTA NON MODIFICATO: Non puoi cancellare l`ultimo list_id da un mix di liste\n"; + } + else + { + $MIXdetailsPCT = explode('|', $MIXentries[$mix_container_item]); + $MIXpercentPCT = $MIXdetailsPCT[2]; + + $q=0; + while ($Ms_to_print > $q) + { + if ( ($mix_container_item > $q) or ($mix_container_item < $q) ) + { + if ( ($q==0) and ($mix_container_item > 0) ) + { + $MIXdetailsONE = explode('|', $MIXentries[$q]); + $MIXpercentONE = ($MIXdetailsONE[2] + $MIXpercentPCT); + $NEWlist_mix_container .= "$MIXdetailsONE[0]|$MIXdetailsONE[1]|$MIXpercentONE|$MIXdetailsONE[3]|:"; + } + else + { + if ( ($q==1) and ($mix_container_item < 1) ) + { + $MIXdetailsONE = explode('|', $MIXentries[$q]); + $MIXpercentONE = ($MIXdetailsONE[2] + $MIXpercentPCT); + $NEWlist_mix_container .= "$MIXdetailsONE[0]|$MIXdetailsONE[1]|$MIXpercentONE|$MIXdetailsONE[3]|:"; + } + else + { + $NEWlist_mix_container .= "$MIXentries[$q]:"; + } + } + } + $q++; + } + $NEWlist_mix_container = preg_replace("/.$/",'',$NEWlist_mix_container); + + $stmt="UPDATE vicidial_campaigns_list_mix SET list_mix_container='$NEWlist_mix_container' where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
MIX LISTA MODIFICATO: $campaign_id - $vcl_id - $list_id - $mix_container_item\n"; + } + } + } + + ##### ADD a NEW list mix ##### + if ($stage=='NEWMIX') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($vcl_name) < 2) ) + { + echo "
MIX LISTA NON AGGIUNTO- Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + echo "
vcl_name must be at least 2 characters in length\n"; + } + else + { + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
MIX LISTA NON AGGIUNTO- Esiste gia` un mix di lista con questo ID\n"; + } + else + { + $stmt="INSERT INTO vicidial_campaigns_list_mix SET list_mix_container='$list_id|1|100| $status -|',campaign_id='$campaign_id',vcl_id='$vcl_id',vcl_name='$vcl_name',mix_method='$mix_method',status='INACTIVE';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
MIX LISTA AGGIUNTO: $campaign_id - $vcl_id - $vcl_name\n"; + } + } + } + + ##### DELETE an existing list mix ##### + if ($stage=='DELMIX') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) ) + { + echo "
MIX LISTA NON CANCELLATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_campaigns_list_mix where vcl_id='$vcl_id' and campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
MIX LISTA CANCELLATO: $campaign_id - $vcl_id - $vcl_name\n"; + } + } + + ##### Set list mix entry to active ##### + if ($stage=='SETACTIVE') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) ) + { + echo "
MIX LISTA NON ATTIVATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
vcl_id must be between 1 and 20 characters in length\n"; + } + else + { + $stmt="UPDATE vicidial_campaigns_list_mix SET status='INACTIVE' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_campaigns_list_mix SET status='ACTIVE' where vcl_id='$vcl_id' and campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST MIX |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + + echo "
MIX LISTA ATTIVATO: $campaign_id - $vcl_id - $vcl_name\n"; + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$SUB=29; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=411 submit list modifications to the system +###################### + +if ($ADD==411) +{ + if ($LOGmodify_lists==1) + { + echo ""; + + if ( (strlen($list_name) < 2) or (strlen($campaign_id) < 2) ) + { + echo "
LISTA NO MODIFICADA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
el nombre de la lista debe ser por lo menos 2 caracteres en longitud\n"; + } + else + { + echo "
LISTA MODIFICATA: $list_id\n"; + + $stmt="UPDATE vicidial_lists set list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description',list_changedate='$SQLdate' where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + if ($reset_list == 'Y') + { + echo "
RESET ESITI CONTATTI DELLA LISTA CHIAMATI\n"; + $stmtB="UPDATE vicidial_list set called_since_last_reset='N' where list_id='$list_id';"; + $rslt=mysql_query($stmtB, $link); + + ### LOG RESET TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|RESET LIST CALLED |$PHP_AUTH_USER|$ip|list_name='$list_name'|\n"); + fclose($fp); + } + } + if ($campaign_id != "$old_campaign_id") + { + echo "
QUITAR LOS PLOMOS DE LA TOLVA DE LA LISTA DE VIEJA TOLVA DE LA CAMPAÚA ($old_campaign_id)\n"; + $stmtC="DELETE from vicidial_hopper where list_id='$list_id' and campaign_id='$old_campaign_id';"; + $rslt=mysql_query($stmtC, $link); + } + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY LIST INFO |$PHP_AUTH_USER|$ip|$stmt|$stmtB|$stmtC|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=311; # go to list modification form below +} + + +###################### +# ADD=4111 modify in-group info in the system +###################### + +if ($ADD==4111) +{ + if ($LOGmodify_ingroups==1) + { + echo ""; + + if ( (strlen($group_name) < 2) or (strlen($group_color) < 2) ) + { + echo "
GRUPO NO MODIFICADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
el color del nombre de grupo y del grupo debe ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $p=0; + $qc_statuses_ct = count($qc_statuses); + while ($p < $qc_statuses_ct) + { + $QC_statuses .= " $qc_statuses[$p]"; + $p++; + } + $p=0; + $qc_lists_ct = count($qc_lists); + while ($p < $qc_lists_ct) + { + $QC_lists .= " $qc_lists[$p]"; + $p++; + } + + if (strlen($QC_statuses)>0) {$QC_statuses .= " -";} + if (strlen($QC_lists)>0) {$QC_lists .= " -";} + + echo "
GRUPPO MODIFICATO: $group_id\n"; + + $stmt="UPDATE vicidial_inbound_groups set group_name='$group_name', group_color='$group_color', active='$active', web_form_address='" . mysql_real_escape_string($web_form_address) . "', voicemail_ext='$voicemail_ext', next_agent_call='$next_agent_call', fronter_display='$fronter_display', ingroup_script='$script_id', get_call_launch='$get_call_launch', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',drop_exten='$drop_exten',call_time_id='$call_time_id',after_hours_action='$after_hours_action',after_hours_message_filename='$after_hours_message_filename',after_hours_exten='$after_hours_exten',after_hours_voicemail='$after_hours_voicemail',welcome_message_filename='$welcome_message_filename',moh_context='$moh_context',onhold_prompt_filename='$onhold_prompt_filename',prompt_interval='$prompt_interval',agent_alert_exten='$agent_alert_exten',agent_alert_delay='$agent_alert_delay',default_xfer_group='$default_xfer_group',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',ingroup_recording_override='$ingroup_recording_override',ingroup_rec_filename='$ingroup_rec_filename',afterhours_xfer_group='$afterhours_xfer_group',qc_enabled='$qc_enabled',qc_statuses='$QC_statuses',qc_shift_id='$qc_shift_id',qc_get_record_launch='$qc_get_record_launch',qc_show_recording='$qc_show_recording',qc_web_form_address='$qc_web_form_address',qc_script='$qc_script',play_place_in_line='$play_place_in_line',play_estimate_hold_time='$play_estimate_hold_time',hold_time_option='$hold_time_option',hold_time_option_seconds='$hold_time_option_seconds',hold_time_option_exten='$hold_time_option_exten',hold_time_option_voicemail='$hold_time_option_voicemail',hold_time_option_xfer_group='$hold_time_option_xfer_group',hold_time_option_callback_filename='$hold_time_option_callback_filename',hold_time_option_callback_list_id='$hold_time_option_callback_list_id',hold_recall_xfer_group='$hold_recall_xfer_group',no_delay_call_route='$no_delay_call_route',play_welcome_message='$play_welcome_message',answer_sec_pct_rt_stat_one='$answer_sec_pct_rt_stat_one',answer_sec_pct_rt_stat_two='$answer_sec_pct_rt_stat_two' where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY GROUP INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=3111; # go to in-group modification form below +} + + + +###################### +# ADD=4311 modify did info in the system +###################### + +if ($ADD==4311) +{ + if ($LOGmodify_dids==1) + { + echo ""; + + if ( (strlen($did_id) < 1) or (strlen($did_pattern) < 1) ) + { + echo "
DID NOT MODIFIED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
did_extension must be at least 1 character in length\n"; + } + else + { + echo "
DID MODIFIED: $did_pattern\n"; + + $stmt="UPDATE vicidial_inbound_dids set did_pattern='$did_pattern',did_description='$did_description',did_active='$did_active',did_route='$did_route',extension='$extension',exten_context='$exten_context',voicemail_ext='$voicemail_ext',phone='$phone',server_ip='$server_ip',user='$user',user_unavailable_action='$user_unavailable_action',user_route_settings_ingroup='$user_route_settings_ingroup',group_id='$group_id',call_handle_method='$call_handle_method',agent_search_method='$agent_search_method',list_id='$list_id',campaign_id='$campaign_id',phone_code='$phone_code' where did_id='$did_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY DID INFO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=3311; # go to did modification form below +} + + + +###################### +# ADD=41111 modify remote agents info in the system +###################### + +if ($ADD==41111) +{ + if ($LOGmodify_remoteagents==1) + { + echo ""; + + if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) + { + echo "
AGENTES ALEJADOS NO MODIFICADOS - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
El comienzo de la ID del usuario y la extension externa deben ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="UPDATE vicidial_remote_agents set user_start='$user_start', number_of_lines='$number_of_lines', server_ip='$server_ip', conf_exten='$conf_exten', status='$status', campaign_id='$campaign_id', closer_campaigns='$groups_value' where remote_agent_id='$remote_agent_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
LOS AGENTES ALEJADOS SE MODIFICARON\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY OPERATORI REMOTI ENTRY |$PHP_AUTH_USER|$ip|set user_start='$user_start', number_of_lines='$number_of_lines', server_ip='$server_ip', conf_exten='$conf_exten', status='$status', campaign_id='$campaign_id', closer_campaigns='$groups_value' where remote_agent_id='$remote_agent_id'|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=31111; # go to remote agents modification form below +} + + + +###################### +# ADD=411111 modify user group info in the system +###################### + +if ($ADD==411111) +{ + if ($LOGmodify_usergroups==1) + { + echo ""; + + if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) + { + echo "
GRUPO de USUARIO NO MODIFICADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
El nombre y la descripcio`n de grupo deben ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $p=0; + $GROUP_shifts=' '; + $group_shifts_ct = count($group_shifts); + while ($p <= $group_shifts_ct) + { + $GROUP_shifts .= "$group_shifts[$p] "; + $p++; + } + $stmt="UPDATE vicidial_user_groups set user_group='$user_group', group_name='$group_name',allowed_campaigns='$campaigns_value',qc_allowed_campaigns='$qc_campaigns_value',qc_allowed_inbound_groups='$qc_groups_value',group_shifts='$GROUP_shifts',forced_timeclock_login='$forced_timeclock_login' where user_group='$OLDuser_group';"; + $rslt=mysql_query($stmt, $link); + + echo "
GRUPPO UTENTI MODIFICATO\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY USER GROUP ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=311111; # go to user group modification form below +} + +###################### +# ADD=4111111 modify script in the system +###################### + +if ($ADD==4111111) +{ + if ($LOGmodify_scripts==1) + { + echo "\n"; + echo "\n"; + echo ""; + + if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + { + echo "
SCRIPT NON MODIFICATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
El nombre, la descripcio`n y el texto de la escritura deben ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $stmt="UPDATE vicidial_scripts set script_name='$script_name', script_comments='$script_comments', script_text='$script_text', active='$active' where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
SCRIPT MODIFICATO\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY SCRIPT ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=3111111; # go to script modification form below +} + + +###################### +# ADD=41111111 modify filter in the system +###################### + +if ($ADD==41111111) +{ + if ($LOGmodify_filters==1) + { + echo ""; + + if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + { + echo "
FILTRO NON MODIFICATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
ID Filtro, nome e SQL devono essere lunghi almeno 2 caratteri\n"; + } + else + { + $stmt="UPDATE vicidial_lead_filters set lead_filter_name='$lead_filter_name', lead_filter_comments='$lead_filter_comments', lead_filter_sql='$lead_filter_sql' where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
FILTRO MODIFICATO\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY FILTER ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=31111111; # go to filter modification form below +} + + +###################### +# ADD=411111111 modify call time in the system +###################### + +if ($ADD==411111111) +{ + if ($LOGmodify_call_times==1) + { + echo ""; + + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) + { + echo "
TIEMPO DE LA LLAMADA NO MODIFICADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
La identificacio`n del tiempo de la llamada y el nombre deben ser porlo menos 2 caracteres en longitud\n"; + } + else + { + $ct_default_start = preg_replace('/\D/', '', $ct_default_start); + $ct_default_stop = preg_replace('/\D/', '', $ct_default_stop); + $ct_sunday_start = preg_replace('/\D/', '', $ct_sunday_start); + $ct_sunday_stop = preg_replace('/\D/', '', $ct_sunday_stop); + $ct_monday_start = preg_replace('/\D/', '', $ct_monday_start); + $ct_monday_stop = preg_replace('/\D/', '', $ct_monday_stop); + $ct_tuesday_start = preg_replace('/\D/', '', $ct_tuesday_start); + $ct_tuesday_stop = preg_replace('/\D/', '', $ct_tuesday_stop); + $ct_wednesday_start = preg_replace('/\D/', '', $ct_wednesday_start); + $ct_wednesday_stop = preg_replace('/\D/', '', $ct_wednesday_stop); + $ct_thursday_start = preg_replace('/\D/', '', $ct_thursday_start); + $ct_thursday_stop = preg_replace('/\D/', '', $ct_thursday_stop); + $ct_friday_start = preg_replace('/\D/', '', $ct_friday_start); + $ct_friday_stop = preg_replace('/\D/', '', $ct_friday_stop); + $ct_saturday_start = preg_replace('/\D/', '', $ct_saturday_start); + $ct_saturday_stop = preg_replace('/\D/', '', $ct_saturday_stop); + $stmt="UPDATE vicidial_call_times set call_time_name='$call_time_name', call_time_comments='$call_time_comments', ct_default_start='$ct_default_start', ct_default_stop='$ct_default_stop', ct_sunday_start='$ct_sunday_start', ct_sunday_stop='$ct_sunday_stop', ct_monday_start='$ct_monday_start', ct_monday_stop='$ct_monday_stop', ct_tuesday_start='$ct_tuesday_start', ct_tuesday_stop='$ct_tuesday_stop', ct_wednesday_start='$ct_wednesday_start', ct_wednesday_stop='$ct_wednesday_stop', ct_thursday_start='$ct_thursday_start', ct_thursday_stop='$ct_thursday_stop', ct_friday_start='$ct_friday_start', ct_friday_stop='$ct_friday_stop', ct_saturday_start='$ct_saturday_start', ct_saturday_stop='$ct_saturday_stop' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
TIEMPO DE LA LLAMADA MODIFICADO\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY CALL TIME ENTRY |$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=311111111; # go to call time modification form below +} + + +###################### +# ADD=4111111111 modify state call time in the system +###################### + +if ($ADD==4111111111) +{ + if ($LOGmodify_call_times==1) + { + echo ""; + + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) + { + echo "
TIEMPO DE LA LLAMADA DEL ESTADO NO MODIFICADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Indique que identificacio`n del tiempo de la llamada, nombre y estadodebe ser por lo menos 2 caracteres en longitud\n"; + } + else + { + $ct_default_start = preg_replace('/\D/', '', $ct_default_start); + $ct_default_stop = preg_replace('/\D/', '', $ct_default_stop); + $ct_sunday_start = preg_replace('/\D/', '', $ct_sunday_start); + $ct_sunday_stop = preg_replace('/\D/', '', $ct_sunday_stop); + $ct_monday_start = preg_replace('/\D/', '', $ct_monday_start); + $ct_monday_stop = preg_replace('/\D/', '', $ct_monday_stop); + $ct_tuesday_start = preg_replace('/\D/', '', $ct_tuesday_start); + $ct_tuesday_stop = preg_replace('/\D/', '', $ct_tuesday_stop); + $ct_wednesday_start = preg_replace('/\D/', '', $ct_wednesday_start); + $ct_wednesday_stop = preg_replace('/\D/', '', $ct_wednesday_stop); + $ct_thursday_start = preg_replace('/\D/', '', $ct_thursday_start); + $ct_thursday_stop = preg_replace('/\D/', '', $ct_thursday_stop); + $ct_friday_start = preg_replace('/\D/', '', $ct_friday_start); + $ct_friday_stop = preg_replace('/\D/', '', $ct_friday_stop); + $ct_saturday_start = preg_replace('/\D/', '', $ct_saturday_start); + $ct_saturday_stop = preg_replace('/\D/', '', $ct_saturday_stop); + $stmt="UPDATE vicidial_state_call_times set state_call_time_name='$call_time_name', state_call_time_comments='$call_time_comments', sct_default_start='$ct_default_start', sct_default_stop='$ct_default_stop', sct_sunday_start='$ct_sunday_start', sct_sunday_stop='$ct_sunday_stop', sct_monday_start='$ct_monday_start', sct_monday_stop='$ct_monday_stop', sct_tuesday_start='$ct_tuesday_start', sct_tuesday_stop='$ct_tuesday_stop', sct_wednesday_start='$ct_wednesday_start', sct_wednesday_stop='$ct_wednesday_stop', sct_thursday_start='$ct_thursday_start', sct_thursday_stop='$ct_thursday_stop', sct_friday_start='$ct_friday_start', sct_friday_stop='$ct_friday_stop', sct_saturday_start='$ct_saturday_start', sct_saturday_stop='$ct_saturday_stop', state_call_time_state='$state_call_time_state' where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
TIEMPO DE LA LLAMADA DEL ESTADO MODIFICADO\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY STATE CALL TIME ENTRY|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=3111111111; # go to state call time modification form below +} + + +###################### +# ADD=431111111 modify shift in the system +###################### + +if ($ADD==431111111) +{ + if ($LOGmodify_call_times==1) + { + echo ""; + + $shift_length_test = eregi_replace(':','',$shift_length); + if ( (strlen($shift_id) < 2) or (strlen($shift_name) < 2) or (strlen($shift_start_time) < 4) or (strlen($shift_start_time) > 4) or (strlen($shift_length) < 5) or (strlen($shift_length) > 5) or ($shift_start_time > 2359) or ($shift_length_test > 2400) ) + { + echo "
SHIFT DEFINITION NOT MODIFIED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Shift ID and name must be at least 2 characters in length\n"; + echo "
Shift Start Time must be 4 digits in length and be a valid time\n"; + echo "
Shift Length must be 5 characters in length and be 24 hours or less\n"; + } + else + { + $p=0; + $shift_weekdays_ct = count($shift_weekdays); + while ($p <= $shift_weekdays_ct) + { + $SHIFT_weekdays .= "$shift_weekdays[$p]"; + $p++; + } + $shift_start_time = preg_replace('/\D/', '', $shift_start_time); + $stmt="UPDATE vicidial_shifts set shift_name='$shift_name', shift_start_time='$shift_start_time', shift_length='$shift_length', shift_weekdays='$SHIFT_weekdays' where shift_id='$shift_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
SHIFT MODIFIED\n"; + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY SHIFT ENTRY |$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=331111111; # go to shift modification form below +} + + +###################### +# ADD=41111111111 modify phone record in the system +###################### + +if ($ADD==41111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ( ($extension != $old_extension) or ($server_ip != $old_server_ip) ) ) + {echo "
TELEFONO NON MODIFICATO - Esiste gia` un Telefono nel sistema con questo interno\/server\n";} + else + { + if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) + {echo "
TELEFONO NON MODIFICATO - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
TELEFONO MODIFICATO: $extension\n"; + + $stmt="UPDATE phones set extension='$extension', dialplan_number='$dialplan_number', voicemail_id='$voicemail_id', phone_ip='$phone_ip', computer_ip='$computer_ip', server_ip='$server_ip', login='$login', pass='$pass', status='$status', active='$active', phone_type='$phone_type', fullname='$fullname', company='$company', picture='$picture', protocol='$protocol', local_gmt='$local_gmt', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', login_user='$login_user', login_pass='$login_pass', login_campaign='$login_campaign', park_on_extension='$park_on_extension', conf_on_extension='$conf_on_extension', VICIDIAL_park_on_extension='$VICIDIAL_park_on_extension', VICIDIAL_park_on_filename='$VICIDIAL_park_on_filename', monitor_prefix='$monitor_prefix', recording_exten='$recording_exten', voicemail_exten='$voicemail_exten', voicemail_dump_exten='$voicemail_dump_exten', ext_context='$ext_context', dtmf_send_extension='$dtmf_send_extension', call_out_number_group='$call_out_number_group', client_browser='$client_browser', install_directory='$install_directory', local_web_callerID_URL='" . mysql_real_escape_string($local_web_callerID_URL) . "', VICIDIAL_web_URL='" . mysql_real_escape_string($VICIDIAL_web_URL) . "', AGI_call_logging_enabled='$AGI_call_logging_enabled', user_switching_enabled='$user_switching_enabled', conferencing_enabled='$conferencing_enabled', admin_hangup_enabled='$admin_hangup_enabled', admin_hijack_enabled='$admin_hijack_enabled', admin_monitor_enabled='$admin_monitor_enabled', call_parking_enabled='$call_parking_enabled', updater_check_enabled='$updater_check_enabled', AFLogging_enabled='$AFLogging_enabled', QUEUE_ACTION_enabled='$QUEUE_ACTION_enabled', CallerID_popup_enabled='$CallerID_popup_enabled', voicemail_button_enabled='$voicemail_button_enabled', enable_fast_refresh='$enable_fast_refresh', fast_refresh_rate='$fast_refresh_rate', enable_persistant_mysql='$enable_persistant_mysql', auto_dial_next_number='$auto_dial_next_number', VDstop_rec_after_each_call='$VDstop_rec_after_each_call', DBX_server='$DBX_server', DBX_database='$DBX_database', DBX_user='$DBX_user', DBX_pass='$DBX_pass', DBX_port='$DBX_port', DBY_server='$DBY_server', DBY_database='$DBY_database', DBY_user='$DBY_user', DBY_pass='$DBY_pass', DBY_port='$DBY_port', outbound_cid='$outbound_cid', enable_sipsak_messages='$enable_sipsak_messages', email='$email' where extension='$old_extension' and server_ip='$old_server_ip';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFICAR EL telefonO |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=31111111111; # go to phone modification form below +} + + +###################### +# ADD=42111111111 modify phone alias record in the system +###################### + +if ($ADD==42111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from phones_alias where alias_id='$alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( (strlen($alias_id) < 1) or (strlen($alias_name) < 2) ) + {echo "
PHONE ALIAS NOT MODIFIED - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
PHONE ALIAS MODIFIED: $alias_id\n"; + + $stmt="UPDATE phones_alias set alias_name='$alias_name', logins_list='$logins_list' where alias_id='$alias_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFICAR EL telefonOS ALIAS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=32111111111; # go to phone alias modification form below +} + + +###################### +# ADD=411111111111 modify server record in the system +###################### + +if ($ADD==411111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + $stmt="SELECT count(*) from servers where server_id='$server_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ($server_id != $old_server_id) ) + {echo "
SERVER NOT MODIFIED - there is already a server in the system with this server_id\n";} + else + { + $stmt="SELECT count(*) from servers where server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ($server_ip != $old_server_ip) ) + {echo "
SERVIDOR NO MODIFICADO - hay ya un servidor en el sistema con este server_ip\n";} + else + { + if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) + {echo "
SERVIDOR NO MODIFICADO - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
SERVER MODIFICATO: $server_ip\n"; + + $stmt="UPDATE servers set server_id='$server_id',server_description='$server_description',server_ip='$server_ip',active='$active',asterisk_version='$asterisk_version', max_vicidial_trunks='$max_vicidial_trunks', telnet_host='$telnet_host', telnet_port='$telnet_port', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', ASTmgrUSERNAMEupdate='$ASTmgrUSERNAMEupdate', ASTmgrUSERNAMElisten='$ASTmgrUSERNAMElisten', ASTmgrUSERNAMEsend='$ASTmgrUSERNAMEsend', local_gmt='$local_gmt', voicemail_dump_exten='$voicemail_dump_exten', answer_transfer_agent='$answer_transfer_agent', ext_context='$ext_context', sys_perf_log='$sys_perf_log', vd_server_logs='$vd_server_logs', agi_output='$agi_output', vicidial_balance_active='$vicidial_balance_active', balance_trunks_offlimits='$balance_trunks_offlimits' where server_id='$old_server_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFICAR EL SERVIDOR |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=311111111111; # go to server modification form below +} + + +###################### +# ADD=421111111111 modify vicidial server trunks record in the system +###################### + +if ($ADD==421111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $MAXvicidial_trunks = $rowx[0]; + + $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); + + if ($SUMvicidial_trunks > $MAXvicidial_trunks) + { + echo "
EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO AGREGADO - el número de troncos vicidial es demasiado alto: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + } + else + { + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) + { + echo "
EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO MODIFICADO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
la campaña debe estar entre 3 y 8 caracteres en longitud\n"; + echo "
el server_ip retrasa debe ser por lo menos 7 caracteres\n"; + echo "
los troncos deben ser un dígito a partir de la 0 a 9999\n"; + } + else + { + echo "
EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL MODIFICADO: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; + + $stmt="UPDATE vicidial_server_trunks SET dedicated_trunks='$dedicated_trunks',trunk_restriction='$trunk_restriction' where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFICAR EL SERVIDOR TRUNK |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=311111111111; # go to server modification form below +} + + +###################### +# ADD=4111111111111 modify conference record in the system +###################### + +if ($ADD==4111111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ( ($conf_exten != $old_conf_exten) or ($server_ip != $old_server_ip) ) ) + {echo "
CONFERENCIA - hay ya una conferencia en el sistema con esta extension - servidor NO MODIFICADO\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
CONFERENCIA NO MODIFICADA - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
CONFERENCIA MODIFICADA: $conf_exten\n"; + + $stmt="UPDATE conferences set conf_exten='$conf_exten',server_ip='$server_ip',extension='$extension' where conf_exten='$old_conf_exten';"; + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=3111111111111; # go to conference modification form below +} + + +###################### +# ADD=41111111111111 modify vicidial conference record in the system +###################### + +if ($ADD==41111111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ( ($conf_exten != $old_conf_exten) or ($server_ip != $old_server_ip) ) ) + {echo "
VICIDIAL CONFERENCIA - hay ya una conferencia en el sistema con esta extension - servidor NO MODIFICADO\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
VICIDIAL CONFERENCIA NO MODIFICADA - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + echo "
VICIDIAL CONFERENCIA MODIFICADA: $conf_exten\n"; + + $stmt="UPDATE vicidial_conferences set conf_exten='$conf_exten',server_ip='$server_ip',extension='$extension' where conf_exten='$old_conf_exten';"; + $rslt=mysql_query($stmt, $link); + + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=31111111111111; # go to vicidial conference modification form below +} + + + +###################### +# ADD=411111111111111 modify vicidial system settings +###################### + +if ($ADD==411111111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + echo "
IMPOSTAZIONI DI SISTEMA MODIFICATE\n"; + + $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY SYSTEM SETTINGS|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=311111111111111; # go to vicidial system settings form below +} + + +###################### +# ADD=421111111111111 modify/delete system status in the system +###################### + +if ($ADD==421111111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + if (ereg('delete',$stage)) + { + if ( (strlen($status) < 1) or (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$status)) ) + { + echo "
ESITO DI DEFAULT NON ELIMINATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
el estado de sistema no puede ser un estado reservado:B,NA,DNC,NA,DROP,INCALL,QUEUE,NEW\n"; + echo "
el estado de sistema necesita ser por lo menos los caracteres 1 enlongitud\n"; + } + else + { + echo "
SYSTEM STATUS DELETED: $status\n"; + + $stmt="DELETE FROM vicidial_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="DELETE FROM vicidial_campaign_hotkeys where status='$status';"; + $rslt=mysql_query($stmtA, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE SYSTEM STATUS |$PHP_AUTH_USER|$ip|$stmt|$stmtA|\n"); + fclose($fp); + } + } + } + if (ereg('modify',$stage)) + { + if ( (strlen($status) < 1) or (strlen($status_name) < 2) ) + { + echo "
ESITO DI DEFAULT NON MODIFICATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
el estado de sistema necesita ser por lo menos los caracteres 1 enlongitud\n"; + echo "
il nome di un esito di default deve essere lungo almeno 1 carattere\n"; + } + else + { + echo "
ESITO DI DEFAULT MODIFICATO: $status\n"; + + $stmt="UPDATE vicidial_statuses SET status_name='$status_name',selectable='$selectable',human_answered='$human_answered',category='$category' where status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY SYSTEM STATUS |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=321111111111111; # go to system settings modification form below +} + + +###################### +# ADD=431111111111111 modify/delete status category in the system +###################### + +if ($ADD==431111111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + if ( (strlen($vsc_id) < 2) or (preg_match("/^UNDEFINED$/i",$vsc_id)) ) + { + echo "
CATEGORIA ESITI NON MODIFICATA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
la categoria di esiti non puo` essere una categoria riservata: UNDEFINED\n"; + echo "
il nome delle categorie di esiti deve essere lungo almeno 2 caratteri\n"; + } + else + { + if (ereg('delete',$stage)) + { + echo "
CATEGORIA ESISI CANCELLATA: $vsc_id\n"; + + $stmt="DELETE FROM vicidial_status_categories where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE STATUS CATEGORY|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + if (ereg('modify',$stage)) + { + echo "
CATEGORIA ESITI MODIFICATA: $vsc_id\n"; + + $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + { + $tovdad_display = 'N'; + echo "
ERRORE: Ci sono gia` 4 Categorie di Stato attivi nel display TimeOnVDAD\n"; + } + + $stmt="UPDATE vicidial_status_categories SET vsc_name='$vsc_name',vsc_description='$vsc_description',tovdad_display='$tovdad_display',sale_category='$sale_category',dead_lead_category='$dead_lead_category' where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY STATUS CATEGORY|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=331111111111111; # go to system settings modification form below +} + + +###################### +# ADD=441111111111111 modify/delete qc status code in the system +###################### + +if ($ADD==441111111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + if (ereg('delete',$stage)) + { + if ( (strlen($code) < 1) or (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$code)) ) + { + echo "
QC STATUS CODE NOT DELETED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
the qc status code cannot be a reserved esito: B,NA,DNC,NA,DROP,INCALL,QUEUE,NEW\n"; + echo "
the qc status code needs to be at least 1 characters in length\n"; + } + else + { + echo "
QC STATUS CODE DELETED: $code\n"; + + $stmt="DELETE FROM vicidial_qc_codes where code='$code';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE QC STATUS CODE |$PHP_AUTH_USER|$ip|$stmt|$stmtA|\n"); + fclose($fp); + } + } + } + if (ereg('modify',$stage)) + { + if ( (strlen($code) < 1) or (strlen($code_name) < 2) ) + { + echo "
QC STATUS CODE NOT MODIFIED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
the qc status code needs to be at least 1 characters in length\n"; + echo "
the qc status code name needs to be at least 1 characters in length\n"; + } + else + { + echo "
QC STATUS CODE MODIFIED: $code\n"; + + $stmt="UPDATE vicidial_qc_codes SET code_name='$code_name' where code='$code';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY QC STATUS CODE |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=341111111111111; # go to qc status code modification form below +} + + + + +###################################################################################################### +###################################################################################################### +####### 5 series, delete records confirmation +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=5 confirmation before deletion of user +###################### + +if ($ADD==5) +{ + echo ""; + + if ( (strlen($user) < 2) or ($LOGdelete_users < 1) ) + { + echo "
UTENTE NON CANCELLATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
User be at least 2 characters in length\n"; + } + else + { + echo "
CONFIRMACIo`N DE LA CANCELADURA DEL USUARIO: $user\n"; + echo "

Clicca qui per cancellare questo utente $user


\n"; + } + +$ADD='3'; # go to user modification below +} + +###################### +# ADD=51 confirmation before deletion of campaign +###################### + +if ($ADD==51) +{ + echo ""; + + if ( (strlen($campaign_id) < 2) or ($LOGdelete_campaigns < 1) ) + { + echo "
CAMPAGNA NON CANCELLATA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Campagna_id be at least 2 characters in length\n"; + } + else + { + echo "
CONFIRMACIo`N DE LA CANCELADURA DE LA CAMPAÑA: $campaign_id\n"; + echo "

Clicca qui per cancellare la campagna $campaign_id


\n"; + } + +$ADD='31'; # go to campaign modification below +} + +###################### +# ADD=52 confirmation before logging all agents out of campaign of campaign +###################### + +if ($ADD==52) +{ + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
OPERATORI NON DISCONNESSI DALLA CAMPAGNA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Campagna_id be at least 2 characters in length\n"; + } + else + { + echo "
CONFERMA DISCONNESSIONE OPERATORE: $campaign_id\n"; + echo "

Clicca qui per disconnettere tutti gli operatori $campaign_id


\n"; + } + +$ADD='31'; # go to campaign modification below +} + +###################### +# ADD=53 confirmation before Emergency VDAC Jam Clear - deletes oldest LIVE vicidial_auto_call record +###################### + +if ($ADD==53) +{ + if (eregi('IN',$stage)) + {$group_id=$campaign_id;} + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
VDAC NO DESPEJo` PARA LA CAMPAÑA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Campagna_id be at least 2 characters in length\n"; + } + else + { + echo "
CONFIRMACIo`N CLARA DE VDAC: $campaign_id\n"; + echo "

Chasque aquí para suprimir el más viejo VIVEN expediente en VDACpara $campaign_id


\n"; + } + +# go to campaign modification below +if (eregi('IN',$stage)) + {$ADD='3111';} +else + {$ADD='31';} +} + +###################### +# ADD=511 confirmation before deletion of list +###################### + +if ($ADD==511) +{ + echo ""; + + if ( (strlen($list_id) < 2) or ($LOGdelete_lists < 1) ) + { + echo "
LISTA NON CANCELLATA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
List_id be at least 2 characters in length\n"; + } + else + { + echo "
CONFIRMACIo`N DE LA CANCELADURA DE LA LISTA: $list_id\n"; + echo "

Clicca qui per cancellare la lista e tutti i suoi contatti $list_id


\n"; + } + +$ADD='311'; # go to campaign modification below +} + +###################### +# ADD=5111 confirmation before deletion of in-group +###################### + +if ($ADD==5111) +{ + echo ""; + + if ( (strlen($group_id) < 2) or ($LOGdelete_ingroups < 1) ) + { + echo "
GRUPPO INBOUND NON CANCELLATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Group_id be at least 2 characters in length\n"; + } + else + { + echo "
CONFERMA ELIMINAZIONE GRUPPO INBOUND: $group_id\n"; + echo "

Clicca qui per cancellare il gruppo inbound $group_id


\n"; + } + +$ADD='3111'; # go to in-group modification below +} + +###################### +# ADD=5311 confirmation before deletion of did +###################### + +if ($ADD==5311) +{ + echo ""; + + if ( (strlen($did_id) < 1) or ($LOGdelete_dids < 1) ) + { + echo "
DID NOT DELETED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
did_id be at least 1 characters in length\n"; + } + else + { + echo "
DID DELETION CONFIRMATION: $group_id\n"; + echo "

Click here to delete DID $did_id


\n"; + } + +$ADD='3311'; # go to did modification below +} + +###################### +# ADD=51111 confirmation before deletion of remote agent record +###################### + +if ($ADD==51111) +{ + echo ""; + + if ( (strlen($remote_agent_id) < 1) or ($LOGdelete_remote_agents < 1) ) + { + echo "
AGENTE ALEJADO NO SUPRIMIDO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Remote_agent_id be at least 2 characters in length\n"; + } + else + { + echo "
CONFIRMACIo`N ALEJADA DE LA CANCELADURA DEL AGENTE: $remote_agent_id\n"; + echo "

Chasque aquí para suprimir el agente alejado $remote_agent_id


\n"; + } + +$ADD='31111'; # go to remote agent modification below +} + +###################### +# ADD=511111 confirmation before deletion of user group record +###################### + +if ($ADD==511111) +{ + echo ""; + + if ( (strlen($user_group) < 2) or ($LOGdelete_user_groups < 1) ) + { + echo "
GRUPO DE USUARIO NO SUPRIMIDO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
User_group be at least 2 characters in length\n"; + } + else + { + echo "
CONFIRMACIo`N DE LA CANCELADURA DEL GRUPO DE USUARIO: $user_group\n"; + echo "

Chasque aquí para suprimir a grupo de usuario $user_group


\n"; + } + +$ADD='311111'; # go to user group modification below +} + +###################### +# ADD=5111111 confirmation before deletion of script record +###################### + +if ($ADD==5111111) +{ + echo ""; + + if ( (strlen($script_id) < 2) or ($LOGdelete_scripts < 1) ) + { + echo "
SCRIPT NON CANCELLATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Script_id must be at least 2 characters in length\n"; + } + else + { + echo "
CONFIRMACIo`N DE LA CANCELADURA DE LA ESCRITURA: $script_id\n"; + echo "

Clicca qui per cancellare lo script $script_id


\n"; + } + +$ADD='3111111'; # go to script modification below +} + +###################### +# ADD=51111111 confirmation before deletion of filter record +###################### + +if ($ADD==51111111) +{ + echo ""; + + if ( (strlen($lead_filter_id) < 2) or ($LOGdelete_filters < 1) ) + { + echo "
FILTRO NON CANCELLATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
ID Filtro deve essere lungo almeno 2 caratteri\n"; + } + else + { + echo "
FILTER DELETION CONFIRMATION: $lead_filter_id\n"; + echo "

Clicca qui per cancellare il filtro$lead_filter_id


\n"; + } + +$ADD='31111111'; # go to filter modification below +} + +###################### +# ADD=511111111 confirmation before deletion of call time record +###################### + +if ($ADD==511111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
TIEMPO DE LA LLAMADA NO SUPRIMIDO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
_ llamar tiempo identificacio`n deber ser por lo menos 2 carácter enlongitud\n"; + } + else + { + echo "
CONFIRMACIo`N DE LA CANCELADURA DEL TIEMPO DE LA LLAMADA: $call_time_id\n"; + echo "

Click here to delete call time $call_time_id


\n"; + } + +$ADD='311111111'; # go to call time modification below +} + +###################### +# ADD=5111111111 confirmation before deletion of state call time record +###################### + +if ($ADD==5111111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
TIEMPO DE LA LLAMADA DEL ESTADO NO SUPRIMIDO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
_ llamar tiempo identificacio`n deber ser por lo menos 2 carácter enlongitud\n"; + } + else + { + echo "
CONFIRMACIo`N DE LA CANCELADURA DEL TIEMPO DE LA LLAMADA DEL ESTADO: $call_time_id\n"; + echo "

Click here to delete state call time $call_time_id


\n"; + } + +$ADD='3111111111'; # go to state call time modification below +} + +###################### +# ADD=531111111 confirmation before deletion of shift record +###################### + +if ($ADD==531111111) +{ + echo ""; + + if ( (strlen($shift_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
SHIFT NOT DELETED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Shift ID must be at least 2 characters in length\n"; + } + else + { + echo "
SHIFT DELETION CONFIRMATION: $shift_id\n"; + echo "

Click here to delete shift $shift_id


\n"; + } + +$ADD='331111111'; # go to call time modification below +} + +###################### +# ADD=51111111111 confirmation before deletion of phone record +###################### + +if ($ADD==51111111111) +{ + echo ""; + + if ( (strlen($extension) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
TELEFONO NON CANCELLATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Extension be at least 2 characters in length\n"; + echo "
IP Server be at least 7 characters in length\n"; + } + else + { + echo "
CONFIRMACIo`N DE LA CANCELADURA DEL telefonO: $extension - $server_ip\n"; + echo "

Clicca qui per cancellare il telefono $extension - $server_ip


\n"; + } +$ADD='31111111111'; # go to phone modification below +} + + +###################### +# ADD=52111111111 confirmation before deletion of phone alias record +###################### + +if ($ADD==52111111111) +{ + echo ""; + + if ( (strlen($alias_id) < 1) or ($LOGast_delete_phones < 1) ) + { + echo "
PHONE ALIAS NOT DELETED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Alias ID must be at least 2 characters in length\n"; + } + else + { + echo "
PHONE ALIAS DELETION CONFIRMATION: $alias_id\n"; + echo "

Clicca qui per cancellare il telefono alias $alias_id


\n"; + } +$ADD='32111111111'; # go to phone alias modification below +} + + +###################### +# ADD=511111111111 confirmation before deletion of server record +###################### + +if ($ADD==511111111111) +{ + echo ""; + + if ( (strlen($server_id) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
SERVER NOT DELETED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
ID Server be at least 2 characters in length\n"; + echo "
IP Server be at least 7 characters in length\n"; + } + else + { + echo "
SERVER DELETION CONFIRMATION: $server_id - $server_ip\n"; + echo "

Clicca qui per cancellare il telefono $server_id - $server_ip


\n"; + } +$ADD='311111111111'; # go to server modification below +} + + +###################### +# ADD=5111111111111 confirmation before deletion of conference record +###################### + +if ($ADD==5111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
CONFERENCE NOT DELETED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Conference must be at least 2 characters in length\n"; + echo "
IP Server be at least 7 characters in length\n"; + } + else + { + echo "
CONFERENCE DELETION CONFIRMATION: $conf_exten - $server_ip\n"; + echo "

Clicca qui per cancellare il telefono $conf_exten - $server_ip


\n"; + } +$ADD='3111111111111'; # go to conference modification below +} + + +###################### +# ADD=51111111111111 confirmation before deletion of vicidial conference record +###################### + +if ($ADD==51111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
VICIDIAL CONFERENCE NOT DELETED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Conference must be at least 2 characters in length\n"; + echo "
IP Server be at least 7 characters in length\n"; + } + else + { + echo "
VICIDIAL CONFERENCE DELETION CONFIRMATION: $conf_exten - $server_ip\n"; + echo "

Clicca qui per cancellare il telefono $conf_exten - $server_ip


\n"; + } +$ADD='31111111111111'; # go to vicidial conference modification below +} + + + +###################################################################################################### +###################################################################################################### +####### 6 series, delete records +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=6 delete user record +###################### + +if ($ADD==6) +{ + echo ""; + + if ( ( strlen($user) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_users < 1) ) + { + echo "
UTENTE NON CANCELLATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
User be at least 2 characters in length\n"; + } + else + { + $stmtA="DELETE from vicidial_users where user='$user' limit 1;"; + $rslt=mysql_query($stmtA, $link); + + $stmt="DELETE from vicidial_campaign_agents where user='$user';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_inbound_group_agents where user='$user';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING USER!!!!|$PHP_AUTH_USER|$ip|$user|$stmtA|$stmt|\n"); + fclose($fp); + } + echo "
CANCELADURA DEL USUARIO TERMINADA: $user\n"; + echo "

\n"; + } + +$ADD='0'; # go to user list +} + +###################### +# ADD=61 delete campaign record +###################### + +if ($ADD==61) +{ + echo ""; + + if ( ( strlen($campaign_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_campaigns < 1) ) + { + echo "
CAMPAGNA NON CANCELLATA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Campagna_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_campaigns where campaign_id='$campaign_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_agents where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_live_agents where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_statuses where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_hotkeys where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_callbacks where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_stats where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_lead_recycle where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_server_stats where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_server_trunks where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_pause_codes where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaigns_list_mix where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
QUITAR LOS PLOMOS DE LA TOLVA DE LA LISTA DE VIEJA TOLVA DE LA CAMPAÚA ($campaign_id)\n"; + $stmt="DELETE from vicidial_hopper where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!DELETING CAMPAIGN!|$PHP_AUTH_USER|$ip|campaign_id='$campaign_id'|\n"); + fclose($fp); + } + echo "
LA CANCELADURA DE LA CAMPAÑA TERMINo`: $campaign_id\n"; + echo "

\n"; + } + +$ADD='10'; # go to campaigns list +} + +###################### +# ADD=62 Logout all agents from a campaign +###################### + +if ($ADD==62) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
OPERATORI NON DISCONNESSI DALLA CAMPAGNA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Campagna_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_live_agents where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!AGENT LOGOUT!!!!!!|$PHP_AUTH_USER|$ip|campaign_id='$campaign_id'|\n"); + fclose($fp); + } + echo "
DISCONNESSIONE OPERATORI COMPLETATA: $campaign_id\n"; + echo "

\n"; + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD='31'; # go to campaign modification below +} + + +###################### +# ADD=63 Emergency VDAC Jam Clear +###################### + +if ($ADD==63) +{ + if ($LOGmodify_campaigns==1) + { + if (eregi('IN',$stage)) + {$group_id=$campaign_id;} + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
VDAC NO DESPEJo` PARA LA CAMPAÑA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Campagna_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_auto_calls where status='LIVE' and campaign_id='$campaign_id' order by call_time limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|EMERGENCY VDAC CLEAR|$PHP_AUTH_USER|$ip|campaign_id='$campaign_id'|\n"); + fclose($fp); + } + echo "
DE REGISTRO PASADO DE VDAC DESPEJADA PARA LA CAMPAÑA: $campaign_id\n"; + echo "

\n"; + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +# go to campaign modification below +if (eregi('IN',$stage)) + {$ADD='3111';} +else + {$ADD='31';} +} + + +###################### +# ADD=65 delete campaign lead recycle in the system +###################### + +if ($ADD==65) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
EL PLOMO DE LA CAMPAÑA RECICLA NO SUPRIMIDO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
el estado debe estar entre 1 y 6 caracteres en longitud\n"; + echo "
la tentativa retrasa debe ser por lo menos 120 segundos\n"; + echo "
las tentativas máximas deben ser a partir la 1 a 10\n"; + } + else + { + echo "
EL PLOMO DE LA CAMPAÑA RECICLA SUPRIMIDO: $campaign_id - $status - $attempt_delay\n"; + + $stmt="DELETE FROM vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE LEAD RECYCLE |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$SUB=25; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=66 delete auto alt dial status from the campaign +###################### + +if ($ADD==66) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + {echo "
ESTADO AUTO DEL DIAL DEL ALT NO SUPRIMIDO - este estado del dial del alt del automo`vil no está en esta campaña\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
ESTADO AUTO DEL DIAL DEL ALT NO SUPRIMIDO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
el estado debe estar entre 1 y 6 caracteres en longitud\n"; + } + else + { + echo "
ESTADO AUTO DEL DIAL DEL ALT SUPRIMIDO: $campaign_id - $status\n"; + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + $auto_alt_dial_statuses = eregi_replace(" $status "," ",$row[0]); + $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE AUTALTDIALSTTUS|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$SUB=26; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=67 delete agent pause code in the system +###################### + +if ($ADD==67) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) ) + { + echo "
Co`DIGO DE LA PAUSA DE LA CAMPAÑA NO SUPRIMIDO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
pause code must be between 1 and 6 characters in length\n"; + } + else + { + echo "
CAMPAIGN PAUSE CODE DELETED: $campaign_id - $pause_code\n"; + + $stmt="DELETE FROM vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE AGENT PAUSECODE|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$SUB=27; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=68 remove campaign dial status +###################### + +if ($ADD==68) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + {echo "
ESITO CAMPAGNA NON RIMOSSO - questo esito di chiamata non e` selezionato per questa campagna\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
ESITO CAMPAGNA NON RIMOSSO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
el estado debe estar entre 1 y 6 caracteres en longitud\n"; + } + else + { + echo "
ESITO CAMPAGNA RIMOSSO: $campaign_id - $status\n"; + + $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + $dial_statuses = eregi_replace(" $status "," ",$row[0]); + $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DIAL STATUS REMOVED |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +#$SUB=28; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=611 delete list record and all leads within it +###################### + +if ($ADD==611) +{ + echo ""; + + if ( ( strlen($list_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_lists < 1) ) + { + echo "
LISTA NON CANCELLATA - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
List_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_lists where list_id='$list_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + echo "
QUITAR LOS PLOMOS DE LA TOLVA DE LA LISTA DE VIEJA TOLVA DE LA CAMPAÚA ($list_id)\n"; + $stmt="DELETE from vicidial_hopper where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
QUITAR LOS PLOMOS DE LA LISTA DE LA TABLA DE VICIDIAL_LIST\n"; + $stmt="DELETE from vicidial_list where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING LIST!!!!|$PHP_AUTH_USER|$ip|list_id='$list_id'|\n"); + fclose($fp); + } + echo "
LA CANCELADURA DE LA LISTA TERMINo`: $list_id\n"; + echo "

\n"; + } + +$ADD='100'; # go to lists list +} + +###################### +# ADD=6111 delete in-group record +###################### + +if ($ADD==6111) +{ + echo ""; + + if ( (strlen($group_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_ingroups < 1) ) + { + echo "
GRUPPO INBOUND NON CANCELLATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Group_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_inbound_groups where group_id='$group_id' and group_id NOT IN('AGENTDIRECT') limit 1;"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_inbound_group_agents where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_live_inbound_agents where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_stats where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING IN-GROUP!!|$PHP_AUTH_USER|$ip|group_id='$group_id'|\n"); + fclose($fp); + } + echo "
ELIMINAZIONE GRUPPO INBOUND COMPLETATA: $group_id\n"; + echo "

\n"; + } + +$ADD='1000'; # go to in-group list +} + +###################### +# ADD=6311 delete did record +###################### + +if ($ADD==6311) +{ + echo ""; + + if ( (strlen($did_id) < 1) or ($CoNfIrM != 'YES') or ($LOGdelete_dids < 1) ) + { + echo "
DID NOT DELETED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
did_id be at least 1 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_inbound_dids where did_id='$did_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING DID!!!!!!!|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + echo "
DID DELETION COMPLETED: $did_id\n"; + echo "

\n"; + } + +$ADD='1300'; # go to did list +} + +###################### +# ADD=61111 delete remote agent record +###################### + +if ($ADD==61111) +{ + echo ""; + + if ( (strlen($remote_agent_id) < 1) or ($CoNfIrM != 'YES') or ($LOGdelete_remote_agents < 1) ) + { + echo "
AGENTE ALEJADO NO SUPRIMIDO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Remote_agent_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_remote_agents where remote_agent_id='$remote_agent_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING RMTAGENT!!|$PHP_AUTH_USER|$ip|remote_agent_id='$remote_agent_id'|\n"); + fclose($fp); + } + echo "
CANCELADURA ALEJADA DEL AGENTE TERMINADA: $remote_agent_id\n"; + echo "

\n"; + } + +$ADD='10000'; # go to remote agents list +} + +###################### +# ADD=611111 delete user group record +###################### + +if ($ADD==611111) +{ + echo ""; + + if ( (strlen($user_group) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_user_groups < 1) ) + { + echo "
GRUPO DE USUARIO NO SUPRIMIDO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
User_group be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_user_groups where user_group='$user_group' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING USRGROUP!!|$PHP_AUTH_USER|$ip|user_group='$user_group'|\n"); + fclose($fp); + } + echo "
CANCELADURA DEL GRUPO DE USUARIO TERMINADA: $user_group\n"; + echo "

\n"; + } + +$ADD='100000'; # go to user group list +} + +###################### +# ADD=6111111 delete script record +###################### + +if ($ADD==6111111) +{ + echo ""; + + if ( (strlen($script_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_scripts < 1) ) + { + echo "
SCRIPT NON CANCELLATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Script_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_scripts where script_id='$script_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING SCRIPT!!!!|$PHP_AUTH_USER|$ip|script_id='$script_id'|\n"); + fclose($fp); + } + echo "
CANCELADURA DE LA ESCRITURA TERMINADA: $script_id\n"; + echo "

\n"; + } + +$ADD='1000000'; # go to script list +} + + +###################### +# ADD=61111111 delete filter record +###################### + +if ($ADD==61111111) +{ + echo ""; + + if ( (strlen($lead_filter_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_filters < 1) ) + { + echo "
FILTRO NON CANCELLATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
ID Filtro deve essere lungo almeno 2 caratteri\n"; + } + else + { + $stmt="DELETE from vicidial_lead_filters where lead_filter_id='$lead_filter_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING FILTER!!!!|$PHP_AUTH_USER|$ip|lead_filter_id='$lead_filter_id'|\n"); + fclose($fp); + } + echo "
CANCELLAZIONE FILTRO COMPLETATA: $lead_filter_id\n"; + echo "

\n"; + } + +$ADD='10000000'; # go to filter list +} + + +###################### +# ADD=611111111 delete call times record +###################### + +if ($ADD==611111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
TIEMPO DE LA LLAMADA NO SUPRIMIDO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
_ llamar tiempo identificacio`n deber ser por lo menos 2 carácter enlongitud\n"; + } + else + { + $stmt="DELETE from vicidial_call_times where call_time_id='$call_time_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING CALL TIME!|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + echo "
_ LLAMAR TIEMPO CANCELADURA TERMINAR: $call_time_id\n"; + echo "

\n"; + } + +$ADD='100000000'; # go to call times list +} + + +###################### +# ADD=6111111111 delete state call times record +###################### + +if ($ADD==6111111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
TIEMPO DE LA LLAMADA DEL ESTADO NO SUPRIMIDO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
_ llamar tiempo identificacio`n deber ser por lo menos 2 carácter enlongitud\n"; + } + else + { + $stmt="DELETE from vicidial_state_call_times where state_call_time_id='$call_time_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT call_time_id,ct_state_call_times from vicidial_call_times where ct_state_call_times LIKE \"%|$call_time_id|%\" order by call_time_id;"; + $rslt=mysql_query($stmt, $link); + $sct_to_print = mysql_num_rows($rslt); + $sct_list=''; + + $o=0; + while ($sct_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $sct_ids[$o] = "$rowx[0]"; + $sct_states[$o] = "$rowx[1]"; + $o++; + } + $o=0; + + while ($sct_to_print > $o) { + $sct_states[$o] = eregi_replace("\|$call_time_id\|",'|',$sct_states[$o]); + $stmt="UPDATE vicidial_call_times set ct_state_call_times='$sct_states[$o]' where call_time_id='$sct_ids[$o]';"; + $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + echo "Regla Del Estado Quitada: $sct_ids[$o]
\n"; + $o++; + } + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING CALL TIME!|$PHP_AUTH_USER|$ip|state_call_time_id='$call_time_id'|\n"); + fclose($fp); + } + echo "
CANCELADURA DEL TIEMPO DE LA LLAMADA DEL ESTADO TERMINADA: $call_time_id\n"; + echo "

\n"; + } + +$ADD='1000000000'; # go to call times list +} + + +###################### +# ADD=631111111 delete shift record +###################### + +if ($ADD==631111111) +{ + echo ""; + + if ( (strlen($shift_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
SHIFT NOT DELETED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Shift ID must be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_shifts where shift_id='$shift_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETING SHIFT!!!!!|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + echo "
SHIFT DELETION COMPLETED: $shift_id\n"; + echo "

\n"; + } + +$ADD='130000000'; # go to shifts list +} + + +###################### +# ADD=61111111111 delete phone record +###################### + +if ($ADD==61111111111) +{ + echo ""; + + if ( (strlen($extension) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
TELEFONO NON CANCELLATO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Extension be at least 2 characters in length\n"; + echo "
IP Server be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from phones where extension='$extension' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING PHONE!!!|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + echo "
LA CANCELADURA DEL telefonO TERMINo`: $extension - $server_ip\n"; + echo "

\n"; + } +$ADD='10000000000'; # go to phone list +} + + +###################### +# ADD=62111111111 delete phone alias record +###################### + +if ($ADD==62111111111) +{ + echo ""; + + if ( (strlen($alias_id) < 2) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
PHONE ALIAS NOT DELETED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Alias ID must be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from phones_alias where alias_id='$alias_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!DELETE PHONE ALIAS!|$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + echo "
PHONE ALIAS DELETION COMPLETED: $alias_id\n"; + echo "

\n"; + } +$ADD='12000000000'; # go to phone alias list +} + + +###################### +# ADD=611111111111 delete server record +###################### + +if ($ADD==611111111111) +{ + echo ""; + + if ( (strlen($server_id) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
SERVER NOT DELETED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
ID Server be at least 2 characters in length\n"; + echo "
IP Server be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from servers where server_id='$server_id' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING SERVER!!|$PHP_AUTH_USER|$ip|server_id='$server_id'|server_ip='$server_ip'|\n"); + fclose($fp); + } + echo "
SERVER DELETION COMPLETED: $server_id - $server_ip\n"; + echo "

\n"; + } +$ADD='100000000000'; # go to server list +} + + +###################### +# ADD=621111111111 delete vicidial server trunk record in the system +###################### + +if ($ADD==621111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) ) + { + echo "
EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL NO SUPRIMIDO - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
la campaña debe estar entre 3 y 8 caracteres en longitud\n"; + echo "
el server_ip retrasa debe ser por lo menos 7 caracteres\n"; + } + else + { + echo "
EXPEDIENTE DEL TRONCO DEL SERVIDOR DE VICIDIAL SUPRIMIDO: $campaign_id - $server_ip\n"; + + $stmt="DELETE FROM vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|DELETE SERVER TRUNK |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +$ADD=311111111111; # go to server modification form below +} + + +###################### +# ADD=6111111111111 delete conference record +###################### + +if ($ADD==6111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
CONFERENCE NOT DELETED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Conference be at least 2 characters in length\n"; + echo "
IP Server be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from conferences where conf_exten='$conf_exten' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING CONF!!!!|$PHP_AUTH_USER|$ip|conf_exten='$conf_exten'|server_ip='$server_ip'|\n"); + fclose($fp); + } + echo "
CONFERENCE DELETION COMPLETED: $conf_exten - $server_ip\n"; + echo "

\n"; + } +$ADD='1000000000000'; # go to conference list +} + + +###################### +# ADD=61111111111111 delete vicidial conference record +###################### + +if ($ADD==61111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
VICIDIAL CONFERENCE NOT DELETED - Per favore torna indietro e ricontrolla i dati inseriti\n"; + echo "
Conference be at least 2 characters in length\n"; + echo "
IP Server be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG CHANGES TO LOG FILE ### + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|!!!DELETING CONF!!!!|$PHP_AUTH_USER|$ip|conf_exten='$conf_exten'|server_ip='$server_ip'|\n"); + fclose($fp); + } + echo "
VICIDIAL CONFERENCE DELETION COMPLETED: $conf_exten - $server_ip\n"; + echo "

\n"; + } +$ADD='10000000000000'; # go to vicidial conference list +} + + + + + +###################################################################################################### +###################################################################################################### +####### 3 series, record modification forms +###################################################################################################### +###################################################################################################### + + + + +###################### +# ADD=3 modify user info in the system +###################### + +if ($ADD==3) +{ + if ($LOGmodify_users==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $user_level = $row[4]; + $user_group = $row[5]; + $phone_login = $row[6]; + $phone_pass = $row[7]; + $delete_users = $row[8]; + $delete_user_groups = $row[9]; + $delete_lists = $row[10]; + $delete_campaigns = $row[11]; + $delete_ingroups = $row[12]; + $delete_remote_agents = $row[13]; + $load_leads = $row[14]; + $campaign_detail = $row[15]; + $ast_admin_access = $row[16]; + $ast_delete_phones = $row[17]; + $delete_scripts = $row[18]; + $modify_leads = $row[19]; + $hotkeys_active = $row[20]; + $change_agent_campaign =$row[21]; + $agent_choose_ingroups =$row[22]; + $scheduled_callbacks = $row[24]; + $agentonly_callbacks = $row[25]; + $agentcall_manual = $row[26]; + $vicidial_recording = $row[27]; + $vicidial_transfers = $row[28]; + $delete_filters = $row[29]; + $alter_agent_interface_options =$row[30]; + $closer_default_blended = $row[31]; + $delete_call_times = $row[32]; + $modify_call_times = $row[33]; + $modify_users = $row[34]; + $modify_campaigns = $row[35]; + $modify_lists = $row[36]; + $modify_scripts = $row[37]; + $modify_filters = $row[38]; + $modify_ingroups = $row[39]; + $modify_usergroups = $row[40]; + $modify_remoteagents = $row[41]; + $modify_servers = $row[42]; + $view_reports = $row[43]; + $vicidial_recording_override = $row[44]; + $alter_custdata_override = $row[45]; + $qc_enabled = $row[46]; + $qc_user_level = $row[47]; + $qc_pass = $row[48]; + $qc_finish = $row[49]; + $qc_commit = $row[50]; + $add_timeclock_log = $row[51]; + $modify_timeclock_log = $row[52]; + $delete_timeclock_log = $row[53]; + $alter_custphone_override = $row[54]; + $vdc_agent_api_access = $row[55]; + $modify_inbound_dids = $row[56]; + $delete_inbound_dids = $row[57]; + + + if ( ($user_level >= $LOGuser_level) and ($LOGuser_level < 9) ) + { + echo "
Non hai l`autorizzazione per modificare questo utente: $row[1]\n"; + } + else + { + echo "
MODIFICA UN UTENTE: $row[1]\n"; + if ($LOGuser_level > 8) + {echo "\n";} + else + { + if ($LOGalter_agent_interface == "1") + {echo "\n";} + else + {echo "\n";} + } + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + if ( ($LOGuser_level > 8) or ($LOGalter_agent_interface == "1") ) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + if ($LOGuser_level > 8) + { + echo "\n"; + +#9BB9FB +#B9CBFD + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + } + echo "\n"; + echo "
Numero Utente: $row[1]$NWB#vicidial_users-user$NWE
Password: $NWB#vicidial_users-pass$NWE
Nome Completo: $NWB#vicidial_users-full_name$NWE
Livello Utente: $NWB#vicidial_users-user_level$NWE
Gruppo Utente: $NWB#vicidial_users-user_group$NWE
Login Telefono: $NWB#vicidial_users-phone_login$NWE
Password Telefono: $NWB#vicidial_users-phone_pass$NWE
OPZIONI INTERFACCIA OPERATORE:
El Agente Elige Ingroups: $NWB#vicidial_users-agent_choose_ingroups$NWE
Hot Keys Activo: $NWB#vicidial_users-hotkeys_active$NWE
Servicios repetidos Programar: $NWB#vicidial_users-scheduled_callbacks$NWE
Richiami esclusivi dell`operatore: $NWB#vicidial_users-agentonly_callbacks$NWE
Chiamata Manuale Operatore: $NWB#vicidial_users-agentcall_manual$NWE
Registrazione Vicidial: $NWB#vicidial_users-vicidial_recording$NWE
Trasferimenti Vicidial: $NWB#vicidial_users-vicidial_transfers$NWE
Un Defecto Más cercano Mezclado: $NWB#vicidial_users-closer_default_blended$NWE
Invalidacio`n De la grabacion de VICIDIAL:$NWB#vicidial_users-vicidial_recording_override$NWE
El Agente Altera La Invalidacio`n De los Datos Del Cliente: $NWB#vicidial_users-alter_custdata_override$NWE
Agent Alter Customer Phone Override: $NWB#vicidial_users-alter_custphone_override$NWE
Classifiche Campagna:$NWB#vicidial_users-campaign_ranks$NWE
\n"; + echo "\n"; + echo "$RANKcampaigns_list"; + echo "
\n"; + echo "
Gruppi Inbound: $NWB#vicidial_users-closer_campaigns$NWE
\n"; + echo "\n"; + echo "$RANKgroups_list"; + echo "
\n"; + echo "
QC Enabled: $NWB#vicidial_users-qc_enabled$NWE
QC Livello Utente: $NWB#vicidial_users-qc_user_level$NWE
QC Pass: $NWB#vicidial_users-qc_pass$NWE
QC Finish: $NWB#vicidial_users-qc_finish$NWE
QC Commit: $NWB#vicidial_users-qc_commit$NWE
OPZIONI INTERFACCIA AMMINISTRATORE:
Visualizza Report: $NWB#vicidial_users-view_reports$NWE
Modifica Opzioni Interfaccia Operatore: $NWB#vicidial_users-alter_agent_interface_options$NWE
Modifica Utenti: $NWB#vicidial_users-modify_sections$NWE
Cambia la campagna di un operatore: $NWB#vicidial_users-change_agent_campaign$NWE
Cancella Utenti: $NWB#vicidial_users-delete_users$NWE
Modifique A Grupos De Usuario: $NWB#vicidial_users-modify_sections$NWE
Suprima a grupos de usuario: $NWB#vicidial_users-delete_user_groups$NWE
Modifica Liste: $NWB#vicidial_users-modify_sections$NWE
Cancella Liste: $NWB#vicidial_users-delete_lists$NWE
Carica Contatti: $NWB#vicidial_users-load_leads$NWE
Modifica Contatti: $NWB#vicidial_users-modify_leads$NWE
Modifica Campagne: $NWB#vicidial_users-modify_sections$NWE
Dettagli Campagna: $NWB#vicidial_users-campaign_detail$NWE
Cancella Campagne: $NWB#vicidial_users-delete_campaigns$NWE
Modifica Gruppi Inbound: $NWB#vicidial_users-modify_sections$NWE
En-Grupos de la cancelacio`n: $NWB#vicidial_users-delete_ingroups$NWE
Modify DIDs: $NWB#vicidial_users-modify_sections$NWE
Delete DIDs: $NWB#vicidial_users-delete_ingroups$NWE
Modifica Operatori Remoti: $NWB#vicidial_users-modify_sections$NWE
Suprima los agentes alejados: $NWB#vicidial_users-delete_remote_agents$NWE
Modifica Script: $NWB#vicidial_users-modify_sections$NWE
Cancella Script: $NWB#vicidial_users-delete_scripts$NWE
Modifica Filtri: $NWB#vicidial_users-modify_sections$NWE
Cancella Filtros: $NWB#vicidial_users-delete_filters$NWE
Acceso de AGC Admin: $NWB#vicidial_users-ast_admin_access$NWE
La cancelacio`n de AGC telefona: $NWB#vicidial_users-ast_delete_phones$NWE
Modifique El Tiempo De la Llamadas: $NWB#vicidial_users-modify_call_times$NWE
Delete Orari Chiamata: $NWB#vicidial_users-delete_call_times$NWE
Modifica Server: $NWB#vicidial_users-modify_sections$NWE
Agent API Access: $NWB#vicidial_users-vdc_agent_api_access$NWE
Add Timeclock Log Record: $NWB#vicidial_users-add_timeclock_log$NWE
Modify Timeclock Log Record: $NWB#vicidial_users-modify_timeclock_log$NWE
Delete Timeclock Log Record: $NWB#vicidial_users-delete_timeclock_log$NWE
\n"; + + if ($LOGdelete_users > 0) + { + echo "

CANCELLA QUESTO UTENTE\n"; + } + echo "

Clicca qui per la tabella degli orari dell`utente\n"; + echo "

Clicca qui per visualizzare lo stato dell`utente\n"; + echo "

Clicca qui per le statistiche dell`utente\n"; + echo "

Clicca qui per i richiami dell`utente\n"; + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=31 modify campaign info in the system - Detail view +###################### + +if ( ($LOGcampaign_detail < 1) and ($ADD==31) ) {$ADD=34;} # send to Basic if not allowed + +if ( ($ADD==31) and ( (!eregi("$campaign_id",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) ) + {$ADD=30;} # send to not allowed screen if not in vicidial_user_groups allowed_campaigns list + +if ($ADD==31) +{ + if ($LOGmodify_campaigns==1) + { + if ($stage=='show_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='Y' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + if ($stage=='hide_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='N' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT * from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $campaign_name = $row[1]; + $dial_status_a = $row[3]; + $dial_status_b = $row[4]; + $dial_status_c = $row[5]; + $dial_status_d = $row[6]; + $dial_status_e = $row[7]; + $lead_order = $row[8]; + $web_form_address = $row[11]; + $allow_closers = $row[12]; + $hopper_level = $row[13]; + $auto_dial_level = $row[14]; + $next_agent_call = $row[15]; + $local_call_time = $row[16]; + $voicemail_ext = $row[17]; + $dial_timeout = $row[18]; + $dial_prefix = $row[19]; + $campaign_cid = $row[20]; + $campaign_vdad_exten = $row[21]; + $campaign_rec_exten = $row[22]; + $campaign_recording = $row[23]; + $campaign_rec_filename = $row[24]; + $script_id = $row[25]; + $get_call_launch = $row[26]; + $am_message_exten = $row[27]; + $amd_send_to_vmx = $row[28]; + $xferconf_a_dtmf = $row[29]; + $xferconf_a_number = $row[30]; + $xferconf_b_dtmf = $row[31]; + $xferconf_b_number = $row[32]; + $alt_number_dialing = $row[33]; + $scheduled_callbacks = $row[34]; + $lead_filter_id = $row[35]; + if ($lead_filter_id=='') {$lead_filter_id='NONE';} + $drop_call_seconds = $row[36]; + $drop_action = $row[37]; + $safe_harbor_exten = $row[38]; + $display_dialable_count = $row[39]; + $wrapup_seconds = $row[40]; + $wrapup_message = $row[41]; + # $closer_campaigns = $row[42]; + $use_internal_dnc = $row[43]; + $allcalls_delay = $row[44]; + $omit_phone_code = $row[45]; + $dial_method = $row[46]; + $available_only_ratio_tally = $row[47]; + $adaptive_dropped_percentage = $row[48]; + $adaptive_maximum_level = $row[49]; + $adaptive_latest_server_time = $row[50]; + $adaptive_intensity = $row[51]; + $adaptive_dl_diff_target = $row[52]; + $concurrent_transfers = $row[53]; + $auto_alt_dial = $row[54]; + $auto_alt_dial_statuses = $row[55]; + $agent_pause_codes_active = $row[56]; + $campaign_description = $row[57]; + $campaign_changedate = $row[58]; + $campaign_stats_refresh = $row[59]; + $campaign_logindate = $row[60]; + $dial_statuses = $row[61]; + $disable_alter_custdata = $row[62]; + $no_hopper_leads_logins = $row[63]; + $list_order_mix = $row[64]; + $campaign_allow_inbound = $row[65]; + $manual_dial_list_id = $row[66]; + $default_xfer_group = $row[67]; + $queue_priority = $row[69]; + $drop_inbound_group = $row[70]; + $qc_enabled = $row[71]; + $qc_statuses = $row[72]; + $qc_lists = $row[73]; + $qc_shift_id = $row[74]; + $qc_get_record_launch = $row[75]; + $qc_show_recording = $row[76]; + $qc_web_form_address = $row[77]; + $qc_script = $row[78]; + $survey_first_audio_file = $row[79]; + $survey_dtmf_digits = $row[80]; + $survey_ni_digit = $row[81]; + $survey_opt_in_audio_file = $row[82]; + $survey_ni_audio_file = $row[83]; + $survey_method = $row[84]; + $survey_no_response_action = $row[85]; + $survey_ni_status = $row[86]; + $survey_response_digit_map = $row[87]; + $survey_xfer_exten = $row[88]; + $survey_camp_record_dir = $row[89]; + $disable_alter_custphone = $row[90]; + $display_queue_count = $row[91]; + $manual_dial_filter = $row[92]; + $agent_clipboard_copy = $row[93]; + $agent_extended_alt_dial = $row[94]; + $use_campaign_dnc = $row[95]; + $three_way_call_cid = $row[96]; + $three_way_dial_prefix = $row[97]; + + if (ereg("DISABLED",$list_order_mix)) + {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} + else + {$DEFlistDISABLE = 'disabled'; $DEFstatusDISABLED=1;} + + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE'"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $mixes_list="\n"; + $mixname_list["DISABLED"] = "DISABLED"; + } + else + { + ##### get list_mix listings for dynamic pulldown + $stmt="SELECT vcl_id,vcl_name from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE' limit 1"; + $rslt=mysql_query($stmt, $link); + $mixes_to_print = mysql_num_rows($rslt); + $mixes_list="\n"; + + $o=0; + while ($mixes_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $mixes_list .= "\n"; + $mixname_list["ACTIVE"] = "$rowx[0] - $rowx[1]"; + $o++; + } + } + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) -1); + + $qc_statuses = preg_replace("/^ | -$/","",$qc_statuses); + $QCstatuses = explode(" ", $qc_statuses); + $QCs_to_print = (count($QCstatuses) -0); + + $qc_lists = preg_replace("/^ | -$/","",$qc_lists); + $QClists = explode(" ", $qc_lists); + $QCL_to_print = (count($QClists) -0); + + ##### get status listings for dynamic pulldown + $stmt="SELECT * from vicidial_statuses order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $statuses_list=''; + $dial_statuses_list=''; + $qc_statuses_list=''; + $survey_ni_status_list=''; + + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + if ($rowx[0] != 'CBHOLD') + { + $dial_statuses_list .= "\n"; + if ($survey_ni_status == $rowx[0]) + { + $survey_ni_status_list .= "\n"; + } + else + { + $survey_ni_status_list .= "\n"; + } + } + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + + $qc_statuses_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + if ($rowx[0] != 'CBHOLD') {$dial_statuses_list .= "\n";} + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + + $qc_statuses_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "\n";} + else + {$Dgroups_menu .= "\n";} + + + ##### get in-groups listings for dynamic transfer group pulldown list menu + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $xfer_groupsSQL order by group_id"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "\n";} + else + {$Xgroups_menu .= "\n";} + + + if ($SUB<1) {$camp_detail_color=$subcamp_color;} + else {$camp_detail_color=$campaigns_color;} + if ($SUB==22) {$camp_statuses_color=$subcamp_color;} + else {$camp_statuses_color=$campaigns_color;} + if ($SUB==23) {$camp_hotkeys_color=$subcamp_color;} + else {$camp_hotkeys_color=$campaigns_color;} + if ($SUB==25) {$camp_recycle_color=$subcamp_color;} + else {$camp_recycle_color=$campaigns_color;} + if ($SUB==26) {$camp_autoalt_color=$subcamp_color;} + else {$camp_autoalt_color=$campaigns_color;} + if ($SUB==27) {$camp_pause_color=$subcamp_color;} + else {$camp_pause_color=$campaigns_color;} + if ($SUB==28) {$camp_qc_color=$subcamp_color;} + else {$camp_qc_color=$campaigns_color;} + if ($SUB==29) {$camp_listmix_color=$subcamp_color;} + else {$camp_listmix_color=$campaigns_color;} + if ($SUB=='20A') {$camp_survey_color=$subcamp_color;} + else {$camp_survey_color=$campaigns_color;} + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "
$row[0]: Basic Dettagliata EsitiHot-KeyRiciclaggio ContattiChiama Auto Num AlternCodici PausaQCList MixSurvey Real-Time
\n"; + + echo "
\n"; + echo ""; + + echo "
\n"; + + if ($SUB < 1) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($Ds_to_print > $o) + { + $o++; + $Dstatus = $Dstatuses[$o]; + + echo "\n"; + } + else + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "RIMUOVI\n"; + } + } + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + + if ($campaign_allow_inbound == 'Y') + { + echo "\n"; + } + + echo "\n"; + + if ($allow_closers == 'Y') + { + echo "\n"; + } + + echo "\n"; + echo "
ID Campagna: $row[0]$NWB#vicidial_campaigns-campaign_id$NWE
Nome Campagna: $NWB#vicidial_campaigns-campaign_name$NWE
Descrizione Campagna: $NWB#vicidial_campaigns-campaign_description$NWE
Campagna Change Date: $campaign_changedate   $NWB#vicidial_campaigns-campaign_changedate$NWE
Campagna Login Date: $campaign_logindate   $NWB#vicidial_campaigns-campaign_logindate$NWE
Attivo: $NWB#vicidial_campaigns-active$NWE
Extension del parking: - Filename: $NWB#vicidial_campaigns-park_ext$NWE
Web Form: $NWB#vicidial_campaigns-web_form_address$NWE
Permitir Closers: $NWB#vicidial_campaigns-allow_closers$NWE
Permita de entrada y mezclado:$NWB#vicidial_campaigns-campaign_allow_inbound$NWE
Esito Chiamata $o: \n"; + + if ($DEFstatusDISABLED > 0) + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "REMOVE
Aggiungi Un Esito Chiamata:   \n"; + echo "     $NWB#vicidial_campaigns-dial_status$NWE
Ordine Lista: $NWB#vicidial_campaigns-lead_order$NWE
List Mix: $NWB#vicidial_campaigns-list_order_mix$NWE
Filtro Contatti: $NWB#vicidial_campaigns-lead_filter_id$NWE
Livello Coda Chiamate: $NWB#vicidial_campaigns-hopper_level$NWE
Forza Il Reset Della Coda Chiamate: $NWB#vicidial_campaigns-force_reset_hopper$NWE
Metodo Chiamata: $NWB#vicidial_campaigns-dial_method$NWE
Livello Auto Dial: (0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE       FORZA LIVELLO ANCHE CON MODALITA` ADAPT
Conta Solo Disponibili: $NWB#vicidial_campaigns-available_only_ratio_tally$NWE
Limita Percentuale Abbattuti: % $NWB#vicidial_campaigns-adaptive_dropped_percentage$NWE
Livello Auto-Dial Massimo In Modalita` Adapt: number only $NWB#vicidial_campaigns-adaptive_maximum_level$NWE
Ultimo Orario Chiamate: 4 solo cifre $NWB#vicidial_campaigns-adaptive_latest_server_time$NWE
Modifica Intensita` Adapt Auto-Dial: $NWB#vicidial_campaigns-adaptive_intensity$NWE
Blanco Llana De la Diferencia Del Dial: $NWB#vicidial_campaigns-adaptive_dl_diff_target$NWE
Transferencias Concurrentes: $NWB#vicidial_campaigns-concurrent_transfers$NWE
Queue Priority: $NWB#vicidial_campaigns-queue_priority$NWE
El Marcar Auto Del Alt-Nu`mero: $NWB#vicidial_campaigns-auto_alt_dial$NWE
Operatore Da Scegliere Per La Chiamata Successiva: $NWB#vicidial_campaigns-next_agent_call$NWE
Orario Chiamate: $NWB#vicidial_campaigns-local_call_time$NWE
Timeout Chiamata: in seconds$NWB#vicidial_campaigns-dial_timeout$NWE
Prefisso Chiamata: for 91NXXNXXXXXX value would be 9, for no dial prefix use X$NWB#vicidial_campaigns-dial_prefix$NWE
Ometti Prefisso Telefono: $NWB#vicidial_campaigns-omit_phone_code$NWE
CallerID della Campagna: $NWB#vicidial_campaigns-campaign_cid$NWE
Exten VDAD de La campaña: $NWB#vicidial_campaigns-campaign_vdad_exten$NWE
Interno Registrazioni Per Questa Campagna: $NWB#vicidial_campaigns-campaign_rec_exten$NWE
Registrazioni Per Questa Campagna: $NWB#vicidial_campaigns-campaign_recording$NWE
Nome Registrazioni Per Questa Campagna: $NWB#vicidial_campaigns-campaign_rec_filename$NWE
Ritardo Registrazione: in seconds$NWB#vicidial_campaigns-allcalls_delay$NWE
Script: $NWB#vicidial_campaigns-campaign_script$NWE
Esegui all`avvio della telefonata: $NWB#vicidial_campaigns-get_call_launch$NWE
Messaggio Segreteria Telefonica: $NWB#vicidial_campaigns-am_message_exten$NWE
AMD envían a la VM exten: $NWB#vicidial_campaigns-amd_send_to_vmx$NWE
Transfiera -Conf DTMF 1: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
Transfiera -Conf El Número 1: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
Transfiera -Conf DTMF 2: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
Transfiera -Conf El Número 2: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
El Marcar Del Número Del Alt: $NWB#vicidial_campaigns-alt_number_dialing$NWE
Servicios repetidos Programar: $NWB#vicidial_campaigns-scheduled_callbacks$NWE
Secondi Abbattimento Telefonata: $NWB#vicidial_campaigns-drop_call_seconds$NWE
Drop Action: $NWB#vicidial_campaigns-drop_action$NWE
Interno Messaggio Telefonata Abbattuta: $NWB#vicidial_campaigns-safe_harbor_exten$NWE
Casella Vocale: $NWB#vicidial_campaigns-voicemail_ext$NWE
Drop Transfer Gruppo: $NWB#vicidial_campaigns-drop_inbound_group$NWE
Secondi Riposo Operatore: $NWB#vicidial_campaigns-wrapup_seconds$NWE
Messaggio Riposo Operatore: $NWB#vicidial_campaigns-wrapup_message$NWE
Controlla In Lista Contatti Da NON CHIAMARE: $NWB#vicidial_campaigns-use_internal_dnc$NWE
Use Campagna DNC List: $NWB#vicidial_campaigns-use_campaign_dnc$NWE
AgentCodici PausaAttivo: $NWB#vicidial_campaigns-agent_pause_codes_active$NWE
Aggiornamento Statistiche Campagna: $NWB#vicidial_campaigns-campaign_stats_refresh$NWE
Disabilita modifica dati clienti: $NWB#vicidial_campaigns-disable_alter_custdata$NWE
Disable Alter Customer Phone: $NWB#vicidial_campaigns-disable_alter_custphone$NWE
Abilita Login Senza Contatti Da Chiamare: $NWB#vicidial_campaigns-no_hopper_leads_logins$NWE
Agent Display Queue Count: $NWB#vicidial_campaigns-display_queue_count$NWE
ID Lista Chiamate Manuali:$NWB#vicidial_campaigns-manual_dial_list_id$NWE
Manual Dial Filter: $NWB#vicidial_campaigns-manual_dial_filter$NWE
Agent Screen Clipboard Copy: $NWB#vicidial_campaigns-agent_clipboard_copy$NWE
Agent Screen Extended Alt Dial: $NWB#vicidial_campaigns-agent_extended_alt_dial$NWE
3-Way Call CallerID De salida: $NWB#vicidial_campaigns-three_way_call_cid$NWE
3-Way Call Prefisso Chiamata: $NWB#vicidial_campaigns-three_way_dial_prefix$NWE
Grupos De entrada Permitidos:
"; + echo " $NWB#vicidial_campaigns-closer_campaigns$NWE
\n"; + echo "$groups_list"; + echo "
Grupo De la Transferencia Del Defecto:$NWB#vicidial_campaigns-default_xfer_group$NWE
Grupos Permitidos De la Transferencia:
"; + echo " $NWB#vicidial_campaigns-xfer_groups$NWE
\n"; + echo "$XFERgroups_list"; + echo "
\n"; + + echo "
\n"; + echo "
LISTE IN QUESTA CAMPAGNA:   $NWB#vicidial_campaign_lists$NWE
\n"; + echo "\n"; + echo "\n"; + + $active_lists = 0; + $inactive_lists = 0; + $stmt="SELECT list_id,active,list_name from vicidial_lists where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $o++; + if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_lists++;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + echo "
ID LISTANOME LISTAATTIVO
$rowx[0]$rowx[2]$rowx[1]

\n"; + echo "
\n"; + + $filterSQL = $filtersql_list[$lead_filter_id]; + $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); + if (strlen($filterSQL)>4) + {$fSQL = "and $filterSQL";} + else + {$fSQL = '';} + + $camp_lists = eregi_replace(".$","",$camp_lists); + echo "Questa campagna ha $active_lists liste attive e $inactive_lists lista inattive

\n"; + + if ($display_dialable_count == 'Y') + { + ### call function to calculate and print dialable leads + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$fSQL); + echo " - NASCONDI

"; + } + else + { + echo "Popup Dialable Leads Count"; + echo " - MOSTRA

"; + } + + + + + + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id='$campaign_id' and status IN('READY')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $hopper_leads = "$rowx[0]"; + + echo "Questa campagna ha $hopper_leads contatti nella coda chiamate

\n"; + echo "Clicca qui per vedere quali numeri sono nella coda chiamate in questo momento

\n"; + echo "Clicca qui per visualizzare tutti i richiami in attesa per questa campagna

\n"; + echo "Clicca qui per vedere il report VDAD per questa campagna

\n"; + echo "
\n"; + } + + + ##### CAMPAIGN CUSTOM STATUSES ##### + if ($SUB==22) + { + + ##### get status category listings for dynamic pulldown + $stmt="SELECT vsc_id,vsc_name from vicidial_status_categories order by vsc_id desc"; + $rslt=mysql_query($stmt, $link); + $cats_to_print = mysql_num_rows($rslt); + $cats_list=""; + + $o=0; + while ($cats_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $cats_list .= "\n"; + $catsname_list["$rowx[0]"] = substr($rowx[1],0,20); + $o++; + } + + + echo "
\n"; + echo "
ESITI PERSONALIZZATI PER QUESTA CAMPAGNA:   $NWB#vicidial_campaign_statuses$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AScategory = $rowx[5]; + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
ESITODESCRIZIONESELEZIONABILERISPOSTA UMANACANCELLA
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
\n"; + echo "\n"; + echo "         \n"; + echo "   \n"; + echo "CANCELLA\n"; + echo "
\n"; + + echo "
AGGIUNGI NUOVO ESITO PERSONALIZZATO PER CAMPAGNA
\n"; + echo "\n"; + echo "\n"; + echo "Esito:   \n"; + echo "Descrizione:   \n"; + echo "Selezionabile:   \n"; + echo "Risposta Umana:   \n"; + echo "Categoria: \n"; + echo "  
\n"; + echo "
\n"; + + echo "

\n"; + } + + ##### CAMPAIGN HOTKEYS ##### + if ($SUB==23) + { + echo "
HOT KEY PERSONALIZZATE PER QUESTA CAMPAGNA:   $NWB#vicidial_campaign_hotkeys$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_campaign_hotkeys where campaign_id='$campaign_id' order by hotkey"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + + } + + echo "
HOT KEYESITODESCRIZIONECANCELLA
$rowx[1]$rowx[0]$rowx[2]CANCELLA
\n"; + + echo "
AGGIUNGI NUOVA HOT KEY PERSONALIZZATA PER QUESTA CAMPAGNA
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Hotkey:   \n"; + echo "Esito:   \n"; + echo "
\n"; + echo "

\n"; + } + + ##### CAMPAIGN LEAD RECYCLING ##### + if ($SUB==25) + { + ### display counts on leads that have hit the limit in this campaign + $stmt="SELECT list_id,active,list_name from vicidial_lists where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + if (ereg("Y", $rowx[1])) {$camp_lists .= "'$rowx[0]',";} + $o++; + } + $camp_lists = eregi_replace(".$","",$camp_lists); + + $stmt="SELECT * from vicidial_lead_recycle where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $recycle_to_print = mysql_num_rows($rslt); + $o=0; + while ($recycle_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $RECYCLE_status[$o] = $rowx[2]; + $RECYCLE_delay[$o] = $rowx[3]; + $RECYCLE_attempt[$o] = $rowx[4]; + $RECYCLE_active[$o] = $rowx[5]; + $RECYCLE_count[$o] = "'Y','Y1','Y2','Y3','Y4','Y5','Y6','Y7','Y8','Y9','Y10'"; + if ($RECYCLE_attempt[$o]==1) {$RECYCLE_count[$o] = "'Y1','Y2','Y3','Y4','Y5','Y6','Y7','Y8','Y9','Y10'";} + if ($RECYCLE_attempt[$o]==2) {$RECYCLE_count[$o] = "'Y2','Y3','Y4','Y5','Y6','Y7','Y8','Y9','Y10'";} + if ($RECYCLE_attempt[$o]==3) {$RECYCLE_count[$o] = "'Y3','Y4','Y5','Y6','Y7','Y8','Y9','Y10'";} + if ($RECYCLE_attempt[$o]==4) {$RECYCLE_count[$o] = "'Y4','Y5','Y6','Y7','Y8','Y9','Y10'";} + if ($RECYCLE_attempt[$o]==5) {$RECYCLE_count[$o] = "'Y5','Y6','Y7','Y8','Y9','Y10'";} + if ($RECYCLE_attempt[$o]==6) {$RECYCLE_count[$o] = "'Y6','Y7','Y8','Y9','Y10'";} + if ($RECYCLE_attempt[$o]==7) {$RECYCLE_count[$o] = "'Y7','Y8','Y9','Y10'";} + if ($RECYCLE_attempt[$o]==8) {$RECYCLE_count[$o] = "'Y8','Y9','Y10'";} + if ($RECYCLE_attempt[$o]==9) {$RECYCLE_count[$o] = "'Y9','Y10'";} + if ($RECYCLE_attempt[$o]>9) {$RECYCLE_count[$o] = "'Y10'";} + $o++; + } + $o=0; + + echo "

CONTATTI DA RICICLARE IN QUESTA CAMPAGNA:   $NWB#vicidial_lead_recycle$NWE
\n"; + echo "\n"; + echo "\n"; + + while ($recycle_to_print > $o) + { + $recycle_limit=0; + if (strlen($camp_lists) > 2) + { + $stmt="SELECT count(*) from vicidial_list where status='$RECYCLE_status[$o]' and list_id IN($camp_lists) and called_since_last_reset IN($RECYCLE_count[$o]);"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $counts_to_print = mysql_num_rows($rslt); + if ($counts_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $recycle_limit = $rowx[0]; + } + } + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $o++; + } + + echo "
ESITORITARDO NUOVO TENTATIVOMASSIMO TENTATIVILEADS AT LIMITATTIVO CANCELLA
  $RECYCLE_status[$o]
\n"; + echo "\n"; + echo "\n"; + echo "
$recycle_limit   CANCELLA
\n"; + + echo "
AGGIUNGI NUOVO ESITO DA RICICLARE
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Esito:   \n"; + echo "Intervallo Tra Tentativi: \n"; + echo "Massimo Tentativi: \n"; + echo "
\n"; + + echo "

\n"; + echo "
\n"; + echo "* Lead counts taken from active lists in the campaign only.\n"; + } + + ##### CAMPAIGN AUTO-ALT-NUMBER DIALING ##### + if ($SUB==26) + { + echo "

ESITI PER I QUALI CHIAMARE I NUMERI ALTERNATIVI:   $NWB#vicidial_auto_alt_dial_statuses$NWE
\n"; + echo "\n"; + echo "\n"; + + $auto_alt_dial_statuses = preg_replace("/ -$/","",$auto_alt_dial_statuses); + $AADstatuses = explode(" ", $auto_alt_dial_statuses); + $AADs_to_print = (count($AADstatuses) -1); + + $o=0; + while ($AADs_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + $o++; + + echo "\n"; + echo "\n"; + } + + echo "
ESITICANCELLA
$AADstatuses[$o]CANCELLA
\n"; + + echo "
AGGIUNGI NUOVO ESITO CHIAMA-AUTO-NUM-ALTERN
\n"; + echo "\n"; + echo "\n"; + echo "Esito:   \n"; + echo "
\n"; + + echo "

\n"; + } + + ##### CAMPAIGN PAUSE CODES ##### + if ($SUB==27) + { + echo "

CODICI PAUSA OPERATORE PER QUESTA CAMPAGNA:   $NWB#vicidial_pause_codes$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_pause_codes where campaign_id='$campaign_id' order by pause_code"; + $rslt=mysql_query($stmt, $link); + $pause_codes_to_print = mysql_num_rows($rslt); + $o=0; + while ($pause_codes_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
CODICI PAUSAFATTURABILEMODIFICACANCELLA
$rowx[0]\n"; + echo "\n"; + echo "\n"; + echo "  \n"; + echo "
CANCELLA
\n"; + + echo "
NUOVO CODICE PAUSA
\n"; + echo "\n"; + echo "\n"; + echo "Codice Pausa: \n"; + echo "Nome Codice Pausa: \n"; + echo "   Fatturabile: \n"; + echo "
\n"; + + echo "

\n"; + } + + ##### CAMPAIGN QC SETTINGS ##### + if ($SUB==28) + { + $stmt="SELECT list_id,list_name,active from vicidial_lists where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $qc_lists_list=''; + + $p=0; + while ($lists_to_print > $p) + { + $rowx=mysql_fetch_row($rslt); + $qc_lists_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + $QCscripts_list .= "\n"; + $scriptname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + ##### get shifts listings for pulldown + $stmt="SELECT shift_id,shift_name from vicidial_shifts order by shift_id"; + $rslt=mysql_query($stmt, $link); + $shifts_to_print = mysql_num_rows($rslt); + $QCshifts_list=""; + $o=0; + while ($shifts_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $QCshifts_list .= "\n"; + $shiftname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + echo "

QC SETTINGS FOR THIS CAMPAIGN:
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; +# echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "
\n"; + echo "\n"; + echo "QC Enabled: $NWB#vicidial_campaigns-qc_enabled$NWE
QC Esiti:
$NWB#vicidial_campaigns-qc_statuses$NWE
$qc_statuses_list
QC Lists:
$NWB#vicidial_campaigns-qc_lists$NWE
$qc_lists_list
QC WebForm: $NWB#vicidial_campaigns-qc_web_form_address$NWE
QC Script: $NWB#vicidial_campaigns-qc_script$NWE
QC Shift: $NWB#vicidial_campaigns-qc_shift_id$NWE
QC Get Record Launch: $NWB#vicidial_campaigns-qc_get_record_launch$NWE
QC Show Recording: $NWB#vicidial_campaigns-qc_show_recording$NWE
\n"; + echo "

\n"; + } + + ##### CAMPAIGN SURVEY SETTINGS ##### + if ($SUB=='20A') + { + + echo "

SURVEY SETTINGS FOR THIS CAMPAIGN:
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "
\n"; + echo "\n"; + + echo "
Survey First Audio File: $NWB#vicidial_campaigns-survey_first_audio_file$NWE
Survey DTMF Digits: $NWB#vicidial_campaigns-survey_dtmf_digits$NWE
Survey Not Interested Digit: $NWB#vicidial_campaigns-survey_ni_digit$NWE
Survey Opt-in Audio File: $NWB#vicidial_campaigns-survey_opt_in_audio_file$NWE
Survey Not Interested Audio File: $NWB#vicidial_campaigns-survey_ni_audio_file$NWE
Survey Method: $NWB#vicidial_campaigns-survey_method$NWE
Survey No-Response Action: $NWB#vicidial_campaigns-survey_no_response_action$NWE
Survey Not Interested Esito: $NWB#vicidial_campaigns-survey_ni_status$NWE
Survey Response Digit Map: $NWB#vicidial_campaigns-survey_response_digit_map$NWE
Survey Survey Xfer Extension: $NWB#vicidial_campaigns-survey_xfer_exten$NWE
Survey Registrazioni Per Questa Campagna Directory: $NWB#vicidial_campaigns-survey_camp_record_dir$NWE
Casella Vocale: $NWB#vicidial_campaigns-voicemail_ext$NWE
\n"; + echo "

\n"; + } + + + if ($SUB < 1) + { + echo "

\n"; + echo "DISCONNETTI TUTTI GLI OPERATORI DI QUESTA CAMPAGNA

\n"; + echo "EMERGENCY VDAC CLEAR FOR THIS CAMPAIGN

\n"; + + if ($LOGdelete_campaigns > 0) + { + echo "

CANCELLA QUESTA CAMPAGNA\n"; + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=34 modify campaign info in the system - Basic View +###################### + +if ( ($ADD==34) and ( (!eregi("$campaign_id",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) ) + {$ADD=30;} # send to not allowed screen if not in vicidial_user_groups allowed_campaigns list + +if ($ADD==34) +{ + if ($LOGmodify_campaigns==1) + { + if ($stage=='show_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='Y' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + if ($stage=='hide_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='N' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT * from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $dial_status_a = $row[3]; + $dial_status_b = $row[4]; + $dial_status_c = $row[5]; + $dial_status_d = $row[6]; + $dial_status_e = $row[7]; + $lead_order = $row[8]; + $hopper_level = $row[13]; + $auto_dial_level = $row[14]; + $next_agent_call = $row[15]; + $local_call_time = $row[16]; + $voicemail_ext = $row[17]; + $dial_timeout = $row[18]; + $dial_prefix = $row[19]; + $campaign_cid = $row[20]; + $campaign_vdad_exten = $row[21]; + $script_id = $row[25]; + $get_call_launch = $row[26]; + $lead_filter_id = $row[35]; + if ($lead_filter_id=='') {$lead_filter_id='NONE';} + $display_dialable_count = $row[39]; + $dial_method = $row[46]; + $adaptive_intensity = $row[51]; + $campaign_description = $row[57]; + $campaign_changedate = $row[58]; + $campaign_stats_refresh = $row[59]; + $campaign_logindate = $row[60]; + $dial_statuses = $row[61]; + $list_order_mix = $row[64]; + $default_xfer_group = $row[67]; + $campaign_allow_inbound = $row[65]; + $default_xfer_group = $row[67]; + + if (ereg("DISABLED",$list_order_mix)) + {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} + else + {$DEFlistDISABLE = 'disabled'; $DEFstatusDISABLED=1;} + + $stmt="SELECT * from vicidial_statuses order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $statuses_list=''; + $dial_statuses_list=''; + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + if ($rowx[0] != 'CBHOLD') {$dial_statuses_list .= "\n";} + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + $o++; + } + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $Cstatuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($Cstatuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + if ($rowx[0] != 'CBHOLD') {$dial_statuses_list .= "\n";} + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + $o++; + } + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) -1); + + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE'"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $mixes_list="\n"; + $mixname_list["DISABLED"] = "DISABLED"; + } + else + { + ##### get list_mix listings for dynamic pulldown + $stmt="SELECT vcl_id,vcl_name from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE' limit 1"; + $rslt=mysql_query($stmt, $link); + $mixes_to_print = mysql_num_rows($rslt); + $mixes_list="\n"; + + $o=0; + while ($mixes_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $mixes_list .= "\n"; + $mixname_list["ACTIVE"] = "$rowx[0] - $rowx[1]"; + $o++; + } + } + + if ($SUB<1) {$camp_detail_color=$subcamp_color;} + else {$camp_detail_color=$campaigns_color;} + if ($SUB==22) {$camp_statuses_color=$subcamp_color;} + else {$camp_statuses_color=$campaigns_color;} + if ($SUB==23) {$camp_hotkeys_color=$subcamp_color;} + else {$camp_hotkeys_color=$campaigns_color;} + if ($SUB==25) {$camp_recycle_color=$subcamp_color;} + else {$camp_recycle_color=$campaigns_color;} + if ($SUB==26) {$camp_autoalt_color=$subcamp_color;} + else {$camp_autoalt_color=$campaigns_color;} + if ($SUB==27) {$camp_pause_color=$subcamp_color;} + else {$camp_pause_color=$campaigns_color;} + if ($SUB==29) {$camp_listmix_color=$subcamp_color;} + else {$camp_listmix_color=$campaigns_color;} + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "
$row[0]: Vista Generale Vista Dettagliata List Mix Schermata Tempo Reale  
\n"; + + if ($SUB < 1) + { + echo "
\n"; + echo ""; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($Ds_to_print > $o) + { + $o++; + $Dstatus = $Dstatuses[$o]; + + echo "\n"; + } + else + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "RIMUOVI\n"; + } + } + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
ID Campagna: $row[0]$NWB#vicidial_campaigns-campaign_id$NWE
Nome Campagna: $NWB#vicidial_campaigns-campaign_name$NWE
Descrizione Campagna: $row[57]$NWB#vicidial_campaigns-campaign_description$NWE
Campagna Change Date: $campaign_changedate   $NWB#vicidial_campaigns-campaign_changedate$NWE
Campagna Login Date: $campaign_logindate   $NWB#vicidial_campaigns-campaign_logindate$NWE
Attivo: $NWB#vicidial_campaigns-active$NWE
Extension del parking: $row[9] - $row[10]$NWB#vicidial_campaigns-park_ext$NWE
Web Form: $row[11]$NWB#vicidial_campaigns-web_form_address$NWE
Permitir Closers: $row[12] $NWB#vicidial_campaigns-allow_closers$NWE
Grupo De la Transferencia Del Defecto:$default_xfer_group $NWB#vicidial_campaigns-default_xfer_group$NWE
Permita de entrada y mezclado:$campaign_allow_inbound $NWB#vicidial_campaigns-campaign_allow_inbound$NWE
Esito Chiamata $o: \n"; + if ($DEFstatusDISABLED > 0) + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "REMOVE
Aggiungi Un Esito Chiamata:   \n"; + echo "     $NWB#vicidial_campaigns-dial_status$NWE
Ordine Lista: $NWB#vicidial_campaigns-lead_order$NWE
List Mix: $NWB#vicidial_campaigns-list_order_mix$NWE
Filtro Contatti: $NWB#vicidial_campaigns-lead_filter_id$NWE
Livello Coda Chiamate: $NWB#vicidial_campaigns-hopper_level$NWE
Forza Il Reset Della Coda Chiamate: $NWB#vicidial_campaigns-force_reset_hopper$NWE
Metodo Chiamata: $NWB#vicidial_campaigns-dial_method$NWE
Livello Auto Dial: (0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE
Modifica Intensita` Adapt Auto-Dial: $NWB#vicidial_campaigns-adaptive_intensity$NWE
Script: $script_id
Esegui all`avvio della telefonata: $get_call_launch
\n"; + + echo "
\n"; + echo "
LISTE IN QUESTA CAMPAGNA:   $NWB#vicidial_campaign_lists$NWE
\n"; + echo "\n"; + echo "\n"; + + $active_lists = 0; + $inactive_lists = 0; + $stmt="SELECT list_id,active,list_name from vicidial_lists where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_lists++;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + + } + + echo "
ID LISTANOME LISTAATTIVO
$rowx[0]$rowx[2]$rowx[1]

\n"; + echo "
\n"; + + $filterSQL = $filtersql_list[$lead_filter_id]; + $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); + if (strlen($filterSQL)>4) + {$fSQL = "and $filterSQL";} + else + {$fSQL = '';} + + $camp_lists = eregi_replace(".$","",$camp_lists); + echo "Questa campagna ha $active_lists liste attive e $inactive_lists lista inattive

\n"; + + + if ($display_dialable_count == 'Y') + { + ### call function to calculate and print dialable leads + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$fSQL); + echo " - NASCONDI

"; + } + else + { + echo "Popup Dialable Leads Count"; + echo " - MOSTRA

"; + } + + + + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id='$campaign_id' and status IN('READY')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $hopper_leads = "$rowx[0]"; + + echo "Questa campagna ha $hopper_leads contatti nella coda chiamate

\n"; + echo "Clicca qui per vedere quali numeri sono nella coda chiamate in questo momento

\n"; + echo "Clicca qui per visualizzare tutti i richiami in attesa per questa campagna

\n"; + echo "Clicca qui per vedere il report VDAD per questa campagna

\n"; + echo "
\n"; + + echo "
\n"; + + ### list of agent rank or skill-level for this campaign + echo "
\n"; + echo "
CLASSIFICA OPERATORI PER QUESTA CAMPAGNA:
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT user,campaign_rank,calls_today from vicidial_campaign_agents where campaign_id='$campaign_id'"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
UTENTE     CLASSIFICA     CHIAMATE OGGI
$rowx[0]$rowx[1]$rowx[2]

\n"; + + + echo "DISCONNETTI TUTTI GLI OPERATORI DI QUESTA CAMPAGNA

\n"; + + + if ($LOGdelete_campaigns > 0) + { + echo "

CANCELLA QUESTA CAMPAGNA\n"; + } + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=31 or 34 and SUB=29 for list mixes +###################### +if ( ( ($ADD==34) or ($ADD==31) ) and ( (!eregi("$campaign_id",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) ) + {$ADD=30;} # send to not allowed screen if not in vicidial_user_groups allowed_campaigns list + +if ( ($ADD==34) or ($ADD==31) ) +{ + if ($LOGmodify_campaigns==1) + { + ##### CAMPAIGN LIST MIX SETTINGS ##### + if ($SUB==29) + { + ##### get list_id listings for dynamic pulldown + $stmt="SELECT list_id,list_name from vicidial_lists where campaign_id='$campaign_id' order by list_id"; + $rslt=mysql_query($stmt, $link); + $mixlists_to_print = mysql_num_rows($rslt); + $mixlists_list=""; + + $o=0; + while ($mixlists_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $mixlists_list .= "\n"; + $mixlistsname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + + echo "

MIX LISTA PER QUESTA CAMPAGNA:   $NWB#vicidial_campaigns-list_order_mix$NWE
\n"; + + echo "

Experimental Feature in development!!! NON-FUNCTIONAL
\n"; + + + $stmt="SELECT * from vicidial_campaigns_list_mix where campaign_id='$campaign_id' order by status, vcl_id"; + $rslt=mysql_query($stmt, $link); + $listmixes = mysql_num_rows($rslt); + $o=0; + while ($listmixes > $o) + { + $rowx=mysql_fetch_row($rslt); + $vcl_id=$rowx[0]; + $o++; + + if ($o < 2) + {$tablecolor='bgcolor="#99FF99"'; $bgcolor='bgcolor="#CCFFCC"';} + else + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$tablecolor='bgcolor="#B9CBFD"'; $bgcolor='bgcolor="#9BB9FB"';} + else + {$tablecolor='bgcolor="#9BB9FB"'; $bgcolor='bgcolor="#B9CBFD"';} + } + echo "
\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + } + else + {echo "$rowx[5]\n";} + echo "\n"; + echo "\n"; + +# list_id|order|percent|statuses|:list_id|order|percent|statuses|:... +# 101|1|40| A B NA -|:102|2|25| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -| +# INSERT INTO vicidial_campaigns_list_mix values('TESTMIX','TESTCAMP List Mix','TESTCAMP','101|1|40| A B NA -|:102|2|25| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -|','IN_ORDER','ACTIVE'); +# INSERT INTO vicidial_campaigns_list_mix values('TESTMIX2','TESTCAMP List Mix2','TESTCAMP','101|1|20| A B -|:102|2|45| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -|','IN_ORDER','ACTIVE'); +# INSERT INTO vicidial_campaigns_list_mix values('TESTMIX3','TESTCAMP List Mix3','TESTCAMP','101|1|30| A NA -|:102|2|35| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -|','IN_ORDER','ACTIVE'); + + $MIXentries = $MT; + $MIXentries = explode(":", $rowx[3]); + $Ms_to_print = (count($MIXentries) - 0); + $q=0; + while ($Ms_to_print > $q) + { + $MIXdetails = explode('|', $MIXentries[$q]); + $MIXdetailsLIST = $MIXdetails[0]; + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) - 0); + $Dsql = ''; + $r=0; + while ($Ds_to_print > $r) + { + $r++; + $Dsql .= "'$Dstatuses[$r]',"; + } + $Dsql = preg_replace("/,$/","",$Dsql); + + echo "\n"; + + echo "\n"; + + echo "\n"; + + + echo "\n"; + echo "\n"; + + + echo "\n"; + + + $q++; + + } + + + + + echo "\n"; + + echo "\n"; + + + echo "\n"; + + if ($q > 9) {$AE_disabled = 'DISABLED';} + else {$AE_disabled = '';} + echo "\n"; + echo "
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$vcl_id:\n"; + echo "\n"; + echo "     DELETE LIST MIX
Esito: \n"; + if ($rowx[5]=='INACTIVE') + { + echo "$rowx[5]\n"; + echo "ATTIVAMethod:\n"; + echo "
ID LISTAPRIORITY% MIXESITI
\n"; + echo "\n"; + echo "List: $MIXdetailsLIST   RIMUOVI\n"; + + + + echo " \n"; + echo "ADD   \n"; + echo "RIMUOVI\n"; + echo "
\n"; + echo "Difference %: \n"; + echo "   \n"; + echo "\n"; + echo "
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "List:
\n"; + echo "
\n"; + } + + + echo "

AGGIUNGI NUOVA LISTA MIX
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Mix ID: Mix Name: Mix Method: "; + echo "
List: Dial Esito:  
\n"; + + echo "
\n"; + + } + } +} + + +###################### +# ADD=30 campaign not allowed +###################### + +if ($ADD==30) +{ +echo "
\n"; + echo ""; +echo "You do not have permission to view campaign $campaign_id\n"; +} + + +###################### +# ADD=32 display all campaign statuses +###################### +if ($ADD==32) +{ +echo "
\n"; + echo ""; + +echo "
ELENCO ESITI PERSONALIZZATI PER CAMPAGNA:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAGNANOMEESITIMODIFICA
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT status from vicidial_campaign_statuses where campaign_id='$campaigns_id_list[$o]' order by status"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NESSUNO";} + echo "MODIFICA ESITI
\n"; +} + + +###################### +# ADD=33 display all campaign hotkeys +###################### +if ($ADD==33) +{ +echo "
\n"; + echo ""; + +echo "
ELENCO HOTKEY CAMPAGNE:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAGNANOMEHOTKEYMODIFICA
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT status from vicidial_campaign_hotkeys where campaign_id='$campaigns_id_list[$o]' order by status"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NESSUNO";} + echo "MODIFICA HOTKEY
\n"; +} + + +###################### +# ADD=35 display all campaign lead recycle entries +###################### +if ($ADD==35) +{ +echo "
\n"; + echo ""; + +echo "
ELENCO CONTATTI DA RICICLARE:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAGNANOMEESITI DA RICICLAREMODIFICA
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT status from vicidial_lead_recycle where campaign_id='$campaigns_id_list[$o]' order by status"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NESSUNO";} + echo "MODIFICA CONTATTI DA RICICLARE
\n"; +} + + +###################### +# ADD=36 display all campaign auto-alt dial entries +###################### +if ($ADD==36) +{ +echo "
\n"; + echo ""; + +echo "
ELENCO ESITI PER I QUALI CHIAMARE AUTOMATICAMENTE IL NUMERO ALTERNATIVO:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAGNANOMECHIAMA-AUTO-NUM-ALTERNMODIFICA
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaigns_id_list[$o]';"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if (strlen($row[0])<3) + {echo "NESSUNO";} + echo "MODIFICA CHIAMA-AUTO-NUM-ALTERN
\n"; +} + + +###################### +# ADD=37 display all campaign agent pause codes +###################### +if ($ADD==37) +{ +echo "
\n"; + echo ""; + +echo "
ELENCO CODICI PAUSA OPERATORE PER CAMPAGNA:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAGNANOMECODICI PAUSAMODIFICA
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT pause_code from vicidial_pause_codes where campaign_id='$campaigns_id_list[$o]' order by pause_code;"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NESSUNO";} + echo "MODIFICA CODICI PAUSA
\n"; +} + + +###################### +# ADD=39 display all campaign list mixes +###################### +if ($ADD==39) +{ +echo "
\n"; + echo ""; + +echo "
LISTADOS DE LA MEZCLA DE LA LISTA DE LA CAMPAÑA:\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CAMPAGNANOMELIST MIXMODIFICA
$campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT vcl_id from vicidial_campaigns_list_mix where campaign_id='$campaigns_id_list[$o]' order by status,vcl_id;"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NESSUNO";} + echo "MODIFY LIST MIX
\n"; +} + + + + + +###################### +# ADD=311 modify list info in the system +###################### + +if ($ADD==311) +{ + if ($LOGmodify_lists==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $campaign_id = $row[2]; + $active = $row[3]; + $list_description = $row[4]; + $list_changedate = $row[5]; + $list_lastcalldate = $row[6]; + + # grab names of global statuses and statuses in the selected campaign + $stmt="SELECT * from vicidial_statuses order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($statuses_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $statuses_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $Cstatuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($Cstatuses_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $statuses_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + # end grab status names + + + echo "
MODIFICA I DATI DELLA LISTA: $row[0]
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID Lista: $row[0]$NWB#vicidial_lists-list_id$NWE
Nome Lista: $NWB#vicidial_lists-list_name$NWE
Descrizione Lista: $NWB#vicidial_lists-list_description$NWE
Campagna: $NWB#vicidial_lists-campaign_id$NWE
Attivo: $NWB#vicidial_lists-active$NWE
Resetta questa lista allo stato di `contatti non chiamati`: $NWB#vicidial_lists-reset_list$NWE
Data Modifica Lista: $list_changedate   $NWB#vicidial_lists-list_changedate$NWE
Data Ultima Telefonata $list_lastcalldate   $NWB#vicidial_lists-list_lastcalldate$NWE
\n"; + + echo "
\n"; + echo "
ESITI IN QUESTA LISTA:
\n"; + echo "\n"; + echo "\n"; + + $leads_in_list = 0; + $leads_in_list_N = 0; + $leads_in_list_Y = 0; + $stmt="SELECT status,called_since_last_reset,count(*) from vicidial_list where list_id='$list_id' group by status,called_since_last_reset order by status,called_since_last_reset"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + + $o=0; + $lead_list['count'] = 0; + $lead_list['Y_count'] = 0; + $lead_list['N_count'] = 0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + + $lead_list['count'] = ($lead_list['count'] + $rowx[2]); + if ($rowx[1] == 'N') + { + $since_reset = 'N'; + $since_resetX = 'Y'; + } + else + { + $since_reset = 'Y'; + $since_resetX = 'N'; + } + $lead_list[$since_reset][$rowx[0]] = ($lead_list[$since_reset][$rowx[0]] + $rowx[2]); + $lead_list[$since_reset.'_count'] = ($lead_list[$since_reset.'_count'] + $rowx[2]); + #If opposite side is not set, it may not in the future so give it a value of zero + if (!isset($lead_list[$since_resetX][$rowx[0]])) + { + $lead_list[$since_resetX][$rowx[0]]=0; + } + $o++; + } + + $o=0; + if ($lead_list['count'] > 0) + { + while (list($dispo,) = each($lead_list[$since_reset])) + { + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + if ($dispo == 'CBHOLD') + { + $CLB=""; + $CLE=""; + } + else + { + $CLB=''; + $CLE=''; + } + + echo "\n"; + $o++; + } + } + + echo "\n"; + echo "\n"; + + echo "
ESITONOME ESITOCHIAMATINON CHIAMATI
$CLB$dispo$CLE$statuses_list[$dispo]".$lead_list['Y'][$dispo]."".$lead_list['N'][$dispo]."
SUBTOTALI$lead_list[Y_count]$lead_list[N_count]
TOTALE$lead_list[count]

\n"; + unset($lead_list); + + + echo "
\n"; + echo "
FUSI ORARI IN QUESTA LISTA:
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT gmt_offset_now,called_since_last_reset,count(*) from vicidial_list where list_id='$list_id' group by gmt_offset_now,called_since_last_reset order by gmt_offset_now,called_since_last_reset"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + + $o=0; + $plus='+'; + $lead_list['count'] = 0; + $lead_list['Y_count'] = 0; + $lead_list['N_count'] = 0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + + $lead_list['count'] = ($lead_list['count'] + $rowx[2]); + if ($rowx[1] == 'N') + { + $since_reset = 'N'; + $since_resetX = 'Y'; + } + else + { + $since_reset = 'Y'; + $since_resetX = 'N'; + } + $lead_list[$since_reset][$rowx[0]] = ($lead_list[$since_reset][$rowx[0]] + $rowx[2]); + $lead_list[$since_reset.'_count'] = ($lead_list[$since_reset.'_count'] + $rowx[2]); + #If opposite side is not set, it may not in the future so give it a value of zero + if (!isset($lead_list[$since_resetX][$rowx[0]])) + { + $lead_list[$since_resetX][$rowx[0]]=0; + } + $o++; + } + + if ($lead_list['count'] > 0) + { + while (list($tzone,) = each($lead_list[$since_reset])) + { + $LOCALzone=3600 * $tzone; + $LOCALdate=gmdate("D M Y H:i", time() + $LOCALzone); + + if ($tzone >= 0) {$DISPtzone = "$plus$tzone";} + else {$DISPtzone = "$tzone";} + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + } + + echo "\n"; + echo "\n"; + + echo "
FUSO ORARIO ATTUALE (ora locale)CHIAMATINON CHIAMATI
".$DISPtzone."     ($LOCALdate)".$lead_list['Y'][$tzone]."".$lead_list['N'][$tzone]."
SUBTOTALI$lead_list[Y_count]$lead_list[N_count]
TOTALE$lead_list[count]

\n"; + unset($lead_list); + + + + $leads_in_list = 0; + $leads_in_list_N = 0; + $leads_in_list_Y = 0; + $stmt="SELECT status,called_count,count(*) from vicidial_list where list_id='$list_id' group by status,called_count order by status,called_count"; + $rslt=mysql_query($stmt, $link); + $status_called_to_print = mysql_num_rows($rslt); + + $o=0; + $sts=0; + $first_row=1; + $all_called_first=1000; + $all_called_last=0; + while ($status_called_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $leads_in_list = ($leads_in_list + $rowx[2]); + $count_statuses[$o] = "$rowx[0]"; + $count_called[$o] = "$rowx[1]"; + $count_count[$o] = "$rowx[2]"; + $all_called_count[$rowx[1]] = ($all_called_count[$rowx[1]] + $rowx[2]); + + if ( (strlen($status[$sts]) < 1) or ($status[$sts] != "$rowx[0]") ) + { + if ($first_row) {$first_row=0;} + else {$sts++;} + $status[$sts] = "$rowx[0]"; + $status_called_first[$sts] = "$rowx[1]"; + if ($status_called_first[$sts] < $all_called_first) {$all_called_first = $status_called_first[$sts];} + } + $leads_in_sts[$sts] = ($leads_in_sts[$sts] + $rowx[2]); + $status_called_last[$sts] = "$rowx[1]"; + if ($status_called_last[$sts] > $all_called_last) {$all_called_last = $status_called_last[$sts];} + + $o++; + } + + + + + echo "
\n"; + echo "
CHIAMATE EFFETTUATE IN QUESTA LISTA:
\n"; + echo "\n"; + echo ""; + $first = $all_called_first; + while ($first <= $all_called_last) + { + if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#AFEEEE"';} + else{$AB='bgcolor="#E0FFFF"';} + echo ""; + $first++; + } + echo "\n"; + + $sts=0; + $statuses_called_to_print = count($status); + while ($statuses_called_to_print > $sts) + { + $Pstatus = $status[$sts]; + if (eregi("1$|3$|5$|7$|9$", $sts)) + {$bgcolor='bgcolor="#B9CBFD"'; $AB='bgcolor="#9BB9FB"';} + else + {$bgcolor='bgcolor="#9BB9FB"'; $AB='bgcolor="#B9CBFD"';} + # echo "$status[$sts]|$status_called_first[$sts]|$status_called_last[$sts]|$leads_in_sts[$sts]|\n"; + # echo "$status[$sts]|"; + echo ""; + + $first = $all_called_first; + while ($first <= $all_called_last) + { + if (eregi("1$|3$|5$|7$|9$", $sts)) + { + if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#9BB9FB"';} + else{$AB='bgcolor="#B9CBFD"';} + } + else + { + if (eregi("0$|2$|4$|6$|8$", $first)) {$AB='bgcolor="#9BB9FB"';} + else{$AB='bgcolor="#B9CBFD"';} + } + + $called_printed=0; + $o=0; + while ($status_called_to_print > $o) + { + if ( ($count_statuses[$o] == "$Pstatus") and ($count_called[$o] == "$first") ) + { + $called_printed++; + echo ""; + } + + + $o++; + } + if (!$called_printed) + {echo "";} + $first++; + } + echo "\n\n"; + + $sts++; + } + + echo ""; + $first = $all_called_first; + while ($first <= $all_called_last) + { + if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#AFEEEE"';} + else{$AB='bgcolor="#E0FFFF"';} + echo ""; + $first++; + } + echo "\n"; + + echo "
ESITONOME ESITO$firstSUBTOTALE
$Pstatus$statuses_list[$Pstatus] $count_count[$o]  $leads_in_sts[$sts]
TOTALE$all_called_count[$first]$leads_in_list

\n"; + + + + + + echo "
\n"; + + echo "

Clicca qui per visualizzare tutti i richiami in attesa in questa lista

\n"; + + if ($LOGdelete_lists > 0) + { + echo "

CANCELLA QUESTA LISTA\n"; + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + + +###################### +# ADD=3111 modify in-group info in the system +###################### + +if ($ADD==3111) +{ + if ($LOGmodify_ingroups==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $group_name = $row[1]; + $group_color = $row[2]; + $active = $row[3]; + $web_form_address = $row[4]; + $voicemail_ext = $row[5]; + $next_agent_call = $row[6]; + $fronter_display = $row[7]; + $script_id = $row[8]; + $get_call_launch = $row[9]; + $xferconf_a_dtmf = $row[10]; + $xferconf_a_number = $row[11]; + $xferconf_b_dtmf = $row[12]; + $xferconf_b_number = $row[13]; + $drop_call_seconds = $row[14]; + $drop_action = $row[15]; + $drop_exten = $row[16]; + $call_time_id = $row[17]; + $after_hours_action = $row[18]; + $after_hours_message_filename = $row[19]; + $after_hours_exten = $row[20]; + $after_hours_voicemail = $row[21]; + $welcome_message_filename = $row[22]; + $moh_context = $row[23]; + $onhold_prompt_filename = $row[24]; + $prompt_interval = $row[25]; + $agent_alert_exten = $row[26]; + $agent_alert_delay = $row[27]; + $default_xfer_group = $row[28]; + $queue_priority = $row[29]; + $drop_inbound_group = $row[30]; + $ingroup_recording_override = $row[31]; + $ingroup_rec_filename = $row[32]; + $afterhours_xfer_group = $row[33]; + $qc_enabled = $row[34]; + $qc_statuses = $row[35]; + $qc_shift_id = $row[36]; + $qc_get_record_launch = $row[37]; + $qc_show_recording = $row[38]; + $qc_web_form_address = $row[39]; + $qc_script = $row[40]; + $play_place_in_line = $row[41]; + $play_estimate_hold_time = $row[42]; + $hold_time_option = $row[43]; + $hold_time_option_seconds = $row[44]; + $hold_time_option_exten = $row[45]; + $hold_time_option_voicemail = $row[46]; + $hold_time_option_xfer_group = $row[47]; + $hold_time_option_callback_filename = $row[48]; + $hold_time_option_callback_list_id = $row[49]; + $hold_recall_xfer_group = $row[50]; + $no_delay_call_route = $row[51]; + $play_welcome_message = $row[52]; + $answer_sec_pct_rt_stat_one = $row[53]; + $answer_sec_pct_rt_stat_two = $row[54]; + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') order by group_id"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $Dgroups_menu=''; + $Dgroups_selected=0; + $Agroups_menu=''; + $Agroups_selected=0; + $Hgroups_menu=''; + $Hgroups_selected=0; + $Tgroups_menu=''; + $Tgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "\n"; + $Dgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + if ($group_id!=$rowx[0]) + { + $Agroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Tgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Hgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + } + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "\n";} + else + {$Xgroups_menu .= "\n";} + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "\n";} + else + {$Dgroups_menu .= "\n";} + if ($Agroups_selected < 1) + {$Agroups_menu .= "\n";} + else + {$Agroups_menu .= "\n";} + if ($Tgroups_selected < 1) + {$Tgroups_menu .= "\n";} + else + {$Tgroups_menu .= "\n";} + if ($Hgroups_selected < 1) + {$Hgroups_menu .= "\n";} + else + {$Hgroups_menu .= "\n";} + + + echo "
MODIFICAR UN REGISTRO DE LOS GRUPOS: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + + ##### get status listings for dynamic pulldown + $qc_statuses = preg_replace("/^ | -$/","",$qc_statuses); + $QCstatuses = explode(" ", $qc_statuses); + $QCs_to_print = (count($QCstatuses) -0); + $stmt="SELECT * from vicidial_statuses where status NOT IN('QUEUE','INCALL') order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $qc_statuses_list=''; + + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $qc_statuses_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + if (!ereg("\"$rowx[0]\"",$qc_statuses_list)) + { + $qc_statuses_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + $QCscripts_list .= "\n"; + $scriptname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + ##### get shifts listings for pulldown + $stmt="SELECT shift_id,shift_name from vicidial_shifts order by shift_id"; + $rslt=mysql_query($stmt, $link); + $shifts_to_print = mysql_num_rows($rslt); + $QCshifts_list=""; + $o=0; + while ($shifts_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $QCshifts_list .= "\n"; + $shiftname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "
ID Gruppo: $row[0]$NWB#vicidial_inbound_groups-group_id$NWE
Nome Gruppo: $NWB#vicidial_inbound_groups-group_name$NWE
Colore Gruppo: $NWB#vicidial_inbound_groups-group_color$NWE
Attivo: $NWB#vicidial_inbound_groups-active$NWE
Web Form: $NWB#vicidial_inbound_groups-web_form_address$NWE
Operatore Da Scegliere Per La Chiamata Successiva: $NWB#vicidial_inbound_groups-next_agent_call$NWE
Queue Priority: $NWB#vicidial_inbound_groups-queue_priority$NWE
Mostrar Fronter: $NWB#vicidial_inbound_groups-fronter_display$NWE
Script: $NWB#vicidial_inbound_groups-ingroup_script$NWE
Esegui all`avvio della telefonata: $NWB#vicidial_inbound_groups-get_call_launch$NWE
Transfiera -Conf DTMF 1: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
Transfiera -Conf El Número 1: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
Transfiera -Conf DTMF 2: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
Transfiera -Conf El Número 2: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
Secondi Abbattimento Telefonata: $NWB#vicidial_inbound_groups-drop_call_seconds$NWE
Drop Action: $NWB#vicidial_inbound_groups-drop_action$NWE
Gota Exten: $NWB#vicidial_inbound_groups-drop_exten$NWE
Casella Vocale: $NWB#vicidial_inbound_groups-voicemail_ext$NWE
Drop Transfer Gruppo: $NWB#vicidial_inbound_groups-drop_inbound_group$NWE
Tempo Chiamata: $NWB#vicidial_inbound_groups-call_time_id$NWE
Despue`s De la Accio`n De las Horas:$NWB#vicidial_inbound_groups-after_hours_action$NWE
Despue`s De Nombre de fichero Del Mensaje De las Horas:$NWB#vicidial_inbound_groups-after_hours_message_filename$NWE
Despue`s De la Extension De las Horas:$NWB#vicidial_inbound_groups-after_hours_exten$NWE
Despue`s De las Horas Casella Vocale:$NWB#vicidial_inbound_groups-after_hours_voicemail$NWE
After Hours Transfer Gruppo: $NWB#vicidial_inbound_groups-afterhours_xfer_group$NWE
Nombre de fichero Agradable Del Mensaje:$NWB#vicidial_inbound_groups-welcome_message_filename$NWE
Play Benvenuti Message: $NWB#vicidial_inbound_groups-play_welcome_message$NWE
Context Musica di Attesa:$NWB#vicidial_inbound_groups-moh_context$NWE
En Nombre de fichero Del Aviso Del Asimiento:$NWB#vicidial_inbound_groups-onhold_prompt_filename$NWE
En Intervalo Del Aviso Del Asimiento:$NWB#vicidial_inbound_groups-prompt_interval$NWE
Play Place in Line: $NWB#vicidial_inbound_groups-play_place_in_line$NWE
Play Estimated Hold Time: $NWB#vicidial_inbound_groups-play_estimate_hold_time$NWE
Hold Time Option: $NWB#vicidial_inbound_groups-hold_time_option$NWE
Hold Time Option Seconds: $NWB#vicidial_inbound_groups-hold_time_option_seconds$NWE
Hold Time Option Extension: $NWB#vicidial_inbound_groups-hold_time_option_exten$NWE
Hold Time Option Casella Vocale: $NWB#vicidial_inbound_groups-hold_time_option_voicemail$NWE
Hold Time Option Transfer In-Gruppo: $NWB#vicidial_inbound_groups-hold_time_option_xfer_group$NWE
Hold Time Option Callback Filename: $NWB#vicidial_inbound_groups-hold_time_option_callback_filename$NWE
Hold Time Option Callback ID Lista: $NWB#vicidial_inbound_groups-hold_time_option_callback_list_id$NWE
Extension Alerta Del Agente:$NWB#vicidial_inbound_groups-agent_alert_exten$NWE
La Alarma Del Agente Retrasa:$NWB#vicidial_inbound_groups-agent_alert_delay$NWE
Grupo De la Transferencia Del Defecto:$NWB#vicidial_inbound_groups-default_xfer_group$NWE
Hold Recall Transfer In-Gruppo: $NWB#vicidial_inbound_groups-hold_recall_xfer_group$NWE
No Delay Call Route: $NWB#vicidial_inbound_groups-no_delay_call_route$NWE
In-Group Recording Override: $NWB#vicidial_inbound_groups-ingroup_recording_override$NWE
In-Group Recording Filename: $NWB#vicidial_inbound_groups-ingroup_rec_filename$NWE
Stats Percent of Calls Answered Within X seconds 1: $NWB#vicidial_inbound_groups-answer_sec_pct_rt_stat_one$NWE
Stats Percent of Calls Answered Within X seconds 2: $NWB#vicidial_inbound_groups-answer_sec_pct_rt_stat_one$NWE
 
Inbound Group QC Settings:
QC Enabled: $NWB#vicidial_inbound_groups-qc_enabled$NWE
QC Esiti:
$NWB#vicidial_inbound_groups-qc_statuses$NWE
$qc_statuses_list
QC WebForm: $NWB#vicidial_inbound_groups-qc_web_form_address$NWE
QC Script: $NWB#vicidial_inbound_groups-qc_script$NWE
QC Shift: $NWB#vicidial_inbound_groups-qc_shift_id$NWE
QC Get Record Launch: $NWB#vicidial_inbound_groups-qc_get_record_launch$NWE
QC Show Recording: $NWB#vicidial_inbound_groups-qc_show_recording$NWE
\n"; + echo "

\n"; + + + ### list of agent rank or skill-level for this inbound group + echo "
\n"; + echo "
CLASSIFICA OPERATORI PER QUESTO GRUPPO INBOUND:
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT user,group_rank,calls_today from vicidial_inbound_group_agents where group_id='$group_id'"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
UTENTE     CLASSIFICA     CHIAMATE OGGI
$rowx[0]$rowx[1]$rowx[2]

\n"; + + echo "

\n"; + + echo "Clicca qui per visualizzare un report per questo gruppo inbound

\n"; + + echo "
\n"; + + if ($LOGdelete_ingroups > 0) + { + echo "

EMERGENCY VDAC CLEAR FOR THIS IN-GROUP

\n"; + echo "

CANCELLA QUESTO GRUPPO INBOUND\n"; + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + + +###################### +# ADD=3311 modify did info in the system +###################### + +if ($ADD==3311) +{ + if ($LOGmodify_dids==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_inbound_dids where did_id='$did_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $did_id = $row[0]; + $did_pattern = $row[1]; + $did_description = $row[2]; + $did_active = $row[3]; + $did_route = $row[4]; + $extension = $row[5]; + $exten_context = $row[6]; + $voicemail_ext = $row[7]; + $phone = $row[8]; + $server_ip = $row[9]; + $user = $row[10]; + $user_unavailable_action = $row[11]; + $user_route_settings_ingroup = $row[12]; + $group_id = $row[13]; + $call_handle_method = $row[14]; + $agent_search_method = $row[15]; + $list_id = $row[16]; + $campaign_id = $row[17]; + $phone_code = $row[18]; + + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + $o=0; + while ($campaigns_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "\n"; + $o++; + } + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "\n";} + else + {$Xgroups_menu .= "\n";} + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') order by group_id"; + $rslt=mysql_query($stmt, $link); + $Dgroups_to_print = mysql_num_rows($rslt); + $Dgroups_menu=''; + $Dgroups_selected=0; + $o=0; + while ($Dgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "\n";} + else + {$Dgroups_menu .= "\n";} + + + echo "
MODIFY A DID RECORD: $row[0]
\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + # + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "
DID Extension: $NWB#vicidial_inbound_dids-did_pattern$NWE
DID Descrizione: $NWB#vicidial_inbound_dids-did_description$NWE
Attivo: $NWB#vicidial_inbound_dids-did_active$NWE
DID Route: $NWB#vicidial_inbound_dids-did_route$NWE
Extension: $NWB#vicidial_inbound_dids-extension$NWE
Extension Context: $NWB#vicidial_inbound_dids-exten_context$NWE
Buzon de voz: $NWB#vicidial_inbound_dids-voicemail_ext$NWE
Phone Extension: $NWB#vicidial_inbound_dids-phone$NWE
IP Server: $NWB#vicidial_inbound_dids-server_ip$NWE
User Agent: $NWB#vicidial_inbound_dids-user$NWE
User Unavailable Action: $NWB#vicidial_inbound_dids-user_unavailable_action$NWE
User Route Settings In-Gruppo: $NWB#vicidial_inbound_dids-user_route_settings_ingroup$NWE
In-ID Gruppo: $NWB#vicidial_inbound_dids-group_id$NWE
In-Group Call Handle Method: $NWB#vicidial_inbound_dids-call_handle_method$NWE
In-Group Agent Search Method: $NWB#vicidial_inbound_dids-agent_search_method$NWE
In-Group ID Lista: $NWB#vicidial_inbound_dids-list_id$NWE
In-ID Gruppo Campagna: $NWB#vicidial_inbound_dids-campaign_id$NWE
In-Group Phone Code: $NWB#vicidial_inbound_dids-phone_code$NWE
\n"; + echo "

\n"; + + + + if ($LOGdelete_dids > 0) + { + echo "

DELETE THIS DID\n"; + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + + +###################### +# ADD=31111 modify remote agents info in the system +###################### + +if ($ADD==31111) +{ + if ($LOGmodify_remoteagents==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_remote_agents where remote_agent_id='$remote_agent_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id = $row[0]; + $user_start = $row[1]; + $number_of_lines = $row[2]; + $server_ip = $row[3]; + $conf_exten = $row[4]; + $status = $row[5]; + $campaign_id = $row[6]; + + echo "
MODIFICAR UNA ENTRADA DE LOS AGENTES REMOTOS: $row[0]
\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Inizio ID Utente: (solo cifre, incremented)$NWB#vicidial_remote_agents-user_start$NWE
Numero di Linee: (solo cifre)$NWB#vicidial_remote_agents-number_of_lines$NWE
IP Server: $NWB#vicidial_remote_agents-server_ip$NWE
Numero Di Interno Remoto: (numero del dialplan usato per raggiungere gli operatori)$NWB#vicidial_remote_agents-conf_exten$NWE
Esito: $NWB#vicidial_remote_agents-status$NWE
Campagna: $NWB#vicidial_remote_agents-campaign_id$NWE
Gruppi Inbound: \n"; + echo "$groups_list"; + echo "$NWB#vicidial_remote_agents-closer_campaigns$NWE
\n"; + echo "NOTA: Potrebbero passare fino a 30 secondi prima che le modifiche qui effettuate possano essere accettate\n"; + + + if ($LOGdelete_remote_agents > 0) + { + echo "

SUPRIMA ESTE AGENTE ALEJADO\n"; + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=311111 modify user group info in the system +###################### + +if ($ADD==311111) +{ + if ($LOGmodify_usergroups==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $user_group = $row[0]; + $group_name = $row[1]; + $GROUP_shifts = $row[5]; + $forced_timeclock_login = $row[6]; + echo ""; + + echo "
MODIFICA UN GRUPPO UTENTI\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "
Gruppo: (senza spazi e punteggiatura)$NWB#vicidial_user_groups-user_group$NWE
Descrizione: (Descrizione del gruppo)$NWB#vicidial_user_groups-group_name$NWE
Force Timeclock Login: $NWB#vicidial_user_groups-forced_timeclock_login$NWE
Campagne Permesse:
$NWB#vicidial_user_groups-allowed_campaigns$NWE
\n"; + echo "$campaigns_list
 "; + echo "
Group Shifts:
$NWB#vicidial_user_groups-group_shifts$NWE
\n"; + $stmt="SELECT shift_id,shift_name from vicidial_shifts order by shift_id"; + $rslt=mysql_query($stmt, $link); + $shifts_to_print = mysql_num_rows($rslt); + $o=0; + while ($shifts_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $shift_id_value = $rowx[0]; + $shift_name_value = $rowx[1]; + echo " $shift_id_value - $shift_name_value
\n"; + $o++; + } + echo "
 
QC Campagne Permesse:
$NWB#vicidial_user_groups-qc_allowed_campaigns$NWE
\n"; + echo "$qc_campaigns_list"; + echo "
 
QC Grupos De entrada Permitidos:
$NWB#vicidial_user_groups-qc_allowed_inbound_groups$NWE
\n"; + echo "$qc_groups_list"; + echo "
 
\n"; + + + ### list of users in this user group + + $active_confs = 0; + $stmt="SELECT user,full_name,user_level from vicidial_users where user_group='$user_group'"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + echo "
\n"; + echo "
UTENTI IN QUESTO GRUPPO: $users_to_print
\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($users_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
UTENTENOME COMPLETOLIVELLO
$rowx[0]$rowx[1]$rowx[2]

\n"; + + + + echo "

Clicca qui per visualizzare tutti i richiami di questo utente

\n"; + echo "

Click here to see the Timeclock Status for this user group

\n"; + + if ($LOGdelete_user_groups > 0) + { + echo "

CANCELLA QUESTO GRUPPO UTENTI\n"; + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=3111111 modify script info in the system +###################### + +if ($ADD==3111111) +{ + if ($LOGmodify_scripts==1) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_scripts where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $script_name = $row[1]; + $script_comments = $row[2]; + $script_text = $row[3]; + $active = $row[4]; + echo ""; + + echo "
MODIFICA SCRIPT\n"; + echo "\n"; + echo "\n"; + echo "
ID Script:: $script_id$NWB#vicidial_scripts-script_name$NWE
Nome Script: (titolo script)$NWB#vicidial_scripts-script_name$NWE
Note Script: $NWB#vicidial_scripts-script_comments$NWE
Attivo: $NWB#vicidial_scripts-active$NWE
Testo Script:

Anteprima Script
"; + # BEGIN Insert Field + echo ""; + echo "
"; + # END Insert Field + echo " $NWB#vicidial_scripts-script_text$NWE
\n"; + + if ($LOGdelete_scripts > 0) + { + echo "

CANCELLA QUESTO SCRIPT\n"; + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=31111111 modify filter info in the system +###################### + +if ($ADD==31111111) +{ + if ($LOGmodify_filters==1) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $lead_filter_name = $row[1]; + $lead_filter_comments = $row[2]; + $lead_filter_sql = $row[3]; + echo ""; + + echo "
MODIFICA UN FILTRO\n"; + echo "\n"; + echo "\n"; + echo "
ID Filtro:$lead_filter_id$NWB#vicidial_lead_filters-lead_filter_id$NWE
Nome Del Filtro: (breve descrizione del filtro)$NWB#vicidial_lead_filters-lead_filter_name$NWE
Commenti Del Filtro: $NWB#vicidial_lead_filters-lead_filter_comments$NWE
Filtro Sql: $NWB#vicidial_lead_filters-lead_filter_sql$NWE
\n"; + + ##### get campaigns listing for dynamic pulldown + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "\n"; + $o++; + } + + echo "

"; + echo "
PRUEBE EN CAMPAÑA:
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + if ($LOGdelete_filters > 0) + { + echo "

CANCELLA QUESTO FILTRO\n"; + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=321111111 modify call time definition info in the system +###################### + +if ($ADD==321111111) +{ +if ($LOGmodify_call_times==1) +{ + +if ( ($stage=="ADD") and (strlen($state_rule)>0) ) + { + $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_state_call_times = $row[0]; + + if (eregi("\|$",$ct_state_call_times)) + {$ct_state_call_times = "$ct_state_call_times$state_rule\|";} + else + {$ct_state_call_times = "$ct_state_call_times\|$state_rule\|";} + $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + echo "Regla Del Estado Agregada: $state_rule
\n"; + } +if ( ($stage=="REMOVE") and (strlen($state_rule)>0) ) + { + $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_state_call_times = $row[0]; + + $ct_state_call_times = eregi_replace("\|$state_rule\|",'|',$ct_state_call_times); + $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + echo "Regla Del Estado Quitada: $state_rule
\n"; + } + +$ADD=311111111; +} +else +{ +echo "Le no autorizan a visio`n esta página. Vaya por favor detrás."; +} + +} + + +###################### +# ADD=311111111 modify call time definition info in the system +###################### + +if ($ADD==311111111) +{ + +if ($LOGmodify_call_times==1) +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +$ct_srs=1; +$b=0; +$srs_SQL =''; +if (strlen($ct_state_call_times)>2) + { + $state_rules = explode('|',$ct_state_call_times); + $ct_srs = ((count($state_rules)) - 1); + } +echo "\n"; +echo "\n"; +while($ct_srs >= $b) + { + if (strlen($state_rules[$b])>0) + { + $stmt="SELECT state_call_time_state,state_call_time_name from vicidial_state_call_times where state_call_time_id='$state_rules[$b]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + echo "\n"; + $srs_SQL .= "'$state_rules[$b]',"; + $srs_state_SQL .= "'$row[0]',"; + } + $b++; + } +if (strlen($srs_SQL)>2) + { + $srs_SQL = "$srs_SQL''"; + $srs_state_SQL = "$srs_state_SQL''"; + $srs_SQL = "where state_call_time_id NOT IN($srs_SQL) and state_call_time_state NOT IN($srs_state_SQL)"; + } +else + {$srs_SQL='';} +$stmt="SELECT state_call_time_id,state_call_time_name from vicidial_state_call_times $srs_SQL order by state_call_time_id;"; +$rslt=mysql_query($stmt, $link); +$sct_to_print = mysql_num_rows($rslt); +$sct_list=''; + +$o=0; +while ($sct_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $sct_list .= "\n"; + $o++; +} +echo "\n"; +echo "\n"; + +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $call_time_name = $row[1]; + $call_time_comments = $row[2]; + $ct_default_start = $row[3]; + $ct_default_stop = $row[4]; + $ct_sunday_start = $row[5]; + $ct_sunday_stop = $row[6]; + $ct_monday_start = $row[7]; + $ct_monday_stop = $row[8]; + $ct_tuesday_start = $row[9]; + $ct_tuesday_stop = $row[10]; + $ct_wednesday_start = $row[11]; + $ct_wednesday_stop = $row[12]; + $ct_thursday_start = $row[13]; + $ct_thursday_stop = $row[14]; + $ct_friday_start = $row[15]; + $ct_friday_stop = $row[16]; + $ct_saturday_start = $row[17]; + $ct_saturday_stop = $row[18]; + $ct_state_call_times = $row[19]; + +echo ""; + +echo "
MODIFICA ORARIO CHIAMATE\n"; +echo "\n"; +echo "\n"; +echo "
ID Orario Chiamate: $call_time_id$NWB#vicidial_call_times-call_time_id$NWE
Nome Orario Chiamate: (breve descrizione dell`orario chiamate)$NWB#vicidial_call_times-call_time_name$NWE
Note Orario Chiamate: $NWB#vicidial_call_times-call_time_comments$NWE
Inizio di Default: Fine di Default: $NWB#vicidial_call_times-ct_default_start$NWE
Inizio Domenica: Fine Domenica: $NWB#vicidial_call_times-ct_sunday_start$NWE
Inizio Lunedi: Fine Lunedi: $NWB#vicidial_call_times-ct_sunday_start$NWE
Inizio Martedi: Fine Martedi: $NWB#vicidial_call_times-ct_sunday_start$NWE
Inizio Mercoledi: Fine Mercoledi: $NWB#vicidial_call_times-ct_sunday_start$NWE
Inizio Giovedi: Fine Giovedi: $NWB#vicidial_call_times-ct_sunday_start$NWE
Inizio Venerdi: Fine Venerdi: $NWB#vicidial_call_times-ct_sunday_start$NWE
Inizio Sabato: Fine Sabato: $NWB#vicidial_call_times-ct_sunday_start$NWE
Definiciones activas del tiempo de la llamada del estado para estoexpediente:  
$state_rules[$b] - REMOVE $row[0] - $row[1]
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "Add state call time rule:


\n"; +echo "CAMPAGNE CHE UTILIZZANO QUESTO ORARIO:
\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns where local_call_time='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]
\n"; +echo "GRUPPI INBOUND CHE UTILIZZANO QUESTO ORARIO:
\n"; +echo "\n"; + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]
\n"; +echo "

\n"; + +if ($LOGdelete_call_times > 0) + { + echo "

ELIMINA QUESTO ORARIO CHIAMATE\n"; + } +} +else +{ +echo "Le no autorizan a visio`n esta página. Vaya por favor detrás."; +} + +} + + +###################### +# ADD=3111111111 modify state call time definition info in the system +###################### + +if ($ADD==3111111111) +{ + +if ($LOGmodify_call_times==1) +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +echo "\n"; +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_state_call_times where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $state_call_time_state =$row[1]; + $call_time_name = $row[2]; + $call_time_comments = $row[3]; + $ct_default_start = $row[4]; + $ct_default_stop = $row[5]; + $ct_sunday_start = $row[6]; + $ct_sunday_stop = $row[7]; + $ct_monday_start = $row[8]; + $ct_monday_stop = $row[9]; + $ct_tuesday_start = $row[10]; + $ct_tuesday_stop = $row[11]; + $ct_wednesday_start = $row[12]; + $ct_wednesday_stop = $row[13]; + $ct_thursday_start = $row[14]; + $ct_thursday_stop = $row[15]; + $ct_friday_start = $row[16]; + $ct_friday_stop = $row[17]; + $ct_saturday_start = $row[18]; + $ct_saturday_stop = $row[19]; + +echo ""; + +echo "
_ MODIFICAR Uno ESTADO LLAMAR TIEMPO
\n"; +echo "\n"; +echo "\n"; +echo "
ID Orario Chiamate: $call_time_id$NWB#vicidial_call_times-call_time_id$NWE
State Call Time State: $NWB#vicidial_call_times-state_call_time_state$NWE
_ Estado Llamar Tiempo Nombre: (breve descrizione dell`orario chiamate)$NWB#vicidial_call_times-call_time_name$NWE
Comentarios Del Tiempo De la Llamada Del Estado: $NWB#vicidial_call_times-call_time_comments$NWE
Inizio di Default: Fine di Default: $NWB#vicidial_call_times-ct_default_start$NWE
Inizio Domenica: Fine Domenica: $NWB#vicidial_call_times-ct_sunday_start$NWE
Inizio Lunedi: Fine Lunedi: $NWB#vicidial_call_times-ct_sunday_start$NWE
Inizio Martedi: Fine Martedi: $NWB#vicidial_call_times-ct_sunday_start$NWE
Inizio Mercoledi: Fine Mercoledi: $NWB#vicidial_call_times-ct_sunday_start$NWE
Inizio Giovedi: Fine Giovedi: $NWB#vicidial_call_times-ct_sunday_start$NWE
Inizio Venerdi: Fine Venerdi: $NWB#vicidial_call_times-ct_sunday_start$NWE
Inizio Sabato: Fine Sabato: $NWB#vicidial_call_times-ct_sunday_start$NWE


\n"; +echo "TIEMPOS DE LA LLAMADA USANDO ESTE TIEMPO DE LA LLAMADA DEL ESTADO:
\n"; +echo "\n"; + + $stmt="SELECT call_time_id,call_time_name from vicidial_call_times where ct_state_call_times LIKE \"%|$call_time_id|%\";"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]
\n"; +echo "

\n"; + +if ($LOGdelete_call_times > 0) + { + echo "

SUPRIMA ESTA DEFINICIo`N DEL TIEMPO DE LA LLAMADA DEL ESTADO\n"; + } + +} +else +{ +echo "Le no autorizan a visio`n esta página. Vaya por favor detrás."; +} + +} + + + +###################### +# ADD=331111111 modify shift definition info in the system +###################### + +if ($ADD==331111111) +{ + +if ($LOGmodify_call_times==1) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_shifts where shift_id='$shift_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $shift_name = $row[1]; + $shift_start_time = $row[2]; + $shift_length = $row[3]; + $shift_weekdays = $row[4]; + + $shift_start_hour = substr($shift_start_time,0,2); + $shift_start_min = substr($shift_start_time,2,2); + $shift_length_hour = substr($shift_length,0,2); + $shift_length_min = substr($shift_length,3,2); + $shift_end_hour = ($shift_start_hour + $shift_length_hour); + $shift_end_min = ($shift_start_min + $shift_length_min); + if ($shift_end_min >=60) + { + $shift_end_min = ($shift_end_min - 60); + $shift_end_hour++; + } + if ($shift_end_hour >=24) + { + $shift_end_hour = ($shift_end_hour - 24); + } + $shift_end_hour = sprintf("%02s", $shift_end_hour); + $shift_end_min = sprintf("%02s", $shift_end_min); + $shift_end = "$shift_end_hour$shift_end_min"; + +echo ""; + +echo "
MODIFY A SHIFT\n"; +echo "\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
Shift ID: $shift_id
Shift Name: (short description of the shift)$NWB#vicidial_shifts-shift_name$NWE
Shift Start Time: \n"; +echo "   Shift End Time: \n"; +echo " $NWB#vicidial_shifts-shift_start_time$NWE
Shift Length: $NWB#vicidial_shifts-shift_length$NWE
Shift Weekdays:
$NWB#vicidial_shifts-shift_weekdays$NWE
\n"; +echo "Sunday
\n"; +echo "Monday
\n"; +echo "Tuesday
\n"; +echo "Wednesday
\n"; +echo "Thursday
\n"; +echo "Friday
\n"; +echo "Saturday
\n"; +echo "
\n"; + +echo "


\n"; +echo "GRUPPI UTENTI USING THIS SHIFT:
\n"; +echo "\n"; + + + $stmt="SELECT user_group,group_name from vicidial_user_groups where group_shifts LIKE\"% $shift_id %\";"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + +echo "
$row[0] $row[1]
\n"; +echo "

\n"; + +if ($LOGdelete_call_times > 0) + { + echo "

DELETE THIS SHIFT DEFINITION\n"; + } +} +else +{ +echo "Le no autorizan a visio`n esta página. Vaya por favor detrás."; +} + +} + + +###################### +# ADD=31111111111 modify phone record in the system +###################### + +if ($ADD==31111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from phones where extension='$extension' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + echo "
MODIFICANDO EL telefonO: $row[1]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Interno Telefono: $NWB#phones-extension$NWE
Numero De Dial plan: (solo cifre)$NWB#phones-dialplan_number$NWE
Buzon de voz: (solo cifre)$NWB#phones-voicemail_id$NWE
CallerID De salida: (solo cifre)$NWB#phones-outbound_cid$NWE
Direccion IP del telefono: (optional)$NWB#phones-phone_ip$NWE
Direccion IP del ordenador: (optional)$NWB#phones-computer_ip$NWE
IP Server: $NWB#phones-server_ip$NWE
Login: $NWB#phones-login$NWE
Password: $NWB#phones-pass$NWE
Esito: $NWB#phones-status$NWE
Cuenta Activa: $NWB#phones-active$NWE
Tipo Del telefono: $NWB#phones-phone_type$NWE
Nome Completo: $NWB#phones-fullname$NWE
Email: $NWB#phones-email$NWE
Compania: $NWB#phones-company$NWE
Foto: $NWB#phones-picture$NWE
Messaggi Nuovi: $row[14]$NWB#phones-messages$NWE
Messaggi Vecchi: $row[15]$NWB#phones-old_messages$NWE
Protocollo Client: $NWB#phones-protocol$NWE
Fuso Orario Locale: (No ajustar para el DST)$NWB#phones-local_gmt$NWE
Login del Manager: $NWB#phones-ASTmgrUSERNAME$NWE
Contraseña del Manager: $NWB#phones-ASTmgrSECRET$NWE
Usuario por defecto de VICIDIAL: $NWB#phones-login_user$NWE
Contraseña por defecto de VICIDIAL: $NWB#phones-login_pass$NWE
Campaña por defecto de VICIDIAL: $NWB#phones-login_campaign$NWE
Extension del parking: $NWB#phones-park_on_extension$NWE
Extension de la conferencia: $NWB#phones-conf_on_extension$NWE
Exten. Del parking de VICIDIAL: $NWB#phones-VICIDIAL_park_on_extension$NWE
Archivo para música del parking de VICIDIAL: $NWB#phones-VICIDIAL_park_on_filename$NWE
Prefijo al monitorizar: $NWB#phones-monitor_prefix$NWE
Exten de grabacion: $NWB#phones-recording_exten$NWE
Exten de VmailMain: $NWB#phones-voicemail_exten$NWE
Exten de VmaiDumpl: $NWB#phones-voicemail_dump_exten$NWE
Contexto De Exten: $NWB#phones-ext_context$NWE
Canal de envío del DTMF: $NWB#phones-dtmf_send_extension$NWE
Grupo de las llamadas de salida: $NWB#phones-call_out_number_group$NWE
Localizacio`n del Navegador: $NWB#phones-client_browser$NWE
Directorio de instalacio`n: $NWB#phones-install_directory$NWE
URL CallerID: $NWB#phones-local_web_callerID_URL$NWE
URL por defecto de VICIDIAL: $NWB#phones-VICIDIAL_web_URL$NWE
Call Logging: $NWB#phones-AGI_call_logging_enabled$NWE
Cambio de Usuario: $NWB#phones-user_switching_enabled$NWE
Conferenze: $NWB#phones-conferencing_enabled$NWE
Colgar del Admin: $NWB#phones-admin_hangup_enabled$NWE
Captura del Admin: $NWB#phones-admin_hijack_enabled$NWE
Monitorizacio`n del Admin: $NWB#phones-admin_monitor_enabled$NWE
Parking de Llamada: $NWB#phones-call_parking_enabled$NWE
Uptader Check: $NWB#phones-updater_check_enabled$NWE
AF Logging: $NWB#phones-AFLogging_enabled$NWE
Colas permitidas: $NWB#phones-QUEUE_ACTION_enabled$NWE
Ventana emergente del CallerID: $NWB#phones-CallerID_popup_enabled$NWE
Boto`n Vmail: $NWB#phones-voicemail_button_enabled$NWE
Aggiornamento Veloce: $NWB#phones-enable_fast_refresh$NWE
Intervallo Aggiornamento Veloce: (in ms)$NWB#phones-fast_refresh_rate$NWE
Persistant MySQL: $NWB#phones-enable_persistant_mysql$NWE
Auto Marcar el Siguiente Número: $NWB#phones-auto_dial_next_number$NWE
Parar de Grabar despue`s de cada llamada: $NWB#phones-VDstop_rec_after_each_call$NWE
Abilita messaggi SIPSAK: $NWB#phones-enable_sipsak_messages$NWE
Servidor de DBX: (Primario DB Server)$NWB#phones-DBX_server$NWE
Base de datos de DBX: (Primario Server Database)$NWB#phones-DBX_database$NWE
Usuario de DBX: (Primario DB Login)$NWB#phones-DBX_user$NWE
Contraseña de DBX: (Primario DB Secret)$NWB#phones-DBX_pass$NWE
Puerto de DBX: (Primario DB Port)$NWB#phones-DBX_port$NWE
Servidor de DBY: (Secondario DB Server)$NWB#phones-DBY_server$NWE
Base de datos de DBY: (Secondario Server Database)$NWB#phones-DBY_database$NWE
Usuario de DBY: (Secondario DB Login)$NWB#phones-DBY_user$NWE
Contraseña de DBY: (Secondario DB Secret)$NWB#phones-DBY_pass$NWE
Puerto de DBY: (Secondario DB Port)$NWB#phones-DBY_port$NWE
\n"; + + echo "

Pinchar aquí­ para ver las estadísticas del telefono\n"; + + if ($LOGast_delete_phones > 0) + { + echo "

CANCELLA QUESTO TELEFONO\n"; + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=32111111111 modify phone alias record in the system +###################### + +if ($ADD==32111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from phones_alias where alias_id='$alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + echo "
MODIFY A PHONE ALIAS RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Alias ID: $row[0] $NWB#phones-alias_id$NWE
Alias Name: $NWB#phones-alias_name$NWE
Phones Logins List: (comma separated)$NWB#phones-logins_list$NWE
\n"; + + + ### list of phones in this phones alias + $phone_alias_SQL = ereg_replace(',',"','",$row[2]); + + echo "
\n"; + echo "
PHONES WITHIN THIS PHONES ALIAS:
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT login,extension,server_ip,protocol,phone_ip from phones where login IN ('$phone_alias_SQL');"; + if ($DB) {echo "|$stmt|";} + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
LOGININTERNOSERVERPROTOCOLIP
$rowx[0]$rowx[1]$rowx[2]$rowx[3]$rowx[4]

\n"; + + + + + + + + + if ($LOGast_delete_phones > 0) + { + echo "

CANCELLA QUESTO TELEFONO ALIAS\n"; + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=311111111111 modify server record in the system +###################### + +if ($ADD==311111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from servers where server_id='$server_id' or server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $server_id = $row[0]; + $server_ip = $row[2]; + + echo "
MODIFICAR UN REGISTRO DEL SERVIDOR: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
ID Server: $NWB#servers-server_id$NWE
Descrizione Server: $NWB#servers-server_description$NWE
Indirizzo IP del Server: $NWB#servers-server_ip$NWE
Attivo: $NWB#servers-active$NWE
Versione Di Asterisk: $NWB#servers-asterisk_version$NWE
Máx. Trunks en VICIDIAL: $NWB#servers-max_vicidial_trunks$NWE
El Marcar Del Balance de VICIDIAL: $NWB#servers-vicidial_balance_active$NWE
Balance Offlimits de VICIDIAL: $NWB#servers-balance_trunks_offlimits$NWE
Host Telnet: $NWB#servers-telnet_host$NWE
Porta Telnet: $NWB#servers-telnet_port$NWE
Usuario Del Manager: $NWB#servers-ASTmgrUSERNAME$NWE
Contraseña del Manager: $NWB#servers-ASTmgrSECRET$NWE
Usuario del Updater del Manager: $NWB#servers-ASTmgrUSERNAMEupdate$NWE
Usuario Listen del Manager: $NWB#servers-ASTmgrUSERNAMElisten$NWE
Usuario Send del Manager: $NWB#servers-ASTmgrUSERNAMEsend$NWE
Fuso Orario Locale: (No ajustar para el DST)$NWB#servers-local_gmt$NWE
Extension de Vmail Dump : $NWB#servers-voicemail_dump_exten$NWE
Extension del AD de VICIDIAL: $NWB#servers-answer_transfer_agent$NWE
Contexto por Defecto: $NWB#servers-ext_context$NWE
Performance Di Sistema: $NWB#servers-sys_perf_log$NWE
Log Server: $NWB#servers-vd_server_logs$NWE
Salida de AGI: $NWB#servers-agi_output$NWE
\n"; + + + ### vicidial server trunk records for this server + echo "

TRONCOS DE VICIDIAL PARA ESTE SERVIDOR:   $NWB#vicidial_server_trunks$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_server_trunks where server_ip='$server_ip' order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $recycle_to_print = mysql_num_rows($rslt); + $o=0; + while ($recycle_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
CAMPAGNA TRONCOS RESTRICCIo`N DELETE
$rowx[1]
\n"; + echo "\n"; + echo "\n"; + echo "
CANCELLA
\n"; + + echo "
AGREGUE EL NUEVO EXPEDIENTE DEL TRONCO DEL SERVIDOR VICIDIAL
\n"; + echo "\n"; + echo "\n"; + echo "TRUNKS:
\n"; + echo "CAMPAGNA:
\n"; + echo "RESTRICTION:
\n"; + echo "
\n"; + + echo "

\n"; + + + ### list of phones on this server + echo "
\n"; + echo "
TELEFONI IN QUESTO SERVER:
\n"; + echo "\n"; + echo "\n"; + + $active_phones = 0; + $inactive_phones = 0; + $stmt="SELECT extension,active,fullname from phones where server_ip='$row[2]'"; + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + if (ereg("Y", $rowx[1])) {$active_phones++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_phones++;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
INTERNONOMEATTIVO
$rowx[0]$rowx[2]$rowx[1]

\n"; + + + ### list of conferences on this server + echo "
\n"; + echo "
CONFERENCES WITHIN THIS SERVER:
\n"; + echo "\n"; + echo "\n"; + + $active_confs = 0; + $stmt="SELECT conf_exten,extension from conferences where server_ip='$row[2]'"; + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + $active_confs++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
CONFERENCEINTERNO
$rowx[0]$rowx[2]

\n"; + + + ### list of vicidial conferences on this server + echo "
\n"; + echo "
VICIDIAL CONFERENCES WITHIN THIS SERVER:
\n"; + echo "\n"; + echo "\n"; + + $active_vdconfs = 0; + $stmt="SELECT conf_exten,extension from vicidial_conferences where server_ip='$row[2]'"; + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + $active_vdconfs++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
VD CONFERENCEINTERNO
$rowx[0]$rowx[2]

\n"; + + + echo "
\n"; + + $camp_lists = eregi_replace(".$","",$camp_lists); + echo "Questo server ha $active_phones telefoni attivi e $inactive_phones telefoni inattivi

\n"; + echo "Questo server ha $active_confs active conferences

\n"; + echo "Questo server ha $active_vdconfs active vicidial conferences

\n"; + echo "
\n"; + if ($LOGast_delete_phones > 0) + { + echo "

CANCELLA QUESTO SERVER\n"; + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=3111111111111 modify conference record in the system +###################### + +if ($ADD==3111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $conf_exten = $row[0]; + $server_ip = $row[1]; + + echo "
MODIFICA DELLA CONFERENZA: $row[0]
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Conferenza: $NWB#conferences-conf_exten$NWE
IP Server: $NWB#conferences-server_ip$NWE
Interno Corrente:
\n"; + + echo "
\n"; + if ($LOGast_delete_phones > 0) + { + echo "

CANCELLA QUESTA CONFERENZA\n"; + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + +###################### +# ADD=31111111111111 modify vicidial conference record in the system +###################### + +if ($ADD==31111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $conf_exten = $row[0]; + $server_ip = $row[1]; + + echo "
MODIFY A VICIDIAL CONFERENCE RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
Conferenza: $NWB#conferences-conf_exten$NWE
IP Server: $NWB#conferences-server_ip$NWE
Interno Corrente:
\n"; + + echo "
\n"; + if ($LOGast_delete_phones > 0) + { + echo "

CANCELLA QUESTA CONFERENZA VICIDIAL\n"; + } + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + + +###################### +# ADD=311111111111111 modify vicidial system settings +###################### + +if ($ADD==311111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + $stmt="SELECT version,install_date,use_non_latin,webroot_writable,enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_url,queuemetrics_log_id,queuemetrics_eq_prepend,vicidial_agent_disable,allow_sipsak_messages,admin_home_url,enable_agc_xfer_log,db_schema_version,auto_user_add_value,timeclock_end_of_day,timeclock_last_reset_date,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,vdc_agent_api_active,qc_last_pull_time from system_settings;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $version = $row[0]; + $install_date = $row[1]; + $use_non_latin = $row[2]; + $webroot_writable = $row[3]; + $enable_queuemetrics_logging = $row[4]; + $queuemetrics_server_ip = $row[5]; + $queuemetrics_dbname = $row[6]; + $queuemetrics_login = $row[7]; + $queuemetrics_pass = $row[8]; + $queuemetrics_url = $row[9]; + $queuemetrics_log_id = $row[10]; + $queuemetrics_eq_prepend = $row[11]; + $vicidial_agent_disable = $row[12]; + $allow_sipsak_messages = $row[13]; + $admin_home_url = $row[14]; + $enable_agc_xfer_log = $row[15]; + $db_schema_version = $row[16]; + $auto_user_add_value = $row[17]; + $timeclock_end_of_day = $row[18]; + $timeclock_last_reset_date = $row[19]; + $vdc_header_date_format = $row[20]; + $vdc_customer_date_format = $row[21]; + $vdc_header_phone_format = $row[22]; + $vdc_agent_api_active = $row[23]; + $qc_last_pull_time = $row[24]; + + echo "
MODIFICA IMPOSTAZIONI DI SISTEMA\n"; + echo "\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$NWB#settings-vdc_header_phone_format$NWE\n"; + echo "\n"; + echo "
Versione: $version
DB Schema Versione: $db_schema_version
Auto User-add Value: $auto_user_add_value
Install Date: $install_date
UsA Non-Latino: $NWB#settings-use_non_latin$NWE
Webroot Escribible: $NWB#settings-webroot_writable$NWE
Permita La Registracion De QueueMetrics: $NWB#settings-enable_queuemetrics_logging$NWE
IP Del Servidor De QueueMetrics: $NWB#settings-queuemetrics_server_ip$NWE
Nombre del DB De QueueMetrics: $NWB#settings-queuemetrics_dbname$NWE
conexion del DB De QueueMetrics: $NWB#settings-queuemetrics_login$NWE
Contraseña del DB De QueueMetrics: $NWB#settings-queuemetrics_pass$NWE
QueueMetrics URL: $NWB#settings-queuemetrics_url$NWE
Log ID QueueMetrics: $NWB#settings-queuemetrics_log_id$NWE
QueueMetrics EnterQueue Prepend: $NWB#settings-queuemetrics_eq_prepend$NWE
El Agente de VICIDIAL Inhabilita La Exhibicio`n:$NWB#settings-vicidial_agent_disable$NWE
Permetti messaggi SIPSAK: $NWB#settings-allow_sipsak_messages$NWE
URL Home Amministrazione: $NWB#settings-admin_home_url$NWE
Permita El Logfile De la Transferencia Del Agente: $NWB#settings-enable_agc_xfer_log$NWE
Timeclock End Of Day: $NWB#settings-timeclock_end_of_day$NWE
Timeclock Last Auto Logout: $timeclock_last_reset_date
QC Last Pull Time: $qc_last_pull_time
Agent Screen Header Date Format: $NWB#settings-vdc_header_date_format$NWE
Agent Screen Customer Date Format: $NWB#settings-vdc_customer_date_format$NWE
Agent Screen Customer Phone Format:
Agent API Attivo: $NWB#settings-vdc_agent_api_active$NWE
\n"; + echo "\n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + + + + + +###################### +# ADD=321111111111111 modify vicidial system statuses +###################### + +if ($ADD==321111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + echo "
\n"; + echo "ESITI DI DEFAULT IN QUESTO SISTEMA:   $NWB#vicidial_statuses$NWE
\n"; + echo "\n"; + echo "\n"; + + ##### get status category listings for dynamic pulldown + $stmt="SELECT vsc_id,vsc_name from vicidial_status_categories order by vsc_id desc"; + $rslt=mysql_query($stmt, $link); + $cats_to_print = mysql_num_rows($rslt); + $cats_list=""; + + $o=0; + while ($cats_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $cats_list .= "\n"; + $catsname_list["$rowx[0]"] = substr($rowx[1],0,20); + $o++; + } + + + $stmt="SELECT * from vicidial_statuses order by status;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AScategory = $rowx[4]; + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
ESITODESCRIZIONESELEZIO
NABILE
RISPOSTA
UMANA
CATEGORIAMODIFICA/CANCELLA
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
\n"; + echo "\n"; + echo "         \n"; + echo "   \n"; + + if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) + { + echo "CANCELLA\n"; + } + else + { + echo "CANCELLA\n"; + } + echo "
\n"; + + echo "
AGGIUNGI UN NUOVO ESITO DI DEFAULT
\n"; + echo "\n"; + echo "Esito:   \n"; + echo "Descrizione:
\n"; + echo "Selezionabile:   \n"; + echo "Risposta Umana:   \n"; + echo "Categoria: \n"; + echo "  
\n"; + echo "
\n"; + + echo "

\n"; + + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + + + + +###################### +# ADD=331111111111111 modify vicidial status categories +###################### + +if ($ADD==331111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + echo "
\n"; + echo "VICIDIAL STATUS CATEGORIES:   $NWB#vicidial_status_categories$NWE
\n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_status_categories order by vsc_id;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Avsc_id[$o] = $rowx[0]; + $Avsc_name[$o] = $rowx[1]; + $Avsc_description[$o] = $rowx[2]; + $Atovdad_display[$o] = $rowx[3]; + $Asale_category[$o] = $rowx[4]; + $Adead_lead_category[$o] = $rowx[5]; + $o++; + } + $p=0; + while ($o > $p) + { + if (eregi("1$|3$|5$|7$|9$", $p)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $CATstatuses=''; + $stmt="SELECT status from vicidial_statuses where category='$Avsc_id[$p]' order by status;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $q=0; + while ($statuses_to_print > $q) + { + $rowx=mysql_fetch_row($rslt); + $CATstatuses.=" $rowx[0]"; + $q++; + } + $stmt="SELECT status from vicidial_campaign_statuses where category='$Avsc_id[$p]' order by status;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $q=0; + while ($statuses_to_print > $q) + { + $rowx=mysql_fetch_row($rslt); + $CATstatuses.=" $rowx[0]"; + $q++; + } + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $p++; + } + + echo "
CATEGORIANOMESTATUSES IN THIS CATEGORY
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$Avsc_id[$p]
\n"; + echo "$CATstatuses"; + echo "
TO VDAD Display:     Sale Categoria:     Dead Lead Categoria:  
Descrizione:
        \n"; + echo "   CANCELLA
 
\n"; + + echo "
AGGIUNGI NUOVA CATEGORIA DI ESITI
\n"; + echo "\n"; + echo "Category ID:   \n"; + echo "Name:  
\n"; + echo "TimeOnVDAD Display:   \n"; + echo "Sale Categoria:   \n"; + echo "Dead Lead Categoria:  
\n"; + echo "Descrizione:   \n"; + echo "
\n"; + + echo "

\n"; + + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + + + + +###################### +# ADD=341111111111111 modify vicidial QC status code +###################### + +if ($ADD==341111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
\n"; + echo ""; + + echo "
\n"; + echo "VICIDIAL QC STATUS CODES WITHIN THIS SYSTEM:   $NWB#vicidial_qc_status_codes$NWE
\n"; + echo "\n"; + echo "\n"; + + ##### go through each QC status code + $stmt="SELECT count(*) from vicidial_qc_codes;"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] > 0) + { + $stmt="SELECT code,code_name from vicidial_qc_codes order by code;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + } + } + echo "
STATUS CODEDESCRIZIONEMODIFICA/CANCELLA
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
        \n"; + echo "   \n"; + + if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) + { + echo "CANCELLA\n"; + } + else + { + echo "CANCELLA\n"; + } + echo "
\n"; + + echo "
ADD NEW QC STATUS CODE
\n"; + echo "\n"; + echo "Esito:   \n"; + echo "Descrizione:
\n"; + echo "
\n"; + + echo "

\n"; + + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + + + + + +###################### +# ADD=550 search form +###################### + +if ($ADD==550) +{ +echo "
\n"; +echo ""; + +echo "
RICERCA UTENTI
\n"; +echo "\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +echo "\n"; +echo "
Numero Utente:
Nome Completo:
Livello Utente:
Gruppo Utente:
\n"; + +} + +###################### +# ADD=660 user search results +###################### + +if ($ADD==660) +{ +echo "
\n"; + echo ""; + + $SQL = ''; + if ($user) {$SQL .= " user LIKE \"%$user%\" and";} + if ($full_name) {$SQL .= " full_name LIKE \"%$full_name%\" and";} + if ($user_level > 0) {$SQL .= " user_level LIKE \"%$user_level%\" and";} + if ($user_group) {$SQL .= " user_group = '$user_group' and";} + $SQL = eregi_replace(" and$", "", $SQL); + if (strlen($SQL)>5) {$SQL = "where $SQL";} + + $stmt="SELECT * from vicidial_users $SQL order by full_name desc;"; +# echo "\n|$stmt|\n"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
RESULTADOS DE LA BÚSQUEDA:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[1]$row[3]$row[4]$row[5]MODIFICA | STATISTICHE | ESITO | TIME
\n"; + +} + + +###################################################################################################### +###################################################################################################### +####### 8 series, Callback lists +###################################################################################################### +###################################################################################################### + +###################### +# ADD=8 find all callbacks on hold by a User +###################### +if ($ADD==8) +{ + if ($LOGmodify_users==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user='$user' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
User($user) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user='$user' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
User($user) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } +$CBinactiveLINK = "
Remove LIVE Callbacks older than one month for this user
Remove LIVE Callbacks older than one week for this user
"; + +echo ""; + + $CBquerySQLwhere = "and user='$user'"; + +echo "
ELENCO RICHIAMI DA EFFETTUARE PER L`UTENTE: $user\n"; +$oldADD = "ADD=8&user=$user"; +$ADD='82'; +} + +###################### +# ADD=81 find all callbacks on hold within a Campaign +###################### +if ($ADD==81) +{ + if ($LOGmodify_campaigns==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where campaign_id='$campaign_id' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
campaign($campaign_id) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where campaign_id='$campaign_id' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
campaign($campaign_id) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } +$CBinactiveLINK = "
Remove LIVE Callbacks older than one month for this campaign
Remove LIVE Callbacks older than one week for this campaign
"; + +echo ""; + + $CBquerySQLwhere = "and campaign_id='$campaign_id'"; + +echo "
CAMPAIGN CALLBACK HOLD LISTINGS: $campaign_id\n"; +$oldADD = "ADD=81&campaign_id=$campaign_id"; +$ADD='82'; +} + +###################### +# ADD=811 find all callbacks on hold within a List +###################### +if ($ADD==811) +{ + if ($LOGmodify_lists==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where list_id='$list_id' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
list($list_id) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where list_id='$list_id' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
list($list_id) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } +$CBinactiveLINK = "
Remove LIVE Callbacks older than one month for this list
Remove LIVE Callbacks older than one week for this list
"; + +echo ""; + + $CBquerySQLwhere = "and list_id='$list_id'"; + +echo "
LIST CALLBACK HOLD LISTINGS: $list_id\n"; +$oldADD = "ADD=811&list_id=$list_id"; +$ADD='82'; +} + +###################### +# ADD=8111 find all callbacks on hold within a user group +###################### +if ($ADD==8111) +{ + if ($LOGmodify_usergroups==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user_group='$user_group' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
user group($user_group) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user_group='$user_group' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
user group($user_group) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } + $CBinactiveLINK = "
Remove LIVE Callbacks older than one month for this user group
Remove LIVE Callbacks older than one week for this user group
"; + + echo ""; + + $CBquerySQLwhere = "and user_group='$user_group'"; + +echo "
USER GROUP CALLBACK HOLD LISTINGS: $list_id\n"; +$oldADD = "ADD=8111&user_group=$user_group"; +$ADD='82'; +} + +###################### +# ADD=82 display all callbacks on hold +###################### +if ($ADD==82) +{ + +$USERlink='stage=USERIDDOWN'; +$GROUPlink='stage=GROUPDOWN'; +$ENDATElink='stage=ENDATEDOWN'; +$SQLorder='order by '; +if (eregi("USERIDDOWN",$stage)) {$SQLorder='order by user desc,'; $USERlink='stage=USERIDUP';} +if (eregi("GROUPDOWN",$stage)) {$SQLorder='order by user_group desc,'; $NAMElink='stage=NAMEUP';} +if (eregi("ENDATEDOWN",$stage)) {$SQLorder='order by entry_time desc,'; $LEVELlink='stage=LEVELUP';} + + $stmt="SELECT * from vicidial_callbacks where status IN('ACTIVE','LIVE') $CBquerySQLwhere $SQLorder recipient,status desc,callback_time"; + $rslt=mysql_query($stmt, $link); + $cb_to_print = mysql_num_rows($rslt); + +echo "
\n"; +echo "
\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $o=0; + while ($cb_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
CONTATTOLIST CAMPAGNAENTRY DATACALLBACK DATAUTENTERECIPIENTESITOGRUPPO
$row[1]$row[2]$row[3]$row[5]$row[6]$row[8]$row[9]$row[4]$row[11]
\n"; + +echo "$CBinactiveLINK"; +} + + + +###################################################################################################### +###################################################################################################### +####### 0 series, displays and searches +###################################################################################################### +###################################################################################################### + +###################### +# ADD=0 display all active users +###################### +if ($ADD==0) +{ +echo "
\n"; +echo ""; + +$USERlink='stage=USERIDDOWN'; +$NAMElink='stage=NAMEDOWN'; +$LEVELlink='stage=LEVELDOWN'; +$GROUPlink='stage=GROUPDOWN'; +$SQLorder='order by full_name'; +if (eregi("USERIDUP",$stage)) {$SQLorder='order by user asc'; $USERlink='stage=USERIDDOWN';} +if (eregi("USERIDDOWN",$stage)) {$SQLorder='order by user desc'; $USERlink='stage=USERIDUP';} +if (eregi("NAMEUP",$stage)) {$SQLorder='order by full_name asc'; $NAMElink='stage=NAMEDOWN';} +if (eregi("NAMEDOWN",$stage)) {$SQLorder='order by full_name desc'; $NAMElink='stage=NAMEUP';} +if (eregi("LEVELUP",$stage)) {$SQLorder='order by user_level asc'; $LEVELlink='stage=LEVELDOWN';} +if (eregi("LEVELDOWN",$stage)) {$SQLorder='order by user_level desc'; $LEVELlink='stage=LEVELUP';} +if (eregi("GROUPUP",$stage)) {$SQLorder='order by user_group asc'; $GROUPlink='stage=GROUPDOWN';} +if (eregi("GROUPDOWN",$stage)) {$SQLorder='order by user_group desc'; $GROUPlink='stage=GROUPUP';} + $stmt="SELECT * from vicidial_users $SQLorder"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
ELENCO UTENTI:\n"; +echo "
\n"; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + $o++; + } + +echo "
ID UTENTENOME COMPLETOLIVELLOGRUPPOLINKS
$row[1]$row[3]$row[4]$row[5]MODIFICA | STATISTICHE | ESITO | TIME
\n"; +} + +###################### +# ADD=10 display all campaigns +###################### +if ($ADD==10) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
ELENCO CAMPAGNE:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2] $row[3]$row[4]$row[5] $row[6]$row[7]  MODIFICA
\n"; +} + + +###################### +# ADD=100 display all lists +###################### +if ($ADD==100) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_lists order by list_id"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
ELENCO LISTE:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2]$row[4]$row[5] $row[3]$row[7]  MODIFICA
\n"; +} + + + +###################### +# ADD=1000 display all inbound groups +###################### +if ($ADD==1000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
ELENCO GRUPPI INBOUND:\n"; +echo "
\n"; +echo ""; +echo ""; +echo ""; +echo "\n"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
IN-GROUPNOMEPRIORITYATTIVOTIMECOLORMODIFICA
$row[0] $row[1] $row[29] $row[3] $row[17]  MODIFICA
\n"; +} + + +###################### +# ADD=1300 display all inbound dids +###################### +if ($ADD==1300) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_inbound_dids order by did_pattern"; + $rslt=mysql_query($stmt, $link); + $dids_to_print = mysql_num_rows($rslt); + +echo "
ELENCO GRUPPI INBOUND:\n"; +echo "
\n"; +echo ""; +echo ""; +echo ""; +echo "\n"; +echo ""; +echo ""; +echo "\n"; +echo "\n"; + + $o=0; + while ($dids_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
#DIDDESCRIZIONEATTIVOROUTEMODIFICA
$row[0] $row[1] $row[2] $row[3] $row[4]MODIFICA
\n"; +} + + +###################### +# ADD=10000 display all remote agents +###################### +if ($ADD==10000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_remote_agents order by server_ip,campaign_id,user_start"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
ELENCO OPERATORI REMOTI:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[1] $row[2] $row[3] $row[4] $row[5] $row[6]MODIFICA
\n"; +} + + +###################### +# ADD=100000 display all user groups +###################### +if ($ADD==100000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_user_groups order by user_group"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
ELENCO GRUPPI UTENTI:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]MODIFICA
\n"; +} + + +###################### +# ADD=1000000 display all scripts +###################### +if ($ADD==1000000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from vicidial_scripts order by script_id"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
ELENCO SCRIPT:\n"; +echo "
\n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]MODIFICA
\n"; +} + + +###################### +# ADD=10000000 display all filters +###################### +if ($ADD==10000000) +{ +echo "
\n"; + + echo ""; + + $stmt="SELECT * from vicidial_lead_filters order by lead_filter_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + +echo "
ELENCO FILTRI CONTATTI:\n"; +echo "
\n"; + + $o=0; + while ($filters_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1]MODIFICA
\n"; +} + + +###################### +# ADD=100000000 display all call times +###################### +if ($ADD==100000000) +{ +echo "
\n"; + + echo ""; + + $stmt="SELECT * from vicidial_call_times order by call_time_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + +echo "
ELENCO ORARI CHIAMATE:\n"; +echo "
\n"; + + $o=0; + while ($filters_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[3] $row[4] MODIFICA
\n"; +} + +###################### +# ADD=1000000000 display all state call times +###################### +if ($ADD==1000000000) +{ +echo "
\n"; + + echo ""; + + $stmt="SELECT * from vicidial_state_call_times order by state_call_time_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + +echo "
ELENCO ORARI CHIAMATE PER STATO:\n"; +echo "
\n"; + + $o=0; + while ($filters_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2] $row[3] $row[4] MODIFICA
\n"; +} + +###################### +# ADD=130000000 display all shifts +###################### +if ($ADD==130000000) +{ +echo "
\n"; + + echo ""; + + $stmt="SELECT * from vicidial_shifts order by shift_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + +echo "
SHIFT LISTINGS:\n"; +echo "
\n"; + + $o=0; + while ($filters_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0] $row[1] $row[2] $row[3] $row[4] MODIFICA
\n"; +} + +###################### +# ADD=10000000000 display all phones +###################### +if ($ADD==10000000000) +{ +echo "
\n"; +echo ""; + +$EXTENlink='stage=EXTENDOWN'; +$PROTOlink='stage=PROTODOWN'; +$SERVERlink='stage=SERVERDOWN'; +$STATUSlink='stage=STATUSDOWN'; +$SQLorder='order by extension,server_ip'; +if (eregi("EXTENUP",$stage)) {$SQLorder='order by extension asc'; $EXTENlink='stage=EXTENDOWN';} +if (eregi("EXTENDOWN",$stage)) {$SQLorder='order by extension desc'; $EXTENlink='stage=EXTENUP';} +if (eregi("PROTOUP",$stage)) {$SQLorder='order by protocol asc'; $PROTOlink='stage=PROTODOWN';} +if (eregi("PROTODOWN",$stage)) {$SQLorder='order by protocol desc'; $PROTOlink='stage=PROTOUP';} +if (eregi("SERVERUP",$stage)) {$SQLorder='order by server_ip asc'; $SERVERlink='stage=SERVERDOWN';} +if (eregi("SERVERDOWN",$stage)) {$SQLorder='order by server_ip desc'; $SERVERlink='stage=SERVERUP';} +if (eregi("STATUSUP",$stage)) {$SQLorder='order by status asc'; $STATUSlink='stage=STATUSDOWN';} +if (eregi("STATUSDOWN",$stage)) {$SQLorder='order by status desc'; $STATUSlink='stage=STATUSUP';} + $stmt="SELECT * from phones $SQLorder"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
ELENCO TELEFONI:\n"; +echo "
\n"; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "\n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + $o++; + } + +echo "
EXTENPROTOSERVERDIAL PLANESITONOMEVMAILLINKS
$row[0]$row[16]$row[5]$row[1]$row[2]$row[8]$row[11]$row[14]$row[15]MODIFICA | STATISTICHE
\n"; +} + +###################### +# ADD=12000000000 display all phones alias +###################### +if ($ADD==12000000000) +{ +echo "
\n"; +echo ""; + + $stmt="SELECT * from phones_alias order by alias_id;"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
PHONE ALIAS LISTINGS:\n"; +echo "
\n"; +echo ""; +echo ""; +echo ""; +echo ""; +echo "\n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + $o++; + } + +echo "
ALIAS IDALIAS NAMEPHONE LOGINS LISTMODIFICA
$row[0]$row[1]$row[2]MODIFICA
\n"; +} + +###################### +# ADD=100000000000 display all servers +###################### +if ($ADD==100000000000) +{ +echo "
\n"; + echo ""; + + $stmt="SELECT * from servers order by server_id"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
ELENCO SERVER:\n"; +echo "
\n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
$row[0]$row[1] $row[2] $row[4] $row[3]  MODIFICA
\n"; +} + +###################### +# ADD=1000000000000 display all conferences +###################### +if ($ADD==1000000000000) +{ +echo "\\n\";"; + } + $e++; + } + } + else + { + if ($file[$LINESct] =~ /INTERNATIONALIZATION-LINKS-PLACEHOLDER-AGC/) + { + $file[$LINESct] =~ s/INTERNATIONALIZATION-LINKS-PLACEHOLDER-AGC/ILPA/g; + $e=0; + $gif = '.gif'; + foreach(@lang_link_list) + { + if (length($lang_link_list[$e]) > 2) + { + @lang_list_detail = split(/-/, $lang_link_list[$e]); + $lang_list_abb = $lang_list_detail[0]; + $lang_list_name = $lang_list_detail[1]; + if ($lang_list_abb =~ /$lang_abb/) {$list_bgcolor = ' BGCOLOR=\"#CCFFCC\"';} + else {$list_bgcolor = '';} + $file[$LINESct] .= "echo \"\\n\";"; + } + $e++; + } + } + else + { + if ( ($lang_abb =~ /^en/) && ($Tct > 2) ) + { + $file[$LINESct] =~ s/\.\/images\//\.\.\/agc\/images\//g; + $file[$LINESct] =~ s/\"help.gif/\"..\/astguiclient\/help.gif/g; + $phrase_found_counter++; + } + if ($lang_abb !~ /^en/) + { + $file[$LINESct] =~ s/$ORIGtext/$TRANStext/g; + $phrase_found_counter++; + } + } + } + } + + if ($phrase_found_counter < 1) + { + open(ERRout, ">>$LANG_FILE_ERROR") + || die "Can't open $LANG_FILE_ERROR: $!\n"; + print ERRout "|$ORIGtext|\n"; + close(ERRout); + } + + $LINESct++; + + if ($a =~ /00000$/i) {print "$a $file[$LINESct]\n|$ORIGtext|$TRANStext|";} + $a++; + } + $Tct++; + } + } + ### open the translation result file for writing ### + open(out, ">$webroot/$file_path$US$lang_abb/$file_name") + || die "Can't open $webroot/$file_path$US$lang_abb/$file_name: $!\n"; + # print out "Header(\"Content-type: text/html; charset=utf-8\");\n"; + $LINESct=0; + foreach(@file) + { + print out "$file[$LINESct]"; + $LINESct++; + } + close(out); + print "\n"; + print "File Written: $webroot/$file_path$US$lang_abb/$file_name\n"; + } + else + { + print "File does not exist: $webroot/$file_path/$file_name\n"; + } + $Fct++; + } + } + } + $i++; + } + +} \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/bin/start_asterisk_boot.pl b/agc_2-X/branches/agc_2.0.5/bin/start_asterisk_boot.pl new file mode 100644 index 00000000..349ff578 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/start_asterisk_boot.pl @@ -0,0 +1,106 @@ +#!/usr/bin/perl +# +# start_asterisk_boot.pl version 2.0.5 +# +# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# +# 60814-1658 - added option to start without logging through servers table setting +# 90309-0905 - Added deleting of asterisk command files +# + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +`PERL5LIB="$PATHhome/libs"; export PERL5LIB`; + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database + $stmtA = "SELECT vd_server_logs FROM servers where server_ip = '$VARserver_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvd_server_logs = "$aryA[0]"; + if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';} + else {$SYSLOG = '0';} + $rec_count++; + } + $sthA->finish(); + +if (-e "/root/asterisk_command_reload_iax2") + { + ### find the find binary + $findbin = ''; + if ( -e ('/bin/find')) {$findbin = '/bin/find';} + else + { + if ( -e ('/sbin/find')) {$findbin = '/sbin/find';} + else + { + if ( -e ('/usr/bin/find')) {$findbin = '/usr/bin/find';} + else + { + if ( -e ('/usr/local/bin/find')) {$findbin = '/usr/local/bin/find';} + else + { + print "Can't find find binary! Exiting...\n"; + } + } + } + } + + `$findbin /root/ -maxdepth 1 -name "asterisk_command*" -print | xargs rm -f`; + + `ulimit -n 65536`; + + } + +if ($SYSLOG) + { + print "\nStarting Asterisk... screen logging on\n"; + `/usr/bin/screen -L -d -m -S asterisk /usr/sbin/asterisk -vvvvvvvvvvvvvvvvvvvvvgc`; + } +else + { + print "\nStarting Asterisk... screen logging off\n"; + `/usr/bin/screen -d -m -S asterisk /usr/sbin/asterisk -vvvvgc`; + } + +print "Asterisk started\n"; + +sleep(10); + diff --git a/agc_2-X/branches/agc_2.0.5/docs/ACQS.txt b/agc_2-X/branches/agc_2.0.5/docs/ACQS.txt new file mode 100644 index 00000000..050bcdf0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/ACQS.txt @@ -0,0 +1,93 @@ ++------------------------------------------------------------------------------+ +| Asterisk GUI client - astguiclient | +| Description of the Asterisk Central Queue System | +| created by Matt Florell | +| project started 2003-10-06 http://sourceforge.net/projects/astguiclient/ | ++------------------------------------------------------------------------------+ + +This suite of programs is designed to work with the Asterisk Open-source PBX +(http://www.asterisk.org) as a cross-platform GUI client and the supporting +server side applications necessary for the features of the GUI application to +work with Asterisk. + +Scripts that are involved with the ACQS backend are: + + - /etc/astguiclient.conf - file where you define your variables for the server apps + + Must be present and configured through the install.pl script + + - AST_manager_listen.pl - listener for the Asterisk Central Queue System (ACQS) + + Must be present in the /home/cron/ directory + + Requires Net::Telnet, Net::MySQL and Time::HiRes perl Modules + + - AST_manager_send.pl - send-spawn for the ACQS + + Must be present in the /home/cron/ directory + + Requires Net::Telnet, Net::MySQL and Time::HiRes perl Modules + + - AST_send_action_child.pl - blind-send for the ACQS + + Must be present in the /home/cron/ directory + + Requires Net::Telnet, Net::MySQL perl Modules + + - ADMIN_keepalive_ALL.pl - checks to see that ACQS is running + + Must put entry for this script in the cron as "* * * * * /path/script" + + - ADMIN_restart_roll_logs.pl - rolls logs over datestamp upon restart + + put this script in your machine's startup routine + + +DESCRIPTION: +This set of programs was created to reduce the risk of deadlocks that occur when +the manager interface connection from a remote machine to the Asterisk server +becomes severed or backlogged in some way resulting in a buffer-overflow of the +manager interface on the Asterisk box and a deadlock of the Asterisk PBX. The +probability of this happening is rare on a system where you may have 100 or less +action commans being executed a day, but when the action commands rise to the +level of 3000+ per server across 30 machines you will have at least 1 deadlock +per day if not one per hour. That's why we needed to find a way to still issue +manager Actions but not have to maintain a connection with the Asterisk Manager +interface. Here is a rundown of how the ACQS works: + +There is a simple database table where the action information with unique IDs is +stored and where each action's information is updated by the listener. The table +I use is called vicidial_manager and is detailed in the CONF_MySQL.txt file in +this distribution. + +1. First, the GUI client application inserts a record into the table as a NEW +action and includes a unique callerID for REDIRECT and ORIGINATE commands(the +callerID field is how the listener will update the record in the DB) +INSERT INTO vicidial_manager values('','','2004-01-30 +17:22:53','NEW','N','10.10.11.12','','Originate','DL40130172253cc160','Channel: +local/8600011@demo','Context: default','Exten: 917274515135','Priority: +1','Callerid: DL40130172253cc160','','','','',''); + +2. Second, there is a constantly running application on the Asterisk box that +selects queues from the database to be processed, and launches a new child +script to send the action to the database, then marks the action as SENT. + +3. Third, each child process logs into the manager interface and sends the +action immediately, then stays open for 10 seconds to not cause any problems, +clears it's buffer and then logs out and exits. + +4. Fourth, the listener app is constantly connected on the Asterisk box to the +manager interface and parses all output from the manager interface. Every time a +"Newstate Ringing" event is seen an update statement is sent to the DB based +upon the callerid of the call filling in the channel that the call is on and the +uniqueID of the call and sets the record to "UPDATED" + +5. Fifth, the listener also listens for "Hangup" events and sends an update to +the DB with a "DEAD" status keyed by the call's uniqueID. + +The above process is executed extremely fast and actually has suprisingly little +effect on the load of the Asterisk box. Because each action is sent through it's +own child process there is no risk of the system deadlocking because of a single +bad action thread. + + + +NOTES: +This started out as a desperate quick fix that evolved into a system that has +been up and running reliably on two separate Asterisk servers. Since we +implemented ACQS we haven't had a single deadlock on either of these servers. +If anyone has suggestions/praises/criticisms I would love to hear them. + +To use, follow the instructions in the docs/SCRATCH_INSTALL.txt document. + diff --git a/agc_2-X/branches/agc_2.0.5/docs/AGENT_API.txt b/agc_2-X/branches/agc_2.0.5/docs/AGENT_API.txt new file mode 100644 index 00000000..98cacc72 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/AGENT_API.txt @@ -0,0 +1,191 @@ +AGENT API DOCUMENT 2008-07-03 + +This document describes the functions of an API(Application Programming Interface) +for the VICIDIAL Agent screen. This functionality will be rather limited at first +and will be built upon as critical functions are identified and programmed into it. + +There is also a new NON-agent API script, for more information on that, please +read the NON-AGENT_API.txt document. + + + +API functions: +version - shows version and build of the API, along with the date/time +external_hangup - sends command to hangup the current phone call for one specific agent(Hangup Customer) +external_status - sends command to set the disposition for one specific agent and move on to next call +external_pause - sends command to pause/resume an agent now if not on a call, or pause after their next call if on call +external_dial - sends command to manually dial a number on the agent's screen + + + +New scripts: +/agc/api.php - the script that is accessed to execute commands + + + +Required variables for API calls: +# user - is the API user +# pass - is the API user password +# agent_user - is the user whose session that you want to affect +# source - description of what originated the API call (maximum 20 characters) + +Example URL strings for API calls: +http://server/agc/api.php?function=version +http://server/agc/api.php?source=test&user=6666&pass=1234&agent_user=1000&function=external_hangup&value=1 +http://server/agc/api.php?source=test&user=6666&pass=1234&agent_user=1000&function=external_status&value=A +http://server/agc/api.php?source=test&user=6666&pass=1234&agent_user=1000&function=external_pause&value=PAUSE +http://server/agc/api.php?source=test&user=6666&pass=1234&agent_user=1000&function=external_pause&value=RESUME +http://server/agc/api.php?source=test&user=6666&pass=1234&agent_user=1000&function=external_dial&value=7275551212&phone_code=1&search=YES&preview=NO&focus=YES +http://server/agc/api.php?source=test&user=6666&pass=1234&agent_user=1000&function=external_dial&value=7275551212&phone_code=1&search=YES&preview=NO&focus=YES&dial_prefix=88&group_alias=DEFAULT + + +To hangup the call, disposition it and then pause the agent, do the following in order: +http://server/agc/api.php?source=test&user=6666&pass=1234&agent_user=1000&function=external_pause&value=PAUSE +http://server/agc/api.php?source=test&user=6666&pass=1234&agent_user=1000&function=external_hangup&value=1 +http://server/agc/api.php?source=test&user=6666&pass=1234&agent_user=1000&function=external_status&value=A + + + +Response to calls will return either an ERROR or a SUCCESS along with an explanation. +for example: +SUCCESS: external_status function set - 6666|A +ERROR: agent_user is not logged in - 6666 + + + +DETAIL OF EACH FUNCTION: +-------------------------------------------------------------------------------- + + + +version - + +DESCRIPTION: +shows version and build of the API, along with the date/time + +VALUES: NONE + +RESPONSES: +VERSION: 2.0.5-2|BUILD: 90116-1229|DATE: 2009-01-15 14:59:33|EPOCH: 1222020803 + + + +external_hangup - + +DESCRIPTION: +Hangs up the current customer call on the agent screen + +VALUES: (value) +1 - the only valid value for this function + +RESPONSES: +ERROR: external_hangup not valid - 1|6666 +ERROR: agent_user is not logged in - 6666 +SUCCESS: external_hangup function set - 1|6666 + + + +external_status - + +DESCRIPTION: +Sets the status of the current customer call on the agent dispotion screen + +VALUES: (value) +Any valid status in the VICIDIAL system will work for this function + +RESPONSES: +ERROR: external_status not valid - A|6666 +ERROR: agent_user is not logged in - 6666 +SUCCESS: external_status function set - A|6666 + + + +external_pause - + +DESCRIPTION: +Pauses or Resumes the agent. If a Pause and the agent is on a live call will pause after the live call is dispositioned + +VALUES: (value) +PAUSE - Pauses the agent session +RESUME - Resumes the agent session + +RESPONSES: +ERROR: external_pause not valid - PAUSE|6666 +ERROR: agent_user is not logged in - 6666 +SUCCESS: external_pause function set - PAUSE|1232020456|6666 + + + +external_dial - + +DESCRIPTION: +Places a manual dial phone call on the agent screen, you can define whether to search for the lead in the existing database or not and you can define the phone_code and the number to dial. This action will pause the agent after their current call, enter in the information to place the call, and dialing the call on the agent screen. + +VALUES: +value - + Any valid phone number (7275551212) +phone_code - + Any valid phone country code (1 for USA/Canada, 44 for UK, etc...) +search - + YES - perform a search in the campaign-defined vicidial_list list for this phone number and bring up that lead + NO - do not search, create a new vicidial_list record for the call +preview - + YES - preview the lead in the vicidial screen without dialing + NO - do not preview the lead, place call immediately +focus - + YES - change the focus of the screen to the vicidial.php agent interface + NO - do not change focus +vendor_id - + Any valid Vendor lead code +dial_prefix - + OPTIONAL, any dial prefix that you want to add to the beginning of the dial string for this call +group_alias - + OPTIONAL, the outbound callerID(from an existing group-alias) that you want to use for this call + +RESPONSES: +ERROR: external_dial not valid - 7275551212|1|YES|6666 +ERROR: agent_user is not allowed to place manual dial calls - 6666 +ERROR: agent_user is not logged in - 6666 +ERROR: caller_id_number from group_alias is not valid - 6666|TESTING|123 +ERROR: group_alias is not valid - 6666|TESTING +SUCCESS: external_dial function set - 7275551212|1|YES|1232020456|6666 + + + + + + + + + + + +Example MySQL query options for executing API functions(not available for all functions): +update vicidial_live_agents set external_hangup=1 where user='1000'; +update vicidial_live_agents set external_status='A' where user='1000'; + + +Database changes: (these are already in the system, DO NOT RUN THEM) +ALTER TABLE vicidial_live_agents ADD external_hangup VARCHAR(1) default ''; +ALTER TABLE vicidial_live_agents ADD external_status VARCHAR(6) default ''; +ALTER TABLE vicidial_live_agents ADD external_pause VARCHAR(20) default ''; +ALTER TABLE vicidial_live_agents ADD external_dial VARCHAR(100) default ''; + +ALTER TABLE vicidial_users ADD vdc_agent_api_access ENUM('0','1') default '0'; + +ALTER TABLE system_settings ADD vdc_agent_api_active ENUM('0','1') default '0'; + +CREATE TABLE vicidial_api_log ( +api_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +user VARCHAR(20) NOT NULL, +api_date DATETIME, +api_script VARCHAR(10), +function VARCHAR(20) NOT NULL, +agent_user VARCHAR(20), +value VARCHAR(255), +result VARCHAR(10), +result_reason VARCHAR(255), +source VARCHAR(20), +data TEXT, +index(api_date) +); diff --git a/agc_2-X/branches/agc_2.0.5/docs/ALTERNATE_NUMBER_DIALING.txt b/agc_2-X/branches/agc_2.0.5/docs/ALTERNATE_NUMBER_DIALING.txt new file mode 100644 index 00000000..48ae7ae7 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/ALTERNATE_NUMBER_DIALING.txt @@ -0,0 +1,119 @@ +ALTERNATE NUMBER DIALING Redesign 2008-08-20 + +*** THIS SECTION OUTLINES PROPOSED CHANGES TO ALT-NUMBER-DIALING in the 2.0.5 version *** +*** FOR INFORMATION ON THE 2.0.3 AND 2.0.4 VERSION OF ALT NUMBER DIALING LOOK BELOW THIS SECTION *** + + +In order to allow for more alt-numbers per lead to dial we built a new method of storing and dialing alt-numbers for leads. + +CLI lead loader will be changed to allow for the importation of upto 65,000 phone numbers per lead. The new file format is shown below. + +vicidial.php agent screen and vdc_db_query.php scripts have been changed to allow for alt-number display and setting alt numbers to inactive if needed. + +AST_VDauto_dial.pl, AST_VDauto_dial_FILL.pl and the VDhangup process in FastAGI_log.pl have all been modified to work with the new alt number data structure. + +non_agent_api.php needs to be changed to accept new multiple-al-numbers per inserted lead. + + +File structure for CLI lead loader goes here: + +standard + +vendor_lead_code|source_code|list_id|phone_code|phone_number|title|first_name|middle|last_name|address1|address2|address3|city|state|province|postal_code|country|gender|date_of_birth|alt_phone|email|security_phrase|COMMENTS|called_count|status|entry_date|multi-alt-entries + +3857822|31022|105|01144|1625551212|MRS|B||BURTON|249 MUNDON ROAD|MALDON|ESSEX||||CM9 6PW|UK||||||COMMENTS|2|B|2007-08-09 00:00:00|7275551212_1_work!7275551213_61_sister house!7275551214_44_neighbor + +The multi-alt-entries field is formatted as a field of phone-number/phone-code/phone-note set of data(phone code and alt_note are both optional and the phone code can be overridden by the force phone code flag). The record delimiter is an exclamation point with the optional phone code and note delimited within the record by an underscore character _. + + + +Changes to database: +*** DO NOT MAKE THESE CHANGES, for documentation only *** + +CREATE TABLE vicidial_list_alt_phones ( +alt_phone_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +lead_id INT(9) UNSIGNED NOT NULL, +phone_code VARCHAR(10), +phone_number VARCHAR(18), +alt_phone_note VARCHAR(30), +alt_phone_count SMALLINT(5) UNSIGNED, +active ENUM('Y','N') default 'Y', +index (lead_id), +index (phone_number) +); + +ALTER TABLE vicidial_hopper MODIFY alt_dial VARCHAR(6) default 'NONE'; + +ALTER TABLE vicidial_auto_calls MODIFY alt_dial VARCHAR(6) default 'NONE'; + +ALTER TABLE vicidial_campaigns MODIFY auto_alt_dial ENUM('NONE','ALT_ONLY','ADDR3_ONLY','ALT_AND_ADDR3','ALT_AND_EXTENDED','ALT_AND_ADDR3_AND_EXTENDED','EXTENDED_ONLY') default 'NONE'; + +ALTER TABLE vicidial_log ADD alt_dial VARCHAR(6) default 'NONE'; + +ALTER TABLE vicidial_campaigns ADD agent_extended_alt_dial ENUM('Y','N') default 'N'; + +UPDATE system_settings SET db_schema_version='1104'; + + + + + + + + + + +ALTERNATE NUMBER DIALING Summary and Overview 2007-01-15 + +*** ALTERNATE NUMBER DIALING IN AUTODIAL MODE HAS BEEN ADDED IN THE 2.0.3 RELEASE *** + +This document will outline the methods used to automatically dial the alt_phone and/or address3 fields containing phone numbers for a lead while in Auto-dial modes(RATIO or ADAPT*). This feature does not function for leads dialed with the MANUAL dial_method. + +If you will be using automatic alt number dialing, it is strongly recommended that you filter your alternate numbers to be the proper length, and remove any non-numeric characters from those fields. + + + +First, a new field in vicidial_campaigns was needed to tell the dialer that it should look for contact numbers in the alt_phone and/or address3 fields if a call to a regular number results in a no-contact(NA/B/DC/N)[defined in the auto_alt_dial_statuses field in the vicidial_campaigns table]. + +ALTER TABLE vicidial_campaigns ADD auto_alt_dial ENUM('NONE','ALT_ONLY','ADDR3_ONLY','ALT_AND_ADDR3') default 'NONE'; + + +Second, a new field in vicidial_auto_calls and vicidial_hopper tables was needed to tell the dialer that when this call is terminated as no-contact(NA/B/DC/N), it needs to try dialing the next alternate number(s). This field is populated accordingly: +- If the main phone_number is currently being dialed, the alt_dial field will be MAIN +- If the alt_phone is being dialed, ALT +- If the address3 field is being dialed, ADDR3 +- If the campaign has AUTO_ALT_DIAL set to NONE or the alt numbers are invalid, then this field will also be set to NONE +This tells the scripts handling the call termination what needs to be done with the call status and what number(if any) it should place in the hopper next. + +ALTER TABLE vicidial_auto_calls ADD alt_dial ENUM('NONE','MAIN','ALT','ADDR3') default 'NONE'; +ALTER TABLE vicidial_hopper ADD alt_dial ENUM('NONE','ALT','ADDR3') default 'NONE'; + + +Third, because of how the insertion into the hopper of the next attempt has to work when the call is answered by an agent we need to modify the status field in the vicidial_hopper to allow for a HOLD status that can be made READY once the lead is dispositioned: + +ALTER TABLE vicidial_hopper MODIFY status ENUM('READY','QUEUE','INCALL','DONE','HOLD') default 'READY'; + + +Fourth, so that the no-answer statuses can be definable, we need to add a new field to vicidial_campaigns to hold the statuses and allow the admin.php interface to be able to modify them. + +ALTER TABLE vicidial_campaigns ADD auto_alt_dial_statuses VARCHAR(255) default ' B N NA DC -'; + + + + +STEPS OF AN AUTO-ALT-DIAL CALL: + +1. When a call to a lead's main phone_number is placed by AST_VDauto_dial.pl or AST_VDauto_dial_FILL.pl and the auto_alt_dial field is NOT set to NONE, a flag will be set in the vicidial_auto_calls field as MAIN to note that this lead needs to be called again under it's alternate number(s) if it is terminated under a no-connect status(NA/B/DC/N). + +2. What happens when one of these calls is terminated: + 2a. If the call has an alt_dial value of MAIN or ALT and went to an agent and was defined as no-contact(NA/B/DC/N) then the vdc_db_query.php script will immediately place that lead back into the vicidial_hopper to be dialed under it's alternate phone number or addr3. + + 2b. If call has an alt_dial value of MAIN or ALT and was terminated as no-contact by no-answer(NA/B/DC) then the VDhangup process will immediately place that lead back into the vicidial_hopper to be dialed under it's alternate phone number. + +3. When the alt_phone is dialed of the same lead, the alt_dial flag in vicidial_auto_calls will be set to ALT, then repeat step 2 + +4. When the address3 field is dialed from the same lead, the alt_dial flag is set to ADDR3 + +5. When a call is terminated in auto-dial mode and the number dialed was not the main phone_number, the status will not be changed in the vicidial_list table unless the status is a connect status and it came from an agent. + + diff --git a/agc_2-X/branches/agc_2.0.5/docs/APP_CONFERENCE.txt b/agc_2-X/branches/agc_2.0.5/docs/APP_CONFERENCE.txt new file mode 100644 index 00000000..92011ec2 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/APP_CONFERENCE.txt @@ -0,0 +1,86 @@ +VICIDIAL and app_conference +(1.2 tree) EXPERIMENTAL!!! + +app_conference offers the plusses of being able to do conferencing +without any zaptel hardware or timers as well as doing native codec +streaming, meaning no manditory downsampling to slin like meetme. +These two features alone mean a rather significant performance boost +to companies who only use VOIP for agents and trunks as well as not +requiring the cost of zaptel hardware or the nightmare of getting +ztdummy to work on some systems. + +As of right now, I have a test system fully up and running using +app_conference with VICIDIAL on Asterisk 1.2.8. I have made several +modifications to the app_conference code to make it more of a drop-in +replacement for meetme so that it does not require any changes to the +VICIDIAL codebase. I have added entry and exit sounds(slightly +different from meetme's) as well as "only one in this conference" +message in addition to changing the default member type to speaker(S). +So far I have tested with IAX and SIP channels only and everything +works just like on meetme but I have not done any capacity testing or +tested it in production yet. + +If you want to use app_conference instead of meetme for VICIDIAL then follow these instructions: + +cd /usr/src/asterisk +wget http://www.eflo.net/files/VD_app_conference_0.6.zip +unzip VD_app_conference_0.6.zip +cd app_conference +make clean +make +make install + + +In your extensions.conf file you would replace these lines: +exten => 8600051,1,Meetme,8600051 +exten => 8600052,1,Meetme,8600052 +...continue through 8600100... +exten => 78600051,1,Meetme,8600051|q +exten => 78600052,1,Meetme,8600052|q +...continue through 78600100... +exten => 68600051,1,Meetme,8600051|mq +exten => 68600052,1,Meetme,8600052|mq +...continue through 68600100... + + +with these lines: +exten => 8600051,1,Conference(8600051) +exten => 8600052,1,Conference(8600052) +...continue through 8600100... +exten => 78600051,1,Conference(8600051|q) +exten => 78600052,1,Conference(8600052|q) +...continue through 78600100... +exten => 68600051,1,Conference(8600051|Lq) +exten => 68600052,1,Conference(8600052|Lq) +...continue through 68600100... + +NOTES: +Here are the possible feature flags for this version of app_conference: + o M: Moderator (presently same as speaker) [default] + o S: Speaker + o L: Listener + o T: "Telephone caller" (just for stats?). + o V: Do VAD on this caller + o D: Use Denoise filter on this caller. + o d: Send manager events when DTMF is received. + o q: Do not play enter or exit sounds. + o i: use inband dtmf broadcast. + o t: use rfc dtmf signal broadcast. + +COMPILE NOTES: + +Some Makefile alterations may be necessary for your system: + +From Alek Barkley: +I am running FC4 with latest updates ( 2.6.16 kernel ) +My CPU is AMD K6 and GCC 4.0.2. + +I edited Makefile in app_conference distribution. +To enter CPU architecture in my case -march=k6 +======================================================== +PROC = k6 +# this is fun for x86 +#CFLAGS += -march=pentium3 -msse -mfpmath=sse,387 +CFLAGS += -march=k6 +=========================================================== + diff --git a/agc_2-X/branches/agc_2.0.5/docs/ASTERISK_CONF-GEN.txt b/agc_2-X/branches/agc_2.0.5/docs/ASTERISK_CONF-GEN.txt new file mode 100644 index 00000000..ef6158de --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/ASTERISK_CONF-GEN.txt @@ -0,0 +1,26 @@ +ASTERISK CONF FILE GENERATION 2009-02-11 + +This file details the process for how the system automatically generates Asterisk conf files purely from VICIDIAL settings. + +The conf files that are generated are: + /etc/asterisk/extensions-vicidial.conf + /etc/asterisk/iax-vicidial.conf + /etc/asterisk/sip-vicidial.conf + /etc/asterisk/voicemail-vicidial.conf + +All of the above files are included in their respective conf files by #include links that you can see if you look at the sample conf files in the docs directory. + +IMPORTANT!!! - Files will only be generated for SIP and IAX phones and carriers that are listed as active=Y in the VICIDIAL administration web interface. + - Files will only be generated on servers where the server record is set to active_asterisk_server='Y' and generate_vicidial_conf='Y' + - The automatic reloading of new conf files by the system is only possible if you started Asterisk with the start_asterisk_boot.pl script, or if Asterisk is running in a screen session named 'asterisk'. + +After any phone, server or carrier entry is edited in the admin interface, a flag(rebuild_conf_files='Y') will be set to have the ADMIN_keepalive_ALL.pl script(that should be running once a minute in the crontab) run and generate new conf files and reload Asterisk. + +Phones are defined in the admin.php -> Admin -> Show Phones +Carriers are defined in the admin.php -> Admin -> Servers -> Show Carriers + +If you have special settings that you want to use for phones such as codecs you can use either a Template(admin.php -> Admin -> Servers -> Show Templates) or enter in the full account record(not including the "[extension]") into the "Conf Override" field. + +If you are using a SIP carrier, then you may need to manually set "externip=XXX.XXX.XXX.XXX" in the /etc/asterisk/sip.conf file where XXX.XXX.XXX.XXX is the external IP address of your server as the outside world(or your carrier) sees it. + + diff --git a/agc_2-X/branches/agc_2.0.5/docs/BALANCE_FILL_PROCESS.txt b/agc_2-X/branches/agc_2.0.5/docs/BALANCE_FILL_PROCESS.txt new file mode 100644 index 00000000..54253ed0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/BALANCE_FILL_PROCESS.txt @@ -0,0 +1,42 @@ +VICIDIAL Dialing-out Balance FILL proces flow 2006-11-20 + +** FULL VICIDIAL BALANCE DIALING FUNCTIONALITY WAS ADDED IN THE 2.0.2 RELEASE ** + +This will outline the process I have thought through in my head for a way to allow for dialing-out only servers and for dialing-out-trunk-lines on one VICIDIAL server to be utilized when another dialing server does not have enough lines to meet it's dial level for the number of agents that are on the server. + +This process is made much more complicated by the addition of the new campaign-reserved-trunks feature for servers, meaning that you need to check on the trunk reservations and their settngs before being able to place any calls. + +This script(AST_VDauto_dial_FILL.pl) will be a constantly running script that needs to only be run on one server in a VICIDIAL cluster of servers. + +This script will be started up and monitored by the ADMIN_keepalive_ALL.pl script. + +This script is not needed on a single-server or single-VICIDIAL/Asterisk server setup. + + + +MySQL database changes needed for this new feature:(already in upgrade_2.0.2.sql file) +ALTER TABLE vicidial_auto_calls MODIFY call_type ENUM('IN','OUT','OUTBALANCE') default 'OUT'; +- Added OUTBALANCE to keep track of the calls that were originated by the Balance FILL process. + + + +Changes to existing AST_VDauto_dial.pl script: +Only one notable change for CLOSER campaigns to look for OUTBALANCE in addition to OUT calls in vicidial_auto_calls when dialing BLENDED on CLOSER campaigns. + + + +Process Flow of the AST_VDauto_dial_FILL.pl script: +- Check if there are any servers with vicidial_balance_active=Y and no trunk shortage + - Get a count of the shortages and what campaigns they are on + - Start looping through the campaigns with trunk shortages + - Get a count of the DB value and current balance_trunk_fill + - Get list of servers with trunk shortfall + - Get a count of the servers that have no shortfall and allow balance dialing + - Get dialing variable values for servers with balance available and no shortfall + - Loop through these servers + - Calculate the available trunks for this campaign per server + - Calculate the number of trunks to dial for this server for this campaign + - Select leads from the hopper and dial + (this step is identical to normal AST_VDauto_dial.pl script) + + diff --git a/agc_2-X/branches/agc_2.0.5/docs/BASE_INSTALL.txt b/agc_2-X/branches/agc_2.0.5/docs/BASE_INSTALL.txt new file mode 100644 index 00000000..fa4703b9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/BASE_INSTALL.txt @@ -0,0 +1,681 @@ +Asterisk/astguiclient install from existing server. v.2.0.5 2008-XX-XX + By the VICIDIAL group info@vicidial.com + + +This document is meant to be more of an overview of a VICIDIAL/astGUIclient +installation. If you are looking for more detail or are having problems with +installation please read the SCRATCH_INSTALL.txt document. + +End-user Manuals for Agents and Managers are available from http://www.eflo.net + +REQUIREMENTS: +- root access on the server you want to install asGUIclient/VICIDIAL on to. +- Zap trunks(T1/E1 or PSTN lines), IAX2 trunks or SIP trunks required +- You must have a zaptel timer like a PSTN/T1/E1 card or ztdummy + or you can use the experimental app_conference module +- Client phones can be SIP/IAX/Zap +- SoX 12.17.5 or greater must be installed +- GNU screen 3.9.15 or greater must be installed +- ntp must be installed and syncd to same time source as any other servers +- Perl5 with several CPAN modules(Time::HiRes, DBI, DBD::mysql, Net::Telnet, Net::Server etc) +- asterisk-perl 0.08, do NOT use the 0.09 version, it does not work with VICIDIAL +- MySQL server or mysqlclientlibs, must be version 4.0.X or higher +- If you will be installing Asterisk 1.4 releases you need Gnu Make 3.81 +- Apache/PHP server with php.ini memory_limit set to 48M + + + + +PHASE 1: INSTALLING ASTERISK + +1. follow these command line steps: +mkdir /usr/src/asterisk +cd /usr/src/asterisk +wget http://ftp.digium.com/pub/asterisk/releases/asterisk-1.2.30.2.tar.gz +wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.2.27.tar.gz +wget http://ftp.digium.com/pub/libpri/releases/libpri-1.2.8.tar.gz +gunzip asterisk-1.2.30.2.tar.gz +tar xvf asterisk-1.2.30.2.tar +gunzip zaptel-1.2.27.tar.gz +tar xvf zaptel-1.2.27.tar +gunzip libpri-1.2.8.tar.gz +tar xvf libpri-1.2.8.tar +cd ./zaptel-1.2.27 +wget http://downloads.vicidial.com/packages/newt-0.51.6.tar.gz +gunzip newt-0.51.6.tar.gz +tar xvf newt-0.51.6.tar +cd newt-0.51.6 +./configure +make +make install +cd ../ +ln -s /usr/lib/libnewt.so.0.51.6 /usr/lib/libnewt.so.0.51 +make clean +make zttool +make +make install +cd ../libpri-1.2.8 +make clean +make +make install +cd ../asterisk-1.2.30.2 + (1.2 tree) If you want to include Answering Machine Detection ability + you will need to download app_amd.c and amd.conf and alter the + apps/Makefile to compile it properly + cd apps + wget http://www.eflo.net/files/app_amd2.c + mv app_amd2.c app_amd.c + vi Makefile + replace this line(line 32): + app_mixmonitor.so app_stack.so + with this line: + app_mixmonitor.so app_stack.so app_amd.so + wget http://www.eflo.net/files/amd2.conf + mkdir /etc/asterisk + mv amd2.conf /etc/asterisk/amd.conf + *OPTIONAL*(1.2.23 thru 1.2.30.2) apply the meetme DTMF passthru patch + wget http://www.eflo.net/files/meetme_DTMF_passthru-1.2.23.patch + patch -p1 < ./meetme_DTMF_passthru-1.2.23.patch + - File to patch: app_meetme.c + *OPTIONAL*(1.2.12.1 thru 1.2.30.2) apply the meetme volume control patch + *Different patches available for 1.2.7.1 through 1.2.14 + wget http://www.eflo.net/files/meetme_volume_control_1.2.16.patch + patch -p1 < ./meetme_volume_control_1.2.16.patch + - File to patch: app_meetme.c + cd ../ + + (1.2 tree) apply the cli delimiter patch + wget http://www.eflo.net/files/cli_chan_concise_delimiter.patch + patch -p1 < ./cli_chan_concise_delimiter.patch + - File to patch: cli.c + + *OPTIONAL*(1.2.14 thru 1.2.30.2) rewrite of waitforsilence + wget http://downloads.vicidial.com/asterisk-patches/app_waitforsilence.c + mv -f app_waitforsilence.c apps/app_waitforsilence.c + + * REQUIRED for gcc 4.2 systems* + wget http://downloads.vicidial.com/asterisk-patches/1.2-gsm-gcc4.2.patch + patch -p1 ./codecs/gsm/Makefile 1.2-gsm-gcc4.2.patch + + *OPTIONAL* shorter enter and leave sounds for meetme + wget http://www.eflo.net/files/enter.h + wget http://www.eflo.net/files/leave.h + mv -f enter.h apps/enter.h + mv -f leave.h apps/leave.h + +make clean +make +make install +make samples # this makes sample conf files (only use for new installs) + +modprobe zaptel # this loads the zaptel module + - install the module for the digium device that you are using, we are + using the T100P single span T1 card so we use: +modprobe wct1xxp + Here's the list of all digium cards and the modules you use with +them: + Card Module + ----------------- + TDM400P wctdm + X100P wcfxo + TDM* wcfxs + S100U wcusb + T100P wct1xxp + E100P wct1xxp + T400P tor2 + E400P tor2 + TE110P wcte11xp + TE410P wct4xxp + TE405P wct4xxp + TE411P wct4xxp + TE406P wct4xxp + TE210P wct2xxp + TE205P wct2xxp + TDM2400P wctdm24xxp + - If you have chosen a Sangoma T1/E1 or analog card, you will need to + follow their instructions for installation of their driver software + LATEST Sangoma Wanpipe drivers: + ftp://ftp.sangoma.com/linux/current_wanpipe/wanpipe-3.2.7.1.tgz + - now your asterisk installation is built and loaded and it's time to +configure it. + +NOTES: If you want to install zttool diagnostics you may need the newt package installed: +http://downloads.vicidial.com/packages/newt-0.51.6.tar.gz +ln -s /usr/lib/libnewt.so.0.51.6 /usr/lib/libnewt.so.0.51 +then go to your zaptel folder and do 'make zttool' + +Digium/Clone X100P EXAMPLE for reliable cheap hardware timer: +./conf_examples/zaptel.conf.x100p.sample +./conf_examples/zapata.conf.x100p.sample + +Digium/Clone T100P EXAMPLE, also works for TE4xxp cards +./conf_examples/zaptel.conf.t100p.sample +./conf_examples/zapata.conf.t100p.sample + + + + + +PHASE 2: CONFIGURING ASTERISK + +Sample conf files for a system with: +- astGUIclient and VICIDIAL +- two SIP phones +- one IAX phone +- a SIP trunk +- an IAX trunk +- a set of Zap phones through a channelbank +- a Zap T1 PRI line with 23 voice channels +These are available in these sample conf files: +./conf_examples/sip.conf.sample +./conf_examples/iax.conf.sample +./conf_examples/extensions.conf.sample +./conf_examples/meetme.conf.sample +./conf_examples/voicemail.conf.sample +./conf_examples/manager.conf.sample +./conf_examples/logger.conf.sample +./conf_examples/dnsmgr.conf.sample + +For more information on configuring Asterisk or your phones read the +SCRATCH_INSTALL document. + + + + + +PHASE 3: INSTALLING ASTGUICLIENT AND VICIDIAL + +Now that Asterisk is installed and running we can add the astGUIclient and +VICIDIAL components to the system. + +There are two methods for downloading astGUIclient/VICIDIAL, a release and SVN + +1. Go to http://astguiclient.sf.net/ and download the latest astguiclient +package(as of this writing it is 2.0.4.1) + - for 2.0.X release: + mkdir /usr/src/astguiclient + cd /usr/src/astguiclient + wget http://internap.dl.sourceforge.net/sourceforge/astguiclient/astguiclient_2.0.4.1.zip + unzip astguiclient_2.0.4.1.zip + perl install.pl + - for SVN 2.0.4 branch: + mkdir /usr/src/astguiclient + cd /usr/src/astguiclient + svn checkout svn://svn.eflo.net:43690/agc_2-X/branches/agc_2.0.4 + cd agc_2.0.4 + perl install.pl + - for SVN 2.0 trunk: + mkdir /usr/src/astguiclient + cd /usr/src/astguiclient + svn checkout svn://svn.eflo.net:43690/agc_2-X/trunk + cd trunk + perl install.pl + select to do interactive setup and customize to your server + - there is one more file you need that's not included with the download +package, it's the conf.gsm file(this is the half-hour music file that we use +to put people on hold). I have a free classical music file that is available +free for download at the following two sites: + http://downloads.vicidial.com/sounds/conf.gsm + http://astguiclient.sf.net/conf.gsm + Once you have downloaded it, you will need to copy it to this folder: + /var/lib/asterisk/sounds/ + Then you will need to execute this command to copy it as the park file + 'cp /var/lib/asterisk/sounds/conf.gsm /var/lib/asterisk/sounds/park.gsm' + Here are the steps spelled out: + cd /var/lib/asterisk/sounds + wget http://downloads.vicidial.com/sounds/conf.gsm + cp conf.gsm park.gsm + - you are done + +If you will be doing native music-on-hold for your inbound calls, you will need +musiconhold audio files to be converted to native formats like GSM, ULAW and ALAW: + + cd /var/lib/asterisk/mohmp3/ + mpg123 -s --rate 44100 --mono /var/lib/asterisk/mohmp3/fpm-sunshine.mp3 > /var/lib/asterisk/mohmp3/fpm-sunshine.raw + sox -r 44100 -w -s -c 1 fpm-sunshine.raw -r 8000 -c 1 fpm-sunshine.wav + sox fpm-sunshine.wav -t gsm -r 8000 -b -c 1 fpm-sunshine.gsm + sox fpm-sunshine.wav -t ul -r 8000 -b -c 1 fpm-sunshine.pcm + mpg123 -s --rate 44100 --mono /var/lib/asterisk/mohmp3/fpm-calm-river.mp3 > /var/lib/asterisk/mohmp3/fpm-calm-river.raw + sox -r 44100 -w -s -c 1 fpm-calm-river.raw -r 8000 -c 1 fpm-calm-river.wav + sox fpm-calm-river.wav -t gsm -r 8000 -b -c 1 fpm-calm-river.gsm + sox fpm-calm-river.wav -t ul -r 8000 -b -c 1 fpm-calm-river.pcm + mpg123 -s --rate 44100 --mono /var/lib/asterisk/mohmp3/fpm-world-mix.mp3 > /var/lib/asterisk/mohmp3/fpm-world-mix.raw + sox -r 44100 -w -s -c 1 fpm-world-mix.raw -r 8000 -c 1 fpm-world-mix.wav + sox fpm-world-mix.wav -t gsm -r 8000 -b -c 1 fpm-world-mix.gsm + sox fpm-world-mix.wav -t ul -r 8000 -b -c 1 fpm-world-mix.pcm + mkdir ../orig-mp3 + mv -f *.mp3 ../orig-mp3/ + mkdir ../quiet-mp3 + cd ../quiet-mp3 + sox -r 44100 -w -s -c 1 ../mohmp3/fpm-sunshine.raw -r 8000 -c 1 fpm-sunshine.wav vol 0.25 + sox fpm-sunshine.wav -t gsm -r 8000 -b -c 1 fpm-sunshine.gsm + sox fpm-sunshine.wav -t ul -r 8000 -b -c 1 fpm-sunshine.pcm + sox -r 44100 -w -s -c 1 ../mohmp3/fpm-calm-river.raw -r 8000 -c 1 fpm-calm-river.wav vol 0.25 + sox fpm-calm-river.wav -t gsm -r 8000 -b -c 1 fpm-calm-river.gsm + sox fpm-calm-river.wav -t ul -r 8000 -b -c 1 fpm-calm-river.pcm + sox -r 44100 -w -s -c 1 ../mohmp3/fpm-world-mix.raw -r 8000 -c 1 fpm-world-mix.wav vol 0.25 + sox fpm-world-mix.wav -t gsm -r 8000 -b -c 1 fpm-world-mix.gsm + sox fpm-world-mix.wav -t ul -r 8000 -b -c 1 fpm-world-mix.pcm + rm -f ../mohmp3/*.raw + + + + + +PHASE 4: CREATING MYSQL DATABASE AND POPULATING IT + +we will create the database and add a few initial records so that we can +use the administrative web interface. Since this is a new install it is easier +to use our new mysql script file to add the tables to the database: +Make sure to use reasonable settings for mysql huge.cnf does not look as huge anymore +in light of current systems. +Plus you should increase the connect_timeout so connections do not fail on +a more loaded system. + +1. at the command prompt type go to the mysql client: +/usr/local/mysql/bin/mysql +2. type the following into the mysql client prompt: + (make sure you put your IP address in place of "10.10.10.15" in the queries below) +######------ BEGIN Mysql data entry(you can copy and paste this into terminal) # + +SET GLOBAL connect_timeout=60; + +CREATE DATABASE `asterisk` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + +GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@'%' IDENTIFIED BY '1234'; +GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@localhost IDENTIFIED BY '1234'; + +GRANT RELOAD ON *.* TO cron@'%'; +GRANT RELOAD ON *.* TO cron@localhost; + +flush privileges; + +use asterisk; + +\. /usr/src/astguiclient/trunk/extras/MySQL_AST_CREATE_tables.sql + or you may need to run this if you get an error: + \. /usr/src/astguiclient/astguiclient/MySQL_AST_CREATE_tables.sql + +### to load in default IAX and SIP phone accounts run the following query + +\. /usr/src/astguiclient/trunk/extras/sip-iax_phones.sql + or you may need to run this if you get an error: + \. /usr/src/astguiclient/agc_2.0.4/extras/sip-iax_phones.sql + \. /usr/src/astguiclient/astguiclient/sip-iax_phones.sql + + +### to load the initial server values for this first system install + +\. /usr/src/astguiclient/trunk/extras/first_server_install.sql + or you may need to run this if you get an error: + \. /usr/src/astguiclient/agc_2.0.4/extras/first_server_install.sql + \. /usr/src/astguiclient/astguiclient/first_server_install.sql + +quit + + to change the server_ip address from default to match your system run: + - /usr/share/astguiclient/ADMIN_update_server_ip.pl --old-server_ip=10.10.10.15 + + to populate the timezone/country table run this command from command line: + - /usr/share/astguiclient/ADMIN_area_code_populate.pl + + to load the performance testing leads run these commands: + - cp /usr/src/astguiclient/trunk/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/ + or + - cp /usr/src/astguiclient/agc_2.0.4/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/ + - cp /usr/src/astguiclient_2.0.4.1/trunk/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/ + + - /usr/share/astguiclient/VICIDIAL_IN_new_leads_file.pl --forcelistid=107 --forcephonecode=1 + + +######------ END Mysql data entry ------###### + +NOTE: if you are not installing using default user/pass or have MySQL on another +server, you will need to edit either the /etc/astguiclient.conf file or the +dbconnect.php files in the astguiclient, vicidial and agc directories of your +webroot. + +3. Enter the astguiclient administration page: +http://10.10.10.15/vicidial/admin.php +NOTE: if you click on the Logout button you must leave the user/pass empty and click OK + - Here you will enter the login and password that you inserted into the mysql +database in the vicidial_users table (above [6666/1234]) + - Now that you are logged into the astGUIclient administration system we can +add a new phone entry for each of the sipura lines we created. + - click on the "PHONES" link at the top, then the "ADD PHONE" link below +that and enter in the proper information for each of the new phone lines. +Here's what we entered for spa2000: + - Phone extension: spa2000 + - Dialplan Number: 2000 + - Voicemail Box: 2000 + - Phone IP address: 10.10.10.17 + - Computer IP address: 10.10.9.17 + - Server IP: 10.10.10.15 + - Login: spa2000 + - Password: test + - Status: ACTIVE + - Active Account: Y + - Phone Type: Sipura SPA-2000 line 1 + - Full Name: Sipura line 1 test + - Company: TEST + - Picture: + - Protocol: SIP + - for the next phone simply replace 2000 with 2001 in the above example + - now your phones are all all set up in the astguiclient system and you can +use this website to add new phones to be used with astguiclient and monitor +the number of calls people are making. + - click on the "LIST ALL SERVERS" link at the top then click on the + server to modify. Verify that the GMT time zone and all other fields + are what you want them to be. There is a setting(Max VICIDIAL Trunks) + that can be modified to limit the number of VICIDIAL outbound trunks + that will be allowed to use on this server. + +**OPTIONAL** For Zap clients you will need to use full Zap Channel name as the +extension on the admin page entry: "1-1" for our Zap phone example +previously. And do not forget to set the protocol on this page to Zap + + + + + +PHASE 5: ADDING STARTUP ENTRIES FOR ASTGUICLIENT/VICIDIAL SCRIPTS + +1. Make several entries in the rc.local of your system: + - on the command line type: + - vi /etc/rc.d/rc.local + - add the following entries(here's what we used): + +# OPTIONAL enable ip_relay(for same-machine trunking and blind monitoring) +# /usr/share/astguiclient/ip_relay/relay_control start 2>/dev/null 1>&2 + +# Disable console blanking and powersaving +setterm -blank +setterm -powersave off +setterm -powerdown + +### start time server +/usr/local/bin/ntpdate -u ntp.myfloridacity.us +/usr/sbin/ntpd + +### start up the MySQL server +/usr/local/mysql/bin/mysqld_safe --user=mysql --skip-name-resolve --skip-host-cache & + +### roll the Asterisk logs upon reboot +/usr/share/astguiclient/ADMIN_restart_roll_logs.pl + +### clear the server-related records from the database +/usr/share/astguiclient/AST_reset_mysql_vars.pl + +### start up the apache web server +/usr/local/apache2/bin/apachectl start + +### load digium zaptel 4xT1 drivers into system +# if using Sangoma card, put wanrouter start in place or modprobes +modprobe zaptel +modprobe wct4xxp +/sbin/ztcfg -vvvvvvvvvvvv + +### sybsys local login +touch /var/lock/subsys/local + +### sleep for 10 seconds before launching Asterisk +sleep 10 + +### start up asterisk +/usr/share/astguiclient/start_asterisk_boot.pl + + - you are done + + + + + +PHASE 6: ADDING CRONTAB ENTRIES FOR ASTGUICLIENT/VICIDIAL SCRIPTS + +1. Make several entries in the cron of your system: + - on the command line type: + - cd /usr/share/astguiclient + - crontab -e + - add the following entries(here's what we used): + +### recording mixing/compressing/ftping scripts +0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_mix.pl +#0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_VDonly.pl +1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58 * * * * /usr/share/astguiclient/AST_CRON_audio_2_compress.pl --GSM +#2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59 * * * * /usr/share/astguiclient/AST_CRON_audio_3_ftp.pl --GSM + +### keepalive script for astguiclient processes +* * * * * /usr/share/astguiclient/ADMIN_keepalive_ALL.pl + +### kill Hangup script for Asterisk updaters +* * * * * /usr/share/astguiclient/AST_manager_kill_hung_congested.pl + +### updater for voicemail +* * * * * /usr/share/astguiclient/AST_vm_update.pl + +### updater for conference validator +* * * * * /usr/share/astguiclient/AST_conf_update.pl + +### flush queue DB table every hour for entries older than 1 hour +11 * * * * /usr/share/astguiclient/AST_flush_DBqueue.pl -q + +### fix the vicidial_agent_log once every hour +33 * * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl + +### updater for VICIDIAL hopper +* * * * * /usr/share/astguiclient/AST_VDhopper.pl -q + +### adjust the GMT offset for the leads in the vicidial_list table +1 1,7 * * * /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --debug --postal-code-gmt + +### reset several temporary-info tables in the database +2 1 * * * /usr/share/astguiclient/AST_reset_mysql_vars.pl + +### optimize the database tables within the asterisk database +3 1 * * * /usr/share/astguiclient/AST_DB_optimize.pl + +## adjust time on the server with ntp +30 * * * * /usr/local/bin/ntpdate -u ntp.myfloridacity.us 2>/dev/null 1>&2 + +### VICIDIAL agent time log weekly summary report generation +2 0 * * 0 /usr/share/astguiclient/AST_agent_week.pl + +### remove old recordings more than 7 days old +#24 0 * * * /usr/bin/find /var/spool/asterisk/monitorDONE -maxdepth 2 -type f -mtime +7 -print | xargs rm -f + +### remove old vicidial logs and asterisk logs more than 2 days old +28 0 * * * /usr/bin/find /var/log/astguiclient -maxdepth 1 -type f -mtime +2 -print | xargs rm -f +29 0 * * * /usr/bin/find /var/log/asterisk -maxdepth 3 -type f -mtime +2 -print | xargs rm -f +30 0 * * * /usr/bin/find / -maxdepth 1 -name "screenlog.0*" -mtime +4 -print | xargs rm -f + + + + - once your system starts up you can attach to the screen running asterisk by +typing "screen -r " find which screen by typing "screen -r" and +looking for the lowest screen number. Then to detach again from the screen +while you are in it type 'Ctrl+a' then 'd' + - you are done + + + + + +PHASE 7: ADDING TEST LEADS TO VICIDIAL AND CONFIGURING A TEST CAMPAIGN AND USERS + +First we will add a few test leads to the vicidial_list table so that we can +test our system. There is also an application included with the distribution +that will accept a delimited file of leads placed in the /usr/share/astguiclient/VICIDIAL/LEADS_IN/ +directory and load it into the database automatically(VICIDIAL_IN_new_leads_file.pl +[a sample lead file in the proper format is included with this release: + - test_VICIDIAL_lead_file.txt]) +If you want to use the lead import script I suggest looking at the code to make +sure it is entering what you want it to. We are not going to go over that +particular script in this document. + +Also, there is a web-based lead loader available and is accessible from the +VICIDIAL admin.php web page(click on the "LOAD NEW LEADS" link in the LIST +section at the top of the admin page). To get to this page you must have +permissions in the vicidial_user table(Load Leads set to 1). Instructions on +it's use are included on the page through the help question mark link. + +NOTE: in PHP you must have "fileuploads" enabled for this page to work. +NOTE: it is important to have your proper country code in the phone_code field +of your leads so that the GMT offset encodding will properly code the time +zones for your leads. For the USA/Canada/Caribbean this would be 1. For the +UK this is 44 and Mexico is 52 and so on. + +Now that the sample leads have been entered, we can go into the VICIDIAL +administration website and set up our campaigns, lists and users. +But first let's make sure that they have the right GMT offset: + run this on the command line: + - /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --postal-code-gmt + +3. Enter the astguiclient administration page: +http://10.10.10.15/vicidial/admin.php +(use the username and password created when we entered a record into the +vicidial_users table in SUBPHASE 6.3, In our case this is 6666 and 1234) +NOTE: if you click on the Logout button you must leave the user/pass empty and click OK + - Now that you are logged into the vicidial administration system we can add +new user entries for each of the new users and enter new campaigns and new +lists. + - The first step is to enter your new users, Click on the ADD A NEW USER +and fill in the appropriate information for each now user you want to +add. + - Next, you need to create a new campaign, click on the ADD A NEW +CAMPAIGN link and fill in what you want the campaign to be called as +well as a description + - Next, you need to define a new list, click on the ADD A NEW LIST link +and fill in what you want the list to be called as well as a using the +list ID of the leads that we loaded in the previous step "101" and +select the new campaign from the pull-down menu that we just created. + - Now that you have created your list, make it active by changing active to Y + - now modify your campaign ang change the first status to be called to +NEW and submit. Now your system is ready to dial. + - you are done + + + + + +PHASE 8: astGUIclient and VICIDIAL WEB CLIENTS + +The browser requirements for the web-client interfaces are: +- Firefox 0.9 or greater (Firefox 1.0.7 is the recommended browser) +- Mozilla 1.7 or greater +- Netscape 8 or greater +- Opera 8.5 or greater +- Microsoft Internet Explorer 5.0 or greater (we have noticed some serious + memory leaks in IE5 and IE6 when using this program, they do not occur in + Firefox which is why we recommend it overall.) + +To log into this app you will need a login setup in the vicidial_users table +as well as an entry for the phone you are using in the phones table. You will +first get a login prompt for the vicidial login then you will have the phone +login where you enter the Login and Password for that phone entry. From there +the app should display and you will see the MAIN screen with your login +information at the top. + +The example web page you would go to on this installation would be: +http://10.10.10.15/agc/astguiclient.php +http://10.10.10.15/agc/vicidial.php + +Another thing to note is that you can have the agc folder(with the .php files +in it) copied to multiple web servers, you just need to make sure that the +MySQL database connection works (check the settings in the dbconnect.php file +that is in the agc directory). We have had astguiclient.php running on 3 +separate web servers for the same DB server and Asterisk server. This is an +easy way to allow for auto failover and/or redundancy. Also, this client will +work over SSL connections(https) for encrypted communications with the server. + +New in astGUIclient release 1.1.7 is multi-language support. multi-language +versions of web-clients and admin pages are available in the LANG_agc.zip and +LANG_www directries and can be copied into your webroot directory. + +One more feature that the VICIDIAL web-client offers is the ability to set up +an EXTERNAL phone extension in the astguiclient admin section so that you can +have agents log in to vicidial.php wherever they have access to a phone with +an external phone number and a web browser. To do this follow these steps: +- "ADD PHONE" in the admin.php web page and enter whatever name you want +- For the dialplan number field put in the full digits that you would dial from + the Asterisk server to get to that agent's external phone(with 91 if used) +- For the Protocol select EXTERNAL +- make sure the agent knows the login and password set for this phone entry. +Then the agent will go to the vicidial.php page and enter in their phone +login/pass, their vicidial user/pass/campaign and their phone should ring in a +few seconds, and they are logged in and ready to take calls. + +Admin Note: If you want to enable your agents to login with only their user/pass +you can hardcode the phone_login and phone_pass into the query string(URL) and +use a bookmark on their desktop, taking one more step out of their login process +example: http://10.10.10.15/agc/vicidial.php?pl=gs102&pp=test + +It is recommended if you are in a call center environment that you would disable +the "Saved Form Information" option in Firefox settings. This is a checkbox in +the Privacy settings under the Options menu. + + + + + +PHASE 9: VICIDIAL REMOTE AGENTS + +With v1.0 of VICIDIAL we have the ability to use a simple web form to give +remote agents a way to receive calls to whatever number they happen to be at, +and they can view/edit call details and see a call log all through a web page +(vdremote.php) or http://10.10.10.15/vicidial/vdremote.php on this installation. +Remote Agents is only recommended for inbound calls because of the extra time +needed to dial a number out to transfer the call to. To set up remote agents, +just go to the vicidial admin.php page and ADD NEW REMOTE AGENTS(Make sure the +userID start also has a user login so they can get to the vdremote page). You +will see that you can set up a remote agent entry to take multiple lines if you +wish meaning that, for example, if you need to send all of your calls to another +location because of a massive snowstorm(and none of your agents showed up at work) +you just log in that remote agent record with say 10 lines and then all of those +calls will be directed to the same number you set up for the remote agent. Then +again you could just get your agents to log in from home if they have a phone +and computer + + + + + +PHASE 10: You are done with installation + +If you have problems and it is not working right(and are NOT celebrating right +now), feel free to take a look at the FAQ for solutions to common installation +errors, read the SCRATCH_INSTALL document, visit the VICIDIAL forum or send an +email to the mailing list: +http://www.eflo.net/VICIDIALforum/index.php +https://lists.sourceforge.net/lists/listinfo/astguiclient-users + +Also, check out our weblog: http://astguiclient.blogspot.com/ + + +**** IMPORTANT - In order for vicidial/astguiclient to function correctly please +read the REQUIREMENTS.txt for a minimum requirements list. *** + +End-user Manuals for Agents and Managers are available from http://www.eflo.net + + + + + +PHASE 11: Security Hardening: + +You may want to reduce the exposure of some of the elements of VICIDIAL. Here are some examples: + +ln -s /dev/null /usr/local/apache2/htdocs/vicidial/project_auth_entries.txt +ln -s /dev/null /usr/local/apache2/htdocs/agc/vicidial_auth_entries.txt +ln -s /dev/null /usr/local/apache2/htdocs/agc/astguiclient_auth_entries.txt +ln -s /dev/null /usr/local/apache2/htdocs/vicidial/admin_changes_log.txt + +- Change the WWW writable in the admin.php server settings to "0" +- Change the default admin user "6666" or it's password from the default +- Change the Default secret(password) for the default SIP and IAX accounts that are set up with astGUIclient +- Change the default password for the Asterisk manager connection in manager.conf then change it in the server modification screen +- Change the default password for the mysql cron user in mysql and change it to match in /etc/astguiclient.conf on each server +- Possibly use static IP addresses for the IAX/SIP conf account entries +- Change the default port for Apache in httpd.conf from 80 to something else +- Change the default port for IAX in iax.conf from 4569 to something else +- Change the default control port for SIP in sip.conf from 5060 to something else +- Use a firewall to route access using different port numbers or restricting connection by VPN or set IP addresses diff --git a/agc_2-X/branches/agc_2.0.5/docs/CALLBACKS_PROCESS.txt b/agc_2-X/branches/agc_2.0.5/docs/CALLBACKS_PROCESS.txt new file mode 100644 index 00000000..2077cdb7 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/CALLBACKS_PROCESS.txt @@ -0,0 +1,98 @@ +CALLBACK proces flow 2006-01-05 + +***** FULL CALLBACKS FUNCTIONALITY WAS ADDED IN THE 1.1.11 RELEASE ***** + +This will outline the process I have thought through in my head for a call-back +process in VICIDIAL. I have received suggestions for methodologies of how many +people think that call-backs should work and I think I've finally come to a +conclusion of how I may build it into VICIDIAL that incorporates most of these +suggestions. + + + +The Agent Side: +When an Agent dispositions a call as CALLBK, a popup frame will appear that will +allow selecting a date from a calendar window(with option to go forward by month +up to 1 year) and a pull-down list that will show hours(in 30 minute increments +defaulting to current half hour). After the agent selects a day and time, they +must check a box to denote that only they should be able to get this Callback. +If the box is unchecked, anyone will be able to call this lead after it's +callback_time elapses. The lead will be entered as vicidial_list.status CBHOLD +in the system and will not be able to be dialed or selected as a dial status in +the admin screen. + +If the agent checks the box that they will be the only one that can callback the +lead and it is time to call that lead again(vicidial.php will check at login and +every 30 minutes to see if there are any agent-specific leads that need to be +called back by that agent) then when the agent is paused they will be able to +click on the "CALLBACK" button on the bottom of the screen and select which lead +that they want to callback. The call will proceed as a normal call and will be +dispositioned as normal. The callback button will probably be able to flash or +gently strobe like the astguiclient.php voicemail button does when callbacks are +available to be called for that logged-in agent. + +If the agent does not check that they are the only ones to be able to call that +specific lead back, then it will be updated by the AST_VDhopper.pl script once +it's callback date/time has been reached the status will be changed to CALLBK +and will be available for calling if that status is selected in the dial +statuses for the campaign and if the list is active. + +If the managr has given the agent permission to set USERONLY callbacks, then +the agent will be able to call those customers back by clicking on the CALLBACK +count link below the comments field of vicidial.php once they are logged in. +From here they can see the listing of their callbacks and their settings, and +can call the customer back by clicking on the callback record. + + + +The Admin Side: +In the admin.php web page will be a callback viewer. Admin users will be able to +search and sort by campaign, list, user, status and time-range to see summary +lists of the Callbacks in the vicidial_callbacks table. Callbacks will be +alterable through the modify lead screen. + + + +The Server Side: +The vicidial_callbacks table will look like this: + CREATE TABLE vicidial_callbacks ( +callback_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +lead_id INT(9) UNSIGNED, +list_id INT(8) UNSIGNED, +campaign_id VARCHAR(8), +status VARCHAR(10), +entry_time DATETIME, +callback_time DATETIME, +modify_date TIMESTAMP, +user VARCHAR(20), +recipient ENUM('USERONLY','ANYONE'), +comments VARCHAR(255), +index (lead_id), +index (status), +index (callback_time) +); + +The status field will probably have the following possible values: ACTIVE, LIVE, +ARCHIVE and all old callback entries will be kept for archival purposes, +anthough not viewable by the agent. + +The AST_VDhopper.pl script will do a select every minute(before it does it's +hopper filling run) for callbacks that need to be placed back in CALLBK status. +Something like this query: + SELECT lead_id from vicidial_callbacks where callback_time < '2006-01-06 +10:02:03' and status='ACTIVE'; + +AST_VDhopper.pl will then: +- set these leads to vicidial_list.status of CALLBK +- set the called_since_last_reset to N +- insert the lead into the vicidial_hopper under the campaign it was originally + set if it is an ANYONE callback +- change the vicidial_callbacks.status to LIVE. + +At the time of a hangup of a callback call, the vicidial.php script will set the +vicidial_callbacks.status to ARCHIVE. The leads that designate the recipient as +USERONLY will not be altered in any way by AST_VDhopper.pl. + + + + diff --git a/agc_2-X/branches/agc_2.0.5/docs/IE_INCOMPATIBILITIES.txt b/agc_2-X/branches/agc_2.0.5/docs/IE_INCOMPATIBILITIES.txt new file mode 100644 index 00000000..ea564347 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/IE_INCOMPATIBILITIES.txt @@ -0,0 +1,31 @@ +Microsoft Internet Explorer Incompatibilities with VICIDIAL Agent Interface 2007-06-13 + +*** AS OF RELEASE 2.0.4 VICIDIAL IS COMPATIBLE WITH IE 6.0 *** + +There are quite a few issues with using Microsoft Internet Explorer(IE) with VICIDIAL because of incompatibilites with the W3C standards as well as stability and architectural issues. + +The decision was made to stop testing on IE because of time constraints as well as the lack of cross-compatibility of IE and lack of compatibility with standards, even between IE versions. Firefox meets all compatibility requirements which is why that is the recommended platform for VICIDIAL agents. + +As of release 2.0.4 of astguiclient, IE 5.0 and 5.5 compatibility was broken to make VICIDIAL fully compatible with IE 6.0. Along with this change, all of the memory issues were fixed, along with several features that were not working before in IE like HotKeys. + + +Some of the issues include the following: +- Because ActiveX is used for AJAX with IE(and no other browser) it is difficult to debug the issue with faulty garabage collection where IE, or rather ActiveX, will not delete any of the XMLHTTPRequest events that it grabs resulting in the eventual crashing of IE after it hits its memory limit. I have heard that with IE7 and newer ActiveX there is a potential way around this through using some different Javascript commands. +- Using a span with NOSCROLL and a form element inside of it are sometimes ignored by IE, not sure why, but using spans with form elements may need to be changed to accomodate IE in the future. + Changed: + .cust_form {font-family: sans-serif; font-size: 10px; overflow:} + To: + .cust_form {font-family: sans-serif; font-size: 10px} +- For some reason form elements inside of a hidden span cannot be given focus or blur(Causing Hotkeys not to work): + Commented out the following lines: + document.vicidial_form.inert_button.focus(); + document.vicidial_form.inert_button.blur(); +- There are issues with Hotkeys key-binding working with some versions of IE dues to the Javascript used to achieve the function. +- Sometimes document elements will error out as undefined even though Firefox ses them just fine, for example: + Commented out the folowing lines(3 locations): + if ( (dialed_label.length < 3) || (dialed_label=='NONE') ) {dialed_label='MAIN';} + Changed to: + if (dialed_label=='NONE') {dialed_label='MAIN';} + Making these changes allows IE to work with 2.0.3 but does not allow for color status bar changes on inbound calls. + + diff --git a/agc_2-X/branches/agc_2.0.5/docs/INBOUND-CLOSER_PROCESS.txt b/agc_2-X/branches/agc_2.0.5/docs/INBOUND-CLOSER_PROCESS.txt new file mode 100644 index 00000000..1090ff4d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/INBOUND-CLOSER_PROCESS.txt @@ -0,0 +1,113 @@ +INBOUND/CLOSER process flow 2007-05-02 + +** THIS FULLY REDONE INBOUND-CLOSER PROSESS IS PLANNED FOR THE 2.0.4 RELEASE ** + +This will outline the process I have thought through in my head for rewriting the inbound and closer call queueing and handling processes within VICIDIAL. The objective is to add the following features to make VICIDIAL a more well-rounded product: +- consolidate the 13 VDAD inbound and closer scripts into one script with CLI options +- custom hold music per in-group +- put call_times into effect for in-groups allowing calls coming in after hours to be directed to another extension or voicemail box +- allow any campaign to take inbound calls, removing the restriction on campaign_id name for that purpose + + + + + + + +***** Here are some planned features that will have to wait for the next release: +- add concurrent-transfers options to inbound groups +- announce estimated time on hold +- announce place in line +- option for customer to leave the queue and leave a message while still keeping their place in line +- allow agent to search for customer lead in system after they have been connected +- for closer transfers, allow fronter to send calls to any in-group by a pull-down list + + + +The Agent Side: +The vicidial.php script will need to be modified to allow for a record to load and show that a customer has called and possibly display their callerID and play a message that they may have left. The agent would then have the option to place a manual dial call to reach the customer. + +Another important change that needs to be made to the vicidial.php agent interface is to allow searching for a customer's record and changing the lead_id that is associated with the call while the call is going on. This could prove problematic, but will end up being a much better solution than locking the agent into a record when the call comes in. This may also result in records having to be associated with other records, which might mean either another table or possibly adding another field to the vicidial_list table. + +For the changes in the Fronter/Closer transfers, new User Group permissions will need to be added to be able to restrict the in-groups that agents are allowed to transfer calls to. When Closer transfers are enabled in a campaign the agent interface will select these in-groups and can transfer calls to any of those groups. Also, a complete reworking of how the Transfer Conference box is laid out will be done. + + + +The Admin Side: +More settings will be needed for the In-Groups section to be able to accomodate these changes: +ALTER TABLE vicidial_inbound_groups ADD moh_extension VARCHAR(20); +ALTER TABLE vicidial_inbound_groups ADD prompt_interval SMALLINT(5) UNSIGNED default '60'; +ALTER TABLE vicidial_inbound_groups ADD announce_place_in_line ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_inbound_groups ADD announce_estimate_hold_time ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_inbound_groups ADD allow_leave_queue_place ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_inbound_groups ADD allow_leave_queue_message ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_inbound_groups ADD callback_number_validation ENUM('6','7','8','9','10','11','12','13','14','NORTH_AMERICA','UK'); +ALTER TABLE vicidial_inbound_groups ADD call_time VARCHAR(20); +ALTER TABLE vicidial_inbound_groups ADD after_hours ENUM('HANGUP','VOICEMAIL','EXTENSION') default 'EXTENSION'; +ALTER TABLE vicidial_inbound_groups ADD after_hours_exten VARCHAR(20); + +In the servers table a field will also be added: +ALTER TABLE servers ADD hold_queue_prompt_exten VARCHAR(20) default '8359'; + +In the vicidial_auto_calls table a field will also be added: +ALTER TABLE vicidial_auto_calls ADD last_prompt_time DATETIME; +ALTER TABLE vicidial_auto_calls ADD random_id INT(9) UNSIGNED; +ALTER TABLE vicidial_auto_calls ADD recording_id INT(10) UNSIGNED; + +For the fronter/closer transfers some fields will need to be added to the vicidial_user groups table: +ALTER TABLE vicidial_user_groups ADD allowable_xfer_inbound_groups TEXT +ALTER TABLE vicidial_user_groups ADD default_xfer_inbound_group VARCHAR(20) + + + +The Server Side: +For inbound and closer transfers, the agi_VDAD... scripts will still run as they normally do now, but after 5 seconds, without a transfer to an agent, the customer will be put into the new call-queue manager which will consist of a constantly running perl script(we will call it "AST_VD_hold_queue.pl") that will keep track of the call while it is still active and before it gets sent to an agent, and an AGI script(we will call this one agi-VD_queue_prompts.agi) that will perform the dynamic functions of speaking the customer's place in line, estimated hold time and offer the option to press a DTMF digit and either leave a message for the agent to take the call or leave a callback number to be called back when their turn arrives. This script will also have to somehow keep the vicidial_auto_calls records active even after a customer has hung up in order to preserve place-in-line and allow for playing of a customer message or callback to a customer. + +*** This section to be removed due to change in architecture it was not implemented *** + +Here is a process flow explanation of how a call would move through the hold queue: +- Call comes in to the agi_VDADcloser... script and cannot find an agent to send the call to within 5 seconds +- the agi_VDADcloser script changes the status of the call in vicidial_auto_calls to HOLDP and sends the call to the extension that the agi-VD_queue_prompts.agi script is on(defined in the servers table, default will be 8359) +- the agi-VD_queue_prompts.agi script will query the database for the vicidial_inbound_group settings to see what options it should offer the customer and then that script plays the desired prompts(if selected, leave number and/or leave voice message), then it will wait 15 seconds for a digit press and if there is no valid digit press then it will continue on(steps for if there is a digit press are at the end of this process flow) +- Then the agi script checks for a "conferences" table entry that matches that moh_extension(for a moh_extension of 1234 this would be reserved under HOLDQ1234 in the conferences table) +- If the conference is reserved then the customer call is immediately transferred there, if it does not exist, the agi script will reserve a new conferences record and post an Originate record to the vicidial_manager table so that the hold music/message will start playing in that meetme conference +- The vicidial_auto_calls record is changed to HOLDQ and the customer call is then sent to that meetme room in listen-only mode so that multiple customers can be sent to the same meetme room.(This adds the extra option of allowing a manager to dial into that conference and speak a message to all of the people waiting in the queue) +- The AST_VD_hold_queue.pl script then checks to see if there are any available agents as well as updates the time on the vicidial_auto_calls record every second to keep it alive, as well as checking to see whether the call is due to be sent back to the prompt agi by how old the call's last_prompt_time field is set to(even if a call is in HOLDP and is in the prompt agi process, it will still keep it's place in line and it will immediately be transferred if an agent becomes available) +- If the last_prompt_time is older than prompt_interval seconds, then the vicidial_auto_calls status is set back to HOLDP and the call is sent back to the agi-VD_queue_prompts.agi script for another loop +- If there is an available agent, then the vicidial_live_agents record is updated and the call is immediately sent to the agent's meetme room +- If the customer is in the agi-prompt script and they choose to leave a message and/or leave a callback phone number, the script will add the callback number to the alt_phone field(if it does not match callerIDnumber that the call came in under), and the voice message will be logged in the recording_log table along with the server_ip that it was recorded on. The filename for the recording will be something like this "70503124128_CUSTSERV_7275551212-all.wav" which is the datetimecode_inboundgroup_customerphone +- If customer enters in a callback number and vicidial_inbound_groups callback_number_validation field is set to 6-14, NORTH_AMERICA or UK then the number of digits and pattern are validated or cleaned to make sure it is a valid number. The agi prompt script will also read back the phone number they entered to verify it again with the customer and ask for a confirmation of that number with press of a 1 or 2. +- After the customer has left a callback phone number and left a message, their vicidial_auto_calls status is changed to PLACE and their call is hung-up +- When a PLACE call that a customer had left a message on is sent to an agent, the agent will see the customer record appear and the audio recording will be automatically played in their session with a button to allow them to play it again. Then the agent screen will go into manual-dial-alt-dial mode allowing the agent to place a call back to the customer. + + + +This functionality will require three new statuses in the vicidial_auto_calls table: +HOLDQ - this status will be for the LIVE-status calls that were not sent to an agent in the first five seconds on the system, so they will be handed over to be taken care of by the AST_VD_queue_hold.pl perl script. +HOLDP - this status will be for the HOLDQ calls that are currently in the agi-VD_queue_prompts.agi script. +PLACE - this status is a placeholder for the customer after they choose the option to hang-up and either leave a message or leave their contact number for a callback. They are no longer on an active channel, but their place in line as a customer should be preserved so that the agent that receives their record can proceed with a call to follow-up with the customer. + + +MORE TO COME... + + + +- optionally make native audio files for Music On Hold: + +cd /var/lib/asterisk/mohmp3/ +mpg123 -s --rate 44100 --mono /var/lib/asterisk/mohmp3/fpm-sunshine.mp3 > /var/lib/asterisk/mohmp3/fpm-sunshine.raw +sox -r 44100 -w -s -c 1 fpm-sunshine.raw -r 8000 -c 1 fpm-sunshine.wav +sox fpm-sunshine.wav -t gsm -r 8000 -b -c 1 fpm-sunshine.gsm +sox fpm-sunshine.wav -t ul -r 8000 -b -c 1 fpm-sunshine.pcm +mpg123 -s --rate 44100 --mono /var/lib/asterisk/mohmp3/fpm-calm-river.mp3 > /var/lib/asterisk/mohmp3/fpm-calm-river.raw +sox -r 44100 -w -s -c 1 fpm-calm-river.raw -r 8000 -c 1 fpm-calm-river.wav +sox fpm-calm-river.wav -t gsm -r 8000 -b -c 1 fpm-calm-river.gsm +sox fpm-calm-river.wav -t ul -r 8000 -b -c 1 fpm-calm-river.pcm +mpg123 -s --rate 44100 --mono /var/lib/asterisk/mohmp3/fpm-world-mix.mp3 > /var/lib/asterisk/mohmp3/fpm-world-mix.raw +sox -r 44100 -w -s -c 1 fpm-world-mix.raw -r 8000 -c 1 fpm-world-mix.wav +sox fpm-world-mix.wav -t gsm -r 8000 -b -c 1 fpm-world-mix.gsm +sox fpm-world-mix.wav -t ul -r 8000 -b -c 1 fpm-world-mix.pcm +rm -f *.raw +mkdir ../orig-mp3 +mv -f *.mp3 ../orig-mp3/ + diff --git a/agc_2-X/branches/agc_2.0.5/docs/Inbound_VDAC_IVR.txt b/agc_2-X/branches/agc_2.0.5/docs/Inbound_VDAC_IVR.txt new file mode 100644 index 00000000..8eee4a6d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/Inbound_VDAC_IVR.txt @@ -0,0 +1,64 @@ +Inbound VDAC IVR process 2008-05-25 + +This doc goes over the addition of the IVR status to the vicidial_auto_calls table and how calls that are not yet in an in-group(queue) can still be counted as active calls. This allows your system to show a tally of inbound calls that are still navigating menus before finding an in-group(queue) to be put into. + +The agi-VDAD_inbound_calltime_check.agi script does a check for the calltime scheme of the defined in-group(queue) as well as using the after-hours method for that in-group and the associated after-hours message if defined. Also, this script can place a record in the vicidial_auto_calls status in the IVR status. Calls in this status do not affect the dial ratios of blended campaigns, but they will display in the AST_timeonVDADall.php real-time status pages. + +A log of the calls going into this agi-VDAD_inbound_calltime_check.agi script is also inserted into the live_inbound_log table. + +The agi-VDAD_inbound_calltime_check.agi script can also be used to log the progression of a call through an IVR if you place it at major points in your IVR dialplan. The third field that you can define allows you to set a note or comment that is placed into the database when the call goes through that step. + +Now included in the vicidial web directory is the AST_IVRstats.php report which can show you the statistics on the progression of customers through an Asterisk dialplan-based IVR using tracking with this script. + + +The example below shows how to do a very simple IVR before sending to a queue asking if the caller wants English, Spanish, French or German language service. + +The "test_in_menu" audio file would have something like the following script: + +"Hello, thank you for calling ACME Service Inc. For English press one, para el +espaol, prensa dos, pour le Franais, presse trois, fr Deutsche Presse vier." + + + +extensions.conf additions: + + +; First, in the default context you will put a line sending the inbound calls +; for this number into a context named the same as the first in-group(queue), +; in this case "TEST_IN". There are also 3 other in-groups(queues) for the +; non-English in-groups(queues): +; TEST_IN - English - option 1 +; TEST_IN_ES - Spanish - option 2 +; TEST_IN_FR - French - option 3 +; TEST_IN_DE - German - option 4 + +[default] +exten => 7275551111,1,Goto(TEST_IN,s,1) + + +[TEST_IN] +exten => s,1,AGI(agi-VDAD_inbound_calltime_check.agi,TEST_IN-----YES-----START) +exten => s,2,Background(test_in_menu) +exten => s,n,WaitExten(10) +exten => s,n,Background(test_in_menu) +exten => s,n,WaitExten(10) +exten => s,n,Playback(vm-goodbye) +exten => s,n,hangup + +exten => 1,1,AGI(agi-VDAD_ALL_inbound.agi,CIDLOOKUP-----LB-----TEST_IN-----7275551111-----Closer-----park----------999-----1-----OUTB) +exten => 1,n,Hangup + +exten => 2,1,AGI(agi-VDAD_ALL_inbound.agi,CIDLOOKUP-----LB-----TEST_IN_ES-----7275551111-----Closer-----park----------999-----1-----OUTB) +exten => 2,n,Hangup + +exten => 3,1,AGI(agi-VDAD_ALL_inbound.agi,CIDLOOKUP-----LB-----TEST_IN_FR-----7275551111-----Closer-----park----------999-----1-----OUTB) +exten => 3,n,Hangup + +exten => 4,1,AGI(agi-VDAD_ALL_inbound.agi,CIDLOOKUP-----LB-----TEST_IN_DE-----7275551111-----Closer-----park----------999-----1-----OUTB) +exten => 4,n,Hangup + +exten => #,1,Goto(s,2) +exten => i,1,Goto(s,2) +exten => t,1,Goto(s,2) +exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}) + diff --git a/agc_2-X/branches/agc_2.0.5/docs/LICENSE.txt b/agc_2-X/branches/agc_2.0.5/docs/LICENSE.txt new file mode 100644 index 00000000..facdd856 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/LICENSE.txt @@ -0,0 +1,277 @@ +AFFERO GENERAL PUBLIC LICENSE (AGPLv2) + +Version 2, November 2007 + +Copyright 2007 Affero Inc. +510 Third Street - Suite 225, San Francisco, CA 94107, USA + +This is version 2 of the Affero General Public License. It gives each licensee +permission to distribute the Program or a work based on the Program (as defined +in version 1 of the Affero GPL) under the GNU Affero General Public License, +version 3 or any later version. + +This license is a modified version of the GNU General Public License copyright +(C) 1989, 1991 Free Software Foundation, Inc. made with their permission. +Section 2(d) has been added to cover use of software over a computer network. + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the Affero General Public License is intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. This Public License applies to most of +Affero's software and to any other program whose authors commit to using it. +(Some other Affero software is covered by the GNU Library General Public License +instead.) You can apply it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. This +General Public License is designed to make sure that you have the freedom to +distribute copies of free software (and charge for this service 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 make restrictions that forbid anyone to deny +you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of the +software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or for a +fee, you must give the recipients all the rights that you have. 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. + +We protect your rights with two steps: (1) copyright the software, and (2) offer +you this license which gives you legal permission to copy, distribute and/or +modify the software. + +Also, for each author's protection and ours, we want to make certain that +everyone understands that there is no warranty for this free software. If the +software is modified by someone else and passed on, we want its recipients to +know that what they have is not the original, so that any problems introduced by +others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We wish +to avoid the danger that redistributors of a free program will individually +obtain patent licenses, in effect making the program proprietary. To prevent +this, we have made it clear that any patent must be licensed for everyone's free +use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice +placed by the copyright holder saying it may be distributed under the terms of +this Affero General Public License. The "Program", below, refers to any such +program or work, and a "work based on the Program" means either the Program or +any derivative work under copyright law: that is to say, a work containing the +Program or a portion of it, either verbatim or with modifications and/or +translated into another language. (Hereinafter, translation is included without +limitation in the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not covered by +this License; they are outside its scope. The act of running the Program is not +restricted, and the output from the Program is covered only if its contents +constitute a work based on the Program (independent of having been made by +running the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute 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 and disclaimer of warranty; +keep intact all the notices that refer to this License and to the absence of any +warranty; and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may at +your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus +forming a work based on the Program, and copy and distribute such modifications +or work under the terms of Section 1 above, provided that you also meet all of +these conditions: + +* a) You must cause the modified files to carry prominent notices stating that +you changed the files and the date of any change. + +* b) You must cause any work that you distribute or publish, that in whole or in +part contains or is derived from the Program or any part thereof, to be licensed +as a whole at no charge to all third parties under the terms of this License. + +* c) If the modified program normally reads commands interactively when run, you +must cause it, when started running for such interactive use in the most +ordinary way, to print or display an announcement including an appropriate +copyright notice and a notice that there is no warranty (or else, saying that +you provide a warranty) and that users may redistribute the program under these +conditions, and telling the user how to view a copy of this License. (Exception: +if the Program itself is interactive but does not normally print such an +announcement, your work based on the Program is not required to print an +announcement.) + +* d) If the Program as you received it is intended to interact with users +through a computer network and if, in the version you received, any user +interacting with the Program was given the opportunity to request transmission +to that user of the Program's complete source code, you must not remove that +facility from your modified version of the Program or work based on the Program, +and must offer an equivalent opportunity for all users interacting with your +Program through a computer network to request immediate transmission by HTTP of +the complete source code of your modified version or other derivative work. + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Program, and can be reasonably +considered independent and separate works in themselves, then this License, and +its terms, do not apply to those sections when you distribute them as separate +works. But when you distribute the same sections as part of a whole which is a +work based on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the entire whole, +and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise the +right to control the distribution of derivative or collective works based on the +Program. + +In addition, mere aggregation of another work not based on the Program with the +Program (or with a work based on the Program) on a volume of a storage or +distribution medium does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based on it, under Section +2) in object code or executable form under the terms of Sections 1 and 2 above +provided that you also do one of the following: + +* a) Accompany it with the complete corresponding machine-readable source code, +which must be distributed under the terms of Sections 1 and 2 above on a medium +customarily used for software interchange; or, + +* b) Accompany it with a written offer, valid for at least three years, to give +any third party, for a charge no more than your cost of physically performing +source distribution, a complete machine-readable copy of the corresponding +source code, to be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange; or, + +* c) Accompany it with the information you received as to the offer to +distribute corresponding source code. (This alternative is allowed only for +noncommercial distribution and only if you received the program in object code +or executable form with such an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all the +source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and installation +of the executable. However, as a special exception, the source code distributed +need not include anything that is normally distributed (in either source or +binary form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component itself +accompanies the executable. + +If distribution of executable or object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the source code +from the same place counts as distribution of the source code, even though third +parties are not compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except as +expressly provided under this License. Any attempt otherwise to copy, modify, +sublicense or distribute the Program is void, and will automatically terminate +your rights under this License. However, parties who have received copies, or +rights, from you under this License will not have their licenses terminated so +long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. +However, nothing else grants you permission to modify or distribute the Program +or its derivative works. These actions are prohibited by law if you do not +accept this License. Therefore, by modifying or distributing the Program (or any +work based on the Program), you indicate your acceptance of this License to do +so, and all its terms and conditions for copying, distributing or modifying the +Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), +the recipient automatically receives a license from the original licensor to +copy, distribute or modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of the +rights granted herein. You are not responsible for enforcing compliance by third +parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent infringement +or for any other reason (not limited to patent issues), 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 distribute so as to satisfy simultaneously your +obligations under this License and any other pertinent obligations, then as a +consequence you may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by all those +who receive copies directly or indirectly through you, then the only way you +could satisfy both it and this License would be to refrain entirely from +distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply and the +section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or +other property right claims or to contest validity of any such claims; this +section has the sole purpose of protecting the integrity of the free software +distribution system, which is implemented by public license practices. Many +people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing to +distribute software through any other system and a licensee cannot impose that +choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain +countries either by patents or by copyrighted interfaces, the original copyright +holder who places the Program under this License may add an explicit +geographical distribution limitation excluding those countries, so that +distribution is permitted only in or among countries not thus excluded. In such +case, this License incorporates the limitation as if written in the body of this +License. + +9. Affero Inc. may publish revised and/or new versions of the Affero 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 +a version number of this License which applies to it and "any later version", +you have the option of following the terms and conditions either of that version +or of any later version published by Affero, Inc. If the Program does not +specify a version number of this License, you may choose any version ever +published by Affero, Inc. + +You may also choose to redistribute modified versions of this program under any +version of the Free Software Foundation's GNU General Public License version 3 +or higher, so long as that version of the GNU GPL includes terms and conditions +substantially equivalent to those of this license. +10. If you wish to incorporate parts of the Program into other free programs +whose distribution conditions are different, write to the author to ask for +permission. For software which is copyrighted by Affero, Inc., write to us; we +sometimes make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and of +promoting the sharing and reuse of software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL +ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE 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. diff --git a/agc_2-X/branches/agc_2.0.5/docs/LIST_SUGGESTIONS.txt b/agc_2-X/branches/agc_2.0.5/docs/LIST_SUGGESTIONS.txt new file mode 100644 index 00000000..85abd69b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/LIST_SUGGESTIONS.txt @@ -0,0 +1,213 @@ +PROCESS FOR LIST SUGGESTIONS FOR ROOM MANAGERS Started: 2008-07-14 + +This document goes over the process for making suggestions of what lists to use at what time in a special report linked from the vicidial Administration web site(vicidial/admin.php). + +The suggestions would group lists usage into eight 3-hour periods for each day according to server time. The actual number of 3-hour periods shown for each list would be restricted depending on the local call time scheme selected for the campaign and the area that the leads were present in. + +The list suggestion process would most likely not be real-time, although at companies with small lists that might be possible. Instead, a server process running after-hours will generate statistics and scores for each list for each of the 3-hour periods. Something like the following will be viewable after the stats have been run: + +LIST TIME TZ-DIAL% HA-SCORE SALE-SCORE +101 9AM-12PM 100 15 15 +101 12PM-3PM 100 25 35 * +101 3PM-6PM 100 35 30 +101 6PM-9PM 100 25 20 + +In the above example, the best time for a manager to call the list, for the highest rate of Human-Answered CONTACT, would be from 3-6PM. Or to maximixe SALEs they might want to call the list earlier at 12PM-3PM. the reason that you only see four 3-hour periods is that this specific list has only US Eastern time-zone leads in it and the campaign time scheme is set to 9AM-9PM so there is no possibility of calling past 9PM server time since the server is located in US Eastern Timezone, but a list with central or mountain time zone leads in it would show a fifth period(9PM-12AM) that would have score next to it(see example below). The Asterisk * is next to the time period that is happening right now, in the actual report that line would be highlighted with a different color. + +LIST TIME TZ-DIAL% HA-SCORE SALE-SCORE +102 9AM-12PM 67 20 15 +102 12PM-3PM 100 15 15 * +102 3PM-6PM 100 20 25 +102 6PM-9PM 100 15 10 +102 9PM-12AM 33 30 35 + +In this example you get some indication of how the TZ-DIAL % will work. In the real application it might be better to use some kind of graph or filled-in sections of the table that would indicate the time ranges and lead percentage covered in each of the time periods to give a better visual of when the leads are able to be dialed. + +There will also be the ability to see a comparison of the available lists for the current time period so that a manager can make a decision as to which of those lists to make active. + + +Factors to be taken into account by the scoring process: +- number of leads in the list +- number of leads in a callable time zone in the list +- number of sales and the sales ratio in each time period +- number of attempts by leads in the list in each time period +- the amount of dead leads(leads that cannot be called anymore) in the list +- the number of calls placed yesterday in the same time period +- the number of Human-Answered leads for each period + + + +Needed database changes: +!!! IMPORTANT !!! +THESE ARE FOR REFERENCE ONLY, DO NOT RUN THEM!!! + +ALTER TABLE vicidial_status_categories ADD sale_category ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_status_categories ADD dead_lead_category ENUM('Y','N') default 'N'; + +CREATE TABLE vicidial_lists_suggestions ( +list_id BIGINT(14) UNSIGNED PRIMARY KEY NOT NULL, +last_update_time DATETIME, +leads_count INT(9) UNSIGNED, +calls_count INT(9) UNSIGNED, +sales_count INT(9) UNSIGNED, +contacts_count INT(9) UNSIGNED, +period_1_dialable MEDIUMINT(7) UNSIGNED, +period_1_tz_dial_pct TINYINT(3), +period_1_calls MEDIUMINT(7) UNSIGNED, +period_1_sales MEDIUMINT(7) UNSIGNED, +period_1_contacts MEDIUMINT(7) UNSIGNED, +period_1_avg_attempts TINYINT(3) UNSIGNED, +period_1_calls_yesterday MEDIUMINT(7) UNSIGNED, +period_1_score_sale TINYINT(3), +period_1_score_contact TINYINT(3), +period_2_dialable MEDIUMINT(7) UNSIGNED, +period_2_tz_dial_pct TINYINT(3), +period_2_calls MEDIUMINT(7) UNSIGNED, +period_2_sales MEDIUMINT(7) UNSIGNED, +period_2_contacts MEDIUMINT(7) UNSIGNED, +period_2_avg_attempts TINYINT(3) UNSIGNED, +period_2_calls_yesterday MEDIUMINT(7) UNSIGNED, +period_2_score_sale TINYINT(3), +period_2_score_contact TINYINT(3), +period_3_dialable MEDIUMINT(7) UNSIGNED, +period_3_tz_dial_pct TINYINT(3), +period_3_calls MEDIUMINT(7) UNSIGNED, +period_3_sales MEDIUMINT(7) UNSIGNED, +period_3_contacts MEDIUMINT(7) UNSIGNED, +period_3_avg_attempts TINYINT(3) UNSIGNED, +period_3_calls_yesterday MEDIUMINT(7) UNSIGNED, +period_3_score_sale TINYINT(3), +period_3_score_contact TINYINT(3), +period_4_dialable MEDIUMINT(7) UNSIGNED, +period_4_tz_dial_pct TINYINT(3), +period_4_calls MEDIUMINT(7) UNSIGNED, +period_4_sales MEDIUMINT(7) UNSIGNED, +period_4_contacts MEDIUMINT(7) UNSIGNED, +period_4_avg_attempts TINYINT(3) UNSIGNED, +period_4_calls_yesterday MEDIUMINT(7) UNSIGNED, +period_4_score_sale TINYINT(3), +period_4_score_contact TINYINT(3), +period_5_dialable MEDIUMINT(7) UNSIGNED, +period_5_tz_dial_pct TINYINT(3), +period_5_calls MEDIUMINT(7) UNSIGNED, +period_5_sales MEDIUMINT(7) UNSIGNED, +period_5_contacts MEDIUMINT(7) UNSIGNED, +period_5_avg_attempts TINYINT(3) UNSIGNED, +period_5_calls_yesterday MEDIUMINT(7) UNSIGNED, +period_5_score_sale TINYINT(3), +period_5_score_contact TINYINT(3), +period_6_dialable MEDIUMINT(7) UNSIGNED, +period_6_tz_dial_pct TINYINT(3), +period_6_calls MEDIUMINT(7) UNSIGNED, +period_6_sales MEDIUMINT(7) UNSIGNED, +period_6_contacts MEDIUMINT(7) UNSIGNED, +period_6_avg_attempts TINYINT(3) UNSIGNED, +period_6_calls_yesterday MEDIUMINT(7) UNSIGNED, +period_6_score_sale TINYINT(3), +period_6_score_contact TINYINT(3), +period_7_dialable MEDIUMINT(7) UNSIGNED, +period_7_tz_dial_pct TINYINT(3), +period_7_calls MEDIUMINT(7) UNSIGNED, +period_7_sales MEDIUMINT(7) UNSIGNED, +period_7_contacts MEDIUMINT(7) UNSIGNED, +period_7_avg_attempts TINYINT(3) UNSIGNED, +period_7_calls_yesterday MEDIUMINT(7) UNSIGNED, +period_7_score_sale TINYINT(3), +period_7_score_contact TINYINT(3), +period_8_dialable MEDIUMINT(7) UNSIGNED, +period_8_tz_dial_pct TINYINT(3), +period_8_calls MEDIUMINT(7) UNSIGNED, +period_8_sales MEDIUMINT(7) UNSIGNED, +period_8_contacts MEDIUMINT(7) UNSIGNED, +period_8_avg_attempts TINYINT(3) UNSIGNED, +period_8_calls_yesterday MEDIUMINT(7) UNSIGNED, +period_8_score_sale TINYINT(3), +period_8_score_contact TINYINT(3) +); + +CREATE TABLE vicidial_lists_suggestion_log ( +list_id BIGINT(14) UNSIGNED NOT NULL, +campaign_id VARCHAR(20) NOT NULL, +log_datetime DATETIME NOT NULL, +leads_count INT(9) UNSIGNED, +calls_count INT(9) UNSIGNED, +sales_count INT(9) UNSIGNED, +contacts_count INT(9) UNSIGNED, +period_1_dialable MEDIUMINT(7) UNSIGNED, +period_1_tz_dial_pct TINYINT(3), +period_1_calls MEDIUMINT(7) UNSIGNED, +period_1_sales MEDIUMINT(7) UNSIGNED, +period_1_contacts MEDIUMINT(7) UNSIGNED, +period_1_avg_attempts TINYINT(3) UNSIGNED, +period_1_calls_yesterday MEDIUMINT(7) UNSIGNED, +period_1_score_sale TINYINT(3), +period_1_score_contact TINYINT(3), +period_2_dialable MEDIUMINT(7) UNSIGNED, +period_2_tz_dial_pct TINYINT(3), +period_2_calls MEDIUMINT(7) UNSIGNED, +period_2_sales MEDIUMINT(7) UNSIGNED, +period_2_contacts MEDIUMINT(7) UNSIGNED, +period_2_avg_attempts TINYINT(3) UNSIGNED, +period_2_calls_yesterday MEDIUMINT(7) UNSIGNED, +period_2_score_sale TINYINT(3), +period_2_score_contact TINYINT(3), +period_3_dialable MEDIUMINT(7) UNSIGNED, +period_3_tz_dial_pct TINYINT(3), +period_3_calls MEDIUMINT(7) UNSIGNED, +period_3_sales MEDIUMINT(7) UNSIGNED, +period_3_contacts MEDIUMINT(7) UNSIGNED, +period_3_avg_attempts TINYINT(3) UNSIGNED, +period_3_calls_yesterday MEDIUMINT(7) UNSIGNED, +period_3_score_sale TINYINT(3), +period_3_score_contact TINYINT(3), +period_4_dialable MEDIUMINT(7) UNSIGNED, +period_4_tz_dial_pct TINYINT(3), +period_4_calls MEDIUMINT(7) UNSIGNED, +period_4_sales MEDIUMINT(7) UNSIGNED, +period_4_contacts MEDIUMINT(7) UNSIGNED, +period_4_avg_attempts TINYINT(3) UNSIGNED, +period_4_calls_yesterday MEDIUMINT(7) UNSIGNED, +period_4_score_sale TINYINT(3), +period_4_score_contact TINYINT(3), +period_5_dialable MEDIUMINT(7) UNSIGNED, +period_5_tz_dial_pct TINYINT(3), +period_5_calls MEDIUMINT(7) UNSIGNED, +period_5_sales MEDIUMINT(7) UNSIGNED, +period_5_contacts MEDIUMINT(7) UNSIGNED, +period_5_avg_attempts TINYINT(3) UNSIGNED, +period_5_calls_yesterday MEDIUMINT(7) UNSIGNED, +period_5_score_sale TINYINT(3), +period_5_score_contact TINYINT(3), +period_6_dialable MEDIUMINT(7) UNSIGNED, +period_6_tz_dial_pct TINYINT(3), +period_6_calls MEDIUMINT(7) UNSIGNED, +period_6_sales MEDIUMINT(7) UNSIGNED, +period_6_contacts MEDIUMINT(7) UNSIGNED, +period_6_avg_attempts TINYINT(3) UNSIGNED, +period_6_calls_yesterday MEDIUMINT(7) UNSIGNED, +period_6_score_sale TINYINT(3), +period_6_score_contact TINYINT(3), +period_7_dialable MEDIUMINT(7) UNSIGNED, +period_7_tz_dial_pct TINYINT(3), +period_7_calls MEDIUMINT(7) UNSIGNED, +period_7_sales MEDIUMINT(7) UNSIGNED, +period_7_contacts MEDIUMINT(7) UNSIGNED, +period_7_avg_attempts TINYINT(3) UNSIGNED, +period_7_calls_yesterday MEDIUMINT(7) UNSIGNED, +period_7_score_sale TINYINT(3), +period_7_score_contact TINYINT(3), +period_8_dialable MEDIUMINT(7) UNSIGNED, +period_8_tz_dial_pct TINYINT(3), +period_8_calls MEDIUMINT(7) UNSIGNED, +period_8_sales MEDIUMINT(7) UNSIGNED, +period_8_contacts MEDIUMINT(7) UNSIGNED, +period_8_avg_attempts TINYINT(3) UNSIGNED, +period_8_calls_yesterday MEDIUMINT(7) UNSIGNED, +period_8_score_sale TINYINT(3), +period_8_score_contact TINYINT(3), +index (list_id), +index (campaign_id), +index (log_datetime) +); + + diff --git a/agc_2-X/branches/agc_2.0.5/docs/LOAD_BALANCING.txt b/agc_2-X/branches/agc_2.0.5/docs/LOAD_BALANCING.txt new file mode 100644 index 00000000..a3581fd9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/LOAD_BALANCING.txt @@ -0,0 +1,345 @@ +VICIDIAL - LOAD BALANCING setup. + +This document is meant to summarize the capabilities and setup of VICIDIAL in a multi-server environment. + +Why Load Balance? + +The primary reason to do load balancing, or clustering of multiple VICIDIAL servers, is to spread the calls taken in or the answered calls on an outbound campaign across all of the agents that are logged into a campaign no matter what server they are on. For instance, on an outbound campaign, you have 2 servers, server one has 20 agents logged in on a campaign and the other server(two) has 5 agents logged in on the same campaign. Lets say that the campaign is set to a dial_level of 3.0 so there are 60 active calls being placed on server one and 15 active calls being placed on server two. Then 23 of the calls on server one answer, meaning that there are three calls too many for the agents available on that server. Under a load-balancing-overflow setup, those three calls can travel over an IAX2 trunk directly to the agents on that server that are still available. This increased efficiency in both inbound and outbound environments as well as reducing on-hold times for customers and equalizing wait times for agents across all servers for a campaign. + +Another reason for load balancing is the ability to use cheaper hardware on the server side. It is much cheaper and more fault-tolerant to buy four P4 2.0GHz 1U servers for $800 a piece than it is to buy a single 4U quad Xeon 3.2GHz server. The four 1U servers will have more total capacity, can be easily scaled and if one fails you've only lost 25% of capacity instead of everything. This philosophy has serverd our call center very well over the last two years. + +As of release 2.0.2, a new script(AST_VDauto_dial_FILL.pl) allows for dial-out-only(no agents on the server) VICIDIAL servers as well as balance dialing where a server with available trunk lines can dial lines for another server that does not have enough lines to dial for it's dial_level. AST_VDauto_dial_FILL.pl script is only for multi-server systems and is started from new ADMIN_keepalive_ALL.pl script with option 7 in astguiclient.conf. + + + +How do I set up load balancing on my two server VICIDIAL setup? + +These steps are mostly taken directly from the SCRATCH_INSTALL document, but they are all put together here to give a better idea of what is needed all in one place. It is assumed that you already have VICIDIAL up and running on both servers. + +NOTE: In a multi-server setup you may want to have your database and web server on a separate machine from your Asterisk/VICIDIAL servers. Simply copy the web page directories to your new database/web server and set the /etc/astguiclient.conf files on your VICIDIAL servers to point to that new database server. You can also have several web servers(or even load-balancing web servers) if you have more than 70 seats in one installation you may want to do that if you are not using eaccelerator. For the web pages you just need to make sure the dbconnect.php files are configured for your database server. We have had 12 VICIDIAL servers and 2 web servers using a single database server with no problems. + +NOTE: at the bottom of this document are conf examples for a 3 server load balancing setup. + + +1. The VICIDIAL/Asterisk servers need to have all of the perl scripts and cron jobs installed on them, except these which only need to be on one of the servers: + - AST_VDhopper.pl (crontab) + - AST_cleanup_agent_log.pl (crontab) + - ADMIN_adjust_GMTnow_on_leads.pl (crontab) + - AST_DB_optimize.pl (crontab) + - AST_VDadapt.pl (defined in /etc/astguiclient.conf) + - AST_VDauto_dial_FILL.pl (defined in /etc/astguiclient.conf) + +2. The VARactive_keepalives variable in /etc/astguiclient.conf should have "5" and "7" on only ONE SERVER in your entire dialer setup, the other servers should not have 5 or 7 in that field. + # 1 - AST_update + # 2 - AST_send_listen + # 3 - AST_VDauto_dial + # 4 - AST_VDremote_agents + # 5 - AST_VDadapt (If multi-server system, this must only be on one server) + # 6 - FastAGI_log + # 7 - AST_VDauto_dial_FILL (only for multi-server, this must only be on one server) + +(NOTE: the install.pl script now has an option to generate the following settings and print them out to the screen so that you do not have to manually build them. ./install.pl --build_multiserver_conf) +3. The two servers need to be registered to each other as IAX2 friends: + SERVER ONE(ASTtest1-10.10.10.15) + iax.conf: + register => ASTtest1:test@10.10.10.16 + + [ASTtest2] + type=friend + accountcode=IAXtrunk2 + context=default + auth=plaintext + host=dynamic + permit=0.0.0.0/0.0.0.0 + secret=test + qualify=yes + + SERVER TWO(ASTtest2-10.10.10.16) + iax.conf: + register => ASTtest2:test@10.10.10.15 + + [ASTtest1] + type=friend + accountcode=IAXtrunk1 + context=default + auth=plaintext + host=dynamic + permit=0.0.0.0/0.0.0.0 + secret=test + qualify=yes + + +4. The two servers need to have wildcard extensions assigned to the other server in the dialplan: + ## NOTE: the "010*010*010*015" is the IP address of the server as defined in + the /etc/astguiclient.conf file + SERVER ONE(ASTtest1-10.10.10.15) + extensions.conf: + [globals] + TRUNKIAX2=IAX2/ASTtest1:test@10.10.10.16 + + [default] + exten => _010*010*010*015*.,1,Goto(default,${EXTEN:16},1) + exten => _010*010*010*016*.,1,Dial(${TRUNKIAX2}/${EXTEN:16},55,o) + + exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi) + exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi) + + SERVER TWO(ASTtest2-10.10.10.16) + extensions.conf: + [globals] + TRUNKIAX1=IAX2/ASTtest2:test@10.10.10.15 + + [default] + exten => _010*010*010*015*.,1,Dial(${TRUNKIAX1}/${EXTEN:16},55,o) + exten => _010*010*010*016*.,1,Goto(default,${EXTEN:16},1) + + exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi) + exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi) + +5. For BOTH servers the VDAD extens need to be setup there as well for the Load-Balance and Load-Balance-Overflow AGI scripts, as well as setting up the closer and inbound extens if needed(these should already be part of the default extensions.conf): + + ; VICIDIAL_auto_dialer transfer script Load Balance Overflow: + exten => 8367,1,Playback(sip-silence) + exten => 8367,2,AGI(agi://127.0.0.1:4577/call_log) + exten => 8367,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) + exten => 8367,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) + exten => 8367,5,Hangup + + ; VICIDIAL_auto_dialer transfer script Load Balanced: + exten => 8368,1,Playback(sip-silence) + exten => 8368,2,AGI(agi://127.0.0.1:4577/call_log) + exten => 8368,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) + exten => 8368,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) + exten => 8368,5,Hangup + + + ; Below are the parameters needed for the script to be run properly + ; 1. the method of call handling for the script: + ; - CID - CID received, add record with phone number + ; - CIDLOOKUP - Lookup CID to find record in whole system + ; - CIDLOOKUPRL - Restrict lookup to one list + ; - CIDLOOKUPRC - Restrict lookup to one campaign's lists + ; - CLOSER - Closer calls from VICIDIAL fronters + ; - ANI - ANI received, add record with phone number + ; - ANILOOKUP - Lookup ANI to find record in whole system + ; - ANILOOKUPRL - Restrict lookup to one list + ; - 3DIGITID - Enter 3 digit code to go to agent + ; - 4DIGITID - Enter 4 digit code to go to agent + ; - 5DIGITID - Enter 5 digit code to go to agent + ; - 10DIGITID - Enter 10 digit code to go to agent + ; 2. the method of searching for an available agent: + ; - LO - Load Balance Overflow only (priority to home server) + ; - LB - Load Balance total system + ; - SO - Home server only + ; 3. the full name of the IN GROUP to be used in vicidial for the inbound call + ; 4. the phone number that was called, for the log entry + ; 5. the callerID or lead_id of the person that called(usually overridden) + ; 6. the park extension audio file name if used + ; 7. the status of the call initially(usually not used) + ; 8. the list_id to insert the new lead under if it is new (and CID/ANI available) + ; 9. the phone dialing code to insert with the new lead if new (and CID/ANI available) + ; 10. the campaign_id to search within lists if CIDLOOKUPRC + ;inbound VICIDIAL calls: + exten => 1234,1,Answer ; Answer the line + exten => 1234,2,AGI(agi-VDAD_ALL_inbound.agi,CID-----LB-----INB-----7274515134-----Closer-----park----------999-----1-----OUTB) + exten => 1234,3,Hangup + + ; inbound VICIDIAL transfer calls [can arrive through PRI T1 crossover, IAX or SIP channel] + exten => _90009.,1,Answer ; Answer the line + exten => _90009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1) + exten => _90009.,3,Hangup + exten => _990009.,1,Answer ; Answer the line + exten => _990009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1) + exten => _990009.,3,Hangup + + +6. Reload both Asterisk servers and for outbound change the VDAD exten in the campaign detail screens to 8367 or 8368 and kill the AST_VDauto_dial.pl scripts on both servers so they can restart and you can now look at the AST_timeonVDADall.php page(per campaign time-on-VDAD available from the STATS and REPORTS link on the vicidial admin screen) that will allo you to see the server_ip of the agent and the server_ip of the call per campaign across all campaigns. + +If you have any questions or problems please post to the astguiclient-users list(link available on the project website) + +7. For multi-server VICIDIAL/astGUIclient installations these cron scripts only need to be set up and run on one of the servers: + - AST_VDhopper.pl (crontab) + - AST_cleanup_agent_log.pl (crontab) + - ADMIN_adjust_GMTnow_on_leads.pl (crontab) + - AST_DB_optimize.pl (crontab) + - AST_VDadapt.pl (defined in /etc/astguiclient.conf) + - AST_VDauto_dial_FILL.pl (defined in /etc/astguiclient.conf) + +8. On all servers but one you should DELETE the following line from your extensions.conf: + ; prompt recording AGI script, ID is 4321 + exten => 8167,1,Answer + exten => 8167,2,AGI(agi-record_prompts.agi,wav-----720000) + exten => 8167,3,Hangup + exten => 8168,1,Answer + exten => 8168,2,AGI(agi-record_prompts.agi,gsm-----720000) + exten => 8168,3,Hangup + This should help to prevent overwriting of prompts that are copied over from the one server that is used to do prompt creation. + Or you can simply redirect to the server that does have the recordings on it: + exten => 8167,1,Dial(${TRUNKIAX2}/${EXTEN},55,o) + exten => 8168,1,Dial(${TRUNKIAX2}/${EXTEN},55,o) + +9. On all servers but one you should consider redirecting voicemail direct calls to a single server: + Change this: + exten => _85026666666666.,1,Wait(1) + exten => _85026666666666.,2,Voicemail(${EXTEN:14}|u) + exten => _85026666666666.,3,Hangup + To something like this: + exten => _85026666666666.,1,Dial(${TRUNKIAX2}/${EXTEN},55,o) + + Change this: + exten => 8500,1,VoicemailMain + exten => 8500,2,Goto(s,6) + To something like this: + exten => 8500,1,Dial(${TRUNKIAX2}/${EXTEN},55,o) + + Change this: + exten => 8501,1,VoicemailMain(s${CALLERIDNUM}) + exten => 8501,2,Hangup + To something like this: + exten => 8501,1,Dial(${TRUNKIAX2}/${EXTEN},55,o) + +THREE VICIDIAL SERVER LOAD BALANCING SETUP: + +The only steps that are different as you add more load-balanced servers are steps 2 and 3: + +3. The three servers need to be registered to each other as IAX2 friends: + SERVER ONE(ASTtest1-10.10.10.15) + iax.conf: + register => ASTtest1:test@10.10.10.16 + register => ASTtest1:test@10.10.10.17 + + [ASTtest2] + type=friend + accountcode=IAXtrunk2 + context=default + auth=plaintext + host=dynamic + permit=0.0.0.0/0.0.0.0 + secret=test + qualify=yes + + [ASTtest3] + type=friend + accountcode=IAXtrunk3 + context=default + auth=plaintext + host=dynamic + permit=0.0.0.0/0.0.0.0 + secret=test + qualify=yes + + SERVER TWO(ASTtest2-10.10.10.16) + iax.conf: + register => ASTtest2:test@10.10.10.15 + register => ASTtest2:test@10.10.10.17 + + [ASTtest1] + type=friend + accountcode=IAXtrunk1 + context=default + auth=plaintext + host=dynamic + permit=0.0.0.0/0.0.0.0 + secret=test + qualify=yes + + [ASTtest3] + type=friend + accountcode=IAXtrunk3 + context=default + auth=plaintext + host=dynamic + permit=0.0.0.0/0.0.0.0 + secret=test + qualify=yes + + SERVER THREE(ASTtest3-10.10.10.17) + iax.conf: + register => ASTtest3:test@10.10.10.15 + register => ASTtest3:test@10.10.10.16 + + [ASTtest1] + type=friend + accountcode=IAXtrunk1 + context=default + auth=plaintext + host=dynamic + permit=0.0.0.0/0.0.0.0 + secret=test + qualify=yes + + [ASTtest2] + type=friend + accountcode=IAXtrunk2 + context=default + auth=plaintext + host=dynamic + permit=0.0.0.0/0.0.0.0 + secret=test + qualify=yes + + +4. The three servers need to have wildcard extensions assigned to the other server in the dialplan: + SERVER ONE(ASTtest1-10.10.10.15) + extensions.conf: + [globals] + TRUNKIAX2=IAX2/ASTtest1:test@10.10.10.16 + TRUNKIAX3=IAX2/ASTtest1:test@10.10.10.17 + + [default] + exten => _010*010*010*015*.,1,Goto(default,${EXTEN:16},1) + exten => _010*010*010*016*.,1,Dial(${TRUNKIAX2}/${EXTEN:16},55,o) + exten => _010*010*010*017*.,1,Dial(${TRUNKIAX3}/${EXTEN:16},55,o) + + exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi) + exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi) + + SERVER TWO(ASTtest2-10.10.10.16) + extensions.conf: + [globals] + TRUNKIAX1=IAX2/ASTtest2:test@10.10.10.15 + TRUNKIAX3=IAX2/ASTtest2:test@10.10.10.17 + + [default] + exten => _010*010*010*015*.,1,Dial(${TRUNKIAX1}/${EXTEN:16},55,o) + exten => _010*010*010*016*.,1,Goto(default,${EXTEN:16},1) + exten => _010*010*010*017*.,1,Dial(${TRUNKIAX3}/${EXTEN:16},55,o) + + exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi) + exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi) + + exten => 8167,1,Dial(${TRUNKIAX1}/${EXTEN},55,o) + exten => 8168,1,Dial(${TRUNKIAX1}/${EXTEN},55,o) + exten => _85026666666666.,1,Dial(${TRUNKIAX1}/${EXTEN},55,o) + exten => 8500,1,Dial(${TRUNKIAX1}/${EXTEN},55,o) + exten => 8501,1,Dial(${TRUNKIAX1}/${EXTEN},55,o) + + SERVER THREE(ASTtest3-10.10.10.17) + extensions.conf: + [globals] + TRUNKIAX1=IAX2/ASTtest2:test@10.10.10.15 + TRUNKIAX2=IAX2/ASTtest2:test@10.10.10.16 + + [default] + exten => _010*010*010*015*.,1,Dial(${TRUNKIAX1}/${EXTEN:16},55,o) + exten => _010*010*010*016*.,1,Dial(${TRUNKIAX2}/${EXTEN:16},55,o) + exten => _010*010*010*017*.,1,Goto(default,${EXTEN:16},1) + + exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi) + exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi) + + exten => 8167,1,Dial(${TRUNKIAX1}/${EXTEN},55,o) + exten => 8168,1,Dial(${TRUNKIAX1}/${EXTEN},55,o) + exten => _85026666666666.,1,Dial(${TRUNKIAX1}/${EXTEN},55,o) + exten => 8500,1,Dial(${TRUNKIAX1}/${EXTEN},55,o) + exten => 8501,1,Dial(${TRUNKIAX1}/${EXTEN},55,o) + + + +Example Audio Monitoring of Load Balancing agents on other servers: + +exten => _589XXX,1,Goto(default,8600${EXTEN:3},1) +exten => _689XXX,1,Dial(${TRUNKIAX1}/08600${EXTEN:3},55,o) +exten => _789XXX,1,Dial(${TRUNKIAX2}/08600${EXTEN:3},55,o) +exten => _08600XXX,1,Dial(${TRUNKblind}/6${EXTEN:1},55,To) + diff --git a/agc_2-X/branches/agc_2.0.5/docs/NON-AGENT_API.txt b/agc_2-X/branches/agc_2.0.5/docs/NON-AGENT_API.txt new file mode 100644 index 00000000..e7f87e25 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/NON-AGENT_API.txt @@ -0,0 +1,112 @@ +NON-AGENT API DOCUMENT Started: 2008-07-24 + +This document describes the functions of an API(Application Programming Interface) +for all functions NOT relating to the VICIDIAL Agent screen. This functionality +will be rather limited at first and will be built upon as critical functions are +identified and programmed into it. + +There is also a new agent API script, for more information on that, please read +the AGENT_API.txt document. + + + + +New scripts: +/vicidial/non_agent_api.php - the script that is accessed to execute commands + + + + +API Functions: ('function' variable) + +NOTE: Just as with the Agent API, the non-agent API requires the user and pass of a +valid api-enabled vicidial_users account to execute actions. + + + +-------------------------------------------------------------------------------- +version - shows version and build of the API, along with the date/time + +Example URL strings for API calls: +http://server/vicidial/non_agent_api.php?function=version + +Example responses: +VERSION: 2.0.5-4|BUILD: 80910-0020|DATE: 2008-09-10 00:26:43|EPOCH: 1221020803 + + + +-------------------------------------------------------------------------------- +add_lead - adds a new lead to the vicidial_list table with several fields and options + +NOTE: api user for this function must have modify_leads set to 1 + +REQUIRED FIELDS- +phone_number - must be all numbers, 6-16 digits +phone_code - must be all numbers, 1-4 digits, defaults to 1 if not set +list_id - must be all numbers, 3-12 digits, defaults to 999 if not set +source - description of what originated the API call (maximum 20 characters) + +SETTINGS FIELDS- +dnc_check - Y or N, default is N +campaign_dnc_check - Y or N, default is N +campaign_id - 2-8 Character campaign ID, required if using campaign_dnc_check +add_to_hopper - Y or N, default is N +hopper_priority - 99 to -99, the higher number the higher priority, default is 0 +hopper_local_call_time_check - Y or N, default is N. Validate the local call time before inserting lead in the hopper + +(for fields with spaces in the values, you can replace the space with a plus + sign[address, city, first_name, etc...]) +OPTIONAL FIELDS- +vendor_lead_code - 1-20 characters +source_id - 1-50 characters +gmt_offset_now - overridden by auto-lookup of phone_code and area_code portion of phone number if applicable +title - 1-4 characters +first_name - 1-30 characters +middle_initial - 1 character +last_name - 1-30 characters +address1 - 1-100 characters +address2 - 1-100 characters +address3 - 1-100 characters +city - 1-50 characters +state - 2 characters +province - 1-50 characters +postal_code - 1-10 characters +country_code - 3 characters +gender - U, M, F (Undefined, Male, Female) - defaults to 'U' +date_of_birth - YYYY-MM-DD +alt_phone - 1-12 characters +email - 1-70 characters +security_phrase - 1-100 characters +comments - 1-255 characters +multi_alt_phones - 5-1024 characters (see examples for more info) + + +Multi-ALT-Phones format: + +7275551212_1_work!7275551213_1_sister+house!1234567890_1_neighbor + +The multi-alt-phones field is formatted as a field of phone-number/phone-code/phone-note set of data(phone code and alt_note are both optional and the phone code can be overridden by the force phone code flag). The record delimiter is an exclamation point with the optional phone code and note delimited within the record by an underscore character _. + + +Example URL strings for API calls: +http://server/vicidial/non_agent_api.php?source=test&user=6666&pass=1234&function=add_lead&phone_number=7275551111 + +http://server/vicidial/non_agent_api.php?source=test&user=6666&pass=1234&function=add_lead&phone_number=7275551212&phone_code=1&list_id=999&dnc_check=N&first_name=Bob&last_name=Wilson + +http://server/vicidial/non_agent_api.php?source=test&user=6666&pass=1234&function=add_lead&phone_number=7275551111&phone_code=1&list_id=999&dnc_check=N&first_name=Bob&last_name=Wilson&add_to_hopper=Y&hopper_local_call_time_check=Y + +http://server/vicidial/non_agent_api.php?source=test&user=6666&pass=1234&function=add_lead&phone_number=7275551111&phone_code=1&list_id=999&dnc_check=N&campaign_dnc_check=Y&campaign_id=TESTCAMP&first_name=Bob&last_name=Wilson&address1=1234+Main+St.&city=Chicago+Heights&state=IL&add_to_hopper=Y&hopper_local_call_time_check=Y&multi_alt_phones=7275551212_1_work!7275551213_1_sister+house!1234567890_1_neighbor + + +Example responses: +SUCCESS: add_lead LEAD HAS BEEN ADDED - 7275551111|6666|999|193715|-4 +NOTICE: add_lead ADDED TO HOPPER - 7275551111|6666|193715|1677922 + +SUCCESS: add_lead LEAD HAS BEEN ADDED - 7275551111|6666|999|193716|-4 +NOTICE: add_lead MULTI-ALT-PHONE NUMBERS LOADED - 3|6666|193716 +NOTICE: add_lead NOT ADDED TO HOPPER, OUTSIDE OF LOCAL TIME - 7275551111|6666|193716|-4|0 + +ERROR: add_lead INVALID PHONE NUMBER - 72755|6666 + +ERROR: add_lead USER DOES NOT HAVE PERMISSION TO ADD LEADS TO THE SYSTEM - 6666|0 + +ERROR: NO FUNCTION SPECIFIED diff --git a/agc_2-X/branches/agc_2.0.5/docs/OUTBOUND_LIST_ORDERING.txt b/agc_2-X/branches/agc_2.0.5/docs/OUTBOUND_LIST_ORDERING.txt new file mode 100644 index 00000000..4c74307d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/OUTBOUND_LIST_ORDERING.txt @@ -0,0 +1,48 @@ +OUTBOUND LIST ORDERING AND MIXING 2007-05-16 + +** THIS NEW OPTIONAL LIST ORDERING FEATURE IS PLANNED FOR THE 2.0.4 RELEASE ** + +This document will outline the new optional feature within VICIDIAL outbound dialing that will allow for both list ordering and mixing while dialing outbound vicidial campaigns. + + + +The Agent Side: +Nothing changes + + + +The Admin Side: +The lists used in a VICIDIAL campaign will be moved to a different tab in the Campaign Modification screen to allow for easier quick modification of the lists used and their order and mixing percentage. Also, a new field will be added to vicidial_campaigns table and a new vicidial_campaigns_list_mix table will be created to store the information for list ordering and mixing: + +ALTER TABLE vicidial_campaigns ADD list_order_mix VARCHAR(20) default 'DISABLED'; + + CREATE TABLE vicidial_campaigns_list_mix ( +vcl_id VARCHAR(20) PRIMARY KEY NOT NULL, +vcl_name VARCHAR(50), +campaign_id VARCHAR(8), +list_mix_container TEXT, +mix_method ENUM('EVEN_MIX','IN_ORDER','RANDOM') default 'EVEN_MIX', +status ENUM('ACTIVE','INACTIVE') default 'INACTIVE', +index (campaign_id) +); + +The list_mix field would be a container for the following parameters: +list_id|order|percent|statuses|:list_id|order|percent|statuses|:... +for example: +101|1|40| A B NA -|:102|2|25| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -| +The percentages always have to add up to 100, and the lists all have to be active and set to the campaign for the order mix entry to be Activated. + +campaign hopper_level must be at least 100 when in list-mix-mode + +No more than 10 lists can be in a single list mix record + +List orders with "2nd NEW, 3rd NEW and 4th NEW" are ignored, and only DOWN COUNT is used + + + +The Server Side: +The AST_VDhopper.pl script will need to be changed to use the new order mix to grab and order the leads for a campaign. This will involve checking if the list_order_mix is set to DISABLED or not, and if it is then it will proceed as it currently does. If it does not, it will grab the vicidial_campaigns_list_mix record that matches the list_order_mix and parse through it's lists. Then it will do a SELECT for each of the lists and mix all of the leads together using the proper mix_method. + + + +MORE TO COME... diff --git a/agc_2-X/branches/agc_2.0.5/docs/PERFORMANCE_TESTING.txt b/agc_2-X/branches/agc_2.0.5/docs/PERFORMANCE_TESTING.txt new file mode 100644 index 00000000..56da3108 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/PERFORMANCE_TESTING.txt @@ -0,0 +1,136 @@ +PERFORMANCE TESTING OF A VICIDIAL SERVER 2008-03-31 + + +OVERVIEW: + +This document goes over the setup of a VICIDIAL/Asterisk server that you are testing, and the control Asterisk server that will be taking the calls from the serer being tested. + +It is very difficult to realistically performance test a VICIDIAL server not in production because of the random-ness of call center operations. + +How this process works is that multiple remote agents are activated and calls are placed from the server being tested to a control server that will take those calls and send various signals and play various audio files so that the randomness of outbound dialing is simulated. + +The test server and the control server(s) need to be connected through either crossover T1 cables, SIP trunks or IAX trunks. + +It is important that there are no live VICIDIAL agents or calls happening on this server when performance testing is enabled. + +If you want pretty server performance graphics you need to make sure the server record has performance logging enabled. + + NOTE: as of release 2.0.4.1 Performance testing extensions are loaded in the default extensions.conf and the "loop" IAX trunk is enabled for the server to send calls back to itself, making performance testing on a default install of VICIDIAL much easier. + +EXAMPLE TESTING SCENARIO: + +For this test below we will be placing calls out over crossover T1 cables to other Asterisk servers and we will be attempting to simulate agents logging in over SIP phones to meetme rooms on the test server. The agent connections will actually be a six(6) hour loop of on-hold-music to simulate voice(the conf.gsm file). This will be on one of the control servers so simulate true SIP phone agent connections to meetme rooms on the test server. + +When setting up the remote agents record we will use 999999999999(twelve nines) as the dialplan number. This is a special flag in the remote agents handling script that will give a different session_id to each remote agent and will place a call from each of those sessions(meetme rooms) to the 999999999999 extension that should be setup to call the on-hold-music on the control server over SIP trunk. + +We will also be using a special list of phone numbers to call so that we are sure that we do not place any real phone calls. The special list is available in the extras directory and is called: performance_test_leads.txt + +In the control server you will need the following in your extensions.conf: + +exten => _999XXXXXX1,1,Answer +exten => _999XXXXXX1,2,Wait(2) +exten => _999XXXXXX1,3,Playback(beep) +exten => _999XXXXXX1,4,Hangup + +exten => _999XXXX112,1,Wait(8) +exten => _999XXXX112,2,Answer +exten => _999XXXX112,3,Playback(demo-instruct) +exten => _999XXXX112,4,Playback(demo-instruct) +exten => _999XXXX112,5,Hangup + +exten => _999XXXXXX2,1,Wait(8) +exten => _999XXXXXX2,2,Answer +exten => _999XXXXXX2,3,Playback(demo-instruct) +exten => _999XXXXXX2,4,Hangup + +exten => _999XXXXXX3,1,SetVar(PRI_CAUSE=1) +exten => _999XXXXXX3,2,Hangup + +exten => _999XXXXXX4,1,SetVar(PRI_CAUSE=27) +exten => _999XXXXXX4,2,Hangup + +exten => _999XXXXXX5,1,Wait(60) +exten => _999XXXXXX5,2,Hangup + +exten => _999XXXXXX6,1,Wait(10) +exten => _999XXXXXX6,2,Answer +exten => _999XXXXXX6,3,Playback(demo-instruct) +exten => _999XXXXXX6,4,Hangup + +exten => _999XXXXXX7,1,Wait(12) +exten => _999XXXXXX7,2,Answer +exten => _999XXXXXX7,3,Playback(demo-enterkeywords) +exten => _999XXXXXX7,4,Hangup + +exten => _999XXXXXX8,1,SetVar(PRI_CAUSE=17) +exten => _999XXXXXX8,2,Hangup + +exten => _999XXXXXX9,1,Wait(6) +exten => _999XXXXXX9,2,Answer +exten => _999XXXXXX9,3,Playback(demo-abouttotry) +exten => _999XXXXXX9,4,Hangup + +exten => _999XXXXXX0,1,Wait(5) +exten => _999XXXXXX0,2,Answer +exten => _999XXXXXX0,3,Playback(vm-goodbye) +exten => _999XXXXXX0,4,Hangup + +exten => 99999999999,1,Answer +exten => 99999999999,2,Playback(conf) +exten => 99999999999,3,Playback(conf) +exten => 99999999999,4,Playback(conf) +exten => 99999999999,5,Playback(conf) +exten => 99999999999,6,Playback(conf) +exten => 99999999999,7,Playback(conf) +exten => 99999999999,8,Playback(conf) +exten => 99999999999,9,Playback(conf) +exten => 99999999999,10,Playback(conf) +exten => 99999999999,11,Playback(conf) +exten => 99999999999,12,Playback(conf) +exten => 99999999999,13,Playback(conf) +exten => 99999999999,14,Hangup + + +In the test server you will need the following in your extensions.conf: + +[globals] +TESTTRUNK = Zap/g2 +TESTSIPTRUNK = SIP/VICItest:test@10.10.10.16:5060 + +[default] +exten => _91999NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91999NXXXXXX,2,Dial(${TESTTRUNK}/${EXTEN:2},,tTo) +exten => _91999NXXXXXX,3,Hangup + +exten => 999999999999,1,Answer +exten => 999999999999,2,Dial(${TESTSIPTRUNK}/${EXTEN:1},,tTo) +exten => 999999999999,2,Hangup + + +In the sip.conf file of the test server: +register => ASTtest2:test@10.10.10.16:5060 + +[VICItest] +disallow=all +allow=ulaw +type=friend +username=VICItest +secret=test +host=dynamic +dtmfmode=inband +defaultip=10.10.10.16 +qualify=1000 + + +In the sip.conf file of the control server: + +[VICItest] +disallow=all +allow=ulaw +type=friend +username=VICItest +secret=test +host=dynamic +dtmfmode=inband +defaultip=10.10.10.16 +qualify=1000 diff --git a/agc_2-X/branches/agc_2.0.5/docs/PREDICTIVE.txt b/agc_2-X/branches/agc_2.0.5/docs/PREDICTIVE.txt new file mode 100644 index 00000000..6eadcb23 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/PREDICTIVE.txt @@ -0,0 +1,132 @@ +PREDICTIVE Summary and Overview 2006-08-29 + +*** PREDICTIVE OUTBOUND CALLING FUNCTIONALITY WAS ADDED IN THE 2.0.1 RELEASE *** + +This will outline the methods used to predictively dial outbound calling +campaigns in VICIDIAL with the ADAPT dial methods. This is a description of the +first versions of the Predictive/Adaptive dialing algorithms used in VICIDIAL. +As the need arises we will create more versions of different algorithms in the +future. + + +The gathering of data to analyze: + +In order to properly analyze calling trends and adapt to the current list that +is being called we need to first gather a lot of data to analyze. + +The first set of data we want to gather is the recent queue and agent statistics +for each campaign. This information is gathered by the AST_VDauto_dial.pl script +as it runs through each loop every 2.5-3.0 seconds. This data is used only for +Blended CLOSER campaigns doing Predictive dialing and for the timeonVDADall +realtime campaign reports. The data gathered in this script are all averages of +the last 15 and 60 seconds of agent and queue activity: + 1. The average number of agents that are logged into the campaign across +one minute + 2. The average number of calls waiting to be transferred to an agent +across one minute + 3. The average number of agents waiting for calls across one minute + 4. The difference between the waiting calls and ready agents across one +minute + This number if positive means that on average more agents were +waiting for calls than calls waiting for agents in the last +minute for that campaign. + +The second set of data to gather is dropped call information across several +intervals as well as faster agent and queue call statistics. This information +will be gathered by the actual AST_VDadapt.pl script that will also be the +script actually changing the dial level when the predictive/adaptive dial method +is activated. +Once a second this script will gather: + 1. The average number of agents that are logged into the campaign for +the last 15 seconds + 2. The average number of calls waiting to be transferred to an agent for +the last 15 seconds + 3. The average number of agents waiting for calls for the last 15 +seconds + 4. The difference between the waiting calls and ready agents for the +last 15 seconds +Once every 15 seconds this script will: + 1. Calculate the average dial level differential for the last 15 seconds + 2. Apply the campaign's adaptive_dl_diff_target + 3. Apply the campaign's adaptive_intensity setting + 4. Calculate the new desired dial_level + 5. Check the drop rate cap method(HARD_LIMIT, TAPERED, AVERAGE) + 6. If drop rate is over the limit the proper equation is used to figure +out new dial_level difference. + 7. Change the dial level for the campaign to the new suggested dial +level +Once a minute this script will gather: + 1. Total drops and total calls for the campaign since midnight + 2. Total drops and total calls for the campaign in the past hour + 3. Total drops and total calls for the campaign in the past half hour + 4. Total drops and total calls for the campaign in the past five minutes + 5. Total drops and total calls for the campaign in the past one minute + Also, the drop percentage is calculated and stored in the +vicidial_campaign_stats table. + + +The settings in the campaign detail screen: + +Dial Method - This field is the way to define how dialing is to take place. If +MANUAL then the auto_dial_level will be locked at 0 unless Dial Method is +changed. If RATIO then the normal dialing a number of lines for Active agents. +ADAPT_HARD_LIMIT will dial predictively up to the dropped percentage and then +not allow aggressive dialing once the drop limit is reached until the percentage +goes down again. ADAPT_TAPERED allows for running over the dropped percentage in +the first half of the shift(as defined by call_time selected for campaign) and +gets more strict as the shift goes on. ADAPT_AVERAGE tries to maintain an +average or the dropped percentage not imposing hard limits as aggressively as +the other two methods. + +Auto Dial Level - This is where you set how many lines VICIDIAL should use per +active agent. zero 0 means auto dialing is off and the agents will click to dial +each number. Otherwise VICIDIAL will keep dialing lines equal to active agents +multiplied by the dial level to arrive at how many lines this campaign on each +server should allow. + +Available Only Tally - This field if set to Y will leave out INCALL and QUEUE +status agents when calculating the number of calls to dial when not in MANUAL +dial mode. Default is N. + +Drop Percentage Limit - This field is where you set the limit of the percentage +of dropped calls you would like while using an adaptive-predictive dial method, +not MANUAL or RATIO. Dropped calls percentage is measured out of the total +number of Answered calls for the campaign for the day. + +Maximum Adapt Dial Level - This field is where you set the limit of the limit to +the numbr of lines you would like dialed per agent while using an +adaptive-predictive dial method, not MANUAL or RATIO. This number can be higher +than the Auto Dial Level if your hardware will support it. Value must be a +positive number greater than one and can have decimal places Default 3.0. + +Latest Server Time - This field is only used by the ADAPT_TAPERED dial method. +You should enter in the hour and minute that you will stop calling on this +campaign, 2100 would mean that you will stop dialing this campaign at 9PM server +time. This allows the Tapered algorithm to decide how aggressively to dial by +how long you have until you will be finished calling. + +Adapt Intensity Modifier - This field is used to adjust the predictive intensity +either higher or lower. The higher a positive number you select, the greater the +dialer will increase the call pacing when it goes up and the slower the dialer +will decrease the call pacing when it goes down. The lower the negative number +you select here, the slower the dialer will increase the call pacing and the +faster the dialer will lower the call pacing when it goes down. Default is 0. +This field is not used by the MANUAL or RATIO dial methods. + +Dial Level Difference Target - This field is used to define whether you want to +target having a specific number of agents waiting for calls or calls waiting for +agents. For example if you would always like to have on average one agent free +to take calls immediately you would set this to -1, if you would like to target +always having one call on hold waiting for an agent you would set this to 1. +Default is 0. This field is not used by the MANUAL or RATIO dial methods. + + + +To use adaptive dialing you must have the ADMIN keepaliveAST_VDadapt.pl script +in your crontab running every minute: +### keepalive script for VICIDIAL predictive script +* * * * * /usr/share/astguiclient/ADMIN_keepalive_AST_VDadapt.pl + + +NOTE: With Predictive dialing, the dial_level will never drop below 1.0. + diff --git a/agc_2-X/branches/agc_2.0.5/docs/QC_PROCESS.txt b/agc_2-X/branches/agc_2.0.5/docs/QC_PROCESS.txt new file mode 100644 index 00000000..f53f14ef --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/QC_PROCESS.txt @@ -0,0 +1,256 @@ +QC(Quality Control) process flow 2008-01-03 + +** THIS QC FUNCTIONALITY PROSESS IS PLANNED FOR THE 2.0.5 RELEASE AND IS CURRENTLY IN DEVELOPMENT ** + +This will outline the process I have thought through for adding a Quality Assurance(QA) or Quality Control(QC) process to the VICIDIAL system. As the needs have changed for sponsor client and VICIDIAL has evolved since this functionality was first put into the planning stages, there have been several changes to how the QC process is going to be built. The objective is to add the following QC features to make VICIDIAL a more well-rounded product: +- ability to define which statuses are to be able to be QCd per campaign and inbound group(queue) +- ability to give agents permission to QC records for their allowable campaigns/inbound groups +- ability to log all access and changes to QCd records +- creation of some basic reports on QC activity + + + +The back-end process will work like this: +- ADMIN_keepalive_ALL.pl script will look for the 'Q' in the keepalive definition in /etc/astguiclient.conf file. If it is set, it will trigger a script (QC_gather_records.pl) to gather the QC records every five minutes(with a 15 second delay) since the last QC gathering as defined in the system_settings table qc_last_pull_time field(which is populated with four-hours-before the START time of the last QC-pull run to make sure to catch all potential long calls that may have ended). The time interval for this might be made configurable. +- There will also be an optional method of pulling QC records available to the QC managers that enables them to specify a date range to pull and insert records +- Selected records from the vicidial_list table (keyed on the the vicidial_log and vicidial_closer_log tables) will be taken and inserted into the vicidial_qc_list table. +- QC agents are then able to run their process starting with the earliest records for their selected campaign/inbound groups +- After QC agents have PASSed, FINISHed and COMMITted the QC records, then they can be exported + + + +Agent-side scripts: + - qc.php - the screen that agents log in to + - qc_query.php - the data processing script that handles most of the AJAX queries and IFRAME displays from qc.php + + +The QC agent will login to the new qc.php screen within the agc web directory. They will then have a screen very similar to the vicidial.php login screen(but in a different color) that will have a user/pass to fill in. Then when they login the QC agents with level of 1-3 will see a green screen similar to the vicidial.php inbound(CLOSER-type) screen that will show them their allowable qc inbound-groups and campaigns. The agent will then choose which in-groups and campaigns that they want to QC the records for and then they will submit and they will be logged-in to the QC system. QC agents with a qc_level of 4-5 can select to review first level reccords, review all 2nd level records, review only 2nd level changed-status or review 2nd level same-status records. QC agents with 6-7 qc_level can also have the option of entering a management screen showing more information on the QC system including committing QC records and links to QC reports. + +Upon login, they will be able to see the count of QC-able records and they can click on a link to bring up the next record to be QCd. + +Upon clicking on a link, the qc.php application will insert a record into the vicidial_qc_log to keep track of changes and other information on the qc record session. The customer and original call data will remain unaltered in the vicidial_qc_list table. + +The SCRIPTS tab and web form will both function exactly as they do in the vicidial.php application, with the exception that there will be added qc_web_form_address and qc_script options for both campaigns and inbound groups. There will also be an option to have any of these launched upon a new record appearing on the QC agent's screen. + +The qc.php user interface will be using AJAX as a method to bring up records and keep track of QC-agent activity and performance. + +An optional element is for a small audio frame be opened with each new customer record that will have an audio recording of the call that the QC agent can listen to. At this point in time, the best candidate for this is the Flourish Flash-based application(http://flourishplayer.sourceforge.net/) It is open source under a BSD-like license and is based on Adobe Flash, which currently seems to be much more lightweight and provides a much lower barrier to entry on most platforms than JAVA does. + + + +Each qc_user_level will have different permissions for the qc system: +1- modify nothing +2- modify nothing but status +3- modify everything +4- can check records of other QC agents +5- can view stats on qc system and unlock locked records from first level QC agents +6- can view finished and non-committed records and alter them and unlock locked records from first and second level QC agents +7- Manager level (can do anything including delete QC records) + +The the QC agent roles: +FIRST - first level review +SECOND_ALL - second level review all records +SECOND_CHANGED - second level review only changed-status records +SECOND_PASSED - second level review only unchanged-status records +THIRD - third level review and commit/clear +MANAGER - manager level actions + +The qc_stage is a record status within QC that tells what is going on with the record: +NEW - record has never been QCd +LOCK_1 - a QC agent is reviewing the record +PASS - QC agent has passed the record +LOCK_2 - a QC agent is reviewing the record for possible finishing +FINISH - record is ready to be processed +COMMIT - QC record is committed to the system and cannot be modified by anyone +DEAD - QC record is old and present for logs only, newer record has taken it's place + + +The Database Changes: +!!! IMPORTANT !!! +THESE ARE FOR REFERENCE ONLY, DO NOT RUN THEM!!! + +# This table contains the live session information for qc_agents + CREATE TABLE qc_agent_sessions ( +qc_session_id INT(9) UNSIGNED PRIMARY KEY NOT NULL, +user VARCHAR(20), +qc_user_level INT(2) default '0', +qc_role VARCHAR(20), +status ENUM('READY','INQC','PAUSED') default 'PAUSED', +qc_id INT(9) UNSIGNED NOT NULL, +lead_id INT(9) UNSIGNED NOT NULL, +selected_campaigns_groups TEXT, +qc_records_today SMALLINT(5) UNSIGNED default '0', +login_time DATETIME, +last_action_time DATETIME, +index (user), +index (last_action_time) +); + +# This table contains the stats information for qc_agents for today + CREATE TABLE qc_agent_stats ( +user VARCHAR(20), +campaign_group_id VARCHAR(20), +qc_records_today SMALLINT(5) UNSIGNED default '0', +last_record_time DATETIME, +last_record_finish DATETIME, +index (user), +index (campaign_group_id) +); + +# This table contains the log information for qc_agent logins +CREATE TABLE vicidial_user_qc_log ( +user VARCHAR(20), +event_date DATETIME, +selected_campaigns_groups TEXT, +index (user), +index (event_date) +); + +# For ability to restrict statuses by user_level per campaign/in-group + CREATE TABLE qc_allowed_statuses ( +status VARCHAR(6) PRIMARY KEY NOT NULL, +qc_user_level INT(2) default '0', +campaign_group_id VARCHAR(20) +); + +# This table contains the original lead and log information before changes + CREATE TABLE vicidial_qc_list ( +qc_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +qc_import_date DATETIME, +qc_stage VARCHAR(6) default 'NEW', +call_date DATETIME, +vicidial_id VARCHAR(20) UNIQUE NOT NULL, +campaign_group_id VARCHAR(20), +lead_id INT(9) UNSIGNED NOT NULL, +list_id BIGINT(14) UNSIGNED, +length_in_sec SMALLINT(5) UNSIGNED default '0', +status VARCHAR(6), +call_type VARCHAR(20), +term_reason ENUM('CALLER','AGENT','QUEUETIMEOUT','ABANDON','AFTERHOURS','NONE') default 'NONE', +modify_date TIMESTAMP, +qc_user VARCHAR(20), +user VARCHAR(20), +user_group VARCHAR(20), +fronter VARCHAR(20), +vendor_lead_code VARCHAR(20), +source_id VARCHAR(50), +phone_code VARCHAR(10), +phone_number VARCHAR(12), +title VARCHAR(4), +first_name VARCHAR(30), +middle_initial VARCHAR(1), +last_name VARCHAR(30), +address1 VARCHAR(100), +address2 VARCHAR(100), +address3 VARCHAR(100), +city VARCHAR(50), +state VARCHAR(2), +province VARCHAR(50), +postal_code VARCHAR(10), +country_code VARCHAR(3), +gender ENUM('M','F','U') default 'U', +date_of_birth DATE, +alt_phone VARCHAR(12), +email VARCHAR(70), +security_phrase VARCHAR(100), +comments VARCHAR(255), +index (vicidial_id), +index (lead_id), +index (phone_number) +); + +# This table contains the updated QC records + CREATE TABLE vicidial_qc_log ( +qc_log_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +qc_id INT(9) UNSIGNED NOT NULL, +qc_stage VARCHAR(6), +modify_date TIMESTAMP, +qc_user VARCHAR(20), +qc_status VARCHAR(6), +qc_code VARCHAR(8), +qc_date DATETIME, +qc_length_in_sec SMALLINT(5) UNSIGNED default '0', +qc_comments TEXT, +qc_altered ENUM('0','1') default '0', +status VARCHAR(6), +vendor_lead_code VARCHAR(20), +phone_code VARCHAR(10), +phone_number VARCHAR(12), +title VARCHAR(4), +first_name VARCHAR(30), +middle_initial VARCHAR(1), +last_name VARCHAR(30), +address1 VARCHAR(100), +address2 VARCHAR(100), +address3 VARCHAR(100), +city VARCHAR(50), +state VARCHAR(2), +province VARCHAR(50), +postal_code VARCHAR(10), +country_code VARCHAR(3), +gender ENUM('M','F','U') default 'U', +date_of_birth DATE, +alt_phone VARCHAR(12), +email VARCHAR(70), +security_phrase VARCHAR(100), +comments VARCHAR(255), +index (qc_id), +index (phone_number), +index (qc_stage) +); + + + + + + + + + +# Changes committed to upgrade sql file: + +# For the inbound groups table, some fields will need to be added to the vicidial_campaigns table: +ALTER TABLE vicidial_inbound_groups ADD qc_enabled ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_inbound_groups ADD qc_statuses TEXT; +ALTER TABLE vicidial_inbound_groups ADD qc_shift_id VARCHAR(20) default '24HRMIDNIGHT'; +ALTER TABLE vicidial_inbound_groups ADD qc_get_record_launch ENUM('NONE','SCRIPT','WEBFORM','QCSCRIPT','QCWEBFORM') default 'NONE'; +ALTER TABLE vicidial_inbound_groups ADD qc_show_recording ENUM('Y','N') default 'Y'; +ALTER TABLE vicidial_inbound_groups ADD qc_web_form_address VARCHAR(255); +ALTER TABLE vicidial_inbound_groups ADD qc_script VARCHAR(10); + +# Alter some earlier defined fields and populate with default values +ALTER TABLE vicidial_campaigns CHANGE campaign_shift_start_time qc_shift_id VARCHAR(20) default '24HRMIDNIGHT'; +ALTER TABLE vicidial_campaigns CHANGE campaign_shift_length qc_get_record_launch ENUM('NONE','SCRIPT','WEBFORM','QCSCRIPT','QCWEBFORM') default 'NONE'; +ALTER TABLE vicidial_campaigns CHANGE campaign_day_start_time qc_show_recording ENUM('Y','N') default 'Y'; +UPDATE vicidial_campaigns SET qc_shift_id='24HRMIDNIGHT'; +UPDATE vicidial_campaigns SET qc_get_record_launch='NONE'; +UPDATE vicidial_campaigns SET qc_show_recording='Y'; + +ALTER TABLE system_settings ADD qc_last_pull_time DATETIME; + +# qc codes to be used for statistics + CREATE TABLE vicidial_qc_codes ( +code VARCHAR(8) PRIMARY KEY NOT NULL, +code_name VARCHAR(30) +); + +# For the campaigns table, some fields will need to be added to the vicidial_campaigns table: +ALTER TABLE vicidial_campaigns ADD qc_enabled ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_campaigns ADD qc_statuses TEXT; +ALTER TABLE vicidial_campaigns ADD qc_lists TEXT; +ALTER TABLE vicidial_campaigns ADD campaign_shift_start_time VARCHAR(4) default '0900'; +ALTER TABLE vicidial_campaigns ADD campaign_shift_length VARCHAR(5) default '16:00'; +ALTER TABLE vicidial_campaigns ADD campaign_day_start_time VARCHAR(4) default '0100'; +ALTER TABLE vicidial_campaigns ADD qc_web_form_address VARCHAR(255); +ALTER TABLE vicidial_campaigns ADD qc_script VARCHAR(10); + +# For the in-groups/campaigns QC permissions, some fields will need to be added to the vicidial_user_groups table: +ALTER TABLE vicidial_user_groups ADD qc_allowed_campaigns TEXT; +ALTER TABLE vicidial_user_groups ADD qc_allowed_inbound_groups TEXT; + +# For the user QC permissions, some fields will need to be added to the vicidial_users table: +ALTER TABLE vicidial_users ADD qc_enabled ENUM('1','0') default '0'; +ALTER TABLE vicidial_users ADD qc_user_level INT(2) default '1'; +ALTER TABLE vicidial_users ADD qc_pass ENUM('1','0') default '0'; +ALTER TABLE vicidial_users ADD qc_finish ENUM('1','0') default '0'; +ALTER TABLE vicidial_users ADD qc_commit ENUM('1','0') default '0'; diff --git a/agc_2-X/branches/agc_2.0.5/docs/QUEUEMETRICS.txt b/agc_2-X/branches/agc_2.0.5/docs/QUEUEMETRICS.txt new file mode 100644 index 00000000..bdd9f373 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/QUEUEMETRICS.txt @@ -0,0 +1,212 @@ +VICIDIAL and QueueMetrics + +queue_log logging was added to VICIDIAL outbound auto calling as an option in the 2.0.3 release tree. + +This document goes over the features and needed changes made to VICIDIAL to enable it to insert activity records into the queue_log and other tables in MySQL that QueueMetrics uses for it's statistical analysis and reports. This document should not be taken as a HOWTO for proper installation steps to get QueueMetrics working. + +QueueMetrics is a closed-source, commercial product written by Loway Research in Italy. The writers of VICIDIAL do not support or warranty QueueMetrics or it's functionality with VICIDIAL in any way. + +This feature was added to the package at the request of several users of VICIDIAL and was achieved with some help from the creators of QueueMetrics(although all VICIDIAL code changes were done entirely by Matt Florell). + +This feature is functional on outbound manual dialing, auto dialing and inbound call handling as of 2008-06-30(SVN trunk 2.0.5). + +as of 2008-10-30, several validation and correction functions were added to the AST_cleanup_agent_log.pl script that is supposed to run every hour. These functions should clean up any queue_log errors that appear and cause QueueMetrics to display incorrect call totals. + +Another very important issue to note is that just like with VICIDIAL on multi-server systems, if QueueMetrics data is being generated on a multi-server system the data will be corrupted if all of the servers are not on the same time. I strongly recommend getting ntp working properly on all servers in a VICIDIAL or QueueMetrics server cluster. + + +Here is a short summary of the needed steps to install QueueMetrics on your system: + +First, get Sun Java SDK/JRE and install on your system. +NOTE: the GCJ java JRE available on most RedHat/Feroda/CentOS systems WILL NOT WORK + +download and install the Java jdk-1_5_0_11-linux-i586-rpm.bin from: +http://www.sun.com/software/communitysource/j2se/java2/index.xml + + +cd /usr/local +chmod 0777 jdk-1_5_0_11-linux-i586-rpm.bin +./jdk-1_5_0_11-linux-i586-rpm.bin +ls -l +rpm -i jdk-1_5_0_11-linux-i586.rpm +wget http://www.mirrorgeek.com/apache.org/tomcat/tomcat-5/v5.5.20/bin/apache-tomcat-5.5.20.tar.gz +gunzip apache-tomcat-5.5.20.tar.gz +tar xvf apache-tomcat-5.5.20.tar +ln -s apache-tomcat-5.5.20 tomcat +cd apache-tomcat-5.5.20 + +JAVA_HOME=/usr/java/jdk1.5.0_11/ +JAVA_OPTS="-Xms256M -Xmx512M" +JRE_HOME=/usr/java/jdk1.5.0_11/jre + +or + +JRE_HOME=/usr/java/jre1.6.0/ +JAVA_HOME=/usr/java/ +JAVA_OPTS="-Xms256M -Xmx512M" + +export JAVA_HOME +export JAVA_OPTS +export JRE_HOME +/usr/local/tomcat/bin/startup.sh + +At this point you should go here on your web browser to see if the tomcat installation went well: +http://ip-address:8080/ + +If it did, then you want to add the following lines to your /etc/rc.d/rc.local file so that tomcat will start up on boot: + JAVA_HOME=/usr/java/jdk1.5.0_11/ + JAVA_OPTS="-Xms256M -Xmx512M" + JRE_HOME=/usr/java/jdk1.5.0_11/jre + export JAVA_HOME + export JAVA_OPTS + export JRE_HOME + /usr/local/tomcat/bin/startup.sh + + + +cd /usr/local +*** download QueueMetrics and place it in /usr/local *** +gunzip QueueMetrics-1.1.tar.gz +tar xvf QueueMetrics-1.1.tar +mv queuemetrics-1.1 /usr/local/tomcat/webapps/qm +cd /usr/local/tomcat/webapps/qm/WEB_INF +wget http://mysql.mirrors.pair.com/Downloads/Connector-J/mysql-connector-java-3.0.10-stable.tar.gz +gunzip mysql-connector-java-3.0.10-stable.tar.gz +tar xvf mysql-connector-java-3.0.10-stable.tar +cp mysql-connector-java-3.0.10-stable/mysql-connector-java-3.0.10-stable-bin.jar ./lib/ + +At this point you should go here on your web browser to see if the tomcat installation went well: +http://ip-address:8080/qm + +If you see a QueueMetrics page(probably with many errors), then installation went well up to this point. + +You now need to add the database tables, configure the web.xml file and configuration.properties file for your system. + + + + + +Now to the database side of things. +First, give permissions to your user: + +GRANT ALL PRIVILEGES ON queuemetrics.* TO qm@'localhost' IDENTIFIED BY 'qm'; +GRANT ALL PRIVILEGES ON queuemetrics.* TO qm@'%' IDENTIFIED BY 'qm'; + +Second, the queue_log table: + +mysql> describe queue_log; ++------------------+------------------+------+-----+---------+-------+ +| Field | Type | Null | Key | Default | Extra | ++------------------+------------------+------+-----+---------+-------+ +| partition | char(20) | NO | MUL | NULL | | +| time_id | int(11) unsigned | NO | MUL | 0 | | +| call_id | char(30) | NO | MUL | NULL | | +| queue | char(30) | NO | | NULL | | +| agent | char(30) | NO | | NULL | | +| verb | char(30) | NO | | NULL | | +| data1 | char(30) | NO | | NULL | | +| data2 | char(30) | NO | | NULL | | +| data3 | char(30) | NO | | NULL | | +| data4 | char(30) | NO | | NULL | | +| serverid | varchar(10) | NO | | 0 | | +| fileid | int(10) unsigned | NO | | NULL | | +| recordid | int(10) unsigned | NO | | NULL | | +| unique_row_count | int(11) | NO | | NULL | | ++------------------+------------------+------+-----+---------+-------+ + +Use the following query to create a queue_log table in your asterisk database +to gather queue_log entries without doing a full QueueMetrics install: + + CREATE TABLE queue_log ( +partition VARCHAR(20) NOT NULL, +time_id INT(11) UNSIGNED NOT NULL default '0', +call_id VARCHAR(30) NOT NULL, +queue VARCHAR(30) NOT NULL, +agent VARCHAR(30) NOT NULL, +verb VARCHAR(30) NOT NULL, +data1 VARCHAR(30) NOT NULL, +data2 VARCHAR(30) NOT NULL, +data3 VARCHAR(30) NOT NULL, +data4 VARCHAR(30) NOT NULL, +serverid VARCHAR(10) NOT NULL default '0', +fileid INT(10) UNSIGNED, +recordid INT(10) UNSIGNED, +unique_row_count INT(10) UNSIGNED NOT NULL, +index(time_id), +index(call_id) + ); + + +partition: set to "P01" for the first partition, should match up with configuration.properties presets + +time_id: epoch, unixtime (seconds since 1970-01-01 00:00:00) [1170345603] + +call_id: Asterisk unique prepended with server_id field [1-1170345497.30369] + For VICIDIAL we will use the CallerIDname of the call to + +queue: the queue that call came into (we will use the campaign_id here) + +agent: we will use the user ID prepended by "agent/" [agent/6666] + +verbs: + +system actions - used by the AST_VDadapt.pl script when starting up + QUEUESTART + +agent actions - used by vicidial.php, vdc_db_query.php and AST_VDremote_agents.pl + AGENTLOGIN(channel) + AGENTLOGOFF(channel|logintime) + PAUSEALL + PAUSE + UNPAUSEALL + UNPAUSE + PAUSEREASON + +call actions before going to agent - used by agi-VDAD_ALL_inbound/outbound scripts + ENTERQUEUE(url|callerid) + CONNECT(holdtime) + EXITWITHTIMEOUT(position) + EXITWITHKEY(key|position) + TRANSFER(extension|context|holdtime|calltime) + +call actions before going to agent - used by AST_VDauto_dial.pl + ABANDON(position|origposition|waittime) + +call actions after going to agent - used by vicidial.php, vdc_db_query.php and FastAGI_log.pl + COMPLETEAGENT(holdtime|calltime|origposition) + COMPLETECALLER(holdtime|calltime|origposition) + CALLSTATUS(status) + + +not used in vicidial - + EXITEMPTY(position|origposition|waittime) + AGENTDUMP + + + + +data1: call termination codes, TBD + +data2: callerID or number called(sometimes prepended by DNIS) [3101-9015556189] + NOTE: the queuemetrics_eq_prepend field allows you to specify what + vicidial_list field you would like to prefend to the phone number on + ENTERQUEUE events + +data3: ?? + +data4: ?? + +serverid: number of the server the call came from [for VICIDIAL use the database system_settings.queuemetrics_log_id field] + + + + +On the vicidial database side of things, we will add the following columns to the system_settings table: +enable_queuemetrics_logging ENUM('0','1') default '0', +queuemetrics_server_ip VARCHAR(15), +queuemetrics_dbname VARCHAR(50), +queuemetrics_login VARCHAR(50), +queuemetrics_pass VARCHAR(50), +queuemetrics_url VARCHAR(255), +queuemetrics_log_id VARCHAR(10) default 'VIC' +queuemetrics_eq_prepend VARCHAR(255) default 'NONE' diff --git a/agc_2-X/branches/agc_2.0.5/docs/README.txt b/agc_2-X/branches/agc_2.0.5/docs/README.txt new file mode 100644 index 00000000..41119f30 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/README.txt @@ -0,0 +1,583 @@ ++------------------------------------------------------------------------------+ +| Asterisk GUI client - astguiclient - twenty-ninth public release 2.0.4 | +| created by astGUIclient group | +| project started 2003-10-06 http://sourceforge.net/projects/astguiclient/ | ++------------------------------------------------------------------------------+ + +This suite of programs is designed to work with the Asterisk Open-source PBX +(http://www.asterisk.org) as a cross-platform GUI client and the supporting +server side applications necessary for the features of the GUI application to +work with Asterisk. The client-side GUI apps are available as web pages running +AJAX scripted web pages(Firefox recommended) + +End-user Manuals for Agents and Managers are available from http://www.eflo.net + + ***** Description, Notes and Changelog below ***** + +Included in this distribution of the Asterisk GUI client are: +- agi/ - the Asterisk agi-bin files needed for astguiclient +- bin/ - the astGUIclient server-side perl script applications +- docs/ - astGUIclient installation and other documentation +- docs/conf_examples/ - example Asterisk conf files for astGUIclient +- extras/ - data files, sql files and other extra files needed for astGUIclient +- LANG_www/ - astGUIclient admin and user web pages translated into other languages +- sounds/ - Asterisk sounds needed by astGUIclient +- translations/ - UTF8 language translation files for other language versions +- www/ - the pages and scripts of the user and admin astGUIclient web interface + + +DESCRIPTION: +This program was designed as a GUI client for the Asterisk PBX with Zaptel +trunks or IAX or SIP VOIP trunks and SIP/IAX/Zap hard or softphones or devices +as extensions, it could be adapted to other functions, but it was designed for +Zap/IAX/SIP users. The client programs are web-based and will run on most +modern web browsers. + + +TO BE ADDED: +See the TODO page on the project Wiki for more info on what has been finished in +this version as well as what we're thinking of working on. The items marked HIGH +priority in the TODO file are the ones we expect to have finished for the next +release. If you have suggestions please send them. +http://www.eflo.net/VICIDIALwiki/index.php/TODO:current + + +NOTES: +There are several features/processes that could have been done many different +ways in this suite, one for example is call parking. After tinkering with +Asterisk/AGI-only call parking where all of the call parking would be achieved +with no need for a GUI client, I discovered that my implementation did not +function well on all single line phones or the Grandstream phones. I settled on +the current method of call-parking by creating a record in a table for a call +parked and Redirecting the call to a constant music extension to take any phone +button pressing out of the loop. We haven't had any problems since we switched +to this method of call parking. Many of the other decisions of how to program +features in this suite we arrived at through similar trial-and-error methods. If +anyone has suggestions/praises/criticisms I would love to hear them. + + +KNOWN BUGS: +- the astGUIclient web client exposes a nasty memory leak in Internet Explorer, + Firefox does not have the same problem so we recommend it instead. +- on astGUIclient you cannot record a native bridge VOIP-only conversation + unless you go into a conference, you also cannot monitor a native-bridge + VOIP-only conversation +- Depending on what version of perl you are running(for the Perl scripts only), + you may have a conflicting version of the Time::HiRes perl module installed. + To fix this, jut go to http://search.cpan.org/~jhi/Time-HiRes-1.82/ and + download the version that your error message says it's looking for(HiRes.pm). + + +VERSION HISTORY: + +0.7 - First public release - 2003-11-18 +This is the first release of the Asterisk GUI Client code, it is entirely +written in Perl with portability and rapid development/testing in mind. The perl +code is NOT strict, it was written loose and fast and has been functioning +rather well in a production environment of 60 clients for one month now. + +0.8 - Second public release - 2003-12-09 +- Several bug fixes +- New button for monitoring live extensions on Zap channels +- Changed the method that the live channels/phone were populated on the +listboxes of the client app. +- Changed the Asterisk/Manager commands to work correctly with new Asterisk CVS +versions requirements. +- A new routine was enabled to allow for making sure that the updater is +running and bringing up a popup alert window on the client if the updater has +not updated in the last 6 seconds. (this also added a new MySQL table) +- Changed the updater to run every 450 milliseconds instead of every 333 +milliseconds. +- Updater changed to allow for ringing channels to appear in the live_channels +table. + +0.9 - Third public release - 2004-02-05 +The majority of the work in this release it to make it more stable and fix some +pretty bad bugs. We created the Asterisk Central Queue System to address the +problem with buffer-overflows in the manager interface of Asterisk causing total +system deadlocks. We also completed and touched-up many other features that we +didn't finish in previous releases. Here is the list of changes: +- Several bug fixes +- Inclusion of listing for active SIP/Local channels and ability to hang them up +- Completely changed the method of conferencing to be more fluid +- Added HELP popup screen +- Added intrasystem calling funtionality +- Updater changed to allow for SIP/Local channels +- Recording for conferences is now able to record all audio in and out +- Added ability to send DTMF tones within a conference +- Changed alert window for updater being down timeout to 20 seconds +- Added an option for using the new Asterisk Central Queue System(ACQS) that +reduces the risk of deadlocks that occur with buffer-overflows on remote manager +interface connections +- Included new script to run at boot time and rotate the logs as well as a +keepalive script for the new ACQS +- Changed non-AGI server-side scripts to allow for a single config file +- Detailed activity logging to text file option added +- Activity logging added to all non-AGI server applications + +0.9.2 - Fourth public release - 2004-03-08 +- several bug fixes for the GUI client and ACQS applications +- addition of the new VICIDIAL auto-dialer application and admin web pages +- added new script to reset MySQL tables +- added new script to kill CONGEST Local/ channels + +0.9.4 - Fifth public release - 2004-03-12 +- a few bug fixes for the GUI and server apps +- addition of callerID popup for the GUI +- callerID buttons to launch web pages from callerID popup +- addition of voicemail count display to GUI +- addition of button to directly connect to voicemail +- addition of voicemail counter updater +- MySQL table "phones" modified and "inbound" table added(see CONF_MySQL.txt) +- new extensions.conf entries need to be added to use callerid and vmail GUI + +1.0.0 - Sixth public release - 2004-03-26 +- a few bug fixes for the GUI and server apps +- Major documentation changes with the addition of the SCRATCH_INSTALL.txt file +that goes step-by-step through the entire install process of an asterisk server +from blank hardware to astguiclient installation and configuration. +- added pretty buttons to the WINphoneAPP +- added blind transfer to voicemail, blind transfer to another extension and +blind external transfer +- new install script created to put server files in default positions and set +permissions to execute +- new sql file to create all tables by running a script execute command in MySQL + +1.0.1 - Seventh public release - 2004-04-27 +- a few bug fixes for the GUI and server apps +- minor changes to WINphoneAPP +- major changes to VICIDIAL client code: + + rearranged VICIDIAL buttons and added some color to DIAL and HANGUP buttons + + allowed for call parking with different park music per-campaign + + allowed for webpage forms launched from GUI with call info + + allowed for different web form web page per-campaign + + allowed agents using VICIDIAL client to send calls with data to a closer + + new call-closer functionality is web-based for flexibility + + added new DTMF dialpad for sending tones quickly +- fixed bugs in VICIDIAL web admin pages +- fixed bugs in ASTGUICLIENT web admin pages +- added code from Paul Concepcion to allow admin pages to work with globals off +- added common database connection file for each set of PHP admin pages +- made small changes to the MySQL database Schema + (NOTE: if upgrading from 1.0.0 run the upgrade_1.0.1.sql script in MySQL) + +1.0.2 - Eighth public release - 2004-06-03 +- a few bug fixes for the GUI apps +- corrected documentation errors in SCRATCH_INSTALL instructions +- updated SCRATCH_INSTALL instructions for some newer software +- corrected errors in SQL install queries +- corrected errors in server installation scripts +- WINphoneAPP config option to allow one persistant mysql DB connection +- WINphoneAPP config option to allow modification of info refresh interval +- VICIDIAL modified to allow for auto-dial of next number + (NOTE: if upgrading from 1.0.1 you do not need to update any web pages or + server apps, this update is only a client GUI and docs update. Note that the + AST_VICI_conf.pl has been updated, so you may need to modify your client + configs to enable new features.) + +1.0.3 - Ninth public release - 2004-07-21 +- a few bug fixes for the GUI apps +- changed the recording to show recording ID when recording is started +- VICIDIAL overhauled: + + added Time::HiRes module requirement to better control time increments + + changed to dial from a small hopper of pre-ordered leads per campaign + + added cron script to always keep leads in the hopper every minute + + added a counter to see how many times a lead is called + + added ability to dial campaign by how many times lead called + + added some new stats to the admin web pages + + created a limited predictive-dialer that will dial a certain amount of leads + per logged in agent and direct the calls that are picked up to the next agent + + ability to transfer the called line and the 3rd party call into a separate + meetme room and continue on dialing + UPGRADE NOTES: + * if upgrading from 1.0.2 you need to update the web pages and all + server apps. + * if upgrading from 1.0.2 run the upgrade_1.0.3.sql script in MySQL + * if upgrading from 1.0.2 you may want to run AST_upgrade_1.0.3.pl to update + your called counts of your leads in vicidial_list. + * AST_SERVER_conf.pl has been updated, so you may need to modify your server + configs to enable new features. + * client app names have been changed to astVICIDIAL and astGUIclient + +1.0.4 - Tenth public release - 2004-09-21 +- several minor bug fixes for GUI apps and server apps +- fixed recording bug in astGUIclient that would rarely stop recording +- added timezone dialing in VICIDIAL +- added new client GUI app for inserting leads into the VICIDIAL leads table +- adjusted timings in the VICIDIAL autodialer for better performance +- added streamlined manager interface logins to help scripts run more smoothly + UPGRADE NOTES: + * if upgrading from 1.0.3 you need to update the web pages and all + server apps. + * if upgrading from 1.0.3 run the upgrade_1.0.4.sql script in MySQL + * if upgrading from 1.0.3 you may want to run ADMIN_adjust_GMTnow_on_leads.pl + to update the timezone in the vicidial_list table + * AST_SERVER_conf.pl on the server has been updated, so you may need to modify + your server configs to enable new features(like timezone dialing). + * AST_VICI_conf.pl for clients has been updated, so you may need to modify + your client configs to enable new features(like timezone dialing). + * run this script if you plan on doing timezone restrictions on VICIDIAL: + ADMIN_area_code_populate.pl + +1.0.5 - Eleventh public release - 2004-10-28 +- many minor bug fixes in most of the server and client scripts +- fixed multiple login bug on VICIDIAL +- fixed the manual-dial/auto-dial switching bug on VICIDIAL +- fixed a few time zone calling bugs on VICIDIAL server apps +- all apps now allow for IAX trunks to be used in addition to the usual Zap +- added more options to install script +- changed CLI lead loader to use Net::MySQL instead of DBI +- modified several scripts that handle CallerID because of the early October + change in the CVS of outputting CID info as two separate fields(CallerID and + CallerIDname) instead of everything being sent in CallerID. +UPGRADE NOTES: + * if upgrading from 1.0.4 you need to update the web pages and all + server and client apps. + * if upgrading from 1.0.4 run the upgrade_1.0.5.sql script in MySQL + * if using a CVS version 2004-10-07 or newer or release 1.0.3 or newer + change the line in extensions.conf + exten => 8309,2,Monitor(wav,${CALLERIDNUM}) + change to + exten => 8309,2,Monitor(wav,${CALLERIDNAME}) + +1.0.6 - Twelfth public release - 2004-12-23 +- many minor bug fixes in most of the server and client scripts +- optimized the ACQS and restructured its keepalive scripts +- added hijack line feature to astGUIclient +- added inbound call handling for VICIDIAL +- added blended in-outbound calling within VICIDIAL +- added new closer stats report +- updated the SCRATCH_INSTALL instructions and corrected errors +- see the TODO.txt file for other items DONE in this release +UPGRADE NOTES: + * if upgrading from 1.0.5 you need to update the web pages and all + server and client apps. + * if upgrading from 1.0.5 run the upgrade_1.0.6.sql script in MySQL + * if upgrading from 1.0.5 add a campaign "CLOSER" to enable closers and + inbound call taking through the VICIDIAL application + (see the SCRATCH_INSTALL document SUBPHASE 6.2 for more information) + +1.1.0 - Thirteenth public release - 2005-03-09 +- several small bug fixes in most of the server and client scripts +- added IAX and Zap client/agent compatibility +- implemented some major database optimizations +- ability to specify MySQL port across all apps +- moved almost all client config variables from client files to the Database +- created a meetme room validator that will allow faster reassignment of conferences +- created a new remote_agent login system for VICIDIAL in/outbound calls +- restructuring of AST_update script to cope better with manager output hiccups +- added dial timeout field to VICIDIAL to specify the timeout per campaign +- added help popups to every page of the admin web pages to explain fields +- see the TODO.txt file for other items DONE in this release +UPGRADE NOTES: + * if upgrading from 1.0.6 you need to update the web pages and all + server and client apps. + * if upgrading from 1.0.6 run the upgrade_1.1.0.sql script in MySQL + * if upgrading from 1.0.6 you will need to configure your client parameters on + the admin web page and remove them from the client computers (except for the + fields that are in the sample AST_VICI_conf.pl file) + * older client apps are not compatible with this version, you must upgrade + +1.1.1 - Fourteenth public release - 2005-06-03 +- several small bug fixes in most of the server and client scripts +- added astGUIclient web-only client +- added campaign-custom disposition statuses to VICIDIAL +- added campaign-custom CallerID to VICIDIAL +- added fronter-display-disable option to VICIDIAL Inbound Groups +- added ability to separate vicidial users by groups +- added performance stats gathering ability to AST_update script +- fixed the send-to-vmail portion of inbound AGI scripts +- added simple web-based lead file loader for VICIDIAL +UPGRADE NOTES: + * if upgrading from 1.1.0 you need to update the web pages and all + server apps. + * if upgrading from 1.1.0 run the upgrade_1.1.1.sql script in MySQL + +1.1.2 - Fifteenth public release - 2005-06-06 +- fixed fatal bug in AST_update.pl script +- added instructions for ploticus install to SCRATCH_INSTALL +UPGRADE NOTES: + * if upgrading from 1.1.0 you need to: + - download the new version from the project website + - unzip the zip file into the astguiclientastguiclient directory + - and either: + + copy the web pages and all server apps to their proper locations manually + + or run the install_server_files.pl script to put all items in their + default places + * if upgrading from 1.1.0 run the upgrade_1.1.1.sql script in MySQL + (\. astguiclientastguiclient/upgrade_1.1.1.sql) + +1.1.3 - Sixteenth public release - 2005-06-10 +- fixed config bug in AST_VDauto_dial.pl script +- added null query result checks to scripts in the agc web-only client +- added documentation for the inbound and transfer AGI script variables +- added documentation and tested install with MySQL 4.1 tree (4.1.12) +UPGRADE NOTES: + * if upgrading from 1.1.0 - 1.1.2 you need to: + - download the new version from the project website + - unzip the zip file into the astguiclientastguiclient directory + - and either: + + copy the web pages and all server apps to their proper locations manually + + or run the install_server_files.pl script to put all items in their + default places + * if upgrading from 1.1.0 run the upgrade_1.1.1.sql script in MySQL + (\. astguiclientastguiclient/upgrade_1.1.1.sql) + +1.1.4 - Seventeenth public release - 2005-06-24 +- fixed new Local channel bugs caused by changes in Asterisk 1.0.8 and CVS +- added beta support for SIP trunks +- added ability to send VICIDIAL outbound calls to custom AGI script per + campaign and included new survey sample AGI script +- added better Asterisk shutdown detection to AST_manager_listen script +UPGRADE NOTES: + * if upgrading from 1.1.3 you need to: + - download the new version from the project website + - unzip the zip file into the astguiclientastguiclient directory + - and either: + + copy the web pages and all server apps to their proper locations manually + + or run the install_server_files.pl script to put all items in their + default places + - if using VICIDIAL download the new client script to all client stations + - make sure you populate the new $AST_ver variable in AST_SERVER_conf.pl + * if upgrading from 1.1.3 run the upgrade_1.1.4.sql script in MySQL + (\. astguiclientastguiclient/upgrade_1.1.4.sql) + +1.1.5 - Eighteenth public release - 2005-08-12 +- fixed new Local channel bugs caused by changes in Asterisk 1.0.8 and 1.0.9 +- moved many server variables to the database, editable through admin.php +- added ability to limit number of outbound trunks used by VICIDIAL auto dialer +- many small changes and bug fixes to the astguiclient web client +- added alpha vicidial web-client (click-to-dial only) +UPGRADE NOTES: + * if upgrading from 1.1.4 you need to: + - download the new version from the project website + - unzip the zip file into the astguiclientastguiclient directory + - and either: + + copy the web pages and all server apps to their proper locations manually + + or run the install_server_files.pl script to put all items in their + default places + - VICIDIAL perl/TK client is unchanged from 1.1.4 + - make sure you check the astguiclient admin.php server parameters + * if upgrading from 1.1.4 run the upgrade_1.1.5.sql script in MySQL + (\. astguiclientastguiclient/upgrade_1.1.5.sql) + +1.1.6 - Nineteenth public release - 2005-08-29 +- streamlined many of the server apps and added command-line debug capability +- finished the vicidial web-client and tested in prduction +- modified server-side scripts to function with Asterisk CVS_HEAD(soon to be 1.2) +- modified server performance logging and graphing, added user/system proc % +UPGRADE NOTES: + * if upgrading from 1.1.5 you need to: + - download the new version from the project website + - unzip the zip file into the astguiclientastguiclient directory + - and either: + + copy the web pages and all server apps to their proper locations manually + + or run the install_server_files.pl script to put all items in their + default places + (make sure AST_SERVER_conf.pl and dbconnect.php files are config'd properly) + - perl/TK clients are unchanged from 1.1.5 + - make sure you check the astguiclient admin.php server parameters + - make the agi-VDADtransfer.agi changes in extensions.conf (mentioned in SCRATCH_INSTALL doc) + * if upgrading from 1.1.5 run the upgrade_1.1.6.sql script in MySQL + (\. astguiclientastguiclient/upgrade_1.1.6.sql) + +1.1.7 - Twentieth public release - 2005-10-05 +- Added HotKeys key binding for VICIDIAL web-client fast dispositioning +- Internationalization(multi-language) of web-clients and admin pages +- Added ability in manual VICIDIAL to call alternate lead phone numbers +- Added option of pull-down of active campaigns to VICIDIAL web login +- Fixed some issues with scripts interacting with Asterisk 1.2 +- other small changes listed in the TODO.txt file +UPGRADE NOTES: + * if upgrading from 1.1.6 you need to: + - download the new version from the project website + - unzip the zip file into the astguiclientastguiclient directory + - and either: + + copy the web pages and all server apps to their proper locations manually + + or run the install_server_files.pl script to put all items in their + default places + (make sure AST_SERVER_conf.pl and dbconnect.php files are config'd properly) + - perl/TK clients have been slightly updated(will be unsupported soon) + - multi-language versions of web-clients and admin pages are available in the + LANG_agc.zip and LANG_admin.zip files and can be unzipped into your webroot + directory. Make sure you check the dbconnect.php file in each directory. + * if upgrading from 1.1.6 run the upgrade_1.1.7.sql script in MySQL + (\. astguiclientastguiclient/upgrade_1.1.7.sql) + +1.1.8 - Twenty-First public release - 2005-11-10 +- Added per-campaign call recording options to VICIDIAL +- Added detailed logging for VICIDIAL agent time +- Fixed some issues with scripts interacting with Asterisk 1.2 +- other small changes listed in the TODO.txt file +UPGRADE NOTES: + * if upgrading from 1.1.7 you need to: + - download the new version from the project website + - unzip the zip file into the astguiclientastguiclient directory + - and either: + + copy the web pages and all server apps to their proper locations manually + + or run the install_server_files.pl script to put all items in their + default places + (make sure AST_SERVER_conf.pl and dbconnect.php files are config'd properly) + - multi-language versions of web-clients and admin pages are available in the + LANG_agc.zip and LANG_admin.zip files and can be unzipped into your webroot + directory. Make sure you check the dbconnect.php file in each directory. + * if upgrading from 1.1.7 run the upgrade_1.1.8.sql script in MySQL + (\. astguiclientastguiclient/upgrade_1.1.8.sql) + +1.1.9 - Twenty-Second public release - 2006-01-19 +- Added Load Balancing of Inbound and Outbound calls across multiple Asterisk + servers in the same setup +- Removed all PHP globals requirements, can now use register_globals=Off in PHP +- Add fully translated Greek admin and agc scripts(agc images to come) +- Added security elements to admin pages and added record deletion functions +- Added a script tab to VICIDIAL to have a variable-populated agent script +- Added new Super lead loader with field chooser and CVS/XLS-format capability +- Added favorites panel to astguiclient.php that shows off/on hook +- Many other small changes listed in the TODO.txt file +UPGRADE NOTES: + * if upgrading from 1.1.8 you need to: + - download the new version from the project website + - unzip the zip file into the astguiclientastguiclient directory + - and either: + + copy the web pages and all server apps to their proper locations manually + + or run the install_server_files.pl script to put all items in their + default places + (make sure AST_SERVER_conf.pl and dbconnect.php files are config'd properly) + - multi-language versions of web-clients and admin pages are available in the + LANG_agc.zip and LANG_admin.zip files and can be unzipped into your webroot + directory. Make sure you check the dbconnect.php file in each directory. + * if upgrading from 1.1.8 run the upgrade_1.1.9.sql script in MySQL + (\. astguiclientastguiclient/upgrade_1.1.9.sql) + +1.1.10 - Twenty-Third public release - 2006-03-17 +- Added capability to work with app_amd(answering machine detection) +- Added transfer-conference number and DTMF presets per campaign +- Added sphinx ring-time analysis disposition package(beta) +- Added scheduled callbacks to VICIDIAL +- Added more user-permission options/restrictions +- Several small bug fixes for better Asterisk 1.2.4 compatibility +- Many other small changes listed in the TODO.txt file +UPGRADE NOTES: + * if upgrading from 1.1.9 you need to: + - download the new version from the project website + - unzip the zip file into the astguiclientastguiclient directory + - and either: + + copy the web pages and all server apps to their proper locations manually + + or run the install_server_files.pl script to put all items in their + default places + (make sure AST_SERVER_conf.pl and dbconnect.php files are config'd properly) + - add "exten => h,2,DeadAGI(VD_hangup.agi,${EXTEN})" to extensions.conf + - multi-language versions of web-clients and admin pages are available in the + LANG_agc.zip and LANG_admin.zip files and can be unzipped into your webroot + directory. Make sure you check the dbconnect.php file in each directory. + * if upgrading from 1.1.9 run the upgrade_1.1.10.sql script in MySQL + (\. astguiclientastguiclient/upgrade_1.1.10.sql) + +1.1.11 - Twenty-Fourth public release - 2006-04-28 +- Added Agent-only Scheduled Callbacks +- Added Lead Filters for campaigns to use custom SQL to narrow calling scope +- Added Agent manual-lead-insertion capability +- Fixed PHP variable checking in all PHP scripts to be more compliant +- Added more user-permission options/restrictions for both agents and admins +- Several small bug fixes for better Asterisk 1.2.6 and SVN compatibility +- Many other small changes listed in the TODO.txt file +UPGRADE NOTES: + * if upgrading from 1.1.10 you need to: + - download the new version from the project website + - unzip the zip file into the astguiclientastguiclient directory + - and either: + + copy the web pages and all server apps to their proper locations manually + + or run the install_server_files.pl script to put all items in their + default places + (make sure AST_SERVER_conf.pl and dbconnect.php files are config'd properly) + - multi-language versions of web-clients and admin pages are available in the + LANG_agc.zip and LANG_admin.zip files and can be unzipped into your webroot + directory. Make sure you check the dbconnect.php file in each directory. + * if upgrading from 1.1.10 run the upgrade_1.1.11.sql script in MySQL + (\. astguiclient/upgrade_1.1.11.sql) + +1.1.12 - Twenty-Fifth public release - 2006-06-22 +- Security enhancements of PHP scripts to reduce SQL-injection and other threats +- Completely redesigned local call time system in VICIDIAL for more flexibility +- Added Drop-call and safe-harbor options to campaigns and inbound groups +- Added option for allowing wrapup time between calls in vicidial.php +- Multi-language translation rewritten for more flexibility and easy of use +- Added more user-permission options/restrictions for both agents and admins +- Added option of using app_conference instead of meetme engine +- Added internal DNC list for Do-Not-Call entries across the system +- Added automatic lead recycling to call back Busy calls at definable intervals +- Added listID override and timezone lookup to all lead importing scripts +- Added easy-prompt-recording AGI and playback: agi-record_prompts.agi +- Many other changes and bug fixes listed in the TODO.txt file +UPGRADE NOTES: + * if upgrading from 1.1.11 you need to: + - download the new version from the project website + - unzip the zip file into the astguiclientastguiclient directory + - and either: + + copy the web pages and all server apps to their proper locations manually + + or run the install_server_files.pl script to put all items in their + default places + (make sure AST_SERVER_conf.pl and dbconnect.php files are config'd properly) + - multi-language versions of web-clients and admin pages are available in the + LANG_agc.zip and LANG_admin.zip files and can be unzipped into your webroot + directory. Make sure you check the dbconnect.php file in each directory. + * if upgrading from 1.1.11 run the upgrade_1.1.12.sql script in MySQL + (\. astguiclientastguiclient/upgrade_1.1.12.sql) + * if upgrading from older version you will need to run this query for each + campaign in VICIDIAL in MySQL: + (INSERT INTO vicidial_campaign_stats (campaign_id) values('campaignname');) + +2.0.1 - Twenty-Sixth public release - 2006-09-15 +- Changed all Perl script to use DBI instead of Net::MySQL +- Completely new interactive install script with new astguiclient.conf file +- Ability to turn off or on logging of server scripts +- Ability to redirect AGI output to file, STDERR, both or nowhere. +- Code and process optimization of many of the server-side scripts +- Added a Predictive outbound dialing algorithm with many user-defined settings +- Wrote new BASE_INSTALL.txt doc for simple install and added sample conf files +- Many other changes and bug fixes listed in the TODO Wiki webpage: + http://www.eflo.net/VICIDIALwiki/index.php/TODO:2.0.1 +UPGRADE NOTES: + * if upgrading from 1.1.12 you need to follow instructions in the UPGRADE doc + +2.0.2 - Twenty-Seventh public release - 2006-12-22 +- Added FastAGI replacement for call_log and VDhangup scripts +- Added new USA-Canada Daylight Savings time scheme and DST for Brazil +- astguiclient/admin.php removed and merged into vicidial/admin.php +- Ability for agent to alter volume levels of participants +- Keepalives consolidated into single script +- New all-active-campaigns realtime summary screen +- New script added to make it easier to change IP address of servers in VICIDIAL +- Added ability to reserver trunk lines for specific VICIDIAL campaigns +- Added ability for balance dialing and dialing-only servers in VICIDIAL +- Many other changes and bug fixes listed in the TODO Wiki webpage: + http://www.eflo.net/VICIDIALwiki/index.php/TODO:2.0.2 +UPGRADE NOTES: + * if upgrading from 2.0.1 you need to follow instructions in the UPGRADE doc + +2.0.3 - Twenty-Eighth public release - 2007-04-27 +- Added optimized manager sending scripts +- Made several changes to admin.php and made it more customizable +- Made changes to HotKeys to allow for manual auto dial and auto alt number dial +- Added ability to dial alternate lead phone numbers in auto-dial modes +- Added ability to send more calls to agents at once, helping large installations +- Added more levels of access control to the administrative interfaces +- Added Agent Pause codes to alow agents to categorize their PAUSE time +- Added VICIDIAL outbound compatibility with QueueMetrics +- Many other changes and bug fixes listed in the TODO Wiki webpage: + http://www.eflo.net/VICIDIALwiki/index.php/TODO:2.0.3 +UPGRADE NOTES: + * if upgrading from 2.0.2 you need to follow instructions in the UPGRADE doc + +2.0.4 - Twenty-Ninth public release - 2007-12-03 +- Easy control over System Statuses, including the addition of Status Categories +- Several new additional In-Group features including music-on-hold, alert messages and call times +- Skills based ranking and call routing for inbound and outbound +- Agent call routing based on the number of calls taken today per in-group or campaign +- Added the ability to copy the settings of an existing User/Campaign/In-Group into a new one +- Changing the Transfer feature in the agent screen to allow for more transfer In-Group choices +- Dynamic display of available campaigns for an agent in the agent login screen +- Many other changes and bug fixes listed in the TODO Wiki webpage: + http://www.eflo.net/VICIDIALwiki/index.php/TODO:2.0.4 +UPGRADE NOTES: + * if upgrading from 2.0.3 you need to follow instructions in the UPGRADE doc diff --git a/agc_2-X/branches/agc_2.0.5/docs/REQUIRED_APPS_INSTALL.txt b/agc_2-X/branches/agc_2.0.5/docs/REQUIRED_APPS_INSTALL.txt new file mode 100644 index 00000000..d79ab3b2 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/REQUIRED_APPS_INSTALL.txt @@ -0,0 +1,558 @@ +# Quick install of required apps v.2.0.5 2008-XX-XX +# This file is a supplement to the BASE_INSTALL document giving you simple copy/ +# paste installation shell commands for required and helper apps for VICIDIAL +# might need: echo '/* Linuxthreads */' >> /usr/include/pthread.h + +cd /usr/local +wget http://mirrors.kernel.org/gnu/make/make-3.81.tar.gz +gunzip make-3.81.tar.gz +tar xvf make-3.81.tar +cd make-3.81 +./configure +make +make install + +cd /usr/local/ +wget http://mirror.trouble-free.net/mysql_mirror/Downloads/MySQL-5.0/mysql-5.0.67.tar.gz +gunzip mysql-5.0.67.tar.gz +tar xvf mysql-5.0.67.tar +cd mysql-5.0.67 +groupadd mysql +useradd -g mysql mysql +./configure --prefix=/usr/local/mysql --enable-shared=yes --with-readline --enable-thread-safe-client --enable-large-files --enable-assembler --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-big-tables +make +make install +PATH=$PATH:$HOME/bin:/usr/local/mysql/bin/ +export PATH +PATH=$PATH:$HOME/bin:/usr/local/mysql/include/mysql/ +export PATH +cp /usr/local/mysql-5.0.67/libmysql/.libs/libmysqlclient.so /usr/lib/ +cp /usr/local/mysql-5.0.67/libmysql/.libs/libmysqlclient.so.15 /usr/lib/ +cd /usr/local/mysql-5.0.67 +scripts/mysql_install_db +chown -R root /usr/local/mysql +chown -R mysql /usr/local/mysql/var +chgrp -R mysql /usr/local/mysql +cp support-files/my-huge.cnf /etc/my.cnf +/usr/local/mysql/bin/mysqld_safe --user=mysql --skip-name-resolve --skip-host-cache & +ln -s /tmp/mysql.sock /var/run/mysql/mysql.sock +vi /etc/my.cnf + # add this line below 'skip-locking' + skip-name-resolve + # comment out the line 'log-bin=mysql-bin' + max_connections = 200 + +perl -MCPAN -e shell +install MD5 +install Digest::MD5 +install Digest::SHA1 +install readline +install Bundle::CPAN +install DBI +force install DBD::mysql +install Net::Telnet +install Time::HiRes +install Net::Server +install Switch +install Mail::Sendmail +install Unicode::Map +install Jcode +install OLE::Storage_Lite +install Spreadsheet::WriteExcel +install Proc::ProcessTable +install IO::Scalar +install Spreadsheet::ParseExcel +quit + + +cd /usr/local +wget http://asterisk.gnuinter.net/files/asterisk-perl-0.08.tar.gz +gunzip asterisk-perl-0.08.tar.gz +tar xvf asterisk-perl-0.08.tar +cd asterisk-perl-0.08 +perl Makefile.PL +make all +make install + + +cd /usr/local +wget http://easynews.dl.sourceforge.net/sourceforge/lame/lame-3.96.1.tar.gz +gunzip lame-3.96.1.tar.gz +tar xvf lame-3.96.1.tar +cd lame-3.96.1 +./configure +make +make install + + +cd /usr/local +wget http://easynews.dl.sourceforge.net/sourceforge/sox/sox-14.0.1.tar.gz +gunzip sox-14.0.1.tar.gz +tar xvf sox-14.0.1.tar +cd sox-14.0.1 +./configure --disable-shared +make +make install + + +cd /usr/local +wget http://ftp.gnu.org/gnu/screen/screen-4.0.2.tar.gz +gunzip screen-4.0.2.tar.gz +tar xvf screen-4.0.2.tar +cd screen-4.0.2 +./configure +make +make install + + +cd /usr/local +wget http://www.daveltd.com/src/util/ttyload/ttyload-0.5.tar.gz +gunzip ttyload-0.5.tar.gz +tar xvf ttyload-0.5.tar +cd ttyload-0.5 +make +ln -s /usr/local/ttyload-0.5/ttyload /usr/bin/ttyload + + +cd /usr/local +wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.2p3.tar.gz +gunzip ntp-4.2.2p3.tar.gz +tar xvf ntp-4.2.2p3.tar +cd ntp-4.2.2p3 +./configure +make +make install +/usr/local/bin/ntpdate -u ntp.myfloridacity.us + + +cd /usr/local +wget http://www.tcpdump.org/release/libpcap-0.9.4.tar.gz +gunzip libpcap-0.9.4.tar.gz +tar xvf libpcap-0.9.4.tar +cd libpcap-0.9.4 +./configure +make +make install +cd /usr/local +wget http://www.ex-parrot.com/~pdw/iftop/download/iftop-0.17.tar.gz +gunzip iftop-0.17.tar.gz +tar xvf iftop-0.17.tar +cd iftop-0.17 +./configure +make +make install + + +cd /usr/local +wget http://www.zlib.net/zlib-1.2.3.tar.gz +gunzip zlib-1.2.3.tar.gz +tar xvf zlib-1.2.3.tar +cd zlib-1.2.3 +./configure +make +make install +cd /usr/local +wget http://ftp.openssh.zone-h.org/pub/OpenBSD/OpenSSH/portable/openssh-5.1p1.tar.gz +gunzip openssh-5.1p1.tar.gz +tar xvf openssh-5.1p1.tar +cd openssh-5.1p1 +./configure +make +make install + + +cd /usr/local +wget http://www.openssl.org/source/openssl-0.9.8i.tar.gz +gunzip openssl-0.9.8i.tar.gz +tar xvf openssl-0.9.8i.tar +cd openssl-0.9.8i +./config +make +make install + + +cd /usr/local +wget http://subversion.tigris.org/downloads/subversion-1.5.2.tar.gz +gunzip subversion-1.5.2.tar.gz +tar xvf subversion-1.5.2.tar +cd subversion-1.5.2 +./configure +make +make install + + +cd /usr/local +wget http://superb-west.dl.sourceforge.net/sourceforge/ploticus/pl240src.tar.gz +gunzip pl240src.tar.gz +tar xvf pl240src.tar +cd pl240src/src/ +make clean +make +make install + + +cd /usr/local +wget http://us2.php.net/distributions/php-5.2.8.tar.gz +gunzip php-5.2.8.tar.gz +tar xvf php-5.2.8.tar +wget http://mirror.nyi.net/apache/httpd/httpd-2.2.11.tar.gz +gunzip httpd-2.2.11.tar.gz +tar xvf httpd-2.2.11.tar +cd httpd-2.2.11 +make clean +./configure --prefix=/usr/local/apache2 --enable-ssl --enable-setenvif --enable-so --with-apxs2 --enable-dav --enable-maintainer-mode +make +make install +mkdir /usr/local/apache2/conf/ssl.key +mkdir /usr/local/apache2/conf/ssl.crt +mkdir /usr/local/apache2/conf/ssl.crl +openssl req -new -x509 -days 1200 -keyout /usr/local/apache2/conf/ssl.key/server.key.cpy -out /usr/local/apache2/conf/ssl.crt/server.crt -subj '/CN=10.10.10.15' + + +openssl rsa -in /usr/local/apache2/conf/ssl.key/server.key.cpy -out /usr/local/apache2/conf/ssl.key/server.key + + +cd ../php-5.2.8 +make clean +./configure --with-mysql=/usr/local/mysql --enable-inline-optimization --enable-memory-limit --enable-track-vars --enable-libgcc --enable-sysvsem --with-openssl --with-apxs2=/usr/local/apache2/bin/apxs --with-zlib +make +make install +cp php.ini-dist /usr/local/lib/php.ini +vi /usr/local/apache2/conf/httpd.conf + + + add the following lines: + "AddType application/x-httpd-php .php .phtml" + "LoadModule php5_module modules/libphp5.so" + or + "LoadModule php5_module modules/libphp5.so" + modify the index.html line and add index.php to the list + + to disable logging, change: + "CustomLog logs/access_log common" + to this: + "CustomLog /dev/null common" + + to enable web browsing of Recordings on Asterisk server, add this: + Alias /RECORDINGS/ "/var/spool/asterisk/monitorDONE/" + + + Options Indexes MultiViews + AllowOverride None + Order allow,deny + Allow from all + + + OPTIONAL: USE ONLY FOR STANDALONE apache/php SERVER ONLY: + + ServerLimit 768 + StartServers 450 + MinSpareServers 250 + MaxSpareServers 500 + MaxClients 768 + MaxRequestsPerChild 1000 + + +vi /usr/local/lib/php.ini + + + Make sure short tags are enabled: + "short_open_tag = On" + + some other fields to change if using web-based lead loader: + max_execution_time = 330 + max_input_time = 360 + post_max_size = 48M + upload_max_filesize = 42M + default_socket_timeout = 360 + + +cd /usr/local +wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.zip +unzip eaccelerator-0.9.5.3.zip +cd eaccelerator-0.9.5.3 +export PHP_PREFIX="/usr/local" +$PHP_PREFIX/bin/phpize +./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config +make +make install +vi /usr/local/lib/php.ini + + + Add the following lines to the dynamic extensions section of php.ini: + (you may need to change the extension location depending on your install of php) +zend_extension="../../../usr/local/eaccelerator-0.9.5.3/modules/eaccelerator.so" +eaccelerator.shm_size="48" +eaccelerator.cache_dir="/tmp/eaccelerator" +eaccelerator.enable="1" +eaccelerator.optimizer="1" +eaccelerator.check_mtime="1" +eaccelerator.debug="0" +eaccelerator.filter="" +eaccelerator.shm_max="0" +eaccelerator.shm_ttl="0" +eaccelerator.shm_prune_period="0" +eaccelerator.shm_only="0" +eaccelerator.compress="1" +eaccelerator.compress_level="9" + +mkdir /tmp/eaccelerator +chmod 0777 /tmp/eaccelerator +ls -l /tmp/eaccelerator +php -v + +/usr/local/apache2/bin/apachectl startssl + + +cpan + +install Curses +install Getopt::Long +install Net::Domain +quit + +cd /usr/local +wget http://superb-east.dl.sourceforge.net/sourceforge/mtop/mtop-0.6.6.tar.gz +gunzip mtop-0.6.6.tar.gz +tar xvf mtop-0.6.6.tar +cd mtop-0.6.6 +perl Makefile.PL +make +make install +/usr/local/bin/mtop --dbuser=root --seconds=3 + + +cd /usr/local +wget http://download.berlios.de/sipsak/sipsak-0.9.6-1.tar.gz +gunzip sipsak-0.9.6-1.tar.gz +tar xvf sipsak-0.9.6-1.tar +cd sipsak-0.9.6 +./configure +make +make install +/usr/local/bin/sipsak --version + + + + +#### OPTIONAL NEWEST VERSIONS OF ASTERISK #### + +mkdir /usr/src/asterisk +cd /usr/src/asterisk +wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.2.30.2.tar.gz +wget http://downloads.digium.com/pub/zaptel/releases/zaptel-1.2.27.tar.gz +wget http://downloads.digium.com/pub/libpri/releases/libpri-1.2.8.tar.gz +gunzip asterisk-1.2.30.2.tar.gz +tar xvf asterisk-1.2.30.2.tar +gunzip zaptel-1.2.27.tar.gz +tar xvf zaptel-1.2.27.tar +gunzip libpri-1.2.8.tar.gz +tar xvf libpri-1.2.8.tar +cd ./zaptel-1.2.27 +wget http://downloads.vicidial.com/packages/newt-0.51.6.tar.gz +gunzip newt-0.51.6.tar.gz +tar xvf newt-0.51.6.tar +cd newt-0.51.6 +./configure +make +make install +cd ../ +ln -s /usr/lib/libnewt.so.0.51.6 /usr/lib/libnewt.so.0.51 +make clean +make zttool +make +make install +cd ../libpri-1.2.8 +make clean +make +make install +cd ../asterisk-1.2.30.2 +cd apps +wget http://www.eflo.net/files/app_amd2.c +mv app_amd2.c app_amd.c +vi Makefile + + + replace this line(line 32): + app_mixmonitor.so app_stack.so + with this line: + app_mixmonitor.so app_stack.so app_amd.so + + +wget http://www.eflo.net/files/amd2.conf +mkdir /etc/asterisk +mv amd2.conf /etc/asterisk/amd.conf +wget http://www.eflo.net/files/meetme_DTMF_passthru-1.2.23.patch +patch -p1 < ./meetme_DTMF_passthru-1.2.23.patch + + + - File to patch: app_meetme.c + + +wget http://www.eflo.net/files/meetme_volume_control_1.2.16.patch +patch -p1 < ./meetme_volume_control_1.2.16.patch + + + - File to patch: app_meetme.c + + +cd ../ +wget http://www.eflo.net/files/cli_chan_concise_delimiter.patch +patch -p1 < ./cli_chan_concise_delimiter.patch + + + - File to patch: cli.c + +wget http://downloads.vicidial.com/asterisk-patches/1.2-gsm-gcc4.2.patch +patch -p1 ./codecs/gsm/Makefile 1.2-gsm-gcc4.2.patch + +wget http://downloads.vicidial.com/asterisk-patches/app_waitforsilence.c +mv -f app_waitforsilence.c apps/app_waitforsilence.c +wget http://www.eflo.net/files/enter.h +wget http://www.eflo.net/files/leave.h +mv -f enter.h apps/enter.h +mv -f leave.h apps/leave.h + +make clean +make +make install + +make samples + +cd /var/lib/asterisk/mohmp3/ +mpg123 -s --rate 44100 --mono /var/lib/asterisk/mohmp3/fpm-sunshine.mp3 > /var/lib/asterisk/mohmp3/fpm-sunshine.raw +sox -r 44100 -w -s -c 1 fpm-sunshine.raw -r 8000 -c 1 fpm-sunshine.wav +sox fpm-sunshine.wav -t gsm -r 8000 -b -c 1 fpm-sunshine.gsm +sox fpm-sunshine.wav -t ul -r 8000 -b -c 1 fpm-sunshine.pcm +mpg123 -s --rate 44100 --mono /var/lib/asterisk/mohmp3/fpm-calm-river.mp3 > /var/lib/asterisk/mohmp3/fpm-calm-river.raw +sox -r 44100 -w -s -c 1 fpm-calm-river.raw -r 8000 -c 1 fpm-calm-river.wav +sox fpm-calm-river.wav -t gsm -r 8000 -b -c 1 fpm-calm-river.gsm +sox fpm-calm-river.wav -t ul -r 8000 -b -c 1 fpm-calm-river.pcm +mpg123 -s --rate 44100 --mono /var/lib/asterisk/mohmp3/fpm-world-mix.mp3 > /var/lib/asterisk/mohmp3/fpm-world-mix.raw +sox -r 44100 -w -s -c 1 fpm-world-mix.raw -r 8000 -c 1 fpm-world-mix.wav +sox fpm-world-mix.wav -t gsm -r 8000 -b -c 1 fpm-world-mix.gsm +sox fpm-world-mix.wav -t ul -r 8000 -b -c 1 fpm-world-mix.pcm +mkdir ../orig-mp3 +mv -f *.mp3 ../orig-mp3/ +mkdir ../quiet-mp3 +cd ../quiet-mp3 +sox -r 44100 -w -s -c 1 ../mohmp3/fpm-sunshine.raw -r 8000 -c 1 fpm-sunshine.wav vol 0.25 +sox fpm-sunshine.wav -t gsm -r 8000 -b -c 1 fpm-sunshine.gsm +sox fpm-sunshine.wav -t ul -r 8000 -b -c 1 fpm-sunshine.pcm +sox -r 44100 -w -s -c 1 ../mohmp3/fpm-calm-river.raw -r 8000 -c 1 fpm-calm-river.wav vol 0.25 +sox fpm-calm-river.wav -t gsm -r 8000 -b -c 1 fpm-calm-river.gsm +sox fpm-calm-river.wav -t ul -r 8000 -b -c 1 fpm-calm-river.pcm +sox -r 44100 -w -s -c 1 ../mohmp3/fpm-world-mix.raw -r 8000 -c 1 fpm-world-mix.wav vol 0.25 +sox fpm-world-mix.wav -t gsm -r 8000 -b -c 1 fpm-world-mix.gsm +sox fpm-world-mix.wav -t ul -r 8000 -b -c 1 fpm-world-mix.pcm +rm -f ../mohmp3/*.raw + + + +############# INSTRUCTIONS FOR Asterik 1.4 release #################### +Downgrading back to 1.2.X from 1.4.X: +rm -f /usr/lib/asterisk/modules/* +rm -f /usr/include/asterisk/* + + +NOTE: If you want to use Asterisk 1.4, you will need to make sure that you set +the servers table "asterisk_version" field to the proper version number and you +can use the docs/conf_examples/extensions.conf.sample-1.4 file for your default +dialplan + +### If upgrading from 1.2.X Asterisk, run the following lines first: +rm -f /usr/lib/asterisk/modules/app_curl.so +rm -f /usr/lib/asterisk/modules/app_cut.so +rm -f /usr/lib/asterisk/modules/app_enumlookup.so +rm -f /usr/lib/asterisk/modules/app_eval.so +rm -f /usr/lib/asterisk/modules/app_groupcount.so +rm -f /usr/lib/asterisk/modules/app_math.so +rm -f /usr/lib/asterisk/modules/app_md5.so +rm -f /usr/lib/asterisk/modules/app_setcidname.so +rm -f /usr/lib/asterisk/modules/app_setcidnum.so +rm -f /usr/lib/asterisk/modules/app_setrdnis.so +rm -f /usr/lib/asterisk/modules/app_txtcidname.so +rm -f /usr/lib/asterisk/modules/chan_features.so +rm -f /usr/lib/asterisk/modules/format_au.so +rm -f /usr/lib/asterisk/modules/format_pcm_alaw.so +rm -f /usr/lib/asterisk/modules/pbx_functions.so + +### If downgrading from 1.4.X Asterisk to 1.2.X asterisk: +rm -f /usr/lib/asterisk/modules/app_channelredirect.so +rm -f /usr/lib/asterisk/modules/app_followme.so +rm -f /usr/lib/asterisk/modules/app_morsecode.so +rm -f /usr/lib/asterisk/modules/app_speech_utils.so +rm -f /usr/lib/asterisk/modules/format_h264.so +rm -f /usr/lib/asterisk/modules/func_base64.so +rm -f /usr/lib/asterisk/modules/func_cdr.so +rm -f /usr/lib/asterisk/modules/func_channel.so +rm -f /usr/lib/asterisk/modules/func_curl.so +rm -f /usr/lib/asterisk/modules/func_cut.so +rm -f /usr/lib/asterisk/modules/func_db.so +rm -f /usr/lib/asterisk/modules/func_env.so +rm -f /usr/lib/asterisk/modules/func_global.so +rm -f /usr/lib/asterisk/modules/func_groupcount.so +rm -f /usr/lib/asterisk/modules/func_language.so +rm -f /usr/lib/asterisk/modules/func_logic.so +rm -f /usr/lib/asterisk/modules/func_math.so +rm -f /usr/lib/asterisk/modules/func_md5.so +rm -f /usr/lib/asterisk/modules/func_moh.so +rm -f /usr/lib/asterisk/modules/func_rand.so +rm -f /usr/lib/asterisk/modules/func_realtime.so +rm -f /usr/lib/asterisk/modules/func_sha1.so +rm -f /usr/lib/asterisk/modules/func_strings.so +rm -f /usr/lib/asterisk/modules/func_timeout.so +rm -f /usr/lib/asterisk/modules/res_clioriginate.so +rm -f /usr/lib/asterisk/modules/res_convert.so +rm -f /usr/lib/asterisk/modules/res_smdi.so +rm -f /usr/lib/asterisk/modules/res_snmp.so +rm -f /usr/lib/asterisk/modules/res_speech.so + +mkdir /usr/src/asterisk-1.4 +cd /usr/src/asterisk-1.4 +wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.4.21.2.tar.gz +wget http://downloads.digium.com/pub/zaptel/releases/zaptel-1.4.12.1.tar.gz +wget http://downloads.digium.com/pub/libpri/releases/libpri-1.4.7.tar.gz +gunzip asterisk-1.4.21.2.tar.gz +tar xvf asterisk-1.4.21.2.tar +gunzip zaptel-1.4.12.1.tar.gz +tar xvf zaptel-1.4.12.1.tar +gunzip libpri-1.4.7.tar.gz +tar xvf libpri-1.4.7.tar +cd ./zaptel-1.4.12.1 +./configure +make +make install +cd ../libpri-1.4.7 +make clean +make +make install +cd ../asterisk-1.4.21.2 +wget http://download.vicidial.com/asterisk-patches/1.4-gsm-gcc4.2.patch +patch -p1 ./codecs/gsm/Makefile 1.4-gsm-gcc4.2.patch +wget http://www.eflo.net/files/enter.h +wget http://www.eflo.net/files/leave.h +mv -f enter.h apps/enter.h +mv -f leave.h apps/leave.h +./configure +make +make install + + + + + + +#### pureftpd FTP server installation instructions #### + +cd /usr/local +wget ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.20.tar.gz +gunzip pure-ftpd-1.0.20.tar.gz +tar xvf pure-ftpd-1.0.20.tar +cd pure-ftpd-1.0.20 +groupadd ftpgroup +useradd -g ftpgroup -d /dev/null -s /etc ftpuser +./configure --with-everything --with-largefile --with-virtualchroot +make install-strip +pure-pw useradd cron -u ftpuser -d /home/cron +/usr/local/sbin/pure-ftpd & diff --git a/agc_2-X/branches/agc_2.0.5/docs/REQUIREMENTS.txt b/agc_2-X/branches/agc_2.0.5/docs/REQUIREMENTS.txt new file mode 100644 index 00000000..5b97e3de --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/REQUIREMENTS.txt @@ -0,0 +1,32 @@ +This is the basic list of requirements for using astGUIclient. It is highly +recommended that you read the SCRATCH_INSTALL doc for more information on +installing the package properly. + +Requirements for installing astGUIclient/VICIDIAL on an Asterisk server: +- Asterisk 1.2.24 recommended but will work with most older Asterisk versions +- Zap trunks(T1/E1 or PSTN lines), IAX2 trunks or SIP trunks required +- If using VOIP trunks and VICIDIAL auto-dial, you must have trunks registered +- It is strongly suggested that you have a zaptel timer like a PSTN/T1/E1 card or ztdummy +- Client phones can be SIP/IAX/Zap +- In extensions.conf you must use the 'o' Dial flag on your outbound extensions +- In extensions.conf you must have the following line in your default context: + exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME})) +- No modification of outgoing callerID (you can set callerID through admin) +- Access to Apache/PHP webserver, php.ini memory_limit set to 48M +- In php.ini you must have uploads turned on to use the web lead loader +- Even so eAccelerator is technically not mandatory, it is strongly recommended. +- SoX 12.17.5 or greater must be installed +- GNU screen 3.9.15 or greater must be installed +- ntp must be installed and syncd to same time source as any other servers +- Perl5 with several CPAN modules(Time::HiRes, DBD::mysql, Net::Telnet, etc) +- asterisk-perl-0.08 perl module required (0.09 version does NOT work) +- Access to MySQL server and mysqlclientlibs, must be version 4.0.X or higher +- Several entries in the crontab for interval-running scripts and keepalives + +Requirements for using the astGUIclient/VICIDIAL web-client versions +- Recommended 500MHz speed or faster and 64MB RAM or more +- Any Unix with Xwindows, Mac OS9/X or Win98/2k/XP operating system +- Recommended use Firefox for all OSs (will run under IE5.0 or greater as well) + Will also run on Opera 8.5+, Mozilla 1.7+, Netscape 8+ and IE 6.0 +- ntp or sntp time syncing to same source as server recommended +- Proper configuration settings for each phone/computer in the phones DB table diff --git a/agc_2-X/branches/agc_2.0.5/docs/SCRATCH_INSTALL.txt b/agc_2-X/branches/agc_2.0.5/docs/SCRATCH_INSTALL.txt new file mode 100644 index 00000000..675470d7 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/SCRATCH_INSTALL.txt @@ -0,0 +1,3240 @@ +Asterisk/astguiclient install from scratch. v.2.0.5 2008-12-03 + By the VICIDIAL group info@vicidial.com + +**** IMPORTANT - In order for vicidial/astguiclient to function correctly please +read the REQUIREMENTS.txt for a minimum requirements list. *** + +End-user Manuals for Agents and Managers are available from http://www.eflo.net + + +This document is meant to be a very in-depth step-by-step explanation of +installing the Asterisk open-source PBX on a Linux system and also installing +the astGUIclient suite. The instructions will assume starting from nothing and +will try to give several side step instructions to account for some differences +in choices of hardware and software. + +The actual installation that I am doing as I write these instructions will be on +the following hardware: + + - Pentium 3 500MHz + - Intel motherboard D815BN + - 256MB PC133 RAM + - 80GB IBM deskstar 7200RPM Hard Drive + - Digium Wildcard Single Span T1 Card T100P + - 2U rackmount case with 250W power supply + - Phone hardware will be a Grandstream BT102 and a Sipura SPA-2000 because they +are so cheap and readily available + +All of these parts, aside from the Digium card and the two SIP VOIP devices, +were purchased from ebay and the entire package(with the two VOIP devices and +all server hardware included) cost me about $1100 to put together including the +phones and Digium adapter. + +We have many other Asterisk servers at our main office, but this one can be +experimented with easily because it was so cheap to make and has a relatively +small capacity when compared with a multi-processor server with a quad span T1 +card. + +This is our test Asterisk server and functions well for a dozen or so extensions +in use if it were to be used in production. A size that is optimal for many +small offices operating with a fractional data/voice T1 for instance. + +For hardware you can use almost any Pentium-class processor(PII, PIII, Athlon, +Xeon, etc), and you can use any digium telco interface card. Both of these +choices will determine what the capacity of your Asterisk server will be. If you +want to do simple IVR or conference calling and a few extensions, then a PIII +with a single Digium T1 card will work just fine for you. If you want to use the +VICIDIAL application, you will want to get as high-powered of a machine as you +can afford and get a digium quad-span T1 card. + +The following is assumed for these installation procedures: +- You have access to a CD burner and 3 blank CDs +- You have some sort of broadband internet connection +- You understand basic linux commands and can use a file editor like vi +- You have all of the necessary hardware: + - a pentium-class computer + - a digium telco interface card with appropriate telco lines + - at least 1 SIP VOIP device + - a Local Area Network(LAN) with extra ports enough for the new server +and the number of phones you want + + + + + +PHASE 1: INSTALLING AN OPERATING SYSTEM + + +This installation will be using Slackware 11 for the linux distribution, +Slackware 12.X will also work with these instructions. There are several easier +linux distributions and there are others that are more popular, but Slackware is +a nice non-commercial distro that has been around for a long time and proven +itself to be a very uncluttered and stable platform for development. + +1. Go to http://www.ultimatebootcd.com/ , download the latest bootcd and +burn it to a CD. This will be needed to partition the hard drive prior to +installation of Slackware linux. The latest version as of this writing is 4.1 +(If you have problems with your hardware booting some of the utilities with 4.1 +I suggest trying 1.7, that version has older utilities, but still gets the job +done and works on every machine I've tried it on). + +2. Insert the ultimatebootcd you just burned into your CDROM drive and boot +to it. You will select "filesystem utilities" and then "XFDISK" + +3. Select any old partitions and delete them and then create 2 new +partitions: + - 70000 MB, select yes to validate, change partition type to "Linux Native" + - 3332 MB, select yes to validate, change partition type to "Linux Swap" + - press F3 to exit and let it do it's thing, this will take an hour or so. + +4. Go to http://www.slackware.com/getslack/ to download Slackware linux. +The most recent release as of this writing is 12.0. This release fits on 3 CDs +or 1 DVD. Download both installation disks from any close server listed on the +download page and burn them both to CDs. + +5. Insert Disk 1 of the Slackware installation CD and boot your computer. +If you have a simple computer with just an IDE drive just hit enter at the boot: +prompt. If you have other hard drive adapters(SCSI/RAID/SATA/etc..) you will +need to look at the Slackware installation help page to determine what boot +image you will need to use to install Slackware correctly. + +6. Login as root and type "setup" at the prompt to go to the setup menu. +7. Go to ADDSWAP and hit Enter +8. Select the swap partition you just created and hit Yes, The swap +partition will then be formatted +9. Select the root partiton you just created as Linux Native and hit +Select, then select "ext3" for the file system, then select 4096 for the inodes +and the root partition will then be formatted +10. Select "Install Slackware from a CD" and hit OK +11. Select "auto" installation and hit OK +12. Select every package except for "KDEI" and hit OK +13. Select "full" installation and hit OK +14. Insert the next Slackware installation disk (disk 2) when it prompts +you, and hit OK to continue +15. Now you will select the boot kernel that you will use from now on. If +you have a simple system with IDE drives you can probably just select "skip" and +go to the next step. If not then you should probably select "cdrom" and select +the kernel from the list that you selected to boot into the installation. +16. You can make a bootdisk if you like, but you don't have to. +17. For Modem you can select "no modem" and hit OK to continue +18. Enable hotplug, hit Yes to continue +19. Install lilo "simple" and hit OK to continue +20. lilo frame buffer console 640x480 is safe choice if you're not sure +21. Optional Lilo append, leave blank and hit OK to continue +22. Lilo destination, I usually choose MBR but root works most of the time +23. Mouse, select the mouse type that you have hooked up, or select ps/2 +24. Load GPM at boot time, Hit Yes to continue +25. select Yes to configure your network +26. Hostname, we are typing "phone" +27. network, we are typing our local domain name +28. IP address, we are selecting Static IP, here's what we enter for +network, you should enter a network setup that will work with your local LAN: + - IP address: 10.10.10.15 + - subnet: 255.255.0.0 + - gateway: 10.10.10.1 + - name server: 10.10.10.1 +29. Accept your network settings +30. Startup services to run, change nothing and select OK to continue +31. select NO for custom screen fonts +32. Hardware clock to UTC, select NO +33. Select your time zone and hit OK +34. I usually select gnome as the window manager, even though you won't be +using it on this machine +35. Select Yes to enter a root password. type something that you will +remember. +36. Setup of Slackware Linux is complete, hit OK and EXIT then press +CTRL-ALT-DELETE to reboot your computer + + + + + +PHASE 2: COMPILING A CUSTOM LINUX KERNEL + + +From this step on you should be able to continue the installation remotely +although it is wise to at least have quick access to the machine if something +goes wrong. + +To connect remotely through SSH on linux type "slogin serveripaddress" or to use +Windows to connect you can use a piece of free software called putty available +here: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html +Also, for windows you can use SSH file transferring(SFTP) with a program called +filezilla: http://filezilla.sourceforge.net/ + +This is an optional step if your linux system is running, but compiling your own +custom kernel is always a way to optimize your system for the hardware you have +installed or a way to remove the unnecesary modules that are in the default +kernel. You will definately want to build your own kernel if you have a multi +processor machine. If you are new to Linux you probably do not want to do this. + +If you are using a newer Digium Octasic-based echo-cancellation quad T1/E1 card +then you need to use a 2.6 Linux kernel in order to use the echo-cancellation +functionality of the card. + +If you want to compile a 2.6 kernel then start with OPTION 1, otherwise to +compile the 2.4 kernel that comes with Slackware(2.4.33) start with OPTION 2: + +OPTION 1: compile Linux kernel 2.6.17 *RECOMMENDED* + +1. cd /usr/src +2. wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.11.tar.gz +3. gunzip linux-2.6.17.11.tar.gz +4. tar xvf linux-2.6.17.11.tar +5. mv -f /usr/src/linux /usr/src/linux-old +6. ln -s /usr/src/linux-2.6.17.11 /usr/src/linux +7. cd linux +8. make mrproper # prep for kernel assembly +9. make menuconfig # launch configuration menu app + (this part is very dependant upon your own hardware) + (what is mentioned below are only changes beyond what is selected by default) + + Block Layer ---> + -> IO Scheduler + this should be set to CFQ if you do not have a hardware caching controller + if you have a hardware caching controller DEADLINE or NO-OP are the best + choices, if you have a battery backuped caching controller that is set to write-back you should use NO-OP. + Processor Type and Features ---> + ->Symmetric multi-processing support + (if you have multiple processors or a Dual-core or HT enabled) + ->High Memory Support + (if you have more than 900MB of System RAM move upto 4GB) + ->Timer frequency (1000 HZ) + (change to 1000Hz if using ztdummy for timer on pre 2.6.17 kernel) + ->[*]Tickless System (enable UNLESS using ztdummy on pre 2.6.17 kernel) + ->[*]Enable Kernel irq balancing + ->Preemption Model (No Forced Preemption (Server)) + (^This one is very important!!!) + Power management options (ACPI, APM) ---> + ->ACPI (Advanced Configuration and Power Interface) Support + (enable all down to Processor and thermal zone) + Bus options (PCI, PCMCIA, EISA, MCA, ISA) ---> + ->[*] PCI Express support + (if using Sangoma PCI Express card) + Networking ---> + Amateur Radio support ---> + <*> Amateur Radio AX.25 Level 2 protocol + [*] AX.25 DAMA Slave support + <*> Amateur Radio NET/ROM protocol + <*> Amateur Radio X.25 PLP (Rose) + (all needed for new Digium Octasic drivers) + Device Drivers ---> + ATA/ATAPI/MFM/RLL support ---> + <*> SCSI emulation support + (needed for SATA drives, also further down check chipset drivers) + SCSI device support ---> + <*> RAID Transport Class + (needed if you are using a RAID) + SCSI low-level drivers ---> + <*> Serial ATA (SATA) support + (required if using SATA drives) + (if using a SCSI RAID card pick correct driver here) + Multi-device support (RAID and LVM) ---> + (select proper RAID types if using Linux RAID) + Network device support ---> + Ethernet (10 or 100Mbit) ---> + Ethernet (1000 Mbit) ---> + (select proper drivers for the eype of network card you have) + Character devices ---> + <*> Enhanced Real Time Clock Support + (double-check that this is enabled, very important) + Real Time Clock ---> + <*> RTC class + (double-check that this is enabled, very important) + File systems ---> + <*> Ext3 journalling file system support + (important if using ext3 filesystem) + pseudo filesystems ---> + <*> Virtual memory file system support + (this is usually checked anyway but mandatory for recording to RAM[tmpfs]) + Library routines ---> + <*> CRC-CCITT functions + <*> CRC16 functions + <*> CRC32c (Castagnoli, et al) Cyclic Redundancy-Check + (important for new Digium Octasic drivers) + EXIT AND SAVE YOUR CONFIGURATION + +10. make clean # clean up the kernel build areas +11. make bzImage # create a kernel bzImage +12. make modules # build the modules into the image +13. make modules_install # install kernel modules +14. cp arch/i386/boot/bzImage /boot/bzImage-XXXX # copy image + (put whatever you want in XXXX, that is your new kernel name) +15. cp System.map /boot/System.map-XXXX # copy system map +16. mv -f /boot/System.map /boot/System.map-orig +17. ln -s /boot/System.map-XXXX /boot/System.map # symlink map +18. vi /etc/lilo.conf # edit the lilo boot config file + image=/boot/bzImage-XXXX # add the new image in above- + label=test-XXXX # the previous one + root=/dev/hda1 # device of root partition + read-only +19. /sbin/lilo # run the lilo reload script +20. vi /etc/fstab # to include the following line for recording to RAM + tmpfs /var/spool/asterisk/monitor tmpfs rw 0 0 +21. shutdown -r 0 # reboot machine and hope it worked + +OPTION 2: compile Linux kernel 2.4.33.3 (not recommended, very old) + +1. cd /usr/src/linux # move to your linux source directory +2. cp .config config.save # copy old config to a save file +3. make mrproper # prep for kernel assembly +4. make menuconfig # launch configuration menu app + (this part is very dependant upon your own hardware) + enable processor version # select the processor that you have + enable SMP # if more than 1 processor or Intel HT + enable high memory () # if more than 1GB of RAM + enable SCSI Multiple # if SCSI drives + enable SCSI devices AMI Megaraid # if SCSI Megaraid adapter + enable 3com network devices # if 3com network card + enable ext3 file system # for ext3 to work + enable all ACPI options # for SMP to work + enable Enhanced Real Time Clock Support in Character devices section + # for SMP to work + enable any other hardware specific options + exit and save configuration +5. make dep # build the kernel dependancies +6. make clean # clean up the kernel build areas +7. make bzImage # create a kernel bzImage +8. make modules # build the modules into the image +9. make modules_install # install kernel modules +10. # nothing# mkinitrd /boot/initrd-XXXXXX.img XXXXXX *not needed on Slackware* +11. cp arch/i386/boot/bzImage /boot/bzImage-XXXXXX # copy image + (put whatever you want in XXXXXX, that is your new kernel name) +12. cp System.map /boot/System.map-XXXXXXN # copy system map +13. mv -f /boot/System.map /boot/System.map-orig +14. ln -s /boot/System.map-XXXXXX /boot/System.map # symlink map +15. vi /etc/lilo.conf # edit the lilo boot config file + image=/boot/bzImage-XXXXXX # add the new image in above- + label=test-XXXXXX # the previous one + root=/dev/hda1 # device of root partition + read-only +16. /sbin/lilo # run the lilo reload script +17. shutdown -r 0 # reboot machine and hope it worked + + +After compiling your kernel you can run a few commands to verify that you are +running your new kernel and that devices are running as they are supposed to: + ps --info (will show you your linux kernel version and other info) + cat /proc/cpuinfo (will show you processor type and more than one if SMP) + top (will show you system memory) + + + + +PHASE 3: INSTALLING SOFTWARE BEFORE ASTERISK + +In this step we will be installing software that Asterisk and/or astGUIclient +needs to be able to function to its fullest ability. Not all of these software +packages are manditory to successfully install Asterisk and some of them can be +installed on other machines on your network like MySQL or Apache. But, in this +installation we are assuming that there are no other machines on our network to +help the Asterisk server, so it must have everything it needs installed locally. + + + +SUBPHASE 3.0: install new Gnu Make + +A new version of the "make" compilation application replaced the 4-year-old +version that most Linux distros(Including Slackware) use. This is only needed +if you will be building Asterisk from the 1.4 release tree. + + - wget http://mirrors.kernel.org/gnu/make/make-3.81.tar.gz + - gunzip make-3.81.tar.gz + - tar xvf make-3.81.tar + - cd make-3.81 + - ./configure + - make + - make install + + + +SUBPHASE 3.1: MySQL requirements + +You must at least have Mysql client installed on each VICIDIAL server, but you +only need one database server. + +MySQL is a fast database system that is very easy to integrate with any +application. You can either install the server on the local Asterisk system or +have one somewhere on your network. For our purposes, we are creating an Asterisk +installation that is self contained and needs no other local servers to operate, +so we will need to install mysql on this machine. +*REQUIRED and OPTIONAL* (only install MySQL server locally if you don't want to use an installation +on another machine, Mysql client is required on all VICIDIAL servers) +NOTE: a minimum of MySQL server 4.0.X is required +You should increase the connect_timeout so connections do not fail on +a more loaded system. + + Go to http://www.mysql.com/ and download the mysql package + - to install this directly on the command line type: + - cd /usr/local + - wget http://mirror.trouble-free.net/mysql_mirror/Downloads/MySQL-4.0/mysql-4.0.27.tar.gz + # http://mirror.trouble-free.net/mysql_mirror/Downloads/MySQL-5.0/mysql-5.0.45.tar.gz + - gunzip mysql-4.0.27.tar.gz + - tar xvf mysql-4.0.27.tar + - cd mysql-4.0.27 + - groupadd mysql + - useradd -g mysql mysql + - "./configure --prefix=/usr/local/mysql --enable-large-files --enable-shared=yes --with-readline" + **** If only MySQL client is needed for DBD::mysql then use this: + - "./configure --prefix=/usr/local/mysql --without-server --enable-shared=yes --with-readline" + **** If using version 5 tree MySQL client then use this: + - "./configure --prefix=/usr/local/mysql --without-server --enable-shared=yes --with-readline --enable-thread-safe-client" + - make + - make install + - scripts/mysql_install_db + - chown -R root /usr/local/mysql + - chown -R mysql /usr/local/mysql/var + - chgrp -R mysql /usr/local/mysql + - cp support-files/my-medium.cnf /etc/my.cnf + - /usr/local/mysql/bin/mysqld_safe --user=mysql --skip-name-resolve --skip-host-cache & + - ln -s /tmp/mysql.sock /var/run/mysql/mysql.sock + **** For some systems you may need to add the mysql/bin directory to your PATH: + - PATH=$PATH:$HOME/bin:/usr/local/mysql/bin/ + - export PATH + **** you may also want to add those two lines to your /root/.bash_profile file + **** For Mysql 5 tree only, you also may need to copy the libmysqlclient.so file to libs + - cp /usr/local/mysql-5.0.45/libmysql/.libs/libmysqlclient.so /usr/lib/ + - cp /usr/local/mysql-5.0.45/libmysql/.libs/libmysqlclient.so.15 /usr/lib/ + - you are done + + ** INSTALLATION NOTE ** + If you are having Linuxthreads problems upon onfigure, just execute the following command: + echo '/* Linuxthreads */' >> /usr/include/pthread.h + + ***** NOTE: if you will be using any of the DBI perl scripts: ***** + Every machine that you will be using the newer BDI perl scripts on will need + to have the perl modules DBI and DBD::mysql installed on them. To do this + you will also need to at least have the MySQL client installed on the server + (see above) then you will need to go to 'cpan' and "install DBI" and + "install DBD::mysql". You may need to "force install DBD::mysql" if the DBD + tests fail on your first try, but that is OK since the tests are not needed + + + +SUBPHASE 3.2: Installing Perl Modules + +NOTE - you can install ActiveState http://www.activestate.com perl which may +improve performance, but it is not required. Here's the source for ActiveState +Perl 5.8: (it's free) + http://downloads.activestate.com/ActivePerl/src/5.8/AP817_source.tgz +I hope to add the lengthy steps for installing it as your default perl on your +server but I need some time and a free machine to do that. + +cpan is the "Comprehensive Perl Archive Network". It's a mirrored archive of +most of the perl modules out there complete with a installation and management +command-line interface. Here's what you do to start it: +*REQUIRED* (needed for perl AGIs) + +1. perl -MCPAN -e shell # type in the command line +2. You will then go through CPAN setup, just hit ENTER for most prompts except +for the mirrors list, you will want to select at least 4 mirrors + - yes for manual configuration + - enter for the next 18 prompts + - for the "make install options" it's a good idea to add UNINST=1 + - enter for the next 4 prompts + - select your continent and country + - select a few cpan mirrors + - enter for the next 2 prompts +3. Once you see the cpan> prompt you can begin installing modules +4. If you've never installed cpan before you should probably install the +following modules first: (say YES if asked to install prerequisites) + - install MD5 + - install Digest::MD5 + - install Digest::SHA1 + - install readline (just hit Enter when it asks for operator) + - install Bundle::CPAN + - reload cpan +- then you can install other modules: + - install DBI + - force install DBD::mysql (must at least have mysqlclientlibs installed) + - install Net::Telnet + - install Time::HiRes + - install Net::Server + - install Switch + - install Mail::Sendmail + - install Unicode::Map (needed for super list loader Excel) + - install Jcode (needed for super list loader Excel) + - install Spreadsheet::WriteExcel (needed for super list loader Excel) + - install OLE::Storage_Lite (needed for super list loader Excel) + - install Proc::ProcessTable (needed for super list loader Excel) + - install IO::Scalar (needed for super list loader Excel) + - install Spreadsheet::ParseExcel (needed for super list loader Excel) +- if Spreadsheet::ParseExcel fails to install try running the following: + - force install Scalar::Util (this will enable weak references) + - install Spreadsheet::ParseExcel +- then quit cpan, you are done +5. Go to http://asterisk.gnuinter.net/ and download the asterisk-perl module +(backup link: http://downloads.vicidial.com/packages/asterisk-perl-0.08.tar.gz) +NOTE: Do NOT use the 0.09 version, it does not work with VICIDIAL + - to install this directly on the command line type: + - cd /usr/local + - wget http://asterisk.gnuinter.net/files/asterisk-perl-0.08.tar.gz + - gunzip asterisk-perl-0.08.tar.gz + - tar xvf asterisk-perl-0.08.tar + - cd asterisk-perl-0.08 + - perl Makefile.PL + - make all + - make install + - you are done + + + +SUBPHASE 3.3: Installing other utilities + +Sox is an audio utility that allows you to mix audio files together at their +start point into one file. it is necessary for Asterisk recordings that record +in and out as separate files +*REQUIRED* (needed for recording mixing) + +1. Go to http://sourceforge.net/projects/sox/ and download the sox package + - to install this directly on the command line type: + - cd /usr/local + - cd /usr/local + - wget http://easynews.dl.sourceforge.net/sourceforge/sox/sox-14.0.1.tar.gz + - gunzip sox-14.0.1.tar.gz + - tar xvf sox-14.0.1.tar + - cd sox-14.0.1 + - ./configure --disable-shared + - make (if alsa.o errors add --disable-alsa-dsp to configure and redo) + - make install + - you are done + + +LAME is an MP3 encoder used to convert audio files from WAV to MP3. We prefer GSM +usually, but some users have standardized on MP3 so they would need this utility +to be loaded to use that option. +*OPTIONAL* (only needed if you will be converting recordings to MP3) + +2. Go to http://lame.sourceforge.net/ and download the lame package + - to install this directly on the command line type: + - cd /usr/local + -wget http://easynews.dl.sourceforge.net/sourceforge/lame/lame-3.96.1.tar.gz + -gunzip lame-3.96.1.tar.gz + -tar xvf lame-3.96.1.tar + -cd lame-3.96.1 + -./configure + -make + -make install + - you are done + + + +Screen is a terminal emulator that allows you to run a process as command line +and be able to detach from them('Ctrl+a' then 'd') and log all output of the +terminal to a screenlog file if desired(add a '-L' to the launching command). +In our installations this is how we launch Asterisk upon startup and still have +the ability to log output and still attach to the screen that executed asterisk +originally. +*REQUIRED* *MANDITORY FOR VICIDIAL SERVERS* + +3. Go to http://www.gnu.org/software/screen/ and download the screen package + - to install this directly on the command line type: + - cd /usr/local + - wget http://ftp.gnu.org/gnu/screen/screen-4.0.2.tar.gz + or for older version: + - wget http://mirrors.kernel.org/gnu/screen/screen-3.9.15.tar.gz + - gunzip screen-4.0.2.tar.gz + - tar xvf screen-4.0.2.tar + - cd screen-4.0.2 + - ./configure + - make + - make install + - you are done + + +ttyload is a simple terminal application that shows the processor load in a +graphical time-based scrolling graph. We use it to view how loaded the system is +and it visualizes load spikes very well +*OPTIONAL* (only for obsessive admins like me) + +4. Go to http://www.daveltd.com/src/util/ttyload/ and download the ttyload +package + - to install this directly on the command line type: + - cd /usr/local + - wget http://www.daveltd.com/src/util/ttyload/ttyload-0.4.4.tar.gz + - gunzip ttyload-0.4.4.tar.gz + - tar xvf ttyload-0.4.4.tar + - cd ttyload-0.4.4 + - make + - ln -s /usr/local/ttyload-0.4.4/ttyload /usr/bin/ttyload + - you are done + + +ntpd is the network time protocol daemon that matches the time on your machine +with the time of a master server somewhere in the world. We use it to make sure +the time is the same on our client computers and our servers. +*MANDITORY FOR VICIDIAL SERVERS* (install on server and all clients) + +5. Go to http://www.ntp.org/ and download the ntpd package + - to install this directly on the command line type: + - cd /usr/local + - wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.2p3.tar.gz + If you get compilation errors here try 4.1.2: + - wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.1.2.tar.gz + - gunzip ntp-4.2.2p3.tar.gz + - tar xvf ntp-4.2.2p3.tar + - cd ntp-4.2.2p3 + - ./configure + - make + - make install + - vi /etc/ntp.conf (change to just 1 line: "server ntp.myfloridacity.us") + - cp /etc/ntp.conf /etc/ntpd.conf # just to be sure + - /usr/local/bin/ntpdate -u ntp.myfloridacity.us # initial sync + - /usr/sbin/ntpd # run it + - you are done + + +iftop is a good console bandwidth visualization tool that shows you active +connections, where they are going to/from and how much of your precious bandwidth +they are using. *OPTIONAL* +NOTE: another good network analysis utility is "iptraf" and is on most system + +6. Go to http://www.ex-parrot.com/~pdw/iftop/ and download the package + - to install this directly on the command line type: + - cd /usr/local + - wget http://www.tcpdump.org/release/libpcap-0.9.4.tar.gz + - gunzip libpcap-0.9.4.tar.gz + - tar xvf libpcap-0.9.4.tar + - cd libpcap-0.9.4 + - ./configure + - make + - make install + - cd /usr/local + - wget http://www.ex-parrot.com/~pdw/iftop/download/iftop-0.17.tar.gz + - gunzip iftop-0.17.tar.gz + - tar xvf iftop-0.17.tar + - cd iftop-0.17 + - ./configure + - make + - make install + - iftop + - you are done + + +ploticus is a free graph creation package that allows you to create line graphs +within PNG files simply by creating a config file and a data file. We use this +package along with the included PHP script to generate server performance graphs +that can be displayed real-time on a web page. +*OPTIONAL* (only needed for server performance graphing web reports) + +7. Go to http://ploticus.sourceforge.net/ and download the package + - to install this directly on the command line type: + NOTE: you may have to edit the Makefile to remove X11 if you don't have it + - cd /usr/local + - wget http://superb-west.dl.sourceforge.net/sourceforge/ploticus/pl240src.tar.gz + - gunzip pl240src.tar.gz + - tar xvf pl240src.tar + - cd pl240src/src/ + - make clean + - make + - make install + - you are done + NOTE: uncomment these lines to compile on systems without X11(v232): + NOXFLAG = -DNOX11 + XLIBS = + XOBJ = + NOTE: for the graphics to work on the AST_server_performance page you will + need the 'pl' script to be linked or copied into your htdocs/vicidial/ploticus directory + NOTE: you may need to edit the Makefile for ploticus if you do not have X11 + + +openssh is a remote login protocol server that is always a good idea to have +updated on your system, so we're going to install a new version now. +*OPTIONAL* (only updated as a precaution, not manditory) + [NOTE: newer zlib is needed before installing] + +8. Go to http://www.openssh.org/ and download the linux source for openssh + - to install this directly on the command line type: + - cd /usr/local + - wget http://www.zlib.net/zlib-1.2.3.tar.gz + - gunzip zlib-1.2.3.tar.gz + - tar xvf zlib-1.2.3.tar + - cd zlib-1.2.3 + - ./configure + - make + - make install + - cd /usr/local + - wget http://ftp.openssh.zone-h.org/pub/OpenBSD/OpenSSH/portable/openssh-5.0p1.tar.gz + - gunzip openssh-5.0p1.tar.gz + - tar xvf openssh-5.0p1.tar + - cd openssh-5.0p1 + - ./configure + - make + - make install + - you are done + + +openssl is the open-source SSL libraries package, and to install a fake SSL cert +locally and have it work with apache, you need it installed on your machine +*OPTIONAL* (only install openssl if you want to use SSL secured web pages on +your locally installed copy of Apache web server) + +9. Go to http://www.openssl.org/ and download the linux source for openssl + - to install this directly on the command line type: + - cd /usr/local + - wget http://www.openssl.org/source/openssl-0.9.8g.tar.gz + - gunzip openssl-0.9.8g.tar.gz + - tar xvf openssl-0.9.8g.tar + - cd openssl-0.9.8g + - ./config + - make + - make install + - you are done + + +apache is a web server that allows you to use many different modules with it to +extend it's functionality. In order to use some of the astguiclient +functionalities we need to have Apache and PHP installed on this machine. +*OPTIONAL* (only install Apache and PHP locally if you don't want to use an +installation on another machine) + +10. Go to http://www.apache.org/ and download the apache unix source + Go to http://www.php.net/ and download the php unix source code + - to install this directly on the command line type: + - cd /usr/local + - wget http://mirror.candidhosting.com/pub/apache/httpd/httpd-2.2.8.tar.gz + - gunzip httpd-2.2.8.tar.gz + - tar xvf httpd-2.2.8.tar + - wget http://us2.php.net/distributions/php-5.2.6.tar.gz + NOTE: PHP 5.1.1 has also been tested with this release + - gunzip php-5.2.6.tar.gz + - tar xvf php-5.2.6.tar + - cd httpd-2.2.8 + - ./configure --enable-so --with-apxs2 + - make + - make install + - cd ../php-5.2.6 + - ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql + - make + - make install + - cp php.ini-dist /usr/local/lib/php.ini + NOTE: you will want to make sure NOTICE logging is turned off: + error_reporting = E_ALL & ~E_NOTICE ; (this is default) +!!! REQUIRED !!! be sure the memory limit for scripts in php.ini is AT LEAST 48M: + memory_limit = 48M + Make sure short tags are enabled: + short_open_tag = On + some other fields to change if using web-based lead loader: + max_execution_time = 330 + max_input_time = 360 + post_max_size = 48M + upload_max_filesize = 42M + default_socket_timeout = 360 + + - vi /usr/local/apache2/conf/httpd.conf + add the following lines: + "AddType application/x-httpd-php .php .phtml" + "LoadModule php4_module libexec/libphp5.so" + or + "LoadModule php4_module modules/libphp5.so" + modify the index.html line and add index.php to the list + + to disable logging, change: + "CustomLog logs/access_log common" + to this: + "CustomLog /dev/null common" + + to enable web browsing of Recordings on Asterisk server, add this: + Alias /RECORDINGS/ "/var/spool/asterisk/monitorDONE/" + + + Options Indexes MultiViews + AllowOverride None + Order allow,deny + Allow from all + + Forcetype application/forcedownload + + + + - /usr/local/apache2/bin/apachectl start + - go to http://your-new-asterisk-server-ipaddress/ to see if it worked + - you are done + NOTE: If using PHP5 you may need to add the following line to php.ini: + short_open_tag = On + + OPTIONAL- Load eAccelerator PHP-caching application: + Even so this is technically an optional part, it is strongly recommended that you install eAccelerator + since it will slash PHPs processing power requirements greatly. Without eAccelerator load on the system + can be ten times as high, which can cause all kinds of problems, this is especially true for single + system setups. + - Go to http://eaccelerator.net and download the most recent package + - cd /usr/local + - wget http://bart.eaccelerator.net/source/0.9.5/eaccelerator-0.9.5.zip + - unzip eaccelerator-0.9.5.zip + - cd eaccelerator-0.9.5 + - export PHP_PREFIX="/usr/local" + - $PHP_PREFIX/bin/phpize + - ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config + - make + - make install + - vi /usr/local/lib/php.ini + Add the following lines to the dynamic extensions section of php.ini: + (you may need to change the extension location depending on your install of php) + zend_extension="../../../usr/local/eaccelerator-0.9.5/modules/eaccelerator.so" + eaccelerator.shm_size="48" + eaccelerator.cache_dir="/tmp/eaccelerator" + eaccelerator.enable="1" + eaccelerator.optimizer="1" + eaccelerator.check_mtime="1" + eaccelerator.debug="0" + eaccelerator.filter="" + eaccelerator.shm_max="0" + eaccelerator.shm_ttl="0" + eaccelerator.shm_prune_period="0" + eaccelerator.shm_only="0" + eaccelerator.compress="1" + eaccelerator.compress_level="9" + - mkdir /tmp/eaccelerator + - chmod 0777 /tmp/eaccelerator + # to verify installation: + - php -v + + + + +balance is a load-balancing application for Linux that will allow you to spread +the load of your web traffic across many servers. If you are running more than +70 agents on a single server you may want to install this application and build +another cheap web server to handle the extra load. +*OPTIONAL* + +11. Go to http://balance.sourceforge.net to download the most recent source version + - to install this directly on the command line type: + - cd /usr/local + - wget http://voxel.dl.sourceforge.net/sourceforge/balance/balance-3.34.tgz + - gunzip balance-3.34.tgz + - tar xvf balance-3.34.tar + - cd balance-3.34 + - make + - make install + - /usr/sbin/balance -f 81 localhost:80 10.10.10.16:80 + That command will take port 81 traffic and send it evenly to the local + server and the 10.10.10.16 server reducing the load and speeding up + the applications. More info on balance: http://www.inlab.de/balance.pdf + + +subversion is the new code control framework use by the Asterisk community. If +you want to use the latest development code of Asterisk you will need to have +this loaded on your system. +*OPTIONAL* + +12. Go to http://subversion.tigris.org to download the most recent source version + - to install this directly on the command line type: + - cd /usr/local + - wget http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz + - gunzip subversion-1.3.2.tar.gz + - tar xvf subversion-1.3.2.tar + - cd subversion-1.3.2 + - ./configure + - make + - make install + + +mtop is a great utility for real-time monitoring of mysql and the queries that +are running in it. +*OPTIONAL* + 13. Go to http://mtop.sourceforge.net to download the most recent version + - to install this directly on the command line type: + - cd /usr/local + - wget http://superb-east.dl.sourceforge.net/sourceforge/mtop/mtop-0.6.6.tar.gz + - gunzip mtop-0.6.6.tar.gz + - tar xvf mtop-0.6.6.tar + - cd mtop-0.6.6 + - cpan + - install Curses + - install Getopt::Long + - install Net::Domain + - quit + - perl Makefile.PL + - make + - make install + - /usr/local/bin/mtop --dbuser=root --seconds=3 + + +sipsak is an optional utility that VICIDIAL can use to send messages to an +agent's SIP-based phone(like the Snom 320) to display text on their LCD screen. +If you want to use this, make sure it is installed on the same server that your +web server is installed on(Apache). +*OPTIONAL* + 14. Go to http://sipsak.org to download the most recent version + - to install this directly on the command line, type: + - cd /usr/local + - wget http://download.berlios.de/sipsak/sipsak-0.9.6-1.tar.gz + - gunzip sipsak-0.9.6-1.tar.gz + - tar xvf sipsak-0.9.6-1.tar + - cd sipsak-0.9.6-1 + - ./configure + - make + - make install + - /usr/local/bin/sipsak --version + + + + + +PHASE 4: INSTALLING ASTERISK + +OK, all the prep work is done, now it's time to start having fun with Asterisk. +There are two basic ways to install Asterisk, an official release(at the time of +this writing the official release is 1.2.30.2) and the SVN_DEV version(development +branch). We recommend using Asterisk 1.2.30.2. These instructions are how we get +our Asterisk system with it's T1 line installed with our 2 SIP VOIP devices and +one IAX2 softphone. + +NOTE: If you want to use Asterisk 1.4, you will need to make sure that you set +the servers table "asterisk_version" field to the proper version number and you +can use the docs/conf_examples/extensions.conf.sample-1.4 file for your default +dialplan + +NOTE: If you want to use release 1.0.8 or 9 we would recommend either using the +CVS_v1-0 branch where the issues are fixed, or patching your 1.0.8/1.0.9 code +with the following patch: +(http://astguiclient.sourceforge.net/experimental_code/localmasq.patch) +- If you do patch your system make sure you put the asterisk version + field for the server on the admin pages as '1.0.11.1' + +1. follow these command line steps: + - mkdir /usr/src/asterisk + - cd /usr/src/asterisk + A. if you want 1.2 release (reliable with new features): + - wget http://ftp.digium.com/pub/asterisk/releases/asterisk-1.2.30.2.tar.gz + - wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.2.27.tar.gz + - wget http://ftp.digium.com/pub/libpri/releases/libpri-1.2.5.tar.gz + - gunzip asterisk-1.2.30.2.tar.gz + - tar xvf asterisk-1.2.30.2.tar + - gunzip zaptel-1.2.27.tar.gz + - tar xvf zaptel-1.2.27.tar + - gunzip libpri-1.2.5.tar.gz + - tar xvf libpri-1.2.5.tar + B. if you want latest SVN_1.2 version (release tree with new patches) + - svn checkout http://svn.digium.com/svn/asterisk/branches/1.2 asterisk-1.2 + - svn checkout http://svn.digium.com/svn/zaptel/branches/1.2 zaptel-1.2 + - svn checkout http://svn.digium.com/svn/libpri/branches/1.2 libpri-1.2 + C. if you want latest SVN_DEV version (not recommended) [1.6 tree] + - svn checkout http://svn.digium.com/svn/asterisk/trunk asterisk + - svn checkout http://svn.digium.com/svn/zaptel/trunk zaptel + - svn checkout http://svn.digium.com/svn/libpri/trunk libpri + - ALL -> + - (1.0 tree)if you want to allow for more than 100 voicemail messages in a + mailbox(warning this will slightly increase memory usage when a call + is in voicemail) edit the voicemail source code file: + - vi /usr/src/asterisk/asterisk/apps/app_voicemail.c + edit this line and change 100 to 999: + #define MAXMSG 100 + - (1.0 tree)if you have no X server installed on your Asterisk machine, then you + will need to comment out the gtk console lib(only affects 1.0 releases) + edit the voicemail source code file: + - vi /usr/src/asterisk/asterisk/pbx/Makefile + edit this line at the top and just add a hash # in front of it as shown: + #PBX_LIBS+=$(shell $(CROSS_COMPILE_BIN)gtk-config --cflags >/dev/null 2>/dev/null && echo "pbx_gtkconsole.so") + + - cd ./zaptel-1.2.27 + - make clean + - make + - make install + - cd ../libpri-1.2.5 + - make clean + - make + - make install + - cd ../asterisk-1.2.30.2 + - (1.2 tree) If you want to include Answering Machine Detection ability + you will need to download app_amd.c and amd.conf and alter the + apps/Makefile to compile it properly + - cd apps + - wget http://www.eflo.net/files/app_amd2.c + - mv app_amd2.c app_amd.c + - vi Makefile + replace this line(line 32): + app_mixmonitor.so app_stack.so + with this line: + app_mixmonitor.so app_stack.so app_amd.so + - wget http://www.eflo.net/files/amd2.conf + - mkdir /etc/asterisk + - mv amd2.conf /etc/asterisk/amd.conf + *OPTIONAL*(1.2.23 thru 1.2.30.2) apply the meetme DTMF passthru patch + - wget http://www.eflo.net/files/meetme_DTMF_passthru-1.2.23.patch + - patch -p1 < ./meetme_DTMF_passthru-1.2.23.patch + - File to patch: app_meetme.c + *OPTIONAL*(1.2.12.1 thru 1.2.30.2) apply the meetme volume control patch + *Different patches available for 1.2.7.1 through 1.2.14 + - wget http://www.eflo.net/files/meetme_volume_control_1.2.16.patch + - patch -p1 < ./meetme_volume_control_1.2.16.patch + - File to patch: app_meetme.c + - cd ../ + + -(1.2 tree) apply the cli delimiter patch + - wget http://www.eflo.net/files/cli_chan_concise_delimiter.patch + - patch -p1 < ./cli_chan_concise_delimiter.patch + - File to patch: cli.c + + -(gcc version 4.2) apply the gsm audio codec patch to fix gsm + - wget http://downloads.vicidial.com/asterisk-patches/1.2-gsm-gcc4.2.patch + - patch -p1 ./codecs/gsm/Makefile 1.2-gsm-gcc4.2.patch + + *OPTIONAL*(1.2.14 thru 1.2.30.2) rewrite of waitforsilence + - wget http://downloads.vicidial.com/asterisk-patches/app_waitforsilence.c + - mv -f app_waitforsilence.c apps/app_waitforsilence.c + + *OPTIONAL* shorter enter and leave sounds for meetme + - wget http://www.eflo.net/files/enter.h + - wget http://www.eflo.net/files/leave.h + - mv -f enter.h apps/enter.h + - mv -f leave.h apps/leave.h + + + - make clean + - make + - make install + - make samples # this makes sample conf files (only use for new installs) + + - modprobe zaptel # this loads the zaptel module + - install the module for the digium device that you are using, we are +using the T100P single span T1 card so we use: + - modprobe wct1xxp + Here's the list of all digium cards and the modules you use with +them: + Card Module + ----------------- + TDM400P wctdm + X100P wcfxo + TDM* wcfxs + S100U wcusb + T100P wct1xxp + E100P wct1xxp + T400P tor2 + E400P tor2 + TE110P wcte11xp + TE410P wct4xxp + TE405P wct4xxp + TE411P wct4xxp + TE406P wct4xxp + TE210P wct2xxp + TE205P wct2xxp + TDM2400P wctdm24xxp + - If you have chosen a Sangoma T1/E1 or analog card, you will need to + follow their instructions for installation of their driver software + LATEST Sangoma Wanpipe drivers: + ftp://ftp.sangoma.com/linux/current_wanpipe/wanpipe-3.2.4.tgz + - now your asterisk installation is built and loaded and it's time to +configure it. + +NOTES: If you want to install zttool diagnostics you may need the newt package installed: + - wget http://downloads.vicidial.com/packages/newt-0.51.6.tar.gz + - gunzip newt-0.51.6.tar.gz + - tar xvf newt-0.51.6.tar + - cd newt-0.51.6 + - ./configure + - make + - make install + - cd ../ + - ln -s /usr/lib/libnewt.so.0.51.6 /usr/lib/libnewt.so.0.51 +then go to your zaptel folder and do 'make zttool' + +Digium/Clone X100P EXAMPLE: +Here is an example of a configuration where an X100P single FXO card is used for +zaptel timing and not used for calling: + +NOTE: you can get an X100P through ebay for $10-$30 that will work with Asterisk + + /etc/zaptel.conf: + loadzone=us + defaultzone=us + fxsks=1 + + /etc/asterisk/zapata.conf: + [trunkgroups] + [channels] + context=unused + signalling=fxs_ks + channel => 1 + + Added this to the rc.local file: + # Load zaptel drivers for x100p + modprobe zaptel + modprobe wcfxo + +If you will be doing native music-on-hold for your inbound calls, you will need +musiconhold audio files to be converted to native formats like GSM, ULAW and ALAW: + + cd /var/lib/asterisk/mohmp3/ + mpg123 -s --rate 44100 --mono /var/lib/asterisk/mohmp3/fpm-sunshine.mp3 > /var/lib/asterisk/mohmp3/fpm-sunshine.raw + sox -r 44100 -w -s -c 1 fpm-sunshine.raw -r 8000 -c 1 fpm-sunshine.wav + sox fpm-sunshine.wav -t gsm -r 8000 -b -c 1 fpm-sunshine.gsm + sox fpm-sunshine.wav -t ul -r 8000 -b -c 1 fpm-sunshine.pcm + mpg123 -s --rate 44100 --mono /var/lib/asterisk/mohmp3/fpm-calm-river.mp3 > /var/lib/asterisk/mohmp3/fpm-calm-river.raw + sox -r 44100 -w -s -c 1 fpm-calm-river.raw -r 8000 -c 1 fpm-calm-river.wav + sox fpm-calm-river.wav -t gsm -r 8000 -b -c 1 fpm-calm-river.gsm + sox fpm-calm-river.wav -t ul -r 8000 -b -c 1 fpm-calm-river.pcm + mpg123 -s --rate 44100 --mono /var/lib/asterisk/mohmp3/fpm-world-mix.mp3 > /var/lib/asterisk/mohmp3/fpm-world-mix.raw + sox -r 44100 -w -s -c 1 fpm-world-mix.raw -r 8000 -c 1 fpm-world-mix.wav + sox fpm-world-mix.wav -t gsm -r 8000 -b -c 1 fpm-world-mix.gsm + sox fpm-world-mix.wav -t ul -r 8000 -b -c 1 fpm-world-mix.pcm + mkdir ../orig-mp3 + mv -f *.mp3 ../orig-mp3/ + mkdir ../quiet-mp3 + cd ../quiet-mp3 + sox -r 44100 -w -s -c 1 ../mohmp3/fpm-sunshine.raw -r 8000 -c 1 fpm-sunshine.wav vol 0.25 + sox fpm-sunshine.wav -t gsm -r 8000 -b -c 1 fpm-sunshine.gsm + sox fpm-sunshine.wav -t ul -r 8000 -b -c 1 fpm-sunshine.pcm + sox -r 44100 -w -s -c 1 ../mohmp3/fpm-calm-river.raw -r 8000 -c 1 fpm-calm-river.wav vol 0.25 + sox fpm-calm-river.wav -t gsm -r 8000 -b -c 1 fpm-calm-river.gsm + sox fpm-calm-river.wav -t ul -r 8000 -b -c 1 fpm-calm-river.pcm + sox -r 44100 -w -s -c 1 ../mohmp3/fpm-world-mix.raw -r 8000 -c 1 fpm-world-mix.wav vol 0.25 + sox fpm-world-mix.wav -t gsm -r 8000 -b -c 1 fpm-world-mix.gsm + sox fpm-world-mix.wav -t ul -r 8000 -b -c 1 fpm-world-mix.pcm + rm -f ../mohmp3/*.raw + + + +PHASE 5: CONFIGURING ASTERISK AND YOUR SIP PHONES + +In this phase we will configure the telco lines, the SIP phones, the extensions, +meetme(conference calling) rooms, dialplan extensions and the voicemail boxes. +After this phase your Asterisk system should be able to place and receive calls +to and from the SIP phones you have installed over the telco lines you've hooked +up. There are several things that we will not be showing how to do because +Asterisk is extremely flexible and has so many different ways of being +configured, that if we were to try to explain them all in this document it would +be 99% asterisk configuration and be 20,000 lines long, and that would +just be a barrier for those who just want to get it set up. The "Wiki" and the +mailing list are two very good resources for finding answers if you run into +problems configuring your system, here are links to them: +The Wiki: http://www.voip-info.org/tiki-index.php +The Lists: http://www.asterisk.org/index.php?menu=support + +I need to note that it is possible to install Asterisk and use astGUIclient +applications with no Zaptel(Digium/Sangoma/Rhino/etc...) cards installed, but it +is not recommended even if you are not going to use Zap trunks for your inbound- +outbound calls with no real Zap devices, you would need to use a dummy timer +(zt_dummy) based on you USB ports to get meetme conference rooms working +properly and you may have other issues along the way. We would at least +recommend getting a X100 or X101 board from Digium or a clone manufacturer so +there is a dedicated hardware timer in place on your system. + + + +SUBPHASE 5.0: setting up your Asterisk configuration files + +1. edit zaptel.conf + - vi /etc/zaptel.conf + There are many examples inside of the zaptel.conf file that is +generated with the "make samples" command that we issued at the end +of the last phase. There are many different parameters for the +different telco line possibilities, because we are installing a T1 +that is NON-PRI-isdn B8ZS ExtendedSuperframe(ESF) E&M Wink start and 24 +channels, we will use the following settings for zaptel.conf: + span=1,1,0,esf,b8zs + e&m=1-24 + loadzone = us + defaultzone=us + FOR A PRI YOU WOULD USE SOMETHING LIKE THIS: + span=2,2,0,esf,b8zs + bchan=25-47 + dchan=48 + +2. edit zapata.conf + - vi /etc/asterisk/zapata.conf + There are also many examples of how to configure zapata.conf online. +we decided to separate our T1 into two line groups to keep some +incoming calls from being busy if we filled up all of our lines. +Here's what we used(you can set echocancel=no if you are using PRIs): + [channels] + group=1 + language=en + signalling=em_w + usecallerid=yes + callerid=asreceived + context=default + echocancel=64 + echocancelwhenbridged=yes + rxgain=1.0 + txgain=1.0 + channel => 1-2 + group=2 + language=en + signalling=em_w + usecallerid=yes + callerid=asreceived + context=default + echocancel=64 + echocancelwhenbridged=yes + rxgain=1.0 + txgain=1.0 + channel => 3-24 + FOR A PRI YOU WOULD USE SOMETHING LIKE THIS: + group=3 + language=en + signalling=pri_net + usecallerid=yes + callerid=asreceived + callprogress=no + busydetect=no + context=default + echocancel=64 + echocancelwhenbridged=yes + rxgain=1.0 + txgain=1.0 + channel => 25-47 + +3. edit sip.conf + - vi /etc/asterisk/sip.conf + here is where we will edit the configuration of our SIP compatible +phone devices. As stated at the beginning, we will be setting up a +Grandstream Budgetone 102 phone and a Sipura/Linksys SPA-2000 adapter with +two analog phones connected(each with it's own extension). Here are +the settings we used to set each of them up: + [general] + port = 5060 + bindaddr = 0.0.0.0 + context = default + ; register SIP account on remote machine if using SIP trunks + ; register => testSIPtrunk:test@10.10.10.16:5060 + ; + ; setup account for SIP trunking: + ; [SIPtrunk] + ; disallow=all + ; allow=ulaw + ; allow=alaw + ; type=friend + ; username=testSIPtrunk + ; secret=test + ; host=10.10.10.16 + ; dtmfmode=inband + ; qualify=1000 + + [gs102] + disallow=all + allow=ulaw + allow=alaw + type=friend + username=gs102 + secret=test + host=dynamic + dtmfmode=inband + defaultip=10.10.10.16 + qualify=1000 + mailbox=102 + [spa2000] + disallow=all + allow=ulaw + allow=alaw + type=friend + username=spa2000 + secret=test + host=dynamic + dtmfmode=inband + defaultip=10.10.10.17 + qualify=1000 + mailbox=2000 + [spa2001] + disallow=all + allow=ulaw + allow=alaw + type=friend + username=spa2001 + secret=test + host=dynamic + dtmfmode=inband + defaultip=10.10.10.17 + qualify=1000 + mailbox=2001 +4. edit meetme.conf + - vi /etc/asterisk/meetme.conf + This is known as the conference calling configuration file. We are +just going to add two conferences(one without a pin number and one +with a pin number required for entry): + [rooms] + conf => 8600 + conf => 8601,1234 +5. edit iax.conf + - vi /etc/asterisk/iax.conf + This is the IAX configuration file, below is a very simple config for + having two Asterisk servers connect natively to each other, if you + will be using this, make sure to add the optional lines included + after the extensions.conf section. Also, there is an account setup + here for a firefly IAX softphone to use.(details on that later) + * IMPORTANT NOTE * if you plan to use IAX2 trunks for VICIDIAL + outbound dialing you must register with the remote IAX2 server + through the iax.conf file, not just in the Dial or TRUNK line + of the extensions.conf dialplan. + [general] + bindport=4569 + iaxcompat=yes + bandwidth=high + allow=all + allow=gsm ; Always allow GSM, it's cool :) + jitterbuffer=no + tos=lowdelay + register => ASTtest1:test@10.10.10.16:4569 + + [ASTtest2] + type=friend + accountcode=IAXtrunk2 + context=default + auth=plaintext + host=dynamic + permit=0.0.0.0/0.0.0.0 + secret=test + disallow=all + allow=ulaw + qualify=yes + + [firefly01] + type=friend + accountcode=firefly01 + context=default + auth=plaintext + host=dynamic + permit=0.0.0.0/0.0.0.0 + secret=test + disallow=all + allow=gsm + qualify=yes + +##### EXAMPLE - This is a config example for setting up Binfone service(http://www.binfone.com) + +NOTE: The "1112223333" is your iax username. When you signup, Binfone creates +a default IAX username for you, (a 5 digit number, usually, starting with a 1). +This works for most customers. Folks that want inbound then also sign up for +DIDs, each of which has its own IAX username. (Which is the 10 digit DID). +Each username has its own password which is managed through their web interface. + +NOTE: If you will be using the G729 codec through binfone there is now a +dedicated G729 gateway that only handles G729 calls. Please use this address to +register to if you plan on using G729 as your codec: iax-g729.binfone.com + + iax.conf: + [general] + register => 1112223333:PASSWORD@iax.binfone.com + + [1112223333] + auth=md5 + type=friend + username=1112223333 + secret=PASSWORD + host=iax.binfone.com + context=incoming-IAX-context-in-extensions.conf + + + extensions.conf: + [global] + TRUNKBINFONE=IAX2/1112223333:PASSWORD@iax.binfone.com ; IAX trunk interface + + [default] + exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) + exten => _91NXXNXXXXXX,2,Dial(${TRUNKIAX}/${EXTEN:1},55,o) + exten => _91NXXNXXXXXX,3,Hangup + + [incoming] + exten => 1112223333,1,AGI(agi://127.0.0.1:4577/call_log) + exten => 1112223333,2,Dial(sip/gs102,55,o) + exten => 1112223333,3,Hangup + + + dnsmgr.conf: # It is very helpful to enable dnsmgr + [general] + enable=yes ; enable creation of managed DNS lookups + refreshinterval=300 ; refresh managed DNS lookups every seconds + + +##### END EXAMPLE + + +6. edit voicemail.conf + - vi /etc/asterisk/voicemail.conf + This is where we set up the voicemail boxes for the extensions that +we have set up: + [general] + format=wav49|gsm|wav + serveremail=asterisk + attach=yes + skipms=3000 + maxsilence=10 + silencethreshold=128 + maxlogins=3 + [zonemessages] + eastern=America/New_York|'vm-received' Q 'digits/at' IMp + central=America/Chicago|'vm-received' Q 'digits/at' IMp + central24=America/Chicago|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' + [default] + 102 => 102,Grandstream Mailbox,root@localhost + 2000 => 2000,Sipura Mailbox 1 + 2001 => 2001,Sipura Mailbox 2 + 3001 => 3001,Firefly Mailbox 1 +7. edit manager.conf + - vi /etc/asterisk/manager.conf + This is where we set up remote logins to the asterisk manager +interface, to allow sending of Action commands from remote +connections to the Asterisk server, this will be important for the +astguiclient applications so let's set that up now: + [general] + enabled = yes + port = 5038 + bindaddr = 0.0.0.0 + [cron] + secret = 1234 + read = system,call,log,verbose,command,agent,user + write = system,call,log,verbose,command,agent,user + [updatecron] + secret = 1234 + read = command + write = command + [listencron] + secret = 1234 + read = system,call,log,verbose,command,agent,user + write = command + [sendcron] + secret = 1234 + read = command + write = system,call,log,verbose,command,agent,user + +8. edit logger.conf + - vi /etc/asterisk/logger.conf + This file determines the messages that are logged to the console and +the /var/log/asterisk/messages file. We usually turn on full logging +to the messages file to more easily diagnose any problems that we may +run into, the problem with this is that is does produce very large +files, so be warned: + [logfiles] + console => notice,warning,error + messages => notice,warning,error,debug,verbose +9. edit extensions.conf + - vi /etc/asterisk/extensions.conf + This is known as the dialplan. Since we are installing a +Long-Distance T1 with one 800 number on it, we will need to put that +800 number in the plan, as well as how to dial out through the T1 +lines and we will need to add an entry for each of the phones that we +have just set up in the sip.conf file. There are many examples both +in the sample file and online for what to put in your dialplan, here +is the simplified dialplan that we are using: +######------ START extensions.conf example ------###### +[general] +static=yes +writeprotect=no + +[globals] +CONSOLE=Console/dsp ; Console interface for demo +TRUNK=Zap/g1 ; Trunk interface +TRUNKX=Zap/g2 ; 2nd trunk interface +TRUNKIAX=IAX2/ASTtest1:test@10.10.10.16:4569 ; IAX trunk interface +TRUNKloop = IAX2/ASTloop:test@127.0.0.1:40569 ; used for blind monitoring +TRUNKblind = IAX2/ASTblind:test@127.0.0.1:41569 ; used for testing + +[default] +; Extension 8600 + 8601 conference rooms +exten => 8600,1,Meetme,8600 +exten => 8601,1,Meetme,8601 + +; Extension 102 - Grandstream hardphone +exten => 102,1,Playback,transfer|skip ; "Please hold while..." +exten => 102,2,Dial,sip/gs102|20|to ; Ring, 20 secs max +exten => 102,3,Voicemail,u102 ; Send to voicemail... +; Extension 2000 Sipura line 1 +exten => 2000,1,Dial,sip/spa2000|30|to ; Ring, 30 secs max +exten => 2000,2,Voicemail,u2000 ; Send to voicemail... +; Extension 2001 Sipura line 2 +exten => 2001,1,Dial,sip/spa2001|30|to ; Ring, 30 secs max +exten => 2001,2,Voicemail,u2001 ; Send to voicemail... +; Extension 2020 rings both sipura lines +exten => 2001,1,Dial,sip/spa2000&sip/spa2001|30|to ; Ring, 30 secs max +exten => 2001,2,Voicemail,u2000 ; Send to voicemail... +; Extension 301 rings the firefly softphone +exten => 301,1,Dial,(IAX2/firefly01@firefly01/s) +exten => 301,2,Hangup + +; Extension 3429 - Inbound 800 number (1-800-555-3429) +exten => _**3429,1,Ringing +exten => _**3429,2,Answer +exten => _**3429,3,Dial,sip/spa2000&sip/spa2001|30|to ; Ring, 30 secs max +exten => _**3429,4,Voicemail,u2000 ; Send to voicemail... +; Extension 3429 - with ANI [callerID] +exten => _*NXXNXXXXXX*3429,1,Ringing +exten => _*NXXNXXXXXX*3429,2,Answer +exten => _*NXXNXXXXXX*3429,3,Dial,sip/spa2000&sip/spa2001|30|to ; Ring, 30 +secs max +exten => _*NXXNXXXXXX*3429,4,Voicemail,u2000 ; Send to voicemail... + +; dial a long distance outbound number to the UK +exten => _901144XXXXXXXXXX,1,Dial(${TRUNKX}/${EXTEN:1},55,tTo) +exten => _901144XXXXXXXXXX,2,Hangup + +; dial a long distance outbound number to Australia +exten => _901161XXXXXXXXX,1,Dial(${TRUNKX}/${EXTEN:1},,tTo) +exten => _901161XXXXXXXXX,2,Hangup + +; dial an 800 outbound number +exten => _91800NXXXXXX,1,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91800NXXXXXX,2,Hangup +exten => _91888NXXXXXX,1,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91888NXXXXXX,2,Hangup +exten => _91877NXXXXXX,1,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91877NXXXXXX,2,Hangup +exten => _91866NXXXXXX,1,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91866NXXXXXX,2,Hangup + +; dial a local 727 outbound number with area code +exten => _9727NXXXXXX,1,Dial(${TRUNK}/1${EXTEN:1},,tTo) +exten => _9727NXXXXXX,2,Hangup + +; dial a local 813 outbound number with area code +exten => _9813NXXXXXX,1,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _9813NXXXXXX,2,Hangup + +; dial a long distance outbound number +exten => _91NXXNXXXXXX,1,Dial(${TRUNKX}/${EXTEN:1},,tTo) +exten => _91NXXNXXXXXX,2,Hangup + +; dial a local outbound number (modified because of only LD T1) +exten => _9NXXXXXX,1,Dial(${TRUNK}/1727${EXTEN:1},,tTo) +exten => _9NXXXXXX,2,Hangup + +; barge monitoring extension +exten => 8159,1,ZapBarge +exten => 8159,2,Hangup + +; # timeout invalid rules +exten => #,1,Playback(invalid) ; "Thanks for trying the demo" +exten => #,2,Hangup ; Hang them up. +exten => t,1,Goto(#,1) ; If they take too long, give up +exten => i,1,Playback(invalid) ; "That's not valid, try again" + +; Give voicemail at extension 8500 +exten => 8500,1,VoicemailMain +exten => 8500,2,Goto(s,6) + +; ASTERISK AGENTS LOGINS FOR QUEUES (NOT part of VICIDIAL) +; the following assumes phone agent login and exten are 3 digits and the same +; also assumes that 3-digit login is present in agents.conf and queueus.conf +;Agent Logout then stay onhook, DIAL 54 + 3-digit ID +exten => _54XXX,1,AgentCallbackLogin(||) +; the following are used to login and logout of Asterisk Queues from phone +;Agent Login then stay offhook on the phone, DIAL 55 + 3-digit ID +exten => _55XXX,1,AgentLogin(${EXTEN:1}) +;Agent Login then stay onhook, phones will ring, DIAL 56 + 3-digit ID +exten => _56XXX,1,AgentCallbackLogin(||${EXTEN:1}@default) + +######------ END extensions.conf example ------###### + +### OPTIONAL IAX trunk extensions entries for long distance dialing over IAX + exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) + exten => _91NXXNXXXXXX,2,Dial(${TRUNKIAX}/${EXTEN:1},55,o) + exten => _91NXXNXXXXXX,3,Hangup + +### OPTIONAL SIP trunk extensions entries for long distance dialing over SIP + exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) + exten => _91NXXNXXXXXX,2,Dial(sip/${EXTEN:1}@SIPtrunk,55,o) + exten => _91NXXNXXXXXX,3,Hangup + +### OPTIONAL IAX Load Balance extens to allow for Overflow and Balanced VDAD +### In this setup, the serverIP is the prefix followed by agent conf_exten +### FOR MORE INFORMATION, READ THE LOAD_BALANCING.txt DOCUMENT +### server 1 extens: + exten => _010*010*010*016*.,1,Dial(${TRUNKIAX2}/${EXTEN:16},55,o) +### server 2 extens: + exten => _010*010*010*015*.,1,Dial(${TRUNKIAX1}/${EXTEN:16},55,o) + +10. edit dnsmgr.conf: # It is very helpful to enable dnsmgr + [general] + enable=yes ; enable creation of managed DNS lookups + refreshinterval=300 ; refresh managed DNS lookups every seconds + + +11. Now that you have configured Asterisk, it is time to try to start it for the +first time. + - First make sure that your T1 line(or other telco line) is connected to the +digium card. + - next type the following at the command prompt: "ztcfg -vvvvvv" + - you should see a confirmation that the Zaptel device has loaded + - now you can launch asterisk with the following command: + "asterisk -vvvvvvvvvvvvgc" + - you should see a lot of messages scroll by and at the end you should +be given a CLI> prompt if everything loaded OK. To get out of Asterisk you can +type "stop now". Now that you are sure it is running you can either run it in a +separate terminal window or use the start_asterisk_boot.pl that you will +install with astguiclient to start Asterisk: + /usr/share/astguiclient/start_asterisk_boot.pl + + + +SUBPHASE 5.1: setting up your SIP phones + +You will need to follow the instructions for the phones that you are using with +your system, but here's the way to set up a Grandstream 102 and a Linksys/Sipura +SPA-2000 + +1. Here are basic instructions for setting up a Grandstream BT 102: + - On the phone plug it in to power only at first and follow these +instructions: + - wait for the phone to boot up and press the MENU button + - go through the menu screens with the menu key and the up/down arrow +keys to move from setting to setting. We are setting the following +values: + - DHCP OFF + - IP Addr: 010.010.010.016 + - Subnet: 255.255.000.000 + - router: 010.010.010.001 + - dnS: 010.010.010.001 + - tftp: we leave this blank for now + - menu 7 we change the codec to G-711u + - now wait 10 seconds and unplug the power and plug it back in + - you can also plug the network cable into the LAN port on the phone + - at this time you can go to your workstation and open a new web browser + - go to http://10.10.10.16/ the password is "admin" + - here is where you will enter in the configuration details for the +phone to register with the Asterisk server + - SIP server: 10.10.10.15 + - SIP user ID: gs102 + - Authenticate ID: gs102 + - Password: test + - Name: gs102 + - Voice Mail UserID: 102 + - Send DTMF: in-audio + - NTP Server: tick.mit.edu + - then click update, click review changes, and click reboot + - your phone should now be able to register with the Asterisk server. If you +still have your console screen up you should see a registration message +appear telling you that gs102 has registered. + +2. Here are the basic instructions for setting up a Sipura SPA-2000 analog +adapter with 2 lines. + - Plug power and two analog phones into the adapter. + - pick up the phone plugged into line1 and press **** to enter admin menu + - press 101# then 0# to disable DHCP + - press 111# then 10*10*10*17# to change the IP address + - press 121# then 255*255*0*0# to change the subnet mask + - press 131# then 10*10*10*1# to change the default gateway + - hang up the phone, unplug the power, plug in the network cable and plug in +the power cable + - now you can go the the admin website: http://10.10.10.17/admin/advanced + - you will need to make these setting changes: + - click on the "Line 1" tab at the top and change the following values: + - Proxy: 10.10.10.15 + - Display Name: spa2000 + - userID: spa2000 + - password: test + - authID: spa2000 + - change the dialplan to the following: +(*xx|xxx|xxxx|xxxxx|xxxxxx|xxxxxxx|xxxxxxxx|xxxxxxxxxxx|xxxxxxxxxxxx|xxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxx.) + - then click the "submit all changes" button at the bottom of the page +and your first phone line should work now + - to register the second line, simply click on the "Line 2" tab and go +through the above steps except use spa2001 instead of spa2000 for the use IDs + +3. Now both of your phone devices are set up and you can try making phone calls +between the three phones + + + +SUBPHASE 5.2: setting up an IAX2 phone + +This is optinal and we won't go into too much detail about this, but currently +there are several IAX hard and softphones on the market and more are coming +every month. Follow the instructions with the IAX phone you have chosen and +follow the steps below: + +1. Add an entry into your iax.conf file like below if you have not already + [firefly01] + type=friend + accountcode=firefly01 + context=default + auth=plaintext + host=dynamic + permit=0.0.0.0/0.0.0.0 + secret=test + qualify=yes + +2. Add an entry into your extensions.conf file like below if it is not in there + ; Extension 3001 rings IAX phone + exten => 301,1,Dial(IAX2/firefly01@firefly01/s) + exten => 301,2,Voicemail,u301 ; Send to voicemail... + +3. Download Firefly 3rd party, or IDEfisk for Windows or Linux: + - http://www.virbiage.com/firefly/download/firefly-thirdparty.exe + MIRRORS: + - http://mirror.isp.net.au/ftp/pub/firefly/firefly-thirdparty.exe + - http://downloads.vicidial.com/softphones/firefly-thirdparty.exe + IDEFISK: + - http://www.asteriskguru.com/idefisk/ + - Install the application + - Launch Firefly Softphone + - click the "I wish to connect to a 3rd party network" button + - Enter in network name: Asterisk + - Select IAX2 as the protocol + - enter in your server address: "10.10.10.15" in our case + - enter login and pass: "firefly01" and "test" for in our case + - click OK and you should be logged in and can place calls + + +SUBPHASE 5.3: setting up a Zap phone + +This is optinal and we won't go into too much detail about this either, there +are a few ways to use Zap devices as phones on your Asterisk system: Zaptel +phone cards, Channel Banks going through Zaptel T1 card, outside line call +coming in going through Zaptel line card. There isn't much to do but set your +Zaptel config files up and put entries into your extensions.conf file: + +1. Add an entry into your extensions.conf file like below + ; Extension 4001 rings Zap phone + exten => 4001,1,Dial,Zap/1|30| ; ring Zap device 1 + exten => 4001,2,Voicemail,u4001 ; Send to voicemail... + + + + +PHASE 6: INSTALLING ASTGUICLIENT AND VICIDIAL + +Now that Asterisk is installed and running we can add the astGUIclient and +VICIDIAL components to the system. + + + +SUBPHASE 6.0: putting the files in place + +There are two methods for downloading astGUIclient/VICIDIAL, a release and SVN + +1. Go to http://astguiclient.sf.net/ and download the latest astguiclient +package(as of this writing it is 2.0.4.1) + - for 2.0.X release: + - mkdir /usr/src/astguiclient + - cd /usr/src/astguiclient + - wget http://internap.dl.sourceforge.net/sourceforge/astguiclient/astguiclient_2.0.4.1.zip + - unzip astguiclient_2.0.4.1.zip + - perl install.pl (make sure you are in the directory with the install.pl file) + - for SVN 2.0 trunk: + - mkdir /usr/src/astguiclient + - cd /usr/src/astguiclient + - svn checkout svn://svn.eflo.net:43690/agc_2-X/trunk + - cd trunk + - perl install.pl + select to do interactive setup and customize to your server + - there is one more file you need that's not included with the download +package, it's the conf.gsm file(this is the half-hour music file that we use +to put people on hold). I have a free classical music file that is available +free for download at the following two sites: + http://downloads.vicidial.com/sounds/conf.gsm + http://astguiclient.sf.net/conf.gsm + Once you have downloaded it, you will need to copy it to this folder: + /var/lib/asterisk/sounds/ + Then you will need to execute this command to copy it as the park file + 'cp /var/lib/asterisk/sounds/conf.gsm /var/lib/asterisk/sounds/park.gsm' + Here are the steps spelled out: + cd /var/lib/asterisk/sounds + wget http://downloads.vicidial.com/sounds/conf.gsm + cp conf.gsm park.gsm + + - you are done + + + +SUBPHASE 6.1: creating the MySQL "asterisk" database + +we will create the database and add a few initial records so that we can +use the administrative web interface. Since this is a new install it is easier +to use our new mysql script file to add the tables to the database: + +1. at the command prompt type go to the mysql client: +/usr/local/mysql/bin/mysql +2. type the following into the mysql client prompt: + (make sure you put your IP address in place of "10.10.10.15" in the queries below) +######------ BEGIN Mysql data entry(you can copy and paste this into terminal) # +create database asterisk; + +NOTE: if you will be using lead files with a language that does not use the +standard latin character set then you will want to use UTF8 for your default +characterset in the MySQL database. This requires at least MySQL 4.1.11 and you +can use the following query to create the database: + CREATE DATABASE `asterisk` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; + + +GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@'%' IDENTIFIED BY '1234'; +GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@localhost IDENTIFIED BY '1234'; + +GRANT RELOAD ON *.* TO cron@'%'; +GRANT RELOAD ON *.* TO cron@localhost; + +flush privileges; + +# NOTE: if using MySQL 4.1.12 or higher you may need to run this query too: +UPDATE mysql.user set password=OLD_PASSWORD('1234') where user='cron'; + +# To make sure that new processes can connect to the Database under load we should +# increase the global connect_timeout + +SET GLOBAL connect_timeout=60; + +# NOTE: make sure you do NOT put any spaces or other punctuation in the +# server_id, phone, extension, or user fields in the queries below if you edit them. + +use asterisk; + +\. /usr/src/astguiclient/trunk/extras/MySQL_AST_CREATE_tables.sql + or you may need to run this if you get an error: + \. /usr/src/astguiclient/agc_2.0.4/extras/MySQL_AST_CREATE_tables.sql + \. /usr/src/astguiclient/astguiclient/MySQL_AST_CREATE_tables.sql + +### to load in default IAX and SIP phone accounts run the following query + +\. /usr/src/astguiclient/trunk/extras/sip-iax_phones.sql + or you may need to run this if you get an error: + \. /usr/src/astguiclient/agc_2.0.4/extras/sip-iax_phones.sql + \. /usr/src/astguiclient/astguiclient/sip-iax_phones.sql + + +insert into servers (server_id,server_description,server_ip,active,asterisk_version)values('TESTasterisk','Test install of Asterisk server', '10.10.10.15','Y','1.2.30.2'); + +insert into server_updater values('10.10.10.15',''); + +insert into phones (extension, dialplan_number, voicemail_id, phone_ip, computer_ip, server_ip, login, pass, status, active, phone_type, fullname, company, picture, messages, old_messages, protocol) values('gs102','102','102','10.10.10.16','10.10.9.16','10.10.10.15','gs102','test', 'ADMIN','Y','Grandstream BT 102','Test Admin Phone','TEST','','0','0','SIP'); + +insert into vicidial_users (user,pass,full_name,user_level,user_group,load_leads,campaign_detail,ast_admin_access,modify_users) values('6666','1234','Admin','9','ADMIN','1','1','1','1'); + +insert into conferences values('8600001','10.10.10.15',''); +insert into conferences values('8600002','10.10.10.15',''); +insert into conferences values('8600003','10.10.10.15',''); +insert into conferences values('8600004','10.10.10.15',''); +insert into conferences values('8600005','10.10.10.15',''); +insert into conferences values('8600006','10.10.10.15',''); +insert into conferences values('8600007','10.10.10.15',''); +insert into conferences values('8600008','10.10.10.15',''); +insert into conferences values('8600009','10.10.10.15',''); +insert into conferences values('8600010','10.10.10.15',''); +insert into conferences values('8600011','10.10.10.15',''); +insert into conferences values('8600012','10.10.10.15',''); +insert into conferences values('8600013','10.10.10.15',''); +insert into conferences values('8600014','10.10.10.15',''); +insert into conferences values('8600015','10.10.10.15',''); +insert into conferences values('8600016','10.10.10.15',''); +insert into conferences values('8600017','10.10.10.15',''); +insert into conferences values('8600018','10.10.10.15',''); +insert into conferences values('8600019','10.10.10.15',''); +insert into conferences values('8600020','10.10.10.15',''); +insert into conferences values('8600021','10.10.10.15',''); +insert into conferences values('8600022','10.10.10.15',''); +insert into conferences values('8600023','10.10.10.15',''); +insert into conferences values('8600024','10.10.10.15',''); +insert into conferences values('8600025','10.10.10.15',''); +insert into conferences values('8600026','10.10.10.15',''); +insert into conferences values('8600027','10.10.10.15',''); +insert into conferences values('8600028','10.10.10.15',''); +insert into conferences values('8600029','10.10.10.15',''); +insert into conferences values('8600030','10.10.10.15',''); +insert into conferences values('8600031','10.10.10.15',''); +insert into conferences values('8600032','10.10.10.15',''); +insert into conferences values('8600033','10.10.10.15',''); +insert into conferences values('8600034','10.10.10.15',''); +insert into conferences values('8600035','10.10.10.15',''); +insert into conferences values('8600036','10.10.10.15',''); +insert into conferences values('8600037','10.10.10.15',''); +insert into conferences values('8600038','10.10.10.15',''); +insert into conferences values('8600039','10.10.10.15',''); +insert into conferences values('8600040','10.10.10.15',''); +insert into conferences values('8600041','10.10.10.15',''); +insert into conferences values('8600042','10.10.10.15',''); +insert into conferences values('8600043','10.10.10.15',''); +insert into conferences values('8600044','10.10.10.15',''); +insert into conferences values('8600045','10.10.10.15',''); +insert into conferences values('8600046','10.10.10.15',''); +insert into conferences values('8600047','10.10.10.15',''); +insert into conferences values('8600048','10.10.10.15',''); +insert into conferences values('8600049','10.10.10.15',''); + +quit + + to populate the timezone/country table run this command from command line: + - /usr/share/astguiclient/ADMIN_area_code_populate.pl + + to load the performance testing leads run these commands: + - cp /usr/src/astguiclient/trunk/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/ + or + - cp /usr/src/astguiclient/agc_2.0.4/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/ + - cp /usr/src/astguiclient_2.0.4.1/trunk/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/ + + - /usr/share/astguiclient/VICIDIAL_IN_new_leads_file.pl --forcelistid=107 --forcephonecode=1 + + +######------ END Mysql data entry ------###### + +NOTE: If you will be using channelbanks for agent phones you can use the +/extras/single_channelbank_phones.sql file to help enter the phones table entries. + +NOTE: If you will be using IAX or SIP phones for agent phones you can use the +/extras/sip-iax_phones.sql file to help enter the phones table entries. + +NOTE: if you are not installing using default user/pass or have MySQL on another +server, you will need to edit either the /etc/astguiclient.conf file or the +dbconnect.php files in the astguiclient, vicidial and agc directories of your +webroot. + +3. Enter the vicidial administration page: +http://10.10.10.15/vicidial/admin.php +NOTE: if you click on the Logout button you must leave the user/pass empty and click OK + - Here you will enter the login and password that you inserted into the mysql +database in the vicidial_users table (subphase 6.1 [6666/1234]) + - Now that you are logged into the astGUIclient administration system we can +add a new phone entry for each of the sipura lines we created. + - click on the "Admin" link at the top, then the "ADD PHONE" link below +that and enter in the proper information for each of the new phone lines. +Here's what we entered for spa2000: + - Phone extension: spa2000 + - Dialplan Number: 2000 + - Voicemail Box: 2000 + - Phone IP address: 10.10.10.17 + - Computer IP address: 10.10.9.17 + - Server IP: 10.10.10.15 + - Login: spa2000 + - Password: test + - Status: ACTIVE + - Active Account: Y + - Phone Type: Sipura SPA-2000 line 1 + - Full Name: Sipura line 1 test + - Company: TEST + - Picture: + - for the next phone simply replace 2000 with 2001 in the above example + - now your phones are all all set up in the astguiclient system and you can +use this website to add new phones to be used with astguiclient and monitor +the number of calls people are making. + - now your database is set up for the astguiclient conferences which + will allow you to have over 6 remote parties that you called from your + GUI client application in one conference. + - click on the "LIST ALL SERVERS" link at the top then click on the + server to modify. Verify that the GMT time zone and all other fields + are what you want them to be. There is a setting(Max VICIDIAL Trunks) + that can be modified to limit the number of VICIDIAL outbound trunks + that will be allowed to use on this server. + +4. **OPTIONAL** For IAX clients you will need to use full phone name as the +extension on the admin page entry: "firefly01@firefly01" for our IAX phone example +previously. And do not forget to set the protocol on this page to IAX2 + +5. **OPTIONAL** For Zap clients you will need to use full Zap Channel name as the +extension on the admin page entry: "1-1" for our Zap phone example +previously. And do not forget to set the protocol on this page to Zap + + + + +SUBPHASE 6.2: making additions to your Asterisk conf files + +Now that the database is set up and our phones have entries in the system we can +make the additions to the running Asterisk system that will allow astguiclient +to work with it. + +1. Add the call_log entries to all incoming/outgoing extensions entries: + - here is how our sample dialplan changes for adding call_log entries(only +effected extension groups are show): +######------ START extensions.conf changes for call_log ------###### + +##### This 'h' exten is VERY important for VICIDIAL usage, +##### you will have problems if it is not in your dialplan! +exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}) + +; MANDITORY VDAD extens: +; In this setup, the serverIP is the prefix followed by agent conf_exten +; These lines are REQUIRED for VICIDIAL to work properly +; local server extens: +; BE SURE TO CHANGE THIS LINE FOR YOUR IP ADDRESS! + exten => _010*010*010*015*.,1,Goto(default,${EXTEN:16},1) + exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi) + exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi) +; Local blind monitoring + exten => _08600XXX,1,Dial(${TRUNKblind}/6${EXTEN:1},55,To) +; OPTIONAL server 2 extens, needed for load balancing: + exten => _010*010*010*016*.,1,Dial(${TRUNKIAX2}/${EXTEN:16},55,o) + +; Extension 3429 - Inbound 800 number (1-800-555-3429) +exten => _**3429,1,Ringing +exten => _**3429,2,AGI(agi://127.0.0.1:4577/call_log) +exten => _**3429,3,Answer +exten => _**3429,4,Dial,sip/spa2000&sip/spa2001,30,to +exten => _**3429,5,Voicemail,u2000 +; Extension 3429 - with ANI [callerID] +exten => _*NXXNXXXXXX*3429,1,Ringing +exten => _*NXXNXXXXXX*3429,2,AGI(agi://127.0.0.1:4577/call_log) +exten => _*NXXNXXXXXX*3429,3,Answer +exten => _*NXXNXXXXXX*3429,4,Dial,sip/spa2000&sip/spa2001,30,to +exten => _*NXXNXXXXXX*3429,5,Voicemail,u2000 + +; Extension 7275551212 - Inbound local number from PRI with 10 digit delivery +; SEE extensions.conf.sample-1.4 for changes needed for use with Asterisk 1.4 +exten => 7275551212,1,Ringing +exten => 7275551212,2,Wait(1) +exten => 7275551212,3,AGI(agi://127.0.0.1:4577/call_log--fullCID--${EXTEN}-----${CALLERID}-----${CALLERIDNUM}-----${CALLERIDNAME}) +exten => 7275551212,4,Answer +exten => 7275551212,5,Dial,sip/spa2000&sip/spa2001,30,to +exten => 7275551212,6,Voicemail,u2000 + +; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, + +; dial a long distance outbound number to the UK +exten => _901144XXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _901144XXXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},55,tTo) +exten => _901144XXXXXXXXXX,3,Hangup + +; dial a long distance outbound number to Australia +exten => _901161XXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _901161XXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,tTo) +exten => _901161XXXXXXXXX,3,Hangup + +; Extensions for performance testing +exten => _91999NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91999NXXXXXX,2,Dial(${TRUNKloop}/${EXTEN:2},,tTo) +exten => _91999NXXXXXX,3,Hangup +exten => 999999999999,1,AGI(agi://127.0.0.1:4577/call_log) +exten => 999999999999,2,Dial(${TRUNKloop}/${EXTEN:1},,tTo) +exten => 999999999999,3,Hangup + +; dial an 800 outbound number +exten => _91800NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91800NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91800NXXXXXX,3,Hangup +exten => _91888NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91888NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91888NXXXXXX,3,Hangup +exten => _91877NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91877NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91877NXXXXXX,3,Hangup +exten => _91866NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91866NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91866NXXXXXX,3,Hangup + +; dial a local 727 outbound number with area code +exten => _9727NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _9727NXXXXXX,2,Dial(${TRUNK}/1${EXTEN:1},,tTo) +exten => _9727NXXXXXX,3,Hangup + +; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, +; dial a long distance outbound number +exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91NXXNXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,tTo) +exten => _91NXXNXXXXXX,3,Hangup + +; dial a local outbound number (modified because of only LD T1) +exten => _9NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _9NXXXXXX,2,Dial(${TRUNK}/1727${EXTEN:1},,tTo) +exten => _9NXXXXXX,3,Hangup + +######------ END extensions.conf changes ------###### + + +2. Add the call_inbound entries to all incoming extensions entries that you want +CallerID popups on: + - here is how our sample dialplan changes for adding call_inbound +entries(only effected extension groups are show): +######------ START extensions.conf changes for call_inbound ------###### +; parameters for call_inbound.agi (7 fields separated by five dashes "-----"): +; 1. the extension of the phone to ring as defined in the asterisk.phones table +; 2. the phone number that was called, for the live_inbound/_log entry +; 3. a text description of the number that was called in +; 4-7. optional fields, they are also passed as fields in the GUI to web browser + +; Extension 3429 - Inbound 800 number (1-800-555-3429) +exten => _**3429,1,Ringing +exten => _**3429,2,AGI(agi://127.0.0.1:4577/call_log) +exten => _**3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w) +exten => _**3429,4,Answer +exten => _**3429,5,Dial,sip/spa2000&sip/spa2001|30|to +exten => _**3429,6,Voicemail,u2000 +; Extension 3429 - with ANI [callerID] +exten => _*NXXNXXXXXX*3429,1,Ringing +exten => _*NXXNXXXXXX*3429,2,AGI(agi://127.0.0.1:4577/call_log) +exten => _*NXXNXXXXXX*3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w) +exten => _*NXXNXXXXXX*3429,3,Answer +exten => _*NXXNXXXXXX*3429,4,Dial,sip/spa2000&sip/spa2001|30|to +exten => _*NXXNXXXXXX*3429,5,Voicemail,u2000 + +; parameters for agi-VDAD_ALL_inbound.agi (9 fields separated by five dashes "-----"): +; 1. the method of call handling for the script: +; - CID - CID received, add record with phone number +; - CIDLOOKUP - Lookup CID to find record in whole system +; - CIDLOOKUPRL - Restrict lookup to one list +; - CIDLOOKUPRC - Restrict lookup to one campaign's lists +; - CLOSER - Closer calls from VICIDIAL fronters +; - ANI - ANI received, add record with phone number +; - ANILOOKUP - Lookup ANI to find record in whole system +; - ANILOOKUPRL - Restrict lookup to one list +; - 3DIGITID - Enter 3 digit code to go to agent +; - 4DIGITID - Enter 4 digit code to go to agent +; - 5DIGITID - Enter 5 digit code to go to agent +; - 10DIGITID - Enter 10 digit code to go to agent +; 2. the method of searching for an available agent: +; - LO - Load Balance Overflow only (priority to home server) +; - LB - Load Balance total system +; - SO - Home server only +; 3. the full name of the IN GROUP to be used in vicidial for the inbound call +; 4. the phone number that was called, for the log entry +; 5. the callerID or lead_id of the person that called(usually overridden) +; 6. the park extension audio file name if used +; 7. the status of the call initially(usually not used) +; 8. the list_id to insert the new lead under if it is new (and CID/ANI available) +; 9. the phone dialing code to insert with the new lead if new (and CID/ANI available) +; 10. the campaign_id to search within lists if CIDLOOKUPRC +; inbound VICIDIAL call with CID delivery through T1 PRI +exten => 1234,1,Answer ; Answer the line +exten => 1234,2,AGI(agi-VDAD_ALL_inbound.agi,CID-----LB-----CL_GALLERIA-----7274515134-----Closer-----park----------999-----1) +exten => 1234,3,Hangup + +; inbound VICIDIAL transfer calls [can arrive through PRI T1 crossover, IAX or SIP channel] +exten => _90009.,1,Answer ; Answer the line +exten => _90009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1) +exten => _90009.,3,Hangup +exten => _990009.,1,Answer ; Answer the line +exten => _990009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1) +exten => _990009.,3,Hangup + + +### follow these instructions if you plan to have VICIDIAL agents take inbound or closer calls: + 1. in VICIDIAL web admin "add a new in-group" (the above examples would be "CL_GALLERIA") + - group IDs cannot contain spaces ' ' or dashes '-' or plusses '+' + - if you are using a HEX color value make sure to include the hash '#' at the beginning + 2. create a new campaign in VICIDIAL called "CLOSER" and set "allow inbound blended" to Y + 3. check the CL_GALLERIA checknox in the "Allowed In-Groups" section + 4. have agents log in to the CLOSER campaign and select the CL_GALLERIA in-group + 5. they will now start receiving inbound calls + 6. as calls come in, each call is inserted into the vicidial_list table under the + list specified int the AGI string, In the above example that would be list 999 + 7. if you want to take closer calls from the campaign "TEST" you will need to create + an in-group called "CL_TEST_" for internal closing(on the same system) or "CL_TEST_L" + for local closing(closer on different system from fronter) and then the fronter will + click on the "internal closer" button to send the call to a closer + +* NOTE, you need to set the dial_level of the CLOSER campaign to 1 or higher for inbound/closers to work + +######------ END extensions.conf changes for call_inbound ------###### + + +3. Add the ZapBarge entries for all zap lines: + - here is how our sample dialplan changes for adding zapbarge line-specific +entries(this is a pure addition, nothing is being modified): + +; ZapBarge direct channel extensions +exten => _86120XX,1,ZapBarge(${EXTEN:5}) + + +4. Add the meetme entries for astguiclient and VICIDIAL conferences to +meetme.conf: + - here is how our sample meetme.conf file changes for adding conference +entries (this is a pure addition, nothing is being modified): +######------ START meetme.conf additions for conferences ------###### +conf => 8600001 +conf => 8600002 +conf => 8600003 +conf => 8600004 +conf => 8600005 +conf => 8600006 +conf => 8600007 +conf => 8600008 +conf => 8600009 +conf => 8600010 +conf => 8600011 +conf => 8600012 +conf => 8600013 +conf => 8600014 +conf => 8600015 +conf => 8600016 +conf => 8600017 +conf => 8600018 +conf => 8600019 +conf => 8600020 +conf => 8600021 +conf => 8600022 +conf => 8600023 +conf => 8600024 +conf => 8600025 +conf => 8600026 +conf => 8600027 +conf => 8600028 +conf => 8600029 +conf => 8600030 +conf => 8600031 +conf => 8600032 +conf => 8600033 +conf => 8600034 +conf => 8600035 +conf => 8600036 +conf => 8600037 +conf => 8600038 +conf => 8600039 +conf => 8600040 +conf => 8600041 +conf => 8600042 +conf => 8600043 +conf => 8600044 +conf => 8600045 +conf => 8600046 +conf => 8600047 +conf => 8600048 +conf => 8600049 +conf => 8600050 +conf => 8600051 +conf => 8600052 +conf => 8600053 +conf => 8600054 +conf => 8600055 +conf => 8600056 +conf => 8600057 +conf => 8600058 +conf => 8600059 +conf => 8600060 +conf => 8600061 +conf => 8600062 +conf => 8600063 +conf => 8600064 +conf => 8600065 +conf => 8600066 +conf => 8600067 +conf => 8600068 +conf => 8600069 +conf => 8600070 +conf => 8600071 +conf => 8600072 +conf => 8600073 +conf => 8600074 +conf => 8600075 +conf => 8600076 +conf => 8600077 +conf => 8600078 +conf => 8600079 +conf => 8600080 +conf => 8600081 +conf => 8600082 +conf => 8600083 +conf => 8600084 +conf => 8600085 +conf => 8600086 +conf => 8600087 +conf => 8600088 +conf => 8600089 +conf => 8600090 +conf => 8600091 +conf => 8600092 +conf => 8600093 +conf => 8600094 +conf => 8600095 +conf => 8600096 +conf => 8600097 +conf => 8600098 +conf => 8600099 +conf => 8600100 +conf => 8600101 +conf => 8600102 +conf => 8600103 +conf => 8600104 +conf => 8600105 +conf => 8600106 +conf => 8600107 +conf => 8600108 +conf => 8600109 +conf => 8600110 +conf => 8600111 +conf => 8600112 +conf => 8600113 +conf => 8600114 +conf => 8600115 +conf => 8600116 +conf => 8600117 +conf => 8600118 +conf => 8600119 +conf => 8600120 +conf => 8600121 +conf => 8600122 +conf => 8600123 +conf => 8600124 +conf => 8600125 +conf => 8600126 +conf => 8600127 +conf => 8600128 +conf => 8600129 +conf => 8600130 +conf => 8600131 +conf => 8600132 +conf => 8600133 +conf => 8600134 +conf => 8600135 +conf => 8600136 +conf => 8600137 +conf => 8600138 +conf => 8600139 +conf => 8600140 +conf => 8600141 +conf => 8600142 +conf => 8600143 +conf => 8600144 +conf => 8600145 +conf => 8600146 +conf => 8600147 +conf => 8600148 +conf => 8600149 +conf => 8600150 +conf => 8600151 +conf => 8600152 +conf => 8600153 +conf => 8600154 +conf => 8600155 +conf => 8600156 +conf => 8600157 +conf => 8600158 +conf => 8600159 +conf => 8600160 +conf => 8600161 +conf => 8600162 +conf => 8600163 +conf => 8600164 +conf => 8600165 +conf => 8600166 +conf => 8600167 +conf => 8600168 +conf => 8600169 +conf => 8600170 +conf => 8600171 +conf => 8600172 +conf => 8600173 +conf => 8600174 +conf => 8600175 +conf => 8600176 +conf => 8600177 +conf => 8600178 +conf => 8600179 +conf => 8600180 +conf => 8600181 +conf => 8600182 +conf => 8600183 +conf => 8600184 +conf => 8600185 +conf => 8600186 +conf => 8600187 +conf => 8600188 +conf => 8600189 +conf => 8600190 +conf => 8600191 +conf => 8600192 +conf => 8600193 +conf => 8600194 +conf => 8600195 +conf => 8600196 +conf => 8600197 +conf => 8600198 +conf => 8600199 +conf => 8600200 +######------ END meetme.conf additions for conferences ------###### + + +5. Add the conference entries for astguiclient conferences: + - here is how our sample dialplan changes for adding conference entries (this +is a pure addition, nothing is being modified): + +; astGUIclient conferences +exten => _86000[0-4]X,1,Meetme,${EXTEN}|q + + +6. Add the conference entries for VICIDIAL conferences: + - here is how our sample dialplan changes for adding VICIDIAL conference +entries(this is a pure addition, nothing is being modified): +NOTE: see below these entries for app_conference instructions is used +######------ START extensions.conf changes for VD conf ------###### +exten => _X48600XXX,1,MeetMeAdmin(${EXTEN:2},T,${EXTEN:0:1}) +exten => _X48600XXX,2,Hangup + +exten => _X38600XXX,1,MeetMeAdmin(${EXTEN:2},t,${EXTEN:0:1}) +exten => _X38600XXX,2,Hangup + +exten => _X28600XXX,1,MeetMeAdmin(${EXTEN:2},m,${EXTEN:0:1}) +exten => _X28600XXX,2,Hangup + +exten => _X18600XXX,1,MeetMeAdmin(${EXTEN:2},M,${EXTEN:0:1}) +exten => _X18600XXX,2,Hangup + +exten => _55558600XXX,1,MeetMeAdmin(${EXTEN:4},K) +exten => _55558600XXX,2,Hangup +exten => 8300,1,Hangup + +; VICIDIAL conferences +exten => _86000[5-9]X,1,Meetme,${EXTEN}|F +exten => _86001XX,1,Meetme,${EXTEN}|F +exten => _8600200,1,Meetme,${EXTEN}|F +; quiet entry and leaving conferences for VICIDIAL +exten => _78600XXX,1,Meetme,${EXTEN:1}|Fq +; quiet monitor extensions for meetme rooms (for room managers) +exten => _68600XXX,1,Meetme,${EXTEN:1}|Fmq +; Local blind monitoring +exten => _08600XXX,1,Dial(${TRUNKblind}/6${EXTEN:1},55,To) + +; voicelab exten +exten => _86009XX,1,Meetme,${EXTEN}|Fmq +; voicelab exten moderator +exten => _986009XX,1,Meetme,${EXTEN:1} + +######------ END extensions.conf changes for VD conf ------###### + +NOTE: If you want to do DTMF passthru with app_conference bee sure to add the +"i" and "t" flags to the 8600XX lines: Conference(8600051|it) + + +7. Add the more entries for astGUIclient specific uses: + - here are some more dialplan additions needed to use astGUIclient(this is a +pure addition, nothing is being modified): +######------ START extensions.conf other additions ------###### +; park channel for client GUI parking, hangup after 30 minutes +; create a GSM formatted audio file named "park.gsm" that is 30 minutes long +; and put it in /var/lib/asterisk/sounds +exten => 8301,1,Answer +exten => 8301,2,AGI(park_CID.agi) +exten => 8301,3,Playback(park) +exten => 8301,4,Hangup +exten => 8303,1,Answer +exten => 8303,2,AGI(park_CID.agi) +exten => 8303,3,Playback(conf) +exten => 8303,4,Hangup + +; park channel for client GUI conferencing, hangup after 30 minutes +; create a GSM formatted audio file named "conf.gsm" that is 30 minutes long +; and put it in /var/lib/asterisk/sounds +exten => 8302,1,Answer +exten => 8302,2,Playback(conf) +exten => 8302,3,Hangup + +exten => 8304,1,Answer +exten => 8304,2,Playback(ding) +exten => 8304,3,Hangup + +; default audio for safe harbor 2-second-after-hello message then hangup +; create a GSM formatted audio file complies with safe harbor rules +; and put it in /var/lib/asterisk/sounds then change filename below +exten => 8307,1,Answer +exten => 8307,2,Playback(vm-goodbye) +exten => 8307,3,Hangup + +; this is used for recording conference calls, the client app sends the filename +; value as a callerID recordings go to /var/spool/asterisk/monitor (WAV) +; SEE extensions.conf.sample-1.4 for changes needed for use with Asterisk 1.4 +exten => 8309,1,Answer +exten => 8309,2,Monitor(wav,${CALLERIDNAME}) +exten => 8309,3,Wait,3600 +exten => 8309,4,Hangup + +; this is used for recording conference calls, the client app sends the filename +; value as a callerID recordings go to /var/spool/asterisk/monitor (GSM) +; SEE extensions.conf.sample-1.4 for changes needed for use with Asterisk 1.4 +exten => 8310,1,Answer +exten => 8310,2,Monitor(gsm,${CALLERIDNAME}) +exten => 8310,3,Wait,3600 +exten => 8310,4,Hangup + +; this is used for playing a message to an answering machine forwarded from AMD in VICIDIAL +; replace conf with the message file you want to leave +exten => 8320,1,WaitForSilence(2000,2) ; AMD got machine. leave message after recording +exten => 8320,2,Playback(conf) +exten => 8320,3,AGI(VD_amd_post.agi,${EXTEN}) +exten => 8320,4,Hangup + +; this is used to allow the GUI to send you directly into voicemail +; don't forget to set GUI variable $voicemail_exten to this extension +; SEE extensions.conf.sample-1.4 for changes needed for use with Asterisk 1.4 +exten => 8501,1,VoicemailMain(s${CALLERIDNUM}) +exten => 8501,2,Hangup + +; this is used to allow the GUI to send live calls directly into voicemail +; don't forget to set GUI variable $voicemail_dump_exten to this extension +exten => _85026666666666.,1,Wait(2) +exten => _85026666666666.,2,Voicemail(${EXTEN:14}) +exten => _85026666666666.,3,Hangup + +; this is used for sending DTMF signals within conference calls, the client app +; sends the digits to be played in the callerID field +; sound files must be placed in /var/lib/asterisk/sounds +exten => 8500998,1,Answer +exten => 8500998,2,Playback(silence) +exten => 8500998,3,AGI(agi-dtmf.agi) +exten => 8500998,4,Hangup + +; prompts for recording AGI script, ID is 4321 +; first variable is format (gsm/wav) +; second variable is timeout in milliseconds (default is 360000 [6 minutes]) +exten => 8167,1,Answer +exten => 8167,2,AGI(agi-record_prompts.agi,wav-----360000) +exten => 8167,3,Hangup +exten => 8168,1,Answer +exten => 8168,2,AGI(agi-record_prompts.agi,gsm-----360000) +exten => 8168,3,Hangup + +; playback of recorded prompts +exten => _851XXXXX,1,Answer +exten => _851XXXXX,2,Playback(${EXTEN}) +exten => _851XXXXX,3,Hangup + +#### VDAD STANDARD TRANSFER ENTRIES #### +; VICIDIAL_auto_dialer transfer script for no-agent campaigns: +exten => 8364,1,AGI(agi://127.0.0.1:4577/call_log) +exten => 8364,2,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8364,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8364,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8364,5,Hangup + +; VICIDIAL_auto_dialer transfer script: +exten => 8365,1,AGI(agi://127.0.0.1:4577/call_log) +exten => 8365,2,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO) +exten => 8365,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO) +exten => 8365,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO) +exten => 8365,5,Hangup + +; VICIDIAL_auto_dialer transfer script SURVEY at beginning: +exten => 8366,1,AGI(agi://127.0.0.1:4577/call_log) +exten => 8366,2,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +exten => 8366,3,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +exten => 8366,4,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +exten => 8366,5,Hangup + +; VICIDIAL_auto_dialer transfer script Load Balance Overflow: +exten => 8367,1,AGI(agi://127.0.0.1:4577/call_log) +exten => 8367,2,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) +exten => 8367,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) +exten => 8367,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) +exten => 8367,5,Hangup + +; VICIDIAL_auto_dialer transfer script Load Balanced: +exten => 8368,1,AGI(agi://127.0.0.1:4577/call_log) +exten => 8368,2,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8368,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8368,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8368,5,Hangup + +; VICIDIAL_auto_dialer transfer script AMD with Load Balanced: +exten => 8369,1,AGI(agi://127.0.0.1:4577/call_log) +exten => 8369,2,AMD(2000|2000|1000|5000|120|50|4|256) +exten => 8369,3,AGI(VD_amd.agi,${EXTEN}) +exten => 8369,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8369,5,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8369,6,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8369,7,Hangup + +; VICIDIAL auto-dial reminder script +exten => 8372,1,AGI(agi://127.0.0.1:4577/call_log) +exten => 8372,2,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) +exten => 8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) +exten => 8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) +exten => 8372,5,Hangup + +; VICIDIAL SURVEY transfer script AMD with Load Balanced: +exten => 8373,1,AGI(agi://127.0.0.1:4577/call_log) +exten => 8373,2,AMD(2000|2000|1000|5000|120|50|4|256) +exten => 8373,3,AGI(VD_amd.agi,${EXTEN}) +exten => 8373,4,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +exten => 8373,5,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +exten => 8373,6,Hangup + +#### VDAD SIP UNREGISTERED TRANSFER ENTRIES #### +#### Use these entries IN PLACE OF the entries above if you are using SIP trunks +#### and are not registering your provider in sip.conf +;; VICIDIAL_auto_dialer transfer script for no-agent campaigns: +;exten => 8364,1,Playback(sip-silence) +;exten => 8364,2,AGI(agi://127.0.0.1:4577/call_log) +;exten => 8364,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +;exten => 8364,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +;exten => 8364,5,Hangup +; +;; VICIDIAL_auto_dialer transfer script: +;exten => 8365,1,Playback(sip-silence) +;exten => 8365,2,AGI(agi://127.0.0.1:4577/call_log) +;exten => 8365,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO) +;exten => 8365,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO) +;exten => 8365,5,Hangup +; +;; VICIDIAL_auto_dialer transfer script SURVEY at beginning: +;exten => 8366,1,Playback(sip-silence) +;exten => 8366,2,AGI(agi://127.0.0.1:4577/call_log) +;exten => 8366,3,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +;exten => 8366,4,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +;exten => 8366,5,Hangup +; +;; VICIDIAL_auto_dialer transfer script Load Balance Overflow: +;exten => 8367,1,Playback(sip-silence) +;exten => 8367,2,AGI(agi://127.0.0.1:4577/call_log) +;exten => 8367,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) +;exten => 8367,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) +;exten => 8367,5,Hangup +; +;; VICIDIAL_auto_dialer transfer script Load Balanced: +;exten => 8368,1,Playback(sip-silence) +;exten => 8368,2,AGI(agi://127.0.0.1:4577/call_log) +;exten => 8368,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +;exten => 8368,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +;exten => 8368,5,Hangup +; +;; VICIDIAL_auto_dialer transfer script AMD with Load Balanced: +;exten => 8369,1,Playback(sip-silence) +;exten => 8369,2,AGI(agi://127.0.0.1:4577/call_log) +;exten => 8369,3,AMD(2000|2000|1000|5000|120|50|4|256) +;exten => 8369,4,AGI(VD_amd.agi,${EXTEN}) +;exten => 8369,5,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +;exten => 8369,6,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +;exten => 8369,7,Hangup +; +;; VICIDIAL auto-dial reminder script +;exten => 8372,1,Playback(sip-silence) +;exten => 8372,2,AGI(agi://127.0.0.1:4577/call_log) +;exten => 8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) +;exten => 8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) +;exten => 8372,5,Hangup +; +;; VICIDIAL SURVEY transfer script AMD with Load Balanced: +;exten => 8373,1,Playback(sip-silence) +;exten => 8373,2,AGI(agi://127.0.0.1:4577/call_log) +;exten => 8373,3,AMD(2000|2000|1000|5000|120|50|4|256) +;exten => 8373,4,AGI(VD_amd.agi,${EXTEN}) +;exten => 8373,5,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +;exten => 8373,6,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +;exten => 8373,7,Hangup + + + +SUBPHASE 6.3: adding entries to your MySQL "asterisk" database for vicidial +applications + +We need to add a few initial values to the vicidial tables in the "asterisk" +database in order to start setting up the vicidial dialer system for use. + +1. at the command prompt type this to go to the mysql client: +/usr/local/mysql/bin/mysql +2. type the following into the mysql client prompt: + (make sure you put your IP address in place of "10.10.10.15" in the queries below) +######------ BEGIN Mysql data entry(you can copy and paste this into terminal) # + +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600051','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600052','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600053','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600054','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600055','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600056','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600057','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600058','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600059','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600060','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600061','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600062','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600063','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600064','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600065','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600066','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600067','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600068','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600069','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600070','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600071','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600072','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600073','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600074','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600075','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600076','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600077','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600078','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600079','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600080','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600081','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600082','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600083','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600084','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600085','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600086','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600087','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600088','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600089','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600090','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600091','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600092','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600093','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600094','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600095','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600096','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600097','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600098','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600099','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600100','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600101','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600102','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600103','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600104','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600105','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600106','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600107','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600108','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600109','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600110','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600111','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600112','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600113','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600114','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600115','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600116','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600117','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600118','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600119','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600120','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600121','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600122','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600123','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600124','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600125','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600126','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600127','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600128','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600129','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600130','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600131','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600132','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600133','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600134','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600135','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600136','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600137','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600138','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600139','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600140','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600141','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600142','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600143','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600144','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600145','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600146','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600147','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600148','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600149','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600150','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600151','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600152','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600153','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600154','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600155','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600156','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600157','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600158','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600159','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600160','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600161','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600162','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600163','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600164','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600165','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600166','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600167','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600168','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600169','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600170','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600171','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600172','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600173','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600174','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600175','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600176','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600177','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600178','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600179','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600180','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600181','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600182','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600183','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600184','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600185','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600186','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600187','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600188','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600189','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600190','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600191','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600192','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600193','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600194','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600195','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600196','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600197','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600198','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600199','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600200','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600201','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600202','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600203','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600204','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600205','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600206','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600207','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600208','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600209','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600210','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600211','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600212','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600213','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600214','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600215','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600216','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600217','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600218','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600219','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600220','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600221','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600222','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600223','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600224','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600225','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600226','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600227','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600228','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600229','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600230','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600231','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600232','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600233','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600234','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600235','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600236','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600237','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600238','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600239','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600240','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600241','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600242','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600243','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600244','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600245','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600246','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600247','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600248','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600249','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600250','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600251','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600252','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600253','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600254','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600255','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600256','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600257','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600258','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600259','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600260','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600261','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600262','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600263','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600264','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600265','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600266','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600267','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600268','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600269','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600270','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600271','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600272','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600273','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600274','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600275','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600276','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600277','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600278','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600279','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600280','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600281','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600282','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600283','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600284','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600285','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600286','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600287','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600288','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600289','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600290','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600291','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600292','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600293','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600294','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600295','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600296','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600297','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600298','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600299','10.10.10.15'); + +######------ END Mysql data entry ------###### + + + +SUBPHASE 6.4: setting up asterisk and helper applications for startup + +1. Make several entries in the rc.local of your system: + - on the command line type: + - vi /etc/rc.d/rc.local + - add the following entries(here's what we used): + +# OPTIONAL enable ip_relay(for same-machine trunking and blind monitoring) +# /usr/share/astguiclient/ip_relay/relay_control start 2>/dev/null 1>&2 + +# Disable console blanking and powersaving +/usr/bin/setterm -blank +/usr/bin/setterm -powersave off +/usr/bin/setterm -powerdown + +### start time server +/usr/local/bin/ntpdate -u ntp.myfloridacity.us +/usr/sbin/ntpd + +### start up the MySQL server +/usr/local/mysql/bin/mysqld_safe --user=mysql --skip-name-resolve --skip-host-cache & + +### start up the MySQL 4.1.X server (with old passwords) +/usr/local/mysql/bin/safe_mysqld --old-passwords --skip-name-resolve --skip-host-cache & + +### start up the apache web server +/usr/local/apache2/bin/apachectl start + +### roll the Asterisk logs upon reboot +/usr/share/astguiclient/ADMIN_restart_roll_logs.pl + +### clear the server-related records from the database +/usr/share/astguiclient/AST_reset_mysql_vars.pl + +### load digium tormenta 4xT1 drivers into system +modprobe zaptel +modprobe wct1xxp +/sbin/ztcfg -vvvvvvvvvvvv + +### sybsys local login +touch /var/lock/subsys/local + +### sleep for 20 seconds before launching Asterisk +sleep 20 + +### start up asterisk +/usr/share/astguiclient/start_asterisk_boot.pl + + - you are done + + + + +SUBPHASE 6.5: setting up astguiclient scripts for continuous running + +1. Make several entries in the crontab of your system: + - on the command line type: + - cd /usr/share/astguiclient + - crontab -e + - add the following entries(here's what we used): + +### recording mixing/compressing/ftping scripts +0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_mix.pl +#0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_VDonly.pl +1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58 * * * * /usr/share/astguiclient/AST_CRON_audio_2_compress.pl --GSM +#2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59 * * * * /usr/share/astguiclient/AST_CRON_audio_3_ftp.pl --GSM + +### keepalive script for astguiclient processes +* * * * * /usr/share/astguiclient/ADMIN_keepalive_ALL.pl + +### kill Hangup script for Asterisk updaters +* * * * * /usr/share/astguiclient/AST_manager_kill_hung_congested.pl + +### updater for voicemail +* * * * * /usr/share/astguiclient/AST_vm_update.pl + +### updater for conference validator +* * * * * /usr/share/astguiclient/AST_conf_update.pl + +### flush queue DB table every hour for entries older than 1 hour +11 * * * * /usr/share/astguiclient/AST_flush_DBqueue.pl -q + +### fix the vicidial_agent_log once every hour +33 * * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl + +### updater for VICIDIAL hopper +* * * * * /usr/share/astguiclient/AST_VDhopper.pl -q + +### adjust the GMT offset for the leads in the vicidial_list table +1 1,7 * * * /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --debug --postal-code-gmt + +### reset several temporary-info tables in the database +2 1 * * * /usr/share/astguiclient/AST_reset_mysql_vars.pl + +### optimize the database tables within the asterisk database +3 1 * * * /usr/share/astguiclient/AST_DB_optimize.pl + +## adjust time on the server with ntp +30 * * * * /usr/local/bin/ntpdate -u ntp.myfloridacity.us 2>/dev/null 1>&2 + +### VICIDIAL agent time log weekly and daily summary report generation +2 0 * * 0 /usr/share/astguiclient/AST_agent_week.pl +22 0 * * * /usr/share/astguiclient/AST_agent_day.pl + +### VICIDIAL campaign export scripts (OPTIONAL) +#32 0 * * * /usr/share/astguiclient/AST_VDsales_export.pl +#42 0 * * * /usr/share/astguiclient/AST_sourceID_summary_export.pl + +### remove old recordings more than 7 days old +#24 0 * * * /usr/bin/find /var/spool/asterisk/monitorDONE -maxdepth 2 -type f -mtime +7 -print | xargs rm -f + +### remove old vicidial logs and asterisk logs more than 2 days old +28 0 * * * /usr/bin/find /var/log/astguiclient -maxdepth 1 -type f -mtime +2 -print | xargs rm -f +29 0 * * * /usr/bin/find /var/log/asterisk -maxdepth 3 -type f -mtime +2 -print | xargs rm -f +30 0 * * * /usr/bin/find / -maxdepth 1 -name "screenlog.0*" -mtime +4 -print | xargs rm -f + + + + + - once your system starts up you can attach to the screen running asterisk by +typing "screen -r " find which screen by typing "screen -r" and +looking for the lowest screen number. Then to detach again from the screen +while you are in it type 'Ctrl+a' then 'd' + - you are done + +NOTES: +- The AST_agent_day.pl and AST_agent_week.pl scripts create an ASCII fixed-length report of all agent activity on the system +- The AST_VDsales_export.pl script allows for the exporting(into several different formats) of specified vicidial_list data based on status and campaign as well as inbound group +- The AST_sourceID_summary_export.pl script summarizes leads in the system by source_id and generates a text report + + + + + +SUBPHASE 6.6: adding test leads to the VICIDIAL database and configuring a +VICIDIAL campaign and users + +First we will add a few test leads to the vicidial_list table so that we can +test our system. There is also an application included with the distribution +that will accept a delimited file of leads placed in the /usr/share/astguiclient/VICIDIAL/LEADS_IN/ +directory and load it into the database automatically(VICIDIAL_IN_new_leads_file.pl +[a sample lead file in the proper format is included with this release: + - test_VICIDIAL_lead_file.txt]) +If you want to use the lead import script I suggest looking at the code to make +sure it is entering what you want it to. We are not going to go over that +particular script in this document. + +Also, there is a web-based lead loader that was made available as of the 1.1.1 +release and is accessible from the VICIDIAL admin.php web page(click on the +"LOAD NEW LEADS" link at the top of the admin page). To get to this page you +must have permissions in the vicidial_user table(Load Leads set to 1) . +Instructions on it's use are included on the page through the help question +mark link. +NOTE: in PHP you must have "fileuploads" enabled for this page to work. +NOTE: it is important to have your proper country code in the phone_code field of your leads so that the GMT offset encodding will properly code the time zones for your leads. For the USA/Canada/Caribbean this would be 1. For the UK this is 44 and Mexico is 52 and so on. + +Second we need to add the disposition statuses into the system, all of these +queries are below: +(Note: you may want to replace 7275551212 with a real number to test in these +records) + +1. at the command prompt type go to the mysql client: +/usr/local/mysql/bin/mysql +2. type the following into the mysql client prompt: + (make sure you put your IP address in place of "10.10.10.15" in the queries +below) +######------ BEGIN Mysql data entry(you can copy and paste this into terminal) # + +INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead01','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com'); +INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead02','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com'); +INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead03','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com'); +INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead04','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com'); +INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead05','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com'); +INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead06','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com'); +INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead07','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com'); + +### these first 5 must be in all VICIDIAL systems for it to work properly # +INSERT INTO vicidial_statuses values('NEW','New Lead','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('QUEUE','Lead To Be Called','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('INCALL','Lead Being Called','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('DROP','Agent Not Available','N','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('XDROP','Agent Not Available IN','N','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('NA','No Answer AutoDial','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('CALLBK','Call Back','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('CBHOLD','Call Back Hold','N','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('A','Answering Machine','Y','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('AA','Answering Machine Auto','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('AM','Answering Machine Sent to Mesg','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('AL','Answering Machine Msg Played','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('B','Busy','Y','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('DC','Disconnected Number','Y','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('DEC','Declined Sale','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('DNC','DO NOT CALL','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('DNCL','DO NOT CALL Hopper Match','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('SALE','Sale Made','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('N','No Answer','Y','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('NI','Not Interested','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('NP','No Pitch No Price','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('PU','Call Picked Up','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('PM','Played Message','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('XFER','Call Transferred','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('ERI','Agent Error','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('SVYEXT','Survey sent to Extension','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('SVYVM','Survey sent to Voicemail','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('SVYHU','Survey Hungup','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('SVYREC','Survey sent to Record','N','N','UNDEFINED'); + +quit +######------ END Mysql data entry ------###### + +Now that the sample leads and disposition codes have been entered, we can go +into the VICIDIAL administration website and set up our campaigns, lists and users. +But first let's make sure that they have the right GMT offset: + run this on the command line: + - /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --postal-code-gmt + +3. Enter the astguiclient administration page: +http://10.10.10.15/vicidial/admin.php +(use the username and password created when we entered a record into the +vicidial_users table in SUBPHASE 6.1, In our case this is 6666 and 1234) +NOTE: if you click on the Logout button you must leave the user/pass empty and click OK + - Now that you are logged into the vicidial administration system we can add +new user entries for each of the new users and enter new campaigns and new +lists. + - The first step is to enter your new users, Click on the ADD A NEW USER +and fill in the appropriate information for each now user you want to +add. + - Next, you need to create a new campaign, click on the ADD A NEW +CAMPAIGN link and fill in what you want the campaign to be called as +well as a description + - Next, you need to define a new list, click on the ADD A NEW LIST link +and fill in what you want the list to be called as well as a using the +list ID of the leads that we loaded in the previous step "101" and +select the new campaign from the pull-down menu that we just created. + - Now that you have created your list, make it active by changing active to Y + - now modify your campaign ang change the first status to be called to +NEW and submit. Now your system is ready to dial. + - you are done + + + +SUBPHASE 6.7: VICIDIAL remote agents: + +With v1.0 of VICIDIAL we have the ability to use a simple web form to give +remote agents a way to receive calls to whatever number they happen to be at, +and they can view/edit call details and see a call log all through a web page +(vdremote.php) or http://10.10.10.15/vicidial/vdremote.php on this installation. +Remote Agents is only recommended for inbound calls because of the extra time +needed to dial a number out to transfer the call to. To set up remote agents, +just go to the vicidial admin.php page and ADD NEW REMOTE AGENTS(Make sure the +userID start also has a user login so they can get to the vdremote page). You +will see that you can set up a remote agent entry to take multiple lines if you +wish meaning that, for example, if you need to send all of your calls to another +location because of a massive snowstorm(and none of your agents showed up at work) +you just log in that remote agent record with say 10 lines and then all of those +calls will be directed to the same number you set up for the remote agent. Then +again you could just get your agents to log in from home if they have a phone +and computer + + + +SUBPHASE 6.8: astGUIclient web-only client: + +With 1.1.1 release of astguiclient we have completely rewritten the astGUIclient +client app in AJAX(PHP/Javascript/XMLHTTPRequest) to enable a full, real-time +GUI interface using only a web browser. The browser requirements for this are: +- Firefox 0.9 or greater (Firefox 1.0.7 is the recommended browser) +- Mozilla 1.7 or greater +- Netscape 8 or greater +- Opera 8.5 or greater +- Microsoft Internet Explorer 6.0 + +This new version also has more flexibility and functionality than the perl/Tk +version as well as being prettier. We have successfully tested this on many +platforms and in remote locations. It functioned wonderfully off-site with one +of our IAX hardphones and offers a lot of promise for road warriors who need +a lot of options on their phone usage like conferencing and a detailed call log. + +To log into this app you will need a login setup in the vicidial_users table +with a user_level of 1 or greater as well as an entry for the phone you are +using in the phones table. You will first get a login prompt for the vicidial +login then you will have the phone login where you enter the Login and Password +for that phone entry. From there the app should display and you will see the +MAIN screen with your phone information, voicemail display and your inbound/ +outbound phone call log. + +The example web page you would go to on this installation would be: +http://10.10.10.15/agc/astguiclient.php + +The inbound log and callerID popup is dependant on having a call_inbound.agi +entry in your dialplan before you phone is dialed(see subphase 6.2 step 2) + +Another thing to note is that you can have the agc folder(with the .php files +in it) copied to multiple web servers, you just need to make sure that the +MySQL database connection works (check the settings in the dbconnect.php file +that is in the agc directory). We have had astguiclient.php running on 3 +separate web servers for the same DB server and Asterisk server. This is an +easy way to allow for auto failover and/or redundancy. Also, this client will +work over SSL connections(https) for encrypted communications with the server. + +New in astGUIclient release 1.1.7 is multi-language support. multi-language +versions of web-clients and admin pages are available in the LANG_www directory +and can be unzipped into your webroot directory. + + + +SUBPHASE 6.9: VICIDIAL web-only client: + +NOTE: There is a VICIDIAL Agent manual available from http://www.eflo.net + +With 1.1.6 release of astguiclient we have finished the rewrite of the VICIDIAL +client app in AJAX(PHP/Javascript/XMLHTTPRequest) to enable a full, real-time +GUI interface using only a web browser like we have done with astGUIclient. +The browser requirements for this are: +- Firefox 0.9 or greater (Firefox 1.0.7 is the recommended browser) +- Mozilla 1.7 or greater +- Netscape 8 or greater +- Opera 8.5 or greater +- Microsoft Internet Explorer 6.0 + +This version is fully functional and has been tested in our production +call center with no problems. + +To log into this app you will need a login setup in the vicidial_users table +with a user_level of 1 or greater as well as an entry for the phone you are +using in the phones table. You will first get a login prompt for the vicidial +login then you will have the phone login where you enter the Login and Password +for that phone entry. From there the app should display and you will see the +VICIDIAL screen with your phone information. + +The example web page you would go to on this installation would be: +http://10.10.10.15/agc/vicidial.php + +One more feature that the VICIDIAL web-client offers is the ability to set up +an EXTERNAL phone extension in the astguiclient admin section so that you can +have agents log in to vicidial.php wherever they have access to a phone with +an external phone number and a web browser. To do this follow these steps: +- "ADD PHONE" in the admin.php web page and enter whatever name you want +- For the dialplan number field put in the full digits that you would dial from + the Asterisk server to get to that agent's external phone(with 91 if used) +- For the Protocol select EXTERNAL +- make sure the agent knows the login and password set for this phone entry. +Then the agent will go to the vicidial.php page and enter in their phone +login/pass, their vicidial user/pass/campaign and their phone should ring in a +few seconds, and they are logged in and ready to take calls. + +Another thing to note is that you can have the agc folder(with the .php files +in it) copied to multiple web servers, you just need to make sure that the +MySQL database connection works (check the settings in the dbconnect.php file +that is in the agc directory). We have had astguiclient.php running on 3 +separate web servers for the same DB server and Asterisk server. This is an +easy way to allow for auto failover and/or redundancy. Also, this client will +work over SSL connections(https) for encrypted communications with the server. + +New in astGUIclient release 1.1.7 is multi-language support. multi-language +versions of web-clients and admin pages are available in the LANG_www directory +and can be unzipped into your webroot directory. + +Admin Note: If you want to enable your agents to login with only their user/pass +you can hardcode the phone_login and phone_pass into the query string(URL) and +use a bookmark on their desktop, taking one more step out of their login process +example: http://10.10.10.15/agc/vicidial.php?pl=gs102&pp=test + +It is recommended if you are in a call center environment that you would disable +the "Saved Form Information" option in Firefox settings. This is a checkbox in +the Privacy settings under the Options menu. + + + +PHASE 7.0: You are done with installation + +If you have problems and it is not working right(and are NOT celebrating right +now), feel free to take a look at the FAQ for solutions to common installation +errors, read the SCRATCH_INSTALL document, visit the VICIDIAL forum or send an +email to the mailing list: +http://www.eflo.net/VICIDIALforum/index.php +https://lists.sourceforge.net/lists/listinfo/astguiclient-users + +Also, check out our weblog: http://astguiclient.blogspot.com/ + + +**** IMPORTANT - In order for vicidial/astguiclient to function correctly please +read the REQUIREMENTS.txt for a minimum requirements list. *** + +End-user Manuals for Agents and Managers are available from http://www.eflo.net diff --git a/agc_2-X/branches/agc_2.0.5/docs/Slackware-Linux_USA_DST_changes.txt b/agc_2-X/branches/agc_2.0.5/docs/Slackware-Linux_USA_DST_changes.txt new file mode 100644 index 00000000..b6c64cf0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/Slackware-Linux_USA_DST_changes.txt @@ -0,0 +1,48 @@ +Below are Timezone update instructions for Slackware and any generic Linux +install. Because of the changes in Daylight Savings Time in the USA ad Canada +in 2007, it becomes necessary to update your system's timezone info if you are +using a Linux distro that was released before 2006 and have not updated it. + +SLACKWARE 10.2: +cd / +wget ftp://ftp.slackware.com/pub/slackware/slackware-10.2/patches/packages/glibc-zoneinfo-2.3.5-noarch-7_slack10.2.tgz +gunzip glibc-zoneinfo-2.3.5-noarch-7_slack10.2.tgz +tar xvf glibc-zoneinfo-2.3.5-noarch-7_slack10.2.tar +chmod 0777 install/doinst.sh +./install/doinst.sh +date + + +SLACKWARE 10.1: +cd / +ncftpget ftp://ftp.slackware.com/pub/slackware/slackware-10.1/patches/packages/glibc-zoneinfo-2.3.4-noarch-2_slack10.1.tgz +gunzip glibc-zoneinfo-2.3.4-noarch-2_slack10.1.tgz +tar xvf glibc-zoneinfo-2.3.4-noarch-2_slack10.1.tar +chmod 0777 install/doinst.sh +./install/doinst.sh +date + + +SLACKWARE 10.0: +cd / +ncftpget ftp://ftp.slackware.com/pub/slackware/slackware-10.0/patches/packages/glibc-zoneinfo-2.3.2-noarch-7_slack10.0.tgz +gunzip glibc-zoneinfo-2.3.2-noarch-7_slack10.0.tgz +tar xvf glibc-zoneinfo-2.3.2-noarch-7_slack10.0.tar +chmod 0777 install/doinst.sh +./install/doinst.sh +date + + +GENERIC LINUX TIMEZONE CHANGES(Example New York EST): +cd /tmp +ncftpget ftp://elsie.nci.nih.gov/pub/tzdata2007c.tar.gz +gunzip tzdata2007c.tar.gz +tar xvf tzdata2007c.tar +zic -d /tmp/zoneinfo northamerica +cp -f /tmp/zoneinfo/EST5EDT /usr/share/zoneinfo/ +cp -f /tmp/zoneinfo/America/New_York /usr/share/zoneinfo/America/ +zdump -v /usr/share/zoneinfo/EST5EDT | grep 2007 +zdump -v /usr/share/zoneinfo/America/New_York | grep 2007 +ln -fs /etc/localtime /usr/share/zoneinfo/EST5EDT +zdump -v /etc/localtime | grep 2007 +date diff --git a/agc_2-X/branches/agc_2.0.5/docs/SuSE_10_3_OS_INSTALL.odt b/agc_2-X/branches/agc_2.0.5/docs/SuSE_10_3_OS_INSTALL.odt new file mode 100644 index 0000000000000000000000000000000000000000..bd36b8adfeaa4331f318c58a5f62c67377e967e3 GIT binary patch literal 26552 zcma&M1CVITvMt)SZQHhOyI0$`ZQHhO_iEd=-M!l8Tl>Cq-~a!{c_)5F)QmA_*2o-% zh{}kW3evzJC;4)M3!SlF02d)S*8*xOrM7#TQQ*xAy%+8Wc@ z88}%u(b?IX*c#gzx!9Q4I@39uxH~KSf1Lg0|DT5S7YW{h| z6Q}>z^#2|6-|74(*#EO=|9@G|c6QePnT7vvR9e^=n3*`y3t2eZ7}z`ghkb(iOSU%f zuyb*yH8LR*R(AS69GuGEf3}s}|hw;K7h8m#=VZ<_swk7!AyER?3QA7Nf zD)G1f-wy%wU#pRwt@FP&`j3vZ)1g>m?@e9#yn)aLswD46frFJ0t;=R)0*$D0>+0p1 zJxT;o1S*7n6+pvz68s1JGndzT-icmghNh}O06e09d6>Q%4H~GZA11i9 zocM{j0XOWfKRK{u1HMOZ`?uR8ZtVElc5L6ipY(d7K>@qy;<`)nqeL=VUlcNXKQLNh z7ZSgH+7c#iDGnyo#R>7DU6LQ;3N?aTmlHmo5MxU6%8jv-ZRPO0YLM?pDK{~G(>5RX z+!HU3+FHrqORkT+(jqL|@P$vXeHR9<5CB!i8Rfn*H@zag?*HkEQA`{X&zUi1vXFn? zOu%t<-RYBNf>ZG0HC+olXTZznglShx+I zbx_@gm6jgbwuiKMC#I901oQc2eABC*+w+mT={l7(kCfYe{%b(`efC(C4%+dTE6r!C zKxOaa;lkvSUe})@iiy%l*yg|m=NDI3IIefQ)64OmJo(~0h;#3q-!Bh*@b8$zMR!Dn z{cc^juZ5)73Np<7;zH%5u+LoYF3%13sjgo)Y3SSE644&t4Zq(HQ}HW#VEWu!!Mf?Sa?ijoUa4t6*NsYl#K?L#&&YncmL2M%STi6ve=M)Tmon2o z$SEYI07SelD81X9ehbP4;=z|)9o?I{^;7sAI~0GX`W5}qMPqzO;vap*O5?{IRo->( zy71T2!7ne&H`1fQjPyu^8rSdGbjJbN(K2iH-cl(WoI=8Xeh-?F6!UAal75~@js*ep zdeh|%F~GKak2&|EFB}r;F{FJ?7s2{62VV2wK`aH798q|;_!GTft|$ZxFx5vhVLjXu zE>1i(=3dOmNyvJasL7T$O(kcX^2qAzMC{rr@@K>p{h*cl^<>4EoZvW(hb4{@e*obT zoD}nGbuPpI3iU5#v;M7_rAE^~J~o6N2}?BKMLRb}h;hv4OvD8FI;%qZt-ql(2kXoo zLGl^~2%ju$Z>e(?kH&-eZ4YwN!d|8GE(-0<0H5|-tQskt{sg$VR5;sG&kPgO>|NO#Q;Su9#P$9XLFdL+P17stdzt=SOz*c`=XM zE)T1lA9%Ho(6Q&o(2-sEP2hY^=)0dxRjW4j42AuQH`;6E>-?~-+?y!z>cAf>%(wmW zuIn-QumuLC(aL6R>`A}<7C7t);=pG2 zvL37)rf>3(&`pC&vpr!cyk}9jP2J*tL*=G~UUAiH*03o$HkBilrv3JC4Y56OZeK7) z2RWoJdI}pkV0WtYyGhO|bE1So1@#r1&X6bT4P)gtu zozBYBCNKlomL{EHmhjDKubIWS%r;|t5`R1h=8L(MJ-b%xp(8gkJ=x+Ew7-pMK}v{RmH*Q@Prv+gHJaSn64fVc(oP#5T?AKM7gZKGLT%a^{7 zl1SuWt8EKvXw3`GupC1=!P5{yGC}dcWYOY>bng5(>3okg{`_gOY;pf#(c)zo`Ft6g zVBw~pt;ZMA+4IfV^8sn>k-J{jE-z2ci#}HZW0r?IC3l{Kvu+aLu?H-l9iRvBY*xPX zUkFyfFT&Uoz!P{5+y9#fz~?vM8LWUE!23f|#s5ZsEqX*5SpGWzk6`)y@B;ki{~G-H z-?YD$G>QNAHw!!mkNvN~{Qpg32lygQ{FlG?2Y^TQe?t6qoR=r_FZ4G!()iLpA^wi_ z0C>Or&qB=sdYT^71gD`t8RM_ut*<|I8*vV&haIn)@kG8<*75n6=npy4TX_mT4c4&4 zbM1Z6B^Sj%)u{$PN2N~jEe$<-BZ2vBL@k8a6|hRRaxFcx!38Uk#_yDFhly3ru13D= zF9tmW{P^0Fn7@RdIFrzoY*^@bW^M#FFf2{;w_^@p6qD-%qDP{c<6G*pT>0y_bDsIQ zKfa@F#1eCI8U6YO!trjoufZjA8NCjuNBd&)K$sJ}3zzy}J&r|VajzKr?qx)Ye~Cn=%_8}2 zUbyF`i%fbq&kS5oxb6b?&U5Y8#1q2b6Ru@E1~B-Jz5lWRq9nWtHeRGK`2{5nLxQ0& z7}eJuOaMk)OrH0ryr-5DABU;l(;{$%(Gc7kr9`R0ybsBbCY{`0KQ{wuniFkcaFxNz zLaly!<}S@%xc>T!0tU1p{%&qi(oJqw3vb3fYh#h$U}%4=8V3LQa~}a>KP<@K83KF} zxL^Cq0%`%s2|>Sf!&--0kKvq+yDUYsaPXkix=-*Kt;XKT&1~xd*?1DedmN3Kti&l= z=Zsa(J)OXyAmg4_%Xq|u7Wj6=DBlJW5f@L#<&XFVh_P^xP;5SU;rO{Gcz72ZC5M5T z&^DQ3bX3P4<2N)tC|F0l>-bo#ggh2jqn#*I#1U<^e)w;^nf5}rZ4;p$zLA{A4rLnSl#`AT7%)@&e{-k z(5#uho?z?1g{Vd0lojM2*nO*XRe2JDOtvQCAn6Oqemm~bEPT?(Yf$A1!^zf_FSEL{c1{LBO4Wn#rc>vyF0@w}hORe{5iSmpT$C8DHIi?6| z7G)+i6P$h&(-x@qEXr)V7zLOWbUo!k3KR-s;v>%9>j#9@z~n=~jw}#s>NyA)6; zD*LyfM&B=xR8S~HC`en`NXE3bO_-ILZ^F`^aOpUo$(zrD=VJ!?VPBx`XUsDGSpE0D z?Fj#43WErgL?1IBdyagvxtIw)u?#Rm+*hJolns*2N?GCWB~h54j^#t7P^o}X`Y|ESHI8pU z5N(acvfz`nR36gCH@har-y!_U=i#H>eSRjyDfWQc`V6m;;q0wv$h|x}xi@A7GbV?L z2eMas<#M_pXb1Gn(6v!SztJ}K^kqOCbx|ddAjE33wR!|xhes9wrGAUjndBEv)8S5J z!Yhb-LWnLR)KD{^5o%G##60#d+yTxcMpwF4!6YjNLmcsN4}CmT*@nW!E0xc(tU$=( zZrIlhF>(Pe*rtGucxeo)^?f1~qk?8OT`sOvd_#3lSH~}xaLzPQ71TW?kAmJGpXpez zS$aYHwUZcdMT^CeCr!zA)b|EI(`3u~k-WD_n=)bJZpl}F4G(RAryPgx2t5lZAH)wK*z~vos$og zs35lYM~1rw4!!R4vt)!^FT(jo;XpXlfH4IvukP!hSr!r@W>rXys0H?&+ZadkJeUDr z82~z;l>jQO>YT$z+{3c&lE4A)RoNiQ++Q;Vv!YFQN%5N8=XC+--zlq-ZYulEX{1g66ER><9Djs{^)A~If|SLZ?O$W*bHLZXD-s9_sIO^6cO(!^I@e2~M<7WE z0|GD%zy|z46GCpTOS8^{cw6y2v~nmC{K!y>EFliZ7DpVcrVoL@1F#KAZ&*9(;GC(4 zTnJ8yLx@frdo*PILlKarPIfqNT9!NDVa08$m^1@yiLlWGw_1;ptMw7Q2u2OD0&IpQ z&A>RYsg-8yRwNjRV>HwN_c3B0|6NOU7#rtm_@}TXWXwVyS$X}87ycsviLpMCeB?3X z)@KjC#%{_alBV#y9A6T$6eZj;o5=ShtOE84{|L2?!Eo~2+0pl82B-_)2>}V}J6>4G zuo0bOE$gBssHb(hZC=hXY=XJRL8kZ7r;oBBdM-=EksBF6;=t(3~S@xSP~Fl;H%)2;}epoG%=Buw-Q=-I(IYCwc^#Uu*| z9T}yFE5@p#%H*wovwov}kq_%OvAlZR+ zVun5@!|pf*lq*dHJAz7_qeV$&sKmCe?%* zxOmqB0(cBh^T9svf{heuZ7`GVPt#qNjKKIDiGIRH_a-852NBLU$@5q zmWbfD?3!#^yMdFszU;a-nr>iDA1tLje3=W#%H2m$kn}KInwIKYhhr!+EN9J7>O)Kl z=t}JiCdXc0ybWgFCZu{wl(RfNslfm-(0vdmBlhSONL(n^-ECur-5{K~O-p-&wW_Mb z=%h}H336UcggTlCqs9w}j~YGNrHnX`P*#I#0(een@(<1vbzmBz?<(O3v0Po||IHtb z>8H{v);qXd)<+Kj3czhiizd;<&?p5&zPSqp2mlV19Ca9eE(+ZS5-p^MixHScgWFUw-v}r}ysO#rNZUFo_E{@=lCKpTrb*y)Ee%y&X%)eSd8K1sXP75>% zMDDkHQ3}OqviGqp<$=_fTx6FTy_&sJp3QeVvv$n^89TM5OTTHaUymWWrEI;&C!VXS zt?kgOlfpabaj9$md|{P3Dp*i?aiA{C4_`p4Ts#)hj~4s03z1%4JSvT1QFm7N<{8*z zjDsHH{c?Z@(u@7vr|66M<*bwajC3PA9VGF2B(-j4wM!xBXQ!-Bc-+R=+M0!Gd+1^k z{u9s@2dFRj-fCLg9=|bna}L1 z<2}=R*~^|~EWsnAB=1^k*@I z*npf}(>U6udw?K|4gL1+1WWU2dV0DgmZbM<&1A0Se%>V0W{g(n)xj55Fid>FCfFE8 z5$_hDtJEUnPag(_?aLLZ3D?u9Mkg>GUy1c1^i*I*}zIG#lYxB8hvp)JGSgL!l65G$k z=X-b$mpT4*^UJed3;fF?y1rsO7*EC)fh8cjmH?+Jk|6y>nTk-5o_uj!#ONO$dK@w9bVta5 z1O!)Na6Dmkj1v;iO9?ml2@G-H^zMy=+mglRvfR#0zzC+f zo@PT8i=8~vV@myJjK>@XO>~~%(0M>aaU(O+EBPad4q2_`#i*Jl>e!kx(l}Bailg(0 zg^{;f6BD8r_Qx10G}S_(LLUMAX~PJ3i)J~on9pT$wA+jCNpeZjLvpBD8$FQ*kk$lb zWYQtnK){ncNYRM61ZWBxL|cm!nhK8Y!in4wcixzw94a^SrCfikCAhs6!FWD9F2X@c z{$v`Dj@-FPrRNCfn1dp-k&3l}?UMGm5H?%JE&r+x0Yj3 zvZVW%=-VTaT@@E zc8uQPwsGn#> zE}lAb4S*K;hw>K4>)r@#2*S|pBd7Eoj7t>5@VTVglDty|=u#CyLfy?=gBpATFEYB$ z&l=TJsG#fiLq7(T8#7Q-Y*I`0F`ON$SOnI)pem{*Gb6Uj>0*?MGoFWtV*7%&IWWHF z@udz>QT60EZi;G#-3>i)%uB-L7uG_9dPLDWbRHuCLF3lK_+in5GQ6< zHKR6%3VC?VL(EdoO79<&>2;PrR&>O5Ok~%V#m6i?;<_0A1KG4M- z>Oyb^skQDjTi6u5hQ7~cR>$?bDX9nS2!MwX2x`;KJm#+I*BZ&6OWPF}hu_I@ADB&k zS5zXL4UAQFK`SqvT9$VwGBpJ=gTC>eKw;K8A?1a-kuAU|F>X)uV*L=gDdm5_l>-M< z5GB;gtxPlBx|mar;uDUM2FhOzVnT0xeb>Ig2;%5`vUL1q1$(-AcIk$Hc!Y`HEXt4 zV{bTRaNJg={%)r=NL*I@u0-s05Fg{gQ#7mHdMS&7UvuT|QtHSOy0EjXovApuG=Y^*E~G8Ni6W0%E(_sPA$) zn$Fd6kqPXpp%%ie;~Nj!po!a&Ta+34l@KlTgHGF*9Gn0C+kPy}39~A!;b58Zjo8x`{_3eMK2@Jyx-LV_?xTjEC{|YPj{>VA%!4NU-46ka9tG_fLFm~ zSE0JTIRLoHi`v8^hU*tFG*nNKh&)nPRQ!qSXA3iyaaS!LKCJ~^TGrHF^OI7#OYmQe zXD+q-8z|ns;cG0ARqHFuPE0yJu1)v7B4f3E1iNqP?m%B=S?GrG_1HU27h)@3`mUgD z_tdP(>AdP&s43U)oYg7^?&0c6V<1T|2E8+3sKj_DDO;BpafMh09R*Us8f(=}sX!7@ z-ekTDWsz0zdbe84gRAn!IB86+uweCb`aaRVsuA;cHdy+!G#*h;2`9mipm~NKZYhO} zq|}}|CZZo*m*_fI%-q5CwQ#$aMx~b*wq%(1d*7y&jCfnS85s86^ZUwJiLy0B=q9ml zmaj!t*W?4C>TeBvoj}s()0!HY<*tweyly?ylUi>*Ld^02>JV<9y}Z~Aek|j-BVwMr z#$|11pRO8QLfg!URFuBM=C@eTHElB5PH+w>W@6O|@~M`(=r}J6a+{n_iX+*-Gda0V zn(4D2WW+SOgqwIv4inb;evJax0RqAXCu=x@H8rV#5ZPQ3v-`G_oXtcPdUGuct>Tsg z8K}$r7LcS71qc&!TdFXD&Yx5qAy`4^^cdj8MH$vuIyzU{y7HxaxAY=S8vD>!s+n+g z%5rIlCbXJ-1QekY~uU7U&UC=PhcM32v{UO5Y>no2uU6 z6=^#g<4a76_1ItMlZiQV=Uz@Rz|3)>FF8UqU&xw=Te9699K40tbK+$fg;u{anLlT* zq3S9zeH>X@a4jNe$)X25@F59aBBgUb;wn%+br(+NBq)6+I$DTJre&0e3ae67l!5I` z;v0Jw?`VRShB~EshW9+>rKYArVJRvlRVk;>FJN^|HO3?~vO;XCs*m?42z#fX!4odf zlHA5}W4}Vxa=%l?JmwjzluWgM?{wU9&YWHL@z&Y9WLPNUayam6SV~{n-F4=8Ag4nhB<)qIYLOh?*)(;YmBHeICJ0M?Ps+nXT*_g=&d zcM^)YRWe{za4@fuAUn=omd!hgEx-^`dLv&F^t-P&mi(HFIF2~Y-{Lu_CM>Bb&^I0lQ&!wc{*6-j7#tFjPxj`#t#f1Y3GD`~W&a~kkr5mL9gNz}+ zfNUEzT(7TJ77%JZ>?jcBs0tTTxSMhT83MvSlU=?yejg^D)RcC(MV9VVPB)5_bKI2{+YYwfOb=Q%}E^?)(1m(!&=EJ#~oAzG| z0V80ZU;z2W5i5b_=5PfD2QZMLZu<%vVMyg;9ihUJz9hUr z@GBe(bGa?VynnhMVJUS>7V$V@Fo{k>xW|WXvb?Up^n!cvvg3+amcUo#=$ydqsO+b% z@h759u69;$CP!-4b=JwqfT0|O3W2>?^{;?dc$5xjfV#`mdvsTIiiSz#!(4JiB4X{; z$ahVn@Z2sn5*EuEh{{x}AsP(E_ldu%m5J4Q=y*d0I)bFkAa6~T&f_|=)i7Z~m>lF{ zRWYV@^xu#IgE~dk;K#KPj0zHW<_~x~=b28uF=_3q`S#{0=p<+j z3UwccsmL%{yQ{Ko;m4K8qptB9!jN+++J*P~+t@w?kDv@{2iV!*LtINz1>Fh3Cvq4| zR7LW#q6_l!(8uf!1<-~36fFun(9?+OKcRMP$P#;tYR<5Tw3VXJCpp!ZvI6UKDVQzX zTltv{2!N3iqTQaku|(Nf{C)$(hTx}k%^Ij#KC4T@K7JDx*Ta7ZA75@vf0>t>fd%jV)D^GU*b{CN8Cgyu3|+_B9q?jrf^9n%KB$D`PY zYtb4J+YK=qgLtNkXp+^?r)2B+gj?vQGKXbmpf9#*Vnv( z+{SrC=~#?|q~~AfdAz537q~kLuKl9ZuHH23#dPjxsnOa;b257Q0L|)LNG*?of@@?e z?IP+^4OBc?5>3|Rj?T6Dc7HczEIudCA`yeuEENsM1ZeNBwN%-e z`MB6aYc?Ah_?VXTiiuH(8$4b?D+qPLX}^uXLYlR^YVPfLn1l_-7bx$${CWh$tNXL= zeV?`4CC`R;;E;2_$z|!NyG!YJpjsWRH$34knwCxZtKVTEv|jQFtz}B3*PwMkO>Tb~ zQ3XXwn8(fSLc!II(!?P2gq?)VMY0eduFdpoQdnjiy7sP8@N0XR%+(-pSC=ibtmaRS zo%?9HO+Z^6uS4>g9^&7F%EE8Ae>Mh>|uIG5yJeOG$ST8Eo6;BOyaX!A7SnujWV&Cx9 zy;)qa(UtQB&y(|C>VSpjxV%o$GAy_&4}~+elCKy>L!8E zE2k!NmNKE-#~UC5FrrEWdt;?!(_tcs&`?e^XiON7L&@OIFO2G1Dw>KiV@uU0_*h1~ zI8rnW*vu6!+mB=!9>nrDZPlqDih@#bMrq_21BsMp%nFag$VA+(=r2f4( z+q~9f@iBIz4~GpISLUSliwCHsaxJP^Fb`p<4GeMkhm69qj3PoW%Itko%roj3@U5{( z<`dM1Cr#}|x~)BBlB^N&aj>yE&UY-hwt5zq%BB;xo?ngmzCi@OR?BuTH1^&UG@;rI zDua^@Z`oj5UDE$OMk^O2Mrfx!q0>?lG&OsdtE$28r zX7zG^@OX%+JWEtDa0e77IF_IGEFPIB7u4sA{SMR0kv^#u#S%AJ2ePYYD~j!Vqdb!H zH(lP?cakv=+R7jBr<6q$!{}I#ri1-!%8II%Qv(HPhE!IT*=QSfFQMeG!- zW+pF{+G^t05D8}}S+1!~T(_O|GkySGkun1b2vJCB3WjPT z(k6viD-LxO!jqY>|7AgN39ur0QWNS36aKgo5h1u#BWJU6_Sx+)*_lg-ABxW`L;-QJ z&NZa=k#9qmk|8~S>NImO#sr3oeO#L3Zgt9>WQ=`|B^O1h&LrGcsyTpE=1FKkii%TY zIPG*q4n+q77qT#RV`GHLzTWPm2Ut@LP6%^<#5JZQloe5o)8qHPB+DWgm-^g`|N> zI!-PW2E)vYqBUK}X~I0cfMu9xX@df{?>A?KD+5DgWFlE33yd2;XewkY9H1lLc1p{-2y=&C+-LC|3gA`;;c1wyZ? zz4#^_X^!eEQ#%MXS*fca< zY7Hw_v7*_&#}~=RkH`{mavY?tu{pwOMj-sHDi#_Qr<{7PL7k5aYERAsg@nG7kV=Mm znoNYGQM7tPrOHWN;1LcLPAH<%_tRJb$@$+iDEaCvMek{6MK95UL1ZhWu74aiQCp{P zwJv&1@4j^w+q11(p^VjA=A%1Z=Wo?55ZL@xky)nffBGn%Vso?&qo`PS`Xtx@4qt4r zJpeiKxYBEpJ1L7hDMi-daECzmPj}I@$TzF$zE^R7<-pMK2BIWMe^qTExRnJBLmXHc z=A-hVhxsp#rP`@UZND17ismrhm9(hON^8kQ?S3iL{iz?XQvF!jwNE0u^ADW}=(4c- zc~nq`$o$3vmy_eRcl3kH&Yr$|Zt%5eeP67owXRt~*JG(PE(?*zmBTF)lcA z&v()6b9SoR`}(wluQ)%C&)m_IkoB?>nq@r#W8Xa)QFmInYECkJIW1lnAfNu)uvT6Q z`4FwmYO}nqA~R=yXq%kX!$?Y&^p4TDn{aq2B#AkzxRT4Ny12KB%bGKu;)fa; z0`;^Te%29(o!uw?s!JUE4RP~Z3~uvvSHn~F%lEi{ph_MU49xt}sAwdNq;Ja`hLPOo zMPw!Qs&+PI`m%Ab{q>jXvrR9gIau)^v=%)0)|Aql!4~~V-uqc&PnH2;C#Y(=Ahb<+ zdEO+=;C(etkgL+z?ZP2%xp{716!Kz1t{KKR=C-6R=Lbpkq&~W zX$mCKQxv`;5QjVa&%TEGHh3qu=xS!K*&01msf9B#aa$V`{4y~$$Z(YsbrA7L;=3L@ zicf7MnHJ#CPc>TAdqwjlGM_@txKAZ(k9>>iOT|jphsx!bPvw()p5^q7a?P+$C93$Y zP952px*9GYkQ{p_Sytj@m!txq&?ZS;)p`UNsYs@D^sbTHQ-G}Xvd>E*%PjvcL&LGr zj#y8A_1_AyC^_bR+<-9ROb$ev}%=blNJ;8;Ve4{!UU8_0LQa5uW z-IO=wBHsrMx)#hOo8bWn*>>OY+KZZ(XgQ}Uz1a#i2=_!1X8}^KD_uRro%*HZe$BNL%h?tre4V@#;NU# zSi)tF!GLHc^1O-+dl;wYI@hvm|0iv!C<6QaHOxg3c*V!F^?nog_5po3S$#69+4TR#Sng zs_umk_3_VMgFymlhfE2YMDlVA4SNKIV-F3Yv@AmOH<#XQVg6rj= zlR&GLo?Iyt_6(7hE0eiYD?;+LWu3sRZFAC@?}AD9>k?0jq2gBDk#pzH8`+65Y^+2c zxx{)oiv8%d*fNKd{fI0Ka%YI^2rNxT1KPqdS0*GiPfX@RWplp2q8%bjPZ>DyO@p6zc1Ya{gCdx zm)jYXFXw_HKyZqI5Zz6@KTKYQah(N(oT1TnLrL2V&I4)l6zp`4cBJ_FQ+rqu9C#_T zL$Ap^6qc5ObmG?wG1ahFa8H5OM@|Twm0KLF%)P)NT`U>Ci|<>p3R>+|f& z$`1dF+O|{Y>^a}dxv#BTbZRIO9U3PZ5D-vpV;Q*DB{~z#OT#!eGmgEy5KZ(-C(s zlph;+sz12!Y}bDOPAS;F5?b)+Nbi`${)Hn3RI^nx#UqF<2x2gX5JnFMMRFdELj0|9 zdji7zxy0Zg5#&J$!NO16;9U5jL7aGRTH$C8SE=u1-l>GAEtsRrrWYQ(4t*F&?L}>_ zfIPa1n`8mJTABr`V6-M7$6LFkp_$aqsZk)<&(0fAe$-9z-&>l8{N(wp%!{s6br!fz z zP@5fDB;C`_(;|%d$^+FM)Ta**_4|yg zMnwE`S04Fa&1S4AKOCUv_iv^WjtC`zTxZ2EQa~=)kDvNp8QCb04n92$-{0kfsJtbA z+89&fwR?r)yj-&SIa@d_GRPpdd@}bYd;@Gyce*{oqUlRjoqxsBDtE)Gi|Ta=7B+Xf zrx2zF-FyD+$e*PT&mHKr_A6(Lb!>CHje9qzYr^6d*@VE}^zdVSq;<47eVw+5zH_xI zVAN>zQ)G{VeUNplm^pVb^EpUr@v`hP_mpfdImTSYYDwgBQE}9Pd6nFHMlBdGLG8;# zmyl`ydZxc@I(CT0oU6z1;Ou^zAmmanj49&mG;Ps=SWj`$$L$tV?t)S|=!#tx0f~j< z-UjGFVe4h=$QR{Za}!#;S~aDq=2aN85WU{aiM^^W-xXgFh8)Jv%717JQilSVm-Lvc znjb4qIvOyDh=wa#z6PukYlV~0;f4gO$-nejDn>uUlP$slhX07BR%9KX~;zH5mC^N`kPo>fN=qRxG~e0CV2r)mpF%JRIS3woek4{^g` z0Dkk!c&BV)d09h7(YRu{ODtgzN<>zip=jhm0&z;p*<}sD4F@oVtxZ0IVGpga!w`2b z@x1BTw-0z$;hZx=&NVtao9gd)R!FMSYI#)%|@!SGG6{u?kVB zf(iKD57dl0be4opJ0x(;j9{Te@Cp zMNCNZAsgSsH96M)-x!{ZK?e^rp2SH3b4sVs#Y@@wVOj*m`9X(htwc%fAaGyh*AdBL zh78ZvA#BrMZHsU==ISUU_$zm?aIGwpLOJRD0H&!))$AhhIPh0#(k$0IA8>7i#cV|r z$$Za|vr>cB%!@DVRP+y=sT@(<*Kn1oJ_s*!v(4zHPYZ2tOw%8*79C*V>vM!_)_GEt z#0_)l3Uw5X^JT0+L*}f_Lqol@S+G8l&Q0X-N+{ojsNWyZ*Rw>!#irhi{E;rK;crNS zP)P8Xg@TZ>WULp{;=7sXxt6R9<+;YR?H-@VaQv;TS>F;J!|hC1g4sjD5rXdYE!M0H zU0oW$B&OH1ac8JgZ^&F3bD5Rrf(xh?yqKRhk(h(cU-z@JLCjT7zra{rN+T@^v9Z#(;1&(uRwgn zZIa;_^*{7Y1}`g*<)^6MY={F}PpN>e%t8!N5egSrzJp(J#;>6pkK5fhTuCX7h{EKJ z(3|^kU^9j$1$sdfXK7_703)okUQ$-Q=2&!SlNJT;r|g_bgjW;!I0BGHRonX|dK_SH zN(vm=r42IovH_m;zg-6dDljSmSf%thn0=C(pXHfx7Y)|n!;G3UAP_YaYB7Lo3+*6t z0U_V`L;ByuqHiV{efGio6;XK3bOpHh+!?oISPFZII2VG12KrPFVF(qMZspjDrxXse zSE8aXWnezgcn#<+bW!me!SW~0s7vvvtZ2Ss@AfhEmVs}mY;7NdtPZnxFpoMVnr2$} z5LXXN`sQ`^t11SD4F3r0S_6vaDF*O$+cod-waI6{wL)pshLBm@`g)l#Cx=j@^}JK- z{vM*PCMnE>s+-vLhe_8Enk*eP(I(=9HcepZy)Ti?=bA zHj^h3jAG$V{a(%Vy(fBU$+6Ik=)#7Y=D_^!qhJcn!;Ix!vi|7bgd09hoIieT zb}HdNxbdyK1x2IYAh?bJZ*gj1@HxH}I~`V(ri`jbae*8jZN9%;HMEe6SEAF74%*hB z@6*5$#pA3sLi`+rLmI0UsK$QpXCga6k$_UbHXn7LFKLUag4Uzxb>NHL6m9Dt{gZ2r zBjhQ0B-B^!no?SSZoGZgyE>+;fBOcy%!DhSikB+GkwOO0@=2YAXIRQGo34K{tzJft zA|h?xCP3r78~4Eh3~z~S#MAdJ=8yup@dqe1^Q~#**O(bn6Mc7A1xWj?tPL7GJ&=*} zxh)WV>~ZnxK^`3hYqykXFO*30N5vpJlYDf#1FF+#vakFGnl*R2AB#bbtLsFu%S`)y z*~I6g6xlPm*SoWxMq@Y%!aBR$x~CFDk})w9XXZ=QI>a{dK}|a_l5rw@2@vyWA@jr` z$`FB9z}27gc>!U*pI8j|FXOmpgI`C5rxRy<9Sj>W3vcMC7d{c$rWdA3{XIJE7|icQ zupOO;yhAIVB#Ewn2w88-r&F&LgSCSZL8;LEt7{5R$(-1@3e#wH*55Xg130|umr}4a z{^)qB?}elkC;mc#9LK6i3|Ym8lOM+ltP($gCZWq9Jw8mXSQ2=ngC^=FrJczGzp&%o z_c#I-BnfF!h8rRR?mi@IObSGNZb1=UgCa5U_ z=RazuNMO#_M16yTXi0)8@42V>+b^MPN~SDKx78C5HbK^-PYvr#eA(o=uaF14&==P? zZk7MTt2);@KRvFglymF7`?Rs@Sz!~(!U(Kh4@_t$yXq>Wey1t9T8s^woZ%OVcJp?H z+~*>JPCh~^Fcx*oo@)PVC!;juUNamI#z%ZpH+uj70A|`@^*gBUy~S79cX_jgP{0K=X`2cZtxa}@H^w#rvRSh zk$`yd(APRCV>l%S2}3jZHM3X@5#dAqbBKMI=ie90V>isMMoMQ`01aJLPO%|w#jQA! ze3O!$`b2=-UXXy-514-n%V+yC}kzn zG`1g|?psioR{4fB8R^|xKV0pF_Fx?r=$&)J_0)N zuq8!7{kbmFCp#)6^(ek?GfQu^6&snH`KjDf)`kGj%|Ah4}^xb6a+k3 z#rGxPROteSrGh`zMBV55{e=dEz`dCX2Uq}_wub-SWIpbZjNIN$e5 zNmeqMZI*9FSusbrnZy8(J}mC4#4tez_Ox-~he+pp;z@VXtX`GdWI=|2Ob zi7moos#8I%A3fu9QaT^Le+K`Yuk_CMZ&5qm$~)nAN>10YPgtubp3){o#xVZ$m{(aA6L!MK(7i4VOr zL%uSWMaO#kHf0zi#E2g=D7SDBH;VPWtWDO6i14Fn-wEj8HjF5g)f5`apV+gEYSUJ^ z2nhVLtop$ERxtiTV<-PIu78W~@3PZnqi5}+p&dZd&9YAH)LJvE;X@Uxq3CU)D>phW zxi?9>FZx(db+oAUNFc8bW@IST{uRk!y>RAZ0(SKUaEto{6V5vL>uWQt3)RjnuU3y! zRchlIz;3rXn^T~{cIo7s?y4r+Edsv90}6SrbeS=bw#6vv47MhS$TNX4)bX|jt{VL@|0q(UwT1L(GPg?6(4qDGdctszQ8rgebn^+*=DdWvf zsbXsNm*sX4g7Q2$-ynTF5MIz^V54JUhaz?MS5n=F_E)&~Sx}RQLStdQr0SECv9b^$ zEdwMrqzor;@1_=*tT{}2=4A~!QGwU?h@SHf;+)AxQC#@-5PgycXt9b?)s7Q-E)(@@7ZVE z*?+3XsQGr+S~X^`QN7;zJd3I@<~UMQP-2ID*t@&)FEsc3aP+)TlcHNyK28(Ln+fXC zy*`YdzFqYFV~T|lIaK0zk*`t(*v}1UsFt@dMvb#T+_2O25d-dS`BaN!Yl83W9}wmm zHF$d=rr8U^r1=ZlK0kLtDliL5=51q`K8cVG5SDAok#%iL0+;)iKl$Do2C|Z-g5}jF zTtag84*OG8BPQ12ztjC8iJ-Ow`GTe8QVY7HcP!rF*9FW43yvz%D`1$XamL?Y$qg)~ zogVsG^u3Lt_5i13>$^6Z7&9pfr`3?MCV$PhrGs4(xrV2@h~&DRiKNe4R_{sMnJ7W3 z@zdmJXW2cZDwWC5?1HFJeV+lCq3CX1Am1601Lboy=YtYNJZ>6GuyfE`FU|-T`^GCd zunlk@`Oit^d}lqU9*Fc(NenFeUZi!9PY~*Tso%{a%9TD87|P935H=fGH^^lvNMerQ zz6sU~n=;q8Bblu#Db6Qgu0DKPKPcuuUx{R?uPB)@u}aiVFm2Jl1(3uQ4b%I~Og0P8 zAK?xQgeh_>ucLRCS zGg?P=`(YpRs&(rOvui-9YO1gU78EuJm53XfINEGRqmSiWUVL2OR-EfwaP3VXVb6X# zKQA59&)Z^G_2816&?jHC0VqyRw}+QdX{!B*uZqDzJqO4Q9}BZ_RO#s#@L53u1I*?M z)nX47YOHOOP0AwOIkRVcX!Gh=)7Ti;n8k#Yz#6|N>RL;X-ljETI>x{+jEV4V{@R(ih*0d|vm?<0tYa7IDX7cp^=Lg8Jo-e@+!6`g7ccIgN6lgwQfT4}P*%e89n*QS$Nf={GD38|=#{3~7J_>C*wqApCm zKlgqR5*DXOq}D~Ww;|niwaK}Zs;4ZwNcBT}9RGnO?#%pMmgZH>$B`(5LoxT2?-H!e z@*_+SLPF!Ha+Ni|ByZnC#3SYM&13 z*w-rz_mAT6n(l!vaOJY}&WGyv;j&-JN8EnOFq0ZzJ-02vc_AAL!-n8a$3Bx0cNFmFmEVUNIZb>$-CxwEAkFj-332-QCf6#EkiV#xA)N%yNN= z=7nFo-!Ja1=h1?H^ch4grmaXAqDN7O!?Y>m{Ak-GB%mF^oyMnoKd#I(^nOhpJi?A)u0LP`QL>q^CctClXQcWpqxz(#V5sk z-##3fMx7yb^cAr@_Bz532;rr$aWj=3J$Wfh&x}P2ughPQJWioCrs75#B?M z3USU;z2u)CG$OFjm5&Vspz=(gg3~cX@4S_=?@+bZpHtx(7UT$3ZbQTON|c1?Izg-S z1um}wURFs8`Id_3eQ$0f*x2OrBUy@`yEc`H6X!m86lALPRwV>fU=516YqNI<({uheO!m9U|ITby)_&ZYh@ybs{rn6T#NOvXEP6MkLZ0rQO|J!rmJ* zQ_Yf9E<}B9@+wHm?g$JAP6oDct0#*HVgK;H??*UMiJwUM**THLx5<0tEU5FOl3;vz zO(6ulQ)=`VaO)2j%|1rGEY(!)}JFB4oJ7faphP}bGO`EV5-##PV4Q_yL3IM%Q#;=`QyV|n_K#DsrKhYxh{qSh|D z`}4G+dp(j+wVGzD)s)_<$|1dd;cOe7-9i(wT*NDoPxI5fx@?|l^chNDmsHIN0xuiR zDWenWgT0lwiVaF7=6hN`Y(vwFu7Nh$J1r=HG`TgwAWf?lJnx*=P^J4UYbaTusk|az zOf6T(C14WV_8fV=aieA~2KwdeO_q$w)Vg`tey{yI>(zPf^-9bzurWhej4iHNlB$U_ zQlFvkiau%2t+%N?r7L+y4lh!H!Xg@M$X_GL@s z*es&6$wQG;G215`Oi243ZR1pun_1#qY>O0x{YdhSz}~Os%zN=g=Gcgdduf#Tb<}?prQ}ZK=pJxl%;VEci*1U5 z`2;PG!%~hWOE-(0S&EaodF#0`e0Y6id*WkqXc^co)g+YxIe&|6wKWrM!|g_+k4#@K z-Jqk(U|TwVe#Q~B)cbAEfJ2KRfaeZK1JZ^j(TtX^+PSAzC5vtxE%TKz;uz9_ZDJ>_ z`1Odye_d>UUyWCMD``0*F>T)=j3iuL=y54hNXWm;jsC|1EJwzWwDEbBHTINvvXx2E ztS7VY$KqK!Xt9*cG5dFjO({XW8<6iw!t#@ZS|4eFId(zoz=__|P zZ%?MkQ-rJ7%uk9bfJ~m+W;{#?zw<|G}BN3-}OAm2e-I50v zA$o~2kU}QJg0&xRkR}`45`>G$s;|UjoLS${B6OoGOCh)M&_?4uk@2NEp+j|q-KmY= z{R4pyHxkOtV)>=MhyGfEh$xU&Zf6ij#vsU>+UUmM915ccm1F(gc9I6eXtp$IsX_@l z1h{4HgD}5k=@A@j7qSY2sH^q$os-H)0uP8rURxb`-cnsdqG8x0d_r&o)kr1dN_m*) z=6HFYi@3BUb-juob=jqK-TA<5;3t_jg}SXLA?ZP|VpGsereia)*a3#K^Pw zke+hrX%P67=vdy;LjG<^Q|cyQYaV#NbflV|`5J6{evRshzsikIbA6r~S#S zMW3W**rK;gV75(=($8IhJ^4|*x$oKbOoj)M!*WkW%VF>y9Z$qa`N^`kV zU9Xo!sC|MbXJ1r)EDKr(dbxsEJlIea(ptGWbP6bx{VbD?dodLt{9*5$)**-&dIit| zJZTOaS2bB+VT36Wkq&+5pkRF@y{JaohjArb@ll{6YP9w|tvX&|uK&P==fGvw0U)uG z_`pqXc=HThc{~pr>&<-uWC{i+a1HyOl8wCES84uS#%KidEOG@%MvT7MADv>u3O#Z->GG3+5j@MJ3a}=QC6{SDeUmgd|1dgRJGQ z;_C~|rkB9=>L zA=K)Umu)a_OgK!A;GMZKAJ}P2<8^jJcAz4PJnL2f8n)ZgkQGBx8A|#erf;T`pp)Tl zd13lGcm|i(`8&(8oxpY!S+b*(6-o|>v?Fzedw8C!U+#4DS1wmWXR1H|NvrKScb#i0 zlZ~V`#fsyz;mRKVQ(7OKDlaQT0+RP(&UJf?y2*5n+`6x+Pru{ zI*(C!6fh0z=wQuohf*A$ybgjw636H77Z-`iU)WMxKn|_WNh9SAIfw>LG}?W7>&2IF z(b#%ygT@4kJgmXRBP$Zb*Tn%)K8CuqLyGp*8scK|GLqbbuCPrNz-n0y-L|}O_n*HC z+`%tOTYq;_lcBZ{YjN!$oFo=YEHAlNi^n)iLTL}Ar?n^x zx#J@nE$hsA8825wo7JOF(fHL?FI2r+{E~5jKwF)+AT^2F3_3Qgjm&JYQB}DNDyuGG z1s#`!j~4$h`$gZqUNRV5!}C$`APklNiLJX@wQB;}cuLUKwmAqw<=U0XQ6LD0gRh$c z>chbupQLQW{M3Dv@|VTJK)$9KL3jqOMs?GT+|u?ABfcoxrf0)~xT97bd0{9BN45C) zcY{zCSny*GPozcHIX%;(d+A#dj<)MsYn~;OZ4^w1+~_Qeb^v{0Uz$lcK*<9n7@6zB@RvW{(&h4^SowcG94i)sfY z`VPsHXf1)0O-?hBU8=I2c(F6sDQ?n&{cy;(?3iuwPCCY-*{C6K%ewhm+a7kvUAV?| zo#V#?m8!s(Es<73A<{ms2b^p|vAk;z#VxNZKFHZL%40R*M8(58PJbs3*X0MaG*%^0 z(4hKd%{!L3=*@Q1w4_fm?NQF};U;0KDrO4w@-|@VVa4W*3!(ylNW8-I+=`?bD&y3= zJ{UCR7}|$WBFPNYDIld2+$k;9Bhucq`mmU?ew5$tB0{()Gk}4@KBTlGsp|sS6oQ5t z4TTLxp*-NzJiY=8?upe<+|p*=fR+S^2d>edfLbs^!93`Fg^6X0WToL=iG?mkSBi{S z%d_mb(0{k5_e7Y#@>-KTxMj?;=3RCcZRr!S=@&qycD}P7IToX)CdbH>%d#nVLUZJn-)nn z_bi$+k+u9NX*r@;GLh1Iv}`<3%B~-}*MjN|w-d@o+iKap45hRFQLF%C8V1gRgQ#Tm z2s{h*oUakMIaVqe^|2Ripd7lLLVM|bul#jzc=+d0GKPd>f@2}g@_mRi2n+p>YYcvT z*};JzvPjRNpk+uwax3n>9(JMlqSKs+<6j@MurP{bda4$l9jK~f*1L}ADsTPbz!9zy z10rTdjYC&DNApkO%b5u0QAjY`r?qrrPQ?)!p+1&`kod7cYL zNU=}u%4I`JZVOECi1hkoMYM5In|^Tu_Tdt$c^Z!zE51VA{R5V|ho#PNMKB#hOsrG~pZA^8Dw-E;i`LFi z+Jd>vQBWCUg5Y%uei-wPrOLbs+X7#9b78@r=N_(KM7lz%FSMR{7-;rqXfR1Rtd)23 zh#jIzT%OoOMj%*!$fQ8VKgGqEi<{HrLV1{j-!=)nWPd#%^Ko6u5z-ivKeJekUJ|C6 zzTuegoCYb)d*?Iw-d!0q-7`H}sLipJz}6^C6*5>ZCz;dnv!+RBi8Q}n;xN%Y^5F1$ zb>c*uQLXInPRk`i`9|OQq0hYYdB^xOf%njjkra#DX;ShPaW>@*7%Z{~LIsS*)uUT2 z@GAF%F?mR@;=9t*(la;(IHz8z(&kc? z@d#Q!`&riR-rsoD`;jo60y7*B1xK^SVW)W|6WeK(4VftKPcYT`T1b(o+0P*H+zuW? zii1e1Yz!Cen30%klM0!u>q?`C6pyr$d5@*FjxO3a-597Z_{L-pMh88XU%n9!d%M=m zWqg+B{$VeNcbHP)mtt7%hOzRM0eepaSx%+g7-*+drS4>a6?;Gmm6)AxwtLY)TU$u+ISV@c4@F9yuPOKsSmY9=FH7duissG+?{@hBZ0@VQT{p1{ zZJg)P?&;1#4l(3P-pdzY*Gdcal;b{2`TEEpmZSDnPoOslHpu3vY*M5Na$+dEJl};z z%s2n=r{-xE*G0RVr~K}$Oti_>!3$u}Pu+`o>rQJwwZYG>>sulqf|RJJa6EO-8S;Km*gkgB^@=2YQz?*A;VXOxR`H>0rh{etrLIW3j~+6%;Bh2naIWf7@96tADkl ziIbCst=YfadUc<49GAF}yxZGJwp~GYN`fR0u#`M3%=N#pIzCbygFBI0@x5&hUSCgy zPX!yHtD8g(qXSBn)a)M*)$6Ina(aU2aSicQ_~>4a2|{2waJ64%P^=D_ok|~7Xr+(3 zfs7&rkbzoI<3wf?KSbtBua4-hyNAWe8oxC@GDbeghfc!^Sdp`8BV3jFZX&PdKb*{C zXCSjus+K&wdw+3(H`}6V$BHw11#~h0;?TF>-!vrF?iv(o7j+zH%~Vtqp$RNbdp`Yc zgKShicW#WNN_w&m|P}yU(i|VuC+uv`b@d$z5AwrY_p!? zEMwQes$25%bMK+rMQfGAvE?WKh)f1B&NS2A9K+p(p&SR3W7ql>-m7gu=SmcKG40H> zy$wz;j)XFhRip2K;L+cSrU(+RJ6s4Bet$3s=*kNw#OfkGVxhR2+@nE`pwSMl^tTsK zyN8nASFkO-{)~JY#3MZ`hV0dv1b!)c9?uKb^05DH7{wGZZ)pGF+Sx$HiXYwnLPoNT zTM{^PaiE{10Hd48yeekIIHcpcov+wTYx;y~$V#l-?534PO<-zOI}92?y>8vAHeoLx zEhMN%}v zVK&Ae)>M0}kb3=JTsFv7`(k>tN^_Y~jMWw8HiMM-cN;sc#Y8qqG=B1z4siRQ=QrU} zvx+Q(6+&v9dKlo?mM>{D*WDD0({q^!K_1m{=|A=82a||{Eek2(q9M#>ra>mc4hTd# z_6eey1BWZ=QoJU0RFWdOWx&EDz(>%@ys0LC5FjYK3PBu_!isl%OfW7~RKI9s2zua-q(E zpYw(6Mnc%*C|zh7pEi<ea z?&Np7?1AIq!Nuho1sD4yQQt+VxG7*Qr6X@#Bg0^B8YrwZ?aY$f}+aXBQAt49jP%q7gW-Kjw-)N zzd0?J@>n%fb~A#)%&UNiJAhJ3e36aT(A`>d&1u8NEl!sstgWZBK}Kp`R8DIp&3bzj zHp(HkXc@9pM$gSvTzo27$cYpZjVEhk(PNx4 z9hcOIB7^winFF6$X0vo)W{V+^B9mfHqtEd6_eMjcoNr0F?U&YU2TwnJfvJV5z%r)A z-jy4FcOfv1>^(wJ!+90AfcMBvEhP(A>yG9%8z$w9v5xTk!|1Kfx{G?Qm#1QwFsA;c<+=DJUlHvApRoo{{$LHz$#`q1A> zpRA~g5S^r)7=w+0t%a$HMaq=ybL0~4zOr^GPqFe zoV%Oe*o$fQ;$TruScB*g1&P| z&$WfZ5AUS0X|W!CE65*307jzOQp^2GfL!l8y7|oc`FM*uO8N~sT-xa_Mhr}B0FD#^ zA3JCZhvvHi?%g%O?4+s=4Rzo9h~X1@9A%FU9nv2$u7kG9y5E6Lgxyt89&tS#u>hot z4WYLdS^4x5=)x&cDNQM>iJ}wOkddhyYxf7!ACOo!1CHJ+wSCKw8iz33mtk)p$P$lZ zNP|2}nEm|W(MngLc6wb|RHw+Q^VIS##H)lZ@Ep+BaX^v`GlOudB4hBOfU^NwPJE|* zw|887Ym#U*3O~jGV7+|2Raut>FUb#2WB1s&dC88EI{nSl7O3Ro>7f2E%TvIuf4cme z%cTtR*NnUaMFaU~_Qu<^{1N{qar`~&k5fQ?@hN_X?Azhr85e&dH~#n2|AcP*o15_q zy74=L-VXn+^A8A)|Mum6S$BTN%G=@JMSlZ0{yH$fvq1iKi70PF`FE8+fgJy=^9#xG zJEZ=T&R+l>|E%=a>k9l2O22^}|Gz3t|3T$9z~i4)ejz-5$Ju{S`G0^O|10+IyWmeA z$FC*P@1T3TIsOEE{CleZo%v@=gkQXl-x22_+qP}nwr%d%ww)b&C;dOS`gEVJx(|I{=9;y}+jA8*2_6Oj z05FJI+PIiH{qwXjbTJh%HMTb~g@@tegNJc;aWXZug@^IT+0mVf!s9^OL7e7a-b|3Z zP-I{P_U3KofIEgXf^32s$^P=I;-#z9I=g&H?DDb+8r*l1B-Sf8_xbtk-_F1H-P8a1=H$;2gQ(2${1|+t_kHf?%btt9_Nw3K z_Q(5C`}JY%?+$mYws_6Y-@f*8aWh{Ee>8%Q-F$*hRtFDX)=>ZW`k%b$W|?xxBVnI2 z)|)%VFp9^E(r-hme$pDx$oR0kb5OZwQWb1I z`1AQrSAUS7hwpir=21@#Y)~R)JNd6DZ?s*I%S`ZdD!5M|Fto8kh>Z9V1jv4+^G^g@ z^Di!^rvN--rFztp^p>E3JiaKg~I3HgsdpL8yu;+cs#HQa#62;p-H)T;@ze{a7qz=L#YDW-Z^VKn8oxpTh zeGB+zdDANqd*mMrbQnzgiWr%FMstf?h>;cbQge$^NJb}l;K_X?o*D(1z#vO9ni!<- zhL(}Y^X=7K0OwT!S!6^C228z6j z$cnzmSZL>Re!XBjyS(BQ@_}OZN|ePKtRn;?6#Jx3+R0Ghu~no-z>$pTdnl_hdqO+` zZQ3RFYTN=IT@S` zSCAYxm>!bV6vH*OGs-y-WX1$EJn1fKAa7O)=rV0tSR1M+9W*hwg#unmyqLJ;)>U!Q zM+ZKLYp4rD$fwjC#5N!F@L~wC9voINbhUN7Qk%2M<7NiL75 z>LPSn(}B(WS`V-5&PuT4pydLNHGKWmwg9T(Hj_1YOlVCxTg*S*c}XF6V5Z$$&)Lq9b(kwBw=5@VJiVZz z!CV%j@h4Ry`(*o)NpA-PI7cZLw8%ek3vsCr;7n3~Adjwdpy3cf}U+h6~r;23}g8Ql_qs$$pw5a1L&gpr>(MRPElu~ z4epU#4l2Qh#1#y?waE<$O_J8bhB@*t-!XE#X4tMGd{MR~T7;$HiGoR!OYut`g(fxQ ztTPB)J1t0a)(NzH_VmWb-U7R&R!~`tVk=oaOF4yJH1kyD#{l70nO9Z*L|?v_!am9R zg?qr!<5fQe9i_|bO`{`_QIY}H=~&`OCbMFZWK=T2e_|xKxN%)z|DJRZoYWYk>efjk zkDR}V^<@yJ$(jb_7p@6LXxk%8QUQ&zO0rNOfsw?E7{);wGe=Tg7*No1h6!1dfI8@) z#8puNlYm=CX%M?MLSOf*SZ>%+BPk{b&TSZ@07;52cY%o&ZnK+;;@rdbjh-t8b-3J& z79zQKQ)9S)Ide>$ zE~+gdgV#_ zKn1kj^TUb|ZGBCZf>bInoqaJ;5TDpTIVx7!R)E3GgCxc9Q^b+`N^{EUmVm~7h7>)> z#bUTRnFq;AT(+tsyi&kj<~gKOP%4fVkBL;C1m~rP%n$<*1Y0^;#E0Hbg6*)2Cd+5m zIH0JE4zQ%Pi{rjTN5_|MtCQ{%F9i}PdQwR~XH%H;9Q$=!-j!}J z%MB-32o6uGyazT4i~M?L1w$9Rte4O{t+-=lP0b^fp2fnDD!cktGQr%@WaJRWBat&4`1yA07nY%H z!>7bODr$0^T=C8JT+dNVLocp{;ZZ+!OMgdNWQ?a^E_Jw^-qP3-)2}L^qT574r&Q~w zx8QsLrZ+iV%5xvyLd`k+=hSE4aEBsB zdwSED*_@hKNo5A=5Gvy=~Ryl?hrS z7LsUJ3$>!`x(ouR3MNJna+ZV(c&OJ(cFjsDUH57Yg|fkIdFErJF-FKu)_}{X+hMDB zajcB=t5>>ng0j}ZJwKptbWx-cq1BSGh%B^`eQuT6Q=O>Fvdbjcacl=AkCJM#EINLK zG;!a^`C%t*x?~yUB;5Z4sr^be?ZamCbY|Tk%nZJDLmLl#bTOGDYdC@8GkE zfqEC^r;u^z#STt#wkI_I8~Z?f02kDzyLxO#l7+;dW2=H5rm!2aA6gJ)l@6|K(@3Sp zr7})h`^XJ!p)X#(LC>_EISlHj0au25NK|}4Kja|RHF9clF(J-J`~>=ba8WPAp?#gvU-8E$$EpT%VRJjJeYK9s3F0md*^bYT22w zD0i9gQnC3kE%!(ZY6qA_fJtYe_phg!nhPQ(R~lC41XR_Yo`RATyybh5p#+j5TA zt+`$t#K02->4a5jlk7I0)OIP&XKFkJPwl#cRp6X^ffBOcBQS7L3Nh~j&IrPi{OPiP zWA|Qq@UaNl8TPl*Z?C#%TDLhVfA-F9`SlDjrA+Ni{tbdy+ppQ?WO z{@m}+hwT>y&@Q>Ti%Zs@y8e_Yx`@i?;gjVie ztR)mT7Zb~pFOuqrXLVn)gao_!gewPw!xw@5*h9(VCp7D>%3F`pH?ed5VMpH{UJsm7 z`{OYRn}vkq548WJ%uiZ0cWT%Qb-zt=V zbXv> z--3`(wL!sh=cc4;9{muf;qnndT<)s?#~n0;VhWIKQbgqZV#$T!8+bn4$kU~zy$*e; zHHcGI=2&DJtSuWc?S4=|=Wku~D-3W@3u3KyiM5&qH+(0ObwxBDlj#HlC&i==Uk4IE zpK@5%L2`_7fJ7)g$s}mMTt_NMr{^GU{&M$4wj&R3b$fjnsw|6D^Q=C*cP!(Hc5mX1x@ zOBb>mnc`}gon3FAnY|tePF^tx#j~QEmai^CV2LUm*H`n2lZxh)4pfQHEGi0vg>4Cw zr2#$Njn@MYq!2?lbqzh{24s#FMaC)(%y?)ZvGRB$IHWO%OSC8eR}ij+)zVeWsVM|r zmG#J~j>)D{6D2l5Gh)ivi|#1~WOxA1izvNWZ_K+@^RqDY09MgJWk6RMGw4rri@4+b z18I09kMaVtpk!o3A&<04n>4Chiik{0hkWK<>pWAuzhBHaPcu-@R)N+3#9>IrT?QXKfsE)pP&&MgbN zS(!e8@hoJ}a5voYBAQ}I*ce&Z#La=0CSrn8NxeGUFjHR*O@Pf6gUJ2Zq)kxr>cdz_ zg&i%Uvf|mU2T0a#k(;>rct#1sZf1hg0#TW3KlBo&6wll-0(H(&FSrikh~S7k3&W(+ zxJ5_++R#M|ZYNV|eB^m7TTn!Ybu=^fgcP1cVgv@HX-CbKE)*sOy*IlE^a)8gUO?{% z^COl*opQ6c&1nQvE1TFa#In4gHb!*j-$aNAGJ#|iRTv3lP<)Ip!HKZBYiVG}>Z@9H zO=eIsPF#H|EwS}X==M}7v6{o`j_euAFhR|NXrRq`+m3!iRUdWORj1et#4v|mv5Lku@Ew%QJ+z4ZE%LDw4~;?p&uwkc}fJ` zKr^^h2YO`{4%JqUoTEenJ1Rv7lWL)rodjdW0(NM9hwerk8LZSPh%(Sf0*nr}O9k;M!Ge3yloEyI!z#Ym#FVWtJe|y& zI2WgQf8mRA;;B5eGxLfrZxo1kL!jPI&l}^-DwYuX3w#H=;ChRg?0abAl8O0B8hIbE z0ucwy>G9NH-rZp2pl#ACUx(`ds9JVX7tZ?h))2&1wkkc{gpzRCRc$3UBn@dS8S^03 z7Iai>cf7@v7w$VKzV}P`M$YF1q>1R>cs=hl_n9pKVIYz!}O&H5p7)H-i$#kHA%G`Bf9f4L+V9g;gk2bI4-{C7&X3 zRn=265A!J38aMB!^$WTPyUp|yVLfdi8!D|t_c|#aOF4k*y}rF7c^B$?Oq&MRNN&pn z7LP5;&2iJd%@Z6(qC;|VECm5zQY?>M+I*t|%CW><8^W5V-w}#u_6|;YCG(s$RkXVi zcpF~vYpOJ>_o-rbq_Yx2VUyo`f#aaZYk`lJd#--puMNjTD#KDb({??c1qGL0)GiM< z%WC&{ZEj6{DR8I$%+CMA@XP(#k6Y}ellkSqYLV8KBlfULr8l8~H_AB`RRj zG_GOS+!Q(jYL8)TC1tWVmpV%%IY&glX*O$<1~2!10UM&Gag2DlkNRo|EIW=Ty0=M* zM%$wrFTz6P$v~joalPg|=0^-msm^qmQ=R*Y*j9YZ82tfTCqyD>2V_yOMy_2*RD+0ql56Chzjku5o@GS87j|h!=2Vq zB{CSb4_I9y7)p+|OXt8ahSA*}G=YSHq{!avF_PbPLDJORx+)??3C$dil}Z~kIMsig z^*vbu2uc%ZEN5d_9(#WAVR;wBiT1}T?-j>(fzD+eUU_s;S&z0C)vOYOniBqI1sEDL z*Gj}hge_|W4#rVz5n2Vz-ov9Uwxl*Cj4NyFb|(jXM0;fCSxV`Jy7%G)Si#RIpGs&# z=xMnRl<7lG@rnmNe(#+v#Hv4`lnx`E(Y>Gw^%+cTHx&!br5|%Q$Au8#^_^jI?cSWT}^Z zq^~<`SJnO9ecpR}8FsAfUpZ-Sk5l$LbAP(}5&C2O`@Z~qT|ZrX*v`h=vw8XcU z1#toaESa}Q%C+^X1v%M~fX~k5#0sAz02Rz#Cql6?pi?@Aprnz*8q7+3W)?zB;VE*U zT`d`nk!=`IvPAfpW1?bp8}tNX%}qbYoyK+W+P0H~tQK*SZU7u7NJ3ol16W_7!P$O2 zinn3PABN?j10vxUe+#|UEu5MxCT2|tk3d1ZS_2Va0VHA(TwW;|OtqvtKdp*3yFtSt0P3`LtXv zW%}qH_BM@jWs@EIV&Eh!0al#ma8K(e)j-r1qN2X4nTj}wP`{^_2rO+%$ki0!B+18P zR8P%ccn)j`@SPUP+Zq50X5gf4kShl)@f8NgLTgYUQi0%+#2h$T%f!S&HXIe^l1RD$ zi=SU(JQAw;;4( z2g6WFJiFoBJOc7fvWzMQ76n*`Y5jcu38$jKS<Cw1~X^UIcS=(Zy+nLPSmNp}$BsWo;%YD$iAW)RTO36!lOLsOW zV0Mjhp=E7D=X_WeB9K6fk_4jTo9CT~D3}Q1$Hr?97CCS zC`7m+R*`w3$)_OGa-L^0Z8q4|HIti090Y^eTqIfTIzh~2S4C12=1W}kr{5Pn_F`-r zZuvn1wulOS8MYdUMtsv0{jz+f8D(21c_EU=7;DHw=*|&I4m-ASf#h=0>wkj3&s`%Px$Ko@fXxld0@fW`;`AH{sHDIh$D z7_c!?W3==d_&PE`YOGjvN4rWAmDNEfFOpV1U`uGRzBm}8!yagiJ(G*FL8MzEV9>rWie#FwOX8#t#Vpz6s9OEq$Zqs#KBrsjspkg#E zrsrWJImfG~6Oar#w#Y*7*aLaYrLnz6T#9cM)qw&O#kaGkUxSaoFm2iK1h&}<7=A!8 zf{N*86u;P}^S92}e zn~7`b1G95daW11@UB)csWt!g;o4LF;<@M=f^EG~ECi@>NUfvO+qg_gvph=iuo+2i9 zT=Z61BG@23MxlnvvSBndhctR0=ZQfo1p&V3z}?Q3T`Rkmj4X+CxD+HtzV1M7!o{c{ z)~9+32@e=FKbcCPvH26Tk$AFdz=W|g6&!_1QVb<`P%akK39v-OJfk8@5nQ)0>-(O| zEHJ=kykBQMq>$~X(s@%N`A+AAEafBN{%i_DMzEybGcsfSEQ!WKZoxkuY^tWy?uM(D3fqF0oZE?AKKBKU_x^jU0FW1oIkRUs{B$++u zNpNNobVYB>-xr~)EaZ@o=zXa=p@jLbccnk%+%*V>^uR>nFP351aa%i1q)vA%%2i+`gJ5Pd!U>uFJ%8qe7W0PIqzhrq%E?;_65k)PwNij-kyrCFsKyA7h z2Y;s;;g>lIAxpAgd$xI$R&-X>+@Ds!o=CYyhFFW4xs;TJ0_mcG>F!6eVe)L!OVJeb zjfH?yyqWX71ohqhk}-b3%o>B8wVX#X$S$zBEoQ95z6Gf&OIKbQsk5xZApSv-&eGnW zbhpbu!Xe2NA1D*ML}w6dAWt}yp{Ho6>NQxQCAwSHSq?a2VGmOr$%0EIFD~#51FAO6 zic_z%6*_b$@(pSapoj6-P89v4FFH>^P>SLn!@a*`A-B|Z_2f(k zK{@Y$3)Aiorq8VC1hIXM;so3U*Qkn!3^r+UCz$?i=$TGMQHQ{t&N*GryQH0Xch+xS zhT&xt{8(&#ooflp^P=o3-&oa=lt%&mvFf#_O^F>cn&#>)uk!ZLON-@1X!P;5p6RB0 zPjTH&p=SfoUmjE^90_p}2sWa^Xlz$VblI#3z_8%Laju4SXu8_kJ-enY>wH`5jRUJ7 zaVe1YT^f#MEGy|nOhm-9n+xiJI?zBpW&V&o0UTV8JUSE}A@@!mZ_dY(@eEk-nbh&n z+&-T`ppin>vzw|eF^lCc+>%sGjzb_Zq1 z({0O6GvV$^G9~%aU6aa?GHm7(Tdmc5IbjrN`kNQXL87TH!I)=eu=<8?mL#;g&`b~& zFfQUhgMwjd?-MLkE$HLwesjefdn4dX`J`#m=h}ja6xoTCO@Q05P6l-yd!`%0gup-} z!2LcCXSoO{jQ8UxZc?eLg9Pt{jcFtquz5#P8(OE8#GXV$0W~M`OqfZ;=s>s~#pX3( z3wy$`rgmWO)+M5fi8AL*%8f|~v@%{}F3;?qMkI2}=H3$br}%!Q9>)4vN|XO%#B9IE zIsSEO{EEn7vvc*|GU8t@`1ip8BMZ}iGJ=We-?jg61k=BUpZ@;`olbPO;*Q&pef14~ z1m_@lkr}#x#RBp&b9s5N0fhVOz(Je>FQfg0Ro$ASr&MWDmjuSi*C3$UBuXl}a=FwP zt-h~YXYxO{|NQ9xo^UOGyf|yA;qU+6{`=g0tDnAC=imSR_p$u!buM2g-|oKA`$zjV zynUW)ulHy1@BTQy+n=AeFDky7i`}PgLZ2QT$6G2LhRy>gORuat^$#-r`*#BOPUgE` ztj|gHZ@iNyH1&)uF-~jXqdw!VY=LPp>O;?xEc_QKe+pMddI&Jz**>O96YEO0>Xy3m z)<}2Ug0?=+hn|fZwU9jh2GUE)2o;_Eu$F2|x{0o4XFeJh_~C~b|5O>?@=m+*?w9NH z`(GwY`E|>^pYfOe{ONO-%<6Z$_!~Cm|I_>#{dGJ+fxMsG+!kKm*c6fZOxPqEliD*@ zZUcO)>3cuF_dD7Ke`aJ(6MaL5_-fNt`(@S3@6NKa`x$-6sy3+4M_8X%U}dd{hGs-k zNworhskb$!UExe+YN`3JIqOCG^+KF#l+~VslZ+fsMoJDQ+kI-r0yQv&evG2;A+~^S zKXkz_Y*pMw-UG;3A(7`+7zct8BKZiZ2fskYh%-tyABGf?*_e(FYcs8Qs4ioOXdt7U zP1u2P(I`jfrovP1d`oa!MHs^qu-EI7g`W;qwKoF;o&thPVR+t2pbEf_7em&`Iy_GW|<73WrN*7W8_tM~zGG9D?$& zW>b<9+mLp2$Z^ve$ibxzgR!znR=kpSAUw3?sNWI>gK)J1zD>PAun9rI91gSJ@T-wf zaR@~j+{{R$rt=MoQu;QW(S9?>X$%_`bcYc^no^uXkIW&OGN53E`_rW4BZ+NEQ9V>a zfIl%|P;_DY20@h3=Yw^o)rAv@a19Fr4~l|H{G}1J1<}AsX8MRIAa6_-;-}6DD`@is zDu$Pafp2ql4fAmx78SE7$;h+$k4y}*2MU<>jT{56{bvhMq1ecq?$o;(rdpXhCs5WHWv@^xEHNYIv@Y&OMEBPdHyA$> zCN_gqAZT2WthGyZB4X>_p&4l$Vt5<1j7g%`)r=3mQO%1Bt<=am0ngxSnGv36kPt+s z9qOz!GH+n}DIwt>>(y5^58eV!{%81D4r$qw1n($WKdro+npXR={Sn|%S#C|uUb`4! zulZWwV@HMAE^E;B9at8kDxa7Ojv%B?9{J(K3c! zCHrC98ESTvgV4#rWuY}BwE)z;NCqhr73v@uosqHP(QB=&Tg6s+U`D1?WhwicURt_I z8nZahZUvo$W9x!6VjTk^2gV~EmmFB4z!ESQT;xlTguw$&Y2vC1QN^Ixy>1#<{g=+P z1TIY}-Zr+(s7}P1vf|1BHIY2}&L`aAyw{i}I6O)-X3gJ6n`myJ9{mb$Ih))vuf5cU zX?hb$w|p=YA*x1W5UNx}-L2Qy1?8f3QyvIfWwO9ipzx_yvV)??Nv~I1t4ByK3q&bV z!Z!4aw##*4=m61<=7ExIha5vxv$-M26$VBhqNJO{yeCGuJWBr>j)Un4`I#KaTuo-u z9H}FJY2}YJkY=!I&Symf%!r;v(_+jqMj*+jRg|d^6z&h+MH6kFID_=GSPbD>6%Ep! z2%!74rmn~ttP786QLl1hCbb86@ZOmsUmYRX0osAJ`W@!>Be1q=8wP5H3Xui&;O1+b zKT}hwY}yt8mEm?NuVF2HWN>d?fdzZhjh_K;3;!Ztd2it!)%45o){^llf{8d6&?mcA z{R>|<3~`YRiN6}PkAl5H-IpCB(2fj-#dsatZ%Lh3wD5_Lr&2gCx#+@A)VEm~mow&e zX!*H`)EJ-o2A%e;+MMaR8?Qe1V9JII3B{Ygp9QwtupV%%7D;QP2*eYLU05ljNt=Z6 z;a%obTc57aHlsR>q~-%%<=Yi6_=cYt>pgdB-9vL6JX>c;Pqe$MxTN^L62Z&FZ3|#k zK}m&`*5tdhmcWKqd|*|9VbDBL1UWOwun&MvgGC?O3QqyaDoV<0hh+>O*)rB70VXc5 z51imHjbJ^--ZvJKWua5T_0&yVHXW{N1RAh8`#o4i!<}0|kBz3je@qQ@p{eRSo{g$r z4d1ari?FWKXu*Rh4{^c0b1x!W-C7EA1SpqwhoTsxw^gUUBT_uXS!$N!s$52~UIao3 zu(tb=iTPNHi!LwaTlx6wZodNYZ;k9ms+vQjeCMVWUeH!6Rj@%}MuQbnxNBz3A=;&c zf|#UZO*oI9Z#WwVGqVZN);LuvkT$!Xj+oCv$4%ky{#orBj~|qK@W&>?O3CIHQ7tw` zIMt>G6}xASXpXkV$XFKgWu53NASc0k@&{cTdY=V&^ zV)XC$Dw*w=`pXhEUWio|!k`U=d9bVP60Z5Muh6!b-U?R3dZUFjtUjcM(-s>^>@u;~ z3HZ`}LaQNCW{|H1`C3wY1QFfuYjmF+7&JMT(S9m~DL>B*JE`QK5^O*wLl8DH7dOl| z@`=UC^DCTRiXt8BaG`Vg;R7FPex`gv}|y%G(_Z{dh&vJu`;B=AB+!=d556qj`ihqYY&g9;o#6 zfYiq>h*tqAZpge}<=5N*X2W0LxQcP6$Fg+=lU`YINT){YKZbJXV)^lS*C;rMpKean z$%!Le>7(ww42Z@gg+ah1v5*Wj8D`7nq#OA2kdL-d6WarSesbQ~< zQ$*LthBsjAP5PGS5y)Pkp~f*`>NnxS^DD6CHVvSqHBN}K&`|c_I-?Fi1#-isDnGP;$&*>1c!xKa9fnPo$;Gylx;)MF)L0b-{*$#($Q=<;VFNh zAaC6B@Ya*l36?(ktX2}0DKE=Kf33eoV@w97)3g*Y1`*ESUNZrz`^K2-$@vkk|p7t`mvKqhc4KI#{H`DKB>3AWO z{e)E)mbI*#5VQ>swI$6{{91)QKDvqf&fnl1C2BVFR|l_g_&X?bx&`11mqQG4X%3*J zx6nqLdi@%>b@OxU@vim=czf~75Q>K-bIIwc)pAmra!W9MT1Z_ zt!xu*qEE-?_E$|i`p?BM-Y6zEek`3$p^BO>%!j+W+6^c2WlSTU2Q`8`n$3RdVxnRJ z<#SqDR|kjSHu*ZJCh4}p4!SrtK}_@Ly+TpiTdIJYD#f*m1bdjc5Ey6zgx63BNR#s= z8X1Z@(2-#2MPsY}YZ2KvJMa(|5D1rLg?x8vlOqX?YKyNWEo{w zDrx!Q_XQXw3mxGcLaQq|GWEk7PG0m{NTx$i^%Q`rNP{4~(szDHRdh#yb z5aBs!!OA$BvL;-D)PX5bN#{WfIi6?d7%22UjSC37Dlc9q?-2aOop%XvR1T%lya({` z%cYP;PT=82YM$3(5{M)fjj)OHVWloxi>FbZcssopK58^^|4~jkJ%C|LT2a1ba@Js> zG*p1=$3jdT1b7tEBY}yYmv3DXYY2WQ`e0^1m?%pjG&V9|s+VKvZh`R96W;;&ggj8O zk}Y&Kxe45xS+xK%r~=B9AYxj?&xLJv1b?zS4wFjBxY5Qj?;hdPHuu|OP*Tt*dDr#dYm!n{HpSAfKw=PPL>K*1F(<7#{R(V# z$$3ArQ_r-oYx&*!ecd@DdAR+bjh~1#q+t91El&RnoB!4+J2S`sqf^%ZPN)AGX8WJ% zl%)Ot=+sj00|E=Ug{7L8M-xDp@Nb>wmx=XM%o$c@SHY(J9V>y@Ro?Z%)E=Tg zCp={H*IIpezRl10aJs+W7bD;E)X`M_Uz4)gzHfF0V?F;X9rw$)ov)8>{4`5?|NWWA zt9Uc7tfTmG&ftqYpB%TiqszyV z=MnSiayCcqJzYPRch?S}oGR}NK7EKT87s*6!K!IfjiSx7j|_ z?)fvj4y1pY!TobNtE-RZX%HsobVn5`n>)nzt@d+hq+6A)xr zC>J-bVRWdHWa-5yr*K-`D9@sx=pwTZUfjD*uAwg+A|a~PyBxa{5iHO%^IdoBR4jVD zBk$>icA%ojLusUpT2lJ;62b`qcvZG1U_A1Ul0l92KKw4@V{I0gXrVNn5~{@kX&p@v z+gxC1?6|3Uus?0Saj$YDAOz2+W7MuowFV_M?f%<0+RObm&)u<9@nNJE;1z89S^X()932xcrbSP0^pcDV@Hegl7@=NU#O=OFU-JBat}$y5g~t^O8$!fnZjIl6C(1i5Vg;Mz5?uleURaizgKBm4l??Zwt%dT04~EkZ zSP(}+;rb|T=!)6~?`dmZYbGN@k6|IFB<3qOU68$Gc)y5Y6&+?EgVO?k0bAaQ)DHo( zSvsG5ap|mp>X$nx4zZ&SD?6WF6U9xHupd3lg@WE_WTi1BnMM!O6rnihf#|c21JbE> zP1D7Tab{shCDc2gTK(BlC@|9KdD7kB7>vwCuoi$x*hf9dj6IVV7OAW2qNme9+9HWU z=PL`&!N}Uw3uFPt`o93?t30KNSp6DMOj`;WUb3(=c~E&ei#$SLXsw3uy3-r?NE+%P zrEwK6#)XpMivzw?Lu6Rl4z7J&ye!D{)CnP2z1%E3bNNscMyit9Dy}53)c_!XjXg8u zo`6(Bx9)0M+Y~YcK)KBoRfhDSQa(S`86k)H3W&Vi$6?ygR+}`=AR8>w{@68ap9q8Z z$3azdYH+<-cP2zWxp$}o=@f!hPbRzd;LKpkuJq8YmaaIRL(n)`)a9G~`gy5GuPdfW zn9*dB@}ecng_8^Suy3;vYSO4g7;5qZSKLa66CjkTM{xR?MC)pl^~mV_8}$2SYaDS$ zsCbV-`TJdd>W9#eHGB^t`qgaM|L@fu=J%=};EztZG)YSNPdKg3ao6T4c|G_2SWLzk z9a>G4m(S8ht4Af8NHuz-!Seeka$J|1LwlTPhb=97&#dlNfsCC+s582B?)$4?bJQm( zi7nycMhG;=D4G=PYnZP3@U-3jm4ZgbU#yI0uN)I1b}a{`eK2_Y!MTm8AXF)}+b3tc zZ2r)Mm_*#>8DdjB@LSCi?x-9#vR4C~FojEtG7AZuL`e=Xy1kK2NBSJo!O{3;Y*W;c z8FNO!A!*@z85lqDB^`~4^5jn%`e8Ve1|&$OHRzo1`9Kz#5<=%N#=SBntfBqt7Kz^| zrmFbfs$OZM$0s&T!)=QW7;O85(?%h&jDb!Tv1OZAU2OWHX6ZeMq1A^GNG<7)l&!D&c{y>}X1X+Eq^1%msD4fijTk2 zyoI|Za2nXh$48Q!`bzc1*=g2uu2qd2I-OExk&3}@+Xh^WS~)cn&H725LAVi6Iduap z$wsRbr|kBiaX2NysymYwr?{ZhNzGrcI6j>RHQebDIu$2|@9z&5isLk7Bg!LU67tZh z0GM)F9dBeU{`x-Y8=Tq1m99&xQXR}tXxf@u)Nq@}EiACT`E}Wh#s?XGRl|6k^jv6e{q-Dk{_w19 z(H8Eq!pB^fjVtmBaD%dofi0ekDjwx5&w;g=38W7$eoA>BsxdLG`8|0O*)|2KVA+B{ zr8T-vZ}G6GRBg`}vrb|A0Y_gxy4*W$5&bawEZrM>kzj*3EL=?|DrDYF)mMpw)sFri zTc5Q2sn?mIHj?!=$rizu`CLI_?2*E0^DSJrV)Gt~bxx|P_d8Btff>gDtVMiCc2#`r6ezkR@WfP}32Wlb5YrJ-t8c8JO|?=ds3?b!&^YP%pUbI^F_@ zwsNE-n1AV3$b`pcso^~ST|0MpmPKHG;5VZImSuUIvMPwMa%ur3BI$)ey-jv^`>=a5 zx*QAn9`Re14O1~)Mb;2#8{Dd7Kdz3qY}EK?Yn`g8No94N#6eXHYnAcPa3~ z@$Bg*9gxhf=#_kuHl^L$%pWQXT4U3gbnge4`=J_;ctQ)EQB=WLXLutxP~8pf0UjPr z=0AY6Tn51lFe=A%QD(UZk#ZPkPM#fX_~P&@ zS|nK=orUy_M36S@=hw}A_Fn)w%_ibkat&OuZqf2Awr3J~7f+T3N?!O2A0@rek)a2( z)kegc=G?;Bm72e+)zLyCFda-_VX!cyk<%JQrYEy_Irzrxqhw2@RO_wrY9Xv25y{qd zlwz?B1!tUA_=>mzj(E$R=VG-7B_5w}5fRp7o`=Y;NRBu}?A)i|RAp_JxE&%Yepkw_ z``1|rv=K&v3=I~BksVChrPgrmlG4-Ky10Ks9cwqJYsN|Kvp5m)mybLdMUGZBiUO=%E2`6auVd1riUnFzXn+(P>E52Xu+0zk$?+V8LnpaV@xNc(8*rHNT5Gk_{*8 z)40E-C2A7R9P0>}=IkYMTXh-p>nB3Mmw!|7-Lv}Q`_elyPav!#Jqq;Rssu0pG=!8udb#wHs1;h~VCJ?W*!Q?@Fazbkc zS9K|Z@?PihsNH@b1VwjcwPc-TQLC0%X@ufFAwZG6wP)jW>)VNRd*L$6z+JMgCT5B= z!aSUzgQ2we=@mXGHa&oP2?;|jt+h?#!!XIPil9G#W;H}+FJ?u7n15XdRC&CoEE1Y& zV*y{P*26{`>y-UXGEuGh(kD z8M*h|nXw|~nky4#Xe?SLAX>qsOFd$(Y{oVYt*8xGlaPJ z6?+C%#0!c%JW^PH!-s!g##2wGRWP)z^uu z<^mO*lKZ`iDEdxc0zg)1vPYOPAJwo;n5Srt5W|(W0jP_@_1eM8d=`ugl&F5%%f_lB zM1KN}Jt?j%&9pUC4^QDA3`rPO1y(;Ih#DuN0|AA9c9u#DD-2L^<(d8}R&k7L^(<#x ztUuhL$iz&?&QeB1Rpz3mgnV}yl# ztTaOrOQN2ZM9qc7OptPZmr;{1!KsXU$h#@F|BNs0W&5Y$AGs|3(htdQ|Mm;k4>*NA zR?tnno{uj0UZr~-E*55=3mgnu1%;LMexEW*1%~Iz9UN#*+Apdp3{;wq_t&wVCEQ-n zK;Pf_UiLVKQq|tQSt}>5P;YTruwTI3VPByC^X$ZbMb6>jG0`)!|HteE>;E)6@t2tU z|9y7iLTe;)T?Cc|`29K4)-39Gs5bQb3-uYRo9e`IBSX}v#c-E`f_zUgFry}jSR zp1hQl>ZIn*ycW>#e3U)!ETfE~WPK{UtCnVk%6f6}mVC+?ef8l=dUVdW*MEkRTc~AJ znZ3>0ur4MYrJ!EWvK&d0Kr}wj!q8&#T_Ric27N)PTxT}jC0q`?QeJ&#(k10lEC_RQ zv{wd_@AZYqVSK$miy+r8Nx85^w&U=KrraT8R;fDBZ?)M4>df$_KQRe!G+a)_dCdpR zl73B7bA3$kZa}?vgT$TXB|$uCZt4hUEZ=T>nmTHZDqrS|bYt++@#d_4JA&YCbWjEH z4@>V_rH{5sXu)RdSBcocG;c5R7`-cQI*l`tynZ}<6t9BS=4TbS`J46^#7c<9n?5~~ zU)3C?X(|ntW~|yW3+z3Mnq?#qFb<_MzNKQqo?mA#CH7w*wl3$qo;F^zohk!5!e0hY zyk00@`8w+}l{S4`;8Xmg;&ebox_j zYRKCfWM0)L<2Th8kirCN<&s<|k&o_RWP)HhFrvuqnX34v3@2|Jm~7lh?37>R#Ick) zy%h^MI#T+~7*pk$P1hT+5~o*G8%nkVsEygR7Ya*X*Sm{3NLA1NECBIOmsGKofGJpD zY0qi4&__7B#JkrW1g$5c_tdn`&cb(kD(PvGYA7wYD`E~ClZ2Z<#NX2|3<6mPZwmY3 zg=nmwKKTY|qU-p_Hz610BnjQdsJ8gK`Oe!(v`ged8$8h7S}Ty7QV7;*_gm9m2{5 z!T(}`NITcd7Fe#UK!oA%hm$ta? z2_8kWAz0I9LEm0?L5PYkh>f(UvhT8rG!}ln<;HQ)S?v5-U#&E}OXyDl4^7Qlf0{ka zesJhB8W)2BVjcbn=m{uaoD~{uzo`LIirkYUei_iCxpAfb4-tz5x#hg*IOD#Pv0Lrlf(&qZ3p~i~8JQZ^r z;YzC`gQY2D0(^=1`=N|90SxK0op~U?+EH0?`=b3z}$V}gb#KNPxv-}b0ZowX#aj5iE)GI zDQ$pjO-6oH-sNsYm~pTN%%M3Z%{~fFEVmbjr#1^t#12@d-z46EM*u8ON($LE>z(~2 zT%diZN;>g#WpM-l0n372wacBiC&9{?g91_v!g(QHwL8tGOgv^S{}L85r1&>KQ%r$S zT*A?~y8rO6=_|yFdK>Dn%Ic%@`D0)tBR`Ben!jAdX=a`aNUMe5k9ja=~6VNZ%UQb6fUu$!uy zDQKLao7)tchBM;#%!T+(ScLxNsB6jNBw5+_5(o+TqJ*IW$z4G8aNB&-d8(~FE!KU) z{)w>>KMOVROtEfOGJ0?f;l1bSXLSgg)KE}2qxkppnoCLMqQF$p&BL=b5JuA1MGF^o z>nOI&$J={1HFlkr+^pc+q}ScjgpLW+ucVT!5N@^PCY+*rZqrw=#LL(#WP_b`F#|@_ z`Fd@ztdMdEk`tF4BYI8d&4<{W5X?ju|Fy1RGEDdJG)Wj`gt+5u$NB^eHY>^r)*zl4yCZ{Eli+9dpC=z0isQg#j^#aEFdD~c2*#Rb~|H_QCgC^>x!%J;KE6)8d(m! zy)%rtYn}$><4BLwVMT$wDaefn7{u+N5H!ebP_jagbh1Yg4^oz-7Rm`%n6#!do*d|X zL;G#mkMWpNHy%ZX)d@#bhp0*M2JX>IedE{tiDHg6ITh_Pk?WK^A;S^lNSS<&+ljok zuvP^1yUk7&!*dQDO7#|Llt70z5_GT2)~zoq@QZR~nc@T(EbAc$0ct{?k>^460O$mv z3dUa{hQgM!8!hh`(#l&v=?37N2$@?b*e1e+R75#ecPEJhqLt|xF@rMnVlHg@ZA{Qo zeuPB}LwuI_tjy;hLDS%*gQ~~37IW*y_c}$fcbEHnGA>HeZ^;;fsG>tL%?O>`OKyj} zL=Cs<mC)kN1yU9{}pjH(Z<_}w#ChsS0)SC%BW!mfAQdZSIC)1)Vi^*$2a zXc;*ORGeCsoc?8RC$}H=EkBmdi^e`IbUsdOzkjV5DlC}|S3m68cPl^aT`a}EZSFI_ zt-6d0<_=m#z}WBXUs^LN40YEsEpnLd={An$R#0RX&R0+*toO~w)C_M{P;Mt`>!=yr zE{!!3e^`y6?vlp&B{R`H&mUrd?n-)OBp34YhlO2^NPWPa#U;OnGTy3>ofSxZNW)F> zD-tr#05k{PWsP(<5{oNfxT4WahY(Gaq!NqA`ErTBQq_hNNq0CB#@2shI70tE;^9g) zmdTi(#fIYC(_Mk+M6ztuONF~#Z;_XzHZIpmo+%<9Hvq|EOlmfo2y@|~1CAZ76`h&` zeR$6&2a!Hifmt%55J+@*#yDo+-sE~i$>&-qS``Yd zn$7gd=L~;H0&I1|Y|A7UG8e$rt22Xsa^DAz$s})rvPJs=jAP~nZ#ZCrB(aB8?3 zOOEM{O(x1*t*p#`W+p7pLi>thVmb6pDq}4*YMKi0!p?c{$Q7Uq*GZWQSo)KB#Hxd`IiHAwG)a55-Unni}uhr!`oLCyI2YejO`6xFs=3a%tfBd=m_68nZ|7XYKzXAaN zs(sMY{ddQNf$o2BOc?$$egA(rCYo!JYu|bw|B!ltYY&uA@yNEd+}_ez_;|BfvrQnF zXkR|$8(nH9t+{4L9oJEQ`ubDK_qC+6Gv+HZ>)_yiS}NYjaGw+|ki2g|?`>syS$Mt{ zzMNgp-Ao;A;o@fU^6>a)IZ7L!$C>hc&bq&?vT(egH63=;Z8771IlCYCPAxpwJ-ND} z*~mV!-B?@M-s|d^k(g?Yr*XTjuvFVhN1X6$kBOdR(qK3`L^{9 zNB2*wx3QsQ&03@%#o@I=_O{phq8Z5mi(~X|l;KC-+w241|E#MInQDHP@blNRgU<3uz@UdVfE;;RinH z#7g?udAt5P%&_EPreRZj9?F`C+7GK>NYE0#cog4C-SXS`qj?DM%6`i0f)4V7P1y0L zjuWCL`VxAsODrId><4~OOi(9xv5g+!SiEp? zAvYxY=FO&jiletaGsl-94j?56khD(=__HIB%|_zs>L9R#?06KRvM{4?A37s6)@*#+ zJ~GPqvVw>th)YJLm7+hMMICVc!U?j6(kGc{4q-TOIJv#a z-(&kxy$39g@vA8Us~|Qko$x?R`XaQk3%~jk$$358gTCp8GY>6r*O_>RjVX7Eg|hmS zLl?XBS?4LTu`X?85ItpNNqy?X&1RpZO;U!Z_$}r#Su5loU$LS)h!PmT1%jRQO15lp zP8lcsVJcRi!*NR19fkI(t4D%v2%D<32?rHFcy9WSWR5m@i8f}1#R?iHz{6r0Ol+TY zwgtES?gOMiz(2_K1JSx04n-itft(=X0Le)sUt0F6_~I<1OXd++qq2K~R^4b|tq5q9 zvs#OS+_B6A4ggpZ^2UmWSp}O&%Nz7-h`v0hGV(IzB2mf|l4eqz2Kfsvuesq|di`3; zrQz_jRU+!D5H^sE{UqW_Q|drOmwbrLOsBHFrZ?#PKM-8qBkt^J1i*p1CvtJY+f{`o zlM+;~9m_eV3YC#@3Vw*mQ#U#`nAwoOlBI>KRm<2r=hq_`$k&GiR|(mkCGsC7WMj%b z(+MyD_YL$)&L%XFl&-2QfukLhZ4&j4n`39Z&?62loq;a|H=qL+fn|-!{TYCqg|$ao zn$=SbKDxdL7{V$WT>bVE!`KIY&u+&X3Y*Cz@#20{(S$MaJQ6~PeY@nan zqiXcLOAL1QYwH{n{Hz?}SYM3V^-bR@bBvyIn%7q9(Ocb?%?2~lB`g@uh&IrmFot^L zB{?Y8xGg~>s)G^0jVSpbNKV6;{%q9Ufr}MgV#RVmB?3n)NPd+|LOH z05B~BB`wtV_mLSAN}IZ>Vb~<*TSwa=b=WRRh+O{!(?vWRF`EGWWK3#T+uYzOcFN;O zO=zVw6Y|@9q{yv5D^|GbA3<;Vs|4I|DemtTY2~cWQ(sU*DT`Vt%Jv`RzZ>!^ou~v% zfTuAYsE73*nqNvK1xE0NkjlHEyHj&-R9KIzsm7(FN}5^=Ff}BQc$PSSthzQufyBIV^DAh`3qSYdvo}ICdG~ z4?Wpe-EM&I;JR_Jgk7OiT4aV*RjfVuB;;A)aRJGQ^K|nBt=n%OoJdhNhD$cnj>U=K z@uxdExH5uRjZxD`28HDCAtb1mV8Oyv&Dp&fMjk8-2c*aqjh9p`-}0o*K`0Al_@uP# z`vs=$*DJPp7&;-j4L>kWNXjiNBkl)jqkp}G(1F0}VdxzgRJIz;O5Y8k6RAjY?nXh) za4Zp*ay7291PlI*1=7+w`l&TT4Guy=jV4U*gbTzom*CsYn8if>2imw+DXS61J-tc21%ugpL5OwnxedFxIaZ-V|sbR7WNs3dqXC(;bsICNW1&0SD z#f(xCX`qZlyJ@ZfcJK>dfEK@BjG4f{XmLI$fDUHxLlMEa)46ZXWtQ5bWP9GhDr5-H zJjNbg23SF7Ug%^S1~|jqOeNFgnnog|Y$DV%A6~A?wO48Z#Y%CISd;q9&*5p`Qm-Ca z=g;XL%fhZ()@jdIYJAyvGbMl7xU)K0Oj_?=D$dBuxOcN2932)q%HjsQ=msaJhN4UT z#$X4DOW|O&j6-0ZsYPP6Au_YJ4H~kKi6sWhd~>N=>_j>|Ywx?uc>(QgjadF4M+E=; z!T*~`MbFOsA7MTW|D_G~-@<$t{<5q7Pa}fALdXA-KBmW`XQN~I9%THd#PNkYq_g5e z!?pGiy&Va=-QhSBpneKh?o=}5k?xJIGpqh7(5~q2|lCC4}5%ZJUnS2yBRzJ zGyhF(N+mCiiUmMn+D2glrK(2ZW|RWjgxB%~GOscMGm@{>w{&q5@6A7N8=hZZAKXD6 zlb+=bPwIcFmUs{^PF1n-8BXxIW-!&y)~edCZ(sbQb>IOq1DUl}Hv@3<^*?~{A7wGu z($tsS&pM_3**yI&b_$WtFt)t(?O^aN&EI%UBIkp2-emxKr<`GqhOGu83y(=S@fmBx zNtl})wVaynCWx0a{V!UPEubH)bRL4t%(sFs))!yTRyhZrT+FYA8XIdnnQwR9uEqyh zCbRCX-877sY#1z(qg#-)|6B#v^EMP65j9?s`ty2wc(ZmGmam$m?E%mHPQn5Ysa3Ek zv6PjsWhG8{_p%ES4TjB1JGncTyiWe;y9(zyLAEG#=qH}>@S+8dRr2q0%EjJi$c1Tw zzQX1aZ;as}fYD)WcYC(0jHc|L+246WpNHCk-hr-le#TD@UCa9Et5$s(0CbD)lD06X z>Jr%=jD|an(@yruxc~FHsSmt8LCYL(mZMoY*2C_9|#Zo8=v9 zMVRGgDcqZI;QZrTZY6re+?G(+=@nmyO;G@DVD?_(&EvCGAst`gsatVNjuT1_L{#oxHU^-&iu8XFBgj zQex_^w9IX@QqpcbA|h7o1_=Zgs3Au_x+$@e(HNADcm_VGq+jXp;iL@BXbZR~UO4+d zE-MR+RAhos=tL#!VwJ_Kg7>~=eJC7=`wV_lieCtP`@o(R<8TZ&I@hzW)$~SsN_fSc z=eX!qB3OhS`4n*1n3^P?Z9qZSTLlm5%fBeAdAC{JXz0a+k*VK;bZEO}e~x(3 zR~thg`$l@1=*A>)aQ`Lz-=nQl>K1p0a>>0qG}|RggK=p*FZ|2 zL!^ozj&_3QhJa8*IwM;hwoP>5#`g(Q4MCce(G^4(iwJz21C%sVJ3igCs7I_C8rv6> zKNIuO2iVjP3ojJ55IdgQQmRKue@=p~9+tC&X;{{1{K~gQ{iak~PeT;sxAXd^6si;F z=OY|XU3tqanu>M}P@6S5mBR$a#g#}YFH61lLQo-d~BfFCEI?=~~k~LyI5)Y3* z9l!6Xw0={ld{EN^!`_z!zKj1Dh{E(vhMI|0Y_>!%Fj3<^$Td${Y+~+ZYYC8xgeXa% zrYr~`$aRgQgm)8HQnRZzx98u7q;x+_Y4-8{)*|~J8_dqLQ6(97Gdo7uL6ZF21 zM{^~1i;*DF*OaTGt!Qke@+L-#h@4MQRskKi5dPJd*&>{dKL2_g{wPJro)3~aSmT2} zH-@U5knoEB1fnAEu%nym1$TCUOt=vpNawNQ=cyoa5axTJlAN}V_@0_D`zblaG0%=hN}pMB&8Xcc0|ZUrUYw3t@3U z0P|vvmrEn^=4jk1iYXQmR1a6gu8v?%RgsZU{UYruvoV>=!(gsja88sJ?lWFF3pW@W zM=-ASz2=R8<9UG*J`(#ka{z)A)ht{k`JqpC$`N;W^@(r-uu6vcfoKE?;2ga?%*EKy z7-qw8lBFQ;!V9UVBCsHYr@9khftfNHhcnxEd|Jff%FtvCcmXi*_8H@TcO}4VY`$d) z4-0CoC{wuySA7#lhlqOfc(tdjI~$pJ2ahV_UTTr-b~p`GUfur9^{c;%-EoiZj#zg?yA z!>0B?Hz~4ac@-v)QHq*Dma)7psZ8Pd=iv$n=@a^sI>r`~F7xkm6I{WGJ?cFy^yNQW zKknSw0$h4?BI0@<-O;)_Gx(!r#o)wDTam9>2MX9Qeh;xag17KbSmah?(&9|^_@%rp zb2&#OCTZ-$TB&G`PSbzw0BwMC%a}OzdLue=;tzqRBAQ*RHa#cWZIlS2epFyI8{5ihN74A}Hbu4aSTZc4-R? z`i(|yjoj_}YsnZVrnWPRZ={qW$S%szgR>weJZHQ=Yj^Q1Y>g9}ju3&t@GMiFDCCP= zZYwssQ_Pn$kYkj0H2&VJvER}Q>ox|NPl5yyztOe1nI7}Al+}C8F0wXo#0cP|4I0Gv zxLx=uR{vt5*>Yir*`(>s(wTMygu5)9wKOD7_S`S@)3CX5upJy(1iE#ve5G-_zkH?c z_U>prg`1LX=66t%P=EwulaP*Td1;l@+(=k{>Uvt7FglYfgcv z7ox{kjId-O>d{p@+1F!`rRlm$#JSWe=bzbbmseU(94*_SF<7_w^f2Rbs=~HrKqXxY z2}xpV*TxE+L~NQ_SobbTX=`>aKCTe?DnTbsf^}}3h4=Y(Q%2*3fV?Z8CSBCC?PJS9?hdG@dU-AZq+P-Z*TiyHHdN=?*8n0}FW*xl8Pt1(4cS!otKV&z zmR9?#A8>08Xg+}XXia9-Y^+NeNyhL;BZ|gln!d?2w(VmvJKIR`(ZlNNpzDCG!0YA< zaY<>RBHM+EX|`42olQ5SK|CM#({mZy5uGY-8iG?zsg3g%KQ08Tdt5M^!>8Kx`ci`~ zmu+ZAow@K?vbOPS*`&MR_Jv#^eGHL20fy}SLcm8tl2stv>B!h)iAV5PiQiDtlFjQv z+BXunqeCPGu;JOSm#6zq`-FfmbqP+PcYx*Mx}*7G$?&2E&ByS!3DEb!c1|eMt{t`U z%h-!5!ZeEb5&)9O=!AWkfQf*4KH>nnmWb$erh<#$^lKL-HF zl3fD=cUE*yK$NTKwg5;XH7oi+A|)4k%lZHT^QdfhpuNi?J@2SKm#y3$F*@_6y|+vu zJ=XzrscgG6b_+tdi~3ZA#~YdZ+@cAz0)#-MF9sQ)b;)lRL2#9KcQJ&Y8A!S_io|B= zx%Y^@0ur7S)gW7j^rTVZz1xFCQJpimJZAuODQ+7>{d752(DehLL~14(6eJ7uzP_U5 z(>CDRhTxUo#sO|*#IX**0H!gf9M=Vt+4rHo4h0ZJn}THsZ6u$@_7e@I38(hHo*2Gu zlPVRP`T6lARq4doLLglcegcn#Yk*;jVJN^co=ErfGoYRx#0#7dd}oOA2aU+|75YOI z16zJx;tV$>$smBgbA()V)J$8(4CZf2R7O0_J82N>Up{Zh&2e%|gFgh!?*)OI^B|zA zh2grm8^Lys^MK??OZ=)U)laqbRfdj{LFMa89T%3%_QEM~miy7{7CbG&tD>x7mVX7i zrYJFAa>?elz*y%O$R=Nj#iidJiAC#A)$&>%ZNca8rPJCT5cmtJ63`$ng}JBxNb_Fh!4=wfVULkxLxj`j?zV*rYf7HQ2*NwHhxb;_l`k8&2pwZRo%x3`#xp ziJu70#Ns;$C%(>^iwfzd?^L3leq&93ctntKK-x0mAjSBK>;h$#6(y7Pz|0J8C?jLU zmR5Mcgp*i2VIsI~(I3lhGYT_Dco!E2+gKD18(TG2TUQ5>!YW#{Dh|E(bGUu?$C!Qj z<^vWHzh>I?03$M)6x<*fnMrSALGK~iy`}p@eh#1PJ7phGw&wf-;P8R z^l*>{GYBE@+k1cD!#LXES=TkwL?-b&xEu-wuL3f{&i@GS=tk(!>`61PGX}9Wo*IP! z=`YHC%MHu(3jd7x^M>WVwZ_HtT1|pGw>@~FA3_aSGQ7MumtKQ1MPCMCO8&qDkFlOIM5Ly2>lQc>W(AO zbTXj(^;#MV%amFdjpbZKelvb28ER_yx*6(e#5xFyb+j78Ng_}JUBWP#xQ__E9cqUV zeKWL&m!$85;hvG9)evl~nhYdsq`!OQdWklxD`r9mg|!P$@NUQk@?90ARwHl?9i*~a zF%Sa%a5Q?1ZX8)=^qND^Sv{~LJa^4-8OcwF>~9C5w7X=D&~WKfwIlV`Df=?QgP6lX z5e-n*Mhyq;dUW)`f()03^4$!eFxZoa__!H<=-KU+2SR;IEf=a%=qr%ag=GG&TOavt zYW#yuLR`>2XACZ26103(Y!@t`Awq&7K#wNKgfaV|3?sd|L2|hmm8+ zEu7bfE)kvGQ=S>GSH@+m4KmBmU211?j9QuEYdY5-ndQ^8-vTH3nD+G-m)4Wu@KErM zVb*D2+ysij*O+5U_K7-ZJ*wGWsg z6|_>r?8vLg(dt?u(gXph4qw3fthxd#qpv;Z2VuRwplDe_In>@tc0VWKQI_% zJW>0jaM{T%BP%0#a6Q;p?|*iORb}RS5!1h;sE~Q060_<&{g}F`N+w0g1j8b-afWh9 zFXkEz8~fJBM7>MUU)TO)V4yc8QY*%zCN;gIExG3c*W7!oC7Lbwerb#vCOeJYs{2eW zH{jsApUtym?6hok{TBP-nKhM#WxcGWc`XxR&3W&=-KlU#bY)Ha@?L_7<)}u~Gapf# zN#10G)6^`N7R|_?)h#<*iSEvhk{reDH=>A74Mb?yYDHJUmeFCbp@CHDJqp$_hZ^bE zazeM%v@~Q2&J8Y#_}mhSioGrr@_QeXp*!VgIwBDbyrIu1J4*Su{Qw76q0DyshydSM zI^q7oVctCH)c)_ORHSL4ox`S2+q;ekTJF!!zL_gw-Y6cF4=rLt59c8R3#)UF56@}- z0IF)p9O?zssdQHAy4@Nt&i8>z*2V^Hg=TA4YoD77kE+ek)%ghhHQG)Agpe@v#iKTJ zbe73NQnEXX`{tn)dRKCqqM#% z|NOZRtL%JLxu>J;l(&<+VOBY_t9qdd2GzZD^ZPZ>$+}*Aw1N=eS#)X*AA+;R?d&dF z{~*z-5o+DWZJh=xqEEEvb-CWi~>59b`!vb?FqS zD3n4VA?ifS;d{-Yf5c9{xHQ7ETueN}V{j=Hac1s{+o9w}>?#tP_vPheN=Mb+3g^R8 zu8G>cuPN0s^X71^|0aK~O<&!(s6$4Evr|qo42?y0hfS7U;u- z_AXDcDS40S!^mk|$Mf0f^A^kV_Gcl9DA)vN$aJuT{@&499lPs!b%^i8t0DnJuJm%R z-3Zsz&N7xhqBCkMZWJ{2Pen{Q;7ns3Q6X(2X;c8x&{Qpiqd>b+VzPKVA|F{_A#k2I zOq%@NXsYW+4F3GG4qMErfEtj4Z0=64s=G z$I*CH`~^UE#KRHz**WRqJ+S>fPjt?j*$9YQq4biz<;w`T^kzEo-nr*-+n(T-24q_1 zArRp9f!PelBtX3QJ#r$`JcB;szp(Q_MwZa3tQZJ9M}Am_)vy7?Ap&xu`!Ox|It?l_ zC#CnRruJnRo}-0Rq!%Vel$pbUyTn&a4~kJI;%NXF-U@=lNK|Y2UaEQp0@0-Re;%|* zULo(|6YH=7`+T}~xXyKDtA05;f|C~LX%p3aTa@~j3qmtHui@nAY{!@-n zo8If}OCNU!f4t`z6av4a7U|#)pC%r zF6?c~#LhGPPBt{`MzdKvD_?(l4*`otgZBfheJ;(v$e?KMU;>|me)tEwgpdGib)^mZ zUC8-q1E;Hb8~v;9)}EtF=R{(vK$nic83+t4G#2E-bLI_Fp;6kT#ShuAAOlc+(cB;M zzR{5_LJ=;j1J^q+laqq1=||A5C3C5L+-eKYAEHfGLHkEpw8J#xaimu-JVH@|ruW7} zc{wjC`O_w~4$s(n_^(h2no&H0F>k=vVB$33vJJ|7HtrS947U}@hl~TK({(KhzdwY-F(qOh&e{8y0T7X(TRSNR%da~SG zRh{qS^pe#Qu2P-%lI;?l7?xxv$jr_Q6>ZI3iAkItDGeNKn9mKZsI#f$uAa?*OoA=( zz=+6f0Os-Bk5{c!nj=f&3GN1GL!=X^XRV!(I!37+_#%?lWy#8qj|1)Da7DlM5eLa+ z@!Z>!KJ+zkVz{ydG%?-6B2PwTKI6G^xEcy7BH&_->b&)>UA%k$*J%L}-f$CEPi$`w<0*&_>j`y8+hoM#T?MOF7jg1I6>p2QAZf^^{ zO4WX|NMbY`AbyMJa5+%8LKSAIw|T6!Mrc?f2+XMD^*MJzApZ3B>qdp;az1;+U3WUN z*b>!>1KZ*09UqfiJazT8E5e?$iuEH{0bg;aKm3k5#d9+&U@6hqB_@Xt=9ZH~bTi5r zE*&SnB`>k9qCL{3xX-W6ijUSOiSR+4_c17}ncpsiS!m}{6@(r{nlu22iV?;6(yMs>R!Ll<8t45SV0;H2!o>0Lt=2hH zZLwM^lr+;4#zpMv|5P=($_Zc%|2+9sKYLgw$JX}XGz&HK8F6fsZwLf7yi7R}sI}`A zZ6QEfvON@s-HW-;pn;Dbbuo6lwK+>qg|K+yhIytTMbquX+RNZve#PgET+tVGQ9<|t zTf++j6RixlP2sGmO5;x8PEc9vw2T|4DIanVDjKuL2~G~4G~B+9$9sZx^xk+EFKmR7 z;+rN&3-i$jR2vNE*}?{0hsKc#aYESs?(9#C2fhpdDTxPK&Joq}prEY9*T${4AWRSk zThSUpwr^KvNeaE4O$iQ@UJtLV>VP-09;Tcjn9^>s;BpIn30OuG4gPLlMia~QDPLwu zxc6M3ydjf$&}Fnh97`Fm?f^;-x2XC6bX#&AtRzeHvJ0rJMRKu=Ti&XWY5Z2Gqyl!c zuDv=tKf6%NgRt29p!J|GsPWbsnOJy8bHPu|N=ho)R$Nk}tuftLTk%KBO^DL;%*5)f z_{z*wgI%G`WB?+f$I%QsW>Rb@RV>+&rb4IX62GEAp=_y@5U1Kk4Du1C0 z>QBYPS$zR~dT~iX9p$XgeSP^n1_8F#!?Si{YhD54`Yc}#r*W#J2`Y7Q`dT9am*Xn> z>T&U4;1CO{C1?4BnK5pgJ6a{VfzGXTVzjb6MHS1t2JI)TRBHb1JNPL})ws~m9y%3qr&nrGJ? z@%##*smrNa;WP?7)KGao55L$`E{qJB_lgkp)UBCVoJeoshk)~}ewGl~+1La3dLlP4 z4oc_(sf6`?md*@>4^G0(bWN%p;A&`wnZl=#Al_R6T zG|VZdFYNy&f0SQt7_UrQ`TPY1@dcJLd8j^No}$h=U=mUHDMErOVFwuJt~l>n zCY(QM$5Sa*a+r&Xm<&?A3+r37V6yLsRm}_ik*b$8VR66^e{u8|q6uvS83!zN0$W{6 zpYfGJc~?rqYD^;w$V`v!7mh}XzS_w=TbpT3`=ME(mc8r=#u=Q!0~ocU>!00olLq3P zNHz{>&Ob)iBmwb_$cc_s^}mZa4b228&o1;gTUOO8(1(`jnpyG*f9KF&eAtFK)FQY2 z0zF+h$4Ep8tA&v~GvRHpP?*C^QPkLT*Ge0Z#*{}3>BC<5tWyEkz$x@o8#5#EyAFn0 zL%X0i?cZmjhyfu9l5i9)tTnvl_GPG`3Qj|tImlPWk*HN%YOnV%;E5rvf{Y;Haz1L z&-k}mO$&KceWUM4(rgXL4uRN0i~Z-A0})G>X%YM%++G7JI+m@KHVcXI{p_%pfJ(Nt z$P1+pba|d8Ezg9a(2=LIb}PU*TdLW}f|32;)0r2WI;{}+JpyyoXf;Ea!(VoEeH7hJ zFpU%Mss@P~kyC2UvOS$8V2nZgdNbAgd5tKw3>=iycT|&8`!t&xLj*l$iKa|yFLSDp z=EgjEo4wk7Ow|Lov}M%1==_n)WxNc%#09%nAyYLq=Zq$}m~o~rg$WMj{YUa7dJ0Y| zb;kX*HgQ8^$=DT5gB;Wre;Uawu|htOjN#`DMu*G_$;+rAILe2uk@uSCLYZT{z^af5 zZ!L{^y5e3!M#3!>#x(ZY=U0@qtkl*ZC~y7Mu)+_1*cUE9t=((ie9|z0T#bEv4t)6V`rAiH9CMiJ37UVk>Zx6*Sy+pX?RbY!N>;s|X>b!k5_prY+HL|zMkLFwQS zB`EoQV(mXLS4Op#@9~AECPG!kc>1$%TteEylwDAxHMw!V&ZQxyoiMSfq538f{)0;c zpV-MzkX&p;THC$UQE#!AO!O2YDG^fL0ka$#iC zMtbaeX4yAN%&ykU?T&i_G%bp$YtfxSpK}=s6f+``FanUeiW$e^rTRuF49WCTE8+4? zN=;`Mvb?X?=H57_8!{yhQs)^N*VW7$7W)1c|HHIR(RmHu#Oq^bsYM0mHs|Brt+i7O&&U>mD{AT9cA z@02x6C_5kKQk8?tzC%89tDlMx8OEI?AUw|cvN#e1J`^-V(&c4Mi)>}Ui#Dl8i$B14 zdW?7mZL`xLPqN*SyS^v~B7}fq!7fZphm4>2-^Q{C& z4^7;$EwN1bjN&kN6h8!(Bk3OTPZC%g;r6$?8F0t+g7xx84by6F^^1BM&)W#I=O1@ung2UaH+ zv1DcCDl8Aj`k9yS54gPcN+*p6oXBzJZ4$!f;?T}}%F^$M#t({;^3}ec_0v-`0~r@# zI=ooVgMvY=*m6!sH=fp~%X6gd?gcD%7nsA!}!ETP1HoxeVsM0ko#UN`G zH7)W%Yi_VuZfo#Ck8(dgamPd(1OH*q{_h#}{$a@cL#bh7r~40OB8LBp3;au{QFO63 z`pyMzWoa*DWM^P&YHe?2`|mvA-*qy27T~zfkD*x@u-wJ95`fo1KUkgD!YcV5JV-x#-n)+9rg1wQ2G9KH% z+xYtxzEhhUG2s2f82Tm${U!W-(~bT)3Ex@K|0^TOf8!A`GJc<$f4cs^Cq>8mPr{H^ ztfZwM9bDj(*m}>HJ-l8V5CS-U0g)Kh>n~GSzH|Hr#c-o^;3nGf=;Bk5`-!(K8%4#U zQIn}$r=>9ru0IWOFoB%XGno@2*%}_6eqLiAH+es`vE3 zP@56v4vHVZnbXgQNNg6B<_}8qhNV`EpM0Q$j5r`JlSuV;6G?-eEZEiGp~(rU1ogN} z3cFd+Q!@ZzBX}k(E0k#FggwlM5PH!znRVqELmZx7e) z>D?KeOI}1)yZ6*qHuX1eUx3|Y^GW}oVEZ3|ssA@P|9!!g(chi_sus|* zGx~e^|IbJ@wY9SsG|{vDU!arH`*)dv@n6lTm>Sxf*nNYSm6;BYm4N||nVAKTk&PXX zh5ozD%KA^4f%RXA!TZPJuhntCe~+0k|NGP z6bGIHjz*T2O-2(;2B3~w8egg;Vew}pG~r0y%tPR9eO3LLM3|szgih9&-sQIlZAK_mCrDC z#5|^grLC`|d7Zq(^aMR6v-~`LovZ4U@N4U920)!Z%>>zkU@E%nm@p|?J6TL*&je9R z%Jo>eRqlK3d&YQJVSmfoopOV+BHC>E%GwC{0%0nQbXda>)8$1)~uIBM+)Xnp88p%q`o zvVWV0lsZ~8cFJSFvq%6v3C|mD#TILzc^gh~oZvPwK z>wIh9_Mqjx%3cUPKWp!HQQSOPIo3!`QQSC~V26FGqU81*g*LvTM-tmOvY4oC26b8- zlBvCQf=8~>>?tM{+qe$fb5y==6xI! zyr*dHd+}SM5cpV$Vf#aZ{UQWJ{_K1yrARPgJ73XvmBkWT+J^{o%o!!*I9GovHvKE* ztn(|KU!=e53Pe>W;mH_q;lm&{ziOkdqR7*lvSqk$htTJsiy2Rg_Lg%w%x`gE_MXE} z48Y*QR*S3?wF0#JghsuD#0T>8NNzs5ls?7uuVgqN09Zz%ykQx6+~HTh^!S-uj~Pf=(-?#Zc(El_eHWjCxf?7TBxH)vZo+jmP} zJUVvmRu?oDby|Qv#*prvD1X^$?mK<~Au?)=6Cm>GqttDXsNN7Wh7D+**{V|GrGTAV zpVyYNsu{%zB@Y;pv#f0dpI2#e6dF%v@LrbMwEWRz7KEED?g5qA-Y9qxRYEPG`~aqq zD>?m@QMya&dFu3>;W=*xU?QM`u+bC zFXEhia%beqlM!cSuD#FxFPzC0W#M|M_7#Oa-6!}}MExLEs zxuz{Tbu5-;XntN8o_f49G^jTC0X#tVxe0;GM#SR@t``28mdX;3oRNh-_4_J1%96!C!{eo)~>mOt3w#gdy$=M_t+Q@6j&sip5foHbxs z?j;ekEr%si@h>$JA;}2`ei>lc+D5eX??jq=oT05BXu1wrG}_AGc6;fv2;<}_x^!=^ zu^fsigMH-08-Zmie?NYxIPy)a)Bs=j=u(CMe0P?kXd3tZoZB_Y*Ag;&4eFw$W+q_| zbKxYdgG$Z(R!j%t9c&t*6hSd;P(d!*w%zv5STSEz4HMvaL5E4xCvu~|j84@6Zo9L( zV?remHqVr3n;=&UUWthTEC7y%jhvmQ14agLSk91%n>U_J`ZKjisCS>c;W&X*K#qAYi#p{_@#q|ZVW$^<0dO79Q>-3#xovW)cyU|*+r@i+8cnnevQWf%w zs=4ht##b2Pf?{O!hmcgx@R4ao%N{lPy@CR)v6@)yLvPQSRlBX?8x}VGMxzXSw2~8t z4!y{ z8l!w87rHrFtYKC9S7$Ly-?4-OOr=PJ`C}9XoA#si{7kX=wj3%8o~G%t33hzyOsD=< z=a+T@viF!#9IDT1N=?lt$`O3eeyTA22b{KL1&^EAyaE$@A~v3OOr#b@__cI##8Np3 z*-}~mC+eIFh1ClRfoA>3sj_-zST0IYipX$wwv>&skJ>Eb0kKwf&DlSe%dvY;Gfp&_ zl0p;wU8LIji+X$+T>`qqGyTb=sX!n=q^U9$_W&x?jS#WkiU#<(V%?UClUUqNhsl*} zoJRB8rGm_nDVYxK^P2K=em@ml+EzBn#pWzq zAb`b=iH6ZZqz}Njp$J9W9fwYz*$zt1vcF@Pm;s_BwIf=Rrkz4W(`h66{QxvEDp)dk zTUtJ^D-^oAYdo>(TY9$LzwAQ^UlI3TVN}w8Hu|*o+EUZ~@bggseJW0}yZ9qGRrjL= zOAz~MNt@JOSIr!|YN_?)P4!NFnE z^vcwsVM;zrHcK^2F$?>*Mp`S=M85~fu?!+(xA@&Ou0VaD44Df<4lHu9{<@!hVc4(1 zAg?-Ghw(1cQ?)3QuEkH3H{(73Znqo8jL+?PJ=j@u)6fszc7eC*+uYOA_Fj3lm&*$3 zb~$AcPR0gADsoEEx`g$*yA!33bhYB5WF0R7`PuK=kh8(%%!J?j+KqXOhx@KbRrCWw z9MNq9XD7b#RBCXi9bD9|b}{*7q4b<;wQu*!YA0g;d3&vFBzrMt#cPs>@PZsa5tjrn z1%M{E<@LDXGiPo+C>`4#ccU7#Or7j2S45XSK3q%9vzkAt%@`%!4p)S!FN;fF&RBFr z?H8fgA`IXCHES|-m zWrHS$T(l%9kW|!t6nk!P%;xHRnBz8r&550tYrTMu?L-9^7BrNBPaq*tEVVDOzy&v) zjUeAA{UqJAZ~WZybU0PXUT1LuxZuL@ZeG!-;Z}a|qOe!x>U=Vz^^9WW<-SmBA*{%` zRJ|J)XC?*O#$090VUPV${3yI2OivuXr_lKe3^FsJHd?lpjy$YlZs*ubGw@ede z5i@L@@O>c#cp(ManBO;8AQ9ae^CpL-;Ml4g7L3nrr+ zwzXAd&HOOqB8FN-$DmA{TAb2eg^ZcI9i`nq>mq9->mzFLCe@}qDxZAm^-|K$8ZibMeb@l4qxH2dK1kkbCR8uHYns=7Zji82tR~|P< zt5g>W8>?^3nzkE9XHDD;PJ2!`ZpnehF3cxJLG^p6O4Mr73UQpJw<{fA)0>$znUl$0 zDr>u^;`1_jS*?52^K$zAkxMkbDl&Ffk5hWNxIfqoMmZnBa4d#|GL?oKY^XKO#ss${ z@~x@Bix!VAYn#}R*}caMZAxLnsQW5yW;RxFGXln?@G;Z6g3RXjhmTE z9a`!*Lf7IBX!ZK`Cr5ARTSrii9A*>C1rvX#Pz{tAF%f=WhSj$8Bqo5UxTyFJ?ahT% z$8o095&Sye>1jOlZAg|vT+|^O5#pOKh<}yG_Q@$_^*k`>O2b_BG~++MH|WiSu2}WF zIO(jY=SdDt(E8F`o~w1=)xU7oGM`&@scW$8iL*0$+iK{llY4T%8eD2I&kC;%oa|kWGb@786~ileRKFBc@57&LsnY{pkaqexY^T{xxNg+yTx|F_ zF^B#2F)0}aJ6WRn+HZS7e_`K@$5)rxeo6!4<20oB`Cz1>Mlob^<=o-r_9jHmP-XIj zFEwm+LVBxKNcMSx!W=VUiH@U9OFy2%6I+b|FZ1LLk<0~dX)j2}9UN^opT zu1F`)+bj8~9CLPs{U<&yZc^S5%62V$oe6fNVBBw=`xMCXxe4L2swTfK8JQP;R;3aB z3^OM=f;I}7IMoQkZXzt8Oj*QOr{b`IFWrL93bhfeDfJ1W3H&LgL!dfY76{fEPk5Xb z8LU8>GO>E55aG^Q$JaT8VZ^@1C6Pw_K1^)5o1KONv0K@m_|&r!l$&Zcu*6gJbI^YcjE{1U#+W`0mX%)D-MG zTV#Tk1VVz(yR}Fni?X6J%H6$bi;UXxbKfKm%%}8oAFH%!bHwc)-vh{D8bw`+jK%Rv zpj9LlfK74b@W zxmAgIx2|)BbHpxn?Q+W`>lSS0uIurDNM_dk8|E?l_Nip~YO@Ers`%ltMv!AC3erZU zacU-Dy@l27F@rg4^S`%9&%Hf*Gp+$&;oiILl_!@hhy%=QAbwZNR_a<|xaUvOGX zm2_?{d3lJf^+{!X0dREW4UA27{XovbVWg9O#4yBS)vx3ZDoTs?YblHsVY0JBBC#pF z<3RM#i?TgezO_H%C`24WtQotiCSyv%C5tU%Xk!3Pa3`9|2eBKs=NuaUbC|rV#@-+$ z;rHku)HK6bw2R~Tr}E3-9`NEoj~gtb)8MdKj4g?rd$9esJLfd4Vd+p}>2ik4<^DN+ zEUp1*wI%5MR_k#knMZJ0V@hnorzleoxRi_`3Sw{lx11iB5`@Dv zX*nXBe}j34ebTi@PXx^9`|mp_ofx?O9V!(1t-!v;1p8!qVbnKVPD$7Yhnc2&!;49U z^^MFg@Q$*orYktkii6xg7hB%(c2j12t5*+y5;hFcO`4jCgsz!dVn7W^f^pe@*OK~f zBl+BVR#3)L)isMCJeNSyg&>3}{4BG*RT8Z`G#L?@1?9{%@wOcpk6@d^b32%^4d4*m zB>MVEO;4X@P-ReGAm6!3N%S+}PZSoHcb!MnW{yLT!M&*IqUF-M{S#fOF;0zKM;>q$ z%|LX?32bsmIPu4)nS7Ne)e-F*orpWo7BJF^Re`Ix?#IVVBD{F&(9y*LV9C(ygS76g=cYHNv(8FG+Ey z(Gx)d@>od7d*73Nmr1ZZzWFThPYJd-7Ja@0CxiDfIe)wj0j!+n2Le+Ge4148Id+pm3-x;o7^o%e zkkBWU$#YCCtv8eEd*-?~b`v-J*2OI!Icv9vQG0<0?^3)CU!YqTZsN(DR-Uf|a@bws z+~v)!o>)o1J+JokLh2+gBis{Y2qc5xX;_%}sVKqggZ%=R1B~G;B_hFfi+GR_tEzP` znz&~&(u(rnpJCyYs^p#tEbxnf=hb=c2F?(H>U(TLE@+Io#df&ytss+Ev3RKbCAmSe z0i+{yP|Q>`Yf=VP%F1?`1f(P`li>>vqOup27ue0$F~Cr4Gnb3kRLysNgC!>5vxp*@1;Uh6>yB7KQ-1G zu1wq-7ItUu%%t6p^@L4&!YQiWw;z}4Kh6j!?r}z5E>^T2cI)qy*hxJ2y34;(KgScx zBuBIs->shwp>g8KDESU+zcEy0 zL^5w?(Tr=%NQ=RmJpIt;pP~tlcUSrH&cFwcKW}v1D);g729AaeWRcM;riQpCx3pi8 zw!B2j4IoF5Ow_+X?hwqC?%aJP;9YGtc0TLM!x%(hZ9n%qLf!)=i%9&_rt`*wICCkv zy3^0!&fjFq?ym|53f(5?$7SyD#^lGc_Ay>;%u*b>E=<=<-pJpeAD=K^A{jvfUh<({ zy1#%nOz@KWDHlUIKNp0pNcx{Y)jq&q*_t*1Jrvkp>SjRHtI#cC;%7#L(qbf9SB=H< z{WZ<%Ws*+%gw`Z%fmV#wMwD}wjn^botMz$MDsFZ2B0_xMA@hF2mA%)_fQ)BsGOXf@ zCVlDDqt~eX7E;46S!Bqwz}KrN__oJf{631&RZIx2!F()EfTe_@OoAQ}=S8?nqx`bi z_nXzPkAWR^3TL|Ibs01!z=`Mnt2PYn`%u>ZeXh>@SMiMZ+rT=5@J=)yNHm#Y2dg(R z)HCN-R@ktD^AwNDZ45vNx>jC3R#wvPIZNb#C`lx!2+&ZXb{XOtdGBuB^ONnp{9N^t z4-LDGB)v(GO+tLMkZkCc7#&JgsgFh%Ske_YXbvMjWr75eg>#Ai4nTSGCgjPpLu>u0g(1!ejxpX_xn7Xy_l#%kHg4O>i6@Ue zU4bBu=KaW+L57$Vb2ee8%8h4d?DodAdO@Uo5qnKEkIx(C({skw9N_eodbIN>FYQA7 zTv#CYgg{*EKI}_PLh37)#wOsecPW50w+`U94ZI&%b2p~_j6eLikgd381KRxW72d^T zx!1?)Pi*(1<5*xWyDx(GaD+b~j@5VBVQ&4S?6>3I%BirXc+Gv;fNeC6Fs{wizf#xt z#+*p!4h9R>0?T{>IaG?ycp)b*XP0ay1@3Edkcf7iVCE)(8a3Ep#{xxynh07s;%YCu zRlq5tc1~-lbMnl+Cn5ajLpqW#C09YTgP<#6l0KE>GWOMfu0{Tch>V(U|ow9z8YkmkA7qmsv2H1iPy=HZ6?DP z6z3McFLSOn%P_wL9Au)(lQg$9r2WiA@M43vJ_?o6baK|KwX?tu4U05;6AI;*h8Y5F zY%psnBoq_9bH&%k(j`?yUR*WR#bZ8>lkKKG@NP`Ajsyd|5NPQzqY!2oUjpre=9qVJ zTCn3xxrq)TFi(^->Ai|%5j8YgBoXFl?-ZD(wreV?SE9=5XpXGKM$;sbF}JB)DP>_M zhkC0*>!3r5a;p9dBGK;pG?&NieAZa)IyA8HI<;~-nDbdF!AmjX3eYStf(oi308ZRN z{iV6a9VCn9a4aWK&y**^3B)%?B)d)_f+<44$(rk`p??pn0U7yhv4X-%#FNx2T&NS} zK(0_d_?}Ge(@7@P*9(#_BgUE%MM!1)JyF^S?8)pBs(y&ShpwT79%&cym)g&ai5xmc zYz4rJ4O8J_`asBB=o_A9&h^dkHwOG&cf)p~_~={=V*yt-Yql&nE8b&^ok3~#+Im7S z;;b00&~9H-T$C`TK)~iKjBqALLB5L{p7gyrBumJFc?1|4t!%1Lrhz43HvX3aHsXw& z$VubsGTMAU@W7aQYknn;{5=|T-V_W=EAul5TZzShz27sHEcl4vzkc1kWPn@ZFIS>X z9_`1M#6(Lu2&0B_EXp$JN6~c}3D(O+1V|&Xu!k38>_;u95(H_pv*hi8oZUw(HV6=C zsdo=d&o8V*{tCPg=qbhsODw6W3|z<=WWf==Zm#&<8i_cMW&s<>idCaZH9hc5I}NAt zYt}^MI5x7^8^2z7k2F|WH-4-@PZ|_qYhGC#V8j#*-JM^c_rg>gtzgD+K3s|s;Q~q{ z+M0251Kt#3Tj)TvKF}))sPzQ~zK<0*Z*{lWbD5{wM_amxtA}g7onSg7*`WcL?V-Xq zN4dF0LpZ;sqAibT5Y^^4Gy{G#npR9dDU)rH{~|D=1Z2Gins*Ix$Pg}rKvhSD8Z@k& z17Q(;|Cd}SR}!;sdV)HWC?a^yW&px)RhT1)p6RDIkow5`$yN(HYaL(8q8I@#@Ob}_Jyi51=!b~$#Vus*My%OHcLrQ8pgX5 z^yc(7Ge-NT8K|3vpBDRegA#M?5`(h?LHq6P#5ppwCM$90`>gEa?Zovh%1r@k*owIL z4pG;$F6}!rbmUVnB*uF!YGzZ$Ki=Nb@U#^;$iYXQHZyKP!%&*$QC&*GjuI*wCR92aH7DEZz#y7z2U z7-~tQAjW4;YRuDspz6D55Lnae@685}y?{?fwV=M%Uc~E5u|t=Ty&a#QS12`ZZaZy) z*055YMW~lt(W94AL4a?_j=0E=6xCN$6l+Dj8j8zqM(}HEkWRb(>|xuHoF(Uxy32NL zX&0gaYa7+ShMbOiElR4-7K>J>pe;KLh}s@ZnjONN$0h{N6BDe%wAx$1EN8Wi;4I7K zmLo9MqXF3~s|?s(cV3;D+B#7x*D?nx%lt3a)Xm*c%-a@68e6tkE0`QB5F1yuAuVeK z{U$KX#rz^HpCdtjF(_B@I)SL~`8b?ZqwJJl1W>sU4CYOG@V|q zj%DP6j!^3lv_h>3OqkwA1;m)w(wIDDY;MI=-04+tsYXDpl-CJ>PTcFhb*YBZ8e>on z-KUleVgv5f01{_t7V{gxpq$mt0Z}ro-VViY)TUOK0ZO8v(efK(NG|GG*G!&+tou!~ zMm?Es6Ff1mJ&2dg^*c@SD!^ogW`bH1!(aSkcRpf!Nqcmkj;RHT>LfrELt;K#(JwX3 zyu1*BYB9SNfjB&A1<0!lWX}NY3YEGv_FGY=I5tPt&n7o4Vhv1>qIP8&S6;gc|JNuZ z+8m@o9%s2ZcKBe;4E8fhXD1`9m^fxR1EQGFNO}K{JbhBd?BeO3Q1YDVAHXjV6e0oc z!0wayhiAYEqY@QBR>aO9x|)^ax9QOo{E@)6@4Ag`i3V2zliap zlk?9c>?}+y{{+Pu$li%lzlU2e>eRPri|_%UHywGqyGnG z_Me$D=5KlYzhIbu%ar{?8~?vDW%U133VQl~5JJ@7G@8AE?KfO!u48W?VDLA1=fBc5 z8nI)4F=c{JBJX}lC-^`8d<6JJz`+s1xa3!1acS~J25|XN-aT|IWfeBOBad`&+|n7i z4_Y()?+jl{vqc#yDxo7jCgcgJ>@6BBME}fNFmgtFDJa1-9#B3Ea7fJ`w4MlJt|h`v zzQxi=8KR`|Z)hEdplV4<7A`2&yhuP&A~)$g7e?L_s;`M5$jH?_x>E%u)e`Jjzc5uL zg*&D;iSJ~^N4enc=c=;wI^F1#Yq=VF4s4H5(IsGr>=x^mz+4!Yh^d`)drkvo@ui`O#lc;Brs zx=D5+W3It%q@PIzwh^%uueTAa(?M|xt}~;Y)UpzbZk()3(`d)WucvRz%jITGU$M?} zaGEbaUw+WYwhR6nKc}br&)TE^^5%bd#{Y>u`#-z(za`NA!GTf#lR#tm9t-pLn}PM4 z82jcYnQ0lnKN)ZtzRUCsbblMsH(SQ?O`g%x;xe)_;<9`zr~cK7p5eRo-^>4K#mw|g zvax>m_ig`ei_1j+cPrL!E9QR^Xn*y?#PnUmO#c^R`F+Aj`}Yo+zs*_x^_6tEEZ@`q zA1vqp3t0Qxdhp+XwZF}h{|2mmvv4%He`7QM6R<}AztVN1XZ{}6f1ObWu@h#9yl8`2 zD;xQu6s8QW^BU6TynLzIoXLJ7@NT5Pq5CsS*BtJCyumvn8Y5Zk^`vRGi$-Y%_%ipD zeJA0y%0%w>bA?MAG-8euApG)X85{rH{Lb)rsAH(gyC#I;CT%loJ7K5@R(%1uD?f1} zPpu*Dwhw5^eA?(@^&)=7v3C_-wMfQsxs~}Nek`1Neq(X6k2hMkeUjziIWZ-GSDuNL zP{Xc>H7HHSJ<0DfrSgO7D8sOQ=(F%7sDct3+FO7u)d)5CVjGPXedx> z-Uuqa&|z*2Z7ca}8$@Ju`KSAgq&yx-P;Sx7D9T+nh7yz{q!%Z0#}Qg)uCvBFhg$I# ztIX>UMr7)b$HgV3JPVK@??XG(O@b#(ro{>Q*EX-_mp3jX=wnk}`G}o`u;n{rXy82d z4z5a80(^yt7NjWC^n?fk#!9wGhY|9J-y;~T(dpeP95Lzno!pO(Frcx(hBunEy>oB4 zDg~c1wL+hStUj#naq0P<{Sr9^1X=h*DO>}!`mac7u_to!L~}*W)ZZ2KBll#Qy4WZv z&#REbcNDRs#(jHU$k3C(*YLT0o4(LVURV_AP0@WAsq-9)_AGT15}?22P1SpRMpjMG z=jtI6yv>-=1l_1@9|}xT?iPJDhmXQsTP{w@pee5Vq?T(pq_u9!*Hz~pN3opNoS4p4 z*J%AhXmUca{GqqzQ0>GKZ?xEhZqf#}e{8MAKmICUt=9Z^tHD1LxH2+*2aJD##Pt7b zep>MFLGO>Xfu)>_g|3zP-&d5shr0iXo&FAOzv;iT%hJ-Y(BZPu{@RSqO5P~A&wYOLxMe?`?`+)1FLrt?>;v;77-M-0faZ(J zBOn`vD5t;i98XKJkLDxlQacKk6ZZ>hP5jB@L8u+s-n%pKik)TaY!G&C?BBOkvX*BF zz5_~<4;FwV35XJOF~N*Q<;o|m!rjOOPgOZY_{qz)Mfch)g zD&yZd(f>c3`QJItzYQe+pymG=M;K{nzR6?8f45x!r*y>s;*073`nmtR6Z}tnG5!CF zFJ@%;?|kuso0~h*!pc|6`1s_x2XkARK7Vc7$~v_#OGYhR@sZAq8=HNw7&#tGZ zEvq{ExA7EuyG*;uJNK+BJ3~5#>Ka6o876_4W>XEfFLft5GQMLaFrB+nNq(uyXRhDF zSACAo4qvGbW)>}7!oe_oH|2~SX-Y-s9bc$mw0d9$rEP3$?3bIUW;~>Bn3pk2z`)Gn zs@RcTzI*U_gkJ^{ldf$a*zW<9*>)Pg0+8qihA4h+tc(1I}WCKAHh*ElHwwc*I`Ab zE@o8C*wki7A)r)L)0eO3G!!yV?>h-~A|WIuD#|Y`Fw&pA*EcxYclB_2se>>?MM0jr z2_q^nIQ}|=MIBOEre3)lS0v`y5)|?;{A76WVW4ynnYcIHPfq0vn$9~WWDE1;ME=aS zxlg}s1IH39ni-Q*a-W8snK;I)j%u1gO&WvAYn%Qvz1(z)B`t=-6O}zQO?%J4258VW z9U=XS`+9=>@H#D3kF()($y>FvY`uc6+k*$qC8%nP4ZG_x97!k5su~G0vtSH*>;N<6 zSF1}}7Bu^VA>7h;Htu+RzRM$95fLIAyB?bphA~rNbT-?b_S9RJ6mn_JTWH$Sp4t_S z6VNrn+mJbTt?S5>n~-XkkN^1R`UR0YBx{%_#FF_Dr3kd6D>iF4!OvT4p*KMP{Kyh7 z@2PS^t(dprh-0u5-a7#cPfgieg5L7ETBs50$eDf!r+~H&v#7eZHaznBPofD z&Ye)XC<5a$vm4nKQ5Ul_+elh#*_8nvQDwjvb){eD8wc6lPl;aQ11*;=7H*H@4(vyl zCTnw^x~6MlO>@Vacg_|UnV+FdM`)#5Y=JrNCue$thnv$JhURCzbvZ`02zI{`U-i_9 zo5e5ioi2J43noK3Eq2}l#SO`XgNI=%`L@@QJSqR!`19T#x*TjM#cMbwj_uPC^}_I1 zgsmyti+&2?0*GV_mxR1gjK^TFNc$bH_CnPWU~ZHT0Kg^FVNR({80rahB%I1J1iDXz zlpF~nf)N6zO2R`$q03Q52|9DZc%G*WKS<;k5qMRTF6l*5g6SLO063T%U%Pp{?_oT+C+1YowtmqH6NM> zPOQ$#p|o#nRw0lEwH>-f5hl+MVo(kYKDww@h32csxm>ZQxc$={bk7u-OUDyr4a6YG<%ybi;1 z!@o*RJ1Qxr>G`vCCs@d*Os3{ZB!1N)3;Iko1nVNiRgURGI0)JpNK{lZRSGIuoy{}| z!kh{1-Zu~L(2SEd(qTl5TEW$?8ndrn(KTaIb%n86hr6`RJv-2lXum_S{km*u>86j# zK<=h0pqO5GSEsPw2$2wqPt$AU%gV_kFSNKFV0GF2kOcG^Rcy-CAo)nLhbi)U*x}CX z1%=&kl@QlmTu;nMXrSCni04QTsaOsdFYx-{yf}P|)C8^bM38U=ut457-WKTT&V zMaE5~GcX0D;6ZB$PV|JFDLwD41QQgEE6?pBO$MBk#Wg#IF~L{Ma)2>54a)~St#557 zdRmB#diu&|Whd~%mWI3wBl+qF!Zt54P^j%d=Kqy9O&8=COe88no-~AHZI@yiDQ*C% z9HTMZSVL(Plp3Cakm?(ILK*+ZOqysTSQsoyxi&_36d_YP6u`2dr6;*ckRCuo7|!qU z76e-kgO~k8Xmr|4UR#x>+sD3|YMNV{3gEy-yNDJ{>pI8VdxJ%(d%Rfw-frZJV%;~1 z#z*{#-e)AkzOMX+*97NgPq`Z)D_MWYgeBuy`bP*)hcLj{}u8jq1x>5{l^$%N!?YJTo%m0O`%% z*+5l)^kk*|if@1=9JNf^2UH(nJV;enOgj11M##GbTkB3 z3&EtVwr_e%IeDVzW??Z2^T#OCz#oednw7Z-s^F@p&3^5IUCwf_X~;O5i##DDZ*AAc z-F-HlMW|qQJja)Ukys4JPhEz*e#+>Y)!kF8%xZq9)X}*MNAD+I^bdZ3XrIcTy`&p= zE^*ZS5}KaFofUX-O{)0F$u)wj$7wxIjh}{fWnTBymXyNvU2f|(s9#IZP~@98 zm@MMiDqD&7b0jFX!=VqtZstwvEbC?SBB>*^?7=(k}NbT^!5?oC!1*uIFy0PNf~P zUd!W&h$ct$Tu}vF4qm^(d*_=^L+Uj_(>3(FKkAYY$=V$b>Dn$n!tQuz6vpOsKPJ&H zybrkNpz0-lrbwI=(Q1EKHM9D7tYFrWZ!P*1_?lD?P&W=y*0o-05oL>9Dq2CvHPp-U zY@9$Jek<({n_N767_nwgd& zr=su>T1oVTFJJXfxT*2Iyg zwuQ2m)FQ~KdlIz~n?vj_W|Jt&03SCpvNX|6Zz%ARA>jyKHQ0`aGL#zI1EI@!JXoDG zmqMF*p=og6Ga1p7ju{n>j;KRVeGSAH=+ndC?phAf!ldk^$=7*RThi=-rx(?yXew(O zU_|klay*DMCDK>XrLok4F~k|2k~piSZr84n@nw2cNRZogpHlc|4Al`zqv6!2Ok&_r zWT=H*=xTi2{BSs zdd00F5u1y9y9{DUvWf(aSO54#ctvIHelc@1erP?D8G(1^vXC3ousp!K;m|Y#&Hq*` ztM0aWRi@&*nti)pXcp*_-WqW*RXhp0=ck9d;hKrqu>8%4LC~R!a8__C`7@Ha*SW=Y zW{{9SHd)|YG3Q&ryT3)7sTNt%|2f&5|CW@pcV{S^&!icNJGQ?ioT{^XX+Lk ze+6puuqg?Kk<)PS)g}uFosr&Z(9y_;3YWM6$&+6AnTG{$DKVU}4IN5xt$1djAUjs=K z*dBhQLA3Bwrv5H$owzL4RizxyyYnx@uMFKcIxa?Twhsrkutmd!2|CUO33IeqN1j%@ zuZaAS>0_V~xnZ}@&(vVM^R9K(xw9}DkYJ=Sg5LC4&KaL_&L*CE`DXUf-omH=?d9oj znX+E{66hN{8$0XkcXo_DZO$w)c$S?4GJ%u_OdOPFn(F7W!Nyo+BBSP=+A!^)y0@ft zfaX{2fsY9BY-m)Viwhr}t(=p!|FDf{G#Tw;G>K_=$?5(qTgD-K&@DEhj%j_SN*mXN zq|8){v_57fi1C5B*?;Ox82s~x)*^wX9&>WECNa(H#tei{47$X!`bUdc8pIa_;({_| z9V#pTDDb%4ajDA1vB+vW40UW|L{wy^$KY1VU?m*>;%2n{l0G=6gVHW!m6^-*nP`b0 zhPGmPciF8^MoF$sJ$b;l=6iFfVvR$o;(F<6pGT<-heTkDOoB>4jiY~$dt$qgzBNso zIm8ewQh=eVB6&!1xM9G08H;X1vVjmUG%B{&=gSZ^CC4#!X+@@-{hNEqp20g8+_S{{ z=h*3~T%KC~7WXyc$)1IpW-*w}91LBKaU&1qAt|a(!D29BxVMMJptL2WU-oY>C|Nun#;A&Q_mxSECyr8C8iH!v556%d|<~O046h3HW`tF zvry?mvL^U({lwQN7}QkyV>Z9rfT#^pSBO#_^oizrp1`n98&W5pLG``ScbmZcPT?if z6$jlDGW1vp(SUnzG02TsdwDUmw=vU$@{F@Ki=WQk?vZSkPWAE4?4n&C$yqBG1ZpcWN4UK^>|LcB;}g4QDdyCDu)9vgM7o#GmcH zM);y5BK}gy1puDtqR?#}w~=g_w+G(S868B8tYCdg z3P3*i(@4DmoU+lrGuk%jh*j#Py|)g$947hp*{rSUp-cDqyo>ar)BXWV-Eo~ZDy=Rr z_*1ng54$FmczQnAKX~5O$YoZ}q;xNYWd@$zFN#t!#7I}gJiR9@WjQ7#fy{8x=+UTl zIC3o_Bo!T`ZAPbQ%Ge1_aF2V*0xhpM1-R)yr5NrGLTCtY&0#mU9c6^1_C0^yh@f@7OG91YbSt274D6(u4}#8ZLOSQ-#2);}UqGogjD zIK@Bh6Wfs`45vWrgyQ(ztU!U6|qz z!r;b$qJDu3{fH79P+puz&W(qQ#*b$e9V(Q@)rA$8i`9I+r|fh(LR5fE+GwicoJ;F0 z`JA((upFM0AbIGaeQal^e~K)-^q|1mqOJ^$ih%lDO-N~kc{L8=s`Tb6jmE%2X%qah zWQ|OY4`!Nq?*DA+L+_h<36xw{P1%(2OCJ7oLN@HwlTiWEG;$YS@iG_1j@+kKRa*wQ z7^wlk3e(qY#`Sl)EI)q6(4^6?6)8u^GF^6t(cIppOz&{2VI0!$D?NGwo|NvBxgvh< z_Fe)F%hO!T^H4aNw%vv_Uo|V&n0_74GJDb1;H$*dmAkmU{S0kg=gCNNia^`-KU6eI zX>FoOku@$Z7$*uhX>d%+GjRRxu>J2$pok_i4^qM(-OT7o0mC+12C*$E6Xmay!8ji8 z+o$4HB5l{xYiP_kp7+cIX-SzIclUE|T2_~51YWKxY@OrWVVqY}RtcG2d&5b{tRqR4 zk`%@7cEJ{!+DAXvB=|3Mq4jfr8rAHe_2^30AF6!s26`?yEqFB;G$6C6-dM1>YkQT^Uy=mL5!2{ry)L^_iW&1g(z?@ki$3bW~ zWqh(km0-2qU0PY_6Y~bihn<0%)zYY9xtsQLSQ?btXQNSHTmtgludzd}xrVP@HV-R# zRegc++DFCo=XG$*t(i_&#|N#&^5RS_x1H$>9K}WXN_Dcmiuv*QAFeGjD5}&{q>;&S ziE*^-W$MKd$w`W-GHDG^pvx#~u$KmI=4vaRMP!+bZRKRSwJ>O)QvxPfC4eR#a;pnl9Lgm(eXyle#+i^g`Edgk+T z-l+?(Em%6K?_u?MFWZS{YHoU3G&q{KKL+h$30JjM?DWW-=$)J$56>BHjnD5t9F&cX zRYR7+q-QCqB&EkPzJQoSMR`1&Kihe_6c%}e`IVbH5LN!<(N;!o@?ZNQ(D##38M(h7 zD>_JpG>0QlS}HM?w>`mnN03eI8A6^P+-DvV)68+Xf~8(lGvBW&uuu-iB0s|(^1wK# zR*{6n0N~okih2g zWP866X}uxqm}o%GA~{s__Y&JSiVxhpUICxTSaTN-f$)D@hsq0 zHz50^Y@A?7x#6oD_Mgbryhq(N{W)X(*cypK^OTGBaqyJXth(&-2LU9(Alu<2<*C4j z;OAg89a@s}rvCO)!9@N=j*d-^u2{@Uf#yVj(9qXXdna=QU%|RkV+^9$d(c$OFbBCj zamfTJh`Q`(?a_hc`yhh#m@c#4&fM6=5PP#umaC^CMuU>A_#FziB7 zAM)4<##!xgoDhBa^rvtg!lXMSd)AJbhGc5l-mq2|ZfHxstx#usS<2%Z9_;*#P*O9d z3cnpx*fy1HXCmfZDOezUvX%-MQC%ZQav>p ziZMQXlC_@@0aU}wC2$-(ucD7}r1$1&FX|x`Bf3b2?wAGbyw+e2KLy9C15^}2W8@6= zamG5yNt|j#+c{I zdp$>iyVR(ek!|ltX&*+381~rq6?a%`LGuLkN|aip%TsOjo{p+}6V--mGN~r`WupM< z@x6fIFhbmBJV=Ln1*pSF2V26QZX2Bj8w7b8VSQ{wD3?Ps<(i@rSM8v1B(QFO%DV1p ze}=;MtcmwChu12M87vjeJO@P~JX#`7L9iIktt9EjR#PEIx;!(;)P^-+XLnSgq1W93 z(lYLjV13cP+LAo3)WFF zHLxWD{%U%gm#}yRQ3L0Lo`La3@RRWSbM|NO63?HgySdyV3(rQg__3n3`6%zw*B5YV zx-bFgmT}4)YqFSXW+f37OVmvE81gfk`E;ehVnhNi3-Z#&l(Z@taI=E*QE2l=bj|Nn z2o<&8BH*yQNZ7v$Yw(DP-iW1(OhDeSs0J`glj*;jp3*tPtTu1#74){3TwYYv6gj@G zukoTtQfSLv^(Wt7dX`r1QdEGWF4MWAw}ZhyDL3L4{D$X&I(RHbTcaTuIYe{q2i@Iu zPp5`}EV!V~vIKdt65 zfYA!COw=@49r}d+h~6eRsp6!+dV8dOAPD{}WeO>P(q)NI)Qc2|QLq2r zQwKz?gIc1>DDEIGSpgr0ACcxip@^{8fRLmlEv#~a%R`wcvzR6FEumlOPvZsk!-6M; zHEjhWw`c1x3SNmLLVGWNzvGG8h*6oc`E@5^b6i1YI{Ocx4d4SkK z#EZj*&$X$;&S9xkVcF%D#j!$VWdX~4=%!ivwcuX(1Pfdp=iUC4|3slx9esg=HfD6s zpfAK3rBvvk8N8}TX$MO=V#41QAjBX%;Ro6aC&Z`(kYi@zOaK+^;b(Yzzse_LC3%vt z8Q1a)ZM7ZaYz|e8|BQ+~I9pYv`cla*AnAqD67MxL8YW2YES*$C z_TDMWaNvFc0(Ug?%MGD*nR;-fP85(^5QA$fG>{KCsTC?f@}9a}<(Pkp-c=^dVcZ?b zW`ZK{pPjb?fX**ORYq2xOYp{#E8*c3akgV);M}AzjDB@Rvjt+aU!rji45{>KbnP}a zrOG0Dba)XpDii1+e&jQuOwUkUGs3%cxKTG!)RBHnhrS^uo;2|IK03Pxt@v^EgE|}+ zkyHa%{4E8tq9gXRs7h3xH<8;(&-))w3k>u3jq9(;_LO)7b$Sa%XuykpQIUrVh8LRP zcS9O?(N>A5UGq=Io@9jFGNLE!O84urBkY>Q5}K0w;Zml-!C_|5o13$7Xcl0d@Nv=W zK46wU;H4n?i65j=47mX0x(O6z=Kg$%4m@O*UU)kJnRQPLnJ*_lOSJ@ zFrCO-KmH%y-Z@H=X3^JfOxw0?+cu_q+O{!mW7@VgZQGuwIV3 zweBCaDk?HEBCA(MR#(>Z{9@$9%{~@(?r_`E!87%yR*xpmtA2UCV6c9emR(^(V%3~r zjeJO-d-SoKElN0{O-zL67;ytKtub8@m`QwaERiK54L{fjGfDiXy1QO<-ECdSCXhjk zuEGkWN;SP~CZVY;gJ)pAxIPdVxc1KyEnpK#h~?@jX&QjWLqYU)HKKV3GFg68x}5=B z=!vBPlj>PJBz`JrX$sn+md|R?`iNK4Du*Y3kg7VTw!dFA%mdtNPg-N=b!n>Wgh}3e#MBg z@iO1u#!6S)fs6}Sw9_e)-=t0wf--r4TDXC57Y2fa}Ber7)uJlviXlQSoz<>hV@yEZ?my9 zz-NA8!KSA}3gfb+x*~3x)N@^ha|m9A%}Ck?bb*E?yH48#Nsa;j7YPt0ocooBM*KQa zFEUuxQugM|#37H}uBYYVv1QYq@?NE^!!_dy%yMEeve9TIpev?xq?K*%^O7}_Yc(*t z)n?ZHdN&wQ=onny?%Rs#@yW<|RXP1?=oGPBJyV0IUZxUSMXEpW?nwu;8uEPa@jRAqJT2fIxwk1(Sy54S z=G=>TIj{a1K6QB+mxIcp>aFw(o0Y1-X^xiaF~2}LIUQTRnSr-!CdqB?Ok78hOM9W$ zq`RwuwD@9`iI#%+$+PxKFbL2j0Wd!lqM4c2^UD0t(loRWm(F2Q;`2F9Rv)?YA_bN*1HjEtcV7PB23)_^Unm}8q;GCuvV!t>70Y4*>9|Bo z5Y>fNKS1{{&q}W*@e)Q~j#(HJ)_|F26}wvmC)S>wx>BFg!fhJ8T1$iUGFSUzu2+}U zJsWXniR{VSERkC|i33vK7S-X3T?Tp148KYFsksL?ftuU5crbTI}_F8S8CT8C6v_11pl1d~d%i_faW0Egqd@i#}3uF3!*Q24IF2kj+ zE)#B4T&P<8sbsTT1B^21UpZQTDYmY;J{Yy@vn`0}#=__ljfi&06^@nNCyM4D%myy` z1{J37v9MF%ywo1XNtCK{DbZrnlTBnBX?$4B(;b8 z0O#;*E*^n`3U8h>wlLMHU$Ec32&ZZY)%V|YKc*urI1>v*aK_E21zo^7atak{=`Ehs z88I%gM^gw)DHM4}CGZTnitA6Hksa$D@5)hR>c?)iz9&>|YFwQ<*^Do)Sy(z-i;5b{ z(Xt^DkWM|q#;jZjn*zU={8HSeB*ag#cUwH*z$Q07OSoCm2C6@U>YmUSy1oB+g(gyx zo2oeVoI4LGT-wt76ctnc$y9^7CXc>YTxMoX>E#Hmfw9%y^f2fylc6{HG3bh{FXX;LZ0++%JK1X4SEA`Uib(SQE?hNrLF40Lr%yU(AthB`$bIQC zniBWYVhx4Jnx>WL+`!Ew@yjyauRO7^ZbER8u~%N0vY%2jzu#uF$1d&&7_v!-JTy{b z$8y?{Y>XYvtv7A%WV+nSp$%Y14dCo2jWBtHJ+G1R;rM=89v+@2NF%8Am6)LfGu<_< z6=2!0nuvNL_jDYqB)d5nL2G?jG?}4eqKh85sXUp$s$7Y1#5iicp?RR0pvhlbw;9Q} z&luNYc1blNkn$K7iMO^y5HX^O>Q@6}IS@tSBnEMxZ~KN(N5(aim5b%r=G2CZ;d(}U z;BRQ2i((4z61!synb01E??iaKW3NrCh2jp*DXbW z+v4JesHN+RP+pDSx^ox?(X8Wr)f?P@CZjgtNV~p&g3wUm>G3HialJ7mpBrJ;)TKTg z76Re(_JM=ol09-1J}9}dIikWBVg>+bR~Yb-gmv;@f>maCb%>v(K#m; zPwiTkHDMH$488ExbW$cWMVH-?Y7QGK)H3vBNDCRRXgSkT#Gj^ zT%B3_QA7>fK}ZNv)TAW6$tW*=t1MNV+VSIn;z{>FuHeM^ZHxqEQt*kRnKpr6;6x|; zXY>V?`%^sGwczWmmSqb2UgXwOc8R(6M?B})+?l|&eRk@KR@-)VYwGMQ%dF!&s1}=M zjV`ShHw{gX7O&665NB0|b)3_QKhI!i+K9sX7I)@JO;Mq`@>g>{$R>ev8$jfW;ynUt zAI;U9fQPgD>HX_x>^p1uqr-PXXvQD82-&4LW zR9^u+YO_4JI&IrBWix&RS;{XqmPX_RKZ(Iqo$GjC96R=jinn{1E99{?AEM~W-;OqV z)kimO7P{vH?0oRLI^9{rH}3Wo$S22uBKM8``NN#!XFufX&&Uu^9}a!sr(Fq1A}nJl z_f+&bf@w!tXk&l!CV#%M0mp%L{7Wjdpf5YNp{oaPS;B#_iyf6& zg`Hntf54xuI;oxE&r=+aJ#;gTvsSRY&10I-vTPbM3-Q+t-Pf+zeTa#A_P-~q%QPRb zTXnGM!>u-jn3ds90J92>zMhNk3)LI5_W4jIOciY_&`+7I9JB_V1d`x(Ne5Z>G6$Vu z1e-{zO*hqy3)9!K&^jvmFw&O){J3zCf!!vWcmEovA(pU&mZm()Kv^eE^;u4QR~K1J z3}au6w~U(1G`pwO#|-@3QzJVA?L|w=BB@YxR!F79An5ftc(gBJb7Es4cJL>y%|;KTOLwH_jvP!6 zU%IH2=&$gdns`FMS9!RX8WAd-A1gn67N$YwL%^rG=c7G@G{e}9@J_#ds2nLTcX2gC z!u4Ev%mcpy&kNZV$IRu-Dc58bChT8G&mh}dXUh%JU1EzSJbvvZ)Hr)IiLZ5B9MjbrwGFvyWk4;JlGLW&&vS2g|nch>P$zI#m_!I z&)msFnwT_B@{Cdw>NLY;46pK_2m7s0rxdW7t%7^4rVeCE0>4)EYV(_%>Su9yBj)t< zkl^ks-11T)@KUTXYGfmL6pwHeRoXgu$S<5!7=;us(I#9@_}oXE&g$3!EM zg#561wkG!Yu7Tf|0}|*7K@r4h!D8&DUjvd#OKtTJRgYMb7Pw^5tQWdKiiUIgP+ud` zxO^~_4`WQE-{EATtO1{JdhiJeYd!lf9e~w8Q*T~&Q`I`JJiG5_QIvBCJc(8Nx*#AACg^m< zK)PxWI|>u18`uwP7XRTy$xLoH^avTU!`<-VP_v@oxFOzIiFT9)7oJ^c1iY9E?M}dclwl57G zCBZ<-c$N-KHl6H;RHHgp2wC)Zt})Ew!cg}a-JWG5>NHGGB%|ix`$oSoAm<5m9-|+X zTR+5Pq%^XHat;M?7qd#8&2!3~OB9y4zbr4`XhPiGX+rR6oDl*lt^qGS$`-#Lwz3YL zC|gA5M9A&Y56w~NL>EW5<4$F{>$;xa*SFo|d_zUhK=kt?D&T!i+?4KhXbzh-aQ8Bc`XI+h@*X5sX9}~i48LsQm z$&MbPMbj}tkNvnH517lj@3|gP6d8rLdFx^a1WM`WdsbM0J@cPba#mJ=NX7`jqyNWLazLxU3uFIe>zNt< zu8aK#TmPr8{{gQ5mkJrcwE6EE3>))5Le2kYg)DI*I)f24=t;68AZ2a<(yQ7(43)?v zJ}gnpcV3pj&o6bM;u8#^ zJ0^-??b0yY$0o+hsRN;p!1rOpc$Sk|X72Z0{Bt9Amx`JlGOaH^tD_hXU-nVZXJUr{ zxLqIu?Ud?MR5zT;#ZX!MZ%)l(3yZ~9Z!C!}s}J7{3~gubrS9_YrA>~F>TwRhX+&~l zV3dT)exUnUgrKO}2`CPNJ$`iCK~}1MXk)ngBKr3a0K*!3zhGr>-R%pGMf2+T67R^wE#K7@K7RA)i{pz`b|7)Y|U(T$5>mIQGJxc$d z^1)xzi;Dx0p$<^V*g0AL^3+%X@#Sn>OoS}#|HwXP{^O-_u@VAKdVre-@Y4X(^RMzB zcY*6~Mgzcg`(wm$04z8_y8oX&H~>}|D`1a5eY3LtO`;+EQzGPK;{01bfRk0|*Gyd2<|6y(XbshO{)&}dplI&RjSCSnw7c1am^j|Hz4S==rZK3gc z^Og6=o17(KiImHXIpK&@Hhv^Q;xHCN*e&qd97GgZl5i)9h=_MUG}NzW7Mk)~;X+fg zv~M$BfwW@a@>P?7l}z=#>U&w!gET=?KVXT=7Zr!wN^esT$otK+rz4KOO|y%}C7+7M zCEb_=0~rN92R%LIrId?mPfY9@QbW$fFS>I?s zU~BLO$ra?eKzMQrY~C`P|H%jGxeFY!BO_o6^uTVQ9*rRyFk{@LZWGTpx#KkO$J1z6 zR+=*&NVt43F*eQpv=it+!P=>yCvmUqdhV+d*L}%!Q>)%e3v7H0i}`$QrMSFqZA2jA z^y&19Te&ugcPw7%9)|D*yXpgVW7-Vn*yUdjQt80v5b4Cw+&F%H$y3OEs{N5rgJyI- z;6nRz${t*P0Dhd9q@fyQB30g9xO(XN+dY!I+R-^-14Eu(E{!>=#d0`c**7{bgGZs$p=DNX5cDVw12(_UpJC$yb1Z3#U5wxIfqS{degm=Sc z6$nsnIAMKOX-7AhhqW-T(|7g^zI~$PACWnN-DbBVSPgg+V%0l_70e1ut&y_y3B`y? zG^1nEGT{MYL16w=&+Z@VndcSbusIwX`NI~aRG0e&{ef;Nb4X?>)~XRJ#;l1Ck5_EZ3IYt=fsD7A`6)8S@5dsN&iXKx-?H9dp>R$~zbE z2H$v{R?R`CzaUNrE9|vNSAZ5&xtv=35S8)KC7mQ7!fI@&h$w;30={1SB|E*>GQ+~l zbh|yF0~stQ98DQW;^izly`<7cY^n7H@02<8r$z7CNUo&t*^Nl;0?aU! zrWYN%roomd?Wn7`*sIl|+3L$qj@2QH6B83*H9NVQ46=|33svPHs>q21^1++K?gPqmsZ-A7NrgiZOjhKHzTEZx^oYrZ2{wnwJCaiUsL~1#yX=nI zS)@|LrVj>oacLRV!Sj3~ zVIp{h93%;3fcfMc0I_bJFM}3DqI0;TBF@JbnQ{!5hV@1ONAs5w`|l?AVGZ?*o6LXp z(cxWSn%>J@b+=a+EB}dvrM`@6Lt~!wid6vqW{+RlU}ju5)EM{(EBmNTuz4D!;#2af zuO>R)@i9d{z+=f%EN=hiJF|gw5yM%QfyrSJE!;n$ID8zE!Os`J4Z*o4@FnEBjDz@@ zM0+mO)1#hvr3YksPHVqXucbn&6tArc?5k{~av8+W)6J&I++`JzLW$66JSa#IaB%#| zdR_x0I)9lf?b-5PkeCglDL-h?1p#o*dn|8aAbnQLbhnT(<0m2%H{}@YBW~MR-k~(N zHC-qEzRnci9tv+}>Zqu^X>;?28X%eBe8P6!J!x&F%rrJI&pG#=aGlBDfvmW+)CbIs z7>&(4uf$aYC!8o#^Ol{uIeD}+^t!1#BOuC~+FzGtp&Pp`8FmoeLcVC1Mn!%Ob{oB) zdarPuP_=46ELJV&BplpLmmH(IeR8@Wgi9QhVYK5`ojle=48)6hEfZ z%aO)gOgqpEy%=|tfVo70(%RxNUC)#Rn?SVmD>GYuxd;E$m#@Fa>zw(kkZ*F@iB^(ELq9_=M){;88_0BGmKV+=rAJna=p?2HKmYF7(Ss-u zI#~=hYY&az&>4%p@vv;p2$Tm8u6eu&N_c~QK2xZP-k??Ms`U66Ny&2FXvGk5gbTxvAu2*{MZAf*aHn0hPqsk2JtKtnf=>% zWHZNl<@DCW#0TvZ8}HG@$m~q}F0fCzK_RNa8VdwZ;w(~$?7)~)agGtI#1Hb1`16IyO^hqsO73V z=P|yir)>1GPVy(IX&T7ODq2amJ1VD`Cg0EV-W(Q1yJWsc?MY*1I~7prK`Wl0r$AkGOl8`xD6d`%v|y#hcPT=W{AK+U%9{cD(AHt9_=qqAk(ef7;&i zNtUl8Jv%{B;L8MNUKMpKiWvD4k(?*}8;&?vRTK--9)@!k+0Rk@UY+TB$|=fmpQYCb zj4~T29d$cKvsZYb&l~Rsx%xU*2MNbi;iu5$mtJJ@mY!)#NSxGU!Lg(pnt6HIGCM3; zsofI9s8zzQ5S{lgP0Bcl;7|QvSP(JnC0&pZOO#>byXlh){;4KOuq|&(;H-c!Gp#UJGxKD0d-kh3LS~ zd+$&Xdg~n70=|mF=s**DC*zp{aR`IW72|8_4STD4>lkXD*09<)sBphCv74z68sLbxEAOKgPaJ;bEei?#{yu4zG$I30jErgHe+PAX z*aAj93eHEe{=+$CcgV#ui-zfXr;wvAbQLoN#hN8sDSJV~)BY^n)1jVaIEA&l>9V0I z1QuRby}|8a3BES?Hu#IwblVxU+l6u~E*D_3R7G0s|!M=*huKN;Y)9G$!UT)A5;nOaJ=3wq=mwLY#Z__g~`oci31+5)O=e2HP#N zfeLdTOVQn}s%vu0H+LWPX5YIWv0a~6#gPR*FsAc#^ba=Y-lc=mZS`ZWBjdP!h|MJo z`UI0G5QDQs4$x{r)0UB08)%i}+G5ef4-Wlui^1@}S-diumKQs1gh+d;!Xv;j;vO2T z8SV%ayO^`em6A)%wGyUIuR3HOqWkU|>zrI^91;{GK+6mj0=8yLvIMKd-wtHA1|swWf2l#A0?BPrW-3N5G-i+Ax9Kes2Ek^&ijU<3Ny;5QVho?J@}X*r z*=C8)#s&d){8&@$yTLOp) zlSM?E2IH^PgNwx$g{UenB~m%rFd25&GEeP!{m|d z=&pHV@xri-9*>*@l`nSdrw7HgyP- ze7t$_NsIh7$L5_1&`o?j-GRK|0S4A=U+AZuND}qSQH>&Rm!JA3x~k808&N}D_nme- zdYzR~leE2fG)t+K-wVlt>T%_(JqHhlbO(fk^gLgx*kv+p#1|VB>vW{3e8aNO`}I;U z)|=ySCcfT9W@eDED=&-6#*1-UFt4s(1}4aMs1%-vm(ig`pj%8+x&+7tqrmt2pW2dy z0y50+Ns4*RL`ASYT0G3RYZV50OoU8d=lNVeZ)a!nTTmG0eFUu+HQ1=e_GTm5UrY56 z$1uN~U<@^6Tgd6!$>$+0zJFVr#06tRRSZ7erAO-5>xEr!iU5Qx|N4mysj{X|h}ka0 z*_Ic=#l0zyza+oCuC zhz8pxykn+cYm@JA)@SS?2M_rsTI70&IkeIYZ>AgkfgEgEAGk~!6AP8{4aRSbZ z%T19pS;PcKtlz&*`g2qFC4DJpFNH1NM!p-!{GeSR6?#iA<)kSFdqMLK?Byv|^mYN7 zNTh-Rfw^w*DXxFiB{c+m=P0@4E+xWmRP%EV)JOL#@y0K_bXu2>VqHE$ie5Eq0vmTS z00v38nCj7BRk=<&uGP?x-J#fPC~^D&gc%7J1p7OgvKHPnfKlfnE2AiP%93Z0fW!KKt8PwXt=D5_FQ$EXVB&#m@*~+lcDd(K4;E{XW-eVQav4AzA2>X{l610b3J)vJ^Kh zWN?3<_@Mq4AKFANJ+^Hi-XtthjBG$HY3>$K&$2oz=G~d@t%qg>O)Y^QLaXifmGz#s zv}I3E>)U?ANs zwZ3E8?SbK=_+tYb0P&eI13OOnyAY$017(BpV(I6w{iu1T^NDTW(*2ri1_Jf%^dU;F zOzKzQ`3@Mx6wGV!@29JeCDU|N>&uZI?lr}mJQwpfzsD~hSaIKJ@^wfM1HEH3gxw{< zOUq-iQm0ESVGzZ%rPIZd$NiHAcEXP4Wr379LoBG(4AW!E(<}|TarPk*4Sc=VB|kTKi?xHV-BMIshFCKd@ft{pPiHw1c1w_TM5c)VWV z?4dj)q~zuks2Qx(0Zh3_Lo84k8j=DmaTJ)9NHTr@FQSG}IC7CC&jG2Z%%Osz(m~*x z9}}+<;sxfi&^3?-rJ^*pfu;(Q3UYF+7I{)&hu>@lLUPP6euLT2e>^UH^%5>0g3}B{ zjVHd~;x&7Nqo#UsF=J_mFv$fiYxaY}Dk4K`Qz=T$qM2kHmn-|eG&XkdaLX6YrpzQ` zGPx7BRGM3>G}8h^G^0!(TSH2Q%OXQW@c30O8TjO`5MSg5`BtjShhPt8Utdq&3SNG5 ztUFdN3JR{Rlz^b{v=RqZK(6|oPTS+~sNxaM2wAS0VgmB{cvxaAUCnu;^DV%ClYkDs zt?1cNb>i*RXp2+3ekMg1mq6QrzS8#be2d>}SNgr8EYJEvNn1$R>vRQW>#geC;jpzq zW(7F**JzmQN*19%NP|RDI7mH;8Q9A;{2aV%j#?~L20l&650C{`9^?Lz6~rnw!4`3> zkkkv~GE&(#7NHv9^WBln4C}2kDfD|8oB6(`JbNTKeWxK8qX<6fK^bri#ajoA1u((D;*Hj4a7eh^_B z%;tPSp`zOf837J34mb{dtqD*|ZgH%dOz8EGP-ruwT3ec#8Ol2L~pq zs4b?7@P8i6uU;yH;rMi&wqi6&1aiJ+p1u{zjyBR1)YL8=-Tg*+z$mN7QER5ZdYdS` zfmLcLfw->wFqO746#%+q?#XBPI(9TPHI+kP9cBmRGEfb3iSC;I+QAb*p29HWJ5FM< z3QZuzid{MM8#Ms97Xd@E+jvy>31;A>{q!b}SYJLSil`vd$q1{h`+D%6+9SYJKU|1o z(;#W%1>S0?15&~1pBx_yL;w(cPy0DP!v zcJj6B<1lix4wXV)`Y`~-y4o@6+b(LR&vnvE+w;eGo)wDQy5Z~Mjvah~a=8)E>l^!T zOr#2V8zup{ik-6_ewgpV`O_3NAPk|NezMzFd+N5>*^`TVt=1@OBf&SOs>VGRH3fm? z2arREq!Mxu?Uo?kNcA9j?LM|(h9)Ei8u>)V{WB=t%$h_xGZz*z=SkxaPjakItkZo< zTb!MIAIa>DA2M$u+CgK#ik)I&VyVWPf2y9iS7y1T=z+#@zLyJCY9wSo`+@_=`Yj2O|!95h&q3T6?;T84{DREQ}!&Oy@@7nxCm`wZx&y|!wQ zzi4@6t3)9fvbw>3D;Z2oQAG#4>b83HE)>hf5)*qp9AA<6sNkz=+_u|sA@oqv;;Nd@ zTcu$IQqaSlB20keH#-d5tSgnuWQ4cH49iEHCl;{0S!i^ry%O{(zY}2 zp@GY|78eoNv{^RuNawX^lgwu76y|3qL+agrXIv#8B}O{Zb`326BKEOQ8Ncq&D8tbo zG-rmkpAOuKWT!VTW2a+&NLMFmjI!7kjO;fK+?NI!QNk$cMkOL<8O~xE(iQX105Us{ z0fQt8y(hYTiXicU?;zxv{b6(kOT-!~ZZZGNW=Xdiqc+nX264mD0QdXdW|e5u-G=N# z5j5jR6lAShs~!ms^;eV26CeD$jpKvmYFt z*9>7EB!0`~OS9MCE+|~#4$&~`Tkyvj#yI)w+T*c{e9=P(RL);Lv{eeZTSK5jr8S{M zLj4GkvHT4TiGG501X1a0>Jxuq4F{L1MP$Sb4f3O_O=Nj7*&@&rb&1-lzA$({x45WY zy&8frK>HzYaiLANjP^3fQ}ALX8C5B6(ZI&dZG91qXXqPFw1d=c+*F9SwU$u>e7Bv%b%*1?+`wy_S6%k?wbkWeP2ynwCP!l+;e`M__pRggB1CPq z$TxC*W-IG$ELbdO^LJL*B5lWH@kvuazapbJt3?#YJ0{rH?OvjFTvtvP2HSVDX{st< zwzxaQjcg%|7V?I~XNc|Se3Nk;bCm6z?H`nKZg>ZGD#svt;m9lPGxQ&8#~}AvhO4nT zufVIryg_f)EH9{|3cm&N@YZR}EBT*z7!N5Jub78}bHwD%#Tt;W6~fo@tn7US!9S3v zH{mWI*&PN1Ju^3jhhch;u`GV_e0Id<>7zX^9K zEK_L?1np7HE=(3lreUHo&VLS_F%jG@CvLgl4{^iV zHm@GNUNTYf*0I&M&kZulS09$iV+^>}Z=xJ0W?97w;PQJK(8u5IV^S9czISdz9{U9d zS)>B5r-bV)?8DuTI{xg}M<+894{`r>$H@k$$MtD7JYhSUks03sSDE; z7Q8DJ7mpp7KROL9KqGNd^vSg7jJe&Av0~tS!GLC)?64MdoH*z?8(!vxS0JLtDcjX) zS?HiowqHLMK{BRSzKviJFTg;++DU-^7te|YQ>qxhODp`)+5J0H>a4`G-0Vp=MgY~j z7@o`Ao#9qQkG<}B34HPFyS*@M@Vh-aUNRNmQB;rM)WKOzOg07w4S1jX_XsCWz2d9r zo@=jb$u>$1}vfWNj#e|pHlUyl#$ozxU&K^Rmm7{_+p#ion@HZ zrFmtOnDCo>`WIZyor3=Ot6#g$9RHR8R~1K5+Qz5T;gs@vRo~Zh9Uwcu)}{40KrlTV zBSw-qfhJnQX7rl)df1^U)n?b$)I%M!)`+}O`HE6grpgMIHJ{e^vrwK{+K*z6cX5Rc zJoiY$GpgbiMEmB)t>emj=Ba|}6CAI}Q>&kDW`W32Xez8kbjWuG|R-Y!?-PZ24-jWQl?1uoW#_a70+P?DedvHqeJ1jE@I4zUp z_odP|?AAz8H)f?wK}@pvV=!`4WRWx(L}m|+7Qg2pp9myt5gT%Jpzpx@PPl>(g7h}D&h~hWA5z7{$gMKls3@c{^^!y*V@_90#X zWLS@=yFj9MK>fih#KrAqPw6e8?40*$m~xylLAK!nMQwwyMsAfp{|~IEdy3Jghp9M- zZFh!>79432Un}31oH%QIuFWJGm<|bf>G33uK@y%_hl36;t*Wi`ETggUx))~a6W#LN z+QJc4SLre`CaRU)aD|$Fu1xd{V~z|uRhIXyFCB#GSjj9Tvg7eKzr?@!_)$=^{6fTm z&IKzWsAUh;6Ooj=2p$x>w=)L`yR^u&&Y&KZ4Wi6<_-YHeE2+&_rl*beUEhtqEd0y+ zLm#naBJnS+g7tl~WXD>b``E_WyZc~Q^CdJI<>x14W2x}z7<>zh6 z#!~K~sjp>0r_Wbq(#%y{s=Qxn${9%B1ncdE&CN@n3jD=zP7jZRWph{c_su;vaZjCW z#h?DvOUK!H-#&3T`;FND51(OV8{4o--|pBOz%n^yl0@A+p$Ehig0 z09*M_6y5(iqgL|2P;`Igvi}b#9Uv$gfYNagGI9Lj>HeRhbbnzj{~dPuS2?w;jDN?H z{(t1uCj6%~_6y=(7dKMm@Okp6L@@&D3kby20?8;Lc#Zuln5X!%Q*fvAwAv{~(X$QH zqjX&{yRJ&;lZD*xjVX?vH%TR(xHuT#gJo@{FF3m@S)=r@c|_eU*`8b%0Cm_MA6#1O zO5|7TlbSPNMOe?)q22Q80glU(Oa3LWlyI3P?=dOuYA4JJ)w1M1^}E({-O+>+$dh^< zK2g?pXLiyLsOJ`!JX#FcE7iuv%=S8Dy|(;7p{fVzgS884*#3o2*CQFz3xox=lOb~! zQLC)zo7Sd4ieH(rK!$z`eqRt7fT;Rl2|i^#b>;C(*{omqk zEPqEn|0~|c&dCl)Ne94P?0>@5nE=`79Dp(a1>^eLX$Qc_0E-o{0s@`?Y-I=Fr(A$C z2O!p&0|3UcvHlYf14O6)X~D`2*uumJK*`tuTLDNK;KBK4ZUbm9LO`%P09*r%_9q&i zla(DX5&$3jgQWpt;sN!4Z^gt2;L-jJ%K?b;;U@hztUwF zS}<Jyh8Y;!Jcm4JAndNSb*S+*k4lw0}V8-+AXz#*-wR1g(xoyL90y5IG z3w=V|xDto-*!T-We#~2lql%I+!%q?6hL}Cf0U0k?NlQ^ZkTi=1DQ@q&o>W6-t%_21 zPfZVTQ&sk7-!;2qh6)!BM*ELY|SkeVF~OBzjZjl}5wHGRfhW=uY8o(*q^0G&+tklzsYV z)m9j_hEeC+N@JF$gIS(i2Y3Gt1zkZ?7-Og4-_W=P3G(>?lEw2LzuGgosd3# zrFnFT?+kr~xrKuoqfA;Kf|u@F7P^Ig&h+xz3mnf!Zfa%B#Opt^s>>c1nevh+b5S&! zYuo2OAw9`$mO3j)a6(MFu2Z7$aHKy^DnHm7aowTyfDo}IZ=l@a;LbTu8qE!+RjVd*;?WRpN&wj9)Tu$SW~{Q{Ve!HP z9U2aLyKCpIhE2CGY*jl!X3l8!sw=Y895_cbYYI74nRI6LR_yhe6Wj8uwCxbyAI;l*6Ab4g;(v%lt+0UpxU`#jKReD^~Vui zFa{-&YY~IKd9176W}b*mIBG;VPnnp9qF2BNNTtNlSrJVbNY-aGTBL0=KRqVmA9GC` zNij6559Hh;6|@|E(LEr;#~WceLOW799BBwoj;6<9GsbKzAcs8t>5`!>NJlT$w8pBR z#o~II8Q>e*Ag=jID5v8_@tNA~d#Y-Ij3+X8rZ071lA_zwt`KAeK$`gVMseS6cM%Y3 z0(hR-7({Z$`QIgyV``ISXGiQ6%1o1zDwxk}U5t;((@cMnzCL4xHZ+@kVIts~G2+*~ z9Z#JPOH)y+ zL&=M3r}_@RL$}zd6t23Kn8K(ksPUXBUfTB7xUhy4rJ`=SQmQFXi=S9CZr}-HeKkpGCL_jY$us!5^GW*hAm~c{iI{R;nMZ= zE4hmP5!3gXb?0(yFq2#hep4(Z)63T{Tt(_uUkJ6_e|7`l#JtX_qo&@xPQ zC~|P5$T;J9?}qRFcTD1Ao|;T06KJHl;HX01Vp`*2fs2i2ytddyz%6U*eBlqVP?LP| zn81PR2}}i<=e3Ud^0Ue(wkCm?(w1}96CJ39MD54(IZA61;`5%Yrq~Exi)7R+aT$HJ zTRWx4<0i`oY!WGEt%=SJzCw_NFp|yfi3ZPb*F6pKySM*QrXSrgL|Z~yulkM5UTpupq77y$>vH>BD# zx56P;d?NU--t1qhTc%_u-{Rj!-}HSvKi;1ej;zW{!oT@-`5DgV0c#eh82XXj-l6gQ zXn(qfmuBdypeMY6pGtZVI%k*lsNZyRVM2WcR8JzmEb!%VI`eQliiftD%Oar+sf-W@M19=_{oybjE;(QQn{GL z_l=76bLhjZ^7S*1Z|?ICiMNSoUmHOiEpnG-HS?@y$>2WmsPU+B zx8r7H9hLzXyMZ`sX`4{Bl#7gt!?{Gs{)W)W8=gJghI6dC-jc(4?o)2wXgeXX%yYkb zKV8~cs)8qo+9p|$RG3Uv{eA*E0p^<7=B%T$kWsF;k?r_!ASN~+pYVFMJ2GKb+j@+| zGD39Z=`g1j_fD0pV(mMdoe2K|Wj!&Go_JonLzFV!O3aa*t>`$31UrC#7q>^YM(_HK zhg9?6a*ZO+3eo!1kCjwI>|Sndu`TBG+4WVkxe|^+9T9#ir~74|J<7*M4$U_?r}u1y z8uP9{98IA@uhqeu7vj|9W`At3euwxGq4ct{0Mt6j-zT=Vw{2)TF2N=x{#;y%2utqh zh_DNVZ^M!?yuz)2TmhGZfPrB}HIs)4gGs4<%pXW1ruHWfN?P2&+sJ(6^^$E4Qvh9J3wCUb#^>bLu8SW4P$h7M}h5EE10k>15>er zlY;RCgMMT&-{H2cuAvULAZc;t0YldGabkn=O&WZLObX&sV=ZS>&mzHKt;m~f-^U#j z)lCD|wPJLzwIGOUx1xgsj%z6n8bJd0pJY~wAIf9%+f}99^oq1XzHmdU6gj+?TnJ}; zT7cW4=k}v6FX7g{WJU>MoBO)9Czz+x6g>5fq&zGGMHAyVmLDy}uYRW-Y%L2A(4W0; zVp}9N{VXi%f@6+jcn6aXCh11$j_J%=dP$yHMpceg4wY8A@`N1QkeoP)K;Yh_T!x{T z7~B}tFgh{`1nj)K$4>NW+&X9ROIV9o9Q(HR*7mlF>@C6Jl+FFLO@&-W3JPkQ+g>v1 zxG))pvZlm`GA7RxV0vup?_*Y)OCQ(t0{vUBY@dDJPc!>L9G{kxSqR=uG1ROkz)36I zn|!9{k)t;lCN0uitIzLx;wdvDEc99KD+4UJRq?Lv{O_w#x|(6Sv%?FdD0_TsUjnh= zS00O9Q%_XO#feMF^G%>H)3{`!ie}XhW3Vsl%RYhN6FH+qesTY$bAoH5H zvoc7x5APP}c#Jx!ry(+ykV(0^=D}0B4_a5Sf=B%>QHbKRnzt&p=0=M@RiH~){BR4! z+YfnG`@QiC0R~Uc&}+0rL?PJYyhbXSy>>vePAVlacLXH9$Gq-Y&{d(igd$ul7XO$^ zXhoK;lD4Y)M7AqW(!pFw9y#@w9KG#iR8<@MT0>wM-y5t`uLqmSG(Ou1UEYKB6lZV5*FZk;~6K&*hNTffgCVrn>{bJnVZ3EIR_eb_*S0r)PN*;NEYp@X>c#; z^+AlC)%I&Bd)ym%G8W#xP;a9$+ftv1@A={yr|a?cOwM;d57MK5G|bE5Fqsv>F%|pI z9e#6)264PXa+>nb7L_wcpECTe*rlQ@OYHIgk@n6(mV9r%Zg*96*|u%l?6Pg!wriJd zciCo_ZQHi(s$1XrO`J35&Y3$CasSGdnXxirN4z^DGvCj89>Bh)!3{oTZyowfPL+uA z^Lt;+ZPfeAbqX6ZPK9pM;SEbxIo|Wb2AgUJJKMcFQfGS0C8+D?C4l#3_M+%l{?K@N zr6o5&+eAW} zhwby}oNV;0z-DMpj@LWHX9wRdO7;>_v{(Nh0-S8G;iNR`gI%hW76fr2W@a?B783ln zw2&Pvu!JyFA{y;rB@LZ`D_{*Kt`HKX_pxa01b}m(Pmu<-!A-7m1X#r!;(!oA+;}{p zb+QqSbbwR(PYef6M^XxL#bIPll%mmu73K-PnH4+T_+OSoN-3~s+9}zaqF04a(`z!` z-DAr=cy0S*d3|!XCZ90F&sE06GBIHl3svGX3LIg?nnsS0i)Fl`eYws4^2R2lbpTWaSmz`oL$qp7x$g2ZFk=krm zvJuZbUZ5MInrI*9n-6b&womu%IGes7Nrr>7%JVU{Tjhh%JGMFsJ+inT@i`SO!rqEx z@hE5dH&x2p;xpK!ng=Y1`OnjgWco1Gi)n-!+CgYSoH&VrWg(0ZJKO5N9*L%ysR> zIhUDG@Pg0<9oq+}6`SyI3*`j%d@vjc!xhglYfKeiv$pUF>~oCJ)oazCnii2cq81hPU}UL+@t848=?O5GeN2!1NTVM) z9icytR0p=G-6i4?o7ZUQLY6eb@#5_93#ZWkI!9&1+9X<;#d^+e^xN-aGcuf| zuJd1rTRC^Hi(}dAfV!%VC2`XoS&cpVc}wDB$uGOv^QN8NXjE(hGSlZ#m*y>TT7YK% zfxfGBMGic)lsBorZ&L?nnM~*bwLz04P8aaAy+#F>Xp7J`j!z#FYa+R}FCB_`$ufJ! ztIT?Ov&vi5lQNnYfUMWw?-RwerX`dbk&B-fc`5QG0qqwmky{Z3%SnJCrb1*%~2c}`+L4{7o7~*&g+~#XPOZ))?NdG z3|X5zW0G?(Tv3lb=7(PRp!t2^3ViVloQY zCkxUNOS@6*kMgSPHy)|p1P@11j^^>+_rlUS0OTEhaCm?Ha5re2ZT_q#d6jwHRyO+!MPAH{eJ=6|zE$VJYlH88T6RQs9Ku$_j%+Z_pnY|| z9Q?zFRScmDcKf5tb}JJ77oY1<|LT`H9R$vCr*Co=Su>{xu2p&GWG4pa`!U3-qi{kVuXqy17YayRc&o{HTv5nS7K-d|k?1t^Wr z%Crm#*D=G$(x;seBM^}vnEm1i&qV0DIt!A5hF!A#zu`6GTs4$4Kg_(!ej%_NTG+AX zO_DmjTf+pOc7|em6YSB|3Oid+x&?ThZ^<%*D30Qb~q@nwD(v5EA27~lAMQz7F<6T&)=I38A)U$T|Y zIE^{XDI~DRJe>}S#jMm%D%Q=HwGNIJe4yoKfK#0>yEU)`9jvWk%e|De0$3<-@S@lo zVxP2hB5^WJo`{tGWD&c+>g#TwzY6Y}1gB}?MdU-+VOk`el(pei zpSmB?94CsR%z3&xFO9_>!ysS@2ePO8TE{`NJS=xRo0r;F&8ao@JiEGq>KebQ|MOB& z?5mIMOPu{-K*Z3{TiyB7laKz@AQ?=Vh9Rdh54n0YrDn7^55;qlv76|jMMiBN9uEp; zxKM{B+<+l-+P*2K_iMVyzje}8w7`AA`}GBUa^A6t&j(Ud-)kyEsdKO^VL|8ydSBI^ zC5M2G0r4_ow7-?(jbb-#OgI@e>Nf&8YHb@^t}!!WH$7ff~Y|cf|Z=(kCfjue>O7 z6gdKufx)wE4O<9GH6nz&_os>Nu?LBqD{JoOL*5d67|0L`T61F~$^tQIxCQV8-&j)^ zlJ96s7}8gHEa`6XES`l8GyrR6t);UE?>4{lHMW^#_X&m4nV?ITev#Ep=;2e41W~S? z<}N9h4_P#XU%G#7d3ISL#=`=kMGeFJdgxL7W-*UPK#LYt7*oze(Xg`Xmp2FVl|e0G z^^f2eWLtLZ66^as-T|}{YwO2m;dTW7;;PyaJe3g0Fv>s&H1^XN9@*tz*~$JDSvi8Xl5K&otn^DQr?rKsC-R&wl|h^|>>C6xrz?@Q1I zSf?67G$qs3jITfv>~bYRnwEzzmP7``hkHdu{2BBmtkb)e$Sy%cVK7-?37hHNQ9cVH zYSg9huRwoD;CrILheQWDLEa4US&M_P+Rap=_%7K%W|#BarfQg{1L6=A(t!!SWHGCR z55Yd1b(EA6{hSZI>Rmghr?L4yk4uWcL+}vE7tiiW7l+mXqk)_7gqGH~Axg@;zAd$# zBEJ;2nE96BQKbkaIvUA|so4=jdrd9FMY8A)nQiA}p+fJ7?d~Oo+-Rilk_MRsaV8*M z2KcrVmLLhKwJ07*?Sv8TV3}ZuZF)*{1V%}svSPjN`J=cVB$slRIn%(0w?3&=nuHiJMB#vJJv%S*u;+y zvDWdTmenRR%MIteBIc@b#;43}J+*=z>1WMgubEH~V_aYrvYuODmA1Z^7gdle)4qVf zG%J(PTv!xV945?UE9DUYW>ElcMH`AdO^rJzWMr8(a)5~r!^qwJG8<-2I~{??Mq=`- z1RLrHm&+PWD`?U%kkjn>bK=nws+}sqQl>3sZS0Ivf+~IruB^Gs(E%=_`y*56Dkiuh zr7tEJ{@}WAgyI|^V&?$qg%^Cq?lrap0{B|~xn=hZ1*qnDZv&2YWM9lT9b&&f{xd}M z^+Lt-=1AdH2=I;QodKI&mWS09-I0}l2IA7SWAELG!T#*tafHpWe@^TplV^Xo2jw~s zjA7cImH^}058U$IH|dJ$6|;H1#$kJ-hs0~QHN-3Ec>|j`_r}6z?(=_&U-|iKQ!>QW zexOa>4eX$6FXW?(q2~J&($*SllP!3A$I|F#Q;!Z+d+?m?L2m}@^4%b86QB>PTD6wV zr5o$w_AGm@%dvi`eA_wZor|q~a7P)>Y0K7R16yarKZWD`u;#4L-bxi&$AdDXgBe!G ziy)#y4U+D>p$4r^?+6xY&D(^AU&5qB;6zfgMpTT{V*sDxCs66ZA`UrqvY*gW$oP7Em zp|z+pH7o$ul7J;~Mx!V}Jj@Px5NZz$c7VSiDtS;cIkVUw3dkkL)S*9dLPC}PEQx|V zfWHdYZ};O46vl41qVbZDtbZC3cCxS zHmnqoX@%3!{`N4<^mAjA>csYvrf&xzr_yf@lNR*25oKNl+GCGe(zCl%&e2eB{S-pBM9#?&cAS^IBFytgH z1b7bkZrB028w}Aw9J@XxP96%LX!>H__053u{A&>KZVUX3_r4$h1#d~un+Ec~Lk{2F%>U4S{NHqw|Jpt;_^*(||6!m1Z&D5n-+k17S?8I*?b_c$-v0qH zh~t0eoM-=UfI_{TXPboC7kia86~(O%%;Quk%22z$1Xb?qU!61q+p}|q zT*jcyy5S*6yPS6tdoS&*?L?#g^uQ%MrkaDL9`lN+-8MvsOvqR{%mpxU@9bvGZF4&6 zXH@4E6~0amc$uGD&H+PBcUIo#9T&N`p@046HHDIz4alu873ed= z`c=h%cHI$qmuYOA_J)i8;j3D-&)Iz1W?!yBZ81rdR*jDkk4PZ=nx{-; zChQx|RayQ+iVcAxTNigw&bpPQ|3wwE{Qo2I{C^bge;HU{{D1R!{!J?XErb6@8~-nn z{5QJhAHdCbdf*@B`@hEr{_)KJW0L=ucb?(jZSwyj`1}Wk&bK|D={w5sedOPS@c($@ znOVNg^4|{W|6r*9uGW8?^Z#7$pR@mWqRqekk-rQ5|I8fxTcQ8w^8ddPZN3RT|0}fc z-)0UNnONxA|5N6m9qOBC(?Qp{sPo2Ck9RjIrIWx0K@b-96X>_-CO-KuVO&D@@t}4x zSwTdEdEgSiP(s2&L7GBTU4KfET0hK-S_>YP3P66Pa;=4|6i;#KQi##rS0xXVcuiCB zk{vxNCtv{|7gf<(ZyNvmOs1)41ra(*4E(> z?p2BZOw=+&I8}pBd(wk@cl|>RcHNa0^656qabyJoV~Ym3HNhO@rzQBMEdq? zzXf{_?9p$#cW~@tRkjA}XG5(wVfLauvUvd2Sn*?FN7!_t?9M9>%mG%q&j3r0n&Qdx z=iqG!d@ZdeeCJfcNj}p=vT$`{t1K7 zKTI3(CN&i0Icpcd+`(hNyY~%5nE1$N;(Wt>oJcD`Qu#6EJvFDq+WMIp-MwbOroT04Wakeaz~tWAjQ%_8YN$(|N-|??sPUzBZXv3& zoo&V%+OepkiAPnkXNGI9RAcv%BmL{nuzO}yN-U#7u<8#0G_S;A&k9XRGEE@O*t$vD zyNH`!s!b~2D4j=EYut!Q{k425VDg4D(id6#*S*Tm!aF@v@{fHcr%=Bv0=g$|4SeeD z%2YJgJY&1Y4CI{;FG5NotPw`^9S!zoB<+YTfAv_TKkAtmAXBwLJ>*N(PxKgffjs_K z71v*Pqlpl$x?J~X0bO7;m-3t+WOUjZ?Ez6oDvx#$Jj6oh`b@LD&zfj_sj;3DyC|R8 zswPw6(VT5osF|97fzt26W%^!L>Ph9aCjw%8E@XjK z0G4)&oSwtx@z&bb#rY<3%-xAJA!~|;(-@;VI=S&BaK39^zV?Wj)>ijPSc!&qAvK`I z*g)>Pvr49m;1gHaq3EPUZPz$O0CQBH)Wyi6U0D3pY&xNqh(WTJk_h0PR(1Pxjr}n_ z;j7xc|M8LCOIO?j*wlrOeGiik%RrhUu5*)?w~wQ#WFJTZZ4mB^(4rVftRqytJDD3_ zp9?C^DF)S^Yyt*KaiIySE=MhS;q$0e3uyt0?2t&XP5jqOmgbe2<%auh zjs0_(kn_-I;TN~b<=U)UMrYIc$wAi(i0)g@Yt^;2>)ug_ukzYoy-7!akDGzdQL^3u z*UHKj5Wf~C$opo$2?0tLbmA}~5w4Pw2>UP;rI$3?FFE2dhIgmP8N#3HBGKElY1sT_ zgkeBa1|S~B%pdEPtZ>F2W*Rxg(<%x-l1Y!(kFo^?(D-7`@6C))?d1pEr1fy=T7s#2 z=%`UBgC7F$!}E~gK+of~96(3)9b2#|#3tp*@`1c@)62(|ZTYF@ol7*dr>c%PpJ8@E z%>&y7#MJ^93-lDv6!xL^1oG>Vd|i-ZhW6lgwQ)qr++mTkd)hTs*_f${P7ZR-$(9cr z{fR}LoC$6OY*JWk&|a&&0gcoGiCVnKG2R-{<`GA)lN~O&VvtD}+~vu0A+tJiSv-TRx@7)^Gl7|cRm=xiMS+N0`Tx+fn~d50eO^8*?k zuuGejWtG9~ZrnWpk$H@$Wl$7Lap=kB?&=QbaljJItj1g8r$y1kux^C#fA$YH8mGzGf2vU>>(ut0pwz z799LncMcw+x}G1d$NWH#2ehYf*}NL%X@4`>#rdTJrv+fG9MB?=)U>rv{B0bgz?CEU zCCeW!GAxLMqfs@c5(`e*A_rb~RfwzzPkv6v{ObErx2X$WB4_8NiilgtGgH8W&;)+L zMD;ei<3BWMaQ! zSz^8FthYH1Th*v5uo=5SvfoVYSPJOS><$?O!!}Dv+7g-Ij(*mvC#H9($?Wv+3=IbU z%X{z?(gCfLAkWSK#HKfwoyyRb8Ctq|*A49X$X#>QDI2wAcx9TSUwt!@$*0wFy<&<+ z`~C-!dbvAzkPfCV*GG>swg#kt{11Qkq-)p&^{Ig!?I_}JT2=hOK`1~;*&8I_m7hPE z0VrPj=SYnRNFoA~FeLAL|F!8*^iKM!Mj3xuCGs^}@z0UW7PgvIhv^-sVK9;v2;Dgv zMy(X`5dSq}Sjap-I6~_10K>m?`pOl5qiSVUk~ zIL^zM#eaXCNtI-GHty>dK4=jx_q_PWKt##D^?~XjXY9B zBOYNhV@;u&N;>XyB)=@Wk8*owTW5P`8%E!8nK9^$QHj`?pXZey3BcQ9SwV=J)3o_{sgM_1JOnJIupnfWECg1J@A3N$0d1k9#rZ!fJ6EYFra}NBn(yh;&yLf3EbQkJ4ncC8qmT+svn1h}bjb?gzCV z3WCl^qe;(bBT5UAiCYz&Md*yj#NIdyMxUr!R9Fc`EE%~Bo@Cy!+qN$*&PDbYDEr?} z1Uu@pf^Bf(FDq!)OWucXVdYQ7NW@2?Z92m z&vtl*+AT?LdVzF&;)7SD25P0u6C~1BM^ZTxP(lPGd|BO`FrKbpKZxZU{uU!qDa6sa zJJy4TeSu7Xbx}ioctpJ4XPBz~X=3Uw)de!5KNWT#WsBN4DvY;^ql-wI_t_u-FZDV9 za6WGCuxPKIXI9M%98Ui;3Njv;-P6kHIzh zzU$iMe$}Ts2~@o8yOQ9iE5o1K>K}F zrQnp*Fc`RqL;E;CGfm4MY#9V$G+msCcl6SMF_A*9 z+o8#gHrLCRDJM0Up2k5sP_QUfzi;z|&tnqY*4xCDkA29l9#ucokO0%lvDdZ*yxey# zqnv~yP5fTAS&b%wTE!RgY;a2q(4wt=dDRB{(v4=6bnr~Gm?%8M)RV-nja0AYIGYB6 z`Mnlpun~>$eytQP+AYkVm#HR7Kj)Q$`PUs1|0G{_z509%|VJ{cXo%ltiIl1y9n zZ_Yh8##6yl|sR+nC63ikRj&%j6;8L*TtfR+0(zItTQSKZ#1I1jV+)yp&W0pbg? zH}jhef%!ma;3uBPbbSOloZ40MMZ8OFottyO0w9x@mkhUr?`gHwteZ*L@HJp>2PFJ4 zu0&gGKGTZmP*_NhmEo+Jhk5hH8}s!@F3a-h;_1p$&vs~oSIgs`J&5}lv6HZ?``KXV zP}b+`P1bf3eE8e&!0JtIg(|zM(5g`^69cko(>?$rsNF7lxoQJTO??>yyPW}~kD*C>D>J7wS zG#i|d8X0o2mg5e#4!^vk9@FKgXSE_j`mIu8vs0s(4>JTTyMy%i&T3wdVi*7Q89Ou<8#;Q*2sWrW&V;om3=-064${ginr~@sq$V@fsDpw?29GdvJNVuFC z`;`=_6)O}I5gUokC2o+$pM#QqfRVQY9sQCQ(o+ zS{8b=ZYtPTDxSuleLPS+l(Lv_I5ZcotyVgfZH#PuUM617Pd11H2A?8L$$?h6Q;76l z4@j{D_*qFn!F^mGs%E=C*zds&9&Mx??ifEG z!@1a$+h#C7oTB-7y{aM&V$pFo+$~=ItujxjdR^(cyF$tPEdrq0-2}DNK^(T{XwbCI zNYbPUXh;icg~WETYFZC)DlZDhyqaI9mS`ShB_*L%nfQZMxqtuQ|Av0LK*vwHp?R(3 z|HPSY)sM*bS4?31-GLFc!lfOD_WFB1&d|DlRT40Yc zm@J~y6soTOp86#Y?@026v5hpu4i%}Fx}kc7>=*fAIFs2XGy;`nd+^y+Z>-zLT14{` zj7ysQ9Ba*;Hb03-5c6=qpbD>1^`A8KW2s%1F*8z89xDOSKO04TkcL)&aTw{bev!V8 zSozv*b%LFIlI_JTKNkP2z|tM>iMUai-Z#h}avOJBKQ8Tmvm=7t^A>HaU29n?0d>d$ zlkz}$0RA=U2NJ4ea)3~GN{SA9uMH|RMMs_HbkUd~ftnu6bh0X18b)8lTJd|}1>6RMz^hHl3!)B2-au-@57LOx}2 z3Cw6U>wR!IUMNxek>}u>&3e(H@7HNWFD#!~H7l#K0jL|{nPzkdl%z`wF>2W0j=<6C4-aF0{i3{jrDF{ z^#~+@34J5;C)d;uv}w?8`-y_AkhV??axvpL+4}9XzE^tgiol&{ zQ&+u{ffE>4UAIGYUGIA_pWkj~-@7b5cO)4v$gNO37%gk=+jV<2WIh%d%osec;m90# z>Pc$k7*C)xy(Dw6EZSlZIeG1C7Hvg=M^vhODYQ~646j%;Hz#^rh-(%cqLj6R2Zo!u z4Vxvx6iR%R`&M&n=4fm?GZjLYm3_Br$t9%$LO+uV7nM3s#2;RpXHjMVO4DOJa{Twk z)gQhUV`k_gI0^v}f)F(#{N&eMs3T=i1LYXxVp$P~bigoi+G>TIV z#-8=w>Ng}(6pDfpBizh*Q_4qXj(e&*N#hcA@c@VgU*AS#+Kw#lCvNS z$;L(v_2Q6*vS*lM6E7x5rq;A8CC+))N@?5rMh>=?#kRGMi_XXA%3~RQfHB}f=0L_d zqiLdbp>d&Yp_#>pg(jLK4@H;hyhgY)??KmO<*n^HkSi+Yy7wZ)a*Zr!(|G=>A7gOJ zX6VYs;Id!D*;y38P}+nl%ckQu#q-RZN>v#oBq~X@1Ca`%vKt7!IR6YX2!ORnw}`_y z$%V|m$i?sd!>*0U0302RP!woRjfjLX0YGnta-a~&TOfk+?EdT!9xR+Kgm?)kQ734u zix;l>5l)(osDV5GCIvP9=4)*N24DVeEg33IMMy&kK^di_;(njh0&3e`k=uH2MVm1d z=SZz?fm&krOJ`JTisrED2<=WX_~6z-k_DErfgK5XF(0KOm^*Q0SH0=^@e-iPSgSAC}p13`7NuP%DsPsV`3m~?7t->>Va zn(4k|u}!_aAS&OM4oyzLo_L(@hrm=f)Y~&X-)d^9c{b3W?;ZDir+@EUc6{CLLfL|t zFn-Le>$X5JmIK}Ibuakj2%qR)9V)paJU50GKPBY?hg@d|A57 z)m`U;`f87sF%p@{2uoZ+ra~H~7*~Si-hXDN06QCmzHH3h@x@$@F%+&dzqY3;;_pIhoK;8ZOVt%Ha#{%2(IO|`32YZF%!*Ok-8 z$tFsd>RLG;5f2rgCC7;lXf`QV`rgX*@(*OFZDTZOI2;bpo8=X-8!)m+o%W-i9e?jZ zsJ57CkB``2zHqyfPa(d)G`u}BZpzJANHDC_1b+R@5kWLV5Lu1v3zbDPo*2z@dZmrT zl;)o};`#W{eMCF$_+_~17N+$3$7X82iE+VYp7r#yOf3O;`7?Or6~DAU#9!Exh+NCR zO~29T)qKt2_yf%leuNo|^--k)(Hit+{d@{y0C&=JDJi<-K0o^N zDWL|yyG`T{e;&;#Q?C*ihZx4FFudj{xHp+Y59`fZU%LCz90C_8@%e6>!}qP|sK;$N z$_9(P8y|{Zkc?bueBNm5WO`3L3I9A8|1?Z%d%W!6QqjzBZ=25KUpz=+0fQBTvXoJu zSK?Jsa}>ikyO<*YqKf3Udam1|r?ULDr6kL=1u)RP#LbS5y0i&=**j=#81|G)M66cF zxXDZNM@Dwpuu&1?b|~QN9V`@qBDT>WxQPmVda5N9_Z80lHMFGgyPJVPWJ!kL%%RRa z5uH19;0+GDW$SsgBDVee9*Py%#pLq|akudF#N$S;fcJ9zQjZqmYv|EN89Jczb9A?c zh<-^Rg6I*yyES69NfFTR6*s1jrbeAmGpyX=O!Ws8wx>%7A6H(o*?m@DQ$BcfQCV<-KTPnNg8p}%8rO>gI7=Vf@&F6+OLjGLu9jAr)7ZCs(ZA#r%cl5dTN`s z--#^S+@Ky<*#bT#rL`=;3&c5tL?dBsOyWcg(k8h1k>k z8cn(!o4)7)RrD4yw9uJpXF3j7nmw9q?K%}X@{vB@I_oh~crDpWGtD~XBK9IOO4HCp zy*355l*N|IaQy1<_HWdSsl|%_lpRKQkBFtUlk=U3)n&6jzYnF5nsmM@JVYO6b z!UxHS20-M563iRmpyD+pQtIx*X0gq)&p^!!J7<+ET~D-WMUstQT_9QvboQJ#QOVkn z(OPtyC#+q$v?j6BR00^2q*x@eie=+U*9xy9K&Txnex6~Igt!*&Z`MY{H~m(v@(8V6ich0s~ed$-$3?8D^R>@n80Q+g}+AE zjS$m0F|zSR_q`duCOv$}AA|!Gi)@{GB~gS-Ede4d(o#Zve^<5+Jt5W?Jp*Aj_>Tmu!`JyOFY5frfyxu&x|ZL>xBSh3x@n_lQfXK;Ffi$Z1)&6v7Z zrZR~c2pgG-WQBy1)C$zl41j2pTJ86tf3)9~Z!O*~DL8d7FOc^PO*G5L%Sq$2h(D=? z?b{DsIs9Iveem1!9I;1Q552w&(@2iDr1@QBpY{?uO^r6A^|nNJ)>RNuxh>q;HNLfv zch@UcXI>kNB}VgDsv>KN9k{6V*cAR^=X{=lJWxHiq*6sYoWrpLq4ltve`k}^snX&z za*8Fosl)L1l$I5bH!1$sW~J;>6JeiwUJ^u_?x!Wp1gsGWg#Jh&fCmK@IoYQ6tj=#Q zewL%43UD0#2>%@>}+^(0#3If1OwY3ENW{Hr2W1t!CmJSx}gE`*?IT9+iGA`E#R+oN?<&6EYTTi z+Mvph0TVY8!wEqq!r@0Pt>1r-{jWpH28DI-~+*`lA1x(Zo*xsG|-DY9wK;bep53Zbh6c?gV6Xr#Aa#iKp`@SDA!b#L3$s;I}sLRDk%kJ zqHb8|bEtq^l{sR!{cfZO;b0E4)6Y;Y!5PDcLkISKJ^x#1JHw zj|Yj!4J|8im*;i?ZlhhK@*p8AaIgK@c0aXfz^vA@!7pDyNlsc^IMuMO>|AVG>|Cr}Y+ck27G&=a`pwc7U5;2@ z;C#y|nZyF_Q>anCU}?QD=~9$bakM(%V&1WCb5hepk+nMUI?*I^3 z35O*Xl@ExT9q}K_S#O;$^AIk1z53CxA7+N-^ORmYa2u<7~)6e?u1$n%3B-UL;mCp8=>I;}{!{sVz2_PAR2;&UDO=;o@{igAGz2ID8(r^`Od+fhEPBlP+js+Yo6%e^h3c`%T zZ=z(IP1EcZ>wnMzXuH;;M}l5N*xOhu&9dC}pY8VFufaYava&9jLs(I3Q;MU>erM-~ z_4vn?Fa;8G=2kpBsG6=fUb5S5-p@dW|QpPY4_)H=!&EET<|51%Yj zN&Q|lH9EcLc%LyE3M^U!<0YChWiq=B2SRYXw(T%85RY1~q2dgd)vTCw=7&%~C@v^x zklv=^&1d}6a@81-TIlGfG{fjvY6bAB8Vry9I#_xPOyyjUmp`8R{-^>%N}wn6Gg@3% zh(ZDE5=R`p_|XGEQ~kBWMAJF+!r}e%8WFWnXnS|qOlCEd7@QXScnr5OyOYOr2WSFA z;$}AZ3l<59HKZ(@Ge!OQ=JyNiWASmxB^uUYX`Iy_jPd3Jx4qyyhfD>!inXYj*Kbho zOKA*BxH5N4hg7IYWN8T4Q$-@UhjU_6S`MqWx~$N^4)ce)RSdj6XiezVeCFKx^V{BT z2PRf)QywxO{cfYj3_cdz4DO7bjW*AfA`#ay*BV;>zU@vpesjmD8N)HQi6)D)D3naoT1-d8SD6DVK}uZc38cjk7cQ zU4**!j;%ei&qQPFuX0T$13~q-Kn;1}w!oe>*q`nsy}cMMjBUkqIEy)w!IFAEgKE$Y z*P~Hmt>&Q(2@WY5!in<%`dbrMf|YhxKRj^1Apki`sBF zICLYe&jG&)Nj(*ou7j1N@kNauyRElN=7f>_HsLvzUUuzkUsDfKSQa;fNCQc|N9LRY zJGr`?c5~ulyatu>tw@+S*XzW8DTs%u=R5FPr@ch_#PvrI>^1BK+g*rPEQ`%f?o8Zp zNLjbUusvzotU{)GDyi^jPA;8TU^UxX@MzdN&g)e8LR+I)>sm8i(X|7Q&4HRknKY~t zUGlC%vdL-N_^7^|;^B+tf`4jKeNyqvd9?2o?^NzYDtbK3qrwjmI;L4r$Fc5PO==cigU=my6%-SBCKwV%s0!#XU` zEV_md_A&a;{!~Ph0IY|41B}D8ZP@ql)i&QcHjo$ndx8~*83JTJewl!B4IuYG45b8# zHzn^(KPSpzg6TldGOk>I9z2IB*A*+%Qi#T`6Pu;G^&7(G z0K4GLrGQhZFx8Kg_?My^!=;kMReoSaIbJKA!(_1A&sQAx>5SR8ubfWg=}*2ghSewE z#>8W6Cta)P6}{+X$Q*=>=tx~_9Vn3(P18wX>okQl%T?A6Ow6=e#LHafia^I!QfvK$ zQPI0kQpbkHV`zQ!MwqIFZiI~`k(bg)32s)C4Do?wXW=(x(T6!?93EDn3!Fb4xSdox zlY=GJ(L$wWlf&qxMW81g0(Wf-1?7mB6fw6)fUInDfV$wJ_PvA@FEYWYbjM7bA#?O3 zzbZsw7tDG2dLm+$y%OoY6q1)hyE)qlb|I;m!?ek&)-Nqi&Ve)7xANEmabA_i$7w896AM4YFtI{A<`Yf%u42yILs7PVG5kaM!~cZo9eLn zA<~iP3w>%@m`T05M1n;3wh>jKi({{Yi(@78gS*|!Z||gA2lCd+!X!))0ptNMu!cb({}0tp&r_5V+GUmaIP_cSh`AW|xbC@HBTaEp8C z?(XjH?o<#E0ZB<|1t}4cZjcs9MI;0S=@t|e`0XP42>SK=yr17c?|VO7c6aVMXJ_Wj z%sG2@W=;$AygJtIRngbIj!cG6pN~AxxP#aF@k?c>#=c}qi-GnkOp+0``6*n{ZktOt zt`*fAOZwWq#$C7TJ^yCxRrCO<%FE28D3>hf7uO9JJ}&6c5;a%#7)Px@D$XQ+&i3)Q zl_H<;oVq7Gp(m{@eRZ~Q_7h8u&)lMxudq8KSs>{y+~S?au!g`i-rjV2tb?y|c~Jpt zp_55@PVplXZRaFkE#uOS`ux?*x?;2n1rPuSi=PmF`@(E6D%&zV| zN{>yVV+u0_s@}=* zy?dV?R~8hQOZfPRii+w8FAC@wmrqbm<~{$EM8e3lyAq{z#y3Qe36Hg)fR)O8R+roY zyTNNgql0uq>9FLzEICQWk+Vo@Xa=Owz3*UYh5OK$rw-M``(uZQ*V$V~b&M*&>6mcaQ0udE?Wif}Yf8(F?Yx6SPnzssn@1Rc7ub z(8Rq;ptM;l3*@`dQ-vuO_H4f-=bAmlitvJyrjpY~A@bJ~fpxXFa?^8b9-X7dO+aBb z?Y*&kQdd%wfm9k2=@v55(xqHZ!&MF>^=FLr~aUD(aLZR(1FBt14wU=N86 zhVXNdR|++Vuy=e@iFGBFWN&j%3r}O-9zg7LvV1^{oR00Cv^`yRyEf9^SJPDSaV{Bs zM@Xde_GaL^42Phg)0}_W{BZrZG_?y_bY_XN)k@&zI&(!O3)G zN7pLB+dT9B-Kcr`QXv67*YwkCtXX{(T{!PQHvgx;ecPF4n(q9bM{8y{ zJArl4FF)3=_}E0mkxxAub6S2x<$kSxD=Yfqh4sb_^${HYbuVJ}s=x8f56U?a> zv9df^u|glU%i(U9+QA*qzr|nYeSPSn9_39^O1mg5WU;66GgSRpD*x6uMYOV3s?Vbf z_>J7Ip>?f}?yLz6#iDQF zZ2xj13FG0+N%5_6bmp%XF#OY`s(jDJ89S*G6vYD1w;JbPnKO4`_P!?WKis!S%T%9r zm$sR*^-=znJtNYYaGJehE0|QQ6-|565N!hOskbi>QE8E1oF+Gj?P?#rz{&K$5qrST z1<7fpvPmv~AoEID^Z`EBjMI73o6c-^$ajWh&yfNfKbD8Mq8pNNDn zm`37e$>kU5Sh4j}9Mpo8?lh5pLPS;%W@-JxR<*9Q+R~DZv|cz*jA_VlmLw(;TSp>- ze^s1pMUcha{qH{`c5wKAqU3agvRUE(K7cev+BOq%HgHAk z8y4lTV8BvQ`hDt$2=j+zTY^c;1XSZjk(c>yldZ2@92+c9@f80wp3u-uB3n9S`&pYa zXL083U=SonahTPxe5SQ z={nXsUtXElAN|z2dMAjtg+A2URfV7qg~h`$5;#GlC4jn?OmCc%Xs2P}lNY%1n(i^~ zoa|SVduG{R`yYIfZTsqdx?}y;#2ApMWiUOrNzHjCf}XKJvgF-T2LfArW8We@!I|r| zZ?1hX5}5ifS7_CvJ7ApUi^L#P<*LWX$DG1-yy>T(za^!2>tZARQ+lftg*W6*Ahq1l ztgvlwqR^XMPFCIQy+L(ihe#`3_Les3&J=EDcs|;vYvYEqA1;YdwxWMJ2js{WjTfX0 z3A?;=8mFfC*-5sewoJ7H3F5iO-iyWkbj?c#tv86}QMjPsZ5|3y>NQV60^mfNXot;8boPTi zj{qfsbuf=xPERZ0><4u!AKM#zl&$1Ft(mq0sjQBZ+kBd{AJ%HxCk;z(J?K9<#kO-= zf^$c$dZ78MU|P8Fdou5nqxQYo;{m(X@tvd1<=ct4o7QAA={Iw3>pu;>Rf?k;EWgIEtMW_FDw6Cytxa>xx+o&n50+)0H95 zt?KA@Llc;ITl8)0D<^3#rBDlv8Th5SON+G`21=bLIY&qo!pHQw^t2L<2=L?`S!(v^ ztl3&aPOQh7rKR-ODr*lmlA{$CM7axSIX~-qnh5X>dn~)IxYl{{n!-H`Ybf@2-iNcM z=M{6_34Kg(j>ycc5T|a#U$;8=tOw2&EA!d8^+hhWYRq?a{wue#Rui|%_N#YMrz1u6 zUfpB0?#<$L*VH~;guKlq-qldq(w%?fk{2+xD_s$25)je8)C&1F6*r4cD zTcUJ6N^$~M%qD`B+!XAUuV*Jc(g~V`c}2|TXE_DcWU^=Q{LEsEq76#bfH+?GwW0e_ ziLuLDZg8&z^&!HZ{W?las2fd9lX3`8!x@c`42}IWBki;IVm=Mgg8A6iqj2gA^G0e8Yi5mmBUvJ!A@yT!E z8h1F?DMg66opD;SNG$V{{l#0kHbeo=7fTjs+-!y9mor|qc%eIW`9sMyLwHWkF7$BR z7(cJj`0dmi=G!UOG1t9Fphiry4oq5v&n=O;SZr8&B1GKn18};EiFxNOxvlGC!<@lG>=2b2c!}_P&UN zT+e08GL749*pIsRRk|74$VXTsWQG#03ZHY{=hCvr?cY0JJosRm)zcInB)SE=M6=@H z>a#OCv^ab^T!+6+4?}&Z$M>X4q*L!z*jzlcu}PXlJoc$(EM0M9e4lk2eYPabPSlB1 zIM&b|gQlGQURShmAXQ#FUpYmwJmr8F?r?9Q{_s|&4w?ByxH)&U*xz^Y>_wd4mYXja5fd(6$#Q*-+s5!e#{}q;txilej?{B)CkEpTBC#pX?p!cRv6W8FhTqq?V9tEqd5*}17*3;I;o;uq zyFK4ye2TdvhEesw-UK7CAs4&X-Ef*R(h6up-kM)#FsB&)Kq&;O>{XfTUmQS zI<}FaR+X;XEMpWEBw?^enwlv)Pv%4X0+}dxZ+c(2Ar-D54~a;p5tHjVQOLz)UA%_X zhE%O%dXN?0>r^|Emglt7ACo7zmnV2}Eb(?sXOp1dT@UpNgKH?wju4DXC37`%ve~J! zrdYjcHgdde1eY-bHfF1rtM|Bk$Lw?>-t`6x2~Ynf=R31Z0R1MH2r%}V)zVDY@yz2fy-o@ zWcOccUB8q@hbL?pWp5CHBbLoee|dR4EJL4l$Sex2;frlls05wiwk}cFu5Iu~>~Dif zLV^;RRXmKBxID1E#tVnA#YB?O`%hvt*`oCi*!Ipfux%<=Q*4>C2hQd~MBF`$rr2}6 zr>LUnFbW5YNG?fH8(uDM(CVT33S}q8l&Jz}olL24*k4vR+-2{-nc&&d z%W?_xC6=&0tUHFvI5t2v^wE0gRJ^_xNuQhV^xYQsX{!qMEaj+S<*8gJCWlcV6nu{F zq{(|BvYBjGuCk$A=gMYfZC!Ra>~k<$VDh)oucNG1!8_5MaW$J57haN(c*6$Hn4hKC zm18pXJyk6&?0Y63W-Tvu_4QTgI`M6V=xCCeSf!Zxw+62Dd6^w^kZbgLVMVIf?q2JT z%$gOVW)x$wp}8hQDvue(gw^h7o+B<3Gxrh*!-invz9RYx+4np81@%2;2 zVubz~E$x{^d*tD#T~jIrjGD}x_2?PaU`5o7XmwJHR_BuzV~Fw$iiel(-LQ-;7|^iD zvs0l}rd2J!u5evphQ3Q$$3)viGx9k#`{>C_7csV4+v{r$qyY$V{80NAF2wsQZ`7NV1Z?iR&4t1{v@ORw#IBiR04_();rpZ)e9}=;E@% zH*LhJPi8+~>p5NNoTpNtxG&9(F((dlnV6eTn9er0VRsWz_N~UB5rk#5R?HU;)a9n; zUd$o5iZ11H(almeCw2QKC0N}i1;+K6kys|}=M7=ZYaY1h zO(Bw8IXy>HEw#rr zJwKF=V|r^iku(!wzF5cg@Y}+L`I#2KqWo?2C7tMV5kme~?@-g8in_YMx3J@}k@|}A zB|}A^))mzo5Mr^4b)xrVx?$-ekIz|#vMPjWeR#4q;ARQ4@Uq0S3@Dk@_@H54Q2nOn zP4Sy5q+x+=m44Mz?Gc+1X6v{z&r;7aQ>)KQ(8Y6GcRWKqA9Al#bW^OPgmTvk1`0M_ zS&LYUa1!I0VxQuUv2RmFE7CcLKMJ!)uCV$(8p9R-cg0JbC|I&qnVFBcp4#e>bIr z=j*&Baz_)H1e@;b-VUvw>yjwK*QdDetRt?QEReTRMAyhPWm0B{*;6|_H0Ov3>^sk)WObF8FUa8e zL;b>0&W~>;CT~Z5Zv5uQ9x|gZzq>I^)1NZC;=A9MjDf?hudi&hQ98RS%Q~~QD#@Z* zK=fHWlQII>=}s@?^U1ykevO%EvAxtDYOQ2a3ZG1@#)zpTUgnc~wCWwX6 zw2&{f=jnww#n7C04CYrE(jN*v)r|47b+Co0XTi_> z*4)c7T-oH>PqaeVT)Ny8f@1hTHoy%W=I8dbYojI?y?vjb)4Bp2|ugMxhEN@Qn8Us0PDIA(7=j&8~;NE}#1 zlCPqNpUR;Oh`VtnfS3vULy$}OZ8Pe6Cf)OA_)S|&Y@}~0xm=sa!S!d1M03ZWC)ba> ztCuHYBV!8!`CdIc18E^>%kz;ka*Jig~!P;5V*u zYiK2}+?>5Sol0Ezos3jSL{b(PJo1yNd$bjGHf0<4tRsosGv#k1rj+%3zD& z-MSwc-dbiRP~sshNX>kOiRLB0E}oP`w}?&i7002s+*GE#O`IvEHj)x^tr%Wv^b|v_ z91;(t%qxSHBV_IG?rC)e;cxH88Rk$$eA}63gl67zSC(XVE@-}m?mC9hd{omXKbJ3+ zE5+=})UnV-xV|KOkJ_}bNOk_cr*zG-j%;BWO7NlhYIy|Iy@P4I_bSV$S_QpZLCud0 zb6+A?RGb~dow&YEmPD$qENGI7Yq+jxE~LpoAMX;N@@oux`$RtWMyAicnGVtQ+VX6@ zjEfIhF`x>+umrs{Z6LS zP|77yj~E9(x~ZXxJl~8}oi3@J{vF;uCBbJAH?q`6-yo8PV+~vZKi}n;jF=9hJeAsJ z%M`WB#^%K{3teqpTsdrpXR-vVwP5nppKKcurnv)i`k`HU)H*D zJAFb;D@+;deyz^?5FQQk7cWSn$>Jg)&hkZe%JX#T?_%#I-d|!WDc{3Z)-7lFR?Fen z{&j*oAmYmSXAK?h)yW`A3T`{vO6Q^TS~uC-?ABv%G&PYLI9H9Gt_Z`cAuZP&F(^Kx ziR*WPLOJ7v0kTKp#9dpHkd(m>Os6-h$25$KFVkfjnA}i~GJ08jCVtgK94m^oXf~~F zIG;Emc1aHQqQgaoLba4&zpP_R?KQK)IaxUNw!kHN4jshoDH)08?|Zk4m7Q{i4@)>?f*Bt1oV(6dkl;7eOj%cf!CNU#UcK{` zfJa5v8On%Cu4$AZsR+o)c!X8#`cRxv_!XqkOhKiy!sMwp>N=nHt>9A>bgxYtE4~(( zQH7yw`ipCK+jq^ehGz071O$V5Y6hY$6y$`roNAhM#qjnmUap#tU&=uD)#jEA(9xkF z^rX6fG3qv1x&w8Hn_d4|(+mF6tE&`(S$aKITAgC_F)a>pnrm*xClXiLjISBLm+yXD zr~Q>B(m9Jf>9Z|)A<37*T%L5+sep-h?{|k5lrs2Ldxjg*fo^4PQ{VbI?RJ)Xk9?$upk_OC-!h=#cy5u~}+OJ@W`2RlPgZ(-<(Z z+8A&JvrxCr@Mh`7fTj`urdHWxfi%1M)`z%O;^BShu;ENY4>`(i{R}Fd3W(Pm*~|;& zJqC9adFD4D1|7^gWbE0+)?XI7k#Z|aI0-5Rf#&Y@Sq$7-FK&89q;*bs-{{bXg%-Ij z3^p>gJ!I2^i8m|oY20`%p`Rn$_n{~^$wr=&O{{0GUw+Hq?30ED;^Y4FavQ#AbmGwy z?^`p_Fyp9&WhE*u3E=v0CHAW^69<<}%B(#;UBqR1g9Cbh?J0SfLMyr*r6RA%D>^d< z?)c2-G{UV<`M#>}_mC`oBsu+Yq%G+p%e z-D9m{S8>wiwNmW6)Tq|iMJzxP{Zef1Hni^v7tT3PqV^L3z68Ouk4y@h z?hjrqoA2KpS7*qX$qWsz2zWQz*GupTxlDsNCoMdP&d(QMn13qZ)LRWTwei#!F+`f_ zDc6!Zh}3K328k}XVZ$G>DSmqE2=jafxav+}S$zx(;MQUzy%6W7Kt7f)HGEr(HkRlS z#~IkAAZzLlXEm#wXAjI@G07Y0Tn}$HpYC8OyqYcB>i5hzzy4l{VbNDYix<2hkEWh~ z_P`So1Y-F5NY1ka-CJvZzRpY>g4>)0v$v3l%wuy`@KEni@=q7*sf@ZC6{6iUomkmc z+t#ZzqBx*^!+(2b5?jOX%vw!o?2QCe%ng|!LRcnD+T1wbHP+~s=bdfz8tKg~q))YC zO&ZVsHv&nCr<;Wvx>df#kMdaGZgMBxe4iU{&33Plg7rQ3zG;xCN%*(tR`bofICX11 zlg%W%%R|1J$c5VV-PY&_^GTmw-!N-CkC@2yn^J0)={J2?dB2&5%(8ex*onW}No(QG z$p2NThlkOFO3ut-VUr^{DGTi`1*v-j#Rh`RypPkVEReDz1% z6ZQ$eSlkyBsGBq`_vok{xanO~qkgf}_VwmaYU#qJM-Y#uZWfDT;)T(9=ti?W=~myO z+4MNo-YNGlL^Qa$srY578CzaU-0ND1ojIRUE4Qpzrlz3XQ$jC@w9cRIBV1rYR!NUh zx4XD0B^aH)oe>$C>vnmRq*^$8FrDez>8rxZBtzs|Mi-+MrtRKtEIy+ss_x_`=#6UQ z7jrw!t4FL5mF(j2lxbf5&b?<13ZGQCMsHco;Jj!_`Z}wQpK$|?(#Swc=&bZvQfZNB zqZoI>xX>u}i%NpmT&9ReMap8XCq;KLJ4z6DT-*rTmh&*BH7$oJbl9^iw#P(EC@@Rk zm%OjA5i@n|$#pMIN6wtSE@W3}!Hdt3&k^@4E#{uY;AP=$<~yH@h#i4NujVAS(xo{UF`~t zfYNSe=v4E+&wF40d7TvZ^Ci!)&*C)-Z!ebykau57joxC%4D(k&8bJmo-n-eHxgKWO zom1?YP=-I=>^4!h8mUvVr$w|Md@Ip-3NMRn87|6fK4Z=(!rQZiK`GJQe;1wj(@pu$ zH;rkyWjmjdK9f4nEfaG8h3cHWM*Ueo4=>2J7fe!ifC?W{i`$Z~){^=-GR(iQmcwoS zMX=($iZiAjOmymYpneG=jb{A4|Qsi`1bme7*)}q~*v}AL_=F0}OEofe=F|=)R zGbse1U&F)?nX>m5LeD88PS%^4Cd(w4o+UX&>ykj+x<(U`XV{9}GHow^HIax&`b>mA z!^3ghcpybpqU$rxisZ`V9iH0m9)?fB87&fBjAnDZcF^_8N)yu0A5}`$!mfS|xiV6) zOj4=xc-#Mi+(w`7mFOPJTSIT0Aik0uZ)->K0&O$#nY(Rz3G?_o+?XfjLeH`lz@Di) zd%S5+a(MZQtjeej`c=rz$;Hm89b0rJJB3+({y{)S+)kB!X`$-dFRG57)nW7v{lZo4 zDNkgd(GEG@=v>t2?4CQRW6Jt&kt6A~b>|!7h2nyKD@LafZRt`C)iRr!+SYd%)1s*h z=5ZJUSC>iff)~a6ujfiI$|M^kuIYQ-R)@2(`N`x&iwvCa625C`ONZ*N5h&ft64;ZE5F%pMsT+ohHbg=BWzLK*8MX7e*^7~&}Gk=?D@ZI0+_AUOlQ0A3t&z)WS zDdS!C*gf4A@2{&d*=nD5Bb*ngj%2p&!4ej zHd+yx5?nyv4!$gX8Dh*AiTOyQZZ2&`^NC%SC(IAMppnsXGZDe6*t_o1Mr8QKGKZ5p zO)SPT*uPwANr{orxJ9-E9g{8(mWNtszTx7`b-uNuBL7A2NxBG%H1ce1XYFgL-tlzD_G7;KT8{H_r_HgZ?lLF5i&m8+4cY=MNs``UEHecPn zUN7S3yYTGlghUSStr%2s9csxJ*T*yML)!{7c@yE&)w41~qe(7XSns_uwzKQLZewps zZzi|Ce&5x!*-bt>r!^F>i`)!T9osGRL*M)|mTZ}*GAPZQ^eqX#vY)NnkBDf}YMZof z3$ej5@>qJne$AUV^|@{f#zO+UHvQW7Q84ZNr?5vZ@E93Ic#G0vaS&STb?^8TRR*6F z=~-MeT#9VPEtHMICFLMq>DlNl%O%y;g_m!x+T6A5&nv3NVpuU(+Y78{^zkz4j%mPNDq@w;7U`%Ok)OOW8r@ zIa!M15JqO)TbL7$BmT1jj7&-g#^-y~F7RCX1vxtQK>DJU^l2eJM}3(ybrfCGclBQ3 zyDf`!I#ZtDa*GOrNWRh+l1bO#h9_CB#T$e=UctKGy8WUj{v<28 z!A6CS&~tefAF^d3()~v+4DUFSwnUyQbM1t?B~kJ2u#K6>bG!;IV~@FQ+A_=$b62%x z*h2~D7UIpvbY3(?p=LHT(Y`#XmiTIoQ?k`zkyML!$}YV)^ZsrbwgmCki{S{1Gp&=> z_?H6UYo++@jl*lD6c=#fCao#jGe~Shu8K?DE2D#5m&qX0$BQAznsg)mk~TYOJ?=kw zx9k>ygh(}>mt1V?a6Q%|_!uV7)!`4oPYzVTX*?n17Qx4pWaIws*D5gr{QAzd>Tx5nbkxqkTLT-L7Xhy%0P|Q zT2rg$8U89B30K>GDtR(4v-69**pDUhD{He> zaVC2*6E>@Hkv_TizS@BLC4R$( zZ|XPNo!g5SaC*s5n_cK)FyX^E*&Qy$uzf#$i5`nWBpCT4!?3*_Rf zK^~zoo>das-VK*i3q}t$hFT6!q5ILE1s1jsqzcVuk zud5NfMUT2Zid1{e))Kv$NP%ctw6P|ima2M#O366+?G>pLJkYwVrOD5}FMY{HIt5!j zNMEG}lM_7;XAhJ7l%W$b+Cv$)5HpI0*0?T`5AskF`zwmc<65{t#G{Do=tJkhYZ`@X znY%bk5l;i@)6y0D-`pwvxN|S;UGlPg8h2Gm9Rd$sSliICWdZsK^{}0eJ{{9~MFj6d zEL&E8%MB-YFJp2(JaeAOO0t%(j~2AP9Y)0Ajb$ob!U2KpM*%} z@w`e{*dhKP7E=0Td8I8z;NEtqjC6>AJ+rTTa6h{|-h28k!jmOxp7650F^`V8SrWV@ zlrh>V`)^f~V=Qk7n_|~X>>n()TIzd9X&1nKsG1BQKb2glu->_m1FK}pbr)MQaR`R6Qvbs74WM8;Y zpj+o-;BBC1AozF}r&m>d+x?`9%ATuy?(ObLJyTCf+CFr$pzW@PS5%8-S;bE>8Q-dn zo6qB7&NT*ptbE1VfG(@rrZ{+R^R|ETIkmI7E4h|)W^-y7UlAuJolI06A@q#0+88~A zfpbm*s&GDAOY_q%C*Y2-kA0UeRh-E0RlFE{`?AKo9_i!*^~E;^21;t5z~g~%g1$?*u7Q`UNc}Fyw-8emJgTi?d^};-`)ih7y01oa*sypZ= zWhZj&*KOY=Qe){g#q?_1zcD8*u*EO&bwRrzsOV~nWkoVTj11(8l)J^yr(K79+av60 zz-42JQ;>a<^)|<4&8y^*=1OUu`cI$m3=j^O-IcONx?Rb4Hd2k{zT}rm{1+`; zksmpz@_0yQNU8ezCUUB7^~qtGiDYMU4_x}D)yS>gYxgtx6rb-Re5zZoqHMm zro6RwnorM(r_Nzvmp7qX4Id{eW$N>*3Z5tq=R!%$)%(-0Jj-IbY;&(iSV?l>@(Hoq zPsH?yD%`W<->|mCs|;>!pO~~f@1_-mIqUpfn41apm?NV9(!>2-i6lwVa~%@blWqr} zmWd0JxVzUln+Z?@B8`;L9H7) z4i7`URB3|<5-OT}9NMJtH;cNZX|X4HmhUM!h~6xKJ#tWvZbK*08E4o?_uZp+s1o`(N^iG;j2u1*bG`SXYcra? zIBbM0_+@agQEBAM#Do`J?}Sb0BQK#PBozgp%pxhjDTVHBHC<4lHH{7Ik<+glt*IZP z=_uaJB(4<@Faqmp9E}pnx{ou0z`1s@Z2(4yawfdy|Js;d;Z3UyG~yassguKb)yfd5 zS17yaXtCfcVT?n<-zv_}sJ7E45RnQ$VM``5{^%fVY?ProPM;Oshz?gR4X*BBSoKtGiB)SK@fW9=eOq(?=OFF!PFUMbnbVC* zV~mkiym*EEfIInZ)SV0QR-5N>@=L6!O{m(n#E8c4Wt=ArO;8BVKU)!g|0dgS+$q*Z9|3X0Qrg2*H<5d|u z$`B(z-G(p%-n$$7@4uz(51-cBf0(|HP0GjT`JbE)f9@B<4(vMdtHUqgulLK&DgS1_ z7?I-+zXG;aMhCuhEFxC=rjAtKy$4x9Z#V$~TQ@3ADkdo4<;#QsJm{csz^M)T?>3Bq z0~=BRPJt}o)-|95FcYvz#dnCHzMYt{xv81cK~vvh|IyzU^sM{M-xv9(4Py|HfA8-b zEp6+^2l)HaehcD$=YLBZjTK6JH_>fY)Z#0~SxiZVi_az-e0AM)trB%;yI(Cry4g++ z>3cqP&h|qM5{b?!DG&FxmsC^;42Zuf+2poXQolHgv38Z&eZiC8ci*kf#ew~8u6*A8 zm1`HOKVuKR8hve~jbw0doXBHre!Z1XpE?vN+NwG1(N2u$s6i=1ZwccKGH_q2x!=& zvQVL$P1@?3`OSe?iukXY!&g7(_H?@>fzv;aO(w!Gqt!D}KZ320qmB>%Qz#EIy)7nYBSo?nIvY{21 zc4z~K*WUW+%Re2ivs4>-uz)(7dID+tw&GpKifJE`X*rCS*Kw@l@qZ9}U}u*>IepVZVUp8#0F4*mq5P8? z1!G5BX9q)LN1zY?fl3=2nd^VIm!M5XLIK}spnDH_FX~|HY)8e#Ma7~BimSejqaE0= zp*t0eAOI0Eb}=_JRuC1SViBiu0;HJ=L=hxG5TFS_z>(?@fupGZ!UCY#16}xEi29); z^-ee;j=PZ}a~PxC7($AJhgg8UH7cKUA%wLIXV#=kvc-YJiA` zKXLx&Ebf1`$iqPC{(S`aC9>>?WpV}#JHN>Ked2gBb{6fx(#pr9K>K4hJkCEay+X_>0y3&iNyZ1n%{nX~4+=gFxg!M8G3} z_yK|-qXB|Y@V_F3M534h<9Q6JU*tmu9E*{Ew66!yBl2+sO9X%#*mWRAKd}N?48TDa zA9N>(?IHFDWq|TX#1V`S49u@=gtPvEjlW} zLG%D&JrHV8XhFFEh4_b@9Q4Rv(MKQ=f0vQ(=pQopAN2n?t^w2FpX1t}IQ~Pg4h03& z_XBhfgz2wn!r4JB`)^$S!PI}y{Ns!b2xj{$nt-V~;Oq}B0vtWyFen_LxdG7z&jtR9 zG7N~O`>zNevhg2;4`B1CZK;K<-l$Lq=4xEv>As(2SC|(5j=sF;;gcKhOs`5BAQX0&@8$+CRtvVf+BPKgyu~iZ&1t`!7u7 z0c($-eL(*4Cq)zp{R`Tl+=JW(ISQTwCKKfHft>+`1>iDx&H6*R5B1=HoWoxEFTDVV z!wTJ z;`pHaV|IH~Q4XL-Bu>y4oOZ*$4{_h8-N3@r&x!H(neyS#1Df_DQzy`j9hnyWs$f4P z@Xw0%8=Wu|gc*>t|0arm?5+chkC1f)O$0d70s4M0Xn^bo2k9Tz01XF91pGq)FwpG% zm~_Jc5)OU?CG#g4!1=f584Gu2PfV?+B=lygYE{q9dbl^51u@K?Pk=Uri(v1 z@#mPz_Qy%U0rWqUe;|2aZ-CD*|C;>2ql-YGn1QZ1+FQS(dob7fAxTGt@L=)l5Zzzb zY8<}{;lElBV+Hrr2A25_5s)-Das-y;{t;Y&V+WtZf&0fLa6Giczd*i=;=#>-Ko3?m zzMF}kpnr_uPtc(-{#A+_&_00 z1RKC{@IwWplsPy7{=tA=2S5M7;4p9o_bUvji$nn(_$v&=99Y{v21CMt3=T(NKwUO) z75HdfBpe2G$Wa(O0&xr%AZr8!+`9dEIq;G62n-5`f?E7545$l(AIA?0hk@eyYdHwO zTHr0h5g1Sx0sHM9U>6)M2cU-pm*{_O52%X-SDb!@f#rVVJq%#;v2wsm132(oFrP%xXx zv2rjl&&Y8Y5>()$?ZM%{*M-ADOL(jt@;5m}z}b)Y8!((e;m7Gw4n7V;!dZ{?FRK4p2ba zmg98+7&u5AX%B?}BqK=h&L2Kyh})Rh0#lWLrqtp>z)XdUO;AKc z5CtfSAUhiZ&@(oafG|5dlAR3+6@u|Y4p&3J&n*6X;U8}y9i8+YoW2jHU>Y?jFax2Z L6P6XhJM;elt*0T@ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/docs/TIMECLOCK_PROCESS.txt b/agc_2-X/branches/agc_2.0.5/docs/TIMECLOCK_PROCESS.txt new file mode 100644 index 00000000..a5e3e2e0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/TIMECLOCK_PROCESS.txt @@ -0,0 +1,175 @@ +Timeclock process flow 2008-05-12 + +** THIS TIMECLOCK FUNCTIONALITY PROCESS IS PLANNED FOR THE 2.0.5 RELEASE ** + +This will outline the process I have thought through for adding a timeclock component to the VICIDIAL system. The objective is to add the following features to make VICIDIAL a more well-rounded product: +- Allow vicidial users to clock-in to the system +- Allow vicidial managers to clock users in and out as well as edit timeclock records +- Maintain an audit trail for manager-modified records +- Add a SHIFT section to administration +- Have reports showing all timeclock totals for various parameters(user-group/time-period/user/current-status/etc...) +- ability to allow managers to alter timeclock records with audit trail + +Future planned features: +- Allow restrictions of agent-login by shift +- Allow ability to not allow agents to log-in to any VICIDIAL page(admin or agent) without clocking in. +- reports showing user log activity outside of shift timeframes + + +Description: + +The first new feature to be added to help with the overall adoption of this feature is the ability to have the system optionally generate unique userIDs as users are entered into the system. For this purpose a new auto-generate option has been added to the add-a-new-user and copy-user functions. This auto-generate feature will take the auto_user_add_value field in the system_settings table and check to see if an agent with that ID exists in the system. If they do, then 7 will be added to the number and checked again until a non-used number is found. + +To facilitate more workforce management, as is desired with the addition of a timeclock function to VICIDIAL, I have decided to add a SHIFT structure to the system as well. This should allow for scheduling of user_groups of agents and will have the ability to not allow them to login if they try to login outside of their scheduled hours. A shift will have a start time and a length(to make running over midnight easier) as well as a list of the days of the week that the shift applies. Each user-group can have multiple shifts activated for it, for instance you may want a Monday-Friday shift of 9AM-5PM and a Saturday shift of 10AM to 4PM. In this case the user-group would have two shifts selected. Some reports will also be viewable by shift as well. + + + +Newly Created Scripts: +timeclock.php - linked to from vicidial.php/admin.php/welcome.php to give easy access for users to use the timeclock and then go back to what they were doing. + +timeclock_auto_logout.pl - script that runs at the defined system_settings.timeclock_end_of_day field that will go through all agents that are currently logged into the timeclock for the day and log them out with the AUTOLOGOUT event. Only runs once a day. Triggered by the ADMIN_keepalive_all.pl script. Defined to run by the '9' flag in the keepalive settings of the astguiclient.conf file + +timeclock_report.php - report linked from the reports page that shows completed timeclock records by user and user-group across a timeframe + +timeclock_edit.php - page that allows managers to edit existing completed timeclock records + + + +More to come... + + + +New associated features: + +VICIDIAL Administrator Log: +The admin log will replace the older flat-file log of administrator and manager activity. This log will allow for much easier viewing of the changes that have taken place for a specific record and other activities that managers and administrators do from the VICIDIAL administration interface. There will be event types and record IDs that identify the kind of record and the specific record worked with by a specific administrator. This table will be utilized at first only by the timeclock apps, but as the code is developed it will fully replace the admin log file. + +Administrator Sections: +USER +TIMECLOCK +CAMPAIGN +CAMPAIGN DIAL STATUS +CAMPAIGN HOPPER +CAMPAIGN STATUS +CAMPAIGN HOTKEY +CAMPAIGN RECYCLE +CAMPAIGN AUTO-ALT-DIAL +CAMPAIGN PAUSE CODE +CAMPAIGN LIST MIX +CAMPAIGN QC +LIST +LIST DNC +SCRIPT +FILTER +IN-GROUP +USER GROUP +REMOTE AGENT +PHONE +PHONE ALIAS +CALLTIME +STATE CALLTIME +SHIFT +CONFERENCE +VICIDIAL CONFERENCE +SERVER +SERVER TRUNK +SYSTEM SETTINGS +SYSTEM STATUS +STATUS CATEGORY +QC STATUS +REPORT +OTHER + + +The Database Changes: + +# add field for auto-increment of users +ALTER TABLE system_settings ADD auto_user_add_value INT(9) UNSIGNED default '101'; +UPDATE system_settings SET auto_user_add_value='2110'; + +# This table contains system shift information + CREATE TABLE vicidial_shifts ( +shift_id VARCHAR(20) NOT NULL, +shift_name VARCHAR(50), +shift_start_time VARCHAR(4) default '0900', +shift_length VARCHAR(5) default '16:00', +shift_weekdays VARCHAR(7) default '0123456', +index (shift_id) +); + +# add field for allowable shifts for user groups +ALTER TABLE vicidial_user_groups ADD group_shifts TEXT; + +# This table contains the log of timeclock activity + CREATE TABLE vicidial_timeclock_log ( +timeclock_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +event_epoch INT(10) UNSIGNED NOT NULL, +event_date DATETIME NOT NULL, +login_sec INT(10) UNSIGNED, +event VARCHAR(50) NOT NULL, +user VARCHAR(20) NOT NULL, +user_group VARCHAR(20) NOT NULL, +ip_address VARCHAR(15), +shift_id VARCHAR(20), +notes VARCHAR(255), +manager_user VARCHAR(20), +manager_ip VARCHAR(15), +event_datestamp TIMESTAMP NOT NULL, +tcid_link INT(9) UNSIGNED, +index (user) +); + +# This table contains the current timeclock status of a user + CREATE TABLE vicidial_timeclock_status ( +user VARCHAR(20) UNIQUE NOT NULL, +user_group VARCHAR(20) NOT NULL, +event_epoch INT(10) UNSIGNED, +event_date TIMESTAMP, +status VARCHAR(50), +ip_address VARCHAR(15), +shift_id VARCHAR(20), +index (user) +); + +# This table contains the audit log of timeclock activity(non-editable) + CREATE TABLE vicidial_timeclock_audit_log ( +timeclock_id INT(9) UNSIGNED NOT NULL, +event_epoch INT(10) UNSIGNED NOT NULL, +event_date DATETIME NOT NULL, +login_sec INT(10) UNSIGNED, +event VARCHAR(50) NOT NULL, +user VARCHAR(20) NOT NULL, +user_group VARCHAR(20) NOT NULL, +ip_address VARCHAR(15), +shift_id VARCHAR(20), +event_datestamp TIMESTAMP NOT NULL, +tcid_link INT(9) UNSIGNED, +index (timeclock_id), +index (user) +); + +# system settings added fields to define the time when all logged-in agents are to be auto-logged out +ALTER TABLE system_settings ADD timeclock_end_of_day VARCHAR(4) default '0000'; +ALTER TABLE system_settings ADD timeclock_last_reset_date DATE; + +# vicidial_users added fields for permissions to allow users to edit timeclock_log records +ALTER TABLE vicidial_users ADD add_timeclock_log ENUM('1','0') default '0' +ALTER TABLE vicidial_users ADD modify_timeclock_log ENUM('1','0') default '0' +ALTER TABLE vicidial_users ADD delete_timeclock_log ENUM('1','0') default '0' + +# added new table for administrator activity log + CREATE TABLE vicidial_admin_log ( +admin_log_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +event_date DATETIME NOT NULL, +user VARCHAR(20) NOT NULL, +ip_address VARCHAR(15) NOT NULL, +event_section VARCHAR(30) NOT NULL, +event_type ENUM('ADD','COPY','LOAD','RESET','MODIFY','DELETE','SEARCH','LOGIN','LOGOUT','CLEAR','OTHER') default 'OTHER', +record_id VARCHAR(50) NOT NULL, +event_code VARCHAR(255) NOT NULL, +event_sql TEXT, +event_notes TEXT, +index (user), +index (event_section), +index (record_id) +); diff --git a/agc_2-X/branches/agc_2.0.5/docs/VICIDIAL.txt b/agc_2-X/branches/agc_2.0.5/docs/VICIDIAL.txt new file mode 100644 index 00000000..b261ca04 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/VICIDIAL.txt @@ -0,0 +1,207 @@ +# VICIDIAL.txt - description of the vicidial call center system +# pronounced (VEE-CHEE DIAL) + +This system was initially created to fill the need of a customer service group +being able to call up clients efficiently and without using a predictive dialer +that would potentially lose calls and alienate clients. Since then we have added +the ability to do predictive dialing alongside ratio dialing and the traditional +one-call-at-a-time dialing as well as the ability to take inbound calls and set +up campaigns to do blended inbound and outbound call handling at the same time. + +Major Features: +- Inbound, Outbound and Blended call handling +- Outbound agent-controlled, broadcast and predictive dialing +- Full USA FTC-compliance capability +- Web-based agent and administrative interfaces +- Ability to have agents operate remotely +- Integrated call recording +- Three-Way calling within the agent application +- Scheduled Callbacks: Agent-Only and Anyone +- Scalable to hundreds of seats +- Ability to use standard Telco lines and VOIP trunks +- Open-Source GPL licensed, with no software licensing cost + +Complete Features List: +- Ability for an agent to call clients in succession from a database through a web-client +- Ability to display a script for the agent to read with fields like name, address, etc. filled-in +- Ability to set a campaign to auto-dial and send live calls to available agents +- Ability to dial predictively in a campaign with an adaptive dialing algorithm +- Ability to dial on a single campaign across multiple Asterisk servers, or multiple campaigns on a single server +- Ability to transfer calls with customer data to a closer on the local system or a remote Asterisk server +- Ability to open a custom web page with user data from the call, per campaign +- Ability to autodial campaigns to start with a simple IVR then direct to agent +- Ability to broadcast dial to customers with a pre-recorded message +- Ability to park the customer with custom music per campaign +- Ability to send a dropped call to a voicemail box per campaign if no agent is available +- Ability to set outbound CallerID per campaign +- Ability to take inbound calls grabbing CallerID +- Ability to function as an ACD for inbound and fronter/closer verification calls +- Ability to have an agent take both inbound and outbound calls in one session(blended) +- Ability to start and stop recording an agent's calls at any time +- Ability to automatically record all calls +- Ability to manually or automatically call upto two other customer numbers for the same lead +- Ability to schedule a callback with a customer as either any-agent or agent-specific +- Ability in Manual dial mode to preview leads before dialing +- Ability for agents to be logged in remotely anywhere with just a phone and a web browser +- Faster hangup and dispositioning of calls with one key press (HotKeys) +- Definable Agent Wrapup-time per campaign +- Ability to add custom call dispositions per campaign +- Ability to use custom database queries in campaign dialing +- Recycling of Busy calls at a specified interval without resetting a list +- Dialing with custom TimeZone restrictions including per state and per day-of-the-week +- Dialing with Answering Machine Detection, also playing a message for AM calls +- Multiple campaigns and lead-lists are possible +- Option of a drop timer with safe-harbor message for FTC compliance +- Variable drop call percentage when dialing predictively for FTC compliance +- Internal DNC list can optionally be activated per campaign +- All calls are logged and statuses of calls are logged as well as agent time breakdowns +- Load Balancing across multiple inbound or outbound Asterisk servers is possible +- Several real-time and summary reports available +- Real-time campaign display screens +- 3rd party conferencing(with DTMF macros and number presets) +- 3rd party blind call transfer +- 3rd party conferencing with agent drop-off +- Ability to set user levels and permissions for certain features and campaigns +- Ability for managers to listen-in on agent conversations +- Ability for managers to enter conversations with agents and customers +- Ability for agents to select a Pause Code when they are not active +- Ability for agents to control volume levels and mute themselves +- Outbound dialing is QueueMetrics-compatible +- Web-based administration +- Client web-app web pages available in English, Spanish, Greek, German, French, Italian, Polish, Portuguese and Brazillian Portuguese +- Admin web pages available in English, Spanish, Greek and German + +Required components: +- Asterisk server with Zap, IAX2 or SIP trunks +- SIP/IAX/Zap phones(hard or soft single-line or multiple) +- Computer with proper software installed + - on Win32 Activestate perl + - on UNIX Xwindows Activestate perl recommended with perlTK libs loaded +- Asterisk server with proper software installed +- astGUIclient must be installed with the Asterisk Central Queue System(ACQS) +running + +Approach: +This system is dependant on a MySQL server acting as the storage place of +all data and settings for the system. This was done so that it would be very +scalable and flexible. This application draws on a lot of the core scripting +inside of the astGUIclient suite of applications and was built with flexibility +in mind. We have used VICIDIAL for over three years now on up to 160 seats at +once across 8 separate Asterisk servers all using the same MySQL server and +dialing on the same campaigns. It is important to keep in mind that because +VICIDIAL uses Asterisk meetme rooms for it's dialing that the Asterisk server +will see an increased load as compared to a simple Zap/SIP-only calls. + +Installation: +Look at the INSTALL FROM SCRATCH documentation and start at phase 6 if you +already have asterisk running + +Process flow of a one-call-at-a-time call: + - all components are installed and running(with Asterisk and MySQL servers) + - user logs in to the client GUI [user/password/campaign] + - GUI assigns an open meetme extension to the user, this is called the +session_id + - GUI sends manager command ORIGINATE to connect the user to the meetme ext + - user clicks DIAL NEXT NUMBER and GUI UPDATEs first available number-to-call +in DB to PENDING status + - GUI SELECTs info on that number[name/address/...] + - GUI sends ORIGINATE command to call that client's number from meetme ext + - user is talking to the client + - user transfers call to 3rd party, client Zap channel is REDIRECTed to +3rd party + or + - User transfers client to a closer to finish the call + or + - user puts client on park and dials 3rd party, then transfers client +back to meetme room + - Call is Hung up + - user hangs up call and clicks HANGUP CALL on GUI + or + - person called hangs up so user clicks on the CALL HUNGUP then HANGUP +CALL + - call is disconnected + - user selects disposition status of the call and clicks OK + - goes back to step 4 and repeats + +Process flow of an auto-dial call: + - The lead hopper app(AST_VDhopper.pl) that is running every minute keeps the +hopper for each campaign up to at least the minimum hopper lead size providing +there are enough leads to fill it. + - The predictive dialing control app(AST_VDadapt.pl) that is running constantly +analyzes the current status of calls and agents and calculates the dial level +that the campaign will need to be set at for the campaign's specific settings. + - The call center manager can either set the dial method (on the campaign +screen of the admin web page) to Manual for no autodialing, Ratio for fixed +lines-to-agent dialing or any of the Adapt predictive dialing models to use +Predictive dialing. + - As soon as an agent logs into a campaign, the client app will look at the +auto_dial_level setting of the campaign and determine whether + - it will insert a record into the vicidial_live_agents table(and set +status to READY) and update that record every second with a random 8 +digit number to show that the client is still alive and ready. Also, +the client app will show a "pause" and "resume" button to start or stop +receiving calls automatically instead of the usual "dial next number" +button. + or + - it will allow normal manual dialing operation + - The auto_dial app(AST_VDauto_dial.pl) will: + - count how many agents are READY,QUEUE,INCALL with updated +last_update_time in the last 2.5 seconds. + - look at the campaign's auto_dial_level to determine how many calls +should be placed each specific campaign on each server. + - update the vicidial_auto_calls records by searching for active +callerids in the vicidial_manager to see if they have hung up. + - count the number of active calls that are +occuring(vicidial_auto_calls records with a status of SENT,RINGING or +LIVE) + - place the calls for each server if the active calls is less than the +total that should be placed + - The auto_dial app will then: + - grab the next lead to be called from the vicidial_hopper for each +campaign(it will update that lead record in the vicidial_hopper table +to QUEUE with VDAD as the user) + - grab the lead information from vicidial_list and update +called_since_last_reset Y, the user to VDAD and increment the +called_count by 1 + - delete the record from vicidial_hopper for that lead + - place the call first to the Zap trunk(Exten: 917275551212), then to a +specified Local extension number(Channel: Local/99999@default) where +the auto_dial_transfer_agent app(agi-VDADtransfer.agi) is waiting to +take over. + - if the call is busy, disconnect or telco voicemail the call is never +technically picked up so it never makes it to the +auto_dial_transfer_agent app + - check for dead calls by looking in the call_log for and end time of +the call keyed by callerID(caller_code) and delete them t=from the +vicidial_auto_calls table + - The auto_dial_transfer_agent app takes the call and: + - immediately grabs the uniqueid and callerid of the call and updates +the vicidial_auto_calls record to LIVE + - logs the call to vicidial_log using the callerid to find out the lead +number(VmmddhhmmssLLLLLLLLL[where LLLLLLLLL is the zero-padded lead_id +from vicidial_list]) + - inserts the number_dialed and the caller_code in the vicidial_log +table for the uniqueid record of the call + - attempts to update(limit 1) a record in the vicidial_live_agents +table to see who is the next agent to receive a call(ordered by +last_call_time)[update the status to QUEUE, the lead_id to the proper +lead_id and the uniqueid and callerID to proper values for the call] + - if there are agents available[affected rows = 1](goto substep VII.) + - if there are no agents available: + - wait in 1 second increments and then checking substep IV. + - if no agent is available for the drop interval(usually 5 +seconds on outbound campaigns), the call is hung up and logged as DROP in +vicidial_log under user VDAD + - grabs the agent info from the vicidial_live_agents[conf_exten] and +does a redirect to the agent's meetme room. + - agent's app checks the vicidial_live_agents record every second for +itself to see if it is changed to QUEUE + - agent's app changes the vicidial_live_agents status to INCALL and +updates the vicidial_list record to INCALL and user to the agent's +userID and the call progresses normally + - The agent hangs up and the vicidial_live_agents record is changed back to +READY with the lead and call fields cleared out so the agent is ready to take +another call + + + diff --git a/agc_2-X/branches/agc_2.0.5/docs/VICIDIAL_statuses.txt b/agc_2-X/branches/agc_2.0.5/docs/VICIDIAL_statuses.txt new file mode 100644 index 00000000..3c9ef3bb --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/VICIDIAL_statuses.txt @@ -0,0 +1,34 @@ +NEW - New Lead - Lead has not been called, or cannot be called +QUEUE - Lead To Be Called - Lead is about to be sent to an agent +INCALL - Lead Being Called - Agent is talking to the lead +DROP - Agent Not Available - Call was dropped while customer was waiting for an agent +XDROP - Agent Not Available IN - Call was dropped while customer was waiting for an agent on an inbound call +NA - No Answer AutoDial - Any outbound call that does not receive an Answer signal(or other signal) from the carrier. This can include ring-no-answer, disconnected, carrier congestion and other errors +CALLBK - Call Back - Callback, both scheduled and non-scheduled +CBHOLD - Call Back Hold - Scheduled ANYONE callback that has not hit it's trigger, or an AGENTONLY callback +A - Answering Machine - Agent-defined Answering Machine +AA - Answering Machine Auto - Dialer-defined Answering Machine +AM - Answering Machine Sent to Mesg - AMD(Answering Machine Detection) call sent to a message to be played +AL - Answering Machine Msg Played - AMD(Answering Machine Detection) call sent to a message and message has been played +AFAX - Fax Machine Auto - Dialer-defined Fax Machine +B - Busy - Carrier-received Busy signal, or agent-defined Busy if allowed +DC - Disconnected Number - Disconnected number +DEC - Declined Sale - Agent-defined status +DNC - DO NOT CALL - If defined, lead will also go int he VICIDIAL DNC list +DNCL - DO NOT CALL Hopper Match - status of a lead that matches the phone number of a lead that has been placed in the VICIDIAL DNC list +DNCC - DO NOT CALL Hopper Match Campaign- status of a lead that matches the phone number of a lead that has been placed in the VICIDIAL Campaign-specific DNC list for this Campaign +SALE - Sale Made - Agent-defined status +N - No Answer - Agent-defined status +NI - Not Interested - Agent-defined status +NP - No Pitch No Price - Agent-defined status +PU - Call Picked Up - Status that a call is changed to as soon as the carrier has sent the Answer signal and before the call is sent on to an agent +PM - Played Message - outbound broadcast or SURVEY campaign status for when a message has been played to the customer +XFER - Call Transferred - Call has been sent from an agent to a Closer agent +ERI - Agent Error - An agent has closed their browser before dispositioning a lead +SVYEXT - Survey sent to Extension - Survey outbound campaign status only +SVYVM - Survey sent to Voicemail - Survey outbound campaign status only +SVYHU - Survey Hungup - Survey outbound campaign status only +SVYREC - Survey sent to Record - Survey outbound campaign status only +HXFER - Hold Recall Transfer to another in-group +HOLDTO - Hold time option call termination on inbound call +QVMAIL - Queue Abandon Voicemail Left diff --git a/agc_2-X/branches/agc_2.0.5/docs/VTIGER.txt b/agc_2-X/branches/agc_2.0.5/docs/VTIGER.txt new file mode 100644 index 00000000..a71a936b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/VTIGER.txt @@ -0,0 +1,320 @@ +VICIDIAL and Vtiger + +Current VICIDIAL integration with Vtiger is for the 5.0.4 release version of Vtiger only + +Current integration features: +- vicidial.php WEBFORM search for lead/account/vendor +- User synchronization of VICIDIAL users to Vtiger user database +- User Group synchronization of VICIDIAL user groups to Vtiger Groups +- Added activity event option(call logging in Vtiger) when going from VICIDIAL to Vtiger +- Ability to click-to-dial a phone number from a record in Vtiger screen to the vicidial.php screen +- Optional script to bulk load leads into Vtiger from a CSV file since Vtiger only seems to want to load 500 at a time: + Vtiger_IN_new_accounts_file.pl +- Batch Account synchronization through script to output new leads from Vtiger and update existing leads in the VICIDIAL system: + Vtiger_OUT_sync2VICIDIAL_file.pl then you run the VICIDIAL_IN_new_leads_file.pl script to load the new leads + + +There has been a basic vtiger integration option available in VICIDIAL since the 1.X release versions through the vtiger_search.php web script(when used as a web form in the campaign) that will search through the leads for the dialed phone number in vicidial.php and if it is not in the vtiger system as a lead then it will be put in as a new lead. + +More in-depth integration with Vtiger is a bit complicated due to the fact that it has 312 database tables(and you though VICIDIAL had a lot with about 70). Attempts at using the built-in 5.0.4 API structure were unsuccessful because of inaccurate documentation and the inability to use the modules easily outside of the vtiger directory tree without major reworking of the vtiger code, so we decided to have VICIDIAL work directly with the database instead. Unfortunately, working only with the database doesn't get you the whole way with Vtiger. For user synchronization you need to make sure that the patch(Vtiger504_vicidial.patch) is applied to Vtiger(see instructions below). This patch is used to create blank user profile files so Vtiger will load properly with synchronized users from VICIDIAL. Vtiger doesn't check to see if these user profile files exist before trying to use them, so one thing this patch does is check if the files exist for each user, and if they do not, it will create them with a simple placeholder. Another purpose of this patch is to allow for click-to-dial phone numbers in Vtiger, so that the numbers will be dialed as manual dial calls in a VICIDIAL agent screen. For this to work you must have applied the patch, you need to have user 1000 set up in VICIDIAL with a password of 1234 and Agent API set to '1', and the agent needs to be logged into vicidial.php(there is also a VICIDIAL Campaign Detail option to automatically login to Vtiger when an agent logs into vicidial.php) then when the agent clicks on any phone number with a "VCcall:" lable bext to it, a call will be placed in their vicidial.php agent screen and the Vtiger window will be closed so that they can open it up again with the vicidial.php WEB FORM button in VICIDIAL. + +as of 2008-12-31, several user synchronization features have been added to allow for the creation of vtiger users from the vicidial_users user database. The vtiger_search.php script has also been updated to work with the current vtiger release 5.0.4. To enable the Vtiger integration features you will need to go to the Admin -> System Settings section of the admin.php Administration web page to set Vtiger Integration to enabled and configure the connection details for the Vtiger database. + +There are options in the VICIDIAL Modify Campaign Detail screen that you can choose how you want the vtiger_search.php to search for a Vtiger record in the Vtiger system. If Vtiger integration is enabled in the system_settings then this setting will define where the vtiger_search.php page will search for the phone number that was entered. There are 4 options that can be used in this field: + ACCTID- This option works only for accounts and it will take the vicidial vendor_lead_code field and try to search for the Vtiger accountid. If unsuccessful it will try any other methods listed that you have selected. + ACCOUNT- This option will search through the Vtiger accounts and all contacts and sub-contacts for the phone number + VENDOR- This option will only search through the Vtiger vendors + LEAD- This option will search through the Vtiger leads only + + NOTE: For this to work, you must have the vtiger_search.php set as your webform page, i.e.(http://10.10.10.15/vicidial/vtiger_search.php) +Multiple search options can be used for each campaign(in the VICIDIAL Campaign Detail screen), but on large databases this is not recommended. Default is LEAD. The order that you see the searching options above is the order in which they will be searched if you have selected multiple searching methods. If an account does not exist and you have LEAD selected as a search method, then(if the create lead option is enabled) it will insert the lead with that phone number and you will be taken to the edit screen for that lead when you go to the vtiger_search web page. There is also an option to log the call as an event in Vtiger that will associate with the Lead or Account that the agent screen is sent to. Vtiger recommends on standard equipment a limit of 50,000 account records, but many users report no issues with 100,000 or more account records in their Vtiger systems. + + +Here are the procedures to load leads into Vtiger, then output them from Vtiger and then load them into VICIDIAL: +(the vicidial_list.vendor_lead_code field[=vtiger_accounts.accountid] is used as a key between systems) +- put properly formatted CSV file into /usr/share/astguiclient/VTIGER_IN/ +- /usr/share/astguiclient/Vtiger_IN_new_accounts_file.pl --duplicate-system-website +- /usr/share/astguiclient/Vtiger_OUT_sync2VICIDIAL_file.pl --duplicate-system-vendor +- /usr/share/astguiclient/VICIDIAL_IN_new_leads_file.pl --forcelistid=9988 + +Then to keep the two systems in sync you would run the last two steps every day or at some other interval. + + +For VICIDIAL users that are synchronized to Vtiger, the following user_level to roles repationships are used: +- user_level 9 - H2, CEO +- user_level 8 - H3, Vice President +- user_level 7 - H4, Sales Manager +- user_level 6 and lower - H5, Sales Man + + +Here are the SQL queries used by the vtiger_search.php script to find records in the vtiger system: + +ACCTID: +$stmt="SELECT count(*) from vtiger_account where accountid='$vendor_id';"; + +ACCOUNT: +$stmt="SELECT count(*) from vtiger_account where phone='$phone' or otherphone='$phone' or fax='$phone';"; +$stmt="SELECT count(*) from vtiger_contactdetails where phone='$phone' or mobile='$phone' or fax='$phone';"; +$stmt="SELECT count(*) from vtiger_contactsubdetails where homephone='$phone' or otherphone='$phone' or assistantphone='$phone';"; + +VENDOR: +$stmt="SELECT count(*) from vtiger_vendor where phone='$phone';"; + +LEAD: +$stmt="SELECT count(*) from vtiger_leadaddress where phone='$phone' or mobile='$phone' or fax='$phone';"; + + + + + +Here is a short summary of the needed steps to install vtiger on your system: + +NOTE: vtiger requires PHP5, APACHE2.2 and MySQL5, + see the REQUIRED_APPS.txt doc for install instructions for those packages + + +mysql +GRANT ALL on vtigercrm504.* TO vtiger@'%' IDENTIFIED BY 'vtuser'; +GRANT ALL on vtigercrm504.* TO vtiger@localhost IDENTIFIED BY 'vtuser'; +create database vtigercrm504; +quit + +cd /usr/local/apache2/htdocs/ +wget http://voxel.dl.sourceforge.net/sourceforge/vtigercrm/vtigercrm-5.0.4.tar.gz +gunzip vtigercrm-5.0.4.tar.gz +tar xvf vtigercrm-5.0.4.tar +chmod -R 0777 vtigercrm +cd vtigercrm +ls -l +* in browser go to the following URL: http://ip-address/vtigetcrm/index.php +* enter contact info and click the START button at the bottom of the screen +* in system configuration set the database host to: +* database user/pass: vtiger/vtuser +* database name: vtigercrm504 +* change default admin(vtadmin) and standarduser(vtuser) passwords +* click to install vtiger, then follow the on-screen instructions +# patch vtiger to fix issue with user synchronization and add click-to-dial: +wget http://www.eflo.net/files/Vtiger504_vicidial.patch +patch -p1 < ./Vtiger504_vicidial.patch + + + + + +Now to explain the database side of things. +First, here is how users are stored in vtiger: + +THE USER TABLES: +vtiger_users +vtiger_user2role +vtiger_users2group +vtiger_users_last_import +vtiger_users_seq +vtiger_usertype + + +TABLE DETAIL: + +The vtiger_users table has the basic user information for users fo the vtiger system. An agent must have an entry in this table to be able to access the vtigers system. user_name is the field that is synchronized with the vicidial_users.user field in VICIDIAL. +mysql> describe vtiger_users; ++--------------------+--------------+------+-----+-----------------------------------------------------------------+----------------+ +| Field | Type | Null | Key | Default | Extra | ++--------------------+--------------+------+-----+-----------------------------------------------------------------+----------------+ +| id | int(11) | NO | PRI | NULL | auto_increment | +| user_name | varchar(255) | YES | MUL | NULL | | +| user_password | varchar(30) | YES | MUL | NULL | | +| user_hash | varchar(32) | YES | | NULL | | +| cal_color | varchar(25) | YES | | #E6FAD8 | | +| first_name | varchar(30) | YES | | NULL | | +| last_name | varchar(30) | YES | | NULL | | +| reports_to_id | varchar(36) | YES | | NULL | | +| is_admin | varchar(3) | YES | | 0 | | +| currency_id | int(19) | NO | | 1 | | +| description | text | YES | | NULL | | +| date_entered | timestamp | NO | | CURRENT_TIMESTAMP | | +| date_modified | timestamp | NO | | 0000-00-00 00:00:00 | | +| modified_user_id | varchar(36) | YES | | NULL | | +| title | varchar(50) | YES | | NULL | | +| department | varchar(50) | YES | | NULL | | +| phone_home | varchar(50) | YES | | NULL | | +| phone_mobile | varchar(50) | YES | | NULL | | +| phone_work | varchar(50) | YES | | NULL | | +| phone_other | varchar(50) | YES | | NULL | | +| phone_fax | varchar(50) | YES | | NULL | | +| email1 | varchar(100) | YES | | NULL | | +| email2 | varchar(100) | YES | | NULL | | +| yahoo_id | varchar(100) | YES | | NULL | | +| status | varchar(25) | YES | | NULL | | +| signature | varchar(250) | YES | | NULL | | +| address_street | varchar(150) | YES | | NULL | | +| address_city | varchar(100) | YES | | NULL | | +| address_state | varchar(100) | YES | | NULL | | +| address_country | varchar(25) | YES | | NULL | | +| address_postalcode | varchar(9) | YES | | NULL | | +| user_preferences | text | YES | | NULL | | +| tz | varchar(30) | YES | | NULL | | +| holidays | varchar(60) | YES | | NULL | | +| namedays | varchar(60) | YES | | NULL | | +| workdays | varchar(30) | YES | | NULL | | +| weekstart | int(11) | YES | | NULL | | +| date_format | varchar(200) | YES | | NULL | | +| hour_format | varchar(30) | YES | | am/pm | | +| start_hour | varchar(30) | YES | | 10:00 | | +| end_hour | varchar(30) | YES | | 23:00 | | +| homeorder | varchar(255) | YES | | HDB,ALVT,PLVT,QLTQ,CVLVT,HLT,OLV,GRT,OLTSO,ILTI,MNL,OLTPO,LTFAQ | | +| activity_view | varchar(200) | YES | | Today | | +| lead_view | varchar(200) | YES | | Today | | +| imagename | varchar(250) | YES | | NULL | | +| deleted | int(1) | NO | | 0 | | +| defhomeview | varchar(100) | YES | | NULL | | +| confirm_password | varchar(30) | YES | | NULL | | +| tagcloud_view | int(1) | YES | | 1 | | +| internal_mailer | varchar(3) | NO | | 1 | | +| crypt_type | varchar(20) | NO | | MD5 | | ++--------------------+--------------+------+-----+-----------------------------------------------------------------+----------------+ +mysql> select * from vtiger_users; ++----+--------------+------------------------------+----------------------------------+-----------+------------+---------------+---------------+----------+-------------+-------------+---------------------+---------------------+------------------+-------+------------+------------+--------------+------------+-------------+-----------+--------------------+--------+----------+--------+-----------+----------------+--------------+---------------+-----------------+--------------------+------------------+------+----------+----------+----------+-----------+-------------+-------------+------------+----------+-----------------------------------------------------------------+---------------+-----------+-----------+---------+-------------+------------------------------+---------------+-----------------+------------+ +| id | user_name | user_password | user_hash | cal_color | first_name | last_name | reports_to_id | is_admin | currency_id | description | date_entered | date_modified | modified_user_id | title | department | phone_home | phone_mobile | phone_work | phone_other | phone_fax | email1 | email2 | yahoo_id | status | signature | address_street | address_city | address_state | address_country | address_postalcode | user_preferences | tz | holidays | namedays | workdays | weekstart | date_format | hour_format | start_hour | end_hour | homeorder | activity_view | lead_view | imagename | deleted | defhomeview | confirm_password | tagcloud_view | internal_mailer | crypt_type | ++----+--------------+------------------------------+----------------------------------+-----------+------------+---------------+---------------+----------+-------------+-------------+---------------------+---------------------+------------------+-------+------------+------------+--------------+------------+-------------+-----------+--------------------+--------+----------+--------+-----------+----------------+--------------+---------------+-----------------+--------------------+------------------+------+----------+----------+----------+-----------+-------------+-------------+------------+----------+-----------------------------------------------------------------+---------------+-----------+-----------+---------+-------------+------------------------------+---------------+-----------------+------------+ +| 1 | admin | $1$ad$hsl2KFybNRnbXBa.b.WWv. | 21232f297a57a5a743894a0e4a801fc3 | #E6FAD8 | | Administrator | | on | 1 | | 2008-12-27 22:51:30 | 0000-00-00 00:00:00 | NULL | | | | | | | | mattf@vicidial.com | | | Active | | | | | | | NULL | NULL | NULL | NULL | NULL | NULL | yyyy-mm-dd | am/pm | 08:00 | 23:00 | HDB,ALVT,PLVT,QLTQ,CVLVT,HLT,OLV,GRT,OLTSO,ILTI,MNL,OLTPO,LTFAQ | This Week | Today | | 0 | NULL | $1$ad$peilFE10wX.4b0aIm7/.t/ | 1 | 1 | MD5 | +| 2 | standarduser | $1$st$k35HABw/iAKXXthyFMLPF/ | NULL | #E6FAD8 | | StandardUser | | off | 1 | | 2008-12-27 22:47:55 | 0000-00-00 00:00:00 | NULL | | | | | | | | mattf@vicidial.com | | | Active | | | | | | | NULL | NULL | NULL | NULL | NULL | NULL | yyyy-mm-dd | 24 | 08:00 | 23:00 | HDB,ALVT,PLVT,QLTQ,CVLVT,HLT,OLV,GRT,OLTSO,ILTI,MNL,OLTPO,LTFAQ | This Week | Today | | 0 | NULL | $1$st$1iX6Nfn6NbdWdlCljgg3u1 | 1 | 1 | MD5 | +| 4 | 6666 | $1$66$WpuoymV3Cudgm3vI8xWY.0 | 81dc9bdb52d04dc20036dbd8313ed055 | #E6FAD8 | NULL | Admin | NULL | on | 1 | NULL | 2008-12-31 13:32:23 | 0000-00-00 00:00:00 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | Active | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | am/pm | 10:00 | 23:00 | HDB,ALVT,PLVT,QLTQ,CVLVT,HLT,OLV,GRT,OLTSO,ILTI,MNL,OLTPO,LTFAQ | Today | Today | NULL | 0 | NULL | NULL | 1 | 1 | MD5 | ++----+--------------+------------------------------+----------------------------------+-----------+------------+---------------+---------------+----------+-------------+-------------+---------------------+---------------------+------------------+-------+------------+------------+--------------+------------+-------------+-----------+--------------------+--------+----------+--------+-----------+----------------+--------------+---------------+-----------------+--------------------+------------------+------+----------+----------+----------+-----------+-------------+-------------+------------+----------+-----------------------------------------------------------------+---------------+-----------+-----------+---------+-------------+------------------------------+---------------+-----------------+------------+ + +This table stores the role of the vtiger users. VICIDIAL users will by default be set to H5(Sales Man), user_level 8 vicidial_users will be set to H4(Sales Manager) and user_level 9 vicidial_users will be set to H2(CEO). +mysql> describe vtiger_user2role; ++--------+--------------+------+-----+---------+-------+ +| Field | Type | Null | Key | Default | Extra | ++--------+--------------+------+-----+---------+-------+ +| userid | int(11) | NO | PRI | | | +| roleid | varchar(255) | NO | MUL | | | ++--------+--------------+------+-----+---------+-------+ +mysql> select * from vtiger_user2role; ++--------+--------+ +| userid | roleid | ++--------+--------+ +| 1 | H2 | +| 2 | H3 | ++--------+--------+ + +All VICIDIAL users will be entered into the Team Selling(groupid 1) +mysql> describe vtiger_users2group; ++---------+---------+------+-----+---------+-------+ +| Field | Type | Null | Key | Default | Extra | ++---------+---------+------+-----+---------+-------+ +| groupid | int(19) | NO | PRI | | | +| userid | int(19) | NO | PRI | | | ++---------+---------+------+-----+---------+-------+ +mysql> select * from vtiger_users2group; ++---------+--------+ +| groupid | userid | ++---------+--------+ +| 2 | 1 | +| 1 | 2 | +| 2 | 2 | +| 3 | 2 | ++---------+--------+ + +mysql> describe vtiger_users_last_import; ++------------------+-------------+------+-----+---------+----------------+ +| Field | Type | Null | Key | Default | Extra | ++------------------+-------------+------+-----+---------+----------------+ +| id | int(36) | NO | PRI | NULL | auto_increment | +| assigned_user_id | varchar(36) | YES | MUL | NULL | | +| bean_type | varchar(36) | YES | | NULL | | +| bean_id | varchar(36) | YES | | NULL | | +| deleted | int(1) | NO | | 0 | | ++------------------+-------------+------+-----+---------+----------------+ + +This table keeps the sequence number of the auto-incremented vtiger_users.id field +mysql> describe vtiger_users_seq; ++-------+---------+------+-----+---------+-------+ +| Field | Type | Null | Key | Default | Extra | ++-------+---------+------+-----+---------+-------+ +| id | int(11) | NO | | | | ++-------+---------+------+-----+---------+-------+ +mysql> select * from vtiger_users_seq; ++----+ +| id | ++----+ +| 2 | ++----+ + + +mysql> describe vtiger_usertype; ++-------------+--------------+------+-----+---------+----------------+ +| Field | Type | Null | Key | Default | Extra | ++-------------+--------------+------+-----+---------+----------------+ +| usertypeid | int(19) | NO | PRI | NULL | auto_increment | +| usertype | varchar(200) | NO | UNI | | | +| sortorderid | int(19) | NO | | 0 | | +| presence | int(1) | NO | | 1 | | ++-------------+--------------+------+-----+---------+----------------+ + + +## Logging calls in Vtiger: +vtiger_crmentity_seq - increment once to account for call log and use for activity ID +vtiger_activity - Where calls are logged +vtiger_cntactivityrel - links a contact to an activity(call) +vtiger_salesmanactivityrel - links a user to an activity(call) +vtiger_seactivityrel - links crmid(account) to an activity(call) +vtiger_seactivityrel_seq - does not appear to be used + +mysql> describe vtiger_activity; ++------------------+--------------+------+-----+---------+-------+ +| Field | Type | Null | Key | Default | Extra | ++------------------+--------------+------+-----+---------+-------+ +| activityid | int(19) | NO | PRI | 0 | | +| subject | varchar(100) | NO | | | | +| semodule | varchar(20) | YES | | NULL | | +| activitytype | varchar(200) | NO | MUL | | | +| date_start | date | NO | MUL | | | +| due_date | date | YES | | NULL | | +| time_start | varchar(50) | YES | | NULL | | +| time_end | varchar(50) | YES | | NULL | | +| sendnotification | varchar(3) | NO | | 0 | | +| duration_hours | varchar(2) | YES | | NULL | | +| duration_minutes | varchar(200) | YES | | NULL | | +| status | varchar(200) | YES | MUL | NULL | | +| eventstatus | varchar(200) | YES | MUL | NULL | | +| priority | varchar(200) | YES | | NULL | | +| location | varchar(150) | YES | | NULL | | +| notime | varchar(3) | NO | | 0 | | +| visibility | varchar(50) | NO | | all | | +| recurringtype | varchar(200) | YES | | NULL | | ++------------------+--------------+------+-----+---------+-------+ + + activityid: 12 + subject: VICIDIAL call + semodule: NULL + activitytype: Call + date_start: 2009-01-11 + due_date: 2009-01-11 + time_start: 07:00 + time_end: 07:05 +sendnotification: 0 + duration_hours: 0 +duration_minutes: 5 + status: + eventstatus: Held + priority: Medium + location: Dialer + notime: 0 + visibility: Public + recurringtype: --None-- + + + +Files edited within Vtiger to allow for click-to-dial and user integration: +./include/utils/ListViewUtils.php +./Smarty/templates/DetailViewFields.tpl +./Smarty/templates/DetailViewUI.tpl +./include/js/general.js +./include/js/dtlviewajax.js +./vtigerservice.php +./include/utils/UserInfoUtil.php + +Click-to-dial: +uitype = '11' for phone fields + + diff --git a/agc_2-X/branches/agc_2.0.5/docs/Vicidial_Hardware_Requirements.odt b/agc_2-X/branches/agc_2.0.5/docs/Vicidial_Hardware_Requirements.odt new file mode 100644 index 0000000000000000000000000000000000000000..805f760a03d9be2adb98124c9a528cc7f1db102d GIT binary patch literal 15685 zcma)j1C(UTwr$zfWpvqgRhMm>U3Qmk+qP|Y*|u%lwtn}0@BVY{`RCm6SB{+{GWVV{ zR$#1*j1^N>0vH4t;J2BGt*~khFu;)hD*wJ9eq9zO7KZjN)`q&)*5)Sqy7nekmb8wR z1~gW>b|!W-R@R1=23GnG7KWDgH1>wh_Oky$_6z@i4dYiyz{=9d#Mr_1Uo>_Mw08Eo z_6~M>y0*0cgM;{0kcFX&g{wFVnnnj8M2v9hJrcd)hnUAwb|IWT~%1o&^K z0f2tL{jz^{2mROGztS3+Tj|;x{@a<~_`f>yca5;NvUafk)d3Fw+larzVf{^Q*0xs0 zwuW|pYX09L|IW|fmHp9a|Gy}ED=YK=j>7#LFHJ0TjScN+`AzICbgk|F%Q(UO0-Ni) zSUK2J>+9 zb^Y@Ufc|w?-^$Yde@FRTQ^E^q|VbPxeb5Mypdux-5Nmlmk? zi0V>Vz|tktD$Y~2G0UGRY^0szJb0bD7wrJ0Q!=R91jo*VwPjaLO-~n2xV(*>FE0wI z)e<=oipymS*{fFcF+voH%X>T$R!P*(^ zbT&Io6WBRq*F^22uN9O12-szthuo|Ds_y~E4YQKA!YaE-g*C*?oI51s8OnSDoo=Br{!8*iyyubhe7 z*xDaW;&N4o#8NuHktdy_h;$`DU`;uOZSl*rN(=R6Nq}1oBrr5&M{KDvb?#PioY#=X zAl$M2$@gtK{&Zj|dmwDJ6_aIiW1aOZ?MAOfS4Qh@VvG3Q?xA78S2}GXzyeJX#UzDA ztIz`bK}B3CR}b7Qo9Lo?bMth0lJ9hR;ee4EI>+x|df@;;CRcoyLbHhJ2g?y(SY(r6 zvT~P*P%xh%{AhAC{+Kw>Fp21Eb|m*@8>={WB+aNq#@TQHK&m+;h+9#)EE0!f`RvS-ZH) zK!+0T^6IzV_te9YH_Q4Gj}1L&B%P!QK?8n?C7p;0wC{UAgS$XzniGf8R3M!RK1Mzj zf7)fHM8twxECl!I7clPBs8r}D^b;@=Y*5sti0NAr)+wMs+1K-1l!3Lh)vNksg0Uzb zgi6{e1m98QxTe8hWZwP+NJnNknPNq`JKhW+Zo^cxV=J+%d=|WQKhf?2h7mdvC}K#Y zI$*ba_L<&vvW0ESgC>W8&P?=%hnH|1WPgobI438i_T3dxq@y9j)v zUT2F{32Yf{9Oehs{&srrL7ynvS2W&U1~%8(jPZCO6yek~`Pzs$^-U~a&HT#oip}8j zrk3(?8)Eml0z!Y68`f;_r_l`BV~@N95uLd(P}-PBlR>q_LwHr1+4Fv$>Xl~R+3k_# z)Tax@rR#>VTEXHiH>T_6+$+olX}+tydMw|{U|gEzNa4nKV}FEoL_~Ae)1}eai(;Kv zLfc9J^^bU<$QC{V8lfF~7K%7Qy&Ma(Uh9G~QQA_iPGyCk&x2BPcW>9HCYRgemRCm!b)Q$vEY47C zcl*7V>syf4v$rBTb}~L`TAXdmu(<89THI~puvtJXx)g6y$}H}zwoqCukn2G*wDy~B zKzMDdTklysABPdSGp+NA&IV7nP+Q9~BRfWT*zig#r{k1LflOBSd%ms39JGuRzh;{{V{ZK3^E zzSFA=RL+2crpo8UgS7c&KxEfB%7^=``0_~Z0jhW;u#c?q@`gD72Zj`k* zNM)BYPRl_hOp-=&@&mkxc|UcozB;50Au9ruDuPQ8;6s;-*V}&q_n4)YShB*-Bwr%t zlCOqpu;WZN~qXb~>Cq5py#Wv0xo-%uOcu=#JD)<-oYX5Tx<%V?2Vuo~yQ2h++gO_Pae>qc|4nDZ?yE}S z!jCB|{~ruT+m*AuJ;gz*jh3-KExh26g(J1*~IMo9YUb8)C-1y4?lF;FhgaBVPGFd6Fj-P>I))K`EaWnSIQ1Ihmr> z#oiN7A-&sxI)UH0bXWO&U|ZiOL2tT~vOxFU!pJro$>6R%#`4HX%p_PZkthmnfpiR# zY2Sg~CV|{Bn?Z=8;;oKmxqLnwL7w9f8RY%nX7ldvW5zm(G_~Q9B6?ELB5DH|Q-oQaJB7+Hg~WuPg>c!In<_JzP!`WaKnCI`Myhne@gqYWD1VT zx|F|{Y79!W1b?8HV>)mcjeq0o^S#U$o=X&T!LJBtEt=YLIQUmoCCNF5;IEY~=p&jZ?2Tsnehb?QvdqmUrxP9>? zEbE58W7y0}$F7-;W3h1byxWFA2&|cJcg0TM8-C6-3shK)ZQ*Np3#Z1ziGO;=_tF;K z#D!TF@Xa`1l7&u>R<7P)13pkOp=e*)&o+=tf7gZVsrxyZ<+65gE}?4CCNr!fC45Tn#KlJjmqLAAy>vB zJW#})j-_oJ?=V}yOm?M|#zPClWGOs>D^|K1B%i>$FM`=Z!eq;7t+7pp^#jo$w%4$6RUe&gURd^K0#Z4h0jGdGeFQd#w}c5+mHW9rrsSVx^dOH+6F7kED9C~YtD*BP^e%-q%7C*<&xSmb zx*$iMKLUIsnF|2 zmB*wsYUN6qVM{U49a1g~G_^xu>=XVT@DFl|ek!7Z$$N%!`>yHdHBM0ItF%d`YZLGm z0q9{p6EXE)N4mqmhlia^8%}=_pRS_-qDTEM&`N=N4?%m5KvUwO~|&>bg~ zm`CbwEP-r;6B%k2{9|+~J2;L2mQTk3SgW)4&{RWlFiB^@{hAl)J*-o?u{$+Ql^^&@ znJFGxYVmMNlHRdDZKUpdX*>%kZL=W{ksL<2_k?w(kb{7$fkJCwdJ!Y`q#Wo z-kCu<%qw%a2mu~p9{yf1VZof;??mUNT*C2$THZZ)6=X3$!~AD*_pf=gaXJFnvQy$i z+%|morf2jl2DG415SI_;%8a?d(N}_PPM-GCcZPX#k}leoD(F<}*Tk0U;kBn6SilTuhP(mX4KAUL7yWIyB!AM?x0lD#jc@nq@K3A zAzo(>ZX}y&V}l5s-(;2#e|?#b^j8?dc8^+R*MPgLOJlfE~cW^XjPA+8yH--e&nCJbeQ$P8r z2=}u}d4Qodrnc}1J3fQKymP4uJF{ov+^3GEoot(-pvqv$tj*_G_t6xq&!~-|e%$~7 zXy6IGQC6f*ckgASQC;yk)z|Mm|5Xl0eK|*eZh_P==DZe4c(8^d zYulW$tzD8k)&SorbDM9;4f;P}{ix7P$h4ZuFEFPNI`pyWdKiAP+ZAy5IKju-pgX7) zfEO=YALeh^8P0G;@$pwpgCLg$m!D z;gG=9qO{D1dHdG4#@O;{04%SPYENQCC*q$li7)FHLt3gS6#kGald3Msd!=$8PQ39U zR_yJwVP%-WMbU zh0MKDXm+CHCUS+WZaXpS=@AgaZ7W$Z_@^I;yQY^dO#8OiPy46O-@C3DJc?+sNB{r@ zCjV_K59-%eo}ImmxuMIUcHuk+RwU>|s90J+~glIGdDaWB-y-Uah0x^%4o2 z;f|=*q_5j^10*&xvlEZ-@~mqg{ZmzjWN_EUJw4*9^@Q@$LK`6yixH3MmrS zUh(AQzFp^?YPQ55#hy^7WrCybVb40Vcp>asC{eH72-i)WI;nf!Pg_eUYf@*6b9qL>X*VUpc5)&E;qy;~kZ%7j^(Fc>=q%b-rfe2v4&{Ceiz- zp5QVLQ)pw-GO)sea305^B3BWIyg{rWF8Mp{>t5d7s~Zggok$ z&eLwB;%Y6ab_#>Z=*2*I+6yDl&1Sz0dOvyjzCL2cwi9jNr5Ei@pvPQ{y~;qY^objh zw=cP$xDv^7_Q)k%k~FOK6SXup0q&@FzZQ)%5-qG1v#c^#+zDUN37?E3x3(!kzV&&= zVWL8jt*W-4u~w5dh}4+6->^DvQ{dVqGN_7`PJs%1sjlYkSRr0Hrevb0s$rN{EV2?j zqhptWg|0;gSxI;iS@UomRBG-VV-;9hh$MI}=zQ6^Bbnx8g?1A3D6I=frywqE7ES*M ztML3d{S2-{lgpvsfp$z-B6If=He*hq5R z+Y$Rqxix%eswIY?1+qjtQ*$HzU7?EosE#$a0%k~$)=RBM@^;3YgZ+GE9=q*nCcm5S zQSVJJSve^>d8rgMCj4e=)x~4+x&J_SPLwJKovV2BGg|q>Lz7jGd}j%ZCOQ_ zw9-YH#Cqn%;a%I7J3_ZM8BEuP z;;S8+nhP02w5r4N(eOlKOAiS=T+c*Q#qO1cZyiB%hkdRwTXP{@`H@qmOZ(x8qy1X< z7d15(|erBLzu>#G}!(t6i4)Bb7PN|m@h%CgWX?-OAs z18rN694tlusfPU46Oddn$aI~%@!HMthkGBXx)zug)&jLp_ujt5D3@Y)LA4TP3-Ao1 z9!j4V;=U{aO%Zeo&x=_Y!=KwET}=0rIvu|G+I)jrDQyecGGqP18=TiK##N&SH5#Uj z#rkOl2&vZZ^)Vxj8)*#($~=Z;$`H=6MD`#~V9NrWIgEWWdBfy4&U1by_hzYjX%+iR z8F=?cfN8)6SlSwC`(GO3@OMELyvvim1~F2_BqLBjFme$ zNvnYzq!TGJbvSX>@LJOW1Zq9SH%tA2CG?nyz4isJ5q&I&^v9HW{TX0RhO7E%fA(FY zyy&h65|UB6fNS;7A}8&|C?y9cY#}YAr>60bi0=jv^WNahc8X3H*D>^lIA?@%k%WEkga@mQ26% z*}qcoy1y4p5%CgM>2$~ekMAfDhNtvK$>6B)B?+aD2nF&aBR_4=IKtKS3H8~JJF8qw zc{Rsk?KAHRi;Y>$K?$qXW6o^-V#i|vLvjLryma)octLlc<`0yn8khht>p z(QmJ!IZJS=o|N6qU~GPU*2=YMzZxCHQqpKsP4!k@@eI1Q{Z3!{0GFj+0wSJgpR}#i ztLr^CBUT9CI8`PStBqc~1zlU9NY}D3w{@Q7?oO2K*OPS_oXbV68*AiD;TW&iVy*@W`s40pX3@w*6rksDhIq%T*|(5299ZQh7Nz2R7MVwS z)oS>GJVZ;mAq73$0vHvNRRWgaD8Z8O=BkxD&D;M8hpGc^bt8zFk=aW*;x-18^cjHT zp%TDm)-)-|lOw26^*K#F?4Vsess8(B^l-VF@^@wJ!X8~7<;sCjF``y79K%krM4Ll6 zhJ{FQM2G2Xz3J;uPlSG+-xI=N%2Q_*5CA|2hm^S?ZdY+tJ$pyGUbg zX&j&ePKTw@s+{W|eZ++rd(`ffJ1`iE=Pz`JfjV8$AbuxpKdpResFq7rW+WsS@^gej zEf>i!foJpm;Nvli!|5P1#cpEE&1iyi(k1J0?6t2AC;x&g2hF0{gR%itU(e7j4CNAfj+Ao~e-p3tYK z9tTpEhO(0~x4^Uuxeu+7G}WG{jpNQ%G74-X;W1DQ_2%7y_(e*99G_($h?Pq~Wro*} zLwLot(^p{qi3U0`f$+lg9)^Px2BxGy-2m`S?ju?@u*At!?nvlwD7+Y=4;>@WXZ!u? zegQVPCRT#aq3*;GDmlwalAa?6la8N5R+hz5!U@dT4phOGj$~c5WiUN+(Zgncp^gUkn_PHtdPhUI-4rHSGvpqhqI%Lw%mPv5eFDev3#U^Nil z?NcnB=Jul)ls|V0K1+#r$t_X4sTI^UqtMbnxI|-+M`b^+UTaRC)1uUzBq%6&J0~th zjo;Er?qUhUwhSa&f8rLXCLk_?PB)Yw#tjgl4DjaP12;A9seXq*LbX4j6Q?5xQ2EA(h9_pwG>w@fy%OWDNTRSnj3-;S6O9eoT zKl_dnfJpu~bdPu5Q&|-A7cpBAh!>D*KhJQ593z3re6!U8_yZ=Y zWx+_z{_2T+#!b|Fzj%}keyC&swFwBkYUv^K8$X;ny5t-vX)!q0h6A(!7F1Cp}|)$&kym1e;U-5or7TeZG@FC zp8~k5U+*$Ry{%Hhe`RV;v{ygzh%3Ys*QiGWN^Di&gR7O7ktLClM!la>iaITHbX*K}506cE*BsS@-tJie^Ae(|a zEc{?XHhi$U-1YmL)3a22?X!^I+WD6zD6O}sr1hzw*o02+Fx!#R>J>y=)qu>swoPUd znz^7>+yV3Z8XsTEl6>TbLAfF2VI;e=g zPR_Ts<@23VEV^j$55F3jhz@ATOslHG`8WUaIAM^?`!e2@jvOA75%}-O9bJF%AVEM(L|DEw>|MZrMVoC%IJ;A!@G6XWwu!C zq0^8S5G1%*354GZkVfTw(jboD^n0afj3|gP=hbFoJ>qN?DI>EbT!`~`?v^`}zpzWw zTHrK3Kn1k|N$p&54Og-?0#9AtGMI>M&s*ExmQPR)6@m|3ue#GJK**IO8=~)Tr zHS1?Yj^E+8M_pw7T+R?7F1A@~J?#h8*uELl)22w9wCD^Mrx;!9TtERx;^-;`2dvxs z(}lbYQ3he2^Lk|ROhLh@31W7K$C!I&6R9v_XKcxu{zy=|7|pb_n8CMQ5RM5i2h@*= z8&VpW8-e2XVUHX%hKrblkKf}>Xdqo&V7iMt2j8~BStZUvMetLdZGZ9j>^iwp3vNsn zYuW#KQlquUwC&Ca38q39VQgtGV?fM5>u?B7xySQ zL+cjxXDvK!5;nZSoC#Rs=57vS3QR-ivTXahR&_@$a!~svVx*HP)ZxNeb4o}6w^!Hk z8jUgzm8U@iKk;f-QO@;Ze95g7lt`8D3qB3NSFJRx^(!bk2`k-HN zLr_^Pn~<*Oad9ZQcel_9@Y?aJmq9^>GJ6!wrV})g^z6~??8%RX`i9fD&pH}syHFV% zZ}sNQ1*6}H<{*wC^$i^*rhQ0`rEr)Ue6K&ikdNLSu}L4-LMBaqM#&L!7^L#teJ(o` z!lD5yi0cGqV}95<=3gA6mi$FTh# zK*-osX`i5GVzQ3hSyh?d+a-bY5wv&XJ0CPq)F347H0Dac2%y01OZ)S$Y;l(b1Pkt} z-EG7cE$fWJ$72SQD*BrTe#(L010UR_g-5ATSALm#p4|G%$SO{4GgyA{H|E$(=BzL1 zrtS8IN&E4WaPs2qMeQ(%xlWi?wg|hOnZ#!wTT&Akg!*kD>y8z9Gnp!OJ+&|(E~Y@r z97VO2^3NNOM9+P=LR72gr1^0cU}*; z5Cn2DdPGRqvYm@tp=L{RT{w$^EO>{~LEl3d6()f;-HT>73tQ-}JqELPk%YWlLfT)Ri@#hlq?H7P)Yc`K;* z8(2z+e`e)WE}Zfg#Dgo;=c8RwtVf09A)8t06y-YO^#!_du@|6sFd;pOwoaohb9w_~ z_Y_u{)^{A>di(k+nfXPy&RLFSK+LvH_lqJ>xLVx0M)fS)X*x}Xu%pSQHA3_z z)S%eNF@9E}Mh96lJ>j?n3b{53IU&iQ3`F&IW!{Pe4EvQBzseQoPUf$Mx(y4&#X(Yw zH%hL<34%2?`HY&Lq6Zcz%C^(rIgLoSc{4*}QBV2i7~)SxAnKL$8Q+(@LvO}KOERdr zCS1T*=I+30A}dOJrt-z9xs6OD#iWc?3aRC#gs;Za*YDSza6B7`(ArOGFk^qJq$TQj07neLOhIwq84t0ahQj?TTuGvjsoYOMN!kV zX}by-n((zr z49&Q&eFc@2Oc5DH>18R9H4j4XI`|Vbqu|2)C`=m7e~;&ymguebva?K-Zn+@g8we~) z0g|A}3&_Q>u~nqek0R`D*mVjx-N285k2rYVO3#!&{M4_TEj9&JVLtm6Nt&=9v(Zz! zr#2CW0*m3*$oBQphi1)hee(6R*shz5d=*knCe*YiCy(isLF*v?ubI+U*|Q!q;pk8_ zlpUJyXQ~6tcjI)QGgiSln;>|}i7b5r(&LXO^CPKnt9!Vi&o5#vDAEa=y0cGv1BSf? zh8lLAEfm>y%Mpr?c~?NaJ=(g&neGwG-tx+zlQ#+IYn5n5?n{b+Rfb<;>Ai@@g_g54 z*-;g0j;gt<^C3|1FexQ($CT+-R6a3m8lTx6#An+&E^5}SebI};22QgU9<@gWexNgm zbOZ2iY$h{trC!X#vAT*eR)2{+I?TEH#>F1-(aZT}5r@UBE`2;vDngAP5yp5*zZ_Np zn{q*pc|43DYqTDiVzHat-LYU2??agUGmKro zYRR%J%c`KixX)62a3L|_!+>})b@LM2^IBydfl@jdQ(|{cUBA9X9t5)eFcy@%E>X?f zio!j70SteZ69lKM3W9rat@X!k*OVarkTd5Y{rXzg z7-h#vsDxrul&yKkBk5Cxk!vVs^{lOms8+B3T{kb9p)YaFkD~mCHFZ3-v$7xx_o5Tl z(&pyNW;3d`;52#UcN&i2fSDwot;k=C+A(hMD(8ZeJSL};{dKSK5jLuh_57t;Cm zNH0DoW5;jS#++MyeFg|&20)(09$+F{_IT=uB?QA+Fr)i1mDTDo^ex&q5%dNl`BYJvS?n;lQD6>f~ODl56K2SH2?HJOlNb{{X_0H*Pvs+I##f3eXc3CzZLTtY;6wW&=CoOq)jm4PpF zBsr5|-|^9LF?PNvL?FGvYZ7@w!^*=2EzK*8ZpYRRohf`i;&4@eJxDE0!s+W8E|=)d zgaSJ-1@FN>TTppeb?GZP%+4_Gp!pNTeqGQ(lCQF8o+q-B!}vKaVC&|dCi!dJLfQPY zyC?gnZK&yYuFmG>l9tBP9E1_bESwVx-1lh|f)0+KNH_hg#`U$eVWuBm)<3`R6-_ZM z*r-}{+O*n6e=0Wl^bH&s+%M6b)8HlDvwXRIECy{o@W{NC+!X*d_cy8b)K4UD-<|=9 zs9im22!kXJV`3kh+Yn;Lq z=9htBpkx>fVMEz55fNsTiEnRx=nraHbUAR$+G48Tw;2LK`&MgKU};!_X85V$!kkGr zR7;sdqcNGNBF*|`Y;mtljg!0*0fsWEn%kN>$b-X;E1y-nrjh#9xE$p<^87rW`G%cr zG)L@_BDxKqL~S88=+XeOQr^|r)1$R5AeMYsh$o-jb|1=`h_}Ag&|uhD#i`BA zoBT<6*@a1X$%Yc*!6nFow%z6p1Af76LS;)_Wi758XQhRE6pUPpo>^cjmUcQ=6*MWD zl<#2kz)5GSQ@yShP|0+R$$mpf*55@<{d#&|GF)Ui0H4!rCLn`>Dg?f=fW}p|M2y(V zg@uqINq4#PF~lQA+*W5bLnF$fsc{0J<{_)ga!OBpPthX3gTR(o$8%3-etv1l-c6LW zHxbdI@THULzY+6mF%HDubYDdU5@uv#5<^3f-`P+`GsxVz$8 z!hYvH#5SEU;E9VFb}!H+ds0Mn4g#CyHvOPvA%0T6Vw$@Q5FsNRu?W^ihE=ktvA;Pa zjI59(XD5L+l?Z=u3Qh@aXd=06g4-H(a~GV|D;Y*!qh!8}_?+i5ahUJD!7hWb{s7p@ zyHXt<+I5U_aOO;pU{;T3;1@4(fiVSvzRgu#i9=TQ&8y;SeOOl!s%kZdxrEuyyP4-j z%}5r=T`htm}ggT<49$*gdv zHRJ2B!GNFwpxb>)VV|M>iMQW8?m!}mdB`%!!2-)DBS9C`{RbICYhe%O zS;*3%Qh(`ZCV!kzl|n$unwz?V`C9^#p!(M)Xda#l+i<+8z6)2K(n2hw>}NNeLHPe!~xb>;t%{d*StSs(d(?em9G|C$_sR$KmisQ-=p^Kq=-`pG{m z=oeD|4>jdqfqza){yweshsmS<`RvwTaevNT{Z3i_VFACo;ok|&zoP!U?EBA=OT_=@ zEZ1LI{v25UvzuZV{&T_jSLB}q!0*8OhdHqPLl~Bo00sN~82qmn*{^60&i4D${{fTV Bk~aVV literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/docs/Vicidial_Hardware_Requirements.pdf b/agc_2-X/branches/agc_2.0.5/docs/Vicidial_Hardware_Requirements.pdf new file mode 100644 index 0000000000000000000000000000000000000000..543605e8fe7fb905f4a939d3152cb0c0a6ad8fc1 GIT binary patch literal 81248 zcma&NQ>-x1(x$m>+qP}nwr$(Sw{6?DZQHhOYtHF(I+OgJ%-mIK-L0$VMUg6qh|x0A zu|Say6%Ta}wGQP$F%d8j*c(|v@$k^gnA(}USP(G(XQMO?PQW9VWkVrpz} zV#>z{fa75gBZ`hM3m?MWB&QZzLfV-@cnVM zR(3R{{4d;7>ii=#Ew9YJjsZ}PzE5V4^WD$udnOF$ zZ|;%!hl5n9Nj2Y<4rSf!x4}WY@)C#rp3*^bTlDv?q>%ougxOgO9%zK^Lj6;0!jL!? zk1VZ#Ixnc3m?E{t?}TGncHZy;*({O1+GCXEZ4M3x`gqOo^md2>z(2%>z{TQvW>YeT!c8Emh)&zHfP!lyp}t{rBHncogQmhP#vA6xc(}% zq*ZhK;)@q~L%MF>`bwHw2}_oHl5j0e=Jt^Il*svjniFp7&2Tg= z1*%9f?uJ7PLAeLB2jb>>)xQrnHgbadTlH3!i%N;d28zQ9OvuVLYekjIDLN6G0kPwUB zx!B=ywF@qCNwR`YY_O=6Mz~u}8kN{XskHPW|?K9YmUrYs*gn=vI};D!EuLn1YUJAf0SjI#1gwnZ6} zzf*tbjzP(&Dff@@P!~s9Cfo4FMFz{9I~_}B*=;hVjZK0PRTxGnf!0nDMCdVMYE);N zq(yn}w1y%qGtmId0Ufi5C=?f3RJotozA`Tc4JarpRL>C!Rzz-Sj3_C>ufyg?F$*(d z+Y|$&JqAUqJ%OdgHVfbgP3p1C#>Dq2&c@jLnwN&FhvZt$!sTV%#24b5K8tm8qid23`i3Y zOO=ultB%;Im|Scr6>ZiDmVK|e;Pw!mOP&{X3-;;6i}FL+Msa!ctXZ^%gf_|+n}tXN zf)>z6j=@y*Qe1qWR395Gi9_i$DwEK$q&SIecrmQjyW|+(G#AZOnyaE!XykY~w>38# z4E~kwlEK3vIPV065LDh+3UDNj?+^>cQlgcnq!1bHq-^e@kitK8HnnGjWZllK8f!n= zKjV!Ah4+L{Iq$gLA*KhM#bG~Kw;52L(;ZVfo29jMSZ=#gGhkUoUDm<0WD9mYZKhjc z@>)JRFUvj4o_i86@ThgNMmwC+M9A2b6oR6n3C{A6WmBB|5})7C7U@Z6#xG556z6X! zXT4+o_X~3lao=8;_+ihL&u6bkMvLFIOY;p@pZZ@P=9~VJxu;Ng^RX$T5JeOOIVi)S* zlSx~6tpLO8j6$TP?!r0DRo<*_?EX3s^LrE$?-;@=ThYbyNQb^p1!0u`XV4xN-c2Hvo1zd~=qZ5oj~I@Epe#ar6J zZ;dK=OZGUx!@h}0Vqr85y9b$!-rYQzU!~){wt&=i$LO+sWkxf(u6!z0$@jQC zlVg3k%-&gGzq;5g4VBaK`Snv9?9Xh8^w9%rLjGuXh;#c8u{=?9zbn>=`~h=`WB13Z zNKV%r#j*8u8oNff6+q{ z%y>=vE_eJV$WnBKfx3v-H~`>%)r0(D(1>}H-Qg_2w(ASHvAy#WE#BnQCHLZ;vitxx z1mKCin5^%`M+vSm3|b2-aeSEV6L>+J2a?y?-ILQvDwKRXwhPhg`_-KT*UohYGLNMzc zUj3i%>~Ltm8VqE7mCpDnY}f-{8vMi_5)TWlmphm{>iHUah1JMz@@C9O-Wc)pqKx0Q z+T739KK1?@21>fW!NfnE2H_Yd*%@jcfXt~2^Wph^jvmLj zbpYt|{5pN^_T|&$|GYBJrM(_{gwHPIDc}cqV(3=PDdrlp&M&rmN1nN+vf3VfD&~Hy z=MmN0+TGoYK8}3>JiYDZ3A#&PVQ>HpJiWf2ABW832~9J-n==-ry42=1j8UtADIWX4q&RUSjy@utaWgLirn8GN5^W5eqWw5^O$Eeo_WxC*&|NZ z*3}!D1TsMB%)kGI|ek_O%I%(EE9FNlZjA1WX~7J=+MpZC3b^g#uQ;p z-6_Ey^6espIRLX)g<0+`sSzkN(!j{^R8)%DnLmd#&mx3eS*rZU0PKtT;NAJrU6ubW zog!t_P%)3y()gUYu7l&*WvcM-cUa;U!nMyExi9qIrCRm^)P5mvPbQVmK1g5(pL}<{ zd3e_|Pb2N*^)TZW2F&*-@VbYWHVMCa^oM6*OkeL+2|kGRYL9`(NXS#f&g3=4G`Z*b z9{wZJm}aUJw?4^OF0;&&;mXAg9#eC8mit&5Vl+@o0h)TtmU8`Pha+LSzpH^FU&;Nj zP}#kJa~E&I{Oz7TIfn%~0hA;ULk`0b9SKCeBMLvzYR5VI1eb?zvjMa4UYCB}I1lp?S&@t3f{@mNt9ec0WTSeyx!RQ5)CcnYK-xKDF?pn^`*dk#9(6Xxogsi|o6W?&dl zVP~Quuop3LRT6~I8N8Rhd!wA0eT5{OQ*uK(X%lK;cbgzIG6vGphA{L#A2Fo{OaNx_F za013NGO%iWv(~%3c7RKNaEzhFT@TW(e}sCo6jpvL4{!1H2#6)$n=OM?m~Yx|h_e^* zOVNctYdVv#5A+MR>@TNY|6=qDg4_9sTYhbS+5uJ;qk~mHZGnwDLM2rTUn0G?jmCMA zS1!6Z{N{)Y+^Ycc`j}af0I}J%LFVLqT;B340}A%RE6;`5NiJbJpwsweE%a2hJ(aa~ z+rjPEBTBS8m{!R0M%XrCXaaAi`waUvPA4&HxqNOP*&DR<&`Rg;sFXQJ#waiwd7kH6 zm3(O+eWI^c%(c!M>amiL)lYTjo(58e5HM^0I*d7-Wqf(L2WLR)No}FTjjp(<7A)D7 z8cNl2hEkgZ6~K3;=fv4f>AcaMcKAk;RP^kO+>!Bq;%K~*{LJPWf@92g)0cGQnSmWD z%3(zqc9I_b^R2&HFpJ7HNy~AuJ|EI%2nN6U)ZE>epQg+1lQwFZiWyWH>2{9#W6I1k zROXzPj5B};nMT`weKm<KHj~qdbdH4Wu|)iq{ovQ7pItk+AY_qm7iimA9LabDEmi7jME* zAhKY3 zoPiEUI({WEw>e%7m7C~%am`j z%CptCmQ@ywbls&p*P(ItRjlNPdnR?81XIU6=1NOX=cKXfy2|d8S4RVF_7r2(qnt#Kj5MQ>6p>76vK9L}{a<;7OhlBoF*tvflM=R}lh$Ux z-9>88iu{5ajHC|A3Sz@Umzn);{4%;ugcZUJK!k$#AgWgt@Mf}el2Lo>TRbc}dbQ<4 zw-mF){gH_cQ6whj2O>$(9zGK0ujPv-O24yMUTIy!K@1qM)ht{M>gao{8enui*H9LU z!ZD1!@l&ByWpoIAsVkUoJf4^;aZ`rKgK(Wa>(bifeGmQ3F!rXIDz~gm=hF|RuyBQ* zSrc6B)1y*U%=KqKszI*%wZyZ2Bvgcfd4jI5PYLUTUDCprMO4DoYryNgL-Xil?@K|U zg)L-eG?e+4;XDBGfOl~o7zT8U6odn-KijL0+HNfMx8_OARdqwK83Q&fmSD@@GI8B4 z=kQE!Tws8)g~_D&YTjY*Url?j6r5&_5}OsF>WWo;PYVSt2tOnywdjfnni8xbmGASo zuUO2)dZDR$NqQ-Yu)p>a1g%FSoT>cvN)^WAMHKPLeEc{A zQ{yr5k@>oQfHrYmjk8*XBjJMzs#Y>3qj{ef)hS!HF~swB=(^=4l-HHB{A6kfwMUn$ z%#&VW@mN#JvVuFeg~fcfTFTQa7%9dpCwuT(zAOA~uNj7q-oNVC!PYSwjU{inku7Z3 z<*d&p!!9i#8mBUB8*$Kr9nc*k{U{*if@CY9pp)aK!i{yPFeUG)0`1MwMoT$k#E0Fc zc{jxHkyM;TB?)gdR;xR$5^wJi{UNslmU!(URivAQ6q{1@W>&sp^D^ATM(8CZM!cy3 zUGHR2l45Yu3j=*|q=Vml(^A$6fi|(G&j!YoZmV64T)vBHkz3WfoGT3Bb@T;17p{`H zb*RabWMIT9YLKOu1e&_1lSnI)fkARz0UoZ)p9G{f(K(;0-kQ@E<@1ssGplsx7xW4H zk|1LG#91*l|Co|$)a&*(=RtN$Jd3w7V@OegSfj$DoJFTGXPv;SqM)hu4pY) zmfFV{;0U{)jdrNLv^U$DCZaVxDolEP7SwTx<_1gBCh18q&rQ6cs5hHJb^(;K6v&3w zD#FC#j_}vylV3=Rqpi#8yM2~?MsFrG(H5i@-Xl(T@YX3QA?BqupJZ2j>~K)Kem8ry z)M%0}4v8+4$+?NAR=NSsGrDtD%=}Ij%IMi1(7;AFE{>^QD;Sjs4#8ESev+{$jnaXN zUPxES0!>vmwSJ=N>$2LwPYnbVotL%CcJ5T&+t@3?t4@L)mYYgTig38#ve6~0=s-#b z2QtW0teF?{txG(32YBD7gc-&>^YY@tLIyK%VIUpo;9jyf(4U#RQzl*+lAG!b&ZKt! zxQ)^pewYYA_Rv;T;su}of&RQ+?~j8={*z#H*8huO`L7cBuSj8LWM%(9f`#LM2o}!& zAA+Su=RY=X8)DC!`tnA=<~B1j0*s5Q`v;9TfPVmce?5!_`cE%rbc&3bSsM?6*|Ks9 zH0D$kI`r0#pYO-r%#NQ!-LINYxj#Mj_s`Uxz5mC~4gZbw`(2uU?{;6$@nh$1YWyYW z-mlx&&(fYxyYJW7jriH0!`EwFT8o}$-}?e6`c>XC-}C9xHIyIPd(%kG%Ti1&?1}4< z{qE+O`!`Q7SU8zw`rA!l|muRaZi~_x;p; z!4lPc5}vfJl#TM&3qB9*$4{j@h(MU|x|+G9x0W+*d;wh(gNlDKNHVP+xE@JLf$Ba6Sl>)paAPHW@mp&1gXgc-lB{zcMzF>E6)IK>)o2+s5vZcq95v2uwuVB zhTRLjEA(^*S?8rcA>)zqwOQy2e+JwLEo`oguWv{i(JoY%BXV3_+_QtYK{4Q6wbTF% z)%_9-7DbLNfy*Z0`BL+fT?+CX%g#EdR=xGnku6&uQNz;P{^VJMY{=0l1JMfzR2A)O zTjDmlu!ZzN=SZAfnq0-Iu+9`$T@sGgt@CF<@%`y>G9E|SAAQyb2DC{%iqksS^VA`DEZeb1w zAj;Pq4#p2Qn&TX|6k%#6gW-s7o6yvk!$XN7+Kz%SwyRA)q)IlN7rL%7#UDg)3|tMH ztk_idb0vWiuCS1Gs%?pkK(81hNu)m+Eheh z{(v1&UJv7BjqPTfVx@w3#A_EmTXaViMr^p?q;pX;m8z`#HI>_I%4GxoEAo6P9F(3; z7Nq}<%+yAm)7Fo?);W@PIOW^6c^D1oJ{CAE%4IVH_?bw{_&%w*g_jwkAve>QZD3EW zxUF68In~9f=e7wVtHg1S&`^E{ORc^y{}`JNq~V4+4fJ;7@Dq?5yVMr9o9ocL|NH=t z&|*m(k3PwadjQ_xYgPTM0v9uefTMTVzsoews=L z37IJBQD`g8)g)c0sEQ5)htz-xlWwHBF90)G&4^7_{b7AU(8m~&N^X?e(OkC2`D}uG z7iZIHSga{~xe8?eZ#ZnQ{ZZ-Fa&c@Ixk7@O79Bt`x8ivc>ajEK{mrc0@QjapZcZox zr6FrvSy^iaEK9>xqaaFApVLU_dE;B>I`4)m9%5Hb7}wqU$?qNJ>56=$ka%#U-Tq9<5@! zXdjsXq1)KPVq`|V=Mq=cs^9m)dZZm`?||H=dQg2**d%DGy-;j0O7~Q+`d&0U6^eoqQ@yCsJX_MYoWS~n+ zn?*I-@&&iCD#KL=Ku_zjwmxj3_aqA;Mav`(atTpur|^n&mv5AY4NH6v8#N@bkR6Hn z@hJVR!$RFU>^?*q>R+P-dF9~09}sNU3~Vgpbly~2Mk!4?OHkBfB|xsM5GprH^%N`! z7|Txu0%~b<%xApT(e`sHsg?|QuP%1j^l?>48J2LY!DQ%;$Yf?%eN53A*ii!EEs3w{ zr)D96H4Dd-!z@~OhWGjb`NIugGr}aR5qqNhr^niwxvWbDjREjQyH>y!gmRgG7&a*- zhJw}o=l}8V9Qezq7Q-sztqD`3vlSgL5;KQwYj?8Xo-9eWe)ke_S|TZA$GU~7H%4q=J^{9OHEGa2%D%NOKhqVY!kRpy zTEJf_GSqgUAXpWzQb>o}i(UbGCzsZcMc1Z{$CeaNh5LvylFOAsq)PJu0M6lO8kN)$ zwZ|GeZMov_ibgPXWmLk=0~z0Lg<$z(!2l@SA+-b+wvNQM8Y z27;zeY!sLY#{1=wSW!eZiPU`Vs1~AW6JKwYO-ic2nA8$H;mNXv1BmSSt0cmqcp4^X zUD|fYHSq}!SS;!pr5`VZJ-x4f6rK*pVzP&OHXfdMKD`!?wwiDW0xvhZxyS5CBNCI_-0Y3rv#39Sa*QOtdZbohm=O7v);gzJVrHT2%^*aM6$@u% zP@GUOHjM|>rw}$OIwuAaS!ZIY(T-2{0I+lgJyz>wl#r^e!*|t^MYjNQCB9hsSWbF0 z|Ani`>yyx&*#uHtID{PQXR$R)L{w=mY2c}A?+aLZ+y^JZ(_G@qQ=DTC^-i@bIP ztU#!P`d;uO^X=cFer>Ai_F3*_+Bcw4W4=%-Y3_CIvvgjFB*0f_eXgj{rhq%nvy&px z)i_L4tdpD$;L)R&j`Xd~z#SxCKddM~ZkAi}SrTP)yTm_6#h*~Zf}-4xH}Nqpn| z!tAwiVqXKlT{lgR6nz}oQD9jEXkx>enL+f@=kYi5>|K;R{u~n>gJ`QF&X}$8E#{h217ls`w+;sS5}K9a>5z#Vy>jLtjToL2bkcPu(^c~Sdu6Ta|CE-gIaFU0 zQZ#sRdl{Hkl_bO*kb=I;GnihthX|8T7i6udlr@HmU(Fz^OYRHvor1UQn^trUN%?#j zBBCm>QF4Ad3Z{e6jZFaGtA^d50`nZVRG+x7 z@_zUI%MG4dof2b|l8f?iRw3#{$}hsN_~ND}+$WNgf`Ar@c!Cmwb^U@G+%$PYEG{(^ zzxgCWN3bDSE=Rqg9})EgSrSFYHaC4L{&}UZZ;0@MhfdVTEns{|$5!4smJH6b)Gc`i zai^FaHJMZsU>lswmdLedWw0FyVxMhxKRLglS&!wBOWABJE<0LYMQW{Cpq=R`ToD*K z1;4VM?mYA!(t*X`)EwI9X{Y9D8I-p%sU)<&ZhHur}boQDBi8m|_rf&J*pyV(TYV~(HnfS?J@ zB{L&kX7kP34^9&bWzpzrF4V+YebJJ=3xrh%AcL})Qqc0Z4m@f{+-3U8D5P__YO~D) z3Ocb(s0cY4BCOecCMyn^+S;g1_6EO9=oiU_VJt0B=zgAN{?o>HiG^{F*38f#i zPTvyRVg*OTV-P3}Upv-}>+I_1(s;Hs=hiOeK3c*dJzwO;VcHJNa~Q<+31m6U=6UbF zcA%kigK{jlNTrjLo^;@f+B9Nu(YFYgosD4L-AYAt5-ZqWnLuuiW)hIrf|FSeuU&Zc zUxgWAqM!YPBiX>son%yn&+*N1p|r^2_W8z<%q2@w(9gd3n0#A2X5mhN3fl7CqFsw| z4bS4IRp}Y<;7I%U8Nn$eGjJQdP?m+}tt*KcIOxrQx;_Z6l}1&b3L`Ce+GEdRYVGz> zeZciK!`qry=|$}s(V>`dqK-UlrQJ)HYbH_VrAYO5EHsEMo9RTD`0fptA68{yhI2T*rk#z=I;7;= zAvo-XSUZ>eo3@b7b`nZcrY4RmO#-uFW}v$wuYVu(FiUkX2$ji9#gGw*6Vbx{v?c+7o-=4eZPsYkV+Ziz@*IHV^gY!cRU;bu^T*1#xI6l~glM zpco%W4u^y`Hpgcp}oVK6#C};e=%_W>&*Puz+quwW&S?~ z4kP3LaBvv^+s*s`YU1T+ZP}5G!TPSLPd5cpjC8sIiv?g>lFiA190MD13m|}x_rAXk zS)+D!X*DsSElRQKvOnJ6$JaP~{G9lwIeaL4gi440+uM@b>-%x~7=usydklZR+v?M^ z!>2FlrAtF&=DUA*I+=rS7wGo+_WEG#*Qdk(^V7VS{N5i!5FV_X4&E1&E@wistquhh zSNCOGU0dPnczl-~U9!ew-W{av4(F~l&oi%=$L9k2Xt~4y0r0YLTUCY~r zLK2{Ge^uLbbSVdjDP>_^h1Ptst)fsc07UIy=fJBQXrsI4)$Cd-yg{0UTi%cDC(0sw zbZ1TToRddARfWkDS+Hc?mcAVrTP3e^Fi-`cr}!%Q!TRF696Gh$DVkrCFCZ4jvrN46 z>roxxp&&n+0}AY`I|LiI=i!$Gy%=gzbjilAhmbdR^D%)1Cgz~}y?w-x(lCn>(M;uu zoo3AuC%1F2;&h8Ob}iOEq`Z5f_RgPmxf}<_V6s^ zao*DnD)MA{NM1mZg7Z2kQg*649d=*^9|8~%o+~*D<&NmEt5et$H>~maQ0MhH-iDjc zP%$^=4tFKD)_jL^&#fasvO?ntx^y7p- ztuJpKZZU!4w;e93*f{{;DnvNUE<;j=xYl?Q1$^8_;Gw32()ki(1reV7-eLY}42$R{ z%mjr)L=f?8h;8$+*@mfg;-)EyaqU^-jbw(nDtumqo~h|&LhcC=oJO|}Ymr}?JypqW z+KNQ8|54pMW4*%xjl^-FNRIc%(;&r_7eS23I}Pt67pN;q##Q+fS5im-)%|mVL4|K* zoQ1s$mYw08C&v;x$$v+U_|MqPshM@L8cG~75~($IfqgK+eW^Ocu+fUlCb;|Gsu-SY zWKpE&`?MfxeX6|DkX zX3GU5j{4rSj&E8czJd)wn<){QE>OximyXvSb+NN2CFX8L-0}REKtK9RpgMkK3W5JD zyojlC9)F-@aKT~?6Ks;SD}4H>G#-g!1R9*D{?B~~RwGE=!vgvIhEut*Y@NKf%cob*1T`dD+tl|}t$I@J-1W)8}XOzq~1 zl$RdPEI~Xb8!`+}u&ib*Yz(TEUg+U;DtE#02_~87L>&id&(yNqK9jE{-8{z|`x>+q zHoHkFMIxc0dQ_U}`dJKMAT>$lrZs#!kiL)&NNHEr>Yt4}wRqPYlr<)m;$b;*8`YP0 zez$bg36HYE3a|4tv;L`%3M#jAB>R67O-K^jJiWDdq64FgKs?ZIj`d1rG1AV%W z=qgU#>=jSzwfaL0W#lS|C~TVBuWU;eT;to6eG40^>&gC*4>&Y+%hFx!D(z$bVJNTV z>9lsm_B*W@>%Q|OCF!l?o^36DXh`ZdzNKi_%Vl$peec`ScNOH|Het2U-U9L-Q%!Iq z8YXejeN`rk$!rBL1%b?UJR_A@hHVVm*d@x|_HKhAC<(jOZ$~DNk3xvk{(9@q?gCp? ze27aKd=ihaVvIC--5yRS)@IpK9;s+gd+9bl^@tby@us9U|q7@V-ozv(LFpw6#lh^TmfpRoI-zakSM)jqZ%I#Jl~tPu`Ci z*B=Cztki~}nUFY%B0XW0n|g&3?<-pNekvaV_T7$_Dqh=$cI&h(s|=@cu9r{b{9{wz zOCiWG4#3uJnZW^ft48lRm+R$gaJwzB87BqGp1(&l?CvtLpru4ON%_X6QiA_96CwQzFFUN@I$wF3 z+UcrOV2c>st`W4{hS z!>!FvaPzW&u5QoXU`N?DbjeUHHzRs{lC-LAzgar57f+X_Z?8qj63UXip%+zWlIbAg zkoWSQK#fcZ18#Epn`E@u=o6A*YFcn^GUT@3x~R3tC$mm3Gu7{~ z{8}BXB8h~Bm)n3|I~;pu$EBgVSnB-|CBBKf&mN>yn^C%#O$(u?m{+ExvzEgn zLG6~^vVK;^Hl(0GEE<)x{>{1wuYMLlHW6{NM_x!(4WTjd)UN{c< zP4j=JU*TmxA)yVCgW=2r8EB1;x9HRK{XIS|9{m>`awh%?nb{cs50^19 z{0}Z;`Y)>e-?;35Ur;a-urV-ku>8O8C6;@TOzC zYi)*qZb~)w-EnpuES~x9&VAj{4`qL4bDmAV`SqG_uz1XvN`!|YL?y4N*IfUtjJNqm zAb3F&+UWV-kbOMppG?Q|g~i`*p8QzXZIbwVQwm*@BOG3>*{%D0$m@ANj6q=f2hR)3 z*L2yOWPZ_obs-k;x(ndPT;=cQPRsxuj}hSOxv!L7opIVF68htOPTQ}yd!0QjNz6=>0BER?%g>MP8bYTGqS+*hMDElxzJw<*cX*0 z0NRe)6TyYf%RGZb?gJRj+Z^{(Jrj80>jr@>+$}Joi07QQt;76G3;m48PNv8cT#LA? zzzI>qT8Z45cwd??fO%YcuLq7% z;j8}s^BXpF!F+aM?gSR=hL2&?Y}IYSo}h@F6-LibQTQ@_=4;*eQmYuII#b6BSsYu~ z%RqU;qVDHVvY^un?2YUNu6m&3iv102X%Fd(dFy|1{zhN%W@wdjf$aozxZ0}siYvM+ z3U0?+V}=_AtU3{ZYzDb>D-=KYnaeL~M}FI9{AT(pr{dpGYf!UE;a8)gi0Cv7>6)Lq zk4@r$x7~-e!R?B8a?VnLMP?s>S+2&{eWs}X{>$}IeBA1 zLj+Y|?nIy!$6jbT=X%zCudK@-I=6p^7K5eTJJnO&$>&n+0AFQ`oDFZF4_S@MzvDij zz7Z~R=z(rxF~l@mh^FsHKWOnF?}d*$e0%tUnFGlHJe9wO_#*qlu2n3lY!;ArI}U#f zn`df<>+M%JXt@jg;0x3fwKu?yJ%pJ)*Y)^iHp5~@uDxTlXYMn#H+FX_Q)!dO%ldvg zMo+<&0HC-EaBTK4Js!4em|<#r4H( z7r!;+o1a;wRk2B2o&CLdJV%|AqK#O9#1l;&wpjiz6TpuS+@cd{bPaxupc8Q?#4W!I zQ14c-YXL9)P5K=6nfjUV6QvhmP!QwE%i~KGz_sn5>%a@aAHOeJf5d)&?_h3xWO)G9 z94mvZG$&)G+SD%iO7E27iSCK<%2d5cdxNkY&kVl)&iUU_dt@bGEoUXSYTT1Ol%rv6 zy_C<@^1Fyrq4{B3lEosg=fkmY621IyLt}Fz<|w`(W^!nPU9ch_1j9RpjyxaY!kh=8{t_PhC^nIuUZJ;%#9^9H#H&k7)H8tKK`;qp2&3n~5 z_Olnj=_`dF5`MrHrw>G}{z2S5{(av49wvZM7^p=o10&g3vSI0s40uy~2Sjblv{?IR zhTy5zyHFhS90PcUyCyWYA@jAATYzu;58)To7u=V8?7^Z=to2E%lXZu7ds|1I^PQu9 zIZ&l$rE6ulYTZ3v?>PNI-9G+)-YNg7JY@GgX*H4^$}S?65lH!pyut2VuJEJN_tv{r zN=jGm2gLp0#A{XS0cpJvPgD9%|L)AMkSizOz~nn{cd+i9p5_N0ch*Pt&c8G!`U5Vu zd@DnGarXkK-J$PT&WZ1Yrh}1ba*kPFSpG2^lP%2L#T9)gwp+B7F$l&!G1_S~p3&~f z-N9WYPsEmTyixoLJTt#olUod9L3}_pd*j>iaKF)N^IMS}9mN+=E%>Y7;!7`$yNhXD zj)~qO-e|wMu=Kw{@_Sza*4TYdo%D`m$|GI@NAi07m?OaDxV}J?Z=PR-IHKr01N^Zk zOkAHDM6tN6fEQfD;CEcLV6Slu$K-|sx>Jy*5Z^%l$y5d~st0HnU^7QN1M^FJBwt8| zeLXTT7F#rhB>h9MW05!D9)8Xbpn~dQ0>LN|ipi6nU7=n6#f|1^8tWX4zqILunEP2?{0>8^8GmylszO%{pUeO)b9AfR&ijbs+c%5!?nLhSJo&#jMNOxVulJng+~#&nC2 zv{uph#xAsGsGQcyGUER_`%@PuOsgDs| z&%ft8an+v(!X5801kr8bZk@YQf>Vsgd8Kz7+PP71ET2NW)MlS=TMBW}ZT&_|#%rCe znJ#(~D>|#aVMn!u%J{h*H!ip`3uh!Np9+_*A}9U{IRoN|9j`D&7juI+TagWz&RC3H znpuGP^J3&;X#(#V|NQIhu@7GcIzjUE6G2T7dW`iac>gVUke{Q~)TBNjUgSrRM55q? zwNT(s!ILZzOOym65aRYx#5i)vq&Hn$i)A7%@RJOKNQHMD*sQ&_oESI+4?cd{<*dwC zjmO07tnbQ9TcDcbD?V1@C6>Xjz|5*_pe1A#R%R{3zk>$Exhvy}uoa2U{WVX%PSw29 z6086DQ}Wep>2+2te;Pd5d923uZE3mD@sX?5+VknGO&wf;(zr*Y1EOYS2g!F|c(hXj z_)|&PDA2t6It8d4z!0ao*{Ke{s3^sNm+k_3?>TmvBU!2;_H{(e9sJ8w6a)b%CDq8~ zC3=~u2;7o7-hrcEwK)Wyi?&P(IPkA ztz&!yG@}<5>)4C^N%TwpnLC349Hqm+06f{8K4G&wJYQhUuA1{k$MEz@w;UT- zm|W*Gj}VzdkrKr!b7oPqOAsFUWAaDjKs15pgyYI{j|2ImEYEfE-TMi;1n^f--~|nO zP8w8h9lNOv4>3Hd|Hyhh$hYdTjWI@U(_}_bp>3mgb^)b7T7#~P3dMUcnkfmx%aVe0 zD;T+ES|QRS1&`8cvSrJ(RuFv;K|nuhZPyJAa$>;0hQ@=fe0?-gibTf@Y8<_7CBLcG zolm0lg6R$bWi&7_7}@kHiBQ+~T`{41GlH1J8;Mj|4~}M=FlPBT&#`~+4OEn38#zID z-$()B>Xx-)*H+=-m+UD_xq%z+3=%CC49Eyn_d6Jf>p#7P`c?lElGEg$-A36;xApHP z93Cf+%9^zQ#f-9*T&Wr*M@gDI;SB|4U*25%0{wblnaItxomN^ z1lHK%x<9=4<&#JL+q6E^uYx@kJdhQ&Rm_qO8`UWjyVl2hfC`$Zv?fMPw|l?R>M(8b zb5GAGlbq_GmzM*5>jS}XupCm1XiNJRb(=;yX*@@39!ubG z*Ow$KiJx0Qv)WZoQA$!XD#>qBt5f1>F)GQfZ)&sCB*1B;v7v*pgLORYsx3(M`4MAX zyc&l^eZ)_U?RCkut3*JQv-!<+SXQPyOWr53ki;9#KZrF*ur&WJx+DzgwJ>+8i zb5mbaQ))V6QKo{9tn4>ZC^)G*`&@h)&&+8YZ8>wBTj`g*AQWV9#bQ+!_qM###gxbX6!Q@j1VHG*EBQ#%_u%KryQK)1i2G1=ap^{55E z+Z#7vtLko2(V9$7n+#6KOUvGH*xkAWulz<@b{WI{03ow0$Ju%8(b%o zaq~I?RJ@KtkB)#GZ;u$&LSL{y$Pj|~ECHvWZ?y8xev6e^0*RjJnsFI zd=fi(W}bPO`Od(d@=)kRNHEFx1rSDMxC51A`;ZTfva^*u5dFU3P>?}E3FvEAkj!g1 zxH~u!90N*wEO;WQ4_@y3$cT+Uu}9PbOz*vY)-s8dW^)-PsSUmr(BXx;ojOLBlR!yT zK!NN>!)OGJfs&^t1q^!XYWFQ}rpt|Yxv_f`>lE_|f+i9#^Lbw3ReXD0`$6Vw!1aLP z4Gt_A?;RYN80bAdFgT9dU=`cO#|Na705`|YHGI@8@~!q=?PI_0!>D(lr(BVdsKq zE^50r;GehZJCA(Pp4|+ypIJH1semR1P=@KO!B#Y<5XegKP6||F6~HL4A=ziwkW#xA zMtV{)5qOey1khyK8cIJ`C`ihbj>_Ic?0+I(W$b_&a=w6>kU+_zs13{#ixmN-7Sd?~ zj&0*@AEw50a98PFYV5<*VQGv4XMO%Ot-Ht!Pa#>$vgA>3zYiemM;WLY;Ko6e z1B%qqQOpq(IX{&x_T_HmZdC2yhH_8m#&Uv^8_F>#XHVKvOH@n5#i{!QVUB?1T$83l zvsCi{_jq!5P8iFbNHMYuwD%A|yS8#nnbj&UlrNPp*KCk)kawY7@>9Y=;kBeTDq3Q? z8D_s_rp*_#&+z(vGXwCLmP^~{ss++Goer?t0MZ6^pgylv%(g!Jko{>p8vq%AvHv;I zMJWF>@obUumW~qNo^9Vs!8ny#Fg`KZ3o;w|10pv*2vasWYD5lIqxyXNX2l&%abheI z6%#T_aS+6Xh>Vk}G|0CEL{q7oZbH4y1i}Hn2k_uPFJb8szDg3!g$4)k@G2cFQ1aN& zy)g=elQIJhI{9wX@Ir z;?-Ai$ATxnJ;yDD`oH+_I~`tAXy6U}-pu~;!ga6z^w$8>mbh zUxhzl^bgKm7ZQFgK#vsV3ZZ7WB%+<~tfPFir6lRPbc_N) zpN^GjbgholwK@q2PH4*uohzIhoovpz)yX)&5|A*NalTb)WnkLhix zDh9*#SubG4$%*5=()a+d|B2p#l&M@5X>wIcw2##Rb?+I6Z$&;A#g&fIG;c^{X=-k4 zW_Y!z5g9&MC)Y82Nn4hY$!GB*v&9(DdvRT8nyTzY&0LtV< z1_8(g0sKoPlgXQIx(N^B0YI>ULDbvcy|2xTdqHqcAtG__uZNieL>>bULZSnPa+7Qz z%;e*JIuadIwA!*$)|MS`dkM6=wIGXY%S~|-YarG@tcF-!Wj<&9^}swMAfHo&Zfb07 z0)(cx>zI;z0LkqRyRC-ajZHRE9y7r+H3aYYYPj*d6<_uz-u!ggqP9qs$wec%kzF@j zFwJY$IE<3c*4lr0eG9%ny>RBz=J~f?WpdqoMSK0s>z9VNUtU+2Zpk(jGfRgPf%8+h zO}=rP28?BHRM903Xv@tcsd+ZbL+C z{V>%qE{#v|FCq~imJUm=oyEOk7Am7#DPyw0V+aYD@*_+IZ%la=8B|r|))B3O6zQf! zZk^6yKTG6>w^IH@r0nO09b=9Y4%R`ae%tIKiItY}v?6xw)30gla$v>L<>+(tJBA&* zp`oBl_=S0OIN|4GA!|%O!{WEjgdqvM2H~(?SL>#V?4@bNVIA($;XYlzZdkWlcS5Jq z?X#aHG`CVyKwIk>F}W9n7s4T^lzgsaJS7-^*;VYAY-`K94FRV+Zo($j-CxXD+U%oJ zFsnS&LFhdBwjqR6-&V~>v+#A*Z~I&aCFv*vS_u_&BSjz?ikT#fZc-+*zc9Pz`q*+^yt`pNGQX?0HPqs{u7W zM=TY&Bk;{X{gejPPY)sli9bw@kx#D-^mpv;INEWngR^uz>{S}OAjy~m9&NC$F5vM7 z>xuzSHdr?+;F%t*V*(ycFk}gMJi$;T;K>9-rGV$WUCt6{R4jMwWC z&6YYwsly-DVYx0}*I&20?r7byI=*g{krlVp(bqB7!O9)DV^*ZD)K%;&GR22yul$WO zwEzTJV!DwA1_>3cemO$-sv*n?il(rie8?1`H9?}#faDnh^_-wT5BN^dzCb=JLHm*^ z_}@zY{So{qbFE$@r}BAbWl|Yf+U_Jb%8)KQ6m)}(*A*1968bp^rFhJ zK#q_Z+1S7|7!^h_-pmO~60b<&K*H~g)tM50$L*n5Or8<-$7UjpHfgfT66TykM9G$P zSl7d{NN_qdD|oDc7M=|xaT1xrfj~gUL-Mf9AX$<}Y-6AP+0WY3vBp`}#HEvS=f^zZaM&(|OkH^O?(@7v-6rr- zIj-8z-U~$FNEKcVM1y{lfk_k1#emdNr^v-40p7?X9<{Xr5dg7y;^@&Sb7l409Yj$e zFEgo?#7jbvhE6K3h}F;;RdXm#JKqe_Jh}$N8SOQ39M@KRPp31%U^YX(p{blB?`rF9 zBPJpGG85<~L>z=a(A=pw>TN68W3cF^NKDSI$gWrSXFrL268}8%d0a;t?6Z_;yVpH| zVlbOctZDSQTmer=%5s{hFPe^)qe~o*J05pF9u>8brf^eiA)1dD2y?}b@a))v_=3b8 z!jLp%`fB8k_#KI%>^G%*N#n@#(!t2V_)FQ>Bd^EbkGvm0nhhWo2Lb};P)CHAI?g9b zj&`Zt)TO#eSn9kev0b}Uy2H8MwLNr4hY-#CQw@oGpstjD%%T5Y<9B5w|81aUeXA zSYA|HMN#dvIbF7}CSuiSB0xv;PM6i`bS0u87XYwY6g2Q1p2wde8Ts+2&jhg1L~;@` z;7=8e(I`m()G}g7Ax3Fvf)Ve09$$eXNW_mR#<&854Ts}e`IPZ84IagN_m82=5}{En zDmKNF>vG}UF8reFZP!OG)^$%f=N!eJ=VW69WMUj4oK~wVMxMtKih}sER?#V%+=?hx zqC-(8I*LEtuig^NiHATA7qLgtfEI>_;wR!voS1pw(fDqGNWGq}1RhFYl#mi~LP?Ay z#u7&pLZUCTXM2rLkDmll*X16cIDT@xcffhlJ?@f7ksAu2+IiePE}bOzc#S2vC6H-A zL4;^ZIIgB4Bp`U&W^BkhQ{t5ISUkHV^*@`D&khAiY!zDxyXhUk)Ko&PY{XddY*e!9 z+QJ|NJp-|Y2)e$qH*^Lqp7 ziNE0=Y-@EG*hqwRNFl3j;_vv2M%m(LA`$)iQ-5aWPCUmla|?tSq4|~L>>_pqSwYy? zGR2cbJBWiiBd``^ppk(}DF$0!L0Cq4cn;u^LBy&{ta&7%m`o-}A+0B35|AJXj6kZ% z(*m{sK|6sXVk}8P;-}9MuEo`BwbXP)w9dA1$|8DutA=I}T5?CmPLnakXB$Gh(FkH? zYCmJEgQ&hyBrj3IgqBHyEQ|=i5Bfma+AVOxJ=}M>eH=?(CBW2(8XYAB&}t3%VV)!j zvjuiVW($$QPKpeMfWOMJ2*;`#W{w_#vGyMB?M*e%vBF4+K}K6i4Kq>Bp2*^lE zBBszm0#d0#U{ypv-Dm@ukthYg@`13F30|Y-W;D=?+q?Jk2s6w;4^^n?))CQS4RyPPUFnM66i*Jk^}1T35?ysyR(Hr=~f@pf1}aSJ@?-%6hn|vFaSn zme2$qgw=+|CP&T2Y9^9KBp9WJd;SBwX3e(cw`BshpFZ&DpZ|8?o3Bl5!%wIr*XqVa zw=mP*+O%o)_15jb!}$F_W8uxGTDrr{%1yA8L|0h{x=I`s8AjO`rdvr7s$^`d!{*zf zuZCXDuyezYXBcO|k-a?3f=CsKMmkV8-pFhWe;I$7xjJyQd~MzJksWxO{6J<8-V=E) z`a-4>w(;_<_^$A+v2TVS#g8zLg`dv6lzA`z*Gwg&HzPZCGv>HE@2+pjw&X7lug__c zBIEU9Tfk!s)}cro7)Zcl2!`xL^9U(S8n{*+gRKmM!{29QMo1(sd9iaTDw8HmZTyXrYa&ZMKI?D-U89su?O%pr}xLNH5V-uIB+C$xpy#^0-$Sk0pp?^2pAAHm)*`(igKCMHc7PwgluQ~X2qMS_lE+J zOej~t^?nGlb?E{Mh4XSl0izT(!4Uf$5es2$U_U+hs>O6~A{mQGmZfRM~+`wQwdF@aj9f>ptHnAH> zs_n^Zwv0w6zkGYQj=2{HXhc33=Q}n2!8TNpUN|g~>UoZey3b$KMrPo?MaID6Mj@3T{l^C=Ix``UiqrQ@6Rln);UUKKHl$ z_XQtFKAd{O{+N4@_Xnwi_8-9rK1h9<`XZH-Ggn8hj_uI)9GVOSUc>^OEgt z+h1+0jf(!Z_Vkn`eqeCH_(ZCgDB*(-DaNObuJE9==Ss;km zLo$w8i9wzK8i7wDE)5Jer^x0~>Ws04KpKEr%@$8~kQ|LoY*k~bTIL$rE1iXTlMR+; zpVfKs9dmE{Ikx_|+!t*r-4a{V*1!9ES5Lcyefo>byBoZbh@>rFgm-LM`1dzI!4X;Z zh9`3Phn-7XfAsRfu>#SZ7?5lxKzE8T`5Ii=V+sKsu?9?9IZk(sPHW7vzqV_1T(Qvo zA~$X5HhW1sGXNLWz|B=PmnKfq&2)2^fSZHpWX=e$l?_hbmo|W~K?EPN*Cc9C?!(j( zfV?W;)r>P$+YH@ZI!n`DCRCXsD{8c|)@cYw9MEgEOKt5-YO1z5YORyq)KcfBO1N7? z%G_pAjLIV2Y~rh%O;IzkE|MnZsl9WOpoToNITo#H=Oz+DAQ6im4aUe0RGV}}qN;k^ zhgFHEgkuC3xxtcr(0%RviqE@8wwwjVaMt)kC2OyR_UZcrtbbFCx@<=`}5Fa40 zWb+7! zw1*lL9W_JHlKJ^5^G}|bRtU_I62(Z!Up_@!rRtkzPqmso)ryoTLDFjWjE)(!-3)40 znnBG_{GXHnY1+ildWQ7TbdF_X3QQNsmrpPF#c!FmsT9#^> zL31-`ZpM6>*v6{3+1*5F3n^}@5*eEKJFRVM>Yh)$en{c`DO)@wKBu+w=l67#sqj-zL(VoBB z*&)D%9?JCec(@14qMYzMN10Rm>zWe&dPpeRy7>uz$2@AI8)XgqL#c#6Kg#O&hh`-F zvmv2O4=sr;n6cQuWTu#CTA-8@aS;iTj-|`Uhl!+h8m+){DxqUG2tp1`kHg`XOyOW& z#{Ke$%m8gDDaNKmHWhBpH{t%KktU{zl-U<7n-QKrKd_){0W-8~HMgZw7ZB4zjY^y(hUVkdsP%$bm(BbGkPGtHM*l6KW(HzW zAa+1hqa0NOG*Ay~U07$-M?%rCF6hMuW1S)5#gu|n86fdJ8z9!gM&Njq&(Y9sJ8dm2 zOqmOb^8_yljx#$Fr;Dj|@&Dw(Q@~wo%$aqCr8nBv-rYHOAZXWX8qb?-wM+{-G@K{4 zv~=ZshOxEGo~)l=)~bT(g^i^}8CQMh6Re7eRMO|DsSeP`#AmK!Ip zT`JoH;jn|+Ab0dHm%WLH^k#zAbVhkpn!5f-js5B)SrPiT(sP zlo(EoBv@iuWD?XU00^JxD*~#gq|Z{-T_hq2oV}Yw5c;$bP(x(1)5Y>!#Kk(iSj9V4 z?kO||EGBlpfvVw;VDf)M;F`G~F!JoeGdlnU-1(h*IycC6gSP(s$!Qj)py6gLxb9l5 zfgqxFcD*q$g@@y>fZTfH$Ft z#L?c~F%VM^_fC05f=U9KxgG{ELswpbS1?SQ??Kapu9s{t*+*R;yM$dnyxol#>K5u( z=vL_e;RG14Ib%-NZgaZaEGB`~vm3Lvd~LLBo?$SrE0ICl-?n{3wW!Oip0|*86o0Cu zWgXUKbG{KD<3kv8oGNVXvfv>LCSq$20*|RB8mUY{K*2eYX$~PB+CuLo>78$*(nC zopB_%mnVNYd*X*Z(-ZMks|zbuGwXu(^>d<^5nX9b(@lR6jj8iK}{$R+K5b5_M9 z>xF7JE_0^}U#a@Cicv+9!c0G2(LgC{%uJ$Ktk6*N zxI0{p4-@-tFS(_|hkM(k!_=dO?rwRMggWg?GiGyE(U#M3ZP{t<(JhZYB;6ZUX#`DN zljtk-7lsPFu`r5dWgAeDTMt2#H?SZZ&)DK3Bq%eo+0O<{|m(p|6Lv z=9E63o|j%&SW&n>aeexB!xN#W3m>z8@ahs`y&t{E_;CQ|FoQ>NY9D$rJBrNeT7@vDQ|CxVNXAYrh1N7?Q-Ed;BEP=BO|9@#^?Sy8YARMAD}x$9o5{G=6ftnx@Gr5be*(YJCx& z>LafyXQ3!fZ*^HG`OR$xnFPex=PA?3RSs9p@1bg>BS#!8<+RgM?aN&4%V>sInBf)X za#}W%XHFg@M+ClBbIu|piy00^ue)USQaP~Vo;P2-X7Prg&7ltly$`RNwQS|&Z!?*P zzTCK=V3N!__UXyjzkbEMOmjSu?O6TYEf4xNZrpL#-4~W;T{_%SUN-Q6!)R~<4I8Tb zj#H_wM9s`H#by3R8WT*?vdGBAQ9_kkh!-+yQ_CoxtsHG^ZgjIAZiRD&YlVA-hga!U z29z9Y;WlYE={Fg!HTL`a1O2)F{C4qn?Kb^3!>z_`sVBH63X)l0&=>V3U%^-Om2x=8 zWH{L`2NH=)VLG19v~hV?-k%TTgXa~`E6vf*NiNnd)i0BlCYGjr0UTgFg+R&ExY)Va zwb4@!NphTY<11LZfV_qAz{3-s|yg40!zhLq1YcbbZsBOr=_N2CGhI zNa>OWE~=&xAHov|@$q^#6t}9G?_pZK0B7>vM=D-sElW0XVq{H8g~`P z$B9ffF$jcqoa*DPXQA>G@>X&89LybnG{x1%a9*&)quR8(fD*=N0f#LR2zkhAGP(lN z>e8v0lq_JQA(4!jLj@$}cw#+I5guC&s-giwXf#N1dbRd){aR^t3UHdR*Azu-Ku?_( z@Po@6%Z0p=;sF73;wW4Nb3ZfX08cbH0CYc71@u@n96cM<**y_+@AofRcSmaaCqKHg z^RF*VD+Ye-cKL)z#NGYuhAm%fYKcug^7Z-0ez0M4v%?+KsIHt$ZQFh6)(fW>I=5VY z)x8&f^CPvY&7Z?RzvpXxw=QqEJnjGSrn?s3^UIPekRvwqS(W4LLEzp-L(9JLLRB**!6y6R>sHBS(QLpnk|+s6rCon;=f;m7R^PJv2Aw@b(9PVXNQpIfpcnCcvfFX|lWx^Vekoqz7$ z05|ud<=rn5FJr{P9jJ^Evq*dQ3&_njAP!mChEJqVJZEJ=TWJ5YnZju-%AliP zx$@e#x4wPD+AVJ_DqVU0uA5hWWqk+x^uybp{_?4zNALW>SN?h3jJAhwe0}n_yMKK0 zu0A3uE(AUQ2Gw0C#fVe-M}}%18G3RoL+zFx(4q`H77dA-soiWKTECfY+?cByH*}kZ zKUDQ;R5W5Z;&&iqOc;q8V&+8z>gbp>)^_By8|&DI#Boe|ja=vG(+81}K7)vm?o04t z=t)e}tm9OBu6eYQVZ2v`Ndqm1{0G!O&0xr+rw(0E&6xV9O#$fiJLLy$4@TLU>`dJp z*KO==I@LEhoXczt4)eppE^(LoVd-JhNJcI3lEAD;u1GOn(Xihy-cyJ7`-M?fR01LY zF8@m)l$yd32TpZKSjs08W)m+88p(q_qxhm{c4ly9l=*BQPNqh&r0C-bY&M#tdyGaL zCY#^S^z{{K+|p8w+uEvexSqy}-5V?p8!*{2Ut#Dsj2Vs^c!Mi_h~-(KMvAMO+zWv8 zo}`LLD@1?jJzn*GYi*qvY;Bt`m3wnj8ge9NwMQeiXv7}(qL?-8#s9VsNv-9lHxr4W zDpV>EU@J7#B!TJ?A%Hwv!G<66My4;C_%IPa-?eXF_p<}*yIYEWM`2zd5X~yyPucks zj}6tO!{PYMRm}1^t=oTe&CE=*zZAU6VyR#I?)h^Fy_;A0n0-#Q4oN7C4((eh%A=Uy zr&8HSq}PK?YgEi?H;O7zMv3-CcSny!xu}U08&;r=Xe-)@b|V#XMGj#<#as7>zYg)jEM^=H0bvdEd8g zeCUo}u6pIBs}9d94>WG_XY=85qGe`jPLX-|W4!R98M|JceEQSL1K;@l%l~`w26ZvZgd*7{(fA7lh@Yn8qYweA1-MR8d_h94aS5CZT z?wDPeyKMU%TcXQU>mvGv-~Gw<)yGDjy6dS+p25BYc+O<^#LR7r`hItQ?vV%f{7VLU z$%1A*U3E8N(M5_Hsoo5%ZA2K4vN1)^uvUg)S#k;q;zYbSeH^ z4b>Zt*PZV>-gh38|H=K+VY6W$=TdoWF1yR&a|&vQ)~WRsT^+9Nj-9gLbTN#>?b5k; zJ?mmryptfmVBz$mFbuU?vFh50v+gKcP;`>Yz0-wvxt?}0u0w1Au>e_^(fI+w6g}eq zbD?F0Wus-Qg|m!eL9viu8*n38k%wfqPu?vvvg>*LPgqesRut?f>?*eLKAqULJCSlveKo!28+o{Gcsoz#J)`OcPL(v_DC!LSFACEkv+wXoZ z`h4tF&8ym9>+J&4U|!F-)iJx?;g0AdhE9AJzD0kV;YnnehFWkZ>cn&7EAYj!OA1$@ zEAV<|ZS;!Ry26+7jj?OfHx_nsJ5@u%ka)A{X7f(#PWuDged4{Q`^*p7AB+AV_JhJG zcR>6^`zPHehEHOjG$aJQI@SX6e{+LsrigUz7)JxiLFqKF%8u?nh;lJQdPLuAFt4$m28~W z6M)l^vxLCwa80bIJ~H;xYA%#T8f$ceP!UV*oDr3=@b>TYzV+lIuW#5hQl9_8-j_El z-Hhw6SFXMM@}W|Fn){R_8R9V&nEAU z@&4>LyuxPZbKyhr|M2{W_k%F+ib>gcv>YkNrp5Ew<+1g#{_Idz`x?S-Z^GN@{k7{q zJgO(+_^09b9Up|>kG&WFbC~xkAzxfH1UzD}4hK9!Fk}pPY{3xn$?2po-WFOIVnQLo zmWck{!u1yFfWS3Myk7Q|~KGWk5_-6I^FB zRJVw#f??IW=iy9t6kqpDaOG+z-M>5SfVDs(LOY-|@xY2!J+PuR53IK8em^i0z+mFG zQk7)9;e^BMjKre}2T>fo5X4-dDn>k@Ce}VTFp0T~H!G6AE*J<+y*_)T&Mna;1|RH@p}E>jM7EEb@$J? zb#bAK`SRp7=Q>Sw?z`c!qlONR<~u{(_jg(lQ~84EdcaTYD2#tmmB9DqMf?Y${(gqlbxD6M0Sd90+6FzioU8IIvt2()E2V$WjcL=%o9;-gFV%qE_xQ4 zVpOiW!!@-ZFr^Vjp$itefal0FeTg0gYV@`(-aUMI8 zg81}E>I14_71O60Qa!C=Re#pm5psrgprdx_`}MLN34sW$e;= zyvWCU{W-rNPvY&Csmi>)+SfGR zqPmS|)M}Mkbct?t%Ic1)!{)F%nrg<4=8~twyiUDNv)*;Nd$ng>`g(D*X0z)$_a@Kv z>Ft{Bt_RQq>igaIrJhGei@)bXYPFb3rISew78yUbxU7B)N;mkCS!42>qoV9`yYoqn z6&j>dsjynK!pgxTNw=EQh-rvj8nq~fEM_wZX?%?ON5g1ixlq|>EIL4nBqvooJ2m(t z%?Sxw#3YDyDV&VNood(QosCalIBkAY zK3I-x{2k#Llg}B0F3C|~?~TNKv00N1_+N>*S*_JaBAhd5Xgl?#+wPc|P8RIO={>uc zX9C%fPSRCR8M6NcJfe}=S%Y3*Gxf!gG$su-$Y`9@$-?Qb{W#F)Q$G%Lthy!aq?^Xh zD0SZ=1<_!!6wBZsN4zD1w2xqh?k{JEHzX;|Ou1ELrrb3k@u^~@#v$5Y2FsjrhKBu5 zWUl&Dpg7zyR0Q5*EK%N5YD6)UFU=9oLmZb<Q>=Va?MJzq-iEz6~>4$I@CPe%#AdUH6LweQ#|f!?rZKRMM^W4MQ6fq zs=88S68_k{I!(ea%?kw+{%F;eq7=){DEdn?u^ekebd~^rCX=LbIm7B<4Ia^8BjC?2 z&D$DILtQE}C>YKLGF_RzOn-(O$_!_ikqkx|DKnNin&C2iO;tCF-v4(u3ai_z68VTH z>Q%YCSPH3QC}#80UH4m0VBt$+tWG1AV`DMcmC{O#yN-@DyN<$n9-miy8!g(Z8Vx`EigKY zOcsh>7P(3?crvKJC?4uEDMPC`Z-^o6GQeQ8WHe*|R5FyRh=fmzjYn$-v#8_#S2WXz zgjkm5N*7DpP2BBiJT2WetuuXb`U=w(>8r)frp@VF#Ycrt#DA*w`DxvSp5lfgr%b~+ zk&P$J7CGT}-Ck!QXO2TC7F-zfqnV636=%7u)QHJQ7=et*F;a}`qWMTkXpnJE4?#iQDC2r<_ViEQOd%OjQUS%-NWnH`e65r0i;nS!`0s?~LH0+HlpPHPbJ=MCs1w z!fbi)-OVdE-1^S=LtAae%;YDR7W|P2wrlIxu&a9VPQ%v8r#6OKx-Yo=;4cO)aFYL| z0fd#`30pw&EVKUFd1f_kPDHIld?MS_OpNiW^BzuXX0#$9ox~la?d%iHic8Jw1)Zo- z3mQ$HFAHXa(^A&ecD$bv)kTPhNbH4J`4|$7>QZi=x`*plKd$DZd`e7fN^ufN`Pt$UZ}T45x06Zbjwt)5#_x1{%0eNlCf?)H+~ z9rw8Ic7G{;N9s%IL+VF0kLn(E9dbY7dDQ#$)VOL~{iJrn^+fvn>G##|>&|=M7Z&xT zy3;*Xdo|n)cb{*--(SgftGd-a8g{W}iGM+Saf(~xUY)u!&9_#OntGgtgDs#szdPpVai@IaEsu}Lw#D&3ew@wRvc0jbI)ha=+ z(*@lS+U@dqd>XBm=!7hFd%(k!@~YLrbjq4er>c}H6?x-HSHWXdi6s_~!vq~MI;~c% zR%vG5uY9Nq>TFD`sUpG)_0$ogmFaA{YP4#9728s^zG_3&AbmJhb+$@f^|t!=n&mq8 zQJ3y1MnEq74^c-{0KKMX^wvCx6<(PoAR(w-S?YO`X+}PZE<= z)jh^t(vjhdfO^+74V3@x*n*!y0;mSo%Zlw8LVmaZR+w<2FO1k61z)EWZO- zV5vv1Aqp-^gR&AzSr4T&uc3-4OJXsJi=6H$Yo`p=sCL!N@mUjvo8yHa7G4P#wpQw` z%`@?Pj+z-2SoiC=Q0g+2IGrVB3?H76t;8H=D!jJnEX9&YG#k3{gA;7$`LA%BK537_ z3@IH9eR5L8?8&dIj+PiKFvv&JWtrWRe&(GU()PI8NOf5rxo{fqXOAEqjG%KKXMuf> zh+f0y+WpRhPDUvr71??jU&i`{sSYbzqS1wU6-ZXE@WM0x)Q@_ zFb*V}nv!5DQcZJ+%O0VRU?xlENYETYWxfFU89?8G{3JvV5|ujmuvlNC5gTjPYw!Wh zV;V+tlm43P$hWDAMMSr`ai%devW6-=q18>t6SP;3Mde`XS8&&If>4J)=IVIi@}4c+&Zl z>xBDc@O8&~+V>nExGE25aFFWB+>oViqDpdoWs-Zv6_Oi^Np2`4xn?tUMbYWWnu0f= zJkB$NiW`JaDQ+_F3u@}sS#8#lbHAWG8F<5`x<$L!vB$~QSr#~$5(k-Jx&?WHIdS1; zAXhG@;BY$A8ZFGrwQiS-PBSG%@*JI&N|Q^MQ|Fk#UeU5%i+ODr_~2vOpJ)}@T^ctT zt$9(II;cLb{*jth@6tF&TtvB;fHaU_lO?Mm`F47#J62sooG0})NOKaJ&jfz<7$3x= zK?xfWinzy2CD{NG?R4^q1kqvv2R_ogd}) z7;iQ0;rCef`fl;xXS$ES$9$jfxam0mZP#(%4^1!eKk&Zf`%lvw{5z(%`L})VoBqzf z?|t7_p)oCXGkzZ?NJ22edo)I^TVwOs-8MC&a;srF<}SU~XX1(IqbF$Qt>!^9CKogq z$&hVkd{&0>`MnPzBq44B9~Jd#-o%#LY-+Ve?U{hFS7U-W%tJ=eJi(;LTYT6z!Td=y z3gjIBStD!wxGoBE`s?lNG$4oHKiz%C(ZkE{TzKES}me_+p^yoT`milVxGLH8C zKu7zqdr;u}yr`vPVUI@-7U|MQtFWa^#jmk>2Y#AcP!QB}c{@|_RL2qVL z-)e!^SAVAS%b)DQJ5+`Jkr~1;yJfdf0W5#Hxbyts75-9da)j{s2(iD1QE~?RuG}~E zQLQ5zHo|!?GNl~TGEU7Mno<@|cQ_EajA{F;onzeYJVV`lIc~5jt z_NTg^+J6!IMMh&vMzs-LSfAI9=-#SUdFqpVnbc0h^081lVy2A)9*vOR@U$!ON0Tcg$K^%-CaR4QjQTa(SyL@fJkDdGHObfnR*$0$&YWPLLpfB> zEFBNLvR7iifyJ9lv?sR7QVit8LvaiwieGtpW|!)prw1Nnfl$ha8)b$ZJ1n_fDaW6n zDH9x@riixW+EeY|!_!CphCczMQu7T)AS8UluIHa8&hzT$Rp6+>mvH3ycDmiN4Q-=J z6m%EPj%jl`a->p|vlAI>fZrYmx0D=S(Rj>_2I$|74&nv9dr&XKPx#AQ;89RpF|YyH2+)$Q4>Eoh9PUx6iArEW93eN7tVG z)}kwC0sG;xJF59$Pfw?-)EkMgj$r=lg^8V2Y&dK++U@PnKfliGh%w=?!s^{|;e1~m z^p)8_uaD4uuRn|RYw=oUt#_?&3*N$P@ow>{Q-Q`nOWl4}hm%o<9rH9@=0pYYLr z4iW?Tc;9;8K_BOPiisoJg+EEBo#hjckovgL)lN^cCC;^z4Q?M)sIG=2Fs3tQ0nLfi ze1k;ZsRT0;bv0m$uim2UB~hA)`4{;Ysj{1PToR(w$k1h*)>IRsDpbOK)fCm0_&2vb z>yEahCZ9{M3fmrBAI~mQMR~=N!gt!j^>rVd+vP8hM6yDj(;G|ruEw*;C>TUY`7U5J zjb9YsHaV~nsqIFmA#N%&m2+v8Wfq>5TH_eNJ&vuZosPTky{R8Me&KiGT1RdA3I}UT#~jf#t8^&Rb~~FuW$-i;)!WI$r6%22-BR6yu0z`$JDtPnThU&} zP3e2kUFk>A!|8+7N2*`8zvwtw{Y(4L9j{fNvH#KWN9U>P_s~D=e@jOe;Dz@2skL~G zeO2lj`?by&9N$a-)bZ2w?;O8N8%=(5+CNs0rbbl4y@Px6O=)zpex4+j;fCd;y3TSGLLL!)C)rM|bQ8q~p z)R6!VsUJ!z%is@D6)~baMYNS+$>MVkhdJlqEjgri5WQrt9ku7|Kp3#xgArYQK<$B# zkZmA+8RKcYtJ7X%cK+l!cce94h?9n6H7*A3AO8uT#-pj#VVft?nwmVBULCSc{*@a! zzrEOu*zIfM-dN;=|K#Z7`CF%6-1@<1N!w~GEMjg@d>)mcdNFjT`RiupX8m3>qrF>W zMt9>9jF47y$QW!@V&$l{?Gu!_JR_@rpvwtlo`g%GP$C1DhOv2jieb#<4Kc)hSCVDE*teJNOKr=k+NrJ?e&1!gMkOUMY>r~x!uWNlSk zNFYK`maw$R2?U+{vEM)Yt*`F+#jfpV?!NJ*o&HUQvnL9V9l!M$Zv6J``^qhDt4pWY zQpmh|Y;WNwZ%!26-M{US_2{90Jaztuxb4IOTZubOZUiDyPHzEa@u38o!R!*#YtdTY zUUZ9ZZ{{A?S7L`L-}rkDE5v zl7V^L6U-7<{B5Z{n-K#QU^#u+YB3ZC%k9n13(t$}b^RRwH2jOq?;o-I|n zT~?nhY>Stslhw`PMcLK(D(BkRos1bc{`!@8ZFocdVEt(Q!FshT?W%4?EU$8feQ{@s zQ!=d2?rX{1623S5^NdQU7wcQ=JDE;)gJOengK9&1yK=}i|G@+o!Z5NC9}u_;R)$LG$cu4o1SCF?y{>q~nW&q^-gpHV@VTlwZ1i^v`17zEZS zj-|&cv<7n)aabT)-|&ycNCh3^D(DzjL7QJi5axM-FlZ~h^Z{J3SwJJ$&tBS~NCCI)9SsXb-+grYI z5)IRNm~!c$-!`1j=b^Dri2))qe%j=t6qieT*{Qf!gv#g00y^f4a$ianJ9gXrj?p)N zH#wSF8L@lGWNOjZI`6#yhRN$A>vLbcec5-O>S`U{cJ!H5-`O|&DmU|lZ_d>>bst|D zsSV}XzE1`!B98ErJ2rjQq*670dg+cswhso}4_@2y#Wqes)kBe1z zSq`Zl(LTa+JMd1`9(;?6o2xd&5nCEpY8(xIHpMc~Kv^PaEV2rAp_eMuZmbc!qL=ZS z8+eVNVN4pohS4na$OMJZlcoGN;NtVsrQ@ryn@GXCq9swI-du^?*inhCDu8SXfOxH; z5<3~NEb7uqWaq%TgkuCux5JDXx>11Gb+vXFSjX7e4dL zXa9DrfA8nFjz9bU-hQAR1BIUyepu+ipT`Y&?#qua+;gb#bm58dTW~pU!dH{)y)jC{ z=&_299yu{w#+9oVC|DRa%rJbE08!OwVd#)9R$-N+rB{9J!@~z|FR6iwx0LcoRa0AQ z0p2yqB=7Ft_vON?f4ly`(tvaE4T`Sv#hboZ*ztPdr2_7cG{1wleDC!mw>}JG$A#Zr z_@m-cpkOiloVfT_3%2aTFp9L)>|?OS%itJOSu&&K+LF7OH<=5Jsw5b+@I>c!FhF!} z2U*hhLsr6_W|*KQXth{^!3q3;Xo?-iT8#!XZkO7kVJSbMx2!Om1wPG-Jj;`# z*+eHNUzEonz%kN2`TMEb1irCGEW<(>K3I0Dj43Oz(v6!yARWXfgE%PZBj>3;ax$5q zVue9xyyJo5Dnt7=DiSA4V-gR5-y*^S@&f0XGkYX91zB=9M_CjVS=2-Ad0<@Q8jI6X zh8t1N(t;LQ)}ytS0d$S!I?H|d5qtt4wfqqO16%%^!DJL)gSI8GG+|>d93rzbh7dHH zq0vH4y#iAtddTGE?J?PLQ|Fj7hk@6zkb^%k*Rt3wIfgH#O7cpixfVkdSyJckN3A(V zym;uf*i;cc=E?$7l)Xg4EOa@SL{GZ7@gO^ka6I@8!V87Ze;PPyV2lVOG;`KW?@Yy# z^D5R@WOY8+%gsCg?J36RvF3^rjiech(?i>>W1p2*Q4%g%Ax>%wlTvkB#SaU$zq#H7S*RDiNGFh z3`riF{ajRQcSYj#L*N%DYR03ehW(9bsil%UwRI@!l+PWKr5>0I(Ob&c-#o6BCE{cO zpUK3@lP53A6v#3(FYwR5K(^eVu@o!AEgm=J{5i&=pXpxneU^Lu z2Xf@R9*ZceU0rP@e@GVO5TJSv!$ejclupEXR^!}iv_ie#-}AxM6pn9EY(!wtDT2ZNLRx1VZm<| zFeCU)JfFsl73dXN*7TQPF2P){p9$vwHlR z{*;~>)So0bUD@pi9N6LVL+=lSlPH`@p(LL?LIuGUtw}tZ+z$kG!;IVnzIHr7)UpGs zuq{vM$Qd5E*gTmBkrTu~YNlz|B)ox>6q$&4L&E{?fi4pni!&kuAR@;nOIAqgHl;;l z^6q(+imn9Zw~>pm^71AvDlQ4}L}`gd*XWM}-2&qkq2a|%gh;>~oUGEE95d%klB1Cv z{j`OXVw0s?xn`>CNmlDjmqMsyYH=-^Dx0%^gbMkVKP=L#15y0>Qp;Dd6D7Z??&6rnw{`}zU^DKJ3)yoJ1lbreU!q2V`q>S2d7?+mV zGkA01wKX#wI2<65H$TZZW3D*EJ9sA})QYtm zYOhrfItHEBmhX4$cOG#Zaq22l+jV<%tfMyRYONit{T%mA?o=(OXK&V>tYsIdeSWv& zFF}jnZ4ZR9bjCAIXFPZuxcbH7+^Tyk$aGp6uV9Vwpav)WKC0)*M;S_=lF$ra&}?qC z?6)u`ON)g;7T&Vka>2q`II3?E$oXkm1tar!QKxNajbc;OPxO<+Kt-uklq#f)F0ARg zRUWQ@eVKeOkxEEHIArj;r;;QP20|A3X^-b-T9Z%#h+{PH!Wuj&ShTf(5bzJ9WURrYSY*qKU}nP zU`9!an+3+G?ckLouYB{rzf(AQM>K+O+0+<_MzfKvg^tPDi2 z>&R)K&)9Et?5nwT_Gg;+Exx(s4*MOBds-&AP5AUZe(L?1B=|qIrrlI-Eo3T)z4%(Llml4g?+xJWI5YNO7nOQ34QFbnIV*7m?Fvi^vk~ zq6#v~Eo!x5E0HlS8BpWhY5>fTjJig7&s;orf~^wu&PCdk6Sq1?os9F_%zq#y(y&WW z1H95IRn9B%l@%4HrO&Wwltw7X3gl2h#h}2hwcXLFPh|ey?;*F3FCz;Wkn> zG6n+h(i6Ou0>7fvy-i}TfV{Uw{BazoXL;?e?7lc|i4Vq4#$StbaU%&CFOJJ`A~9zn zogqFVtV^#G*Bu0$E7sAg7j*jUI^(`O=i~WQ!|VJi!G=w?LEEb~)<)Ff&|5=ndcqt^ zdYf!SG_>TNM%-AHW?NaNmBnP5z_9Y>HY?u>z!q;7CBT!UjBM}Pbx+}IQ2=Wnr%U|_ z$`|I(X`CXqkQC$>@Ma9cu}-fiPg)9y$V9!bi&C*LBfyBqm4MBcx>9UKxK0=Lh- z>ItG`hG}1u$e%kyw)luoq z(PP$V&T1A^9IMb62A6N^{Nn2BT8AStN7L!A@`pab?AdoLDhK4aipaxuE`iHHt2Irnr7{M-Qpnkss@*p%_tMI8?vuv zPi6n6Rlxw(q}d(1F8OHqc=)O0i^(@bZ$|zz`N!ZNBKn2uvI+dT@pzm^6U^!H*U~sW z!Df%L3f_io6ZpVUub4<>y%TuuIBzJ6pTIrHiZsk`MO~{fDlq%$snZEIGkyfvwF$f* z{K=JZ`zsGtGL_(ebiHafx$uDbov0PF_+a*AmdV1vH~UGk&cU%-7l@<(uvbx%`PcmkBKg7JO>MeLdWwy?0#Gvi3{&R~@_l z$fpj?i+L;5ibkdG{=SyQGraL8pY{_swrt-0FqxH?!_4Lhm=kAkt=K5mZ1(K%+?RgD zaX5V}eQq$8)>VVPc*SMuS9|FWj z6<`>@(yj9FZU%>pCX+XV9!eyMSUXe@^S{JEMMZ)swLau^zwPmO)tbXt4}XGgx!5hOI$7UH;-Jx5CpI4j+t! z>AWmVJ;QV>CwzbQ)N#BANn1II23d7H*$izz4V(zjxdwV3ng0_^qQNOp0SM{FD?-co zGk-$-UlUk%>0F3#6XpP66*FdOM<+nVd#MyHOyh^1BUzkUik^$Bjk<~YR$*5uSYES#6?T_6S4}%TO4bhBw`DF}A{01FDG%K( z2Azy7cM-i^g09L z^ahUH$~=KRqD7^)s#Iz<%K>K8$Zx=g6Zp%(;pp%I(V)OejasQxD>%KLJAoGhm#D^@ zM4d)sV(|g?F~SnyzljdqNDt)`jc*4{r%bF#DXOr_X`FWQep>^jat%w*k()W*;_0$b zE+yaEGnsENOAES0{Ed^3U71WKXybWuTqKW6L*|eyEAtT);X z#V!X}t&YfUGZ*~o}EX0}+t;^YCcgxPAqX@h7OG_VF&%HC*iv9or4 zQdff*%s6fKuSxh3(>3tI0MMT;s1!xfq*&IBuTtHCS)~!L251xBj&H{M z(Vgn=n|_BhoJj;`k6oo^@8Twy*Tj_C7Ux;ygYke!VGW{D#G&PCwSi3p8~i1y66T@~ z6Gh3wcyYZvF2O-!|>kFNG`IX#6;9Yg@`Ar(`)sN z(h&)VA|XcUFAY{=uf|o0>?W|HW_S!(eU(ruw;mjg+G(^^;*bR_nY%3NlPOQgC)3*% zWF;X=&OAvwo@8a+ityCJx};hr%HF)`%w4w@UMT#2)Bd*W_TXEw18eb3g?9?q9UJ)E z=lhR7J+x<0?%Sp#59p*rTlVEc!BX=(y;?ydIs4-*}7^PAPsnd*cEK9VZ=#&bp zl4X<%Mtate&32Z9RG(t!ASF9zj1{;h4W5TYq+ouISTF)~f_Y*>#JCX;;N5r>b6CMK zCftG<^1Kfpz}x`2R3HUj>*4KF%nHQfKZ|iC2iQWR=CM}6IWb#A^?^8M|q5E$UnE{gO}L@=R3G8 zb6X*~3V#vbxvo%7@I~(4dI-i%9eVCK;x3#TFLBRS5b>M@08TYlu;rRLNHlCP95lRy zUu53EZ!o6}Iv2t^jDRSxjDq7P@a>|DWq`gg9BWXBSJWtegO%VYe}joo3clyqK^@jP z^@^vMw*hUx7xhqBjwnYv$SJs|nYWN$*2zP5KTcBy^&AlzOz>wCjZ^0$it68n6~oFK z6*nq5s*y+1M+@z+1p03XIy3a;*pHZ>6&eQd9fi+sOSfgbiY3v1Ji~p@o!p=!r9KOk zS_xy94c#SLMaKrmLB}Zvha94V*^X{TjIpT%_u?j`!3R+gYKy>XfPu@ve}@sL7umoE z;dezNhA~~kV1-7lXIS(U{u=~eC|Zn0lW49&x8aNqyx2Yd1}$h~Te zx9U3PmtQIue13WY0cOyHiqE6v=#S!UrENEv*3}+2KI&FkIkn|C^fJVSGLF1W>U zv*)I{dl%g8xYKjT+`AV%>Uh}m(A;k&}|&fl24A=og1pAWFQTSwl@$1bFa zYiueV8~)#%BUlyoCu@{-74zl<1C?`bT$;%)-nqEa=UX_tY!*`*PP-$%(xhH7vtnVy z7V1 zLwGkDVXilBPw%X`uJ&2&QwH@`ge_ci(%e;B%dBL&nNeo1xSzR495*~+d@A$Q+}901 zt2S74m^Cs=Mp6A)w5R%hbQm8r{e9G|$%u2r*5-%tgUmzXG3J=|$edTuFVSoGC(KXTchEcdEdHzZto~ht!m9$#7@&9ogbhu|Ucc^fmaJ=ar(;G-FI7Hs-K7-43NgT^4o6X2!^IF@ExU)FSn~ zjZ*B?WP@AGDGe&OlC1Lvf+;F7)zCD{-2mjstuWDbUq6+anwhP4&%_7?jRq?)_Rwv~ z7GqmFYfY!K2ph6Zism$G%5wDv%#fu(mC871eAdVqqbg1X^Hk?yN5jmS@px=jeSKM3 z^l;2!w=0#37^6@(+|C)(=@d7rz=Oa^O)xV=y=Z7PFrx;11i0D>=6$guWuj986XpI* zbV^_f`h9dtATKx5DS_|)dCgDb1}d=NM3-rsA;&g}$|%aZ0$C?$Eo;;m=oG5HNdj`yQHHO|Bsg=n``TkB*IDjj0{m{ z)rHSp|E<-N*VkuCY6=xpjYe|vnQ7`Z<|I=Ueus4gm(6yUSNrk16$^Tn*p4!13#RMW zz~nRLa745C)xzRwcO>_14mzYelEtnx;V?N;no?)H9;yUnYrVQK;^*_FcTz!uMT#ZJ#2=2q9Oo(I`O8Zs|55iNDR z*-}z!v#YHJ!e78N$See`0?P>jm)pat9Gn7t4~z>!pyVn1K60=nA~Y8K8^ru35P)G+ z(r92|WA z)lOzUbm`|blDDzW&;=hDgNm9c6w=OBQTv@}ASb2r!l&`4nNJH!dC-;Be(JVx1C}n| zpkmOgXkUZdu_~bABsrC7XU&Ux?Vy4&yK`BgXARcechl+{uN>NW-9R$rilr7W9eMoz z&u)DhbBZO89*f<7%fyyrqp`Xb)t&?&$UeUN`q%3#Rg6jE@owYRao+`=<$&lSl5m1r z&~PavCA9ohiB_S@hI92c?K z*pqmJ8mmtzb%X(QDK^08P6$kz5t%{eHAW%8l;>)_%#>|A*WLhQQaeh)Sbn-4`rf%S z^ndbnyR=Lafw^PAoG}MV17^lvFyePx@wtNjHvE_6_|FB?@&ZwlftoM;TJajp9f%lj z6HbYd?UwEK-KpKx*VQPls9qCaS+QnDZ+uf_?~IYs!SrC&O(|WAIz7S874=o?s|Koe zSFu&O%zA59+q%w^eE<-&X^VOR4 z-Bq%% z32Q9;mHy?UWxn{aJH9&-`RutL6yC>W6#F^9#u9NCEZCd06GJ~a;iJ2gbb7+r^CTO6OP0Un)0%V3x6)&O7m9nR+_iu zTWMg3ud#+tnR z`a0#UPT-ptU%B(~IyE%0XdtdNlND=5X^O-mVWUuqcym-=R*7}m03WGDab1LLm11cM zOINAsO)F>{Xg4CqiTCn$r|l;mj+F+HRJ*z z%~p2Q&_?CQ&Hy!E#urr$HPGW$Fgs$WIAaxif2}=RSvk{H3m=SMpAhS3rXyb{{G6_h zU-&g^hPD_&e-LLjTk!gl^;V|KK4`y5{|(d0h{EE)>4+F%TxzM2d1>>qIXt}02~8_) z6|D^2++?*!ozTv_9-{w)v;j|XF8~$!y8XRB@MM?$?Gt(dP_Q2$`5Y>`qYzgj6uF z5tF_5Jab!nLzUBCzOHso8+*U3%ZovC+0E<vGqgKD!bE(VX; z&7$rYva^UyL8Y1^{>UiZXf78`?)rm3^}cH|`i-MT)=2y`T>WE!VP`TmfrrNfgbWj1 zQ%ivmQ)(=$nQB}r4M@`#2xS#OrBl0bnQ14^BOmRJ=U=r%t1%cVEM>D6)y?g@iCNbz z>U4Ttg{^GX(iwBExmmHLEZH?PWH6d$RivATS9X0f8m+&2w#R7XXC|r^fCY-&%=HmHx`nO16?B@L&wbzI%z*oN<#g zT{RtbL}|`@?L;FA5yvA0>*j3PgF9C* z)oS$yo81hEtew|)Q{nmYT>C6QlUm)7NH55*?)_G{ys~>{$Y@ZjXD8D0M*x)sC#Nr* z#xGF1;6Obmm`9P591s^ZwKK9v6q~a2f@iBQkkz{WZrogpL?9PmM^7RKPp}K0G^kjE zSfay(QUJrD<#^GS)r#ETokXLrB;HJDDgPEJsI)SQ=g-5T=@esngXoD~rJS2eHF5p2 zHUzwxEw6DkE?KhJkvN}jswCc(Fw;_?1s8sx?1Y@N$P6>rD&TLL#So;=GLI-9)<42O z5_!1dk@RupG5vA=c;r~c@wEPnYL;OL`(?$*3Num6_)8HxyVgBlYniW|z-x|iEQhM+ zhX52^_4CWiVMs$P*2QMb{zvVM)+FYWVvG@Yk@XvsYmo;PP1#5~8i|O}8PSSJLxhh8qIMh1RBfzMAMr*q zRkdE!6rSzHxdcEn%K$1dmwHi9;rC*f4j_*Ppqf;*7dJ-1s;jK`qFHgUtR{;W3retT z2Dcaa)L>1WaGS>MlwZd6kd>}tofH-8mr4^VS)UG`(gG^KSINCwdaW2dA6~=$^8Cs@ zcO2T@a$`&DXXj^HZ02yOKOL;D64*zsxNYg9!wdJewCuei9jZ(Q)5&l;9Z+ofN4w&| zQ(ySjGpi5x_CCIP#eeZY&C;pb(EQeC`+Zl{*`Sq&K;h-{3ect039CrAej4H2EC_u*;` zRC?5)CEf=A#DxNl0>GbW6aaonqxeY_4T<7M$}*};N*|}Xq~c{Z_m6mB+FwZ#(a)d0 zQoIOPQs(vw|9s+ws18tZBdi7`Wat(a&{>`xpr9`YVcCUd0OiuvO6oTNy~l_f4sxzjC_=~XtOEYQFsq*uY0O$UJSA*vr5%J*xqCdZ0b z)Ue3}(0#q$KqW5?^fFyiQn15*|9+xm5EH%AX9ZResPyKS zJSM*f`;2ZPQ-X_H_kl!ggW2A6Eh%QJ@}i7CPaLZNDdYIS7w7nsl8m5^?DB-{y^FQMmdnSIZC zQ^Q}?PBkKb5B%2q9VGveR;JnotqdUz4UeRFsz9L`tuBU|dQ<#cqRe5B;`_+Lgy&fd1b}xTAiM@}4dA~-u?mGq7%+@7hs@yWA*_}4qAqR-jly#?gl_?N z5tyss9Z)S)0pNZJ8^Rue=P!W28N#f9Z}Qx4Q5ihD z!JVxF$^!mvkcUNJg7AI;JSP?3zwkQ}hdhHj3(N`#UrzE4umJfkqwhY0BJjKf%vmsB z06)kN+DQDBR@4m7I=l_IQ7b063 z+I{+y#v?p3S6X&kPuuRcf7capKj3-8=kksF2mOx-UkKb6ygT$%cyZ*>*qqoG;(sgu z4G^|f6=y14$xkHzP*q#?>x?OLW!6}8ur^scQ1`jqbM?>6($0E+_HP>R6T?lxrnlyN za?bm6x6E5T-!lJ=E5rp&3!4}2SyZ*?iACREeC6VAEqP+;>vHWbL2F_BNyF$#v~{G= zDyYMkOeN5MNOfMpu9eyn{1vFp(s(}lL|_IPu}6kkl*i>V%po8CvJ5Mb13x9hN)*KZ zA;T*420kalY7}K&mSGLLnR!=+wTe~jwKA+jdG(KESdTVoL>V?HpU^xk!$x#9zjmtK z?&golFh(YGjSMqLWu7O)EXtV|%Pzuo{(EJTk07 zb1f+u)-vC)te6VW=b5XJi=a$n{qlhB|VW$S~BAJ0ZhR zNA9IE40Ys*$S~BAXR!=J9eI8%!%#=Tm<&T51@DnzsH5No8HPG48>g_Al&joCVI3(; zxtqdz>M!NNNZ~pP^Q0{0b17T`u%-M;3R`KIP70UObOtDFqyD=o?4)r&OJO$+BjwFY z!#qM^KZTD{I84JoN8xe`ze?ds3jY^@)l&Z7p|JF=zY$nZ{Sz#OX;~7qj3&~4P{NJc z&`vany3r=ofjYqz&?8{lP!ENdq5;$oW>^j-ptbodP89H zXgkb|&G6kmc*=jM1oi(zY~ix_^+3_cmxrcGnt_}W zabN+(A@yD;PafV3f!PFKDf=JN|7WRPj3vdn7^4+1xfI_2>vX?GYmL-N7rfg_^S%ZA zNUr|x>r((M+eY!M^~{B+Rg!>PpC=0Qn^G1r(*aO`e{B$4UxV{!t}^thM)&*q;<6oAPEnB6n7ipsgt(5Zkn%t+1)g)MeLw?=!3LL zT3c!V7?xA*q?j3k-zM72glTo!Niowgjb=!BD`G^dwapYy9W-v&C3QbUzb&;af!0qK zg+?gWx+z}%bz6wZ80w{IbWZCL8)@i&-A<$)@ZtKKj$sK${c=wGr~C*N8KG29kSS3& zx|a63ep*}GX_~!qKa_AJ`3=&zMXXA#Xgj68+o$>j!F68#c7CdcwoJ9T%lnsvhkvh+ zNu`@ZTaMJO2d45bwMz*P{W3kj6ys8x>!P(UweAs$VJW2%T6XE1tu!r?;xPDkOrtBU zlv?*woJjq-_mb8u(a4=NXMHrr5G`q+-0FI0J$A_7&CB$Tlx~RD{KzH!hvb&@xMChj zYY=Fwlg78h$IJ zo&tNAQUa1M@-&3j)3l{tC(+0J)EJqZiuwQT7kAK_DAL4>Us(pdqz!ugd@yr?w;^x~ z_>$f;pHdIv-wZx0z$VVV!*40|Z9@hs_p6;Y?tFNJDf;(JqXmO9mUm83=6`RL zy;xVhaxF`3t4RHJ()L>XCMoguX7M0 z+W8v!YovE>m+AjTO1*pKkxTl{Kf_FsC)**9xTG)jPNRX-sl3#aHp#8!qwqB#my2Mm z`w~i8?6V*KUYATs^0eoVOi_%Da?MO1J3pENUy3PdEctM&`0$r|=_r;V+`35L2*Cmf7gzu1MC`CH(@6>)VJ*iK2%j4;#<6<$r57(oF zEvW><@>u>+{kT|T9hc#H)BjO!FJk$_U+9$iw~g}C^c;1|BjGTNJ;fBr{HX~^GnF`+ zfwHI$=8*!}Rq#{^v%@T%Ba&5tGI1M`P8Z8kkWKLsI`g8|(h> zN5sNK>hsZ}W$#hzXFYWEj4-5@#8ZNsm{PbY- z6}+J@T30M>yDaP>p)KFh)xEVNzeO0>^e@XP3(qvT0LN=;-efy8DK@cl1E8++L`RN@2xt zM}J@UPRK*PcW9u$LRi(?IXsXTmUQI1y8DL#t(oe!p57tI3(0cF#=dT0xLB8)dhcZZxu5}dfCSW>~Ej7tXkyP!n<-8+T`I|jS+6~ZR?!j7Ka&K{w6SlH1qBy@ET z^=|I(?n(;6!eOBYe1=9g4s~xEfjso>6gGBu4s7if2Ku{6dIS+W2J(GfL&DYp$iUD@ zXJ_}&(58_-nl+&_-%W8i1gVjXK+!h$_ILCNT~g_XgdKn^VJlRFFw)=EoxdClG00GF zzPpoF#KxVM;{+;Ts(ez0AxHg?Xg`7S10$Pzpk9RTYlpl0hkCbnLm|6KtpYTdA0Sx; z6m1{q+fHg?(?}j-=ShLK5X=?p3-a(0H3pxX(=i0N9w6xhE+G&7(9Y$I1LnGfPC)la z=P(2s86q)TyYqwH!y_HEt+e)a^bhw!J@-mzh8DR~80hN~hK6@S)pquDUux@c zf5+DD)YhT(!=&nFO~?@Vz{U3xU`T(a%7q>Fmz;%O%Lm`KEz~dImc0)gv`yvT9RYu4bd|()Q`NcXW1?!M=z3HQqrCFYe&-$r-f& zq}Tn+&Pbk8a`tFHgvs&%oo1400huK3#0FqJt^pS050r5!zAG;Nbx8|%?7i&c?6=ux z!5n9wVh?}3vGVc8%EuckA8)Lnk2h96-dOo~W98$Gm5(=8KHgaQcw^<`jg^l#RzBWX z`FLaHfNs|i_?9{x`@Pie{`CCw1rQ5=6qZgx0t(vn+106 zk}nV%{LfNZM*9q*JyPj=@Dcn~7SVpu1flYD%p-aF=P7(NJSA_AE(9R?kNA5EwOu&L z{(8K*xmuh6H<6_7SiG$IIC(MV@>GAD{WWtKMhZW8yg6ob(>K2wn=?lSYG+8mczI>@ zn@w8wSLnaNFzm0`H=(7`SmW_z_1Pu^cwqLE$b>QSql4^!p(9`zB(lF44@avHJj=ce z?_XkHguIeyFOC_^)sW!#*(Z?&`PpOaQTff$aih5!H4U-1A&gFf{Ti54V9tW!&;a{& zv>VJmFpq)ZkO^!*m=u^6;=_J}{RZUoAtKBUb_&b@n0;V4)W$vv{#%I69%8RSL5TY~ zqGk=;&$72u_iNy~z?-Ua?{aPNd?;@%-Y zZ)ZnnykXfr$PSJ9{CtxS-V0#TU|4{@1kjfNbzdS?3^ryz!}ifHJq~U)xLYL`(6wtU z5TbRoYuxUvJ_sn?1*qQznA-)I+l4rIbwe@C4N{m&_67)Z1BAH&!rTB@NwY)ny&-a# z0c;+O0EPv;4*}kX=oP0!5Pk^46aO2*-Vf#=d17|}9?KwCd)aHo;(lmko5yovb>j(k z6QEjTH;p^J)%z|!X|$vvf@_pr6A9Z*-*%5{^u)J&+~t*A2(_ij$abRZ!7#`Qb{I?+ z%sen0+c_3a`JZB!p{;5p8vVPO-Ry2|w}MO0!ktvji_nWC^_zy7m75pE$n($L9~yk>NDiT))mV7%zoWL-4WeM-D^6< z5#>qcYsyo~vr2_@+eWK$gK|(gs@$(UsMPFN?pHAzbc4E49n0$kU0NsVT6GG)3Lk8` ziQPyJGl0#583eN*3uC2{7xSHr4|wK0)Y+O222dz8o`$wA2HD)ZO!1va;xgyOj@ZdEe1zQ9f%lhT zv7xc4S`30^u~^oJ)<@RI*FVG!ga#r5@qvf9mQYKiCEoH7*BEMyG{zer;!>ehBo$9R z#Q8)1h(GRsh}*a1u_ezgd36c5e#yX+-AmXyqVr%Zk*=n0Fhbm;V@_9fovCRi^B5Fo zJ=h1pya|Ryey~$u8o>;J;h4w3_A}oE-*1BNH&F|i^AGZJQlC>DWofcE`4D+qP}~>2vS7@4aK3|J!4)QJAx8R_&_!JhjJKtBT$G5qg#v zbtb**GS@8zg}{>XR+ce@`>97w7?m@yI*6t#1<$gHFx@ADZSBGbr!)FECTJ5EHtT^S zVaLIhSUmHSq}68tcABG$5B9>uj!+Dq6XarX0Eb_+M*!;jGVl;mPENYV2fcpA74k~x zr>;&c@^-I?>2L>^An@L&D+NRM! zntU>`K976=F_$`t&rjg|HOLEeg}sAn7!*r_=Ps~J9*hzY3Nia%QTVM(Q)n}bEc#gHE{!_at1&WPIs|_UxM?I;iF@Wh5PjW_-tbx`TE#Y^c z`tO>qGtP~bUI}h>zIb`th^~PncPzL81TMHSH3YA)9L}7n>2>F0{l?#`HmzrjOZrI{ zpILy|NG%ADBahCz&#cc&b@#~y(atf04_s@u&w7MGkLPHLtS!c&*Q-cdp{1E&QiW;#df2fKn(es&(b6KfP_ai)22!1Qp&?1ihNEsF(K);8-9&VoAhD+Thd-zeE zrN31BL@Xp`3}G3ZCEGMst{!iyy;Gs)xnlP^6K>3J*rcW7xf)LS-V;nZ!GEq;v(pVG zy67BbdQE2--_i0;6#US84%s2A{UIFJbPE1q3g01aVV;0!o+w1WmZ5r3>u^{>w^ZnO zFX)r|5ouq86_pclUAdMz*hzTn2JNB~@l5ZNr=oWIu#Deuy!2`X8+my?>v0xU8{zFf z`4DX;VyyX{lpH7jJ|v7acP2A?9f>u$pu|wT1Sc+Y`c%U2_!bbe5$+)E3$~{r0?O(f z3JB3cJwut%g9ZC`0U@Xe3 zzWo>XTZ|R4a6${ZG+Q%gVhdJTXbz^esk0E)40HyIM9l}CyfwSJp!3I;jFMNx^2w;W zk_^RICq{Mj`j!hSeav3%IeYn0(Q=z+nz}XP@Ro2LGStz^ivEVdiF`f2Ifva2C*oQ* z3XH+CCVK&w7_zHIr-7^I5R>a9AS`N?Fm$-?lfEf+yFy6f{f{%(3tw*zDB~_Knc5IR zw8I9kI&i@$v49+4FCL|UO89W+wu76%Kg!W*YmTnXHm|vJLY!vGmFaF4{2a>#%S?o+ zJO`u>lyF{lrdcJE$`4U3#m;lVCs8jF_yb+3k4;t=MV+OgNG7P(!VXqB*nWZVh^zX( zk-p!7LiQu3irmo?ShsDGdNSO8r$d_gQhkSK6!8xDFzu@J6#)8i1AV6p(gA)q6-P-P z7G=LGCc4>0i2qIgM7vod_1NFK4R>|L!YYHq&{9PbW~u$TSm_%)$A;Q*gNQfC8^{y< z6{a4gykxw{4P$1#_jeHgo~vrPz@kxfEbFlQc&f|`=dXoS$mVyEZ5X{}U!V5Tlqn)I zJL)YzU*Om)h^K0#bEa$CNGoD>7-JhF2Sy7X@2ueH%GN zX(bp2F)Mvj2O{>b$X8JzAzN2XIyQDrB03gEb|Pj*Mn)ngMn(>8h98dlR_2C+Hl|j_ zM2s*Df)0kpHjYG`Tud+wf9?HEFf)DCBCKyGVQg+{=J>bVS6b20*jj~%^Q*|;`o+wx zjG4cx{c5!WKmR}7VELyT0Am|dM>8Te7A}S_ZAas;PFU$X8jBbk+8P;umHF=<#x-3# zemp8o4o>Wm7ku>C0Bo@%0Gmo^gbbA`{G%v^ALv&aS~0N55Q(iWzfWWNoahv=mBX1{ z&AGnIQ7hLgJN!7)*m3jeD%D!h>s-Jc8ohQF=a1Ejl-(5kG)q46kU znVQSd_ElcKnL=rv^qxYpSMGZKlNYI%J3|kxiRj0lZ|D^{S+l&wC3WzJevjzq!WAzy=Si~EZL=>(C!c(v#5!fF9=mr|#!fYUuG8=-${Ze; z^3mnkK#$)VDAUmnl&V(6qMr>DXvN^Wif;Hx84hvsDQEZ|8!|on+LW=v`ogP)%Ip3+a%J@{fzR;}Uy`y_^ zyC>Je2H16kD@!`KL~7aHnTVw-}&69IeiRYXijL} z`95?bKkO7=N`KxB;<3KuiT~+baX7A2$@;Khy2Bj(lHJ~^@-EKmo^ii(9E}b>4jSyd z$#2eX<`o2Y?jblle8axIyMF)WU)ZUJ|5C}`ko*(0I`=8)P5r&DS@!EinTMQeufYNr zucuc!oZzpMKVRXKPq7;Rll!p#Gr|7HPZ$)P3>^PDjgq~S@xO9~^c{@znn7=0ZSIElBLd5pvLVv@*X=XOYf5})_ zSpF6M&1Yw4|Ci2Ry|1z`f5X4JESy|KY;6A}`>X#q|KGBI$Nz&I=C6&va<2bn^Kbg! zHrbi}Oa3?H{Ic;k|8E=qUSI8o`M2KRGJpH=Z(D!$|DFEZ?tjJE|7q8M>;J3$Y+v~t zY+V1+VdDI<{blEGnZMWH`Z>R@zkSsHFI4yku!z14enA5agOaVXjrm`XCu07K4GJ*- z8!g!W8O;Ai3ugAeO8)^c82(FviHPY7%l?=xJqRON3U5*>Q=y&FJM@uK`)t~pI zDrq3MP*O{DYnZVrP{t2C&Ok87#Q^dJnc(TyT7KqaOKWiW8Rf~XIc-k_;&vNjzCdb) zgpl0>((6QT5Zj1Z4%1yOy&l(J2gWh!?hHU-9B0|>iHXU4Iea;7HXQEBcu`wDi%L@z zPG-YjY;O?va4i$7ZyG3rf!#7ZEh2mJ2G;3sAoqGL8(R5^++T-F_qBTrbG~lsPrY@h zm)nF1PItD~*K3!K*ww3)vUSW`M3jb?))e!bc&8uzc48tKNY&j_y)J2<)3O;CNq2it zNRMPdl=JuRZ!j=K2op@HzYlv{mNz(HI4zto$ig%*Y2qgxZV*cuMS|CH7;~UO zppGWDvl$4UW{Y2|#lbX@cTmI?LHYCBk4ZR;qB3S-2na(SH^&(irJJz~^4o_fCXa}F z#~bVMT;tcr6zAf}elrn~8(#i@uqdzZjU4g@}vk|ChZvxVZiodoz9k+CS{g^_R^5BYFSz zzW+nsod2}`-|oo5^dEfjf4iS{Ot(cJ5mL}4e?OiJVz}6mG|0F0K)ePz=~o~zisGpv zEQg_07sp1ryX+^PPmVX1w$m*4OJ*PGZn$K9`weof-bA>bklNd_-+CFtF3PsGM?;*| zy&Wc6?gHR{uzd1XQfCo@#c{=WnLlD_$q!9AJsm-h^~0}WG4HU!EH$e*<+DnoCfx;f ziWO~(&u+X)_9m}7#KF{^9KsF!`q?b}f4pL+pyYx(HP^wlzpKV^7^IIC%IsMUQ4w=^Wty;k`AKSTZh zAfo>?;{TC>nE!`>{sqKbtVFC|0Q?^S_U~N#zX1Dp{QeKXvix12{hg#=tIGc#QI@~! z&;KXDvNAEVF#qo%UTbqpN9%tU&{5`FcbL3edvu(V#BF0zao*v13cWN2`usawtg2Rx=hp0I!Y3~A9gfgahr#TA z?zM|%C)nN30LPYjP)qve*PWDFq?yi0q}PGe@W!%@`?y9Nq#6QIvw^qz(!|QQ!TAtz zvue~6GaXoL;e9#{iC#X+hKJbEO4?Np{D3>4{9uNSCWB|;*UmRAAh6u zr-bsmb@qh8FsA`yq=*L9!1F}V<09`vfhO4khAiA6C)2G>h}!w zM?jexZjjpk-a(5w6k8YK)e*5~7?~<=sN=%#38vfFQ1y9UN2N<&=l&RUDeOPW^%@_E z-Qm4_E6MIZvUvcSn~9zfOj5}dm70>hGVm1q7E+KWH9dc1<0$aL&i%`_N1V;d7~4V! zGl#gWA3>{EOVbUlzQ*<_tGG=I8(gOyZG=B~gVbDFci)RFuaT{(21CUkl&$Ab;SPv9 z!aKaZDfCzjL&?`PVJc}#umEC(6Mh}e%LBo-7ZO`)U+_p8R^wMg-tLp6XS~P~#}Xoq z=5PELRo}!5A;etFX{n=1IZeXMNiBtok}+WK`5e}hK#Fq_j%?eWAumjR21A;ttz)^{ z@TbQo#IZkPnsT?KW^i5+{M~G>_#LT^zb%)8t}Ur2v%&7-~<0(4_XvEqLrr0dV*gY%C00)DlgHgX8|f^@LOG6u}?oGmI(yG=In{c>Uu z_S&Qkb~BW)uX0CV3-!stFCc=fSg5@`87F8JlsGW}3(|Xo|cJd%%n) z;;Frh3vycV$nDN6W@B*c7WYo`Py5|1!dTxA)~J!>F3%b@$SjN1Q$3TGUz&;A%8ZTk zlkA>!9oU=jS?^B*SMQ7+0^I`r0=>370^8BqvLQypM$G8$bF%bA-=1i{(R}UChH=B{ z=?(Dy;Vt|j!Efw3FaQOJJvLrobOg&sE=XB~$ae`FQ-l__gjSSz)R zenxlpezv%LStDR1TZMiha{+7<;Gt*$t;X6;K%m$eTNDJI2x``nb zH{$D*k0nMnqTX9{b*moWb?EXMbx)ZYl=B(>j>wH*-5()axd~jO5rxm6U$k+TG$I5M zbkkZq?}*Rw&C!zW`I;&}{5Dov3wLY^nYZ$WFSg_jUFDtd>i&phtg!19_6jdu95GLz zyX+GLvnrd)66A=2=()#C!0udkidfBGV6IOO+$$i85xh>#0q=lU;KSb@(SyqY|05X? zbbLn{>p`C|K;(Z3p)R^#1db0T14NZucGQ{s*&~nDpY^j-OjopZ+93kAKP7kwK|#Nx z5_uZ`h?502(;a=Nkcj@fbW*m{6k_#_%ClgRKA(kX`4dSS)_qrkIi*%Jn8pX=5J_`Q zzCB`Vh;$y|uKH4-4$$#_p#0kC$*7^+jk#KIr{L@r-I1KzH*OgB{_x!<;3o5k^}Y*z zLengh&fX79)#!=<*ymgGkD}m-)dLPcTiU^n6gZ`vaI2$F!StQdh+mO+dP{y zaZn;q%kMU_znIkESlqDZ?CDz27iNXCg}o#A`*?NyI{Y_$6Lx<&b%116`n#Ka-J)1v z5JvQOY(pUQOHZJTu+UHE@5fk^qz^un=W4~=JCiq?wVl=^;-Z#pWp2WM>^dv|{+Vrw zojDcpavhf)hnPoVHbQW~c4vwPdd>~LaO7{d$-D&*3zI|gN&%27;4PeyTwvN9u$cUZ&UX|^KQ zPAmCAzQaU?gB)l_iFNhbM$kBVT(#<2+Hb{-bH`0LXo2M?U!Z!TNsd5~2yclpQ)jN8 znwTg&aKpl!2p=9Z@8X=I|1(7az}uP+_f6F&Ctr(>DvLVQts2zHh{d3i4B=BXnk;Io z{}uzpOEbDo0*^rPXc?wmJZJp7IEkJA(y8_;DZ;L?!KK}1L4B)x(*1WQSseIvg-2>( zcK=LPtY54kY-hhAGW#-R%8>eIS0Bg(xmj2(mKg5u5MJ{MR{ZqIH(EXS?LONA+xdP; z7|FA`V7;n`@~K0hAn6&(V+wdcVG_C^y(rb7XBa zSD4}FyIlR62pul&pZ!h*?KOrwBgLypKe~oxX~ZHe)si^xZTHusHtMZ=m)<+Ibd=lq zZ?()1+WKMpH?&9Rsx!Dg%arcjPm3+7+0Kr1hQLB3e*@)dffs1mmoQ4xvcg;LTuo8| z+U-S3K`WH(tCl#%7}8YWF|kR0e~zY!Q4`Lz#vk2TTd)ML&X^XiPD*CY^Ul&k;FSG{ zNx8+mTruW6)gY9})^2?vtF~RN(H<42=An-j(OGc<+mf_j{C-&zij7~)>msGsbh#ip z6qiNn#qL&V3 z1rI{Cdr=fA)PlkLjl7bhHBX5x>D~_|CYfnNf|!R+nx8sI<93w<&O-~O!8JtE6{^9y zZ|=lXFLwv(qqhai18TL1Jy0V@hN2(n{r1 z@mp|lS_*$=@}|v@Vc}f`UO(C(2?ifNesuRF==m`rK>+Iwm0O`k5T0pAkmHC`I9tD{ zM_eVzwxtd$a`4ZBR0^R7dZ@v4+WDud|gg@WCy}r~~gLwjl_I-=+_Dm?4N1^e`H#E0Iwnn2UWGurg%H zf>C@9%&x@#k)pLUD|b8{TD)3(yjmh&W=|FJCA)#qUSwaBbQNJ0;%Z7;`)J3i_ni0I z#ESXzi_ouu;M!(C>k0X-XvY@Tr=P`N_nLh088=2aK_jK^ov?0>ecklhQZ?hRCE2%y zn=fh_SkA_z^-aAR%tgb=F-YYnVGdp~>&&O{=HEf}59?az1^Uj7xi&y6Jpu z>4eU)aC~o`zw4A6HJzX~9ch>40k+7CFTq*I=)5gVp0^UU9VIja zgDUiDQ-@|o>tQWDlojnPnj|I=Vv%c5!aV}dO9!@}z-d)E5ZVF~X&g7KfVIzb8D8hT zoEC(xoC^v8=Wc+&XvWQ#oC)szNQvC1nl+p}!P>QwOWR=hD*4 zX$2clJqZ45B>&jbjw%vD$`wg`jbJ2#jvy*7cUVNRdt+&9q34PszbMh6IeEraw6n>@ zZBVp)TAfr=jDr@-=WSHLO*gDHUnn2n=Web4&^haJ!)N@LrH(6R>xSFb2MxH#ZtgqE z*hK8eX3A#o*<2n1v#>KT1qK_5u2l?=J4_?%*Gs&ceU38(3|Y&LO(B&F{ORvvgSE@5 zwYDNUlO5A{Dk_`#=kpVGV^;uMjU)B)R@ie}cPPMZFSlYI#^q6)`0e~z`#sLw@@8{S zdzr&f?V=Nsz}y1}|AzTg^D7U7t!cq=$mj*h`5hI5M;KwkCat6xS}uBd4u*tM?2?Y$PIJ z$8LPn(OZYcIu~oxKlUb!GxBfcF`dE9E-hXxTd0BYB=Rsi0_#|-YS0+0j0B8+;M3H; zpE0ZSzL3{v9^!Z3FVbjAm!$=;H9IgAflzC-L(G?^KTJ01mggjp>m5-kye0 z-;&1_Y2gu;&Gl$7s>gL`Zv>{U@e`vElq7d^D7a?$e70xFZHJ`f%zyVpz?WMK4tKHO zSn|e)^hJgm^nk#H0dn~x@)U4qQN%o_@CJe?!OBw~7!z{4ay-RbUR>bcwsX2saB|0B zXkp!c>M3o_9=M{Sm&E_bm>ZCDNc-hQTnx1tM6F5@%U+>TQvD0yvs3VKPuet0x(KMa zheVxSZJoe%Kc6{$^q_?(TqcC#usS-{wOX3VjCiVnZ+$3FYuyfI&~57YhF;^LE!0xb z;i9rzclrWRICnv_`Az(($wlmOtkv%4N!vkUI$Acfo6bJiGuM?DXfyJiT1NQg%+*1B z+}BY@>9gmaY#$aos&B1t0&dn}(Tfc?s3b)Ux7Wf2WaM2a&p4`sMvXH{TbJ#l1yA(Ai=77f^Wr8%KlE+lzBaLu;`kO|BK zj6@7}j0Q{uj3&SJ5>!VKie7kS>J!;{08}>);DP zC~$|AIIP{z;lJv1CMLdoXVWMRlqn{uym?scOI3!4ItA-tNi1JIe9jDbfOtjL6 z>(E}=fSlietl-Z-*$Nj>1~ijH&Xl7;IYhWY3S|ztP@fw=%s3AQWuk~b+F8BY*cfoF zwB6Kg1A$(I!l#Ai74C+wzg8No=SMjfaN76ktvl+`fd$^=r@ul>*AFV5B=&8Cc|js& zc~8+>0fM^uuzx5%Fo@-#l=_l@BJ_eqlEP{rSRKnLYX}yi`dC|(X=4F$$B3haC5S_+ zWz#Be0KBy%29pXG!tLDM$qWc4*R8 zcV%^+FHgL;IZu1E(zU&Q2+|WkJAl!M(y)ntS9?ueGIIw~0GCI*K`rHyM#x6UByhU0 zbWX>OcF@~LYIM)d5OGcus|*VRkP5~S=z{*PbyY^+K5I0C9f;hf^x)PYf+9nw6i8V_ z(xS1q-`=MgeypZm)YRp`gbks8FsUk@AQrqrfqpY$=7)4V8GSJP{o{M)9(dPXjbE(R zoeII?HS^|V^bO8Nl4bjVhh%lacYC<*uLI_#BbBGgX{##`oy`luD|6m&rB``r6 zE2EaP@fiH1lHv5oB~Ot=nLvr=M){#+8AN0gPWE%=>lx_pgx}Hh-Y){}y}Nj~utE^# z5Dudcnt?~1U&$w(&57#iJp4^nA8c;7>R(hFO zKdv~p7u$?Pvat8HUwaat7OQhY>fKo;agyeeGr!WnawBTJo_i5m(E$cN;4kE=oZo^N zcmh2xeQvG;3^B{*MD{O@Doya7r`BtX8-F&2QvR9_@Faa=gi?r{9d4>1O-7A$5?da^ z3cf3)73+!63&%5v43_=?S}==AKv(No;9jeslPMI2U^>o59SY73Y}+j|oa^TF^llL= zk;5FTibD%^1ggpC_2Kn^i!HKz6A4|3hgmrXs)EJnCBo@z5KD5DoTVAf8z%1#GwUYp z{A_3ImbHPM%yP^3m7fuj}!0?9V^ad6PAt9@Q)wxB%s;L+9l8 z-{kdc8VQ!g4(D1KdK)VMSrwP?v0)XjqaAH-1}m&il}9rMVMX9N#+ObbRthOZYY)U^sTh_`gomAjkle}!OlV&E4AgC+}S5L*HRMaOIhhl0kNvqk#JVIkQb%gh;mJ8Y%oJb;=4$J5z^TaJas z(5Ws7^_*X`CN6{RqtI=g#+FyE!$CNX9b;DPt@P?WsZm_ReRLq9qlg}3SL6}m;OfPX z9zn~bG+i&tfItx2{$tkJs2BU>$hGf+mI%T;!X__RoVVAq&dqcqJB*TZS*Q0e9Rnsz@PG2tvMi`uC|oA*@(^_&ifa zhnz^46)WB?fXIuLbM|>#5HXGy`B{}=-*N=WN9j|FM4zLAM7U7$1+rNcaU8&v4}vdA zABy>)=wnhzz3ET=NQpuINQq8XXG~miF}xQEqyy*S^;4W`NVZE&@V;>aFm5$pbghKQ z3$z!ovy$lK+_AA&XXf;4O*3-MmfW7`*NeCns=R{!=ADR7^OyLKuLJE4?yC1~$|cM+ zRc4UNi&v(PO6OTKL~?qV>zq7E3)=miV;jl01(0-~lJX=O4<5(@LC<-T$rWPaQl_Hw zS7JJgIj7kq6(Z%1#?S#YgNWGZvfUzY&_u(znuoORTj8Z;69!@il(Cj!O=xw8c9cUz zJ3A#*;73$H=uBjkrc48U8pypOpCVh5U2kQCInxGh8-j#+D(@&Xs%RF|>3wj>Ht__4 zdD{dSG-_`c zjfLhxy3D#%&5X!O~4sY<9b~N;nn$; zbDHxlkLM;uB}~w{Mi<7y`NsMR{sI2Nx(+^l&de6c7A!zCSrL{ynic&lvxvDpi~wv~ z)L0cHsqy13R#{W`b2-!{icRKGEn?Pw*>2_x(DyzjrP|qk>cPS5YpL@BEF+uoUPx#| zDV?z$E~61f8f}Z%TqKqb%F={pA}8b%$M77|%fzRX@5A{9<0k43+8O>SQ3ruP5uMqaWuTr%%~7c@00vkxshDb+~=yFhjF#`15O98At=#Zh1$%Cj&IXK@tB9B6Jdj zq{YMcsUT~gd-8~tA=b!gmLE(rA_sgc$H})Q9nID1S;>^YQaou99-IMl58lo0hoMBc`J5SEY&s$#wt2f z5ZifTl|aq$2wH%f@$T)Qs;$TF1BJWhs_7|Lw0KcC#(}JDihAdj?FNH&_lK%()B6^F zcsQSfiu1E)WbNhZbK`?!RFn-S(V6=cn7rp8GMc}N0B>!v06Pw;yJDA;Wva~#nzSxF zKL#GO1^-k>C8_+f8NG;^p7C#CJ-6TkX}StCCZ{9GST=G_GAe+6aG!lyccY{&E0#Pf zjBmKGR{6;qyaSr9oi77t7baf+zrTSPc;MJy$#g#kPOJT@A^csa9oHy3G<_@sw30p` z^*$vdWX0d208tcH?~(?0Y>TMk@BRZdh(H6=SQrMqOtI1MeG+3-O;x1}lJgJ5MN7FL zaN#hFwDTiq!2zUbG@fSNZlm&}MS;~%`CNrWoql9!`9H~9oC2N2G8X-9l$pyTuoS#`7qX5OK5w?bSEw`3i4)O#Q zZ>o(Sfur%s0ED(+F)PZ%PzWBWhJ~Ap+)-ls#B=lqUL^D|^36bP>{^tjfe_D>eL3ql z^1C0g?5WmKX4T|t(^VR%I@XN7zg7pG>K4f|5PDg$6DL@?3l0PGz**0`>bA|r3(X6D z!PKjj`z5GZzVqv$5gLcQdNMpkJ!365u8MnJisaTe(`t=SC)F?*MH^#twem>SToPG^ zPYG#Q6aos^UV*n6(mXwxxftDCZ>EO<1b)-QV@8{E=A?UT!pPiiVH5Zz6X`WVz#ikRe;AK@TUvBK_yJt5k)a4)jZz7Uyks!AXmB|!U9jrm|9@&pG7iYQoOluwQU2AvR+=?b;bezp=#Qf-Ca!YQ$D^1Kxp4d1W@w$Q@q3(g$w?Y!m zcY#&m`AW%(MfH|gWk$u2&04wg_QVTm_AYK<$J`Wgo_5ZltObVm(==rD#~dx)_$$cC zd-vJt0qq9Pac8a1v+=T#DVGx5QpT~IyZ*vKiWUNSt%@nX9O^JfcYT##K#F+7_+@6N z-p|k6w8zBC<|d$_Bx#7mU7m`QP)DZ(_|mtZEiR<SAsn1x%r;n0;8 zuoi*!T`dx*@bx_#-UDiL4xCbM#prv67`1x8`ne8N_majK-Xg*+K~^K4zj?EKKU0AX z%dXSgCiQ&Dz6UQwfb^S4)+^UAg0AYxF9N1z?I%Gk7CngVl97^95J4+f3GZ%9ZSe&m zbv@3JKhY@XC1to`*JnhWO&6@5)}p6K@RZr|Dn$*SFqGNJ2bqWNnfnn~tY~8q1Vok- zR{>9fUMfSalA)B#T`aPnvGgObNO=gs^ano=&?p3%xk^I5BwT`#a%igZHwzW?KkCZy z)P@G&@~Q9|zk$N)*;4@N%nK--S)8d@(u~l`iR4P^sYN*E)j~Z^MF_zY_~y zfeYQF)T7!g{$v0Uqm;XU*D!XN6^ANINvBuMmCY%jQqZ!|)c=juDoBmLh)R`rAiz)a zQ6cr1+4WrSKXXL9Rr0>h)MeDtH_Z%#N|C4Ww(*_oGLkMU$&{Qm8&AwBvxFnYciLAQ z6!m-2T>Tp5CRrUBa4KJ^T|$CjfnVY3nh+w0@4GcBZI}Hb-eA4TNeoopIS;IuucMEw zIrUjJg344jjs!!ZcZ$mHR~41P(iEB+ycBW-*iuQHsJP~{a3t_0;0vP)>ZroO)xAI@ zW;N2ZGp`Kr_r={3ALqxgmEHoC*Cti9McPhCc9b!Z@#&~Z!rl5O|DZ`LhZoG{7PEwT zmt9!gQc%7Wb9X42F9S);8&R01)b2+(g6uo5Zf_A^3U->ba9lj8Sd2SQJr6qXd3e%s){RiSnkT91LO5nrWM%ur-ly6A=4p} zLEi{*dDpduv^9=?dd;;-+%Uqr^sR~_V5&pNWu#e^%L&i0?ZuS;@VJ>suG+*&s<>uJV83VH9A9D63@$#jYQTgvJ zovdl+RHzxWMML?nX$tV*)2tRGLu9EZ03Lt`01|-5*HQ%_7MCVWts~D$t{jci`Uw7g zcqKVDO$z6)Ob2s?Vd8q#M?|X<=pO#b>2)Kjb`XZ2rlOYZPcQ`p22f?wZt8;8z$wky z@r8gd7!wOGp~^29C@|V)#VQzT;{K67x@+OM&5^O=cdhHh#%0?A{dsn5on{K42JEns zZ=g!XY6C8x4q)4Vl4JD#YEj=i2zS5rh@v+imobkz@@Fp{)hoB;Zh9tZxv?OQSqlG+ z3_fjZwtYkB3@qt`O1soOoTp7v2cOh){s?L0) z;rB?qHNSFD(=?Q1?=QH+5*u`F=@pBHo6c}>qFAGX{Vn7^t=3W^S=uZv zN8!kW&?~-7PlooLQ&APgvl?f%vb?CQN3g{S^XCtn$-Yc{r;{dJO&s2Nf03|X3T8IN z5cB6e*7X4Y8ljYu;gSNBJp<)^IcEi_L!S@Fi>;O03b(tH>Hc<1oz{;U z+zMWPt<>oSfyU-M0UDiZZiThGd(Del2zvdC_PUOOX0QE>!n6z^E;6<}?1-N`JAC zLPF6o?2F2}ibB|eYWPB_=;`EK;|Wtu^~p#f(Q#QjIn(d!Ag^mjl6Z*$mJKBoiXNo7 zm)aj%s1aE!hLWW#^?c+m(sUB6OBd?|8<|U)(^?m67r0PfKX4>$WOXmwlvhsI4%;a_ zWgUIa^bZZE2MvQWHp7-ZwA89Caymq>LqW|8$)x+{*X)CsWyoX0A~n&^H9V&j7dbvu zMS-@{PH+nu)NYr0U_Tt*&n|)z!7fyXwXGIw$*>~+AlhI5WHyZ$Ubo%gZmWl}Vs&XIP5F#&e6 zw(kH-pV<+ei>y}IPt0klJ)Ekx5?PB=Y08||ZsL;kEEJHDeJ*$}e&e0hZzZIm z${cMF4@T2V=)uuWVHMeq3!y&nllD-2!1#XfRG`ch?Sq-e66QYpw!ES(yh)6a)MH6W z5`YoQ_k;Y|UjnB(k5=Ey>E2HICnHVJ#aUc-lAtf8v$cCs*w7ZJ7#*dN#k@+tZ=o5( zM$zaW^v>%@jQL*?O4vUOFrTeDt5pV7-v{QbwG6I5kDkA2C_hqOttdKKZGF;z)|uKP ze3o|CiDXr4EMez|aPnPWKRwca92{f{S z>AtHrj|et;Ard;W#S}9^eI}?~JGgn`Cx3i;e44W1|3^fD@8~;Ukwz4kFy?MJ%Zd?k zr_n&&A9(3*v&We~>+4bsed0j`PxqsT;~jR#cj|ea9c^!MfA~fcjJsw}X$IMlkJOP( z_j4OB-sTRVdey5oN~9f}bV?~Q>IW$ew@JFm)o{cpcxERH?1!zm*L+wn_YLC0csw^>!ct`_4~x4T_$-JUvSKnvqA<0hPxnuak#I{H~65 zrT(pBt7W=wv1ZUt?Bw-Af65UtiR)wbmNO5?SX8S173gvh8h@i z%t3@NF*jXGzrzv`_)+I@Z=xzOA@K3hd>H?EoyuF6Epyelyn8)n+K8yN+2nlq8*;+u zGleSS85i`UDrH^n!u4(Gn_{g3KW2(g|4Kav@5gU}gR&pUcLP}s6Q!EGwm0BBABM-E z6t1&IKT#5tqDHfUFnE3gzKPu-6wNq`_9wMicEDekK%+pRKaL%mCT-a)u4x2@CzKRTX7;6 zrP=ImSkZU?DnJ)VB&DVB&%3IA(5Hs?A4>O{CtJ5Pj@x-_>17g|p}K~|PC~NICYhVl z-JfYZc)Hphgol;Z7_mf!O$Qmf^4yd8H;^;nrAdP0_E2?#nEL4fj3M30SSkKPlRN%o zdCw{gL;-PzBR|26IkOkdk60XGrIH;JT3xmR2TA)7YAugj3!7v*SVllO zwa0CDIHWjkI3%Levi9pe#)HSe2Fd(#W6_w@B8dGdcHrG2+{-9hVm7QD0@pZAzRN!v z$0lI@Iceq%6{(r`QVx|sRxqsQro*6F20O^tFNGJkYE#}#Bw>f0){8cZ9I(hv!pZ^? zt6}cqhw#@ibuxT(c+w!-PNxlp(A72|swVwO#FWaJxwYdd1Q-hS9$JpWk}-491rgGZ zVaT|9HjM@?xR&9Ze4is`-O#5gnNW*CelRG8T9I6aQLe*4`ja#}!aw?1P+tTt8NEbf zLb0`eB0qjIU4XF`vOeDj#{7dEJ19jr3eCT{>*Xf@81rFAfai+GYuW7Z>APOV(Sd~B zJEHh?Jx^hNIIs?8G_LB|Vx8B+kxxDtJAuoseygy+{^gVDKCRt%&<%-(7?~}gPAig5 zLB|oV)X%oaksj1HO-ca|I1{cJG-Azx=$K;HT_*0{_XL3|LXgd5c`N~9j*9(7?yvJ0 zY<$)qgFYj-PIEe!?lmge&xm#61}~w>pYutN%dT;Ic1tWvro1Q?t{ zMapdQC%na%*>M9ni8Lpv^|JU>+F2VUrjhQQSSHtR_IUA$RuS+Hc5?z)a-wUYvo=pD z9D`XAcF{r%lMpBoA>+r5LJb{azK7sLxZpjrA^DEO5jrI)0e6OtLiG*Ia!=?OiBnT_ zPtl-Mwww7eU>CQ&$CpD<-tdK}r7~l7Z~0vQxHaE=%7vziEm$pJGTN;tBOym+C#WWp zvGPR!SW0t^)#Gh~+^oNR-RBu~@%$9H@?LvcyJ^;(Y&Dg>>MDi zjdbJkb>q4{ZU&=WE$up+(?ZMvHxJ3ctZVkqCizco&$4aV zqsyY1E}eqTF&DS-`R>AaX)-brf?IOS5X`sj7&%={%#tKFDtP87C1-*g z9QYjx`Z&e-h^Ii>?DvaUOP%_|o+&GbcHnFoazOaw2B1(UNaq zy67{V0K1#eWfnVmvG#!7k|f)`?h?iES5r&T_GY35J*C_YE1;b}-GcjP+{((?Wn?9c z6J7gDz*l0qROetal_%`yuc3Z%G>Mb4iNT|~U)#Iiv5p!o%z5&$zvZ$mGB$^=ZQwe) z)qXx@^fgWxoA#%ut<}BOzNXw~UCyV!N)SRG@nTC_;daKy@TDDy?f$fy64T0*-c^m; z=vVYB<_%Spk^aS*mrk9nZO=~92-XT`5F(Q2{o<|6N)%+L#2iMfsZ_HH)y*y76dL=z za5_7^`#7#83fC?}kR1*y3WrsSm$y-V@ypc27{*=se1-vVWQ5N=T=kXw9`qJ?BAr>KJe`fFh z*V`9UqU)0B}70)N}5e~hjh0{cWu~&bV*4|m#|3z=>}<}y9EL1Zjk!F+k4La zj-LBH_q+G`^YG$+*Q|NhS~Ig|2Hbmov`;}itWRqtUFds~ke--}$t?$k*c?2bc@c1w zRWf`S1^fv#%?43+NYyi7vCW1i((4^*JY*TE`yx`-h-zcql?8hm?nN|ie8LF@vgVVt zfM&$AP7R_$FZEX_yGglUbZD1#9%}JcaX$v~eWHJ$B1yerR2;`Pq<(3y6En7nLP zpiKH@-+mN{+A@)+ebp5-+50Z1KvrkFdGkzErqi=!`a0@B4r-S5V^7qk0S=`-OI zrXcW0zD6}^1HNGOeInoVasF>6Vl3auC|le)W+{R!vqv~g*pPdxluXO2QEiat5@}!O zWA;9JXK8^ss{%52+l6EB?~HmsNiowAMNJ2NZYf0z$_W^6#eW)-g&!Bq6i3pj$U-On z6!i7&o{jU!LmVp=+6Qbo#hT-rl{~0&OL7QN8rOe1R_} zAlD>!4_zXzb&v#(v6PX+Q*Iy_5sTn+e75haFM|f-pq-Q0yHXB4<(W182s zajN-Il+SKVyO={*h*CgIq>AIJKy?1B&V|*w+r?XNf=nZ?eq~FZY`KKA_$h)j@|IMZ zqQ8~#>Mk}ylUlH(vnHnlSaQ9uXuWpq&M`_SiDt`GyjNa5xIDr6%=CStDMLstB@RyZ zlO;>I;jRdf^s}Tu=4#Ec7sJw?FG9p+Uxcg7_O~qd7m~d~4hN3%IkEpb!ei?*XFHuv zl>ha812=@TIk<`QoW_Hhv#mJ_Xg@!BvbB<;dW3CN$g8hO!F4O4rDrENd+)nKB3xHj z73Vs(T{u?Bpr($-$|{Q=mnM#@o4ic!)MiS>-R|ZO@zRPJY4;@zzhCy)QWe*O+wA z751%tNZ}nie>SbPI#**CJ}u~Reu6t(JGZvmNxI2{^7$?BAxlI>64F&Fuh2>=k^^?B zu~!jB#SppcqJn4=mk1lOXJ<2eE`l51)HN$#qljnouo#EPw5Cpoe30|KH#$=xY$fFr zKT=RMw(P|)sUM$o5>Dr&8jUdDsqvMiB03f_$xUo_+)Wi)hD~ic<@@*pEm{%pMH%A{ zTPXq^1F5o84BCOKU91#;`;(i1*=Ox(@;HOLN41TN8M5u2%N7DS-Bs*S*AJeN36tbd zV#itGM{$^3&<*E$Pb9pzC@%})(UM0mM~a-=bJWi7jw&lCC1Ia)b$`SdWwT$tMc`X? zvTxwFc1Zft~!b1Rc9RMH3ELkk<+f9i0vd&{8L0Z zGfDk9gZ5DQN!&S4EPB|7-5cXkTv{o)E{Vv^id~A@x5QZRr#PL=;FEQAXmBFb;Ub0! zLnWb&M3x`&MC@W3lxS#P2Uz;SnK2Uy4Gf@|h#H#F;7inU;~OLHNDjy$#)|RbSI&V^ zsw$CO1`F8BoIy9Me6-mZrBDkCS^vp5QL2j$VO@wl0^@(@ zRwWUmau0{U8>&bCZ0VPsN~VYGN-kwD8C#sK@7miF=NdJ{cArk;;bpvZzNT!pKg5v#tZ!V&h)rBBam zE-+$U5t6+kD4>oF!^jQi!Sfb@;hn_YmR8R&Z^*Z`Oj~~&f6p+Rup864r}Nos!F-Fy z*EFxb-79l$phkw&mY&Z)m?nOse*9)SO5q~`hf_*_3OpxQdWEIV3l5K+xRnW71Y);- z)0$7)qTwb@vXKdEHq&e5Qr`mjy*6>?eKv4|0*h)$5PfPYJey;|t&a5ZjRnxrjq0}x|E*W1$G66|I#u4*Ou;`6Kb>+H^#Am0JsfsvG)DR{vc ziQ{^YdBO9$v8$wgHo=ssB#9oTbak&XVakn2j(e03H?cWCA1TjcY0+-Q5+ZY`c*C_BZ*dwOtJO(Meo_!#qgs{16Zg2j&2ZYxZ=R6Kbyg0lVz`r)$p3Ie^VAS`+ut_u;u7KCD^^Q0Oe|Bw z?gjR`NbWK#Y~uz|(bMLv-FTHZHy-aS#%#E`%q@iR z1UimAsrlUT#ock}f|Im#@zWhW*ktX&DBs6MY=USrE0DWrPzZ?`k=DCajLdo>=0FTo zqc--0O}2he35PZ7{Hssaa=Tynv)#H53fI)yb&_i^$ScT6F$h_{hs#j1d=HhtJ7!J7 zQGQyA+>ZY$!#4fP$x~0MU?HW!r{5)YrAP@y%kp!^Eb%(nr(UitccA-NUbl0nicVWs zp%A{_#88WDbPj5#G??7%9q&M)kcpjnI0YuInP*jgWkFF_a9^W%arZo9pdsK{@W5vt1z06l5PkZ~`Or zD`B-zL-0n__(Ym*-259w1wa*)O^b;r64^=xRIcf6&`Z{1(>bhT8{fGBk7AF@?rVjl zjOymrmI2<7_@z^?mZq-3!W1r?MsVy^Xn+?p1O%0gR6 ztymNWL1UzRE)}Cnisu;9@rlXLuTyfVr1?`PD(8{8T`BLV@Bdq&wK02Bj)b}Du zPEt*Jc>LNG0vS;veUz3WI-k|_9hiPab~g4PD>-((E_sY_Tjhm_{YZxRlOZDcn_kuq z!C(f8hi&D&(+2mgQ`!xM`K7dUQVN^XiD&iEK z&MOp?N+jq2ysh<`;nw)H!%~eo*?_ubFobpR;qI| zx9vG1LQH718~rYM&{4`WZ1*^=C2^h*rDKDXKY~~NeamqYqU#@$1y=<8;2Au5o!Pwl@brw) z;2pZm_?$=dR^aFxnH#9-)1lJ*PYk5(`)$d4mN6t7$Kgt5H_da z*rpkKPN$kB`Kj#wY$SQ`S$+N@7`>f@$lsTJvK8&1x@DN9|AU}ZHcr-aW41$xuy9=%(j+|T(FdlN-wo>LYV|7#M zC|aph-_>Q<^m|ovmU)(VCdXhlVLOg%BMOkU&@EyVAkg*Pgj~+tnmkC}zU=ns)Zrf7 z`D4zNv%ZL095sauX9+O_f6GTS6bkoopu#Cfq@AH}edXTtDY zMgzX)bZyxYjBt`6%O2#RQPZV3iV?`Me@UfGk9(*y_&~AlGbrIWB*5ZqYxSMTT;u+A z9i_l#MOcwYC*x)|PX&1sB%Yw_L21(x(7W>tnPn(wCnzl7GnGiI~(WTnTuv#7z{n)V;ifw|Kg$ z556rBAxgVRSPJFJzr>@9dLqMClT}9&@Sd5HJ#tubA;{E{QPk%l$Xj=>txhMI*KoH+htn z#^DM{>6I_b_1jCUoM*jud$=k}w5J5ltJ3AtubNVtAQz7h?w;B^e6wrC7TFJC!kg`U zUiOG;B%^z$tlG7hhliLwjX8*OHi$A3>x=ThtwbS{jPPPryEE|1u~@5_xrKp zIX+N+Wm20BP~Xlgs7&(EzLSfu&ZN2)&s+24y(5e7>ak488AY_Pu24-D9;o(;pQOm! zMFJlDzPYDM-=srMo}dWfnI@13);d)vUy69 z)=s@Fl!0db=AO162t3Zv93^9=IGCVrPI!dbEKXM}T-8i~HXtmp-XI4B(JVEnWL1In z-$<&GthJqg5ZR_!{O%zM6s%lHWu1b(ZgAp*E-_K)Fi#Pm7qIu+WokgP20zErVIGrS z#LKi_Bi-hXGPkrw!Cq3Q-#;cr%LlYJyntE}x1vx(FQ_x1OHZa^k+?X!jXx{YU3exJ zA5>OIregl|``j2@{A6YjSUpRwl4%o4hqr$(FW*GAE{Vq50T@~ z3U~9ZC|VF5hbv^IRq`h>#s{4lo6=XJAEhPP0AU5bJk_#=Udz(S_1%eOdCFXd%7|WC zpK5^>2BXpnM?WLXxS^4K*!^OwVqvauMiNLEcLa19gF#v;(W>u`ohped#nr>W66i{- zQ$BmRLJ3ch79FbNSGwY)Oy}No!l|OExTHuVCg9P9Wq*Rzw914 zom_^F@bL&CyN`O-ggLi1T-n>l{`+q#)w9g9BQ}&T^h@63Dskon`Q$D+_88>FJ)m5F zT`P#J8X41aeP<+hsltFaQfI&V8r)gHnjrl6=Iip-@s<*ffHO^zGN#O)aqY_Mw?n=j zlR~778hbp*TMZb^C+C$KS@8$q&KtN?3Sv$a3m@ZVP~7^mZfSd+G;U?*=5DdiL-O{l zMbYE(^jr!d5ySO77jN^Cw)BuaiTvmjS|OnEj2|r}m)?cvCpQxf3X5~tD~bHs3deWY zLqBp^J;1i=ZJ=b%01lzYHk)@>ZUmGNg8m*J*R53<@(sSXQMo3J8dm(+vveY1n>SBn zXogZSmvmjvEKR&D&^JAcGAH}us!P?Z`fgG<)Z8qd@+DMT-0QWyB$q8#c1?Ug_p#D) zpkTd3MMFw`=}TWchb{)U&bR}Svb(s|fY2a3^mAKilpR`GE^Z>gVa}JldD9< z^wmbVlKwkJWlKVZs=bpRIlDy45(=t6L`oU&+PLJ$1)|dvi`mQ?c_J&~&Pr6*H@oRAnbqiq<}@9Q42Bn* zUJHiB9PQC~#Sp{!nymm7x@;+j1p`I(|*!;q*dI71@w-kARY;iIf$|=4yoJ z(qj!#o{_h4VjV<=EoB*8IQA7cGQfwOX*L~`Uz{BF$7Jo~)y{|-?dRmn##B8I$=&P9 z%6^*1B<^&q?c8V{!`f|3`MkDdY;ShcFYq1yo4u|J#}j)imNlsbcJ>dAcRu0a*PL4KaWM}-(&$HGkWW3Po$$8z$Z`;OsI~qTRX4dY{H@1Jj zTA`|=ShaMkk4mz$Nnn_jffVmts0&=l#kQ5Q#yoW z2}`}5pj?KYoXf-}x2F6Q=~4X4B#|y6CkB;z2xGeML(AS7S=+PF6phKRL~5Db@q;U! zDxor00TON&hgEfF*mWK`6?rcgjnTX1(T4)$pR0ys<6EdhDtd~ibsaoeGP=8ECs*s9 z$|Sp-8JV3cBs3aK>wcC`xUf0YJ?cu9QJfsM>)8}{zq}cJc1NF%cEnx!*5ck2x3HPi zN~%{QMP$210YsrzYjmUqPmOj;Fmwi-h20b_CVn?9S-xmpcdfsXy3>zqk(vg){YP%$ zmH!Fm4@Tv+BVzFTuzC+vK?v8r;*r}o^^X~O>m503dwJ;RoqSCxyBp?x(Vrd9k2;sR z>{w2b^tu=DYs48A8$~+!TO#T-ppPu}lM&!|s4mWPJy8qaC+F6hwF)O;%> z-p8vMX%N3f9ig1ue_d?|Mwh6r+jVISHqX=Iopx!={`R?`rLJiYvPgVvRLp5!`iUG% zF0V3?WF$_3PSimTl~lT2Bw^GjM@2%r3jDMn2RE7!s!=sg6{XG1vYHv)bMRPYCZVH| zp~0mJl#NnNqZbn3C`2Bqlj|tNR&|m?NH$8%u0lMV8;8&pki5fzJHmJRjVrAc#fD)#g+>hKe~SYBrPBd1tEvq(+(OEI7m`5alfku(xJm?mnY zv$eL`+S*}s?#g98?i-n``PwqstoZ6@-LDx!lf&t>+s1R3g{){5{oaQkRwjokB)C|} z*lDMY#;&|6!SZLPM`i#e4d=FsYI8<>H(fR4e@$$$Dhwivl;x-j zlYY1=hgH+`3dn|JclU=U&5mHWO1-2v((Xtc#(!Gi;I50KBEf?LibqAjNKBFvV;j(X zF8q-;x>ACNT{wabex&O(Ct2~syOUhj`zEw_%>FUb5>+P=+O^0Sn-&ZrK}0FdO4Q6k z!UDmD_Hl?K&+MQP{jQH(lqwd`pg8_}z?z3oks*&1)5nHCKbEcnS3@gS-6g$P|7NAJ|Lc5-s7|}zUY6;B3sCB_1&@9*fL$XNw^jrJH|G{tDyBtTEvnMo8Nuk^|ec} z&}a3m+stFvS;Jm!+P$g?n*?r#{&(dnh) zWR4%E22YKlMs`CjxVe)&9y^n$NDU{I1=x07@?@^&d%!cI-WnE;S1#8U6lDdXM+=;F zhPEBjh?TQh5F^To$x`c~jxsI=Sa(HW_<@S$wx$(pvFBe1bo*0*Itoa`9+gr&oo<6C z{LpA_#F)6{NT!qeqD(jOfv^|p*ipczcb3lf0iwtap9gWAc^Fiz@gcWdL$b;d3{O^dyi|H0Zj16`Z40&gRMd`sU%z!OlqlUjzS5x}L1k1%s3A=~(lVwFRBgB>#ya z5Vf`Nkn)9izt?%V=Xb(NWk33lri<}!h_qhI!|k7klr6Tqv`p38aWJAU4j4{xmX&@I z*Jmov+CF|vJ2mwXV;~EwQqhLF&O3S2M>v%3#4Xlx@^qi z`}II;pPt&|t`c}L>|>OkQFi*Naool;6J7LCJIx4+1N}{nx>;vUxgX9YrZ&vuYV`7w0;)*`5UElPSG%>i!yQ}d4sHkm%S6>;YQe$I25`3mg>Qi&~r><9* zaeCl{Wf|R?{W%@V`pk0-iSpyQv_(*H_q5w4R|Dp0UJhiY=F71eGy`XLI~8s6Dp9X2 zUW0qT@Y@>==m|@>DKtZ9MKEjPmUpU_t*4#@DrjPJ4@c(avG(GMfq%5V=r$;E6O_0H z`?fzMq4&?YA$lr^Bwqv$f#%p%;Q5%1ocVmO#KcU`k`Prn2tVl_#Type)!L93+K;X4 zRZFd)-T_&m?uN|ws}qrr%;mr&M|(7dS|Us60mjKQ+EHk zz@Ux2d~)=HcruqfNskw50(?>QZNPJbp<-P!KBR5zrBR_v;m`L!tN9?Ci$)m&?+K9- zBJVFQM4e2HUyzSIpDC*DUC%+L_<@j9jJz|q6|#QiWX=ax-wKZ1NkH1k$3P-4XGx00 z`tIU_I5#MR@a({c;VRYEV^=4?Y^nsDnn$fsmCQ6H`xdU@HGwnod~NJ?opTMc36~La zNM*dY_{%m6q+z5)VeBbaW{n0U#>eq~9WGH3@bU=d_pmXD5#1jIVU*L4t32KHdC5EN z?1PA~_iF0ilOHvo_Xe6pf{<_j&)LwINm6Ye^gA zBIv9oRGUx9vz|wX-@r4=UA)@5c}HX>zTC=$9;r{FPuYacgt}KgA^yv1@v29!s7bn& z9{+Mp*7z7r#l7f(Og`aaZIUEOH{TM4;ZvGke7#^rEakr7@`##y0>eKD4@?!)@7eQt z?TXHHmBI<+93+e+h`7O1gfa#1eYCSe0llrll=1H&39!O!3k;&i1a^hZ!m0aP514Qh z9=5KEFCRTI)z7J7@?+G#M_%h0a-a{tARBOwd*EtS)~pmqYZ>^bxsC*D0}r{W-DOFk zL*`yHxCA&{EAcwySHtoBEFF=V7$JF%=hj$*{ULcf63;|bPvxBxRK7~9?J+Y)4vMyqm!%sLR?;gWylUN(eR{joblmjRGwAoCcO@@hRB0>iWlf?7 zsHoHqerOaa#_t^qbPFz^%I+VE?@+nm4N;G{;BqI&RtvMfaku_%rLOTY3D2PN6m*n& z!QD_ms5V$&t?yh+K((1)F16@t zX=DOETUflQ5>=B}f(#I~P*B?o`Df*|GKt0CPG#o2AGJ@&s~KLAi&wRs?Z>PKEKYlo z7aGi#MdW)KcJGOt)|1TzZRIuo_;3K6b?+B`km0gJ9QDwvCz(rY3HhVaHTxDfZzJ-w zfxY@efo`6_h7p^J2kRmiI&;`-0qZv2c!dhnw@9kqE2={?Uc?iUyPD{QW;@ek`M16A zn*6rnzQ%n!kuQJ#;n;9es>&jGoB7Q+mJ=E+?|f+Qr}jA|vNGNlUzr+SgC&*jKrOg* zhK|GxF16jnjJw%-`X2J~=OkVMHq^c6bA}}`O{r1|8XHdcHwoM?TIDwgO+#dQ&T8O_ z$IduE%$o;#0`xI9QQPKdFo;q!zvr?&R$>#$+nz*l{O zRwAcvmy$~?mx66hT$8>R2jUx??SJ4HJh#@yUzqW7+i%y_v1Lh9qb-*%hVOVYvQQIfvJ00 zdDmk{4J46$#I=3|UZvJQIC~3nC0DzXFGOnk>hF9W1yigfW_Na(Ox#uS)u(ZJjo)Ej zeshV*5|qH*-OlkvevSOS>DxU7kBfU;wb)+79pmqJ&FbE1Rt(2p1-;3?347vVXowVr zRTY;(?_K`pw8;ww2fTOi*Pe@)C$2E zLTf{o2)NyO6L1W9{y;yDt9S?75_sVU7P+}@w?Wg zoji_r#{P{Co-0z`XAAzlPutBp0xmQS_K6QsN+p7ZP#joBAU@~lhYL8FUnR{ys_?u$fr-`hy`??q)Ogi^B&y_EOtbkYJbd%khQi`Ok-G zk`F(gF0^U$Mly-)a8XysmV)fT(M#EHTzyKN<6z&Q2PBzQKd`~*H~#Gv1Rqlb`Qx@y zHT43`iHqle|5j?|n2^qLTFk{%m~7fGY&-tQ!yKcxxjpC(_a?uts4fhfGUsxb4m?#W zN}Aqir}8zd?RZa-p-0W@4K_7yRYzGQWbFCBj=d+Jq zZaH@|yr*r3heJ+C@=afwv9GoBU(o3$59%HI>WdS5AAZo!_g;H)R5I3&?afRBy=t%R zmVg%WTMNzPJiOccp9y%DhE~AdaQ649uN!hM2hr0sc%YXDfd>TN^y}?6d#Nm%FGY^y zO$)xRe$JsT@NHic=trTaL&w5;RGC|V*MqoY1@E!u&82|;73SMtMq@j`~SnbXW^ ztr&6+?gJkX?yz4xeM9mu&N2Ua9ysiXa8>|E^FKTqw*M=SM)V&i+5g6)VGyyiHvZqB zG@xIhG^`x|9h8O@^smpg|9R;7U(dA%7!|*tg3ivu{_oDUj~%kjW_}R7&lec^RTMFu z$Q+7NAWcFWe3PAfbr115t+G*+D3;sRY5&li48M;+q!}OiWR%_6Tod`)wE|HC!q6J~ zg}{MxW8k}i=pp~17fD_lYn7uAh(+Fu$g1Eg=e53tjIIf~K7*A7XDrC^!F;6TZS-o3 z=#b%o+3^9y>FsvAO|rm6n-_=pBzx|<3g5aJ?~Nr>s@25n#qM3hW~SF)G}`7oUyIgP zD{gkBm#WM;nBOE-s420VR?UHkuWskkbv}G|-CCG?pkniqA++55NvvZPj=rC)A#!ya z)UgS_Bu?7Oszdq$=TiOx)nV1FgFJBR?Nl3S2c%8sQ~I6XBj;(#<_K%_gD~c6`c11? zZ>rSmjDXmdlkzVHsSMXv1HOV^IJGYlmS4rTq@#M{DxiDkT^>+7`?riex=5IPcq{LY zbDa<)dH`{xM!eG=e0GuGXou*Xhv7}#gmNp-hk6U0M`&FPVQX#CMyK|! z5kE{?zcVtg*FkYWblz}2Gu}cP%DC%fmsf@k2|DWyP5rB3{2y{*{@t+smq+unv;FgI zei$4E22z2+Phc<<*jfEBI0_8f^79@5zQ6z}FtE#CVJonE0GfgZ`xkb>bYRbb)&D7j zJ?D>lFd3{2Rv#vV*#uZjKMnn)v%mzfN`DYvev)Ef%CHOO9IOoH5Ul*~0D+$={tG|= zu<<)U;C~1$0GNV>f)&=xKphFdqd#8)0l-)Yzk&z;q+(AYT^pk14sjZva$X|WBtj%QZzI(VNx`7gfXdDe%fGCHgU3Zb~G|^qG0<6 zDMrr3*uoG7yMmz(I9Pz-xmop?gl%o@z)m`7EI%WnVEO4Q1yiaaiaK1w)uN~?2L|FNtKz@+@V{%ZpJ0l=_ydg1|6dOMv!{RB`0tyH8 zuRi_`_<%K<6WZTKAR5y@haeCXkaXN23NCh5m?yFp#!fmEKOao-j}iEfe*GD~GE76% z&KVfn?0+@;m&NL5U;Pa5pJ0)f7PeMQB6g0(CXPQxJhL9)kP%pilbI37c_0y4nYkGO z4iq~xBe1Lr|Cvd`Mqmp&TVR~4DNDmH8gnq%o`;DE0)a3B1Kk41A!`PJg=Gu@Qh?FO z&W4E=@aeB^{XWS51GhlzT#Uff!3-d%K-`P~#OB|+Wn#-{2cU7BoSjSi zcc=bmcKQc2@Bii$D=P~lFmZCS08Pfq$`1Gj;$mgw(u48ufR+UMP?Ardhf}a}u)|)%T=>K6KQiDib^(_FJAbvy z_ItRZh5)(H&J0)(fIR$TJ^1SoW&4Yx!p>lGJ4ZeVaR~`#W_B?EV8{(zY{10@Tri*^ zu()!FGBd-#i0m*q42}rgaBu<_OcyBQ00{sY3eXz?0OKEz0s+N8)c_Svc9;t69#8|; zHDhNZlRx#?0keSWKg@^&CV+bmjz6wHT>LOFZvC{#{9R~0NLOA4a5fg8udA?9rH{ZB6Zf?K^Dd2X4eDbSU^lB{;;{IYl_cL;&_07YC~to45qGFt@lE oE1QUjI194?+P_x;R(K#aoxp~U;GcQP1>`gf8Wokef&|+C11b9JVE_OC literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/docs/bind_named_install.txt b/agc_2-X/branches/agc_2.0.5/docs/bind_named_install.txt new file mode 100644 index 00000000..979d66e3 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/bind_named_install.txt @@ -0,0 +1,108 @@ +wget http://ftp.isc.org/isc/bind9/9.3.2/bind-9.3.2.tar.gz +gunzip bind-9.3.2.tar.gz +tar xvf bind-9.3.2.tar +cd bind-9.3.2 +./configure +make +make install +locate -u +vi /etc/named.conf +vi /var/named/vicimarketing.zone +/usr/sbin/named-checkconf +/usr/sbin/named-checkzone +/usr/sbin/named-checkzone vicimarketing.com /var/named/vicimarketing.zone +vi /etc/named.conf +vi /etc/resolv.conf +/usr/sbin/named -d 9 + +To kill named: +killall -15 named + +To run testing in foreground: +/usr/sbin/named -f -d 9 + + + +root@ftp:/# cat /var/named/vicimarketing.zone +; +; Zone file for vicimarketing.com +; +; The full zone file +; +$TTL 1H +@ IN SOA ftp.vicimarketing.com. sip.vicimarketing.com. ( + 200607101 ; serial# + 3600 ; refresh, seconds + 3600 ; retry, seconds + 3600 ; expire, seconds + 3600 ) ; minimum, seconds +; + NS ftp ; Inet Address of nameserver +vicimarketing.com. MX 10 email ; Primary Mail Exchanger +vicimarketing.com. MX 70 email2 ; Primary Mail Exchanger +; +localhost A 127.0.0.1 +@ A 64.31.159.154 +www A 64.31.159.154 +www2 A 205.201.151.24 +email A 205.201.151.23 +email2 A 68.143.231.202 +ftp A 205.201.151.22 +rsc1 A 205.201.151.21 +annex A 205.201.151.26 +telcove A 64.31.159.154 +tc2 A 64.31.159.155 +codygate A 67.79.161.170 +viciDB3 A 205.201.151.26 +exchange A 10.10.10.5 +ICIast20 CNAME www2 +VICIast1 CNAME www2 +app2 CNAME www2 +cody CNAME codygate +sip CNAME ftp +gate3 CNAME www2 +gate2 CNAME www + + + + + +root@ftp:/# cat /etc/named.conf +options { + directory "/var/named"; + forwarders { 209.84.253.11; 209.84.253.12; }; + /* + * If there is a firewall between you and nameservers you want + * to talk to, you might need to uncomment the query-source + * directive below. Previous versions of BIND always asked + * questions using port 53, but BIND 8.1 uses an unprivileged + * port by default. + */ + // query-source address * port 53; +}; + +// +// a caching only nameserver config +// +zone "." IN { + type hint; + file "caching-example/named.ca"; +}; + +zone "localhost" IN { + type master; + file "caching-example/localhost.zone"; + allow-update { none; }; +}; + +zone "0.0.127.in-addr.arpa" IN { + type master; + file "caching-example/named.local"; + allow-update { none; }; +}; +zone "vicimarketing.com" { + type master; + notify no; + allow-query { any; }; + file "vicimarketing.zone"; +}; diff --git a/agc_2-X/branches/agc_2.0.5/docs/conf_examples/dnsmgr.conf.sample b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/dnsmgr.conf.sample new file mode 100644 index 00000000..1215e584 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/dnsmgr.conf.sample @@ -0,0 +1,3 @@ +[general] +enable=yes ; enable creation of managed DNS lookups +refreshinterval=300 ; refresh managed DNS lookups every seconds diff --git a/agc_2-X/branches/agc_2.0.5/docs/conf_examples/extensions.conf.sample b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/extensions.conf.sample new file mode 100644 index 00000000..fdb791ad --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/extensions.conf.sample @@ -0,0 +1,591 @@ +[general] +static=yes +writeprotect=no + +[globals] +CONSOLE=Console/dsp ; Console interface for demo +TRUNK=Zap/g1 ; Trunk interface +TRUNKX=Zap/g2 ; 2nd trunk interface +TRUNKIAX=IAX2/ASTtest1:test@10.10.10.16:4569 ; IAX trunk interface +TRUNKIAX1=IAX2/ASTtest1:test@10.10.10.16:4569 ; IAX trunk interface +TRUNKBINFONE=IAX2/1112223333:PASSWORD@iax.binfone.com ; IAX trunk interface +SIPtrunk=SIP/1234:PASSWORD@sip.provider.net ; SIP trunk +TRUNKloop = IAX2/ASTloop:test@127.0.0.1:40569 ; used for blind monitoring +TRUNKblind = IAX2/ASTblind:test@127.0.0.1:41569 ; used for testing + +#include extensions-vicidial.conf + +[trunkinbound] +; agent dial-in: +exten => 2345,1,Answer ; Answer the line +exten => 2345,2,AGI(agi-AGENT_dial_in.agi) +exten => 2345,3,Hangup + +; DID call routing process +exten => _X.,1,AGI(agi-DID_route.agi) + +; FastAGI for VICIDIAL/astGUIclient call logging +exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}) + + + +[default] +include => vicidial-auto + +; VICI-GROUP DIRECT SUPPORT LINE (VICIHELP[84244357]) +exten => _84244XXX,1,Dial(IAX2/vicihelp/${EXTEN:5}) + +; Local agent alert extensions +exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi) +exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi) +; Local blind monitoring +exten => _08600XXX,1,Dial(${TRUNKblind}/6${EXTEN:1},55,To) + + +;;;;;;;;;; BEGIN Voicemail and Prompts Section ;;;;;;;;;;;;;;;;;;;;;;; +; Give voicemail at extension 8500 +exten => 8500,1,VoicemailMain +exten => 8500,2,Goto(s,6) + +; this is used to allow the GUI to send you directly into voicemail +; don't forget to set GUI variable $voicemail_exten to this extension +exten => 8501,1,VoicemailMain(s${CALLERIDNUM}) +exten => 8501,2,Hangup + +; this is used to allow the GUI to send live calls directly into voicemail +; don't forget to set GUI variable $voicemail_dump_exten to this extension +exten => _85026666666666.,1,Wait(1) +exten => _85026666666666.,2,Voicemail(${EXTEN:14}|u) +exten => _85026666666666.,3,Hangup + +; prompts for recording AGI script, ID is 4321 +; first variable is format (gsm/wav) +; second variable is timeout in milliseconds (default is 720000 [12 minutes]) +exten => 8167,1,Answer +exten => 8167,2,AGI(agi-record_prompts.agi,wav-----720000) +exten => 8167,3,Hangup +exten => 8168,1,Answer +exten => 8168,2,AGI(agi-record_prompts.agi,gsm-----720000) +exten => 8168,3,Hangup + +; playback of recorded prompts +exten => _851XXXXX,1,Answer +exten => _851XXXXX,2,Playback(${EXTEN}) +exten => _851XXXXX,3,Hangup + +; this is used for playing a message to an answering machine forwarded from AMD in VICIDIAL +exten => _7851XXXXX,1,WaitForSilence(2000,2) ; AMD got machine. leave message after recording +exten => _7851XXXXX,2,Playback(${EXTEN:1}) +exten => _7851XXXXX,3,AGI(VD_amd_post.agi,${EXTEN:1}) +exten => _7851XXXXX,4,Hangup + + +;;;;;;;;;; END Voicemail and Prompts Section ;;;;;;;;;;;;;;;;;;;;;;;;; + + +; FastAGI for VICIDIAL/astGUIclient call logging +exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}) + + +; Example phone extensions + +; Extension 2000 Sipura/Linksys ATA line 1 +exten => 2000,1,Dial(sip/spa2000,30,to) ; Ring, 30 secs max +exten => 2000,2,Voicemail,u2000 ; Send to voicemail... +; Extension 2001 Sipura/Linksys ATA line 2 +exten => 2001,1,Dial(sip/spa2001,30,to) ; Ring, 30 secs max +exten => 2001,2,Voicemail,u2001 ; Send to voicemail... +; Extension 2102 rings Grandstream phone +exten => 2102,1,Dial(sip/gs102,30,to) ; Ring, 30 secs max +exten => 2102,2,Voicemail,u2102 ; Send to voicemail... +; Extension 401 rings the firefly softphone +exten => 401,1,Dial((IAX2/firefly01@firefly01/s||t) +exten => 401,2,Hangup + +; 100-350 phone extensions now auto-generated +; extensions for other SIP and IAX call center phones +; cc100-cc150 SIP Phones +;exten => _1[0-5]X,1,Dial(sip/cc${EXTEN},20,to) +; cc300-cc350 IAX Phones +;exten => _3[0-5]X,1,Dial(IAX2/cc${EXTEN},20,to) + +; extensions if using a T1 channelbank +exten => _19XX,1,Dial(Zap/${EXTEN:2},30,o) +exten => _19XX,2,Hangup + +; Extension 4001 rings Zap phone (this example for FXS on Zap port 1) +exten => 4001,1,Dial(Zap/1,30,o) ; ring Zap device 1 +exten => 4001,2,Voicemail,u4001 ; Send to voicemail... + + +; # timeout invalid rules +exten => #,1,Playback(invalid) ; "Thanks for trying the demo" +exten => #,2,Hangup ; Hang them up. +exten => t,1,Goto(#,1) ; If they take too long, give up +exten => i,1,Playback(invalid) ; "That's not valid, try again" + + +; Inbound call from BINFONE +; exten => 1112223333,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => 1112223333,2,Dial(sip/gs102,55,o) +; exten => 1112223333,3,Hangup + +; Extension 7275551212 - Inbound local number from PRI with 10 digit delivery +exten => 7275551212,1,Ringing +exten => 7275551212,2,Wait(1) +exten => 7275551212,3,AGI(agi://127.0.0.1:4577/call_log--fullCID--${EXTEN}-----${CALLERID}-----${CALLERIDNUM}-----${CALLERIDNAME}) +exten => 7275551212,4,Answer +exten => 7275551212,5,Dial(sip/spa2000&sip/spa2001,30,To) +exten => 7275551212,6,Voicemail,u2000 + +; dial a long distance outbound number to the UK +; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, +exten => _901144XXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _901144XXXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},55,To) +exten => _901144XXXXXXXXXX,3,Hangup + +; dial a long distance outbound number to Australia +; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, +exten => _901161XXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _901161XXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,To) +exten => _901161XXXXXXXXX,3,Hangup + +; Extensions for performance testing +exten => _91999NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91999NXXXXXX,2,Dial(${TRUNKloop}/${EXTEN:2},,tTo) +exten => _91999NXXXXXX,3,Hangup +exten => 999999999999,1,AGI(agi://127.0.0.1:4577/call_log) +exten => 999999999999,2,Dial(${TRUNKloop}/${EXTEN:1},,tTo) +exten => 999999999999,3,Hangup + +; dial an 800 outbound number +exten => _91800NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91800NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) +exten => _91800NXXXXXX,3,Hangup +exten => _91888NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91888NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) +exten => _91888NXXXXXX,3,Hangup +exten => _91877NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91877NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) +exten => _91877NXXXXXX,3,Hangup +exten => _91866NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91866NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) +exten => _91866NXXXXXX,3,Hangup + +; dial a local outbound number (modified because of only LD T1) +exten => _9NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _9NXXXXXX,2,Dial(${TRUNK}/1727${EXTEN:1},,To) +exten => _9NXXXXXX,3,Hangup + +; dial a local 727 outbound number with area code +exten => _9727NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _9727NXXXXXX,2,Dial(${TRUNK}/1${EXTEN:1},,To) +exten => _9727NXXXXXX,3,Hangup + +; dial a long distance outbound number +; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls +exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91NXXNXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,To) +exten => _91NXXNXXXXXX,3,Hangup + +; This is a loopback dialaround to allow for hearing of ringing for 3way calls +exten => _881NXXNXXXXXX,1,Answer +exten => _881NXXNXXXXXX,2,Dial(${TRUNKloop}/9${EXTEN:2},,To) +exten => _881NXXNXXXXXX,3,Hangup + +; dial a long distance outbound number through BINFONE +; exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91NXXNXXXXXX,2,Dial(${TRUNKIAX}/${EXTEN:1},55,To) +; exten => _91NXXNXXXXXX,3,Hangup +; dial a long distance outbound number through a SIP provider +; exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91NXXNXXXXXX,2,Dial(sip/${EXTEN:1}@SIPtrunk,55,o) +; exten => _91NXXNXXXXXX,3,Hangup +; special extensions for North America to catch invalid phone numbers +; exten => _91XXX[0-1]XXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91XXX[0-1]XXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) +; exten => _91XXX[0-1]XXXXXX,3,Hangup +; exten => _91[0-1]XXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91[0-1]XXXXXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) +; exten => _91[0-1]XXXXXXXXX,3,Hangup +; exten => _91XXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91XXXXXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) +; exten => _91XXXXXXXXX,3,Hangup +; exten => _91XXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91XXXXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) +; exten => _91XXXXXXXX,3,Hangup +; exten => _91XXXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91XXXXXXXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) +; exten => _91XXXXXXXXXXX,3,Hangup +; exten => _91XXXXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91XXXXXXXXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) +; exten => _91XXXXXXXXXXXX,3,Hangup +; exten => _91XXXXXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91XXXXXXXXXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) +; exten => _91XXXXXXXXXXXXX,3,Hangup + +; parameters for call_inbound.agi (7 fields separated by five dashes "-----"): +; 1. the extension of the phone to ring as defined in the asterisk.phones table +; 2. the phone number that was called, for the live_inbound/_log entry +; 3. a text description of the number that was called in +; 4-7. optional fields, they are also passed as fields in the GUI to web browser +; This is not part of VICIDIAL, it is for astGUIclient agent use only + +; Extension 3429 - Inbound 800 number (1-800-555-3429) example of RBS T1 +; with 10 digit ANI and 4 digit DNIS star separated +exten => _**3429,1,Ringing +exten => _**3429,2,AGI(agi://127.0.0.1:4577/call_log) +exten => _**3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w) +exten => _**3429,4,Answer +exten => _**3429,5,Dial(sip/spa2000&sip/spa2001,30,to) +exten => _**3429,6,Voicemail,u2000 +; Extension 3429 - with ANI [callerID] +exten => _*NXXNXXXXXX*3429,1,Ringing +exten => _*NXXNXXXXXX*3429,2,AGI(agi://127.0.0.1:4577/call_log) +exten => _*NXXNXXXXXX*3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w) +exten => _*NXXNXXXXXX*3429,4,Answer +exten => _*NXXNXXXXXX*3429,5,Dial(sip/spa2000&sip/spa2001,30,to) +exten => _*NXXNXXXXXX*3429,6,Voicemail,u2000 + + +; parameters for agi-VDAD_ALL_inbound.agi (9 fields separated by five dashes "-----"): +; 1. the method of call handling for the script: +; - CID - CID received, add record with phone number +; - CIDLOOKUP - Lookup CID to find record in whole system +; - CIDLOOKUPRL - Restrict lookup to one list +; - CIDLOOKUPRC - Restrict lookup to one campaign's lists +; - CLOSER - Closer calls from VICIDIAL fronters +; - ANI - ANI received, add record with phone number +; - ANILOOKUP - Lookup ANI to find record in whole system +; - ANILOOKUPRL - Restrict lookup to one list +; - 3DIGITID - Enter 3 digit code to go to agent +; - 4DIGITID - Enter 4 digit code to go to agent +; - 5DIGITID - Enter 5 digit code to go to agent +; - 10DIGITID - Enter 10 digit code to go to agent +; 2. the method of searching for an available agent: +; - LO - Load Balance Overflow only (priority to home server) +; - LB - Load Balance total system +; - SO - Home server only +; 3. the full name of the IN GROUP to be used in vicidial for the inbound call +; 4. the phone number that was called, for the log entry +; 5. the callerID or lead_id of the person that called(usually overridden) +; 6. the park extension audio file name if used +; 7. the status of the call initially(usually not used) +; 8. the list_id to insert the new lead under if it is new (and CID/ANI available) +; 9. the phone dialing code to insert with the new lead if new (and CID/ANI available) +; 10. the campaign_id to search within lists if CIDLOOKUPRC +; 11. the user to queue the call to for AGENTDIRECT in-group calls +; inbound VICIDIAL call with CID delivery through T1 PRI +exten => 1234,1,Answer ; Answer the line +exten => 1234,2,AGI(agi-VDAD_ALL_inbound.agi,CID-----LB-----CL_GALLERIA-----7274515134-----Closer-----park----------999-----1) +exten => 1234,3,Hangup + +; inbound VICIDIAL transfer calls [can arrive through PRI T1 crossover, IAX or SIP channel] +exten => _90009.,1,Answer ; Answer the line +exten => _90009.,2,Dial(${TRUNKloop}/9${EXTEN},,to) +exten => _90009.,3,Hangup +exten => _990009.,1,Answer ; Answer the line +exten => _990009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1) +exten => _990009.,3,Hangup +; DID forwarded calls +exten => _99909*.,1,Answer +exten => _99909*.,2,AGI(agi-VDAD_ALL_inbound.agi) +exten => _99909*.,3,Hangup + + +; barge monitoring extension +exten => 8159,1,ZapBarge +exten => 8159,2,Hangup + +; ZapBarge direct channel extensions +exten => _86120XX,1,ZapBarge(${EXTEN:5}) + + +exten => _X48600XXX,1,MeetMeAdmin(${EXTEN:2},T,${EXTEN:0:1}) +exten => _X48600XXX,2,Hangup + +exten => _X38600XXX,1,MeetMeAdmin(${EXTEN:2},t,${EXTEN:0:1}) +exten => _X38600XXX,2,Hangup + +exten => _X28600XXX,1,MeetMeAdmin(${EXTEN:2},m,${EXTEN:0:1}) +exten => _X28600XXX,2,Hangup + +exten => _X18600XXX,1,MeetMeAdmin(${EXTEN:2},M,${EXTEN:0:1}) +exten => _X18600XXX,2,Hangup + +exten => _55558600XXX,1,MeetMeAdmin(${EXTEN:4},K) +exten => _55558600XXX,2,Hangup +exten => 8300,1,Hangup + +; astGUIclient conferences +exten => _86000[0-4]X,1,Meetme,${EXTEN}|q +; VICIDIAL conferences +exten => _86000[5-9]X,1,Meetme,${EXTEN}|F +exten => _8600[1-2]XX,1,Meetme,${EXTEN}|F +; quiet entry and leaving conferences for VICIDIAL (inbound announce and SendDTMF) +exten => _78600XXX,1,Meetme,${EXTEN:1}|Fq +; quiet monitor-only extensions for meetme rooms (for room managers) +exten => _68600XXX,1,Meetme,${EXTEN:1}|Fmq +; quiet monitor-only entry and leaving conferences for VICIDIAL (recording) +exten => _58600XXX,1,Meetme,${EXTEN:1}|Fmq + +; voicelab exten +exten => _86009XX,1,Meetme,${EXTEN}|Fmq +; voicelab exten moderator +exten => _986009XX,1,Meetme,${EXTEN:1} + + + +; park channel for client GUI parking, hangup after 30 minutes +; create a GSM formatted audio file named "park.gsm" that is 30 minutes long +; and put it in /var/lib/asterisk/sounds +exten => 8301,1,Answer +exten => 8301,2,AGI(park_CID.agi) +exten => 8301,3,Playback(park) +exten => 8301,4,Hangup +exten => 8303,1,Answer +exten => 8303,2,AGI(park_CID.agi) +exten => 8303,3,Playback(conf) +exten => 8303,4,Hangup + +; park channel for client GUI conferencing, hangup after 30 minutes +; create a GSM formatted audio file named "conf.gsm" that is 30 minutes long +; and put it in /var/lib/asterisk/sounds +exten => 8302,1,Answer +exten => 8302,2,Playback(conf) +exten => 8302,3,Hangup + +exten => 8304,1,Answer +exten => 8304,2,Playback(ding) +exten => 8304,3,Hangup + +; default audio for safe harbor 2-second-after-hello message then hangup +; create a GSM formatted audio file complies with safe harbor rules +; and put it in /var/lib/asterisk/sounds then change filename below +exten => 8307,1,Answer +exten => 8307,2,Playback(vm-goodbye) +exten => 8307,3,Hangup + +; this is used for recording conference calls, the client app sends the filename +; value as a callerID recordings go to /var/spool/asterisk/monitor (WAV) +; Recording is limited to 1 hour, to make longer, just change the Wait,3600 +exten => 8309,1,Answer +exten => 8309,2,Monitor(wav,${CALLERIDNAME}) +exten => 8309,3,Wait,3600 +exten => 8309,4,Hangup + +; this is used for recording conference calls, the client app sends the filename +; value as a callerID recordings go to /var/spool/asterisk/monitor (GSM) +; Recording is limited to 1 hour, to make longer, just change the Wait,3600 +exten => 8310,1,Answer +exten => 8310,2,Monitor(gsm,${CALLERIDNAME}) +exten => 8310,3,Wait,3600 +exten => 8310,4,Hangup + +; this is used for playing a message to an answering machine forwarded from AMD in VICIDIAL +; replace conf with the message file you want to leave +exten => 8320,1,WaitForSilence(2000,2) ; AMD got machine. leave message after recording +exten => 8320,2,Playback(conf) +exten => 8320,3,AGI(VD_amd_post.agi,${EXTEN}) +exten => 8320,4,Hangup + +; use for selective CallerID hangup by area code(hard-coded) +exten => 8352,1,AGI(agi-VDADselective_CID_hangup.agi,${EXTEN}) +exten => 8352,2,Playback(safe_harbor) +exten => 8352,3,Hangup + +; this is used for sending DTMF signals within conference calls, the client app +; sends the digits to be played in the callerID field +; sound files must be placed in /var/lib/asterisk/sounds +exten => 8500998,1,Answer +exten => 8500998,2,Playback(silence) +exten => 8500998,3,AGI(agi-dtmf.agi) +exten => 8500998,4,Hangup + +; multi-remote-monitor entry extensions +exten => 8162,1,Dial(${TRUNKblind}/34567890123456789,55,to) + +exten => 34567890123456789,1,Answer +exten => 34567890123456789,2,Goto(monitor,s,1) + +;#### VDAD STANDARD TRANSFER ENTRIES #### +; Below are the parameters needed for the agi-VDAD_ALL_outbound.agi script to be run properly +; 1. the method of call handling for the script: +; - NORMAL - Standard outbound routing to agent +; - TEST - For performance testing only +; - BROADCAST - For no-agent broadcast dialing +; - SURVEY - For survery question then on to agent +; - REMINDER - Reminder campaign +; - REMINDX - Reminder with transfer to agent +; 2. the method of searching for an available agent: +; - LB - Load Balance total system +; - LO - Load Balance Overflow only (priority to home server) +; - SO - Home server only +; 3. the sound file to play when doing a SURVEY, REMINDER, REMINDX campaign +; 4. the acceptible dtmf digits for a SURVEY +; 5. the out-opt digit for a SURVEY (must be in the digit map) +; 6. the sound file to play for a SURVEY when transfering to an agent +; 7. the sound file to play for a SURVEY when DNCing the call +; 8. OPTIN or OPTOUT: if OPTIN call is only sent to agent with button press +; if OPTOUT call is sent to agent if no button press at all +; 9. the status that is use for a SURVEY when someone opts out +; if the status is DNC it will also add them to the internal dnc table + +; VICIDIAL_auto_dialer transfer script for no-agent campaigns: +exten => 8364,1,Playback(sip-silence) +exten => 8364,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8364,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8364,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8364,5,Hangup + +; VICIDIAL_auto_dialer transfer script: +exten => 8365,1,Playback(sip-silence) +exten => 8365,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8365,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO) +exten => 8365,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO) +exten => 8365,5,Hangup + +; VICIDIAL_auto_dialer transfer script SURVEY at beginning: +exten => 8366,1,Playback(sip-silence) +exten => 8366,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8366,3,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +exten => 8366,4,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +exten => 8366,5,Hangup + +; VICIDIAL_auto_dialer transfer script Load Balance Overflow: +exten => 8367,1,Playback(sip-silence) +exten => 8367,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8367,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) +exten => 8367,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) +exten => 8367,5,Hangup + +; VICIDIAL_auto_dialer transfer script Load Balanced: +exten => 8368,1,Playback(sip-silence) +exten => 8368,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8368,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8368,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8368,5,Hangup + +; VICIDIAL_auto_dialer transfer script AMD with Load Balanced: +exten => 8369,1,Playback(sip-silence) +exten => 8369,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8369,3,AMD(2000|2000|1000|5000|120|50|4|256) +exten => 8369,4,AGI(VD_amd.agi,${EXTEN}) +exten => 8369,5,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8369,6,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8369,7,Hangup + +; VICIDIAL auto-dial reminder script +exten => 8372,1,Playback(sip-silence) +exten => 8372,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) +exten => 8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) +exten => 8372,5,Hangup + +; VICIDIAL SURVEY transfer script AMD with Load Balanced: +exten => 8373,1,Playback(sip-silence) +exten => 8373,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8373,3,AMD(2000|2000|1000|5000|120|50|4|256) +exten => 8373,4,AGI(VD_amd.agi,${EXTEN}) +exten => 8373,5,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +exten => 8373,6,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +exten => 8373,7,Hangup + + + + +; PERFORMANCE TESTING +exten => _999XXXXXX1,1,Answer +exten => _999XXXXXX1,2,Wait(2) +exten => _999XXXXXX1,3,Playback(beep) +exten => _999XXXXXX1,4,Hangup + +exten => _999XX11112,1,Wait(2) +exten => _999XX11112,2,Answer +exten => _999XX11112,3,Playback(ss-noservice) +exten => _999XX11112,4,Playback(vm-goodbye) +exten => _999XX11112,5,Hangup + +exten => _999XXXX112,1,Wait(5) +exten => _999XXXX112,2,Answer +exten => _999XXXX112,3,Playback(demo-instruct) +exten => _999XXXX112,4,Playback(demo-instruct) +exten => _999XXXX112,5,Hangup + +exten => _999XXXXXX2,1,Wait(8) +exten => _999XXXXXX2,2,Answer +exten => _999XXXXXX2,3,Playback(demo-instruct) +exten => _999XXXXXX2,4,Hangup + +exten => _999XXXXXX3,1,SetVar(PRI_CAUSE=1) +exten => _999XXXXXX3,2,Hangup + +exten => _999XXXXXX4,1,SetVar(PRI_CAUSE=27) +exten => _999XXXXXX4,2,Hangup + +exten => _999XXXXXX5,1,Wait(60) +exten => _999XXXXXX5,2,Hangup + +exten => _999XXXXXX6,1,Wait(10) +exten => _999XXXXXX6,2,Answer +exten => _999XXXXXX6,3,Playback(demo-instruct) +exten => _999XXXXXX6,4,Hangup + +exten => _999XXXXXX7,1,Wait(12) +exten => _999XXXXXX7,2,Answer +exten => _999XXXXXX7,3,Playback(demo-enterkeywords) +exten => _999XXXXXX7,4,Hangup + +exten => _999XXXXXX8,1,SetVar(PRI_CAUSE=17) +exten => _999XXXXXX8,2,Hangup + +exten => _999XXXXXX9,1,Wait(6) +exten => _999XXXXXX9,2,Answer +exten => _999XXXXXX9,3,Playback(demo-abouttotry) +exten => _999XXXXXX9,4,Hangup + +exten => _999XXXXXX0,1,Wait(5) +exten => _999XXXXXX0,2,Answer +exten => _999XXXXXX0,3,Playback(vm-goodbye) +exten => _999XXXXXX0,4,Hangup + +exten => 99999999999,1,Answer +exten => 99999999999,2,Playback(conf) +exten => 99999999999,3,Playback(conf) +exten => 99999999999,4,Playback(conf) +exten => 99999999999,5,Playback(conf) +exten => 99999999999,6,Playback(conf) +exten => 99999999999,7,Playback(conf) +exten => 99999999999,8,Playback(conf) +exten => 99999999999,9,Playback(conf) +exten => 99999999999,10,Playback(conf) +exten => 99999999999,11,Playback(conf) +exten => 99999999999,12,Playback(conf) +exten => 99999999999,13,Playback(conf) +exten => 99999999999,14,Hangup + + +[monitor] +exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}) + +exten => s,1,SetVar(TIMEOUT(digit)=10) +exten => s,n,SetVar(TIMEOUT(response)=10) +exten => s,n,SetVar(MEETME_EXIT_CONTEXT=monitor_exit) +exten => s,n,Background(vm-extension) ; need audio prompt. +exten => s,n,WaitExten(10) + +exten => i,1,Goto(monitor_exit,s,1) +exten => #,1,Goto(monitor_exit,s,1) +exten => t,1,Goto(monitor_exit,s,1) + +exten => _8[0-2]XX,1,Meetme(8600${EXTEN:1},FmqX) ; Listen +exten => _99[0-2]XX,1,Meetme(8600${EXTEN:2},FX) ; Barge + +[monitor_exit] +exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}) + +exten => _X,1,Goto(monitor,s,1) + +exten => i,1,Goto(monitor,s,1) +exten => #,1,Goto(monitor,s,1) +exten => t,1,Goto(monitor,s,1) diff --git a/agc_2-X/branches/agc_2.0.5/docs/conf_examples/extensions.conf.sample-1.4 b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/extensions.conf.sample-1.4 new file mode 100644 index 00000000..f3127afc --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/extensions.conf.sample-1.4 @@ -0,0 +1,591 @@ +[general] +static=yes +writeprotect=no + +[globals] +CONSOLE=Console/dsp ; Console interface for demo +TRUNK=Zap/g1 ; Trunk interface +TRUNKX=Zap/g2 ; 2nd trunk interface +TRUNKIAX=IAX2/ASTtest1:test@10.10.10.16:4569 ; IAX trunk interface +TRUNKIAX1=IAX2/ASTtest1:test@10.10.10.16:4569 ; IAX trunk interface +TRUNKBINFONE=IAX2/1112223333:PASSWORD@iax.binfone.com ; IAX trunk interface +SIPtrunk=SIP/1234:PASSWORD@sip.provider.net ; SIP trunk +TRUNKloop = IAX2/ASTloop:test@127.0.0.1:40569 ; used for blind monitoring +TRUNKblind = IAX2/ASTblind:test@127.0.0.1:41569 ; used for testing + +#include extensions-vicidial.conf + +[trunkinbound] +; agent dial-in: +exten => 2345,1,Answer ; Answer the line +exten => 2345,2,AGI(agi-AGENT_dial_in.agi) +exten => 2345,3,Hangup + +; DID call routing process +exten => _X.,1,AGI(agi-DID_route.agi) + +; FastAGI for VICIDIAL/astGUIclient call logging +exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}) + + + +[default] +include => vicidial-auto + +; VICI-GROUP DIRECT SUPPORT LINE (VICIHELP[84244357]) +exten => _84244XXX,1,Dial(IAX2/vicihelp/${EXTEN:5}) + +; Local agent alert extensions +exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi) +exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi) +; Local blind monitoring +exten => _08600XXX,1,Dial(${TRUNKblind}/6${EXTEN:1},55,To) + + +;;;;;;;;;; BEGIN Voicemail and Prompts Section ;;;;;;;;;;;;;;;;;;;;;;; +; Give voicemail at extension 8500 +exten => 8500,1,VoicemailMain +exten => 8500,2,Goto(s,6) + +; this is used to allow the GUI to send you directly into voicemail +; don't forget to set GUI variable $voicemail_exten to this extension +exten => 8501,1,VoicemailMain(s${{CALLERID(num)}(num)}) +exten => 8501,2,Hangup + +; this is used to allow the GUI to send live calls directly into voicemail +; don't forget to set GUI variable $voicemail_dump_exten to this extension +exten => _85026666666666.,1,Wait(1) +exten => _85026666666666.,2,Voicemail(${EXTEN:14}|u) +exten => _85026666666666.,3,Hangup + +; prompts for recording AGI script, ID is 4321 +; first variable is format (gsm/wav) +; second variable is timeout in milliseconds (default is 720000 [12 minutes]) +exten => 8167,1,Answer +exten => 8167,2,AGI(agi-record_prompts.agi,wav-----720000) +exten => 8167,3,Hangup +exten => 8168,1,Answer +exten => 8168,2,AGI(agi-record_prompts.agi,gsm-----720000) +exten => 8168,3,Hangup + +; playback of recorded prompts +exten => _851XXXXX,1,Answer +exten => _851XXXXX,2,Playback(${EXTEN}) +exten => _851XXXXX,3,Hangup + +; this is used for playing a message to an answering machine forwarded from AMD in VICIDIAL +exten => _7851XXXXX,1,WaitForSilence(2000,2) ; AMD got machine. leave message after recording +exten => _7851XXXXX,2,Playback(${EXTEN:1}) +exten => _7851XXXXX,3,AGI(VD_amd_post.agi,${EXTEN:1}) +exten => _7851XXXXX,4,Hangup + + +;;;;;;;;;; END Voicemail and Prompts Section ;;;;;;;;;;;;;;;;;;;;;;;;; + + +; FastAGI for VICIDIAL/astGUIclient call logging +exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}) + + +; Example phone extensions + +; Extension 2000 Sipura/Linksys ATA line 1 +exten => 2000,1,Dial(sip/spa2000,30,to) ; Ring, 30 secs max +exten => 2000,2,Voicemail,u2000 ; Send to voicemail... +; Extension 2001 Sipura/Linksys ATA line 2 +exten => 2001,1,Dial(sip/spa2001,30,to) ; Ring, 30 secs max +exten => 2001,2,Voicemail,u2001 ; Send to voicemail... +; Extension 2102 rings Grandstream phone +exten => 2102,1,Dial(sip/gs102,30,to) ; Ring, 30 secs max +exten => 2102,2,Voicemail,u2102 ; Send to voicemail... +; Extension 401 rings the firefly softphone +exten => 401,1,Dial((IAX2/firefly01@firefly01/s||t) +exten => 401,2,Hangup + +; 100-350 phone extensions now auto-generated +; extensions for other SIP and IAX call center phones +; cc100-cc150 SIP Phones +;exten => _1[0-5]X,1,Dial(sip/cc${EXTEN},20,to) +; cc300-cc350 IAX Phones +;exten => _3[0-5]X,1,Dial(IAX2/cc${EXTEN},20,to) + +; extensions if using a T1 channelbank +exten => _19XX,1,Dial(Zap/${EXTEN:2},30,o) +exten => _19XX,2,Hangup + +; Extension 4001 rings Zap phone (this example for FXS on Zap port 1) +exten => 4001,1,Dial(Zap/1,30,o) ; ring Zap device 1 +exten => 4001,2,Voicemail,u4001 ; Send to voicemail... + + +; # timeout invalid rules +exten => #,1,Playback(invalid) ; "Thanks for trying the demo" +exten => #,2,Hangup ; Hang them up. +exten => t,1,Goto(#,1) ; If they take too long, give up +exten => i,1,Playback(invalid) ; "That's not valid, try again" + + +; Inbound call from BINFONE +; exten => 1112223333,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => 1112223333,2,Dial(sip/gs102,55,o) +; exten => 1112223333,3,Hangup + +; Extension 7275551212 - Inbound local number from PRI with 10 digit delivery +exten => 7275551212,1,Ringing +exten => 7275551212,2,Wait(1) +exten => 7275551212,3,AGI(agi://127.0.0.1:4577/call_log--fullCID--${EXTEN}-----${CALLERID(all)}-----${CALLERID(num)}-----${CALLERID(name)}) +exten => 7275551212,4,Answer +exten => 7275551212,5,Dial(sip/spa2000&sip/spa2001,30,To) +exten => 7275551212,6,Voicemail,u2000 + +; dial a long distance outbound number to the UK +; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, +exten => _901144XXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _901144XXXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},55,To) +exten => _901144XXXXXXXXXX,3,Hangup + +; dial a long distance outbound number to Australia +; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, +exten => _901161XXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _901161XXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,To) +exten => _901161XXXXXXXXX,3,Hangup + +; Extensions for performance testing +exten => _91999NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91999NXXXXXX,2,Dial(${TRUNKloop}/${EXTEN:2},,tTo) +exten => _91999NXXXXXX,3,Hangup +exten => 999999999999,1,AGI(agi://127.0.0.1:4577/call_log) +exten => 999999999999,2,Dial(${TRUNKloop}/${EXTEN:1},,tTo) +exten => 999999999999,3,Hangup + +; dial an 800 outbound number +exten => _91800NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91800NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) +exten => _91800NXXXXXX,3,Hangup +exten => _91888NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91888NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) +exten => _91888NXXXXXX,3,Hangup +exten => _91877NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91877NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) +exten => _91877NXXXXXX,3,Hangup +exten => _91866NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91866NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) +exten => _91866NXXXXXX,3,Hangup + +; dial a local outbound number (modified because of only LD T1) +exten => _9NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _9NXXXXXX,2,Dial(${TRUNK}/1727${EXTEN:1},,To) +exten => _9NXXXXXX,3,Hangup + +; dial a local 727 outbound number with area code +exten => _9727NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _9727NXXXXXX,2,Dial(${TRUNK}/1${EXTEN:1},,To) +exten => _9727NXXXXXX,3,Hangup + +; dial a long distance outbound number +; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls +exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91NXXNXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,To) +exten => _91NXXNXXXXXX,3,Hangup + +; This is a loopback dialaround to allow for hearing of ringing for 3way calls +exten => _881NXXNXXXXXX,1,Answer +exten => _881NXXNXXXXXX,2,Dial(${TRUNKloop}/9${EXTEN:2},,To) +exten => _881NXXNXXXXXX,3,Hangup + +; dial a long distance outbound number through BINFONE +; exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91NXXNXXXXXX,2,Dial(${TRUNKIAX}/${EXTEN:1},55,To) +; exten => _91NXXNXXXXXX,3,Hangup +; dial a long distance outbound number through a SIP provider +; exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91NXXNXXXXXX,2,Dial(sip/${EXTEN:1}@SIPtrunk,55,o) +; exten => _91NXXNXXXXXX,3,Hangup +; special extensions for North America to catch invalid phone numbers +; exten => _91XXX[0-1]XXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91XXX[0-1]XXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) +; exten => _91XXX[0-1]XXXXXX,3,Hangup +; exten => _91[0-1]XXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91[0-1]XXXXXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) +; exten => _91[0-1]XXXXXXXXX,3,Hangup +; exten => _91XXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91XXXXXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) +; exten => _91XXXXXXXXX,3,Hangup +; exten => _91XXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91XXXXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) +; exten => _91XXXXXXXX,3,Hangup +; exten => _91XXXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91XXXXXXXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) +; exten => _91XXXXXXXXXXX,3,Hangup +; exten => _91XXXXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91XXXXXXXXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) +; exten => _91XXXXXXXXXXXX,3,Hangup +; exten => _91XXXXXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91XXXXXXXXXXXXX,2,Dial(${TRUNKloop}/9990011112,,to) +; exten => _91XXXXXXXXXXXXX,3,Hangup + +; parameters for call_inbound.agi (7 fields separated by five dashes "-----"): +; 1. the extension of the phone to ring as defined in the asterisk.phones table +; 2. the phone number that was called, for the live_inbound/_log entry +; 3. a text description of the number that was called in +; 4-7. optional fields, they are also passed as fields in the GUI to web browser +; This is not part of VICIDIAL, it is for astGUIclient agent use only + +; Extension 3429 - Inbound 800 number (1-800-555-3429) example of RBS T1 +; with 10 digit ANI and 4 digit DNIS star separated +exten => _**3429,1,Ringing +exten => _**3429,2,AGI(agi://127.0.0.1:4577/call_log) +exten => _**3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w) +exten => _**3429,4,Answer +exten => _**3429,5,Dial(sip/spa2000&sip/spa2001,30,to) +exten => _**3429,6,Voicemail,u2000 +; Extension 3429 - with ANI [callerID] +exten => _*NXXNXXXXXX*3429,1,Ringing +exten => _*NXXNXXXXXX*3429,2,AGI(agi://127.0.0.1:4577/call_log) +exten => _*NXXNXXXXXX*3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w) +exten => _*NXXNXXXXXX*3429,4,Answer +exten => _*NXXNXXXXXX*3429,5,Dial(sip/spa2000&sip/spa2001,30,to) +exten => _*NXXNXXXXXX*3429,6,Voicemail,u2000 + + +; parameters for agi-VDAD_ALL_inbound.agi (9 fields separated by five dashes "-----"): +; 1. the method of call handling for the script: +; - CID - CID received, add record with phone number +; - CIDLOOKUP - Lookup CID to find record in whole system +; - CIDLOOKUPRL - Restrict lookup to one list +; - CIDLOOKUPRC - Restrict lookup to one campaign's lists +; - CLOSER - Closer calls from VICIDIAL fronters +; - ANI - ANI received, add record with phone number +; - ANILOOKUP - Lookup ANI to find record in whole system +; - ANILOOKUPRL - Restrict lookup to one list +; - 3DIGITID - Enter 3 digit code to go to agent +; - 4DIGITID - Enter 4 digit code to go to agent +; - 5DIGITID - Enter 5 digit code to go to agent +; - 10DIGITID - Enter 10 digit code to go to agent +; 2. the method of searching for an available agent: +; - LO - Load Balance Overflow only (priority to home server) +; - LB - Load Balance total system +; - SO - Home server only +; 3. the full name of the IN GROUP to be used in vicidial for the inbound call +; 4. the phone number that was called, for the log entry +; 5. the callerID or lead_id of the person that called(usually overridden) +; 6. the park extension audio file name if used +; 7. the status of the call initially(usually not used) +; 8. the list_id to insert the new lead under if it is new (and CID/ANI available) +; 9. the phone dialing code to insert with the new lead if new (and CID/ANI available) +; 10. the campaign_id to search within lists if CIDLOOKUPRC +; 11. the user to queue the call to for AGENTDIRECT in-group calls +; inbound VICIDIAL call with CID delivery through T1 PRI +exten => 1234,1,Answer ; Answer the line +exten => 1234,2,AGI(agi-VDAD_ALL_inbound.agi,CID-----LB-----CL_GALLERIA-----7274515134-----Closer-----park----------999-----1) +exten => 1234,3,Hangup + +; inbound VICIDIAL transfer calls [can arrive through PRI T1 crossover, IAX or SIP channel] +exten => _90009.,1,Answer ; Answer the line +exten => _90009.,2,Dial(${TRUNKloop}/9${EXTEN},,to) +exten => _90009.,3,Hangup +exten => _990009.,1,Answer ; Answer the line +exten => _990009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1) +exten => _990009.,3,Hangup +; DID forwarded calls +exten => _99909*.,1,Answer +exten => _99909*.,2,AGI(agi-VDAD_ALL_inbound.agi) +exten => _99909*.,3,Hangup + + +; barge monitoring extension +exten => 8159,1,ZapBarge +exten => 8159,2,Hangup + +; ZapBarge direct channel extensions +exten => _86120XX,1,ZapBarge(${EXTEN:5}) + + +exten => _X48600XXX,1,MeetMeAdmin(${EXTEN:2},T,${EXTEN:0:1}) +exten => _X48600XXX,2,Hangup + +exten => _X38600XXX,1,MeetMeAdmin(${EXTEN:2},t,${EXTEN:0:1}) +exten => _X38600XXX,2,Hangup + +exten => _X28600XXX,1,MeetMeAdmin(${EXTEN:2},m,${EXTEN:0:1}) +exten => _X28600XXX,2,Hangup + +exten => _X18600XXX,1,MeetMeAdmin(${EXTEN:2},M,${EXTEN:0:1}) +exten => _X18600XXX,2,Hangup + +exten => _55558600XXX,1,MeetMeAdmin(${EXTEN:4},K) +exten => _55558600XXX,2,Hangup +exten => 8300,1,Hangup + +; astGUIclient conferences +exten => _86000[0-4]X,1,Meetme,${EXTEN}|q +; VICIDIAL conferences +exten => _86000[5-9]X,1,Meetme,${EXTEN}|F +exten => _8600[1-2]XX,1,Meetme,${EXTEN}|F +; quiet entry and leaving conferences for VICIDIAL (inbound announce and SendDTMF) +exten => _78600XXX,1,Meetme,${EXTEN:1}|Fq +; quiet monitor-only extensions for meetme rooms (for room managers) +exten => _68600XXX,1,Meetme,${EXTEN:1}|Fmq +; quiet monitor-only entry and leaving conferences for VICIDIAL (recording) +exten => _58600XXX,1,Meetme,${EXTEN:1}|Fmq + +; voicelab exten +exten => _86009XX,1,Meetme,${EXTEN}|Fmq +; voicelab exten moderator +exten => _986009XX,1,Meetme,${EXTEN:1} + + + +; park channel for client GUI parking, hangup after 30 minutes +; create a GSM formatted audio file named "park.gsm" that is 30 minutes long +; and put it in /var/lib/asterisk/sounds +exten => 8301,1,Answer +exten => 8301,2,AGI(park_CID.agi) +exten => 8301,3,Playback(park) +exten => 8301,4,Hangup +exten => 8303,1,Answer +exten => 8303,2,AGI(park_CID.agi) +exten => 8303,3,Playback(conf) +exten => 8303,4,Hangup + +; park channel for client GUI conferencing, hangup after 30 minutes +; create a GSM formatted audio file named "conf.gsm" that is 30 minutes long +; and put it in /var/lib/asterisk/sounds +exten => 8302,1,Answer +exten => 8302,2,Playback(conf) +exten => 8302,3,Hangup + +exten => 8304,1,Answer +exten => 8304,2,Playback(ding) +exten => 8304,3,Hangup + +; default audio for safe harbor 2-second-after-hello message then hangup +; create a GSM formatted audio file complies with safe harbor rules +; and put it in /var/lib/asterisk/sounds then change filename below +exten => 8307,1,Answer +exten => 8307,2,Playback(vm-goodbye) +exten => 8307,3,Hangup + +; this is used for recording conference calls, the client app sends the filename +; value as a callerID recordings go to /var/spool/asterisk/monitor (WAV) +; Recording is limited to 1 hour, to make longer, just change the Wait,3600 +exten => 8309,1,Answer +exten => 8309,2,Monitor(wav,${CALLERID(name)}) +exten => 8309,3,Wait,3600 +exten => 8309,4,Hangup + +; this is used for recording conference calls, the client app sends the filename +; value as a callerID recordings go to /var/spool/asterisk/monitor (GSM) +; Recording is limited to 1 hour, to make longer, just change the Wait,3600 +exten => 8310,1,Answer +exten => 8310,2,Monitor(gsm,${CALLERID(name)}) +exten => 8310,3,Wait,3600 +exten => 8310,4,Hangup + +; this is used for playing a message to an answering machine forwarded from AMD in VICIDIAL +; replace conf with the message file you want to leave +exten => 8320,1,WaitForSilence(2000,2) ; AMD got machine. leave message after recording +exten => 8320,2,Playback(conf) +exten => 8320,3,AGI(VD_amd_post.agi,${EXTEN}) +exten => 8320,4,Hangup + +; use for selective CallerID hangup by area code(hard-coded) +exten => 8352,1,AGI(agi-VDADselective_CID_hangup.agi,${EXTEN}) +exten => 8352,2,Playback(safe_harbor) +exten => 8352,3,Hangup + +; this is used for sending DTMF signals within conference calls, the client app +; sends the digits to be played in the callerID field +; sound files must be placed in /var/lib/asterisk/sounds +exten => 8500998,1,Answer +exten => 8500998,2,Playback(silence) +exten => 8500998,3,AGI(agi-dtmf.agi) +exten => 8500998,4,Hangup + +; multi-remote-monitor entry extensions +exten => 8162,1,Dial(${TRUNKblind}/34567890123456789,55,to) + +exten => 34567890123456789,1,Answer +exten => 34567890123456789,2,Goto(monitor,s,1) + +;#### VDAD STANDARD TRANSFER ENTRIES #### +; Below are the parameters needed for the agi-VDAD_ALL_outbound.agi script to be run properly +; 1. the method of call handling for the script: +; - NORMAL - Standard outbound routing to agent +; - TEST - For performance testing only +; - BROADCAST - For no-agent broadcast dialing +; - SURVEY - For survery question then on to agent +; - REMINDER - Reminder campaign +; - REMINDX - Reminder with transfer to agent +; 2. the method of searching for an available agent: +; - LB - Load Balance total system +; - LO - Load Balance Overflow only (priority to home server) +; - SO - Home server only +; 3. the sound file to play when doing a SURVEY, REMINDER, REMINDX campaign +; 4. the acceptible dtmf digits for a SURVEY +; 5. the out-opt digit for a SURVEY (must be in the digit map) +; 6. the sound file to play for a SURVEY when transfering to an agent +; 7. the sound file to play for a SURVEY when DNCing the call +; 8. OPTIN or OPTOUT: if OPTIN call is only sent to agent with button press +; if OPTOUT call is sent to agent if no button press at all +; 9. the status that is use for a SURVEY when someone opts out +; if the status is DNC it will also add them to the internal dnc table + +; VICIDIAL_auto_dialer transfer script for no-agent campaigns: +exten => 8364,1,Playback(sip-silence) +exten => 8364,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8364,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8364,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8364,5,Hangup + +; VICIDIAL_auto_dialer transfer script: +exten => 8365,1,Playback(sip-silence) +exten => 8365,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8365,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO) +exten => 8365,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO) +exten => 8365,5,Hangup + +; VICIDIAL_auto_dialer transfer script SURVEY at beginning: +exten => 8366,1,Playback(sip-silence) +exten => 8366,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8366,3,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +exten => 8366,4,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +exten => 8366,5,Hangup + +; VICIDIAL_auto_dialer transfer script Load Balance Overflow: +exten => 8367,1,Playback(sip-silence) +exten => 8367,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8367,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) +exten => 8367,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO) +exten => 8367,5,Hangup + +; VICIDIAL_auto_dialer transfer script Load Balanced: +exten => 8368,1,Playback(sip-silence) +exten => 8368,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8368,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8368,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8368,5,Hangup + +; VICIDIAL_auto_dialer transfer script AMD with Load Balanced: +exten => 8369,1,Playback(sip-silence) +exten => 8369,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8369,3,AMD(2000|2000|1000|5000|120|50|4|256) +exten => 8369,4,AGI(VD_amd.agi,${EXTEN}) +exten => 8369,5,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8369,6,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +exten => 8369,7,Hangup + +; VICIDIAL auto-dial reminder script +exten => 8372,1,Playback(sip-silence) +exten => 8372,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) +exten => 8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) +exten => 8372,5,Hangup + +; VICIDIAL SURVEY transfer script AMD with Load Balanced: +exten => 8373,1,Playback(sip-silence) +exten => 8373,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8373,3,AMD(2000|2000|1000|5000|120|50|4|256) +exten => 8373,4,AGI(VD_amd.agi,${EXTEN}) +exten => 8373,5,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +exten => 8373,6,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB) +exten => 8373,7,Hangup + + + + +; PERFORMANCE TESTING +exten => _999XXXXXX1,1,Answer +exten => _999XXXXXX1,2,Wait(2) +exten => _999XXXXXX1,3,Playback(beep) +exten => _999XXXXXX1,4,Hangup + +exten => _999XX11112,1,Wait(2) +exten => _999XX11112,2,Answer +exten => _999XX11112,3,Playback(ss-noservice) +exten => _999XX11112,4,Playback(vm-goodbye) +exten => _999XX11112,5,Hangup + +exten => _999XXXX112,1,Wait(5) +exten => _999XXXX112,2,Answer +exten => _999XXXX112,3,Playback(demo-instruct) +exten => _999XXXX112,4,Playback(demo-instruct) +exten => _999XXXX112,5,Hangup + +exten => _999XXXXXX2,1,Wait(8) +exten => _999XXXXXX2,2,Answer +exten => _999XXXXXX2,3,Playback(demo-instruct) +exten => _999XXXXXX2,4,Hangup + +exten => _999XXXXXX3,1,Set(PRI_CAUSE=1) +exten => _999XXXXXX3,2,Hangup + +exten => _999XXXXXX4,1,Set(PRI_CAUSE=27) +exten => _999XXXXXX4,2,Hangup + +exten => _999XXXXXX5,1,Wait(60) +exten => _999XXXXXX5,2,Hangup + +exten => _999XXXXXX6,1,Wait(10) +exten => _999XXXXXX6,2,Answer +exten => _999XXXXXX6,3,Playback(demo-instruct) +exten => _999XXXXXX6,4,Hangup + +exten => _999XXXXXX7,1,Wait(12) +exten => _999XXXXXX7,2,Answer +exten => _999XXXXXX7,3,Playback(demo-enterkeywords) +exten => _999XXXXXX7,4,Hangup + +exten => _999XXXXXX8,1,Set(PRI_CAUSE=17) +exten => _999XXXXXX8,2,Hangup + +exten => _999XXXXXX9,1,Wait(6) +exten => _999XXXXXX9,2,Answer +exten => _999XXXXXX9,3,Playback(demo-abouttotry) +exten => _999XXXXXX9,4,Hangup + +exten => _999XXXXXX0,1,Wait(5) +exten => _999XXXXXX0,2,Answer +exten => _999XXXXXX0,3,Playback(vm-goodbye) +exten => _999XXXXXX0,4,Hangup + +exten => 99999999999,1,Answer +exten => 99999999999,2,Playback(conf) +exten => 99999999999,3,Playback(conf) +exten => 99999999999,4,Playback(conf) +exten => 99999999999,5,Playback(conf) +exten => 99999999999,6,Playback(conf) +exten => 99999999999,7,Playback(conf) +exten => 99999999999,8,Playback(conf) +exten => 99999999999,9,Playback(conf) +exten => 99999999999,10,Playback(conf) +exten => 99999999999,11,Playback(conf) +exten => 99999999999,12,Playback(conf) +exten => 99999999999,13,Playback(conf) +exten => 99999999999,14,Hangup + + +[monitor] +exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}) + +exten => s,1,Set(TIMEOUT(digit)=10) +exten => s,n,Set(TIMEOUT(response)=10) +exten => s,n,Set(MEETME_EXIT_CONTEXT=monitor_exit) +exten => s,n,Background(vm-extension) ; need audio prompt. +exten => s,n,WaitExten(10) + +exten => i,1,Goto(monitor_exit,s,1) +exten => #,1,Goto(monitor_exit,s,1) +exten => t,1,Goto(monitor_exit,s,1) + +exten => _8[0-2]XX,1,Meetme(8600${EXTEN:1},FmqX) ; Listen +exten => _99[0-2]XX,1,Meetme(8600${EXTEN:2},FX) ; Barge + +[monitor_exit] +exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}) + +exten => _X,1,Goto(monitor,s,1) + +exten => i,1,Goto(monitor,s,1) +exten => #,1,Goto(monitor,s,1) +exten => t,1,Goto(monitor,s,1) diff --git a/agc_2-X/branches/agc_2.0.5/docs/conf_examples/features.conf.sample b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/features.conf.sample new file mode 100644 index 00000000..f330de93 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/features.conf.sample @@ -0,0 +1,53 @@ +; +; Sample Parking configuration +; + +[general] +parkext => 700 ; What extension to dial to park +parkpos => 701-720 ; What extensions to park calls on. These needs to be + ; numeric, as Asterisk starts from the start position + ; and increments with one for the next parked call. +context => parkedcalls ; Which context parked calls are in +;parkingtime => 45 ; Number of seconds a call can be parked for + ; (default is 45 seconds) +;transferdigittimeout => 3 ; Number of seconds to wait between digits when transferring a call +;courtesytone = beep ; Sound file to play to the parked caller + ; when someone dials a parked call +;xfersound = beep ; to indicate an attended transfer is complete +;xferfailsound = beeperr ; to indicate a failed transfer +;adsipark = yes ; if you want ADSI parking announcements +;findslot => next ; Continue to the 'next' free parking space. + ; Defaults to 'first' available +;pickupexten = *8 ; Configure the pickup extension. Default is *8 +;featuredigittimeout = 500 ; Max time (ms) between digits for + ; feature activation. Default is 500 + + +[featuremap] +;blindxfer => #1 ; Blind transfer +;disconnect => *0 ; Disconnect +;automon => *1 ; One Touch Record +;atxfer => *2 ; Attended transfer + + +; ATTENTION VICIDIAL ADMINS: +; The follow effectively disables the built in blind transfer feature of Asterisk. +; This sets it to a DTMF tone that asterisk cannot even process, that is only available +; on certain telco style test sets. This does NOT disable the VICIDIAL blind transfer +; abilityi as this is implemented through other means. If you are using your VICIDIAL +; server as PBX you may want to comment this out. Be aware however that this can make +; it so that anyone can transfer the call to anyone else that is allowed by your dialplan. +; IE someone you have called could transfer the call to a their mother, the Pope, or +; a 900 number if you do not have your dialplan carefully setup. + +blindxfer => D + + +[applicationmap] +; Note that the DYNAMIC_FEATURES channel variable must be set to use the features +; defined here. The value of DYNAMIC_FEATURES should be the names of the features +; to allow the channel to use separated by '#'. For example: +; Set(DYNAMIC_FEATURES=myfeature1#myfeature2#myfeature3) +; +;testfeature => #9,callee,Playback,tt-monkeys ;Play tt-monkeys to + ;callee if #9 was pressed diff --git a/agc_2-X/branches/agc_2.0.5/docs/conf_examples/iax.conf.sample b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/iax.conf.sample new file mode 100644 index 00000000..d734cfb3 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/iax.conf.sample @@ -0,0 +1,57 @@ +[general] +bindport=4569 +iaxcompat=yes +bandwidth=high +disallow=all +allow=all +allow=gsm ; Always allow GSM, it's cool :) +jitterbuffer=no +tos=lowdelay + +#include iax-vicidial.conf + +;register => 1112223333:PASSWORD@iax.binfone.com +register => ASTloop:test@127.0.0.1:40569 +register => ASTblind:test@127.0.0.1:41569 + +[vicihelp] +host=67.134.219.20 ;voip.vicidial-group.com +type=friend +context=opengateway +disallow=all +allow=gsm +allow=ulaw +permit=67.134.219.20/255.255.255.255 +insecure=very + +[ASTloop] +type=friend +accountcode=ASTloop +context=default +auth=plaintext +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +qualify=yes + +[ASTblind] +type=friend +accountcode=ASTblind +context=default +auth=plaintext +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +qualify=yes + +[1112223333] +auth=md5 +type=friend +username=1112223333 +secret=PASSWORD +host=iax.binfone.com +context=trunkinbound diff --git a/agc_2-X/branches/agc_2.0.5/docs/conf_examples/iax.conf.sample-1.4 b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/iax.conf.sample-1.4 new file mode 100644 index 00000000..6d5440fb --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/iax.conf.sample-1.4 @@ -0,0 +1,88 @@ +[general] +bindport=4569 ; bindport and bindaddr may be specified +bindaddr=0.0.0.0 ; more than once to bind to multiple +;iaxcompat=yes +;nochecksums=no +delayreject=yes +;amaflags=default +adsi=no +;accountcode=vicidial +language=en +mohinterpret=passthrough +mohsuggest=default +disallow=all +allow=ulaw +allow=gsm +jitterbuffer=yes +forcejitterbuffer=no +maxjitterbuffer=1000 +maxjitterinterps=10 +resyncthreshold=1000 +trunkfreq=20 ; How frequently to send trunk msgs (in ms) +trunktimestamps=yes +minregexpire = 60 +maxregexpire = 360 +iaxthreadcount = 50 +iaxmaxthreadcount = 250 +;register => marko:secretpass@tormenta.linux-support.net +;register => joe@remotehost:5656 +;register => marko:[torkey]@tormenta.linux-support.net +;register => user:pass@iaxtel.com +;register => FWDNumber:passwd@iax.fwdnet.net +authdebug=no +regcontext=default +autokill=yes +codecpriority=host +allowfwdownload=no +;rtcachefriends=yes ; Cache realtime friends by adding them to the internal list +;rtupdate=yes ; Send registry updates to database using realtime? (yes|no) +;rtautoclear=yes ; Auto-Expire friends created on the fly on the same schedule +;rtignoreregexpire=yes ; When reading a peer from Realtime, if the peer's registration + +#include iax-vicidial.conf + +;register => 1112223333:PASSWORD@iax.binfone.com +register => ASTloop:test@127.0.0.1:40569 +register => ASTblind:test@127.0.0.1:41569 + +[vicihelp] +host=67.134.219.20 ;voip.vicidial-group.com +type=friend +context=opengateway +disallow=all +allow=gsm +allow=ulaw +permit=67.134.219.20/255.255.255.255 +insecure=very + +[ASTloop] +type=friend +accountcode=ASTloop +context=default +auth=plaintext +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +qualify=yes + +[ASTblind] +type=friend +accountcode=ASTblind +context=default +auth=plaintext +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +qualify=yes + +[1112223333] +auth=md5 +type=friend +username=1112223333 +secret=PASSWORD +host=iax.binfone.com +context=trunkinbound diff --git a/agc_2-X/branches/agc_2.0.5/docs/conf_examples/logger.conf.sample b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/logger.conf.sample new file mode 100644 index 00000000..34af05de --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/logger.conf.sample @@ -0,0 +1,3 @@ +[logfiles] +console => notice,warning,error +messages => notice,warning,error,debug,verbose diff --git a/agc_2-X/branches/agc_2.0.5/docs/conf_examples/manager.conf.sample b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/manager.conf.sample new file mode 100644 index 00000000..8760d41c --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/manager.conf.sample @@ -0,0 +1,24 @@ +[general] +enabled = yes +port = 5038 +bindaddr = 0.0.0.0 + +[cron] +secret = 1234 +read = system,call,log,verbose,command,agent,user +write = system,call,log,verbose,command,agent,user + +[updatecron] +secret = 1234 +read = command +write = command + +[listencron] +secret = 1234 +read = system,call,log,verbose,command,agent,user +write = command + +[sendcron] +secret = 1234 +read = command +write = system,call,log,verbose,command,agent,user diff --git a/agc_2-X/branches/agc_2.0.5/docs/conf_examples/meetme.conf.sample b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/meetme.conf.sample new file mode 100644 index 00000000..f22e97c0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/meetme.conf.sample @@ -0,0 +1,314 @@ +[rooms] +conf => 8600 +conf => 8601,1234 + +conf => 8600001 +conf => 8600002 +conf => 8600003 +conf => 8600004 +conf => 8600005 +conf => 8600006 +conf => 8600007 +conf => 8600008 +conf => 8600009 +conf => 8600010 +conf => 8600011 +conf => 8600012 +conf => 8600013 +conf => 8600014 +conf => 8600015 +conf => 8600016 +conf => 8600017 +conf => 8600018 +conf => 8600019 +conf => 8600020 +conf => 8600021 +conf => 8600022 +conf => 8600023 +conf => 8600024 +conf => 8600025 +conf => 8600026 +conf => 8600027 +conf => 8600028 +conf => 8600029 +conf => 8600030 +conf => 8600031 +conf => 8600032 +conf => 8600033 +conf => 8600034 +conf => 8600035 +conf => 8600036 +conf => 8600037 +conf => 8600038 +conf => 8600039 +conf => 8600040 +conf => 8600041 +conf => 8600042 +conf => 8600043 +conf => 8600044 +conf => 8600045 +conf => 8600046 +conf => 8600047 +conf => 8600048 +conf => 8600049 +conf => 8600050 +conf => 8600051 +conf => 8600052 +conf => 8600053 +conf => 8600054 +conf => 8600055 +conf => 8600056 +conf => 8600057 +conf => 8600058 +conf => 8600059 +conf => 8600060 +conf => 8600061 +conf => 8600062 +conf => 8600063 +conf => 8600064 +conf => 8600065 +conf => 8600066 +conf => 8600067 +conf => 8600068 +conf => 8600069 +conf => 8600070 +conf => 8600071 +conf => 8600072 +conf => 8600073 +conf => 8600074 +conf => 8600075 +conf => 8600076 +conf => 8600077 +conf => 8600078 +conf => 8600079 +conf => 8600080 +conf => 8600081 +conf => 8600082 +conf => 8600083 +conf => 8600084 +conf => 8600085 +conf => 8600086 +conf => 8600087 +conf => 8600088 +conf => 8600089 +conf => 8600090 +conf => 8600091 +conf => 8600092 +conf => 8600093 +conf => 8600094 +conf => 8600095 +conf => 8600096 +conf => 8600097 +conf => 8600098 +conf => 8600099 +conf => 8600100 +conf => 8600101 +conf => 8600102 +conf => 8600103 +conf => 8600104 +conf => 8600105 +conf => 8600106 +conf => 8600107 +conf => 8600108 +conf => 8600109 +conf => 8600110 +conf => 8600111 +conf => 8600112 +conf => 8600113 +conf => 8600114 +conf => 8600115 +conf => 8600116 +conf => 8600117 +conf => 8600118 +conf => 8600119 +conf => 8600120 +conf => 8600121 +conf => 8600122 +conf => 8600123 +conf => 8600124 +conf => 8600125 +conf => 8600126 +conf => 8600127 +conf => 8600128 +conf => 8600129 +conf => 8600130 +conf => 8600131 +conf => 8600132 +conf => 8600133 +conf => 8600134 +conf => 8600135 +conf => 8600136 +conf => 8600137 +conf => 8600138 +conf => 8600139 +conf => 8600140 +conf => 8600141 +conf => 8600142 +conf => 8600143 +conf => 8600144 +conf => 8600145 +conf => 8600146 +conf => 8600147 +conf => 8600148 +conf => 8600149 +conf => 8600150 +conf => 8600151 +conf => 8600152 +conf => 8600153 +conf => 8600154 +conf => 8600155 +conf => 8600156 +conf => 8600157 +conf => 8600158 +conf => 8600159 +conf => 8600160 +conf => 8600161 +conf => 8600162 +conf => 8600163 +conf => 8600164 +conf => 8600165 +conf => 8600166 +conf => 8600167 +conf => 8600168 +conf => 8600169 +conf => 8600170 +conf => 8600171 +conf => 8600172 +conf => 8600173 +conf => 8600174 +conf => 8600175 +conf => 8600176 +conf => 8600177 +conf => 8600178 +conf => 8600179 +conf => 8600180 +conf => 8600181 +conf => 8600182 +conf => 8600183 +conf => 8600184 +conf => 8600185 +conf => 8600186 +conf => 8600187 +conf => 8600188 +conf => 8600189 +conf => 8600190 +conf => 8600191 +conf => 8600192 +conf => 8600193 +conf => 8600194 +conf => 8600195 +conf => 8600196 +conf => 8600197 +conf => 8600198 +conf => 8600199 +conf => 8600200 +conf => 8600201 +conf => 8600202 +conf => 8600203 +conf => 8600204 +conf => 8600205 +conf => 8600206 +conf => 8600207 +conf => 8600208 +conf => 8600209 +conf => 8600210 +conf => 8600211 +conf => 8600212 +conf => 8600213 +conf => 8600214 +conf => 8600215 +conf => 8600216 +conf => 8600217 +conf => 8600218 +conf => 8600219 +conf => 8600220 +conf => 8600221 +conf => 8600222 +conf => 8600223 +conf => 8600224 +conf => 8600225 +conf => 8600226 +conf => 8600227 +conf => 8600228 +conf => 8600229 +conf => 8600230 +conf => 8600231 +conf => 8600232 +conf => 8600233 +conf => 8600234 +conf => 8600235 +conf => 8600236 +conf => 8600237 +conf => 8600238 +conf => 8600239 +conf => 8600240 +conf => 8600241 +conf => 8600242 +conf => 8600243 +conf => 8600244 +conf => 8600245 +conf => 8600246 +conf => 8600247 +conf => 8600248 +conf => 8600249 +conf => 8600250 +conf => 8600251 +conf => 8600252 +conf => 8600253 +conf => 8600254 +conf => 8600255 +conf => 8600256 +conf => 8600257 +conf => 8600258 +conf => 8600259 +conf => 8600260 +conf => 8600261 +conf => 8600262 +conf => 8600263 +conf => 8600264 +conf => 8600265 +conf => 8600266 +conf => 8600267 +conf => 8600268 +conf => 8600269 +conf => 8600270 +conf => 8600271 +conf => 8600272 +conf => 8600273 +conf => 8600274 +conf => 8600275 +conf => 8600276 +conf => 8600277 +conf => 8600278 +conf => 8600279 +conf => 8600280 +conf => 8600281 +conf => 8600282 +conf => 8600283 +conf => 8600284 +conf => 8600285 +conf => 8600286 +conf => 8600287 +conf => 8600288 +conf => 8600289 +conf => 8600290 +conf => 8600291 +conf => 8600292 +conf => 8600293 +conf => 8600294 +conf => 8600295 +conf => 8600296 +conf => 8600297 +conf => 8600298 +conf => 8600299 + +conf => 8600900 +conf => 8600901 +conf => 8600902 +conf => 8600903 +conf => 8600904 +conf => 8600905 +conf => 8600906 +conf => 8600907 +conf => 8600908 +conf => 8600909 diff --git a/agc_2-X/branches/agc_2.0.5/docs/conf_examples/musiconhold.conf.sample b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/musiconhold.conf.sample new file mode 100644 index 00000000..c8ae1c6d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/musiconhold.conf.sample @@ -0,0 +1,20 @@ +; +; Music on Hold -- Sample Configuration +; + +[default] +mode=files +directory=/var/lib/asterisk/mohmp3 + +[quiet] +mode=files +directory=/var/lib/asterisk/quiet-mp3 + +; valid mode options: +; quietmp3 -- default +; mp3 -- loud +; mp3nb -- unbuffered +; quietmp3nb -- quiet unbuffered +; custom -- run a custom application +; files -- read files from a directory in any Asterisk supported format + diff --git a/agc_2-X/branches/agc_2.0.5/docs/conf_examples/sip.conf.sample b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/sip.conf.sample new file mode 100644 index 00000000..858e1840 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/sip.conf.sample @@ -0,0 +1,80 @@ +[general] +context=default ; Default context for incoming calls +;allowguest=no ; Allow or reject guest calls (default is yes, this can also be set to 'osp' +;realm=mydomain.tld ; Realm for digest authentication +bindport=5060 ; UDP Port to bind to (SIP standard port is 5060) +bindaddr=0.0.0.0 ; IP address to bind to (0.0.0.0 binds to all) +srvlookup=yes ; Enable DNS SRV lookups on outbound calls +;domain=mydomain.tld ; Set default domain for this host +;domain=mydomain.tld,mydomain-incoming +;domain=1.2.3.4 ; Add IP address as local domain +;allowexternalinvites=no ; Disable INVITE and REFER to non-local domains +;autodomain=yes ; Turn this on to have Asterisk add local host +;pedantic=yes ; Enable slow, pedantic checking for Pingtel +;tos=184 ; Set IP QoS to either a keyword or numeric val +tos=lowdelay ; lowdelay,throughput,reliability,mincost,none +maxexpiry=3600 ; Max length of incoming registration we allow +defaultexpiry=120 ; Default length of incoming/outgoing registration +;notifymimetype=text/plain ; Allow overriding of mime type in MWI NOTIFY +;checkmwi=10 ; Default time between mailbox checks for peers +;vmexten=voicemail ; dialplan extension to reach mailbox sets the +;videosupport=yes ; Turn on support for SIP video +;recordhistory=yes ; Record SIP history by default +disallow=all ; First disallow all codecs +allow=ulaw ; Allow codecs in order of preference +allow=gsm ; +musicclass=default ; Sets the default music on hold class for all SIP calls +language=en ; Default language setting for all users/peers +relaxdtmf=yes ; Relax dtmf handling +rtptimeout=60 ; Terminate call if 60 seconds of no RTP activity +;rtpholdtimeout=300 ; Terminate call if 300 seconds of no RTP activity +trustrpid = no ; If Remote-Party-ID should be trusted +sendrpid = yes ; If Remote-Party-ID should be sent +progressinband=no ; If we should generate in-band ringing always +;useragent=Asterisk PBX ; Allows you to change the user agent string +promiscredir = no ; If yes, allows 302 or REDIR to non-local SIP address +;usereqphone = no ; If yes, ";user=phone" is added to uri that contains +dtmfmode = rfc2833 ; Set default dtmfmode for sending DTMF. Default: rfc2833 +;compactheaders = yes ; send compact sip headers. +;sipdebug = yes ; Turn on SIP debugging by default, from +;subscribecontext = default ; Set a specific context for SUBSCRIBE requests +;notifyringing = yes ; Notify subscriptions on RINGING state +;alwaysauthreject = yes ; When an incoming INVITE or REGISTER is to be rejected, +;regcontext=sipregistrations +;registertimeout=20 ; retry registration calls every 20 seconds (default) +;registerattempts=10 ; Number of registration attempts before we give up +callevents=no ; generate manager events when sip ua performs events (e.g. hold) +;externip = 192.168.1.1 ; Address that we're going to put in outbound SIP messages +;externhost=foo.dyndns.net ; Alternatively you can specify an +;externrefresh=10 ; How often to refresh externhost if +localnet=192.168.0.0/255.255.0.0; All RFC 1918 addresses are local networks +localnet=10.0.0.0/255.0.0.0 ; Also RFC1918 +localnet=172.16.0.0/12 ; Another RFC1918 with CIDR notation +localnet=169.254.0.0/255.255.0.0 ;Zero conf local network +nat=yes ; Global NAT settings (Affects all peers and users) +canreinvite=no +;rtcachefriends=yes ; Cache realtime friends by adding them to the internal list +;rtupdate=yes ; Send registry updates to database using realtime? (yes|no) +;rtautoclear=yes ; Auto-Expire friends created on the fly on the same schedule +;ignoreregexpire=yes ; Enabling this setting has two functions: +; domain=myasterisk.dom +; domain=customer.com,customer-context +; autodomain=yes +; fromdomain=mydomain.tld ; When making outbound SIP INVITEs to + +#include sip-vicidial.conf + +; register SIP account on remote machine if using SIP trunks +; register => testSIPtrunk:test@10.10.10.16:5060 +; +; setup account for SIP trunking: +; [SIPtrunk] +; disallow=all +; allow=ulaw +; allow=alaw +; type=friend +; username=testSIPtrunk +; secret=test +; host=10.10.10.16 +; dtmfmode=inband +; qualify=1000 diff --git a/agc_2-X/branches/agc_2.0.5/docs/conf_examples/sip.conf.sample-1.4 b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/sip.conf.sample-1.4 new file mode 100644 index 00000000..a9925aa2 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/sip.conf.sample-1.4 @@ -0,0 +1,104 @@ +[general] +context=default ; Default context for incoming calls +;allowguest=no ; Allow or reject guest calls (default is yes) +allowoverlap=no ; Disable overlap dialing support. (Default is yes) +;allowtransfer=no ; Disable all transfers (unless enabled in peers or users) +;realm=mydomain.tld ; Realm for digest authentication +bindport=5060 ; UDP Port to bind to (SIP standard port is 5060) +bindaddr=0.0.0.0 ; IP address to bind to (0.0.0.0 binds to all) +srvlookup=yes ; Enable DNS SRV lookups on outbound calls +;domain=mydomain.tld ; Set default domain for this host +;pedantic=yes ; Enable checking of tags in headers, +;tos_sip=cs3 ; Sets TOS for SIP packets. +;tos_audio=ef ; Sets TOS for RTP audio packets. +;tos_video=af41 ; Sets TOS for RTP video packets. +;maxexpiry=3600 ; Maximum allowed time of incoming registrations +;minexpiry=60 ; Minimum length of registrations/subscriptions (default 60) +;defaultexpiry=120 ; Default length of incoming/outgoing registration +;t1min=100 ; Minimum roundtrip time for messages to monitored hosts +;notifymimetype=text/plain ; Allow overriding of mime type in MWI NOTIFY +;checkmwi=10 ; Default time between mailbox checks for peers +;buggymwi=no ; Cisco SIP firmware doesn't support the MWI RFC +;vmexten=voicemail ; dialplan extension to reach mailbox sets the +disallow=all ; First disallow all codecs +allow=ulaw ; Allow codecs in order of preference +allow=gsm +mohinterpret=default +mohsuggest=default +language=en ; Default language setting for all users/peers +relaxdtmf=yes ; Relax dtmf handling +trustrpid = no ; If Remote-Party-ID should be trusted +sendrpid = yes ; If Remote-Party-ID should be sent +progressinband=no ; If we should generate in-band ringing always +;useragent=Asterisk PBX ; Allows you to change the user agent string +;promiscredir = no ; If yes, allows 302 or REDIR to non-local SIP address +;usereqphone = no ; If yes, ";user=phone" is added to uri that contains +dtmfmode = rfc2833 ; Set default dtmfmode for sending DTMF. Default: rfc2833 +;compactheaders = yes ; send compact sip headers. +videosupport=no ; Turn on support for SIP video. You need to turn this on +;maxcallbitrate=384 ; Maximum bitrate for video calls (default 384 kb/s) +callevents=yes ; generate manager events when sip ua +;alwaysauthreject = yes ; When an incoming INVITE or REGISTER is to be rejected, +;g726nonstandard = yes ; If the peer negotiates G726-32 audio, use AAL2 packing +;matchexterniplocally = yes ; Only substitute the externip or externhost setting if it matches +;regcontext=sipregistrations +rtptimeout=60 ; Terminate call if 60 seconds of no RTP or RTCP activity +;rtpholdtimeout=300 ; Terminate call if 300 seconds of no RTP or RTCP activity +;rtpkeepalive= ; Send keepalives in the RTP stream to keep NAT open +;sipdebug = yes ; Turn on SIP debugging by default, from +;recordhistory=yes ; Record SIP history by default +;dumphistory=yes ; Dump SIP history at end of SIP dialogue +;allowsubscribe=no ; Disable support for subscriptions. (Default is yes) +;subscribecontext = default ; Set a specific context for SUBSCRIBE requests +notifyringing = yes ; Notify subscriptions on RINGING state (default: no) +notifyhold = yes ; Notify subscriptions on HOLD state (default: no) +limitonpeers = yes ; Apply call limits on peers only. This will improve +;t38pt_udptl = yes ; Default false +;register => 1234:password@mysipprovider.com +;registertimeout=20 ; retry registration calls every 20 seconds (default) +;registerattempts=10 ; Number of registration attempts before we give up +;externip = 192.168.1.1 ; Address that we're going to put in outbound SIP +;externhost=test.test.com ; Alternatively you can specify a domain +;externrefresh=10 ; How often to refresh externhost if +localnet=192.168.0.0/255.255.0.0; All RFC 1918 addresses are local networks +localnet=10.0.0.0/255.0.0.0 ; Also RFC1918 +localnet=172.16.0.0/12 ; Another RFC1918 with CIDR notation +localnet=169.254.0.0/255.255.0.0 ;Zero conf local network +nat=yes ; Global NAT settings (Affects all peers and users) +canreinvite=no ; Asterisk by default tries to redirect the +;directrtpsetup=yes ; Enable the new experimental direct RTP setup. This sets up +;rtcachefriends=yes ; Cache realtime friends by adding them to the internal list +;rtsavesysname=yes ; Save systemname in realtime database at registration +;rtupdate=yes ; Send registry updates to database using realtime? (yes|no) +;rtautoclear=yes ; Auto-Expire friends created on the fly on the same schedule +;ignoreregexpire=yes ; Enabling this setting has two functions: +;domain=mydomain.tld,mydomain-incoming +;domain=1.2.3.4 ; Add IP address as local domain +;allowexternaldomains=no ; Disable INVITE and REFER to non-local domains +;autodomain=yes ; Turn this on to have Asterisk add local host +;fromdomain=mydomain.tld ; When making outbound SIP INVITEs to +jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a +jbforce = no ; Forces the use of a jitterbuffer on the receive side of a SIP +jbmaxsize = 100 ; Max length of the jitterbuffer in milliseconds. +jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is +jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a SIP +jblog = no ; Enables jitterbuffer frame logging. Defaults to "no". +qualify=yes ; By default, qualify all peers at 2000ms +limitonpeer = yes ; enable call limit on a per peer basis, different from limitonpeers + +#include sip-vicidial.conf + +; register SIP account on remote machine if using SIP trunks +; register => testSIPtrunk:test@10.10.10.16:5060 +; +; setup account for SIP trunking: +; [SIPtrunk] +; disallow=all +; allow=ulaw +; allow=alaw +; type=friend +; username=testSIPtrunk +; secret=test +; host=10.10.10.16 +; dtmfmode=inband +; qualify=1000 diff --git a/agc_2-X/branches/agc_2.0.5/docs/conf_examples/voicemail.conf.sample b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/voicemail.conf.sample new file mode 100644 index 00000000..84874667 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/voicemail.conf.sample @@ -0,0 +1,18 @@ +[general] +format=wav49|gsm|wav +serveremail=asterisk +attach=yes +skipms=3000 +maxsilence=10 +silencethreshold=128 +maxlogins=3 + +#include voicemail-vicidial.conf + +[zonemessages] +eastern=America/New_York|'vm-received' Q 'digits/at' IMp +central=America/Chicago|'vm-received' Q 'digits/at' IMp +central24=America/Chicago|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours' + +[default] +include => vicidial-auto diff --git a/agc_2-X/branches/agc_2.0.5/docs/conf_examples/zapata.conf.e1.sample b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/zapata.conf.e1.sample new file mode 100644 index 00000000..fb829460 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/zapata.conf.e1.sample @@ -0,0 +1,46 @@ +# /etc/asterisk/zapata.conf: +# Digium/Clone T100P EXAMPLE: +# Here is an example of a configuration where an T100P single T1 card is used +# for connecting a single T1 PRI circuit with 23 voice channels + +[channels] +language=it +rxgain=1.0 +txgain=1.0 +usecallerid=yes +callerid=asreceived +busydetect=no +context=default +echotraining=no +echocancel=yes +echocancelwhenbridged=no +usecallingpres=yes +callprogress = no +prilocaldialplan=unknown +pridialplan=unknown +overlapdial=yes +switchtype=euroisdn +immediate=no + +group=0 +signalling=pri_cpe + +#PRI 1 +channel => 1-15 +channel => 17-31 + +#PRI 2 +channel => 32-46 +channel => 48-62 + +#PRI 3 +channel => 63-77 +channel => 79-93 + +group=1 +signalling=pri_net + +#PRI 4 +channel => 94-108 +channel => 110-124 + diff --git a/agc_2-X/branches/agc_2.0.5/docs/conf_examples/zapata.conf.t100p.sample b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/zapata.conf.t100p.sample new file mode 100644 index 00000000..caa219a9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/zapata.conf.t100p.sample @@ -0,0 +1,46 @@ +# /etc/asterisk/zapata.conf: +# Digium/Clone T100P EXAMPLE: +# Here is an example of a configuration where an T100P single T1 card is used +# for connecting a single T1 PRI circuit with 23 voice channels + +[channels] +group=1 +language=en +signalling=pri_cpe +usecallerid=yes +callerid=asreceived +callprogress=no +busydetect=no +context=default +echocancel=64 +echocancelwhenbridged=yes +rxgain=1.0 +txgain=1.0 +channel => 1-23 + +# FOR A RBS WinkStart T1 YOU WOULD USE SOMETHING LIKE THIS: +# group=1 +# language=en +# signalling=em_w +# usecallerid=yes +# callerid=asreceived +# context=default +# echocancel=64 +# echocancelwhenbridged=yes +# rxgain=1.0 +# txgain=1.0 +# channel => 1-24 +# +# FOR AN ANALOG T1 ChannelBank YOU WOULD USE SOMETHING LIKE THIS: +# group=4 +# language=en +# signalling=fxo_ks +# usecallerid=yes +# callerid=asreceived +# context=default +# echocancel=64 +# echocancelwhenbridged=no +# rxgain=-1.0 +# txgain=-1.0 +# channel => 1-24 + diff --git a/agc_2-X/branches/agc_2.0.5/docs/conf_examples/zapata.conf.x100p.sample b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/zapata.conf.x100p.sample new file mode 100644 index 00000000..6e2ecd8e --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/zapata.conf.x100p.sample @@ -0,0 +1,13 @@ +# /etc/asterisk/zapata.conf: +# Digium/Clone X100P EXAMPLE: +# Here is an example of a configuration where an X100P single FXO card is used +# for zaptel timing and not used for calling: +# +# NOTE: you can get an X100P on ebay for $10-30 that will work with Asterisk + +[trunkgroups] +[channels] +context=unused +signalling=fxs_ks +channel => 1 + diff --git a/agc_2-X/branches/agc_2.0.5/docs/conf_examples/zaptel.conf.e1.sample b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/zaptel.conf.e1.sample new file mode 100644 index 00000000..115f84ac --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/zaptel.conf.e1.sample @@ -0,0 +1,24 @@ +# /etc/zaptel.conf: +# Digium/Clone T100P EXAMPLE: +# Here is an example of a configuration where an T100P single T1 card is used +# for connecting a single T1 PRI circuit with 23 voice channels + +loadzone=it +defaultzone=it + +span=1,1,0,ccs,hdb3,crc4 +bchan=1-15,17-31 +dchan=16 + +span=2,2,0,ccs,hdb3,crc4 +bchan=32-46,48-62 +dchan=47 + +span=3,3,0,ccs,hdb3,crc4 +bchan=63-77,79-93 +dchan=78 + +span=4,4,0,ccs,hdb3,crc4 +bchan=94-108,110-124 +dchan=109 + diff --git a/agc_2-X/branches/agc_2.0.5/docs/conf_examples/zaptel.conf.t100p.sample b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/zaptel.conf.t100p.sample new file mode 100644 index 00000000..0e28251b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/zaptel.conf.t100p.sample @@ -0,0 +1,23 @@ +# /etc/zaptel.conf: +# Digium/Clone T100P EXAMPLE: +# Here is an example of a configuration where an T100P single T1 card is used +# for connecting a single T1 PRI circuit with 23 voice channels + +span=1,1,0,esf,b8zs +bchan=1-23 +dchan=24 +loadzone = us +defaultzone=us + +# FOR A RBS WinkStart T1 YOU WOULD USE SOMETHING LIKE THIS: +# span=1,1,0,esf,b8zs +# e&m=1-24 +# loadzone = us +# defaultzone=us +# +# FOR AN ANALOG T1 ChannelBank YOU WOULD USE SOMETHING LIKE THIS: +# span=1,1,0,esf,b8zs +# fxoks=1-24 +# loadzone = us +# defaultzone=us +# diff --git a/agc_2-X/branches/agc_2.0.5/docs/conf_examples/zaptel.conf.x100p.sample b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/zaptel.conf.x100p.sample new file mode 100644 index 00000000..a9742eea --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/docs/conf_examples/zaptel.conf.x100p.sample @@ -0,0 +1,10 @@ +# /etc/zaptel.conf: +# Digium/Clone X100P EXAMPLE: +# Here is an example of a configuration where an X100P single FXO card is used +# for zaptel timing and not used for calling: +# +# NOTE: you can get an X100P on ebay for $10-30 that will work with Asterisk + +loadzone=us +defaultzone=us +fxsks=1 diff --git a/agc_2-X/branches/agc_2.0.5/experimental/AST_update.pl b/agc_2-X/branches/agc_2.0.5/experimental/AST_update.pl new file mode 100644 index 00000000..f9a8dab1 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/experimental/AST_update.pl @@ -0,0 +1,1225 @@ +#!/usr/bin/perl +# +# AST_update.pl version 2.0.5 *DBI-version* +# +# DESCRIPTION: +# uses the Asterisk Manager interface and Net::MySQL to update the live_channels +# tables and verify the parked_channels table in the asterisk MySQL database +# This "near-live-status of Zap/SIP/Local/IAX channels" list is used by clients +# +# SUMMARY: +# This program was designed for people using the Asterisk PBX with Digium +# Zaptel telco cards and SIP VOIP hardphones or softphones as extensions, it +# could be adapted to other functions, but I designed it specifically for +# Zap/IAX2/SIP users. The program will run on UNIX or Win32 command line +# providing the following criteria are met: +# +# Win32 - ActiveState Perl 5.8.0 +# UNIX - Gnome or KDE with Tk/Tcl and perl Tk/Tcl modules loaded +# Both - Net::MySQL, Net::Telnet and Time::HiRes perl modules loaded +# +# For the client program to work, this program must always be running +# +# For this program to work you need to have the "asterisk" MySQL database +# created and create the tables listed in the MySQL_AST_CREATE_tables.sql file, +# also make sure that the machine running this program has select/insert/update/delete +# access to that database +# +# In your Asterisk server setup you also need to have several things activated +# and defined. See the CONF_Asterisk.txt file for details +# +# It is recommended that you run this program on the local Asterisk machine +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# version changes: +# 41228-1659 - modified to compensate for manager output response hiccups +# 50107-1611 - modified to add Zap and IAX2 clients (differentiate from trunks) +# 50117-1537 - modified to add MySQL port ($DB_port) var from conf file +# 50303-0958 - modified to compensate for Zap manager output hiccups +# 50406-1320 - added channel_data to live_channels table for more flexibility +# also added Zap/IAX client check every 100 loop instead of only once +# 50509-1047 - added collection of server_performance data with SYSPERF flag +# 50621-1307 - modified to allow for SIP trunks +# 50810-1601 - Added database server variable definitions lookup +# 50823-1625 - Altered Debug vars and initial CVS/1.2 support for changed output +# 50824-1606 - Altered CVS/1.2 support for "show channels concise" output +# 50829-1134 - Added processor percentage usage to stat collection +# 51229-1355 - Added ability to take ! as delimited for 1.2 show channels concise +# 60117-1202 - Changed IAX2 client phone channel to reflect change to '-' iteration +# 60411-1032 - Fixed bug in test section that caused crash with ** in extension +# 60807-1605 - Changed to DBI +# 60808-1005 - changed to use /etc/astguiclient.conf for configs +# 60808-1500 - Fixed another bug in that caused crash with ** in extension +# 60814-1523 - SYSLOG and SYSPERF looked up from database, dynamic settings +# 60926-1601 - validate proper binutil locations for performance gathering +# 61130-1008 - defaults show_channels_format to 1 for non 1.0 version Asterisk +# 61227-1659 - added "core show channels concise" for Asterisk 1.4 compatibility +# 80111-1850 - fixed server_updater record missing bug +# + +$build = '80111-1850'; + +# constants +$SYSPERF=0; # system performance logging to MySQL server_performance table every 5 seconds +$SYSPERF_rec=0; # is dial-time recording turned on +$SYSLOG=0; # set to 1 to write log to a file +$DB=0; # Debug flag, set to 1 for debug messages WARNING LOTS OF OUTPUT!!! +$DBX=0; # Debug flag, set to 1 for debug messages WARNING LOTS OF OUTPUT!!! +$US='__'; +$AMP='@'; +$MT[0]=''; +$cpuUSERprev=0; +$cpuSYSTprev=0; +$cpuIDLEprev=0; + +# find proper locations of bin utils + +# cat +$bincat = "/usr/bin/cat"; +if (-e "/usr/local/bin/cat") + {$bincat = "/usr/local/bin/cat";} +else + { + if (-e "/bin/cat") + {$bincat = "/bin/cat";} + } + +# free +$binfree = "/usr/bin/free"; +if (-e "/usr/local/bin/free") + {$binfree = "/usr/local/bin/free";} +else + { + if (-e "/bin/free") + {$binfree = "/bin/free";} + } + +# ps +$binps = "/bin/ps"; +if (-e "/usr/local/bin/ps") + {$binps = "/usr/local/bin/ps";} +else + { + if (-e "/usr/bin/ps") + {$binps = "/usr/bin/ps";} + } + + +# DB table variables for testing + $parked_channels = 'parked_channels'; + $live_channels = 'live_channels'; + $live_sip_channels = 'live_sip_channels'; + $server_updater = 'server_updater'; +# $parked_channels = 'TEST_parked_channels'; +# $live_channels = 'TEST_live_channels'; +# $live_sip_channels = 'TEST_live_sip_channels'; +# $server_updater = 'TEST_server_updater'; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-t] = test\n [-sysperf] = system performance logging\n [-sysperfdebug] = system performance debug output\n [-debug] = verbose debug messages\n [-debugX] = Extra-verbose debug messages\n\n"; + exit; + } + else + { + if ($args =~ /-sysperf/i) + { + $SYSPERF=1; # System performance logging flag + } + if ($args =~ /-sysperfdebug/i) + { + $SYSPERFDB=1; # prints system performance data out to STDOUT + } + if ($args =~ /-debug/i) + { + $DB=1; # Debug flag + } + if ($args =~ /--debugX/i) + { + $DB=1; + $DBX=1; + print "\n----- SUPER-DUPER DEBUGGING -----\nBUILD: $build\n"; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} +else +{ +# print "no command line options set\n"; +} +### end parsing run-time options ### + + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + + &get_time_now; + +if (!$UPLOGfile) {$UPLOGfile = "$PATHlogs/update.$year-$mon-$mday";} +if (!$VARDB_port) {$VARDB_port='3306';} + + $event_string='PROGRAM STARTED||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||'; + &event_logger; + +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Net::Telnet (); +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + $event_string='LOGGED INTO MYSQL SERVER ON 1 CONNECTION|'; + &event_logger; + +### Grab Server values from the database +$stmtA = "SELECT telnet_host,telnet_port,ASTmgrUSERNAME,ASTmgrSECRET,ASTmgrUSERNAMEupdate,ASTmgrUSERNAMElisten,ASTmgrUSERNAMEsend,max_vicidial_trunks,answer_transfer_agent,local_gmt,ext_context,asterisk_version,sys_perf_log,vd_server_logs FROM servers where server_ip = '$server_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +while ( my @aryA = $sthA->fetchrow_array ) + { + $DBtelnet_host = "$aryA[0]"; + $DBtelnet_port = "$aryA[1]"; + $DBASTmgrUSERNAME = "$aryA[2]"; + $DBASTmgrSECRET = "$aryA[3]"; + $DBASTmgrUSERNAMEupdate = "$aryA[4]"; + $DBASTmgrUSERNAMElisten = "$aryA[5]"; + $DBASTmgrUSERNAMEsend = "$aryA[6]"; + $DBmax_vicidial_trunks = "$aryA[7]"; + $DBanswer_transfer_agent= "$aryA[8]"; + $DBSERVER_GMT = "$aryA[9]"; + $DBext_context = "$aryA[10]"; + $DBasterisk_version = "$aryA[11]"; + $DBsys_perf_log = "$aryA[12]"; + $DBvd_server_logs = "$aryA[13]"; + if ($DBtelnet_host) {$telnet_host = $DBtelnet_host;} + if ($DBtelnet_port) {$telnet_port = $DBtelnet_port;} + if ($DBASTmgrUSERNAME) {$ASTmgrUSERNAME = $DBASTmgrUSERNAME;} + if ($DBASTmgrSECRET) {$ASTmgrSECRET = $DBASTmgrSECRET;} + if ($DBASTmgrUSERNAMEupdate) {$ASTmgrUSERNAMEupdate = $DBASTmgrUSERNAMEupdate;} + if ($DBASTmgrUSERNAMElisten) {$ASTmgrUSERNAMElisten = $DBASTmgrUSERNAMElisten;} + if ($DBASTmgrUSERNAMEsend) {$ASTmgrUSERNAMEsend = $DBASTmgrUSERNAMEsend;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBsys_perf_log =~ /Y/) {$SYSPERF = '1';} + if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';} + $rec_count++; + } +$sthA->finish(); + + $show_channels_format = 1; + if ($AST_ver =~ /^1\.0/i) {$show_channels_format = 0;} + if ($AST_ver =~ /^1\.4/i) {$show_channels_format = 2;} + print STDERR "SHOW CHANNELS format: $show_channels_format\n"; + + +##### Check for a server_updater record, and if not present, insert one +$SUrec=0; +$stmtA = "SELECT count(*) FROM $server_updater where server_ip = '$server_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +@aryA = $sthA->fetchrow_array; +$SUrec = $aryA[0]; +$sthA->finish(); + if($DB){print STDERR "\n|$SUrec|$stmtA|\n";} + +if ($SUrec < 1) + { + &get_time_now; + + $stmtU = "INSERT INTO $server_updater set server_ip='$server_ip', last_update='$now_date';"; + if($DB){print STDERR "\n|$stmtU|\n";} + $affected_rows = $dbhA->do($stmtU); + } + + +##### LOOK FOR ZAP CLIENTS AS DEFINED IN THE phones TABLE SO THEY ARE NOT MISLABELED AS TRUNKS + print STDERR "LOOKING FOR Zap clients assigned to this server:\n"; + $Zap_client_count=0; + $Zap_client_list='|'; + $stmtA = "SELECT extension FROM phones where protocol = 'Zap' and server_ip='$server_ip'"; + if($DB){print STDERR "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + while ( my @aryA = $sthA->fetchrow_array() ) + { + print STDERR $aryA[0],"\n"; + $Zap_client_list .= "$aryA[0]|"; + $Zap_client_count++; + } + $sthA->finish(); + +##### LOOK FOR IAX2 CLIENTS AS DEFINED IN THE phones TABLE SO THEY ARE NOT MISLABELED AS TRUNKS + print STDERR "LOOKING FOR IAX2 clients assigned to this server:\n"; + $IAX2_client_count=0; + $IAX2_client_list='|'; + $stmtA = "SELECT extension FROM phones where protocol = 'IAX2' and server_ip='$server_ip'"; + if($DB){print STDERR "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + while (my @aryA = $sthA->fetchrow_array() ) + { + print STDERR $aryA[0],"\n"; + $IAX2_client_list .= "$aryA[0]|"; + if ($aryA[0] !~ /\@/) + {$IAX2_client_list .= "$aryA[0]$AMP$aryA[0]|";} + else + { + $IAX_user = $aryA[0]; + $IAX_user =~ s/\@.*$//gi; + $IAX2_client_list .= "$IAX_user|"; + } + $IAX2_client_count++; + } + $sthA->finish(); + + +##### LOOK FOR SIP CLIENTS AS DEFINED IN THE phones TABLE SO THEY ARE NOT MISLABELED AS TRUNKS + print STDERR "LOOKING FOR SIP clients assigned to this server:\n"; + $SIP_client_count=0; + $SIP_client_list='|'; + $stmtA = "SELECT extension FROM phones where protocol = 'SIP' and server_ip='$server_ip'"; + if($DB){print STDERR "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + while (@aryA = $sthA->fetchrow_array) + { + print STDERR $aryA[0],"\n"; + $SIP_client_list .= "$aryA[0]|"; + if ($aryA[0] !~ /\@/) + {$SIP_client_list .= "$aryA[0]$AMP$aryA[0]|";} + else + { + $SIP_user = $aryA[0]; + $SIP_user =~ s/\@.*$//gi; + $SIP_client_list .= "$SIP_user|"; + } + $SIP_client_count++; + } + $sthA->finish(); + + print STDERR "Zap Clients: $Zap_client_list\n"; + print STDERR "IAX2 Clients: $IAX2_client_list\n"; + print STDERR "SIP Clients: $SIP_client_list\n"; + +$one_day_interval = 12; # 2 hour loops for one day +while($one_day_interval > 0) +{ + + $event_string="STARTING NEW MANAGER TELNET CONNECTION||ATTEMPT|ONE DAY INTERVAL:$one_day_interval|"; + &event_logger; + +if (!$telnet_port) {$telnet_port = '5038';} + + ### connect to asterisk manager through telnet + $t = new Net::Telnet (Port => $telnet_port, + Prompt => '/.*[\$%#>] $/', + Output_record_separator => '',); + #$fh = $t->dump_log("$telnetlog"); # uncomment for telnet log + if (length($ASTmgrUSERNAMEupdate) > 3) {$telnet_login = $ASTmgrUSERNAMEupdate;} + else {$telnet_login = $ASTmgrUSERNAME;} + $t->open("$telnet_host"); + $t->waitfor('/[01]\n$/'); # print login + $t->print("Action: Login\nUsername: $telnet_login\nSecret: $ASTmgrSECRET\n\n"); + $t->waitfor('/Authentication accepted/'); # waitfor auth accepted + + $event_string="STARTING NEW MANAGER TELNET CONNECTION|$telnet_login|CONFIRMED CONNECTION|ONE DAY INTERVAL:$one_day_interval|"; + &event_logger; + + $endless_loop=5769999; # 30 days minutes at .45 seconds per loop + + while($endless_loop > 0) + { + + + @DBchannels=@MT; + @DBsips=@MT; + @list_channels=@MT; + @test_channels=@MT; + + &get_current_channels; + + &validate_parked_channels; + + + $t->buffer_empty; + if ($show_channels_format < 1) + { + @list_channels = $t->cmd(String => "Action: Command\nCommand: show channels\n\n", Prompt => '/--END COMMAND-.*/'); + } + if ($show_channels_format == 1) + { + @list_channels = $t->cmd(String => "Action: Command\nCommand: show channels concise\n\n", Prompt => '/--END COMMAND-.*/'); + } + if ($show_channels_format > 1) + { + @list_channels = $t->cmd(String => "Action: Command\nCommand: core show channels concise\n\n", Prompt => '/--END COMMAND-.*/'); + } + + ##### TEST CHANNELS ZAP/IAX2/Local TO SEE IF THERE WAS A LARGE HICCUP IN OUTPUT FROM PREVIOUS OUTPUT + @test_channels=@list_channels; + $test_zap_count=0; + $test_iax_count=0; + $test_local_count=0; + $test_sip_count=0; + $s=0; + foreach(@test_channels) + { + chomp($test_channels[$s]); + if($DBX){print "$s|$test_channels[$s]\n";} + $test_channels[$s] =~ s/Congestion\s+\(Empty\)/ SIP\/CONGEST/gi; + $test_channels[$s] =~ s/\(Outgoing Line\)|\(None\)/SIP\/ring/gi; + $test_channels[$s] =~ s/\(Empty\)/SIP\/internal/gi; + if (!$show_channels_format) + { + $test_channels[$s] =~ s/^\s*|\s*$//gi; + $test_channels[$s] =~ s/\(.*\)//gi; + } + else + { + $EXcount = 0; + $EXcount = @{[$test_channels[$s] =~ /\!/g]}; + if ($EXcount > 10) + { + @test_chan_12 = split(/\!/, $test_channels[$s]); + } + else + { + @test_chan_12 = split(/:/, $test_channels[$s]); + } + # @test_chan_12 = split(/:/, $test_channels[$s]); + if (length($test_chan_12[6])<2) {$test_chan_12[6] = 'SIP/ring';} + $test_channels[$s] = "$test_chan_12[0] $test_chan_12[6]"; + } + if ($test_channels[$s] =~ /^Zap|^IAX2|^SIP|^Local/) + { + if ($test_channels[$s] =~ /^(\S+)\s+.+\s+(\S+)$/) + { + $channel = $1; + $extension = $2; + if ($show_channels_format) + {$extension =~ s/^.*\(|\).*$//gi;} + $extension =~ s/^SIP\/|-\S+$//gi; + $extension =~ s/\|.*//gi; + if ($channel =~ /^SIP/) {$test_sip_count++;} + if ($channel =~ /^Local/) {$test_local_count++;} + if ($IAX2_client_count) + { + $channel_match=$channel; + $channel_match =~ s/\/\d+$|-\d+$//gi; + $channel_match =~ s/^IAX2\///gi; + $channel_match =~ s/\*/\\\*/gi; + if ($IAX2_client_list =~ /\|$channel_match\|/i) {$test_iax_count++;} + } + if ($Zap_client_count) + { + $channel_match=$channel; + $channel_match =~ s/^Zap\///gi; + $channel_match =~ s/\*/\\\*/gi; + if ($Zap_client_list =~ /\|$channel_match\|/i) {$test_zap_count++;} + } + } + } + $s++; + } + + + + # $DB_live_lines = ($#DBchannels + $#DBsips); + $DB_live_lines = ($channel_counter + $sip_counter); + if ( (!$DB_live_lines) or ($#list_channels < 2) ) + {$PERCENT_static = 0;} + else + { + $PERCENT_static = ( ($#list_channels / $DB_live_lines) * 100); + $PERCENT_static = sprintf("%6.2f", $PERCENT_static); + } + + if ( (!$test_zap_count) or ($zap_client_counter < 2) ) + {$PERCENT_ZC_static = 0;} + else + { + $PERCENT_ZC_static = ( ($test_zap_count / $zap_client_counter) * 100); + $PERCENT_ZC_static = sprintf("%6.2f", $PERCENT_ZC_static); + } + + if ( (!$test_iax_count) or ($iax_client_counter < 2) ) + {$PERCENT_IC_static = 0;} + else + { + $PERCENT_IC_static = ( ($test_iax_count / $iax_client_counter) * 100); + $PERCENT_IC_static = sprintf("%6.2f", $PERCENT_IC_static); + } + + if ( (!$test_local_count) or ($local_client_counter < 2) ) + {$PERCENT_LC_static = 0;} + else + { + $PERCENT_LC_static = ( ($test_local_count / $local_client_counter) * 100); + $PERCENT_LC_static = sprintf("%6.2f", $PERCENT_LC_static); + } + + if ( (!$test_sip_count) or ($sip_client_counter < 2) ) + {$PERCENT_SC_static = 0;} + else + { + $PERCENT_SC_static = ( ($test_sip_count / $sip_client_counter) * 100); + $PERCENT_SC_static = sprintf("%6.2f", $PERCENT_SC_static); + } + + if ($endless_loop =~ /0$/) + {print "-$now_date $PERCENT_static $#list_channels $#DBchannels:$channel_counter $#DBsips:$sip_counter $PERCENT_ZC_static|$test_zap_count:$zap_client_counter $PERCENT_IC_static|$test_iax_count:$iax_client_counter $PERCENT_LC_static|$test_local_count:$local_client_counter $PERCENT_SC_static|$test_sip_count:$sip_client_counter\n";} + + if ( ( ($PERCENT_static < 10) && ( ($channel_counter > 3) or ($sip_counter > 4) ) ) or + ( ($PERCENT_static < 20) && ( ($channel_counter > 10) or ($sip_counter > 10) ) ) or + ( ($PERCENT_static < 30) && ( ($channel_counter > 20) or ($sip_counter > 20) ) ) or + ( ($PERCENT_static < 40) && ( ($channel_counter > 30) or ($sip_counter > 30) ) ) or + ( ($PERCENT_static < 50) && ( ($channel_counter > 40) or ($sip_counter > 40) ) ) or + ( ($PERCENT_ZC_static < 20) && ( $zap_client_counter > 3 ) ) or + ( ($PERCENT_ZC_static < 40) && ( $zap_client_counter > 9 ) ) or + ( ($PERCENT_IC_static < 20) && ( $iax_client_counter > 3 ) ) or + ( ($PERCENT_IC_static < 40) && ( $iax_client_counter > 9 ) ) or + ( ($PERCENT_SC_static < 20) && ( $sip_client_counter > 3 ) ) or + ( ($PERCENT_SC_static < 40) && ( $sip_client_counter > 9 ) ) ) + { + $UD_bad_grab++; + $event_string="------ UPDATER BAD GRAB!!! UBGcount: $UD_bad_grab\n $PERCENT_static $#list_channels $#DBchannels:$channel_counter $#DBsips:$sip_counter $PERCENT_ZC_static|$test_zap_count:$zap_client_counter $PERCENT_IC_static|$test_iax_count:$iax_client_counter $PERCENT_LC_static|$test_local_count:$local_client_counter $PERCENT_SC_static|$test_sip_count:$sip_client_counter\n"; + print "$event_string\n"; + &event_logger; + if ($UD_bad_grab > 20) {$UD_bad_grab=0;} + } + else + { + $UD_bad_grab=0; + if ( ($endless_loop =~ /0$/) && ($SYSPERF) ) + { + $cpuUSERcent=0; $cpuSYSTcent=0; $cpuIDLEcent=0; + ### get processor usage seconds ### + # cpu 924841 211725 270473 6961811 + @cpuUSE = `$bincat /proc/stat`; + if ($cpuUSE[0] =~ /cpu\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/) + { + $cpuUSER = ($1 + $2); + $cpuSYST = $3; + $cpuIDLE = $4; + $cpuUSERdiff = ($cpuUSER - $cpuUSERprev); + $cpuSYSTdiff = ($cpuSYST - $cpuSYSTprev); + $cpuIDLEdiff = ($cpuIDLE - $cpuIDLEprev); + $cpuIDLEdiffTOTAL = (($cpuUSERdiff + $cpuSYSTdiff) + $cpuIDLEdiff); + if ($cpuIDLEdiffTOTAL > 0) + { + $cpuUSERcent = sprintf("%.0f", (($cpuUSERdiff / $cpuIDLEdiffTOTAL) * 100)); + $cpuSYSTcent = sprintf("%.0f", (($cpuSYSTdiff / $cpuIDLEdiffTOTAL) * 100)); + $cpuIDLEcent = sprintf("%.0f", (($cpuIDLEdiff / $cpuIDLEdiffTOTAL) * 100)); + } + $cpuUSERprev=$cpuUSER; + $cpuSYSTprev=$cpuSYST; + $cpuIDLEprev=$cpuIDLE; + } + + ### get system load ### + $serverLOAD = `$bincat /proc/loadavg`; + $serverLOAD =~ s/ .*//gi; + $serverLOAD =~ s/\D//gi; + + ### get memory usage ### + @GRABserverMEMORY = `$binfree -m -t`; + if ($GRABserverMEMORY[1] =~ /Mem:\s+(\d+)\s+(\d+)\s+(\d+)\s+/) + { + $MEMused = $2; + $MEMfree = $3; + } + ### get number of system processes ### + @GRABserverPROCESSES = `$binps -A --no-heading`; + $serverPROCESSES = $#GRABserverPROCESSES; + + if ($SYSPERF_rec) {$recording_count = ($test_local_count / 2)} + else {$recording_count=0;} + + if ($SYSPERFDB) + {print "$serverLOAD $MEMfree $MEMused $serverPROCESSES $#list_channels $cpuUSERcent $cpuSYSTcent $cpuIDLEcent\n";} + + $stmtA = "INSERT INTO server_performance (start_time,server_ip,sysload,freeram,usedram,processes,channels_total,trunks_total,clients_total,clients_zap,clients_iax,clients_local,clients_sip,live_recordings,cpu_user_percent,cpu_system_percent,cpu_idle_percent) values('$now_date','$server_ip','$serverLOAD','$MEMfree','$MEMused','$serverPROCESSES','$#list_channels','$channel_counter','$sip_counter','$test_zap_count','$test_iax_count','$test_local_count','$test_sip_count','$recording_count','$cpuUSERcent','$cpuSYSTcent','$cpuIDLEcent')"; + if( ($DB) or ($UD_bad_grab) ){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA) or die "Couldn't execute query: |$stmtA|\n"; + } + } + + if ($endless_loop =~ /00$/) + { + ##### LOOK FOR ZAP CLIENTS AS DEFINED IN THE phones TABLE SO THEY ARE NOT MISLABELED AS TRUNKS + print STDERR "LOOKING FOR Zap clients assigned to this server:\n"; + $Zap_client_count=0; + $Zap_client_list='|'; + $stmtA = "SELECT extension FROM phones where protocol = 'Zap' and server_ip='$server_ip'"; + if($DB){print STDERR "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + while ( my @aryA = $sthA->fetchrow_array() ) + { + print STDERR $aryA[0],"\n"; + $Zap_client_list .= "$aryA[0]|"; + $Zap_client_count++; + } + $sthA->finish(); + + ##### LOOK FOR IAX2 CLIENTS AS DEFINED IN THE phones TABLE SO THEY ARE NOT MISLABELED AS TRUNKS + print STDERR "LOOKING FOR IAX2 clients assigned to this server:\n"; + $IAX2_client_count=0; + $IAX2_client_list='|'; + $stmtA = "SELECT extension FROM phones where protocol = 'IAX2' and server_ip='$server_ip'"; + if($DB){print STDERR "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + while (my @aryA = $sthA->fetchrow_array() ) + { + print STDERR $aryA[0],"\n"; + $IAX2_client_list .= "$aryA[0]|"; + if ($aryA[0] !~ /\@/) + {$IAX2_client_list .= "$aryA[0]$AMP$aryA[0]|";} + else + { + $IAX_user = $aryA[0]; + $IAX_user =~ s/\@.*$//gi; + $IAX2_client_list .= "$IAX_user|"; + } + $IAX2_client_count++; + } + $sthA->finish(); + + ##### LOOK FOR SIP CLIENTS AS DEFINED IN THE phones TABLE SO THEY ARE NOT MISLABELED AS TRUNKS + print STDERR "LOOKING FOR SIP clients assigned to this server:\n"; + $SIP_client_count=0; + $SIP_client_list='|'; + $stmtA = "SELECT extension FROM phones where protocol = 'SIP' and server_ip='$server_ip'"; + if($DB){print STDERR "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + while ( my @aryA = $sthA->fetchrow_array() ) + { + ; + print STDERR $aryA[0],"\n"; + $SIP_client_list .= "$aryA[0]|"; + if ($aryA[0] !~ /\@/) + {$SIP_client_list .= "$aryA[0]$AMP$aryA[0]|";} + else + { + $SIP_user = $aryA[0]; + $SIP_user =~ s/\@.*$//gi; + $SIP_client_list .= "$SIP_user|"; + } + $SIP_client_count++; + } + $sthA->finish(); + + print STDERR "Zap Clients: $Zap_client_list\n"; + print STDERR "IAX2 Clients: $IAX2_client_list\n"; + print STDERR "SIP Clients: $SIP_client_list\n"; + ### Grab Server values from the database + $stmtA = "SELECT sys_perf_log,vd_server_logs FROM servers where server_ip = '$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + while ( my @aryA = $sthA->fetchrow_array() ) + { + $DBsys_perf_log = "$aryA[0]"; + $DBvd_server_logs = "$aryA[1]"; + if ($DBsys_perf_log =~ /Y/) {$SYSPERF = '1';} + else {$SYSPERF = '0';} + if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';} + else {$SYSLOG = '0';} + } + $sthA->finish(); + if ($SYSPERFDB) + {print "SYSPERF RELOAD: $DBsys_perf_log:$SYSPERF|$DBvd_server_logs:$SYSLOG\n";} + } + + @list_chan_12=@MT; + $EXcount = 0; + $EXcount = @{[$list_channels[2] =~ /\!/g]}; + if ($EXcount > 10) + { + @list_chan_12 = split(/\!/, $list_channels[2]); + } + else + { + @list_chan_12 = split(/:/, $list_channels[2]); + } + if( ($DB) && ($show_channels_format) ) {print "concise: $#list_chan_12\n";} + if ( ( ( ($list_channels[1] =~ /State Appl\./) or ($list_channels[2] =~ /State Appl\.|Application\(Data\)/) or ($list_channels[3] =~ /State Appl\.|Application\(Data\)/) ) || ($#list_chan_12 > 8) ) && (!$UD_bad_grab) ) + { + + $c=0; + if($DB){print "lines: $#list_channels\n";} + if($DB){print "DBchn: $#DBchannels\n";} + if($DB){print "DBsip: $#DBsips\n";} + foreach(@list_channels) + { + # $DBchannels =~ s/^\|//g; + + chomp($list_channels[$c]); + if( ($DB) or ($UD_bad_grab) ){print "-|$c|$list_channels[$c]|\n";} + $list_channels[$c] =~ s/Congestion\s+\(Empty\)/ SIP\/CONGEST/gi; + $list_channels[$c] =~ s/\(Outgoing Line\)|\(None\)/SIP\/ring/gi; + $list_channels[$c] =~ s/\(Empty\)/SIP\/internal/gi; + if (!$show_channels_format) + { + $list_channels[$c] =~ s/^\s*|\s*$//gi; + $list_channels[$c] =~ s/\(.*\)//gi; + } + else + { + @list_chan_12=@MT; + if ($EXcount > 10) + { + @list_chan_12 = split(/\!/, $list_channels[$c]); + } + else + { + @list_chan_12 = split(/:/, $list_channels[$c]); + } + if ($DBX) {print "EXcount: $EXcount\n";} + if (length($list_chan_12[6])<2) {$list_chan_12[6] = 'SIP/ring';} + $list_channels[$c] = "$list_chan_12[0] $list_chan_12[6]"; + } + $list_SIP[$c] = $list_channels[$c]; + if( ($DB) or ($UD_bad_grab) ){print "+|$c|$list_channels[$c]|\n\n";} + + ########## PARSE EACH LINE TO DETERMINE WHETHER IT IS TRUNK OR CLIENT AND PUT IN APPROPRIATE TABLE + if ($list_channels[$c] =~ /^Zap|^IAX2|^SIP|^Local/) + { + if ($list_channels[$c] =~ /^(\S+)\s+.+\s+(\S+)$/) + { + $line_type = ''; + $channel = $1; + $extension = $2; + $channel_data = $extension; + if ($show_channels_format) + { + $extension =~ s/^.*\(|\).*$//gi; + #### new data in 1.2 for future use + # SIP/cc160-7b91:default:917274514920:3:Up:Dial:Zap/g2/17274514920|30|o:cc160::3:9:Zap/25-1 + # Zap/30-1:demo:010*010*010*012*8600091:1:Up:Dial:IAX2/TESTast2:test@10.10.10.12:4569/8600051|25|o:::3:123:IAX2/TESTast2-29 + # Zap/9-1:demo:990009*CL_UMGCOF_L**6317906**9545541833*13678*:2:Up:Dial:Zap/r3/90009*CL_UMGCOF_L**6317906**9545541833*13678*|120|o:::3:334:Zap/82-1 + # $channel = $list_chan_12[0]; + # $channel_data = $list_chan_12[0]; + # $context = $list_chan_12[1]; + # $dialed = $list_chan_12[2]; + # $priority = $list_chan_12[3]; + # $state = $list_chan_12[4]; + # $extension = $list_chan_12[6]; + # $callerid = $list_chan_12[7]; + # $duration = $list_chan_12[10]; + # $bridged = $list_chan_12[11]; + } + $extension =~ s/^SIP\/|-\S+$//gi; + $extension =~ s/\|.*//gi; + $QRYchannel = "$channel$US$extension"; + + if( ($DB) or ($UD_bad_grab) ){print "channel: |$channel|\n";} + if( ($DB) or ($UD_bad_grab) ){print "extension: |$extension|\n";} + if( ($DB) or ($UD_bad_grab) ){print "QRYchannel:|$QRYchannel|\n";} + + if ($channel =~ /^SIP|^Zap|^IAX2/) {$line_type = 'TRUNK';} + if ($channel =~ /^Local/) {$line_type = 'CLIENT';} + if ($IAX2_client_count) + { + $channel_match=$channel; + $channel_match =~ s/\/\d+$|-\d+$//gi; + $channel_match =~ s/^IAX2\///gi; + $channel_match =~ s/\*/\\\*/gi; + # print "checking for IAX2 client: |$channel_match|\n"; + if ($IAX2_client_list =~ /\|$channel_match\|/i) {$line_type = 'CLIENT';} + } + if ($Zap_client_count) + { + $channel_match=$channel; + $channel_match =~ s/^Zap\///gi; + $channel_match =~ s/\*/\\\*/gi; + # print "checking for Zap client: |$channel_match|\n"; + if ($Zap_client_list =~ /\|$channel_match\|/i) {$line_type = 'CLIENT';} + } + if ($SIP_client_count) + { + $channel_match=$channel; + $channel_match =~ s/-\S+$//gi; + $channel_match =~ s/^SIP\///gi; + $channel_match =~ s/\*/\\\*/gi; + # print "checking for SIP client: |$channel_match|\n"; + if ($SIP_client_list =~ /\|$channel_match\|/i) {$line_type = 'CLIENT';} + } + + if ($line_type eq 'TRUNK') + { + if( ($DB) or ($UD_bad_grab) ){print "current channels: $#DBchannels\n";} + + $k=0; + $channel_in_DB=0; + foreach(@DBchannels) + { + if ( ($DBchannels[$k] eq "$QRYchannel") && (!$channel_in_DB) ) + { + $DBchannels[$k] = ''; + $channel_in_DB++; + } + if( ($DB) or ($UD_bad_grab) ){print "DB $k|$DBchannels[$k]| |";} + $k++; + } + + if ( (!$channel_in_DB) && (length($QRYchannel)>3) ) + { + $stmtA = "INSERT INTO $live_channels (channel,server_ip,extension,channel_data) values('$channel','$server_ip','$extension','$channel_data')"; + if( ($DB) or ($UD_bad_grab) ){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA) or die "Couldn't execute query: |$stmtA|\n"; + } + } + + if ($line_type eq 'CLIENT') + { + if( ($DB) or ($UD_bad_grab) ){print "current sips: $#DBsips\n";} + + $k=0; + $sipchan_in_DB=0; + foreach(@DBsips) + { + if ( ($DBsips[$k] eq "$QRYchannel") && (!$sipchan_in_DB) ) + { + $DBsips[$k] = ''; + $sipchan_in_DB++; + } + if( ($DB) or ($UD_bad_grab) ){print "DB $k|$DBsips[$k]| |";} + $k++; + } + + if ( (!$sipchan_in_DB) && (length($QRYchannel)>3) ) + { + $stmtA = "INSERT INTO $live_sip_channels (channel,server_ip,extension,channel_data) values('$channel','$server_ip','$extension','$channel_data')"; + if( ($DB) or ($UD_bad_grab) ){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA) or die "Couldn't execute query: |$stmtA|\n"; + } + } + } + } + + $c++; + } + if($DB){print "COUNT: $c|$#list_channels|$endless_loop\n";} + + + if ($#DBchannels >= 0) + { + $d=0; + foreach(@DBchannels) + { + if (length($DBchannels[$d])>4) + { + ($DELchannel, $DELextension) = split(/\_\_/, $DBchannels[$d]); + $stmtB = "DELETE FROM $live_channels where server_ip='$server_ip' and channel='$DELchannel' and extension='$DELextension' limit 1"; + if( ($DB) or ($UD_bad_grab) ){print STDERR "\n|$stmtB|\n";} + $affected_rows = $dbhA->do($stmtB); + } + $d++; + } + } + + if ($#DBsips >= 0) + { + $d=0; + foreach(@DBsips) + { + if (length($DBsips[$d])>4) + { + ($DELchannel, $DELextension) = split(/\_\_/, $DBsips[$d]); + $stmtB = "DELETE FROM $live_sip_channels where server_ip='$server_ip' and channel='$DELchannel' and extension='$DELextension' limit 1"; + if( ($DB) or ($UD_bad_grab) ){print STDERR "\n|$stmtB|\n";} + $affected_rows = $dbhA->do($stmtB); + } + $d++; + } + } + + ### sleep for 45 hundredths of a second + usleep(1*450*1000); + + $endless_loop--; + if($DB){print STDERR "\nloop counter: |$endless_loop|\n";} + + ### putting a blank file called "update.kill" in a directory will automatically safely kill this program + if (-e "$PATHhome/update.kill") + { + unlink("$PATHhome/update.kill"); + $endless_loop=0; + $one_day_interval=0; + print "\nPROCESS KILLED MANUALLY... EXITING\n\n" + } + + $bad_grabber_counter=0; + $no_channels_12_counter=0; + } + + else + { + if ( ($list_channels[1] !~ /Privilege: Command/) && ($show_channels_format) ) + { + $bad_grabber_counter++; + if($DB){print STDERR "\nbad grab, trying again\n";} + ### sleep for 20 hundredths of a second + usleep(1*200*1000); + + $event_string="BAD GRAB TRYING AGAIN|BAD_GRABS: $bad_grabber_counter|$endless_loop|ONE DAY INTERVAL:$one_day_interval|"; + &event_logger; + + if ($bad_grabber_counter > 100) + { + $endless_loop=0; + $event_string="TOO MANY BAD GRABS, STARTING NEW CONNECTION|BAD_GRABS: $bad_grabber_counter|$endless_loop|ONE DAY INTERVAL:$one_day_interval|"; + &event_logger; + $bad_grabber_counter=0; + } + } + else + { + $no_channels_12_counter++; + $event_string="NO CHANNELS HERE|COUNTER: $no_channels_12_counter|$endless_loop|ONE DAY INTERVAL:$one_day_interval|$list_channels[1]"; + &event_logger; + + if($DBX) {print "*|EMPTY CHANNELS: $no_channels_12_counter|$#list_channels|$list_channels[1]";} + + ### sleep for 40 hundredths of a second + usleep(1*400*1000); + if ($no_channels_12_counter == 3) + { + ### there are no channels, delete all from live_channels, live_sip_channels + $event_string="NO CHANNELS HERE|COUNTER: $no_channels_12_counter|$endless_loop|ONE DAY INTERVAL:$one_day_interval|$list_channels[1]"; + &event_logger; + $stmtB = "DELETE FROM $live_sip_channels where server_ip='$server_ip'"; + if( ($DB) or ($UD_bad_grab) ){print STDERR "\n|$stmtB|\n";} + $affected_rows = $dbhA->do($stmtB); + $stmtB = "DELETE FROM $live_channels where server_ip='$server_ip'"; + if( ($DB) or ($UD_bad_grab) ){print STDERR "\n|$stmtB|\n";} + $affected_rows = $dbhA->do($stmtB); + } + + } + } + + + } + + + if($DB){print "DONE... Exiting... Goodbye... See you later... Not really, initiating next loop...\n";} + + $event_string='HANGING UP|'; + &event_logger; + + @hangup = $t->cmd(String => "Action: Logoff\n\n", Prompt => "/.*/"); + + $ok = $t->close; + + $one_day_interval--; + +} + + $event_string='CLOSING DB CONNECTION|'; + &event_logger; + + +$dbhA->disconnect(); + + +if($DB){print "DONE... Exiting... Goodbye... See you later... Really I mean it this time\n";} + + +exit; + + + + + + + +####################################################################### +# This subroutine simply grabs all active channel/extension combinations from +# the asterisk MySQL database to be compared to the Asterisk Manager results +####################################################################### +sub get_current_channels +{ +$sip_counter=0; +$zap_client_counter=0; +$iax_client_counter=0; +$local_client_counter=0; +$sip_client_counter=0; + + if($DB){print STDERR "\n|SELECT channel,extension FROM $live_channels where server_ip = '$server_ip'|\n";} + +$stmtA = "SELECT channel,extension FROM $live_channels where server_ip = '$server_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$channel_counter=0; +while ( my @aryA = $sthA->fetchrow_array() ) + { + if($DB){print STDERR $aryA[0],"|", $aryA[1],"\n";} + $DBchannels[$channel_counter] = "$aryA[0]$US$aryA[1]"; + $channel_counter++; + } +$sthA->finish(); + +$stmtA = "SELECT channel,extension FROM $live_sip_channels where server_ip = '$server_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count_sip=0; +while ( my @aryA = $sthA->fetchrow_array() ) + { + if($DB){print STDERR $aryA[0],"|", $aryA[1],"\n";} + $DBsips[$sip_counter] = "$aryA[0]$US$aryA[1]"; + + if ($aryA[0] =~ /^Zap/) {$zap_client_counter++;} + if ($aryA[0] =~ /^IAX/) {$iax_client_counter++;} + if ($aryA[0] =~ /^Local/) {$local_client_counter++;} + if ($aryA[0] =~ /^SIP/) {$sip_client_counter++;} + $sip_counter++; + $rec_count_sip++; + } +$sthA->finish(); + + &get_time_now; + +$stmtU = "UPDATE $server_updater set last_update='$now_date' where server_ip='$server_ip'"; + if($DB){print STDERR "\n|$stmtU|\n";} +$affected_rows = $dbhA->do($stmtU); + +} + + + + + +####################################################################### +# The purpose of this subroutine is to make sure that the calls that are +# listed as parked in the parked_channels table are in fact live (to make +# sure the caller has not hung up) and if the channel is not live to delete +# the parked_channels entry for that specific parked channel entry +# +# Yes it does use two DB connections all by itself, I just did that for speed +# and ease of programming to be backward compatible with MySQL < 4.1 or else +# I would have used a delete with subselect and saved all of this bloated code +####################################################################### +sub validate_parked_channels +{ + +if (!$run_validate_parked_channels_now) + { + $parked_counter=0; + @ARchannel=@MT; @ARextension=@MT; @ARparked_time=@MT; @ARparked_time_UNIX=@MT; + $stmtA = "SELECT channel,extension,parked_time,UNIX_TIMESTAMP(parked_time) FROM $parked_channels where server_ip = '$server_ip' order by channel desc, parked_time desc;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $rec_count=0; + while ( my @aryA = $sthA->fetchrow_array() ) + { + $PQchannel = $aryA[0]; + $PQextension = $aryA[1]; + $PQparked_time = $aryA[2]; + $PQparked_time_UNIX = $aryA[3]; + if($DB){print STDERR "\n|$PQchannel|$PQextension|$PQparked_time|$PQparked_time_UNIX|\n";} + + $dbhC = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + $AR=0; + $record_deleted=0; + foreach(@ARchannel) + { + if (@ARchannel[$AR] eq "$PQchannel") + { + if (@ARparked_time_UNIX[$AR] > $PQparked_time_UNIX) + { + if($DBX){print "Duplicate parked channel delete: |$PQchannel|$PQparked_time|\n";} + $stmtPQ = "DELETE FROM $parked_channels where server_ip='$server_ip' and channel='$PQchannel' and extension='$PQextension' and parked_time='$PQparked_time' limit 1"; + if($DB){print STDERR "\n|$stmtPQ|$$DEL_chan_park_counter|$DEL_chan_park_counter|\n\n";} + $affected_rows = $dbhC->do($stmtPQ); + + $DEL_chan_park_counter = "DEL$PQchannel$PQextension"; + $$DEL_chan_park_counter=0; + $record_deleted++; + } + + } + + $AR++; + } + + + + if (!$record_deleted) + { + $ARchannel[$rec_count] = $aryA[0]; + $ARextension[$rec_count] = $aryA[1]; + $ARparked_time[$rec_count] = $aryA[2]; + $ARparked_time_UNIX[$rec_count] = $aryA[3]; + + + $dbhB = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + + $event_string='LOGGED INTO MYSQL SERVER ON 2 CONNECTIONS TO VALIDATE PARKED CALLS|'; + &event_logger; + + $stmtB = "SELECT count(*) FROM $live_channels where server_ip='$server_ip' and channel='$PQchannel' and extension='$PQextension';"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $rec_countB = 0; + while ( my @aryB = $sthB->fetchrow_array() ) + { + $PQcount = $aryB[0]; + if($DB){print STDERR "\n|$PQcount|\n";} + + $rec_countB++; + } + $sthB->finish(); + + if ($PQcount < 1) + { + $DEL_chan_park_counter = "DEL$PQchannel$PQextension"; + $$DEL_chan_park_counter++; + if($DBX){print STDERR "Parked counter down|$$DEL_chan_park_counter|$DEL_chan_park_counter|\n";} + + ### if the parked channel doesn't exist 6 times then delete it from table + if ($$DEL_chan_park_counter > 5) + { + if($DBX){print " parked channel delete: |$PQchannel|$PQparked_time|\n";} + $stmtPQ = "DELETE FROM $parked_channels where server_ip='$server_ip' and channel='$PQchannel' and extension='$PQextension' limit 1"; + if($DB){print STDERR "\n|$stmtPQ|$$DEL_chan_park_counter|$DEL_chan_park_counter|\n\n";} + $affected_rows = $dbhC->do($stmtPQ); + + $ARchannel[$rec_count] = ''; + $ARextension[$rec_count] = ''; + $ARparked_time[$rec_count] = ''; + $ARparked_time_UNIX[$rec_count] = ''; + $$DEL_chan_park_counter=0; + } + } + else + { + $DEL_chan_park_counter = "DEL$PQchannel$PQextension"; + $$DEL_chan_park_counter=0; + } + + + + $event_string='CLOSING MYSQL CONNECTIONS OPENED TO VALIDATE PARKED CALLS|'; + &event_logger; + + $dbhB->disconnect(); + + } + + $dbhC->disconnect(); + + $parked_counter++; + $rec_count++; + } + + $sthA->finish(); + + $run_validate_parked_channels_now=5; # set to run every five times the subroutine runs + } + +$run_validate_parked_channels_now--; +} + + + + + +################################################################################ +##### get the current date and time and epoch for logging call lengths and datetimes +sub get_time_now +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +} + + + + + +################################################################################ +##### open the log file for writing ### +sub event_logger +{ +if ($SYSLOG) + { + open(Lout, ">>$UPLOGfile") + || die "Can't open $UPLOGfile: $!\n"; + print Lout "$now_date|$event_string|\n"; + close(Lout); + } +$event_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/experimental/FastAGI_log_multi_server.pl b/agc_2-X/branches/agc_2.0.5/experimental/FastAGI_log_multi_server.pl new file mode 100644 index 00000000..cf6a0a0f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/experimental/FastAGI_log_multi_server.pl @@ -0,0 +1,1021 @@ +#!/usr/bin/perl +# +# FastAGI_log_multi_server.pl version 2.0.5 *DBI-version* +# +# Experimental Deamon using perl Net::Server that runs as FastAGI to reduce load +# replaces the following AGI scripts: +# - call_log.agi +# - call_logCID.agi +# - VD_hangup.agi +# +# This script needs to be running all of the time for AGI requests to work +# +# You need to put lines similar to those below in your extensions.conf file if the FastAGI is running on the same server as Asterisk: +# +# ;outbound dialing: +# exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +# +# ;inbound calls: +# exten => 101,1,AGI(agi://127.0.0.1:4577/call_log) +# or +# exten => 101,1,AGI(agi://127.0.0.1:4577/call_log--fullCID--${EXTEN}-----${CALLERID}-----${CALLERIDNUM}-----${CALLERIDNAME}) +# +# ;all hangups: +# exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}) +# +# +# If the FastAGI server will be handling multiple Asterisk servers you need to put the following in each Asterisk servers extensions.conf, +# replacing "10.10.10.15" with ip address of the FastAGI server: +# +# ;outbound dialing: +# exten => _91NXXNXXXXXX,1,AGI(agi://10.10.10.15:4577/call_log) +# +# ;inbound calls: +# exten => 101,1,AGI(agi://10.10.10.15:4577/call_log) +# or +# exten => 101,1,AGI(agi://10.10.10.15:4577/call_log--fullCID--${EXTEN}-----${CALLERID}-----${CALLERIDNUM}-----${CALLERIDNAME}) +# +# ;all hangups +# exten => h,1,DeadAGI(agi://10.10.10.15:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}) +# +# +# Copyright (C) 2008 Vicidial Group info@vicidial.com LICENSE: AGPLv2 +# +# CHANGELOG: +# 61010-1007 - mattf - First test build +# 70116-1619 - mattf - Added Auto Alt Dial code +# 70215-1258 - mattf - Added queue_log entry when deleting vac record +# 70808-1425 - mattf - Moved VD_hangup section to the call_log end stage to improve efficiency +# 71030-2039 - mattf - Added priority to hopper insertions +# 80224-0040 - mattf - Fixed bugs in vicidial_log updates +# 80430-0907 - mattf - Added term_reason to vicidial_log and vicidial_closer_log +# 80506-1215 - mikec - Added support for multiserver logging + + +# defaults for PreFork +$VARfastagi_log_min_servers = '3'; +$VARfastagi_log_max_servers = '16'; +$VARfastagi_log_min_spare_servers = '2'; +$VARfastagi_log_max_spare_servers = '8'; +$VARfastagi_log_max_requests = '1000'; +$VARfastagi_log_checkfordead = '30'; +$VARfastagi_log_checkforwait = '60'; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_min_servers/) && ($CLIVARfastagi_log_min_servers < 1) ) + {$VARfastagi_log_min_servers = $line; $VARfastagi_log_min_servers =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_max_servers/) && ($CLIVARfastagi_log_max_servers < 1) ) + {$VARfastagi_log_max_servers = $line; $VARfastagi_log_max_servers =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_min_spare_servers/) && ($CLIVARfastagi_log_min_spare_servers < 1) ) + {$VARfastagi_log_min_spare_servers = $line; $VARfastagi_log_min_spare_servers =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_max_spare_servers/) && ($CLIVARfastagi_log_max_spare_servers < 1) ) + {$VARfastagi_log_max_spare_servers = $line; $VARfastagi_log_max_spare_servers =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_max_requests/) && ($CLIVARfastagi_log_max_requests < 1) ) + {$VARfastagi_log_max_requests = $line; $VARfastagi_log_max_requests =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_checkfordead/) && ($CLIVARfastagi_log_checkfordead < 1) ) + {$VARfastagi_log_checkfordead = $line; $VARfastagi_log_checkfordead =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_checkforwait/) && ($CLIVARfastagi_log_checkforwait < 1) ) + {$VARfastagi_log_checkforwait = $line; $VARfastagi_log_checkforwait =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +if (!$VARDB_port) {$VARDB_port='3306';} + +$SERVERLOG = 'N'; +$log_level = '0'; + +use DBI; +$dbhB = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtB = "SELECT vd_server_logs FROM servers where server_ip = '$VARserver_ip';"; +$sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; +$sthB->execute or die "executing: $stmtB ", $dbhB->errstr; +$sthBrows=$sthB->rows; +$rec_count=0; +while ($sthBrows > $rec_count) + { + @aryB = $sthB->fetchrow_array; + $SERVERLOG = "$aryB[0]"; + $rec_count++; + } +$sthB->finish(); +$dbhB->disconnect(); + +if ($SERVERLOG =~ /Y/) + { + $childLOGfile = "$PATHlogs/FastAGIchildLOG.$year-$mon-$mday"; + $log_level = "4"; + print "SERVER LOGGING ON: LEVEL-$log_level FILE-$childLOGfile\n"; + } + +package VDfastAGI; + +use Net::Server; +use Asterisk::AGI; +use vars qw(@ISA); +use Net::Server::PreFork; # any personality will do +@ISA = qw(Net::Server::PreFork); + + + + +sub process_request { + my $self = shift; + + $process = 'begin'; + $script = 'VDfastAGI'; + ########## Get current time, parse configs, get logging preferences ########## + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + + + # default path to astguiclient configuration file: + $PATHconf = '/etc/astguiclient.conf'; + + open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; + @conf = ; + close(conf); + $i=0; + foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + + if (!$VARDB_port) {$VARDB_port='3306';} + if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/FASTagiout.$year-$mon-$mday";} + + $dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + ### Grab Server values from the database + $stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } + $sthA->finish(); + + # get the socket connection to the client + my $socket = $self->{server}->{client}; + + # ask the socket for the clients ip address + my $ast_server_ip = $socket->peerhost(); + + # if client is connecting from localhost + # use the ip address in the config file + if ( $ast_server_ip eq "127.0.0.1" ) + { + $ast_server_ip = $VARserver_ip; + } + + + if ($AGILOG) + { + $agi_string = "+++++++++++++++++ FastAGI Start ++++++++++++++++++++++++++++++++++++++++"; + &agi_output; + $agi_string = "Connection accepted from $ast_server_ip"; + &agi_output; + } + + + + ### begin parsing run-time options ### + if (length($ARGV[0])>1) + { + if ($AGILOG) + { + $agi_string = "Perl Environment Dump:"; + &agi_output; + } + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) + { + $agi_string = "$i|$ARGV[$i]"; + &agi_output; + } + $i++; + } + } + $HVcauses=0; + $fullCID=0; + $callerid=''; + $calleridname=''; + $|=1; + while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_priority\:\s+(.*)$/) {$priority = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_request\:\s+(.*)$/) {$request = $1;} + if ( ($request =~ /--fullCID--/i) && (!$fullCID) ) + { + $fullCID=1; + @CID = split(/-----/, $request); + $callerid = $CID[2]; + $calleridname = $CID[3]; + $agi_string = "URL fullCID: |$callerid|$calleridname|$request|"; + &agi_output; + } + if ( ($request =~ /--HVcauses--/i) && (!$HVcauses) ) + { + $HVcauses=1; + @ARGV_vars = split(/-----/, $request); + $PRI = $ARGV_vars[0]; + $PRI =~ s/.*--HVcauses--//gi; + $DEBUG = $ARGV_vars[1]; + $hangup_cause = $ARGV_vars[2]; + $dialstatus = $ARGV_vars[3]; + $dial_time = $ARGV_vars[4]; + $ring_time = $ARGV_vars[5]; + $agi_string = "URL HVcauses: |$PRI|$DEBUG|$hangup_cause|$dialstatus|$dial_time|$ring_time|"; + &agi_output; + } + if (!$fullCID) # if no fullCID sent + { + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + if ( $calleridname =~ /\"/) {$calleridname =~ s/\"//gi;} + # if ( (length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) ) + if ( ( + (length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) + ) or ( (length($calleridname)>17) && ($calleridname =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) ) ) + {$callerid = $calleridname;} + + ### allow for ANI being sent with the DNIS "*3125551212*9999*" + if ($extension =~ /^\*\d\d\d\d\d\d\d\d\d\d\*/) + { + $callerid = $extension; + $callerid =~ s/\*\d\d\d\d\*$//gi; + $callerid =~ s/^\*//gi; + $extension =~ s/^\*\d\d\d\d\d\d\d\d\d\d\*//gi; + $extension =~ s/\*$//gi; + } + $calleridname = $callerid; + } + } + + if ($AGILOG) + { + $agi_string = "AGI Environment Dump:"; + &agi_output; + } + + foreach $i (sort keys %AGI) + { + if ($AGILOG) + { + $agi_string = " -- $i = $AGI{$i}"; + &agi_output; + } + } + + + if ($AGILOG) + { + $agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; + &agi_output; + } + + if ( ($extension =~ /h/i) && (length($extension) < 3)) {$stage = 'END';} + else {$stage = 'START';} + + $process = $request; + $process =~ s/agi:\/\///gi; + $process =~ s/.*\/|--.*//gi; + if ($AGILOG) + { + $agi_string = "Process to run: |$request|$process|$stage|"; + &agi_output; + } + + + ################################################################### + ##### START call_log process ###################################### + ################################################################### + if ($process =~ /^call_log/) + { + ### call start stage + if ($stage =~ /START/) + { + if ($AGILOG) {$agi_string = "+++++ CALL LOG START : $now_date"; &agi_output;} + + if ($channel =~ /^SIP/) {$channel =~ s/-.*//gi;} + if ($channel =~ /^IAX2/) {$channel =~ s/\/\d+$//gi;} + if ($channel =~ /^Zap\//) + { + $channel_line = $channel; + $channel_line =~ s/^Zap\///gi; + + $stmtA = "SELECT count(*) FROM phones where server_ip='$ast_server_ip' and extension='$channel_line' and protocol='Zap';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + $is_client_phone = "$aryA[0]"; + if ($AGILOG) {$agi_string = "Local Zap phone: $aryA[0]|$channel_line|"; &agi_output;} + $sthA->finish(); + + if ($is_client_phone < 1) + { + $channel_group = 'Zap Trunk Line'; + $number_dialed = $callerid; + } + } + ### This section breaks the outbound dialed number down(or builds it up) to a 10 digit number and gives it a description + if ( ($channel =~ /^SIP|^IAX2/) or ($is_client_phone > 0) ) + { + if ( ($extension =~ /^901144/) && (length($extension)==16) ) #test 207 608 6400 + {$extension =~ s/^9//gi; $channel_group = 'Outbound Intl UK';} + if ( ($extension =~ /^901161/) && (length($extension)==15) ) #test 39 417 2011 + {$extension =~ s/^9//gi; $channel_group = 'Outbound Intl AUS';} + if ( ($extension =~ /^91800|^91888|^91877|^91866/) && (length($extension)==12) ) + {$extension =~ s/^91//gi; $channel_group = 'Outbound Local 800';} + if ( ($extension =~ /^9/) && (length($extension)==8) ) + {$extension =~ s/^9/727/gi; $channel_group = 'Outbound Local';} + if ( ($extension =~ /^9/) && (length($extension)==11) ) + {$extension =~ s/^9//gi; $channel_group = 'Outbound Local';} + if ( ($extension =~ /^91/) && (length($extension)==12) ) + {$extension =~ s/^91//gi; $channel_group = 'Outbound Long Distance';} + if ($is_client_phone > 0) + {$channel_group = 'Zap Client Phone';} + + $SIP_ext = $channel; $SIP_ext =~ s/SIP\/|IAX2\/|Zap\///gi; + + $number_dialed = $extension; + $extension = $SIP_ext; + } + + if ( ($callerid =~ /^V|^M/) && ($callerid =~ /\d\d\d\d\d\d\d\d\d/) && (length($number_dialed)<1) ) + { + $stmtA = "SELECT cmd_line_b,cmd_line_d FROM vicidial_manager where callerid='$callerid' limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $cmd_line_b = "$aryA[0]"; + $cmd_line_d = "$aryA[1]"; + $cmd_line_b =~ s/Exten: //gi; + $cmd_line_d =~ s/Channel: Local\/|@.*//gi; + $rec_count++; + } + $sthA->finish(); + if ($callerid =~ /^V/) {$number_dialed = "$cmd_line_d";} + if ($callerid =~ /^M/) {$number_dialed = "$cmd_line_b";} + $number_dialed =~ s/\D//gi; + if (length($number_dialed)<1) {$number_dialed=$extension;} + } + $stmtA = "INSERT INTO call_log (uniqueid,channel,channel_group,type,server_ip,extension,number_dialed,start_time,start_epoch,end_time,end_epoch,length_in_sec,length_in_min,caller_code) values('$unique_id','$channel','$channel_group','$type','$ast_server_ip','$extension','$number_dialed','$now_date','$now_date_epoch','','','','','$callerid')"; + + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + + $dbhA->disconnect(); + } + + + ### call end stage + else + { + if ($AGILOG) {$agi_string = "|CALL HUNG UP|"; &agi_output;} + if ($request =~ /--HVcauses--/i) + { + $HVcauses=1; + @ARGV_vars = split(/-----/, $request); + $PRI = $ARGV_vars[0]; + $PRI =~ s/.*--HVcauses--//gi; + $DEBUG = $ARGV_vars[1]; + $hangup_cause = $ARGV_vars[2]; + $dialstatus = $ARGV_vars[3]; + $dial_time = $ARGV_vars[4]; + $ring_time = $ARGV_vars[5]; + $agi_string = "URL HVcauses: |$PRI|$DEBUG|$hangup_cause|$dialstatus|$dial_time|$ring_time|"; + &agi_output; + } + + ### get uniqueid and start_epoch from the call_log table + $stmtA = "SELECT uniqueid,start_epoch FROM call_log where uniqueid='$unique_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $start_time = "$aryA[1]"; + if ($AGILOG) {$agi_string = "|$aryA[0]|$aryA[1]|"; &agi_output;} + $rec_count++; + } + $sthA->finish(); + + if ($rec_count) + { + $length_in_sec = ($now_date_epoch - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + if ($AGILOG) {$agi_string = "QUERY done: start time = $start_time | sec: $length_in_sec | min: $length_in_min |"; &agi_output;} + + $stmtA = "UPDATE call_log set end_time='$now_date',end_epoch='$now_date_epoch',length_in_sec=$length_in_sec,length_in_min='$length_in_min',channel='$channel' where uniqueid='$unique_id'"; + + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + } + + $stmtA = "DELETE from live_inbound where uniqueid='$unique_id' and server_ip='$ast_server_ip'"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + + ##### BEGIN Park Log entry check and update ##### + $stmtA = "SELECT UNIX_TIMESTAMP(parked_time),UNIX_TIMESTAMP(grab_time) FROM park_log where uniqueid='$unique_id' and server_ip='$ast_server_ip' LIMIT 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $parked_time = "$aryA[0]"; + $grab_time = "$aryA[1]"; + if ($AGILOG) {$agi_string = "|$aryA[0]|$aryA[1]|"; &agi_output;} + $rec_count++; + } + $sthA->finish(); + + if ($rec_count) + { + if ($AGILOG) {$agi_string = "*****Entry found for $unique_id-$ast_server_ip in park_log: $parked_time|$grab_time"; &agi_output;} + if ($parked_time > $grab_time) + { + $parked_sec=($now_date_epoch - $parked_time); + $talked_sec=0; + } + else + { + $talked_sec=($now_date_epoch - $parked_time); + $parked_sec=($grab_time - $parked_time); + } + + $stmtA = "UPDATE park_log set status='HUNGUP',hangup_time='$now_date',parked_sec='$parked_sec',talked_sec='$talked_sec' where uniqueid='$unique_id' and server_ip='$ast_server_ip'"; + $affected_rows = $dbhA->do($stmtA); + } + ##### END Park Log entry check and update ##### + + # $dbhA->disconnect(); + + if ($AGILOG) {$agi_string = "+++++ CALL LOG HUNGUP: |$unique_id|$channel|$extension|$now_date|min: $length_in_min|"; &agi_output;} + + + ##### BEGIN former VD_hangup section functions ##### + + $VDADcampaign=''; + $VDADphone=''; + $VDADphone_code=''; + + if ($DEBUG =~ /^DEBUG$/) + { + ### open the hangup cause out file for writing ### + open(out, ">>$PATHlogs/HANGUP_cause-output.txt") + || die "Can't open $PATHlogs/HANGUP_cause-output.txt: $!\n"; + + print out "$now_date|$hangup_cause|$dialstatus|$dial_time|$ring_time|$unique_id|$channel|$extension|$type|$callerid|$calleridname|$priority|\n"; + + close(out); + } + else + { + if ($AGILOG) {$agi_string = "DEBUG: $DEBUG"; &agi_output;} + } + + + $callerid =~ s/\"//gi; + $CIDlead_id = $callerid; + $CIDlead_id = substr($CIDlead_id, 11, 9); + $CIDlead_id = ($CIDlead_id + 0); + + if ($AGILOG) {$agi_string = "VD_hangup : $callerid $channel $priority $CIDlead_id"; &agi_output;} + + if ($channel =~ /^Local/) + { + if ( ($PRI =~ /^PRI$/) && ($callerid =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) && ( ($dialstatus =~ /BUSY/) || ( ($dialstatus =~ /CHANUNAVAIL/) && ($hangup_cause =~ /^1$|^28$/) ) ) ) + { + if ($dialstatus =~ /BUSY/) {$VDL_status = 'B'; $VDAC_status = 'BUSY';} + if ($dialstatus =~ /CHANUNAVAIL/) {$VDL_status = 'DC'; $VDAC_status = 'DISCONNECT';} + + $stmtA = "UPDATE vicidial_list set status='$VDL_status' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $VDADaffected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$VDADaffected_rows|$CIDlead_id"; &agi_output;} + + $stmtA = "UPDATE vicidial_auto_calls set status='$VDAC_status' where callerid = '$callerid';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $VDACaffected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAC update: |$VDACaffected_rows|$CIDlead_id"; &agi_output;} + + $Euniqueid=$uniqueid; + $Euniqueid =~ s/\.\d+$//gi; + $stmtA = "UPDATE vicidial_log FORCE INDEX(lead_id) set status='$VDL_status' where lead_id = '$CIDlead_id' and uniqueid LIKE \"$Euniqueid%\";"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $VDLaffected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_log update: |$VDLaffected_rows|$uniqueid|$VDACuniqueid|"; &agi_output;} + + sleep(1); + + $dbhA->disconnect(); + } + else + { + if ($AGILOG) {$agi_string = "-- VD_hangup Local DEBUG: |$PRI|$callerid|$dialstatus|$hangup_cause|"; &agi_output;} + } + + if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} + if ($priority > 2) {sleep(1);} + } + else + { + + ########## FIND AND DELETE vicidial_auto_calls ########## + $VD_alt_dial = 'NONE'; + $stmtA = "SELECT lead_id,callerid,campaign_id,alt_dial,stage,UNIX_TIMESTAMP(call_time),uniqueid,status FROM vicidial_auto_calls where uniqueid = '$uniqueid' or callerid = '$callerid' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $rec_countCUSTDATA) + { + @aryA = $sthA->fetchrow_array; + $VD_lead_id = "$aryA[0]"; + $VD_callerid = "$aryA[1]"; + $VD_campaign_id = "$aryA[2]"; + $VD_alt_dial = "$aryA[3]"; + $VD_stage = "$aryA[4]"; + $VD_start_epoch = "$aryA[5]"; + $VD_uniqueid = "$aryA[6]"; + $VD_status = "$aryA[7]"; + $rec_countCUSTDATA++; + } + $sthA->finish(); + + if (!$rec_countCUSTDATA) + { + if ($AGILOG) {$agi_string = "VD hangup: no VDAC record found: $uniqueid $calleridname"; &agi_output;} + } + else + { + $stmtA = "DELETE FROM vicidial_auto_calls where ( ( (status!='IVR') and (uniqueid='$uniqueid' or callerid = '$callerid') ) or ( (status='IVR') and (uniqueid='$uniqueid') ) ) order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAC record deleted: |$affected_rows| |$VD_lead_id|$uniqueid|$VD_uniqueid|$VD_callerid|$ast_server_ip|$VD_status|"; &agi_output;} + + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmtA = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $enable_queuemetrics_logging = "$aryA[0]"; + $queuemetrics_server_ip = "$aryA[1]"; + $queuemetrics_dbname = "$aryA[2]"; + $queuemetrics_login= "$aryA[3]"; + $queuemetrics_pass = "$aryA[4]"; + $queuemetrics_log_id = "$aryA[5]"; + $rec_count++; + } + $sthA->finish(); + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $VD_agent='NONE'; + $secX = time(); + $VD_call_length = ($secX - $VD_start_epoch); + $VD_stage =~ s/.*-//gi; + if ($VD_stage < 0.25) {$VD_stage=0;} + + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "SELECT agent from queue_log where call_id='$VD_callerid' and verb='CONNECT';"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $sthBrows=$sthB->rows; + $rec_count=0; + while ($sthBrows > $rec_count) + { + @aryB = $sthB->fetchrow_array; + $VD_agent = "$aryB[0]"; + $rec_count++; + } + $sthB->finish(); + + if ($rec_count < 1) + { + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$VD_callerid',queue='$VD_campaign_id',agent='$VD_agent',verb='ABANDON',data1='1',data2='1',data3='$VD_stage',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + } + else + { + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$VD_callerid',queue='$VD_campaign_id',agent='$VD_agent',verb='COMPLETECALLER',data1='$VD_stage',data2='$VD_call_length',data3='1',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + } + + $dbhB->disconnect(); + } + + + $epc_countCUSTDATA=0; + $VD_closecallid=''; + $VDL_update=0; + $Euniqueid=$uniqueid; + $Euniqueid =~ s/\.\d+$//gi; + + if ($calleridname !~ /^Y\d\d\d\d/) + { + ########## FIND AND UPDATE vicidial_log ########## + $stmtA = "SELECT start_epoch,status,user,term_reason FROM vicidial_log FORCE INDEX(lead_id) where lead_id = '$VD_lead_id' and uniqueid LIKE \"$Euniqueid%\" limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + while ($sthArows > $epc_countCUSTDATA) + { + @aryA = $sthA->fetchrow_array; + $VD_start_epoch = "$aryA[0]"; + $VD_status = "$aryA[1]"; + $VD_user = "$aryA[2]"; + $VD_term_reason = "$aryA[3]"; + $epc_countCUSTDATA++; + } + $sthA->finish(); + } + + if ( (!$epc_countCUSTDATA) || ($calleridname =~ /^Y\d\d\d\d/) ) + { + if ($AGILOG) {$agi_string = "no VDL record found: $uniqueid $calleridname $VD_lead_id $uniqueid $VD_uniqueid"; &agi_output;} + + $secX = time(); + $Rtarget = ($secX - 21600); # look for VDCL entry within last 6 hours + ($Rsec,$Rmin,$Rhour,$Rmday,$Rmon,$Ryear,$Rwday,$Ryday,$Risdst) = localtime($Rtarget); + $Ryear = ($Ryear + 1900); + $Rmon++; + if ($Rmon < 10) {$Rmon = "0$Rmon";} + if ($Rmday < 10) {$Rmday = "0$Rmday";} + if ($Rhour < 10) {$Rhour = "0$Rhour";} + if ($Rmin < 10) {$Rmin = "0$Rmin";} + if ($Rsec < 10) {$Rsec = "0$Rsec";} + $RSQLdate = "$Ryear-$Rmon-$Rmday $Rhour:$Rmin:$Rsec"; + + $stmtA = "SELECT start_epoch,status,closecallid,user,term_reason,length_in_sec,queue_seconds FROM vicidial_closer_log where lead_id = '$VD_lead_id' and call_date > \"$RSQLdate\" order by call_date desc limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $epc_countCUSTDATA=0; + $VD_closecallid=''; + while ($sthArows > $epc_countCUSTDATA) + { + @aryA = $sthA->fetchrow_array; + $VD_start_epoch = "$aryA[0]"; + $VD_status = "$aryA[1]"; + $VD_closecallid = "$aryA[2]"; + $VD_user = "$aryA[3]"; + $VD_term_reason = "$aryA[4]"; + $VD_length_in_sec = "$aryA[5]"; + $VD_queue_seconds = "$aryA[6]"; + $epc_countCUSTDATA++; + } + $sthA->finish(); + } + if (!$epc_countCUSTDATA) + { + if ($AGILOG) {$agi_string = "no VDL or VDCL record found: $uniqueid $calleridname $VD_lead_id $uniqueid $VD_uniqueid"; &agi_output;} + } + else + { + $VD_seconds = ($now_date_epoch - $VD_start_epoch); + + $SQL_status=''; + if ($VD_status =~ /^NA$|^NEW$|^QUEUE$|^XFER$/) + { + if ( ($VD_term_reason !~ /AGENT|CALLER|QUEUETIMEOUT/) && ( ($VD_user =~ /VDAD|VDCL/) || (length($VD_user) < 1) ) ) + {$VDLSQL_term_reason = "term_reason='ABANDON',";} + else + { + if ($VD_term_reason !~ /AGENT|CALLER|QUEUETIMEOUT/) + {$VDLSQL_term_reason = "term_reason='CALLER',";} + else + {$VDLSQL_term_reason = '';} + } + $SQL_status = "status='DROP',$VDLSQL_term_reason"; + + ########## FIND AND UPDATE vicidial_list ########## + $stmtA = "UPDATE vicidial_list set status='DROP' where lead_id = '$VD_lead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$VD_lead_id"; &agi_output;} + } + else + { + $SQL_status = "term_reason='CALLER',"; + } + + if ($calleridname !~ /^Y\d\d\d\d/) + { + $VDL_update=1; + $stmtA = "UPDATE vicidial_log FORCE INDEX(lead_id) set $SQL_status end_epoch='$now_date_epoch',length_in_sec='$VD_seconds' where lead_id = '$VD_lead_id' and uniqueid LIKE \"$Euniqueid%\";"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $VLaffected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_log update: |$VLaffected_rows|$uniqueid|$VD_status|"; &agi_output;} + } + + + + ########## UPDATE vicidial_closer_log ########## + if ( (length($VD_closecallid) < 1) || ($VDL_update > 0) ) + { + if ($AGILOG) {$agi_string = "no VDCL record found: $uniqueid|$calleridname|$VD_lead_id|$uniqueid|$VD_uniqueid|$VDL_update|"; &agi_output;} + } + else + { + if ($VD_status =~ /^DONE$|^INCALL$|^XFER$/) + {$VDCLSQL_update = "term_reason='CALLER',";} + else + { + if ( ($VD_term_reason !~ /AGENT|CALLER|QUEUETIMEOUT/) && ( ($VD_user =~ /VDAD|VDCL/) || (length($VD_user) < 1) ) ) + {$VDCLSQL_term_reason = "term_reason='ABANDON',";} + else + { + if ($VD_term_reason !~ /AGENT|CALLER|QUEUETIMEOUT/) + {$VDCLSQL_term_reason = "term_reason='CALLER',";} + else + {$VDCLSQL_term_reason = '';} + } + if ($VD_status =~ /QUEUE/) + { + $VDCLSQL_status = "status='DROP',"; + $VDCLSQL_queue_seconds = "queue_seconds='$VD_seconds',"; + } + else + { + $VDCLSQL_status = ''; + $VDCLSQL_queue_seconds = ''; + } + + $VDCLSQL_update = "$VDCLSQL_status$VDCLSQL_term_reason$VDCLSQL_queue_seconds"; + } + + $VD_seconds = ($now_date_epoch - $VD_start_epoch); + $stmtA = "UPDATE vicidial_closer_log set $VDCLSQL_update end_epoch='$now_date_epoch',length_in_sec='$VD_seconds' where closecallid = '$VD_closecallid';"; + if ($AGILOG) {$agi_string = "|$VDCLSQL_update|$VD_status|$VD_length_in_sec|$VD_term_reason|$VD_queue_seconds|\n|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL update: |$affected_rows|$uniqueid|$VD_closecallid|"; &agi_output;} + + } + } + + ##### BEGIN AUTO ALT PHONE DIAL SECTION ##### + ### check to see if campaign has alt_dial enabled + $VD_auto_alt_dial = 'NONE'; + $VD_auto_alt_dial_statuses=''; + $stmtA="SELECT auto_alt_dial,auto_alt_dial_statuses FROM vicidial_campaigns where campaign_id='$VD_campaign_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $epc_countCAMPDATA=0; + while ($sthArows > $epc_countCAMPDATA) + { + @aryA = $sthA->fetchrow_array; + $VD_auto_alt_dial = "$aryA[0]"; + $VD_auto_alt_dial_statuses = "$aryA[1]"; + $epc_countCAMPDATA++; + } + $sthA->finish(); + if ($VD_auto_alt_dial_statuses =~ / $VD_status | $VDL_status /) + { + if ( ($VD_auto_alt_dial =~ /(ALT_ONLY|ALT_AND_ADDR3)/) && ($VD_alt_dial =~ /NONE|MAIN/) ) + { + $VD_alt_phone=''; + $stmtA="SELECT alt_phone,gmt_offset_now,state,list_id FROM vicidial_list where lead_id='$VD_lead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $epc_countCAMPDATA=0; + while ($sthArows > $epc_countCAMPDATA) + { + @aryA = $sthA->fetchrow_array; + $VD_alt_phone = "$aryA[0]"; + $VD_alt_phone =~ s/\D//gi; + $VD_gmt_offset_now = "$aryA[1]"; + $VD_state = "$aryA[2]"; + $VD_list_id = "$aryA[3]"; + $epc_countCAMPDATA++; + } + $sthA->finish(); + if (length($VD_alt_phone)>5) + { + $stmtA = "INSERT INTO vicidial_hopper SET lead_id='$VD_lead_id',campaign_id='$VD_campaign_id',status='READY',list_id='$VD_list_id',gmt_offset_now='$VD_gmt_offset_now',state='$VD_state',alt_dial='ALT',user='',priority='25';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDH record inserted: |$affected_rows| |$stmtA|"; &agi_output;} + } + } + if ( ( ($VD_auto_alt_dial =~ /(ADDR3_ONLY)/) && ($VD_alt_dial =~ /NONE|MAIN/) ) || ( ($VD_auto_alt_dial =~ /(ALT_AND_ADDR3)/) && ($VD_alt_dial =~ /ALT/) ) ) + { + $VD_address3=''; + $stmtA="SELECT address3,gmt_offset_now,state,list_id FROM vicidial_list where lead_id='$VD_lead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $epc_countCAMPDATA=0; + while ($sthArows > $epc_countCAMPDATA) + { + @aryA = $sthA->fetchrow_array; + $VD_address3 = "$aryA[0]"; + $VD_address3 =~ s/\D//gi; + $VD_gmt_offset_now = "$aryA[1]"; + $VD_state = "$aryA[2]"; + $VD_list_id = "$aryA[3]"; + $epc_countCAMPDATA++; + } + $sthA->finish(); + if (length($VD_address3)>5) + { + $stmtA = "INSERT INTO vicidial_hopper SET lead_id='$VD_lead_id',campaign_id='$VD_campaign_id',status='READY',list_id='$VD_list_id',gmt_offset_now='$VD_gmt_offset_now',state='$VD_state',alt_dial='ADDR3',user='',priority='20';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDH record inserted: |$affected_rows| |$stmtA|"; &agi_output;} + } + } + } + ##### END AUTO ALT PHONE DIAL SECTION ##### + } + + } + + $dbhA->disconnect(); + + } + } + ################################################################### + ##### END call_log process ######################################## + ################################################################### + + + + + + ################################################################### + ##### START VD_hangup process ##################################### + ################################################################### + if ($process =~ /^VD_hangup/) + { + $nothing=0; + } + ################################################################### + ##### END VD_hangup process ####################################### + ################################################################### + + +} + + +VDfastAGI->run( + port=>4577, + user=>'root', + group=>'root', + min_servers=>$VARfastagi_log_min_servers, + max_servers=>$VARfastagi_log_max_servers, + min_spare_servers=>$VARfastagi_log_min_spare_servers, + max_spare_servers=>$VARfastagi_log_max_spare_servers, + max_requests=>$VARfastagi_log_max_requests, + check_for_dead=>$VARfastagi_log_checkfordead, + check_for_waiting=>$VARfastagi_log_checkforwait, + log_file=>$childLOGfile, + log_level=>$log_level + ); +exit; + + + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$process|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + { + print STDERR "$now_date|$script|$process|$agi_string\n"; + } +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/experimental/convert_latin1_db_to_utf8.sh b/agc_2-X/branches/agc_2.0.5/experimental/convert_latin1_db_to_utf8.sh new file mode 100644 index 00000000..30247b83 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/experimental/convert_latin1_db_to_utf8.sh @@ -0,0 +1,61 @@ +#!/bin/bash + +####################################################################### +# # +# convert_latin1_db_to_utf8.sh Version 0.0.1 # +# # +# Converts an existing latin1 mysql database into utf8 # +# # +# Copyright (C) 2008 Michael Cargile, Vicidial Group Inc. # +# # +# 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: # +# Free Software Foundation, Inc. # +# 51 Franklin Street # +# Fifth Floor # +# Boston, MA 02110-1301, USA. # +# # +####################################################################### + +if [ "$1" == "--help" ] +then + echo "Converts an existing latin1 mysql database into utf8" + echo "usage:" + echo "convert_latin1_db_to_utf8.sh database database_host data_user database_password" + + exit +fi + +DBNAME=$1 +DBHOST=$2 +DBUSER=$3 +DBPASS=$4 + +MYDUMP=`which mysqldump` +MYSQL=`which mysql` +ICONV=`which iconv` + +FILE="back_up.sql" +FILEUTF8="back_up_uft8.sql" + +`$MYSQLDUMP -h $DBHOST -u $DBUSER --password=$DBPASS --default-character-set=latin1 -c --insert-ignore --skip-set-charset $DBNAME > $FILE` + +`$ICONV -f ISO-8859-1 -t UTF-8 $FILE > $FILEUTF8` + +`$MYSQL -h $DBHOST -u $DBUSER --password=$DBPASS --execute="DROP DATABASE $DBNAME; CREATE DATABASE $DBNAME CHARACTER SET utf8 COLLATE utf8_general_ci;"` + +`$MYSQL -h $DBHOST -u $DBUSER --password=$DBPASS --max_allowed_packet=16M -p --default-character-set=utf8 $DBNAME < $FILEUTF8` + +# Uncomment the next two lines to delete the backup and the converted backup +#rm $FILE +#rm $FILEUTF8 diff --git a/agc_2-X/branches/agc_2.0.5/extras/1.2-gsm-gcc4.2.patch b/agc_2-X/branches/agc_2.0.5/extras/1.2-gsm-gcc4.2.patch new file mode 100644 index 00000000..b7203076 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/1.2-gsm-gcc4.2.patch @@ -0,0 +1,18 @@ +diff -Naur asterisk-1.2.26.orig/codecs/gsm/Makefile asterisk-1.2.26/codecs/gsm/Makefile +--- asterisk-1.2.26.orig/codecs/gsm/Makefile 2006-07-24 13:05:56.000000000 -0400 ++++ asterisk-1.2.26/codecs/gsm/Makefile 2008-01-15 13:21:38.000000000 -0500 +@@ -37,6 +37,14 @@ + ######### ppro's, etc, as well as the AMD K6 and K7. The compile will + ######### probably require gcc. + ++# Due to the gsm codec beeing broken when compiled with gcc version 4.2 ++# and optimization higher than -O2 we are checking for that version and ++# set the optimization to -O2 in this case. ++ ++ifeq ($(shell gcc -v 2>&1 | grep "gcc version" | cut -c 13-16 ),4.2.) ++OPTIMIZE=-O2 ++endif ++ + ifneq (${OSARCH},Darwin) + ifneq (${OSARCH},SunOS) + ifneq (${PROC},x86_64) diff --git a/agc_2-X/branches/agc_2.0.5/extras/1.4_gsm_gcc4.2.patch b/agc_2-X/branches/agc_2.0.5/extras/1.4_gsm_gcc4.2.patch new file mode 100644 index 00000000..c227439e --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/1.4_gsm_gcc4.2.patch @@ -0,0 +1,18 @@ +diff -Naur asterisk-1.4.17.orig/codecs/gsm/Makefile asterisk-1.4.17/codecs/gsm/Makefile +--- asterisk-1.4.17.orig/codecs/gsm/Makefile 2007-02-16 19:31:42.000000000 -0500 ++++ asterisk-1.4.17/codecs/gsm/Makefile 2008-01-15 13:23:37.000000000 -0500 +@@ -37,6 +37,14 @@ + ######### ppro's, etc, as well as the AMD K6 and K7. The compile will + ######### probably require gcc. + ++# Due to the gsm codec beeing broken when compiled with gcc version 4.2 ++# and optimization higher than -O2 we are checking for that version and ++# set the optimization to -O2 in this case. ++ ++ifeq ($(shell gcc -v 2>&1 | grep "gcc version" | cut -c 13-16 ),4.2.) ++OPTIMIZE=-O2 ++endif ++ + ifeq (, $(findstring $(OSARCH) , Darwin SunOS )) + ifeq (, $(findstring $(PROC) , x86_64 amd64 ultrasparc sparc64 arm armv5b armeb ppc powerpc ppc64 ia64 s390 bfin mipsel )) + ifeq (, $(findstring $(shell uname -m) , ppc ppc64 alpha armv4l s390 )) diff --git a/agc_2-X/branches/agc_2.0.5/extras/AUS_zipcode_ranges.txt b/agc_2-X/branches/agc_2.0.5/extras/AUS_zipcode_ranges.txt new file mode 100644 index 00000000..af434eb0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/AUS_zipcode_ranges.txt @@ -0,0 +1,14 @@ +ACT|0200|0399 +NT|0800|0999 +NSW|1000|2599 +ACT|2600|2618 +NSW|2619|2899 +ACT|2900|2920 +NSW|2921|2999 +VIC|3000|3999 +QLD|4000|4999 +SA|5000|5999 +WA|6000|6999 +TAS|7000|7999 +VIC|8000|8999 +QLD|9000|9999 \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/extras/Asterisk.pm b/agc_2-X/branches/agc_2.0.5/extras/Asterisk.pm new file mode 100644 index 00000000..15ecd4a8 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/Asterisk.pm @@ -0,0 +1,20 @@ +package Asterisk; + +require 5.004; + +$VERSION = '0.08'; + +sub version { $VERSION; } + +sub new { + my ($class, %args) = @_; + my $self = {}; + $self->{configfile} = undef; + $self->{config} = {}; + bless $self, ref $class || $class; + return $self; +} + +sub DESTROY { } + +1; diff --git a/agc_2-X/branches/agc_2.0.5/extras/Asterisk/AGI.pm b/agc_2-X/branches/agc_2.0.5/extras/Asterisk/AGI.pm new file mode 100644 index 00000000..b1680ea6 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/Asterisk/AGI.pm @@ -0,0 +1,685 @@ +package Asterisk::AGI; + +require 5.004; + +use Asterisk; + +@ISA = ( 'Asterisk' ); + +=head1 NAME + +Asterisk::AGI - Simple Asterisk Gateway Interface Class + +=head1 SYNOPSIS + +use Asterisk::AGI; + +$AGI = new Asterisk::AGI; + +# pull AGI variables into %input + + %input = $AGI->ReadParse(); + +# say the number 1984 + + $AGI->say_number(1984); + +=head1 DESCRIPTION + +This module should make it easier to write scripts that interact with the +asterisk open source pbx via AGI (asterisk gateway interface) + +=head1 AGI COMMANDS + +=cut + +sub new { + my ($class, %args) = @_; + my $self = {}; + $self->{'callback'} = undef; + $self->{'status'} = undef; + $self->{'lastresponse'} = undef; + bless $self, ref $class || $class; + return $self; +} + +sub ReadParse { + my ($self, $fh) = @_; + + my %input = (); + + $fh = \*STDIN if (!$fh); + + while (<$fh>) { + chomp; + last unless length($_); + if (/^agi_(\w+)\:\s+(.*)$/) { + $input{$1} = $2; + } + } + + + if (defined($DEBUG)&&($DEBUG>0)) { + print STDERR "AGI Environment Dump:\n"; + foreach $i (sort keys %input) { + print STDERR " -- $i = $input{$i}\n"; + } + } + + return %input; +} + +sub setcallback { + my ($self, $function) = @_; + + if (defined($function) && ref($function) eq 'CODE') { + $self->{'callback'} = $function; + } +} + +sub callback { + my ($self, $result) = @_; + + if (defined($self->{'callback'}) && ref($self->{'callback'}) eq 'CODE') { + &{$self->{'callback'}}($result); + } +} + +sub execute { + my ($self, $command) = @_; + + $self->_execcommand($command); + my $res = $self->_readresponse(); + + return $self->_checkresult($res); +} + +sub _execcommand { + my ($self, $command, $fh) = @_; + + $fh = \*STDOUT if (!$fh); + + select ((select ($fh), $| = 1)[0]); + + return -1 if (!defined($command)); + + return print $fh "$command\n"; +} + +sub _readresponse { + my ($self, $fh) = @_; + + my $response = undef; + $fh = \*STDIN if (!$fh); + $response = <$fh> || return '200 result=-1 (noresponse)'; + chomp($response); + return $response; +} + +sub _checkresult { + my ($self, $response) = @_; + + return undef if (!defined($response)); + my $result = undef; + + $self->_lastresponse($response); + if ($response =~ /^200/) { + if ($response =~ /result=(-?[\d*#]+)/) { + $result = $1; + } + } elsif ($response =~ /\(noresponse\)/) { + $self->_status('noresponse'); + } else { + print STDERR "Unexpected result '$response'\n" if (defined($DEBUG) && $DEBUG); + } + print STDERR "_checkresult($response) = $result\n" if (defined($DEBUG) && $DEBUG>3); + + return $result; +} + +sub _status { + my ($self, $status) = @_; + + if (defined($status)) { + $self->{'status'} = $status; + } else { + return $self->{'status'}; + } +} + +sub _lastresponse { + my ($self, $response) = @_; + + if (defined($response)) { + $self->{'lastresponse'} = $response; + } else { + return $self->{'lastresponse'}; + } +} + +=over 4 + +=item $AGI->stream_file($filename, $digits) + +Executes AGI Command "STREAM FILE $filename $digits" + +This command instructs Asterisk to play the given sound file and listen for the given dtmf digits. The +fileextension must not be used in the filename because Asterisk will find the most appropriate file +type. + +Example: $AGI->stream_file('demo-echotest', '0123'); + +Returns: -1 on error or hangup, +0 if playback completes without a digit being pressed, +or the ASCII numerical value of the digit if a digit was pressed + +=cut + +sub stream_file { + my ($self, $filename, $digits) = @_; + + my $ret = 0; + + $digits = '""' if (!defined($digits)); + + return -1 if (!defined($filename)); + $ret = $self->execute("STREAM FILE $filename $digits"); + + $self->callback($ret) if ($ret == -1); + + return $ret; +} + +=item $AGI->send_text($text) + +Executes AGI Command "SEND TEXT "$text" + +Sends the given text on a channel. Most channels do not support the transmission of text. + +Example: $AGI->send_text('You've got mail!'); + +Returns: -1 on error or hangup, +0 if the text was sent or if the channel does not support text transmission. + +=cut + +sub send_text { + my ($self, $text) = @_; + + my $ret = 0; + + return $ret if (!defined($text)); + $ret = $self->execute("SEND TEXT \"$text\""); + $self->callback($ret) if ($ret == -1); + + return $ret; +} + +=item $AGI->send_image($image) + +Executes AGI Command "SEND IMAGE $image + +Sends the given image on a channel. Most channels do not support the transmission of images. + +Example: $AGI->send_image('image.png'); + +Returns: -1 on error or hangup, +0 if the image was sent or if the channel does not support image transmission. + +=cut + +sub send_image { + my ($self, $image) = @_; + + my $ret = 0; + return -1 if (!defined($image)); + + $ret = $self->execute("SEND IMAGE $image"); + $self->callback($ret) if ($ret == -1); + + return $ret; +} + +=item $AGI->say_number($number, $digits) + +Executes AGI Command "SAY NUMBER $number $digits" + +Says the given $number, returning early if any of the $digits are received. + +Example: $AGI->say_number('98765'); + +Returns: -1 on error or hangup, +0 if playback completes without a digit being pressed, +or the ASCII numerical value of the digit of one was pressed. + +=cut + +sub say_number { + my ($self, $number, $digits) = @_; + + my $ret = 0; + + $digits = '""' if (!defined($digits)); + + return -1 if (!defined($number)); + $number =~ s/\D//g; + $ret = $self->execute("SAY NUMBER $number $digits"); + + $self->callback($ret) if ($ret == -1); + + return $ret; +} + +=item $AGI->say_digits($number, $digits) + +Executes AGI Command "SAY DIGITS $number $digits" + +Says the given digit string $number, returning early if any of the $digits are received. + +Example: $AGI->say_digits('8675309'); + +Returns: -1 on error or hangup, +0 if playback completes without a digit being pressed, +or the ASCII numerical value of the digit of one was pressed. + +=cut + +sub say_digits { + my ($self, $number, $digits) = @_; + + my $ret = 0; + $digits = '""' if (!defined($digits)); + + return -1 if (!defined($number)); + $number =~ s/\D//g; + $ret = $self->execute("SAY DIGITS $number $digits"); + $self->callback($ret) if ($ret == -1); + + return $ret; +} + +=item $AGI->answer() + +Executes AGI Command "ANSWER" + +Answers channel if not already in answer state + +Example: $AGI->answer(); + +Returns: -1 on channel failure, or +0 if successful + +=cut + +sub answer { + my ($self) = @_; + + my $ret = 0; + $ret = $self->execute('ANSWER'); + $self->callback($ret) if ($ret == -1); + + return $ret; + +} + +=item $AGI->get_data($filename, $timeout, $maxdigits) + +Executes AGI Command "GET DATA $filename $timeout $maxdigits" + +Streams $filename and returns when $maxdigits have been received or +when $timeout has been reached. Timeout is specified in ms + +Example: $AGI->get_data('demo-welcome', 15000, 5); + +=cut + +sub get_data { + my ($self, $filename, $timeout, $maxdigits) = @_; + + my $ret = undef; + + return -1 if (!defined($filename)); + $ret = $self->execute("GET DATA $filename $timeout $maxdigits"); + $self->callback($ret) if ($ret == -1); + + return $ret; +} + +=item $AGI->set_callerid($number) + +Executes AGI Command "SET CALLERID $number" + +Changes the callerid of the current channel to + +Example: $AGI->set_callerid('9995551212'); + +Returns: Always returns 1 + +=cut + +sub set_callerid { + my ($self, $number) = @_; + + return if (!defined($number)); + return $self->execute("SET CALLERID $number"); +} + +=item $AGI->set_context($context) + +Executes AGI Command "SET CONTEXT $context" + +Changes the context for continuation upon exiting the agi application + +Example: $AGI->set_context('dialout'); + +Returns: Always returns 0 + +=cut + +sub set_context { + my ($self, $context) = @_; + + return -1 if (!defined($context)); + return $self->execute("SET CONTEXT $context"); +} + +=item $AGI->set_extension($extension) + +Executes AGI Command "SET EXTENSION $extension" + +Changes the extension for continuation upon exiting the agi application + +Example: $AGI->set_extension('7'); + +Returns: Always returns 0 + +=cut + +sub set_extension { + my ($self, $extension) = @_; + + return -1 if (!defined($extension)); + return $self->execute("SET EXTENSION $extension"); +} + +=item $AGI->set_priority($priority) + +Executes AGI Command "SET PRIORITY $priority" + +Changes the priority for continuation upon exiting the agi application + +Example: $AGI->set_priority(1); + +Returns: Always returns 0 + +=cut + +sub set_priority { + my ($self, $priority) = @_; + + return -1 if (!defined($priority)); + return $self->execute("SET PRIORITY $priority"); +} + +sub receive_char { + my ($self, $timeout) = @_; + + my $ret = 0; +#wait forever if timeout is not set. is this the prefered default? + $timeout = 0 if (!defined($timeout)); + $ret = $self->execute("RECEIVE CHAR $timeout"); + $self->callback($ret) if ($ret == -1); + + return $ret; + +} + +sub tdd_mode { + my ($self, $mode) = @_; + + return 0 if (!defined($mode)); + return $self->execute("TDD MODE $mode"); +} + + +sub wait_for_digit { + my ($self, $timeout) = @_; + + my $ret = 0; + $timeout = -1 if (!defined($timeout)); + $ret = $self->execute("WAIT FOR DIGIT $timeout"); + + $self->callback($ret) if ($ret == -1); + + return $ret; +} + +sub record_file { + my ($self, $filename, $format, $digits, $timeout, $beep) = @_; + + my $ret = 0; + + return -1 if (!defined($filename)); + $digits = '""' if (!defined($digits)); + $ret = $self->execute("RECORD FILE $filename $format $digits $timeout"); + + $self->callback($ret) if ($ret == -1); + + return $ret; +} + +sub set_autohangup { + my ($self, $time) = @_; + + $time = 0 if (!defined($time)); + return $self->execute("SET AUTOHANGUP $time"); +} + +=item $AGI->hangup($channel) + +Executes AGI Command "HANGUP $channel" + +Hangs up the passed $channel, or the current channel if $channel is not passed. +It is left to the AGI script to exit properly, otherwise you could end up with zombies. + +Example: $AGI->hangup(); + +Returns: Always returns 1 + +=cut + +sub hangup { + my ($self, $channel) = @_; + + if ($channel) { + return $self->execute("HANGUP $channel"); + } else { + return $self->execute("HANGUP"); + } +} + +=item $AGI->exec($app, $options) + +Executes AGI Command "EXEC $app $options" + +The most powerful AGI command. Executes the given application passing the given options. + +Example: $AGI->exec('Dial', 'Zap/g2/8005551212'); + +Returns: -2 on failure to find application, or +whatever the given application returns + +=cut + +sub exec { + my ($self, $app, $options) = @_; + return -1 if (!defined($app)); + $options = '""' if (!defined($options)); + return $self->execute("EXEC $app $options"); +} + +sub channel_status { + my ($self, $channel) = @_; + + return $self->execute("CHANNEL STATUS $channel"); +} + +=item $AGI->set_variable($variable, $value) + +Executes AGI Command "SET VARIABLE $variable $value" + +Sets the channel variable to + +Example: $AGI->set_variable('status', 'authorized'); + +Returns: Always returns 1 + +=cut + +sub set_variable { + my ($self, $variable, $value) = @_; + + return $self->execute("SET VARIABLE $variable $value"); +} + +=item $AGI->get_variable($variable) + +Executes AGI Command "GET VARIABLE $variablename" + +Gets the channel variable + +Example: $AGI->get_variable('status'); + +Returns: The value of the variable, or undef if variable does not exist + +=cut + +sub get_variable { + my ($self, $variable) = @_; + + my $result = undef; + + if ($self->execute("GET VARIABLE $variable")) { + my $tempresult = $self->_lastresponse(); + if ($tempresult =~ /\((.*)\)/) { + $result = $1; + } + } + return $result; +} + +=item $AGI->verbose($message, $level) + +Executes AGI Command "VERBOSE $message $level" + +Logs $message with verboselevel $level + +Example: $AGI->verbose("System Crashed\n", 1); + +Returns: Always returns 1 + +=cut + + +sub verbose { + my ($self, $message, $level) = @_; + + return $self->execute("VERBOSE \"$message\" $level"); +} + +=item $AGI->database_get($family, $key) + +Executes AGI Command "DATABASE GET $family $key" + +Example: $var = $AGI->database_get('test', 'status'); + +Returns: The value of the variable, or undef if variable does not exist + +=cut + +sub database_get { + my ($self, $family, $key) = @_; + + my $result = undef; + + if ($self->execute("DATABASE GET $family $key")) { + my $tempresult = $self->_lastresponse(); + if ($tempresult =~ /\((.*)\)/) { + $result = $1; + } + } + return $result; +} + +=item $AGI->database_put($family, $key, $value) + +Executes AGI Command "DATABASE PUT $family $key $value" + +Set/modifes database entry / to + +Example: $AGI->database_put('test', 'status', 'authorized'); + +Returns: 1 on success, 0 otherwise + +=cut + +sub database_put { + my ($self, $family, $key, $value) = @_; + + return $self->execute("DATABASE PUT $family $key $value"); +} + +=item $AGI->database_del($family, $key) + +Executes AGI Command "DATABASE DEL $family $key" + +Removes database entry / + +Example: $AGI->database_del('test', 'status'); + +Returns: 1 on success, 0 otherwise + +=cut + +sub database_del { + my ($self, $family, $key) = @_; + + return $self->execute("DATABASE DEL $family $key"); +} + +=item $AGI->database_deltree($family, $key) + +Executes AGI Command "DATABASE DELTREE $family $key" + +Deletes a family or specific keytree within a family in the Asterisk database + +Example: $AGI->database_deltree('test', 'status'); +Example: $AGI->database_deltree('test'); + +Returns: 1 on success, 0 otherwise + +=cut + +sub database_deltree { + my ($self, $family, $key) = @_; + + return $self->execute("DATABASE DELTREE $family $key"); +} + +sub noop { + my ($self) = @_; + + return $self->execute("NOOP"); +} + +sub set_music { + my ($self, $mode, $class) = @_; + + return $self->execute("SET MUSIC $mode $class"); +} + +1; + +__END__ + +=back diff --git a/agc_2-X/branches/agc_2.0.5/extras/Asterisk/Manager.pm b/agc_2-X/branches/agc_2.0.5/extras/Asterisk/Manager.pm new file mode 100644 index 00000000..69d860a1 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/Asterisk/Manager.pm @@ -0,0 +1,412 @@ +package Asterisk::Manager; + +require 5.004; + +use Asterisk; +use IO::Socket; +use Digest::MD5; + +#use strict; +#use warnings; + +=head1 NAME + +Asterisk::Manager - Asterisk Manager Interface + +=head1 SYNOPSIS + +use Asterisk::Manager; + +my $astman = new Asterisk::Manager; + +$astman->user('username'); + +$astman->secret('test'); + +$astman->host('localhost'); + +$astman->connect || die "Could not connect to " . $astman->host . "!\n"; + +$astman->disconnect; + +=head1 DESCRIPTION + +This module provides a simple interface to the asterisk manager interface. + +=cut + +my $EOL = "\r\n"; +my $BLANK = $EOL x 2; + +my $VERSION = '0.01'; + +sub version { $VERSION; } + +sub new { + my ($class, %args) = @_; + + my $self = {}; + $self->{_CONNFD} = undef; + $self->{_PROTOVERS} = undef; + $self->{_ERRORSTR} = undef; + $self->{_HOST} = 'localhost'; + $self->{_PORT} = 5038; + $self->{_USER} = undef; + $self->{_SECRET} = undef; + $self->{_EVENTCB} = {}; + $self->{_DEBUG} = 0; + $self->{_CONNECTED} = 0; + bless $self, ref $class || $class; + return $self; +} + +sub DESTROY { } + +sub user { + my ($self, $user) = @_; + + if ($user) { + $self->{_USER} = $user; + } + + return $self->{_USER}; +} + +sub secret { + my ($self, $secret) = @_; + + if ($secret) { + $self->{_SECRET} = $secret; + } + + return $self->{_SECRET}; +} + +sub host { + my ($self, $host) = @_; + + if ($host) { + $self->{_HOST} = $host; + } + + return $self->{_HOST}; +} + +sub port { + my ($self, $port) = @_; + + if ($port) { + $self->{_PORT} = $port; + } + + return $self->{_PORT}; +} + +sub connected { + my ($self, $connected) = @_; + + if (defined($connected)) { + $self->{_CONNECTED} = $connected; + } + + return $self->{_CONNECTED}; +} + +sub error { + my ($self, $error) = @_; + + if ($error) { + $self->{_ERRORSTR} = $error; + } + + return $self->{_ERRORSTR}; +} + +sub debug { + my ($self, $debug) = @_; + + if ($debug) { + $self->{_DEBUG} = $debug; + } + + return $self->{_DEBUG}; +} + +sub connfd { + my ($self, $connfd) = @_; + + if ($connfd) { + $self->{_CONNFD} = $connfd; + } + + return $self->{_CONNFD}; +} + +sub read_response { + my ($self, $connfd) = @_; + + my @response; + + if (!$connfd) { + $connfd = $self->connfd; + } + + while (my $line = <$connfd>) { + last if ($line eq $EOL); + + if (wantarray) { + $line =~ s/$EOL//g; + push(@response, $line) if $line; + } else { + $response[0] .= $line; + } + + } + + return wantarray ? @response : $response[0]; +} + +sub connect { + my ($self) = @_; + + my $host = $self->host; + my $port = $self->port; + my $user = $self->user; + my $secret = $self->secret; + my %resp; + + my $conn = new IO::Socket::INET( Proto => 'tcp', + PeerAddr => $host, + PeerPort => $port + ); + if (!$conn) { + $self->error("Connection refused ($host:$port)\n"); + return undef; + } + + $conn->autoflush(1); + + my $input = <$conn>; + $input =~ s/$EOL//g; + + my ($manager, $version) = split('/', $input); + + if ($manager !~ /Asterisk Call Manager/) { + return $self->error("Unknown Protocol\n"); + } + + $self->{_PROTOVERS} = $version; + $self->connfd($conn); + + # check if the remote host supports MD5 Challenge authentication + my %authresp = $self->sendcommand( Action => 'Challenge', + AuthType => 'MD5' + ); + + if (($authresp{Response} eq 'Success')) { + # do md5 login + my $md5 = new Digest::MD5; + $md5->add($authresp{Challenge}); + $md5->add($secret); + my $digest = $md5->hexdigest; + %resp = $self->sendcommand( Action => 'Login', + AuthType => 'MD5', + Username => $user, + Key => $digest + ); + } else { + # do plain text login + %resp = $self->sendcommand( Action => 'Login', + Username => $user, + Secret => $secret + ); + + } + + if ( ($resp{Response} ne 'Success') && ($resp{Message} ne 'Authentication accepted') ) { + $self->error("Authentication failed for user $user\n"); + return undef; + } + + $self->connected(1); + + return $conn; +} + +sub astman_h2s { + my ($self, %thash) = @_; + + my $tstring = ''; + + foreach my $key (keys %thash) { + $tstring .= $key . ': ' . $thash{$key} . ${EOL}; + } + + return $tstring; +} + +sub astman_s2h { + my ($self, $tstring) = @_; + + my %thash; + + foreach my $line (split(/$EOL/, $tstring)) { + if ($line =~ /(\w*):\s*(\w*)/) { + $thash{$1} = $2; + } + } + + return %thash; +} + +#$want is how you want the data returned +#$want = 0 (default) returns the results in a hash +#$want = 1 returns the results in a large string +#$want = 2 returns the results in an array +sub sendcommand { + my ($self, %command, $want) = @_; + + if (!defined($want)) { + $want = 0; + } + + my $conn = $self->connfd || return; + my $cstring = $self->astman_h2s(%command); + + $conn->send("$cstring$EOL"); + + if ($want == 1) { + my $response = $self->read_response($conn); + return $response; + } + + my @resp = $self->read_response($conn); + + if ($want == 2) { + return @resp; + } else { + return map { split(': ', $_) } @resp; + } +} + +sub setcallback { + my ($self, $event, $function) = @_; + + if (defined($function) && ref($function) eq 'CODE') { + $self->{_EVENTCB}{$event} = $function; + } +} + +sub eventcallback { + my ($self, %resp) = @_; + + my $callback; + my $event = $resp{Event}; + + return if (!$event); + + if (defined($self->{_EVENTCB}{$event})) { + $callback = $self->{_EVENTCB}{$event}; + } elsif (defined($self->{_EVENTCB}{DEFAULT})) { + $callback = $self->{_EVENTCB}{DEFAULT}; + } else { + return; + } + + return &{$callback}(%resp); +} + +sub eventloop { + my ($self) = @_; + + while (1) { + $self->handleevent; + } +} + +sub handleevent { + my ($self) = @_; + + my %resp = map { split(': ', $_); } $self->read_response; + $self->eventcallback(%resp); + + return %resp; +} + +sub action { + my ($self, $command, $wanthash) = @_; + + return if (!$command); + + my $conn = $self->connfd || return; + + print $conn "Action: $command" . $BLANK; + my @resp = $self->read_response($conn); + + if ($wanthash) { + return map { split(': ', $_) } @resp; + } elsif (wantarray) { + return @resp; + } else { + return $resp[0]; + } +} + +sub command { + my ($self, $command) = @_; + + return if (!$command); + + return $self->sendcommand('Action' => 'Command', + 'Command' => $command, 1 ); +} + +sub monitor { + my ($self, $channel, $file) = @_; + + return if (!$channel); + + return $self->sendcommand('Action' => 'Monitor', + 'Channel' => $channel, + 'File' => $file, 1 ); +} + +sub changemonitor { + my ($self, $channel, $file) = @_; + + return if (!$channel); + + return $self->sendcommand('Action' => 'ChangeMonitor', + 'Channel' => $channel, + 'File' => $file, 1 ); +} + +sub stopmonitor { + my ($self, $channel, $file) = @_; + + return if (!$channel); + + return $self->sendcommand('Action' => 'StopMonitor', + 'Channel' => $channel, + 'File' => $file, 1 ); +} + + +sub disconnect { + my ($self) = @_; + + my $conn = $self->connfd; + + my %resp = $self->sendcommand('Action' => 'Logoff'); + + + if ($resp{Response} eq 'Goodbye') { + $self->{_CONNFD} = undef; + $self->connected(0); + return 1; + } + + return 0; +} + +1; diff --git a/agc_2-X/branches/agc_2.0.5/extras/Asterisk/Outgoing.pm b/agc_2-X/branches/agc_2.0.5/extras/Asterisk/Outgoing.pm new file mode 100644 index 00000000..6e128332 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/Asterisk/Outgoing.pm @@ -0,0 +1,110 @@ +package Asterisk::Outgoing; + +=head1 NAME + +Asterisk::Outgoing - Create outgoing call queue file + +=head1 SYNOPSIS + +use Asterisk::Outgoing; + +my $out = new Asterisk::Outgoing; + +$out->setvariable('Channel', 'Zap/1/'); + +$out->setvariable('MaxRetries', 0); + +$out->setvariable('RetryTime', 60); + +$out->setvariable('WaitTime', 60); + +$out->setvariable('Application', 'Playback'); + +$out->setvariable('Data', 'beep'); + +$out->create_outgoing; + +=cut + +require 5.004; + +use Fcntl ':flock'; +use Asterisk; +@ISA = ('Asterisk'); + +$VERSION = '0.01'; + +sub new { + my ($class, %args) = @_; + my $self = {}; + $self->{OUTDIR} = '/var/spool/asterisk/outgoing'; + $self->{OUTTIME} = undef; + $self->{OUTVARS} = {}; + $self->{ALLOWEDVARS} = [ 'channel', 'maxretries', 'retrytime', 'waittime', 'context', 'extension', 'priority', 'application', 'data', 'callerid' ]; + bless $self, ref $class || $class; + return $self; +} + +sub outdir { + my ($self, $dir) = @_; + + if (defined($dir)) { + $self->{OUTDIR} = $dir; + } + + return $self->{OUTDIR}; +} + +sub outtime { + my ($self, $time) = @_; + + if (defined($time)) { + $self->{OUTTIME} = $time; + } elsif (!defined($self->{OUTTIME})) { + $self->{OUTTIME} = time(); + } + + return $self->{OUTTIME}; +} + +sub checkvariable { + my ($self, $var) = @_; + + my $ret = 0; + + foreach $allowed (@{$self->{ALLOWEDVARS}}) { + if ($allowed =~ /$var/i) { + $ret = 1; + } + } + return $ret; +} + +sub setvariable { + my ($self, $var, $value) = @_; + + if ($self->checkvariable($var)) { + $self->{OUTVARS}{$var} = $value; + } +} + +sub create_outgoing { + my ($self) = @_; + + my $time = $self->outtime(); + + my $outdir = $self->outdir(); + my $filename = $outdir . '/' . $time . '.outgoing'; + open(OUTFILE, ">$filename") || return 0; + flock(OUTFILE, LOCK_EX); + utime($time, $time, $filename); + foreach my $var (keys %{$self->{OUTVARS}}) { + print OUTFILE "$var: " . $self->{OUTVARS}{$var} . "\n"; + } + flock(OUTFILE, LOCK_UN); + close(OUTFILE); + utime($time, $time, $filename); + return 1; +} + +1; diff --git a/agc_2-X/branches/agc_2.0.5/extras/Asterisk/QCall.pm b/agc_2-X/branches/agc_2.0.5/extras/Asterisk/QCall.pm new file mode 100644 index 00000000..25f75a9c --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/Asterisk/QCall.pm @@ -0,0 +1,61 @@ +package Asterisk::QCall; + +require 5.004; + +use Fcntl ':flock'; +use Asterisk; + +$VERSION = '0.01'; + +sub version { $VERSION; } + +sub new { + my ($class, %args) = @_; + my $self = {}; + $self->{QUEUEDIR} = '/var/spool/asterisk/qcall'; + $self->{QUEUETIME} = undef; + bless $self, ref $class || $class; + return $self; +} + +sub DESTROY { } + +sub queuedir { + my ($self, $dir) = @_; + + if (defined($dir)) { + $self->{QUEUEDIR} = $dir; + } + + return $self->{QUEUEDIR}; +} + +sub queuetime { + my ($self, $time) = @_; + + if (defined($time)) { + $self->{QUEUETIME} = $time; + } elsif (!defined($self->{QUEUETIME})) { + $self->{QUEUETIME} = time(); + } + + return $self->{QUEUETIME}; +} + +sub create_qcall { + my ($self, $dialstring, $callerid, $extension, $maxsecs, $identifier, $response) = @_; + + my $time = $self->queuetime(); + + my $queuedir = $self->queuedir(); + my $filename = $queuedir . '/' . $time . '.queue'; + open(QFILE, ">$filename") || return 0; + flock(QFILE, LOCK_EX); + print QFILE "$dialstring $callerid $extension $maxsecs $identifier $response"; + flock(QFILE, LOCK_UN); + close(QFILE); + my $ret = utime($time, $time, $filename); + return 1; +} + +1; diff --git a/agc_2-X/branches/agc_2.0.5/extras/Asterisk/Voicemail.pm b/agc_2-X/branches/agc_2.0.5/extras/Asterisk/Voicemail.pm new file mode 100644 index 00000000..780cef56 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/Asterisk/Voicemail.pm @@ -0,0 +1,261 @@ +package Asterisk::Voicemail; + +require 5.004; + +=head1 NAME + +Asterisk::Voicemail - Stuff to deal with asterisk voicemail + +=head1 SYNOPSIS + +This is not completed yet + +=head1 DESCRIPTION + +description + +=cut + +use Asterisk; + +@ISA = ( 'Asterisk' ); + +$VERSION = '0.01'; + +$DEBUG = 5; + +sub version { $VERSION; } + +sub new { + my ($class, %args) = @_; + my $self = {}; + bless $self, ref $class || $class; +# while (my ($key,$value) = each %args) { $self->set($key,$value); } + return $self; +} + +sub DESTROY { } + +sub spooldirectory { + my ($self, $directory) = @_; + + if (defined($directory)) { + $self->{'spooldirectory'} = $directory; + } else { + $self->{'spooldirectory'} = '/var/spool/asterisk/vm' if (!defined($self->{'spooldirectory'})); + } + + return $self->{'spooldirectory'}; +} + +sub sounddirectory { + my ($self, $directory) = @_; + + if (defined($directory)) { + $self->{'sounddirectory'} = $directory; + } else { + $self->{'sounddirectory'} = '/var/lib/asterisk/sounds' if (!defined($self->{'sounddirectory'})); + } + + return $self->{'sounddirectory'}; +} + +sub serveremail { + my ($self, $email) = @_; + + $self->{'serveremail'} = $email if (defined($email)); + + return $self->{'serveremail'}; +} + +sub format { + my ($self, @formats) = @_; + + if (@formats) { + $self->{'formats'} = @formats; + } + + return $self->{'formats'}; +} + +sub vmbox { + my ($self, $vmbox, $vmpass, $vmfn, $vmemail) = @_; + + if (defined($vmbox) && (defined($vmpass) || defined($vmfn) || defined($vmemail)) ) { + $self->{'vmbox'}{$vmbox}{'pass'} = $vmpass if (defined($vmpass)); + $self->{'vmbox'}{$vmbox}{'fn'} = $vmfn if (defined($vmfn)); + $self->{'vmbox'}{$vmbox}{'email'} = $vmemail if (defined($vmemail)); + } elsif (defined($vmbox)) { + return ($self->{'vmbox'}{$vmbox}{'pass'}, + $self->{'vmbox'}{$vmbox}{'fn'}, + $self->{'vmbox'}{$vmbox}{'email'} ); + } + +} + +sub getfolders { + my ($self, $vmbox) = @_; + + my @folders = (); + + my $spool = $self->spooldirectory(); + + foreach $file (<$spool/$vmbox/*>) { + if ( -d $file ) { + $file =~ s/$spool\/$vmbox\///; + push(@folders, $file); + } + } + return @folders; +} + +sub configfile { + my ($self, $configfile) = @_; + + if (defined($configfile)) { + $self->{'configfile'} = $configfile; + } else { + $self->{'configfile'} = '/etc/asterisk/voicemail.conf' if (!defined($self->{'configfile'})); + } + + return $self->{'configfile'}; +} + +sub readconfig { + my ($self) = @_; + + my $context = ''; + my $line = ''; + + my $configfile = $self->configfile(); + + open(CF, "<$configfile") || die "Error loading $configfile: $!\n"; + while ($line = ) { + chop($line); + + $line =~ s/;.*$//; + $line =~ s/\s*$//; + + if ($line =~ /^;/) { + next; + } elsif ($line =~ /^\s*$/) { + next; + } elsif ($line =~ /^\[(\w+)\]$/) { + $context = $1; + print STDERR "Context: $context\n" if ($DEBUG>3); + } elsif ($line =~ /^format\s*[=>]+\s*(.*)/) { + my $formats = $1; + $self->format(split(/|/, $formats)); + } elsif ($line =~ /^serveremail\s*[=>]+\s*(.*)/) { + $self->serveremail($1); + } elsif ($line =~ /^(\d+)\s*[=>]+\s*(.*)/) { + my $vmbox = $1; + my $vmstr = $2; + my ($vmpass, $vmfn, $vmemail) = split(/,/, $vmstr); + print STDERR "VM BOX ($vmbox)\n" if ($DEBUG>3); + $self->vmbox($vmbox, $vmpass, $vmfn, $vmstr); + } else { + print STDERR "Unknown line: $line\n" if ($DEBUG); + } + } + + close(CF); +} + +sub appendsoundfile { + my ($self, $source, $dest) = @_; + + open(IN, "<$source") || return 0; + open(OUT, ">>$dest") || return 0; + while () { + print OUT $_; + } + close(IN); + close(OUT); + return 1; +} + +sub validmailbox { + my ($self, $vmbox) = @_; + + return 1 if ($self->vmbox($vmbox)); + return 0; +} + +sub msgcount { + my ($self, $vmbox, $folder) = @_; + + my $count = 0; + + return $count if (!defined($vmbox) || !defined($folder)); + + my $spool = $self->spooldirectory() . '/' . $vmbox . '/' . $folder; + + if (opendir(DIR, $spool)) { + my @msgs = grep(/^msg.*\.txt$/, readdir(DIR)); + $count = $#msgs+1; + closedir(DIR); + } + return $count; +} + +sub msgcountstr { + my ($self, $vmbox, $folder) = @_; + + my $count = $self->msgcount($vmbox, $folder); + + if ($count > 1) { + return "$count messages"; + } elsif ($count > 0) { + return "$count message"; + } else { + return "no messages"; + } +} + +sub createdefaultmailbox { + my ($self, $vmbox) = @_; + + my $spool = $self->spooldirectory(); + my $sounddir = $self->sounddirectory(); + + my $vmdir = "$spool/$vmbox"; + + + if ( -d $vmdir ) { + print STDERR "Directory already exists: $vmdir\n" if ($DEBUG); + } else { + mkdir($vmdir, 0755) || return 0; + mkdir("$vmdir/INBOX", 0755) || return 0; + } + + $self->appendsoundfile("$sounddir/vm-theperson.gsm", "$vmdir/unavail.gsm"); + $self->appendsoundfile("$sounddir/vm-theperson.gsm", "$vmdir/busy.gsm"); + $self->appendsoundfile("$sounddir/vm-extension.gsm", "$vmdir/greet.gsm"); + + foreach $chr (split(//, $vmbox)) { + $self->appendsoundfile("$sounddir/digits/$chr.gsm", "$vmdir/unavail.gsm"); + $self->appendsoundfile("$sounddir/digits/$chr.gsm", "$vmdir/busy.gsm"); + $self->appendsoundfile("$sounddir/digits/$chr.gsm", "$vmdir/greet.gsm"); + } + + $self->appendsoundfile("$sounddir/vm-isunavail.gsm", "$vmdir/unavail.gsm"); + $self->appendsoundfile("$sounddir/vm-isonphone.gsm", "$vmdir/busy.gsm"); + + return 1; +} + +sub messages { + my ($self, $messages, $folder) = @_; + + my $path = $self->spooldirectory() . '/' . $mailbox . '/' . $folder; + if (opendir(DIR, $path)) { + my @msgs = sort grep(/^msg....\.txt$/, readdir(DIR)); + closedir(DIR); + return map { s/^msg(....)\.txt$/$1/; $_ } @msgs; + } + return (); +} + +1; + diff --git a/agc_2-X/branches/agc_2.0.5/extras/Changed_meetme_sounds.txt b/agc_2-X/branches/agc_2.0.5/extras/Changed_meetme_sounds.txt new file mode 100644 index 00000000..579fd731 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/Changed_meetme_sounds.txt @@ -0,0 +1,37 @@ +* Changed Meetme Sounds in Asterisk 2007-07-27 + + +For some reason, possibly effeciency, the enter and leave sounds that you hear in standard Asterisk meetme rooms are actually hex dumps of RAW ULAW 8bit audio that have been compiled into the code of Asterisk in a header file. This makes them somewhat difficult to change, especially since there are no instructions. + +This should slightly reduce time that it takes for calls to get to agents, as well as reduce the time of the locks that occur when these sounds are played in Asterisk. The new enter and leave sounds I include with VICIDIAL are 0.12 and 0.13 seconds respectively as compared to the default sounds which are more than double that. + + +Here are the steps I went to to change the meetme enter and leave sounds: + + +1. grab the source audio file you want and open it in your favorite editor + - In my case I tweaked the audio I used for the app_conference build I made and shrunk them a bit until they were at most, half the length as the Asterisk default sounds they would be replacing + + +2. Save the audio as 8-bit, 8k ULAW audio and save as .raw + + +3. used "hexdump" to dump the audio file into two-character hex chunks + /usr/bin/hexdump -C ./enter.raw + - I'm sure this could be made prettier with the proper formatting strings, but I didn't have time for that + - Here's some of the output: + + 00000000 d6 dc 55 5f 63 67 f0 f0 74 75 d6 ee 5d 73 66 60 |U_cgtu]sf`| + 00000010 dc fd 62 68 5b 5a 57 5e 5b 5c ef fc 4d 51 57 4c |bh[ZW^[\MQWL| + 00000020 5d 66 60 51 6c 5f 3e 4d 59 47 72 e4 52 53 58 48 |]f`Ql_>MYGrRSXH| + + +4. Used favorite text edotor to format the data properly: + - 60 character length lines comma-space separated in the same format as enter.h and leave.h were in. Don't forget the header and footer to this raw hex audio, they are important + + 0xd6, 0xdc, 0x55, 0x5f, 0x63, 0x67, 0xf0, 0xf0, 0x74, 0x75, + 0xd6, 0xee, 0x5d, 0x73, 0x66, 0x60, 0xdc, 0xfd, 0x62, 0x68, + 0x5b, 0x5a, 0x57, 0x5e, 0x5b, 0x5c, 0xef, 0xfc, 0x4d, 0x51, + +5. Copied the new enter.h and leave.h files over the old ones, and compile Asterisk + diff --git a/agc_2-X/branches/agc_2.0.5/extras/GMT_notes.txt b/agc_2-X/branches/agc_2.0.5/extras/GMT_notes.txt new file mode 100644 index 00000000..76f75cc4 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/GMT_notes.txt @@ -0,0 +1,28 @@ +Daylight Savings Time(Summer Time) Schemes + +These are all of the Schemes for changing of the GMT offset within different geographic areas. Some of these schemes will change frequently. + +The first column is one country that is using the scheme +The seconds colum is the code for the scheme +The third column explains the scheme + +NORTHERN HEMISPHERE +* USA-Canada SSM-FSN Second Sunday March to First Sunday November +* Mexico FSA-LSO First Sunday April to Last Sunday October +* Europe LSM-LSO Last Sunday March to Last Sunday October European Summer Time +Egypt LTA-LTS Last Thursday April to Last Thursday September +Iraq FDA-FDO First day of April to the first day of October +Israel LFM-TSS *changes every year* Last Friday March to First Sunday September + +SOUTHERN HEMISPHERE +Namibia FSS-FSA First Sunday September to first sunday April +Falkland Isls FSS-TSA First Sunday September to Third Sunday April +Uruguay FSO-SSM First Sunday October to Second Sunday March +Chile SSO-SSM Second Saturday October to Second Saturday March +* Australia LSO-LSM Last Sunday October to Last Sunday March +* AUS-Taz FSO-LSM First Sunday October to Last Sunday March +* New Zealand FSO-TSM First Sunday October to Third Sunday March +* Brazil TSO-LSF Third Sunday October to Last Sunday February + + +* notes inclusion into ADMIN_adjust_GMTnow_on_leads.pl script diff --git a/agc_2-X/branches/agc_2.0.5/extras/MySQL_AST_CREATE_tables.sql b/agc_2-X/branches/agc_2.0.5/extras/MySQL_AST_CREATE_tables.sql new file mode 100644 index 00000000..fc699c9f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/MySQL_AST_CREATE_tables.sql @@ -0,0 +1,1539 @@ +CREATE TABLE phones ( +extension VARCHAR(100), +dialplan_number VARCHAR(20), +voicemail_id VARCHAR(10), +phone_ip VARCHAR(15), +computer_ip VARCHAR(15), +server_ip VARCHAR(15), +login VARCHAR(15), +pass VARCHAR(10), +status VARCHAR(10), +active ENUM('Y','N'), +phone_type VARCHAR(50), +fullname VARCHAR(50), +company VARCHAR(10), +picture VARCHAR(19), +messages INT(4), +old_messages INT(4), +protocol ENUM('SIP','Zap','IAX2','EXTERNAL') default 'SIP', +local_gmt VARCHAR(6) default '-5', +ASTmgrUSERNAME VARCHAR(20) default 'cron', +ASTmgrSECRET VARCHAR(20) default '1234', +login_user VARCHAR(20), +login_pass VARCHAR(20), +login_campaign VARCHAR(10), +park_on_extension VARCHAR(10) default '8301', +conf_on_extension VARCHAR(10) default '8302', +VICIDIAL_park_on_extension VARCHAR(10) default '8301', +VICIDIAL_park_on_filename VARCHAR(10) default 'park', +monitor_prefix VARCHAR(10) default '8612', +recording_exten VARCHAR(10) default '8309', +voicemail_exten VARCHAR(10) default '8501', +voicemail_dump_exten VARCHAR(20) default '85026666666666', +ext_context VARCHAR(20) default 'default', +dtmf_send_extension VARCHAR(100) default 'local/8500998@default', +call_out_number_group VARCHAR(100) default 'Zap/g2/', +client_browser VARCHAR(100) default '/usr/bin/mozilla', +install_directory VARCHAR(100) default '/usr/local/perl_TK', +local_web_callerID_URL VARCHAR(255) default 'http://astguiclient.sf.net/test_callerid_output.php', +VICIDIAL_web_URL VARCHAR(255) default 'http://astguiclient.sf.net/test_VICIDIAL_output.php', +AGI_call_logging_enabled ENUM('0','1') default '1', +user_switching_enabled ENUM('0','1') default '1', +conferencing_enabled ENUM('0','1') default '1', +admin_hangup_enabled ENUM('0','1') default '0', +admin_hijack_enabled ENUM('0','1') default '0', +admin_monitor_enabled ENUM('0','1') default '1', +call_parking_enabled ENUM('0','1') default '1', +updater_check_enabled ENUM('0','1') default '1', +AFLogging_enabled ENUM('0','1') default '1', +QUEUE_ACTION_enabled ENUM('0','1') default '1', +CallerID_popup_enabled ENUM('0','1') default '1', +voicemail_button_enabled ENUM('0','1') default '1', +enable_fast_refresh ENUM('0','1') default '0', +fast_refresh_rate INT(5) default '1000', +enable_persistant_mysql ENUM('0','1') default '0', +auto_dial_next_number ENUM('0','1') default '1', +VDstop_rec_after_each_call ENUM('0','1') default '1', +DBX_server VARCHAR(15), +DBX_database VARCHAR(15) default 'asterisk', +DBX_user VARCHAR(15) default 'cron', +DBX_pass VARCHAR(15) default '1234', +DBX_port INT(6) default '3306', +DBY_server VARCHAR(15), +DBY_database VARCHAR(15) default 'asterisk', +DBY_user VARCHAR(15) default 'cron', +DBY_pass VARCHAR(15) default '1234', +DBY_port INT(6) default '3306', +outbound_cid VARCHAR(20), +enable_sipsak_messages ENUM('0','1') default '0', +email VARCHAR(100), +template_id VARCHAR(15) NOT NULL, +conf_override TEXT, +index (server_ip) +); + +CREATE TABLE servers ( +server_id VARCHAR(10) NOT NULL, +server_description VARCHAR(255), +server_ip VARCHAR(15) NOT NULL, +active ENUM('Y','N'), +asterisk_version VARCHAR(20) default '1.2.9', +max_vicidial_trunks SMALLINT(4) default '23', +telnet_host VARCHAR(20) NOT NULL default 'localhost', +telnet_port INT(5) NOT NULL default '5038', +ASTmgrUSERNAME VARCHAR(20) NOT NULL default 'cron', +ASTmgrSECRET VARCHAR(20) NOT NULL default '1234', +ASTmgrUSERNAMEupdate VARCHAR(20) NOT NULL default 'updatecron', +ASTmgrUSERNAMElisten VARCHAR(20) NOT NULL default 'listencron', +ASTmgrUSERNAMEsend VARCHAR(20) NOT NULL default 'sendcron', +local_gmt VARCHAR(6) default '-5', +voicemail_dump_exten VARCHAR(20) NOT NULL default '85026666666666', +answer_transfer_agent VARCHAR(20) NOT NULL default '8365', +ext_context VARCHAR(20) NOT NULL default 'default', +sys_perf_log ENUM('Y','N') default 'N', +vd_server_logs ENUM('Y','N') default 'Y', +agi_output ENUM('NONE','STDERR','FILE','BOTH') default 'FILE', +vicidial_balance_active ENUM('Y','N') default 'N', +balance_trunks_offlimits SMALLINT(5) UNSIGNED default '0', +recording_web_link ENUM('SERVER_IP','ALT_IP') default 'SERVER_IP', +alt_server_ip VARCHAR(100) default '', +active_asterisk_server ENUM('Y','N') default 'Y', +generate_vicidial_conf ENUM('Y','N') default 'Y', +rebuild_conf_files ENUM('Y','N') default 'Y', +outbound_calls_per_second SMALLINT(3) UNSIGNED default '20', +sysload INT(6) NOT NULL default '0', +channels_total SMALLINT(4) UNSIGNED NOT NULL default '0', +cpu_idle_percent SMALLINT(3) UNSIGNED NOT NULL default '0', +disk_usage VARCHAR(255) default '1' +); + +CREATE UNIQUE INDEX server_id on servers (server_id); + +CREATE TABLE live_channels ( +channel VARCHAR(100) NOT NULL, +server_ip VARCHAR(15) NOT NULL, +channel_group VARCHAR(30), +extension VARCHAR(100), +channel_data VARCHAR(100) +); + +CREATE TABLE live_sip_channels ( +channel VARCHAR(100) NOT NULL, +server_ip VARCHAR(15) NOT NULL, +channel_group VARCHAR(30), +extension VARCHAR(100), +channel_data VARCHAR(100) +); + +CREATE TABLE parked_channels ( +channel VARCHAR(100) NOT NULL, +server_ip VARCHAR(15) NOT NULL, +channel_group VARCHAR(30), +extension VARCHAR(100), +parked_by VARCHAR(100), +parked_time DATETIME +); + +CREATE TABLE conferences ( +conf_exten INT(7) UNSIGNED NOT NULL, +server_ip VARCHAR(15) NOT NULL, +extension VARCHAR(100) +); + +CREATE TABLE recording_log ( +recording_id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +channel VARCHAR(100), +server_ip VARCHAR(15), +extension VARCHAR(100), +start_time DATETIME, +start_epoch INT(10) UNSIGNED, +end_time DATETIME, +end_epoch INT(10) UNSIGNED, +length_in_sec MEDIUMINT(8) UNSIGNED, +length_in_min DOUBLE(8,2), +filename VARCHAR(50), +location VARCHAR(255), +lead_id INT(9) UNSIGNED, +user VARCHAR(20), +vicidial_id VARCHAR(20), +index(filename), +index(lead_id), +index(user), +index(vicidial_id) +); + +CREATE TABLE live_inbound ( +uniqueid VARCHAR(20) NOT NULL, +channel VARCHAR(100) NOT NULL, +server_ip VARCHAR(15) NOT NULL, +caller_id VARCHAR(30), +extension VARCHAR(100), +phone_ext VARCHAR(40), +start_time DATETIME, +acknowledged ENUM('Y','N') default 'N', +inbound_number VARCHAR(20), +comment_a VARCHAR(50), +comment_b VARCHAR(50), +comment_c VARCHAR(50), +comment_d VARCHAR(50), +comment_e VARCHAR(50) +); + +CREATE TABLE inbound_numbers ( +extension VARCHAR(30) NOT NULL, +full_number VARCHAR(30) NOT NULL, +server_ip VARCHAR(15) NOT NULL, +inbound_name VARCHAR(30), +department VARCHAR(30) +); + +CREATE TABLE server_updater ( +server_ip VARCHAR(15) NOT NULL, +last_update DATETIME, +db_time TIMESTAMP +); + +CREATE TABLE call_log ( +uniqueid VARCHAR(20) PRIMARY KEY NOT NULL, +channel VARCHAR(100), +channel_group VARCHAR(30), +type VARCHAR(10), +server_ip VARCHAR(15), +extension VARCHAR(100), +number_dialed VARCHAR(15), +caller_code VARCHAR(20), +start_time DATETIME, +start_epoch INT(10), +end_time DATETIME, +end_epoch INT(10), +length_in_sec INT(10), +length_in_min DOUBLE(8,2), +index (caller_code), +index (server_ip), +index (channel) +); + +CREATE TABLE park_log ( +uniqueid VARCHAR(20) PRIMARY KEY NOT NULL, +status VARCHAR(10), +channel VARCHAR(100), +channel_group VARCHAR(30), +server_ip VARCHAR(15), +parked_time DATETIME, +grab_time DATETIME, +hangup_time DATETIME, +parked_sec INT(10), +talked_sec INT(10), +extension VARCHAR(100), +user VARCHAR(20), +index (parked_time) +); + +CREATE TABLE vicidial_manager ( +man_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +uniqueid VARCHAR(20), +entry_date DATETIME, +status ENUM('NEW','QUEUE','SENT','UPDATED','DEAD'), +response ENUM('Y','N'), +server_ip VARCHAR(15) NOT NULL, +channel VARCHAR(100), +action VARCHAR(20), +callerid VARCHAR(20), +cmd_line_b VARCHAR(100), +cmd_line_c VARCHAR(100), +cmd_line_d VARCHAR(100), +cmd_line_e VARCHAR(100), +cmd_line_f VARCHAR(100), +cmd_line_g VARCHAR(100), +cmd_line_h VARCHAR(100), +cmd_line_i VARCHAR(100), +cmd_line_j VARCHAR(100), +cmd_line_k VARCHAR(100), +index (callerid), +index (uniqueid), +index serverstat(server_ip,status) +); + +CREATE TABLE vicidial_list ( +lead_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +entry_date DATETIME, +modify_date TIMESTAMP, +status VARCHAR(6), +user VARCHAR(20), +vendor_lead_code VARCHAR(20), +source_id VARCHAR(50), +list_id BIGINT(14) UNSIGNED, +gmt_offset_now DECIMAL(4,2) DEFAULT '0.00', +called_since_last_reset ENUM('Y','N','Y1','Y2','Y3','Y4','Y5','Y6','Y7','Y8','Y9','Y10') default 'N', +phone_code VARCHAR(10), +phone_number VARCHAR(18) NOT NULL, +title VARCHAR(4), +first_name VARCHAR(30), +middle_initial VARCHAR(1), +last_name VARCHAR(30), +address1 VARCHAR(100), +address2 VARCHAR(100), +address3 VARCHAR(100), +city VARCHAR(50), +state VARCHAR(2), +province VARCHAR(50), +postal_code VARCHAR(10), +country_code VARCHAR(3), +gender ENUM('M','F','U') default 'U', +date_of_birth DATE, +alt_phone VARCHAR(12), +email VARCHAR(70), +security_phrase VARCHAR(100), +comments VARCHAR(255), +called_count SMALLINT(5) UNSIGNED default '0', +last_local_call_time DATETIME, +index (phone_number), +index (list_id), +index (called_since_last_reset), +index (status), +index (gmt_offset_now), +index (postal_code), +index (last_local_call_time) +); + +CREATE TABLE vicidial_hopper ( +hopper_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +lead_id INT(9) UNSIGNED NOT NULL, +campaign_id VARCHAR(8), +status ENUM('READY','QUEUE','INCALL','DONE','HOLD') default 'READY', +user VARCHAR(20), +list_id BIGINT(14) UNSIGNED NOT NULL, +gmt_offset_now DECIMAL(4,2) DEFAULT '0.00', +state VARCHAR(2) default '', +alt_dial VARCHAR(6) default 'NONE', +priority TINYINT(2) default '0', +index (lead_id) +); + +CREATE TABLE vicidial_live_agents ( +live_agent_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +user VARCHAR(20), +server_ip VARCHAR(15) NOT NULL, +conf_exten VARCHAR(20), +extension VARCHAR(100), +status ENUM('READY','QUEUE','INCALL','PAUSED','CLOSER') default 'PAUSED', +lead_id INT(9) UNSIGNED NOT NULL, +campaign_id VARCHAR(8), +uniqueid VARCHAR(20), +callerid VARCHAR(20), +channel VARCHAR(100), +random_id INT(8) UNSIGNED, +last_call_time DATETIME, +last_update_time TIMESTAMP, +last_call_finish DATETIME, +closer_campaigns TEXT, +call_server_ip VARCHAR(15), +user_level INT(2) default '0', +comments VARCHAR(20), +campaign_weight TINYINT(1) default '0', +calls_today SMALLINT(5) UNSIGNED default '0', +external_hangup VARCHAR(1) default '', +external_status VARCHAR(6) default '', +external_pause VARCHAR(20) default '', +external_dial VARCHAR(100) default '', +index (random_id), +index (last_call_time), +index (last_update_time), +index (last_call_finish) +); + +CREATE TABLE vicidial_auto_calls ( +auto_call_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +server_ip VARCHAR(15) NOT NULL, +campaign_id VARCHAR(20), +status ENUM('SENT','RINGING','LIVE','XFER','PAUSED','CLOSER','BUSY','DISCONNECT','IVR') default 'PAUSED', +lead_id INT(9) UNSIGNED NOT NULL, +uniqueid VARCHAR(20), +callerid VARCHAR(20), +channel VARCHAR(100), +phone_code VARCHAR(10), +phone_number VARCHAR(18), +call_time DATETIME, +call_type ENUM('IN','OUT','OUTBALANCE') default 'OUT', +stage VARCHAR(20) default 'START', +last_update_time TIMESTAMP, +alt_dial VARCHAR(6) default 'NONE', +queue_priority TINYINT(2) default '0', +agent_only VARCHAR(20) default '', +index (uniqueid), +index (callerid), +index (call_time), +index (last_update_time) +); + +CREATE TABLE vicidial_log ( +uniqueid VARCHAR(20) PRIMARY KEY NOT NULL, +lead_id INT(9) UNSIGNED NOT NULL, +list_id BIGINT(14) UNSIGNED, +campaign_id VARCHAR(8), +call_date DATETIME, +start_epoch INT(10) UNSIGNED, +end_epoch INT(10) UNSIGNED, +length_in_sec INT(10), +status VARCHAR(6), +phone_code VARCHAR(10), +phone_number VARCHAR(18), +user VARCHAR(20), +comments VARCHAR(255), +processed ENUM('Y','N'), +user_group VARCHAR(20), +term_reason ENUM('CALLER','AGENT','QUEUETIMEOUT','ABANDON','AFTERHOURS','NONE') default 'NONE', +alt_dial VARCHAR(6) default 'NONE', +index (lead_id), +index (call_date) +); + +CREATE TABLE vicidial_closer_log ( +closecallid INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +lead_id INT(9) UNSIGNED NOT NULL, +list_id BIGINT(14) UNSIGNED, +campaign_id VARCHAR(20), +call_date DATETIME, +start_epoch INT(10) UNSIGNED, +end_epoch INT(10) UNSIGNED, +length_in_sec INT(10), +status VARCHAR(6), +phone_code VARCHAR(10), +phone_number VARCHAR(18), +user VARCHAR(20), +comments VARCHAR(255), +processed ENUM('Y','N'), +queue_seconds DECIMAL(7,2) default '0', +user_group VARCHAR(20), +xfercallid INT(9) UNSIGNED, +term_reason ENUM('CALLER','AGENT','QUEUETIMEOUT','ABANDON','AFTERHOURS','NONE') default 'NONE', +uniqueid VARCHAR(20) NOT NULL default '', +agent_only VARCHAR(20) default '', +index (lead_id), +index (call_date), +index (campaign_id), +index (uniqueid) +); + +CREATE TABLE vicidial_xfer_log ( +xfercallid INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +lead_id INT(9) UNSIGNED NOT NULL, +list_id BIGINT(14) UNSIGNED, +campaign_id VARCHAR(20), +call_date DATETIME, +phone_code VARCHAR(10), +phone_number VARCHAR(18), +user VARCHAR(20), +closer VARCHAR(20), +index (lead_id), +index (call_date) +); + +CREATE TABLE vicidial_users ( +user_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +user VARCHAR(20) NOT NULL, +pass VARCHAR(20) NOT NULL, +full_name VARCHAR(50), +user_level TINYINT(2) default '1', +user_group VARCHAR(20), +phone_login VARCHAR(20), +phone_pass VARCHAR(20), +delete_users ENUM('0','1') default '0', +delete_user_groups ENUM('0','1') default '0', +delete_lists ENUM('0','1') default '0', +delete_campaigns ENUM('0','1') default '0', +delete_ingroups ENUM('0','1') default '0', +delete_remote_agents ENUM('0','1') default '0', +load_leads ENUM('0','1') default '0', +campaign_detail ENUM('0','1') default '0', +ast_admin_access ENUM('0','1') default '0', +ast_delete_phones ENUM('0','1') default '0', +delete_scripts ENUM('0','1') default '0', +modify_leads ENUM('0','1') default '0', +hotkeys_active ENUM('0','1') default '0', +change_agent_campaign ENUM('0','1') default '0', +agent_choose_ingroups ENUM('0','1') default '1', +closer_campaigns TEXT, +scheduled_callbacks ENUM('0','1') default '1', +agentonly_callbacks ENUM('0','1') default '0', +agentcall_manual ENUM('0','1') default '0', +vicidial_recording ENUM('0','1') default '1', +vicidial_transfers ENUM('0','1') default '1', +delete_filters ENUM('0','1') default '0', +alter_agent_interface_options ENUM('0','1') default '0', +closer_default_blended ENUM('0','1') default '0', +delete_call_times ENUM('0','1') default '0', +modify_call_times ENUM('0','1') default '0', +modify_users ENUM('0','1') default '0', +modify_campaigns ENUM('0','1') default '0', +modify_lists ENUM('0','1') default '0', +modify_scripts ENUM('0','1') default '0', +modify_filters ENUM('0','1') default '0', +modify_ingroups ENUM('0','1') default '0', +modify_usergroups ENUM('0','1') default '0', +modify_remoteagents ENUM('0','1') default '0', +modify_servers ENUM('0','1') default '0', +view_reports ENUM('0','1') default '0', +vicidial_recording_override ENUM('DISABLED','NEVER','ONDEMAND','ALLCALLS','ALLFORCE') default 'DISABLED', +alter_custdata_override ENUM('NOT_ACTIVE','ALLOW_ALTER') default 'NOT_ACTIVE', +qc_enabled ENUM('1','0') default '0', +qc_user_level INT(2) default '1', +qc_pass ENUM('1','0') default '0', +qc_finish ENUM('1','0') default '0', +qc_commit ENUM('1','0') default '0', +add_timeclock_log ENUM('1','0') default '0', +modify_timeclock_log ENUM('1','0') default '0', +delete_timeclock_log ENUM('1','0') default '0', +alter_custphone_override ENUM('NOT_ACTIVE','ALLOW_ALTER') default 'NOT_ACTIVE', +vdc_agent_api_access ENUM('0','1') default '0', +modify_inbound_dids ENUM('1','0') default '0', +delete_inbound_dids ENUM('1','0') default '0', +active ENUM('Y','N') default 'Y', +alert_enabled ENUM('1','0') default '0', +download_lists ENUM('1','0') default '0', +agent_shift_enforcement_override ENUM('DISABLED','OFF','START','ALL') default 'DISABLED', +manager_shift_enforcement_override ENUM('0','1') default '0', +shift_override_flag ENUM('0','1') default '0', +export_reports ENUM('1','0') default '0' +); + + +CREATE UNIQUE INDEX user ON vicidial_users (user); + +CREATE TABLE vicidial_user_log ( +user_log_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +user VARCHAR(20), +event VARCHAR(50), +campaign_id VARCHAR(8), +event_date DATETIME, +event_epoch INT(10) UNSIGNED, +user_group VARCHAR(20), +index (user) +); + +CREATE TABLE vicidial_user_groups ( +user_group VARCHAR(20) NOT NULL, +group_name VARCHAR(40) NOT NULL, +allowed_campaigns TEXT, +qc_allowed_campaigns TEXT, +qc_allowed_inbound_groups TEXT, +group_shifts TEXT, +forced_timeclock_login ENUM('Y','N','ADMIN_EXEMPT') default 'N', +shift_enforcement ENUM('OFF','START','ALL') default 'OFF' +); + +CREATE TABLE vicidial_campaigns ( +campaign_id VARCHAR(8) PRIMARY KEY NOT NULL, +campaign_name VARCHAR(40), +active ENUM('Y','N'), +dial_status_a VARCHAR(6), +dial_status_b VARCHAR(6), +dial_status_c VARCHAR(6), +dial_status_d VARCHAR(6), +dial_status_e VARCHAR(6), +lead_order VARCHAR(30), +park_ext VARCHAR(10), +park_file_name VARCHAR(10), +web_form_address VARCHAR(255), +allow_closers ENUM('Y','N'), +hopper_level INT(8) UNSIGNED default '1', +auto_dial_level VARCHAR(6) default '0', +next_agent_call ENUM('random','oldest_call_start','oldest_call_finish','campaign_rank','overall_user_level','fewest_calls') default 'oldest_call_finish', +local_call_time VARCHAR(10) DEFAULT '9am-9pm', +voicemail_ext VARCHAR(10), +dial_timeout TINYINT UNSIGNED default '60', +dial_prefix VARCHAR(20) default '9', +campaign_cid VARCHAR(20) default '0000000000', +campaign_vdad_exten VARCHAR(20) default '8368', +campaign_rec_exten VARCHAR(20) default '8309', +campaign_recording ENUM('NEVER','ONDEMAND','ALLCALLS','ALLFORCE') default 'ONDEMAND', +campaign_rec_filename VARCHAR(50) default 'FULLDATE_CUSTPHONE', +campaign_script VARCHAR(10), +get_call_launch ENUM('NONE','SCRIPT','WEBFORM') default 'NONE', +am_message_exten VARCHAR(20), +amd_send_to_vmx ENUM('Y','N') default 'N', +xferconf_a_dtmf VARCHAR(50), +xferconf_a_number VARCHAR(50), +xferconf_b_dtmf VARCHAR(50), +xferconf_b_number VARCHAR(50), +alt_number_dialing ENUM('Y','N') default 'N', +scheduled_callbacks ENUM('Y','N') default 'N', +lead_filter_id VARCHAR(10) default 'NONE', +drop_call_seconds TINYINT(3) unsigned default '5', +drop_action ENUM('HANGUP','MESSAGE','VOICEMAIL','IN_GROUP') default 'MESSAGE', +safe_harbor_exten VARCHAR(20) default '8307', +display_dialable_count ENUM('Y','N') default 'Y', +wrapup_seconds SMALLINT(3) UNSIGNED default '0', +wrapup_message VARCHAR(255) default 'Wrapup Call', +closer_campaigns TEXT default '', +use_internal_dnc ENUM('Y','N') default 'N', +allcalls_delay SMALLINT(3) UNSIGNED default '0', +omit_phone_code ENUM('Y','N') default 'N', +dial_method ENUM('MANUAL','RATIO','ADAPT_HARD_LIMIT','ADAPT_TAPERED','ADAPT_AVERAGE','INBOUND_MAN') default 'MANUAL', +available_only_ratio_tally ENUM('Y','N') default 'N', +adaptive_dropped_percentage SMALLINT(3) default '3', +adaptive_maximum_level VARCHAR(6) default '3.0', +adaptive_latest_server_time VARCHAR(4) default '2100', +adaptive_intensity VARCHAR(6) default '0', +adaptive_dl_diff_target SMALLINT(3) default '0', +concurrent_transfers ENUM('AUTO','1','2','3','4','5','6','7','8','9','10') default 'AUTO', +auto_alt_dial ENUM('NONE','ALT_ONLY','ADDR3_ONLY','ALT_AND_ADDR3','ALT_AND_EXTENDED','ALT_AND_ADDR3_AND_EXTENDED','EXTENDED_ONLY') default 'NONE', +auto_alt_dial_statuses VARCHAR(255) default ' B N NA DC -', +agent_pause_codes_active ENUM('Y','N','FORCE') default 'N', +campaign_description VARCHAR(255), +campaign_changedate DATETIME, +campaign_stats_refresh ENUM('Y','N') default 'N', +campaign_logindate DATETIME, +dial_statuses VARCHAR(255) default ' NEW -', +disable_alter_custdata ENUM('Y','N') default 'N', +no_hopper_leads_logins ENUM('Y','N') default 'N', +list_order_mix VARCHAR(20) default 'DISABLED', +campaign_allow_inbound ENUM('Y','N') default 'N', +manual_dial_list_id BIGINT(14) UNSIGNED default '998', +default_xfer_group VARCHAR(20) default '---NONE---', +xfer_groups TEXT default '', +queue_priority TINYINT(2) default '50', +drop_inbound_group VARCHAR(20) default '---NONE---', +qc_enabled ENUM('Y','N') default 'N', +qc_statuses TEXT, +qc_lists TEXT, +qc_shift_id VARCHAR(20) default '24HRMIDNIGHT', +qc_get_record_launch ENUM('NONE','SCRIPT','WEBFORM','QCSCRIPT','QCWEBFORM') default 'NONE', +qc_show_recording ENUM('Y','N') default 'Y', +qc_web_form_address VARCHAR(255), +qc_script VARCHAR(10), +survey_first_audio_file VARCHAR(50) default 'US_pol_survey_hello', +survey_dtmf_digits VARCHAR(16) default '1238', +survey_ni_digit VARCHAR(1) default '8', +survey_opt_in_audio_file VARCHAR(50) default 'US_pol_survey_transfer', +survey_ni_audio_file VARCHAR(50) default 'US_thanks_no_contact', +survey_method ENUM('AGENT_XFER','VOICEMAIL','EXTENSION','HANGUP','CAMPREC_60_WAV') default 'AGENT_XFER', +survey_no_response_action ENUM('OPTIN','OPTOUT') default 'OPTIN', +survey_ni_status VARCHAR(6) default 'NI', +survey_response_digit_map VARCHAR(255) default '1-DEMOCRAT|2-REPUBLICAN|3-INDEPENDANT|8-OPTOUT|X-NO RESPONSE|', +survey_xfer_exten VARCHAR(20) default '8300', +survey_camp_record_dir VARCHAR(255) default '/home/survey', +disable_alter_custphone ENUM('Y','N') default 'Y', +display_queue_count ENUM('Y','N') default 'Y', +manual_dial_filter VARCHAR(50) default 'NONE', +agent_clipboard_copy VARCHAR(50) default 'NONE', +agent_extended_alt_dial ENUM('Y','N') default 'N', +use_campaign_dnc ENUM('Y','N') default 'N', +three_way_call_cid ENUM('CAMPAIGN','CUSTOMER','AGENT_PHONE','AGENT_CHOOSE') default 'CAMPAIGN', +three_way_dial_prefix VARCHAR(20) default '', +web_form_target VARCHAR(100) NOT NULL default 'vdcwebform', +vtiger_search_category VARCHAR(100) default 'LEAD', +vtiger_create_call_record ENUM('Y','N') default 'Y', +vtiger_create_lead_record ENUM('Y','N') default 'Y', +vtiger_screen_login ENUM('Y','N') default 'Y', +cpd_amd_action ENUM('DISABLED','DISPO','MESSAGE') default 'DISABLED', +agent_allow_group_alias ENUM('Y','N') default 'N', +default_group_alias VARCHAR(30) default '' +); + +CREATE TABLE vicidial_lists ( +list_id BIGINT(14) UNSIGNED PRIMARY KEY NOT NULL, +list_name VARCHAR(30), +campaign_id VARCHAR(8), +active ENUM('Y','N'), +list_description VARCHAR(255), +list_changedate DATETIME, +list_lastcalldate DATETIME +); + +CREATE TABLE vicidial_statuses ( +status VARCHAR(6) PRIMARY KEY NOT NULL, +status_name VARCHAR(30), +selectable ENUM('Y','N'), +human_answered ENUM('Y','N') default 'N', +category VARCHAR(20) default 'UNDEFINED' +); + +CREATE TABLE vicidial_campaign_statuses ( +status VARCHAR(6) NOT NULL, +status_name VARCHAR(30), +selectable ENUM('Y','N'), +campaign_id VARCHAR(8), +human_answered ENUM('Y','N') default 'N', +category VARCHAR(20) default 'UNDEFINED', +index (campaign_id) +); + +CREATE TABLE vicidial_campaign_hotkeys ( +status VARCHAR(6) NOT NULL, +hotkey VARCHAR(1) NOT NULL, +status_name VARCHAR(30), +selectable ENUM('Y','N'), +campaign_id VARCHAR(8), +index (campaign_id) +); + +CREATE TABLE vicidial_conferences ( +conf_exten INT(7) UNSIGNED NOT NULL, +server_ip VARCHAR(15) NOT NULL, +extension VARCHAR(100), +leave_3way ENUM('0','1') default '0', +leave_3way_datetime DATETIME +); + +CREATE UNIQUE INDEX serverconf on vicidial_conferences (server_ip, conf_exten); + +CREATE TABLE vicidial_phone_codes ( +country_code SMALLINT(5) UNSIGNED, +country CHAR(3), +areacode CHAR(3), +state VARCHAR(4), +GMT_offset VARCHAR(5), +DST enum('Y','N'), +DST_range VARCHAR(8), +geographic_description VARCHAR(30) +); + +CREATE TABLE vicidial_inbound_groups ( +group_id VARCHAR(20) PRIMARY KEY NOT NULL, +group_name VARCHAR(30), +group_color VARCHAR(7), +active ENUM('Y','N'), +web_form_address VARCHAR(255), +voicemail_ext VARCHAR(10), +next_agent_call ENUM('random','oldest_call_start','oldest_call_finish','overall_user_level','inbound_group_rank','campaign_rank','fewest_calls','fewest_calls_campaign') default 'oldest_call_finish', +fronter_display ENUM('Y','N') default 'Y', +ingroup_script VARCHAR(10), +get_call_launch ENUM('NONE','SCRIPT','WEBFORM') default 'NONE', +xferconf_a_dtmf VARCHAR(50), +xferconf_a_number VARCHAR(50), +xferconf_b_dtmf VARCHAR(50), +xferconf_b_number VARCHAR(50), +drop_call_seconds SMALLINT(4) unsigned default '360', +drop_action ENUM('HANGUP','MESSAGE','VOICEMAIL','IN_GROUP') default 'MESSAGE', +drop_exten VARCHAR(20) default '8307', +call_time_id VARCHAR(20) default '24hours', +after_hours_action ENUM('HANGUP','MESSAGE','EXTENSION','VOICEMAIL','IN_GROUP') default 'MESSAGE', +after_hours_message_filename VARCHAR(50) default 'vm-goodbye', +after_hours_exten VARCHAR(20) default '8300', +after_hours_voicemail VARCHAR(20), +welcome_message_filename VARCHAR(50) default '---NONE---', +moh_context VARCHAR(50) default 'default', +onhold_prompt_filename VARCHAR(50) default 'generic_hold', +prompt_interval SMALLINT(5) UNSIGNED default '60', +agent_alert_exten VARCHAR(20) default '8304', +agent_alert_delay INT(6) default '1000', +default_xfer_group VARCHAR(20) default '---NONE---', +queue_priority TINYINT(2) default '0', +drop_inbound_group VARCHAR(20) default '---NONE---', +ingroup_recording_override ENUM('DISABLED','NEVER','ONDEMAND','ALLCALLS','ALLFORCE') default 'DISABLED', +ingroup_rec_filename VARCHAR(50) default 'NONE', +afterhours_xfer_group VARCHAR(20) default '---NONE---', +qc_enabled ENUM('Y','N') default 'N', +qc_statuses TEXT, +qc_shift_id VARCHAR(20) default '24HRMIDNIGHT', +qc_get_record_launch ENUM('NONE','SCRIPT','WEBFORM','QCSCRIPT','QCWEBFORM') default 'NONE', +qc_show_recording ENUM('Y','N') default 'Y', +qc_web_form_address VARCHAR(255), +qc_script VARCHAR(10), +play_place_in_line ENUM('Y','N') default 'N', +play_estimate_hold_time ENUM('Y','N') default 'N', +hold_time_option ENUM('NONE','EXTENSION','VOICEMAIL','IN_GROUP','CALLERID_CALLBACK','DROP_ACTION','PRESS_VMAIL') default 'NONE', +hold_time_option_seconds SMALLINT(5) default '360', +hold_time_option_exten VARCHAR(20) default '8300', +hold_time_option_voicemail VARCHAR(20) default '', +hold_time_option_xfer_group VARCHAR(20) default '---NONE---', +hold_time_option_callback_filename VARCHAR(50) default 'vm-hangup', +hold_time_option_callback_list_id BIGINT(14) UNSIGNED default '999', +hold_recall_xfer_group VARCHAR(20) default '---NONE---', +no_delay_call_route ENUM('Y','N') default 'N', +play_welcome_message ENUM('ALWAYS','NEVER','IF_WAIT_ONLY','YES_UNLESS_NODELAY') default 'ALWAYS', +answer_sec_pct_rt_stat_one SMALLINT(5) UNSIGNED default '20', +answer_sec_pct_rt_stat_two SMALLINT(5) UNSIGNED default '30', +default_group_alias VARCHAR(30) default '' +); + +CREATE TABLE vicidial_stations ( +agent_station VARCHAR(10) PRIMARY KEY NOT NULL, +phone_channel VARCHAR(100), +computer_ip VARCHAR(15) NOT NULL, +server_ip VARCHAR(15) NOT NULL, +DB_server_ip VARCHAR(15) NOT NULL, +DB_user VARCHAR(15), +DB_pass VARCHAR(15), +DB_port VARCHAR(6) +); + +CREATE TABLE vicidial_remote_agents ( +remote_agent_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +user_start VARCHAR(20), +number_of_lines TINYINT UNSIGNED default '1', +server_ip VARCHAR(15) NOT NULL, +conf_exten VARCHAR(20), +status ENUM('ACTIVE','INACTIVE') default 'INACTIVE', +campaign_id VARCHAR(8), +closer_campaigns TEXT +); + +CREATE TABLE live_inbound_log ( +uniqueid VARCHAR(20) NOT NULL, +channel VARCHAR(100) NOT NULL, +server_ip VARCHAR(15) NOT NULL, +caller_id VARCHAR(30), +extension VARCHAR(100), +phone_ext VARCHAR(40), +start_time DATETIME, +acknowledged ENUM('Y','N') default 'N', +inbound_number VARCHAR(20), +comment_a VARCHAR(50), +comment_b VARCHAR(50), +comment_c VARCHAR(50), +comment_d VARCHAR(50), +comment_e VARCHAR(50), +index (uniqueid), +index (phone_ext), +index (start_time) +); + +CREATE TABLE web_client_sessions ( +extension VARCHAR(100) NOT NULL, +server_ip VARCHAR(15) NOT NULL, +program ENUM('agc','vicidial','monitor','other') default 'agc', +start_time DATETIME NOT NULL, +session_name VARCHAR(40) UNIQUE NOT NULL +); + +CREATE TABLE server_performance ( +start_time DATETIME NOT NULL, +server_ip VARCHAR(15) NOT NULL, +sysload INT(6) NOT NULL, +freeram SMALLINT(5) UNSIGNED NOT NULL, +usedram SMALLINT(5) UNSIGNED NOT NULL, +processes SMALLINT(4) UNSIGNED NOT NULL, +channels_total SMALLINT(4) UNSIGNED NOT NULL, +trunks_total SMALLINT(4) UNSIGNED NOT NULL, +clients_total SMALLINT(4) UNSIGNED NOT NULL, +clients_zap SMALLINT(4) UNSIGNED NOT NULL, +clients_iax SMALLINT(4) UNSIGNED NOT NULL, +clients_local SMALLINT(4) UNSIGNED NOT NULL, +clients_sip SMALLINT(4) UNSIGNED NOT NULL, +live_recordings SMALLINT(4) UNSIGNED NOT NULL, +cpu_user_percent SMALLINT(3) UNSIGNED NOT NULL default '0', +cpu_system_percent SMALLINT(3) UNSIGNED NOT NULL default '0', +cpu_idle_percent SMALLINT(3) UNSIGNED NOT NULL default '0' +); + +CREATE TABLE vicidial_agent_log ( +agent_log_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +user VARCHAR(20), +server_ip VARCHAR(15) NOT NULL, +event_time DATETIME, +lead_id INT(9) UNSIGNED, +campaign_id VARCHAR(8), +pause_epoch INT(10) UNSIGNED, +pause_sec SMALLINT(5) UNSIGNED default '0', +wait_epoch INT(10) UNSIGNED, +wait_sec SMALLINT(5) UNSIGNED default '0', +talk_epoch INT(10) UNSIGNED, +talk_sec SMALLINT(5) UNSIGNED default '0', +dispo_epoch INT(10) UNSIGNED, +dispo_sec SMALLINT(5) UNSIGNED default '0', +status VARCHAR(6), +user_group VARCHAR(20), +comments VARCHAR(20), +sub_status VARCHAR(6), +index (lead_id), +index (user), +index (event_time) +); + +CREATE TABLE vicidial_scripts ( +script_id VARCHAR(10) PRIMARY KEY NOT NULL, +script_name VARCHAR(50), +script_comments VARCHAR(255), +script_text TEXT, +active ENUM('Y','N') +); + +CREATE TABLE phone_favorites ( +extension VARCHAR(100), +server_ip VARCHAR(15), +extensions_list TEXT +); + +CREATE TABLE vicidial_callbacks ( +callback_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +lead_id INT(9) UNSIGNED, +list_id BIGINT(14) UNSIGNED, +campaign_id VARCHAR(8), +status VARCHAR(10), +entry_time DATETIME, +callback_time DATETIME, +modify_date TIMESTAMP, +user VARCHAR(20), +recipient ENUM('USERONLY','ANYONE'), +comments VARCHAR(255), +user_group VARCHAR(20), +index (lead_id), +index (status), +index (callback_time) +); + +CREATE TABLE vicidial_list_pins ( +pins_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +entry_time DATETIME, +phone_number VARCHAR(18), +lead_id INT(9) UNSIGNED, +campaign_id VARCHAR(20), +product_code VARCHAR(20), +user VARCHAR(20), +digits VARCHAR(20), +index (lead_id), +index (phone_number), +index (entry_time) +); + +CREATE TABLE vicidial_lead_filters ( +lead_filter_id VARCHAR(10) PRIMARY KEY NOT NULL, +lead_filter_name VARCHAR(30) NOT NULL, +lead_filter_comments VARCHAR(255), +lead_filter_sql TEXT +); + +CREATE TABLE vicidial_call_times ( +call_time_id VARCHAR(10) PRIMARY KEY NOT NULL, +call_time_name VARCHAR(30) NOT NULL, +call_time_comments VARCHAR(255) default '', +ct_default_start SMALLINT(4) unsigned NOT NULL default '900', +ct_default_stop SMALLINT(4) unsigned NOT NULL default '2100', +ct_sunday_start SMALLINT(4) unsigned default '0', +ct_sunday_stop SMALLINT(4) unsigned default '0', +ct_monday_start SMALLINT(4) unsigned default '0', +ct_monday_stop SMALLINT(4) unsigned default '0', +ct_tuesday_start SMALLINT(4) unsigned default '0', +ct_tuesday_stop SMALLINT(4) unsigned default '0', +ct_wednesday_start SMALLINT(4) unsigned default '0', +ct_wednesday_stop SMALLINT(4) unsigned default '0', +ct_thursday_start SMALLINT(4) unsigned default '0', +ct_thursday_stop SMALLINT(4) unsigned default '0', +ct_friday_start SMALLINT(4) unsigned default '0', +ct_friday_stop SMALLINT(4) unsigned default '0', +ct_saturday_start SMALLINT(4) unsigned default '0', +ct_saturday_stop SMALLINT(4) unsigned default '0', +ct_state_call_times TEXT default '' +); + +CREATE TABLE vicidial_state_call_times ( +state_call_time_id VARCHAR(10) PRIMARY KEY NOT NULL, +state_call_time_state VARCHAR(2) NOT NULL, +state_call_time_name VARCHAR(30) NOT NULL, +state_call_time_comments VARCHAR(255) default '', +sct_default_start SMALLINT(4) unsigned NOT NULL default '900', +sct_default_stop SMALLINT(4) unsigned NOT NULL default '2100', +sct_sunday_start SMALLINT(4) unsigned default '0', +sct_sunday_stop SMALLINT(4) unsigned default '0', +sct_monday_start SMALLINT(4) unsigned default '0', +sct_monday_stop SMALLINT(4) unsigned default '0', +sct_tuesday_start SMALLINT(4) unsigned default '0', +sct_tuesday_stop SMALLINT(4) unsigned default '0', +sct_wednesday_start SMALLINT(4) unsigned default '0', +sct_wednesday_stop SMALLINT(4) unsigned default '0', +sct_thursday_start SMALLINT(4) unsigned default '0', +sct_thursday_stop SMALLINT(4) unsigned default '0', +sct_friday_start SMALLINT(4) unsigned default '0', +sct_friday_stop SMALLINT(4) unsigned default '0', +sct_saturday_start SMALLINT(4) unsigned default '0', +sct_saturday_stop SMALLINT(4) unsigned default '0' +); + +CREATE TABLE vicidial_campaign_stats ( +campaign_id VARCHAR(20) PRIMARY KEY NOT NULL, +update_time TIMESTAMP, +dialable_leads INT(9) UNSIGNED default '0', +calls_today INT(9) UNSIGNED default '0', +answers_today INT(9) UNSIGNED default '0', +drops_today INT(9) UNSIGNED default '0', +drops_today_pct VARCHAR(6) default '0', +drops_answers_today_pct VARCHAR(6) default '0', +calls_hour INT(9) UNSIGNED default '0', +answers_hour INT(9) UNSIGNED default '0', +drops_hour INT(9) UNSIGNED default '0', +drops_hour_pct VARCHAR(6) default '0', +calls_halfhour INT(9) UNSIGNED default '0', +answers_halfhour INT(9) UNSIGNED default '0', +drops_halfhour INT(9) UNSIGNED default '0', +drops_halfhour_pct VARCHAR(6) default '0', +calls_fivemin INT(9) UNSIGNED default '0', +answers_fivemin INT(9) UNSIGNED default '0', +drops_fivemin INT(9) UNSIGNED default '0', +drops_fivemin_pct VARCHAR(6) default '0', +calls_onemin INT(9) UNSIGNED default '0', +answers_onemin INT(9) UNSIGNED default '0', +drops_onemin INT(9) UNSIGNED default '0', +drops_onemin_pct VARCHAR(6) default '0', +differential_onemin VARCHAR(20) default '0', +agents_average_onemin VARCHAR(20) default '0', +balance_trunk_fill SMALLINT(5) UNSIGNED default '0', +status_category_1 VARCHAR(20), +status_category_count_1 INT(9) UNSIGNED default '0', +status_category_2 VARCHAR(20), +status_category_count_2 INT(9) UNSIGNED default '0', +status_category_3 VARCHAR(20), +status_category_count_3 INT(9) UNSIGNED default '0', +status_category_4 VARCHAR(20), +status_category_count_4 INT(9) UNSIGNED default '0', +hold_sec_stat_one MEDIUMINT(8) UNSIGNED default '0', +hold_sec_stat_two MEDIUMINT(8) UNSIGNED default '0', +agent_non_pause_sec MEDIUMINT(8) UNSIGNED default '0', +hold_sec_answer_calls MEDIUMINT(8) UNSIGNED default '0', +hold_sec_drop_calls MEDIUMINT(8) UNSIGNED default '0', +hold_sec_queue_calls MEDIUMINT(8) UNSIGNED default '0' +); + +CREATE TABLE vicidial_dnc ( +phone_number VARCHAR(18) PRIMARY KEY NOT NULL +); + +CREATE TABLE vicidial_lead_recycle ( +recycle_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +campaign_id VARCHAR(8), +status VARCHAR(6) NOT NULL, +attempt_delay SMALLINT(5) UNSIGNED default '1800', +attempt_maximum TINYINT(3) UNSIGNED default '2', +active ENUM('Y','N') default 'N', +index (campaign_id) +); + +CREATE TABLE vicidial_campaign_server_stats ( +campaign_id VARCHAR(20) NOT NULL, +server_ip VARCHAR(15) NOT NULL, +update_time TIMESTAMP, +local_trunk_shortage SMALLINT(5) UNSIGNED default '0', +index (campaign_id), +index (server_ip) +); + +CREATE TABLE vicidial_server_trunks ( +server_ip VARCHAR(15) NOT NULL, +campaign_id VARCHAR(20) NOT NULL, +dedicated_trunks SMALLINT(5) UNSIGNED default '0', +trunk_restriction ENUM('MAXIMUM_LIMIT','OVERFLOW_ALLOWED') default 'OVERFLOW_ALLOWED', +index (campaign_id), +index (server_ip) +); + +CREATE TABLE vicidial_postal_codes ( +postal_code VARCHAR(10) NOT NULL, +state VARCHAR(4), +GMT_offset VARCHAR(5), +DST enum('Y','N'), +DST_range VARCHAR(8), +country CHAR(3), +country_code SMALLINT(5) UNSIGNED +); + +CREATE TABLE vicidial_pause_codes ( +pause_code VARCHAR(6) NOT NULL, +pause_code_name VARCHAR(30), +billable ENUM('NO','YES','HALF') default 'NO', +campaign_id VARCHAR(8), +index (campaign_id) +); + +CREATE TABLE system_settings ( +version VARCHAR(50), +install_date VARCHAR(50), +use_non_latin ENUM('0','1') default '0', +webroot_writable ENUM('0','1') default '1', +enable_queuemetrics_logging ENUM('0','1') default '0', +queuemetrics_server_ip VARCHAR(15), +queuemetrics_dbname VARCHAR(50), +queuemetrics_login VARCHAR(50), +queuemetrics_pass VARCHAR(50), +queuemetrics_url VARCHAR(255), +queuemetrics_log_id VARCHAR(10) default 'VIC', +queuemetrics_eq_prepend VARCHAR(255) default 'NONE', +vicidial_agent_disable ENUM('NOT_ACTIVE','LIVE_AGENT','EXTERNAL','ALL') default 'ALL', +allow_sipsak_messages ENUM('0','1') default '0', +admin_home_url VARCHAR(255) default '../vicidial/welcome.php', +enable_agc_xfer_log ENUM('0','1') default '0', +db_schema_version INT(8) UNSIGNED default '0', +auto_user_add_value INT(9) UNSIGNED default '101', +timeclock_end_of_day VARCHAR(4) default '0000', +timeclock_last_reset_date DATE, +vdc_header_date_format VARCHAR(50) default 'MS_DASH_24HR 2008-06-24 23:59:59', +vdc_customer_date_format VARCHAR(50) default 'AL_TEXT_AMPM OCT 24, 2008 11:59:59 PM', +vdc_header_phone_format VARCHAR(50) default 'US_PARN (000)000-0000', +vdc_agent_api_active ENUM('0','1') default '0', +qc_last_pull_time DATETIME, +enable_vtiger_integration ENUM('0','1') default '0', +vtiger_server_ip VARCHAR(15), +vtiger_dbname VARCHAR(50), +vtiger_login VARCHAR(50), +vtiger_pass VARCHAR(50), +vtiger_url VARCHAR(255), +qc_features_active ENUM('1','0') default '0', +outbound_autodial_active ENUM('1','0') default '1', +outbound_calls_per_second SMALLINT(3) UNSIGNED default '40' +); + +CREATE TABLE vicidial_campaigns_list_mix ( +vcl_id VARCHAR(20) PRIMARY KEY NOT NULL, +vcl_name VARCHAR(50), +campaign_id VARCHAR(8), +list_mix_container TEXT, +mix_method ENUM('EVEN_MIX','IN_ORDER','RANDOM') default 'IN_ORDER', +status ENUM('ACTIVE','INACTIVE') default 'INACTIVE', +index (campaign_id) +); + +CREATE TABLE vicidial_status_categories ( +vsc_id VARCHAR(20) PRIMARY KEY NOT NULL, +vsc_name VARCHAR(50), +vsc_description VARCHAR(255), +tovdad_display ENUM('Y','N') default 'N', +sale_category ENUM('Y','N') default 'N', +dead_lead_category ENUM('Y','N') default 'N' +); + +CREATE TABLE vicidial_ivr ( +ivr_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +entry_time DATETIME, +length_in_sec SMALLINT(5) UNSIGNED default '0', +inbound_number VARCHAR(12), +recording_id INT(9) UNSIGNED, +recording_filename VARCHAR(50), +company_id VARCHAR(12), +phone_number VARCHAR(18), +lead_id INT(9) UNSIGNED, +campaign_id VARCHAR(20), +product_code VARCHAR(20), +user VARCHAR(20), +prompt_audio_1 VARCHAR(20), +prompt_response_1 TINYINT(1) UNSIGNED default '0', +prompt_audio_2 VARCHAR(20), +prompt_response_2 TINYINT(1) UNSIGNED default '0', +prompt_audio_3 VARCHAR(20), +prompt_response_3 TINYINT(1) UNSIGNED default '0', +prompt_audio_4 VARCHAR(20), +prompt_response_4 TINYINT(1) UNSIGNED default '0', +prompt_audio_5 VARCHAR(20), +prompt_response_5 TINYINT(1) UNSIGNED default '0', +prompt_audio_6 VARCHAR(20), +prompt_response_6 TINYINT(1) UNSIGNED default '0', +prompt_audio_7 VARCHAR(20), +prompt_response_7 TINYINT(1) UNSIGNED default '0', +prompt_audio_8 VARCHAR(20), +prompt_response_8 TINYINT(1) UNSIGNED default '0', +prompt_audio_9 VARCHAR(20), +prompt_response_9 TINYINT(1) UNSIGNED default '0', +prompt_audio_10 VARCHAR(20), +prompt_response_10 TINYINT(1) UNSIGNED default '0', +prompt_audio_11 VARCHAR(20), +prompt_response_11 TINYINT(1) UNSIGNED default '0', +prompt_audio_12 VARCHAR(20), +prompt_response_12 TINYINT(1) UNSIGNED default '0', +prompt_audio_13 VARCHAR(20), +prompt_response_13 TINYINT(1) UNSIGNED default '0', +prompt_audio_14 VARCHAR(20), +prompt_response_14 TINYINT(1) UNSIGNED default '0', +prompt_audio_15 VARCHAR(20), +prompt_response_15 TINYINT(1) UNSIGNED default '0', +prompt_audio_16 VARCHAR(20), +prompt_response_16 TINYINT(1) UNSIGNED default '0', +prompt_audio_17 VARCHAR(20), +prompt_response_17 TINYINT(1) UNSIGNED default '0', +prompt_audio_18 VARCHAR(20), +prompt_response_18 TINYINT(1) UNSIGNED default '0', +prompt_audio_19 VARCHAR(20), +prompt_response_19 TINYINT(1) UNSIGNED default '0', +prompt_audio_20 VARCHAR(20), +prompt_response_20 TINYINT(1) UNSIGNED default '0', +index (phone_number), +index (entry_time) +); + +ALTER TABLE vicidial_ivr AUTO_INCREMENT = 1000000; + +CREATE TABLE vicidial_inbound_group_agents ( +user VARCHAR(20), +group_id VARCHAR(20), +group_rank TINYINT(1) default '0', +group_weight TINYINT(1) default '0', +calls_today SMALLINT(5) UNSIGNED default '0', +group_web_vars VARCHAR(255) default '', +index (group_id), +index (user) +); + +CREATE TABLE vicidial_live_inbound_agents ( +user VARCHAR(20), +group_id VARCHAR(20), +group_weight TINYINT(1) default '0', +calls_today SMALLINT(5) UNSIGNED default '0', +last_call_time DATETIME, +last_call_finish DATETIME, +index (group_id), +index (group_weight) +); + +CREATE TABLE vicidial_campaign_agents ( +user VARCHAR(20), +campaign_id VARCHAR(20), +campaign_rank TINYINT(1) default '0', +campaign_weight TINYINT(1) default '0', +calls_today SMALLINT(5) UNSIGNED default '0', +group_web_vars VARCHAR(255) default '', +index (campaign_id), +index (user) +); + +CREATE TABLE vicidial_user_closer_log ( +user VARCHAR(20), +campaign_id VARCHAR(20), +event_date DATETIME, +blended ENUM('1','0') default '0', +closer_campaigns TEXT, +index (user), +index (event_date) +); + +CREATE TABLE vicidial_qc_codes ( +code VARCHAR(8) PRIMARY KEY NOT NULL, +code_name VARCHAR(30) +); + +CREATE TABLE vicidial_agent_sph ( +campaign_group_id VARCHAR(20) NOT NULL, +stat_date DATE NOT NULL, +shift VARCHAR(20) NOT NULL, +role ENUM('FRONTER','CLOSER') default 'FRONTER', +user VARCHAR(20) NOT NULL, +calls MEDIUMINT(8) UNSIGNED default '0', +sales MEDIUMINT(8) UNSIGNED default '0', +login_sec MEDIUMINT(8) UNSIGNED default '0', +login_hours DECIMAL(5,2) DEFAULT '0.00', +sph DECIMAL(6,2) DEFAULT '0.00', +index (campaign_group_id), +index (stat_date) +); + +CREATE TABLE phones_alias ( +alias_id VARCHAR(20) NOT NULL UNIQUE PRIMARY KEY, +alias_name VARCHAR(50), +logins_list VARCHAR(255) +); + +CREATE TABLE vicidial_shifts ( +shift_id VARCHAR(20) NOT NULL, +shift_name VARCHAR(50), +shift_start_time VARCHAR(4) default '0900', +shift_length VARCHAR(5) default '16:00', +shift_weekdays VARCHAR(7) default '0123456', +index (shift_id) +); + +CREATE TABLE vicidial_timeclock_log ( +timeclock_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +event_epoch INT(10) UNSIGNED NOT NULL, +event_date DATETIME NOT NULL, +login_sec INT(10) UNSIGNED, +event VARCHAR(50) NOT NULL, +user VARCHAR(20) NOT NULL, +user_group VARCHAR(20) NOT NULL, +ip_address VARCHAR(15), +shift_id VARCHAR(20), +notes VARCHAR(255), +manager_user VARCHAR(20), +manager_ip VARCHAR(15), +event_datestamp TIMESTAMP NOT NULL, +tcid_link INT(9) UNSIGNED, +index (user) +); + +CREATE TABLE vicidial_timeclock_status ( +user VARCHAR(20) UNIQUE NOT NULL, +user_group VARCHAR(20) NOT NULL, +event_epoch INT(10) UNSIGNED, +event_date TIMESTAMP, +status VARCHAR(50), +ip_address VARCHAR(15), +shift_id VARCHAR(20), +index (user) +); + +CREATE TABLE vicidial_timeclock_audit_log ( +timeclock_id INT(9) UNSIGNED NOT NULL, +event_epoch INT(10) UNSIGNED NOT NULL, +event_date DATETIME NOT NULL, +login_sec INT(10) UNSIGNED, +event VARCHAR(50) NOT NULL, +user VARCHAR(20) NOT NULL, +user_group VARCHAR(20) NOT NULL, +ip_address VARCHAR(15), +shift_id VARCHAR(20), +event_datestamp TIMESTAMP NOT NULL, +tcid_link INT(9) UNSIGNED, +index (timeclock_id), +index (user) +); + +CREATE TABLE vicidial_admin_log ( +admin_log_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +event_date DATETIME NOT NULL, +user VARCHAR(20) NOT NULL, +ip_address VARCHAR(15) NOT NULL, +event_section VARCHAR(30) NOT NULL, +event_type ENUM('ADD','COPY','LOAD','RESET','MODIFY','DELETE','SEARCH','LOGIN','LOGOUT','CLEAR','OVERRIDE','EXPORT','OTHER') default 'OTHER', +record_id VARCHAR(50) NOT NULL, +event_code VARCHAR(255) NOT NULL, +event_sql TEXT, +event_notes TEXT, +index (user), +index (event_section), +index (record_id) +); + +CREATE TABLE vicidial_list_alt_phones ( +alt_phone_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +lead_id INT(9) UNSIGNED NOT NULL, +phone_code VARCHAR(10), +phone_number VARCHAR(18), +alt_phone_note VARCHAR(30), +alt_phone_count SMALLINT(5) UNSIGNED, +active ENUM('Y','N') default 'Y', +index (lead_id), +index (phone_number) +); + +CREATE TABLE vicidial_campaign_dnc ( +phone_number VARCHAR(18) NOT NULL, +campaign_id VARCHAR(8) NOT NULL, +index (phone_number), +UNIQUE INDEX phonecamp (phone_number, campaign_id) +); + +CREATE TABLE vicidial_inbound_dids ( +did_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +did_pattern VARCHAR(50) NOT NULL, +did_description VARCHAR(50), +did_active ENUM('Y','N') default 'Y', +did_route ENUM('EXTEN','VOICEMAIL','AGENT','PHONE','IN_GROUP') default 'EXTEN', +extension VARCHAR(50) default '9998811112', +exten_context VARCHAR(50) default 'default', +voicemail_ext VARCHAR(10), +phone VARCHAR(100), +server_ip VARCHAR(15), +user VARCHAR(20), +user_unavailable_action ENUM('IN_GROUP','EXTEN','VOICEMAIL','PHONE') default 'VOICEMAIL', +user_route_settings_ingroup VARCHAR(20) default 'AGENTDIRECT', +group_id VARCHAR(20), +call_handle_method VARCHAR(20) default 'CID', +agent_search_method ENUM('LO','LB','SO') default 'LB', +list_id BIGINT(14) UNSIGNED default '999', +campaign_id VARCHAR(8), +phone_code VARCHAR(10) default '1', +unique index (did_pattern), +index (group_id) +); + +CREATE TABLE vicidial_did_log ( +uniqueid VARCHAR(20) NOT NULL, +channel VARCHAR(100) NOT NULL, +server_ip VARCHAR(15) NOT NULL, +caller_id_number VARCHAR(18), +caller_id_name VARCHAR(20), +extension VARCHAR(100), +call_date DATETIME, +did_id VARCHAR(9) default '', +did_route VARCHAR(9) default '', +index (uniqueid), +index (caller_id_number), +index (extension), +index (call_date) +); + +CREATE TABLE vicidial_api_log ( +api_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +user VARCHAR(20) NOT NULL, +api_date DATETIME, +api_script VARCHAR(10), +function VARCHAR(20) NOT NULL, +agent_user VARCHAR(20), +value VARCHAR(255), +result VARCHAR(10), +result_reason VARCHAR(255), +source VARCHAR(20), +data TEXT, +index(api_date) +); + +CREATE TABLE vicidial_nanpa_prefix_codes ( +areacode CHAR(3), +prefix CHAR(3), +GMT_offset VARCHAR(6), +DST enum('Y','N'), +latitude VARCHAR(17), +longitude VARCHAR(17) +); + +CREATE INDEX areaprefix on vicidial_nanpa_prefix_codes (areacode,prefix); + +CREATE TABLE vicidial_cpd_log ( +cpd_id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +channel VARCHAR(100) NOT NULL, +uniqueid VARCHAR(20), +callerid VARCHAR(20), +server_ip VARCHAR(15) NOT NULL, +lead_id INT(9) UNSIGNED, +event_date DATETIME, +result VARCHAR(20), +status ENUM('NEW','PROCESSED') default 'NEW', +cpd_seconds DECIMAL(7,2) default '0', +index(uniqueid), +index(callerid), +index(lead_id) +); + +CREATE TABLE vicidial_conf_templates ( +template_id VARCHAR(15) NOT NULL, +template_name VARCHAR(50) NOT NULL, +template_contents TEXT, +unique index (template_id) +); + +CREATE TABLE vicidial_server_carriers ( +carrier_id VARCHAR(15) NOT NULL, +carrier_name VARCHAR(50) NOT NULL, +registration_string VARCHAR(255), +template_id VARCHAR(15) NOT NULL, +account_entry TEXT, +protocol ENUM('SIP','Zap','IAX2','EXTERNAL') default 'SIP', +globals_string VARCHAR(255), +dialplan_entry TEXT, +server_ip VARCHAR(15) NOT NULL, +active ENUM('Y','N') default 'Y', +unique index(carrier_id), +index (server_ip) +); + +CREATE TABLE groups_alias ( +group_alias_id VARCHAR(30) NOT NULL UNIQUE PRIMARY KEY, +group_alias_name VARCHAR(50), +caller_id_number VARCHAR(20), +caller_id_name VARCHAR(20), +active ENUM('Y','N') default 'N' +); + +CREATE TABLE user_call_log ( +user_call_log_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +user VARCHAR(20), +call_date DATETIME, +call_type VARCHAR(20), +server_ip VARCHAR(15) NOT NULL, +phone_number VARCHAR(20), +number_dialed VARCHAR(30), +lead_id INT(9) UNSIGNED, +callerid VARCHAR(20), +group_alias_id VARCHAR(30), +index (user), +index (call_date) +); + + +ALTER TABLE vicidial_campaign_server_stats ENGINE=HEAP; + +ALTER TABLE live_channels ENGINE=HEAP; + +ALTER TABLE live_sip_channels ENGINE=HEAP; + +ALTER TABLE parked_channels ENGINE=HEAP; + +ALTER TABLE server_updater ENGINE=HEAP; + +ALTER TABLE web_client_sessions ENGINE=HEAP; + + +UPDATE system_settings SET auto_user_add_value='1101'; + +INSERT INTO vicidial_inbound_groups(group_id,group_name,group_color,active,queue_priority) values('AGENTDIRECT','Single Agent Direct Queue','white','Y','99'); + +INSERT INTO vicidial_lists SET list_id='999',list_name='Default inbound list',campaign_id='TESTCAMP',active='N'; +INSERT INTO vicidial_lists SET list_id='998',list_name='Default Manual list',campaign_id='TESTCAMP',active='N'; + +INSERT INTO system_settings (version,install_date) values('2.0.5b0.5', CURDATE()); + +INSERT INTO vicidial_status_categories (vsc_id,vsc_name) values('UNDEFINED','Default Category'); + +INSERT INTO vicidial_user_groups SET user_group='ADMIN',group_name='VICIDIAL ADMINISTRATORS',allowed_campaigns=' -ALL-CAMPAIGNS- - -'; + +INSERT INTO vicidial_call_times SET call_time_id='24hours',call_time_name='default 24 hours calling',ct_default_start='0',ct_default_stop='2400'; +INSERT INTO vicidial_call_times SET call_time_id='9am-9pm',call_time_name='default 9am to 9pm calling',ct_default_start='900',ct_default_stop='2100'; +INSERT INTO vicidial_call_times SET call_time_id='9am-5pm',call_time_name='default 9am to 5pm calling',ct_default_start='900',ct_default_stop='1700'; +INSERT INTO vicidial_call_times SET call_time_id='12pm-5pm',call_time_name='default 12pm to 5pm calling',ct_default_start='1200',ct_default_stop='1700'; +INSERT INTO vicidial_call_times SET call_time_id='12pm-9pm',call_time_name='default 12pm to 9pm calling',ct_default_start='1200',ct_default_stop='1200'; +INSERT INTO vicidial_call_times SET call_time_id='5pm-9pm',call_time_name='default 5pm to 9pm calling',ct_default_start='1700',ct_default_stop='2100'; + +INSERT INTO vicidial_state_call_times SET state_call_time_id='alabama',state_call_time_state='AL',state_call_time_name='Alabama 8am-8pm and Sunday',sct_default_start='800',sct_default_stop='2000',sct_sunday_start='2400',sct_sunday_stop='2400'; +INSERT INTO vicidial_state_call_times SET state_call_time_id='illinois',state_call_time_state='IL',state_call_time_name='Illinois 8am',sct_default_start='800',sct_default_stop='2100'; +INSERT INTO vicidial_state_call_times SET state_call_time_id='indiana',state_call_time_state='IN',state_call_time_name='Indiana 8pm restriction',sct_default_start='900',sct_default_stop='2000'; +INSERT INTO vicidial_state_call_times SET state_call_time_id='kentucky',state_call_time_state='KY',state_call_time_name='Kentucky 10am restriction',sct_default_start='1000',sct_default_stop='2100'; +INSERT INTO vicidial_state_call_times SET state_call_time_id='louisiana',state_call_time_state='LA',state_call_time_name='Louisiana 8am-8pm and Sunday',sct_default_start='800',sct_default_stop='2000',sct_sunday_start='2400',sct_sunday_stop='2400'; +INSERT INTO vicidial_state_call_times SET state_call_time_id='massachuse',state_call_time_state='MA',state_call_time_name='Massachusetts 8am-8pm',sct_default_start='800',sct_default_stop='2000'; +INSERT INTO vicidial_state_call_times SET state_call_time_id='mississipp',state_call_time_state='MS',state_call_time_name='Mississippi 8am-8pm and Sunday',sct_default_start='800',sct_default_stop='2000',sct_sunday_start='2400',sct_sunday_stop='2400'; +INSERT INTO vicidial_state_call_times SET state_call_time_id='nebraska',state_call_time_state='NE',state_call_time_name='Nebraska 8am',sct_default_start='800',sct_default_stop='2100'; +INSERT INTO vicidial_state_call_times SET state_call_time_id='nevada',state_call_time_state='NV',state_call_time_name='Nevada 8pm restriction',sct_default_start='900',sct_default_stop='2000'; +INSERT INTO vicidial_state_call_times SET state_call_time_id='pennsylvan',state_call_time_state='PA',state_call_time_name='Pennsylvania sunday restriction',sct_sunday_start='1330',sct_sunday_stop='2100'; +INSERT INTO vicidial_state_call_times SET state_call_time_id='rhodeislan',state_call_time_state='RI',state_call_time_name='Rhode Island restrictions',sct_default_start='900',sct_default_stop='1800',sct_sunday_start='2400',sct_sunday_stop='2400',sct_saturday_start='1000',sct_saturday_stop='1700'; +INSERT INTO vicidial_state_call_times SET state_call_time_id='sdakota',state_call_time_state='SD',state_call_time_name='South Dakota sunday restrict',sct_sunday_start='2400',sct_sunday_stop='2400'; +INSERT INTO vicidial_state_call_times SET state_call_time_id='tennessee',state_call_time_state='TN',state_call_time_name='Tennessee 8am',sct_default_start='800',sct_default_stop='2100'; +INSERT INTO vicidial_state_call_times SET state_call_time_id='texas',state_call_time_state='TX',state_call_time_name='Texas sunday restriction',sct_sunday_start='1200',sct_sunday_stop='2100'; +INSERT INTO vicidial_state_call_times SET state_call_time_id='utah',state_call_time_state='UT',state_call_time_name='Utah 8pm restriction',sct_default_start='900',sct_default_stop='2000'; +INSERT INTO vicidial_state_call_times SET state_call_time_id='washington',state_call_time_state='WA',state_call_time_name='Washington 8am',sct_default_start='800',sct_default_stop='2100'; +INSERT INTO vicidial_state_call_times SET state_call_time_id='wyoming',state_call_time_state='WY',state_call_time_name='Wyoming 8am-8pm',sct_default_start='800',sct_default_stop='2000'; + +INSERT INTO vicidial_shifts SET shift_id='24HRMIDNIGHT',shift_name='24 hours 7 days a week',shift_start_time='0000',shift_length='24:00',shift_weekdays='0123456'; + +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','USA','227','MD','-5','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','CAN','343','ON','-5','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','USA','364','KY','-6','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','USA','447','IL','-6','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','USA','575','NM','-7','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','CAN','581','QC','-5','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','CAN','587','AB','-7','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','USA','659','AL','-6','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','USA','667','MD','-5','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','USA','681','WV','-5','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','USA','730','IL','-6','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','DOM','829','','-4','N','','Dominican Republic'); + +INSERT INTO vicidial_conf_templates SET template_id='SIP_generic',template_name='SIP phone generic',template_contents="type=friend\nhost=dynamic\ncanreinvite=no\ncontext=default"; +INSERT INTO vicidial_conf_templates SET template_id='IAX_generic',template_name='IAX phone generic',template_contents="type=friend\nhost=dynamic\nmaxauthreq=10\nauth=md5,plaintext,rsa\ncontext=default"; + +INSERT INTO vicidial_server_carriers SET carrier_id='PARAXIP', carrier_name='TEST ParaXip CPD example',registration_string='', template_id='--NONE--', account_entry="[paraxip]\ndisallow=all\nallow=ulaw\ntype=peer\nusername=paraxip\nfromuser=paraxip\nsecret=test\nfromdomain=10.10.10.16\nhost=10.10.10.15\ninsecure=port,invite\noutboundproxy=10.0.0.7", protocol='SIP', globals_string='TESTSIPTRUNKP = SIP/paraxip', dialplan_entry="exten => _5591999NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)\nexten => _5591999NXXXXXX,2,Dial(${TESTSIPTRUNKP}/${EXTEN:4},,tTor)\nexten => _5591999NXXXXXX,3,Hangup", server_ip='10.10.10.15', active='N'; +INSERT INTO vicidial_server_carriers SET carrier_id='SIPEXAMPLE', carrier_name='TEST SIP carrier example',registration_string='register => testcarrier:test@10.10.10.15:5060', template_id='--NONE--', account_entry="[testcarrier]\ndisallow=all\nallow=ulaw\ntype=friend\nusername=testcarrier\nsecret=test\nhost=dynamic\ndtmfmode=rfc2833\ncontext=trunkinbound\n", protocol='SIP', globals_string='TESTSIPTRUNK = SIP/testcarrier', dialplan_entry="exten => _91999NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)\nexten => _91999NXXXXXX,2,Dial(${TESTSIPTRUNK}/${EXTEN:2},,tTor)\nexten => _91999NXXXXXX,3,Hangup\n", server_ip='10.10.10.15', active='N'; +INSERT INTO vicidial_server_carriers SET carrier_id='IAXEXAMPLE', carrier_name='TEST IAX carrier example',registration_string='register => testcarrier:test@10.10.10.15:4569', template_id='--NONE--', account_entry="[testcarrier]\ndisallow=all\nallow=ulaw\ntype=friend\naccountcode=testcarrier\nsecret=test\nhost=dynamic\ncontext=trunkinbound\n", protocol='IAX2', globals_string='TESTIAXTRUNK = IAX2/testcarrier', dialplan_entry="exten => _71999NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)\nexten => _71999NXXXXXX,2,Dial(${TESTIAXTRUNK}/${EXTEN:2},,tTor)\nexten => _71999NXXXXXX,3,Hangup\n", server_ip='10.10.10.15', active='N'; + +INSERT INTO vicidial_inbound_dids SET did_pattern='default', did_description='Default DID', did_active='Y', did_route='EXTEN', extension='9998811112', exten_context='default'; + +UPDATE system_settings SET qc_last_pull_time=NOW(); + +CREATE INDEX country_postal_code on vicidial_postal_codes (country_code,postal_code); +CREATE INDEX country_area_code on vicidial_phone_codes (country_code,areacode); +CREATE INDEX country_state on vicidial_phone_codes (country_code,state); +CREATE INDEX country_code on vicidial_phone_codes (country_code); +CREATE INDEX phone_list on vicidial_list (phone_number,list_id); +CREATE INDEX list_phone on vicidial_list (list_id,phone_number); +CREATE INDEX start_time on call_log (start_time); +CREATE INDEX end_time on call_log (end_time); +CREATE INDEX time on call_log (start_time,end_time); +CREATE INDEX list_status on vicidial_list (list_id,status); +CREATE INDEX time_user on vicidial_agent_log (event_time,user); +CREATE INDEX date_user on vicidial_xfer_log (call_date,user); +CREATE INDEX date_closer on vicidial_xfer_log (call_date,closer); +CREATE INDEX phone_number on vicidial_xfer_log (phone_number); +CREATE INDEX phone_number on vicidial_closer_log (phone_number); +CREATE INDEX date_user on vicidial_closer_log (call_date,user); +CREATE INDEX comment_a on live_inbound_log (comment_a); + +UPDATE system_settings SET db_schema_version='1134'; + +GRANT RELOAD ON *.* TO cron@'%'; +GRANT RELOAD ON *.* TO cron@localhost; + +flush privileges; diff --git a/agc_2-X/branches/agc_2.0.5/extras/Net/HTTP/Methods.pm b/agc_2-X/branches/agc_2.0.5/extras/Net/HTTP/Methods.pm new file mode 100644 index 00000000..b1b2115f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/Net/HTTP/Methods.pm @@ -0,0 +1,520 @@ +package Net::HTTP::Methods; + +# $Id: Methods.pm,v 1.12 2002/12/26 09:13:55 gisle Exp $ + +require 5.005; # 4-arg substr + +use strict; +use vars qw($VERSION); + +$VERSION = "1.00"; + +my $CRLF = "\015\012"; # "\r\n" is not portable + +sub new { + my($class, %cnf) = @_; + require Symbol; + my $self = bless Symbol::gensym(), $class; + return $self->http_configure(\%cnf); +} + +sub http_configure { + my($self, $cnf) = @_; + + die "Listen option not allowed" if $cnf->{Listen}; + my $host = delete $cnf->{Host}; + my $peer = $cnf->{PeerAddr} || $cnf->{PeerHost}; + if ($host) { + $cnf->{PeerAddr} = $host unless $peer; + } + else { + $host = $peer; + $host =~ s/:.*//; + } + $cnf->{PeerPort} = $self->http_default_port unless $cnf->{PeerPort}; + $cnf->{Proto} = 'tcp'; + + my $keep_alive = delete $cnf->{KeepAlive}; + my $http_version = delete $cnf->{HTTPVersion}; + $http_version = "1.1" unless defined $http_version; + my $peer_http_version = delete $cnf->{PeerHTTPVersion}; + $peer_http_version = "1.0" unless defined $peer_http_version; + my $send_te = delete $cnf->{SendTE}; + my $max_line_length = delete $cnf->{MaxLineLength}; + $max_line_length = 4*1024 unless defined $max_line_length; + my $max_header_lines = delete $cnf->{MaxHeaderLines}; + $max_header_lines = 128 unless defined $max_header_lines; + + return undef unless $self->http_connect($cnf); + + unless ($host =~ /:/) { + my $p = $self->peerport; + $host .= ":$p"; + } + $self->host($host); + $self->keep_alive($keep_alive); + $self->send_te($send_te); + $self->http_version($http_version); + $self->peer_http_version($peer_http_version); + $self->max_line_length($max_line_length); + $self->max_header_lines($max_header_lines); + + ${*$self}{'http_buf'} = ""; + + return $self; +} + +sub http_default_port { + 80; +} + +# set up property accessors +for my $method (qw(host keep_alive send_te max_line_length max_header_lines peer_http_version)) { + my $prop_name = "http_" . $method; + no strict 'refs'; + *$method = sub { + my $self = shift; + my $old = ${*$self}{$prop_name}; + ${*$self}{$prop_name} = shift if @_; + return $old; + }; +} + +# we want this one to be a bit smarter +sub http_version { + my $self = shift; + my $old = ${*$self}{'http_version'}; + if (@_) { + my $v = shift; + $v = "1.0" if $v eq "1"; # float + unless ($v eq "1.0" or $v eq "1.1") { + require Carp; + Carp::croak("Unsupported HTTP version '$v'"); + } + ${*$self}{'http_version'} = $v; + } + $old; +} + +sub format_request { + my $self = shift; + my $method = shift; + my $uri = shift; + + my $content = (@_ % 2) ? pop : ""; + + for ($method, $uri) { + require Carp; + Carp::croak("Bad method or uri") if /\s/ || !length; + } + + push(@{${*$self}{'http_request_method'}}, $method); + my $ver = ${*$self}{'http_version'}; + my $peer_ver = ${*$self}{'http_peer_http_version'} || "1.0"; + + my @h; + my @connection; + my %given = (host => 0, "content-length" => 0, "te" => 0); + while (@_) { + my($k, $v) = splice(@_, 0, 2); + my $lc_k = lc($k); + if ($lc_k eq "connection") { + push(@connection, split(/\s*,\s*/, $v)); + next; + } + if (exists $given{$lc_k}) { + $given{$lc_k}++; + } + push(@h, "$k: $v"); + } + + if (length($content) && !$given{'content-length'}) { + push(@h, "Content-Length: " . length($content)); + } + + my @h2; + if ($given{te}) { + push(@connection, "TE") unless grep lc($_) eq "te", @connection; + } + elsif ($self->send_te && zlib_ok()) { + # gzip is less wanted since the Compress::Zlib interface for + # it does not really allow chunked decoding to take place easily. + push(@h2, "TE: deflate,gzip;q=0.3"); + push(@connection, "TE"); + } + + unless (grep lc($_) eq "close", @connection) { + if ($self->keep_alive) { + if ($peer_ver eq "1.0") { + # from looking at Netscape's headers + push(@h2, "Keep-Alive: 300"); + unshift(@connection, "Keep-Alive"); + } + } + else { + push(@connection, "close") if $ver ge "1.1"; + } + } + push(@h2, "Connection: " . join(", ", @connection)) if @connection; + push(@h2, "Host: ${*$self}{'http_host'}") unless $given{host}; + + return join($CRLF, "$method $uri HTTP/$ver", @h2, @h, "", $content); +} + + +sub write_request { + my $self = shift; + $self->print($self->format_request(@_)); +} + +sub format_chunk { + my $self = shift; + return $_[0] unless defined($_[0]) && length($_[0]); + return sprintf("%x", length($_[0])) . $CRLF . $_[0] . $CRLF; +} + +sub write_chunk { + my $self = shift; + return 1 unless defined($_[0]) && length($_[0]); + $self->print(sprintf("%x", length($_[0])) . $CRLF . $_[0] . $CRLF); +} + +sub format_chunk_eof { + my $self = shift; + my @h; + while (@_) { + push(@h, sprintf "%s: %s$CRLF", splice(@_, 0, 2)); + } + return join("", "0$CRLF", @h, $CRLF); +} + +sub write_chunk_eof { + my $self = shift; + $self->print($self->format_chunk_eof(@_)); +} + + +sub my_read { + die if @_ > 3; + my $self = shift; + my $len = $_[1]; + for (${*$self}{'http_buf'}) { + if (length) { + $_[0] = substr($_, 0, $len, ""); + return length($_[0]); + } + else { + return $self->sysread($_[0], $len); + } + } +} + + +sub my_readline { + my $self = shift; + for (${*$self}{'http_buf'}) { + my $max_line_length = ${*$self}{'http_max_line_length'}; + my $pos; + while (1) { + # find line ending + $pos = index($_, "\012"); + last if $pos >= 0; + die "Line too long (limit is $max_line_length)" + if $max_line_length && length($_) > $max_line_length; + + # need to read more data to find a line ending + my $n = $self->sysread($_, 1024, length); + if (!$n) { + return undef unless length; + return substr($_, 0, length, ""); + } + } + die "Line too long ($pos; limit is $max_line_length)" + if $max_line_length && $pos > $max_line_length; + + my $line = substr($_, 0, $pos+1, ""); + $line =~ s/(\015?\012)\z// || die "Assert"; + return wantarray ? ($line, $1) : $line; + } +} + + +sub _rbuf { + my $self = shift; + if (@_) { + for (${*$self}{'http_buf'}) { + my $old; + $old = $_ if defined wantarray; + $_ = shift; + return $old; + } + } + else { + return ${*$self}{'http_buf'}; + } +} + +sub _rbuf_length { + my $self = shift; + return length ${*$self}{'http_buf'}; +} + + +sub _read_header_lines { + my $self = shift; + my $junk_out = shift; + + my @headers; + my $line_count = 0; + my $max_header_lines = ${*$self}{'http_max_header_lines'}; + while (my $line = my_readline($self)) { + if ($line =~ /^(\S+)\s*:\s*(.*)/s) { + push(@headers, $1, $2); + } + elsif (@headers && $line =~ s/^\s+//) { + $headers[-1] .= " " . $line; + } + elsif ($junk_out) { + push(@$junk_out, $line); + } + else { + die "Bad header: '$line'\n"; + } + if ($max_header_lines) { + $line_count++; + if ($line_count >= $max_header_lines) { + die "Too many header lines (limit is $max_header_lines)"; + } + } + } + return @headers; +} + + +sub read_response_headers { + my($self, %opt) = @_; + my $laxed = $opt{laxed}; + + my($status, $eol) = my_readline($self); + unless (defined $status) { + die "EOF instead of response status line" unless $laxed; + # assume HTTP/0.9 + ${*$self}{'http_peer_http_version'} = "0.9"; + ${*$self}{'http_status'} = "200"; + return 200 unless wantarray; + return (200, "EOF"); + } + + my($peer_ver, $code, $message) = split(/\s+/, $status, 3); + if (!$peer_ver || $peer_ver !~ s,^HTTP/,, || $code !~ /^[1-5]\d\d$/) { + die "Bad response status line: '$status'" unless $laxed; + # assume HTTP/0.9 + ${*$self}{'http_peer_http_version'} = "0.9"; + ${*$self}{'http_status'} = "200"; + substr(${*$self}{'http_buf'}, 0, 0) = $status . $eol; + return 200 unless wantarray; + return (200, "Assumed OK"); + }; + + ${*$self}{'http_peer_http_version'} = $peer_ver; + ${*$self}{'http_status'} = $code; + + my $junk_out; + if ($laxed) { + $junk_out = $opt{junk_out} || []; + } + my @headers = $self->_read_header_lines($junk_out); + + # pick out headers that read_entity_body might need + my @te; + my $content_length; + for (my $i = 0; $i < @headers; $i += 2) { + my $h = lc($headers[$i]); + if ($h eq 'transfer-encoding') { + push(@te, $headers[$i+1]); + } + elsif ($h eq 'content-length') { + $content_length = $headers[$i+1]; + } + } + ${*$self}{'http_te'} = join(",", @te); + ${*$self}{'http_content_length'} = $content_length; + ${*$self}{'http_first_body'}++; + delete ${*$self}{'http_trailers'}; + return $code unless wantarray; + return ($code, $message, @headers); +} + + +sub read_entity_body { + my $self = shift; + my $buf_ref = \$_[0]; + my $size = $_[1]; + die "Offset not supported yet" if $_[2]; + + my $chunked; + my $bytes; + + if (${*$self}{'http_first_body'}) { + ${*$self}{'http_first_body'} = 0; + delete ${*$self}{'http_chunked'}; + delete ${*$self}{'http_bytes'}; + my $method = shift(@{${*$self}{'http_request_method'}}); + my $status = ${*$self}{'http_status'}; + if ($method eq "HEAD" || $status =~ /^(?:1|[23]04)/) { + # these responses are always empty + $bytes = 0; + } + elsif (my $te = ${*$self}{'http_te'}) { + my @te = split(/\s*,\s*/, lc($te)); + die "Chunked must be last Transfer-Encoding '$te'" + unless pop(@te) eq "chunked"; + + for (@te) { + if ($_ eq "deflate" && zlib_ok()) { + #require Compress::Zlib; + my $i = Compress::Zlib::inflateInit(); + die "Can't make inflator" unless $i; + $_ = sub { scalar($i->inflate($_[0])) } + } + elsif ($_ eq "gzip" && zlib_ok()) { + #require Compress::Zlib; + my @buf; + $_ = sub { + push(@buf, $_[0]); + return Compress::Zlib::memGunzip(join("", @buf)) if $_[1]; + return ""; + }; + } + elsif ($_ eq "identity") { + $_ = sub { $_[0] }; + } + else { + die "Can't handle transfer encoding '$te'"; + } + } + + @te = reverse(@te); + + ${*$self}{'http_te2'} = @te ? \@te : ""; + $chunked = -1; + } + elsif (defined(my $content_length = ${*$self}{'http_content_length'})) { + $bytes = $content_length; + } + else { + # XXX Multi-Part types are self delimiting, but RFC 2616 says we + # only has to deal with 'multipart/byteranges' + + # Read until EOF + } + } + else { + $chunked = ${*$self}{'http_chunked'}; + $bytes = ${*$self}{'http_bytes'}; + } + + if (defined $chunked) { + # The state encoded in $chunked is: + # $chunked == 0: read CRLF after chunk, then chunk header + # $chunked == -1: read chunk header + # $chunked > 0: bytes left in current chunk to read + + if ($chunked <= 0) { + my $line = my_readline($self); + if ($chunked == 0) { + die "Missing newline after chunk data: '$line'" unless $line eq ""; + $line = my_readline($self); + } + my $chunk_len = $line; + $chunk_len =~ s/;.*//; # ignore potential chunk parameters + unless ($chunk_len =~ /^([\da-fA-F]+)\s*$/) { + die "Bad chunk-size in HTTP response: $line"; + } + $chunked = hex($1); + if ($chunked == 0) { + ${*$self}{'http_trailers'} = [$self->_read_header_lines]; + $$buf_ref = ""; + + my $n = 0; + if (my $transforms = delete ${*$self}{'http_te2'}) { + for (@$transforms) { + $$buf_ref = &$_($$buf_ref, 1); + } + $n = length($$buf_ref); + } + + # in case somebody tries to read more, make sure we continue + # to return EOF + delete ${*$self}{'http_chunked'}; + ${*$self}{'http_bytes'} = 0; + + return $n; + } + } + + my $n = $chunked; + $n = $size if $size && $size < $n; + $n = my_read($self, $$buf_ref, $n); + return undef unless defined $n; + + ${*$self}{'http_chunked'} = $chunked - $n; + + if ($n > 0) { + if (my $transforms = ${*$self}{'http_te2'}) { + for (@$transforms) { + $$buf_ref = &$_($$buf_ref, 0); + } + $n = length($$buf_ref); + $n = -1 if $n == 0; + } + } + return $n; + } + elsif (defined $bytes) { + unless ($bytes) { + $$buf_ref = ""; + return 0; + } + my $n = $bytes; + $n = $size if $size && $size < $n; + $n = my_read($self, $$buf_ref, $n); + return undef unless defined $n; + ${*$self}{'http_bytes'} = $bytes - $n; + return $n; + } + else { + # read until eof + $size ||= 8*1024; + return my_read($self, $$buf_ref, $size); + } +} + +sub get_trailers { + my $self = shift; + @{${*$self}{'http_trailers'} || []}; +} + +BEGIN { +my $zlib_ok; + +sub zlib_ok { + return $zlib_ok if defined $zlib_ok; + + # Try to load Compress::Zlib. + local $@; + local $SIG{__DIE__}; + $zlib_ok = 0; + + eval { + require Compress::Zlib; + Compress::Zlib->VERSION(1.10); + $zlib_ok++; + }; + + return $zlib_ok; +} + +} # BEGIN + +1; diff --git a/agc_2-X/branches/agc_2.0.5/extras/Net/HTTP/NB.pm b/agc_2-X/branches/agc_2.0.5/extras/Net/HTTP/NB.pm new file mode 100644 index 00000000..feeee310 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/Net/HTTP/NB.pm @@ -0,0 +1,106 @@ +package Net::HTTP::NB; + +# $Id: NB.pm,v 1.5 2001/08/28 03:03:42 gisle Exp $ + +use strict; +use vars qw($VERSION @ISA); + +$VERSION = "0.02"; +require Net::HTTP; +@ISA=qw(Net::HTTP); + +sub sysread { + my $self = $_[0]; + if (${*$self}{'httpnb_read_count'}++) { + ${*$self}{'http_buf'} = ${*$self}{'httpnb_save'}; + die "Multi-read\n"; + } + my $buf; + my $offset = $_[3] || 0; + my $n = sysread($self, $_[1], $_[2], $offset); + ${*$self}{'httpnb_save'} .= substr($_[1], $offset); + return $n; +} + +sub read_response_headers { + my $self = shift; + ${*$self}{'httpnb_read_count'} = 0; + ${*$self}{'httpnb_save'} = ${*$self}{'http_buf'}; + my @h = eval { $self->SUPER::read_response_headers(@_) }; + if ($@) { + return if $@ eq "Multi-read\n"; + die; + } + return @h; +} + +sub read_entity_body { + my $self = shift; + ${*$self}{'httpnb_read_count'} = 0; + ${*$self}{'httpnb_save'} = ${*$self}{'http_buf'}; + # XXX I'm not so sure this does the correct thing in case of + # transfer-encoding tranforms + my $n = eval { $self->SUPER::read_entity_body(@_); }; + if ($@) { + $_[0] = ""; + return -1; + } + return $n; +} + +1; + +__END__ + +=head1 NAME + +Net::HTTP::NB - Non-blocking HTTP client + +=head1 SYNOPSIS + + use Net::HTTP::NB; + my $s = Net::HTTP::NB->new(Host => "www.perl.com) || die $@; + $s->write_request(GET => "/"); + + use IO::Select; + my $sel = IO::Select->new($s); + + READ_HEADER: { + die "Header timeout" unless $sel->can_read(10); + my($code, $mess, %h) = $s->read_response_headers; + redo READ_HEADER unless $code; + } + + while (1) { + die "Body timeout" unless $sel->can_read(10); + my $buf; + my $n = $s->read_entity_body($buf, 1024); + last unless $n; + print $buf; + } + +=head1 DESCRIPTION + +Same interface as C but it will never try multiple reads +when the read_response_headers() or read_entity_body() methods are +invoked. This make it possible to multiplex multiple Net::HTTP::NB +using select without risk blocking. + +If read_response_headers() did not see enough data to complete the +headers an empty list is returned. + +If read_entity_body() did not see new entity data in its read +the value -1 is returned. + +=head1 SEE ALSO + +L + +=head1 COPYRIGHT + +Copyright 2001 Gisle Aas. + +This library is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + +=cut diff --git a/agc_2-X/branches/agc_2.0.5/extras/Net/Telnet.pm b/agc_2-X/branches/agc_2.0.5/extras/Net/Telnet.pm new file mode 100644 index 00000000..9f84fe31 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/Net/Telnet.pm @@ -0,0 +1,5252 @@ +package Net::Telnet; + +## Copyright 1997, 2000, 2002 Jay Rogers. All rights reserved. +## This program is free software; you can redistribute it and/or +## modify it under the same terms as Perl itself. + +## See user documentation at the end of this file. Search for =head + +use strict; +require 5.002; + +## Module export. +use vars qw(@EXPORT_OK); +@EXPORT_OK = qw(TELNET_IAC TELNET_DONT TELNET_DO TELNET_WONT TELNET_WILL + TELNET_SB TELNET_GA TELNET_EL TELNET_EC TELNET_AYT TELNET_AO + TELNET_IP TELNET_BREAK TELNET_DM TELNET_NOP TELNET_SE + TELNET_EOR TELNET_ABORT TELNET_SUSP TELNET_EOF TELNET_SYNCH + TELOPT_BINARY TELOPT_ECHO TELOPT_RCP TELOPT_SGA TELOPT_NAMS + TELOPT_STATUS TELOPT_TM TELOPT_RCTE TELOPT_NAOL TELOPT_NAOP + TELOPT_NAOCRD TELOPT_NAOHTS TELOPT_NAOHTD TELOPT_NAOFFD + TELOPT_NAOVTS TELOPT_NAOVTD TELOPT_NAOLFD TELOPT_XASCII + TELOPT_LOGOUT TELOPT_BM TELOPT_DET TELOPT_SUPDUP + TELOPT_SUPDUPOUTPUT TELOPT_SNDLOC TELOPT_TTYPE TELOPT_EOR + TELOPT_TUID TELOPT_OUTMRK TELOPT_TTYLOC TELOPT_3270REGIME + TELOPT_X3PAD TELOPT_NAWS TELOPT_TSPEED TELOPT_LFLOW + TELOPT_LINEMODE TELOPT_XDISPLOC TELOPT_OLD_ENVIRON + TELOPT_AUTHENTICATION TELOPT_ENCRYPT TELOPT_NEW_ENVIRON + TELOPT_EXOPL); + +## Module import. +use Exporter (); +use Socket qw(AF_INET SOCK_STREAM inet_aton sockaddr_in); +use Symbol qw(qualify); + +## Base classes. +use vars qw(@ISA); +@ISA = qw(Exporter); +if (&_io_socket_include) { # successfully required module IO::Socket + push @ISA, "IO::Socket::INET"; +} +else { # perl version < 5.004 + require FileHandle; + push @ISA, "FileHandle"; +} + +## Global variables. +use vars qw($VERSION @Telopts); +$VERSION = "3.03"; +@Telopts = ("BINARY", "ECHO", "RCP", "SUPPRESS GO AHEAD", "NAME", "STATUS", + "TIMING MARK", "RCTE", "NAOL", "NAOP", "NAOCRD", "NAOHTS", + "NAOHTD", "NAOFFD", "NAOVTS", "NAOVTD", "NAOLFD", "EXTEND ASCII", + "LOGOUT", "BYTE MACRO", "DATA ENTRY TERMINAL", "SUPDUP", + "SUPDUP OUTPUT", "SEND LOCATION", "TERMINAL TYPE", "END OF RECORD", + "TACACS UID", "OUTPUT MARKING", "TTYLOC", "3270 REGIME", "X.3 PAD", + "NAWS", "TSPEED", "LFLOW", "LINEMODE", "XDISPLOC", "OLD-ENVIRON", + "AUTHENTICATION", "ENCRYPT", "NEW-ENVIRON"); + + +########################### Public Methods ########################### + + +sub new { + my ($class) = @_; + my ( + $errmode, + $fh_open, + $host, + $self, + %args, + ); + local $_; + + ## Create a new object with defaults. + $self = $class->SUPER::new; + *$self->{net_telnet} = { + bin_mode => 0, + blksize => &_optimal_blksize(), + buf => "", + cmd_prompt => '/[\$%#>] $/', + cmd_rm_mode => "auto", + dumplog => '', + eofile => 1, + errormode => "die", + errormsg => "", + fdmask => '', + host => "localhost", + inputlog => '', + last_line => "", + last_prompt => "", + maxbufsize => 1_048_576, + num_wrote => 0, + ofs => "", + opened => '', + opt_cback => '', + opt_log => '', + opts => {}, + ors => "\n", + outputlog => '', + pending_errormsg => "", + port => 23, + pushback_buf => "", + rs => "\n", + subopt_cback => '', + telnet_mode => 1, + time_out => 10, + timedout => '', + unsent_opts => "", + }; + + ## Indicate that we'll accept an offer from remote side for it to echo + ## and suppress go aheads. + &_opt_accept($self, + { option => &TELOPT_ECHO, + is_remote => 1, + is_enable => 1 }, + { option => &TELOPT_SGA, + is_remote => 1, + is_enable => 1 }, + ); + + ## Parse the args. + if (@_ == 2) { # one positional arg given + $host = $_[1]; + } + elsif (@_ > 2) { # named args given + ## Get the named args. + (undef, %args) = @_; + + ## Parse all other named args. + foreach (keys %args) { + if (/^-?binmode$/i) { + $self->binmode($args{$_}); + } + elsif (/^-?cmd_remove_mode$/i) { + $self->cmd_remove_mode($args{$_}); + } + elsif (/^-?dump_log$/i) { + $self->dump_log($args{$_}); + } + elsif (/^-?errmode$/i) { + $errmode = $args{$_}; + } + elsif (/^-?fhopen$/i) { + $fh_open = $args{$_}; + } + elsif (/^-?host$/i) { + $host = $args{$_}; + } + elsif (/^-?input_log$/i) { + $self->input_log($args{$_}); + } + elsif (/^-?input_record_separator$/i or /^-?rs$/i) { + $self->input_record_separator($args{$_}); + } + elsif (/^-?option_log$/i) { + $self->option_log($args{$_}); + } + elsif (/^-?output_log$/i) { + $self->output_log($args{$_}); + } + elsif (/^-?output_record_separator$/i or /^-?ors$/i) { + $self->output_record_separator($args{$_}); + } + elsif (/^-?port$/i) { + $self->port($args{$_}); + } + elsif (/^-?prompt$/i) { + $self->prompt($args{$_}); + } + elsif (/^-?telnetmode$/i) { + $self->telnetmode($args{$_}); + } + elsif (/^-?timeout$/i) { + $self->timeout($args{$_}); + } + else { + &_croak($self, "bad named parameter \"$_\" given " . + "to " . ref($self) . "::new()"); + } + } + } + + if (defined $errmode) { # user wants to set errmode + $self->errmode($errmode); + } + + if (defined $fh_open) { # user wants us to attach to existing filehandle + $self->fhopen($fh_open) + or return; + } + elsif (defined $host) { # user wants us to open a connection to host + $self->host($host); + $self->open + or return; + } + + $self; +} # end sub new + + +sub DESTROY { +} # end sub DESTROY + + +sub binmode { + my ($self, $mode) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{bin_mode}; + + if (@_ >= 2) { + unless (defined $mode) { + $mode = 0; + } + + $s->{bin_mode} = $mode; + } + + $prev; +} # end sub binmode + + +sub break { + my ($self) = @_; + my $s = *$self->{net_telnet}; + my $break_cmd = "\xff\xf3"; + + $s->{timedout} = ''; + + &_put($self, \$break_cmd, "break"); +} # end sub break + + +sub buffer { + my ($self) = @_; + my $s = *$self->{net_telnet}; + + \$s->{buf}; +} # end sub buffer + + +sub buffer_empty { + my ($self) = @_; + my ( + $buffer, + ); + + $buffer = $self->buffer; + $$buffer = ""; +} # end sub buffer_empty + + +sub close { + my ($self) = @_; + my $s = *$self->{net_telnet}; + + $s->{eofile} = 1; + $s->{opened} = ''; + close $self + if defined fileno($self); + + 1; +} # end sub close + + +sub cmd { + my ($self, @args) = @_; + my ( + $cmd_remove_mode, + $errmode, + $firstpos, + $last_prompt, + $lastpos, + $lines, + $ors, + $output, + $output_ref, + $prompt, + $remove_echo, + $rs, + $rs_len, + $s, + $telopt_echo, + $timeout, + %args, + ); + my $cmd = ""; + local $_; + + ## Init. + $self->timed_out(''); + $self->last_prompt(""); + $s = *$self->{net_telnet}; + $output = []; + $cmd_remove_mode = $self->cmd_remove_mode; + $errmode = $self->errmode; + $ors = $self->output_record_separator; + $prompt = $self->prompt; + $rs = $self->input_record_separator; + $timeout = $self->timeout; + + ## Parse args. + if (@_ == 2) { # one positional arg given + $cmd = $_[1]; + } + elsif (@_ > 2) { # named args given + ## Get the named args. + (undef, %args) = @_; + + ## Parse the named args. + foreach (keys %args) { + if (/^-?cmd_remove/i) { + $cmd_remove_mode = &_parse_cmd_remove_mode($self, $args{$_}); + } + elsif (/^-?errmode$/i) { + $errmode = &_parse_errmode($self, $args{$_}); + } + elsif (/^-?input_record_separator$/i or /^-?rs$/i) { + $rs = &_parse_input_record_separator($self, $args{$_}); + } + elsif (/^-?output$/i) { + $output_ref = $args{$_}; + if (defined($output_ref) and ref($output_ref) eq "ARRAY") { + $output = $output_ref; + } + } + elsif (/^-?output_record_separator$/i or /^-?ors$/i) { + $ors = $self->output_record_separator($args{$_}); + } + elsif (/^-?prompt$/i) { + $prompt = &_parse_prompt($self, $args{$_}); + } + elsif (/^-?string$/i) { + $cmd = $args{$_}; + } + elsif (/^-?timeout$/i) { + $timeout = &_parse_timeout($self, $args{$_}); + } + else { + &_croak($self, "bad named parameter \"$_\" given " . + "to " . ref($self) . "::cmd()"); + } + } + } + + ## Override some user settings. + local $s->{errormode} = "return"; + local $s->{time_out} = &_endtime($timeout); + $self->errmsg(""); + + ## Send command and wait for the prompt. + $self->put($cmd . $ors) + and ($lines, $last_prompt) = $self->waitfor($prompt); + + ## Check for failure. + $s->{errormode} = $errmode; + return $self->error("command timed-out") if $self->timed_out; + return $self->error($self->errmsg) if $self->errmsg ne ""; + + ## Save the most recently matched prompt. + $self->last_prompt($last_prompt); + + ## Split lines into an array, keeping record separator at end of line. + $firstpos = 0; + $rs_len = length $rs; + while (($lastpos = index($lines, $rs, $firstpos)) > -1) { + push(@$output, + substr($lines, $firstpos, $lastpos - $firstpos + $rs_len)); + $firstpos = $lastpos + $rs_len; + } + + if ($firstpos < length $lines) { + push @$output, substr($lines, $firstpos); + } + + ## Determine if we should remove the first line of output based + ## on the assumption that it's an echoed back command. + if ($cmd_remove_mode eq "auto") { + ## See if remote side told us they'd echo. + $telopt_echo = $self->option_state(&TELOPT_ECHO); + $remove_echo = $telopt_echo->{remote_enabled}; + } + else { # user explicitly told us how many lines to remove. + $remove_echo = $cmd_remove_mode; + } + + ## Get rid of possible echo back command. + while ($remove_echo--) { + shift @$output; + } + + ## Ensure at least a null string when there's no command output - so + ## "true" is returned in a list context. + unless (@$output) { + @$output = (""); + } + + ## Return command output via named arg, if requested. + if (defined $output_ref) { + if (ref($output_ref) eq "SCALAR") { + $$output_ref = join "", @$output; + } + elsif (ref($output_ref) eq "HASH") { + %$output_ref = @$output; + } + } + + wantarray ? @$output : 1; +} # end sub cmd + + +sub cmd_remove_mode { + my ($self, $mode) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{cmd_rm_mode}; + + if (@_ >= 2) { + $s->{cmd_rm_mode} = &_parse_cmd_remove_mode($self, $mode); + } + + $prev; +} # end sub cmd_remove_mode + + +sub dump_log { + my ($self, $name) = @_; + my ( + $fh, + $s, + ); + + $s = *$self->{net_telnet}; + $fh = $s->{dumplog}; + + if (@_ >= 2) { + unless (defined $name) { + $name = ""; + } + + $fh = &_fname_to_handle($self, $name) + or return; + $s->{dumplog} = $fh; + } + + $fh; +} # end sub dump_log + + +sub eof { + my ($self) = @_; + + *$self->{net_telnet}{eofile}; +} # end sub eof + + +sub errmode { + my ($self, $mode) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{errormode}; + + if (@_ >= 2) { + $s->{errormode} = &_parse_errmode($self, $mode); + } + + $prev; +} # end sub errmode + + +sub errmsg { + my ($self, @errmsgs) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{errormsg}; + + if (@_ >= 2) { + $s->{errormsg} = join "", @errmsgs; + } + + $prev; +} # end sub errmsg + + +sub error { + my ($self, @errmsg) = @_; + my ( + $errmsg, + $func, + $mode, + $s, + @args, + ); + local $_; + + $s = *$self->{net_telnet}; + + if (@_ >= 2) { + ## Put error message in the object. + $errmsg = join "", @errmsg; + $s->{errormsg} = $errmsg; + + ## Do the error action as described by error mode. + $mode = $s->{errormode}; + if (ref($mode) eq "CODE") { + &$mode($errmsg); + return; + } + elsif (ref($mode) eq "ARRAY") { + ($func, @args) = @$mode; + &$func(@args); + return; + } + elsif ($mode =~ /^return$/i) { + return; + } + else { # die + if ($errmsg =~ /\n$/) { + die $errmsg; + } + else { + ## Die and append caller's line number to message. + &_croak($self, $errmsg); + } + } + } + else { + return $s->{errormsg} ne ""; + } +} # end sub error + + +sub fhopen { + my ($self, $fh) = @_; + my ( + $globref, + $s, + ); + + ## Convert given filehandle to a typeglob reference, if necessary. + $globref = &_qualify_fh($self, $fh); + + ## Ensure filehandle is already open. + return $self->error("fhopen filehandle isn't already open") + unless defined($globref) and defined(fileno $globref); + + ## Ensure we're closed. + $self->close; + + ## Save our private data. + $s = *$self->{net_telnet}; + + ## Switch ourself with the given filehandle. + *$self = *$globref; + + ## Restore our private data. + *$self->{net_telnet} = $s; + + ## Re-initialize ourself. + select((select($self), $|=1)[$[]); # don't buffer writes + $s = *$self->{net_telnet}; + $s->{blksize} = &_optimal_blksize((stat $self)[11]); + $s->{buf} = ""; + $s->{eofile} = ''; + $s->{errormsg} = ""; + vec($s->{fdmask}='', fileno($self), 1) = 1; + $s->{host} = ""; + $s->{last_line} = ""; + $s->{last_prompt} = ""; + $s->{num_wrote} = 0; + $s->{opened} = 1; + $s->{pending_errormsg} = ""; + $s->{port} = ''; + $s->{pushback_buf} = ""; + $s->{timedout} = ''; + $s->{unsent_opts} = ""; + &_reset_options($s->{opts}); + + 1; +} # end sub fhopen + + +sub get { + my ($self, %args) = @_; + my ( + $binmode, + $endtime, + $errmode, + $line, + $s, + $telnetmode, + $timeout, + ); + local $_; + + ## Init. + $s = *$self->{net_telnet}; + $timeout = $s->{time_out}; + $s->{timedout} = ''; + return if $s->{eofile}; + + ## Parse the named args. + foreach (keys %args) { + if (/^-?binmode$/i) { + $binmode = $args{$_}; + unless (defined $binmode) { + $binmode = 0; + } + } + elsif (/^-?errmode$/i) { + $errmode = &_parse_errmode($self, $args{$_}); + } + elsif (/^-?telnetmode$/i) { + $telnetmode = $args{$_}; + unless (defined $telnetmode) { + $telnetmode = 0; + } + } + elsif (/^-?timeout$/i) { + $timeout = &_parse_timeout($self, $args{$_}); + } + else { + &_croak($self, "bad named parameter \"$_\" given " . + "to " . ref($self) . "::get()"); + } + } + + ## If any args given, override corresponding instance data. + local $s->{errormode} = $errmode + if defined $errmode; + local $s->{bin_mode} = $binmode + if defined $binmode; + local $s->{telnet_mode} = $telnetmode + if defined $telnetmode; + + ## Set wall time when we time out. + $endtime = &_endtime($timeout); + + ## Try to send any waiting option negotiation. + if (length $s->{unsent_opts}) { + &_flush_opts($self); + } + + ## Try to read just the waiting data using return error mode. + { + local $s->{errormode} = "return"; + $s->{errormsg} = ""; + &_fillbuf($self, $s, 0); + } + + ## We're done if we timed-out and timeout value is set to "poll". + return $self->error($s->{errormsg}) + if ($s->{timedout} and defined($timeout) and $timeout == 0 + and !length $s->{buf}); + + ## We're done if we hit an error other than timing out. + if ($s->{errormsg} and !$s->{timedout}) { + if (!length $s->{buf}) { + return $self->error($s->{errormsg}); + } + else { # error encountered but there's some data in buffer + $s->{pending_errormsg} = $s->{errormsg}; + } + } + + ## Clear time-out error from first read. + $s->{timedout} = ''; + $s->{errormsg} = ""; + + ## If buffer is still empty, try to read according to user's timeout. + if (!length $s->{buf}) { + &_fillbuf($self, $s, $endtime) + or do { + return if $s->{timedout}; + + ## We've reached end-of-file. + $self->close; + return; + }; + } + + ## Extract chars from buffer. + $line = $s->{buf}; + $s->{buf} = ""; + + $line; +} # end sub get + + +sub getline { + my ($self, %args) = @_; + my ( + $binmode, + $endtime, + $errmode, + $len, + $line, + $offset, + $pos, + $rs, + $s, + $telnetmode, + $timeout, + ); + local $_; + + ## Init. + $s = *$self->{net_telnet}; + $s->{timedout} = ''; + return if $s->{eofile}; + $rs = $s->{rs}; + $timeout = $s->{time_out}; + + ## Parse the named args. + foreach (keys %args) { + if (/^-?binmode$/i) { + $binmode = $args{$_}; + unless (defined $binmode) { + $binmode = 0; + } + } + elsif (/^-?errmode$/i) { + $errmode = &_parse_errmode($self, $args{$_}); + } + elsif (/^-?input_record_separator$/i or /^-?rs$/i) { + $rs = &_parse_input_record_separator($self, $args{$_}); + } + elsif (/^-?telnetmode$/i) { + $telnetmode = $args{$_}; + unless (defined $telnetmode) { + $telnetmode = 0; + } + } + elsif (/^-?timeout$/i) { + $timeout = &_parse_timeout($self, $args{$_}); + } + else { + &_croak($self, "bad named parameter \"$_\" given " . + "to " . ref($self) . "::getline()"); + } + } + + ## If any args given, override corresponding instance data. + local $s->{bin_mode} = $binmode + if defined $binmode; + local $s->{errormode} = $errmode + if defined $errmode; + local $s->{telnet_mode} = $telnetmode + if defined $telnetmode; + + ## Set wall time when we time out. + $endtime = &_endtime($timeout); + + ## Try to send any waiting option negotiation. + if (length $s->{unsent_opts}) { + &_flush_opts($self); + } + + ## Keep reading into buffer until end-of-line is read. + $offset = 0; + while (($pos = index($s->{buf}, $rs, $offset)) == -1) { + $offset = length $s->{buf}; + &_fillbuf($self, $s, $endtime) + or do { + return if $s->{timedout}; + + ## We've reached end-of-file. + $self->close; + if (length $s->{buf}) { + return $s->{buf}; + } + else { + return; + } + }; + } + + ## Extract line from buffer. + $len = $pos + length $rs; + $line = substr($s->{buf}, 0, $len); + substr($s->{buf}, 0, $len) = ""; + + $line; +} # end sub getline + + +sub getlines { + my ($self, %args) = @_; + my ( + $binmode, + $errmode, + $line, + $rs, + $s, + $telnetmode, + $timeout, + ); + my $all = 1; + my @lines = (); + local $_; + + ## Init. + $s = *$self->{net_telnet}; + $s->{timedout} = ''; + return if $s->{eofile}; + $timeout = $s->{time_out}; + + ## Parse the named args. + foreach (keys %args) { + if (/^-?all$/i) { + $all = $args{$_}; + unless (defined $all) { + $all = ''; + } + } + elsif (/^-?binmode$/i) { + $binmode = $args{$_}; + unless (defined $binmode) { + $binmode = 0; + } + } + elsif (/^-?errmode$/i) { + $errmode = &_parse_errmode($self, $args{$_}); + } + elsif (/^-?input_record_separator$/i or /^-?rs$/i) { + $rs = &_parse_input_record_separator($self, $args{$_}); + } + elsif (/^-?telnetmode$/i) { + $telnetmode = $args{$_}; + unless (defined $telnetmode) { + $telnetmode = 0; + } + } + elsif (/^-?timeout$/i) { + $timeout = &_parse_timeout($self, $args{$_}); + } + else { + &_croak($self, "bad named parameter \"$_\" given " . + "to " . ref($self) . "::getlines()"); + } + } + + ## If any args given, override corresponding instance data. + local $s->{bin_mode} = $binmode + if defined $binmode; + local $s->{errormode} = $errmode + if defined $errmode; + local $s->{rs} = $rs + if defined $rs; + local $s->{telnet_mode} = $telnetmode + if defined $telnetmode; + local $s->{time_out} = &_endtime($timeout); + + ## User requested only the currently available lines. + if (! $all) { + return &_next_getlines($self, $s); + } + + ## Read lines until eof or error. + while (1) { + $line = $self->getline + or last; + push @lines, $line; + } + + ## Check for error. + return if ! $self->eof; + + @lines; +} # end sub getlines + + +sub host { + my ($self, $host) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{host}; + + if (@_ >= 2) { + unless (defined $host) { + $host = ""; + } + + $s->{host} = $host; + } + + $prev; +} # end sub host + + +sub input_log { + my ($self, $name) = @_; + my ( + $fh, + $s, + ); + + $s = *$self->{net_telnet}; + $fh = $s->{inputlog}; + + if (@_ >= 2) { + unless (defined $name) { + $name = ""; + } + + $fh = &_fname_to_handle($self, $name) + or return; + $s->{inputlog} = $fh; + } + + $fh; +} # end sub input_log + + +sub input_record_separator { + my ($self, $rs) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{rs}; + + if (@_ >= 2) { + $s->{rs} = &_parse_input_record_separator($self, $rs); + } + + $prev; +} # end sub input_record_separator + + +sub last_prompt { + my ($self, $string) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{last_prompt}; + + if (@_ >= 2) { + unless (defined $string) { + $string = ""; + } + + $s->{last_prompt} = $string; + } + + $prev; +} # end sub last_prompt + + +sub lastline { + my ($self, $line) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{last_line}; + + if (@_ >= 2) { + unless (defined $line) { + $line = ""; + } + + $s->{last_line} = $line; + } + + $prev; +} # end sub lastline + + +sub login { + my ($self) = @_; + my ( + $errmode, + $error, + $is_passwd_arg, + $is_username_arg, + $lastline, + $match, + $ors, + $passwd, + $prematch, + $prompt, + $s, + $timeout, + $username, + %args, + ); + local $_; + + ## Init. + $self->timed_out(''); + $self->last_prompt(""); + $s = *$self->{net_telnet}; + $timeout = $self->timeout; + $ors = $self->output_record_separator; + $prompt = $self->prompt; + + ## Parse args. + if (@_ == 3) { # just username and passwd given + $username = $_[1]; + $passwd = $_[2]; + + $is_username_arg = 1; + $is_passwd_arg = 1; + } + else { # named args given + ## Get the named args. + (undef, %args) = @_; + + ## Parse the named args. + foreach (keys %args) { + if (/^-?errmode$/i) { + $errmode = &_parse_errmode($self, $args{$_}); + } + elsif (/^-?name$/i) { + $username = $args{$_}; + unless (defined $username) { + $username = ""; + } + + $is_username_arg = 1; + } + elsif (/^-?pass/i) { + $passwd = $args{$_}; + unless (defined $passwd) { + $passwd = ""; + } + + $is_passwd_arg = 1; + } + elsif (/^-?prompt$/i) { + $prompt = &_parse_prompt($self, $args{$_}); + } + elsif (/^-?timeout$/i) { + $timeout = &_parse_timeout($self, $args{$_}); + } + else { + &_croak($self, "bad named parameter \"$_\" given ", + "to " . ref($self) . "::login()"); + } + } + } + + ## Ensure both username and password argument given. + &_croak($self,"Name argument not given to " . ref($self) . "::login()") + unless $is_username_arg; + &_croak($self,"Password argument not given to " . ref($self) . "::login()") + unless $is_passwd_arg; + + ## Override some user settings. + local $s->{errormode} = $errmode + if defined $errmode; + local $s->{time_out} = &_endtime($timeout); + + ## Create a subroutine to generate an error. + $error + = sub { + my ($errmsg) = @_; + + if ($self->timed_out) { + return $self->error($errmsg); + } + elsif ($self->eof) { + ($lastline = $self->lastline) =~ s/\n+//; + return $self->error($errmsg, ": ", $lastline); + } + else { + return $self->error($self->errmsg); + } + }; + + + return $self->error("login failed: filehandle isn't open") + if $self->eof; + + ## Wait for login prompt. + $self->waitfor(Match => '/login[: ]*$/i', + Match => '/username[: ]*$/i', + Errmode => "return") + or do { + return &$error("eof read waiting for login prompt") + if $self->eof; + return &$error("timed-out waiting for login prompt"); + }; + + ## Delay sending response because of bug in Linux login program. + &_sleep(0.01); + + ## Send login name. + $self->put(String => $username . $ors, + Errmode => "return") + or return &$error("login disconnected"); + + ## Wait for password prompt. + $self->waitfor(Match => '/password[: ]*$/i', + Errmode => "return") + or do { + return &$error("eof read waiting for password prompt") + if $self->eof; + return &$error("timed-out waiting for password prompt"); + }; + + ## Delay sending response because of bug in Linux login program. + &_sleep(0.01); + + ## Send password. + $self->put(String => $passwd . $ors, + Errmode => "return") + or return &$error("login disconnected"); + + ## Wait for command prompt or another login prompt. + ($prematch, $match) = $self->waitfor(Match => '/login[: ]*$/i', + Match => '/username[: ]*$/i', + Match => $prompt, + Errmode => "return") + or do { + return &$error("eof read waiting for command prompt") + if $self->eof; + return &$error("timed-out waiting for command prompt"); + }; + + ## It's a bad login if we got another login prompt. + return $self->error("login failed: bad name or password") + if $match =~ /login[: ]*$/i or $match =~ /username[: ]*$/i; + + ## Save the most recently matched command prompt. + $self->last_prompt($match); + + 1; +} # end sub login + + +sub max_buffer_length { + my ($self, $maxbufsize) = @_; + my ( + $prev, + $s, + ); + my $minbufsize = 512; + + $s = *$self->{net_telnet}; + $prev = $s->{maxbufsize}; + + if (@_ >= 2) { + ## Ensure a positive integer value. + unless (defined $maxbufsize + and $maxbufsize =~ /^\d+$/ + and $maxbufsize) + { + &_carp($self, "ignoring bad Max_buffer_length " . + "argument \"$maxbufsize\": it's not a positive integer"); + $maxbufsize = $prev; + } + + ## Adjust up values that are too small. + if ($maxbufsize < $minbufsize) { + $maxbufsize = $minbufsize; + } + + $s->{maxbufsize} = $maxbufsize; + } + + $prev; +} # end sub max_buffer_length + + +## Make ofs() synonymous with output_field_separator(). +*ofs = \&output_field_separator; + + +sub open { + my ($self) = @_; + my ( + $errmode, + $errno, + $host, + $ip_addr, + $port, + $s, + $timeout, + %args, + ); + local $_; + + ## Init. + $s = *$self->{net_telnet}; + $timeout = $s->{time_out}; + $s->{timedout} = ''; + + if (@_ == 2) { # one positional arg given + $self->host($_[1]); + } + elsif (@_ > 2) { # named args given + ## Get the named args. + (undef, %args) = @_; + + ## Parse the named args. + foreach (keys %args) { + if (/^-?errmode$/i) { + $errmode = &_parse_errmode($self, $args{$_}); + } + elsif (/^-?host$/i) { + $self->host($args{$_}); + } + elsif (/^-?port$/i) { + $self->port($args{$_}) + or return; + } + elsif (/^-?timeout$/i) { + $timeout = &_parse_timeout($self, $args{$_}); + } + else { + &_croak($self, "bad named parameter \"$_\" given ", + "to " . ref($self) . "::open()"); + } + } + } + + ## If any args given, override corresponding instance data. + local $s->{errormode} = $errmode + if defined $errmode; + + ## Get host and port. + $host = $self->host; + $port = $self->port; + + ## Ensure we're already closed. + $self->close; + + ## Connect with or without a timeout. + if (defined($timeout) and &_have_alarm) { # use a timeout + ## Convert possible absolute timeout to relative timeout. + if ($timeout >= $^T) { # it's an absolute time + $timeout = $timeout - time; + } + + ## Ensure a valid timeout value for alarm. + if ($timeout < 1) { + $timeout = 1; + } + $timeout = int($timeout + 1.5); + + ## Connect to server, timing out if it takes too long. + eval { + ## Turn on timer. + local $SIG{"__DIE__"} = "DEFAULT"; + local $SIG{ALRM} = sub { die "timed-out\n" }; + alarm $timeout; + + ## Lookup server's IP address. + $ip_addr = inet_aton $host + or die "unknown remote host: $host\n"; + + ## Create a socket and attach the filehandle to it. + socket $self, AF_INET, SOCK_STREAM, 0 + or die "problem creating socket: $!\n"; + + ## Open connection to server. + connect $self, sockaddr_in($port, $ip_addr) + or die "problem connecting to \"$host\", port $port: $!\n"; + }; + alarm 0; + + ## Check for error. + if ($@ =~ /^timed-out$/) { # time out failure + $s->{timedout} = 1; + $self->close; + if (!$ip_addr) { + return $self->error("unknown remote host: $host: ", + "name lookup timed-out"); + } + else { + return $self->error("problem connecting to \"$host\", ", + "port $port: connect timed-out"); + } + } + elsif ($@) { # hostname lookup or connect failure + $self->close; + chomp $@; + return $self->error($@); + } + } + else { # don't use a timeout + $timeout = undef; + + ## Lookup server's IP address. + $ip_addr = inet_aton $host + or return $self->error("unknown remote host: $host"); + + ## Create a socket and attach the filehandle to it. + socket $self, AF_INET, SOCK_STREAM, 0 + or return $self->error("problem creating socket: $!"); + + ## Open connection to server. + connect $self, sockaddr_in($port, $ip_addr) + or do { + $errno = "$!"; + $self->close; + return $self->error("problem connecting to \"$host\", ", + "port $port: $errno"); + }; + } + + select((select($self), $|=1)[$[]); # don't buffer writes + $s->{blksize} = &_optimal_blksize((stat $self)[11]); + $s->{buf} = ""; + $s->{eofile} = ''; + $s->{errormsg} = ""; + vec($s->{fdmask}='', fileno($self), 1) = 1; + $s->{last_line} = ""; + $s->{num_wrote} = 0; + $s->{opened} = 1; + $s->{pending_errormsg} = ""; + $s->{pushback_buf} = ""; + $s->{timedout} = ''; + $s->{unsent_opts} = ""; + &_reset_options($s->{opts}); + + 1; +} # end sub open + + +sub option_accept { + my ($self, @args) = @_; + my ( + $arg, + $option, + $s, + @opt_args, + ); + local $_; + + ## Init. + $s = *$self->{net_telnet}; + + ## Parse the named args. + while (($_, $arg) = splice @args, 0, 2) { + ## Verify and save arguments. + if (/^-?do$/i) { + ## Make sure a callback is defined. + return $self->error("usage: an option callback must already ", + "be defined when enabling with $_") + unless $s->{opt_cback}; + + $option = &_verify_telopt_arg($self, $arg, $_); + return unless defined $option; + push @opt_args, { option => $option, + is_remote => '', + is_enable => 1, + }; + } + elsif (/^-?dont$/i) { + $option = &_verify_telopt_arg($self, $arg, $_); + return unless defined $option; + push @opt_args, { option => $option, + is_remote => '', + is_enable => '', + }; + } + elsif (/^-?will$/i) { + ## Make sure a callback is defined. + return $self->error("usage: an option callback must already ", + "be defined when enabling with $_") + unless $s->{opt_cback}; + + $option = &_verify_telopt_arg($self, $arg, $_); + return unless defined $option; + push @opt_args, { option => $option, + is_remote => 1, + is_enable => 1, + }; + } + elsif (/^-?wont$/i) { + $option = &_verify_telopt_arg($self, $arg, $_); + return unless defined $option; + push @opt_args, { option => $option, + is_remote => 1, + is_enable => '', + }; + } + else { + return $self->error('usage: $obj->option_accept(' . + '[Do => $telopt,] ', + '[Dont => $telopt,] ', + '[Will => $telopt,] ', + '[Wont => $telopt,]'); + } + } + + ## Set "receive ok" for options specified. + &_opt_accept($self, @opt_args); +} # end sub option_accept + + +sub option_callback { + my ($self, $callback) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{opt_cback}; + + if (@_ >= 2) { + unless (defined $callback and ref($callback) eq "CODE") { + &_carp($self, "ignoring Option_callback argument because it's " . + "not a code ref"); + $callback = $prev; + } + + $s->{opt_cback} = $callback; + } + + $prev; +} # end sub option_callback + + +sub option_log { + my ($self, $name) = @_; + my ( + $fh, + $s, + ); + + $s = *$self->{net_telnet}; + $fh = $s->{opt_log}; + + if (@_ >= 2) { + unless (defined $name) { + $name = ""; + } + + $fh = &_fname_to_handle($self, $name) + or return; + $s->{opt_log} = $fh; + } + + $fh; +} # end sub option_log + + +sub option_state { + my ($self, $option) = @_; + my ( + $opt_state, + $s, + %opt_state, + ); + + ## Ensure telnet option is non-negative integer. + $option = &_verify_telopt_arg($self, $option); + return unless defined $option; + + ## Init. + $s = *$self->{net_telnet}; + unless (defined $s->{opts}{$option}) { + &_set_default_option($s, $option); + } + + ## Return hashref to a copy of the values. + $opt_state = $s->{opts}{$option}; + %opt_state = %$opt_state; + \%opt_state; +} # end sub option_state + + +## Make ors() synonymous with output_record_separator(). +*ors = \&output_record_separator; + + +sub output_field_separator { + my ($self, $ofs) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{ofs}; + + if (@_ >= 2) { + unless (defined $ofs) { + $ofs = ""; + } + + $s->{ofs} = $ofs; + } + + $prev; +} # end sub output_field_separator + + +sub output_log { + my ($self, $name) = @_; + my ( + $fh, + $s, + ); + + $s = *$self->{net_telnet}; + $fh = $s->{outputlog}; + + if (@_ >= 2) { + unless (defined $name) { + $name = ""; + } + + $fh = &_fname_to_handle($self, $name) + or return; + $s->{outputlog} = $fh; + } + + $fh; +} # end sub output_log + + +sub output_record_separator { + my ($self, $ors) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{ors}; + + if (@_ >= 2) { + unless (defined $ors) { + $ors = ""; + } + + $s->{ors} = $ors; + } + + $prev; +} # end sub output_record_separator + + +sub port { + my ($self, $port) = @_; + my ( + $prev, + $s, + $service, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{port}; + + if (@_ >= 2) { + unless (defined $port) { + $port = ""; + } + + if (!$port) { + &_carp($self, "ignoring bad Port argument \"$port\""); + $port = $prev; + } + elsif ($port !~ /^\d+$/) { # port isn't all digits + $service = $port; + $port = getservbyname($service, "tcp"); + unless ($port) { + &_carp($self, "ignoring bad Port argument \"$service\": " . + "it's an unknown TCP service"); + $port = $prev; + } + } + + $s->{port} = $port; + } + + $prev; +} # end sub port + + +sub print { + my ($self) = shift; + my ( + $buf, + $fh, + $s, + ); + + $s = *$self->{net_telnet}; + $s->{timedout} = ''; + return $self->error("write error: filehandle isn't open") + unless $s->{opened}; + + ## Add field and record separators. + $buf = join($s->{ofs}, @_) . $s->{ors}; + + ## Log the output if requested. + if ($s->{outputlog}) { + &_log_print($s->{outputlog}, $buf); + } + + ## Convert native newlines to CR LF. + if (!$s->{bin_mode}) { + $buf =~ s(\n)(\015\012)g; + } + + ## Escape TELNET IAC and also CR not followed by LF. + if ($s->{telnet_mode}) { + $buf =~ s(\377)(\377\377)g; + &_escape_cr(\$buf); + } + + &_put($self, \$buf, "print"); +} # end sub print + + +sub print_length { + my ($self) = @_; + + *$self->{net_telnet}{num_wrote}; +} # end sub print_length + + +sub prompt { + my ($self, $prompt) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{cmd_prompt}; + + ## Parse args. + if (@_ == 2) { + $s->{cmd_prompt} = &_parse_prompt($self, $prompt); + } + + $prev; +} # end sub prompt + + +sub put { + my ($self) = @_; + my ( + $binmode, + $buf, + $errmode, + $is_timeout_arg, + $s, + $telnetmode, + $timeout, + %args, + ); + local $_; + + ## Init. + $s = *$self->{net_telnet}; + $s->{timedout} = ''; + + ## Parse args. + if (@_ == 2) { # one positional arg given + $buf = $_[1]; + } + elsif (@_ > 2) { # named args given + ## Get the named args. + (undef, %args) = @_; + + ## Parse the named args. + foreach (keys %args) { + if (/^-?binmode$/i) { + $binmode = $args{$_}; + unless (defined $binmode) { + $binmode = 0; + } + } + elsif (/^-?errmode$/i) { + $errmode = &_parse_errmode($self, $args{$_}); + } + elsif (/^-?string$/i) { + $buf = $args{$_}; + } + elsif (/^-?telnetmode$/i) { + $telnetmode = $args{$_}; + unless (defined $telnetmode) { + $telnetmode = 0; + } + } + elsif (/^-?timeout$/i) { + $timeout = &_parse_timeout($self, $args{$_}); + $is_timeout_arg = 1; + } + else { + &_croak($self, "bad named parameter \"$_\" given ", + "to " . ref($self) . "::put()"); + } + } + } + + ## If any args given, override corresponding instance data. + local $s->{bin_mode} = $binmode + if defined $binmode; + local $s->{errormode} = $errmode + if defined $errmode; + local $s->{telnet_mode} = $telnetmode + if defined $telnetmode; + local $s->{time_out} = $timeout + if defined $is_timeout_arg; + + ## Check for errors. + return $self->error("write error: filehandle isn't open") + unless $s->{opened}; + + ## Log the output if requested. + if ($s->{outputlog}) { + &_log_print($s->{outputlog}, $buf); + } + + ## Convert native newlines to CR LF. + if (!$s->{bin_mode}) { + $buf =~ s(\n)(\015\012)g; + } + + ## Escape TELNET IAC and also CR not followed by LF. + if ($s->{telnet_mode}) { + $buf =~ s(\377)(\377\377)g; + &_escape_cr(\$buf); + } + + &_put($self, \$buf, "print"); +} # end sub put + + +## Make rs() synonymous input_record_separator(). +*rs = \&input_record_separator; + + +sub suboption_callback { + my ($self, $callback) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{subopt_cback}; + + if (@_ >= 2) { + unless (defined $callback and ref($callback) eq "CODE") { + &_carp($self,"ignoring Suboption_callback argument because it's " . + "not a code ref"); + $callback = $prev; + } + + $s->{subopt_cback} = $callback; + } + + $prev; +} # end sub suboption_callback + + +sub telnetmode { + my ($self, $mode) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{telnet_mode}; + + if (@_ >= 2) { + unless (defined $mode) { + $mode = 0; + } + + $s->{telnet_mode} = $mode; + } + + $prev; +} # end sub telnetmode + + +sub timed_out { + my ($self, $value) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{timedout}; + + if (@_ >= 2) { + unless (defined $value) { + $value = ""; + } + + $s->{timedout} = $value; + } + + $prev; +} # end sub timed_out + + +sub timeout { + my ($self, $timeout) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{time_out}; + + if (@_ >= 2) { + $s->{time_out} = &_parse_timeout($self, $timeout); + } + + $prev; +} # end sub timeout + + +sub waitfor { + my ($self, @args) = @_; + my ( + $arg, + $binmode, + $endtime, + $errmode, + $len, + $match, + $match_op, + $pos, + $prematch, + $s, + $search, + $search_cond, + $telnetmode, + $timeout, + @match_cond, + @match_ops, + @search_cond, + @string_cond, + @warns, + ); + local $_; + + ## Init. + $s = *$self->{net_telnet}; + $s->{timedout} = ''; + return if $s->{eofile}; + return unless @args; + $timeout = $s->{time_out}; + + ## Code template used to build string match conditional. + ## Values between array elements must be supplied later. + @string_cond = + ('if (($pos = index $s->{buf}, ', ') > -1) { + $len = ', '; + $prematch = substr $s->{buf}, 0, $pos; + $match = substr $s->{buf}, $pos, $len; + substr($s->{buf}, 0, $pos + $len) = ""; + last; + }'); + + ## Code template used to build pattern match conditional. + ## Values between array elements must be supplied later. + @match_cond = + ('if ($s->{buf} =~ ', ') { + $prematch = $`; + $match = $&; + substr($s->{buf}, 0, length($`) + length($&)) = ""; + last; + }'); + + ## Parse args. + if (@_ == 2) { # one positional arg given + $arg = $_[1]; + + ## Fill in the blanks in the code template. + push @match_ops, $arg; + push @search_cond, join("", $match_cond[0], $arg, $match_cond[1]); + } + elsif (@_ > 2) { # named args given + ## Parse the named args. + while (($_, $arg) = splice @args, 0, 2) { + if (/^-?binmode$/i) { + $binmode = $arg; + unless (defined $binmode) { + $binmode = 0; + } + } + elsif (/^-?errmode$/i) { + $errmode = &_parse_errmode($self, $arg); + } + elsif (/^-?match$/i) { + ## Fill in the blanks in the code template. + push @match_ops, $arg; + push @search_cond, join("", + $match_cond[0], $arg, $match_cond[1]); + } + elsif (/^-?string$/i) { + ## Fill in the blanks in the code template. + $arg =~ s/'/\\'/g; # quote ticks + push @search_cond, join("", + $string_cond[0], "'$arg'", + $string_cond[1], length($arg), + $string_cond[2]); + } + elsif (/^-?telnetmode$/i) { + $telnetmode = $arg; + unless (defined $telnetmode) { + $telnetmode = 0; + } + } + elsif (/^-?timeout$/i) { + $timeout = &_parse_timeout($self, $arg); + } + else { + &_croak($self, "bad named parameter \"$_\" given " . + "to " . ref($self) . "::waitfor()"); + } + } + } + + ## If any args given, override corresponding instance data. + local $s->{errormode} = $errmode + if defined $errmode; + local $s->{bin_mode} = $binmode + if defined $binmode; + local $s->{telnet_mode} = $telnetmode + if defined $telnetmode; + + ## Check for bad match operator argument. + foreach $match_op (@match_ops) { + return $self->error("missing opening delimiter of match operator ", + "in argument \"$match_op\" given to ", + ref($self) . "::waitfor()") + unless $match_op =~ m(^\s*/) or $match_op =~ m(^\s*m\s*\W); + } + + ## Construct conditional to check for requested string and pattern matches. + ## Turn subsequent "if"s into "elsif". + $search_cond = join "\n\tels", @search_cond; + + ## Construct loop to fill buffer until string/pattern, timeout, or eof. + $search = join "", " + while (1) {\n\t", + $search_cond, ' + &_fillbuf($self, $s, $endtime) + or do { + last if $s->{timedout}; + $self->close; + last; + }; + }'; + + ## Set wall time when we timeout. + $endtime = &_endtime($timeout); + + ## Run the loop. + { + local $^W = 1; + local $SIG{"__WARN__"} = sub { push @warns, @_ }; + local $s->{errormode} = "return"; + $s->{errormsg} = ""; + eval $search; + } + + ## Check for failure. + return $self->error("pattern match timed-out") if $s->{timedout}; + return $self->error($s->{errormsg}) if $s->{errormsg} ne ""; + return $self->error("pattern match read eof") if $s->{eofile}; + + ## Check for Perl syntax errors or warnings. + if ($@ or @warns) { + foreach $match_op (@match_ops) { + &_match_check($self, $match_op) + or return; + } + return $self->error($@) if $@; + return $self->error(@warns) if @warns; + } + + wantarray ? ($prematch, $match) : 1; +} # end sub waitfor + + +######################## Private Subroutines ######################### + + +sub _append_lineno { + my ($obj, @msgs) = @_; + my ( + $file, + $line, + $pkg, + ); + + ## Find the caller that's not in object's class or one of its base classes. + ($pkg, $file , $line) = &_user_caller($obj); + join("", @msgs, " at ", $file, " line ", $line, "\n"); +} # end sub _append_lineno + + +sub _carp { + warn &_append_lineno(@_); +} # end sub _carp + + +sub _croak { + die &_append_lineno(@_); +} # end sub _croak + + +sub _endtime { + my ($interval) = @_; + + ## Compute wall time when timeout occurs. + if (defined $interval) { + if ($interval >= $^T) { # it's already an absolute time + return $interval; + } + elsif ($interval > 0) { # it's relative to the current time + return int(time + 1.5 + $interval); + } + else { # it's a one time poll + return 0; + } + } + else { # there's no timeout + return undef; + } +} # end sub _endtime + + +sub _escape_cr { + my ($string) = @_; + my ( + $nextchar, + ); + my $pos = 0; + + ## Convert all CR (not followed by LF) to CR NULL. + while (($pos = index($$string, "\015", $pos)) > -1) { + $nextchar = substr $$string, $pos + 1, 1; + + substr($$string, $pos, 1) = "\015\000" + unless $nextchar eq "\012"; + + $pos++; + } + + 1; +} # end sub _escape_cr + + +sub _fillbuf { + my ($self, $s, $endtime) = @_; + my ( + $msg, + $nfound, + $nread, + $pushback_len, + $read_pos, + $ready, + $timed_out, + $timeout, + $unparsed_pos, + ); + + ## If error from last read not yet reported then do it now. + if ($s->{pending_errormsg}) { + $msg = $s->{pending_errormsg}; + $s->{pending_errormsg} = ""; + return $self->error($msg); + } + + return unless $s->{opened}; + + while (1) { + ## Maximum buffer size exceeded? + return $self->error("maximum input buffer length exceeded: ", + $s->{maxbufsize}, " bytes") + unless length($s->{buf}) <= $s->{maxbufsize}; + + ## Determine how long to wait for input ready. + ($timed_out, $timeout) = &_timeout_interval($endtime); + if ($timed_out) { + $s->{timedout} = 1; + return $self->error("read timed-out"); + } + + ## Wait for input ready. + $nfound = select $ready=$s->{fdmask}, "", "", $timeout; + + ## Handle any errors while waiting. + if (!defined $nfound or $nfound <= 0) { # input not ready + if (defined $nfound and $nfound == 0) { # timed-out + $s->{timedout} = 1; + return $self->error("read timed-out"); + } + else { # error waiting for input ready + next if $! =~ /^interrupted/i; + + $s->{opened} = ''; + return $self->error("read error: $!"); + } + } + + ## Append to buffer any partially processed telnet or CR sequence. + $pushback_len = length $s->{pushback_buf}; + if ($pushback_len) { + $s->{buf} .= $s->{pushback_buf}; + $s->{pushback_buf} = ""; + } + + ## Read the waiting data. + $read_pos = length $s->{buf}; + $unparsed_pos = $read_pos - $pushback_len; + $nread = sysread $self, $s->{buf}, $s->{blksize}, $read_pos; + + ## Handle any read errors. + if (!defined $nread) { # read failed + next if $! =~ /^interrupted/i; # restart interrupted syscall + + $s->{opened} = ''; + return $self->error("read error: $!"); + } + + ## Handle eof. + if ($nread == 0) { # eof read + $s->{opened} = ''; + return; + } + + ## Display network traffic if requested. + if ($s->{dumplog}) { + &_log_dump('<', $s->{dumplog}, \$s->{buf}, $read_pos); + } + + ## Process any telnet commands in the data stream. + if ($s->{telnet_mode} and index($s->{buf},"\377",$unparsed_pos) > -1) { + &_interpret_tcmd($self, $s, $unparsed_pos); + } + + ## Process any carriage-return sequences in the data stream. + &_interpret_cr($s, $unparsed_pos); + + ## Read again if all chars read were consumed as telnet cmds. + next if $unparsed_pos >= length $s->{buf}; + + ## Log the input if requested. + if ($s->{inputlog}) { + &_log_print($s->{inputlog}, substr($s->{buf}, $unparsed_pos)); + } + + ## Save the last line read. + &_save_lastline($s); + + ## We've successfully read some data into the buffer. + last; + } # end while(1) + + 1; +} # end sub _fillbuf + + +sub _flush_opts { + my ($self) = @_; + my ( + $option_chars, + ); + my $s = *$self->{net_telnet}; + + ## Get option and clear the output buf. + $option_chars = $s->{unsent_opts}; + $s->{unsent_opts} = ""; + + ## Try to send options without waiting. + { + local $s->{errormode} = "return"; + local $s->{time_out} = 0; + &_put($self, \$option_chars, "telnet option negotiation") + or do { + ## Save chars not printed for later. + substr($option_chars, 0, $self->print_length) = ""; + $s->{unsent_opts} .= $option_chars; + }; + } + + 1; +} # end sub _flush_opts + + +sub _fname_to_handle { + my ($self, $fh) = @_; + my ( + $filename, + ); + + ## Ensure valid input. + return "" + unless defined $fh and (ref $fh or length $fh); + + ## Open a new filehandle if input is a filename. + no strict "refs"; + if (!ref($fh) and !defined(fileno $fh)) { # fh is a filename + $filename = $fh; + $fh = &_new_handle(); + CORE::open $fh, "> $filename" + or return $self->error("problem creating $filename: $!"); + } + + select((select($fh), $|=1)[$[]); # don't buffer writes + $fh; +} # end sub _fname_to_handle + + +sub _have_alarm { + eval { + local $SIG{"__DIE__"} = "DEFAULT"; + local $SIG{ALRM} = sub { die }; + alarm 0; + }; + + ! $@; +} # end sub _have_alarm + + +sub _interpret_cr { + my ($s, $pos) = @_; + my ( + $nextchar, + ); + + while (($pos = index($s->{buf}, "\015", $pos)) > -1) { + $nextchar = substr($s->{buf}, $pos + 1, 1); + if ($nextchar eq "\0") { + ## Convert CR NULL to CR when in telnet mode. + if ($s->{telnet_mode}) { + substr($s->{buf}, $pos + 1, 1) = ""; + } + } + elsif ($nextchar eq "\012") { + ## Convert CR LF to newline when not in binary mode. + if (!$s->{bin_mode}) { + substr($s->{buf}, $pos, 2) = "\n"; + } + } + elsif (!length($nextchar) and ($s->{telnet_mode} or !$s->{bin_mode})) { + ## Save CR in alt buffer for possible CR LF or CR NULL conversion. + $s->{pushback_buf} .= "\015"; + chop $s->{buf}; + } + + $pos++; + } + + 1; +} # end sub _interpret_cr + + +sub _interpret_tcmd { + my ($self, $s, $offset) = @_; + my ( + $callback, + $endpos, + $nextchar, + $option, + $parameters, + $pos, + $subcmd, + ); + local $_; + + ## Parse telnet commands in the data stream. + $pos = $offset; + while (($pos = index $s->{buf}, "\377", $pos) > -1) { # unprocessed IAC + $nextchar = substr $s->{buf}, $pos + 1, 1; + + ## Save command if it's only partially read. + if (!length $nextchar) { + $s->{pushback_buf} .= "\377"; + chop $s->{buf}; + last; + } + + if ($nextchar eq "\377") { # IAC is escaping "\377" char + ## Remove escape char from data stream. + substr($s->{buf}, $pos, 1) = ""; + $pos++; + } + elsif ($nextchar eq "\375" or $nextchar eq "\373" or + $nextchar eq "\374" or $nextchar eq "\376") { # opt negotiation + $option = substr $s->{buf}, $pos + 2, 1; + + ## Save command if it's only partially read. + if (!length $option) { + $s->{pushback_buf} .= "\377" . $nextchar; + chop $s->{buf}; + chop $s->{buf}; + last; + } + + ## Remove command from data stream. + substr($s->{buf}, $pos, 3) = ""; + + ## Handle option negotiation. + &_negotiate_recv($self, $s, $nextchar, ord($option), $pos); + } + elsif ($nextchar eq "\372") { # start of subnegotiation parameters + ## Save command if it's only partially read. + $endpos = index $s->{buf}, "\360", $pos; + if ($endpos == -1) { + $s->{pushback_buf} .= substr $s->{buf}, $pos; + substr($s->{buf}, $pos) = ""; + last; + } + + ## Remove subnegotiation cmd from buffer. + $subcmd = substr($s->{buf}, $pos, $endpos - $pos + 1); + substr($s->{buf}, $pos, $endpos - $pos + 1) = ""; + + ## Invoke subnegotiation callback. + if ($s->{subopt_cback} and length($subcmd) >= 5) { + $option = unpack "C", substr($subcmd, 2, 1); + if (length($subcmd) >= 6) { + $parameters = substr $subcmd, 3, length($subcmd) - 5; + } + else { + $parameters = ""; + } + + $callback = $s->{subopt_cback}; + &$callback($self, $option, $parameters); + } + } + else { # various two char telnet commands + ## Ignore and remove command from data stream. + substr($s->{buf}, $pos, 2) = ""; + } + } + + ## Try to send any waiting option negotiation. + if (length $s->{unsent_opts}) { + &_flush_opts($self); + } + + 1; +} # end sub _interpret_tcmd + + +sub _io_socket_include { + local $SIG{"__DIE__"} = "DEFAULT"; + eval "require IO::Socket"; +} # end sub io_socket_include + + +sub _log_dump { + my ($direction, $fh, $data, $offset, $len) = @_; + my ( + $addr, + $hexvals, + $line, + ); + + $addr = 0; + $len = length($$data) - $offset + if !defined $len; + return 1 if $len <= 0; + + ## Print data in dump format. + while ($len > 0) { + ## Convert up to the next 16 chars to hex, padding w/ spaces. + if ($len >= 16) { + $line = substr $$data, $offset, 16; + } + else { + $line = substr $$data, $offset, $len; + } + $hexvals = unpack("H*", $line); + $hexvals .= ' ' x (32 - length $hexvals); + + ## Place in 16 columns, each containing two hex digits. + $hexvals = sprintf("%s %s %s %s " x 4, + unpack("a2" x 16, $hexvals)); + + ## For the ASCII column, change unprintable chars to a period. + $line =~ s/[\000-\037,\177-\237]/./g; + + ## Print the line in dump format. + &_log_print($fh, sprintf("%s 0x%5.5lx: %s%s\n", + $direction, $addr, $hexvals, $line)); + + $addr += 16; + $offset += 16; + $len -= 16; + } + + &_log_print($fh, "\n"); + + 1; +} # end sub _log_dump + + +sub _log_option { + my ($fh, $direction, $request, $option) = @_; + my ( + $name, + ); + + if ($option >= 0 and $option <= $#Telopts) { + $name = $Telopts[$option]; + } + else { + $name = $option; + } + + &_log_print($fh, "$direction $request $name\n"); +} # end sub _log_option + + +sub _log_print { + my ($fh, $buf) = @_; + local $\ = ''; + + if (ref($fh) and ref($fh) ne "GLOB") { # fh is blessed ref + $fh->print($buf); + } + else { # fh isn't blessed ref + print $fh $buf; + } +} # end sub _log_print + + +sub _match_check { + my ($self, $code) = @_; + my $error; + my @warns = (); + + ## Use eval to check for syntax errors or warnings. + { + local $SIG{"__DIE__"} = "DEFAULT"; + local $SIG{"__WARN__"} = sub { push @warns, @_ }; + local $^W = 1; + local $_ = ''; + eval "\$_ =~ $code;"; + } + if ($@) { + ## Remove useless lines numbers from message. + ($error = $@) =~ s/ at \(eval \d+\) line \d+.?//; + chomp $error; + return $self->error("bad match operator: $error"); + } + elsif (@warns) { + ## Remove useless lines numbers from message. + ($error = shift @warns) =~ s/ at \(eval \d+\) line \d+.?//; + $error =~ s/ while "strict subs" in use//; + chomp $error; + return $self->error("bad match operator: $error"); + } + + 1; +} # end sub _match_check + + +sub _negotiate_callback { + my ($self, $opt, $is_remote, $is_enabled, $was_enabled, $opt_bufpos) = @_; + my ( + $callback, + $s, + ); + local $_; + + ## Keep track of remote echo. + if ($is_remote and $opt == &TELOPT_ECHO) { # received WILL or WONT ECHO + $s = *$self->{net_telnet}; + + if ($is_enabled and !$was_enabled) { # received WILL ECHO + $s->{remote_echo} = 1; + } + elsif (!$is_enabled and $was_enabled) { # received WONT ECHO + $s->{remote_echo} = ''; + } + } + + ## Invoke callback, if there is one. + $callback = $self->option_callback; + if ($callback) { + &$callback($self, $opt, $is_remote, + $is_enabled, $was_enabled, $opt_bufpos); + } + + 1; +} # end sub _negotiate_callback + + +sub _negotiate_recv { + my ($self, $s, $opt_request, $opt, $opt_bufpos) = @_; + + ## Ensure data structure exists for this option. + unless (defined $s->{opts}{$opt}) { + &_set_default_option($s, $opt); + } + + ## Process the option. + if ($opt_request eq "\376") { # DONT + &_negotiate_recv_disable($self, $s, $opt, "dont", $opt_bufpos, + $s->{opts}{$opt}{local_enable_ok}, + \$s->{opts}{$opt}{local_enabled}, + \$s->{opts}{$opt}{local_state}); + } + elsif ($opt_request eq "\375") { # DO + &_negotiate_recv_enable($self, $s, $opt, "do", $opt_bufpos, + $s->{opts}{$opt}{local_enable_ok}, + \$s->{opts}{$opt}{local_enabled}, + \$s->{opts}{$opt}{local_state}); + } + elsif ($opt_request eq "\374") { # WONT + &_negotiate_recv_disable($self, $s, $opt, "wont", $opt_bufpos, + $s->{opts}{$opt}{remote_enable_ok}, + \$s->{opts}{$opt}{remote_enabled}, + \$s->{opts}{$opt}{remote_state}); + } + elsif ($opt_request eq "\373") { # WILL + &_negotiate_recv_enable($self, $s, $opt, "will", $opt_bufpos, + $s->{opts}{$opt}{remote_enable_ok}, + \$s->{opts}{$opt}{remote_enabled}, + \$s->{opts}{$opt}{remote_state}); + } + else { # internal error + die; + } + + 1; +} # end sub _negotiate_recv + + +sub _negotiate_recv_disable { + my ($self, $s, $opt, $opt_request, + $opt_bufpos, $enable_ok, $is_enabled, $state) = @_; + my ( + $ack, + $disable_cmd, + $enable_cmd, + $is_remote, + $nak, + $was_enabled, + ); + + ## What do we use to request enable/disable or respond with ack/nak. + if ($opt_request eq "wont") { + $enable_cmd = "\377\375" . pack("C", $opt); # do command + $disable_cmd = "\377\376" . pack("C", $opt); # dont command + $is_remote = 1; + $ack = "DO"; + $nak = "DONT"; + + &_log_option($s->{opt_log}, "RCVD", "WONT", $opt) + if $s->{opt_log}; + } + elsif ($opt_request eq "dont") { + $enable_cmd = "\377\373" . pack("C", $opt); # will command + $disable_cmd = "\377\374" . pack("C", $opt); # wont command + $is_remote = ''; + $ack = "WILL"; + $nak = "WONT"; + + &_log_option($s->{opt_log}, "RCVD", "DONT", $opt) + if $s->{opt_log}; + } + else { # internal error + die; + } + + ## Respond to WONT or DONT based on the current negotiation state. + if ($$state eq "no") { # state is already disabled + } + elsif ($$state eq "yes") { # they're initiating disable + $$is_enabled = ''; + $$state = "no"; + + ## Send positive acknowledgment. + $s->{unsent_opts} .= $disable_cmd; + &_log_option($s->{opt_log}, "SENT", $nak, $opt) + if $s->{opt_log}; + + ## Invoke callbacks. + &_negotiate_callback($self, $opt, $is_remote, + $$is_enabled, $was_enabled, $opt_bufpos); + } + elsif ($$state eq "wantno") { # they sent positive ack + $$is_enabled = ''; + $$state = "no"; + + ## Invoke callback. + &_negotiate_callback($self, $opt, $is_remote, + $$is_enabled, $was_enabled, $opt_bufpos); + } + elsif ($$state eq "wantno opposite") { # pos ack but we changed our mind + ## Indicate disabled but now we want to enable. + $$is_enabled = ''; + $$state = "wantyes"; + + ## Send queued request. + $s->{unsent_opts} .= $enable_cmd; + &_log_option($s->{opt_log}, "SENT", $ack, $opt) + if $s->{opt_log}; + + ## Invoke callback. + &_negotiate_callback($self, $opt, $is_remote, + $$is_enabled, $was_enabled, $opt_bufpos); + } + elsif ($$state eq "wantyes") { # they sent negative ack + $$is_enabled = ''; + $$state = "no"; + + ## Invoke callback. + &_negotiate_callback($self, $opt, $is_remote, + $$is_enabled, $was_enabled, $opt_bufpos); + } + elsif ($$state eq "wantyes opposite") { # nak but we changed our mind + $$is_enabled = ''; + $$state = "no"; + + ## Invoke callback. + &_negotiate_callback($self, $opt, $is_remote, + $$is_enabled, $was_enabled, $opt_bufpos); + } +} # end sub _negotiate_recv_disable + + +sub _negotiate_recv_enable { + my ($self, $s, $opt, $opt_request, + $opt_bufpos, $enable_ok, $is_enabled, $state) = @_; + my ( + $ack, + $disable_cmd, + $enable_cmd, + $is_remote, + $nak, + $was_enabled, + ); + + ## What we use to send enable/disable request or send ack/nak response. + if ($opt_request eq "will") { + $enable_cmd = "\377\375" . pack("C", $opt); # do command + $disable_cmd = "\377\376" . pack("C", $opt); # dont command + $is_remote = 1; + $ack = "DO"; + $nak = "DONT"; + + &_log_option($s->{opt_log}, "RCVD", "WILL", $opt) + if $s->{opt_log}; + } + elsif ($opt_request eq "do") { + $enable_cmd = "\377\373" . pack("C", $opt); # will command + $disable_cmd = "\377\374" . pack("C", $opt); # wont command + $is_remote = ''; + $ack = "WILL"; + $nak = "WONT"; + + &_log_option($s->{opt_log}, "RCVD", "DO", $opt) + if $s->{opt_log}; + } + else { # internal error + die; + } + + ## Save current enabled state. + $was_enabled = $$is_enabled; + + ## Respond to WILL or DO based on the current negotiation state. + if ($$state eq "no") { # they're initiating enable + if ($enable_ok) { # we agree they/us should enable + $$is_enabled = 1; + $$state = "yes"; + + ## Send positive acknowledgment. + $s->{unsent_opts} .= $enable_cmd; + &_log_option($s->{opt_log}, "SENT", $ack, $opt) + if $s->{opt_log}; + + ## Invoke callbacks. + &_negotiate_callback($self, $opt, $is_remote, + $$is_enabled, $was_enabled, $opt_bufpos); + } + else { # we disagree they/us should enable + ## Send negative acknowledgment. + $s->{unsent_opts} .= $disable_cmd; + &_log_option($s->{opt_log}, "SENT", $nak, $opt) + if $s->{opt_log}; + } + } + elsif ($$state eq "yes") { # state is already enabled + } + elsif ($$state eq "wantno") { # error: our disable req answered by enable + $$is_enabled = ''; + $$state = "no"; + + ## Invoke callbacks. + &_negotiate_callback($self, $opt, $is_remote, + $$is_enabled, $was_enabled, $opt_bufpos); + } + elsif ($$state eq "wantno opposite") { # err: disable req answerd by enable + $$is_enabled = 1; + $$state = "yes"; + + ## Invoke callbacks. + &_negotiate_callback($self, $opt, $is_remote, + $$is_enabled, $was_enabled, $opt_bufpos); + } + elsif ($$state eq "wantyes") { # they sent pos ack + $$is_enabled = 1; + $$state = "yes"; + + ## Invoke callback. + &_negotiate_callback($self, $opt, $is_remote, + $$is_enabled, $was_enabled, $opt_bufpos); + } + elsif ($$state eq "wantyes opposite") { # pos ack but we changed our mind + ## Indicate enabled but now we want to disable. + $$is_enabled = 1; + $$state = "wantno"; + + ## Inform other side we changed our mind. + $s->{unsent_opts} .= $disable_cmd; + &_log_option($s->{opt_log}, "SENT", $nak, $opt) + if $s->{opt_log}; + + ## Invoke callback. + &_negotiate_callback($self, $opt, $is_remote, + $$is_enabled, $was_enabled, $opt_bufpos); + } + + 1; +} # end sub _negotiate_recv_enable + + +sub _new_handle { + if ($INC{"IO/Handle.pm"}) { + return IO::Handle->new; + } + else { + require FileHandle; + return FileHandle->new; + } +} # end sub _new_handle + + +sub _next_getlines { + my ($self, $s) = @_; + my ( + $len, + $line, + $pos, + @lines, + ); + + ## Fill buffer and get first line. + $line = $self->getline + or return; + push @lines, $line; + + ## Extract subsequent lines from buffer. + while (($pos = index($s->{buf}, $s->{rs})) != -1) { + $len = $pos + length $s->{rs}; + push @lines, substr($s->{buf}, 0, $len); + substr($s->{buf}, 0, $len) = ""; + } + + @lines; +} # end sub _next_getlines + + +sub _opt_accept { + my ($self, @args) = @_; + my ( + $arg, + $option, + $s, + ); + + ## Init. + $s = *$self->{net_telnet}; + + foreach $arg (@args) { + ## Ensure data structure defined for this option. + $option = $arg->{option}; + if (!defined $s->{opts}{$option}) { + &_set_default_option($s, $option); + } + + ## Save whether we'll accept or reject this option. + if ($arg->{is_remote}) { + $s->{opts}{$option}{remote_enable_ok} = $arg->{is_enable}; + } + else { + $s->{opts}{$option}{local_enable_ok} = $arg->{is_enable}; + } + } + + 1; +} # end sub _opt_accept + + +sub _optimal_blksize { + my ($blksize) = @_; + local $^W = ''; # avoid non-numeric warning for ms-windows blksize of "" + + ## Use default when block size is invalid. + return 8192 + unless defined $blksize and $blksize >= 1 and $blksize <= 1_048_576; + + $blksize; +} # end sub _optimal_blksize + + +sub _parse_cmd_remove_mode { + my ($self, $mode) = @_; + + if (!defined $mode) { + $mode = 0; + } + elsif ($mode =~ /^\s*auto\s*$/i) { + $mode = "auto"; + } + elsif ($mode !~ /^\d+$/) { + &_carp($self, "ignoring bad Cmd_remove_mode " . + "argument \"$mode\": it's not \"auto\" or a " . + "non-negative integer"); + $mode = *$self->{net_telnet}{cmd_rm_mode}; + } + + $mode; +} # end sub _parse_cmd_remove_mode + + +sub _parse_errmode { + my ($self, $errmode) = @_; + + ## Set the error mode. + if (!defined $errmode) { + &_carp($self, "ignoring undefined Errmode argument"); + $errmode = *$self->{net_telnet}{errormode}; + } + elsif ($errmode =~ /^\s*return\s*$/i) { + $errmode = "return"; + } + elsif ($errmode =~ /^\s*die\s*$/i) { + $errmode = "die"; + } + elsif (ref($errmode) eq "CODE") { + } + elsif (ref($errmode) eq "ARRAY") { + unless (ref($errmode->[0]) eq "CODE") { + &_carp($self, "ignoring bad Errmode argument: " . + "first list item isn't a code ref"); + $errmode = *$self->{net_telnet}{errormode}; + } + } + else { + &_carp($self, "ignoring bad Errmode argument \"$errmode\""); + $errmode = *$self->{net_telnet}{errormode}; + } + + $errmode; +} # end sub _parse_errmode + + +sub _parse_input_record_separator { + my ($self, $rs) = @_; + + unless (defined $rs and length $rs) { + &_carp($self, "ignoring null Input_record_separator argument"); + $rs = *$self->{net_telnet}{rs}; + } + + $rs; +} # end sub _parse_input_record_separator + + +sub _parse_prompt { + my ($self, $prompt) = @_; + + unless (defined $prompt) { + $prompt = ""; + } + + unless ($prompt =~ m(^\s*/) or $prompt =~ m(^\s*m\s*\W)) { + &_carp($self, "ignoring bad Prompt argument \"$prompt\": " . + "missing opening delimiter of match operator"); + $prompt = *$self->{net_telnet}{cmd_prompt}; + } + + $prompt; +} # end sub _parse_prompt + + +sub _parse_timeout { + my ($self, $timeout) = @_; + + ## Ensure valid timeout. + if (defined $timeout) { + ## Test for non-numeric or negative values. + eval { + local $SIG{"__DIE__"} = "DEFAULT"; + local $SIG{"__WARN__"} = sub { die "non-numeric\n" }; + local $^W = 1; + $timeout *= 1; + }; + if ($@) { # timeout arg is non-numeric + &_carp($self, + "ignoring non-numeric Timeout argument \"$timeout\""); + $timeout = *$self->{net_telnet}{time_out}; + } + elsif ($timeout < 0) { # timeout arg is negative + &_carp($self, "ignoring negative Timeout argument \"$timeout\""); + $timeout = *$self->{net_telnet}{time_out}; + } + } + + $timeout; +} # end sub _parse_timeout + + +sub _put { + my ($self, $buf, $subname) = @_; + my ( + $endtime, + $len, + $nfound, + $nwrote, + $offset, + $ready, + $s, + $timed_out, + $timeout, + $zero_wrote_count, + ); + + ## Init. + $s = *$self->{net_telnet}; + $s->{num_wrote} = 0; + $zero_wrote_count = 0; + $offset = 0; + $len = length $$buf; + $endtime = &_endtime($s->{time_out}); + + return $self->error("write error: filehandle isn't open") + unless $s->{opened}; + + ## Try to send any waiting option negotiation. + if (length $s->{unsent_opts}) { + &_flush_opts($self); + } + + ## Write until all data blocks written. + while ($len) { + ## Determine how long to wait for output ready. + ($timed_out, $timeout) = &_timeout_interval($endtime); + if ($timed_out) { + $s->{timedout} = 1; + return $self->error("$subname timed-out"); + } + + ## Wait for output ready. + $nfound = select "", $ready=$s->{fdmask}, "", $timeout; + + ## Handle any errors while waiting. + if (!defined $nfound or $nfound <= 0) { # output not ready + if (defined $nfound and $nfound == 0) { # timed-out + $s->{timedout} = 1; + return $self->error("$subname timed-out"); + } + else { # error waiting for output ready + next if $! =~ /^interrupted/i; + + $s->{opened} = ''; + return $self->error("write error: $!"); + } + } + + ## Write the data. + $nwrote = syswrite $self, $$buf, $len, $offset; + + ## Handle any write errors. + if (!defined $nwrote) { # write failed + next if $! =~ /^interrupted/i; # restart interrupted syscall + + $s->{opened} = ''; + return $self->error("write error: $!"); + } + elsif ($nwrote == 0) { # zero chars written + ## Try ten more times to write the data. + if ($zero_wrote_count++ <= 10) { + &_sleep(0.01); + next; + } + + $s->{opened} = ''; + return $self->error("write error: zero length write: $!"); + } + + ## Display network traffic if requested. + if ($s->{dumplog}) { + &_log_dump('>', $s->{dumplog}, $buf, $offset, $nwrote); + } + + ## Increment. + $s->{num_wrote} += $nwrote; + $offset += $nwrote; + $len -= $nwrote; + } + + 1; +} # end sub _put + + +sub _qualify_fh { + my ($obj, $name) = @_; + my ( + $user_class, + ); + local $_; + + ## Get user's package name. + ($user_class) = &_user_caller($obj); + + ## Ensure name is qualified with a package name. + $name = qualify($name, $user_class); + + ## If it's not already, make it a typeglob ref. + if (!ref $name) { + no strict; + local $^W = 0; + + $name =~ s/^\*+//; + $name = eval "\\*$name"; + return unless ref $name; + } + + $name; +} # end sub _qualify_fh + + +sub _reset_options { + my ($opts) = @_; + my ( + $opt, + ); + + foreach $opt (keys %$opts) { + $opts->{$opt}{remote_enabled} = ''; + $opts->{$opt}{remote_state} = "no"; + $opts->{$opt}{local_enabled} = ''; + $opts->{$opt}{local_state} = "no"; + } + + 1; +} # end sub _reset_options + + +sub _save_lastline { + my ($s) = @_; + my ( + $firstpos, + $lastpos, + $len_w_sep, + $len_wo_sep, + $offset, + ); + my $rs = "\n"; + + if (($lastpos = rindex $s->{buf}, $rs) > -1) { # eol found + while (1) { + ## Find beginning of line. + $firstpos = rindex $s->{buf}, $rs, $lastpos - 1; + if ($firstpos == -1) { + $offset = 0; + } + else { + $offset = $firstpos + length $rs; + } + + ## Determine length of line with and without separator. + $len_wo_sep = $lastpos - $offset; + $len_w_sep = $len_wo_sep + length $rs; + + ## Save line if it's not blank. + if (substr($s->{buf}, $offset, $len_wo_sep) + !~ /^\s*$/) + { + $s->{last_line} = substr($s->{buf}, + $offset, + $len_w_sep); + last; + } + + last if $firstpos == -1; + + $lastpos = $firstpos; + } + } + + 1; +} # end sub _save_lastline + + +sub _set_default_option { + my ($s, $option) = @_; + + $s->{opts}{$option} = { + remote_enabled => '', + remote_state => "no", + remote_enable_ok => '', + local_enabled => '', + local_state => "no", + local_enable_ok => '', + }; +} # end sub _set_default_option + + +sub _sleep { + my ($secs) = @_; + my $bitmask = ""; + local *SOCK; + + socket SOCK, AF_INET, SOCK_STREAM, 0; + vec($bitmask, fileno(SOCK), 1) = 1; + select $bitmask, "", "", $secs; + CORE::close SOCK; + + 1; +} # end sub _sleep + + +sub _timeout_interval { + my ($endtime) = @_; + my ( + $timeout, + ); + + ## Return timed-out boolean and timeout interval. + if (defined $endtime) { + ## Is it a one-time poll. + return ('', 0) if $endtime == 0; + + ## Calculate the timeout interval. + $timeout = $endtime - time; + + ## Did we already timeout. + return (1, 0) unless $timeout > 0; + + return ('', $timeout); + } + else { # there is no timeout + return ('', undef); + } +} # end sub _timeout_interval + + +sub _user_caller { + my ($obj) = @_; + my ( + $class, + $curr_pkg, + $file, + $i, + $line, + $pkg, + %isa, + @isa, + ); + local $_; + + ## Create a boolean hash to test for isa. Make sure current + ## package and the object's class are members. + $class = ref $obj; + @isa = eval "\@${class}::ISA"; + push @isa, $class; + ($curr_pkg) = caller 1; + push @isa, $curr_pkg; + %isa = map { $_ => 1 } @isa; + + ## Search back in call frames for a package that's not in isa. + $i = 1; + while (($pkg, $file, $line) = caller ++$i) { + next if $isa{$pkg}; + + return ($pkg, $file, $line); + } + + ## If not found, choose outer most call frame. + ($pkg, $file, $line) = caller --$i; + return ($pkg, $file, $line); +} # end sub _user_caller + + +sub _verify_telopt_arg { + my ($self, $option, $argname) = @_; + + ## If provided, use argument name in error message. + if (defined $argname) { + $argname = "for arg $argname"; + } + else { + $argname = ""; + } + + ## Ensure telnet option is a non-negative integer. + eval { + local $SIG{"__DIE__"} = "DEFAULT"; + local $SIG{"__WARN__"} = sub { die "non-numeric\n" }; + local $^W = 1; + $option = abs(int $option); + }; + return $self->error("bad telnet option $argname: non-numeric") + if $@; + + return $self->error("bad telnet option $argname: option > 255") + unless $option <= 255; + + $option; +} # end sub _verify_telopt_arg + + +######################## Exported Constants ########################## + + +sub TELNET_IAC () {255}; # interpret as command: +sub TELNET_DONT () {254}; # you are not to use option +sub TELNET_DO () {253}; # please, you use option +sub TELNET_WONT () {252}; # I won't use option +sub TELNET_WILL () {251}; # I will use option +sub TELNET_SB () {250}; # interpret as subnegotiation +sub TELNET_GA () {249}; # you may reverse the line +sub TELNET_EL () {248}; # erase the current line +sub TELNET_EC () {247}; # erase the current character +sub TELNET_AYT () {246}; # are you there +sub TELNET_AO () {245}; # abort output--but let prog finish +sub TELNET_IP () {244}; # interrupt process--permanently +sub TELNET_BREAK () {243}; # break +sub TELNET_DM () {242}; # data mark--for connect. cleaning +sub TELNET_NOP () {241}; # nop +sub TELNET_SE () {240}; # end sub negotiation +sub TELNET_EOR () {239}; # end of record (transparent mode) +sub TELNET_ABORT () {238}; # Abort process +sub TELNET_SUSP () {237}; # Suspend process +sub TELNET_EOF () {236}; # End of file +sub TELNET_SYNCH () {242}; # for telfunc calls + +sub TELOPT_BINARY () {0}; # Binary Transmission +sub TELOPT_ECHO () {1}; # Echo +sub TELOPT_RCP () {2}; # Reconnection +sub TELOPT_SGA () {3}; # Suppress Go Ahead +sub TELOPT_NAMS () {4}; # Approx Message Size Negotiation +sub TELOPT_STATUS () {5}; # Status +sub TELOPT_TM () {6}; # Timing Mark +sub TELOPT_RCTE () {7}; # Remote Controlled Trans and Echo +sub TELOPT_NAOL () {8}; # Output Line Width +sub TELOPT_NAOP () {9}; # Output Page Size +sub TELOPT_NAOCRD () {10}; # Output Carriage-Return Disposition +sub TELOPT_NAOHTS () {11}; # Output Horizontal Tab Stops +sub TELOPT_NAOHTD () {12}; # Output Horizontal Tab Disposition +sub TELOPT_NAOFFD () {13}; # Output Formfeed Disposition +sub TELOPT_NAOVTS () {14}; # Output Vertical Tabstops +sub TELOPT_NAOVTD () {15}; # Output Vertical Tab Disposition +sub TELOPT_NAOLFD () {16}; # Output Linefeed Disposition +sub TELOPT_XASCII () {17}; # Extended ASCII +sub TELOPT_LOGOUT () {18}; # Logout +sub TELOPT_BM () {19}; # Byte Macro +sub TELOPT_DET () {20}; # Data Entry Terminal +sub TELOPT_SUPDUP () {21}; # SUPDUP +sub TELOPT_SUPDUPOUTPUT () {22}; # SUPDUP Output +sub TELOPT_SNDLOC () {23}; # Send Location +sub TELOPT_TTYPE () {24}; # Terminal Type +sub TELOPT_EOR () {25}; # End of Record +sub TELOPT_TUID () {26}; # TACACS User Identification +sub TELOPT_OUTMRK () {27}; # Output Marking +sub TELOPT_TTYLOC () {28}; # Terminal Location Number +sub TELOPT_3270REGIME () {29}; # Telnet 3270 Regime +sub TELOPT_X3PAD () {30}; # X.3 PAD +sub TELOPT_NAWS () {31}; # Negotiate About Window Size +sub TELOPT_TSPEED () {32}; # Terminal Speed +sub TELOPT_LFLOW () {33}; # Remote Flow Control +sub TELOPT_LINEMODE () {34}; # Linemode +sub TELOPT_XDISPLOC () {35}; # X Display Location +sub TELOPT_OLD_ENVIRON () {36}; # Environment Option +sub TELOPT_AUTHENTICATION () {37}; # Authentication Option +sub TELOPT_ENCRYPT () {38}; # Encryption Option +sub TELOPT_NEW_ENVIRON () {39}; # New Environment Option +sub TELOPT_EXOPL () {255}; # Extended-Options-List + + +1; +__END__; + + +######################## User Documentation ########################## + + +## To format the following documentation into a more readable format, +## use one of these programs: perldoc; pod2man; pod2html; pod2text. +## For example, to nicely format this documentation for printing, you +## may use pod2man and groff to convert to postscript: +## pod2man Net/Telnet.pm | groff -man -Tps > Net::Telnet.ps + +=head1 NAME + +Net::Telnet - interact with TELNET port or other TCP ports + +=head1 SYNOPSIS + +C + +see METHODS section below + +=head1 DESCRIPTION + +Net::Telnet allows you to make client connections to a TCP port and do +network I/O, especially to a port using the TELNET protocol. Simple +I/O methods such as print, get, and getline are provided. More +sophisticated interactive features are provided because connecting to +a TELNET port ultimately means communicating with a program designed +for human interaction. These interactive features include the ability +to specify a time-out and to wait for patterns to appear in the input +stream, such as the prompt from a shell. + +Other reasons to use this module than strictly with a TELNET port are: + +=over 2 + +=item * + +You're not familiar with sockets and you want a simple way to make +client connections to TCP services. + +=item * + +You want to be able to specify your own time-out while connecting, +reading, or writing. + +=item * + +You're communicating with an interactive program at the other end of +some socket or pipe and you want to wait for certain patterns to +appear. + +=back + +Here's an example that prints who's logged-on to the remote host +sparky. In addition to a username and password, you must also know +the user's shell prompt, which for this example is C + + use Net::Telnet (); + $t = new Net::Telnet (Timeout => 10, + Prompt => '/bash\$ $/'); + $t->open("sparky"); + $t->login($username, $passwd); + @lines = $t->cmd("who"); + print @lines; + +More examples are in the B section below. + +Usage questions should be directed to the Usenet newsgroup +comp.lang.perl.modules. + +Contact me, Jay Rogers , if you find any bugs or have +suggestions for improvement. + +=head2 What To Know Before Using + +=over 2 + +=item * + +All output is flushed while all input is buffered. Each object +contains its own input buffer. + +=item * + +The output record separator for C and C is set to +C<"\n"> by default, so that you don't have to append all your commands +with a newline. To avoid printing a trailing C<"\n"> use C or +set the I to C<"">. + +=item * + +The methods C and C use the I setting in the +object to determine when a login or remote command is complete. Those +methods will fail with a time-out if you don't set the prompt +correctly. + +=item * + +Use a combination of C and C as an alternative to +C or C when they don't do what you want. + +=item * + +Errors such as timing-out are handled according to the error mode +action. The default action is to print an error message to standard +error and have the program die. See the C method for more +information. + +=item * + +When constructing the match operator argument for C or +C, always use single quotes instead of double quotes to +avoid unexpected backslash interpretation (e.g. C<'/bash\$ $/'>). If +you're constructing a DOS like file path, you'll need to use four +backslashes to represent one (e.g. C<'/c:\\\\users\\\\billE$/i'>). + +Of course don't forget about regexp metacharacters like C<.>, C<[>, or +C<$>. You'll only need a single backslash to quote them. The anchor +metacharacters C<^> and C<$> refer to positions in the input buffer. +To avoid matching characters read that look like a prompt, it's a good +idea to end your prompt pattern with the C<$> anchor. That way the +prompt will only match if it's the last thing read. + +=item * + +In the input stream, each sequence of I and I (i.e. C<"\015\012"> or CR LF) is converted to C<"\n">. In the +output stream, each occurrence of C<"\n"> is converted to a sequence +of CR LF. See C to change the behavior. TCP protocols +typically use the ASCII sequence, carriage return and line feed to +designate a newline. + +=item * + +Timing-out while making a connection is disabled for machines that +don't support the C function. Most notably these include +MS-Windows machines. + +=item * + +You'll need to be running at least Perl version 5.002 to use this +module. This module does not require any libraries that don't already +come with a standard Perl distribution. + +If you have the IO:: libraries installed (they come standard with +perl5.004 and later) then IO::Socket::INET is used as a base class, +otherwise FileHandle is used. + +=item * + +Contact me, Jay Rogers , if you find any bugs or have +suggestions for improvement. + +=back + +=head2 Debugging + +The typical usage bug causes a time-out error because you've made +incorrect assumptions about what the remote side actually sends. The +easiest way to reconcile what the remote side sends with your +expectations is to use C or C. + +C allows you to see the data being sent from the remote +side before any translation is done, while C shows you +the results after translation. The translation includes converting +end of line characters, removing and responding to TELNET protocol +commands in the data stream. + +=head2 Style of Named Parameters + +Two different styles of named parameters are supported. This document +only shows the IO:: style: + + Net::Telnet->new(Timeout => 20); + +however the dash-option style is also allowed: + + Net::Telnet->new(-timeout => 20); + +=head2 Connecting to a Remote MS-Windows Machine + +By default MS-Windows doesn't come with a TELNET server. However +third party TELNET servers are available. Unfortunately many of these +servers falsely claim to be a TELNET server. This is especially true +of the so-called "Microsoft Telnet Server" that comes installed with +some newer versions MS-Windows. + +When a TELNET server first accepts a connection, it must use the ASCII +control characters carriage-return and line-feed to start a new line +(see RFC854). A server like the "Microsoft Telnet Server" that +doesn't do this, isn't a TELNET server. These servers send ANSI +terminal escape sequences to position to a column on a subsequent line +and to even position while writing characters that are adjacent to +each other. Worse, when sending output these servers resend +previously sent command output in a misguided attempt to display an +entire terminal screen. + +Connecting Net::Telnet to one of these false TELNET servers makes your +job of parsing command output very difficult. It's better to replace +a false TELNET server with a real TELNET server. The better TELNET +servers for MS-Windows allow you to avoid the ANSI escapes by turning +off something some of them call I. + + +=head1 METHODS + +In the calling sequences below, square brackets B<[]> represent +optional parameters. + +=over 4 + +=item B - create a new Net::Telnet object + + $obj = new Net::Telnet ([$host]); + + $obj = new Net::Telnet ([Binmode => $mode,] + [Cmd_remove_mode => $mode,] + [Dump_Log => $filename,] + [Errmode => $errmode,] + [Fhopen => $filehandle,] + [Host => $host,] + [Input_log => $file,] + [Input_record_separator => $chars,] + [Option_log => $file,] + [Ors => $chars,] + [Output_log => $file,] + [Output_record_separator => $chars,] + [Port => $port,] + [Prompt => $matchop,] + [Rs => $chars,] + [Telnetmode => $mode,] + [Timeout => $secs,]); + +This is the constructor for Net::Telnet objects. A new object is +returned on success, the error mode action is performed on failure - +see C. The optional arguments are short-cuts to methods of +the same name. + +If the I<$host> argument is given then the object is opened by +connecting to TCP I<$port> on I<$host>. Also see C. The new +object returned is given the following defaults in the absence of +corresponding named parameters: + +=over 4 + +=item + +The default I is C<"localhost"> + +=item + +The default I is C<23> + +=item + +The default I is C<'/[\$%#E] $/'> + +=item + +The default I is C<10> + +=item + +The default I is C<"die"> + +=item + +The default I is C<"\n">. Note that I +is synonymous with I. + +=item + +The default I is C<"\n">. Note that I is +synonymous with I. + +=item + +The default I is C<0>, which means do newline translation. + +=item + +The default I is C<1>, which means respond to TELNET +commands in the data stream. + +=item + +The default I is C<"auto"> + +=item + +The defaults for I, I, I, and +I are C<"">, which means that logging is turned-off. + +=back + +=back + + +=over 4 + +=item B - toggle newline translation + + $mode = $obj->binmode; + + $prev = $obj->binmode($mode); + +This method controls whether or not sequences of carriage returns and +line feeds (CR LF or more specifically C<"\015\012">) are translated. +By default they are translated (i.e. binmode is C<0>). + +If no argument is given, the current mode is returned. + +If I<$mode> is C<1> then binmode is I and newline translation is +not done. + +If I<$mode> is C<0> then binmode is I and newline translation is +done. In the input stream, each sequence of CR LF is converted to +C<"\n"> and in the output stream, each occurrence of C<"\n"> is +converted to a sequence of CR LF. + +Note that input is always buffered. Changing binmode doesn't effect +what's already been read into the buffer. Output is not buffered and +changing binmode will have an immediate effect. + +=back + + +=over 4 + +=item B - send TELNET break character + + $ok = $obj->break; + +This method sends the TELNET break character. This character is +provided because it's a signal outside the ASCII character set which +is currently given local meaning within many systems. It's intended +to indicate that the Break Key or the Attention Key was hit. + +This method returns C<1> on success, or performs the error mode action +on failure. + +=back + + +=over 4 + +=item B - scalar reference to object's input buffer + + $ref = $obj->buffer; + +This method returns a scalar reference to the input buffer for +I<$obj>. Data in the input buffer is data that has been read from the +remote side but has yet to be read by the user. Modifications to the +input buffer are returned by a subsequent read. + +=back + + +=over 4 + +=item B - discard all data in object's input buffer + + $obj->buffer_empty; + +This method removes all data in the input buffer for I<$obj>. + +=back + + +=over 4 + +=item B - close object + + $ok = $obj->close; + +This method closes the socket, file, or pipe associated with the +object. It always returns a value of C<1>. + +=back + + +=over 4 + +=item B - issue command and retrieve output + + $ok = $obj->cmd($string); + $ok = $obj->cmd(String => $string, + [Output => $ref,] + [Cmd_remove_mode => $mode,] + [Errmode => $mode,] + [Input_record_separator => $chars,] + [Ors => $chars,] + [Output_record_separator => $chars,] + [Prompt => $match,] + [Rs => $chars,] + [Timeout => $secs,]); + + @output = $obj->cmd($string); + @output = $obj->cmd(String => $string, + [Output => $ref,] + [Cmd_remove_mode => $mode,] + [Errmode => $mode,] + [Input_record_separator => $chars,] + [Ors => $chars,] + [Output_record_separator => $chars,] + [Prompt => $match,] + [Rs => $chars,] + [Timeout => $secs,]); + +This method sends the command I<$string>, and reads the characters +sent back by the command up until and including the matching prompt. +It's assumed that the program to which you're sending is some kind of +command prompting interpreter such as a shell. + +The command I<$string> is automatically appended with the +output_record_separator, By default that's C<"\n">. This is similar +to someone typing a command and hitting the return key. Set the +output_record_separator to change this behavior. + +In a scalar context, the characters read from the remote side are +discarded and C<1> is returned on success. On time-out, eof, or other +failures, the error mode action is performed. See C. + +In a list context, just the output generated by the command is +returned, one line per element. In other words, all the characters in +between the echoed back command string and the prompt are returned. +If the command happens to return no output, a list containing one +element, the empty string is returned. This is so the list will +indicate true in a boolean context. On time-out, eof, or other +failures, the error mode action is performed. See C. + +The characters that matched the prompt may be retrieved using +C. + +Many command interpreters echo back the command sent. In most +situations, this method removes the first line returned from the +remote side (i.e. the echoed back command). See C +for more control over this feature. + +Use C to debug when this method keeps timing-out and you +don't think it should. + +Consider using a combination of C and C as an +alternative to this method when it doesn't do what you want, e.g. the +command you send prompts for input. + +The I named parameter provides an alternative method of +receiving command output. If you pass a scalar reference, all the +output (even if it contains multiple lines) is returned in the +referenced scalar. If you pass an array or hash reference, the lines +of output are returned in the referenced array or hash. You can use +C to change the notion of what separates a +line. + +Optional named parameters are provided to override the current +settings of cmd_remove_mode, errmode, input_record_separator, ors, +output_record_separator, prompt, rs, and timeout. Rs is synonymous +with input_record_separator and ors is synonymous with +output_record_separator. + +=back + + +=over 4 + +=item B - toggle removal of echoed commands + + $mode = $obj->cmd_remove_mode; + + $prev = $obj->cmd_remove_mode($mode); + +This method controls how to deal with echoed back commands in the +output returned by cmd(). Typically, when you send a command to the +remote side, the first line of output returned is the command echoed +back. Use this mode to remove the first line of output normally +returned by cmd(). + +If no argument is given, the current mode is returned. + +If I<$mode> is C<0> then the command output returned from cmd() has no +lines removed. If I<$mode> is a positive integer, then the first +I<$mode> lines of command output are stripped. + +By default, I<$mode> is set to C<"auto">. Auto means that whether or +not the first line of command output is stripped, depends on whether +or not the remote side offered to echo. By default, Net::Telnet +always accepts an offer to echo by the remote side. You can change +the default to reject such an offer using C. + +A warning is printed to STDERR when attempting to set this attribute +to something that's not C<"auto"> or a non-negative integer. + +=back + + +=over 4 + +=item B - log all I/O in dump format + + $fh = $obj->dump_log; + + $fh = $obj->dump_log($fh); + + $fh = $obj->dump_log($filename); + +This method starts or stops dump format logging of all the object's +input and output. The dump format shows the blocks read and written +in a hexadecimal and printable character format. This method is +useful when debugging, however you might want to first try +C as it's more readable. + +If no argument is given, the current log filehandle is returned. An +empty string indicates logging is off. + +To stop logging, use an empty string as an argument. + +If an open filehandle is given, it is used for logging and returned. +Otherwise, the argument is assumed to be the name of a file, the file +is opened and a filehandle to it is returned. If the file can't be +opened for writing, the error mode action is performed. + +=back + + +=over 4 + +=item B - end of file indicator + + $eof = $obj->eof; + +This method returns C<1> if end of file has been read, otherwise it +returns an empty string. Because the input is buffered this isn't the +same thing as I<$obj> has closed. In other words I<$obj> can be +closed but there still can be stuff in the buffer to be read. Under +this condition you can still read but you won't be able to write. + +=back + + +=over 4 + +=item B - define action to be performed on error + + $mode = $obj->errmode; + + $prev = $obj->errmode($mode); + +This method gets or sets the action used when errors are encountered +using the object. The first calling sequence returns the current +error mode. The second calling sequence sets it to I<$mode> and +returns the previous mode. Valid values for I<$mode> are C<"die"> +(the default), C<"return">, a I, or an I. + +When mode is C<"die"> and an error is encountered using the object, +then an error message is printed to standard error and the program +dies. + +When mode is C<"return"> then the method generating the error places +an error message in the object and returns an undefined value in a +scalar context and an empty list in list context. The error message +may be obtained using C. + +When mode is a I, then when an error is encountered +I is called with the error message as its first argument. +Using this mode you may have your own subroutine handle errors. If +I itself returns then the method generating the error returns +undefined or an empty list depending on context. + +When mode is an I, the first element of the array must be a +I. Any elements that follow are the arguments to I. +When an error is encountered, the I is called with its +arguments. Using this mode you may have your own subroutine handle +errors. If the I itself returns then the method generating +the error returns undefined or an empty list depending on context. + +A warning is printed to STDERR when attempting to set this attribute +to something that's not C<"die">, C<"return">, a I, or an +I whose first element isn't a I. + +=back + + +=over 4 + +=item B - most recent error message + + $msg = $obj->errmsg; + + $prev = $obj->errmsg(@msgs); + +The first calling sequence returns the error message associated with +the object. The empty string is returned if no error has been +encountered yet. The second calling sequence sets the error message +for the object to the concatenation of I<@msgs> and returns the +previous error message. Normally, error messages are set internally +by a method when an error is encountered. + +=back + + +=over 4 + +=item B - perform the error mode action + + $obj->error(@msgs); + +This method concatenates I<@msgs> into a string and places it in the +object as the error message. Also see C. It then performs +the error mode action. Also see C. + +If the error mode doesn't cause the program to die, then an undefined +value or an empty list is returned depending on the context. + +This method is primarily used by this class or a sub-class to perform +the user requested action when an error is encountered. + +=back + + +=over 4 + +=item B - use already open filehandle for I/O + + $ok = $obj->fhopen($fh); + +This method associates the open filehandle I<$fh> with I<$obj> for +further I/O. Filehandle I<$fh> must already be opened. + +Suppose you want to use the features of this module to do I/O to +something other than a TCP port, for example STDIN or a filehandle +opened to read from a process. Instead of opening the object for I/O +to a TCP port by using C or C, call this method +instead. + +The value C<1> is returned success, the error mode action is performed +on failure. + +=back + + +=over 4 + +=item B - read block of data + + $data = $obj->get([Binmode => $mode,] + [Errmode => $errmode,] + [Telnetmode => $mode,] + [Timeout => $secs,]); + +This method reads a block of data from the object and returns it along +with any buffered data. If no buffered data is available to return, +it will wait for data to read using the timeout specified in the +object. You can override that timeout using I<$secs>. Also see +C. If buffered data is available to return, it also checks +for a block of data that can be immediately read. + +On eof an undefined value is returned. On time-out or other failures, +the error mode action is performed. To distinguish between eof or an +error occurring when the error mode is not set to C<"die">, use +C. + +Optional named parameters are provided to override the current +settings of binmode, errmode, telnetmode, and timeout. + +=back + + +=over 4 + +=item B - read next line + + $line = $obj->getline([Binmode => $mode,] + [Errmode => $errmode,] + [Input_record_separator => $chars,] + [Rs => $chars,] + [Telnetmode => $mode,] + [Timeout => $secs,]); + +This method reads and returns the next line of data from the object. +You can use C to change the notion of what +separates a line. The default is C<"\n">. If a line isn't +immediately available, this method blocks waiting for a line or a +time-out. + +On eof an undefined value is returned. On time-out or other failures, +the error mode action is performed. To distinguish between eof or an +error occurring when the error mode is not set to C<"die">, use +C. + +Optional named parameters are provided to override the current +settings of binmode, errmode, input_record_separator, rs, telnetmode, +and timeout. Rs is synonymous with input_record_separator. + +=back + + +=over 4 + +=item B - read next lines + + @lines = $obj->getlines([Binmode => $mode,] + [Errmode => $errmode,] + [Input_record_separator => $chars,] + [Rs => $chars,] + [Telnetmode => $mode,] + [Timeout => $secs,] + [All => $boolean,]); + +This method reads and returns all the lines of data from the object +until end of file is read. You can use C to +change the notion of what separates a line. The default is C<"\n">. +A time-out error occurs if all the lines can't be read within the +time-out interval. See C. + +The behavior of this method was changed in version 3.03. Prior to +version 3.03 this method returned just the lines available from the +next read. To get that old behavior, use the optional named parameter +I and set I<$boolean> to C<""> or C<0>. + +If only eof is read then an empty list is returned. On time-out or +other failures, the error mode action is performed. Use C to +distinguish between reading only eof or an error occurring when the +error mode is not set to C<"die">. + +Optional named parameters are provided to override the current +settings of binmode, errmode, input_record_separator, rs, telnetmode, +and timeout. Rs is synonymous with input_record_separator. + +=back + + +=over 4 + +=item B - name of remote host + + $host = $obj->host; + + $prev = $obj->host($host); + +This method designates the remote host for C. With no +argument it returns the current host name set in the object. With an +argument it sets the current host name to I<$host> and returns the +previous host name. You may indicate the remote host using either a +hostname or an IP address. + +The default value is C<"localhost">. It may also be set by C +or C. + +=back + + +=over 4 + +=item B - log all input + + $fh = $obj->input_log; + + $fh = $obj->input_log($fh); + + $fh = $obj->input_log($filename); + +This method starts or stops logging of input. This is useful when +debugging. Also see C. Because most command interpreters +echo back commands received, it's likely all your output will also be +in this log. Note that input logging occurs after newline +translation. See C for details on newline translation. + +If no argument is given, the log filehandle is returned. An empty +string indicates logging is off. + +To stop logging, use an empty string as an argument. + +If an open filehandle is given, it is used for logging and returned. +Otherwise, the argument is assumed to be the name of a file, the file +is opened for logging and a filehandle to it is returned. If the file +can't be opened for writing, the error mode action is performed. + +=back + + +=over 4 + +=item B - input line delimiter + + $chars = $obj->input_record_separator; + + $prev = $obj->input_record_separator($chars); + +This method designates the line delimiter for input. It's used with +C, C, and C to determine lines in the +input. + +With no argument this method returns the current input record +separator set in the object. With an argument it sets the input +record separator to I<$chars> and returns the previous value. Note +that I<$chars> must have length. + +A warning is printed to STDERR when attempting to set this attribute +to a string with no length. + +=back + + +=over 4 + +=item B - last prompt read + + $string = $obj->last_prompt; + + $prev = $obj->last_prompt($string); + +With no argument this method returns the last prompt read by cmd() or +login(). See C. With an argument it sets the last prompt +read to I<$string> and returns the previous value. Normally, only +internal methods set the last prompt. + +=back + + +=over 4 + +=item B - last line read + + $line = $obj->lastline; + + $prev = $obj->lastline($line); + +This method retrieves the last line read from the object. This may be +a useful error message when the remote side abnormally closes the +connection. Typically the remote side will print an error message +before closing. + +With no argument this method returns the last line read from the +object. With an argument it sets the last line read to I<$line> and +returns the previous value. Normally, only internal methods set the +last line. + +=back + + +=over 4 + +=item B - perform standard login + + $ok = $obj->login($username, $password); + + $ok = $obj->login(Name => $username, + Password => $password, + [Errmode => $mode,] + [Prompt => $match,] + [Timeout => $secs,]); + +This method performs a standard login by waiting for a login prompt +and responding with I<$username>, then waiting for the password prompt +and responding with I<$password>, and then waiting for the command +interpreter prompt. If any of those prompts sent by the remote side +don't match what's expected, this method will time-out, unless timeout +is turned off. + +Login prompt must match either of these case insensitive patterns: + + /login[: ]*$/i + /username[: ]*$/i + +Password prompt must match this case insensitive pattern: + + /password[: ]*$/i + +The command interpreter prompt must match the current setting of +prompt. See C. + +Use C to debug when this method keeps timing-out and you +don't think it should. + +Consider using a combination of C and C as an +alternative to this method when it doesn't do what you want, e.g. the +remote host doesn't prompt for a username. + +On success, C<1> is returned. On time out, eof, or other failures, +the error mode action is performed. See C. + +Optional named parameters are provided to override the current +settings of errmode, prompt, and timeout. + +=back + + +=over 4 + +=item B - maximum size of input buffer + + $len = $obj->max_buffer_length; + + $prev = $obj->max_buffer_length($len); + +This method designates the maximum size of the input buffer. An error +is generated when a read causes the buffer to exceed this limit. The +default value is 1,048,576 bytes (1MB). The input buffer can grow +much larger than the block size when you continuously read using +C or C and the data stream contains no newlines +or matching waitfor patterns. + +With no argument, this method returns the current maximum buffer +length set in the object. With an argument it sets the maximum buffer +length to I<$len> and returns the previous value. Values of I<$len> +smaller than 512 will be adjusted to 512. + +A warning is printed to STDERR when attempting to set this attribute +to something that isn't a positive integer. + +=back + + +=over 4 + +=item B - field separator for print + + $chars = $obj->ofs + + $prev = $obj->ofs($chars); + +This method is synonymous with C. + +=back + + +=over 4 + +=item B - connect to port on remote host + + $ok = $obj->open($host); + + $ok = $obj->open([Host => $host,] + [Port => $port,] + [Errmode => $mode,] + [Timeout => $secs,]); + +This method opens a TCP connection to I<$port> on I<$host>. If either +argument is missing then the current value of C or C +is used. Optional named parameters are provided to override the +current setting of errmode and timeout. + +On success C<1> is returned. On time-out or other connection +failures, the error mode action is performed. See C. + +Time-outs don't work for this method on machines that don't implement +SIGALRM - most notably MS-Windows machines. For those machines, an +error is returned when the system reaches its own time-out while +trying to connect. + +A side effect of this method is to reset the alarm interval associated +with SIGALRM. + +=back + + +=over 4 + +=item B - indicate willingness to accept a TELNET option + + $fh = $obj->option_accept([Do => $telopt,] + [Dont => $telopt,] + [Will => $telopt,] + [Wont => $telopt,]); + +This method is used to indicate whether to accept or reject an offer +to enable a TELNET option made by the remote side. If you're using +I or I to indicate a willingness to enable, then a +notification callback must have already been defined by a prior call +to C. See C for details on +receiving enable/disable notification of a TELNET option. + +You can give multiple I, I, I, or I arguments +for different TELNET options in the same call to this method. + +The following example describes the meaning of the named parameters. +A TELNET option, such as C used below, is an integer +constant that you can import from Net::Telnet. See the source in file +Telnet.pm for the complete list. + +=over 4 + +=item + +I => C + +=over 4 + +=item + +we'll accept an offer to enable the echo option on the local side + +=back + +=item + +I => C + +=over 4 + +=item + +we'll reject an offer to enable the echo option on the local side + +=back + +=item + +I => C + +=over 4 + +=item + +we'll accept an offer to enable the echo option on the remote side + +=back + +=item + +I => C + +=over 4 + +=item + +we'll reject an offer to enable the echo option on the remote side + +=back + +=back + +=item + +Use C to send a request to the remote side to enable or +disable a particular TELNET option. + +=back + + +=over 4 + +=item B - define the option negotiation callback + + $coderef = $obj->option_callback; + + $prev = $obj->option_callback($coderef); + +This method defines the callback subroutine that's called when a +TELNET option is enabled or disabled. Once defined, the +I may not be undefined. However, calling this method +with a different I<$coderef> changes it. + +A warning is printed to STDERR when attempting to set this attribute +to something that isn't a coderef. + +Here are the circumstances that invoke I<$coderef>: + +=over 4 + +=item + +An option becomes enabled because the remote side requested an enable +and C had been used to arrange that it be accepted. + +=item + +The remote side arbitrarily decides to disable an option that is +currently enabled. Note that Net::Telnet always accepts a request to +disable from the remote side. + +=item + +C was used to send a request to enable or disable an +option and the response from the remote side has just been received. +Note, that if a request to enable is rejected then I<$coderef> is +still invoked even though the option didn't change. + +=back + +=item + +Here are the arguments passed to I<&$coderef>: + + &$coderef($obj, $option, $is_remote, + $is_enabled, $was_enabled, $buf_position); + +=over 4 + +=item + +1. I<$obj> is the Net::Telnet object + +=item + +2. I<$option> is the TELNET option. Net::Telnet exports constants +for the various TELNET options which just equate to an integer. + +=item + +3. I<$is_remote> is a boolean indicating for which side the option +applies. + +=item + +4. I<$is_enabled> is a boolean indicating the option is enabled or +disabled + +=item + +5. I<$was_enabled> is a boolean indicating the option was previously +enabled or disabled + +=item + +6. I<$buf_position> is an integer indicating the position in the +object's input buffer where the option takes effect. See C +to access the object's input buffer. + +=back + +=back + + +=over 4 + +=item B - log all TELNET options sent or received + + $fh = $obj->option_log; + + $fh = $obj->option_log($fh); + + $fh = $obj->option_log($filename); + +This method starts or stops logging of all TELNET options being sent +or received. This is useful for debugging when you send options via +C or you arrange to accept option requests from the +remote side via C. Also see C. + +If no argument is given, the log filehandle is returned. An empty +string indicates logging is off. + +To stop logging, use an empty string as an argument. + +If an open filehandle is given, it is used for logging and returned. +Otherwise, the argument is assumed to be the name of a file, the file +is opened for logging and a filehandle to it is returned. If the file +can't be opened for writing, the error mode action is performed. + +=back + + +=over 4 + +=item B - send TELNET option negotiation request + + $ok = $obj->option_send([Do => $telopt,] + [Dont => $telopt,] + [Will => $telopt,] + [Wont => $telopt,] + [Async => $boolean,]); + +This method is not yet implemented. Look for it in a future version. + +=back + + +=over 4 + +=item B - get current state of a TELNET option + + $hashref = $obj->option_state($telopt); + +This method returns a hashref containing a copy of the current state +of TELNET option I<$telopt>. + +Here are the values returned in the hash: + +=over 4 + +=item + +I<$hashref>->{remote_enabled} + +=over 4 + +=item + +boolean that indicates if the option is enabled on the remote side. + +=back + +=item + +I<$hashref>->{remote_enable_ok} + +=over 4 + +=item + +boolean that indicates if it's ok to accept an offer to enable this +option on the remote side. + +=back + +=item + +I<$hashref>->{remote_state} + +=over 4 + +=item + +string used to hold the internal state of option negotiation for this +option on the remote side. + +=back + +=item + +I<$hashref>->{local_enabled} + +=over 4 + +=item + +boolean that indicates if the option is enabled on the local side. + +=back + +=item + +I<$hashref>->{local_enable_ok} + +=over 4 + +=item + +boolean that indicates if it's ok to accept an offer to enable this +option on the local side. + +=back + +=item + +I<$hashref>->{local_state} + +=over 4 + +=item + +string used to hold the internal state of option negotiation for this +option on the local side. + +=back + +=back + +=back + + +=over 4 + +=item B - output line delimiter + + $chars = $obj->ors; + + $prev = $obj->ors($chars); + +This method is synonymous with C. + +=back + + +=over 4 + +=item B - field separator for print + + $chars = $obj->output_field_separator; + + $prev = $obj->output_field_separator($chars); + +This method designates the output field separator for C. +Ordinarily the print method simply prints out the comma separated +fields you specify. Set this to specify what's printed between +fields. + +With no argument this method returns the current output field +separator set in the object. With an argument it sets the output +field separator to I<$chars> and returns the previous value. + +By default it's set to an empty string. + +=back + + +=over 4 + +=item B - log all output + + $fh = $obj->output_log; + + $fh = $obj->output_log($fh); + + $fh = $obj->output_log($filename); + +This method starts or stops logging of output. This is useful when +debugging. Also see C. Because most command interpreters +echo back commands received, it's likely all your output would also be +in an input log. See C. Note that output logging occurs +before newline translation. See C for details on newline +translation. + +If no argument is given, the log filehandle is returned. An empty +string indicates logging is off. + +To stop logging, use an empty string as an argument. + +If an open filehandle is given, it is used for logging and returned. +Otherwise, the argument is assumed to be the name of a file, the file +is opened for logging and a filehandle to it is returned. If the file +can't be opened for writing, the error mode action is performed. + +=back + + +=over 4 + +=item B - output line delimiter + + $chars = $obj->output_record_separator; + + $prev = $obj->output_record_separator($chars); + +This method designates the output line delimiter for C and +C. Set this to specify what's printed at the end of C +and C. + +The output record separator is set to C<"\n"> by default, so there's +no need to append all your commands with a newline. To avoid printing +the output_record_separator use C or set the +output_record_separator to an empty string. + +With no argument this method returns the current output record +separator set in the object. With an argument it sets the output +record separator to I<$chars> and returns the previous value. + +=back + + +=over 4 + +=item B - remote port + + $port = $obj->port; + + $prev = $obj->port($port); + +This method designates the remote TCP port. With no argument this +method returns the current port number. With an argument it sets the +current port number to I<$port> and returns the previous port. If +I<$port> is a TCP service name, then it's first converted to a port +number using the perl function C. + +The default value is C<23>. It may also be set by C or +C. + +A warning is printed to STDERR when attempting to set this attribute +to something that's not a positive integer or a valid TCP service +name. + +=back + + +=over 4 + +=item B - write to object + + $ok = $obj->print(@list); + +This method writes I<@list> followed by the I +to the open object and returns C<1> if all data was successfully +written. On time-out or other failures, the error mode action is +performed. See C. + +By default, the C is set to C<"\n"> so all +your commands automatically end with a newline. In most cases your +output is being read by a command interpreter which won't accept a +command until newline is read. This is similar to someone typing a +command and hitting the return key. To avoid printing a trailing +C<"\n"> use C instead or set the output_record_separator to an +empty string. + +On failure, it's possible that some data was written. If you choose +to try and recover from a print timing-out, use C to +determine how much was written before the error occurred. + +You may also use the output field separator to print a string between +the list elements. See C. + +=back + + +=over 4 + +=item B - number of bytes written by print + + $num = $obj->print_length; + +This returns the number of bytes successfully written by the most +recent C or C. + +=back + + +=over 4 + +=item B - pattern to match a prompt + + $matchop = $obj->prompt; + + $prev = $obj->prompt($matchop); + +This method sets the pattern used to find a prompt in the input +stream. It must be a string representing a valid perl pattern match +operator. The methods C and C try to read until +matching the prompt. They will fail with a time-out error if the +pattern you've chosen doesn't match what the remote side sends. + +With no argument this method returns the prompt set in the object. +With an argument it sets the prompt to I<$matchop> and returns the +previous value. + +The default prompt is C<'/[\$%#E] $/'> + +Always use single quotes, instead of double quotes, to construct +I<$matchop> (e.g. C<'/bash\$ $/'>). If you're constructing a DOS like +file path, you'll need to use four backslashes to represent one +(e.g. C<'/c:\\\\users\\\\billE$/i'>). + +Of course don't forget about regexp metacharacters like C<.>, C<[>, or +C<$>. You'll only need a single backslash to quote them. The anchor +metacharacters C<^> and C<$> refer to positions in the input buffer. + +A warning is printed to STDERR when attempting to set this attribute +with a match operator missing its opening delimiter. + +=back + + +=over 4 + +=item B - write to object + + $ok = $obj->put($string); + + $ok = $obj->put(String => $string, + [Binmode => $mode,] + [Errmode => $errmode,] + [Telnetmode => $mode,] + [Timeout => $secs,]); + +This method writes I<$string> to the opened object and returns C<1> if +all data was successfully written. This method is like C +except that it doesn't write the trailing output_record_separator +("\n" by default). On time-out or other failures, the error mode +action is performed. See C. + +On failure, it's possible that some data was written. If you choose +to try and recover from a put timing-out, use C to +determine how much was written before the error occurred. + +Optional named parameters are provided to override the current +settings of binmode, errmode, telnetmode, and timeout. + +=back + + +=over 4 + +=item B - input line delimiter + + $chars = $obj->rs; + + $prev = $obj->rs($chars); + +This method is synonymous with C. + +=back + + +=over 4 + +=item B - turn off/on telnet command interpretation + + $mode = $obj->telnetmode; + + $prev = $obj->telnetmode($mode); + +This method controls whether or not TELNET commands in the data stream +are recognized and handled. The TELNET protocol uses certain +character sequences sent in the data stream to control the session. +If the port you're connecting to isn't using the TELNET protocol, then +you should turn this mode off. The default is I. + +If no argument is given, the current mode is returned. + +If I<$mode> is C<0> then telnet mode is off. If I<$mode> is C<1> then +telnet mode is on. + +=back + + +=over 4 + +=item B - time-out indicator + + $boolean = $obj->timed_out; + + $prev = $obj->timed_out($boolean); + +This method indicates if a previous read, write, or open method +timed-out. Remember that timing-out is itself an error. To be able +to invoke C after a time-out error, you'd have to change +the default error mode to something other than C<"die">. See +C. + +With no argument this method returns C<1> if the previous method +timed-out. With an argument it sets the indicator. Normally, only +internal methods set this indicator. + +=back + + +=over 4 + +=item B - I/O time-out interval + + $secs = $obj->timeout; + + $prev = $obj->timeout($secs); + +This method sets the timeout interval that's used when performing I/O +or connecting to a port. When a method doesn't complete within the +timeout interval then it's an error and the error mode action is +performed. + +A timeout may be expressed as a relative or absolute value. If +I<$secs> is greater than or equal to the time the program started, as +determined by $^T, then it's an absolute time value for when time-out +occurs. The perl function C may be used to obtain an absolute +time value. For a relative time-out value less than $^T, time-out +happens I<$secs> from when the method begins. + +If I<$secs> is C<0> then time-out occurs if the data cannot be +immediately read or written. Use the undefined value to turn off +timing-out completely. + +With no argument this method returns the timeout set in the object. +With an argument it sets the timeout to I<$secs> and returns the +previous value. The default timeout value is C<10> seconds. + +A warning is printed to STDERR when attempting to set this attribute +to something that's not an C or a non-negative integer. + +=back + + +=over 4 + +=item B - wait for pattern in the input + + $ok = $obj->waitfor($matchop); + $ok = $obj->waitfor([Match => $matchop,] + [String => $string,] + [Binmode => $mode,] + [Errmode => $errmode,] + [Telnetmode => $mode,] + [Timeout => $secs,]); + + ($prematch, $match) = $obj->waitfor($matchop); + ($prematch, $match) = $obj->waitfor([Match => $matchop,] + [String => $string,] + [Binmode => $mode,] + [Errmode => $errmode,] + [Telnetmode => $mode,] + [Timeout => $secs,]); + +This method reads until a pattern match or string is found in the +input stream. All the characters before and including the match are +removed from the input stream. + +In a list context the characters before the match and the matched +characters are returned in I<$prematch> and I<$match>. In a scalar +context, the matched characters and all characters before it are +discarded and C<1> is returned on success. On time-out, eof, or other +failures, for both list and scalar context, the error mode action is +performed. See C. + +You can specify more than one pattern or string by simply providing +multiple I and/or I named parameters. A I<$matchop> +must be a string representing a valid Perl pattern match operator. +The I<$string> is just a substring to find in the input stream. + +Use C to debug when this method keeps timing-out and you +don't think it should. + +An optional named parameter is provided to override the current +setting of timeout. + +To avoid unexpected backslash interpretation, always use single quotes +instead of double quotes to construct a match operator argument for +C and C (e.g. C<'/bash\$ $/'>). If you're +constructing a DOS like file path, you'll need to use four backslashes +to represent one (e.g. C<'/c:\\\\users\\\\billE$/i'>). + +Of course don't forget about regexp metacharacters like C<.>, C<[>, or +C<$>. You'll only need a single backslash to quote them. The anchor +metacharacters C<^> and C<$> refer to positions in the input buffer. + +Optional named parameters are provided to override the current +settings of binmode, errmode, telnetmode, and timeout. + +=back + + +=head1 SEE ALSO + +=over 2 + +=item RFC 854 + +S + +S + +=item RFC 1143 + +S + +S + +=item TELNET Option Assignments + +S + +=back + + +=head1 EXAMPLES + +This example gets the current weather forecast for Brainerd, Minnesota. + + my ($forecast, $t); + + use Net::Telnet (); + $t = new Net::Telnet; + $t->open("rainmaker.wunderground.com"); + + ## Wait for first prompt and "hit return". + $t->waitfor('/continue:.*$/'); + $t->print(""); + + ## Wait for second prompt and respond with city code. + $t->waitfor('/city code.*$/'); + $t->print("BRD"); + + ## Read and print the first page of forecast. + ($forecast) = $t->waitfor('/[ \t]+press return to continue/i'); + print $forecast; + + exit; + + +This example checks a POP server to see if you have mail. + + my ($hostname, $line, $passwd, $pop, $username); + + $hostname = "your_destination_host_here"; + $username = "your_username_here"; + $passwd = "your_password_here"; + + use Net::Telnet (); + $pop = new Net::Telnet (Telnetmode => 0); + $pop->open(Host => $hostname, + Port => 110); + + + ## Read connection message. + $line = $pop->getline; + die $line unless $line =~ /^\+OK/; + + ## Send user name. + $pop->print("user $username"); + $line = $pop->getline; + die $line unless $line =~ /^\+OK/; + + ## Send password. + $pop->print("pass $passwd"); + $line = $pop->getline; + die $line unless $line =~ /^\+OK/; + + ## Request status of messages. + $pop->print("list"); + $line = $pop->getline; + print $line; + + exit; + + +Here's an example that uses the ssh program to connect to a remote +host. Because the ssh program reads and writes to its controlling +terminal, the IO::Pty module is used to create a new pseudo terminal +for use by ssh. A new Net::Telnet object is then created to read and +write to that pseudo terminal. To use the code below, substitute +"changeme" with the actual host, user, password, and command prompt. + + ## Main program. + { + my ($pty, $ssh, @lines); + my $host = "changeme"; + my $user = "changeme"; + my $password = "changeme"; + my $prompt = '/changeme:~> $/'; + + ## Start ssh program. + $pty = &spawn("ssh", "-l", $user, $host); # spawn() defined below + + ## Create a Net::Telnet object to perform I/O on ssh's tty. + use Net::Telnet; + $ssh = new Net::Telnet (-fhopen => $pty, + -prompt => $prompt, + -telnetmode => 0, + -cmd_remove_mode => 1, + -output_record_separator => "\r"); + + ## Login to remote host. + $ssh->waitfor(-match => '/password: ?$/i', + -errmode => "return") + or die "problem connecting to host: ", $ssh->lastline; + $ssh->print($password); + $ssh->waitfor(-match => $ssh->prompt, + -errmode => "return") + or die "login failed: ", $ssh->lastline; + + ## Send command, get and print its output. + @lines = $ssh->cmd("who"); + print @lines; + + exit; + } # end main program + + sub spawn { + my(@cmd) = @_; + my($pid, $pty, $tty, $tty_fd); + + ## Create a new pseudo terminal. + use IO::Pty (); + $pty = new IO::Pty + or die $!; + + ## Execute the program in another process. + unless ($pid = fork) { # child process + die "problem spawning program: $!\n" unless defined $pid; + + ## Disassociate process from existing controlling terminal. + use POSIX (); + POSIX::setsid + or die "setsid failed: $!"; + + ## Associate process with a new controlling terminal. + $tty = $pty->slave; + $tty_fd = $tty->fileno; + close $pty; + + ## Make stdio use the new controlling terminal. + open STDIN, "<&$tty_fd" or die $!; + open STDOUT, ">&$tty_fd" or die $!; + open STDERR, ">&STDOUT" or die $!; + close $tty; + + ## Execute requested program. + exec @cmd + or die "problem executing $cmd[0]\n"; + } # end child process + + $pty; + } # end sub spawn + + +Here's an example that changes a user's login password. Because the +passwd program always prompts for passwords on its controlling +terminal, the IO::Pty module is used to create a new pseudo terminal +for use by passwd. A new Net::Telnet object is then created to read +and write to that pseudo terminal. To use the code below, substitute +"changeme" with the actual old and new passwords. + + my ($pty, $passwd); + my $oldpw = "changeme"; + my $newpw = "changeme"; + + ## Start passwd program. + $pty = &spawn("passwd"); # spawn() defined above + + ## Create a Net::Telnet object to perform I/O on passwd's tty. + use Net::Telnet; + $passwd = new Net::Telnet (-fhopen => $pty, + -timeout => 2, + -output_record_separator => "\r", + -telnetmode => 0, + -cmd_remove_mode => 1); + $passwd->errmode("return"); + + ## Send existing password. + $passwd->waitfor('/password: ?$/i') + or die "no old password prompt: ", $passwd->lastline; + $passwd->print($oldpw); + + ## Send new password. + $passwd->waitfor('/new password: ?$/i') + or die "bad old password: ", $passwd->lastline; + $passwd->print($newpw); + + ## Send new password verification. + $passwd->waitfor('/new password: ?$/i') + or die "bad new password: ", $passwd->lastline; + $passwd->print($newpw); + + ## Display success or failure. + $passwd->waitfor('/changed/') + or die "bad new password: ", $passwd->lastline; + print $passwd->lastline; + + $passwd->close; + exit; + + +Here's an example you can use to down load a file of any type. The +file is read from the remote host's standard output using cat. To +prevent any output processing, the remote host's standard output is +put in raw mode using the Bourne shell. The Bourne shell is used +because some shells, notably tcsh, prevent changing tty modes. Upon +completion, FTP style statistics are printed to stderr. + + my ($block, $filename, $host, $hostname, $k_per_sec, $line, + $num_read, $passwd, $prevblock, $prompt, $size, $size_bsd, + $size_sysv, $start_time, $total_time, $username); + + $hostname = "your_destination_host_here"; + $username = "your_username_here"; + $passwd = "your_password_here"; + $filename = "your_download_file_here"; + + ## Connect and login. + use Net::Telnet (); + $host = new Net::Telnet (Timeout => 30, + Prompt => '/[%#>] $/'); + $host->open($hostname); + $host->login($username, $passwd); + + ## Make sure prompt won't match anything in send data. + $prompt = "_funkyPrompt_"; + $host->prompt("/$prompt\$/"); + $host->cmd("set prompt = '$prompt'"); + + ## Get size of file. + ($line) = $host->cmd("/bin/ls -l $filename"); + ($size_bsd, $size_sysv) = (split ' ', $line)[3,4]; + if ($size_sysv =~ /^\d+$/) { + $size = $size_sysv; + } + elsif ($size_bsd =~ /^\d+$/) { + $size = $size_bsd; + } + else { + die "$filename: no such file on $hostname"; + } + + ## Start sending the file. + binmode STDOUT; + $host->binmode(1); + $host->print("/bin/sh -c 'stty raw; cat $filename'"); + $host->getline; # discard echoed back line + + ## Read file a block at a time. + $num_read = 0; + $prevblock = ""; + $start_time = time; + while (($block = $host->get) and ($block !~ /$prompt$/o)) { + if (length $block >= length $prompt) { + print $prevblock; + $num_read += length $prevblock; + $prevblock = $block; + } + else { + $prevblock .= $block; + } + + } + $host->close; + + ## Print last block without trailing prompt. + $prevblock .= $block; + $prevblock =~ s/$prompt$//; + print $prevblock; + $num_read += length $prevblock; + die "error: expected size $size, received size $num_read\n" + unless $num_read == $size; + + ## Print totals. + $total_time = (time - $start_time) || 1; + $k_per_sec = ($size / 1024) / $total_time; + $k_per_sec = sprintf "%3.1f", $k_per_sec; + warn("$num_read bytes received in $total_time seconds ", + "($k_per_sec Kbytes/s)\n"); + + exit; + + +=head1 AUTHOR + +Jay Rogers + + +=head1 COPYRIGHT + +Copyright 1997, 2000, 2002 by Jay Rogers. All rights reserved. +This program is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. diff --git a/agc_2-X/branches/agc_2.0.5/extras/OLD_vdc_tab_script.gif b/agc_2-X/branches/agc_2.0.5/extras/OLD_vdc_tab_script.gif new file mode 100644 index 0000000000000000000000000000000000000000..69e43b796cf4e54e22bffc09ba16377d76657104 GIT binary patch literal 825 zcmZ?wbhEHb%w&*bxXQrr|M`Xg|Nk=p8GnBMe|2s5%9$>9<{j1f?`|A2*3%N?=bPDG zt0XUz7887C=dw^=*SjaS{Qv*&|H~_@W_AC6edGU&%m06V{{Qju|9^k}Kfn0@@1OFV z#Q)#l|9}7B|Hmi)e|-4={lotckN&^E|Nqi-v){{Q^) z|J{9{?PLSRpDbX#Iv^6{CkD3v2O0`Ibfo%EEGasfV>SQ6iW0B2QR{EKPB{IxYX5@` z6+U|Xrv7I;olXec`>>Duo=f<9tPSFh<2^AYc0-Q2^+DzJ8EtGM^VR$(@#Lx(uo+qgLo zAL8e0W<7O^hmE`WAQNlj`3p>3Y{wd}-9F6Lw%lt~3;Ux(yv-aZUthWT`taKahi)+3 zdd>O$3)2&xyWz7{h7JMPlO?5(x#Wr0>=9LU{4%sf@ebu;|eTUkHpQhOg zEIh5X(j{eq9m;}Q7nX9pZH%nx{+1hj;ecAhzW?9EwAQR(TBRf}qNq{upfQ;7{u4K` zwCUQ+Qw0>8=f>O=NOzU*DKSWSeZbZ6)jYOERuUB*ui-; zxHZyLqvu)hX@+fFe5XF&b-Xd-u->e`6-}H<3NI$@d2wLYV}}nyHdomF8_zy@XnB+& z{@g@W&gzZ^hZc?w0o6XH4Ku$h@CY)gTz~g)~|G?A} zzRVh790!EFqEekJvnvz_xE2*`sO}3e7&ut;o{a4a#FH3 zCYJoXe7fq|QGQ{ER_ye4bl*IC^}m1rrZ)Ef{qy(l?>~=@-uV9hYi4xHn_JJGoxS_$ z_|1ohufMwX_|?_NpI^Lxc;x!)>rWn^y#4sZtsfu1zPzb$=i>P-2l3TB%t_{1*~2NM1uUp!1n(@LxG2mRR4)3MJIEt=3iJ* z;e{VImjv#8*iqxRUYPI4p1Skri{tdlnwnXp)H3~) z7`l6U`}!wLoHTjL)M@=n{wmYw%$+xXfr_8%f~Cur&r|gkQeLrc{RReQAs_LL+jq

>?4tw&tk9Gv&APT)Fo zZo;i8(px;Y^>W_g=;P!$bN9-F?h8jciw~TTS8imIw$b?UR*00C9>)WylN(-M+a|S~ ziKDw=vAcV|>Rg9INTzb*Lo*JK-R@~}&x&P>ycl*vrz0*_`b61I&U?SOI zm&Prt&-L3PDCu;M1h>H169yK$D+0YYDfD}EduB2gv^1igmL|MKMf+T!`y+4j%>|NW)Co7VKlj-iFg=e$x| zPdh(4FEK7^c4bITM7-FrUTIsg%cYsFkJk3dbcJu&_RISJ_1pN-+4jxT^~d@D`11em zgOhqBBqaa;|I+lvA^8LV00000EC2ui0CNBy000I5peK%GX`X1Ru59bRa4gSsZQppV zk45kQz@TtQEDm=#z=gnUI-k&}lyIn8uh^_LGr>&1V8R6e!+g%@w0g~MyWjA*e2sZ& z=J>pR&)2vBe1U?4dSopXgo%oa9~CVYjFFOh7A%019}fl*n4M^bDu`$t9UTm84W$Yn zq#Yb;1`wsQ4iagtuV=Hn3knDcx23si3#F%Qvv7_okZB3C2x_mVzFFSBMW6@N? zd#xO-Nl0$kOmeF@4m*<*!Mu8Ej=Bke;+;HW3A61~dPY`BH~*x5XlaV%QnFAD#?*BZ zjzkg@+^GF9t<*TPOc%Zh+ZGMk4tUXc&Gj^DUpEtM?ky#B9)w^U2gl(H7}mOf9;*qI z08QrMsU`%xsoTMTMgx#@wMv@C00jv@^@?2`_(L{uj6GM5Bfv!5H`z2oEqW$%2aJN_ zab>&vOagune22#%m76R*us$2A zBSgo^>GQi@+thh?UVsZAcMWOQrD2>^bpd|%L2n}*AO~mv)pmvi<&^?Kg3Havi!VfR z)yi;cc$HLx&7pC?2-|tW(SUPER::new; + *$self->{net_telnet} = { + bin_mode => 0, + blksize => &_optimal_blksize(), + buf => "", + cmd_prompt => '/[\$%#>] $/', + cmd_rm_mode => "auto", + dumplog => '', + eofile => 1, + errormode => "die", + errormsg => "", + fdmask => '', + host => "localhost", + inputlog => '', + last_line => "", + last_prompt => "", + maxbufsize => 1_048_576, + num_wrote => 0, + ofs => "", + opened => '', + opt_cback => '', + opt_log => '', + opts => {}, + ors => "\n", + outputlog => '', + pending_errormsg => "", + port => 23, + pushback_buf => "", + rs => "\n", + subopt_cback => '', + telnet_mode => 1, + time_out => 10, + timedout => '', + unsent_opts => "", + }; + + ## Indicate that we'll accept an offer from remote side for it to echo + ## and suppress go aheads. + &_opt_accept($self, + { option => &TELOPT_ECHO, + is_remote => 1, + is_enable => 1 }, + { option => &TELOPT_SGA, + is_remote => 1, + is_enable => 1 }, + ); + + ## Parse the args. + if (@_ == 2) { # one positional arg given + $host = $_[1]; + } + elsif (@_ > 2) { # named args given + ## Get the named args. + (undef, %args) = @_; + + ## Parse all other named args. + foreach (keys %args) { + if (/^-?binmode$/i) { + $self->binmode($args{$_}); + } + elsif (/^-?cmd_remove_mode$/i) { + $self->cmd_remove_mode($args{$_}); + } + elsif (/^-?dump_log$/i) { + $self->dump_log($args{$_}); + } + elsif (/^-?errmode$/i) { + $errmode = $args{$_}; + } + elsif (/^-?fhopen$/i) { + $fh_open = $args{$_}; + } + elsif (/^-?host$/i) { + $host = $args{$_}; + } + elsif (/^-?input_log$/i) { + $self->input_log($args{$_}); + } + elsif (/^-?input_record_separator$/i or /^-?rs$/i) { + $self->input_record_separator($args{$_}); + } + elsif (/^-?option_log$/i) { + $self->option_log($args{$_}); + } + elsif (/^-?output_log$/i) { + $self->output_log($args{$_}); + } + elsif (/^-?output_record_separator$/i or /^-?ors$/i) { + $self->output_record_separator($args{$_}); + } + elsif (/^-?port$/i) { + $self->port($args{$_}); + } + elsif (/^-?prompt$/i) { + $self->prompt($args{$_}); + } + elsif (/^-?telnetmode$/i) { + $self->telnetmode($args{$_}); + } + elsif (/^-?timeout$/i) { + $self->timeout($args{$_}); + } + else { + &_croak($self, "bad named parameter \"$_\" given " . + "to " . ref($self) . "::new()"); + } + } + } + + if (defined $errmode) { # user wants to set errmode + $self->errmode($errmode); + } + + if (defined $fh_open) { # user wants us to attach to existing filehandle + $self->fhopen($fh_open) + or return; + } + elsif (defined $host) { # user wants us to open a connection to host + $self->host($host); + $self->open + or return; + } + + $self; +} # end sub new + + +sub DESTROY { +} # end sub DESTROY + + +sub binmode { + my ($self, $mode) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{bin_mode}; + + if (@_ >= 2) { + unless (defined $mode) { + $mode = 0; + } + + $s->{bin_mode} = $mode; + } + + $prev; +} # end sub binmode + + +sub break { + my ($self) = @_; + my $s = *$self->{net_telnet}; + my $break_cmd = "\xff\xf3"; + + $s->{timedout} = ''; + + &_put($self, \$break_cmd, "break"); +} # end sub break + + +sub buffer { + my ($self) = @_; + my $s = *$self->{net_telnet}; + + \$s->{buf}; +} # end sub buffer + + +sub buffer_empty { + my ($self) = @_; + my ( + $buffer, + ); + + $buffer = $self->buffer; + $$buffer = ""; +} # end sub buffer_empty + + +sub close { + my ($self) = @_; + my $s = *$self->{net_telnet}; + + $s->{eofile} = 1; + $s->{opened} = ''; + close $self + if defined fileno($self); + + 1; +} # end sub close + + +sub cmd { + my ($self, @args) = @_; + my ( + $cmd_remove_mode, + $errmode, + $firstpos, + $last_prompt, + $lastpos, + $lines, + $ors, + $output, + $output_ref, + $prompt, + $remove_echo, + $rs, + $rs_len, + $s, + $telopt_echo, + $timeout, + %args, + ); + my $cmd = ""; + local $_; + + ## Init. + $self->timed_out(''); + $self->last_prompt(""); + $s = *$self->{net_telnet}; + $output = []; + $cmd_remove_mode = $self->cmd_remove_mode; + $errmode = $self->errmode; + $ors = $self->output_record_separator; + $prompt = $self->prompt; + $rs = $self->input_record_separator; + $timeout = $self->timeout; + + ## Parse args. + if (@_ == 2) { # one positional arg given + $cmd = $_[1]; + } + elsif (@_ > 2) { # named args given + ## Get the named args. + (undef, %args) = @_; + + ## Parse the named args. + foreach (keys %args) { + if (/^-?cmd_remove/i) { + $cmd_remove_mode = &_parse_cmd_remove_mode($self, $args{$_}); + } + elsif (/^-?errmode$/i) { + $errmode = &_parse_errmode($self, $args{$_}); + } + elsif (/^-?input_record_separator$/i or /^-?rs$/i) { + $rs = &_parse_input_record_separator($self, $args{$_}); + } + elsif (/^-?output$/i) { + $output_ref = $args{$_}; + if (defined($output_ref) and ref($output_ref) eq "ARRAY") { + $output = $output_ref; + } + } + elsif (/^-?output_record_separator$/i or /^-?ors$/i) { + $ors = $self->output_record_separator($args{$_}); + } + elsif (/^-?prompt$/i) { + $prompt = &_parse_prompt($self, $args{$_}); + } + elsif (/^-?string$/i) { + $cmd = $args{$_}; + } + elsif (/^-?timeout$/i) { + $timeout = &_parse_timeout($self, $args{$_}); + } + else { + &_croak($self, "bad named parameter \"$_\" given " . + "to " . ref($self) . "::cmd()"); + } + } + } + + ## Override some user settings. + local $s->{errormode} = "return"; + local $s->{time_out} = &_endtime($timeout); + $self->errmsg(""); + + ## Send command and wait for the prompt. + $self->put($cmd . $ors) + and ($lines, $last_prompt) = $self->waitfor($prompt); + + ## Check for failure. + $s->{errormode} = $errmode; + return $self->error("command timed-out") if $self->timed_out; + return $self->error($self->errmsg) if $self->errmsg ne ""; + + ## Save the most recently matched prompt. + $self->last_prompt($last_prompt); + + ## Split lines into an array, keeping record separator at end of line. + $firstpos = 0; + $rs_len = length $rs; + while (($lastpos = index($lines, $rs, $firstpos)) > -1) { + push(@$output, + substr($lines, $firstpos, $lastpos - $firstpos + $rs_len)); + $firstpos = $lastpos + $rs_len; + } + + if ($firstpos < length $lines) { + push @$output, substr($lines, $firstpos); + } + + ## Determine if we should remove the first line of output based + ## on the assumption that it's an echoed back command. + if ($cmd_remove_mode eq "auto") { + ## See if remote side told us they'd echo. + $telopt_echo = $self->option_state(&TELOPT_ECHO); + $remove_echo = $telopt_echo->{remote_enabled}; + } + else { # user explicitly told us how many lines to remove. + $remove_echo = $cmd_remove_mode; + } + + ## Get rid of possible echo back command. + while ($remove_echo--) { + shift @$output; + } + + ## Ensure at least a null string when there's no command output - so + ## "true" is returned in a list context. + unless (@$output) { + @$output = (""); + } + + ## Return command output via named arg, if requested. + if (defined $output_ref) { + if (ref($output_ref) eq "SCALAR") { + $$output_ref = join "", @$output; + } + elsif (ref($output_ref) eq "HASH") { + %$output_ref = @$output; + } + } + + wantarray ? @$output : 1; +} # end sub cmd + + +sub cmd_remove_mode { + my ($self, $mode) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{cmd_rm_mode}; + + if (@_ >= 2) { + $s->{cmd_rm_mode} = &_parse_cmd_remove_mode($self, $mode); + } + + $prev; +} # end sub cmd_remove_mode + + +sub dump_log { + my ($self, $name) = @_; + my ( + $fh, + $s, + ); + + $s = *$self->{net_telnet}; + $fh = $s->{dumplog}; + + if (@_ >= 2) { + unless (defined $name) { + $name = ""; + } + + $fh = &_fname_to_handle($self, $name) + or return; + $s->{dumplog} = $fh; + } + + $fh; +} # end sub dump_log + + +sub eof { + my ($self) = @_; + + *$self->{net_telnet}{eofile}; +} # end sub eof + + +sub errmode { + my ($self, $mode) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{errormode}; + + if (@_ >= 2) { + $s->{errormode} = &_parse_errmode($self, $mode); + } + + $prev; +} # end sub errmode + + +sub errmsg { + my ($self, @errmsgs) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{errormsg}; + + if (@_ >= 2) { + $s->{errormsg} = join "", @errmsgs; + } + + $prev; +} # end sub errmsg + + +sub error { + my ($self, @errmsg) = @_; + my ( + $errmsg, + $func, + $mode, + $s, + @args, + ); + local $_; + + $s = *$self->{net_telnet}; + + if (@_ >= 2) { + ## Put error message in the object. + $errmsg = join "", @errmsg; + $s->{errormsg} = $errmsg; + + ## Do the error action as described by error mode. + $mode = $s->{errormode}; + if (ref($mode) eq "CODE") { + &$mode($errmsg); + return; + } + elsif (ref($mode) eq "ARRAY") { + ($func, @args) = @$mode; + &$func(@args); + return; + } + elsif ($mode =~ /^return$/i) { + return; + } + else { # die + if ($errmsg =~ /\n$/) { + die $errmsg; + } + else { + ## Die and append caller's line number to message. + &_croak($self, $errmsg); + } + } + } + else { + return $s->{errormsg} ne ""; + } +} # end sub error + + +sub fhopen { + my ($self, $fh) = @_; + my ( + $globref, + $s, + ); + + ## Convert given filehandle to a typeglob reference, if necessary. + $globref = &_qualify_fh($self, $fh); + + ## Ensure filehandle is already open. + return $self->error("fhopen filehandle isn't already open") + unless defined($globref) and defined(fileno $globref); + + ## Ensure we're closed. + $self->close; + + ## Save our private data. + $s = *$self->{net_telnet}; + + ## Switch ourself with the given filehandle. + *$self = *$globref; + + ## Restore our private data. + *$self->{net_telnet} = $s; + + ## Re-initialize ourself. + select((select($self), $|=1)[$[]); # don't buffer writes + $s = *$self->{net_telnet}; + $s->{blksize} = &_optimal_blksize((stat $self)[11]); + $s->{buf} = ""; + $s->{eofile} = ''; + $s->{errormsg} = ""; + vec($s->{fdmask}='', fileno($self), 1) = 1; + $s->{host} = ""; + $s->{last_line} = ""; + $s->{last_prompt} = ""; + $s->{num_wrote} = 0; + $s->{opened} = 1; + $s->{pending_errormsg} = ""; + $s->{port} = ''; + $s->{pushback_buf} = ""; + $s->{timedout} = ''; + $s->{unsent_opts} = ""; + &_reset_options($s->{opts}); + + 1; +} # end sub fhopen + + +sub get { + my ($self, %args) = @_; + my ( + $binmode, + $endtime, + $errmode, + $line, + $s, + $telnetmode, + $timeout, + ); + local $_; + + ## Init. + $s = *$self->{net_telnet}; + $timeout = $s->{time_out}; + $s->{timedout} = ''; + return if $s->{eofile}; + + ## Parse the named args. + foreach (keys %args) { + if (/^-?binmode$/i) { + $binmode = $args{$_}; + unless (defined $binmode) { + $binmode = 0; + } + } + elsif (/^-?errmode$/i) { + $errmode = &_parse_errmode($self, $args{$_}); + } + elsif (/^-?telnetmode$/i) { + $telnetmode = $args{$_}; + unless (defined $telnetmode) { + $telnetmode = 0; + } + } + elsif (/^-?timeout$/i) { + $timeout = &_parse_timeout($self, $args{$_}); + } + else { + &_croak($self, "bad named parameter \"$_\" given " . + "to " . ref($self) . "::get()"); + } + } + + ## If any args given, override corresponding instance data. + local $s->{errormode} = $errmode + if defined $errmode; + local $s->{bin_mode} = $binmode + if defined $binmode; + local $s->{telnet_mode} = $telnetmode + if defined $telnetmode; + + ## Set wall time when we time out. + $endtime = &_endtime($timeout); + + ## Try to send any waiting option negotiation. + if (length $s->{unsent_opts}) { + &_flush_opts($self); + } + + ## Try to read just the waiting data using return error mode. + { + local $s->{errormode} = "return"; + $s->{errormsg} = ""; + &_fillbuf($self, $s, 0); + } + + ## We're done if we timed-out and timeout value is set to "poll". + return $self->error($s->{errormsg}) + if ($s->{timedout} and defined($timeout) and $timeout == 0 + and !length $s->{buf}); + + ## We're done if we hit an error other than timing out. + if ($s->{errormsg} and !$s->{timedout}) { + if (!length $s->{buf}) { + return $self->error($s->{errormsg}); + } + else { # error encountered but there's some data in buffer + $s->{pending_errormsg} = $s->{errormsg}; + } + } + + ## Clear time-out error from first read. + $s->{timedout} = ''; + $s->{errormsg} = ""; + + ## If buffer is still empty, try to read according to user's timeout. + if (!length $s->{buf}) { + &_fillbuf($self, $s, $endtime) + or do { + return if $s->{timedout}; + + ## We've reached end-of-file. + $self->close; + return; + }; + } + + ## Extract chars from buffer. + $line = $s->{buf}; + $s->{buf} = ""; + + $line; +} # end sub get + + +sub getline { + my ($self, %args) = @_; + my ( + $binmode, + $endtime, + $errmode, + $len, + $line, + $offset, + $pos, + $rs, + $s, + $telnetmode, + $timeout, + ); + local $_; + + ## Init. + $s = *$self->{net_telnet}; + $s->{timedout} = ''; + return if $s->{eofile}; + $rs = $s->{rs}; + $timeout = $s->{time_out}; + + ## Parse the named args. + foreach (keys %args) { + if (/^-?binmode$/i) { + $binmode = $args{$_}; + unless (defined $binmode) { + $binmode = 0; + } + } + elsif (/^-?errmode$/i) { + $errmode = &_parse_errmode($self, $args{$_}); + } + elsif (/^-?input_record_separator$/i or /^-?rs$/i) { + $rs = &_parse_input_record_separator($self, $args{$_}); + } + elsif (/^-?telnetmode$/i) { + $telnetmode = $args{$_}; + unless (defined $telnetmode) { + $telnetmode = 0; + } + } + elsif (/^-?timeout$/i) { + $timeout = &_parse_timeout($self, $args{$_}); + } + else { + &_croak($self, "bad named parameter \"$_\" given " . + "to " . ref($self) . "::getline()"); + } + } + + ## If any args given, override corresponding instance data. + local $s->{bin_mode} = $binmode + if defined $binmode; + local $s->{errormode} = $errmode + if defined $errmode; + local $s->{telnet_mode} = $telnetmode + if defined $telnetmode; + + ## Set wall time when we time out. + $endtime = &_endtime($timeout); + + ## Try to send any waiting option negotiation. + if (length $s->{unsent_opts}) { + &_flush_opts($self); + } + + ## Keep reading into buffer until end-of-line is read. + $offset = 0; + while (($pos = index($s->{buf}, $rs, $offset)) == -1) { + $offset = length $s->{buf}; + &_fillbuf($self, $s, $endtime) + or do { + return if $s->{timedout}; + + ## We've reached end-of-file. + $self->close; + if (length $s->{buf}) { + return $s->{buf}; + } + else { + return; + } + }; + } + + ## Extract line from buffer. + $len = $pos + length $rs; + $line = substr($s->{buf}, 0, $len); + substr($s->{buf}, 0, $len) = ""; + + $line; +} # end sub getline + + +sub getlines { + my ($self, %args) = @_; + my ( + $binmode, + $errmode, + $line, + $rs, + $s, + $telnetmode, + $timeout, + ); + my $all = 1; + my @lines = (); + local $_; + + ## Init. + $s = *$self->{net_telnet}; + $s->{timedout} = ''; + return if $s->{eofile}; + $timeout = $s->{time_out}; + + ## Parse the named args. + foreach (keys %args) { + if (/^-?all$/i) { + $all = $args{$_}; + unless (defined $all) { + $all = ''; + } + } + elsif (/^-?binmode$/i) { + $binmode = $args{$_}; + unless (defined $binmode) { + $binmode = 0; + } + } + elsif (/^-?errmode$/i) { + $errmode = &_parse_errmode($self, $args{$_}); + } + elsif (/^-?input_record_separator$/i or /^-?rs$/i) { + $rs = &_parse_input_record_separator($self, $args{$_}); + } + elsif (/^-?telnetmode$/i) { + $telnetmode = $args{$_}; + unless (defined $telnetmode) { + $telnetmode = 0; + } + } + elsif (/^-?timeout$/i) { + $timeout = &_parse_timeout($self, $args{$_}); + } + else { + &_croak($self, "bad named parameter \"$_\" given " . + "to " . ref($self) . "::getlines()"); + } + } + + ## If any args given, override corresponding instance data. + local $s->{bin_mode} = $binmode + if defined $binmode; + local $s->{errormode} = $errmode + if defined $errmode; + local $s->{rs} = $rs + if defined $rs; + local $s->{telnet_mode} = $telnetmode + if defined $telnetmode; + local $s->{time_out} = &_endtime($timeout); + + ## User requested only the currently available lines. + if (! $all) { + return &_next_getlines($self, $s); + } + + ## Read lines until eof or error. + while (1) { + $line = $self->getline + or last; + push @lines, $line; + } + + ## Check for error. + return if ! $self->eof; + + @lines; +} # end sub getlines + + +sub host { + my ($self, $host) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{host}; + + if (@_ >= 2) { + unless (defined $host) { + $host = ""; + } + + $s->{host} = $host; + } + + $prev; +} # end sub host + + +sub input_log { + my ($self, $name) = @_; + my ( + $fh, + $s, + ); + + $s = *$self->{net_telnet}; + $fh = $s->{inputlog}; + + if (@_ >= 2) { + unless (defined $name) { + $name = ""; + } + + $fh = &_fname_to_handle($self, $name) + or return; + $s->{inputlog} = $fh; + } + + $fh; +} # end sub input_log + + +sub input_record_separator { + my ($self, $rs) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{rs}; + + if (@_ >= 2) { + $s->{rs} = &_parse_input_record_separator($self, $rs); + } + + $prev; +} # end sub input_record_separator + + +sub last_prompt { + my ($self, $string) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{last_prompt}; + + if (@_ >= 2) { + unless (defined $string) { + $string = ""; + } + + $s->{last_prompt} = $string; + } + + $prev; +} # end sub last_prompt + + +sub lastline { + my ($self, $line) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{last_line}; + + if (@_ >= 2) { + unless (defined $line) { + $line = ""; + } + + $s->{last_line} = $line; + } + + $prev; +} # end sub lastline + + +sub login { + my ($self) = @_; + my ( + $errmode, + $error, + $is_passwd_arg, + $is_username_arg, + $lastline, + $match, + $ors, + $passwd, + $prematch, + $prompt, + $s, + $timeout, + $username, + %args, + ); + local $_; + + ## Init. + $self->timed_out(''); + $self->last_prompt(""); + $s = *$self->{net_telnet}; + $timeout = $self->timeout; + $ors = $self->output_record_separator; + $prompt = $self->prompt; + + ## Parse args. + if (@_ == 3) { # just username and passwd given + $username = $_[1]; + $passwd = $_[2]; + + $is_username_arg = 1; + $is_passwd_arg = 1; + } + else { # named args given + ## Get the named args. + (undef, %args) = @_; + + ## Parse the named args. + foreach (keys %args) { + if (/^-?errmode$/i) { + $errmode = &_parse_errmode($self, $args{$_}); + } + elsif (/^-?name$/i) { + $username = $args{$_}; + unless (defined $username) { + $username = ""; + } + + $is_username_arg = 1; + } + elsif (/^-?pass/i) { + $passwd = $args{$_}; + unless (defined $passwd) { + $passwd = ""; + } + + $is_passwd_arg = 1; + } + elsif (/^-?prompt$/i) { + $prompt = &_parse_prompt($self, $args{$_}); + } + elsif (/^-?timeout$/i) { + $timeout = &_parse_timeout($self, $args{$_}); + } + else { + &_croak($self, "bad named parameter \"$_\" given ", + "to " . ref($self) . "::login()"); + } + } + } + + ## Ensure both username and password argument given. + &_croak($self,"Name argument not given to " . ref($self) . "::login()") + unless $is_username_arg; + &_croak($self,"Password argument not given to " . ref($self) . "::login()") + unless $is_passwd_arg; + + ## Override some user settings. + local $s->{errormode} = $errmode + if defined $errmode; + local $s->{time_out} = &_endtime($timeout); + + ## Create a subroutine to generate an error. + $error + = sub { + my ($errmsg) = @_; + + if ($self->timed_out) { + return $self->error($errmsg); + } + elsif ($self->eof) { + ($lastline = $self->lastline) =~ s/\n+//; + return $self->error($errmsg, ": ", $lastline); + } + else { + return $self->error($self->errmsg); + } + }; + + + return $self->error("login failed: filehandle isn't open") + if $self->eof; + + ## Wait for login prompt. + $self->waitfor(Match => '/login[: ]*$/i', + Match => '/username[: ]*$/i', + Errmode => "return") + or do { + return &$error("eof read waiting for login prompt") + if $self->eof; + return &$error("timed-out waiting for login prompt"); + }; + + ## Delay sending response because of bug in Linux login program. + &_sleep(0.01); + + ## Send login name. + $self->put(String => $username . $ors, + Errmode => "return") + or return &$error("login disconnected"); + + ## Wait for password prompt. + $self->waitfor(Match => '/password[: ]*$/i', + Errmode => "return") + or do { + return &$error("eof read waiting for password prompt") + if $self->eof; + return &$error("timed-out waiting for password prompt"); + }; + + ## Delay sending response because of bug in Linux login program. + &_sleep(0.01); + + ## Send password. + $self->put(String => $passwd . $ors, + Errmode => "return") + or return &$error("login disconnected"); + + ## Wait for command prompt or another login prompt. + ($prematch, $match) = $self->waitfor(Match => '/login[: ]*$/i', + Match => '/username[: ]*$/i', + Match => $prompt, + Errmode => "return") + or do { + return &$error("eof read waiting for command prompt") + if $self->eof; + return &$error("timed-out waiting for command prompt"); + }; + + ## It's a bad login if we got another login prompt. + return $self->error("login failed: bad name or password") + if $match =~ /login[: ]*$/i or $match =~ /username[: ]*$/i; + + ## Save the most recently matched command prompt. + $self->last_prompt($match); + + 1; +} # end sub login + + +sub max_buffer_length { + my ($self, $maxbufsize) = @_; + my ( + $prev, + $s, + ); + my $minbufsize = 512; + + $s = *$self->{net_telnet}; + $prev = $s->{maxbufsize}; + + if (@_ >= 2) { + ## Ensure a positive integer value. + unless (defined $maxbufsize + and $maxbufsize =~ /^\d+$/ + and $maxbufsize) + { + &_carp($self, "ignoring bad Max_buffer_length " . + "argument \"$maxbufsize\": it's not a positive integer"); + $maxbufsize = $prev; + } + + ## Adjust up values that are too small. + if ($maxbufsize < $minbufsize) { + $maxbufsize = $minbufsize; + } + + $s->{maxbufsize} = $maxbufsize; + } + + $prev; +} # end sub max_buffer_length + + +## Make ofs() synonymous with output_field_separator(). +*ofs = \&output_field_separator; + + +sub open { + my ($self) = @_; + my ( + $errmode, + $errno, + $host, + $ip_addr, + $port, + $s, + $timeout, + %args, + ); + local $_; + + ## Init. + $s = *$self->{net_telnet}; + $timeout = $s->{time_out}; + $s->{timedout} = ''; + + if (@_ == 2) { # one positional arg given + $self->host($_[1]); + } + elsif (@_ > 2) { # named args given + ## Get the named args. + (undef, %args) = @_; + + ## Parse the named args. + foreach (keys %args) { + if (/^-?errmode$/i) { + $errmode = &_parse_errmode($self, $args{$_}); + } + elsif (/^-?host$/i) { + $self->host($args{$_}); + } + elsif (/^-?port$/i) { + $self->port($args{$_}) + or return; + } + elsif (/^-?timeout$/i) { + $timeout = &_parse_timeout($self, $args{$_}); + } + else { + &_croak($self, "bad named parameter \"$_\" given ", + "to " . ref($self) . "::open()"); + } + } + } + + ## If any args given, override corresponding instance data. + local $s->{errormode} = $errmode + if defined $errmode; + + ## Get host and port. + $host = $self->host; + $port = $self->port; + + ## Ensure we're already closed. + $self->close; + + ## Connect with or without a timeout. + if (defined($timeout) and &_have_alarm) { # use a timeout + ## Convert possible absolute timeout to relative timeout. + if ($timeout >= $^T) { # it's an absolute time + $timeout = $timeout - time; + } + + ## Ensure a valid timeout value for alarm. + if ($timeout < 1) { + $timeout = 1; + } + $timeout = int($timeout + 1.5); + + ## Connect to server, timing out if it takes too long. + eval { + ## Turn on timer. + local $SIG{"__DIE__"} = "DEFAULT"; + local $SIG{ALRM} = sub { die "timed-out\n" }; + alarm $timeout; + + ## Lookup server's IP address. + $ip_addr = inet_aton $host + or die "unknown remote host: $host\n"; + + ## Create a socket and attach the filehandle to it. + socket $self, AF_INET, SOCK_STREAM, 0 + or die "problem creating socket: $!\n"; + + ## Open connection to server. + connect $self, sockaddr_in($port, $ip_addr) + or die "problem connecting to \"$host\", port $port: $!\n"; + }; + alarm 0; + + ## Check for error. + if ($@ =~ /^timed-out$/) { # time out failure + $s->{timedout} = 1; + $self->close; + if (!$ip_addr) { + return $self->error("unknown remote host: $host: ", + "name lookup timed-out"); + } + else { + return $self->error("problem connecting to \"$host\", ", + "port $port: connect timed-out"); + } + } + elsif ($@) { # hostname lookup or connect failure + $self->close; + chomp $@; + return $self->error($@); + } + } + else { # don't use a timeout + $timeout = undef; + + ## Lookup server's IP address. + $ip_addr = inet_aton $host + or return $self->error("unknown remote host: $host"); + + ## Create a socket and attach the filehandle to it. + socket $self, AF_INET, SOCK_STREAM, 0 + or return $self->error("problem creating socket: $!"); + + ## Open connection to server. + connect $self, sockaddr_in($port, $ip_addr) + or do { + $errno = "$!"; + $self->close; + return $self->error("problem connecting to \"$host\", ", + "port $port: $errno"); + }; + } + + select((select($self), $|=1)[$[]); # don't buffer writes + $s->{blksize} = &_optimal_blksize((stat $self)[11]); + $s->{buf} = ""; + $s->{eofile} = ''; + $s->{errormsg} = ""; + vec($s->{fdmask}='', fileno($self), 1) = 1; + $s->{last_line} = ""; + $s->{num_wrote} = 0; + $s->{opened} = 1; + $s->{pending_errormsg} = ""; + $s->{pushback_buf} = ""; + $s->{timedout} = ''; + $s->{unsent_opts} = ""; + &_reset_options($s->{opts}); + + 1; +} # end sub open + + +sub option_accept { + my ($self, @args) = @_; + my ( + $arg, + $option, + $s, + @opt_args, + ); + local $_; + + ## Init. + $s = *$self->{net_telnet}; + + ## Parse the named args. + while (($_, $arg) = splice @args, 0, 2) { + ## Verify and save arguments. + if (/^-?do$/i) { + ## Make sure a callback is defined. + return $self->error("usage: an option callback must already ", + "be defined when enabling with $_") + unless $s->{opt_cback}; + + $option = &_verify_telopt_arg($self, $arg, $_); + return unless defined $option; + push @opt_args, { option => $option, + is_remote => '', + is_enable => 1, + }; + } + elsif (/^-?dont$/i) { + $option = &_verify_telopt_arg($self, $arg, $_); + return unless defined $option; + push @opt_args, { option => $option, + is_remote => '', + is_enable => '', + }; + } + elsif (/^-?will$/i) { + ## Make sure a callback is defined. + return $self->error("usage: an option callback must already ", + "be defined when enabling with $_") + unless $s->{opt_cback}; + + $option = &_verify_telopt_arg($self, $arg, $_); + return unless defined $option; + push @opt_args, { option => $option, + is_remote => 1, + is_enable => 1, + }; + } + elsif (/^-?wont$/i) { + $option = &_verify_telopt_arg($self, $arg, $_); + return unless defined $option; + push @opt_args, { option => $option, + is_remote => 1, + is_enable => '', + }; + } + else { + return $self->error('usage: $obj->option_accept(' . + '[Do => $telopt,] ', + '[Dont => $telopt,] ', + '[Will => $telopt,] ', + '[Wont => $telopt,]'); + } + } + + ## Set "receive ok" for options specified. + &_opt_accept($self, @opt_args); +} # end sub option_accept + + +sub option_callback { + my ($self, $callback) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{opt_cback}; + + if (@_ >= 2) { + unless (defined $callback and ref($callback) eq "CODE") { + &_carp($self, "ignoring Option_callback argument because it's " . + "not a code ref"); + $callback = $prev; + } + + $s->{opt_cback} = $callback; + } + + $prev; +} # end sub option_callback + + +sub option_log { + my ($self, $name) = @_; + my ( + $fh, + $s, + ); + + $s = *$self->{net_telnet}; + $fh = $s->{opt_log}; + + if (@_ >= 2) { + unless (defined $name) { + $name = ""; + } + + $fh = &_fname_to_handle($self, $name) + or return; + $s->{opt_log} = $fh; + } + + $fh; +} # end sub option_log + + +sub option_state { + my ($self, $option) = @_; + my ( + $opt_state, + $s, + %opt_state, + ); + + ## Ensure telnet option is non-negative integer. + $option = &_verify_telopt_arg($self, $option); + return unless defined $option; + + ## Init. + $s = *$self->{net_telnet}; + unless (defined $s->{opts}{$option}) { + &_set_default_option($s, $option); + } + + ## Return hashref to a copy of the values. + $opt_state = $s->{opts}{$option}; + %opt_state = %$opt_state; + \%opt_state; +} # end sub option_state + + +## Make ors() synonymous with output_record_separator(). +*ors = \&output_record_separator; + + +sub output_field_separator { + my ($self, $ofs) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{ofs}; + + if (@_ >= 2) { + unless (defined $ofs) { + $ofs = ""; + } + + $s->{ofs} = $ofs; + } + + $prev; +} # end sub output_field_separator + + +sub output_log { + my ($self, $name) = @_; + my ( + $fh, + $s, + ); + + $s = *$self->{net_telnet}; + $fh = $s->{outputlog}; + + if (@_ >= 2) { + unless (defined $name) { + $name = ""; + } + + $fh = &_fname_to_handle($self, $name) + or return; + $s->{outputlog} = $fh; + } + + $fh; +} # end sub output_log + + +sub output_record_separator { + my ($self, $ors) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{ors}; + + if (@_ >= 2) { + unless (defined $ors) { + $ors = ""; + } + + $s->{ors} = $ors; + } + + $prev; +} # end sub output_record_separator + + +sub port { + my ($self, $port) = @_; + my ( + $prev, + $s, + $service, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{port}; + + if (@_ >= 2) { + unless (defined $port) { + $port = ""; + } + + if (!$port) { + &_carp($self, "ignoring bad Port argument \"$port\""); + $port = $prev; + } + elsif ($port !~ /^\d+$/) { # port isn't all digits + $service = $port; + $port = getservbyname($service, "tcp"); + unless ($port) { + &_carp($self, "ignoring bad Port argument \"$service\": " . + "it's an unknown TCP service"); + $port = $prev; + } + } + + $s->{port} = $port; + } + + $prev; +} # end sub port + + +sub print { + my ($self) = shift; + my ( + $buf, + $fh, + $s, + ); + + $s = *$self->{net_telnet}; + $s->{timedout} = ''; + return $self->error("write error: filehandle isn't open") + unless $s->{opened}; + + ## Add field and record separators. + $buf = join($s->{ofs}, @_) . $s->{ors}; + + ## Log the output if requested. + if ($s->{outputlog}) { + &_log_print($s->{outputlog}, $buf); + } + + ## Convert native newlines to CR LF. + if (!$s->{bin_mode}) { + $buf =~ s(\n)(\015\012)g; + } + + ## Escape TELNET IAC and also CR not followed by LF. + if ($s->{telnet_mode}) { + $buf =~ s(\377)(\377\377)g; + &_escape_cr(\$buf); + } + + &_put($self, \$buf, "print"); +} # end sub print + + +sub print_length { + my ($self) = @_; + + *$self->{net_telnet}{num_wrote}; +} # end sub print_length + + +sub prompt { + my ($self, $prompt) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{cmd_prompt}; + + ## Parse args. + if (@_ == 2) { + $s->{cmd_prompt} = &_parse_prompt($self, $prompt); + } + + $prev; +} # end sub prompt + + +sub put { + my ($self) = @_; + my ( + $binmode, + $buf, + $errmode, + $is_timeout_arg, + $s, + $telnetmode, + $timeout, + %args, + ); + local $_; + + ## Init. + $s = *$self->{net_telnet}; + $s->{timedout} = ''; + + ## Parse args. + if (@_ == 2) { # one positional arg given + $buf = $_[1]; + } + elsif (@_ > 2) { # named args given + ## Get the named args. + (undef, %args) = @_; + + ## Parse the named args. + foreach (keys %args) { + if (/^-?binmode$/i) { + $binmode = $args{$_}; + unless (defined $binmode) { + $binmode = 0; + } + } + elsif (/^-?errmode$/i) { + $errmode = &_parse_errmode($self, $args{$_}); + } + elsif (/^-?string$/i) { + $buf = $args{$_}; + } + elsif (/^-?telnetmode$/i) { + $telnetmode = $args{$_}; + unless (defined $telnetmode) { + $telnetmode = 0; + } + } + elsif (/^-?timeout$/i) { + $timeout = &_parse_timeout($self, $args{$_}); + $is_timeout_arg = 1; + } + else { + &_croak($self, "bad named parameter \"$_\" given ", + "to " . ref($self) . "::put()"); + } + } + } + + ## If any args given, override corresponding instance data. + local $s->{bin_mode} = $binmode + if defined $binmode; + local $s->{errormode} = $errmode + if defined $errmode; + local $s->{telnet_mode} = $telnetmode + if defined $telnetmode; + local $s->{time_out} = $timeout + if defined $is_timeout_arg; + + ## Check for errors. + return $self->error("write error: filehandle isn't open") + unless $s->{opened}; + + ## Log the output if requested. + if ($s->{outputlog}) { + &_log_print($s->{outputlog}, $buf); + } + + ## Convert native newlines to CR LF. + if (!$s->{bin_mode}) { + $buf =~ s(\n)(\015\012)g; + } + + ## Escape TELNET IAC and also CR not followed by LF. + if ($s->{telnet_mode}) { + $buf =~ s(\377)(\377\377)g; + &_escape_cr(\$buf); + } + + &_put($self, \$buf, "print"); +} # end sub put + + +## Make rs() synonymous input_record_separator(). +*rs = \&input_record_separator; + + +sub suboption_callback { + my ($self, $callback) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{subopt_cback}; + + if (@_ >= 2) { + unless (defined $callback and ref($callback) eq "CODE") { + &_carp($self,"ignoring Suboption_callback argument because it's " . + "not a code ref"); + $callback = $prev; + } + + $s->{subopt_cback} = $callback; + } + + $prev; +} # end sub suboption_callback + + +sub telnetmode { + my ($self, $mode) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{telnet_mode}; + + if (@_ >= 2) { + unless (defined $mode) { + $mode = 0; + } + + $s->{telnet_mode} = $mode; + } + + $prev; +} # end sub telnetmode + + +sub timed_out { + my ($self, $value) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{timedout}; + + if (@_ >= 2) { + unless (defined $value) { + $value = ""; + } + + $s->{timedout} = $value; + } + + $prev; +} # end sub timed_out + + +sub timeout { + my ($self, $timeout) = @_; + my ( + $prev, + $s, + ); + + $s = *$self->{net_telnet}; + $prev = $s->{time_out}; + + if (@_ >= 2) { + $s->{time_out} = &_parse_timeout($self, $timeout); + } + + $prev; +} # end sub timeout + + +sub waitfor { + my ($self, @args) = @_; + my ( + $arg, + $binmode, + $endtime, + $errmode, + $len, + $match, + $match_op, + $pos, + $prematch, + $s, + $search, + $search_cond, + $telnetmode, + $timeout, + @match_cond, + @match_ops, + @search_cond, + @string_cond, + @warns, + ); + local $_; + + ## Init. + $s = *$self->{net_telnet}; + $s->{timedout} = ''; + return if $s->{eofile}; + return unless @args; + $timeout = $s->{time_out}; + + ## Code template used to build string match conditional. + ## Values between array elements must be supplied later. + @string_cond = + ('if (($pos = index $s->{buf}, ', ') > -1) { + $len = ', '; + $prematch = substr $s->{buf}, 0, $pos; + $match = substr $s->{buf}, $pos, $len; + substr($s->{buf}, 0, $pos + $len) = ""; + last; + }'); + + ## Code template used to build pattern match conditional. + ## Values between array elements must be supplied later. + @match_cond = + ('if ($s->{buf} =~ ', ') { + $prematch = $`; + $match = $&; + substr($s->{buf}, 0, length($`) + length($&)) = ""; + last; + }'); + + ## Parse args. + if (@_ == 2) { # one positional arg given + $arg = $_[1]; + + ## Fill in the blanks in the code template. + push @match_ops, $arg; + push @search_cond, join("", $match_cond[0], $arg, $match_cond[1]); + } + elsif (@_ > 2) { # named args given + ## Parse the named args. + while (($_, $arg) = splice @args, 0, 2) { + if (/^-?binmode$/i) { + $binmode = $arg; + unless (defined $binmode) { + $binmode = 0; + } + } + elsif (/^-?errmode$/i) { + $errmode = &_parse_errmode($self, $arg); + } + elsif (/^-?match$/i) { + ## Fill in the blanks in the code template. + push @match_ops, $arg; + push @search_cond, join("", + $match_cond[0], $arg, $match_cond[1]); + } + elsif (/^-?string$/i) { + ## Fill in the blanks in the code template. + $arg =~ s/'/\\'/g; # quote ticks + push @search_cond, join("", + $string_cond[0], "'$arg'", + $string_cond[1], length($arg), + $string_cond[2]); + } + elsif (/^-?telnetmode$/i) { + $telnetmode = $arg; + unless (defined $telnetmode) { + $telnetmode = 0; + } + } + elsif (/^-?timeout$/i) { + $timeout = &_parse_timeout($self, $arg); + } + else { + &_croak($self, "bad named parameter \"$_\" given " . + "to " . ref($self) . "::waitfor()"); + } + } + } + + ## If any args given, override corresponding instance data. + local $s->{errormode} = $errmode + if defined $errmode; + local $s->{bin_mode} = $binmode + if defined $binmode; + local $s->{telnet_mode} = $telnetmode + if defined $telnetmode; + + ## Check for bad match operator argument. + foreach $match_op (@match_ops) { + return $self->error("missing opening delimiter of match operator ", + "in argument \"$match_op\" given to ", + ref($self) . "::waitfor()") + unless $match_op =~ m(^\s*/) or $match_op =~ m(^\s*m\s*\W); + } + + ## Construct conditional to check for requested string and pattern matches. + ## Turn subsequent "if"s into "elsif". + $search_cond = join "\n\tels", @search_cond; + + ## Construct loop to fill buffer until string/pattern, timeout, or eof. + $search = join "", " + while (1) {\n\t", + $search_cond, ' + &_fillbuf($self, $s, $endtime) + or do { + last if $s->{timedout}; + $self->close; + last; + }; + }'; + + ## Set wall time when we timeout. + $endtime = &_endtime($timeout); + + ## Run the loop. + { + local $^W = 1; + local $SIG{"__WARN__"} = sub { push @warns, @_ }; + local $s->{errormode} = "return"; + $s->{errormsg} = ""; + eval $search; + } + + ## Check for failure. + return $self->error("pattern match timed-out") if $s->{timedout}; + return $self->error($s->{errormsg}) if $s->{errormsg} ne ""; + return $self->error("pattern match read eof") if $s->{eofile}; + + ## Check for Perl syntax errors or warnings. + if ($@ or @warns) { + foreach $match_op (@match_ops) { + &_match_check($self, $match_op) + or return; + } + return $self->error($@) if $@; + return $self->error(@warns) if @warns; + } + + wantarray ? ($prematch, $match) : 1; +} # end sub waitfor + + +######################## Private Subroutines ######################### + + +sub _append_lineno { + my ($obj, @msgs) = @_; + my ( + $file, + $line, + $pkg, + ); + + ## Find the caller that's not in object's class or one of its base classes. + ($pkg, $file , $line) = &_user_caller($obj); + join("", @msgs, " at ", $file, " line ", $line, "\n"); +} # end sub _append_lineno + + +sub _carp { + warn &_append_lineno(@_); +} # end sub _carp + + +sub _croak { + die &_append_lineno(@_); +} # end sub _croak + + +sub _endtime { + my ($interval) = @_; + + ## Compute wall time when timeout occurs. + if (defined $interval) { + if ($interval >= $^T) { # it's already an absolute time + return $interval; + } + elsif ($interval > 0) { # it's relative to the current time + return int(time + 1.5 + $interval); + } + else { # it's a one time poll + return 0; + } + } + else { # there's no timeout + return undef; + } +} # end sub _endtime + + +sub _escape_cr { + my ($string) = @_; + my ( + $nextchar, + ); + my $pos = 0; + + ## Convert all CR (not followed by LF) to CR NULL. + while (($pos = index($$string, "\015", $pos)) > -1) { + $nextchar = substr $$string, $pos + 1, 1; + + substr($$string, $pos, 1) = "\015\000" + unless $nextchar eq "\012"; + + $pos++; + } + + 1; +} # end sub _escape_cr + + +sub _fillbuf { + my ($self, $s, $endtime) = @_; + my ( + $msg, + $nfound, + $nread, + $pushback_len, + $read_pos, + $ready, + $timed_out, + $timeout, + $unparsed_pos, + ); + + ## If error from last read not yet reported then do it now. + if ($s->{pending_errormsg}) { + $msg = $s->{pending_errormsg}; + $s->{pending_errormsg} = ""; + return $self->error($msg); + } + + return unless $s->{opened}; + + while (1) { + ## Maximum buffer size exceeded? + return $self->error("maximum input buffer length exceeded: ", + $s->{maxbufsize}, " bytes") + unless length($s->{buf}) <= $s->{maxbufsize}; + + ## Determine how long to wait for input ready. + ($timed_out, $timeout) = &_timeout_interval($endtime); + if ($timed_out) { + $s->{timedout} = 1; + return $self->error("read timed-out"); + } + + ## Wait for input ready. + $nfound = select $ready=$s->{fdmask}, "", "", $timeout; + + ## Handle any errors while waiting. + if (!defined $nfound or $nfound <= 0) { # input not ready + if (defined $nfound and $nfound == 0) { # timed-out + $s->{timedout} = 1; + return $self->error("read timed-out"); + } + else { # error waiting for input ready + next if $! =~ /^interrupted/i; + + $s->{opened} = ''; + return $self->error("read error: $!"); + } + } + + ## Append to buffer any partially processed telnet or CR sequence. + $pushback_len = length $s->{pushback_buf}; + if ($pushback_len) { + $s->{buf} .= $s->{pushback_buf}; + $s->{pushback_buf} = ""; + } + + ## Read the waiting data. + $read_pos = length $s->{buf}; + $unparsed_pos = $read_pos - $pushback_len; + $nread = sysread $self, $s->{buf}, $s->{blksize}, $read_pos; + + ## Handle any read errors. + if (!defined $nread) { # read failed + next if $! =~ /^interrupted/i; # restart interrupted syscall + + $s->{opened} = ''; + return $self->error("read error: $!"); + } + + ## Handle eof. + if ($nread == 0) { # eof read + $s->{opened} = ''; + return; + } + + ## Display network traffic if requested. + if ($s->{dumplog}) { + &_log_dump('<', $s->{dumplog}, \$s->{buf}, $read_pos); + } + + ## Process any telnet commands in the data stream. + if ($s->{telnet_mode} and index($s->{buf},"\377",$unparsed_pos) > -1) { + &_interpret_tcmd($self, $s, $unparsed_pos); + } + + ## Process any carriage-return sequences in the data stream. + &_interpret_cr($s, $unparsed_pos); + + ## Read again if all chars read were consumed as telnet cmds. + next if $unparsed_pos >= length $s->{buf}; + + ## Log the input if requested. + if ($s->{inputlog}) { + &_log_print($s->{inputlog}, substr($s->{buf}, $unparsed_pos)); + } + + ## Save the last line read. + &_save_lastline($s); + + ## We've successfully read some data into the buffer. + last; + } # end while(1) + + 1; +} # end sub _fillbuf + + +sub _flush_opts { + my ($self) = @_; + my ( + $option_chars, + ); + my $s = *$self->{net_telnet}; + + ## Get option and clear the output buf. + $option_chars = $s->{unsent_opts}; + $s->{unsent_opts} = ""; + + ## Try to send options without waiting. + { + local $s->{errormode} = "return"; + local $s->{time_out} = 0; + &_put($self, \$option_chars, "telnet option negotiation") + or do { + ## Save chars not printed for later. + substr($option_chars, 0, $self->print_length) = ""; + $s->{unsent_opts} .= $option_chars; + }; + } + + 1; +} # end sub _flush_opts + + +sub _fname_to_handle { + my ($self, $fh) = @_; + my ( + $filename, + ); + + ## Ensure valid input. + return "" + unless defined $fh and (ref $fh or length $fh); + + ## Open a new filehandle if input is a filename. + no strict "refs"; + if (!ref($fh) and !defined(fileno $fh)) { # fh is a filename + $filename = $fh; + $fh = &_new_handle(); + CORE::open $fh, "> $filename" + or return $self->error("problem creating $filename: $!"); + } + + select((select($fh), $|=1)[$[]); # don't buffer writes + $fh; +} # end sub _fname_to_handle + + +sub _have_alarm { + eval { + local $SIG{"__DIE__"} = "DEFAULT"; + local $SIG{ALRM} = sub { die }; + alarm 0; + }; + + ! $@; +} # end sub _have_alarm + + +sub _interpret_cr { + my ($s, $pos) = @_; + my ( + $nextchar, + ); + + while (($pos = index($s->{buf}, "\015", $pos)) > -1) { + $nextchar = substr($s->{buf}, $pos + 1, 1); + if ($nextchar eq "\0") { + ## Convert CR NULL to CR when in telnet mode. + if ($s->{telnet_mode}) { + substr($s->{buf}, $pos + 1, 1) = ""; + } + } + elsif ($nextchar eq "\012") { + ## Convert CR LF to newline when not in binary mode. + if (!$s->{bin_mode}) { + substr($s->{buf}, $pos, 2) = "\n"; + } + } + elsif (!length($nextchar) and ($s->{telnet_mode} or !$s->{bin_mode})) { + ## Save CR in alt buffer for possible CR LF or CR NULL conversion. + $s->{pushback_buf} .= "\015"; + chop $s->{buf}; + } + + $pos++; + } + + 1; +} # end sub _interpret_cr + + +sub _interpret_tcmd { + my ($self, $s, $offset) = @_; + my ( + $callback, + $endpos, + $nextchar, + $option, + $parameters, + $pos, + $subcmd, + ); + local $_; + + ## Parse telnet commands in the data stream. + $pos = $offset; + while (($pos = index $s->{buf}, "\377", $pos) > -1) { # unprocessed IAC + $nextchar = substr $s->{buf}, $pos + 1, 1; + + ## Save command if it's only partially read. + if (!length $nextchar) { + $s->{pushback_buf} .= "\377"; + chop $s->{buf}; + last; + } + + if ($nextchar eq "\377") { # IAC is escaping "\377" char + ## Remove escape char from data stream. + substr($s->{buf}, $pos, 1) = ""; + $pos++; + } + elsif ($nextchar eq "\375" or $nextchar eq "\373" or + $nextchar eq "\374" or $nextchar eq "\376") { # opt negotiation + $option = substr $s->{buf}, $pos + 2, 1; + + ## Save command if it's only partially read. + if (!length $option) { + $s->{pushback_buf} .= "\377" . $nextchar; + chop $s->{buf}; + chop $s->{buf}; + last; + } + + ## Remove command from data stream. + substr($s->{buf}, $pos, 3) = ""; + + ## Handle option negotiation. + &_negotiate_recv($self, $s, $nextchar, ord($option), $pos); + } + elsif ($nextchar eq "\372") { # start of subnegotiation parameters + ## Save command if it's only partially read. + $endpos = index $s->{buf}, "\360", $pos; + if ($endpos == -1) { + $s->{pushback_buf} .= substr $s->{buf}, $pos; + substr($s->{buf}, $pos) = ""; + last; + } + + ## Remove subnegotiation cmd from buffer. + $subcmd = substr($s->{buf}, $pos, $endpos - $pos + 1); + substr($s->{buf}, $pos, $endpos - $pos + 1) = ""; + + ## Invoke subnegotiation callback. + if ($s->{subopt_cback} and length($subcmd) >= 5) { + $option = unpack "C", substr($subcmd, 2, 1); + if (length($subcmd) >= 6) { + $parameters = substr $subcmd, 3, length($subcmd) - 5; + } + else { + $parameters = ""; + } + + $callback = $s->{subopt_cback}; + &$callback($self, $option, $parameters); + } + } + else { # various two char telnet commands + ## Ignore and remove command from data stream. + substr($s->{buf}, $pos, 2) = ""; + } + } + + ## Try to send any waiting option negotiation. + if (length $s->{unsent_opts}) { + &_flush_opts($self); + } + + 1; +} # end sub _interpret_tcmd + + +sub _io_socket_include { + local $SIG{"__DIE__"} = "DEFAULT"; + eval "require IO::Socket"; +} # end sub io_socket_include + + +sub _log_dump { + my ($direction, $fh, $data, $offset, $len) = @_; + my ( + $addr, + $hexvals, + $line, + ); + + $addr = 0; + $len = length($$data) - $offset + if !defined $len; + return 1 if $len <= 0; + + ## Print data in dump format. + while ($len > 0) { + ## Convert up to the next 16 chars to hex, padding w/ spaces. + if ($len >= 16) { + $line = substr $$data, $offset, 16; + } + else { + $line = substr $$data, $offset, $len; + } + $hexvals = unpack("H*", $line); + $hexvals .= ' ' x (32 - length $hexvals); + + ## Place in 16 columns, each containing two hex digits. + $hexvals = sprintf("%s %s %s %s " x 4, + unpack("a2" x 16, $hexvals)); + + ## For the ASCII column, change unprintable chars to a period. + $line =~ s/[\000-\037,\177-\237]/./g; + + ## Print the line in dump format. + &_log_print($fh, sprintf("%s 0x%5.5lx: %s%s\n", + $direction, $addr, $hexvals, $line)); + + $addr += 16; + $offset += 16; + $len -= 16; + } + + &_log_print($fh, "\n"); + + 1; +} # end sub _log_dump + + +sub _log_option { + my ($fh, $direction, $request, $option) = @_; + my ( + $name, + ); + + if ($option >= 0 and $option <= $#Telopts) { + $name = $Telopts[$option]; + } + else { + $name = $option; + } + + &_log_print($fh, "$direction $request $name\n"); +} # end sub _log_option + + +sub _log_print { + my ($fh, $buf) = @_; + local $\ = ''; + + if (ref($fh) and ref($fh) ne "GLOB") { # fh is blessed ref + $fh->print($buf); + } + else { # fh isn't blessed ref + print $fh $buf; + } +} # end sub _log_print + + +sub _match_check { + my ($self, $code) = @_; + my $error; + my @warns = (); + + ## Use eval to check for syntax errors or warnings. + { + local $SIG{"__DIE__"} = "DEFAULT"; + local $SIG{"__WARN__"} = sub { push @warns, @_ }; + local $^W = 1; + local $_ = ''; + eval "\$_ =~ $code;"; + } + if ($@) { + ## Remove useless lines numbers from message. + ($error = $@) =~ s/ at \(eval \d+\) line \d+.?//; + chomp $error; + return $self->error("bad match operator: $error"); + } + elsif (@warns) { + ## Remove useless lines numbers from message. + ($error = shift @warns) =~ s/ at \(eval \d+\) line \d+.?//; + $error =~ s/ while "strict subs" in use//; + chomp $error; + return $self->error("bad match operator: $error"); + } + + 1; +} # end sub _match_check + + +sub _negotiate_callback { + my ($self, $opt, $is_remote, $is_enabled, $was_enabled, $opt_bufpos) = @_; + my ( + $callback, + $s, + ); + local $_; + + ## Keep track of remote echo. + if ($is_remote and $opt == &TELOPT_ECHO) { # received WILL or WONT ECHO + $s = *$self->{net_telnet}; + + if ($is_enabled and !$was_enabled) { # received WILL ECHO + $s->{remote_echo} = 1; + } + elsif (!$is_enabled and $was_enabled) { # received WONT ECHO + $s->{remote_echo} = ''; + } + } + + ## Invoke callback, if there is one. + $callback = $self->option_callback; + if ($callback) { + &$callback($self, $opt, $is_remote, + $is_enabled, $was_enabled, $opt_bufpos); + } + + 1; +} # end sub _negotiate_callback + + +sub _negotiate_recv { + my ($self, $s, $opt_request, $opt, $opt_bufpos) = @_; + + ## Ensure data structure exists for this option. + unless (defined $s->{opts}{$opt}) { + &_set_default_option($s, $opt); + } + + ## Process the option. + if ($opt_request eq "\376") { # DONT + &_negotiate_recv_disable($self, $s, $opt, "dont", $opt_bufpos, + $s->{opts}{$opt}{local_enable_ok}, + \$s->{opts}{$opt}{local_enabled}, + \$s->{opts}{$opt}{local_state}); + } + elsif ($opt_request eq "\375") { # DO + &_negotiate_recv_enable($self, $s, $opt, "do", $opt_bufpos, + $s->{opts}{$opt}{local_enable_ok}, + \$s->{opts}{$opt}{local_enabled}, + \$s->{opts}{$opt}{local_state}); + } + elsif ($opt_request eq "\374") { # WONT + &_negotiate_recv_disable($self, $s, $opt, "wont", $opt_bufpos, + $s->{opts}{$opt}{remote_enable_ok}, + \$s->{opts}{$opt}{remote_enabled}, + \$s->{opts}{$opt}{remote_state}); + } + elsif ($opt_request eq "\373") { # WILL + &_negotiate_recv_enable($self, $s, $opt, "will", $opt_bufpos, + $s->{opts}{$opt}{remote_enable_ok}, + \$s->{opts}{$opt}{remote_enabled}, + \$s->{opts}{$opt}{remote_state}); + } + else { # internal error + die; + } + + 1; +} # end sub _negotiate_recv + + +sub _negotiate_recv_disable { + my ($self, $s, $opt, $opt_request, + $opt_bufpos, $enable_ok, $is_enabled, $state) = @_; + my ( + $ack, + $disable_cmd, + $enable_cmd, + $is_remote, + $nak, + $was_enabled, + ); + + ## What do we use to request enable/disable or respond with ack/nak. + if ($opt_request eq "wont") { + $enable_cmd = "\377\375" . pack("C", $opt); # do command + $disable_cmd = "\377\376" . pack("C", $opt); # dont command + $is_remote = 1; + $ack = "DO"; + $nak = "DONT"; + + &_log_option($s->{opt_log}, "RCVD", "WONT", $opt) + if $s->{opt_log}; + } + elsif ($opt_request eq "dont") { + $enable_cmd = "\377\373" . pack("C", $opt); # will command + $disable_cmd = "\377\374" . pack("C", $opt); # wont command + $is_remote = ''; + $ack = "WILL"; + $nak = "WONT"; + + &_log_option($s->{opt_log}, "RCVD", "DONT", $opt) + if $s->{opt_log}; + } + else { # internal error + die; + } + + ## Respond to WONT or DONT based on the current negotiation state. + if ($$state eq "no") { # state is already disabled + } + elsif ($$state eq "yes") { # they're initiating disable + $$is_enabled = ''; + $$state = "no"; + + ## Send positive acknowledgment. + $s->{unsent_opts} .= $disable_cmd; + &_log_option($s->{opt_log}, "SENT", $nak, $opt) + if $s->{opt_log}; + + ## Invoke callbacks. + &_negotiate_callback($self, $opt, $is_remote, + $$is_enabled, $was_enabled, $opt_bufpos); + } + elsif ($$state eq "wantno") { # they sent positive ack + $$is_enabled = ''; + $$state = "no"; + + ## Invoke callback. + &_negotiate_callback($self, $opt, $is_remote, + $$is_enabled, $was_enabled, $opt_bufpos); + } + elsif ($$state eq "wantno opposite") { # pos ack but we changed our mind + ## Indicate disabled but now we want to enable. + $$is_enabled = ''; + $$state = "wantyes"; + + ## Send queued request. + $s->{unsent_opts} .= $enable_cmd; + &_log_option($s->{opt_log}, "SENT", $ack, $opt) + if $s->{opt_log}; + + ## Invoke callback. + &_negotiate_callback($self, $opt, $is_remote, + $$is_enabled, $was_enabled, $opt_bufpos); + } + elsif ($$state eq "wantyes") { # they sent negative ack + $$is_enabled = ''; + $$state = "no"; + + ## Invoke callback. + &_negotiate_callback($self, $opt, $is_remote, + $$is_enabled, $was_enabled, $opt_bufpos); + } + elsif ($$state eq "wantyes opposite") { # nak but we changed our mind + $$is_enabled = ''; + $$state = "no"; + + ## Invoke callback. + &_negotiate_callback($self, $opt, $is_remote, + $$is_enabled, $was_enabled, $opt_bufpos); + } +} # end sub _negotiate_recv_disable + + +sub _negotiate_recv_enable { + my ($self, $s, $opt, $opt_request, + $opt_bufpos, $enable_ok, $is_enabled, $state) = @_; + my ( + $ack, + $disable_cmd, + $enable_cmd, + $is_remote, + $nak, + $was_enabled, + ); + + ## What we use to send enable/disable request or send ack/nak response. + if ($opt_request eq "will") { + $enable_cmd = "\377\375" . pack("C", $opt); # do command + $disable_cmd = "\377\376" . pack("C", $opt); # dont command + $is_remote = 1; + $ack = "DO"; + $nak = "DONT"; + + &_log_option($s->{opt_log}, "RCVD", "WILL", $opt) + if $s->{opt_log}; + } + elsif ($opt_request eq "do") { + $enable_cmd = "\377\373" . pack("C", $opt); # will command + $disable_cmd = "\377\374" . pack("C", $opt); # wont command + $is_remote = ''; + $ack = "WILL"; + $nak = "WONT"; + + &_log_option($s->{opt_log}, "RCVD", "DO", $opt) + if $s->{opt_log}; + } + else { # internal error + die; + } + + ## Save current enabled state. + $was_enabled = $$is_enabled; + + ## Respond to WILL or DO based on the current negotiation state. + if ($$state eq "no") { # they're initiating enable + if ($enable_ok) { # we agree they/us should enable + $$is_enabled = 1; + $$state = "yes"; + + ## Send positive acknowledgment. + $s->{unsent_opts} .= $enable_cmd; + &_log_option($s->{opt_log}, "SENT", $ack, $opt) + if $s->{opt_log}; + + ## Invoke callbacks. + &_negotiate_callback($self, $opt, $is_remote, + $$is_enabled, $was_enabled, $opt_bufpos); + } + else { # we disagree they/us should enable + ## Send negative acknowledgment. + $s->{unsent_opts} .= $disable_cmd; + &_log_option($s->{opt_log}, "SENT", $nak, $opt) + if $s->{opt_log}; + } + } + elsif ($$state eq "yes") { # state is already enabled + } + elsif ($$state eq "wantno") { # error: our disable req answered by enable + $$is_enabled = ''; + $$state = "no"; + + ## Invoke callbacks. + &_negotiate_callback($self, $opt, $is_remote, + $$is_enabled, $was_enabled, $opt_bufpos); + } + elsif ($$state eq "wantno opposite") { # err: disable req answerd by enable + $$is_enabled = 1; + $$state = "yes"; + + ## Invoke callbacks. + &_negotiate_callback($self, $opt, $is_remote, + $$is_enabled, $was_enabled, $opt_bufpos); + } + elsif ($$state eq "wantyes") { # they sent pos ack + $$is_enabled = 1; + $$state = "yes"; + + ## Invoke callback. + &_negotiate_callback($self, $opt, $is_remote, + $$is_enabled, $was_enabled, $opt_bufpos); + } + elsif ($$state eq "wantyes opposite") { # pos ack but we changed our mind + ## Indicate enabled but now we want to disable. + $$is_enabled = 1; + $$state = "wantno"; + + ## Inform other side we changed our mind. + $s->{unsent_opts} .= $disable_cmd; + &_log_option($s->{opt_log}, "SENT", $nak, $opt) + if $s->{opt_log}; + + ## Invoke callback. + &_negotiate_callback($self, $opt, $is_remote, + $$is_enabled, $was_enabled, $opt_bufpos); + } + + 1; +} # end sub _negotiate_recv_enable + + +sub _new_handle { + if ($INC{"IO/Handle.pm"}) { + return IO::Handle->new; + } + else { + require FileHandle; + return FileHandle->new; + } +} # end sub _new_handle + + +sub _next_getlines { + my ($self, $s) = @_; + my ( + $len, + $line, + $pos, + @lines, + ); + + ## Fill buffer and get first line. + $line = $self->getline + or return; + push @lines, $line; + + ## Extract subsequent lines from buffer. + while (($pos = index($s->{buf}, $s->{rs})) != -1) { + $len = $pos + length $s->{rs}; + push @lines, substr($s->{buf}, 0, $len); + substr($s->{buf}, 0, $len) = ""; + } + + @lines; +} # end sub _next_getlines + + +sub _opt_accept { + my ($self, @args) = @_; + my ( + $arg, + $option, + $s, + ); + + ## Init. + $s = *$self->{net_telnet}; + + foreach $arg (@args) { + ## Ensure data structure defined for this option. + $option = $arg->{option}; + if (!defined $s->{opts}{$option}) { + &_set_default_option($s, $option); + } + + ## Save whether we'll accept or reject this option. + if ($arg->{is_remote}) { + $s->{opts}{$option}{remote_enable_ok} = $arg->{is_enable}; + } + else { + $s->{opts}{$option}{local_enable_ok} = $arg->{is_enable}; + } + } + + 1; +} # end sub _opt_accept + + +sub _optimal_blksize { + my ($blksize) = @_; + local $^W = ''; # avoid non-numeric warning for ms-windows blksize of "" + + ## Use default when block size is invalid. + return 8192 + unless defined $blksize and $blksize >= 1 and $blksize <= 1_048_576; + + $blksize; +} # end sub _optimal_blksize + + +sub _parse_cmd_remove_mode { + my ($self, $mode) = @_; + + if (!defined $mode) { + $mode = 0; + } + elsif ($mode =~ /^\s*auto\s*$/i) { + $mode = "auto"; + } + elsif ($mode !~ /^\d+$/) { + &_carp($self, "ignoring bad Cmd_remove_mode " . + "argument \"$mode\": it's not \"auto\" or a " . + "non-negative integer"); + $mode = *$self->{net_telnet}{cmd_rm_mode}; + } + + $mode; +} # end sub _parse_cmd_remove_mode + + +sub _parse_errmode { + my ($self, $errmode) = @_; + + ## Set the error mode. + if (!defined $errmode) { + &_carp($self, "ignoring undefined Errmode argument"); + $errmode = *$self->{net_telnet}{errormode}; + } + elsif ($errmode =~ /^\s*return\s*$/i) { + $errmode = "return"; + } + elsif ($errmode =~ /^\s*die\s*$/i) { + $errmode = "die"; + } + elsif (ref($errmode) eq "CODE") { + } + elsif (ref($errmode) eq "ARRAY") { + unless (ref($errmode->[0]) eq "CODE") { + &_carp($self, "ignoring bad Errmode argument: " . + "first list item isn't a code ref"); + $errmode = *$self->{net_telnet}{errormode}; + } + } + else { + &_carp($self, "ignoring bad Errmode argument \"$errmode\""); + $errmode = *$self->{net_telnet}{errormode}; + } + + $errmode; +} # end sub _parse_errmode + + +sub _parse_input_record_separator { + my ($self, $rs) = @_; + + unless (defined $rs and length $rs) { + &_carp($self, "ignoring null Input_record_separator argument"); + $rs = *$self->{net_telnet}{rs}; + } + + $rs; +} # end sub _parse_input_record_separator + + +sub _parse_prompt { + my ($self, $prompt) = @_; + + unless (defined $prompt) { + $prompt = ""; + } + + unless ($prompt =~ m(^\s*/) or $prompt =~ m(^\s*m\s*\W)) { + &_carp($self, "ignoring bad Prompt argument \"$prompt\": " . + "missing opening delimiter of match operator"); + $prompt = *$self->{net_telnet}{cmd_prompt}; + } + + $prompt; +} # end sub _parse_prompt + + +sub _parse_timeout { + my ($self, $timeout) = @_; + + ## Ensure valid timeout. + if (defined $timeout) { + ## Test for non-numeric or negative values. + eval { + local $SIG{"__DIE__"} = "DEFAULT"; + local $SIG{"__WARN__"} = sub { die "non-numeric\n" }; + local $^W = 1; + $timeout *= 1; + }; + if ($@) { # timeout arg is non-numeric + &_carp($self, + "ignoring non-numeric Timeout argument \"$timeout\""); + $timeout = *$self->{net_telnet}{time_out}; + } + elsif ($timeout < 0) { # timeout arg is negative + &_carp($self, "ignoring negative Timeout argument \"$timeout\""); + $timeout = *$self->{net_telnet}{time_out}; + } + } + + $timeout; +} # end sub _parse_timeout + + +sub _put { + my ($self, $buf, $subname) = @_; + my ( + $endtime, + $len, + $nfound, + $nwrote, + $offset, + $ready, + $s, + $timed_out, + $timeout, + $zero_wrote_count, + ); + + ## Init. + $s = *$self->{net_telnet}; + $s->{num_wrote} = 0; + $zero_wrote_count = 0; + $offset = 0; + $len = length $$buf; + $endtime = &_endtime($s->{time_out}); + + return $self->error("write error: filehandle isn't open") + unless $s->{opened}; + + ## Try to send any waiting option negotiation. + if (length $s->{unsent_opts}) { + &_flush_opts($self); + } + + ## Write until all data blocks written. + while ($len) { + ## Determine how long to wait for output ready. + ($timed_out, $timeout) = &_timeout_interval($endtime); + if ($timed_out) { + $s->{timedout} = 1; + return $self->error("$subname timed-out"); + } + + ## Wait for output ready. + $nfound = select "", $ready=$s->{fdmask}, "", $timeout; + + ## Handle any errors while waiting. + if (!defined $nfound or $nfound <= 0) { # output not ready + if (defined $nfound and $nfound == 0) { # timed-out + $s->{timedout} = 1; + return $self->error("$subname timed-out"); + } + else { # error waiting for output ready + next if $! =~ /^interrupted/i; + + $s->{opened} = ''; + return $self->error("write error: $!"); + } + } + + ## Write the data. + $nwrote = syswrite $self, $$buf, $len, $offset; + + ## Handle any write errors. + if (!defined $nwrote) { # write failed + next if $! =~ /^interrupted/i; # restart interrupted syscall + + $s->{opened} = ''; + return $self->error("write error: $!"); + } + elsif ($nwrote == 0) { # zero chars written + ## Try ten more times to write the data. + if ($zero_wrote_count++ <= 10) { + &_sleep(0.01); + next; + } + + $s->{opened} = ''; + return $self->error("write error: zero length write: $!"); + } + + ## Display network traffic if requested. + if ($s->{dumplog}) { + &_log_dump('>', $s->{dumplog}, $buf, $offset, $nwrote); + } + + ## Increment. + $s->{num_wrote} += $nwrote; + $offset += $nwrote; + $len -= $nwrote; + } + + 1; +} # end sub _put + + +sub _qualify_fh { + my ($obj, $name) = @_; + my ( + $user_class, + ); + local $_; + + ## Get user's package name. + ($user_class) = &_user_caller($obj); + + ## Ensure name is qualified with a package name. + $name = qualify($name, $user_class); + + ## If it's not already, make it a typeglob ref. + if (!ref $name) { + no strict; + local $^W = 0; + + $name =~ s/^\*+//; + $name = eval "\\*$name"; + return unless ref $name; + } + + $name; +} # end sub _qualify_fh + + +sub _reset_options { + my ($opts) = @_; + my ( + $opt, + ); + + foreach $opt (keys %$opts) { + $opts->{$opt}{remote_enabled} = ''; + $opts->{$opt}{remote_state} = "no"; + $opts->{$opt}{local_enabled} = ''; + $opts->{$opt}{local_state} = "no"; + } + + 1; +} # end sub _reset_options + + +sub _save_lastline { + my ($s) = @_; + my ( + $firstpos, + $lastpos, + $len_w_sep, + $len_wo_sep, + $offset, + ); + my $rs = "\n"; + + if (($lastpos = rindex $s->{buf}, $rs) > -1) { # eol found + while (1) { + ## Find beginning of line. + $firstpos = rindex $s->{buf}, $rs, $lastpos - 1; + if ($firstpos == -1) { + $offset = 0; + } + else { + $offset = $firstpos + length $rs; + } + + ## Determine length of line with and without separator. + $len_wo_sep = $lastpos - $offset; + $len_w_sep = $len_wo_sep + length $rs; + + ## Save line if it's not blank. + if (substr($s->{buf}, $offset, $len_wo_sep) + !~ /^\s*$/) + { + $s->{last_line} = substr($s->{buf}, + $offset, + $len_w_sep); + last; + } + + last if $firstpos == -1; + + $lastpos = $firstpos; + } + } + + 1; +} # end sub _save_lastline + + +sub _set_default_option { + my ($s, $option) = @_; + + $s->{opts}{$option} = { + remote_enabled => '', + remote_state => "no", + remote_enable_ok => '', + local_enabled => '', + local_state => "no", + local_enable_ok => '', + }; +} # end sub _set_default_option + + +sub _sleep { + my ($secs) = @_; + my $bitmask = ""; + local *SOCK; + + socket SOCK, AF_INET, SOCK_STREAM, 0; + vec($bitmask, fileno(SOCK), 1) = 1; + select $bitmask, "", "", $secs; + CORE::close SOCK; + + 1; +} # end sub _sleep + + +sub _timeout_interval { + my ($endtime) = @_; + my ( + $timeout, + ); + + ## Return timed-out boolean and timeout interval. + if (defined $endtime) { + ## Is it a one-time poll. + return ('', 0) if $endtime == 0; + + ## Calculate the timeout interval. + $timeout = $endtime - time; + + ## Did we already timeout. + return (1, 0) unless $timeout > 0; + + return ('', $timeout); + } + else { # there is no timeout + return ('', undef); + } +} # end sub _timeout_interval + + +sub _user_caller { + my ($obj) = @_; + my ( + $class, + $curr_pkg, + $file, + $i, + $line, + $pkg, + %isa, + @isa, + ); + local $_; + + ## Create a boolean hash to test for isa. Make sure current + ## package and the object's class are members. + $class = ref $obj; + @isa = eval "\@${class}::ISA"; + push @isa, $class; + ($curr_pkg) = caller 1; + push @isa, $curr_pkg; + %isa = map { $_ => 1 } @isa; + + ## Search back in call frames for a package that's not in isa. + $i = 1; + while (($pkg, $file, $line) = caller ++$i) { + next if $isa{$pkg}; + + return ($pkg, $file, $line); + } + + ## If not found, choose outer most call frame. + ($pkg, $file, $line) = caller --$i; + return ($pkg, $file, $line); +} # end sub _user_caller + + +sub _verify_telopt_arg { + my ($self, $option, $argname) = @_; + + ## If provided, use argument name in error message. + if (defined $argname) { + $argname = "for arg $argname"; + } + else { + $argname = ""; + } + + ## Ensure telnet option is a non-negative integer. + eval { + local $SIG{"__DIE__"} = "DEFAULT"; + local $SIG{"__WARN__"} = sub { die "non-numeric\n" }; + local $^W = 1; + $option = abs(int $option); + }; + return $self->error("bad telnet option $argname: non-numeric") + if $@; + + return $self->error("bad telnet option $argname: option > 255") + unless $option <= 255; + + $option; +} # end sub _verify_telopt_arg + + +######################## Exported Constants ########################## + + +sub TELNET_IAC () {255}; # interpret as command: +sub TELNET_DONT () {254}; # you are not to use option +sub TELNET_DO () {253}; # please, you use option +sub TELNET_WONT () {252}; # I won't use option +sub TELNET_WILL () {251}; # I will use option +sub TELNET_SB () {250}; # interpret as subnegotiation +sub TELNET_GA () {249}; # you may reverse the line +sub TELNET_EL () {248}; # erase the current line +sub TELNET_EC () {247}; # erase the current character +sub TELNET_AYT () {246}; # are you there +sub TELNET_AO () {245}; # abort output--but let prog finish +sub TELNET_IP () {244}; # interrupt process--permanently +sub TELNET_BREAK () {243}; # break +sub TELNET_DM () {242}; # data mark--for connect. cleaning +sub TELNET_NOP () {241}; # nop +sub TELNET_SE () {240}; # end sub negotiation +sub TELNET_EOR () {239}; # end of record (transparent mode) +sub TELNET_ABORT () {238}; # Abort process +sub TELNET_SUSP () {237}; # Suspend process +sub TELNET_EOF () {236}; # End of file +sub TELNET_SYNCH () {242}; # for telfunc calls + +sub TELOPT_BINARY () {0}; # Binary Transmission +sub TELOPT_ECHO () {1}; # Echo +sub TELOPT_RCP () {2}; # Reconnection +sub TELOPT_SGA () {3}; # Suppress Go Ahead +sub TELOPT_NAMS () {4}; # Approx Message Size Negotiation +sub TELOPT_STATUS () {5}; # Status +sub TELOPT_TM () {6}; # Timing Mark +sub TELOPT_RCTE () {7}; # Remote Controlled Trans and Echo +sub TELOPT_NAOL () {8}; # Output Line Width +sub TELOPT_NAOP () {9}; # Output Page Size +sub TELOPT_NAOCRD () {10}; # Output Carriage-Return Disposition +sub TELOPT_NAOHTS () {11}; # Output Horizontal Tab Stops +sub TELOPT_NAOHTD () {12}; # Output Horizontal Tab Disposition +sub TELOPT_NAOFFD () {13}; # Output Formfeed Disposition +sub TELOPT_NAOVTS () {14}; # Output Vertical Tabstops +sub TELOPT_NAOVTD () {15}; # Output Vertical Tab Disposition +sub TELOPT_NAOLFD () {16}; # Output Linefeed Disposition +sub TELOPT_XASCII () {17}; # Extended ASCII +sub TELOPT_LOGOUT () {18}; # Logout +sub TELOPT_BM () {19}; # Byte Macro +sub TELOPT_DET () {20}; # Data Entry Terminal +sub TELOPT_SUPDUP () {21}; # SUPDUP +sub TELOPT_SUPDUPOUTPUT () {22}; # SUPDUP Output +sub TELOPT_SNDLOC () {23}; # Send Location +sub TELOPT_TTYPE () {24}; # Terminal Type +sub TELOPT_EOR () {25}; # End of Record +sub TELOPT_TUID () {26}; # TACACS User Identification +sub TELOPT_OUTMRK () {27}; # Output Marking +sub TELOPT_TTYLOC () {28}; # Terminal Location Number +sub TELOPT_3270REGIME () {29}; # Telnet 3270 Regime +sub TELOPT_X3PAD () {30}; # X.3 PAD +sub TELOPT_NAWS () {31}; # Negotiate About Window Size +sub TELOPT_TSPEED () {32}; # Terminal Speed +sub TELOPT_LFLOW () {33}; # Remote Flow Control +sub TELOPT_LINEMODE () {34}; # Linemode +sub TELOPT_XDISPLOC () {35}; # X Display Location +sub TELOPT_OLD_ENVIRON () {36}; # Environment Option +sub TELOPT_AUTHENTICATION () {37}; # Authentication Option +sub TELOPT_ENCRYPT () {38}; # Encryption Option +sub TELOPT_NEW_ENVIRON () {39}; # New Environment Option +sub TELOPT_EXOPL () {255}; # Extended-Options-List + + +1; +__END__; + + +######################## User Documentation ########################## + + +## To format the following documentation into a more readable format, +## use one of these programs: perldoc; pod2man; pod2html; pod2text. +## For example, to nicely format this documentation for printing, you +## may use pod2man and groff to convert to postscript: +## pod2man Net/Telnet.pm | groff -man -Tps > Net::Telnet.ps + +=head1 NAME + +Net::Telnet - interact with TELNET port or other TCP ports + +=head1 SYNOPSIS + +C + +see METHODS section below + +=head1 DESCRIPTION + +Net::Telnet allows you to make client connections to a TCP port and do +network I/O, especially to a port using the TELNET protocol. Simple +I/O methods such as print, get, and getline are provided. More +sophisticated interactive features are provided because connecting to +a TELNET port ultimately means communicating with a program designed +for human interaction. These interactive features include the ability +to specify a time-out and to wait for patterns to appear in the input +stream, such as the prompt from a shell. + +Other reasons to use this module than strictly with a TELNET port are: + +=over 2 + +=item * + +You're not familiar with sockets and you want a simple way to make +client connections to TCP services. + +=item * + +You want to be able to specify your own time-out while connecting, +reading, or writing. + +=item * + +You're communicating with an interactive program at the other end of +some socket or pipe and you want to wait for certain patterns to +appear. + +=back + +Here's an example that prints who's logged-on to the remote host +sparky. In addition to a username and password, you must also know +the user's shell prompt, which for this example is C + + use Net::Telnet (); + $t = new Net::Telnet (Timeout => 10, + Prompt => '/bash\$ $/'); + $t->open("sparky"); + $t->login($username, $passwd); + @lines = $t->cmd("who"); + print @lines; + +More examples are in the B section below. + +Usage questions should be directed to the Usenet newsgroup +comp.lang.perl.modules. + +Contact me, Jay Rogers , if you find any bugs or have +suggestions for improvement. + +=head2 What To Know Before Using + +=over 2 + +=item * + +All output is flushed while all input is buffered. Each object +contains its own input buffer. + +=item * + +The output record separator for C and C is set to +C<"\n"> by default, so that you don't have to append all your commands +with a newline. To avoid printing a trailing C<"\n"> use C or +set the I to C<"">. + +=item * + +The methods C and C use the I setting in the +object to determine when a login or remote command is complete. Those +methods will fail with a time-out if you don't set the prompt +correctly. + +=item * + +Use a combination of C and C as an alternative to +C or C when they don't do what you want. + +=item * + +Errors such as timing-out are handled according to the error mode +action. The default action is to print an error message to standard +error and have the program die. See the C method for more +information. + +=item * + +When constructing the match operator argument for C or +C, always use single quotes instead of double quotes to +avoid unexpected backslash interpretation (e.g. C<'/bash\$ $/'>). If +you're constructing a DOS like file path, you'll need to use four +backslashes to represent one (e.g. C<'/c:\\\\users\\\\billE$/i'>). + +Of course don't forget about regexp metacharacters like C<.>, C<[>, or +C<$>. You'll only need a single backslash to quote them. The anchor +metacharacters C<^> and C<$> refer to positions in the input buffer. +To avoid matching characters read that look like a prompt, it's a good +idea to end your prompt pattern with the C<$> anchor. That way the +prompt will only match if it's the last thing read. + +=item * + +In the input stream, each sequence of I and I (i.e. C<"\015\012"> or CR LF) is converted to C<"\n">. In the +output stream, each occurrence of C<"\n"> is converted to a sequence +of CR LF. See C to change the behavior. TCP protocols +typically use the ASCII sequence, carriage return and line feed to +designate a newline. + +=item * + +Timing-out while making a connection is disabled for machines that +don't support the C function. Most notably these include +MS-Windows machines. + +=item * + +You'll need to be running at least Perl version 5.002 to use this +module. This module does not require any libraries that don't already +come with a standard Perl distribution. + +If you have the IO:: libraries installed (they come standard with +perl5.004 and later) then IO::Socket::INET is used as a base class, +otherwise FileHandle is used. + +=item * + +Contact me, Jay Rogers , if you find any bugs or have +suggestions for improvement. + +=back + +=head2 Debugging + +The typical usage bug causes a time-out error because you've made +incorrect assumptions about what the remote side actually sends. The +easiest way to reconcile what the remote side sends with your +expectations is to use C or C. + +C allows you to see the data being sent from the remote +side before any translation is done, while C shows you +the results after translation. The translation includes converting +end of line characters, removing and responding to TELNET protocol +commands in the data stream. + +=head2 Style of Named Parameters + +Two different styles of named parameters are supported. This document +only shows the IO:: style: + + Net::Telnet->new(Timeout => 20); + +however the dash-option style is also allowed: + + Net::Telnet->new(-timeout => 20); + +=head2 Connecting to a Remote MS-Windows Machine + +By default MS-Windows doesn't come with a TELNET server. However +third party TELNET servers are available. Unfortunately many of these +servers falsely claim to be a TELNET server. This is especially true +of the so-called "Microsoft Telnet Server" that comes installed with +some newer versions MS-Windows. + +When a TELNET server first accepts a connection, it must use the ASCII +control characters carriage-return and line-feed to start a new line +(see RFC854). A server like the "Microsoft Telnet Server" that +doesn't do this, isn't a TELNET server. These servers send ANSI +terminal escape sequences to position to a column on a subsequent line +and to even position while writing characters that are adjacent to +each other. Worse, when sending output these servers resend +previously sent command output in a misguided attempt to display an +entire terminal screen. + +Connecting Net::Telnet to one of these false TELNET servers makes your +job of parsing command output very difficult. It's better to replace +a false TELNET server with a real TELNET server. The better TELNET +servers for MS-Windows allow you to avoid the ANSI escapes by turning +off something some of them call I. + + +=head1 METHODS + +In the calling sequences below, square brackets B<[]> represent +optional parameters. + +=over 4 + +=item B - create a new Net::Telnet object + + $obj = new Net::Telnet ([$host]); + + $obj = new Net::Telnet ([Binmode => $mode,] + [Cmd_remove_mode => $mode,] + [Dump_Log => $filename,] + [Errmode => $errmode,] + [Fhopen => $filehandle,] + [Host => $host,] + [Input_log => $file,] + [Input_record_separator => $chars,] + [Option_log => $file,] + [Ors => $chars,] + [Output_log => $file,] + [Output_record_separator => $chars,] + [Port => $port,] + [Prompt => $matchop,] + [Rs => $chars,] + [Telnetmode => $mode,] + [Timeout => $secs,]); + +This is the constructor for Net::Telnet objects. A new object is +returned on success, the error mode action is performed on failure - +see C. The optional arguments are short-cuts to methods of +the same name. + +If the I<$host> argument is given then the object is opened by +connecting to TCP I<$port> on I<$host>. Also see C. The new +object returned is given the following defaults in the absence of +corresponding named parameters: + +=over 4 + +=item + +The default I is C<"localhost"> + +=item + +The default I is C<23> + +=item + +The default I is C<'/[\$%#E] $/'> + +=item + +The default I is C<10> + +=item + +The default I is C<"die"> + +=item + +The default I is C<"\n">. Note that I +is synonymous with I. + +=item + +The default I is C<"\n">. Note that I is +synonymous with I. + +=item + +The default I is C<0>, which means do newline translation. + +=item + +The default I is C<1>, which means respond to TELNET +commands in the data stream. + +=item + +The default I is C<"auto"> + +=item + +The defaults for I, I, I, and +I are C<"">, which means that logging is turned-off. + +=back + +=back + + +=over 4 + +=item B - toggle newline translation + + $mode = $obj->binmode; + + $prev = $obj->binmode($mode); + +This method controls whether or not sequences of carriage returns and +line feeds (CR LF or more specifically C<"\015\012">) are translated. +By default they are translated (i.e. binmode is C<0>). + +If no argument is given, the current mode is returned. + +If I<$mode> is C<1> then binmode is I and newline translation is +not done. + +If I<$mode> is C<0> then binmode is I and newline translation is +done. In the input stream, each sequence of CR LF is converted to +C<"\n"> and in the output stream, each occurrence of C<"\n"> is +converted to a sequence of CR LF. + +Note that input is always buffered. Changing binmode doesn't effect +what's already been read into the buffer. Output is not buffered and +changing binmode will have an immediate effect. + +=back + + +=over 4 + +=item B - send TELNET break character + + $ok = $obj->break; + +This method sends the TELNET break character. This character is +provided because it's a signal outside the ASCII character set which +is currently given local meaning within many systems. It's intended +to indicate that the Break Key or the Attention Key was hit. + +This method returns C<1> on success, or performs the error mode action +on failure. + +=back + + +=over 4 + +=item B - scalar reference to object's input buffer + + $ref = $obj->buffer; + +This method returns a scalar reference to the input buffer for +I<$obj>. Data in the input buffer is data that has been read from the +remote side but has yet to be read by the user. Modifications to the +input buffer are returned by a subsequent read. + +=back + + +=over 4 + +=item B - discard all data in object's input buffer + + $obj->buffer_empty; + +This method removes all data in the input buffer for I<$obj>. + +=back + + +=over 4 + +=item B - close object + + $ok = $obj->close; + +This method closes the socket, file, or pipe associated with the +object. It always returns a value of C<1>. + +=back + + +=over 4 + +=item B - issue command and retrieve output + + $ok = $obj->cmd($string); + $ok = $obj->cmd(String => $string, + [Output => $ref,] + [Cmd_remove_mode => $mode,] + [Errmode => $mode,] + [Input_record_separator => $chars,] + [Ors => $chars,] + [Output_record_separator => $chars,] + [Prompt => $match,] + [Rs => $chars,] + [Timeout => $secs,]); + + @output = $obj->cmd($string); + @output = $obj->cmd(String => $string, + [Output => $ref,] + [Cmd_remove_mode => $mode,] + [Errmode => $mode,] + [Input_record_separator => $chars,] + [Ors => $chars,] + [Output_record_separator => $chars,] + [Prompt => $match,] + [Rs => $chars,] + [Timeout => $secs,]); + +This method sends the command I<$string>, and reads the characters +sent back by the command up until and including the matching prompt. +It's assumed that the program to which you're sending is some kind of +command prompting interpreter such as a shell. + +The command I<$string> is automatically appended with the +output_record_separator, By default that's C<"\n">. This is similar +to someone typing a command and hitting the return key. Set the +output_record_separator to change this behavior. + +In a scalar context, the characters read from the remote side are +discarded and C<1> is returned on success. On time-out, eof, or other +failures, the error mode action is performed. See C. + +In a list context, just the output generated by the command is +returned, one line per element. In other words, all the characters in +between the echoed back command string and the prompt are returned. +If the command happens to return no output, a list containing one +element, the empty string is returned. This is so the list will +indicate true in a boolean context. On time-out, eof, or other +failures, the error mode action is performed. See C. + +The characters that matched the prompt may be retrieved using +C. + +Many command interpreters echo back the command sent. In most +situations, this method removes the first line returned from the +remote side (i.e. the echoed back command). See C +for more control over this feature. + +Use C to debug when this method keeps timing-out and you +don't think it should. + +Consider using a combination of C and C as an +alternative to this method when it doesn't do what you want, e.g. the +command you send prompts for input. + +The I named parameter provides an alternative method of +receiving command output. If you pass a scalar reference, all the +output (even if it contains multiple lines) is returned in the +referenced scalar. If you pass an array or hash reference, the lines +of output are returned in the referenced array or hash. You can use +C to change the notion of what separates a +line. + +Optional named parameters are provided to override the current +settings of cmd_remove_mode, errmode, input_record_separator, ors, +output_record_separator, prompt, rs, and timeout. Rs is synonymous +with input_record_separator and ors is synonymous with +output_record_separator. + +=back + + +=over 4 + +=item B - toggle removal of echoed commands + + $mode = $obj->cmd_remove_mode; + + $prev = $obj->cmd_remove_mode($mode); + +This method controls how to deal with echoed back commands in the +output returned by cmd(). Typically, when you send a command to the +remote side, the first line of output returned is the command echoed +back. Use this mode to remove the first line of output normally +returned by cmd(). + +If no argument is given, the current mode is returned. + +If I<$mode> is C<0> then the command output returned from cmd() has no +lines removed. If I<$mode> is a positive integer, then the first +I<$mode> lines of command output are stripped. + +By default, I<$mode> is set to C<"auto">. Auto means that whether or +not the first line of command output is stripped, depends on whether +or not the remote side offered to echo. By default, Net::Telnet +always accepts an offer to echo by the remote side. You can change +the default to reject such an offer using C. + +A warning is printed to STDERR when attempting to set this attribute +to something that's not C<"auto"> or a non-negative integer. + +=back + + +=over 4 + +=item B - log all I/O in dump format + + $fh = $obj->dump_log; + + $fh = $obj->dump_log($fh); + + $fh = $obj->dump_log($filename); + +This method starts or stops dump format logging of all the object's +input and output. The dump format shows the blocks read and written +in a hexadecimal and printable character format. This method is +useful when debugging, however you might want to first try +C as it's more readable. + +If no argument is given, the current log filehandle is returned. An +empty string indicates logging is off. + +To stop logging, use an empty string as an argument. + +If an open filehandle is given, it is used for logging and returned. +Otherwise, the argument is assumed to be the name of a file, the file +is opened and a filehandle to it is returned. If the file can't be +opened for writing, the error mode action is performed. + +=back + + +=over 4 + +=item B - end of file indicator + + $eof = $obj->eof; + +This method returns C<1> if end of file has been read, otherwise it +returns an empty string. Because the input is buffered this isn't the +same thing as I<$obj> has closed. In other words I<$obj> can be +closed but there still can be stuff in the buffer to be read. Under +this condition you can still read but you won't be able to write. + +=back + + +=over 4 + +=item B - define action to be performed on error + + $mode = $obj->errmode; + + $prev = $obj->errmode($mode); + +This method gets or sets the action used when errors are encountered +using the object. The first calling sequence returns the current +error mode. The second calling sequence sets it to I<$mode> and +returns the previous mode. Valid values for I<$mode> are C<"die"> +(the default), C<"return">, a I, or an I. + +When mode is C<"die"> and an error is encountered using the object, +then an error message is printed to standard error and the program +dies. + +When mode is C<"return"> then the method generating the error places +an error message in the object and returns an undefined value in a +scalar context and an empty list in list context. The error message +may be obtained using C. + +When mode is a I, then when an error is encountered +I is called with the error message as its first argument. +Using this mode you may have your own subroutine handle errors. If +I itself returns then the method generating the error returns +undefined or an empty list depending on context. + +When mode is an I, the first element of the array must be a +I. Any elements that follow are the arguments to I. +When an error is encountered, the I is called with its +arguments. Using this mode you may have your own subroutine handle +errors. If the I itself returns then the method generating +the error returns undefined or an empty list depending on context. + +A warning is printed to STDERR when attempting to set this attribute +to something that's not C<"die">, C<"return">, a I, or an +I whose first element isn't a I. + +=back + + +=over 4 + +=item B - most recent error message + + $msg = $obj->errmsg; + + $prev = $obj->errmsg(@msgs); + +The first calling sequence returns the error message associated with +the object. The empty string is returned if no error has been +encountered yet. The second calling sequence sets the error message +for the object to the concatenation of I<@msgs> and returns the +previous error message. Normally, error messages are set internally +by a method when an error is encountered. + +=back + + +=over 4 + +=item B - perform the error mode action + + $obj->error(@msgs); + +This method concatenates I<@msgs> into a string and places it in the +object as the error message. Also see C. It then performs +the error mode action. Also see C. + +If the error mode doesn't cause the program to die, then an undefined +value or an empty list is returned depending on the context. + +This method is primarily used by this class or a sub-class to perform +the user requested action when an error is encountered. + +=back + + +=over 4 + +=item B - use already open filehandle for I/O + + $ok = $obj->fhopen($fh); + +This method associates the open filehandle I<$fh> with I<$obj> for +further I/O. Filehandle I<$fh> must already be opened. + +Suppose you want to use the features of this module to do I/O to +something other than a TCP port, for example STDIN or a filehandle +opened to read from a process. Instead of opening the object for I/O +to a TCP port by using C or C, call this method +instead. + +The value C<1> is returned success, the error mode action is performed +on failure. + +=back + + +=over 4 + +=item B - read block of data + + $data = $obj->get([Binmode => $mode,] + [Errmode => $errmode,] + [Telnetmode => $mode,] + [Timeout => $secs,]); + +This method reads a block of data from the object and returns it along +with any buffered data. If no buffered data is available to return, +it will wait for data to read using the timeout specified in the +object. You can override that timeout using I<$secs>. Also see +C. If buffered data is available to return, it also checks +for a block of data that can be immediately read. + +On eof an undefined value is returned. On time-out or other failures, +the error mode action is performed. To distinguish between eof or an +error occurring when the error mode is not set to C<"die">, use +C. + +Optional named parameters are provided to override the current +settings of binmode, errmode, telnetmode, and timeout. + +=back + + +=over 4 + +=item B - read next line + + $line = $obj->getline([Binmode => $mode,] + [Errmode => $errmode,] + [Input_record_separator => $chars,] + [Rs => $chars,] + [Telnetmode => $mode,] + [Timeout => $secs,]); + +This method reads and returns the next line of data from the object. +You can use C to change the notion of what +separates a line. The default is C<"\n">. If a line isn't +immediately available, this method blocks waiting for a line or a +time-out. + +On eof an undefined value is returned. On time-out or other failures, +the error mode action is performed. To distinguish between eof or an +error occurring when the error mode is not set to C<"die">, use +C. + +Optional named parameters are provided to override the current +settings of binmode, errmode, input_record_separator, rs, telnetmode, +and timeout. Rs is synonymous with input_record_separator. + +=back + + +=over 4 + +=item B - read next lines + + @lines = $obj->getlines([Binmode => $mode,] + [Errmode => $errmode,] + [Input_record_separator => $chars,] + [Rs => $chars,] + [Telnetmode => $mode,] + [Timeout => $secs,] + [All => $boolean,]); + +This method reads and returns all the lines of data from the object +until end of file is read. You can use C to +change the notion of what separates a line. The default is C<"\n">. +A time-out error occurs if all the lines can't be read within the +time-out interval. See C. + +The behavior of this method was changed in version 3.03. Prior to +version 3.03 this method returned just the lines available from the +next read. To get that old behavior, use the optional named parameter +I and set I<$boolean> to C<""> or C<0>. + +If only eof is read then an empty list is returned. On time-out or +other failures, the error mode action is performed. Use C to +distinguish between reading only eof or an error occurring when the +error mode is not set to C<"die">. + +Optional named parameters are provided to override the current +settings of binmode, errmode, input_record_separator, rs, telnetmode, +and timeout. Rs is synonymous with input_record_separator. + +=back + + +=over 4 + +=item B - name of remote host + + $host = $obj->host; + + $prev = $obj->host($host); + +This method designates the remote host for C. With no +argument it returns the current host name set in the object. With an +argument it sets the current host name to I<$host> and returns the +previous host name. You may indicate the remote host using either a +hostname or an IP address. + +The default value is C<"localhost">. It may also be set by C +or C. + +=back + + +=over 4 + +=item B - log all input + + $fh = $obj->input_log; + + $fh = $obj->input_log($fh); + + $fh = $obj->input_log($filename); + +This method starts or stops logging of input. This is useful when +debugging. Also see C. Because most command interpreters +echo back commands received, it's likely all your output will also be +in this log. Note that input logging occurs after newline +translation. See C for details on newline translation. + +If no argument is given, the log filehandle is returned. An empty +string indicates logging is off. + +To stop logging, use an empty string as an argument. + +If an open filehandle is given, it is used for logging and returned. +Otherwise, the argument is assumed to be the name of a file, the file +is opened for logging and a filehandle to it is returned. If the file +can't be opened for writing, the error mode action is performed. + +=back + + +=over 4 + +=item B - input line delimiter + + $chars = $obj->input_record_separator; + + $prev = $obj->input_record_separator($chars); + +This method designates the line delimiter for input. It's used with +C, C, and C to determine lines in the +input. + +With no argument this method returns the current input record +separator set in the object. With an argument it sets the input +record separator to I<$chars> and returns the previous value. Note +that I<$chars> must have length. + +A warning is printed to STDERR when attempting to set this attribute +to a string with no length. + +=back + + +=over 4 + +=item B - last prompt read + + $string = $obj->last_prompt; + + $prev = $obj->last_prompt($string); + +With no argument this method returns the last prompt read by cmd() or +login(). See C. With an argument it sets the last prompt +read to I<$string> and returns the previous value. Normally, only +internal methods set the last prompt. + +=back + + +=over 4 + +=item B - last line read + + $line = $obj->lastline; + + $prev = $obj->lastline($line); + +This method retrieves the last line read from the object. This may be +a useful error message when the remote side abnormally closes the +connection. Typically the remote side will print an error message +before closing. + +With no argument this method returns the last line read from the +object. With an argument it sets the last line read to I<$line> and +returns the previous value. Normally, only internal methods set the +last line. + +=back + + +=over 4 + +=item B - perform standard login + + $ok = $obj->login($username, $password); + + $ok = $obj->login(Name => $username, + Password => $password, + [Errmode => $mode,] + [Prompt => $match,] + [Timeout => $secs,]); + +This method performs a standard login by waiting for a login prompt +and responding with I<$username>, then waiting for the password prompt +and responding with I<$password>, and then waiting for the command +interpreter prompt. If any of those prompts sent by the remote side +don't match what's expected, this method will time-out, unless timeout +is turned off. + +Login prompt must match either of these case insensitive patterns: + + /login[: ]*$/i + /username[: ]*$/i + +Password prompt must match this case insensitive pattern: + + /password[: ]*$/i + +The command interpreter prompt must match the current setting of +prompt. See C. + +Use C to debug when this method keeps timing-out and you +don't think it should. + +Consider using a combination of C and C as an +alternative to this method when it doesn't do what you want, e.g. the +remote host doesn't prompt for a username. + +On success, C<1> is returned. On time out, eof, or other failures, +the error mode action is performed. See C. + +Optional named parameters are provided to override the current +settings of errmode, prompt, and timeout. + +=back + + +=over 4 + +=item B - maximum size of input buffer + + $len = $obj->max_buffer_length; + + $prev = $obj->max_buffer_length($len); + +This method designates the maximum size of the input buffer. An error +is generated when a read causes the buffer to exceed this limit. The +default value is 1,048,576 bytes (1MB). The input buffer can grow +much larger than the block size when you continuously read using +C or C and the data stream contains no newlines +or matching waitfor patterns. + +With no argument, this method returns the current maximum buffer +length set in the object. With an argument it sets the maximum buffer +length to I<$len> and returns the previous value. Values of I<$len> +smaller than 512 will be adjusted to 512. + +A warning is printed to STDERR when attempting to set this attribute +to something that isn't a positive integer. + +=back + + +=over 4 + +=item B - field separator for print + + $chars = $obj->ofs + + $prev = $obj->ofs($chars); + +This method is synonymous with C. + +=back + + +=over 4 + +=item B - connect to port on remote host + + $ok = $obj->open($host); + + $ok = $obj->open([Host => $host,] + [Port => $port,] + [Errmode => $mode,] + [Timeout => $secs,]); + +This method opens a TCP connection to I<$port> on I<$host>. If either +argument is missing then the current value of C or C +is used. Optional named parameters are provided to override the +current setting of errmode and timeout. + +On success C<1> is returned. On time-out or other connection +failures, the error mode action is performed. See C. + +Time-outs don't work for this method on machines that don't implement +SIGALRM - most notably MS-Windows machines. For those machines, an +error is returned when the system reaches its own time-out while +trying to connect. + +A side effect of this method is to reset the alarm interval associated +with SIGALRM. + +=back + + +=over 4 + +=item B - indicate willingness to accept a TELNET option + + $fh = $obj->option_accept([Do => $telopt,] + [Dont => $telopt,] + [Will => $telopt,] + [Wont => $telopt,]); + +This method is used to indicate whether to accept or reject an offer +to enable a TELNET option made by the remote side. If you're using +I or I to indicate a willingness to enable, then a +notification callback must have already been defined by a prior call +to C. See C for details on +receiving enable/disable notification of a TELNET option. + +You can give multiple I, I, I, or I arguments +for different TELNET options in the same call to this method. + +The following example describes the meaning of the named parameters. +A TELNET option, such as C used below, is an integer +constant that you can import from Net::Telnet. See the source in file +Telnet.pm for the complete list. + +=over 4 + +=item + +I => C + +=over 4 + +=item + +we'll accept an offer to enable the echo option on the local side + +=back + +=item + +I => C + +=over 4 + +=item + +we'll reject an offer to enable the echo option on the local side + +=back + +=item + +I => C + +=over 4 + +=item + +we'll accept an offer to enable the echo option on the remote side + +=back + +=item + +I => C + +=over 4 + +=item + +we'll reject an offer to enable the echo option on the remote side + +=back + +=back + +=item + +Use C to send a request to the remote side to enable or +disable a particular TELNET option. + +=back + + +=over 4 + +=item B - define the option negotiation callback + + $coderef = $obj->option_callback; + + $prev = $obj->option_callback($coderef); + +This method defines the callback subroutine that's called when a +TELNET option is enabled or disabled. Once defined, the +I may not be undefined. However, calling this method +with a different I<$coderef> changes it. + +A warning is printed to STDERR when attempting to set this attribute +to something that isn't a coderef. + +Here are the circumstances that invoke I<$coderef>: + +=over 4 + +=item + +An option becomes enabled because the remote side requested an enable +and C had been used to arrange that it be accepted. + +=item + +The remote side arbitrarily decides to disable an option that is +currently enabled. Note that Net::Telnet always accepts a request to +disable from the remote side. + +=item + +C was used to send a request to enable or disable an +option and the response from the remote side has just been received. +Note, that if a request to enable is rejected then I<$coderef> is +still invoked even though the option didn't change. + +=back + +=item + +Here are the arguments passed to I<&$coderef>: + + &$coderef($obj, $option, $is_remote, + $is_enabled, $was_enabled, $buf_position); + +=over 4 + +=item + +1. I<$obj> is the Net::Telnet object + +=item + +2. I<$option> is the TELNET option. Net::Telnet exports constants +for the various TELNET options which just equate to an integer. + +=item + +3. I<$is_remote> is a boolean indicating for which side the option +applies. + +=item + +4. I<$is_enabled> is a boolean indicating the option is enabled or +disabled + +=item + +5. I<$was_enabled> is a boolean indicating the option was previously +enabled or disabled + +=item + +6. I<$buf_position> is an integer indicating the position in the +object's input buffer where the option takes effect. See C +to access the object's input buffer. + +=back + +=back + + +=over 4 + +=item B - log all TELNET options sent or received + + $fh = $obj->option_log; + + $fh = $obj->option_log($fh); + + $fh = $obj->option_log($filename); + +This method starts or stops logging of all TELNET options being sent +or received. This is useful for debugging when you send options via +C or you arrange to accept option requests from the +remote side via C. Also see C. + +If no argument is given, the log filehandle is returned. An empty +string indicates logging is off. + +To stop logging, use an empty string as an argument. + +If an open filehandle is given, it is used for logging and returned. +Otherwise, the argument is assumed to be the name of a file, the file +is opened for logging and a filehandle to it is returned. If the file +can't be opened for writing, the error mode action is performed. + +=back + + +=over 4 + +=item B - send TELNET option negotiation request + + $ok = $obj->option_send([Do => $telopt,] + [Dont => $telopt,] + [Will => $telopt,] + [Wont => $telopt,] + [Async => $boolean,]); + +This method is not yet implemented. Look for it in a future version. + +=back + + +=over 4 + +=item B - get current state of a TELNET option + + $hashref = $obj->option_state($telopt); + +This method returns a hashref containing a copy of the current state +of TELNET option I<$telopt>. + +Here are the values returned in the hash: + +=over 4 + +=item + +I<$hashref>->{remote_enabled} + +=over 4 + +=item + +boolean that indicates if the option is enabled on the remote side. + +=back + +=item + +I<$hashref>->{remote_enable_ok} + +=over 4 + +=item + +boolean that indicates if it's ok to accept an offer to enable this +option on the remote side. + +=back + +=item + +I<$hashref>->{remote_state} + +=over 4 + +=item + +string used to hold the internal state of option negotiation for this +option on the remote side. + +=back + +=item + +I<$hashref>->{local_enabled} + +=over 4 + +=item + +boolean that indicates if the option is enabled on the local side. + +=back + +=item + +I<$hashref>->{local_enable_ok} + +=over 4 + +=item + +boolean that indicates if it's ok to accept an offer to enable this +option on the local side. + +=back + +=item + +I<$hashref>->{local_state} + +=over 4 + +=item + +string used to hold the internal state of option negotiation for this +option on the local side. + +=back + +=back + +=back + + +=over 4 + +=item B - output line delimiter + + $chars = $obj->ors; + + $prev = $obj->ors($chars); + +This method is synonymous with C. + +=back + + +=over 4 + +=item B - field separator for print + + $chars = $obj->output_field_separator; + + $prev = $obj->output_field_separator($chars); + +This method designates the output field separator for C. +Ordinarily the print method simply prints out the comma separated +fields you specify. Set this to specify what's printed between +fields. + +With no argument this method returns the current output field +separator set in the object. With an argument it sets the output +field separator to I<$chars> and returns the previous value. + +By default it's set to an empty string. + +=back + + +=over 4 + +=item B - log all output + + $fh = $obj->output_log; + + $fh = $obj->output_log($fh); + + $fh = $obj->output_log($filename); + +This method starts or stops logging of output. This is useful when +debugging. Also see C. Because most command interpreters +echo back commands received, it's likely all your output would also be +in an input log. See C. Note that output logging occurs +before newline translation. See C for details on newline +translation. + +If no argument is given, the log filehandle is returned. An empty +string indicates logging is off. + +To stop logging, use an empty string as an argument. + +If an open filehandle is given, it is used for logging and returned. +Otherwise, the argument is assumed to be the name of a file, the file +is opened for logging and a filehandle to it is returned. If the file +can't be opened for writing, the error mode action is performed. + +=back + + +=over 4 + +=item B - output line delimiter + + $chars = $obj->output_record_separator; + + $prev = $obj->output_record_separator($chars); + +This method designates the output line delimiter for C and +C. Set this to specify what's printed at the end of C +and C. + +The output record separator is set to C<"\n"> by default, so there's +no need to append all your commands with a newline. To avoid printing +the output_record_separator use C or set the +output_record_separator to an empty string. + +With no argument this method returns the current output record +separator set in the object. With an argument it sets the output +record separator to I<$chars> and returns the previous value. + +=back + + +=over 4 + +=item B - remote port + + $port = $obj->port; + + $prev = $obj->port($port); + +This method designates the remote TCP port. With no argument this +method returns the current port number. With an argument it sets the +current port number to I<$port> and returns the previous port. If +I<$port> is a TCP service name, then it's first converted to a port +number using the perl function C. + +The default value is C<23>. It may also be set by C or +C. + +A warning is printed to STDERR when attempting to set this attribute +to something that's not a positive integer or a valid TCP service +name. + +=back + + +=over 4 + +=item B - write to object + + $ok = $obj->print(@list); + +This method writes I<@list> followed by the I +to the open object and returns C<1> if all data was successfully +written. On time-out or other failures, the error mode action is +performed. See C. + +By default, the C is set to C<"\n"> so all +your commands automatically end with a newline. In most cases your +output is being read by a command interpreter which won't accept a +command until newline is read. This is similar to someone typing a +command and hitting the return key. To avoid printing a trailing +C<"\n"> use C instead or set the output_record_separator to an +empty string. + +On failure, it's possible that some data was written. If you choose +to try and recover from a print timing-out, use C to +determine how much was written before the error occurred. + +You may also use the output field separator to print a string between +the list elements. See C. + +=back + + +=over 4 + +=item B - number of bytes written by print + + $num = $obj->print_length; + +This returns the number of bytes successfully written by the most +recent C or C. + +=back + + +=over 4 + +=item B - pattern to match a prompt + + $matchop = $obj->prompt; + + $prev = $obj->prompt($matchop); + +This method sets the pattern used to find a prompt in the input +stream. It must be a string representing a valid perl pattern match +operator. The methods C and C try to read until +matching the prompt. They will fail with a time-out error if the +pattern you've chosen doesn't match what the remote side sends. + +With no argument this method returns the prompt set in the object. +With an argument it sets the prompt to I<$matchop> and returns the +previous value. + +The default prompt is C<'/[\$%#E] $/'> + +Always use single quotes, instead of double quotes, to construct +I<$matchop> (e.g. C<'/bash\$ $/'>). If you're constructing a DOS like +file path, you'll need to use four backslashes to represent one +(e.g. C<'/c:\\\\users\\\\billE$/i'>). + +Of course don't forget about regexp metacharacters like C<.>, C<[>, or +C<$>. You'll only need a single backslash to quote them. The anchor +metacharacters C<^> and C<$> refer to positions in the input buffer. + +A warning is printed to STDERR when attempting to set this attribute +with a match operator missing its opening delimiter. + +=back + + +=over 4 + +=item B - write to object + + $ok = $obj->put($string); + + $ok = $obj->put(String => $string, + [Binmode => $mode,] + [Errmode => $errmode,] + [Telnetmode => $mode,] + [Timeout => $secs,]); + +This method writes I<$string> to the opened object and returns C<1> if +all data was successfully written. This method is like C +except that it doesn't write the trailing output_record_separator +("\n" by default). On time-out or other failures, the error mode +action is performed. See C. + +On failure, it's possible that some data was written. If you choose +to try and recover from a put timing-out, use C to +determine how much was written before the error occurred. + +Optional named parameters are provided to override the current +settings of binmode, errmode, telnetmode, and timeout. + +=back + + +=over 4 + +=item B - input line delimiter + + $chars = $obj->rs; + + $prev = $obj->rs($chars); + +This method is synonymous with C. + +=back + + +=over 4 + +=item B - turn off/on telnet command interpretation + + $mode = $obj->telnetmode; + + $prev = $obj->telnetmode($mode); + +This method controls whether or not TELNET commands in the data stream +are recognized and handled. The TELNET protocol uses certain +character sequences sent in the data stream to control the session. +If the port you're connecting to isn't using the TELNET protocol, then +you should turn this mode off. The default is I. + +If no argument is given, the current mode is returned. + +If I<$mode> is C<0> then telnet mode is off. If I<$mode> is C<1> then +telnet mode is on. + +=back + + +=over 4 + +=item B - time-out indicator + + $boolean = $obj->timed_out; + + $prev = $obj->timed_out($boolean); + +This method indicates if a previous read, write, or open method +timed-out. Remember that timing-out is itself an error. To be able +to invoke C after a time-out error, you'd have to change +the default error mode to something other than C<"die">. See +C. + +With no argument this method returns C<1> if the previous method +timed-out. With an argument it sets the indicator. Normally, only +internal methods set this indicator. + +=back + + +=over 4 + +=item B - I/O time-out interval + + $secs = $obj->timeout; + + $prev = $obj->timeout($secs); + +This method sets the timeout interval that's used when performing I/O +or connecting to a port. When a method doesn't complete within the +timeout interval then it's an error and the error mode action is +performed. + +A timeout may be expressed as a relative or absolute value. If +I<$secs> is greater than or equal to the time the program started, as +determined by $^T, then it's an absolute time value for when time-out +occurs. The perl function C may be used to obtain an absolute +time value. For a relative time-out value less than $^T, time-out +happens I<$secs> from when the method begins. + +If I<$secs> is C<0> then time-out occurs if the data cannot be +immediately read or written. Use the undefined value to turn off +timing-out completely. + +With no argument this method returns the timeout set in the object. +With an argument it sets the timeout to I<$secs> and returns the +previous value. The default timeout value is C<10> seconds. + +A warning is printed to STDERR when attempting to set this attribute +to something that's not an C or a non-negative integer. + +=back + + +=over 4 + +=item B - wait for pattern in the input + + $ok = $obj->waitfor($matchop); + $ok = $obj->waitfor([Match => $matchop,] + [String => $string,] + [Binmode => $mode,] + [Errmode => $errmode,] + [Telnetmode => $mode,] + [Timeout => $secs,]); + + ($prematch, $match) = $obj->waitfor($matchop); + ($prematch, $match) = $obj->waitfor([Match => $matchop,] + [String => $string,] + [Binmode => $mode,] + [Errmode => $errmode,] + [Telnetmode => $mode,] + [Timeout => $secs,]); + +This method reads until a pattern match or string is found in the +input stream. All the characters before and including the match are +removed from the input stream. + +In a list context the characters before the match and the matched +characters are returned in I<$prematch> and I<$match>. In a scalar +context, the matched characters and all characters before it are +discarded and C<1> is returned on success. On time-out, eof, or other +failures, for both list and scalar context, the error mode action is +performed. See C. + +You can specify more than one pattern or string by simply providing +multiple I and/or I named parameters. A I<$matchop> +must be a string representing a valid Perl pattern match operator. +The I<$string> is just a substring to find in the input stream. + +Use C to debug when this method keeps timing-out and you +don't think it should. + +An optional named parameter is provided to override the current +setting of timeout. + +To avoid unexpected backslash interpretation, always use single quotes +instead of double quotes to construct a match operator argument for +C and C (e.g. C<'/bash\$ $/'>). If you're +constructing a DOS like file path, you'll need to use four backslashes +to represent one (e.g. C<'/c:\\\\users\\\\billE$/i'>). + +Of course don't forget about regexp metacharacters like C<.>, C<[>, or +C<$>. You'll only need a single backslash to quote them. The anchor +metacharacters C<^> and C<$> refer to positions in the input buffer. + +Optional named parameters are provided to override the current +settings of binmode, errmode, telnetmode, and timeout. + +=back + + +=head1 SEE ALSO + +=over 2 + +=item RFC 854 + +S + +S + +=item RFC 1143 + +S + +S + +=item TELNET Option Assignments + +S + +=back + + +=head1 EXAMPLES + +This example gets the current weather forecast for Brainerd, Minnesota. + + my ($forecast, $t); + + use Net::Telnet (); + $t = new Net::Telnet; + $t->open("rainmaker.wunderground.com"); + + ## Wait for first prompt and "hit return". + $t->waitfor('/continue:.*$/'); + $t->print(""); + + ## Wait for second prompt and respond with city code. + $t->waitfor('/city code.*$/'); + $t->print("BRD"); + + ## Read and print the first page of forecast. + ($forecast) = $t->waitfor('/[ \t]+press return to continue/i'); + print $forecast; + + exit; + + +This example checks a POP server to see if you have mail. + + my ($hostname, $line, $passwd, $pop, $username); + + $hostname = "your_destination_host_here"; + $username = "your_username_here"; + $passwd = "your_password_here"; + + use Net::Telnet (); + $pop = new Net::Telnet (Telnetmode => 0); + $pop->open(Host => $hostname, + Port => 110); + + + ## Read connection message. + $line = $pop->getline; + die $line unless $line =~ /^\+OK/; + + ## Send user name. + $pop->print("user $username"); + $line = $pop->getline; + die $line unless $line =~ /^\+OK/; + + ## Send password. + $pop->print("pass $passwd"); + $line = $pop->getline; + die $line unless $line =~ /^\+OK/; + + ## Request status of messages. + $pop->print("list"); + $line = $pop->getline; + print $line; + + exit; + + +Here's an example that uses the ssh program to connect to a remote +host. Because the ssh program reads and writes to its controlling +terminal, the IO::Pty module is used to create a new pseudo terminal +for use by ssh. A new Net::Telnet object is then created to read and +write to that pseudo terminal. To use the code below, substitute +"changeme" with the actual host, user, password, and command prompt. + + ## Main program. + { + my ($pty, $ssh, @lines); + my $host = "changeme"; + my $user = "changeme"; + my $password = "changeme"; + my $prompt = '/changeme:~> $/'; + + ## Start ssh program. + $pty = &spawn("ssh", "-l", $user, $host); # spawn() defined below + + ## Create a Net::Telnet object to perform I/O on ssh's tty. + use Net::Telnet; + $ssh = new Net::Telnet (-fhopen => $pty, + -prompt => $prompt, + -telnetmode => 0, + -cmd_remove_mode => 1, + -output_record_separator => "\r"); + + ## Login to remote host. + $ssh->waitfor(-match => '/password: ?$/i', + -errmode => "return") + or die "problem connecting to host: ", $ssh->lastline; + $ssh->print($password); + $ssh->waitfor(-match => $ssh->prompt, + -errmode => "return") + or die "login failed: ", $ssh->lastline; + + ## Send command, get and print its output. + @lines = $ssh->cmd("who"); + print @lines; + + exit; + } # end main program + + sub spawn { + my(@cmd) = @_; + my($pid, $pty, $tty, $tty_fd); + + ## Create a new pseudo terminal. + use IO::Pty (); + $pty = new IO::Pty + or die $!; + + ## Execute the program in another process. + unless ($pid = fork) { # child process + die "problem spawning program: $!\n" unless defined $pid; + + ## Disassociate process from existing controlling terminal. + use POSIX (); + POSIX::setsid + or die "setsid failed: $!"; + + ## Associate process with a new controlling terminal. + $tty = $pty->slave; + $tty_fd = $tty->fileno; + close $pty; + + ## Make stdio use the new controlling terminal. + open STDIN, "<&$tty_fd" or die $!; + open STDOUT, ">&$tty_fd" or die $!; + open STDERR, ">&STDOUT" or die $!; + close $tty; + + ## Execute requested program. + exec @cmd + or die "problem executing $cmd[0]\n"; + } # end child process + + $pty; + } # end sub spawn + + +Here's an example that changes a user's login password. Because the +passwd program always prompts for passwords on its controlling +terminal, the IO::Pty module is used to create a new pseudo terminal +for use by passwd. A new Net::Telnet object is then created to read +and write to that pseudo terminal. To use the code below, substitute +"changeme" with the actual old and new passwords. + + my ($pty, $passwd); + my $oldpw = "changeme"; + my $newpw = "changeme"; + + ## Start passwd program. + $pty = &spawn("passwd"); # spawn() defined above + + ## Create a Net::Telnet object to perform I/O on passwd's tty. + use Net::Telnet; + $passwd = new Net::Telnet (-fhopen => $pty, + -timeout => 2, + -output_record_separator => "\r", + -telnetmode => 0, + -cmd_remove_mode => 1); + $passwd->errmode("return"); + + ## Send existing password. + $passwd->waitfor('/password: ?$/i') + or die "no old password prompt: ", $passwd->lastline; + $passwd->print($oldpw); + + ## Send new password. + $passwd->waitfor('/new password: ?$/i') + or die "bad old password: ", $passwd->lastline; + $passwd->print($newpw); + + ## Send new password verification. + $passwd->waitfor('/new password: ?$/i') + or die "bad new password: ", $passwd->lastline; + $passwd->print($newpw); + + ## Display success or failure. + $passwd->waitfor('/changed/') + or die "bad new password: ", $passwd->lastline; + print $passwd->lastline; + + $passwd->close; + exit; + + +Here's an example you can use to down load a file of any type. The +file is read from the remote host's standard output using cat. To +prevent any output processing, the remote host's standard output is +put in raw mode using the Bourne shell. The Bourne shell is used +because some shells, notably tcsh, prevent changing tty modes. Upon +completion, FTP style statistics are printed to stderr. + + my ($block, $filename, $host, $hostname, $k_per_sec, $line, + $num_read, $passwd, $prevblock, $prompt, $size, $size_bsd, + $size_sysv, $start_time, $total_time, $username); + + $hostname = "your_destination_host_here"; + $username = "your_username_here"; + $passwd = "your_password_here"; + $filename = "your_download_file_here"; + + ## Connect and login. + use Net::Telnet (); + $host = new Net::Telnet (Timeout => 30, + Prompt => '/[%#>] $/'); + $host->open($hostname); + $host->login($username, $passwd); + + ## Make sure prompt won't match anything in send data. + $prompt = "_funkyPrompt_"; + $host->prompt("/$prompt\$/"); + $host->cmd("set prompt = '$prompt'"); + + ## Get size of file. + ($line) = $host->cmd("/bin/ls -l $filename"); + ($size_bsd, $size_sysv) = (split ' ', $line)[3,4]; + if ($size_sysv =~ /^\d+$/) { + $size = $size_sysv; + } + elsif ($size_bsd =~ /^\d+$/) { + $size = $size_bsd; + } + else { + die "$filename: no such file on $hostname"; + } + + ## Start sending the file. + binmode STDOUT; + $host->binmode(1); + $host->print("/bin/sh -c 'stty raw; cat $filename'"); + $host->getline; # discard echoed back line + + ## Read file a block at a time. + $num_read = 0; + $prevblock = ""; + $start_time = time; + while (($block = $host->get) and ($block !~ /$prompt$/o)) { + if (length $block >= length $prompt) { + print $prevblock; + $num_read += length $prevblock; + $prevblock = $block; + } + else { + $prevblock .= $block; + } + + } + $host->close; + + ## Print last block without trailing prompt. + $prevblock .= $block; + $prevblock =~ s/$prompt$//; + print $prevblock; + $num_read += length $prevblock; + die "error: expected size $size, received size $num_read\n" + unless $num_read == $size; + + ## Print totals. + $total_time = (time - $start_time) || 1; + $k_per_sec = ($size / 1024) / $total_time; + $k_per_sec = sprintf "%3.1f", $k_per_sec; + warn("$num_read bytes received in $total_time seconds ", + "($k_per_sec Kbytes/s)\n"); + + exit; + + +=head1 AUTHOR + +Jay Rogers + + +=head1 COPYRIGHT + +Copyright 1997, 2000, 2002 by Jay Rogers. All rights reserved. +This program is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. diff --git a/agc_2-X/branches/agc_2.0.5/extras/Time/HiRes.1.55.pm b/agc_2-X/branches/agc_2.0.5/extras/Time/HiRes.1.55.pm new file mode 100644 index 00000000..f0bd2008 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/Time/HiRes.1.55.pm @@ -0,0 +1,351 @@ +package Time::HiRes; + +use strict; +use vars qw($VERSION $XS_VERSION @ISA @EXPORT @EXPORT_OK $AUTOLOAD); + +require Exporter; +require DynaLoader; + +@ISA = qw(Exporter DynaLoader); + +@EXPORT = qw( ); +@EXPORT_OK = qw (usleep sleep ualarm alarm gettimeofday time tv_interval + getitimer setitimer + ITIMER_REAL ITIMER_VIRTUAL ITIMER_PROF ITIMER_REALPROF + d_usleep d_ualarm d_gettimeofday d_getitimer d_setitimer + d_nanosleep); + +$VERSION = '1.55'; +$XS_VERSION = $VERSION; +$VERSION = eval $VERSION; + +sub AUTOLOAD { + my $constname; + ($constname = $AUTOLOAD) =~ s/.*:://; + die "&Time::HiRes::constant not defined" if $constname eq 'constant'; + my ($error, $val) = constant($constname); + if ($error) { die $error; } + { + no strict 'refs'; + *$AUTOLOAD = sub { $val }; + } + goto &$AUTOLOAD; +} + +bootstrap Time::HiRes; + +# Preloaded methods go here. + +sub tv_interval { + # probably could have been done in C + my ($a, $b) = @_; + $b = [gettimeofday()] unless defined($b); + (${$b}[0] - ${$a}[0]) + ((${$b}[1] - ${$a}[1]) / 1_000_000); +} + +# Autoload methods go after =cut, and are processed by the autosplit program. + +1; +__END__ + +=head1 NAME + +Time::HiRes - High resolution alarm, sleep, gettimeofday, interval timers + +=head1 SYNOPSIS + + use Time::HiRes qw( usleep ualarm gettimeofday tv_interval ); + + usleep ($microseconds); + + ualarm ($microseconds); + ualarm ($microseconds, $interval_microseconds); + + $t0 = [gettimeofday]; + ($seconds, $microseconds) = gettimeofday; + + $elapsed = tv_interval ( $t0, [$seconds, $microseconds]); + $elapsed = tv_interval ( $t0, [gettimeofday]); + $elapsed = tv_interval ( $t0 ); + + use Time::HiRes qw ( time alarm sleep ); + + $now_fractions = time; + sleep ($floating_seconds); + alarm ($floating_seconds); + alarm ($floating_seconds, $floating_interval); + + use Time::HiRes qw( setitimer getitimer + ITIMER_REAL ITIMER_VIRTUAL ITIMER_PROF ITIMER_REALPROF ); + + setitimer ($which, $floating_seconds, $floating_interval ); + getitimer ($which); + +=head1 DESCRIPTION + +The C module implements a Perl interface to the C, +C, C, and C/C system calls, in other +words, high resolution time and timers. See the L section below +and the test scripts for usage; see your system documentation for the +description of the underlying C or C, C, +C, and C/C calls. + +If your system lacks C or an emulation of it you don't +get C or the one-argument form of C. If your system lacks all of +C, C, and C, you don't get +C or C. If your system lacks both +C and C you don't get +C or C. + +If you try to import an unimplemented function in the C statement +it will fail at compile time. + +If your subsecond sleeping is implemented with C instead of +C, you can mix subsecond sleeping with signals since +C does not use signals. This, however is unportable, and you +should first check for the truth value of C<&Time::HiRes::d_nanosleep> to +see whether you have nanosleep, and then carefully read your +C C API documentation for any peculiarities. (There is no +separate interface to call C; just use C +or C with small enough values.) + +Unless using C for mixing sleeping with signals, give +some thought to whether Perl is the tool you should be using for work +requiring nanosecond accuracies. + +The following functions can be imported from this module. +No functions are exported by default. + +=over 4 + +=item gettimeofday () + +In array context returns a two-element array with the seconds and +microseconds since the epoch. In scalar context returns floating +seconds like C (see below). + +=item usleep ( $useconds ) + +Sleeps for the number of microseconds specified. Returns the number +of microseconds actually slept. Can sleep for more than one second, +unlike the C system call. See also C below. + +=item ualarm ( $useconds [, $interval_useconds ] ) + +Issues a C call; the C<$interval_useconds> is optional and +will be zero if unspecified, resulting in C-like behaviour. + +=item tv_interval + +tv_interval ( $ref_to_gettimeofday [, $ref_to_later_gettimeofday] ) + +Returns the floating seconds between the two times, which should have +been returned by C. If the second argument is omitted, +then the current time is used. + +=item time () + +Returns a floating seconds since the epoch. This function can be +imported, resulting in a nice drop-in replacement for the C

+ {elseif $keyid eq '13'} + ++ ++ {elseif $keyid eq '11'} ++ + {elseif $keyid eq '15' || $keyid eq '16' || $keyid eq '111'} + ++ {elseif $keyid eq '11'} ++ + + {elseif $keyid eq '15' || $keyid eq '16' || $keyid eq '111'} + {foreach item=arr from=$keyoptions} +--- ./vtigerservice.php 2009-01-26 20:13:22.000000000 -0500 ++++ ./vtigerservice.php 2009-01-26 22:16:02.000000000 -0500 +@@ -42,6 +42,58 @@ + } + else + { ++ if(isset($_REQUEST['VCcall'])) ++ { ++ $CL=':'; ++ $server_name = getenv("SERVER_NAME"); ++ $server_port = getenv("SERVER_PORT"); ++ if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} ++ else {$HTTPprotocol = 'http://';} ++ if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} ++ else {$server_port = "$CL$server_port";} ++ $URLbase = "$HTTPprotocol$server_name$server_port"; ++ ++ global $entityDel; ++ global $display; ++ global $category; ++ header('Content-Type: text/html; charset='. $charset); ++ session_start(); ++ require_once('include/utils/utils.php'); ++ require_once('config.inc.php'); ++ $default_config_values = Array( "allow_exports"=>"all","upload_maxsize"=>"3000000", "listview_max_textlength" => "40" ); ++ set_default_config($default_config_values); ++ require_once('include/logging.php'); ++ require_once('modules/Users/Users.php'); ++ global $currentModule; ++ $current_user = new Users(); ++ ++ $log =& LoggerManager::getLogger('index'); ++ global $seclog; ++ $seclog =& LoggerManager::getLogger('SECURITY'); ++ $log->debug($_REQUEST); ++ ++ // Check to see if there is an authenticated user in the session. ++ if(isset($_SESSION["authenticated_user_id"]) && (isset($_SESSION["app_unique_key"]) && $_SESSION["app_unique_key"] == $application_unique_key)) ++ { ++ $log->debug("We have an authenticated user id: ".$_SESSION["authenticated_user_id"]); ++ $result = $current_user->retrieveCurrentUserInfoFromFile($_SESSION['authenticated_user_id']); ++ $log->debug('Current user is: '.$current_user->user_name); ++ } ++ ++ $phone = $_REQUEST['phone']; $vendor_id = $_REQUEST['vendor_id']; ++ $user = $current_user->user_name; ++ ++ $VCapiURL = "/agc/api.php"; ++ $VCpauseQuery = "?source=vtiger&user=1000&pass=1234&agent_user=$user&function=external_pause&value=PAUSE"; ++ $VCcallQuery = "?source=vtiger&user=1000&pass=1234&agent_user=$user&function=external_dial&value=$phone&phone_code=1&search=YES&preview=NO&focus=YES&vendor_id=$vendor_id"; ++ $replyP = file("$URLbase$VCapiURL$VCpauseQuery"); ++// sleep(1); ++ $replyC = file("$URLbase$VCapiURL$VCcallQuery"); ++ echo "$replyP[0]|$replyC[0]\n"; ++// echo "$URLbase$VCapiURL$VCcallQuery\n"; ++ } ++ else ++ { + echo "

vtigerCRM Soap Services

"; + echo "
  • vtigerCRM Outlook Plugin EndPoint URL -- Click here
  • "; + echo "
  • vtigerCRM Word Plugin EndPoint URL -- Click here
  • "; +@@ -49,6 +101,7 @@ + echo "
  • vtigerCRM Customer Portal EndPoint URL -- Click here
  • "; + echo "
  • vtigerCRM WebForm EndPoint URL -- Click here
  • "; + echo "
  • vtigerCRM FireFox Extension EndPoint URL -- Click here
  • "; ++ } + } + + +--- ./include/js/dtlviewajax.js 2009-01-26 13:59:25.000000000 -0500 ++++ ./include/js/dtlviewajax.js 2009-01-26 15:02:33.000000000 -0500 +@@ -293,6 +293,9 @@ + if(secEmail) + secEmail.value = tagValue; + } ++ }else if(uitype == '11') ++ { ++ getObj(dtlView).innerHTML = ""+tagValue+" "; + }else if(uitype == '17') + { + getObj(dtlView).innerHTML = ""+tagValue+" "; +--- ./include/js/general.js 2009-01-26 14:14:11.000000000 -0500 ++++ ./include/js/general.js 2009-01-26 21:26:31.000000000 -0500 +@@ -1768,6 +1768,54 @@ + openPopUp('xComposeEmail',this,url,'createemailWin',830,662,opts); + } + ++function VICIDIALcall(record_id,field_name,phone,user_name) { ++//alert(record_id + "|" + field_name + "|" + phone + "|" user_name); ++var xmlhttp=false; ++/*@cc_on @*/ ++/*@if (@_jscript_version >= 5) ++// JScript gives us Conditional compilation, we can cope with old IE versions. ++// and security blocked creation of the objects. ++ try { ++ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); ++ } catch (e) { ++ try { ++ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); ++ } catch (E) { ++ xmlhttp = false; ++ } ++ } ++@end @*/ ++if (!xmlhttp && typeof XMLHttpRequest!='undefined') ++ { ++ xmlhttp = new XMLHttpRequest(); ++ } ++if (xmlhttp) ++ { ++ var VCcallQuery = "VCcall=1&phone=" + phone + "&vendor_id=" + record_id; ++ xmlhttp.open('POST', 'vtigerservice.php'); ++ xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); ++ xmlhttp.send(VCcallQuery); ++ xmlhttp.onreadystatechange = function() ++ { ++ if (xmlhttp.readyState == 4 && xmlhttp.status == 200) ++ { ++ // alert(xmlhttp.responseText); ++ var Xoutput = null; ++ Xoutput = xmlhttp.responseText; ++ var regXFerr = new RegExp("ERROR","g"); ++ if (Xoutput.match(regXFerr)) ++ { ++ alert(xmlhttp.responseText); ++ } ++ else ++ { ++ self.close(); ++ } ++ } ++ } ++ delete xmlhttp; ++ } ++} + function fnHide_Event(obj){ + document.getElementById(obj).style.visibility = 'hidden'; + } +--- ./include/utils/ListViewUtils.php 2009-01-26 10:42:14.000000000 -0500 ++++ ./include/utils/ListViewUtils.php 2009-01-26 18:54:39.000000000 -0500 +@@ -1291,6 +1291,11 @@ + $value = ''.$temp_val.''; + + } ++ // VICIDIAL agent screen phone number click to dial ++ elseif($uitype == 11) ++ { ++ $value = "VCcall: user_name');\">$temp_val"; ++ } + elseif($uitype == 56) + { + if($temp_val == 1) +--- ./include/utils/UserInfoUtil.php 2008-12-31 21:39:39.000000000 -0500 ++++ ./include/utils/UserInfoUtil.php 2009-01-01 01:20:17.000000000 -0500 +@@ -1175,6 +1175,18 @@ + global $adb; + global $current_user; + global $seclog; ++ if (!file_exists('user_privileges/user_privileges_'.$current_user->id.'.php')) ++ { ++ $up = fopen('user_privileges/user_privileges_'.$current_user->id.'.php',"a"); ++ fwrite($up, ''); ++ fclose($up); ++ } ++ if (!file_exists('user_privileges/sharing_privileges_'.$current_user->id.'.php')) ++ { ++ $sp = fopen('user_privileges/sharing_privileges_'.$current_user->id.'.php',"a"); ++ fwrite($sp, ''); ++ fclose($sp); ++ } + require('user_privileges/user_privileges_'.$current_user->id.'.php'); + require('user_privileges/sharing_privileges_'.$current_user->id.'.php'); + $permission = "no"; diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/0.gsm b/agc_2-X/branches/agc_2.0.5/extras/app_conference/0.gsm new file mode 100644 index 0000000000000000000000000000000000000000..8c57c4117ffddedb818b6b0e6b4e15364ce9ea05 GIT binary patch literal 429 zcmV;e0aE_ec#AgtP%`nIJarvX3!dC=Hygf02+C$7Qtm@g*lbiN)p&b5Gw{PSTNpT( zsUwQagC!bO!lPN~;^|d_K3+1L4%K;M{_=SO8q|WPA@L!ZQ^PYT?_trIuwtss;dJ9% zX6My-p#5M?F!<|ASQS*wpO`{5=B9fOL!x^;k(!K+w*$>jzdKhABj3EyYpIJ zN{j8k##CptM-;e@YBS8`h%9_EoZ)Qo9SzUnU7^$rS2Zv1d50FHpU&cv*XhUPW`iCJ zvaS+y`~}`J>_svekPOxKs75}gF|y#KNO(YgUYatxpZP=LB}N-G%Y0}2FknO8vR@q@ zfS3`dlO4=u=AIAx+up+|$vvV!sj`s~rO0Fk<`D}}=RH^9hOl2FcjJ8ezhwd4BuaJm zec@BU-t)bz&m^F%jb2ANJ8^5Ag~Sj>11pT*s>57+*efzMG2SteR3Ni^PQ+eG9ibN4 ztp>Y&7Ep~o<8B&r1xh2!;*Obwh;N|cV>;bRNA5X-D zLxFN_Rp%Z{edM^fG9k}>Pe6=7P8vjw zhr3>*si`y42%)Uu6Kanw5<45e*{5_ZL+O~CqauO*eT~h_h7K_1h|?fy|ZFb*+uLtBV`g@dnK&o|0E!XqHKIqsCN!#N04Y! zSZ)B5c*_!w;Zyr=H^yrggr#OJOQ}b_QlD4dbbK2UBwh-Zd+4Zhv@#lVV!0~VzR^+7 zEzGUq&9W(5Iy)Q?hW#iy2Fx9=94`fy;Lk#6!y|(SNlrke?oO>io-e6%+5vzG%|+ZG zZ6n%Un^YCOVF6^~?(8y#*ibK7s%QZCaRa;|tYnODiwa)Cj6%c_$LL&efj}e(2ex$Y zY?K%_G5ndF_$;_mt<}DOQbY3bM(=gc1AI$l8I3Yd=+w0@f!-u6$gO2>HcgUUP~Hr@ zioC(v3=E9xd?K(F_lsklT4uP7Bd0zPE&zX2;u`a{E6L>4WjsIPf5Ww=a#)FJ@^2i| zI~k-e;udh|9%S3P=4g8_FCk}R^j62C?kDOm{SZYKx&jt?i?Jr!wa`xMnywSQ6~M~0 zCE5MtaLxV?Th+hgcg9Arvye1E5~Ip_t0>#n$vza%UraIHgH^gU&U+ZOzxN1F~2P!>$CnJQq=C zNOYr>CjMEv5;$FFZ%_&VA?Wr+AA%;3 z?PD>b<8s2z83|2)bWcOy6VA_)kp}b+JIahj*vWJ?f$jUm_XfO4?L?UjgH=J`}djK_AW^r=u&8QpZJ0IASXkGJp$`?u#5r&@1Uc>=M*jN%V4&A0`At}(_?1p~1~>8bRe47VD-=-Pw^QW{b|4aplhsC(u#VahShp4HCl z0GHhz?M1b!wl%#PoWYcf?MdB!QqO27%h5=wWz57jK+|DG$fu;~-hA~!l@mJ7AJ6`g z{d%P4LqmrSE{+Yv83?CsN{io@hPmWdnd{B3&|mP6B|gOO?`>;{*W9J7$lRX9Kt0qJ z^&fH-5^fM6|8dWAG>UbYL7$l3Q`{Eoc*t|*QhC>Hd9C`c{E57Xf7p4rShp79W52*p za~JEV1An1166a+cB_C9ezxSz@g4rqC6ZT?&k#6H=?_4Y$amGI1@f>X9?TI-K8#X!_c^EtrbA;%zej=3GP;2#RAcp8D3qO>b=Lcr{`Pr^xX} zq1H`?dF1ur#fcr>OQ4-)?(Zn~i`Z%jYe7 zJDTCLl&{4g-8{6Y{k47p@Q6M@iiDHA3$X#p6zr4{VmEuxOnNRlo3;!X??irhU~Hjo z6L2GJK7wWC_-o)Us?q+H@zi)FV<@GFqp|I2`n=_=r$7EsW;CzFl^yA|1l1KgM_O9k!D}_Z~nv?ypTkNAL$yEkxn35o;}9Rwmp{mTW@*{ zF~<|%l0%$J%x|D<%*&v0Ol#^xER1=WSW0ARvm2i(?-AZ*V1yNTlzyp-Yx@kpjmSc5 z@hFhXX-dZJ0Iu&ddEICUdu?u9LagUgxx8(%i^ObN;!jMW<(B@cpv^# zfmYNxndB$odO!mig0slA+Y=79fGU1?xzl$1hINg@fgP=81ZxTk>AaE;!#?ns;>Qpnok)posU zt+4BPzvfnR*V`w{H}-6sILYL)R%70~ss0~9E7rTkTT9&bWm<8l2L>k*ZBsqts$1{}&HVY3X0@{ezT4oE$)T zW3fKkRq`aq;jXEQzy3SJU&Lg_UV}qAuDT3ZW7^m)z#~VJ=RVqxdF_0nZ!oP1Igm1t z!~^bhY8yfaJ@kr<+q`Ff>_FL2ntvv~4$<#i>X}L8a4#?+$5(QJyw3A5;YJR?E*$-> zt+xN?;01;}YK>CU0)SH&JU+V3k%SCG z%g5ghcRPL$t4#Wb%k%szb4wrFSiGLB>6{d2es8G(hH1nh%m8#~Vl>nkIh}OO49U+a zr=Tl^@3S4`Qti8DmhL?6GUo{Walqwz3GW7H0?C$n>VnZ-)WnRXiFo+F9F{yVDh2X|BQWT6m-5Cm`3i&qzPjISy!<%Y50EFuW=Cly6@ze5emWjkd4+ihE?Mo%$Bsb zoO+u~s%*LIX^Be_RWjPgzE+Q#w8)3x>p-pRDttLSDQ0Vk)-bu**?WhuDs!G_7U6Us zOCB=3AmoS0{Uog~=-GprPjn)_9U`a{)(+OutZ(A?x@%kBH=FDuQ8mf!G{-n)q|em~ zY(w##W#$ooMdV;&Y%d}IS%f(wwk8X@&(YN=v(nRVu{mgsq%GUM&M)S`jG*|K3;Un zZIWBFs$s5bKOs6DPI-YVG+gU%win@Q2o8UNdmXTtc{QRmU{PkZP8!`9H7(Z`f5#nc zyW6pJ{5(C6O$Oh3?s+9x0pSPeJKbH496lG%$~;ML8bCCj?1q55f=2=ue)*_ics=w2 z;|#vF7uh(t6}+|ly{Hq4a}t?B%)BM$CmQ@Xl~+j~Ur9Poeu`KFZACqx{vD=pi4lWw5#L5KHl*J%bHNBxuvx4$# z`o4tiNZG)=0Ty%^e+0eCo#r0FKjrjASRhk}zU3qPd7e6VGS^}|&^}A~W&+1(p}j(t zdnO0_L$48}ju)yBO(|eV9?B$8wy5Vf^7=|Zp5Q)j0{~c*Rzh$C=6kQvG}%@iI+{=w zy91uuPWkZMlpe(ri(^?(T<;96bix~Y5p0~e3&D7H#N05gEwQ7zTLT|UF3*|4Ko8Do z-r08nkaGTtV58Q!u1|#GAOAP16`J1RS)t)+p5!Fpqb_^H$Aey4iSPoq#9ut99C-)p zu(j~_cD83Rc>}*V;x9);>!a3do}GfcoY|54MjJY~+Unp8S`$eH|LFB%mQf4A2ctK- zZfQ4xc^UQ$Cs?3L{cuEYB%0!Fk=FvZtOesmz;1x$Bn@qMIH_@|4|s3gb7im;w6Ev3 oWdc!0oOS(TqcBJf5u?_-xxQQEe$GMibklv=GsS9jmC%&+|5D}*g#Z8m literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/1.gsm b/agc_2-X/branches/agc_2.0.5/extras/app_conference/1.gsm new file mode 100644 index 00000000..7f6c842f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/1.gsm @@ -0,0 +1 @@ +8z*PScOȪP,r)" +E<7j2h#8誙B,65Cb (Ra.4WFR2) 8z.hK]%Mq]ͷM] %ty\ ,Yc:Sd<,iUK:B.eZ%Vn*䡝QE!t+DC5сWETbok]bcCzՔ.46_M]]Dbv])`]kʜ_uY]UU2Fr.]MtZld]C]6]Y[.jR=_a 뭺_ܭ1Z]r2բ)6A]](,Q]\gS4a&Q2c>v\udI$P`u \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/1.wav b/agc_2-X/branches/agc_2.0.5/extras/app_conference/1.wav new file mode 100644 index 0000000000000000000000000000000000000000..e5f5359a294a5900b1b74f9df930ece805b3e34b GIT binary patch literal 4100 zcmWN{XIN8*0)XL@y%Q3W03jq{g%uLO09C1qs4aC?oGlKlIBK=lxaETG_pAy`{S$SG5H{Jz+e@j5*^rc?M9ClozOeow9R^=z+z} zcqYtBm*C3{^M}2L??VE_QTMOv1*%zrIL=4msuU*_8~|FXq%PkhvN#L`Y_5XPBif7j z-=nU$&WK9tK1mNFP>JV~Ux(YliMFgjIc_|r#eP#P6G^o#_!Mqwp3oe(G)&J4EBv29e zir>l%g)W)oHXYP~KJ80V9_hWTI)trDFUeWVI_hc>?-z%epTJk5SNhJHZaMA|?k0P9 ze^Rz+YMT;UUAhY5C~F!WfU-OgNOpKwqy!$LoY&mb`N46IwLj|&_Y~^9@uGI7rxo!6 zGS&21+N&T!_1yWnnnZD6)&N6PrP>0VBs@l3bfr6^s=Uo?YI(=yWO*^T=?flhm=%xHy75=6ilEsn(=doHf>l9B{L{NVQ0L7o5*}Arz$D zL@ts~Y;78N?ERVa7ij|U+1VA`LtCE+V?OcnyU*3dOO8Nu;!=~v;WvFQTWat!J{Onh zY!lz_IHi`8oEb^Nqmd8ov*Z?~&YgoQ zw@-Rfa=^3!whSfr#v2XRDfo%WW&AvPfgz!#w8fy=i~G!!P#;17&oPK4d;;S-im&Qw z&TFSxI~i9qOL^hX(CDMY%PWQRc5S!MX9tF zkLXRwKqq{I`{_vZ@M=#r^RaMT`fChhcwgJ!k~;S%0*fdPzHt-=_tAE9FR(uO^Ltfa zuJoM?_OJ)I+o`<3w+?EkjG)1DWi9}#@2=w^~cs3doK8-%+kbfX<0$1!yD=)J|gyeT#~1)6Ngr!U+~I= z8Yap+Pw{00bni!837s(NlMsLI%2!KbGvaNHj~+v|6Ph_vE-I5w05nNqxr2$5fvv-Hr5}xaXeZ*T zN2gt8I*5)+x}RCb#M`kQ+NS3tlaQRK?cu|aah|zQ3oU_Fj<3}gxA0rm>K;(t=?zJP z_%F70qYI2hKZ5m{8pZPm;=L7|E4lqV82XV?+@n_>@>gTppb&e9=`Ns;spmU5U-_ALZeQd(lFT+N>TEiyyhb>m{zhqplduncQ2O75yX2iMas1eu(tbVVMKGvVK#sacYv-6EH(lgz8ymH#6nNd zd)RA9WW(33f~J?FzmUiC4kT|T?r~O`)jknA0AFT4AkG!%I&Z|B&RNTc;Kr*@_Z2HI z`ts1*A*HrE#>mjOF;fMj@$z77Ut|4mVqQQQX^KYU62PfGHBKLuMLF;I(q(Og4^?B* z(u{)V5w|@^-8gF*qySmuaSd-6C^Iu??O8EnTEj_tLU*QQgI$b1iT&9>WMP6u;nm6W zxSNp+Wl!svqJ7Rw5!2$A(|jSc`zd4sc@brv|ATa(xm;2M`IK~A_?B}jcv1Zyb&_Wo zUK&yv-VdJF*WsV?W@JmEake9(q0X1Obx0_=4;kgjcFQo0oXLra1gUCAqq6zAflWP= zw3+;+7)rU6{Dc(do@eRu7hD=<;?O8}`X+koc6hg7Z;rAV=R}eFU*0KY0=r(*Bu-D9XgFtHR<4 zk?BB>N^G*aP=%OZeBW459v;P-aw=JfT``o>!0Fgw>!xzzCedyKU2Y6?1!W!edQdF0 zH$CYC16LA@gfrsmfoSa!O}&SY5CT6MHpwL#5oRaPl0A;S&PnV^79G>L;PXh|BmZ?> zaV@|EIJ=Tgg#p^QCQFk-JBJ*_?PFD=(p{^(x6r|`R#^6EamSzC_0DGYhwOy31?bC&}JyaB}9&?`M&MpIuy zB2r6pPR4?s&wblOM@H{KtpqG$yerO$LVp)ql(IHF$xzc=*Z7ATPaK<|VC_U7cR%%( zU>;KhNQ`z(N2Msu_Kf*X*q2s;lk3k6Up5T^2*g&`Z>pmzK?sa}m#t6Q45^WDTW`oW z2X2xtlZrw_*LvXVh&u_KNUlTGA+Osik3}UUu1z{j=7T~zDs%$B8?)ZFqW`MsYkecN zbj-S}iPS0PEz&`Tdz~z=gCDfOZ|H8P#c}3h7}kUs)328Ogo*$rz>j?G<~aLQjT-rIFa{X2v}$cINb-`L+HOJdKY zMn`B&yjDizIVBrc6t|!C8NJfu1>3OSQlFw<=vH^k>0p`1MOBaK;vFN*Fnv(^OiLlJ z;o+{IM)oRee9t)3vS+3K3jbRsZ-vV;e9uW|2`_^h=U_-f=Ww&5-?&eScGfME0`Nm| z=eTz%a?ov`6rvLGxKH-9{t2D&niFJIX5^T#hDl<(o>;qpTn;{qU8zjeuYk(76XReH! z1Q29Z-M_1?p)0sZ*j@+UwhZx_vy+Eo?6Fzewl&la7of?U)|h+@*Sp?Vj!U9X!d4mn z>Uh!iQO~D;$-JKai4&+VPJ9 zZH`r;g%Nv`Ud8A^LQip>vwu6##JQb#lalB6IQ|9J6Bpp2&Ma|3J6(01C=vW9Oo&?R zm_Jmj+TmS**bxK`8%M$&PiVI?iZcqr>QvP&k=YG5%X}_{?m##qKcs=#Mfz~IZ1IbzUA^7=>hX3*j>aFw^J8w zEyr(5u?Y4=w+Y56|tfM5-mjmfj3 zjZHo=Y9sWW{-78y-y2w;@HzKWiVnJKu(~H%y(yT19f7>E&9_X4k8*tJA*S0Y?HH-& z4f^0EF;|%%Ff+V&d}iF~2rC{iP3ttaXh+K^?2Ov@B&8QUQlP`JOrAHdoDAMMov13fwUAjcor-$$sM+_y9^hs90I4Zq@_ptBL`1OA(66Ym)=>&Fu4T%?k=he&NnIu8 zx47!?^C-3Fq4#fmc*JW*C<-UO|I1MW7>anq03p?ir5Jqxqk?6L77zFQx*2E~W-L*;vv4Y#```$Cc!^r4fa- +wCY 藡J,FsͮZx<>_"q- ) *Ƭs Psv_cgβrG$R 埗Y \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/2.wav b/agc_2-X/branches/agc_2.0.5/extras/app_conference/2.wav new file mode 100644 index 0000000000000000000000000000000000000000..c3e9edd97f771d36d77ca1a4cd0958b628209a3f GIT binary patch literal 4018 zcmWNRS6GvW0zk9=Y{-HPLJ|lGAqkMM#aTrhwRKk9RuAMmaaUT=I*L`R zIB`^5xENst5)wuN2>}9u?7eTl^LD=Td=}20G2;#n1X?n+Ab-PmJL8BT5D5GqpRquo zLz6)u2nhe5`DX3TwLkw?y$r{*i_%?mdO$ul(|ZH89r)JpdAq$+1e(Ne$W+JpUFAao zTRSWXx@HtmwrezqDXG+~N=kv{R$rX)JXi;rXxgBDs2`4qNH=F(A@mFvcGV8Q1ucYe z?T>U}({Yj@10~MFME1{ z(@KJkauYN9RoojK;7<&!#V0Vqkq7nT8&X>#gQ`G*&kiD_6P0fOogb4m{IRh z%S7<9IFG21e!x`TyjFVB!j61E5Q2P;XsCo)DX1b9>$f&A+r~M6j>@CnhkbJY0l7yP zax9qH+7Gn{WNKdv9n74DGJ4*E^2u8mi-40VeJxk{60Bk0PN>IN-PGVpd^|ZXe4zWE z`mfc;QIUdEJU+(cz(Ouf69_7(W zGLP_2!>1V_qo0SCBaXQbs&^@u*ppe4b7myzKzQBdff{c$km_yIPVTk)syNo1W1Io+ z_o}SEH?C}WTHvGJJ;(*O^VVdCnB_K6hpLj2vrsP()Hsnz)7x}A~?;zPHacr9R9AAScbwH5XLtSf}i zO-adC(tb7H>DoHDAh;FS;<_|IHO#|)FLGwUNcZ$M*$yos2th>#_K%*hyvK<}>QpDj z(YL>4ye1+1F(M8!!}^(PA+b7nCLa%*(luXlR&yJAnxscga$~$?BA9=cjSj@fPS*SS z=b=`|#7DCH?|oQ&e?m`8w)1Jrs`?bY1NR}WnY1a`qv#W ziWW-Wk%SAcQ3hL=3`+n5wmh)iJnFwle=b6?11?S*wK>o56`D^pKsKlwz(H=7pc#*HOP!@sF|_x!?Fiow=QRt)C$d zLT6Z&22+@y@Iz)fYnSa_+cNnh>ml?t)LHjL%PQ#R1iUz!`q;3ti6>j&*p92gT@R9- znZSK(Oo#f=b*@ho;5e37RTQa}yG zE&;>3&eoQ84*}aa)$!d(iaQvZMVu222|QJNQGZF=Wb`F`wDwQ zj*7E9IJrMKBns33F4uewR1*w!@se|n$9?14*Rxprz&jNl;&RCKdK zzY(dJzdY%#A0sLgYZB+c-gXM>>r`cs^VDO6?}CxuF-#eI4=X2_D6gp1^rfS8tf!QF zAdWW=)e_5~qFjB_+M#jWXo6*_19!QV?VgSek1e< zH;8_36i8F0&Gu?meHx#2F|^;b&9eigh8K;&WXBXv|G~s1ncp&wdhx?Its}5)FsKo# zY*5!jTZERZ#WB_)>kdHcVH3;vFgfWZSLQj1!T+>{!XzLQjLT{c|f zE2DV6Oq3W5dXDUo~TK<{K{G&*-Rc`)o{)_=G0=V$Il4 zBy)=RI`c2vnbs4nH;rg)96=14=#YWZ89w136#S@4vZ?if^)T@sB@QliUjyHbxx>xE z#SDI5_du#}-KRA&PoXuQdEvz9M&<`(R$q1PTKV?iiMYoJ*%3hxFCf6Lp!9*Ys@HX- z?t{QiUU8BoVyJpS=rB=LkHuP`IQs0Z72dzeZeUvZ# zU*RbfbnFkqir_dT&ihlZy(4J0(C=qY7OaL%8vJ`;ndc@T_bK~Nspq=W<7ea~^L`1k zdrNz_INt%Qg1-%~9iW8t9C%JV`<#oa{HLqg&P3?IIP>p@V(7}mx{TNK-%S0|I|{9X zh^a!9JKHQ(a8_cYNKInt=QZx@*y8r!nu;VqH`V$IPKt?7<<$?0t z#}LO@H`u#jqVC+ z71|}N^;s7Z)`mNV`%Og<3B2DL(*^6E?w_7W$k`Ns*lX7QJF+;006Ogvy=@vD?)wp3k4ctqY44#q}ah7JLP5 z4Q|9A_SQrSIA<6lFRIN~CmMK)CC3#;RfoRvp2OgoSIF0GzGivDqY)WtQ{pn}u`u6# z5B@8q8h6cjxcPFE%A%mpNv6?DLk9b1FrQ#Y%`|j3)7o(!ctVp{PXEhKG3k73F{^-; zBjmP%t~3yj|1jf7%ng@K&vht)j}XZSUD4CmiCB_)I+H@7TTW;-rUQ`M5b2nu=Ysx7 zHfAVAEDWfh(XmZm3??C{ZtXDJIi8Y{P85!Z zHg&_Lj-dc_8g^mut{LphrX`C#oPB@Ud5cAgcZ*iyZ=3T+c)k(DoZ!9w*pBnV@lg{qpNsBdUW`=qTOFqXP4Lao zfu3>;HYPcHD7hARt~IN8);q9LQ0nNo{)z6JOhI-l{2LLclzXjz;|Xd@Nq z&o_MAmgj6CrIN2hDQ+!Pz*xeyV$_;fwOeJiz8myov1sIa&j)ZH039pe^p&;A;Yj(h-{11+E`d*-=06qY@vWbDgKXb(l_ko^NC4myON3eS|MXtCJ?6 zc3FvbIdBCt%RR4)Ae}PSOs&b-%%{Uiqa9;!!@Y=CuJx)Bh0lJAm6-F9R|0Aocsz8& z{{p~zc5AxSF5fneECS1_g1_Lu%J@LJZ1A;~cWw7P$6N$7whHS%sH!A}C>fut%Wr(rnc?3{pkkMK7dp9^ zyu^)3ImoFhU!A-wCH$09Li{_l+oMBAu^-3Z0^L`fsYR)G0@cha%0}=>&opFRY;KIw zOO!R&y0k&8k=q=59vbWBLD!QHlG+?bX}DqMFgki_GAHgeq|u%nnv4r!t1R=|a4m4l zh1dmY!MIbP95dPzM!rTqH08?b>%on K2d#)V-v0w3v(Uo; literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/3.gsm b/agc_2-X/branches/agc_2.0.5/extras/app_conference/3.gsm new file mode 100644 index 00000000..a41d6679 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/3.gsm @@ -0,0 +1,2 @@ +;=PW1W#X [r)d[K%7 +$c#2+)UBV4F¬SC{4[Hnpޥꕷbªσ`gC?=W n(*En,{Q6qR=!Ʈ\b#V) h~R=ѓ \%.kn\R=pzr>ܙ=$u R=ρfGϠȵj&ayC<·+61㍂aϣpK;WClRLJ$=Rf%>##xwb LM}bj&V:3k+[? kS%vAbÝ97qݑ \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/3.wav b/agc_2-X/branches/agc_2.0.5/extras/app_conference/3.wav new file mode 100644 index 0000000000000000000000000000000000000000..bc37ff5d389bdaf8bb4566cfaaba19a938ba7bb1 GIT binary patch literal 4046 zcmW-hcUaVg~*~xpT43r^`ZY($E-xI0rc#_&vwNIA)uw zlIl!Iv=Apu#}}dzq`7i8r`hsz9b{OA*0WAU4!9;^%?$6@DS~VZsuncSTzevv!CM?= z>`(sAlyV_vap)5|jGiHa06jbO1GYqZBcn{T$(GohI4UgPSMf^jP{jd#dK3Rs$aqQKhp&|3O2;U=f?M&w8=$j4lQ_%6-Tp`PX1C zBF@K7;E!0kR7;GfFbRDx@mFXUc8lXoj1Wn!vvu^=CGJ8}t@qT(2JEs(njR^hZ2Px? z+%xEV6nw|Av9B1ND0eAmh}aIWZPrLgP=h~q@Lc;7WM@=Q#&!V}nAblUz8_lbQnizt z0+D|ew^A2#9AK$cANYp!9;$2T(o5k(a#cbltpJ{ZouTAK<~U`#MBOJaRq|DogV>5J z58B6D##(RRrc!Bp;4r>~zdCR=x{f@mDC3n_X{w`!VI+%LK~-W>>;`jH!V%#W>pP9T zslwGy`7|ie&cVtA#i`ZeskWkeerJStcGz6_`rs+_f^@p_g?NSCZGs1DahZY7KLVXN z^i#!BWvFPtS=r5WZVcY!`Nv$^JPT$;Y0_8m3c>XsCwuFO#}T$Ew_X6RQyfZK##F+O z!B>Pm)H^_&VV$lR@<>*WX{9g_w!etEhaqyDS2MIfLP^30;`t$dq>_*$iRA9K%~LJc zmB9t<`HU(r8EcHJ9`jH@uqoB=jCW93q&5r!@Ypi$+T`Qna@+s(?$%%27m4wnFF(#h zbHr0Jc1jM|3!2({pZjj(m)VFtXAz40iBcq<>|EAaKYAf3&|loYw>1@3D~2=lg1f-x z!A0n)u$Nd(o1&o$TA?7NF65{nspBEOg8T~FZJexEKql$C_{FpinB+D`7-(Ca8?`1) z2UsCmD$gS(qT_=L1tVAeze( zjf)d|Y}2*3n*YXTkYD3oTL5I6fRI)z`QAQkoZ2Px9t<4|Uhd~0mn3(UJ0-K6tJ?@e z(g0#$-q7-nE$}gUt#Y!+2psC24Mc?mdlI^4HgTZ^3Ss&_-eG9f=yrd5xC6nOnhbw~ zuVio{gBgKLhcih-5e&%^-TE zH+b=mx2hT)0P$I8X=G0}%BADRP7r-(-=ulaun?6*0KsWa33`#+mwZ{W*ukuCZ5!); zOW2D+L;DfA_=}7~Qj(Ktn$kbrZwgAZcA60=UG|IePcZ|0-PL8if-m;1>h+i~5S6db z*d~|>6%LJettQlCyIOh1Ss+(VN-?tM!DF0%gp8x^hUCWg+ElPpa%Ak=h-*l-=Q`~) z;}c+x_PVA4&Gng<80R7=E+(p?Z;by`e8zEK>u9)zlvCpIf7@>%T;9ag zds4iUVl=dGbf*vi#5_0!-Yha_R7tad87)ZzxBZf!<)ive6X=mr#&4Dopv&DpTV8OD zx1&3``6{qRW=<~`OoZPI(>>M1tyoFRdc$sKyHt@}$gV(CKyO$lbv;~KpRYaYyd*w6 zW>JI$HF;YY51F;V4sDYfbq4YCB_&}Zv?x?8dCt>0`_wI(R^S!ucjg4&RP-hF@t6UT z$hlT?zupI_BbF1~U5Op z)DSe4&L9rPofBA&&Lb(JRl@7eBbwFvLfQ)JbTApU%F*E&``&|{Soj+KXj_4N~4k6~{J(e7hIo1k8SJAJPF9eB`m zqSxv*;GbIOm=^}={|3`!XNTmc44)_!**r8ITSw?}f7*V{ z@RcK2`YOfG-HX&aLPDNWNvNYCU-Q(?5w(o%p!K7d+*cyMWzL1j`b%nyoyLD5yF|=F zAv|7a;cWxmnm%=fb0TX3XJWtsG>3d7=AzgDBx_gb&w!I6^GF1w2R_M&O6-yqf)4$- zrX9!v(t!W((d$qSuOm&V7zV#-%IcDO@@Am8oj&X+d2!YqaTqQ-3gXlUR4HpOW zimA#S(pp40xC-77_MNx9Q*3->`yl=)b+h0Wdd4;waFX%{`=zN_W3$c` z)g-u>2x>t8qI59sAa27Z)oj~M-k7KoayS+r_!lpiR}Sm7|Ejq5-&nu$nD}O-ikKQz zC9Z)gwG~>vb1bc!+KQ>+x3tWJ^JJ8Rn{>#{C*_VNVyI50jzagt{bR(N6e*_D9Vwdl;jVk>vBktEtSmKV@s-e|3)xD&Pub zd)P}L6*|U@PKFg#Fx`00WJ2~4Xr7@VDbUL6Pya1y8$xes>{fdo;xE{-F1KTh@U`-& zVkVksP8j_;a1QR-K)mUw?TtvRTq%8u_J1%S*9bn(+m3(q`>YQ|?i8-zYmDXi5&WWL69E@@;f>p6Pf&|i1bn#tWS?+a&Qok4j5mS8-xRJTO6-xk1p z%$XHffV>Z%8_krmkW8IJ+wD+9l#p}K&*4^D_PFPYQY5cFztIY937-{^V(A6MoQSmE zs5{7^rd=JiE@OxtlJ_Z{(E?Y-x6wz@)g8DGS-4k$<3B!a{le}NZd9t}IP9N(rE^C} zzi(^zZsRxB0@0kbUePKn!P4o=Cx7ie-GXYqu=oW2aTT0p*l+N(@Ue^-?3B?|x8G90 z6UID`$iU9{FR_QXcI248tZvkTu-*#~hUk&?Vcjx~cn)$~m#Rs%ucn!4(>yh>k6Jpm zS`H%b^&$02U<3J1$T`P3a11j$#UGW8E^RDn$wuFY<+yS`oN;FJ#%2^pBk1|o!rpD( z1$c(-Rp(}Vm0-29TCp7a*nQtJ17Cp4?4Qu|)cQgAEWK1pa$On@brlgiJeS&M>TRRZ z!j;K4`Bj+Dc{8LUveWfv<5|@YqeuDPxcQ7XSf6_p4Po2S-G;2X+ZF>mNcMr4fYO3b ziZVpU(VuiPRYA6B#%%U>+?U8jQcCP1*+z7)euHkG!$t8Bm%!gbPiO&2JEG2`V~pO$ zB&eJy^ZzwsagO6urx9bwn838B%jgOWxd}|`G1wpTF=ckN3L|#?GK33A417E!ZNaR3 zVT|%;d7^9Hpbeykedil*K2`4=O%(Q}UKhz+8*O<35M_gVm+5!)XQKxG_;H==wXRH* zNy%p}aGf#c*AarW8LTh!SCs(r1xFZ zM((;_gs<_QXv@{2BP0A{NvZq-mlWI`mO#&Omo%oRz8l%b?T9U*f5hZoJhO=V8}_9k zvMz2kmenlYK==~99jp=eh_kR!-AmO%>%WoPncMvP;1V)r3@D$0ePtl%*EvA)r-Yxt z3*bijgru|4h1m0kGtEBeFTxJ*hT#>Ces*rUF{Z%fY1v{HxyysQ95l1u=HvYzIe|t* literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/4.gsm b/agc_2-X/branches/agc_2.0.5/extras/app_conference/4.gsm new file mode 100644 index 00000000..d2bae3f8 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/4.gsm @@ -0,0 +1,2 @@ +8PRW\-elG'XVb,b*V rK"bTJ5~aȋf9ZTȁ`IZ^8nYZ2!Qhzk*"xS8nƸ*"fsSzCdփHΡQTmqZsb=iB +Vbc #meTQJeS;4UQ\H'k JX+ 82U" #9k:'Q "I.Sc"7оRr%ڜD~V΢e Vqr!EKi}9EiUELyXz9#3ȭrQ Ysq[HܘaM2 \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/4.wav b/agc_2-X/branches/agc_2.0.5/extras/app_conference/4.wav new file mode 100644 index 0000000000000000000000000000000000000000..05f1adf82f2799a28bc85b85eee27935ab5975da GIT binary patch literal 3990 zcmWNSXsYmF%T+Twwpy*#R%^9Z z+P%tVsjXaXohsmkqTm4vawrIL$_?*+&$s9Ie1D4P&zW-?4+1SO`f&EA+xMgrK_C$L zKi*9NfeuXvf#N{%|Cx;&_H5YvU-f%zGiyshGkbL$-%vKR%W(*j2=5FO*uHhwV777= zWUa(4GbA;)wnAJ*iDKTvloOCayI~v|mBFt@xz_Krz}PJ84*n5gI%St7Dxcea)258C zO35V$K{>u7Q43}z-WM_t=5-#?HzMcfN+fJXp6hERu_u3=kE|sa;hzT{2XfG4#(RmX zsJ(BV^t)aPWFTvwSd=^?&^T1CyXVov{)J9Vi0w%KUqnI{CnE*6rQiDYq|z4pnkD6R zCZ3MejVT?KF*^M7&@J=vp)^-JnUjAgcQ-~c)F7?tT06m^wx(_-+=*PCxB&`bN6?iM z|MZ{iI%26va0{OZX$gYSQpLXBe>{(|F9~~~OZ?2pGu(XUQu4NmIo%bq>$-AmdEO); zKsoLFUXyJ|52OP2IEN=;e0pRrEtX|XSs%((LL2M*v*1~oALk5`YJAz&s4D_q2D{>m z8m14g3yw0TiSBX_fTyXaHm~X9#f~u)DFawVfa*g*mfTZU5VXnd2iqY^WTwg5JAuZ zx4`)}PRl%+1)>!@r?eF}-!ja=-^pp`&c}sZ$rhg{1nGuM^?WeA+SdCVeZGsn*|6u>3CIG=V9&gMaHNQhnDlvOU39pY*%2F_AGbB(2OK3P z@t=wFk+PG{Bgm$`t*M<0yg=&5lE>VYP=sM)|4eHhcpSlv0j`(snaCcVyIxBP(EMW$k(hfV$r_*v>w+OJ^5Akb2* zw#OjcKmjl9Wyq=R9@yx33UwhahtE0>`%E}3+nqiOsM3m>iaVSA!qji`Zl*+H4VGG~ zF$je(jNP?qhl`v~3GedpxwG)IhNnvZ>VUZ6)LgcM5{td#$qG3Ur_etK&J8v9a7Gu$ z>jfh5Qp!|ob-P|!=QLq=Q_M(8C?Uv4`ly>p+CV`4T7GAci+YoLQH)M}*L|`dHu%g_ z0ce0klEzo#)nwI*y~Twpg6t3rSW7lEM;B50nc0~PA)j$*n_+>=*=nWp!*8hU+x7I7>2 z0lXowGW;4dKs$lI?UZ$STX~~jkamcU=l@8UYW<)3s$LOLBL9N_?qB4x$7*QjIo0%K zo|=xlW|BT0TgdyK2M`yz7n`cacY-Qlpa5euVMH4}mmn&XSZ~ut zup9k_r_A#kxCK=P_Kga9 zAL*t+zUQ_`5NTU{IAwNQlBo_}M>|TK1}6K3;6B1;N)@DPIMi09x*4wE6cx_SD2awN zZR%p{DF_>LF|OD9dcuHgPqCzxBdhcj>A&p+FFYlZA5K38L65F9DZSI7<#DO*AIygx z_pzev+x**ve@!1sQ``O>-%VMZxr>2>TysUeDp4sdv?rrPc>zD_KG1oy&9&oT3 zSIc^ytODKd6E`KP+F~a;Kj#0+TphY)WQ;uW?}U8|n&K!QK~5x)SM$@el)!w=)yAz| zb^i5CF!yJwFiLY?@zue|h@<|6`ak+skH14cFB}paz)vyEZdu-a-n$}UQ{sBeq0s)o zR$v$D3jUJ!pn7HdBhya855lveF4EW-w1=QsGC@Y|Mkhw$-pWWY;Xzt4J>CDTE6^k! z+>P4IqY99eT2I;Vozc(3wXo9YL)&i4_VBu-aCBSuD z30#AJ34iI{Gk8|B*XL*6Dma#7g0AVWlCA3B9yw24OSdB~1uBDoBZZ_e>JNKcS6!!P z{8Hj-$k%mUatx0n4nke zhJrb4WYDUtmG9S0f{i7u_fgn}TAW8FnS{v()YATc#rUj&`RL%RD7Ilz9(!W~5qI>(GEF!}NZo^&dwWauMef zULc`(bc4(;uO9P}rewnTj`>3lML%y3myx@7JrIbla^N@D_Xtyuts#KNoeGd7QZs za$U=lPU^lLUX}4yq+#Ks^9(!mF?SWT1p3DN*2?#;h=0U=!d-@%KNR1zNYUf1WKeU4 z85ck+#%ZojP$xVue9dgqK1eBYC0Xcc+~wOGXmQqU(HRU6n}{iYYkN2Jzg9I|{G&R~aBf zW1g$@T+tUiGtjHKD_x@+49=%5NfzV&4yk-aP=5Rj^c?qgbxYS0+al^gF+TqwZrCX3 z{CdFP@5Zgidq7Kk+oDwB+T_UzWv=+nW|_$dA_N77yeL6!&({8Aj)hRb1(3y=VxI>} zVASMHW|mBpE9N(y96W_g<_fYtAiVS{tS`O$p>Ws=Po`crJR{;uT_!HiD2+6B7fDIl z49G>sJZ20zGqA@$2Fr@CgWniacfVB)Oq@yGRQM=oD-^9=q4-S4i2WNc#Uf&vzO`{v z$Y+^MEYD(VZEADapCrB~7Uq18Tt8B->9IVD)dEYRfJ5xehUc=*XU`@#j0NR3Y3&F* zVGd85aR9Z&`Nmq|N5WRb{pz@?t2AGOZOObZ8fOyR&Fwqob;gsZnw0890(_<~HCT;M z;EsXyCTCZs=4TL%D=fU7{$=olO0B3iOQC`UKe{hW_Zwg;>cOOoup9b~a*1+QU}?Im z;6z3Y^uE4FQ#EdgI{-9=J{~{n;b21S*O{r~@+Nos_bj!z{$ zfENWkq5GKM6U!3TOw@PFofsj`fS&N9qCk92;%ltNhF93z zOA7#^VMNYrj z=9(GzA=K?P7&ndFiaVU1EqsvT@R~c|(yO{mWP}Ax%|SIx{OSECPKmC8?6bzJO&VF` zIa?$7ljDyJsVdtD!?PjjluZN%`0#%(-c9_S_6(q!=d}ISbznls8kYcBs)Vsi9 z0+pg}f){(*Jt9PF%JGbPT+q}m)wN6==Oq>h$}+NnOJn2a@4WM&in#l(YsQN<5$YnB zESN#97?a2wF)Z#ZJ;MXg=8Sg&Ryu z<=ms)0y$hW{5JR~k{n#B7pl>gjQDy%muN59IGWU^=z8JA;D4fpF}(1{fiS$CTuS^V zu(B_u6``Y{Pv^HZrZ@su&1~ZKr9q!@`vqI* zI{zQWla`*49VU&CYljK4UiR2EAIe!hd0tE*GceWux)B^({r}?0_r5OU*#e2y#MCk$IHeIKIoPG`4q)7LiHfck-9VKOHSp zy+8C_K!=(@OazyBLa|KhJM3iYh?}6;*DTkc!A1Ck{B8o=#WsL#r=xdazXhjSr&@He zhsh$rd{%2f-MPJKgEkX5onFYkiEH&uIKK)%M3h2n9YX`ZXthBD%T-XxodUkDu9us% z$3YF$cus-gW4!1xya6gh{vGz>}J8!i7A8z^7f&c&j literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/5.gsm b/agc_2-X/branches/agc_2.0.5/extras/app_conference/5.gsm new file mode 100644 index 00000000..239c7aca --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/5.gsm @@ -0,0 +1 @@ +xj=P3cWcT qFܚ$DVD%CHxS&TxD?4A9E'ڸU2r [Syqxb)FoZaXVJGsdKb;$j)}V7_ZNLPDB~2J|!9&-DEZT`mx0 z-DIq^9#FB(2B-*re&U~zFDyr>CqBZ~||P_yhZk=Xl@}8Ns0wYP4U9bGs^h`}xO&Q)zi%qpGP6mCP&BEJgpE(ilvJJiI(9Dyleb2;vMD_ z`L-)#WNPjWbpcdgS`<`2q zAAZ6ksb*Ocn{*j!ydXg z;0^RULWXaWVn@fYekXlJ_65Na0H_*d$Z6gx94i z67o^irU=Vj$Z1rUt5i8v(eC}5UzW?_=XaJm^Ns6iNcPR(iR0V61>SEt3(y77k#+LZ{REKpJ{NDoKfR{8c3~Mo~QkIMEkW8arv?dH33{WX*{9T{JEx=1- zV%Q1~sq0y5`2pbIRlo|3-kz?;OsbMn~->=^?W)lL2;WVx3! zR%x*l)(IC13((sK>cwqJC?b(L7On_1da`g??BleBwySNQx0p=Y$dt6a=(OOF=_eP6 zL;(*>d3|SxrXX8|>$CUKv&LmT-;c%wNf>)TY~JjwCZ9{W6Tc?(uA9-M9jU-YaOP64 z24!v{W^)9JINMkuY3fJ?&&O&q6s&vhqxyW?$A}8pBU9_ZK^=~O$k;EMO;|p%v-9w% z6tX1j5;V)6?Wv;XCQ~?zT=i{X;tIn|%0a$_c0OaY$-%edbxl z&ov z-=yvzTUQ&B@Fa#7jrP!kwUoEqDuPX$CU$mg@B*=?Q>v(cfsZWfgZnXqyOvMVY~?c4B6m(G=A3iHVR0e&T-pnB(Eg*%_qq^)@vN#9S!_R;+rGQ z19uqqXn2S3{6Knpg8nMqn8i!kge=p{A1QP016~J~j%hXbg5i8oRwo;3DQ>&jJk0aM4-iYtU_SvbiptAnGD^M)n6K&dlp_^yf!>rH~@ zDk6uCmd@1!iJnzq{m9F%B&P#+Bko4rA23Mow1!WW$(V^)e-st*k!vdCX87M>={8B% zqYkqT7xQKIblx%FtkGo#Phcug;)1D{>EEK~39~Xw$XC^GCCLh7z)$)IH{UzSy&>!a z@B8T8UT#-?BT}=BbUJBX^j_Fh`%iuVKNYjUOp`ifxBS}@*X7)0Uw6D5T&&#{U?Ev< zu3l$m5pz=~r!K+dC|qLL&^T-ZqmJ;>@AQcAif9}|W!v1gsd>maCvtJ>Y4*n8u=%`u zIl35lYg{9P4^;z0!VlR4^sD2Yy*t#U!D(ot&u%>HKv0xIRAMl6QMyeWJ^BPoWnUwQ z0vA1G+=a+B#C+rNR&o1j*Hhk;jBBhCkIWG5i~t5j zpgH)5q3^5*J#T2U1$xd_m%r`4IMR?sKF#}*$_o7Met-&4<1zPj0?BOIrO@w5+cOIp z(e?}K_14w!ZLr@>M~50r+o{_#YlUUV^8+RA6PgRa#qfjhW6lo$K{_L$Fv4rP-;8cO zX9XhfCCsLs_9Z*V;CsSr;4{^qv|kxSV!G146&)hW$0iJ4mx zlKfvt1#PzsP1tbS2=Wa`4bGx*d1j(pYiY{wSnhcjQy>si4!QSP7eeZByF+QCC%cuJ zUrEJTY`So z{~ey+1)50W$~Y!cEA8gKb$p%VfOwYIn1{0H+`PNP5sd#n)j?l%KS0s1>|uO$y+ ziPj1Ij4flsVo?Xi`7Gi@^fO$MXJ=p&(M9J$V+JdmHOl4qV`;aAQ}FvtMS7>3jojo9 zsx5;zU9sF5xhe6dJVQO4o|_X)tQkl3Ke8`@Cvr*?RfJn34Go&^0l$aS%{zvB2(I&% z;wni>-%7bsV%2V>~Zz! zvJ|GVE}`PN=K%f)@R9SqV+p<`{#1MyT-Tf4aA;7En!)>u^#NvbeFuF)?kB|B{GF3J zWVX%Rxa?5O*Zwq3{g^)Z6QbJ@Kf=?sqv^uROfH42akbSbz6{(8zlHhU{TiH3Xybp* zIp?Kz9cWysmWKxt;@AObmSaxvWY~L5oEhjYlWBZU6Xxc8%AV{zp=9Wb100~`zQ#Tc{k+Y*~q#x+bpXpj0KxMJdt_XXxI zfHVqvQU*f^rf^^Od`6rpp}$u1G$;B8+p}Z7&Ewd$T3*)IH!NRW_B1_v>>yPcwbGI{;QdQ zB;tetg9YzdN>5MO9%FayYkwd{#NYJF621Yna7BPNgPCC!R#bbQ(ZQ7QR`F-KK6Q4e!L#pYF`M;!FX;;dVVw*wC8 zt~Qn7XY2z?HgEwf4OY?pv2VkNwELTQ9jiPqxfhZ!l#}jyTQAImSA{^8wR5`W3)11t zgXwtOUd<%M3o{C_6JBF&&=Y+dqM4#TuF&zkjo8*@-WAS?n1hb;d>rbc9*!PBcMaPb zlVvp6?ZjJxrf{`=re!FYhPmQLjNp4qO?Awla#B;+@STIp`rKv~G6i|t=`%frWOBJ_ z6hkYOi zeP#V;TI)4bno~4IfIz|Y%QXu<5@5Y=m9}fd7WkHbCHqs3YC_(@>ESz$5b6j^1B+c$ zEEH8WKxjDBKM6p@6~^wxtaM&<$6(9CQo+Z4`#YyvnCx{qf<$L%ovL``0(c%^ z23C$4^@WJy#LJ@7^c8w>%Qo3M&uZ!&@(W0|yBql~s*YU~Tq0Z5m_A%V*dQq6n~<5- z5r+|2iuuIxjr>S&zPpJJ{m9SLfy?CuL$AOf>Rt#myUoWiGn3W{&0*A`iAH>Xb!c*= zm!1t<;=T>skC4#!f>mADo9+5@3|;yZ{tg(!_;g|`Yz6X=ovJ8QUV(r~X}KZR74tXJ zs=@VMIrcPszWtd!CG2qG?gR)T(EFj`@ZcHLE3TJmhq}N$a4z*!c(t{x6WKn+x|yTN zw8bp+=V?2Qn;`Xwop$E%kmg79Z$d|AEybhpwI3Zk6Znz%3>9#(-1~^^_(pE657{-| s7#P(MYvO-q6+){VF_1c<2wP#g*NN{r|i761SM literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/6.gsm b/agc_2-X/branches/agc_2.0.5/extras/app_conference/6.gsm new file mode 100644 index 00000000..2a25381f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/6.gsm @@ -0,0 +1 @@ +D;3P2FXLQEFFFyD֟-~ㄧ(;Em3ڵ<\ԬKida1s 5~yjXWQW™䢤V=?4B2%XWjfRyUB]i‰ΝD=':WBax"t )硺,NSWXWlK%a.Ռ̩ح4+Mv_dȗ˱.#IZAY \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/6.wav b/agc_2-X/branches/agc_2.0.5/extras/app_conference/6.wav new file mode 100644 index 0000000000000000000000000000000000000000..7c32ca3622960600b4a58cd647f297a98a22a74a GIT binary patch literal 4046 zcmWN{d0di*$cl9tF^9g_ql$p zYnHBB>(264L{wA|K~&@rko)2M?e+QZ{rW7NIc-`E832||S^D|<&D;4@003bBHJJwh z`zHbb9EkW&)~(*Y`o@3P{qW~;CdnBp;5cE!B5Bwc)*Siqo~bB9+7IG?ut`R@nFC*j z{LYlx88Rvj6LYgZ&@q<)-#Fv z40p@T@(o6XlQ~gOhK6f*ca_8PqCXKALs6lt(f`JcV$|KD8j+SnD(C-7GC-YSe^f4K zlRs8gQ-5V7fxRLABvI;NhXavUs4J|Sn(np!7@!Ix5-r$&oM5m#q8=+9ifP)V+=`D( zYZbx~3oYY(`|$%Xmu9N8ZTKQfl>JPQ5;5m}XNMzQg=}S3 zp`gU(Z0%Hj2yzIUf|-`m;N%!EeJSmrwx{8qrWlz?^etE`maXShcL>M~4AUI%d?%rjzGjnnmC$vDTdVNDR zVH6^2WUZ#s^GocU+?AZG=8=vy`Ymuh0&O+w!|)p-ZssvkYoA`W)Tlvm(JK3DE0TCE z^|eSJ_Q>_p1-2a00bGxJpF2Q(lA_=pv9TLJwmpRI(N~b>LMi?Sj9(J%l*|47HDFIU zlFt1mVzU2>P;^wPpbfNl*3~>8z)>g1?T#4lI~{sXFJ-Rx_Dd}dDEr@IaEW(GP42;KkEScs9l`9BRHREWU-dQg zsGMt2Y5w5QTuWhOPv(N8ZN3K`#ocw@er$HoWSZ`I!fR>3*JghEayI%I`pFUSmzw1UHD{-7FOaeLGNW$gL>8Xbu0RLkwo!3PC-Cs zw}6<4fPaqSddrY4MIcLm8}-zQv1G#vaKAd=c9=RbKyFHR`cGuPNoL@LPoloI)hqV& zA0?g0DocHdF!r;Dpx`qE(JJWu&O&8h&y9{3yAO5$GLR4+3mUAmHIy9@2FiIY;?!brcVl_woz?~bq&yCA@; zq@ERZv%WB6>(|L=1QpE9lsZ2?P(+^`UqqVM7y7hDRf)CmyQzY}l;HJ9Cbt(j*O6Eo zIXs84E@2s!4WR-TDV>oxSBX^Coar8lF^evfqFg;tfcTKWH}^F!Qb#7dAi}= zTi5KaSgtZd(F&V9+)XsI62_(o}geV`J+jn3CVCI7T2gj>~9Ubj&98U8C~KI*8) z2X5de##9Clvt)y*f)`rZ^*{!5(c+I~mNN3~ zO~ycQ6^8H3@4_mlfyHT8-=}DT>60Si`It0C!hek(M_;O(H){^sW{Yg zg|Ru(6u{pnZh?%>gQO**nAk**y*W<$#>tCRQ;r96AvE=2LQ&K|!-KVo_F(uFXG`St z;3IzlZHM3q?uCk0lcU~8+!8mLJ}yw^@1+2&_d$3&v3|1YHfyZNK)vEU1MMKKqa-;t zNhh@OeP0O&QxK#(_FL}bxJ%fV#z|7Dl8HMkp(JaOc_yd56GcR@heB;1^%!P<_WAft z{tW{h+kLPx{9<5J_hT0j*Pr{0eaafwn{6e6L&3-)ix!WFOr4%3BqMasyF|8k$lpVE z40)zWq`VAH>h~~g7p3!+BNA5x<5OI-g(BQKPS+)G@ zn5UjUK>}+JEo{0_|F`U?@Xh#!m=nk}_i4mddL4$=AF6w$;*egYwhLwfEu%Ytmt-=a zRwgwknl^K8W@tHIdO7C0pc&ijUDjESvdB@aK4^?&Y{@~2Tz-u5f@XJsglcsZ52)N9d4J|C8&fngziqB|Kj6ar z=B_d-f%!sD`b5gZK3{X*;4tbL;T*JU^mj~qQj#bF-Xw=N8_Y!VR?6+bCHEeZJu#2> z+J3F^khIFPh#83dD^w1ZMzI7e`G>wkH_SU#55HvS_1{NJ7~UZdT=x6Z8Drf(JZUg^tPe?7hQydd*{N^ zx$M}V;PczJ)gIEP)9&*WxJEAozsho+G6TQ$qzB(LX#~^f~f>3xJ{MXy4~8(CuYy&l)Cl} zkM~K@Ro?HE8C{GJEakVXV(NRNLMMRcqi(vE_FmSVCm=E_(~QV6jkk{mH6j0WnYAR# zKvZVVw+TOZ|Lt6=o)~zAUhF{+KZK-wc6JO~XXutr)6~P(oG@ z^H#_8m>%&Z+V9Rqj%@S}`~q8n>}$nF#4oA!;vD=tbD?!QScY6S!sFzUW3gx zzcOere~70_=Aq-1zse<6Kjsy<)7CY5n(9eAEBxNOyVcRws9rx|6lo zFt&b%VsZE*BM<*SPee$`3M5qH*Q=^(+WG>xDcpWS6U2di$NHJKG}IuwS~uP#iOP-L zPZ;zbfr*)IbhU$VkwXwI(yAS2{R1W@VpU*1F4#jSD9FvoKVZoc& z1Yd#aliw!5WnO0_4K8hVYHlN{NjHP5NB4u)_^~NPm@8e}hHU+OLN)Dc!0Ot7HO4Dr zc0>4IWVnp{x&v*SLT((ge>0K%OOfrGGe^hG?AQ0Fp zYnEKzvjpu=s}V29&NGZP%U~dK)O5FVm3}Y%P0sto!$Fuf*>C{}!&aM!y;jFW0hq_+ z1*{*tRt`&HE8!o_)WM~|JW+HukGfY^C|4N!kn_Mi8#rC`kU1b2Av>VxUh@X9kNE@l97o z?vJ5MN|{=B^yoeiAY`~S?Hk%N0~FD*^oj_FrOZ46%tGI`Qah1-hw!?LHDUmDZ;(4& z5bi_Njx=;%GwGOu+>Ht6pkYl7>n-JjP_jHL~Ql ld?9)gd4lg-|8fRB@e_sA|F(wR<3OI_@+r~&h)^@*{{hWN-?jh% literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/64_Makefile b/agc_2-X/branches/agc_2.0.5/extras/app_conference/64_Makefile new file mode 100644 index 00000000..531caf54 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/64_Makefile @@ -0,0 +1,115 @@ +# $Id: Makefile,v 1.9 2005/10/27 17:53:35 stevek Exp $ + +# +# Makefile, based on the Asterisk Makefile, Coypright (C) 1999, Mark Spencer +# +# Copyright (C) 2002,2003 Junghanns.NET GmbH +# +# Klaus-Peter Junghanns +# +# This program is free software and may be modified and +# distributed under the terms of the GNU Public License. +# + +.EXPORT_ALL_VARIABLES: + +# +# app_conference defines which can be passed on the command-line +# + +DESTDIR := +INSTALL_MODULES_DIR := /usr/lib/asterisk/modules +INSTALL_CONFIG_DIR := /etc/asterisk + +ASTERISK_INCLUDE_DIR := /usr/include/asterisk + +# turn app_conference debugging on or off ( 0 == OFF, 1 == ON ) +APP_CONFERENCE_DEBUG := 1 + +# 0 = OFF 1 = astdsp 2 = speex +SILDET := 2 + +# +# app_conference objects to build +# + +OBJS = app_conference.o conference.o member.o frame.o cli.o +SHAREDOS = app_conference.so + +# +# standard compile settings +# + +PROC = $(shell uname -m) +INSTALL = install +CC = gcc + +# skip asterisk includes if they are in /usr/include/asterisk +ifneq ($(shell dirname $(ASTERISK_INCLUDE_DIR)), /usr/include) +INCLUDE = -I$(ASTERISK_INCLUDE_DIR) +endif + +LIBS = -ldl -lpthread -lm +DEBUG := -g + +CFLAGS += -pipe -fPIC -Wall -Wmissing-prototypes -Wmissing-declarations $(DEBUG) $(INCLUDE) -D_REENTRANT -D_GNU_SOURCE + +CFLAGS += $(shell if uname -m | grep -q ppc; then echo "-fsigned-char"; fi) +CFLAGS += -DCRYPTO + +ifeq ($(APP_CONFERENCE_DEBUG), 1) +CFLAGS += -DAPP_CONFERENCE_DEBUG +endif + +# +# additional flag values for silence detection +# + +ifeq ($(SILDET), 2) +OBJS += libspeex/preprocess.o libspeex/misc.o libspeex/smallft.o +CFLAGS += -Ilibspeex -DSILDET=2 +endif + +ifeq ($(SILDET), 1) +CFLAGS += -DSILDET=1 +endif + +OSARCH=$(shell uname -s) +ifeq (${OSARCH},Darwin) +SOLINK=-dynamic -bundle -undefined suppress -force_flat_namespace +else +SOLINK=-shared -Xlinker -x +endif + +# +# targets +# + +all: $(SHAREDOS) + +clean: + rm -f *.so *.o $(OBJS) + +app_conference.so : $(OBJS) + $(CC) -shared -Xlinker -x -o $@ $(OBJS) + +vad_test: vad_test.o libspeex/preprocess.o libspeex/misc.o libspeex/smallft.o + $(CC) $(PROFILE) -o $@ $^ -lm + +install: all + if [ ! -d ${DESTDIR}${INSTALL_MODULES_DIR} ]; then \ + $(INSTALL) -m 755 -d ${DESTDIR}${INSTALL_MODULES_DIR} ; \ + fi + for x in $(SHAREDOS); do \ + $(INSTALL) -m 755 $$x ${DESTDIR}$(INSTALL_MODULES_DIR) ; \ + done + cp -f *.gsm /var/lib/asterisk/sounds + cp -f *.wav /var/lib/asterisk/sounds + + +#config: all +# if [ ! -d ${DESTDIR}${INSTALL_CONFIG_DIR} ]; then \ +# $(INSTALL) -m 755 -d ${DESTDIR}${INSTALL_CONFIG_DIR} ; \ +# fi +# $(INSTALL) -m 640 conf.conf ${DESTDIR}${INSTALL_CONFIG_DIR} + diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/7.gsm b/agc_2-X/branches/agc_2.0.5/extras/app_conference/7.gsm new file mode 100644 index 00000000..0260531d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/7.gsm @@ -0,0 +1,2 @@ +8PR=:^ +r(۞fM[E88vG(QE!f݅ Q[O*֩r<HWSwt8Dx"IGDL4:RīUXj]H䋨L~rA fa֮2_(9FܗL]ëRQh_7#uGB.Vi]McjE2[vADyac]loHtRFz􇁗Hy!Aq8!QȤc=6 B)SdޭU9"<55c=ۉmbSc_ܩHUD{7=_!1֥!S왩n:5P!ku \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/7.wav b/agc_2-X/branches/agc_2.0.5/extras/app_conference/7.wav new file mode 100644 index 0000000000000000000000000000000000000000..6cdce5c18b06074dd3b0a8261c857002298e3a5a GIT binary patch literal 4072 zcmWNSd0f(m!+_z-eIF_yf+FIH;(?m2W3_czvvpXeX_sxYa;slvEz7O7?n67a%5|^o zuxoFJ9X4w#6>kF%zykyk1(ZYJ%gwvb^WXD%{(n|vE?A%>K_EGESI__U`&}F=1OkEn z$DA+-V>eLHB;Gx`j&vpYhR{J-t%0=`bhE%640E_RpvzNiCOO97Afg0(qG4!Q?mX6=#NKeS zt5|%jalJARUmD*SuOMYl<|*&!;Jz&MS3tBq!CDDd1?$89#I4i{+F24Mm=|$*+ECO9 zZ@EnJsZnb~w$e{iQP2W#$h!#FO4#V7jzFcAW1)l|!51lZYL2Es#P}q$hJ_@>CNS6g zZt9(rJG^eh79ZJ|t^3&}q8G(J2U=~{5{tgvcU7KFQ-MM z_z^#q)GDL|A@z1iLq7-fla2<~qgbv5?g%uV+JVV5Ii-(ei6D%#GhG>->|5D$L3B}Z z7}XT9k9!3--RhpGaZJLaVBi#2J2^1}Jtq>%H&LpzmCgJP+*DWSW+BMKL2s(`gZ4=g z`~z+#;IprBc3{exzti7%*9@F%|6N&*i%Kd?>!+3J=5}81Nwc<7+gJ}s_dN<*vF|hN zIBJ{in6i8b0fHf`QjSL#`Iq&aZ|oj;h*}-JDAq>)e9AeRWt{ROkmVkok!1b|4-EB0 z%E*hxliQ{`_F4KuooRJ3XP~ncYkLomorhtme0-00kK;4g2n7)^(@#^eB!^VN*v|w* zsnh9>@p*0kb`dRGf`q(6`T;-RTx^2^w~$X=55}5Dj)7=~Eddwl_ZRo>Zamq)5+#c3 z6GR8iGaD6UqfXZjj2HgV5oIMoYiKLN?vSn;raJq&mRgR5cBem$TLQb)U)04_OJExq zn}X`$d5-h$$7mhlHH0#DP_{;sg}%rCR#;76uG`#F-tIQOr1RpeY&GT>-L$L!9r9DWP&i0;m~v%@h9bZVI4PkWI^RL^#t`Q*vIq_% zvxnck+>*yWl>UsL3uDWpTjvciU~k#C*=w;;;Mi1&e=E8WC^W7e){oU7-$gN#Hqj60 zftEL|e@re7u1Gw>^TQ-stx9NVh9#h$x&JY5b4=hloFCcakhA?eTQ>ABMq(50q@7@9 zm|k?h>Qh+y2r;x$?0|c^^9B4i*?}#!8v36}k6LWZ3#s*d87x6|y@}R86F9{EDzb|d zZ+~K#WdmTf@EKs{_+7(g*bR;`4h(8HRJZ=t8Zhy9uuvEm>qf{&s{2>#6M*}86XKxr zj-w9QM*oH3h7y#2cEAU3A?7C-)3>nxXRPh=e9AH|CWGv%0Equ9TdjLPDj$P(n$^Ui zucwUk^GTN2<8Zc&)>ti-LKC9&{Kz1VJ#{qSFx`6s3G*MdR0JNL{Iz3k zTazJ+c_ob*G-6p?wsYIZATB^O9k4@S^nRf>r2+iu#TZL&yCm=@bSHb=fiB z8G%?rsD<4%!1_VeBiQli8sRQhwu#*Syv00T6_6jdi~9=k@5J!9*1i*d1sJ!L8Rpt* zi5lLDi2p;-205ZTy=l;Eu>omYSfANA^1}WHmYG-wX(fWIu#6Abia?UMBu7_t%RjGSN8=x<_gNfB44pU8ATJwpq z`9Us$I=UEb7~eW+V)>x`Ks+&{B;)0+lz42nKWz;SU)-Lgn;SZxT+-pHR>_Z?u zxBy`txzYKxT;qQn^M2Z?@I2c`ac<{;ZWTckdVrPzplmN4rx4pPf4l9Y{-Gh`2(?tu z5Pt|;Ftoq1th>(xawQ2l!RgKh&6%+Uu3JbZP;R?uYWC*S;JnxL57t!iZ!Mi#NKkR= zPl+S=$&q!ExymH(Y^s`)1>-n3dp)>jY8xU+m)JXR@DG1wRBC!__2pCu|{yfH=Cw~CofB5{OA&wG{vvU8j<%Gt{8)*j?b z%xm9XTeCZyWMl0QoMlh%^|Zg%UJ6hN!;@=?i`5k!_vJp&MTqY#8>OFX#Q45LfL^u{qQB>< zW)#Ghu+5-Qj1r}&g2;koNn#}VH(j)>K~3}|5OQ%#ecysjkO*oW<086fe4V(UFVWS_ z!(`lz+~+Fl&TQYQxsG`f3TM_KHrT$m*8~0NzkL6_PFZ8PK&awJ3+|ELssC;|*rm27 zbK(*=gdX$)qw%B9>= z0}!Y7XqzTaV#Se)*uA8@k=r6y=jV10XP>Z{3-M``%E5c400asj2IPRxoL}O2Aw(L} zy<9%CBSU?cSeZN_d>imyEA7zritWn4`>Y>{?e1+ht1layg7QpdD7zFsXJzQUl*~w| z$0epUl_`?3yJOGCd?GG4ZyBYUW7EtF9`i1wH*|zoNW7tKX<5~E)du1IoE{!^ z&DS#^=-sN@kC;u3#IN(7b@1VzC@zZGb4vMzgrM=`MTzmLiGj$@Z)T%?(y4SWFG3zoXqV`2%#{t)eX zS(p}wD~eyALJf)@`@EUgdCii_d>{7<%jUnSKVjJJ`UAm%8z0&GXv>&9N+P;$7}V zXqGlgeR`@Ez8#tCR+*1GGl<7H-?1uvX!-e;yrJV5k3f@3VIU`7Nwm_ZRtu?swj5jG z{?+*b@sQkwS#Md{A1~iwt6*?C_TepG4yW- zS<#0+B4|r{#CT&^+!-U0m={v(*d5fHzF^yH_arJ4y&Wu4-%?cDl);STt1)k&=srke zrThS*Bs!kIF<_H5TvK9@d#@qW{PQi*W+i|QdBdAV%`ud;A8Eg9EMPB8e;xN7{E*^P z_qx#>V0J(u@rb|5aS)P0dP&7V_l^up%7&Xz!~B%A`e2a(-JaFC&iFWROJo642z_f} zPJQ9$BP%^ly-+i0!w2EwM4fA%vAcgRV*5JTe_w z8oO9n7CdL7ytSnDrQs-THouwk0fsTC$De^K;J*S3ZOaX2`)}m3NI3Tta6%p9Xfg9Vfv7KGg%*PfJ(de!#>-6148Al$Yins?7(UYTlVnlfAYY8l7`|r| z0b9`xz5wfOa3^+d=n{4|tbQn=^-K9IAxno*F*v{Y(c6v3S4cbpQ zk0XPdhTKxRc^LyEj7vCyl*sFv?n)t$i{X2tUs1C`uKtV#53PfTxZdi8hDqq-(8{DuUn!nU~As7wt_eq@XUJwymZ|L8se?u1VS4by92d)3y?kO37?8@FH@ zC$!nTzbn4$fMG6)6;?po1KnyJcDzEoN8{XGqgxa$=A(fLiQmOdAff%?jc0q?{4aSl zfrNe-yfM-~e#PB^Tn%7t3(OV%k8~0bPP=Me(RHY;RQCg2o4QNz7p7iSFBT6k@sCqy zQBq+(@Rk>X&!SS`17o_Lbwgt4)|jw#dnmzz=v>n_Tepz%DDp0QCp^%cW+HflkxhP> zkv!_NRFa`_SEDzhmJKF19qtkMUq`PtqN6=meP?5yr5y`v zvXkYPW$R33m>(!-P*``b^F3-!U=4`@zLMJ|9r}ksS|KB80>@HDw4Ckha%)2V;uew5 XJKve|ofrfSA+R6T_(p5}Ih_9o9Fpc= literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/8.gsm b/agc_2-X/branches/agc_2.0.5/extras/app_conference/8.gsm new file mode 100644 index 0000000000000000000000000000000000000000..e931896ab9637a44a609d6c40288acf63742874d GIT binary patch literal 429 zcmV;e0aE_ecw=`xP%`mW9Mw)<4T~d@xZJ2Di429(vEoEzWD*xc)p%3?JcVN;T98DR z%|jO%#Yj3~f-MDYVIqaW^qn=j&eeE&_dQ`@!&x;d#hW5P=~YNnzaga}NBI=JWLDGeya_c=V)zx@< z_dMg_i5St&VqxHe+O43yP)TfaT4VXE=Mh)O7Ga^> zGLjtJse$DOD$%0Vcuccel&OPw<8C)&)p%RF^6{fZ zF__L@g`z&4hQ#@W;#N9RykcJ>wz;w%Y}I&Me>~0NDa5UG?(rfY2cqF=so}P}S`7u| z;+qAAQ!3SXV|zS>0nwV2ROIDh)f_d)N8@3ru&y4Wse#ue6}3gxw92M^VTUBK&Ymk_ X$DTE77g=$vWfnC>dsM88B$3G+CN0|n literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/8.wav b/agc_2-X/branches/agc_2.0.5/extras/app_conference/8.wav new file mode 100644 index 0000000000000000000000000000000000000000..3ed04b3b11351fd161c39e8a4390f79746826e1e GIT binary patch literal 4018 zcmWNTXH=61!-k)XCwmV9gq08ofdC0ptJZ4Wt6H~KtFKnYy>X${s^HhUTer2fu8L?; z>L`v@D;p9LAS4hH0@-^{lCS6fcb)6+bZGghi9rZP}eh0RRB<-#$wP zfNwtq04PBEkE~t2d-d`EENKkSsVZtoG`cShu#C0Q7=jntY$f}UwEpZBX>wm}M|txD z%jksN{J#_X!#S4K-UxgdY{*7epRg8CnZiXma>&c>q8Ga(Za9ePL)5V*zhCVWDkli?(f^_d(k6+!Kt~zFOl+?>4vy_{&Pu*j*j*h=THr zmViQZqm^k1g5|BvylM+uQdFT`BlZIEL`M4yX9uG61`UdKjv4ypA4B6muh#jk=9Z*3QfkbtXBF zOsR8v^jKd#{Aw&}xiTyZGE?3Oe@mI`nA_Uee%$>>;vG&I$rX6(ISh+nt46MArpc)G z?!<(Wmsx@Ej;;^lMYb5>K-^)ZC@?KLlYEx31#(dNy6v_`PQFyMI`25*yn2ef+-^Zk zMGM0xT`ovrQf5XLHlUi>Sk~K)5a*Qf-{A;Wp6*lMTlkS!jYX;F$L6y~34UOB^sAbl zNbuoUs*l6MU-2&VU|?o+YKSzrqwk3i%lfCJirwkDBDyExc(zc-#%mC_0^4FM$qp(# zlB)njM@_kjw@Xg)L{W5Kt=!;hN6)~tgzkHB;J3*D>uVTZL2o*w8cX~}5aQ91^?IDP z(!T{Pj!v~+G%tkj%P7blL-eX{G!)BPVEZy=aU|$A7ul_V)*{dQ=d0(cvZKMwwZ*lG zA(OIod-tf&qqTa{EkH&ryPV%on zl_e{a8Y21KqULyeD=qtF#Wmms3@Ng6J==l>dHpQP! zCkFmOT2gPvZ-HpNMS4 z*!FuJ(9UrIMrK9vfuuUugZ}GUM05!%J^HhQ>+dIXvk0l6Z%s#G%T#M9aZldvE^f@(LRqUb_e$u4mZ(zYBYG=e`2c;cD<9^8K6UII{@T;bU<=N2Mg?YzCbhsVgt!og zM>mBJxz_>(*e4LZ?nl`fV*_=1Q6M)CZtPvq@r(Wx<~8GgSTNKQ{(z4%o*;G)Eo$%R zCu3m3KH+FWiFT7rW#qse7;JQg8x?)eaB!?7mfqLIk!D9%W}V6ZggWGyseRCF_8*9W?t$71=IucDROm^{OAHL(%_aqwhn1BxnSJ+MH zwd(0jU&_;v*K+;2zv5A5&JfAd3O^5lJG`d+*poD3-r6{W?rG!U&RgM!tf!f70?oU@ zc{9d9T@J4v;wp8%scE;153|Z$M?2n%1MVBNCCu~aF~QDAE54IFE#m2WF1~DDnAlg6 z$g_+rlKj`$oh*U@9; z!mp=q$RQGT*3~D=@g5`85_+O)zZ)!1tVo<6f%Me2 z`1LR2PZ!m4*8;Bw(=}8-1K9=~b5fic=zAHbxz9nWoX{Xu{(=+aC^(Z5Wmc=L5TGJN zzK8~@n+i_P-Yc|_%LivP0rCrwq?EVJv*0ctIC2}e20PBp>zykXheKRqX<5=E>jLp| z#pj{X6ayhM`Yu32)g_#!@A7Vx+-&v7zK}E_yNT9!ILqe$VEuI}Z zz_Fi9%v-{X#TIsJE?Go~fq~WL`@Pbk`M4Behj0ih9O!L3IamQ= z;%^d{kCcS)n5~R2uosQ1MM_x{hZd=k? z-(mD3(sv1eN?7XMJWRDSAqDVkPlln?Yl$15|B7AhALf!f z=OE9F6BT);YU<%a4WAA>AzRgUM)wF?%zQ=Y4}Tp(VEnWS#5}F4LpZPsBNLu1u;Jeg z9q9hjupQ1IT!pZ`bt5*-nZmkUL^^`XBqJIjM=i7Cqr^3`sh#x7S#264QQfr8u^l!=`^b|ig z^fmevuHB#7|FGwyN6H#3{WQJ8S^CblX!ye>|sn zYu04IF_5LA`$|z!SdHhMYYDQJ{e8x4@Tz=i!`^`aZbPmq^8jMM`I$K!`4vP4H|j`+ zZ^8e|`b4md{6T%KaY64jXekSy`X}O!=X8*YCSi7X4k}!V_Yo_%z9hgrX)$zM>)jWc zNZUqP2iy&O0S?8rQ1#w=>2lE&=e@ML5-FPzh$=X$ssIL)318r)dMmIM>D_6mBUh#3 z#)&#ReX$^clL>L@@0l-+DB%|a6#aTj95$ByfIk-%k@q%02CC7gIZu-RfIV|r1BX%9 zk>?%n6*^S`d>Oy4Xqft7xVsJA4+E48kh(pV96W+B)A__1j#&~^*S%oMfA!u>df|93 z%N{%tX~BBnOMO53^9b+R<;;WLEuvd3qixHQPZr!x<%d2FZ!?Rc$soo5*noF>N$>e` z?yi_d`lwMl%qFw5+{~phw_{##J90AIZf)xOUYm$Z6<~!U*cD1)YnK|2n9R(ebVTO| zREQAuDCUq!FPl3V~>49C<4oTuR>zdB6bcv-*&DoT}1bnbN(ne zl33*#GkDo-h!udXzHZY4ZxP+ZA7l~yl^vbUJ1nE(B|KOHJFKxe16srcXp`C8ztQ|D z_49(u{B6)(J%$#pt^i+~JdwOHG9&N@Vg}_ccvm;Avs!f%+brZ2*5glV3=)!VEc`Rl zO7NDyETX5Rq>UvO>APC^T@|tM+0=qvv`X71)dH&rA_XD-j}}>|HX)lonAl`{(Q>w3 z=-HEcFDEW;wSUBNHDCdwu`<(a)p*x|gtEf&OdyokIiYQh`*nOiD}^8lobm(6TD&N7TwT>2u-;5Glz6h9L}J~iB;)OTd;;wlJS$KS zOrg~!5TL92<68R$bIEfHx8>#`EgEfKhSLY0Mf~g!I}k8bsxz|?cU*P5VYI9UT%Y|o zI~h0Iw$r#a_#J4Bc#LZ8i|E+&PGL#>F~g>&cM@p0Af=im!fy1H`6nZO!I}fh2ln>9 z@qS=2OTBD?XIAIxuInB)C7%w3?+jdkG*eH-JrCdN&2E<(kqN6xUS;i$omOi5c6;|;$Dv!o3=0gUwDn2)F@OfB$VY9WN8ourfNf7XbD&o9&fs1ECq>NXugAZQ@y<5 zh3seOrt~8$E=uRl_T?f>sHk_Z@5@hyV(z0Kca-WtwNb0w@c3l|wUw9m0J?d>> zc>s<7ByD%X3U874L#y8ANX8V^rAdOu!DWWd2pwSzoiML-<&yfceHm+FmC`>O&BJk& z@3VKNj0Y~;#NIIcD7?ebqvY!Ia4YjK3Dg*F|K;YhsxOg|2a)aIkhf&d;F+=(Ot3gCZw{spN8*q1J3x z8HCmMTYr6n;^CTgN;;*avCFMWGlRq)D{j+bnWN<$9Xj0A_gjB`gQM{&dMcdHq6<>g z^H!OnX5MQLD}$okC2y&e)%Rn6ePg5-%Z*m@V*_H#k-9RiLkMe;MNH*F)nkhcVb%9z zKYfFOb=7UWWNqR{7fsbVgTeH(iv?lNf@HdmmlM_ZQ~xuAqI2q8EOTMwPHaxM#e;*c z)T(zY&x3a!GfAA)_f!8fgM&o6S)T@jqqWnmW^>QNuB2}@+L@vmB9uv0)%Zm|>S03D zhKfkCtpW8_s$}xwf}Yie;Zo(|7n11cHP!e%{;JR6s~fFWd4oYr)PqF1&jGq+XQt}U z!ARsCtYp>rHa@9?p!1rl*bj7iZt+r X>`0?>I5fHd-L3Zfc3dF6ZMNI4W0~m? literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/9.wav b/agc_2-X/branches/agc_2.0.5/extras/app_conference/9.wav new file mode 100644 index 0000000000000000000000000000000000000000..1439a5954012827576236c3e07e7f2273bc4c8d1 GIT binary patch literal 4018 zcmWNTXIqm8!$7m{>`j1#5dwq|Ru}=IJk`3eQi@=uTC2rbY^_M0wQfMgibbqiN9(I~ zAdWg(C)O=HKv-dfKtgs1WG8p_+v|Kg*ZBeG^Sp%%Z<8R9<#U(imX_^cQ6Ufr^grfA zK_G`_Lm)5+`9HH^?T)pF|EpdHX2zXOuP5)H_Gt5bSAb*I)G@SvA8mP740qJIwbwpe z>bXD+MqIb4e8my!_`k4^hO3&%ioMiNIdbYw7u?l>drm@FANJ-B9ERre)}|Y<6m`B5 z?U@5yupL#X%|l_+nGLLMQ!e3!k^2w~jfZwRDOGA`d0ED* z{)N%WDXsXuBkNnvC{B>@teJ#z*JHmqh!%9uyrk<|??;d=$^YZs!LHL!Odf}PhuAxP zRC?dIJ^~{MkER>1i!P3hKvog!APg%WeuDLc^Er&r&u=Z6d`o}KE+pnUgS>KL9sayQ z*j+iY87s*6GPwZ$wIW}m@-q+>CdovNQyLA;I!tG&P6-p`UcehfLcDe)AWkw{n3r8A zx-NGV*>*wKZL5^at3wGz)RZ zXnPx6^*4SyV~pQo=_*CX%3JGJz|xl_v`RtjE6 zE6hdWY~{C5B&G!98eW|Z3N)W(4#ub=ogMVu^hoY#&Zp{XTS0Wpu^wus;qEyMw}-m)?L`Or-NbpEOK5< z6FS!MH1G!{7IRJYyi+Hm2HnY&bEw{rC+a49pw-Z8h6cs2ekwPOZzpAp)eFyR%CIHW z^N=@=rI>G{uZCSSZEsHyt@KIb$Z@U6CQE~djE5iy%4;usm)+!08tA)W3 zUzvQmwE#JBEpGxiJ%AHd8TL@pL%)EZ2VH1HWPFfDJF`t9-i@**m&dihc1|5}vd}+3 zE-G>d%~nV34M9!VE4_I@r@e+4Ku+1>Ov%^>3AZ@;p84HRgt^v2Mp{G_A{VqH{|rsU z?N8r71u>ryN zVHQKTDY(aup5f(>FBs-~S0^&EQ>i7&Y4K;%vr&17F!Ln~jr>tcOY{ZHyY^i@zj$~N zSLiz+Bo`j{f?fjvQb}92TF&Urutb(R8#Rf}8f2aul)sW?0)*5@>2J}2k=gyjrpvfv z=uM6pPHs?8;w%P6x4DHOjzlbreG;}i@XEnMHB)f`;>ci^*rbbz&pN^=Ha?yxux$f4 zo<@~HqsB+1KTh87hxJwTuC#TL3kVh$*?l{xiM@^llNU7~9ig^?;&d;oJWwj z*uypbPWMlVpJuJ09@os1lC3$&eZFt>gGLkeK>9BBpVoK6OMSn(%R;}Tq?MBAwrT5IJanI5u1P4FSVf zr#J(Cu~&S+5l?u4SYf^IzDd8HD5d~%LlYpaz=_%KLO$`{1Cclmbr`(SPw9zrArsL2 z_mtwv5@o6jiag}-OpF>Nw3y6&oC^CQQHQv~BcSfaym$WYn@1mEzd$z**Ea7}>S+%X zPK21iSUUnG!>8C*4`dDf3;!+kT>1)ZsG@qD3p#;oF0OXmiVu@!_#*xKws!B(DD)(~ zgb?e_3j7kHjI0VI^yjxt7~Ao zC&(7FO0;-@2n*wZsdq5~4MCIX3k8BL|HvWUx2KNFw}TsFJF{}=2IY^P zvnPfC4dnn7;^+kM(MhcJAff9;$6vNRtW6vbmSH1!CU9jazvj4TkK!fGmZjz7xnD@# z>fQheF=5`R$qd}!NYcI{1|*1%pVfo-{h{v>T4ykFOC*}kHqGc55xM;5xLddiRJHMA z2MO(keNYz+G#Tn6O9jN}x#prlp(+$cLBZ{prhEunJU#gi{D1w6+y6A2r!9%NfQ$l< z1IOrOa;+}1W8csKW>abb_a|7d?z}~Y*aoTAq(}^Q3Y#tP)4$Qkd$cMSVi6AK9_Gg^}{JL31-B;%<93D%MP^VCx{cda2yv zhbQ1N50gF_YwW7i&cU+Dw|$EpALF>}GvT{Tk~UX2-*<|=DmDQ0TYvShBl6+n@`Iv{ z`q)T<;AXu&I1N)lXH3bpw}GFMx_G|=mj~_(2c}%)^}$%^PoNwtindtw#h4flR4*XBhgBFA>#ci92Y8xGEqO41Q7*pbH)iE5E$V)!i1W{V%zm%xXtRXLu z*YzDXl%Z#$%N=Oj05LDY&8#ya+uKC9yoD@91PVrTCL{A`MTmm2bm3;LF&vwvWWKOp zRGhQCM=bV*sOKuJ$W^>&X)VZgLt@bp<1NCE1e1F{xRV^onH{3iENfwl3CQ~R1~ZS`Fo< zkK}$p+RdU8gtFL{d}%J3mGYQb?A>R4?z@ULxw}S_hn{&8k}9&)luD&y=x5Vjb|`X2J}%pXlxJ6o$)!1O5f>c*4Q3L}0#z(pIHzXAm>?M4WTP>u0++pn5>{ z*u8NE@=R({h7DCCSv-(pabx>{+g6dImv$?O!I;wCZ7C7YK?q{@&=2@yz(d$p+9|(y zu)g!8DJAx5W@D($_(I8Zih<>>V#R9>K-`>>lf2E3?vLxoI}D`l*mq8;yEeFsqa>}A z*_!gDG~y91C+u(U273eWk~ji34ift>dM+k5XVy}f+M4kv_7A{ew^oyGyicpl$YZaz zYCBu{C7zIw6-2nF)ccmkXFWucM$%g*RnJ1BQYz^Z=Wf##C=PqX{>gB;WF`QnCT0X< z2FH6P`Su)iwqIqqU{}&Z((Z-t)djUJ8QKYNh%iy+ds*I_6lB=<{*nQGyKXum+L_iI z{K~R<(&@X5Two)Px)u9~2L7s)F9Sygi-rx(SGYXbX|u+?C0vx0L@kj`G%t`o!99sF z1R34C-R*=0L35pd^eq*A<#KV`()W_(lYgkoJUf9ywjtRe!_trqSuoBH`yZmyLwe6c z@-pN~N1q=b4&fA{FAp7TwkVedpXJ8WK7bxaBZf(MYB|)maHs*oW;*rN9eYMxP)2Awb{y;ttYw^vIuZ!(qqH?o^+qmCzCg{hJ+Q<9 zK^T`29H7f;2o8QAc^?EA6^`lLY&73(o@{cPnZKkFXw`B`D||c`b2B2EpmTj4$P133 ziyfsRZ|7XFkWs zHCVxLeM`J5lZuSd5>s4wUq4w(#+c`IGX`>CK|B@jEJmuCsT=p>5OJpd@k{2S$er1> zQLhZkyUWM^gj&d(VPm$Pudx?Wa*X;A8!Y{`u;%kZ0M!@oG>pd`wa0$D`gmswTrBU&N_+Yw_CQ^R2(B zR*_o6$(Zj!68sJQCt9sBU-(sT4diIjbfOvcw_&AOfDpi!=r#=>F>Yt#XOytMHh$9w zRVbiv+;R6U(-j2Be$UlHNquMAx()TACs?0j?>iNc_d$4Ko9=7j`VleiPP#rp1vRJ= zr&3|ru*}IV<4eHjvAAqe=q}aUE>KZ`93+tf(RLT=zYSq!f#scNI%@5FRvCK+W|#f8 zuZ1W^rK%gc7b#u^AJ6)hv)esuT%`+v>R{WZ8&z)tvUov;m+*g*OC3(lVf-B$3zqL( zggy~fOP_7zv@h!UC4k}H + Copyright (C) 19yy + + 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 + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision 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, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This 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 Library General +Public License instead of this License. diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/Makefile b/agc_2-X/branches/agc_2.0.5/extras/app_conference/Makefile new file mode 100644 index 00000000..d8b54a44 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/Makefile @@ -0,0 +1,121 @@ +# $Id: Makefile,v 1.9 2005/10/27 17:53:35 stevek Exp $ + +# +# Makefile, based on the Asterisk Makefile, Coypright (C) 1999, Mark Spencer +# +# Copyright (C) 2002,2003 Junghanns.NET GmbH +# +# Klaus-Peter Junghanns +# +# This program is free software and may be modified and +# distributed under the terms of the GNU Public License. +# + +.EXPORT_ALL_VARIABLES: + +# +# app_conference defines which can be passed on the command-line +# + +INSTALL_PREFIX := /usr +INSTALL_MODULES_DIR := $(INSTALL_PREFIX)/lib/asterisk/modules + +ASTERISK_INCLUDE_DIR := $(HOME)/local/asterisk/asterisk/include + +# turn app_conference debugging on or off ( 0 == OFF, 1 == ON ) +APP_CONFERENCE_DEBUG := 1 + +# 0 = OFF 1 = astdsp 2 = speex +SILDET := 2 + +# +# app_conference objects to build +# + +OBJS = app_conference.o conference.o member.o frame.o cli.o +SHAREDOS = app_conference.so + +# +# standard compile settings +# + +PROC = $(shell uname -m) +INSTALL = install +CC = gcc + +INCLUDE = -I$(ASTERISK_INCLUDE_DIR) +LIBS = -ldl -lpthread -lm +DEBUG := -g + +CFLAGS = -pipe -fPIC -Wall -Wmissing-prototypes -Wmissing-declarations $(DEBUG) $(INCLUDE) -D_REENTRANT -D_GNU_SOURCE +#CFLAGS += -O2 +#CFLAGS += -O3 -march=pentium3 -msse -mfpmath=sse,387 -ffast-math +# PERF: below is 10% faster than -O2 or -O3 alone. +#CFLAGS += -O3 -ffast-math -funroll-loops +# below is another 5% faster or so. +CFLAGS += -O3 -ffast-math -funroll-all-loops -fprefetch-loop-arrays -fsingle-precision-constant + +# this is fun for PPC +#CFLAGS += -mcpu=7450 -faltivec -mabi=altivec -mdynamic-no-pic + +# this is fun for x86 +CFLAGS += -march=pentium3 -msse -mfpmath=sse,387 + + +# adding -msse -mfpmath=sse has little effect. +#CFLAGS += -O3 -msse -mfpmath=sse +#CFLAGS += $(shell if $(CC) -march=$(PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=$(PROC)"; fi) +CFLAGS += $(shell if uname -m | grep -q ppc; then echo "-fsigned-char"; fi) +CFLAGS += -DCRYPTO + +ifeq ($(APP_CONFERENCE_DEBUG), 1) +CFLAGS += -DAPP_CONFERENCE_DEBUG +endif + +# +# additional flag values for silence detection +# + +ifeq ($(SILDET), 2) +OBJS += libspeex/preprocess.o libspeex/misc.o libspeex/smallft.o +CFLAGS += -Ilibspeex -DSILDET=2 +endif + +ifeq ($(SILDET), 1) +CFLAGS += -DSILDET=1 +endif + +OSARCH=$(shell uname -s) +ifeq (${OSARCH},Darwin) +SOLINK=-dynamic -bundle -undefined suppress -force_flat_namespace +else +SOLINK=-shared -Xlinker -x +endif + +# +# targets +# + +all: $(SHAREDOS) + +clean: + rm -f *.so *.o $(OBJS) + +app_conference.so : $(OBJS) + $(CC) -pg -shared -Xlinker -x -o $@ $(OBJS) + +vad_test: vad_test.o libspeex/preprocess.o libspeex/misc.o libspeex/smallft.o + $(CC) $(PROFILE) -o $@ $^ -lm + +install: all + for x in $(SHAREDOS); do $(INSTALL) -m 755 $$x $(INSTALL_MODULES_DIR) ; done + cp -f *.gsm /var/lib/asterisk/sounds + cp -f *.wav /var/lib/asterisk/sounds + +# /var/horizon/mojo/lib/horizoncmd restart asterisk +# make sure you restart asterisk after make install + +# config: all +# cp conf.conf /etc/asterisk/ + + diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/README b/agc_2-X/branches/agc_2.0.5/extras/app_conference/README new file mode 100644 index 00000000..2a1c5141 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/README @@ -0,0 +1,170 @@ +app_conference is a channel-independent conference application. + +Design goals +It has several design goals which are different than meetme: + + * It does not require a zap channel for timing. + * It is very efficient when used with channels which support DTX (silence + detection/discontinuous transmission). + + * It can do VAD on channels which do not support DTX (although this + is more expensive than just mixing them, but less expensive then + encoding; therefore it might still be a win). + * It presents messages on the Monitor interface for determine which + speakers are active. + + +I believe that people other than myself are using this, but my environment is +pretty rigid, and cases outside of this aren't tested: + + * Some callers come from the PSTN via IAX2 from a box with Zaptel cards, + via uLaw. + * Other callers come from iaxclient based softphones using speex + (was GSM) via IAX2 (with DTX). + * Some conferences have a single SIP channel which listens in GSM. + + +Mixing design + + * Minimize encoding/decoding, minimize mixing. + * Minimize generational loss from trancoding. + * Usual cases are handled very efficiently: + o One speaker: That speaker's frame is sent directly to each + participant which uses the same codec. It is trancoded + _once_ for each additional codec type used by participants. + o Two speakers: Each speaker gets the other speaker's frames. + The two speaker's frames are decoded and mixed, and then + encoded _once_ for each codec type used by participants. + + +License +Naturally, app_conference is GPL. The CVS also includes parts of libspeex, +which is distributed under it's a BSD-style license. + +Getting app_conference +app_conference is available from the 'iaxclient' project on sourceforge: + + * CVS browse: http://iaxclient.cvs.sourceforge.net/iaxclient/app_conference/ + * Project page: http://sourceforge.net/projects/iaxclient/ + + +Compiling app_conference + + * just like any other asterisk application. + * Some makefile fiddling may be necessary + + +Using app_conference +There is no configuration file. Conferences are created on-the-fly. + +Dialplan syntax: Conference(ConferenceName|Flags|Priority[|VADSTART|VADCONTINUE]) + + * ConferenceName: Whatever you want to name the conference + * Flags one of more of the following: + o M: Moderator (presently same as speaker) + o S: Speaker + o L: Listener + o T: "Telephone caller" (just for stats?). + o V: Do VAD on this caller + o D: Use Denoise filter on this caller. + o d: Send manager events when DTMF is received. + o q: Do not play enter or exit sounds. + o i: use inband dtmf broadcast. + o t: use rfc dtmf signal broadcast. + * Priority: Currently ignored; was to be a "speaking priority" so a + higher priority caller could "override" others. + * VADSTART: Optional: "probability" to use to detect start of speech. + * VADCONTINUE: Optional: "probability" to use to detect continuation + of speech. + + +Features / CLI/Manager Commands + + * conference debug [ on | off ] + enable debugging for a conference + + * conference show stats show conference stats + + * conference play sound [mute] + play a sound to a conference member, optionally muting them. + +Manager Events +app_conference generates several detailed manager events so that applications +interfacing with the manager API can monitor conferences: + + * ConferenceState: sent as members begin/end speaking. + Channel: The channel + State: "speaking" or "silent" + + * ConferenceDTMF: sent when conference members send DTMF to the conference + Channel: The channel + Key: The DTMF key send [0-9*#] + + * ConferenceSoundComplete: send when the conference has finished playing + a sound to a user + Channel: The channel + Sound: The first 255 bytes of the file requested in conference play + sound CLI/Mgr command. + + +Benchmarking +It would be nice to have solid benchmarks to present, but a good size +machine should be able to handle many callers when either (a) they are +using DTX, or (b) they are listen-only. It's used often with hundreds of +simultaneous callers. + +Discussion +The iaxclient-devel mailing list is probably as good a place as any to discuss. + + +--- + +app_conference is brought to you by the letter q, and the number e + + +Matt Florell Changes for VD_app_conference tarball version. In order to use this +as seemlessly as possible for VICIDIAL it was necessary to modify the code. This +module can now be used in place of using meetme for VICIDIAL. This is +experimental, please test thoroughly before putting it in production. + +CHANGES MADE FOR VICIDIAL: + +- Default to member type of S instead of L +- Commented out many repetative NOTICEs and ERRORs +- Added entry and exit sounds except for Local/786 and Local/8500998 (VDsilent and DTMFapp) +- Added conf-onlyperson mesage to first conference participant +- Included enter.gsm and leave.gsm files as well as DTMF wav and gsm sounds +- Removed restart from "make install" and added audio file copying +- If no 'd' option is set and DTMF frames are detected, the DTMF audio will be played to the member +- Added 'q' flag to prevent playing of entry/exit sounds +- Added 'i' flag to enable playing of DTMF sounds inband to all members +- Added 't' flag to enable sending of RFC DTMF signals to all members +- Changed delimiter to pipe | from slash / to be more compliant with meetme standards + + +NOTE TO 64-BIT LINUX USERS: +If you have problems with 64-bit Linux please use the included 64_Makefile instead of the default one. + +COMPILE NOTES: + +Some Makefile alterations may be necessary for your system: + +From Alek Barkley: +I am running FC4 with latest updates ( 2.6.16 kernel ) +My CPU is AMD K6 and GCC 4.0.2. + +I edited Makefile in app_conference distribution. +To enter CPU architecture in my case -march=k6 +======================================================== +PROC = k6 +# this is fun for x86 +#CFLAGS += -march=pentium3 -msse -mfpmath=sse,387 +CFLAGS += -march=k6 +=========================================================== + + +VD_app_conference CHANGELOG +- Release 0.4 - First VICIDIAL-centric release +- Release 0.5 - Fixed the dtmf broadcast logic and a star/hash bug + - Added 64-bit makefile thanks to Jon Hood +- Release 0.6 - Added Makefile notes and changed some Makefile flags diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/VICIDIAL.txt b/agc_2-X/branches/agc_2.0.5/extras/app_conference/VICIDIAL.txt new file mode 100644 index 00000000..92011ec2 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/VICIDIAL.txt @@ -0,0 +1,86 @@ +VICIDIAL and app_conference +(1.2 tree) EXPERIMENTAL!!! + +app_conference offers the plusses of being able to do conferencing +without any zaptel hardware or timers as well as doing native codec +streaming, meaning no manditory downsampling to slin like meetme. +These two features alone mean a rather significant performance boost +to companies who only use VOIP for agents and trunks as well as not +requiring the cost of zaptel hardware or the nightmare of getting +ztdummy to work on some systems. + +As of right now, I have a test system fully up and running using +app_conference with VICIDIAL on Asterisk 1.2.8. I have made several +modifications to the app_conference code to make it more of a drop-in +replacement for meetme so that it does not require any changes to the +VICIDIAL codebase. I have added entry and exit sounds(slightly +different from meetme's) as well as "only one in this conference" +message in addition to changing the default member type to speaker(S). +So far I have tested with IAX and SIP channels only and everything +works just like on meetme but I have not done any capacity testing or +tested it in production yet. + +If you want to use app_conference instead of meetme for VICIDIAL then follow these instructions: + +cd /usr/src/asterisk +wget http://www.eflo.net/files/VD_app_conference_0.6.zip +unzip VD_app_conference_0.6.zip +cd app_conference +make clean +make +make install + + +In your extensions.conf file you would replace these lines: +exten => 8600051,1,Meetme,8600051 +exten => 8600052,1,Meetme,8600052 +...continue through 8600100... +exten => 78600051,1,Meetme,8600051|q +exten => 78600052,1,Meetme,8600052|q +...continue through 78600100... +exten => 68600051,1,Meetme,8600051|mq +exten => 68600052,1,Meetme,8600052|mq +...continue through 68600100... + + +with these lines: +exten => 8600051,1,Conference(8600051) +exten => 8600052,1,Conference(8600052) +...continue through 8600100... +exten => 78600051,1,Conference(8600051|q) +exten => 78600052,1,Conference(8600052|q) +...continue through 78600100... +exten => 68600051,1,Conference(8600051|Lq) +exten => 68600052,1,Conference(8600052|Lq) +...continue through 68600100... + +NOTES: +Here are the possible feature flags for this version of app_conference: + o M: Moderator (presently same as speaker) [default] + o S: Speaker + o L: Listener + o T: "Telephone caller" (just for stats?). + o V: Do VAD on this caller + o D: Use Denoise filter on this caller. + o d: Send manager events when DTMF is received. + o q: Do not play enter or exit sounds. + o i: use inband dtmf broadcast. + o t: use rfc dtmf signal broadcast. + +COMPILE NOTES: + +Some Makefile alterations may be necessary for your system: + +From Alek Barkley: +I am running FC4 with latest updates ( 2.6.16 kernel ) +My CPU is AMD K6 and GCC 4.0.2. + +I edited Makefile in app_conference distribution. +To enter CPU architecture in my case -march=k6 +======================================================== +PROC = k6 +# this is fun for x86 +#CFLAGS += -march=pentium3 -msse -mfpmath=sse,387 +CFLAGS += -march=k6 +=========================================================== + diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/app_conference.c b/agc_2-X/branches/agc_2.0.5/extras/app_conference/app_conference.c new file mode 100644 index 00000000..9be6c3a3 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/app_conference.c @@ -0,0 +1,146 @@ + +// $Id: app_conference.c,v 1.22 2005/10/26 21:02:07 stevek Exp $ + +/* + * app_conference + * + * A channel independent conference application for Asterisk + * + * Copyright (C) 2002, 2003 Junghanns.NET GmbH + * Copyright (C) 2003, 2004 HorizonLive.com, Inc. + * + * Klaus-Peter Junghanns + * + * This program may be modified and distributed under the + * terms of the GNU Public License. + * + */ + +#include "app_conference.h" +#include "common.h" + +/* + +a conference has n + 1 threads, where n is the number of +members and 1 is a conference thread which sends audio +back to the members. + +each member thread reads frames from the channel and +add's them to the member's frame queue. + +the conference thread reads frames from each speaking members +queue, mixes them, and then re-queues them for the member thread +to send back to the user. + +*/ + +// +// app_conference text descriptions +// + +static char *tdesc = "Channel Independent Conference Application" ; +static char *app = "Conference" ; +static char *synopsis = "Channel Independent Conference" ; +static char *descrip = " Conference(): returns 0\n" +"if the user exits with the '#' key, or -1 if the user hangs up.\n" ; + +// +// functions defined in asterisk/module.h +// + +STANDARD_LOCAL_USER ; +LOCAL_USER_DECL; + +int unload_module( void ) +{ + ast_log( LOG_NOTICE, "unloading app_conference module\n" ) ; + + STANDARD_HANGUP_LOCALUSERS ; // defined in asterisk/module.h + + // register conference cli functions + unregister_conference_cli() ; + + return ast_unregister_application( app ) ; +} + +int load_module( void ) +{ + ast_log( LOG_NOTICE, "loading app_conference module [ $Revision: 1.22 $ ]\n" ) ; + + // intialize conference + init_conference() ; + + // register conference cli functions + register_conference_cli() ; + + return ast_register_application( app, app_conference_main, synopsis, descrip ) ; +} + +char *description( void ) +{ + return tdesc ; +} + +int usecount( void ) +{ + int res; + STANDARD_USECOUNT( res ) ; // defined in asterisk/module.h + return res; +} + +char *key() +{ + return ASTERISK_GPL_KEY ; +} + +// +// main app_conference function +// + +int app_conference_main( struct ast_channel* chan, void* data ) +{ + int res = 0 ; + struct localuser *u ; + + // defined in asterisk/module.h + LOCAL_USER_ADD( u ) ; + + // call member thread function + res = member_exec( chan, data ) ; + + // defined in asterisk/module.h + LOCAL_USER_REMOVE( u ) ; + + return res ; +} + +// +// utility functions +// + +// now returns milliseconds +long usecdiff( struct timeval* timeA, struct timeval* timeB ) +{ + long a_secs = timeA->tv_sec - timeB->tv_sec ; + long b_secs = (long)( timeA->tv_usec / 1000 ) - (long)( timeB->tv_usec / 1000 ) ; + long u_secs = ( a_secs * 1000 ) + b_secs ; + return u_secs ; +} + +// increment a timeval by ms milliseconds +void add_milliseconds( struct timeval* tv, long ms ) +{ + // add the microseconds to the microseconds field + tv->tv_usec += ( ms * 1000 ) ; + + // calculate the number of seconds to increment + long s = ( tv->tv_usec / 1000000 ) ; + + // adjust the microsends field + if ( s > 0 ) tv->tv_usec -= ( s * 1000000 ) ; + + // increment the seconds field + tv->tv_sec += s ; + + return ; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/app_conference.h b/agc_2-X/branches/agc_2.0.5/extras/app_conference/app_conference.h new file mode 100644 index 00000000..695a65a9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/app_conference.h @@ -0,0 +1,200 @@ + +// $Id: app_conference.h,v 1.11 2005/12/16 22:31:58 stevek Exp $ + +/* + * app_conference + * + * A channel independent conference application for Asterisk + * + * Copyright (C) 2002, 2003 Junghanns.NET GmbH + * Copyright (C) 2003, 2004 HorizonLive.com, Inc. + * + * Klaus-Peter Junghanns + * + * This program may be modified and distributed under the + * terms of the GNU Public License. + * + */ + +#ifndef _ASTERISK_CONF_H +#define _ASTERISK_CONF_H + +#include + +/* asterisk includes */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* standard includes */ +#include +#include +#include +#include + +#include + +#if (SILDET == 2) +#include "libspeex/speex_preprocess.h" +#endif + +// +// app_conference defines +// + +// debug logging level + +// LOG_NOTICE for debugging, LOG_DEBUG for production +#ifdef APP_CONFERENCE_DEBUG +#define AST_CONF_DEBUG LOG_NOTICE +#else +#define AST_CONF_DEBUG LOG_DEBUG +#endif + +// +// feature defines +// + +// number of times the last non-silent frame should be +// repeated after silence starts +//#define AST_CONF_CACHE_LAST_FRAME 1 + +// +// debug defines +// + +#define DEBUG_USE_TIMELOG + +#define DEBUG_FRAME_TIMESTAMPS + +// #define DEBUG_OUTPUT_PCM + +// +// !!! THESE CONSTANTS SHOULD BE CLEANED UP AND CLARIFIED !!! +// + +// +// sample information for AST_FORMAT_SLINEAR format +// + +#define AST_CONF_SAMPLE_RATE 8000 +#define AST_CONF_SAMPLE_SIZE 16 +#define AST_CONF_FRAME_INTERVAL 20 + +// +// so, since we cycle approximately every 20ms, +// we can compute the following values: +// +// 160 samples per 20 ms frame -or- +// ( 8000 samples-per-second * ( 20 ms / 1000 ms-per-second ) ) = 160 samples +// +// 320 bytes ( 2560 bits ) of data 20 ms frame -or- +// ( 160 samples * 16 bits-per-sample / 8 bits-per-byte ) = 320 bytes +// + +// 160 samples 16-bit signed linear +#define AST_CONF_BLOCK_SAMPLES 160 + +// 2 bytes per sample ( i.e. 16-bit ) +#define AST_CONF_BYTES_PER_SAMPLE 2 + +// 320 bytes for each 160 sample frame of 16-bit audio +#define AST_CONF_FRAME_DATA_SIZE 320 + +// 1000 ms-per-second / 20 ms-per-frame = 50 frames-per-second +#define AST_CONF_FRAMES_PER_SECOND ( 1000 / AST_CONF_FRAME_INTERVAL ) + + +// +// buffer and queue values +// + +// account for friendly offset when allocating buffer for frame +#define AST_CONF_BUFFER_SIZE ( AST_CONF_FRAME_DATA_SIZE + AST_FRIENDLY_OFFSET ) + +// maximum number of frames queued per member +#define AST_CONF_MAX_QUEUE 100 + +// minimum number of frames queued per member +#define AST_CONF_MIN_QUEUE 0 + +// number of queued frames before we start dropping +#define AST_CONF_QUEUE_DROP_THRESHOLD 4 + +// number of milliseconds between frame drops +#define AST_CONF_QUEUE_DROP_TIME_LIMIT 750 + +// +// timer and sleep values +// + +// milliseconds we're willing to wait for a channel +// event before we check for outgoing frames +#define AST_CONF_WAITFOR_LATENCY 40 + +// milliseconds to sleep before trying to process frames +#define AST_CONF_CONFERENCE_SLEEP 40 + +// milliseconds to wait between state notification updates +#define AST_CONF_NOTIFICATION_SLEEP 500 + +// +// warning threshold values +// + +// number of frames behind before warning +#define AST_CONF_OUTGOING_FRAMES_WARN 50 + +// number of milliseconds off AST_CONF_FRAME_INTERVAL before warning +#define AST_CONF_INTERVAL_WARNING 1000 + +// +// silence detection values +// + +// toggle silence detection +#define ENABLE_SILENCE_DETECTION 1 + +// silence threshold +#define AST_CONF_SILENCE_THRESHOLD 128 + +// speech tail (delay before dropping silent frames, in ms. +// #define AST_CONF_SPEECH_TAIL 180 + +// number of frames to ignore speex_preprocess() after speech detected +#define AST_CONF_SKIP_SPEEX_PREPROCESS 20 + +// our speex probability values +#define AST_CONF_PROB_START 0.05 +#define AST_CONF_PROB_CONTINUE 0.02 + +// +// format translation values +// + +// AST_FORMAT_MAX_AUDIO is 1 << 15, so we support 0..15 +#define AC_SUPPORTED_FORMATS 16 +#define AC_SLINEAR_INDEX 6 + +// +// app_conference functions +// + +// main module function +int app_conference_main( struct ast_channel* chan, void* data ) ; + +// utility functions +long usecdiff( struct timeval* timeA, struct timeval* timeB ) ; +void add_milliseconds( struct timeval* tv, long ms ) ; + +#endif + + diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/cli.c b/agc_2-X/branches/agc_2.0.5/extras/app_conference/cli.c new file mode 100644 index 00000000..d5797034 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/cli.c @@ -0,0 +1,332 @@ + +// $Id: cli.c,v 1.6 2005/12/21 21:34:50 stevek Exp $ + +/* + * app_conference + * + * A channel independent conference application for Asterisk + * + * Copyright (C) 2002, 2003 Junghanns.NET GmbH + * Copyright (C) 2003, 2004 HorizonLive.com, Inc. + * + * Klaus-Peter Junghanns + * + * This program may be modified and distributed under the + * terms of the GNU Public License. + * + */ + +#include "cli.h" + +// +// debug functions +// + +static char conference_debug_usage[] = + "usage: conference debug [ on | off ]\n" + " enable debugging for a conference\n" +; + +static struct ast_cli_entry cli_debug = { + { "conference", "debug", NULL }, + conference_debug, + "enable debugging for a conference", + conference_debug_usage +} ; + + +int conference_debug( int fd, int argc, char *argv[] ) +{ + if ( argc < 3 ) + return RESULT_SHOWUSAGE ; + + // get the conference name + const char* name = argv[2] ; + + // get the new state + int state = 0 ; + + if ( argc == 3 ) + { + // no state specified, so toggle it + state = -1 ; + } + else + { + if ( strncasecmp( name, "YES", 4 ) == 0 ) + state = 1 ; + else if ( strncasecmp( name, "NO", 3 ) == 0 ) + state = 0 ; + else + return RESULT_SHOWUSAGE ; + } + + int new_state = set_conference_debugging( name, state ) ; + + if ( new_state == 1 ) + { + ast_cli( fd, "enabled conference debugging, name => %s, new_state => %d\n", + name, new_state ) ; + } + else if ( new_state == 0 ) + { + ast_cli( fd, "disabled conference debugging, name => %s, new_state => %d\n", + name, new_state ) ; + } + else + { + // error setting state + ast_cli( fd, "\nunable to set debugging state, name => %s\n\n", name ) ; + } + + return RESULT_SUCCESS ; +} + +// +// stats functions +// + +static char conference_show_stats_usage[] = + "usage: conference show stats\n" + " display stats for active conferences.\n" +; + +static struct ast_cli_entry cli_show_stats = { + { "conference", "show", "stats", NULL }, + conference_show_stats, + "show conference stats", + conference_show_stats_usage +} ; + +int conference_show_stats( int fd, int argc, char *argv[] ) +{ + if ( argc < 3 ) + return RESULT_SHOWUSAGE ; + + // get count of active conferences + int count = get_conference_count() ; + + ast_cli( fd, "\n\nCONFERENCE STATS, ACTIVE( %d )\n\n", count ) ; + + // if zero, go no further + if ( count <= 0 ) + return RESULT_SUCCESS ; + + // + // get the conference stats + // + + // array of stats structs + ast_conference_stats stats[ count ] ; + + // get stats structs + count = get_conference_stats( stats, count ) ; + + // make sure we were able to fetch some + if ( count <= 0 ) + { + ast_cli( fd, "!!! error fetching conference stats, available => %d !!!\n", count ) ; + return RESULT_SUCCESS ; + } + + // + // output the conference stats + // + + // output header + ast_cli( fd, "%-20.20s %-40.40s %-40.40s\n", "Name", "Connection Type", "Member Type" ) ; + ast_cli( fd, "%-20.20s %-40.40s %-40.40s\n", "----", "---------------", "-----------" ) ; + + ast_conference_stats* s = NULL ; + + char ct[64] ; + char mt[64] ; + + int i; + for ( i = 0 ; i < count ; ++i ) + { + s = &(stats[i]) ; + + // format connection type + snprintf( ct, 40, "phone( %d ), iax( %d ), sip( %d )", + s->phone, s->iaxclient, s->sip ) ; + + // format memeber type + snprintf( mt, 40, "moderators( %d ), listeners( %d )", + s->moderators, s->listeners ) ; + + // output this conferences stats + ast_cli( fd, "%-20.20s %-40.40s %-40.40s\n", (char*)( &(s->name) ), ct, mt ) ; + } + + ast_cli( fd, "\n" ) ; + + // + // drill down to specific stats + // + + if ( argc == 4 ) + { + // show stats for a particular conference + conference_show_stats_name( fd, argv[3] ) ; + } + + return RESULT_SUCCESS ; +} + +int conference_show_stats_name( int fd, const char* name ) +{ + // not implemented yet + return RESULT_SUCCESS ; +} + +// +// play sound +// + +static char conference_play_sound_usage[] = + "usage: conference play sound [mute]\n" + " play sound to conference member .\n" + " mute the channel if 'mute' is present.\n" +; + +static struct ast_cli_entry cli_play_sound = { + { "conference", "play", "sound", NULL }, + conference_play_sound, + "play a sound to a conference member", + conference_play_sound_usage +} ; + +int conference_play_sound( int fd, int argc, char *argv[] ) +{ + char *channel, *file; + int mute = 0; + struct ast_conf_member *member; + struct ast_conf_soundq *newsound; + struct ast_conf_soundq **q; + + if ( argc < 5 ) + return RESULT_SHOWUSAGE ; + + channel = argv[3]; + file = argv[4]; + + if(argc > 5 && !strcmp(argv[5], "mute")) + mute = 1; + + + member = find_member(channel, 1); + if(!member) { + ast_cli(fd, "Member %s not found\n", channel); + return RESULT_FAILURE; + } + + newsound = calloc(1,sizeof(struct ast_conf_soundq)); + newsound->stream = ast_openstream(member->chan, file, NULL); + if(!newsound->stream) { + ast_cli(fd, "Sound %s not found\n", file); + free(newsound); + ast_mutex_unlock(&member->lock); + return RESULT_FAILURE; + } + member->chan->stream = NULL; + + newsound->muted = mute; + ast_copy_string(newsound->name, file, sizeof(newsound->name)); + + // append sound to the end of the list. + for(q=&member->soundq; *q; q = &((*q)->next)) ;; + + *q = newsound; + + ast_mutex_unlock(&member->lock); + + ast_cli( fd, "Playing sound %s to member %s %s\n", + file, channel, mute ? "with mute" : ""); + + + return RESULT_SUCCESS ; +} + +// +// stop sounds +// + +static char conference_stop_sounds_usage[] = + "usage: conference stop sounds \n" + " stop sounds for conference member .\n" +; + +static struct ast_cli_entry cli_stop_sounds = { + { "conference", "stop", "sounds", NULL }, + conference_stop_sounds, + "stop sounds for a conference member", + conference_stop_sounds_usage +} ; + +int conference_stop_sounds( int fd, int argc, char *argv[] ) +{ + char *channel; + struct ast_conf_member *member; + struct ast_conf_soundq *sound; + struct ast_conf_soundq *next; + + if ( argc < 4 ) + return RESULT_SHOWUSAGE ; + + channel = argv[3]; + + member = find_member(channel, 1); + if(!member) { + ast_cli(fd, "Member %s not found\n", channel); + return RESULT_FAILURE; + } + + + + // clear all sounds + sound = member->soundq; + member->soundq = NULL; + + while(sound) { + next = sound->next; + ast_closestream(sound->stream); + free(sound); + sound = next; + } + + // reset write format, since we're done playing the sound + if ( ast_set_write_format( member->chan, member->write_format ) < 0 ) + { + ast_log( LOG_ERROR, "unable to set write format to %d\n", + member->write_format ) ; + } + + ast_mutex_unlock(&member->lock); + + ast_cli( fd, "Stopped sounds to member %s\n", channel); + + + return RESULT_SUCCESS ; +} + + +// +// cli initialization function +// + +void register_conference_cli( void ) +{ + ast_cli_register( &cli_debug ) ; + ast_cli_register( &cli_show_stats ) ; + ast_cli_register( &cli_play_sound ) ; + ast_cli_register( &cli_stop_sounds ) ; +} + +void unregister_conference_cli( void ) +{ + ast_cli_unregister( &cli_debug ) ; + ast_cli_unregister( &cli_show_stats ) ; + ast_cli_unregister( &cli_play_sound ) ; + ast_cli_unregister( &cli_stop_sounds ) ; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/cli.h b/agc_2-X/branches/agc_2.0.5/extras/app_conference/cli.h new file mode 100644 index 00000000..735b284d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/cli.h @@ -0,0 +1,47 @@ + +// $Id: cli.h,v 1.3 2005/10/26 21:02:07 stevek Exp $ + +/* + * app_conference + * + * A channel independent conference application for Asterisk + * + * Copyright (C) 2002, 2003 Junghanns.NET GmbH + * Copyright (C) 2003, 2004 HorizonLive.com, Inc. + * + * Klaus-Peter Junghanns + * + * This program may be modified and distributed under the + * terms of the GNU Public License. + * + */ + +#ifndef _APP_CONF_CLI_H +#define _APP_CONF_CLI_H + +// +// includes +// + +#include "app_conference.h" +#include "common.h" + +// +// function declarations +// + +int conference_show_stats( int fd, int argc, char *argv[] ) ; +int conference_show_stats_name( int fd, const char* name ) ; + + +int conference_debug( int fd, int argc, char *argv[] ) ; +int conference_no_debug( int fd, int argc, char *argv[] ) ; + +int conference_play_sound( int fd, int argc, char *argv[] ) ; +int conference_stop_sounds( int fd, int argc, char *argv[] ) ; + +void register_conference_cli( void ) ; +void unregister_conference_cli( void ) ; + + +#endif diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/common.h b/agc_2-X/branches/agc_2.0.5/extras/app_conference/common.h new file mode 100644 index 00000000..a8015462 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/common.h @@ -0,0 +1,50 @@ + +// $Id: common.h,v 1.3 2005/10/26 21:02:07 stevek Exp $ + +/* + * app_conference + * + * A channel independent conference application for Asterisk + * + * Copyright (C) 2002, 2003 Junghanns.NET GmbH + * Copyright (C) 2003, 2004 HorizonLive.com, Inc. + * + * Klaus-Peter Junghanns + * + * This program may be modified and distributed under the + * terms of the GNU Public License. + * + */ + +#ifndef _APP_CONF_COMMON_H +#define _APP_CONF_COMMON_H + +// typedef includes +#include "conf_frame.h" + +// function includesee +#include "conference.h" +#include "member.h" +#include "frame.h" +#include "cli.h" + + +/* Utility functions */ + +/* LOG the time taken to execute a function (like lock acquisition */ +#if 1 +#define TIMELOG(func,min,message) \ + do { \ + struct timeval t1, t2; \ + int diff; \ + gettimeofday(&t1,NULL); \ + func; \ + gettimeofday(&t2,NULL); \ + if((diff = usecdiff(&t2, &t1)) > min) \ + ast_log( AST_CONF_DEBUG, "TimeLog: %s: %d ms\n", message, diff); \ + } while (0) +#else +#define TIMELOG(func,min,message) func +#endif + +#endif diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/conf_frame.h b/agc_2-X/branches/agc_2.0.5/extras/app_conference/conf_frame.h new file mode 100644 index 00000000..24cac7f9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/conf_frame.h @@ -0,0 +1,61 @@ + +// $Id: conf_frame.h,v 1.3 2005/10/26 21:02:07 stevek Exp $ + +/* + * app_conference + * + * A channel independent conference application for Asterisk + * + * Copyright (C) 2002, 2003 Junghanns.NET GmbH + * Copyright (C) 2003, 2004 HorizonLive.com, Inc. + * + * Klaus-Peter Junghanns + * + * This program may be modified and distributed under the + * terms of the GNU Public License. + * + */ + +#ifndef _APP_CONF_STRUCTS_H +#define _APP_CONF_STRUCTS_H + +// +// includes +// + +#include "app_conference.h" +#include "common.h" + +// +// struct declarations +// + +typedef struct conf_frame +{ + // frame audio data + struct ast_frame* fr ; + + // array of converted versions for listeners + struct ast_frame* converted[ AC_SUPPORTED_FORMATS ] ; + + // pointer to the frame's owner + struct ast_conf_member* member ; // who sent this frame + + // frame meta data +// struct timeval timestamp ; +// unsigned long cycleid ; +// int priority ; + + // linked-list pointers + struct conf_frame* next ; + struct conf_frame* prev ; + + // should this frame be preserved + short static_frame ; + + // pointer to mixing buffer + char* mixed_buffer ; +} conf_frame ; + + +#endif diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/conference.c b/agc_2-X/branches/agc_2.0.5/extras/app_conference/conference.c new file mode 100644 index 00000000..4bdb64ca --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/conference.c @@ -0,0 +1,1410 @@ + +// $Id: conference.c,v 1.7 2005/10/27 17:53:35 stevek Exp $ + +/* + * app_conference + * + * A channel independent conference application for Asterisk + * + * Copyright (C) 2002, 2003 Junghanns.NET GmbH + * Copyright (C) 2003, 2004 HorizonLive.com, Inc. + * + * Klaus-Peter Junghanns + * + * This program may be modified and distributed under the + * terms of the GNU Public License. + * + */ + +#include "conference.h" +#include "regex.h" + +// +// static variables +// + +// single-linked list of current conferences +static struct ast_conference *conflist = NULL ; + +// mutex for synchronizing access to conflist +AST_MUTEX_DEFINE_STATIC(conflist_lock); +//static ast_mutex_t conflist_lock = AST_MUTEX_INITIALIZER ; + +// mutex for synchronizing calls to start_conference() and remove_conf() +AST_MUTEX_DEFINE_STATIC(start_stop_conf_lock); +//static ast_mutex_t start_stop_conf_lock = AST_MUTEX_INITIALIZER ; + +static int conference_count = 0 ; + +// +// main conference function +// + +void conference_exec( struct ast_conference *conf ) +{ + + struct ast_conf_member *member, *temp_member , *membertest; + struct conf_frame *cfr, *spoken_frames, *send_frames ; + + // count number of speakers, number of listeners + int speaker_count ; + int listener_count ; + + ast_log( AST_CONF_DEBUG, "[ $Revision: 1.7 $ ] entered conference_exec, name => %s\n", conf->name ) ; + + // timer timestamps + struct timeval base, curr, notify ; + gettimeofday( &base, NULL ) ; + gettimeofday( ¬ify, NULL ) ; + + // holds differences of curr and base + long time_diff = 0 ; + long time_sleep = 0 ; + + int since_last_slept = 0 ; + + // + // variables for checking thread frequency + // + + // count to AST_CONF_FRAMES_PER_SECOND + int tf_count = 0 ; + long tf_diff = 0 ; + float tf_frequency = 0.0 ; + + struct timeval tf_base, tf_curr ; + gettimeofday( &tf_base, NULL ) ; + + // + // main conference thread loop + // + + + while ( 42 == 42 ) + { + // update the current timestamp + gettimeofday( &curr, NULL ) ; + + // calculate difference in timestamps + time_diff = usecdiff( &curr, &base ) ; + + // calculate time we should sleep + time_sleep = AST_CONF_FRAME_INTERVAL - time_diff ; + + if ( time_sleep > 0 ) + { + // sleep for sleep_time ( as milliseconds ) + usleep( time_sleep * 1000 ) ; + + // reset since last slept counter + since_last_slept = 0 ; + + continue ; + } + else + { + // long sleep warning + if ( + since_last_slept == 0 + && time_diff > AST_CONF_CONFERENCE_SLEEP * 2 + ) + { + ast_log( + AST_CONF_DEBUG, + "long scheduling delay, time_diff => %ld, AST_CONF_FRAME_INTERVAL => %d\n", + time_diff, AST_CONF_FRAME_INTERVAL + ) ; + } + + // increment times since last slept + ++since_last_slept ; + + // sleep every other time + if ( since_last_slept % 2 ) + usleep( 0 ) ; + } + + // adjust the timer base ( it will be used later to timestamp outgoing frames ) + add_milliseconds( &base, AST_CONF_FRAME_INTERVAL ) ; + + // + // check thread frequency + // + + if ( ++tf_count >= AST_CONF_FRAMES_PER_SECOND ) + { + // update current timestamp + gettimeofday( &tf_curr, NULL ) ; + + // compute timestamp difference + tf_diff = usecdiff( &tf_curr, &tf_base ) ; + + // compute sampling frequency + tf_frequency = ( float )( tf_diff ) / ( float )( tf_count ) ; + + if ( + ( tf_frequency <= ( float )( AST_CONF_FRAME_INTERVAL - 1 ) ) + || ( tf_frequency >= ( float )( AST_CONF_FRAME_INTERVAL + 1 ) ) + ) + { + ast_log( + LOG_WARNING, + "processed frame frequency variation, name => %s, tf_count => %d, tf_diff => %ld, tf_frequency => %2.4f\n", + conf->name, tf_count, tf_diff, tf_frequency + ) ; + } + + // reset values + tf_base = tf_curr ; + tf_count = 0 ; + } + + //-----------------// + // INCOMING FRAMES // + //-----------------// + + // ast_log( AST_CONF_DEBUG, "PROCESSING FRAMES, conference => %s, step => %d, ms => %ld\n", + // conf->name, step, ( base.tv_usec / 20000 ) ) ; + + // acquire conference mutex + TIMELOG(ast_mutex_lock( &conf->lock ),1,"conf thread conf lock"); + + // update the current delivery time + conf->delivery_time = base ; + + // + // loop through the list of members + // ( conf->memberlist is a single-linked list ) + // + + // ast_log( AST_CONF_DEBUG, "begin processing incoming audio, name => %s\n", conf->name ) ; + + // reset speaker and listener count + speaker_count = 0 ; + listener_count = 0 ; + + // get list of conference members + member = conf->memberlist ; + + // reset pointer lists + spoken_frames = NULL ; + + // loop over member list to retrieve queued frames + while ( member != NULL ) + { + // acquire member mutex + TIMELOG(ast_mutex_lock( &member->lock ),1,"conf thread member lock") ; + + // check for dead members + if ( member->remove_flag == 1 ) + { + // leave message for other members of the conference + membertest = conf->memberlist ; + + int silent_exit = 0 ; + if (member->quiet_entry_exit == -1) + { + silent_exit = 1 ; + } + + while (membertest != NULL) + { + if (silent_exit < 1) + { + if(!strcmp(membertest->channel_name, member->channel_name)) + { + ast_log( LOG_ERROR, "skipping leave message on %s\n", membertest->channel_name ) ; + } + else + { + if (!basic_play_sound ( membertest->channel_name, "leave" )) + { + ast_log( LOG_ERROR, "playing conference leave message FAILED on %s\n", membertest->channel_name ) ; + } + } + } + else + { + ast_log( LOG_NOTICE, "skipping all entry messages on %s\n", membertest->channel_name ) ; + } + membertest = membertest->next; + } + + + ast_log( LOG_NOTICE, "found member slated for removal, channel => %s\n", member->channel_name ) ; + temp_member = member->next ; + remove_member( member, conf ) ; + member = temp_member ; + continue ; + } + + // get speaking member's audio frames, + if ( member->type == 'L' ) + { + // listeners never have frames + cfr = NULL ; + } + else + { + // tell member the number of frames we're going to need ( used to help dropping algorithm ) + member->inFramesNeeded = ( time_diff / AST_CONF_FRAME_INTERVAL ) - 1 ; + +// !!! TESTING !!! +if ( + conf->debug_flag == 1 + && member->inFramesNeeded > 0 +) +{ + ast_log( AST_CONF_DEBUG, "channel => %s, inFramesNeeded => %d, inFramesCount => %d\n", + member->channel_name, member->inFramesNeeded, member->inFramesCount ) ; +} + + // non-listener member should have frames, + // unless silence detection dropped them + cfr = get_incoming_frame( member ) ; + } + + // handle retrieved frames + if ( cfr == NULL ) + { + // this member is listen-only, or has not spoken + // ast_log( AST_CONF_DEBUG, "silent member, channel => %s\n", member->channel_name ) ; + +// !!! TESTING !!! +#if 0 +if ( member->speaking_state == 1 ) +{ + ast_log( AST_CONF_DEBUG, "member has stopped speaking, channel => %s, incoming => %d, outgoing => %d\n", + member->channel_name, member->inFramesCount, member->outFramesCount ) ; +} +#endif +if ( conf->debug_flag == 1 ) +{ + ast_log( AST_CONF_DEBUG, "member is silent, channel => %s, incoming => %d, outgoing => %d\n", + member->channel_name, member->inFramesCount, member->outFramesCount ) ; +} + + // mark member as silent + member->speaking_state = 0 ; + + // count the listeners + ++listener_count ; + } + else if ( cfr->fr == NULL ) + { + ast_log( AST_CONF_DEBUG, "got incoming conf_frame with null ast_frame\n" ) ; + +// !!! TESTING !!! +#if 0 +if ( member->speaking_state == 1 ) +{ + ast_log( AST_CONF_DEBUG, "member has stopped speaking, channel => %s, incoming => %d, outgoing => %d\n", + member->channel_name, member->inFramesCount, member->outFramesCount ) ; +} +#endif +if ( conf->debug_flag == 1 ) +{ + ast_log( AST_CONF_DEBUG, "member is silent, channel => %s, incoming => %d, outgoing => %d\n", + member->channel_name, member->inFramesCount, member->outFramesCount ) ; +} + + // mark member as silent + member->speaking_state = 0 ; + + // count the listeners + ++listener_count ; + } + else + { + // this speaking member has spoken + // ast_log( AST_CONF_DEBUG, "speaking member, channel => %s\n", member->channel_name ) ; + + // append the frame to the list of spoken frames + if ( spoken_frames != NULL ) + { + // add new frame to end of list + cfr->next = spoken_frames ; + spoken_frames->prev = cfr ; + } + + // point the list at the new frame + spoken_frames = cfr ; + +// !!! TESTING !!! +#if 0 +if ( member->speaking_state == 0 ) +{ + ast_log( AST_CONF_DEBUG, "member has started speaking, channel => %s, incoming => %d, outgoing => %d\n", + member->channel_name, member->inFramesCount, member->outFramesCount ) ; +} +#endif +if ( conf->debug_flag == 1 ) +{ + ast_log( AST_CONF_DEBUG, "member is speaking, channel => %s, incoming => %d, outgoing => %d\n", + member->channel_name, member->inFramesCount, member->outFramesCount ) ; +} + + // mark member as speaker + member->speaking_state = 1 ; + member->speaking_state_notify = 1 ; + + // count the speakers + ++speaker_count ; + } + + // release member mutex + ast_mutex_unlock( &member->lock ) ; + + // adjust our pointer to the next inline + member = member->next ; + } + + // + // break, if we have no more members + // + + if ( conf->membercount == 0 ) + { + ast_log( LOG_NOTICE, "removing conference, count => %d, name => %s\n", conf->membercount, conf->name ) ; + remove_conf( conf ) ; // stop the conference + break ; // break from main processing loop + } + + // ast_log( AST_CONF_DEBUG, "finished processing incoming audio, name => %s\n", conf->name ) ; + + + //---------------// + // MIXING FRAMES // + //---------------// + + // mix frames and get batch of outgoing frames + send_frames = mix_frames( spoken_frames, speaker_count, listener_count ) ; + + // accounting: if there are frames, count them as one incoming frame + if ( send_frames != NULL ) + { + // set delivery timestamp + // set_conf_frame_delivery( send_frames, base ) ; + + // ast_log( AST_CONF_DEBUG, "base => %ld.%ld %d\n", base.tv_sec, base.tv_usec, ( int )( base.tv_usec / 1000 ) ) ; + + conf->stats.frames_in++ ; + } + + //-----------------// + // OUTGOING FRAMES // + //-----------------// + + + // + // queue send frames + // + + // ast_log( AST_CONF_DEBUG, "begin queueing outgoing audio, name => %s\n", conf->name ) ; + + // + // loop over member list to queue outgoing frames + // + for ( member = conf->memberlist ; member != NULL ; member = member->next ) + { + // skip members that are not ready + if ( member->ready_for_outgoing == 0 ) + continue ; + + if ( member->speaking_state == 0 ) + { + // queue listener frame + queue_frame_for_listener( conf, member, send_frames ) ; + } + else + { + // queue speaker frame + queue_frame_for_speaker( conf, member, send_frames ) ; + } + } + + // ast_log( AST_CONF_DEBUG, "end queueing outgoing audio, name => %s\n", conf->name ) ; + + //---------// + // CLEANUP // + //---------// + + // clean up send frames + while ( send_frames != NULL ) + { + // accouting: count all frames and mixed frames + if ( send_frames->member == NULL ) + conf->stats.frames_out++ ; + else + conf->stats.frames_mixed++ ; + + // delete the frame + send_frames = delete_conf_frame( send_frames ) ; + } + + // + // notify the manager of state changes every 500 milliseconds + // + + if ( ( usecdiff( &curr, ¬ify ) / AST_CONF_NOTIFICATION_SLEEP ) >= 1 ) + { + // send the notifications + send_state_change_notifications( conf->memberlist ) ; + + // increment the notification timer base + add_milliseconds( ¬ify, AST_CONF_NOTIFICATION_SLEEP ) ; + } + + // release conference mutex + ast_mutex_unlock( &conf->lock ) ; + + // !!! TESTING !!! + // usleep( 1 ) ; + } + // end while ( 42 == 42 ) + + // + // exit the conference thread + // + + ast_log( AST_CONF_DEBUG, "exit conference_exec\n" ) ; + + // exit the thread + pthread_exit( NULL ) ; + + return ; +} + +// +// manange conference functions +// + +// called by app_conference.c:load_module() +void init_conference( void ) +{ + ast_mutex_init( &start_stop_conf_lock ) ; + ast_mutex_init( &conflist_lock ) ; +} + +struct ast_conference* start_conference( struct ast_conf_member* member ) +{ + // check input + if ( member == NULL ) + { + ast_log( LOG_WARNING, "unable to handle null member\n" ) ; + return NULL ; + } + + struct ast_conference* conf = NULL ; + + // acquire mutex + ast_mutex_lock( &start_stop_conf_lock ) ; + + // look for an existing conference + ast_log( AST_CONF_DEBUG, "attempting to find requested conference\n" ) ; + conf = find_conf( member->id ) ; + + // unable to find an existing conference, try to create one + if ( conf == NULL ) + { + // create a new conference + ast_log( AST_CONF_DEBUG, "attempting to create requested conference\n" ) ; + + // create the new conference with one member + conf = create_conf( member->id, member ) ; + + // return an error if create_conf() failed + if ( conf == NULL ) + { + ast_log( LOG_ERROR, "unable to find or create requested conference\n" ) ; + ast_mutex_unlock( &start_stop_conf_lock ) ; // release mutex + return NULL ; + } + } + else + { + // + // existing conference found, add new member to the conference + // + // once we call add_member(), this thread + // is responsible for calling delete_member() + // + add_member( member, conf ) ; + + } + + // release mutex + ast_mutex_unlock( &start_stop_conf_lock ) ; + + return conf ; +} + + +struct ast_conference* find_conf( const char* name ) +{ + // no conferences exist + if ( conflist == NULL ) + { + ast_log( AST_CONF_DEBUG, "conflist has not yet been initialized, name => %s\n", name ) ; + return NULL ; + } + + // acquire mutex + ast_mutex_lock( &conflist_lock ) ; + + struct ast_conference *conf = conflist ; + + // loop through conf list + while ( conf != NULL ) + { + if ( strncasecmp( (char*)&(conf->name), name, 80 ) == 0 ) + { + // found conf name match + ast_log( AST_CONF_DEBUG, "found conference in conflist, name => %s\n", name ) ; + break ; + } + + conf = conf->next ; + } + + // release mutex + ast_mutex_unlock( &conflist_lock ) ; + + if ( conf == NULL ) + { + ast_log( AST_CONF_DEBUG, "unable to find conference in conflist, name => %s\n", name ) ; + } + + return conf ; +} + +struct ast_conference* create_conf( char* name, struct ast_conf_member* member ) +{ + ast_log( AST_CONF_DEBUG, "entered create_conf, name => %s\n", name ) ; + + // + // allocate memory for conference + // + + struct ast_conference *conf = malloc( sizeof( struct ast_conference ) ) ; + + if ( conf == NULL ) + { + ast_log( LOG_ERROR, "unable to malloc ast_conference\n" ) ; + return NULL ; + } + + // + // initialize conference + // + + conf->next = NULL ; + conf->memberlist = NULL ; + + conf->membercount = 0 ; + conf->conference_thread = -1 ; + + conf->debug_flag = 0 ; + + // zero stats + memset( &conf->stats, 0x0, sizeof( ast_conference_stats ) ) ; + + // record start time + gettimeofday( &conf->stats.time_entered, NULL ) ; + + // copy name to conference + strncpy( (char*)&(conf->name), name, sizeof(conf->name) - 1 ) ; + strncpy( (char*)&(conf->stats.name), name, sizeof(conf->name) - 1 ) ; + + // initialize mutexes + ast_mutex_init( &conf->lock ) ; + + // build translation paths + + int c; + for ( c = 0 ; c < AC_SUPPORTED_FORMATS ; ++c ) + { + if ( c == AC_SLINEAR_INDEX ) + conf->from_slinear_paths[ c ] = NULL; + else + conf->from_slinear_paths[ c ] =ast_translator_build_path( 1 << c, AST_FORMAT_SLINEAR); + } + + // add the initial member + add_member( member, conf ) ; + + // + // prepend new conference to conflist + // + + // acquire mutex + ast_mutex_lock( &conflist_lock ) ; + + conf->next = conflist ; + conflist = conf ; + + ast_log( AST_CONF_DEBUG, "added new conference to conflist, name => %s\n", name ) ; + + // + // spawn thread for new conference, using conference_exec( conf ) + // + + // acquire conference mutexes + ast_mutex_lock( &conf->lock ) ; + + if ( pthread_create( &conf->conference_thread, NULL, (void*)conference_exec, conf ) == 0 ) + { + // detach the thread so it doesn't leak + pthread_detach( conf->conference_thread ) ; + + // release conference mutexes + ast_mutex_unlock( &conf->lock ) ; + + ast_log( AST_CONF_DEBUG, "started conference thread for conference, name => %s\n", conf->name ) ; + } + else + { + ast_log( LOG_ERROR, "unable to start conference thread for conference %s\n", conf->name ) ; + + conf->conference_thread = -1 ; + + // release conference mutexes + ast_mutex_unlock( &conf->lock ) ; + + // clean up conference + free( conf ) ; + conf = NULL ; + } + + // count new conference + if ( conf != NULL ) + ++conference_count ; + + // release mutex + ast_mutex_unlock( &conflist_lock ) ; + + return conf ; +} + +void remove_conf( struct ast_conference *conf ) +{ + // ast_log( AST_CONF_DEBUG, "attempting to remove conference, name => %s\n", conf->name ) ; + + struct ast_conference *conf_current = conflist ; + struct ast_conference *conf_temp = NULL ; + + // acquire mutex + ast_mutex_lock( &start_stop_conf_lock ) ; + + // acquire mutex + ast_mutex_lock( &conflist_lock ) ; + + // loop through list of conferences + while ( conf_current != NULL ) + { + // if conf_current point to the passed conf, + if ( conf_current == conf ) + { + if ( conf_temp == NULL ) + { + // this is the first conf in the list, so we just point + // conflist past the current conf to the next + conflist = conf_current->next ; + } + else + { + // this is not the first conf in the list, so we need to + // point the preceeding conf to the next conf in the list + conf_temp->next = conf_current->next ; + } + + // + // do some frame clean up + // + int c; + for ( c = 0 ; c < AC_SUPPORTED_FORMATS ; ++c ) + { + // free the translation paths + if ( conf_current->from_slinear_paths[ c ] != NULL ) + { + ast_translator_free_path( conf_current->from_slinear_paths[ c ] ) ; + conf_current->from_slinear_paths[ c ] = NULL ; + } + } + + // calculate time in conference + struct timeval time_exited ; + gettimeofday( &time_exited, NULL ) ; + + // total time converted to seconds + long tt = ( usecdiff( &time_exited, &conf_current->stats.time_entered ) / 1000 ) ; + + // report accounting information + ast_log( LOG_NOTICE, "conference accounting, fi => %ld, fo => %ld, fm => %ld, tt => %ld\n", + conf_current->stats.frames_in, conf_current->stats.frames_out, conf_current->stats.frames_mixed, tt ) ; + + ast_log( AST_CONF_DEBUG, "removed conference, name => %s\n", conf_current->name ) ; + + ast_mutex_unlock( &conf_current->lock ) ; + + free( conf_current ) ; + conf_current = NULL ; + + break ; + } + + // save a refence to the soon to be previous conf + conf_temp = conf_current ; + + // move conf_current to the next in the list + conf_current = conf_current->next ; + } + + // count new conference + --conference_count ; + + // release mutex + ast_mutex_unlock( &conflist_lock ) ; + + // release mutex + ast_mutex_unlock( &start_stop_conf_lock ) ; + + return ; +} + +// +// member-related functions +// + +void add_member( struct ast_conf_member *member, struct ast_conference *conf ) +{ + if ( conf == NULL ) + { + ast_log( LOG_ERROR, "unable to add member to NULL conference\n" ) ; + return ; + } + + // acquire the conference lock + ast_mutex_lock( &conf->lock ) ; + + member->next = conf->memberlist ; // next is now list + conf->memberlist = member ; // member is now at head of list + + // update conference stats + count_member( member, conf, 1 ) ; + + ast_log( AST_CONF_DEBUG, "member added to conference, name => %s\n", conf->name ) ; + + // release the conference lock + ast_mutex_unlock( &conf->lock ) ; + + return ; +} + +int remove_member( struct ast_conf_member* member, struct ast_conference* conf ) +{ + // check for member + if ( member == NULL ) + { + ast_log( LOG_WARNING, "unable to remove NULL member\n" ) ; + return -1 ; + } + + // check for conference + if ( conf == NULL ) + { + ast_log( LOG_WARNING, "unable to remove member from NULL conference\n" ) ; + return -1 ; + } + + // + // loop through the member list looking + // for the requested member + // + + struct ast_conf_member *member_list = conf->memberlist ; + struct ast_conf_member *member_temp = NULL ; + + int count = -1 ; // default return code + + while ( member_list != NULL ) + { + if ( member_list == member ) + { + // + // log some accounting information + // + + // calculate time in conference + struct timeval time_exited ; + gettimeofday( &time_exited, NULL ) ; + long tt = ( usecdiff( &time_exited, &member->time_entered ) / 1000 ) ; // convert to seconds + + ast_log( + LOG_NOTICE, + "member accounting, channel => %s, te => %ld, fi => %ld, fid => %ld, fo => %ld, fod => %ld, tt => %ld\n", + member->channel_name, + member->time_entered.tv_sec, member->frames_in, member->frames_in_dropped, + member->frames_out, member->frames_out_dropped, tt + ) ; + + // + // if this is the first member in the linked-list, + // skip over the first member in the list, else + // + // point the previous 'next' to the current 'next', + // thus skipping the current member in the list + // + if ( member_temp == NULL ) + conf->memberlist = member->next ; + else + member_temp->next = member->next ; + + // update conference stats + count = count_member( member, conf, 0 ) ; + + // delete the member + delete_member( member ) ; + + ast_log( AST_CONF_DEBUG, "removed member from conference, name => %s, remaining => %d\n", conf->name, conf->membercount ) ; + + break ; + } + + // save a pointer to the current member, + // and then point to the next member in the list + member_temp = member_list ; + member_list = member_list->next ; + } + + // return -1 on error, or the number of members + // remaining if the requested member was deleted + return count ; +} + +int count_member( struct ast_conf_member* member, struct ast_conference* conf, short add_member ) +{ + if ( member == NULL || conf == NULL ) + { + ast_log( LOG_WARNING, "unable to count member\n" ) ; + return -1 ; + } + + short delta = ( add_member == 1 ) ? 1 : -1 ; + + // member type + if ( memberIsModerator( member ) == 1 ) + { + conf->stats.moderators += delta ; + } + else + { + // count non-moderators as listeners + conf->stats.listeners += delta ; + } + + // connection type + if ( memberIsPhoneClient( member ) == 1 ) + { + conf->stats.phone += delta ; + } + else if ( memberIsIaxClient( member ) == 1 ) + { + conf->stats.iaxclient += delta ; + } + else if ( memberIsSIPClient( member ) == 1 ) + { + conf->stats.sip += delta ; + } + + // increment member count + conf->membercount += delta ; + + return conf->membercount ; +} + +// +// queue incoming frame functions +// + +int queue_frame_for_speaker( + struct ast_conference* conf, + struct ast_conf_member* member, + conf_frame* frame +) +{ + // + // check inputs + // + + if ( conf == NULL ) + { + ast_log( LOG_WARNING, "unable to queue speaker frame with null conference\n" ) ; + return -1 ; + } + + if ( member == NULL ) + { + ast_log( LOG_WARNING, "unable to queue speaker frame with null member\n" ) ; + return -1 ; + } + + // + // loop over spoken frames looking for member's appropriate match + // + + short found_flag = 0 ; + struct ast_frame* qf ; + + for ( ; frame != NULL ; frame = frame->next ) + { + if ( frame->member != member ) + continue ; + + if ( frame->fr == NULL ) + { + ast_log( LOG_WARNING, "unable to queue speaker frame with null data\n" ) ; + continue ; + } + + // + // convert and queue frame + // + + // short-cut pointer to the ast_frame + qf = frame->fr ; + + // acquire member lock + TIMELOG(ast_mutex_lock( &member->lock ),1,"queue_frame_for_speaker: memberlock") ; + + if ( qf->subclass == member->write_format ) + { + // frame is already in correct format, so just queue it + queue_outgoing_frame( member, qf, conf->delivery_time ) ; + } + else + { + // + // convert frame to member's write format + // ( calling ast_frdup() to make sure the translator's copy sticks around ) + // + qf = convert_frame_from_slinear( member->from_slinear, ast_frdup( qf ) ) ; + + if ( qf != NULL ) + { + // queue frame + queue_outgoing_frame( member, qf, conf->delivery_time ) ; + + // free frame ( the translator's copy ) + ast_frfree( qf ) ; + } + else + { + ast_log( LOG_WARNING, "unable to translate outgoing speaker frame, channel => %s\n", member->channel_name ) ; + } + } + + // release member lock + ast_mutex_unlock( &member->lock ) ; + + // set found flag + found_flag = 1 ; + + // we found the frame, skip to the next member + break ; + } + + // queue a silent frame + if ( found_flag == 0 ) + queue_silent_frame( conf, member ) ; + + return 0 ; +} + +int queue_frame_for_listener( + struct ast_conference* conf, + struct ast_conf_member* member, + conf_frame* frame +) +{ + // + // check inputs + // + + if ( conf == NULL ) + { + ast_log( LOG_WARNING, "unable to queue listener frame with null conference\n" ) ; + return -1 ; + } + + if ( member == NULL ) + { + ast_log( LOG_WARNING, "unable to queue listener frame with null member\n" ) ; + return -1 ; + } + + // + // loop over spoken frames looking for member's appropriate match + // + + short found_flag = 0 ; + struct ast_frame* qf ; + + for ( ; frame != NULL ; frame = frame->next ) + { + // we're looking for a null or matching member + if ( frame->member != NULL && frame->member != member ) + continue ; + + if ( frame->fr == NULL ) + { + ast_log( LOG_WARNING, "unknown error queueing frame for listener, frame->fr == NULL\n" ) ; + continue ; + } + + // acquire member lock + TIMELOG(ast_mutex_lock( &member->lock ),1,"queue_frame_for_listener") ; + + // first, try for a pre-converted frame + qf = frame->converted[ member->write_format_index ] ; + + /* + if ( qf != NULL && (member->smooth_size_out > 0)) { + if (qf->datalen != member->smooth_size_out ) { +//ast_log (AST_CONF_DEBUG, "ignoring and freeing previously stored frame, with datalen=>%d != smooth_size_out=>%d\n",qf->datalen,member->smooth_size_out); + ast_frfree( qf ) ; + qf = NULL ; + } + } + */ + + // convert ( and store ) the frame + if ( qf == NULL ) + { + // make a copy of the slinear version of the frame + qf = ast_frdup( frame->fr ) ; + + if ( qf == NULL ) + { + ast_log( LOG_WARNING, "unable to duplicate frame\n" ) ; + continue ; + } + + // convert using the conference's translation path + qf = convert_frame_from_slinear( conf->from_slinear_paths[ member->write_format_index ], qf ) ; + if ( qf == NULL ) + ast_log( LOG_WARNING, "unable to translate frame for listener, channel => %s , member->write_format => %d , member->write_format_index %d , qf->frametype -> %d , qf->subclass -> %d, qf->datalen=> %d, qf->samples =>%d\n", member->channel_name , member->write_format, member->write_format_index, qf->frametype, qf->subclass , qf->datalen, qf->samples) ; + + // store the converted frame + // ( the frame will be free'd next time through the loop ) + frame->converted[ member->write_format_index ] = qf ; +//ast_log (AST_CONF_DEBUG, "storing converted frame into index=>%d, qf->frametype=>%d, qf->subclass=%d, qf->datalen=%d \n",member->write_format_index, qf->frametype, qf->subclass, qf->datalen); + } + + if ( qf != NULL ) + { + // duplicate the frame before queue'ing it + // ( since this member doesn't own this _shared_ frame ) + // qf = ast_frdup( qf ) ; + + if ( queue_outgoing_frame( member, qf, conf->delivery_time ) != 0 ) + { + // free the new frame if it couldn't be queue'd + ast_frfree( qf ) ; + qf = NULL ; + } + } + else + { + ast_log( LOG_WARNING, "unable to translate outgoing listener frame, channel => %s\n", member->channel_name ) ; + } + + // release member lock + ast_mutex_unlock( &member->lock ) ; + + // set found flag + found_flag = 1 ; + + // break from for loop + break ; + } + + // queue a silent frame + if ( found_flag == 0 ) + queue_silent_frame( conf, member ) ; + + return 0 ; +} + +int queue_silent_frame( + struct ast_conference* conf, + struct ast_conf_member* member +) +{ +#ifdef APP_CONFERENCE_DEBUG + // + // check inputs + // + + if ( conf == NULL ) + { + ast_log( AST_CONF_DEBUG, "unable to queue silent frame for null conference\n" ) ; + return -1 ; + } + + if ( member == NULL ) + { + ast_log( AST_CONF_DEBUG, "unable to queue silent frame for null member\n" ) ; + return -1 ; + } +#endif // APP_CONFERENCE_DEBUG + + // + // initialize static variables + // + + static conf_frame* silent_frame = NULL ; + static struct ast_frame* qf = NULL ; + + if ( silent_frame == NULL ) + { + if ( ( silent_frame = get_silent_frame() ) == NULL ) + { + ast_log( LOG_WARNING, "unable to initialize static silent frame\n" ) ; + return -1 ; + } + } + + // acquire member lock + TIMELOG(ast_mutex_lock( &member->lock ),1,"queue_silent_frame") ; + + // get the appropriate silent frame + qf = silent_frame->converted[ member->write_format_index ] ; + + if ( qf == NULL ) + { + // + // we need to do this to avoid echo on the speaker's line. + // translators seem to be single-purpose, i.e. they + // can't be used simultaneously for multiple audio streams + // + + struct ast_trans_pvt* trans = ast_translator_build_path( member->write_format, AST_FORMAT_SLINEAR ) ; + + if ( trans != NULL ) + { + // attempt ( five times ) to get a silent frame + // to make sure we provice the translator with enough data + int c; + for ( c = 0 ; c < 5 ; ++c ) + { + // translate the frame + qf = ast_translate( trans, silent_frame->fr, 0 ) ; + + // break if we get a frame + if ( qf != NULL ) break ; + } + + if ( qf != NULL ) + { + // isolate the frame so we can keep it around after trans is free'd + qf = ast_frisolate( qf ) ; + + // cache the new, isolated frame + silent_frame->converted[ member->write_format_index ] = qf ; + } + + ast_translator_free_path( trans ) ; + } + } + + // + // queue the frame, if it's not null, + // otherwise there was an error + // + if ( qf != NULL ) + { + queue_outgoing_frame( member, qf, conf->delivery_time ) ; + } + else + { + ast_log( LOG_ERROR, "unable to translate outgoing silent frame, channel => %s\n", member->channel_name ) ; + } + + // release member lock + ast_mutex_unlock( &member->lock ) ; + + return 0 ; +} + +// +// get conference stats +// + +// +// returns: -1 => error, 0 => debugging off, 1 => debugging on +// state: on => 1, off => 0, toggle => -1 +// +int set_conference_debugging( const char* name, int state ) +{ + if ( name == NULL ) + return -1 ; + + // acquire mutex + ast_mutex_lock( &conflist_lock ) ; + + struct ast_conference *conf = conflist ; + int new_state = -1 ; + + // loop through conf list + while ( conf != NULL ) + { + if ( strncasecmp( (const char*)&(conf->name), name, 80 ) == 0 ) + { + // lock conference + // ast_mutex_lock( &(conf->lock) ) ; + + // toggle or set the state + if ( state == -1 ) + conf->debug_flag = ( conf->debug_flag == 0 ) ? 1 : 0 ; + else + conf->debug_flag = ( state == 0 ) ? 0 : 1 ; + + new_state = conf->debug_flag ; + + // unlock conference + // ast_mutex_unlock( &(conf->lock) ) ; + + break ; + } + + conf = conf->next ; + } + + // release mutex + ast_mutex_unlock( &conflist_lock ) ; + + return new_state ; +} + +int get_conference_count( void ) +{ + return conference_count ; +} + +int get_conference_stats( ast_conference_stats* stats, int requested ) +{ + // no conferences exist + if ( conflist == NULL ) + { + ast_log( AST_CONF_DEBUG, "conflist has not yet been initialize\n" ) ; + return 0 ; + } + + // acquire mutex + ast_mutex_lock( &conflist_lock ) ; + + // compare the number of requested to the number of available conferences + requested = ( get_conference_count() < requested ) ? get_conference_count() : requested ; + + // + // loop through conf list + // + + struct ast_conference* conf = conflist ; + int count = 0 ; + + while ( count <= requested && conf != NULL ) + { + // copy stats struct to array + stats[ count ] = conf->stats ; + + conf = conf->next ; + ++count ; + } + + // release mutex + ast_mutex_unlock( &conflist_lock ) ; + + return count ; +} + +int get_conference_stats_by_name( ast_conference_stats* stats, const char* name ) +{ + // no conferences exist + if ( conflist == NULL ) + { + ast_log( AST_CONF_DEBUG, "conflist has not yet been initialized, name => %s\n", name ) ; + return 0 ; + } + + // make sure stats is null + stats = NULL ; + + // acquire mutex + ast_mutex_lock( &conflist_lock ) ; + + struct ast_conference *conf = conflist ; + + // loop through conf list + while ( conf != NULL ) + { + if ( strncasecmp( (const char*)&(conf->name), name, 80 ) == 0 ) + { + // copy stats for found conference + *stats = conf->stats ; + break ; + } + + conf = conf->next ; + } + + // release mutex + ast_mutex_unlock( &conflist_lock ) ; + + return ( stats == NULL ) ? 0 : 1 ; +} + +struct ast_conf_member *find_member ( char *chan, int lock) +{ + struct ast_conf_member *found = NULL; + struct ast_conf_member *member; + struct ast_conference *conf; + + + + ast_mutex_lock( &conflist_lock ) ; + + conf = conflist; + + // loop through conf list + while ( conf != NULL && !found ) + { + // lock conference + ast_mutex_lock( &conf->lock ); + + member = conf->memberlist ; + + while (member != NULL) + { + if(!strcmp(member->channel_name, chan)) { + found = member; + if(lock) + ast_mutex_lock(&member->lock); + break; + } + member = member->next; + } + + // unlock conference + ast_mutex_unlock( &conf->lock ); + + conf = conf->next ; + } + + // release mutex + ast_mutex_unlock( &conflist_lock ) ; + + return found; +} + diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/conference.h b/agc_2-X/branches/agc_2.0.5/extras/app_conference/conference.h new file mode 100644 index 00000000..08c1018f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/conference.h @@ -0,0 +1,121 @@ + +// $Id: conference.h,v 1.6 2005/10/26 21:02:07 stevek Exp $ + +/* + * app_conference + * + * A channel independent conference application for Asterisk + * + * Copyright (C) 2002, 2003 Junghanns.NET GmbH + * Copyright (C) 2003, 2004 HorizonLive.com, Inc. + * + * Klaus-Peter Junghanns + * + * This program may be modified and distributed under the + * terms of the GNU Public License. + * + */ + +#ifndef _APP_CONF_CONFERENCE_H +#define _APP_CONF_CONFERENCE_H + +// +// includes +// + +#include "app_conference.h" +#include "common.h" + +// +// struct declarations +// + +typedef struct ast_conference_stats +{ + // conference name ( copied for ease of use ) + char name[128] ; + + // type of connection + unsigned short phone ; + unsigned short iaxclient ; + unsigned short sip ; + + // type of users + unsigned short moderators ; + unsigned short listeners ; + + // accounting data + unsigned long frames_in ; + unsigned long frames_out ; + unsigned long frames_mixed ; + + struct timeval time_entered ; + +} ast_conference_stats ; + + +struct ast_conference +{ + // conference name + char name[128] ; + + // single-linked list of members in conference + struct ast_conf_member* memberlist ; + int membercount ; + + // conference thread id + pthread_t conference_thread ; + + // conference data mutex + ast_mutex_t lock ; + + // pointer to next conference in single-linked list + struct ast_conference* next ; + + // pointer to translation paths + struct ast_trans_pvt* from_slinear_paths[ AC_SUPPORTED_FORMATS ] ; + + // conference stats + ast_conference_stats stats ; + + // keep track of current delivery time + struct timeval delivery_time ; + + // 1 => on, 0 => off + short debug_flag ; +} ; + +// +// function declarations +// + +struct ast_conference* start_conference( struct ast_conf_member* member ) ; + +void conference_exec( struct ast_conference* conf ) ; + +struct ast_conference* find_conf( const char* name ) ; +struct ast_conference* create_conf( char* name, struct ast_conf_member* member ) ; +void remove_conf( struct ast_conference* conf ) ; + +// find a particular member, locking if requested. +struct ast_conf_member *find_member ( char *chan, int lock) ; + + +int queue_frame_for_listener( struct ast_conference* conf, struct ast_conf_member* member, conf_frame* frame ) ; +int queue_frame_for_speaker( struct ast_conference* conf, struct ast_conf_member* member, conf_frame* frame ) ; +int queue_silent_frame( struct ast_conference* conf, struct ast_conf_member* member ) ; + +void add_member( struct ast_conf_member* member, struct ast_conference* conf ) ; +int remove_member( struct ast_conf_member* member, struct ast_conference* conf ) ; +int count_member( struct ast_conf_member* member, struct ast_conference* conf, short add_member ) ; + +// called by app_confernce.c:load_module() +void init_conference( void ) ; + +int get_conference_count( void ) ; +int get_conference_stats( ast_conference_stats* stats, int requested ) ; +int get_conference_stats_by_name( ast_conference_stats* stats, const char* name ) ; + +int set_conference_debugging( const char* name, int state ) ; + +#endif diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/enter.gsm b/agc_2-X/branches/agc_2.0.5/extras/app_conference/enter.gsm new file mode 100644 index 0000000000000000000000000000000000000000..aa4dafb6bc2c83c6927c27d67a3e2754660aa39d GIT binary patch literal 231 zcmcaA+Y>Jx5Y*3A%DJ1^uc)7vGJo?J3Lvs5tDcLMX8rj(!- zN5!M|rVE_6%=u)w@11hC{_oiTm&_kOjVx)(w*9xe + * + * This program may be modified and distributed under the + * terms of the GNU Public License. + * + */ + +#include "frame.h" + +conf_frame* mix_frames( conf_frame* frames_in, int speaker_count, int listener_count ) +{ + if ( frames_in == NULL ) + return NULL ; + + conf_frame* frames_out = NULL ; + + if ( speaker_count > 1 ) + { + if ( speaker_count == 2 && listener_count == 0 ) + { + // optimize here also? + frames_out = mix_multiple_speakers( frames_in, speaker_count, listener_count ) ; + } + else + { + // mix spoken frames for sending + // ( note: this call also releases us from free'ing spoken_frames ) + frames_out = mix_multiple_speakers( frames_in, speaker_count, listener_count ) ; + } + } + else if ( speaker_count == 1 ) + { + // pass-through frames + frames_out = mix_single_speaker( frames_in ) ; + } + else + { + // no frames to send, leave frames_out null + } + + return frames_out ; +} + +conf_frame* mix_single_speaker( conf_frame* frames_in ) +{ +#ifdef APP_CONFERENCE_DEBUG + // ast_log( AST_CONF_DEBUG, "returning single spoken frame\n" ) ; + + // + // check input + // + + if ( frames_in == NULL ) + { + ast_log( AST_CONF_DEBUG, "unable to mix single spoken frame with null frame\n" ) ; + return NULL ; + } + + if ( frames_in->fr == NULL ) + { + ast_log( AST_CONF_DEBUG, "unable to mix single spoken frame with null data\n" ) ; + return NULL ; + } + + if ( frames_in->member == NULL ) + { + ast_log( AST_CONF_DEBUG, "unable to mix single spoken frame with null member\n" ) ; + return NULL ; + } +#endif // APP_CONFERENCE_DEBUG + + // + // 'mix' the frame + // + + // copy orignal frame to converted array so listeners don't need to re-encode it + frames_in->converted[ frames_in->member->read_format_index ] = ast_frdup( frames_in->fr ) ; + + // convert frame to slinear, if we have a path + frames_in->fr = convert_frame_to_slinear( + frames_in->member->to_slinear, + frames_in->fr + ) ; + + // set the frame's member to null ( i.e. all listeners ) + frames_in->member = NULL ; + + return frames_in ; +} + +// { + // + // a little optimization for testing only: + // when two speakers ( of the same type ) and no listeners + // are in a conference, we just swamp the frame's member pointers + // +/* + if ( + listeners == 0 + && speakers == 2 + && cf_spokenFrames->member->read_format == cf_spokenFrames->next->member->write_format + && cf_spokenFrames->member->write_format == cf_spokenFrames->next->member->read_format + ) + { + struct ast_conf_member* m = NULL ; + m = cf_spokenFrames->member ; + cf_spokenFrames->member = cf_spokenFrames->next->member ; + cf_spokenFrames->next->member = m ; + return cf_spokenFrames ; + } +*/ +// } + +void set_conf_frame_delivery( conf_frame* frame, struct timeval time ) +{ + for ( ; frame != NULL ; frame = frame->next ) + { + if ( frame->fr != NULL ) + { + // copy passed timeval to frame's delivery timeval + frame->fr->delivery = time ; + } + } + + return ; +} + +conf_frame* mix_multiple_speakers( + conf_frame* frames_in, + int speakers, + int listeners +) +{ +#ifdef APP_CONFERENCE_DEBUG + // + // check input + // + + // no frames to mix + if ( ( frames_in == NULL ) || ( frames_in->fr == NULL ) ) + { + ast_log( AST_CONF_DEBUG, "passed spoken frame list was NULL\n" ) ; + return NULL ; + } + + // if less than two speakers, then no frames to mix + if ( speakers < 2 ) + { + ast_log( AST_CONF_DEBUG, "mix_multiple_speakers() called with less than two speakers\n" ) ; + return NULL ; + } +#endif // APP_CONFERENCE_DEBUG + + // + // at this point we know that there is more than one frame, + // and that the frames need to be converted to pcm to be mixed + // + // now, if there are only two frames and two members, + // we can swap them. ( but we'll get to that later. ) + // + + // + // loop through the spoken frames, making a list of spoken members, + // and converting gsm frames to slinear frames so we can mix them. + // + + // pointer to the spoken frames list + conf_frame* cf_spoken = frames_in ; + + // pointer to the new list of mixed frames + conf_frame* cf_sendFrames = NULL ; + + while ( cf_spoken != NULL ) + { + // + // while we're looping through the spoken frames, we'll + // convert the frame to a format suitable for mixing + // + // if the frame fails to convert, drop it and treat + // the speaking member like a listener by not adding + // them to the cf_sendFrames list + // + + if ( cf_spoken->member == NULL ) + { + ast_log( LOG_WARNING, "unable to determine frame member\n" ) ; + } + else + { + // ast_log( AST_CONF_DEBUG, "converting frame to slinear, channel => %s\n", cf_spoken->member->channel_name ) ; + cf_spoken->fr = convert_frame_to_slinear( + cf_spoken->member->to_slinear, + cf_spoken->fr + ) ; + + if ( cf_spoken->fr == NULL ) + { + ast_log( LOG_WARNING, "unable to convert frame to slinear\n" ) ; + } + else + { + // create new conf frame with last frame as 'next' + cf_sendFrames = create_conf_frame( cf_spoken->member, cf_sendFrames, NULL ) ; + } + } + + // point to the next spoken frame + cf_spoken = cf_spoken->next ; + } + + // if necessary, add a frame with a null member pointer. + // this frame will hold the audio mixed for all listeners + if ( listeners > 0 ) + { + cf_sendFrames = create_conf_frame( NULL, cf_sendFrames, NULL ) ; + } + + // + // mix the audio + // + + // convenience pointer that skips over the friendly offset + char* cp_listenerData ; + + // pointer to the send frames list + conf_frame* cf_send = NULL ; + + for ( cf_send = cf_sendFrames ; cf_send != NULL ; cf_send = cf_send->next ) + { + // allocate a mix buffer which fill large enough memory to + // hold a frame, and reset it's memory so we don't get noise + char* cp_listenerBuffer = malloc( AST_CONF_BUFFER_SIZE ) ; + memset( cp_listenerBuffer, 0x0, AST_CONF_BUFFER_SIZE ) ; + + // point past the friendly offset right to the data + cp_listenerData = cp_listenerBuffer + AST_FRIENDLY_OFFSET ; + + // reset the spoken list pointer + cf_spoken = frames_in ; + + // really mix the audio + for ( ; cf_spoken != NULL ; cf_spoken = cf_spoken->next ) + { + // + // if the members are equal, and they + // are not null, do not mix them. + // + if ( + ( cf_send->member == cf_spoken->member ) + && ( cf_send->member != NULL ) + ) + { + // don't mix this frame + } + else if ( cf_spoken->fr == NULL ) + { + ast_log( LOG_WARNING, "unable to mix conf_frame with null ast_frame\n" ) ; + } + else + { + // mix the new frame in with the existing buffer + mix_slinear_frames( cp_listenerData, (char*)( cf_spoken->fr->data ), cf_spoken->fr->samples ) ; + } + } + + // copy a pointer to the frame data to the conf_frame + cf_send->mixed_buffer = cp_listenerData ; + } + + // + // copy the mixed buffer to a new frame + // + + // reset the send list pointer + cf_send = cf_sendFrames ; + + while ( cf_send != NULL ) + { + cf_send->fr = create_slinear_frame( cf_send->mixed_buffer ) ; + cf_send = cf_send->next ; + } + + // + // clean up the spoken frames we were passed + // ( caller will only be responsible for free'ing returns frames ) + // + + // reset the spoken list pointer + cf_spoken = frames_in ; + + while ( cf_spoken != NULL ) + { + // delete the frame + cf_spoken = delete_conf_frame( cf_spoken ) ; + } + + // return the list of frames for sending + return cf_sendFrames ; +} + + +struct ast_frame* convert_frame_to_slinear( struct ast_trans_pvt* trans, struct ast_frame* fr ) +{ + // check for null frame + if ( fr == NULL ) + { + ast_log( LOG_ERROR, "unable to translate null frame to slinear\n" ) ; + return NULL ; + } + + // we don't need to duplicate this frame since + // the normal translation would free it anyway, so + // we'll just pretend we free'd and malloc'd a new one. + if ( fr->subclass == AST_FORMAT_SLINEAR ) + return fr ; + + // check for null translator ( after we've checked that we need to translate ) + if ( trans == NULL ) + { +// ast_log( LOG_ERROR, "unable to translate frame with null translation path\n" ) ; + return fr ; + } + + // return the converted frame + return convert_frame( trans, fr ) ; +} + +struct ast_frame* convert_frame_from_slinear( struct ast_trans_pvt* trans, struct ast_frame* fr ) +{ + // check for null translator ( after we've checked that we need to translate ) + if ( trans == NULL ) + { +// ast_log( LOG_ERROR, "unable to translate frame with null translation path\n" ) ; + return fr ; + } + + // check for null frame + if ( fr == NULL ) + { + ast_log( LOG_ERROR, "unable to translate null slinear frame\n" ) ; + return NULL ; + } + + // if the frame is not slinear, return an error + if ( fr->subclass != AST_FORMAT_SLINEAR ) + { + ast_log( LOG_ERROR, "unable to translate non-slinear frame\n" ) ; + return NULL ; + } + + // return the converted frame + return convert_frame( trans, fr ) ; +} + +struct ast_frame* convert_frame( struct ast_trans_pvt* trans, struct ast_frame* fr ) +{ + if ( trans == NULL ) + { + ast_log( LOG_WARNING, "unable to convert frame with null translator\n" ) ; + return NULL ; + } + + if ( fr == NULL ) + { + ast_log( LOG_WARNING, "unable to convert null frame\n" ) ; + return NULL ; + } + + // convert the frame + struct ast_frame* translated_frame = ast_translate( trans, fr, 1 ) ; + + // check for errors + if ( translated_frame == NULL ) + { + ast_log( LOG_ERROR, "unable to translate frame\n" ) ; + return NULL ; + } + + // return the translated frame + return translated_frame ; +} + +conf_frame* delete_conf_frame( conf_frame* cf ) +{ + // check for null frames + if ( cf == NULL ) + { + ast_log( AST_CONF_DEBUG, "unable to delete null conf frame\n" ) ; + return NULL ; + } + + // check for frame marked as static + if ( cf->static_frame == 1 ) + return NULL ; + + if ( cf->fr != NULL ) + { + ast_frfree( cf->fr ) ; + cf->fr = NULL ; + } + + // make sure converted frames are set to null + int c; + for ( c = 0 ; c < AC_SUPPORTED_FORMATS ; ++c ) + { + if ( cf->converted[ c ] != NULL ) + { + ast_frfree( cf->converted[ c ] ) ; + cf->converted[ c ] = NULL ; + } + } + + // get a pointer to the next frame + // in the list so we can return it + conf_frame* nf = cf->next ; + + free( cf ) ; + cf = NULL ; + + return nf ; +} + +conf_frame* create_conf_frame( struct ast_conf_member* member, conf_frame* next, const struct ast_frame* fr ) +{ + // pointer to list of mixed frames + conf_frame* cf = malloc( sizeof( struct conf_frame ) ) ; + + if ( cf == NULL ) + { + ast_log( LOG_ERROR, "unable to allocate memory for conf frame\n" ) ; + return NULL ; + } + + // + // init with some defaults + // + + // make sure converted frames are set to null +// for ( int c = 0 ; c < AC_SUPPORTED_FORMATS ; ++c ) +// { +// cf->converted[ c ] = NULL ; +// } + + memset( (struct ast_frame*)( cf->converted ), 0x0, ( sizeof( struct ast_frame* ) * AC_SUPPORTED_FORMATS ) ) ; + + cf->member = member ; + // cf->priority = 0 ; + + cf->prev = NULL ; + cf->next = next ; + + cf->static_frame = 0 ; + + // establish relationship to 'next' + if ( next != NULL ) next->prev = cf ; + + // this holds the ast_frame pointer + cf->fr = ( fr == NULL ) ? NULL : ast_frdup( ( struct ast_frame* )( fr ) ) ; + + // this holds the temporu mix buffer + cf->mixed_buffer = NULL ; + + return cf ; +} + +conf_frame* copy_conf_frame( conf_frame* src ) +{ + // + // check inputs + // + + if ( src == NULL ) + { + ast_log( AST_CONF_DEBUG, "unable to copy null conf frame\n" ) ; + return NULL ; + } + + // + // copy the frame + // + + struct conf_frame *cfr = NULL ; + + // create a new conf frame + cfr = create_conf_frame( src->member, NULL, src->fr ) ; + + if ( cfr == NULL ) + { + ast_log( AST_CONF_DEBUG, "unable to create new conf frame for copy\n" ) ; + return NULL ; + } + + return cfr ; +} + +// +// slinear frame functions +// + +struct ast_frame* create_slinear_frame( char* data ) +{ + struct ast_frame* f ; + + f = calloc( 1, sizeof( struct ast_frame ) ) ; + if ( f == NULL ) + { + ast_log( LOG_ERROR, "unable to allocate memory for slinear frame\n" ) ; + return NULL ; + } + + f->frametype = AST_FRAME_VOICE ; + f->subclass = AST_FORMAT_SLINEAR ; + f->samples = AST_CONF_BLOCK_SAMPLES ; + f->offset = AST_FRIENDLY_OFFSET ; + f->mallocd = AST_MALLOCD_HDR | AST_MALLOCD_DATA ; + + f->datalen = AST_CONF_FRAME_DATA_SIZE ; + f->data = data ; + + f->src = NULL ; + + return f ; +} + +void mix_slinear_frames( char *dst, const char *src, int samples ) +{ + if ( dst == NULL ) return ; + if ( src == NULL ) return ; + + int i, val ; + + for ( i = 0 ; i < samples ; ++i ) + { + val = ( (short*)dst )[i] + ( (short*)src )[i] ; + + if ( val > 0x7fff ) + { + ( (short*)dst )[i] = 0x7fff - 1 ; + continue ; + } + else if ( val < -0x7fff ) + { + ( (short*)dst )[i] = -0x7fff + 1 ; + continue ; + } + else + { + ( (short*)dst )[i] = val ; + continue ; + } + } + + return ; +} + +// +// silent frame functions +// + +conf_frame* get_silent_frame( void ) +{ + static conf_frame* static_silent_frame = NULL ; + + // we'll let this leak until the application terminates + if ( static_silent_frame == NULL ) + { + // ast_log( AST_CONF_DEBUG, "creating cached silent frame\n" ) ; + struct ast_frame* fr = get_silent_slinear_frame() ; + + static_silent_frame = create_conf_frame( NULL, NULL, fr ) ; + + if ( static_silent_frame == NULL ) + { + ast_log( LOG_WARNING, "unable to create cached silent frame\n" ) ; + return NULL ; + } + + // init the 'converted' slinear silent frame + static_silent_frame->converted[ AC_SLINEAR_INDEX ] = get_silent_slinear_frame() ; + + // mark frame as static so it's not deleted + static_silent_frame->static_frame = 1 ; + } + + return static_silent_frame ; +} + +struct ast_frame* get_silent_slinear_frame( void ) +{ + static struct ast_frame* f = NULL ; + + // we'll let this leak until the application terminates + if ( f == NULL ) + { + char* data = malloc( AST_CONF_BUFFER_SIZE ) ; + memset( data, 0x0, AST_CONF_BUFFER_SIZE ) ; + f = create_slinear_frame( data ) ; + } + + return ast_frdup( f ) ; +} + + diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/frame.h b/agc_2-X/branches/agc_2.0.5/extras/app_conference/frame.h new file mode 100644 index 00000000..d5b39613 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/frame.h @@ -0,0 +1,60 @@ + +// $Id: frame.h,v 1.6 2005/10/26 21:02:07 stevek Exp $ + +/* + * app_conference + * + * A channel independent conference application for Asterisk + * + * Copyright (C) 2002, 2003 Junghanns.NET GmbH + * Copyright (C) 2003, 2004 HorizonLive.com, Inc. + * + * Klaus-Peter Junghanns + * + * This program may be modified and distributed under the + * terms of the GNU Public License. + * + */ + +#ifndef _APP_CONF_FRAME_H +#define _APP_CONF_FRAME_H + +// +// includes +// + +#include "app_conference.h" +#include "common.h" + +// +// function declarations +// + +// mixing +conf_frame* mix_frames( conf_frame* frames_in, int speaker_count, int listener_count ) ; + +conf_frame* mix_multiple_speakers( conf_frame* frames_in, int speakers, int listeners ) ; +conf_frame* mix_single_speaker( conf_frame* frames_in ) ; + +// frame creation and deletion +conf_frame* create_conf_frame( struct ast_conf_member* member, conf_frame* next, const struct ast_frame* fr ) ; +conf_frame* delete_conf_frame( conf_frame* cf ) ; +conf_frame* copy_conf_frame( conf_frame* src ) ; + +// convert frame functions +struct ast_frame* convert_frame_to_slinear( struct ast_trans_pvt* trans, struct ast_frame* fr ) ; +struct ast_frame* convert_frame_from_slinear( struct ast_trans_pvt* trans, struct ast_frame* fr ) ; +struct ast_frame* convert_frame( struct ast_trans_pvt* trans, struct ast_frame* fr ) ; + +// slinear frame functions +struct ast_frame* create_slinear_frame( char* data ) ; +void mix_slinear_frames( char* dst, const char* src, int samples ) ; + +// silent frame functions +conf_frame* get_silent_frame( void ) ; +struct ast_frame* get_silent_slinear_frame( void ) ; + +// set delivery timestamp for frames +void set_conf_frame_delivery( conf_frame* frame, struct timeval time ) ; + +#endif diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/hash.gsm b/agc_2-X/branches/agc_2.0.5/extras/app_conference/hash.gsm new file mode 100644 index 00000000..0d0a8ecf --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/hash.gsm @@ -0,0 +1,2 @@ +\}PcȣP tۆD#E)#i(*E3yBF:W2wWԢ6TyuWI+sdWysuk2yct9,,Wk|UTWu#.1c}yQ( dº\2! Q\?;waWnfy.7FW){?YW!Q nSB*qUUy>XWQDm! \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/hash.wav b/agc_2-X/branches/agc_2.0.5/extras/app_conference/hash.wav new file mode 100644 index 0000000000000000000000000000000000000000..a079f449e699ac983d00127df782709af3c4b290 GIT binary patch literal 3990 zcmWNSS6Gt=1BLTtPcq1cBoH91K*A7k)rD3?TC3GMs^Vy^T2WhCZNELJ~;Gfb1_j`F+madCt{)ao$Dq=FB-tgg`!vLR9N1V+Ee;%sIm6(I(Bc zcS@Cs)F}Ka#^XI`Y4i6XxA;1=6?!~ATYNw5pTM(rbSKkih?&nG1-62j@Jf;zGB)Vz zwz<*-H}ig`-O?$$UKw{_uahoErh4yVW^itjPmf+`p4X2c{+F{SSs0i<_?h7@q!?KY z?i~LB{zGDY((&-B&JUVfoy>%@X&QWi^@5cLpy3kh@u84&fGf{g%LH|hrnPDsenI?d zve7r>-GJSK*Eyi_Ce=C|CHLcuK{ z&UF3Mn&i~6uk(%~3*3tET0$30IecAq(>f40ntv!}qk+_6*BwB2Mz4ZD@*IP+StZd^ z#v`q_dI!+-?770fA#PPzV+n@PJAyD94wA}yB4~$QlTB=rkCpKP88pfv+euSl=mes~ zJy-XUZ8CFf_5f$A(bZU`e1}R)sAc>ceB<`PEAgcsZXbQ%D56x{Ar8ZO1pEAM1pbxe!pni67pfG{K9xz9M?;2$Nmvb)AKO%<~3h+5%~ z0wORzy3i(t$^f@TF(QTRN)BYIQ7e0HNc0vt^KHUm+O{8P8%_H+i4LhirFx3-n2_ zQtUT@24@ZGRs0r?*d=cfcCLtgm;P(|9^|~yB2!ev2K&O%q8|x#^N}JdVTm%S@twY$ zCKr4~-UjmAn-Ntgw5>xq+km7gCh!HVju&mk3VGyXR)qLnz#BM5TtNl=+j^>`w}J?TF!Q?4NgiR@R4wnZGpcF4S_5gncT1OO-#O-`-oJoqPNZ&4G;%ehfq#W6%h)UNi@UG* z8(6K>xX63T7=HAQaBW|GS1lNuvN!J`Wtr}&?84XqY!FxIZ}a#GjQBO=nIpU=<-le# zDMy_!;CrcgU^x#Z!@RaPmQPWsDe1|$;JWsqmSXUE{5gRJ{lpe_QIJH~T9akqg*%=< zWx`4Nh(;zsYfs=m+bO>j6z&vL0 z<4|k;pJ)&06ljeoCLkC<)(kZKN0!Vyv4m8Q4)6Q%XKBN!u0bZKBA@jX3GX^3iBR!5o#V- z98pAFM?~rAGSJNCR^>0@{$<|XS)lzE0gtx9Dc%h*ID3e;$?k6JmD%BU#SIxxU?KG# z4LZ02-5Ho??FjL>k5e#cRPXXewrNW2vy4deXO5ZX!q7&<8}}n^-grJ;lD#WVVwoku z^sa?B#e)n?cnSC`;s#-(?{VL#@)U43^H??pJxBSi^tk;W(kW6&_%Gjdf}UN5Ua97^ zTr@yplk$qV)i!tEesd=LKcvz9#IYR55fpQ)Y1*5FLT&Q_ZC5&d=EjKqG|7NvgV4p4;c@IQ0>fz0P;$1U^l+VJfu zfwa`tbUwyp{LOqjJQ-f@7##V?HxO4O2FQwm{SEcHe<;5T=1_j})VNO~7?^|h70PSF z#bnL|Pl^B>?)Y7v6I#UZ6BB|(fyu<3^l)IhysPt#_h9P1+^HnG?vkR)-iawh4!NBk zAbM$%g9K=oH2yg_BRVlFHZIFsH_Ua2;a4M@%;Tn0STOz5WTg++Mr^0}D&r^fb%>dc zIsQV-Tj1GR5Rhr)G;4L zF{loOvIvtQ6qgss<#flr3cl&O*Ana2C3!?oqE4GO>R0*c$SiNu=p*+#_AHT-en~5A zIH%G^eUMVZJmCA=z5>#P{vHHW546*8`0RVaqF`S#|D3;?${DS0k|^^DsafA7O$}CQb1X)H4O?yN zH}%0sldDn}Md+Qco5@ZJ&nRfbcH94O_aIcTxn|k`%E9MN%By3Y9?>?RSNCCxVo8K= zeXfv~c!3zPy_Wj>qOf^6qZtn(e<_~#o$-$ml8}=?ZOFkWjw^>I$gfE1#|!y0b3D{X zmL^RyC_oy5e)ArukGekNK0A8!bi*`79p*~vM6M|G{djbMiT)}e(84vP2yy08(LvbZ z?(Vh5M~VT?t4L-L|EJ zS>y4n*ST&U*&LP>^*u(QczY<114#c{>>lD3@T?rE?1h~ZU&*?U2q_72&_yDmaRq)_ zpn@Xj9z&J&zm=>pVz~BPDSNkd_h6LmTf|4uPTMK_WMXaFM_ktU<|a@Ih3BTmB@_UE zTcW{o1SWFCFhlbfq$$-Uo`mts6IxbVMrm8Qd(qh*T{wfNL@^8-rTwFu*~9t!;>X7K zcI_NG4x>`U@9p;x>S0wfD_!r}*GrLrCF8yIQAOJ2+9Q4?>fb=+xG#{v`7UiCu2k9B zz}4?!wPlRcAg+AN=3oqR5jdo&H}8wylFdnsve!3TWk$$D9+P=Id>UjUUq%J|p}vCN zs?aGREf<4t>)#>WZ(Ty9lXAi{d`$c=vCDBiLq9j;hC7-52@P=>&dCEt(<&Ghi2}>) z)fi*ai?|w>yBX6l5}K2;DvW^f>^p`dPdRTM}Ulb+q z^!rAz)tDJ$k9)2S&!;-_ZVRTlnmc>?(j(`oMcB2zb>T-;7xS!7*bV8t;QuK-CTA9* zQny{zsHU_fgE}p z5qSS&Q;EA7$HIUD+97r&B>y_$$LMIiMX}6w70p8)ai0Mnk^@O|skOti8_)IsNVJM3 z^AGqF^{EagEGqJad6!XxqNLN(CWp3l+->c1b9giOWR%U(>L+3ApjY)(ifrdpz9&z} z4CuaTB@WkPFEJmZioK(NmMS8}j;-%l*nbLtIX5=_c!<+iu5Jz%;FXc%&Wn(rVjuBK zAsf2s%_VjZ|DgCJIbiulPw7B-1aRD6_75I3!N3xCdC@$vh0N92SqnQQF-i}q$5 z;P5RA8vpEhiFlYC;;xB=t@i?@Xjt%(mZ&a*{wvJMBBG%3BW?d$MKl)s3|#N2hSx^B zkrg^a2hP+MYs){(8y(A)Wse9Dn5fdoG?0d>=Pqa6w3oELk;cPhnPlNYc$@B>J`hSn ztOG5k=Fp$o9%Ra?iPO8`2Lns1qeM9 z`;M|NxXh2i!O00;n|!Z)I%H|)Xto4XKk$v5>HM0&#_je2{?lYmTom?*>TnZwB$-{5 hyO&erc%uH=Iv2hHsIyMA#Sj*!{T83(&`M}s{|AvU%eepm literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/leave.gsm b/agc_2-X/branches/agc_2.0.5/extras/app_conference/leave.gsm new file mode 100644 index 0000000000000000000000000000000000000000..7b3bef01cdd6ec1fae606fe109e20001869805d9 GIT binary patch literal 330 zcmV-Q0k!_zHH_&6Pzhk`#bOFk&ZOE7G-XlCfb9xcEptw`_G)`w+BkF4QC*K;BlfE- zUu(6}EmaV*t=Cf#;>xz|NE)r8-q`w!86)oOH0Dlk740oQGji_nP^){Jlcrvo3^c@2 zrcT%SlHnBOiyjIRG)t*V#Dj|z)vatw#V@TKS!%uKa_hL)d9u}+S!&~?(YU_5NxIx_ zR?v~Cq~0ip4wq?&B24BH*7@SuTB}M*s1QnOXz8RRaoFRfCq>`4jb~9y=%SllAJ%s2 zqHL`zpH_F@TzzUwzV*jt;HWCzOaO&qsx*rR8j{vA>s{V|tOAl~#_NlzG72@!WMfJu zY?500RLD%dey-ovF5F?(c_~}wvuW>F$w}tg;@x?uPj<353ySC?1dY&|)@ +#include +#include + +#ifndef RELEASE +void print_vec(float *vec, int len, char *name) +{ + int i; + printf ("%s ", name); + for (i=0;i>24; + ret += (i>>8)&0x0000ff00; + ret += (i<<8)&0x00ff0000; + ret += (i<<24); +#endif + return ret; +} + +unsigned int le_int(unsigned int i) +{ + unsigned int ret=i; +#ifdef WORDS_BIGENDIAN + ret = i>>24; + ret += (i>>8)&0x0000ff00; + ret += (i<<8)&0x00ff0000; + ret += (i<<24); +#endif + return ret; +} + +unsigned short be_short(unsigned short s) +{ + unsigned short ret=s; +#ifndef WORDS_BIGENDIAN + ret = s>>8; + ret += s<<8; +#endif + return ret; +} + +unsigned short le_short(unsigned short s) +{ + unsigned short ret=s; +#ifdef WORDS_BIGENDIAN + ret = s>>8; + ret += s<<8; +#endif + return ret; +} + +void *speex_alloc (int size) +{ + return calloc(size,1); +} + +void *speex_realloc (void *ptr, int size) +{ + return realloc(ptr, size); +} + +void speex_free (void *ptr) +{ + free(ptr); +} + +void *speex_move (void *dest, void *src, int n) +{ + return memmove(dest,src,n); +} + +void speex_error(char *str) +{ + fprintf (stderr, "Fatal error: %s\n", str); + exit(1); +} + +void speex_warning(char *str) +{ + fprintf (stderr, "warning: %s\n", str); +} + +void speex_warning_int(char *str, int val) +{ + fprintf (stderr, "warning: %s %d\n", str, val); +} + +void speex_rand_vec(float std, spx_sig_t *data, int len) +{ + int i; + for (i=0;i> (shift)) +#define SHR(a,shift) ((a) >> (shift)) +#define SHL(a,shift) ((a) << (shift)) + +/* result fits in 16 bits */ +#define MULT16_16_16(a,b) (((short)(a))*(b)) + +#define MULT16_16(a,b) (((signed int)(a))*(b)) +#define MULT16_32_Q13(a,b) (((a)*((b)>>13)) + ((a)*((signed int)((b)&0x00001fff))>>13)) +#define MULT16_32_Q14(a,b) (((a)*((b)>>14)) + ((a)*((signed int)((b)&0x00003fff))>>14)) +#define MULT16_32_Q15(a,b) (((a)*((b)>>15)) + ((a)*((signed int)((b)&0x00007fff))>>15)) + +#define MULT16_16_Q13(a,b) (((signed int)(a))*(b)>>13) +#define MULT16_16_Q14(a,b) (((signed int)(a))*(b)>>14) +#define MULT16_16_Q15(a,b) (((signed int)(a))*(b)>>15) + +#define MULT16_16_P14(a,b) ((8192+((signed int)(a))*(b))>>14) + + +#define DIV32_16(a,b) (((signed int)(a))/(b)) + +#else + +typedef float spx_mem_t; +typedef float spx_coef_t; +typedef float spx_lsp_t; +typedef float spx_sig_t; +typedef float spx_word16_t; +typedef float spx_word32_t; + +#define LPC_SCALING 1. +#define SIG_SCALING 1. +#define LSP_SCALING 1. + +#define LPC_SHIFT 0 +#define SIG_SHIFT 0 + +#define PSHR(a,shift) (a) +#define SHR(a,shift) (a) +#define SHL(a,shift) (a) +#define MULT16_16_16(a,b) ((a)*(b)) +#define MULT16_16(a,b) ((a)*(b)) + +#define MULT16_32_Q13(a,b) ((a)*(b)) +#define MULT16_32_Q14(a,b) ((a)*(b)) +#define MULT16_32_Q15(a,b) ((a)*(b)) + +#define MULT16_16_Q13(a,b) ((a)*(b)) +#define MULT16_16_Q14(a,b) ((a)*(b)) +#define MULT16_16_Q15(a,b) ((a)*(b)) + + +#endif + +#ifndef RELEASE +void print_vec(float *vec, int len, char *name); +#endif + +unsigned int be_int(unsigned int i); +unsigned int le_int(unsigned int i); + + +unsigned short be_short(unsigned short s); +unsigned short le_short(unsigned short s); + +/** Speex wrapper for calloc. To do your own dynamic allocation, all you need to do is replace this function, speex_realloc and speex_free */ +void *speex_alloc (int size); + +/** Speex wrapper for realloc. To do your own dynamic allocation, all you need to do is replace this function, speex_alloc and speex_free */ +void *speex_realloc (void *ptr, int size); + +/** Speex wrapper for calloc. To do your own dynamic allocation, all you need to do is replace this function, speex_realloc and speex_alloc */ +void speex_free (void *ptr); + +/** Speex wrapper for mem_move */ +void *speex_move (void *dest, void *src, int n); + +void speex_error(char *str); + +void speex_warning(char *str); + +void speex_warning_int(char *str, int val); + +void speex_rand_vec(float std, spx_sig_t *data, int len); + +float speex_rand(float std); + +void _speex_putc(int ch, void *file); + +#endif diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/preprocess.c b/agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/preprocess.c new file mode 100644 index 00000000..4e8a5470 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/preprocess.c @@ -0,0 +1,1136 @@ +/* Copyright (C) 2003 Epic Games + Written by Jean-Marc Valin + + File: preprocess.c + Preprocessor with denoising based on the algorithm by Ephraim and Malah + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ + +#include +#include "speex_preprocess.h" +#include "misc.h" +#include "smallft.h" + +#define max(a,b) ((a) > (b) ? (a) : (b)) +#define min(a,b) ((a) < (b) ? (a) : (b)) + +/* use single-precision math funcs. (1.3% perf improvement). */ +#if 1 +#define exp(a) expf(a) +#define sqrt(a) sqrtf(a) +#define floor(a) floorf(a) +#define log(a) logf(a) +#endif + + + +#ifndef M_PI +#define M_PI 3.14159263 +#endif + +#define SQRT_M_PI_2 0.88623 +#define LOUDNESS_EXP 2.5 + +#define NB_BANDS 8 + +#define ZMIN .1 +#define ZMAX .316 +#define ZMIN_1 10 +#define LOG_MIN_MAX_1 0.86859 + +static void conj_window(float *w, int len) +{ + int i; + for (i=0;i9.5) + return 1+.12/x; + + integer = floor(x); + frac = x-integer; + ind = (int)integer; + + return ((1-frac)*table[ind] + frac*table[ind+1])/sqrt(x+.0001); +} + +SpeexPreprocessState *speex_preprocess_state_init(int frame_size, int sampling_rate) +{ + int i; + int N, N3, N4; + + SpeexPreprocessState *st = (SpeexPreprocessState *)speex_alloc(sizeof(SpeexPreprocessState)); + st->frame_size = frame_size; + + /* Round ps_size down to the nearest power of two */ +#if 0 + i=1; + st->ps_size = st->frame_size; + while(1) + { + if (st->ps_size & ~i) + { + st->ps_size &= ~i; + i<<=1; + } else { + break; + } + } + + + if (st->ps_size < 3*st->frame_size/4) + st->ps_size = st->ps_size * 3 / 2; +#else + st->ps_size = st->frame_size; +#endif + + N = st->ps_size; + N3 = 2*N - st->frame_size; + N4 = st->frame_size - N3; + + st->sampling_rate = sampling_rate; + st->denoise_enabled = 1; + st->agc_enabled = 0; + st->agc_level = 8000; + st->vad_enabled = 0; + + st->speech_prob_start = SPEEX_PROB_START ; + st->speech_prob_continue = SPEEX_PROB_CONTINUE ; + + st->frame = (float*)speex_alloc(2*N*sizeof(float)); + st->ps = (float*)speex_alloc(N*sizeof(float)); + st->gain2 = (float*)speex_alloc(N*sizeof(float)); + st->window = (float*)speex_alloc(2*N*sizeof(float)); + st->noise = (float*)speex_alloc(N*sizeof(float)); + st->old_ps = (float*)speex_alloc(N*sizeof(float)); + st->gain = (float*)speex_alloc(N*sizeof(float)); + st->prior = (float*)speex_alloc(N*sizeof(float)); + st->post = (float*)speex_alloc(N*sizeof(float)); + st->loudness_weight = (float*)speex_alloc(N*sizeof(float)); + st->inbuf = (float*)speex_alloc(N3*sizeof(float)); + st->outbuf = (float*)speex_alloc(N3*sizeof(float)); + st->echo_noise = (float*)speex_alloc(N*sizeof(float)); + + st->S = (float*)speex_alloc(N*sizeof(float)); + st->Smin = (float*)speex_alloc(N*sizeof(float)); + st->Stmp = (float*)speex_alloc(N*sizeof(float)); + st->update_prob = (float*)speex_alloc(N*sizeof(float)); + + st->zeta = (float*)speex_alloc(N*sizeof(float)); + st->Zpeak = 0; + st->Zlast = 0; + + st->noise_bands = (float*)speex_alloc(NB_BANDS*sizeof(float)); + st->noise_bands2 = (float*)speex_alloc(NB_BANDS*sizeof(float)); + st->speech_bands = (float*)speex_alloc(NB_BANDS*sizeof(float)); + st->speech_bands2 = (float*)speex_alloc(NB_BANDS*sizeof(float)); + st->noise_bandsN = st->speech_bandsN = 1; + + conj_window(st->window, 2*N3); + for (i=2*N3;i<2*st->ps_size;i++) + st->window[i]=1; + + if (N4>0) + { + for (i=N3-1;i>=0;i--) + { + st->window[i+N3+N4]=st->window[i+N3]; + st->window[i+N3]=1; + } + } + for (i=0;inoise[i]=1e4; + st->old_ps[i]=1e4; + st->gain[i]=1; + st->post[i]=1; + st->prior[i]=1; + } + + for (i=0;iinbuf[i]=0; + st->outbuf[i]=0; + } + + for (i=0;iloudness_weight[i] = .35-.35*ff/16000+.73*exp(-.5*(ff-3800)*(ff-3800)/9e5); + if (st->loudness_weight[i]<.01) + st->loudness_weight[i]=.01; + st->loudness_weight[i] *= st->loudness_weight[i]; + } + + st->speech_prob = 0; + st->last_speech = 1000; + st->loudness = pow(6000,LOUDNESS_EXP); + st->loudness2 = 6000; + st->nb_loudness_adapt = 0; + + st->fft_lookup = (struct drft_lookup*)speex_alloc(sizeof(struct drft_lookup)); + drft_init(st->fft_lookup,2*N); + + st->nb_adapt=0; + st->consec_noise=0; + st->nb_preprocess=0; + return st; +} + +void speex_preprocess_state_destroy(SpeexPreprocessState *st) +{ + speex_free(st->frame); + speex_free(st->ps); + speex_free(st->gain2); + speex_free(st->window); + speex_free(st->noise); + speex_free(st->old_ps); + speex_free(st->gain); + speex_free(st->prior); + speex_free(st->post); + speex_free(st->loudness_weight); + speex_free(st->echo_noise); + + speex_free(st->S); + speex_free(st->Smin); + speex_free(st->Stmp); + speex_free(st->update_prob); + + speex_free(st->noise_bands); + speex_free(st->noise_bands2); + speex_free(st->speech_bands); + speex_free(st->speech_bands2); + + speex_free(st->inbuf); + speex_free(st->outbuf); + + drft_clear(st->fft_lookup); + speex_free(st->fft_lookup); + + speex_free(st); +} + +static void update_noise(SpeexPreprocessState *st, float *ps, float *echo) +{ + int i; + float beta; + st->nb_adapt++; + beta=1.0/st->nb_adapt; + if (beta < .05) + beta=.05; + + if (!echo) + { + for (i=0;ips_size;i++) + st->noise[i] = (1-beta)*st->noise[i] + beta*ps[i]; + } else { + for (i=0;ips_size;i++) + st->noise[i] = (1-beta)*st->noise[i] + beta*max(0,ps[i]-echo[i]); +#if 0 + for (i=0;ips_size;i++) + st->noise[i] = 0; +#endif + } +} + +static int speex_compute_vad(SpeexPreprocessState *st, float *ps, float mean_prior, float mean_post) +{ + int i, is_speech=0; + int N = st->ps_size; + float scale=.5/N; + + /* FIXME: Clean this up a bit */ + { + float bands[NB_BANDS]; + int j; + float p0, p1; + float tot_loudness=0; + float x = sqrt(mean_post); + + for (i=5;ips[i] * st->loudness_weight[i]; + } + + for (i=0;ispeech_prob + .01*(1-st->speech_prob); + p1 *= .01*st->speech_prob + .99*(1-st->speech_prob); + + st->speech_prob = p0/(p1+p0); + */ + + if (st->noise_bandsN < 50 || st->speech_bandsN < 50) + { + if (mean_post > 5) + { + float adapt = 1./st->speech_bandsN++; + if (adapt<.005) + adapt = .005; + for (i=0;ispeech_bands[i] = (1-adapt)*st->speech_bands[i] + adapt*bands[i]; + /*st->speech_bands2[i] = (1-adapt)*st->speech_bands2[i] + adapt*bands[i]*bands[i];*/ + st->speech_bands2[i] = (1-adapt)*st->speech_bands2[i] + adapt*(bands[i]-st->speech_bands[i])*(bands[i]-st->speech_bands[i]); + } + } else { + float adapt = 1./st->noise_bandsN++; + if (adapt<.005) + adapt = .005; + for (i=0;inoise_bands[i] = (1-adapt)*st->noise_bands[i] + adapt*bands[i]; + /*st->noise_bands2[i] = (1-adapt)*st->noise_bands2[i] + adapt*bands[i]*bands[i];*/ + st->noise_bands2[i] = (1-adapt)*st->noise_bands2[i] + adapt*(bands[i]-st->noise_bands[i])*(bands[i]-st->noise_bands[i]); + } + } + } + p0=p1=1; + for (i=0;inoise_bands2[i] - st->noise_bands[i]*st->noise_bands[i]; + speech_var = 1.01*st->speech_bands2[i] - st->speech_bands[i]*st->speech_bands[i];*/ + noise_var = st->noise_bands2[i]; + speech_var = st->speech_bands2[i]; + if (noise_var < .1) + noise_var = .1; + if (speech_var < .1) + speech_var = .1; + + /*speech_var = sqrt(speech_var*noise_var); + noise_var = speech_var;*/ + if (speech_var < .05*speech_var) + noise_var = .05*speech_var; + if (speech_var < .05*noise_var) + speech_var = .05*noise_var; + + if (bands[i] < st->noise_bands[i]) + speech_var = noise_var; + if (bands[i] > st->speech_bands[i]) + noise_var = speech_var; + + speech_mean = st->speech_bands[i]; + noise_mean = st->noise_bands[i]; + if (noise_mean < speech_mean - 5) + noise_mean = speech_mean - 5; + + tmp1 = exp(-.5*(bands[i]-speech_mean)*(bands[i]-speech_mean)/speech_var)/sqrt(2*M_PI*speech_var); + tmp2 = exp(-.5*(bands[i]-noise_mean)*(bands[i]-noise_mean)/noise_var)/sqrt(2*M_PI*noise_var); + /*fprintf (stderr, "%f ", (float)(p0/(.01+p0+p1)));*/ + /*fprintf (stderr, "%f ", (float)(bands[i]));*/ + pr = tmp1/(1e-25+tmp1+tmp2); + /*if (bands[i] < st->noise_bands[i]) + pr=.01; + if (bands[i] > st->speech_bands[i] && pr < .995) + pr=.995;*/ + if (pr>.999) + pr=.999; + if (pr<.001) + pr=.001; + /*fprintf (stderr, "%f ", pr);*/ + p0 *= pr; + p1 *= (1-pr); + } + + p0 = pow(p0,.2); + p1 = pow(p1,.2); + +#if 1 + p0 *= 2; + p0=p0/(p1+p0); + if (st->last_speech>20) + { + float tmp = sqrt(tot_loudness)/st->loudness2; + tmp = 1-exp(-10*tmp); + if (p0>tmp) + p0=tmp; + } + p1=1-p0; +#else + if (sqrt(tot_loudness) < .6*st->loudness2 && p0>15*p1) + p0=15*p1; + if (sqrt(tot_loudness) < .45*st->loudness2 && p0>7*p1) + p0=7*p1; + if (sqrt(tot_loudness) < .3*st->loudness2 && p0>3*p1) + p0=3*p1; + if (sqrt(tot_loudness) < .15*st->loudness2 && p0>p1) + p0=p1; + /*fprintf (stderr, "%f %f ", (float)(sqrt(tot_loudness) /( .25*st->loudness2)), p0/(p1+p0));*/ +#endif + + p0 *= .99*st->speech_prob + .01*(1-st->speech_prob); + p1 *= .01*st->speech_prob + .99*(1-st->speech_prob); + + st->speech_prob = p0/(1e-25+p1+p0); + /*fprintf (stderr, "%f %f %f ", tot_loudness, st->loudness2, st->speech_prob);*/ + + /* decide if frame is speech using speech probability settings */ + +/* if (st->speech_prob> .35 || (st->last_speech < 20 && st->speech_prob>.1)) */ + if ( + st->speech_prob > st->speech_prob_start + || ( st->last_speech < 20 && st->speech_prob > st->speech_prob_continue ) + ) + { + is_speech = 1; + st->last_speech = 0; + } + else + { + st->last_speech++; + if ( st->last_speech < 20 ) + is_speech = 1; + } + + if (st->noise_bandsN > 50 && st->speech_bandsN > 50) + { + if (mean_post > 5) + { + float adapt = 1./st->speech_bandsN++; + if (adapt<.005) + adapt = .005; + for (i=0;ispeech_bands[i] = (1-adapt)*st->speech_bands[i] + adapt*bands[i]; + /*st->speech_bands2[i] = (1-adapt)*st->speech_bands2[i] + adapt*bands[i]*bands[i];*/ + st->speech_bands2[i] = (1-adapt)*st->speech_bands2[i] + adapt*(bands[i]-st->speech_bands[i])*(bands[i]-st->speech_bands[i]); + } + } else { + float adapt = 1./st->noise_bandsN++; + if (adapt<.005) + adapt = .005; + for (i=0;inoise_bands[i] = (1-adapt)*st->noise_bands[i] + adapt*bands[i]; + /*st->noise_bands2[i] = (1-adapt)*st->noise_bands2[i] + adapt*bands[i]*bands[i];*/ + st->noise_bands2[i] = (1-adapt)*st->noise_bands2[i] + adapt*(bands[i]-st->noise_bands[i])*(bands[i]-st->noise_bands[i]); + } + } + } + + + } + + return is_speech; +} + +static void speex_compute_agc(SpeexPreprocessState *st, float mean_prior) +{ + int i; + int N = st->ps_size; + float scale=.5/N; + float agc_gain; + int freq_start, freq_end; + float active_bands = 0; + + freq_start = (int)(300.0*2*N/st->sampling_rate); + freq_end = (int)(2000.0*2*N/st->sampling_rate); + for (i=freq_start;iS[i] > 20*st->Smin[i]+1000) + active_bands+=1; + } + active_bands /= (freq_end-freq_start+1); + + if (active_bands > .2) + { + float loudness=0; + float rate, rate2=.2; + st->nb_loudness_adapt++; + rate=2.0/(1+st->nb_loudness_adapt); + if (rate < .05) + rate = .05; + if (rate < .1 && pow(loudness, LOUDNESS_EXP) > st->loudness) + rate = .1; + if (rate < .2 && pow(loudness, LOUDNESS_EXP) > 3*st->loudness) + rate = .2; + if (rate < .4 && pow(loudness, LOUDNESS_EXP) > 10*st->loudness) + rate = .4; + + for (i=2;ips[i] * st->gain2[i] * st->gain2[i] * st->loudness_weight[i]; + } + loudness=sqrt(loudness); + /*if (loudness < 2*pow(st->loudness, 1.0/LOUDNESS_EXP) && + loudness*2 > pow(st->loudness, 1.0/LOUDNESS_EXP))*/ + st->loudness = (1-rate)*st->loudness + (rate)*pow(loudness, LOUDNESS_EXP); + + st->loudness2 = (1-rate2)*st->loudness2 + rate2*pow(st->loudness, 1.0/LOUDNESS_EXP); + + loudness = pow(st->loudness, 1.0/LOUDNESS_EXP); + + /*fprintf (stderr, "%f %f %f\n", loudness, st->loudness2, rate);*/ + } + + agc_gain = st->agc_level/st->loudness2; + /*fprintf (stderr, "%f %f %f %f\n", active_bands, st->loudness, st->loudness2, agc_gain);*/ + if (agc_gain>200) + agc_gain = 200; + + for (i=0;igain2[i] *= agc_gain; + +} + +static void preprocess_analysis(SpeexPreprocessState *st, short *x) +{ + int i; + int N = st->ps_size; + int N3 = 2*N - st->frame_size; + int N4 = st->frame_size - N3; + float *ps=st->ps; + + /* 'Build' input frame */ + for (i=0;iframe[i]=st->inbuf[i]; + for (i=0;iframe_size;i++) + st->frame[N3+i]=x[i]; + + /* Update inbuf */ + for (i=0;iinbuf[i]=x[N4+i]; + + /* Windowing */ + for (i=0;i<2*N;i++) + st->frame[i] *= st->window[i]; + + /* Perform FFT */ + drft_forward(st->fft_lookup, st->frame); + + /* Power spectrum */ + ps[0]=1; + for (i=1;iframe[2*i-1]*st->frame[2*i-1] + st->frame[2*i]*st->frame[2*i]; + +} + +static void update_noise_prob(SpeexPreprocessState *st) +{ + int i; + int N = st->ps_size; + + for (i=1;iS[i] = 100+ .8*st->S[i] + .05*st->ps[i-1]+.1*st->ps[i]+.05*st->ps[i+1]; + + if (st->nb_preprocess<1) + { + for (i=1;iSmin[i] = st->Stmp[i] = st->S[i]+100; + } + + if (st->nb_preprocess%200==0) + { + for (i=1;iSmin[i] = min(st->Stmp[i], st->S[i]); + st->Stmp[i] = st->S[i]; + } + } else { + for (i=1;iSmin[i] = min(st->Smin[i], st->S[i]); + st->Stmp[i] = min(st->Stmp[i], st->S[i]); + } + } + for (i=1;iupdate_prob[i] *= .2; + if (st->S[i] > 5*st->Smin[i]) + st->update_prob[i] += .8; + /*fprintf (stderr, "%f ", st->S[i]/st->Smin[i]);*/ + /*fprintf (stderr, "%f ", st->update_prob[i]);*/ + } + +} + +inline void ephraim_malah(SpeexPreprocessState *st, int N, float Pframe) +{ + int i; + + /* defactor loop for i=1,1 < i < N-1, and i= N-1 cases */ + /* i=1 case */ + { + float MM; + float theta; + float prior_ratio; + float p, q; + float zeta1; + float P1; + + prior_ratio = st->prior[1]/(1.0001+st->prior[1]); + theta = (1+st->post[1])*prior_ratio; + + zeta1 = st->zeta[1]; + + if (zeta1ZMAX) + P1 = 1; + else + P1 = LOG_MIN_MAX_1 * log(ZMIN_1*zeta1); + + /*P1 = log(zeta1/ZMIN)/log(ZMAX/ZMIN);*/ + + /* FIXME: add global prop (P2) */ + q = 1-Pframe*P1; + if (q>.95) + q=.95; + p=1/(1 + (q/(1-q))*(1+st->prior[1])*exp(-theta)); + + /* Optimal estimator for loudness domain */ + MM = hypergeom_gain(theta); + + st->gain[1] = prior_ratio * MM; + /*Put some (very arbitraty) limit on the gain*/ + if (st->gain[1]>2) + { + st->gain[1]=2; + } + + if (st->denoise_enabled) + { + st->gain2[1]=p*p*st->gain[1]; + } else { + st->gain2[1]=1; + } + } + + for (i=2;i<(N-1);i++) + { + float MM; + float theta; + float prior_ratio; + float p, q; + float zeta1; + float P1; + + + zeta1 = .25*st->zeta[i-1] + .5*st->zeta[i] + .25*st->zeta[i+1]; + + prior_ratio = st->prior[i]/(1.0001+st->prior[i]); + theta = (1+st->post[i])*prior_ratio; + + + + if (zeta1ZMAX) + P1 = 1; + else + P1 = LOG_MIN_MAX_1 * log(ZMIN_1*zeta1); + + /*P1 = log(zeta1/ZMIN)/log(ZMAX/ZMIN);*/ + + + /* FIXME: add global prop (P2) */ + q = 1-Pframe*P1; + if (q>.95) + q=.95; + p=1/(1 + (q/(1-q))*(1+st->prior[i])*exp(-theta)); + + /* Optimal estimator for loudness domain */ + MM = hypergeom_gain(theta); + + st->gain[i] = prior_ratio * MM; + /*Put some (very arbitraty) limit on the gain*/ + if (st->gain[i]>2) + { + st->gain[i]=2; + } + + if (st->denoise_enabled) + { + st->gain2[i]=p*p*st->gain[i]; + } else { + st->gain2[i]=1; + } + } + + /* i = N-1 case */ + { + float MM; + float theta; + float prior_ratio; + float p, q; + float zeta1; + float P1; + + prior_ratio = st->prior[N-1]/(1.0001+st->prior[N-1]); + theta = (1+st->post[N-1])*prior_ratio; + + zeta1 = st->zeta[N-1]; + + if (zeta1ZMAX) + P1 = 1; + else + P1 = LOG_MIN_MAX_1 * log(ZMIN_1*zeta1); + + /*P1 = log(zeta1/ZMIN)/log(ZMAX/ZMIN);*/ + + /* FIXME: add global prop (P2) */ + q = 1-Pframe*P1; + if (q>.95) + q=.95; + p=1/(1 + (q/(1-q))*(1+st->prior[N-1])*exp(-theta)); + + /* Optimal estimator for loudness domain */ + MM = hypergeom_gain(theta); + + st->gain[N-1] = prior_ratio * MM; + /*Put some (very arbitraty) limit on the gain*/ + if (st->gain[N-1]>2) + { + st->gain[N-1]=2; + } + + if (st->denoise_enabled) + { + st->gain2[N-1]=p*p*st->gain[N-1]; + } else { + st->gain2[N-1]=1; + } + } + st->gain2[0]=st->gain[0]=0; + st->gain2[N-1]=st->gain[N-1]=0; +} + + +int speex_preprocess(SpeexPreprocessState *st, short *x, float *echo) +{ + int i; + int is_speech=1; + float mean_post=0; + float mean_prior=0; + int N = st->ps_size; + int N3 = 2*N - st->frame_size; + int N4 = st->frame_size - N3; + float scale=.5/N; + float *ps=st->ps; + float Zframe=0, Pframe; + + preprocess_analysis(st, x); + + update_noise_prob(st); + + st->nb_preprocess++; + + /* Noise estimation always updated for the 20 first times */ + if (st->nb_adapt<10) + { + update_noise(st, ps, echo); + } + + /* Deal with residual echo if provided */ + if (echo) + for (i=1;iecho_noise[i] = (.7*st->echo_noise[i] + .3* echo[i]); + + /* Compute a posteriori SNR */ + for (i=1;ipost[i] = ps[i]/(1+st->noise[i]+st->echo_noise[i]) - 1; + if (st->post[i]>100) + st->post[i]=100; + /*if (st->post[i]<0) + st->post[i]=0;*/ + mean_post+=st->post[i]; + } + mean_post /= N; + if (mean_post<0) + mean_post=0; + + /* Special case for first frame */ + if (st->nb_adapt==1) + for (i=1;iold_ps[i] = ps[i]; + + /* Compute a priori SNR */ + { + /* A priori update rate */ + float gamma; + float min_gamma=0.12; + gamma = 1.0/st->nb_preprocess; + + /*Make update rate smaller when there's no speech*/ +#if 0 + if (mean_post<3.5 && mean_prior < 1) + min_gamma *= (mean_post+.5); + else + min_gamma *= 4.; +#else + min_gamma = .1*fabs(mean_prior - mean_post)*fabs(mean_prior - mean_post); + if (min_gamma>.15) + min_gamma = .15; + if (min_gamma<.02) + min_gamma = .02; +#endif + /*min_gamma = .08;*/ + + /*if (gammaprior[i] = gamma*max(0.0,st->post[i]) + + (1-gamma)*st->gain[i]*st->gain[i]*st->old_ps[i]/(1+st->noise[i]+st->echo_noise[i]); + + if (st->prior[i]>100) + st->prior[i]=100; + + mean_prior+=st->prior[i]; + } + } + mean_prior /= N; + +#if 0 + for (i=0;iprior[i]); + } + fprintf (stderr, "\n"); +#endif + /*fprintf (stderr, "%f %f\n", mean_prior,mean_post);*/ + + if (st->nb_preprocess>=20) + { + int do_update = 0; + float noise_ener=0, sig_ener=0; + /* If SNR is low (both a priori and a posteriori), update the noise estimate*/ + /*if (mean_prior<.23 && mean_post < .5)*/ + if (mean_prior<.23 && mean_post < .5) + do_update = 1; + for (i=1;inoise[i]; + sig_ener += ps[i]; + } + if (noise_ener > 3*sig_ener) + do_update = 1; + /*do_update = 0;*/ + if (do_update) + { + st->consec_noise++; + } else { + st->consec_noise=0; + } + } + + if (st->vad_enabled) + is_speech = speex_compute_vad(st, ps, mean_prior, mean_post); + + + if (st->consec_noise>=3) + { + update_noise(st, st->old_ps, echo); + } else { + for (i=1;iupdate_prob[i]<.5) + st->noise[i] = .90*st->noise[i] + .1*st->ps[i]; + } + } + + for (i=1;izeta[i] = .7*st->zeta[i] + .3*st->prior[i]; + } + + { + int freq_start = (int)(300.0*2*N/st->sampling_rate); + int freq_end = (int)(2000.0*2*N/st->sampling_rate); + for (i=freq_start;izeta[i]; + } + } + + Zframe /= N; + if (Zframe 1.5*st->Zlast) + { + Pframe = 1; + st->Zpeak = Zframe; + if (st->Zpeak > 10) + st->Zpeak = 10; + if (st->Zpeak < 1) + st->Zpeak = 1; + } else { + if (Zframe < st->Zpeak*ZMIN) + { + Pframe = 0; + } else if (Zframe > st->Zpeak*ZMAX) + { + Pframe = 1; + } else { + Pframe = log(Zframe/(st->Zpeak*ZMIN)) / log(ZMAX/ZMIN); + } + } + } + st->Zlast = Zframe; + + /*fprintf (stderr, "%f\n", Pframe);*/ + /* Compute gain according to the Ephraim-Malah algorithm */ + ephraim_malah(st,N,Pframe); + + if (st->agc_enabled) + speex_compute_agc(st, mean_prior); + +#if 0 + if (!is_speech) + { + for (i=0;igain2[i] = 0; + } +#if 0 + else { + for (i=0;igain2[i] = 1; + } +#endif +#endif + + /* PERF: 14% when only vad is enabled [7.0 vs 8.2 sec] */ + if(st->agc_enabled || st->denoise_enabled) { + /* Apply computed gain */ + for (i=1;iframe[2*i-1] *= st->gain2[i]; + st->frame[2*i] *= st->gain2[i]; + } + + /* Get rid of the DC and very low frequencies */ + st->frame[0]=0; + st->frame[1]=0; + st->frame[2]=0; + /* Nyquist frequency is mostly useless too */ + st->frame[2*N-1]=0; + + /* Inverse FFT with 1/N scaling */ + drft_backward(st->fft_lookup, st->frame); + + for (i=0;i<2*N;i++) + st->frame[i] *= scale; + + { + float max_sample=0; + for (i=0;i<2*N;i++) + if (fabs(st->frame[i])>max_sample) + max_sample = fabs(st->frame[i]); + if (max_sample>28000) + { + float damp = 28000./max_sample; + for (i=0;i<2*N;i++) + st->frame[i] *= damp; + } + } + + for (i=0;i<2*N;i++) + st->frame[i] *= st->window[i]; + + /* Perform overlap and add */ + for (i=0;ioutbuf[i] + st->frame[i]; + for (i=0;iframe[N3+i]; + + /* Update outbuf */ + for (i=0;ioutbuf[i] = st->frame[st->frame_size+i]; + } + + /* Save old power spectrum */ + for (i=1;iold_ps[i] = ps[i]; + + return is_speech; +} + +void speex_preprocess_estimate_update(SpeexPreprocessState *st, short *x, float *noise) +{ + int i; + int N = st->ps_size; + int N3 = 2*N - st->frame_size; + + float *ps=st->ps; + + preprocess_analysis(st, x); + + update_noise_prob(st); + + st->nb_preprocess++; + + for (i=1;iupdate_prob[i]<.5) + st->noise[i] = .90*st->noise[i] + .1*ps[i]; + } + + for (i=0;ioutbuf[i] = x[st->frame_size-N3+i]*st->window[st->frame_size+i]; + + /* Save old power spectrum */ + for (i=1;iold_ps[i] = ps[i]; + +} + + +int speex_preprocess_ctl(SpeexPreprocessState *state, int request, void *ptr) +{ + SpeexPreprocessState *st; + st=(SpeexPreprocessState*)state; + switch(request) + { + case SPEEX_PREPROCESS_SET_DENOISE: + st->denoise_enabled = (*(int*)ptr); + break; + case SPEEX_PREPROCESS_GET_DENOISE: + (*(int*)ptr) = st->denoise_enabled; + break; + + case SPEEX_PREPROCESS_SET_AGC: + st->agc_enabled = (*(int*)ptr); + break; + case SPEEX_PREPROCESS_GET_AGC: + (*(int*)ptr) = st->agc_enabled; + break; + + case SPEEX_PREPROCESS_SET_AGC_LEVEL: + st->agc_level = (*(float*)ptr); + if (st->agc_level<1) + st->agc_level=1; + if (st->agc_level>32768) + st->agc_level=32768; + break; + case SPEEX_PREPROCESS_GET_AGC_LEVEL: + (*(float*)ptr) = st->agc_level; + break; + + case SPEEX_PREPROCESS_SET_VAD: + st->vad_enabled = (*(int*)ptr); + break; + case SPEEX_PREPROCESS_GET_VAD: + (*(int*)ptr) = st->vad_enabled; + break; + + case SPEEX_PREPROCESS_SET_PROB_START: + st->speech_prob_start = (*(float*)ptr) ; + if ( st->speech_prob_start > 1 ) + st->speech_prob_start = st->speech_prob_start / 100 ; + if ( st->speech_prob_start > 1 || st->speech_prob_start < 0 ) + st->speech_prob_start = SPEEX_PROB_START ; + break ; + case SPEEX_PREPROCESS_GET_PROB_START: + (*(float*)ptr) = st->speech_prob_start ; + break ; + + case SPEEX_PREPROCESS_SET_PROB_CONTINUE: + st->speech_prob_continue = (*(float*)ptr) ; + if ( st->speech_prob_continue > 1 ) + st->speech_prob_continue = st->speech_prob_continue / 100 ; + if ( st->speech_prob_continue > 1 || st->speech_prob_continue < 0 ) + st->speech_prob_continue = SPEEX_PROB_CONTINUE ; + break ; + break ; + case SPEEX_PREPROCESS_GET_PROB_CONTINUE: + (*(float*)ptr) = st->speech_prob_continue ; + break ; + + default: + speex_warning_int("Unknown speex_preprocess_ctl request: ", request); + return -1; + } + return 0; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/qc_20060323.zip b/agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/qc_20060323.zip new file mode 100644 index 0000000000000000000000000000000000000000..a2a4d3b316f7d34e2988aebb4149b77067a4f04a GIT binary patch literal 22409 zcmV)ZK&!t{O9KQH000080OnzLG*0Ncpw1rv01iq302Tlh0C8hqK~7FsFfm^;FfcYS zGcq$Sba-@CR0#kBpw}Wqnb#sjRd@sd00000g`Me%(EnsX`14vWik_w zbMx^u_z$8v)hC|GuI<)EI+Sv04%5&PQvRoS(_eH%c{I0@> z<@haJ?hFq=x)6ZOjn$dXq}3`n#wR+-CIKMWs{r!k`T&IgOJ6jr4)@V-j`gAH{k|28 z_MJXfjDRbs4i(wP{BOPoU@qKmX}{`TWb{&tG0&y|Ge?Ui1%-&#$8X^84dgQT*%d{o(hguMfW6 z`bUL}e*19Y2G6Ns=6gHj@?kI4j*GEBdxM;Z~NL;;=(v;()b4QWkZw zEJbmLd^sR-yO^6d!*M8O(>#~RCvCILC;9YN>^L>Fd3PM^x@;O`#=bqS zH{Lld#is2Vl&9zqrMSgU70a&Jl?{qyS$JpiG{b3FWpjLW8BZfmlU%tJcgcU1q%(2Y zY$lH862`s&WGpM3#-{8Vq-*)fo74$l)v9cG7$R*};-+rf4wqL~pO8x^rREkDnTDgu zmBDSxa6dW&-ekZGqfxms_o(1}5)#nwEhMF~_X)c#aWciRKU58Z(MGhz_P%XbVtGIo zqks`zJQJQi&crHWRJa_Q$N(BLv8l^=Idg~N<_{$VfCTAUR03bZzLs#o6LV0o6puc%(fJR8vcC{*yvG?dTeMsFsODF}t-Brs&+eKJm zXerXv171_D5MKTUu~z5E=p5+ck;T){bUI&0mtiKuW%8==v<5Lb_k zY1c?)e>?zOHGUglJ+m{7HDpwZ>Xr`mni++LHXDQ)UDgEK?#pI%^8Ti%YqZof6#`uc zD2vJo>9X#MW^wXJU$k{)d~OrOlG`+SOIc|Reo~tht;WrSkd4m4Oi&&r8od7uhRu3oba|hLYw4nHY(uhaR6Am zI$X;R*n-w0CE#sUA({%^pLfz!`*s(BO(9pAv@Uh{UwXxc@GT8eBg@(Srze8u^dp4b z6-Yl+@xE5b44yTczgOLEFnH(}yWk?2X0ll~ynao}c zGWUmvaa;C1PGX5VX+IS{%Ty+AfVC^slvsA+ucRl3q9GY$7>Ugjp8-)_CQ&J&P|%I@ z%ovB3r|?Z?X#ipz)v$dR#}?oY3gQ=Kg^~nTDNz<^HC+>1-n89FLaWPkXn~<#oi-+b zt29|Wj!AChY6PuW{ytA{x^l&0S$4-y9+{Mhx)8e-Jgo?sv8mRZ8nF(jp)HQYW$1A( zQUJ7Ef`~)X;&u?^Y!q6LTFmrPnx?`ncz;{rJEQ3Ve~bnnkqZ6h9%WRaYIr9BHxg@z z8~i+}-KA(#P)1NhWDM$PHjFU|nA}O#g(|_gM|}>Woa4iNyl0 z4l06ha4w0`v+ah+f5pxc{r*~tRaY@NYN!NIVixSO*e$whwMHaGQ^tB(bjKzp2+qWM zV3tZihI9n_T$oyU zV7{VK4mT};K9%_uOGCnzD=qatAh*b< zxfbM-?_|&52cX&Z8ywGWxvO|2o=vC`Drg?!O9e^1FOGE|!pKz)Y7GHlk-G!6CWXam zg;q$V4q`C5C6|~PL3~MKQYFF%U<5p=TsGC#??1F3f+*H9Fdi*7)pFZ*C#VgO{wRzc z?!hY_i*-=`F=>E!nlv8=h4h(aOXLjSDeQPjE96YQx|kHHGy({STRP%KI#KKo0>Pfz zZhL6&8-G`j<~l`bnpqT()X^{jVRMElEVCTc2%>c6Wb*lw88Bwm(ydrm^$Bc+EzwaI zBX#;nm^NK`SMG^EHJA*(Y=$e$b!t>DZOB@j0$>Fs1yUp@m7O7Oq?*@RD<@TSizMAu z#fJVwbtrv`LKSyZrw#IV9fG;9mYWJZciVf5&Y2(*YjdZ-S0YVF@DKD(@awqA95a|A{%lfL4qVe z0+2UwnAsdj<%}eL3*@fq)>T89UblO)6_kKL8ZS5O3Cp?#wf4=<=Q)wYBqp=UCBsP| zCQy2O|0H$JCbJ6ArOA9(z9cDx%_kxW8(%MOJD)-~P!S)ZB3`wJ4cc`9d`A;jM0uB^ z*U0<|%|I$05;dJyJhY<5(M`6)bbOjIxK5W@8xA=B8$j@kJ##Y#r_Z05!Cc>5n zMYF&O8yx~oicdO^9$}PHqy;k)Ei>Zl*jK+e~NQPKwBqc;M10b2t($xGgITj~oClc`l6#*jTz#{8D8YWe@1W#hB zDw<8yeqeLkasXHeIRGp;LFmcf05(xBOVN?RqUQ`8m(Dqk*B7-a?keiu;($v5n}ldV zP}{P@xd@ccYAwp2qzjmvGDViute|*(5oxXsb%YCopom5WE*eY@%qF#njLKrIiT$3i5;$D^gs-Jg6f&o*{o^A|o=uoyl@a6CBO# zg^e|kc@Hc2Id;MJ1U;y&q7Ax7!uHjw4A6F$(W+WWT*fde_zAfCOsFWh9moWFIMm zWMy}j*R>7U&!ureola9mXFp>7yFd=sp|X*rOF%v{F$YE3wS7sS9M=|%otvseuMDO= zwGNa=o}#WyXg|PwfL_AC@PF0(6vgS0QElD3+vz_)zC4{lZvEor%kN*mKD_+GUx!75-0Eq@8a0YWPg-&$ z2h@ml3zSb4o$4J*iSh%T5`D1scL!vm4k|STE0oU0=3~jz=usN*HZXXI#>T(6NRETB~jnF<(==4@SlBv*)I6`ce*W=)m`1{X3`8?cr%MO)T} z-Dt+w0mqvU;hPi!FZ6A{Xgd&DljI=P)vhT|f`=5!=L3(^UwSvFcd^_={-$ZX8FU1Q zXEXS;iZz4;#trZy=j53i`;gX6ZfaW`HZ`qKu-kgogDrKGq-jbOjYARJq7FvwJua-e zfwbR-VsaLZFa?>*97sw!Q2yNDgcK16Wx_r=nff?;OwM zZdryIAV|e}IF?=S6>dH8DH@_B-ydX9B58!7U-PuI59)dn#B~j!+9u60}P|@P=vVIxsMyoTY$~) z)21t;MqHJ5Ao*V6OVf6;K>|S+-519#virWGV#gN-uOPoQcA&K?^g#utt*CwGY$rGJ zG_Ek^?L10)E52A2ICruGRB0~ivS~kZz_KZ6494=YVC&GJC=*E2!3V@a&_z%Zgp$-+ z&s6Ye90)b=T{4HWSkwifKNzyr`dHS2j#sg!>BP}O?1dmH=)aJl%A~^tf#Ww41T=Dv z3T7Q1aNq0GP-^P%l))$lvOyz@-4eOFL$-uoygPRL&8ZK0L7OS%;aZ8#j10)-7071b zP)2bkK3lpY{~jg&J}-*j9-e=B0IEH_{QC0cUuXO(2#$NszDSyI60hffem+0{>+$L7 z90aK)XX6y!q7!H4;-hdDs546`7|hY>)nsG(Hlx4LboWqStD*_^JwO0L5L}5l$|g{( z${K$!{Jua2OLSUfD6m6c`i{nrGkiGh4Ei>+rIL+G#U>Mwzo%ghE?^*&5qE2uaesNrGOB@fU zg0#=~MUPSrc0m|;G>1~$m8?=Qhg|Gf@eAluGw|Zk!Grd zx`7>R+NLZn>jmg>!;%9^8|92(cdZAX2Ma*9I(}q48BH1H2q*Z9OAd2Rm&?;1o(vaW zg7F5N=dy`38hCzT1Q3J*w1t*|Z#F?WNN^aHXSvJmXb1;E27avrb)0y#U~}`-@!Bj# z&#g}ssE``yp;Bz_PlCuvT~Xd~Mi^vr*m?mivJ^RTn0py=wImO}d6s?$&)g3gV`wn6 z3i`H2{YbD-vBalB27W5HcAJA~EPXE|ft` z=}eJ3#yvwe!A0G+yJ(*TVz0r_ITz+t#d+!A26dYKFtHgIsiw+{o3uZk_4HMJ z$KG7_dwkZXB7FGmv1q=L%0=|K#2RN47eY{%0ADbBApKyc2Nx2G$4Y39+{`&kHW@7+ zC@ClGb}(tH1v`MFrPJ16vACb8ead=^CJpWzH$u1t<qiM2f4rYEJne zj!{>Z>fIIHbVUPYe)DbraA1(c+Fh~W4#s`K?ObKNNgS#r8KzB|M3xRg0il1{yJzM4l~#JE=$D3}gn45?%?}ya(78!PjCij(LY*XjC&bLm5MFNY02s z%B2g=@Dx!-29A>Nx!VOo5YKMkqt(e=f#J7H@Th?L%MD3exDHTvZ)ne?nof8$?{i#; zcE}BMgnZ8aLL$Tw);qNY}anX4^aJc7_2eqycMI0bI2iSW@_p z2C}9!-)0PI#Ffk^#kVMm2wZAnN21!&V7n;RxT$PCBz zT>hnlf=T2|Vp{XV%iw4yKtKe2nFlxH>se4->2j>Y1xvG3~=K+`sd^t0UOZ)lYRmotCB$D6` z&NF`rBO}1PcUkc@+ZFeIk&U1qoJ`kcOPn0$^$>R=>~V#Jau1FO)_CJ+`|fLH|(T#r#@~-1)NB;1ov;iN3%D-*Kw&Y z<^DoO-agl1ZT=rJlGbv;Q5&~RxoU%Q2>To*i}TnZQ%=DU2^Wj}OVI%IFgHR%fcb(5 zl9}ps&X3^RgONuxovSS&>Iqj|+VAi!xqY)b0yWEcBcXFFN)!gCTR}&0gI2Ro3@C*Q zL4!?6gt*T>+v3MtKr=G;uDT0(dDE3Wkzg-kVnTp@V`pJ10^a9SZo}(TsiCcNeJ~Jp zT$0Y`=6Hx8`=Q2-rMV3Ii@*n*x!8gF6sG|s!G-`}VG}AKHDNThGHwt?sUJ|&I0(!6 zbQr5__1>IXw2K8*KF}IUQm3LXcQ}bIM!*@?hC38t9!{c{8o*-)s+nBbQ+!~zrJssoNt^gT@Q$ipv^go!~lB$D;?&|S(g!_{R#FJ;oE z^F|$c&uGfkioq`hB;imBibL@~$6@SEBeSlz96-knz1(p_ zkE|}aB!yMhr3qR$iZ-qZ&K$)Ev)%inh?NnyMA9S``>I^EyXFum4h!T>&nu1J%b+S; zo&h1Qt$pq_p`F^f@jpTsA?1wCa`Cd4VRotv8pnNjOAGq0!) zK~Pls4XTKk5NJ7{n#g1>J+FZxnb{>O<7~l$Ug8q?EN@d5E79HvcJZ+08|4vo{hq%# zJZ=eX#6kgBX|h4r4;i8yU+QJyP29}=j21_d=|1TlAfpN!EZw##``&k*kkK^G>bly5m%O!>T08o!Flr*`h*;pJ}+FDUHh;h*^X^A~UovHN-X@bo11PY*wz z@iXT?{`ULJub&5yGf4zFDCd~9C}~HZ!Ew5o%$ofir~P;f8R=RLZa-8Rs1^rh_Z5g@ z13D5LAS$P4GYG39IDbxHbZ+Q-3}B0XlhYDXE{j9EnVZS~!-=5tbP-?pl4QdXx&ZoD z{gANB7BYTdr(srxZ|(5~!Ogg36(Rw|DHS}+Xba9C$#++Zh9S&AIPfXlxe6C^nZ9s( zRfDg_soBLM3pJD&Bm)FIdV%Cpm58p-Ox%`(eclTIdcvjSH))y%u5)2fE$uw7hXp} zL-vQNBTI;JfWXFu*66n5a_F{mMNocoIKnGrPJC02$fj%ImiFS0_u=?ZF1!_p>ljiC zjugXtQ-DcGo&zus3S#Z=?>N-uHW9gDirkIeCrQJ5Yy`k1@p+q2{&+Kwa9_mk)0L-& z8zNjlP^o~hD7t9<_y$VL4==Ts%pt@aq&`s1gUo`;Ci$>%6KMTWhF8V6&Cj!5qiIyl2+84iMH zww(}-{4Th>O}{y+4u$2pnGv!o~lRA zG$ER`{IWbiq3h=Fk^@m(yTXiRY_q%L}KSFVdbdI4NH%7VUA!&Fgo5fYtQ zI&?>C^{nEO@7^m`#qdN{S-v*3+>y9A zyWn~b>69xQ2hej#Y{yAFY0{{lC7*l@Yy7APtwncin$xaaF$`|tHY5wt#-jZk%LO>UUteR@Oyjy``^zme+t~e&G{eaSFjf-P0@T1t1o{%e?@jb z{_^Yj=a=)>*LXYJxXmoz)#vm#{pG!%<-;YXXrj#)^~lPTZn|xB+m-=mkruQ!J!v$u zq%Ok~&<&4+HdDX4p~o9{Z%x=Ya^RAB_(LJIjSt(I4oc0gvE!#k^m1m6{qj_|rbu+$ zU%Wlm)v=E)X%)otVErQ-NuE;Z!J(KXDv!?)`R7t(TFn>D$jbsJnf1JH%l)2jD~tuQ z?2qg65Chn6+OnxW#zWu~flKO0PMcna52zun47Unx%#4`}8JT)BJEi-F-_B2P*He>TS~V|eHEO^+vT$F+NAX0hd-xOT`_E(nDACL=i5F*71-SN4ai z&b*M}z?zToNhsiqqY|qj#G(mFJ1_}(Y7NM@n_Z&RqnB(m&zJ$Ph~n|-Z|9d+)}gpL zzdVb@`30Cu*Q@yF`QO8e9RI8insX|AP-uG)q}&ilp;@VwXK0Gi<7w~PpA7MKCGiha zsf)v=YxjU~uCwm=+#T3TL2@YWL!KN?QHy0(g=rqTuZzYCE+CsnJaW((|zJdS%7626habsUrNkd66F<&w;Fg7qV zGBYl8cyv`%2>=76*CIrq*CIq!cmx0d0001ueO-6j$hPhK{S`IFdA*&ZlB%TAqX5~+ z2#GC$-OkG$B%xz=9O#Sf&dDD7@psNDVZapj?Q_QN?j#*5RqJEUwdPt3n)|Hkx^X?t zn=Y0{sQFm5^Cr*dU03CIVz`(N@}|tHQ8&vvnFLADB{E5pAV^c$;V%_x6B?z1Ae50z z(k=)C)BW*B7yS_ie*|$SgHWYG(%lxrBEWybe>eYUSYLI6yql^nn|0H!`d@?kewgQ7 zcirUI*PRZexGT!Gu0%8Hx~sBo@@klO?XU||jo;O%D2|oc9|A|vD$r4CVjLvs0_i(M zczg&G?hjGn|E_R^a<$p4S6x?ZmcN&q4!@z8Zg;EAR%HL+hs*7g$Tr_skE^F{n009o zsI-e@prSx0y1xvW#IcN`I0|vfsKb4E&S8$vk))@W!INB_a$^=)UVtbH;C(%j^#0&9nI&KYfQsF;bc?#MNuO zNucaqs4xyytdmHlO5>+tAm?|XPwzq<8;8IFo?d>eyY9zo_Y=<_#(@&s<>`67>E?fSiAnIuT81euB#wM@@?in=(6Vpu_{q-?!p{pp%E0IDd_F7$s2zlf;Fon8ta2CCTwYq9}QLB?weykxjeqF0V#-f$I(*AnvlVTFmXO zjI*+x=h>*6v|XG8I);zLiPmrzYoRf2A_z>P3`{mn6NWF(G1SR@gl~`0&a+{`KX98( za2=w|7NcyQS2zhC>@I8Wis7WI?(tuzX#h9EpIs{adG^KutA^dc{oub{5c`ghoZN(Y zdxV?3X=+4^;W(Sk5S?Tq194N2afZB|+fY8r$}(%Mo9HlvuS%sP;zQiWEgka=8u2@V znRJ2jxQPiaMvFdfO%Oj3AbIu8h%b_)krr((qzrA~=(<_m%xz+;n=Va4e7+8%B$isn zp^N3A!lwt3Nn(ww>SXA<5py}G@J8lY(~e=KZM_&4c_(9p&vM?1DQw2xNB(C%NAjKK z_@m-a4+Bl2B&A!~XORh=6&D3RGB}vmGEC$*(4&Ns*UdFz$26N{&3y+Sh{QCzuX1aj zgS;$}V()Mco7fWk#ySo)lUwS-R|G%7Qy{&DG?Xq#edo~cn@3XvOz`uvGH+p`5pA@| zOZ*LC3%TqX@g2v!&hV3n7D#QeF-T+1I5hHyjI>lR-8765Hni^$7hdFG9OZKJ6#;v& z+y2^g_}yeE?q9xsUAi=1?EYDAR`w#`5OJ3xEbA~%5|>PHB!qGNg)A33q~SS3;?M9E zk6_ILkPBYW4HnHL?+_YAp20z;ixM}42f|%cL;MI{q#on;5wJSkf2@@XoWm+uLxeX% za1RX<8(+lZDY558Dt8WE#b&$X9~OCSvsr!n&0i$im%sknKK^jGamV~NSbq8axZT*; zA#D_uNKTOswDpuIk?iN9w(kRuU&L+rn zVhFPZ1g*R3wlk>?VVj6w$YaQ-&Nfq|I5;ZK5CVrWzn|MhdXmy24-6izH{XCW2CLn} z_URe%0zkO>B!&;muRRRCTJCJZDKy zOhcbQF2)Q1@xmt9MOA-BTne?w#W0)B7%oJF;M~o|bzT*JcG>3+sY}Lq1wbeG$|0H? z#4mgvycu`zOVz53vocWSzHw`LwG|q%0J&`?Y|cJXP9b$$7!=l z%(8a4$V#}4LqI`Jm=2sM23dpu&+Pel7o7n|z!_r177LU4ct*!MjZK2Lv}xe%e8I^r zsdEd)XN~KMPL$0M=W9HPks>RzY28yxv8al<;JJ!vA#MQ(;PUoVq)a#!fB_7}oeH4^ zHVm%@Voamh7hH63iC*sAdYUzWq8%e@Qv-Me2DjA!E+GMeMDVN#JcQGI0z|rpA>n31 z*z#*4)}ba~#f)mp* z{6@a}&kEF{-9F;q#bCAk`rr~{0M9bo09Ao#se}2%v>+f5d~TpU4<%2KTM(UJ5YZxu z-r@!bsYWKir-*Bq&m6(XqLq0*&4-K988Q-J2zNt%j0`-hXBWWGNd0jH+6nrF+w`0y ze9zr!$kPI;xohgS=+m{@8RCrqUF*txTGx&9di*NQXG#(6n1bA4V7mdc zLShWA3SNJ1H&UNmOYoYeozItGI&cwy*{aPeWZ%TVVw#3=*qZMpM>2#%<+N6U%t0Vt70 z;K$k-u!H*6f>mgI850Le{iNq$Fy(zUf^Uy=9I8RQ0JarcTR!?p+%t1@>b4X)l zJ?ry?0S{-M0Gu_6Ip(C`#bKP10-Zx`jf8rsT+t)UX@1SpUOTJD4StCZ!O}s-=s;yY z$f~+>#0UP%8V##>QoBS&8k7=u<3f~{K2nSWe85JB`LJN^sza;??~!C**9d4?Z?Q;K z*V&*cz!G^85^$!d9n9eZYWlBT_L}PVGei zgM*vFmSZ?dfu+ALs(ID9*8GH|S5y(9W*mwkcKsX7duW*Bt#Fv<8AJ1;GDHteF zQ(jCL;Ks0GfJ<`XB!IijN}O^ro#xFI9%a;Bm0hHOYCG5?;+kY-XkTiL@JPsiDFYXx z+j$&O7ZY;-D$V-q!|L%7nWtR-dIFY}a5{k>U4C1M(GLC$Uh?$M`tfmPuSMejU?m~Q zxY9ax&;S_-5iOO-0`iihsMOCpj?m>0#xVp^8FWZpff!{-G`8woH=tzqdDGgf-YNB zqXJhmLk?{5FC9KuvH*?{f)w{^s(1v+moNZP0a1YGG>Hc$RmUjF778+3NE+00WV|2& z4az?WX^gd1!hIM9Vt#uIppe@a0$)#QuD~F;MOVd%j4{fgB*n9MIs=-&_T8fAX!T{g zTRtF|t(-|pg~&cyJ;GwQ)?BZEo5b|@YWK9a6-iqG#Z2+H6I+4vrX+3N1e}~al#0(v zC|Plnjk|7=XALodR7T*Esv)pI&7yn`dh)-SgFzbqh-?=pYbITF1H(W@VZ_IYOd1FK zAcw;Qh%6zT!|=V%50ysm8Ss_u-V6pbU{{ETNyu2(g7h@cM)jR-SS)6Y`O43uYBPX{fl()?SZ*h67SVbqBB zj&z^_D(LOU#$I4(@OnZ?8M`c?!<5AhqXA)bVw6AJrRn?pT+j^@@(;ikn3K`gcFrzE1{c8FYc67o4RDFnf;Pc^ zo!CE+t-!U5ayDKxuB#Ly-~-A7xF*^aITTEnMPmFFYm+K(N|YxQ(Q7S8{-eh7vDbM0mBqNepZ8bsS{|NPEO5aZV&EgvjU?C?6~Yu8BVmB2VR%py4*5=B%c9q8k{7l@ zJg%D-4y_X;Wq5g2=Ee2c=ApYWAQZ2t9b2!F4E>6j4q!Dh$JM|jk+fKQn)B<3-sL>D zr;^=S^8m%FT3ZdAX7>)U*>*5+G<;U0G zcSHeQ5srxnHX0e0i6=SYNuGbst(Dl0OWS)3avq4WN?CMKCuOHNg)1xL&B{{Aj|gCs zSGM1V&S_cO2^1fvq7u{LFdHFiSin}+tzgNV^>o*hw$<5)NLq#JsO^XN0XEDu?WtJfF!4t` zt0+hLRb7D$ccTR(Cvp$4v0yC8+qTE`@ZY6XB1%X^r3>Y_&O=3EUs0< z8aNifS&Cf1k!%@fF+?tQrDF;hG;#@06RzU5;S@#;xWMG_Re4@I#^)=4d_TO+w6?D^ zuS;Yaa4&%C2}>2@qH%P*%vx~^uH3rHJ_QV{9VIbP?VXs!`DnAAl}R6EZa8)dp_QQl>X33yuHl}y-`jC5pl??Ch$FrS2^m{mcKj(~je z#9Gc;=lcXaWABl#fEtzs8*5MAiH$)#1Q0bf-h+i~Jf=Z8WU^sRL+7VkxQiR~c zBB(loj<6)jz^eU8`J{7ufgjERlUPL`)r)Jk@FN*Ij1QhXa+J)r$?l4(wU?CvMs(GX zc8;tRMPSLPii6i29oa5wirm0s`C_m6Fh#yBC(BYKbf zH99aI0^V6Ju8Ssvhh+;VnM&BdOKcH8iNYf=r{MBw!WxjT6C;iC+s!^BOzK6;KY7+p zvIc%CHR#Wsy%s7}+Bxp2uBQ%VPYZl1Qy@}Hg8Zl=SKpxZkURqsAb6+V%BVCSBB{aZ zpVjX1HzMETaOa%bL0xdpBTsK>^6sN z1)V?7Nxxf09@ub{5JveJ2jXu8@KDY_+o;D*2pkE3oYG58`J$1E5IgQG3eHZDn1CD7 zMDle!SMnj~FY84{8Z^5HeFvsjg5Z)p!+BxZG8uHam=56mR)7g$0Y{6H)F8CzqqKyS z8R1S?_wiJrfQT>AvFhYTtWafG<6aWs_t`x`MW@Q@eA}&TP)3|*bO4&% z$i@@RbYDxSf+SR|5|W=OFPs8zxCp1J9!*und|}J?lrvE?><%=?fo8?To~X07)0b6n zX8|vzGjR}y6943&cSKSWfx^Z}+A{VQG{VzvRPy$v{=H=3xXac*R+}dlBE_A>zCWKt z``mT6%g0B=8k-l{c|%@IbPQZ~q`6ag9r!ghH8MDl_@NBn1OL-Q0unR!RqBepT|*^e z*2@9xjZBK_x_#Aa+MEbv5O*{g#C_G*DvhmY;5;D1|ksVe%ecaEE~9UN!kh0M_<$ zr#t+qMFSSuOo1lu?bWpTJ?^EkiCM{5v${$9WK3 zm4By=csNn0J_>GCfh&3iC!*h`-fFi=MF$3j1WLZ)YtEo|8Y$D8;m7L zEsOUBw9{_kd7q&LWUI&zse&Yz09~H4_KKuq;ebO&27m4pE{iMe<2x1AtSCqH69eMv z{rESHD0${4IUqhhtjvdF_RB*Un|+Uaf`9>aoAY8ywSz4~@|G1a1%b2br5E^J@h>tq zh$^XV$$5@p-ec`kt8>4j-eFYNR$~qrD(3fP-dI9vImeitj&2GTk|L5bniI~;z0zH4 z>m{s_CaG6nj>ky-k8wo2>UO*!Jj*D=>6K^rjYC%ry|0^IPt6~qCNc`iae8}D&QpO; z(hHiiFn+hOV)YiR)RVY$RZ+5SS%9E-5wTG&>c$?=lF^>(P`*?4mvak<1plRA zhnl4{O?nk4d8*UL0OY3Lx?p%(0qbM^;XHV+>jk`e-g7?u$)lq&i6JsC>nm9`9OqUd zA4(|k8MlWbPaG%U=|d+%pVot-?8_LOJz&X3 z<4IhjlI8MHQu1b4sma~l`?aC?Hj+^nhnzTU0>`fI%*E>_~ssouUXpRM%Zzknp2 z3jDhpQvh&fEsh~0aOfVKm#PB<+8Fj3Ub>Fcnr-}!;obnBEk?v@ROZWcFOnHj4_(dc zUMv&_6bmVhm=^VE2e!(TC|RyFUP-(T%|(q&uhq$#y0k>p4%)RG^h00~daQ97j?qN)bLQ7Ndp^B<=lRjhU)b7{u@Gg=G?@qr*QZ|uZIj`(85cX@{pMwJSi zg-zAVHOaxKzAaqi-;O}QERh)F$n?TH&Yh{$DO{yj501!ud^0jVPsn&424CF5HB%9F z2-hS$^kw#u%X%&-#2E4QTx>B>M5zisStUtdO}EHiGTNkWKG7pp2~U{1O!b-d{#gI) zx^FML<>r|HH550?pQ|TfHTun`Z!9n^pPrV_&yJ=u;Ifip1+wNqdVu8EUN?!la49FH zi&T0_7YG|v>(5y0n*fr4HHb+upWnL-oz0Okom3x*ID)^hj~wehvRUv*9*Pqtz(n4# zf2x&F^m#J+oDs#&$64JaVJfQH_2xtb+{q9;?A;~}V_>!bmv6|7yS=oG)Eq>V8be=Y zHacx&pSz9I%Vgy+14;%J(1Ab%`_o3VSvIVTsdE+yAMFf293~OErjL^qgdh_tGWhum z2k>d^4pibM17yvQs`z2dB0hi-=(v+G)qh$>>NKIsO1?p_QZ3yzFcl|2R~+mK3D?et zzH}6PD8X#%MTVQWSq$n9@Is6h6_W`;W2n3R$UxtQL!d;eM{ZF;{}_t0Hk)_hA+crR zXTda*i3cT@MvY7WhNpc$-#>PM`ZT}?r9Aoo|O8N;7FfC&R)kfNp zNuNGH3QxFI5TCFJivV8!v)pi`rhP;{*^pz0S_~gvmXFJw7%n%zw;R!XgMqpqa&MD{ zlziB3TR-f?dNgtzECiIs5Mgol$f=WM2v42ELS1Kvs{5)}awA-K)H#w(^mC#J zx5Q!rIR=Z4K1c@4ebRdK)M$ozn>Ey6mbY+JAS?m6LsoN1Jgw~%Lc%l~AGfV>ICctb zC+93~GVC86L|$TdZc1cUeF&Dws4LQ0rDU7Hjq)ne)J5Ffdq#Xr!=RG{Ff13 zuEqBQiFP*QrsfPwNCOjhMLVpkwlA@c@_ADib4N5om^(-%RW7OPhVB`j0@VUm(Z@F- z`%}cx={!bwredoy3rO+54S?`H$0D!t5mJBYg6Cd)W2YiHszRk$qSy`YTe7j8MPZdD z;h25=YM6&Z$ai~Mw)&9GZExmi7T z-M_aRPQK%*?x;nY~@iE>zTx!AYA>Dc0(ycF1ai2-}x(SQA8Is`gbqkp7tB z1`52LxfsUrP=?%_V3BI*JA?6i_~8ss4-_MH-IteV)}51pS~9pzJ}UY|Xw`jqJjXcW z1Vk^0(#QZBxH>qj1TV%pMy(KTj-lG&Bx&%z56y^xikVIQ*DNMcH)Z8^_7Ju!+}Am2 z){>M2c7?cWXICw9j@Z`bOcStLe4_U_x{;IkFV6&A#mi<*rP9|QPq_jfB3chEy6@RZC{=ry2tIa_>M@P-PV<><5-oqA#6kF;y^_2*)rvTN#Mlz zk@lWR1-{1Cv1j)koM|?nkMldq@l^n5pC0e$$w!2LG3)BjVV+fju*2Tqg5h`TSxZpXTVhm&V_>v;JsWE!$N?T`_W0( z#sgRr#mj-$bk!-#2$J(>x>nd6K6hy)F9_R?E1{zipQu^1Ey)dlvJp)^fLDn! zD;kR-vfX1ps!g|!DHbq@aR~b=?cayNjdmQdd2U;N=kIgc2bFJIO4H@;x47BjEL#p} z0w;>mcK7vR^+XS9SQp5C>~IJ>I#15PUI|PjF@3o_j%^h-pr$H{kH@rioMliH(7(Uw z5F}kfK)OqijwOYa6r?)^iG`(>T)MlFR6r3}x_e0xL_~TQTtd2Yk-YxyeRF62|2t<+ zy?M@@ne*a1bLR7;lCcU~#mkPkUEJMxbpM!l=}=2bOn!0zcTVWYJTlY5Pq4z(UQC;` zRe97wVLS~xPoAY5ETbOMW3ipFq3#aa4HwP zkEOmR-5~uqOM%B&rOiWsh|Q?QzB<6}$d5p-OI0Mza5!Cgxs3ndG{hMszLH*JV99#? zH^NZfg)&i#^wdqt?{%(OOO%;cRLdPadlt&!m#i0P_8>1a7OmP|rzR=xb>eRI!&-Kr zkfiV}`11YL#KbS;F2GsXjvwb$Qs_RKbHkx-m5lU{^T9C6K&U4(xgrRd@KXjT=KJIx zWLbB*r|>(*&ykJlI3!Uwnl}h9tbJ)@eK2KL|Lnq-)T1}pf||sFbzZQ~y-PNMVkp_$ zDEH#n_UxpT(RIYj~4iSJ<)@;)W{14!U`Z6kw*<)DVfxM={K) zE5S_Arn9;L(b5l9p*&~JTh+NeLQ1;Fk;G(;)>&cdc5lcDR>dx# z(NyUasDFe7ks8(Rr|~(7{MAfbrZJd*v1HFBA`ne=)rM&NOGU2o}b!-QTuqsiPj8=M62q`b6W-%xnY04`~K`!sJf z|DB>~B}{yp;v=4j0bwm_CxHG8IQ|s4KlglagTP`{me!1`fhtoxZ~I!0wB%+(M~90$ zW^W6C1$m9|+8g+MTuPsN^oaEp#av@)oH;qRt-cf=foUfiA!;Nfz%bWR92EF2&m7T-V5D`V)r}Yq)@isE5dG zoTOpHGc7=VEhh&4y*54-pEv4&tEYE7J!(M1YPCMAJ7aA0&ZcQotF(M2`s}ThB7$nB z3+S$X{2qMZB}TLLQhPykG;vHPjsk(~<)`;`*?L|UqDf3I>^NM=|JH!QU#T1RqA`#L zjog~GR!F<$LVcZ8(BxpUHJ(deR#sWXQ~LWX8=lLZ0l`-tQtGZn$Bp$`J7c(`zBb{< zPV5bQd}nXhmIT(|~_RfJ$ySyQhpwbU-o1r(1Fr zl{9CQt*6qJy8#M)BoQxI-Mpd$hhF5Bt--9Qne+QaTMS>z<+T-kyommkdjsvjIfYcA zZ*v$1j%D%vAFCM_6z}0zcrAU0XWKz2Up+l)3*A|0^hl!|tVKhhJKLnRbD-|hcNHsj zPDIwXAO^E{Wl)b!t(&U&Lzrm03KYICj*><&DUVW^J zpT97WoUWW$!$T{bL;$f@|potD=)uq z)W_p{?@of~uz9=ZXc7qkjqF09P!uFs+v{0W{safm&XUL@Cgh!C_nkt>Bg;?fWw6Yq zQ2ir6CUySdwWGd%*uQee=JRr3M-$U&*Tp()`eTt4VQ?$;7Cf~pY0IAno@XyJGE6bq zVj-pN+YFAHY7+eXMyOfCju$CQ$ys}X+y3NSvPmL z>i2TJra{4SAzo4%*N4S1JJpQ-3j&+#I3+du7Nmd=@`F-L<5|Sj0Rq5twhq|o^VMth zLxKyOpu4y1PQkE8)%1U|#f%;a5Fnh_i{JPxE|Kwdyd&^S!CF!g3f*ZdZ*-?Z_9T2@ z*um%ULb4qbXWTq}2{kk@+7iF@SW&{uJtbGmy4BV2h+{tSaH1Y=59ITbuH=mDO`lAj zZZNPoWC%El-afPxU1}rPr^zHRAdg|e$Bdw9{#q(525;qTqJComkVK7GNfyz+jRz?8 z=zbH?Ywt%VLXKB!H>M^pUhq!tZ`_>z`wC{RUE3rW+#;0KQwKcQ;HR9BgYpU_+Jf5c z`E>LN=}bQ&EIpNq0S{Mk#*7vVEI}s8i|RpF+a>f+E+0G#c`z-wzrlIe%|~LAM$NBy zf)3}Jy`I3;h!LleeYm(Q09u`K@gdwideH<}_6D1;K^VNDPFWH@_q=s5=(31G!#6%f zG0SmVcDP;?DoSn zc)a_U0SA93N`aHRnjEWvC+}@T^_$%%Jc{WYg%0BVEZ)5Mz0^n@iyp5Pb#I)vwh*vzte(#6Y#S`-CTrw=@N2tQy^#+AKJsh3=Asu`htxiD$0^iQ>Hhp_98QPtIDNh)#w(n4e zWTq}zaI`RAh98p_37SO7h<|gPD4wQ=fWW&>!woWmk;SulT;t1^4ST@4wp4}IzG4`> zrd@@U(!dBFhnyHqoVYf9?Y|@>Y1eEOg1+RJ_z#<|`+cr|A=%WV~b#XWo%8f1{ z9SRqQ396(r*feTsF)0Btf@&JyU5zgOW>XxpcvkAATOUcLd)Cw2DmW&aV*sRUVR_21 z+PV`7+O?~m-dsUbbSHq;5LnVz>$(|bKVJ9#op+nP@mDpyYzD}CtH5%d&F_(apscD^ ztta7CU0SekPJEW^pzl5HYcY#lN@VDw5zAhQYx-4VIHplp z4#zY)((!+4&ccpao#HycLS!_qybk0iI$@Ci{+Fc1^c$1kqD?bT!T#BnTf{M2tqr$; z**umwzNk_*M)T^^8Wqe204qs2v&N#4c@C|iMn8LJPyQ7o?6-EwrmADMCi9e~J))V^ zMr)|SH|LerY%EpzBhv`2=_r-w@=@zvG%`uEr)u>hysk_c6FWc^{SXmb zf938x46U8bUa)+I%|Cr&l{Y3Vs;9`mFU;!^$}3%SStN;jl;C9tEfl+ybyGg@OO;+{ zJY?|jyPVu5Jz)O*B})FYgY^M!Sd>y&$*C+~^SnUDagThZ1bHL@Qqe_RxSO=xZ?`4E z&FsACg9RQqQfeVI05tS!H7p=T@SQb}b~kF3Y|y+`{C%I%mvBd3 zZ|2RKVN6*e`$p^Dz|rFB#u>^_Dx2ZLjsrITMDi?*oU@RNNRCG$9_T!cw0u<~xO}Dy zUyZUGp|g{OTWojpqJG(=b~3Nnt;fFsTOeswbtYjnGIS8&Pr7>xV67=E*bL}47kb-r z+h`uTAx9b}Lz^Jb*T9*7cPD@aDwvfNF#*Hc4{{k9b$D1e?Xr7ym_}+5WmH|s{l+V+ z;40_|l}g*Pj~jQ63R8lqw&Belvit0=K*TX7grlqw`Mh=e-<7^8NN0}}AE_|>3DTq& z8Z#$5%rH)X4aYIMG#DFW^GjZ9c68hZwgoeT2*ivh%k4c=wK3zUJlv#d>$d`8A z$&bjI3C)>4I+8KQUv3vhbO>#FKVp6tYvHue=rATs(|~$W2sC;%K&`{J&rc5-@_H2e zu-M;ytWhyNyZU#o^NyBX%bU%ObMUnRbU>(iV4HCy^^b1@A=NUdY_qA zu-sChA*BmEc_7sGl?7A|*^E*gR&Q7k6`E+Snx%J^jA~^8MvnO@4HPuKhfCegfe1m< zWBj%{LeO+fgF;_tBMCnZ`y6@uYZI*%`NUp_V3Q<8M`*-67GTCeRxKXr8J3JIh}30!B$?!)Sa*xB&{p7)0;RtR@qVuBf||e{kA1?- zvJdK0=9U%=E|Phi+F*Wv|F`jP>p^GiykR0svEAkA)s^?o4EOZK^z&4!3g05MHWy{h4>k+7E#s!JZY!s+o;W)_d39@culCwpehpF_ zq@Tne-@!?~qjq6P0%+qxnaI1{$2Bp zpD|q4I!#}ZI2n2O9E%Ym^ato7WQE_*E$Z+`b>vrFiA060QM1#pF|aLzXSxkSJ0d`K z!)J=e`{#}zAf__xk+-f&#wA)FaS(x>{jl_fwa1<8^TaxBhDU0HHPMWARKZlagvKYF zckqA77<$D!`oiUJV?{8&W{Q$E8~}6OM;)G%lrZleI#l7NJ$iJ%S5>A;eZDoc5bsW) zaAMr?qLWwG^NgFcO?^ zBR4fOIw}2>v|T0x{RB{T|7Up~-v!Sa>lQE9vEVJ<*m=2J40qW4j1gfoOZ3HODkr*e zM+5FQyxlP=qz22S!)ozz$C>YpOs%BN)ZXq zZw_KqXIZZ*+sADnOTeP=UgGhRJu4lm=O6muRGC&6=dLquG16pJW{pG~%d|WLa4bEM znZUHI_FDd|t=fBO6%GjCrIAm4>Z?b3N@NAU1xVJqz??#(v_ak$pdJ<}Nz?X6QJ16*~P_7Zmdhzph)lGLLR8M5Q`MFG=f*x=EUIPZ6qfNfD zdum5q^64w@xMG;+bHT0TVZ0N&m|bFK6_iES;#t?m;r#VpYNl}H%Rh~>)Yg%?%ae#@ zELab^z&*V8T58HiC2XyCtV>gQhi2EzY*!*+WF zFIJbe(KuOC(nj=_zteVdoyd)<$Cvb%p0`n3q=1leQg^0H6!E)Ysxju z84+T28}q6>i)2S2n0pap?eKQk^+2ispuLR!JuWcsXp1au>hsbU+jLg*M#UI7uiDg} zaW*21w67`=O}y>C5j%F3dK~x|tm0vLnm9wcQa5VmU;0wPNY6hr@?hdRuE>i-kWqD! zAjxqVt3n_fud?}QeeXQ_Is$fkEdIOQ)d=xV5a^zT9_kN)vMZ+Cx~sKRV>xE|ff%zU zEAL63Uj{w3hov@|cOOW{pOpOBE(n*F^XtK+#GNg3yNm0ETn~qxoUfEi*`4p~RrEfk zIIf;MSNV+a{E+JLhwH9 zGoP-&8fuh2d!I4^ck1;4=nhBX+dkFbf^AzbY(!s +#include "smallft.h" +#include "misc.h" + +static void drfti1(int n, float *wa, int *ifac){ + static int ntryh[4] = { 4,2,3,5 }; + static float tpi = 6.28318530717958648f; + float arg,argh,argld,fi; + int ntry=0,i,j=-1; + int k1, l1, l2, ib; + int ld, ii, ip, is, nq, nr; + int ido, ipm, nfm1; + int nl=n; + int nf=0; + + L101: + j++; + if (j < 4) + ntry=ntryh[j]; + else + ntry+=2; + + L104: + nq=nl/ntry; + nr=nl-ntry*nq; + if (nr!=0) goto L101; + + nf++; + ifac[nf+1]=ntry; + nl=nq; + if(ntry!=2)goto L107; + if(nf==1)goto L107; + + for (i=1;i>1; + ipp2=ip; + idp2=ido; + nbd=(ido-1)>>1; + t0=l1*ido; + t10=ip*ido; + + if(ido==1)goto L119; + for(ik=0;ikl1){ + for(j=1;j>1; + ipp2=ip; + ipph=(ip+1)>>1; + if(idol1)goto L139; + + is= -ido-1; + t1=0; + for(j=1;jn==1)return; + drftf1(l->n,data,l->trigcache,l->trigcache+l->n,l->splitcache); +} + +void drft_backward(struct drft_lookup *l,float *data){ + if (l->n==1)return; + drftb1(l->n,data,l->trigcache,l->trigcache+l->n,l->splitcache); +} + +void drft_init(struct drft_lookup *l,int n) +{ + l->n=n; + l->trigcache=(float*)speex_alloc(3*n*sizeof(*l->trigcache)); + l->splitcache=(int*)speex_alloc(32*sizeof(*l->splitcache)); + fdrffti(n, l->trigcache, l->splitcache); +} + +void drft_clear(struct drft_lookup *l) +{ + if(l) + { + if(l->trigcache) + speex_free(l->trigcache); + if(l->splitcache) + speex_free(l->splitcache); + } +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/smallft.h b/agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/smallft.h new file mode 100644 index 00000000..d44c41b1 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/smallft.h @@ -0,0 +1,42 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * + * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * + * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 * + * by the XIPHOPHORUS Company http://www.xiph.org/ * + * * + ******************************************************************** + + function: fft transform + last mod: $Id: smallft.h,v 1.2 2004/07/07 13:39:42 stevek Exp $ + + ********************************************************************/ + +#ifndef _V_SMFT_H_ +#define _V_SMFT_H_ + +/*#include "vorbis/codec.h"*/ + +#ifdef __cplusplus +extern "C" { +#endif + +struct drft_lookup{ + int n; + float *trigcache; + int *splitcache; +}; + +extern void drft_forward(struct drft_lookup *l,float *data); +extern void drft_backward(struct drft_lookup *l,float *data); +extern void drft_init(struct drft_lookup *l,int n); +extern void drft_clear(struct drft_lookup *l); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/speex_preprocess.h b/agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/speex_preprocess.h new file mode 100644 index 00000000..320224ea --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/libspeex/speex_preprocess.h @@ -0,0 +1,139 @@ +/* Copyright (C) 2003 Epic Games + Written by Jean-Marc Valin + + File: speex_preprocess.h + + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ + + +#ifdef __cplusplus +extern "C" { +#endif + +struct drft_lookup; + +typedef struct SpeexPreprocessState { + int frame_size; /**< Number of samples processed each time */ + int ps_size; /**< Number of points in the power spectrum */ + int sampling_rate; /**< Sampling rate of the input/output */ + + /* parameters */ + int denoise_enabled; + int agc_enabled; + float agc_level; + int vad_enabled; + + // probabilities to check speech_prob against + float speech_prob_start ; + float speech_prob_continue ; + + float *frame; /**< Processing frame (2*ps_size) */ + float *ps; /**< Current power spectrum */ + float *gain2; /**< Adjusted gains */ + float *window; /**< Analysis/Synthesis window */ + float *noise; /**< Noise estimate */ + float *old_ps; /**< Power spectrum for last frame */ + float *gain; /**< Ephraim Malah gain */ + float *prior; /**< A-priori SNR */ + float *post; /**< A-posteriori SNR */ + + float *S; /**< Smoothed power spectrum */ + float *Smin; /**< See Cohen paper */ + float *Stmp; /**< See Cohen paper */ + float *update_prob; /**< Propability of speech presence for noise update */ + + float *zeta; /**< Smoothed a priori SNR */ + float Zpeak; + float Zlast; + + float *loudness_weight; /**< Perceptual loudness curve */ + + float *echo_noise; + + float *noise_bands; + float *noise_bands2; + int noise_bandsN; + float *speech_bands; + float *speech_bands2; + int speech_bandsN; + + float *inbuf; /**< Input buffer (overlapped analysis) */ + float *outbuf; /**< Output buffer (for overlap and add) */ + + float speech_prob; + int last_speech; + float loudness; /**< loudness estimate */ + float loudness2; /**< loudness estimate */ + int nb_adapt; /**< Number of frames used for adaptation so far */ + int nb_loudness_adapt; /**< Number of frames used for loudness adaptation so far */ + int consec_noise; /**< Number of consecutive noise frames */ + int nb_preprocess; /**< Number of frames processed so far */ + struct drft_lookup *fft_lookup; /**< Lookup table for the FFT */ + +} SpeexPreprocessState; + +/** Creates a new preprocessing state */ +SpeexPreprocessState *speex_preprocess_state_init(int frame_size, int sampling_rate); + +/** Destroys a denoising state */ +void speex_preprocess_state_destroy(SpeexPreprocessState *st); + +/** Preprocess a frame */ +int speex_preprocess(SpeexPreprocessState *st, short *x, float *noise); + +/** Preprocess a frame */ +void speex_preprocess_estimate_update(SpeexPreprocessState *st, short *x, float *noise); + +/** Used like the ioctl function to control the preprocessor parameters */ +int speex_preprocess_ctl(SpeexPreprocessState *st, int request, void *ptr); + +#define SPEEX_PROB_START 0.35 +#define SPEEX_PROB_CONTINUE 0.1 + +#define SPEEX_PREPROCESS_SET_DENOISE 0 +#define SPEEX_PREPROCESS_GET_DENOISE 1 + +#define SPEEX_PREPROCESS_SET_AGC 2 +#define SPEEX_PREPROCESS_GET_AGC 3 + +#define SPEEX_PREPROCESS_SET_VAD 4 +#define SPEEX_PREPROCESS_GET_VAD 5 + +#define SPEEX_PREPROCESS_SET_AGC_LEVEL 6 +#define SPEEX_PREPROCESS_GET_AGC_LEVEL 7 + +#define SPEEX_PREPROCESS_SET_PROB_START 8 +#define SPEEX_PREPROCESS_GET_PROB_START 9 + +#define SPEEX_PREPROCESS_SET_PROB_CONTINUE 10 +#define SPEEX_PREPROCESS_GET_PROB_CONTINUE 11 + +#ifdef __cplusplus +} +#endif diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/member.c b/agc_2-X/branches/agc_2.0.5/extras/app_conference/member.c new file mode 100644 index 00000000..30f6ccc8 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/member.c @@ -0,0 +1,1946 @@ + +// $Id: member.c,v 1.9-1 2006/06/01 16:10:10 mflorell Exp $ + +/* + * app_conference + * + * A channel independent conference application for Asterisk + * + * Copyright (C) 2002, 2003 Junghanns.NET GmbH + * Copyright (C) 2003, 2004 HorizonLive.com, Inc. + * + * Klaus-Peter Junghanns + * + * This program may be modified and distributed under the + * terms of the GNU Public License. + * + */ + +#include "member.h" +#include "regex.h" + + + +// process an incoming frame. Returns 0 normally, 1 if hangup was received. +static int process_incoming(struct ast_conference *conf, struct ast_conf_member *member, struct ast_frame *f) +{ + + int silent_frame = 0; + + if ( + f->frametype == AST_FRAME_DTMF + && member->send_dtmf + ) + { // send the DTMF event to the MGR interface.. + manager_event( + EVENT_FLAG_CALL, + "ConferenceDTMF", + "Channel: %s\r\n" + "Key: %c\r\n", + member->channel_name, + f->subclass + ) ; + + ast_frfree(f); + f = NULL; + } + else if ( member->type == 'L' ) + { + // this is a listen-only user, ignore the frame + ast_frfree( f ) ; + f = NULL ; + } + else if ( ( f->frametype == AST_FRAME_VOICE ) || (f->frametype == AST_FRAME_DTMF) ) +// else if ( f->frametype == AST_FRAME_VOICE ) + { + // accounting: count the incoming frame + member->frames_in++ ; + + if (f->frametype == AST_FRAME_DTMF) + { + if ( (member->inband_dtmf == -1) || (member->rfc_dtmf == -1) ) + { + char *digit = "X" ; + char *dtmfRFC = "X" ; + int conf_count ; + struct ast_conf_member *membertest; + + if (f->subclass == 35) { digit = "hash" ; dtmfRFC = "#" ; } + if (f->subclass == 42) { digit = "star" ; dtmfRFC = "*" ; } + if (f->subclass == 48) { digit = "0" ; dtmfRFC = "0" ; } + if (f->subclass == 49) { digit = "1" ; dtmfRFC = "1" ; } + if (f->subclass == 50) { digit = "2" ; dtmfRFC = "2" ; } + if (f->subclass == 51) { digit = "3" ; dtmfRFC = "3" ; } + if (f->subclass == 52) { digit = "4" ; dtmfRFC = "4" ; } + if (f->subclass == 53) { digit = "5" ; dtmfRFC = "5" ; } + if (f->subclass == 54) { digit = "6" ; dtmfRFC = "6" ; } + if (f->subclass == 55) { digit = "7" ; dtmfRFC = "7" ; } + if (f->subclass == 56) { digit = "8" ; dtmfRFC = "8" ; } + if (f->subclass == 57) { digit = "9" ; dtmfRFC = "9" ; } + + ast_log( LOG_NOTICE, "DTMF debug frame output to voice %d - %s\n", f->subclass, digit ) ; + + int res = 0 ; + int dtmf_invalid = 0 ; + regex_t re; + + if(regcomp(&re, digit, REG_EXTENDED|REG_NOSUB) != 0) { dtmf_invalid = 0; } + dtmf_invalid = regexec(&re, "0123456789*#abcdABCDstarhash", (size_t)0, NULL, 0); + regfree(&re); + ast_log( LOG_NOTICE, "Regex debug %d - %s - %s\n", dtmf_invalid, member->channel_name, digit) ; + + // play DTMF for other members of the conference + membertest = conf->memberlist ; + conf_count = conf->membercount ; + + // ast_log( LOG_NOTICE, "2 DTMF debug frame output to voice, conf count %d\n", conf_count) ; + + while (membertest != NULL) + { + + if( (!strcmp(membertest->channel_name, member->channel_name)) || ( digit == "X" ) ) + { + ast_log( LOG_ERROR, "skipping playing DTMF tone on %s\n", membertest->channel_name ) ; + } + else + { + + if (member->inband_dtmf == -1) + { + if (!basic_play_sound ( membertest->channel_name, digit )) + { + ast_log( LOG_ERROR, "playing DTMF tone FAILED on %s\n", membertest->channel_name ) ; + } + } + + if (member->rfc_dtmf == -1) + { + ast_log( LOG_NOTICE, "START sending DTMF signal on %s\n", membertest->channel_name ) ; + + if(dtmf_invalid > 0) + { + ast_log(LOG_WARNING, "Illegal DTMF character '%s' in string. (0-9*#aAbBcCdD allowed)\n", digit); + } + else + { + + res = ast_dtmf_stream(membertest->chan,NULL,digit,250); + if (res) + { + ast_log( LOG_NOTICE, "DTMF signal %s on %s sent\n", digit, membertest->channel_name ) ; + } + } + } + } + membertest = membertest->next; + } + } + + + } + + +#ifdef DEBUG_OUTPUT_PCM + // !!! TESTING !!! + if ( member->incoming_fh != NULL ) + { + fwrite( f->data, f->datalen, 1, member->incoming_fh ) ; + fflush( member->incoming_fh ) ; + } +#endif + +#if ( SILDET == 2 ) + // + // make sure we have a valid dsp and frame type + // + if ( + member->dsp != NULL + && f->subclass == AST_FORMAT_SLINEAR + && f->datalen == AST_CONF_FRAME_DATA_SIZE + ) + { + // send the frame to the preprocessor +#ifdef DEBUG_USE_TIMELOG + int spx_ret; + TIMELOG(spx_ret = speex_preprocess( member->dsp, f->data, NULL ), 3, "speex_preprocess"); + if ( spx_ret == 0 ) +#else + if ( speex_preprocess( member->dsp, f->data, NULL ) == 0 ) +#endif + { + // + // we ignore the preprocessor's outcome if we've seen voice frames + // in within the last AST_CONF_SKIP_SPEEX_PREPROCESS frames + // + if ( member->ignore_speex_count > 0 ) + { + // ast_log( AST_CONF_DEBUG, "ignore_speex_count => %d\n", member->ignore_speex_count ) ; + + // skip speex_preprocess(), and decrement counter + --member->ignore_speex_count ; + } + else + { + // set silent_frame flag + silent_frame = 1 ; + } + } + else + { + // voice detected, reset skip count + member->ignore_speex_count = AST_CONF_SKIP_SPEEX_PREPROCESS ; + } + } +#endif + + // used to debug drop off in received frames + // struct timeval tv ; + // gettimeofday( &tv, NULL ) ; + + if ( silent_frame == 1 ) + { + // ignore silent frames + // ast_log( AST_CONF_DEBUG, "RECEIVED SILENT FRAME, channel => %s, frames_in => %ld, s => %ld, ms => %ld\n", + // member->channel_name, member->frames_in, tv.tv_sec, tv.tv_usec ) ; + } + else + { + // queue a non-silent frame for mixing + + // ast_log( AST_CONF_DEBUG, "RECEIVED VOICE FRAME, channel => %s, frames_in => %ld, s => %ld, ms => %ld\n", + // member->channel_name, member->frames_in, tv.tv_sec, tv.tv_usec ) ; + + // acquire member lock + ast_mutex_lock( &member->lock ) ; + + // + // queue up the voice frame so the conference + // thread can mix them before sending + // + + // struct ast_frame* af = ast_frdup( f ) ; + + // if ( queue_incoming_frame( member, af ) != 0 ) + if ( queue_incoming_frame( member, f ) != 0 ) + { + // free the duplicated frame, if we can't queue it + // ast_log( LOG_NOTICE, "dropped incoming frame, channel => %s\n", chan->name ) ; + // ast_frfree( af ) ; + // af = NULL ; + } + else + { + // everything is going ok + } + + // release member mutex + ast_mutex_unlock( &member->lock ) ; + } + + // free the original frame + ast_frfree( f ) ; + f = NULL ; + } + else if ( + f->frametype == AST_FRAME_CONTROL + && f->subclass == AST_CONTROL_HANGUP + ) + { + // hangup received + + // free the frame + ast_frfree( f ) ; + f = NULL ; + + // break out of the while ( 42 == 42 ) + return 1 ; + } + else + { + // undesirables + ast_frfree( f ) ; + f = NULL ; + } + return 0; +} + +// get the next frame from the soundq; must be called with member locked. +static struct ast_frame *get_next_soundframe(struct ast_conf_member *member, struct ast_frame + *exampleframe) { + struct ast_frame *f; + +again: + f=ast_readframe(member->soundq->stream); + + if(!f) { // we're done with this sound; remove it from the queue, and try again + struct ast_conf_soundq *toboot = member->soundq; + + ast_closestream(toboot->stream); + member->soundq = toboot->next; + + //ast_log( LOG_WARNING, "finished playing a sound, next = %x\n", member->soundq); + // notify applications via mgr interface that this sound has been played + manager_event( + EVENT_FLAG_CALL, + "ConferenceSoundComplete", + "Channel: %s\r\n" + "Sound: %s\r\n", + member->channel_name, + toboot->name + ); + + free(toboot); + if(member->soundq) goto again; + + // if we get here, we've gotten to the end of the queue; reset write format + if ( ast_set_write_format( member->chan, member->write_format ) < 0 ) + { + ast_log( LOG_ERROR, "unable to set write format to %d\n", + member->write_format ) ; + } + } else { + // copy delivery from exampleframe + f->delivery = exampleframe->delivery; + } + + return f; +} + +// process outgoing frames for the channel, playing either normal conference audio, +// or requested sounds +static int process_outgoing(struct ast_conf_member *member) +{ + conf_frame* cf ; // frame read from the output queue + struct ast_frame *f; + struct ast_frame *realframe = NULL; + + for(;;) + { + // acquire member mutex and grab a frame. + ast_mutex_lock( &member->lock ) ; + cf = get_outgoing_frame( member ) ; + + // if there's no frames exit the loop. + if(!cf){ + ast_mutex_unlock( &member->lock ) ; + break; + } + + f = cf->fr; + + // if we're playing sounds, we can just replace the frame with the + // next sound frame, and send it instead + if(member->soundq) { + realframe = f; + f = get_next_soundframe(member, f); + if(!f) { // if we didn't get anything, just revert to "normal" + f = realframe; + realframe = NULL; + } + } + + ast_mutex_unlock(&member->lock); + +#ifdef DEBUG_FRAME_TIMESTAMPS + // !!! TESTING !!! + int delivery_diff = usecdiff( &f->delivery, &member->lastsent_timeval ) ; + if ( ( delivery_diff != AST_CONF_FRAME_INTERVAL ) && + ( delivery_diff != 2 * AST_CONF_FRAME_INTERVAL ) && + ( delivery_diff != 3 * AST_CONF_FRAME_INTERVAL ) ) + { + ast_log( AST_CONF_DEBUG, "unanticipated delivery time, delivery_diff => %d, delivery.tv_usec => %ld\n", + delivery_diff, f->delivery.tv_usec ) ; + } + + // !!! TESTING !!! + if ( + f->delivery.tv_sec < member->lastsent_timeval.tv_sec + || ( + f->delivery.tv_sec == member->lastsent_timeval.tv_sec + && f->delivery.tv_usec <= member->lastsent_timeval.tv_usec + ) + ) + { + ast_log( LOG_WARNING, "queued frame timestamped in the past, %ld.%ld <= %ld.%ld\n", + f->delivery.tv_sec, f->delivery.tv_usec, + member->lastsent_timeval.tv_sec, member->lastsent_timeval.tv_usec ) ; + } + member->lastsent_timeval = f->delivery ; +#endif + +//#ifdef DEBUG_USE_TIMELOG +// TIMELOG( ast_write( member->chan, f ), 10, "member: ast_write"); +//#else + // send the voice frame + if ( ast_write( member->chan, f ) == 0 ) + { + // struct timeval tv ; + // gettimeofday( &tv, NULL ) ; + // ast_log( AST_CONF_DEBUG, "SENT VOICE FRAME, channel => %s, frames_out => %ld, s => %ld, ms => %ld\n", + // member->channel_name, member->frames_out, tv.tv_sec, tv.tv_usec ) ; + } + else + { + // log 'dropped' outgoing frame + ast_log( LOG_ERROR, "unable to write voice frame to channel, channel => %s\n", member->channel_name ) ; + + // accounting: count dropped outgoing frames + member->frames_out_dropped++ ; + } +//#endif + + // clean up frame + delete_conf_frame( cf ) ; + } + return 0; +} + +// +// main member thread function +// + +int member_exec( struct ast_channel* chan, void* data ) +{ +// struct timeval start, end ; +// gettimeofday( &start, NULL ) ; + + struct ast_conference *conf ; + struct ast_conf_member *member, *membertest; + + struct ast_frame *f ; // frame received from ast_read() + + int left = 0 ; + int res; + + ast_log( AST_CONF_DEBUG, "[ $Revision: 1.9 $ ] begin processing member thread, channel => %s\n", chan->name ) ; + + // + // If the call has not yet been answered, answer the call + // Note: asterisk apps seem to check _state, but it seems like it's safe + // to just call ast_answer. It will just do nothing if it is up. + // it will also return -1 if the channel is a zombie, or has hung up. + // + + res = ast_answer( chan ) ; + if ( res ) + { + ast_log( LOG_ERROR, "unable to answer call\n" ) ; + return -1 ; + } + + // + // create a new member for the conference + // + +// ast_log( AST_CONF_DEBUG, "creating new member, id => %s, flags => %s, p => %s\n", +// id, flags, priority ) ; + + member = create_member( chan, (const char*)( data ) ) ; // flags, atoi( priority ) ) ; + + // unable to create member, return an error + if ( member == NULL ) + { + ast_log( LOG_ERROR, "unable to create member\n" ) ; + return -1 ; + } + + // + // setup asterisk read/write formats + // + + ast_log( AST_CONF_DEBUG, "CHANNEL INFO, CHANNEL => %s, DNID => %s, CALLER_ID => %s, ANI => %s\n", + chan->name, chan->cid.cid_dnid, chan->cid.cid_num, chan->cid.cid_ani ) ; + + ast_log( AST_CONF_DEBUG, "CHANNEL CODECS, CHANNEL => %s, NATIVE => %d, READ => %d, WRITE => %d\n", + chan->name, chan->nativeformats, member->read_format, member->write_format ) ; + + if ( ast_set_read_format( chan, member->read_format ) < 0 ) + { + ast_log( LOG_ERROR, "unable to set read format to signed linear\n" ) ; + delete_member( member ) ; + return -1 ; + } + + // for right now, we'll send everything as slinear + if ( ast_set_write_format( chan, member->write_format ) < 0 ) // AST_FORMAT_SLINEAR, chan->nativeformats + { + ast_log( LOG_ERROR, "unable to set write format to signed linear\n" ) ; + delete_member( member ) ; + return -1 ; + } + + // + // setup a conference for the new member + // + + conf = start_conference( member ) ; + + if ( conf == NULL ) + { + ast_log( LOG_ERROR, "unable to setup member conference\n" ) ; + delete_member( member) ; + return -1 ; + } + +#ifdef DEBUG_OUTPUT_PCM + // !!! TESTING !!! + char* incoming_fn = malloc( 512 ) ; + snprintf( incoming_fn, 512, "/tmp/ac_%s_%ld.gsm", chan->dnid, fr_base.tv_usec ) ; + + // !!! TESTING !!! + member->incoming_fh = ( member->read_format == 2 ) + ? fopen( member->incoming_fn, "wb" ) + : NULL + ; + + // !!! TESTING !!! + if ( member->incoming_fh == NULL ) + { + ast_log( AST_CONF_DEBUG, "incoming_fh is null, incoming_fn => %s\n", incoming_fn ) ; + } + else + { + ast_log( AST_CONF_DEBUG, "incoming_fh is not null, incoming_fn => %s\n", incoming_fn ) ; + } + + // !!! TESTING !!! + free( incoming_fn ) ; +#endif + + // + // process loop for new member ( this runs in it's own thread + // + + ast_log( AST_CONF_DEBUG, "begin member event loop, channel => %s\n", chan->name ) ; + + // timer timestamps + struct timeval base, curr ; + gettimeofday( &base, NULL ) ; + + + + // tell conference_exec we're ready for frames + member->ready_for_outgoing = 1 ; + + int conf_count = 0 ; + int silent_entry = 0 ; + + // entry message for other members of the conference + membertest = conf->memberlist ; + conf_count = conf->membercount ; + + ast_log( LOG_NOTICE, "Conference Members: %d\n", conf_count ) ; + + if (member->quiet_entry_exit == -1) + { + silent_entry = 1 ; + } + ast_log( LOG_NOTICE, "Quiet debug %d - %d\n", member->quiet_entry_exit, silent_entry ) ; + + while (membertest != NULL) + { + if (silent_entry < 1) + { + if( (!strcmp(membertest->channel_name, member->channel_name)) && (conf_count < 2) ) + { + ast_log( LOG_NOTICE, "skipping entry message on %s\n", membertest->channel_name ) ; + + if (!basic_play_sound ( member->channel_name, "conf-onlyperson" )) + { + ast_log( LOG_ERROR, "playing conference welcome message FAILED\n" ) ; + } + } + else + { + if (!basic_play_sound ( membertest->channel_name, "enter" )) + { + ast_log( LOG_ERROR, "playing conference entry message FAILED on %s\n", membertest->channel_name ) ; + } + } + } + else + { + ast_log( LOG_NOTICE, "skipping all entry messages on %s\n", membertest->channel_name ) ; + } + + membertest = membertest->next; + } + + + + while ( 42 == 42 ) + { + // make sure we have a channel to process + if ( chan == NULL ) + { + ast_log( LOG_NOTICE, "member channel has closed\n" ) ; + break ; + } + + //-----------------// + // INCOMING FRAMES // + //-----------------// + + // wait for an event on this channel + left = ast_waitfor( chan, AST_CONF_WAITFOR_LATENCY ) ; + + // ast_log( AST_CONF_DEBUG, "received event on channel, name => %s, rest => %d\n", chan->name, rest ) ; + + if ( left < 0 ) + { + // an error occured + ast_log( + LOG_NOTICE, + "an error occured waiting for a frame, channel => %s, error => %d\n", + chan->name, left + ) ; + } + else if ( left == 0 ) + { + // no frame has arrived yet + // ast_log( LOG_NOTICE, "no frame available from channel, channel => %s\n", chan->name ) ; + } + else if ( left > 0 ) + { + // a frame has come in before the latency timeout + // was reached, so we process the frame + + f = ast_read( chan ) ; + + if ( f == NULL ) + { + ast_log( LOG_NOTICE, "unable to read from channel, channel => %s\n", chan->name ) ; + break ; + } + + // actually process the frame: break if we got hangup. + if(process_incoming(conf, member, f)) break; + + } + + //-----------------// + // OUTGOING FRAMES // + //-----------------// + + // update the current timestamps + gettimeofday( &curr, NULL ) ; + + process_outgoing(member); + + + // back to process incoming frames + continue ; + } + + ast_log( AST_CONF_DEBUG, "end member event loop, time_entered => %ld\n", member->time_entered.tv_sec ) ; + + // + // clean up + // + +#ifdef DEBUG_OUTPUT_PCM + // !!! TESTING !!! + if ( member->incoming_fh != NULL ) + fclose( member->incoming_fh ) ; +#endif + + if ( member != NULL ) member->remove_flag = 1 ; + +// gettimeofday( &end, NULL ) ; +// int expected_frames = ( int )( floor( (double)( usecdiff( &end, &start ) / AST_CONF_FRAME_INTERVAL ) ) ) ; +// ast_log( AST_CONF_DEBUG, "expected_frames => %d\n", expected_frames ) ; + + return -1 ; +} + +// basic sound playing function +int basic_play_sound ( char *channel, char *file ) +{ +// char *channel, *file; + struct ast_conf_member *play_member; + struct ast_conf_soundq *newsound; + struct ast_conf_soundq **q; + + play_member = find_member(channel, 1); + if(!play_member) { + ast_log( LOG_ERROR, "Member %s not found\n", channel) ; + return 0; + } + + newsound = calloc(1,sizeof(struct ast_conf_soundq)); + newsound->stream = ast_openstream(play_member->chan, file, NULL); + if(!newsound->stream) { + free(newsound); + ast_mutex_unlock(&play_member->lock); + ast_log( LOG_ERROR, "sound file not found\n" ) ; + } + play_member->chan->stream = NULL; + + ast_copy_string(newsound->name, file, sizeof(newsound->name)); + + // append sound to the end of the list. + for(q=&play_member->soundq; *q; q = &((*q)->next)) ;; + + *q = newsound; + + ast_mutex_unlock(&play_member->lock); + + ast_log( LOG_NOTICE, "playing conference message %s\n", file ) ; + return 1; +} + +// +// manange member functions +// + +struct ast_conf_member* create_member( struct ast_channel *chan, const char* data ) +{ + // + // check input + // + + if ( chan == NULL ) + { + ast_log( LOG_ERROR, "unable to create member with null channel\n" ) ; + return NULL ; + } + + if ( chan->name == NULL ) + { + ast_log( LOG_ERROR, "unable to create member with null channel name\n" ) ; + return NULL ; + } + + // + // allocate memory for new conference member + // + + struct ast_conf_member *member = calloc( 1, sizeof( struct ast_conf_member ) ) ; + + if ( member == NULL ) + { + ast_log( LOG_ERROR, "unable to malloc ast_conf_member\n" ) ; + return NULL ; + } + + // initialize mutex + ast_mutex_init( &member->lock ) ; + + // + // initialize member with passed data values + // + + char argstr[80] ; + char *stringp, *token ; + + // copy the passed data + strncpy( argstr, data, sizeof(argstr) - 1 ) ; + + // point to the copied data + stringp = argstr ; + + ast_log( AST_CONF_DEBUG, "attempting to parse passed params, stringp => %s\n", stringp ) ; + + // parse the id + if ( ( token = strsep( &stringp, "|" ) ) != NULL ) + { + member->id = malloc( strlen( token ) + 1 ) ; + strcpy( member->id, token ) ; + } + else + { + ast_log( LOG_ERROR, "unable to parse member id\n" ) ; + free( member ) ; + return NULL ; + } + + // parse the flags + if ( ( token = strsep( &stringp, "|" ) ) != NULL ) + { + member->flags = malloc( strlen( token ) + 1 ) ; + strcpy( member->flags, token ) ; + } + else + { + // make member->flags something + member->flags = malloc( sizeof( char ) ) ; + memset( member->flags, 0x0, sizeof( char ) ) ; + } + + // parse the priority + member->priority = ( token = strsep( &stringp, "|" ) ) != NULL + ? atoi( token ) + : 0 + ; + + // parse the vad_prob_start + member->vad_prob_start = ( token = strsep( &stringp, "|" ) ) != NULL + ? atof( token ) + : AST_CONF_PROB_START + ; + + // parse the vad_prob_continue + member->vad_prob_continue = ( token = strsep( &stringp, "|" ) ) != NULL + ? atof( token ) + : AST_CONF_PROB_CONTINUE + ; + + // parse the expected frame size, in samples. ?? + + + // debugging + ast_log( + AST_CONF_DEBUG, + "parsed data params, id => %s, flags => %s, priority => %d, vad_prob_start => %f, vad_prob_continue => %f\n", + member->id, member->flags, member->priority, member->vad_prob_start, member->vad_prob_continue + ) ; + + // + // initialize member with default values + // + + // keep pointer to member's channel + member->chan = chan ; + + // copy the channel name + member->channel_name = malloc( strlen( chan->name ) + 1 ) ; + strcpy( member->channel_name, chan->name ) ; + + // ( default can be overridden by passed flags ) +// member->type = 'L' ; + member->type = 'S' ; + + // ready flag + member->ready_for_outgoing = 0 ; + + // incoming frame queue + member->inFrames = NULL ; + member->inFramesTail = NULL ; + member->inFramesCount = 0 ; + + // last frame caching + member->inFramesRepeatLast = 0 ; + member->inFramesLast = NULL ; + member->okayToCacheLast = 0 ; + + // outgoing frame queue + member->outFrames = NULL ; + member->outFramesTail = NULL ; + member->outFramesCount = 0 ; + + member->outPacker = NULL; + + // ( not currently used ) + // member->samplesperframe = AST_CONF_BLOCK_SAMPLES ; + + // used for determining need to mix frames + // and for management interface notification + member->speaking_state_prev = 0 ; + member->speaking_state_notify = 0 ; + member->speaking_state = 0 ; + + // linked-list pointer + member->next = NULL ; + + // account data + member->frames_in = 0 ; + member->frames_in_dropped = 0 ; + member->frames_out = 0 ; + member->frames_out_dropped = 0 ; + + // for counting sequentially dropped frames + member->sequential_drops = 0 ; + member->since_dropped = 0 ; + + // flags + member->remove_flag = 0 ; + + // record start time + gettimeofday( &member->time_entered, NULL ) ; + + // init dropped frame timestamps + gettimeofday( &member->last_in_dropped, NULL ) ; + gettimeofday( &member->last_out_dropped, NULL ) ; + + // + // parse passed flags + // + + // silence detection flags w/ defaults + int vad_flag = 0 ; + int denoise_flag = 0 ; + int agc_flag = 0 ; + + // is this member using the telephone? + int via_telephone = 0 ; + + // temp pointer to flags string + // char* flags = member->flags ; + char* flags = member->flags ; + int i; + for ( i = 0 ; i < strlen( flags ) ; ++i ) + { + // allowed flags are M, L, S, V, D, A + switch ( flags[i] ) + { + // call via telephone + case 'T': + via_telephone = 1 ; + break ; + + // member types ( last flag wins ) + case 'M': + member->type = 'M' ; + break ; + case 'L': + member->type = 'L' ; + break ; + case 'S': + member->type = 'S' ; + break ; + + // speex preprocessing options + case 'V': + vad_flag = 1 ; + break ; + case 'D': + denoise_flag = 1 ; + break ; + case 'A': + agc_flag = 1 ; + break ; + + // additional features + case 'd': // Send DTMF manager events.. + member->send_dtmf = 1; + break; + case 'q': // Quiet entry and exit from conference + member->quiet_entry_exit = 1; + break; + case 'i': // use Inband DTMF broadcast + member->inband_dtmf = 1; + break; + case 't': // use RFC DTMF broadcast + member->rfc_dtmf = 1; + break; + + default: + ast_log( LOG_WARNING, "received invalid flag, chan => %s, flag => %c\n", + chan->name, flags[i] ) ; + break ; + } + } + + // set the dsp to null so silence detection is disabled by default + member->dsp = NULL ; + +#if ( SILDET == 2 ) + // + // configure silence detection and preprocessing + // if the user is coming in via the telephone, + // and is not listen-only + // + if ( + via_telephone == 1 + && member->type != 'L' + ) + { + // create a speex preprocessor + member->dsp = speex_preprocess_state_init( AST_CONF_BLOCK_SAMPLES, AST_CONF_SAMPLE_RATE ) ; + + if ( member->dsp == NULL ) + { + ast_log( LOG_WARNING, "unable to initialize member dsp, channel => %s\n", chan->name ) ; + } + else + { + ast_log( LOG_NOTICE, "member dsp initialized, channel => %s, v => %d, d => %d, a => %d\n", + chan->name, vad_flag, denoise_flag, agc_flag ) ; + + // set speex preprocessor options + speex_preprocess_ctl( member->dsp, SPEEX_PREPROCESS_SET_VAD, &vad_flag ) ; + speex_preprocess_ctl( member->dsp, SPEEX_PREPROCESS_SET_DENOISE, &denoise_flag ) ; + speex_preprocess_ctl( member->dsp, SPEEX_PREPROCESS_SET_AGC, &agc_flag ) ; + + speex_preprocess_ctl( member->dsp, SPEEX_PREPROCESS_SET_PROB_START, &member->vad_prob_start ) ; + speex_preprocess_ctl( member->dsp, SPEEX_PREPROCESS_SET_PROB_CONTINUE, &member->vad_prob_continue ) ; + + ast_log( AST_CONF_DEBUG, "speech_prob_start => %f, speech_prob_continue => %f\n", + member->dsp->speech_prob_start, member->dsp->speech_prob_continue ) ; + } + } +#endif + + // + // set connection type + // + + if ( via_telephone == 1 ) + { + member->connection_type = 'T' ; + } + else if ( strncmp( member->channel_name, "SIP", 3 ) == 0 ) + { + member->connection_type = 'S' ; + } + else // default to iax + { + member->connection_type = 'X' ; + } + + // + // read, write, and translation options + // + + // set member's audio formats, taking dsp preprocessing into account + // ( chan->nativeformats, AST_FORMAT_SLINEAR, AST_FORMAT_ULAW, AST_FORMAT_GSM ) + member->read_format = ( member->dsp == NULL ) ? chan->nativeformats : AST_FORMAT_SLINEAR ; + member->write_format = chan->nativeformats ; + + // translation paths ( ast_translator_build_path() returns null if formats match ) + member->to_slinear = ast_translator_build_path( AST_FORMAT_SLINEAR, member->read_format ) ; + member->from_slinear = ast_translator_build_path( member->write_format, AST_FORMAT_SLINEAR ) ; + + //ast_log( AST_CONF_DEBUG, "AST_FORMAT_SLINEAR => %d\n", AST_FORMAT_SLINEAR ) ; + + // index for converted_frames array + { + int format, index; + index=-1; + format = member->write_format; + while( format > 0){ + index++; + format = format >> 1; + } + member->write_format_index= index; + //ast_log( AST_CONF_DEBUG, "converted write_format [%d] to index[%d]\n", member->write_format, index ); + + index=-1; + format = member->read_format; + while( format > 0){ + index++; + format = format >> 1; + } + member->read_format_index=index; + //ast_log( AST_CONF_DEBUG, "converted read_format [%d] to index[%d]\n", member->read_format, index ); + } + + // smoother defaults. + member->smooth_multiple =1; + member->smooth_size_in = -1; + member->smooth_size_out = -1; + member->inSmoother= NULL; + member->outPacker= NULL; + + switch (member->read_format){ + /* these assumptions may be incorrect */ + case AST_FORMAT_ULAW: + case AST_FORMAT_ALAW: + /* + member->smooth_size_in = 160; //bytes + member->smooth_size_out = 160; //samples + */ + break; + case AST_FORMAT_GSM: + /* + member->smooth_size_in = 33; //bytes + member->smooth_size_out = 160;//samples + */ + break; + case AST_FORMAT_SPEEX: + /* this assumptions are wrong + member->smooth_multiple = 2 ; // for testing, force to dual frame + member->smooth_size_in = 39; // bytes + member->smooth_size_out = 160; // samples + */ + break; + case AST_FORMAT_SLINEAR: + /* + member->smooth_size_in = 320; //bytes + member->smooth_size_out = 160; //samples + */ + break; + default: + member->inSmoother = NULL; //don't use smoother for this type. + //ast_log( AST_CONF_DEBUG, "smoother is NULL for member->read_format => %d\n", member->read_format); + } + if (member->smooth_size_in > 0){ + member->inSmoother = ast_smoother_new(member->smooth_size_in); + //ast_log( AST_CONF_DEBUG, "created smoother(%d) for %d\n", member->smooth_size_in , member->read_format); + } + + + // + // finish up + // + + ast_log( AST_CONF_DEBUG, "created member, type => %c, priority => %d, readformat => %d\n", + member->type, member->priority, chan->readformat ) ; + + return member ; +} + +struct ast_conf_member* delete_member( struct ast_conf_member* member ) +{ + // !!! NO RETURN TEST !!! + // do { sleep(1) ; } while (1) ; + + // !!! CRASH TEST !!! + // *((int *)0) = 0; + + if ( member == NULL ) + { + ast_log( LOG_WARNING, "unable to the delete null member\n" ) ; + return NULL ; + } + + // + // clean up member flags + // + + if ( member->flags != NULL ) + { + // !!! DEBUGING !!! + ast_log( AST_CONF_DEBUG, "freeing member flags, name => %s\n", + member->channel_name ) ; + free( member->flags ) ; + } + + // + // delete the members frames + // + + conf_frame* cf ; + + // !!! DEBUGING !!! + ast_log( AST_CONF_DEBUG, "deleting member input frames, name => %s\n", + member->channel_name ) ; + + // incoming frames + cf = member->inFrames ; + + while ( cf != NULL ) + { + cf = delete_conf_frame( cf ) ; + } + if (member->inSmoother != NULL) + ast_smoother_free(member->inSmoother); + + // !!! DEBUGING !!! + ast_log( AST_CONF_DEBUG, "deleting member output frames, name => %s\n", + member->channel_name ) ; + + // outgoing frames + cf = member->outFrames ; + + while ( cf != NULL ) + { + cf = delete_conf_frame( cf ) ; + } + + if (member->outPacker != NULL) + ast_packer_free(member->outPacker); + + +#if ( SILDET == 2 ) + if ( member->dsp != NULL ) + { + // !!! DEBUGING !!! + ast_log( AST_CONF_DEBUG, "destroying member preprocessor, name => %s\n", + member->channel_name ) ; + speex_preprocess_state_destroy( member->dsp ) ; + } +#endif + + // !!! DEBUGING !!! + ast_log( AST_CONF_DEBUG, "freeing member translator paths, name => %s\n", + member->channel_name ) ; + + // free the mixing translators + ast_translator_free_path( member->to_slinear ) ; + ast_translator_free_path( member->from_slinear ) ; + + // get a pointer to the next + // member so we can return it + struct ast_conf_member* nm = member->next ; + + // !!! DEBUGING !!! + ast_log( AST_CONF_DEBUG, "freeing member channel name, name => %s\n", + member->channel_name ) ; + + // free the member's copy for the channel name + free( member->channel_name ) ; + + // !!! DEBUGING !!! + ast_log( AST_CONF_DEBUG, "freeing member\n" ) ; + + // free the member's memory + free( member ) ; + member = NULL ; + + return nm ; +} + +// +// incoming frame functions +// + +conf_frame* get_incoming_frame( struct ast_conf_member *member ) +{ + // + // sanity checks + // + + if ( member == NULL ) + { + ast_log( LOG_WARNING, "unable to get frame from null member\n" ) ; + return NULL ; + } + + // + // repeat last frame a couple times to smooth transition + // + +#ifdef AST_CONF_CACHE_LAST_FRAME + if ( member->inFramesCount == 0 ) + { + // nothing to do if there's no cached frame + if ( member->inFramesLast == NULL ) + return NULL ; + + // turn off 'okay to cache' flag + member->okayToCacheLast = 0 ; + + if ( member->inFramesRepeatLast >= AST_CONF_CACHE_LAST_FRAME ) + { + // already used this frame AST_CONF_CACHE_LAST_FRAME times + + // reset repeat count + member->inFramesRepeatLast = 0 ; + + // clear the cached frame + delete_conf_frame( member->inFramesLast ) ; + member->inFramesLast = NULL ; + + // return null + return NULL ; + } + else + { + ast_log( AST_CONF_DEBUG, "repeating cached frame, channel => %s, inFramesRepeatLast => %d\n", + member->channel_name, member->inFramesRepeatLast ) ; + + // increment counter + member->inFramesRepeatLast++ ; + + // return a copy of the cached frame + return copy_conf_frame( member->inFramesLast ) ; + } + } + else if ( member->okayToCacheLast == 0 && member->inFramesCount >= 3 ) + { + ast_log( AST_CONF_DEBUG, "enabling cached frame, channel => %s, incoming => %d, outgoing => %d\n", + member->channel_name, member->inFramesCount, member->outFramesCount ) ; + + // turn on 'okay to cache' flag + member->okayToCacheLast = 1 ; + } +#else + if ( member->inFramesCount == 0 ) + return NULL ; +#endif // AST_CONF_CACHE_LAST_FRAME + + // + // return the next frame in the queue + // + + conf_frame* cfr = NULL ; + + // get first frame in line + cfr = member->inFramesTail ; + + // if it's the only frame, reset the queue, + // else, move the second frame to the front + if ( member->inFramesTail == member->inFrames ) + { + member->inFramesTail = NULL ; + member->inFrames = NULL ; + } + else + { + // move the pointer to the next frame + member->inFramesTail = member->inFramesTail->prev ; + + // reset it's 'next' pointer + if ( member->inFramesTail != NULL ) + member->inFramesTail->next = NULL ; + } + + // separate the conf frame from the list + cfr->next = NULL ; + cfr->prev = NULL ; + + // decriment frame count + member->inFramesCount-- ; + +#ifdef AST_CONF_CACHE_LAST_FRAME + // copy frame if queue is now empty + if ( + member->inFramesCount == 0 + && member->okayToCacheLast == 1 + ) + { + // reset repeat count + member->inFramesRepeatLast = 0 ; + + // clear cached frame + if ( member->inFramesLast != NULL ) + { + delete_conf_frame( member->inFramesLast ) ; + member->inFramesLast = NULL ; + } + + // cache new frame + member->inFramesLast = copy_conf_frame( cfr ) ; + } +#endif // AST_CONF_CACHE_LAST_FRAME + + return cfr ; +} + +int queue_incoming_frame( struct ast_conf_member* member, struct ast_frame* fr ) +{ + // + // sanity checks + // + + // check on frame + if ( fr == NULL ) + { + ast_log( LOG_ERROR, "unable to queue null frame\n" ) ; + return -1 ; + } + + // check on member + if ( member == NULL ) + { + ast_log( LOG_ERROR, "unable to queue frame for null member\n" ) ; + return -1 ; + } + + // + // drop a frame if we've filled half the buffer + // ( no more than once per AST_CONF_QUEUE_DROP_TIME_LIMIT ms ) + // + + + /* +ast_log( + AST_CONF_DEBUG, + "queue frame on channel => %s, fr->subclass => %d, fr->datalen => %d, fr->samples => %d\n", + member->channel_name, fr->subclass, fr->datalen, fr->samples +) ; +*/ + + + if ( member->inFramesCount > member->inFramesNeeded ) + { + if ( member->inFramesCount > AST_CONF_QUEUE_DROP_THRESHOLD ) + { + struct timeval curr ; + gettimeofday( &curr, NULL ) ; + + // time since last dropped frame + long diff = usecdiff( &curr, &member->last_in_dropped ) ; + + // number of milliseconds which must pass between frame drops + // ( 15 frames => -100ms, 10 frames => 400ms, 5 frames => 900ms, 0 frames => 1400ms, etc. ) + long time_limit = 1000 - ( ( member->inFramesCount - AST_CONF_QUEUE_DROP_THRESHOLD ) * 100 ) ; + + if ( diff >= time_limit ) + { + // count sequential drops + member->sequential_drops++ ; + + // ast_log( + // AST_CONF_DEBUG, + // "dropping frame from input buffer, channel => %s, incoming => %d, outgoing => %d\n", + // member->channel_name, member->inFramesCount, member->outFramesCount + // ) ; + + // accounting: count dropped incoming frames + member->frames_in_dropped++ ; + + // reset frames since dropped + member->since_dropped = 0 ; + + // delete the frame + delete_conf_frame( get_incoming_frame( member ) ) ; + + gettimeofday( &member->last_in_dropped, NULL ) ; + } + else + { +/* + ast_log( + AST_CONF_DEBUG, + "input buffer larger than drop threshold, channel => %s, incoming => %d, outgoing => %d\n", + member->channel_name, member->inFramesCount, member->outFramesCount + ) ; +*/ + } + } + } + + // + // if we have to drop frames, we'll drop new frames + // because it's easier ( and doesn't matter much anyway ). + // + + if ( member->inFramesCount >= AST_CONF_MAX_QUEUE ) + { + // count sequential drops + member->sequential_drops++ ; + + ast_log( + AST_CONF_DEBUG, + "unable to queue incoming frame, channel => %s, incoming => %d, outgoing => %d\n", + member->channel_name, member->inFramesCount, member->outFramesCount + ) ; + + // accounting: count dropped incoming frames + member->frames_in_dropped++ ; + + // reset frames since dropped + member->since_dropped = 0 ; + + return -1 ; + } + + // reset sequential drops + member->sequential_drops = 0 ; + + // increment frames since dropped + member->since_dropped++ ; + + // + // create new conf frame from passed data frame + // + + // ( member->inFrames may be null at this point ) + if (member->inSmoother == NULL ){ + conf_frame* cfr = create_conf_frame( member, member->inFrames, fr ) ; + if ( cfr == NULL ) + { + ast_log( LOG_ERROR, "unable to malloc conf_frame\n" ) ; + return -1 ; + } + + // + // add new frame to speaking members incoming frame queue + // ( i.e. save this frame data, so we can distribute it in conference_exec later ) + // + + if ( member->inFrames == NULL ) { + member->inFramesTail = cfr ; + } + member->inFrames = cfr ; + member->inFramesCount++ ; + } else { + //feed frame(fr) into the smoother + + // smoother tmp frame + struct ast_frame *sfr; + int multiple = 1; + int i=0; + + if ( (member->smooth_size_in > 0 ) && (member->smooth_size_in * member->smooth_multiple != fr->datalen) ) + { + //ast_log(AST_CONF_DEBUG,"resetting smooth_size_in. old size=> %d, multiple =>%d, datalen=> %d\n", member->smooth_size_in, member->smooth_multiple, fr->datalen ); + if ( fr->datalen % member->smooth_multiple != 0) { + // if datalen not divisible by smooth_multiple, assume we're just getting normal encoding. + // ast_log(AST_CONF_DEBUG,"smooth_multiple does not divide datalen. changing smooth size from %d to %d, multiple => 1\n", member->smooth_size_in, fr->datalen); + member->smooth_size_in = fr->datalen; + member->smooth_multiple = 1; + } else { + // assume a fixed multiple, so divide into datalen. + int newsmooth = fr->datalen / member->smooth_multiple ; + // ast_log(AST_CONF_DEBUG,"datalen is divisible by smooth_multiple, changing smooth size from %d to %d\n", member->smooth_size_in, newsmooth); + member->smooth_size_in = newsmooth; + } + + //free input smoother. + if (member->inSmoother != NULL) + ast_smoother_free(member->inSmoother); + + //make new input smoother. + member->inSmoother = ast_smoother_new(member->smooth_size_in); + } + + ast_smoother_feed( member->inSmoother, fr ); +//ast_log (AST_CONF_DEBUG, "SMOOTH:Feeding frame into inSmoother, timestamp => %ld.%ld\n", fr->delivery.tv_sec, fr->delivery.tv_usec); + + if ( multiple > 1 ) + fr->samples /= multiple; + + // read smoothed version of frames, add to queue + while( ( sfr = ast_smoother_read( member->inSmoother ) ) ){ + + ++i; +//ast_log( AST_CONF_DEBUG , "\treading new frame [%d] from smoother, inFramesCount[%d], \n\tsfr->frametype -> %d , sfr->subclass -> %d , sfr->datalen => %d sfr->samples => %d\n", i , member->inFramesCount , sfr->frametype, sfr->subclass, sfr->datalen, sfr->samples); +//ast_log (AST_CONF_DEBUG, "SMOOTH:Reading frame from inSmoother, i=>%d, timestamp => %ld.%ld\n",i, sfr->delivery.tv_sec, sfr->delivery.tv_usec); + conf_frame* cfr = create_conf_frame( member, member->inFrames, sfr ) ; + if ( cfr == NULL ) + { + ast_log( LOG_ERROR, "unable to malloc conf_frame\n" ) ; + return -1 ; + } + + // + // add new frame to speaking members incoming frame queue + // ( i.e. save this frame data, so we can distribute it in conference_exec later ) + // + + if ( member->inFrames == NULL ) { + member->inFramesTail = cfr ; + } + member->inFrames = cfr ; + member->inFramesCount++ ; + } + } + + return 0 ; +} + +// +// outgoing frame functions +// + +conf_frame* get_outgoing_frame( struct ast_conf_member *member ) +{ + if ( member == NULL ) + { + ast_log( LOG_WARNING, "unable to get frame from null member\n" ) ; + return NULL ; + } + + conf_frame* cfr ; + + // ast_log( AST_CONF_DEBUG, "getting member frames, count => %d\n", member->outFramesCount ) ; + + if ( member->outFramesCount > AST_CONF_MIN_QUEUE ) + { + cfr = member->outFramesTail ; + + // if it's the only frame, reset the queu, + // else, move the second frame to the front + if ( member->outFramesTail == member->outFrames ) + { + member->outFrames = NULL ; + member->outFramesTail = NULL ; + } + else + { + // move the pointer to the next frame + member->outFramesTail = member->outFramesTail->prev ; + + // reset it's 'next' pointer + if ( member->outFramesTail != NULL ) + member->outFramesTail->next = NULL ; + } + + // separate the conf frame from the list + cfr->next = NULL ; + cfr->prev = NULL ; + + // decriment frame count + member->outFramesCount-- ; + + return cfr ; + } + + return NULL ; +} + +int __queue_outgoing_frame( struct ast_conf_member* member, const struct ast_frame* fr, struct timeval delivery ) +{ + // accounting: count the number of outgoing frames for this member + member->frames_out++ ; + +/* + // + // drop a frame if we've filled half the buffer + // + + if ( member->outFramesCount > AST_CONF_QUEUE_DROP_THRESHOLD ) + { + struct timeval curr ; + gettimeofday( &curr, NULL ) ; + + long diff = usecdiff( &curr, &member->last_out_dropped ) ; + + if ( diff >= AST_CONF_QUEUE_DROP_TIME_LIMIT ) + { + ast_log( + AST_CONF_DEBUG, + "dropping frame from output buffer, channel => %s, incoming => %d, outgoing => %d\n", + member->channel_name, member->inFramesCount, member->outFramesCount + ) ; + + // accounting: count dropped outgoing frames + member->frames_out_dropped++ ; + + // delete the frame + delete_conf_frame( get_outgoing_frame( member ) ) ; + + gettimeofday( &member->last_out_dropped, NULL ) ; + } + } +*/ + + // + // we have to drop frames, so we'll drop new frames + // because it's easier ( and doesn't matter much anyway ). + // + if ( member->outFramesCount >= AST_CONF_MAX_QUEUE ) + { + ast_log( + AST_CONF_DEBUG, + "unable to queue outgoing frame, channel => %s, incoming => %d, outgoing => %d\n", + member->channel_name, member->inFramesCount, member->outFramesCount + ) ; + + // accounting: count dropped outgoing frames + member->frames_out_dropped++ ; + + return -1 ; + } + + // + // create new conf frame from passed data frame + // + + conf_frame* cfr = create_conf_frame( member, member->outFrames, fr ) ; + + if ( cfr == NULL ) + { + ast_log( LOG_ERROR, "unable to create new conf frame\n" ) ; + + // accounting: count dropped outgoing frames + member->frames_out_dropped++ ; + + return -1 ; + } + + // set delivery timestamp + cfr->fr->delivery = delivery ; + + // + // add new frame to speaking members incoming frame queue + // ( i.e. save this frame data, so we can distribute it in conference_exec later ) + // + + if ( member->outFrames == NULL ) { + member->outFramesTail = cfr ; + } + member->outFrames = cfr ; + member->outFramesCount++ ; + + // return success + return 0 ; +} + +int queue_outgoing_frame( struct ast_conf_member* member, const struct ast_frame* fr, struct timeval delivery ) +{ + // check on frame + if ( fr == NULL ) + { + ast_log( LOG_ERROR, "unable to queue null frame\n" ) ; + return -1 ; + } + + // check on member + if ( member == NULL ) + { + ast_log( LOG_ERROR, "unable to queue frame for null member\n" ) ; + return -1 ; + } + + + if ( ( member->outPacker == NULL ) && ( member->smooth_multiple > 1 ) && ( member->smooth_size_out > 0 ) ){ + //ast_log (AST_CONF_DEBUG, "creating outPacker with size => %d \n\t( multiple => %d ) * ( size => %d )\n", member->smooth_multiple * member-> smooth_size_out, member->smooth_multiple , member->smooth_size_out); + member->outPacker = ast_packer_new( member->smooth_multiple * member->smooth_size_out); + } + + if (member->outPacker == NULL ){ + return __queue_outgoing_frame( member, fr, delivery ) ; + } + else + { + struct ast_frame *sfr; + int exitval = 0; +//ast_log (AST_CONF_DEBUG, "sending fr into outPacker, datalen=>%d, samples=>%d\n",fr->datalen, fr->samples); + ast_packer_feed( member->outPacker , fr ); + while( (sfr = ast_packer_read( member->outPacker ) ) ) + { +//ast_log (AST_CONF_DEBUG, "read sfr from outPacker, datalen=>%d, samples=>%d\n",sfr->datalen, sfr->samples); + if ( __queue_outgoing_frame( member, sfr, delivery ) == -1 ) { + exitval = -1; + } + } + return exitval; + } +} + +// +// manager functions +// + +void send_state_change_notifications( struct ast_conf_member* member ) +{ + // ast_log( AST_CONF_DEBUG, "sending state change notification\n" ) ; + + // loop through list of members, sending state changes + while ( member != NULL ) + { + // has the state changed since last time through this loop? + if ( member->speaking_state_notify != member->speaking_state_prev ) + { + manager_event( + EVENT_FLAG_CALL, + "ConferenceState", + "Channel: %s\r\n" + "State: %s\r\n", + member->channel_name, + ( ( member->speaking_state_notify == 1 ) ? "speaking" : "silent" ) + ) ; +#if 0 + ast_log( AST_CONF_DEBUG, "member state changed, channel => %s, state => %d, incoming => %d, outgoing => %d\n", + member->channel_name, member->speaking_state_notify, member->inFramesCount, member->outFramesCount ) ; +#endif + + // remember current state + member->speaking_state_prev = member->speaking_state_notify ; + + // we do not reset the speaking_state_notify flag here + } + + // reset notification flag so that + member->speaking_state_notify = 0 ; + + // move the pointer to the next member + member = member->next ; + } + + return ; +} + +// +// meta-info accessors functions +// + +short memberIsPhoneClient( struct ast_conf_member* member ) +{ + if ( member == NULL ) + return 0 ; + + return ( member->connection_type == 'T' ) ? 1 : 0 ; +} + +short memberIsIaxClient( struct ast_conf_member* member ) +{ + if ( member == NULL ) + return 0 ; + + return ( member->connection_type == 'X' ) ? 1 : 0 ; +} + +short memberIsSIPClient( struct ast_conf_member* member ) +{ + if ( member == NULL ) + return 0 ; + + return ( member->connection_type == 'S' ) ? 1 : 0 ; +} + +short memberIsModerator( struct ast_conf_member* member ) +{ + if ( member == NULL ) + return 0 ; + + return ( member->type == 'M' ) ? 1 : 0 ; +} + +short memberIsListener( struct ast_conf_member* member ) +{ + if ( member == NULL ) + return 0 ; + + return ( member->type == 'L' ) ? 1 : 0 ; +} + + +// +// ast_packer, adapted from ast_smoother +// pack multiple frames together into one packet on the wire. +// + +#define PACKER_SIZE 8000 +#define PACKER_QUEUE 10 // store at most 10 complete packets in the queue + +struct ast_packer { + int framesize; // number of frames per packet on the wire. + int size; + int packet_index; + int format; + int readdata; + int optimizablestream; + int flags; + float samplesperbyte; + struct ast_frame f; + struct timeval delivery; + char data[PACKER_SIZE]; + char framedata[PACKER_SIZE + AST_FRIENDLY_OFFSET]; + int samples; + int sample_queue[PACKER_QUEUE]; + int len_queue[PACKER_QUEUE]; + struct ast_frame *opt; + int len; +}; + +void ast_packer_reset(struct ast_packer *s, int framesize) +{ + memset(s, 0, sizeof(struct ast_packer)); + s->framesize = framesize; + s->packet_index=0; + s->len=0; +} + +struct ast_packer *ast_packer_new(int framesize) +{ + struct ast_packer *s; + if (framesize < 1) + return NULL; + s = malloc(sizeof(struct ast_packer)); + if (s) + ast_packer_reset(s, framesize); + return s; +} + +int ast_packer_get_flags(struct ast_packer *s) +{ + return s->flags; +} + +void ast_packer_set_flags(struct ast_packer *s, int flags) +{ + s->flags = flags; +} + +int ast_packer_feed(struct ast_packer *s, const struct ast_frame *f) +{ + if (f->frametype != AST_FRAME_VOICE) { + ast_log(LOG_WARNING, "Huh? Can't pack a non-voice frame!\n"); + return -1; + } + if (!s->format) { + s->format = f->subclass; + s->samples=0; + } else if (s->format != f->subclass) { + ast_log(LOG_WARNING, "Packer was working on %d format frames, now trying to feed %d?\n", s->format, f->subclass); + return -1; + } + if (s->len + f->datalen > PACKER_SIZE) { + ast_log(LOG_WARNING, "Out of packer space\n"); + return -1; + } + if (s->packet_index >= PACKER_QUEUE ){ + ast_log(LOG_WARNING, "Out of packer queue space\n"); + return -1; + } + + memcpy(s->data + s->len, f->data, f->datalen); + /* If either side is empty, reset the delivery time */ + if (!s->len || (!f->delivery.tv_sec && !f->delivery.tv_usec) || + (!s->delivery.tv_sec && !s->delivery.tv_usec)) + s->delivery = f->delivery; + s->len += f->datalen; +//packer stuff + s->len_queue[s->packet_index] += f->datalen; + s->sample_queue[s->packet_index] += f->samples; + s->samples += f->samples; + + if (s->samples > s->framesize ) + ++s->packet_index; + + return 0; +} + +struct ast_frame *ast_packer_read(struct ast_packer *s) +{ + struct ast_frame *opt; + int len; + /* IF we have an optimization frame, send it */ + if (s->opt) { + opt = s->opt; + s->opt = NULL; + return opt; + } + + /* Make sure we have enough data */ + if (s->samples < s->framesize ){ + return NULL; + } + len = s->len_queue[0]; + if (len > s->len) + len = s->len; + /* Make frame */ + s->f.frametype = AST_FRAME_VOICE; + s->f.subclass = s->format; + s->f.data = s->framedata + AST_FRIENDLY_OFFSET; + s->f.offset = AST_FRIENDLY_OFFSET; + s->f.datalen = len; + s->f.samples = s->sample_queue[0]; + s->f.delivery = s->delivery; + /* Fill Data */ + memcpy(s->f.data, s->data, len); + s->len -= len; + /* Move remaining data to the front if applicable */ + if (s->len) { + /* In principle this should all be fine because if we are sending + G.729 VAD, the next timestamp will take over anyawy */ + memmove(s->data, s->data + len, s->len); + if (s->delivery.tv_sec || s->delivery.tv_usec) { + /* If we have delivery time, increment it, otherwise, leave it at 0 */ + s->delivery.tv_sec += s->sample_queue[0] / 8000.0; + s->delivery.tv_usec += (((int)(s->sample_queue[0])) % 8000) * 125; + if (s->delivery.tv_usec > 1000000) { + s->delivery.tv_usec -= 1000000; + s->delivery.tv_sec += 1; + } + } + } + int j; + s->samples -= s->sample_queue[0]; + if( s->packet_index > 0 ){ + for (j=0; jpacket_index -1 ; j++){ + s->len_queue[j]=s->len_queue[j+1]; + s->sample_queue[j]=s->sample_queue[j+1]; + } + s->len_queue[s->packet_index]=0; + s->sample_queue[s->packet_index]=0; + s->packet_index--; + } else { + s->len_queue[0]=0; + s->sample_queue[0]=0; + } + + + /* Return frame */ + return &s->f; +} + +void ast_packer_free(struct ast_packer *s) +{ + free(s); +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/member.h b/agc_2-X/branches/agc_2.0.5/extras/app_conference/member.h new file mode 100644 index 00000000..3a1fa4bf --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/member.h @@ -0,0 +1,212 @@ + +// $Id: member.h,v 1.7 2005/11/02 22:42:42 stevek Exp $ + +/* + * app_conference + * + * A channel independent conference application for Asterisk + * + * Copyright (C) 2002, 2003 Junghanns.NET GmbH + * Copyright (C) 2003-2005 HorizonLive.com, Inc. + * + * Klaus-Peter Junghanns + * Steve Kann + * + * This program may be modified and distributed under the + * terms of the GNU Public License. + * + */ + +#ifndef _APP_CONF_MEMBER_H +#define _APP_CONF_MEMBER_H + +// +// includes +// + +#include "app_conference.h" +#include "common.h" +#include "asterisk/app.h" + + +// +// struct declarations +// + +struct ast_conf_soundq +{ + char name[256]; + struct ast_filestream *stream; // the stream + int muted; // should incoming audio be muted while we play? + struct ast_conf_soundq *next; +}; + +struct ast_conf_member +{ + ast_mutex_t lock ; // member data mutex + + struct ast_channel* chan ; // member's channel + char* channel_name ; // member's channel name + + // values passed to create_member () via *data + int priority ; // highest priority gets the channel + char* flags ; // raw member-type flags + char type ; // L = ListenOnly, M = Moderator, S = Standard (Listen/Talk) + char* id ; // member id + + // determine by flags and channel name + char connection_type ; // T = telephone, X = iaxclient, S = sip + + // vad voice probability thresholds + float vad_prob_start ; + float vad_prob_continue ; + + // ready flag + short ready_for_outgoing ; + + // input frame queue + conf_frame* inFrames ; + conf_frame* inFramesTail ; + unsigned int inFramesCount ; + + // input/output smoother + struct ast_smoother *inSmoother; + struct ast_packer *outPacker; + int smooth_size_in; + int smooth_size_out; + int smooth_multiple; + + // frames needed by conference_exec + unsigned int inFramesNeeded ; + + // used when caching last frame + conf_frame* inFramesLast ; + unsigned int inFramesRepeatLast ; + unsigned short okayToCacheLast ; + + // output frame queue + conf_frame* outFrames ; + conf_frame* outFramesTail ; + unsigned int outFramesCount ; + + // time we last dropped a frame + struct timeval last_in_dropped ; + struct timeval last_out_dropped ; + + // ( not currently used ) + // int samplesperframe ; + + // used for determining need to mix frames + // and for management interface notification + short speaking_state_prev ; + short speaking_state_notify ; + short speaking_state ; + + // pointer to next member in single-linked list + struct ast_conf_member* next ; + + // accounting values + unsigned long frames_in ; + unsigned long frames_in_dropped ; + unsigned long frames_out ; + unsigned long frames_out_dropped ; + + // for counting sequentially dropped frames + unsigned int sequential_drops ; + unsigned long since_dropped ; + + // start time + struct timeval time_entered ; + struct timeval lastsent_timeval ; + + // flag indicating we should remove this member + short remove_flag ; + +#if ( SILDET == 2 ) + // pointer to speex preprocessor dsp + SpeexPreprocessState *dsp ; + // number of frames to ignore speex_preprocess() + int ignore_speex_count; +#else + // placeholder when preprocessing is not enabled + void* dsp ; +#endif + + // audio format this member is using + int write_format ; + int read_format ; + + int write_format_index ; + int read_format_index ; + + // member frame translators + struct ast_trans_pvt* to_slinear ; + struct ast_trans_pvt* from_slinear ; + + // For playing sounds + struct ast_conf_soundq *soundq; + +#ifdef DEBUG_OUTPUT_PCM + FILE *incoming_fh; +#endif + + int send_dtmf:1; + int quiet_entry_exit:1; + int inband_dtmf:1; + int rfc_dtmf:1; +} ; + +struct conf_member +{ + struct ast_conf_member* realmember ; + struct conf_member* next ; +} ; + +// +// function declarations +// + +int member_exec( struct ast_channel* chan, void* data ) ; + +int basic_play_sound ( char *channel, char *file ) ; + +struct ast_conf_member* create_member( struct ast_channel* chan, const char* data ) ; +struct ast_conf_member* delete_member( struct ast_conf_member* member ) ; + +// incoming queue +int queue_incoming_frame( struct ast_conf_member* member, struct ast_frame* fr ) ; +conf_frame* get_incoming_frame( struct ast_conf_member* member ) ; + +// outgoing queue +int queue_outgoing_frame( struct ast_conf_member* member, const struct ast_frame* fr, struct timeval delivery ) ; +int __queue_outgoing_frame( struct ast_conf_member* member, const struct ast_frame* fr, struct timeval delivery ) ; +conf_frame* get_outgoing_frame( struct ast_conf_member* member ) ; + +void send_state_change_notifications( struct ast_conf_member* member ) ; + +// +// meta-info accessors functions +// + +short memberIsPhoneClient( struct ast_conf_member* member ) ; +short memberIsIaxClient( struct ast_conf_member* member ) ; +short memberIsSIPClient( struct ast_conf_member* member ) ; + +short memberIsModerator( struct ast_conf_member* member ) ; +short memberIsListener( struct ast_conf_member* member ) ; + +// +// packer functions +// + +struct ast_packer; + +extern struct ast_packer *ast_packer_new(int bytes); +extern void ast_packer_set_flags(struct ast_packer *packer, int flags); +extern int ast_packer_get_flags(struct ast_packer *packer); +extern void ast_packer_free(struct ast_packer *s); +extern void ast_packer_reset(struct ast_packer *s, int bytes); +extern int ast_packer_feed(struct ast_packer *s, const struct ast_frame *f); +extern struct ast_frame *ast_packer_read(struct ast_packer *s); + +#endif diff --git a/agc_2-X/branches/agc_2.0.5/extras/app_conference/star.gsm b/agc_2-X/branches/agc_2.0.5/extras/app_conference/star.gsm new file mode 100644 index 00000000..5ec8908e --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/app_conference/star.gsm @@ -0,0 +1,2 @@ +:nPSat֪j*PR6۞D IDCtbnK$|2Z~bE+M?ENEuwWI zIBKg^)G83d3SlP%LIw#*$WCtd*Yo~-&Ut=3=e*1E=FJNv0l=!6g>$#<+8;py008#i zW-tNZ*faou1OGu_>!$siCWrvg=vx?-nY}%-%D%0;rOT)5BE?1ArXBaW^-`nIs|3q@ zDDxeCtw$SpD1u5+8%_#u2o2_K%yH)Fcm9aC6;qCM2Oh;^?m(x9| zsYY5tIGmIdkMcXNdMc_>r^2t0&fUi&jI97n;Q_B>E|hIbi2%7%no&M16nz|zzu zcH(%cuQCQGK}vnwy@A8-c_A&48;OtYcWYG3EmHl zAXg`JaXaZ%s#Uy(j%(K05oc2y!$8LZ312eZLig(?GcXe8az_W8i(i1&o2QNr%Zq$z z%vp&K7;h$Kv@LIYWyoMkvg%_7-P+z?+J7Ev!mnWM4+W7G`pG)L(Tek%SZo+YRdhh1OU6Q?iNs0Rs{RwZ>zJXljAHGZEyTm+LG*sZ; zgwFMQEXG|x_uFWS*@`vpL!mno)WLU5J37|3KG$szb!Jt?TL5%_c-sc~ zx474=$xI*0qW^ci#&!!)38uQ9ngSj5evQG>K!h_-{EskRV-NJt5GB3=d-~rsUKCZM zcO+m^CXvr*diqz&+C6--k&HzC0jdA11>wqJ-8!61t@GgOICEkGu_uRT^3wYkBV>tB zv(^VSXbf#3-Idlaf~H2lq0VsH)vdbM?qt*k_}})kmO`L1;K$$zY^LUH_chT5?-9-f z_usH7`cl55rEEeF5|oZ%mwT;}%>$6G3bUN5@JD!kwsy}R3=hq4NX9-ZD9*V-?zp$1 zYU>t32|r|<8FV}AePRR>9Q?>nk>WAzC|l$j>=c7rRcHPIei1drE3`D)L2MfXpz_^I zhjY6N)JAe=>PYemY^%ur`CR{6@APn3j+7!W3%UkKATw9epqn8#9*Lfq>K)?RXtfV$$1ZT1o_5+ zv>x!*lhT4-`OTS_*{2+Q=hU)D+>gw8=Jd9Id5biKLC4Z(#B71T9saeiKvRMCP*;#j zeGhGDR|^=9ak^fN&s6r>{b=Q}rD1QN;_fuQQh9{>Q)XET3zI8O;A@7af-j=Zv2Ww2 z8?j@fh8Wl`3=THi_QGC@T1Z<&J?eWUZRqwW>j-mFLQ`z`F-c+L!=9(Winx90d+9Vo zeczs;eCR7OK(E4PI#1ia_6?(D2$tot^0+o1G(@mtGKf=^5BX<>v)#q9!`X`?c*eW! zj`mRf1XU0d8~W0VS3gxX*d1UsO6-1UUF*sB-%T&}KWw)O+f zxvDj^1L-g00zt{h+8(0n7Wf_AM>!97T00;sVigAMZPkKfnKlvSD-N4^-QChVpZ}#C zPC;=`q^6x^uakg-eCokqk#>9fY!F*S`@k>y_~(>$rm&k)YjKJ_UQYYVdZfC@Af zxTeogSu9(LLD5f`zxjR{c*y@=x}8v*eky$#v1Vj|7tkNz3uiryJxsZ6{?9g^>$!^U z1h2VJ_EOkIQfJ@?#M?1%-+cLF^wRjK5^ella(kA zh7%9EYs>-8mqK`PqPichOCaB9dJl@t7E6&rPZJHAp3Ikzfh&%8GpVCPFWRq zCGsvZMGeV*Gc84y^V{(JsDj6C2G;V=6QN$%h}b50O9t(Nn<=ZvtdF-j^SW~Ygh zH{c)1-ga$~;$cJdy^MY6bGH9kjGj)^44B&VN!@7X;R&n-5l7$^;sL%~g7GUzWpI6z z$FgI*ZQbWwwGmMKU(_#b;j%x+KD)MK4H%l&XqS6$`kxNi2$D4A1JGy{@?gxt)W_6j z)nr~$M}cjEwL7ySvK0EYuc42|0tva?X+d zIC$7_oO&!}Z_FWBLGS9usS+*zcq%gO0uip9*L77AG4jI5sx6d-=x#ofhM4D}% zW|`?n>=3hwX+zcxhqk2;;nCU2ewhihcS-gTvau`ojW1dj@PLQMx| zn0~e70CQ3Myn75fZHH?TRn1DKAuLj1P3IT-$WVP&T|5JDb^q2}FD<~6;wLy&II8CQ zaGX{Mi}y!jI$SHEMesgCGhu`Kr2K?E=-9Dk?YZ|qkOWy zCu}0~V~oIiXP{CbRPk}B@KnY>@Ft_j80m3=X}~sf&_uk`N>)TnqR+EW>%HCy)4J)2 znU@o%AWQlVH+?Os!(NIjjbr#{YI`KD>N&uD{|W3fPcXy=a{Nyb9(%tSdm_G~y-i${ zfQtW&4iR5#Eb6}oUQ89C-qO0Wd+vvu1A$yZ=F{gRZqYFmXnUgVXgjm!vXTEbi7(hf| z4d(WdC(=Auez-8XFf7tMtDW1@p^*e*vgGm4VT!@y9X5F{W+rn+h#1T>o!9SoiIL0T z<+cL-R)|5|#>6n*IF1ZdbS_uF4eZG{kerN;8T{0EMKl{_id7{nB1KFr8HygWd!`V) z_)~xp!g-5vB*HkbV?0iBQp3TYiTf-5ksp8fR#QgrM;JTdMrM0ZiLRpaT~Cj76OA4D zo|5UxnW#5)`@EprlWS@;p=RNIvaS)RoCgmnH!VL z;C69g`>1p#YA#bAHW!m@x~zjib_50a87eXCv)lYuh5sy4cSs z);1#gafr*Yi<7?zxTPnEKg!m+XoMkR6yg>%?7EJw@ZSc1tqUIEj<3Pq;9QSiMlg&X zY2Mtu(Yr40Q`UvBUc*#DvGAU0EU=Dshbnhp)!j5Scv`?)z-J5B^vt)O`aaC+KV9b( zUg+aEr$yywVOftX;4o!91K_PXj9A_ zO|}OzE++~ja-5)$#XG7v7Ffb1r${g~$yjTpqze(ntd6*ebDD}YV#{~%O7Na5#?)u) z!ZZXAF+{%VVYA?@d;#HL>WQ=p!p33$rrABuePJ=8lzh6w$QF4=*p5^}J$Vaw$f0&D zLE`cG$O6Mxqi59P;MS;`_!iP$CA=lGtJDdL`7wJzgxZYj@)sP`?+;+I1&m~0kG4ej zrz;F~4KA{Q=JTFN%Cyi$#F>T%J)AzZ?P0`Frh#1yo$OfJY*w}gY)t(%)&j1Ts|HSu zL&z7D`Gh;ZJ@(U{4Hy~rhU>a&hKyvzQc>|!SX(^Ny=!h}Gy2nd@bg9@S|h~) zuvtuEl-9r4^1Hg*^b!`2y6HV-;n;peIp|`>O!(O7K-b0544g2jCha~MkO55(x|A+h z^pdpK!9Q87gZm^IwpoPx0R@f8^5YE)qa%y zA)Cq0wSVYpYd@+%P)5oePU&c5wT6Ti(?l*dR!mHUgNq4QKDv=)H`vNTmIJTEo3UWR538NDU zDZ;u-q($hOgoEk-1kP6`H|KVKh89LqGeluB+wkBHQGwZl&!ffqy>fYMFy9Ic1J!LU zQXWuIfz0r-xGrj#uDPwMCK(G?oSxXXs<=eVefwo`L9jcl_bR*lz;S6P X*EOaLjpJq~uTBvVb5x3+h0^~6Ae{?P literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/extras/channel.c-42600.patch b/agc_2-X/branches/agc_2.0.5/extras/channel.c-42600.patch new file mode 100644 index 00000000..36da290f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/channel.c-42600.patch @@ -0,0 +1,20 @@ +--- ./channel.c 2006-09-11 12:38:00.000000000 -0400 ++++ ./channel.c-42600 2006-09-11 12:29:45.000000000 -0400 +@@ -45,7 +45,7 @@ + + #include "asterisk.h" + +-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 42452 $") ++ASTERISK_FILE_VERSION(__FILE__, "$Revision: 42600 $") + + #include "asterisk/pbx.h" + #include "asterisk/frame.h" +@@ -2385,7 +2385,7 @@ + /* Now we have a good choice for both. */ + ast_mutex_lock(&chan->lock); + +- if ((*rawformat == native) && (*format == fmt)) { ++ if ((*rawformat == native) && (*format == fmt) && ((*rawformat == *format) || (*trans))) { + /* the channel is already in these formats, so nothing to do */ + ast_mutex_unlock(&chan->lock); + return 0; diff --git a/agc_2-X/branches/agc_2.0.5/extras/cli_chan_concise_delimiter.patch b/agc_2-X/branches/agc_2.0.5/extras/cli_chan_concise_delimiter.patch new file mode 100644 index 00000000..3fda82bf --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/cli_chan_concise_delimiter.patch @@ -0,0 +1,11 @@ +--- cli-orig.c 2005-12-29 13:25:32.000000000 -0500 ++++ cli.c 2005-12-29 13:03:48.000000000 -0500 +@@ -428,7 +428,7 @@ + { + #define FORMAT_STRING "%-20.20s %-20.20s %-7.7s %-30.30s\n" + #define FORMAT_STRING2 "%-20.20s %-20.20s %-7.7s %-30.30s\n" +-#define CONCISE_FORMAT_STRING "%s:%s:%s:%d:%s:%s:%s:%s:%s:%d:%s:%s\n" ++#define CONCISE_FORMAT_STRING "%s!%s!%s!%d!%s!%s!%s!%s!%s!%d!%s!%s\n" + #define VERBOSE_FORMAT_STRING "%-20.20s %-20.20s %-16.16s %4d %-7.7s %-12.12s %-25.25s %-15.15s %8.8s %-11.11s %-20.20s\n" + #define VERBOSE_FORMAT_STRING2 "%-20.20s %-20.20s %-16.16s %-4.4s %-7.7s %-12.12s %-25.25s %-15.15s %8.8s %-11.11s %-20.20s\n" + diff --git a/agc_2-X/branches/agc_2.0.5/extras/convert_audio.sh b/agc_2-X/branches/agc_2.0.5/extras/convert_audio.sh new file mode 100644 index 00000000..baa9ca5b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/convert_audio.sh @@ -0,0 +1,26 @@ +#! /bin/bash +cd /var/lib/asterisk/sounds/ + +if [ -f /var/lib/asterisk/sounds/$1.mp3 ] ; then + sox -w -s $1.mp3 -r 8000 -c 1 $1.wav + sox $1.wav -t gsm -r 8000 -b -c 1 $1.gsm + sox $1.wav -t ul -r 8000 -b -c 1 $1.ul + sox $1.wav -t al -r 8000 -b -c 1 $1.al +else +if [ -f /var/lib/asterisk/sounds/$1.wav ] ; then + cp -f $1.wav ___$1.wav + sox -w -s ___$1.wav -r 8000 -c 1 $1.wav + rm -f ___$1.wav + sox $1.wav -t gsm -r 8000 -b -c 1 $1.gsm + sox $1.wav -t ul -r 8000 -b -c 1 $1.ul + sox $1.wav -t al -r 8000 -b -c 1 $1.al +else +if [ -f /var/lib/asterisk/sounds/$1.gsm ] ; then + sox -w -s $1.gsm -r 8000 -c 1 $1.wav + sox $1.wav -t ul -r 8000 -b -c 1 $1.ul + sox $1.wav -t al -r 8000 -b -c 1 $1.al +fi +fi +fi + + diff --git a/agc_2-X/branches/agc_2.0.5/extras/convert_moh_audio.sh b/agc_2-X/branches/agc_2.0.5/extras/convert_moh_audio.sh new file mode 100644 index 00000000..e1d5349f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/convert_moh_audio.sh @@ -0,0 +1,39 @@ +#! /bin/bash +if -f /var/lib/asterisk/mohmp3/$1.mp3; then + cd /var/lib/asterisk/mohmp3/ + sox -w -s $1.mp3 -r 8000 -c 1 $1.wav + sox $1.wav -t gsm -r 8000 -b -c 1 $1.gsm + sox $1.wav -t ul -r 8000 -b -c 1 $1.ul + sox $1.wav -t al -r 8000 -b -c 1 $1.al + mkdir ../orig-mp3 + mv -f *.mp3 ../orig-mp3/ + mkdir ../quiet-mp3 + cd ../quiet-mp3 + cp ../mohmp3/$1.wav full_$1.wav + sox full_$1.wav $1.wav vol 0.25 + sox $1.wav -t gsm -r 8000 -b -c 1 $1.gsm + sox $1.wav -t ul -r 8000 -b -c 1 $1.ul + sox $1 -t al -r 8000 -b -c 1 $1.al + rm -f full_*.wav +else +if -f /var/lib/asterisk/orig-mp3/$1.mp3; then + cd /var/lib/asterisk/mohmp3/ + cp /var/lib/asterisk/orig-mp3/$1.mp3 /var/lib/asterisk/mohmp3/ + sox -w -s $1.mp3 -r 8000 -c 1 $1.wav + sox $1.wav -t gsm -r 8000 -b -c 1 $1.gsm + sox $1.wav -t ul -r 8000 -b -c 1 $1.ul + sox $1.wav -t al -r 8000 -b -c 1 $1.al + rm -f $1.mp3 + mkdir ../quiet-mp3 + cd ../quiet-mp3 + cp ../mohmp3/$1.wav full_$1.wav + sox full_$1.wav $1.wav vol 0.25 + sox $1.wav -t gsm -r 8000 -b -c 1 $1.gsm + sox $1.wav -t ul -r 8000 -b -c 1 $1.ul + sox $1 -t al -r 8000 -b -c 1 $1.al + rm -f full_*.wav +else + echo -e "Syntax $0 filename" +fi +fi + diff --git a/agc_2-X/branches/agc_2.0.5/extras/enter.h b/agc_2-X/branches/agc_2.0.5/extras/enter.h new file mode 100644 index 00000000..c07cffd2 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/enter.h @@ -0,0 +1,106 @@ +/* + * U-law 8-bit audio data + * Source: enter.raw (/usr/bin/hexdump -C ./enter.raw) + * Copyright (C) 2007, Matt Florell + * Distributed under the terms of the GPLv2 + */ + +static unsigned char enter[] = { +0xff, 0xff, 0x26, 0x26, 0x29, 0xce, 0xbe, 0xbf, 0xb2, 0xb6, +0xb6, 0x3d, 0x37, 0x36, 0x24, 0x26, 0x26, 0x28, 0x2d, 0x30, +0x48, 0x5c, 0xf2, 0xc4, 0xc5, 0xc4, 0xbe, 0xc2, 0xc7, 0xc5, +0xc8, 0xce, 0xc5, 0xc5, 0xc7, 0xbd, 0xbd, 0xbd, 0x3b, 0x2e, +0x2e, 0x27, 0x25, 0x1c, 0x1c, 0x1e, 0x25, 0x32, 0x66, 0xb3, +0xa7, 0x9f, 0x9f, 0xa1, 0x9a, 0x9d, 0xa3, 0xad, 0xcd, 0x75, +0x36, 0x2b, 0x2a, 0x27, 0x2d, 0x30, 0x48, 0xc1, 0xb7, 0x9f, +0x99, 0x98, 0x96, 0x99, 0x99, 0x97, 0x99, 0x9d, 0x9a, 0x9e, +0xa4, 0xa9, 0xbf, 0xd8, 0x4b, 0x5c, 0xd8, 0x5d, 0xb5, 0xab, +0xa9, 0x9c, 0x9b, 0x9e, 0x9e, 0xa3, 0x9f, 0x9b, 0x9d, 0x9d, +0x9e, 0x9f, 0xa6, 0xcb, 0x4b, 0x31, 0x2b, 0x2a, 0x23, 0x31, +0x45, 0x66, 0xab, 0xa3, 0x9d, 0x9a, 0x9c, 0x9a, 0x99, 0x9b, +0x9b, 0xa1, 0xb4, 0xd4, 0x3d, 0x27, 0x1f, 0x1e, 0x1d, 0x1e, +0x25, 0x35, 0x5d, 0xb9, 0xa6, 0xa0, 0x9e, 0x9b, 0x9a, 0x99, +0x9e, 0xa8, 0xad, 0xf4, 0x36, 0x26, 0x1b, 0x18, 0x16, 0x14, +0x15, 0x1a, 0x1f, 0x29, 0x3d, 0xc8, 0xaf, 0xa9, 0xa4, 0xa1, +0x9f, 0x9f, 0xaa, 0xbc, 0x44, 0x22, 0x19, 0x13, 0x0e, 0x0d, +0x0f, 0x0f, 0x13, 0x1c, 0x2a, 0x4e, 0xba, 0xaa, 0xa5, 0xa5, +0xa9, 0xae, 0xc0, 0x39, 0x27, 0x1e, 0x15, 0x0f, 0x0d, 0x0b, +0x0c, 0x0d, 0x0e, 0x10, 0x15, 0x1c, 0x28, 0x3c, 0xd6, 0xba, +0xb6, 0xb7, 0xbf, 0x5b, 0x32, 0x23, 0x19, 0x11, 0x0d, 0x0a, +0x08, 0x08, 0x09, 0x0a, 0x0d, 0x12, 0x1c, 0x2c, 0x6e, 0xaf, +0xa2, 0x9d, 0x9c, 0x9e, 0xa8, 0xc1, 0x36, 0x1e, 0x14, 0x0d, +0x09, 0x07, 0x07, 0x08, 0x0a, 0x0f, 0x18, 0x29, 0xe0, 0xa8, +0x9b, 0x95, 0x93, 0x95, 0x9a, 0xa7, 0xd4, 0x2c, 0x1a, 0x11, +0x0d, 0x0b, 0x0c, 0x0e, 0x14, 0x1d, 0x33, 0xba, 0x9f, 0x96, +0x91, 0x8f, 0x90, 0x95, 0x9d, 0xae, 0x47, 0x24, 0x18, 0x11, +0x0f, 0x0e, 0x11, 0x17, 0x20, 0x3c, 0xb5, 0x9f, 0x96, 0x90, +0x8f, 0x8f, 0x92, 0x9a, 0xa6, 0xcb, 0x30, 0x1e, 0x18, 0x14, +0x13, 0x15, 0x1a, 0x26, 0x45, 0xb4, 0x9f, 0x96, 0x91, 0x8f, +0x8f, 0x91, 0x97, 0x9f, 0xaf, 0x52, 0x2b, 0x1e, 0x1a, 0x18, +0x19, 0x1d, 0x27, 0x3d, 0xbe, 0xa6, 0x9c, 0x96, 0x92, 0x92, +0x94, 0x98, 0x9f, 0xac, 0xd4, 0x37, 0x27, 0x1f, 0x1d, 0x1e, +0x23, 0x2d, 0x4c, 0xba, 0xa6, 0x9d, 0x98, 0x95, 0x95, 0x96, +0x9a, 0xa0, 0xad, 0xcb, 0x3d, 0x2b, 0x23, 0x20, 0x20, 0x25, +0x2e, 0x46, 0xc2, 0xab, 0x9f, 0x9b, 0x99, 0x98, 0x9a, 0x9d, +0xa6, 0xb7, 0x59, 0x30, 0x25, 0x1e, 0x1c, 0x1d, 0x1f, 0x28, +0x36, 0xf9, 0xb5, 0xa7, 0x9f, 0x9d, 0x9d, 0x9f, 0xa6, 0xb2, +0xdf, 0x38, 0x28, 0x1f, 0x1b, 0x1a, 0x1b, 0x1e, 0x26, 0x33, +0x60, 0xba, 0xab, 0xa3, 0xa0, 0xa1, 0xa6, 0xaf, 0xc9, 0x41, +0x2c, 0x22, 0x1d, 0x1b, 0x1a, 0x1c, 0x1f, 0x26, 0x31, 0x4d, +0xc8, 0xb4, 0xac, 0xab, 0xac, 0xb1, 0xc1, 0x59, 0x36, 0x29, +0x21, 0x1d, 0x1b, 0x1b, 0x1d, 0x1f, 0x27, 0x2f, 0x40, 0xe8, +0xbf, 0xb7, 0xb3, 0xb5, 0xbe, 0xdb, 0x44, 0x2f, 0x26, 0x1f, +0x1d, 0x1c, 0x1c, 0x1f, 0x26, 0x31, 0x4a, 0xcb, 0xb5, 0xad, +0xab, 0xac, 0xb3, 0xc5, 0x54, 0x34, 0x28, 0x20, 0x1d, 0x1c, +0x1d, 0x1f, 0x26, 0x32, 0x50, 0xc1, 0xaf, 0xa9, 0xa6, 0xa6, +0xab, 0xb6, 0xd9, 0x3d, 0x2c, 0x23, 0x1e, 0x1d, 0x1e, 0x21, +0x29, 0x38, 0xf4, 0xb7, 0xa9, 0xa2, 0x9f, 0x9f, 0xa2, 0xaa, +0xba, 0x66, 0x36, 0x29, 0x23, 0x21, 0x22, 0x27, 0x30, 0x4b, +0xbf, 0xac, 0xa2, 0x9d, 0x9c, 0x9c, 0x9f, 0xa6, 0xb1, 0xd2, +0x3e, 0x2d, 0x27, 0x24, 0x24, 0x29, 0x33, 0x4f, 0xbe, 0xab, +0xa1, 0x9d, 0x9b, 0x9b, 0x9e, 0xa3, 0xae, 0xc5, 0x4d, 0x35, +0x2c, 0x29, 0x2a, 0x2e, 0x3d, 0xe5, 0xb7, 0xaa, 0xa1, 0x9e, +0x9d, 0x9d, 0xa0, 0xa7, 0xb0, 0xc6, 0x57, 0x3c, 0x33, 0x31, +0x34, 0x3d, 0x5a, 0xc7, 0xb4, 0xab, 0xa5, 0xa3, 0xa3, 0xa6, +0xac, 0xb7, 0xd2, 0x4c, 0x3a, 0x32, 0x30, 0x35, 0x3e, 0x65, +0xc2, 0xb1, 0xa9, 0xa5, 0xa3, 0xa4, 0xa8, 0xae, 0xbc, 0xf2, +0x3f, 0x31, 0x2c, 0x2a, 0x2b, 0x31, 0x40, 0xdf, 0xb9, 0xac, +0xa5, 0xa1, 0xa1, 0xa4, 0xab, 0xb8, 0xe3, 0x3d, 0x2e, 0x28, +0x25, 0x26, 0x2a, 0x31, 0x43, 0xd8, 0xb8, 0xac, 0xa8, 0xa7, +0xa8, 0xad, 0xb9, 0xdb, 0x40, 0x2f, 0x28, 0x24, 0x23, 0x25, +0x2a, 0x32, 0x48, 0xd6, 0xba, 0xaf, 0xad, 0xad, 0xb2, 0xbd, +0xe4, 0x42, 0x32, 0x2b, 0x27, 0x26, 0x28, 0x2c, 0x35, 0x45, +0xe9, 0xc1, 0xba, 0xb9, 0xbe, 0xca, 0xfc, 0x49, 0x37, 0x2e, +0x2a, 0x29, 0x29, 0x2c, 0x32, 0x3e, 0x5a, 0xd2, 0xc3, 0xbe, +0xc1, 0xd0, 0x5e, 0x3e, 0x31, 0x2b, 0x27, 0x25, 0x26, 0x2a, +0x30, 0x3f, 0x7a, 0xc5, 0xba, 0xb4, 0xb5, 0xbb, 0xcc, 0x56, +0x3a, 0x2e, 0x28, 0x25, 0x24, 0x25, 0x29, 0x2f, 0x3f, 0x7c, +0xc1, 0xb5, 0xaf, 0xae, 0xb1, 0xb9, 0xc8, 0x6c, 0x44, 0x37, +0x2f, 0x2e, 0x2e, 0x30, 0x37, 0x43, 0x5f, 0xd2, 0xbe, 0xb6, +0xb2, 0xb4, 0xba, 0xc8, 0xd6, 0x7e, 0x59, 0x54, 0x57, 0x63, +0xfb, 0xdd, 0xd2, 0xc9, 0xc4, 0xc4, 0xc4, 0xc6, 0xcd, 0xde, +0x6b, 0x56, 0x52, 0x55, 0x5f, 0xd8, 0xc0, 0xb7, 0xae, 0xa9, +0xa7, 0xa7, 0xa9, 0xae, 0xb9, 0xce, 0x51, 0x3d, 0x35, 0x33, +0x37, 0x3f, 0x5e, 0xc3, 0xb1, 0xaa, 0xa5, 0xa2, 0xa2, 0xa4, +0xa9, 0xb0, 0xc0, 0xfe, 0x47, 0x3c, 0x39, 0x3c, 0x45, 0x5f, +0xca, 0xb8, 0xaf, 0xab, 0xa9, 0xa9, 0xab, 0xae, 0xb5, 0xbe, +0xcc, 0xe6, 0x67, 0x5c, 0x5f, 0xe9, 0xcd, 0xc0, 0xb9, 0xb5, +0xb2, 0xb4, 0xb9, 0xbe, 0xca, 0xe3, 0x63, 0x57, 0x58, 0x6a, +0xde, 0xcb, 0xbf, 0xbb, 0xb9, 0xb8, 0xba, 0xbf, 0xca, 0xde, +0x60, 0x49, 0x3f, 0x3c, 0x3c, 0x3e, 0x47, 0x5b, 0xde, 0xc9, +0xbe, 0xbb, 0xbb, 0xbe, 0xc7, 0xdb, 0x5c, 0x47, 0x3e, 0x3b, +0x3c, 0x3f, 0x48, 0x54, 0x73, 0xdc, 0xcf, 0xcc, 0xcf, 0xd9, +0xfe, 0x58, 0x4a, 0x42, 0x3e, 0x3e, 0x40, 0x47, 0x52, 0x73, +0xda, 0xcd, 0xcb, 0xcf, 0xdf, 0x5f, 0x49, 0x3d, 0x37, 0x33, +0x32, 0x33, 0x37, 0x3e, 0x4a, 0x63, 0xdf, 0xd0, 0xcd, 0xd0, +0xe1, 0x61, 0x4c, 0x3e, 0x38, 0x34, 0x32, 0x33, 0x37, 0x3c, +0x47, 0x58, 0xf9, 0xdd, 0xda, 0xdf, 0x7e, 0x58, 0x4a, 0x41, +0x3d, 0x3b, 0x3b, 0x3d, 0x41, 0x49, 0x55, 0x68, 0xf1, 0xe6, +0xe9, 0xff, 0x5d, 0x4d, 0x45, 0x3e, 0x3c, 0x3c, 0x3d, 0x41, +0x4a, 0x56, 0x6d, 0xe7, 0xdd, 0xdc, 0xe4, 0x77, 0x5b, 0x4e, +0x49, 0x45, 0x44, 0x46, 0x4b, 0x53, 0x61, 0xf9, 0xe0, 0xda, +0xda, 0xdd, 0xe8, 0x7c, 0x64, 0x5b, 0x56, 0x4f, 0x4c, 0x4a, +0x4a, 0x4d, 0x50, 0x59, 0x67, 0xfe, 0xec, 0xe8, 0xec, 0xf9, +0x70, 0x61, 0x5c, 0x59, 0x58, 0x5a, 0x5e, 0x64, 0x6c, 0x79, +0xf8, 0xf0, 0xef, 0xef, 0xf3, 0xfa, 0xff, 0x7c, 0x7a, 0x7d, +0xfb, 0xf3, 0xeb, 0xe6, 0xe2, 0xdf, 0xdf, 0xdf }; diff --git a/agc_2-X/branches/agc_2.0.5/extras/enter.raw b/agc_2-X/branches/agc_2.0.5/extras/enter.raw new file mode 100644 index 00000000..4635599c --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/enter.raw @@ -0,0 +1,4 @@ +&&)ξ=76$&&(-0H\ľǽ;..'%%2fu6+*'-0HK\]K1+*#1Ef='%5]6&)=ȯD" *N9' (<ֺ[2# + + ,n6  +)ਛ, 3G$ <0&ER+'=7'#-L=+# %.F«Y0%(68(&3`A,"&1MȴY6)!'/@迷D/&&1J˵T4( &2P=,#!)8f6)#!"'0K>-'$$)3OM5,)*.=巪W<314=ZǴL:205>e±?1,*+1@߹=.(%&*1Cظ@/($#%*2HֺB2+'&(,5EI7.*)),2>Zþ^>1+'%&*0?zźV:.(%$%)/?|lD7/..07C_Ҿ~YTWckVRU_Q=537?^ñG<9G[ɾ\G>;>@GRs_I=73237>JcaL>84237<<=AJVmw[NIEDFKSa|d[VOLJJMPYgpa\YXZ^dly|z} \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/extras/experimental_gsm_asm.patch b/agc_2-X/branches/agc_2.0.5/extras/experimental_gsm_asm.patch new file mode 100644 index 00000000..69a86aa4 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/experimental_gsm_asm.patch @@ -0,0 +1,31 @@ +Index: codecs/gsm/inc/private.h +=================================================================== +--- codecs/gsm/inc/private.h (revision 109711) ++++ codecs/gsm/inc/private.h (working copy) +@@ -105,7 +105,7 @@ + __asm__ __volatile__( + + "addl %2,%0; jno 0f; movl $0x7fffffff,%0; adcl $0,%0; 0:" +- : "=r" (a) ++ : "=&r" (a) + : "0" (a), "ir" (b) + : "cc" + ); +@@ -116,7 +116,7 @@ + { + __asm__ __volatile__( + "addw %2,%0; jno 0f; movw $0x7fff,%0; adcw $0,%0; 0:" +- : "=r" (a) ++ : "=&r" (a) + : "0" (a), "ir" (b) + : "cc" + ); +@@ -127,7 +127,7 @@ + { + __asm__ __volatile__( + "subw %2,%0; jno 0f; movw $0x7fff,%0; adcw $0,%0; 0:" +- : "=r" (a) ++ : "=&r" (a) + : "0" (a), "ir" (b) + : "cc" + ); diff --git a/agc_2-X/branches/agc_2.0.5/extras/first_server_install.sql b/agc_2-X/branches/agc_2.0.5/extras/first_server_install.sql new file mode 100644 index 00000000..47606ace --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/first_server_install.sql @@ -0,0 +1,348 @@ +INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version)values('TESTast','Test install of Asterisk server', '10.10.10.15','Y','1.2.26.2'); + +INSERT INTO server_updater SET server_ip='10.10.10.15', last_update=''; + +INSERT INTO phones (extension, dialplan_number, voicemail_id, phone_ip, computer_ip, server_ip, login, pass, status, active, phone_type, fullname, company, picture, messages, old_messages, protocol) values('gs102','102','102','10.10.10.16','10.10.9.16','10.10.10.15','gs102','test', 'ADMIN','Y','Grandstream BT 102','Test Admin Phone','TEST','','0','0','SIP'); +INSERT INTO phones (extension, dialplan_number, voicemail_id, phone_ip, computer_ip, server_ip, login, pass, status, active, phone_type, fullname, company, protocol) values('callin','8300','8300','10.10.10.15','10.10.10.15','10.10.10.15','callin','test', 'ACTIVE','Y','Dial-in agent phone','Dial-in Agent Phone','TEST','EXTERNAL'); + +INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,load_leads,campaign_detail,ast_admin_access,modify_users) values('6666','1234','Admin','9','ADMIN','1','1','1','1'); + +INSERT INTO conferences values('8600001','10.10.10.15',''); +INSERT INTO conferences values('8600002','10.10.10.15',''); +INSERT INTO conferences values('8600003','10.10.10.15',''); +INSERT INTO conferences values('8600004','10.10.10.15',''); +INSERT INTO conferences values('8600005','10.10.10.15',''); +INSERT INTO conferences values('8600006','10.10.10.15',''); +INSERT INTO conferences values('8600007','10.10.10.15',''); +INSERT INTO conferences values('8600008','10.10.10.15',''); +INSERT INTO conferences values('8600009','10.10.10.15',''); +INSERT INTO conferences values('8600010','10.10.10.15',''); +INSERT INTO conferences values('8600011','10.10.10.15',''); +INSERT INTO conferences values('8600012','10.10.10.15',''); +INSERT INTO conferences values('8600013','10.10.10.15',''); +INSERT INTO conferences values('8600014','10.10.10.15',''); +INSERT INTO conferences values('8600015','10.10.10.15',''); +INSERT INTO conferences values('8600016','10.10.10.15',''); +INSERT INTO conferences values('8600017','10.10.10.15',''); +INSERT INTO conferences values('8600018','10.10.10.15',''); +INSERT INTO conferences values('8600019','10.10.10.15',''); +INSERT INTO conferences values('8600020','10.10.10.15',''); +INSERT INTO conferences values('8600021','10.10.10.15',''); +INSERT INTO conferences values('8600022','10.10.10.15',''); +INSERT INTO conferences values('8600023','10.10.10.15',''); +INSERT INTO conferences values('8600024','10.10.10.15',''); +INSERT INTO conferences values('8600025','10.10.10.15',''); +INSERT INTO conferences values('8600026','10.10.10.15',''); +INSERT INTO conferences values('8600027','10.10.10.15',''); +INSERT INTO conferences values('8600028','10.10.10.15',''); +INSERT INTO conferences values('8600029','10.10.10.15',''); +INSERT INTO conferences values('8600030','10.10.10.15',''); +INSERT INTO conferences values('8600031','10.10.10.15',''); +INSERT INTO conferences values('8600032','10.10.10.15',''); +INSERT INTO conferences values('8600033','10.10.10.15',''); +INSERT INTO conferences values('8600034','10.10.10.15',''); +INSERT INTO conferences values('8600035','10.10.10.15',''); +INSERT INTO conferences values('8600036','10.10.10.15',''); +INSERT INTO conferences values('8600037','10.10.10.15',''); +INSERT INTO conferences values('8600038','10.10.10.15',''); +INSERT INTO conferences values('8600039','10.10.10.15',''); +INSERT INTO conferences values('8600040','10.10.10.15',''); +INSERT INTO conferences values('8600041','10.10.10.15',''); +INSERT INTO conferences values('8600042','10.10.10.15',''); +INSERT INTO conferences values('8600043','10.10.10.15',''); +INSERT INTO conferences values('8600044','10.10.10.15',''); +INSERT INTO conferences values('8600045','10.10.10.15',''); +INSERT INTO conferences values('8600046','10.10.10.15',''); +INSERT INTO conferences values('8600047','10.10.10.15',''); +INSERT INTO conferences values('8600048','10.10.10.15',''); +INSERT INTO conferences values('8600049','10.10.10.15',''); + +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600051','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600052','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600053','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600054','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600055','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600056','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600057','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600058','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600059','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600060','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600061','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600062','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600063','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600064','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600065','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600066','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600067','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600068','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600069','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600070','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600071','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600072','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600073','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600074','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600075','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600076','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600077','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600078','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600079','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600080','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600081','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600082','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600083','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600084','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600085','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600086','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600087','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600088','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600089','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600090','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600091','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600092','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600093','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600094','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600095','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600096','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600097','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600098','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600099','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600100','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600101','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600102','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600103','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600104','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600105','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600106','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600107','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600108','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600109','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600110','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600111','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600112','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600113','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600114','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600115','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600116','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600117','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600118','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600119','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600120','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600121','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600122','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600123','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600124','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600125','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600126','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600127','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600128','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600129','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600130','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600131','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600132','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600133','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600134','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600135','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600136','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600137','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600138','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600139','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600140','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600141','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600142','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600143','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600144','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600145','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600146','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600147','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600148','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600149','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600150','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600151','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600152','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600153','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600154','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600155','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600156','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600157','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600158','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600159','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600160','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600161','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600162','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600163','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600164','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600165','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600166','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600167','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600168','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600169','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600170','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600171','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600172','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600173','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600174','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600175','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600176','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600177','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600178','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600179','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600180','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600181','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600182','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600183','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600184','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600185','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600186','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600187','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600188','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600189','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600190','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600191','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600192','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600193','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600194','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600195','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600196','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600197','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600198','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600199','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600200','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600201','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600202','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600203','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600204','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600205','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600206','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600207','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600208','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600209','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600210','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600211','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600212','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600213','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600214','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600215','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600216','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600217','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600218','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600219','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600220','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600221','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600222','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600223','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600224','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600225','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600226','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600227','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600228','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600229','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600230','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600231','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600232','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600233','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600234','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600235','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600236','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600237','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600238','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600239','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600240','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600241','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600242','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600243','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600244','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600245','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600246','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600247','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600248','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600249','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600250','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600251','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600252','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600253','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600254','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600255','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600256','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600257','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600258','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600259','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600260','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600261','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600262','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600263','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600264','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600265','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600266','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600267','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600268','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600269','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600270','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600271','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600272','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600273','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600274','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600275','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600276','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600277','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600278','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600279','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600280','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600281','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600282','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600283','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600284','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600285','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600286','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600287','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600288','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600289','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600290','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600291','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600292','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600293','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600294','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600295','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600296','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600297','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600298','10.10.10.15'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600299','10.10.10.15'); + +INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead01','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com'); +INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead02','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com'); +INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead03','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com'); +INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead04','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com'); +INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead05','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com'); +INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead06','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com'); +INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead07','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com'); + +INSERT INTO vicidial_statuses values('NEW','New Lead','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('QUEUE','Lead To Be Called','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('INCALL','Lead Being Called','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('DROP','Agent Not Available','N','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('XDROP','Agent Not Available IN','N','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('NA','No Answer AutoDial','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('CALLBK','Call Back','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('CBHOLD','Call Back Hold','N','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('A','Answering Machine','Y','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('AA','Answering Machine Auto','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('AM','Answering Machine Sent to Mesg','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('AL','Answering Machine Msg Played','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('AFAX','Fax Machine Auto','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('B','Busy','Y','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('DC','Disconnected Number','Y','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('DEC','Declined Sale','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('DNC','DO NOT CALL','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('DNCL','DO NOT CALL Hopper Match','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('SALE','Sale Made','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('N','No Answer','Y','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('NI','Not Interested','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('NP','No Pitch No Price','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('PU','Call Picked Up','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('PM','Played Message','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('XFER','Call Transferred','Y','Y','UNDEFINED'); +INSERT INTO vicidial_statuses values('ERI','Agent Error','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('SVYEXT','Survey sent to Extension','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('SVYVM','Survey sent to Voicemail','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('SVYHU','Survey Hungup','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('SVYREC','Survey sent to Record','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('QVMAIL','Queue Abandon Voicemail Left','N','N','UNDEFINED'); diff --git a/agc_2-X/branches/agc_2.0.5/extras/init.d/vicidial b/agc_2-X/branches/agc_2.0.5/extras/init.d/vicidial new file mode 100644 index 00000000..c2d7ec1c --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/init.d/vicidial @@ -0,0 +1,424 @@ +#!/bin/bash +# +# Template LSB system startup script for example service/daemon FOO +# Copyright (C) 1995--2005 Kurt Garloff, SUSE / Novell Inc. +# +# 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; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, +# USA. +# +# /etc/init.d/FOO +# LSB compatible service control script; see http://www.linuxbase.org/spec/ +# Please send feedback to http://www.suse.de/feedback/ +# +# Note: This template uses functions rc_XXX defined in /etc/rc.status on +# UnitedLinux/SUSE/Novell based Linux distributions. However, it will work +# on other distributions as well, by using the LSB (Linux Standard Base) +# or RH functions or by open coding the needed functions. +# Read http://www.tldp.org/HOWTO/HighQuality-Apps-HOWTO/ if you prefer not +# to use this template. +# +# chkconfig: 345 99 00 +# description: FOO XYZ daemon providing ZYX +# +### BEGIN INIT INFO +# Provides: Vicidial +# Required-Start: $ALL +# Should-Start: +# Required-Stop: +# Should-Stop: +# Default-Start: 3 4 5 +# Default-Stop: 0 1 2 6 +# Short-Description: Vicidial Demon +# Description: This script starts Vicidial and all processes +# that are required to operate a Vicidial Dialing Server. +# Please make sure that the following services are NOT started +# from any other place when using this script. +# wanrouter (Sangoma Drivers), +# zaptel (zaptel driver and ztcfg), +# ViciDial start scripts. +# Please load zaptel hardware driver before starting this script +# or change the ZAP_MOD line in this file +### END INIT INFO +# +# Any extensions to the keywords given above should be preceeded by +# X-VendorTag- according to LSB. +# +# Notes on Required-Start/Should-Start: +# * There are two different issues that are solved by Required-Start +# and Should-Start +# (a) Hard dependencies: This is used by the runlevel editor to determine +# which services absolutely need to be started to make the start of +# this service make sense. Example: nfsserver should have +# Required-Start: $portmap +# Also, required services are started before the dependent ones. +# The runlevel editor will warn about such missing hard dependencies +# and suggest enabling. During system startup, you may expect an error, +# if the dependency is not fulfilled. +# (b) Specifying the init script ordering, not real (hard) dependencies. +# This is needed by insserv to determine which service should be +# started first (and at a later stage what services can be started +# in parallel). The tag Should-Start: is used for this. +# It tells, that if a service is available, it should be started +# before. If not, never mind. +# * When specifying hard dependencies or ordering requirements, you can +# use names of services (contents of their Provides: section) +# or pseudo names starting with a $. The following ones are available +# according to LSB (1.1): +# $local_fs all local file systems are mounted +# (most services should need this!) +# $remote_fs all remote file systems are mounted +# (note that /usr may be remote, so +# many services should Require this!) +# $syslog system logging facility up +# $network low level networking (eth card, ...) +# $named hostname resolution available +# $netdaemons all network daemons are running +# The $netdaemons pseudo service has been removed in LSB 1.2. +# For now, we still offer it for backward compatibility. +# These are new (LSB 1.2): +# $time the system time has been set correctly +# $portmap SunRPC portmapping service available +# UnitedLinux/SUSE/Novell extensions: +# $ALL indicates that a script should be inserted +# at the end +# * The services specified in the stop tags +# (Required-Stop/Should-Stop) +# specify which services need to be still running when this service +# is shut down. Often the entries there are just copies or a subset +# from the respective start tag. +# * Should-Start/Stop are now part of LSB as of 2.0, +# formerly SUSE/Unitedlinux used X-UnitedLinux-Should-Start/-Stop. +# insserv does support both variants. +# * X-UnitedLinux-Default-Enabled: yes/no is used at installation time +# (%fillup_and_insserv macro in %post of many RPMs) to specify whether +# a startup script should default to be enabled after installation. +# +# Note on runlevels: +# 0 - halt/poweroff 6 - reboot +# 1 - single user 2 - multiuser without network exported +# 3 - multiuser w/ network (text mode) 5 - multiuser w/ network and X11 (xdm) +# +# Note on script names: +# http://www.linuxbase.org/spec/refspecs/LSB_1.3.0/gLSB/gLSB/scrptnames.html +# A registry has been set up to manage the init script namespace. +# http://www.lanana.org/ +# Please use the names already registered or register one or use a +# vendor prefix. + + +# Check for missing binaries (stale symlinks should not happen) +# Note: Special treatment of stop for LSB conformance +AST_BIN=/usr/sbin/asterisk +test -x $AST_BIN || { echo "$AST_BIN not installed"; + if [ "$1" = "stop" ]; then exit 0; + else exit 5; fi; } + +WAN_BIN=/usr/sbin/wanrouter +test -x $WAN_BIN || { echo "will skip $WAN_BIN (not installed)"; } + +VICI_DIR=/usr/share/astguiclient +test -x $VICI_DIR/start_asterisk_boot.pl || { echo "$VICI_BIN/start_asterisk_boot.pl not installed"; + if [ "$1" = "stop" ]; then exit 0; + else exit 5; fi; } + +ZTCFG_BIN=/sbin/ztcfg +test -x $ZTCFG_BIN || { echo "$ZTCFG_BIN not installed"; + if [ "$1" = "stop" ]; then exit 0; + else exit 5; fi; } + +# Zaptel module name, please replace with driver name for hardware card +ZAP_MOD=ztdummy + +# providing start_daemon, killproc, pidofproc, +# log_success_msg, log_failure_msg and log_warning_msg. +# This is currently not used by UnitedLinux based distributions and +# not needed for init scripts for UnitedLinux only. If it is used, +# the functions from rc.status should not be sourced or used. +#. /lib/lsb/init-functions + +# Shell functions sourced from /etc/rc.status: +# rc_check check and set local and overall rc status +# rc_status check and set local and overall rc status +# rc_status -v be verbose in local rc status and clear it afterwards +# rc_status -v -r ditto and clear both the local and overall rc status +# rc_status -s display "skipped" and exit with status 3 +# rc_status -u display "unused" and exit with status 3 +# rc_failed set local and overall rc status to failed +# rc_failed set local and overall rc status to +# rc_reset clear both the local and overall rc status +# rc_exit exit appropriate to overall rc status +# rc_active checks whether a service is activated by symlinks + +# Use the SUSE rc_ init script functions; +# emulate them on LSB, RH and other systems + +# Default: Assume sysvinit binaries exist +start_daemon() { return /sbin/start_daemon ${1+"$@"}; } +killproc() { return /sbin/killproc ${1+"$@"}; } +pidofproc() { return /sbin/pidofproc ${1+"$@"}; } +checkproc() { return /sbin/checkproc ${1+"$@"}; } +if test -e /etc/rc.status; then + # SUSE rc script library + . /etc/rc.status +else + export LC_ALL=POSIX + _cmd=$1 + declare -a _SMSG + if test "${_cmd}" = "status"; then + _SMSG=(running dead dead unused unknown reserved) + _RC_UNUSED=3 + else + _SMSG=(done failed failed missed failed skipped unused failed failed reserved) + _RC_UNUSED=6 + fi + if test -e /lib/lsb/init-functions; then + # LSB + . /lib/lsb/init-functions + echo_rc() + { + if test ${_RC_RV} = 0; then + log_success_msg " [${_SMSG[${_RC_RV}]}] " + else + log_failure_msg " [${_SMSG[${_RC_RV}]}] " + fi + } + # TODO: Add checking for lockfiles + checkproc() { return pidofproc ${1+"$@"} >/dev/null 2>&1; } + elif test -e /etc/init.d/functions; then + # RHAT + . /etc/init.d/functions + echo_rc() + { + #echo -n " [${_SMSG[${_RC_RV}]}] " + if test ${_RC_RV} = 0; then + success " [${_SMSG[${_RC_RV}]}] " + else + failure " [${_SMSG[${_RC_RV}]}] " + fi + } + checkproc() { return status ${1+"$@"}; } + start_daemon() { return daemon ${1+"$@"}; } + else + # emulate it + echo_rc() { echo " [${_SMSG[${_RC_RV}]}] "; } + fi + rc_reset() { _RC_RV=0; } + rc_failed() + { + if test -z "$1"; then + _RC_RV=1; + elif test "$1" != "0"; then + _RC_RV=$1; + fi + return ${_RC_RV} + } + rc_check() + { + return rc_failed $? + } + rc_status() + { + rc_failed $? + if test "$1" = "-r"; then _RC_RV=0; shift; fi + if test "$1" = "-s"; then rc_failed 5; echo_rc; rc_failed 3; shift; fi + if test "$1" = "-u"; then rc_failed ${_RC_UNUSED}; echo_rc; rc_failed 3; shift; fi + if test "$1" = "-v"; then echo_rc; shift; fi + if test "$1" = "-r"; then _RC_RV=0; shift; fi + return ${_RC_RV} + } + rc_exit() { exit ${_RC_RV}; } + rc_active() + { + if test -z "$RUNLEVEL"; then read RUNLEVEL REST < <(/sbin/runlevel); fi + if test -e /etc/init.d/S[0-9][0-9]${1}; then return 0; fi + return 1 + } +fi + +# Reset status of this service +rc_reset + +# Return values acc. to LSB for all commands but status: +# 0 - success +# 1 - generic or unspecified error +# 2 - invalid or excess argument(s) +# 3 - unimplemented feature (e.g. "reload") +# 4 - user had insufficient privileges +# 5 - program is not installed +# 6 - program is not configured +# 7 - program is not running +# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl) +# +# Note that starting an already running service, stopping +# or restarting a not-running service as well as the restart +# with force-reload (in case signaling is not supported) are +# considered a success. + +case "$1" in +start) + echo "Starting Vicidial " + ## Start daemon with startproc(8). If this fails + ## the return value is set appropriately by startproc. + + if /sbin/lsmod | /usr/bin/grep zaptel + then + echo "Zaptel already loaded" + else + if [ -x $WAN_BIN ] ; then + echo "Starting Sangoma wanrouter driver" + $WAN_BIN start + else + echo "Starting kernel module $ZAP_MOD" + /sbin/modprobe $ZAP_MOD || { echo "$ZAP_MOD NOT loaded" ; exit 5; } + fi + fi + + sleep 3 + + $ZTCFG_BIN -vvv + + sleep 20 + + $VICI_DIR/ADMIN_restart_roll_logs.pl + + sleep 2 + + $VICI_DIR/AST_reset_mysql_vars.pl + + sleep 2 + + $VICI_DIR/start_asterisk_boot.pl + + sleep 2 + + $VICI_DIR/ADMIN_keepalive_ALL.pl + + echo "" + + echo "Started Vicidial " + + # Remember status and be verbose + rc_status -v + ;; +stop) + ## Stop daemon with killproc(8) and if this fails + ## killproc sets the return value according to LSB. + + if /bin/ps -A | /usr/bin/grep asterisk + then + echo "Stopping asterisk gracefully (wait 60sec)" + $AST_BIN -rx "stop gracefully" 1> /dev/null 2> /dev/null # stop asterisk gracefully + sleep 60 + + if /bin/ps -A| /usr/bin/grep asterisk + then + echo "Okay it has had long enough ... stopping Asterisk now" + $AST_BIN -rx "stop now" 1> /dev/null 2> /dev/null # stop asterisk now + fi + echo "Asterisk stopped" + else + echo "Asterisk not running" + fi + + if /sbin/lsmod | /usr/bin/grep zaptel + then + $ZTCFG_BIN -s + fi + + if [ -x $WAN_BIN ] ; then + $WAN_BIN stop + fi + + if /sbin/lsmod | /usr/bin/grep $ZAP_MOD + then + /sbin/rmmod $ZAP_MOD + fi + + if /sbin/lsmod | /usr/bin/grep zttranscode + then + /sbin/rmmod zttranscode + fi + + if /sbin/lsmod | /usr/bin/grep zaptel + then + /sbin/rmmod zaptel + fi + + + # Remember status and be verbose + + echo -n "Stopped Vicidial " + + rc_status -v + ;; + try-restart|condrestart) + ## Do a restart only if the service was active before. + ## Note: try-restart is now part of LSB (as of 1.9). + ## RH has a similar command named condrestart. + if test "$1" = "condrestart"; then + echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}" + fi + $0 status + if test $? = 0; then + $0 restart + else + rc_reset # Not running is not a failure. + fi + # Remember status and be quiet + rc_status + ;; +restart) + ## Stop the service and regardless of whether it was + ## running or not, start it again. + $0 stop + $0 start + + # Remember status and be quiet + rc_status + ;; +status) + echo -n "Checking for service Vicidial " + ## Check status with checkproc(8), if process is running + ## checkproc will return with exit status 0. + + # Return value is slightly different for the status command: + # 0 - service up and running + # 1 - service dead, but /var/run/ pid file exists + # 2 - service dead, but /var/lock/ lock file exists + # 3 - service not running (unused) + # 4 - service status unknown :-( + # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.) + + /usr/bin/screen -ls + + # NOTE: checkproc returns LSB compliant status values. + checkproc $AST_BIN + # NOTE: rc_status knows that we called this init script with + # "status" option and adapts its messages accordingly. + rc_status -v + ;; +probe) + ## Optional: Probe for the necessity of a reload, print out the + ## argument to this init script which is required for a reload. + ## Note: probe is not (yet) part of LSB (as of 1.9) + + test /etc/FOO/FOO.conf -nt /var/run/FOO.pid && echo reload + ;; + *) + echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" + exit 1 + ;; +esac +rc_exit diff --git a/agc_2-X/branches/agc_2.0.5/extras/ip_relay/ip_relay_1.0.021902.tar b/agc_2-X/branches/agc_2.0.5/extras/ip_relay/ip_relay_1.0.021902.tar new file mode 100644 index 0000000000000000000000000000000000000000..194a4a717970e7aba446aff566f688385ba821fa GIT binary patch literal 204800 zcmeFa33yz`btZa2Q8EdOB4mlOEIZaEWzir-VqZv5l!>K5!Nk()ZV;qIxz*^tKsVXw zZui1vWZ7`&jbY>{GairQ@q3|{B=$J@tjzPoOEO<*E6>X$Z=&QS86}^;37u%hP^3K5 ziN>SEvibi1RMow=8x0U#wAi^9sJ^GRQ>RXyIf*Gy>w4oTUT3eZ@1Nk zr?;o8>PBr6bA1Tq%_kMccNDiEJY8IWK}P=D#Sy zPlrRslz+s@I*F3=QpkanfA`ADzq7L!<=@!>F$l{4We_2^{D++B%Ir%~`WEUt>i-JM zzpI_~zoWOkCn*1yq4+Jg{0-2Oyz0rewYRnPbXDtp(+Oi1Ht31=P6oHz zt~w=k5dI6-|90!vb&dABwqM~x9Jc=%%ok1+GqdTk-JINFceJ&2Y_pF#xk{-eUz}}0 z@Vl-s#qGAuM7@MZ!nX8e>{7l`Ogi>VChJs(kS2VOONHG`vbJ~_{PZseuSJwACVy+| zx<>xBZoLdfxHOOClG#d1WwvBbJK6j(yPVFH>})3Is61RIv5LMsGBYV>#*R;ojCXdB z+&eNl#k;36xl%rPq@yK$k9auQk^^bdVQmxN1TUQ^wU#q;js*9xi1UepQ>x=m^iH|P zBj=QnwQ_4Fx7Z^!EpDLF$)z$gi>UFFUn-|E`5F{(%Vrb~ABE*&CO2CX(#^@$D8#{h z4xP|k*&cFcGPz7S1N&7k%R5kxl!=i@JQRscMB?KU;~}4vxA|ZNqAYXy;#?wYJI6C+ zJDG=^u~Zjf8t5O2hx;S_W1(0m61CgwVVX{)fMISfkxMDrEF_AFIj8ItOSV%i=8MbV z9~mEs#fSSxMngkH-BAxe`DV`~Q0G(2;ERMn>cHgia3~Uwj@+;E-`?F;lX>L4=z!qq z%FK*Yv`d+P<=B~=J$<6=lxkTp6dLZI9F4_eBV(b7$(W*TM^9G`PM}OViAuI?Q*`o` zG7*-XWImTF+0E^CDsf_qTW4l+HI+`6-N3}es4w%GT-hs);r`L6uRPm4pIBtl=V3Q* zl%UXirXZsegZo07a-gq5J2Jk%e{^IhuER8MZ}&w^X7eRS)zaqD7HE3f0U-#myLE7* zQXe{dSE}-2&=xOgO(B7HIaz4U6m*M{GooKc+ANw+csjFT(JCD_Bz zw|JHbu{Gx$FYi*pviaOBLTdz>f_6p`5Q%m!>iBdUUDLJV)9T4Xcs)8Eo;mkkezmi&E{t@sZ`L7Le74m<{`K+PA%V#0MHU=tb zx|k@QfD+1;Q93pYTI98+#2*H)b>U<)rLvQY>%wtMz!L`@z%2|D#79eQ5SEt~37y4S zkLb697y%)ln`WTjYyYFCN7s62Fs6`I39(`j$stg>(3 z8+Y4pZFwuOn;ag#>#he8VQVv(bk|*5>@7OO#ODQKkhdOcdn-H@C+H1=N=Gt<5;5B7 z+U6WIM5!u@;M%MR*ewYoN0N>&kt%$ZLMp)y4OrqYU#7-KI3*0b`)+#&klke`%J~dk zRDrqVKcdjO#a496l_I*ZtZ2lf?1;CEHnco$E5lw}2?Mq&9qg;0ELeuoEm|CEy4gOO z&!n`7EgGIMfvJgz^b?QmN9PiK>4@{riUVDp(u|mj_7C;P`t4(-#89G~psS*DQ3Mpk zSpU8d5jNWxz;?J<7G48U6#BSaf$%SiyUpIL69DTV32oH^Hd8H$mZLr$ryFci#>dresC?`srt|D4le15!WS1tiF$u+oz z^ju|b8UxBJM6L#q264W?&H|XTm<@Htn%gi8osn_qZu`y@^0Lj-AgVy{ySTUGDn5o; zT-l9+p>K^Is+k;M$hA-|YfXQv#aGzSx2lO@4SS&dK{r)5u&?`D9k`Q$wKjAs8p$!w zZuTbVGkqe5iHBxZ>7x&Hcxgz@@S>tSV4`{)nserog%i#8=1gImso2F6+wV!o*@D(M zWu4q?Iql|w*lP13Z7e!5>8v!ghK=A4L(7aB)F)v+bz@g`!D{oQ5qXvV9#iQRMn6tH zEm2hjT|TaATqru|7o%Kjns{H!L1l!1;0yYd98T-eEVLWuk#zU0W=K-2jS<;5LTy$< zBX_KfPMownGWKTm+Gd+!ur~-(eT!|ng*UmbdHbSi0n=R)uOo{p;UiWJllbfEa&g*i zW4a8g3e7s^jPhvS>%{Z=eNrwPC1zFcbFoe|y0*`rN)&VKoBO*5k|z3cHsmvpQ7pT< zL=*-VtYGCCm(dVGVJzyT;_Tl+N}!?eS96GDyZl+9oh{_$9jP^TP65zl4zz5 zlt)#R>XPt9sq(0bQa#6EqCl{lWw7Q}MU??g!)U_I3ra%9it%KNk2q>5oz7C;P)0UCmZ4Z;SZ-l8LCV2oZrYf32j{=(ehvOsTp_ppeNLz2S8@zUHO*g!DI)Hs})s>shaLTNvpqe?IhVeaT1(iIp&w-&c_@fI4 zgGbi?wdiw{9Lzjyb_GFZOmzpybyV%cTG!rE%H-lRiMdSn1S^G&Lf54YIjRXpQEMrQ zkRe#QoX?@ZJTl%tG!%*Vj~|qFy(UU^w}eqj&CQiuDKneHv{@;Q4$2m{$aIZi92uV= zKco}F-@Igpz?Cuz=cryEBOH%}CZkwq9ExniikQq8Y}s5@-?o|FAuFTii%21hVnr!( z0+DkIq>{|Bw{G#XzYgy)L8)h;mY1}8-AgTNq)y7eN(;IDOBvPG%f?a_0_=IkvH_Z^ z>rS0)sBEsNJi1XCuAIS|uT{0IiY`~ZUVQik9bDadpx&zPimAT7#@nnas`i5_u&QTM z-Gs2N>IekQQxyYMnC@(pY97^Y`f3%1tXQ$6vyN0VohEn+`1SYARU{dZtgVrux=qqW zTBIu4SJ?W9q}N2Oqu?*9+Lx(t)U_%FU1om$uKO0%Z4y5x<|C;x9ZVHm ziS98neW~MgO^YbesuJOR$epPc^WS%8ibY*-YOXm`xaXdZt}UC}j?c^>7qqtbR9SZz zTc)5xRdI#Ht2uq)L=9uyF*1WKC1dpSi`f$DNSBG?I7Cx-ZEIB%b#XN}mQ+n_N~*91 zstJ2{;&nQ-Rb1jyLA9b-dggxxolad?EH_oQfnNIA&`XPJ;=d%lWs#JKd*Pv!zYEnhFNo|PnM$lDVHgB$%-CPdf zNu+wbD7!cXfi1=`nC;JV_Xbpz3j44ZMRmShl-uvAnfblT*TK~58h6WLn3)Jx`p=}# zH##BgV|t|crh+s_O>k*W>jtGyP2lDF2qWXe6PUrQk=Z^6f2#nX=JJp-#}tQwl)zDpLwJw{LmE$c%eh!OJ(~ zU1ZX8akWCNlTX@+ty(L1fsI!1Towr{qgPdLf7q2&Z!i3!>h1G#tGCb1t=^v7;_B`B zT~77(VxvNNmKyeX9^?iaGtXra!?ad$YquWiRW0C~f!b_dmLH1w%52)kTC=ag;-1kI z*PD+eikL;#yQve{!{qHx^lcN<0j0B|!lI`%lZs=))!sUnC>_xYKxU7%%82>Z73m@! zrn=oJ%xobQtjTMhU3RZZXU3gLmI+?Lt`3Vl0L-C zNZcBTbtT{9v4D=k1}{Z-w$~Ryz~%aT-drDBVv=lByqWpI6c8qV^g*VLHdZV0a{6r9 zjvmv!lFnXrMt%JaBCg4|-gNjd#x3+U&vLoeyd28}6YCLrb{an&;1=+W2 z)F{z;?V7L4blJUKVytf4JglZ|^IR6GYDVYdYv0hz^heNrk|nym%g0^5ab(h|4d}I;>Usf@ zHwl>ca#CMi*GY|0uIiLxZROq~>$V0n-!&D{CE{w2zE(SRb~T`5qxKrO ziIX4URIy+Z3R7G!r?WQ}Xmw_S+O6^j?ratx*)OjLr zbhy;io^Q8Qy{>{=5)>`H{eXuT{d=6avBN(#yVSljQ>ayey@8t^D>6I2tvx=DtNiJ$ zh&8&Ye&^vLrwdqNF0$KTv&R5`7Hiu3x}A`f^+B0GjyI(g>#Moy4yaEX)gD7(eq^7+~|wGXs0eo zsjBHnL2Y}J?aNhO>bN3f_#a85D%?`5?*3Q?Ual1N__^pD=HWIh{N$Wt>ac)&-VGfC zY|yT5%{JQ2ENGl_+@cnV)~>A@vNP!`=&IElHv5FeWUQX>7(a+e)#h+he%oq_qE-$} z{1q@Qfn%Qq9Q|D(&-8Ly9Zp>dtLpS>nFWy;JxujCGBrBKRbBp}>BH5d6~hs}m*a{z zC}m~1oI$BcsZLSXIMrB}5(FO?yb8Mgo~oL31su7m+*qO@{dCtXL@zlqUxJT5rfCo_ zRn};b7fr+?WizXwIw)2BCp{exx2pMg5fZr!!6O{%ZmFhwmv0%t4e-7*X(k0a8 zu(%V<1r{Y%)onnXCSm15rZQR6gIGe+UZ(LdOU#vDz}30+DM|+P*W#6`;93Q{#1bgd z#dTo3QxX3>gf*AINW@&yW9MhYaU_ECXfuM)SG;1}1G z`0<$2dHTSKk{xeu%9=#QD2`$LfloYqr4FD=K~OBVQDws}=e7AbvGI4g+k)whdBR?PE~Lq?Y( zVwZ2B(GQb1u4eFeMwv77AoCa7!mv1Jj9f2bO<%EoL^UbkBdl8Wp&hSZ(p8dU$gdx? zI^)&&eWgnzzBbbbD(-vb<>$WVsh7K8kU7k`rI`%d^hbW$X~Hzr3r&OSMl1vFaMuq{h4M zJW_q0*xt??59#aqQ;B392NwW9+iFeX&x+S8K~&}6tc#bI>f+`zDi{9+iEz@1`dSeR z1(K3IE?B0}3CU%^UR%UKl1*Qtbq7@|>+9-7Rx$(1l->TP#~jog&jRw3iE=XSkktlEOF4Fc6Mwjn%A=3QuARYJ2n_*=FD|jsu8Ol zw=boH7qvrai{9L7Zc+ujb5z+lodzYya z^%^qPTYVc~b%^Rs%U)Ln0|IJR7tiF7ho}CIT7!^%4tLesLs)f!Td^I5AU9=llz>N- zB+yjt14R8GrbAQhPwHhI?LoVD&6M?s<-yd!EAzxaSYN z5-xb*JuY~1iroMOI z-Gwg!EsJn3r^s=eS;`)$WN^1N5pT1H`IVWnt*`60ds^D~^%8sQR(oi|9-oNWp`no& ztQ>jWVaNI-dt(Q~A$t?1P&+&9=Hokhw%CKX;3*F(`wO@*8DlbBiMz>eI}Xw7WVFHI zy}ONsgKia5K6$sUapPDh8tva3vSWIZpZ6~(@M(f9?irs;9KqKKvQCQ~%j0`6BwE%2 z3Ys+)Tw^tBkMo*vtc$p)c!wI-3PQ(as&hl zYa0*-8{Cq+zK{V!Ft5UHVM*bB-vlnDcKUo+eBcta6Qw6Q)g`dW7u^Sj^QBT|8bz8+ z=QFsxTW&S2&RU|l6dA6Rx=HEpTW+$Or}3FfjLCBs7a&~!>T-NBMiHOO#;1gNz?sEj zlCEcz?r>xxZ1>|1*<)d+2%$zn4mtd)fs;#Szyzro5-6HX#u<^d(%u9n>d15-+QZ+c5JN@vR^4xkq2((p~uD=823<4Z%6 zxIb`gc+f|X>nx0kkIE-is%e%W6O}Ti$>KwqqP@w(uBn$0BlrkQaSqpSLscvnE~dtR zg2`jRV#?^UG*QdavjS2^cu32MtE$dy`*^a5Lfi{yOCC`uc55!5&CllT)~Qarb?*VY zb)v&=9fDl)YipYX93Kh|Ozu^1d~jkMcg=;gZERpL3h*G}4G-C^NlF0GzjT;|a7d8d znuTudYTIeIrtD3cM3el|{sYm$&W_#Fr6iTA5bZc+j%w zAb=8;vbIzznUrA3r>2u80KjBHTigOJRi^Q!yRtLa2Ms0-RqGtSYXYU(H`2MI$7J`_ zmldX(uRy!BlX;$A^4DgA+wZ@)Le~qmsNPBfE7L3y zO2=+3q^9|Ov%V7c$Qp*e8dcB=HP8z3NVPOR1g+%neyPf?TvTsr(NMwPPgx>}r$$t# zE~-95%OMU?M<*sDgQ49mhYao(X|O{W2vmiCH~!Bhr>}A{ z%Z~rsJMb0Ww%YMOzR4Mk|F3c})J5lw{s&tJ@f9?TYiIFcR(y}NoZvvo?vT;=ZExR; z=&LQO!P;Vd0N}YB1{yZk#TYmS90)k@)5C%5-uJ5)f+yfWz=41R0S5vO1RMxB5O5&i zK)`{30|5sD4g?$sI1q3k;6T8EfCB*s0uBTm2sjXMAmBj2fq(-62LcWR9QbMGfMvaK z&AFfE3&s`BWwAc=l2m_uhHd4DMAc<2FehTZL{N>^n4+Pgdp}el3XCUPhfVzhYWCR7_+O z`9otTY}cQbQZeaXk>dg_Nk2vIT{Z6Ij&k?T@A&8>(8wPYY_eo7VWoN&sjgVp5UD>M`+(@<*bud9{3xQv~RMG zH+;U~JIIm>e~0z&t0ChAm)+ir;KK z-tfO0*0}bq){6~$SA7=oR|`FNSu^~y|wD~>#bFvem&ruU~Y!l zV6D3DR-}H5wQBH9u)hK3HkhA-`x~uWkl)0Ab{i%%VZM)3cbL>$g}DKH z-m>t&3U2UNWu4(`brXC6G+DNI%I|91S_MD+H#MwknujMs`JVZvpZD2nz&+OdkAL*e zyE(}lJOKv+4!pD+xEbibi23^?sBc^=;`$KRgt!jGwI8ncaE*uSI$X=)`VH4?s4uwg z@BxJ5`T^HzxHiM}m~F5R!(chUTL0pOFRl9VKXF+~?EI!9)`Kwrui_)P_4u=&wQfUv zhT&=&@e^)_QR_<<)(EglhlK^Y!`u36ASX=C!ZkI*T$N)!2oo>Y(g?o+h6E7)IT+GR z_(mADUS(N#0+zKWytlw`U5;VcH@a1)i>zCp((YUhe7%Or!(*D}^?*Ax%vD9Teq~u( z0jsqt#UHf}rdAqd4G#V`%pE!{yku>UG`tChWkdMQFfBR^ia@XDSy)E_&vm+7iTtXj zjq5vHGi2O1!f-v2Fy~xX>+oEuJOM*@M3ZtSya`6F_kk|JJ2cJ>fZwg*TL9}dIqNRK zFX*&x0<6~lENe4h${2Cd$QmQw8(}`6-Cl<`g2;o0BY0jW4zTQB>H7cV(f<(Cf0Tm_ z6V!jT;{vP*o|l0GYW**-=l>7u^*_rB_W!VTy*m4UUWQ@}k_b3(SseJu_kZ$z_Q`Hy zr^|c{u4Z4|B4@Lg?rQDryBpu*F6EO)I$F~ASR;{mB~^$gvl(m|jOX$x$10VJ6?}#~ zUdJnuO2x}b6Wq$=%2qayk6G*JnF5`Rjo;$7q7#GrLNVKm6lc;-m518-XgrWCzS>%L zj+d=u(cw3VNnmvth1DWC9`z=z#lh=krH)%)UyiBP@v*nobM5Q%@=Z1@8%DTM2X$Xx zb=K+z$tFtWI6kin?q}v4i$C$QRY(-^sb&4m@HoF2F6_rX(xjD4CyMxpJK&?%Tq2XR zlK7Nvu2P6sa)L)uUSj$C%BHsbYrRO^3fz2*tO>0dS>x(wWSt~jZJ99NoF&&_E`42w$Ye2bTHa%`3r@ES9er$J|UZ zQO*jQyRn%&lcz=|gs*99u!zmu0)hAgL8w2qY$L--V>H5Kh2>W}qXC0o2QIrA=iKqi+d$7`&Ln!1h<$?4+KK8fN9 z;|a71k3@k7TBJm|Vk0*SN(z`!ztZ01@##!@GsDR&Z1EbaMp)mKlreo`P_b*$Kbp^^ z?B;kpnR1d@duw$oxTTr8e;XnjvtZm<3*+&IO?DK1W}#wC@y80T>}#z9_+w>I^fV&(du4w5 zHORS3^m}SoY zh`;arkJvBa{EwX1xr*n1B>iR1|0G!+OPv47;{4BQod4N_^FKI)wF>3tp8sjU`JbaW z|MMoC|Jma^{{vpF`k?RpPs`8l`5#o{sz>SZ!!`4Nhb`-t_2SipH~0S^=vgoO|BvG> z=YMWkFZ=%w{Kiq)|DT3C&;RWC$&IrA|LlhK^8PH`QRS>Pg%b@oVf9L#{|Wa0R~15F z2{`ZyaX{7oS19oy*?J@8e_zoe2oeuC@QQJO_1{d)1^a(rv0?}k4mj|N zaDaPPU+MjS!Tw*hSYV?pg8hHN{=b(~5xg4q|9(07VneY1AB!MC{TI;>_W!?p8X&m; z@1?*0@8v7aAf3-15B zv{DN~2OPLM9PsM@2D$&U@ReJ1{lEJ6|J{U>psN0F!gD>rK78bi=Sk!ZNRcc7&_SJ-49%aqf$oZ-Y*DAqMTu&%K+m(S*B^LFdlsNFi%X}9h@ zV7E?m*sVkMrm2zf&W=q2jt_+fCif~hJ~%NRofr*i+t|Qh6yR`Slg^&63MJFK`TG#mCx<;2@`V^+kQ<(OqWVXdQ?$~=Sg=;=!m&N?S zrI>%jDdwCkj=bTVla0flMGelTG8)2(xKbgX&q@g7B$b`jK8e)PM8O0rrJbz7lg~Oj z2%toztSyyFCM8(%sp+H%05Dn5mZ?%lT!XGqlq%Du6F7)A*9V~~0iWHP$t8;pzhaWe z_T?Zqh17JPTbf4VTi}Xvo=YUt;CkOk=Z+q`6^A10ghXj?A*Zc-gW< zi5|Ix(p1Hu>hDCQT&Up4Tqc*wA2T&9KUc^A=WI($%eqE4E6H_@sE0?4`?^N{v6e=h zQYBk9_0tVc@!D>;**LYAFE*F9Yy*sAl=#TXENrajTD7zqRnw|<&#PHK{;bnxiqBJC zsnW5loau|S|Ltv^-M;o8eS!9_j<)Wg{lCh^P#2wdN*TwIoov3~6!k%6dn#W%Qo`|O z$L4|NZT4`!IF~5f`mC@?bc>$JM3(4yLtN4z~AICA%a& z?2Ns{^wgD@!0~5^1Ez9#`afSNU*!xgtN+_Odoc!Fr2pHy0{wrLi=i&MC;#}ybD#X} z+rC@td5?9C^^*&0EgaW%A1(~g$b*YFe}eBP5;kwb!6y}ex;XG-kZYsdaCB4dRmE9< zDRZ2G<^|63)kE$PZ<=v~iLlx(_v6^dPE!Ve;!t8+A3DXC&3+8T^-7x&fBg5^%yB}r%W)NlwCImAKvlr%G7>1+S z2Y3`_3}zf=0wxS|A4~)$3d3-dc<+aqf;j+l5axcE2Vf4tJP5;Zua+lb?*O{=2dB&%Sa+xwSDHTW=atHWSIA0P z8RV5*xSR)Hwv=<$OqtpETxVViuuBHHq|nhI0B#W!03Pk35OyP z0-^rM;JpG2h7QCOFgh~6PeI{*dlfJl8HpVf@ZPb0At5w23>?Ga7TMo2F*FKfk^SMw z#D482;E1?KqazdJ;;bMQI))grw~r}w1VRTSOl&gTA09E_&=8@$Q@pc?(7pW;$?(0Q z(NP`j-qF32BNFW1(TRb#OQ_K)?K!e{ynmEVBV%EM!+=8FNO+(>Dk#SWOn|X)zwl`+ zJSHq13m*_N$D$hRSaf83c!Frh`{RS-QDGgxq0vF*I5Z&<$NN!c$|XFecrdPV93CBs zwM3$WjZs4PwhT^26u4i5xVI@JWptmAf8XekkaXXuE~xuPha(f?lJI?_m`r6V0w`A8 zHyS$_4oTYgjZPYgK~W)CWWUZvWItzO1xIB6&;Vj6@3E1nW?VDp`j3ElV4Fjo^%Rj1Rn|=7z``SLnBgj zF}y*Aia9zW?2V0ybt2NgSD_@4^ug_CPGWAlG6Pg}Q}rPh!GN7EcuB;_7z9(e7>kUJ zNc~WN$XYBSkrg_Hu`xP1us1ZWgnDuyI<_}rA$OAlM;lHqWi7r{ITJtFVZ?J^Q?0WG-bej zgA*+OSVRC8Sqv(6NF_EI5;+?f3pd7;yvL%FpD1or8yguHB?zbcq9N88K;RUsKy3fe zh$wCiQ2i-Ts%q@O-~=i=10EQRQ3u8jpm6y{kx|dMfOcc5ll>5-;c*6=9N#xSMg6J) z(mfd&#dHw~H;{4F>K)EXA!$IoqoFuhN!>dc4NZ)ydIB&ad7F&&M*#~`l{01#EkmOb ziOJZgPBaz`k&}~9%%paI|7d?C(ti*@1a(w7MMnBXf9)TD;%b2wZq(37ja^2 zn9>1AH*kQESLHMq9?_nIk%OWZ=^JJ906=L^0uxh`l7c9k+7V!T4=vF56D$>gdxt1F z0N|?W8krc3u?oO(bVzy*geKXN0~p(@gCYDB8yC2#_EG^-?FpJ-XfY*_?s~vWH3kA` zLL;J)luJbCF*2zsiw^cnO@nuI)VPfex^Aj*rY}^gB8U*x4;{l36FN81{TemeN2zA; zmWm<)1yZC!9#!P2QO&+7C~-PXOpV9ddkm!Vs(U_Dd_!#M86J#84LBS_heWw*4LTK8 zJs$ODC7udHL7GrXPfdmSR-SG_b}2{jO95mUAjL5NhGhU1&jcXT0FY~VX|}Cv)O-V=7`M*l+`2~9J{NK4 ztF+ywjW!OtomN&~bBrpl6fS^?$p|_HY+@s!nAX0Lk->Ypn1aF~s5;A$vElx~ei=wb zpzx&I3P7pi$i!p}0~m=RS~LThHiD{vYNJWfDEsMm+NeWzKax^rkMi;ozRdvA8 z$Wmj=V1lX+0~&-Btw)g6tdzu!ys1Q4df}Q^>pW%wbh)KqVHZG`Uw}2k1QLz`a#;qL zJd>AZn!v&}frM=a0&fHq#wm!LGmz`8cqh)nJPir=6ioI3()=T&7)S`c5xx{Q!$Y_j zCPMf$7YVs+gvI5f50=X4=j6J^4_XbY8X9CqLgw6V$3%*m3XnYpOE2kL*~E#JZ1J&v zhZBF+-yCbR&mH^luHJ^9`0U?>{XR|#YX2X>e#B?L?(W`(qdxmO*dOuP*TeoEpM4|j zzwEQW1@@2l?3-c#sL$RE`^S9tt+0RGXTJ~julelng8ez4{XMXM-)H|_*ze*5r_RrR zhke{l*XJ56ux1s2>za93k`s}|9djls+HNGcd-{Z62cu#M`dwup>VgHcNJ`4MQ z^VvTH`wKq%FT(z!&;DW9f8w+M3GDs0m;MFV^FI6Lw}GEN`$5>h?X!Od_M10)@n65E zx8Z|6`_IGv4?g=}!Txqm2pj&vKJK%R^!GM=#b^H{>^E}qScm^L*f;p>e+zrmXWu!{ z+weJ`eK+jC<+HyH_AmJC5!k=(vnOEx6Q4Z=`=9yjGqC@K&z^?;DWCnru>Zto|9#k7 zIq|LO|2pg)KKnDUAN1MZJlNatVW0gz*uUnpzZ3TF`s^jx|JG;!2<)pl$*$A8##_M=Rf9Q<{^MB}t2lIcJ2@K}{I7b@H|BVOpf3aZx zFPQ)16a^*%gZaN;{!dK=2J?TIHaAm&!Tet^|L2>}3+DfV`M+1w{NEbv{2d#8JGZt5 z^M7V5AQzm1`9G|{1@nJgdJOje1^fSk`M+TQAGa?A^M3=u{y*+c!Opp0{x6vS3-o^<;LlABeZl-MCp&`qUpaab%>M@Szrp-(F#j9O|H`({VE#9l|K$WY zPl5;gKZE_B!ThhBTn^@cgY(~J(`T^%)Ay~1VE#9l|HX`xI{zQc|Gv8Be;@igwej=T zk#IZ`8tp&G8y$EvlMP!4_tIQ%rr~&fdIRo+9n{yXFB#)j6QlNW2;RHdFwe?=V@VR1A%b2S-8Cr(thm`49C8XyF6HEsC-4cJasuD{DC!{BuDN;W z?NciVxOO^Ga>}JtOS%D<>iRHp!n6vRLaBbyzy$X{VuCWb|4}YV4DNqaHwNKiNOKz_ zFNrkQbrHt>L+aAT;Qq(p{>R|{$Kd|Q;QmLoi#53aF}VK`k`UbgI2_#n$PJ6Z{g3XY znYd_C-Nma?hW%?4fVEC%I3~s{twfM zE11>`=Ktg~D#7<(g73cs-+$roD){~jx6cLNe=%Qu!BKMkB^bPe@4p1!e_{2&$}2tw z5q$qeJ_`|i|0VeT3yzit-+#eJQ-bfm1mAygzo8R+|Al*T)PAzy`!B)wUxM$yc=h2@ zzyD&s|9s(sY>^wxmWH#bXf{9XpAIB?9`VLcF#i|K{{`QF=69Tf?>`6Me|A3u&0Uz> zU>JP=8GH!7{~Ub(S$#@9`2I7mi44B~9DM&d`2KV7{bzn3Ciwod`E;@SMwjf3fga zl71t;|D&Ea;&rXnuxBlgG8gmN?SpjZ8SOQ2U1wYeicaE)@xig{`3*yfa-w{q;MilC zQX-p~&CNNvGUL&pT+TN2CzDR8Wbe=9vx#yhpEI5~&3$&=NX`x?W*s|JEar>G=jY&a z(?~Y!%qFt-NUl^aR+9dhzX<;g{l#M9ggub2#oI|W!Tj)*G(nL$#lB`It6JsqLEyW_^(IHAr)qpb=m3>vQ;QV)R{yRAT9i0D$e!%o}aQ-_u|IL=hVzk~08 z%RzCRp%1?Q?cM+x-2WKd|A=vJaQ|Z)?hE+vz^m*2$LlalhgpbgIdSnZl#=%hwqlaQ zSer04!l@0*YFdREUwa-Cf4sbLH6{n~I>XoMCintqvTX5`-_^FY3V!%+YFO1Y4^M>h zJ@ZXJ@3Y+kcms@i8?WnI4w=*GEy>LfcXsXQ>DjqsXnWVr(7^Wg_QB!p1H)ZC+uPdu z``g;O2HQJA9gkSnHbm#ekeuN(bEGc<_!}65`2+C$djzUG&lSx71@nIp6wcBG^MCyq zBw!vM|4w4AF*-T0H`xCf?EmD*@xWjVgG9WCVuO4K`#*#IpTYi5?)#JpwqXBfEZF}U z?Eeh*e+K(Mp%5d%{?G7WI5KhIp#E4)coMUwm^O?J%VIvE5&3{Rp)utZ?Ef_LN5THj zVE<>Z|C6&Fw#Ndeg15x7%v#?dt66 z?Ct4p>$KY1J3D*YExYY1(@_^)rBqH7ZQCj)vWa}%5X$jl{>wytHGAE0X;0%Fjd!eF zYlOxg(?Vm@6`Lo8Nqf8x^E7v~wRLP^q)U4m8ygeZY@clsYHT!+=hl*JTsxagx?x(9 z_V&DMYivwrokXs$acyzV-ag~HxA=p+nhWM-qRsHN)c`L+x~%`btmAd-KQu#6uUG%u zdszRwI=h4V{}L3%B9!k5jSe@+K2+tk3acfY?>_gT)oZX#)p~ARxp!ev=Q^v|db9OL zye*4@7{l)Do@Pqjb z9L}u6=2`8}HJ!V+!hCi08k%pxPD6jDL9+&N*1UK18X6mR8spcR%}lpuQ`@uHBYnK3 zlyAWfUHWllifQj1pTw_PJ7QX->qeMOFnqW|Wy3HIpVz|N4#P0mxGrl>x8cp_4KQ5( zW&St9kT)xNNQeKq9u~!lAybcCzvu=gC8RkteTv_8z z|Mf7n&%<>1;OaFdZWD-Tg8jX4X5RO~*s$-$o47Z_zYX?2ZO`Go2lnmS{s7)#*hjVf zGk8A)yTLyTdjWQX@3&!}_t}SFe+>2l3W4eU2beQHf710h?7xXO>3a&s{@vAUSS~jr zr@w;tSzq}78}=t*Ctl+FeVB8wlV`O51m-;K|3%xS3{ej{wEZaFO|Tn!TVS_gf2a2E z#=8yn{{wH*Lp*z6{}T8_{QmRl`s_&FeQZMU`0QLh7iSNt z9FJS5Hc3{O9;;By({D=UDjcUpikZPoKyEhsFK%#iB$lSwoCt1~}`Z~MWe9x=&mzT{XlMaQxBVgx@J?`Uan>2zV~ z#B$AiC4bi}3e_Mk)JvFl%L{yiuowBJVgx;}fsn4|8_IAE-%v`|^9_aC#5a`F&3r?F-O4u< z*PHl;61Dk8g?tO&P+-k`L!oWs`{z*a_=Xbh;@h^Y$y5L1T3q@f4 z_7fMnzYK~l-1&R>1y$CCJINW=AnTcP+$3-(Ih3Z~Gf#@0oJy0$&zu!IIhLkMedcko zlXGdC_A_E92h+{8KPGl^GTlb|yx7Un^bXn!Vkc+QduV@1?BsCzUfRQAC#Tb4+V_Z^ z98Vvhy-n=oeEK2UZLzZi(#+5^O=4$BqzklLVrPk@kJEnsCvdovC6k_~{hZiYLg^3D z{-oGhQt8KNKPz^YSo&kMKQ4BbT>1>{XT;7DOn;X4$HdN(Og~Qhyx3Wy=`Yh>5IajY zeU|oz#Lf~(dlT&KfB%kC-#z*C z`EV?fJ_B8te(D3O*W9;1{l1T{UbFCh1bF_`4TeRfHMw zH$bM-Z$T5MkWBnokTCRPkA9Kre{p<9z4ftghS;cB-weIT7t%TT$cxv!d)2e$Z-!o= z%VQ@Wd12Liww?~HncrcRH_5xDvg+AePmjIu=;V3Wf5H0D>KiYF);t<|;ez$-lcz&; z{|5H_=&;v_-+5#(yzm;8xl?CPef@Ok`LCT@)9~b}(DRRmUPR0focbZ$PM!Vs6OVzH zlmqKQ@V5p=K2JWf#;RN|0iG#=O{abcmuuGl(#H{lY&eI~ywJ_|e&HB)^?;dlwSLug zO?a+*JlB1m>lx3r+jBkVx!!JESEuLiYp~Mx85j9#<+U(`Ds<{Ba(%dA!9sDI4qbop z>}uFAw22*LfemLrJx?j2-}TDxX%%1m9)llT#d{6neb)60y?}DD$~`BaTMdR^C?L!W zr}s2nXag_93lACcuD?)uaiQZ!N*I{hF9PGUxA}2CuSG@qfs?D>{U%9}B8fC(ZklI5 z{Sm|#zN<1~Ss;J6E5PA{vV^!Wvj?a5c`TjpEp{AaB_P)nXPreA@I5n_Zfa^~U ztP!B;)WG!u+A&hLYf?r6HU*}3s0)#z(YSh zXFYo2etPa*jvhtE?`wpLj3$!t36~5)nhaAut+UVGjCgdkK<~5v_0$imc-)LCN@akeK5QLsIJ|11-LU)9??ckceHGl_ z;JSZ^?z`!Gp?t&1-LzgPU;FGGtlz8)pLE4_@}G1KxgH1(Fq=rG>9F-^=&A6+$5ggw zz8QLI6(X`gLMlAP^Hk_N>%Vj@<(6s8UgwnT1?!lzA`8&zmS~4qvNN_=0jeb=IVC z)(ak0e$_nxB&*)3(D_fY!kh{{=Q00_CS@qDlaD-qp|VLh`YD&A*Jyl{^=H0`f`fkY z@pMSVcX@iDn@KGE{r{GHdVJM&KfG{_o1o^a;Y8*6h1VEA z_q7+++<5`1E4axA->TsB9*^b;NgV|Ph4K7CyQ1aGQd`%EY`S{+eD8;nOTk=+H_a-3EpPrr#j3-b?|EEPGUwyXv&QdocyrF9xl>X%yxHK(!Lv2I ziJpA!Eoe}m1J^C3rb6dY|Ib^M>z?6E3iQnRPf~}TzW?TiCsciMOx|`rvHnqZZcc~J zLr;K#0zmd&kaB$i<@!9z@_Apm0(Q$4uv@O5c4hI{|02KblaD-Sm2ZGhfPmAlJJs~; z^=xa;pSDDWf)H5HhAixm;8eZh(6sPY*8!5Xa8S`I*bw45>Z^0lHlF&S&g{9

    wD+ z&#Z;uJO&J?HQ%2qLdL9eSFq z_|CJhMP1Q~|2wBc-#Hapc;*d?7YnBl2Gk?i!ZX*>P4tcKLrUMVxmI-8uMydCFdQR4 zPw%<@)Ynda_x971=rPdtwS{YsoL#;C)7Lkx|JP^VcXs{z<{@R`1p#_N05Ivr!&dq` z7{R6Ypi2Zt=H|bv+^BkLofr@qdl54B0%Yt3pNs)^Wel*9G3zs~jNSB)nvc(0>)+3= z>80X&$iwx`f4C%h{g4Fr$?GxKf%5t}p{%J&UKf1wx_}a)Z2nuy=3xt}&tp;3!ow=I zug&o2yxmO)P2#7Ng=M^bzL(VU3*BqkeF}mVuAMa5c zo+j_#fbM54@2_9DppXmiFIhIvcv(6oG*Ne>oc>u6=qo3`f_e=7+^Rmnj!&|uVaib~ zi;D3aiV@wjCd2sW*>U<-cp+|>gHh4*VLF*QXn&1mCw-W&eqV$gn&BkW$O-8)TfgoW z?eB_r(=+cv8q#kAU;k*qQLgNLEv)}i=)WLq;e|GxGjzSye+fS5uB^FGdF}!f)tu3x zP}L_NIR`2ETM)a@ftHpy&O^mqsO*(0`y8tO0;>OlulfUat3O~<{r7le-mG%*%%2+` z0H36M#3)SkN-hEQ84vYW{y$+5Yv$8wVH^bOX~O_C>nZ7a{f5i34@rckXGg&=FBV!Q zs=UwpBHmRKaY98@a`LCjLOD5iD%@nc^5>|J&#}FF5G8^-ajr@q)3!)H-Xhf;UaL`D z5(E19IlnAu;>I;`ep%S#W$X)oFLmpgKLeAIw|XM?oT3_ir*BDLorV7~6-{-V{s`g% z!GO5@w$7mHsY8U;uy0Knbs4QBRK>TY8eX!D%zNaYe@+VW*;|zyqb}w&Wtzui4VuPt z&wL!JxN7_}_1@>$WmtFy4B~Jaa*cYhX5j~lVGDl=J)=A6=XA&PX_4lqAjSZKR2TZfAJqbf9hMO-v1VW zr(QVqeonG|lEWNI!M9dF`hJEv^>uMNdG7Z0pI?2Wt3-U>R0YOchPI)n&}V##W5$P0 zhn~_>J$u#$z4n0{X zO}e=#VQJDR2@1+5iSo&3zw(%>Lmz%t1Qyw6fA^ZuceY@n=kb$|JZ_zM%{N1w^n(z8 zkuQXQH1s%R52{mG7EW{hY~hdoPGp9h=QvC2NBgsGW&igQpy`*n$4lzuElB>ZW>cq^0xA|^ErDaU$iT!LTfo$ zu=SD|ZbB=yc&O@9xYi{_u!EvRDplldYUR9LbW$0t!Ik|8;qFIi;*%i3Ae7}QbJMup zYXvCQ>O4zaEVzMYWN&dsY#q+doQa;mnD^~n}g-k*BH2@X_M|MRDx;c@k#e(#`mONPM+6 zEP1a&K+(H1)nfkp?o8G2)iBt@zhwDn#NOG`an;L)$~lhl_4zsDbB0W00fqb40wN+>QAlszLC z?rpSj(_opBW8_lwN&d7P)NpP&a!s{z-}UfA#H9SWVdG+@?ZwymFFJ?OB2lDs z&M~Q2K8^^+YH~N)%_JE2F>a~XL@dIuc8lO%$(5n6SEt;}1Mu*B^27XJiToJ;*^=Gm zg=o3-7wO206^1`!8usuPD>>0L=!-}ng&Sg6o$ua$PmLV<%fXB9@kedmSs5|);#0q< zV!SvGFMeJ568)hX8T3pP!>^)ztpL5BS#|htoE}Hl*TA)J3?St(?p$m3KlG&Cyt(Jm z_+R(I)oX5n*$mSIGYqpIW(MXc%m-jT3iInQzXS6Pn7@GepD;g!xeoikZh_eh(*rXM zvma&#<|xbuU_J`->oC6q^9`84fMNQik^?Gi|FO8O0^5u%?yZXd~!ebZ)y1Z4>VY#8fMsOAAG_G z`|&IVKdQq&h4(jL<}I$rs>jgtSK@Aq;|~PhC@_U|UUq9@@2h79odW-cz+D2L6}VgArv&a1_y+>-5O^&r$h<`~cL_WoFn51i z)&YU<5jZFC+XQ}}z#^5w-WnG8EduWq zc$dJGYRifVJR)#L;BkTfSm65v{+_@Qfw^yR-iiwRW`Sb@?-Y1a;7NfY7 z1%5!_UlsTr0)I(hN8tZQ;IzQs6F4hy1NJG-TkjP3Hi20aEvsALiojukj|w~|@CkuG zB=Ely_}2t}MBx7{@Vvl(A@E6oe<1Mt1YQRPH*bAV;LQU6g1~zKv%dV{M;ffMhKHfZ zJ|STwi2N8?{ZpU&ZBUl;mXgW+0;})`p>*eE7rupEQiPQT`ntfXtp8bHRi?Kn{b)itV2SE(<({y`A%x;#E%I_lo-u1^$4*UC7(KXgsmj z)d{A~-iW-8O8DEM*`Nmm-XSpUh9}41P9F041r1MQzo)^Ye7x|V@P((J!Sijwzt04B z-Th%k(csL>u6@h;C4m+H{|vC9;d>hH{+iNbU)LB(r-2Qf^dg+8_4&ReRi-zIQE!XFcOTHr4T ztkONS!AtjAG{*DF+4_+WF5XJ_-_kxFpXu-^?fOv((=E2OZ(#Udfj0`Qbl^^bcZz#d z;65GO!!rkWTTWCcuM}Qvi>(Z9gl|b&t(8)-wNy;DPFFJ7RBLxxd`wa|PZY-vTt{zH)Qhw)QQ%i}KpFy`#OWw`)gd zPuGrJF4()vN~RM<3EH88c5Kz^6lKRB%(^LgkdyBGbT!xiqZvy z{s*?sUiZ<-EQ;K%B6qJOauuOHTXyd$^>poGwtEm82e#@wyKsuD&ZDUjgo{Y(^Av(cUA}?Eo)3J9>L|?BcH*bWyrHeQ|ao-CaH1-JRXQtk~@q zV0#+_?hxF7cWrO)*r7_&Md^iwV7Ou1iL|2|DDg#ygcckv4)E)Oua(MI@CgPbQ(6|_ zwS!*5Ex*4mc=)$>FaX6e>l}BP(2l|_?ZAv=wohbpTidqIj$N6##H_Y=cF@6#=pzfo zD*}z8mBbBhfBGmW34=lct9=A4q7=m;AyE_^lFfLW6%J$m_|XIoO<-6lwFpJ96{L26 z!|G+Vw6tb&$!sO%@Ca6Nd+Eg7bUs^ZNncXcmD(-!TAko(#RS7lW)@h0zjUIMatfu^ z*<7VHz895yu~#LRInHoLK?DwfwN7WsrB;5xgoOA=oWblbrX^}z5wSIiiEZsXmnkKQ z%yknbgxs}4xq!auRw|(Fn5j=E%9`GemYqE=BXHsb*pPAw$7SMV-3}@saI9+!PMlQY zTKu}SYkRwLmMVhKUE3gZ2)$D|t2)!Q4dUjZU=d1C2pL?vRnT`<5-CZr3odl;rMu4+ zVguJ6x&rME9TtKDSJV|!=W~Zx&|S!bb9;{t4>5rI4insUXU&6$(2ek&9XdQP2qF`~ z^H3QTwje@Jmx-YADs++{&qHNbWh;SY6BB{i1wWC$t$0hslylVhGJ|A^ z;X0dfU70!Un#tug29fwKRep0=sW8sWm=2tS=p8Zc%$Ii0&&(KCl`Baw>vLwFG|dH< zjt*6T!uygdNDvKGgyLSzX66iTl||tson4M~s9Z|kJ>(oJ{;$Q9!Qmpmy%S;eW}(@NvlLF9h=UYGU`&oD(;xbO}g$%SUq=_JzYv#g>KSi zgs)4LtGFL=PH39Ce7VdNl5wwSyHwFiH32=o!tGLpD`~?gnJXJ)zPu|Bw}87;0gK4b zl&WK?VivX-FE?JdDr^yqnG)`a@KWnmVy)vTFE5^wZ6#2-yys3X=t>6R_S}_tcL=s} zyo9yXgyCGb;)LY4j5B&weu@`5opPbGc5`(o>*O?-x?M4V&X<;;oJRASD!FY) zK{==fLR)<8glTH(wkM@z8ePgXgi@e*A%WwIeX-_t>0Xw)T=!xIizww2{ze^DK&KX; zNtDVIH^kh@27omU$1%&55+ii7&Y;nUTOpH^aH=MmzJQA-<&=`_vF?=CVkeu2t+0UG z$4k|LfS%vl>I3D5h(sCeEC~rHf>LJ>&t>9!RcTV<_$k-9D&(`7q{)(^#rOyt6cNl~Ck{3;c+d=m?zu)R@|LO20_h zraZ-C=ay|99XfqvBPkV2#N8O{qq$+cBhN+TaFP>2(2&@zm z>W?9Cu2Oc6YYN+09T5n{U+MtLIjr-PoZ?X@Rb7g6=r~m{8uCjML+6j>oMIL2bUlLQ zZ5`B<+nhi1EI85ZRV4ZH+0I%IvM61oiWK{h)?^mnH&a?3F;ul@?KZfJ$FzEu8iOJ! zp#u>w9`h3<4UIUm!aGH&OeiHIkO+MY0_kSe6j7Y2^I0QIs-o$B5~}qvcDE(Z?d?>!qGhdP=vEp>)vlw0`GyJ- zON}0m;il;6QmfBpsdhqUCS>qo0z>qtMW?E?I)#AtPU>tHqrXn-GDNSd0yT&*V0;Cc z1u9tEsa$jrxJ*k3aK-e@(CO-Ar^|%e1;t9;ik4?@d*1wfh`~2KqXD*0Io7U#DvijfGpDC+ zIvSstjM25*bsZTU4ejk8)uDSl_i=oKEj${Eg|t_%=cS_zg`$Izk#KAx(znC&9FK(} z<3K3eT>5ry+hytOq43@8jYQ+4{n3~&OCx*7Cn6ygD~i0a`z-v4&!7=6lRuCQzEA*L z`9`gn5xwq)TIiz1B> z3AQ3D7NdPx^r> zs-cCxAjNIhBrTRbdOt?N;=873=NS+zQndDN+2(3lBTcwiqoBzI3rpRo$)z-=H{xme zOr~Jqh)^(aOo)D^7DP;s;k&Hy{4_U)^cmHGfiW-RP!WZ@qK-^&QFI*}U>O;jW`Y|k z;wl>YZarQu%K0j1w@GFtVCJB*++Lzv!t?+Rw;}ek&EG$q!^~DrJ}!$(Nb+-%OYtHVX;^Xd_e{ zhD(nf`&OqbGm06a3cy%tnMH1tFBo6~=msGkpUEa>Yx_r;+)?au=ucr`+`bGRS#)B+~TQf4p=s5547k@B*-c1RZXsWEsPRRP6)8E#5aR6 z52$5eQ5Aem<#tR^&=o=iL2Q#L3Z-L>hSge-vjnOFaDcrx zo?%0!n^J17P7WU`U1+A0n$ZwH-5JH4EVhZVW7J9ATdE(*BT*64v17-sU93{wy730* z^$c4lM`oOuH&?hIQerrgW~+g_Q$b0hes}T!Rp4n_zLqVCtK~_mUaoSeJAJ&V)?m&6>NF9_Sx3n z($?4ln8v$YRBw#z6(kk8V6|W~w$su-FtWXzn6+Bci4tbYQzvqWsNUtG z)q*Ma7JT5k1hr6QiNmkxWEoxog>2bsp%%7U1Y{d;wcyIA4E*yHaUhjnC#|l1vRabm ze6a*)^_tBi0`Mi~GD(m1j9k&LxVwU1oHCHTO{?&hJM8er zGOGKS#c8ezW4nW#K9IZS;9C_YHSlq~O}H}% zcLw21S`1>~&-lXe$joOD&L{$ZxX=5-{U*Zw<`Uulqc0ry*?ke=K14+NVY)P5f?-)O zAKYWeI~KnMm~y~}VMxbW80Ld!H4dBGcLDG{bm#L87=|Z4-qXWy=O_UBvGw~8@iuYj z#BiTM#WJ$Mbgzf`6Byz$&mVN)Tp9KRn8)DwD>xXKetWSkV#w!Uz`unb>#uoEk6G4n zW5L^m!&Z!{bg#j-r)TPfV|dDnc|H-fta&7W>&fKqMCOAsxE98rk2hhP(;E$w;b+nX zxagriqNBQ{6a0mqP$$SaOZH>_ z|LwgGTvW&TFMO6g;6WC5Rft3}t`Soc)DY1`T#1Xah>7STvMVuwL?J*B2%O`eRLqhC zDa&yqZPPZrP1{(KHvMz^%Wc!dwl)E=fW{{NYh$9fF|EJkkTnU31~8&~zt5bru&7D% zxwr4nD%I+% z=C26`s+Ssk16f0VMz;HO2n4@_wNZ03hU`Nj7b7=$7@5J;iwyr6+3lO5@YE6I%yXXv zh(l~Y3qv!pdpd(~7+L_D#n2z&qxuj11;Z!Nei-&=;%Mh!sm>1rZv0FG9ORb)H%6`o zToK}rYRCn{Q+f{r4)WiCn%e-lMUS8ScLS!&$cQrr+_(7@;fMG?3;0L~{2zd;L(=;b z;9z+gu;cf7`Prb?50U^RCxS4g|1RL?hvFO0QF<*pKKWC6!}OcEj{pbvVN?DujqtZz zw>*ONmC}z4X_!HNp9$f24E#Ny$BKA~-%|mT{|^8YJ+}hh(X8!*CO8FfQwV$y;3okq zu*shepj&tG!V`M<3cxP_Zq(tg177Ikg?n|_2e<(+-Ihk-TVW48!3$G#cpvPTmSOm> zfRnz7`&%J82>%>lx;%t#5ux(@9B{?Ad0{t13Hgr$9-Yq*`o{wv{4OtiL-$W25rjSE zBsr)xrU4GNzwu~)_W-8b?CRlnGt5JPt$?YX5?b+cJ-RVl`C@A;`&@|*OiE6;XB~7sjBe7imC^oBVluz!XjxKTpgK(8EewA z9ED3A%U7&IAWB|a`QtPN8ZN8WZo*~Dfh=L&A191yVXTU2e-PKQkhDY7V^b+TJ%;00 zm5!8jVuOH2h6V)>;Se7*nm2MqwHwRID7CU`jR@`RC0&}!v7>H=caV9qN?g4sk$)4MLSB%wwGZEUyHjI45uTyEF$fkmF^St zpa`z=pc9uAbtT>MtEX3s3yQI>2L)M4aSaL%tlWwYyFC3Uz@_2vczFY;dT%c4c#@3mt|Nt3q992f)9`l6K2-XrSS1n?qe`b4)0#-MFmX z-aNv+5Hoz;Q@@TGbuILQ=1^?XALz){?6T@mPdbks3e$DfW%>oyBiu*aWj*Xe_dAcc zQhL}ciCrii3e(-vp>Sa_(`^(kU%7fI)_YcGWaK#37OqWOy3&E>j%%bxB3Eu=w_Arg zQrXsqI%pSOhq^%VNSAVlI*nA^u^YKZcr&q~vrKDVBfUpl1y0g&^zXj_2ZEw~=>3nm z#oLPi&G};Q|I8ox?oaR?prkvPra1Wi$6fQ1@J`4bSk=IT6G{JOI<6bt|K;!hWZl=o z(XbIiA?OM@Zm-THyKaA()eX;a)BZ4ydol7a)At%y{$={w(z04>bxqZS*z9KASX4=O zcsx*S#nEFc?gdF-onxi_uydoM$0q0zZ?!xfmi+Li*+Fxv@?!Qpz%Ohb%uZ$Q=d-I} zXIH+PeJAWwl>^xV>@{T@ODRl{KBoichzv&VPnRAJ9>wHv4Vod!0FBlLU^z9+9vaw^ zDxsQSyY>y3@=t$3n<=>n4}ZiThR9(2=qE{F{ENksRh>U-UPZDbI0k zijMUVK^t@%R`AaX*SR&U*Wu{w8p}K3BJR*XI~bxV-Z3wq4<8SVRkvXU|Lho62fs({ zQ4Wl9V3Y%+92n)mCd(>T)j7E?xB5vKUKMCaSPWR% zl|WZ;IJ4DwOn%jV%!-v*yT{J$S&W}GN_X|qD!(8aJKH63$|`4 zRvxg|S`@d*yEY_rFoflcLoBy=(?dcit7B}h)rBcYnC{cRr-y@xp`aUWV-SE3e>2R@EX_5~* zlaDp8O_<#LMsizrb9%zGHO|r}hfS4 zA?R(*ZzdmH)4Vd_c4u~}b106tqKGlGk;$Yr>QBKIFmt|B-G{|t;#Va-NPxfkb1jGz zew?#3EQ~VUi%jFGwHr%4LrnIuxCA_X^E`H~B)8Qcpg2v@py2+SZ*90KnmaPbg0i$HD&ypcfm>e!1zbcDlAJ}_T>pX2aElsW~( z^Uu8cbH$z9E)qdUCL3nlH}Ww z5YyfhcK$i#ko>Ok{Ih6fF;1;K3tOqJ7x>33_X^o+0+K{?Wp2pk&hbi)WsQ0f6p$;` z;Pu3TmRy%2CYapGfj>cJfK|=o8V-sU&&9c7RMSe{V$YBVj5|K)Ovl4<%@K>|N`?&Z z-r`jM12MI~FCa4GK$g^{bQKmLww9JatO~l5+ZeL}yYLR#6Tnq^f!f%Iia9XEviG3d zLZ0RBKtTsGBA{}bP%ACo44(2;&Use}UNp%Ji~3XSR`O=VXtD$`dB=GdkXT7>D+s1U zrQ3pg&SPB4f+L_odzA}~gQ?>Je*=uikXosk1^%W)lif4Tg+lWmhoZ^UeF^qLga0R)>dL;PAfNJ6z@oNHAC*;%> zh&`-j#IC&N9w{+y2uh48kQlRu$oLr(4eq}L6}2O+v9tpO!mV~`$9n!s_FdI>D2Mi3BrH7-)>*Mk|g-{1}#e27yjJ+Kcd3TqdP}S9S`)2RHUTg)s^$ zoHY=8fGV8Y_+ed=(&7H%u4nJ#LDv5S5mUB4l)iRNy_p=WH`7pBn-HYu=ahVgrJTzx zr9{y@yR}L;p>)S9XI z4ONs25VC0FjRC1jc`bKjEgwPcQ$s=85k%RMkaTs~>Geyi-66H?JFIaAYuN_9maS7V z@Yas|s$AdxxDh&Ziy9yPPz88R zq~Tdp8n&V`s2E;QWhg=|Nj?Sv5aV5&5C_2+2Rq)0AB=IS=a@(1$c^aQ&QpyATb1ReHBNOS5UCK3lj~}eQphV+L-m-&A5xEd8~ecM z^dWj?YxMMdmsoQwhl&kFLsJJ1-&T_U@sR&0NSIlg{Lh6LMGGgvuT=;V|C3SraS;FI zoQq{2nQGHoZK+%MrhH$=-b;5B&fk4Cm>M9F0Sz6Todg z#mP(IDVc&ODB!o$J3KUE?E~YLYx`e}Q^5SI`rkNju*&=zY(|Csf2aRFJjAZAF*5!| z{~MS&fbz^$&bi$5KG3RgV!h8{aq15S(c9(lPzGG;tMEfHX+z09&%B6EyF8|`tw0*H zmjl=R5w^~{F-m7E`IKV-U2o>Nyw<0mMeT0OlctyRF7E>JQ%gs92<4O2Cs5*f$p`m3 z!9yjMf_VAya+_6d=Tna;c5cT9$;W=bfjsvspSBN#%kNE7_(o4F9Qa<03q>A9XOtrY za=UeD{lzw5?l@79(MIH!~CX~o^uXAFQTz4AelpEIh$0WD;jTjfX+&<~ds}#j^_$zFsSPGnY@Me&H zKBu1n`st&ePwA%@FPtKCN*0Fr@r?(?Ft6cYM~>^2YGmE*QXhwWQ3j~-Is;-toJ(B- z4r2s)QoYC|Pn^<$!C}Xqr&#IGyWFKQXfdS%e$>~&ol>4aj=)!0J+gGrTSJJmQsf_O*hFmDkziues~B(UAoABVmC8k0yyr=c zhMSe>7JRvU4-eXUYbGiYXr-V_{)o3NAe7n<3rej-R2&g?8x!~05 zXr7-yB^s}0a?O02e1_f}H!k-dGrx4#a{0;}WdLi z2e`+d*?Kd>iH8$4sT)$#69kd6%QJe(?eCCZT5cEcPuRJwQ7)CPH6^cjOz({4h61_M zEWg+5LSZi0fEE;ptpJY-v`~$GVuDM3foN}RbBSY}>KiN{1t{zwdNo5wJ1P&9S}=4k zO-i?OoA!Vx&bi4ulWh5%CCBCV7OR2SZNP?Z;)FN$2#QVHFId2;a}r_x2jfmji-wKkwOsNciku~r^jQtj~^r#^<` zA?h3`A@-a>EUjnpgO{gH!U`-nfnRkady))2?pdcg4|w!aqo723v(8||(}vmuCMzHq zPdg>RTTV40?l3W2oi`l`6N?|fM=1?9Fz-Tzph6i!iVh;B;v-MTqPnNCHL%5^Zn>Ei zgSfT+3N=#FaQLI@uaMSB+6Z9~2!9H6mh@+sOa^IQ|Y<#v|^+^#wHUW3`BL z;XQgZg}#hvi+HO`{a`F)WJ&Z#a!DK~-@?fy0++|;`=&lSFvd95ZeYNPNzTkL(1a#a zXG-pCp0>QkQ;P9CYM3vLTfQ849`L=V0v_JnBbt~3bIdPw z^rfd6JmQT$ylIWj8;o+Qj{>WC8pQT;gbDR1p#%t-S?-xXbiSP-ns#^?+v(jIp{1a*K-swnj2KO^$5tIN;l%?HL;-j^YU6ecs97_eei~5 z^tV7l4HA=;OddV+>^{e3L7ZfMl{=~;k4Q<+X3y`4o5iOo=kV=m1-J(<7ve?00cQ`X z7bKJC(t{FS{_7>G6o&;*naXW=3lkr`O6Gt!Yp-G-^g8xY3F|pxPwvGg?Y47@Gzjfa z{d*pS6=T?=$m4XRKPKU1YSU>@F)^?y2qAgDiM0neyECOi2U`G`{* zk3BkR2Sx+6{mLYx+Hv^ zMOAxQd#pN;)!W$iXaxC)HoSEH{WZ|-dmU}w+ym+pD6xQaKshOQBn6~43=BKc6zBgPB1{C}7(n`AsHNhKO4fiUB}t;Obu^IdfIAII@S=w{&5akp zBfJ{e*I^fL>FY9x5h#i|{+PZF?K9CI+1C*!M#0sJ;z2>8MxIHO&L&D1`Z`R~1YHQZ z%B|`o_{s})X4`dO4n-S?T9~CCk1aN2BZP?4_e$P zEM5$y@?p&#eV^9zq0eiac##byFql5r@yIP0bj-AK55c?)^ASuROd{N0fk6if{Xk#^ zzipf{zS$u(g#`@emoN$-!c=!WNX^4!0qtB0mxVxnM}W)kV8c_5(w)=MZ^yYX7>R?4 zQGW&53dt?s9T3N`tUUV9LX2p!f?-lR?sd5v+jic9v28p;Ske(Sc1r7s) z5)5{iLg@b)K|xhIsX=~E-$}kwelHz?xApqs=k5qodQ%oq8g*-4Z9rriJ#Bc(l*I2s zSxetL#@ED>Z?BE>Y(Vltpwk{cRxv}8*0;07&&plA7SoPD`Xdw;CnI_1;Z$ z$Oz9W-tISJ)khkOPr=XQ*RxE%WZdxsyvPe?1Y&m}5}HxS2huSmq_Ljc{2!<=@|82n z-?v7OmRjsc?w@}L4ubd}@H?cpf`sq>_p3MvU_FML{sEV}+?X6FNMY0do#}gMVz2NofOEI^;bB}c+NqwP zFav=+(SQk6%#KM6Coum7bu(UYXF#5u@B)`%V{z=*N0A4oDpI6N{U+)K#-=WH20n66imfS1_fGjes?NB%g9a;i`0Fjm~p1OuDP&=Ym1JL&*@7yAzSi zowvB16!xr^AzPO;4(QK&#Bm9iy%{F|76b`zug*@}&&(u2#@df2kS2=H1`JFB`Ed^Zzuz1q&&X zrLV&%MaY4$orVncR}hg(hwt7%S=(l`#P*9}%HO=wfbpm|zt^~5$&L4!@VYTxKtAg; zbw6})u`w%-exscjDy)|4tOjr0xxxb9uJNAw+#TL5LA1g#AX(+qwZP!SNj}GEr}}#u zJ3w23vX3xEuY-@$&Qu?eo5(@7;t+h9hWd-t9=Dpbv8?%JKFyDH9xPzcB)a{gV1DUn zU%JcSDGiDw8mK#V_kquEl=tP;^W~FKw4@n<( zumh@-u`?W|gB^#pKgbta*R(`+K4X5()#9n1cunzv2Ue;?|*apju+CeL`sQBb$W_FL2f^zdjng?*!RK#gaA?m zA#LXoqoC}V$a~o*k59pvKj7UifEeXcdw^dp2bOFxmM8zq~!WrtAz2SnsK{sE)y z*z~o-)Q@M>>)t`?k4=Aa1ohcGi&9Wl@ZNj0Z(dm;c<&LE+yT5(%}J3dG;8)E6-<|X zri(#L`UaX8G2Fv@vjzOx?h&Mo%`3<7a=_Y@Wxmqhgzws!o;oupjr$|fsl0LA52i)l zI0X69Ur3LP^WVylEWXuen2&~)#{&+QP6MMma-jmII(og6z4uQX3<%~%R2yy&RXgf{ z-yt%iR{~N}TTnII-!&UEO@HJ(P>OJNC{lixyaiv3amiK5~wx>-egXJYAg)~TMntASfy8DS(WEK?PtQ2 zZiblH?OQqiT(&PWCfliQhvGLHe7+D7Ii`Q2W$3skigsPc8=hu}812d!x zq^0v^rbqovkuFG+ly5cwKj0XIC$#v=l^H2fZ;Cw%+U23-fF@jmf+g#MvJ&yWE=B9f zlv|NVVdKFa;YZ(H?(bKCu=XOaj7^06`2@13{R+QIzOrN|8h(MT-`o&w0BKqyDMACO zOB`wg5CXm(3;F)z-u!bj?r%!>!dx*+sOnHrotqxzzaz9=FkIg*Rzv%bPrvbs8Ns9| z9r<1!RRrPCfFI%Ix&e-)5?b~n0tAw_XMrf)@d@uUed2utt^S%Oys3F*1TSAf6OO98 z^-8;^E{bb{ixkD0qVoFjk0WhEpP)T*M^n20_7KEq->P7-Y3ly|Im<@iC648bP#8jt!`8OUkgAj(G>*Lcvk-Qc}jnrxd&RbHBaxNNL> zOJnrD1}QNxpQi6HN|kR%%4vrO8<$Nh;C7FUQ3q#;1S!@_|Nii6a4JAU2A0y03 z@+u(!Rp(AV5Kc`Sdj~MQSFpiE8&pvL=2jlIC}~3Ssm3VwQ=xJKDOfp7pqvYj{YcHj$DLlbyQ&>FWylrPDHjU{SZA-YfM`KJx_H3O{s zJU;#YmZ8r7M%H~^gYh(zC&A7?k5^U;h|)_Ryz(eDG9}BB___f-ecd2ue&QG4iBgAt z-b6jQZ{;0>LxX|*3%+=C@fKx03!iWC<_TU1+dSTTuYg}$o*>;n)SXV$yVL2Ox{23x zr@r)-bdAez_|e}2;o7dWfl&@g672OXY;ZN`OP_}(u8Wu0F4BSqLK0~4eCOWd4NN< z)q;d6l(qIIP58Zj-0u@3Ao&>Q$4RqjM0KNoIwXb8c^@PXysu$pG$Fl(``mpYo+} z$s}(O(8|{JP>&&BGMF3sh?&t=4Cpa+K~?gyZ)k31%r+XknXd;6X-aGZevL<6wnKHX zzWFN>kNW2S&H^V|GU+tkBlSaZvS1e+QlYtRlT2OV1jvZMU!B?#;#5yg`Kg$=4q;JO z>AxoxGG)k#3fX^GsxQRpF>*>s-5uieI5~|^{T4Zm)l#H6Uw{#U+52&*Vu*~q0>406 z$3CPy8s$)aA;tWWw8|g*G=%B;{0^EeDA7$oPl*-q>)K1dBIOo&rEj^-Wb3TuQ!LVF zKGTWjsgZ2wy$fgs56YxSb?aFulay47Vc|3}CD*OylXgPQb9k1d ziZ|z~C;kETe@C7-f}v*;x;t>E+I0ismpl190Zq=WeZMua*UN#uE_Qgq&%3Jbcz zn?NZl0=J&^7TF`IzZ2BIk^tON9yqR?Kvc%cWgF-?5DNzu_C&AA@?!-v}niK+pwm#F#)+`GPT4~Wz zn;R=xahQMSxa8?*_7+-t>ta-+AhBCe@ZJUO6=q+ag*Qv-%}#^e^ZCuvGV>FfRF&XW{)4Z%0o}B+W+uBh7>^r7lj4_G~lU>~k6uB2}lta$#nuJ z&IRI)Az6&j_@nU#i~mCmG=ggZgS}@RG%_rgU|7J=Gl{@}Xq3N(0*rwiB9(1+_MTbK z*s;MY_Nr{s#YSyQTol5Gj5Z%#%oE&>jj?% zF*j3fesNx|y5}9O$w1vI&dABhrTrlZzzV#Hq0Kk|7WGr0Yk+tJ8AKk)Rb6AKYSPyEeut1NpVx^TxO>|N2)22jM zj)(}}Oq09=>vqzFQUeM_N&l^&+7UXi_P2t+W7F<%iVC!Y7^rwQDbWPiZ|5l?$)aFj zwZ@bJ)j>F;ts^JfjgKJ-w!&laLQpscyvqiaT9fj1fpSpfGi{M~?B+Sq;mY+rWC^U@&F2>& zhNw0%dD~)O<)}Z$wohzXy2rD1}yp;L7{d@LO z-u&?_C;nK9ygZPj(s>y9fRN9egN2fdQW2C}m9%)Lk`{-VwvL1x?xF1ysJdb_s?}|B z>Io?D4AS({K}4>iB5-?VqXA%PhV4BHkSo>rJd(uq=boiP$Q7_7>>27{EZ8&ECZwg( zs^*SQT*@cy?-_01B`OTqTdQb2x?mTYONNvH<1S>T;*L6vX7=qx^!li~!Z+O0=_rgKRO!#uh_rjOe7H_C7PM z{bIOc^3f7Zb9y^3pRwx-QP$4dsX>V`&4#pwHqqYCK#5*hM|KT=2wb_c(|APg4J7Z! z%>L(`!B8)%O4=ZB=QW%a6Ml}2aN>>KT-B$=ZupjXF+l%U#1bG5|uCD(lMx%CO)Ucc#e-qrwMfr2SW={WGSRE3D#G_4PmamXLSGwEJ z2*!4@EU*sA|1jd9ml$#Wmk1gGoO^%+))%torY%vqE_M5V z1_CZ+KwSYw(JIpuT7IzqBpmqu2}%amD#R$KT7D8TwnN5I%@@3OpndP7j?IYcS7qvGzP6nL~2b!lesZGiXI9R zTQsdAy4+@YJGhBW8J}nyZhi4=g%hGzF*c_s@y}!S)H{8adx7^WOG<*nv=2A4mWe70uoZ{1hKF@d|iq|kX8<}hjFXN0|bqWUWefC z@?~9cW6d7Ba7=;WL=g1_VX9p&unDC3+WrA8K1%k}_u} zzRC^vwbELjHKSy{j7YiDh`F3+ zgAvKik+3$HQRq^?bsVGW-zF*DWd|+T;fh5Egu$83L{V7Ov182Qlt+yj{*OI(FOpVe zxYSL+1`qQThGy&zq7S2rDL1TFGGc7uRJ|mVEu1QwxgiX`DXCOh%ngUZ zC-ckEe+Q6Vl9GCa9AAz;O(5*Ib^9dQ(p0#dz?Yl6{-%3T^~!eU_+x@@ZhVlVJKO2b zQO6-I^ULAQaKNAlDeS-(_Q!`e>GtEg-9WZ93qBrvxe4Vl-HR$YmiuEceJ8~f;_)vH zdLy-P@~8a(F>e3=bi3V+l!up()#CU%i({P0Yf zYopEJwnLH`C*{L?iPt}D$0~X|fm{o~r`!D>(}beVWWas^i_6^T1u?XEpKpnR zifVr^OnIEJ{gLdGb_6KL(La|R+YDykTKA%VY!EVbV|pDfEtKo9dqGfM;wga$<)wwNZLjaN$~|NJQ$Pr9 zJcv|Gjf{XX_+T3nvan@9Fkofak>HIcwo!f^voyKIzGrKhH#(A9DdYZJhDyxUQ0X_E zB#hA!f=a1uj}GVVza@M{D@$_x9|*AR-!U$6e;RZ0MpG=Bprl~|_=kP%M<7J6yRSVC zQ#I^s-*XO?BKZ`i^mqHPqa3^HU8UU!gW2-JYBu)dF~OZmey-93%==frABA7-Nlv^5E_=*o>5qpz28Wd_v zr`q@m>~y`<}spz(zWK+^UnnmzO!yE zs%6(7P~kbbhp#coXN<;f>V0gDoRrSNWneGXuY2S2}pIRZ1|Xfp<5%^8NK<%Z^r zFhtw5JdEUV7mNJxP~^T9!?+B~Aa{nzU13DRPlvEtwD>ZBv7CH%4f!DaY7ns)W3unjFSGuS#SF8v#?dzD(rKx&%y46-3$8y>cDPj1%1RtW3O=_ z$cX@DxEf{$Obf;B5DE$pcC=7#L%+40>n@;i1UJBnAg)imgRS!D{7)F>fAr<^&kZ8o z-dv;-=zj}beg>b2D_9;Ewem=$@)!Uuz#!xn0Y9@~oG{H9#u-POmK#?g;?=~tmqMZ? zx^(~HGWsY?{+MxpR|sZH2p*_M?)0+y$S8kIC2D@`KFqK~LLlyEk^Zk>UWC~Pa{%Tr z%n6wHVZdjcd*2-oI}Uan>=@XX{XK!JN_Jyf_Jj#GCSXqpum#vWY<^_9X#C+^c20na zgP9Ez)~&64W!PSU1FCE7>l@-Q6C(t*N` zCf%31FC0YHP9ru!K+uSF!7P$?ILOdY4i|{s^X3LR44Qmw@3s~@my#sb$ZbhWQ%k=| z`XQe~rRxgjLozX;nE=dkdvaUetM;G3sZKR`S%l|*`3vvV^j7qnkADmzJ#`;p!170Y z`LaH49^ZiT2fqejekm;gJ+N)R`5Uz6>uE~+2^8vf|3|}7p8ut9{u)Tx_V@T-_q`*Z$WM6f*oO;{!x0))6mpMo)`e7s z8$fSz+bcwNQ$zSU46*FC&YBC&j!!!q39>?mbr+6Y<(@acG!|R4ZS7m9VlUA?hMKn5 zia+HoNTBn-R9=I2;QTL^E^S^KXuuxw!u91ei~SsBuz<=%OPZ#mh}K2h5L^3EJcI*P ziRSAX^2Q8;0;zw&jGW;NUW-%8g@M-^-gCf{58RJ#*GEZ~DC7I~LyMyoy`}lda7qLf z5xMur_w5hEjWMj=TFDD>`~QhiFg!VXS{fMes(*#f6?q`7=0UYsAi%(@W|G2!RWd@Jy!pjU}T8u73dq~)LqaZKzUbwS)Gm4@~|=q2QZx-zy04D z50u^y*?OJvfM-2;o#5LBZyFB_0&Ho)&pwzlFkfjrK#`;07{b;2n5)JEgmwM#fF8aO z2rFUIVHU&8hnWqN022>`e&pXU9$=gZP=-A)yI`K7xc?s?4{!xYMH>&ikk9xPERWFf zfB-L)10lD>;d>#>2AE(!e$9A*Fu&S(fW;Y%XQAIt%m!!RdcPQ#pq z>4!nN{2Rstl$a8*;5QCt7R+LD36{(M$#{S*OkaSw#j^U+Qj-K0$0k6$(wd?8pt4{V zzDqecyXiinR>BmWrM)6^C_PPf>i`@Be`_6twTHf;V!0u3gth~Us-BcQ%G1H_;FTgB}yvm|k__0-!kDToJ%LXp(=N zc83MN_~c_O&g8Zg;#gdkGzR0G7196*mKuXJ;$o(Mc0i!9J}gIDQ*pU#YoUw94p6$5 zz_*w!s*sk{+?Rd_6tYkg(N;4VJN#)^2rWfGdUO8O#A7UC(3zY-td)xMB-G$nscR!~ z&L5%k{8nX*XHyb?*#`|G7Gu9iKiHuiBWC;7)Zev}W{9-gZP-*MM$0QqLRVTGZ9eml z2f+K%V&DNMB*9^moLq#{42GdY@wQY_1)Jr^$+t`Czg7`U`b>jZ=2oXex>FX##d5#^ zb$1|4x&ho83ui1is;U7WdA2|2iScgrGek%F>3HNB%ROT?WvQZK9{C}*cu-=-JjyKB z_@Nk?tCB(~&mW7?$QR@qhv(Uucha@X;?(B_@y5UwLA?#xFR3pv^y6}pmYWg zB{~@5(zM*}+T0KY_u?T1_ZX(GHi&m&TP)6j>Z_O2lG_ryMav3NSRqYxmS6A-&hpRv zMrV0nAU2N5Z;Wh83Vbn{q3Zkit5)IqunK4J@$I5f;jr2NTHP-r8&x!#y!KXOq-&$2 z7Hz`P)RW($VXu5~V$D?fV#3xqt&-79yhGvtDgw2YYF$VD#eHzAnNWZ65Nr(#V=Qh9 zwhj@(4HP0|?m?eyQxH~p`}b2bmli8wiwx4-v2Efli;A!P`4S~e-cNBK zgX#CF0NT3pwoFnYJc}2mN@jPClbz9o2884vgoppQ65&f?9oxbT{gcsPW)9d(0m4C3Vx(fD}*KoDfBm7E#aN5tdDvjFxq{oXA$wFqCmx&2RVujM{l}_6F#d&>>XkN6Z)Ww?{euIQs{=VYwtJG9o*i#8FAAhGt^Aw%t)870ujOGbLG~1B+Wep%Ins_ijoFJ79>s!s z+ZAj~!YUEYQc)Yi+E)a2X|GbI5=~HIyUTGWC?YtHjY1!bcjv0x{>a)2U9KnI?sntW z)Ii`)hJkF}^|fR9j+F^5dyJP_0*=V9s7g{2mHK?O}>uPMW5Z)ia8{=Vz!Fv^w}h*eUrTjRC6B zNJMFFdv~9=iNfEBqqsd46tw@*G@s*ulT~L@M$jpmZ1On2bGBS}AgtzQ zpX1QN{6peo?Alv&T$~6UX>;Tvp@v^{Xv=@M({8Hw%8mZ#i26HNfaml8Khy$z7dr!4 z0AbM~^W)o4&@9kDdLF@NP7ZOQ96LPq)`SCmw9ZF+R-mge;=n1XgJ)wkbwm@rAz0mU zOhjv<5*FACQ}R!n8%P17)q08>BEhOGAVo8cI>qgzizXIpY5t8ke+H~7ViG}bU4O!C zm6F5K@5zy^3#TQu)^!GB+Bu~EVR4O+1~-s%XrrSlqG_LBysBBF@?~eEhSBP@Am)~* zqFmK1BdQ4WN&R^^;0Vzn38IbN7n6KyVS&N?WQQ%BE{>5*PW1;UsJvF{ZgBc@Ep`)# zH>RYr4rjdjJIra3;k!}GnQ8>0uaOoG%XxJfnj2aI3n;$hU8seTCcx(#eir zNQ3HHqL$7fF7_|LjKj;n?4Q?oN_qs>!iDw!-N*lqx_PHtovq`U8|)-_ur1B>g1qSk zo?`@K-G~!2h?KrlRF|Bp_%g5TeMU+M1p-XlcPNn{~i*XqJGLG?EmgMJ=00%{(BpE{4st_&KR{~iIJNm3ZTQSl%Q}&+num)E8%PId({5x+cje@& zd9Ul)$6ceB{J4eZ+XsP5$F9W$W!YdRG$~<9rxQz(uYH8JoU3LcF03ijrFkC2HR25S zRaZIDIc+g*WGszZEMZzK{%Iq_(;++kpf{b~VF$gZ1`m42xYVdWv)w)B#;K?^J>#kB z(0#&e+q9fY8aNL8!Da|logaX@ygY2!%o0kV_$&dB7nxr=65NP989Gr?Dr2#?4Qf^F zsfpU3;xLKh{et=BBPqEi(Uj)zq^pmyZ7d(hb&p`LMB;uLbo3vY(T@8NzY&9^kLzC+iZ`!*$D2!Kmsg&gH1Ql^eq8`p{x zo5wC)_?CDSmn&!ML){OfPP&zj_J3MjQ74tLuhOnJ%oX~RU&Ff0MfsBeZGd|txf3JZ z`gds$oD@HkZG}5dmO&Eg-vcK+(t(0P+`QSLEFD~UQoIvY{NshE#jimZ|31deaEgV~ zX*fl|>4g8g1%(>LORpeYhi~a+%^D;tFw=?B8U6eJG6%M8<+xvO=eVa~nqeM+DTlca zW+lubnA>3DU`#M!Fn!xN?kvnPn0+wM!#oAE3&sQU%odLO1I!_qw_#M6K^P0tiiep6 zvj`>==02Emm}Z!#V15eoBFq7pV=y1V@QCv!n1wK_U`k-2E<2=Okq7tcA{XV+8K5q$IZ!yPK?5>bE#yL+J+m;eEa8ZTJ&_ z!HwYr0hWM&1ah;uN>1V`@b6X%!p*9bDk|`arxNKwTx)SnO;wGR9#)v=ys{UDn*0G;d+_*g00Ivgm<|Vyjq%*B8sgvZ9KzM~bbb#YNRD z8jkSpB0PGgvAD8Ida%@5i^q(Mt$6>~T2ZyNEF@r&SXNaz9PZ9942O4rza-oO3Rf-F z6kE5H)reA2g|$Sg+(>cby~v6RmH^Q;{|n-JeOMqK5Q!9QnoP!SLadjwrV_;TfB*JW|)f{@#hZ49|Z-CzkyQh@Y%1QQ@iVJzV@*|URf%YI zmDN&FElW(auF)&#%CZM)ifSMYIBqN|Wzg9{^>+H$u}K$K3&(X6r{H$Izfl=HQU<$o<`o9Zq1u2FTMLPJADaD& zN(iRStcBpD4f*73uN8|olRr0w;FVR7A`Il}I0xhd>fuHdG54dewR-a^4mxrDR2!B_ zH8p4%LC5bKG9e$+D$usMAG7ZaJjso|jNxhz*ssL<^=TYV1{RC1;+k5>E{@wAmQyTd z;&uCq;$>B6B4`neK5>)g$Z@d*XOvYGuiai<%sDmRBFMmM%2pcpLzY^4ajjTWwVnF` zgO;)9?K$q%FqbAR88LqhLK>OePZ;i+Vh#N7VY!v1jF3%^Z5xZLNwy+cNEePvpj5M} zHc1u5M9C_&#Warl4M)*BhUH0)h$qt@tWD#7`vpF3?pT<+Y*X>F(xRHRRaqnxmu?q} zxd@8?+K4#e`tELyyFF};Sdm+~6|IqbC(K<_CNj#n$rOTGFB2#n_X{qgLaHq#s+US7 zC15+oAcmoo*H#6|;c_UXmILB6^5+`qf>d8+rRgNbbHAtWv}I0?yMypnJF@8eZu+K5 zk+x}54OJj+zhNb0qb~LkYdMuT(c>iHN!*>nEvu-iE!GQs2l?j=m;bAVmCLevKT82|ESX+lM@T(}ur?9PvTpUiu5V(JN)azq0DWn&OJ0?Tf4{R%NWV z&aoD4q%jC)SCz$Et>VUNnvGRrzC|;>lA5Z`)|s2;2LCUbxoJA)64%60Q(R6VFj4u6 zkyvMy6qQwAmU%0p3yIHNR8vXO%ppn&HPWnvTD)nxwd_Gm$l#0V%Gm3MsV%Mm8UG3& zGkBH;@`piWQAKH0t%!_S7tgu-s=SV*&9P?9>NTKjW0h0^ZedDJlXhz@CYi;ewL+V2 z5qr2u(hyWh;v(zV$jB--z{BKB+Ejh}Rs7ZQ5RtXE7<}JUI~$YWk|K=Ptf?RdkwuD_ z8y1U&)m1fGeDqd-`T;e>wb`mg@o;o7@6T?O(%?SQVX|wQ@tX>2|sb9Yhh0w0GX-2Zf`Cz?8c?MfI znz`1%zY;A(#)zn{=DRLmD7zag$}oissiIe)g|)>f8a>{T4Ea~`M5k-G{ZShU;m$^yb3lBBWbLZ#YdO7s84_)1-&=ybzOFF* z5*fg#t9Qv~ieGPrk4vvye7Cf38g z>|XCTRYv|7#v_?C7lv#SO9NQ^#1W*n zD16i3RD9D`6#Dya$Tv=Twy_0HxZ}*#&^NX!4t=+Te19|K`&%L3-wydk(pVeC8WId` zI~7dt*X5puP59ej6a6b;kB1!(8*97VK#iT72>USXIM`3Z zrbsJbPli1o_7vEIXdm&gPr#-nhVEg5U7i_Q$3Z zfWM!_m{TIi-a}NuVjRuqbcEQ`Ya^mgsx944pfBfX%&s@Zs!p zWRNVgsl8EMMYJ6DD{$C*!0I}+4HFD8jcls_WK;boKWeiu?wiO1|pS7tP*hDMkgXrO+rY2=+HYn~Rwf;gKNhE3-@pjnBBHqF`HlHI1-Y78d?KOn9;? zps#47Ppg}zuYGh`gRW@(9oBBPAgsOm$m8_PD(F2F&ny`{h#-C2yXU6sg%S^Sv(&xY zyGQ7yW9Mf3#_vYJAji2@&%SXj-Dyo5PHe1E%xM$i=qt?glR?h>U`@}ByaW7aazJ}N ziW0g0ux*)9*hq8gFz};*auo zkTg}|pDOy7K*~c^n0=^-TjLxN=KUxDWRzvWv&-KeNbq1-amHgf;QA!nb2 zcZ_|$b3yoOHp!>H;kBmL?Q5RVca+IUs`@kJb{0-_o@9ECBdlgc52m!czAJP^u z0hs%rq&?t|iR?nbcpH%SqNIvYzV9M6n9i`L;p{tpc?XFfU`p7B$b4yG3Boz7Q4M!66sIBZ%6#)pb_B-;clr>5L^@bp^T^j;6fOuj(SUT}xLoZAM_M?~=>aGq5A;P<%^cT*(9;5(k)9 zsjMt~-H(70P7sFR^7i5~wrvS1L%tCo0!$Xyt5I@o%(r(4gXP7|%ZukuGfILdr0kSe`*uo}h=2=NEGLbqguWz_=tBcroE$_2b zr?Tt)(Z4v~$aI(q*Jkm+>?XC8xgjt@92poE5t>7dy~+@w2$T&6i4mE1EC9hA5`lip zt^44@qZcUbk^_QFkK*Z27FY6LV2hY+oox)b&-JPCGb7jfZ3SP~!x9__HujvJo3hW9 zAGKz3G4jdL+>=aW*Fcw4;Ew)>KQWR1*TmA=9 z%}~|3W{*|RWdA|k-=t+lRxh0m`3q`1ftsu0r=;kdl{c$T3R5U686BZ9T)1`P{{U@W z`9Hv0XZa6Ebt3|nXT1xY)16j~;#9xy?lVdu-M*^p?!Mb8e-{^P*wZpyM_mcCL{qXI zfXk}^B~I&f|9p&>0|vL8oJb%{&o`acEx$p_O&@S`V8RrCi>@ns3J! z9wkYM!4!{vnSJ_sMR+dc#XtUY^D4Y8%)33*F2Nc|;M`j)z)GpQ=8i5rCMWxtJ?yMf za6?BwLjA@l{A%B$aWUcDii01=7ouE>b!u0oJ48?%3*|w;$?BvYDY}P z<%8j%JemO^sqLaufi?->5Q!t3E7ad1E8V)(JC-Ztb(-xfQ?EE}aB!O=mp}7jtX(x! zL*@=`o6i8qxDeMQgIm)%MJi=W4rp~$x^73aAzC-#jryLb(S8c2Crxii#;R#zuXDc( zgAjPlLM6iV2WAx`?!k}__~0*ivWZ@6A5VY5 z?So<#ir4kX)A?J^pEJ3ol%&pWIW>eAoe3W%<(H+%HIKo8XtE(zHR0M>C7Bi}BZ86+ zK{?6ACt)Y%3)1o$AhkXbMqfI$p{-Xf)@^7!IFoRHosk2XW0t((AMwOq*G9J!WEf=} zE@^^b&waG0DFok!mC5xW7xCHz`G2#nJWyq=1^H-wo)$qlW%v}l0GuOW-pO=jV%G3i%7dJwubaw6#(Dfo>n(XPis@~ENA}lmA@TI zILf!$IDQzoF?T^kTQ@n^N^k*^cVd}q30`*w^OpjZx4i|SLc^#aZ_K6h?I4WBndii2 z7mhO9W+9ZU(F7)IEdR1;zQ_%qgSn%)<@N~rj*lE?<(NoK7y@hgCq!Dt!UDp@>ih2E zuMzrYy+3-mbZ1eUhCeGSQ=Z!6JRd3b3@7~G)4!9qrksJirt1j#-3c+%ZYou+^oT_&>sGJLb{BN;yAyh^`v*eQOPv(R) z3a5@UaG72e2sw?D%6(b<_LIE?c?XtdUv0mx zo>fCAE4@PNQ%@yrCAZaRk25K?FJ0QgQ^0pwl<@$JUUJZ`IAC3^Gax(}vPd_T1Xh`n z?T1@z*d|Lqb%5iFdY?Yhwk{&us-~+G>ZaH&fu%=F5X>EFdpDT_i3k>B7X_2pLa*KU zqf<655YqKn*^*%$rmX#;j7^ai)mp%FSS4Yh6c+1-stg8tbHcJp`$wLaC$uy=1@dQM zC!rj<6A*dNF*_s(V*oCw0{tN5)+7EJa{q;I%xeVPceA7r{={2_ZQM|GJesp~@fg$2 zCyI#Qba*iy+*Xj3*&})Qr1;L$rgQE%aa~W603NHQBdq-=kL)^6VumInF~l~{AYYgZ z1Gz7cbr8uJ1=&JykA&(#v<>!q4_L zuJlz&LJyDzSZ;qF34ib6$BJdX8B(?>zJ8q-4_A|LD5|n530{BD(3s?h`m(|e-4I@F z9&9yvLN+nt;)w{zKG=U|Y`Od%>q%Rd!f#X>1j}iXLP%hy7?Sf*kS?%QBET0$;r+GW z@a)L8{VK{iV4j|@V^KzapKaphpmo{f+4^vvys~c z(p-B*PeomXU`oVqN=Isi5W#aYDWvS@+J@eluAw%aJh55fbm5kd_6L8z7!v1qGyf1C zv2s@`_1TQ3IVg=kGW)oFm(62VL5t7Km+$v2o7&ul4KSgEOTeZv&$K~JX9H7jL>FpY z82qDw>4n6s;llyh{XpuMBBsba6-$N3`?iU_#8IrFqql{${-c1+VkhmS_rI;bvyO8F z=?>-}U;k}D&L}uOq!h={Ct_s>JAypGSMVHmJ=BML42>^N_Ojpf(miwmo(@7W!H5N5 zZiBrCcc_1$jXbu4S~OGlJjZT3%{|bOEUkdm{f-_*k$R9(18b#&dU(`!sObFa%YAo~ zKQ6RJNe|<)usjk8kKGdgMwB6O%F(J?5V@DP@7Z6#@`!S8EY%OHQCUgMz0>rWuWc0;MQveh*rx zE(eOPfV9Dag0i`BH9Yy*&~9RY>m-741Mmy#!68IJj7CfY6)I)>ii!K5NIQzA{Zyp; z$2~t$33zQyV7vq~&>Z4p^NUovC(dXAq-_k^-AFsDxbJaLF?wVg8?6~22Ctg~_w#1*Gh;B-bQdqy9xDeso7MYC%pwf|Lv{3$uw${q$_^NQN zYEIRZ50jHRe7n45Gr$_UK^6WmLgE0Jom99Fd`e1vaORzejWN}aG|eVVl@)>$iCQ>e zIMsW*Vbu_9Q_p)^NMhB|Rfr_2!;pu1zKu@LkyTvAU89z032If}wLNl2Y6#LdCG5Nz zC%l~BU?czj$D+TF3n8h|dhHNpzGUpub>Q%U-^Jp(lee_T9(Z}RxdgN|@k*ZQUN+CI z=I2?q3`(3a@%Gb1TlY=*4eB1N>W%ThGzA+k;ye&2P96ZHNmSrR5J0 zNWxKU-k1TKZM4m<4!A6Qv6T|W@p%KQvUnuBmG!x(kC>tzLP=s)BbLWR=bTeMN!07n zEAy~n6ujj2Kd$r`F$Gyg_w0r+y{0hmL@!TrGe}bd-}i%^fJL_%lp&TO@6K^Qv&CMC*n?F<)q8;HyBVJ_AG)6xPa~M)_XXaPt8Xpf^U+Jd|r;_go4*htu z_sYH6S0w-pUFFgsa=>s&*g4wT0L$=*jV-LtGL#^lf3A}#RLVR8*N7I@NiDSCn~+P# z_{-h#yb$jXyue&B3h{03r*a<0*-3)fz64J(oQc=^C(NNFh|SWA-3Sq8Q>FXCyu%2Q z35*MQmupIw==aAKp_FLv$OuBH^M_>GZ`Oc&w)2YPjkc9hY*04#10LvS!>C8Cx!UB% zdP6|Y2FCnQE>1GQQ55k5RWA=`Fxn$dM`1QR$0rCa~&74kBnL!(xw{@mc$pzAGQDf*QU zU#$CY$#n5ASFLOmA#-|s`}I@ZUq0_VhDCEb#*S(o*h1Z~ zlH?cTlY3Qa_Tv-fcs zUBSE~1zIH2S3k$9nZ%$-K!O8|4ozZ;TgFAt2oM@w#^=BHec!q>)V*y zn4DF0!%?%)NCk$nNj+01+2wCs-vUYNs!B?v>-5|{GiyDQtVLR3y`t4yn980R%dV>` zyB(~bK4mLcnCn%=-*MR`#2-+K``Mz(2%Tc^;&v3varwwG^;Hz_?oa_cZk^5KbKwrS z3~{AQLrP*DwF0>3MMyEU5F)iV^YDy9L@Q3k2O*!_lsgMMwjZN+KDDvx{`uNh)hu5l z3@X1n({oWICVI9$xbMeLO6eDl|6Q<%92Ff2-WH;Yh8TAHRxp>?gmI0ZECd8L+ zT>K3c{!Gso6h^Hr5Z8P5tNyFQ`6K4(VXVd=f(4W=;1=?87C;!Ze;POFz9`VQwC@c) z5JjI*^Ye}c%Aj16CocEzD2`zIsCh2C#d2e$DVmbN?5{i|VbZ*6VJ5IHh)0{eAYoz% zU-(DLc!3h`60j)<9Vj)FCVVSMC0HxESp?x)uuuF`lG!lfTnJw{vmNk*01I#ih>D#) zJJE@|3>c6fm{9$|%{9h8-+7xZCXC+(;CI%3Zx5GNkGj+DTI|l00_H(Ur0d?N3sx1z zO&*=yhpyj87Q}~c@PQ&7@?o4Xk3{r94~#J6ZXXj6eGyVkqzO8QC$KW-?``{hl=m*y z-%qca6$H$+zMcRUkB`5AjME;7GTmF_h?^APCwgugFoZK|hxV=~2^fVgv}1o4C+*WR z2&x|J`Ef@qqVS6v1fc_~1BEE=Ji1hZbIWc8r%>29rEW`C)>mnV@Gnw; z#I!qAs>iuFpK&6dS|WTf!;d@)PqcTI;U~KFwuJYM;khFGpox^BK}`&R(A^^sr45xI z>762KPdE@Kye9)_hzdZsgNZPd`xqJA`T2pjpN1;r#DCv{CX@x-i0BCe@`Zy0@7&RM zL_S`^0hvJFeM7P@#(jX8kH8&B;RBTRV#|`Kr@18eQZ=$&-(}-~PO$8OslM9MC1S~oLm9$6;LL4&?@ms&=rtZsjrUBhYFAU|>qUZKVTj_L{y6?pzS>Fz+ zN5pOmoB4F@fHTwfD~vPNK6VGfT~6J$=G!b>=C&QgY}Erl@D~tmGp?()edZd zvqzo0Vg5wy`#{%}zBPps`j=LP0&(^!qJCfn`UdtW+%m4nI;QPTUcm~<+{y%oL21Gg zp>@jK60OMIg7>Y!`bF-}pnp6-fk^u_;l6AFg(PoZ;J(ZQZ@MA(O5t+If%tt0?sb6f zuaDqn>fHy_Dg!D!S82n~5=kLXOylRVkyzTd12)*kxGRiFw9`1)%a$K9)WLcRF1p*e}Y!9V*}fR9YOV&sO3{hkoNoe(ePX zh$Lj4vv0|4Kj|K3L`|-harZc=;!o4Z#K`c1Vd*`wfcVPZ(*ex`1{7ewwE<-KUDLdq za(7;nC)QVfwmuuZyQXt7PgMYZSK&8JGnH+J;kK!MIUo?gEkSf);myg26pTW2S!ugydNXA>+2= z97A?>{k01Q5}i8k5~g;w0eNV*SG%CmMed?7xh zhCCRU6-TcjvXwTn4}3uUIXvo_s24$=k4QM{%2uc239r3C#tD%fg9_Iu0FF>h#9QpTS&>XB6{ z!4OZ7b)u9!;v8YgvQ>I-%E>XIsfq$VoU}LuVu1vnd_vb&hja(XUApyk zuhcv#lE_l3s>jx~%2Wf%__k&-Vh<>CRH15?kfo+-W~xN{E6Ad%iXWojcHES}wi+%B zWq8d7b|shcZ(J`Z-0(lft)T=Qq;{cU;C?FGXlN(vW2eZXb$vy~2Z%s4T8oD1=wKx> zVB5){M*qD_o(y7@4L z@^xWiVV>yP^^lKtk^I7AKZoz`N18iA%qh*=}}D(F(E(a<;=vYUk(qVX7apL0`> z7Iwjf>TM#|1R5$U^*w~k#VY;|JLRBi?7?JtE+cb9jL@O@6;ZAj+xd55p0YqQzD9XM zoPiuGvKszZNLE6rD7%-s4N?46L*7cbLCQYd)^w#CWY?~A`)R3~5~9=--04w45sn(4 z)VIPiR|J4Z{O?QqgqoZZNV}o$7xvLPe#MT(C7ZY zOk;o1uY;)dQh!U$4Jb&dv}uZ8{W>IrQ_X^r;ro-=pq zs=BXch)wpTI9ywA7yT-3x?bxuDJwX9_FX8f(qQ33hk_Kh3#XZMPzJ<-j4nZysIqH* z@q#BRf;pN+e4L^vWk^?Sk}lkq!W_l}=JzFg z+caDE`n=P$Pe_?1FFZt@^;vA$bJl=os~}za%JzVT^N~bl8MZ`lMvavB-(;$lC4WR4 z(7RL&cqFOMq4bM28(ak}eh5gpl=+pNLQBA$X#93_2>TheRd(bmVBMx7<4PAQ!r@_y zpsdIrjv*=0!D{5w?q}$X&gIXn5Wuq?^4k2J5@X08j$Z^;Jd1kURWL&5U%q#9NC(Xs zW_$KxspZ7hc49!8B_Aco5qA*gtqM8KzijHtLpjsJ=gF9N?OyA*`Vjt2S3A zvOZl$1)4#11Wm}%f2EN#0;<6@`CJ0OYEU>y!1LAUWQ!e1Z2XJyFx(}#>tb+3vyXqm z9yT~zEt*H7B@oM2XC|4T7rMdk+bbVf9q|;iX3a1Q%N^4tz4p#fpcIDfs)xhaW33?v zL#DwLr3P~rU3r5GI@Byk!y>Rp_cx9IQX^4FK4rdAu1&kgD5r*$k)O_ySnA!Td9Iaa zj1!zrPk@wo*3;Sn4s;D(_s0uZjg=9XO4gl(zWV~Kn!cB(1^IbxdU>5V?b0+5$j`sY zV7SJtw64;c*@Tqv5v1}5v;R}mn0dONC&C>kqQIIo! zt3UswDf-58CtIF+Ec*i0y<9oS62KpBl#qrP=qR^zP^7qcLQ7ETOgprKG@cWLfEJBA zD!;KHuTCo#O0O!3sa%j$HC`mVK!6NsxO`e?$#bafneN`n@(pHx7T}Corc*o=z$UCI z=cABGh-+HCCEX%+(KT>=23`=O;Iljm$1RnDTEH8q@Qd^1& z6pef$O+^YGeLH;XX`)Ju8E`MBoDJ5KXYk4833tvvR+e8X%gqBKFVzIC)9-+6@Q(sR zR^j?yDE|*ADz7svNzz?ZwQ!5g@8OZ&`&5X1!OT$)*3blJ9oOUg!*5|*F;W+=3+UQA zy{cQwu(AlQQesT>hGjVDKCk^lS8=VC7dT9ID^YMyAH~fa?g#UnDzb2{u6A~wN1K`P zjC5~r`@*N7D){@m{&YD!4eglnM_=l!^2jnWMEc#3aD z!7w1xH?{s#C{1`mob3LuvP$IjDP2BG5quK3_=Bh-NF6LVL)eC3t8K51UY)K*$=CT1 z1%-X6La7Q)0x`xEOWsszb)b>_3BF~Ptx6OPc80QCqdP_0sQYD5SX2B`?HTS-R z61I>+wP_7|E}3FnMc?F!9MYCJ(xk7#)38Z_nxLyNd8;L`BROfE3^OTc*aflkQ-3>74Y6TaIeugH(Tr zz8uTu(p~aC!Z4rL0yoO-^;XzgA*5xm$pl5p$z{>l6mxC!Z>CiG#Q}N%bYj5i@2>2} zH=5I%h${VZr^Ep?lIk1RyJfyEuTle~R-$fxn%j#g503ABy_X1BVVFdI>JExTJ&O zAH%Et`&`w6t=lOP^)*_)8Q0=HI%TNzt`fwgsmLD=`=|9CW=rMnWoQZ*(}hzzFR2DH z5*1+$V(?_0lIx3jQ?wKadDB_7U|Bf-eS=RktEOjMwmi{TX3EYS8p&!z7CbM4*;Y!!s)bW5F(S4JXljlmmAdLH08BT!CE~s zp?}_HE>g4xdOJc6T($TeLOzrhgitXgBrUT(WR4RL+-aU}1QQ;`W~1^@4kch&Hr*%3 z4|Hj`kc9P=$@*!0?A6vug%Do%z0rWBQ)9YP)2Fy#yJwmO6JD>qAsBs#-XnDVBEH7$ z`_!Nb^R8Zw(`phEU*`Mq<%ly1faBRL40+dJ9?LOcB4UVg=`SF>zVkYOZIQZx@zT;v z8W1pcAlmCP85OD+ixGcqJwbda`kb(%Rji>$iOXF$wD67mz>OuPxzmPNuL`ap8!mocFN)=W+IJtU0zH}s5JC+UBhS3uL?kkV{a-9v;mZstie4&i83v^DV zTRY|-Q_Uny1uUp|X0R|VtBP5pqs5G z4CQqjh)apKGLElziynO8J{od;U@%05aoVFKT4qK~ZtGH<& z`wB<-1$EEyai9J?DPZ##W~VwE`^xiI;H!K18;hNp@<6>W2n?78^+mSJl{2BxLvuR= z;rEQOb|&5Q!oh6_a!nV41|jt-eo4B$SqA_Jp1=WWyP)uA@DE>65NvSO*$mBxNUx>g zs6rYw-Uyoob8ky+eUGfa(6fr$TNvK4P$=om3}#Qzhi1dV4$em@)zs$Qj9g~h0l-FO zDC_{0*w1o)k`h#^^;O!i(8C*W&$gVEWMTh$BcIuJRLc5q_F}=^?X=l5;YDJ4oH=7T zsrP_@$F}mJF+9o9lf>dO1)%@84^opHI`AeT>PcsDnE`;`HWRF!5r=>IFqj?}fGmb5 zB|!SUpxvakGYL{qEgl<}fZHWKFv^An+J2{sq7IvJeO&+jRip*LI+RwyGjeM)tgbth?z_9@dGkwdPZsFFWHEuNK%faXmAc zZMT4U^%al+vtd^fhs(hZkNNSi5XV1dn9k~Q;GmGvc9*4U;T`mY1MofU^#Z4Ka`SZt z;;Y3_^L|D#qwUc_?w{)6Hb0&RCH-Ja6TAkjxSaL;`@lS?<=^^i63x8U)Ts77F1_tZ zsI1!9;*NOxaL-r2CS`kV?Y>=~;jVj=WgUN5ng9GZ7~$c4>II{ngKfJ_rS3)z-E+@S zo;_sg_jbOmx-(b(_8-5y=CJY@h4yoH_}z`y^tBAM^LTvt{|3I6^3<@WMkJ)fu5-5z3g9Hn@-+y zu^hLd32_$Zo}Yg=klwn7gl4?v%IE7u5{0U~7_wD#B*4tL=_TX%3BWRVt?o!9+s<&DHkMtmge>M9C zzw7?<0*>bc=yo&a-cJM|dh>?0RBMWe?{AT`Bqr>0cGfOsJImec>xmnoQ^Fe2(%BOt zM6|nCxWe8=cY@zUJ;;{Q3rRRcm+oieT^9_3mI=RvskiLZC}&*Wzq*0k5}7;aUTC0X z)2)3r918|u0Q>^yJpnE+#}+!8{3#^vf$r=xOR$wZHq?q8MB3624ui^0>+Hk;ENSrF zr<04vod`DI`ye6Zrx$_k2Fx9u9Z(Ui3gO&EknxbHm?yNBgNQZh)VS=f;*` zOWohgd3P?kJ-;kT>MP^Wav%X&D9i&vvZV6yi}37COdq~WeOu-fH(0vu0UbRE>A#-I z|K0x>gffKHi3prqr72YMz2^ z>hiC)8z;f3Z5T@k66wa2htPt#PNK3!_B|#Xs)T={>uiq8weOAo7#T}bBO6~MO6&~Z zOOE$-+sPmAYhT3|feRh)+#wU=H}!9z@XWDQJAX+6&sRISfJ{$Y&Pod^t{(I#ZaI%Ch-OvJ#>@`7#nQ&;LN$nF~0KN_Kb7Injd>w(1hUAx5Y1=u;bJ+u;7s$Lbi9s;Av zS7I+&;F@5i!b8@kS~erO&vePcQ7}yD8M_4QhUsi)zQwF2s)F2#H6xAXY@kz#LR4fM zuRu_p$*fy{g!k`Eu1Wmg(0hMGH1D&Hc&|uo*-q);dhBN#VcmBs7Ys@Ht!CBby2n@5 zB_5Zm6y&@Jd46t?pLa7^RV}}FBxX-LU_Wi(y?}litwL{g+KPOgT}l;f|5yj8j`m2+ zzQB5w=Yhm-FFq>^x|L_I0&CD7XQB>`yJtT+5I$0jL!Qc3=uih6tMqz)6!_Mrtbo*R zXWA1MPQZWdS!CnRAV_>ZfmeaIgy7bKDy%?k!&eDLAsL2Wpr$PS|&L&O?gq>7eh)guU#*&;Md>gP8|p6eYO{l<)Q6nvdq21^ra zfVebQn2nA0Gsdb=-ZKl`R<1*ovTV5#yI-?2{e92X1}RS--u?bQznEv`0RxCuRfx|O zwv9rweeKFgU{5&rZY@vV5ZexQIe+a>Bkk@gx{b89Hi^MFl(oDagb>O^47n~4J-bxM z^Ub{7nJ1$LlxAzZc=`H?7V`vfVZo+Ex1a5dz#M2WVZ9vLD}-=+`-Ekfp~eFwM;Gwm zpOqAiX;p)UL^pi5pR22?yS5M@&z>FZ-9v+>`O-%==1TsGpk(zqACl7)DBC{+z1tc_ z*G4sJyL!xvEh8G|JS&}cdKs@8`h}vvUURiIv~2PLokf#08LLE0^xhNw;@>RkeS!e^ z7JBl@JRe^fWg;4bd^KpT>(Ou@^Ukqh;EEvysI{(p-@g-CZlOn;l_K0A-MMw_=9x; z+EKWVj^v^8^In6@Jj4=+G9b9Yx={yFM1p+e!Ms`&7Tf!Fv;oO#92R;AT9eh=C(_V* zp%`2vRF=d1@8Ma-F(RE1&ws*=#a8j(xikM-YX&rjHLKogZlG+mki$Fx;%xlBIO?JO z`SgNVHtNjCP*!ZLe2F!vr6Pto=EFk9&QLEWRHB_V@;XV6ZT@550a)1AFlD~h$o`-5||&5jzf*ne|KE_c}@BT zSL9CKm1U(i^zv-{6s@6SA@#duXDiR zJ8~G)lh9&11HKcIzY!%9&4}S!ez*F+f>|0}DA2=4oN(G7!ga9X1Yz9gngp)3N`1lf zB~f_xnTQ~}Td@WWxgI&6c^6fPqD+kaQp^5yKS)#H0niw_9(ESBNsMSRL*ZMN2SY9g z)KCkFMEbP64*E!+EI1!0+D!OSZ`6Q)1qByfvCed&+Phn$qPoA~h86gdOjW-)KAq^v ztJ=bOp0fQ#yHxqD_z5f94gFs2qXwBj_pg%IBbTjERjw|!k^UFwrwMs|LN@v53Q??z zfL>Sx@y&C-fXd1(ZIp6|JB0+WxNOGal5P5(LS{w*BU`HEZrUL_dqG2WhtiuvJSdjN z+q)f}HJkB^d{oCNjbWWDOrnGW&_CKDR#T-*fJa?w9Ez``J^nd>dY|xHaNmDDNsDh38djwVFOpH(`5f}F94qHnbAZC@wr2r9 zas3JTUyq4DA2ct8)}^$*Bpl4~djpK?;KXi6s6*2dFwW*PTB_&9IM=JIj=xE4eBHoD ziEK^IV}i5MY$~X}jNHmNkRDssYVPSC7zq%0W>gBDa8i3zuZ;p*qR)*S-C9z)=0C&R8>0j5LiKp8UUBMOl&}eY%(}+b*u0P}CSVIOtKwWV{MK&%W-owg5!Ghb*$ok!qp&|Gp1_Mp@R$FOD&Eo-fAqF_8oSy~YFS6MNZk@JxEeA&%$i4UbC zR%dQcU(V)3ju^=Uh&x)dxuK_Upl28DQp9%r#?X*vD(&x#?VKdPArgai4#9^yBs6c{ zpIk=u{asoL;e7SIEu5(>M*l(4s&U5FrDc2gc%W2wZfYYJn`xt#LU&Vz~J3k=U31`c}+z`cPDI933)8wS6x? zHzvJRWn--ibWe|JR_oIzv@n)MqFs=4U_VvJ=c}rUXr9c^TGyK3M^BsM^s!&Bj}7hf z5bPaqSCr=~u|-wHIM}E=b3w?H|?1hk+MpLPSwwDZe?SjCH(X*`y+ zC8TUTY);SQb<3h>yv8nrllXH&ukYyU6MAa_)*q=wE)yjNOTO^WiiMvGt1DX+Obkyc zsc!|hIQO@yhsDYUyv?~Yd?h?H84=9edaB3c)5Jr!{&{CTqK6+Ibb~(j8LmdygC3n6 zIFL+Bg!Uzx#zQ>4TBdPRl*DdJR*KmilM>G4uKdk@CWlFehm(t$zlJ<#Gov~#nJ3PM z(QNAHkR}EBwtD4U96uo~kv?5m+_9DtrK*~C`v$ACQTak+OJAW=a zUEy4es=vQfRb`54%Co4eMn2QbmhK(ho%V9Sc^GeU5IHa!9ydtU6zFcSrjbKze~*hP zs-UrqE>s**y&0KK;5Ypj=04Qv=^mMT989AH|Cj9BOtYy0sQY}fT{0{S)f*WPdkWVECAWdkn;mV`uveL# zLGtJd*!KXt#M*23Ug{(>@V$T3VI>T8gJ8zIRr^NQqOQn~7Y#QxT3vvw zDPd3Mwb`KdxgqeHK50?yzy4Vt*Zq+$BrH4DR{~JNbL`*|XE> zvnLPvnk5ql(ZUs*8_)At#=`!-9N~1b&I%qANi`P#{+I~he9%|W_9Cet;fP-Uy8zKn z0zvOm__2^+zj}V2OU2+db4&SkE8#nN3Lmoeq{sOAUGjxVx2bC00Zn(0JHm=3aCR`K z@t&_)Da`#d%ebjk$>)TEHTht3g3HQq7R7XAd7Iile{gq9Rea(SFcxI60`ag$N2z{W z2~bZVE>cuIufnbUnoxj6{!>~)iF_ygb9vtdOX9OK@J^FE#)#ph1AA>P7H(RQTicSa zsUaz3dRPj<`T0upN^_xMoo~Kmok#U5L+?uMfikogZU6xCIiLS{=}=1mZL`780!HRB zKGWhqU>2AHzPxQZgF%<;Gf&2WAl_h7zxYI?yJQ7@lf{>8=4iKMxt;i;6Q}#9jdByi ziHL=7J{UVYn@hSn;YP4Eb#c2>g#?Gbbd!mFn+H4B(qxo(jn99-fIs!$Xv9riIinNWMYJbzI5J6eq6#G1W=E>SiuRsMHq0aw7H9W zB^Bo5R=)Bl^mgjBVE|O4?qTv`PGWvWZ}^yTutPCfy_xr*a&;9FO>$%R#A!erxNY_={FVScJ4aqSHZbzSb716Wvo*}s7#8LBq)>8(7(|zgPYim;=-3qD!HC6Yg6f$0g;rSqDC}d2JiP z?fC}{?H8`&z7gQRkgslN^zcEyxo#5$QrbmVaaubLyLRW0aM+Lud}i zxI=tkEy{HZ5M$lk-9q=-vK&+leSHt11TFXP2<;&R2AY{>?Sf*ke@m}BO6zc&T{xjR z9*NcQj1+JKj^^&YO@BQ|!QD;YB^$?Y$;hPeyzxnmvn9mE44X>koN-Xx^A|>t7Aq1= z@<)8&i9-Xe5Y_OKeAua8t>o_K3QK;n$xwc3?`_9XLKn()&J->t7B8}f+6nH{Z5Kbi z-v1!)_z=eMT?gvgT+M15t90$U&u6itVeG%8A;nqUnx*`Ek5(>mBaqGHXK&-?yriRY)R&hPcbiceE^7Ep` ze{2cPJFQ(wG#dFQ0~42>y?JH*(Y-na`jmR+@emWjh3f{qoxlw@iAGq~o<#wdDs~9} z;x@w?A7gJnH{${@2_)L5?+Txw`M22i#48C<=Z{~0o}Z=@V=r;*f8F1^z{UKD^)yFo zcHt6@#H%3{9CUk$R|~|wvK4qM!n;0MuJQpWIft_$n9Y~A5ANQ4$(~Q&A7q;?FpK^mg zf0jdjJ)BZoL%ke+W2}j9L0E$M{1MK7a`+Vc@@~VxQ)D~Cxk26JKxvmZ1IQvyFJhR`=g=a=veh#~$oW${knT*jY9W9A@zAQ_nrH2(Sh(~VJxEw+^Lc9AjXZfK$1 z;~8g$VxNbW-!AH%i~lLg67%j5>kBH7+UvH6KF58yvCAXQ((kU*2m>r9u^GH~m_6Jw zs83B~krEPj1{v_JHTpAQ1&)ROm#vjE1PjPHlaujPXjzT8QeF#TYG?M;w%4==aL#&+`0`R_mjzx)8teO( zUCVH3Ivx83R_9n1n(iV?vcGwZ6msWSDCd#Kcz7i#=(n&@%}V_pc-T_Wg7P(QtztN*Zmu092z)s~{Jg{0OXA$m}kW{eiaFc#KE(h#B%jQ{+Cv zAfpIx9zcSsA_lqz#(pTs zie3>s*T*hWW}+R(5CqDORsfy#B>gBt=qaM58>NsoRNXCgcH>nf|5KhOce0ZSw+`R* z)s;NCLvnZU;$&*_fo&DOGjn>-(hFPxTQ2hAU-HhPAbwC^E~__0{ zVFFW-egb}ms~FEafGNm+?#ZV8%iN_B&JZ1lHJq_aZMUx_hwVf}%U;#@M61Ppniqe? zvblhw4rUtq?^2pTdR=C`jXx1XyXYq0=oox_aMxCe{WOD~e0b8QvB7*>#F-%5zxCe> zh#a^po2KvsNI#ip2avy}DCP}%;e(fK3W$2Vd7&OrpuapYn;>kG%6jI0O-n_& zQt8q=!%h4Ak)H}&?!nM?VE9n5EiBua2D(elXd(1qc#AB86n88pH^eaq?x^+C{j~xVFj8hs$m!$cksA1Hr!kYf=J&MMpC;--4r}6N7OcEAR_# zM110F6@1v`UU|EhcDg)HyaG|GLM~nhb-3#tWIl7NLNMM3-q0@)GN#-)8vm?54FcHy zf!H$w^>cKyqX`r1L`0XueYRODhWCu$-e5PyosgEhHpqfubJ5y@r~cvlM1=memi>j~ z$Z=1Ij+05t8q=RujAh`aF@VEnZ*aQ~TjA19e@vg*JE%*pL&D6^4>X#4*td&l5j zqPE>Lwr%d1JGO0`JGO1xwr$(CZSOeQ!9ULAdC#0V@0^f0#T@ya~^sUQ-|N7S8RCk(3dI+kXYM#dPru1x0YJbJ=+nGmlLdzy2xbwrMr!sn_v;4gU% zWYZBBpMDhx8hK`Ar0{y#Ej^gdt;aX}0sp`2A^Y)*RwPJ3K<2bSK>zWd_2f zzdR)V5A_gzGb1BEU`n)y>s7pp%ECwWqMe+cJ7GRKomrRW?FiKs>^U+`!bA@>WF|dgY-c$HG zW6~PVv)uRHE??Iz=YGW8KY3m^y!wD`r@4+b58OJ0l0lFejgw0wr88mz0OZ5 z)u#u7SKQII=crYCTqA3A?^w3?VRGdGd!A%DNTZ1KQ5hDL81WX$TM5ylf(io?&$M94 zAq(@+mVNVI@Uk(}Cr6tvgYniVY^z;nGh%;r_E=I1#h zuUa*!SyMAR-0Us~-cj_vxu{1E9MNl1XG`%jSc4dt_sa>I#NRxLbJ(}G=#fk|#eWww zxHTOJ*H%-|X{OFD< zO_D!uWLu0FE8qLsxe3evMS!Ow_h&aPO~uNuOK*A`MBIDGFl^lV!j5y*2U(=quV*!+ zdB65ZGYg~l^H1>|=_tceG6$64(BMx&)_-HlA)+=T@TmbqjyL&{5SA0rQ??p)2)K~f z!({_b<=Sc>WrjpS38R}Fw%T|0A@s=D%jf-j4Esmag(@tT?N?aDEl8`woMgZq zj$H4A?>CjRgT^Kgsk9i*+Rd_Oz+!PtV`m{_w*>pFvL#c8CV3$PcfugDQ#og1PC@)c z94Y8oHB67B^Px~usszAYb_fV2FXwv=o99BGeU6I5aWaNh#vSJO=baHuqB%WS*i;o6 zv7V8HcXIE5wSC7yA2?VuakW+fyOmeXQ6{rT#Zh{=Bhb@MO?a~_SI#LWIwFrK-uF-0 zW^LO{?!vz17kp?ODO)l0K?>Dd5F6((ORoM79_uJc_2wxb{$;0O?ul;lbWO(4dE5DA z&4y}F-G{};MymCyc8i>i7q8Yx;h}}5lh11lSiWOvCHoVvfGHbGW_j~*^K4hSPa{Q>|5^LS1t~hDMKTv+_9V$ zIdnQ#U#(5Dgiex1^uJAa3jgvuTDz#d?0;tWQQxb}`ua?h#&|sb7U}K+kzT4kBso9B6FW zBC+~P9DaVH`+P1Je(*8xh@dvY&fiaytN|4+Tj@f%Lg5u2HK{Y)R46MC{k1k-tu5VaCH@Mt?m-+FvraY!(KhCV;}r_;g+MR) zyzMULm6>s{Fry&Lyxi%1#-e7YdDS=5{s58P1yVcBwX5O^&Xd7*oI~UBs#lhy`G)?} z5vzuXd2)g)dvK{`ORGyFzsf{Cw>$cy$}Hnt8lhOvxIo5WU3WHxD6f*-J!O?lMyB$* zUw+nG2i%N-n3OY|3`tA5!LulDk+%3O6VPCt)}EeLrh1R3RS*;At};9?y@|G5M)rCh ze)lsBg?2FXbSm|2XVTdP4yk9@87EY`lLbE1oclWdQOsoYT=twyxPyb~l{cO0(C zyLLI&j5HH>_{@oMXoUVI>JNfMzh09qP+0>bY#27YC!M72)P@_ zds@_kuo8BrQzxN=$2Q`$kLB!V#h8uh743OL6VL2uuGPRLlxV8=e(_Sy`@>}bvbORN zBmX*IV1ER6)?|w9~QA&82uYsx<{0M?k7geQ~#k63r#_!nO;Ar)z@QB`LCc7Q$LF{N&id6w7Tl zXJYBut2IAAEsy)K4~FD+H0Qd9NxkpiPL}HGvXNA=YPrp>@{8)Qfux%7eS7g4o>UQ! zFwN7+Q>Tj-L!<_{sa?+n70r>`#CG80voRR$WL@r?B7X<9rcnwJ9+|n`Je$eP4b=K) ztu3uOUh=U}eC8^Oa1!zw)}u8pfuHtb`aw=Ch8*7U#|Y9!wM-Kjfcaq#)QL{){bx{l z;ja4rz4fM#f*B8eVO%Nmn0Uxe(r6Kl+rU7H8V7O9LG!}myV(xfelpt?9-`~a;P*^; zRv1o(5?#beTC3GDI2QF$Uk=j%o*ilOyr-lO@XEK=@Mn{t;9tZ6I?gqta!v>{3Eq%1mTmuCt$B+?Kq~3<&$Me4Dy(? zn`@}%4WuEeSK_x^--LJ0&H9IuZW?cLC~NOZXeR1Rd0$**$U0_O*0lE1@nD)ri7&>2RgikA}fKk)k1Kl zTAl*aQ;k_{ynT!ZUVg;28 zOU5Ay%7nz@BgpJ@+=B*HUp=9!Wx;Z9xvT5ZQ4&f#`O=~UG3;`F{1G}~deV?$hE|3I z8Q_|N>ItKD{js`Q4S}LhAqCVRI;YAuKkzRrQ-tcD-ba>{Y@}tHtaf*$1qT+wD`}D2 z!v>0(aM+gM+|3{@ri#BO+5Bh-;uNfm4klOd&-tG*mu-&Umk$&sXY?X#d-Y>#lwfOd z-t*h136!$tE|QGt zeTByBopS))$LF)h-~Vm*aXA6F=Y@)GrtYlm@urX|a{(tqoqY4hsTSr57m+P%em3)~mz<8>P;^;Qzoj4EyxOdS0H}rmp8mb@09T}r-SI%8y zJ-nR_Tl($g{Bs^8Km#(y4Tw-r_tAl;`Q6ar`@o#74}+W^A)JRl{v{tjSe{~DAN0l7 zyia>SC=u%MDIOeA>+Uz~7cwlL$pF9Mz-`MuK>H4o_C*-u0~z*97WRv`{}yuZs$t>7 z*Am-rG4Ojd@OvPT-);c&hoxl+A^+2FiT;MYJF17{{Jl$jjf|&nH^9)mpGEh=2HU$7 zc-yegu5l;W&t7A+E!Rw8iCyQnK{@>#GW01ZF_@&0<+;)8?)VE0F%-M^9Vaz#grtQs8Lf7(YX@LtH`- zqjF6sk> z?QQNcVjZ{_fHmz+o3ScZib6aOHaM81Oj|%Uc4*Clp0X#6D)w*0>X|Q-gO-tpxWRxi zQ;IC{$H^n`0aOmcGm$D3lBhI~q@$FjNLcZKeeo}P(MGCtKe>sMw{U5h`RBW-Jfbg;^n?eQT{Jy(=efbOhSy7 zu&0MHjP(1(Ie!U+K2Sz`WA2njePfX>^pFkNkIjP_vEzdNzT*YoV!S{d+J$P7+=byA z-=eM~o|UX2_l7h`6XmTR>>r4?V_TvQ(h$XQMEEivqrPK|?$Yna(6RUm?B}7r41xHm z^p}b9uOcQt&Uupw`E>=X+0V_jC?)8JndC0e8a-LLL!2$?=4Avb(E%j zJOrrylZPP2i|?iQd#XJ_;DvktzFF>)eCiX#SLHd=!c9@6hJlBTY*Ozm}F)#PY zZ;SbWcIVDL10cs-@EH+xp6fLKsH4a6L%OJf_kL#-@ZvWTN3u1!T7xfe zNbI$M?4A<$06ZjSF?ossmjsCq8)bOBn0U6ynUx^1a{ZIPWDT8!81 zz(4cW68ZJe9}yT9+}tC4!_uz$poxbiv51E!c=ZnZ2pu?H@E=jW-N3*1z`m&%&bPW_ zp9c_E6S~WgZ-PDQNV{{`9cz7lujzVY|uetdWL|L+n^chgOF)gR1O|8J z<5Y4OA$wY@z~|in%1?CdzkQ73Y+D_aj3UhK%0rh^p-!0=GCfEL$pFxn zy0}DT6Xa1C_9%H{(rrYO;W5sP+lE$URwUhaAGLm z%_o{dertNKmKDc6HmV#gx+%y`aGq%sP*n$xKT@@UgG2h9NLBKTsm93UzdFUCeQ8u+ z{c_@yA5{mzq^?jRI|*H3KUNh2pVR3C9RYf#i6G~$^p{OJ_x-Ie$w@;+#=We~8C2z% z&C^Kw5Y@{B*li0Waw6vKTD-&dQq+E=I~w-(blv#chbMY3z?az?EMPZba5V$a&&8wy zeUrQg7WEt|_n*MfFK*o^(kYL?xEcOa6Ph^A~dsMECnXHA7(lY*FyKBIR9e%R3*nULKqTnv-T z?}(x2AT66-_})Pd_?7jL!zx3l|CrNaG)R$g3~&6x8h_38`)~bA2V?GiPv9{EEi~io z=u+|jfB~vYw!LJX?JK8aZ-|Ax#sp^gxklu3_*`*J19;u`msJxPv@^qhY=gL5 zKph*4Z0&Cj-A$cE_qJruH7TSyInNeV+4SW1-&ZSZ;&bV6S?vC026Zzu`n-$X%*Lkb zQg~xB3uB2<8fMfb=hFSQfyDZG^M0F`9DHYW2wLvCM6K3jP19lBt4vG~zdlP92>STJ zl<9a#G0pW5;T`j714ID6I5pwHA2-wTG(=A(;ZGf%4*OfeX%5>{TSmPCZ^d*$I`II{ z%9`8C^b5tuVl(ton_wiuod88iR8KCA2A{**r87B0FDs-rCDa415JpTm(0zqY95|q$M z2-07rhfgdC(&(A#hpN+r_keF+gDbabOk(xB&+`k1}_qfOi0+1KvbiK(P{U_MI&sy)l zS5-0)x1F=<@sc#=?X%UD))t5jJ@=kc&p#I>#eBSCnh@s{*1Jt9D!9IRp62)+3{+Xo z%rgK&S~(k;4K&8o;IdGyXy8fy$aqCNi5$WEgE@ht7(mO=N6B&_i-x#)v$xq*Hs8nXS z$*yGp0MW#nj`nNwP=@yhc-1i({HX`15xq?jnQ2CTHKKi*P`z0OHLU1yg^@r+y3Oim zga^Tkfi#^>gX~eFyW^hh&nfPCRP;XZM3j)hM`FWMP7x=+VL0dGr-kDv?DMgbI#f=V zrFq`sx%^ZAw8eUBQu`DPLvC)eyQ|d4(a_~yb39Tp=y-mgfwY`8uRy1K z(i%|X{-)eF{U`!zmf;D~kKcv3FB*oD!$wcCI*yfKpjvNgFr3qoZ6jHt+rm{DoIBtg zTe>gA{_*D6#q+b|9n_`3C}!XUM>Fa(s6Vc+>m+d4jK<6dwZo3mXiHfpFbJka>mLtH z4*Ad6ewB3s^vv#PZVvBt6`;tVex(s+-q4`du;H+NszpSJ{bKk-*|Y!0p@V7fRI`0r zj(goa-K$%K+lI+WFctR1x@N1ZR^-ZFa*ub#Bt3}xt=l*J};0*A2-|;Nyob5 zQ{?rnJI&<1n#w+?xhR>Hp(-{5j1|7mQuFr$3Hr|ERbmS~;HOHiA_Cs=#ng*gKwG1~ zb!Q4)Qn^3#FC^i@Ufl*9&TYTZ<}eaw+4-8^cWg_fp~=>9*o3r=1%e{feND5A|L-1H z=L>tlbM?KfKc8UB!qZ3eOKcb+)GnQ?PFi~(>HA{e#@}~TU!rnLHYwRJ#C1kuGE!nP zt0sr(ffKy4##B4&x2oWm({*F8viz0l`s=%C+K~x@8 z;{Rg=l}g%d|GMk~VMm%n|I!U;OEuZm`ZxYy#dTjRb0#b+=Jx6-_*dm`mCM1h2eOjS z;mTf?Yj~!?Vi8ohei&q{2V`r*MVZ}2Y45zO4|9-@+s(0u1_<%5F&mqN7JM*$KncuMc@LThVBV&Cv3`=!S*q6&;S@}a^lObUKX z(b}OxVla~W#|pH$Kw83@Ib-#Gk@~uA{#x%L`CJg%-j%I>`1e(2KUP3n{JG)s&=*gf z^tmGLC^L}ne-7mDH&HZe?Rtf!f{FGcz zgq%NFy{vPD82!+K-WKX&8R~A`2=-j+*ErhGgb6!!ulF7n7A{w=cXQe*w;=aBu1{?& zzxm=l)diHpNE?=spV)3)US~Chh&xGqbBY>C6Tg ze(v=xrh8DnSK$`V12*%C&3{+{$UI$h<_{}q8=Ql1%3SjJwN1W{|Hm5B9pU6$?zi%8 z7#V?gtnSo*Si#z6h6OHP9mviumvf_>w3EiV+U~omD1lR#`&4!Q7wFZkS`pdOgf8V?g-_#YzS*rbmMIdE+=5HO1FZJp- z#6GIPGiU%IQ21UGVGD9Bpq1&@UAx9NZGTAiwUB zVL#xPxdJ({tKhU?n-^0vP(Oyjb~jR^TbKDavHc+cjt_nx4T2k^YfMqDUkrvfC@v7n zHUjj^InW!T6fM@4Vm~4H3v>gYttP+qfHKAhGsedQ#>W)KM-|4$4?NI?{b~pQR)_sc z2KU0t`_|hQ=Ve5K)K28#aC($Co zyxwaRFE{$TQKO+q58z9WOAcz{LcNYD9UUD6 zyZH~i50!yHGnsG+{E&k!I2e_m&cRYtB8GUGx8EeweP%DY1>9kufUDh}J;3kpu^T*` z=U1{q1rD6hBLs$VIDP#>Z?Ljs4#Mrc?9eQKwpnMa`9oy#Zht`bFMnt{f~bFck`Ns9 zqh+k2w+_)HQ&0C`ZwDCtr7u}1LGCicNt^33v_P2x8up%{Bh4=&$uSgzh7ms@0m_qQ zNsP$LA4dhngmg&iFrfg-Q$QGMgvR!q{^)*cz-+$^&%j;g@M9PGTC%aTOCt=tTyRj> z$O^dBozLCUKig4Tuyr^ufGIEl)?J`K-CrEcTjtJ3e18x1ZV#M?Zhs0y5ABg)Ju8-A zv{u-ib(Qm!pZs}P4cByw+BL!T(rtT;|MAI+T|^oPapK|eR?T^p`M-jv{%J2026 zKW{7&J(IprdrE^HNw9$)q|YR<+q4%>gk5vO3&Gec@ZS;;dYDetfHoFnUs==xcIbBP zX+ld94`tb3w<+Y2XMNU08XE$aGcX%v)W+ZKLYHIcTHgs8{A8;(GtId+rB8%x$~<{L zSEZ(Kv#4-0*byg+!Rr@5o(TJz&~vUiF=wAOF{fSl(~Vl9lQPXjM_0;mu(srEgIb|i zWy?w5x?=sH}-8-+gt z<=Yw3V92vca2w<51<6+&Ou9otwjI<6Q>5FQ6=JH_9x4dLew?ug#9q(et1iiN!m$wx2lh%X6>jc-b!^1LIc0^eNp z4+i31)GPE4lYzayh?g+7gkDHCMV{D0o|}96#4d1Roqukw$US{ghXpQ*JbGvkedmSV zaIUCd-~TIHL;in@;=ug>f)s8Rw#-cbEnMTi!;9HdfydMSKfxUeKtQDb=ZF5M#)96& z-Q-#a-X8ZPz-$pP(XB<`0X z_`BXr6ueRD4JNMZk7ou|lI-n_SZGOr1a*p9$-9vfTV5gxRfUgN9ZPoXsFtNw+7v__ z1^fHkUc8nijS&E%;@KtJZqJ#9|NE#krsaF^c1P_UK|jq({s>P3ZW#J|$yu2T>#~*B za3Mk1CZ&a4Gv`EVifQzh%yT#^1=ZoOc}a%64tEGY6t&rpJ1;0La`NalXVZ;w6C<=Q z?)oi|mYGpAR&#knm}>U-@Jz4}N>)|6#^zFDjMy@i(XCcSz0W9Q)BaE%M!@K?YeWCN zH|*VL1~hrPLEwKoeHRH@rCn>aS<_^5J$dcN3oz;6Z!%7$d;n^Y!{^OV9r$3l(BN9x}PKM)M$=dhPn> znmYD&3wS0wtt`XZd{w1Z(=>i9hTKJ$ouqk+f`p|<$b3PkMzp-!lnQxcvQ8UotB0A# zw5t7aTt|S9BOcMUSO_#@CL;)`I^`vIMs>hJ4(p{=D5D~mzNJ=Lmu>Z{K2A0|#=7)~ z&sXJ~W2jGki)<^Z4*Ws-z2}IV0)}wonST;}b=9#It(gw3S-nNeb_{tMX3WQz7D~9Q z4Xfg%l5x3Zgt1x3!S#U$<{uvAVOYmo9R~RtoThVIP;g}CRm)ES&-)X_j^g5)G5NA-)~4wO$I zj^*kO{l6cF>!KH}o$=p_@_2&1RAs4PAd@>KY*{z6&5mShE1&sR9i<%2M+FN$jndja zAK6cX`sNfcc61$gEQzxxYdezpshimc7UK2YVfWc1DqFyht{b4moc$W#P`k88_?9ol**cG4hFudRSwfha$tS>1&~{J~%ZoRGP4U^$l|LqRWWLU_?a;hG+Rd!O zimI~d_V#$OwOh=M--;M8^Z>P`{t{3?oD7+G{t8MeJ`z#=3X>S%&%fFYJ1nV+BiI({ z$eDY#TqA^Fe>D9KJ;yiL?kwAL>PVgAmNpjf3@+?K z>Lprl46`Z+bEr!azD39Lo*7w=VnY&c6?ybp6?8)Jii-OW6x^Jm#Uwc(Ug>K#W!d3E zjIS`!5v9va7J3dxrQ6;W+`e4hK3*~OqnwqGf+0aZp6X<wN#DqJ=dUJ3;^@Bne#!pbgk);}#z zp;+l{Oeqi2wfIP_Z?Mb+&{}(t0o98J!wc*`B}A%EN^#1?q7_MRsi4&?CB4qFRLXHa zIypd4J`A^lO6K7fpK^33g|Wb4trxZzM4Kalatj;=B1aqg4)C?vnGs@fNo{atgpi0& z@R+x_PgqJNCSbbDq9BDPccy|F{(*#xJ9{YTK1t6)duGGsQ}KPdQ)xoXzbju9vKGp@ z`X<^{gRu(_Pkmz2#yb;+keHiXJax3jn~ufp7vE6dQQeV*yP(Y}x*4Ed#;b)HU{iYg zgM5X7V0vU>4lLg6_>N)F^_3OzrPSpaR#H=1SBpwspVXW4ne+QlvMoLZ8ZCCuam;_) zEbY$QhS7_r5EK$7cGo5R(a$MLZ<1;Vm{Ps65N@c#P?q^gBP&g0sah;jkSzZGIOF!q zOC3hVD6}rCEIjGpzKlQYA+F>!h!Y2x)gonmhXtcJn}4!hJG>)B^~JXNw|{VK=C3#S zjR=3IjDK-E1D2L8TO!07X^(j;-1WI0QLn19Iy~C;;pulbC8_4sdyh!4$@AX99rF4b z?5cmw(Akf05d6ZJ12SLZ*^*NaQ4=@!v*QXSlD$13u%CYDzZPP+1{bA7M$yU+AYgw8?hHYZ zVoN6Y_J8-;WL;x-r*e*Le*L>9k(Kk8rRz2eNqiX-aZw0`wUnw@;Vq@FSLKD#j<`#_ z!uQ}D22q+IdjZ3Bypb^M6v$DWqZPK!1^Ab4lR4_%iA~{4)aQ-6V^ujUyTb|I8BR0> z+=w~S&Oet;P5wWJnHETe{0fqO*#LS-HYMgqsxQ`b$SFV5nn!r8xjH?Chq|ie4_t)@ zZTQ!*-7{h?H?(k=d*4{J45)i=jPq{c-luu_?jv7!09*0HSWcn#F9B%Q1v)KcE89vx zav`6TY0edk0{JW+{{qtlKA-SY70 z7^|lwP3{+n)axJ$a-LrieCtj@h>eyf`B;bVUD+>3oi2@KGq*+M&~<(v`Kw~Phv}P= zdJ<29NP=3j3zR3d&g9>jB58k7;g5joyb&x>)`(eo%u&is(c3<*w}*La!sj0&)@6vf z^!Ianff1MQiwkDZZzG0(^6nzkr1aba;r5JwKK@@6DV^%+k9Uihc#d?dadFn@pD(xc zw7YQ&;rFS-UJfP5+%z%m($qDSCchTK&)-8%lkQwEe*e98qi+3J~GOiF&$pi|+3JH|QtdN5Fh+b^Dd}=91^?D-jphvS^khMi{l|`bVmHS>kNaqk`s4J#v+cKHm~$q?ckBD@8gj}?62%fxYo3yy6p#5P6tuEtK7k7Z4ok4<6O6)kTI z!fb^HBTw+@m8`}$+t>+3ePnrlnecwQcDQDCFKAu3>;CQqa>-u1(vr2C zOBC|AOo&5601wA)>OCyag8Sz$_Mu0&$ zkRV4@Bb+ce5ied5pe+hLN>E|Jp7O+g_kws!&XlEqWR5Zm_-|XQpPkm=w|u-epKs}& z?1NjsJC}H0nXK{Ph6dBWajptdq;-OLHA&EOZzk%6zJG+_V-N)KFE$p8nN}LU(B9oG zGX~O@I1k3w0x6-S9grONv^M5W`DZt|HTi7z5Tp^tw3|d^&!vm*b~{^(i;dkd{8{oP z_0%QGi_!lsaf%j0Rox_GICT;%^K7KqFcgg*uvv5xWA&^{j1Rx;!7B>1>PGS6ah>)Z z-Q>?)4^1>iIVh&B{*rO$sIN&*Sy?V(vnI%iCMxk|cF5w73&>G}KQvHcyFdC-AOF#a zJIyRHw`NR~uUr(1(AFqAbiuV7&2Uz`D}tp;A?)Q(CG#^gS`bO?=A2>+bFnoFVM{nj zj)+E!5Nm4Cxj_kLoe)7__-tb8c>hI@oqR~&;lh}sJ6x>;d#>w{t}-H%sVGs&B)w_z zVhH$mLYo(L6;q=y}SAnUe{oyd(`R@)6a`bY}vDXgFzCFO6TU)1)ILaS$n7pOx9(1 z8u_0feRM=t2FLdS#w4kga-AO4)Lwmy4=oS1p;m{NbZJ z9Cy))hs-m?Ua4MzM=nD_sh)>u+atdTO!~90Szky0a5&)fz5w! zf1&@mxzh4-R}oFEyJ0B^2yI?B@P}e|A2J$=pXY&NEKQot;^{<9)C-F*J!grJFK#-w zMGL^rD0bmeUmYudzn(se^}U#_zUjP)yiV*}oM99l0?A34LGDzQfT?H6j@s?ez z`aF_Gct4DJcWoEn@V4FDW^=j7tyC!c*nNrZ`TMQ0E~&%36}7M1GUzE=>$k}1>ksFp zRqKtE+bls7t0N^oZ0AW+(LHhD?-shCo4BOJDlKTDQ|l^gfrKRf(aZ=Mk9RB^+L#yl z-BU8+er}xBQ}V|I8-=yRwVS10Ix2VTq`bV&);aj|Q!j6i@GoLo?Z(071++6rYqzuP z+HCK>fcoC-;>x4^)CH~EG7Fmu=f{AAyxDnXFH!v)BuKA)zO$^nIwjs;8eLSFH#f*Z z;^dMet4c=^uJ;~L;O|^~(1G3iO_f(_{HGLE7mF>}cL-OAeS+Xdu@;>e7uJ>Yj*n03 zs@$qk#anBsxsi8_t0b~ul~yhBqNZ-ivD3?Q=r<}OyL@(zddxQ*JOSAj9oZI_+6nuR zpJ<0soQn>H{5s|9h(A+WY&arjIhGnJeY1+Y^%EJbQCnRK1gzwjHK|pl-MtZ>3^r9( zi)~e?3S0flVgUVc|Io^}NQcK#Imy+o2}NDaBPB6>7V)v2_86LN^dC_XHJ)`SQ7wag zjx~{AeI3I-qT7MJK!#T7=49rmF?pq~X(^2OXQ?dxNbdpBk0^!XRf)mXHDN`)WSOJ# z@?!Fl?T>6}tS6nivapMdC;jGHvrbEFWN4)2496qD8T@T9X-OMh`PM!)h1GI&BqYMZ zUWGj%4-#a@Tpx-gL$}1FvZ}_pl(EDqWpep%IjvQt6JvaJ6-KtAT}?Q(x^hPlm75`n zPV6KOj)Mw49y1rkyH_AFhE9w3%Isw1qjv_~Ezxf67jRwQ7$%GdHz;p_y@2-8${M;U z05pJLPY*wE#b0;B28!TyXcs?+xXw?#zmL0w4Gk*EuBTAnr$xp#%hsRlvjeZQ8g(e| z`1UZ<+d;Osom^ihiJ^7^bM5$h%*t`GkY^#YdetsVZ+#bT(7QmuOMcB2X%>wV&i0mk zN!=0Rb^KRbd%5}bW{bV9nSPI0sB^og6YSW>$Y+P_oP_a_DXl|W8y5NVRTJ^mifARZt*FRTW7Q-**h zG>_hT`Jkz=#vv)^upuop`BAzM$A@3`jKLG6Ny9mkQPS589bmO-_3tvDK4_EP{X7gu z%lFlGn3rdBoRXUuqDWh-(*LP5~kl;^klzo7w=C-4hB&A zy$!N7axD;uTRD%Wy5I?D!KO)_Ha^LI^?XJae4LnwxD_|;iBUF4?qdjgu+h=C5Pn0q z$C+4{`aTN3LNNMtT-C`+T@!YUy5-FHxs&zL|La*H$}@@p;rAJRrr!uhp-w0q(YOba`}25l zr6VPqx1#+$G)BxDcDTvE`>nMmZ^oi<3ra-Xj4c5a{$3iRrg#7a0{O%=s@Oinc6su6 z075dD!LHuu&pctWsh{^p3wvAoS$`L*J>s}V?Vf5*0DiB8JQmaGQ-XxL88Omea0)z~ z&Ftw+XJzSI+a1(IdT*GsbPvJ!nUfa=TQKvJ4ZeJMC{rEY?oK z+nX^7y#8{w&~fg&JWX)D`Tl`)*MaNs+A)Mw|J z=ZRA!`1g3544cKO;}Ptdrd@e&exd=n^>OR zI7_IZqbN66>@=k+K7&Q|aR+MaN|#~n^@Q3#cYj@tn_3VKF!H7}w+2km5_lc%ZM+cV zvO4ov_uNMf-bE9xW>v>l4$L(@`@QIdOh|<`v15qAsWPI}(3f5%>}3e#_fzLLNA2p&f)+CjM^GiPiAwF zvSu2orVcQma0-v@Z|t85@W?(z2N1de#f?b#Hw!g%>?e<*Z4t9()@!-07t9oPY&C;g zno6slp4u+aJ11;ISIkU5a;Pw9b=KUR4rAX%x?rl#^!HdN;Ly!G0kv=cJT5lhfVhbCyo%=hHm3SWL2v!(!a8o^za-=C=+#cwN zRfz9*N8|&<54_=PxGR=>q%{x{Wch+0Jf%M4{wqhssdisQ8B69hENeqqKL>p3sMFR%iLIyEQp9vV=JPDlvAfM&K@q}B~dV>|Ec z{#$ksvdF%uRk3*}m7SVtP?_`mOK&v(+2R-!dg#mr#NUx>+{j{;hfkhxD%#W-Z$vbC z{)|zy)%HGiKY5;>(-Kc)&aMP)RDiX2M|9oLAPUcdLh^D*{vcwRUdx{91$iEl-Qdiz zkR5l~#V9X;9@)b@oM^G>>RwI$@g;X-k?)~^O?l$2e&hE`w8c#5#g+fHI$P z0$YaB6MIInwK%PIrd6D{JaO2GLQzFA7-wuc8xJVn9MD)AlXw(atLEw7)S$j*21L5# z_}Ngvgwm;$9<@m>HTavslB8whuQqs{)rfW;wGy9-&DMhrP_gr$^fy_N!bLvdY<-Ua z92ITW#$1KYRw~T2$nW-l>28;LMV}lv9zn1D&FLP?f=O_l7cTx=ZN}p)UjcU=zm50N z2;#8Q_sYh7_iEpK?z&lV>?~{^j^VD21Ik>V4SH^>xEuzu6UC+nKNS7#U z?|K&(G5&EZD!2q>jLhTO4H7x+IbPt%D!;p{t%eu)t{+lettEVTo32K@F&VgE%VW!O5p znoj{W=g3%eUbK7(=2tLUrYzvhP?J?rt(AuD9^H;oercf_1k4@aQgd+uvAm~HiCgYh zg61bn{s>-MbQ$|*Db%lSEF@?~{H?D)pCO;z#+r13lzL#*I4)qosi^M;d$pq3+rP(! ziSegZWLy@aweI-Hi(=q@XElc=E}6eRp9>KpTJyPGI!VJhT0qG%puhy&pKjGWaBJHZ z#cF7pdeuBdd6RltpN>e%@nqz5^zDHN!HR;UwvqOIxMzk>%1~_bD%^~Xbmb(gj}v1( z%E(aM-XEuoVI6zCjQ6OHs&t%Y;VIZ8Y!xFj1t!;)#O43u?3`jniMlPlZQJ{7+qP}n zwr$(CZQHhO+dP~1{K>typZcNurB+rYl{G6>DP)W}KJ^k_?9(uM)W~BzKi+h4ra04R z%BS)LNo3(FY}t-bA_h1dWQ$EF}--9Cp4}X>nIdlsyX0)+qoVZ zmrZSCySGcPa{!DJuZ@=YqZpE&Q=8G8BSMiQK#YlA*AyDEoFg?@BLDspM?y+BI8#Da zO0xM&Qp1ti?Ku=OxE($lCS7*f_Xa7pw==XI^&3pg8GybaX4{o4t3kmj8HWxTXZ0wo zfRTTjBMj>F1n3iI!;kyd!3Sv;;}apmTA@!yi)D06KP?0S8&f*8N%GVagi%T`d z%fS&p(cnoV_NUXfHJB^x$VfHDzesN^m?fmJCw7JukY#(2;B~cz& zbrJz{89%rKMX(}}@-MiuRqafT=@3g{X|bZUS#z`-gMVNcYU^w-+=BV@0A5DWDq_Ri&&rr1W~ z5vE|q$bxKV`N6F5k~|ned;uttrR=6deofM2{hkPZI9%6vn%3XPqGqS&pN4X(2SpOt>23^E+r_ zv50J>7E)K8@6gV(G&g0bM$9Df_h~N3T9ObvdFSU#JJ815Qg~hhBrB5pfGbguE1M&p zjwjWuVQ$PGCKscUMq*%@2+1d|e>Tn-3n|de7(fJ`?G#Ekwn1}(7f1zFTZgtr6Jg6% zWfnSK6sCsoplbFCI=_RTmXNiWJ;7dgP5xC@p_@(9br2G+r|1G|rP%l2rXMJ50eX&D z{7%%4$O5g7tCo~_K6?`OLzH`7Nj}~7v3H^H3PyyFDWy)gMf){;FXp)o?dVAaSLzih zAEOaO6vooLQ9Tr@;`2fTJWVh`&263Q%COeVxECGhhNdV*=UDPCij!5- zAdDC)TMy#et;{O=oMh)7%izwOR*DH>)=-5t`wnct8iO^b0Hri%MzJE|u06m$*{T}` zvFG`XYtWG&^93|pr+BHu&L@31I7y$=f3spS1E*(!!#By4v z7N8IR5_qeG<@oz~N&WW&X`)$%^(SwKv`?nOu1Ur>NHJ-PwCIdhKWmyj-lN-w5p2Ao z*d83leK6LpUzMvV=W2^8@JF1^n2cZmys3o*VYC9(694|?J@5wB3-p9zHyG^e=Id(V z)i=+t&Ccvk@v?gqbkr7N;pg}=UEBFRxYs9i7v~&prYybAIN>Iph=aE&W~RwC(XEB6 zs6`(Vi=uSrov?--{9HVP@TZLc+Q}drsww#x8hRh`9N1tljWGrwdy5`eIypLRT{w&H zA_n-m-?Lxb;yJhKHxF-n(J|!$mtyp7y6>cC%p8I>jnQV5Gj2wl;K|PG#1bGR#l)XzOX3Qe{>*D00C` zr}Aj?^^~Ok{-%xNYypQ8v=;RDQZB zc!n_U?A8P3<_7Zi`8Cv)5e6SpjjW~Q)rU64DD|#%l@&+nQ`bhBA^KYOVgweG#HcXd zWIykt*Yho*PlW^?TLp$Fu0-5dMeXS2!|etx#I1@&GwMLBxN>Cm_In_jg90r}jNuIl z%_*(-V-@?--FI)Cq5EZy(bJ4qA~x(vaZ{6@!2#IHYAd44x3-W*11E`^Lym02;WU>7 zT9H^!mf^h-;%sR5#^tR%F@!o+;&nuDQiXai=WDxD>}6z=8nx(5Q@De5(#-`PwWrka zW>%4*`c^mBr=*!yo+IkG3%M(n)$&v=HPXNZ|MGbMK_$_6#qh7NRRhZi{uZrV!@6PQ z05OExOp2JVPLZZ{XoOMX(K>3fRfhN5dBo_LN)CFuaoCfT0NNAsr{mR`CtOjVa$t;EZSBBfaJ-D&Etb1&r?Iw@+= z-5O)z%^K_6x)>-^2m zU|Gl18+JPV{Q3TU%6po-&EVL}9r-i-Vnj8zepE?ZjkZdetXP z5DZB*s_CS&VWCg+2|(0n2^qClv-`dMw#dlz?T@J8lIX$vFDK^)s9Q;o1U=@vE>K&GB zym7T_Tj^%p5qO|`SNiPZTd0a-{P6`~Y`tk)T>ZML&-rZlRtI6E2SDF^FLA$VWtPFP zEVN~p&b+OE_6|T_SXH_4)aTLVNK8K@=wDqj!6Q_DGyO}5`X~RHjzLDL{ix}!jRvrw zgG7&8l2${lX8tn0BdF&E`4{+bMb%Y3X5$(2%w`+P{V4-}I0*q0lhuMS6)$x0ooxSx zblk)~#PE{UBDv~3|EXVu;)M?ZAW}_CH+~7zZ2crcmZq_K*;B6uc$N+~dfg(7flmFz z*X|(YqHaT+P86oPNm{|R(f_LuZgic{ij3A5)ZAT>?JvF;3P5z)98~}QeQ5jcgi5 zD#wxpo?Y^3^C1X&xXLBlx+K0iSMuT4sgyM{<;uf}*d*36l!H50X-sjRN0hadScC;B zBihh%oVKqxQxnWX=#>}cgO>DZ^1galzH}1sDIB*Z&QleM{0xWh)7o34HtN1KKu|Ei z!b2%``Egc3X$q6RwcTO@02iVvraN~c!{T=BmzWLXh_K8ax-@rmZa=CJ>z0_~{oWFi zMQXYM?xXKXnWabalmfc4_n6{x@vMfY0wvi+f433IUi1A=hdkbaRA9da)Pv{sCA-CQ z!TkcKYLWz~R&gA@4yE<|KLu!EN0ik{`;zKjS^?xW>r*9{Jt8qbM2zAXN|bUUkUBLW zCLa0zk7a)TLs#*o^VfrDMTwwIvUspm3-Dbbk?n|TqzhD9jp*DZG&XT6U|ZvD@XZ(MBR#Q%nz8MOopBcE_BB94-L;3c zFPD|jpqY#z1+Cw}|3^}~`zI-lRVE|!Gyl_)@&N!y{_m2KnuV=|y`qV=fyaMbz}K37 z&Ppn|eG)>D2%BOO^t2SPuYd}YWtz@hKuh(@>Zq4ei=?xEY&4*GnZo54nW}>XWrB*+ z=y|x{=x4_-&#z|{+>BFJE(3+9SlOY<`;&P*O>;Ef+`DSJ^6_AauD9;qcGJ>|N0`j! zHk$li96ug!-+n%R-o5+YyzY!v-af<;35J3EGDXGt5J#kboc}`nNK)!j5rmayr*GM5 zdKlU^dG4XTmHum;ywUdR`^;^@X5&S0`90xuGg}jV^TFPMbpzXZ(%_X$*8fPjYt*Po%%~sbhZ`X1znhuYb6`pRj)b3kxIZKoChM=>Gg7|cUu{I|~Iw_n% zj%-pWogBfa@IRBUzSOc=DqY5Tv*hs7U7xNrXYP;~NijpbAJ@1;4K@^l%S9PoB#KgW zW%%xL+vw#P-FNDn$W2I01 zIBJ2Wj2$A<2AIpFdMkeff@fkaK)MfV_j8%s)Q7^r3~05L{CYYxWI?wnwDLAr;!>xd zID;#H+PzhW$G<|)f`m}kHyjWx&Oy`glh>Hp7sRT6hxvvmsZ(=UT&1zjqte&+Xh=C= zdo2ij{*uVGbkCpMLMSkg75K|@t;%?~?B88Hd@X=&;6W`xM{dHZ=&Kl_)>}Rv!0pe* z>YP)sVv<{;NDIorvX09tb-Me_OD*=g%8@`k*|lVQX>FDn^4x6I57`kq*VD-1=;JXD zWXpdx3bbYxDhXbT)39os>rOm?-k@_W>@sLA6c>xYY)Xr=2)x3++< z(DkIWTOyh`xlrPhQcL`&o;6*;0}HX87q(aF^-u zc>0B|AvAs9g8PY4vOdHCtcb`pbcKK6!o)RtC3oq9?1i=wY9EYX`dLfYe;1HRb%Y*B zSl$uzvhs%zE_9U85C`wJj$(L-h6U6e1Do$7CAHz!kNMyP#N?|z z*Ztif9s*u3Fi;8En$Mb4V%-&Emo$Ig+{KL>fzDdY6wLFF-2e=@^G!$O`PQ{v!lPBG z67@5P7YupjlK{_gJ6TDTTL@q+AN{yp(;fC5nL2iNQ&4|KCopM5@;&~m(jR`1>o5rM zG>LlL6<-7xFk~)7p9tV~D`L3pFgKg16;J~*vpt!kYp+|Vcd)6(D)fM4-Uc5WU=s>zu&H@z?Wk7A zI@(Yc!mC7#V}hR}{?-pIpjKxO(%i_|G6Sjj)G~d0ke`ZSC?Jb6Kps}lGLZ;z#KSe& zx>GL7Kas${cJ?bh=FsX{v|eDNV1%T$93t3-UhY!kH*pX}V9f+B;MW3!s2kr=&#+&J z*`{P{U0^zP&EW?!f8f>}j2rcwa6};hK5f1+l1DqS=mZ(^OJK|;0B1>b#GYn{z!0!) z;!KKbOa1^FSkYNv_4<=js*T>EJ%$fKYPYskw!3b|gs^s7kW~MJm@Z#`G%UdJ!;}L> z-&5(cqu@j|t~+uIQu8LI@F?2b^-e z-+01w1I-^3-VnS%u|6N4q31p(#Ntj4y;ma3g@>=u#bPzD-7*LVl2`9{^3*nMhXpief&uWD3Li70uGG`yJVwnR~HNfV*3MuUqD}o0V6eehj z^$R#kav@6QdSXKD%sPaiSb-06^MJ4{3#k56laKko!g0Aw%gBflKe*+AuftTlS%Qj| z)==$(Gl;o7cidxt0L_OSng?f5xQBpVX#`xtB*b_Ug9K6pci>-o)a_s>FJ+P40?=j% zh9JV3yf1SwdJz`;$8EKrT^r6-)lsgz+d3uYuQ_9w4goc>t;4zet&iJQ-s{bM~mw4fg~UI`-w0wA2lE*K?sBtrP&u#g0` zGzr0J@6C6B-2Sy4wrY=-8DN49x2n-p?`gadskra{M-9*;aqu+OpdS+A9|* zmFAjNEyVT{WqjiprnqqjJeXss_Co6=6Pp==@z?v?!`yH40y~Z#bS`cV) zqw#O3!uCdyHOYJ^zR2%pl!ly?aFDuP2n@wvt6UF$Nf!(e<-5R;!OWt_t6@<&Vdhs5 z%P2CbeCn*hEgnzlO`0N87Xq@Tp{MsnTYXT->k$u8@#LoJYw%4hfbga1Ck)^}vQ7m2 z_wxmqSA=!ke~~TNt#ZN^K(W6AD+Y&<$I|>$HMc-cFX{l{R|G~=gM||5T{G}P* zSehti1c_7Fpd@_6H?G~WuFL(!JDgrz5B~?5ru&g}43KkKn3VKH0$Yl-VASjD~X)RnT#=BGwWWXl<;2!{5domO7=pST! zI~8yBEv-qz+YHgS%GFh()Y*+f7!YbakOLifjl~zC2{4<;AA~-gYfpbxU6kr(z{8w_ zRB&Rforr)B(Dg6Y?6_fM6A1lARS>hCJo}>aYkq%6mMP4t8Ss@uy1l<~QW8BL+qQz0W`er#nphHybt-KOfyj3O_5#Hg_9B5S(lI;5r*SSP?2{E??4)k^;aaBU(8*1RB%2 zqd@r*BvKV3NS!RX2`Xynt7QJbkfbpD#{AzC4($>R{iB2f#5M-=RdICj!-XUKXqCMc zRE3vCV-l)uEVlxCRaRy(>LgU#ymGH-6SrB+Gr1+lDOo_J`>qI923qV5NGmjuZJmUE zx3#RZ`|ByK(WbiX+s5q`VYd@uS<9(Xv_2YfCM?T`+{WSJPl?>4IkwNC%s02Dq z%5P}v5!Uzq#)ok7bM~muczrSiQ&Afkjzfcl8yt$hBiXRS$e8QBk9M;gwiIW&xO_q& zh7N}ST57bd%VWU@#)HudP%51qeqh zX}Ed5Y4-5>?{h<4F73a^j!V$GY106TZAli4<$|*}FM{V%yiuICgXK#3 z24UD1ju8Wa50MKhhefO8wS|{d(q0cH;^tL|6$I@7{i4xGST%;zh0zP5h<*b-W6|GwB$Lt%)LJoBDVIW)mo7uY!4g5f5ELYGFzYr+N%Onh} z%!+`&&y4`dxd$>g;7zgd2xr$n>(KnMrt#GAQ9-Y-! zfd{jYF0SxeG~X8<;;qBd?8Q|o1qAb)dTvp#LbU2LRJX~k_yFqEA6?c0<2#w53?^`l zdq}^gokpXv8m!>x$RXg!cgE~@0U02r7YJ{oj8`yO_Q7yeLx2Y8yHE+X|Io=Mo8f`K zl*7nUU;fo~*XPM5AA1w#NL+$-B=ThsBK9JwN)L@%J-8XC5{CCO0;_WGDB{=_K%i6x z1!tcOp19Q9DR}_d+*2#bn@^4AW@akZ-3%-Xr1whLQpcjO!<>TeS{n_CDQi6#sUu#; z>v~jgHOaAoS1P+4l1gd|*buzLRCheK+?RV>i1&mbA3(Gc--+8!ACgAf4#vz0ywn{7 zPFE@Sl9AnO=gYY59{e#LxKjvYKOS_(jKk@r9KJ)ac@$>u7WRrZqU-+w6$_l0*R^fo z$VA7xPNy^Khpku3-hT1Gu}G}}y2_ShJvP%P`6;{MqP?0DNrw;`?$%Z6<~#t@S*LL zK7D|GrUon{uz>&)%W}9KEhY$l8hZ-*K*XDEF^6Ck;p$lt;k$Bq?e%%W`QCRT=X4s-T_Q^ZRkq5KZ%8qf?(!>_VzaONC<}gFi2z|4N75tw?N&L zv1k4SeT`6bzVu5rn09WSC!J!@S0ge{5{b)W_q+}HdvmPbM^Af_d_NW(oMnvifMMl z*Mas27iySnFqrmF>@Yp9ElK*HyN>FIBp14goUk10W!jIj5G6xM`#zO*zAYz>ykR*C z?a-&b`ms+C2v5m1WYjh|?CTC|nyZP5M(VK*BKrC)H^AADrMUjJ z{fv9!s5ykR$MY)>wUSxuFDo4MU&Epsi7!Hz%QvH5@tW)bj!B<{4=3ZY{jDVo{)0E^ zr|Isyi4zmzUoX;DKlRi#Uk_0Mt{mTY6FQGde7vcn3XnRNm3nMQU1jcLX}Li(>I;dm zm$r2W8~>wE3u`Z|iIxg#t(_tt!>3@IrRa>(Bcgs3-{(u-P#UA}0}7m747mr3R=pw2 zfOrR%U9|+Nnp~|&^qB{TKYl*E0`$31DX%y|y9iK!s%UR6#6DFlV!@shozkCu6m&;^od~qUaDS0;8Qz%(KMAHzu!XyBwogH0%0nOw-O{Zm#DViliG!3 zL3pSsM+0YZ2bg`s2}j9_R3XBEo%3B-Cf5mn{G@AKhX+#@w15!RHys){Ic?S?qmExj z7)7>zjOqsn6Lt?vR&+@5b<>5s&4VX)--n@|P)$@_U>BK(=K!PAT(cKIv*^Ku5pf=j z=&;nW13NhkW#6mY_0$OfV|A7#y<&-)+>4x&p8yQz!_(?9zBW+Z+lBjshi3wf`yevg zImDssdsgIhWXy5W#TA5s)B~FUMmM5Lpl?e>oA60{`}Of|&@0TH3F;UJe%r0@^t9xl7BC zfT-AN%H`o9+vAvX`rZB9ef!z_oIwvCMKjT@JEe2c*JpE)$sO(6FU%-oGqptf?p|mX zIivSHhe<{!KT-YXiw)2e=ua+z7$yh8jO5P^h1XQ4E8-G|X&kgqY8z76P*8J>BI>OHvy)YN>JOM*Jmj-4fKZLWXg=-7H#xyIi zMQTm2uwu_z;O5NkFIV{VLK_s2id0;xA^U9#Hfy4SsYrLP#+*u8idA${X>jNRiM$V)4x2u`QpoHyS zvd@9ARZgnxol%n$@xa2JEQS&(=FZ5fKC-_i(ypSb~#Ld1jQ9%eZ4(2RD z>cV_ig{pdHIr{*a)!O$b{52*8j7Da}>|l>GE;_o>hmnxkj!oHm2bt-g9^0G3p7<)38;y)V6N^V~M%<`Cq6KeUV+dpS7XVjl*O? z&6M(7h7bo_iBXjpST9D@%t z&B`ksc89YcO_~Tg^C%q1Mpo&yfQOW+^twlra zX0armW)k}P3>(wG&!qkZNXRMw5fpWdk-AZ<-cphi@}7(r1HQ76DKS2r z&+{FCaeotXXsZ~7F{$EwA?^GR%{a5bA}tNzRPCFK0bw{QfT{)!+La$Adg4vtwcOnG zs%}n~Gn?=9)cpP&?=S@;gD38Dzq!U2p`V*GcQmvOkyh2#@=EsBdd zJtc_`?UVU2@PB-$WUGl;=yh|T+%gL(fhw}VU#I^uxW>B>Hkmm9l z+fsaj3pex+_UW_=QF_~+`;&#r+o|OVg9E7oA1NttkR{<72-t;m78m70cfvtnAjg?LeFRXj9iziq(#&5#N}}Ve&%*LO7gq#%Up{}} zXj?;Yf(W3QXQCU3uvNccjKG3yGq*_(-LuNSou#Ua?31+7e*$8bT6Ze4>7^&Z5^U4= z`BFl7BOq-N9R2c1z8!YEn$yLX&Nn|Q^WF63syyFdBj2Xm4QBG@yH584Som})e#i72 z&|4Np=7l@q69{I|@a7!Z&oD}F-+c^~&@|tCKM3*_Z_!4^A(>|8~$DtW=qiBkI$CcirkGT z+zr%~=@=6B#V`OoIHrxKV2?`Z{%vlSkj_s7StmZftYwyx-V5*=B<>PS`6SyJ41{sLL=?^s>!Js&ugWDz7YSnuGPo z|JG!g_r;YTJ+aaI`MqBIOnLl9|55vNnbSd*5nXUf%iZY5nd6S(2=E|%vOfJgEqW?4 zT`_$zO?rxR>V29rZIuq4fjcd0ir$pfk=PNrF{M4!o#R2~#PdXZdY1l1&qjY|^h5D< zHT{{fXKZWio7EBVm);5biQ!cBG-*#St~Al7>*J?rKfVkCEXF&0nUw(2Wo%clk-4d`<{+k!Uq69%oVaX&f* z8;~(I=k29KK5guS-}$-+?3L0}Z9i}yt3H@ZJq^brD;Y7@+z~T);@sDoPRYA%LHqAxocNVT(Ml?{<4dRnge;NFx^K*{;zi!LBJ0n?^!pOILr{StM#ZsPs1v4 zoqSjk4nu8v0dS~n;rkM!WIhiyokv=wxi?LOa;aUTN~v0Ktoo*|goT0<>cGbM742shAd!lp!e?ySch#0vlDi=iJ(q0Rgd4AQt9zMtlT)*|5h_BXDCPOE)PFgS9TYVtaLvaMd!ujIpBDGrX|z_a z+rT}!x4aCYE2J16JN$5`Q;b=BQg8F^oPmiWW9Hy2H`y%XY~^AeR+eNonGC;Ma@Tp5yRV2I;VnQ~7$Q&XP=N0Y$FF%pL`6Ef z8b4Ci)z)BBY<{6IN4Va29(9TBM%D(@feo=)rX0F`5eDRa{Y1^OLKhV&Y!vgFcb_qx zd1lY6dDYil$+}}`k#0IC3zP9=5@1pOrd54Et*y8i#@T)zDKrN6oYlpz1#`BrB>7;z z*nn@?*jSYoM<>}ho7q?sgvh+N=+};-5)$)FfzJvmyUIkwM=rj>#p^DiiREM+*lf9FY-hIiM0RO8rnd^Xi zs5P{>mVSdBTll0KuMGc*6Kh~fdn#li)zEgHdllN?dmmygc;^%y(GQy zZEOkb9_BRcavP(5ZrCb zw=z(BC3asB1Qg%qhk|zo0lkSIO;o{KybmEh<`Ul3;CO|0^XO=sJ?a|UfqQIq2A*c$ zK&84CQmJc7sns{@xq(KJ^B^sMCe`X&cnJbwij`lf6;!P1oR%tn7%8dMv$)|ydET)j zUB`XZ>iZcxgMJVbw3h?zEfKm?6QfzM;qYb6?A`#LEfD!41RMOpBDTe9XBEP z!E47KfwTiT#M=MWPrm(aJoo`~M|~jLXYKC^{?h43@3$Xz8BAp$H-kJDBb3Fb=+;sh>_VcoP1qGd z9OMH32~(Jb!+jnIJ%K{nG<|G8gvCxb0z|lz#_1?hCVFGw%iJP(#e6>OMnG zCqdIKWpF1sEE0#Z%XaWfa?g1Amt!%F=oc_p4|IB*3F<)kd;|8gbg1-G;YWO5=AA4K zeHV0G4Jt=PJWi}DTcm?z9v6eQJIg?fdeJY?^-g%x`P>866JMaC>CZ35;|g$7{uT7P zA8tSGT~FR75@)aQ7kGIQx&!6#jX(z-&=H~^JDQ8&wr%hc!Vl)QM*o{Wa!gQ@RY*I4 zHsCU-U^LJukmn!3bm(FrQ+*D3ka<3UclLXjd4O)PZa`*0ntq3Ux_&c%s3RJzbP!?y zcwi6zCE8)IE}W<|gxP>S2x5RcB5$;J5R6cJ7=3x;6`&)Kd4L1}IAdKldZ={Befbj= zzy^L4f1$FsuzrkunEr!tY~X0HQNRVk)}VPz5g=L3A|hjsH6oJc@lnQ1leqZd~g&u2`ggkr0llL8wV-8K> zXQEgd_PlkOhkd=C3VC0DZFS{)W@EljUmjyWUoS~UzinPB@yV`SY(2|$k~YM$xhm0L)ZBZ{t(sJ% zq7N5H9BVJ^JY2i6Y`-1@&hRG4xCx(Tyo4u<$q%U8lk-X&jpDy(MPgS2KLn01QNQOx zE^M%beftR6U=I5KIMzh=lpQ3_#^EJgEuz~uJcm!&SHKc37WZoH=k*+(emq++((uY$ zN=YYuB>vl5VnNW=9dzzM;Yo?gvl5wGhRVYyndJJ-O|y(w6Lf9`n{p2pmwjJzTVa9HZ6Lii%;i+0Y<%w1@<;hz)toEM)GR@jkbU~_*m<_hj ztuOJ{|FE~}{8y;cx{oPxH!kHFI?_vKfe+93o3aSw{NTfMyx9xoEdZv1k3#5DZZ7_V zM)E_Ggoks9yj-R?i{j{r$;2CS@!~F->R^%YSGi`KucW=tU&^ogs|v;g&mEk0wxkgC z-{z26o0HBP#0_SfZvSwavX=4$UTxAt7xHcjqNT{RCHm@Do+lmJ*GaP1m1M7EdcK{9MVxm>G2=C-gmLe< z#IZXOyJGll7P;r;)H6EXsRnkWrGL*7t#AP=k}IN}9eK2Z2Bi)54V&i}Yw$P|N+4bf zrPL1gmiBYnu;1+5m)DsOzccUm<+FptE0o1y)F(u?3;~k@+HAJnPQkNNov?Z}BqfF7 zq!r1lvZi_7f)2e(MdZX)J*k$G(mqwCKdp|^F$F!XGb&g_MftQb4Jxa$ys%$YlX!S) zuyeH+E+W>k3--lBNTpyL4^7p}!ocopsS+t`Nh1_ZE5EU0Dzf3Kob@>}Qm=|~`$XjS z5Gh%;EHHg$B0x1IdTM-D%X~Ir^=#18eNyr!WyH3DX0Y;IHlN#3DTJl3|3sF;wNoLB zgfbR|4?$H+K%$^Y`IzXJv#V=ZRojwEPmQ3EuzI9q#1 z7@7>~A(j6}(aj^HX`EzO$dCYQ!e;Ki{U$|1aJz(YE5}tUB)Z>SLBo3FHo5Wf`f$-j z_H(i2>IT%7fy1z2Cr3f`+<{UjESofP%5`gU2X8HLv9OUiA=P?TTK4YdZ=0}Vg-y+p zEd?zN^%nVX6yk+R>mW%ziA1`}hN~M~Cbmm#KwmTckgkG(mY8Q)6meRVktB}WxOS9zLX=fHI;)q3AcQ)jZlh>_0ugC-R?O< zHF0|GZN8#{f`vc2KDryf&2Bsm4%#MPTh$3k@xuj@Azp^9CREsmF*3kF==RZT5-_nn z4LW7^3|To1O^=>tElpNq+UxVcs9}jh94K)9<|UH$R5t1Rp z`I5p2j9>X4hZTq#yxN#>jTdg5U zLas}h)M-18fx*3+^)x>@1KHUO)rCz4DWDW6OqtC!a&SJIlAi6rDp+Ok`l9M2gx%I5 z1@FT5W8rg5`v;m?wkwAGMZzK|@H^ ztFY2|ooF)G!YDb~QbnuE4m?`pTWD~9raTb3yqA&nVh)kSuGj3W!(iJqzHFDoEz?UG zrJRzMj`H*}({nhuTw>doka?O~Sqg-~7A(g1nH=?Ltc|^%N*srDORVNYm$sB8M97$N zb*zaaV@s7dfSj9JzUdWxYummYv1m z#hkGlOHF5I3+3^ehtB6zsZzVFb?jHSA590x-{=vQ@NqE@jE5suY1GtHtOIo9s(->L34I0~pc45^WkNrReL|BXUBqv-ogH;Tv2-J$Q-j4IQMthmMSj3@2s| zHnyoa9QWIsMZlV&QT!m2*@(m+_;mPPW$zoe+hRTDrJWx=IA)< z>Jur&>>Lb1hxewJuQ-231pI3+$v8o)SLmK&JF`g9Z-H%EK*Qg~JkCRT}a z+y&v)g;ruu$`h%*lC9l=%Sx?Ihb`uNhizz$APr+qkL4rG)RU8k;O4e1iRMgj!$fzn zz7tLevNOdIihpOY#5aQ!&M*h{I}Osg?V5=SGt(oDQ?*ARW#Q4M?L!rg>t^}|$cdvh~C(<@_tf;z_d2JY)O zx$pasBK$F_1dyydV7%PwBjmK6zuPAMNL1i^Cq0}mR|NaQW4$b43(sYF2c`F)8gvO& z-@>z~YFS6*moX8oDTVSqFtxIRCTV+rjPuq*{dzp%Vvp>W>up)pKijKWi{Wb*aQiL| z*stpB)7mlq^WA^0e5ds97m&Ko_G=*S-0TMsp=xWbU#$%mWY3(%76`9&MKO4%{RUe2 zWvAv-UeLRN=v;fP7s0vqv%t>Y>CLoR*RGQ7NbGXviy-e`h>6{5orvF&?eD(b+sBXU z_L~($3epUEo6|3AZBCf?Z=9RY?`aR+=ickl&pJ;hlWSV*=k2`e9d6}Ffm!w6L)Tj~ z?$NirN7#MtvyM4JqB$;0t*$$6_-g~&u~r6K37xjUPov9D7ca5et!#t#)(_WMf`HiN zw)d(avG}xTmA-&Sw8;zX7p?NWa=Eg$1k)Gn3udJfK(h~5&qc=}&>pLB1D5*gqeGJ1 z21Dns_R0ruRB2ePXUmu=-HIN;y%fi6+9WBJ%Ko`DaygOALZq1lA<)T1QhK;W&`hyA z?n{x!hNYkmsRijN8z`O$!|@ken!%#622K z|7)D`sB%>M8viVzM+h9>=&0?vg|%~HL0sf5Qw6e}x@S%>3A%ZquFZ7xU!Bm_>nHxb z$n$y%o9(U+yKmV-x~M6kEyj22d{xmnP|2`W5ynq5ST~V`5r$@k)8Q#RVzl|$&f0tz zOg9t#GUMfpR-IrQc=Ii^k=XA0rr}U18efJN(lNQ2zoM$ghy(m+8vtDX9 zm7|>HR~y2N($@!VEECG)0ZoPV@9sZnM267U=Mh#-cw)>~$|v3c!Xa z(my=;zBip8US(GeZ6(*try2Hd4*2}suS3&_$D?Z(n1{bq8*h1qXh9ZR{97atd}1zo6%47RG(S@G`FQq!3iv=*IP1h`fe&f77zS-wQhehbb=`PS11 za?R)Ae|eXp-s~3RmPG-XPqUTd7ql%3JP_~v=*>4h@?GyWPsvvk&GP5;MDna?yge_< zo^gEGkC8*vNimgPhsp1UMAj4S79prE2GSV$^4}Kj;w`>D>zu|nA+Phv63~?}AZHM` z?EgF&eQ({Y{K6m26+UZkatCE;&1-Gxrl& zBUt=y>iqS8mV;=^7Ki_nz7%If0=udZYb$$-vO0%4BMRCjx(4D0gK}oygUnWhbMJ}q zq}6XFYs#b+xAfHhBxp<82M^KL*K+cP;ZqLWSMEyMXK>&)w!c>OMwCG z-YfetxUY76f+B0RvoRjc1;<=G^KdRO1x%Q>XqTi~IDG zl=d(WZon^7yGmS;IXR;KZ;;14H+qc?1?K&YcZ+U1Lci2|UPznM1k|Sg;_MxOBn!H2 z;kIoX)0k@8HfP$lZM%Egwrz9Twx(^nr)}2j@7{OgyLx}z`&UGrI2CpFK6x^$a%Jq? zdo3J9nQvx!J>H_S0_VSdVvVs>XIujvW$#W&=PnT4CFJq%3{%$*A-2-y-q;J4A;XU6 z4F24(lJP`6`tEX&#>2U4Ry}zbE6?gCL~RDAX!IGZTuu9+Y7oLdNXb~q-_wVn>YMlc zAeQK&uriwdg)=b1*vRoLuJ9d!ykQ=neM|@*<-5=l!XIJ97y;6r2iMw#AetokUJ~1O7!8JE1vrbVJ3)z}k3?nhOYBB}N+N z&*&yAOhG$ASFaV?bH?7Ju7&K&C6at$@!P-n!49U2S4Ao(+Ck3KKQ+mS7E18gE6z<6 zyy-S+p_hFMcW4E~wKv@pG{>-Mpr{)4Iq2v6P!VoGttl{|B3sgwV*Sue^m4qH0snO>%5GV#*}TXJJJS{XsXgjg>1!HM35&RD4Hi4yOAz znL8a1wlIFTk`ZHMDMk1eJ0Cux-{OXk#oQ?f>Gi$0qH)C#+OgHk>L1nhU&4s9@iY3v zqzWZN2_^)hNERu);jp>Am=g|un7zsvjmAnKp2qZm9MW{K$lP5!R0Xgdy}77kE(+XV z9(b@Z?5JUX49WH++TF~wxlen6PS zHB_POk{RL_MbgVT#@wR^M~m@J#f8jxXh+3i+VtkygTF+H#g`hwPx9Zrgh;(+g^y@} zHd18Rv+~UM>b&N zPusZ1=1k*A1TrBi51DQX+y8@$iR^|12m1~jE*Wo{I}p&Mckuo_71j*Z@DRiMEb0T| zy?0k;M_tO~L9PZf7%EI~xd)%Y%n9n!_NsT)@~>Z0`+G&JUbW?+?*d4#I|3PGPpJr9 z^X7h3d~?I+1Nv2uz4jGoMJ^~Oi+bk_F=!U#01wEQx}pffgz5*J;mLh0Qx<)&dLH7q zP%CGD(-5^KBcgW_!@eDPPkC(J_08wa3kE`cN_*wh^atD}O=nj~H5)4eK~{io6G~DJ zA6TT#QF6|x6GlvVQacap>G7*Gbu~XkXU%rFd-P4K(CkCL6*wTThkvM+{F^R`9ut6x z!O79+->I7rc6hO5RI!#SK!boBe-UQl|96-Fn?1m&S=~kfp9|%SJpBV1yi}DGTR5+a z0ivRi@@M?FJi)7?Zu904#aBn@lEGTx`Te@%`4`6 z$IGM;&Q7d?wXj3+x~K4p{)Stl@H7G z#%E#IjuZqsLN)Qh04X|2q90Ddz>c`VQOyyn_J-_gBo#8vFVsjtx^Qm*%n)KbgpPBy z;Gd(WU;KG)g0%4xaK2r>DibW}QOpS81WrN)%JuYVd&fwYLEtpf?%kGUicx8B!`khb z@F=bU&`R`@9_(O>Upy>XRCY9ysuR<+8}D3);FG^JesO7ezL{k4F?(@Q&wCxfB#Y)K zxhkRb@xKSUqMt@c7)VcR+08j!RS^@o#v*kS=|Nz3F>KD)V%vA1sb#^|a6-Nx^6j2r z@ACwP6ZA38kacBWVKiYJ2N}i?+22S`xf1o7nMAQZkebFN2rZ!{9v;bM=226@m=JUlMa)6ELk7({0Wr=sbt6P2jOgJ`_GD^ zIZutKvVWzLH<6zyOX8rmLYLr3@o-i9FySd>)X73RlnK+BZTb7ouL!>#-C9M!hG_hK z-&YKK{iut<#Wo5TyL7DC2;o3uznO_e(6Hvuw83L%TM&niP+S3{q(Dp9Hr+8b`PK@$ zPj>fBSR|hKG@LtBoAK;Rhc4d~ioQ-A)L`+!t4cs=o~Rj$fAT06y;&Me>1{sy$N_pjP(y&^MmvK<{W^3!N_8 z`yRL#ciRE!TWEv3N{~Yy8nSa`u=qL$c-Hb&wRrJ~v1Y`>t-DSNl^IThx|j3BlJoqK zRU%x?awFKLq#=?ioVdS60c)FA(Zf>ac9S0p|JcPMIiI&8;>44!Yz+1sv?uRMc?#1s=lM8 zOkGq|{w@v?eu4QBRMU3nnOW*n-Tp~n{I^0^iegGSwC!!Fs(RLeMvp>z0Tm)xa;Lh3Zn)F%)*8;NKtS#7<}MIPpgL%#W}xv(W3^BhZAM%Gh#? zl8|ULeMElRP|l84&4mLyTCIMXVXcsbQ!lMq3}Y5!feGeESSt%w<+!&>5bjX4XZ8=T zSrCsdVx&5MP;5e_{us~;z2&RYNeUT;io$v5pgk@2=`u*KXLJ+F>6v-kL;l%M)U1AN z`b$0T@_H&$xis3=rH?84Jz~D0_L%!_j8zaF(0pL=BIS|;oodRrpYexT6x1%MGW8@VMf!;# z$RLO2gdb1mmmbJaB;TZ4Y8!r(!$5d`yQ zCHFK3`&1?iZC=$t(S-yrNCiEj$ALZ-s3|l~u`6Bu<+5QhZBy-)wlh3EK0ZD@?A@!J zctAwG>(0ItHM(lTDlbsKM?1aBDbH!PvUvhA_lX665IcNhB9QYK{;;kVtGe@t5m!`X z3Hb1Q-(f~qiRa4DGv;>7`i_ISuEsD0E%g&bZb&{Wi5LN}o8v$?-atWFm)s*ZMncq( zjo30QVKmBS)McH%1i*-Xm>xRUP)OxVjDV^8}lMqNKKEN3siQ~Kd zgolXY0ukY`B*4w%<+kMaaCtq7GXJpOjbWDtmktvQ$tlHz4(8mHX>p2ZlIUpr(hNmk+P7a>m_fDFCxmU4U#5A%BZn=EN zzYemJY;Zq4T%a16+V5*%^}D=3pp8qjVUI&qZH`j zfuDvnE3{$(iOE`G@Ya#@ zBC5fV;jH*My?(0n=nV;t2_A%l8>QiehpglIXyNA-7oF~z;_>CtSA)4!!Ibjc{45jg zXY+9>_K%O3>)q2(uj4<%7JM9VAfOb>-QlmT*|~Nh!I!$1__J^9c;b)|r7nifw{HYBjdB~q_at>z}j`C5xd*2 zSqscE48<&$HG6Ta{%WywrcP4?tL7J_gp`jAu&77Klr#Zk6T$99Bcdz4b1gt_{fs>gegiQP+k)f#z*+2gPvG3r zu+)?uX{KQ*4fBRZ$?|BjDL0V7pcYy3PWzn1XX>$2eS~!FR(o%!IJ*#rNovw@6E+&L z17@3li6q*x7dX6;uAAj@*|l4zZa#{7pVIfw+1{SSl8vLKl_kYNXMG<-E11Sz=E10< zAGHmBAl1zaB#ly(i@Tg)PgR2v#fC%r;x zBqY)%s8jH;A2rcxTTq79e_IdAjX^QUBasBVgw66*vZ&YvDJfJa{^&^YgOhrh=R9p$Ld)?WSzqDWmONEai?q?rNE;fp;x(RNx( zDh>)sCbI)0134#7nB>$pwTbfuT3FLWfeB^;H3WM{w|Q>ynf+h0Ik7s zao4(Pi?0)URO<=RM?h5QVvN15w{CBeepGoiA8tVG!cS5*P;O0COy6ZZ4RvYLvVq4o zWxDJ~q^6k**II<)BN&dScqG`}R>Td~Z-#f0_VJKkG3Qj4oUwK5CRm}^^~xQVKi5C+ zgd^g6%hFxe1#`nRF!F8V-(mZ(D_Y9Pn2M$H2Fc2te?r7BRE#Op_PhKj3!6g}{h=Hy zG&qpM)!xVS+6Wq4TU}sITosiZ@af)>x%5ME})LbubZZ>sy!;Hf0)bv zHL+-rH_~Ax+}J95r$tv&Djb8Pe;e#zo}LQQpT_?hDv^ei6wthClqiM~+r(<7-+U@T z`Aybhlvo-{NcQOiS?AH*r=gL5MWg3sh zKia2PAL8JVdt9F_Fc{JUXCw;y;m;`aNxnKGj{n|KNvL9j`0NK+i1BZmZ~+pOKAtg1 zON$K?Vo&j<>RYQbP))9=LME8Xq#u-F{Tk{5*2(mLV`VVtSoGT&DHP32&ld!po`E}5;j!KrRt z=v4FSR#maxY)|GtVisrFsglH(gV1=^))$w7mO=U(*C!iRi$B7mSYTRoSDpV&S?EQQ&VB5{bFmk&UNnM?s`WF8Da-N zk=*DHHdie|zbB7V*&+cnfaS3?mWx7iwx*}^LRn`hSI~;U;y^EC#PTq9A`zoe)838) z3Ia}c?mxz0oqmW7Xc-JkruqnOmi%5HpG^Cuq!isT4g)Um_zW(N1$u&x0|^~%AH`uG zm58BztdfB(#Ted>2H!Jt;1gXj8n}z{4%moOmuZ46!g8Qe&E$kOlF3iRXA*Ql3t>`k z?q1LeGsZQhJayqEaTF)lRfiE( zxnWigL3THH9}q`0yepc$Pi8mD%EoColh3s6pZziU#04vwn?bTDX;=|SFRhiOT}n(7 zF<2*?LYtM%1hbA|_M)u3-={i*kgOOLcYx>+zv*6yEqM2B6cB{Ua98G?eH^zX43a`k zfV-3oyTHO1S0!>Ne0je_J*kX?(}`SPogbME`(PzwWiyFIm?4zgc}hrt0F`WfALlt( zoq7bIjk>x_dz4il2w+Knx|Nd%R3&nZB$s zEb*DwU6pEPrEa+JvW}l0cr2a`I_M2_0E1$P>hS59;eBgGTdGF~vAWtld(FCz-jJ}D zYG6kH4u#2;jN#Y{c8P6V*c6>?u-NtU=4d>S!}b{CBG{pvUi?^$dy3}xSWNzQS;LvI zv~lBhZZZP??^&Je>PZcFg-17uIKWYM^|2Ap4~m zAxXol1Do^F?uyhj&v%>*w@U|f@G{gZ`mB@#sc+z5nXrrgZdCT@L^y>sL_0uL8RpP= z$RFhg6TCzkeS|viacw@?v~&RPiA_?GG?ZkNm*^UG@rk{f>H10+eD5Z{pmd}z2oOyy z)0-wqmij9<4|3^#Z~7d}u`Vv2&}joA{iDzz{vG2s+{Ijomyvh*M~+JNUhk|=`?!6< z8rTx5RvY&_O(P2#&gKT2Zw)Ff#tI43T9NWFB})@x_cW1xLvXSaBn2#;k)&k2j+wAz zxcc8XAy~FJu79hUFzxAG=DoY7G9?jnIP5F`Bovt$j09W3y%GC}IseHJ1KjyS2ze zjQDkBQv#c_jb~X|6`{+eV%`fSiF#~`eR4hDS`MMBzvB2H!z87@XOS!1aSn;P0`k4b zC@f%FB#CC1K=f{4`Y$TvOp{W%z>d%nX@LV9 zq@1GJL`nTUC7wI3-u8TgzMl6W>uSr8wfd>*K*7L^P>2+L9%Ov@M;x#_Tvfll?A)9e|y^$&*c1Zjfe zTEMgW7&he@E({WOuP$_P6bC`Gt(Pn>{+xY){=5ix)m~D}ZwZs%WK2G00VzC|WZ{~| zOkB7`Y{7A!K6T%LUiJLyUJDOty{^1IFSo0A)BBqOp#uQm%RTh@S5>SUFD5n?Pn`zj z7XhPPvi@!(6tukd!*a|Jv((8venwFO$46ym(eGn);%OoWGKZT_o7m6o^}+_EPsj_@ z?xr!*AM7&bUc;k@Lcji$1(~Y5 zuv}QTc_#D3iQUq$l@9k)imF+Yy@RXR0MeOh!V0n~8rl{T&qg+PuG|WZK)MVgxmQSk9IG-G|*E^Q2L#3tT_E(yqa; zHtjN!c2`$6xBBLLthNwkv!<)Z!tc)q5FRSL;(IcUlxcCb_YY@swB9MUS)hUt`{*hw zNzOig^{W^+xgnaraU*9Hwf5Qg0M={Oud@9Y@UpdMsng0Q8btqHXPu};ia|7|pEm+s zl!7ZSrQm)dlb5Mb4-Kd9`yM{rpN*+KXP)B=cX1W**UBREOvqq&N#O~XPg4Qn53bz zhlzw+c)TKN-Yi5@)mCgLT8m(kn3Y0>5k zA7w$=5d2(zs(u<=ITBx9A!6=NK@@<(qHY}ZIH)43)|SsDEz2r3Qb^iML`7Y*GkRDF z6n6!Ijc-Y(<6ri&7ozbI!71*tg`ZN<%6(@yiW-ad7@0=EaN>)Y=@iTs!S^MdU&L3d#95B4KoAgs%u z!r}?Ge!pCU!VwT}E+C6kEjjnCtn$tcr`&`M6ilDa`IY=H@X_zooj0i|?+l15 zTRPQHa0R@r$LVF|cq+t}uD+CFs`fQ%O9jJMd#4il7by-TldpcvR{1+t_lIEO zwV%IPJ+i>Y2nX@yz7w+B=Ufm#&i_09J?dX^Sz_BMs#Jdp!j#ku@RpZbkWb6iRK$b8 zS`c3*7n2Zv_+8*gf7Mw&${r=$chjk(n&PyVL-cah?KuewtWW!3W+Vee|CoczW!{#S zXNelAjJbTD1ocd`&xEv;(vMr%zzXo;LyFZp8BvNgs&_*Mg;__}n=>x>9r(%sDx zV3(b<>K6`l9!_wL`k6L~Z2uuUittIr>*qj%r|x7Fmd z4Z0M|qZ~gHPK1);dT9TA+Kf*kTbJ6PfL8<)qK|mm+;kh^QTED)`1Em|2|$@8knrqg zHDq>~9bdDr>j4(P=Qd9_hoa7uNXzh{Zd_7bJM%nGfrBJ3zd{=#e8lRv8Ox+OrZ|Cz z#BKCg1Kv9gzMglqfo7ts%YQUfs>DyvUS&g~i>zZFfFT z@|0cd{QTBe%v%jP=Zd&9xC=@Bl74bUjfu`IZ+sPJzZCwPBfQf)7YFzLQsDfxBXC(w zP`}`MFzZ1ef?4>b<7suvoCt|`B5kN4PPewH12!Sr-`{_Y`0v8SOc4w9uCVsV82X5H>A$z}>aZN#WKLuxj` z9(c8p*z-isvc^y1^~7QqJoZvI?DCDi-uLWgdz5Q7Ca>*}-?;v{Z1_CQ5CeUcUza?9 zsjedM03HAee_{;i?v!N9ne>-&(;KK)+6|tWtFjD4ymT1+f~w6%S*yox#Tobnn6th2tTzf1e> z)tn))*WaT{Ho}k5`^TkKC5F+!q$Bn#k||}VZvvu03@ zvBmMyX8Le*Ewlk#Jgqvh{*o3{>CG0?ly04mEU)fNhhLN!G!emvc!f%u%(1$nNoz`; z>>J5Y1HTo%b4wP&r7>5O!I)1(P2-Bu95x7fU&87K=RHHvXxPi@YdBhp<2L5hcyitS z#FibMvsdm=WAhdYU5bepr2E_Vcup)C+;1;0bQ3BuY#3#W4_YST|EHCc^3KH;_CVbC zYRCr0@}QY2S)bi~%EO#jK->~!OWMkmv%$3M5}v!1m1i5kuH7Ucn~y=4os%CRI+IX$ zU1l=+>ZmJ3dIVtA&}UrEaf%?Q5AdA5%Hy!R|FvT6BBz+D&uB@V3kBXbd@OT=^!w7U zq%8k%!n3?8?b||NJR1`AHwk0zk+A0O9X*gP5*G5kElfU0Z}Lowk@@l#`Fh+d;mv7t zqKX$83Nv-3Ur|(KC!r>&PD4#pClwZS{ybxac=DFA4q|Hj(lAq_ zF!{Ukbw=eG3n<*d?}rRD@bO+&!e(wiu&mD0mOF6tsO&2Ps&#*_wJ+vG7m`Oh7ds7L zPT^zDXtW915ZJuCV*5sJ&oSp?y>4tfp3waE?a(MaUb1_v6ZrUK^d_ytss06Q0}x%tZ-3%Z`&j2kXM|X zHMe6^j60;!&{K<2;W+h~A3L`PMD;4823!UVoRZl?XSoCO`va2cvQUTSYKooy50W^ z;{0n~m`K}y%nSPho&TB_=3;B%{_m2*Qoc5&t)G9r9erI}3I+l~^#8Q6F|aZ*wXilR zj_b1=U_=O=fjuCE=(1MqSaqGSsGCO$VUqSj$S9yPu>5JwzOp`Jn^{9uhe-Rjr!aS= zmoZfnLl(<1@#=G-ehr`UJiV@qgXCTvO|!?)2(ryPd3k$MP@1C9jwaFZB@ zY`55K@3qj$AHhq6QNCl%fOfilhN@oGyCxP`Hrkj1gCO@q9|Nr*ABT|hmS)6aRchW^ zFDLg?wWjNf1RsfzL!X_QLl=7EhW8Yy*$v$ab&Z*VszE7Ai2vz982&eI{@Ess zFEbdBAGjI}e&_&wAqWr<6ci8;w*QT@e`_4T*vbAv&Bks|9OaXU252z7j68M^8y=;zCR4&@C>j2sUtaJz6z0b0hAwGoWZo zsMn^@-ywWu7KT(!XczAPIfj1#dmj>e%@U>IZzCt#BAm--evr=WJHZ<~=JTuK<9uX0 zCU%PmjDTdQ9zy4&q~FbH=V>;TRv-2~fEJ56xKXn(ez(&LdKh9jkt=Q3UVdu7aFXw8 z66)@}9Cj@kMoW%U!-tzEBnQDrik?U50Dc+`Y%Z_f(%ZbLp-Itl|+O zjB4>eVWXD5^_rm6&4&C{vQQr@OXI>@z^*HIi8eQH9x1Fffy)X(kr*A?3rKUq1q7#7 zbi]^L-=ZJ>N{10e69HFh%W<1=dV5qDJ~?TYb;j6fA{Cg}>d7RI@$; zc#_f2XdIztNMNey5R1@sP0N zwsGnSrQ_w#(CBK}3z4%9^#QpkMc2&!fw*=7?n3u`MDEO!0-MUTR_I$RY`#AYZ=?q! z!PGp#g`8d_l|Wcim`+IL5;p^1hR~%*+Z0)t z6Rp^{WwgQ+70B})Zb9T!MnU+a0`j3RS2340-*%QCFGfr5JI6@qY8L@U%VuU&^;pOk z>sdQr=*HdbQjPrq#J_umeSLE{Ej4_O{j& z<5P^7iF&7K&tU#QXR~@n(sj8#eC_!)v%f4+HGXZxq^aIuIr>**8|v8m`%jm-Ps;N5 zm%4}3s;V<9`V*CnrXCOOBA25O6aHGaL%lh-%FVFS#hO9>DwkNX5A@=7H16I*4Lkwq z!$9H4ZUm{=joOD%-+Cg%Zr*D5%O1{!{aZ5ua=%C5?Gx=N!5lot`c+2*=)LKw`9 zQPfv$I#suROuAwW;@sF7yrn}gyuwYl#}41kSX^}hMj1HeJPfN$NraIvc2s4*)lOis zui+193-qr&eCL|GMQJtdQmx1u=hN5rJTu(Q6C@eh70g+LxeV=TPty+7x5{U00QE~B z`)OcfqGFq)ua~o*#1UGy*(o4grHCQ?l6h9_#460d45z0KDNrW6RN5_2vh=&yqWN6n zNeqn3;ZQp@)~npXpP(cRSOV>g94XhOP zTZXZ=dx8I3ni3=ZJmFMz=IQfsI34ei!*Y%m__~lwc>ZPo@5^X@XO#rpy68nHupHV9 z+ErU0i&n{T+*r=IazZeThX8HL=Qo4{TQK987F3+dv8rtrX$L+$WV;$#5ALQc=_YEC zBmhg{WE^Yam1!T8PwOv_F}j`@MEqNr#>ZzZ3*QW{*&-6I_#L{g@mmrVHhrgNK%84!! zFu{9I+9kX$Zec8!N=ztUt!{u+g7-NH0z+ zjL1%5H&Ptun`B!qOo6upoV$)Q=2#|^@>t9v=k0o|8)r($LSc-9# zi2nwOL_b#SH5P*ht-@s8IC7=ya9tYeBOhJfV?Fv-bHYz#Yu92MdD)-W5VRIOkUM2a z09Q!`a%$4<4irV}9K>xYIq54l4&-A~6m%ruXLMU=$yR7DEwa4H-9gk#=M zm1Z@Z3pm9QL;!BsrSFAtD6bHa-J0cy1RL?Hb97vT*kFUCtx41OVCwA{H#NUcphCUf zlDw4BB9b>1klls-VUbn!A)L?t+eFOMB0VO2##zt2lY=)O@joL>|5#*J4-~76*nRbI z5!nB(qiu~0|LVXys}5xYH(wGMu0~R!15ie>VJJxBuAzi189RkNVAYGG4PkQQGN2Rc zu$FT~DphT&FNm6(baa|sHy@jtHH+68E+6Z4mUOf_YTBJ!M;@J#eQfo#Ol&H@!cCLe zUJQChB-fyxuAfd+EIm9f z>En1;A_?NgVZ4(JsHGjfxC5{(vkL1ano!)}RRfc|bCR~9|Is|$QxIskF-MlIOkCe& zn30~Hxf1(#GnRKFvOx_5Xh^@+9h`x6jh?JSrrRLX7-02au~Z+^PXjVM2tN&b_Osbv zR%RfW?Y;n0Mgk;zP)!_mlvGzZ#+Emvc` zCbj3Mxhy=qjv5MnBQ?<$t0~#X-D8(J9n&6#6P|8aVOq(mGn<>Xcx&DFXHQvE>sg04KROdkcpG25~BSxt{_55-V&ULrajZbj~gmCywjVeapF;WvJ@bGQ6s5IhcuO?-mdgZGZsBcE-37}@3{mfoBr zJN1L-bzF7W5CS`VJBv!8DG%wlXrYKXf3P9cnCYW;;6mNRuQ@|6P_?HRQTq0AP2smp z?YRaX;&1Vwe&-TI^KDJBJ<~gY*$l$*A%uYu40PbyPPIHVy1P}z|I*5u>R69@&}i`` z*hCOxigdb`5A}G#IyS@~nCN@Bs|zt8Da(!h5*_^-vl?S}=H8ID2m@*V$ZJ68SDjQ; zHG%-VJ#0IUDs&r0HUh)YcX>rE%@`w4zyMsRam>)+LawTznLpiZ-}OtLFJ+1p%=m~t z=D;0jO~GR`CGe@&C2L?6Lm@Y4AWSTln890T|;_H@#V&TQmm0`M%0 zcrHd8d%xS{d=$PTUW0WOX&Oea797Lr{<6Y_3c7`_OI^BQk3M{AfY~0rYh$0-8+vA~ z-UcdTG3?sC0POS>yAj|!v$qmgv1*3{R}`xlw)YU*M!c3fnB4hO_ZWS{HTpiR^TTz@ z7CsHjj-~VX6=79$kq)Dcssfaa@@^}iD{DhNLwbDKh|b(09dH*ixR=s<-$jQt%Mzrj zGK0Apliit(_|7@%rZM<(y8E8d_W7*6;I5uFJHrP4E|=a-I)n%I$aMz3NW5fv_s^^| zd%Y{Z5AHkuEhli2y_Uf3nR$jE7GPFIaO#{F07ksm{jI}3I@J8LK;&0-F!Ad;1rC2AHB9t27iQ(9N*Dg5mfMIt(7QeLLA0z7`{45BqQZglwzoB8P2UKJI!RuOs2hC)Z=y#@3`o8IC%)*MK9eU8;#b5HEcA9_mcdOZ517!d(f6=**A zUp^;j?5+w$RlHsRUA)~h!s8U(^M46$*S)*fwaePU%6Mq*mVSI7mKW2Iz|pOGVjMDpsXoFC0Kr!m^n@aM*dBCdC#S|?;(_g z>%so$>qwu=r(eD%&CQj}*zwpOpM3wQpEIyq{6ZKD)(z+V-^=ruaa9GhfvGn}hGg(7=O%EDEHp zjX&Al;XaqJZm7)rr3pnRz5{?wx(C#8;rT2Z0?n*~|q zb}lk{eQHiWx39?P3 zYY{F$(~0fBFjFfGsbux(3yNQXBAy?$0^1ysq})L2=am&j;x>Pw8EDrK&T#>VS{w~R&V8tfhfXcbpTE6zlI(gN%DT9Yv>1ydcHM@r zQbRiTpRDiJjbvXF-ab!8l>|%qZ{l9kUw`DRbC=qPo3>2<=)l!owasjSW_|eGhvwS(E|hlV;6UFnUk(EfH*MN|Y<>DldkL`xu2U3XI(Fqh2oYX%Rg z_fe}VXq^bt2fTeAcLTF$uKYaTD_P$J0-Ha!li5GF^?6)_DDAZ7p4CCVb%k0 zh9CU^>(7(*-jt__viq{YF$H9nVw!;5*V9T_6Lyv-_wI@vwqa(U^tSj@ok93?>0B9( zZ$4c`x!s=k&}Y(ouU2Ewp~S$eUXwNgt!w#CLaREgbI!TtL~I?${^wj_Kmx+BA9)62 zG=T%R$A&oHXX&1eI^r?Vtv#9>*dxoD$`8!_eFa1(r3*13M$tdCLt^c!YZb-ovoh^K zd5^F6cd$!Y!r^S6gwaFl8i0|F^_OzEfq<}`fs(*FH$ElWM=ds^y#|}0mc)0sL4jy* zd_V}+eW2Hk3JV|NvF~|I0%x!DIn^?nl=VVMz^)fq-3x%BSDxKwA||gfZ2yy(j=V#v zS{1@YMR4pp>^%$x#Os-!%YZ*~8cGCf;{_0fhfbgBJMV8t1Ao}od?ULGdg!Td`g+F+ zAas0k6adfv_466Ux!a6`WM)z>~PE0yYnt61FXHNnsUqmLNyfMO@t4}SH8S)W(;z`GjY zQ`jBQu;=SA9|ef9|I}N*yZY+GW21kdi?k$}&-rJb@*67_rN z3%kEY8hX!n7NjW;zo5w<#CqI|NeBCpi-64A>f%28V(-v7wQ;WN(i5YwNQ}>EhfKWD zcKc?SM_wkl>z`gw#0qreSMFFdYvolGVTb-$?1=lV_q?ZD{lv)g)<8Y z9G>+<^`+zVfIj4F{CA3P3VC#{KL3ZU_l#>QX!?d#R0P2&MWl&3~iWKQZ zy7b;lKzbJe>4aVdL_j*BNG}0tQbP|t5K0Is=gD>5@BMsvpAWldXXZb%yE(tzQ!;1f z;PVI5M4)@$_t)^K&+NB3>wtOF=z)TX=kcoyoBk~ijN_W=l2(-mPu$sj$$z!~xZ|vl zmyR$ov2~*+Z@+;IqkX6mhDt?$2+4kMYGJAoQZ}+w*;LuRPCtl7b)*{|;u}`${-xBx z6Y832iT95y!#r`e>-0#oj`eG>9^Mt(j!MZm+l|D3%XPF{4`K2xV(|TYd$2yRKQGVh z=M(8b>5F%c;16I~$@Z#t{@cFSe+Njl2X$lax`i$jl#*WF2wVwRAZnOJN0_#WRdla6 zt##Ca`hLh7zVE0GS^JcmtXJ4EV(|>85YvMLJlW^o#b;IpMg~>?4rC5+<>;KZIPqT!(O6~g#-y)mdZ`+KgED#d zKZ=#J+&UNAFqNig11s~MZw2i+pC_zdAzzEtys-}J)63`eRvc|hV%MXUpZV=}GyN6T zbAa!Y@gK|6XoQgIU~~A1Q@jT~;w6zc*!(DuYCp{Xi&%`nkTG*SsQJK0YfQhW`oXP} z2kAi{tY9e%pH?(2bbP+*3|oOhG1MVNjnd<1CuD2VCI47S?KN=Y6UwIl#AY|+Y=5n& zrtq)U5rZ{&m!@B0-j?3Q;UGdCV=y2VI&b;W99}rNCpyU$6tiwSqVWeC?Q)vLYyVPo z%EN1$V8}2g8N-IECMb9LRH~)6r!I=nxH|(n9;53@`@J%^99aqjAcI}sHsZ3>co5H{ zp~0bka{(g-R|6l)Hn7MS5esjYYs$#&+2M<(onSVLz|HW?6(JVZ2$%F2JJ(=-FLCRi=QC zS%liZXJFb%0O)edEhLz2?E_*zIcJKd01X~sacUDtrWgV4bw9w!J@vhbL6SX=z(M$Y zX;4r-R|Nvg1Eyqv_6s{oj`i}zFo5}@^c6TKl7QJwrA=tCY0+0e`xYb=2YyQgml1iu zW1=On!touHS$fhFV1Qhf1OtAW3i#uEA~wuwfhrXvfUXW0^IvH=2lF`L&8%>?R(KY+ z4S+Ryp9xUIBn!y3o`Veua?h~^5*Tpj7T`Ld?mx~|&O4r>D>Hy*{M+xlsCb;^%8Cr2 zL;46h^%~-t5uW8XD5vva(fLW?KG^Rq_m}$q5JDBAsE&W#aw;;Y#hf?LV)^#PUEf^f z+sk)SU|3_baqKU5H~R+I(1@bF|CKo4S#1qWy0Y9E#0=1|gX0Gj-9H(~DTl>)&5 z6L9+i>I}Y#somPRa{+E!75WJ@1||-Imsjqfz}c&s{{X`k;%~;(&HfL7-60C9Srj*+ zvtTxq**?hw3=~Ik2y^q_mhEE0@nc%krRqH`)&iwCH*BJSxWG5mO20{?q1J! z0p>mg2$~B3Ndr(@koT2%Y38J`1f($Fl`Vi~&lN?fAM3%*LiCx$=*o16{o1tVN2oy6 zbG*Wpl=GNA?5BK#t^K1h^VAs0Wa_A`xBEL4K=nSD9JqHi2kC`k@mB(~X!Pz@?Z}j5 zb&HK`IPk7B)G5Z92P6HPW8>{b*J9?m1aI$CU{a588!&Z7axnJnbC?Zz$Za)kom58c zsRgqp-G#oy$2ge$%P|UJ#0QUW!qd|_63fsI-vhsa5gd+k^#oWs?k$4 zw5zkT91?8LIiPD${vp4ANR4R%9R~X~85k<=f1c0|3DfGfVA&DSn!2rRdYczGQiy2a zz^XA~n-b0wWRQ!{7qBU;1{PH-ITVnJ#Gu-(I!%5a0EZ(fb;`dvaFb1(F>%6jXIo@$ zb=zf~(yV-wIL(n1hVGIq76(7~j)wG!{kXQUE9)$?tJ9$u{Bt#Aw91;zq01lFr_mt!XSGCUCBV_%BbA9N2aTI4%yj$ zETkOG517QQ%_(;(XKL7Oo>SFNW^7WsSX};^My8`AP0hc|no)b))cA`n5wrJWn}evv zG|<2uem3V(RZ*I-C24&r`@q(?4_9Mj_2uE1?YnA9X;!M4%SRi5zar%ZQqWW7aOn8} z)eGcETjXzjYf&AH6{L39cwfKQ>^$fBVf{vrM_d7V!^%Ymkv8nEr38Gs9&e|7Y8FkO@vlav4iBz$r?LU>e* zFq^}&|`o2B*FEwy+vQgsKK-s2T@5Zlzn(1^-_j;I6)uo=N%i8aQs`=0d97;JW$;Gt7;CQ6u9>#uEWy(q?j~LSxz0W%du) z9R4@9c{r~}DH<5m7g-+sb3Tf+YLBT)8Ym{1OsU}&lRbD7XMHwzj3@1|PjVBS%HB@m z<_!b=4NV3w3nzp;-b7|e8Ytozh<)4_Jeoq_u{-S{W z4;{He2L&_jkFcI4EdjYu4jnoKt7n7nGriLO&>7W=$=ivbl)H*)l*|%8!Xmvgnpye< z)=vVbny5t8$4H-_DwN#H;T9ryufo3rHPw=z`1x{^(S zP?r?p_n4o@D&`U`ge#ouFA`%yIbgUZeAF0<$l_86~Mb@y2B`m&&A zx+N1mf11Uyz8^7&oCy6R`BOTLQ=76NEY{2OftT@~z7o~`SNC$&(i;?qJ+p~`CDJft zqjLNdtoQ4M9LKz%s5kRNOenA1Pils)PeovWfb*z{eFurfI@UgbcfAZLz zD-=ckM&%k~B!!iVk+ue7%0!}6=8fE&8_G;7Hj;nTY+iFsB?=WEdVX?+BBi~ND;>}2 z0}jH8AB0>;6FguT*uESffyM#5yE9`@n*>>FW_op7_rA5E0tNr4oDJ-cKRAk0F{&00 zDBc#}e^)NHPOeh25%bA%@-F+yH#%c^S^khtr7I;1ZgugVV;#x#1C9P^ikt6v-bSHI zg0n58v*L!2JOvXU4XsgpDVleDnyIp#s+Sb5W0AB8fBPp{N3=yKEt<5Rq&#l*ljK9@ z=^3i`WxrZJIX=lE6Sbjwvun&I_;q~Sm$*QANpx!yLYw#?7xW4;|By_o$X5gbdet(Y z1d6u3_l5KNg7iZr0+EXB5iJH5nF_+`AI`JiDgN61SEIn^@Md1Rv_M3G6=5eVFUVeJ z{BoVtvcsA>EJmO2FAMCg1xd_5zTG7D7XvCW{q#AYe<{jrdOq*iQj~3V-U+7NE#zB& z(AlWRy1q-H80~A0-yO~S{H&%&c|~6(d+393+sMqS+iEt+-e(_e$H#84vM#m-n!u3* zx@H?S9=G@7bXIMaLyY|?Oph5&AAQ-f$oPGlq`lNhaQnd9GWbq3w8v6E&gB;NR_l8c zo6Ya-YusKEz6H}90)Z+zR0G;r}m4P~d5Aq-SPiflkwNbWko8ZmXlxM$(s1jcksKClmyKh?h@`kBUw$VvQFS ze>Oq8O2WrhS#pAZTS3O0jl#ls`=;dcj4`U${cj(W&6PhNJ}3<3d#whI`W*VUeAiKo z2Rb?K;&($fL;a9~EkcLw`)H`);vMV0+~H{P+=`u?IM9n+&b!5RGzvX?_LSOXqSJ2( z0qk7%iD6j}GE#jSFq)C5@NNiS{F{gUCFEtVX!^^@dM8yyL)Y(77Klu2Xth>;RUaLN zB)B5K7kn1n>K$pWYWIv3FL|lQi=j++D~)%vjn~e2sczo+2;9o$$q;hZH4~rse5sf5 zVgGNbZ&55~Nmj>iXfMORZ#%r*f7Bcw@x?gTh?A1?@3q_Vz}xQ(QW7~nuAd(I6$UV> zRB&KgzI`|=%-4AI+2799v5Wu39%J;1k-~-5%Q`86M*_NhxjqW-?g!bscZuCU;MLNj zr}6NM?c=dIjr}4FDf?1m8fBw2^L`OW9k&phA7#kN+* zElC&zhQ~N5uKPTQYqz&7m3Jp0vsjr~nVV}b=qSFncJ$7nxvHwAP3^T)a^l7KVYI3}mn$aimX{Xk zj(B6}>>c79$-KfWG)pD^KD0lga1pnqeDwUWHpA)B;P;w$@LAc#6CC@QaM73HuA1eg zmA1y}CciM}ux;iHSDiK^I{$F9{HDgc_jR>B-us@Gem_3%TSmN?{TK|w*vH!_7)kt8 zmk_wFZ!4Y2Jl^IZ@Ix`4Q?$4c;L$z;KRo;O!*ywN5<)5BcBPtGN zd?ew4U5^;?L%9zc6?G&dvo_qe&aXFC$i%r%bnYA}lnuAsoQ~b))4n~Mnb>bc`_}sJ zi@OIZrQhBR83mC~GTU8$fTU;)F3DAB7x^2pwnE!lU}Eed&|Zsa_5Of8IxnEqN@Wbq zUEBVBV726>0hGhh^$RohEaG5Yw>l*UoSI8C(-%c`q+( zzH^IEPzjH}ZjsJ&mlwpX&7>MlDCn*19uCvd^a${RoqF>^j;Im_yl#$FWDfhZ(0-}* z-qU1Zij}TBC}A}ax#9I%a^g_5!d@7~K2cLKGoEqY4Cm>V&5OQ7`*hH{geu&F`n_Ph zTf-LniA2r%`^`&OZReekf9ZFTYN=6|*Tu_HZ*BJ9z?9KljI>fn{-u(&mfo;N#kC>+ ztOwI>IDc7C;;J-9-+m*IZ>-=#of&C#;Jl&_J>w*$PHxWYH~dmkRK&q_^n&h3#t(te z&93MX?mykd4ColW?{z}8I|Y+Fk6AH6kLL30%uB3#5{cn1?+ddZj@-OgjDGSmZ>4CY zF6_FE`CNM3_S-=HSB=4T4#>r6#udZc3v&-vzHk^B`NpwGyuX}8iQC3A@1Es*eo~y7 zKhh4n-KCaS;MT?7^5;^(St3GrctC_7D{RRcD>usjkMqY;xa9T=CW9tODE5j)v@Qf# zdrVApjODI8DZz!FN%4-aV2;B-6n{*(ZV zml{R@K)ta8Ko2O+0Bwd(5woPOtyciQ?!uK`9yK1`|G{yco1I>LGQN!ST}(mwWJT6o z{JSd$%7~Y-#KgP=?k{yS(UaOa2R73P+8vUpueLqIwT!1c1nA9nf{&qmgUbyZO}#&j z9W?P05Y^iZvriu2m-nrH*ixXcx1b#toU&OE?}0LkuCzSn6(gguK%3( zuy#HYfaWCfh4`4hCUDa22qhv}t8H+g>CY#a^wMZ5j`jx^PSH{%zM900xU0?cn^Lcn zbMGqhy$bG-_PBGozr#Z_U!p(lc`0Si(hYPo&`+t7}CyfXr&>4>}@J_d=udbFXt41L|s;=hVi!!Tc!$`n{{kKZ;B4kx2_Ng{gBPl>rP@HjC zwlhE@P;$wpxKnQPY5bc7Q{)6E98$YX^9EPg9cGbDGMG{r%{W;Lw%H>FI4%66ooG^>9ilO&kGb~=lyynNUQ&)!73yU1 zI2Zf2)EJFsU)8-X`IFRZYOjFAnf8a#H88#3htY&>hcv^@BfGPwvA-x;nPc1K5-%_h z_Yg?VJzs;cIp{A+zkiSLVe36c$#V~u#c7+zz*>RyyU+-9xxK#x zxt!HPgaufmfUw{MRrCvvX%8k@Vw*9XK2~0ZTMa|WHi8&jFKJOwrc15!a1q!OoQXD= z-@uFYwWgty7^_q4@G_l3!1XBLwrP_3Lo=b7iO;c#a?$=pgNwbg_>!E0f9o!qX7GL~ zmzHzzbG&q;Ayg>>#jp9mHu}ON@Oj7L^f`)!ec}V`<(LW~%TzUjRhlmMOM0Na zHe&DgiqFY2CE^(u6V7oj7d59{sJ>;s8~eKbJQ^Jz$ETf2;QtUcqWK$t3D6vUH9+_h|T4vTB zQNywUPVO$55}FFS^AB7QbmY~@IObj4I755kpk2ng`fi3Ubu9mF{)if6&*KCnT>Tje z&Z(V|f1#LJUb7{$dhzyEoHXRsf{T>GY0KM|M?oQR zLgVPO6sR5w|7HPper-cT$5m}rEo^OK2Do%KHt>-QF`2-1Fc}z4uGvF2zGS?5d zdDf-q=Z7acJ`TjqaO%YT?zmlLFSySjtDMl};;?+{SR*Z9GkVhcm2bkIO>Z*Xox1b_ zIn!b<5-K?VjD2aAC><3=eVl=yhw&qiUr(sFydfnn=NqQ`lUU%G02+7M1P_JD_^)op zIE>;fBdDuC?PK*qiBL@u3WuCv-rM;-{ zN!5*>Ab)ST_V&5)?n6nOG$UWTIANZT#=U^a$T(sX$kh`CiSLY z98;XQ~GmY=r$F7=2b1DE0 zh9~b0=B#wsTiWX7Id*FEt+cWD?5$l0-venDozGViq+X1Dy_8X{rdJNujE|keXZm() zwQ-N=j=hM!N(Gm-s|r|xs;dv<^zA3-Gvo3`;m585H6udr7cNyB2zQG~V0G=_-)E}@ zHCe5}SBSwz-)7c=Dd>l*V`&J?g|FOC-|6>^Q$9HFY<(^A=`NaSR94O__|Ws#4{#l> z?KGyy3o!vzko{(F`xNAon%C8Foi8N!8h&I`-tV>3HF3@zGgj?f+IwQGxr{qdn!tHf zS1b-&W&JT6T-ZOMD`h;+1wmag*SZgEVYor{Ij) z>>y|>W8uJKb^@H%{-oBv!{YkYTp>SrinShDelqziU5aG9fNU13$yYo0(Y3dCUIm;a zeb|1;h4qjKPC9(2IZ`8Z4QIm1BnCA&Cfr#()=q zxN8XqTAy=$+(21e}s4GhRWv49R#BA70p|U0E`TZC=WUGS;;y`}Z#5WyQW; zx`i?t2Cw0Mo=}$QlRm?k%qFx+BgXtrv4XL1FfnQB5?l+{Zm_Ua`&hN$BULd3Cna}B z!(SWA--}ZQ6t;Y(gBPjKd?r~w>^|t!kj<93=r$}N&1Kmi1es8p%AZIrxRN~^n<@Am zLePC&p4PQI(_Ol-VCeRxu~9x^nJYt)8LYL+=SGtfQP$Eb_#`cQ5NcoH^liA5>gM#m zeTAXbm49Qfcks=1*#Ti+o|4l0-FDvuqCB?rUx6*ZUd!u`UzgK&3TkvLH(@a&X;;tN zB()3%uZ=4ya$nibc zP2ulpla25AJRHAO9Wo~3Lway1Fm!MBx{-xyH zedSrZ#M3l%h~iXqD7D@zPB9TOi4zHiEO9MPBq2W_^1hGgaj?nPXRRB??(?JZgK8N{ zvlZCXH~O@TLb~P>K~vK@_x`TNub8POlXq4RC`0{UV_z}&@;PM{R$1ospNQqo6m9f# zyXdM7N@W|K-Td`yUtqPdrv+S5e(G9Wm7*S1lQn2IH#mP;wZ-jL5C+sR#7d7Jw># zD4?{wJUyqzygXf|w!GBt5*|>zM7Px>9}L=LW|uZT>0Fb-P-0yaS^jN^71E()a2G@K z{DC;-F?3nr#&|C@0}LCw1v9%k5Fv#I@1o!)hwUvFn=Wl&0gZvQCk6-4G^(9k{ubM? zJ_LnIqBd2tsSjvygxnUe`Qzbt(nH^wFA4IB`;Sa14f}(FS`q7WK|lodUfh5~L%%aVFGVEB1m0`#x1JW(3`a`YLm)@Dxp&H4US*%b z8c(X?YrKNRvQ0f9ib+FF&v*mS51fudKas9_zmyKwH<7|HHll?%sy&QPTjx2>3?ANY1?Ow?J z znA=j2?L#l^;;J8S762WJc|#g^K$(EvN8;7or3JU4EmQ^l4jYxDoWpc@`-hM z|Nc?un<&JHurn~X($b}8u;d5M^Kh4VYJB7A{Td15gfI7xuFLn#nGPrYk_zyJ{2snbl5~!~*#G1(s@G`X%?b zziZrG9ctw{w>$=>A31Pp&wB{pTQeDt@IxUua=Is9E|e-~4K``Qgo4z^f9?wDY>s2^`qOrVJ)>R$)~Cr(1by_Q>hGsUio0|m~efGzh(M+Z#R|PN^O5o zfVWonTw-~ZT5iW90QfX~>>loic)D+6NKD~%<8nW*7ZqtYApRCp!wu5w3Km}O+>bF% z9fyBC%PhA|8qCr7BFxBRSJ0cuhWPbCqouV`HPD!y&2k`hy?yh;pKrOTs+%GKModlq zg0}SCL3uD0zs{ERy8&i6ayOlREUpqnOV+_LQQN1TSiU`sJ+u5-*#5o7+Rj~!w)N-V zU3K`|VGk+LP@Y<3Dobl#sBLQ5qcCXQC1VuydjrQljSY~;iPhFvON zIm|(3Ru1d5i0Yl-V4lgg$)~buvd9!vt!`(g&A3tvB50+MpgSTpHz}y zk~XxTie^PsO|kM5O@S)2KjNgvHTPVOi8ecF<Eoyy83m@P@GG5>+d zAWuCmi3Z`3kbo5g=SiEKOco2b`FnAs zN4eft*A*XiU*jG>h?y3=0X46ghi+L8m=^kPOG2Ri0|d>z9kCbguSo2J@HV&ZzXHEe zsSP3xJ5@RJgIJhWc2)-$FP(O3_ppD1pgZCamJeg3n*&xj5oN@oazl6#L9u>m>wX{I zSIRQp5OeF;K+PUMIOcN54{|O{7Z=#}A2kHgnC&`ovO^eQ;zX1STF4MV zzuK`_pnm9Pg-?XEV&GJ=Tw?Y<`fz^#k%PVW9CA^!vA$EOBrS;4;w)=Q#`l*J8&~U` zLX*^X)NE53{L%07e|(jFTSy4&aBP(O%&Pk(aQ#_7UHG@#l#vJX&W@Q<=GB6HeEfwEd68R zg#|!WWz<&yXoK^xThxgl5$p^=U-9mr5TG*P=?keasbnG#ISJ>&TY>=j}ZpA21raVfBhsH z;PC%b`zH^ix7fp?`Ur$;x`KzFysAv!i}52Fvz*9&e9*EH8clbybn+@IeVf?!f1$Rm!))C#TesE)C}Dij&}^HWd_Q3ycgnB@o3>8Pmhw(Y5wpzntY3P?dT<~p`39CUH7V^xMM915hv)Ky|<-@Im9G9x_pIw7f;<(+m96HtXBGGOjp} zYFuZWv_>Su2*&D250Pb}ejBcljI19-T9q%!U#_@AT|Gu~o}Drqvu_icPlCM-_Mnu61k4J)2_h%6#zQp3KDl^X1Cw|9X(|neQ^$fznBfc9+GbY0j9T5 zfQuRiyaq7ezw1VT2n<|;`%`q6OdSKJN2~#ACntblAP&mF0`T_^0E?>|fc51iSPy#%W+bvH z{y+B4|FG$aBfZT6xO5}|Q77s*0RAwWC?I`p1BeNV0(?TY)i1%MtwR7cT51i50Y?Jq zp%+13pc9~z7{+(pGZ_%uukHpMBo>5FKokoy4+lQFTWzYh2|O>Jzs!0y_olhi-YS9{ zsbb()Q|rc0hBo}Lk{R%dt6p8g?N_R}*`Ny8=CjtpboGAPRqOLlZfT;@w_#t2y#D*cToNp3EcK++REx^DmxR+JISK6zB z8&ZD)<%74@TI2PP$UmS55*z(exdmSs3)yk|>UZKD8QCvaa)s7%qJi3sK&FVF9p-;s zh0pq)C2HqG`-&F@chKS0K^j-Z(;8opNg8!0D%7)2&!>*To%3?NrmWV9k0QUNuVcZn zkKc6yWhXJjdEApBPH75dg}wkbp(o=jfRNTv2@k%+n%wjsf#nFl_V@`vfXJ&LukT$E zAg{cNJu}~COP&?2jLWO!Ca(N3+WRo8w6zevf2z2XvcV965v~#IUNJCk;bWvHXx7p? z>GIXgyhLoMbgHq|Y%bGmw1Utht{kvZhPi4kE>c&gR~N$ThOYtFt)~i8u7^lXW0tOS z@tWEVe=5CuAJwz>4U99}k{?`U#XX-3JsoSjulK#r!gy$oo3UWIqCX7>Az^QjOJHvZ zh#GCQySY&@FEr=%s-JZvk|Mjhr_vylu=g|&rdtGTxw{I_^%JZ8x7yCLJnpWjaPN9- zq`^#jRf)7iDuV>}7vZ+V9gRL1LCE&x-%V^}Z20Inzu*4V;UQa#=g0b}#sU1ojfV9I$cV%n{SYMjKTb$TxH&@)eE zS05~WY#YN&jR$eI#M4r9&uK|NkgT)%ds8B1(>VY&fu6(K$t%>Y(7q_+5Lu zN8!VN1)n-<`}#RKQ+D!3i<p{s_e)O)cj>@ zSYD3UL~t7M{_?PM8mq|)(juhK9;{j8TR%F8rq;xWh|MMpFF2i_(>l7WHx<*Weh#;^ z+g?%NSgeD(n_=184oTRbryY;_YL&oI5j=Hk4(OM&M;{LrwM`^kocjo^%oKZsW$DQV zdnKLDI|25Sn@82cEB$$PKob()LS4(*S>UoarASTP-%wtcJ@YXQSq~u#&{o%8ZUWcJ zF`X~kqbnHg(T;H4kz<`F?bzQ=wdY3J-X?xYXh@aQ@(_&V(}coCX>%-AvUwhmI&?Z-A_ zk+BXcy0!n>pKXsUcbr^H?U3=+!YLaww!aoSl``YE0dkLIM2)Oz?MJmBMPd#E ztmaoAuHeH>_z}MCz)MOcy9!=E^=J!N!EgTx5E~Aus{L1YNOI0I8RYO~;OgzKH=Fyi zKby8A?M(*G&HrqRIEBy&B#?E&jUyt3=4EofGRv7a@q16#Nx06lSOu-4`lNH-LSznt zMfOu9>>ZlUFgdp)J2;f`z(qV1%Ljv}(D(S+yHV>XEK+y3;H03rJvh@}@@)UBm~S(= z8q1H@ej{l=)~u{6CSqP^&}}6B!rVRfp(lJ_PZGqQT0Nz|I(=HuR?cv`)W^@$06kRBgA4e4Wj zWnut?KC6XQJulPn5Tp-UIE;NEcj%?GBKH+w2|)qFoB(8wcun3)0rX`5e}_R}yC65i zc@q$@0O6l}{m=cvZ7i67`Xd-m^x;QNgOmSP%V!Td2t0@2!2dV_mWv@EDhLHQ<5`lf zAQouAI3EXPa&z)={m0DeO&YyyZs8O7FP9Bn=20r!Nxk*+FVzk2f#_v!L6M#`@{-}d z&Gr_w*7D-E;FA|=I?2kTBJajePCuAdt&m`idsn+RnmmvBXy>|Q1y#ZIeqBL%2K(C# zymOEi!gw$Ul(b#Y%Ta&UJwMg&b?^-PTE~jRR&4@N=gRxHvTS1DGK(xl<{&TD_Rmiy zP09qG8Nv4>;rfl!64FE9K}lLzvfoT}z2@(bsHD?;r(mhP>=FYxn9d%l9eKP~O?b})BrL2Z#GH=ZMLXI^8Pgb)yKJGelxRdGpNKchtTi^#dBmAqY znqjefVq7ID%yJOVO^hW9=x0g+#J2Bk0UnK+?qrzWkue;&B@^HmI|a6E2+*ZbAUzuc zxC;Sh&cv^zIEt0rX8xa&|Cbv0P-7$de^ooU`X%Qq0zC*A@cUAzPTHN_PRo0Q7g2U* zmBOSD$ACN$h0L3eRq)#EhQlO9E#t70h$^mt!^#99VQ7w^q^?Y)U@}<~7d8H*T=sr$ zl$OWRTZwdsXFFl-1EY!1Q6t(Y5r%qApY+f&`ZRDg*;8sn?M*|&dvHps4K%v2=o)6k^b=~P~3Ao?S5`ZdGHw|MEKt0RFgcuWufZ0^}*b+k+@w8clvVgLy&OY>}I~BAI=w!T~_mh zlsi_94Fr<&`g8Z1A1sH@_>$QVmS>wS+jjQQhZ7F(r@Lv3mW`-?0Hpf>zJ&lQ_@mGu zcp+U{QAeHG{H(!ZtKUIX&se)s^vJZ1S=Lm$7L}Xy&%wr3pa|yFgx_b zo0wtkLBwGm{SrZThDzw&`t`!7m##cV#bJ^RYrgas?}Ku=Dow^iqW2J)hle>iHMM@v za3k?jO_aOUE{3$r|yyzVQ5u?X@{ZQ5-RMD!8oYyNZepvAzB_94cG8O$`SNG1Fu$hnXg3VvO1yBh$x;0pJ*j;P6wfWn}yr1Rz zmh+QRDfRDBzR_vQ3f$TbXO#FPZ?IO-9;UWZEQ!JQbMVNI#qRBEA8*vE`fc~CRMvIg zle*On+&=fD8-772$~QJ0bwiF6xCct)pTINXMqC%@$-}`+gq5v78v@0<9Jvj8HHOp5 z*)0#9mtxL<2%&tlc&G;#%k$)iW^WgK)!`TDXZ+mys*Sx3EK8%mi3|AP@^pK}&a#Qp z*-Yx43&DRW9VY$Muc{9HMjMut@oQdG+l6Xlee)$}ps{e)r`xsls{bB~1Lf*9{yZY3ID zh|{_dd{Zr3Xw9|X4oc_~yS}4mcHRi8&mEdfq={IDh`{fX&(0zGAo!bWtJ}YBmmRD) zpMe#wa8)TaDj@nucM7S|%QliN^vl2A(L=qQV@wz6_hG<0l*vKOdgK#6HupE*s@z9! zDt@mB7#T(X?ynmlsdrJ7DOv^I^q$GDN`Gj-ZXH7!;Sn~ivjiDLGM;JviFpl_<(wsl zwQ%l@2_aOM_SD)4679W|mP`s@asre=(ZGApjr`2K`CPNOPbnFY6NO!9%w{vuu{qiH zR7-3J^n`VpMRw>N2L=c7K9P4jouw#S(qd*{c=71w-P?xes4wzA2p-)bU!LoFHGDc2 zCUi!jhQ?%;UbRkba*D-$RGZ3z!HG8h+D<fr3phrh^X*Od4K#D73l0(#q)}z+-lNjE^e34S%>Op~RO1=w%dN0a z-T6W@W4B0VUoTjEG#47mufIE19=PP4wtS1Ea?kt_G+c6QT%=ONC#%6SSXq`bYEb*q z+L2}<8YYPck=Gq&6-Hcgg}?GuEgI_G4U$4Lm%r-xnD!i)Vg)$&Hh^-r5(py!X3qjB zVJ_u}58rab1HimGz(hzwoq$u5fTBPg%hm?K^*;cjP*e7QMH@to|6#!HumHA|Nq|tU zG;g#; z#zEqxX&02)z**$gjF&hTkuHoG69a`&b)lyp)$p~lTS|{k$#CL$0X7cj(x5ZrLTT;{ zR6En#dYoGXSTH!}-rV*}l~tO|%86~73go`!woYo7ouGC4H>y~7If?za1G)PiHybUB zD5x_QxuaS4vtM#Q4GfzZm=?-{)n&n=Dpbyi-c@DRl&`}Y9iQ}$*lB*JHkBCNl6k&3 z&dsN;F_L<)su1K-<#p{5PU6v?rXEt_ovs#|8Cs&!1d>|2O{PYHPFAND7`iS_i8yHy8& zqWySb^i*NQ%1(PxLtAWhz>daAT@Trvq;1oyH^rnWbrK-6O?a}Y(4s2z*&}ix5;l2IsWS zYzyoe;*Jt!SgKS`7-<7!)jJsF#ze@wrIqnLSRV}!{m*$dhA?C&DCP6a^Pb zK5H?3BRBj871>lFTfjwA}C)ja^rUL|G2JgZsvtxtjtY}+h zShnq6Y7D^petINNb6&*!L$A@0mAOkO4j{S8q}4NRg*~#qkND*5`7P}n3I#x>Fh@Zv z8z_RI<+i&>`t@dt(cP_sr|4QSqzC!9tkiDbx#vj70`c!t_j8}fbz}>Xo%o)|_-dVs zD}7X4ZLs7OI!GPxXbF9vJaptS-vhNxoT^b}6q7ai2nTHO%;Y-xt(BVrF8=0B@Ze{tLYbPA_M@AOmxh)k6#H?1$BE?1?<4fs***9E1cAHlRhdKkU1_SoXFo@Q4`!&2 zZEvEQOY6R3?VrnltD5u{D^tTQF8fe}J|o9`>G{6EeO$HZu6F#Hd8P%Du(Mp&F4K>n?dBEKVqYc_^Ge z+HUptaFu;bi%wiiD$d7D#4h-uT`)AplD_A{$P#!otfhp5Gig85c;cADP6b7o9_uG% z5@uY1sb^}_NoHqxqHZyTIUeK6N5HY7OIyqc>$axOe$w|w{~xu}h?;=zfTh&Bjd#?1 zfY9>7>YQN8Gbcorb)ag{-MxE=rE>moe4E;%tgrmWY~LQdKsBvgF5UstWi&JWAJV=u zEUqP6lt2g&2(G~)xVw9BcXxO90KqM|y9RgnCb+x1ySsM3K67T?%)7tte6N4(lCD~N zRn@XuyF?sc)AWt+%d0-)Gpaw&GkJ8BzVGyFQuwH1$LK@Q3wPf&S3<~V(_?q?=;G}I z(V|S6LX1^uNth*2Dx3(@nkBpMeoysc)N5!ggSHKK_XGyHp6n3mgtU?$rWbu)q`t@F z?Z7+aocKg%7=F-pXb~cTc!wU_w#}c(NzmRqnuUBe>-hlOoNTn>w+q-w0<`QOL5I@h z7i3|h$jZrx-4o8_<4E1r>Nl zu*Qq%E++a*zovKJ;sidnDH)_0Ry(4YphjVsV@%YFh~Bh$c5#Lh6J*&52KaP z+U5~;q@2(a^(}nPu~9;_@%_VN-jjypr_c0^-MVXf`6VHwbqZ^h^-p_qs!Jr1&qJyQ z8!-Se-Hok$-%t}X={0N@6|GvtA?NlNs$5^BbOVA2%?d|EPtCi{ckiz8hC}E5mQjH|6>}t`dfxcJ&NaE;s;Aal?*% zTVUk!m8>lje6q)-`tEuOm2t3xb0?f1RFA;iUZb$~379*9hC$2wejBHj7arsTPA1VY z324`>NQo8Kup8v&KWHbB)iO2lOC`o+6f^r_(>Rn&eS`6?UGC6_kmbRyl3w#IDLoGj z$A#|RO^@v$`DE*_z&ce8&dlYT3DO zhp%8i@KZK}HKb!S)gmg1M=1ESc-=rZ8+2R6b5SX3nIhA~F;Q(VzCxmaq`9QBiMP0^ zUz1s`Q{YQ}?(E6UX6}zfJM0=^5Nig!cXCqthxWZ6@(G;Qc2;Fmaf7gj z?GTUP*M!mxmx&nW*jx%pKsj|DcH3~32j)=>@}Pl_S?Lse3$IsSjPS%8+YR0y=li|q zA>ZS}+%ZVxGkkgQ8F_gfi)tpGtAJn0QJ0?jnDDS!Y^z6SSeXvg`yzl~cGE`DL$A4h zYe-(~%{pe{qW_8Ic`cI6o)wg2&APUqL;bdhC(8avv__iZ&3=(E%%`h(A?s|!)yttV z(+}=8D*t0xQq8p#31HDSgEsaW+7`p}Dm+=%(Jm*OiW0we>S|g`d~+84>Guj4w4i!j zh*uLEeQF*@zPBi>rib4x@#TE@kHd4>{xqH|DUwe~PeVz8=uaXcZv1BnIay@arrdEq z$LiRnoOp4~nCr|XHyoj@GxvZJsl)x*`2#eg{j#c>sHjf041Y3AjGT)ZJ(m&;Vrb7) z854YbxT^N_#F70DNDjX*`~H@A{lh4Sd~grjVb0Y~O7`7YmfAerUekkLOlsFdvXYfc zb@l=tFO)_a)o(Z0kxzA}mo3%CQ2TI8D%q94YEOfqKMCO!qa|Kn_ZQ9bd~i#=cBkM- zD0odqPkA=!b3!;kv8OaUcR)JgO5k}8{wmYvM3gZ>+9%HFov7RceZ&(?Tfw5bVXu1% zlgS*)*Mm)!eDa*4BP1#CVq4s(kEzjV5$I_X8oil|c!2^%51hlQ$p9PPQM*B6`gm`y zCtT=TjcqOGdAGzuyQZrO@m+4wGjsSsFPth94e&i3^`%d^G-oHGE%J8vtZ=dt!UuQJ6=@I+}fHK*F;CdH4_Q0^9V`Q^az7V+s0m3eB<8{ch_A!)$8NbBYiU+Dj1US z6j3p6%5Mwt`j>}Mm|_xCC|_`PF~~mOvo4P0(hxzb(g$dkqLAt6KV~eqNc%Q=Y4= zVx|;eT>Ywr3+3|Q@BZm@1%|)B(dRUyfA7J^vh-rKZU!cM{&E@6TvxXEOvhBBt`(ml`q26?hSz9XW#$rC0S-Xo@ zUf0~AS?c-Heoto?Tdkynb&d`O_XPMRQ5rWo56!UYH zrxompU$cq=Xfyp@-|^HhP>r6eMP+lzVG z+Ct`z%5H@OTxIb1&A-q5SQ0o1U2b6&n1$0=>g~qYdrzY&wbg*Qzb)dVmu(f)yjxv5>}q-w)#bmvbyMn87v7QyRQis!!xW-U>T+ z7o!vQ%?wFj7N=&U#l~&Y`KvP0b&!mii zQ<6#Z;f|P6;tkK=M2E^hg5fgTBUBta$?5@Fd#K!kD3@n$_AyPL{a^^^-vl=7mmZ_A zLDe6@ON+)|VYD+u@4{XdaAW$O{9I#LBPHN22?H{GfrOVi6E@-3AVfk-wPcVxvX=lz zehttrstMG`Inw~@Gu@$Y7G%{EdXE`<<^oNuqHce?qmiWm1PP2W+cGV!K zN#D4NWRlm)pZ!o7mTKPsO)wcr`ykuSYE5wWtox*c#9uXQz_3Lr1&~DV-v_E2C`Uo7 z5w9^BjNfA~(aB8PFgjLf^Y7xtE7L&~may+KXcLfydHW#zP#&A|rwh2C@f*;JgP(u6 zH0I18xbtSTOv)iHbHsk!%HmD(-)j5}=97`vd28xW!hxM6ft`ldJK7fbJTvceifiMdpB874`~Xw44v{8lhuCosf_Qql^HCVH=#ii64>&?ONQk z*U$6>9`H~Da0}CO1x$B*-voBv0J|-q2FX>mzsBmz%O|vIojv^K7zrG~=et|b9{*0) zbb~tBFb12UjerxtNIv=tdR#d|dW1cE&K zaIH^lz|$KGzTe`~Q%!FvmbkczkKn$gUGwbU+m-Bi4Uz0+KZ>+XCt9~-I#!Fi`inJA z7KLW3lK+ek%C=>F#{-v!_={sm@4%nS5Xgo|BUD-ZMinNS(;j$p3`f~)`x!D!wZjVO zR+4kREIy7ZBrhErXs5t~I}0Q4%X6S)vk2^=T*4(?*z331hl7ocd@!#dKD@sPtO!K9 zgP{|Fp>G-P^lydanJUqY$j4jPEtU*W`^ zFt@dMZ*O5eBU(&RqlNUe=(kOd=rXQIsBqHdhni^%7^yvTGL^9hT(PU@iycVLUNwUY z949AfbZGa9<1~j@ek*-*N!Lw{V6A=Y5%Ms@38^@GQ)h6a9g9lM&5plv5^!rAA|O)ftf?xHDQKboP4e2GLy5J}opwa*gMZz)Z4@ ztPV-}H>Msoh*34nQ`rcwPkO7%lo&B|V^TyX*gHAggX=Ci5*vj&&y2Lr)i5KKloC?(xpvWfV+#j!p-s^j#Gp&9$-aOu3}w?2$1?GPhyCl_eI z`iRr^b17l6$}{12x%a8)KzQRjV!&+kjjHL80Lc$&qEqa}7qKI$lww-cX(CR)tr_!M zUKo7@>QZ_$sn_C9(+zU|29Tp&aVX02Go;i?oXPyzRC$}UAGE{^K1`nH{OUDooe9}# z%1#d+0o%-v&9v=~DB12Qo7iHMJrd=y4ao^;9?^jYO)`VL{myErtxJvMW zx2rXOK4rhHsW>)f{ie};DQ2Bv*yqr2(&r0(3;JUOfNwsR!o8D107v(V7(yZ&iRk$) zpaqEkDHi=6;i41cL%c8CJOokcJrp#NWVmk`1W{VaCuBjTZ!slppJNMM{2*dwSRW|_ z4j

    YD)RbBi;Ew({78~Tx6_N z=b20t*ULT=O~X7-KH^#LuiuQ(%2w%T3fCCq7WdX*WO1ZLefeM>FGacXRUU0yoCZIV z@e2gK?L_Z#$l&(i!|Xa-(jQT+zYxvr(6pGj%@o^TMQKwqz0(5ah&xz(jMu-&;dl@K zxa~4}6?Hp97sU;~s=&u-mJXl8&2-Xqwvn|VBH2o=xaB7}?Q zeOy7Oi!@1XYZLMaK#7r2`7RDuiBr{ncb{|L5q%jopWo3`Nw;wLRroY83vYe0A8hisQ^u~{BFx~GN}Rn2zhoPH0z6Mz0vRq7 zZY3;jR|H&6vb`vG)IViJMZ?UzhUpsLpHFf)Aw#p zeo+Za;ZCfmALN10b{*vlO8pDS#2;e1ksCkw?E|nOM;_$Qqg*2Jx}~@cQc7(+$3>D% zD}1kv@fr0V3Oc-c1fxKAKbf8FNg?}Vc*MkWPa@xP z*PU0Y;Kui(V=4RbY!GLiOzr!mE|6{;B=yq$zM0;VpgQtGq#tRn^}SAOC#=O`G4m)c z8|-&v*dR>CSMS(No*}sxyD{C}zC-%@sI6yx^Y*46F0BT(K5%jJp8>SZ6u#h~!ws2Ik9164%}bWV$VO;l9>vT+#wm)SEK;vbS##r_w{FTxeF{Lbr_4GNvPQ>xQcu#Julr2)F>vzNA(tNd%#I8}uOc#djAXRdJ)~&Wl z3hw&aXO7+?UpAkYu*aX*99X~&s~sl@!`oXwPXMy#9ejdXsDfH+LEKAyAS)=v)tTl5 z-aTbz95a!_*Bv`#H%hi{H0VJaZ1{hb)sc$Dnw5DfH@5&XfStsdx2wV&+6n|u_=#^) z^Kbgon_hj^jMv=ZH^b|GbB6_bug`#ZKzSE651>RKy3O(#0250N_D6mPJ>i4tg!>1G z;2BXWz1R|1ooN2Vvz*Mdch7}p#@r>JcE|gXM?KvG|NDv^lj#9=&$7YVFOrMIU&(d; z%ma=EPmxad4a1QM4!0$e2{XFf0TOG{T6tNt?2cpokEfUkcAA^kD3ajw=znq& zu%1(=&BbK6M3TrRgI$%mcuww#h0gv5AZCRA7`_8d;HBo?G5c&bVKC3yG37bJOj%z8 zohd95*~@RbQj;8plwas&JX+^$qJLA8eo|JlO=t|LZn%B9 z?>Dk%+%IUI5GQQ5{YvO-UHcuSpZwhl36~U#>^hiN)w0+U(Leed>?x8doc#6S`&+w3 z3?@yXVwBN$?IvNOOVXIct~@$+odQU$nw&KMP+4`=b!@3LQu^cYVqSnZ)-$LkS%& zA+?hG#lnl}rn_*3-m;2f&q+9`b8y9*n&22JB9Vd6V*T7(pX-j(M=UwGhqt3b+%};~ zAH%7<5yKKL60xeNp~RM=@rN%(HnX?|pEOSX*Gw4D*buVVpe>wFjdS zmXHTbUgns;Ha)@BB+SSfY){-<%g0q+4{YlS;S932)bKvnzD9eiL=L zoi@rz@VS1JYvOxq`v|ulm7`W+vXt)3+AiEw``Iq#S zD`h7*Cx}Qiqw~5y50^?frsVO$y6HsU&@MI8?*C9N;ohMt*ca(S?`s)>H&`^KDei6L z)Nf_e&AyA&}C_`~B^ga|(-r+w$nKgYIO$O!wvvcAzKy znhVz$i{oNls`x0&xN-KE&QX)>Pu}z?�-o?6;_r+T-SO!G6ipnE?*ka<^m-v!-lF zNpCY92gup2V+Sgwwdt$8pC@VCTLn)74>-(wY)2g?{`ibKW*2={6{kH^v7A5n#+bzr zQcl0f1#dR$mJQjg)8&kk-TLd$l(9YYFswn&ap6`%m1uJS{W-*H!&zg--0|0|OuUo$ znR#*$iqhc@f<-dHs6T){aCOwcYMWN(a*keQ?0!*d{pQnn{`!&8eB} zl1;6WOu>iZl|scwc&S-+XT)1?a~z4Wy1}XMg$yQ(*+{a?be7JKAUbQW=(X_MqCsiD zy`HpLsu==Do^x6qb5cB7aYsbgkJ~3-Fz+p%63Ukju(muuWMfHGlKk#$&pbgWl={@e z1#MZ2cd2dXif*}ISMGc@wyz!&uxzTqlA;@ZuartR%B_w;epNy7hattX6WNV!@r8uS zkT^k$_HcbyJ2Z~Ma8FXA3lh4FWy6)=$3>VYegJN1e756*Ye-90rXPNY-|>#VH{!$R zRsiKdZ?->Yo6Onh_1eCXyo${+kD0Of-ZM!mym96k(-eiVsk~C~$W7fW+5GO9jjxc7 zom+@g)5a%ih0eksxKmIV;N=s6iTi#znx$ahUpENxY4eg1=)U-r(&!{0875#N0p-u zP3_Sy36?&gw{(O!1ZfYp~5Z4v)b%o zitcY|c3+yQXVcp^p^98zy?u-B;Sv_Jm?}9a9E;88$0$B`Y=X=VoXB@*o>s;-I&IZe z`RJ2Y%}@73)7N<(EpDs$cpetj`p55IAI@BVv9Yy-_rR5`XkM;lulHI9b{@Ex#&EAo zPq;ZY)lGKpt^LsVE;|%`?Op7Ow6%F?m+w4nf8wHn_t`hJ?eWsveAPN{s;uWpYT>LF zrSsX=I*r%Xb)X=4lGBwk8h1Q>SM@%%emHyZ6a1FPQPp;E!iLM9BBpMmflsGf?|Iwy zMLkguVA=nIfm;pml4gC#44IKFuhLgns4!p6>P%M&$NFCgyx``2lK?8gc9 z(*SFc>d-t6es*2t;0x`|7e)$WOqeMw2G3Nh*TdNqTE_S5FEW_Xz!z*cf@FRWwOcL1 zqjzQ5dCaBBP43-0Onrja++^NSj{MQ{sY1@jfsLbg2E591l4m%EkMqE^nJnwMAbS) zKgEzw41C$5Pw`5RNMwDVUS!B1_DgHzmornG!?_0A1C#RK$W1j`7I<<3np%AQ8kBUf z_~XZSqZ^E{DfTHvmm_Ir5(UMJeknzKn4dyeBmAyYuQzwtnH-BM=%kr0R?o*5&`t5g zrv$GGM0jjP87tnq+{Z;({>1dCTjNkZi*= zdmhpV`mnfz@-e^LFQ^)JQDDbsWTGQEf7UxB?K8R*|1lpaR9-Pvv{&F{6`DC;D;w=fz=01@=85-aur~v|1jAEy2qI6E_HBr9c{Wle zndBOm;w1XPr!Yz$XZzX`m4lm5Lvsm!jk5(GCI5tFk%&7QwRAP@c)6Db)obW&~BWyWJzSGWg!xlHJz`y;v!+X57L~lpwdI zCG6*58q$OVnjgyAfNC+>e&K%aPlE33)`7;GD9<2PNp_vfUso&l)+?9i` z$_ad4l0cK+)hlmp!g-}$eafi>U+2BB%`mjEO+T`5k(7G6U~{gg+Y~J?(iHvp#|D41 zcbS_{tIqWWZ*<|(dx~b1z3uAuCEsTz>r?>PQ|#G4^Bx&KiFGGKUC9;zb+bN z6S6M$9<0O{yz>B8t*$To@~y6`En6P!Pur~QdEa`zsXi3h4t4lqvS?oC~>s5jN;)=vmrt6#LYTgQdac#y{TAq}T&)D}y$ z=5vA7F9Ff zOYs7dNkLOUpTjbF8LmoWnc}7DrE>e+q2hXR{>g=!_f%}c96L0IFE_O-|JOdUk}>J& zZhG+o)v%D`&nhRb7Dv^>?=4!k3b@mh)xy1oay@3AT3jxt6FlB`i!50F){FgT`+B>+MgAX#n6~`Y`cgtLfPT(xf z5Riil6+z8d0L{)x&Nkc}f1{Zu6jwU?20M3aX{+zkh32lb!z#!!o7Ti=YdM;;4PDd? zk0hh5=V5X)lY$79_2Cl%JcD2;hhAzP+1rB)O_s@fJ)OAa^E>b6>iosV#m41>+a-TN zg22;y7n0x2C=d|K%p<=t?04xFmsQ0YL%Qk(x3}3jn$K(EhIOuNn)CA`r~P>@el8+1 z&mq!JZXw-VyD9oZ-pddNBnx|A*jS(3_gokupWM()Cm3ShkK70+F!&$%5MJ<(D35OC zT8V<7a*cBt0-^)ue#!-W5)#Q};4&o)cEDzZ{0bfAKOlsbD>+3~yk-eY2qWu1@pB>| z8zKvePjYE#BE|cwFoVU{Zvj7u;Pzmk1zF^{iXxGb{Cjd?DLq7PmIu@Uq!X66V z=F;Sr=UV471jgr9bM7l4^Fzf8!4p9zeo~wwu^6T*7Jj0&fG+e`6XG6%Fcs8?N+W_# zgx(ii6ygxH&dta@6l~6X8KL{chEr1vAzme7vEt2Y2V>B8)wbp=O4j~7)d3eY4@v@irBvw;d_W11#Vd5O08X2--cR4c?Q&GKqHDWS0 ze&%cwQM;0tz3;VKZ9@_(BQ^cMaX**g@EkvT&n9`QBAFSPDsE&E$m&X5=QFHjAhu@E zK6mq&VoZ`{q`c}9H(w>UdG$&ixVX}_Qddujsuob#$!4c>`@D=L+CRBR z;mG&(U7dw-5ZFa*Y7l7m_#&R(*0Q?|r@YAGVGw!-t?>XlVP5JJMnvqoqMqr_%=wiY zbkfN?fi%vg&%@zyX=u&l9W#Bq8PrJauZtJdE!)m`D>7KSSyetO-y9siO*I%{g zmPy{M2d&$+&l=f}0;iGz3Z6sb?T*#8(+BX-eHJobQOwQZ>Cu|E>TdiOW{pyy^N^04 z-a4_7T5UH>`R#jFSyO7YdEHj;VFpdxwa)5H#rrUv+H2;?@@f#MWV051_bXu5=^oal zb91=C-GHgsbkrVi`lFSKMd#UTWq#*AkuQGDP04eJuBQKHXK{OX$OzKyUv4Pr0xS9_N{=`)yQ>ZKE)7erjTM$vtJ!3R;<}5S^1Qa;8xu_% z92>-e3>~s!yg$~~S_=;e zn3Y2)BGjk+NcfiaflzmdE-JagAIB8urb-yfw|CgwbhfGmiQ7RITQ%sy-`4Aj{y2_# zsxlL!3Xi7cNN#D;aKKGNs|sB)ps-*t4P}m+AF`0hYxf>)I0>y%eK_bBB zjaU$q2oQY1Osh`F8`3l34d4d?_$jdGXNpDfSMaZr?gBRexf!{hJa}SrVIg4X--Yi( z-ePcW1OnbB_nH4LyKnq=4Vre&xPQFjpCw=8K&oCKuk4cV6qc`@M_%lLE1&C;>)UvK z`uN*sKE?!^U?w`PAP6%UO~HJ5nOX8a5|_*{FF3Eqsp;^+(310~V4q>H_q8A-U+J;Y zsphR8Tq>&Y`QlYm6Yl#H#COK=b;+KCbp@zwv)izVIBM;V;_bHVyp$_-sYtk7<#=V%MM}%Ho_kqWx3V9W} zd9Wn0@z+TuG9HUB=Tt5k(=z20cIqhro;7_Zjni9ivy#jrGoVOyx%z43!K?CuMpWM? zuZst@WyjS+q-Ta3{XM|Pzk?z0cEPrnUvJH|o{0a-kw*AeOknrzF)ikXWtbRi=_}^J zG8QWItJIn@Fl$JTWa8jjW!~q7#-y8qT6@myck}XCuTdfLYf0~JA8_^$#a`LHePMi7 zme2K*3j(4O77AKj>&HdiY$NB} z6%D>o7oMXc4_FgnF=i#%MQu*ARGZmF4kIsN8e=G5_-J~!7_&%p;T^^_Y53~Sh`raL zH5oFQy`>2C%do~CtJx~sn$KA0wHN;$YIWn>zlbXIZIXS@@BaOtBVQMZ_BTcSO&IMt z&zt@|kF!z^>hjwsl*WFlBZOKhI-#!^Lb^#`t?T(87(#*5wf0svRx&Me_nB-)snR`j z8X^caR_4|&gR1y90JZxzKrS#Xz6`g-)HGhY+c59R~*O_O}fMpNguoW@Ap!lsh)gYY)HZ@^p& z&_o`zpYwOJ#5JN-&}#x*ljF*xPzL-r@#L)-)cOTG3|qkMYr>gh*YpEmggyA-OTOT1 z`BWQXO#GJ$F0zH@@ZDxY1ejaL3BQlq8D6}#|ZUxY*o*@xb|;q_+>ZSD#G@PDN-aZ$Px_O zFB%`IWly8cXE*xUfYa|y9SIGqNhT|NYw9xBmci-l`-aW-ONSTODyT)I%Z;=E0R!_^ zG?n|+s!(0m#Qby8B&WN@*^~+a z=lp{m{=o-d{uKw){UX$?bvs|el72Wk+i3Og-Sk?8o?(Ng*7KdfGh>`pCUA8Z_ z8hgqL6onTDrL*Ko>K=$=0?mXs!SFSh4s>NU?w5jldD!&EHV8vVq?MX zyqm^D?Ch?9Wwt$o@okn>CL4-nEej?vT`a|b3h6{`VT|g6Pv8G7w4(?PhS_%Su7OO# z`txtg^aC=zU{sj5bYk;uWY=Du;D~%2tDdo*$c|5RHXH0fh6iYwy!g}hWh``RO_I3;_$B3K|dyp$^>6CiO=}ncKr~GOcps-ow z?z}Hm8>mrn2R^3mF6lm_vXwvWzn&G|knF?ULp6aa;COnL3y!7CFVPO--%wI6-&0{i zKGISP_YHmab+huEVBNzr;}XJuf$#L2aI4=+$;%TiwU3|Y=`-@4tkV+bzB_lmY6;(rb+&-QBFueyJ6DvwSA+0Y)dcpEHkBk1O^VaMmZ^VwN9TFL>Lnq43H2W3^4n zn@N9PRh7=JMQ#Be^8n|Mf2NGjvz&w1qNBe>ZZ0{AW~qP9aPlrkd!>=u+nn&QvaS_a zvR$713)6zf02GcxW*@8>AR>1=>7|-{NC+ZF*rLJGq_vYu`o0IE1SW_(n$aR zCjJcy8+_0Ge}eie@vmb4D^TA}jajMC!+Kw z&JN?r_VzoR$OD_|C+?}E;EmCZ@U)d`?t_k~vEBK*^52in-CUJSGCy?4?hHvb-K}nN zQpGkPw{?0uqQVYld%lf6)n4Ob!&jNmrog2>;rrm^K~hNa5&u!U!M*wT(j)GHgobIb zdez^95m!ECj`Zn%<=18{M$aAp_j%y^OU!LOhiX1lA!l+f%(}{x9yt*4MG2bLAE3}L z9CB5=U}2HfZ2u>-$AlYZ6mR1A`c1}tlBfR9+d@(3gCS z(v9tHEl0b@gzlxhkNIZaH6HKEK2?9t{%GCu=e9m=)|w`}IoxashS9ex_r8@icb#9c zF_SCf_o^dpOZYVYqc?PkuDco*hu<}`J0`Pi0;Q~uG9}}~Nq?AOYVPMLG#5LS{_!-e z?SdKKBQ8xg6|zZqg=|F^8J5F>9TC37E*;4dzpj9nEqL&WsU;aEN!xp6mL}ujmag`n zJXi7Ey(f&FSfW!tj`sGA z$v)EaU|Z(+rOYd-p+dxDpxQ0rJ+4p;XrfKESwC_C2|{juqzrOeQ* z%WMarotnMCACM)kjLZsjzd*(h&D(77QpCPAeVnF8nJRt-=BRE5lQK>-tj?Ae@QpTg zbMiW0i5~s`6qNL9|ERa5+Q@&EkZvqIZ2su8INiJuKn8stP?GFY#8IC;Uo{V$5cq8^ z-c*LEt1l(#sXp+8@QlU`wpd82!)dK5;XLshz8?Wl9o|s|-)nTM-z?o#pJ4vY_bSX# z4A;{(`TJmgPy6uy%l8g8=C+Em){sodo$$a=VhZ^6!b%QJ-WCG*U_CFCZ>v#E>EpEZ zaBZM2G~K)*a>kr7Z-#^$Y;8dHs!) zZA=ZFP5&W^|5g*Bt^coVr}< zpdlbc!0y!lO;i5^FC|k$6IoMw7Y~<4by<5{4rD&@ZeXZCLoJFp^jbE;-jy2B!tY0B*%4*Lz6jZW`0iVO&W=E!9$&*qM< z(9`|i(C7JgqvsE19O~}w4)sqyu8l7UDOZxKqK!&oXZ6D|KA^P(*`v#{GX7)x9_ghB zh+y@6HPn+z#LirzvXLXRgDut%4G$K!@rn&cO>UK&y!Mv6>yOC~ zfhekVnuDeVF`;c6x`r=%g;dhpkBR+uG*)#%S?r&XwBS|(Q2Ud+l-x{YS|hnL5_brp zW&87@cTo%6a*CK$bav?zl%2FaA4M@-e>g9Y71QaJn!qyF10@T(sG)kK9zr+L1=*Zp zIaVavuzC!*q58;KJzo~llaIy{q6Q)1;SFgz@?p=a8@YccP8#VQ3U2L&^AWgx8BmZ< zy3NEi{Ii6u4r~0dn_=($xIny2)S^xHjT|*E_hmYi|0e`|MGKt_>2zyBMJP^)6oyx2 zXw=X-Vu)iEop8#tilJqTk+s&cr$ITBEDpXGPx0a#8C?w9Kfw zxbQt-kVYxtz&!LbRzVbqm~b zsvGgy57}3AH}G~C<(h16qC7c(eWh|^6J@&aK?DErah88M+_DuC7#5LRNNy@LE3&b? zH?Pml+S7eDo?(8KvEJer%`SZw`~!(am|YU5=~J-C0<#0(S-55irc!`v`vV5~21iW1 zh(;}WttBefB0K{v^U0IstZ;Pc2goV z@Dv;Wv>>^qgrgDoEuuxW^uSTLyz;3G1v@e2T0%6t@5cG;s6=+p^;9@X1OA&s;Y93L zI+O(Rw?y;~4>Avg9RmN1Pne_um~nve{rQ)0B6)z<$mSpEH@wO9&yC|r7``dzE!{h1WZ-oG^1cWUejY1r29rfjF7K#hPkX*x`g+;OXPoXfBt}{3Ajvu_lGSNGTBvUunu4sR_;Y|;bUzeb` z&BhK4x&|ly5-%u6zvyDE@8vhJHh|jxe*am0abYjBKI)ZXJeCtmr{74MlNXQLeAfvL zi*8K+;X7je`}xlGwPS>(Swf@xz6I5hstdbcyVgejg+UmsCU~+Le!W1BYcS}PX zdvkhY2Zv5oZTl4|WM6tzkl~0Y6YREoJ}>sAaD@Txa?xH%nHr{E!aS3;Nd~#<79dAc z9~CWAEvfA5H}Auy+wmVf<)>TMSwoSuwBM=2VG~?9mI)9Up=$-eX8@WimJwmXT|T;W zZk|2@QJgaHND%`&!g`)OZ#XUBIfS)fVkov_+#{kp6aAUPNeQ4xU7GZ^P_cxaV&CAT zP@IoG^^2EQ1n`WSJ6lV>cIuEd2cH|Kc7_9d1GNqIDU3Oe228&hHI8eW#L!biy&wzT zB9JR;Ahbozi3{?zd{k5;gRw2-4K2QLWsd)N5cQ+5uweFBS3~%4z)Mr?ceJ50wn=4; zE5S)IXjnWL>b4CYIjP!e5b@n*g?Mf(>X(>g4$Ef!*|8Dq^;9F!2H%A9P7iNI zuY50c{NJ-9O3F!QsU#&eg6?oy$=r2VR%yP=5}fpnBjF|Xk9!+5)xN-D5hKxVO$IyR z1&YcnOvzsxBc!y9POa1X8ho?{IF^(->Ozn0HNvvA)!>;aZ*pMX72plZN{7-ZGy$G) z$QKP+Ler#2JBq(sqh@+u42XZP`d+P>%)j5kUWBM!&B#}#yX(IH@^dhtV6uZs7+xhy z5+IK6^uhG$QEoc>(6eRt=f^PA?0o?W4frnhpm-T8Si>{h0Tc_pXuyF9byDfiMQVFslU4D%- zl`KO=Y6eaa~|b#g)!ksF?s*J!1G}G?9iAJB0H< z(}e6O?)?NI^Nw~D^nEtS7$K2PU^?-r|4HG$_)8{ogl~|i%1JaXtiP$pE79Z2{uL>o z@Jp6?TDP_aG}C5XT_NR(rfwERSd5dl7nUVj3RGj7Jk(1tx4-SvW3`TWhMJn{PYOj| zHMwYALW{5j2biisQslY^$ty_M#~P$t5c$!QwyrgYP%WYNRjJLN|M)5$3}#=Lx?6EG zNC*gNusJ30|INM@jVjvmtBmNrMM|LFG!H6~{NF0UindB&B3PwZbGRLv&2EhXpv_FQ*k&zLFOL1+cw+n^AbB~rN z`WY7%u9o`YasAAa?Z?tX=D1~5@Gp6#GNz&`uVE$LjoOEso;#`cbGPbCgk;P?>p3k4 zRx*em>bnI`r#F3+(=Q^3)_J!9WHq!Vnph?7pfV%6o?)AdFZ|NUmPy7Y%Q}PJJ&mY% zVNTG{)zcBf*to#$kz~2-ks{ssAYL{&&7V|tGRJR3vvNPMsAcLuD)Ue`;a>Q=CDntH z=|qh+e#O?E(QO)5Y&U>3zcu~%T^e4FZfq&!uGNWclX)NQeu&fTh3O2yRSjN&sbO{# zh4kB!h2%ykQm(eY+z{!dZuM_BNGfn({X)*djs3c>UAvx~7D_TRQeuh-Z>ZA@eCFy1 z`}TqO%LyL#Vb623Hs1N6(r+fB8T51aMB^KnY{ybo;V$7J)~aA?gl`YnZItpc%>~4W!i3q5#2|x@U0ian+n5f>9Z}& ziOAP>RwYQ-o+DP-WKjeSsZ2^Z8tr+%oO7}as`a^0%eZ`lP3MVDeu_Vi1_P)sUmVj- zGU`>cdm%j1DQHde^D!nrR(STf@Vum)yI+vHb@lQ#uAb=&RX-U3pMZIV?PMnzM@Q|J3Lybjc~ z0343gS2QO5a(1gTG2Cr!ca-lY+-agj)ky1hk1bvtX{S~+!)mO{W~TGppG1AbC?a92 z=)I&w?w>cwCQIh-`uo{mFwd~)f2 zL^)wa2=`7@81($%Vt)zeM4IwsEWn*hS(|9#ERl_YA#o~e4!-59hP519@uAcrA8mHy z;e%LYN1@_%qG`KSu;HBbX{gs!adDuK?dfr`xIPO(@3xR)h=u62UKf{9uN<#48K21G z{c)!NGP=>zTGmt+L0aGxU-(j&(l5lPAyO8+mK+Jj>oq~bYN#TAEsVUFZ+j$#ufYsf zWpF2g%}`kHKuZ=w@2FjRz2#Z2>W>vIY-2Y+ktzzqlqHIA^ z?3gjeYi4F!p%*@QpH)ghDj+vR6#;rF}zj;_SJvDKScUHHPlncL;8^>Q|Si2 zF$Nd>bU1)T2{AaE2&t|IYbZA6Jkm2q77mw9A+m$3rkU&tCMjy`)RNTfPyRNJTZ`So zC?Ey*qv-=2AjO{T>$em7t;qiEe?qG4CsL_8EGry7kxKZ9RG$BRq*_&}8`yq&Sw9Do zkFD75Li)cGhw)72(DTl0Aqk1TO+FaqehFXgMuwf6nRa`W>l3zThd4KJ4G42wrrKl< zOp$Xi^bsRuK}b1E3_pjN@#C%dOoj0X)?IzTCckP|nRk=dd=Z~dyXC*0B%CWwJzVtM zzX%TYM-Vewi!4iaxEVI|eIzvLB~RQB4Z7r11>?O2p5NUyG47{3vZ2TgT4~W>MqPJ4 zi0EaQj2e}0maXX9n?UI8!rN#^VXbw~T?$=mMLZ*G$dspGMt(QMa^!}KOPMPB*;gXH z)NP?s&(a*wgs>rqh zm{|M|ICkju(v|Uz5^>ggc2y@kkAZzjT&Aq38s283vpfjlU?Iv+g zjzH`7Knk&~&MhX5ZMeCd1^KqlJGi90AOCkAT}9*pAxg=l{)xuT9H9*(1_K?$Bh#$( z)gtd&uEYc~RW0U9qCl7%Z3T>I*HbxHCxT@ZWyHGIWRpF8GY8WJ=A2RlOsR9)mw;`? z6oS*oiKHxOzw&;MqwmkVs_nt~<5@l7X$8kKim7|F7Vh4!Jcr@#_P|>kI&l6bL1^?r z&0xC!;LQv_bF2xQ0Sq*Yo-gKtTc+0JzcVxOcp=>MddHXG2GdwwtR zF@0k9KQ8|N8ixNziQ$K%gN3yvlQqy;R>eq7QbAP5NL*P-N>-YLm5BuzftQ7ag~Z+5 z!Oexq(bJ{)x+7`R#K38)* z;EE9&yMF3>#a*(Vy!Y8hOXKNh91AaAXadV4Za)Ws0?67Y8AnooRE!)oG89G+~7yTf_lKU)|fUIf8CjNQ$$MFJ>ku&Xv>Lz&&CnM za$W-fTlloN{M5R*qxGZB|=*cZyTX1Dn@tmq25=(~yQaVb#v=mj%`ncfy9Z z6VIz7U!jbEHfbyIp82}gbuG1IO06g7`D@2HG%2u0msuN4MLXk3cCj`CcGQ4r-T!~9 z%U&G)|L!VOYB?bPzx;Pybhg9)ZNNIwsYL&8!R>q<_<#LnCT`A-&L&1CZvR25*;%_Vnc4$SGeFM&29v{o zyAUZ1?qk z;GrG9KVQrV5`aEzBN81O9xHY(0<0oe28b0YgReijg@kQxTiC-*JhM|MWal`>>dAip zB#1FXj8L1XXo=j@Wg^Vdn z`1=7Y3T&8)iwNQOXyC`#tAm}H$#%*W^v5V;?8JWQbW*9%DNDKzMwQVpn`h=*mgw^m zYNYS&iuDL-9}2A-tgY&-FYB-98sRc1D=TxA4=C`RUt+n9S+{-&TsQ|=NTEuG&r6J` z|1Bh#DCzPp`&Y(|zb8laTY{7>L7BjX%hUV^aw4*Ru5XHzKD=7;JDWHn{0sXvU??Uz z8jsL5ppaoKGT#bUiUE7fqM=BwY~E(xhI3aGBa`y(x7Xpz2Uog)yC_W5_W?k} z-fz;{`!cKn4W*~F$z_k5Sgcxq=z?3h9}d8l7TjdXE@V=z9fPtCzyFV@?41!ZNA4g-i~ zHvL>(4aKB8(! zi^jRn-enB;H{6pRYgjs*=&)^#Z=)PK+@sWU@hKYLvomEP&{Lp6K~_wGEH*ZPlKRT= zXcyd-S+%rK`jnfQG6(Bg4yW1Q5HySGdC;n`9FrCvpsM(o_;xxFDyW2qLU(rBp5g*D}9R>3uO#65OGnL?T2-SDLF% z_(Jj2bdtp{4O@tlCBsE{(iDQ*CoC`@vrPrGZ|9GW~{JM=D77XH}1^`RVqcC zFevF7^IgjO_Km zVks#xbcHVd9!DrmWu%Taca-UpCr_j$4_szWnM9NzX}C@c&d`6+Gy%=PhsWy(_hYg? zD$H6fvX9+lf#2rGqTW1el$n$~46}$kef)3lw=cJWE{<;AdEbw*F&UZFVr}qZ?gnZP z#d#{~d0quT5g<9-y=0kX49P-f^jQfm5E^Wd=$hfYE%tU?UzM0|eRA4GvQ|k3!OdFL zK*UH?D24?f@%TEb{ST| zOs1I2Fdr^D!(Ej570mY)ly?BAE zo!wb!f2o zvXp8TD;7_N7i~D>bTl+(H^i$kP^8JwH}R*XIAyk3coayG+!V>ce>VXB!{>i4X+SfD zy;~}%w(aFM2;LlqFzwB#W;wu}F_Ddb=R37MwPHqyyz(ZBX{v1(nczeI>E1)mL&7Uh zfh;AcEm$Q_pvTD4AWLC zc_AOl9B_A(dUTIRmV*M4_#0GbvB=RsPJj3WRVar95mq&3GMog9iquq_U5gdT$H{A~ z^DQ&Wr&nWSns6aF=aS=Pwb}8Z#@0z)s3ewF3n8wxap=wEQfyAoPx7L+Uj;#M(j>+L zIhmUm{YElv&s8=S*J9i~KiPhG^uSsnd3TWH6?yS!T4_3qRVt){ghd6Zl!dr381V5P_GIYxdFTS5P zotRjv4U^S=h>a0iWKgdc5kb1E#$J@%*k4)hxB=2Y{2;9tgbuH_XPOM)q?Et+y6$pL zt?U(>g6KaaH&gA`Ea_snZoILbH5uCHtcTa zTVB>ZRsO5jWZI$olfXs-U9?A;0RbXRbzIYmxwx6GY;SpC>->6tuIqvMSCA2nNueV% z%G5pFiAz>Q`2ifregyFkP%U2u|BI?M0xpc|$n#1mEYTi|P6+wt{E{t7Nbm5@U@s62 z_i>`trXMRlSzB&-Es}eqg6SdS@U7C)MVyItgzrl z=!-HnE6Q=|eGc%QxsdI#{87sP#<$Mz8eZfXgej4{V?ACY!vHl;k>*k0PL)xv9yPC9 zraih9x1;0yjmhf~_C58L)-ZOR2?xuH+=< z->dJ-uGz`XP({G|%}&7E0cy|d>+{e9j<8?r>m4XXxVzia|JBOH$vt16VUV0p(K?90 zvpn-+clvi}>fmm^O-Z7Db~)xU{AUFHM=;*Ic+fFd1+`qEatFw15zF-t>9V0xK4K_h z&DriUDNGsGE&MY=W-x5BxrkL=gAmHGx2>C0T}&QUdZZ(#hSLzM`hYQacRefN<5w&^ z=b$dge3n|BuT56M5`B0wdoshTFcf~FyyFSf+_!R)IWk^Ewv^B8n^XN>hShoGP_S6O z5V+I2V@1X^BN>kL#-@yiL0=EKUh|MMZ3xCm%T!^Iul_svu8?yj*MtUhVIY%O>+fiyeL); z5^B$4Q<*G0i76Gep~&XKH~EYU_BTGSRm*RsSj7Bp8-D%<9dP~K=V4g8z7Ku!BseUn zpw8Z(7;swZGw#uiDKtqppIkSM1*BQxBlAl-*vRjg6+m}xTJy^)`x~VsC+Apm7Vh9} zCyryX+FaK4vA%~Ti%)Iaqo)sE?D*E?=uzME@{XdJrUn0<7*u7lq{*#Dyed)fM<2mU z0s&U6xz3@=CW{0L{C3mIgdJ1zh$LOo?yakzrO(mG(fRVo`pDM(*bR7bDt1FiuuH(- zwXv@Gv!m((TUaUbr5Im&We#7kvZ~hgTr{HvnKPwzb5z8WJ30-~EkWwF$7orEE-dD& zJ1u++LS+0zFHBx&4n<>>I2J}`tTT^!6lv(lqzOg}34o}2`iW@XcL<2~eYqWno;tJB zc8|=0m+0)@!6U`67jJP6@ISS#vX$4@@w$s$lyanfk!^@a@NU+uc@{cLD5R6iN;q zNUY#20vhVOA#Fcua2h(+kH1`sn6wm3I#vW7cznj>ZWXbTDVat_I5CM9j^pSZ-C-(IZPN7QUKpN9xh_ax4yQX$G?q_x3VHHW zyXpjsm%$G^`C(6`s^g|(uSdHU*qjRv3%#ZYxx9T!h{i-xa{wiQMihKOW-~z>%^{!a zUEs1|EoLQwibs1|j?Hdd%|Ski<=`DNq-2mLlro0$*OaAUq6Xj;_>j+_)r7}2AEXNU z1Hz<&{zcGuLE;Nx;z{dpU_k!k1Pxr2y2`kVy)q#hP#-T-#5fdh7G^TC>xYZ^sKtXs ziBx)=KebibM{QT8$BcwsOk`iW#GF~)2_xqDK~rEp&=y?vQXys)i7B(vNY)lvj9QP#3R@qvxvQFd{@HQ0+R zselMSNDwGC0FMx@3Prk#oCuT&T$pm<2C7&6y?`!>hMk+xBw_c^f-_F zh1T`D1T-k@ix@CH92e6~at%nui{VLgEsq;ha^-KBdz;@YI-7{;$~s#+tBPsrdp_RY z$+~Nh)?-#eUDwZqXuE8gQkEq$^Y?DO@w7GfGqI^xWuPEjjDrV(2c+wh@U{IPC*S`` zr2}--g18o-Z+^T)3cm%Nlbm0WE%3A!)S@Rvm6_@%V6-DC`hBFAIKx2(Ajxp5pjxH-ue@eNHDJW1u--|QqKQPRGSWtfNPLPp*L1snma$0&W4Xk z)Mglg=@+iWzldJ)W=5FD=jcEH`?LHhJD~VW_BQXw$oejes%W8nJaJMS&z7GD1_CvQ zGg;~3RQ_Yb!^`}sKT3iM@T=LaVxkP2a;f|_Mybf7Lh!dg;+hHRs2gBn7FWm*4>*RR zuZ>mmhGesq*!$0GeY2+t1#eLe1>9Ow{+Xw5?*fWhUF&1512KHj zg1_FgNN6zGk7gGP61M3op=cIQex7FxvN{7^ZowUv!oHrdNGLhkXM}==8_T-dx`*zo zVY;-xfq&5Y|MV$a8E4(hGwA#x7d6I!3-_doeYMg~%|u2VIp++pm5`9(eT^G$tZCsD z{%d#D2-zf}YO@Io<_X@EiywifyOZ^OF6R+hNO9ISeUou4b+%8cFe`X-KQgxcf{b)# zAK-!q$j-1+^038J9CrCqDMcVIA0ifeD0X>5T9!SLj8Rs2wp5=VoYS(6vDHx^`x9v! zNHGkt9$W-*nV3XlPzt7+b5XD4_!jRa#o&qbL7z5Yr zWIl%0y*!(KQ`+jUjq)BaB$A7Xk-)?c|1?Xm`;lO0R|^kI@WXD(vy;8yWxey`*>8=K zlk97TjsQP@huis)i<@;s^53_Ui-jsWzl^nBlL)oGJZ-c=Q(so+G+p!U31gPP3RmM@ zIy(;uj)Y0if?y=B4CEUjyBI0*?5_@UlZBaS&0|{?L$3yv?4XFcMJ42~V~x-r6LNU7 zy(zn{4IhHYDG=`sx>Rg5xEZSGcgylmo~tjtjix`f@g{j&47hrN;GIJA;_c? z4%=CDHG~-Bn`@Iq#(QtBxppAobcC~Z$1#bDDD1U;N;9BpO2+OP(FqI{sL_49RE+yz( zfAnpF;qeF}P2(D){+r>_jp79C+mVsyW4|JsCPFCbjqyYXdhk`2lq=?;eV-FO9< zWi~LP{?>2|MxoqTWaX{HKvqxb7VFrfbNcH}K4Nhf;z7pl@< zxukUl7?(Q!q^Um*BQjLz#n`AXZw?tcHU0Ax1(eR+<65HM@iGJdBzw7R zr8y84FViLy+XBbbtn^(&)pqaj=hjS&@2>{8C&!xJ3eM&l-hSn5yk0&{bfCgXI~tyz zI|{A&x7PDxmr5%$zq)UXgYK{_Y`0oUo$z|HU?r=BpQ;b$1itBS$Y(|3S z-kt|SMxgYHhyVkKnsjAEpM@vyM6;{|Zr1YCnMc8R8i zbTR0qysIobRCsw0%9>FsW}>tq&21_DmM%m$Ps8MVFiJ$#1@Up1$vM^f=_9Odyr-kd zNV8H!Mq*s<&jDKU0B~Pu(zNE{(1;}IYMUoCqI9oWE6`x8v$}`h zHsMDb2nqiIGW^|Z)MoYMtVp-#6<=x|H{S~V-543z=T98zxLM1;i7G`NVMnERIC8sN zP*%u|)#&q&gz+!KxpZ9jbR*XN9LknE3V)W;PfKP;EC-O^a8(dW@weR#l9s^| zy7hq`0itoe)*EW5DUb&MkD>v$e=)(pxRH~Qlbs5fcrcrRI1rge#6m1@C7*S)&L^m% zUDd6~iRbzai@&2A4lKX@1G(N*G&ndq{(OCVJ$@;}n-bINWT4lG@sICM=fAh&Gmq|H zukbP7lKoeB7|fZ0xJ$R%yQ(#$Gv@SIrh%V(X5Pul(ZYhVE(XyfuoR5@zBLAKwZNjh z00upWk-wIZ6VYr9EIR=oudV?q0_=u_G!_sh)3`4X153mc4(eWK;elhvoEc~MSr8`M zEMXk_f<(oPwmWJa66&Jgz6)~89LkWSMoR>l3KS-FRGitA4{KHVQU11$y6zgmMduA| z3*+^b){UXYrO|-(h8q0WWz{|N{bk1mE znj;?s_70KKPU;Xx`7Rxo#og(o`8T>({YH|M!3G+PHSN>|?sd z>6$a{0jUyuF3&DkUQqjY@^3Pxx`^31_|>Rb*JUgurw35ZyL?}uWur^bK!ki*l4TAD zwV4kXuL*$SM~CWply3 z&M_;;&SJ2OgHmvylO?5ziCAUs$UT1`Zal8a7bR;ok-8MDV{vqJD9@QZ2zWBC0fCSr zEYIkSFf`Yh>RrjKHn|#+$=!SIS?iBgyeX5Qw8ldzC-mudr4+`r$RKcoOUw(R3wy)& z9Zd41K7SxjmaJ!|Qk9b10lv%{%i9V+2Wo!Yno4$ZqkxYM>5yd5kMfixNOu{fjfUph;yJIkX_F@0z*W&qS z26Jx{aC2z&@&*ba4iFG}@q9d*JL!45eqS`25_$*TzP}O0WM-Xr33|47)OE7)i_yA4 zKjA*g>bU*=+S4dN%`j`An+M$pKZ7=}(y!i%f&4sYzNq)4K_7OjKQ*Qu#K^Eg;hW%( zit=5iR)@ZUVArbbCn`-gfG7|nJF8Uj7qZ67&Dsc)3eM?3cH)r9tPE*HmPM8-(}5Vz z9}G(H?A5TI|C*jtt6&K<+QRU+!ccKTViEvyxM?1fYbG{*itOUP!n+axy9JL_eF7wZ z+^10>YRQ#G=#I8@bTi0)6r}6sYE!RPlT;xd_vcMK1lRS+kEU)yau19792t2zIp zY&WHIYOH?XcvJBnHsic{;m=u)umI5IIiE(Vi3P#P?b3c>%Jr) z4mgPL;9iR|LN7KFNw4y60ZWVra(WzVKc#&dYqaf;fV|i`IOIYzV?U=H9$l3G>RBF;lT6iT^S*VBnN$T|wB_ zD7JQp0V_%CHhgmD{2Mh$gaR9JAivKF2APm%OU)bt4K~tc0O~R-+(|{ZXi=0!o~d}o zASx`Q%%^H5@12(yNf2qhc=pQFvAd>c=`-n=v}DD1Lx4AT`C8%Z(QmT9GBWl} zR>7y*-a8VX4pJAv@6|r zRP_w;m&W(8hNiPS$MV=+ImLTM9;VnG1kjAbFrLi7$K+@mHlLwt7w~(cFuT-la zg(+ZhpuC(4fzV&H?+~j07}2+fka3re=nX75RDi-Nk-Oy1>Q{zwAfZ+jEzlm-Y;M+^ zQ;R=t(FjLFV23i5EIIHeEE?MMnG#0+B#Z?0^>z2j<@GRUU3~hM>moy|&EvzbM9*LY zv|h9k*ov?lq8qP?GggcIlYfN$CjactWUK>5-7X>;0+Nix9H$|g(YkV-NDh(Rp6c$N z^>N`!zof7^J)+zJUo68~q92rmhy@*Y?Mgak!vuBU$%}trtkv2lZ@)5w_;nJ%81Pf{ zc;tf@t2_=6`F(DDC$00}3%RN{dp8LD^O7{OdaW%d5|q&rixFFGfla zd7i?A7q4fhmj?}CRB7f(losKh)t8r&9U~#4JQHFhqO-~_Z9U&kmNpiREJDV`7q*Zv z7!@QZ#A>M8-7u0}1anXrz>-c>L1*?>-bMdwW;|xmK_5{72`CR#-iPm)@VT_&nf7&r^_kQz zUN}P!#Pv-N;#&VwJGq^c@5un~(&vH>1AEo^gwhl~rAf|h{}vZhrVbL0ZVw+Hhj%54 z3{TD(gS(dQZWy`&00jE3r09?boeC?|<*UAj_7BkKOk#VKC)D@-+2 z)P!Y8K2*o%Ku;%kUw<3V&IMH2e;H9b%4;Ll3Jhq-Jc3+Z-+ax|uLx3(U;ib8#kOJ1 z?N!`iQ_}lBV6t^eKorF}Ch?7tL>urRylz+cZ|xGG(PtfoWFSwb38Vnp}XzQHfQd4 zmol)3lgIMqtqG!V4FXRRuU?XRvB^j-6ZiKEv<_#pKYR5~1K?N0K9qRI4fvyFC=>9J z({mRSCMd#3-wMd*!`hag+6MK1*w{5L7%@onLv}0|s?t8a4Pdb1JkS9uwCQ%%akXc& z%_oT80(gBBvQA7`slx{VAWmm^p3{btd`K5ZDi*%f^qgaZHX|K_N+H8?N8xm#6@SlX zo42#cm8+W}i0f6H6Oi67Lm{1hY#2kMR9_DM`fiqY*P^;QHn+#uzLPcSp&BCMZqLSs zy4tJUtHbxhQGGw}R>#VC;^CosbZ%nNJg1DrL~P5MpQY}hqW*@{@intlc^0Y->W>EG z))j+5li4+<@Tt4n#5pk1+h1DZ`30nk&19-o8rQd^d2CN|b4mB8b?do2oe8-pLkn)& z5F!`0?GZ|`r1kTNylYQ;<8sZkQmtdZFfl5kn>I3kt$!D>pw6;5=2MsFN~sQ|s&7%8 z(T@V!+XOre4jL2=8+4C3Ly*P;zN93PL3xZ+OPO?BX(AR|HCjen#{sX{;MX-XHr^~H z5I6`$qXh*9>dF%U2#-BJKZlK^Pm=30Bqk(0BgPHHJ*Q8B+>&9ymZf^_BY`tXQ}~-X z5c#-DywP=tNfKu$y>X(*Gb~@PiQ5S|oH@Lc41o*(02bVY`tWk5|E}NJmDqDJ_th^u zt8(tdMXK?YXjLygwH}s2ADeM<_vfPKuoP9f--D&pLh=C-qoQzXPG%Zzd9pJPSP;8P zmU3V0YQQv0p*Try@1HZ$1Mj9=;NiUy$ybtoSg*-biBDOE9{)Qm3@jiYiOQvzG5 z(GO#v)I_zW9e{^zrs$f4lWSyCAA9kWLwRG11Bolp9nRxEmiqu;J)>f|nQBfw8$RX%GSG0zV=zPD70$#xGjw@rgW`6#90RuxvRQqZUCDi>%WgJ5R zgU^)b&&XgDnO>b#7?Icc=B+S__VZK(51n0@MllAk7 zz@mN(aXTm&yKMTMO4S}znid%i6LO3@g^INHR}Pu5 zSRv4%qC`73V3H(E1n79&BNNyO*x=E!FHEWstO~{)k$6OdR(wzAAeoJGy2dzW4PEL2-wEp+X2^s?+#76Ro-1FXzm8w z01rT{A9yFqsq5?ONQ?i=MdKw>Xx&$B5MeC?;-Xm;N zgPV`tIbGUU{k{LbU5~tXXeqxx?_Uq4qzLO9>Jy!2UDy%1;cy34d>4okl;)LmiueA3g(V*Y64_xZ}dt-isL5h|&xy}hjz$H^Wa zwIpFUbz%z7N<7)8*{lU zA(9I?WV5j%Ss^?e$)d3q-rdIRq)%=6S;O#@y}d!mLhfEn>rK`Uoy(-S*y)4 zn~XU_{MHAw7TW3s427_OD)Cy`)NmYbfeh23Cpe3wmI+<}b2l>#1+~u$pOdR-6Y7*x zOjZnCyHzi*Sv+oS<|HiI`B9m`3@eC}RScO)Xq<%aN>qns8hnN8tVj6@!=JcF9lkab zzl<*jWzm8|9lL-7(aE3HcCKz)u7=NScGCS_abT=k^D42NS*zZ;!J> zb|zq}D)Zzd2iL-?j}QIoYLuQHA_!!QbMRsb_vz1`e(MinKcODmt8w$WK zVmt3uU3+fv;;^+s!LvBYwJ02)I)@VlJ05#GmF?xKjdy;=XT~kQQw8lTo`0CWE+d{O zo7_3F-&~HINx#!t)PeczMxLru8Ushd>B?9QF?95!BO;f@+h94!^eoA+G@ciZCA~|F0t_ z2-p|)m-OUA@wiKRjC+)0=r790jRmTk zwecK3U4thnbhP>S;*uC_G5!r@w&1mpyS*7^&%wEa_piDi>z*cgBijw2C*8lt{UeKF<8 z*)Ci+d>1zy1AAs`_1^1 zQ6w?qG9E;-W!A4##ev}3(3HN0S_Meekd!cX{+&+Kz}g~oC&D&sv}W1Qte9@3=zH)< zEqqkJa-aK9ai3yB>`7&HUHd4cq(&N~76rC13upspO4J4Q3J{A6-atjPo}^43`E3J}2^AwGV= z+G&NUez3(Ij1k?OuFa2?f_7L7+OVz_Rx_@>A*Gi6N7R$tCn zwHLx32>Zn@=*(p5Z>|U`Ywsm@_!0dK%Ac2(3P7<}eBY7e;^w~_ARx$%o*61x=@6Oq66T5W$Zppyh`Co@;dsS`eU7FwI zlHpiOx%0g+->ieNC2p5|+%7~>Z(#o2s%HTO^VHmmEyvc*ch4Ox9bL{(&EB4t?-LU4 zcGkkWV$vKsAOY1yca_TV(=H9x zWmS@8DG2#;5^ObGJco(Ob&B%$i&|Sn4+H%&6nuOKaRilb^*J-@MkO6vlPgg7D$Ip* zoZb=zd6>|>YtefubJ{}d6}n!QJcdp7O8DZVZU)W^-S$9TpD4IH&MY8cxrh$y67{*JRC9jH+?4kQr{$Uhap4)d&^~cm@=4c3Vs}g75&c2 zYTMaKvb0=vGy?eD9Pdsvyp0X%{X*5^P8lpASkA}1;aD*CMq3bp$K+_0imPqJT|i$d z{1ZswuHyDHFxgMKT}!kL7^_5uJlb&Ri!fhQ)D)XngrTgil&F|qD@v*^HyAo-DBaMOj9n<1$i8(sI?-82gk!o@jcc>)sOGP=iSU>6>rN=1e45%QT4$>^ z@XltC$;)XY5;DOa?@NoxR1lahN*@unFw~o;(&uStn}ujB`bvKNN2W=f!S5#Z9(AgJ zRKRCI<@9g9Zy`c(r34GV`nmNpwJ__sk6S*|ZfbR5btR-)NMe_RaJk*Ba&(yTb@9CZ ziz&vdJ4ji?boj1vZdcWdV+}v>hL)mbXA;biL8*OmGFZaHC12=PEU5kkB;iL73hTp zb*!c|QgEafG}Gk~@6yV)m#p|shI$csn}l}9Cla~aF<*Snz~H2mDPkf2#s}k;j;^-O zyMfu`>r)ArR{cxi81N%ml4RmkvU`=-02anz2&uu#(5#95#H{? zGJWPAqO2B>mog>)Ku7%U2N}q!%EG}}ZM#`d5h*aFa$yu`qwB1|9QsNMa(bg@iXW$H zxXgh=C!_H@-p<$N>A}JY{KBW-ommKH{VK$`+Ib#LevN;&KUs4P&Ouc6-_oM%aL5mnLVbJ~WZENjm zDj?wQa{$NFRF2Wd8EA~S$LspMg1UzJesQ1R$qb1EV5y3xjYxuouYKl%TcAxH!K0YU zU~(m)PqGaO+R}n}EbWV)$_0f0L$xmp<&^NsQZdQTZ#}&o*jBS4rx?cflKG30!mek1 z@woaM3OGA<$4Ii-V<8OXY^%JBSFMGX(l-oq*4MHHeQRBPTW^g^8rlW;X2$2~0wuci zIgUATXx0qUc=)t^y}NI=2ey<0p03X_s4aip|3YoKe^>|tH#wuw@TG#gK0Ab3Ma%8Q z5$`r6T_1TfE|xyd#caQNx;5(zh6zT|5~4~56$ecgB#_Kqye04gnp>{`?%W^p=ZpDg z=c`73+}MJ``T_m6WA#84D4f3DIj>D9r;u?rERn01_;PM^+!HgbViC7V$7Z1NWhjZ3 zRFp&viZ=$F@Aw+N;{D2ufFf>Woa{0<>D9Af!3G7VfmR?^Jj$unJmwWV?34&DAI^iE zgp9n>{>3wtih+ZpV?dI}N`N?DDs}oH{2;A2%xk~P8ncggN1V7S%Ua(`~x1vr81fM1zvCKvR2~slDR%UG@}G0 z6*DQfciH&1e-e@t;Puq=@o?7jeszBl;CFR?a^q+u{CYos)G$|d?>Vm;H$4E5>MS}G z0$De;VEi=mj3iY+5naM4rH^qEmvDjwq(D^ZO;r4FQ`d57GdN;eT+p(~SbJVySn6}I z4Jc`9TG!SC=w{L*fBUS}D^-}y|8~w7)cM@k0QY9Uci_&p-OF-9*Nt>Whu+z8nOvK3 z8@$lo&*erndj5o+u%^9;1n~SKb8OGs{&r4}?+5sy#!%@00G>c$zkmGn$??PEot34T ze8%O&xXnNgvsXAQGAznwr_o#kx+10=vy}HoYQ^bhrQ06gT$);*Xgk#vA-ph7Bp8us~xlfN)S3;D*_l)f^~nt8Dyme*t#@6_?tF85w;l-H>Ai9|L0*A{Pe<|&&J8OG8 z8+#8nckgZ8*j}8Qs+S9PC?KkmN9K_mTQsDW^5J%~a&>)rfA8k2mrvfm`{AdT`v?2? zAKt%lZEJOEqLGM&B%V5h!~L<^j;LbbFv>L#9OhU}=0QG1!)D3}H)`3X$vVjxK3YwK zRWr6@%5L~LLSU!|99o&tIa+5pl8M7zr#r`AqQA}l8|Eec4H)S!1j34<1OfrFqlCC~ z013%@qKOOP@Hy=odR0KN->bOGb8d{0lXlMhF#HSncez}S#9?kWn<&OnJ`Zn?#MWSr z&J~|=n}4hQl5+S0j5K+ZZQw3_*e`r1MVY-zeV)2;)D z$HvA=r4n?YP*EiH)qfxk$wiCjv;qSj0q6IGj|rdJ32LcGH-BY7WuOKmx@)8=fWwO6 z@kKn@veKGLT-j~{hhM$kdH-Smx3`bq{j&S>clW+~a^v9P_JfaYB^{Nsaix^? zj?}`Fn1~u^-yDaN81kNg&N;STD<&3ZM&UKzzu5iZyS@DE!9RZN2YlD{IcxlmXbg-_Ueqnc=s#EA>^gIF3`PI zOXNd>`X(VD%3eX#xNerZ^ZnLN{oXzQe+>M$y&n<)88j#07xX8nP_o+^AWWu(L7jpg zmSve_%{%KpB)&pON&bj z^OK$SXnmxd&t;Q|Xeemtnj-M-Zej)pz9V1#e{4~T!9g!2JW=LTJc*!M%7p9X`k}@H3>AZ!W`;A7?^`Bgd+$- zP{^h(#Dd;jB3#WU1}d4>=~{E1o0O z(3@lTps5>~L$xX%%@)ybG9H5vuQn^}anf9EC^)-NzJ6=^>GRFEZ+1Wa{_NxXryt)R z{QBzAPtWgu|K!%=osEsf&R8vz3TY89pu^*3uu-(;p;Y8H3}P70(GD`y5Aq&MrqMix zOozRE(n9%+3Qi#B7-?ILhs0_&P|5kLIsZV(Yz{`JJDJsm+QwRadA7W=SX*Bny1YEH zG+k+rCI<>85IANsNn6fFwRA+wL^KeYvtzZZ%aeO|w{~xD-Pu}OnQaf3(lJXlB-G1* z!HKD{(7)&6R=ZK!UY~pP;M)D2%^TO(RxeGp#%lR&ENH5-*c)9Q?r`b01*SJI!D9mV zj;y=SuE)&o5e)h`C!`kQX2^#!h5(k~>9xEpbU0Xz@iN#FNQzWQUw{+9c9k7q?YKkbP8Bsd0+DE>DR=;z+ypD%z}(4QcH zbGRgv$xtXnBKeT20|`o&>c}eIS@(&VR>beOG+mcOl&q>3VwWSXv((||BCp2{|3tn3 z3i)wae!Y;1kJSfeCtLH=?YW83sn+o9_(*%CQZIwfOjXkHbSxAyK%=8rzC4XqAD}YH zk);^+;_x``&EVQ$Xy8M`t8duzhei9L!hS9u)e0#S#*&p>xR?vUdD8JlEzzeV<%}Y; zajbyn3uyNV#E#|EsXQb}hkHgAsmYFA7fNJyT9a6kY1Gsult|Yyq9K3S^cre+uKr}N z*Zo|lM$qZKroSDXR5+h6^a%&*UUd@c${eo>qQVNjSi5MC80&7`C5~#nhZya=dW$a{KxIwcp-6{rKzi-`_k1`|!)tw?FOyhj(vZzP>)QzSvrs zZOpVP6O95`qmoM7UJ!LK)`p6O6O!B$ZMeYeaZXT(1-N3uH$IS@YnPTLDpSo|Yrq*U zg=-n#NG04EPPFUE_E5ZCPt1+ymS<|SWBK+-YP1rmq|JO(O9aK30g9Rlt2FRG;g_Rc z$?;10NN}Q7UYqXR+g!iCx^!uByj3d|9Xn!32H*XnQL<^t16s743cXVvRkA{%dKPeHN*;#y(D=N&`2q*qq`J$& zBvTUOfnGilGEz|!#$`61B138E@M5ur+**9aR6J}LUO_NbH2{O)o_^pdPY=l0-<#^v zp2U0S@SA0OoiE+f&)?vPH6FSrb>@-7&yT>+JV&`#+`j^h2s|1okk_L<^3Y~^n!L}? zKl5K!`n5NWv-!a26$bmDgl*dfF$@F-8pAo60r>nKj~2fm`FJ!)k!j{j_ScYR*?+ye z)4_uh89O1PoOMR3xq2;MuV#iy$>~OQs$Q9D)MlE4VB>?ua>|K^12RnmirK?$Y@Va~ z>r2Z8IE);IyBx+NJA`7>$Jo&HY{iMFz+`}MBBn<|lHW_o0(!B?!23j*)DAOk;Pf1) z{6`eyoPrNUw)tyRkHg)8IW052r=9NZngQyP#Jd5Fx4a@WB14ApNEc{d&0%+_%Uo0y z6ArT{reb>fpU2aQcqFx7B-@o|%^})xt2XF*QjQl0;UAeuvu({gVzB0YCFgiaqxG+65)2Y@6 z5|wtW+;V^AX+gakhs1kb@Gks3yb>+0m7_S1sD1PPM$+ z8DDO<=0@w|)p9KvPY3;BRrGO4kgF8hvj$8KYMxYB8OVh@BiY$@WxSqm3}^D`kY5KC zhi4qvZeR_H>EhQlPE6A?g9B`ClS{GPgtUK=TDSXgSA|^_K z1YNu#b8t~W({WVTuYn3mMF~DXkY*`oWn)<)mO|b zx_&HQxXr)k( ztW^81RCc(&(UHhy;~H)JQpg$JR}QlW^QZTpJWI8a18X z4NvDk;;_j4$44^DGlSPIclLKy-+q7h*B|e_*xk6jF}XH72xOjX<*zJ^>}<{K-dqGeZ?B92 zqT$NT^@&SUwR$m<4oSA|3Cdmb15qW)R#{u&A}XKqdk2#aptur`6{B`0XgY=-QiOoO z7$|N7;;>31^KxiUpJNJn$0(<*WJH7h-SY8*o3)NV%3^f!P9hx)=@YwG*KwiW4rpH|uFS54!7?PVlO#=`zpYgN3XkmJp z=E(E{z?S3}HehgpBW)gY68roej~3UD1)3Gfqb-6k#x?&H9CkfsRU8xr<@NRosi0m> zM_U60pz&nA+N_lZOW8^$lXha^0Cd`N_lu?&j=uOh>=_((*?W9mqL0JKcLLBSAryyA z3Gkaqm>^x!@qlf~a9zOJ#9R)e?f)p254zPEC_aE|#SS`weGp0hF8>j4~w z8u=z1KKUhnrku@Tk!5&1XT@O@K$}G`lOfUqc_s*Z;_5U%6( zn?Bu2Tgvj}9cjrpAgu?49ci`#Wo|4sQJR(}UM9ZUb^b{mzdU0K%Y( zuP!z2ZO=Zsy-cL?ovTxTWdJpZGC35p{=*0IE(!2|;^@S(^fN3w^qSlThTQ}0JH3>kEZ zCtL+`f~Ez76L(UJG%m77rhl@FJUrwGzwQ4MauN6pw*nNyb4aM`8VOwAPk5r1gSsBE z%zv809Cd`iBry=!F~==3gan~WBBhgvH-;twa&<)@5!9VXFq4eI5r9no{G2!p7cKoR z%EYM&P^_vdi6Ft8*sylatxhcfVY!z?n{e2z`3rGa!12|Otj;jVa2P00SQiqOo{O60 zq+LnJE4k!Ixm?a=ov`i4fg@4EK}GGeK;S|qT+G_pq!o{N z?SQHZywF=yMl+vyqL|ckw?d905n$yy3G|!7QcxRkB2tG2P05RUtNzg90)8yNh{I

    ts#~1(o$BX~^@a)6ez1KhPynKFh@9ygM<;mrl z;ic&zID%bXY+hTRx_4t4B-%d$9FE>T<-vTM=SP7 zG1w@FfwVKt?8@-& zS0JH`BbHjsL@IeF8TAKr7)hb^P=!aaj&%tcoPgmu2ef0+kQsM^;z%=ONo;2dj-Zf1 z41lRz7sWD)HOc~<-7D}FM*>DF5{idR%kciw97gdBFVn0ip>!e&zp50oa1pTVu1b6>pd2F!MN$1Oe8)L+@qHx* zCwSSz$>Fb_mq6{5>ux0@rm%P&nL;a8B-5f_qyWfq%a?J&`FK1Lu`R==i4t0;`|5d# zGm7U#fs2GH{qqtadI7?Ioq-ddMuRF&#(aR{YS9@eCx*(IpikEXvAcMI(}m-=diebw zr7`Z@PvdZRTnz%=1(L7PBdWoL7Q;+$$_q1?B_75a~`FoP!-hc0f%kV6SvvnYH0KF*t5qQufD(a z`@2Vfet7yne}4DBfBgvd*Qe*7-ajEa`NxCXPwsCJd$h9-$M2rpc>nX`cR%gDda?8T z(Y1%SR{_XCMiC1xJBnIjO^sz+_^rff!JFV`*frlb#rj zwT8nJ4QIZSUFaYt!z=M$X<)gCnhJ`*WS}uT!^Wu`CQ*N}7}h!DuL~Rw=_tl#!d5em zk+5}BXS@=6-Xt9TQs@o3$v26YFEED<-q1WCp-cJj%;ezG{ODLCpU+q-bYT*5{Da?; zMU8k=OF8~R+O8Fn!kD z(`rnNkHWE89~`U}0mv?y37p}@fONv)bM`x2w4CILOO<0+$cC5C-tbsSTA`@n_ervw z=n_Ze~KK@esUhgH129n2@PFhnv$Q4%sS8)=2?F!jV5p1yu4U%`nEMO% z#+D}E6BRQvGug6bW@ct)W`=TAnW@0VE@o!ty$d(bPu9Q?N+As7u zbB~^Q@<}bpvS6)W{xdQ%!lV*My38rj?&L^!Y?vcCJ~SaNBr?ot)~kdZHZfY!xHLB1 zSG*V8_5Vc{gi=xZwzhx^N?#_ATfcdRV*>|P(Qny)T)39}7s*HnD`0~h9G=(I2_ojJ^C6RoQii83ocCw>rF_6S& zHP58v%Y`%vj|^iyoN1rqFpWl%iWw3iiYkfl7z^{_OA3<`Vx1PF2ndXG&dViKqmGX@ zP)FHP5<^M~Qme~y8>)*cOS03GB12t9t3eJDS}o(knGEMMoa*=_2UCdH4wE)A#2FJ7 z40BSuQR6i0z|2~OK_xY5MnXR_%nh&&4-JZr2!$gliLu!kDe!1kdNTB5B0cb^$L$2e@))3v)PT>Y@&5vc zDevd`!MDHpY9HS`R=ZPY&`6|0Cd-RrG6e;z{8Rqnz|1z7!ypw%<}m(B-{UY9eJAkEh}a~9iXR(l%}`#lddoxuaCmjGcVov0 zK={zUX=wNC9No1#a&+I^-qqbbe}RT8uR|L=)pyCx#n96-NiF0K#wtG;my~7PKyK*rH-MbR2+fq+1kh zV>(TAKygZ}K0C#h5@U#R%YsZiw?zObhUWu{K^Pn5G&zqzE}4Rtw%ORZN}+IR2+K_3 z+-8!!RcP77wIJc3L_=B$3P%T#tPs(qJSq-iXW&&}vX{mvD1}B+$eA(;Nuy$fdvtj@ zQ8`%=!7hb>hek0zmn0I9)JnS3E=`ED7v#lMm1lIdRS);KOpo=B474`al@{bArX@zC zBzSB_g+{@JQ(DL+0f!A5Ashj95gB4nPmIb*OH7Oo1t5dc2oJWqELxjE?SbJnE;2Vg zAuA;w1hz&dM03Xf{v2k)=p*9U%z6NCZdO`Vd2wT1RYhrGNnvhYc6w%75|9~Mc&H#Z z6OMoZiqn$g;rW1Q%wdyW4G`uqsexYQ|ArjKH@r?q4gfE9O?{!bV9RZxi2 zn9U%=teH-{2k7I>w{QgdJSI&d>(lcOB@X^~~Q2~{PTxtVdX9;Z<)6EPSBov3UQolBy# z(0f3O?;KRrk0ck+)lx=?LmK5#rzbhe3S(LuvIl$0Cr9dMCYqP$dUvi2@7pyA2A%b# z!QE@42X;;GSsvTBGId~OYWKp}+D!k#WcMOyi&_|DRT))67|}l9FwM7OB@&V3GLlZqwA(~ME}7LLkV%nOhsz-e z_#`p$sL9BUi?!5Lrw{hm4)!&S3^tDscZ`p;^>;VaRA#3qM?`o`!49of#R2&(6H~QH zp2aBk1RIm$LbB6hGgG3|5+YOL!xExGB13H;Hb92}pP>&&0OJ5>nB0Ie(I~`H0bc-< zWg6X&Vg{kp_y7uGS;v320It~tI{cva?g9K;9ENX9CgvM;D$v8p2{5=6_jImt+kbNofAaS6#pS=gK6m`% zTXc}yZL;WOav6^=W}^*{9G|b?Kf__{A4Yq72@Z3~@9ANt@9h0YIZPtGD*}s3rEu5^ zsnDR28?_3xTm+_9%d|>~OvHu0N+tw@BMyr`G{_bn;sgT?00ICeWfq+hMtp^cs}%Eq zx0t~GHxDRAp_qKOi0<_S3Kho7?_3l9IVQ1f0j&bl5Q+tWVj2-z zOb}Q|?8X%n99B!%G656+cN{N)qHaFJ;lLvwa~Px=7p@Ts4N%M{P|P6z1004|dtdYT zep8>i<5E$s27{dGwo2kX`jlu#Qj{aYZL;a)avqE8UG}B%$xPrdhu|=txeHlnubEOz z3w6k&J=*j{XIVjPOI`LrSNX(H{g$!jZIf+tTRN9#`&Q=%z}6N9cPtHWtd1?u^Z;jCNEFw^e|Rv{w$cl=U?h_cj!D*A=u@WYy#+mZXR0Bn5*W1_J`)XyLk& zr0&Liu#UPM=mUyDAp>9m#a0c&s-s%8h{G;3E5yzVwF`nRT&IC!kdxsFK}J46*liYB z)hx9DP3wqR28}QZVZ0n_jA zLJ6Fi0BEU*ED@7{y&5$gcxyKCfXNCu8Sbi8G%$mn?G9FCW`s61=8gdwNP3@*_pNqdfLdm(gia1A)yt zG(!Zn4D8h^_%Kh@$azu$T`6Ik^l}NG_el=JK`w(C$YHu~^(62}VE=O*7V=mItM}%5UIxR2!)Rq< zDUU5+(m^ z!j7Z}V{)V^H#r!TaAkgMb7gv8OHpTiZd*+jaJV2XG~S~NHVG^$hDk}a>1h@%1>8e4LIa%gkbWTlex7!QZ=(>F#1fX5!@zK@m}%EZ zOiIBA9EOov%wwyh63`3=EnlNzDCJbOl5R5af}HZOP;Eq*-V>s62PuPH3g~B~h1OJM z^mJ8>4mS=DH1_w@cC-SufLCE5K^l#cCE}ALLgYy{=>=|=8q8sp1v^zSk+vYa#$iz! zwIZdI1!`HuBg;f|m5ePBpbbR+#cRBNEfcea95#>1!a(qI7)~nSFh2e{@P1&Q<1mAQ zoWp=tx62k8=1z!>%t}uN6c^-XVlM>TO^l23xSc>?om%dXF8&}>`u|WI#s|qnfo4#Q zEaHaCdVcOj&}MTc8)y8$(QCkAm~s509Db*rd~vX-s3IH1532vu~gt?+UPUrxc zvr=Mn(&DpI6T)0}i&iD!viu=r9}w7YC`g`0V1y|CC1u03lm^ptjxWH>dm0c1D8^T& zpTqv7K-gh|AuJ$!AuOj-)O4DPNmC11Cbh_HefN$q~bb_l5m$cF3ge~?M#acF3n9S&W?k&u`*|{vu0+rV|KD< zZn9@)plN=%ZF#&43{X5f*s^_~8CtNRrqbr(G$3$WS!R2AR&8!VVUjyHAqXH0270(S zGaU4AMP5upSxQEnJw4Wz5@p6NV$j1tTBCwuQPYh|l3oTPpA1L93^J-#Owx&|1}WVv zC(7Q5nF_Q*hel+UHwDCp`GN5{j8anul(1nEBe;Y{=wT)aUdN^p=_MSLj?$l-okkY1 z8A^%Js8QQYT2QmVUYl8BvxtD4(UGQ;fVh( z5Lhat;ecm4Jj!GM4FX-nA8`10*!%Zzm`0RlgITRfuXfr@Ac=vxAb>&rg2hC7B0RxC z4hslisfgzfga~Bs$2;%--{kPeR~E&Wl@2FP=Zn z)cWT+43{mBSksYkDOwQ=Pz-trASPjvQDqh)s_h^357XW+OA4O|h8RAVACd!px+cl-N+a!EMzATeKdB5uT6~6#|c@#zchJEhd#p1b^(?o#gxA@9SY= zlMxcJL>d_p4NWl7Xu^XjgZE?N-`Zaf9m!+XyR;10M?t|S3^6yyK4B4|gaN{O7E{Y% z8f1Kj5jm()tg_E-`1>68pT>c!a-f94gcO>HN|(}^awc2J=E^xdxKjT9MFe;r;rt}y zF9*kUU=OE&C=Vp(A_&XaBn6kGlaS0RnpwqB3+eFv_?+Hk9)d77GGXWo1hp(ifs4d4 zrSH{bT#8aa*N9m>sC99qePOt5 zZmz3UjVg;q3U_4$HsK+oQe@M~;kZMu1~IIWNPxqD zSVNK*0;xJ*itQ^&BXI0_!czxXJGH$Ym;5ePBryIK9ztI=gQ5{~ojO&N%a$Awnh_J$TU!X2-P+rL2|PQ{j5!Q8)mby# zR65>P2?tlkyOu^fwhuP8S7m_!E=UV4$_RrNARHB>!~)o=W||Zt;ft2RyIHa4hf3wqDN+GlA*HM39F?3Y7c*pHszL(# zmg%r4J#KwUf~TY~xxTufp*Fv&EW5ZM2@sta=K@3nienfHaJ)pwg$}OThM|h7>-YJ5VE-d_uU^UJ za-8r7#Bkt-yU)E2!3UI7#Ggy#KhI$tJuc-@fhur=~Fifo;U}@hT+ZBIEK@IkWb{&fpG!(csWdfaNs_ApfTRU9|&Qb$`a=mmJwcV z8JlcT3L{*`aHqkllj@WLm6RjoQ`t;k!ZE6^&?xP*90pQJ$s`qx3S!vGCYKKgwZ_7kbD<6q<~|QnR>f9@?wupAh-agwL%P_&JOg`{;BriwFUreQoNX$=i_+1*h4|-qra>aItK|jpVbxi&9pzboTmbL3zD6K0AQw8IlR**#gjXlJcW)isvwe8? z_JN_+(x!^E%KX^s!gy#w8^?ueBb@Ts5Dlg=h+z=M4jl)u4C>dSWP<=!@v!tIsdyAD zfPuiM7!%pMqKb`=7UpQa4a(SjzdW2U3GI+??!E97FkSr_Lvr-Yhg9Qq)Q z*ec_iWE?e*#`Aq%Z|pH8z&}PN(w;DpG-cvFM?@>+kX16a-J}e2n_|M9aZ#>>Xm?_) z8^D{L8D3S9)=-yIU72277+;tlTT~Di7h_FJaaWe7_Hvc9~mF!;Bp~H zB4CTS#BwK{g1&RCCEtH>zr9-lLoyiU$)w^%C9*f21=APzg?FWWy!+m}TaD1+Fxv{u z^T46g@Ntx7g)qN^l#ljhQzT3(j36$ZA~njL5$lO{TVV!mH^_Bzo|s3)83SlU#x<{V znEcKtzL&y~5mQJ?I!()FnfW}6Sm3d0qdnG0w?(VqbEw{T&Sg^Yx+n1yknxyEU_M}N z=zR|RIZudEij>Y!vpH&*69sS>-~54pAKwTLlX1`m3{_GNQ^99zL~N~u?Xjy8!^}DH zuDqn6oJ2={inBUDys137C_OSh)NWP?WGtG5PLMCu%_SIGHS@!=;CW0gQUy7 z2adNl6?b=3Hr3>(C55{zN~cwo5*L!6osgLv5fN%hiV4n2i_S`k3~}kTauo1}uPNfH z^d?tfkg3=Y6DW5vhuL%*AQxK9VN7o(oJdTDgvXbQMGS%`AGd)x^?MjThV8qj1*{_z z7p!+3{P#Kh->-d776ycJfgTo#M7aJ1nYieFKMy>U&x4dw zmPAAsa#5T=N(t!Q`#}EKaA?rS_B*5DC+&kt6Wtf(__^aOGL1_?UU5Va_O~ ziP>mC;Ssgk@iX~UDvXajGL?wMrLzzRFpUFLF%bmF_DgOu5}zVE88oVtMdPuU{^ZI2 zfsFF`@s5c;wO5;=YSdhYTEv6*2}4gxR8T=mL}hMbbwN@^ZhUcCSbkDyYNRXDuD8hf zDh>^muxB$=Y^H)qm(l1_Dvc@D#Lcjc&h6moF@j&P1&^lnMW?IR%Yi)1H-3V#cF zUddo<*bFU~7JuY^J;N!^Og9qq5XeK0_3_#b z77+vj7?JQf8i_=wl(C3CP+TgN>02A}t`G$XU=EWChGp=_G-eRI^>0K)0+I*^_0Hmn zI%V(u2}&(R_6s(OZ=Qa@yzi4q!hRkalEe~jw95i0PW0H4!yRDINpKtEgG@m>nMumU z6L}E@)hCkD$P%AJRp2vJLJj~+r=XOQ#Co4WO2@%q0*bd1sDSjI2}xuLnPd`>f>b1r zjvj5{=0@u~%HpTmi?()E%=Oi-kGCD19Rd^shmS5!9$%h5wZ3KV)}FQTrn&yAt=(nQ z9mS(fxn1Q+4Y?7uS)S4)M`4@=EGt|aXA?#k*pVh-m{DqnQL~H`SYI=%k0p}RRX4f=3Sqqf8G!CZe*trnawC(4*LgjILRek7B(*{0_cIZmojNGAy3F- z;Waqy{`F(|1HS|v#~qR0O(;Y(n6pqhWbZ2nQk~}8PDKxJqy(xg>_zcAxBV9Q%)sY= z(x^UF{P8W&2k1xf@6-t;68R7t#|<(Msktyw>c~zvU#AyN<d1l__X}& z_Y=TjuOw#Cq+FWEq6;=E9U75Y&NWC_dNI>1Wm=>h857~x4^K3srxB4_RAPCH;x$~y zQ^EEIC+H+3n}&^(HmG>Ipg28L)m9t_5MCN; zSQ~5I*wTGyZur>p1aKH2d}3t_aQMj5D4=*{q-kNGZmzEeo;=c!*He+!oF7}27Fv?v zEQ+&ddUVkyfk(sg=(zAxnk8&_V`7?jNlxh7^XTI+MzOa_5ixL+vEdmOgZwVjAaGbM zVTV}N$x%W1X)#4P@wr(sIhoNh5e~JC%k)x+Ok8es!f1i8CDaAwlN?4D8WD!XXCYrP z=wX*l4KLf>R53N!zJ0uRq`R@buB5f5sH?HOx23ABwz#S=y(Bxax+tTuBCob2t0F(O zvLFpO+)$R^SYA+)l^pMJ1{qZ@gEGXT)rvVf30lWd@)=^LcPNJwlJSWW((mdtVZ#a2 zaE3GvQSSgu#Ad*Z7z~DTKZLO-+&jJtd0K@u-0gDOOt@OHM938jI3hk9$m~x+{2q!) z?{OIBmB3*>jm-APU%k&^O2EmFPw&4;*N-{;J5TR79N=j(^Vy#Y824TVwxWKpy7pE6b`*e!ligQOebT1uph!?yu$-Y zO)rPB>xS*i_JgAlz$9#BQZ@w}9G9@jDALcrKZ1-VVssMu_c;vgm2s$WL0MHI&^8i2 z53g4HQT+Q`O&I}_246coB6!%MK!L9+9t!Bf8Fv9$Qrde879F9ZWlfOBYCcs>cpj8o z5;owiijN4alalamHHVJl)boN2q7bt*(xC}8D;;XFQNmGk5s>8!s**)gGDuc2DMUjB zJ)9q7>aR&(9c|vfz3=$y#L4xk(>rFsfWV-K56_Qp&W-Kg-oG~1vc0Doxi8vECt8XI zYje8FQd$cWfWyV{&irUgYOp$7#|c)@gOx0sjHTn#Kn&xBIT7WZ2b)9kdkHA4fI4yB ziIvaOh4XJcXMU`tiONU~f}pesfhpXG0mF81P$=9t)ZrG%#=&o(7Z# zXt!3EwAGZ>mE>l|N5JU;XPO8!JeTH8-AVC|<8V+w%+3Nh{9c@%Upm5P2M7~haR!$~ z!+WCu8cGpguaIhGV(9x%dl=Ti;5oo&vqtH(7!#r+JZ`7ipi#-iIJKHyqcG}JxNPyq z9LB2*_=>>wdBp^vn4}NAlvK*^arhs#PhKp4Cx`vo_;+qh6l_KFoBzZh=tsm45aJDg zxA1v25~)fkk#PkgCWl950JQNr106O|OY41m=d1|KGL76s@4GeF@2U(CaZ?}J`{!q% zZ;e9#2aFu}vwqU(zQ}MCCqtvMX$%&H383XusbV@AAfslJG#rvqND0>SV_X`yMXnSv z>Aw8`J`TSdmOtRIH}xgO=i{Q{*jkE|MU!(Fphna}mPW+J;mUwhEvPjysQtTTXoSAm9~1f(Yzc+ zLf7X^Kzp_UT^b!<^tCvy$yjn2{WUyLM$w;wwQFfG}AwOoOr*i+?;PLgTvm3KuXLiq>-Zgt- zZQJ3+sl8i=cTV-r^*2nkmG)F-wUs2dm!v}5l%G(W9aWtXSrF&Q@EB7=v@sT`OF_4Z zDRvnXMpYGyETR%oYM5$`F_OYvhCm<+;r zpuILdE;QV!x9cP@C?rL?3Nzvw%5#C$Emg%8dFiRqp-#O5@axYu;7^ALG8o2jIQKvU zaL9fRf4FbO&tbSs5PrF6b&|`XvVA*K)DodVDbq+rfDUHBnU9|!<+0&WyGd^~Xo0<; zfpPv}g;WR}HtE&B!(o2F3=uf2;B!=B!SCx~x^KCM{=OjbE;153*T6urh`2l&vW?qX-shVJrv{8gscGP1B>jPN`pey%M}{2Ou-k4SzI`sFn&MBVHQ!@@Z*Dl z$MIdS4kupZ@8>Yu8X22SxQJ1Ox_6f;aUytKucUW;^G8{ey}8%05xYewGB#aBgebtZ zpb@joDxpO!L>tz4#Nr+HLVt?GAe93-4D-#zFlTmRltr&oN~D4Hr~KZDzsX^I;b0E) z$=*XmJEM zd}Miou&JXf(?^!3_iYnw~5E{YE-hz-h(vSmlu5}m3j zlQhC0bgQ@)A<4uiStWEWhb*TfF)Sc^{SpF-kHciYM)fX6U?&g7ccr65uSAM@m_&H2|55m3~JrNf~X8C;} zOq58?q83HC3|WccHN}|#;qBwS(?cD7t<{MUPJpnKLz43-R*fjyZ3cPVP@b2Q6dmKX z8DxAE$xrsC-okSz>=Oq3>LgsF9PL&2`6WKFj~gTkUP^-t2k;9J=CNrU27(5#0x$~% z1{6!UtdCceusnu`l<)*T2MCN~g9TisTq4k_WO)DbC;bw5Q>tGQ1BcZjzELIT_!1%d z4STJDs5~YM&VLlnLGTvt!a)gNAQcE@LJ_DGg;=7J%G5GB71lQBD{JHoS@8@AOOfT@!z= zVZSXQcY(KD7KzV=U!N-EQ^f*?NC3k+6^@`qLne_y!W&ITX8K}@fj^kTCNbHjVg%`U zcAWq?EZ~vh1%HRbION06VZ2jV#6;UJ1ZWE|u@XlnOBggIj|DPVC1C1hT(e4GRC4et z9-mk${TzomEr>JU7(1Yir-$xuKm~ z`jJf!?AkK8J~6Ppw{@Vlw7D>?Bq=;I!WL~&hU$c2dP$^N7HN`)8zm7&nNz{Gi0Hsx zlYpvWlXM)CRm@N`(GQA4g}v)^c!`SmN?8H*Q@k7|j6p>C3fU++LM39WC2XUD@3Cu> zBVCCRwotQNC#J&m0cJ5M+Z7vFjn_WVqy{EdL^dRf&rl9G?4;rZVE;WMd-E*$A?!~u zE9X&lQcjRbnI7k9ttlSuY3`^mD@c!v3O2)ALL2v(B$!gUjEXpqJv%8f*rfJD7_TP4 z*@BWy30Zi%E8y3zmBD-po+e__2&walyha>4jY%O+6|^spjMv$j#0eu8a7}83MXLgt z3S#(^9L6UYmqF#wy>&Nm(G7`^3kLG|bL(_`Vsnju{Ti+pom6BuXo2}s0T++}xj;t0 zj@SE85ndrzCKYNGO3)#|RS>#h(1E*f5Sw15HmEfwt zf+A!<2g=zb6$|ZD1)ZiBlgu)jQOVHAm|`J~%O*-t_%>X4zh7TEUsRdScM)L@i&$hC z2mlsGLgNU~#s{*1OqDX}YCab(0nj8c!vzBfOL=H>3Q^aFaD07=!+!tpyA-2D%k=w0 zC@2JuP3+d869Xl~H;@Ikn8SG3h4~};#p%SZIy$lCEubPBAWP0b5Ehdu5-M5f<1n%D z5bYPXXsAIJW@M-!AzGfApvp+mWTxn9N~1cPG6y@0209AI`pV~~n&+omriQB9>oYnU zGCS(CTWd1vN)t>+28;gjNoRGffy4VEt-K6d@1WH=m(Ou$sjxCW)bq!A{BI|?&n8p^Y(3X_u~ ztX36AEkG-hLbOd7CFMYyn^36^RLg^n^fm==z2W$@xA#B#MYzB9ng2?J9|eRljy9Kb zX)-PaC>mnb6s9NCmF8r|N7%Fy5VS&^^qYd71FQzRhFWznKm&CJw0HRr{T?vvD~7ok z4BsA`-l~?s`AM7=c;ZQ%A-?Mf-UEy9kT8gnd2C-il|sa|>eOK_dx+hlS4f2{I(7)- z7VZL>*}k#}a8U$06TFe7zJ4HtX}-9%k2!3ROI&6{ki}@xYw#v$Fz6T!8k^N90Y^s0E9s;1GIs|Ac@(&yl4LqhXX_O{~ivr-a*pq z(e(*h-%lTa4i3$mp_kaXOd+D$=y*4-l+OZrzzL{}#C$gnk~u^aZlHU??``mVCy;A` zD9^<5)-Oik8PMYLF8;T{A&P@*WJ0T6<+A9_T7^y_R>3gJV~Sa*hB(e-4jo0a!|lCWkLp*K}=@|Stul& zpGtzmaLsCjB!`COGzv^wo=i#yu%pPN4@N?=H@b;Vc#Zwv42w#n^W~y+5F!doNT%~h zWWUP`E*!YBR6?|oO)h{L97@(9B%+Iv&i*hC2bni-1Ci7YUthlT`^3Hs66J%I2nHa3 z+%gF1j;|UqhbiN8;Ja0eIVPDvBV?+06rG4+QSiXDd=#G+7?}p&iJDI}N|_cFGt4fH z^(fO5423z4vO;%xQE*9t1Nt?kG0oK}{cS~4gSE30Eeq4_fa2{FjibF~TSjWPjW>++ zlr~l-mF9UsE!UL9_B7`9Hs<#=iFj5Oy=)m_@^wIpT>A2Gu;;yNB9Q4frUV0&@Ebt5af5H+vRqk8c8@) zP;x>{RHVlp>;Tw;#09Q`z6HR7*2Vq@Ah6A7a#?LaU=YUe95~`ITc8h*V%G%D?TI)1 z1}<>3h#kiOYOzoV#^do=EY=65LO;jb&)q)2@4Hz8^*v~Ch`pA4mN(uE3>c-9uvJnH zbWqxV4jG4^;ZlZR9J&|9Xy7A$JOBBE2gHw!g<(tVkwIZ>G;fgGdu4`bsImhHSG`JT z(aVA?YP&&hR0(x*o>s=D338Q+L;{Z ziuRZjV;rgR?wD}1%^;Qvys6Kagal#{K2ia}VKoRU!f$C&qTG)zv%sX|NTpOB7ll^5 z>#)UJ`Uf zO7$KANvvd&;ZHOinvzWg6w8PZVj-0%Re;y`8EAhokA*Vfz|;w5Ogg2&s#k~DV6Iug|({mDI0av|!w zhzQ^?oM{-vF#iHGD@DO3H9#2jFmM>{1A>VykwOY}h>R0~qFrAP+*sBZ&;iV9Pd3-P-pU?N@Qu{dj%|CQ|4}$@-FdXsAAk_$!5d#3)O8LU2~HJ2NRHFFmX{C$=yvGBwT>Y?XizWfLLn4B{PfX+#oT z!Xsf2kz5*Ph?yJZl7$B;92SvE#S#h0EVg&66*<7r=1L-q8jIL}jlWp8ygu4RQ`;An2kNyga*d4hyQ*7rVlJ&>+w4S4kM=%gN{ST zr93up80%r1N`eC6G@=lbBFd?cuxs6Vu|>)eQ{JUt07y@H5ek)|41SR+0_G zaCdXgcyD!QeO_5kbVi&bKGYcDPzAyNRd8T92sX$~=E}a-ivH&E_L{t+)bJ>WBFZL9k2Ixv^d1x6p=AP!rEKJ@(F&VpbLl!E(q+F~P-s5nfv*M%mkFi+1L-e|BO)?5 zVGe`g^e@ojy6RT71o}Qt6eYmC*+L{tDt@v_DKN-+Mg`BVlLXt;iP2#>sW6?%F3!o! zNQ_H}3`>j(2Oz`2wD_19j~h7bFzSpdIjCY0mnC2`{ChW0(F6ts_dgDnKml@e3SOt< zde>9nd}CWR$`HE+{!x5XIL?`wo0SF}20iR@TCuFfz6Iba1}U^S>jh93po*QqKw6N^ z@Em_Cxxjb{cnIhXR0nzkx(%4cVL}NfQ~E0B$bq;k&#VWhRY)Kxa2Wmy4Y}iLZmq<#*z|iPl>Z7 zMOzc1OtE1GXw%}IIcXs|siDxf>3Q&iTqXq-^+pB95fT-I5;llQE-gLGCP?sT5+V&@ zZk5r<2T9D~5m8M6$t6fc5Cw&ZYGdL#1sh%6Vm?JJWf)Y*4-7KqUG^KFgV#TQ1o(@X z-T-3}3x(fMN$>6YAv_6$J|U8Gg0{i=lz=Dy1c!MvI9=)fFh%5=;4)=Ax<-KVml~yP zn@Zr)N$hH&K}1t9-;0_MlF`;+1qW0y8AUq?V6u!vpoE3q82TVcFq6Hxbl51dBr-O7 zjzxvSiGz%MTo^9aqb$sHHywAHhfd82a>`?4 zZJBA|HD%cyjTPeq?X%MZi(7`aPjqh?Zkrlx9`2}Wsmjbv2#O6>rG^^{lY?_&txM%0Mio4RfcF6J3UOG(fbZ5ItzW`yIRub+sLvs;7CP0?34)1^iKC>*Jsnb8B6>eR`aV z@<~!LNh(3buvAKlUdOapI1Yy(C|KkPlZSZ3A)(UnNO@emAvx8Yl4^rCCpRQB+nJu> zOii~YCYd9nl}?wyXkutI6orB$79*3%NOCzzDkTYp=&nS9?kbfel?t`+G`K64kR&pa zR7R31NHTb`oFtKw#8Pwwj^jSGa2y_0Do7dyNhL$bRY(wWp|5~`OR6bND$9?~N)C$gXk2E2S;H`@=tdRIqGh>lqDZ$YJV2i$)^g&7!7<+C;IT>bOu{kU<1ghna|qhcJ$}LgT;1>ub2e z6ufMpzuGG}sbo2wp=2>sEH<DZ{$#xMk53G0LShktkK7R? zy_OvjuFK7fs;|xNZLgXdY+uZ^`Dg%*)={VYl0;z+t9Tq6@oGuY5m6p@ zu+wTa=?q$>Mk$p^g<=seuv8NY%|gz9uOvxVhw@=sL zk!&WR)snSE$XP`B$J-x zu+ltkUSyakHcFPBVkj#PZLCe`Y0K|!DQK?AD9MeCkI>unY=scb_a$7^qO~))*d-(l zd7O!RTdBor)1gfK}2 zRE3nTQ*)hWS*TMJVpEz_Tru0rVVoP>yO!;nU=n(U0-8iXgHwV*r@U8;2C&H?c1io= zhvh`FO3-yYBKI1~3H*`$K8M-9WQ;5vi9sf4$wc8IC@C2mkrM+DB?WzdSDjxQ3j=gA z-r5W*G|-PB#`~R#mxb3yu_$~LV<6`e<%HO%W0cdBJa2YlOmZ*Pi4Dl_{YRe#9ubo% zKwUsFA}}2o$iNAR5QNDT0JRvNjJI?nEfRt*ea`2dwVJ-hFa$) z``70tb}mevZ9c-%@XfAFpPp!&{s?LpWDNOgV% zNr+Jl90u?z=oG|%7<#D4Q!OVVPZY%LKq*EgGe8n!Z=OFs?QljN6Q^D;0fGIyIpDm4BL<~RuaGLlg24D;=x0+Vt419Z@8 z9ma2f%SFaw=w)K7P7Nrw8Fgxf1n-Gv5Y-_W^!M^1W4ijTn)loefzJtqaA4H2fX%^C z$H*f=>{0!1$YHSv6@kV0RmhPvRjbKr0Gg3*G}EkhmMfSS79ovIP$#Du)3QwY#jczJ zdsdzm+M+Udd3AVYZ6sJpMQCAZFgywd$HDM36H?SM3G(Q8S$wi8B}1Q-rVWo4If5Ck z5LU2<6B5n~jo?EIcdbsU*-qA(NCpeZWFx^{c$(AA#0F0Q3kqdpgFYM#ax+8VbzF3( zo#Jv(p#ugTyOk6Y%#4l{rX;B{(sWrFhQfS%eQi{CN9I6xQCCZDb!l8`yxC>pYCua1 zkxBW4bAyYV8!`bhI3hw`6f&1Z6|yN39?UMudMVkapgPo4hlT=r*r@{{O#>;;QV z5{pa1v4&J4Ed|QwLigr#LBVnagyj+>hV>er!z>ALs-i-)b^~9=_oi8c$-9959*6xt z1U^x3NWkWDm?*3f&zp$+u1q0^se-eeMZ@dhFlR)G0(dk8E-Fn-rGIRn<1mj#L#g(N zntgaV6?0fb6x0AzVpHJ7NbZaY3&tG*qLcR% zL0?4iegn|KhDRdw5C~?HHyL4)@b#}UM zdF#m9?D*2m@Yd0e;jY@=rjpLOg1W-Q!sOtTP+fAUCOyKC7OszTh(io4tCHl@(<7bY zgivjmMF!s(P*=^SB1ud^9QH0665~5)ezg>(!$KJdiL_Uk!>CsHI}THP8}U%26Q4x! z`68$a4oAu5N*D|-%7H`kqZo7eoma}YZ_Y1?!C(Rf(Nf_3Ff0!JATyrI(cicC z9KyaG(>M>CpTmAPi-<-+`Le_UM0*|^bhZB#@P4{L4*PeK(olXj`Uhh80~!Zzxbp+q z@6%xTDk)QZ)Wzv!|7i}xd|wPKQjp{-q)1gdlFmTZ7)hXDO?HMOh#edzjEa*br0Ftp zELny2ikgVxDi2_`ure6%ThkKL&>C0Q7FSspUR)hgQ0mMnvE`N6pv@_=Wab;8&B!x= z!NHQM;DRzoa;7>gh8LFtuc=7NP=P@wI#CPc&99umb0kK;up3S*MRV6iC@ zPYfq4mJ0_X;`w0EfxDgBKi^bTXag%N zbu~3c_jYFt^yalTrxxZ1M}|ubI+9WjvrdxDLW7PPM75fv)4Vf{8aYp-h@1?)nqf0? z+zx)ETND!}Nr;d}d4w)I1D*!Y5x{UJCn+>!E}z8alejz*bg=OVLk?{TNu@ylMFY}Z zOSPL>!47_Wq&CRPQ;Jc931DAL$Z{?X73Jhoy-C8kWTHqM5hEm%utY+-fJX+ZgF#0s zgn@u*)r+)p7G91tsW~>i097m!qgqrVCRM_ue$e853Lm#9g8>J<86KV*`&Ns1xZofY zEf-2*Iv_+!)uv$^q;$223bO+dvE`YMl`7$R5TXPWfM_5OLkdQyP$KIZRnDLxZ!Hlp zCL<~uqXZOu=Z9Y4e>4|Ay_gLIL>`j`-7oW~Yw(FB`SE}g=n z62lxB6&m0(l{^;6HUuAE>SH1@fzXNw%NWt`S^+T@NC`)ZgznvujnjSTCQJ%7vUq)yudxt;C_1Sv4ZPf{#Ll82~Hqb|Jbi-M9ZPlR_qH zEqR~dbqEkyw%!5Lw{rIZpXp@mc=3jRc-J3^*dAu!zGmV@uvlfnKO%eoMPPf=(y8Tnf1 zY17gXrV>uj}+K~*)*>YAXsnvjONu%`ORmd5C|rug=jxZeKM zruL|!a%)n$)Dy*UhLG&RBwG;46^bl4jN%TbfOgV0g7qlG{VZ78Xtm@sNT; zNYHx1DdCYcXx$-{FgGjMPO}=2Yegj`$;5<75U#zxbTP4BDMAK)nH&w8S{?Gqz_bO1 zQJtRT4&fywXcFR7(UG#K2x)SnE;G#<6R9v6=_)l{EF}p9=x^n6szODF;Q&Slsgx{| zpyNCNiO)wb4##D3vV`#A%L(^891)7pAOgb*ya%O%q|=hsDzE3tXrQ>A0*is6Q&N;7 zG^fx=$bc`Ml&%sXLB;jO#3J27C*wS3LX@fkg}3QMC;dUh#ic<5_qY|T? zF`=f&5OcW0XwgW4Dr`KVAmRjYkyb7-f9E1`h|}hiy%#n8of`y30h59TZzk9(jPYpl z(nFeRQb+pAXQx|M=DODx`_||BR%SZq##&|u>&Ln(I%~5la-smjHaXoQp&Nx1;INvF zXbgAlDvsMGPL8uA#aJvlHq3g|5;B;8`Cc#&e0y3M)u>{cHEf3t#ifAS=lM2Sz*ooi zMKtl43_g?P=L6Fhb1ouLq;#g1!`JeK&?;CQ5i!sR2?7g=d4YsXLwS`0*8aFOZ-_FR z80a~8yC3ac-aj6N!Xff(csKohVB`;t^**}-jTulrDNuRh>IVK4niOxL2fP)ESX=R} zuuzEAI&T0r5gH^RLD`e`Yh)VS(jQyZR&?Yh%f6#uK!elZ4L}MlC>?DH|kpv7n zdI!lCO1Fm4>>fsN6gMJK5}hKCN|r?=$TABYWwkMlz~Roc7J|cFL%D7J=}kRJ^_}rm zEs>@5p#{~Byh>Y6xdp7G#!*mV0V}I>)wYI#6<6Cc3$?kW#{6<~VWqXG$_6dm%_z{M z=E)1Ijm7nbl6q5NtuDJvnOQ2!tx!WBj+8Z-3v2W_70Uc7ZF#c=j%1Zdi<-1W&FYdS zZCSISs?A#89o*I*-Z>c4I}q15m@v?vJkXaq*q;tI+?z4jpVl{$+R__U(df)B(IjPy zAqk||3~GETJt>uulFmxYdXmaW(piw-#^xls z+$5`mWH6H)L8RzdUV5e~EnStAEK5q3XXhA-ik#``x{y%5)y36WSt=tc>){!)N zJRtS(o z-eIIU&9q=UBizkNh?Zuh=}HP56{TV2MX_Z?300+OjkVbw%_Y5^H|f}BJx3)Y3%Mk0A|6^+R!T`)B@Ixl z5z|nbBR*X~%uq0M@PL9t;u*eNC0qtm#^Vdg$k8pO&=m}(n#EPI*uYx>$YTl}`M^n3 z!YM>1{6ZA8vdQpn%;fnxUKEqO-x8PN-6PL_mvQdzH3GtTJ>)}sKbG^I5p`^+{=0}* zG#ZORXEG=(CY8ma&;wqPNyK%7N(a$ylncyCkzUG^ahZH31@H0;BtOot#h_8C@A6>K zP*OMs%0&;KQN*O7LNF9>T?RRe0fV)I%@xs^914}?%On}d;lLYqJx~Mclm*%caTnNd z_U}*LToLS`NDjc(9nAxS4%~%tN>cTZ+wP2DO;D2sfkO|WEZ(A>SLO_(gDKl z{aJlug##1CJ)^ljV>#WU*`31~t^FyDJ#jVdk>yRHr48=NMt5ng6KD*bhK|VQ?wGo^ z@QQ|DI9OgE1RXdIEj$5eoL6qBZFe_xhctGF)pxn8T3ls~ma+z0d6TuiGqkDK18r5S zqoyqw`VCzkI9}c5sO@n!_6D~OhIfue_e~}aZ%G-Q$=EuZKeIi5>(;z2Tk@tRb0@~L zCr5L}Ml<_IQ#uCY8al%&n_Q)Jwz7IVbgEl|3#&}UH5NDmh^}f5f+Jv6&B0ZTp-r7} zeWO_u+lsc#mrczTkIZEEPo%;-DXKMOmdLZq6*(1h7!h)-DKfd zS9U>2UU67{X;^DlR%>TkLrY>sO=NDNGa*G27A10pu!BN5j$o$6K{eYcRwvEoqC;!3 z(}SH{hm~p4Q4JchK|?X9X+UF@grpK98Y9U^q?%C*Xn0$SNzSxsSivSih*jvZiz9+0 zv0;kDC{;$HF*Dhioo33dn`mF!-n%k80LOdVO6$tgDhpFG;ypno1^h3p>-fa%TYxuu`)V`6Y#oIe zFem_CtpugQ07Kb0H4L{!5E&%TN_3RwM6^_=4|SGK4%AHaS3{?-wXnY_r?V!lp*XfI zGbA_Oo*1I`m;`nuT`wS6Wwa2TFy5ujj&_x%M%Lsc)DN(IlO#C3L$ZeClE%GR*HqxPUYQ+W_iYP`2_jssKAjHE%m9ANB!io>5Y zTwLj6W00x-a!WuenEs=1GA2XFV-bmnnOqi?LG#w(MS-tWl1|JHvm4?<9T85GRV|V8 zSijF<8ueZN3bBAA=COq+8k42qbCg^*5LheZTa|K?R4ijLR9wE8!TQg0_>*pDiqBv1 z@eSyjn59k5(WmAa(+kXCY569wj6w^(n_Xfrs0=Qu4uLke%vo3&TGyJ?Igr~uoYy~I zG%;H_vs5>=P&F}EF)>#THnOd-Z!)`WFuATXx~eU#ro{uK1>{yWg@BlB?TrHi8iOzf zAlJ7?fI$bI22ZGHbTxHHfZA*yhy`oyi-x=P9iF=OQ0R9JCxF4D(C-|IhbI7vYrEVH zeW7iGkzJ#)0O7&uw2>|8h{JPvGu!jF%w$haWsHrd4i6^}4J7pU$M=pT0*B#6ntLLl zg?`_7%FuKMpmks}4IA`($CBZHbq*zT3?vSWX90m1ch;@$Xvvs*-az3wrGNpAO zqNy*mV(7<0i+`$4AnKhf@a!lfj0DQiev-hDOudyJ8yKBVdF=!&8|FS%syj z+EP%iFDTO#SL!S3Eaf$p;tE4Wjjg34yniTVa3pPD82&b6W?SjXTEoI(?bu{d-$-HC zU_nQJUe9pR@KoiF&v!ORyRG@xMjX+%Y4J~ddJ*S)6~}L z!O_Cb-mK>Kx~91N;-K_w6JR+pRfARv@~kNthS)@adjjSn&ZK_Ict554~%N^}2o*u0jA1oQ_ z&FgMUZEcKeu8(PLis@`i=M;a5NOhq}7 z`I%wascz(WNpfYS1m|UV3bVp1^Aaj@kp=oj9 zSt+r(=}Ad(kuD+_Oc)TVhkV_>Vkjsa+Sm8T^@)kn03iF3D)twDA%-fn)h>X>JRgTS z{~(7ym;W%3y##VWl+wU>Og5LnV$&GdalxcgSTrh*oe*#tU|crJpv9!4(rH2-&8iW{ z1Y2^FqH~jDV%#>9LMUWVn7*tRA9I*SAyX+{4ucp54$Fi*xrlF8$!%JdQ>zX(=%QVY zL{CVV#iSPtwE~fp#o{45PrK_mMT~ZfXTJI@q2&-s{C~pjh zwx%tnu{*K3HyPTx_V}8Xc!2Q8mh!Q!mDBTeOS{|G_xG&r@0#1uG{3WHZb#$R)#~xN zlHSS8=KlEF&PZTyeMeYrTWDRor>Q%#tv|M7FdnS6F9!O4gS#-_hbJ_3MFXYV`r`JwG7FA$4JG%Era=e&ReyBLKn!5HXEX_j3V0kOY;-bpWHM=F zJYjGowr?=1r$3^*+tbk<+Bq20HV_TgJ{Z$InlQ8_ePS+m%TnRYa?#e6Vz6ziCD6i= zsfGN>x%_P_WpiuQ0O92g_^`Ee>lHIg#qbdP)xdP}z?P)R#q4eC`7^7zVDmc*_iol7 z*laj>xN-An^U)J+$4_;fJkxdRY&Y1klkJC&G{K`_KxRPn`mXY|)w0!}!jTZol$EHiR&ebifHVuy#clBp9wI#K7CHD>G z4UFb>^ke{^3-VkAc|mzO&g@KETCyoAUY8J~i;vdEM5yDVb;)s-%oG;@r>r2hwmhY& zHlx42V5qxjtiNP(sC;^)a{E;6%3SNN)vlc@?TfQ@6C;Iv-KkyeiO`M>=T1$OZk?)| z-`2ji)VIFezp~J?u)PCpX|8K|zI)qr^WAlDuf3F-YZ#qIh6+dt+X2TX9!IUQ0zg`l9coY)%-qYw++7Gs3V4*1QCjV?+{DNavK@`Tt_3WHdx;PQzYg8wNFf6}Pr4`0N80|;l8 zSOLO7V4!YwYjkaUY+XlOOJ54Gx3xdDb2zhqGJkNoaA2yScRaUmtZ-_sc6PO8cC866 z=Utn9`;HIqIXbYsr)_y}3)sR&!^~>s=xkxnL`M5?V$W!D_efILa3VJ7_l~82^-rXI z(mMK++WQjQ`;xndQU}I!h9+|cCvy8nGrEV;N4MlpZZ934%Jm;d&zZ{ZpUfJV$b`S` z8&5?j9!~=69g6N9j_Ml<2kRa3fb|W8_6&G>Mq@jNB2?{wCe{d_aA8l*aC!)9B&2io;ckJ1U`MP2U=h<9K^@LpaZzxzrSwZzS`Y; zt9R_KSXnPwTq&Gg%HOt_H@{l6ZKVMI3;eH^ zH_wc39O>V2uzTmBo?V;0*r30Dplf}9=k}%AsqN*%6NLj~xua9XaCg_fok#Y$RuH zd&T-n)9lvz<%NzNtG%mBUE60GCq^qrhswr=%Ln_4dOCBvJ935xN~R}j;7D^rN@1Qm zDbARc8dRJYSy~XCn;r_{6DIps9oMAh7*%Y8f^Amwf=r-+t(ghoMHz8*#i<>2xkDZ0 zgY9JvWvQvrR^YIli`WYU1`ewPsD-;mInAu3TNNa?ks0TfX2ltc(}HU9BU{T;dg`)g z`fIoJ)y(wO%?&p%jdjirwv4t`cGl#j#@anDxj{t-2-^(Ys89`XI4Q;w9;^iQ4tL=l zf*1xAx7OzXhkKjy+G{fEisKtglZV<$X2;vMjx_hSl$GYh<)nnC#s;M&c=9r03vv>3 z(&JJS!xF;m(Jo!EL1tBQjZ(H&h$^v47~Xv}IK~X$m9tS$ikwGMiKrSeQzfJWjpaOw zUdFZSq&hJl<_MU>0AVSUE~3$R{~(81pXV@6wC=|*fESyXC-7$arBeI^_8PJEi9shZ z8E6-+NJv-6IBttN%4LcTvEx#DC`}xPA>z>gCWrl7r$t;Aa5&Uvjt>jTj*kThmuF{| zWTYjBg*r4UvrM7l3;o6G|7i~U_lX4Bdv(*_zg4wF*0#qqbj7#!r*sUZca3EBjAerj zP8Wa;&lF9}m2X|C1))2;-mrD04hX!yuW$FEAy8Q>dpd!`8%GAs^Q#TePHroknk|ENWV&Exsd{p*9R6x>A{&Y1k))pC1b}T@ zPe^;OyQ|;bI~3YK8ag=P8J!Fto{SioNg0|+1p~5;ZqJxp$eCFw*tS+Qy_C0gwQz1{ z>GIyH9f#_7A8Fb++Pvpz+vb_xeaAZh$n!fZKqSNSC+4%kwyzh15(b;!UAlI#25iS> z-M(YZpof93hmW-YX@R|GFZ5lwJb3ZS(3$hS7{x$lz_S1DsneY&Pj$eP;ZNWXK_~Cp zU%g{r)zZ$A#a*TF;$X8oi-Go&%ej+_nG3rMw=HLFUCLbARkXUNba_|l>PGqQ19bcC2^j{?7Hi?Eu^5UCrxzI`$tOIDU5O+|}(@Z?9aq zK6mQE%!%_;$IeV1Ix)O+U)SP#)5>bo`g;4$ot-Poty^cR0m#Ec1tY_SbK4si=9=ec zo3?JL9Um+8y! z8mn5K>s(vx**?|W-&xd9nOad8TbvV_n--E1V~Yq_)kJXX0u!jQ2^-bic?+69SrUf|UIbTlte@JSjGLnWZe zIH+p2Ss`$nR0fGaPH-51ga7y_;WkTXV=O>fmbpqGFxd2L#ny%DnfWT{0FB|Q2Qn<}XaV>$*S8`>O=9k#X}TlbKwe>`}2I&@-d_{8?8Ez6lxOF4j3Kq#oqEh`AW+jkTJ zffqK)0K$lypzY6|p+j`;Zf$EK8 zO?!?v??2Uc?0gUCVGzT>Re&uJ`097d1^IfOTb)GoWe)MF^!DEg4k2S3AEnC}Pv3{s}=iyptSN2!TZWM3dnZNgV-Hrog z>-);~9j!ZbviZRA#zQAskDcv0ajy6L)sf3Lr@(GMnE&$4p10o}dhzxCr*HN=c)j!C zi=B_&?tcE&zK3si-FUcg`o;vbmmh4ucx&d&&B-%YC*a7r>r>}%OkcRZ{rt6U=daB| zd-2BnmD>x~@2%c^u=?Qn-n&nBLjU58*;5y{96Ua-V_(POj>d(>+O_qTjXhnvH#(uS zwA`?~(zv?TymMDO9ND$23+`^+S~W3QG&NPWbz8;ia{bam_0}yV!-E+eZL!Ub5n!#& zQJw8^a2KqtHL|5CvZ>M2Q0J+y4ejYl8XU+P8_w1C6y3p?GPFmgTWYqTR~!tkC}E?1k~hrOD>m;fAfl^)rL@6MZ#p zHQ6m-)w#_zxs8=MC|WNwCL_s{pB7P)8C{j1SX-1*ksF^L<8+%OS`o#pU>T%zydNAO zj2+_wDh{|Mc0{s>y*W&hNy-f}C`@93l!?~(cz7Qo4Q+DyC-gAuGkL#J$zUdpPY3*> zjO8q%5+##@o{yu*ye*MmmqqL)WD^Mn^qO(u*Qc3M>*}GW@CuS;L@s%Qn5{`)(FLZ4l{{JynlkjSoVKl zY*785U@*FETdSGdRX4w@0YvQVjyh-os_Tc^SNFHA9ch89U zgS~qW^?6}b)AKQt3#s$FirDFvJY@c^fLjyD2?R}WOebAWye8zp`t z)M+u+sQXT~?mf{0&xiKF>Gs3tyN_S)KXY~H%%y%%ykJ1u8@DHc!&k14UcWVQ>+ZDw zE*M}LXbf1sbfy35^}%bmN3P!)h4#|*fistTj-T&1cCP)vsixh>>UJHi-8f#q_hjS7 z$;Le=8ulEkJ$AnB?A5-L7rOw$`;OKhKi7Tv*7&tM)3+XMd-#0i`RiQ(;V)iqJo$3R z!)L2cU+=pAV&&GO`Ac`FFWi_sdt(gR3%4h)+?ly@f9B@Hx!cbc9)7v@@YULrS34iQ z+WGqXV_>hoJ@)e3BQL)>`r@0zUw(D?%da<~efoO;{b#$c-(Na+b?ecyBm0l`Z5-;_ zy{CO+Z^xc}o%;@SA2`%|=y3nxqk~6|4V^eOcJ#y`9NE3Mb#=XQaiw~0p=x%ad}bzp zW+r!fI(Kw5y{|8!t1AYqw>Q40C$76Y7Wy3>QLQZz&CMP_abrU$kQor&-5v+5uB!^p z%h4sr3nRmsiLw0nSbkERAURQ-ks`~^R2Syz3-e8F4bfvm`OC9)i?empBgJEb1q)m1 z_U!20yVkop-!?y0KiXGZR}zyDsSdU9LTr4yj%8NSfP^xxw`MD-M6`F0Pef42D5$E4 ziVk|{UQk{YSWjx(o4>SA5;P$SQ&X4(`qyOIuO zfsU4)9B!yBPHd~nD9Q*+2-O0X^`g38mRlB{|V0*|7zgQJIOMu^w}t_!=%tPNfieInb(~goHMO z@W}6#Vn;=Gh?4G~gD{ii%}b0zlzn|BQMZf7Amixece#s6AGR!tw+sr~m!lh{yyKCj zB8pDIHlxog3^A)CUFHyrRxjm=h{P#fL126uS;6O+|Glet;j+gLrm`?J>1LN%Of%}&~$6;Ll!=F6UzfR}haYy!T!NV^It<;fFQrm!78I{_#@aB_6t@u7_){ksl#?>N*6 zf3@pK*UrQ3U_jvgr+W{a?cIB-YxjxPeJ9%Xp9G|IfI(-^u@(@SAUF}03Bd^+IPQID zvw6q9w$+VRVC>v#9f)3N5pQ=juWht%972xD!>2|M939$wxNq-f|NbL`dyfo)Bp#kD z=o!xFA4eSS9*zSJ*EE@`nskjFhOQx7j?#5_1@pPC0foB`BbJ6Hvz1@La3>o|PA zbMJ|!qZhl6UFtc0xfkvNig#?*z;o6PRW9!@TiRE;xVHohI`CImqaM4|2jD$%W#H7c zp|dwfFWi~9e1H1d{Vmt;PGQ}PmGHHj<6r<`X#Eg|4(8)IN_ z@W#V!x1Y>C_;UH_n;kE{-Shf~{a^ib_?LgV`14;c{PgFGKmPgL4}U!W{U6VK_uJWT ze>;Wv{KFA|^V2tb?>t$*cx&sibE5}O^q;*jdH&M$R4(Pn@|h zdh}%9zC&$0HtLtwE9RHWW|xY$&F0R|=YwtCo-;9-J~EmNHaeCvK9M#ymNq(?Ix>ERk^hwSDlqE%}kS|r-)J#`APBIczTsb$9mDGO5E#p#|zkItoo%b(bRNK}|YJH!Pf1LknFxv4N_ zupxV zx_&Ai$^;Um7e@zalf!M$!lPoM$~ItM%_Zps6tjfwPzr*zl2C&@%%}p>^Vk|T12~K~ zdP7IeWNEoPDT^awp{)&o-@l_y8IH@Ps)SsvL;x*v-ZH5|28HcQksWCMK;?JQ%Xk|p z4Q=yBiD5-_jf@EdHfp$blh|!lM7j*oL1?#*T`L1s%%^&p|2H{I_t*a=a`3{qAZF2( zT(*kG!7XrDFBXbv3;~t?0f+G-BbKtH_iw)wFG2SKoZ(9!SbuckDjYv2%a>+Mc$R-3Y&{8_nx`+u;a6_`tFLqi4pCpBsnv@TuV=r^leP z|M<}2?#8j1g1)hIyiV6S6xGxdRNZ8#Xi(L*Xj*yjT!Ey54{J!35a(J0r&~cZ2v`->h0aSOHI4+pJhURK9$m6m0!)B}mhQ zXIqb4>^y&a^wPbF>yNkHem;Ni%jE|zS3!0@e6jN6#q#ZYTd)Sk9EQ%_2V0@VM}Wz9 z?$6wNxb6O09?Euiu@xdUyQ7jiDQlwmf*X^ytmX z?dR~#kDt0Zbo%<>?WfzGy;*tl!^W#`H=ev)0RlgJwf_3s{onm^^xL0~e)Hpzuf99{ z^6mcTFE<`N-Fg4<%K58f7p{$7x-owF<^(qAgWY{RckjtO{P~j?t1rIV{moB@e){9_ zU;cXbFaP!Wpa0|9pZ@*YAO7v~um5`Kmw&nN(_ha2^p|r0;Ws}XdHd6`SKn_wdA;ZQ zgZa}}CJvt&ID2vI;*~8oZqMI)wEXbt+M{Rd51y{vf3ke`^2n(RgGWzy9XQ&uaj<^J zzN)p2%GHhX<+Y;q-6gyCR)Ou50_Qq4@ru$j-Kq)+Sd&t+l$sP?Rsv&Jd&}v%xY_xtXc_qFi-# znWeKiVr(FFcDiWia^2>hu2YAH&K(;+w7Y9*rh2$5qddn(o7E_hh(d(2r)uRS zgNkI6KDbz-daI&L}=-=fq^G#DVrHW|yKm&G~si9x1#rye(y{ zUucm?)dG>6FA%dic$e9`T;-qPFt8U033@d#JP0htZ3AX{Yxp1*7+;hEx?aXXIgKrHz;CES86KpG3eiUe8AB}^i%JX-#xIEV_TS{Nf2j_;pmAMY zE)h&FVbFlXIw2qQFmRYpq4_z?B1$^?cQk)|`}^b8=!9p3#dvq4)9L;y9)R3)x3*rm zvmJPgseAeU{PoAnK;29C=B_+gxcYGM+M^|Cp?~@Q;-$Nb=WfiOyu9_u`SH!OqleFr z5`uaB*rhSR@8JtW$F7W=ygm+g?CQ|wMI;)rZUj4dbr1~qPhTH~zF$&8AEEe6*MSo~ z`;PYPIo!3e*$GUB&fX*4aAg0nUQl0$PY;1@o*IPyf#ZE(dyn-l?5ZEzmP-U?Bz6wR zwf1=$x}0^b=Bg$QaJZ>U-`uTl?$Py)S|?|t#^)2KSF+}I7XoI1w?JJ`o1i%X!WZw2 zoxU*unse9D+LZ(4U;yDAM=I71m#!QtUOiO0>sZynb1f&Y_X4i3Jea!qblbz%tIxmP z{ql$XU|)Q@=Zmj*zy5aP;gdN`T`e*R+R#q0GqU+@0rcK~1Jnca&)=QA`f%pyoAtLp?EB%j zqu>8}Z~uD! z=YKf|;Qisxr@#Bdsc(Ke{`D`%zxw6qv$uPneYNN5n>~+S?Y#YD`O=-4lb1#hpXon* zqWk!n{&SbdF5j5GdTZv=jmdLYMo(WHIB=|a|Iwy>N9*?HGK-$%Fq1-@ zjEE3!beJG5QJtQoNr;wug3!iuFnEGeLJF}`B3#T!7Y9(B;E`m->#`FJfa1I)Yg&{x z!X^L|gBVu%inah|ao>zGMA4wdQrRRSfoukYBLHfbh81a(q=f2nqAWET;Z6AowOP@{ z2_YHb)+n>WE@vABbTx-8qoIVK0wT1GsFsKl%Zu?r!l18Ulhr&L^r3aA#ld>HO)1n0 z7$}~NPEycGdOq2y;D;IH5hi7*PU?{H%|e!%K~>QagfWM8ET)MI$3-eGU&7%EnJgSq z`}-W`kVqD#G|X`%9FAwftg*or1uEyPqnR+ zvMm}uK-l9%G2tP0MTlJnG&U)CY5^(*g$E-6u@&X-(Ze5bm`}rd+mSyUZ{+|EgD@6R z>A>Ol1ivpm=0C*YPofxJfyeRQ*laeS*w0~L?2RWYx1OzmLFeYv)q5{?J$keE{>$Bd zgClpo*Z~jSc(Qiy%RRTA?!0_&>CE+QCoWH)xH5I}>NF^4B%!ZOoVYrE>c+&`+tX+7 zOrE?kdi2U5FgDNtzhGx>jGVhQ1}#1U^Lpq5kdK`2Jq9A`+~AS31DmJ&{07(ivGYUt z;Gt8!2TpYFJ=(E*vvtRTrnQ4jTi42lwxk1r+Xf?B2Ev+qgX_EOEj^CYa$}or)RWo;0(Tv$U@iRPp}P&7f~#;(z=~4|MjOYT9wQ8Ym5tc-OI- z9Y@R8jufwK76OfTpQzfr&~o}_|Hb>GH=k|2_hJDc{Px#F-~RE~H-9+#_Ggfb2j70b z_tDdN?1cckd~F0;4B;ow7r%V92FL{i2!H#-{-1t5{M#Rn{`B*qufE+24?TLifRyu{ z=_|J<&R-q5{$S?r7fW}(Sh#Y3<|07&(RPsBUw*y!>mN6PnPA`jd<-=3kH4P!^-t&i z@aIdv{psS*zn%Z#=QH1Yck0bo$6mcY`r_5*7cVznyxDm3^?|RxJNWjSgV2Ba#g2zh zVJz77=~iygYL9{J@z@!xye0y?yce*qO@%N6&N~I@!FjS-tyE)$Yy8 zjl)%Yk5wHwS-W|*{_wemgU73mpKCmSwd=~Q{;Ri!uG}2FdTaRFt>!XKtBF=<9Je)agr$ zB?Wo>{9GQiRb`r*3PVf1bEH3RerxXXT;aCKtkM32{?3@@n&8SpOKGklH&u}k!Hx-G z#D%lNf~mnSlG9Fd*hoQ6Qn-f^7sF3UlGaqYt1E*G^G!(!;^;_DWH<{R)u~Bt3qrBW zNCG(>Vxc95OF$B*Mk$NZ?FFgU?08d3ggQ1z>M?U&TDna^H3Ml0vq;De1wBa3f)?(2 z4EzYQDBL6r)$`n1PMA>;W0xfasWQVXWeK6xsgZ?o!D((&j8zq^6zX|Ysjt$L(6=vx z*qT8O%xmZ0&4KeU3xO~|S2hDz8$tC)Xe0@lq@bY+swO@iRZ!(pQPor`Nll}usAL71 zB!j;qk)Wfd(v@_EFhCpz+UGc|mk8WObxMT0Fg3m`E2ShOsVFU>ASEs-EGWupcIgy4 z5l6}-`?FHxH1$FvsVR!DBkDuRxn#AFZd9=CI-x@^v}$-pB||T#>18O)L&2r`%Q->I zr~O@e_?;0P<`HgcoH-L@Fme&|IAS_gKoo)UeDjKZhT@+5qZ4`D#BHbRNIm_r-UcuYNlA%^%Nzef@{iZ+}X~dmJOz zPhg-f9Jz330$SV$$bdl~RPni+<6vj6Pn^Cs0+;!T%Y#7XV;B43$jK{1N6z(wW>?hk1la5wh_bq=~)d!6mQ_O3x^M?YZM*gaqy zo(gXt3Tf&OZX5Ot%*0PDrh_(~-Bqx5s1h%S?K#n~`&b=t7z{dlPt~m+E?PNU033$S zuH%&l&NUpn(sAlWAL8)K`Dfqkdh^Rc;4s+NzaIPgm(7=7?FQsx2m@Gv!_Wd`m1k_eDnR`?|wWA1|5Jc5cu)4wI|Ql0l)VjE!};vaOeI!w9vo*WckVK z^+&JQAHG5>cMo2!Vt)(R?Pm)&9?t@V;nx8OLwn)&B;37xbL#5tscUzpuilxwbaU*? zmA+%=IyO%=A3oE(d8Xmusk(!wYrzhkso6YRd-#0q(X%yYuC!df-F@T!(5;6fw;zt( zdp!N{*|z7e7N5OXeEP)_3`P$gE!=xBcjxZx-McgQ?oQsmHGJiA@0rsrM~~F)-&eM= zyLi{mg4LCr+3m@rBN3e)w)#44Ri(V5Tn1KOW2mXn)mG|T8=bwKVPK6lwz5KXQ;nm% zP+yRxD9BXirpc0HIC0_h_(*0#EGIgO86HOUgp$KN6zC@=@KaO7xjAaElw?svI1N7( z9E6fxI}IdrpkU6 z4x=q>0qblP3xyFm$S2)8h_aux%P3q^DeU3;_@rtlZ<0*!&dAbp3=-yXei2iQ9fE%vfreK>vX(U!~iCjr{< ze3*R$d@kLaI)7^dxDEI{e!2hbjWK8e!uwCP9XQpo?_}$)!;NbPYo=E6hG)}zCgR$L z!deGC0NAe4@b0nj?%~k({-CY_SKp``P~6mMZ0j=j3w4_#ugbdb<-k z02~1Fw?7>&5GX-~Mp&m)|b^`1ARnf4TJQZ&!Z%1914t_upUq>Z>!a z-yHw)<-QlM_hJKW{N(wL2ai|oK3Kf>5D2_@=l;U2yK^`1%-*=Y{ratK$cgc2`}N1$ zz-~O*e)H)p7<@*s%lD_@7r`SY7~F-Q37&TIKJt6qxHog{?$qU51uS zYh9c zbdbb$9RhNwjS8yRt|5h5n2BMsl8m6Hvbe^QxRUhXgb+oDkqyWN@Mc9>G9pa5vG&r` z(1HY4N~jLl8}Cwr00v16dKk1Zpg2s&Pj+atf-EU^W0+EG<1tJex}Hf<5S6B-1cYTo z?oc9~8liqkL@H4#%5M)Xeh5&kW^v&N^x=q-!B(-@@F;Lt#USZ8BqNUoVi;O23yEPV zp@Bbu@FzLU@`X%%j>B9sDl8>s5pl~5TuKJ58>;wpq+@*teRWIU)oKBe3`$tZqk$6E zh!`d%2V^jaVTXZl)p9HvwoT7*8U?W-mZWf3a-=&t*lN>AK@#KWi{FnQ#+&I-fipH; z$U*tKr5vV$&(R9`YCacejP?&=eNL3n4g9biV)q}8{-qH&yuL;vnEX5O!+t#sOa=}M zIb7f{;xBPyu~>nAiLd@}@|!=M2GV}}=QGfO_Q!v{@Y{b}{rCUp;lKS~_kqTL_^;Q# z|LZvb_4Drzf@XgBdLP)MSEzmPa`&AtcHDlp1`xjgYR8=yYq!5xy8UAL-pkcHFIR3p z11xX5{e1Su6F}=UfETC>1|488P#0PZ;hRsl-FgO>|IC#KTW&lBq|aXi>Gfdig}c+I zZ;YL|I(+Q%;L*$d`_FXjI@YxFXyfkV&0yz5Byk1u5o&8GBB#B_{Av=4`OjU%_i z&`f;Skf*)h-8B@_I~vw8;Hqmg)VAtddTd>zVZdRqjrN!qnA5R-|WA1fBgEBEw`Sd zPkQ(H?2{LZx9?9~y*UE-1r2=r-WF&Hw=h6>H-Pu+@AiH9Y8`kB8u+^(HebHp4FrDm z)!vtH_k8hc*P~}EcOJ}LyEAj;&dh}ylQ8!`esKs4CIy>kdiS5`ymV{&(v9&8*Tyei zo4k5+>-|S-fa0&eJ^A+Q<6nPs>iZwg{qW=Y@4i3#=I!z4UmSe&WaIArWgm4H2nthw@V^6I0hlUMssUmt{@ z4}Lge+(g6WwfkEhJX^f~bm9KfxjT=y-+C}}{r=?jd*fH{j-9*Kd-i(wg_}JW@AO^0 z-+$xr@ZIO*_rIKc0Qh~g^~-M-Uw*gz`iIqTe%bx=UpD{vZ^!@eug8D;>+zrdc=Wqp z4t@3g{#RdbeDQh*nl-#xd-Hbr)vKj1U(7vyy6wTk$=kO_Z{8ZZc5UGDm7a6wI!>Hy z+}y0$f1rHNp3;qtlBI>LsfoC*_MpZ(1mTtjTStqlt1YCy+FVwoD$Y|>mlGKr+Ux3^l{L1~QbT@`rl3F#ZFaUSA(@+;%uCM#P>T~1xG4#u zjAVI6f-E6QkPt42ix7l68D=%fssb!i!mQj#7fL-5WMEn3C~87NLy3qT3c5?h1kwV5 zfxRI*u3b(8_JRfm2s@PwkC7K<6a=Z+(I$DkRU4_7oA`7k89`D(K@gUakr)!L#q ziIL{iI9Gg_JvAmIH8w2DZ8IuGLMD+$kLKMi@;(fGij+(wA7)VaED)tE37;nya1{c9 zRwC4hL;z%el6(=3h7<9}1_Nl!pwSovjp;svIZF|3!@c4W-3m8r( zdv~T_U5!LAlZjg^skq`{nOdEzn*;fdiUeEd!D`B`{b*=Pv7jh|8nQO=WDl~FW>)i z?e2>;+}`_Q6^`6`vUu~!+}$r10Z@QhYyex3!Ei+boIwM_6%9x3d@*I{;3pbz7 z-+V?0><4q#VS4^z$L%lH&flFmd~tB^>5hG8I`^IF*mJ6F{Yb<7-iqn-FdX_;q!%OFV`MEU4HZRfnWY` z`lnw{z5eRJlV`i0eX;TC?f!?)mma@deDZ4P{_|Ool;^GvoxIR{>^w-y{^J*Vk6-9J zd1>JEl_6-4ob5hvvib1&=FJQBo9CL2oNtHc0IRRxUAXgb?a{NnPrp3y#p{F5UhRAE zZ0F4f^OtYUT)sJV?&9dhOJkR>OkBG$b@SHNJNLH3lpiMk51-86eX#B3o#{LGw?2A0 z4%S*@qhWhZ~Vvqas4mm`eG*;^))Mu(yY`@#o$!v=c7hx#Jho1IN{79ewDt+~8dS(qy>%#)Rt z>C3CF^-aM|ZJw6)Fld|GJkS=F=<a_YDsz}N?)&$k_=MR(TPcFA{D$rNHU4ZW(mb2rGlBIWH2Qg72wbbNKQ2) zSjTp#sn7{E@>9Yskv5e{!ayMqL^&!U#kV$xjVRtEqLM`*eJNDFFULDCfPq+Kiczsb zWKzP=Haa2MARwE?G`pPTQgIy$jzK^{Y4A~{Jd%bo1L7F9;bZ)~WR2bs#J(7>R> zCFJ6J!Db{feiR=UkjVbJSAIXXn2O%Ej7ido7zPPTBcMr$I65BAGDPJ4;L=fEKC505 z?$mo+`n1@P^u*BY*RLtVy*5NlYF#j00GcyuNf!!%N0@_7ak zy|u&+H?yYhJH`ZEyKyKa85 ze)jIx%}Yc3&-Lv)*S+U#$Ig>2OPjUZ_LNPmmABf88%@RaIzVwvyBSanR@Z3-YwU3Vmb=H0>liv9n1{E<1B#~>)1aMR zP6Zmz?#y1;le@S#Z+=hK_Fd^S>&bH)8H@X~Ru1LvIF`TrWYOL;CHu~n9z0ul_8Lgm z!5jA{?mXUd|LOL}UoL^Jd;QIxFJEnZ^ZntUe>?r-&!^wKJ^b|9#^Wa&PoM9G8U2k% zTfi>g9Y1qz;Mj$(Bj-A>ZJue{Jl%2hT=$8KeJ3vU968%{@O0C@)0KPAl*cG>K(_+UA{ha@?zVCyPc?{=TP z4YI%E(*416xB5<9?KyM3|MI;t{GM+D<#d>o33C1NQc(13&%c#Gn5C{Gb2h z!XN(a?6m4wOc=={09D$GX_~|nG z*AM0Z%U7=qT{zow;%LkMJyko`idPo%mgaN70Lw%D5j~ymzV6W8u8_87dsDr+xzScp zZK-Z>G_-^?wTA+J8{0yl-_YtVE;kmH>+_4XIfcqh;Bc-KPz-Hy3O6HDl$yqmiJ?bD z(c|N|vC+JcAZl1JJIF>iYe+gd3Ov?GNJ;@>AVAnC@^Tmqhe_bjH5pNpP7jopl8h1( zpx9#-CWIN>7MVs&#d#@3L>Xls#k&F`FBS9Im{qY0+lVF z&JZ$LA{HBf{5jr!&fssscr-c~Ob3v^f3MXDfJp=6GpNwV z8J=;b`p@Oxz%m$k3)BS-4EXgM-2I>auZP$`Ap^0$`O|3}#q{>)Bd>ql1Qb7gyYcYl z4gfCz`4O=p3+{q>f&60S(VH~_#q%i6_QleJS1b2lE`vzE`E>TilkH$|{Nd}>CtvLV zd+>UlSP=5A+Wr@f)W z2G-ge)H4!3JRLVWlQ6b5ad0Yne0$>7<&1@$d5gR9XV){Q7n8^5;%0Yb%pwa^|o-gx9p+tIUahflX2 zJlU}4ctnx>tNNMLk;^6w;ejtbL9BI;bZ*=4|ng|Y~6jJVaMKT6s)_u z_~_}56Q{dQpXX7^V=?gttC>t9d);a^XG4;+5G10H<@L)hCLU;VJ}>+kk{^)1*QXutV>-?u*; zfEWDnm&5Ra-~V(7X#dUk`{B{I-|YGNn~m46*1mkU_~7oA>sN-)pXok%to8Vj=A)a9 zz~tGj=~LqgGgHaH6)ZCSwslmWuaSjWTOh9 zSRp`|1q1Lx3+h+H^9B#AxroC=VLnv;Tf;{jj&jMOgVhc#U%@3js8ny39x;(T4HcXU z5XKmEfu&I~^khV8H6@pfYpTNQpuK@avN)}n6lRfRMp;Wz!n2|rVMd8V!H%*jv!h*U zp^kWmF-)ff6x+l+6Q8AHGn5Rfl!20^i|KTnfsKf8Ky{xHpWn|~j8i)ENFTmK%wc#} zDlQfDuvSQi_lB41V3+_DqcU4)VUA`}@<9wIMmQ6~9rSgnZkn2Ar7NiE0gjW-lAQMcbs^dG<3@x`}$0I)z{U@s6DunY#^z4dGkbNJ2| z3vlG=*E_);z1{f@iqJUq>ZfC1FMmAx{M$qKUhcg9bP-T|;`+#;3q89}v;c=^H_Eo` z$OjZpFXxWWX99|QCgK3at%Kp%YCB!PVN|w*AaH4;37A~fX02>A0DdbPbl9qz47IIh zKygir39PQo0zhu>cLRzCCZdO?Vn?r&?QLMmW+erGmd z8Gt;$D{Fag&icUuz~iyg&F8Q50*8T41cVR#{M*q#{Q2ac{(SD&-%kDT!?EwbKl;{ zj#TW}EC7T5wSJ&@=Yh(NgY`Ja+TH{0yZ5&2*r;FIU9-NY1~?3_123}gPz~6D!*!d- z8jqiDJA1JQbT8UKeQogMx%Puc>-KF{A39cl^i=cV6OH?i)gC%sec*KEp))ndFEyRJ z*?sA5|D`(vK;R2E1~1(j1_o4)mMD`57;*Sp?)zZVoT*mu8f z0*C+fZ)X9>z~_5U=N^8s2%WFL-vEPGhW48u_5jZT>_7iu6WWjM=U)$g2e^K{15o_% z-ptKwqgO5tfIL2Tx(jH$v9k>1@#<1Ow7}$TTTPBm2y}7*BSX!+IE2}Yp6_qMVE7avxy0Qv=NvW=^%ve!jtthuumb*#{ zZMm7o^dwDUj3P2b=rS|R8Zu~Itbu{U0Aaj+LqbPP2K=gdB)te3=;06}J1JZjVUro8 zbnHa+uVEqeNPgct5lA`8y9~ofW3$OB9!1VZTkWt{R?0>w1_&Eu6cEFyVaA*oS7NZ< zspNnj1`g-O24{r1Vr}{$g&6d(MaVG=*uY^q4S-2OHLZN*>Ts;Dw{#tYBIhs^Tqd+K zHXRH)AGoOlIjrPRGy)okVO;MUjW0wgSe1~jm9R8oCU7{!s*Z3OJa%nNhy{S05%0-O zi2}<`ib#(OO^$U3TQx4L#%54z z5GIb3upR~u19JTaN*ExF^>Cn6{v8ejgn_Z3ctHUBAq;&igZ&%^Q2+Mt*S`D9Ssda2 z&2Ps+5BvQRfgA=bV+g~M=ih9+`T5Wn-+{PY0|?usd^c1F)aBwyy;A@ZQbF14r8q9qroK-;5xu>kJ{eJ&% ze?Iz$zaIJZ&xgPJc@Kd1;j^uG|9`B#1$1Lq(ylEtvt?#xW@fg`B!etjV4-E%GFxV5 zW@c);-EL-PhNP1YGvg$a$;{-hqtofhH}u_m*T2@gYSq~~mem>0b6)LTyY}JI&D~-^ zy|6r(xwuA$F9>Lz@X{uG>u?$JCMW7noNv8!vme-d`_aVpdm|`>|Hxsm#0O{UPn~Z( zc@AR3=?jf#FEyXP(t7E7$CaC1kbo{+ZM%4_9R!2$0j^%}x^TYbEZFknb^C`ax3@~x z*NT>xm`jTch-0I9y*+85&W@yp`l#BPuv$Sxg&?%3+?Q75N@6$=>GlMgZFYfW2Ei0h zvdAKu!(R*J5Fv;09I{nbt_eQRG&kQ0l$B$io@thax5~>yT4CTb9r2k?S?Nyc$&PVR z<^kSXZjQ=MX7Y|E^7cluHu_TLTB3kuT_CVL##kL=jK!F1i`W=QTI(V5uvQEAv2d|a z*HaZi&#YILcu8X*>PsdIn+&U>5K-EOL$>vc1kg)yY89LR|r!k4%E*Cz#nV&S|5R(LKUNJIAbgTLi5daBaKT1eLj zeRWw7Byb5>)>D&##L5s04jGv2VQ=bcW8`3^uc<7hrYNB-D<&%}8sgpY7Q@(|Jf(jIp|3zqD5~ zf2d+?rD%AG(Kk!(7|%mFjQHWk@XD50;4n`R#;y!xlp&4TAp(;Nirmqe3cznB*(RH2 z4<@;Qsx}Ec^=>tP~6m!if#cGw8jAE ztDD1t@C{wjz+OQ|czI($Wphw%TXGN3+J} zNb~E60bbtXEpBkZogO*ac>sb(KUubaq8#GEsmkN$s!v_0JAJ9{2PB)!AQGfiH;NVC#0QvA<1;n*g&iot=G(A<&-f= zwpn(rHI?R0AUNjdyA+T-s1$E1**7o8EeU586=odeZyf1o9O|VX=%(#uuj*_eXKN&3 zr6+EoBMQ;MMAp?($;ng!6yU6z6y^}*W@4cyry(yqx>^yb_)@rc3Kc>_R}y1c1| zqKUeqfwHW&tdxedsE)j(w!Ao4O&~A`zVd?^)>aS^9>ywSs4i)&Aua5jED3LGZ=`IZ zCZ?~5oTH~Eh6pQx(U3%>Co85Y@sH&>brE5OhVVE}^xSYXqUW1n6_A+(bA4qXq_3+5 z5E61Qv`AfqCiw2u7ttG?eew#`t|)Lh%0-7 zh3%@@jq>UB(&>$oo=I}|1hI2GuXPw--qa&reJAH5?*F0B`@ZkNojvd3o&2FB96hZ37QBdZ$&%W8c}tG)QuKIOH3 z9eudw&glA<$X6Wh9!PELPJmz9HIUgqnmaj9TiW2R?Ub%=l`e1ab`NTg9B(>)y6xaZ z^P$6aXtmqMq4J}rYLA_%20|V>C|Ta5Pc7t+&E$+uXM-S_n9G}4A}y}d)^=Fi`^CEl zWt)5a{S$S^&NQ7k*K+x0|I;@YpTD#E`1w5O=KayLmphN1Zag^EfNK9lE&SB>0cZON z7vj!A@$T{B!zcJhPV-M)6r8$L1M&3b+B28y&s-6_MDc}|^B3ALT~eQH&$WPUOJ+Mj%%|Jr6(fz zsAQxjW~eG|qp##?t?y%J6zF6bRh2NnO4%5zdpa0}`q+p1*ty#onrO>uC?E~%G^LRfORcG*FsO#NJAbgCn66&C5d#OfCM7s z=tgFE5U9$D0*aO3@gyszqbg^rt8Qm%=xk-?W@F=OZEbI2W}t>u6q67x9f~N5Num_} zBZ2?l=7;|igk?oVWrRn#DoTli4Mv^tKhJ@PykxSJ=zrueir@FXI{p6FXFmAmEJVoP z{qhtf@Dgf|UwnED67a@P-rKqN+VbtE^Qa|0dwuZq)qYf{8Ai(_wvRPHj&gYOpbo&h zaYV3vybfKtgB*~%e5exX#JEv9x5-=BDgzorKD}DJa;RqcP~F;|U~#8<9w5BNpII#d z4!8Daw+!OjhO(LlGU~dL_)XD8)nI^q*k%3*fw`VQT`Jp+!f}TjXbd@t=|ZAAAq1w{ z=TPkOgrYEA3g`}Gnj@LvNGWsz4kxDQhDIv}hsgttGw>#WXjYMDd2L90SIXchX@0I` zVWDz;Rj|HMx4v3CzrdfIU=NMZ1_#OgL!|!x{I1@dw)S*EBd)S4ieDbeW_feDK4m3A ze12dBKcuoEyg?A#+?3eWp4QWyH9C|(HA!2ZFWOk=AKs}sa=78l>Ao{(hR>cxDk!!# z1%TqIDdyN@;n-vWz_6xZGbn{Tv{z3iWqYb-*O97ZGTa5Wt%ItCh2>3rZo-sU`H9ngQC|=qq+}P!8A1+zj;=*S; za!hdexZwPy&WEqfK7X+c@$s`+z%o+8aij`aNd!=zZUV?}?iFnuW`frD7!bFPuy>9Y z9XiH6d$sP|wR%+NuQ#B&aJ~7=g_d&{J1$-Bx_qto`i=f;HwSLs8oYjM@W#yn_;o;L zWYO?y5B#F-9sc@u@!VQr|72!;XH-RFP-RnabxUY@Lm;olhhE}LrH1>(`?~qrnLFrV0m2qoc@uSMV-*QNuAV$H z;jANE_%l0=nngm#PMNy27oV2!# ztd@+FhLnVwxacbmtB7HA6eKKlRUA#Voy~Qf%ygX0v_PSr_7Q$A;ogp(_NMR>pcp(e zAQvkmJWo(q+lCx0BJ7qdFKnJHCoY7uw1|Paf|ZfBo3*)@qiwLeyT7ZehqbMVrna(> z!*UoAWeMqjofH0l^TYpkaswnUE{5rE_|LMvXKVJnV1CT+Gz&HrV{LYsr9>3VQ``RM-;qy0#&s-Y-ON^Rfbe0%}Fy!Ee z(GlS7+Tog|?aHYY?$mNIT&^D$tRT%8tHJ%wu9Z$M7mY7)#uiu*Cl-sQmU(k)70a8I z3!4@5t9-beSuUPg;|)xZd&cv-M{=6`)9cz3khzGOAWnrJuQI3*tS=Z{hBK+qF`Hza zN4BM~T!~BhtaD}KS z)r4f7oE!@x*^W+kEh!5CH#<5;nH*)WF4gXBwydqxE==>MCwWt&MZ<&izV7_KKH|tA zWqiDFa=fsoH>b8bwus}$W%+WLUL3j?i|)ZL^kg$Uxj<&N55&r{(ALI;-tP3_{@lrN z(#is7d%gU~Uh~0z$BBckBm1p;I}IBf)tl=T>l@|kYo)UbjLE42@N5%P`NI=A!=w1Y zG5pLdb!wJ2KhIcM=kD%R>>a5-v|A2vJG@^7ac;hFc#P0Lkk!?j-r1GX+J!3@_#$1G ztK2{(Ri5C7c@>_(;fB_zhSuoDwiu-QS$9(JV8+mB-sl8rd6jqMXv2x)Ejzo_hxckv zooPQfQa?S**xV=s{GL47gzUdQR=>SlvAV)rSZ19%-+1L_*R|U{XD&AFAFtfn<1Mby z$7cw=Luuf#2gkBTr*fy}N%JeTTCdoNz;K6|-+|1_9{;<*jl z#1e6QF@JPEZ(u5`Yb2$8FcIKfRv*Br@F?Ut5t-INxUHVNhlPfRrKW?vvazbDjtt^*_2rTMBSuQ14hAYXeY~UtXFVBl135`Uc`1EaDaf%>!j%9XLE*kW zNo0SVt|G=nQ^vtq4Zs`XZW-cf9pq~6WUgtfj+_9Zi8SyO$4ZKUAJ&wX1QbI=_Erlg zCD3&`eHAG)Ek!#c4L2(T9|seEXY<4`pJ;zq@c95?a}5P;1u=CAWKvp9xH^dywycNG zjGXHvT-w9RimJ&7924>TDd zg9w)ZVMx~ZYk{bWb;aa)h(CAlO-JT%E6;9WR*~<4uoo$A_6+?K#~YxqaP)q5gv5K~i@oUQiRq zFAgp*4k_XI1BV$Dx55G!I@y&)^WZQ%*>sOmu5WE+Sfe1iwK2Y@BXx8zcV>dRG+Vr} zTD8C1bnHmm!QtlJo!YI9NOmFYRH8w{J>ceYl!>g)8t7?K+B~GkTdse9f*kIsrd97b%T>#kN znuf5trl^*7Fu>`9BY6|kl-YUK!cx(}k%n_;yUv{M00;wtFJJ1rbg_4Tzh-y0^58&l z;zT1LbnkHG+B$b(kuf_@0n2*+O54S29mmhq9Xe9BxyxHxXHLx*z#{`RFq$JKyqaf*GoyZ|Q4 zr-$yi>Z!-p@x+< zJV9ji6vVYPFfcn#u}) z|*iCM#c7C9cX!@Y=`6SW0$VV;s6T-O+%LG?n0Rb-oH_`SfB@+rf7w7knE+pDKW|B2 zF9~lCF)w$~kU;sENcFU2!(6;&LB2is*y@V#*2d(KUfRNV+3IZN>}c_LKXYP$H8sqh z7-Fme|d#ZNvQ{iENStk%_#av7G+ltiGYl;qly=1?uW%5n_f9S034~0`2XVZ*B56H;T8nN_G#Gt*)@w zRyiB%T(~^6!#})NaRhD7e5_*o2zPCVwYtMtKg8ZV%mFe(JakZUaJu63#rkts8_!*7 zI(wx7B2qp9e)w7sS_^maM&H#tLpL9c-FZ9-5v|RD90UoB+;}kjv;*z+LYxeJtpL}WUgk&xw~SCPN>W5llz*g$ zb)b_`kh5{1qX`OOv}yubsuM^0|L91Gf)fS~1A!g&v|S8!ysf}9YuV|lnyE`0DoW^q z&6XF_R}j&Y6E##4Gg6Y&l|#1UAu}7oc?@)&PE||<2#oY25_wtPjFfXop=XsMG}cp= z)K`%(P?gk?Lkzr@6h>1Lk+wAQ{_u;?K@ACH5Js#t6fvis!Ccil4yB`s))D>MhxBSttuj+CNBM-IQ&n=z^`2K|1F0#m6X5?1Bby61B3y^ z3X)=f^uYgz90t0gdIjO{|9=70E|<*A^CoACrss=RH!IP;;wziw6LSn4Lt|+}55{K}%eDU1(`l zAe-w2_yuu_y%}tG;S#nfKGz&j3>;3+G6oLE;xvH3NaZI^D?CIAkn8Uw1^D%J69EB) zeLTg1%n_l=NjP16h8c-q$D(^w@IxAEx0Vo4;L=M&5eNH$c8EsbeYSY*d8 zaVakMD694tG)1&^CHC}Zj!#l&=h$m&<$&M)!!3KeOZW7L~0mvlbWV%S%jv@Z2nQVZLx_kpaNp*)D|}jvo`8 zI$3w_Li6!60))ngOEwO1*LRB6wmBfU+&^A<@?8DdOU>slw}6mJwrd^N?+yZcFN4>; z*$=vMd+^%b;p_KCKsUe=3%82A643bB+lxmmHfcn3-daj1wDMa78>{ zHrKndCcL3JzP>50t39owHKnsPt-C$5vo*b?KBc}YNl>21XGd`;p~Otj#0aZEH!T-S zIU7T9OC5}b2GS%`PY$CiiwL*`qy=F`5ow4aQwKVd7+onOYD;3QG{x=pCEd*x{p~bE zUG$?o&EkBmaDKKaLC!c|yJ!#VIB&c35YOyLztkZ27!TVhPn$4zb3Z#n2LlyDB~dKk zQ5>1aP!~l6zd{q~iYacQBx{9LwbfGdu{3cv)w9=CH&>H4keASr7C}D`NLNNwUrrn% zFdTjsFs>_&v~*MYpL*Hm089e>n+-%t07!(aS-6-W!b1qlE2+XG0x{p&5%8^Z_) zLGfR%efZTW;PA6|x9+{ZbmP&?gYPlA5NU zoT3X#OE<{KFvi7d#e}Pe_{;lxNO-!4fV|zrAcq*>Egcc8oDid(m1;`KcPwW4R+fY{ zRj2f}5C%I6IvcW^tJB)*GP;_wJDW1QTk!3TX?2xxrJO(p*}WjoK0n)rfVVE9`jpcB ztBOJeC6R*C@ap0aKGT;+_pB-oEaP}{fx~2bMu82BV#lW1v*`{TmP<*oX9Yi?vMjK? zB%q8JSXLYarnjh6!1QxjBYJqA?-g zpnz;bp#XjX!lr~=(}H|!D#f10uw!r?i_5&qsspO)!dluB!M07!(3h4<*4L|cw(ECy znm5<$=cdaBdzsyB`3<#k4Yg5KWx=JzK4m3-wbj9b+Th9x-!i^eMTJ*YwKu4y*1MrG zptC!oe;{daFlTy(xwOn%Smc6M*Z6DeWpLTsm)qTw4eIO98y%y-OWQluM-Li~9IigH zSGl{*Uti%Y%+hA3$n!JQrFr`F1PRSo7Ma@{JhV=HRId9Xm&A=2kc(Q`CXM{LZed#-^nDhJ@yp zl&)@k{{UfVgb4r4uAVGGeOz%#AgHP)3i7Jji1yY*P)lP%eQk`OD!RTVuBkS;sW!E# zCas||wWcJQ&y1(%h2Rrh1JoUY-R6NWSoD8Jwbj0km#qD(@tkgwK6fs8f7-I#D zu{8`C5bKi>;+p8=5btRl<7OT1 zXclB`>}#nP;%w$)i#TBeMUj`45=diA49Zfpy${e>TT(<{R?0|0)>cE^N=?N~Nx@K7 zT2D$sM?wr0B)$oeK_@H zMU50BOq9Tr%UG(*+iEF0=&FJ2v{kG%6amPVn#v$6EmaE*Wm7c;eFZ5kDRHbgJRPKT zq-AuZWHrU5R57B;NKYhi#iIY~{O~`~@{e_Hf7E~Cu&S)Aj+!z^MOF%3s)Gcz#Q&=Q z!r@PTxcF*P;*T8u;kUb}4Tc0RLEw|W`Rfhf@H?L!y#D^qqZey;o-JItH*xxE|G~Kq z@W2aOWq{xDMfT`Cb8wp0Ge+tdB!B@PpDzaL_K(y1#tMPMpx#j$z(T_<2eKggu-w zUaq1(?&6SufX0D7GEt$bsR;(aRcgL-c~N9jRcd=(R((ZcWpQ+MX>@H_Y&Acsr7pRl zIcfnPgig z#fDyBMIl-gu^c&UCl1@0Nq3}E9T`;TBBmFxT~HC*-JApb?{6cGb~6@6%cciPx*LeC zHTbIHSSHy!A8(tJX_|vK%E>m!$<@uw!V>cJC{!~l)q-4LNhz>q7CIMmy^4z6dF4J8 zwLw*a(AxT_miDB!;TXKk%=bE9@=t7&V!adEbKsF&SbmtRwsR9+Io=lK?MJh>b< z9@m3k>Q%yXFD`cGa2$$xPNjV3vI>`~8jr>n|DOJ+;nCFD*+PWpJ9Q8j7fa{oc~evD z!9j9oXHIu_UVlGnWP}DI@DlvS?aiw7RW1;Cd4VxASui%7J35pzHBOwHrc8_yCdcxD z#(?6rWj28N*pZr3Cxz{OjtPz&t2=y9vx_tosyTkD3EdrY?dHJU2NMq-Pd#`%4e{ZV znTM~>X`{=hx&UtEY$1+M3?ln%U8j z)zgy;51p3Q)Yi5%fOADvL}hhkeIu@}A-=pays;s=xhYmq8_wk*hdQweJ-N&PE+epl z7hPR~t1nM$t<7l{ zgO#*ald@5lw%3$%(vuT%ST)>DCpp-X5br_H2;yW%aPU!S!A>|I>u6WYFb5MKGi`fK zc^fr3du>H8OC39Xz!&Bfgi&cry`23(I=qP?iI#*YNJjz~E2bqXt|cZ45iWHlr1YdD z(WoaWtt%;^BQB{aDxxl|c2oWr2rG-c+<2lU`I5k|ikx*7M8NQC|32%Yg*fV$Jvjlz zR#*imeXN_Ywu_-AKp1e16&HRr5PEpD{uvSt2~kZ+F;$F+x~Q0jn54RhxDdh!hm|p6 z|B1u@!>Rs@PyV<1w;Yxi7gtx11p$O*M3L>xs&dlk?8G0pa-hq0|AoV7nZ&DkVDP{w zham!Z|HxrTfWx1Bd-nY=kH7iR-qUwB(OF`Y!|VICz~Qk4*1#0Ccf0^OX>KsLwJ)b* zFdwMfJxposCA9VB1B!vV5CP5rUdVyZAk-3%&2YvhS>vE7#@Hl%c#PUNNbKmww{)bn zb!D`6r8adW*0sb{)kl_A1sCysn8hBnLMO1kWQsjN7-$SRptyi+2Pg((3^q6+Q45!# znV6&v#u)r?LabJ71U4*C5!^4}7X(0t+}}$IAnfLdad*OiJqBZ(7^{<>XiUm>Dx!gv zjetlacv1;&lss2rwgbJugI?f9B{~tZtuj-MGg6GQGt7uNwnb#GVu~-H9$3K+uI7f- z@Iq@#LIJ|%9KT|^8;jxqW*9gO5GLoD=Hm4Wh{mXoB^Ou#JQ*}69>*8_aEl;iw1+l3 z!ky^l0D+grs>eFH^`)8B+(ahHAD?WKiZev|I%XT=@j7Yg>S^h!z+ooKrl`n~TjW~G z^Ac2twYJ2!cP6xVC$)7U2g8+Dg_c!>2?V(IcKpyl;pi}Ha|UL8HbeS`7iW8|g9 zGC=yua>dLvcWji=)1BYgkk;Kr=Lj+o$8kmyUo`Gq+d2HWce+Zux0 z4b?4_C9G6rob^@R%{0w5B$0zTL=lL+s$0VfEwSeB0!xh662B5)Rs(|oSzA;Rz^f%9 zfxuZrLR(A%Ml?mlelI-!A5Ay`!pO=UkXA-aQ&toRj6zr_WTUr^3}S=P--ynNz$MTa zBG4H8u(N>%&=|Zi462GCvmYpjQE4Ev8RFW~5^5r%STS)h!&p%X6@khef-Utw?8>}{k=mEp08fJKYi+Q|KU?@ z8%G4d;gLB85V&I~4}oxhc5@HDp#$I2O=#&L)HY`{v}AVk3Y^mGmIwD|;6)Wnu@{lR8;G-gZ>vzDjIW(Ik{;rZc;z9w2pVGNHR zO31X2k3?oyQj>JD@djzBnz3=R=^0qyIT+W<3g6nApr-oh{_c#4G2-GPYi^M_Izeh~ zODrn(CsSRhGKd>5M!)8k@RsJ}!2t>|c50F{GF;f-OKEAsS5+kR^^iw~ z7_-wQ%Zrtu+3C`eA!ct6v9&3&tvUYH@kUKekzHL0gM;ayfq^tcLz&}axifR*l~vBh zChz3QCZyBaiAFHP>+8Iw)uN4!lI`7!ix<1DT<^bqd*t@LF^EV@w_C$NX2j?|7y}63 zd^7>_Y@TKYwfc$+Ptb4;F9UoVa*#;N;1U-Q7BH$Wzmd=^5tCENgs% z*4LlcH;_9#O6niXYwJuIo5)*QVXUok#>Vpp`mzQG@`m~dUG3T9gS3Gja$h^Kr;Rk& zLF?}*>}{rkF>a~IY%EFP6@=#E98$y06M~HV?3B#aF-A%l3w4aWj)c9ow3V8;nWCt< zl9;8cn1MX`dDCt>~zB%jeN{C0N~ELN`ZEU9_Cu6 zYLci2){(^+Dv4=G2p8J^u#*lwp+ogwB&4wj79*-5A_hVeEinll2`Py15_+4`@2*%` z*!@^TSSg{efOPoLQ$%dAwj44kp(&J^y0nq9xUQ@SQmZWba=j02#i=cWF;$hZ(NVP3 zQ8CBL=*fw~N7YjhhqwA&QhM@|x^faaGLri8G6wQ;ARTEbV6yV>pFtk6yBOJjiAdu( zF)^f-oTQ|hjEtI`oQAwSRzX2Q45914jk53~A|mKJAiXSv?;s;AQBx2XHeM5QSW~#Q zSzB2_LrGpkK^9P~EF}&cmP5guuu4fytUa!)_Kvy`w9of*}&)4p8UGD%*y%{el4z~I*wNrODhVZasokx#ewwV5DLdHkLHdiI%MRS zXXY4ZWE+9-d8TYDo4a9Ma8K^$EgR0t3<|X#wY2= zCg_GoW5c4<<8V4DX~x8S`nJCGss9bPr(^ShhuRuI{7)aOqvIS=0>ME zQz`aTiY>j+fyH#D)9nca(~Jz=jC7r>G@XnTZBR~z5xu~nk{8rci|c959PJ@3j1{d; z@n;7)U3Iy9dL%j9JsGE)n1D^dsV66Crlo18r|YDo!t+HH-YO^Cm_)QJq&XI`J;8nT z_u!|e3RhN3C#D%K?dcp|Ku*408r~HCi)9mRnMJ;AZa{HKIIkp{%Z*|bh8GY6iFsZ$ zk~1aWnwVprpKV4V*udkXnjh3y6WLN1)7hLbF_gDD&zv45Hq}P)i+tdb!RLopR>#*h zq|`U2*48D})Fw4Frnj`>8=JB^yNJWXtci)@v9Y3oenv+-sjVfawkoos+`pv6vzX_` zFY~CZ^{s0TtZxsgYYVPy@~>+T?;cGZn#viR%$;5?JakZb`fTHgQ*}r7D^}Opvoi(b zlZ5FhB2apJt9bWt+3{mF$4?3%9ywZd>}d6o<2A?5HJ-TCdhU8J*xj3tCht6*x$|W1 z&g1#VU}&E%-+#LL;Mv;EdkdGYPhP*h@aVP8TMy=LKbpJyWZ~iKD^Fi+y#CJioA2+w z_2Jnfci#K>$on7fzj$XIO!%$4qwpX&d!YmD`sNOQ zW4m-=nKd>^>L1GP9mwh%#6#@q&xAqH5*nA-$hmv7OyKs^1buLj+|{1b)R^8VNE6hg z)RZSy^W*reAP(7$kYuS3?lG{ z1`5b(or|%ehq22hN`0aO31DgGff$NWl`jKYf0pgYalaLc=D;TsPN2FX=G1|maMQLl9HH_s-&tU zQl)I6qm1kaG1Id%)HKsn(pQ!?!7At~O2V5U&6!1!@(iq$2uMzdM|lyXT|AnF-jc~s_=H>Z!a-uIgdF>`#KmP6M_rE^=_Ro*M`SXKsf4ckS4>vyj=F*2>oO|oT0wy=q2GGG$~*QW)--n zAHYl7=Z+ZFc27pa9kobK1C-yRwDwZ9h0CJouCtq)5WD4 zX64wBs4nzEj|7~qmz$Wg1IF1N<7kI*w86N5H+B>8^1%3biTe9W1O-Tk2Frzo$cKk2 zc)DY}Jw;$JI8X*IBg2(I0O$BPo#aHLgn0d^2#vT{?QFaixxlG_}C3na0^fD^j7Opeat!h^wu~Ro5nzSKxTXu^d)3n-RvQc`+$Y)O=fVt}QL! zflK$SDhYwl)7zFl*oB`PE8JWxS(@a)W1^uVuD&Y1v^1=|D!N(_UsW3iNqJ=~ykT8^ zYI#Lmtsu3fCAXu42n23v&a1D>s;f<{sg9}#CtM#^Rqf9$bz$@DxfRak^`4c@e*6aS znzrD!;l!Tttlo+2u_fB(e%aCEHT(Nzo12{3S<=Wz*3eMK_;}9D3~_#*yu4fpCPK(tvq>s=KiC}8+VXxdMC~_?Ce#nZWc|=QU^z~0l)3tNsTS>f`;gU;he#d zTo5F^1Nff)tls_{FwC7@SuHK_m!D8k5yR(478i%In1PH!uR@YNDcdX!hm8o7^l`;F z+hFX>FgC^*UuV$(7wG^;MK4Qv2VF^X6=auRFlW~Sg^AZ4kA0XdsUd)s1>eRk5qIa?trQQ!EI!@sllcZsSBo4UVjcP#euG*482 z97GTOR1of)1Mq4Ji_OrIGo%DU7K3c`0~!m@t=3gQdd(Rq3)|4Ci2#<-HX7*hN$N64 zR05KNTb9RYDZG@Pa37zwfwG;EhO4E%zq4hyw_}8lQ;?gDr>(KGxvr_Eg1(9rRz`TV zhj1cVUHauNJQa9bSuqWH2~7n_h>)wvh^k79VCBShlw}ODil*AC=DO+@dRUN|j+(Ki zvYx6O+zj_9Nxa-%jUF)lZ}f-GpMPuwt@^TGsF<){sEFe4C!#7~M1-yT{~?sdZ+>zV zEb*s5UJ_QR-2kB+{{F8IfB4%YKrtee!@oR4IsDB}x4-_=jW2(=_Q}^5Uwm-v-m|qU zcc)HV?Atrpy0lXPmbiDkpt(1zx)oPi8^h&A@k-)A#k|-eZZsqnmC3b&jFQrL5Wg$| zy=-jCX=^98cNesD6Pr47>sqs_8dCW+3B?t$?9xakFPv8y2RX!&s(5aB42=_$4k zvP#Y{N=ns>Pt=Nu$414fp+&;6IE};<-M9qJ$Qaeo2t^PiaEVLN0|H0lbR%OC2q&bN z;0bnxOdoDZFq7_`oMhVqB18!=-yw@`5Y5VJ$U@V2S6)SQCA;mg*E{zE4Jy z87@{mHcl}nRv|84DIq}(6dR))6{(Pzpa}w79v7pIeya2oBYc)+TADd1CB-x;#Sm=Bn$Y_)%=JOUQkJC2)`_>lphKSV7a0qs-^~4!i%UVj|H38 z+?dtcoYT^j-B6c-Ts9^3bfxw8rM0%kl$3iEvTSHY)@;5*Nv&szz^l47q-`LfXBsq6gJ-b*)zuH6~Cd2j0W1LQpGn|Ee!-&?r%aQW7q#fz6GE?%0vaclnG zqlJ5q=kJ3bezx@F`ReO$ZNB;L&RbxK-{1Z4vtwU=ckZk2&wuvyX%Hko{Bq^1?@xdJ z)zJ?>*?arFjW^$3d;0qP{YO)`?v9+h*m?X^YHLKYr@N`LTdyujm?R*f;eO&JU^Vr3*mA@m`r~P#gj;IBxYOWq!}c~s)q+i0f${| zUve0Xv4;)D!&1`4SQ0pFrzPc}CGVsw?{2E z2&24}7yXC+6Ni64^AxefnsPE4veH-?DK#mibu-Fgq*4EW;PCU0j=b~5$xnW`D6CsU z{4fIHzugx?`0<~R*@>5y_=mqf`TnnuzWe#!_rKix;V*ap^w;~}{rNVa`1N-W-+OK4 z`h(eX*N68`wE&987Fb;)`GSt5viewVNkma`B!?Tp;)H=9FX6|QRp9vL@enJklWGL1 zbqyH}O<9f2`1)piM=!Chm)O!x02&Kggi{kW34mXSWwnVFb;&RSv8XJ%fZ?A_bV|uE zO-|FtC26A^eud(MWE}u+M6?P(I3!#lJW3hibD}mb**G@IBtFq3Db*q?$Dx4g#o`3P z*K=xt2QJpY$6eapNzBbr)X5g(U?r3df?_bqz+pdcN#Jc%xN2Oq2B0`C*^roLo1bfw znq&azi;vL+@TMghXQY^BrkZ7?ndf9$<>%NI5D*T7hy-gwu4O*Kl3ZY0NV8|NT#7hu zIT=Q|nZ~&pCOPTGx#?!WVHACAvR6e>Xh(h8NH=k$tDvhPtC}0bDfCTA)J{lL1wV`^ zUL`hGDLhOzI7l)&3TQ0!3*wmd3ID<(!K4yOYsMmfym`f&2kGCJDwy4p!yZRGA&B3RrSei-rrsP2pc7be-2L-QzRcsEwXHdV*9)g`vqC)HO( zmoWVb39iI!I|kjOknvIsmRAus0GJFW9BiIIkl5CWALu8K4l{=a3cEXrZOxhe-8sVp zdBcM_-CaonK}b=F3!QC8n@*jqJ2+Ae zq+OUVoSMv^nj`^-M}~7I#`9)pD2ofUwN=jUq0*Bl>d&2TJ9DYy)W!Cb=i5(RKss|? zygqpK*4T}^lb5cJokNbU9=m>P=IZsCGv|g+ogO-OarnlaDFF4IhqDi!EF&7H!dj)EaLg{%R_7HVykOn zfWzhGk?`0;Eis1^1ZIF<;6No<0g97i)W8z^xntbyG0s*PI}?n(F~-pt<7z7DZK)h= zuN&)OndE1m7UrB7Xcy&a7UZbsZ>Jq#uM_N~8|G>d=OOVZ>5T(Z*24!4&Ikq2*?+3j_}Hwv7#P3G;FQ8yxNL3MdYCw*@n7Z>(vd zqYMz%Q4|OEYAc9AZm1>$(nTDy7$6tf{)|-w0bt=0{4m-(2uO=2NG}UvuTelT@ENQ! zyrd}p59+?UK~dP<0yW8qe#bAs77Vbuv?Q<>B{1XwVbl`;uN;2*{-GD29sTgTv!DHR z2`wT1_OEw-`0f4=e}C}fZx4l2#Lv)KVq}iux2He+^59Q@efaa=AO7XHC%^pm_}iav zeelJZ=kM>`e|`1(gPD_;d$*4@%&wR8Pf{AXQ!5(di%LRRMZtwke=6OV#_*%F0+{gk z2Iwn|C@qh!sE)6#Pi|;VZ)(j1HMC{+4byr@3j0RspsqnmYfpZC8@{F~9UxpTNCF7g zHfNxG1{Bka0?37KM6w+|*E}WN0Kf|n2I~v>1@MMNDxqc=E>VY^lxCcoVV#b5%E@yh z7I>4Xe$>JMIwOe53L)ov;$n;gyp(+1<^4Ssyc5@ca82d;8hk?Lg zfPuRB3^Qth6WHDCO!KUCQ%HCme^#Lvo$N^?xl>6l1q4U%!`T@Ya6?9_F+S4-I4p#) zBa7+EEpjj6c>#n8S!VfJmV`_T5O5gK2i#*2-MKX1ilVT(ve?E-Tth{?pfs+sBmz0m zC&wToLpL>5DwLq0m9&iuiluvaCzj?)p4-IckVATOwN6R#%UMuO!XQsZC8O@Yt%Zj4tK+^H`n?iUR>}nv7Eq50>)vz<4+z z6BJIC7#B+sZ#(%gcip5Q+ngA0Qeq%J+9NB`(t~-# zxH3v2mk>iq4TQmjAbUpx6;m}SeFYIiB{8t9V2odNTKk87r}3*gG_+BVs<`m54=E81 zX;E!C36PGwq@JR*k*d6zhO)IT)>dEBTumMXsJGNm01i9otGk$JxS45!fWxllYECA~ zb_VhmT9UwFJ!OoMnwY+-xURA&uonc0ftmz(U~?ULJ7YCZJA(jM^H49FNI!?TVAsTO zPw>DXfG{{=9|tp}D}}a_fvPmx(-=66wy+TPb5k|bQPxwI)mM`T8;m;Pe{#A1DwMRZ z@Qa*CC5}KC(2dS!py-AXl+3R@Fz^vs4GV7@!uZ({P)K|;J^O%>~Fy5zd!u)$EzQHb^6I$ zTX&u=Ubr=~f2M6^w`z2r**1u;ZA<2q1QoJ?j5E8frlp9!&98W30C(IwYe(~Pz-(;wZv5oseodX%q5jE<<*fT zWdU@STMof8DOC?R4B!n8llSr!^9_&;3Y7ya$0ur~W*BB>n`Y%&XJ$JP3Vi5{PzE!U zObH<5d*u_n3krM-a=j8_OoP4EgMHM({4|5SRsCEQeO=|;oDe7M?I8vb4)l`=@|S%j zFq~kC;p;#6VIVDs=~Y)9Q(YEa!U^Wk{a7>~O1>*T-9qS)O)^tWbFwVJKNk>%LN>eE zGiXluRKuJ!Qy?&)7(~jprsX@b$nHQtCds3a;6}-D22pce==tvS0yi?zCZA}UlVgO( z8)Rnar>1Df$EgE~lM=KO;x!ZEw3BeUsfmW5q&oDPPYj$^-0Q`at z23HKRt~{!i9|4pm<=W-sSfphd!7~oNmEdzND22`(t{<;72nf^MlG5LwKQ~vjzFxJw zTsAUX*x8od(~{dzmB23wDJ=@9DhsWu4CWPkQVZ=_9M|&dARtv!TS{k7_V5^edX6_e zSG;?u=3u|(=ziVd-OBY9-t07We1tSIlnZfslDsg>Tv=kn_|6vp;4squ;_StqvzL3% zUFo}UZQ#nSksJ3W0K#`4&fj@3ckSlXwVTrq9F29I{^{~J-=6#G z>oZ?}bN1Ws&VTm#2>|lPpB(-0qa$y>v-9Zj!j-E-Cr`KSAFVyKk2GSMU#3saP(~++ z!(;hFqlE5Wd`DMCdq)O53cI?pL2YeWt<9;ml@T>%!DYohESeJ`+c+s+Ej&mjz)Q@} zUEI?_)XhfJ-CD}mUM1LBC)~|A(!(^!Q76PjH`2ox=WhiN&W>@t!wP`x=VamQXzpca;%cdHYlt<` zkVl#e$spT9Ac7e-#>&|ks5_WwflszFP&e0BGu2i#)>H-#gV#lk?n{J<{SV&4CDLs9 zU$6|+1^j9&AzkkOX@(izO70J5vjUC5`T~$auV#$VY2jD%75|CDR~}8@e!leN{p~kD zJMzw#C*J?&^hfYVC8Y7!f4TK)j^g{jK13!Zetr1o-=6$g=!Aj8fB)@uaK%6TdgrU3 zuDtc}!LxU^Z#|hie{&d6ytGp>JV)ys$t|f2WAXe8=xzjx6RK>YU1pwj7QrTmWKX2I z6mq<|Wx*AKXhCyALu*QFcW!4N30(2u7^8or5b{Rw!wsor)wt5iI1nV2f~2at+C#F zDm5gZ=#!LWA01V z$WYbLKt+FVX&(;>4;K+g!h)0{LR4TJ7o!cyML4(QsNELQ}mLPH4+oBprk~t#01UQXtl_2CGgvbyrjL@Dl^1fzGV@n&@J#7me;fAX?<* zn^S3y#XO(N%21>OGdx=xaIGyV1O0hZ6Le62Pku{ddS^p+Ls=r98Cpd5D`5wemj+js z2bYxxHZ{lf4&dRteBU6ke~>&r$(@=m9UJE?FY?xwi&qzm7w1^h>$*Z@9E?n&eFAeeXje%>ohp*fmynbio?xU%v zZ!Eq2!S;ur?SJy+(NDiT0Ur44ug`t^?FERRetP2LkB>q8;)~OeeDu*#(1#x$y!YPW z=g&9p-krI8b>QrU_M@k24;?An+2`*aRDw3POBYwzNHe_|>hLIOV2Cg5F0pNkDX(5!*R+M{UfPJ*5MVPCFx0SAovAU}X z)z~;7^0cBoUM^63S?wq z&R7jDA+a%3fds${0@#8FMvuA!0;@=1&>0CBw9ruo0)tPsGt#ioQ?=B^0*4K;iU8qP z2n7L<(b);q{r)S5U$s64-oj6TsRrq(%Ape%0AzRv&?}>hVira5E4>>0U;XfzTf>0j zyKk-lieLZe@QcrmzWe2=55773>5o@F`_t7ge@4nDzWL=I=<7e<1^wl>XTSXR6gd3r zZ%@Gw1C4+B`~B~Kz4^(v=idG7*t2)HZa>W*Vd=-tKutb z5=ts!dHg6YKZ;)w3nLIq%Az>Mfh>4)s!I;RDm~LIIn5w3*&rcVHzZ6MfD9%O;GC9W znv|*^heM7*kBBr(N^!*FJrWXZ{rt4t+?0a@^^y|oB7+UQT$J2wWr94hxNy_tXv@?X ztMquwm~bs%Y%eZhdo`z{Jf+f5A>A{@ImU3BSY1YwYfOs*f8zH zNWGji8z2}t&lw?DX*l@F5{^HeB#{^@egH>ZgG-4yLA%W6Cff9iM;vvCO5#b7v5sG0U^1*>J zS?Q)oXN)|1F3Y#BI<~zz71UCng81{|U?4L<7(ktsWlAC2vDofqr2(}y(Y>8nlVgmP zxw6&y>eZR*<*CZWiPGr-W^Yrjpd_AC;7`hQ!Y9Ii2NOcNE&M~k26r?hPYxDrEbx|R zSVMg|?QID)g3uD47l-R!UKUVSAJx{9(B7Wh+LTx)h=VT(&5gVpi;gv)I@NjV zZ1>r-J*Ut096Q#!xl^;bS+#$(`TY5T^Opv$Tp7K7Yy9!kg}aX@Z`~cee6#=Rje)DT z2k+b;hmq^IhOXTix_xi#!Lym?FIL`sZ~g7}Hs5-8-r9Nd%`J!k zUX;M7-hY1|#veSGzj15y+@-dIlQqEM{o_?JLcz^A(b%c#tE@Hq5jIAPBPAx5|;W1 z!H|>a6%ZLHVNBIAc6t(?mdYW{deL5{=uAa&utQ3SV@9}JR-^|$$}=m%la&>d8yA=w z>=y6m80KW|WT0lDB4ey5sVOWQ))aDBQwU)+BAcDXgMPf%4s4oF4kBESsmD2bqT z5h#aIp9~|K@-L^3k(p#!VeRohHiNv}8zO8RBn61J)>i{F3>=2UL`%^`198GYPM|K> zR}cze@V9_vVC+B5QT%b*0i8gG`+>to8cOIgAJF*KN*_pF`X5r0l6WO_b^-=fCB^?w z=7$e1cb>mDa{G;i`){w@d$Ic9?e*s$?}ID;z3=7ukG{M3=?_;w`|%pYPrkeM!(Z;B z^TU8*FvG%G;zz&y_TZzh&mj9dK0Wf_jg{*Ur!UCAvRBbRme<;oT3H{-;rmfo zt^}%mR=#Cwwn-+zA|uZ{n`BKabc8`j3K-5s{2*>gcttg?u_>du4G&S!kXql6*4UCM zs7rxyepw9Qx3UTcScaU-3uANq;EOP=&?A>%n}xT+=UAnrnncBDL_}hd!r)XBfHOn@ za!jmtWQ=xn47_R)6Jrq>X&Mxy2PpRQ(G2j@_I6daw-mQC74daZjt?_QkGI7qI^?E0 z=4ING^PSj*z9mJ0#jHR&#XT>}E6q(k2Oe$)r}6*3=LEY@>LA>RrGO^jtSDr zh&9c?ndT*1u?jrvN~2n8aa|3`6~#fs3`>BppR0(Et4OGibX2esEG z3mgUrQ*s>`BvwWsxVWVSb_G}Yn+m2tJ@F;)DiN?v4nQDjSb zN=J1@Z$ox>Bfh;Z6>ey(jcX9Z0$^unnCq)$TU)j3tF?>s71I+XljGd!3HCrwZclsm z_%L~Pf(3D;zhGj7GCo9IoaOASSMP1tY^_!<%@x6`fa~>@iiL$@p!duSduhI872a^8 z67ajRRz5$^1zSEd%Yu=k$C}Tc?mBzE>-zP9n|B9q-xUxWDe zJ3H@xaQNN#cHxHm4`H4`T!QZNd9?~t-7>fa8 z3^K)HOw=$InizY1NmmnvFjs>>2VGxltzbukM1KczQV5@vQpd{W=HfWnag4MGe56;D zi-n7!s)e$Ifh@*A3ZpBD(U-vJh-36YQliGv;>L24W-2m9%Hl{12ziW=f`mC%#z9xj z*%<4jkG0cNw$@NIQtHAZDnI6X+W{QyqK=62#R9hFvvtz!bn8~sTr1gd0aJe zjI}CqSQ1tiVJt-C5GW}m0p6-ezP$XSRM4ZVe{WKO)+8;a4}H^hQf8UU3+iGkVk7O{sV^(UuZpjtN+^5X+ZJq=SyIWpM9|V_7}&0?+<_RlOHYvgg^h& zbyVN|`R@0>-22mC?*oee{M#d;Ai4k9_ZL3@;lc-Boj_Xv-F!TI=6c_ulMRa--0?YT zM}J0jV{}oOKcE4%2s1$t|^Imo!$Nc+1hM+X_ihZ`kF zS!Cd>ikU%`rIAg7q^{O1P;*@}AO%22Cwo%zT?u&m%oK~{c%%3zT_AIGh-O@{Zbpn* zPJ(q_vJEZUwTux|TO3(a91b+*6?*5Tn#YH#MfxkmhA5}S>ExxFW#CMbqV&M)MhB?_ zjZ@;q-Bl8j(Rtz~Pus)wn2ZY@{mK;E-UM;2>#$YGk+)x~~Mx zl5kSO9#BjpxtA7&)Re{6mdCNE-V}mUR*G3{qF(t=|L-njK4Q&y` zcQhuoHzc$+#shvq0AwI=Z)Zk#TY6_pYFA5oV@-SoFT9i;QdSgJRT5QQ5?jNIX(*0w z;U{%grF9C@I|Zrj^+{dLDe!}nBV_QstBbtVrLx6Y{?tVA*f3{&kUc+HJP2QoTC*XJ z^pPPBb`t@@V*}L18SeIKHK2H9u5@maJvYHwnk}B6DW0BSO^njVM+&FLnKP4YxSSj> zoS)@PO%{%iQ6|Qz^Kq8%xh#Uj{vWZRyFgMX=M4p3FadJO`H`7=Q8h=6fIPg5G$s z{^Yg!YqxvOUu`~m3M?^Sc!Da@7j$`@y>+N;2WjJ9bL3dvk)sWVkJKI7LpE-2ZI*9t zlx=L3Y;5vY*NWyAsKcY#T|LPSjWJbKVQi*vF5Vs&Z4&IO;q9X0>7Zbui7`<}1Sq!F z#W)!w6BIr+YGJNMp)Q6IZl(ZXLYzM*8&^)wsG;ZZiHXIzakS*nv>@jID?Mv9DP0M~ z2J1@-C4n)J#28A7n#f3)$w^r#N?WVTo2g0}D}mP)g=nEJW2d78F51&v2bH_2mWvTG z#bKkRV5K2vpdb#m8Ev74_D|CjcBDr+Y@m!(4x{rDNDZ43(pw(ew*J_)jtloku0ELr8sB<8|L~oS*FWC-@Vm1g zeSZ$^0`&P$*S`4qI#Sj4=Ud*H_+5aZ(XAjT&c$Htq+C0ZsX+29f^qhn0NBMc(K z4I?8B!veJZy;K4`RKf!^BLj89{57HibrK?sXhaV{aeY-nPg~AV4{4w)zq2{31u=5T z{GzaeT$hX_iRAK&dK+%{8 zmGDr7&|tZUFva*7O>nt@-<(WKFztn8H!{Hmo(u4KvQn%FSx$s32V9gcIBjsyrhbpOVR#NNid(ayq&Zq`g6Z?v7+*Ff&6&+o1y0FBv1 z|J-CdQl=9n$C*Jy77)2~FCNpUoEuPG8q(d80z!9rjP&LXcjxxDWVP3&bT*{dmPQv* z{MiM*WlVSs;Tp@6>iG#3g<&Z+q@Q7YQId+E1GqW5GD!cYC#VZJ}&phynl8KwO+IUYaSL z9cNDt)6q_$lOu%y?U4Z@Xmk)_{_sHF$RJ^IjJ!Ck5(QW zRDj^}4 z=sth3=hD^QYc~gwb3?9n9zRnD{&{?w*gurr*pyUU99%&3%1n1iPOwgjweqx=bGMRq zwUG3&Q;P7?OA4_{4YLO&1=**BIA%t;6LEp`^k{Y#j+qfxm=;CC`RB)YWdu1zIvKg? zD_STa;MEhyn8;v^r7^}*7!zp`Gg)y9c}Z&}87mbTJ1qrk4HLu(#ToI-r%je)nX7Tw?y=!%X2fzd4j%}$77;ast> zj^dl2Zhrgo9hAd=MrI@)qw^9!{_Xb9zuo=*uh&2O;oL{xoC0I~{KM@#ug%@KH+Jqy z&+gIsxfM>|NPb-lu81EbYz^TC;LR;?04$RVT_Mk>I@4J`<>k?Jf@EMUfOm3&Jv~)4 zHOYYlG%{S++d~8hw}L}%%0Si9lF{Ct+0v3$T^$SFxTq+QNOVq4HUS6&dlM22K?s54 z^%E0~l2XhQlFbuSZBoEXuVd1)d~P(i803Ukp`ju>Y=`BQ9)Xf z!5Y9=a-M4$H@vYXskJ^0g|MI^o=Ncm;=v73A)2w_Ix%6|aDP&mL2kS?DcK%GPIYAF zxU+ISsF@CVi56LLMkx_GiJ{okNbQ##E^z0Nyoec&_(Uskn+&1{hvGxdcFamLi3`Jq z`pNmaiTb#T1b9jW`$`6Si~D$p1p7+|_(_6*#>okKgdFQavMZbJRmu%2DGCG*gEJ5C zQtcLfMXM&pVAF7Vc^MY8JQprCptd-^ zQ;;*Fvew!C|b5BpAp8R2NW0jaSOefWLG-Lxs>hOSRFmu zmj~<}>dXTTcM%5KbGjNcT5D3nl=$OQb( zjTbLYm&{M_))y%pt@RlYCx@A{<3(cwg?$}}g$8s3w@3O50Kz>TS%dJH z7|0vw&F<;U=;=y>@BY(M1uM&pl@+SBA z?C+PII8k%vOg-4+3s*X>-RisZVC3GTF%TrT?hReP-GB4$;N6F#PhOvSO$TA@ygBJ;>9(_%pzrEB5!y+cW5+kWITUrmbS89eCTl1 z!SVX5*N3j(7`=0E5(xj~wYmF`$FJS)J$Jcvag{kaL+S0$sc%T&mqxLfA&kNxCM75} z)*>O)I4;mIEy{|L;lm|GaEXzuoNy*SlAaM!m=-}xjie++5MqPUgT0e{ogy3!!yWa5 zthGIjlpVEX?68s!8nVvX3RX%ImWqI133EAdb2$m%u%&{Om7QdAz{(0wRzfy43)@6s#WA|FA||Sm78){0>6$s#+g3Z& z-89C}Cd$Xk*IvioSjpZ<+1^Cm&REStSHVC{0-Xv*T`|gGMKMGuhhY%iE~h4iLFa_Q z{Q`vTj5M6hbsbE!0L5UB0nw_$84NJG+6q$W`~xr+Sc*<5pj8tp$gy`Ks9qHkzgoyc zISdds*Hwr3PesMA*7g1qhhNoBpu6gjN(qtw#^Lo7)nJK_UTr^frw?_-V2SU(SbFy1 zp*KG}^6pnBfyU@5bzqEN;{LD51jXI&e!ce1FIPaH ze1GcAj}JX~ws7#% zfgrI#kla+C+R=*d?;(x?jmMZ%m9R?r&;JYivxd zslioN#sbD!tbp8H$HYXFloa!{G|SXfi=-q|xJ*tqOHQ>&PP0tOvdO^PrKDTM;*3Hg zv;u?G0)kY1z2pLX72_gxGLp^H5>2B*HG+K=L;aP#U8O_()RJON^6}0rsy~kvTFMD8 zVTaKRd@_=(!UC{<9tuG|Dv`ljQ6bt90UBxHMzmCCZmtg{#UUfyC^b|sGtww4+At+l zJ240w@2?u`rx+igoE(bHiqXr)nGnx$T z_83oRjGu={fR~uBrzmhZ&`$>KTAz&5&%;|&h|b`Ixy%3#-7hcGK0Hv}%|XJ&P7LH^ zjd8TVcspW3ykw$-6yriw;=`2_qg9h*)pOH~a#KxmQ%rM{ElBAOY=UnsC%(M`P?=lL z&8p?3HkaYS6%Vyidm0GM6{)S&X;sA$z+o2Iol0;Z=i2c(eqGJU^CR@BKFUxVp|2^s zw-Mjdkkwh6(N>w(R*})bORDAI8cR}oYV!vhDZK(>du3K557%50*H9c$$qFc;c^1)J ziW#mYMeb$7cE=T^$lqN*gSMUc|hku%&&=xxse$d3)>5BKNx zcBXZ;CHHq{j0|Rv3}uat;%BDwSC$L6w~BVQx$A4pr9~=eZI!XL$pLL{u;Hb{d!^uw z4~|zJJ6(JBQuE~-o!9U5-niQb@!IX4OV>ND-s--2um9fTk;ku3K7V`u-H+Bj{CwlZ z`wLHBOx%9dcllP^*~^W`&Q$Lnlx-a1PA`zhrU?Th_};;cf#Dor?DAR>7~?bNI?tW& zxpbxf`mLdxcZLD@XD_wDZ(QDBfrTEMEC3X@wPhh)De5zt>oS=ne=6RCnC42&^5&5v zE13y=YFrT^s+y5eN=jm6L=kbp_z2&W0FO8ir)XEJP&>UaJDnga4R2#5H(fc9x1maa znTC^wtRq&&PDRREQQT5a+(K5&Tt?JXM$}qO+EPWrOi|QW4rym$B#VK>L>>bprV1kH zpuQAFR|2CghS3zZsYhBFiy=af(m**J;9wl=ViN6Zof7VfkMqfh_Kfwn32-rTw?ejQ zxLWA|icK_Sv=tHFs!1c37)3EUGmJtQ29YyEC0|yl=_rbWAGXw00S-HwYTFp7n`p=b zoY7r%=)Ptxc}cWj7#IsIMOWDX$VM7Uf84x`uF9dM5h#`+0b-;3?9fF$fHU0oPo-|J zDkA<#D2>rM3KYx#eVuOUNZH!)DnRkUl{Rq2fZ{8UkqL^MuPr=yd;PT!_nv>e|N4jf z&p$dM-2Qy!%O9?N{ij>s{rUEv{(2wv!+$}9OcDR}w@1Gs9Wrl&5Fr2c%E#ZHe)HX( zXK$|Gf4q3@_W0@Zy*vALGYj0oF>-TzMx`LOq&%XuG6Eu#>rZ3)FggB6HG4%|1wXp7 zEJjeB(9)O=K<;YKf!N-X1(yKfVopdQ#k(Ni4a8;#@_1n&4kxInD7d&dl)>=J%X7-e zu*T!V+WhPtWQ*F`X#!_+SF=4tu;Mj0IT$CXw zE>xe8U|W*!UqJ~WCppA;sRi0ghdRqgc`8SGDnxk5hr7#$xygjNONDz#M|jGFdCJ8G zYQ_fXq{W!ga@{M7A_e@IGIlVtz%4)1It`~E5vbtnj&Ru94dd@6;_o9C8>t!=7GVKuUM@1IJRBr_U8KT%Juh=$-`~L?z$|5y_IPl)fw%TnE+uxE>OLrGN-48*k4EP zucLHV6FV!i2kWy38ZvqWi7n-kl^nkkx@&QvBbVWrn`KDMH6;^m7*ywCwqI>!G`Qm7 zUJ6imbFudDM)US^-O5bG+!$}9r?9)302=J10FB4`7?2EfkYRjsklo#s*I1cS&WS2v zhF0-n+UnDWdx=vcV5)OR`U$|{v7x-7KKwv$Mt@KGKwnx55Yq1?R6dUAox{fCZuX)jJ(G?so%qAHF{F z#(T5xeY*1EgZbCqo&rk@gE#K=T)x?U=3>+FGlE0#|GVv?>3Isc;=z&Ju}RY0B4c@t zyL-5HcTcdlF92_R{8Z!7Q?+|XE5Jo>94cPh;x4Un<`&pfQ_P78=GZ7>e3;o%lU`q% zSjmnpXGT{rWBIgL4k5fSGnh+=qo#&thI`0kgnc)Cr>yMtS?kN(mIyuO=@3v6Bv6%li*{MPTLM`%9oD6aR_B z(>t8mUGDNh`PON{k;|cXerAT<8==UeFR=AZt4|EJ&X{`}iL;P79CmiRBf-TxcnkZ*tW^QAAoIrr(8r$6}k z#9Qy}J$Y^8`t8Z%r@FWI>SpG7{lf*V9ocPN_~y2(DnWc{c{IN~T2Px*RUXUdMSuXs zK;2hZhP<{42Tqt-=tsqo_EN5p6Z1uA&Bi+Z|>1_#JRhN^}H$|FsQJ*9o! zWx??VcqxG^2IK;4fyUs3Nja{df?PLbz3lkqgi zcv*<}Sd04Giv>7{2Re!eIY|ULiv>D~1~`iNI*9r^$p*S9Mh9qR#G8}xE=-be`$oPq zgXBudv(HL4iVasrW+dD(z8)AqZ&6$fvVl4wPCG5xFgwEn{BTaD6>u1Ad~Svvd<=MA zg!-!o`>FtrVz5i>0qB>PgfM|G(`o8m;zcc5h37Unt^75J7= zf`P;A+#vW$TbL2T#D`ZgQu-UIa|5MIqh<5MT;OnVp+7Oxz98FrpYC_JlE-MOX ztx9gm-nXwPA~@i^Z6;-H#}sMdzm-gd&&5NBgvu)Es4GF>%2R6Nno z8SJ2S)aUiLQHDAT$NShb!@Sv%lBq%NSTAd+i`vsnXcJ^MR3tZ4CbidR4tC{F4%24G z>0<+=(SiKYLBjYjVRDo>K9V=opVix)3>+RE$()}fEiF33#KM>VPtcI z1zK6ALB6rh+}-1D9%60ovko2O?w=|>e!lYb<=S)C>Mz`AJbSec;^o^dmu@vfy!o)} z@tY$rKAe5)qq*1LoqYVp7@+vx)4^L0djZA5gPdA{vFqE#fZ~zy{Lu;G)GT#wk-5Ca zUs^3)S}R%ID&5>G-#${dwa;JQD~4oyzkGYYa%-=0eXDYLwPJpOKQ~i4(oG#|Cv^(& z0$w7I5>CzZ%Z_tNk8n&3w2N>v^|91)F;H_g(C{|Z53n)~wKI!zH;;2Oig3{LGgEca zlC)OASSewwl|*b+By5z$5eUnP0Ea=~ip}Lk&EzpA3W&^_aF!TlEGo2O%|Knj+EB|v4~w?+0iTRkP@oHQa1Tn|KbB9R zYk8<`Mhn|eApa*0|5KBn|FwR2Y>hU)L7&|zS~*s}d#?WAYU}Z99mlS99KYIi{@(D- zXS27S&)a|jo8SC$``f?V{_fX1KmK<2 zm){=#f^3Dp2l4Mnnel^ff4TPa-|qeRm)qa}>Bbk|UHa(L(@)>rzJ6=w*pcn+y1qcI>i&#M%W?*S?IM5g_fy4Q^&cNZU zbnDn?ZCspQT#Qa+I5s9qD=EP+AzmNyyc|1Xo->)~mY?gCo?;ObsS^^Y>gOkqOEOH& zG|MH}=H=UE=US&_m?ozhr6e0ghpT(JiP>9WTpf@;@P3|>KJMba?vla2%D^;$a72(M zKp6Zmu$Nxo!zB9`GeXOXqWGLhHZ_olcg;w&PK`BB4l&4zFij274|7of0t1IZZl)Ly z3yhZ)#?MX!I2`OO2`CP55c9DY@pY8)bCwJ9QjQJQPK!3oPPQz_v;)ssO!MNYRKZ!{PHvGsJYHGf>TbKS#G)+JS=#HK_#@%3RV=j zvbO51PC-t4b#`-kMptcqZ+$^eT|sjhzJi`mN{I!qx0GgeRiyRSruWsQb=M>{^CN4E z0?JulWh{@5#@P0zxVCy+b8VcUB3e)p+gOv(T9?}2L7E-oF3*&K*B$Prf%^sZw-?Ne za6w>?m!~RMXR7B$O9$Git%9tU+RVo4RItR&g0!xt?EX#y_~D^m;=~XcS)}XF9UCFc zOpvE0Ny7v9uFhmI#*nWrGnSX=Gt>E_qxi{*+_`zu_!xeEp#a#szRp@&q|VQi;hvpC z2#44A7~6*t6d#-{J#nGx+-1S}>ka3x2swPC3F5_T4Oi~8K72L+1b*woh1cGldGyA_ zgV)FIJsY|8XyEeg?sM1LF5T=talUbLk3YRg8=fQ%juS?vNaM4V#Z}(iQW0ozjk|t` zzjLJG(9xILJ63)8c+K9i+MUC-Ynv4d%O!Jj#RJ`hzV_S}K}snrEHBL|F2pFvUDMZ5 z&C^oZL0{HH8KW_6Xg=GqEI>e71f&Prm2YEoue@|LtZv`8TwP;-T;q zk4HcLiZliK@z3|Z`RV4@-{1J;>x&I`AsX6}0 zI1{OYXvu78OlxgQZ)?tIs!u5|jbtsI`Abu zCQ>~%QUe#GofxN^jMGm~HqOJ_6c8NYYkPdOHnPbgS}!xz3_U?3HBmn<3L6uyj*Hex zPeO{sVuG>0E|RV`7;oUDmqMV2oR704vdHBrAL6GH9jcWOZ2*opI}O~R8!g|P#|Y=M zqe_|4Tv~V$HH=LTA*8$G!c3yP)PkL4{Ou$H9i$+70)8zqfsPX3hyCnCeQiY`338GQ zaghpkmI5aGIf@0iN=0}p#009PMCjlXObfH^Ib`>mqF^r7lbmUli8Dx#(MgQZhzn8< z_mztbQi9K%nP{AuY?>OU9~Yq+7lw@q!{Q<|BZHC3x3mP4v^b;aP>uL7t;__o=s?Y= z01aH2UV5BadOW;joR?+;uA4^>s40o+1jpE(-`kX1&re_z{qs|uvJ-4`QXEKGZcLJ2 zDKosPIJUY3k)S-TlpRt?^Z?XT^Iho$9yFpGInTM26ACI}hw)gUJZ2a?m}*KB8Y)wp ztFxM_GMlQhnyc|mmDx4CR9;~WGe4v#Kd77%QOAjIFHi5O&FZVm?iFP92r`CSa|T+n zdmA%5YE$63AmGJRvcpT6L6s#DwdFB&m2q_y@gN}cU?)k~A)mi8UA8n?Ix}1}(oO4a z$?tB;>jpDipViTl14g>1BfqaBzqgAp+(#N2qzw1xkByRNCJLt}kxhAHW5n5M>cTvG zW`e#nU$U{npPOZl4CVIqXHHHKmR9Jqv!wY&>gp(fr8UaN7JdI%>BY+pH|}&^yU}{#O5>Gl&5+-|+jaeR$Ad@xZ@dizo_hS|Ea?7g zleZs_-h4QG=gAo4Hy#XMyEl08X3w#6jT?vgv#X5pdGgp?!NMA6d97$|lecxKZ1+gT zk>fSTPuHJ3+j#C$+u4h)XD+lresH{QcfV?Lr)+JrWO0QvIYaI3!Pitr)5xBhN@>be1#+s4_8WQ?gafrs+(w2sbc4lf$R+=^@Dv+D% z%EGvgs)(i%2CIO~CnIf^CI4}R2P8;mPAPaafJ>J!QI)gOQnA%lx6{Mg=%`t1s~V}v z8DixORb{ml#npuq5voX`1+ryERT^oMjJRu|F;)>r77!Ig|52X?dQ}(k?~5oTMA1{~ zq(nueM3E>hhLIK%g*dXDKeb7n-(}7nV$5t8Lb83j{Mglo!xw6fUu!&fx8u^op39GV zuRQL%_H^L-v+b_c=*ol(+`fk{_(N50mVOF`SLHfzWC)P#IJt6{mtL*e*5=( zsJ{REy+8l<>@Pz7`L`!O{q52BzW|VLfA!W;OdH4xMb1&P!8i_G~=VyLtb)CdZkA9|jIH3jD}9p441la<)%i zni~ipoF3;86J!wOtqOoeVH@Be4j$OY1|vkSBn$$FfyRL4FgMvKFU1%ir4VdL zqNH+mLJ29diWb*YoZ3~HGf+nwZlnx177RC$`UJUv<&MhKrV?B&JF1KtTukz1<$KVH zE}TN|^5PJnaYHo@INaNoGtxtu8e&cjvL*+ZD173#O;&^V20uv*kiwa!*Sn6MZ`wLqxwy@pTVpP77Oib@H+FdFiKu%Am4}a3?H{YYc(oJNg)1EZA0JN72>-V`GFd!Xo?ZOjI!lbrq3AMXl8(jFpf< zJq3)e{7dO8B7y|Q&9I`jdNQtNDxOwYZyQZ-Tdb#@ii?ecvz3CYjgp7Gs;7gRn~kco zrINLQtc{_ZwZ5E{o~(tAG$c-@Y97|w09%m0%1fb_Ae6%ZVN*>BGc8Go2#VE2j8!ne zd`EqG7b7KSLq&-0rmEhS8WC=$Q6A=?U`GQO0Ur)e2NP8hBMosQZAnu-84E*sYZE0K zQ)N`<26ATL|8=DewIuYgqS~q$4JC}G0!CX_L`PZ#J$>(w(v=Z4RFE`Nm9y4Vw$o7q z*=nm=YAPG6BGt%fK{7aMblV8JGKdN-oI|B7A?$A~A%?d1!OBPhkiqu?hyU$lg}fL7 zVF}Tf5l}2C_A(AF5Wo`8?J(yLv1YdDV2M|b6mOrZ*g9Fhcdq8xmBv#yT2J3>J9Df3 z{N1jL4+gJ1oVoF2`R?zy0?7uSh=%1js-C{qc8yzWd47mtTBv;^~XS0OUu{58ZjZe&f#Kxw8W& zk9F?vHXYik+gz)jpD7;bB{essRh7pIsuLRPQXsFdO{(BW7qNoqG*6&zV!TEYPBS%0 zCo|0;Gu1F9K?j(eo~)mepoc?FK~jwjQHcswjg7#@M`;3qBLn1vy(IlyMZ6p^p7t1s z-i{a_M==jujE{qOn3rOdpL&>=GSC>zBrZ}fInEfq>_d!;(8om?W+mH_b3Kxx&C+q! z>G8IyvDTRh4#45uRM)gv>qsvZpe_(N#6|iQkRv@6qP>+M0)9hXWy0O%;1U<0o*bf? z5o3@MqnDd#0{AVVdX+Q$AhHO~a0w6wGQ+E>k=h9%>d}6RAzm`LFl<7k7BCiKRFF!D zk6eI<6hPR`4&!Qz@pQxhlS6&wfzNOQKFOR#@&WedCfm_+Jc_A7C50h;Mp#u*G(Z>x zHW>0EazH_*OM0w%LYP5Zux@OyHpHYz!|X&GI>8gE{^iF5uItNi<*bNOMo0xavW6D} zKgef?a|#2?i=%4Gah1GS4lRh9=UtfZ%PI&iVMJ9F;c7~ftBX_0Sh!L~Tm?Hxz)R1EIgEV6dG!+)W$pD;(=%4EIp`+KJt* zxjk)peI0oteaJ>U@W%b!IlZ0u{_gD2LE`jy;oNxf>}c`SFnfHEHabW`s*8tnMuzdD zqxjLWtl{Cz!GVmyfvm}K(#jJ1&<_8^3B(fb9WL29#NFO0+TG(FIVd}Jyz=C!8qoO* zjW=&~-@em(<7U_0d;L#epM3h}{Ij=~UweDy$(xH0UYou9Wa{42X-Hu3;p=ng(bCuN zjhw&MvwyOFeYb4uaK)j+m3v2!6H)h%)#7q4_*x!!m6MnCA%)t>X0IswQR zu63Qd&;s^&c7f5}na*PQB`25$`Kr5Ei(Bd;o9rw#k<&WNR7K2HFgD;Jl@TXwsQ6NF z36w@Wvl_-mThh%`+22k()WtB|%{a`}DA-ls-$m2YPT9#^*3MWGm5qTU*kfy5X%IMJ z3oWE7*wI+Y*G@0Y-P}e`)>dE6&Ojanxv-y)DB4ZJOhepSR|fnu2=0NOG6fW?VBoU> zih;oXwmM-h#z0_Dq`Mj9FaqON8WLdF5vhs*y-l^HtPK?$%v2rC)$B}^E%oKhbfkgL z#+ni)@awcBAu&)F)ltT1DPnZwMD=9FfV!_}jI^njz`&)xoVbZHd_hpO0ZXh6s8<0F zo2bc}YATp%DFTXh6vfq$3Sndl;uU*e0a;zR%|umFR82|(?R5!4w`}~|nF^$CP4wld z&HoyQ7xO3AsSCU8rNc!KfyRq_96<5v0S`s-k&AT)m+DaE7hkhYL5KuH1fY z4QTx6?L*H$I{NnKr+~(wcfUOI{@3S_tc#2ZaX8 zh6l(4ha>#u!u@1Jy=6kYq=P)90^KEpJ!CxrWtJF!XQ>Du)kt485O6p>!7MAq3WST& z5B60J@KTBj)=7yo5B1f+MHpw`?6Q-c3h>^nf)EfT+dIr%5$rAqU<-~H*c<1kni{5) z6>XRuYmARE%8W7)*05&KhjbAMPX#cNFxu5PBMNyXvwRM@vC-gS^Qe_HZkGsHJeMgEi61nd;|G z4RVncy#W?5d7!gku!}t0OPL;JPYe|f_ZIYb<$;hH;}Od2ID5RGIow4b=pYaEkSB&| z(-YLm3F7ETc2`$IS2qsS-X7Q18rRv805l#SBTP)>PEO@cPv_6h5f>M!YwL{7O%5_| zyvfcM6Z}&JwIm^cS|`>D@89$RTpDLCp}pg19=C1S$jPhTOBE&E-J|Fbfw+R zRD7&8f*kb#!k}O$eaHixbbRd9oGoN6^+XVNt%eA7xvw~kPWB=wHd6Mm)bzC0^s>?N zw$+B{3Y;{MHwWvhCIUbP_BxxYcvxw`JuYUdD2g5Qz>!L#91gVC0|JLS8~NF2dz!1e znW&(zf)hrkN^Epwkl73^Neew$K(Q6PxvmTlSWgwB4JIFG4<82bt}XRyP*+w2AdCvw zi|jEG9@~VX7%Z{5nmlTW?S-=w<{Ao?x+*pX>JW|8Wwqo*(LO@|MBtYt8OZ)VQFOD$ zt8T++UBn;z!~c&nJH!wgqmmV#tRy2mYiVqyU}}Q~1YX|ff`G=rVGtxJig!*|9y(Kn zdgBw6fy=ied4 z72o`H6M&2qSN!b(DzuIK*MGY4)sNRveewO(FTTC}&9_%R|Lp90?;gB(bNAWPjaxTo zPMz%8*{%m|tkA4-? zE*t8j6yl`}iVf3_i`0n@(+u=caJ3h8vcY(}%7*x<`MN2@g&X9gI+Aldfj{5?skweR z$xZ<-vcC3Weh%UhUW#!6>hXct)Cj%2L<>rWJu}ypOY&k9+=(gHDdD=&zA9m!a#6lY z5#Dm(bpgDDWV5^^Q($kHrwmXx+)EZ-0>Nd7yHt>?1aKIUhZNXgU@wYd;4qLG*{LA} zae~VSBe8HGxL3bz=Tu>5GlhM3^P!d zoaw>L3*b@0`GrxSGCIIBu9llv&B4KC5h;XQ5L(WNfy*j(d?`JeLk=k}i~uo7LF8;7 zN{%m=8U+w;uFP$(CAQTNYk3)5avUQsqL_@UVx^UkqRI-QDyY%b^td{9BG9TJj-|wG&4>NlT;L*&#N#-|-&WSQl*+SlwAT(m`9Fss^o&SI-af zC%TG8+galsMdRJv>HgB$;j;O$ve}W+slnpOfg)fsINrrc{_Gfce1I|1M;#j|oE~K^ zOd-pE(?h(GE;dqq(M>_N;Ehs7hH`s*Qd(M~J38Zl!<}96ZS675%~8!w(Jjp})m1?P zK?vlXow$Mibm6)l0kDjmnunCSF%BQ*9~`ON+be~5>P*9hYdu$P58in^i4yqfi>2r9 zuD$qR^Sw`Z0ma~x-*|8RosV}Q!ae7%cB33Va!ddb@CzIU#-2Lc0)7}EeD}fllh@{6 ze{<>ii)Dzfy|DLgu{kHfxk7yiUNee?i#8H&pA>NF;y3LGEoM`x>=~ZTVjF3XybQ4F$nB2yb9wW zNWdGzkK60Y0%MJpFkpHCyxx`?0AvKYT2c^U5M3O!(~*HYZFOal2@Rouw1!wQfGzl5 z;H`!{62S(emKa{uR}+DkkS;^AB6@P7`to9E_aXGmCXlu?#y~;bOik8WOUXfB-PuUf z*+kn~N5$3<>tLc~XQY94Hr7@^isjIQmQbM(MmenXhZ17N-<$dTCkTW7Ki1v>%93qc z*PUtGwr$(CZQHhO+qPBCEZerVYLzQ9Uym78dDhu`pZo4>?_~R1Z#_oDoSBs?*Ej#@ z(Z?7x__!cyxE>cniGzp&`{WM%FpA>N@lY_spstB9$U!KafyP4%aihzLfZ~NC`Rga^ zwobPkJ>P+%_}s1Gs}HAcKL<;^eD~!N02u_yZxsK1ZVM<53KaMA754TLaCYLbu|`&gG%=yj)gjW>#@E#)1ZimCC@WzM zbjeKhsjN)s?JZfHtT|n5k%i8jZMf~tIRIaBq8Mc*dsr-bPw25SbnNCBMT0!A6r&-H3*ZGB zgWwcI0J5_(fI+GGu}Ter#oF9Ej*R5Ey7|WyI`g$>n6pYiGh^smI}LAru#^ zTaxKqn&koz1}7ZorU2{(0}O};w+uNL<0wC^xIn{2_-eugPwR+-Uu8BumAVV0>;HVNToQ2|E5p4tI!8lhf#alz(k(GK}3o`tEt zMQMJy30`TD&M9HeSuvi4$-e1fHt8XjsljF-KrtBO+-RHpINO?Ruj*{~sw`J9!`0bt z_4!`SCBAKCfgM$04J83pc|H|6UbTh($js~N=&qXh{>GHS=JbK4w4U1J*0Pv}g2?*( z2#D=f37vIGJ&mc|jmcdNNkHSC<|OPoa!DNx(cpdo#mK~v_PBx0q`}UV!M3cf`sC)S zNHEW}<$mSG&bis9Dao1u-jY(&$|@@mB>4qKIl21T+4^y@%J9dQnxd1PWl)fBUQ%pX zUSfsG9w;G)~x{00ZYhKHg6$fF}MvvX;4E7>cDiVjc=90ugxeKPj!?fj#c(+{3c z0+1iSngJApD?W3n1=tG^o|;Xam_`Z|vkMu3V&E_s;EPwrT&@mwvj$MA#Pg!4r)%uk``+GMhcv! zD*Q%@JbJPmKwTg$AXiC{1_UTZ*$X2I{8WHw0J5PXm%I>#I1d3Y6T)E-7d?g>D`rw; zn>ipbh#k9-+V4^`c3Df*Ap>|(0dm0-1BxL*OBU#(JuWH?TKMI|R*4n(XjO%ofX0Aa z059^O5Zj(1%}D`*L>MlH7h)?9Kw6+KaF~q-K`~Ma##&;4Gm2>7FeeQT8yN=Op^2A< z7=-LXLV*uJMt5#P_YDzcp+?rL=V6xRV-;niJ>ak)D>b^nCg@;cH?%()XiSG)`vU2j z!1)jO{f~7Cpe_?JA&8lffSv%40T0<+l@7b(Nm+|ad8=z>yL(NSS3{p)(?9^IvERRW zFtBwvxMK{M3}lYzn~51&N}5{FTs&H_dZKpgbkouEZQGZ-&fXlj`f%d*^SS%4m+rn? zxbe(JKoGxm=fk&?pm$%kKYl;; zdH3Ac{R`ib2_RQ?_pj~m-`L;3_G|a@_a7HPKYv~N{N>E6*M}cGT)KO2{?g@<<0sk= z9d0^&q#3lfUc0nZvb31jKM+w-WuKXCkdmeym!KLLEbivPW9PtPW6x-5O>b^RV`5IJ zZ$zT0gQu>JG1MnDHlQ>&p+##K4mRwLwp<`*J6?M$P6sP)S9<|xTLC)@ZbvJAFJ}p3 zJw`n(Dh(A9H6ZH zgMiQGS~Osooh`ZCZTZ~n_&pp1y_|$S9fce$IDxvVvUn;oxIkc2T{<{4)~2yDV|TIP zb+q8IG2$}QX0)KH83IOoa? zzsd~XyjbVtAoF-XlXySl1b@?LFZ~F2-B=&Pv{38pDEq8PdjN7ugiUOaNw~Lun3rBm zfJt(gO-8h1X0%Ijs$X%cKcbYtlGLEGw9tx-@an8^c<1sI&!Pn9ycqkODBIjhW7V{_x6Mg4@S?-q#?7FS8}(G zRqUK?JbS6_;fc`veffUm^S8sFzHENqKk@nJkq@8N zU%y*=@@)3bo$<>T`cCh(PYq@_RfgmxIlyfTe1Q7cDcR}>nJ9DW%d+W8vuH^$s*BR8 z2vI8uP=XZsDJ0nmAZm&;pr=53GOQ*lys8p(^1|feTm-^wI6|x#h{CMESX^!z3=b`a z2b?hF?-kWJDButWUDXEw3#a(#aIyUlguqXJdOXM>5oIM2VIhVbdFV!s0obDMSB8rc z%&?|7o4P2AvLJ&T5498rInY>=oeXk7G(-swa%35K4l;3WN(mk+h{EiML*}BxIe0$E ziCxwhMi9~Ba#G^(&=3eRl8UlYim_2a6k;NSLx`w^naN>LoE_erMx2vYn1x!HomPZ{ zPKb>L?N#QcN1B$|s0cvdjnP>oXt4sBa82;vobZAE<8wOjz#L?x?4%?dB*d)5M684a zjQDs=c)0YqIC<5!c{Mf=3+wI6nq8|pJgPgqAl7yJ0+yQxf&j=Zg9woOXW~W|Q|C4d z0mU09>JFW4I&r@J^o`!D_r`8LpLy_d@%D?^TaTx&J{rIAaPsD}>H9Ah9=%?^^?2sa z)4BW4mmj}b1scBqll<|>%fAjmeEa3tUq4QN*+2Vj|KgARi+?zLYk&Xx-X5CYg~RXP zFTVe{{q5U@S8tBoxif$D`o#6?Q`c@xUc5MR>U7uk$p)|xef{AL&EBF7BKTuI$$KbVe5Bx`qURVk1Lx6Ju)Nu%!iqjRmuf6^oq}yR8+wr;Bi~ zzg$Y3enyH(Y&fz|Ls)=vTB3=sC$iX}l^L74F*CZTnzkyHk_@4?DvhltqUDR#CYh3x@d(uYD9YIr39E~gxkW|q(Ji+ zKcf&2onTkZNMFOuD2Jj{@6uGi{6w#s?68WgkjjkEip;ROoaoxzn7Zs3;BZG-d|Pou zU5;CdvR2ERl-Pp=15caP;EwcMRHe3QhP~!M|o0bbxLnt3edQtDz3FMwzE2} zt3I)zIJmkXpr*hNP~24))!P!^-yGl75Z7Is*ioI>S{_wZ;8&1lmlUHL9jXu#B$1Y^ zmX@ZLnXaCirjnMT40&FTPGNybM!J4hhEZO&MM;rORk=$;okwevKj62!BNSq1TQER) zpf{?oCv0>mettf4d@^-*DSPX1#qm>hXU??(iZ5U7xpK4j_T7#iA)erzgp5sK92WBVeS)r7OpxF2$fB zNe@_76{S-Yrjg~Ll;9*2W+VU(vk)PjU|i$?UOeC`fLDkCA0W(6i-SIf1LPtWmz@lt z3K4P0yMI z5uckD3t=pcIk7+n2hK}}$4d(kCIJFVbJNN4GRpAKOL5Uja8S$eFi3IH0(-^SC`DK( zL|Din3b9ZKFd`4>1X!qmyI~K*v_;{d#8i)KEySyqpKyiMxeQ|?Rd9!^pk#+K5H@2oSv!$|eVzjWLGc~6% zHKBrNW6f-5&+cf?X=ld~6|Rz;q+gh8Q&Q|$oNu3%VUd|?3IaHLyNfx2Tejx1v*NNa zVL=MTk~rXsb=7Gsj5wWagxwt^-Rvchc^npkc4mC0dd&K2)OzYPraFu!x=aS@G-~oB zX1Yw)CY&zT0uGjZR)%bFR$GZ&OOe!EhXJUIav01oSYJyWIy*yV7<4ja_j42ua25pu zgF@UTV}n(q0u;mieS`tji!J}#nGM$CX;JvDM|WfHVFY-z}ZES_mEY-PY< zs>PzCNUbVGqAWoKQA?guPnp(2m)%m21IX;>EE^ZBi$1oC3(!dmw#W*z&5v}*47Ex2 zH3106f;vWdx*Xre0{_|^@7i2X zfH0uAwKSlsDzvXYVz4o$qdcrJKcFhjy(G!GJjo5Nug&nS&hTx`4+9kUl_&OBr3_Z4 z_5gkh<6H8h;QQ9)g|`$(ww1>swz)dKyE+a~+*lM;mg!lR?p9wMINX{z-ksiCA6;AM zU!NaTp6OeV=$IB|mK?4h9jp=&ARX*48XqYa7bBAxBb%J4n3bxQm#tS;Xi{EmnVV@+ zT4Y~e?bX&C(9sgy(HaC1@H^Ze2jCqaP8u6dfPAno8Y1LNi}{Po`Kv2M>zk!Vk5q$g zICr+~+=cclmwPT;>b!8i3dxDw1H$^wis z9OM8}EiqOYSLUY!Eb~(%ZOMYPH~?)p3tm@Klm)CW}%B6AU>SM0hO_7;?Bw zmYWJ*E=Z3DF9asTOSC09R799Hr8$k11WnaNO;ts7U5M)#lVON*n(2(F(6K7WvVucX}0cJUVU^1;3JGn43nE)dpKRppI z0}&qs(zgce1%VkxixNO!6vgPgX;ff|!4ET#Aj_$t6Ew*FIAQ8P>#b2^HxFeXAz~sU zVJ0VKr66M?AqE1o5fQQw-~)acadFUHsB$Z9b1H1I%dJ6>0FVo79gFLoYdd`b$e{Xe ze_(QBZ(!R{Sl?7a-+0{EeEQsa{`^J(#HB;Uhfmd>zS4gFM)$evT@Wwb?z{1DoIDpQDWDfAlJh#(Pm-D zWo67`ZNh79%HwJ$Y;VD9X~b@2%wcQB4eT}2X3$h3H_)U5KEoiK0yyhy&;p7LHE2vU zX#u&Y%(ZCH)z}O@)nTbY8QOKe| zuC{z=2LmLf zLur;vMV1@V$q;2<9P3gTy~Ax(Lqjd{V~ zhpRJvz~2Ij%TwLT(_G6^T}o0M3KMOLl5ESvDqtvvqla zb@~476%h@E0kwI)&82}r;QpqVwu+GIT+il`kjgBt>=^5~K9|OlglM^xc%_Ua_3TuwymYb`kn@czB=$B(9; zKAFA$VDk2z(JNQ`5EO4W96OG1czdVu-1!a|1WLbnx%Ba`Ltnlg|Mq?R+m939_qM<7 z9S3{-_m?9dK5o5wz4H9&!qdldcdw70I@&xll+{!om>q8&?5=F1$E7PnEz5zUz)hek zK&mc84pQMKQQ{?1eQ7Qb@K%(OK!lz^mV;7>j}{v*n;&1LGrsG%t&y+VYm|5t|P;3s3>5r zE@rJQWu+wvDAtqX)s*Cr2N#W%f&jguAOpY|m7)-nvIvW+7#naHfv_-wUuhm1KrtX% zikn&tJ3T~@i3m{qf8a0-LIg8>FmIZk80jCTC&ouPjMgP6{;?I^!Fp>4jcrV%*m4Bc z1~U=hGvVRVVRr+hML2AqQ(>1~ZkttR1A-hz@~Rxln>~x_TtHQAJ~bVF5bL@ES_i{h z`$GFhV@9TvMrV>i6Z2_{8~K~Z%a5L_Iew;Y=X~SYD{WV9_uhUqf;@nDGymw#(t}qE zV2p1+od!VyhcNi$-OAJVtIs~Hz5KNK_Un<4KTmw#KlOG09G1Wj_xB&{@893szqh-8 z_t*ZN|49JnZ{IJz|LgdZ=c~8xO<%b&v~#9yd82fEHluGOws$1DV<4oV!@H!`E~CgG zHeEF$K|VS`DJ)txFig@fSj;a-+&56n%U9IHTiC-}=oqcAaMhq-#h^fWX9r$u zOJ*Z|8UtM_V|_Xk19}4;8f0rE1!9o8BAKQ#g^n7np*9l$+0205!HVD7l*`|$ z47sZX7t%#+!02Gc?rhBi9vJW&>@DN#D&}It3*fcD&hK!unLT?g(50=UJEG(~#+3ljcgS}HmlQZORQq+dhW2&dWU#kM2xeJk_-_UC>z{ zUXW%N>ZM|9z@;ZgCC-eIX2mFQ;i>QusSA>72$4Zl6Ci=8D^6`B!=NWYqsmV#$AKfm zh5=}URR$ExaNsNO5UUDOs0&l62~sQbQ7H3Ls|nEQOK=#=@MsD#NiY%$Qei~t@Z~uu z;LuE--&#ckq84zEom`xO03>#ecY*+I zSNo4Et)T)GqoO0kXCxv30fg!Bk+LuiE&^dH45qNw8B|c?1j?^=1fh9pqdP=6Rng)F z5H4%-fTXc2u&Fbktv955D6(fb3N$btH$Im-yOO=URk(h%^zcsAiL>>mFST5}(RK5| z(7mVQ55W(=m;(aedNOsu;m2>60mTr3#(?5ie{a42e(clk&gZ=|yNK_-i{kg^{_P)o zxBf*i2&d3%Kzn<)zW=!V*QYaY-X4GYeB;*L>C@-B51*);UCJMuNd**l4TW_Lg?0=E zHTU?|wz*d~IF(h~<`tV|D9HB_wOd#H;%UNe73?M?|Sb#b^M80|Mney(C=S zh232E>}=SK4QTbWDfF}`4Rol1!+Kg&dYUvKeN8%`tFbQ7mEFRK)6$sB-jdJCgcC4} zu1gFN2n@~{5&*A_88?91$wtu8S^%zeu;R5bWCixx8Zbdbov^bR2T<43h7T+;Bp%kh zUbaY&FeB|xUSbYO!~Cv0QF3LY4+91)wsO%P>X9Dm(O#M{-db@!x}bPp15lE`NrJCYyth$;k8!e} zMS74;R;WWxxMOj=TXBMGNs=oNxFF6E(47@wnGtRVC{7PIj`PzDb5jg*k_Cmh%0+r8 zrUmO2#9CCPJ5^^mmnS<^q&PO^`u3EEH|F?)nsWnN@`76PLJ;MKw&Vs^r+EW@3*#NK zBdyXxOp}8QlL8GA19j8Fj4~rla$?N$;w=y*m=z>h6s1_z=DU`p*`!A3zB;7JU#Uek`rnJDhzS6I)F{G;{67W0F6+hIQ z(9;&(-4+QWFy2}p($yL<+?zBtnz1mQ2OM6W&tG3IKC)T4eYEcE$rcpCm(O=yz1Va8 zavz}h_VuBMcPE}coOyVE>dBM&r%xB|+!+V<9zWi&v(tR;Tqo$lg>HZ|j6Z+A^y$;l z-QBbM$acMFfWyD`PJREm{rSr=u*C1)tiOJ_0vx`2zW2yV8qI7t?WEcTTWVH%OCL(nK1_Mb>BWZ4kZ~;h>i%Ob>M2sFE z1PL4his6OepMkC@dm#a?8Y>DwRN$licdmjouoVx~Lc=MvjsZgF;(>tJsHsNB- zr~txJJXGie6Z8-`3^{NZosh!M^gsGxbY&s5X$@Us2&qw!;W3jFqciFLWq&#py#K!B z8ZD6dzqhVYAd6vQDw@6jsq!W-P+6lV#G+c);ySmgR^OU-e{`h2BcQRvzqLE4y*H$z zFSKhQymvTiXd-@WCV6%_YiT2Y{Yc5y@$$pll_$>Box>XATaPBLKODdIU<`EQ(FAb# z;p;`fFVGl-<}d!*c=P4(haX6x_~-u3p9p~w{X%H`A9Qd5Xn*hi-tO(6KW=>edimpD zr(e80eE0sswVPvS&i5QTUOT^9FtdbwMr@uaJ+xE4d7@-_BWrFs72O%3Z#b-bAh@l| zzp2eTuh25T$SS|cI=8?wBg-ryNiQry#XnFsBuK{BThzsg2WV_-#cprI>14<2Y|rOp z$LHc8;NdLh?I!8thU|Rd;Uwttp$85i>v-eI#e5 zM~_agL;Y}|r&LUcYFeCrUYdDPrfqhjWlE%Rq@M=x_MlZ5a(@>&7fWF?ZB}r|z-It8 z(!J&&QB*jk~61XPVUdG2t6p^Kv zua&r;wN!wuOrWh?kez(ElUjtcI#R@N)rxi3OZGL%3bD?QbSO*qC`oif37j2ilNDhN z9L|cg02Bi%lY(>s#StFLAujR(j#2^k5}xLKVNQ~XK58lcnu*@(DSle{k!DpXj>R!H zC9$?;aSoM<&NV3>jhVhJIRP#C0p-aqMe%l-VWtVbT9Izbq0Vw4fOKb>Fju)4AEm@V z^`s#6cz=~xU#0i}rNkhWj7aUY2#xqa#ZV6s9|tZ^J62yOjv#m5U=RM7K#8na&GJl( z`U0o=e3$Ah=d$$QYX>z}2O*n%)Q7b-gmyF``0Z|u>28hcY>t8v>~i!GLp{lp!x>`( z$)Jg$)M;SyRPO40(dKg5;kC-`!}X_+H=jS*j_T5xt{ayI?%o)?b94OR!?~wVm+sx0 zzId^3XQ%blsrCyOdQn}v)PLi~=;Ox=A3hxU^$TtuFaOv*{bTPG_+f;@UypwLwDtbo z`kU7)ubwPCygh#TROi-W=}>2EWr1sQxNf+IqNNIpkrbVV0ErqOk+v|osVt+73WvQq zx3M%m$WW42SCmo{e6j!uoYfYkRNy91;V01&q1Kb2*OvshOs^*n>}62qrc~e{Q{tpl zZQ~-u2#{kW=<$)2jk&3{1Q`t_ILzhvH2CS2xsVl)Wm!m2Nih-v zy+s)bfSf3b!RVSO34$O2%&H1Aq2rLC(>egNdQzO);%sU{jEcN8a$J-$9OS4Vm*=Je zDezFkDUcGD!$`3L+su3*I0OiT8J6ayM!hl0VUPeb@&CkO054jLK(_(`EF&Z2Kx3rv zi;9ViO4Aw+FA@9|dFl&oagRm-AqZpMP9`{rS+lugAabUi-cazW4S|#Pr_V+rN*kQ9S%3 z$RF$>C5!vJNYw%kA7k|hfc)#{%`aar0gd0jKmPdH%8lC-XD)VbpKU&Mq2>Z9NT6JJuu^2GN?epyVytdzf^mA1X?mhra;#B&q+U#zc66v# zSb(a(ryO7wfDCZWUvP0K5mlkHUhv~CsTH?yViOPmO6B3 zg9OkRm<;0pM@udj8(w#N0c&Fx;4=(D zj-nX+aCVYeeyVL|oJD+yUbv51u!mBJr*ed^dQ70UkE1jgV{HX04Owy%O=eds5wOP* z-m2~<{N82)0ajuW&a!bHD)C+_Q7#Ih4pJd@QV=7Yy%)l)KJ6paHEU}V~FUy=7a#XU?=e?cbQl(`4|uR2p8!{7r6v))$~B!tPq2& z5W}1>U5WqB-`u=)1(0H7%$amFXdPt)p&nZfN(;9YD$P^ za)?@-zhZ=!RIsaPptBI*H^N&y!bdF7jo00V$;q77#gg9Bj>X%7J=9Y;HC(MY#jGaB zsV>L8I>WUr&8Z;Wu{hTSoi1Hg;9ipF3K8<^QlHv#zq$%!US300AfULfBYw0$ZMY|K zqz@6$cyc&xc03Dcyfl*!aecAm$a>YW%^J|okp@8V%_~D!E+VA8dw1&g?TIT_2G5=A z1_6ODUmgGmL%e={*B!nX6@8qYJHhkR=jb1pt`GpfTbcUkXDfsSCyAgM}z{{3uJ~wONb2c3xgn_G~{56 z)%Z!Z#i)&CS}bJ3Tap8)i~39yVNd6Cg80GMRA4bX)WO$6E$jTBx-~$LBY=rdhGdqB{L>LUge~JKG04&fL zMezZLAp(S9yrDa|zAFeg3|CgS__X!}w{{1#bb%`l=;#aX9t`UpjsW!xg^x_dPcNp; zE@w<*mmk?YRd9J%p$?9TJ42e0Rz zykC0$Ve|E;({KJd|L*ULAHQDt`^WXKz+}V#-}|+H|3HA>U4+IDu>^jyzyBO7NFMI) z0ljbU?%#a>>E!DVN1wi4efVPG;mi3)ujd}WnSb(T`qf`^Pv4F|crkMS`7lJ#y{E%> z9t~Z-*?s>tE@u)!6xDcHvf6Y)Yl^}OTfH34q;f5Kp z=FtIK0A9eaoiVSYnSi&06o5J*SU1UEGr>nW%2gg*Xt14xw>h7KHmkWZm5V;7n-Qn4 zg%FI#c`Cy-0OW9288;JdH!~g&3qBufkswE@NOz@pUt}5lj8G#mrCH%-86l==LB`qP z7NrR;wHd#Qx9AhP(quOPa(=8Ga5y!@82oTr*l!ePMw(&<^3en)7e!l_Cfb!I+2+NXrH2|M252VuYovr|Wkng} z$D3qE>gB}h7bF@NrI-{XA?t0%1;~eaiUMpS{X`@E;A4o#)tcVkl+xLf*29+B&zURS zOAM@Xak52CmTPU6XLY(qS&D03szX7hQ*n-KQMOBdhGSm314Lwzw_LaK0?(>qpXw4{ z5HdTj7TKg}q&I1}Hv!dXf71A13eXt5F~r5`yp5$&(Aq*Vm}GFs7fyGcIoS^21>Rn} zHVnuG6oV^1f4&C}uU;Jj0j2NXpLy|O_2b8*U%s5!-9NXxe|CTW?C$<)K=Ie_$3Opl zC#`o~k~4w(jWp zhI6;N&)@F3aHse3{ef$bhHpQgxc_?Q;p@c*&(|M4KlJp~(UlK{?C+o7+dsXxe+H8M{fqlZlg0(m&%Lu>f1LdC?bPS5CqH~V{_OeMy$7>*?v38O z*>~o2^ZHux=tyEmdkC_vd7V#pS44YjXk$I_*{iDD3t7&q#=o&Hu&&y_sXn-+F|?sJ zu)M@0JHsX^&NL=MKgdtj+g;AZLEP0r($_;VEKn;dR4+DMFW5^C(3%#bo11KslVqG6 zsTtuX7vLrq=q?V?&qc)7Sr}rlmqcWMTx^I^O00H5jAlx#PHv`IWszffu|rO(No=HA zOsGm^s8Uq0Qdp3DsGn?r53+TUpSxJ7uUx2?T(E}>#MmIUj99~xOxv15*OCmo!c^Hvl5g7&x3AX_XaeksfZG9IT%ZpcC(}ofM>(8fuUkVVD-G z1rQE%7W22^_p=u8w-H3;tk34C%i^HJ401K#@-Y_-v6loyC-|vGdn$yvNC!Jggt*U256eXFIrkYn}*)$cow3fQn=Q|W78D~UlBm~PRg()P2$N`YuZI~U+Xx*$> z{G50I!tsHMIWdM6=??Wdo(;J^wVCko;a*eVQ(NlWP##!c?q6HtS5x9sSL)wb8Q5GE z(pDGNQ6C8r@}{bwmg-Q*yIUf=TEaVI zq{4_Z;!83Si8B)^@KCD?F{_KPDhn{G2r}tOa)C5OSYcUKlyfg|tR7%{`5FuCQr^SMo9$S|{O2l%!R0z8Hkf|RE{50|cw6e%5o#YZ+Bw`#y zqU?ksYy`q=1X8@@l00PMTqL3#L?SSV6?kLdFdsb`FC8g}hn9q!h8V;}O$1`6z-J~w z7Sd!P#bG1IV&VPv2^`SKlVbu-66}15+ zl|CRyYMO%UT7qkvgKB`xz-O$goBV59{9AfMs#-iM8(kZ_{d-0tI)=hJ2142gLm}^* zh#8ql7@12Nn@bvj$s&-}sWB`i(>u;7gm zx4eh-$=G7W1MJ}aeQd7PUkhphe@7LX5KW_i{cJtep z8(%+P|ML0r>o!%I-klKFBoZT4Q%ZQ zYio<>?vCy6OX}{5Ypf5eDDy2T@+vOyiiO&SiBR?TmT;DbY%~Dca?ErgbHD z&6Uno`PRi5COL`vY0;Wd{<7W%GDeojJgw;tsq6CbD$?JE=DBS-b9WiAqIuaM+xl0;e*=EfNFt(dT`TfFj)00__l-hB%6Wf*nMI z9fS|$W5w-Z#_nRo4Dv8%^S0vjvF3spWXBh1%ja*+6JWy|>L?WJDU}+ilpUs76l+kP zXkMFc+nDW$syWxWxxf|Na%zN5Vu(hJzjCCHLb#V4D!7GD4%N*s0nJV3~Z|k=%@+ltPO6f3TiI*Z7%nRk*>P1zNU!&=4gmL4G|snAwA6z z9gSh_4WVuIArK+&YK{On&yHo!PvkC6dG=0%d_drvFJ;& z=t{HbNiwU8(kb$gOR*9tagoWh5lJ!NgA*2{#EKdtOo!p8#_;}G=Z%*JBg}*=&Os{6 zL#ZvnX&}XCA}3_7D2hm4*jSq1P?A@XlNO}L!=Nq5Y9PW1(&lGT<))QqCza(OR^T90 z;3h+QHUw!jM3}V1nN)-sl!a)4x-xtel3e6~T(G#ptoU*~q{ws?ZW0+TVrfnyDGow$ zb^=j$0!3jO1tDr#K}us{tA{!63kLLu*8ROL$#ND1zdq!0JXI zb6{;tU|m~aV^<);;b!-yo&dmaOJ5MEb2uD;+%pz6Fcmj6lK>i?O`KRtn_kVFUdx!@ z%3eB>2U%}`ASMPS;x<7pX;lz_?v#;JP zzx%NM;jhh)pSJ$``w-~Mw_|YU^$S}KgS#;7AKq0gWAFS#XngkSUM!xUg z{W$lz$9Gz1<_r6V5<7aL+qxr~+C%DE{A-$gAvSjgwf7=>hanv9PweeUXm5*Z zY6x$v4{vUWDlZNw$@k06a8FBgijTC33Na54FbxYd3iegvrBAQZEaYboj81bghE3lBO+u#iHWMIshW9tMimt{_4Ur6%1Ya!BD16oTXoz@hn0P|Ccv7TPYK&}7vPwy|PEC%a=cD!b4 zq;i;-h@T^`zZ0LAJ-5G$K!~SkkcW_$1DBH}gS{!eoe7CqROLHtwcS2TpOR>+7x5|t(NeeSf3ep872kSwe6JrjikX0`V zJliV*Tg!bx9aRC{wZXmhpoio*+ozY-e>KoB|pTcEt9z$Mm#D0e(>e zLk=UOeaRDpY11Q_psC>uhydiJxxBTtg7rfMM~+wQoUXrczWws0uIrb3Z(QlSda?V~ zwSk9s0mb9b9*n(wGV$@v!sowG4xj$R;Y)ja7j}P~`}yt6$5&hLUu?X2wEFnw%+*u< z$5!f=#|ox;(>tm|i&E{Q{WN?Xq#TX;jZ_#kr6@HdDRg9MH6*AN1xRJM38cC3WqAk{ z1;|u{Dd3cz0*#R}lb$@CnmC!V2(gAFrJg*!p#rOcJd2?Mo3RpysR|cFWV*B{y&505 zVlp{aLMcXEF**z)MjUY_Tz(n^zsMS!j2OTpxKkN^N(DhW9Z4=jX?`;WQA=fUYb6Qb zu!$tUff$z>HzPn;gPRHPt0%~zC%~$~$)LzaALDbllgmL~izN%|NYih%4>%yvQLMp3*Ks9wC z4b5Rqtr3kaVGS+8_02&bNPs!bogocv{C260 zueMyh)pzU8Zxp|Lz4Z3|+WU_iKw}ikK;yr^90C1iGBOMA+7Dz|;~PH_-+OBpnelOF z4)&>-A*APx}6W;z!uR^3(nOXIMSo-+Q{h`vicz{}Y(}@W=P- zKYv}_-Mjv4_v)v=&pdp*a{6rF+GfqOhSSc5&B2bt-Hk6WKq4|iE-qFXFbhgfR?o>X01h`dyLWW>w6=OSHMs$q zv$ORxGj%gEbRedsX#tI6W8~A~6;fklfWwIqk}1(LS&2%8>DpyE23hfH$r19&;fgs4 zT6sx2aBm*!Arj!s?_ta7?a1xp#N+M6>0!_2X2*{2$_!@WnCEW0FJjh6PY^Kkmp~8R40(b z*5Z(kvTzj6Ah-;!M_&ji2DXR0DEnE9`B@42m<#$?@CVokN4QEQ`YERct7V31rUWSi zjUzq8fyUle><;=gmKvlM$^@1wgx0F04q8+|<6v9fICseuU-@Kj#Z+JAG+$Lvx}REZ zh)!9Id3B0iS&Dr{hBG>oy0OrwGSdZJ06E@YE5=7X!b3UCO%YopJqb(cp?Z8$#Rbg25qo zHHLLJg@a&xq&s1(H)*^td1^3iek^-&I%jDiYk4JSW25Nk(TbBh4QEa_Up(7>>0AfI zYnOWN-W&uJKLHLun|l9d0rA7%Pk#S-7VwMSCmwM4)0@M9;&)HhpWK?gcBX%OqhW2T zXl^L0t11*eao}I)Yb#-;#ik`irYb_LB}ri*N3SPCt1U?bu2@ryT3dovPny9%j?r9= z6)v;XU^iA`)COXUlj%rN8!0dv$}t6)^@?F=p_?hBCaCilVk^;?~OIX7U1h zVqBU+%o==5>b&#_iuo9{1Xwh9>6O^1WsxmS|A?Jbk&|4Bhf0;7R#lK*iH}BsACVkZ zvRFYP$wmm@9W1mACy5+4nLH1<94`e(_7AH?xk!XLhy>XP_}K9InF+aRh&jm#*ocuO zi#bRMILPo>2yu`dsBtj#xc?d{aWMq{OB~KG@GL6!DJk^@6%~7fO3QsKYy2Bq!VfqM zv9UFzxg)ftD-<}~*x?WC1?qP6hc$HuKm_V`4My~h#-IcSjm@S^EoRKEWlb-q&#h$w zeit^fAwhFM@d1aAoT`9${A@Lr#`WhfwOzd2b@h7R?Ykon9!&y`pTArHAU}ICkD?gG zGMMDgUypwMaq{cWi(h^r)#Gn_X!RK7Ef&K22!UZ7B09c{)Fr?Y-^c2o97Z4Zz4%9b zj$nE3>F&?Fd%y0Y^GbGq-TLt1%>4%|m#&N+-)Y-8R6Dy^Fg%gkI~3nN7}MDw1son7 zPaYmg8W@c4?v4g;+}s@6)QD9>czbJXZ&%7dZ+c%>dV6z1U1dZ?NnlByYg&RSxMEia zVW6?Aqo9Y2h^MQFhl{X>tB{wwh`+CRNRUiqxMEDSGN3prQXaf6U=}=ZLxT&leNVT4 zSC?O1ol|wSeR;VxvT!cg-4cs}0+ZYv{k(LI>?9>1aD13J2tjdzN`9(lMyyI)uvBcI zG+5%IGy`zO@j-GC-r~WY!a<$_0q%Uhu3SDYoPKUxL0DM6-D9@;=laJ)$GS%f8cTEHm)7R4+$-h=wXf!a&MU=XcQbX7zS)+cmVMgfWe z(dDUb`LWn`;xKb~PXK$ghq|AYcz~5yptX32y<~*5Y^BGsFPp99!n0xnn`G4Z@=XXZ|#lYdGx96^(9XPqwv^7_@G?v$09R{B@VD*8+ zW@=0-A_U4pgaB9st?~?p@=PFO1y)lfc5@X@OLZ=5Elz7~b_;bjBSi+d3!iQ^kf=P{QB+6n|G_A-`@D^@sD3le)xLk^ z!LB)vZ2W;h7@Pk<9^2i-)`xFmmlC>-tqG$|aVUzP{lV`a2>-Un&-Q;k0dKtj^U>a~ zd*8p_`1s-6tJlZw-Cw$LZT!T^wzaLw`IW-S`K-b5B%txwM9R=eLT`U`M`w6zTS!w= zP(wpNU0py$xp#eCP-lDG&_MdgP}V?S8aU*Zrl`8|fYLno^hAr;aJ|T2t*8*qm@w_w z2<@m)jp%Uomm^q zT~(=BSph=hj6@~y##zZK`RUrl+4?!jS_$EDvB9#L@tQ>$M)|4w=`k89k*dJk6qT$of=k~&;dk!xL7=vQe=vn@=pFHduA z$oFe3@UP1BXekbAEeUQf3+*Tm>#PWe*j5?>BTa(4n!@rm)eVuu>xfS*w%VYEs#2(|8zh1X>HmxXGsat7U~~=Z5PQ zMwt}Gn1LTIO?4}R8p?gDi`>g{ol3GDN^=}53tZu_BHsm242bS+ zi3AjbF`np8nHou-9#5N{N?(}GT3yQDS}!?vxbozQy3;!iS1xv5yWD*XIDB{X>7%Ka z&*nhSpUr>&e){{5b9=iN_xCS@AVE3&<^3^)!%tVA+@8LEuJ6?0#={F`tCRV?b>Y=H zuJC~p;3#FO$)X`atS(M$pg^N9M+*W=tS?IkHrPmk88B<6!fv9>WUNeYAWx?&Lk$py z2*fs5WwX;30D%*B(i3&m6|q+5Gn8S|7NJw-B2(ccRbnRwKMWi`u*5>N7*Qr%SuRo~ zK^k>2Mh$T$RdGgSnN0yYO<_hoadty#PJIau$Q8M$WZ0029`c;z@*EV3+?1+(bn1fi zD%cha6?O`c5-Yh9D;Y#Zc5>h|TrA6mbP>yPP|9#o%5h`oaq!ZCq}Zt>S*avgD8-n_ zMH$Hi=}Gu$iTLP9GBl)#|rrOf%Y+~uvp+0{%Gyr>^O;4oUIfI&Ef z2>J4%yj7$!R(a%D_0i)sCwA&jo^CpKp&jh;m215~W3*WD^!XeJOfoR}?T5`*9}d6# zaP-y36WG<}Pk;P&`mgWE&ZM7zUHts({NFz>U>7&O^bP5kKo$}DwRdHA@7mt}^*=y9 zpz*^$h2kfF^b`x^_xrnV_P;;d`~Cz0^4_EUy$5@{xBvR<+{;%-?%rRxa((3d<=zvg zn^!i=rWUftCsT(<69M|*Tj zQ)E+BXl-dgS)ONphGTY$ZDz7nR*H32ie+xPO@5YbVUB%XmQ`k|X-a~Aa=dMJa(OH8YZO=?Qb z8Y^vEY8)!^&GJ%pa*}jPvrVfDt;=)G3)74W(+w*N%nLL1(&LpAqoflerIKQ#lcHrn z$pHTd*_0@ita#nDNZm*;vDZSa1Fp25S<-m2`EMt=cS$EZ;%~kUJz}aA7zyh zVi@nO5$UEF>>wTNAQj>$9p-{4&_UGQl*hq<2`sU-1}PBOQk4|tu#E;KpcptDWFr*s zsgMz*nH{QwC`2zaL@y`GG&9l!ZCZvTH`W3Oj24Q4!+>RU{kNJNcLc?$cG)qeSusXA zaVAA6R$zM3YA{$|NKiEvdxAp-p@?p;4g?NY6}ka|fy3o_&H!N`@V{_)up@S~Cvm(l zX<{gOVkBi|JZ)|&b7e6PMe+8rn#&hD0L3@2^*y{d_VVfc>sQNfUM#u(|3J`D@E&~pmDzms4ihLAS$s@BPiyiRpg?U z=cJYAqL$^N1r*D1(}BboDTNs*g=xw8X-Ih}i8#pc*+_7iiE-%hk?lUwy*?@b%&h>l z664_#Al+p+*v?)&Vq82z%zusiOT_=*<8WkzQCzHfYN~B!rXwgT%PA+k!$+%79XnCG zeX;?(G0^zJrB0wR*yCGwhCzVk2ahHnJ)L{@a_#Bs_2+N4UcNu{=HszGE3s!g3CxrM%hs z?9uV$zW!JMGQ@#_1Z?RzuDd(By*<3OC8E7PsUrE4OQ^cIj&N>1^_@D|e_Uu&yk!t}C@E z%{9tSR!@zSPmPyLOOQ>8lLZ<_hl&Jy^9OqHhk1(!yNkP9@wu4scv_0Y`)g-KnH411 z-GNGulHn%0oHY zQzgzgn_{S|0w~N)G15~d)>i}W*;7Le^5QHDuq6xhDIR!cz;a=dHL_b%vSogvIdB-< zFMzkb(!ZlB08rdq>J5SsG=UL7H2C4hQt#?~*Rm`JP*t8wLy1>QguqK+hm zz6`aY9IcTYy`e0ftp=~X7QeHuh`XVLhmoX{j=*jDdhPm5nPKP zkKvU0X*Ky6ba)swI2i!NDy%drY}CqZv`QQ_a;(&HY*f;$RFcey?-gMr5vC^*q9x^_ zAm$yx9VFZv1 z5!j1tzqOvTvYroTHxHL=9VtC}q6+*lK={xR#26pnt^-#LC`N&N{$dB%W6yL-t{{=KY`tIY=H-8<5`1aG0kAI)|`1Qn>@29{0 zJPYybkF!AIAG;U88}I#I^!O%rz0DhYd)Si2-kslM-hH_L^UeO3H+x@RA}HQ_zrX(u z{aP?~&CGgvTUk?0c#wJomMw5qz z69)$4`vziqdZUrfiuR)a|TYzhla3ktAX^VB$?90vTN^^a;MIyD+MJ`mYb?@?1?Ut4BhQ*2e7ZIGF$3LH*LkWWvPONoV&}(1A)70f_m#ikwhudO?kt7c6@la>%Xm8xqaMJvA#_D3u##+J2?V6J(>n>jC zxO;E>?c0qnUv|EJIrZ14lV87{|Ni|Vmc!RT2#3F401p5C_Q?B}>n|V7-@iV5`E>iv zp_;=>#apxa6CJU@;hZSL zLDrVUCt$!OV8Fwt$HAw?#iPOCQQ_eJ3xSFLH230QaIt{J3T!VfA$Az=e-I8_|Njoz z|BEj_59I(~^~ez2xEPbv1k3bP+pIL(jCAXaRLjgv>)dSXEVwUDH&075%gQv*&ao;g zw9hL5O52rHxHLBSwX_AbGzZo-__VeJb##UG_r<_1`N(i0m_TH?zs20;Wn`m6G_I`V zA^UBuAQ0ZzC|X#~MxI9;Dn4|m6i~drUU=weIa-l8b*A~uxmFM)a0r82hbvGrgGq*w zol}i)3dnr*#^CikBX=K6J$O3%^u^NCS4+=cE<=3zX6@y>wb$=9UcFy`^M3Qq$IW*i z552_-aQ))-2AJ5tKJNgKf9_reAb|vvB^ebg5*a8O6D$=SAQR~)6Cb3K8Djtz5$FVW?p4_?fZ3#A9psT#h%Wd^ zI0ZHm&H~UXGO?C2#WpL-6t0Q#QjPRdhAZJVAI9Oe$i08A8{n=q%^q=~=??HJaLBF2 zVfA^zwb_1^nLbq+o`p$H>0zePK1lmqG8XmmK|1j5vg6GQ60LILjSG^DO45z1bF6Ff zY^$=Z3X%-d!;$490K$QeV&0YlJ~l#OF4EE7ic#*0Uw9W~;F|vWP^8JNE~L9Abf5uQle4cWs<$O#q$hTEGHq!tb8#W#=#kRx?HYu` zcPC!GS_cCE_;G1(_xkRyYoPtz>jxa(`+<}uzz+k5U)-Mq4qrXnxpTOBeKvP~IJv9J zr!Lp2EZHJ2)+i-FJ;*^E=|!;=_A(K0HsH3`WV2Rhu~B8UQf0MNVlt7ZH&dWBQJ^)I zqcf64B8*rlFqtbcTPtx`D6(5AZ~%(!Re7zIxh>^5O(a?Dqv9`tw zP+VWuTIlrS-#Iy;j!KbJi}p9xx6$XZ;?Mzyq*v$~p( z4z8^gfY5OS#YZZEy5J{K%mT!Kx+up$n}^B|d@_t9t7>2Bym++-XngD5=-mgC_a9H) ze>4s8-oq(~51-6Fem?i?<G!q`v}aCmAAex)gsld%9^pfPA{ENXT(acLhAFZ{PyI0iU8Ka)B;l{__;I5iUA zUhh>~Y@45|pP8rzt~fnG5eOU^ER+-@9TO@R6C#-$rI;F}mKvpzlVDJuWmgRbugJT# z%)h?C6EK?@WtxcnO?^*ESS- z)#ZCY4%dU{M1|~;lA< zSmLyW`SfE)%XW5Z;cg2o$E(*{e}6s;_hQJp+`n$_@7~(q!#;op8t-03IShXI?eo=V z_onV%8@P13^~6@i+HCgRaAHr5Z&SWgd5UFzjA4?WYJiQfhcU00DZi^ew}Td&l?tPU z61|l&v#lB%2!IS^w$os>Q)fpHtyNg8lvpekne9}$ZIn5!6%pAeaRHD4!iFOBR+4O} zEU~hXVh5Q?vm1yq>Ilv&Xb95*hxMgc^~G8B#n@2kh_Y&mvZ#x)Ad5l> zBg<4u^V5p)P>FC+2yl{tMA*q?SZU>%Xr<_>#c0R`$ccGL@i~Za*$6PKgb0BV15Aiv zAi&V$Baa1jVoAP@!u<6;Snh!}&5B`^-Q#)}9S8!`W-f2%^^VyXM@@qg*d-(3k5 z;Hebor5x;|8s@JN5u_Ovq8SmS9v!9`AFZ7bql3oec)j#wqwI9^tTeNn42z;XyNVK* znhKBVa`(zo*SadN=6e5*mXPlD@ZQeIfu5Mr!9?(HGm~kc*{Sro>5TcAOwht?7HDNL z4{6bv&RAZ^U7F89FI$+;SzOLvSu5JuDm#3%3V;j(>H>RVaCN=-pC|@61C0^qe7+fJ zuDI59?MDBN+x<6g4MIeApSj+B{pP^!dqYUO#nZ{B&*z@Jn1A+W>FMjmXRnt5$R9o* z`SkU~Utf;D|LYi9ulWA!{EuIk5dFLi_W0Y^tNTA6?f-a+=+~3|-KR+V#2&UN@w=zu z$sZJ>tJb5P7|1Sr`+Jvu{5bRX-zVO`Km6v+`mI}|=gxO*ZdJ_AXQMR=(CBFD8SN?t@3CrbEzqCsK`N9woC|Cj|)&s3eiHJvK1xU z09S#uV9`P7qdGt_ww$65COIBk^gvh31R8^KV$I-V0_`7$51_gNH-Io&5I*2A{2Tik z!UmcmhFYSATcgL@W5-)#K%>o3Lk;2mwIMxKfn62;Ek&NK#a?YC-W_GWo#lSrl>so` zTNTn@72Q)2*;5(TTNggi7Czb+Gd+>GFrT`8qWtuk`m5Lb9zL0S`~LXnZx?^<-bQZ6 z_U`|=eY>;2cjJJ=pWYmP^K9kGorznQdoP}9KE74DI-4;+k}%W|*iqtIon~1SYmn@# z9AG8jX29-l$lZf=Lfm!@HlF4*ebJH zD>6H(@z|?y*(h*W%d>+lWm%2I81)2cOhp(`nP6pv6+l>%k4ggwjD@h45FHp}9T5g_ z!Uke&hGHCs;+zIz96F+GYJyA(ymZps)W~KTytKlc6uhh?oQwplbhykk7#3S)Mv^B+;kGw=;YJ?Vd!V(A65unqN)*wkCEht*fAUQI>2pozF1B2_ z+PbYF z6UVM74!^^pzS!~MB>26-2iE#({_IQ=V0LIItiL}P;`DU<+FI6;BZVhVR%~yV0g$)0 z@?ZoUGBA05A!%+ter7IaViK4fIxrXr90mw?b^Err`Sf%L0*Aq1uPkS8tmkiS6dhVG z*_g{;8cm<*jvZ(X?rHRGuXAmzw5u+*D9ts>Nzu$qP|r)zD@-#12ouS2<(DW|Gc9=xT!~{MZo(2r3+JS3zO}066~_# ztg_>+^ONmMvs|k3JpsQpMP4n{0i6w@ZMA{zbwOQC!EJT^b>(h-&4Im5e(+J!Rqu3j5wq04G zNvgkUptT@C80D~yD!qveg^?7QnJl%f3X_v2yQ>ZtM4+*|9v^TRqLU^kaM((L2_S5( zzy|oWkYPcisRXmJ2)&solZ6P=ZxjnN7z;BP3DFw}(QETkY4KC*2-1QpMvSo_Ef`}} zUTQ5qW^F!J9YJ<&0X8*WW?6O`QARReT0&t~NFviu@BTXc;S)mRuRqTG*uAieGy+}!1J!?aQyk2Re*A~S zkN+V0(f+U7i1tw3*#C8H_vhuG-!JU_y8QLasW)#nA3mJ9c5U#~=@#(Di;IPeGxL4ljDhVGihL1*H*KqCgZ{A4h)3!_69-( zW4ySS3TF89>8ewwDtC6uPn;+PECY>UaBV$vc_n3GDPd|l8jLY;xTn__<#1Q0e_wAf zvbQ^y!*B)Q0*qAC<97&rQNEqt|R~FFI?A6ui(NN}4Q)JUz;nD^l zxMd!VCCL3adM6Gh5Uq%U6+{sPh7fWXMDNpKaH1<=rY~irEe0@!R!!0QXdrkK^hO>i z4T2m_0q81ooon(vD{|e-vRzBEoJzBuD+^p3%6(dE0-7p)yPHG$+ar40LO}zakc70< zdJnV)_O}G|HU)Gy_<<`1dkjA;-jt=j)OkR0TkJ?f_&`l?XQ@wnu~&1x zTVt+EQ=V&Up$Clglm+#cMz-dKv=s*RRE2ie1$8#~jSPgrr|RX)P1kO9J$yRz_QR1c zKQ8`6CXF6UK|=rh?(P4&`Rn`TAD_>C`+O2xmskc4-@Mcf9Ns=swzZtII-NS#8#7uL z&|ctFn`V&{suAHR;%CMK@-pOf(qy!hr!ti$Gnb{bQKEBHXLizHu~wk7Rbp^bV|UTu zbk*d7#7>FDTAtBHj@43{$y|cbLXyc^hSgS%-A0zfQi|0|lFeG26=WgKVlKvPD$0bq zVm$#`T_HL>6v6^DD%|AqY(z3lM2bw5ip+G1Ec6P@bkdB}LR2JNBzVk(7&bC|W->f_ z5*%PJ1tEr%07F8AAtU&W+ykLK59lhsM1R(hL{~7w7IrbjzlB4HgCYDA3I43}fP;g5 zF89xfKBoKki1+7t-9IB927QzN|6g{d0w7xxK9HR$zrC4&qotsewE)P?LD<_>%-3B4 z#yEzym^nbSbY2&X|DMG>-?|%OQ?4DuY$0BZa1*4Zg>70 zllLAWQ=xaU-NireAr|_dcZ{cMM8ec$BG};hxfHOtb8|^kQ*mQsQNzRGBO?)$ld<#j z$;->>z+N!J$Bq?)AU|{{e{(Z;V-rxEzO<4wGaEZL9zHZ2+&>V|KM({O=nowpikKLW z2M#YSX0ELw{ZWV3N>8lTo>;6oJX^LlkvBh-GT9qD+7&j`5d_}2soc4t)De8K_f-XU zmHD<5xHsfD*JnEciUG@AB>{b<(XH9RZFxbxRiQmKfi2aZgT29PtC=@%cin$H{Nl~> zU*ArC-@k@k3HI?G@`U0k7RB%vcyI6fjqhJBeEE3l?+@F5z1c#Rg1af@<(^<$-S}D-jD%0DkFxaay zTF6pc$rt=eChx0|AGv#8|)^ zqplb%u`WLi2rRJ%FQp;}i3~Ho7%fJa5+g=NC{9W$N=7O|Mk+u;%t46HjDw-WAaw>R zJjCJxV~KGwM0glt0t_i34$+?u2Xv|hidjN*^+$Id7(>9 znP+3QPiuWZTVp^+b5K`nNN-1Ye^=ySPc+J8;4=uNF@PEb2pSzp1V21Fo;*I8IyI94 zH}4Bed5g>WkWbHM!XeTQx15ibEY>!QjvOmFe6;8gIKaaNkQ_Z;a$=`^2b|%l%9CIb z&s3i|S9|V4{e?>a=cWr+n=jqyIDftE!u8Ipclz!=8GG_-?)lqg5O5fMeg}H_W)pz? z{;y*I z;#~H^T*lHu7T^&)@bXdy2pkdkUf?iVaG0GR!y*!_H zc)s%JY|Y`BiuH-Yh2iw6-uUsJC?Ff$?>AStHI}(_*ZYsOMxO?w!bDHfXlMLDOH?;l?&{#y%0O((oG0RS z{~@3*+OY-@Mq7yC5XJ$*%_Y8Q5gS}F2=W6n{O`}{1{=ds4ud6L=t%}aGTj~ru6VRD zqQ5$*t;iD~T$||tG)63OvHxIM49elYs_^b=u>I}>JwclrIS(HXJ$p6v{?pdi-E-J= zR381>fBIwh@t+pThx?Od(5aI!i zaS8s#_x@oo?!g^CVry|R_;?rsd|U!N0-S$9827jEaIw$X@cz91Km-V2@&1ztNdA+E z|37n>=zsW9m8R5?qtR8NH_~J=)8zmfo9VKf>9JWDvRRvQ*jw@djX{pqJiufRCt)ua zaRkKysu4k|p?=CCeu|I-jpHMbdPQcEc}|*TUb+oZsmOP!E%9iq@M)^@ZmIEYtMl({ z41#;f-qx_5ws7#t9ZkWVaBGRJf_Aru_jE)I^~Lu0Mfdl^eRtI0VD!jH-1vCnh0Q__ZzR?u0MaZ^5psA z<7W#HpS@Ux!&mQCL2ut97rcA7`S$(c5ATn@dw(2TaJaGmGYozu(#abr{_|g>5Ukfpiuj?aF}St9!c_(W3GDck3^nFWkK|dhtT%&UXE= zqt!=`R)Ds)N)8_>J#w_{=&^G6=WHH=`-1G{)y$QZjHTt&g~jB#c|d5~hjujt40lFO4J3|s#q~8sAT+B9 z=&VEB=3rYC0CuD^7O30P7&_1#-q#$CMi?1tk4DJc6*oPQG6kUSOPL)?TN=w*naqWV ze53x_(1$fZ_LDC{Oni?XlW*Wc{XEy zGG%clb!#>6=vDzlxcfe|oOfik;OJW6k(HvY#r(C|?3Jmk<;l#IDM+#x$1{+Xc-y0U zo5Fe;!a6F0+A9Lv$^%-<{DHAe#XgNi-i?JmEk(W!d7jlk<1|N5O_pn8z84I(mHM@m zcr_Hb)#f_aVVlreOT9ZP{6L+R{$1dQs{?y#f_lLf*M)#4J7T9g<7T=OW_uFndXpA< zlfV^&CR<~M>Own;eH*e}YtkL-GM!uUJv)m0`^zI+a|7G*{rhX+cEGox!WlSxXe;mO z^YK@27e0MC26t!J{c|7x+tiq zIcqSxXtF?bRAcnf}hG_D`R~KOeOHSFIKxjQ1PD7(xOZ zLVP?t1mJ{Nj3W@n!@vk0K8An*gNHS=IDaCB5Icj81cOKVA4EX@pG1c3c!O_;2>HG^ z__+U3cvwL~KuY`{r7AInXo{GU<@*!SIp+1V?zN!)aD)FJZF~J(qftraCy4i`Ag&DSm>GlOFHg&mf z(O@~)}OtYfADDX)}7%S zw+7FiZ##LW;n;Td;bRqtj+Sp6Dp_93pI^=ZoK8+fp%2~q2Ld1tkA#elg)J;5&dtZq z&c)5l#zLH5NLX4r0)z*^BzIsZAaunI z1Erh8y8(2Kp&j+XUG>484Iz-j$ar5eXreD|YA|hXBxh+dZ*8VzW4>f&C~ILn2lDl~ z;??P57+;zwSf0w;n9JK($lhGcfw(@OwK|)zJe{^Ql?riX7SZZl`ualV#$wjyQa0$= zM&Yro;uD8Uw~v&aI8=6Yqj+m2e`6_kb2$&y`eM%VOxE0Z>f}(uSbto1V-Wm!NF}x= z0BkKXD;XG@<64>KSexbAl;hcuL~SZEB0+I@&UCJ zdbgMObyo!SR)s)>Q(fhOgLM%T?J=Y6;gj7_a|7}7gNbtk3G@Alivy`ELz%0?S(9xE zgVo`k#Q_cJt`+h2HObDc`9AeIZh-W`rVzLR>8$tcY4w>LjapmDdireg{l|@8$a+3V zo5bGk!@XZmcK4qA+P{xo*y_gjAD90AeEQwn!!Mt$K6^9^5Po`R^zn`U8)q6%Z4?}u zNm-kSTOUvAulDII_H4{{tV*>giZRLzQBU-e1r!IEbNd*wx@yrms!{!x3WcL0nY%K* zhcY7~B_?-8W@kAjM;Ru2Nk%(KRy(Brz-}qRW+B98D#U8W&t}TUX2i*6z|Nw>%&0;~ zB}+~!N`%LchvCA(u;XA@aWTxeNKY>VF49zn_LX5f$^dEjs7MhZjSWQq-S_@O_yib2 z{NKXI#}W_+b1>@-D`a(bJS5^GR|9hK@qY_)Vqy#_DUuVCU`WX^WRw^ZG7K>pHmAZP zqa`50ikJqUh#HTO3YUNq2cH5%#Y_f+c<>`qU`Xi*$r*@|LkjE@K@vg?88K44CMLi> zAVh>qiibmji%Wt_NI^(OM?ytUMnOwLOht@OLxM*`Mo3EzBA_9|rzXXvB*vj2k`^SE z6(&^_r&N)mQJ13yAZsenfsC|REeyFFEQOqHML>CR_+e-Z5&aNikv!=+a3A>{~ zU3oxtxnEVOUs;JavR-&ass zXLouopC7z&W$fPVsYmzco;;ifJ$*cf=*cYL_wl2thYuzn-Wz*xXXw%0!AEz79^V~C z)_r|6{pRW1+h+@3-fw>Ycx3nUiT!Ut<8%8zFYNy~zyJN*&mZT$|2+F08-M<~u!}5Q ze-*16$nLtk7qKI#F}{Lu7`yfPw_iJ-z8;0U&e!kPp1)pt_Gr>R$$=EmU`Gs)84wMi?r9E3aoyh*HQb#%(vt!j?@yl^%96yhzbrjS8`Y8GZv;(<|dLyyQ7CYqXt{TdK<7P zuJ8f7+f?MynB&%(@7-1C-;wXzn&Z`y?b(&*-&Y*iTN>D17SL7d-&x`Z0z=zgv=pc^3Pj{}Acn`SEo3 z*CXuC<~M%rU;F;+{HMQn-oD*>`E=pwgQ-V1hXBHlu5{nnsXM)zyEU1(F&eWz6gODw z*Inw}lH*j9VpSSzoD-szO`G0XgT_^Z#!ZvfMV-o3mC8$n(MyHNOPSe2 zkY zV*mBaeK)TT+`5M7_KksC*ZXf?@40@Z=h~Ido7cK-U+=hmt?SP9?t3?T0mx78jXb+Q z0W^O9V(HVHwXg3F0g!)uJpTQ|u`eHve*3)h`SbD5pSK}?{d)5I_mjVVokO=cNA^nC zJ&#?o`|_Vv3eW9fcNY8gXUpAhKTdr8e*DX~V=rGXJ$W{J_x>1o<15#C&s}KWKG|^O zc;$(m^5Z9pw+`ik(Oq0hSy)U)wY-vsYGpMYDMxH(!!?Hw7aToOeDp}^v7==tj>E@L z<<551$(`y`Cu?BjpE`c59Mz%C;zJvypsn>1_>F-!R*OKZOZjWd1*jm0-zQLdVJ3TN zDtl=%7qmE$bD)LsYydKld9)`1yfK($5F{hr@uS^WKdK*Fj#hsP@AOI{7b)X`o zzdX37I1qr`Q}~<1J*EDjZZNCV-ujt#l)O~tMq*shO(&Y+?0pvlqb ztKCxv}L{PQvLY~uHQ*0mo$&;R{t`_0Ss=MQI}+#SDnweS9w z?mOpNuNz@af2Ru1~Wnk2A^()lBtKigT3?wi56);d0Yu zcGhBW)nEiUtI<2DGPo)+xGOR`%QHI4Fjz~_nF~`J@KWk=QD}2eX|hqOF;gnhk;zbz zNRknW5#x&z;R|9gd{}W~FdP`9?7)I0@V`J9-LRMh2M0^te}VA-iNp9vQ33I`xJZEk zANY%lg9l&uL-r5q_p{m1c)kimLjvuPqIof#YMC0l0rZYQDr?(r=oNPRMs_ERBM$p+a^`}qO zo;q1|^A2ey?+U zmQlTav-aA&&$baJN>P5vnu1mwa$1b7vba zoNu~xvE}lm)+?9W&~f-@!ua`fjSwLRojg(ZPwgD9MRn|OowB0EO`3rK%I_^`N6GHGtyH`SPvB(i3YX+Z#nYo5d%$Nnn0@$*`=6H!2L%%J5N6a+3|S5eYEkbJJmWRA;tVWwcdd zu#%@Wm!`3lq_GgEH4~*a6r$AOAys21Qe+^IrNft|#*?7J7b7DOBE{n;z~#Y5iVvKa z|I$ApOpih47o(kKXn!y9!Q-?4;_z<*V}g_PZkjgNu)gO91#Kz#|~U$0x?a zBgMlmmxlBT6H*Zn(h?HT5a3cFkNR*aF$B~YVtNb-JrW6NF! zjn7F5BIcqd;ie(up(5p`Bw{5YU?w7DAtYfZq2i*T=BA|PBqwDhAz~&aVkIMHr6A>? zBx9!{W2Yo%r6gk|7huH*v17!z@xc-Uisi*f6~xID#7T8km<%;pz!jV60Qx`$zjK)A zvVqJD*e#6M?abI6EIFL4xLs^{Ty6OvI$QHNS#xLy2OCPi!IrkQ4?nxrKerX=Wtk`nb(k`2?7jWSb=b5c#< zY+kxqL8e7vmSs`4RdJ4WX`XF)fqi9>V@;_`W0hxXoo@%W4Wqj~qzkK_&M-hRxMGyU z0A!^37Mp`TM%Q!&3%9aRu)0{dzFfSyT5@Q;?8sI*LYSi!AaIOWyI6@bZF{@y#CFMr zv(*>QRYJUYuI9>xhU=G`Z(VB#8sELq12hJ2{NmBXtH(2-myf2OJ(_y_c;exc-+KIP z>gkJ_7q91EzFGM4{m8eU$A0Xd__??JYky~N|J43I3S?Bsmb-iVX8_Bn;1FnxdSlS% zuSY+A+5#+p{Y`y&tT4d1^z1iE);@XoFNTQ_=dT(@F#H?DWxywQE@W)J89$XBnlgCK!JWbi`AKXv6|C#nl)TQ8n#Lr1P& z>Vk+|aK7{G@y0X98crRl+uo`^wq9{~rF3hlcyqA`eDcCX=G<8N^l-}LVA5|5q|6Lw zpqd@YoF4-(owqtuxHem~xlnp^wQ6Up9&~)Y=EzFr;pGY-{Hd*q(}&B>9<4ZctP%vt znIq*ea{hSLfzVT+GeF=IRRG}&r|U1BZM=N0>Ef9NpfQX9kU?OQQJ;(&=F`Wk&m65e zv0lE3U3+1yGkUNkY_Jj0P+jO?ZOC9%2;dYfF=B%Y{ksZ$5agEn{EK?ZeETZ=d&~VG z_E!cBR0R%J2SMz`&XNNZ4>g7jH-(QhBNgNM{>0VM^o@zEm66ot;gqGJPb=^r{qIkQ5f1NN#Wq8tvx@Fwmsz{G z`{V5Q&&U6Iv+?Tj?Bkmw53cszyU=y}Y|GW-)#uiWcIGnM^BgF& zYfCe&j@2s+QBU)hPjHqAwG#C;=6BR!vs7R(lA_ZSqf!?jQ{^UBjI44@%<_y(atsVIbaYZQRALkqB4lJjB#^KwG7IYqN|=a=8VU>O@bPQ&^6LsP zD{@dvGn0$Zk_ppLiqcVu(Nl@gk_%E1aS{`-6B4l#l5i4J@{m*UQjl?y5VH{yvyqap zlaX^!QE*XGae}X=0JluZM#jgC0Tc^!;D~bJiSrPEF_z>fl;Foxm!s8Eq}Neq)KQ_= zQliyTrqNNQGti!pcv$6#R-EprY!ar>~8jazAi#B zf%2hVVxe9V@gWMy5o&Q^iZQ{8vEfQd(VB5lsxc9&Q4vbf5vsA#s)=#h$qBkSY36yU zmicK`g&8(QnYJa__N6%vpo)Cw$^w_FLf4vNWD;vjwLkIzs3{mw+|h~%Pz>v*xijSmjW5=NHwGYsJ-&CV`_bLOC-;Xz;E*5O9enU`DA% z5R9PtgS(?h+5GM(kQO4oc&hkyKRk zV_AUTxltr8PUJ36Ui>WZ$wv}M@yMw zTa`<}c6RsM z_K(lUK7ZJH|6=LI{fURy`tM!r00>_@UVCA)uT0 zliE1Vk`Uz#Z@D;UaWKQ)hP;j%940b!nnD!HJY+KLL}H9MLNv(U%Bc7$FubG~4k8Q- zE`||4n_~4Nm-oFu;06WhDCGY`+i3ud5T zTI|d!jPwe$tZK}B`aDwB63Q-$s&2|Eu1b(7yC?~oigRcS&?&Of$THE&G1JR2Q%Ta1 z2~!gCkr46_fk=5tDZpS0P=LWE<|HKJA}8mfq~xXoQE^dHaFA25l9DkK3$fz}bKr_{ z;Uf^{B?JzO^Wuy1;VMf}s>)EQ%h9OGQ7TK5Da(+m$x~>lQ0l6Z8EBH5=u(>-&{-JL zo9WXU>rfeLQP^9sIaspWnX_6NF~A_4f9;PO(3ASwLYM=!5?i=?rsb1?}{Amiya+^?`aR~>x>xei5}^X8y`wUXO2vR zF-D&Ir_4-1o-{d{Ffkf8J`y`V8oi1)4T; z?c@2Uc8brQE<1mw3LNs~^YuXE+t)jQ#vpLWw{CRax!rT?PWP=lNW62e@7{y{2akpx zJsE!dbo9lm$#)+X-hTuwe)wzg%eRf6yGQo+cJ_8p?eCpNggE50e{=@MfBnRsMGns+ zaS#3&*Vo(_n{wd^z#+>-Mj2I}qXU%U=khzkNRPZu#x& zg_qA~o`aPsM+sb`O;pFf#F_2TL5|HIv1 zN7a#S58Ej2?he7--QC^Y-QC^Y-QAtwP9R7UAjI9>t)tz1v-VEs^yxl7dB1!Axc6l| zV~$y~3Jyv7JbTuvwN^cQJoWs^NdS2n#KQ?Vd*^E3t;;>vFLYkoZ#mqpKeJi2y;ioh zQgUjkXnmnzWj1&5WY*k7`s{cb!dUvuP}=lhDjH;p+DOLYc=pmn4zNB`xV==qw_3Hk zQn|BS0rAXw<>3}$U@$Ex7u<^m^6Q6zj&_p=u9<;7bJY`V$1bQ ztq{>Rh6>0T+GF&1#Xd^c=g-t$KG$@#TelBg@nQjV#j`_6Q{A!S9Z};gk^MD+AW~2+ zs2IB9{?fp{694u*xAuJ3jsmyNLU*96$fLX16Bw!r7^v{;FZYFHtS$r?tn`O(2TQl3 z`sB7^51^~utG_;Av@LY9JA9%mbgDmWZX|lDKeV^iv$xrOpu=}^BzAEw{ zpNxNczxeyNQ^&`<@ZZDNFQ-4CwjKWRY4?w>N5|hUAOE=Y<^8Fz@7I2Nv;6VJ{HuqP zk8kwdz0h{+py}f2%Keps?dkMWqlv2nF>{@vV+}sTmCi#Y)?HcpRWZsre&We4g5lOY zeny;bIvmgjYYJ1ya}tU&;_%a8bCP4Q5MwanW6x zgjkT6M39tJn3PHJuC{n=(7M7AL<6pQyET#i83&X(9;dok#>>iHy2^jWT#bRpjBj|k)BB_!b^B^RUsNO?&JPY{xEl9O|iQ=TBF;2$VsRcK z30`7JJ`zBJmq?t4P>cs(R+tQ>VhVXNQW;?)84&^n2@+*lQdL=e4MhS_G3Xa;tfx+< ztwIcyUmgYn!zn{8O30n8IbG~HtxV}HjcDvFnceJ9xH)opx$*`2h(?FWM~28o1j~en z$i{>#B*dy^B1oyRtgNh*sE%&q_%SMoA`n@q@eeomxaVJNTCPw1N2V;i% zA_uxdx;p~9+I-quy~l?m#zrHj#-pYtV`ff9PftUPnm!r6vYfE85)W~8C2?adZR=F# z>CU?Yy(Q#rtPU(JF?<7`S?|@zRBcOP3msF4kYXSbyPC!{y73m#;S8xX}hqzIChP z-h;kp&qkiT7<>MF6ym#g)1N*sefqHc@dIMZFP}Gmd_4`~J^rzaHZ$Z<`TlMDr=ow~ z`~BZ_wNk<5-(U6eEZ_*G+Yn7elZ8Uc{z{f)$>_6 z1s6QJJ^bM2AlUf&g^r8onh$nrLB%`kWjpKTr&kdhug>Kz&*Utg%mg6=CkK5%g=&}SIf_>RUe$HI@+#+UKhj*rUm8x67Q`G zEx^sA<{RgmehK-~e%*z$HQ-xtFG%?2mG&E#+t4b8!>bpXLCEOd7=(--xVUz{`O1Ft zMYM_+3YRA`<_3~Z_QXxK#|+j5gGgKR-N3{B6+y$5AwXN6OM8KH2dKEvr5hw%;@(s2 z*;DE_r%Esr0Ke0V$m^~>7t-?xr`--dt3@1IY< zeYyDJ+5Css>xhcKoP&SvPp_9gy;=D5YVO_hsh9Ug9$xRhbJTj{T>ar%(av1f`dH%P zK=gcf_*84)K(%{!v2ACrVMCI7L9kS!8(*092_GX?XDvo+Wd;>~LTL_s0Xj@}Ffa)Q z10e=A9tH*W&$gBv6WKq90tW%vLI(?r6dRie3z=+->R_?|1ihIgGW<)3g+YLgL5PD% zh=+xbhxK;@|LI}0p0QE8`2P7GdDLn+)Wuj>NQ;bzn(9DEgb8gh9wi1IH3k741`z`W zDKj=HD=s+)F4+k@axOe#PAq_w7l&Gyh*q48Mx2CFjD%K}hEke}Qi6(1f*c~`bh7kx z3iPZhY|N@GEXu6(iVXB}3=B$)9O@^y^|=Kt`6Zo2RQ(in!!`6Hv^9fO6g*|1B5Efn z<{&8TA`TVv1Y`S5E88?nvqTeRe>G7@DGmcJdUYmx6-F9GI#O{mTz)(iw(`Znk0*=B$Ki@gQ6IXya<(?FomoT zxr`7gcvx111U*(PD?$u5R+6MpmLXG;!cmmMQj*42lgHOlCDl`hW|&M%nb^vh88A0s zFxCMNQy6Gcn(EPkij8zA40Op&^eN4ZX+g!V4xB#j0s-D4{$9dhV`z*)#j#=Xagj=i zQOXIC>X`|q*$Gy8$+m@Q4#gQxC7I4>3R3Nh(jB2vn&kpO1#+--LArHmu3c@B8?suY z)DyJaQt8`T>sM3gT3hPYidqBP*BlOV9&C$(INTM{-x<=|8qm??+uq>WQt#1L?}qG% z-s#uf?$gum)zj%S+~+?&8ah1@esU@dR6I8qxiBAtFc-J9kg&cAHqP2u&D`G1JGWbU zc(&r;OvV0Q`Qh2h^XIA#532U}EBDV;oI6(m5%Tkg)#uOGT)WzQ{d()Io9%b+c0YX3 z_vFdYi|3;+o{ztIfhg|XtA+P(mOi~(`TTMH>!*#czn%L0VeQ-J&129qx?4tCV)TT! zqvJm={N(qepZqxg^AM8nhe-S#b=mR7<3G^dHEIYN^56H6F^#XMzkEFP>HX@P7Ym@% zXOEB;_vO=B_)S2t0GRges|9fNhqudMZ@3aZ2;jSZ`>+N%{Ce=a!LJHuUp$exVtx3xI*|-srx6s}~~Ns{D0~;+LqQeiP!Q_S+ZQ zF74IsEElazWh{@St&FG7_a@AC$DM4A9>4xe8#3%_Gpy^ftn2e^ z8w+e3i|yL0oO+u)M!Wr|hC}8iBbMf4POT-w4cEb8<<;wL&z_FH|FHP&>pCJ~WH4&) z`1{_s-?rYrUWR|Bmyc)PyjcAFZsW(7t>4})e0c{Fo_Ktx7bN`fM(3RiEf;qxcNTKi zCR1knB1c;T`fEKp${g!+Eow3htCBQwg2ZB7xx?)_eN0&_Rmru)@RSAc#Mv+f7_qph zv6#s)Xb66;DJK4N1Bajc=lonsjEVQ>qF&se-R#db7RUsKKgSdPtpP@<^*?N*{;ySV zzgENj`(8Sz??P5<;A7yS7E{2lf=7=5?xo-&0QZt|;ZX|`F^E$zNRZP@kuykBFv?T2 zD${amF!AZK^BJ6AQD&5Yvo)q<7eyrd;uMZ}#&l>Ft)l8ik{UHq$k0&09s63q-_ zO;r3;dCmD4)EFt{sffjhv3Riv1qp}*iAjaXkS3g;47y@6ehO+KY7%x5a+aTC5k$1O z1k~90l$dxF7@9Kd8q#cN8>>k%Ys#_cDskwmoKTUZQ<0)omZVXVqy$u?k>O%>d1?)L z5;Zvjb$LQ9B@%sgN&^ilJv9n#Wl~dJdcatl77pPQ`YbrvNRP@;kHS!w(%68?!i2%z zhRwr?7gX%yCg|%S7~~}y;wu*JFBK6e6&WZK6)2w)ZIBvek`Zf;wsC%n9h%%E8;F0E zGup$2sn%uL_SFS0AYO<7I2nWthxH{M;Nhr`4yc#j~^7qr1(s52fO+riVydzkHEuMTCQJfxp}?)HZ;a} zdO*dG9}YfwH1zDz`18k8FP@xy^=#(t%lY@9zBfxB-!4P)+xyk;&?JA^`u*!^M99df z#rc2p@LyH@%ftVYFnZqd!C%-%RE!#4hUV(?hm8+!R?y?gubx;R-=2G6)LjKZd>U3WmFwqq?(uPdvS{P0SzlyB~n$-jxo}^21xbx39FLhaGOfxrtt~Wf zt+wy)@SGY8U7nBM+Dt##FT8lE;?~{H$4`gfeVF_DZR7j*t#5FP1bo>B;NR=*i-l(o zr=C1O{+oIGauy`~?$zXnSCcOv58b`qcKu?*jiZL6-SX4R*(;ODvqLe%?SWl&9xY{# zHF=h$=|+V~TA5+8(Vlz(wyfTktWJiE28txgB6xEA_=0R$yo}gvG}!cHn3M#_``QRl zTbBK6pPaww7d?i6UN7jh-id}!N62PgkWH1IciQ-CJr?Q&@ZtQB~ZaE*$C=^b-uy%0WSGYPPtCTamKQ)(!8cT96IcDigaXR zqDK@hGs->qJb{gpE}B z4U~BeRCo+kc}=zWE%k)04Maf2dMfO?%52(7OlWkJnRQhejWwB!H0c0S9Y#w7Rx3j` z3w;*I&Gnc8NDS0zbd)KymB{r}sSLDeOpO?f4QcdssPuIyjPz+O%orVPINcq2yj_HR zT?GPMh0#y(g4~6JJ;Z|D#p8lB;zD#1!}U|5jM8FE(qm0C;>;js#+zp+B5U*t((H;d z9KgV6z{BO4_UKI%t8$zwvmMdfVIgmyLG5|lSsmC@7XozG26xp4cGvqOTO-!`cGP;e z*LZc*dUn-&cQ<->)_Zo;y8)ezZr#luy{(=D9Xo56$RyQrl?>u_C^3Ml?s8QuVzU}?^vh(HR=BIb-AKt8fe7pAB z`wir&-}_axe!rmFa`5dBlnM}s|Go#wH}v=kDnSOH-!8s?HS_A}#N&H|@aOt94uHP> zhra>zBwqB~-QD%#y``elv$-2nnXBVz)4egnEy3d*;Y%aQaJW91aq46ioC3CHa?UIj zfrruk@X=1?r870q52HPN`(o?;tDVpZKfgQp;@;4+I|E>2h|eDkgH+Mtg+ixz5~!x;MiB>++XZ6P~tjR>NZs7-kN1m zpKe^0q*oHBRTQUQn4nRVqE(cxU72UpTxC7f?K3|ey>%+{;IR1mjkfwJ%``7+vxX5P!HZcYPB@PKK0VyLcAqyr2A3l==C94cAi!=?B3^ltV=$A#%fLp+b zOUQ&r)RJG)R#?_WT*X61#am9wNmANbO4dbA&P^5~975A8Y%L_?EGz2@7pUrlXln=Q zsQ4%=d#Pv!s_R8)+N7Cz6gl~py9d|$Ml=P5)cJXrx*EsoYK5q%_{nJmDVZl4dKNoF zJ+e6@q&6U^+Rr7&NiRf8#!*tlOpsHHgI<;vmm3$46Bmaa7l#E0n+XAz2?w7EAM{H^ zLqI@l}c&H3GIL_F=q-EBo(tc2hYa4_S8v*x;NrrInJEsZ#=%{fd> zn2q%4^tGuCbZATs8Eq{%9BsILoP@j`1$`U@yzKbU_}KAz+X)1_%LaSNhxw>P2B<~{ zYQ_X>!~|(UObF9UiquPuHqMAQ0U;yL@{+CdlP%G^j+dj}I8&Bk_iKahUmM|~w_ZVS zu88b&TjteV=FwE@-dyh9QsL27?b%u911fHxS9$=rufKm|;Fpk}-5&=hqgDLja5h^Q+m9&rd$TGj#o+>Fi3$#>uR;(X@sBgsIkuq1u36 z_%tu}Y|nRX&2ebWwrxx`13<-K;JPH^+C-zKH1mcOQz$m4TeM|acjnrGlY0xD`b(VJ zbIqHw45|_}i(-`Wq7?FDl?oHp3R2Y@O3gc)oF_*^HrCS4?H6CUhDi9~)85a&FMT^c zb$krBKYL$)Y`y=m{^r&4s~3xJpD(_6JPi_t|9+4s5$9{K9MxPos=9Ki=E~LDqYD)~ zJNc(hWo@iy&&?(d4Tg5K`83wMmY3M(Wt(KA=qJT#MujPc1j)EM^IBT67#Y&*>e8vI zQizJ-@^WMH@!)f?<1#bh($eBmkYN)MAdkk-lXd@F3I92g`&a&Z1OL;y|CNE!;GyRO zV-eHflQR-hvJz795HU(nax1g&YH;wVvvX;%@oJwCFys+2;}bUH0||@U3QIeQD!5Cj z`pB#KE2;Y`tNE#D`l+e=tEzb`D|pDsIZI1Aii0!d++;L-RrSJj48!zvLbS94G!PGm zs#~R)corZY4zCM{Z4Zxa2?HTJq+6QC>+6Q7fsM^#^__EVgR6X^8iOMnf+OmKd<)&p zql{GD6s4@h`Lwy1WEn_!2=O`aaG0<#=`gTpv9M^cF{!bzD6z50aBxU)v59ezh0n+= zYSbSS8^c0N96ao7s^np<>TadtWF`kHHq#bxGM8~Mm9#S!w=oj2HWUURu`w31HRQK7 zrJ#8fcH!CqmQ$e@@qLZbty^VmC6_1%QyRiX_sR4_H zF}tlfm!mbGyN!UW6`zYax1-4kCnFBP88ANKY=JBlakCZjbP(}&68CWiBp?R3%LIAK zhWaQ*_$x;TsmBDX$A)Oe2Wut-X{3kg=R}+2#hT^Dm;(86=0%BCKxv9?Wrkx-wo6^E z8&I3$3OVw2Fa)Q%Jm{@2A?iylIuKr8@>D6eEU26 z2YLdB`hrn_hr=dEVrM22=ciJaW-?aia@XebR_F58=JU6fOLx{P&aD6B+^MRAt(ptF z4VTY0U)^uLb)gH*?Tg)i<>rNsTNgX;T<*SiwfDjG{zo?lpWGgPdS~R>-O*PMC*M7t z0p32DhWP2_0<_0pKc4#X@f6COTPSmGgG+z^x&sPD-M#KW4!tfiy$wAh?x(K*?V%p( z5#9kJ^Ka+=_@CE=eFIna}wf2tUL!5=?PgNHxAU;OZT_Vu$# zXfNSTANo(|iow8We$5s`d-&p3^`*@!;Bd8cbu?wHHDtUkbZIDYZ7dbd%1H9^a1tat zv$XRKX2Xn=nB;q~q(xB6b*9|i+|cs2zhefN9{RE+*L z(9Q5K4_`jtcA0CEcn%(WoxLuqnl~A<4KRO1nH#t0qn#DsTwJHfWD? zYbHIv$b2Qtol1W7H8tlohiC@t>MAL z?iVkIU%VUt@O|O8ihT#mj}Kk7u4doPBa{^1Su1O)%d08NE2)#yalHdUjm_>=HI8|OmZ=#Aafw>tQOf>-vK~GX zHqHV@)+e-0m{s+eq?9SSgs@pSG1$29nA!2@nDMA+aY@Os2~dyUkWI-@V-0wJPA5Z8 zW7o(+}2! zsO_%`a#nJafo@sWQ5;;Y<)@+>qHYqQXB?$#6s7|g>j$e_B^rC?I{KElMbreuw?!nj zMn=>JdgnXar&*Xp=;#Ei8ii@uB%6BWIR%w@Mb!pI*M3FLt*hvfP^0Ub? zQwva#a1!Cr<6ux>f_@Rmu#jEp39vEoa8N_(s7I22{>|ts@|kIfIvB}&SgCv4X@HHL zOy%v2q+G4!T`c9C%%#D`4rUUL=8{epQh<#F6NhU?Xg2{c~lsla-K*t&od_fRh=IgCUoV9;=NutF11J zy$-v*KAWW;v!x-kjWLJ4`3Xl09w#eqCre(4F4p|6wtOD;!rsmz=v8}uu95++lEJRh zQJzY1zH0G)>JVdnR3S+W&`b-}%Lq3BEf*$OmL%H%#YxscS*jhHiVVA|EC;lWn@ijp zi(ERYy!sjf`WpkfYkfLvJiy5Vt%3a=f&JZqL%m_ZU{C09Z^XnwogRbj`9XAfU zZ=8q2w(IBHz{a;Pb=|$vbN^c3!y5x&V*phA^1%e~;{G`B=JCn5&t~7EpP;>3LWXeP zAWzVKd%uo6K6{5eL4$}4DSSl66aM(Nd;H@J(&+xSi`FbMo8nLLqI2}&zxcKX{V;m? z7fkyHYVyWkRE&D$_hT2%q8sMp-?zVgTKV!}>C@YJbW03!1NDK2p$!HD1HV*^%-Y>5 zy}DO><#f&Et?COK6PIg63w1WbU=W|Y>wv||)%{Vom zwY{7NjWN0_zH_M!02@EO-4Fi!^kNzS55IqL61v<6xBJi@MvqIt?}L``#e;hELpt=( z1YGvyZXc-l1GL1ir@`bP_A7g}d&>pu<7qQJ(L;6qU1jd=MXt?xjSR5x+7$;ql zqEwTo(@$9<(dhtT-!$*Cu-b{V`ZQ-}?%Wpo zLgUwvH2fMQsAiZJmy(&7j)Q`ho196Uo?Dee)KFO3TvEzhOw3e7!a`KaT0-7MPToaE z)>Q_&Txfa~eH2yvl{5lXK&^T~;9+$@CqPBRM?u+LTERs^)=^Z&Lq^kA5sJp)+E#H! z7BL2J4LH^=$;>O)(ZAR|qS_xMoYWc_T_5aUp(|uWT5qX%lbkoMshX z?iW=R7+U1*l3-&Rpr`GuEMqLrr_9ADLPyC-ic5=wMUDvu#w9}*S)=}P{`^b%_2GoV zR9)0UOTx}T7FuFA3#27>vs8AqR0Ih-TgZZk5iF!!tYloRW!-G#T+O9i%p@UtTFd!4 zC?Vpx z*j>!mRm|U2EW}MF(nB%ETLo+!<|-HLBn^Z(BSmm>QlJ)e%UO{|&@g9583Tp!R%oDM z2053f+k%a2avZC(9iTVvtqTAZch&fGRC)H+`wzB-^tAZ*f{Hss&=ytp0herw7FQmy;yO2v21I;Y-^zua%2+hY7Gea{8rQX(~U=`n=kA% zU)*WEwAXrRx9#$owo7N4E}v_4~t`0=eF0L%j`IDf9{XuldbJX?8gx9r^Mvg>E-FK<;|*eC<`=5rSYVkg=|CObmM zT7#xKLC8__{V`Bn8j4>ZPdPQ6u`!drI-Lf9ilHk84`1A?Mo*kT4^Ti?{QBW2NEj^o z_SxizKR*u85(e3#yW*>;c@$_HqbEy15gBE@)&1mN@0-UXzr8vMDt`TF_|Aovqpb?~ z6o8Kgw1+#2-CFXUz{91n`gKXhmC;(|ks1)oBGhyJ<+6OF^8*!%Lsd$`RH0rSt5cVt z-;`q9nr_yXZQN6&-<+phnJirxCt4UUQIVCH z`}BF~H-tSl0n>#M zz@uTqt6bBOLB&eG z3ZPm2U{!+|BOO0gH8)vRcR4*jRnt(NfLu3_aB!}tYrM5ZpuV1~ zs)Cu6uo^F`C?gdI84e{j`przpvTIzlak2jVoBFp8Fc(uLXA?z7V_63y8NkT|OsnW- zq3B{R>ue_DY%UGBSjf0p%X-)-c-krkI%xzrs{1>rK@#Gs4ZxwVor;gGG9+*q>ZSuR z*hLGHFfTn{H&s6mFym0%~uAbXhrTN#L9j*8)~ z3cilWCKdi}Qo&wwp*{*>zKUpqJY|1X!u^yWLLTm|80DuH@2>?!d#i=ID)`$=`PxbV z0S?l^&T^5SDsU<}ST8ly07wbZ&xtWdlN)EApI}*-Y>B+~G1Imr-MX&Oxw8g&cSBp1 zS4)KlB>in69gY57pyKu*pr-A77n( z`Dpm@o!)!bJI?P_TsT{GX}{*mVcq3}+KcC^p>niae&e9w!dChITG8P~$=*`l;s~;u zY@{u)ufcn`HDIbIe5OBYb|89wD0X=)acweXeJ*WfHgye{Pv2h2IlEPS>1@^2^YvHu zYv5;IJFL5Vt^L)*q4zH)KfaiJ^K=Y;hZj#q;CHxlqvQUKPULy$&91vQJ8xcUMy7cm zHC#Tbhj{&RGkhb|@7?NraHsp(qrnfaCO^NOegACy(e;k&XY00SGnWQp#~S_mD?ED3 z+&YV#8q+PR;`AF6jH)BGE5bCYBDBgvRdRf!Gd(5p{AJR;#524lGW{iUf@BK9<%^?~ ziepqt6OLzb6Qj?ULSxZnTc<;jI5DID=v5#pArLy7&Q+V?O{|uj2u(U@BJ+xINpP`9e}VlIGAv>SWL^O&6A=X~DK!TL0}m~W03*naNs69Z zgG16xRNhuf##&0!QcTiXOvX-9#a&*}4S5(R<01vfx=PEq%gB33gNOA3RgHqx4MQ{x zgVdmv)$*2C^^lRW=9hC6Rd5uQu@~0#k~53cwTRT!^;0ql(zK5?aZk1J&U6UOcZ)3d z1A+@Z0I1kT8|nEdt2jw2If$#f%IJ71xh2{8WVm>xI@?8BnE2@FIH}1QNee3RvJ10N zvr^!YA%BC=^JC#+|2Zk-KS&tyu!*djnY@REqL-Djr=^m+xdK$2j3u2-q+HEpJS^qC ztQEa&l)P*dAa}Qr^RrR)vsU{jv0kRp9>x)_24T*6K)8#3l)F)+r;)cU(ijK1XoPua zM|$f=`RF6jOE=!nIL^;7#@is)TQAm2A7Y%hLAhUv{dEJ~RehWkf<4vIgm`I$`Dj5sHrOye z%rGU|G$qC)HP$pO&MY(0GAGq4Kf|^#+b%D|x;WRave>1j+zqI$bZe;bY_9jID|c5Ty)PYxvlpyk=|w8g3H<>_2tWx8N>Hh*olXnnqLW4>f# zp=f=s7%HnE=Y^u3)vB|bHD@+z_cp2yck2&#>(HFvtN#VufnLARapPj=wWIbchpljU z^HLY6_%6u#a`)q_{f}=9JiR&m6dLB6!^k+s?U4s}h9BG>d3bl^@x5{MR>`lQ&Aod* z|KZvE$LEV5pD#fC^a5Cd`1#e!=U2<<_~rHLm)9#_->iLov-D?pI$G6kiUOC z_5HW4<1gEPeBD8&YW#i{nfCT=_s6Hr&+pg2zF+_TapR8bpt%CLyy#xa}+^e{>S8;K-{K8Jz`O_umHVQUoQ%??r54QPE z^@ojg28?wFEsVvko=jSrh@T&gS(uDloJp9QiJdGWpy;hEx#N0mqCN{tJ3jJ$X5Q z|LMfNr(?Gsk6gPyaPd~p!PWM?qn7Q1#IOoqdID?vLYqgT8wMjvTm7@DT+&LN;__`mQcOG|G;Dq4OkKtF?FF=L1muj^6irVk z7@v^PV&ajbU=|`|;KOI&BcNc#reeXRV#cRnz$c-`!zaT;-mHntUc)27BnI%2aua($*5X5+WiTNJuD% z@F?-IsPS-U3GnEN2pCC-n8`?3DM;BUC^=~;PEeC`Pytk2v~+xoOhT+I63lGMj68bm z;+BGP4&rhS5>ht8;+6uU=6qrn{NmPv()OZqPGa)T;s7Kv4kG&gYJh>Cs;;jJC{){9 zNykf3%S%zyT~5hKQqD$L(o#UyT1eSh3eJLrjs4Uu0=4bJ4IQIQoT5!#<1D>2pe(@G09$YI|$w2k4oFnOlTe8u=Ql+Nz3ciSxcpIXDJl4k$?dMn!vY%nRzfn?L`Quu6`ygcuiU5*1(+0gCoFj116+JUYlQCddTp@uB7k;ijpv7OC-O zsd46M3Fa9|mRTv5x#>3fS+?0}migJ%rG<_aCC)%)nR5+F#f?=St#v*fjRBzF);eEM zG33w~cQpq=Z#>u)In*7Aj-!3CAmoL~EC7TIES=0j17=3XkWc2U%;c@j6@ZF2mr72r zlx?pe>&|x8%l1xHoY|~Ace?surxq>bqcaT`&oy1zZ-xjtaQUDG8MruXzkAs6;6nGK zOTCY-^ns8cUhRKyrSJaL{=3)u?_D3bdt>nat>H&^$DTZxeE#U<>xU=bJ(>pIKb`?T zJefuF>Dl~m&lf(wSp4#G>FcZIZ?9LrAu3)4U4MAF`0>@!=eMgU)1LbMx2-=up9UL) zfe{;j+5Yxn1I~VVxAx=1`tirL5oq*-#r?8`*8I3Q8To@SI^c0 zklZ|MyuM$5Vp>Gow+%-2r2L!2=z>gPnfUBaw?!@pI!b zvt!WD| zY7|ub;l> zb-(-mqrRulhF-oHef4zc`Q7d(*IM^ivNp$KXIi~S%I$jd&Dv6RtD}@k17ym56pP&y zavdd7toWmh*@N`yytOD@wTPXyiJT3I-Ob6|Z76-5se^r)W5Rjj5{05OB%-rr6AF~l z$}|h=%o_UK2WO*Z)-!i6)*f7IxpKGv?$fD9FXtb>TzvR^@&41l-0M8(KVCOG#XRWA6C^LQQ8$;)D~FU8B*CB zQQjSv+u)mA=9*CC9F=1mm}KS}re)==VB{>JV=JU(Eudh?rew^aXv86<#l$a1$tFy| z%um3~M@Yqn1s3YGz6z zMq<>~H>5-{?McG-TS?Fb`*fr^d zOt>X&1VF-Kmb}8IJc1@Cpdw<<4NjJ_6_mCWk+u_(v=)-G5`>mj+e1;?U0KUrLDN-H z!&Oe*Szg^mR@G5f!B$M#Tv)=CPs&V4(M}xB8hEQ1d8nHCs#^uG>MzxaljJtB9zJ@k;YE z^RiGg(-4sooeP46xD&vC|2)*9~{nk90PSaxsbq3A-3YL3`||9pR!K z<)$0sp&#pM06+pH_!$3CcKjS2SlcWISL@;oGadMzZYOq;Gm}O?T75XqG$P_97 zV#0_SXJs$TjAbP>(f!^*WDP@)ez88=igrI+gTsb(-Z`i zzLt=|_6YPw;{C0mLmiQ$-7yQ}$SPg*D|qHc)6mS0Ae-DmeRVn)SOOfXfb`;)+%2UBlReg-pt zd^!h0M%x&=;`dLH78<%@Xo=A(2J3>2AwnArLWUgbNW=VQ<=eYew1@wAzx4gh{Fj$A zzdb(*D*o_f;=z@UI~Q8Oz@Xn-=bJ#wh>8ztukF`dJy&(*Y$b4Ux9scy{y+i0dfxg> z^4v(&^kDc%r~hbI0OTuE2}=`kz{*VG#&YWVQp(z5GH_}oZF?i@%;~)S-9qSxFCLU% zy-wa-#iE%(%T+<3EBN1BFXtvvn(HYDSlGhvu_-XVQD7)4FHVJ5GX!MVEg>B-1p_Gq8#UtzIyP=bW-bQi6LgTX zaxt*-F;R0-QF2pKaZ^+AQ2jMh^Uy$~=>t<1edI6$IMvAoLJ|qI46kd(e~*P zcFEz^xd{$g33l1>wwVdm+40udNj7=OwxD8Ug-E7dd7d-!zUcxNh&3gyb!G1Ds2BQl z*9CQ=U-*m4yXu37S|f*0Z@L`mj2&r@9z?$cvparq6w&YeaO%u(%Ish==y$q5acUrO zqB|Dq>nC$pPUg%FrA!YcuS{fZEf%d$=d8`hR(f{5?94{_-f9V=Wk{e~ zUM<;KE!jU+akO1?`E=ct?fUC`O*hZBfQ@e*v;o)mTW=n=BU3LR9(5o#zS4W=`oM#m zLl3VHKE6KqR2ua_Q~knKw^o-#(iI6@NevP`p_| zix;hBh|n#=S%_cXuKakn49)P5w+qk@qdolT*%YYw>CIkHF&eUgz^iy>FflynZ$a27dW;1XTR``546KkB6Q;=m)_<{prI2 z(CqE&Z8tABUAa(y^{DRhQ5~}C{1932c==Mp4V0g+AJxHU#NJBw;z(3)jdNv&er}Xv zg0D!hJ-e3)qq8=hy#|e?5~-0KfwmNungoW51cs6nhJrMPk`jitE{?GUiJcpRPdHyp zhD>^iMsc%QU7us$Oz`xnq_zFLol6x5HySS9X$KEqyw!blqwDZ$*TH3k!^=JAuk@a~ z*m3SsJFt796(qdAUk?&q+^rf}%;}rW=sua+K9vl#P9!!A$3Qa-`pvHQ%BXSAs`JdL z_sOdDO095@FLI2`wh2wQ@QpM2l?BsMOC|UU#IE0wFMAu(XMgm@cod4wryB2QRo(l}$jCLsW-H!hlcB zT3XXaTGLua-AYo`TtdTIO3y*j#9htOTgS>*$J|p(*Fj#+K#*UFi9?c_QJjKKl9o}P zl~avZP+LS;Qw$``CC$q&a)OGLnv8}Vj}RXV>*sSz)SE>9OAp&?3pweDx*AHLtqT#% z>|!8}_VC|q>|?IzYoY9EBJZLv<)AGFKmvzQ^f6cRvs4MP)d+Lc0sR7yggR)WJsjz( z0}(A`w38u1Zwx9111I~Np*@`7YlQBH|K?lBp@;_EB!izp&KaRrS&{aj-_&56#2}00 zK&zBc>&$QmkZ@j%E9e&@qU9*(j7WQ^!<7Z`F1hhedGYo+@%9jN6YUF=91Bt$ic%a( zvs|k4JgN&lYYIG&E!~Pd8cV%9Dudc90y`@LA?c|O>8=UwLA|GVq&a4^Eq<~iajZRI ztTk@9C3d_mexfU3aVQ-myfB1Fcy0iZ@JwIARB!xbR}AQPeKLD_JQLYTrY~W6H2u_U z-qvj1skz+Kb9tcR?fLxEVB>`XhxD01;Ma4XU(NpZat1wb;ls13m-mOC-0J(+&JUN{fqR!* zUfk||e!Kf6aJTo(y}oC+x*lEzSJz(NDFyXy&!?ST%e}Bw1agMT^@FNw2UVclYljtx zcn``i?U!9TTXJ-!_}0Z5knqDB%^=~|k9uD}>3{ch;O(=)XO9M-Jsp1aZ1m-eF^Er} z3_ZTzckgcZlL!6x@Acfh*>Uws)5XIYWCM`h(%qfnz0*azTZIte@cg;Tqy4JGy|Vq& zMeFmaV|~H(B~}@+$`QW8UiNG@h7`u?MB4HMYBG3=;uuoG7-B*gB7i7{umpyb5{9BK zj-D-*t^bLDBF{>z!OhmQS6g>3 zG;JL;ZtXX1AGYjW=s0(|`^-_>nG3BuM=jgun>Y6x5DD*8&YdnFTh8mB%j}v;X&Fyw z9*eIVj;ZVmFYOA>to2B(aZ9N}NUicrsq{!Fag8l>3eB_$O0)EiGjzqgkuzkM(Px#?VG+|{5K^Jzm7_W#LCz{n$|6X{#79cUMNG+xPs)f*h}th5mmC9{ zTYL&U00%Yw6~HEiQ<&If7`T)e_|%xl{_3=tMD&;>jM!w%xRe~kWb8x$IR`Pt2@+~h zC@&>FKQ*&3J)0O4hXe}%39Be0BwR9Vj3RW5qO=SmH1xvMw1Sj00urUtg`X$e z47^OF3}i$U#5nl4n5ex z@i1y=!oye&^y{Q60YCzW-e!oO!NUR8YM|m^JIxS#Er`K(8sW}bK$w#z00{^gZD7bj z%aDM6e@fWLIL_MuRQ#*;MFWQkeun753N(=aY?VVSb0X|B!tB$7Y!C_iTc!kAX9U}( zhuRg!xPgRoBb*Q|ha%TxhdE?LI2Ojb z<$2W=de`M4DsCw7ZYuI^EAekB@@*+VlJ4@5-s-U4%CN4AV2A^Ck;C;dLk-b`wNa3d zG{l0C=lYUCyt91?5NCShr-7b0WdE+NnA!fsCA6aZ5}>j$i0r7ac{1nJboSp zd_L&+>~b+8;rV=!^SPCh^BWaM>*W_VDlTtTU)`<+8(-b62QKf_UD>U_v{!%mOv9zK zjbP)e=i6>v?7Vfk8<}@;q2unQuKQPd&^8AB0+2tt-jB91m>F$j^mOIt4<=qboJ89g zc>QD=c!iq1j9%Oa68`Do_s}iRp*{Qy5Hi}yZy%4NH-C6^qX(P}JiFcV;qmCl$HTzq zXJcPqOniAh{^8Nk>$|;=uC!b`Q*pFe2>OKtxOGr-|8n!)OAU9S>Al);|5_s?pkHwE z<#VOCFV#Zv@vYVu_q)KuZyxsnFCX@Ubss`}H1O!rz{3Z9ckg!Jy4im1S_?Wt(|d4G zwYOVx>Qvs^YSzkf#_D4F%0e2jzMOe_BX9du{?>Z##!A-gRD5TLPkx?Jc$k#C8<(X8 zt&TQe z#mgmow`-5?H(h<&aqVgM#RqNsHyd}a)a_iVJ9DLJ_fpf=Vg1J0x>IKxK*hU9?Po7_ z?j9lr{?!T3Z&ys8Dw$X>8eGWkoK6J;*9=Bg4@6ej&a3K z07w`J$*>MgweX2IagETm@l!Q&k=C*iRL9M#UgXMK3}@ zCrm*rgvgdgkQ5>nKQS3M0TBl_Av-oi;uE+eoVet?cvON!3}WPr5|k`b)NHbJ+)B*+ z>Ky!P>^v%nTG{33*-%TKSy6DyGjq$a@X53C$g}b*u<SM ziBK^KQP2yLGYF6YJhIGinUL}cKv0PTE*4hd6jSGs)e}Y|p~(jqu!vAma^e#(V<9h@ zrpLi&B_caPLCH-`#YIcSK?BV&5fw2W2|gwc76vl9^V7q~62$-F%R-6MN`>1_gWpL< z*hNp&Syu!SM{OZ5XoHQVJV3(GDjP|{p|81|A9&bA&dXTV!%*7YKnj2a4xt!itr}>h z0t8qp1CRvUsD;?7hdHQ++N*`wsREEkxoF3_>&1H-KrzBe6Y@lFqhwIAk8y&RVVtL4 zyqA8Wk3q7ZQHsAYkmPHa;H@9$sS8DP66>J@5pp<{;%|~2VwVwYmld0>{v7MnwyD^sHyfSh$lOuCp)93J7Yk?kVAwVd1G%^EX3LFxapqQmEja*cZJcE zm9f-y^d1YS6~5auIoor2d-M4aAxHLGSSUDHDLK2Cf4E$Dv|4;&qwM0T@(WwwuJZGn zpWYgHc6;#2ox$h#N1ip;R+cFX?e;rmycAKhqse6#)G_13$W8?PT$UpZHC<9yBSi}g@>db{(* zy&m8h>Z#oATOBuUb>6(uarJr|^7g2U4d)MQ&mB}Bov+(JtT}t8Vr#p2Z8c|ZA#M6( z;^ai!)L6{aaMZ*|)XDMK+3BSD*_7Ft~er zKXCa;_qp3mr!UuToUd9xtU7g6vwl#sa;9o&w`yspdU>~I?QH$Ve&go3M$q#5UL92C zHp?ehi$)jo2IjNd$CK&@V=BADN;-mp!VZvdKyHg)RDn%Yp>1ToT|}O3SdI-4o?{=8 z>kyo76PRk{n`rJ9WndeiY2vP+Z6~f~B_M0aA*stEs>vXtK`*MoB&^EFBTK_BPR=4i z!X!vc$3uurU}MK2XT_yp!y{wEBVtEdK0;0cJa$|x)SEVNSTPAWaY*?HDTPRBL@B66 zNy!BX$pi=}g^6j!$?3$YXho@Lg()Zn$*2X%AkqktQwvi-P9s9eC{9BsMolL|2|0rp zHM0~gvjhzb7*(8_S)77djEYH&oJo`tBIFDrq||&wWL((9>{vwX7({HC02MDGB_9z) zavlOo9s=+-hcrEp5*yOl$}q4>&>%h+B&8N0p%oyZ6Ch&}qykuls9A(**hOgBMCmw0 z>Da~S8F%1Pqv{T|qH0X|VC=2?-d9i5N(T=}1UuNb$)DunBRH>3t{EHnhe*fbQg$d1J|ax)u*{NWqbFQgn)7fDyDZ2jalrATO3SS8%_olZ%t%uPGz2+%sf4vy*r%)5nb7v$=zQl+?&llyO6UF zHeM+J8y~I}9j+GduN57vm+Ws8@2{62TQPu{_o^+O$jbwIog9zLkKc((lN zxvFdDYwle}rae5p)rCHL=UVHvtF0HVG+(&bynj@8_FT>Oney$O^39!+-Mz}K-O|mi zlI8W>`Gw4h>BN!I*umk5f!?rzo}hv5kiq`Y(UF+Z@ffK0jYJNN$5pp_CS)482aB6J zb81-7$m$Rat75auVsOY~@v0Jt>QkvYoG=ZNa!%Ip%`+?*3ay!o@7~KFzg9DMuVwyG z`|{(?Q%}3Ez8<;pa`@V_f%Eq}cdpj2ov&QouUOfySUyv+uvY2Kgz1pSinz^ltsnwF9#oXTM%+8Z()jg4*-~1;3>?WU_CcnH^|J-KC{X(+M zgLAAxv#kQNECSQb{nO2ZGpvKNY{A0;>DGQp7H%;{_Ceal9*VjSl4{l>;9)TxW{|Lu z2ECXjvyeI?uRJxIBssSX4Z9>In5cI|*aMR5!NXCHdol8P4N=hY0Mk-89%#TmN zhes+zKrTi?EkQ;nOUag%KlqtJkeGr8my81wJWR}r?6gM1Lqx$v zM9z+nyw8Xk8*)|=T5dTuURkyi(#)V)2I#%{$fBr=3I#K=bucnkLkzbGSlE=fI8=D}R0ISRgdkyPhOzN*K(PNy58J8m z*s1ZkXbFLYJ@mvNx@rqMX$kq8%7S?R89nvI-SkD>;W9lDxZd4B%-c}X+e8ZaUOkat zbq_;vA0sJ{cA&Yuzqx#n1!!3*)LJ>zRyD#-4H2@vdbqthI-)D#wyL3aDuEVq!M2Lg z&gwC4TCuL0VGiJS@VrElmmY{0Dv{3WQBG>0;y6&TyKb_lVTzAgmcLbYux&voc-SF7 z#6Bm)t}x6Io#%$yLp?v-u_V%^INB8|pyIL^$eoKK?F%C9D-v8l#Z^fz<9Nb?Vg2=ff6kQ*v z2$^h%7y}PC1dr4QjnxN@HUv+gv^;}S@mxprOh@z_O2X5v5mRm9OFeNQ;g$aQmBGaI zp``VZl+Dr9Q)6kX0|~1`NvB3qAm5(I02QAePd`18x;hxUJ`%e*mUMbLWoIU1doF!v zF6;Ds#@m8tCi1)5^+`HO_j2_%YRDAz-_r04v5Fgzgc>Z`8^!x7B6zKHJ#|6;r?_XCxzeiTj zfqsww*oMmYFY6%TufMG#YwJ)d{^R@R@$aW0{{ChC%cqr3VB=RaZ=O%RdN%gs-Q16N zv%kZ)zn%I1X8P;vlOSP;AD)anxY~Mjx_Eab`|Mioxs7~?+e?`T+r<~oRo*yixN)fw z;-v%R4+52oXDW}*R$M+;eeFX1-7BqkueaT~+;ZhY!}+7ey~DcQvo)vBR_&arKDArE zx=}Q@lC!X!JHMK{xRN)!oPBaOeQ-Rkr$3^-D`=oEqNh8!vpulABcP)@q@ypiy(hG} zC%9`gwyMJ~rP#_ZLDj}zOxO8@vL%DGF_n}#gPJR!Rg|JvmSJS2Lv~Ma!*a&pLB-g` z+L_xe>(BZ(-wbcO8eDzRzy5My=k@T>^T7*``_A9*+P&Gbd8u}3zhYspWO}=Jey8l@ zR`KLo;mC5{$YRdWVh;4ZV@vsCiv=gwN~c!K24}K+Co>TVkEhoU#1=ILfrRrK1F{-? zGV6TPYCTh`Jd>(D!wc+!b8UmNtbEhWeN)W6Qp|jk&ApP%1JZ1KQ>}dxtz2VG9YXcZ z{WOd{l=NKXrSwmT=pgzP&|nnRViD0{71d%D(q!RLpyQIK=aHx9l%waC{TVsr>6jE~ z7?o*Q)#%wY7}+%#S=8v6RcINMs997P7?tQ46liGV$f>2tDWyrMq{twlk)WUvBLjO= z2oXV(j0PHJQht1>Gt1Hf&^E(aC{ha%L+i^TN)G=2XJiy2q2t9TKY>NYhDex{6{TW2 z4179FB04N0MjQ|(B?mDGmY$cAO^}XB0MRBjCn*&h5jh(n1q%T{#(+RUPe4kKPezMJ zOp8lOgA0+I4j(Fz6Vc!hQDWgyVBnKs;E?@%-vy$o4mfJU`evH`p3tUWiR$sBJ-*T~U}_VYoe1AeKftf`kjhYziW5Dq@|glU?gl z+^SPtYLcBnztu@#V29cir@B<9MWGJIN1;e5}v3J1__VX1)+0L@nl2DWK-x=W9U?K*mQF^#FI^7lT9H@-LZ>3 zF-tu$e~UA1VY3|(i`~)7eQ|3832R_!g!nb^@Nmq=NbJUF+~#<~=2X(w$>h!Hl--5Q z?S;&p#jM?x91!yES{@?gje^7N((^lIN4w?78VXSHxoSkk2elwxFz}iEYN zfGGFdDMY_;_{TP~UD%H;sDPF~e_a0XcK*%F>6gzYUpyQ8@N(+Yt4ZMF%ZU#!#@|05 zL-YK8-;E3PdmDKh3u&ho)3=s0Aui7*Z>{H@*)BPMuIl1pEyVr3^0Pao02Gm(MR&`f zc=@RQ>cvKg2m7^q=V~|isy4RE*G`wMpDtTIRXn$xJ2{szF_Shin?5<4K0cE+JdxNl z6y4Sx($pT%*y3B)=v7niQQhEK+w4=@=2zL`Q`+QJ(e9U3>k^e~;vTDP87OY#Er{SN zY8EEzmZl%y;9fiu-ME<9w^uQDvwidF@cN^HomXS$KF%EcHn;O`YV-BT#*2~Nm&1Dx z`u6X3?cQkLyxg>WP(8a_I<-|eu~9IyT{^W{G`f;MxRBjHm)SR)(La|pFrVEwl{Gw< zKQx=yF_zXkoZK>!(lC%v))|r8;Gb3RhZwlV8w{LK=^j_^8dL5Xlw%WslCXEGsb{jO zN0Nz0qN!(+nNNz9SCWNCf`vj1fJuOqQGke!hme{Jhnx)ykuVbm5hF5c zO+byjmX3%P7ZEHoF%26TEe8c77d1U675xcH8g_Cj77}tMA~=h3F98`1AvrYx2^BsW z6+SYRjslm60vBB&rNkp7#~~ua#v?&q_JKo$>~#!4f=i5nPl|<{MPE-#^b1mI0;mw6 zzUx0PkHh*u_OQJ&x04#5o0gELuBf-ZxR;(7B<|Y60VXnlzp=ERk(95Yq>q6FoCSQ1 zBz%p;eGJ9W_!&zCm`VkjNdu6;A^I#t$o);Eg3RQC&E-QZ6hbW(!>yGgY*Zp`Rii+; zHY)!CTjdx>^%zIBSSR&3XN|uS@1hALx@iMR?m7??T(zK*;;EnNWsu=znC@egwsfNIb z#=y~PpV2x$$fsLF;p}{8O|buY|7?b z>ehT3GUID06S~U1RSCFgfbFPtgA2o2U;#>FBd3BhQ`=KYcRvrry+=y5OJsqiSF*N!l#)ZNs!yh2 zM5%3dM?m$-q~Wtwt9N>LpN;RonYs9B>DssTOTR5&`MP}V`|9N{O9$_!cb<=IJ{~;% zsQ=WBj;(90YZn?9_iLti%EmSdhE{S0mU1RGOGeiV`xmpjX42ZHlG`Se5GIlv`{Ub& zQ-Qkf*y@g`nx5E-j>!DRpsX6-^lG2fO0T2}kAyO}=wj!nBB$^|N52d!?{rJgRCD)a zQ`ZC&z%9`Xa8I;!OR#W_vv7(wwF@)03eq?8(=qne&~%bfwHH^k7FMtlQnC?IwiSg4 zxwI*-j48jYnSi{7kfN1{vW=Lkt(2;Rq>R0=jH9r$gOH@1fT$G@IGIzIiCv4HMxKmT zfgC&xP|Hw|OOOzY5D*FBfrn{D$Z3Vhs02x<1xTocNRdZx!enIJ_)tLxZ$&AfPR>V& zyhV(1j9^ zW8qU^6I0=m&=OEG5K}UdQZbT1q+uqb0vJi4PDF_Vsw5%D14zkmiAZrsNO1^Bu!)GV z2#B#DhYB$XHsl1Tg(t{zLA;+L#l%78nZY4aCq(%9b13j35|iP=&w(N~KIY%V`%nG; zFTd=RxExh^T{Q*K9!9I!Lr3Iq28Odx^w1UdHW2eR5cSd*L4#JYzlr284?_hmKm$4a z9PoLdsVoQ?ZR0R2B@i;m84VQCbp$H~@Nkqp2w5rIMiFAPgDP6Tk#@?EgOJfG1_>j6 zc2vvs)d#YCkeKPMm+q~b?x~aNsh#SsmFA@bl`KDl96v*da7~7fUY3txmakE^uK~KA z8)#G*VpYZA#+$cixi+Ob)W=)b#9K8c+Ctu%>e!s- z2(cyIsV&W^HN&|h!=)|Lr8CpDJbDGs&mtQco|W@BHcEGi$kM2_Nm1frl@h ztNi8Rn-?4ITxmud_};Zv(DME3ZOAI%d%a-bhj)8^@d#CU_iFOD_p?8~ECXLY&VPD0 z1BbtTn*a2E@x%KCG@#tyJ}rO!vW7M=d+*%q0dC*z zzICSyxNxaqXRmZ&DSdo0c6c;$a5%hwFtn>Lcz7~laxQItHFs&FU|}t9ZY5`CDQk8) z8{)}@3;-(2rwZ3jm#l6TFKraftQ1Tv=1$CKkIrR596?FAYb3t4H=?;W0v(&X!)j3y zu4wYjDtAmTwNERtLt>dja+!Thp;dT}X=a0GMx$q9jZ1iuRY0z3WSL!FUug4u#^UAH z?fZjQ-Y?wyvH9?L`~L4+cfX$kZhcw1`FZu)$E6FeXU;qx-MrJcdcAY?YWwQNmer%C z#r?XO-OBM(#X~E3eG6GVa~Z>{`5@uW>C~3-gofdmy1^)ff#{01FfcGs+8S2e98%I2 zUf3LxftGN!cXFj?97@8Gg^r>5_91z8J{eYCX%-$SW^PGn37aAkPBI4xqdn{rYwi?f zZXa%96Ji85HtB}yh`8uaJ{r4$*7Fd-2?E|``HawaWgbX~S%={EgeB`v8L}bj^MD!TsEI3r` z_;5(aMNG{>K+1##62>7##tra@vG9p7afy&=%mk!3h#M&h5KmGPP|^@n(2`J46A_W) zA)ds;AR@vcB)}miz#+iLM!zYK02dPv7ZX{Bg4*T+a(o=ryPeSczx`!Nnn;G2%LGGLY$E9ooiNB51>}K7 z(m}>D!6vdHrgCBC3gH%t5td4kR?4Af^1!bOx)^1n9Pg+R10J?k2(y$6w~~*xQ%-cz zO!d%(B-TL{@?SX$AXL)O-duwKRYNUB-Kn|5$KV3MR zAE2Kbs1FhHf(rC)+?VIvo#)h@?a+~J-=FV-u0R|pa2+i17%KxI`;3-(4wrk3mV2P%P?`HknLEVs zN-t3HWVO#kjW0yV$0|IBE8J#U{ij=fC!4&+nmi|4eP+4>p)p<_j@mkz^vlD$%UNeu zbIz^jo!iI<1EWFr!vNSAfJ3y6Z(VADA-;Y!4b}zse)_od?(H1pP=Qlm z;Kz?f9zGZX317R@edSIkaQSw}rCaU5#hY!w-cilQUdi-w`ru?t*HCC%Utmj*e^ZxV z=TKztM8fEN#>7(g_+r+`TsoTJ*|fpwl!24Ukie?k9E%@5Q+?`g|DE4fAOF~RdA#@f`0T6WGtd6me*As&(YI5# z-!ET(J%9P>)WN;s-5b4|mpj&uT9ywQm-ZVL&eqNBR85>J9bPHuo6qi^$>==!uQhQs z{Sg)2A!VIGWt{NuE-_Y4Q5N>$NMmg5qo(hn zq~#(5nuQ2}bwR(HE|MC~5`emsxSFGws)MMCy@-;%khCqIls&Jky?~S*zmzqfhy|CR z5j&4Q3#$q;Xw0F;#HPl?s>DDmLq&<2IKd!9!7PZ(Ltx+|q30o`=Ot#~C1d0#rQ#r< z&@_6nR1id+!E%wF0ef5lrz6hT+SOIHZ+)DiU17J%rjC;ZFCVBKGe{$*)@ zLkaLX+Qy*bU+zVl8GZOu!qzI$wkioun&4qDFo+$9v{8hnH_25CJPdWn6QCt_(S!<+ z?5dIFqnYWWp6;cZ>Y<$MrU<0CD?y$cpq=BdmF=gQ<*NY^4)cR_3xf>`g7kC!b+Uc5 zA;MuvxKU|@aY?uV7#PuSxL#4XHc%X?T@s~J9;MrmXi^t%R2ypqNo%TAdxmvenssxE zd2_M_I<};OpRL-`t)LDxC7HLRShlCzbY|KCkia3j2p2adnl&VtLWIMP4BM`3JNSX^ znO48($g)P$oom;VXWyIefCdh`a%?-Ztp>^*`pWJ5D;$QZoktrzPPY3k^oA@Agl|qI zf{M3hQ+81O@GlQv*g+I{i=(H zHE1pzRG&Xrd3d%0Y<%ZNJ2b{1!HR?ph*z~-UIuE~VHnUvn?@~b=Yv``4sfPuaEcM9q+z7J_Ecz-h2DU&g&niUwz-Y z|7P*#(~}qO44u8&y>qdB>#+6I*~XRKy4llJQ=1jz>pvyjHJ#o*nbJC*)I1hnKNMZn z8&=v8Sk&rQ(Cky#;$7I{n^WUk+!R*Q9G+hnlv@{6*c6u66pEH`Ql(FPnP*I~TUdb; zNH`$N#y8U%?O~5(b7+R0VvQVQ3>~730H=0pQ8)^(Kv9Y%X+QYw^ zUTA=!8AeMO42DY-NQnTPgqf17QMZySz#X;x9 zG#Df_*yQwh)J(*5Y@~FoWHcH-W;~gYp?Zl&PM5C-lAVMBz zFOljdpX4k9NsO%+R1zGe(%cm?y_D13l#-m};_YP;9c9zqm9u?Rv%FO@ycF{S)N=z= zvi+2@d=-Ffe}&vYrMw{Jf*|FhK;_~f)v{3a$_VX>a81bbeC11m)k=a@OGDJ5UKXlR z9;Q(dt_2has+EOkR)*`;MCk*Nz#+O=5~N<}uafVp1QZ3RmIfo=QXQpR9i>whiTq^v zA@I{mLy(^gKn_JXTNABY8>0sxd)ub!He~2E=NfmFSPj)UjW>JFbo$Tr2Ca?9tWU(Q zPsMM}B%NMN+g-^#vzC2kJ?CJn;Ou7p-bU`uTK4Ic%+00rjfK?p`IM!T@sL0fPHnGd zZ7pXYr?%j1|wQVV}PdN zD4=;H8e;uGcuj9eU4IxHc1$L8P9*}(12K(#QT06$4ZV>~{n3!ubcR;6214swQ0tio z?yYdiD0NIPaY!q+Pb{_r>-y%HdSx0xj3~8BtaDFq@y%!tC>xHco=5}(4{nz)UF$q} zIequ{)31*YJ|3U_?RfXo@y^HN?RVc#zxurK{N2jqR|}6`&fmH}cK%ZL?z!gEdkvf0 z4eO_B7S<}pS4sz$i~AM|x@NN4CexZmlj?`#Y6oK~dn3xaLW|l1a+|!f8{M-S+#u#O zdSz62f`OqK&Z+j#t_grhf z5K&{0(_(>y$!IVMD3MtTgcO*>RJdfcc;s}*R0N2S6C%UE*krT>P$5GGd$Djy5Dya( z;Sl5F5#r)Ne~W%gG#yd)5{1;}-UDD{M?AObpq6aXapBGiUrw8r8LMxuYJZC7!l7oOp{9bt#{7YXyZ|I{7;Y{MK<=x{>8Z)) zrN!>A&mCqa6lpC1*ZUa>_~`QZ81RLfi-cQCL|BUjTL>pO%fvcM$2mzxJ4wVkiN!dJ z$GeIrxJkq~iNrdKCOC^Fc}S&tNJBBgn$O>qBhFC-PQ^QkqR&D-(M3GLRWjaDBHmdl z)m<*lOA+**>@Jt+EEVf0k>(+v=qdweqwGXu00;3T7il<~8>E&QsGRAil;R_o>?s}R zCK2Z%7Ud)oX)hS*D4gIXp5!f^;U}LNq?8k+oE@T+6``CHt6Gw(TbFO%Ug6N+=swiu zGur7tI~+MX7Ck=^3xZvlOIcq^JGGK=YAx&3M()OX&f03$@>2TzT=L9x!pW()$%&Y; z(a7nO@rw(oP=`1-n>0Il7sd7GyT&z-9{ zx>$exdh4|tZC9=|oxf0jc%fx-!F3$N`BhkJR5T5en&vV__NvCt*36!7+PvL=@%7w;?_1B0&%8d~|8#ur)A89)& zC@`|h&@+f53pZ#5Dd_|#z{Bjkl+2u@^lXHPf$6ZxX>kB*MglTw973=z83rjOE;%(m z2?Y)T39^L+4iN?(2_^v>f9#6?Hy%ELive)qWAG4S z@e$+jli&)H;RBFE1?m7V5w{Famt-OU zBp3)J840DBh-6qu+!f5@Om2ZdKmF}oA7y=^1B#txEgbLnelp>^Feem;&jquv(aL* z(_*sLWQ6FT$L4By0$qoSy%wvZ-U&|=K5q*lKTBaxGXZxa9;mn(a@%OK*lI948*sr{ zCw)#w9d@X@n(;fDa=V!FxmgML+KVFF;5&$T*b3SivN&0ABCk(%5(;z`4e^qS36zfw zQ;Cn!jE&b$N-@aHHZLl1sIGHwYV~XH3LYGZ85oNlnur}a88`vi_H+vTyEXH(7JQJVQr`Q)Nbk4nez4BlI6{!#f^f6Q$wS7L!nWQI*xs%3bZRZO;hLcVic ziGydhws(<{-lyY( zx5wvR{;~V~+t$O+YxmzTU4Jooc&~rwTKl`XpERrd0cd<~xQLIz#l&w027{a*ow^Pc-&QH*-lga7@&;iBU5Rl{fI0(e@J8 zbQe>15!3aO(e{wmc9+rfk~i{GHVIHQ^ik3CRMhuU()CbKb&yc77KR8ps94IB7Y>zd zMWLeMBB|~y0dkhN7Lc*zmUZBebz)U;Vpn$IR&n7|u;-C5+{NUw}qSkWP({T8WEXiJMH7k5Wy5LWPe^k%vf6l3rhm-awkcNRGio zfyq>f$y|lST!qO{k=9U!-bj_fSd9^)fij)00=1Sbg@!blx)dp(Ek~)RNTaVr3ke+R zDbO0JFj{D_+v;=M8}dT5)aEeLV71aY0d+%V1~_G{%Lx@@RVEV+R#QC=BV7QCKy<%$ zV?7RYBW@dW0Xr)}8w-9*GcF5LP8&-eCkFvHS78r#Q6F!~zyP_BQ00&)&5&5_$RvY= zO!JIF`@$;s$|nEX_Mq1OsP>^KP;2)%NHwN+GPZ9juID5&f(m!*ZDR>=7Y}_S+`=~x z$0GOgs94n%0xQ?-ezsBC_hnp)cL0EOKrPXI<_vftRFN08;6a++I~G4dv&Y$)OImy zf?4sxTHef3&g^pj>}uiYbms7M=D=in+hBZEOK5(zcUFmOMu|&qm0MPoYj%YTG_=L_ zzF=L5c{M)Z-lB$p!WzH4YTtrt-~1ZClKQ~nhLDU(zw|2qtm=S_>VV8D|CDl{PzF&X( z>oFa=|qe@(&O5CDLT|@F5pbpV5!@@P* z&>>38FOF;U=o#Dz4)xW9X-75~yPA zuL6Ctv7Z{C<1VjaFAiwB$f!9=%9!)ZSqg%RmF>hp#ZXtY5rK-d1(%`|r@RZRqBFa) zE2oMJuYv=Yq$!7pE|ahZ6NfYW|C{p@ z{(tR@76Stf9R>zH1_mQ0CKDDGz>JLzIsKn?sIcPVvJ>FZV`0!^{|A`x5SZ~1SO_p! z34cP1`4c+SH!|Y>yb`YYCu{^5yrdX>Wd8wva^w^@F%ktSF@&j+2t{$Ke<4BrFQjO( zBxx`K$RSG8Vaqb$$}r(U$1X^N#ZQF+QG^~>j0snS0b7U;Ly{F=iXBhp1c5vcks=?7 ziV&Ha2!*N`xsn(upeRZLD2Nct3ljlyLWGjMIO5z`fD|9DtRMkYr1|kAc(CEDvN)Nh zERCKLqoFDbps&oNtH@xa#tKDsX)352s4#2G)4`#Z0=>Q_tBxj%t`@72!3lFyUQ2U6 zb5kBulM@!^+%`6Rj*h}EE+Ve3qVDeEK0Y#jfeQW+YW|U0!LfQ#sm4jU*3dK-)p?aQ z`_^@b*7t-o_JuVMhPOcLI~)lSXdaAi9gS}qiUs9DGYPl$b$yW)9YNLIVdd?CB`y9X zEq>+gL6x1sa26_6?ZLI(p$)x}@Qp2lu@I3_*8WIzrE5HSU^ZiPF>hkEU}B{Z7+)@c z!;yttNTxSR7q+XGc58t3{l?|JS~vt2cdCK8t%{jbC5!8Y%clyLH;U$0^QY!BM`lt- zXEH`+Gy5k}dneMmN7I`6;-It5uJp_(c1XlgPm0Sil_+E)6p0R~)G5Ic$xlU2JPGMR0 zLCBU1WJNMt7zV&kL%9FW^4^N)IKX&fU;P&;djZ3ZT7h5(iwk@4&oLH|I zUMw4$FYg>HsP0Os=uRl_jw$VoDQXMPYYxk93{0;JOsn%tuJuo-^@*+Yh8`I78&qH) zkZbRkV;z`n9h_qojEW&SHX*szp}Dr9c{UKk@@>QN?BI9yOf+4JmR<#ILHw#p?3e~cY(ub(y zE~8>EqUI+ ztb&>hf@+Mc;^g$aL=1c+4BTYYY(&(oBn({StUP4Q+(Zl2DHt5 z)L7i4$f=)}Mu}PgpuiBMKq6GY*t{edJR}%=D7Qmhhzg5~41)u{kpzQ_0+WvhSAZUm zj~0iA29uW-i=Q4#kP%0O6;GUlP@0EWmXB0MfK*11Oj?jcl8;z|k5Gb_NRppOik}23 zLL4{(?3nzln1UQwqFnf5JoqAmzDov*$ z$EYGjt1L;QB15mMeL`ECLsys6(1_dILeR=u*uqlK%z_WFvK6p%6tQkh8zMtob} zA645E3Cb;MM3h_J7F^iq1C3=-lW#%2Pky}@M5w@7s1(+Emp1uTwT0Amhd1;f54>tR z!a&ZIt-&>&p-^cXj_)2%?VrvVoXH-Z&l#S}?VU>N98HEewuq>BdcACFt$2Q`YUWhg z$+c3{&I#pEpI9y$UC5nT%>x6^uH{cIW(`lL^o}P1JrgPILkaD}iETqkwcXLs=w?)S zCKtOTp} zyF}zWgMLGE96-OpS$2V`R{m*L{>c{JNoGC?rhciG5jl?0B~IBr{&n;5lNYPcJR80C zX$>U&8j6x^Y+WNmmiLvyghjE=FF|8_U6d; z)t>yW7tOT|MArCk$wbv;QHUC||-5k>7``7OaYjRBeUerYw{ z$u(Z7bv_Bzp0O2fVa1L?`L=$!RzBGlKAGkL*_J^$=0Vw(!MPTQkpGMz;qXG6h(i0Y z0&7sQPnw~7f}V4{mTQuhONzE@s*ZEAmVLaMd6>L`zl64@h?YAv!@?S_BD!9Zrh&@V z;hMIQ+O`ooPO*kwsg@qe7Un@}s0k9Hnl6%>E)pmM3#&Sasyc{(iWO}Hz{9eZ+|t&p z5|)gjru3qw3}VJiqJ}I&T8w;Z^n$9)ETZHzTm&?nM9BUOj06B38!6KX62=omv@H0P z^f;u{ScGKA9>q8W$Pg{+rFB@yzUWvuDDV()uztPI?ysQl^Z#n#pC10d^os-o;}@hT z$S@Hoaj+<`G0Cxh7XNh$>wkt6^WQ)h$*~bAaDMXF|J`4Zf&cL^=AcX$4rPEa*$vGT%=f>WY|39INTJtycD=Rlz6Q8sID6i>A+b~?KcMz;&2vX zEJh+sCSojhN?dL_B3?#fE;<4ZYHT)2Om=EaPC6VOCOm#tLLm+!Q7%$3ZZc6`av@$) zL2gn3Zeoa#3-gkT@RM`1;h$i^W@p5L2ss}oAuk6Z7aJ}oD-I6_K3pa)L?taoCnw1$ zFU15X%dts{(1;0A%81h|NHaqnP?Bd+*Wyyq;!xA!)HdQZv=BD27BjXIHMA7eGvhV1 z;y1MuHggaH%pHZTUB&G^rJa41ocxtNg4BH?wZjsPqcf~h@*UGkT)>~;(u&qV=xm{( zh3*%$j6B9_4XWr2D{T$Usr7%4O+ zJPK;O;I1E3T-_cHv7#lUtSJC05Gz|lLCcN3v28;MU1Mpzlj(g^S>R7-Vp|8}As=1H zA6qOMna`VCDIH%bgdF0;atSDUa3&Y7ADhn}U&sLlXEVCS6I+MkfR^Ee`o8G8zPQ@n zxYG8BoI3xMQqQ;|*VqErpfqd$WJ{j}Gv7q>z*OtdO#84b2Z%8RZjrgpkO!yR1gG0V z0*6ox%XJI^vh4#hZ38oG{L-yKzrJZ!o(U$%YG2ge3s4EmcTTGf%I)n4u0blpuBa2 zx?`NKOQL~Gf{{mxSxA9XXn_ml#(qkAUNZV#at1zf+HO+X?vh%rk{T{zpkgIE0eLGv zIcqK{D^@WxMqvYbA$@u=17 zh6#}{84WfO1qL25B4K3G*sqBQn3#XQlnr@V+kf>u?3aiCrsDs}XaE2DMTCj*SBSBG zLW2F1UlsHPgc$!BQfzDzEG&Q+6B9t~7>(44{tN!gpM!}3^8Y6^`0&wyL4}LKOoqqH zNXgGk%}PN4hqSnesF7Zp0F#*zigEjr441$x)Vlr)GbL~LI>E-Sq(&Cmt=y*%okTHjXCg1#e z|KjG5{Q3a6mxm5By&SozPbhFqDRE6Lb%Pv|#6l+k66iuRO5JnHJ@c!4ifa9f>jHqn z8oz>SUpRyWfTXN3xVkN(u_vyjKe2Tn3A9|>5mna}1&1K#{;3>L?%;IZz;q5eADYRB zylXVQbuh7OJh^8orFSy5V>Gd;KN=c!gx=VSj)?NkC?LN%EWO$k=~_h zU85`Q!b@yIN-RT4tV2s}Vk;cLwDFbBiPf%2HEt<&9;x-7Xm3LTK$6|+4`ep`rZsv- zlv#(BTZNTb!%qk(F!jzhfZo_CQOh||$01JBHcG=TS`!THnP%#pVeXS@;hSk4Rpt>_ z#<(ISKk+I;Cu{qt7R*a)Moy8YE24ga;BPq`)Mi#3836q@cqkr$stpB619T66Bp7*!ajq z1dLxg{rTErOw@W{%)hm}zxeg&>+g#Gzx3!q=M_>Fm2(YmKD?d{a;*sHEQQ+e+Q<3wrG4r#tuuxM_;$r{mCSl1ek=-Y?I;uG!(eBlz8+sc#L!eO!S1z z3`F#F1PlyB%*>>0Y!vM5ln_~1$l#Ec7N3$5o0JrTj0}T{3I`4W8d_XdHZnGLa!xL4 z9$q>DK_+1lR#7o_F>wxvP=UIj5VM3Nr=%2@tQ?<`x{$COtDpjtuo8=;2B(5Pzp{}K zplHZ1rOhs<&!ue2r)n;sYR;!_DWGjDV(2Jg>LO?EreNc#Z11Px5vJ=KYZ97l6_#!j znPC%?>j-Mis_`vo2*_&;$gA_qs`bgN^2@CYf(Uo?a6v+$DUc?9P$2rk+GNTi+d7-yhY~7X$jOXb&lF4lZdyR__+I zgci0&067hzDHXoah3+8Xusk>4WCyo68OYJ+?+D~6;T|a8rxX_3s=bNT?DthM9y5~|lr;}Tz;v2_fYeplh zh9WA4!V0?rayop{n%ooWonosUqHFA9Yn|fioWabgb#Cbm9$C%a;OhL2fWoez;+~N5 zfe46jSkM_*(i>XV9}Y3UD=4kSGquG%slheA)+wgS9<&@tARy=Apr#8jXew&a#J z4;Q|85Usq5f9>w-I?wHZ~R}_CF&oYRm@*wb~C0^%sYZ==!g- z=&94X`^Zl^?L;SVig_HoFiH4Sio{o%w5dYs@O^ksBZ8;e>E;%kP2_`nunPXrP z{aGi+!K1*%M=zOy`y?VfTyo@jEgm5bCfp!VlM_)<5YSK((ohr9(Gbzm5i!t_(9@An zQ4`WIkTSDSv2f6GoS=sYIUN%@4J|Pl6+Q_mHW3*%IRzdiEfG{8GP6=Lb5OFMpylA9 z6H?F+7nEb?lV=rDWEa!mR?rt# zG7(ia7Lhj+6jNuH(BYKR=ao0%Q!?RKG8fde5!H2&G<1|Vc2=}-Q?d3@cMjC`h%yd{ zw+u?L4oEN$PP2~7cS$by%BuFysPWIJ@=mSvNw4tDs0vIk_lwSTiOh6>7?a~1l4cu{ zVjY%YAC=`8nr;`AWa*!15te2fo$Zv8@1C0HmYm~~lqE*K!isBy3aSE1>Vg}(61qk*n|qT%ybxRaQ`!g9Tl$h~+hfZc!%CZj z%UeS$+QQ0OLJArJ^XmNJV!ITH{;ui?Gt=ktH}u|L1h`m9;A&*bDJ^F3?!?7b#8 zzdfm_6O!J{ih(RpS$|qlS4w_IJj&tXo+Kdfow_&iD1L#)AlNMJOPRC0V%6irhc2yu z;lqRPeSP|?saJlOdiVRO>)+h|$E~Tar>1@c2;aPU^VZENgv7Tjx{09p)~z3I-v0X5 zZAh3u{_f{%H@>|5#s`19^v14>uOJ+L?u||7UR`_fwe^?Y+4Ah`8&AHlV*lx(J*VdG zIytc8Snt-OT|nb?lWnUfTgP_RjBcwK+F0DXHotpyZr9qpp7jL))xOn*0O6r^2!t1I ztpV6B-PO2sPt*Ft-7EIDj_s&lxV?7C&e_ZMHbWftj_qk!u&Zuld)45kih=c|-D`>< zh3;Bi)V;E(WjwE8BpnFcFh8SVG^=Se7n%7sFLTba(t*{rT@w}UW5p1u=uOUQ4oj;I zOsw{eDfS4;vG+|e0EC?*<@VuHLx4yGj7DqPuGPoddQ=@O)K3%0fOu$JmL3;~|Z zLU;=&6`Z2LUQ`eP0i5w9D|D*EJrMpahpq0!XJW1XYdMTT=N8Y@V$q4xXm6e^QUW01&}IW}}QmBV9jgbbOA zFH;Lt8nIj>M4+t}sP!_fSqX87Xbf_LgN=iW!O7Fs&CA}|$EB+3=&Zz22FKtaM zZb^Vwm9!?7w*!aMYI`ypda@e3GMYOxTDme@yR$%TJ=yKOIUopvKc_DjeAMX~DjFC? z;5>J6$-FVhmdl0~myIl|99z|}Vq?py&2uI;wJuxNykza{C2Ja&u4`Prz6By9=uESf zm5bKYEM7l*;oADSE2?_NN=DW;&Yh_3SyI)psH}BCY2$EV6(qf#8M#f645#O}WaPD^ z<~Adx5{f!9AS*8K%PQ_lE9gin?oO>3%%~d5EFVZm$}DummG`C83?Ty);FR_xRrIHV zUpp@g9j|~O_-@WnF%hwKGdTr~4SJ$7ry86u3m1nQ6eEQ17smsfb zKR5o=}JK44NK*y>BbC4Bz``f{;I?%r6@y_K3+5psx zcQ!8G(J;KZdSG>F=klVqMLBbp6e4wj#)_Ipasap1?pB7^q5nj?PV@ca>=zq&6n8 zOwHqoXcPvPFntdWS;>IG|5iAQes@%1dXyMD?a$Eum$u&@CI1illktiFQ=xwv+{~;6 z+K7k`SY#0m2KS&PV2DI42~bQ16q6`4GL=rHGH6sPg+M0Z$Yd;oK@tcV5-CS4VFQE( zLaso<7s-TTIY3whK3B+L^I3E@jfUjYfO0aGNr6okkI50Rcw&}N&XK72QfmQ7p%JT% z3WL4cS}y}fYpVj^?5uZiGdX+OIeXh{oUCnJ6k2y{lef+>$krv)-YLWunCuXwcL>&@ zatzfvhwI&b|VH{;aye zoThpCZKK8YeR*}gd9^*c)m_<@9hnt#GRoW2%i7Wk8x!xUxH%aju&cTwtGX$rt~nJ{ z-;&nQnhu)XmH`5%X--y4XHIiRHtNjjE$A648C-zici!Sku;4@5JhG%_@yhx|D;kh& zd3il*7fsYHo|p~sg%i~y6IEart*#$m*SK)a?0L(pdly#>Pc-x`sp(u;-ZsCiWnRhb zp`z-Z+|rKB!j_DJR>UF@Zc5H>O3a5}wl%r1Jt?m}p`bmkxF;C^TRogvIhb0~lK|kY zotuG7mKe=zu-velJwK;;L4MofB2eq1LQvPT@&#L3HyvGY==|z;|8?@SA1?kh_2$&n zhf~NLiO+6LeKR%n^E8L=L-8$ikOCU)z51m5m68 zuS}eIaplu5u6XLwvg6N=oqTTT(en!rJTy>;-K&)U#$^ z$HcDI<&QP5KisqGV8`-3ZA*8xjPGb!xMlXx+UmZEvd;11o@Hgd%PKk+7XxYQ1~Tdg zGvPaW_T1ct!5mQYa6$Wm5>Vq%UQKUCVRLM5Lu6`2U~GX`NV=m>yul+%?HZ~!cu1vY zHrtxaR1!s6roxu5GznxnzEUR?tGI9hNTK5p4qNJ#5pjrvd2mqoKXdq@^k3Q@8kG;r z?f)%dtY&2IrSW~1Xc+)`(BhD_hsX#C5k~+TQ;1|pjHzT2*-{6OM8eQ$1U84v7tleF z;)=w4p+qE>NkAg0m@g8rc^n3tNoO%YG$tJ&4i+Lz4h#6q;8Hjux+Nj7!lu2e(ZR#4aZ+15sX$scwb4s&>uog7(&{{HY<+bOK}P3LGXUA- zYh(1Wwhz*}hMV0Y9K2#&{Np_Wl08Gyyd$y$5{tu9D`Qg2BQk1Z3YwA%+fqu}Q;X-M zRdlD<^yQYeWt6n07q_GpHK!IfrR2{}%4>SAN9L(#TR}6VFM8FO$ zteihyJu+Ska2{S<4Y-DcdH&LhktG!ime&BBN0!&k9jojfDeYfW*)>|xHdNd+Py}k| zFR1CtEo;v#ZObZZ%`65Qw^-hPb8Yb^ne@so?xOw~2sj06lq`irb2qR+=cSa^G4b6wY0}cbXzyImYPrkVL{y$H? z^yZ$+uWr3?b=|oaSDt%e_1PCDPCvKe_{H&K7nU4(X5pbzBfF0e>^Rc5`EcjP$0G|8dC{i&ReQUa@0>Hft!43+rbU~PyPN|ns=CKZI~EpqE-L9*SlT=< zAFg!ZlBcXSrMxY*tR=OiDY>{Y37o1qnKhl+@a0?Co{?J=j{f z4zxD=$dz_{zBQdH#FF_|3=xs1pbO*-o)o$66H3?|E(NY4i713I77qXJ3H^ukLC<3R zjP>7}5>IELGq>1>8OL~Ni~iYWXff!z!r!w%TBI`4efG{%qL6DQ$dIvk5`jP^S~6iI zQMMuztjH8A1`QdV;BhGMZ^q-Zc|yKOECdKkEF9+XxhyW5#byF~Sr#CpKAXd0av3Zx zg)O2Ar7WR>EmiX58le{QVFw!*53`-C-qt~*H7j){rOr+TzR5+WbJVCDtW|bOuv%x0 z##OC$R4MFbMo+bUfYB|~-p=2kb5~lsN=>tD9D_~HA$HDT4jz%t9?`D8@ty&xKH*t` z5qUw;`9X1|p=s68>2-0Lb#WODak-6&1uZGL^+`Fkh_Y)Ev#Jv^tKu^%<3Q;Zv7of_ z7!WuRhYoqrvnVpZI0{ry5?xpt11c(u1wjP$!J>OhDge<*jqRB&U72k?xvkw<&7E16 z;fvgk{=7MT`Q3912S+RCkJXGWX#hL4uzFymY8d(L<_s6iGB(wv0yPV6Y4;0uw{wA~hdC0x=7+6r{o=5exXmTdGGAE!7|&WXykR z4*}u-W)$Nrvms_|@yHTvtkqvtVz6jhZ@J}%+yNxxaa01H z3LM5E5T*c!iB?pS6`h9Run0UZnZ=^8*mMD(4T-T#DwKdALl*J4kQ8$mU^!eS>T}q1 z7Kg?c&;(MNRL+(tSuzDjZo}2+Bzm*l&BNBwO=q^Z(b>v$2AS3*HJMewXM>~G+Rj>K zQYcIcwVk!Ky~^5FAvZ}(ZdwOlTem<5J0HE)Nv?Dd8Qhc(enz_hTXUeTeW2Mf)WJQ{ zbyk9>Uy`?fs!vE}KzLqITuDTHd1OKvQd}#!Dk`leKD8n~tt<{zYH2Jer6lIAl8d90 zilV@R4;?bgF zbM-OMxhp$B=U>_hk;`u!fL&MLI{5MDPk;OUyN+u#?H$xZ@F}J z%X3#YUwD4w+2__DJGTP#x3kNSoLM^g)Z)FzMjv}(2-4cUCl>BJKDzzM;Z0A>-SGIp zxk|uV5^^hJv&&*KOQO;WB2)6hqmunV zkx9Ow=oJ6>jNsI~$gJYHr0lSS%#fJWfY3NEpHN3jFvxhRL(B%zotku&5fHY$~xr!|O8b_y4Fy_2if&e0ltqgf8JwO5+# zZA{Jvt-VHNRDx`5tq~O4DwRf=t((DNmdVlE*6gX%Ijb~|GJ~tiJj-D6HR-(#AX|U4 zbC`=~tjDZ)FQ9QinqO#kP*g#9OmTR0QCM_wXk1xDLV0vzF~Iisl~fd+SQwR15D5YY zHdBjY((@v-b0c%|qCmO%(Rl?ip!~wv!s7U%l7!;YL~zg`Y?f6fmsG}8)+f}rq|I*2 z02(9dac53@Pkvo=IE$!?t0zLz8`}^{GyR$myq|a$j>zI??)}Gefl3Lf0 zR8j_ccvyB`NM>GeR(?oEen?tYU}A=EVy1UYx_d&VXLfmTb8qJGikgWn?W=cot=QVM zd9wG(i%Xw-XWJW}9(?zkBR76L@yX9;zWC|+PrrWd!_UrM`{?8w?>~9p`&j%;jwmdG^ZoYwsWa^t01H|NQdQ)Vm0ZZ+|d#8&cxWr;yoeUxI!? z<`RQG|6%I$Uy%6MQ@6jGy7k%At&gGe&%eC=^>;4fL`FdF8FWFTA|t(v_{x zUfz1)(&lHL-FWQji6_r2KXPjM;itwA9vjCqy#5rMaHLx#ioWtB>2N#uRup9FN4Y1T4$#aD1gIEGK&lxMkf5? ztq3FxiHt|f{7x5{ymLYkkg?%=64yr@o^c}}l{059Jo0g1|0>}gUeg0p4~T^Q16k$| zldY_%SS$^PV-Rsn5}rxM(TNx)8N;Ml(aA_wOe0xwnK+Sv%3=_>EUJ*ll!~}=2_FQG zM92|v84wf;*dP&~1)I=~%_ItiREd54Y#TLKrx%*-O;nD~ zI(rwB-d?XZscnol8e5IdUZb_M(b%c%JxunV2D7`))=gt_RfE7WdT8}t25S$k%3Y)N zHrj_cyG46?#Cf{Mx%;L01!V_@7lcI?g+&yGf})DUfrKVcX~(CpWSr+xlLEDZh!CnC%*aSc}q(C9-#QvEo5}!_SC;_BKqv- zsn33#`sBx{kH4R~@$=Nj$fyM*!@qod`{qAx{_@_BKfV6tH07m{ zd+GKLqyWXn=7sB;#@DqkSu1L^!iJ!5x)cm}|%)i1;YsOjhA0eHH z`yG*R76@akC|D~R9s}%UkgzNYo<+ejNLDN=hE2l)hsk&=DiPtZR7m5o$pS7_B4EqJ zY`K^x6|uy8mXJpiArNLj93o&L!n1Ig%OwiL6uF$Ku;yqq0=-G<)>i@a4=|%Y8#VEZ>!ZiXpIg)W3{uF+3aSpb=DeP)b?&VV6ua| z-sGk=dFXB2Y}78+`dNCHU?;B_51&|1uUPlsRKKw7pqTuyn8JwIg3zdfkocnT#FEI= zVkFB=0~N=n7srClD2YoiiGxUTK~!>nWMW=KVs1EC@YC|6QZvIcGQu)5!?Us?K-t-m zIXO|Fq@;k9lpqi|adAGN#6|93a!pBeON?`liFSyJbO;Nz4G1v!`RRQ84Boza z4==TgyWGRa+Rl&so3XUpFHrR(cA?d_O6wczP1D=)pd>80!2-}-Fd z^?x7v>ZePees$r4Pfor2(ebygAARNRL(g4B2z>6j&4AxMhvx6tI|vqNeC+hfr_QW; z=Hi;y-rW27m*;NXe$6sU{O--$@86#K@b=V4w~^suM86=*oIeEJLdK9kn*ti&{P6b8 zcW?gu_K!cl^3~VRfA;yg8y}x~`~AaL{=OR^eD31LGw0WzKD+MZnYEKg$M+vuv}d6*sDZS7nPsPFFM`S2fS#rJdgq4eK6 zE-^jpU`F;~*L~a>XPCMD^$+w1_P*KOSSDN{ z1}7IiSn!?QZ5>^WcFsn#gHCI!(&!a%3fMdA;dB5CrwQzJ^f0-3*}3^Rc=|ZP3FSIV z@9d*>_0hWc>OA}nomEich5)*Nlgk)jPs9;@{SDi2n%)%4RQg6 z1Ud)#JNo8`ul2qz17~H>RBE(&^aj3?B{Fn@>ILJD4ZN+jt)|g zy@OP1;OLB8qgmkWE)R`zC@hcYpI<()Va~+HwhcSGw;vqXe{A%r=T^P&)?-($?Y#Kv zrq@3>bnWA#*Z%ppSKmAI(%bt%&%e6!?DLzCo?bC|d>k^;t$PMG@9N*WXK?4i`Fo!j zojkGV+>7g9dw=r7&rf~*)8$)JZ{D1G^V^?Zo|?L5Nsr&Nj8}lJ-9{+=jwSNe)X%Tp z`r+lDzJ1}#FD~5p$H{B&J^_05_5GKg-*)Qssw2mi9DZ^P>=Vb9?L0KHq10%rR z)mwX)tZjoVckWpI_}b2e6YcYtHV==t3@vW%TQIwGZdG${>Flnerk;|PzB1IWY0E8} zonBO%oL3p2UzJc;lLRWLPRuEfMTdMNk^;jM1H%#mLgW2|V|{~Sd;+7r10sF=!e@Dh zc)0mFIeM9q+rbXVMHc*zsSQf4-ddwmskKUwjYeUumV;I>E)GW>FA={rHab^vFrxEULL_G3% zYtr~Y2407bUkhvu_O}c4vGesbdbw)d9IajKmCkkwkgJ0Vtb<8vXAqn9BCy~)+RAK= zLbI*V&MdOG69YK`q0UZn7iR@*g7u!I3ktLg4RH((viI{f&hpZN_3_pNz1>_@&;dHb zOF*6;YIiql*mSU$*qQ`J1J9u6>hxTd3ck)5DjSC0#Dm{AIm35$Yv#N~HH((dUa`J? z-Hxtp`v)gajy-*O{n;1SpLlk~v#)Hu^7ihR-`#ilja|>Zy5rJokDYsQ^RaWQA3wQt z?~#RD_YJPu+PQL5`|2$n>vtdv{dOE0JbHH7#lLU+`+EmJ{QUHnKVSat=9Pbc|NKw4 z{{G9Yzu!iZKhQLx&gbKQy}U;K;5+Bb)XNt=Tzu_4fXyn|cN#d6g~spt8oCf||7K@#s=@sbV8Q|{j=j!6^WbbY^I_WiL8SA!1`u|y;g@|jE~jb`ESopT>^ zhr^HB|A!6!6G$WynM|fokW$j{zd?rv-_&F*foyeGB+JvZk)qRgYWPD0d>WHLq2nMu z=Fsqv19Pc3uzWfJl3@vlD&^7y3?h;kL*C1#Kt#r)%lQn@T}L5cDupbSh;1$AfY9K5 zlJXe>A%ibsiliK=g0E6bbVik}z1GfAZ?e;X19>l4qgf4c8?6jFD6BJ3h$X%(JuQ+8Ws=1Iwsq8ni56tVtu(skmx6Wd3x8h>FTa#)M6! zm?jreWCAh>9EF&okWrL!s!Bn#R?^khOpOgot7hvo9I$#V*K86w+RL0B6(A=Exr3b) zb?nU&0JuTNgFdKC1_8*Z=YtOifuq5ZB@&WELJ>)b0ufFkCjyH7LyXx4!SyX^z4J=v zk5{8>_crh8J8*2_!4nI2ADR33sj-vKu0H$X#;2d(fC?ad@YvYCql>ohp9lCITiH0W zq-Jz!?c#~qOV_ll+}yVPz|i9-mz{ccg^w{{_@@BAHICozw*-Fix)PZJ-7bE ziB*$_$9M0Yzir3BhAlm7H}|aA)Vp|n_vl3Xz>>zE(Ym&w%GSQhroIZmZ%co5V@G9e zTUkw0Nojq4epzOEVPa-+a#l%lc4-RO^umOsoaor}u&9*a=+uzNsf|>m6bThVflMfq zOQkZ2R4SE7#YmHgkR}!?6bhBK(i)nLN~u&rAE8jl8Q4GQVAn5a;glr0zM}?oo70`jkVi^~>3V>DX+ijbN@cO?)KB~mIH2Z1A# z(^b}NwVDewvzAltmW%@jHdQjRTuhLO@F1xWClO%9e2j=^CE{VMr3`?rOh6TL2|_jq zhgvb01Q8L32)=-Y7qGCX74ZpTAzmURNyS9Dgo zu-B*)0%^52T-d9UGoa^P3+#ngfrTT$(F9x^n{6es{H7e96_;-%Q<5EBr4g~tnR$T? zZD}3-c>|-R^Tx`@R@blH-mzg<=c=tO>vwkSIy`Uk#FE2LEqmhB@}o~r96UA-q}{e} zXx+Bnv5BU^(ekdr0(for+~U6Bvf;(m%ht4Q*gmlH;DY04*1z=Tkq ztgLP=E3Gdos>#o*$jK;5OUz1$N{)<4iHu2&02`eW9+40l5*rW@;p-db}XQS7uv}&2PQY4r1B_fWH z&ld1Ne4YTr-xg3&^PvJ1FxGW5hjpcK2AaGz4f^5dLSad{8+O))ciik%Rut_`?Qh<)j#33W( zEIbE3ItCWCY#NqDLq>R*R4dEztt`jK3V8$s%K{Q$Ss|qZmStk9R73^~XthzY0l#V$ z$6CQu${6?Vm5C{q>UI>lga&c&g*-gGPX^seBqYPP43~!k6pJJTossM1s|kyC%r6PA zYDjGAK{&T@lX*Tu`#$1gqZ_o%pNnjZ^Wz zBQgQ`5lDSc93pVwJ=`5FLBAAGsKT2;`=EkN=!TSOy%T{={M`r5;(v`(h#2@O#0PFm zLy&}@7P26Ph@p{jbPApdza|-BCX0#zfdiX#(zJb0Kw1Q|6fDfWV{~P~w=Wvo+;PXY z-LY*u*|BYR+_966ZL4G3Halh~>FDnNx$lj0-}`pP`||b}bL_EdRn7X<#9Flqv)qie zBNh{9BO@dNY#&{}k*3Mklj)s+tL~eTk|%!v)airRgNVK(!(qF~1o`*zK-f?z_6<1At4pyDOzpzPzJ93bN-VLx)YG7$fJ;_f)t7gZrg=y{EO_6jsM-rI9Gvs>E} zc-eyr+O@Rz(()YN{kl@HYPkD#a-r1ycjB;4pV#g9{_~Xin%C2Ev!Tcql_+Pe!M{I^ zvFKuD+Mu=2(@jKg_q&0wl(&JcwS}C8ikgI>y|tu;h>eV*sEMSXgO8nqu8nhmXn=>j zrmncIthS5kcl}r`V7c%2pss|ru4e{ZB~)rpZhk9jJt^3tp4=Uzj#?R8wn}6lTOx{1 z{1QoIRqJNe@HlY?@-&^8V!B}Me%x_yQ9P}0(69_K^rrRD98~&*E+Rj~Ohaj)xWdQC z4s|F5Lc`23oZaXWLodl(faWN1LnUhMZfvOE;{-=g1_u-hK{+#t@s*-d+#ZKLjX^}@&3(k1V_vFe8DF&wQV|c zMkmVli@=~tbSStlSOKoEsUlG$?0Mo|?+0gw5dUaRZn_Z? zrrKe|#Uf(C@*|d9e`oW8hA1;V21sRJID%?^ioxX1l7)nC5%kd?sP;t)omH*5nWK;< z#~1YD!a@#O9`b&7Csw4PqEUB?i#NNWctYk7AL$UMZl^5vvBZYLNeKsyl3CzFr!9{x zwG?wSmvDNTdm>|b{>A2=9k;fdtZi> z(&nztsK?pvIveeuOh0S5=Kr~nH>ve(72Eoz`7Cvt z&;eaohy@785(Li5uFK>5<8NGA69>{6cC5Ly#jH^3eEIzt!D0n>(pV^oQ!v3|WUj$I zZ~@K?WN9KpZ14cS9RzW5W58Y!&RWG-mK&~v6IbzXgJ@wA{wQsv^qDG83!*@W; z!ZJqxLFq*!nGsp9|FT<;<|QOfCT~Ir;dGaCT4SA8ao9W&32jy|=}sJ2oD2^Gc0$Vh zFZ3Tl&TQW{8etF&b_E3=Fxl zTZ93f?v)|WkZe7CV*COTA}yLiUt#GRm7Xv&x(h(F!^J*L%ZQ%pkCAaxnEX3Qi!{!N zz(|)+QK?i>t3+QTPg5gJM=ON`X?ZG1MFkrs(f<0f(cuHw5+Hhq>>)1_OI9_bqkDio zZK=^^?+#cz3m#vN%-8ols8Fz)aTE-6-ULk-UJnK>6MOItA*OaKC?HxLgf$?OTOB86& z1EqbYjJ2bN%qwCo?FU&mqH_#ttX=_-A%vm>IiZ7uV&p{RW?P3CJ!%UfY)yl%4`v9_ z2kdO*>`jFWi{zLXA);bEetv|4g44AQt?{)e@t~7U9hiuBt_${q*I#KF?Ux@UPr%~Z zZuI{RB@@KwZn!Ra}HwQYE zw>4E26*M#yR(Ad>=b>(6VWbzPDaZ@Egdqh|zC*{(Xg2V>MwDPaS0FbiTCk{t_Uy>afz--Ffq}H zu+i|@CO0R?hsV!=bxlo+Rd#kMHgS?=+#4I6zU|`T;YYZ|tDGrFNF2-tJH7UANjKN{w1HcuTle;aSEG)!lYayby{HF@;kA3xwS5CXDRw>MXpm$%n9b_{pt^i>U$ zbM>-vvhsia#Kg`f!pb}*%DVoOe{`O{cY=9yL}YeD?BIl=x%rPKmRL2eN%|^GJFe)v z^~rdwYDJB@DF*zLKyB8r`a-!Xf{r{HLVqDj;y1AEIIw^lN)`meIRm(_v_W+@EYnh) z{oA67frO2sznc+TExtgMuNwxPtW0Pua>9{sPkh%+9E2#~H?fS^G2wCtZwz>z)E6T< zi42gd>W$cOA>jQ~#+f36&e{}-L8Qq}>IlJcEy{K2_(&MZGL}|lZf;BM?PuHi3fB&; z#10;Y#3+W>inWTC{K<-SD%R?<1gS~m#|_Y;!Qylpv@Je@6eFYs!FMu=E$);(AB^-` z@pikc4Q8YFaoISvhU|`}$9pecyDu+&FE3jXW}y#K|9sx~H&2_V9c(Hqat$7ep6n9y z7+Jq*{yM&M6NpcnZZ?@q!AeT`fxFM*SB;IDfc*<)Bs!)+pp%g6j)!cqz^tHWwW>>ADnki3{gdmPlkRfWd$m>_DOp!8yMVC5b?BwB` zb$peWmZq$uBfzoNVRKxFe34e2rOndX?r2`z)YewfR@V|}tf&;|YvrkDCa1>vt*e`= zx1No@On|q9hK-M#g=Tw`dVY|6XP9%woS?SxSW;SMQi?EO$#O1$yXfr(+eG&zQ`;>EoM2?OPgrFmHu?GEEs*s!*x^EXdoS||ayj#p{2g>ed)@Tp?uO!erXNwiy_ zC^06Kb}QDe+cCv{(+qrzVgo4o;VZ*{%z@1WVCfEUmSR@{!gU!eI^(6I_{m#=m%kvUUpz_(q&10n(-12d)rQaX}zut;k)&p!3Hi06Y~i1Ye%`d zSMN^t(Tq$r2zQEd*~Gp1jMTgoo~zK0@9!g%lhAT@)Xfn$ECrw>sCf9<{+)L@)=`M0 z-x(_;9&+q1DhZr0-RezGneSz4-z}q#obK$lmWaH0H=Ajo*@ zp12tNUa51y*q)klvZjb8`9~hqtIamp+Ub7x`WoMK-2MEwSXcP@_iy@*#CyQ=w9#+x z&zC=oZ$^S0zF+g#*NgmJMvg|_?cUabPg^~&!~8uJ*)@Mtef+yrc5Sd$Z91BkA2U^L z8qy3HtWM?TAghknhf}noLR`*p^!ZOaDMx8HJo-6YJM&bQm%8@i@;{Zw zp?Q{_G`y9{hIId8DH50U+`|qRHOnooX?58v1{nOh2^k_PpFJSCI?>yuRjFyL=PscDHsr8hV=^&Nku! zFuQ_p!`tEEo0vVeaVH)f-8y5AST43?kpw!KgQ-iVl!8Wz)7T*uv70DUl~yVGf;W2M zbF@+S)zz093jgLFs{t41F2p=h`rOyvPKVgsR<|jEjv2L<>j%9esYK^4!ey6)fvaCh zetLAFp`ob-!tt6UAFq%?djH0hWC&~nyry;$C+?n`^VS~5tlXwtZ)F2c%?`*hkkr^w z1P>?8U{mE?%3Vkb9IeE-jV4-fEHyoucKsjshMPWC-<}P3dfpCBu1>W)^X%+zjJDd_ z0!$qJKR#buVC5#enwq#fb0?=q(oF&Sbq1Ab-1Om3lAk$aCg=m+j#OsPWKBf)(|zUR zY*oKi?xtNZ#tI1yBpV7Qa~(RV_`R0B%)-4Y?{qg4%e>@FDU3Q)^8C&Gg~9sZ=Y_;; z^^hxj0}Z%DHhm~y%Gc|6>=|;5)_2x_w|PFS?_A+}dKleod3CgWxLpl|rZ#n1r8zL> zbuijkp7=Q4>$bVJYbjLkwaDLVLL zp~W2S(i~EBEDoWk+c>Pvb$2ei)nC>wxcx1A7^zg^0i>r;p zbAK|X&EZ<0)Ai!G#demP>$k2>2Pe0$yN^v5H)+-8&UrJFdzN0IZcB|z0HYhOT}}3r zrR%lZMiv(N{&&ZJx`V6dWRZdjR8ANJWWn~Fj#WB(lSnh(XOZ<(b+<0#CSZYbAq9E1D{R#bKT2C}7&#RGgrudhrb=i_W6X^W3bv}KZdVv_DWog+) zMa|u{9h2KyZTTTu(wsHPP%`j3m;I27CwGA-JE@^Z=1Wv!N`KrQU8{>jYDXW=6W}TX zK@j~CS@;r5)RC@`4xfWGdDVWiDjUF0NSjOu+YHV`Jjt z*SwDH%4`~<)qQ4%pQR9yV&t{@-lM1$UwxTfjV%qbR-LcUx{54WutH|fdXbs&l`-W^ zyx3awtTrcXFFMk3Xtphq3!u;X?hYv}9uJ$I4SUur{lyhj~+H}j>1S^T2`17TBH*jyxsFN z(d72#N34QJ-_vvdliKsyf21{md@~?3v^_Rxor9#NFpXPu&{uQBmRz%uscF`snKN5T zy=X{%&rjP%z>_<7-X4*I$(0&WvZPRQP%a@gN!f!&764mT_ZF%F+S&5rQH+^}k_YBg zNwk5S`SKlQajhCTFJFI>iWvaD|TLNYCgOF*m)>sh5 zWF0{Gv`Ko@@%t}qqvsSvkQ!r@(MJXcab6LcbwyQc0WX=bL>i1o!%rJ6m*kQubD?wd zZp{t*(o0Ko&LczKp54L|3VRGwiml#gX)c&aSAU6dSN}*%ud_!Lu$SuCoWXIE@0~eg z?u?v78^?BYW8qhJ-^6$tFA8+h^-|qC6wGKM5Pc#j7mJZyb&1fx>SuZI(2Ce7uH=knW=L>v4M?#C3F*Nba}cduIO3JVmva&%f!_~ z);B#7Vy@(1x0wLy$YdO7g&p8kw(J=}N3$BbN={?tZ_US+B!(6STbjt@fh{MvsvB-z zLIjgSK;J19yoni2^waa;Z4W1Zhn>|#sOOfsbdHNGULA%GrPg@NSZYbiLFJDm>*~}b zy`3aN;;`FM7q9C7k{R2_;OollerSiO9+HCvif=rANsj0UeYj@7$|70xAzine886F9 zw2Pv4I_5wpS4O-viVtxBILNYR*U$DnSh&)<7>CeSm;5&24A>bb=9?OY6;e5QnyGEa zHe;p|nlr6K9|FcTzyKm_bU5UCtiL(kSGoL0W6kksN2RH=IgbL6DJ{kjju@c8_Kt?^ z?Ie>1O{MMd@&Fi<3q|d!jUu8{PFU$mD3E>Q_zq@rT%Hv6)?{IaLi;p3t%S&mDi32O zU_2(FnT85ivx*eR)@j5Pu*wvt*rTv7PMl+y9q>%N)Givd370GQK4Jk@O%not-T4A}qge~KMn5Xy3pP*@)l)XNPAWD@fWh2ByN6pYHnKU0^U6lwD56Rp;^neNg>i|I^)ZO_1U$M{ArWr=^p zNmVOEpa!|3q!GtSsVDD?;TmB<7Mn1Y6+Nplgn!V=%?&+K=i&ZvHWxUcy7LD6`|SF~ zVKkycn!zjF&nv?22vdsxY9!@~2$@xpiq~WM!wZ+RG&yivLY{hca~mwS%=a4CFEem7 z{b@em)9s=+=VtRA?_UqFO~t*Wl5s(nAvIuxALym}0nkuN*YaOgea6N6TjXYm)`mBf zmeHh5_YupU@cOSb(`mNjwZ+``(@FR3R51TDQlnB4irPkapUyfEMP+u2rJTKB0K&cp zQ@m|W&hizfHBzwkH>~4F!=HM~-}d+c%imF`sYx$XBl5eU<72D9#O>wrAtgL+z{NYoQ+*gJOy8F)R>{&tGUZY z`<{stToas8RvBg|=mf>v>Z3jDp+hwjO2rVR&SP73`O3%R<3f1gzMs9a17T^#g1?34 zsx5}xXN>wKK~Rbx|M8P)JjgqCZ&1Qau=nGTBybYc`B{v17H++<-nO{fml+lM4L&DO zHT|%6iBE!p0mGM695-0d!1kVHKTy;D8p7d~2xP4(SH;I&LQNPlAk3uD%F@9ZR8@ZY<8p2A zu^JT9sJ_3t{q8DW_4UVIK;tV5QATI2+}&Yf_7TK7%{FMMYs5!?Gmkl+zy4W^y4fu% zY;Wy(vEiU%=ny@)Qpmu3x$Lah8M%te49rZwR9QFuaB11(pijr$ZRMJjivdI-=Z$e> zj`<#S{G0s;iE6`iD z&qBcncr+BUmtuxvQb}yW7P$7E8G*t$^XYIb1OGe=bhgh!YGF=Ti+&J%kE~ts5|v{2n875wLj zA^9>w0aWds3W{JWWh_x5uU3MliVZIco$@s8awvC5+rYkw_Y34m>B=Jr z+lwdC&IfPr+pljkd9W++dDVKfe&7`c)mU&*Q)eZ}!|fPbaPGVR?`uu;Aqt> z|M*8x?1CHQ&EN51nT}D~MQ9iiq>(;pR66WjVNgpplhlhuhiJ7DpptA*tI(z;o9+y$ zZWWEmu%l5wp9Hg+BbMC;wckR1GtEM-T)YZhc<`s&q4}X?3ZKE^<_0+KJiM9W1eS!Rfc$O=3y@o?|9;q2FvS;$ZyQ)gi zzpA%T0Un;KQRc@Rp_TMedyZU{A1_* zlW9gH_p-*0Um}71^5ab|{`{`Htc*?|`efg(e`K-GD7JL|!F78d6OX{&{lJ*kew-an zQOSg|DOPuzOrtOSXR0C=hO};`E+-<}tcvt?IqV*I@`P|YnE~%Rt-Cd8(TVl)^;hkE zuR)U0e;d|+p3qW;jx7K>Ffd>q7#Q#W%&`8ucfn-h+S%=7$+YKRE1G(vB&5BbhVXWplIPA_L_O6Bo6o;#URUoTr? zqbT|AFPCBuh)UY7|3*7TXL#IBc&p5$X88Q}3#@W|&vdMak^R&fT~Fp8a~58oip{LP z-$AtrwpDN;RsR)G{qnyY>#)iXyo@EM79^^lw-zvps@GmIaR!6IMS|G@3&@Q&Q@ccl zaq^_Ax@1GW?(fXyP{J*l8oH)al+d*M_PC!1HMy)`?5!Hz0X3UH(Bn4!vKY{p-`^7@ z(J3HTm9@hkw7YlkM6P~5=-rWsRMZ0Ic{ zuoh90gS!?pE&8-h(C_$n?qr?yU31Z98QBp6wc*&EFP%q9y!2K%C{Hd?TcrDW=*xU~d|j2r#^wv9P1j(KmC8%=ZA_ z$YtyBPk`dE{akgfckI%&pKO$k@e5B=4T^;9REi5=Jm(0(B)PhZ{CLC?BnYR(H%W6i zs*--fqcqD=AnBxFxBe1|t@d%%$IE!9vMrujVlIjg(`toGH3m5jWLv2v0yUlwuP( zl~6CSfBa%WbgAkUBVWbt$K~Bs8&m_C8imrFIeQ$X;vyMlqPi2y^j;LcW;=!E9aAk> z4i|JJUXJM?h2Xc2h2Z?)`s}0=0;FyvK|p96n*oD)#U{718HufCO2w3|KKroSf*S;)TabJSRMHRUT))>xh8z7^7p%?+@bu8g+>&z zf}mGTK{lJ-R7`u#?f#RXd)<*hiu2Tkh^n-2s7gVM;V*QT6csNxM~-$lrRCHNPCDAT z9vOFfnZzTPNLkuaBRkoc@TrcqP&s+$6ztR^7ZN7UV=TN5o*>WW7_CB6wy;Sg9pgG@ z?Th1(eK@8z%~L7?#bI@GMtv{upm$V z+#k`y*PYa)-J=5-VicB~cujCSwrkz`2h0}3SN(*0A54?QtDvYxQ&uPau$>IXCxftE zc4G`dsP5}O*3oLO8(Evs{n{s~rbe6;(iJil_BNQZS+fVEeEta;^Mqdb{36B!Uw!^A z$U(X_2l=!nemhTG4oe+D;QNc12%h93*vAW_y#kqie#!}go1WsZ`Q%bH^$oIpn0B=R zEEBd(7wIZC#{VTuqx%T=1$@g=7V}X@Um#2=>j0W75_z4ZzbwaPs`!C1!tA9Pu_`>4 z1=30=cotwd5suY~uJ&Sw$dMP`_&1QFc)(nsQb7vZZ>Gj3WeuV`m( zbX45u^f-UnV$E%N^__*8rP8^U-G~wWkF9gSj=+kgr{!`@2VN z_awnPD$h#Wj7f~TSB8Lv7oLd#Ta(E!<+5*OTY8dSU1xgIKf8(KyNJ}0uz!q;vR&+L zSW<2(0oH3rk3%V0)2LVy(2w@%%h(q^xV(Y=cINe22A`}T&(hD>=ka9(YlhM|*TB~| zvb&6Zc0|=TGANY35SV%3Q4o3l3&*%A;bJdTA~;+Ag#4w&ur`jl59rgPr5ak5@TVYE$0wj)6u4JOo;2tE~Z9!^aeGx+$yYH5tui2f&8f_eD*JXv@`}_;padc!H{rT<%Ij~KIomI#j*yr;LOa0AlilS@U z{}(wHtgfiRMd*?*OK%_4Dqs;Q@`;qodY~UE^09ymh-4lCbHB+2v@?rny<>s6+P=Qw zsu{Fb6DOcvIIu+hoP&8V)q_O+EQiiIgopO`azj+rT4f1Jwv$G-%pdiFOK4!_+#CT2 z*moN$!Dkg)C97&?$g>a9KHF=?*i0uw@V<_A~JpZKENo)5<-)skpm*)>Jk#o(SKt~)O zhs?y^Lf?OKQh^iQ++9*S1D$03nHC6( zHA*W3teE{D<*ln)SaY86iGKHnypMe(8{6*#YP1zuW~U3fE?=dPJjPgbII7)dC;hb+ zb1JzGhg_ovLWCUpusXTqWXOAN7uIf{AU_pL!~Wq{;UWn|?v(^CqeGaoHT(yVx23B! z(MfNKsojE`a8BGrOV}DKb2ZPv7h1-n6g@EjG2>LfGpdt?mS+=3bYg=Ov-jh{MZRB? zxkcF*LNQUBbpMYedYK6#l~ZZ3iSF$1z)2JMd(=Li`vIr5t-y;~)rXtr z+<;JyMJ5jAt9nB0#Wr;IsvVqEjpB)(cSAA(Uq}-&<3+K?D`2JphoU5rE4PmwS>eGx z(PStl&4Tvf$H##k!l?%($EcglbP`@pTU+tKdx{0bjH7u>ORS~XDI`3RlfE$pJf93< zWv6n12{tZzj6i$6QgN&mh1Kv9FiA@ewgE7?X zmAx$EgikIDl^frEw~zrq>~L>1aWuaX}?DD9hKX`{lxE4dl|4g7fKC-q?@^QJyBSez?}-o zA?pT&^s|o+f{cOBaC!t!TZ2Ks=R)|TJ2myK7E|*oHqqF73w`}6712a@C;Q?>c#GkQ zTkGA1pgSUHZ_h;Ns=K;#v>dgLrNCo`Zuf8U{hWB1j56ZnnBHx1A0PLm-90zQ~B{(xuH`mfEzse^3Y2im6p7CUwBvYtXV!#Gp-`;EsTrJaHoKh(Z`VzT+Yas1~ zq6~6qr_sJy?Dt3VC8*9Bo_B_$YVkv`jXbg8fcvfOV>O?+!4}jZDRYF`5+)iJG)$=p z9+^U|@{#e|G+82%ICHqY_H296aY3*KUl3~Kq>a@5pw-`9ER&sJJYjF|-_Pc`IfDZr zzLba3AAwd*@PrW%#i}^j#*x2hmpLz|S?eQl^XlWklf!fCN$Qv~7|pu!1SRlK<(JiE-){U`yz!jjj@e$TkNw1KTz}&)1{n{$1FoA31g&FGr$C6~Ge2j9*zd#CX{+ zj2G)JCBeXWIhc-AYK9d9?bP+>ySwg+mv0L&70TdqbrVDAnv^6A+$}P;8c&&oypMas zl-FpfOWU?J=X4q#?;PUAQZK!jP0UqOEHbW|g{4XDnU%w@sz#wn-odz5)H8trufJ^* z;|abmBu%#=l)r_dU+6CDiB;OKjBzH$lJ@*}g9C)8o15UW!v0Lp$S9WJMsYaNsfKRPe{F98W0u`;tb&)m__7|Pqd)sgo63-%G$EtzC zwX7JIs`D!LFr#-mP6v}g_hj;y5@(q$N(IvwBQ-e&mbhu|g`5F8MG}~m&_Z6Pdse@# z<&}{a-;DDUvzMSlUG026727P98#A=^Rn2|7f|z0Kfj^lEDo5A$(Eq%AV*b_3(MC8W zw1#|avpMFP{sSmpdvA4aX1m)9bxXgmg}(9q^a~a0crYWmJ~fX1GJjF!U*-vV=>>&));!1+O~7c%`3*(1bZ+dN;MSl)`Df`NIOXj=IuW>HLn(O9T*1G~ z)Y?5_@0{PT(;f}vZlL(tG7m-ScZxnNSo1izFt@%61;1(F&&pq(vj?D%J2s9E(BFf- ztr-VS)Wkt=v4#S-KaFB#I?k=&{l+160XZgqu~kv1)SKe1wX@P_eTQ*Dj(kr-v1e$C ztSM5428`$g!SxwCpv~oCz@B8q(<}n7Ld+jXC1wV{1t~eg*S^VaibmI|HsDDQF5zIx zv0}=~)3$APvQUPjW;>w1bgRsRsZKV&9O&dSLWi!KL%2eonv$2*PzTcm3C^JHstNc`p=WsN;<=>zhkRY3&OdX4Qk#zl}1lC>-~Ot=t8JG1kYw;TBm&5W7*`H^bD)Hj1eemH%nm4hx`Se zNPueB04re=BiCRMvE`A2zBo{Z*2_ZSTzW(FoW4nTIPg@|LxD zQ<$VL4|WNnh*fm#?@rIgB5$eE&8Bu}SzrxrR}E^ySxy0FK)g&Ed&Gs=r_qP(`L8cTcz=o4y!e)q)Q#bctdUzots`~z;ODCfmM8iB z4@r%QIEzxN_3VC)h%ku}u55YO8V!im%MzPz@INf$JuAA8@>A5X7?|4$&AdJ_X-a)z&z-e}yrwA` z*M_^pelpV`pif6^j`TgyQ(vkJ;{zRVz`Av&cx&3wZ-+o~VM2e=1s|1ptsp4|X-|yn zv3J$aE0gZ^NW!_M6InzZL#)p|vT+edqd^oP3<{Y88-)i9#}C))T9l(}t;vvUI}e zjOGk&mat8FDytXB(a0MspXMzNiGLS45QPQVzP)0CVnCJYp*#@E+_u-qgz-Db@_JCq zj<{@-)&McG3)VuXo+7BuqjHbZG9(u;u<9cYxL}xu`&?fMTiZ_Q<)M+?0*mxvjAr%Q zUZGV{sY8V+&gkRzp|er6F3A|+-bN6Y9PH}KlVA;XY~hPv52RQ$^>6+b9^`nV5+e{q z0N;v>KH!K$4aT>N7%{_nSJdgM<1o~AYkUvUaQ&xAy?yuN3<_*O|z`3uJg zbDo#4of+ZQc>1bCE4wzuKnj#9re?S(sm^NEERxoTsy_$|FRxNloecz|>x|;jgm09# zHD-FPix|xq4qXeXP!?Li62_RJ+E#kfev%k%QZ&)%Z-FVP640X3KZM~5>q}&ko3XMy z#E4IG_+3x8TxVi8nKotecc(t`e6JHao@cr{JcYso+e$PN;v!)F?FkoS|BV@yqORag zVOJ4@{J8Zu00{8wGxr;#cBgsq`n|)g5-HiFKJnM%eyVL!mU$bKbmzGRvFwL?Jl0b- z_Zhd7)bd2AC5s&nO2zmP^MGj)kx%IG3JP=F!gcSL;K4*u4^C## zc4Ye9t>X@fa5#ll1>{jZVp?FtAR(QKMtIgZ_7$vM-GJq6S0Y}MorkWz0-XdQUrAi# zEw2O-ZML!NrR#`axj9<`j^pqSfBV09+}8*RasdEgKRe}|bW7pxLyflfA@1kCX%3kH zIxVjD6GJa8{J9K+YC%Dv_+I~k@Xij@9l48`lg+ae%IWujmtc-bqsw2B@yQ%338!&Q z-e3;y=I><8A0KT8?k|ROH#uK%-lyH$J0ba;NIDTX)qOI}xuMX2a7vyC(gzk~&{Fw` z={~ZJ-OB}`UMoLU5y=Fu(Nd@S%fp{azjBeTJjI@el)EcR(sdVB7lkW9Jr5qlx0iMM z`?L?K)L_;ih5e_$^+(;?wfulD4s+Jg5A2(_Ky{r!RZIxOi{hXpyugvjAa0)TY+$viD)&Dx2r+P1de?P~0+XO`(^`-5k!4KJZ#+&?W4POx@b`-< zHy@NO<4UPUe+{-`K(c#nu7p|OcQ*y2`*wDS{NqAphoF2@Dpl;%^ zexTlv6_W4eEBIf=KFuetMs{kJ$AoqAwWmW{{i-E^x8=JRqH>6JVX5)uA9-j>3_9RE zjvm3*U2YR9ne3fR`9hd38E;$9d z4bc@u)$Cyhk{&oV_UwZ-DKNiZB1$Ql);>pW7afLm8XLp+qC80R>}8gOYJA6c3gQrl z?0=7ZOLvpyaMk9t3sB;~RV&dU8h|=S3p~Reiiz3ecl>$RZM=!S6k3_ z`ysDF%s-xOt)g_V3&}fftHC;+{aT*aEfnqbXDHFBoGP9z{q~S2Sxr_48*D5_Ylho` ziCB7Agf`e4>y73qB@E)m&9kT7nFrrwQ{LWh~(Q=bhw)r@%j;fyj;mLPJJ#!ShNAhr1m^ z_vw<99BK++1wE;G^{+sj;Q21Kui>YBcMfo>nTiTO4u={)jtum#smOsZ10vQ;Acqa_ z{F!-a29P5u3&`QaHh)%WS~$Nv86_#~%sPKIqC|yn5aUv)GI=asq&BR zNYrgCl`OShU4ql7t3XfEQ6uMQD3uJ;tgc|ClwMh)xRL`Un|78;whA_tO8)Rsi2M1N zg-@Ev$=TRb!O1B}x4HzV&{iu7Z!eWZG*yVJj&@T}P^SYi-!@WHvjDA45{C>_P)OP4 zu*|!lh&xEue2imR3trGljmO zEQQ_xPNE~Ju~Z*^TDdlsibg9QhxUI{D>u+rfKj!U@c%{KjZzb-)RO-Pousm#MJKu( zM!B$ep@agyms%KD{0zL(@eDN1=P3q_qmPm~9$qMSxcREbur;v21&XhRA; zsqBQtK~1rKxUpP^>;U#L-8>eEkd7xRL9Ho=Kc=IJaM6H~o6vx3Nufv2Q>_J^wNfkE zF4aM27WVUi!8fJq7XWmVE2XM?S#LrE&2K`ZLT4g%0qa<{D$S*Yf#J9kG#FV`-7Y_( zmmcO~VIk4sf&>L(4}UzN0)0F&L3=#03VlqMvS|@xBhx6+LbX$yC6uqn#hKOos*iY5YkUf(Y3<=W~ z43Ym$jrRep7C_1nb6`n`DX^r_6i8VJx^4uK%fOs0*6^Gx$MhUVp(PN0+yV$%!rE+} z6kR|`F*t{jWeMaZrWBJKV-lmkv%}LBO+%^y=#S1}ICC2V;U{e((gaAckr;IV=>@4v z5hlR#hcve4utI?DMv*CS{d^UP@v4ulnT{c(dv|OQUQDhkx}fAZrGS!t$O;ILI5?Mt zykQ1}-v$+23n`$~6B(Gp5S^HleZy|M9-C9mr3T#?F~`&8D>VgLubTnKI~S1{bK6aT zls)|*q==Is)FAQ!Aw1ayy<+cRkK~B##T5VVXH8w$6 zTiB2oZ4X$Q>EbXV(vqnY3N*~pSenCfC+F^c{U+v;gcv}0vkI_FKy_w&P0Ur|k%q{q zil-MGcS?gWMg0dalUP-yDyWrf>TJzP(RIea^#%HfwEWDl0t*EsF}VzN)@HhH>4-Fr z0>nsjptS;Pvz_|z+yYEiL5X{MK}no`L>kvUNGl^&Kx_Kxx%&wUJY8KaBt}LMmo#j# zNlPXRptS)@vw6`H5@QW5D3Mc4?joX~1R2Dg02q;0M2*BKrG%$DZwv_%f-68*^a(_N zLBxf`s1igMk;YbG1*AQcjYw;(vH;TRB@~p%pX2FHw1dQQr5~Yb@d4t(_6X3OCq(zJbsVz$b1krAC zZULl7>va>LHRgXrf+RM1BF5U>96UOApTmR1XrehhjYjnf(VvoS;+BwY63f6n$ey@` zR7CF(Q6=XPFDy~5GIe; zY}z+uo!QOHp4;(cJ=^i(K`eM&CZ?T`IJgH{K|owXpt%PZIk?5vfDRGl)(#OhBIDDy z8q?GDnkd}l)>v6KOO&A$K#g<&yG5Dvar6ne( zrQPzgO$>OpkY=S_*)g*59VAUhC8M+Vd6Tw~4*T{ki=ja%Gz?W8B4%Pnrkhmq5l(Kg zWi4!Oa@MMSOY>$v+TWwUn-UB=doZtq6hAlPcC*2*!Gn4pYuS+ct?q7U2*asj`>~Kr z;d)lHMeYn8KXsXZv^DIHa>wqP90>EYv9JdQv@Wk{b|>}NKWqa&TkObutt9nEjE>+=Z!lR&J)Z4%KwE!WYJ5uxd-T&`)CL z;rgq5h-d_qzT+`WyTkoj5+g)Ug{cYOUhI9nZWxr3D!m;wIoykvB&n2}T(p{1;I_oE z(kn|Voo#J>e!96R1J;D=$h$mWlbPx?Xjjp){0h{AL?%FtLFAv_yq=CEacH(Y)zoW> zJ6NifwtCgk%@ZMc1?_JE#lN*IOSfV*I!(jDJuCSnlk?&-8eH5No6TH}Xce0yf%JK0 zgQ~-3j?cD_`wDGoxs~{GIz1SUc~Ky>|3t+^FnUY~+2Ca?g?--Omi4^SySNC)IeO9x z6X7RpyNEA=T$wLCZ>J_q$NTlTI{7H}ImGJSKCiYBxxMgPWk44BB_K0Th_P})`wCVk8&>k#tc}-`3(zTjR=f=64C z44B8;Z4NzTu($C;eQf)`?FWHdOtTL^xc_vNaM3^fo$ze$Gc4Bg*nQs&++gujW4MC( z@WhIX09)xxr}cqj|d%zp4f6Q14MVbZ!iNChdhkvCZ9 zOHI25Ni&Z9W^IS5N*^hz$NuG={&h3lF#S<~+^RF+DDj3frZwV9zE#W3v*bIaUHYel z`e&P+SjXJ*wh@kF>g6r>#lD$+iD*NldyaBY)qM$$ixY@`37wxmeg+Fie zdTi1?)7Jc*{&*kAPfb%3k@Anz#1e5SqpH*;<;*@on{%Z%)wClIdI8SkR`}_|*Y$+= zloAtJ$Pd+M2uxJ89J<%fPMWvJ@8mk_Pc0U_MHM#k3H0k+#`pbD_nMs_wqC$07bX6z zV5ccEet25FyH+daLfm-=J7 zN|^jf3-^ex^>Fd40op+q;-a;a)#6sINwt1%{QXUM@2SVC5l>^z$pY)UPR{;g#p0(7 z-mO=Rcn6GUb+kL?PwZiL#wd3TwyHDuN`(-rXU8U6SebH51d4@W;RI4}S2?)kGqA50XM29Y&VJ9xy` zO9vhnN^fPp5Wg_KkXxJG8EcH!tg;+H{MBI(cJ2rC(RkfmWPH$nuzt|AAK^Ld`7fv? zgBQF13crjh;P0@0;PHJ>(LA*A5F`6sYaHyfV$~^O>;6jum;TrR>P=oP>k4ZCy*%vL z>Gw+No_4qxR?~rRJy30L2U}dv+rN)^XdC17POe$q!))abVHCT2bStv~4Xv}~U_U{74$P~%OFNPKxHR==5AD7A>IwT8O>+<-_qV31nO^G| zN%T$t?ZKKFYDm`_!qJzE(rd?+eu}TmTU=A-4?OQBU-(@vuHl(9)YI;Wj>B4q@mKbo zJ?T!Z#TDgqyYKy@B{eU1b{=9&PAnen_Fz=|d3}_iQJdHIw}oHy@9&@E4;mD{A4Jv% z$G^-^SAcfw@{hcNYf+!w@`fLxxcH}ftu#{W2aFz+_;KoQJp8D)3V74rI~B{muLS1xDRxXjG?YwZNs>cu{J;EUI<=bJDD?2xKrx8 zQEsVQg?xSpIU4C*7m{j`*IMQFcL}G?Nz4pzyyq$XZdhYJo4-w0pEvu8yutdV-}sV0 z&w<7UCu^#b2FN<5_Gc=~E9SrS5dAOj=}EAPyg7fp@2g*p-sBs9$?}E|ZfYqO5p66( zTZd>rfKFU8uPwZLdokn;s%DLH!8l#Q9y?KH5o~|xLk2y%hE}&R9mOm+_4m{ zTlsnhuTcFzMYjY?UVV z?wQj2x3g!_RUhqZZqfWAhgjpF(LQ!>jA3E}BRo-d?T9tPE$S2&Mao^PoAC-J+?Ns3 zJ8ZBgD};B_ukm-y{H+UGa6mZ=N-wKw(F`ty`|_h%XE6TPqPS10rv81+Z~ zr;SpH7$+h}g<9T=wbqeQ69a^Z2Hdp7BYpT2lkyZ6CooxMeF z7S!*tZNjh8^&{s&S-;{ZN9eUw+^_6oC;0|m@7wD68}JYBCH;?sG5j<0o0lv9C;xxs zrs@CWrmC-~P1e8w0OK(Kjoj4O#=RwV(=JN@A?!B613Y<0DX1p@ge?}6DVk6{}7VM%d|7%3Iczwm+@Au1VKGXxs z$_RyE5~abgD~?IE(hrae)wZoF^<6J)xG`VonsUc{7;2J(2Of>hcdT?33TA8=N& z&!Tj^nWSRljb6ptB?fe}6YjKVtExRYYskq(B`r)v@n^%}MY5?~eebX&UFScbAX5Yi zLa*UL8jlhB+R;VgFbsJmD@tg&7ZsGC9M}XVSLzJYs$UfKA+Ae1e4@>5IBJvb;6ljD zB7E0)1lydp+$zsoG0FT%H@|nm8!|G!zr2uo9y) zmW`P?;p5~CQsX0#E{A;TjLN0MsdV@mcGSeedHw5;s5vURonh-x=_8N}5}R`J~Hf4NipNOfhQ zsBxq*y}iiP(JH5AnjO*3ae4B2eAVBeVIP`rL_cz_Y8Q6rb&g4n}iw-zu2 z6wFkHDj8m`gM-o7?MAyNWUO8TgNQT@(pvFFEqRJd&t?A zWNug7bUMKV3h#6Efmzg&DG)i>1?>ZSxwtlpwCwr&w-qK!3J3O6Du(o^V zDjPM5R%5&MFv+p6*I#r!++!t2!k=3}PY0DSUvApRlOKijR|=eyT@C=79W~l0jKwaU ziu^7E{Z0Pbjf+*kV*jUtv0@SF4LGGiGX7O?F~omW!43}HYO?m590MTW2_pZJwzAk4JYd=; zNS0x(?l~r^pvVvm3t+hJNQG)cogKnU-YRXb^XpwT&{a!R>AD)tSkB@`gMadW^)htW zk@j;Ql~CY|9(3Isl1_Wsh`J%YyR;=}2%-<-{B;+qU|0kDaYIUMFn1T6{>?hRDbot7R6K?({I0B95_=wd1hLw*@wnH88l6zU0SmA zhc=AeczB!HVEA4fm`~n^_lt{92hOb;x;=&yXeL0DF1UmEff1O%5|S_5*HutHJ@ zVnTnkKT!>(Whk2py!EufNmn>F#0#jUIMId_8^d%dd3ZL!aEK@d=Wz#eTHm{Ywfn$e zR|bkgwxqsjQ9i%A=u>wVOxdK-qtBVJ$Q0dBXY1g}vt*QM$X+{q%k;0$j(S)Pwz6* z=?v(bWun8^BDnuBTl?6u?t;jM|5M0XnG2~M5o#jWJ>Hoqh47)X!lGOjIMT$oZbPH= zR9L<-dT<|0-K7?jU>BwxpDeN41lN;LNWrqChk*I?b=~VMTT&M;uzlnY6t-^e>1)(n z$39#KhoqyPY%$e+mbCtX4^BUn#I|CMa9YBRFYdMAE3=>_@t@$Oi0wNA&6sVc^{v36 z#F_qSj*iBBEz0MD1cM|T@m_-4g=m2iP67VGkfV0S-}{$i#_d0T)WB`#jjLrj61;?M zRM|FN35w`0t&lf(dwq~U>l{g8c4DuhH=^Vz1sfi1#Q_j{XEg8uGd$p6J`E1ft-XsJ zoa=E%PVb0Xv9Oh2B{3x-NqI`q2u&RdH@&C~3d0R{8ZUBAj`vsovtS)AMC~@5vagK3 z!kDEspP?!dsu^41#&kpKxOIXvxqwQ7e;!OW052HM{wPN_t;yp@*=bfou5-F~725Yt z!=*OV&y{kQj`jn0i5!_BMtk~r=-XAuC^?eC%h~%@;;|Tt4iNAwn2;(M#Pg zE+5BQp|er20_$c}ugo@&xuMt(^ndCd>R-neMlrOU_~$yxK>Ba$-Ne~pSl!zGfCJ@Q zui|&#&WyjgXkEZiWtweLDj6U;EDd5?PCO<45W^vBC?QAYym$8!L@Hef%B46(0(>4*)SxiiG zJ~rp1_49H2?$X1hO<9cD4xq0PA}}ESh*@5UG2$#De&i9Ltz^6E=|WQtq~XDTUxMel zX?f0a5yocYIUNz9kvZ)`08~K%A^0caB!<%jZ`t{LmQbB+SrVi4&FfncpyZHzBC+=; z%noJ5f709pOOidy8KG|NHzC&3E56|Htp(O;4uW*{z6e0Ci%3+{yl@QADWrN(NTNJl z+%di26KQj1_z}0}0)?o*Tu#pYl*$aEKv|>2PUtDNS^E))!!R7q_jzUV9ZexK|MEg3 z@S~DZ?^v_$9hP;yj5x4h3T{3REXPcUc?+hA(7b4hap3j*7@a6`EX22?4KT1Dbp<2& zN$z=cEnvb~FS2a<<>b8%?P&LQoLHQ&SS6d>k5()JF?#b1!)9R1m!XK$?&aOPYPn_G z6>S!*S@#~EU9j>c)BYxoO*0ph1(U=kdKfuFj$rZH&qErM0iQS~M-%;JOki#m(W37* zQMhG@{TI&eI%zLKGo^6z9DO0bpD)V^PZ~PTwd#pAg@h!P}JaG$==0bf1Lh=4) zd*AUzp4^pP)JE3(u(tTNVW~pRs;>C`oWQDSH|pX#{A_CK+_-t}FA9OOJ*xh*zVT5{ z<+$7wrRfk__BfO@z>Lf#-raMd(yLSJlV;ae$yA{x12YB)L4i13ySODzre@{WETMCS z7K!TCAY#+x6(>*)iR$2)G(wLEZol3nxYD-Ez4mu!wwr@figaVwoq9Odb~iC1kM!6f zGc>WG-=oS#1}^OnuTJaa$PvQ&n%!6LWLTNBThnU+iYJ{|kS-p$UoBX$Sb`{Rr-nwN zmWOU@F)7dPz-BUQ93D;D5a$(6d6)|rdy!a^*-o5;>hOBW@(DpGiC0rt+|%sI2X8=^M0dk0x%-Pdd-4or!+8-cI|R*K zeqq$|J!EY7l^FS&aEmZ_>EA0wki-h_LIe<|Tb4QnVi92yi&TX91m2y+egBPQcj*D1ZPWU-1p=vO!Cg%6JBJj114?d;~beEH1XZPz=S z&hHlf3T)pe2T>0c{5!HyZ(LL{iPr_`6WSzKCfqOcSQa8&DO8M1C8&A*vKx8)8}$ZY zEE2w^f%V7h8lr{FwHWG9hyW)`=kCnh+7ZT?WZmIgw31v&A+sje{pPyV2((v>W65Gc zD11!|XT@r$Bs)x#?2(0yt?4^AE)>|E+n;=rZgLI9aTU!lwYx)rOfv?uvMZafSaDes z!`YZkj{@EwAgQU*NUoOh5XE9iAN!d~MAZ6oeL9I=wGDwMX+()2P@7i=`kTVvk#-Lf z)hf3rz`WuyXcPgJs@mfE`}xC4_GwSv>~*HTLq9TGZL@I=Ko_(h!H3jYKO;MdUrGq1 zMeACihVsKZacxg~dj9DI|JjE4(BPy$TxnrDSI-0o7#*k`DW9=GjG*7dF3oW}yWo0h zP3v%u8G;7O1K1yo9y)iBiMB7_HE)<5;*kT^AA`HP#?0^^A7{-ns(rz7uS3}Updo=h zhl~Bm?Iv@`Q+4KW``a9ly5#GADQjwt!67FDKSsSuX(Iu~)oOtv9NhBCU~6$vins#i zVoQp&hT=(*;9c%fiYSAGf`k=|p8c;y$qWnMWHST8;_?EO`mOEt?(@qB?0?!ka<@10 z=Xm=(^S`k^2=>2e^A0xV%j&lOw9=B43I#C^QgzWKL%~6A zBy%+3F7#Qq-{mBUcTsRf#m1(O^gZ3m!RI&EpFyXJ-C@T*WxlC<;zgC&MXPzup^5QX zI_>8S%uUU3;9b9O@MMAymhqrEiVQ7uV1r$(Fi2<>N-$-zg2jEqQ~@yi~e5OBqR8)_;udq zu#3}`j(b&I)O)UBRJ3XL5~U{k=Fj4-a9P%YPiJvdNWuc>Sx-PP9sQG6wZ0`cLLV&= z3M=;e700v@F2h24OvVDkm{Dyo>c*L?IMhXI&(>0ryI$Xs7?Uj~tvY-~sEA|JeN7Mp z?Oq&!Ux=kiy>}Sj7u<~ZpZ;e$c6T7eeAqW05{8kwyM;Q1JNX9l3iB@9_CKRFVPcMdAZ91DAKyJUfp;+Mp3y^-NfTwA)s~;= z{8(lMZ(ztxEA5fG8bNKGx`6}|&M{LbUQb@bZg81TU+Xp^Knql?owy6Y`>#cwXJtNa%}+Gm(Gm6pAsyT>fVy_X10rqYr&|@d z_e|N6s3HBTP5s2AMFv8kN)sN4tcL~SKbWmYwcaz4deDfGyj=j1TfI&;*_SH|J^%m$ zosF$hn4}w3&QqwRBXG5I=t!)HTe;_eRU5G2i&1yIS-GNL`Ag*;=e}U=R4?;&Ra0jA zM$=m<_i{&CSS526iV6Dy%!8OR)Qz4GY_mY&S^vt@(bnM-3ruX}>RqE_+cY^2Bay8* zw|2}reJYe~r}V7o^ClrCX%)XeZwK*%E^2SuYl98+7+^Ckp9o}Ek8do&OoN25{h zbou>1keB~)WV1_5sGdRs0E7?&0C4=T`-zkBu$HZJ;TYOaZsk|FUYiw_@+1X4mMfob zNNhpS-tn-coh+(ov2nR*JwTG|^4FU;mV%(*^o&W`)DVEL9RKMPr+nT`>te>+BZpLB z8Or!kD9C)&(3s3>E`9+hq~ulUkT9cUp(_tLMaJk4m94&>3s)L?@8>>`hBrtH+wJCT z%_OwPegZi^i9~j0DlK)Vv4P?W>vKONJ{hqtYsD9RmlH=09F{#I|L{Cg$t;NG+l~^8 zWQ%FcTMZ#NTD!b||6icrbG%(gLHbJs9H%L4{5|-PLD4<(*|Q0|tm|3r$t0VAFY+gC zK8c+a4`=vznQb07sgEs#aJcFKdnU&!f)T7?EETfV31pFZak;jv>-|pF$476l{xR@ z8?fIVAG;LL(Y|T?E*C!odu^Ocmn#hh4CSlP7$4yg-}^evf<+|gw4sM z*-UW*vZbhPXUp<=iU{3_B%)CmR835%&BJ+y(pg`)j2?WNmx9E`fd_>u@Bg-w=!#Mga+$j@l=VzVNOm8;u70#}S z%_0Wq8*jnpjSewIQ*j-OH&-Nj!A%M)*#pIA!!#H>(mV8V>-oMncB!C1-4m~`$LBn|y2 zR|#=p|Jr_QzAzV!B^qlLmPp8?nTEm4GV)|WS0*n?1=Z-TT8JHl#4@a!ZR%82m+YFh zTbuPU0+XpX`Dc*T&n)$^PxuP+D>ZvXe-ArH)fUf2m}>(17U1i?rHdw@i;fXJo-zah z-b*f6ot1+`nPV1=I&|YPk8Mu8nOSAE5pOm!-8MgQTZQ_KJ{9CJ7<3wlr3E@-V0ZFP zhZYmV-6KC?h+9KpIqlPG6^*uW)x$U;mSm`-I}J}(b&^hl??ut@t_WU)LuaZ@vT+Tv z2&^CW9rK3Wvi5<9Jt~LfF1kFoEPDF-+V-0CDfOi^2j(cC6oEj13lL;h0JikQ=N0~5 zvGc&s5r7ZDVgYOm__MrMWX(8=NkpUp5ELgou}1xdn8N`0lH`KJs3=H~6^BrwWIQhU z6UH|{^Sc6DgZYA3OG!w6;(P&QU!UMz+r6ig@l4S{fz(p*acm}+;lK4rywXAUdK9Qj zxeKbfe$&aHLypNO{~AtUes=IH%Y-70;vpVcOu7WzI&a^>>~bHtK$V+(Ye$mrOd}|O zoAIdq`(Z}rJLtd@LjqF;@arjt3y85@-@5lgzag-QIz3=4tYY85)YAfmEjvD^%G%qp zy|YvmNS4aMMB6RVBh@*u{6XS{H!(f+CLV$~p`Z+RSW8H&0kB0vlN3-~Oha#ss@<-@ zcoqz`Uk9BUN={puwbMi|HeEHw^PwUhHE?m9Q?@q~Y7px>_kYS37;kxE^0>>`gzQH}+5Z z)_lpD0+^>Sy$!wG91FjcNP#p!aj)R87J=QuOtYz4sl6o0v2}^F-hH59N=MI@d#OzQ zefv`meFE3SI;(+nB?*9pR$5^a!JjT<_rMU3`*-N13qWSE9NNaMo7Z_WMSvk^_Z>e3 zaTHDJrWfB_ZgwcB=8JIhlz1AIW-FGNgkp|Qnejdx6}1Tk{>*~N;^u2bnl_^KC#8Bs zj5JG;SqM);>VW!+q#Wg`gt`wbq8g8x1&un*M`0TY5}tYmJIe3IKPIVz7J1}>jdtgB~G+*=+fD>(WH ztC)>r&bx`*cM7r!0FLoo`B3F<^|I+UyDXcQVJ&S>iry&0l|D_9jKLMy*ksf48aJ2a z?FIh9e^?lz$s>$4-U2P*WMOq%NiXj}ZT*U(jGc)x-6OuGJ(S$FXPEHT51oiD`sQCr zB*u1})wZwfQ0ZMhnyb*>XT=Q)6H-4VdRZ9;1(hj4EnWfN>VaY zG8=W>#@z7N)y`#G2)oS+t&AsXq&rbU_i5QqE;g&T?qr?QLfEP*bTdgP^)img*%*ve zI-4^HZeHeMDJjCTpq!^ljVzJI)J6)hZTfCHtrHc-2Vh%Uuu?c_wtD6ougig`-FO>a z4*BD}l)zi~@{7zu!67!^@Yp5gjDLq^$1SeGcN*~WZyr`2pXR=tyL2IXC-+aHrhM7U z!Bgjjj^l{L%hzeIk_^c;8O@S! z!|&MeJ?~`0g54xXp1$`-^P>|CE>^7Nd>YOyEuMv3HY>u0;Gb}02>KnEjbx+6TKg67 z>vt*+fmL>g*3{7JOC`N*3%=TjICmc2L{4HgBiknoP2LrT3|lzqgj)F}tpcEy$0kMt ziDLw;_2qFp4y|7}h^(wxAI5qm-5YpZO^1yh-hA0W%?&EsU&MCeo2s*Zal3P2%Z;=b zoaO*S2kW^%xiMvV_nAH8Y<;s+V)j=!+3LkbKv6jlHRa*jeoGg z($hJgJY`-D_xIKEJ1Dg*W1*LU11mO7CrF1Cn<2JxDI%)^U%%RLP0Xz2ypJn(l}% z8sNRt=tJi+k!C$@C=_8vTvxh)JLW8~4IxB*iuJFGCM?2xaFN*=Xcj;wgK5nR` z?;~+*PRR5WWRkTWnPEr6&mXs8i|?B5CPe^z9H-Ffz-@)4|GWtS&&Wf&-GBvg^zDnx zy)A2t?jgGRAaiDrWOhSpi`u8&H!;>kWSjGNHNlw0E!nbSkfM zJDNA$Fn(RPk<a>C(h)$mEy<9W|>P1drzj|=AMih#-EZ=0YrL>)jyT;A9U2d57jQa3|DF8@i63J?h(>~7C^`wJ z`t;XkAekBe>4qnmzI~YwJTG?(i9|#&;3`iqKNae->w&If)FW2I-P3u>xjs4T z&3ZI8)kv@3s_rl1znppZy#$CLa= z7QV1pCLnT#&HMgq7W|+>S7&6?$g+ZHv$A3FKoe!l_N6s~7t{MzzH5C{)85GmNH9j3 zB{v9b>d$R&cE@7ex8aZ1kumNx!`uA~gsPLYx#sxqFS+k*t2zi~wv3oInh_Fwe~bjaax0kI zX+hM5fRIM;%htIIR=rx6q2Y`=MwWRSrr$toY!Lp7e3XV`%ea#aSl`ZRnod7`;xd$i zDP<-uM*C{c^w#;7V|9Z(As{{s7`UvPi^;T9C3(08vEDvJ#aMe2avwCz?iJghyn$MO z#uNnT*G)WY={P}(Bg-1{K6`wxL>_NSd%!CZ69EF;1~WDnMIsP_L*{z>!k0YFo#9FC z%6rXX@m|=4lMwaj@6R5CvPH|pHFgbvK5;=AC(YvAxwVBasnoj+?ejOoT zfy9USSijHSk1GcFI4iWM&)%hjCHx9`8Qr&kmea(^{!XsY4Nn)rQKbPXIIB%7kPAw4 zpB3M^yj~(gu%f(gm>i@ZbFJ| z3r`AWzwN#?ve-VO`c0GI2!zShaib(cJU$C@&P&|{u=J(PYVzha!YShcsN<&)QG~J& zYD+zZC)~5`f*Gy(C>oB={8^IP3+b}FY?46y1Y07)6UC9|y@43ac0?^Ce9nuiiMLb{ z0DO``b83WWRHp-*#vsB$m}hbwh)3cxafNR@Xf(Lm-C`z*zPbTW@`SzvyxJZyjy2$M%yN?q!XDHt@xh<72VcXkd4 zo<0C*DA;K12?QEuI5hVJ&L-r#SHRWO6SP2kcR+ud0B>cDaI~U2fSsb}hIP-V>)~RI z74EeqPkgX<(z&OMfeZ4NuJM<3Xjtzm!(As9DxkMk7#hhrcGK`;zxjT)Mt63C0NWJ8 zZPM?=O;XD|>>c!CNi9c&jU%4d5_dhD1)74)tV$R?{V>F`9$7FLAi&|M z;8H=LJ`vC)!xn3A(kG6}fNeT=Ow!BN^yZfeJWb9j8XoI1@lAiDf=v~2h&Ko)_ddKJ zR_D7ZAnPFv2pS6UQf1)|?=9%U&xi1UZm*Zj@A&>Q@;|t1{`jnG-Q+A31@19%EZ+7= z61T%}n+O!a+=O(D?6OHH2Y>hF6PrsxoJoL^ zw3;WHdNc?SUrOm~7-y}@r2v7`)c za(hVINUKZ10UtrAj$5h`u~zS#krT;11hSrqL^wLh0Q>0GX>k>l-M58VN>Q;&j|D2! z_CmINoXw0R2{rj~2IJtxxtGj`+D*cwJXhCWv9xUES}w?}Qyc3V?#Dxf+J2^f^DBOi zp3YqVf^8Z>yi;`q@rENTmyA!;({vJ8OGInv?$?pbH2zlJvqHN6%Mw;7wd@x#OB3sN z`Ag30A)rk1N746yI9jWec7Pi?YOlsZ6VXxQr99l7(4;tMm9)6ZQN{Bgl5f7Y3#Vby zd!89Hrn_yhhuih<_qfN?Jv5ulPRHWw;{FzIj+~s_sk@w#HUr zMZ@4k`57NnX0@lxdt=vJ$n-o?dg~CLH!K2n@hyf6^kdA3>kb7d6~lwvaY`VhEu?Fk zTj-}Hy%a2PgD1rFw9k?@4PHd)t6#dX1uHb8dS>=7^ds6OOVM=LAt2rsifPm_mI$*x zmw;&BO?Y*|#eRDSd)9Gc8Jx+5n`#lTSKoKcq~A7m*0E%`Ypl`Ve~@C2j6c#=q9PC; zZ4c*E4Hdq-O~2QNb>2222c9*CcPTr>Zsw1li=UQv^eY|Mi4 zA0jUkhwm<0#}>8yJ-ZG?x)cXzSKV@`WucQUxLa#sJ$Nz``Llo#QI^_ z+NVvxgHA8J?v3!DRaM`JIz%1=Cj>eHn3!#9FnRfu81bKVBHIk9!9o z;|+mR50VqvPf8ymZFZEx>Z1*~$pX}cUe#hept=)hYa~<|a4dsX-if81wsuu~CCwI7 z_XU9ywn5D~%%8nSl`yDG(8$RoGSJyFDAcI|=&!fD&UW^7UWNonm2^^1q^m~U!{}Np zijv|QrI9C2)L-*Hk@#m880pg*mi8){VafQ4WD&mktEi7!+nNb{4=m|i(*0)v0$GOL z91P;6L|rk@O{x-^VF~YzKj53UHy^VeXv$($<>Z3Y-895TU^pipn9 z&O;Q$y>vNd9OcKT>UrQ=_uZu^J(N(Hw_*YhUE68;zA^!}?d2wkiPdEJi07-)a zJd@{Nw3~;sJgJ$ z3g1;-d|lKSz%86DEBhZ!Qu+z|??96qu5~cyJIR~_EOFlyR2M_sWX8(s;!96<7ks7U zm+OF5w~L(PcNtB#eUWNu!r8egUSm|SnH9^D7^|7oqEygTQGwwiTuc_DF=Zacy?#jOvqfAj%k50@@D!1r$J|v2bNd@i5e;b$JAM0^lGBCqUP7 z80f`4 zo{Z_UFsA)>i6q(l+Jyn0X!%fnx@oDvtn8P4vtx{DzP{?GOztoZbw88tvu|9q9@1I_ zOrdIA=ReYda#@EpKsoy>_nU~_v1H+o)~1NPqysDi6FwxpBoi4rP9UTOp-#K4#! z>G!bh5u%)dg!SaG)=oZDS7wj{hmHix`*@s^(Tq-N0*$gb$VtlniU>VN6DSC0CeNy) zw!Lck1b6MhV_x*ED1!=3wDk$ttK5)CQ=)zLrC7cRS@9v0Zf`;{lyij~@dF>G1kd@R zEofaCJZIki?q$f}lQl~JVyw`=Lo-(ZP_WDaB|I;V)blf-eY_WF@bJGZISt;il|HAj z^b0q~37@yi?fjMB0^!4e&>72}O4Fsb#%L0eBw@h(qh%(lk=dwD^*`c2z~zS;>y?eO zykBDC4UY}G_FvR!w~jk33&ON5(p(b2e2UnxxPNOtBqq_%cEmwnW#ElMKV`7xH)>wm zfh35OaqZCj^j(%exp+~0a$wL*ajTBLO?)V$$c~{r9D&4EJ*i^*bD1Vp5z|o-=4A5* z=q}=$a9*|?-LVBL2W7gIDOEi3{+7?~ORFUy1Tli`Mp@;<83qknV9kvC2F4`qP$ke-|D5ow3JH#2UaOWq zJ=heE>WGuE!w8tr!mvPd2SJTbQQw46Dcv%1j(^UaMf9ek3rr1=;zu&lLup}CS(q<^ z8fM+2ZyWzzYQzt#HZ5U^vqEJ7>>)wn4?$IaMm776iE5Q0-836(Sf9yUQ7`f!{+HV* z_Sp@iCm6dW&ng)5x&Q$vw!_&A5KSnJQ<5qE_X*l(z};RPB$drBCoMzTzs+qYC+ns) zT?|uAHPdhK*rG|o>IdqW8HceyP1Eu+aLfC7y7fDPJ2tzvo99rpYsMZ>#-GxNt zG%(?QW~=2ll7F+>RG8?hJmGR|0Pfo$41@MEw327rmweTR(7h~d;te&dM#>N=q^9U z`;8d>g4W1a#3F1Z-gZdEqedXsB&Uuc!M~CdM56gz95b<`2s=yGsQP1LTxbmMOBG{0 z=rmztmM#5Fz#rg>N&Wyr7NIJA-k}PK#W}qx646zTzb5@emYOBuFZF!obao<4quS!u z{>qEg*HDpmmcj5lM$W4g*#=G{O(Pe^6dUvxuC8?4bQ<5i{;~YB#w+=B(&oZ-yKb2U znNT4@Zw~RdUBS;xkvHO<=>wk~rvartU8ujA>t21gIz*T6ffqFdr7$ndml{JT|_}N6| z5LOvMU7Wn7E|)t`)bvTogl2<9!#|ZcujBvDqRvxL#`LH%n4;j@0yRgXoI_AXI6MQ@ zki$$*8bWVSd?ZDCN-JIIqmY5K;eyEpDds#b0XSMMJIw(ydlLokQ$e))KxWv>-w~79Ax<`?`G)+X-PbMCRM}D2TOcfv@)hQBlTX@qG!<=^1r>>P#8<_i%KBKO*1z? z$;gR3?GKJuOt}lHkx1~*9YmetoNN!vpzvrr^xT$fdla17D~p*8Intc{eUZQ~6l9Sa zSo_TyVt-0qs9W6^_3*t9)${pwlbofW^)Fa8KS~5E>&^A;;P}1%%0`eX5=4-flsIEF zV)MAebI8It-{#1FH3ahSTR%Uigrc5)NDNG*Bzp{;gsI`V6&L;#>}U-Is9=H%Er)gC zHdA$sL9r@AuKo5y5uSeOS(Ew};buk5PIns)bS>;x3k4qe1ii1ZfT$s2+3H-O?uP#Bt zL@<@cg@3v$~4~Q8fj}Z4e*cA+{8JiH+BPJ_eAN>nkI_{C4|4;|IN*x5;SL%AF zz(1)o1fCLtzIE63Y}|Up_%bhOs^Cz%yEGDI8hAO)p71Nqi%7b^6c>CA*zb~ zsb>#+d^bDz?4bnBY-_y3g47soPXc4a4|%T3f%nP&b{Xe2+Nw%Lo4Q82CLRz+?0vev z(_iY`#5YmjhDF#cgus!ed=eJvN|ikID!4UVH|)N%JBBa>b*(c34Wrhk$V$-m6EL(7 zPjEbNcM1y?#A4)d(1w$BZ}fUFvd#HJzT@iOO(5q6`?=|yC3~0}Bka)HnyVJ)I`7bU zE$5(vPWA77w0$8rJ71cIP~H&L6tS8KV9&fB@OA9nGwBD)?3 zjTW5itX#`k-~7w43Lg&{8SKjw8SMAE9+}LMXsKMD>gz7I%>%{fAK)*fh~LPx{y(K% ze@v8R9DjfuN=X;L!s6F#f=+#p6Ix4Mfsp+mEYi_Z+C}$+g6s?CHzf*S!7rrvCo1 zd+8m`5jZ+xU`P{2;%;{kFW0o4F_=GJ()vF8zl8<%g6r4P-hW-vqVZ0upc) zPLGj2{n`M3dJ=cKQR{S{$LW_bsP0@cVDyaUkC)6|*cF%)n69aN!gM~Ia9hAm^ZK3DSUhGz;I>lv$RN`#gP}o!*pl6EX8|Vxu>96w zRqP{#43!d+6~rSL)*4?(tJvI0@P-Aw0ieT2It_!lfc6O?%NWq=G z96XlWT^vowZxF9XWw)peA8Vbigx$shp&ixbJ=w>>iz~YbN#}qvFKF1og_{G52dft4 zM85qvM8yn4fd@;xJ{#C;Y=jC<{ojyzb5a9r#*ld*ymQ@dyEg$|b;DkoG|s#JkQi?3 zHoL>=lFO6M%s#=MVA=`6rWw7VVGr9h6eLxc(iyTr6eRA?kRZYAadUX1U{WTBW}X9D zp}oRa$zi@MV5)N&-RztLrlzTj1;_CsK@WueMGq`%GadS+OSTxB-_}6^+N^eKot+yQDFE+3^yMGv5rpi8K*5D8a8M6o@5~(@V$;CJ28;TOGhJoF zUI6?oQb8txf!J_Y2eQY;O>abw&q~^~Ar_DUhqt+{DuTaI;gqC37fhp~Su1&~x%vBy zQ08!zl@APd!j9RI*)hmBO_Xu!N7vzB0sa6K4$98rL8*G0bcTte63X8sge}-%wEVB{)=9;;0G+;g zCnL3=zOGc>U}n}e&rYGP3b>Rf3AXdC`-VQ?nF&WJ(vf`A4^P5Y&;n?MU}$I-M)bks zdSnx`9-$-ja7w9h>8Jm8Y=xS-xR8*1IW&~Q(yA*oCH6{q2zafv-s$xeI;}2m;J#0G zWV8ZZ^zoa|I$)d@fmcs+bZKwRmrh|uxTHC4T zfhV)S@~8)RQh^6|S>Zur*bX!PbC493$PKd+Sl8UL+A z3OFcBafdFJ+JMZr&FgVEDSRlCbQ#eFe3Bp2nrO-NR zgJMrE{y>*IT1{UlOnQFh@rphIlsji*RMxgRyF6pWls6hlCJoV~faXF@#!>y?R$r~R z)@rf(uzy_6I;q0VtwXfr+9@Y~NP2PmeR^targ%H+8%`Zja$GI6n+@}!0s(TC3il_9 zn%*kaKYqPbvcfk@f!>I6&MJkyQ5S_O?krM>g32nz#$Dl1aDxoPBns;y0SPR$4(--O zpw1eU*=7CEdY~GT&#0vF&4puO(^PXE69YjLA2y@X4EBagBYZ%> z`Vt@6pwf(=43~y00IePMDoOXLa7mP<7`molxiDGe yT_$X$Y5iG6Wx6yr4<_!?to0o%^3Wx0!Zm@%T(khbD8UUi>&d=ESOmc@5b__mPzM+Q literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/extras/ip_relay/ip_relay_linux_i386 b/agc_2-X/branches/agc_2.0.5/extras/ip_relay/ip_relay_linux_i386 new file mode 100644 index 0000000000000000000000000000000000000000..5a32534304fa60e8c777d7d274e7899935a70ec7 GIT binary patch literal 27238 zcmdUY4Rl;bm1fyilD4D7vd2jbIHVooj2vwJw00e~RoA4Z{ps2*HzNhAPfsm0w+~D%HEyyO1lzy83?5AdLWKx(KNZX%5mP6Y7}$2rv`t$lL1;bqZ;;Mkyw? zR~5Qm%0^I!bchY+E9sZ@vw@wx z@>~jj&jY7@DPIQZIB?tF^T1C!_-5dzf%n1zNPm_I_(BLz{HsXigT?j-fG+`l7&*uH zOQil6%Y5{s1@Mxmk*{#*Uju$4@O8+^?*~Zjz-cGq4UqRv;NLPh^_FznuLgcE@ViZY zEAj)tKaHII|1YG+fjneJ3p{SLI2X<*zsR3e!ax0e;xEIfLnWpfZyoUqq%qa357!4J?T^^ zn+s=hp^(BV%Od^%*Qkhs}w~C}wsaPbZvbjtwlSyY(Ppl`>+lS_nz2Q(- zA{9<1?un_Ma59;WNRzHix<_TxkzFygiY29SEEQGZNF>&qQ(cC8X98uZTsocvuV^e2 z>rP~Iu}r8d6YhzH5~;2jABB%PJ}9 zj^*O%Y_78}1#ZfYD4Rn^8IGk(sK_;o?opUZhsZCNNT*b6Zz89{xpYE>Hg1N7qKQ-} zpN&O9Ni`Xr^@I~Cl*}Y}B$>{}R97YzQybbhwyg~Xs%oq1JeYH7_67c%a}ND1Q^Ht0 zTjC3246p1p352jYDh{KwtRj)Pj6LRz6MO}0!Nmx`oKF|QIV*u*g1QyVF+XdVBRJMG z$AoKQjv#m=^NW>gWsbnGjyVF|&CJnbJ97l{4(15{+n6J8-_9Ho+{qjczk@k~W0W}r zj59}oPBKRz?PZQ&nPZMcVJ~wm4EHie@b71iz;i!y1pJ4YBS0QtjzwUYITnhKGrwA? z$CzU=c$_%`@FC`YrJiQKRHL7a7CCj_q{PE(AH2u{t$89K+F6`UH5`-vYC zoSKeT5+4@4m3R&De!xMwr={c15FZx2pZK%H`vt$B_z~j0f|#f`iBO8G;nI7W80SaFyeZA@}V-{2X2j@I#A{-jH8pu!8hT5TRSL)x?}&* zCmNL+8lcV|7|G3^Ix%$D*;kGZzBz0z?W;pqoW?%zf$!%x4qZ_IG&CE;?>v~hUL9;J zdx|Af3r)?u2VTkl^vDt{IUuPRI9(q1LC6C2G4N8w5y+~ZBD2BMcO5;r+sp+)zD9|* zAGr~$w@eVUzXJ0lem}yAW^yS82_~c-KKKtX|PzTp7Hor+tRXl{|9ENcx$n0k*zAz9IG0BoIqi4!ZIp-5FNx^Ob$%otB^i1mn7+!I7uVqF&TNUxH3=8#sO4 zu^=}s)CUwhmG>1!v`-Y85C{iH9vJDnmRdPf6#S0gYNtWH8vCWzD<~*re0YdMXFv0w zyNKd+Of^toV65*b+=`WD;3fay$YAjFz`oNeUjxUmweitnFTeba^io)WZjMM-kDx29 zqnUZf{h#yn{+zV-%V59mhoIj)1P?j;#^(oL9t@rwJTn-4b=ax&AN49M3J|5|>elJBk8csfP#cW64!xbV)t7 z8Fm0p6=*9 z&_SVF`kJv9c4g+l{?m)E<*R{gpH~sA&@qfC=FLNs7a|zoG4z^1i9w zN>i?9=TO^qQzu{ttAoYEX8s-v@*YckXy4g6ADKO#I~F{{lHq}UXJ&u&2Jq@{Qn_m- zugcFJUp#cnnSuKS$~&pn#6TXS~tB z2rqbH)HmzIU~uvvf}a|HaPUp>3@ckDM5EE5gPm&Utevw9KQgV+);HLJD8`D}sCc=g z0x=Ml@J;13P(GELGrkn|D2um3PdjHbO07357ky>yEg2`cRqRv;gRgcJnl!(zW5HKv zbAs+vh5!1dwHqvV5J7Kb!E;d=QZ5QhEwu`m8LCKt0 zjAldID=?0?x(2tOwR7*{fqmsFf0>YuEuyo^TC;OS;jLd0<SAt!Zcts$~9rALzoi1FxtdWD;6I3Q%9jn(@Co{g^@|y z8{KEHqhkCj&NDJxsYf$tDs+cu2iq0_8p2#^!_X#=wPK?$0q9t(Um#X49&Ec#sFn=2 zRSLVw!aar^qs&saBsE=ODnD5m(}UJ=!UtWH`0Zk=wJW%R$jygJ_cu`q`LglL2j4s* zF83<9VLwK7w=Ti1hI@;%3iGOU2uSb@{thYbcDSOSfmRBO^w@1dMPZItFqJ=3*sf(7 zKcad1F|EiG7MVR>L;0Z9;3RoY3JYqwF!F}zQ-(EBSZG+hLY<2Lloy`xD5StwIH(JN zIV$lLeyD{p&LsOSPY+j%9wfbHtT(s*1H++Bx zMz5Lw`LcPouH30BH+7H~Q}jhG8bd4erxiPi_$4~HUD{6$wR-IdyS#x{Sl)zf9kkZE zs3mx2-&`uN6=50NwI;`(v^IpkC#dfU>ib6N3tsH?McCs<_cr_p3cm?jW@7xmfQO9b z&0lCwXQ&%$T|6gvW;r4yH@~Xy5)-V4w!^2-w#?qQ5I#J#{p?@`@?)*s5ZILtzNz=V z1!l`ago(Js^$qSocP=W7{M^oGSDt=PotQ9a_FYnOu za7CV`m(4|u>9yL?%T`-=!FuWU#Qm9sP}o-V62_K|x5tcd^z zLhK)ZNBa-S<_dFv=!1)99o6nVsu>QBtUfybARpq(T3H6&34q(gFXaf!596iEav*$f6qn7pxog1*@BP%G%~1*mp{Fb82XN!PO0s z4w`%@Sm2_%>$KI)RK8I7hEWU~gW?oNd2;+x?u`&6FgDEFlNjOH646Cr5G26@sS0Cr zQKauA&GQ?H<(22S4c0iUI~R}rH#~KOj=9(jzA*5kYlgPdUS=5@DVzUPdByyXjod#n z|9(EPkt*m1s~KpZpR+qv{3PzL`UFhW$}JL4Q} z8Rr_F6@1BJ9aH(U@WV6k!!wQ_0`~k6u=T@M>RR@_Uz9jmGyW&T7sR07GgglMF2qsgM`DhmH7x~PyF z)kdSO&j@>~t^K+)K870cG;ml)#IZ`=p~zm~r-lrR+632DnyaG3z_M>CF)%-Q62jka z;EFnf>{YxG%+t&3*w%_uy0h&e}KBI7 ztv3vBD`B{LCWcY7@Q90j)=tOP!Mm((4@ErzLoA+GqW zb;a*VtgRWxvmV~BE;JGwqfnI!CK=m_$Up7gqRBo}xJvG&7eHonFRdTV%+nj>qntmy ztL6iIPO(4NJ}&WN?5|O4_8q?B@`30fx7#H)-U?D|PQB;>^Gfu%MvDxeK8TwJ7K!$7 z|Nqa_luUnjAMXwQhdQuoL3kWOKestvc>Tv-!&6?|@QJ3$O~;Lb8P3OxcTqYh;Qpn6 zpl}LeoN|H!U@s^Dwn1TsC(Z^D$1iLr3t!hVXyHDpr>%qv+@~Q_oT4Vbs@JFs>hBQy zlW6hZCF-I-gb6WBz&_Wq1xxh&g_!Ueh`$}>sy|9mza{{HM zMNAG;@W_PPxM}@nb=#UPn>KFRpn_YrY~G?&q8H~JlHtB)|FW!qCH~A)`E0m5)@+Y% zskxTKuTN)$defPlABRhD5+ju8wUCtF!NV8neD1D!UUN0qY1ZtYH+QZGN zENy!VBpgJtRKBM(mU%lY=9)1}TbyWt%;Dq=1MwR=ek8+SIsZ-m zWl>isXM9%u&3-W%j1)=dlTm*vodc^x4jSx)9kdyjp3B5m&D1`UiG_19D&O;x=4H`R zCdKxdd@7Ylbx$Yv-?;L9a2zx|w{wi6*#2Dkakd90g8TWqqSUoMRpjppXLn_-6vg(& zb)f-6*A-4AW6`DlM0YBUlTF=KRWmqCvHiLIN8+)_E>8llOGo=S$JkT7ELy#+uXWkY z&C70SUba=4nPRAl)-c-C{_fWYrLs#)n9YEk)1K$2{G0?OjLyqv=JuFK|JwGZTQ~)U z(8D-y?>GZqd(!)RyqTlVnUNeDjkiTpTX~M&vCrn_D28gQpbcpEIjN{?B4_( zk-3BcU2|Eq%KqmRDH_sguV<5KO3DAA@@DLxE#H3s9Bw3;h^5>hH%(j{dzOMS7M4kz z@5OB4DA?P-r9Jvb?1}8QOstlmE-1>c=cvDOS#Wj)26^%um6r(oHW-{MzhN|kz|+hk7VzXZMwmA2KPV3DC;I2< zOr!0Rh&XMy=b)L`PArg&>#5itu3K1NJc|g^Qi+!OD=AYx6I(94^y$wS7Nob;Tzt+I zg7TkhKjScOL;rUCev$RUjcEHnXO5S;?s+Al{j?5d)_$peLH%#h@7rkZ>ehu9^W=oN zMsbjeAdj}V7oK6t88(|AaoSw_aG5WF)P}SLsS_!KbRW{kke)>PGSZ7k-$(i}(l3x^ z58^C1(zQqdq&B22NS#O-r2CLQhV&%TmyupX`aaT+k$!&r2{)JcCh- zQIF%Pir*>VcM(oLSmq;q968T=vmL(=Kml;$mwp`O&{dkU;GQGB2{^zDy4Y5!C)EQu z@5;teq#VY`atk*Dz7dJnMx=fMxUxw71aKWh>L-Bfd8B>xZi<4>A+ug;2%2hd??xS2{`a=4!qxi{}%9lM$VTUm_<*Tau>d| zOw&hh#rIDP{Ife|sZ9nZZPbB3?7%Lc^TCfA`d5*^jMT662kI{UNh$ZUNWCHOQi12e z5&Pwv2KbJM!0(ar27#9ee2c(xoKi&uu9fn81P%!NF@fs@{+z(|0>3D5gTSu|+$iuH z0yhbKDJDU`;x{4iog0B$1YRdFzlosK2L*ngz`X+hiNFsE+$!+n0LHfo~HSj)5yJ@a+OWB=8*q|CPWW68P%^#{~Wdf#U*?37iyo&Rq6; zx4=sT&Ir6p;Jm3Ope28v@@i@O%WZe)W*R zl>$E^a2sIGmv4W3mfCIL^$1o^2#t`)A3Jw`;FK>xKj?Ccz}nVl1=coQi~wwH@p*wiD2&Dg*1Em;a?_v(0&m9m2l|!PRjCq zY0D{_h24H#n%_vjn(6<*;?}Q0Re=SrU)?NNv%q>R34z}muDSb?68U(u(>uA4P zCGdL$)-kX};MG#TU0|-N`m%h|DEG@Z4Rv`G8P{UP2Q5_*Rh`dfssQq`)iu^PwRqsF78QwyGeR2Bq=DrvH7&IP)Fji`t6N5Oy0&ilc^TzX zS?pc0KetWlb(4B9bT43atGvr}b57$1-MHcHG%gXearsTH*~a=74!aSpYu&y*xTVIE zzy*vn!tflCRymwkog-JR%g2LTR5s4Xm{uoEM8XFqw8bGeq?HRDPhJ;PR8*t0Y+CY=Gq{p&I3&-$iYsoaw0G3_Jbl5nKaR=1Z zqgF-J`Oaia`;_qoR5h_mwB^dMgfqb3Sj6f^#tUDgg8F>R$s~bH{;ERsnhMu$dMrVk+ zYhna~%IcTni;nq_@xOXgT3f4&#qmL1zXDzd>eaefPn!A_@V6oh+E7U0WhiaXq<81T zQR%QAB`jaXa;Fr2gVIKpf^Czbg{PntlZDbbpb}+gc8g zDv|M74b^gZR4Yom6J99?XG#+Q1T9G59icXioP zJu2xi=@fHJM&@2mj(|3x=sxQ?5+u}f2ZM=4`3GIs{qmGz42 z^eF2vs%%pTb03ijqrhOo83GdVB>%l@8DdRs3ms=ULK@bf7AQFC7^_YjQHBt4%e4{f z#E1wpGz>q*F+;4=ZYt`-w}=r3qFGy|Jyk}ZonEKCRhnh@bSABh>b0{vY+O#rFAdh3*dTm_k8#R$s&N6ex zt}8qP*J}fd%Xei#ZTZx|1(z=xNHQ|)Tm7>U|+rBtk5z9JAX{bLvrnOKHjph0?XQ6&msY+sGV;wJospV>M_ z7V)UnSU*_@x60NA@TLa7+F(~RN^EFj*`9EM&+}OvSZ*{>?1;=n+qyH(NHoXXqr*h= zJv~;bGT>r68%RK`0}|$s6|g6ti|sWM)^a+62?X&oX0Rk}Nh5q0AmvAX#XnkP|+Zk;w!rS%(Dm9yp{oR68n^v%xeYdVXn} zO|Q4^iF#*Lo@1i8H;X$;&j`jbi{|ylL=Tjm2r_JIO2_OfRC^9LB8(W+h|{x~Ev22> zkYRb+h+;e^p#2J(wgjEwOeSHLH8`{Otblk{4Q>f=D{zkcqc9V@JC9Qz)?ci~QPWFT z^nA{$92KQg#%Q~!93zJ_daNFFCvJ-9PNn0V=1h8`nSBzb^&W1wWz4m;X2*>MXAicO zwotF@m|)JWg0#|i4|^inp3ZEwQ*yp_LLN=X&4(q1>vu{_)qT~80JU|D*)*d&CyfoU z>&hbxf(DAuW3XTaw3flekf5YfD4-R)GsC8LO}n9PES7ItyZM%m_TaXlsajR6 zGELS6x31l?v18ljEzM2E%1zsXTQ-5A9E53Jy`n{#;lcRc@HTD@wXfN_%^A|h4VyM^ z3F=l`F*a_WML(e~EaExp2cE$U2DpJaW<{68b&rw{(2C>?sUSn-6ml$Q)5!68evz7i z2Gm@mgq-US=@EK7{<%yzl`S@rMTl)6m~I2nruCtlz|L3+9ND-+NOurYH-(rpHoZF^ z%k(*YaTOsWK$&p&i4UZU>=fY*(Tci9l=yd37@g%x34R1?zoS`*DDa zRRFQGs4o%OPEuRpYDEYdWbVm6P&c)*uoj|t>zedM+hg}*18fQk#^eJbRHS8HwS0va zWvw^i-A}znOsFv1fSH_)4u_R2}gFfD6x(Uu-qBiWrD{DLb@6DZjHrJuy z*2p6Y9b;{THBpdH3G@Wu4fcjmf(w(!$|2n8h2KH&58=cqfAC!zXVL#e2e5hevMq0ow+7g6B1G9?9t% z^Xv@<(%V1YmY2Mot$Bk?P^C7kUEA!h#Jee%`}ug&AK=FZtLkd~m0R%f#?9fJznu?T z{i~`1La?&7rl|_Z@_*;1wSj+ium9gQwHn5U<8tw1)tcI>np))lugX*vp8Ds)oyc<; zo#Qcrh9qkAsw$kGj#aH`+qg0p?p9Uta2Ai{qkSnf)OjwWs_=ZjYB%oO_~t+t384qN|*BXC2fBF7YT4pwqypt9=KDPBP*74$}&^TTpbn@<4 zRQQ40tIPnjE{>N79nV@-f{vf4+j{0q{1g^P3WSbluy#NIz9*DzK`u1-s9N!)$s8og z$1__e(D)-HFqZ{40Oxrt(($a-CY&$f2@%^b%bB(z@q89xp3&mDl^Vcqzd%(43CAm> z4bONT2OZ_H{Fu{=c}l_3@l4oB(DAGo>p4D4$CDqF71eSkZ4%1FN7LSA`F6rSFEFIrR+<~(U`n4#iz(rYkJ&0uKcm{6xdi{=Esl*@KFHcO6j$Ms_ zZUl6G@U)lT03SzAI@*NqALhG=D@`3U%kPtbEgfGn$Ct?3I+yNghmK!~DF>a64ldp2 z9lAxJTXY_}FFSNRySD^%kCTzPCLper}I1Z+MywR&a z0KmCe&g<`yNKby2ZU@e{*voH#ZzH#DSVVqLJHEhv%aOi^L|*o~4o4Dr4$xkf$7?9C zFzY_IRjE%q1s42g)N%gWYdwx=(B}5CbPG`6_WOO%jaee(mX5jOmMV$kQX^0RUcD)E zjN_mWa&EZ%Rz#I*rsB$_}xHx|_ zjsr}%I8QXLXD{c2#%UFtKlN}N%E3kdW~`_1J-=aTnfmz@H6-U}gsfaRSbR2Szo@eQXMaWc=c|7KZqIdd{J$-!ub9yuTpvJ&t6a@>CZ^SQhZ!I1 z`T8)9kDf|>Uk#k~T(2q54Z!&t$ZCTJfR6yb7CGyK$PY1|O8YAnkDK$gi5CA5>m7U- zaC=#KDjzM%OL_PbK@NcO+yk8ToT==OuZ^sCaLRWYIM)Hze+u~1!)3lt8T_-rTmP)g zmqpI{Zy-PLmsmed{c+$+K2hd-$l(73{Au9tH~8zoCxBmtob4}0$nyQiB7O~U|0m0Q zjmTNgoG*-V>ww?>IL?qGw6Xqn;QW5Nt?y#}p)%harv4t_OAwD3$rv4mfUf}l z34?zIxQ!1B5Fefa&bPVlNBy-(uK-tnfw#Lt-i7GzB=C0BSDE%d2Yx4T&NK4A2>m93 z^Q0W{D}ghNct;RR{`gXbPofk{+fYv-RJoEuKIQWE1dS7z;6V;PTJ$$ z`M|kv11j?M0dGe=R|byv5#Wc=-+wUmp8|g7&*9%jzQe%TAF9#c&!>(6=X-?dHyrOb zfZqvz-;(x9y$0N_H-5~Ip8!uf^8FIHo&O8*O9j6LelO}77b(wW@XG_hKMk1UT@L(l z;P&14ZNLu$zewa$Y76k^fisS?eJ5~N-UM*Fel5WI^-3p{Sx<7J;E@6zY__m_-+E`WcI0e9b}|7+mxyY$PkN3r^Q1IR@kC2*3Pa)iUX%uJ4z1s^=9XZnEx2LhCNyIA`g2;P zA9v!%JM^pd<-=R)*wo_-nEV(sEzjz}Ypv6_+n?Nvn*M|)xM>}FGQwI!i=i?5rCRDi z%N$Y3*zQ=8z41;pneGntWV;p4BxGZFg4ff7XSg`Imx|%11n}`Dzv2sh$VZ?Wsa5hb z1R4n_KKFHcq2fdO>y&&|zmhN4xdq{DB#~h6iC!q3Uu%|gf;ftyTV)kKv=8yiTKao- zg7Ujx22G~ZyYjsur^Ik!6aB3+!^yHI>9h)dxsps${80hJIjaYZ2cuoF42BG&?7`Ur z5v3Q00`OA^B^0$D1v{`5@_P!ct@cL;YP=tFaLYpL{&drtTQ;tRvla0}opVt2P} z`tLTlb^5DzZV8?{;>nBt*0NhZZH)3=Z}W2&E*S)n-;8j}*i^okj)(4h%#Tw{ua6|d z*{trHXI1`y!u1bSxICb9dM4f&;Fj_jmy7G4q|iTr;g(ZEEkP7!%*F6Edn>Xjz~|$T z56_P>IgDC<(E=04{f!HkA0JN{Vt)VJt>SNiB+Rdal$4kJP)MqE8uHFj0qXp?N*!L8F7nX^rFsmj47=y`4yJ`3ktCKumAu6 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/extras/ip_relay/lib_ip_relay_linux_i386.so.1.0.1 b/agc_2-X/branches/agc_2.0.5/extras/ip_relay/lib_ip_relay_linux_i386.so.1.0.1 new file mode 100644 index 0000000000000000000000000000000000000000..d42ee5f02088cb0b6b6226a505c32f4e405e6095 GIT binary patch literal 17009 zcmeHO4RD;rd0zcs&bDkFj=%y8oQVyFz#%&Xgds$heb@wJF2?qd26H~2PCm(}J8?gb z++eVCcI(TbMC4~eT1cIcX_z)i-IjvWW;`NxF(fJD{!HQ~CL^Xw^QpQJr4>e@F4yOI zclYkQvz*vXrZb)C+N<4X_uY5jefQmW_xtYK#{z5bs;jG0HZ-UPC1{RPH>2?QQeAVi z@}Xvlx=hX2^|k@hksEcqfMs4K^-}hJlp{V4hP%OUhN-Vd`V~LoojSe@%*gsi#FdDv z5E+)}r2O|5E<-$9xc)2^pEc#ig4H1!8bX88nJF$T488V zy5VFQ&z172GHw>EjA1u$(II%s_#(kvUknXuo}_UaC_;mJm!!MPxJ9u2)1WT4SxFnz zC2AqoFat+UZU+evK95MuYTMsM>KCQ0zzlm3IsYp`upiw#iF6+H@iZ$DxL(-)<79xq zArimeV6F$^e?nxi{bx))*B9#}2GfR#zh1+S{=&}JJmpanzznuO%JmeCcpglJ@?Bus z_X}3)tD0QR!(hn&EyM-LtOp(GpQ!0?0QGAyZ7HOz{~%I^uOU(&BZv&;{xuZ8NB#xF zk26pF`-tBH_^{wv>IT&JV;bk1{{I%KonPvI9CQqpKYf?FmVd}^wz|yle^{{gd#rmJ zk@7W}`WJ-1QZKR+f$Np>97egjKU%o8KlXpEX+LS`{~mbDJpc%--(~8pd_UAx%8vK% z42~gXf17IPAF9FMH1zcEq<_g^%im`(6Um2GeR$o9d+%PULaW!_*STVC=)Sw|x<9ZX zv|&Z(+CWH!LfiV1iBLKdPGv%XJ&B%-3UwnvRb(K{Y&hQYyHUWdXezp`C!L9=Lfxrw zUlhdMNt91l+S8v3MdIOfT63(xu4p`(iKS|!Bj&=lJU!#_{cyBc;FOo?m)K@7&CB52m+KV1A?~@KTA9$xQqB8@ovEsEp~{wUvQjw zn0Sj|iW+;FI4C$ne4MyLFh!4@AZ`=<2=NH9Pw;MHhuAB4FYyGi0!AtU_HloZRO%yp zj=a-`jW@?J?HkV2myQ=UpMK>?{?w2w6c#Kx!Zx{LqcZ`u?K$$YG#WvE-*7fjD14U9 zU&*u-a*rdID>fCp>z&uoW$viA@R^gKE7XJi6@$;CS`BtK=5s78%`=s=_PvrFD|}{% zZ2loL4-5u#MbrnKcFp7vT|qv_9wA`9xcSIn<{CBlE!o|*y-T6+x3aDR^`0XODC=kT zYu1-yVGQO5z%6Kdxa7aIm=(6u@Z+4R&Cm<#+!8W!aNa8A9CVudn^F8#nOQi&XZ4u`hv^QxljB zI>V<$YZku#p8_$!z(grKF_>!|!|cW2>eb*r2Xh#7*69|5ftGxr2vaI$i>0g=wQsO? zw`O3VX)~C+o@{_#Bh3OcQyV>ysnoy3l$WwirL3pWxu|rU=BDje>#4;Kq!j}hIu@AV zaE}G1nB-68c1<-rT0fpS7MNtgP;S>`{bSdI_wII;xmr?xwtl>|aPQ>c#v<@1)c(ec zN&ycvP*UT^3jvnD)aa#-cDMVp4N`}}H3gkgStH*r1SVb_@zfoMZUzHWX!(2jQz*+1 zSIN4_${NR(0g*WKP*bn!t?R9K+O+oaVCKmOJ-VVE74xeqnoyk^@RTyMCDT;O)Q>L$ z@nEiN(-P%31ohonOrGN$_rd zp`%g8xw<^g;qH9kha_*Lh4j|<)`70n?{W4@V;^PqvIA56wB?BNZVI&lznFRodKP+jwGpx;5QA|4So!xtpm>q~+MVphVac#(smd$@Yio&h45g)BId)4)cCYtzRF!yRdPh`GvsS`A(`4 zChQ!pv@7Oz6;-AkgD(V%rG89mvC!cywaLocq3NX6q|-iSCx&L04|>Pv4;hBPtXKvs zbca*<&KBefScRRf6sCiFIL3&aPjakm&37&mss;JZCBkmP*`!q^9&DiugXE@ip%zNJ z91rY?!c^OLc`ZJEJ(?L0*^=AkQJJ|=@t$^SCEGAQXGmP(*a>jQK1A(zEXW6@WW6e^ z$BqI(U=n`|3gwUh3lUm!9(hZ2VGF#@_HscfJL&Awsv19}dHOIvXKMuoVRS=^@7v^&#S2h1><1Aa(~j zb&wy+`fV*L-8S^86+HnzC^~sS+D{ZZ%I%qV^9J@>-pt!NXtAT^_Q2$>nN(;896q>f z&5nQB&MEX?r2dQ4{~gj7ti0S8^JRWCf5VSi;aB8L6~_bf_J5;m6}ROHhK<*CZLNG_RhEgkcW(r}9B8 zQjp1v)EBtnVc{+~!*##*5uDuKm?AYSI4D@YJHglW5U=`Lbxf zifD31f?mq2>~wC|Y0mKtg}~`TN8{~*rtHO%_1qrtW@jOrA0BTJpK+RVdV2iT{3+r0 z$`P|h%6nrFk6oe`*wln%U<^D>m~C=qWrilPotLujmKi!!8U1{-3}y2>f_bO?U}G|S z-+nz*z4xI5D4^8ub(a2z)hd>X+5cKl7j#ya^=&-ielRyxkvJ-bjqMZL#H922e-}x#h0TDHCu{s{SyzkjZuxAw;>qE) z@|Xf{UA2#wt$AE)Q~DY^Q&$ga2DQ4nKugHOZjG)kFZXz+uCB6m=dY`Qio~~x#8y|^ zfAOnywF!rJpIzi{y;}~50!3-qa*D7?@lP|x_-oNnK@NfNErnD|-Aj6D9MWCnhi`kS zd652I_UcBlPPi%$Toq;w6F-5;o^VY(^5uy~zC7`VWH5?nptzWiFSpB4ndU;kVgK{; z-toDzR^Uhog9{*tJ|;LH!_yg#z_!5a^p*>7+IAk%vI;+(4;?PHljE~sL)!Dhu1{jr zV;-yxaLj`OTOx>xV{hWfID`ZA2u7%l%9js}ihf2_cE;E*Pz?Qy3M=TxYxVP_mO$(0 z1!+7ACm{Mk=KS?DRngB{F&XG*MD#Pl{;Tvu7^E>20;Al_Kk{>{pHg^DP4%kSN&Hwd znB)6uYib)`F?4<`284wectKcb1IHP#Y~XYB9Gqd_fA}*ye==&X z^NDf+?fWSil()*hM_u*}>%=4$$1*VHUI>84)QSqdPM>Zr2V9)JMQb0H4y@L0*WKlZ z@$%qMMH5H0A&o8IbCsN{zHA7wVHUZUbLzZRlP%|_s>wcbu9NL`8jPfNviWEsll?v; z_Lm`CWwQ4Q@`~6~6|v`NvBx{kZ~odbwjkB#alR`?ckc7|Bdpyj|MZ=50q5_ema}U9 zMqKlU>yo65nqrF?EHPqqVu%+0U5F!@J@*8+s5R1T;}?D zJqA9Ro4Iy7P7h?QIU8Zyx!GOf>!1>52xXL4yn=5~#$omc2nQDsqzlNz6GO4;u@ zui-Hnv&CK9!K3PTP>lYB5etW#UqB7dUh*c#p+VGFo+n1=mYetSH#OnsaW?Cd7x~di zm9neR5WdHO?{Qqd2l=w^LB8yJrYhpDM;5~wy9C_xr?8SMBK(U!bDbaSb`0Ox^jl&@ zKHAqP-V{=Y;O_+Oxc3b==l@7%K^z2Mt5jCnWmaWy5Cg(fjOH0_nd80rQ*OR6XU@%= zwh`=hjj`L;@iMQ%_J|<8fL(0Yn)M=Pc$47*GaSLwJ~kM=iH-0XYlM6B=Qy|A=iK`a z5g*~IjO{^C3L*9#oB=?CeY#j{SRy=M+0aOgVOhVquuA?0m;8q+YI$7S?%2!9YP^AjTiLtHNG0d}0)w{s5f7pU= zZ|pmP`SMQSA`HX46VR`q=IG=3am<;V$MAySGW5#jINzM#pT)8;mz@amWhe4LMWi_*l6_YA zfR;iFn1jOPy@I$FoZ#WzMyb))^^SLbeLg9D%8vO3u~YQv(QmDtqk4)e1wV4VNi#NK zet+3?zk??${G#ze{H8gWgP$u6_T!2AbZ)AYneX~NB=<%me#e=C;_Re3n}UD!?<4E& z4)o3?VmHp^P`LDmZ<6|MTHJNh;+-9f*DPOr@AAd>tHo*GjlRWc+7Ut|nT>b(63L7& zl8S~iQJ?;y-KT$tL1eCC z;L9X^i@W^x|MJCME|wMfZU4G&O8#q=S8YG0f3`gL{yE%8yeFD~0cr;L(xOIOAHN_; zW-|*x84V|T65D*)e!m|-11ZJcev|g-AD>%9c337>OHdaSkmR?+`296W zp1)C8y>jJp-;&kqHeTmj=D+P0-?BD@Ti?6Xw`4t5)tYd|x3(vd9q`@iUnT@ME^TY~ z17P``f77MQ{*N`aW92k3Q2lL7{cZg0_qSc9{OO&2nebMmnUqdrHWv%0W6IyPGXWBv zW>U((Es^!_h^Er~xX}$lsKZy5q}Q4Lct-i<6H>oqGtmJQ$k(L)R8qcW^y|OTnEr-T z`6HQRDviE$vMq@Q;1}-ei9kSn_o)2xCz9;z!|t#AIDGcaYO zJL0-yo@4SDuUUhJ3QUPM$$8?IeOu3gKIbTpJrh?b6Posm9(bS$@YA>_%QK7>Ao zu@!k6Y`;{srQ>)1^6kIv6m_Iy>~+zJ!=lr=4ABJYj-emX@{{kh;n%K|8vV!iyTj12 zE8ZVq9Hy`)_)PjJQu3p|=udechyKn6%Wp3VEFJF~OoGnVk=Euv>7wI3gelNbuQph^ z&!NEblS#ymKONmuE;+^SVTJeO*^rzJB<8=EHL4#Fw!mykXkzKGwjob z*;oiiEkJ7Nn7YhJjo_Qu4s^hKN2?L36WR=I*3Hj{Ir$J5vajOUv_4sz%(4kRuR%goIi8u9?C0xJU9HTZPopx4GzV zK{>w-XQ+e2SP`=o9PUQJz3L z;;Mfd*f$q{5Ge1nNQ-1UJdK9CCK=% z2fo9FZwGE|R_Z&Zp7)|gf$6_EzWacOu)rTjN*qP%yF{sHOnnCUDDWQ`oCDs1jrbme z`C|KP!0eapzk&1wCd=Yuz>U~{f^agd|1t0Z%qM?E<$M-_H{dh4Yv5>Dk3VX6pi(~< z_z@rWCR2YkusyHW)z48k0W;7i@*Le^@aGNQ0BoN%cn@f^so#V8s}UascHa|w!qods z`#(0ACP4mwZ7}Ve_`3$%{!bbVcPsT12Gf2?-(;Mq<##3U2qzDL_rw;})ZYT^z9)8% zskisUHXCg3i9HPLz9;sWski+-0qnjfcEHqs4gFt@c%+8@pAB9m^5Ips!8A#Z=WSs3 zJ+axCC-*(E1;FlmTT6f$tUT?+*Gdui%~p4s`iD_O{y~GEMxOG;4Yv2h_8Ck+Mf%SH zyZd_znEO2g=l?GZJ=Z1azYXlZCw9!#Tls!qupO^saLlxSyM}&_*%NL1D-6ET(6`mp zcN&ap<>Mco+Idj-OF_sK%izl~+;~_cThr-zblm^y>?pnX%-ax1`u=?(GXvBU) zUD>|AohrGN?`izYa3hO1%yc1TGg-WCjYLD4WXN2MTIuTB-Jd*FnEr$&ux=Iaw`pN5 z&|+wWTUV7kRZxPKJ0gk+=~tW~&?tG~FJ?pJ^j!TUy_5Kx6ur7 zT7|p1LVS^;-+>9_dl>`c$>jEIf5=s0xUh+S<6}5k_9U&T;EPW(No3Q}F2gyEJ80pq z&{oV@G=&+14nG=BX;J#ayjfRGv9wIV4lD(dl`+~z5=1;|icl$G_A zOfmO;_ulvT_#`>jw*E0f)Vb&0bIv{YoO92)_wlvf5l%(oA8*`a)P6cUySqF0c6IN& z%`gIT$obzeI=j0x!$6}DViUfn*7^>Qr$Uj@a5^0tP7Ir(ibi9jF*7DRQnAtSL?{va ztOIilr$HGpLqpMYC>>KG99@xkEb^ETqr-!t;qj0Z)sfs|IQ8Efpzi8_XCSa|->uNU zvop{mS1{1{WbppG>gwvCzWUUOdQru&un(*LTP0{0R|~J`&;9fjqL0qzF1Xs+MQ`Pb z28?AtCK=2tC1vT?3v-o9B{!3sIW{wKRF|k)LUMXF#hNyuWVoQoRJv)uL zD1Wn(&;R1dtMo*fMm5nbQ;&=hRW7(i(dM;R|3Uk2~0<1YZxl;dmPsyAM zF0*GkJGtz6@}rP-v`3gXOW2X|lv?r+EKl_>0slks2MyO$g5Ig%az&KR=7a42n+87( za{x9)5%Se^>5fb;3x1@z@+EZy3n8l46kjEIrC5szg` z@_KW9UNzuZHQ>W=_K3G)s)ny()|Xo0kA}DbaU&ksp>P*$4LitKDPEN8#5Dd9F%>*# zt2s0mJm)cgU2yVcHFjDR@<7L^a`^HCVi@hM#wajw&X6TkUIxyxeL=YcklLGa3yyE`%YkA z_2z*Dm+?O@(2p6hp~{{Uu`>lNZMf=ShO8{3?~yo)xvmTx-LG5phCPn zzd-{MA(Siow0%3?Hg%cN1p*(pX198eeS!YK5MCgETGgda<&?VRzsZu z8m6V1@Sd`Vr?iVZueaeq(3jaNo8ALKf2I-5+)Sxi?sc^@OMi#G%%ot~D=7-$fsKZx z!>=sguF?g|Gf!4BEC%u8_DWy=&+1BxuR<#8)!Ow4(y`dexSavuPKZ5^e$=F9jM-_E zBdR9pGUCWyvg&*aN06qMgNuFn;Nr<;Z(9X3tG3_KZc**{yshq)QeCW}CLeMqug-_< z>)FLwxohoWc&v#0>V^LYb{VkMeft+w_j2s=aCUJA4quCmAZZ{}0a*!gete()&&$IV z_J01;&2_W2;XQNvY}3@NZ|u{G zPc8~`GlGG$Uz_uneA84;B7NJTgeuY2#aGxKPPE2|68%QCUkgJ$oG(Sy3kj zuwbMpy}kx!no6LG^;I$}h{I*X;j$wR(YE6dZ7U89D6T5dxBr8-4wUYk-jIL+3Xp+3 zCIuKW^sst6kP(LeH*s8W#4(}}4qGZdfuQB|<*MoIEg|#lzDrmO=l{O=aoYmldPiow zVmogr?z6xWYb)L5uW_(Ex70ZJ#N|1-s--%&w=Bz~M#>=iW175IxUBgW);wUT+=lFO4w0av{EP4J7i8Wv&6|+|;u|yW)G#zADjc{zHDfeY*`gN0}-1Y;M zC&S`Ya1OMM@r^}kj3SfKC4v~wXHLoIGnI^8Xc=p{ z;OhuM1Y2zg;v|f)^zso5quz3yE9QCQ4_(5{YU^(#6zygGsKjLjN_cYPyszSpN2kz~ z0xl_zAoIKK7CqK8g>CXKeGPQhcWL!#rcvFZXSsiPtG)pTt}|K3IQlI-@#&B$-Iyw;ZW+ zjR3<;8g0=I>u-Ns)FINrul%oBsrd&QZ_WA1dHM5mxslP~SONj47BCFgS-L`LsB4(R zW3gn$Yz1X3oET0VHZtQK9UWXhXZzpqV}AUw6?xne;+lCVJUkkU8trY-oomfb`%9}+ zX_(ou8keBRXfhp(u9m_1(=l!t<#RQmns4}UBALQ!^-{UqRUcdb8h)+tWe8ZUzZSHH z!Y;Q+wQT*h6I{!#vEN$iz<<*IL#gDLp{QGpwFp;kBM5qi1b*W*WHeMgB8Ap! z)M~VImP{(PQwj)2BC&B3F1|c=8FNlmsQ+sJUB3OT^&3*xjXTkrf7Kq>#{3{n=s#tH zwXI)kUr;-@=|=5)8SGBm%J$ud4(&JE@BU=}PNS>i_I*ZI0H52sJB{{-;I(_grg8sp zB6GyJt)oj4?C$LB>Hq@wcBCi9%{7w&i)4R4xen>pV~JQDBn2)@di1!&4AV2q!HSl?>4k+ zocemu(*x+k*TVI%1oeoLd(nCg-xK(f{z1SepyZ!w{87LbtSgN^j`Q3Wg#)Mc`0oRj zfqzlsUjlpr%G{^%7XeQJ-=_J00DKC@nmkZzP!uPxILoWPY7v2Ya z$5tWrq`ooNca~_+ zi6^ORfX7w}Nn~&c)RNNz2kvNSFf%k1OLYVU?i-&Cr<5w=VR`$iq3E>wr91<1`o5^9J3@UH~;@e)KQ5ys>Y78#!q2{RcV6+@|*^Sw0vCYp4fl;wE&j2h_E zDeMq=T!ccgR4S1S$!i)8+yaY1PcjANpb=?!Adxds;Y8F-x`jsM8*S>qBMiiU9rh+l zuY`v*WL;wa?`jy=@Ti7QYxt~&f36{aULxNDpa%zmpA+KMl6vgDI^CtU!NDUyxC^z3a5wS@AnA7@pLq5N@i7hW zBgFVojsKCxU(onV8lKVptRIx~$xYycoo+z=A{-}#9!~>O|1-Lu2OIWZ2gv>hiG%(v zLfDCi0rt1!OZ(hOc#9CfO}GPhM8ZxXz5__QIpWaYgStol7C`p*5(ocp5`zCTgy5ed z1pgc$>E0v`{s7Kb)Z-{1`@c^d{bw{hM+m#zj{^Ydz5+SducEWBU?j{7?Lx7Y!OdNXsJ#o+-)2R>1(5VT#G(KF zgou*};SM35;yC!9A&!IJaYFEaoA6d4ehNtbi^MVCuC2ha555aXd1nasW8LfrUHx^y VVTTq%*dYnX{x1@TAKujXe*@H{Do6kT literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/extras/ip_relay/relay_control b/agc_2-X/branches/agc_2.0.5/extras/ip_relay/relay_control new file mode 100644 index 00000000..081574e8 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/ip_relay/relay_control @@ -0,0 +1,59 @@ +#!/bin/sh +# +# relay_control ip_relay startup/shutdown script +# +# Version: 1.0 ip_relay/relay_control 7-Feb-2003 +# +# info@eflo.net +# +# This script is released under the BSD license +# (for compatibility with the ip_relay project) +# http://sourceforge.net/projects/iprelay/ +# +# Thanks to Rachad ALAO (ralao@venus.org) for writing ip_relay +# + + +case "$1" in + start) + + echo "starting up ip_relay services " + + ip_relay 40569 127.0.0.1 4569 9999999 & + ip_relay 41569 127.0.0.1 4569 9999999 & + + echo "done " + echo + ;; + + status) + + echo "current running processes " + + ps -C ip_relay + + echo "Done " + exit 0 + ;; + + restart|reload) + $0 stop + $0 start + ;; + + stop) + echo "Shutting down ip_relay services " + + # Turn off IP Forwarding + kill `ps -C ip_relay -o pid --no-heading` + + echo "Done " + + echo + ;; + *) + echo "Usage: relay_control {start|stop|status|restart|reload}" + exit 1 +esac + +exit 0 diff --git a/agc_2-X/branches/agc_2.0.5/extras/leave.h b/agc_2-X/branches/agc_2.0.5/extras/leave.h new file mode 100644 index 00000000..c99bcbb2 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/leave.h @@ -0,0 +1,110 @@ +/* + * U-law 8-bit audio data + * Source: leave.raw (/usr/bin/hexdump -C ./leave.raw) + * Copyright (C) 2007, Matt Florell + * Distributed under the terms of the GPLv2 + */ + +static unsigned char leave[] = { +0xd6, 0xdc, 0x55, 0x5f, 0x63, 0x67, 0xf0, 0xf0, 0x74, 0x75, +0xd6, 0xee, 0x5d, 0x73, 0x66, 0x60, 0xdc, 0xfd, 0x62, 0x68, +0x5b, 0x5a, 0x57, 0x5e, 0x5b, 0x5c, 0xef, 0xfc, 0x4d, 0x51, +0x57, 0x4c, 0x5d, 0x66, 0x60, 0x51, 0x6c, 0x5f, 0x3e, 0x4d, +0x59, 0x47, 0x72, 0xe4, 0x52, 0x53, 0x58, 0x48, 0x3e, 0x51, +0x54, 0x4e, 0xf8, 0xd2, 0x4c, 0x45, 0x4e, 0x3e, 0x46, 0x58, +0x5a, 0x59, 0x5a, 0xdc, 0x44, 0x3a, 0x53, 0x43, 0x45, 0xe1, +0x78, 0x52, 0x5b, 0x5d, 0x3e, 0x39, 0x69, 0x4b, 0x56, 0xd4, +0xdc, 0x5b, 0xef, 0x65, 0x4b, 0x4f, 0x4b, 0x7c, 0x75, 0xd5, +0xcd, 0xdb, 0x72, 0x4a, 0x4d, 0x4b, 0x50, 0xd6, 0xd7, 0xdb, +0xdb, 0xc8, 0x6b, 0x44, 0xf7, 0x5c, 0x6e, 0xda, 0xcb, 0xbc, +0xcb, 0xc1, 0xd2, 0xcf, 0x62, 0x53, 0x7b, 0xe0, 0xc9, 0xcb, +0xbc, 0xbc, 0xcd, 0x54, 0x78, 0x53, 0x5a, 0x5c, 0xbd, 0xcc, +0xbd, 0xd3, 0xb7, 0xde, 0x79, 0x67, 0x53, 0xdc, 0x57, 0xbf, +0xbd, 0xbd, 0xc6, 0xc6, 0xda, 0xd9, 0x41, 0xe6, 0x49, 0xcb, +0x5c, 0xbf, 0xbe, 0xd0, 0xd9, 0x44, 0xcc, 0x3b, 0xd0, 0x3f, +0xce, 0xdd, 0x4b, 0xea, 0x47, 0xbe, 0x4a, 0xcc, 0x69, 0xc6, +0x64, 0x49, 0xed, 0x4f, 0x69, 0x46, 0xea, 0xc5, 0x6b, 0xdc, +0xe3, 0xd6, 0x5a, 0x3c, 0x61, 0x35, 0xdb, 0x3a, 0xdb, 0xff, +0xf8, 0xc2, 0x48, 0xd7, 0x46, 0x6a, 0x48, 0x47, 0x5e, 0x7d, +0xe8, 0xd3, 0x66, 0xcf, 0x50, 0x7e, 0x48, 0x3d, 0x5d, 0x3c, +0xd6, 0x3a, 0xbe, 0x5a, 0xe5, 0xe2, 0x4d, 0xcd, 0x41, 0xbb, +0x43, 0xbb, 0x49, 0xc4, 0xd0, 0x42, 0xc5, 0x3c, 0xc6, 0x4e, +0xd6, 0xc0, 0xe7, 0xbc, 0xd4, 0xde, 0xc5, 0x45, 0xcd, 0x6a, +0xed, 0x5d, 0x67, 0xb8, 0x55, 0xba, 0xe3, 0xbb, 0xc5, 0x4a, +0xc0, 0x3c, 0xc8, 0x49, 0x77, 0xbc, 0xe8, 0xb6, 0xdc, 0xae, +0xeb, 0x71, 0xcb, 0x51, 0xf2, 0x47, 0xea, 0x6b, 0xdd, 0xce, +0xc8, 0xcc, 0xc2, 0xdc, 0xc5, 0xe7, 0x5d, 0xcb, 0x4a, 0xc9, +0x55, 0xca, 0xbb, 0x4f, 0xb9, 0x5c, 0xca, 0xf3, 0x3d, 0xbf, +0x38, 0xc6, 0xf8, 0x56, 0xb0, 0x3a, 0xbb, 0x79, 0xe1, 0xd3, +0x33, 0xbe, 0x36, 0xdf, 0x4e, 0x4f, 0xbb, 0x58, 0xb5, 0x67, +0xbb, 0x63, 0x4e, 0xd6, 0x3b, 0x5f, 0x38, 0xd6, 0xe9, 0x52, +0xc9, 0x3f, 0xbc, 0xd7, 0x40, 0xbf, 0x34, 0x67, 0x6d, 0x32, +0xd0, 0x3b, 0xd4, 0xe3, 0x4d, 0xb6, 0x40, 0xdd, 0xeb, 0x3e, +0xf0, 0x3c, 0x4a, 0x56, 0x49, 0x7e, 0xf2, 0x67, 0xd2, 0xd8, +0xec, 0xe1, 0x4c, 0xf7, 0x5d, 0x37, 0x4c, 0x48, 0x46, 0x6d, +0x3c, 0x5f, 0xbd, 0xf5, 0xe9, 0xca, 0x6d, 0x4d, 0x5d, 0x4a, +0x43, 0x3f, 0x49, 0x67, 0x49, 0xc6, 0xcd, 0x48, 0xbc, 0x66, +0xd3, 0xd9, 0x2e, 0xc5, 0x4e, 0x2e, 0xca, 0x3a, 0x33, 0xb4, +0xf7, 0x40, 0xb5, 0xee, 0x67, 0xc4, 0x5c, 0x6a, 0x4b, 0x63, +0x51, 0x3e, 0xcf, 0x4a, 0xd5, 0xb8, 0x5a, 0xb6, 0xcc, 0xed, +0xaf, 0x3e, 0x67, 0xb8, 0x34, 0xec, 0xc5, 0x33, 0xba, 0xb6, +0x3f, 0xb4, 0xbb, 0x67, 0xb2, 0xc4, 0x41, 0xd1, 0xe5, 0x53, +0xe0, 0x48, 0x69, 0xbf, 0xe5, 0xcc, 0xb9, 0x7b, 0xc7, 0xae, +0x52, 0xdd, 0xb7, 0x3f, 0xf6, 0xc2, 0x3d, 0xd3, 0xb5, 0x3d, +0xca, 0xad, 0x54, 0xbb, 0xb1, 0x4f, 0xb9, 0xb8, 0x48, 0xc5, +0xce, 0x3e, 0xcf, 0xe2, 0x40, 0xd6, 0xc9, 0x50, 0xc6, 0xbe, +0x4e, 0xb9, 0xbb, 0x3e, 0xca, 0xc1, 0x3b, 0x73, 0xce, 0x30, +0x65, 0xba, 0x3e, 0xd9, 0xb5, 0x41, 0xcd, 0xab, 0x3f, 0xcd, +0xb0, 0x34, 0x6f, 0xbc, 0x31, 0x67, 0xb3, 0x2d, 0x7a, 0xaa, +0x3a, 0xc2, 0xad, 0x34, 0xbd, 0xac, 0x34, 0xbc, 0xb1, 0x2a, +0xcb, 0xb5, 0x29, 0x6e, 0xbb, 0x2c, 0xcd, 0xbc, 0x2e, 0xc2, +0xc2, 0x36, 0xbd, 0x6f, 0x31, 0xb1, 0x5e, 0x2e, 0xb7, 0x37, +0x2e, 0xb1, 0x3f, 0x2b, 0xb7, 0x4c, 0x29, 0xae, 0xdb, 0x2b, +0xaf, 0xbb, 0x2a, 0xbb, 0xb3, 0x25, 0xc8, 0xaf, 0x25, 0x41, +0xaf, 0x2a, 0x3c, 0xa7, 0x2e, 0x2f, 0xa3, 0x5d, 0x2d, 0xac, +0xd5, 0x29, 0xbb, 0xbe, 0x26, 0xe2, 0xb6, 0x28, 0x44, 0xae, +0x32, 0x35, 0xac, 0x4a, 0x2f, 0xae, 0xcb, 0x2a, 0xb5, 0xb5, +0x2a, 0xcb, 0xae, 0x2c, 0x46, 0xab, 0x35, 0x32, 0xb0, 0x4b, +0x2b, 0xb5, 0xb8, 0x2c, 0xcd, 0xab, 0x3c, 0x44, 0xab, 0x4f, +0x30, 0xad, 0xc4, 0x28, 0xda, 0xb1, 0x2d, 0x61, 0xaa, 0x31, +0x3c, 0xa4, 0xea, 0x2f, 0xac, 0xb9, 0x2c, 0xbd, 0xad, 0x2e, +0x60, 0xaa, 0x40, 0x39, 0xad, 0xe0, 0x31, 0xaf, 0xb6, 0x37, +0xcb, 0xb4, 0x44, 0xd5, 0xad, 0x4d, 0x4a, 0xb2, 0xc7, 0xe3, +0xba, 0x50, 0x4c, 0xb2, 0xce, 0x3e, 0xc1, 0xe1, 0x3b, 0xb6, +0xb3, 0x34, 0xfe, 0xa9, 0x54, 0x49, 0xab, 0xd1, 0x36, 0xae, +0xb0, 0x2c, 0x55, 0xab, 0x4e, 0x3b, 0xb1, 0xcc, 0x32, 0xc8, +0xab, 0x43, 0x35, 0xae, 0xb5, 0x42, 0xcc, 0xb2, 0x47, 0x5b, +0xa8, 0xbc, 0x2c, 0x4e, 0xaa, 0xe5, 0x39, 0xbe, 0xcb, 0x33, +0xc6, 0xaa, 0x42, 0x34, 0xbb, 0xc9, 0x3b, 0xc8, 0xba, 0x3c, +0x3f, 0xb8, 0xc0, 0x44, 0xfb, 0xce, 0x49, 0x5e, 0xc2, 0x77, +0x3b, 0x62, 0xd1, 0x59, 0xf7, 0xdc, 0x3e, 0x45, 0xbb, 0xc8, +0x3f, 0x58, 0xcb, 0x58, 0x4c, 0xce, 0xec, 0x3a, 0x58, 0xbd, +0x56, 0x35, 0xe9, 0xd5, 0x40, 0xd9, 0xbf, 0x3b, 0x39, 0xb6, +0xc8, 0x32, 0x5c, 0xc1, 0x40, 0x3a, 0xb9, 0xfd, 0x2b, 0x58, +0xc0, 0x3d, 0x32, 0xd1, 0x74, 0x35, 0x5d, 0xc8, 0x3c, 0x34, +0xc0, 0xc8, 0x30, 0x45, 0xb7, 0xf9, 0x33, 0x5e, 0xc2, 0x3f, +0x40, 0xbe, 0xd1, 0x2f, 0x3b, 0xb9, 0x76, 0x2b, 0x3b, 0xce, +0x4a, 0x3b, 0xdc, 0xdf, 0x35, 0x3f, 0xbc, 0xd3, 0x37, 0x3e, +0xc7, 0x59, 0x48, 0xf8, 0x45, 0x3a, 0x3a, 0xec, 0x5a, 0x3a, +0x4e, 0x69, 0x4b, 0x48, 0xea, 0x5d, 0x34, 0x4d, 0xbe, 0x5c, +0x35, 0x47, 0xd5, 0x52, 0x4a, 0xdd, 0xfb, 0x46, 0x78, 0xc2, +0xdb, 0x40, 0x47, 0xc7, 0xc5, 0x75, 0x45, 0x4f, 0xeb, 0x55, +0xef, 0xc6, 0xfa, 0x3f, 0x5a, 0xc0, 0xd1, 0x4d, 0x58, 0xe0, +0xe5, 0x7d, 0xd3, 0xce, 0x4b, 0x47, 0xc3, 0xbd, 0x55, 0x49, +0xe0, 0xd6, 0xe2, 0xcb, 0xbf, 0xf2, 0x46, 0xf7, 0xb8, 0xbf, +0x56, 0x5c, 0xce, 0xc9, 0xda, 0xcd, 0xf3, 0x4b, 0xe2, 0xc9, +0xc6, 0xd6, 0x5e, 0x5d, 0xca, 0xbf, 0xcf, 0x75, 0xd3, 0xcc, +0x77, 0xca, 0xbe, 0xc8, 0x52, 0x72, 0xb6, 0xb6, 0xe5, 0x5c, +0xca, 0xbe, 0xc4, 0xc5, 0xbe, 0x5d, 0x57, 0xc3, 0xb7, 0xcb, +0x46, 0x59, 0xd4, 0xbe, 0xd2, 0xd2, 0xcb, 0x5d, 0xe8, 0xca, +0xb7, 0xc1, 0x51, 0x60, 0xbb, 0xb6, 0xce, 0x77, 0xc3, 0xc3, +0x62, 0xca, 0xb9, 0xc3, 0x48, 0x62, 0xb3, 0xb4, 0xe6, 0x4e, +0xd7, 0xc0, 0xc2, 0xcf, 0xcf, 0xe8, 0x5a, 0x6c, 0xd9, 0xc9, +0xcf, 0x4d, 0x47, 0xd5, 0xc4, 0xe3, 0x58, 0x6b, 0xe7, 0xe9, +0x79, 0xd5, 0xc8, 0x51, 0x44, 0xf4, 0xc7, 0xda, 0x4f, 0x67, +0xec, 0x6d, 0x54, 0x75, 0xd6, 0x71, 0x4a, 0x4e, 0xcc, 0xcd, +0x55, 0x55, 0x61, 0x68, 0x56, 0x5e, 0xce, 0xde, 0x43, 0x46, +0xce, 0xce, 0x59, 0x50, 0x7c, 0xfe, 0x52, 0x67, 0xcd, 0xeb, +0x49, 0x69, 0xe5, 0xfe, 0xde, 0x60, 0x5e, 0xf5, 0xde, 0xeb, +0x68, 0x6b, 0x71, 0xee, 0x78, 0x76, 0x76, 0x72, 0x6b, 0x6c, +0xfc, 0x7d, }; diff --git a/agc_2-X/branches/agc_2.0.5/extras/leave.raw b/agc_2-X/branches/agc_2.0.5/extras/leave.raw new file mode 100644 index 00000000..4949775b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/leave.raw @@ -0,0 +1 @@ +U_cgtu]sf`bh[ZW^[\MQWL]f`Ql_>MYGrRSXH>QTNLEN>FXZYZD:SCExR[]>9iKV[eKOK|urJMKPkD\n˼bS{˼TxSZ\̽ӷygSWAI\D;?KGJidIOiFkZJոZ>g43?gASHi̹{ǮRݷ?=ӵ=ʭTOH>@PƾN>;s0e>ٵAͫ?Ͱ4o1g-z:­44*˵)n,ͼ.6o1^.7.?+L)+*%ȯ%A*<./]-)&(D25J/**ˮ,F52K+,ͫ;4TI6,UN;2ȫC5B̲G[,N93ƪB4;ȺE?XXL:XV5@ٿ;92\@:+X=2t5]<40E3^?@/;v+;J;5?7>YHE::Z:NiKH]4M\5GRJFx@GuEOU?ZMX}KGýUI˿FV\K^]ʿuwʾRr\ʾž]W÷FYԾ]ʷQ`wbʹHbNZlMGXkyQDOgmTuqJNUUahV^CFYP|RgIi`^hkqxvvrkl} \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/extras/meetme_DTMF_passthru-1.2.23.patch b/agc_2-X/branches/agc_2.0.5/extras/meetme_DTMF_passthru-1.2.23.patch new file mode 100644 index 00000000..e44ef5df --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/meetme_DTMF_passthru-1.2.23.patch @@ -0,0 +1,79 @@ +--- app_meetme-orig.c 2007-08-13 12:34:41.000000000 -0400 ++++ app_meetme.c 2007-08-13 13:18:21.000000000 -0400 +@@ -85,6 +85,7 @@ + " 'D' -- dynamically add conference, prompting for a PIN\n" + " 'e' -- select an empty conference\n" + " 'E' -- select an empty pinless conference\n" ++" 'F' -- Pass DTMF through the conference.\n" + " 'i' -- announce user join/leave\n" + " 'm' -- set monitor only mode (Listen only, no talking)\n" + " 'M' -- enable music on hold when the conference has a single caller\n" +@@ -229,6 +230,7 @@ + #define CONFFLAG_EMPTY (1 << 19) + #define CONFFLAG_EMPTYNOPIN (1 << 20) + #define CONFFLAG_ALWAYSPROMPT (1 << 21) ++#define CONFFLAG_PASS_DTMF (1 << 22) + + enum { + OPT_ARG_WAITMARKED = 0, +@@ -257,6 +259,7 @@ + AST_APP_OPTION('e', CONFFLAG_EMPTY ), + AST_APP_OPTION('E', CONFFLAG_EMPTYNOPIN ), + AST_APP_OPTION('P', CONFFLAG_ALWAYSPROMPT ), ++ AST_APP_OPTION('F', CONFFLAG_PASS_DTMF ), + }); + + static char *istalking(int x) +@@ -797,6 +800,18 @@ + return 0; + } + ++static void conf_queue_dtmf(const struct ast_conference *conf, ++ const struct ast_conf_user *sender, struct ast_frame *f) ++{ ++ struct ast_conf_user *user; ++ ++ AST_LIST_TRAVERSE(&conf->userlist, user, list) { ++ if (user == sender) ++ continue; ++ if (ast_write(user->chan, f) < 0) ++ ast_log(LOG_WARNING, "Error writing frame to channel %s\n", user->chan->name); ++ } ++} + /* Decrement reference counts, as incremented by find_conf() */ + static int dispose_conf(struct ast_conference *conf) + { +@@ -1363,6 +1378,9 @@ + } else if ((f->frametype == AST_FRAME_DTMF) && (confflags & CONFFLAG_EXIT_CONTEXT)) { + char tmp[2]; + ++ if (confflags & CONFFLAG_PASS_DTMF) ++ conf_queue_dtmf(conf, user, f); ++ + tmp[0] = f->subclass; + tmp[1] = '\0'; + if (!ast_goto_if_exists(chan, exitcontext, tmp, 1)) { +@@ -1372,10 +1390,14 @@ + } else if (option_debug > 1) + ast_log(LOG_DEBUG, "Exit by single digit did not work in meetme. Extension %s does not exist in context %s\n", tmp, exitcontext); + } else if ((f->frametype == AST_FRAME_DTMF) && (f->subclass == '#') && (confflags & CONFFLAG_POUNDEXIT)) { ++ if (confflags & CONFFLAG_PASS_DTMF) ++ conf_queue_dtmf(conf, user, f); + ret = 0; + ast_frfree(f); + break; + } else if (((f->frametype == AST_FRAME_DTMF) && (f->subclass == '*') && (confflags & CONFFLAG_STARMENU)) || ((f->frametype == AST_FRAME_DTMF) && menu_active)) { ++ if (confflags & CONFFLAG_PASS_DTMF) ++ conf_queue_dtmf(conf, user, f); + if (ioctl(fd, ZT_SETCONF, &ztc_empty)) { + ast_log(LOG_WARNING, "Error setting conference\n"); + close(fd); +@@ -1542,6 +1564,8 @@ + } + + conf_flush(fd, chan); ++ } else if ((f->frametype == AST_FRAME_DTMF) && confflags & CONFFLAG_PASS_DTMF) { ++ conf_queue_dtmf(conf, user, f); + } else if (option_debug) { + ast_log(LOG_DEBUG, + "Got unrecognized frame on channel %s, f->frametype=%d,f->subclass=%d\n", diff --git a/agc_2-X/branches/agc_2.0.5/extras/meetme_volume_control_1.2.16.patch b/agc_2-X/branches/agc_2.0.5/extras/meetme_volume_control_1.2.16.patch new file mode 100644 index 00000000..ebad477d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/meetme_volume_control_1.2.16.patch @@ -0,0 +1,81 @@ +--- app_meetme_orig.c 2007-03-09 16:19:50.000000000 -0500 ++++ app_meetme.c 2007-03-09 16:01:54.000000000 -0500 +@@ -122,6 +122,16 @@ + " 'M' -- Mute conference\n" + " 'n' -- Unmute entire conference (except admin)\n" + " 'N' -- Mute entire conference (except admin)\n" ++" 'S' -- Raise entire conference speaking volume\n" ++" 's' -- Lower entire conference speaking volume\n" ++" 'V' -- Raise entire conference listening volume\n" ++" 'v' -- Lower entire conference listening volume\n" ++" 'T' -- Raise one user's talk volume\n" ++" 't' -- Lower one user's talk volume\n" ++" 'U' -- Raise one user's listen volume\n" ++" 'u' -- Lower one user's listen volume\n" ++" 'R' -- Reset all user's volume settings\n" ++" 'r' -- Reset one user's volume settings\n" + ""; + + #define CONFIG_FILE_NAME "meetme.conf" +@@ -2114,6 +2124,61 @@ + ast_log(LOG_NOTICE, "Specified User not found!\n"); + } + break; ++ case 118: /* v: Lower all users listen volume */ ++AST_LIST_TRAVERSE(&cnf->userlist, user, list) { ++ tweak_listen_volume(user, VOL_DOWN); ++ } ++ break; ++ case 86: /* V: Raise all users listen volume */ ++AST_LIST_TRAVERSE(&cnf->userlist, user, list) { ++ tweak_listen_volume(user, VOL_UP); ++ } ++ break; ++ case 115: /* s: Lower all users speaking volume */ ++AST_LIST_TRAVERSE(&cnf->userlist, user, list) { ++ tweak_talk_volume(user, VOL_DOWN); ++ } ++ break; ++ case 83: /* S: Raise all users speaking volume */ ++AST_LIST_TRAVERSE(&cnf->userlist, user, list) { ++ tweak_talk_volume(user, VOL_UP); ++ } ++ break; ++ case 82: /* R: Reset all volume levels */ ++AST_LIST_TRAVERSE(&cnf->userlist, user, list) { ++ reset_volumes(user); ++ } ++ break; ++ case 114: /* r: Reset user's volume level */ ++ if (user) ++ reset_volumes(user); ++ else ++ ast_log(LOG_NOTICE, "Specified User not found!"); ++ break; ++ case 85: /* U: Raise user's listen volume */ ++ if (user) ++ tweak_listen_volume(user, VOL_UP); ++ else ++ ast_log(LOG_NOTICE, "Specified User not found!"); ++ break; ++ case 117: /* u: Lower user's listen volume */ ++ if (user) ++ tweak_listen_volume(user, VOL_DOWN); ++ else ++ ast_log(LOG_NOTICE, "Specified User not found!"); ++ break; ++ case 84: /* T: Raise user's talk volume */ ++ if (user) ++ tweak_talk_volume(user, VOL_UP); ++ else ++ ast_log(LOG_NOTICE, "Specified User not found!"); ++ break; ++ case 116: /* t: Lower user's talk volume */ ++ if (user) ++ tweak_talk_volume(user, VOL_DOWN); ++ else ++ ast_log(LOG_NOTICE, "Specified User not found!"); ++ break; + } + + dispose_conf(cnf); diff --git a/agc_2-X/branches/agc_2.0.5/extras/meetmeadmin_volume_control.1.2.7.1.patch b/agc_2-X/branches/agc_2.0.5/extras/meetmeadmin_volume_control.1.2.7.1.patch new file mode 100644 index 00000000..bd52eb1b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/meetmeadmin_volume_control.1.2.7.1.patch @@ -0,0 +1,180 @@ +--- asterisk-1.2.7.1/apps/app_meetme.c 2006-04-06 18:15:20.000000000 -0400 ++++ asterisk-1.2.7.1-mod/apps/app_meetme.c 2006-05-10 12:31:36.000000000 -0400 +@@ -121,6 +121,16 @@ + " 'M' -- Mute conference\n" + " 'n' -- Unmute entire conference (except admin)\n" + " 'N' -- Mute entire conference (except admin)\n" ++" 'S' -- Raise entire conference speaking volume\n" ++" 's' -- Lower entire conference speaking volume\n" ++" 'V' -- Raise entire conference listening volume\n" ++" 'v' -- Lower entire conference listening volume\n" ++" 'T' -- Raise one user's talk volume\n" ++" 't' -- Lower one user's talk volume\n" ++" 'U' -- Raise one user's listen volume\n" ++" 'u' -- Lower one user's listen volume\n" ++" 'R' -- Reset all user's volume settings\n" ++" 'r' -- Reset one user's volume settings\n" + ""; + + #define CONFIG_FILE_NAME "meetme.conf" +@@ -2068,13 +2078,12 @@ + break; + case 75: /* K: kick all users*/ + user = cnf->firstuser; +- while(user) { ++ while (user) { + user->adminflags |= ADMINFLAG_KICKME; +- if (user->nextuser) { ++ if (user->nextuser) + user = user->nextuser; +- } else { ++ else + break; +- } + } + break; + case 101: /* e: Eject last user*/ +@@ -2086,51 +2095,125 @@ + ast_log(LOG_NOTICE, "Not kicking last user, is an Admin!\n"); + break; + case 77: /* M: Mute */ +- if (user) { ++ if (user) + user->adminflags |= ADMINFLAG_MUTED; +- } else { ++ else + ast_log(LOG_NOTICE, "Specified User not found!\n"); +- } + break; + case 78: /* N: Mute all users */ + user = cnf->firstuser; +- while(user) { ++ while (user) { + if (user && !(user->userflags & CONFFLAG_ADMIN)) + user->adminflags |= ADMINFLAG_MUTED; +- if (user->nextuser) { ++ if (user->nextuser) + user = user->nextuser; +- } else { ++ else + break; +- } + } + break; + case 109: /* m: Unmute */ +- if (user && (user->adminflags & ADMINFLAG_MUTED)) { ++ if (user && (user->adminflags & ADMINFLAG_MUTED)) + user->adminflags ^= ADMINFLAG_MUTED; +- } else { ++ else + ast_log(LOG_NOTICE, "Specified User not found or he muted himself!"); +- } + break; + case 110: /* n: Unmute all users */ + user = cnf->firstuser; +- while(user) { +- if (user && (user-> adminflags & ADMINFLAG_MUTED)) { ++ while (user) { ++ if (user && (user-> adminflags & ADMINFLAG_MUTED)) + user->adminflags ^= ADMINFLAG_MUTED; +- } +- if (user->nextuser) { ++ if (user->nextuser) + user = user->nextuser; +- } else { ++ else + break; +- } + } + break; + case 107: /* k: Kick user */ +- if (user) { ++ if (user) + user->adminflags |= ADMINFLAG_KICKME; +- } else { ++ else + ast_log(LOG_NOTICE, "Specified User not found!"); ++ break; ++ case 118: /* v: Lower all users listen volume */ ++ user = cnf->firstuser; ++ while(user) { ++ tweak_listen_volume(user, VOL_DOWN); ++ if (user->nextuser) ++ user = user->nextuser; ++ else ++ break; ++ } ++ break; ++ case 86: /* V: Raise all users listen volume */ ++ user = cnf->firstuser; ++ while (user) { ++ tweak_listen_volume(user, VOL_UP); ++ if (user->nextuser) ++ user = user->nextuser; ++ else ++ break; + } + break; ++ case 115: /* s: Lower all users speaking volume */ ++ user = cnf->firstuser; ++ while (user) { ++ tweak_talk_volume(user, VOL_DOWN); ++ if (user->nextuser) ++ user = user->nextuser; ++ else ++ break; ++ } ++ break; ++ case 83: /* S: Raise all users speaking volume */ ++ user = cnf->firstuser; ++ while (user) { ++ tweak_talk_volume(user, VOL_UP); ++ if (user->nextuser) ++ user = user->nextuser; ++ else ++ break; ++ } ++ break; ++ case 82: /* R: Reset all volume levels */ ++ user = cnf->firstuser; ++ while (user) { ++ reset_volumes(user); ++ if (user->nextuser) ++ user = user->nextuser; ++ else ++ break; ++ } ++ break; ++ case 114: /* r: Reset user's volume level */ ++ if (user) ++ reset_volumes(user); ++ else ++ ast_log(LOG_NOTICE, "Specified User not found!"); ++ break; ++ case 85: /* U: Raise user's listen volume */ ++ if (user) ++ tweak_listen_volume(user, VOL_UP); ++ else ++ ast_log(LOG_NOTICE, "Specified User not found!"); ++ break; ++ case 117: /* u: Lower user's listen volume */ ++ if (user) ++ tweak_listen_volume(user, VOL_DOWN); ++ else ++ ast_log(LOG_NOTICE, "Specified User not found!"); ++ break; ++ case 84: /* T: Raise user's talk volume */ ++ if (user) ++ tweak_talk_volume(user, VOL_UP); ++ else ++ ast_log(LOG_NOTICE, "Specified User not found!"); ++ break; ++ case 116: /* t: Lower user's talk volume */ ++ if (user) ++ tweak_talk_volume(user, VOL_DOWN); ++ else ++ ast_log(LOG_NOTICE, "Specified User not found!"); ++ break; + } + } else { + ast_log(LOG_NOTICE, "Conference Number not found\n"); diff --git a/agc_2-X/branches/agc_2.0.5/extras/meetmeadmin_volume_control.patch b/agc_2-X/branches/agc_2.0.5/extras/meetmeadmin_volume_control.patch new file mode 100644 index 00000000..ad5fee0d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/meetmeadmin_volume_control.patch @@ -0,0 +1,180 @@ +--- app_meetme-orig.c 2006-09-11 17:47:23.000000000 -0400 ++++ app_meetme.c 2006-10-05 11:51:40.000000000 -0400 +@@ -121,6 +121,16 @@ + " 'M' -- Mute conference\n" + " 'n' -- Unmute entire conference (except admin)\n" + " 'N' -- Mute entire conference (except admin)\n" ++" 'S' -- Raise entire conference speaking volume\n" ++" 's' -- Lower entire conference speaking volume\n" ++" 'V' -- Raise entire conference listening volume\n" ++" 'v' -- Lower entire conference listening volume\n" ++" 'T' -- Raise one user's talk volume\n" ++" 't' -- Lower one user's talk volume\n" ++" 'U' -- Raise one user's listen volume\n" ++" 'u' -- Lower one user's listen volume\n" ++" 'R' -- Reset all user's volume settings\n" ++" 'r' -- Reset one user's volume settings\n" + ""; + + #define CONFIG_FILE_NAME "meetme.conf" +@@ -2095,13 +2105,12 @@ + break; + case 75: /* K: kick all users*/ + user = cnf->firstuser; +- while(user) { ++ while (user) { + user->adminflags |= ADMINFLAG_KICKME; +- if (user->nextuser) { ++ if (user->nextuser) + user = user->nextuser; +- } else { ++ else + break; +- } + } + break; + case 101: /* e: Eject last user*/ +@@ -2113,51 +2122,125 @@ + ast_log(LOG_NOTICE, "Not kicking last user, is an Admin!\n"); + break; + case 77: /* M: Mute */ +- if (user) { ++ if (user) + user->adminflags |= ADMINFLAG_MUTED; +- } else { ++ else + ast_log(LOG_NOTICE, "Specified User not found!\n"); +- } + break; + case 78: /* N: Mute all users */ + user = cnf->firstuser; +- while(user) { ++ while (user) { + if (user && !(user->userflags & CONFFLAG_ADMIN)) + user->adminflags |= ADMINFLAG_MUTED; +- if (user->nextuser) { ++ if (user->nextuser) + user = user->nextuser; +- } else { ++ else + break; +- } + } + break; + case 109: /* m: Unmute */ +- if (user && (user->adminflags & ADMINFLAG_MUTED)) { ++ if (user && (user->adminflags & ADMINFLAG_MUTED)) + user->adminflags ^= ADMINFLAG_MUTED; +- } else { ++ else + ast_log(LOG_NOTICE, "Specified User not found or he muted himself!\n"); +- } + break; + case 110: /* n: Unmute all users */ + user = cnf->firstuser; +- while(user) { +- if (user && (user-> adminflags & ADMINFLAG_MUTED)) { ++ while (user) { ++ if (user && (user-> adminflags & ADMINFLAG_MUTED)) + user->adminflags ^= ADMINFLAG_MUTED; +- } +- if (user->nextuser) { ++ if (user->nextuser) + user = user->nextuser; +- } else { ++ else + break; +- } + } + break; + case 107: /* k: Kick user */ +- if (user) { ++ if (user) + user->adminflags |= ADMINFLAG_KICKME; +- } else { ++ else + ast_log(LOG_NOTICE, "Specified User not found!\n"); ++ break; ++ case 118: /* v: Lower all users listen volume */ ++ user = cnf->firstuser; ++ while(user) { ++ tweak_listen_volume(user, VOL_DOWN); ++ if (user->nextuser) ++ user = user->nextuser; ++ else ++ break; ++ } ++ break; ++ case 86: /* V: Raise all users listen volume */ ++ user = cnf->firstuser; ++ while (user) { ++ tweak_listen_volume(user, VOL_UP); ++ if (user->nextuser) ++ user = user->nextuser; ++ else ++ break; ++ } ++ break; ++ case 115: /* s: Lower all users speaking volume */ ++ user = cnf->firstuser; ++ while (user) { ++ tweak_talk_volume(user, VOL_DOWN); ++ if (user->nextuser) ++ user = user->nextuser; ++ else ++ break; ++ } ++ break; ++ case 83: /* S: Raise all users speaking volume */ ++ user = cnf->firstuser; ++ while (user) { ++ tweak_talk_volume(user, VOL_UP); ++ if (user->nextuser) ++ user = user->nextuser; ++ else ++ break; + } + break; ++ case 82: /* R: Reset all volume levels */ ++ user = cnf->firstuser; ++ while (user) { ++ reset_volumes(user); ++ if (user->nextuser) ++ user = user->nextuser; ++ else ++ break; ++ } ++ break; ++ case 114: /* r: Reset user's volume level */ ++ if (user) ++ reset_volumes(user); ++ else ++ ast_log(LOG_NOTICE, "Specified User not found!"); ++ break; ++ case 85: /* U: Raise user's listen volume */ ++ if (user) ++ tweak_listen_volume(user, VOL_UP); ++ else ++ ast_log(LOG_NOTICE, "Specified User not found!"); ++ break; ++ case 117: /* u: Lower user's listen volume */ ++ if (user) ++ tweak_listen_volume(user, VOL_DOWN); ++ else ++ ast_log(LOG_NOTICE, "Specified User not found!"); ++ break; ++ case 84: /* T: Raise user's talk volume */ ++ if (user) ++ tweak_talk_volume(user, VOL_UP); ++ else ++ ast_log(LOG_NOTICE, "Specified User not found!"); ++ break; ++ case 116: /* t: Lower user's talk volume */ ++ if (user) ++ tweak_talk_volume(user, VOL_DOWN); ++ else ++ ast_log(LOG_NOTICE, "Specified User not found!"); ++ break; + } + } else { + ast_log(LOG_NOTICE, "Conference Number not found\n"); diff --git a/agc_2-X/branches/agc_2.0.5/extras/mysql-tuning.sh b/agc_2-X/branches/agc_2.0.5/extras/mysql-tuning.sh new file mode 100644 index 00000000..b82ebdb7 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/mysql-tuning.sh @@ -0,0 +1,1466 @@ +#!/bin/bash + +######################################################################### +# # +# MySQL performance tuning primer script # +# Writen by: Matthew Montgomery # +# Inspired by: MySQLARd (http://gert.sos.be/demo/mysqlar/) # +# Version: 1.4-r0 Released: 2008-02-21 # +# Licenced under GPLv2 # +# # +######################################################################### + +######################################################################### +# # +# Little known feature: 1st argument is execution mode # +# # +# Usage: ./tuning-primer.sh [ mode ] # +# # +# Available Modes: # +# all : perform all checks (default) # +# prompt : prompt for login credintials and socket # +# and execution mode # +# mem, memory : run checks for tunable options which # +# effect memory usage # +# disk, file : run checks for options which effect # +# i/o performance or file handle limits # +# innodb : run InnoDB checks /* to be improved */ # +# misc : run checks for that don't categorise # +# well Slow Queries, Binary logs, # +# Used Connections and Worker Threads # +######################################################################### +# # +# Set this socket variable ONLY if you have multiple instances running # +# or we are unable to find your socket, and you don't want to to be # +# prompted for input each time you run this script. # +# # +######################################################################### +socket= + +function cecho () + +## -- Function to easliy print colored text -- ## + +# Color-echo. +# Argument $1 = message +# Argument $2 = color +{ +export black='\E[0m\c' +export boldblack='\E[1;0m\c' +export red='\E[31m\c' +export boldred='\E[1;31m\c' +export green='\E[32m\c' +export boldgreen='\E[1;32m\c' +export yellow='\E[33m\c' +export boldyellow='\E[1;33m\c' +export blue='\E[34m\c' +export boldblue='\E[1;34m\c' +export magenta='\E[35m\c' +export boldmagenta='\E[1;35m\c' +export cyan='\E[36m\c' +export boldcyan='\E[1;36m\c' +export white='\E[37m\c' +export boldwhite='\E[1;37m\c' + +local default_msg="No message passed." +# Doesn't really need to be a local variable. + +message=${1:-$default_msg} # Defaults to default message. +color=${2:-$black} # Defaults to black, if not specified. + +echo -e "$color" +echo -e "$message" +tput sgr0 # Reset to normal. +echo -e "$black" +return +} + +function print_banner () { + +## -- Banner -- ## + +cecho "\t\c " $black +cecho "-- MYSQL PERFORMANCE TUNING PRIMER --" $boldblue +cecho "\t - By: Matthew Montgomery -" $black + +} + +## -- Find the location of the mysql.sock file -- ## + +function check_for_socket () { +if [ -z "$socket" ] ; then +if [ -S /var/lib/mysql/mysql.sock ] ; then +socket=/var/lib/mysql/mysql.sock +elif [ -S /tmp/mysql.sock ] ; then +socket=/tmp/mysql.sock +else +if [ -S "$ps_socket" ] ; then +socket=$ps_socket +fi +fi +fi +if [ -S "$socket" ] ; then +echo UP > /dev/null +else +cecho "\c" +cecho "No valid socket file \"$socket\" found!" $boldred +cecho "The mysqld process is not running or it is installed in a custom location." $red +cecho "If you are sure mysqld is running, execute script in \"prompt\" mode or set " $red +cecho "the socket= variable at the top of this script" $red +exit 1 +fi +} + + +function check_for_plesk_passwords () { + +## -- Check for the existance of plesk and login using it's credentials -- ## + +if [ -f /etc/psa/.psa.shadow ] ; then +mysql="mysql -S $socket -u admin -p$(cat /etc/psa/.psa.shadow)" +mysqladmin="mysqladmin -S $socket -u admin -p$(cat /etc/psa/.psa.shadow)" +else +mysql="mysql -S $socket" +mysqladmin="mysqladmin -S $socket" +fi +} + +function check_mysql_login () { + +## -- Test for running mysql -- ## + +is_up=$($mysqladmin ping 2>&1) +if [ "$is_up" = "mysqld is alive" ] ; then +echo UP > /dev/null +elif [ "$is_up" != "mysqld is alive" ] ; then +cecho "\n\c" +cecho "- INITIAL LOGIN ATTEMPT FAILED -\n" $boldred +if [ -z $prompted ] ; then +find_webmin_passwords +else +return 1 +fi + +else +cecho "Unknow exit status" $red +exit -1 +fi +} + +function final_login_attempt () { +is_up=$($mysqladmin ping 2>&1) +if [ "$is_up" = "mysqld is alive" ] ; then +echo UP > /dev/null +elif [ "$is_up" != "mysqld is alive" ] ; then +cecho "- FINAL LOGIN ATTEMPT FAILED -\n" $boldred +cecho "Unable to log into socket: $socket" $boldred +exit 1 +fi +} + +function second_login_failed () { + +## -- create a ~/.my.cnf and exit when all else fails -- ## + +cecho "- RETRY LOGIN ATTEMPT FAILED -\n" $boldred +cecho "Could not auto detect login info!\n" +read -p "Do you have your login handy ? [y/N] : " +case $REPLY in +yes | y | Y | YES) +answer1='yes' +read -p "User: " user +read -rsp "Password: " pass +if [ -z $pass ] ; then +export mysql="$mysql -u$user" +export mysqladmin="$mysqladmin -u$user" +else +export mysql="$mysql -u$user -p$pass" +export mysqladmin="$mysqladmin -u$user -p$pass" +fi +;; +*) +cecho "\nPlease create a valid login to MySQL" +cecho "Or, set correct values for 'user=' and 'password=' in ~/.my.cnf" +;; +esac +cecho "\n\c" +read -p "Would you like me to create a ~/.my.cnf file for you? [y/N] : " +case $REPLY in +yes | y | Y | YES) +answer2='yes' +if [ ! -f ~/.my.cnf ] ; then +umask 077 +echo -e "[client]\nuser=$user\npassword=$pass" > ~/.my.cnf +if [ "$answer1" != 'yes' ] ; then +exit 1 +else +final_login_attempt +return 0 +fi +else +cecho "\n~/.my.cnf already exists!\n" $boldred +read -p "Replace ? [y/N] : " +if [ "$REPLY" = 'y' ] || [ "$REPLY = 'Y' " ] ; then +echo -e "[client]\nuser=$user\npassword=$pass" > ~/.my.cnf +if [ "$answer1" != 'yes' ] ; then +exit 1 +else +final_login_attempt +return 0 +fi +else +cecho "Please set the 'user=' and 'password=' values in ~/.my.cnf" +exit 1 +fi +fi +;; +*) +if [ "$answer1" != 'yes' ] ; then +exit 1 +else +final_login_attempt +return 0 +fi +;; +esac +} + +function find_webmin_passwords () { + +## -- populate the .my.cnf file using values harvested from Webmin -- ## + +cecho "Testing Stored for passwords:\c" +if [ -f /etc/webmin/mysql/config ] ; then +user=$(grep ^login= /etc/webmin/mysql/config | cut -d "=" -f 2) +pass=$(grep ^pass= /etc/webmin/mysql/config | cut -d "=" -f 2) +if [ $user ] && [ $pass ] && [ ! -f ~/.my.cnf ] ; then +cecho "Setting login info as User: $user Password: $pass" +touch ~/.my.cnf +chmod 600 ~/.my.cnf +echo -e "[client]\nuser=$user\npassword=$pass" > ~/.my.cnf +cecho "Retrying login" +is_up=$($mysqladmin ping 2>&1) +if [ "$is_up" = "mysqld is alive" ] ; then +echo UP > /dev/null +else +second_login_failed +fi +echo +else +second_login_failed +echo +fi +else +cecho " None Found\n" $boldred +second_login_failed +fi +} + +######################################################################### +# # +# Function to pull MySQL status variable # +# # +# Call using : # +# mysql_status \'Mysql_status_variable\' bash_dest_variable # +# # +######################################################################### + +function mysql_status () { +local status=$($mysql -Bse "show /*!50000 global */ status like $1" | awk '{ print $2 }') +export "$2"=$status +} + +######################################################################### +# # +# Function to pull MySQL server runtime variable # +# # +# Call using : # +# mysql_variable \'Mysql_server_variable\' bash_dest_variable # +# - OR - # +# mysql_variableTSV \'Mysql_server_variable\' bash_dest_variable # +# # +######################################################################### + +function mysql_variable () { +local variable=$($mysql -Bse "show /*!50000 global */ variables like $1" | awk '{ print $2 }') +export "$2"=$variable +} +function mysql_variableTSV () { +local variable=$($mysql -Bse "show /*!50000 global */ variables like $1" | awk -F \t '{ print $2 }') +export "$2"=$variable +} + +function float2int () { +local variable=$(echo "$1 / 1" | bc -l) +export "$2"=$variable +} + +function divide () { + +# -- Divide two intigers -- # + +usage="$0 dividend divisor '$variable' scale" +if [ $1 -ge 1 ] ; then +dividend=$1 +else +cecho "Invalid Dividend" $red +echo $usage +exit 1 +fi +if [ $2 -ge 1 ] ; then +divisor=$2 +else +cecho "Invalid Divisor" $red +echo $usage +exit 1 +fi +if [ ! -n $3 ] ; then +cecho "Invalid variable name" $red +echo $usage +exit 1 +fi +if [ -z $4 ] ; then +scale=2 +elif [ $4 -ge 0 ] ; then +scale=$4 +else +cecho "Invalid scale" $red +echo $usage +exit 1 +fi +export $3=$(echo "scale=$scale; $dividend / $divisor" | bc -l) +} + +function human_readable () { + +######################################################################### +# # +# Convert a value in to human readable size and populate a variable # +# with the result. # +# # +# Call using: # +# human_readable $value 'variable name' [ places of precision] # +# # +######################################################################### + +## value=$1 +## variable=$2 +scale=$3 + +if [ $1 -ge 1073741824 ] ; then +if [ -z $3 ] ; then +scale=2 +fi +divide $1 1073741824 "$2" $scale +unit="G" +elif [ $1 -ge 1048576 ] ; then +if [ -z $3 ] ; then +scale=0 +fi +divide $1 1048576 "$2" $scale +unit="M" +elif [ $1 -ge 1024 ] ; then +if [ -z $3 ] ; then +scale=0 +fi +divide $1 1024 "$2" $scale +unit="K" +else +export "$2"=$1 +unit="bytes" +fi +# let "$2"=$HR +} + +function human_readable_time () { + +######################################################################## +# # +# Function to produce human readable time # +# # +######################################################################## + +usage="$0 seconds 'variable'" +if [ -z $1 ] || [ -z $2 ] ; then +cecho $usage $red +exit 1 +fi +days=$(echo "scale=0 ; $1 / 86400" | bc -l) +remainder=$(echo "scale=0 ; $1 % 86400" | bc -l) +hours=$(echo "scale=0 ; $remainder / 3600" | bc -l) +remainder=$(echo "scale=0 ; $remainder % 3600" | bc -l) +minutes=$(echo "scale=0 ; $remainder / 60" | bc -l) +seconds=$(echo "scale=0 ; $remainder % 60" | bc -l) +export $2="$days days $hours hrs $minutes min $seconds sec" +} + +function check_mysql_version () { + +## -- Print Version Info -- ## + +mysql_variable \'version\' mysql_version +mysql_variable \'version_compile_machine\' mysql_version_compile_machine + +if [ $major_version == '3.23' ] || [ $major_version == '4.0' ] ; then +cecho "MySQL Version $mysql_version $mysql_version_compile_machine is EOL please upgrade to MySQL 4.1 or later" $boldred +else +cecho "MySQL Version $mysql_version $mysql_version_compile_machine" +fi + + +} + +function post_uptime_warning () { + +######################################################################### +# # +# Present a reminder that mysql must run for a couple of days to # +# build up good numbers in server status variables before these tuning # +# suggestions should be used. # +# # +######################################################################### + +mysql_status \'Uptime\' uptime +mysql_status \'Threads_connected\' threads +let queries_per_sec=$questions/$uptime +human_readable_time $uptime uptimeHR + +cecho "Uptime = $uptimeHR" +cecho "Avg. qps = $queries_per_sec" +cecho "Total Questions = $questions" +cecho "Threads Connected = $threads" +echo + +if [ $uptime -gt 172800 ] ; then +cecho "Server has been running for over 48hrs." +cecho "It should be safe to follow these recommendations" +else +cecho "Warning: \c" $boldred +cecho "Server has not been running for at least 48hrs." $boldred +cecho "It may not be safe to use these recommendations" $boldred + +fi +echo "" +cecho "To find out more information on how each of these" $red +cecho "runtime variables effects performance visit:" $red +if [ $major_version == '3.23' ] || [ $major_version == '4.0' ] || [ $major_version == '4.1' ]; then +cecho "http://dev.mysql.com/doc/refman/4.1/en/server-system-variables.html" $boldblue +elif [ $major_version == '5.0' ] || [ $major_version == '5.1' ] ; then +cecho "http://dev.mysql.com/doc/refman/$major_version/en/server-system-variables.html" $boldblue +else +cecho "UNSUPPORTED MYSQL VERSION" $boldred +exit 1 +fi +cecho "Visit http://www.mysql.com/products/enterprise/advisors.html" $boldblue +cecho "for info about MySQL's Enterprise Monitoring and Advisory Service" $boldblue +} + +function check_slow_queries () { + +## -- Slow Queries -- ## + +cecho "SLOW QUERIES" $boldblue + +mysql_status \'Slow_queries\' slow_queries +mysql_variable \'long_query_time\' long_query_time +mysql_variable \'log%queries\' log_slow_queries + +prefered_query_time=5 +if [ -e /etc/my.cnf ] ; then +if [ -z $log_slow_queries ] ; then +log_slow_queries=$(grep log-slow-queries /etc/my.cnf) +fi +fi + +if [ "$log_slow_queries" = 'ON' ] ; then +cecho "The slow query log is enabled." +elif [ "$log_slow_queries" = 'OFF' ] ; then +cecho "The slow query log is \c" +cecho "NOT \c" $boldred +cecho "enabled." +elif [ -z $log_slow_queries ] ; then +cecho "The slow query log is \c" +cecho "NOT \c" $boldred +cecho "enabled." +else +cecho "Error: $log_slow_queries" $boldred +fi +cecho "Current long_query_time = $long_query_time sec." +cecho "You have \c" +cecho "$slow_queries \c" $boldred +cecho "out of \c" +cecho "$questions \c" $boldred +cecho "that take longer than $long_query_time sec. to complete" + +if [ "$major_version" = '5.1' ]; then +float2int long_query_time long_query_timeInt +else +let long_query_timeInt=$long_query_time +fi + +if [ $long_query_timeInt -gt $prefered_query_time ] ; then +cecho "Your long_query_time may be too high, I typically set this under $prefered_query_time sec." $red +else +cecho "Your long_query_time seems to be fine" $green +fi + +} + +function check_binary_log () { + +## -- Binary Log -- ## + +cecho "BINARY UPDATE LOG" $boldblue + +mysql_variable \'log_bin\' log_bin +mysql_variable \'max_binlog_size\' max_binlog_size +mysql_variable \'expire_logs_days\' expire_logs_days +# mysql_variable \'max_binlog_cache_size\' max_binlog_cache_size + +if [ "$log_bin" = 'ON' ] ; then +cecho "The binary update log is enabled" +if [ -z "$max_binlog_size" ] ; then +cecho "The max_binlog_size is not set. The binary log will rotate when it reaches 1GB." $red +fi +if [ "$expire_logs_days" -eq 0 ] ; then +cecho "The expire_logs_days is not set." $boldred +cecho "The mysqld will retain the entire binary log until \c" $red +cecho "RESET MASTER or PURGE MASTER LOGS commands are run manually" $red +cecho "Setting expire_log_days will allow you to remove old binary logs automatically" $yellow +cecho "See http://dev.mysql.com/doc/refman/$major_version/en/purge-master-logs.html" $yellow +fi +else +cecho "The binary update log is \c" +cecho "NOT \c" $boldred +cecho "enabled." +cecho "You will not be able to do point in time recovery" $red +cecho "See http://dev.mysql.com/doc/refman/$major_version/en/point-in-time-recovery.html" $yellow +fi +} + +function check_used_connections () { + +## -- Used Connections -- ## + +mysql_variable \'max_connections\' max_connections +mysql_status \'Max_used_connections\' max_used_connections +mysql_status \'Threads_connected\' threads_connected + +let connections_ratio=$max_used_connections*100/$max_connections + +cecho "MAX CONNECTIONS" $boldblue +cecho "Current max_connections = $max_connections" +cecho "Current threads_connected = $threads_connected" +cecho "Historic max_used_connections = $max_used_connections" +cecho "The number of used connections is \c" +if [ $connections_ratio -ge 85 ] ; then +txt_color=$red +error=1 +elif [ $connections_ratio -le 10 ] ; then +txt_color=$red +error=2 +else +txt_color=$green +error=0 +fi +# cecho "$max_used_connections \c" $txt_color +# cecho "which is \c" +cecho "$connections_ratio% \c" $txt_color +cecho "of the configured maximum." + +if [ $error -eq 1 ] ; then +cecho "You should raise max_connections" $txt_color +elif [ $error -eq 2 ] ; then +cecho "You are using less than 10% of your configured max_connections." $txt_color +cecho "Lowering max_connections could help to avoid an over-allocation of memory" $txt_color +cecho "See \"MEMORY USAGE\" section to make sure you are not over-allocating" $txt_color +else +cecho "Your max_connections variable seems to be fine." $txt_color +fi +unset txt_color +} + +function check_threads() { + +## -- Worker Threads -- ## + +cecho "WORKER THREADS" $boldblue + +mysql_status \'Threads_created\' threads_created1 +sleep 1 +mysql_status \'Threads_created\' threads_created2 + +mysql_status \'Threads_cached\' threads_cached +mysql_status \'Uptime\' uptime +mysql_variable \'thread_cache_size\' thread_cache_size + +let historic_threads_per_sec=$threads_created1/$uptime +let current_threads_per_sec=$threads_created2-$threads_created1; + +cecho "Current thread_cache_size = $thread_cache_size" +cecho "Current threads_cached = $threads_cached" +cecho "Current threads_per_sec = $current_threads_per_sec" +cecho "Historic threads_per_sec = $historic_threads_per_sec" + +if [ $historic_threads_per_sec -ge 2 ] && [ $threads_cached -le 1 ] ; then +cecho "Threads created per/sec are overrunning threads cached" $red +cecho "You should raise thread_cache_size" $red +elif [ $current_threads_per_sec -ge 2 ] ; then +cecho "Threads created per/sec are overrunning threads cached" $red +cecho "You should raise thread_cache_size" $red +else +cecho "Your thread_cache_size is fine" $green +fi +} + +function check_key_buffer_size () { + +## -- Key buffer Size -- ## + +cecho "KEY BUFFER" $boldblue + +mysql_status \'Key_read_requests\' key_read_requests +mysql_status \'Key_reads\' key_reads +mysql_status \'Key_blocks_used\' key_blocks_used +mysql_status \'Key_blocks_unused\' key_blocks_unused +mysql_variable \'key_buffer_size\' key_buffer_size +mysql_variable \'datadir\' datadir +mysql_variable \'version_compile_machine\' mysql_version_compile_machine +myisam_indexes=$($mysql -Bse "/*!50000 SELECT SUM(INDEX_LENGTH) from information_schema.TABLES where ENGINE='MyISAM' */") + +if [ -z $myisam_indexes ] ; then +myisam_indexes=$(find $datadir -name '*.MYI' -exec du $duflags '{}' \; 2>&1 | awk '{ s += $1 } END { printf("%.0f\n", s )}') +fi + +if [ $key_reads -eq 0 ] ; then +cecho "No key reads?!" $boldred +cecho "Seriously look into using some indexes" $red +key_cache_miss_rate=0 +key_buffer_ratio=0 +key_buffer_ratioRND=0 +else +let key_cache_miss_rate=$key_read_requests/$key_reads +if [ ! -z $key_blocks_unused ] ; then +let key_blocks_total=$key_blocks_used+$key_blocks_unused +divide $key_blocks_used $key_blocks_total key_buffer_fill 2 +key_buffer_ratio=$(echo "$key_buffer_fill * 100" | bc -l) +key_buffer_ratioRND=$(echo "scale=0; $key_buffer_ratio / 1" | bc -l) +else +key_buffer_ratio='Unknown' +key_buffer_ratioRND=75 +fi +fi + +human_readable $myisam_indexes myisam_indexesHR 0 +cecho "Current MyISAM index space = $myisam_indexesHR $unit" + +human_readable $key_buffer_size key_buffer_sizeHR 0 +cecho "Current key_buffer_size = $key_buffer_sizeHR $unit" +cecho "Key cache miss rate is 1 : $key_cache_miss_rate" +cecho "Key buffer fill ratio = $key_buffer_ratio %" + +if [ "$major_version" == '5.1' ] && [ $mysql_version_num -lt '5123' ] ; then +if [ $key_buffer_size -ge 4294967296 ] && ( echo "x86_64 ppc64 ia64 sparc64 i686" | grep -q $mysql_version_compile_machine ) ; then +cecho "Using key_buffer_size > 4GB will cause instability in versions prior to 5.1.23 " $boldred +cecho "See Bug#5731, Bug#29419, Bug#29446" $boldred +fi +fi +if [ "$major_version" == '5.0' ] && [ $mysql_version_num -lt '5052' ] ; then +if [ $key_buffer_size -ge 4294967296 ] && ( echo "x86_64 ppc64 ia64 sparc64 i686" | grep -q $mysql_version_compile_machine ) ; then +cecho "Using key_buffer_size > 4GB will cause instability in versions prior to 5.0.52 " $boldred +cecho "See Bug#5731, Bug#29419, Bug#29446" $boldred +fi +fi +if [ "$major_version" == '4.1' -o "$major_version" == '4.0' ] && [ $key_buffer_size -ge 4294967296 ] && ( echo "x86_64 ppc64 ia64 sparc64 i686" | grep -q $mysql_version_compile_machine ) ; then +cecho "Using key_buffer_size > 4GB will cause instability in versions prior to 5.0.52 " $boldred +cecho "Reduce key_buffer_size to a safe value" $boldred +cecho "See Bug#5731, Bug#29419, Bug#29446" $boldred +fi + +if [ $key_cache_miss_rate -le 100 ] && [ $key_cache_miss_rate -gt 0 ] && [ $key_buffer_ratioRND -ge 80 ]; then +cecho "You could increase key_buffer_size" $boldred +cecho "It is safe to raise this up to 1/4 of total system memory;" +cecho "assuming this is a dedicated database server." +elif [ $key_buffer_ratioRND -ge 80 ] && [ $key_buffer_size -le $myisam_indexes ] ; then +cecho "You could increase key_buffer_size" $boldred +cecho "It is safe to raise this up to 1/4 of total system memory;" +cecho "assuming this is a dedicated database server." +elif [ $key_cache_miss_rate -ge 10000 ] || [ $key_buffer_ratioRND -le 50 ] ; then +cecho "Your key_buffer_size seems to be too high." $red +cecho "Perhaps you can use these resources elsewhere" $red +else +cecho "Your key_buffer_size seems to be fine" $green +fi +} + +function check_query_cache () { + +## -- Query Cache -- ## + +cecho "QUERY CACHE" $boldblue + +mysql_variable \'version\' mysql_version +mysql_variable \'query_cache_size\' query_cache_size +mysql_variable \'query_cache_limit\' query_cache_limit +mysql_variable \'query_cache_min_res_unit\' query_cache_min_res_unit +mysql_status \'Qcache_free_memory\' qcache_free_memory +mysql_status \'Qcache_total_blocks\' qcache_total_blocks +mysql_status \'Qcache_free_blocks\' qcache_free_blocks +mysql_status \'Qcache_lowmem_prunes\' qcache_lowmem_prunes + +if [ -z $query_cache_size ] ; then +cecho "You are using MySQL $mysql_version, no query cache is supported." $red +cecho "I recommend an upgrade to MySQL 4.1 or better" $red +elif [ $query_cache_size -eq 0 ] ; then +cecho "Query cache is supported but not enabled" $red +cecho "Perhaps you should set the query_cache_size" $red +else +let qcache_used_memory=$query_cache_size-$qcache_free_memory +qcache_mem_fill_ratio=$(echo "scale=2; $qcache_used_memory * 100 / $query_cache_size" | bc -l) +qcache_mem_fill_ratioHR=$(echo "scale=0; $qcache_mem_fill_ratio / 1" | bc -l) + +cecho "Query cache is enabled" $green +human_readable $query_cache_size query_cache_sizeHR +cecho "Current query_cache_size = $query_cache_sizeHR $unit" +human_readable $qcache_used_memory qcache_used_memoryHR +cecho "Current query_cache_used = $qcache_used_memoryHR $unit" +human_readable $query_cache_limit query_cache_limitHR +cecho "Current query_cache_limit = $query_cache_limitHR $unit" +cecho "Current Query cache Memory fill ratio = $qcache_mem_fill_ratio %" +human_readable $query_cache_min_res_unit query_cache_min_res_unitHR +cecho "Current query_cache_min_res_unit = $query_cache_min_res_unitHR $unit" +if [ $qcache_free_blocks -gt 2 ] && [ $qcache_total_blocks -gt 0 ] ; then +qcache_percent_fragmented=$(echo "scale=2; $qcache_free_blocks * 100 / $qcache_total_blocks" | bc -l) +qcache_percent_fragmentedHR=$(echo "scale=0; $qcache_percent_fragmented / 1" | bc -l) +if [ $qcache_percent_fragmentedHR -gt 20 ] ; then +cecho "Query Cache is $qcache_percent_fragmentedHR % fragmented" $red +cecho "Run \"FLUSH QUERY CACHE\" periodically to defragment the query cache memory" $red +cecho "If you have many small queries lower 'query_cache_min_res_unit' to reduce fragmentation." $red +fi +fi + +if [ $qcache_mem_fill_ratioHR -le 25 ] ; then +cecho "Your query_cache_size seems to be too high." $red +cecho "Perhaps you can use these resources elsewhere" $red +fi +if [ $qcache_lowmem_prunes -ge 50 ] && [ $qcache_mem_fill_ratioHR -ge 80 ]; then +cecho "However, \c" +cecho "$qcache_lowmem_prunes \c" $boldred +cecho "queries have been removed from the query cache due to lack of memory" +cecho "Perhaps you should raise query_cache_size" $boldred +fi +cecho "MySQL won't cache query results that are larger than query_cache_limit in size" $yellow +fi + +} + +function check_sort_operations () { + +## -- Sort Operations -- ## + +cecho "SORT OPERATIONS" $boldblue + +mysql_status \'Sort_merge_passes\' sort_merge_passes +mysql_status \'Sort_scan\' sort_scan +mysql_status \'Sort_range\' sort_range +mysql_variable \'sort_buffer%\' sort_buffer_size +mysql_variable \'read_rnd_buffer_size\' read_rnd_buffer_size + +let total_sorts=$sort_scan+$sort_range +if [ -z $read_rnd_buffer_size ] ; then +mysql_variable \'record_buffer\' read_rnd_buffer_size +fi + +## Correct for rounding error in mysqld where 512K != 524288 ## +let sort_buffer_size=$sort_buffer_size+8 +let read_rnd_buffer_size=$read_rnd_buffer_size+8 + +human_readable $sort_buffer_size sort_buffer_sizeHR +cecho "Current sort_buffer_size = $sort_buffer_sizeHR $unit" + +human_readable $read_rnd_buffer_size read_rnd_buffer_sizeHR +cecho "Current \c" +if [ "$major_version" == '3.23' ] ; then +cecho "record_rnd_buffer \c" +else +cecho "read_rnd_buffer_size \c" +fi +cecho "= $read_rnd_buffer_sizeHR $unit" + +if [ $total_sorts -eq 0 ] ; then +cecho "No sort operations have been performed" +passes_per_sort=0 +fi +if [ $sort_merge_passes -ne 0 ] ; then +let passes_per_sort=$sort_merge_passes/$total_sorts +else +passes_per_sort=0 +fi + +if [ $passes_per_sort -ge 2 ] ; then +cecho "On average \c" +cecho "$passes_per_sort \c" $boldred +cecho "sort merge passes are made per sort operation" +cecho "You should raise your sort_buffer_size" +cecho "You should also raise your \c" +if [ $major_version == '3.23' ] ; then +cecho "record_rnd_buffer_size" +else +cecho "read_rnd_buffer_size" +fi +else +cecho "Sort buffer seems to be fine" $green +fi +} + +function check_join_operations () { + +## -- Joins -- ## + +cecho "JOINS" $boldblue + +mysql_status \'Select_full_join\' select_full_join +mysql_status \'Select_range_check\' select_range_check +mysql_variable \'join_buffer%\' join_buffer_size + +## Some 4K is dropped from join_buffer_size adding it back to make sane ## +## handling of human-readable conversion ## + +let join_buffer_size=$join_buffer_size+4096 + +human_readable $join_buffer_size join_buffer_sizeHR 2 + +cecho "Current join_buffer_size = $join_buffer_sizeHR $unit" +cecho "You have had $select_full_join queries where a join could not use an index properly" + +if [ $select_range_check -eq 0 ] && [ $select_full_join -eq 0 ] ; then +cecho "Your joins seem to be using indexes properly" $green +fi +if [ $select_full_join -gt 0 ] ; then +print_error='true' +raise_buffer='true' +fi +if [ $select_range_check -gt 0 ] ; then +cecho "You have had $select_range_check joins without keys that check for key usage after each row" $red +print_error='true' +raise_buffer='true' +fi + +## For Debuging ## +# print_error='true' +if [ $join_buffer_size -ge 4194304 ] ; then +cecho "join_buffer_size >= 4 M" $boldred +cecho "This is not advised" $boldred +raise_buffer= +fi + +if [ $print_error ] ; then +if [ $major_version == '3.23' ] || [ $major_version == '4.0' ] ; then +cecho "You should enable \"log-long-format\" " +elif [ $major_version == '4.1' ] || [ $major_version == '5.0' ] || [ $major_version == '5.1' ] ; then +cecho "You should enable \"log-queries-not-using-indexes\"" +fi +cecho "Then look for non indexed joins in the slow query log." +if [ $raise_buffer ] ; then +cecho "If you are unable to optimize your queries you may want to increase your" +cecho "join_buffer_size to accommodate larger joins in one pass.\n" +cecho "Note! This script will still suggest raising the join_buffer_size when" $boldred +cecho "ANY joins not using indexes are found." $boldred +fi +fi + +# XXX Add better tests for join_buffer_size XXX # +} + +check_tmp_tables () { + +## -- Temp Tables -- ## + +cecho "TEMP TABLES" $boldblue + +mysql_status \'Created_tmp_tables\' created_tmp_tables +mysql_status \'Created_tmp_disk_tables\' created_tmp_disk_tables +mysql_variable \'tmp_table_size\' tmp_table_size +mysql_variable \'max_heap_table_size\' max_heap_table_size + + +if [ $created_tmp_tables -eq 0 ] ; then +tmp_disk_tables=0 +else +let tmp_disk_tables=created_tmp_disk_tables*100/created_tmp_tables +fi +human_readable $max_heap_table_size max_heap_table_sizeHR +cecho "Current max_heap_table_size = $max_heap_table_sizeHR $unit" + +human_readable $tmp_table_size tmp_table_sizeHR +cecho "Current tmp_table_size = $tmp_table_sizeHR $unit" + +cecho "Of $created_tmp_tables temp tables, $tmp_disk_tables% were created on disk" +if [ $tmp_table_size -gt $max_heap_table_size ] ; then +cecho "Effective in-memory tmp_table_size is limited to max_heap_table_size." $yellow +fi +if [ $tmp_disk_tables -ge 25 ] ; then +cecho "Perhaps you should increase your tmp_table_size and/or max_heap_table_size" $boldred +cecho "to reduce the number of disk-based temporary tables" $boldred +cecho "Note! BLOB and TEXT columns are not allow in memory tables." $yellow +cecho "If you are using these columns raising these values might not impact your " $yellow +cecho "ratio of on disk temp tables." $yellow +else +cecho "Created disk tmp tables ratio seems fine" $green +fi +} + +function check_open_files () { + +## -- Open Files Limit -- ## +cecho "OPEN FILES LIMIT" $boldblue + +mysql_variable \'open_files_limit\' open_files_limit +mysql_status \'Open_files\' open_files + +if [ -z $open_files_limit ] || [ $open_files_limit -eq 0 ] ; then +open_files_limit=$(ulimit -n) +cant_override=1 +else +cant_override=0 +fi +cecho "Current open_files_limit = $open_files_limit files" + +let open_files_ratio=$open_files*100/$open_files_limit + +cecho "The open_files_limit should typically be set to at least 2x-3x" $yellow +cecho "that of table_cache if you have heavy MyISAM usage." $yellow +if [ $open_files_ratio -ge 75 ] ; then +cecho "You currently have open more than 75% of your open_files_limit" $boldred +if [ $cant_override -eq 1 ] ; then +cecho "You should set a higer value for ulimit -u in the mysql startup script then restart mysqld" $boldred +cecho "MySQL 3.23 users : This is just a guess based upon the current shell's ulimit -u value" $yellow +elif [ $cant_override -eq 0 ] ; then +cecho "You should set a higher value for open_files_limit in my.cnf" $boldred +else +cecho "ERROR can't determine if mysqld override of ulimit is allowed" $boldred +exit 1 +fi +else +cecho "Your open_files_limit value seems to be fine" $green +fi + + + +} + +function check_table_cache () { + +## -- Table Cache -- ## + +cecho "TABLE CACHE" $boldblue + +mysql_variable \'datadir\' datadir +mysql_variable \'table_cache\' table_cache + +## /* MySQL +5.1 version of table_cache */ ## +mysql_variable \'table_open_cache\' table_open_cache +mysql_variable \'table_definition_cache\' table_definition_cache + +mysql_status \'Open_tables\' open_tables +mysql_status \'Opened_tables\' opened_tables +mysql_status \'Open_table_definitions\' open_table_definitions + +table_count=$($mysql -Bse "/*!50000 SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' */") + +if [ -z "$table_count" ] ; then +if [ "$UID" != "$socket_owner" ] && [ "$UID" != "0" ] ; then +cecho "You are not '$socket_owner' or 'root'" $red +cecho "I am unable to determine the table_count!" $red +else +table_count=$(find $datadir 2>&1 | grep -c .frm$) +fi +fi +if [ $table_open_cache ] ; then +table_cache=$table_open_cache +fi + +if [ $opened_tables -ne 0 ] && [ $table_cache -ne 0 ] ; then +let table_cache_hit_rate=$open_tables*100/$opened_tables +let table_cache_fill=$open_tables*100/$table_cache +elif [ $opened_tables -eq 0 ] && [ $table_cache -ne 0 ] ; then +table_cache_hit_rate=100 +let table_cache_fill=$open_tables*100/$table_cache +else +cecho "ERROR no table_cache ?!" $boldred +exit 1 +fi +if [ $table_cache ] && [ ! $table_open_cache ] ; then +cecho "Current table_cache value = $table_cache tables" +fi +if [ $table_open_cache ] ; then +cecho "Current table_open_cache = $table_open_cache tables" +cecho "Current table_definition_cache = $table_definition_cache tables" +fi +if [ $table_count ] ; then +cecho "You have a total of $table_count tables" +fi + +if [ $table_cache_fill -lt 95 ] ; then +cecho "You have \c" +cecho "$open_tables \c" $green +cecho "open tables." +cecho "The table_cache value seems to be fine" $green +elif [ $table_cache_hit_rate -le 85 -o $table_cache_fill -ge 95 ]; then +cecho "You have \c" +cecho "$open_tables \c" $boldred +cecho "open tables." +cecho "Current table_cache hit rate is \c" +cecho "$table_cache_hit_rate%\c" $boldred +cecho ", while \c" +cecho "$table_cache_fill% \c" $boldred +cecho "of your table cache is in use" +cecho "You should probably increase your table_cache" $red +else +cecho "Current table_cache hit rate is \c" +cecho "$table_cache_hit_rate%\c" $green +cecho ", while \c" +cecho "$table_cache_fill% \c" $green +cecho "of your table cache is in use" +cecho "The table cache value seems to be fine" $green +fi +if [ $table_definition_cache ] && [ $table_definition_cache -le $table_count ] && [ $table_count -ge 100 ] ; then +cecho "You should probably increase your table_definition_cache value." $red +fi +} + +function check_table_locking () { + +## -- Table Locking -- ## + +cecho "TABLE LOCKING" $boldblue + +mysql_status \'Table_locks_waited\' table_locks_waited +mysql_status \'Table_locks_immediate\' table_locks_immediate +mysql_variable \'concurrent_insert\' concurrent_insert +mysql_variable \'low_priority_updates\' low_priority_updates +if [ "$concurrent_insert" = 'ON' ]; then +let concurrent_insert=1 +elif [ "$concurrent_insert" = 'OFF' ]; then +let concurrent_insert=0 +fi + +cecho "Current Lock Wait ratio = \c" +if [ $table_locks_waited -gt 0 ]; then +let immediate_locks_miss_rate=$table_locks_immediate/$table_locks_waited +cecho "1 : $immediate_locks_miss_rate" $red +else +let immediate_locks_miss_rate=99999 # perfect +cecho "0 : $questions" +fi +if [ $immediate_locks_miss_rate -lt 5000 ] ; then +cecho "You may benefit from selective use of InnoDB." +if [ "$low_priority_updates" == 'OFF' ] ; then +cecho "If you have long running SELECT's against MyISAM tables and perform" +cecho "frequent updates consider setting 'low_priority_updates=1'" +fi +if [ $concurrent_insert -le 1 ] && [ $major_version == '5.0' -o $major_version == '5.1' ] ; then +cecho "If you have a high concurrency of inserts on Dynamic row-length tables" +cecho "consider setting 'concurrent_insert=2'." +fi +else +cecho "Your table locking seems to be fine" $green +fi +} + +function check_table_scans () { + +## -- Table Scans -- ## + +cecho "TABLE SCANS" $boldblue + +mysql_status \'Com_select\' com_select +mysql_status \'Handler_read_rnd_next\' read_rnd_next +mysql_variable \'read_buffer_size\' read_buffer_size + +if [ -z $read_buffer_size ] ; then +mysql_variable \'record_buffer\' read_buffer_size +fi + +human_readable $read_buffer_size read_buffer_sizeHR +cecho "Current read_buffer_size = $read_buffer_sizeHR $unit" + +if [ $com_select -gt 0 ] ; then +let full_table_scans=$read_rnd_next/$com_select +cecho "Current table scan ratio = $full_table_scans : 1" +if [ $full_table_scans -ge 4000 ] && [ $read_buffer_size -le 2097152 ] ; then +cecho "You have a high ratio of sequential access requests to SELECTs" $red +cecho "You may benefit from raising \c" $red +if [ $major_version == '3.23' ] ; then +cecho "record_buffer \c" $red +else +cecho "read_buffer_size \c" $red +fi +cecho "and/or improving your use of indexes." $red +elif [ $read_buffer_size -gt 8388608 ] ; then +cecho "read_buffer_size is over 8 MB \c" $red +cecho "there is probably no need for such a large read_buffer" $red + +else +cecho "read_buffer_size seems to be fine" $green +fi +else +cecho "read_buffer_size seems to be fine" $green +fi +} + + +function check_innodb_status () { + +## -- InnoDB -- ## + +mysql_variable \'have_innodb\' have_innodb + +if [ "$have_innodb" == "YES" ] ; then +mysql_variable \'innodb_buffer_pool_size\' innodb_buffer_pool_size +mysql_variable \'innodb_additional_mem_pool_size\' innodb_additional_mem_pool_size +mysql_variable \'innodb_fast_shutdown\' innodb_fast_shutdown +mysql_varaible \'innodb_flush_log_at_trx_commit\' innodb_flush_log_at_trx_commit +mysql_variable \'innodb_locks_unsafe_for_binlog\' innodb_locks_unsafe_for_binlog +mysql_varaible \'innodb_log_buffer_size\' innodb_log_buffer_size +mysql_variable \'innodb_log_file_size\' innodb_log_file_size +mysql_variable \'innodb_log_files_in_group\' innodb_log_files_in_group +mysql_variable \'innodb_safe_binlog\' innodb_safe_binlog +mysql_variable \'innodb_thread_concurrency\' innodb_thread_concurrency + +echo +cecho "INNODB STATUS" $boldblue +innodb_indexes=$($mysql -Bse "/*!50000 SELECT SUM(INDEX_LENGTH) from information_schema.TABLES where ENGINE='InnoDB' */") + +if [ ! -z "$innodb_indexes" ] ; then + +mysql_status \'Innodb_buffer_pool_pages_data\' innodb_buffer_pool_pages_data +mysql_status \'Innodb_buffer_pool_pages_misc\' innodb_buffer_pool_pages_misc +mysql_status \'Innodb_buffer_pool_pages_free\' innodb_buffer_pool_pages_free +mysql_status \'Innodb_buffer_pool_pages_total\' innodb_buffer_pool_pages_total + +mysql_status \'Innodb_buffer_pool_read_ahead_seq\' innodb_buffer_pool_read_ahead_seq +mysql_status \'Innodb_buffer_pool_read_requests\' innodb_buffer_pool_read_requests + +mysql_status \'Innodb_os_log_pending_fsyncs\' innodb_os_log_pending_fsyncs +mysql_status \'Innodb_os_log_pending_writes\' innodb_os_log_pending_writes +mysql_status \'Innodb_log_waits\' innodb_log_waits + +mysql_status \'Innodb_row_lock_time\' innodb_row_lock_time +mysql_status \'Innodb_row_lock_waits\' innodb_row_lock_waits + +human_readable $innodb_indexes innodb_indexesHR 0 +cecho "Current InnoDB index space = $innodb_indexesHR $unit" +else +cecho "Cannot find InnoDB index space prior to 5.0.x" $red +fi + +human_readable $innodb_buffer_pool_size innodb_buffer_pool_sizeHR +cecho "Current innodb_buffer_pool_size = $innodb_buffer_pool_sizeHR $unit" +cecho "Depending on how much space your innodb indexes take up it may be safe" +cecho "to increase this value to up to 1 / 3 of total system memory" +echo +$mysql -s -e "SHOW /*!50000 ENGINE */ INNODB STATUS\G" +else +cecho "No InnoDB Support Enabled!" $boldred +fi +} + +function total_memory_used () { + +## -- Total Memory Usage -- ## +cecho "MEMORY USAGE" $boldblue + +mysql_variable \'read_buffer_size\' read_buffer_size +mysql_variable \'read_rnd_buffer_size\' read_rnd_buffer_size +mysql_variable \'sort_buffer_size\' sort_buffer_size +mysql_variable \'thread_stack\' thread_stack +mysql_variable \'max_connections\' max_connections +mysql_variable \'join_buffer_size\' join_buffer_size +mysql_variable \'tmp_table_size\' tmp_table_size +mysql_variable \'max_heap_table_size\' max_heap_table_size +mysql_variable \'log_bin\' log_bin +mysql_status \'Max_used_connections\' max_used_connections + +if [ "$major_version" = "3.23" ] ; then +mysql_variable \'record_buffer\' read_buffer_size +mysql_variable \'record_rnd_buffer\' read_rnd_buffer_size +mysql_variable \'sort_buffer\' sort_buffer_size +fi + +if [ "$log_bin" == "ON" ] ; then +mysql_variable \'binlog_cache_size\' binlog_cache_size +else +binlog_cache_size=0 +fi + +if [ $max_heap_table_size -le $tmp_table_size ] ; then +effective_tmp_table_size=$max_heap_table_size +else +effective_tmp_table_size=$tmp_table_size +fi + + +per_thread_buffers=$(echo "($read_buffer_size+$read_rnd_buffer_size+$sort_buffer_size+$thread_stack+$join_buffer_size+$binlog_cache_size)*$max_connections" | bc -l) +per_thread_max_buffers=$(echo "($read_buffer_size+$read_rnd_buffer_size+$sort_buffer_size+$thread_stack+$join_buffer_size+$binlog_cache_size)*$max_used_connections" | bc -l) + +mysql_variable \'innodb_buffer_pool_size\' innodb_buffer_pool_size +if [ -z $innodb_buffer_pool_size ] ; then +innodb_buffer_pool_size=0 +fi + +mysql_variable \'innodb_additional_mem_pool_size\' innodb_additional_mem_pool_size +if [ -z $innodb_additional_mem_pool_size ] ; then +innodb_additional_mem_pool_size=0 +fi + +mysql_variable \'innodb_log_buffer_size\' innodb_log_buffer_size +if [ -z $innodb_log_buffer_size ] ; then +innodb_log_buffer_size=0 +fi + +mysql_variable \'key_buffer_size\' key_buffer_size + +mysql_variable \'query_cache_size\' query_cache_size +if [ -z $query_cache_size ] ; then +query_cache_size=0 +fi + +global_buffers=$(echo "$innodb_buffer_pool_size+$innodb_additional_mem_pool_size+$innodb_log_buffer_size+$key_buffer_size+$query_cache_size" | bc -l) + + +max_memory=$(echo "$global_buffers+$per_thread_max_buffers" | bc -l) +total_memory=$(echo "$global_buffers+$per_thread_buffers" | bc -l) + +pct_of_sys_mem=$(echo "scale=0; $total_memory*100/$physical_memory" | bc -l) + +if [ $pct_of_sys_mem -gt 90 ] ; then +txt_color=$boldred +error=1 +else +txt_color= +error=0 +fi + +human_readable $max_memory max_memoryHR 0 +cecho "Max Memory Ever Allocated : $max_memoryHR $unit" $txt_color +human_readable $per_thread_buffers per_thread_buffersHR 0 +cecho "Configured Max Per-thread Buffers : $per_thread_buffersHR $unit" $txt_color +human_readable $global_buffers global_buffersHR 0 +cecho "Configured Max Global Buffers : $global_buffersHR $unit" $txt_color +human_readable $total_memory total_memoryHR 0 +cecho "Configured Max Memory Limit : $total_memoryHR $unit" $txt_color +# human_readable $effective_tmp_table_size effective_tmp_table_sizeHR 0 +# cecho "Plus $effective_tmp_table_sizeHR $unit per temporary table created" +human_readable $physical_memory physical_memoryHR 2 +cecho "Physical Memory : $physical_memoryHR $unit" $txt_color +if [ $error -eq 1 ] ; then +cecho "\nMax memory limit exceeds 90% of physical memory" $txt_color +else +cecho "Max memory limit seem to be within acceptable norms" $green +fi +unset txt_color +} + +function snarky () { + +## -- Be Snarky -- ## + +fortune=$(which fortune 2>/dev/null) +if [ -z $fortune ] ; then +echo "What the hell sort of straight-lace bastard doesn't have fortune installed?" +else +$fortune +fi +} + +## Required Functions ## + +function login_validation () { +check_for_socket # determine the socket location -- 1st login +check_for_plesk_passwords # determine the login method -- 2nd login +check_mysql_login # determine if mysql is accepting login -- 3rd login +export major_version=$($mysql -Bse 'SELECT SUBSTRING_INDEX(VERSION(), ".", +2)') +export mysql_version_num=$($mysql -Bse "SELECT LEFT(REPLACE(SUBSTRING_INDEX(VERSION(), '-', +1), '.', ''),4)" ) +} + +function shared_info () { +export major_version=$($mysql -Bse 'select substring_index(version(), ".", +2)') +export mysql_version_num=$($mysql -Bse "SELECT LEFT(REPLACE(SUBSTRING_INDEX(VERSION(), '-', +1), '.', ''),4)" ) +mysql_status \'Questions\' questions +# socket_owner=$(find -L $socket -printf '%u\n') +socket_owner=$(ls -nH $socket | awk '{ print $3 }') +} + + +function get_system_info () { + +export OS=$(uname) + +# Get information for various UNIXes +if [ "$OS" = 'Darwin' ]; then +ps_socket=$(netstat -ln | awk '/mysql(d)?\.sock/ { print $9 }') +export physical_memory=$(sysctl -n hw.memsize) +export duflags='' +elif [ "$OS" = 'FreeBSD' ] || [ "$OS" == 'OpenBSD' ]; then +## On FreeBSD must be root to locate sockets. +ps_socket=$(netstat -ln | awk '/mysql(d)?\.sock/ { print $9 }') +export physical_memory=$(sysctl -n hw.realmem) +export duflags='' +elif [ "$OS" = 'Linux' ] ; then +## Includes SWAP +## export physical_memory=$(free -b | grep -v buffers | awk '{ s += $2 } END { printf("%.0f\n", s ) }') +ps_socket=$(netstat -ln | awk '/mysql(d)?\.sock/ { print $9 }') +export physical_memory=$(awk '/^MemTotal/ { printf("%.0f", $2*1024 ) }' < /proc/meminfo) +export duflags='-b' +elif [ "$OS" = 'SunOS' ] ; then +ps_socket=$(netstat -a | awk '/mysql(d)?.sock/ { print $5 }') +export physical_memory=$(prtconf | awk '/^Memory\ size:/ { print $3*1048576 }') +fi +} + + +## Optional Components Groups ## + +function banner_info () { +shared_info +print_banner ; echo +check_mysql_version ; echo +post_uptime_warning ; echo +} + +function misc () { +shared_info +check_slow_queries ; echo +check_binary_log ; echo +check_threads ; echo +check_used_connections ; echo +} + +function memory () { +shared_info +total_memory_used ; echo +check_key_buffer_size ; echo +check_query_cache ; echo +check_sort_operations ; echo +check_join_operations ; echo +} + +function file () { +shared_info +check_open_files ; echo +check_table_cache ; echo +check_tmp_tables ; echo +check_table_scans ; echo +check_table_locking ; echo +} + +function all () { +banner_info +misc +memory +file +# snarky +} + +function prompt () { +prompted='true' +read -p "Username [anonymous] : " user +read -rsp "Password [] : " pass +cecho "\n\c" +read -p "Socket [ /var/lib/mysql/mysql.sock ] : " socket +if [ -z $socket ] ; then +export socket='/var/lib/mysql/mysql.sock' +fi + +if [ -z $pass ] ; then +export mysql="mysql -S $socket -u$user" +export mysqladmin="mysqladmin -S $socket -u$user" +else +export mysql="mysql -S $socket -u$user -p$pass" +export mysqladmin="mysqladmin -S $socket -u$user -p$pass" +fi + +check_for_socket +check_mysql_login + +if [ $? = 1 ] ; then +exit 1 +fi +read -p "Mode to test (see usage:) [all] : " pmode +if [ -z $pmode ] ; then +pmode='all' +fi +case $pmode in +banner | BANNER | header | HEADER | head | HEAD) +banner_info +;; +misc | MISC | miscelaneous ) +misc +;; +mem | memory | MEM | MEMORY ) +memory +;; +file | FILE | disk | DISK ) +file +;; +innodb | INNODB ) +innodb +;; +all | ALL ) +cecho "\n\c" +all +;; +* ) +cecho "Invalid Mode! Valid options are 'banner', 'misc', 'memory', 'file', 'innodb' or 'all'" $boldred +exit 1 +;; +esac +} + +## Address environmental differences ## +get_system_info + + +if [ -z "$1" ] ; then +login_validation +mode='ALL' +elif [ "$1" = "prompt" ] || [ "$1" = "PROMPT" ] ; then +mode=$1 +elif [ "$1" != "prompt" ] || [ "$1" != "PROMPT" ] ; then +login_validation +mode=$1 +fi + +case $mode in +all | ALL ) +cecho "\n\c" +all +;; +mem | memory | MEM | MEMORY ) +cecho "\n\c" +memory +;; +file | FILE | disk | DISK ) +cecho "\n\c" +file +;; +banner | BANNER | header | HEADER | head | HEAD ) +banner_info +;; +misc | MISC | miscelaneous ) +cecho "\n\c" +misc +;; +innodb | INNODB ) +banner_info +check_innodb_status ; echo +;; +prompt | PROMPT ) +prompt +;; +*) +cecho "usage: $0 [ all | banner | file | innodb | memory | misc | promp ]" $boldred +exit 1 +;; +esac diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/VD_hangup.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/VD_hangup.agi new file mode 100644 index 00000000..9fdd98c4 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/VD_hangup.agi @@ -0,0 +1,456 @@ +#!/usr/bin/perl +# +# VD_hangup.agi version 0.5 *DBI-version* +# +# NOTE: This script is only needed on Asterisk 1.2.X and higher systems +# +# runs when a call hangs up in the second priority behind call_log. This script +# will lookup the uniqueid of the call and/or the callerIDname and update tables +# if it is a VICIDIAL inbound or outbound call that hungup before sent to agent +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;VICIDIAL_auto_dialer transfer script: +# exten => h,1,DeadAGI(call_log.agi,${EXTEN}) +# exten => h,2,DeadAGI(VD_hangup.agi,PRI-----DEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}) +# +# NOTES: +# - To disable Busy and Disconnect detection change the first field from PRI to NONPRI +# - To disable Debug output to file change the second field from DEBUG to NODEBUG +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# +# changes: +# 60203-1218 - fixed calleridname issue with 1.2 tree for custom CID +# 60314-1250 - Altered to allow for ignoring of AGI-defined status +# 60612-1500 - Added option for text log of hangup codes +# - Added option for PRI hangup code dispositions: BUSY, DISCONNECT +# 60615-1101 - Fixed log updates for CLOSER transfer from fronter calls +# 60719-1118 - changed to use DBI-DBD::mysql +# - changed to use /etc/astguiclient.conf for configs +# 60815-1210 - added output options check from database +# 60905-1113 - fixed Closer dropped call issue, added queue_seconds to VDCL +# + +$script = 'VD_hangup.agi'; + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use Asterisk::AGI; +$AGI = new Asterisk::AGI; +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + ### list of command-line array arguments: + @ARGV_vars = split(/-----/, $ARGV[0]); + + $PRI = $ARGV_vars[0]; + $DEBUG = $ARGV_vars[1]; + $hangup_cause = $ARGV_vars[2]; + $dialstatus = $ARGV_vars[3]; + $dial_time = $ARGV_vars[4]; + $ring_time = $ARGV_vars[5]; + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() +{ + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_priority\:\s+(.*)$/) {$priority = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} +} + +if ( (length($callerid)>20) && ($callerid =~ /\"\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S/) ) + { + $callerid =~ s/^\"//gi; + $callerid =~ s/\".*$//gi; +# ### set the callerid to the ACQS value(calleridname) +# print "SET CALLERID $callerid\n"; +# checkresult($result); +# print STDERR "callerID changed: $callerid\n"; + + } +if ( ( +(length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) +) or ( (length($calleridname)>17) && ($calleridname =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) ) ) + { + $callerid = $calleridname; +# ### set the callerid to the ACQS value(calleridname) +# print "SET CALLERID $callerid\n"; +# checkresult($result); +# print STDERR "callerID changed: $callerid\n"; + } + + +if ($AGILOG) {$agi_string = "AGI Environment Dump:"; &agi_output;} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + +$VDADcampaign=''; +$VDADphone=''; +$VDADphone_code=''; + +if ($DEBUG =~ /^DEBUG$/) +{ + ### open the hangup cause out file for writing ### + open(out, ">>$PATHlogs/HANGUP_cause-output.txt") + || die "Can't open $PATHlogs/HANGUP_cause-output.txt: $!\n"; + + print out "$now_date|$hangup_cause|$dialstatus|$dial_time|$ring_time|$unique_id|$channel|$extension|$type|$callerid|$calleridname|$priority|\n"; + + close(out); +} +else +{ +if ($AGILOG) {$agi_string = "DEBUG: $DEBUG"; &agi_output;} +} + + +$callerid =~ s/\"//gi; +$CIDlead_id = $callerid; +$CIDlead_id = substr($CIDlead_id, 11, 9); +$CIDlead_id = ($CIDlead_id + 0); + +if ($AGILOG) {$agi_string = "VD_hangup : $callerid $channel $priority $CIDlead_id"; &agi_output;} + +if ($channel =~ /^Local/) +{ + if ( ($PRI =~ /^PRI$/) && ($callerid =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) && ( ($dialstatus =~ /BUSY/) || ( ($dialstatus =~ /CHANUNAVAIL/) && ($hangup_cause =~ /^1$|^28$/) ) ) ) + { + if ($dialstatus =~ /BUSY/) {$VDL_status = 'B'; $VDAC_status = 'BUSY';} + if ($dialstatus =~ /CHANUNAVAIL/) {$VDL_status = 'DC'; $VDAC_status = 'DISCONNECT';} + + $stmtA = "UPDATE vicidial_auto_calls set status='$VDAC_status' where callerid = '$callerid';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAC update: |$affected_rows|$CIDlead_id"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='$VDL_status' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$CIDlead_id"; &agi_output;} + + $stmtA = "UPDATE vicidial_log set status='$VDL_status' where uniqueid = '$uniqueid';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_log update: |$affected_rows|$uniqueid|"; &agi_output;} + + $dbhA->disconnect(); + } + else + { + if ($AGILOG) {$agi_string = "-- VDhangup Local DEBUG: |$PRI|$callerid|$dialstatus|$hangup_cause|"; &agi_output;} + } + + if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} + if ($priority > 2) {sleep(1);} + exit; +} + + +########## FIND AND DELETE vicidial_auto_calls ########## +$stmtA = "SELECT lead_id,callerid FROM vicidial_auto_calls where uniqueid = '$uniqueid' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_countCUSTDATA=0; +while ($sthArows > $rec_countCUSTDATA) + { + @aryA = $sthA->fetchrow_array; + $VD_lead_id = "$aryA[0]"; + $VD_callerid = "$aryA[1]"; + $rec_countCUSTDATA++; + } +$sthA->finish(); + +if (!$rec_countCUSTDATA) + { + if ($AGILOG) {$agi_string = "VD hangup: no VDAC record found: $uniqueid $calleridname"; &agi_output;} + exit; + } + +$stmtA = "DELETE FROM vicidial_auto_calls where uniqueid='$uniqueid' order by call_time desc limit 1;"; +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAC record deleted: |$affected_rows| |$VD_lead_id|$uniqueid|$VD_callerid|$VARserver_ip"; &agi_output;} + + +########## FIND AND UPDATE vicidial_log ########## +$stmtA = "SELECT start_epoch,status FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$VD_lead_id' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $epc_countCUSTDATA=0; + $VD_closecallid=''; +while ($sthArows > $rec_countCUSTDATA) + { + @aryA = $sthA->fetchrow_array; + $VD_start_epoch = "$aryA[0]"; + $VD_status = "$aryA[1]"; + $epc_countCUSTDATA++; + } +$sthA->finish(); + +if (!$epc_countCUSTDATA) + { + if ($AGILOG) {$agi_string = "no VDL record found: $uniqueid $calleridname $VD_lead_id $uniqueid"; &agi_output;} + + $secX = time(); + $Rtarget = ($secX - 21600); # look for VDCL entry within last 6 hours + ($Rsec,$Rmin,$Rhour,$Rmday,$Rmon,$Ryear,$Rwday,$Ryday,$Risdst) = localtime($Rtarget); + $Ryear = ($Ryear + 1900); + $Rmon++; + if ($Rmon < 10) {$Rmon = "0$Rmon";} + if ($Rmday < 10) {$Rmday = "0$Rmday";} + if ($Rhour < 10) {$Rhour = "0$Rhour";} + if ($Rmin < 10) {$Rmin = "0$Rmin";} + if ($Rsec < 10) {$Rsec = "0$Rsec";} + $RSQLdate = "$Ryear-$Rmon-$Rmday $Rhour:$Rmin:$Rsec"; + + $stmtA = "SELECT start_epoch,status,closecallid FROM vicidial_closer_log where lead_id = '$VD_lead_id' and call_date > \"$RSQLdate\" order by call_date desc limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $epc_countCUSTDATA=0; + $VD_closecallid=''; + while ($sthArows > $epc_countCUSTDATA) + { + @aryA = $sthA->fetchrow_array; + $VD_start_epoch = "$aryA[0]"; + $VD_status = "$aryA[1]"; + $VD_closecallid = "$aryA[2]"; + $epc_countCUSTDATA++; + } + $sthA->finish(); + } +if (!$epc_countCUSTDATA) + { + if ($AGILOG) {$agi_string = "no VDL or VDCL record found: $uniqueid $calleridname $VD_lead_id $uniqueid"; &agi_output;} + exit; + } +$VD_seconds = ($now_date_epoch - $VD_start_epoch); + +$SQL_status=''; +if ($VD_status =~ /^NA$|^NEW$|^QUEUE$|^XFER$/) + { + $SQL_status = "status='DROP',"; + + ########## FIND AND UPDATE vicidial_list ########## + $stmtA = "UPDATE vicidial_list set status='DROP' where lead_id = '$VD_lead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$VD_lead_id"; &agi_output;} + } + +$stmtA = "UPDATE vicidial_log set $SQL_status end_epoch='$now_date_epoch',length_in_sec='$VD_seconds' where uniqueid = '$uniqueid';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD vicidial_log update: |$affected_rows|$uniqueid|$VD_status|"; &agi_output;} + + + + +########## UPDATE vicidial_closer_log ########## +if (length($VD_closecallid) < 1) + { + if ($AGILOG) {$agi_string = "no VDCL record found: $uniqueid $calleridname $VD_lead_id $uniqueid"; &agi_output;} + exit; + } +if ($VD_status =~ /^DONE$|^INCALL$|^XFER$/) + {$VDCLSQL_status = "";} +else + {$VDCLSQL_status = "status='DROP',queue_seconds='$VD_seconds',";} + +$VD_seconds = ($now_date_epoch - $VD_start_epoch); +$stmtA = "UPDATE vicidial_closer_log set $VDCLSQL_status end_epoch='$now_date_epoch',length_in_sec='$VD_seconds' where closecallid = '$VD_closecallid';"; + if ($AGILOG) {$agi_string = "|$VDCLSQL_status|$VD_status|\n|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDCL update: |$affected_rows|$uniqueid|$VD_closecallid|"; &agi_output;} + + + +$dbhA->disconnect(); + + + +exit; + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LB_closer.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LB_closer.agi new file mode 100644 index 00000000..8c8b2bbd --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LB_closer.agi @@ -0,0 +1,634 @@ +#!/usr/bin/perl +# +# agi-VDAD_LB_closer.agi version 0.4 *DBI-version* +# Load Balanced - when a call comes in on this server the script looks for an agent +# on any server on the network on the same campaign to send call to. +# +# runs when a call comes in from a VICIDIAL fronter. This script will +# send the calls out to the closers that are logged in. +# +# if there are no available agents, then it will check every second until an agent becomes available, +# if at the end of 360 seconds(default) it has not found an agent it will send the call to the specified Vmail +# box or hangup the call and mark it as dropped +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;inbound VICIDIAL calls: +#exten => _90009.,1,Answer ; Answer the line +#exten => _90009.,2,AGI(agi-VDADcloser.agi,${EXTEN}-----START) +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# +# changes: +# 60504-1107 - Added drop second/message/exten options from inbound_group +# 60809-1056 - Changed to DBI by Marin Blu +# - changed to use /etc/astguiclient.conf for configs +# 60821-1021 - added output options check from database +# - changed look for agent every 0.5 second for first 4 sec on hold +# 60905-1047 - changed look for agent every 0.25 second for first 4 sec on hold +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# + +$script = 'agi-VDAD_LB_closer.agi'; + +$DROP_TIME = 360; ### number of seconds to wait until you drop a waiting call + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + + ### allow for internal PRI transfer data string "90009*CL_uk3survy_*8301*10000123*universal***" + if ($extension =~ /^900\d\d\*/) + { + @EXT_vars = split(/\*/, $extension); + + $referring_extension = $EXT_vars[0]; # initial extension sent + $channel_group = $EXT_vars[1]; # name of the parked group + $inbound_number = $EXT_vars[2]; # extension to send call to after parsing + $parked_by = $EXT_vars[3]; # leadID + $park_extension = $EXT_vars[4]; # filename of the on-hold music file + $comment_d = $EXT_vars[5]; # N/A + $comment_e = $EXT_vars[6]; # N/A + + $PADlead_id = sprintf("%09s", $parked_by); while (length($PADlead_id) > 9) {chop($PADlead_id);} + # JmmddhhmmssLLLLLLLLL + $JqueryCID = "J$CIDdate$PADlead_id"; + $callerid = $JqueryCID; + ### set the callerid to the filename of the audio for on-hold + print "SET CALLERID $JqueryCID\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $JqueryCID"; &agi_output;} + } +} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + +$VDADcampaign=''; +$VDADphone=''; +$VDADphone_code=''; + +$CIDlead_id = $callerid; +$CIDlead_id = substr($CIDlead_id, 11, 9); +$CIDlead_id = ($CIDlead_id + 0); + +if ($AGILOG) {$agi_string = "+++++ VDAD START : |$CIDlead_id|$now_date|"; &agi_output;} + +if ($channel =~ /Local/i) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +exit; +} + +### Grab Server values from the database +$cbc=0; +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + $cbc++; + } +$sthA->finish(); + +### Grab call parameters from vicidial_list table +$cbc=0; +$stmtA = "SELECT phone_number,phone_code,user FROM vicidial_list where lead_id='$CIDlead_id' limit 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADcampaign = "$channel_group"; + $VDADphone = "$aryA[0]"; + $VDADphone_code = "$aryA[1]"; + $VDADlead_id = "$CIDlead_id"; + $VDADfronter = "$aryA[2]"; + $cbc++; + } +$sthA->finish(); + + +### Grab inbound_group values from the database +$cbc=0; +$stmtA = "SELECT drop_call_seconds,drop_message,drop_exten FROM vicidial_inbound_groups where group_id = '$channel_group';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $DBdrop_call_seconds = "$aryA[0]"; + $DBdrop_message = "$aryA[1]"; + $DBdrop_exten = "$aryA[2]"; + if ($DBdrop_call_seconds) {$DROP_TIME = $DBdrop_call_seconds;} + if ($DBdrop_message) {$drop_message = $DBdrop_message;} + if ($DBdrop_exten) {$drop_exten = $DBdrop_exten;} + $cbc++; + } +$sthA->finish(); + + +### insert a LIVE record to the vicidial_auto_calls table +$stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,uniqueid,callerid,channel,phone_code,phone_number,call_time,call_type,stage) values('$VARserver_ip','$channel_group','LIVE','$CIDlead_id','$uniqueid','$callerid','$channel','$VDADphone_code','$VDADphone','$SQLdate','IN','LIVE-0')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); + +$stmtA = "INSERT INTO vicidial_closer_log (lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$CIDlead_id','$VDADcampaign','$SQLdate','$now_date_epoch','QUEUE','$VDADphone_code','$VDADphone','VDCL','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDCL : |$VDADlead_id|$CIDlead_id|insert to vicidial_closer_log"; &agi_output;} + +$stmtA = "INSERT INTO vicidial_xfer_log (lead_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$CIDlead_id','$VDADcampaign','$SQLdate','$VDADphone_code','$VDADphone','$VDADfronter','VDXL')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDXL : |$VDADlead_id|$CIDlead_id|insert to vicidial_xfer_log"; &agi_output;} + + +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=25; +$hold_tone_counter=0; + +while ($drop_timer <= $DROP_TIME) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < 360) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + 360); + } + } + $cbc=0; + $stmtA = "SELECT next_agent_call FROM vicidial_inbound_groups where group_id='$channel_group';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $CAMP_callorder = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + $agent_call_order='order by last_call_finish'; + if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} + if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} + if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} + if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} + + $rec_countWAIT=0; + $cbc=0; + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and campaign_id = '$channel_group' and call_time < \"$SQLdateBEGIN\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($rec_countWAIT < 1) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$CIDlead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid', call_server_ip='$VARserver_ip' where status IN('CLOSER','READY') and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and closer_campaigns LIKE \"% $VDADcampaign %\" and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|$VDADcampaign|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $cbc=0; + $stmtA = "SELECT conf_exten,user,extension,server_ip FROM vicidial_live_agents where status = 'QUEUE' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $VDADserver_ip = "$aryA[3]"; + $cbc++; + } + $sthA->finish(); + + $stmtA = "UPDATE vicidial_auto_calls set status='CLOSER', stage='CLOSER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL XFER : |$affected_rows|$callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_xfer_log set closer='$VDADuser' where lead_id = '$CIDlead_id' order by call_date desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDXL XFER vicidial_xfer_log update: |$affected_rows|$CIDlead_id|$VDADuser\n|$stmtA|"; &agi_output;} + + ### format the remote server dialstring to get the call to the overflow agent meetme room + $S='*'; + $VDADremDIALstr=''; + if( ($VDADserver_ip =~ m/(\S+)\.(\S+)\.(\S+)\.(\S+)/) && ($VDADserver_ip !~ /$VARserver_ip/) ) + { + $a = leading_zero($1); + $b = leading_zero($2); + $c = leading_zero($3); + $d = leading_zero($4); + $VDADremDIALstr = "$a$S$b$S$c$S$d$S"; + } + $VDADremDIALstr .= "$VDADconf_exten"; + + if ($AGILOG) {$agi_string = "exiting VDAD app, transferring call to $VDADremDIALstr"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADremDIALstr\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $stmtA = "UPDATE vicidial_closer_log set queue_seconds='$drop_timer' where lead_id = '$CIDlead_id' and call_date='$SQLdate';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$CIDlead_id|\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNN No available agent found"; &agi_output;} + } + } + else + { + if ($AGILOG) {$agi_string = "WWWWW VDAD XFER WAIT: |$rec_countWAIT|$channel_group|$channel|$callerid|$uniqueid|"; &agi_output;} + } + +if ($hold_message_counter > 30) + { + $AGI->stream_file('generic_hold'); + $hold_message_counter = 0; + } + else {$hold_message_counter++;} +if ($hold_tone_counter > 3) + { + $AGI->stream_file('hold_tone'); + $hold_tone_counter = 0; + } + else {$hold_tone_counter++;} + +if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } +else + { + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $drop_timer++; + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); +#if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + +} + + +if ($drop_timer >= $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $VDADvoicemail_ext = ''; + +$DROPexten = ''; +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + + if ($drop_message =~ /Y/) + { + $DROPexten = "$drop_exten"; + } + else + { + $cbc=0; + $stmtA = "SELECT voicemail_ext FROM vicidial_inbound_groups where group_id = '$channel_group' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADvoicemail_ext = "$aryA[0]"; + $VDADvoicemail_ext =~ s/\D//gi; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + $cbc++; + } + $sthA->finish(); + } + } + + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' and server_ip='$VARserver_ip' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vac record deleted: |$affected_rows| $VDADcampaign|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds',queue_seconds='$drop_seconds' where lead_id = '$CIDlead_id' order by start_epoch desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$CIDlead_id|\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='XDROP' where lead_id = '$CIDlead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vl update: |$affected_rows|$CIDlead_id|\n|$stmtA|"; &agi_output;} +} + +$dbhA->disconnect(); + +exit; + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + +sub leading_zero($) { + $_ = $_[0]; + s/^(\d)$/0$1/; + s/^(\d\d)$/0$1/; + return $_; +} # End of the leading_zero() routine. + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LB_closer_inbound.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LB_closer_inbound.agi new file mode 100644 index 00000000..a2017eb6 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LB_closer_inbound.agi @@ -0,0 +1,765 @@ +#!/usr/bin/perl +# +# agi-VDAD_LB_closer_inbound.agi version 0.5 *DBI-version* +# +# runs when a call comes in from an inbound call. This script will +# send the calls out to the closers that are logged in. +# ## THIS IS THE LOAD-BALANCED VERSION OF THE SCRIPT ## +# +# if there are no available agents on any server, it will check every second until an agent becomes available, +# if at the end of 360 seconds it has not found an agent it will hangup the call and mark it as dropped +# +# This version asks for a 4-digit pin number to be entered and passed on as the fronter value to the closer +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ; 1. the full name of the IN GROUP to be used in vicidial for the inbound call +# ; 2. the phone number that was called, for the log entry +# ; 3. the callerID or lead_id of the person that called(usually overridden) +# ; 4. the park extension audio file name if used +# ; 5. the status of the call initially(usually not used) +# ; 6. the list_id to insert the new lead under if it is new (and callerID available) +# ; 7. the phone dialing code to insert with the new lead if new (and callerID available) +# +# ;inbound VICIDIAL calls: +#exten => 1234,1,Answer ; Answer the line +#exten => 1234,2,AGI(agi-VDAD_LO_closer_inbound.agi,CL_GALLERIA-----7274515134-----Closer-----park----------999-----1) +#exten => 1234,3,Hangup +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# +# changes: +# 60504-1122 - Added drop second/message/exten options from inbound_group +# 60809-1056 - Changed to DBI by Marin Blu +# - changed to use /etc/astguiclient.conf for configs +# 60821-1021 - added output options check from database +# - changed look for agent every 0.5 second for first 4 sec on hold +# 60905-1047 - changed look for agent every 0.25 second for first 4 sec on hold +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# + +$script = 'agi-VDAD_LB_closer_inbound.agi'; + +$DROP_TIME = 360; ### number of seconds to wait until you drop a waiting call + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + ### list of command-line array arguments: + @ARGV_vars = split(/-----/, $ARGV[0]); + + $channel_group = $ARGV_vars[0]; + $inbound_number = $ARGV_vars[1]; + $parked_by = $ARGV_vars[2]; + $park_extension = $ARGV_vars[3]; + $status = $ARGV_vars[4]; + $list_id = $ARGV_vars[5]; + $phone_code = $ARGV_vars[6]; + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + + +# if ($channel =~ /^SIP/) {$channel =~ s/-.*//gi;} +# if ($channel =~ /^Zap\//) {$channel =~ s/-\d$//gi;} + if (length($callerid)<10) {$callerid = $parked_by;} + if (length($pin)>0) {$callerid = $pin;} + + $phone_number=''; + + ### allow for external callerid to be collected +# if ($extension =~ /\*\d\d\d\d\d\d\d\d\d\d\*/) +# { +# @EXT_vars = split(/\*/, $extension); +# +# $referring_extension = $EXT_vars[0]; # initial extension sent +# $channel_group = $EXT_vars[1]; # name of the parked group +# $inbound_number = $EXT_vars[2]; # extension to send call to after parsing +# $parked_by = $EXT_vars[3]; # leadID +# $park_extension = $EXT_vars[4]; # filename of the on-hold music file +# $comment_d = $EXT_vars[5]; # N/A +# $comment_e = $EXT_vars[6]; # N/A +# +# $PADlead_id = sprintf("%09s", $parked_by); while (length($PADlead_id) > 9) {chop($PADlead_id);} +# # JmmddhhmmssLLLLLLLLL +# $JqueryCID = "J$CIDdate$PADlead_id"; +# $callerid = $JqueryCID; +# ### set the callerid to the filename of the audio for on-hold +# print "SET CALLERID $JqueryCID\n"; +# checkresult($result); +# print STDERR "callerID changed: $JqueryCID\n"; +# } +} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + +$AGI->stream_file('beep'); + +&enter_pin_number; + +$fronter = $pin; + +if ($AGILOG) {$agi_string = "+++++ INBOUND CALL VDCL STARTED : |$channel_group|$callerid-$pin|$now_date"; &agi_output;} + +$VDADphone=''; +$VDADphone_code=''; + +if ($channel =~ /Local/i) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +exit; +} + +### Grab Server values from the database +$cbc=0; +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + $cbc++; + } +$sthA->finish(); + +### insert a record into the vicidial_list table +$stmtA = "INSERT INTO vicidial_list (entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,called_since_last_reset,phone_code,phone_number,security_phrase,called_count,gmt_offset_now) values('$SQLdate','$tsSQLdate','INBND','$fronter','$inbound_number','VDCL','$list_id','Y','$phone_code','$phone_number','$channel_group','1','-5.00');"; +$affected_rows = $dbhA->do($stmtA); +$cbc=0; +$stmtA = "select LAST_INSERT_ID() LIMIT 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $insert_lead_id = "$aryA[0]"; + $cbc++; + } +$sthA->finish(); + +$new_lead_id = $insert_lead_id; +if ($AGILOG) {$agi_string = "|$stmtA|$new_lead_id|"; &agi_output;} + +$PADlead_id = sprintf("%09s", $new_lead_id); while (length($PADlead_id) > 9) {chop($PADlead_id);} +# YmmddhhmmssLLLLLLLLL + $YqueryCID = "Y$CIDdate$PADlead_id"; + $callerid = $YqueryCID; +### set the callerid +print "SET CALLERID $YqueryCID\n"; +checkresult($result); +if ($AGILOG) {$agi_string = "callerID changed: $YqueryCID"; &agi_output;} + +### Grab inbound_group values from the database +$cbc=0; +$stmtA = "SELECT drop_call_seconds,drop_message,drop_exten FROM vicidial_inbound_groups where group_id = '$channel_group';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $DBdrop_call_seconds = "$aryA[0]"; + $DBdrop_message = "$aryA[1]"; + $DBdrop_exten = "$aryA[2]"; + if ($DBdrop_call_seconds) {$DROP_TIME = $DBdrop_call_seconds;} + if ($DBdrop_message) {$drop_message = $DBdrop_message;} + if ($DBdrop_exten) {$drop_exten = $DBdrop_exten;} + $cbc++; + } +$sthA->finish(); + + +### insert a LIVE record to the vicidial_auto_calls table +$stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,uniqueid,callerid,channel,phone_code,phone_number,call_time,call_type,stage) values('$VARserver_ip','$channel_group','LIVE','$new_lead_id','$uniqueid','$callerid','$channel','$phone_code','$phone_number','$SQLdate','IN','LIVE-0')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); + +$stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$uniqueid','$new_lead_id','$channel_group','$SQLdate','$now_date_epoch','XFER','$phone_code','$phone_number','$fronter','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD : |$new_lead_id|$fronter|insert to vicidial_log: $uniqueid"; &agi_output;} + +$stmtA = "INSERT INTO vicidial_closer_log (lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$new_lead_id','$channel_group','$SQLdate','$now_date_epoch','QUEUE','$phone_code','$phone_number','VDCL','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDCL : |$new_lead_id|insert to vicidial_closer_log"; &agi_output;} + +$stmtA = "INSERT INTO vicidial_xfer_log (lead_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$new_lead_id','$channel_group','$SQLdate','$phone_code','$phone_number','$fronter','VDXL')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDXL : |$new_lead_id|insert to vicidial_xfer_log"; &agi_output;} + +$VDADlead_id = $new_lead_id; + +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=25; +$hold_tone_counter=0; + +while ($drop_timer <= $DROP_TIME) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < 360) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + 360); + } + } + $cbc=0; + $stmtA = "SELECT next_agent_call FROM vicidial_inbound_groups where group_id='$channel_group';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $CAMP_callorder = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + $agent_call_order='order by last_call_finish'; + if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} + if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} + if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} + if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} + + $rec_countWAIT=0; + $cbc=0; + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and campaign_id = '$channel_group' and call_time < \"$SQLdateBEGIN\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($rec_countWAIT < 1) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$new_lead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid', call_server_ip='$VARserver_ip' where status IN('CLOSER','READY') and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and closer_campaigns LIKE \"% $channel_group %\" and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|$channel_group|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $cbc=0; + $stmtA = "SELECT conf_exten,user,extension,server_ip FROM vicidial_live_agents where status = 'QUEUE' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $VDADserver_ip = "$aryA[3]"; + + $cbc++; + } + $sthA->finish(); + + $stmtA = "UPDATE vicidial_auto_calls set status='CLOSER', stage='CLOSER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL XFER : |$affected_rows|$callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_xfer_log set closer='$VDADuser' where lead_id = '$new_lead_id' order by call_date desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDXL XFER vicidial_xfer_log update: |$affected_rows|$new_lead_id|$VDADuser\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set user='$VDADuser' where lead_id='$new_lead_id' order by call_date desc limit 1;"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- closer log : |$affected_rows|$new_lead_id\n|$stmtA|"; &agi_output;} + + ### format the remote server dialstring to get the call to the overflow agent meetme room + $S='*'; + if( ($VDADserver_ip =~ m/(\S+)\.(\S+)\.(\S+)\.(\S+)/) && ($VDADserver_ip !~ /$VARserver_ip/) ) + { + $a = leading_zero($1); + $b = leading_zero($2); + $c = leading_zero($3); + $d = leading_zero($4); + $VDADremDIALstr = "$a$S$b$S$c$S$d$S"; + } + $VDADremDIALstr .= "$VDADconf_exten"; + + if ($AGILOG) {$agi_string = "exiting VDAD app, transferring call to $VDADremDIALstr"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADremDIALstr\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $stmtA = "UPDATE vicidial_closer_log set queue_seconds='$drop_timer' where lead_id = '$new_lead_id' and call_date='$SQLdate';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNN No available agent found"; &agi_output;} + } + } + else + { + if ($AGILOG) {$agi_string = "WWWWW VDAD XFER WAIT: |$rec_countWAIT|$channel_group|$channel|$callerid|$uniqueid|"; &agi_output;} + } + + + +if ($hold_message_counter > 30) + { + $AGI->stream_file('generic_hold'); + $hold_message_counter = 0; + } + else {$hold_message_counter++;} +if ($hold_tone_counter > 3) + { + $AGI->stream_file('hold_tone'); + $hold_tone_counter = 0; + } + else {$hold_tone_counter++;} + +if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } +else + { + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $drop_timer++; + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); +#if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + +} + + +if ($drop_timer >= $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $VDADvoicemail_ext = ''; + +$DROPexten = ''; +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + + if ($drop_message =~ /Y/) + { + $DROPexten = "$drop_exten"; + } + else + { + $cbc=0; + $stmtA = "SELECT voicemail_ext FROM vicidial_inbound_groups where group_id = '$channel_group' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADvoicemail_ext = "$aryA[0]"; + $VDADvoicemail_ext =~ s/\D//gi; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + $cbc++; + } + $sthA->finish(); + } + } + + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' and server_ip='$VARserver_ip' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vac record deleted: |$affected_rows| $VDADcampaign|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds',queue_seconds='$drop_seconds' where lead_id = '$new_lead_id' order by start_epoch desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='XDROP' where lead_id = '$new_lead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} +} + +$dbhA->disconnect(); + +exit; + +sub enter_pin_number +{ +# please enter the pin number followed by the pound key +# please enter your 4 digit pin number + +$digit=''; +undef $digit; +$interrupt_digit=''; +undef $interrupt_digit; + +$interrupt_digit = $AGI->stream_file('four_digit_id','123456789'); + + if ($AGILOG) {$agi_string = "interrupt_digit |$interrupt_digit|"; &agi_output;} + +$digits_being_entered=1; +$totalDTMF=''; +if ($interrupt_digit > 1) + { + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + + $totalDTMF=$interrupt_digit; + } + +$digit_loop_counter=0; +#while ( ($digits_being_entered) && ($digit_loop_counter < 20) ) +# { +# $digit = chr($AGI->wait_for_digit('30000')); # wait 30 seconds for input or until the pound key is pressed +# if ($digit =~ /\d/) +# { +# $totalDTMF = "$totalDTMF$digit"; +# print STDERR "digit |$digit| TotalDTMF |$totalDTMF|\n"; +# $AGI->say_digits("$digit"); +# undef $digit; +# } +# else +# { +# $digits_being_entered=0; +# } +# +# $digit_loop_counter++; +# } + +while ( ($digit_loop_counter < 4) ) + { + $digit = chr($AGI->wait_for_digit('10000')); # wait 10 seconds for input or until the pound key is pressed + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digit_loop_counter=4; + } + + $digit_loop_counter++; + } + +$totalDTMF =~ s/\D//gi; +$pin = $totalDTMF; +if ($totalDTMF) {if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;}} +} + + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + +sub leading_zero($) { + $_ = $_[0]; + s/^(\d)$/0$1/; + s/^(\d\d)$/0$1/; + return $_; +} # End of the leading_zero() routine. + + + +### you're call is very important to us, please stay on the line and you will be transferred to the next available agent + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LB_closer_inboundCID.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LB_closer_inboundCID.agi new file mode 100644 index 00000000..98de4dbb --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LB_closer_inboundCID.agi @@ -0,0 +1,691 @@ +#!/usr/bin/perl +# +# agi-VDAD_LB_closer_inboundCID.agi version 0.5 *DBI-version* +# +# runs when a call comes in from an inbound call. This script will +# send the calls out to the closers that are logged in. +# ## THIS IS THE LOAD-BALANCED VERSION OF THE SCRIPT ## +# +# if there are no available agents on any server, it will check every second until an agent becomes available, +# if at the end of 360 seconds it has not found an agent it will hangup the call and mark it as dropped +# +# This version looks for the callerID from the telco +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ; 1. the full name of the IN GROUP to be used in vicidial for the inbound call +# ; 2. the phone number that was called, for the log entry +# ; 3. the callerID or lead_id of the person that called(usually overridden) +# ; 4. the park extension audio file name if used +# ; 5. the status of the call initially(usually not used) +# ; 6. the list_id to insert the new lead under if it is new (and callerID available) +# ; 7. the phone dialing code to insert with the new lead if new (and callerID available) +# +# ;inbound VICIDIAL calls: +#exten => 1234,1,Answer ; Answer the line +#exten => 1234,2,AGI(agi-VDAD_LB_closer_inboundCID.agi,CL_GALLERIA-----7275555134-----Closer-----park----------999-----1) +#exten => 1234,3,Hangup +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# +# changes: +# 60504-1122 - Added drop second/message/exten options from inbound_group +# 60809-1056 - Changed to DBI by Marin Blu +# - changed to use /etc/astguiclient.conf for configs +# 60821-1021 - added output options check from database +# - changed look for agent every 0.5 second for first 4 sec on hold +# 60905-1047 - changed look for agent every 0.25 second for first 4 sec on hold +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# + +$script = 'agi-VDAD_LB_closer_inboundCID.agi'; + +$DROP_TIME = 360; ### number of seconds to wait until you drop a waiting call + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + ### list of command-line array arguments: + @ARGV_vars = split(/-----/, $ARGV[0]); + + $channel_group = $ARGV_vars[0]; + $inbound_number = $ARGV_vars[1]; + $parked_by = $ARGV_vars[2]; + $park_extension = $ARGV_vars[3]; + $status = $ARGV_vars[4]; + $list_id = $ARGV_vars[5]; + $phone_code = $ARGV_vars[6]; + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + + if (length($callerid)>0) {$phone_number = $callerid;} + else {$phone_number = '';} + if (length($calleridname)>0) {$VLcomments = $calleridname;} + else {$VLcomments = '';} + +# if ($channel =~ /^SIP/) {$channel =~ s/-.*//gi;} +# if ($channel =~ /^Zap\//) {$channel =~ s/-\d$//gi;} + if (length($callerid)<10) {$callerid = $parked_by;} + if (length($pin)>0) {$callerid = $pin;} + + ### allow for external callerid to be collected +# if ($extension =~ /\*\d\d\d\d\d\d\d\d\d\d\*/) +# { +# @EXT_vars = split(/\*/, $extension); +# +# $referring_extension = $EXT_vars[0]; # initial extension sent +# $channel_group = $EXT_vars[1]; # name of the parked group +# $inbound_number = $EXT_vars[2]; # extension to send call to after parsing +# $parked_by = $EXT_vars[3]; # leadID +# $park_extension = $EXT_vars[4]; # filename of the on-hold music file +# $comment_d = $EXT_vars[5]; # N/A +# $comment_e = $EXT_vars[6]; # N/A +# +# $PADlead_id = sprintf("%09s", $parked_by); while (length($PADlead_id) > 9) {chop($PADlead_id);} +# # JmmddhhmmssLLLLLLLLL +# $JqueryCID = "J$CIDdate$PADlead_id"; +# $callerid = $JqueryCID; +# ### set the callerid to the filename of the audio for on-hold +# print "SET CALLERID $JqueryCID\n"; +# checkresult($result); +# print STDERR "callerID changed: $JqueryCID\n"; +# } +} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + +$AGI->stream_file('beep'); + +if (length($pin) < 1) {$pin='VDAD';} + +$fronter = $pin; + +if ($AGILOG) {$agi_string = "+++++ INBOUND CALL VDCL STARTED : |$channel_group|$callerid-$pin|$now_date"; &agi_output;} + +$VDADphone=''; +$VDADphone_code=''; + +if ($channel =~ /Local/i) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +exit; +} + +### Grab Server values from the database +$cbc=0; +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + $cbc++; + } +$sthA->finish(); + +### insert a record into the vicidial_list table +$stmtA = "INSERT INTO vicidial_list (entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,called_since_last_reset,phone_code,phone_number,security_phrase,called_count,gmt_offset_now,comments) values('$SQLdate','$tsSQLdate','INBND','$fronter','$inbound_number','VDCL','$list_id','Y','$phone_code','$phone_number','$channel_group','1','-5.00','$VLcomments');"; +$affected_rows = $dbhA->do($stmtA); +$cbc=0; +$stmtA = "select LAST_INSERT_ID() LIMIT 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $insert_lead_id = "$aryA[0]"; + $cbc++; + } +$sthA->finish(); + +$new_lead_id = $insert_lead_id; +if ($AGILOG) {$agi_string = "|$stmtA|$new_lead_id|"; &agi_output;} + +$PADlead_id = sprintf("%09s", $new_lead_id); while (length($PADlead_id) > 9) {chop($PADlead_id);} +# YmmddhhmmssLLLLLLLLL + $YqueryCID = "Y$CIDdate$PADlead_id"; + $callerid = $YqueryCID; +### set the callerid +print "SET CALLERID $YqueryCID\n"; +checkresult($result); +if ($AGILOG) {$agi_string = "callerID changed: $YqueryCID"; &agi_output;} + +### Grab inbound_group values from the database +$cbc=0; +$stmtA = "SELECT drop_call_seconds,drop_message,drop_exten FROM vicidial_inbound_groups where group_id = '$channel_group';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $DBdrop_call_seconds = "$aryA[0]"; + $DBdrop_message = "$aryA[1]"; + $DBdrop_exten = "$aryA[2]"; + if ($DBdrop_call_seconds) {$DROP_TIME = $DBdrop_call_seconds;} + if ($DBdrop_message) {$drop_message = $DBdrop_message;} + if ($DBdrop_exten) {$drop_exten = $DBdrop_exten;} + $cbc++; + } +$sthA->finish(); + +### insert a LIVE record to the vicidial_auto_calls table +$stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,uniqueid,callerid,channel,phone_code,phone_number,call_time,call_type,stage) values('$VARserver_ip','$channel_group','LIVE','$new_lead_id','$uniqueid','$callerid','$channel','$phone_code','$phone_number','$SQLdate','IN','LIVE-0')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); + +$stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$uniqueid','$new_lead_id','$channel_group','$SQLdate','$now_date_epoch','XFER','$phone_code','$phone_number','$fronter','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD : |$new_lead_id|$fronter|insert to vicidial_log: $uniqueid"; &agi_output;} + +$stmtA = "INSERT INTO vicidial_closer_log (lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$new_lead_id','$channel_group','$SQLdate','$now_date_epoch','QUEUE','$phone_code','$phone_number','VDCL','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDCL : |$new_lead_id|insert to vicidial_closer_log"; &agi_output;} + +$stmtA = "INSERT INTO vicidial_xfer_log (lead_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$new_lead_id','$channel_group','$SQLdate','$phone_code','$phone_number','$fronter','VDXL')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDXL : |$new_lead_id|insert to vicidial_xfer_log"; &agi_output;} + +$VDADlead_id = $new_lead_id; + +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=25; +$hold_tone_counter=0; + +while ($drop_timer <= $DROP_TIME) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < 360) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + 360); + } + } + $cbc=0; + $stmtA = "SELECT next_agent_call FROM vicidial_inbound_groups where group_id='$channel_group';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $CAMP_callorder = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + $agent_call_order='order by last_call_finish'; + if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} + if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} + if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} + if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} + + $rec_countWAIT=0; + $cbc=0; + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and campaign_id = '$channel_group' and call_time < \"$SQLdateBEGIN\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($rec_countWAIT < 1) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$new_lead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid', call_server_ip='$VARserver_ip' where status IN('CLOSER','READY') and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and closer_campaigns LIKE \"% $channel_group %\" and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|$channel_group|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $cbc=0; + $stmtA = "SELECT conf_exten,user,extension,server_ip FROM vicidial_live_agents where status = 'QUEUE' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $VDADserver_ip = "$aryA[3]"; + + $cbc++; + } + $sthA->finish(); + + $stmtA = "UPDATE vicidial_auto_calls set status='CLOSER', stage='CLOSER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL XFER : |$affected_rows|$callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_xfer_log set closer='$VDADuser' where lead_id = '$new_lead_id' order by call_date desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDXL XFER vicidial_xfer_log update: |$affected_rows|$new_lead_id|$VDADuser\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set user='$VDADuser' where lead_id='$new_lead_id' order by call_date desc limit 1;"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- closer log : |$affected_rows|$new_lead_id\n|$stmtA|"; &agi_output;} + + ### format the remote server dialstring to get the call to the overflow agent meetme room + $S='*'; + if( ($VDADserver_ip =~ m/(\S+)\.(\S+)\.(\S+)\.(\S+)/) && ($VDADserver_ip !~ /$VARserver_ip/) ) + { + $a = leading_zero($1); + $b = leading_zero($2); + $c = leading_zero($3); + $d = leading_zero($4); + $VDADremDIALstr = "$a$S$b$S$c$S$d$S"; + } + $VDADremDIALstr .= "$VDADconf_exten"; + + if ($AGILOG) {$agi_string = "exiting VDAD app, transferring call to $VDADremDIALstr"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADremDIALstr\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $stmtA = "UPDATE vicidial_closer_log set queue_seconds='$drop_timer' where lead_id = '$new_lead_id' and call_date='$SQLdate';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNN No available agent found"; &agi_output;} + } + } + else + { + if ($AGILOG) {$agi_string = "WWWWW VDAD XFER WAIT: |$rec_countWAIT|$channel_group|$channel|$callerid|$uniqueid|"; &agi_output;} + } + + + +if ($hold_message_counter > 30) + { + $AGI->stream_file('generic_hold'); + $hold_message_counter = 0; + } + else {$hold_message_counter++;} +if ($hold_tone_counter > 3) + { + $AGI->stream_file('hold_tone'); + $hold_tone_counter = 0; + } + else {$hold_tone_counter++;} + +if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } +else + { + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $drop_timer++; + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); +#if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + +} + + +if ($drop_timer >= $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $VDADvoicemail_ext = ''; + +$DROPexten = ''; +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + + if ($drop_message =~ /Y/) + { + $DROPexten = "$drop_exten"; + } + else + { + $cbc=0; + $stmtA = "SELECT voicemail_ext FROM vicidial_inbound_groups where group_id = '$channel_group' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADvoicemail_ext = "$aryA[0]"; + $VDADvoicemail_ext =~ s/\D//gi; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + $cbc++; + } + $sthA->finish(); + } + } + + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' and server_ip='$VARserver_ip' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vac record deleted: |$affected_rows| $VDADcampaign|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds',queue_seconds='$drop_seconds' where lead_id = '$new_lead_id' order by start_epoch desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='XDROP' where lead_id = '$new_lead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} +} + +$dbhA->disconnect(); + +exit; + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + +sub leading_zero($) { + $_ = $_[0]; + s/^(\d)$/0$1/; + s/^(\d\d)$/0$1/; + return $_; +} # End of the leading_zero() routine. + + + +### you're call is very important to us, please stay on the line and you will be transferred to the next available agent + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LB_transfer.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LB_transfer.agi new file mode 100644 index 00000000..d0987ea4 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LB_transfer.agi @@ -0,0 +1,804 @@ +#!/usr/bin/perl +# +# agi-VDAD_LB_transfer.agi version 2.0.4 *DBI-version* +# Load Balanced - when a call comes in on this server the script looks for an agent +# on any server on the network on the same campaign to send call to. +# +# runs when a call comes in from the VICIDIAL_auto_dialer. This script will +# send the calls out to the reps that are logged in. +# +# if there are no available agents, then it will check every second until an agent becomes available, +# if at the end of 10 seconds(default) it has not found an agent it will hangup the call and mark it as dropped. +# +# this version "LB" Load Balance will seek out agents on the local server and the +# same campaign on other servers and transfer the calls to them over IAX trunks. +# the IAX user trunks are named based on the IP address of the home server: +# The server 10.10.10.15 would have a username of 10x10x10x15 in the iax.conf on the other servers +# Also, the home server needs to have the trunks registered, for speed and channel consistency +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;VICIDIAL_auto_dialer transfer script: +# exten => 8365,1,AGI(call_log.agi,${EXTEN}) +# exten => 8365,2,AGI(agi-VDAD_LB_transfer.agi,${EXTEN}) +# +# +# Copyright (C) 2007 Matt Florell LICENSE: GPLv2 +# +# CHANGELOG: +# 51118-2102 - First build based on agi-VDADtransfer.agi script +# 60119-1408 - Fixed calleridname issue with 1.2 tree for custom CID +# 60503-1043 - Added safe harbor and drop second options from campaign +# 60731-1441 - Changed to use DBI-DBD::mysql +# - Changed to use /etc/astguiclient.conf for configs +# 60816-1034 - Added output options check from database +# - Changed look for agent every 0.5 second for first 4 sec on hold +# 60905-1047 - Changed look for agent every 0.25 second for first 4 sec on hold +# 70215-1052 - Added QueueMetrics optional logging +# 70223-1101 - Added QueueMetrics ENTERQUEUE prepend option +# 70305-1251 - Fixed problems where the same call will run this script twice +# 71116-1045 - added fewest_calls and campaign_weight agent call routing options +# + +$script = 'agi-VDAD_LB_transfer.agi'; + +$DROP_TIME = 10; # default number of seconds to wait until you drop a waiting call + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks,agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + $DBagi_output = "$aryA[6]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + +$start_time=$now_date; +$CIDdate = "$mon$mday$hour$min$sec"; +$tsSQLdate = "$year$mon$mday$hour$min$sec"; +$SQLdate = "$year-$mon-$mday $hour:$min:$sec"; +$SQLdateBEGIN = $SQLdate; + +$secX = time(); +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() +{ + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_priority\:\s+(.*)$/) {$priority = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} +} + +if ( (length($callerid)>20) && ($callerid =~ /\"\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S/) ) + { + $callerid =~ s/^\"//gi; + $callerid =~ s/\".*$//gi; + ### set the callerid to the ACQS value(calleridname) + print "SET CALLERID $callerid\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $callerid"; &agi_output;} + } +if ( ( +(length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) +) or ( (length($calleridname)>17) && ($calleridname =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) ) ) + { + $callerid = $calleridname; + ### set the callerid to the ACQS value(calleridname) + print "SET CALLERID $callerid\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $callerid"; &agi_output;} + } + + +if ($AGILOG) {$agi_string = "AGI Environment Dump:"; &agi_output;} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|$calleridname|$priority|"; &agi_output;} + +$VDADcampaign=''; +$VDADphone=''; +$VDADphone_code=''; + +$callerid =~ s/\"//gi; +$CIDlead_id = $callerid; +$CIDlead_id = substr($CIDlead_id, 11, 9); +$CIDlead_id = ($CIDlead_id + 0); + +if ($AGILOG) {$agi_string = "+++++ VDAD START : |$CIDlead_id|$now_date|$AST_ver|$priority|"; &agi_output;} + +if ( ($channel =~ /Local/i) && ($AST_ver !~ /^1\.0\.8|^1\.0\.9/) ) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +if ($priority > 2) {sleep(1);} +exit; +} + +$stmtA = "SELECT count(*) FROM vicidial_live_agents where callerid='$callerid';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $Pseudo_duplicate_count = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); + +if ($Pseudo_duplicate_count > 0) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START PSEUDO DUPLICATE: EXITING- $priority"; &agi_output;} +exit; +} + +$stmtA = "SELECT count(*) FROM vicidial_auto_calls where callerid='$callerid' and status IN('LIVE','XFER');"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dialplan_duplicate_count = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); + +if ($dialplan_duplicate_count > 0) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START DIALPLAN DUPLICATE: EXITING- $priority"; &agi_output;} +exit; +} + + + +### Grab call parameters from vicidial_auto_calls table +$stmtA = "UPDATE vicidial_auto_calls set uniqueid='$unique_id', channel='$channel',status='LIVE',stage='LIVE-0' where callerid='$callerid' order by call_time desc limit 1;"; +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} +if ($affected_rows > 0) + { + $stmtA = "SELECT campaign_id,phone_number,phone_code,lead_id,call_time FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADcampaign = "$aryA[0]"; + $VDADphone = "$aryA[1]"; + $VDADphone_code = "$aryA[2]"; + $VDADlead_id = "$aryA[3]"; + $VDADcall_time = "$aryA[4]"; + $rec_count++; + } + $sthA->finish(); + + ### Grab campaign values from the database + $stmtA = "SELECT drop_call_seconds,safe_harbor_message,safe_harbor_exten,concurrent_transfers FROM vicidial_campaigns where campaign_id = '$VDADcampaign';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBdrop_call_seconds = "$aryA[0]"; + $DBsafe_harbor_message = "$aryA[1]"; + $DBsafe_harbor_exten = "$aryA[2]"; + $DBconcurrent_transfers = "$aryA[3]"; + if ($DBdrop_call_seconds) {$DROP_TIME = $DBdrop_call_seconds;} + if ($DBsafe_harbor_message) {$safe_harbor_message = $DBsafe_harbor_message;} + if ($DBsafe_harbor_exten) {$safe_harbor_exten = $DBsafe_harbor_exten;} + $rec_count++; + } + $sthA->finish(); + + $stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$uniqueid','$CIDlead_id','$VDADcampaign','$SQLdate','$now_date_epoch','QUEUE','$VDADphone_code','$VDADphone','VDAD','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + + if ($AGILOG) {$agi_string = "-- VDAD : |$VDADlead_id|$CIDlead_id|insert to vicidial_log: $uniqueid"; &agi_output;} + + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmtA = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_eq_prepend FROM system_settings;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $enable_queuemetrics_logging = "$aryA[0]"; + $queuemetrics_server_ip = "$aryA[1]"; + $queuemetrics_dbname = "$aryA[2]"; + $queuemetrics_login= "$aryA[3]"; + $queuemetrics_pass = "$aryA[4]"; + $queuemetrics_log_id = "$aryA[5]"; + $queuemetrics_eq_prepend = "$aryA[6]"; + $rec_count++; + } + $sthA->finish(); + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $stmtA = "SELECT phone_number FROM vicidial_auto_calls where lead_id='$CIDlead_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $phone_number = "$aryA[0]"; + $data2 = "$phone_number"; + $rec_count++; + } + $sthA->finish(); + + if ( (length($queuemetrics_eq_prepend) > 0) && ($queuemetrics_eq_prepend !~ /NONE/) ) + { + $stmtA = "SELECT $queuemetrics_eq_prepend FROM vicidial_list where lead_id='$CIDlead_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + $DASH='-'; + @aryA = $sthA->fetchrow_array; + $QMprepend = "$aryA[0]"; + $rec_count++; + $data2 = "$QMprepend$DASH$phone_number"; + } + $sthA->finish(); + } + + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$callerid',queue='$VDADcampaign',agent='NONE',verb='ENTERQUEUE',data2='$data2',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + } + +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=25; +$hold_tone_counter=0; + +while ($drop_timer <= $DROP_TIME) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < $DROP_TIME) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + $DROP_TIME); + } + } +$stmtA = "SELECT next_agent_call FROM vicidial_campaigns where campaign_id='$VDADcampaign';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $CAMP_callorder = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); + +$agent_call_order=''; +if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} +if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} +if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} +if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} +if ($CAMP_callorder =~ /campaign_rank/i) {$agent_call_order = 'order by campaign_weight desc,last_call_finish';} +if ($CAMP_callorder =~ /fewest_calls/i) {$agent_call_order = 'order by calls_today,last_call_finish';} + + $rec_countWAIT=0; +$stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and campaign_id = '$VDADcampaign' and call_time < \"$VDADcall_time\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); +if ($DBconcurrent_transfers =~ /AUTO/) + { + $active_agents=1; + $stmtA = "SELECT count(*) FROM vicidial_live_agents where campaign_id = '$VDADcampaign' and last_update_time > '$BDtsSQLdate';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $active_agents = "$aryA[0]"; + $rec_count++; + } + + $DBconcurrent_transfers = ($active_agents / 10); + $DBconcurrent_transfers = sprintf("%.0f", $DBconcurrent_transfers); + $DBconcurrent_transfers++; + if ($AGILOG) {$agi_string = "|CONCURRENT TRANSFERS AUTO SETTING: $DBconcurrent_transfers ($active_agents)|"; &agi_output;} + } +$sthA->finish(); +if ($rec_countWAIT < $DBconcurrent_transfers) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$CIDlead_id',uniqueid='$unique_id', channel='$channel', call_server_ip='$VARserver_ip', callerid='$callerid' where status = 'READY' and campaign_id='$VDADcampaign' and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|update of vla table: $VDADcampaign|$VARserver_ip\n|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $r=0; + $VDADuser=''; + while ( (length($VDADuser)<1) && ($r<3) ) + { + $stmtA = "SELECT conf_exten,user,extension,server_ip FROM vicidial_live_agents where status IN('QUEUE','INCALL') and campaign_id='$VDADcampaign' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $VDADserver_ip = "$aryA[3]"; + $rec_count++; + } + $sthA->finish(); + $r++; + if ($r > 1) + { + if ($AGILOG) + {$agi_string = "EEEEEEEEEE vla UPDATE DELAY!!! |$callerid|$r|"; &agi_output;} + + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } + if ($r > 2) + { + $stmtA = "SELECT conf_exten,user,extension,server_ip FROM vicidial_live_agents where callerid='$callerid' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $VDADserver_ip = "$aryA[3]"; + $rec_count++; + } + $sthA->finish(); + + if ($AGILOG) {$agi_string = "FFFFFFFFFF vla OR SELECT |$callerid|$VDADuser|"; &agi_output;} + } + } + + $stmtA = "UPDATE vicidial_auto_calls set status='XFER', stage='XFER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD XFER : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$callerid',queue='$VDADcampaign',agent='Agent/$VDADuser',verb='CONNECT',data1='$drop_timer',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + + ### format the remote server dialstring to get the call to the overflow agent meetme room + $S='*'; + $VDADremDIALstr=''; + if( ($VDADserver_ip =~ m/(\S+)\.(\S+)\.(\S+)\.(\S+)/) && ($VDADserver_ip !~ /$VARserver_ip/) ) + { + $a = leading_zero($1); + $b = leading_zero($2); + $c = leading_zero($3); + $d = leading_zero($4); + $VDADremDIALstr = "$a$S$b$S$c$S$d$S"; + } + $VDADremDIALstr .= "$VDADconf_exten"; + + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $VDADremDIALstr"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADremDIALstr\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXXXXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNNNNNNN No agent record found!!!"; &agi_output;} + } + } +else + { + if ($AGILOG) {$agi_string = "WWWWWWWW VDAD XFER REMOTE WAIT: |$rec_countWAIT|$VDADcampaign|$channel|$callerid|$uniqueid|"; &agi_output;} + } + + +if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } +else + { + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $drop_timer++; + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); +#if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + +} + + +if ($drop_timer >= $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $VDADvoicemail_ext = ''; + +$DROPexten = ''; +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$callerid',queue='$VDADcampaign',agent='NONE',verb='EXITWITHTIMEOUT',data1='1',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + + if ($safe_harbor_message =~ /Y/) + { + $DROPexten = "$safe_harbor_exten"; + } + else + { + $stmtA = "SELECT voicemail_ext FROM vicidial_campaigns where campaign_id = '$VDADcampaign' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADvoicemail_ext = "$aryA[0]"; + $VDADvoicemail_ext =~ s/\D//gi; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + $rec_count++; + } + $sthA->finish(); + } + } + + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vac record deleted: |$affected_rows|$VDADcampaign|"; &agi_output;} + + $stmtA = "UPDATE vicidial_log set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds' where uniqueid = '$uniqueid';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_log update: |$affected_rows|$uniqueid"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='DROP' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$CIDlead_id"; &agi_output;} +} + + + + $dbhA->disconnect(); + + + +exit; + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + +sub leading_zero($) { + $_ = $_[0]; + s/^(\d)$/0$1/; + s/^(\d\d)$/0$1/; + return $_; +} # End of the leading_zero() routine. + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LO_closer.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LO_closer.agi new file mode 100644 index 00000000..863b5519 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LO_closer.agi @@ -0,0 +1,723 @@ +#!/usr/bin/perl +# +# agi-VDAD_LO_closer.agi version 0.4 *DBI-version* +# Overflow Balanced - when a call comes in on this server the script looks for an agent +# on this server to send call to. If none available it looks for the next available +# agent on any other server on the network on the same campaign to send call to. +# +# runs when a call comes in from a VICIDIAL fronter. This script will +# send the calls out to the closers that are logged in. +# +# if there are no available agents, then it will check every second until an agent becomes available, +# if at the end of 360 seconds(default) it has not found an agent it will send the call to the specified Vmail +# box or hangup the call and mark it as dropped +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;inbound VICIDIAL calls: +#exten => _90009.,1,Answer ; Answer the line +#exten => _90009.,2,AGI(agi-VDADcloser.agi,${EXTEN}-----START) +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# +# changes: +# 60504-1150 - Added drop second/message/exten options from inbound_group +# 60809-1056 - Changed to DBI by Marin Blu +# - changed to use /etc/astguiclient.conf for configs +# 60821-1021 - added output options check from database +# - changed look for agent every 0.5 second for first 4 sec on hold +# 60905-1047 - changed look for agent every 0.25 second for first 4 sec on hold +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# + +$script = 'agi-VDAD_LO_closer.agi'; + +$DROP_TIME = 360; ### number of seconds to wait until you drop a waiting call + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + + ### allow for internal PRI transfer data string "90009*CL_uk3survy_*8301*10000123*universal***" + if ($extension =~ /^900\d\d\*/) + { + @EXT_vars = split(/\*/, $extension); + + $referring_extension = $EXT_vars[0]; # initial extension sent + $channel_group = $EXT_vars[1]; # name of the parked group + $inbound_number = $EXT_vars[2]; # extension to send call to after parsing + $parked_by = $EXT_vars[3]; # leadID + $park_extension = $EXT_vars[4]; # filename of the on-hold music file + $comment_d = $EXT_vars[5]; # N/A + $comment_e = $EXT_vars[6]; # N/A + + $PADlead_id = sprintf("%09s", $parked_by); while (length($PADlead_id) > 9) {chop($PADlead_id);} + # JmmddhhmmssLLLLLLLLL + $JqueryCID = "J$CIDdate$PADlead_id"; + $callerid = $JqueryCID; + ### set the callerid to the filename of the audio for on-hold + print "SET CALLERID $JqueryCID\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $JqueryCID"; &agi_output;} + } +} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + +$VDADcampaign=''; +$VDADphone=''; +$VDADphone_code=''; + +$CIDlead_id = $callerid; +$CIDlead_id = substr($CIDlead_id, 11, 9); +$CIDlead_id = ($CIDlead_id + 0); + +if ($AGILOG) {$agi_string = "+++++ VDAD START : |$CIDlead_id|$now_date|"; &agi_output;} + +if ($channel =~ /Local/i) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +exit; +} + +### Grab Server values from the database +$cbc=0; +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + $cbc++; + } +$sthA->finish(); + +### Grab call parameters from vicidial_list table +$cbc=0; +$stmtA = "SELECT phone_number,phone_code,user FROM vicidial_list where lead_id='$CIDlead_id' limit 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADcampaign = "$channel_group"; + $VDADphone = "$aryA[0]"; + $VDADphone_code = "$aryA[1]"; + $VDADlead_id = "$CIDlead_id"; + $VDADfronter = "$aryA[2]"; + $cbc++; + } +$sthA->finish(); + + +### Grab inbound_group values from the database +$cbc=0; +$stmtA = "SELECT drop_call_seconds,drop_message,drop_exten FROM vicidial_inbound_groups where group_id = '$channel_group';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $DBdrop_call_seconds = "$aryA[0]"; + $DBdrop_message = "$aryA[1]"; + $DBdrop_exten = "$aryA[2]"; + if ($DBdrop_call_seconds) {$DROP_TIME = $DBdrop_call_seconds;} + if ($DBdrop_message) {$drop_message = $DBdrop_message;} + if ($DBdrop_exten) {$drop_exten = $DBdrop_exten;} + $cbc++; + } +$sthA->finish(); + + +### insert a LIVE record to the vicidial_auto_calls table +$stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,uniqueid,callerid,channel,phone_code,phone_number,call_time,call_type,stage) values('$VARserver_ip','$channel_group','LIVE','$CIDlead_id','$uniqueid','$callerid','$channel','$VDADphone_code','$VDADphone','$SQLdate','IN','LIVE-0')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); + +$stmtA = "INSERT INTO vicidial_closer_log (lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$CIDlead_id','$VDADcampaign','$SQLdate','$now_date_epoch','QUEUE','$VDADphone_code','$VDADphone','VDCL','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDCL : |$VDADlead_id|$CIDlead_id|insert to vicidial_closer_log"; &agi_output;} + +$stmtA = "INSERT INTO vicidial_xfer_log (lead_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$CIDlead_id','$VDADcampaign','$SQLdate','$VDADphone_code','$VDADphone','$VDADfronter','VDXL')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDXL : |$VDADlead_id|$CIDlead_id|insert to vicidial_xfer_log"; &agi_output;} + + +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=25; +$hold_tone_counter=0; + +while ($drop_timer <= $DROP_TIME) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < 360) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + 360); + } + } + $cbc=0; + $stmtA = "SELECT next_agent_call FROM vicidial_inbound_groups where group_id='$channel_group';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $CAMP_callorder = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + $agent_call_order='order by last_call_finish'; + if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} + if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} + if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} + if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} + + $rec_countWAIT=0; + $cbc=0; + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and campaign_id = '$channel_group' and call_time < \"$SQLdateBEGIN\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($rec_countWAIT < 1) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$CIDlead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid' where status IN('CLOSER','READY') and server_ip='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and closer_campaigns LIKE \"% $VDADcampaign %\" and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|$VDADcampaign|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $cbc=0; + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where status = 'QUEUE' and server_ip='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $cbc++; + } + $sthA->finish(); + + $stmtA = "UPDATE vicidial_auto_calls set status='CLOSER', stage='CLOSER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL XFER : |$affected_rows|$callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_xfer_log set closer='$VDADuser' where lead_id = '$CIDlead_id' order by call_date desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDXL XFER vicidial_xfer_log update: |$affected_rows|$CIDlead_id|$VDADuser\n|$stmtA|"; &agi_output;} + + if ($AGILOG) {$agi_string = "exiting VDAD app, transferring call to $VDADconf_exten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADconf_exten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $stmtA = "UPDATE vicidial_closer_log set queue_seconds='$drop_timer' where lead_id = '$CIDlead_id' and call_date='$SQLdate';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$CIDlead_id|\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNN No available agent found"; &agi_output;} + } + } + else + { + if ($AGILOG) {$agi_string = "WWWWW VDAD XFER WAIT: |$rec_countWAIT|$channel_group|$channel|$callerid|$uniqueid|"; &agi_output;} + } + + +################################################################################################### +### noone found locally available, now check for someone on another server to take the call + $cbc=0; + $rec_countWAITrem=0; + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip!='$VARserver_ip' and campaign_id = '$channel_group' and call_time < \"$SQLdateBEGIN\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAITrem = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($rec_countWAITrem < 1) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$CIDlead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid', call_server_ip='$VARserver_ip' where status IN('CLOSER','READY') and server_ip!='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and closer_campaigns LIKE \"% $VDADcampaign %\" and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$DROP_TIME|$drop_timer|$affected_rows|update of vla table: $channel_group|\n|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $cbc=0; + $stmtA = "SELECT conf_exten,user,extension,server_ip FROM vicidial_live_agents where status = 'QUEUE' and server_ip!='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $VDADserver_ip = "$aryA[3]"; + $cbc++; + } + $sthA->finish(); + + $stmtA = "UPDATE vicidial_auto_calls set status='CLOSER', stage='CLOSER-$drop_timer' where callerid='$callerid';"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL XFER REMOTE: |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_xfer_log set closer='$VDADuser' where lead_id = '$CIDlead_id' order by call_date desc limit 1;"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDXL vicidial_xfer_log update: |$affected_rows|$new_lead_id|$VDADuser\n|$stmtA|"; &agi_output;} + + ### format the remote server dialstring to get the call to the overflow agent meetme room + $S='*'; + if( $VDADserver_ip =~ m/(\S+)\.(\S+)\.(\S+)\.(\S+)/ ) + { + $a = leading_zero($1); + $b = leading_zero($2); + $c = leading_zero($3); + $d = leading_zero($4); + $VDADremDIALstr = "$a$S$b$S$c$S$d$S"; + } + $VDADremDIALstr .= "$VDADconf_exten"; + + if ($AGILOG) {$agi_string = "exiting VDAD app, transferring call to $VDADremDIALstr"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADremDIALstr\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $stmtA = "UPDATE vicidial_closer_log set queue_seconds='$drop_timer' where lead_id = '$CIDlead_id' and call_date='$SQLdate';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$CIDlead_id|\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNN No available remote agent found"; &agi_output;} + } + } + else + { + if ($AGILOG) {$agi_string = "WWWWW VDAD XFER REMOTE WAIT: |$rec_countWAITrem|$channel_group|$channel|$callerid|$uniqueid|"; &agi_output;} + } + +if ($hold_message_counter > 30) + { + $AGI->stream_file('generic_hold'); + $hold_message_counter = 0; + } + else {$hold_message_counter++;} +if ($hold_tone_counter > 3) + { + $AGI->stream_file('hold_tone'); + $hold_tone_counter = 0; + } + else {$hold_tone_counter++;} + +if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } +else + { + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $drop_timer++; + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); +#if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + +} + + +if ($drop_timer >= $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $VDADvoicemail_ext = ''; + +$DROPexten = ''; +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + + if ($drop_message =~ /Y/) + { + $DROPexten = "$drop_exten"; + } + else + { + $cbc=0; + $stmtA = "SELECT voicemail_ext FROM vicidial_inbound_groups where group_id = '$channel_group' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADvoicemail_ext = "$aryA[0]"; + $VDADvoicemail_ext =~ s/\D//gi; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + $cbc++; + } + $sthA->finish(); + } + } + + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' and server_ip='$VARserver_ip' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vac record deleted: |$affected_rows| $VDADcampaign|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds',queue_seconds='$drop_seconds' where lead_id = '$CIDlead_id' order by start_epoch desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$CIDlead_id|\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='XDROP' where lead_id = '$CIDlead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vl update: |$affected_rows|$CIDlead_id|\n|$stmtA|"; &agi_output;} +} + +$dbhA->disconnect(); + +exit; + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + +sub leading_zero($) { + $_ = $_[0]; + s/^(\d)$/0$1/; + s/^(\d\d)$/0$1/; + return $_; +} # End of the leading_zero() routine. + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LO_closer_inbound.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LO_closer_inbound.agi new file mode 100644 index 00000000..9b77c4b5 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LO_closer_inbound.agi @@ -0,0 +1,850 @@ +#!/usr/bin/perl +# +# agi-VDAD_LO_closer_inbound.agi version 0.5 *DBI-version* +# +# runs when a call comes in from an inbound call. This script will +# send the calls out to the closers that are logged in. +# ## THIS IS THE LOAD-BALANCED-OVERFLOW VERSION OF THE SCRIPT ## +# +# if there are no available agents on this server, it will check for available agents on other servers, +# then it will check every second until an agent becomes available, +# if at the end of 360 seconds(default) it has not found an agent it will hangup the call and mark it as dropped +# +# This version asks for a 4-digit pin number to be entered and passed on as the fronter value to the closer +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ; 1. the full name of the IN GROUP to be used in vicidial for the inbound call +# ; 2. the phone number that was called, for the log entry +# ; 3. the callerID or lead_id of the person that called(usually overridden) +# ; 4. the park extension audio file name if used +# ; 5. the status of the call initially(usually not used) +# ; 6. the list_id to insert the new lead under if it is new (and callerID available) +# ; 7. the phone dialing code to insert with the new lead if new (and callerID available) +# +# ;inbound VICIDIAL calls: +#exten => 1234,1,Answer ; Answer the line +#exten => 1234,2,AGI(agi-VDAD_LO_closer_inbound.agi,CL_GALLERIA-----7274515134-----Closer-----park----------999-----1) +#exten => 1234,3,Hangup +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# +# changes: +# 60504-1214 - Added drop second/message/exten options from inbound_group +# 60809-1056 - Changed to DBI by Marin Blu +# - changed to use /etc/astguiclient.conf for configs +# 60821-1021 - added output options check from database +# - changed look for agent every 0.5 second for first 4 sec on hold +# 60905-1047 - changed look for agent every 0.25 second for first 4 sec on hold +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# + +$script = 'agi-VDAD_LO_closer_inbound.agi'; + +$DROP_TIME = 360; ### default number of seconds to wait until you drop a waiting call + + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + ### list of command-line array arguments: + @ARGV_vars = split(/-----/, $ARGV[0]); + + $channel_group = $ARGV_vars[0]; + $inbound_number = $ARGV_vars[1]; + $parked_by = $ARGV_vars[2]; + $park_extension = $ARGV_vars[3]; + $status = $ARGV_vars[4]; + $list_id = $ARGV_vars[5]; + $phone_code = $ARGV_vars[6]; + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + + +# if ($channel =~ /^SIP/) {$channel =~ s/-.*//gi;} +# if ($channel =~ /^Zap\//) {$channel =~ s/-\d$//gi;} + if (length($callerid)<10) {$callerid = $parked_by;} + if (length($pin)>0) {$callerid = $pin;} + + $phone_number=''; + + ### allow for external callerid to be collected +# if ($extension =~ /\*\d\d\d\d\d\d\d\d\d\d\*/) +# { +# @EXT_vars = split(/\*/, $extension); +# +# $referring_extension = $EXT_vars[0]; # initial extension sent +# $channel_group = $EXT_vars[1]; # name of the parked group +# $inbound_number = $EXT_vars[2]; # extension to send call to after parsing +# $parked_by = $EXT_vars[3]; # leadID +# $park_extension = $EXT_vars[4]; # filename of the on-hold music file +# $comment_d = $EXT_vars[5]; # N/A +# $comment_e = $EXT_vars[6]; # N/A +# +# $PADlead_id = sprintf("%09s", $parked_by); while (length($PADlead_id) > 9) {chop($PADlead_id);} +# # JmmddhhmmssLLLLLLLLL +# $JqueryCID = "J$CIDdate$PADlead_id"; +# $callerid = $JqueryCID; +# ### set the callerid to the filename of the audio for on-hold +# print "SET CALLERID $JqueryCID\n"; +# checkresult($result); +# print STDERR "callerID changed: $JqueryCID\n"; +# } +} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + +$AGI->stream_file('beep'); + +&enter_pin_number; + +$fronter = $pin; + +if ($AGILOG) {$agi_string = "+++++ INBOUND CALL VDCL STARTED : |$channel_group|$callerid-$pin|$now_date"; &agi_output;} + +$VDADphone=''; +$VDADphone_code=''; + +if ($channel =~ /Local/i) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +exit; +} + +### Grab Server values from the database +$cbc=0; +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + $cbc++; + } +$sthA->finish(); + +### insert a record into the vicidial_list table +$stmtA = "INSERT INTO vicidial_list (entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,called_since_last_reset,phone_code,phone_number,security_phrase,called_count,gmt_offset_now) values('$SQLdate','$tsSQLdate','INBND','$fronter','$inbound_number','VDCL','$list_id','Y','$phone_code','$phone_number','$channel_group','1','-5.00');"; +$affected_rows = $dbhA->do($stmtA); +$cbc=0; +$stmtA = "select LAST_INSERT_ID() LIMIT 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $insert_lead_id = "$aryA[0]"; + $cbc++; + } +$sthA->finish(); + +$new_lead_id = $insert_lead_id; +if ($AGILOG) {$agi_string = "|$stmtA|$new_lead_id|"; &agi_output;} + +$PADlead_id = sprintf("%09s", $new_lead_id); while (length($PADlead_id) > 9) {chop($PADlead_id);} +# YmmddhhmmssLLLLLLLLL + $YqueryCID = "Y$CIDdate$PADlead_id"; + $callerid = $YqueryCID; +### set the callerid +print "SET CALLERID $YqueryCID\n"; +checkresult($result); +if ($AGILOG) {$agi_string = "callerID changed: $YqueryCID"; &agi_output;} + +### Grab inbound_group values from the database +$cbc=0; +$stmtA = "SELECT drop_call_seconds,drop_message,drop_exten FROM vicidial_inbound_groups where group_id = '$channel_group';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $DBdrop_call_seconds = "$aryA[0]"; + $DBdrop_message = "$aryA[1]"; + $DBdrop_exten = "$aryA[2]"; + if ($DBdrop_call_seconds) {$DROP_TIME = $DBdrop_call_seconds;} + if ($DBdrop_message) {$drop_message = $DBdrop_message;} + if ($DBdrop_exten) {$drop_exten = $DBdrop_exten;} + $cbc++; + } +$sthA->finish(); + + +### insert a LIVE record to the vicidial_auto_calls table +$stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,uniqueid,callerid,channel,phone_code,phone_number,call_time,call_type,stage) values('$VARserver_ip','$channel_group','LIVE','$new_lead_id','$uniqueid','$callerid','$channel','$phone_code','$phone_number','$SQLdate','IN','LIVE-0')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); + +$stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$uniqueid','$new_lead_id','$channel_group','$SQLdate','$now_date_epoch','XFER','$phone_code','$phone_number','$fronter','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD : |$new_lead_id|$fronter|insert to vicidial_log: $uniqueid"; &agi_output;} + +$stmtA = "INSERT INTO vicidial_closer_log (lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$new_lead_id','$channel_group','$SQLdate','$now_date_epoch','QUEUE','$phone_code','$phone_number','VDCL','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDCL : |$new_lead_id|insert to vicidial_closer_log"; &agi_output;} + +$stmtA = "INSERT INTO vicidial_xfer_log (lead_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$new_lead_id','$channel_group','$SQLdate','$phone_code','$phone_number','$fronter','VDXL')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDXL : |$new_lead_id|insert to vicidial_xfer_log"; &agi_output;} + +$VDADlead_id = $new_lead_id; + +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=25; +$hold_tone_counter=0; + +while ($drop_timer <= $DROP_TIME) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < 360) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + 360); + } + } + $cbc=0; + $stmtA = "SELECT next_agent_call FROM vicidial_inbound_groups where group_id='$channel_group';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $CAMP_callorder = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + $agent_call_order='order by last_call_finish'; + if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} + if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} + if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} + if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} + + $rec_countWAIT=0; + $cbc=0; + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and campaign_id = '$channel_group' and call_time < \"$SQLdateBEGIN\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($rec_countWAIT < 1) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$new_lead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid' where status IN('CLOSER','READY') and server_ip='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and closer_campaigns LIKE \"% $channel_group %\" and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|$channel_group|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $cbc=0; + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where status = 'QUEUE' and server_ip='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + + $cbc++; + } + $sthA->finish(); + + $stmtA = "UPDATE vicidial_auto_calls set status='CLOSER', stage='CLOSER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL XFER : |$affected_rows|$callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_xfer_log set closer='$VDADuser' where lead_id = '$new_lead_id' order by call_date desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDXL XFER vicidial_xfer_log update: |$affected_rows|$new_lead_id|$VDADuser\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set user='$VDADuser' where lead_id='$new_lead_id' order by call_date desc limit 1;"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- closer log : |$affected_rows|$new_lead_id\n|$stmtA|"; &agi_output;} + + if ($AGILOG) {$agi_string = "exiting VDAD app, transferring call to $VDADconf_exten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADconf_exten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $stmtA = "UPDATE vicidial_closer_log set queue_seconds='$drop_timer' where lead_id = '$new_lead_id' and call_date='$SQLdate';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNN No available agent found"; &agi_output;} + } + } + else + { + if ($AGILOG) {$agi_string = "WWWWW VDAD XFER WAIT: |$rec_countWAIT|$channel_group|$channel|$callerid|$uniqueid|"; &agi_output;} + } + +################################################################################################### +### noone found locally available, now check for someone on another server to take the call + $cbc=0; + $rec_countWAITrem=0; + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip!='$VARserver_ip' and campaign_id = '$channel_group' and call_time < \"$SQLdateBEGIN\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAITrem = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($rec_countWAITrem < 1) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$new_lead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid', call_server_ip='$VARserver_ip' where status IN('CLOSER','READY') and server_ip!='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and closer_campaigns LIKE \"% $channel_group %\" and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$DROP_TIME|$drop_timer|$affected_rows|update of vla table: $channel_group|\n|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $cbc=0; + $stmtA = "SELECT conf_exten,user,extension,server_ip FROM vicidial_live_agents where status = 'QUEUE' and server_ip!='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $VDADserver_ip = "$aryA[3]"; + $cbc++; + } + $sthA->finish(); + + $stmtA = "UPDATE vicidial_auto_calls set status='CLOSER', stage='CLOSER-$drop_timer' where callerid='$callerid';"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL XFER REMOTE: |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_xfer_log set closer='$VDADuser' where lead_id = '$new_lead_id' order by call_date desc limit 1;"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDXL vicidial_xfer_log update: |$affected_rows|$new_lead_id|$VDADuser\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set user='$VDADuser' where lead_id='$new_lead_id' order by call_date desc limit 1;"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- closer log : |$affected_rows|update of vcl table: $new_lead_id\n|$stmtA|"; &agi_output;} + + ### format the remote server dialstring to get the call to the overflow agent meetme room + $S='*'; + if( $VDADserver_ip =~ m/(\S+)\.(\S+)\.(\S+)\.(\S+)/ ) + { + $a = leading_zero($1); + $b = leading_zero($2); + $c = leading_zero($3); + $d = leading_zero($4); + $VDADremDIALstr = "$a$S$b$S$c$S$d$S"; + } + $VDADremDIALstr .= "$VDADconf_exten"; + + if ($AGILOG) {$agi_string = "exiting VDAD app, transferring call to $VDADremDIALstr"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADremDIALstr\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $stmtA = "UPDATE vicidial_closer_log set queue_seconds='$drop_timer' where lead_id = '$new_lead_id' and call_date='$SQLdate';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNN No available remote agent found"; &agi_output;} + } + } + else + { + if ($AGILOG) {$agi_string = "WWWWW VDAD XFER REMOTE WAIT: |$rec_countWAITrem|$channel_group|$channel|$callerid|$uniqueid|"; &agi_output;} + } + +if ($hold_message_counter > 30) + { + $AGI->stream_file('generic_hold'); + $hold_message_counter = 0; + } + else {$hold_message_counter++;} +if ($hold_tone_counter > 3) + { + $AGI->stream_file('hold_tone'); + $hold_tone_counter = 0; + } + else {$hold_tone_counter++;} + +if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } +else + { + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $drop_timer++; + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); +#if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + +} + + +if ($drop_timer >= $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $VDADvoicemail_ext = ''; + +$DROPexten = ''; +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + + if ($drop_message =~ /Y/) + { + $DROPexten = "$drop_exten"; + } + else + { + $cbc=0; + $stmtA = "SELECT voicemail_ext FROM vicidial_inbound_groups where group_id = '$channel_group' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADvoicemail_ext = "$aryA[0]"; + $VDADvoicemail_ext =~ s/\D//gi; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + $cbc++; + } + $sthA->finish(); + } + } + + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' and server_ip='$VARserver_ip' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vac record deleted: |$affected_rows| $VDADcampaign|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds',queue_seconds='$drop_seconds' where lead_id = '$new_lead_id' order by start_epoch desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='XDROP' where lead_id = '$new_lead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} +} + +$dbhA->disconnect(); + +exit; + +sub enter_pin_number +{ +# please enter the pin number followed by the pound key +# please enter your 4 digit pin number + +$digit=''; +undef $digit; +$interrupt_digit=''; +undef $interrupt_digit; + +$interrupt_digit = $AGI->stream_file('four_digit_id','123456789'); + + if ($AGILOG) {$agi_string = "interrupt_digit |$interrupt_digit|"; &agi_output;} + +$digits_being_entered=1; +$totalDTMF=''; +if ($interrupt_digit > 1) + { + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + + $totalDTMF=$interrupt_digit; + } + +$digit_loop_counter=0; +#while ( ($digits_being_entered) && ($digit_loop_counter < 20) ) +# { +# $digit = chr($AGI->wait_for_digit('30000')); # wait 30 seconds for input or until the pound key is pressed +# if ($digit =~ /\d/) +# { +# $totalDTMF = "$totalDTMF$digit"; +# print STDERR "digit |$digit| TotalDTMF |$totalDTMF|\n"; +# $AGI->say_digits("$digit"); +# undef $digit; +# } +# else +# { +# $digits_being_entered=0; +# } +# +# $digit_loop_counter++; +# } + +while ( ($digit_loop_counter < 4) ) + { + $digit = chr($AGI->wait_for_digit('10000')); # wait 10 seconds for input or until the pound key is pressed + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digit_loop_counter=4; + } + + $digit_loop_counter++; + } + +$totalDTMF =~ s/\D//gi; +$pin = $totalDTMF; +if ($totalDTMF) {if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;}} +} + + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + +### you're call is very important to us, please stay on the line and you will be transferred to the next available agent + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LO_transfer.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LO_transfer.agi new file mode 100644 index 00000000..9155f807 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDAD_LO_transfer.agi @@ -0,0 +1,952 @@ +#!/usr/bin/perl +# +# agi-VDAD_LO_transfer.agi version 2.0.4 *DBI-version* +# Overflow Balanced - when a call comes in on this server the script looks for an agent +# on this server to send call to. If none available it looks for the next available +# agent on any other server on the network on the same campaign to send call to. +# +# runs when a call comes in from the VICIDIAL_auto_dialer. This script will +# send the calls out to the reps that are logged in. +# +# if there are no available agents, then it will check every second until an agent becomes available, +# if at the end of 20 seconds it has not found an agent it will hangup the call and mark it as dropped. +# +# this version "LO" Load Overflow checks first with local agents then it will seek out agents on the +# same campaign on other servers and transfer the calls to them over IAX trunks. +# the IAX user trunks are named based on the IP address of the home server: +# The server 10.10.10.15 would have a username of 10x10x10x15 in the iax.conf on the other servers +# Also, the home server needs to have the trunks registered, for speed and channel consistency +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;VICIDIAL_auto_dialer transfer script: +# exten => 8365,1,AGI(call_log.agi,${EXTEN}) +# exten => 8365,2,AGI(agi-VDAD_LO_transfer.agi,${EXTEN}) +# +# +# Copyright (C) 2007 Matt Florell LICENSE: GPLv2 +# +# changes: +# 51118-2102 - First build based on agi-VDADtransfer.agi script +# 60119-1408 - Fixed calleridname issue with 1.2 tree for custom CID +# 60503-1048 - Added safe harbor and drop second options from campaign +# 60731-1441 - Changed to use DBI-DBD::mysql +# - Changed to use /etc/astguiclient.conf for configs +# 60816-1034 - Added output options check from database +# - Changed look for agent every 0.5 second for first 4 sec on hold +# 60905-1047 - Changed look for agent every 0.25 second for first 4 sec on hold +# 70215-1052 - Added QueueMetrics optional logging +# 70223-1101 - Added QueueMetrics ENTERQUEUE prepend option +# 70305-1251 - Fixed problems where the same call will run this script twice +# 71116-1045 - added fewest_calls and campaign_weight agent call routing options +# + +$script = 'agi-VDAD_LO_transfer.agi'; + +$DROP_TIME = 10; # default number of seconds to wait until you drop a waiting call + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks,agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + $DBagi_output = "$aryA[6]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + +$start_time=$now_date; +$CIDdate = "$mon$mday$hour$min$sec"; +$tsSQLdate = "$year$mon$mday$hour$min$sec"; +$SQLdate = "$year-$mon-$mday $hour:$min:$sec"; +$SQLdateBEGIN = $SQLdate; + +$secX = time(); +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() +{ + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_priority\:\s+(.*)$/) {$priority = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} +} + +if ( (length($callerid)>20) && ($callerid =~ /\"\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S/) ) + { + $callerid =~ s/^\"//gi; + $callerid =~ s/\".*$//gi; + ### set the callerid to the ACQS value(calleridname) + print "SET CALLERID $callerid\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $callerid"; &agi_output;} + } +if ( ( +(length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) +) or ( (length($calleridname)>17) && ($calleridname =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) ) ) + { + $callerid = $calleridname; + ### set the callerid to the ACQS value(calleridname) + print "SET CALLERID $callerid\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $callerid"; &agi_output;} + } + + +if ($AGILOG) {$agi_string = "AGI Environment Dump:"; &agi_output;} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|$calleridname|$priority|"; &agi_output;} + +$VDADcampaign=''; +$VDADphone=''; +$VDADphone_code=''; + +$callerid =~ s/\"//gi; +$CIDlead_id = $callerid; +$CIDlead_id = substr($CIDlead_id, 11, 9); +$CIDlead_id = ($CIDlead_id + 0); + +if ($AGILOG) {$agi_string = "+++++ VDAD START : |$CIDlead_id|$now_date|$AST_ver|$priority|"; &agi_output;} + +if ( ($channel =~ /Local/i) && ($AST_ver !~ /^1\.0\.8|^1\.0\.9/) ) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +if ($priority > 2) {sleep(1);} +exit; +} + +$stmtA = "SELECT count(*) FROM vicidial_live_agents where callerid='$callerid';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $Pseudo_duplicate_count = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); + +if ($Pseudo_duplicate_count > 0) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START PSEUDO DUPLICATE: EXITING- $priority"; &agi_output;} +exit; +} + +$stmtA = "SELECT count(*) FROM vicidial_auto_calls where callerid='$callerid' and status IN('LIVE','XFER');"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dialplan_duplicate_count = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); + +if ($dialplan_duplicate_count > 0) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START DIALPLAN DUPLICATE: EXITING- $priority"; &agi_output;} +exit; +} + + + +### Grab call parameters from vicidial_auto_calls table +$stmtA = "UPDATE vicidial_auto_calls set uniqueid='$unique_id', channel='$channel',status='LIVE',stage='LIVE-0' where callerid='$callerid' order by call_time desc limit 1;"; +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} +if ($affected_rows > 0) + { + $stmtA = "SELECT campaign_id,phone_number,phone_code,lead_id,call_time FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADcampaign = "$aryA[0]"; + $VDADphone = "$aryA[1]"; + $VDADphone_code = "$aryA[2]"; + $VDADlead_id = "$aryA[3]"; + $VDADcall_time = "$aryA[4]"; + $rec_count++; + } + $sthA->finish(); + + ### Grab campaign values from the database + $stmtA = "SELECT drop_call_seconds,safe_harbor_message,safe_harbor_exten,concurrent_transfers FROM vicidial_campaigns where campaign_id = '$VDADcampaign';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBdrop_call_seconds = "$aryA[0]"; + $DBsafe_harbor_message = "$aryA[1]"; + $DBsafe_harbor_exten = "$aryA[2]"; + $DBconcurrent_transfers = "$aryA[3]"; + if ($DBdrop_call_seconds) {$DROP_TIME = $DBdrop_call_seconds;} + if ($DBsafe_harbor_message) {$safe_harbor_message = $DBsafe_harbor_message;} + if ($DBsafe_harbor_exten) {$safe_harbor_exten = $DBsafe_harbor_exten;} + $rec_count++; + } + $sthA->finish(); + + $stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$uniqueid','$CIDlead_id','$VDADcampaign','$SQLdate','$now_date_epoch','QUEUE','$VDADphone_code','$VDADphone','VDAD','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + + if ($AGILOG) {$agi_string = "-- VDAD : |$VDADlead_id|$CIDlead_id|insert to vicidial_log: $uniqueid"; &agi_output;} + + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmtA = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_eq_prepend FROM system_settings;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $enable_queuemetrics_logging = "$aryA[0]"; + $queuemetrics_server_ip = "$aryA[1]"; + $queuemetrics_dbname = "$aryA[2]"; + $queuemetrics_login= "$aryA[3]"; + $queuemetrics_pass = "$aryA[4]"; + $queuemetrics_log_id = "$aryA[5]"; + $queuemetrics_eq_prepend = "$aryA[6]"; + $rec_count++; + } + $sthA->finish(); + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $stmtA = "SELECT phone_number FROM vicidial_auto_calls where lead_id='$CIDlead_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $phone_number = "$aryA[0]"; + $data2 = "$phone_number"; + $rec_count++; + } + $sthA->finish(); + + if ( (length($queuemetrics_eq_prepend) > 0) && ($queuemetrics_eq_prepend !~ /NONE/) ) + { + $stmtA = "SELECT $queuemetrics_eq_prepend FROM vicidial_list where lead_id='$CIDlead_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + $DASH='-'; + @aryA = $sthA->fetchrow_array; + $QMprepend = "$aryA[0]"; + $rec_count++; + $data2 = "$QMprepend$DASH$phone_number"; + } + $sthA->finish(); + } + + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$callerid',queue='$VDADcampaign',agent='NONE',verb='ENTERQUEUE',data2='$data2',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + } + +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=25; +$hold_tone_counter=0; + +while ($drop_timer <= $DROP_TIME) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < $DROP_TIME) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + $DROP_TIME); + } + } +$stmtA = "SELECT next_agent_call FROM vicidial_campaigns where campaign_id='$VDADcampaign';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $CAMP_callorder = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); + +$agent_call_order=''; +if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} +if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} +if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} +if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} +if ($CAMP_callorder =~ /campaign_rank/i) {$agent_call_order = 'order by campaign_weight desc,last_call_finish';} +if ($CAMP_callorder =~ /fewest_calls/i) {$agent_call_order = 'order by calls_today,last_call_finish';} + + $rec_countWAIT=0; +$stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and campaign_id = '$VDADcampaign' and call_time < \"$VDADcall_time\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); +if ($DBconcurrent_transfers =~ /AUTO/) + { + $active_agents=1; + $stmtA = "SELECT count(*) FROM vicidial_live_agents where server_ip='$VARserver_ip' and campaign_id = '$VDADcampaign' and last_update_time > '$BDtsSQLdate';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $active_agents = "$aryA[0]"; + $rec_count++; + } + + $concurrent_transfers = ($active_agents / 10); + $concurrent_transfers = sprintf("%.0f", $concurrent_transfers); + $concurrent_transfers++; + if ($AGILOG) {$agi_string = "|CONCURRENT TRANSFERS AUTO SETTING: $concurrent_transfers ($active_agents)|"; &agi_output;} + } +else {$concurrent_transfers = $DBconcurrent_transfers;} +$sthA->finish(); +if ($rec_countWAIT < $concurrent_transfers) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$CIDlead_id',uniqueid='$unique_id', channel='$channel', call_server_ip='$VARserver_ip', callerid='$callerid' where status = 'READY' and server_ip='$VARserver_ip' and campaign_id='$VDADcampaign' and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|update of vla table: $VDADcampaign|$VARserver_ip\n|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $r=0; + $VDADuser=''; + while ( (length($VDADuser)<1) && ($r<3) ) + { + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where status IN('QUEUE','INCALL') and server_ip='$VARserver_ip' and campaign_id='$VDADcampaign' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $rec_count++; + } + $sthA->finish(); + $r++; + if ($r > 1) + { + if ($AGILOG) {$agi_string = "EEEEEEEEEE vla UPDATE DELAY!!! |$callerid|$r|"; &agi_output;} + + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } + if ($r > 2) + { + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where callerid='$callerid' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $rec_count++; + } + $sthA->finish(); + + if ($AGILOG) {$agi_string = "FFFFFFFFFF vla OR SELECT |$callerid|$VDADuser|"; &agi_output;} + } + } + + $stmtA = "UPDATE vicidial_auto_calls set status='XFER', stage='XFER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD XFER : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$callerid',queue='$VDADcampaign',agent='Agent/$VDADuser',verb='CONNECT',data1='$drop_timer',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $VDADconf_exten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADconf_exten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXXXXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNNNNNNN No agent record found!!!"; &agi_output;} + } + } +else + { + if ($AGILOG) {$agi_string = "WWWWWWWW VDAD XFER WAIT: |$rec_countWAIT|$VDADcampaign|$channel|$callerid|$uniqueid|"; &agi_output;} + } + +################################################################################################### +### noone found locally available, now check for someone on another server to take the call + + $rec_countWAITrem=0; +$stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip!='$VARserver_ip' and campaign_id = '$VDADcampaign' and call_time < \"$VDADcall_time\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAITrem = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); +if ($DBconcurrent_transfers =~ /AUTO/) + { + $active_agents=1; + $stmtA = "SELECT count(*) FROM vicidial_live_agents where server_ip!='$VARserver_ip' and campaign_id = '$VDADcampaign' and last_update_time > '$BDtsSQLdate';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $active_agents = "$aryA[0]"; + $rec_count++; + } + + $concurrent_transfers = ($active_agents / 10); + $concurrent_transfers = sprintf("%.0f", $concurrent_transfers); + $concurrent_transfers++; + if ($AGILOG) {$agi_string = "|CONCURRENT TRANSFERS AUTO SETTING: $concurrent_transfers ($active_agents)|"; &agi_output;} + } +else {$concurrent_transfers = $DBconcurrent_transfers;} +$sthA->finish(); +if ($rec_countWAITrem < $concurrent_transfers) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$CIDlead_id',uniqueid='$unique_id', channel='$channel', call_server_ip='$VARserver_ip', callerid='$callerid' where status = 'READY' and server_ip!='$VARserver_ip' and campaign_id='$VDADcampaign' and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|update of vla table: $VDADcampaign|$VARserver_ip\n|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $r=0; + $VDADuser=''; + while ( (length($VDADuser)<1) && ($r<3) ) + { + $stmtA = "SELECT conf_exten,user,extension,server_ip FROM vicidial_live_agents where status IN('QUEUE','INCALL') and server_ip!='$VARserver_ip' and campaign_id='$VDADcampaign' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $VDADserver_ip = "$aryA[3]"; + $rec_count++; + } + $sthA->finish(); + $r++; + if ($r > 1) + { + if ($AGILOG) {$agi_string = "EEEEEEEEEE vla UPDATE DELAY!!! |$callerid|$r|"; &agi_output;} + + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } + if ($r > 2) + { + $stmtA = "SELECT conf_exten,user,extension,server_ip FROM vicidial_live_agents where callerid='$callerid' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $VDADserver_ip = "$aryA[3]"; + $rec_count++; + } + $sthA->finish(); + + if ($AGILOG) {$agi_string = "FFFFFFFFFF vla OR SELECT |$callerid|$VDADuser|"; &agi_output;} + } + } + + $stmtA = "UPDATE vicidial_auto_calls set status='XFER', stage='XFER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD XFER REMOTE: |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$callerid',queue='$VDADcampaign',agent='Agent/$VDADuser',verb='CONNECT',data1='$drop_timer',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + + ### format the remote server dialstring to get the call to the overflow agent meetme room + $S='*'; + if( $VDADserver_ip =~ m/(\S+)\.(\S+)\.(\S+)\.(\S+)/ ) + { + $a = leading_zero($1); + $b = leading_zero($2); + $c = leading_zero($3); + $d = leading_zero($4); + $VDADremDIALstr = "$a$S$b$S$c$S$d$S"; + } + $VDADremDIALstr .= "$VDADconf_exten"; + + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $VDADremDIALstr"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADremDIALstr\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXXXXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNNNNNNN No agent record found!!!"; &agi_output;} + } + } +else + { + if ($AGILOG) {$agi_string = "WWWWWWWW VDAD XFER REMOTE WAIT: |$rec_countWAIT|$VDADcampaign|$channel|$callerid|$uniqueid|"; &agi_output;} + } + + +if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } +else + { + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $drop_timer++; + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); +#if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + +} + + +if ($drop_timer >= $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $VDADvoicemail_ext = ''; + +$DROPexten = ''; +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$callerid',queue='$VDADcampaign',agent='NONE',verb='EXITWITHTIMEOUT',data1='1',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + + if ($safe_harbor_message =~ /Y/) + { + $DROPexten = "$safe_harbor_exten"; + } + else + { + $stmtA = "SELECT voicemail_ext FROM vicidial_campaigns where campaign_id = '$VDADcampaign' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADvoicemail_ext = "$aryA[0]"; + $VDADvoicemail_ext =~ s/\D//gi; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + $rec_count++; + } + $sthA->finish(); + } + } + + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vac record deleted: |$affected_rows|$VDADcampaign|"; &agi_output;} + + $stmtA = "UPDATE vicidial_log set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds' where uniqueid = '$uniqueid';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_log update: |$affected_rows|$uniqueid"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='DROP' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$CIDlead_id"; &agi_output;} +} + + + + $dbhA->disconnect(); + + + +exit; + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + +sub leading_zero($) { + $_ = $_[0]; + s/^(\d)$/0$1/; + s/^(\d\d)$/0$1/; + return $_; +} # End of the leading_zero() routine. + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser.agi new file mode 100644 index 00000000..2993b945 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser.agi @@ -0,0 +1,629 @@ +#!/usr/bin/perl +# +# agi-VDADcloser.agi version 0.6 *DBI-version* +# +# runs when a call comes in from a VICIDIAL fronter. This script will +# send the calls out to the closers that are logged in. +# +# if there are no available agents, then it will check every second until an agent becomes available, +# if at the end of 360 seconds(default) it has not found an agent it will send the call to the specified Vmail +# box or hangup the call and mark it as dropped +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;inbound VICIDIAL calls: +#exten => _90009.,1,Answer ; Answer the line +#exten => _90009.,2,AGI(agi-VDADcloser.agi,${EXTEN}-----START) +# +# Copyright (C) 2007 Matt Florell LICENSE: GPLv2 +# +# CHANGELOG: +# 60503-1242 - Added drop second/message/exten options from inbound_group +# 60811-1127 - Changed to DBI +# 60811-1145 - changed to use /etc/astguiclient.conf for configs +# 60821-1021 - added output options check from database +# - changed look for agent every 0.5 second for first 4 sec on hold +# 60905-1047 - changed look for agent every 0.25 second for first 4 sec on hold +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70212-1252 - Fixed issue with Local/ channel transfers on same server +# + +$script = 'agi-VDADcloser.agi'; + +$DROP_TIME = 360; ### default number of seconds to wait until you drop a waiting call + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + + ### allow for internal PRI transfer data string "90009*CL_uk3survy_*8301*10000123*universal***" + if ($extension =~ /^900\d\d\*/) + { + @EXT_vars = split(/\*/, $extension); + + $referring_extension = $EXT_vars[0]; # initial extension sent + $channel_group = $EXT_vars[1]; # name of the parked group + $inbound_number = $EXT_vars[2]; # extension to send call to after parsing + $parked_by = $EXT_vars[3]; # leadID + $park_extension = $EXT_vars[4]; # filename of the on-hold music file + $comment_d = $EXT_vars[5]; # N/A + $comment_e = $EXT_vars[6]; # N/A + + $PADlead_id = sprintf("%09s", $parked_by); while (length($PADlead_id) > 9) {chop($PADlead_id);} + # JmmddhhmmssLLLLLLLLL + $JqueryCID = "J$CIDdate$PADlead_id"; + $callerid = $JqueryCID; + ### set the callerid to the filename of the audio for on-hold + print "SET CALLERID $JqueryCID\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $JqueryCID"; &agi_output;} + } +} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + +$VDADcampaign=''; +$VDADphone=''; +$VDADphone_code=''; + +$CIDlead_id = $callerid; +$CIDlead_id = substr($CIDlead_id, 11, 9); +$CIDlead_id = ($CIDlead_id + 0); + +if ($AGILOG) {$agi_string = "+++++ VDAD START : |$CIDlead_id|$now_date|"; &agi_output;} + +if ($channel =~ /Local/i) +{ + if ($inbound_number =~ /CXFER/) + { + if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: CXFER OVERRIDE- $priority"; &agi_output;} + } + else + { + if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} + exit; + } +} + +### Grab Server values from the database +$cbc=0; +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + $cbc++; + } +$sthA->finish(); + +### Grab call parameters from vicidial_list table +$cbc=0; +$rec_countCUSTDATA=0; +$stmtA = "SELECT phone_number,phone_code,user FROM vicidial_list where lead_id='$CIDlead_id' limit 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADcampaign = "$channel_group"; + $VDADphone = "$aryA[0]"; + $VDADphone_code = "$aryA[1]"; + $VDADlead_id = "$CIDlead_id"; + $VDADfronter = "$aryA[2]"; + $cbc++; + } +$sthA->finish(); + +### Grab inbound_group values from the database +$cbc=0; +$stmtA = "SELECT drop_call_seconds,drop_message,drop_exten FROM vicidial_inbound_groups where group_id = '$channel_group';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $DBdrop_call_seconds = "$aryA[0]"; + $DBdrop_message = "$aryA[1]"; + $DBdrop_exten = "$aryA[2]"; + if ($DBdrop_call_seconds) {$DROP_TIME = $DBdrop_call_seconds;} + if ($DBdrop_message) {$drop_message = $DBdrop_message;} + if ($DBdrop_exten) {$drop_exten = $DBdrop_exten;} + $cbc++; + } +$sthA->finish(); + + +### insert a LIVE record to the vicidial_auto_calls table +$stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,uniqueid,callerid,channel,phone_code,phone_number,call_time,call_type,stage) values('$VARserver_ip','$channel_group','LIVE','$CIDlead_id','$uniqueid','$callerid','$channel','$VDADphone_code','$VDADphone','$SQLdate','IN','LIVE-0')"; +$affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "$affected_rows|$stmtA|"; &agi_output;} + +$stmtA = "INSERT INTO vicidial_closer_log (lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$CIDlead_id','$VDADcampaign','$SQLdate','$now_date_epoch','QUEUE','$VDADphone_code','$VDADphone','VDCL','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDCL : |$affected_rows|$VDADlead_id|$CIDlead_id|insert to vicidial_closer_log"; &agi_output;} + +$stmtA = "INSERT INTO vicidial_xfer_log (lead_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$CIDlead_id','$VDADcampaign','$SQLdate','$VDADphone_code','$VDADphone','$VDADfronter','VDXL')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDXL : |$affected_rows|$VDADlead_id|$CIDlead_id|insert to vicidial_xfer_log"; &agi_output;} + + +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=25; +$hold_tone_counter=0; + +while ($drop_timer <= $DROP_TIME) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < 360) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + 360); + } + } + $cbc=0; + $stmtA = "SELECT next_agent_call FROM vicidial_inbound_groups where group_id='$channel_group';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $CAMP_callorder = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + $agent_call_order='order by last_call_finish'; + if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} + if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} + if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} + if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} + + $rec_countWAIT=0; + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and campaign_id = '$channel_group' and call_time < \"$SQLdateBEGIN\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $cbc=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($rec_countWAIT < 1) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$CIDlead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid' where status IN('CLOSER','READY') and server_ip='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and closer_campaigns LIKE \"% $VDADcampaign %\" and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|$VDADcampaign|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where status = 'QUEUE' and server_ip='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $cbc=0; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $cbc++; + } + $sthA->finish(); + + $stmtA = "UPDATE vicidial_auto_calls set status='CLOSER', stage='CLOSER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL XFER : |$affected_rows|$callerid\n|$stmtA|"; &agi_output;} + if ($affected_rows < 1) + { + $stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,uniqueid,callerid,channel,phone_code,phone_number,call_time,call_type,stage) values('$VARserver_ip','$channel_group','CLOSER','$CIDlead_id','$uniqueid','$callerid','$channel','$VDADphone_code','$VDADphone','$SQLdate','IN','CLOSER-$drop_timer')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "$affected_rows|VDAC-reinsert|$stmtA|"; &agi_output;} + } + + $stmtA = "UPDATE vicidial_xfer_log set closer='$VDADuser' where lead_id = '$CIDlead_id' order by call_date desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDXL XFER vicidial_xfer_log update: |$affected_rows|$CIDlead_id|$VDADuser\n|$stmtA|"; &agi_output;} + + if ($AGILOG) {$agi_string = "exiting VDAD app, transferring call to $VDADconf_exten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADconf_exten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $stmtA = "UPDATE vicidial_closer_log set queue_seconds='$drop_timer' where lead_id = '$CIDlead_id' and call_date='$SQLdate';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$CIDlead_id|\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNN No available agent found"; &agi_output;} + } + } + else + { + if ($AGILOG) {$agi_string = "WWWWW VDAD XFER WAIT: |$rec_countWAIT|$channel_group|$channel|$callerid|$uniqueid|"; &agi_output;} + } + +if ($hold_message_counter > 30) + { + $AGI->stream_file('generic_hold'); + $hold_message_counter = 0; + } + else {$hold_message_counter++;} +if ($hold_tone_counter > 3) + { + $AGI->stream_file('hold_tone'); + $hold_tone_counter = 0; + } + else {$hold_tone_counter++;} + +if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } +else + { + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $drop_timer++; + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} +if ($affected_rows < 1) + { + $stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,uniqueid,callerid,channel,phone_code,phone_number,call_time,call_type,stage) values('$VARserver_ip','$channel_group','LIVE','$CIDlead_id','$uniqueid','$callerid','$channel','$VDADphone_code','$VDADphone','$SQLdate','IN','LIVE-$drop_timer')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "$affected_rows|VDAC-reinsert|$stmtA|"; &agi_output;} + } + + +} + + +if ($drop_timer >= $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $VDADvoicemail_ext = ''; + +$DROPexten = ''; +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + + if ($drop_message =~ /Y/) + { + $DROPexten = "$drop_exten"; + } + else + { + $cbc=0; + $stmtA = "SELECT voicemail_ext FROM vicidial_inbound_groups where group_id = '$channel_group' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADvoicemail_ext = "$aryA[0]"; + $VDADvoicemail_ext =~ s/\D//gi; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + $cbc++; + } + $sthA->finish(); + } + } + + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' and server_ip='$VARserver_ip' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vac record deleted: |$affected_rows| $VDADcampaign|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds',queue_seconds='$drop_seconds' where lead_id = '$CIDlead_id' order by start_epoch desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$CIDlead_id|\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='XDROP' where lead_id = '$CIDlead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vl update: |$affected_rows|$CIDlead_id|\n|$stmtA|"; &agi_output;} +} + +$dbhA->disconnect(); + +exit; + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_PHONE.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_PHONE.agi new file mode 100644 index 00000000..ceb8dd13 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_PHONE.agi @@ -0,0 +1,653 @@ +#!/usr/bin/perl +# +# agi-VDADcloser_PHONE.agi version 0.5 *DBI-version* +# +# runs when a call comes in from a VICIDIAL fronter from a foreign location. This script will +# send the calls out to the closers that are logged in. Customer data is not supplied aside from phone number, +# because the data resides on the foreign system. It is recommended that the WEB FORM page used for this would +# lookup the customer info from the foreign server as an alternate to doing the lookup in this script +# +# if there are no available agents, then it will check every second until an agent becomes available, +# if at the end of 360 seconds(default) it has not found an agent it will hangup the call and mark it as dropped or +# if voicemail is defined, the call will go to voicemail +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;inbound VICIDIAL calls: +#exten => _90009.,1,Answer ; Answer the line +#exten => _90009.,2,AGI(agi-VDADcloser_PHONE.agi,${EXTEN}-----START) +# +# +#AGI Environment Dump: +# -- accountcode = +# -- callerid = unknown +# -- channel = Zap/26-1 +# -- context = default +# -- dnid = 90009*CL_MWCOF_L**2470995**7275551212*12345* +# -- enhanced = 0.0 +# -- extension = 90009*CL_MWCOF_L**2470995**7275551212*12345* +# -- language = en +# -- priority = 4 +# -- rdnis = unknown +# -- request = agi-VDADcloser_PHONE.agi +# -- type = Zap +# -- uniqueid = 1110912481.2331 +#AGI Environment Dump: |1110912481.2331|Zap/26-1|90009*CL_MWCOF_L**2470995**7275551212*12345*|Zap|J0315134801002470995| +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# +# changes: +# 60504-1243 - Added drop second/message/exten options from inbound_group +# 60811-1100 - Changed to DBI +# 60811-1145 - changed to use /etc/astguiclient.conf for configs +# 60821-1021 - added output options check from database +# - changed look for agent every 0.5 second for first 4 sec on hold +# 60905-1047 - changed look for agent every 0.25 second for first 4 sec on hold +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# + +$script = 'agi-VDADcloser_PHONE.agi'; + +$DROP_TIME = 360; ### number of seconds to wait until you drop a waiting call + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + + ### allow for internal PRI transfer data string "90009*CL_uk3survy_*8301*10000123*universal***" + ### 90009*CL_MWCOF_L**2470995**7275551212*12345* + if ($extension =~ /^900\d\d\*|^8900\d\d\*/) + { + @EXT_vars = split(/\*/, $extension); + + $referring_extension = $EXT_vars[0]; # initial extension sent + $channel_group = $EXT_vars[1]; # name of the parked group + $inbound_number = $EXT_vars[2]; # extension to send call to after parsing + $parked_by = $EXT_vars[3]; # leadID + $park_extension = $EXT_vars[4]; # filename of the on-hold music file + $cust_phone = $EXT_vars[5]; # customer phone number + $ref_agent = $EXT_vars[6]; # referral agent ID + + # $PADlead_id = sprintf("%09s", $parked_by); while (length($PADlead_id) > 9) {chop($PADlead_id);} + # # JmmddhhmmssLLLLLLLLL + # $JqueryCID = "J$CIDdate$PADlead_id"; + # $callerid = $JqueryCID; + # ### set the callerid to the filename of the audio for on-hold + # print "SET CALLERID $JqueryCID\n"; + # checkresult($result); + # print STDERR "callerID changed: $JqueryCID\n"; + } +} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + +$VDADcampaign=''; +$VDADphone=''; +$VDADphone_code=''; + +$CIDlead_id = $callerid; +$CIDlead_id = substr($CIDlead_id, 11, 9); +$CIDlead_id = ($CIDlead_id + 0); + +if ($AGILOG) {$agi_string = "+++++ VDAD START : |$CIDlead_id|$now_date|"; &agi_output;} + +if ($channel =~ /Local/i) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +exit; +} +if (!$list_id) {$list_id = '999';} +if (!$phone_code) {$phone_code = '1';} +if (!$VLcomments) {$VLcomments = '';} + +### Grab Server values from the database +$cbc=0; +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + $cbc++; + } +$sthA->finish(); + +### insert a record into the vicidial_list table +$stmtA = "INSERT INTO vicidial_list (entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,called_since_last_reset,phone_code,phone_number,security_phrase,called_count,gmt_offset_now,comments) values('$SQLdate','$tsSQLdate','INBND','$ref_agent','$parked_by','VDCL','$list_id','Y','$phone_code','$cust_phone','$channel_group','1','-5.00','$VLcomments');"; +$affected_rows = $dbhA->do($stmtA); + +$cbc=0; +$stmtA = "select LAST_INSERT_ID() LIMIT 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $insert_lead_id = "$aryA[0]"; + $cbc++; + } +$sthA->finish(); + +$new_lead_id = $insert_lead_id; +$CIDlead_id = $new_lead_id; +if ($AGILOG) {$agi_string = "|$stmtA|$new_lead_id|"; &agi_output;} + +$PADlead_id = sprintf("%09s", $new_lead_id); while (length($PADlead_id) > 9) {chop($PADlead_id);} +# YmmddhhmmssLLLLLLLLL + $YqueryCID = "Y$CIDdate$PADlead_id"; + $callerid = $YqueryCID; +### set the callerid +print "SET CALLERID $YqueryCID\n"; +checkresult($result); +if ($AGILOG) {$agi_string = "callerID changed: $YqueryCID"; &agi_output;} + +$VDADcampaign = "$channel_group"; +$VDADphone = "$cust_phone"; +$VDADphone_code = "$phone_code"; +$VDADlead_id = "$new_lead_id"; +$VDADfronter = "$ref_agent"; + +### Grab inbound_group values from the database +$cbc=0; +$stmtA = "SELECT drop_call_seconds,drop_message,drop_exten FROM vicidial_inbound_groups where group_id = '$channel_group';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $DBdrop_call_seconds = "$aryA[0]"; + $DBdrop_message = "$aryA[1]"; + $DBdrop_exten = "$aryA[2]"; + if ($DBdrop_call_seconds) {$DROP_TIME = $DBdrop_call_seconds;} + if ($DBdrop_message) {$drop_message = $DBdrop_message;} + if ($DBdrop_exten) {$drop_exten = $DBdrop_exten;} + $cbc++; + } +$sthA->finish(); + + + +### insert a LIVE record to the vicidial_auto_calls table +$stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,uniqueid,callerid,channel,phone_code,phone_number,call_time,call_type,stage) values('$VARserver_ip','$channel_group','LIVE','$CIDlead_id','$uniqueid','$callerid','$channel','$VDADphone_code','$VDADphone','$SQLdate','IN','LIVE-0')"; +$affected_rows = $dbhA->do($stmtA); + +$stmtA = "INSERT INTO vicidial_closer_log (lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$CIDlead_id','$VDADcampaign','$SQLdate','$now_date_epoch','QUEUE','$VDADphone_code','$VDADphone','VDCL','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDCL : |$VDADlead_id|$CIDlead_id|insert to vicidial_closer_log"; &agi_output;} + +$stmtA = "INSERT INTO vicidial_xfer_log (lead_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$CIDlead_id','$VDADcampaign','$SQLdate','$VDADphone_code','$VDADphone','$VDADfronter','VDXL')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDXL : |$VDADlead_id|$CIDlead_id|insert to vicidial_xferr_log"; &agi_output;} + + +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=25; +$hold_tone_counter=0; + +while ($drop_timer <= $DROP_TIME) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < 360) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + 360); + } + } + $cbc=0; + $stmtA = "SELECT next_agent_call FROM vicidial_inbound_groups where group_id='$channel_group';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $CAMP_callorder = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + $agent_call_order='order by last_call_finish'; + if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} + if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} + if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} + if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} + + $rec_countWAIT=0; + $cbc=0; + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and campaign_id = '$channel_group' and call_time < \"$SQLdateBEGIN\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($rec_countWAIT < 1) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$CIDlead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid' where status IN('CLOSER','READY') and server_ip='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and closer_campaigns LIKE \"% $VDADcampaign %\" and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|$VDADcampaign|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $cbc=0; + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where status = 'QUEUE' and server_ip='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + + $cbc++; + } + $sthA->finish(); + + $stmtA = "UPDATE vicidial_auto_calls set status='CLOSER', stage='CLOSER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL XFER : |$affected_rows|$callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_xfer_log set closer='$VDADuser' where lead_id = '$CIDlead_id' order by call_date desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDXL XFER vicidial_xfer_log update: |$affected_rows|$CIDlead_id|$VDADuser\n|$stmtA|"; &agi_output;} + + if ($AGILOG) {$agi_string = "exiting VDAD app, transferring call to $VDADconf_exten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADconf_exten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $stmtA = "UPDATE vicidial_closer_log set queue_seconds='$drop_timer' where lead_id = '$CIDlead_id' and call_date='$SQLdate';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$CIDlead_id|\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNN No available agent found"; &agi_output;} + } + } + else + { + if ($AGILOG) {$agi_string = "WWWWW VDAD XFER WAIT: |$rec_countWAIT|$channel_group|$channel|$callerid|$uniqueid|"; &agi_output;} + } + +if ($hold_message_counter > 30) + { + $AGI->stream_file('generic_hold'); + $hold_message_counter = 0; + } + else {$hold_message_counter++;} +if ($hold_tone_counter > 3) + { + $AGI->stream_file('hold_tone'); + $hold_tone_counter = 0; + } + else {$hold_tone_counter++;} + +if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } +else + { + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $drop_timer++; + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); +#if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + +} + + +if ($drop_timer >= $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $VDADvoicemail_ext = ''; + +$DROPexten = ''; +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + + if ($drop_message =~ /Y/) + { + $DROPexten = "$drop_exten"; + } + else + { + $cbc=0; + $stmtA = "SELECT voicemail_ext FROM vicidial_inbound_groups where group_id = '$channel_group' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADvoicemail_ext = "$aryA[0]"; + $VDADvoicemail_ext =~ s/\D//gi; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + $cbc++; + } + $sthA->finish(); + } + } + + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' and server_ip='$VARserver_ip' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vac record deleted: |$affected_rows| $VDADcampaign|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds',queue_seconds='$drop_seconds' where lead_id = '$CIDlead_id' order by start_epoch desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$CIDlead_id|\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='XDROP' where lead_id = '$CIDlead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vl update: |$affected_rows|$CIDlead_id|\n|$stmtA|"; &agi_output;} +} + +$dbhA->disconnect(); + + + +exit; + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inbound.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inbound.agi new file mode 100644 index 00000000..61b798c0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inbound.agi @@ -0,0 +1,743 @@ +#!/usr/bin/perl +# +# agi-VDADcloser_inbound.agi version 0.5 *DBI-version* +# +# runs when a call comes in from an inbound call. This script will +# send the calls out to the closers that are logged in. +# +# if there are no available agents, then it will check every second until an agent becomes available, +# if at the end of 360 seconds(default) it has not found an agent it will hangup the call and mark it as dropped +# +# This version asks for a 4-digit pin number to be entered and passed on as the fronter value to the closer +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ; 1. the full name of the IN GROUP to be used in vicidial for the inbound call +# ; 2. the phone number that was called, for the log entry +# ; 3. the callerID or lead_id of the person that called(usually overridden) +# ; 4. the park extension audio file name if used +# ; 5. the status of the call initially(usually not used) +# ; 6. the list_id to insert the new lead under if it is new (and callerID available) +# ; 7. the phone dialing code to insert with the new lead if new (and callerID available) +# +# ;inbound VICIDIAL calls: +#exten => 1234,1,Answer ; Answer the line +#exten => 1234,2,AGI(agi-VDADcloser_inbound.agi,CL_GALLERIA-----7274515134-----Closer-----park----------999-----1) +#exten => 1234,3,Hangup +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# +# changes: +# 60504-1224 - Added drop second/message/exten options from inbound_group +# 60811-1003 - Changed to DBI by Marin Blu +# 60811-1145 - changed to use /etc/astguiclient.conf for configs +# 60821-1021 - added output options check from database +# - changed look for agent every 0.5 second for first 4 sec on hold +# 60905-1047 - changed look for agent every 0.25 second for first 4 sec on hold +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# + +$script = 'agi-VDADcloser_inbound.agi'; + +$DROP_TIME = 360; ### number of seconds to wait until you drop a waiting call + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + ### list of command-line array arguments: + @ARGV_vars = split(/-----/, $ARGV[0]); + + $channel_group = $ARGV_vars[0]; + $inbound_number = $ARGV_vars[1]; + $parked_by = $ARGV_vars[2]; + $park_extension = $ARGV_vars[3]; + $status = $ARGV_vars[4]; + $list_id = $ARGV_vars[5]; + $phone_code = $ARGV_vars[6]; + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + + +# if ($channel =~ /^SIP/) {$channel =~ s/-.*//gi;} +# if ($channel =~ /^Zap\//) {$channel =~ s/-\d$//gi;} + if (length($callerid)<10) {$callerid = $parked_by;} + if (length($pin)>0) {$callerid = $pin;} + + $phone_number=''; + + ### allow for external callerid to be collected +# if ($extension =~ /\*\d\d\d\d\d\d\d\d\d\d\*/) +# { +# @EXT_vars = split(/\*/, $extension); +# +# $referring_extension = $EXT_vars[0]; # initial extension sent +# $channel_group = $EXT_vars[1]; # name of the parked group +# $inbound_number = $EXT_vars[2]; # extension to send call to after parsing +# $parked_by = $EXT_vars[3]; # leadID +# $park_extension = $EXT_vars[4]; # filename of the on-hold music file +# $comment_d = $EXT_vars[5]; # N/A +# $comment_e = $EXT_vars[6]; # N/A +# +# $PADlead_id = sprintf("%09s", $parked_by); while (length($PADlead_id) > 9) {chop($PADlead_id);} +# # JmmddhhmmssLLLLLLLLL +# $JqueryCID = "J$CIDdate$PADlead_id"; +# $callerid = $JqueryCID; +# ### set the callerid to the filename of the audio for on-hold +# print "SET CALLERID $JqueryCID\n"; +# checkresult($result); +# print STDERR "callerID changed: $JqueryCID\n"; +# } +} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + +$AGI->stream_file('beep'); + +&enter_pin_number; + +$fronter = $pin; + +if ($AGILOG) {$agi_string = "+++++ INBOUND CALL VDCL STARTED : |$channel_group|$callerid-$pin|$now_date"; &agi_output;} + +$VDADphone=''; +$VDADphone_code=''; + +if ($channel =~ /Local/i) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +exit; +} + +### Grab Server values from the database +$cbc=0; +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + $cbc++; + } +$sthA->finish(); + +### insert a record into the vicidial_list table +$stmtA = "INSERT INTO vicidial_list (entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,called_since_last_reset,phone_code,phone_number,security_phrase,called_count,gmt_offset_now) values('$SQLdate','$tsSQLdate','INBND','$fronter','$inbound_number','VDCL','$list_id','Y','$phone_code','$phone_number','$channel_group','1','-5.00');"; +$affected_rows = $dbhA->do($stmtA); +$cbc=0; +$stmtA = "select LAST_INSERT_ID() LIMIT 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $insert_lead_id = "$aryA[0]"; + $cbc++; + } +$sthA->finish(); + +$new_lead_id = $insert_lead_id; +if ($AGILOG) {$agi_string = "|$stmtA|$new_lead_id|"; &agi_output;} + +$PADlead_id = sprintf("%09s", $new_lead_id); while (length($PADlead_id) > 9) {chop($PADlead_id);} +# YmmddhhmmssLLLLLLLLL + $YqueryCID = "Y$CIDdate$PADlead_id"; + $callerid = $YqueryCID; +### set the callerid +print "SET CALLERID $YqueryCID\n"; +checkresult($result); +if ($AGILOG) {$agi_string = "callerID changed: $YqueryCID"; &agi_output;} + +### Grab inbound_group values from the database +$cbc=0; +$stmtA = "SELECT drop_call_seconds,drop_message,drop_exten FROM vicidial_inbound_groups where group_id = '$channel_group';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $DBdrop_call_seconds = "$aryA[0]"; + $DBdrop_message = "$aryA[1]"; + $DBdrop_exten = "$aryA[2]"; + if ($DBdrop_call_seconds) {$DROP_TIME = $DBdrop_call_seconds;} + if ($DBdrop_message) {$drop_message = $DBdrop_message;} + if ($DBdrop_exten) {$drop_exten = $DBdrop_exten;} + $cbc++; + } +$sthA->finish(); + + +### insert a LIVE record to the vicidial_auto_calls table +$stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,uniqueid,callerid,channel,phone_code,phone_number,call_time,call_type,stage) values('$VARserver_ip','$channel_group','LIVE','$new_lead_id','$uniqueid','$callerid','$channel','$phone_code','$phone_number','$SQLdate','IN','LIVE-0')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); + +$stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$uniqueid','$new_lead_id','$channel_group','$SQLdate','$now_date_epoch','XFER','$phone_code','$phone_number','$fronter','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD : |$new_lead_id|$fronter|insert to vicidial_log: $uniqueid"; &agi_output;} + +$stmtA = "INSERT INTO vicidial_closer_log (lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$new_lead_id','$channel_group','$SQLdate','$now_date_epoch','QUEUE','$phone_code','$phone_number','VDCL','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDCL : |$new_lead_id|insert to vicidial_closer_log"; &agi_output;} + +$stmtA = "INSERT INTO vicidial_xfer_log (lead_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$new_lead_id','$channel_group','$SQLdate','$phone_code','$phone_number','$fronter','VDXL')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDXL : |$new_lead_id|insert to vicidial_xfer_log"; &agi_output;} + +$VDADlead_id = $new_lead_id; + +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=25; +$hold_tone_counter=0; + +while ($drop_timer <= $DROP_TIME) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < 360) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + 360); + } + } + $cbc=0; + $stmtA = "SELECT next_agent_call FROM vicidial_inbound_groups where group_id='$channel_group';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $CAMP_callorder = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + $agent_call_order='order by last_call_finish'; + if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} + if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} + if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} + if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} + + $rec_countWAIT=0; + $cbc=0; + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and campaign_id = '$channel_group' and call_time < \"$SQLdateBEGIN\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + + if ($rec_countWAIT < 1) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$new_lead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid' where status IN('CLOSER','READY') and server_ip='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and closer_campaigns LIKE \"% $channel_group %\" and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|$channel_group|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $cbc=0; + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where status = 'QUEUE' and server_ip='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + + $cbc++; + } + $sthA->finish(); + + $stmtA = "UPDATE vicidial_auto_calls set status='CLOSER', stage='CLOSER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL XFER : |$affected_rows|$callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_xfer_log set closer='$VDADuser' where lead_id = '$new_lead_id' order by call_date desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDXL XFER vicidial_xfer_log update: |$affected_rows|$new_lead_id|$VDADuser\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set user='$VDADuser' where lead_id='$new_lead_id' order by call_date desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- closer log : |$affected_rows|$new_lead_id\n|$stmtA|"; &agi_output;} + + if ($AGILOG) {$agi_string = "exiting VDAD app, transferring call to $VDADconf_exten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADconf_exten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $stmtA = "UPDATE vicidial_closer_log set queue_seconds='$drop_timer' where lead_id = '$new_lead_id' and call_date='$SQLdate';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNN No available agent found"; &agi_output;} + } + } + else + { + if ($AGILOG) {$agi_string = "WWWWW VDAD XFER WAIT: |$rec_countWAIT|$channel_group|$channel|$callerid|$uniqueid|"; &agi_output;} + } + +if ($hold_message_counter > 30) + { + $AGI->stream_file('generic_hold'); + $hold_message_counter = 0; + } + else {$hold_message_counter++;} +if ($hold_tone_counter > 3) + { + $AGI->stream_file('hold_tone'); + $hold_tone_counter = 0; + } + else {$hold_tone_counter++;} + +if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } +else + { + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $drop_timer++; + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); +#if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + +} + + +if ($drop_timer >= $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $VDADvoicemail_ext = ''; + +$DROPexten = ''; +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + + if ($drop_message =~ /Y/) + { + $DROPexten = "$drop_exten"; + } + else + { + $cbc=0; + $stmtA = "SELECT voicemail_ext FROM vicidial_inbound_groups where group_id = '$channel_group' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADvoicemail_ext = "$aryA[0]"; + $VDADvoicemail_ext =~ s/\D//gi; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + $cbc++; + } + $sthA->finish(); + } + } + + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' and server_ip='$VARserver_ip' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vac record deleted: |$affected_rows| $VDADcampaign|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds',queue_seconds='$drop_seconds' where lead_id = '$new_lead_id' order by start_epoch desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='XDROP' where lead_id = '$new_lead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} +} + +$dbhA->disconnect(); + +exit; + +sub enter_pin_number +{ +# please enter the pin number followed by the pound key +# please enter your 4 digit pin number + +$digit=''; +undef $digit; +$interrupt_digit=''; +undef $interrupt_digit; + +$interrupt_digit = $AGI->stream_file('four_digit_id','123456789'); + + if ($AGILOG) {$agi_string = "interrupt_digit |$interrupt_digit|"; &agi_output;} + +$digits_being_entered=1; +$totalDTMF=''; +if ($interrupt_digit > 1) + { + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + + $totalDTMF=$interrupt_digit; + } + +$digit_loop_counter=0; +#while ( ($digits_being_entered) && ($digit_loop_counter < 20) ) +# { +# $digit = chr($AGI->wait_for_digit('30000')); # wait 30 seconds for input or until the pound key is pressed +# if ($digit =~ /\d/) +# { +# $totalDTMF = "$totalDTMF$digit"; +# print STDERR "digit |$digit| TotalDTMF |$totalDTMF|\n"; +# $AGI->say_digits("$digit"); +# undef $digit; +# } +# else +# { +# $digits_being_entered=0; +# } +# +# $digit_loop_counter++; +# } + +while ( ($digit_loop_counter < 4) ) + { + $digit = chr($AGI->wait_for_digit('10000')); # wait 10 seconds for input or until the pound key is pressed + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digit_loop_counter=4; + } + + $digit_loop_counter++; + } + +$totalDTMF =~ s/\D//gi; +$pin = $totalDTMF; +if ($totalDTMF) {if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;}} +} + + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + +### you're call is very important to us, please stay on the line and you will be transferred to the next available agent + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inboundANI.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inboundANI.agi new file mode 100644 index 00000000..8fd4d19f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inboundANI.agi @@ -0,0 +1,723 @@ +#!/usr/bin/perl +# +# agi-VDADcloser_inboundANI.agi version 0.5 *DBI-version* +# +# runs when a call comes in from an inbound call. This script will +# send the calls out to the closers that are logged in. +# *** This version detects inbound callerID over robbed-bit T1 ANI delivery *** +# +# if there are no available agents, then it will check every second until an agent becomes available, +# if at the end of 360 seconds(default) it has not found an agent it will hangup the call and mark it as dropped +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ; 1. the full name of the IN GROUP to be used in vicidial for the inbound call +# ; 2. the phone number that was called, for the log entry +# ; 3. the callerID or lead_id of the person that called(usually overridden) +# ; 4. the park extension audio file name if used +# ; 5. the status of the call initially(usually not used) +# ; 6. the list_id to insert the new lead under if it is new (and callerID available) +# ; 7. the phone dialing code to insert with the new lead if new (and callerID available) +# +# ;inbound VICIDIAL calls: +#exten => 1234,1,Answer ; Answer the line +#exten => 1234,2,AGI(agi-VDADcloser_inboundANI.agi,CL_GALLERIA-----7274515134-----Closer-----park----------999-----1) +#exten => 1234,3,Hangup +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# +# changes: +# 60504-1240 - Added drop second/message/exten options from inbound_group +# 60811-1003 - Changed to DBI by Marin Blu +# 60811-1145 - changed to use /etc/astguiclient.conf for configs +# 60821-1021 - added output options check from database +# - changed look for agent every 0.5 second for first 4 sec on hold +# 60905-1047 - changed look for agent every 0.25 second for first 4 sec on hold +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# + +$script = 'agi-VDADcloser_inboundANI.agi'; + +$DROP_TIME = 360; ### number of seconds to wait until you drop a waiting call + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + ### list of command-line array arguments: + @ARGV_vars = split(/-----/, $ARGV[0]); + + $channel_group = $ARGV_vars[0]; + $inbound_number = $ARGV_vars[1]; + $parked_by = $ARGV_vars[2]; + $park_extension = $ARGV_vars[3]; + $status = $ARGV_vars[4]; + $list_id = $ARGV_vars[5]; + $phone_code = $ARGV_vars[6]; + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + +# if ( ($callerid =~ /\".*\"/) && ( (!$calleridname) or ($calleridname =~ /unknown/) ) ) +# { +# $calleridname = $callerid; +# $calleridname =~ s/\<\d\d\d\d\d\d\d\d\d\d\>//gi; +# $calleridname =~ s/\"|\" //gi; +# } + + $callerid =~ s/\D//gi; + $calleridname =~ s/unknown//gi; +# if ( (!$callerid) or ($callerid =~ /unknown/) ) +# {$callerid = $calleridname;} + + if (length($callerid)>0) {$phone_number = $callerid;} + else {$phone_number = '';} + if (length($calleridname)>0) {$VLcomments = $calleridname;} + else {$VLcomments = '';} + +# if ($channel =~ /^SIP/) {$channel =~ s/-.*//gi;} +# if ($channel =~ /^Zap\//) {$channel =~ s/-\d$//gi;} + if (length($callerid)<10) {$callerid = $parked_by;} + if (length($pin)>0) {$callerid = $pin;} + + + ### allow for external callerid to be collected from ANI *NXXNXXXXXX*DNIS + if ($extension =~ /\*\d\d\d\d\d\d\d\d\d\d\*/) + { + @EXT_vars = split(/\*/, $extension); + + $phone_number = $EXT_vars[1]; # ANI phone number + $DNIS = $EXT_vars[2]; # name of the parked group + } +} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + +$AGI->stream_file('beep'); + +#&enter_pin_number; + +$pin = $inbound_number; + +$fronter = $pin; + +if ($AGILOG) {$agi_string = "+++++ INBOUND CALL VDCL STARTED : |$channel_group|$callerid-$pin|$now_date"; &agi_output;} + +$VDADphone=''; +$VDADphone_code=''; + +if ($channel =~ /Local/i) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +exit; +} + +### Grab Server values from the database +$cbc=0; +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + $cbc++; + } +$sthA->finish(); + +### insert a record into the vicidial_list table +$stmtA = "INSERT INTO vicidial_list (entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,called_since_last_reset,phone_code,phone_number,security_phrase,called_count,gmt_offset_now,comments) values('$SQLdate','$tsSQLdate','INBND','$fronter','$inbound_number','VDCL','$list_id','Y','$phone_code','$phone_number','$channel_group','1','-5.00','$VLcomments');"; +$affected_rows = $dbhA->do($stmtA); +$cbc=0; +$stmtA = "select LAST_INSERT_ID() LIMIT 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $insert_lead_id = "$aryA[0]"; + $cbc++; + } +$sthA->finish(); + +$new_lead_id = $insert_lead_id; +if ($AGILOG) {$agi_string = "|$stmtA|$new_lead_id|"; &agi_output;} + +$PADlead_id = sprintf("%09s", $new_lead_id); while (length($PADlead_id) > 9) {chop($PADlead_id);} +# YmmddhhmmssLLLLLLLLL + $YqueryCID = "Y$CIDdate$PADlead_id"; + $callerid = $YqueryCID; +### set the callerid +print "SET CALLERID $YqueryCID\n"; +checkresult($result); +if ($AGILOG) {$agi_string = "callerID changed: $YqueryCID"; &agi_output;} + +### Grab inbound_group values from the database +$cbc=0; +$stmtA = "SELECT drop_call_seconds,drop_message,drop_exten FROM vicidial_inbound_groups where group_id = '$channel_group';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $DBdrop_call_seconds = "$aryA[0]"; + $DBdrop_message = "$aryA[1]"; + $DBdrop_exten = "$aryA[2]"; + if ($DBdrop_call_seconds) {$DROP_TIME = $DBdrop_call_seconds;} + if ($DBdrop_message) {$drop_message = $DBdrop_message;} + if ($DBdrop_exten) {$drop_exten = $DBdrop_exten;} + $cbc++; + } +$sthA->finish(); + + +### insert a LIVE record to the vicidial_auto_calls table +$stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,uniqueid,callerid,channel,phone_code,phone_number,call_time,call_type,stage) values('$VARserver_ip','$channel_group','LIVE','$new_lead_id','$uniqueid','$callerid','$channel','$phone_code','$phone_number','$SQLdate','IN','LIVE-0')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); + +$stmtA = "INSERT INTO vicidial_closer_log (lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$new_lead_id','$channel_group','$SQLdate','$now_date_epoch','QUEUE','$phone_code','$phone_number','VDCL','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDCL : |$new_lead_id|insert to vicidial_closer_log"; &agi_output;} + +$VDADlead_id = $new_lead_id; + +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=25; +$hold_tone_counter=0; + +while ($drop_timer <= $DROP_TIME) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < 360) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + 360); + } + } + $cbc=0; + $stmtA = "SELECT next_agent_call FROM vicidial_inbound_groups where group_id='$channel_group';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $CAMP_callorder = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + $agent_call_order='order by last_call_finish'; + if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} + if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} + if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} + if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} + + $rec_countWAIT=0; + $cbc=0; + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and campaign_id = '$channel_group' and call_time < \"$SQLdateBEGIN\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($rec_countWAIT < 1) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$new_lead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid' where status IN('CLOSER','READY') and server_ip='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and closer_campaigns LIKE \"% $channel_group %\" and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|$channel_group|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $cbc=0; + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where status = 'QUEUE' and server_ip='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + + $cbc++; + } + $sthA->finish(); + + $stmtA = "UPDATE vicidial_auto_calls set status='CLOSER', stage='CLOSER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL XFER : |$affected_rows|$callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set user='$VDADuser' where lead_id='$new_lead_id' order by call_date desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- closer log : |$affected_rows|$new_lead_id\n|$stmtA|"; &agi_output;} + + if ($AGILOG) {$agi_string = "exiting VDAD app, transferring call to $VDADconf_exten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADconf_exten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $stmtA = "UPDATE vicidial_closer_log set queue_seconds='$drop_timer' where lead_id = '$new_lead_id' and call_date='$SQLdate';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNN No available agent found"; &agi_output;} + } + } + else + { + if ($AGILOG) {$agi_string = "WWWWW VDAD XFER WAIT: |$rec_countWAIT|$channel_group|$channel|$callerid|$uniqueid|"; &agi_output;} + } + +if ($hold_message_counter > 30) + { + $AGI->stream_file('generic_hold'); + $hold_message_counter = 0; + } + else {$hold_message_counter++;} +if ($hold_tone_counter > 3) + { + $AGI->stream_file('hold_tone'); + $hold_tone_counter = 0; + } + else {$hold_tone_counter++;} + +if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } +else + { + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $drop_timer++; + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); +#if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + +} + + +if ($drop_timer >= $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $VDADvoicemail_ext = ''; + +$DROPexten = ''; +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + + if ($drop_message =~ /Y/) + { + $DROPexten = "$drop_exten"; + } + else + { + $cbc=0; + $stmtA = "SELECT voicemail_ext FROM vicidial_inbound_groups where group_id = '$channel_group' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADvoicemail_ext = "$aryA[0]"; + $VDADvoicemail_ext =~ s/\D//gi; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + $cbc++; + } + $sthA->finish(); + } + } + + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' and server_ip='$VARserver_ip' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vac record deleted: |$affected_rows| $VDADcampaign|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds',queue_seconds='$drop_seconds' where lead_id = '$new_lead_id' order by start_epoch desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='XDROP' where lead_id = '$new_lead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} +} + +$dbhA->disconnect(); + +exit; + +sub enter_pin_number +{ +# please enter the pin number followed by the pound key +# please enter your 4 digit pin number + +$interrupt_digit=''; +undef $interrupt_digit; + +$interrupt_digit = $AGI->stream_file('four_digit_id','123456789'); + + if ($AGILOG) {$agi_string = "interrupt_digit |$interrupt_digit|"; &agi_output;} + +$digits_being_entered=1; +$totalDTMF=''; +if ($interrupt_digit > 1) + { + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + + $totalDTMF=$interrupt_digit; + } + +$digit_loop_counter=0; +#while ( ($digits_being_entered) && ($digit_loop_counter < 20) ) +# { +# $digit = chr($AGI->wait_for_digit('30000')); # wait 30 seconds for input or until the pound key is pressed +# if ($digit =~ /\d/) +# { +# $totalDTMF = "$totalDTMF$digit"; +# print STDERR "digit |$digit| TotalDTMF |$totalDTMF|\n"; +# $AGI->say_digits("$digit"); +# undef $digit; +# } +# else +# { +# $digits_being_entered=0; +# } +# +# $digit_loop_counter++; +# } + +while ( ($digit_loop_counter < 4) ) + { + $digit = chr($AGI->wait_for_digit('10000')); # wait 10 seconds for input or until the pound key is pressed + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digit_loop_counter=4; + } + + $digit_loop_counter++; + } + +$totalDTMF =~ s/\D//gi; +$pin = $totalDTMF; +if ($totalDTMF) {if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;}} +} + + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inboundCID.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inboundCID.agi new file mode 100644 index 00000000..6481351f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inboundCID.agi @@ -0,0 +1,739 @@ +#!/usr/bin/perl +# +# agi-VDADcloser_inboundCID.agi version 0.5 *DBI-version* +# +# runs when a call comes in from an inbound call. This script will +# send the calls out to the closers that are logged in. +# *** This version detects inbound callerID over PRI *** +# +# if there are no available agents, then it will check every second until an agent becomes available, +# if at the end of 360 seconds(default) it has not found an agent it will hangup the call and mark it as dropped +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ; 1. the full name of the IN GROUP to be used in vicidial for the inbound call +# ; 2. the phone number that was called, for the log entry +# ; 3. the callerID or lead_id of the person that called(usually overridden) +# ; 4. the park extension audio file name if used +# ; 5. the status of the call initially(usually not used) +# ; 6. the list_id to insert the new lead under if it is new (and callerID available) +# ; 7. the phone dialing code to insert with the new lead if new (and callerID available) +# +# ;inbound VICIDIAL calls: +#exten => 1234,1,Ringing ; call ringing +#exten => 1234,2,Wait(1) ; Wait 1 second for CID delivery from PRI +#exten => 1234,3,Answer ; Answer the line +#exten => 1234,4,AGI(agi-VDADcloser_inboundCID.agi,CL_GALLERIA-----7275555134-----Closer-----park----------999-----1) +#exten => 1234,5,Hangup +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# +# changes: +# 60504-1241 - Added drop second/message/exten options from inbound_group +# 60811-1003 - Changed to DBI by Marin Blu +# 60811-1145 - changed to use /etc/astguiclient.conf for configs +# 60821-1021 - added output options check from database +# - changed look for agent every 0.5 second for first 4 sec on hold +# 60905-1047 - changed look for agent every 0.25 second for first 4 sec on hold +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# + +$script = 'agi-VDADcloser_inboundCID.agi'; + +$DROP_TIME = 360; ### number of seconds to wait until you drop a waiting call + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + ### list of command-line array arguments: + @ARGV_vars = split(/-----/, $ARGV[0]); + + $channel_group = $ARGV_vars[0]; + $inbound_number = $ARGV_vars[1]; + $parked_by = $ARGV_vars[2]; + $park_extension = $ARGV_vars[3]; + $status = $ARGV_vars[4]; + $list_id = $ARGV_vars[5]; + $phone_code = $ARGV_vars[6]; + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + + if ( ($callerid =~ /\".*\"/) && ( (!$calleridname) or ($calleridname =~ /unknown/) ) ) + { + $calleridname = $callerid; + $calleridname =~ s/\<\d\d\d\d\d\d\d\d\d\d\>//gi; + $calleridname =~ s/\"|\" //gi; + } + + $callerid =~ s/\D//gi; + $calleridname =~ s/unknown//gi; + if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + + if (length($callerid)>0) {$phone_number = $callerid;} + else {$phone_number = '';} + if (length($calleridname)>0) {$VLcomments = $calleridname;} + else {$VLcomments = '';} + +# if ($channel =~ /^SIP/) {$channel =~ s/-.*//gi;} +# if ($channel =~ /^Zap\//) {$channel =~ s/-\d$//gi;} + if (length($callerid)<10) {$callerid = $parked_by;} + if (length($pin)>0) {$callerid = $pin;} + + + ### allow for external callerid to be collected +# if ($extension =~ /\*\d\d\d\d\d\d\d\d\d\d\*/) +# { +# @EXT_vars = split(/\*/, $extension); +# +# $referring_extension = $EXT_vars[0]; # initial extension sent +# $channel_group = $EXT_vars[1]; # name of the parked group +# $inbound_number = $EXT_vars[2]; # extension to send call to after parsing +# $parked_by = $EXT_vars[3]; # leadID +# $park_extension = $EXT_vars[4]; # filename of the on-hold music file +# $comment_d = $EXT_vars[5]; # N/A +# $comment_e = $EXT_vars[6]; # N/A +# +# $PADlead_id = sprintf("%09s", $parked_by); while (length($PADlead_id) > 9) {chop($PADlead_id);} +# # JmmddhhmmssLLLLLLLLL +# $JqueryCID = "J$CIDdate$PADlead_id"; +# $callerid = $JqueryCID; +# ### set the callerid to the filename of the audio for on-hold +# print "SET CALLERID $JqueryCID\n"; +# checkresult($result); +# print STDERR "callerID changed: $JqueryCID\n"; +# } +} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + +$AGI->stream_file('beep'); + +#&enter_pin_number; + +$pin = $inbound_number; + +$fronter = $pin; + +if ($AGILOG) {$agi_string = "+++++ INBOUND CALL VDCL STARTED : |$channel_group|$callerid-$pin|$now_date"; &agi_output;} + +$VDADphone=''; +$VDADphone_code=''; + +if ($channel =~ /Local/i) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +exit; +} + +### Grab Server values from the database +$cbc=0; +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + $cbc++; + } +$sthA->finish(); + + +### insert a record into the vicidial_list table +$stmtA = "INSERT INTO vicidial_list (entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,called_since_last_reset,phone_code,phone_number,security_phrase,called_count,gmt_offset_now,comments) values('$SQLdate','$tsSQLdate','INBND','$fronter','$inbound_number','VDCL','$list_id','Y','$phone_code','$phone_number','$channel_group','1','-5.00','$VLcomments');"; +$affected_rows = $dbhA->do($stmtA); +$cbc=0; +$stmtA = "select LAST_INSERT_ID() LIMIT 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $insert_lead_id = "$aryA[0]"; + $cbc++; + } +$sthA->finish(); + +$new_lead_id = $insert_lead_id; +if ($AGILOG) {$agi_string = "|$stmtA|$new_lead_id|"; &agi_output;} + +$PADlead_id = sprintf("%09s", $new_lead_id); while (length($PADlead_id) > 9) {chop($PADlead_id);} +# YmmddhhmmssLLLLLLLLL + $YqueryCID = "Y$CIDdate$PADlead_id"; + $callerid = $YqueryCID; +### set the callerid +print "SET CALLERID $YqueryCID\n"; +checkresult($result); +if ($AGILOG) {$agi_string = "callerID changed: $YqueryCID"; &agi_output;} + +### Grab inbound_group values from the database +$cbc=0; +$stmtA = "SELECT drop_call_seconds,drop_message,drop_exten FROM vicidial_inbound_groups where group_id = '$channel_group';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $DBdrop_call_seconds = "$aryA[0]"; + $DBdrop_message = "$aryA[1]"; + $DBdrop_exten = "$aryA[2]"; + if ($DBdrop_call_seconds) {$DROP_TIME = $DBdrop_call_seconds;} + if ($DBdrop_message) {$drop_message = $DBdrop_message;} + if ($DBdrop_exten) {$drop_exten = $DBdrop_exten;} + $cbc++; + } +$sthA->finish(); + +### insert a LIVE record to the vicidial_auto_calls table +$stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,uniqueid,callerid,channel,phone_code,phone_number,call_time,call_type,stage) values('$VARserver_ip','$channel_group','LIVE','$new_lead_id','$uniqueid','$callerid','$channel','$phone_code','$phone_number','$SQLdate','IN','LIVE-0')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); + +$stmtA = "INSERT INTO vicidial_closer_log (lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$new_lead_id','$channel_group','$SQLdate','$now_date_epoch','QUEUE','$phone_code','$phone_number','VDCL','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDCL : |$new_lead_id|insert to vicidial_closer_log"; &agi_output;} + +$VDADlead_id = $new_lead_id; + +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=25; +$hold_tone_counter=0; + +while ($drop_timer <= $DROP_TIME) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < 360) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + 360); + } + } + $cbc=0; + $stmtA = "SELECT next_agent_call FROM vicidial_inbound_groups where group_id='$channel_group';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $CAMP_callorder = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + $agent_call_order='order by last_call_finish'; + if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} + if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} + if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} + if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} + + $rec_countWAIT=0; + $cbc=0; + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and campaign_id = '$channel_group' and call_time < \"$SQLdateBEGIN\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($rec_countWAIT < 1) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$new_lead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid' where status IN('CLOSER','READY') and server_ip='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and closer_campaigns LIKE \"% $channel_group %\" and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|$channel_group|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $cbc=0; + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where status = 'QUEUE' and server_ip='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + + $cbc++; + } + $sthA->finish(); + + $stmtA = "UPDATE vicidial_auto_calls set status='CLOSER', stage='CLOSER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL XFER : |$affected_rows|$callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set user='$VDADuser' where lead_id='$new_lead_id' order by call_date desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- closer log : |$affected_rows|$new_lead_id\n|$stmtA|"; &agi_output;} + + if ($AGILOG) {$agi_string = "exiting VDAD app, transferring call to $VDADconf_exten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADconf_exten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $stmtA = "UPDATE vicidial_closer_log set queue_seconds='$drop_timer' where lead_id = '$new_lead_id' and call_date='$SQLdate';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNN No available agent found"; &agi_output;} + } + } + else + { + if ($AGILOG) {$agi_string = "WWWWW VDAD XFER WAIT: |$rec_countWAIT|$channel_group|$channel|$callerid|$uniqueid|"; &agi_output;} + } + +if ($hold_message_counter > 30) + { + $AGI->stream_file('generic_hold'); + $hold_message_counter = 0; + } + else {$hold_message_counter++;} +if ($hold_tone_counter > 3) + { + $AGI->stream_file('hold_tone'); + $hold_tone_counter = 0; + } + else {$hold_tone_counter++;} + +if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } +else + { + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $drop_timer++; + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); +#if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + +} + + +if ($drop_timer >= $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $VDADvoicemail_ext = ''; + +$DROPexten = ''; +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + + if ($drop_message =~ /Y/) + { + $DROPexten = "$drop_exten"; + } + else + { + $cbc=0; + $stmtA = "SELECT voicemail_ext FROM vicidial_inbound_groups where group_id = '$channel_group' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADvoicemail_ext = "$aryA[0]"; + $VDADvoicemail_ext =~ s/\D//gi; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + $cbc++; + } + $sthA->finish(); + } + } + + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' and server_ip='$VARserver_ip' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vac record deleted: |$affected_rows| $VDADcampaign|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds',queue_seconds='$drop_seconds' where lead_id = '$new_lead_id' order by start_epoch desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='XDROP' where lead_id = '$new_lead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} +} + +$dbhA->disconnect(); + +exit; + +sub enter_pin_number +{ +# please enter the pin number followed by the pound key +# please enter your 4 digit pin number + +$interrupt_digit=''; +undef $interrupt_digit; + +$interrupt_digit = $AGI->stream_file('four_digit_id','123456789'); + + if ($AGILOG) {$agi_string = "interrupt_digit |$interrupt_digit|"; &agi_output;} + +$digits_being_entered=1; +$totalDTMF=''; +if ($interrupt_digit > 1) + { + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + + $totalDTMF=$interrupt_digit; + } + +$digit_loop_counter=0; +#while ( ($digits_being_entered) && ($digit_loop_counter < 20) ) +# { +# $digit = chr($AGI->wait_for_digit('30000')); # wait 30 seconds for input or until the pound key is pressed +# if ($digit =~ /\d/) +# { +# $totalDTMF = "$totalDTMF$digit"; +# print STDERR "digit |$digit| TotalDTMF |$totalDTMF|\n"; +# $AGI->say_digits("$digit"); +# undef $digit; +# } +# else +# { +# $digits_being_entered=0; +# } +# +# $digit_loop_counter++; +# } + +while ( ($digit_loop_counter < 4) ) + { + $digit = chr($AGI->wait_for_digit('10000')); # wait 10 seconds for input or until the pound key is pressed + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digit_loop_counter=4; + } + + $digit_loop_counter++; + } + +$totalDTMF =~ s/\D//gi; +$pin = $totalDTMF; +if ($totalDTMF) {if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;}} +} + + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inboundCIDlookup.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inboundCIDlookup.agi new file mode 100644 index 00000000..d45023a8 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inboundCIDlookup.agi @@ -0,0 +1,760 @@ +#!/usr/bin/perl +# +# agi-VDADcloser_inboundCIDlookup.agi version 0.5 *DBI-version* +# +# runs when a call comes in from an inbound call. This script will +# send the calls out to the closers that are logged in. +# *** This version detects inbound callerID over PRI *** +# +# if there are no available agents, then it will check every second until an agent becomes available, +# if at the end of 360 seconds(default) it has not found an agent it will hangup the call and mark it as dropped +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ; 1. the full name of the IN GROUP to be used in vicidial for the inbound call +# ; 2. the phone number that was called, for the log entry +# ; 3. the callerID or lead_id of the person that called(usually overridden) +# ; 4. the park extension audio file name if used +# ; 5. the status of the call initially(usually not used) +# ; 6. the list_id to insert the new lead under if it is new (and callerID available) +# ; 7. the phone dialing code to insert with the new lead if new (and callerID available) +# +# ;inbound VICIDIAL calls: +#exten => 1234,1,Ringing ; call ringing +#exten => 1234,2,Wait(1) ; Wait 1 second for CID delivery from PRI +#exten => 1234,3,Answer ; Answer the line +#exten => 1234,4,AGI(agi-VDADcloser_inboundCIDlookup.agi,CL_GALLERIA-----7275555134-----Closer-----park----------999-----1) +#exten => 1234,5,Hangup +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# +# changes: +# 60504-1242 - Added drop second/message/exten options from inbound_group +# 60811-1003 - Changed to DBI by Marin Blu +# 60811-1145 - changed to use /etc/astguiclient.conf for configs +# 60821-1021 - added output options check from database +# - changed look for agent every 0.5 second for first 4 sec on hold +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# + +$script = 'agi-VDADcloser_inboundCIDlookup.agi'; + +$DROP_TIME = 360; ### number of seconds to wait until you drop a waiting call + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + ### list of command-line array arguments: + @ARGV_vars = split(/-----/, $ARGV[0]); + + $channel_group = $ARGV_vars[0]; + $inbound_number = $ARGV_vars[1]; + $parked_by = $ARGV_vars[2]; + $park_extension = $ARGV_vars[3]; + $status = $ARGV_vars[4]; + $list_id = $ARGV_vars[5]; + $phone_code = $ARGV_vars[6]; + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + + if ( ($callerid =~ /\".*\"/) && ( (!$calleridname) or ($calleridname =~ /unknown/) ) ) + { + $calleridname = $callerid; + $calleridname =~ s/\<\d\d\d\d\d\d\d\d\d\d\>//gi; + $calleridname =~ s/\"|\" //gi; + } + + $callerid =~ s/\D//gi; + $calleridname =~ s/unknown//gi; + if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + + if (length($callerid)>0) {$phone_number = $callerid;} + else {$phone_number = '';} + if (length($calleridname)>0) {$VLcomments = $calleridname;} + else {$VLcomments = '';} + +# if ($channel =~ /^SIP/) {$channel =~ s/-.*//gi;} +# if ($channel =~ /^Zap\//) {$channel =~ s/-\d$//gi;} + if (length($callerid)<10) {$callerid = $parked_by;} + if (length($pin)>0) {$callerid = $pin;} + + + ### allow for external callerid to be collected +# if ($extension =~ /\*\d\d\d\d\d\d\d\d\d\d\*/) +# { +# @EXT_vars = split(/\*/, $extension); +# +# $referring_extension = $EXT_vars[0]; # initial extension sent +# $channel_group = $EXT_vars[1]; # name of the parked group +# $inbound_number = $EXT_vars[2]; # extension to send call to after parsing +# $parked_by = $EXT_vars[3]; # leadID +# $park_extension = $EXT_vars[4]; # filename of the on-hold music file +# $comment_d = $EXT_vars[5]; # N/A +# $comment_e = $EXT_vars[6]; # N/A +# +# $PADlead_id = sprintf("%09s", $parked_by); while (length($PADlead_id) > 9) {chop($PADlead_id);} +# # JmmddhhmmssLLLLLLLLL +# $JqueryCID = "J$CIDdate$PADlead_id"; +# $callerid = $JqueryCID; +# ### set the callerid to the filename of the audio for on-hold +# print "SET CALLERID $JqueryCID\n"; +# checkresult($result); +# print STDERR "callerID changed: $JqueryCID\n"; +# } +} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + +$AGI->stream_file('beep'); + +#&enter_pin_number; + +$pin = $inbound_number; + +$fronter = $pin; + +if ($AGILOG) {$agi_string = "+++++ INBOUND CALL VDCL STARTED : |$channel_group|$callerid-$pin|$now_date"; &agi_output;} + +$VDADphone=''; +$VDADphone_code=''; + +if ($channel =~ /Local/i) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +exit; +} + +### Grab Server values from the database +$cbc=0; +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + $cbc++; + } +$sthA->finish(); + +$cbc=0; +$stmtA= "SELECT lead_id from vicidial_list where list_id='$list_id' and phone_number='$phone_number' order by modify_date limit 1;"; + +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +if ($sthArows > 0) +{ + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $insert_lead_id = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); +} +else +{ + ### insert a record into the vicidial_list table + $stmtA = "INSERT INTO vicidial_list (entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,called_since_last_reset,phone_code,phone_number,security_phrase,called_count,gmt_offset_now,comments) values('$SQLdate','$tsSQLdate','INBND','$fronter','$inbound_number','VDCL','$list_id','Y','$phone_code','$phone_number','$channel_group','1','-5.00','$VLcomments');"; + $affected_rows = $dbhA->do($stmtA); + $cbc=0; + $stmtA = "select LAST_INSERT_ID() LIMIT 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $insert_lead_id = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); +} + +$new_lead_id = $insert_lead_id; +if ($AGILOG) {$agi_string = "|$stmtA|$new_lead_id|"; &agi_output;} + +$PADlead_id = sprintf("%09s", $new_lead_id); while (length($PADlead_id) > 9) {chop($PADlead_id);} +# YmmddhhmmssLLLLLLLLL + $YqueryCID = "Y$CIDdate$PADlead_id"; + $callerid = $YqueryCID; +### set the callerid +print "SET CALLERID $YqueryCID\n"; +checkresult($result); +if ($AGILOG) {$agi_string = "callerID changed: $YqueryCID"; &agi_output;} + +### Grab inbound_group values from the database +$stmtA = "SELECT drop_call_seconds,drop_message,drop_exten FROM vicidial_inbound_groups where group_id = '$channel_group';"; +$cbc=0; +$stmtA = "SELECT drop_call_seconds,drop_message,drop_exten FROM vicidial_inbound_groups where group_id = '$channel_group';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $DBdrop_call_seconds = "$aryA[0]"; + $DBdrop_message = "$aryA[1]"; + $DBdrop_exten = "$aryA[2]"; + if ($DBdrop_call_seconds) {$DROP_TIME = $DBdrop_call_seconds;} + if ($DBdrop_message) {$drop_message = $DBdrop_message;} + if ($DBdrop_exten) {$drop_exten = $DBdrop_exten;} + $cbc++; + } +$sthA->finish(); + + +### insert a LIVE record to the vicidial_auto_calls table +$stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,uniqueid,callerid,channel,phone_code,phone_number,call_time,call_type,stage) values('$VARserver_ip','$channel_group','LIVE','$new_lead_id','$uniqueid','$callerid','$channel','$phone_code','$phone_number','$SQLdate','IN','LIVE-0')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); + +$stmtA = "INSERT INTO vicidial_closer_log (lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$new_lead_id','$channel_group','$SQLdate','$now_date_epoch','QUEUE','$phone_code','$phone_number','VDCL','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDCL : |$new_lead_id|insert to vicidial_closer_log"; &agi_output;} + +$VDADlead_id = $new_lead_id; + +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=25; +$hold_tone_counter=0; + +while ($drop_timer <= $DROP_TIME) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < 360) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + 360); + } + } + $cbc=0; + $stmtA = "SELECT next_agent_call FROM vicidial_inbound_groups where group_id='$channel_group';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + $rec_countCUSTDATA=0; + @aryA = $sthA->fetchrow_array; + $CAMP_callorder = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + $agent_call_order='order by last_call_finish'; + if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} + if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} + if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} + if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} + + $rec_countWAIT=0; + $cbc=0; + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and campaign_id = '$channel_group' and call_time < \"$SQLdateBEGIN\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($rec_countWAIT < 1) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$new_lead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid' where status IN('CLOSER','READY') and server_ip='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and closer_campaigns LIKE \"% $channel_group %\" and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|$channel_group|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $cbc=0; + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where status = 'QUEUE' and server_ip='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + + $cbc++; + } + $sthA->finish(); + + $stmtA = "UPDATE vicidial_auto_calls set status='CLOSER', stage='CLOSER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL XFER : |$affected_rows|$callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set user='$VDADuser' where lead_id='$new_lead_id' order by call_date desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- closer log : |$affected_rows|$new_lead_id\n|$stmtA|"; &agi_output;} + + if ($AGILOG) {$agi_string = "exiting VDAD app, transferring call to $VDADconf_exten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADconf_exten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $stmtA = "UPDATE vicidial_closer_log set queue_seconds='$drop_timer' where lead_id = '$new_lead_id' and call_date='$SQLdate';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNN No available agent found"; &agi_output;} + } + } + else + { + if ($AGILOG) {$agi_string = "WWWWW VDAD XFER WAIT: |$rec_countWAIT|$channel_group|$channel|$callerid|$uniqueid|"; &agi_output;} + } + +if ($hold_message_counter > 30) + { + $AGI->stream_file('generic_hold'); + $hold_message_counter = 0; + } + else {$hold_message_counter++;} +if ($hold_tone_counter > 3) + { + $AGI->stream_file('hold_tone'); + $hold_tone_counter = 0; + } + else {$hold_tone_counter++;} + +if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } +else + { + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $drop_timer++; + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); +#if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + +} + + +if ($drop_timer >= $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $VDADvoicemail_ext = ''; + +$DROPexten = ''; +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + + if ($drop_message =~ /Y/) + { + $DROPexten = "$drop_exten"; + } + else + { + $cbc=0; + $stmtA = "SELECT voicemail_ext FROM vicidial_inbound_groups where group_id = '$channel_group' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADvoicemail_ext = "$aryA[0]"; + $VDADvoicemail_ext =~ s/\D//gi; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + $cbc++; + } + $sthA->finish(); + } + } + + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' and server_ip='$VARserver_ip' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vac record deleted: |$affected_rows| $VDADcampaign|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds',queue_seconds='$drop_seconds' where lead_id = '$new_lead_id' order by start_epoch desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='XDROP' where lead_id = '$new_lead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} +} + +$dbhA->disconnect(); + +exit; + +sub enter_pin_number +{ +# please enter the pin number followed by the pound key +# please enter your 4 digit pin number + +$interrupt_digit=''; +undef $interrupt_digit; + +$interrupt_digit = $AGI->stream_file('four_digit_id','123456789'); + + if ($AGILOG) {$agi_string = "interrupt_digit |$interrupt_digit|"; &agi_output;} + +$digits_being_entered=1; +$totalDTMF=''; +if ($interrupt_digit > 1) + { + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + + $totalDTMF=$interrupt_digit; + } + +$digit_loop_counter=0; +#while ( ($digits_being_entered) && ($digit_loop_counter < 20) ) +# { +# $digit = chr($AGI->wait_for_digit('30000')); # wait 30 seconds for input or until the pound key is pressed +# if ($digit =~ /\d/) +# { +# $totalDTMF = "$totalDTMF$digit"; +# print STDERR "digit |$digit| TotalDTMF |$totalDTMF|\n"; +# $AGI->say_digits("$digit"); +# undef $digit; +# } +# else +# { +# $digits_being_entered=0; +# } +# +# $digit_loop_counter++; +# } + +while ( ($digit_loop_counter < 4) ) + { + $digit = chr($AGI->wait_for_digit('10000')); # wait 10 seconds for input or until the pound key is pressed + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digit_loop_counter=4; + } + + $digit_loop_counter++; + } + +$totalDTMF =~ s/\D//gi; +$pin = $totalDTMF; +if ($totalDTMF) {if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;}} +} + + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inbound_5ID.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inbound_5ID.agi new file mode 100644 index 00000000..bef8eda0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inbound_5ID.agi @@ -0,0 +1,741 @@ +#!/usr/bin/perl +# +# agi-VDADcloser_inbound_5ID.agi version 0.5 *DBI-version* +# +# runs when a call comes in from an inbound call. This script will +# send the calls out to the closers that are logged in. +# +# if there are no available agents, then it will check every second until an agent becomes available, +# if at the end of 360 seconds(default) it has not found an agent it will hangup the call and mark it as dropped +# +# This version asks for a 5-digit pin number to be entered and passed on as the fronter value to the closer +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ; 1. the full name of the IN GROUP to be used in vicidial for the inbound call +# ; 2. the phone number that was called, for the log entry +# ; 3. the callerID or lead_id of the person that called(usually overridden) +# ; 4. the park extension audio file name if used +# ; 5. the status of the call initially(usually not used) +# ; 6. the list_id to insert the new lead under if it is new (and callerID available) +# ; 7. the phone dialing code to insert with the new lead if new (and callerID available) +# +# ;inbound VICIDIAL calls: +#exten => 1234,1,Answer ; Answer the line +#exten => 1234,2,AGI(agi-VDADcloser_inbound.agi,CL_GALLERIA-----7274515134-----Closer-----park----------999-----1) +#exten => 1234,3,Hangup +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# +# changes: +# 60504-1236 - Added drop second/message/exten options from inbound_group +# 60811-1003 - Changed to DBI by Marin Blu +# 60811-1145 - changed to use /etc/astguiclient.conf for configs +# 60821-1021 - added output options check from database +# - changed look for agent every 0.5 second for first 4 sec on hold +# 60905-1047 - changed look for agent every 0.25 second for first 4 sec on hold +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# + +$script = 'agi-VDADcloser_inbound_5ID.agi'; + +$DROP_TIME = 360; ### number of seconds to wait until you drop a waiting call + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + ### list of command-line array arguments: + @ARGV_vars = split(/-----/, $ARGV[0]); + + $channel_group = $ARGV_vars[0]; + $inbound_number = $ARGV_vars[1]; + $parked_by = $ARGV_vars[2]; + $park_extension = $ARGV_vars[3]; + $status = $ARGV_vars[4]; + $list_id = $ARGV_vars[5]; + $phone_code = $ARGV_vars[6]; + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + + +# if ($channel =~ /^SIP/) {$channel =~ s/-.*//gi;} +# if ($channel =~ /^Zap\//) {$channel =~ s/-\d$//gi;} + if (length($callerid)<10) {$callerid = $parked_by;} + if (length($pin)>0) {$callerid = $pin;} + + $phone_number=''; + + ### allow for external callerid to be collected +# if ($extension =~ /\*\d\d\d\d\d\d\d\d\d\d\*/) +# { +# @EXT_vars = split(/\*/, $extension); +# +# $referring_extension = $EXT_vars[0]; # initial extension sent +# $channel_group = $EXT_vars[1]; # name of the parked group +# $inbound_number = $EXT_vars[2]; # extension to send call to after parsing +# $parked_by = $EXT_vars[3]; # leadID +# $park_extension = $EXT_vars[4]; # filename of the on-hold music file +# $comment_d = $EXT_vars[5]; # N/A +# $comment_e = $EXT_vars[6]; # N/A +# +# $PADlead_id = sprintf("%09s", $parked_by); while (length($PADlead_id) > 9) {chop($PADlead_id);} +# # JmmddhhmmssLLLLLLLLL +# $JqueryCID = "J$CIDdate$PADlead_id"; +# $callerid = $JqueryCID; +# ### set the callerid to the filename of the audio for on-hold +# print "SET CALLERID $JqueryCID\n"; +# checkresult($result); +# print STDERR "callerID changed: $JqueryCID\n"; +# } +} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + +$AGI->stream_file('beep'); + +&enter_pin_number; + +$fronter = $pin; + +if ($AGILOG) {$agi_string = "+++++ INBOUND CALL VDCL STARTED : |$channel_group|$callerid-$pin|$now_date"; &agi_output;} + +$VDADphone=''; +$VDADphone_code=''; + +if ($channel =~ /Local/i) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +exit; +} + +### Grab Server values from the database +$cbc=0; +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + $cbc++; + } +$sthA->finish(); + +### insert a record into the vicidial_list table +$stmtA = "INSERT INTO vicidial_list (entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,called_since_last_reset,phone_code,phone_number,security_phrase,called_count,gmt_offset_now) values('$SQLdate','$tsSQLdate','INBND','$fronter','$inbound_number','VDCL','$list_id','Y','$phone_code','$phone_number','$channel_group','1','-5.00');"; +$affected_rows = $dbhA->do($stmtA); +$cbc=0; +$stmtA = "select LAST_INSERT_ID() LIMIT 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $insert_lead_id = "$aryA[0]"; + $cbc++; + } +$sthA->finish(); + +$new_lead_id = $insert_lead_id; +if ($AGILOG) {$agi_string = "|$stmtA|$new_lead_id|"; &agi_output;} + +$PADlead_id = sprintf("%09s", $new_lead_id); while (length($PADlead_id) > 9) {chop($PADlead_id);} +# YmmddhhmmssLLLLLLLLL + $YqueryCID = "Y$CIDdate$PADlead_id"; + $callerid = $YqueryCID; +### set the callerid +print "SET CALLERID $YqueryCID\n"; +checkresult($result); +if ($AGILOG) {$agi_string = "callerID changed: $YqueryCID"; &agi_output;} + +### Grab inbound_group values from the database +$cbc=0; +$stmtA = "SELECT drop_call_seconds,drop_message,drop_exten FROM vicidial_inbound_groups where group_id = '$channel_group';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $DBdrop_call_seconds = "$aryA[0]"; + $DBdrop_message = "$aryA[1]"; + $DBdrop_exten = "$aryA[2]"; + if ($DBdrop_call_seconds) {$DROP_TIME = $DBdrop_call_seconds;} + if ($DBdrop_message) {$drop_message = $DBdrop_message;} + if ($DBdrop_exten) {$drop_exten = $DBdrop_exten;} + $cbc++; + } +$sthA->finish(); + +### insert a LIVE record to the vicidial_auto_calls table +$stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,uniqueid,callerid,channel,phone_code,phone_number,call_time,call_type,stage) values('$VARserver_ip','$channel_group','LIVE','$new_lead_id','$uniqueid','$callerid','$channel','$phone_code','$phone_number','$SQLdate','IN','LIVE-0')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); + +$stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$uniqueid','$new_lead_id','$channel_group','$SQLdate','$now_date_epoch','XFER','$phone_code','$phone_number','$fronter','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD : |$new_lead_id|$fronter|insert to vicidial_log: $uniqueid"; &agi_output;} + +$stmtA = "INSERT INTO vicidial_closer_log (lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$new_lead_id','$channel_group','$SQLdate','$now_date_epoch','QUEUE','$phone_code','$phone_number','VDCL','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDCL : |$new_lead_id|insert to vicidial_closer_log"; &agi_output;} + +$stmtA = "INSERT INTO vicidial_xfer_log (lead_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$new_lead_id','$channel_group','$SQLdate','$phone_code','$phone_number','$fronter','VDXL')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDXL : |$new_lead_id|insert to vicidial_xfer_log"; &agi_output;} + +$VDADlead_id = $new_lead_id; + +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=25; +$hold_tone_counter=0; + +while ($drop_timer <= $DROP_TIME) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < 360) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + 360); + } + } + $cbc=0; + $stmtA = "SELECT next_agent_call FROM vicidial_inbound_groups where group_id='$channel_group';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $CAMP_callorder = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + $agent_call_order='order by last_call_finish'; + if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} + if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} + if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} + if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} + + $rec_countWAIT=0; + $cbc=0; + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and campaign_id = '$channel_group' and call_time < \"$SQLdateBEGIN\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($rec_countWAIT < 1) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$new_lead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid' where status IN('CLOSER','READY') and server_ip='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and closer_campaigns LIKE \"% $channel_group %\" and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|$channel_group|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $cbc=0; + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where status = 'QUEUE' and server_ip='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + + $cbc++; + } + $sthA->finish(); + + $stmtA = "UPDATE vicidial_auto_calls set status='CLOSER', stage='CLOSER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL XFER : |$affected_rows|$callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_xfer_log set closer='$VDADuser' where lead_id = '$new_lead_id' order by call_date desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDXL XFER vicidial_xfer_log update: |$affected_rows|$new_lead_id|$VDADuser\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set user='$VDADuser' where lead_id='$new_lead_id' order by call_date desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- closer log : |$affected_rows|$new_lead_id\n|$stmtA|"; &agi_output;} + + if ($AGILOG) {$agi_string = "exiting VDAD app, transferring call to $VDADconf_exten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADconf_exten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $stmtA = "UPDATE vicidial_closer_log set queue_seconds='$drop_timer' where lead_id = '$new_lead_id' and call_date='$SQLdate';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNN No available agent found"; &agi_output;} + } + } + else + { + if ($AGILOG) {$agi_string = "WWWWW VDAD XFER WAIT: |$rec_countWAIT|$channel_group|$channel|$callerid|$uniqueid|"; &agi_output;} + } + +if ($hold_message_counter > 30) + { + $AGI->stream_file('generic_hold'); + $hold_message_counter = 0; + } + else {$hold_message_counter++;} +if ($hold_tone_counter > 3) + { + $AGI->stream_file('hold_tone'); + $hold_tone_counter = 0; + } + else {$hold_tone_counter++;} + +if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } +else + { + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $drop_timer++; + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); +#if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + +} + + +if ($drop_timer >= $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $VDADvoicemail_ext = ''; + +$DROPexten = ''; +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + + if ($drop_message =~ /Y/) + { + $DROPexten = "$drop_exten"; + } + else + { + $cbc=0; + $stmtA = "SELECT voicemail_ext FROM vicidial_inbound_groups where group_id = '$channel_group' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADvoicemail_ext = "$aryA[0]"; + $VDADvoicemail_ext =~ s/\D//gi; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + $cbc++; + } + $sthA->finish(); + } + } + + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' and server_ip='$VARserver_ip' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vac record deleted: |$affected_rows| $VDADcampaign|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds',queue_seconds='$drop_seconds' where lead_id = '$new_lead_id' order by start_epoch desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='XDROP' where lead_id = '$new_lead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} +} + +$dbhA->disconnect(); + +exit; + +sub enter_pin_number +{ +# please enter the pin number followed by the pound key +# please enter your 4 digit pin number + +$digit=''; +undef $digit; +$interrupt_digit=''; +undef $interrupt_digit; + +$interrupt_digit = $AGI->stream_file('four_digit_id','123456789'); + + if ($AGILOG) {$agi_string = "interrupt_digit |$interrupt_digit|"; &agi_output;} + +$digits_being_entered=1; +$totalDTMF=''; +if ($interrupt_digit > 1) + { + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + + $totalDTMF=$interrupt_digit; + } + +$digit_loop_counter=0; +#while ( ($digits_being_entered) && ($digit_loop_counter < 20) ) +# { +# $digit = chr($AGI->wait_for_digit('30000')); # wait 30 seconds for input or until the pound key is pressed +# if ($digit =~ /\d/) +# { +# $totalDTMF = "$totalDTMF$digit"; +# print STDERR "digit |$digit| TotalDTMF |$totalDTMF|\n"; +# $AGI->say_digits("$digit"); +# undef $digit; +# } +# else +# { +# $digits_being_entered=0; +# } +# +# $digit_loop_counter++; +# } + +while ( ($digit_loop_counter < 5) ) + { + $digit = chr($AGI->wait_for_digit('10000')); # wait 10 seconds for input or until the pound key is pressed + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digit_loop_counter=4; + } + + $digit_loop_counter++; + } + +$totalDTMF =~ s/\D//gi; +$pin = $totalDTMF; +if ($totalDTMF) {if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;}} +} + + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + +### you're call is very important to us, please stay on the line and you will be transferred to the next available agent + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inbound_NOCID.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inbound_NOCID.agi new file mode 100644 index 00000000..da3e1b46 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADcloser_inbound_NOCID.agi @@ -0,0 +1,663 @@ +#!/usr/bin/perl +# +# agi-VDADcloser_inbound_NOCID.agi version 0.5 *DBI-version* +# +# runs when a call comes in from an inbound call. This script will +# send the calls out to the closers that are logged in. +# +# if there are no available agents, then it will check every second until an agent becomes available, +# if at the end of 360 seconds(default) it has not found an agent it will hangup the call and mark it as dropped +# +# This version asks for nothing and assumes no CID is being sent +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ; 1. the full name of the IN GROUP to be used in vicidial for the inbound call +# ; 2. the phone number that was called, for the log entry +# ; 3. the callerID or lead_id of the person that called(usually overridden) +# ; 4. the park extension audio file name if used +# ; 5. the status of the call initially(usually not used) +# ; 6. the list_id to insert the new lead under if it is new (and callerID available) +# ; 7. the phone dialing code to insert with the new lead if new (and callerID available) +# +# ;inbound VICIDIAL calls: +#exten => 1234,1,Answer ; Answer the line +#exten => 1234,2,AGI(agi-VDADcloser_inbound_NOCID.agi,CL_GALLERIA-----7275555134-----Closer-----park----------999-----1) +#exten => 1234,3,Hangup +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# +# changes: +# 60504-1238 - Added drop second/message/exten options from inbound_group +# 60811-1003 - Changed to DBI by Marin Blu +# 60811-1145 - changed to use /etc/astguiclient.conf for configs +# 60821-1021 - added output options check from database +# 60905-1047 - changed look for agent every 0.25 second for first 4 sec on hold +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# + +$script = 'agi-VDADcloser_inbound_NOCID.agi'; + +$DROP_TIME = 360; ### number of seconds to wait until you drop a waiting call + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + ### list of command-line array arguments: + @ARGV_vars = split(/-----/, $ARGV[0]); + + $channel_group = $ARGV_vars[0]; + $inbound_number = $ARGV_vars[1]; + $parked_by = $ARGV_vars[2]; + $park_extension = $ARGV_vars[3]; + $status = $ARGV_vars[4]; + $list_id = $ARGV_vars[5]; + $phone_code = $ARGV_vars[6]; + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + + +# if ($channel =~ /^SIP/) {$channel =~ s/-.*//gi;} +# if ($channel =~ /^Zap\//) {$channel =~ s/-\d$//gi;} + if (length($callerid)<10) {$callerid = $parked_by;} + if (length($pin)>0) {$callerid = $pin;} + + $phone_number=''; + + ### allow for external callerid to be collected +# if ($extension =~ /\*\d\d\d\d\d\d\d\d\d\d\*/) +# { +# @EXT_vars = split(/\*/, $extension); +# +# $referring_extension = $EXT_vars[0]; # initial extension sent +# $channel_group = $EXT_vars[1]; # name of the parked group +# $inbound_number = $EXT_vars[2]; # extension to send call to after parsing +# $parked_by = $EXT_vars[3]; # leadID +# $park_extension = $EXT_vars[4]; # filename of the on-hold music file +# $comment_d = $EXT_vars[5]; # N/A +# $comment_e = $EXT_vars[6]; # N/A +# +# $PADlead_id = sprintf("%09s", $parked_by); while (length($PADlead_id) > 9) {chop($PADlead_id);} +# # JmmddhhmmssLLLLLLLLL +# $JqueryCID = "J$CIDdate$PADlead_id"; +# $callerid = $JqueryCID; +# ### set the callerid to the filename of the audio for on-hold +# print "SET CALLERID $JqueryCID\n"; +# checkresult($result); +# print STDERR "callerID changed: $JqueryCID\n"; +# } +} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + +$AGI->stream_file('beep'); + +#&enter_pin_number; + +$pin = '123456'; +$fronter = $pin; + +if ($AGILOG) {$agi_string = "+++++ INBOUND CALL VDCL STARTED : |$channel_group|$callerid-$pin|$now_date"; &agi_output;} + +$VDADphone=''; +$VDADphone_code=''; + +if ($channel =~ /Local/i) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +exit; +} + +### Grab Server values from the database +$cbc=0; +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + $cbc++; + } +$sthA->finish(); + +### insert a record into the vicidial_list table +$stmtA = "INSERT INTO vicidial_list (entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,called_since_last_reset,phone_code,phone_number,security_phrase,called_count,gmt_offset_now) values('$SQLdate','$tsSQLdate','INBND','$fronter','$inbound_number','VDCL','$list_id','Y','$phone_code','$phone_number','$channel_group','1','-5.00');"; +$affected_rows = $dbhA->do($stmtA); +$cbc=0; +$stmtA = "select LAST_INSERT_ID() LIMIT 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $insert_lead_id = "$aryA[0]"; + $cbc++; + } +$sthA->finish(); + +$new_lead_id = $insert_lead_id; +if ($AGILOG) {$agi_string = "|$stmtA|$new_lead_id|"; &agi_output;} + +$PADlead_id = sprintf("%09s", $new_lead_id); while (length($PADlead_id) > 9) {chop($PADlead_id);} +# YmmddhhmmssLLLLLLLLL + $YqueryCID = "Y$CIDdate$PADlead_id"; + $callerid = $YqueryCID; +### set the callerid +print "SET CALLERID $YqueryCID\n"; +checkresult($result); +if ($AGILOG) {$agi_string = "callerID changed: $YqueryCID"; &agi_output;} + +### Grab inbound_group values from the database +$cbc=0; +$stmtA = "SELECT drop_call_seconds,drop_message,drop_exten FROM vicidial_inbound_groups where group_id = '$channel_group';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $DBdrop_call_seconds = "$aryA[0]"; + $DBdrop_message = "$aryA[1]"; + $DBdrop_exten = "$aryA[2]"; + if ($DBdrop_call_seconds) {$DROP_TIME = $DBdrop_call_seconds;} + if ($DBdrop_message) {$drop_message = $DBdrop_message;} + if ($DBdrop_exten) {$drop_exten = $DBdrop_exten;} + $cbc++; + } +$sthA->finish(); + +### insert a LIVE record to the vicidial_auto_calls table +$stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,uniqueid,callerid,channel,phone_code,phone_number,call_time,call_type,stage) values('$VARserver_ip','$channel_group','LIVE','$new_lead_id','$uniqueid','$callerid','$channel','$phone_code','$phone_number','$SQLdate','IN','LIVE-0')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); + +$stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$uniqueid','$new_lead_id','$channel_group','$SQLdate','$now_date_epoch','XFER','$phone_code','$phone_number','$fronter','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD : |$new_lead_id|$fronter|insert to vicidial_log: $uniqueid"; &agi_output;} + +$stmtA = "INSERT INTO vicidial_closer_log (lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$new_lead_id','$channel_group','$SQLdate','$now_date_epoch','QUEUE','$phone_code','$phone_number','VDCL','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDCL : |$new_lead_id|insert to vicidial_closer_log"; &agi_output;} + +$stmtA = "INSERT INTO vicidial_xfer_log (lead_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$new_lead_id','$channel_group','$SQLdate','$phone_code','$phone_number','$fronter','VDXL')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDXL : |$new_lead_id|insert to vicidial_xfer_log"; &agi_output;} + +$VDADlead_id = $new_lead_id; + +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=25; +$hold_tone_counter=0; + +while ($drop_timer <= $DROP_TIME) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < 360) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + 360); + } + } + $cbc=0; + $stmtA = "SELECT next_agent_call FROM vicidial_inbound_groups where group_id='$channel_group';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $CAMP_callorder = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + $agent_call_order='order by last_call_finish'; + if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} + if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} + if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} + if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} + + $rec_countWAIT=0; + $cbc=0; + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and campaign_id = '$channel_group' and call_time < \"$SQLdateBEGIN\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($rec_countWAIT < 1) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$new_lead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid' where status IN('CLOSER','READY') and server_ip='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and closer_campaigns LIKE \"% $channel_group %\" and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + my $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|$channel_group|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $cbc=0; + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where status = 'QUEUE' and server_ip='$VARserver_ip' and campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + + $cbc++; + } + $sthA->finish(); + + $stmtA = "UPDATE vicidial_auto_calls set status='CLOSER', stage='CLOSER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL XFER : |$affected_rows|$callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_xfer_log set closer='$VDADuser' where lead_id = '$new_lead_id' order by call_date desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDXL XFER vicidial_xfer_log update: |$affected_rows|$new_lead_id|$VDADuser\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set user='$VDADuser' where lead_id='$new_lead_id' order by call_date desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- closer log : |$affected_rows|$new_lead_id\n|$stmtA|"; &agi_output;} + + if ($AGILOG) {$agi_string = "exiting VDAD app, transferring call to $VDADconf_exten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADconf_exten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $stmtA = "UPDATE vicidial_closer_log set queue_seconds='$drop_timer' where lead_id = '$new_lead_id' and call_date='$SQLdate';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNN No available agent found"; &agi_output;} + } + } + else + { + if ($AGILOG) {$agi_string = "WWWWW VDAD XFER WAIT: |$rec_countWAIT|$channel_group|$channel|$callerid|$uniqueid|"; &agi_output;} + } + +if ($hold_message_counter > 30) + { + $AGI->stream_file('generic_hold'); + $hold_message_counter = 0; + } + else {$hold_message_counter++;} +if ($hold_tone_counter > 3) + { + $AGI->stream_file('hold_tone'); + $hold_tone_counter = 0; + } + else {$hold_tone_counter++;} + +if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } +else + { + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $drop_timer++; + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); +#if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + +} + + +if ($drop_timer >= $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $VDADvoicemail_ext = ''; + +$DROPexten = ''; +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + + if ($drop_message =~ /Y/) + { + $DROPexten = "$drop_exten"; + } + else + { + $cbc=0; + $stmtA = "SELECT voicemail_ext FROM vicidial_inbound_groups where group_id = '$channel_group' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $VDADvoicemail_ext = "$aryA[0]"; + $VDADvoicemail_ext =~ s/\D//gi; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + $cbc++; + } + $sthA->finish(); + } + } + + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' and server_ip='$VARserver_ip' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vac record deleted: |$affected_rows| $VDADcampaign|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds',queue_seconds='$drop_seconds' where lead_id = '$new_lead_id' order by start_epoch desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='XDROP' where lead_id = '$new_lead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vl update: |$affected_rows|$new_lead_id|\n|$stmtA|"; &agi_output;} +} + +$dbhA->disconnect(); + +exit; + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + +### you're call is very important to us, please stay on the line and you will be transferred to the next available agent + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADtransfer.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADtransfer.agi new file mode 100644 index 00000000..73bc26ff --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADtransfer.agi @@ -0,0 +1,774 @@ +#!/usr/bin/perl +# +# agi-VDADtransfer.agi version 2.0.4 *DBI-version* +# +# runs when a call comes in from the VICIDIAL_auto_dialer. This script will +# send the calls out to the reps that are logged in. +# +# if there are no available agents, then it will check every second until an agent becomes available, +# if at the end of 10 seconds(default) it has not found an agent it will hangup the call and mark it as dropped +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;VICIDIAL_auto_dialer transfer script: +# exten => 8365,1,AGI(call_log.agi,${EXTEN}) +# exten => 8365,2,AGI(agi-VDADtransfer.agi,${EXTEN}) +# +# Copyright (C) 2007 Matt Florell LICENSE: GPLv2 +# +# CHANGELOG: +# 50322-1246 - Changed callerid handling to allow for custom callerid +# 60119-1408 - Fixed calleridname issue with 1.2 tree for custom CID +# 60503-1054 - Added safe harbor and drop second options from campaign +# 60731-1441 - Changed to use DBI-DBD::mysql +# - Changed to use /etc/astguiclient.conf for configs +# 60816-1036 - Added output options check from database +# - Changed look for agent every 0.5 second for first 4 sec on hold +# 60905-1047 - Changed look for agent every 0.25 second for first 4 sec on hold +# 70109-1715 - Added option for concurrent_transfers +# 70214-1214 - Added QueueMetrics optional logging +# 70223-1046 - Added QueueMetrics ENTERQUEUE prepend option +# 70305-1240 - Fixed problems where the same call will run this script twice +# 71116-1045 - added fewest_calls and campaign_weight agent call routing options +# + +$script = 'agi-VDADtransfer.agi'; + +$DROP_TIME = 10; # default number of seconds to wait until you drop a waiting call + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks,agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + $DBagi_output = "$aryA[6]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + +$start_time=$now_date; +$CIDdate = "$mon$mday$hour$min$sec"; +$tsSQLdate = "$year$mon$mday$hour$min$sec"; +$SQLdate = "$year-$mon-$mday $hour:$min:$sec"; +$SQLdateBEGIN = $SQLdate; + +$secX = time(); +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() +{ + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_priority\:\s+(.*)$/) {$priority = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} +} + +if ( (length($callerid)>20) && ($callerid =~ /\"\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S/) ) + { + $callerid =~ s/^\"//gi; + $callerid =~ s/\".*$//gi; + ### set the callerid to the ACQS value(calleridname) + print "SET CALLERID $callerid\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $callerid"; &agi_output;} + } +if ( ( +(length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) +) or ( (length($calleridname)>17) && ($calleridname =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) ) ) + { + $callerid = $calleridname; + ### set the callerid to the ACQS value(calleridname) + print "SET CALLERID $callerid\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $callerid"; &agi_output;} + } + + +if ($AGILOG) {$agi_string = "AGI Environment Dump:"; &agi_output;} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|$calleridname|$priority|"; &agi_output;} + +$VDADcampaign=''; +$VDADphone=''; +$VDADphone_code=''; + +$callerid =~ s/\"//gi; +$CIDlead_id = $callerid; +$CIDlead_id = substr($CIDlead_id, 11, 9); +$CIDlead_id = ($CIDlead_id + 0); + +if ($AGILOG) {$agi_string = "+++++ VDAD START : |$CIDlead_id|$now_date|$AST_ver|$priority|"; &agi_output;} + +if ( ($channel =~ /Local/i) && ($AST_ver !~ /^1\.0\.8|^1\.0\.9/) ) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +if ($priority > 2) {sleep(1);} +exit; +} + +$stmtA = "SELECT count(*) FROM vicidial_live_agents where callerid='$callerid';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $Pseudo_duplicate_count = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); + +if ($Pseudo_duplicate_count > 0) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START PSEUDO DUPLICATE: EXITING- $priority"; &agi_output;} +exit; +} + +$stmtA = "SELECT count(*) FROM vicidial_auto_calls where callerid='$callerid' and status IN('LIVE','XFER');"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dialplan_duplicate_count = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); + +if ($dialplan_duplicate_count > 0) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START DIALPLAN DUPLICATE: EXITING- $priority"; &agi_output;} +exit; +} + + + +### Grab call parameters from vicidial_auto_calls table +$stmtA = "UPDATE vicidial_auto_calls set uniqueid='$unique_id', channel='$channel',status='LIVE',stage='LIVE-0' where callerid='$callerid' order by call_time desc limit 1;"; +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} +if ($affected_rows > 0) + { + $stmtA = "SELECT campaign_id,phone_number,phone_code,lead_id,call_time FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADcampaign = "$aryA[0]"; + $VDADphone = "$aryA[1]"; + $VDADphone_code = "$aryA[2]"; + $VDADlead_id = "$aryA[3]"; + $VDADcall_time = "$aryA[4]"; + $rec_count++; + } + $sthA->finish(); + + ### Grab campaign values from the database + $stmtA = "SELECT drop_call_seconds,safe_harbor_message,safe_harbor_exten,concurrent_transfers FROM vicidial_campaigns where campaign_id = '$VDADcampaign';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBdrop_call_seconds = "$aryA[0]"; + $DBsafe_harbor_message = "$aryA[1]"; + $DBsafe_harbor_exten = "$aryA[2]"; + $DBconcurrent_transfers = "$aryA[3]"; + if ($DBdrop_call_seconds) {$DROP_TIME = $DBdrop_call_seconds;} + if ($DBsafe_harbor_message) {$safe_harbor_message = $DBsafe_harbor_message;} + if ($DBsafe_harbor_exten) {$safe_harbor_exten = $DBsafe_harbor_exten;} + $rec_count++; + } + $sthA->finish(); + + $stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$uniqueid','$CIDlead_id','$VDADcampaign','$SQLdate','$now_date_epoch','QUEUE','$VDADphone_code','$VDADphone','VDAD','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + + if ($AGILOG) {$agi_string = "-- VDAD : |$VDADlead_id|$CIDlead_id|insert to vicidial_log: $uniqueid"; &agi_output;} + + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmtA = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_eq_prepend FROM system_settings;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $enable_queuemetrics_logging = "$aryA[0]"; + $queuemetrics_server_ip = "$aryA[1]"; + $queuemetrics_dbname = "$aryA[2]"; + $queuemetrics_login= "$aryA[3]"; + $queuemetrics_pass = "$aryA[4]"; + $queuemetrics_log_id = "$aryA[5]"; + $queuemetrics_eq_prepend = "$aryA[6]"; + $rec_count++; + } + $sthA->finish(); + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $stmtA = "SELECT phone_number FROM vicidial_auto_calls where lead_id='$CIDlead_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $phone_number = "$aryA[0]"; + $data2 = "$phone_number"; + $rec_count++; + } + $sthA->finish(); + + if ( (length($queuemetrics_eq_prepend) > 0) && ($queuemetrics_eq_prepend !~ /NONE/) ) + { + $stmtA = "SELECT $queuemetrics_eq_prepend FROM vicidial_list where lead_id='$CIDlead_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + $DASH='-'; + @aryA = $sthA->fetchrow_array; + $QMprepend = "$aryA[0]"; + $rec_count++; + $data2 = "$QMprepend$DASH$phone_number"; + } + $sthA->finish(); + } + + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$callerid',queue='$VDADcampaign',agent='NONE',verb='ENTERQUEUE',data2='$data2',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + } + +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=25; +$hold_tone_counter=0; + +while ($drop_timer <= $DROP_TIME) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < $DROP_TIME) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + $DROP_TIME); + } + } +$stmtA = "SELECT next_agent_call FROM vicidial_campaigns where campaign_id='$VDADcampaign';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $CAMP_callorder = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); + +$agent_call_order=''; +if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} +if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} +if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} +if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} +if ($CAMP_callorder =~ /campaign_rank/i) {$agent_call_order = 'order by campaign_weight desc,last_call_finish';} +if ($CAMP_callorder =~ /fewest_calls/i) {$agent_call_order = 'order by calls_today,last_call_finish';} + + $rec_countWAIT=0; +$stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and campaign_id = '$VDADcampaign' and call_time < \"$VDADcall_time\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); +if ($DBconcurrent_transfers =~ /AUTO/) + { + $active_agents=1; + $stmtA = "SELECT count(*) FROM vicidial_live_agents where server_ip='$VARserver_ip' and campaign_id = '$VDADcampaign' and last_update_time > '$BDtsSQLdate';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $active_agents = "$aryA[0]"; + $rec_count++; + } + + $DBconcurrent_transfers = ($active_agents / 10); + $DBconcurrent_transfers = sprintf("%.0f", $DBconcurrent_transfers); + $DBconcurrent_transfers++; + if ($AGILOG) {$agi_string = "|CONCURRENT TRANSFERS AUTO SETTING: $DBconcurrent_transfers ($active_agents)|"; &agi_output;} + } +$sthA->finish(); +if ($rec_countWAIT < $DBconcurrent_transfers) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$CIDlead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid' where status = 'READY' and server_ip='$VARserver_ip' and campaign_id='$VDADcampaign' and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|update of vla table: $VDADcampaign|$VARserver_ip\n|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $r=0; + $VDADuser=''; + while ( (length($VDADuser)<1) && ($r<3) ) + { + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where status IN('QUEUE','INCALL') and server_ip='$VARserver_ip' and campaign_id='$VDADcampaign' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $rec_count++; + } + $sthA->finish(); + $r++; + if ($r > 1) + { + if ($AGILOG) {$agi_string = "EEEEEEEEEE vla UPDATE DELAY!!! |$callerid|$r|"; &agi_output;} + + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } + if ($r > 2) + { + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where callerid='$callerid' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $rec_count++; + } + $sthA->finish(); + + if ($AGILOG) {$agi_string = "FFFFFFFFFF vla OR SELECT |$callerid|$VDADuser|"; &agi_output;} + } + } + + $stmtA = "UPDATE vicidial_auto_calls set status='XFER', stage='XFER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD XFER : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$callerid',queue='$VDADcampaign',agent='Agent/$VDADuser',verb='CONNECT',data1='$drop_timer',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $VDADconf_exten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADconf_exten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXXXXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNNNNNNN No agent record found!!!"; &agi_output;} + } + } +else + { + if ($AGILOG) {$agi_string = "WWWWWWWW VDAD XFER WAIT: |$rec_countWAIT|$VDADcampaign|$channel|$callerid|$uniqueid|"; &agi_output;} + } + + +if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } +else + { + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $drop_timer++; + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); +#if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + +} + + +if ($drop_timer >= $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $VDADvoicemail_ext = ''; + +$DROPexten = ''; +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$callerid',queue='$VDADcampaign',agent='NONE',verb='EXITWITHTIMEOUT',data1='1',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + + if ($safe_harbor_message =~ /Y/) + { + $DROPexten = "$safe_harbor_exten"; + } + else + { + $stmtA = "SELECT voicemail_ext FROM vicidial_campaigns where campaign_id = '$VDADcampaign' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADvoicemail_ext = "$aryA[0]"; + $VDADvoicemail_ext =~ s/\D//gi; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + $rec_count++; + } + $sthA->finish(); + } + } + + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vac record deleted: |$affected_rows|$VDADcampaign|"; &agi_output;} + + $stmtA = "UPDATE vicidial_log set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds' where uniqueid = '$uniqueid';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_log update: |$affected_rows|$uniqueid"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='DROP' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$CIDlead_id"; &agi_output;} +} + + + + $dbhA->disconnect(); + + + +exit; + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADtransferBROADCAST.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADtransferBROADCAST.agi new file mode 100644 index 00000000..c7899053 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADtransferBROADCAST.agi @@ -0,0 +1,608 @@ +#!/usr/bin/perl +# +# agi-VDADtransferBROADCAST.agi version 2.0.4 *DBI-version* +# +# runs when a call comes in from the VICIDIAL_auto_dialer. This script will +# send the calls out to the reps that are logged in. +# +# if there are no available agents, then it will check every second until an agent becomes available, +# if at the end of 10 seconds(default) it has not found an agent it will hangup the call and mark it as dropped +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;VICIDIAL_auto_dialer transfer script: +# exten => 8365,1,AGI(call_log.agi,${EXTEN}) +# exten => 8365,2,AGI(agi-VDADtransfer.agi,${EXTEN}) +# +# Copyright (C) 2007 Matt Florell LICENSE: GPLv2 +# +# changes: +# 50322-1246 - changed callerid handling to allow for custom callerid +# 60119-1408 - fixed calleridname issue with 1.2 tree for custom CID +# 60503-1054 - Added safe harbor and drop second options from campaign +# 60731-1441 - changed to use DBI-DBD::mysql +# - changed to use /etc/astguiclient.conf for configs +# 60816-1036 - added output options check from database +# - changed look for agent every 0.5 second for first 4 sec on hold +# 60905-1047 - changed look for agent every 0.25 second for first 4 sec on hold +# 61110-1625 - added change of vicidial_list, vicidial_log to PU once this script runs +# 71116-1045 - added fewest_calls and campaign_weight agent call routing options +# + +$script = 'agi-VDADtransferBROADCAST.agi'; + +$DROP_TIME = 10; # default number of seconds to wait until you drop a waiting call + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks,agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + $DBagi_output = "$aryA[6]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + +$start_time=$now_date; +$CIDdate = "$mon$mday$hour$min$sec"; +$tsSQLdate = "$year$mon$mday$hour$min$sec"; +$SQLdate = "$year-$mon-$mday $hour:$min:$sec"; +$SQLdateBEGIN = $SQLdate; + +$secX = time(); +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() +{ + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_priority\:\s+(.*)$/) {$priority = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} +} + +if ( (length($callerid)>20) && ($callerid =~ /\"\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S/) ) + { + $callerid =~ s/^\"//gi; + $callerid =~ s/\".*$//gi; + ### set the callerid to the ACQS value(calleridname) + print "SET CALLERID $callerid\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $callerid"; &agi_output;} + } +if ( ( +(length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) +) or ( (length($calleridname)>17) && ($calleridname =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) ) ) + { + $callerid = $calleridname; + ### set the callerid to the ACQS value(calleridname) + print "SET CALLERID $callerid\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $callerid"; &agi_output;} + } + + +if ($AGILOG) {$agi_string = "AGI Environment Dump:"; &agi_output;} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|$calleridname|$priority|"; &agi_output;} + +$VDADcampaign=''; +$VDADphone=''; +$VDADphone_code=''; + +$callerid =~ s/\"//gi; +$CIDlead_id = $callerid; +$CIDlead_id = substr($CIDlead_id, 11, 9); +$CIDlead_id = ($CIDlead_id + 0); + +if ($AGILOG) {$agi_string = "+++++ VDAD START : |$CIDlead_id|$now_date|$AST_ver|$priority|"; &agi_output;} + +if ( ($channel =~ /Local/i) && ($AST_ver !~ /^1\.0\.8|^1\.0\.9/) ) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +if ($priority > 2) {sleep(1);} +exit; +} + + +### Grab call parameters from vicidial_auto_calls table +$stmtA = "UPDATE vicidial_auto_calls set uniqueid='$unique_id', channel='$channel',status='LIVE',stage='LIVE-0' where callerid='$callerid' order by call_time desc limit 1;"; +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} +if ($affected_rows > 0) + { + $stmtA = "UPDATE vicidial_list set status='PU' where lead_id='$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list PU update: |$affected_rows|$uniqueid|"; &agi_output;} + + $stmtA = "SELECT campaign_id,phone_number,phone_code,lead_id,call_time FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADcampaign = "$aryA[0]"; + $VDADphone = "$aryA[1]"; + $VDADphone_code = "$aryA[2]"; + $VDADlead_id = "$aryA[3]"; + $VDADcall_time = "$aryA[4]"; + $rec_count++; + } + $sthA->finish(); + + ### Grab campaign values from the database + $stmtA = "SELECT drop_call_seconds,safe_harbor_message,safe_harbor_exten,concurrent_transfers FROM vicidial_campaigns where campaign_id = '$VDADcampaign';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBdrop_call_seconds = "$aryA[0]"; + $DBsafe_harbor_message = "$aryA[1]"; + $DBsafe_harbor_exten = "$aryA[2]"; + $DBconcurrent_transfers = "$aryA[3]"; + if ($DBdrop_call_seconds) {$DROP_TIME = $DBdrop_call_seconds;} + if ($DBsafe_harbor_message) {$safe_harbor_message = $DBsafe_harbor_message;} + if ($DBsafe_harbor_exten) {$safe_harbor_exten = $DBsafe_harbor_exten;} + $rec_count++; + } + $sthA->finish(); + + $stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$uniqueid','$CIDlead_id','$VDADcampaign','$SQLdate','$now_date_epoch','PU','$VDADphone_code','$VDADphone','VDAD','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + + if ($AGILOG) {$agi_string = "-- VDAD : |$VDADlead_id|$CIDlead_id|insert to vicidial_log: $uniqueid"; &agi_output;} + } + +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=25; +$hold_tone_counter=0; + +while ($drop_timer <= $DROP_TIME) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < $DROP_TIME) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + $DROP_TIME); + } + } +$stmtA = "SELECT next_agent_call FROM vicidial_campaigns where campaign_id='$VDADcampaign';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $CAMP_callorder = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); + +$agent_call_order=''; +if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} +if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} +if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} +if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} +if ($CAMP_callorder =~ /campaign_rank/i) {$agent_call_order = 'order by campaign_weight desc,last_call_finish';} +if ($CAMP_callorder =~ /fewest_calls/i) {$agent_call_order = 'order by calls_today,last_call_finish';} + + $rec_countWAIT=0; +$stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and campaign_id = '$VDADcampaign' and call_time < \"$VDADcall_time\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); +if ($DBconcurrent_transfers =~ /AUTO/) + { + $active_agents=1; + $stmtA = "SELECT count(*) FROM vicidial_live_agents where server_ip='$VARserver_ip' and campaign_id = '$VDADcampaign' and last_update_time > '$BDtsSQLdate';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $active_agents = "$aryA[0]"; + $rec_count++; + } + + $DBconcurrent_transfers = ($active_agents / 10); + $DBconcurrent_transfers = sprintf("%.0f", $DBconcurrent_transfers); + $DBconcurrent_transfers++; + if ($AGILOG) {$agi_string = "|CONCURRENT TRANSFERS AUTO SETTING: $DBconcurrent_transfers ($active_agents)|"; &agi_output;} + } +$sthA->finish(); +if ($rec_countWAIT < $DBconcurrent_transfers) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$CIDlead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid' where status = 'READY' and server_ip='$VARserver_ip' and campaign_id='$VDADcampaign' and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|update of vla table: $VDADcampaign|$VARserver_ip\n|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where status = 'QUEUE' and server_ip='$VARserver_ip' and campaign_id='$VDADcampaign' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $rec_count++; + } + $sthA->finish(); + + $stmtA = "UPDATE vicidial_auto_calls set status='XFER', stage='XFER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD XFER : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $VDADconf_exten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADconf_exten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXXXXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNNNNNNN No agent record found!!!"; &agi_output;} + } + } +else + { + if ($AGILOG) {$agi_string = "WWWWWWWW VDAD XFER WAIT: |$rec_countWAIT|$VDADcampaign|$channel|$callerid|$uniqueid|"; &agi_output;} + } + + +if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } +else + { + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $drop_timer++; + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); +#if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + +} + + +if ($drop_timer >= $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $VDADvoicemail_ext = ''; + +$DROPexten = ''; +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + + if ($safe_harbor_message =~ /Y/) + { + $DROPexten = "$safe_harbor_exten"; + } + else + { + $stmtA = "SELECT voicemail_ext FROM vicidial_campaigns where campaign_id = '$VDADcampaign' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADvoicemail_ext = "$aryA[0]"; + $VDADvoicemail_ext =~ s/\D//gi; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + $rec_count++; + } + $sthA->finish(); + } + } + + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vac record deleted: |$affected_rows|$VDADcampaign|"; &agi_output;} + + $stmtA = "UPDATE vicidial_log set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds' where uniqueid = '$uniqueid';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_log update: |$affected_rows|$uniqueid"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='DROP' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$CIDlead_id"; &agi_output;} +} + + + + $dbhA->disconnect(); + + + +exit; + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADtransferSURVEY.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADtransferSURVEY.agi new file mode 100644 index 00000000..a217ff76 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADtransferSURVEY.agi @@ -0,0 +1,922 @@ +#!/usr/bin/perl +# +# agi-VDADtransferSURVEY.agi version 2.0.4 *DBI-version* +# +# runs when a call comes in from the VICIDIAL auto_dialer. This script will +# send the calls out to the reps that are logged in if called person presses key. +# +# if there are no available agents, then it will check every second until an agent becomes available, +# if at the end of 10 seconds(default) it has not found an agent it will hangup the call and mark it as dropped +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;VICIDIAL_auto_dialer transfer script: +# exten => 8366,1,AGI(call_log.agi,${EXTEN}) +# exten => 8366,2,AGI(agi-VDADtransferSURVEY.agi,${EXTEN}) +# +# Copyright (C) 2007 Matt Florell LICENSE: GPLv2 +# +# CHANGELOG +# 60119-1408 - Fixed calleridname issue with 1.2 tree for custom CID +# 60503-1100 - Added safe harbor and drop second options from campaign +# 60731-1441 - Changed to use DBI-DBD::mysql +# - Changed to use /etc/astguiclient.conf for configs +# 60816-1034 - Added output options check from database +# - Changed look for agent every 0.5 second for first 4 sec on hold +# 60905-1047 - Changed look for agent every 0.25 second for first 4 sec on hold +# 70215-1052 - Added QueueMetrics optional logging +# 70223-1101 - Added QueueMetrics ENTERQUEUE prepend option +# 70305-1251 - Fixed problems where the same call will run this script twice +# 71116-1045 - added fewest_calls and campaign_weight agent call routing options +# + +$script = 'agi-VDADtransferSURVEY.agi'; + +$DROP_TIME = 10; # default number of seconds to wait until you drop a waiting call + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks,agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + $DBagi_output = "$aryA[6]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + +$start_time=$now_date; +$CIDdate = "$mon$mday$hour$min$sec"; +$tsSQLdate = "$year$mon$mday$hour$min$sec"; +$SQLdate = "$year-$mon-$mday $hour:$min:$sec"; +$SQLdateBEGIN = $SQLdate; + +$secX = time(); +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_priority\:\s+(.*)$/) {$priority = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} +} + +if ( (length($callerid)>20) && ($callerid =~ /\"\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S/) ) + { + $callerid =~ s/^\"//gi; + $callerid =~ s/\".*$//gi; + ### set the callerid to the ACQS value(calleridname) + print "SET CALLERID $callerid\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $callerid"; &agi_output;} + } +if ( ( +(length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) +) or ( (length($calleridname)>17) && ($calleridname =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) ) ) + { + $callerid = $calleridname; + ### set the callerid to the ACQS value(calleridname) + print "SET CALLERID $callerid\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $callerid"; &agi_output;} + } + + +if ($AGILOG) {$agi_string = "AGI Environment Dump:"; &agi_output;} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|$calleridname|$priority|"; &agi_output;} + +$VDADcampaign=''; +$VDADphone=''; +$VDADphone_code=''; + +$callerid =~ s/\"//gi; +$CIDlead_id = $callerid; +$CIDlead_id = substr($CIDlead_id, 11, 9); +$CIDlead_id = ($CIDlead_id + 0); + +if ($AGILOG) {$agi_string = "+++++ VDAD START : |$CIDlead_id|$now_date|$AST_ver|$priority|"; &agi_output;} + +if ( ($channel =~ /Local/i) && ($AST_ver !~ /^1\.0\.8|^1\.0\.9/) ) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +if ($priority > 2) {sleep(1);} +exit; +} + + +$stmtA = "SELECT count(*) FROM vicidial_live_agents where callerid='$callerid';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $Pseudo_duplicate_count = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); + +if ($Pseudo_duplicate_count > 0) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START PSEUDO DUPLICATE: EXITING- $priority"; &agi_output;} +exit; +} + +$stmtA = "SELECT count(*) FROM vicidial_auto_calls where callerid='$callerid' and status IN('LIVE','XFER');"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dialplan_duplicate_count = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); + +if ($dialplan_duplicate_count > 0) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START DIALPLAN DUPLICATE: EXITING- $priority"; &agi_output;} +exit; +} + + +$AGI->stream_file('beep'); + + +$stmtA = "UPDATE vicidial_list set status='PU' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$CIDlead_id|XFER"; &agi_output;} + + &enter_pin_number; + +if ($AGILOG) {$agi_string = "+++++ VDAD STATUS : pressed $pin|$unique_id|$channel|$extension|$type|$callerid|$CIDlead_id|$now_date"; &agi_output;} + +if ($pin !~ /^1|^2|^3|^8|^0/) {exit;} + +if (!$DB_port) {$DB_port='3306';} + + + + + +if ($pin =~ /^1|^2|^3|^0/) +{ +$voter=''; + +if ($pin == "1") {$voter = 'DEMOCRAT';} +if ($pin == "2") {$voter = 'REPUBLICAN';} +if ($pin == "3") {$voter = 'INDEPENDANT';} +if ($pin == "0") {$voter = 'OPERATOR';} + +$stmtA = "UPDATE vicidial_list set security_phrase='$voter' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD vicidial_list VOTER update: |$affected_rows|$CIDlead_id|$voter"; &agi_output;} + +# Thank you for your response, we would now like to transfer you to a poll-taker for just a few more questions. Please stay on the line. + +$AGI->stream_file('US_pol_survey_transfer'); + +### Grab call parameters from vicidial_auto_calls table +$stmtA = "UPDATE vicidial_auto_calls set uniqueid='$unique_id', channel='$channel',status='LIVE',stage='LIVE-0' where callerid='$callerid' order by call_time desc limit 1;"; +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} +if ($affected_rows > 0) + { + $stmtA = "SELECT campaign_id,phone_number,phone_code,lead_id,call_time FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADcampaign = "$aryA[0]"; + $VDADphone = "$aryA[1]"; + $VDADphone_code = "$aryA[2]"; + $VDADlead_id = "$aryA[3]"; + $VDADcall_time = "$aryA[4]"; + $rec_count++; + } + $sthA->finish(); + + ### Grab campaign values from the database + $stmtA = "SELECT drop_call_seconds,safe_harbor_message,safe_harbor_exten,concurrent_transfers FROM vicidial_campaigns where campaign_id = '$VDADcampaign';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBdrop_call_seconds = "$aryA[0]"; + $DBsafe_harbor_message = "$aryA[1]"; + $DBsafe_harbor_exten = "$aryA[2]"; + $DBconcurrent_transfers = "$aryA[3]"; + if ($DBdrop_call_seconds) {$DROP_TIME = $DBdrop_call_seconds;} + if ($DBsafe_harbor_message) {$safe_harbor_message = $DBsafe_harbor_message;} + if ($DBsafe_harbor_exten) {$safe_harbor_exten = $DBsafe_harbor_exten;} + $rec_count++; + } + $sthA->finish(); + + $stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$uniqueid','$CIDlead_id','$VDADcampaign','$SQLdate','$now_date_epoch','QUEUE','$VDADphone_code','$VDADphone','VDAD','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + + if ($AGILOG) {$agi_string = "-- VDAD : |$VDADlead_id|$CIDlead_id|insert to vicidial_log: $uniqueid"; &agi_output;} + + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmtA = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_eq_prepend FROM system_settings;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $enable_queuemetrics_logging = "$aryA[0]"; + $queuemetrics_server_ip = "$aryA[1]"; + $queuemetrics_dbname = "$aryA[2]"; + $queuemetrics_login= "$aryA[3]"; + $queuemetrics_pass = "$aryA[4]"; + $queuemetrics_log_id = "$aryA[5]"; + $queuemetrics_eq_prepend = "$aryA[6]"; + $rec_count++; + } + $sthA->finish(); + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $stmtA = "SELECT phone_number FROM vicidial_auto_calls where lead_id='$CIDlead_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $phone_number = "$aryA[0]"; + $data2 = "$phone_number"; + $rec_count++; + } + $sthA->finish(); + + if ( (length($queuemetrics_eq_prepend) > 0) && ($queuemetrics_eq_prepend !~ /NONE/) ) + { + $stmtA = "SELECT $queuemetrics_eq_prepend FROM vicidial_list where lead_id='$CIDlead_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + $DASH='-'; + @aryA = $sthA->fetchrow_array; + $QMprepend = "$aryA[0]"; + $rec_count++; + $data2 = "$QMprepend$DASH$phone_number"; + } + $sthA->finish(); + } + + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$callerid',queue='$VDADcampaign',agent='NONE',verb='ENTERQUEUE',data2='$data2',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + } + +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=25; +$hold_tone_counter=0; + +while ($drop_timer <= $DROP_TIME) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < $DROP_TIME) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + $DROP_TIME); + } + } +$stmtA = "SELECT next_agent_call FROM vicidial_campaigns where campaign_id='$VDADcampaign';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $CAMP_callorder = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); + +$agent_call_order=''; +if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} +if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} +if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} +if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} +if ($CAMP_callorder =~ /campaign_rank/i) {$agent_call_order = 'order by campaign_weight desc,last_call_finish';} +if ($CAMP_callorder =~ /fewest_calls/i) {$agent_call_order = 'order by calls_today,last_call_finish';} + + $rec_countWAIT=0; +$stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and campaign_id = '$VDADcampaign' and call_time < \"$VDADcall_time\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); +if ($DBconcurrent_transfers =~ /AUTO/) + { + $active_agents=1; + $stmtA = "SELECT count(*) FROM vicidial_live_agents where server_ip='$VARserver_ip' and campaign_id = '$VDADcampaign' and last_update_time > '$BDtsSQLdate';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $active_agents = "$aryA[0]"; + $rec_count++; + } + + $DBconcurrent_transfers = ($active_agents / 10); + $DBconcurrent_transfers = sprintf("%.0f", $DBconcurrent_transfers); + $DBconcurrent_transfers++; + if ($AGILOG) {$agi_string = "|CONCURRENT TRANSFERS AUTO SETTING: $DBconcurrent_transfers ($active_agents)|"; &agi_output;} + } +$sthA->finish(); +if ($rec_countWAIT < $DBconcurrent_transfers) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$CIDlead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid' where status = 'READY' and server_ip='$VARserver_ip' and campaign_id='$VDADcampaign' and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|update of vla table: $VDADcampaign|$VARserver_ip\n|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $r=0; + $VDADuser=''; + while ( (length($VDADuser)<1) && ($r<3) ) + { + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where status IN('QUEUE','INCALL') and server_ip='$VARserver_ip' and campaign_id='$VDADcampaign' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $rec_count++; + } + $sthA->finish(); + $r++; + if ($r > 1) + { + if ($AGILOG) {$agi_string = "EEEEEEEEEE vla UPDATE DELAY!!! |$callerid|$r|"; &agi_output;} + + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } + if ($r > 2) + { + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where callerid='$callerid' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $rec_count++; + } + $sthA->finish(); + + if ($AGILOG) {$agi_string = "FFFFFFFFFF vla OR SELECT |$callerid|$VDADuser|"; &agi_output;} + } + } + + $stmtA = "UPDATE vicidial_auto_calls set status='XFER', stage='XFER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD XFER : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='XFER' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$CIDlead_id|XFER\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$callerid',queue='$VDADcampaign',agent='Agent/$VDADuser',verb='CONNECT',data1='$drop_timer',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $VDADconf_exten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADconf_exten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXXXXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNNNNNNN No agent record found!!!"; &agi_output;} + } + } +else + { + if ($AGILOG) {$agi_string = "WWWWWWWW VDAD XFER WAIT: |$rec_countWAIT|$VDADcampaign|$channel|$callerid|$uniqueid|"; &agi_output;} + } + + +if ($hold_message_counter > 30) + { + $AGI->stream_file('generic_hold'); + $hold_message_counter = 0; + } + else {$hold_message_counter++;} +if ($hold_tone_counter > 3) + { + $AGI->stream_file('hold_tone'); + $hold_tone_counter = 0; + } + else {$hold_tone_counter++;} + +if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } +else + { + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $drop_timer++; + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); +#if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + +} + + +if ($drop_timer >= $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $VDADvoicemail_ext = ''; + +$DROPexten = ''; +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$callerid',queue='$VDADcampaign',agent='NONE',verb='EXITWITHTIMEOUT',data1='1',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + + if ($safe_harbor_message =~ /Y/) + { + $DROPexten = "$safe_harbor_exten"; + } + else + { + $stmtA = "SELECT voicemail_ext FROM vicidial_campaigns where campaign_id = '$VDADcampaign' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADvoicemail_ext = "$aryA[0]"; + $VDADvoicemail_ext =~ s/\D//gi; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + $rec_count++; + } + $sthA->finish(); + } + } + + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vac record deleted: |$affected_rows|$VDADcampaign|"; &agi_output;} + + $stmtA = "UPDATE vicidial_log set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds' where uniqueid = '$uniqueid';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_log update: |$affected_rows|$uniqueid"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='DROP' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$CIDlead_id"; &agi_output;} +} + +} ### end if pressed 1,2,3 or 0 + + + + + +else ### user pressed 8 to not be contacted again +{ + +$AGI->stream_file('US_thanks_no_contact'); + +$stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD vac record deleted: |$affected_rows|$VDADcampaign|"; &agi_output;} + +$stmtA = "UPDATE vicidial_log set status='DNC',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds' where uniqueid = '$uniqueid';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD vicidial_log update: DNC|$affected_rows|$uniqueid"; &agi_output;} + +$stmtA = "UPDATE vicidial_list set status='DNC' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: DNC|$affected_rows|$CIDlead_id"; &agi_output;} + + +exit; +} + + $dbhA->disconnect(); + + + +exit; + +sub enter_pin_number +{ +$digit=''; +undef $digit; +$interrupt_digit=''; +undef $interrupt_digit; + +# Hello, we are conducting a simple survery today, if you are a voter and registered as a Democrat, please press 1. If you are registered as a Republican, please press 2. If you are registered as an Independant or other party please press 3. If you do not want to be contacted again, please press 8. + +$interrupt_digit = $AGI->stream_file('US_pol_survey_hello','123456789'); + + if ($AGILOG) {$agi_string = "interrupt_digit |$interrupt_digit|"; &agi_output;} + +$digits_being_entered=1; +$digit_loop_counter=0; +$totalDTMF=''; +if ($interrupt_digit > 1) + { + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + + $totalDTMF=$interrupt_digit; + $digit_loop_counter++; + } + + +while ($digit_loop_counter < 1) + { + $digit = chr($AGI->wait_for_digit('2000')); # wait 0.2 seconds for input or until the pound key is pressed + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digit_loop_counter=1; + } + + $digit_loop_counter++; + } + +$totalDTMF =~ s/\D//gi; +$pin = $totalDTMF; +if ($totalDTMF) + { + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} + } +} + + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + +### Hello, you've been chosen to receive a great deal on travel to Florida, if you are insterested please press one on your phone now,,,,,If you would not like to be contacted again please press 2 + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADtransferTEST.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADtransferTEST.agi new file mode 100644 index 00000000..83afbdd9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/agi-VDADtransferTEST.agi @@ -0,0 +1,779 @@ +#!/usr/bin/perl +# +# agi-VDADtransferTEST.agi version 2.0.4 *DBI-version* +# +# !!! This is only to be used for performance testing setups !!! +# +# runs when a call comes in from the VICIDIAL_auto_dialer. This script will +# send the calls out to the reps that are logged in. +# +# if there are no available agents, then it will check every second until an agent becomes available, +# if at the end of 10 seconds(default) it has not found an agent it will hangup the call and mark it as dropped +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;VICIDIAL_auto_dialer transfer script: +# exten => 8365,1,AGI(call_log.agi,${EXTEN}) +# exten => 8365,2,AGI(agi-VDADtransfer.agi,${EXTEN}) +# +# Copyright (C) 2007 Matt Florell LICENSE: GPLv2 +# +# CHANGELOG: +# 50322-1246 - Changed callerid handling to allow for custom callerid +# 60119-1408 - Fixed calleridname issue with 1.2 tree for custom CID +# 60503-1054 - Added safe harbor and drop second options from campaign +# 60731-1441 - Changed to use DBI-DBD::mysql +# - Changed to use /etc/astguiclient.conf for configs +# 60816-1036 - Added output options check from database +# - Changed look for agent every 0.5 second for first 4 sec on hold +# 60905-1047 - Changed look for agent every 0.25 second for first 4 sec on hold +# 70215-1052 - Added QueueMetrics optional logging +# 70223-1100 - Added QueueMetrics ENTERQUEUE prepend option +# 70305-1251 - Fixed problems where the same call will run this script twice +# 71116-1045 - added fewest_calls and campaign_weight agent call routing options +# + +$script = 'agi-VDADtransfer.agi'; + +$DROP_TIME = 10; # default number of seconds to wait until you drop a waiting call + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks,agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + $DBagi_output = "$aryA[6]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + +$start_time=$now_date; +$CIDdate = "$mon$mday$hour$min$sec"; +$tsSQLdate = "$year$mon$mday$hour$min$sec"; +$SQLdate = "$year-$mon-$mday $hour:$min:$sec"; +$SQLdateBEGIN = $SQLdate; + +$secX = time(); +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() +{ + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_priority\:\s+(.*)$/) {$priority = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} +} + +if ( (length($callerid)>20) && ($callerid =~ /\"\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S/) ) + { + $callerid =~ s/^\"//gi; + $callerid =~ s/\".*$//gi; + ### set the callerid to the ACQS value(calleridname) + print "SET CALLERID $callerid\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $callerid"; &agi_output;} + } +if ( ( +(length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) +) or ( (length($calleridname)>17) && ($calleridname =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) ) ) + { + $callerid = $calleridname; + ### set the callerid to the ACQS value(calleridname) + print "SET CALLERID $callerid\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $callerid"; &agi_output;} + } + + +if ($AGILOG) {$agi_string = "AGI Environment Dump:"; &agi_output;} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|$calleridname|$priority|"; &agi_output;} + +$VDADcampaign=''; +$VDADphone=''; +$VDADphone_code=''; + +$callerid =~ s/\"//gi; +$CIDlead_id = $callerid; +$CIDlead_id = substr($CIDlead_id, 11, 9); +$CIDlead_id = ($CIDlead_id + 0); + +if ($AGILOG) {$agi_string = "+++++ VDAD START : |$CIDlead_id|$now_date|$AST_ver|$priority|"; &agi_output;} + +if ( ($channel =~ /Local/i) && ($AST_ver !~ /^1\.0\.8|^1\.0\.9/) ) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +if ($priority > 2) {sleep(1);} +exit; +} + +$stmtA = "SELECT count(*) FROM vicidial_live_agents where callerid='$callerid';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $Pseudo_duplicate_count = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); + +if ($Pseudo_duplicate_count > 0) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START PSEUDO DUPLICATE: EXITING- $priority"; &agi_output;} +exit; +} + +$stmtA = "SELECT count(*) FROM vicidial_auto_calls where callerid='$callerid' and status IN('LIVE','XFER');"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dialplan_duplicate_count = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); + +if ($dialplan_duplicate_count > 0) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START DIALPLAN DUPLICATE: EXITING- $priority"; &agi_output;} +exit; +} + + + +### Grab call parameters from vicidial_auto_calls table +$stmtA = "UPDATE vicidial_auto_calls set uniqueid='$unique_id', channel='$channel',status='LIVE',stage='LIVE-0' where callerid='$callerid' order by call_time desc limit 1;"; +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} +if ($affected_rows > 0) + { + $stmtA = "SELECT campaign_id,phone_number,phone_code,lead_id,call_time FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADcampaign = "$aryA[0]"; + $VDADphone = "$aryA[1]"; + $VDADphone_code = "$aryA[2]"; + $VDADlead_id = "$aryA[3]"; + $VDADcall_time = "$aryA[4]"; + $rec_count++; + } + $sthA->finish(); + + ### Grab campaign values from the database + $stmtA = "SELECT drop_call_seconds,safe_harbor_message,safe_harbor_exten,concurrent_transfers FROM vicidial_campaigns where campaign_id = '$VDADcampaign';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBdrop_call_seconds = "$aryA[0]"; + $DBsafe_harbor_message = "$aryA[1]"; + $DBsafe_harbor_exten = "$aryA[2]"; + $DBconcurrent_transfers = "$aryA[3]"; + if ($DBdrop_call_seconds) {$DROP_TIME = $DBdrop_call_seconds;} + if ($DBsafe_harbor_message) {$safe_harbor_message = $DBsafe_harbor_message;} + if ($DBsafe_harbor_exten) {$safe_harbor_exten = $DBsafe_harbor_exten;} + $rec_count++; + } + $sthA->finish(); + + $stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$uniqueid','$CIDlead_id','$VDADcampaign','$SQLdate','$now_date_epoch','QUEUE','$VDADphone_code','$VDADphone','VDAD','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + + if ($AGILOG) {$agi_string = "-- VDAD : |$VDADlead_id|$CIDlead_id|insert to vicidial_log: $uniqueid"; &agi_output;} + + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmtA = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_eq_prepend FROM system_settings;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $enable_queuemetrics_logging = "$aryA[0]"; + $queuemetrics_server_ip = "$aryA[1]"; + $queuemetrics_dbname = "$aryA[2]"; + $queuemetrics_login= "$aryA[3]"; + $queuemetrics_pass = "$aryA[4]"; + $queuemetrics_log_id = "$aryA[5]"; + $queuemetrics_eq_prepend = "$aryA[6]"; + $rec_count++; + } + $sthA->finish(); + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $stmtA = "SELECT phone_number FROM vicidial_auto_calls where lead_id='$CIDlead_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $phone_number = "$aryA[0]"; + $rec_count++; + $data2 = "$phone_number"; + } + $sthA->finish(); + + if ( (length($queuemetrics_eq_prepend) > 0) && ($queuemetrics_eq_prepend !~ /NONE/) ) + { + $stmtA = "SELECT $queuemetrics_eq_prepend FROM vicidial_list where lead_id='$CIDlead_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + $DASH='-'; + @aryA = $sthA->fetchrow_array; + $QMprepend = "$aryA[0]"; + $rec_count++; + $data2 = "$QMprepend$DASH$phone_number"; + } + $sthA->finish(); + } + + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$callerid',queue='$VDADcampaign',agent='NONE',verb='ENTERQUEUE',data2='$data2',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + } + +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=25; +$hold_tone_counter=0; + +while ($drop_timer <= $DROP_TIME) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < $DROP_TIME) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + $DROP_TIME); + } + } +$stmtA = "SELECT next_agent_call FROM vicidial_campaigns where campaign_id='$VDADcampaign';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $CAMP_callorder = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); + +$agent_call_order=''; +if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} +if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} +if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} +if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} +if ($CAMP_callorder =~ /campaign_rank/i) {$agent_call_order = 'order by campaign_weight desc,last_call_finish';} +if ($CAMP_callorder =~ /fewest_calls/i) {$agent_call_order = 'order by calls_today,last_call_finish';} + + $rec_countWAIT=0; +$stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and campaign_id = '$VDADcampaign' and call_time < \"$VDADcall_time\" and lead_id != '$VDADlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); +if ($DBconcurrent_transfers =~ /AUTO/) + { + $active_agents=1; + $stmtA = "SELECT count(*) FROM vicidial_live_agents where server_ip='$VARserver_ip' and campaign_id = '$VDADcampaign' and last_update_time > '$BDtsSQLdate';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $active_agents = "$aryA[0]"; + $rec_count++; + } + + $DBconcurrent_transfers = ($active_agents / 10); + $DBconcurrent_transfers = sprintf("%.0f", $DBconcurrent_transfers); + $DBconcurrent_transfers++; + if ($AGILOG) {$agi_string = "|CONCURRENT TRANSFERS AUTO SETTING: $DBconcurrent_transfers ($active_agents)|"; &agi_output;} + } +$sthA->finish(); +if ($rec_countWAIT < $DBconcurrent_transfers) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$CIDlead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid' where status = 'READY' and server_ip='$VARserver_ip' and campaign_id='$VDADcampaign' and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|update of vla table: $VDADcampaign|$VARserver_ip\n|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $r=0; + $VDADuser=''; + while ( (length($VDADuser)<1) && ($r<3) ) + { + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where status IN('QUEUE','INCALL') and server_ip='$VARserver_ip' and campaign_id='$VDADcampaign' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $rec_count++; + } + $sthA->finish(); + $r++; + if ($r > 1) + { + if ($AGILOG) {$agi_string = "EEEEEEEEEE vla UPDATE DELAY!!! |$callerid|$r|"; &agi_output;} + + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } + if ($r > 2) + { + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where callerid='$callerid' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $rec_count++; + } + $sthA->finish(); + + if ($AGILOG) {$agi_string = "FFFFFFFFFF vla OR SELECT |$callerid|$VDADuser|"; &agi_output;} + } + } + + $stmtA = "UPDATE vicidial_auto_calls set status='XFER', stage='XFER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD XFER : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='PU' where lead_id='$CIDlead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD TEST : |$affected_rows|update of vl table: $CIDlead_id\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$callerid',queue='$VDADcampaign',agent='Agent/$VDADuser',verb='CONNECT',data1='$drop_timer',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $VDADconf_exten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADconf_exten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXXXXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNNNNNNN No agent record found!!!"; &agi_output;} + } + } +else + { + if ($AGILOG) {$agi_string = "WWWWWWWW VDAD XFER WAIT: |$rec_countWAIT|$VDADcampaign|$channel|$callerid|$uniqueid|"; &agi_output;} + } + + +if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } +else + { + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $drop_timer++; + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); +#if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + +} + + +if ($drop_timer >= $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $VDADvoicemail_ext = ''; + +$DROPexten = ''; +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$callerid',queue='$VDADcampaign',agent='NONE',verb='EXITWITHTIMEOUT',data1='1',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + + if ($safe_harbor_message =~ /Y/) + { + $DROPexten = "$safe_harbor_exten"; + } + else + { + $stmtA = "SELECT voicemail_ext FROM vicidial_campaigns where campaign_id = '$VDADcampaign' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADvoicemail_ext = "$aryA[0]"; + $VDADvoicemail_ext =~ s/\D//gi; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + $rec_count++; + } + $sthA->finish(); + } + } + + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vac record deleted: |$affected_rows|$VDADcampaign|"; &agi_output;} + + $stmtA = "UPDATE vicidial_log set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds' where uniqueid = '$uniqueid';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_log update: |$affected_rows|$uniqueid"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='DROP' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$CIDlead_id"; &agi_output;} +} + + + + $dbhA->disconnect(); + + + +exit; + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/call_log.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/call_log.agi new file mode 100644 index 00000000..027434af --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/call_log.agi @@ -0,0 +1,379 @@ +#!/usr/bin/perl +# +# call_log.agi version 0.10 *DBI-version* +# +# runs at the beginning and ending of every external call made and received +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;outbound dialing: +# exten => _91NXXNXXXXXX,1,AGI(call_log.agi,${EXTEN}) +# +# ;inbound calls: +# exten => 101,1,AGI(call_log.agi,${EXTEN}) +# +# ;all hangups: +# exten => h,1,AGI(call_log.agi,${EXTEN}) +# +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# +# CHANGES +# 60311-1309 - Fixed CallerID/name for VICIDIAL calls +# 60315-1020 - Added MySQL query fail debug print output +# 60622-0956 - Altered log for Zap client phones for consistent output +# 60718-1638 - changed to use DBI-DBD::mysql +# - changed to use /etc/astguiclient.conf for configs +# 60815-1023 - added output options check from database +# + +$script = 'call_log.agi'; + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + ## Seb Auriol added from here (04-May-05): + ## From http://home.cogeco.ca/~camstuff/agi.html: + ## """AGI scripts *always* receive two arguments. + ## The first argument is the full path to the script itself. + ## The second argument is the stuff passed in from the "exten" line.""" + ## $ARGV[1] is the second argument. + ## Actually http://home.cogeco.ca/~camstuff/agi.html is INCORRECT!!! + ## The FIRST and ONLY argument (in perl) is the stuff passed in from the "exten" line. + ## I think this is do with the perl interpreter vs the python interpreter, which inserts the + ## full path to the script as the 1st argument. + if (length($ARGV[0])>0) + { + $extensionarg = $ARGV[0]; # This is a fudge that assumes you only pass in one parameter. This argument should really be parsed. /Seb + } + ## until here. + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + if ( $callerid =~ /\"/) {$callerid =~ s/\"//gi;} + +# if ( (length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) ) + if ( ( + (length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) + ) or ( (length($calleridname)>17) && ($calleridname =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) ) ) + {$callerid = $calleridname;} + + ### allow for ANI being sent with the DNIS "*3125551212*9999*" + if ($extension =~ /\d\d\d\d\d\d\d\d\d\d\*/) + { + $callerid = $extension; + $callerid =~ s/\*\d\d\d\d$//gi; + $callerid =~ s/^\*//gi; + $extension =~ s/\d\d\d\d\d\d\d\d\d\d\*//gi; + $extension =~ s/\*$//gi; + } + ## Seb Auriol added from here (04-May-05): + ## $extensionarg was supplied to the script and should override $extension. + ## This is to enable us to call this script from a macro. + if ($extensionarg) {$extension = $extensionarg;} + ## until here. +} + +if ($AGILOG) {$agi_string = "AGI Environment Dump:"; &agi_output;} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + +if ( ($extension =~ /h/i) && (length($extension) < 3)) {$stage = 'END';} +else {$stage = 'START';} + +### call start stage +if ($stage =~ /START/) + { + if ($AGILOG) {$agi_string = "+++++ CALL LOG START : $now_date"; &agi_output;} + + if ($channel =~ /^SIP/) {$channel =~ s/-.*//gi;} + if ($channel =~ /^IAX2/) {$channel =~ s/\/\d+$//gi;} + if ($channel =~ /^Zap\//) + { + $channel_line = $channel; + $channel_line =~ s/^Zap\///gi; + + $stmtA = "SELECT count(*) FROM phones where server_ip='$VARserver_ip' and extension='$channel_line' and protocol='Zap';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + $is_client_phone = "$aryA[0]"; + if ($AGILOG) {$agi_string = "Local Zap phone: $aryA[0]|$channel_line|"; &agi_output;} + $sthA->finish(); + + if ($is_client_phone < 1) + { + $channel_group = 'Zap Trunk Line'; + $number_dialed = $callerid; + } + } + ### This section breaks the outbound dialed number down(or builds it up) to a 10 digit number and gives it a description + if ( ($channel =~ /^SIP|^IAX2/) or ($is_client_phone > 0) ) + { + if ( ($extension =~ /^901144/) && (length($extension)==16) ) #test 207 608 6400 + {$extension =~ s/^9//gi; $channel_group = 'Outbound Intl UK';} + if ( ($extension =~ /^901161/) && (length($extension)==15) ) #test 39 417 2011 + {$extension =~ s/^9//gi; $channel_group = 'Outbound Intl AUS';} + if ( ($extension =~ /^91800|^91888|^91877|^91866/) && (length($extension)==12) ) + {$extension =~ s/^91//gi; $channel_group = 'Outbound Local 800';} + if ( ($extension =~ /^9/) && (length($extension)==8) ) + {$extension =~ s/^9/727/gi; $channel_group = 'Outbound Local';} + if ( ($extension =~ /^9/) && (length($extension)==11) ) + {$extension =~ s/^9//gi; $channel_group = 'Outbound Local';} + if ( ($extension =~ /^91/) && (length($extension)==12) ) + {$extension =~ s/^91//gi; $channel_group = 'Outbound Long Distance';} + if ($is_client_phone > 0) + {$channel_group = 'Zap Client Phone';} + + $SIP_ext = $channel; $SIP_ext =~ s/SIP\/|IAX2\/|Zap\///gi; + + $number_dialed = $extension; + $extension = $SIP_ext; + } + + $stmtA = "INSERT INTO call_log (uniqueid,channel,channel_group,type,server_ip,extension,number_dialed,start_time,start_epoch,end_time,end_epoch,length_in_sec,length_in_min,caller_code) values('$unique_id','$channel','$channel_group','$type','$VARserver_ip','$extension','$number_dialed','$now_date','$now_date_epoch','','','','','$callerid')"; + + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + + $dbhA->disconnect(); + } + + +### call end stage +else + { + if ($AGILOG) {$agi_string = "|CALL HUNG UP|"; &agi_output;} + + ### get uniqueid and start_epoch from the call_log table + $stmtA = "SELECT uniqueid,start_epoch FROM call_log where uniqueid='$unique_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $start_time = "$aryA[1]"; + if ($AGILOG) {$agi_string = "|$aryA[0]|$aryA[1]|"; &agi_output;} + $rec_count++; + } + $sthA->finish(); + + if ($rec_count) + { + $length_in_sec = ($now_date_epoch - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + if ($AGILOG) {$agi_string = "QUERY done: start time = $start_time | sec: $length_in_sec | min: $length_in_min |"; &agi_output;} + + $stmtA = "UPDATE call_log set end_time='$now_date',end_epoch='$now_date_epoch',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where uniqueid='$unique_id'"; + + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + } + + $stmtA = "DELETE from live_inbound where uniqueid='$unique_id' and server_ip='$VARserver_ip'"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + +##### BEGIN Park Log entry check and update ##### + $stmtA = "SELECT UNIX_TIMESTAMP(parked_time),UNIX_TIMESTAMP(grab_time) FROM park_log where uniqueid='$unique_id' and server_ip='$VARserver_ip' LIMIT 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $parked_time = "$aryA[0]"; + $grab_time = "$aryA[1]"; + if ($AGILOG) {$agi_string = "|$aryA[0]|$aryA[1]|"; &agi_output;} + $rec_count++; + } + $sthA->finish(); + + if ($rec_count) + { + if ($AGILOG) {$agi_string = "*****Entry found for $unique_id-$VARserver_ip in park_log: $parked_time|$grab_time"; &agi_output;} + if ($parked_time > $grab_time) + { + $parked_sec=($now_date_epoch - $parked_time); + $talked_sec=0; + } + else + { + $talked_sec=($now_date_epoch - $parked_time); + $parked_sec=($grab_time - $parked_time); + } + + $stmtA = "UPDATE park_log set status='HUNGUP',hangup_time='$now_date',parked_sec='$parked_sec',talked_sec='$talked_sec' where uniqueid='$unique_id' and server_ip='$VARserver_ip'"; + $affected_rows = $dbhA->do($stmtA); + } +##### END Park Log entry check and update ##### + + $dbhA->disconnect(); + + if ($AGILOG) {$agi_string = "+++++ CALL LOG HUNGUP: |$unique_id|$channel|$extension|$now_date|min: $length_in_min|"; &agi_output;} + } + +exit; + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_agi/call_logCID.agi b/agc_2-X/branches/agc_2.0.5/extras/old_agi/call_logCID.agi new file mode 100644 index 00000000..a14ad009 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_agi/call_logCID.agi @@ -0,0 +1,372 @@ +#!/usr/bin/perl +# +# call_log.agi version 0.8 *DBI-version* +# +# runs at the beginning and ending of every external call made and received +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;outbound dialing: +# exten => _91NXXNXXXXXX,1,AGI(call_log.agi,${EXTEN}) +# +# ;inbound calls: +# exten => 101,1,AGI(call_log.agi,${EXTEN}) +# +# ;all hangups: +# exten => h,1,DeadAGI(call_log.agi,${EXTEN}) +# +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# +# CHANGES +# 60622-0957 - Altered log for Zap client phones for consistent output +# 60718-1638 - changed to use DBI-DBD::mysql +# - changed to use /etc/astguiclient.conf for configs +# 60815-1023 - added output options check from database +# + +$script = 'call_logCID.agi'; + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ +if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + if ($args =~ />| |\"/i) + { + @CID = split(/-----/, $args); + $fullCID=1; + $callerid = $CID[2]; + $calleridname = $CID[3]; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} +else +{ +if ($V) {print "no command line options set\n";} +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (!$fullCID) # if no fullCID sent + { + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + if ( $calleridname =~ /\"/) {$calleridname =~ s/\"//gi;} +# if ( (length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) ) + if ( ( + (length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) + ) or ( (length($calleridname)>17) && ($calleridname =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) ) ) + {$callerid = $calleridname;} + + ### allow for ANI being sent with the DNIS "*3125551212*9999*" + if ($extension =~ /^\*\d\d\d\d\d\d\d\d\d\d\*/) + { + $callerid = $extension; + $callerid =~ s/\*\d\d\d\d\*$//gi; + $callerid =~ s/^\*//gi; + $extension =~ s/^\*\d\d\d\d\d\d\d\d\d\d\*//gi; + $extension =~ s/\*$//gi; + } + $calleridname = $callerid; + } +} + +if ($AGILOG) {$agi_string = "AGI Environment Dump:"; &agi_output;} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + + +if ( ($extension =~ /h/i) && (length($extension) < 3)) {$stage = 'END';} +else {$stage = 'START';} + +### call start stage +if ($stage =~ /START/) + { + if ($AGILOG) {$agi_string = "+++++ CALL LOG START : $now_date"; &agi_output;} + + $is_client_phone = 0; + if ($channel =~ /^SIP/) {$channel =~ s/-.*//gi;} + if ($channel =~ /^IAX2/) {$channel =~ s/\/\d+$//gi;} + if ($channel =~ /^Zap\//) + { + $channel_line = $channel; + $channel_line =~ s/^Zap\///gi; + + $stmtA = "SELECT count(*) FROM phones where server_ip='$VARserver_ip' and extension='$channel_line' and protocol='Zap';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + $is_client_phone = "$aryA[0]"; + if ($AGILOG) {$agi_string = "Local Zap phone: $aryA[0]|$channel_line|"; &agi_output;} + $sthA->finish(); + + if ($is_client_phone < 1) + { + $channel_group = 'Zap Trunk Line'; + $number_dialed = $callerid; + } + } + ### This section breaks the outbound dialed number down(or builds it up) to a 10 digit number and gives it a description + if ( ($channel =~ /^SIP|^IAX2/) or ($is_client_phone > 0) ) + { + if ( ($extension =~ /^901144/) && (length($extension)==16) ) #test 207 608 6400 + {$extension =~ s/^9//gi; $channel_group = 'Outbound Intl UK';} + if ( ($extension =~ /^901161/) && (length($extension)==15) ) #test 39 417 2011 + {$extension =~ s/^9//gi; $channel_group = 'Outbound Intl AUS';} + if ( ($extension =~ /^91800|^91888|^91877|^91866/) && (length($extension)==12) ) + {$extension =~ s/^91//gi; $channel_group = 'Outbound Local 800';} + if ( ($extension =~ /^9/) && (length($extension)==8) ) + {$extension =~ s/^9/727/gi; $channel_group = 'Outbound Local';} + if ( ($extension =~ /^9/) && (length($extension)==11) ) + {$extension =~ s/^9//gi; $channel_group = 'Outbound Local';} + if ( ($extension =~ /^91/) && (length($extension)==12) ) + {$extension =~ s/^91//gi; $channel_group = 'Outbound Long Distance';} + if ($is_client_phone > 0) + {$channel_group = 'Zap Client Phone';} + + $SIP_ext = $channel; $SIP_ext =~ s/SIP\/|IAX2\/|Zap\///gi; + + $number_dialed = $extension; + $extension = $SIP_ext; + } + + $stmtA = "INSERT INTO call_log (uniqueid,channel,channel_group,type,server_ip,extension,number_dialed,start_time,start_epoch,end_time,end_epoch,length_in_sec,length_in_min,caller_code) values('$unique_id','$channel','$channel_group','$type','$VARserver_ip','$extension','$number_dialed','$now_date','$now_date_epoch','','','','','$calleridname')"; + + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + + $dbhA->disconnect(); + } + + +### call end stage +else + { + if ($AGILOG) {$agi_string = "|CALL HUNG UP|"; &agi_output;} + + ### get uniqueid and start_epoch from the call_log table + $stmtA = "SELECT uniqueid,start_epoch FROM call_log where uniqueid='$unique_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $start_time = "$aryA[1]"; + if ($AGILOG) {$agi_string = "|$aryA[0]|$aryA[1]|"; &agi_output;} + $rec_count++; + } + $sthA->finish(); + + if ($rec_count) + { + $length_in_sec = ($now_date_epoch - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + if ($AGILOG) {$agi_string = "QUERY done: start time = $start_time | sec: $length_in_sec | min: $length_in_min |"; &agi_output;} + + $stmtA = "UPDATE call_log set end_time='$now_date',end_epoch='$now_date_epoch',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where uniqueid='$unique_id'"; + + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + } + + $stmtA = "DELETE from live_inbound where uniqueid='$unique_id' and server_ip='$VARserver_ip'"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + +##### BEGIN Park Log entry check and update ##### + $stmtA = "SELECT UNIX_TIMESTAMP(parked_time),UNIX_TIMESTAMP(grab_time) FROM park_log where uniqueid='$unique_id' and server_ip='$VARserver_ip' LIMIT 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $parked_time = "$aryA[0]"; + $grab_time = "$aryA[1]"; + if ($AGILOG) {$agi_string = "|$aryA[0]|$aryA[1]|"; &agi_output;} + $rec_count++; + } + $sthA->finish(); + + if ($rec_count) + { + if ($AGILOG) {$agi_string = "*****Entry found for $unique_id-$VARserver_ip in park_log: $parked_time|$grab_time"; &agi_output;} + if ($parked_time > $grab_time) + { + $parked_sec=($now_date_epoch - $parked_time); + $talked_sec=0; + } + else + { + $talked_sec=($now_date_epoch - $parked_time); + $parked_sec=($grab_time - $parked_time); + } + + $stmtA = "UPDATE park_log set status='HUNGUP',hangup_time='$now_date',parked_sec='$parked_sec',talked_sec='$talked_sec' where uniqueid='$unique_id' and server_ip='$VARserver_ip'"; + $affected_rows = $dbhA->do($stmtA); + } +# else {print STDERR "*****No entry found for $unique_id-$VARserver_ip in park_log\n";} +##### END Park Log entry check and update ##### + + $dbhA->disconnect(); + + if ($AGILOG) {$agi_string = "+++++ CALL LOG HUNGUP: |$unique_id|$channel|$extension|$now_date|min: $length_in_min|"; &agi_output;} + } + + +exit; + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings.pl b/agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings.pl new file mode 100644 index 00000000..39e98e24 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings.pl @@ -0,0 +1,183 @@ +#!/usr/bin/perl +# +# AST_CRON_mix_recordings.pl +# runs every 5 minutes and mixes the call recordings in the monitor together +# and puts the resulting ALL file into the DONE directory in the "monitor" dir +# +# soxmix is REQUIRED to use this script, soxmix is available only as part of +# the sox audio package, and only in newer versions. Make sure you have soxmix +# installed properly and in your path +# +# put an entry into the cron of of your asterisk machine to run this script +# every 5 minutes or however often you desire +# +# make sure that the following directories exist: +# /var/spool/asterisk/monitor # default Asterisk recording directory +# /var/spool/asterisk/monitor/DONE # where the combined files are put +# /var/spool/asterisk/monitor/ORIG # where the original in/out files are put +# +# This program assumes that recordings are saved as .wav +# should be easy to change this code if you use .gsm instead +# +# This program also sends the ALL combined file to an FTP server for archival +# purposes, you can comment out the Net::Ping and Net::FTP lines as well as the +# file transfer section of the code to deactivate remote copying of the +# recording files +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# +# +# 51021-1058 - Added quotes around CLI executed commands +# 51122-1458 - Added soxmix binary path check +# 60318-0921 - Added ability to mix gsm audio files +# 60807-1308 - Modified to use /etc/astguiclient.conf for settings +# 71004-1124 - Changed to not move ORIG recordings if FTP server does not Ping +# 71005-0049 - Altered script to use astguiclient.conf for settings +# + + +#$v=1; + +# Default variables for FTP +$VARFTP_host = '10.0.0.4'; +$VARFTP_user = 'cron'; +$VARFTP_pass = 'test'; +$VARFTP_dir = 'RECORDINGS'; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /PATHDONEmonitor/) && ($CLIDONEmonitor < 1) ) + {$PATHDONEmonitor = $line; $PATHDONEmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_host/) && ($CLIFTP_host < 1) ) + {$VARFTP_host = $line; $VARFTP_host =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_user/) && ($CLIFTP_user < 1) ) + {$VARFTP_user = $line; $VARFTP_user =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_pass/) && ($CLIFTP_pass < 1) ) + {$VARFTP_pass = $line; $VARFTP_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_port/) && ($CLIFTP_port < 1) ) + {$VARFTP_port = $line; $VARFTP_port =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_dir/) && ($CLIFTP_dir < 1) ) + {$VARFTP_dir = $line; $VARFTP_dir =~ s/.*=//gi;} + if ( ($line =~ /^VARHTTP_path/) && ($CLIHTTP_path < 1) ) + {$VARHTTP_path = $line; $VARHTTP_path =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +### directory where in/out recordings are saved to by Asterisk +$dir1 = "$PATHmonitor"; +$dir2 = "$PATHDONEmonitor"; + +$soxmixbin = ''; +if ( -e ('/usr/bin/soxmix')) {$soxmixbin = '/usr/bin/soxmix';} +else + { + if ( -e ('/usr/local/bin/soxmix')) {$soxmixbin = '/usr/local/bin/soxmix';} + else + { + print "Can't find soxmix binary! Exiting...\n"; + exit; + } + } + +use Net::Ping; +use Net::FTP; + + + opendir(FILE, "$dir1/"); + @FILES = readdir(FILE); + +$i=0; +foreach(@FILES) + { + $size1 = 0; + $size2 = 0; + + if ( (length($FILES[$i]) > 4) && (!-d $FILES[$i]) ) + { + + $size1 = (-s "$dir1/$FILES[$i]"); + if ($v) {print "$FILES[$i] $size1\n";} + sleep(1); + $size2 = (-s "$dir1/$FILES[$i]"); + if ($v) {print "$FILES[$i] $size2\n\n";} + + if ( ($FILES[$i] !~ /out\.wav|out\.gsm/i) && ($size1 eq $size2) && (length($FILES[$i]) > 4)) + { + $INfile = $FILES[$i]; + $OUTfile = $FILES[$i]; + $OUTfile =~ s/-in\.wav/-out.wav/gi; + $OUTfile =~ s/-in\.gsm/-out.gsm/gi; + $ALLfile = $FILES[$i]; + $ALLfile =~ s/-in\.wav/-all.wav/gi; + $ALLfile =~ s/-in\.gsm/-all.gsm/gi; + + if ($v) {print "|$INfile| |$OUTfile| |$ALLfile|\n\n";} + + ### BEGIN Remote file transfer + $p = Net::Ping->new(); + $ping_good = $p->ping("$VARFTP_host"); + + if ($ping_good) + { + `$soxmixbin "$dir1/$INfile" "$dir1/$OUTfile" "$dir2/$ALLfile"`; + if ($v) {print "|$INfile| |$OUTfile| |$ALLfile|\n\n";} + if (!$T) + { + `mv -f "$dir1/$INfile" "$dir2/ORIG/$INfile"`; + `mv -f "$dir1/$OUTfile" "$dir2/ORIG/$OUTfile"`; + } + + $ftp = Net::FTP->new("$VARFTP_host", Port => 21); + $ftp->login("$VARFTP_user","$VARFTP_pass"); + $ftp->cwd("$VARFTP_dir"); + $ftp->binary(); + $ftp->put("$dir2/$ALLfile", "$ALLfile"); + $ftp->quit; + } + ### END Remote file transfer + + } + } + $i++; + } + +if ($v) {print "DONE... EXITING\n\n";} + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings_BASIC.pl b/agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings_BASIC.pl new file mode 100644 index 00000000..04c67b00 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings_BASIC.pl @@ -0,0 +1,148 @@ +#!/usr/bin/perl +# +# AST_CRON_mix_recordings_BASIC.pl +# runs every 5 minutes and mixes the call recordings in the monitor together +# and puts the resulting ALL file into the DONE directory in the "monitor" dir +# +# soxmix is REQUIRED to use this script, soxmix is available only as part of +# the sox audio package, and only in newer versions. Make sure you have soxmix +# installed properly and in your path +# +# put an entry into the cron of of your asterisk machine to run this script +# every 5 minutes or however often you desire +# +# make sure that the following directories exist: +# /var/spool/asterisk/monitor # default Asterisk recording directory +# /var/spool/asterisk/monitor/DONE # where the combined files are put +# /var/spool/asterisk/monitor/ORIG # where the original in/out files are put +# +# This program assumes that recordings are saved as .wav +# should be easy to change this code if you use .gsm instead +# +# This program also sends the ALL combined file to an FTP server for archival +# purposes, you can comment out the Net::Ping and Net::FTP lines as well as the +# file transfer section of the code to deactivate remote copying of the +# recording files +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# +# +# 51021-1058 - Added quotes around CLI executed commands +# 51122-1456 - Added soxmix binary path check +# 60318-0921 - Added ability to mix gsm audio files +# 60807-1308 - Modified to use /etc/astguiclient.conf for settings +# + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +### directory where in/out recordings are saved to by Asterisk +$dir1 = "$PATHmonitor"; + +$soxmixbin = ''; +if ( -e ('/usr/bin/soxmix')) {$soxmixbin = '/usr/bin/soxmix';} +else + { + if ( -e ('/usr/local/bin/soxmix')) {$soxmixbin = '/usr/local/bin/soxmix';} + else + { + print "Can't find soxmix binary! Trying sox...\n"; + if ( -e ('/usr/bin/sox')) {$soxmixbin = '/usr/bin/sox -m';} + else + { + if ( -e ('/usr/local/bin/sox')) {$soxmixbin = '/usr/local/bin/sox -m';} + else + { + print "Can't find sox binary! Exiting...\n"; + exit; + } + } + } + } + + opendir(FILE, "$dir1/"); + @FILES = readdir(FILE); + +$i=0; +foreach(@FILES) + { + $size1 = 0; + $size2 = 0; + + if ( (length($FILES[$i]) > 4) && (!-d $FILES[$i]) ) + { + + $size1 = (-s "$dir1/$FILES[$i]"); + if ($v) {print "$FILES[$i] $size1\n";} + sleep(1); + $size2 = (-s "$dir1/$FILES[$i]"); + if ($v) {print "$FILES[$i] $size2\n\n";} + + + if ( ($FILES[$i] !~ /out\.wav|out\.gsm/i) && ($size1 eq $size2) && (length($FILES[$i]) > 4)) + { + $INfile = $FILES[$i]; + $OUTfile = $FILES[$i]; + $OUTfile =~ s/-in\.wav/-out.wav/gi; + $OUTfile =~ s/-in\.gsm/-out.gsm/gi; + $ALLfile = $FILES[$i]; + $ALLfile =~ s/-in\.wav/-all.wav/gi; + $ALLfile =~ s/-in\.gsm/-all.gsm/gi; + + if ($v) {print "|$INfile| |$OUTfile| |$ALLfile|\n\n";} + + `$soxmixbin "$dir1/$INfile" "$dir1/$OUTfile" "$dir1/$ALLfile"`; + if ($v) {print "|$INfile| |$OUTfile| |$ALLfile|\n\n";} + if (!$T) + { + `mv -f "$dir1/$INfile" "$dir1/ORIG/$INfile"`; + `mv -f "$dir1/$OUTfile" "$dir1/ORIG/$OUTfile"`; + `mv -f "$dir1/$ALLfile" "$dir1/DONE/$ALLfile"`; + } + } + } + $i++; + } + +if ($v) {print "DONE... EXITING\n\n";} + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings_GSM.pl b/agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings_GSM.pl new file mode 100644 index 00000000..56e2fe7b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings_GSM.pl @@ -0,0 +1,204 @@ +#!/usr/bin/perl +# +# AST_CRON_mix_recordings_GSM.pl +# runs every 5 minutes and mixes the call recordings in the monitor together +# and puts the resulting ALL file into the DONE directory in the "monitor" dir +# and converts the ALL file to GSM format to save space. +# +# soxmix is REQUIRED to use this script, soxmix is available only as part of +# the sox audio package, and only in newer versions. Make sure you have soxmix +# installed properly and in your path +# +# put an entry into the cron of of your asterisk machine to run this script +# every 5 minutes or however often you desire +# +# make sure that the following directories exist: +# /var/spool/asterisk/monitor # default Asterisk recording directory +# /var/spool/asterisk/monitor/DONE # where the combined files are put +# /var/spool/asterisk/monitor/ORIG # where the original in/out files are put +# +# This program assumes that recordings are saved as .wav +# should be easy to change this code if you use .gsm instead +# +# This program also sends the ALL combined file to an FTP server for archival +# purposes, you can comment out the Net::Ping and Net::FTP lines as well as the +# file transfer section of the code to deactivate remote copying of the +# recording files +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# +# +# 51021-1058 - Added quotes around CLI executed commands +# 51122-1455 - Added soxmix and sox binary path check +# 60807-1308 - Modified to use /etc/astguiclient.conf for settings +# 71004-1124 - Changed to not move ORIG recordings if FTP server does not Ping +# 71005-0049 - Altered script to use astguiclient.conf for settings +# + + +# Default variables for FTP +$VARFTP_host = '10.0.0.4'; +$VARFTP_user = 'cron'; +$VARFTP_pass = 'test'; +$VARFTP_dir = 'RECORDINGS'; +$VARFTP_port = '21'; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /PATHDONEmonitor/) && ($CLIDONEmonitor < 1) ) + {$PATHDONEmonitor = $line; $PATHDONEmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_host/) && ($CLIFTP_host < 1) ) + {$VARFTP_host = $line; $VARFTP_host =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_user/) && ($CLIFTP_user < 1) ) + {$VARFTP_user = $line; $VARFTP_user =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_pass/) && ($CLIFTP_pass < 1) ) + {$VARFTP_pass = $line; $VARFTP_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_port/) && ($CLIFTP_port < 1) ) + {$VARFTP_port = $line; $VARFTP_port =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_dir/) && ($CLIFTP_dir < 1) ) + {$VARFTP_dir = $line; $VARFTP_dir =~ s/.*=//gi;} + if ( ($line =~ /^VARHTTP_path/) && ($CLIHTTP_path < 1) ) + {$VARHTTP_path = $line; $VARHTTP_path =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +### directory where in/out recordings are saved to by Asterisk +$dir1 = "$PATHmonitor"; +$dir2 = "$PATHDONEmonitor"; + +$soxmixbin = ''; +if ( -e ('/usr/bin/soxmix')) {$soxmixbin = '/usr/bin/soxmix';} +else + { + if ( -e ('/usr/local/bin/soxmix')) {$soxmixbin = '/usr/local/bin/soxmix';} + else + { + print "Can't find soxmix binary! Exiting...\n"; + exit; + } + } +$soxbin = ''; +if ( -e ('/usr/bin/sox')) {$soxbin = '/usr/bin/sox';} +else + { + if ( -e ('/usr/local/bin/sox')) {$soxbin = '/usr/local/bin/sox';} + else + { + print "Can't find sox binary! Exiting...\n"; + exit; + } + } + +use Net::Ping; +use Net::FTP; + + + opendir(FILE, "$dir1/"); + @FILES = readdir(FILE); + +$i=0; +foreach(@FILES) + { + $size1 = 0; + $size2 = 0; + + if ( (length($FILES[$i]) > 4) && (!-d $FILES[$i]) ) + { + + $size1 = (-s "$dir1/$FILES[$i]"); + if ($v) {print "$FILES[$i] $size1\n";} + sleep(1); + $size2 = (-s "$dir1/$FILES[$i]"); + if ($v) {print "$FILES[$i] $size2\n\n";} + + + if ( ($FILES[$i] !~ /out\.wav/i) && ($size1 eq $size2) && (length($FILES[$i]) > 4)) + { + $INfile = $FILES[$i]; + $OUTfile = $FILES[$i]; + $OUTfile =~ s/-in\.wav/-out.wav/gi; + $ALLfile = $FILES[$i]; + $ALLfile =~ s/-in\.wav/-all.wav/gi; + $GSMfile = $ALLfile; + $GSMfile =~ s/-all\.wav/-all.gsm/gi; + + if ($v) {print "|$INfile| |$OUTfile| |$ALLfile|\n\n";} + + ### BEGIN Remote file transfer + $p = Net::Ping->new(); + $ping_good = $p->ping("$VARFTP_host"); + + if ($ping_good) + { + `$soxmixbin "$dir1/$INfile" "$dir1/$OUTfile" "$dir2/$ALLfile"`; + if ($v) {print "|$INfile| |$OUTfile| |$ALLfile|\n\n";} + if (!$T) + { + `mv -f "$dir1/$INfile" "$dir2/ORIG/$INfile"`; + `mv -f "$dir1/$OUTfile" "$dir2/ORIG/$OUTfile"`; + } + + `$soxbin "$dir2/$ALLfile" "$dir2/$GSMfile"`; + + if (!$T) + { + `rm -f "$dir2/$ALLfile"`; + } + + if($DB){print STDERR "\n|/usr/bin/sox $live_folder/$filename[$k]$WAV $arch_folder/$filename[$k]$GSM|\n";} + chmod 0755, "$dir2/$GSMfile"; + + $ftp = Net::FTP->new("$VARFTP_host", Port => $VARFTP_port, Debug => 0, Passive => 1); + $ftp->login("$VARFTP_user","$VARFTP_pass"); + $ftp->cwd("$VARFTP_dir"); + $ftp->binary(); + $ftp->put("$dir2/$GSMfile", "$GSMfile"); + $ftp->quit; + } + ### END Remote file transfer + + } + } + $i++; + } + +if ($v) {print "DONE... EXITING\n\n";} + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings_MP3.pl b/agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings_MP3.pl new file mode 100644 index 00000000..c548a14a --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings_MP3.pl @@ -0,0 +1,206 @@ +#!/usr/bin/perl +# +# AST_CRON_mix_recordings_MP3.pl +# runs every 5 minutes and mixes the call recordings in the monitor together +# and puts the resulting ALL file into the DONE directory in the "monitor" dir +# and converts the ALL file to GSM format to save space. +# +# soxmix is REQUIRED to use this script, soxmix is available only as part of +# the sox audio package, and only in newer versions. Make sure you have soxmix +# installed properly and in your path +# +# put an entry into the cron of of your asterisk machine to run this script +# every 5 minutes or however often you desire +# +# make sure that the following directories exist: +# /var/spool/asterisk/monitor # default Asterisk recording directory +# /var/spool/asterisk/monitor/DONE # where the combined files are put +# /var/spool/asterisk/monitor/ORIG # where the original in/out files are put +# +# This program assumes that recordings are saved as .wav +# should be easy to change this code if you use .gsm instead +# +# This program also sends the ALL combined file to an FTP server for archival +# purposes, you can comment out the Net::Ping and Net::FTP lines as well as the +# file transfer section of the code to deactivate remote copying of the +# recording files +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# Contributions by Mike Lord +# +# 51021-1058 - Added quotes around CLI executed commands +# 51122-1455 - Added soxmix and sox binary path check +# 60616-1027 - Modified to convert to MP3 format +# 60807-1308 - Modified to use /etc/astguiclient.conf for settings +# 71004-1124 - Changed to not move ORIG recordings if FTP server does not Ping +# 71005-0049 - Altered script to use astguiclient.conf for settings +# + + +# Default variables for FTP +$VARFTP_host = '10.0.0.4'; +$VARFTP_user = 'cron'; +$VARFTP_pass = 'test'; +$VARFTP_dir = 'recordings'; +$VARFTP_port = '21'; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /PATHDONEmonitor/) && ($CLIDONEmonitor < 1) ) + {$PATHDONEmonitor = $line; $PATHDONEmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_host/) && ($CLIFTP_host < 1) ) + {$VARFTP_host = $line; $VARFTP_host =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_user/) && ($CLIFTP_user < 1) ) + {$VARFTP_user = $line; $VARFTP_user =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_pass/) && ($CLIFTP_pass < 1) ) + {$VARFTP_pass = $line; $VARFTP_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_port/) && ($CLIFTP_port < 1) ) + {$VARFTP_port = $line; $VARFTP_port =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_dir/) && ($CLIFTP_dir < 1) ) + {$VARFTP_dir = $line; $VARFTP_dir =~ s/.*=//gi;} + if ( ($line =~ /^VARHTTP_path/) && ($CLIHTTP_path < 1) ) + {$VARHTTP_path = $line; $VARHTTP_path =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +### directory where in/out recordings are saved to by Asterisk +$dir1 = "$PATHmonitor"; +$dir2 = "$PATHDONEmonitor"; + +$soxmixbin = ''; +if ( -e ('/usr/bin/soxmix')) {$soxmixbin = '/usr/bin/soxmix';} +else + { + if ( -e ('/usr/local/bin/soxmix')) {$soxmixbin = '/usr/local/bin/soxmix';} + else + { + print "Can't find soxmix binary! Exiting...\n"; + exit; + } + } +$lamebin = ''; +if ( -e ('/usr/bin/lame')) {$lamebin = '/usr/bin/lame';} +else + { + if ( -e ('/usr/local/bin/lame')) {$lamebin = '/usr/local/bin/lame';} + else + { + print "Can't find lame binary! Exiting...\n"; + exit; + } + } + +use Net::Ping; +use Net::FTP; + + + opendir(FILE, "$dir1/"); + @FILES = readdir(FILE); + +$i=0; +foreach(@FILES) + { + $size1 = 0; + $size2 = 0; + + if ( (length($FILES[$i]) > 4) && (!-d $FILES[$i]) ) + { + + $size1 = (-s "$dir1/$FILES[$i]"); + if ($v) {print "$FILES[$i] $size1\n";} + sleep(1); + $size2 = (-s "$dir1/$FILES[$i]"); + if ($v) {print "$FILES[$i] $size2\n\n";} + + + if ( ($FILES[$i] !~ /out\.wav/i) && ($size1 eq $size2) && (length($FILES[$i]) > 4)) + { + $INfile = $FILES[$i]; + $OUTfile = $FILES[$i]; + $OUTfile =~ s/-in\.wav/-out.wav/gi; + $ALLfile = $FILES[$i]; + $ALLfile =~ s/-in\.wav/-all.wav/gi; + $MP3file = $ALLfile; + $MP3file =~ s/-all\.wav/-all.mp3/gi; + + if ($v) {print "|$INfile| |$OUTfile| |$ALLfile|\n\n";} + + ### BEGIN Remote file transfer + $p = Net::Ping->new(); + $ping_good = $p->ping("$VARFTP_host"); + + if ($ping_good) + { + `$soxmixbin "$dir1/$INfile" "$dir1/$OUTfile" "$dir2/$ALLfile"`; + if ($v) {print "|$INfile| |$OUTfile| |$ALLfile|\n\n";} + + `$lamebin -b 16 -m m --silent "$dir2/$ALLfile" "$dir2/$MP3file"`; + + if($DB){print STDERR "\n|/usr/bin/sox $live_folder/$filename[$k]$WAV $arch_folder/$filename[$k]$GSM|\n";} + chmod 0755, "$dir2/$MP3file"; + + $ftp = Net::FTP->new("$VARFTP_host", Port => $VARFTP_port, Debug => 0, Passive => 1); + $ftp->login("$VARFTP_user","$VARFTP_pass"); + $ftp->cwd("$VARFTP_dir"); + $ftp->binary(); + $ftp->put("$dir2/$MP3file", "$MP3file"); + $ftp->quit; + + if (!$T) + { + `mv -f "$dir1/$INfile" "$dir2/ORIG/$INfile"`; + `mv -f "$dir1/$OUTfile" "$dir2/ORIG/$OUTfile"`; + } + if (!$T) + { + `rm -f "$dir2/$ALLfile"`; + } + + } + ### END Remote file transfer + + } + } + $i++; + } + +if ($v) {print "DONE... EXITING\n\n";} + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings_MP3_DATE.pl b/agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings_MP3_DATE.pl new file mode 100644 index 00000000..e3a9cf01 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings_MP3_DATE.pl @@ -0,0 +1,231 @@ +#!/usr/bin/perl +# +# AST_CRON_mix_recordings_MP3_DATE.pl +# runs every 5 minutes and mixes the call recordings in the monitor together +# and puts the resulting ALL file into the DONE directory in the "monitor" dir +# and converts the ALL file to GSM format to save space. +# +# soxmix is REQUIRED to use this script, soxmix is available only as part of +# the sox audio package, and only in newer versions. Make sure you have soxmix +# installed properly and in your path +# +# put an entry into the cron of of your asterisk machine to run this script +# every 5 minutes or however often you desire +# +# make sure that the following directories exist: +# /var/spool/asterisk/monitor # default Asterisk recording directory +# /var/spool/asterisk/monitor/DONE # where the combined files are put +# /var/spool/asterisk/monitor/ORIG # where the original in/out files are put +# +# This program assumes that recordings are saved as .wav +# should be easy to change this code if you use .gsm instead +# +# This program also sends the ALL combined file to an FTP server for archival +# purposes, you can comment out the Net::Ping and Net::FTP lines as well as the +# file transfer section of the code to deactivate remote copying of the +# recording files +# +# MODIFIED BY MAGMA NETWORKS: FTP Server has new folder created daily for archiving +# recordings. If the directory does not exist, this script creates the directory in +# YYYYMMDD format. +# +# +# VERY IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +# You must be saving recordings as FULLDATE_CUSTPHONE_CAMPAIGN_AGENT +# and save files to dated-directories or this script will not work properly +# +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# Contributions by Mike Lord +# Contributions by Magma Networks LLC +# +# 51021-1058 - Added quotes around CLI executed commands +# 51122-1455 - Added soxmix and sox binary path check +# 60616-1027 - Modified to convert to MP3 format +# - Creates Directory on target FTP server based on . +# 60807-1308 - Modified to use /etc/astguiclient.conf for settings +# 71004-1124 - Changed to not move ORIG recordings if FTP server does not Ping +# 71005-0049 - Altered script to use astguiclient.conf for settings +# + +#verbose +$v=0; +#test +$T=0; + +# Default variables for FTP +$VARFTP_host = '192.168.0.8'; +$VARFTP_user = 'recordings'; +$VARFTP_pass = 'recordings'; +$VARFTP_dir = '/var/www/html/RECORDINGS'; +$VARFTP_port = '21'; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /PATHDONEmonitor/) && ($CLIDONEmonitor < 1) ) + {$PATHDONEmonitor = $line; $PATHDONEmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_host/) && ($CLIFTP_host < 1) ) + {$VARFTP_host = $line; $VARFTP_host =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_user/) && ($CLIFTP_user < 1) ) + {$VARFTP_user = $line; $VARFTP_user =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_pass/) && ($CLIFTP_pass < 1) ) + {$VARFTP_pass = $line; $VARFTP_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_port/) && ($CLIFTP_port < 1) ) + {$VARFTP_port = $line; $VARFTP_port =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_dir/) && ($CLIFTP_dir < 1) ) + {$VARFTP_dir = $line; $VARFTP_dir =~ s/.*=//gi;} + if ( ($line =~ /^VARHTTP_path/) && ($CLIHTTP_path < 1) ) + {$VARHTTP_path = $line; $VARHTTP_path =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +### directory where in/out recordings are saved to by Asterisk +$dir1 = "$PATHmonitor"; +$dir2 = "$PATHDONEmonitor"; + +# get current date in the format YYYYMMDD for use in directory name on the storage server +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +my $today = sprintf("%d%02d%02d", $year + 1900, $mon + 1, $mday); + +$soxmixbin = ''; +if ( -e ('/usr/bin/soxmix')) {$soxmixbin = '/usr/bin/soxmix';} +else + { + if ( -e ('/usr/local/bin/soxmix')) {$soxmixbin = '/usr/local/bin/soxmix';} + else + { + print "Can't find soxmix binary! Exiting...\n"; + exit; + } + } +$lamebin = ''; +if ( -e ('/usr/bin/lame')) {$lamebin = '/usr/bin/lame';} +else + { + if ( -e ('/usr/local/bin/lame')) {$lamebin = '/usr/local/bin/lame';} + else + { + print "Can't find lame binary! Exiting...\n"; + exit; + } + } + +use Net::Ping; +use Net::FTP; + + + opendir(FILE, "$dir1/"); + @FILES = readdir(FILE); + +$i=0; +foreach(@FILES) + { + $size1 = 0; + $size2 = 0; + + if ( (length($FILES[$i]) > 4) && (!-d $FILES[$i]) ) + { + + $size1 = (-s "$dir1/$FILES[$i]"); + if ($v) {print "$FILES[$i] $size1\n";} + sleep(1); + $size2 = (-s "$dir1/$FILES[$i]"); + if ($v) {print "$FILES[$i] $size2\n\n";} + + + if ( ($FILES[$i] !~ /out\.wav/i) && ($size1 eq $size2) && (length($FILES[$i]) > 4)) + { + $INfile = $FILES[$i]; + $OUTfile = $FILES[$i]; + $OUTfile =~ s/-in\.wav/-out.wav/gi; + $ALLfile = $FILES[$i]; + $ALLfile =~ s/-in\.wav/-all.wav/gi; + $MP3file = $ALLfile; + $MP3file =~ s/-all\.wav/-all.mp3/gi; + + ### BEGIN Remote file transfer + $p = Net::Ping->new(); + $ping_good = $p->ping("$VARFTP_host"); + + if ($ping_good) + { + if ($v) {print "|$INfile| |$OUTfile| |$ALLfile|\n\n";} + + `$soxmixbin "$dir1/$INfile" "$dir1/$OUTfile" "$dir2/$ALLfile"`; + if ($v) {print "|$INfile| |$OUTfile| |$ALLfile|\n\n";} + if (!$T) + { + `mv -f "$dir1/$INfile" "$dir2/ORIG/$INfile"`; + `mv -f "$dir1/$OUTfile" "$dir2/ORIG/$OUTfile"`; + } + + `$lamebin -b 16 -m m --silent "$dir2/$ALLfile" "$dir2/$MP3file"`; + + + if($DB){print STDERR "\n|$lamebin -b 16 -m m --silent \"$dir2/$ALLfile\" \"$dir2/$MP3file\"\n";} + chmod 0755, "$dir2/$MP3file"; + + $ftp = Net::FTP->new("$VARFTP_host", Port => $VARFTP_port, Debug => ($v? 1 : 0), Passive => 1); + $ftp->login("$VARFTP_user","$VARFTP_pass"); + #$ftp->cwd("$VARFTP_dir"); + $ftp->mkdir("$VARFTP_dir/$today", 1); + $ftp->cwd("$VARFTP_dir/$today"); + $ftp->binary(); + $ftp->put("$dir2/$MP3file", "$MP3file"); + $ftp->quit; + + # clean up + if (!$T) + { + `rm -f "$dir2/ORIG/$INfile"`; + `rm -f "$dir2/ORIG/$OUTfile"`; + `rm -f "$dir2/$ALLfile"`; + `rm -f "$dir2/$MP3file"`; + } + } + ### END Remote file transfer + } + } + $i++; + } + +if ($v) {print "DONE... EXITING\n\n";} + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings_VDonly_DATE.pl b/agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings_VDonly_DATE.pl new file mode 100644 index 00000000..bbd8363d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_bin/AST_CRON_mix_recordings_VDonly_DATE.pl @@ -0,0 +1,198 @@ +#!/usr/bin/perl +# +# AST_CRON_mix_recordings_VDonly_DATE.pl +# +# IMPORTANT!!! ONLY TO BE USED WHEN ONLY VICIDIAL RECORDINGS ARE ON THE SYSTEM! +# +# runs every 5 minutes and copies the -in recordings in the monitor to a dated +# directory on an FTP server. Creates the FTP directory if it does not exist. +# +# put an entry into the cron of of your asterisk machine to run this script +# every 5 minutes or however often you desire +# +# make sure that the following directories exist: +# /var/spool/asterisk/monitor # default Asterisk recording directory +# /var/spool/asterisk/monitor/ORIG # where the original in/out files are put +# +# This program assumes that recordings are saved as .wav +# should be easy to change this code if you use .gsm instead +# +# This program also sends the ALL combined file to an FTP server for archival +# purposes, you can comment out the Net::Ping and Net::FTP lines as well as the +# file transfer section of the code to deactivate remote copying of the +# recording files +# +# Copyright (C) 2007 Matt Florell LICENSE: GPLv2 +# +# +# 51021-1058 - Added quotes around CLI executed commands +# 51122-1458 - Added soxmix binary path check +# 60318-0921 - Added ability to mix gsm audio files +# 60807-1308 - Modified to use /etc/astguiclient.conf for settings +# 70702-1139 - Removed mixing, and added dated folder storage on FTP server +# 71004-1124 - Changed to not move ORIG recordings if FTP server does not Ping +# 71005-0049 - Altered script to use astguiclient.conf for settings +# + +# Default variables for FTP +$VARFTP_host = '10.0.0.4'; +$VARFTP_user = 'cron'; +$VARFTP_pass = 'test'; +$VARFTP_port = '21'; +$VARFTP_dir = 'RECORDINGS'; +$VARHTTP_path = 'http://10.0.0.4'; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /PATHDONEmonitor/) && ($CLIDONEmonitor < 1) ) + {$PATHDONEmonitor = $line; $PATHDONEmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_host/) && ($CLIFTP_host < 1) ) + {$VARFTP_host = $line; $VARFTP_host =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_user/) && ($CLIFTP_user < 1) ) + {$VARFTP_user = $line; $VARFTP_user =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_pass/) && ($CLIFTP_pass < 1) ) + {$VARFTP_pass = $line; $VARFTP_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_port/) && ($CLIFTP_port < 1) ) + {$VARFTP_port = $line; $VARFTP_port =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_dir/) && ($CLIFTP_dir < 1) ) + {$VARFTP_dir = $line; $VARFTP_dir =~ s/.*=//gi;} + if ( ($line =~ /^VARHTTP_path/) && ($CLIHTTP_path < 1) ) + {$VARHTTP_path = $line; $VARHTTP_path =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +### directory where in/out recordings are saved to by Asterisk +$dir1 = "$PATHmonitor"; +$dir2 = "$PATHDONEmonitor"; + +use Net::Ping; +use Net::FTP; + + opendir(FILE, "$dir1/"); + @FILES = readdir(FILE); + +$i=0; +foreach(@FILES) + { + $size1 = 0; + $size2 = 0; + + if ( (length($FILES[$i]) > 4) && (!-d $FILES[$i]) ) + { + + $size1 = (-s "$dir1/$FILES[$i]"); + if ($v) {print "$FILES[$i] $size1\n";} + sleep(1); + $size2 = (-s "$dir1/$FILES[$i]"); + if ($v) {print "$FILES[$i] $size2\n\n";} + + if ( ($FILES[$i] !~ /out\.wav|out\.gsm/i) && ($size1 eq $size2) && (length($FILES[$i]) > 4)) + { + $INfile = $FILES[$i]; + $OUTfile = $FILES[$i]; + $OUTfile =~ s/-in\.wav/-out.wav/gi; + $OUTfile =~ s/-in\.gsm/-out.gsm/gi; + $ALLfile = $FILES[$i]; + $ALLfile =~ s/-in\.wav/-all.wav/gi; + $ALLfile =~ s/-in\.gsm/-all.gsm/gi; + $SQLFILE = $FILES[$i]; + $SQLFILE =~ s/-in\.wav|-in\.gsm//gi; + + $stmtA = "select recording_id,start_time from recording_log where filename='$SQLFILE' order by recording_id desc LIMIT 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $recording_id = "$aryA[0]"; + $start_date = "$aryA[1]"; + $start_date =~ s/ .*//gi; + $rec_count++; + } + $sthA->finish(); + + if ($v) {print "|$INfile| |$ALLfile| |$recording_id|$start_date|\n";} + ### BEGIN Remote file transfer + $p = Net::Ping->new(); + $ping_good = $p->ping("$VARFTP_host"); + + if ($ping_good) + { + $ftp = Net::FTP->new("$VARFTP_host", Port => $VARFTP_port); + $ftp->login("$VARFTP_user","$VARFTP_pass"); + $ftp->cwd("$VARFTP_dir"); + $ftp->mkdir("$start_date"); + $ftp->cwd("$start_date"); + $ftp->binary(); + $ftp->put("$dir1/$INfile", "$ALLfile"); + $ftp->quit; + + $stmtA = "UPDATE recording_log set location='$VARHTTP_path/$start_date/$ALLfile' where recording_id='$recording_id';"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + + if (!$T) + { + `mv -f "$dir1/$INfile" "$dir2/ORIG/$INfile"`; + `mv -f "$dir1/$OUTfile" "$dir2/ORIG/$OUTfile"`; + } + } + ### END Remote file transfer + } + } + $i++; + } + +if ($v) {print "DONE... EXITING\n\n";} + +$dbhA->disconnect(); + + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_upgrade/upgrade_2.0.1.sql b/agc_2-X/branches/agc_2.0.5/extras/old_upgrade/upgrade_2.0.1.sql new file mode 100644 index 00000000..bc27592d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_upgrade/upgrade_2.0.1.sql @@ -0,0 +1,32 @@ +ALTER TABLE servers ADD sys_perf_log ENUM('Y','N') default 'N'; +ALTER TABLE servers ADD vd_server_logs ENUM('Y','N') default 'Y'; +ALTER TABLE servers ADD agi_output ENUM('NONE','STDERR','FILE','BOTH') default 'FILE'; +ALTER TABLE vicidial_campaigns ADD allcalls_delay SMALLINT(3) UNSIGNED default '0'; +ALTER TABLE vicidial_campaigns ADD omit_phone_code ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_campaigns MODIFY campaign_recording ENUM('NEVER','ONDEMAND','ALLCALLS','ALLFORCE') default 'ONDEMAND'; + +ALTER TABLE vicidial_list MODIFY phone_number VARCHAR(12); +ALTER TABLE vicidial_auto_calls MODIFY phone_number VARCHAR(12); +ALTER TABLE vicidial_log MODIFY phone_number VARCHAR(12); +ALTER TABLE vicidial_closer_log MODIFY phone_number VARCHAR(12); +ALTER TABLE vicidial_xfer_log MODIFY phone_number VARCHAR(12); +ALTER TABLE vicidial_list_pins MODIFY phone_number VARCHAR(12); +ALTER TABLE vicidial_dnc MODIFY phone_number VARCHAR(12); +ALTER TABLE vicidial_list MODIFY alt_phone VARCHAR(12); + +ALTER TABLE phones MODIFY local_gmt VARCHAR(6) default '-5'; +ALTER TABLE servers MODIFY local_gmt VARCHAR(6) default '-5'; + +ALTER TABLE vicidial_campaigns MODIFY auto_dial_level VARCHAR(6) default '0'; +ALTER TABLE vicidial_campaigns ADD dial_method ENUM('MANUAL','RATIO','ADAPT_HARD_LIMIT','ADAPT_TAPERED','ADAPT_AVERAGE') default 'MANUAL'; +ALTER TABLE vicidial_campaigns ADD available_only_ratio_tally ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_campaigns ADD adaptive_dropped_percentage SMALLINT(3) default '3'; +ALTER TABLE vicidial_campaigns ADD adaptive_maximum_level VARCHAR(6) default '3.0'; +ALTER TABLE vicidial_campaigns ADD adaptive_latest_server_time VARCHAR(4) default '2100'; +ALTER TABLE vicidial_campaigns ADD adaptive_intensity VARCHAR(6) default '0'; +ALTER TABLE vicidial_campaigns ADD adaptive_dl_diff_target SMALLINT(3) default '0'; + +ALTER TABLE vicidial_campaign_stats ADD differential_onemin VARCHAR(20) default '0'; +ALTER TABLE vicidial_campaign_stats ADD agents_average_onemin VARCHAR(20) default '0'; + +ALTER TABLE vicidial_closer_log ADD queue_seconds DECIMAL(7,2) default '0'; diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_upgrade/upgrade_2.0.2.sql b/agc_2-X/branches/agc_2.0.5/extras/old_upgrade/upgrade_2.0.2.sql new file mode 100644 index 00000000..5a81197d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_upgrade/upgrade_2.0.2.sql @@ -0,0 +1,59 @@ +ALTER TABLE vicidial_campaign_stats ADD balance_trunk_fill SMALLINT(5) UNSIGNED default '0'; + + CREATE TABLE vicidial_campaign_server_stats ( +campaign_id VARCHAR(20) NOT NULL, +server_ip VARCHAR(15) NOT NULL, +update_time TIMESTAMP, +local_trunk_shortage SMALLINT(5) UNSIGNED default '0', +index (campaign_id), +index (server_ip) +); + + CREATE TABLE vicidial_server_trunks ( +server_ip VARCHAR(15) NOT NULL, +campaign_id VARCHAR(20) NOT NULL, +dedicated_trunks SMALLINT(5) UNSIGNED default '0', +trunk_restriction ENUM('MAXIMUM_LIMIT','OVERFLOW_ALLOWED') default 'OVERFLOW_ALLOWED', +index (campaign_id), +index (server_ip) +); + +ALTER TABLE servers ADD vicidial_balance_active ENUM('Y','N') default 'N'; +ALTER TABLE servers ADD balance_trunks_offlimits SMALLINT(5) UNSIGNED default '0'; + +DELETE from vicidial_phone_codes; + + +ALTER TABLE vicidial_auto_calls ADD stage VARCHAR(20) default 'START'; +ALTER TABLE vicidial_auto_calls ADD last_update_time TIMESTAMP; +ALTER TABLE vicidial_auto_calls ADD index (last_update_time); + +ALTER TABLE vicidial_auto_calls MODIFY call_type ENUM('IN','OUT','OUTBALANCE') default 'OUT'; + +ALTER TABLE vicidial_user_groups ADD allowed_campaigns TEXT; + +UPDATE vicidial_user_groups SET allowed_campaigns=' -ALL-CAMPAIGNS- - -'; + + CREATE TABLE vicidial_postal_codes ( +postal_code VARCHAR(10) NOT NULL, +state VARCHAR(4), +GMT_offset VARCHAR(5), +DST enum('Y','N'), +DST_range VARCHAR(8), +country CHAR(3), +country_code SMALLINT(5) UNSIGNED +); + +ALTER TABLE vicidial_list ADD index (postal_code); + +ALTER TABLE recording_log ADD lead_id INT(9) UNSIGNED; +ALTER TABLE recording_log ADD index (lead_id); +ALTER TABLE recording_log ADD user VARCHAR(20); +ALTER TABLE recording_log ADD index (user); + +ALTER TABLE vicidial_campaign_stats ADD answers_today INT(9) UNSIGNED default '0' AFTER calls_today; +ALTER TABLE vicidial_campaign_stats ADD drops_answers_today_pct VARCHAR(6) default '0' AFTER drops_today_pct; +ALTER TABLE vicidial_campaign_stats ADD answers_hour INT(9) UNSIGNED default '0' AFTER calls_hour; +ALTER TABLE vicidial_campaign_stats ADD answers_halfhour INT(9) UNSIGNED default '0' AFTER calls_halfhour; +ALTER TABLE vicidial_campaign_stats ADD answers_fivemin INT(9) UNSIGNED default '0' AFTER calls_fivemin; +ALTER TABLE vicidial_campaign_stats ADD answers_onemin INT(9) UNSIGNED default '0' AFTER calls_onemin; diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_upgrade/upgrade_2.0.3.sql b/agc_2-X/branches/agc_2.0.5/extras/old_upgrade/upgrade_2.0.3.sql new file mode 100644 index 00000000..a3663a48 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_upgrade/upgrade_2.0.3.sql @@ -0,0 +1,121 @@ +ALTER TABLE vicidial_campaigns ADD concurrent_transfers ENUM('AUTO','1','2','3','4','5','6','7','8','9','10') default 'AUTO'; +ALTER TABLE vicidial_campaigns ADD auto_alt_dial ENUM('NONE','ALT_ONLY','ADDR3_ONLY','ALT_AND_ADDR3') default 'NONE'; +ALTER TABLE vicidial_campaigns ADD auto_alt_dial_statuses VARCHAR(255) default ' B N NA DC -'; + +ALTER TABLE vicidial_auto_calls ADD alt_dial ENUM('NONE','MAIN','ALT','ADDR3') default 'NONE'; + +ALTER TABLE vicidial_hopper ADD alt_dial ENUM('NONE','ALT','ADDR3') default 'NONE'; +ALTER TABLE vicidial_hopper MODIFY status ENUM('READY','QUEUE','INCALL','DONE','HOLD') default 'READY'; + +ALTER TABLE vicidial_log ADD user_group VARCHAR(20); +ALTER TABLE vicidial_closer_log ADD user_group VARCHAR(20); +ALTER TABLE vicidial_user_log ADD user_group VARCHAR(20); +ALTER TABLE vicidial_agent_log ADD user_group VARCHAR(20); +ALTER TABLE vicidial_callbacks ADD user_group VARCHAR(20); + +ALTER TABLE vicidial_users ADD modify_users ENUM('0','1') default '0'; +ALTER TABLE vicidial_users ADD modify_campaigns ENUM('0','1') default '0'; +ALTER TABLE vicidial_users ADD modify_lists ENUM('0','1') default '0'; +ALTER TABLE vicidial_users ADD modify_scripts ENUM('0','1') default '0'; +ALTER TABLE vicidial_users ADD modify_filters ENUM('0','1') default '0'; +ALTER TABLE vicidial_users ADD modify_ingroups ENUM('0','1') default '0'; +ALTER TABLE vicidial_users ADD modify_usergroups ENUM('0','1') default '0'; +ALTER TABLE vicidial_users ADD modify_remoteagents ENUM('0','1') default '0'; +ALTER TABLE vicidial_users ADD modify_servers ENUM('0','1') default '0'; +ALTER TABLE vicidial_users ADD view_reports ENUM('0','1') default '0'; + +UPDATE vicidial_users SET modify_users='1',view_reports='1' where user_level>7; +UPDATE vicidial_users SET modify_campaigns='1' where campaign_detail='1'; +UPDATE vicidial_users SET modify_campaigns='1' where delete_campaigns='1'; +UPDATE vicidial_users SET modify_lists='1' where delete_lists='1'; +UPDATE vicidial_users SET modify_scripts='1' where delete_scripts='1'; +UPDATE vicidial_users SET modify_filters='1' where delete_filters='1'; +UPDATE vicidial_users SET modify_ingroups='1' where delete_ingroups='1'; +UPDATE vicidial_users SET modify_usergroups='1' where delete_user_groups='1'; +UPDATE vicidial_users SET modify_remoteagents='1' where delete_remote_agents='1'; +UPDATE vicidial_users SET modify_servers='1' where ast_admin_access='1'; + +ALTER TABLE inbound_numbers ADD department VARCHAR(30); + +ALTER TABLE vicidial_agent_log ADD comments VARCHAR(20); +ALTER TABLE vicidial_agent_log ADD sub_status VARCHAR(6); +ALTER TABLE vicidial_live_agents ADD comments VARCHAR(20); + +ALTER TABLE vicidial_campaigns ADD agent_pause_codes_active ENUM('Y','N') default 'N'; + + CREATE TABLE vicidial_pause_codes ( +pause_code VARCHAR(6) NOT NULL, +pause_code_name VARCHAR(30), +billable ENUM('NO','YES','HALF') default 'NO', +campaign_id VARCHAR(8), +index (campaign_id) +); + +ALTER TABLE vicidial_list DROP INDEX lead_id; +ALTER TABLE recording_log DROP INDEX recording_id; +ALTER TABLE call_log DROP INDEX uniqueid; +ALTER TABLE park_log DROP INDEX uniqueid; +ALTER TABLE vicidial_manager DROP INDEX man_id; +ALTER TABLE vicidial_hopper DROP INDEX hopper_id; +ALTER TABLE vicidial_live_agents DROP INDEX live_agent_id; +ALTER TABLE vicidial_auto_calls DROP INDEX auto_call_id; +ALTER TABLE vicidial_log DROP INDEX uniqueid; +ALTER TABLE vicidial_closer_log DROP INDEX closecallid; +ALTER TABLE vicidial_xfer_log DROP INDEX xfercallid; +ALTER TABLE vicidial_users DROP INDEX user_id; +ALTER TABLE vicidial_user_log DROP INDEX user_log_id; +ALTER TABLE vicidial_campaigns DROP INDEX campaign_id; +ALTER TABLE vicidial_lists DROP INDEX list_id; +ALTER TABLE vicidial_statuses DROP INDEX status; +ALTER TABLE vicidial_inbound_groups DROP INDEX group_id; +ALTER TABLE vicidial_stations DROP INDEX agent_station; +ALTER TABLE vicidial_remote_agents DROP INDEX remote_agent_id; +ALTER TABLE vicidial_agent_log DROP INDEX agent_log_id; +ALTER TABLE vicidial_scripts DROP INDEX script_id; +ALTER TABLE vicidial_lead_recycle DROP INDEX recycle_id; + +ALTER TABLE vicidial_lists ADD list_description VARCHAR(255); +ALTER TABLE vicidial_lists ADD list_changedate DATETIME; +ALTER TABLE vicidial_lists ADD list_lastcalldate DATETIME; +ALTER TABLE vicidial_campaigns ADD campaign_description VARCHAR(255); +ALTER TABLE vicidial_campaigns ADD campaign_changedate DATETIME; +ALTER TABLE vicidial_campaigns ADD campaign_stats_refresh ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_campaigns ADD campaign_logindate DATETIME; + +ALTER TABLE vicidial_users ADD vicidial_recording_override ENUM('DISABLED','NEVER','ONDEMAND','ALLCALLS','ALLFORCE') default 'DISABLED'; + + CREATE TABLE system_settings ( +version VARCHAR(50) default '2.0.3b2.5', +install_date VARCHAR(50), +use_non_latin ENUM('0','1') default '0', +webroot_writable ENUM('0','1') default '1', +enable_queuemetrics_logging ENUM('0','1') default '0', +queuemetrics_server_ip VARCHAR(15), +queuemetrics_dbname VARCHAR(50), +queuemetrics_login VARCHAR(50), +queuemetrics_pass VARCHAR(50), +queuemetrics_url VARCHAR(255), +queuemetrics_log_id VARCHAR(10) default 'VIC' +); + +INSERT INTO system_settings (version,install_date) values('2.0.X', CURDATE()); + +ALTER TABLE vicidial_campaigns ADD dial_statuses VARCHAR(255) default ' NEW -'; + +update vicidial_campaigns SET dial_statuses=concat_ws(""," ",`dial_status_a`," ",`dial_status_b`," ",`dial_status_c`," ",`dial_status_d`," ",`dial_status_e`," -"); + +ALTER TABLE system_settings ADD queuemetrics_eq_prepend VARCHAR(255) default 'NONE'; + +ALTER TABLE system_settings ADD vicidial_agent_disable ENUM('NOT_ACTIVE','LIVE_AGENT','EXTERNAL','ALL') default 'NOT_ACTIVE'; + +ALTER TABLE vicidial_campaigns ADD disable_alter_custdata ENUM('Y','N') default 'N'; + +ALTER TABLE vicidial_users ADD alter_custdata_override ENUM('NOT_ACTIVE','ALLOW_ALTER') default 'NOT_ACTIVE'; + +ALTER TABLE vicidial_campaigns ADD no_hopper_leads_logins ENUM('Y','N') default 'N'; + +ALTER TABLE phones ADD enable_sipsak_messages ENUM('0','1') default '0'; + +ALTER TABLE system_settings ADD allow_sipsak_messages ENUM('0','1') default '0'; + +ALTER TABLE system_settings ADD admin_home_url VARCHAR(255) default '../vicidial/welcome.php'; diff --git a/agc_2-X/branches/agc_2.0.5/extras/old_upgrade/upgrade_2.0.4.sql b/agc_2-X/branches/agc_2.0.5/extras/old_upgrade/upgrade_2.0.4.sql new file mode 100644 index 00000000..660cfcc5 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/old_upgrade/upgrade_2.0.4.sql @@ -0,0 +1,155 @@ +ALTER TABLE vicidial_statuses ADD human_answered ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_campaign_statuses ADD human_answered ENUM('Y','N') default 'Y'; + +UPDATE vicidial_statuses SET human_answered='Y' where status IN('DROP','DNC','DEC','SALE','XFER','CALLBK','NP','NI','N'); + +ALTER TABLE vicidial_campaigns ADD list_order_mix VARCHAR(20) default 'DISABLED'; +UPDATE vicidial_campaigns SET list_order_mix='DISABLED'; + + CREATE TABLE vicidial_campaigns_list_mix ( +vcl_id VARCHAR(20) PRIMARY KEY NOT NULL, +vcl_name VARCHAR(50), +campaign_id VARCHAR(8), +list_mix_container TEXT, +mix_method ENUM('EVEN_MIX','IN_ORDER','RANDOM') default 'IN_ORDER', +status ENUM('ACTIVE','INACTIVE') default 'INACTIVE', +index (campaign_id) +); + + CREATE TABLE vicidial_status_categories ( +vsc_id VARCHAR(20) PRIMARY KEY NOT NULL, +vsc_name VARCHAR(50), +vsc_description VARCHAR(255), +tovdad_display ENUM('Y','N') default 'N' +); + +ALTER TABLE vicidial_campaign_statuses ADD category VARCHAR(20) default 'UNDEFINED'; +ALTER TABLE vicidial_statuses ADD category VARCHAR(20) default 'UNDEFINED'; + +INSERT INTO vicidial_status_categories (vsc_id,vsc_name) values('UNDEFINED','Default Category'); + +ALTER TABLE vicidial_campaign_stats ADD status_category_1 VARCHAR(20); +ALTER TABLE vicidial_campaign_stats ADD status_category_count_1 INT(9) UNSIGNED default '0'; +ALTER TABLE vicidial_campaign_stats ADD status_category_2 VARCHAR(20); +ALTER TABLE vicidial_campaign_stats ADD status_category_count_2 INT(9) UNSIGNED default '0'; +ALTER TABLE vicidial_campaign_stats ADD status_category_3 VARCHAR(20); +ALTER TABLE vicidial_campaign_stats ADD status_category_count_3 INT(9) UNSIGNED default '0'; +ALTER TABLE vicidial_campaign_stats ADD status_category_4 VARCHAR(20); +ALTER TABLE vicidial_campaign_stats ADD status_category_count_4 INT(9) UNSIGNED default '0'; + +ALTER TABLE system_settings ADD enable_agc_xfer_log ENUM('0','1') default '0'; + + +CREATE TABLE vicidial_ivr ( +ivr_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +entry_time DATETIME, +length_in_sec SMALLINT(5) UNSIGNED default '0', +inbound_number VARCHAR(12), +recording_id INT(9) UNSIGNED, +recording_filename VARCHAR(50), +company_id VARCHAR(12), +phone_number VARCHAR(12), +lead_id INT(9) UNSIGNED, +campaign_id VARCHAR(20), +product_code VARCHAR(20), +user VARCHAR(20), +prompt_audio_1 VARCHAR(20), +prompt_response_1 TINYINT(1) UNSIGNED default '0', +prompt_audio_2 VARCHAR(20), +prompt_response_2 TINYINT(1) UNSIGNED default '0', +prompt_audio_3 VARCHAR(20), +prompt_response_3 TINYINT(1) UNSIGNED default '0', +prompt_audio_4 VARCHAR(20), +prompt_response_4 TINYINT(1) UNSIGNED default '0', +prompt_audio_5 VARCHAR(20), +prompt_response_5 TINYINT(1) UNSIGNED default '0', +prompt_audio_6 VARCHAR(20), +prompt_response_6 TINYINT(1) UNSIGNED default '0', +prompt_audio_7 VARCHAR(20), +prompt_response_7 TINYINT(1) UNSIGNED default '0', +prompt_audio_8 VARCHAR(20), +prompt_response_8 TINYINT(1) UNSIGNED default '0', +prompt_audio_9 VARCHAR(20), +prompt_response_9 TINYINT(1) UNSIGNED default '0', +prompt_audio_10 VARCHAR(20), +prompt_response_10 TINYINT(1) UNSIGNED default '0', +index (phone_number), +index (entry_time) +); + +ALTER TABLE vicidial_ivr AUTO_INCREMENT = 1357091; + +ALTER TABLE vicidial_inbound_groups ADD call_time_id VARCHAR(20) default '24hours'; +ALTER TABLE vicidial_inbound_groups ADD after_hours_action ENUM('HANGUP','MESSAGE','EXTENSION','VOICEMAIL') default 'MESSAGE'; +ALTER TABLE vicidial_inbound_groups ADD after_hours_message_filename VARCHAR(50) default 'vm-goodbye'; +ALTER TABLE vicidial_inbound_groups ADD after_hours_exten VARCHAR(20) default '8300'; +ALTER TABLE vicidial_inbound_groups ADD after_hours_voicemail VARCHAR(20); +ALTER TABLE vicidial_inbound_groups ADD welcome_message_filename VARCHAR(50) default '---NONE---'; +ALTER TABLE vicidial_inbound_groups ADD moh_context VARCHAR(50) default 'default'; +ALTER TABLE vicidial_inbound_groups ADD onhold_prompt_filename VARCHAR(50) default 'generic_hold'; +ALTER TABLE vicidial_inbound_groups ADD prompt_interval SMALLINT(5) UNSIGNED default '60'; +ALTER TABLE vicidial_inbound_groups ADD agent_alert_exten VARCHAR(20) default '8304'; +ALTER TABLE vicidial_inbound_groups ADD agent_alert_delay INT(6) default '1000'; + +ALTER TABLE vicidial_list MODIFY called_count SMALLINT(5) UNSIGNED default '0'; + +CREATE TABLE vicidial_inbound_group_agents ( +user VARCHAR(20), +group_id VARCHAR(20), +group_rank TINYINT(1) default '0', +group_weight TINYINT(1) default '0', +calls_today SMALLINT(5) UNSIGNED default '0', +index (group_id), +index (user) +); + +ALTER TABLE vicidial_campaigns ADD campaign_allow_inbound ENUM('Y','N') default 'N'; + +UPDATE vicidial_campaigns SET campaign_allow_inbound='Y' where campaign_id REGEXP '(CLOSER|BLEND|INBND|_C\$|_B\$|_I\$)'; + +INSERT INTO vicidial_lists SET list_id='999',list_name='Default inbound list',campaign_id='TESTCAMP',active='N'; + +ALTER TABLE vicidial_campaigns ADD manual_dial_list_id BIGINT(14) UNSIGNED default '999'; + +ALTER TABLE vicidial_hopper ADD priority TINYINT(2) default '0'; + +CREATE TABLE vicidial_live_inbound_agents ( +user VARCHAR(20), +group_id VARCHAR(20), +group_weight TINYINT(1) default '0', +calls_today SMALLINT(5) UNSIGNED default '0', +last_call_time DATETIME, +last_call_finish DATETIME, +index (group_id), +index (group_weight) +); + +ALTER TABLE vicidial_inbound_groups MODIFY next_agent_call ENUM('random','oldest_call_start','oldest_call_finish','overall_user_level','inbound_group_rank','fewest_calls') default 'oldest_call_finish'; + +GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@'%' IDENTIFIED BY '1234'; +GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@localhost IDENTIFIED BY '1234'; + +CREATE TABLE vicidial_campaign_agents ( +user VARCHAR(20), +campaign_id VARCHAR(20), +campaign_rank TINYINT(1) default '0', +campaign_weight TINYINT(1) default '0', +calls_today SMALLINT(5) UNSIGNED default '0', +index (campaign_id), +index (user) +); + +ALTER TABLE vicidial_live_agents ADD campaign_weight TINYINT(1) default '0'; +ALTER TABLE vicidial_live_agents ADD calls_today SMALLINT(5) UNSIGNED default '0'; + +ALTER TABLE vicidial_inbound_groups MODIFY next_agent_call ENUM('random','oldest_call_start','oldest_call_finish','overall_user_level','inbound_group_rank','campaign_rank','fewest_calls','fewest_calls_campaign') default 'oldest_call_finish'; + +ALTER TABLE vicidial_campaigns MODIFY next_agent_call ENUM('random','oldest_call_start','oldest_call_finish','campaign_rank','overall_user_level','fewest_calls') default 'oldest_call_finish'; + + +ALTER TABLE vicidial_campaigns ADD default_xfer_group VARCHAR(20) default '---NONE---'; + +ALTER TABLE vicidial_inbound_groups ADD default_xfer_group VARCHAR(20) default '---NONE---'; + +ALTER TABLE vicidial_campaigns ADD xfer_groups TEXT default ''; + diff --git a/agc_2-X/branches/agc_2.0.5/extras/performance_test_alt_multi.txt b/agc_2-X/branches/agc_2.0.5/extras/performance_test_alt_multi.txt new file mode 100644 index 00000000..54617b69 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/performance_test_alt_multi.txt @@ -0,0 +1,14 @@ +100001|10001|993|1|9999060010|MR|I|Q|SMITH01|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|9999060449|test@test.com|nothing|COMMENTS||||9999061507_1_work +100002|10002|993|1|9999060011|MR|I|Q|SMITH02|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|9999060349|test@test.com|nothing|COMMENTS||||9999061407_1_work!9999060010_1_sister house!7275551214_44_neighbor +100003|10003|993|1|9999060012|MR|I|Q|SMITH03|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|9999060249|test@test.com|nothing|COMMENTS||||9999061307_1_work +100004|10004|993|1|9999060013|MR|I|Q|SMITH04|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|9999061049|test@test.com|nothing|COMMENTS||||9999061207_1_work!9999060009_1_sister house!9999060107_1_work!9999060107_1_work!9999060107_1_work!9999060107_1_work!9999060107_1_work!9999060107_1_work!9999060107_1_work!9999060107_1_work!9999060107_1_work!9999060107_1_work!9999060107_1_work!9999060107_1_work!9999060107_1_work!9999060107_1_work!9999060107_1_work!9999060107_1_work!9999060107_1_work!9999060107_1_work!9999060107_1_work!9999060107_1_work +100005|10005|993|1|9999060014|MR|I|Q|SMITH05|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|9999060149|test@test.com|nothing|COMMENTS||||9999061107__airport +100006|10006|993|1|9999060015|MR|I|Q|SMITH06|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|9999060039|test@test.com|nothing|COMMENTS||||9999061017__!9999060020__summer home +100007|10007|993|1|9999060016|MR|I|Q|SMITH07|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|9999060939|test@test.com|nothing|COMMENTS||||9999060907_1_work +100008|10008|993|1|9999060017|MR|I|Q|SMITH08|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|9999060839|test@test.com|nothing|COMMENTS||||9999060817_1_!9999060200_1_garage +100009|10009|993|1|9999060018|MR|I|Q|SMITH09|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|9999060739|test@test.com|nothing|COMMENTS||||9999060707_1_work +100010|10010|993|1|9999060019|MR|I|Q|SMITH10|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|9999060639|test@test.com|nothing|COMMENTS||||9999060607_1_work +100011|10011|993|1|9999060020|MR|I|Q|SMITH11|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|9999060539|test@test.com|nothing|COMMENTS||||9999060507_1_work +100012|10012|993|1|9999060021|MR|I|Q|SMITH12|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|9999060439|test@test.com|nothing|COMMENTS||||9999060407_1_work +100013|10013|993|1|9999060022|MR|I|Q|SMITH13|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|9999060339|test@test.com|nothing|COMMENTS||||9999060309_1_work +100014|10014|993|1|9999060023|MR|I|Q|SMITH13|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|9999060239|test@test.com|nothing|COMMENTS||||9999060207_1_work diff --git a/agc_2-X/branches/agc_2.0.5/extras/performance_test_leads.txt b/agc_2-X/branches/agc_2.0.5/extras/performance_test_leads.txt new file mode 100644 index 00000000..0a9a04c3 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/performance_test_leads.txt @@ -0,0 +1,60000 @@ +1000000|100000|989898|1|9999000000|MR|Test|E|Lead 0|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000001|100001|989898|1|9999000001|MR|Test|E|Lead 1|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000002|100002|989898|1|9999000002|MR|Test|E|Lead 2|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000003|100003|989898|1|9999000003|MR|Test|E|Lead 3|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000004|100004|989898|1|9999000004|MR|Test|E|Lead 4|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000005|100005|989898|1|9999000005|MR|Test|E|Lead 5|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000006|100006|989898|1|9999000006|MR|Test|E|Lead 6|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000007|100007|989898|1|9999000007|MR|Test|E|Lead 7|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000008|100008|989898|1|9999000008|MR|Test|E|Lead 8|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000009|100009|989898|1|9999000009|MR|Test|E|Lead 9|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000010|100010|989898|1|9999000010|MR|Test|E|Lead 10|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000011|100011|989898|1|9999000011|MR|Test|E|Lead 11|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000012|100012|989898|1|9999000012|MR|Test|E|Lead 12|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000013|100013|989898|1|9999000013|MR|Test|E|Lead 13|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000014|100014|989898|1|9999000014|MR|Test|E|Lead 14|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000015|100015|989898|1|9999000015|MR|Test|E|Lead 15|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000016|100016|989898|1|9999000016|MR|Test|E|Lead 16|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000017|100017|989898|1|9999000017|MR|Test|E|Lead 17|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000018|100018|989898|1|9999000018|MR|Test|E|Lead 18|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000019|100019|989898|1|9999000019|MR|Test|E|Lead 19|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000020|100020|989898|1|9999000020|MR|Test|E|Lead 20|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000021|100021|989898|1|9999000021|MR|Test|E|Lead 21|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000022|100022|989898|1|9999000022|MR|Test|E|Lead 22|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000023|100023|989898|1|9999000023|MR|Test|E|Lead 23|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000024|100024|989898|1|9999000024|MR|Test|E|Lead 24|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000025|100025|989898|1|9999000025|MR|Test|E|Lead 25|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000026|100026|989898|1|9999000026|MR|Test|E|Lead 26|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000027|100027|989898|1|9999000027|MR|Test|E|Lead 27|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000028|100028|989898|1|9999000028|MR|Test|E|Lead 28|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000029|100029|989898|1|9999000029|MR|Test|E|Lead 29|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000030|100030|989898|1|9999000030|MR|Test|E|Lead 30|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000031|100031|989898|1|9999000031|MR|Test|E|Lead 31|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000032|100032|989898|1|9999000032|MR|Test|E|Lead 32|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000033|100033|989898|1|9999000033|MR|Test|E|Lead 33|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000034|100034|989898|1|9999000034|MR|Test|E|Lead 34|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000035|100035|989898|1|9999000035|MR|Test|E|Lead 35|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000036|100036|989898|1|9999000036|MR|Test|E|Lead 36|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000037|100037|989898|1|9999000037|MR|Test|E|Lead 37|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000038|100038|989898|1|9999000038|MR|Test|E|Lead 38|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000039|100039|989898|1|9999000039|MR|Test|E|Lead 39|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000040|100040|989898|1|9999000040|MR|Test|E|Lead 40|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000041|100041|989898|1|9999000041|MR|Test|E|Lead 41|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000042|100042|989898|1|9999000042|MR|Test|E|Lead 42|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000043|100043|989898|1|9999000043|MR|Test|E|Lead 43|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000044|100044|989898|1|9999000044|MR|Test|E|Lead 44|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000045|100045|989898|1|9999000045|MR|Test|E|Lead 45|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000046|100046|989898|1|9999000046|MR|Test|E|Lead 46|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000047|100047|989898|1|9999000047|MR|Test|E|Lead 47|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000048|100048|989898|1|9999000048|MR|Test|E|Lead 48|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000049|100049|989898|1|9999000049|MR|Test|E|Lead 49|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000050|100050|989898|1|9999000050|MR|Test|E|Lead 50|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000051|100051|989898|1|9999000051|MR|Test|E|Lead 51|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000052|100052|989898|1|9999000052|MR|Test|E|Lead 52|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000053|100053|989898|1|9999000053|MR|Test|E|Lead 53|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000054|100054|989898|1|9999000054|MR|Test|E|Lead 54|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000055|100055|989898|1|9999000055|MR|Test|E|Lead 55|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000056|100056|989898|1|9999000056|MR|Test|E|Lead 56|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000057|100057|989898|1|9999000057|MR|Test|E|Lead 57|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000058|100058|989898|1|9999000058|MR|Test|E|Lead 58|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000059|100059|989898|1|9999000059|MR|Test|E|Lead 59|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000060|100060|989898|1|9999000060|MR|Test|E|Lead 60|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000061|100061|989898|1|9999000061|MR|Test|E|Lead 61|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000062|100062|989898|1|9999000062|MR|Test|E|Lead 62|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000063|100063|989898|1|9999000063|MR|Test|E|Lead 63|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000064|100064|989898|1|9999000064|MR|Test|E|Lead 64|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000065|100065|989898|1|9999000065|MR|Test|E|Lead 65|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000066|100066|989898|1|9999000066|MR|Test|E|Lead 66|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000067|100067|989898|1|9999000067|MR|Test|E|Lead 67|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000068|100068|989898|1|9999000068|MR|Test|E|Lead 68|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000069|100069|989898|1|9999000069|MR|Test|E|Lead 69|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000070|100070|989898|1|9999000070|MR|Test|E|Lead 70|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000071|100071|989898|1|9999000071|MR|Test|E|Lead 71|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000072|100072|989898|1|9999000072|MR|Test|E|Lead 72|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000073|100073|989898|1|9999000073|MR|Test|E|Lead 73|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000074|100074|989898|1|9999000074|MR|Test|E|Lead 74|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000075|100075|989898|1|9999000075|MR|Test|E|Lead 75|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000076|100076|989898|1|9999000076|MR|Test|E|Lead 76|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000077|100077|989898|1|9999000077|MR|Test|E|Lead 77|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000078|100078|989898|1|9999000078|MR|Test|E|Lead 78|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000079|100079|989898|1|9999000079|MR|Test|E|Lead 79|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000080|100080|989898|1|9999000080|MR|Test|E|Lead 80|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000081|100081|989898|1|9999000081|MR|Test|E|Lead 81|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000082|100082|989898|1|9999000082|MR|Test|E|Lead 82|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000083|100083|989898|1|9999000083|MR|Test|E|Lead 83|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000084|100084|989898|1|9999000084|MR|Test|E|Lead 84|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000085|100085|989898|1|9999000085|MR|Test|E|Lead 85|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000086|100086|989898|1|9999000086|MR|Test|E|Lead 86|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000087|100087|989898|1|9999000087|MR|Test|E|Lead 87|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000088|100088|989898|1|9999000088|MR|Test|E|Lead 88|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000089|100089|989898|1|9999000089|MR|Test|E|Lead 89|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000090|100090|989898|1|9999000090|MR|Test|E|Lead 90|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000091|100091|989898|1|9999000091|MR|Test|E|Lead 91|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000092|100092|989898|1|9999000092|MR|Test|E|Lead 92|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000093|100093|989898|1|9999000093|MR|Test|E|Lead 93|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000094|100094|989898|1|9999000094|MR|Test|E|Lead 94|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000095|100095|989898|1|9999000095|MR|Test|E|Lead 95|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000096|100096|989898|1|9999000096|MR|Test|E|Lead 96|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000097|100097|989898|1|9999000097|MR|Test|E|Lead 97|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000098|100098|989898|1|9999000098|MR|Test|E|Lead 98|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000099|100099|989898|1|9999000099|MR|Test|E|Lead 99|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000100|100100|989898|1|9999000100|MR|Test|E|Lead 100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000101|100101|989898|1|9999000101|MR|Test|E|Lead 101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000102|100102|989898|1|9999000102|MR|Test|E|Lead 102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000103|100103|989898|1|9999000103|MR|Test|E|Lead 103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000104|100104|989898|1|9999000104|MR|Test|E|Lead 104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000105|100105|989898|1|9999000105|MR|Test|E|Lead 105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000106|100106|989898|1|9999000106|MR|Test|E|Lead 106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000107|100107|989898|1|9999000107|MR|Test|E|Lead 107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000108|100108|989898|1|9999000108|MR|Test|E|Lead 108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000109|100109|989898|1|9999000109|MR|Test|E|Lead 109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000110|100110|989898|1|9999000110|MR|Test|E|Lead 110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000111|100111|989898|1|9999000111|MR|Test|E|Lead 111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000112|100112|989898|1|9999000112|MR|Test|E|Lead 112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000113|100113|989898|1|9999000113|MR|Test|E|Lead 113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000114|100114|989898|1|9999000114|MR|Test|E|Lead 114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000115|100115|989898|1|9999000115|MR|Test|E|Lead 115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000116|100116|989898|1|9999000116|MR|Test|E|Lead 116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000117|100117|989898|1|9999000117|MR|Test|E|Lead 117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000118|100118|989898|1|9999000118|MR|Test|E|Lead 118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000119|100119|989898|1|9999000119|MR|Test|E|Lead 119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000120|100120|989898|1|9999000120|MR|Test|E|Lead 120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000121|100121|989898|1|9999000121|MR|Test|E|Lead 121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000122|100122|989898|1|9999000122|MR|Test|E|Lead 122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000123|100123|989898|1|9999000123|MR|Test|E|Lead 123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000124|100124|989898|1|9999000124|MR|Test|E|Lead 124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000125|100125|989898|1|9999000125|MR|Test|E|Lead 125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000126|100126|989898|1|9999000126|MR|Test|E|Lead 126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000127|100127|989898|1|9999000127|MR|Test|E|Lead 127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000128|100128|989898|1|9999000128|MR|Test|E|Lead 128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000129|100129|989898|1|9999000129|MR|Test|E|Lead 129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000130|100130|989898|1|9999000130|MR|Test|E|Lead 130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000131|100131|989898|1|9999000131|MR|Test|E|Lead 131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000132|100132|989898|1|9999000132|MR|Test|E|Lead 132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000133|100133|989898|1|9999000133|MR|Test|E|Lead 133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000134|100134|989898|1|9999000134|MR|Test|E|Lead 134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000135|100135|989898|1|9999000135|MR|Test|E|Lead 135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000136|100136|989898|1|9999000136|MR|Test|E|Lead 136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000137|100137|989898|1|9999000137|MR|Test|E|Lead 137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000138|100138|989898|1|9999000138|MR|Test|E|Lead 138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000139|100139|989898|1|9999000139|MR|Test|E|Lead 139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000140|100140|989898|1|9999000140|MR|Test|E|Lead 140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000141|100141|989898|1|9999000141|MR|Test|E|Lead 141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000142|100142|989898|1|9999000142|MR|Test|E|Lead 142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000143|100143|989898|1|9999000143|MR|Test|E|Lead 143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000144|100144|989898|1|9999000144|MR|Test|E|Lead 144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000145|100145|989898|1|9999000145|MR|Test|E|Lead 145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000146|100146|989898|1|9999000146|MR|Test|E|Lead 146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000147|100147|989898|1|9999000147|MR|Test|E|Lead 147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000148|100148|989898|1|9999000148|MR|Test|E|Lead 148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000149|100149|989898|1|9999000149|MR|Test|E|Lead 149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000150|100150|989898|1|9999000150|MR|Test|E|Lead 150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000151|100151|989898|1|9999000151|MR|Test|E|Lead 151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000152|100152|989898|1|9999000152|MR|Test|E|Lead 152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000153|100153|989898|1|9999000153|MR|Test|E|Lead 153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000154|100154|989898|1|9999000154|MR|Test|E|Lead 154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000155|100155|989898|1|9999000155|MR|Test|E|Lead 155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000156|100156|989898|1|9999000156|MR|Test|E|Lead 156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000157|100157|989898|1|9999000157|MR|Test|E|Lead 157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000158|100158|989898|1|9999000158|MR|Test|E|Lead 158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000159|100159|989898|1|9999000159|MR|Test|E|Lead 159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000160|100160|989898|1|9999000160|MR|Test|E|Lead 160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000161|100161|989898|1|9999000161|MR|Test|E|Lead 161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000162|100162|989898|1|9999000162|MR|Test|E|Lead 162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000163|100163|989898|1|9999000163|MR|Test|E|Lead 163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000164|100164|989898|1|9999000164|MR|Test|E|Lead 164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000165|100165|989898|1|9999000165|MR|Test|E|Lead 165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000166|100166|989898|1|9999000166|MR|Test|E|Lead 166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000167|100167|989898|1|9999000167|MR|Test|E|Lead 167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000168|100168|989898|1|9999000168|MR|Test|E|Lead 168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000169|100169|989898|1|9999000169|MR|Test|E|Lead 169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000170|100170|989898|1|9999000170|MR|Test|E|Lead 170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000171|100171|989898|1|9999000171|MR|Test|E|Lead 171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000172|100172|989898|1|9999000172|MR|Test|E|Lead 172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000173|100173|989898|1|9999000173|MR|Test|E|Lead 173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000174|100174|989898|1|9999000174|MR|Test|E|Lead 174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000175|100175|989898|1|9999000175|MR|Test|E|Lead 175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000176|100176|989898|1|9999000176|MR|Test|E|Lead 176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000177|100177|989898|1|9999000177|MR|Test|E|Lead 177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000178|100178|989898|1|9999000178|MR|Test|E|Lead 178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000179|100179|989898|1|9999000179|MR|Test|E|Lead 179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000180|100180|989898|1|9999000180|MR|Test|E|Lead 180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000181|100181|989898|1|9999000181|MR|Test|E|Lead 181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000182|100182|989898|1|9999000182|MR|Test|E|Lead 182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000183|100183|989898|1|9999000183|MR|Test|E|Lead 183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000184|100184|989898|1|9999000184|MR|Test|E|Lead 184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000185|100185|989898|1|9999000185|MR|Test|E|Lead 185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000186|100186|989898|1|9999000186|MR|Test|E|Lead 186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000187|100187|989898|1|9999000187|MR|Test|E|Lead 187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000188|100188|989898|1|9999000188|MR|Test|E|Lead 188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000189|100189|989898|1|9999000189|MR|Test|E|Lead 189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000190|100190|989898|1|9999000190|MR|Test|E|Lead 190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000191|100191|989898|1|9999000191|MR|Test|E|Lead 191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000192|100192|989898|1|9999000192|MR|Test|E|Lead 192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000193|100193|989898|1|9999000193|MR|Test|E|Lead 193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000194|100194|989898|1|9999000194|MR|Test|E|Lead 194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000195|100195|989898|1|9999000195|MR|Test|E|Lead 195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000196|100196|989898|1|9999000196|MR|Test|E|Lead 196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000197|100197|989898|1|9999000197|MR|Test|E|Lead 197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000198|100198|989898|1|9999000198|MR|Test|E|Lead 198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000199|100199|989898|1|9999000199|MR|Test|E|Lead 199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000200|100200|989898|1|9999000200|MR|Test|E|Lead 200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000201|100201|989898|1|9999000201|MR|Test|E|Lead 201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000202|100202|989898|1|9999000202|MR|Test|E|Lead 202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000203|100203|989898|1|9999000203|MR|Test|E|Lead 203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000204|100204|989898|1|9999000204|MR|Test|E|Lead 204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000205|100205|989898|1|9999000205|MR|Test|E|Lead 205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000206|100206|989898|1|9999000206|MR|Test|E|Lead 206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000207|100207|989898|1|9999000207|MR|Test|E|Lead 207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000208|100208|989898|1|9999000208|MR|Test|E|Lead 208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000209|100209|989898|1|9999000209|MR|Test|E|Lead 209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000210|100210|989898|1|9999000210|MR|Test|E|Lead 210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000211|100211|989898|1|9999000211|MR|Test|E|Lead 211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000212|100212|989898|1|9999000212|MR|Test|E|Lead 212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000213|100213|989898|1|9999000213|MR|Test|E|Lead 213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000214|100214|989898|1|9999000214|MR|Test|E|Lead 214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000215|100215|989898|1|9999000215|MR|Test|E|Lead 215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000216|100216|989898|1|9999000216|MR|Test|E|Lead 216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000217|100217|989898|1|9999000217|MR|Test|E|Lead 217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000218|100218|989898|1|9999000218|MR|Test|E|Lead 218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000219|100219|989898|1|9999000219|MR|Test|E|Lead 219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000220|100220|989898|1|9999000220|MR|Test|E|Lead 220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000221|100221|989898|1|9999000221|MR|Test|E|Lead 221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000222|100222|989898|1|9999000222|MR|Test|E|Lead 222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000223|100223|989898|1|9999000223|MR|Test|E|Lead 223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000224|100224|989898|1|9999000224|MR|Test|E|Lead 224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000225|100225|989898|1|9999000225|MR|Test|E|Lead 225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000226|100226|989898|1|9999000226|MR|Test|E|Lead 226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000227|100227|989898|1|9999000227|MR|Test|E|Lead 227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000228|100228|989898|1|9999000228|MR|Test|E|Lead 228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000229|100229|989898|1|9999000229|MR|Test|E|Lead 229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000230|100230|989898|1|9999000230|MR|Test|E|Lead 230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000231|100231|989898|1|9999000231|MR|Test|E|Lead 231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000232|100232|989898|1|9999000232|MR|Test|E|Lead 232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000233|100233|989898|1|9999000233|MR|Test|E|Lead 233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000234|100234|989898|1|9999000234|MR|Test|E|Lead 234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000235|100235|989898|1|9999000235|MR|Test|E|Lead 235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000236|100236|989898|1|9999000236|MR|Test|E|Lead 236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000237|100237|989898|1|9999000237|MR|Test|E|Lead 237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000238|100238|989898|1|9999000238|MR|Test|E|Lead 238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000239|100239|989898|1|9999000239|MR|Test|E|Lead 239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000240|100240|989898|1|9999000240|MR|Test|E|Lead 240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000241|100241|989898|1|9999000241|MR|Test|E|Lead 241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000242|100242|989898|1|9999000242|MR|Test|E|Lead 242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000243|100243|989898|1|9999000243|MR|Test|E|Lead 243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000244|100244|989898|1|9999000244|MR|Test|E|Lead 244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000245|100245|989898|1|9999000245|MR|Test|E|Lead 245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000246|100246|989898|1|9999000246|MR|Test|E|Lead 246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000247|100247|989898|1|9999000247|MR|Test|E|Lead 247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000248|100248|989898|1|9999000248|MR|Test|E|Lead 248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000249|100249|989898|1|9999000249|MR|Test|E|Lead 249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000250|100250|989898|1|9999000250|MR|Test|E|Lead 250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000251|100251|989898|1|9999000251|MR|Test|E|Lead 251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000252|100252|989898|1|9999000252|MR|Test|E|Lead 252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000253|100253|989898|1|9999000253|MR|Test|E|Lead 253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000254|100254|989898|1|9999000254|MR|Test|E|Lead 254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000255|100255|989898|1|9999000255|MR|Test|E|Lead 255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000256|100256|989898|1|9999000256|MR|Test|E|Lead 256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000257|100257|989898|1|9999000257|MR|Test|E|Lead 257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000258|100258|989898|1|9999000258|MR|Test|E|Lead 258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000259|100259|989898|1|9999000259|MR|Test|E|Lead 259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000260|100260|989898|1|9999000260|MR|Test|E|Lead 260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000261|100261|989898|1|9999000261|MR|Test|E|Lead 261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000262|100262|989898|1|9999000262|MR|Test|E|Lead 262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000263|100263|989898|1|9999000263|MR|Test|E|Lead 263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000264|100264|989898|1|9999000264|MR|Test|E|Lead 264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000265|100265|989898|1|9999000265|MR|Test|E|Lead 265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000266|100266|989898|1|9999000266|MR|Test|E|Lead 266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000267|100267|989898|1|9999000267|MR|Test|E|Lead 267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000268|100268|989898|1|9999000268|MR|Test|E|Lead 268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000269|100269|989898|1|9999000269|MR|Test|E|Lead 269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000270|100270|989898|1|9999000270|MR|Test|E|Lead 270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000271|100271|989898|1|9999000271|MR|Test|E|Lead 271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000272|100272|989898|1|9999000272|MR|Test|E|Lead 272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000273|100273|989898|1|9999000273|MR|Test|E|Lead 273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000274|100274|989898|1|9999000274|MR|Test|E|Lead 274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000275|100275|989898|1|9999000275|MR|Test|E|Lead 275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000276|100276|989898|1|9999000276|MR|Test|E|Lead 276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000277|100277|989898|1|9999000277|MR|Test|E|Lead 277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000278|100278|989898|1|9999000278|MR|Test|E|Lead 278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000279|100279|989898|1|9999000279|MR|Test|E|Lead 279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000280|100280|989898|1|9999000280|MR|Test|E|Lead 280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000281|100281|989898|1|9999000281|MR|Test|E|Lead 281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000282|100282|989898|1|9999000282|MR|Test|E|Lead 282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000283|100283|989898|1|9999000283|MR|Test|E|Lead 283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000284|100284|989898|1|9999000284|MR|Test|E|Lead 284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000285|100285|989898|1|9999000285|MR|Test|E|Lead 285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000286|100286|989898|1|9999000286|MR|Test|E|Lead 286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000287|100287|989898|1|9999000287|MR|Test|E|Lead 287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000288|100288|989898|1|9999000288|MR|Test|E|Lead 288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000289|100289|989898|1|9999000289|MR|Test|E|Lead 289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000290|100290|989898|1|9999000290|MR|Test|E|Lead 290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000291|100291|989898|1|9999000291|MR|Test|E|Lead 291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000292|100292|989898|1|9999000292|MR|Test|E|Lead 292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000293|100293|989898|1|9999000293|MR|Test|E|Lead 293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000294|100294|989898|1|9999000294|MR|Test|E|Lead 294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000295|100295|989898|1|9999000295|MR|Test|E|Lead 295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000296|100296|989898|1|9999000296|MR|Test|E|Lead 296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000297|100297|989898|1|9999000297|MR|Test|E|Lead 297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000298|100298|989898|1|9999000298|MR|Test|E|Lead 298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000299|100299|989898|1|9999000299|MR|Test|E|Lead 299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000300|100300|989898|1|9999000300|MR|Test|E|Lead 300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000301|100301|989898|1|9999000301|MR|Test|E|Lead 301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000302|100302|989898|1|9999000302|MR|Test|E|Lead 302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000303|100303|989898|1|9999000303|MR|Test|E|Lead 303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000304|100304|989898|1|9999000304|MR|Test|E|Lead 304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000305|100305|989898|1|9999000305|MR|Test|E|Lead 305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000306|100306|989898|1|9999000306|MR|Test|E|Lead 306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000307|100307|989898|1|9999000307|MR|Test|E|Lead 307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000308|100308|989898|1|9999000308|MR|Test|E|Lead 308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000309|100309|989898|1|9999000309|MR|Test|E|Lead 309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000310|100310|989898|1|9999000310|MR|Test|E|Lead 310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000311|100311|989898|1|9999000311|MR|Test|E|Lead 311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000312|100312|989898|1|9999000312|MR|Test|E|Lead 312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000313|100313|989898|1|9999000313|MR|Test|E|Lead 313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000314|100314|989898|1|9999000314|MR|Test|E|Lead 314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000315|100315|989898|1|9999000315|MR|Test|E|Lead 315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000316|100316|989898|1|9999000316|MR|Test|E|Lead 316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000317|100317|989898|1|9999000317|MR|Test|E|Lead 317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000318|100318|989898|1|9999000318|MR|Test|E|Lead 318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000319|100319|989898|1|9999000319|MR|Test|E|Lead 319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000320|100320|989898|1|9999000320|MR|Test|E|Lead 320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000321|100321|989898|1|9999000321|MR|Test|E|Lead 321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000322|100322|989898|1|9999000322|MR|Test|E|Lead 322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000323|100323|989898|1|9999000323|MR|Test|E|Lead 323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000324|100324|989898|1|9999000324|MR|Test|E|Lead 324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000325|100325|989898|1|9999000325|MR|Test|E|Lead 325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000326|100326|989898|1|9999000326|MR|Test|E|Lead 326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000327|100327|989898|1|9999000327|MR|Test|E|Lead 327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000328|100328|989898|1|9999000328|MR|Test|E|Lead 328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000329|100329|989898|1|9999000329|MR|Test|E|Lead 329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000330|100330|989898|1|9999000330|MR|Test|E|Lead 330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000331|100331|989898|1|9999000331|MR|Test|E|Lead 331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000332|100332|989898|1|9999000332|MR|Test|E|Lead 332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000333|100333|989898|1|9999000333|MR|Test|E|Lead 333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000334|100334|989898|1|9999000334|MR|Test|E|Lead 334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000335|100335|989898|1|9999000335|MR|Test|E|Lead 335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000336|100336|989898|1|9999000336|MR|Test|E|Lead 336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000337|100337|989898|1|9999000337|MR|Test|E|Lead 337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000338|100338|989898|1|9999000338|MR|Test|E|Lead 338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000339|100339|989898|1|9999000339|MR|Test|E|Lead 339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000340|100340|989898|1|9999000340|MR|Test|E|Lead 340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000341|100341|989898|1|9999000341|MR|Test|E|Lead 341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000342|100342|989898|1|9999000342|MR|Test|E|Lead 342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000343|100343|989898|1|9999000343|MR|Test|E|Lead 343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000344|100344|989898|1|9999000344|MR|Test|E|Lead 344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000345|100345|989898|1|9999000345|MR|Test|E|Lead 345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000346|100346|989898|1|9999000346|MR|Test|E|Lead 346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000347|100347|989898|1|9999000347|MR|Test|E|Lead 347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000348|100348|989898|1|9999000348|MR|Test|E|Lead 348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000349|100349|989898|1|9999000349|MR|Test|E|Lead 349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000350|100350|989898|1|9999000350|MR|Test|E|Lead 350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000351|100351|989898|1|9999000351|MR|Test|E|Lead 351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000352|100352|989898|1|9999000352|MR|Test|E|Lead 352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000353|100353|989898|1|9999000353|MR|Test|E|Lead 353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000354|100354|989898|1|9999000354|MR|Test|E|Lead 354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000355|100355|989898|1|9999000355|MR|Test|E|Lead 355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000356|100356|989898|1|9999000356|MR|Test|E|Lead 356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000357|100357|989898|1|9999000357|MR|Test|E|Lead 357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000358|100358|989898|1|9999000358|MR|Test|E|Lead 358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000359|100359|989898|1|9999000359|MR|Test|E|Lead 359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000360|100360|989898|1|9999000360|MR|Test|E|Lead 360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000361|100361|989898|1|9999000361|MR|Test|E|Lead 361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000362|100362|989898|1|9999000362|MR|Test|E|Lead 362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000363|100363|989898|1|9999000363|MR|Test|E|Lead 363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000364|100364|989898|1|9999000364|MR|Test|E|Lead 364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000365|100365|989898|1|9999000365|MR|Test|E|Lead 365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000366|100366|989898|1|9999000366|MR|Test|E|Lead 366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000367|100367|989898|1|9999000367|MR|Test|E|Lead 367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000368|100368|989898|1|9999000368|MR|Test|E|Lead 368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000369|100369|989898|1|9999000369|MR|Test|E|Lead 369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000370|100370|989898|1|9999000370|MR|Test|E|Lead 370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000371|100371|989898|1|9999000371|MR|Test|E|Lead 371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000372|100372|989898|1|9999000372|MR|Test|E|Lead 372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000373|100373|989898|1|9999000373|MR|Test|E|Lead 373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000374|100374|989898|1|9999000374|MR|Test|E|Lead 374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000375|100375|989898|1|9999000375|MR|Test|E|Lead 375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000376|100376|989898|1|9999000376|MR|Test|E|Lead 376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000377|100377|989898|1|9999000377|MR|Test|E|Lead 377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000378|100378|989898|1|9999000378|MR|Test|E|Lead 378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000379|100379|989898|1|9999000379|MR|Test|E|Lead 379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000380|100380|989898|1|9999000380|MR|Test|E|Lead 380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000381|100381|989898|1|9999000381|MR|Test|E|Lead 381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000382|100382|989898|1|9999000382|MR|Test|E|Lead 382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000383|100383|989898|1|9999000383|MR|Test|E|Lead 383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000384|100384|989898|1|9999000384|MR|Test|E|Lead 384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000385|100385|989898|1|9999000385|MR|Test|E|Lead 385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000386|100386|989898|1|9999000386|MR|Test|E|Lead 386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000387|100387|989898|1|9999000387|MR|Test|E|Lead 387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000388|100388|989898|1|9999000388|MR|Test|E|Lead 388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000389|100389|989898|1|9999000389|MR|Test|E|Lead 389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000390|100390|989898|1|9999000390|MR|Test|E|Lead 390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000391|100391|989898|1|9999000391|MR|Test|E|Lead 391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000392|100392|989898|1|9999000392|MR|Test|E|Lead 392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000393|100393|989898|1|9999000393|MR|Test|E|Lead 393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000394|100394|989898|1|9999000394|MR|Test|E|Lead 394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000395|100395|989898|1|9999000395|MR|Test|E|Lead 395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000396|100396|989898|1|9999000396|MR|Test|E|Lead 396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000397|100397|989898|1|9999000397|MR|Test|E|Lead 397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000398|100398|989898|1|9999000398|MR|Test|E|Lead 398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000399|100399|989898|1|9999000399|MR|Test|E|Lead 399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000400|100400|989898|1|9999000400|MR|Test|E|Lead 400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000401|100401|989898|1|9999000401|MR|Test|E|Lead 401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000402|100402|989898|1|9999000402|MR|Test|E|Lead 402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000403|100403|989898|1|9999000403|MR|Test|E|Lead 403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000404|100404|989898|1|9999000404|MR|Test|E|Lead 404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000405|100405|989898|1|9999000405|MR|Test|E|Lead 405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000406|100406|989898|1|9999000406|MR|Test|E|Lead 406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000407|100407|989898|1|9999000407|MR|Test|E|Lead 407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000408|100408|989898|1|9999000408|MR|Test|E|Lead 408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000409|100409|989898|1|9999000409|MR|Test|E|Lead 409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000410|100410|989898|1|9999000410|MR|Test|E|Lead 410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000411|100411|989898|1|9999000411|MR|Test|E|Lead 411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000412|100412|989898|1|9999000412|MR|Test|E|Lead 412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000413|100413|989898|1|9999000413|MR|Test|E|Lead 413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000414|100414|989898|1|9999000414|MR|Test|E|Lead 414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000415|100415|989898|1|9999000415|MR|Test|E|Lead 415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000416|100416|989898|1|9999000416|MR|Test|E|Lead 416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000417|100417|989898|1|9999000417|MR|Test|E|Lead 417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000418|100418|989898|1|9999000418|MR|Test|E|Lead 418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000419|100419|989898|1|9999000419|MR|Test|E|Lead 419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000420|100420|989898|1|9999000420|MR|Test|E|Lead 420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000421|100421|989898|1|9999000421|MR|Test|E|Lead 421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000422|100422|989898|1|9999000422|MR|Test|E|Lead 422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000423|100423|989898|1|9999000423|MR|Test|E|Lead 423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000424|100424|989898|1|9999000424|MR|Test|E|Lead 424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000425|100425|989898|1|9999000425|MR|Test|E|Lead 425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000426|100426|989898|1|9999000426|MR|Test|E|Lead 426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000427|100427|989898|1|9999000427|MR|Test|E|Lead 427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000428|100428|989898|1|9999000428|MR|Test|E|Lead 428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000429|100429|989898|1|9999000429|MR|Test|E|Lead 429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000430|100430|989898|1|9999000430|MR|Test|E|Lead 430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000431|100431|989898|1|9999000431|MR|Test|E|Lead 431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000432|100432|989898|1|9999000432|MR|Test|E|Lead 432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000433|100433|989898|1|9999000433|MR|Test|E|Lead 433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000434|100434|989898|1|9999000434|MR|Test|E|Lead 434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000435|100435|989898|1|9999000435|MR|Test|E|Lead 435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000436|100436|989898|1|9999000436|MR|Test|E|Lead 436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000437|100437|989898|1|9999000437|MR|Test|E|Lead 437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000438|100438|989898|1|9999000438|MR|Test|E|Lead 438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000439|100439|989898|1|9999000439|MR|Test|E|Lead 439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000440|100440|989898|1|9999000440|MR|Test|E|Lead 440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000441|100441|989898|1|9999000441|MR|Test|E|Lead 441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000442|100442|989898|1|9999000442|MR|Test|E|Lead 442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000443|100443|989898|1|9999000443|MR|Test|E|Lead 443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000444|100444|989898|1|9999000444|MR|Test|E|Lead 444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000445|100445|989898|1|9999000445|MR|Test|E|Lead 445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000446|100446|989898|1|9999000446|MR|Test|E|Lead 446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000447|100447|989898|1|9999000447|MR|Test|E|Lead 447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000448|100448|989898|1|9999000448|MR|Test|E|Lead 448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000449|100449|989898|1|9999000449|MR|Test|E|Lead 449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000450|100450|989898|1|9999000450|MR|Test|E|Lead 450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000451|100451|989898|1|9999000451|MR|Test|E|Lead 451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000452|100452|989898|1|9999000452|MR|Test|E|Lead 452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000453|100453|989898|1|9999000453|MR|Test|E|Lead 453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000454|100454|989898|1|9999000454|MR|Test|E|Lead 454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000455|100455|989898|1|9999000455|MR|Test|E|Lead 455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000456|100456|989898|1|9999000456|MR|Test|E|Lead 456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000457|100457|989898|1|9999000457|MR|Test|E|Lead 457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000458|100458|989898|1|9999000458|MR|Test|E|Lead 458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000459|100459|989898|1|9999000459|MR|Test|E|Lead 459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000460|100460|989898|1|9999000460|MR|Test|E|Lead 460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000461|100461|989898|1|9999000461|MR|Test|E|Lead 461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000462|100462|989898|1|9999000462|MR|Test|E|Lead 462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000463|100463|989898|1|9999000463|MR|Test|E|Lead 463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000464|100464|989898|1|9999000464|MR|Test|E|Lead 464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000465|100465|989898|1|9999000465|MR|Test|E|Lead 465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000466|100466|989898|1|9999000466|MR|Test|E|Lead 466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000467|100467|989898|1|9999000467|MR|Test|E|Lead 467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000468|100468|989898|1|9999000468|MR|Test|E|Lead 468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000469|100469|989898|1|9999000469|MR|Test|E|Lead 469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000470|100470|989898|1|9999000470|MR|Test|E|Lead 470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000471|100471|989898|1|9999000471|MR|Test|E|Lead 471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000472|100472|989898|1|9999000472|MR|Test|E|Lead 472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000473|100473|989898|1|9999000473|MR|Test|E|Lead 473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000474|100474|989898|1|9999000474|MR|Test|E|Lead 474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000475|100475|989898|1|9999000475|MR|Test|E|Lead 475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000476|100476|989898|1|9999000476|MR|Test|E|Lead 476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000477|100477|989898|1|9999000477|MR|Test|E|Lead 477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000478|100478|989898|1|9999000478|MR|Test|E|Lead 478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000479|100479|989898|1|9999000479|MR|Test|E|Lead 479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000480|100480|989898|1|9999000480|MR|Test|E|Lead 480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000481|100481|989898|1|9999000481|MR|Test|E|Lead 481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000482|100482|989898|1|9999000482|MR|Test|E|Lead 482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000483|100483|989898|1|9999000483|MR|Test|E|Lead 483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000484|100484|989898|1|9999000484|MR|Test|E|Lead 484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000485|100485|989898|1|9999000485|MR|Test|E|Lead 485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000486|100486|989898|1|9999000486|MR|Test|E|Lead 486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000487|100487|989898|1|9999000487|MR|Test|E|Lead 487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000488|100488|989898|1|9999000488|MR|Test|E|Lead 488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000489|100489|989898|1|9999000489|MR|Test|E|Lead 489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000490|100490|989898|1|9999000490|MR|Test|E|Lead 490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000491|100491|989898|1|9999000491|MR|Test|E|Lead 491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000492|100492|989898|1|9999000492|MR|Test|E|Lead 492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000493|100493|989898|1|9999000493|MR|Test|E|Lead 493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000494|100494|989898|1|9999000494|MR|Test|E|Lead 494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000495|100495|989898|1|9999000495|MR|Test|E|Lead 495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000496|100496|989898|1|9999000496|MR|Test|E|Lead 496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000497|100497|989898|1|9999000497|MR|Test|E|Lead 497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000498|100498|989898|1|9999000498|MR|Test|E|Lead 498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000499|100499|989898|1|9999000499|MR|Test|E|Lead 499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000500|100500|989898|1|9999000500|MR|Test|E|Lead 500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000501|100501|989898|1|9999000501|MR|Test|E|Lead 501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000502|100502|989898|1|9999000502|MR|Test|E|Lead 502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000503|100503|989898|1|9999000503|MR|Test|E|Lead 503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000504|100504|989898|1|9999000504|MR|Test|E|Lead 504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000505|100505|989898|1|9999000505|MR|Test|E|Lead 505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000506|100506|989898|1|9999000506|MR|Test|E|Lead 506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000507|100507|989898|1|9999000507|MR|Test|E|Lead 507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000508|100508|989898|1|9999000508|MR|Test|E|Lead 508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000509|100509|989898|1|9999000509|MR|Test|E|Lead 509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000510|100510|989898|1|9999000510|MR|Test|E|Lead 510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000511|100511|989898|1|9999000511|MR|Test|E|Lead 511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000512|100512|989898|1|9999000512|MR|Test|E|Lead 512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000513|100513|989898|1|9999000513|MR|Test|E|Lead 513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000514|100514|989898|1|9999000514|MR|Test|E|Lead 514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000515|100515|989898|1|9999000515|MR|Test|E|Lead 515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000516|100516|989898|1|9999000516|MR|Test|E|Lead 516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000517|100517|989898|1|9999000517|MR|Test|E|Lead 517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000518|100518|989898|1|9999000518|MR|Test|E|Lead 518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000519|100519|989898|1|9999000519|MR|Test|E|Lead 519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000520|100520|989898|1|9999000520|MR|Test|E|Lead 520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000521|100521|989898|1|9999000521|MR|Test|E|Lead 521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000522|100522|989898|1|9999000522|MR|Test|E|Lead 522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000523|100523|989898|1|9999000523|MR|Test|E|Lead 523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000524|100524|989898|1|9999000524|MR|Test|E|Lead 524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000525|100525|989898|1|9999000525|MR|Test|E|Lead 525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000526|100526|989898|1|9999000526|MR|Test|E|Lead 526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000527|100527|989898|1|9999000527|MR|Test|E|Lead 527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000528|100528|989898|1|9999000528|MR|Test|E|Lead 528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000529|100529|989898|1|9999000529|MR|Test|E|Lead 529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000530|100530|989898|1|9999000530|MR|Test|E|Lead 530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000531|100531|989898|1|9999000531|MR|Test|E|Lead 531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000532|100532|989898|1|9999000532|MR|Test|E|Lead 532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000533|100533|989898|1|9999000533|MR|Test|E|Lead 533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000534|100534|989898|1|9999000534|MR|Test|E|Lead 534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000535|100535|989898|1|9999000535|MR|Test|E|Lead 535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000536|100536|989898|1|9999000536|MR|Test|E|Lead 536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000537|100537|989898|1|9999000537|MR|Test|E|Lead 537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000538|100538|989898|1|9999000538|MR|Test|E|Lead 538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000539|100539|989898|1|9999000539|MR|Test|E|Lead 539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000540|100540|989898|1|9999000540|MR|Test|E|Lead 540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000541|100541|989898|1|9999000541|MR|Test|E|Lead 541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000542|100542|989898|1|9999000542|MR|Test|E|Lead 542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000543|100543|989898|1|9999000543|MR|Test|E|Lead 543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000544|100544|989898|1|9999000544|MR|Test|E|Lead 544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000545|100545|989898|1|9999000545|MR|Test|E|Lead 545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000546|100546|989898|1|9999000546|MR|Test|E|Lead 546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000547|100547|989898|1|9999000547|MR|Test|E|Lead 547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000548|100548|989898|1|9999000548|MR|Test|E|Lead 548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000549|100549|989898|1|9999000549|MR|Test|E|Lead 549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000550|100550|989898|1|9999000550|MR|Test|E|Lead 550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000551|100551|989898|1|9999000551|MR|Test|E|Lead 551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000552|100552|989898|1|9999000552|MR|Test|E|Lead 552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000553|100553|989898|1|9999000553|MR|Test|E|Lead 553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000554|100554|989898|1|9999000554|MR|Test|E|Lead 554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000555|100555|989898|1|9999000555|MR|Test|E|Lead 555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000556|100556|989898|1|9999000556|MR|Test|E|Lead 556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000557|100557|989898|1|9999000557|MR|Test|E|Lead 557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000558|100558|989898|1|9999000558|MR|Test|E|Lead 558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000559|100559|989898|1|9999000559|MR|Test|E|Lead 559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000560|100560|989898|1|9999000560|MR|Test|E|Lead 560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000561|100561|989898|1|9999000561|MR|Test|E|Lead 561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000562|100562|989898|1|9999000562|MR|Test|E|Lead 562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000563|100563|989898|1|9999000563|MR|Test|E|Lead 563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000564|100564|989898|1|9999000564|MR|Test|E|Lead 564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000565|100565|989898|1|9999000565|MR|Test|E|Lead 565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000566|100566|989898|1|9999000566|MR|Test|E|Lead 566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000567|100567|989898|1|9999000567|MR|Test|E|Lead 567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000568|100568|989898|1|9999000568|MR|Test|E|Lead 568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000569|100569|989898|1|9999000569|MR|Test|E|Lead 569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000570|100570|989898|1|9999000570|MR|Test|E|Lead 570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000571|100571|989898|1|9999000571|MR|Test|E|Lead 571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000572|100572|989898|1|9999000572|MR|Test|E|Lead 572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000573|100573|989898|1|9999000573|MR|Test|E|Lead 573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000574|100574|989898|1|9999000574|MR|Test|E|Lead 574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000575|100575|989898|1|9999000575|MR|Test|E|Lead 575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000576|100576|989898|1|9999000576|MR|Test|E|Lead 576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000577|100577|989898|1|9999000577|MR|Test|E|Lead 577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000578|100578|989898|1|9999000578|MR|Test|E|Lead 578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000579|100579|989898|1|9999000579|MR|Test|E|Lead 579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000580|100580|989898|1|9999000580|MR|Test|E|Lead 580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000581|100581|989898|1|9999000581|MR|Test|E|Lead 581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000582|100582|989898|1|9999000582|MR|Test|E|Lead 582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000583|100583|989898|1|9999000583|MR|Test|E|Lead 583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000584|100584|989898|1|9999000584|MR|Test|E|Lead 584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000585|100585|989898|1|9999000585|MR|Test|E|Lead 585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000586|100586|989898|1|9999000586|MR|Test|E|Lead 586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000587|100587|989898|1|9999000587|MR|Test|E|Lead 587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000588|100588|989898|1|9999000588|MR|Test|E|Lead 588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000589|100589|989898|1|9999000589|MR|Test|E|Lead 589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000590|100590|989898|1|9999000590|MR|Test|E|Lead 590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000591|100591|989898|1|9999000591|MR|Test|E|Lead 591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000592|100592|989898|1|9999000592|MR|Test|E|Lead 592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000593|100593|989898|1|9999000593|MR|Test|E|Lead 593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000594|100594|989898|1|9999000594|MR|Test|E|Lead 594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000595|100595|989898|1|9999000595|MR|Test|E|Lead 595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000596|100596|989898|1|9999000596|MR|Test|E|Lead 596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000597|100597|989898|1|9999000597|MR|Test|E|Lead 597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000598|100598|989898|1|9999000598|MR|Test|E|Lead 598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000599|100599|989898|1|9999000599|MR|Test|E|Lead 599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000600|100600|989898|1|9999000600|MR|Test|E|Lead 600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000601|100601|989898|1|9999000601|MR|Test|E|Lead 601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000602|100602|989898|1|9999000602|MR|Test|E|Lead 602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000603|100603|989898|1|9999000603|MR|Test|E|Lead 603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000604|100604|989898|1|9999000604|MR|Test|E|Lead 604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000605|100605|989898|1|9999000605|MR|Test|E|Lead 605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000606|100606|989898|1|9999000606|MR|Test|E|Lead 606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000607|100607|989898|1|9999000607|MR|Test|E|Lead 607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000608|100608|989898|1|9999000608|MR|Test|E|Lead 608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000609|100609|989898|1|9999000609|MR|Test|E|Lead 609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000610|100610|989898|1|9999000610|MR|Test|E|Lead 610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000611|100611|989898|1|9999000611|MR|Test|E|Lead 611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000612|100612|989898|1|9999000612|MR|Test|E|Lead 612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000613|100613|989898|1|9999000613|MR|Test|E|Lead 613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000614|100614|989898|1|9999000614|MR|Test|E|Lead 614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000615|100615|989898|1|9999000615|MR|Test|E|Lead 615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000616|100616|989898|1|9999000616|MR|Test|E|Lead 616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000617|100617|989898|1|9999000617|MR|Test|E|Lead 617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000618|100618|989898|1|9999000618|MR|Test|E|Lead 618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000619|100619|989898|1|9999000619|MR|Test|E|Lead 619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000620|100620|989898|1|9999000620|MR|Test|E|Lead 620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000621|100621|989898|1|9999000621|MR|Test|E|Lead 621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000622|100622|989898|1|9999000622|MR|Test|E|Lead 622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000623|100623|989898|1|9999000623|MR|Test|E|Lead 623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000624|100624|989898|1|9999000624|MR|Test|E|Lead 624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000625|100625|989898|1|9999000625|MR|Test|E|Lead 625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000626|100626|989898|1|9999000626|MR|Test|E|Lead 626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000627|100627|989898|1|9999000627|MR|Test|E|Lead 627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000628|100628|989898|1|9999000628|MR|Test|E|Lead 628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000629|100629|989898|1|9999000629|MR|Test|E|Lead 629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000630|100630|989898|1|9999000630|MR|Test|E|Lead 630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000631|100631|989898|1|9999000631|MR|Test|E|Lead 631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000632|100632|989898|1|9999000632|MR|Test|E|Lead 632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000633|100633|989898|1|9999000633|MR|Test|E|Lead 633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000634|100634|989898|1|9999000634|MR|Test|E|Lead 634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000635|100635|989898|1|9999000635|MR|Test|E|Lead 635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000636|100636|989898|1|9999000636|MR|Test|E|Lead 636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000637|100637|989898|1|9999000637|MR|Test|E|Lead 637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000638|100638|989898|1|9999000638|MR|Test|E|Lead 638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000639|100639|989898|1|9999000639|MR|Test|E|Lead 639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000640|100640|989898|1|9999000640|MR|Test|E|Lead 640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000641|100641|989898|1|9999000641|MR|Test|E|Lead 641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000642|100642|989898|1|9999000642|MR|Test|E|Lead 642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000643|100643|989898|1|9999000643|MR|Test|E|Lead 643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000644|100644|989898|1|9999000644|MR|Test|E|Lead 644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000645|100645|989898|1|9999000645|MR|Test|E|Lead 645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000646|100646|989898|1|9999000646|MR|Test|E|Lead 646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000647|100647|989898|1|9999000647|MR|Test|E|Lead 647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000648|100648|989898|1|9999000648|MR|Test|E|Lead 648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000649|100649|989898|1|9999000649|MR|Test|E|Lead 649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000650|100650|989898|1|9999000650|MR|Test|E|Lead 650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000651|100651|989898|1|9999000651|MR|Test|E|Lead 651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000652|100652|989898|1|9999000652|MR|Test|E|Lead 652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000653|100653|989898|1|9999000653|MR|Test|E|Lead 653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000654|100654|989898|1|9999000654|MR|Test|E|Lead 654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000655|100655|989898|1|9999000655|MR|Test|E|Lead 655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000656|100656|989898|1|9999000656|MR|Test|E|Lead 656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000657|100657|989898|1|9999000657|MR|Test|E|Lead 657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000658|100658|989898|1|9999000658|MR|Test|E|Lead 658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000659|100659|989898|1|9999000659|MR|Test|E|Lead 659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000660|100660|989898|1|9999000660|MR|Test|E|Lead 660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000661|100661|989898|1|9999000661|MR|Test|E|Lead 661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000662|100662|989898|1|9999000662|MR|Test|E|Lead 662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000663|100663|989898|1|9999000663|MR|Test|E|Lead 663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000664|100664|989898|1|9999000664|MR|Test|E|Lead 664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000665|100665|989898|1|9999000665|MR|Test|E|Lead 665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000666|100666|989898|1|9999000666|MR|Test|E|Lead 666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000667|100667|989898|1|9999000667|MR|Test|E|Lead 667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000668|100668|989898|1|9999000668|MR|Test|E|Lead 668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000669|100669|989898|1|9999000669|MR|Test|E|Lead 669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000670|100670|989898|1|9999000670|MR|Test|E|Lead 670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000671|100671|989898|1|9999000671|MR|Test|E|Lead 671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000672|100672|989898|1|9999000672|MR|Test|E|Lead 672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000673|100673|989898|1|9999000673|MR|Test|E|Lead 673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000674|100674|989898|1|9999000674|MR|Test|E|Lead 674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000675|100675|989898|1|9999000675|MR|Test|E|Lead 675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000676|100676|989898|1|9999000676|MR|Test|E|Lead 676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000677|100677|989898|1|9999000677|MR|Test|E|Lead 677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000678|100678|989898|1|9999000678|MR|Test|E|Lead 678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000679|100679|989898|1|9999000679|MR|Test|E|Lead 679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000680|100680|989898|1|9999000680|MR|Test|E|Lead 680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000681|100681|989898|1|9999000681|MR|Test|E|Lead 681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000682|100682|989898|1|9999000682|MR|Test|E|Lead 682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000683|100683|989898|1|9999000683|MR|Test|E|Lead 683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000684|100684|989898|1|9999000684|MR|Test|E|Lead 684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000685|100685|989898|1|9999000685|MR|Test|E|Lead 685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000686|100686|989898|1|9999000686|MR|Test|E|Lead 686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000687|100687|989898|1|9999000687|MR|Test|E|Lead 687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000688|100688|989898|1|9999000688|MR|Test|E|Lead 688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000689|100689|989898|1|9999000689|MR|Test|E|Lead 689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000690|100690|989898|1|9999000690|MR|Test|E|Lead 690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000691|100691|989898|1|9999000691|MR|Test|E|Lead 691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000692|100692|989898|1|9999000692|MR|Test|E|Lead 692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000693|100693|989898|1|9999000693|MR|Test|E|Lead 693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000694|100694|989898|1|9999000694|MR|Test|E|Lead 694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000695|100695|989898|1|9999000695|MR|Test|E|Lead 695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000696|100696|989898|1|9999000696|MR|Test|E|Lead 696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000697|100697|989898|1|9999000697|MR|Test|E|Lead 697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000698|100698|989898|1|9999000698|MR|Test|E|Lead 698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000699|100699|989898|1|9999000699|MR|Test|E|Lead 699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000700|100700|989898|1|9999000700|MR|Test|E|Lead 700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000701|100701|989898|1|9999000701|MR|Test|E|Lead 701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000702|100702|989898|1|9999000702|MR|Test|E|Lead 702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000703|100703|989898|1|9999000703|MR|Test|E|Lead 703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000704|100704|989898|1|9999000704|MR|Test|E|Lead 704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000705|100705|989898|1|9999000705|MR|Test|E|Lead 705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000706|100706|989898|1|9999000706|MR|Test|E|Lead 706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000707|100707|989898|1|9999000707|MR|Test|E|Lead 707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000708|100708|989898|1|9999000708|MR|Test|E|Lead 708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000709|100709|989898|1|9999000709|MR|Test|E|Lead 709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000710|100710|989898|1|9999000710|MR|Test|E|Lead 710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000711|100711|989898|1|9999000711|MR|Test|E|Lead 711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000712|100712|989898|1|9999000712|MR|Test|E|Lead 712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000713|100713|989898|1|9999000713|MR|Test|E|Lead 713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000714|100714|989898|1|9999000714|MR|Test|E|Lead 714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000715|100715|989898|1|9999000715|MR|Test|E|Lead 715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000716|100716|989898|1|9999000716|MR|Test|E|Lead 716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000717|100717|989898|1|9999000717|MR|Test|E|Lead 717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000718|100718|989898|1|9999000718|MR|Test|E|Lead 718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000719|100719|989898|1|9999000719|MR|Test|E|Lead 719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000720|100720|989898|1|9999000720|MR|Test|E|Lead 720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000721|100721|989898|1|9999000721|MR|Test|E|Lead 721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000722|100722|989898|1|9999000722|MR|Test|E|Lead 722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000723|100723|989898|1|9999000723|MR|Test|E|Lead 723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000724|100724|989898|1|9999000724|MR|Test|E|Lead 724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000725|100725|989898|1|9999000725|MR|Test|E|Lead 725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000726|100726|989898|1|9999000726|MR|Test|E|Lead 726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000727|100727|989898|1|9999000727|MR|Test|E|Lead 727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000728|100728|989898|1|9999000728|MR|Test|E|Lead 728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000729|100729|989898|1|9999000729|MR|Test|E|Lead 729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000730|100730|989898|1|9999000730|MR|Test|E|Lead 730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000731|100731|989898|1|9999000731|MR|Test|E|Lead 731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000732|100732|989898|1|9999000732|MR|Test|E|Lead 732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000733|100733|989898|1|9999000733|MR|Test|E|Lead 733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000734|100734|989898|1|9999000734|MR|Test|E|Lead 734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000735|100735|989898|1|9999000735|MR|Test|E|Lead 735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000736|100736|989898|1|9999000736|MR|Test|E|Lead 736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000737|100737|989898|1|9999000737|MR|Test|E|Lead 737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000738|100738|989898|1|9999000738|MR|Test|E|Lead 738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000739|100739|989898|1|9999000739|MR|Test|E|Lead 739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000740|100740|989898|1|9999000740|MR|Test|E|Lead 740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000741|100741|989898|1|9999000741|MR|Test|E|Lead 741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000742|100742|989898|1|9999000742|MR|Test|E|Lead 742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000743|100743|989898|1|9999000743|MR|Test|E|Lead 743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000744|100744|989898|1|9999000744|MR|Test|E|Lead 744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000745|100745|989898|1|9999000745|MR|Test|E|Lead 745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000746|100746|989898|1|9999000746|MR|Test|E|Lead 746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000747|100747|989898|1|9999000747|MR|Test|E|Lead 747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000748|100748|989898|1|9999000748|MR|Test|E|Lead 748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000749|100749|989898|1|9999000749|MR|Test|E|Lead 749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000750|100750|989898|1|9999000750|MR|Test|E|Lead 750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000751|100751|989898|1|9999000751|MR|Test|E|Lead 751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000752|100752|989898|1|9999000752|MR|Test|E|Lead 752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000753|100753|989898|1|9999000753|MR|Test|E|Lead 753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000754|100754|989898|1|9999000754|MR|Test|E|Lead 754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000755|100755|989898|1|9999000755|MR|Test|E|Lead 755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000756|100756|989898|1|9999000756|MR|Test|E|Lead 756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000757|100757|989898|1|9999000757|MR|Test|E|Lead 757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000758|100758|989898|1|9999000758|MR|Test|E|Lead 758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000759|100759|989898|1|9999000759|MR|Test|E|Lead 759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000760|100760|989898|1|9999000760|MR|Test|E|Lead 760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000761|100761|989898|1|9999000761|MR|Test|E|Lead 761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000762|100762|989898|1|9999000762|MR|Test|E|Lead 762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000763|100763|989898|1|9999000763|MR|Test|E|Lead 763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000764|100764|989898|1|9999000764|MR|Test|E|Lead 764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000765|100765|989898|1|9999000765|MR|Test|E|Lead 765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000766|100766|989898|1|9999000766|MR|Test|E|Lead 766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000767|100767|989898|1|9999000767|MR|Test|E|Lead 767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000768|100768|989898|1|9999000768|MR|Test|E|Lead 768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000769|100769|989898|1|9999000769|MR|Test|E|Lead 769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000770|100770|989898|1|9999000770|MR|Test|E|Lead 770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000771|100771|989898|1|9999000771|MR|Test|E|Lead 771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000772|100772|989898|1|9999000772|MR|Test|E|Lead 772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000773|100773|989898|1|9999000773|MR|Test|E|Lead 773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000774|100774|989898|1|9999000774|MR|Test|E|Lead 774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000775|100775|989898|1|9999000775|MR|Test|E|Lead 775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000776|100776|989898|1|9999000776|MR|Test|E|Lead 776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000777|100777|989898|1|9999000777|MR|Test|E|Lead 777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000778|100778|989898|1|9999000778|MR|Test|E|Lead 778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000779|100779|989898|1|9999000779|MR|Test|E|Lead 779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000780|100780|989898|1|9999000780|MR|Test|E|Lead 780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000781|100781|989898|1|9999000781|MR|Test|E|Lead 781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000782|100782|989898|1|9999000782|MR|Test|E|Lead 782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000783|100783|989898|1|9999000783|MR|Test|E|Lead 783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000784|100784|989898|1|9999000784|MR|Test|E|Lead 784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000785|100785|989898|1|9999000785|MR|Test|E|Lead 785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000786|100786|989898|1|9999000786|MR|Test|E|Lead 786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000787|100787|989898|1|9999000787|MR|Test|E|Lead 787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000788|100788|989898|1|9999000788|MR|Test|E|Lead 788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000789|100789|989898|1|9999000789|MR|Test|E|Lead 789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000790|100790|989898|1|9999000790|MR|Test|E|Lead 790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000791|100791|989898|1|9999000791|MR|Test|E|Lead 791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000792|100792|989898|1|9999000792|MR|Test|E|Lead 792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000793|100793|989898|1|9999000793|MR|Test|E|Lead 793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000794|100794|989898|1|9999000794|MR|Test|E|Lead 794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000795|100795|989898|1|9999000795|MR|Test|E|Lead 795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000796|100796|989898|1|9999000796|MR|Test|E|Lead 796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000797|100797|989898|1|9999000797|MR|Test|E|Lead 797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000798|100798|989898|1|9999000798|MR|Test|E|Lead 798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000799|100799|989898|1|9999000799|MR|Test|E|Lead 799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000800|100800|989898|1|9999000800|MR|Test|E|Lead 800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000801|100801|989898|1|9999000801|MR|Test|E|Lead 801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000802|100802|989898|1|9999000802|MR|Test|E|Lead 802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000803|100803|989898|1|9999000803|MR|Test|E|Lead 803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000804|100804|989898|1|9999000804|MR|Test|E|Lead 804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000805|100805|989898|1|9999000805|MR|Test|E|Lead 805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000806|100806|989898|1|9999000806|MR|Test|E|Lead 806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000807|100807|989898|1|9999000807|MR|Test|E|Lead 807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000808|100808|989898|1|9999000808|MR|Test|E|Lead 808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000809|100809|989898|1|9999000809|MR|Test|E|Lead 809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000810|100810|989898|1|9999000810|MR|Test|E|Lead 810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000811|100811|989898|1|9999000811|MR|Test|E|Lead 811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000812|100812|989898|1|9999000812|MR|Test|E|Lead 812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000813|100813|989898|1|9999000813|MR|Test|E|Lead 813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000814|100814|989898|1|9999000814|MR|Test|E|Lead 814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000815|100815|989898|1|9999000815|MR|Test|E|Lead 815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000816|100816|989898|1|9999000816|MR|Test|E|Lead 816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000817|100817|989898|1|9999000817|MR|Test|E|Lead 817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000818|100818|989898|1|9999000818|MR|Test|E|Lead 818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000819|100819|989898|1|9999000819|MR|Test|E|Lead 819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000820|100820|989898|1|9999000820|MR|Test|E|Lead 820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000821|100821|989898|1|9999000821|MR|Test|E|Lead 821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000822|100822|989898|1|9999000822|MR|Test|E|Lead 822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000823|100823|989898|1|9999000823|MR|Test|E|Lead 823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000824|100824|989898|1|9999000824|MR|Test|E|Lead 824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000825|100825|989898|1|9999000825|MR|Test|E|Lead 825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000826|100826|989898|1|9999000826|MR|Test|E|Lead 826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000827|100827|989898|1|9999000827|MR|Test|E|Lead 827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000828|100828|989898|1|9999000828|MR|Test|E|Lead 828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000829|100829|989898|1|9999000829|MR|Test|E|Lead 829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000830|100830|989898|1|9999000830|MR|Test|E|Lead 830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000831|100831|989898|1|9999000831|MR|Test|E|Lead 831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000832|100832|989898|1|9999000832|MR|Test|E|Lead 832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000833|100833|989898|1|9999000833|MR|Test|E|Lead 833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000834|100834|989898|1|9999000834|MR|Test|E|Lead 834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000835|100835|989898|1|9999000835|MR|Test|E|Lead 835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000836|100836|989898|1|9999000836|MR|Test|E|Lead 836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000837|100837|989898|1|9999000837|MR|Test|E|Lead 837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000838|100838|989898|1|9999000838|MR|Test|E|Lead 838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000839|100839|989898|1|9999000839|MR|Test|E|Lead 839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000840|100840|989898|1|9999000840|MR|Test|E|Lead 840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000841|100841|989898|1|9999000841|MR|Test|E|Lead 841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000842|100842|989898|1|9999000842|MR|Test|E|Lead 842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000843|100843|989898|1|9999000843|MR|Test|E|Lead 843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000844|100844|989898|1|9999000844|MR|Test|E|Lead 844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000845|100845|989898|1|9999000845|MR|Test|E|Lead 845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000846|100846|989898|1|9999000846|MR|Test|E|Lead 846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000847|100847|989898|1|9999000847|MR|Test|E|Lead 847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000848|100848|989898|1|9999000848|MR|Test|E|Lead 848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000849|100849|989898|1|9999000849|MR|Test|E|Lead 849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000850|100850|989898|1|9999000850|MR|Test|E|Lead 850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000851|100851|989898|1|9999000851|MR|Test|E|Lead 851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000852|100852|989898|1|9999000852|MR|Test|E|Lead 852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000853|100853|989898|1|9999000853|MR|Test|E|Lead 853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000854|100854|989898|1|9999000854|MR|Test|E|Lead 854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000855|100855|989898|1|9999000855|MR|Test|E|Lead 855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000856|100856|989898|1|9999000856|MR|Test|E|Lead 856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000857|100857|989898|1|9999000857|MR|Test|E|Lead 857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000858|100858|989898|1|9999000858|MR|Test|E|Lead 858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000859|100859|989898|1|9999000859|MR|Test|E|Lead 859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000860|100860|989898|1|9999000860|MR|Test|E|Lead 860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000861|100861|989898|1|9999000861|MR|Test|E|Lead 861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000862|100862|989898|1|9999000862|MR|Test|E|Lead 862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000863|100863|989898|1|9999000863|MR|Test|E|Lead 863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000864|100864|989898|1|9999000864|MR|Test|E|Lead 864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000865|100865|989898|1|9999000865|MR|Test|E|Lead 865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000866|100866|989898|1|9999000866|MR|Test|E|Lead 866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000867|100867|989898|1|9999000867|MR|Test|E|Lead 867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000868|100868|989898|1|9999000868|MR|Test|E|Lead 868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000869|100869|989898|1|9999000869|MR|Test|E|Lead 869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000870|100870|989898|1|9999000870|MR|Test|E|Lead 870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000871|100871|989898|1|9999000871|MR|Test|E|Lead 871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000872|100872|989898|1|9999000872|MR|Test|E|Lead 872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000873|100873|989898|1|9999000873|MR|Test|E|Lead 873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000874|100874|989898|1|9999000874|MR|Test|E|Lead 874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000875|100875|989898|1|9999000875|MR|Test|E|Lead 875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000876|100876|989898|1|9999000876|MR|Test|E|Lead 876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000877|100877|989898|1|9999000877|MR|Test|E|Lead 877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000878|100878|989898|1|9999000878|MR|Test|E|Lead 878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000879|100879|989898|1|9999000879|MR|Test|E|Lead 879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000880|100880|989898|1|9999000880|MR|Test|E|Lead 880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000881|100881|989898|1|9999000881|MR|Test|E|Lead 881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000882|100882|989898|1|9999000882|MR|Test|E|Lead 882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000883|100883|989898|1|9999000883|MR|Test|E|Lead 883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000884|100884|989898|1|9999000884|MR|Test|E|Lead 884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000885|100885|989898|1|9999000885|MR|Test|E|Lead 885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000886|100886|989898|1|9999000886|MR|Test|E|Lead 886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000887|100887|989898|1|9999000887|MR|Test|E|Lead 887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000888|100888|989898|1|9999000888|MR|Test|E|Lead 888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000889|100889|989898|1|9999000889|MR|Test|E|Lead 889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000890|100890|989898|1|9999000890|MR|Test|E|Lead 890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000891|100891|989898|1|9999000891|MR|Test|E|Lead 891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000892|100892|989898|1|9999000892|MR|Test|E|Lead 892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000893|100893|989898|1|9999000893|MR|Test|E|Lead 893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000894|100894|989898|1|9999000894|MR|Test|E|Lead 894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000895|100895|989898|1|9999000895|MR|Test|E|Lead 895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000896|100896|989898|1|9999000896|MR|Test|E|Lead 896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000897|100897|989898|1|9999000897|MR|Test|E|Lead 897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000898|100898|989898|1|9999000898|MR|Test|E|Lead 898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000899|100899|989898|1|9999000899|MR|Test|E|Lead 899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000900|100900|989898|1|9999000900|MR|Test|E|Lead 900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000901|100901|989898|1|9999000901|MR|Test|E|Lead 901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000902|100902|989898|1|9999000902|MR|Test|E|Lead 902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000903|100903|989898|1|9999000903|MR|Test|E|Lead 903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000904|100904|989898|1|9999000904|MR|Test|E|Lead 904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000905|100905|989898|1|9999000905|MR|Test|E|Lead 905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000906|100906|989898|1|9999000906|MR|Test|E|Lead 906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000907|100907|989898|1|9999000907|MR|Test|E|Lead 907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000908|100908|989898|1|9999000908|MR|Test|E|Lead 908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000909|100909|989898|1|9999000909|MR|Test|E|Lead 909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000910|100910|989898|1|9999000910|MR|Test|E|Lead 910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000911|100911|989898|1|9999000911|MR|Test|E|Lead 911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000912|100912|989898|1|9999000912|MR|Test|E|Lead 912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000913|100913|989898|1|9999000913|MR|Test|E|Lead 913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000914|100914|989898|1|9999000914|MR|Test|E|Lead 914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000915|100915|989898|1|9999000915|MR|Test|E|Lead 915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000916|100916|989898|1|9999000916|MR|Test|E|Lead 916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000917|100917|989898|1|9999000917|MR|Test|E|Lead 917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000918|100918|989898|1|9999000918|MR|Test|E|Lead 918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000919|100919|989898|1|9999000919|MR|Test|E|Lead 919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000920|100920|989898|1|9999000920|MR|Test|E|Lead 920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000921|100921|989898|1|9999000921|MR|Test|E|Lead 921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000922|100922|989898|1|9999000922|MR|Test|E|Lead 922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000923|100923|989898|1|9999000923|MR|Test|E|Lead 923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000924|100924|989898|1|9999000924|MR|Test|E|Lead 924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000925|100925|989898|1|9999000925|MR|Test|E|Lead 925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000926|100926|989898|1|9999000926|MR|Test|E|Lead 926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000927|100927|989898|1|9999000927|MR|Test|E|Lead 927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000928|100928|989898|1|9999000928|MR|Test|E|Lead 928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000929|100929|989898|1|9999000929|MR|Test|E|Lead 929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000930|100930|989898|1|9999000930|MR|Test|E|Lead 930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000931|100931|989898|1|9999000931|MR|Test|E|Lead 931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000932|100932|989898|1|9999000932|MR|Test|E|Lead 932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000933|100933|989898|1|9999000933|MR|Test|E|Lead 933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000934|100934|989898|1|9999000934|MR|Test|E|Lead 934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000935|100935|989898|1|9999000935|MR|Test|E|Lead 935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000936|100936|989898|1|9999000936|MR|Test|E|Lead 936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000937|100937|989898|1|9999000937|MR|Test|E|Lead 937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000938|100938|989898|1|9999000938|MR|Test|E|Lead 938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000939|100939|989898|1|9999000939|MR|Test|E|Lead 939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000940|100940|989898|1|9999000940|MR|Test|E|Lead 940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000941|100941|989898|1|9999000941|MR|Test|E|Lead 941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000942|100942|989898|1|9999000942|MR|Test|E|Lead 942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000943|100943|989898|1|9999000943|MR|Test|E|Lead 943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000944|100944|989898|1|9999000944|MR|Test|E|Lead 944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000945|100945|989898|1|9999000945|MR|Test|E|Lead 945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000946|100946|989898|1|9999000946|MR|Test|E|Lead 946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000947|100947|989898|1|9999000947|MR|Test|E|Lead 947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000948|100948|989898|1|9999000948|MR|Test|E|Lead 948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000949|100949|989898|1|9999000949|MR|Test|E|Lead 949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000950|100950|989898|1|9999000950|MR|Test|E|Lead 950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000951|100951|989898|1|9999000951|MR|Test|E|Lead 951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000952|100952|989898|1|9999000952|MR|Test|E|Lead 952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000953|100953|989898|1|9999000953|MR|Test|E|Lead 953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000954|100954|989898|1|9999000954|MR|Test|E|Lead 954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000955|100955|989898|1|9999000955|MR|Test|E|Lead 955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000956|100956|989898|1|9999000956|MR|Test|E|Lead 956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000957|100957|989898|1|9999000957|MR|Test|E|Lead 957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000958|100958|989898|1|9999000958|MR|Test|E|Lead 958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000959|100959|989898|1|9999000959|MR|Test|E|Lead 959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000960|100960|989898|1|9999000960|MR|Test|E|Lead 960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000961|100961|989898|1|9999000961|MR|Test|E|Lead 961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000962|100962|989898|1|9999000962|MR|Test|E|Lead 962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000963|100963|989898|1|9999000963|MR|Test|E|Lead 963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000964|100964|989898|1|9999000964|MR|Test|E|Lead 964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000965|100965|989898|1|9999000965|MR|Test|E|Lead 965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000966|100966|989898|1|9999000966|MR|Test|E|Lead 966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000967|100967|989898|1|9999000967|MR|Test|E|Lead 967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000968|100968|989898|1|9999000968|MR|Test|E|Lead 968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000969|100969|989898|1|9999000969|MR|Test|E|Lead 969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000970|100970|989898|1|9999000970|MR|Test|E|Lead 970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000971|100971|989898|1|9999000971|MR|Test|E|Lead 971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000972|100972|989898|1|9999000972|MR|Test|E|Lead 972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000973|100973|989898|1|9999000973|MR|Test|E|Lead 973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000974|100974|989898|1|9999000974|MR|Test|E|Lead 974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000975|100975|989898|1|9999000975|MR|Test|E|Lead 975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000976|100976|989898|1|9999000976|MR|Test|E|Lead 976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000977|100977|989898|1|9999000977|MR|Test|E|Lead 977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000978|100978|989898|1|9999000978|MR|Test|E|Lead 978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000979|100979|989898|1|9999000979|MR|Test|E|Lead 979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000980|100980|989898|1|9999000980|MR|Test|E|Lead 980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000981|100981|989898|1|9999000981|MR|Test|E|Lead 981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000982|100982|989898|1|9999000982|MR|Test|E|Lead 982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000983|100983|989898|1|9999000983|MR|Test|E|Lead 983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000984|100984|989898|1|9999000984|MR|Test|E|Lead 984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000985|100985|989898|1|9999000985|MR|Test|E|Lead 985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000986|100986|989898|1|9999000986|MR|Test|E|Lead 986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000987|100987|989898|1|9999000987|MR|Test|E|Lead 987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000988|100988|989898|1|9999000988|MR|Test|E|Lead 988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000989|100989|989898|1|9999000989|MR|Test|E|Lead 989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000990|100990|989898|1|9999000990|MR|Test|E|Lead 990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000991|100991|989898|1|9999000991|MR|Test|E|Lead 991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000992|100992|989898|1|9999000992|MR|Test|E|Lead 992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000993|100993|989898|1|9999000993|MR|Test|E|Lead 993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000994|100994|989898|1|9999000994|MR|Test|E|Lead 994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000995|100995|989898|1|9999000995|MR|Test|E|Lead 995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000996|100996|989898|1|9999000996|MR|Test|E|Lead 996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000997|100997|989898|1|9999000997|MR|Test|E|Lead 997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000998|100998|989898|1|9999000998|MR|Test|E|Lead 998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1000999|100999|989898|1|9999000999|MR|Test|E|Lead 999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001000|101000|989898|1|9999001000|MR|Test|E|Lead 1000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001001|101001|989898|1|9999001001|MR|Test|E|Lead 1001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001002|101002|989898|1|9999001002|MR|Test|E|Lead 1002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001003|101003|989898|1|9999001003|MR|Test|E|Lead 1003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001004|101004|989898|1|9999001004|MR|Test|E|Lead 1004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001005|101005|989898|1|9999001005|MR|Test|E|Lead 1005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001006|101006|989898|1|9999001006|MR|Test|E|Lead 1006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001007|101007|989898|1|9999001007|MR|Test|E|Lead 1007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001008|101008|989898|1|9999001008|MR|Test|E|Lead 1008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001009|101009|989898|1|9999001009|MR|Test|E|Lead 1009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001010|101010|989898|1|9999001010|MR|Test|E|Lead 1010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001011|101011|989898|1|9999001011|MR|Test|E|Lead 1011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001012|101012|989898|1|9999001012|MR|Test|E|Lead 1012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001013|101013|989898|1|9999001013|MR|Test|E|Lead 1013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001014|101014|989898|1|9999001014|MR|Test|E|Lead 1014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001015|101015|989898|1|9999001015|MR|Test|E|Lead 1015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001016|101016|989898|1|9999001016|MR|Test|E|Lead 1016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001017|101017|989898|1|9999001017|MR|Test|E|Lead 1017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001018|101018|989898|1|9999001018|MR|Test|E|Lead 1018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001019|101019|989898|1|9999001019|MR|Test|E|Lead 1019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001020|101020|989898|1|9999001020|MR|Test|E|Lead 1020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001021|101021|989898|1|9999001021|MR|Test|E|Lead 1021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001022|101022|989898|1|9999001022|MR|Test|E|Lead 1022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001023|101023|989898|1|9999001023|MR|Test|E|Lead 1023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001024|101024|989898|1|9999001024|MR|Test|E|Lead 1024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001025|101025|989898|1|9999001025|MR|Test|E|Lead 1025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001026|101026|989898|1|9999001026|MR|Test|E|Lead 1026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001027|101027|989898|1|9999001027|MR|Test|E|Lead 1027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001028|101028|989898|1|9999001028|MR|Test|E|Lead 1028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001029|101029|989898|1|9999001029|MR|Test|E|Lead 1029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001030|101030|989898|1|9999001030|MR|Test|E|Lead 1030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001031|101031|989898|1|9999001031|MR|Test|E|Lead 1031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001032|101032|989898|1|9999001032|MR|Test|E|Lead 1032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001033|101033|989898|1|9999001033|MR|Test|E|Lead 1033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001034|101034|989898|1|9999001034|MR|Test|E|Lead 1034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001035|101035|989898|1|9999001035|MR|Test|E|Lead 1035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001036|101036|989898|1|9999001036|MR|Test|E|Lead 1036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001037|101037|989898|1|9999001037|MR|Test|E|Lead 1037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001038|101038|989898|1|9999001038|MR|Test|E|Lead 1038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001039|101039|989898|1|9999001039|MR|Test|E|Lead 1039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001040|101040|989898|1|9999001040|MR|Test|E|Lead 1040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001041|101041|989898|1|9999001041|MR|Test|E|Lead 1041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001042|101042|989898|1|9999001042|MR|Test|E|Lead 1042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001043|101043|989898|1|9999001043|MR|Test|E|Lead 1043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001044|101044|989898|1|9999001044|MR|Test|E|Lead 1044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001045|101045|989898|1|9999001045|MR|Test|E|Lead 1045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001046|101046|989898|1|9999001046|MR|Test|E|Lead 1046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001047|101047|989898|1|9999001047|MR|Test|E|Lead 1047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001048|101048|989898|1|9999001048|MR|Test|E|Lead 1048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001049|101049|989898|1|9999001049|MR|Test|E|Lead 1049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001050|101050|989898|1|9999001050|MR|Test|E|Lead 1050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001051|101051|989898|1|9999001051|MR|Test|E|Lead 1051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001052|101052|989898|1|9999001052|MR|Test|E|Lead 1052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001053|101053|989898|1|9999001053|MR|Test|E|Lead 1053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001054|101054|989898|1|9999001054|MR|Test|E|Lead 1054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001055|101055|989898|1|9999001055|MR|Test|E|Lead 1055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001056|101056|989898|1|9999001056|MR|Test|E|Lead 1056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001057|101057|989898|1|9999001057|MR|Test|E|Lead 1057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001058|101058|989898|1|9999001058|MR|Test|E|Lead 1058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001059|101059|989898|1|9999001059|MR|Test|E|Lead 1059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001060|101060|989898|1|9999001060|MR|Test|E|Lead 1060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001061|101061|989898|1|9999001061|MR|Test|E|Lead 1061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001062|101062|989898|1|9999001062|MR|Test|E|Lead 1062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001063|101063|989898|1|9999001063|MR|Test|E|Lead 1063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001064|101064|989898|1|9999001064|MR|Test|E|Lead 1064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001065|101065|989898|1|9999001065|MR|Test|E|Lead 1065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001066|101066|989898|1|9999001066|MR|Test|E|Lead 1066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001067|101067|989898|1|9999001067|MR|Test|E|Lead 1067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001068|101068|989898|1|9999001068|MR|Test|E|Lead 1068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001069|101069|989898|1|9999001069|MR|Test|E|Lead 1069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001070|101070|989898|1|9999001070|MR|Test|E|Lead 1070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001071|101071|989898|1|9999001071|MR|Test|E|Lead 1071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001072|101072|989898|1|9999001072|MR|Test|E|Lead 1072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001073|101073|989898|1|9999001073|MR|Test|E|Lead 1073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001074|101074|989898|1|9999001074|MR|Test|E|Lead 1074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001075|101075|989898|1|9999001075|MR|Test|E|Lead 1075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001076|101076|989898|1|9999001076|MR|Test|E|Lead 1076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001077|101077|989898|1|9999001077|MR|Test|E|Lead 1077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001078|101078|989898|1|9999001078|MR|Test|E|Lead 1078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001079|101079|989898|1|9999001079|MR|Test|E|Lead 1079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001080|101080|989898|1|9999001080|MR|Test|E|Lead 1080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001081|101081|989898|1|9999001081|MR|Test|E|Lead 1081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001082|101082|989898|1|9999001082|MR|Test|E|Lead 1082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001083|101083|989898|1|9999001083|MR|Test|E|Lead 1083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001084|101084|989898|1|9999001084|MR|Test|E|Lead 1084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001085|101085|989898|1|9999001085|MR|Test|E|Lead 1085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001086|101086|989898|1|9999001086|MR|Test|E|Lead 1086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001087|101087|989898|1|9999001087|MR|Test|E|Lead 1087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001088|101088|989898|1|9999001088|MR|Test|E|Lead 1088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001089|101089|989898|1|9999001089|MR|Test|E|Lead 1089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001090|101090|989898|1|9999001090|MR|Test|E|Lead 1090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001091|101091|989898|1|9999001091|MR|Test|E|Lead 1091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001092|101092|989898|1|9999001092|MR|Test|E|Lead 1092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001093|101093|989898|1|9999001093|MR|Test|E|Lead 1093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001094|101094|989898|1|9999001094|MR|Test|E|Lead 1094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001095|101095|989898|1|9999001095|MR|Test|E|Lead 1095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001096|101096|989898|1|9999001096|MR|Test|E|Lead 1096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001097|101097|989898|1|9999001097|MR|Test|E|Lead 1097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001098|101098|989898|1|9999001098|MR|Test|E|Lead 1098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001099|101099|989898|1|9999001099|MR|Test|E|Lead 1099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001100|101100|989898|1|9999001100|MR|Test|E|Lead 1100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001101|101101|989898|1|9999001101|MR|Test|E|Lead 1101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001102|101102|989898|1|9999001102|MR|Test|E|Lead 1102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001103|101103|989898|1|9999001103|MR|Test|E|Lead 1103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001104|101104|989898|1|9999001104|MR|Test|E|Lead 1104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001105|101105|989898|1|9999001105|MR|Test|E|Lead 1105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001106|101106|989898|1|9999001106|MR|Test|E|Lead 1106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001107|101107|989898|1|9999001107|MR|Test|E|Lead 1107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001108|101108|989898|1|9999001108|MR|Test|E|Lead 1108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001109|101109|989898|1|9999001109|MR|Test|E|Lead 1109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001110|101110|989898|1|9999001110|MR|Test|E|Lead 1110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001111|101111|989898|1|9999001111|MR|Test|E|Lead 1111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001112|101112|989898|1|9999001112|MR|Test|E|Lead 1112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001113|101113|989898|1|9999001113|MR|Test|E|Lead 1113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001114|101114|989898|1|9999001114|MR|Test|E|Lead 1114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001115|101115|989898|1|9999001115|MR|Test|E|Lead 1115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001116|101116|989898|1|9999001116|MR|Test|E|Lead 1116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001117|101117|989898|1|9999001117|MR|Test|E|Lead 1117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001118|101118|989898|1|9999001118|MR|Test|E|Lead 1118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001119|101119|989898|1|9999001119|MR|Test|E|Lead 1119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001120|101120|989898|1|9999001120|MR|Test|E|Lead 1120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001121|101121|989898|1|9999001121|MR|Test|E|Lead 1121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001122|101122|989898|1|9999001122|MR|Test|E|Lead 1122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001123|101123|989898|1|9999001123|MR|Test|E|Lead 1123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001124|101124|989898|1|9999001124|MR|Test|E|Lead 1124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001125|101125|989898|1|9999001125|MR|Test|E|Lead 1125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001126|101126|989898|1|9999001126|MR|Test|E|Lead 1126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001127|101127|989898|1|9999001127|MR|Test|E|Lead 1127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001128|101128|989898|1|9999001128|MR|Test|E|Lead 1128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001129|101129|989898|1|9999001129|MR|Test|E|Lead 1129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001130|101130|989898|1|9999001130|MR|Test|E|Lead 1130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001131|101131|989898|1|9999001131|MR|Test|E|Lead 1131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001132|101132|989898|1|9999001132|MR|Test|E|Lead 1132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001133|101133|989898|1|9999001133|MR|Test|E|Lead 1133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001134|101134|989898|1|9999001134|MR|Test|E|Lead 1134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001135|101135|989898|1|9999001135|MR|Test|E|Lead 1135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001136|101136|989898|1|9999001136|MR|Test|E|Lead 1136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001137|101137|989898|1|9999001137|MR|Test|E|Lead 1137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001138|101138|989898|1|9999001138|MR|Test|E|Lead 1138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001139|101139|989898|1|9999001139|MR|Test|E|Lead 1139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001140|101140|989898|1|9999001140|MR|Test|E|Lead 1140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001141|101141|989898|1|9999001141|MR|Test|E|Lead 1141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001142|101142|989898|1|9999001142|MR|Test|E|Lead 1142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001143|101143|989898|1|9999001143|MR|Test|E|Lead 1143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001144|101144|989898|1|9999001144|MR|Test|E|Lead 1144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001145|101145|989898|1|9999001145|MR|Test|E|Lead 1145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001146|101146|989898|1|9999001146|MR|Test|E|Lead 1146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001147|101147|989898|1|9999001147|MR|Test|E|Lead 1147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001148|101148|989898|1|9999001148|MR|Test|E|Lead 1148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001149|101149|989898|1|9999001149|MR|Test|E|Lead 1149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001150|101150|989898|1|9999001150|MR|Test|E|Lead 1150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001151|101151|989898|1|9999001151|MR|Test|E|Lead 1151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001152|101152|989898|1|9999001152|MR|Test|E|Lead 1152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001153|101153|989898|1|9999001153|MR|Test|E|Lead 1153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001154|101154|989898|1|9999001154|MR|Test|E|Lead 1154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001155|101155|989898|1|9999001155|MR|Test|E|Lead 1155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001156|101156|989898|1|9999001156|MR|Test|E|Lead 1156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001157|101157|989898|1|9999001157|MR|Test|E|Lead 1157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001158|101158|989898|1|9999001158|MR|Test|E|Lead 1158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001159|101159|989898|1|9999001159|MR|Test|E|Lead 1159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001160|101160|989898|1|9999001160|MR|Test|E|Lead 1160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001161|101161|989898|1|9999001161|MR|Test|E|Lead 1161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001162|101162|989898|1|9999001162|MR|Test|E|Lead 1162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001163|101163|989898|1|9999001163|MR|Test|E|Lead 1163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001164|101164|989898|1|9999001164|MR|Test|E|Lead 1164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001165|101165|989898|1|9999001165|MR|Test|E|Lead 1165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001166|101166|989898|1|9999001166|MR|Test|E|Lead 1166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001167|101167|989898|1|9999001167|MR|Test|E|Lead 1167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001168|101168|989898|1|9999001168|MR|Test|E|Lead 1168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001169|101169|989898|1|9999001169|MR|Test|E|Lead 1169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001170|101170|989898|1|9999001170|MR|Test|E|Lead 1170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001171|101171|989898|1|9999001171|MR|Test|E|Lead 1171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001172|101172|989898|1|9999001172|MR|Test|E|Lead 1172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001173|101173|989898|1|9999001173|MR|Test|E|Lead 1173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001174|101174|989898|1|9999001174|MR|Test|E|Lead 1174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001175|101175|989898|1|9999001175|MR|Test|E|Lead 1175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001176|101176|989898|1|9999001176|MR|Test|E|Lead 1176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001177|101177|989898|1|9999001177|MR|Test|E|Lead 1177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001178|101178|989898|1|9999001178|MR|Test|E|Lead 1178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001179|101179|989898|1|9999001179|MR|Test|E|Lead 1179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001180|101180|989898|1|9999001180|MR|Test|E|Lead 1180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001181|101181|989898|1|9999001181|MR|Test|E|Lead 1181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001182|101182|989898|1|9999001182|MR|Test|E|Lead 1182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001183|101183|989898|1|9999001183|MR|Test|E|Lead 1183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001184|101184|989898|1|9999001184|MR|Test|E|Lead 1184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001185|101185|989898|1|9999001185|MR|Test|E|Lead 1185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001186|101186|989898|1|9999001186|MR|Test|E|Lead 1186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001187|101187|989898|1|9999001187|MR|Test|E|Lead 1187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001188|101188|989898|1|9999001188|MR|Test|E|Lead 1188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001189|101189|989898|1|9999001189|MR|Test|E|Lead 1189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001190|101190|989898|1|9999001190|MR|Test|E|Lead 1190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001191|101191|989898|1|9999001191|MR|Test|E|Lead 1191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001192|101192|989898|1|9999001192|MR|Test|E|Lead 1192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001193|101193|989898|1|9999001193|MR|Test|E|Lead 1193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001194|101194|989898|1|9999001194|MR|Test|E|Lead 1194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001195|101195|989898|1|9999001195|MR|Test|E|Lead 1195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001196|101196|989898|1|9999001196|MR|Test|E|Lead 1196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001197|101197|989898|1|9999001197|MR|Test|E|Lead 1197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001198|101198|989898|1|9999001198|MR|Test|E|Lead 1198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001199|101199|989898|1|9999001199|MR|Test|E|Lead 1199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001200|101200|989898|1|9999001200|MR|Test|E|Lead 1200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001201|101201|989898|1|9999001201|MR|Test|E|Lead 1201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001202|101202|989898|1|9999001202|MR|Test|E|Lead 1202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001203|101203|989898|1|9999001203|MR|Test|E|Lead 1203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001204|101204|989898|1|9999001204|MR|Test|E|Lead 1204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001205|101205|989898|1|9999001205|MR|Test|E|Lead 1205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001206|101206|989898|1|9999001206|MR|Test|E|Lead 1206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001207|101207|989898|1|9999001207|MR|Test|E|Lead 1207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001208|101208|989898|1|9999001208|MR|Test|E|Lead 1208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001209|101209|989898|1|9999001209|MR|Test|E|Lead 1209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001210|101210|989898|1|9999001210|MR|Test|E|Lead 1210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001211|101211|989898|1|9999001211|MR|Test|E|Lead 1211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001212|101212|989898|1|9999001212|MR|Test|E|Lead 1212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001213|101213|989898|1|9999001213|MR|Test|E|Lead 1213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001214|101214|989898|1|9999001214|MR|Test|E|Lead 1214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001215|101215|989898|1|9999001215|MR|Test|E|Lead 1215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001216|101216|989898|1|9999001216|MR|Test|E|Lead 1216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001217|101217|989898|1|9999001217|MR|Test|E|Lead 1217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001218|101218|989898|1|9999001218|MR|Test|E|Lead 1218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001219|101219|989898|1|9999001219|MR|Test|E|Lead 1219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001220|101220|989898|1|9999001220|MR|Test|E|Lead 1220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001221|101221|989898|1|9999001221|MR|Test|E|Lead 1221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001222|101222|989898|1|9999001222|MR|Test|E|Lead 1222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001223|101223|989898|1|9999001223|MR|Test|E|Lead 1223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001224|101224|989898|1|9999001224|MR|Test|E|Lead 1224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001225|101225|989898|1|9999001225|MR|Test|E|Lead 1225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001226|101226|989898|1|9999001226|MR|Test|E|Lead 1226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001227|101227|989898|1|9999001227|MR|Test|E|Lead 1227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001228|101228|989898|1|9999001228|MR|Test|E|Lead 1228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001229|101229|989898|1|9999001229|MR|Test|E|Lead 1229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001230|101230|989898|1|9999001230|MR|Test|E|Lead 1230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001231|101231|989898|1|9999001231|MR|Test|E|Lead 1231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001232|101232|989898|1|9999001232|MR|Test|E|Lead 1232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001233|101233|989898|1|9999001233|MR|Test|E|Lead 1233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001234|101234|989898|1|9999001234|MR|Test|E|Lead 1234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001235|101235|989898|1|9999001235|MR|Test|E|Lead 1235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001236|101236|989898|1|9999001236|MR|Test|E|Lead 1236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001237|101237|989898|1|9999001237|MR|Test|E|Lead 1237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001238|101238|989898|1|9999001238|MR|Test|E|Lead 1238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001239|101239|989898|1|9999001239|MR|Test|E|Lead 1239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001240|101240|989898|1|9999001240|MR|Test|E|Lead 1240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001241|101241|989898|1|9999001241|MR|Test|E|Lead 1241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001242|101242|989898|1|9999001242|MR|Test|E|Lead 1242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001243|101243|989898|1|9999001243|MR|Test|E|Lead 1243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001244|101244|989898|1|9999001244|MR|Test|E|Lead 1244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001245|101245|989898|1|9999001245|MR|Test|E|Lead 1245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001246|101246|989898|1|9999001246|MR|Test|E|Lead 1246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001247|101247|989898|1|9999001247|MR|Test|E|Lead 1247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001248|101248|989898|1|9999001248|MR|Test|E|Lead 1248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001249|101249|989898|1|9999001249|MR|Test|E|Lead 1249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001250|101250|989898|1|9999001250|MR|Test|E|Lead 1250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001251|101251|989898|1|9999001251|MR|Test|E|Lead 1251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001252|101252|989898|1|9999001252|MR|Test|E|Lead 1252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001253|101253|989898|1|9999001253|MR|Test|E|Lead 1253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001254|101254|989898|1|9999001254|MR|Test|E|Lead 1254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001255|101255|989898|1|9999001255|MR|Test|E|Lead 1255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001256|101256|989898|1|9999001256|MR|Test|E|Lead 1256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001257|101257|989898|1|9999001257|MR|Test|E|Lead 1257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001258|101258|989898|1|9999001258|MR|Test|E|Lead 1258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001259|101259|989898|1|9999001259|MR|Test|E|Lead 1259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001260|101260|989898|1|9999001260|MR|Test|E|Lead 1260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001261|101261|989898|1|9999001261|MR|Test|E|Lead 1261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001262|101262|989898|1|9999001262|MR|Test|E|Lead 1262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001263|101263|989898|1|9999001263|MR|Test|E|Lead 1263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001264|101264|989898|1|9999001264|MR|Test|E|Lead 1264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001265|101265|989898|1|9999001265|MR|Test|E|Lead 1265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001266|101266|989898|1|9999001266|MR|Test|E|Lead 1266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001267|101267|989898|1|9999001267|MR|Test|E|Lead 1267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001268|101268|989898|1|9999001268|MR|Test|E|Lead 1268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001269|101269|989898|1|9999001269|MR|Test|E|Lead 1269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001270|101270|989898|1|9999001270|MR|Test|E|Lead 1270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001271|101271|989898|1|9999001271|MR|Test|E|Lead 1271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001272|101272|989898|1|9999001272|MR|Test|E|Lead 1272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001273|101273|989898|1|9999001273|MR|Test|E|Lead 1273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001274|101274|989898|1|9999001274|MR|Test|E|Lead 1274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001275|101275|989898|1|9999001275|MR|Test|E|Lead 1275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001276|101276|989898|1|9999001276|MR|Test|E|Lead 1276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001277|101277|989898|1|9999001277|MR|Test|E|Lead 1277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001278|101278|989898|1|9999001278|MR|Test|E|Lead 1278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001279|101279|989898|1|9999001279|MR|Test|E|Lead 1279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001280|101280|989898|1|9999001280|MR|Test|E|Lead 1280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001281|101281|989898|1|9999001281|MR|Test|E|Lead 1281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001282|101282|989898|1|9999001282|MR|Test|E|Lead 1282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001283|101283|989898|1|9999001283|MR|Test|E|Lead 1283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001284|101284|989898|1|9999001284|MR|Test|E|Lead 1284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001285|101285|989898|1|9999001285|MR|Test|E|Lead 1285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001286|101286|989898|1|9999001286|MR|Test|E|Lead 1286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001287|101287|989898|1|9999001287|MR|Test|E|Lead 1287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001288|101288|989898|1|9999001288|MR|Test|E|Lead 1288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001289|101289|989898|1|9999001289|MR|Test|E|Lead 1289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001290|101290|989898|1|9999001290|MR|Test|E|Lead 1290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001291|101291|989898|1|9999001291|MR|Test|E|Lead 1291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001292|101292|989898|1|9999001292|MR|Test|E|Lead 1292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001293|101293|989898|1|9999001293|MR|Test|E|Lead 1293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001294|101294|989898|1|9999001294|MR|Test|E|Lead 1294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001295|101295|989898|1|9999001295|MR|Test|E|Lead 1295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001296|101296|989898|1|9999001296|MR|Test|E|Lead 1296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001297|101297|989898|1|9999001297|MR|Test|E|Lead 1297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001298|101298|989898|1|9999001298|MR|Test|E|Lead 1298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001299|101299|989898|1|9999001299|MR|Test|E|Lead 1299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001300|101300|989898|1|9999001300|MR|Test|E|Lead 1300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001301|101301|989898|1|9999001301|MR|Test|E|Lead 1301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001302|101302|989898|1|9999001302|MR|Test|E|Lead 1302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001303|101303|989898|1|9999001303|MR|Test|E|Lead 1303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001304|101304|989898|1|9999001304|MR|Test|E|Lead 1304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001305|101305|989898|1|9999001305|MR|Test|E|Lead 1305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001306|101306|989898|1|9999001306|MR|Test|E|Lead 1306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001307|101307|989898|1|9999001307|MR|Test|E|Lead 1307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001308|101308|989898|1|9999001308|MR|Test|E|Lead 1308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001309|101309|989898|1|9999001309|MR|Test|E|Lead 1309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001310|101310|989898|1|9999001310|MR|Test|E|Lead 1310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001311|101311|989898|1|9999001311|MR|Test|E|Lead 1311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001312|101312|989898|1|9999001312|MR|Test|E|Lead 1312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001313|101313|989898|1|9999001313|MR|Test|E|Lead 1313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001314|101314|989898|1|9999001314|MR|Test|E|Lead 1314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001315|101315|989898|1|9999001315|MR|Test|E|Lead 1315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001316|101316|989898|1|9999001316|MR|Test|E|Lead 1316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001317|101317|989898|1|9999001317|MR|Test|E|Lead 1317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001318|101318|989898|1|9999001318|MR|Test|E|Lead 1318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001319|101319|989898|1|9999001319|MR|Test|E|Lead 1319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001320|101320|989898|1|9999001320|MR|Test|E|Lead 1320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001321|101321|989898|1|9999001321|MR|Test|E|Lead 1321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001322|101322|989898|1|9999001322|MR|Test|E|Lead 1322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001323|101323|989898|1|9999001323|MR|Test|E|Lead 1323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001324|101324|989898|1|9999001324|MR|Test|E|Lead 1324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001325|101325|989898|1|9999001325|MR|Test|E|Lead 1325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001326|101326|989898|1|9999001326|MR|Test|E|Lead 1326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001327|101327|989898|1|9999001327|MR|Test|E|Lead 1327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001328|101328|989898|1|9999001328|MR|Test|E|Lead 1328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001329|101329|989898|1|9999001329|MR|Test|E|Lead 1329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001330|101330|989898|1|9999001330|MR|Test|E|Lead 1330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001331|101331|989898|1|9999001331|MR|Test|E|Lead 1331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001332|101332|989898|1|9999001332|MR|Test|E|Lead 1332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001333|101333|989898|1|9999001333|MR|Test|E|Lead 1333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001334|101334|989898|1|9999001334|MR|Test|E|Lead 1334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001335|101335|989898|1|9999001335|MR|Test|E|Lead 1335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001336|101336|989898|1|9999001336|MR|Test|E|Lead 1336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001337|101337|989898|1|9999001337|MR|Test|E|Lead 1337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001338|101338|989898|1|9999001338|MR|Test|E|Lead 1338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001339|101339|989898|1|9999001339|MR|Test|E|Lead 1339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001340|101340|989898|1|9999001340|MR|Test|E|Lead 1340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001341|101341|989898|1|9999001341|MR|Test|E|Lead 1341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001342|101342|989898|1|9999001342|MR|Test|E|Lead 1342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001343|101343|989898|1|9999001343|MR|Test|E|Lead 1343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001344|101344|989898|1|9999001344|MR|Test|E|Lead 1344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001345|101345|989898|1|9999001345|MR|Test|E|Lead 1345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001346|101346|989898|1|9999001346|MR|Test|E|Lead 1346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001347|101347|989898|1|9999001347|MR|Test|E|Lead 1347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001348|101348|989898|1|9999001348|MR|Test|E|Lead 1348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001349|101349|989898|1|9999001349|MR|Test|E|Lead 1349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001350|101350|989898|1|9999001350|MR|Test|E|Lead 1350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001351|101351|989898|1|9999001351|MR|Test|E|Lead 1351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001352|101352|989898|1|9999001352|MR|Test|E|Lead 1352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001353|101353|989898|1|9999001353|MR|Test|E|Lead 1353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001354|101354|989898|1|9999001354|MR|Test|E|Lead 1354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001355|101355|989898|1|9999001355|MR|Test|E|Lead 1355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001356|101356|989898|1|9999001356|MR|Test|E|Lead 1356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001357|101357|989898|1|9999001357|MR|Test|E|Lead 1357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001358|101358|989898|1|9999001358|MR|Test|E|Lead 1358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001359|101359|989898|1|9999001359|MR|Test|E|Lead 1359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001360|101360|989898|1|9999001360|MR|Test|E|Lead 1360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001361|101361|989898|1|9999001361|MR|Test|E|Lead 1361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001362|101362|989898|1|9999001362|MR|Test|E|Lead 1362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001363|101363|989898|1|9999001363|MR|Test|E|Lead 1363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001364|101364|989898|1|9999001364|MR|Test|E|Lead 1364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001365|101365|989898|1|9999001365|MR|Test|E|Lead 1365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001366|101366|989898|1|9999001366|MR|Test|E|Lead 1366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001367|101367|989898|1|9999001367|MR|Test|E|Lead 1367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001368|101368|989898|1|9999001368|MR|Test|E|Lead 1368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001369|101369|989898|1|9999001369|MR|Test|E|Lead 1369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001370|101370|989898|1|9999001370|MR|Test|E|Lead 1370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001371|101371|989898|1|9999001371|MR|Test|E|Lead 1371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001372|101372|989898|1|9999001372|MR|Test|E|Lead 1372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001373|101373|989898|1|9999001373|MR|Test|E|Lead 1373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001374|101374|989898|1|9999001374|MR|Test|E|Lead 1374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001375|101375|989898|1|9999001375|MR|Test|E|Lead 1375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001376|101376|989898|1|9999001376|MR|Test|E|Lead 1376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001377|101377|989898|1|9999001377|MR|Test|E|Lead 1377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001378|101378|989898|1|9999001378|MR|Test|E|Lead 1378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001379|101379|989898|1|9999001379|MR|Test|E|Lead 1379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001380|101380|989898|1|9999001380|MR|Test|E|Lead 1380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001381|101381|989898|1|9999001381|MR|Test|E|Lead 1381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001382|101382|989898|1|9999001382|MR|Test|E|Lead 1382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001383|101383|989898|1|9999001383|MR|Test|E|Lead 1383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001384|101384|989898|1|9999001384|MR|Test|E|Lead 1384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001385|101385|989898|1|9999001385|MR|Test|E|Lead 1385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001386|101386|989898|1|9999001386|MR|Test|E|Lead 1386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001387|101387|989898|1|9999001387|MR|Test|E|Lead 1387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001388|101388|989898|1|9999001388|MR|Test|E|Lead 1388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001389|101389|989898|1|9999001389|MR|Test|E|Lead 1389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001390|101390|989898|1|9999001390|MR|Test|E|Lead 1390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001391|101391|989898|1|9999001391|MR|Test|E|Lead 1391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001392|101392|989898|1|9999001392|MR|Test|E|Lead 1392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001393|101393|989898|1|9999001393|MR|Test|E|Lead 1393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001394|101394|989898|1|9999001394|MR|Test|E|Lead 1394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001395|101395|989898|1|9999001395|MR|Test|E|Lead 1395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001396|101396|989898|1|9999001396|MR|Test|E|Lead 1396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001397|101397|989898|1|9999001397|MR|Test|E|Lead 1397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001398|101398|989898|1|9999001398|MR|Test|E|Lead 1398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001399|101399|989898|1|9999001399|MR|Test|E|Lead 1399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001400|101400|989898|1|9999001400|MR|Test|E|Lead 1400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001401|101401|989898|1|9999001401|MR|Test|E|Lead 1401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001402|101402|989898|1|9999001402|MR|Test|E|Lead 1402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001403|101403|989898|1|9999001403|MR|Test|E|Lead 1403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001404|101404|989898|1|9999001404|MR|Test|E|Lead 1404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001405|101405|989898|1|9999001405|MR|Test|E|Lead 1405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001406|101406|989898|1|9999001406|MR|Test|E|Lead 1406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001407|101407|989898|1|9999001407|MR|Test|E|Lead 1407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001408|101408|989898|1|9999001408|MR|Test|E|Lead 1408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001409|101409|989898|1|9999001409|MR|Test|E|Lead 1409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001410|101410|989898|1|9999001410|MR|Test|E|Lead 1410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001411|101411|989898|1|9999001411|MR|Test|E|Lead 1411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001412|101412|989898|1|9999001412|MR|Test|E|Lead 1412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001413|101413|989898|1|9999001413|MR|Test|E|Lead 1413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001414|101414|989898|1|9999001414|MR|Test|E|Lead 1414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001415|101415|989898|1|9999001415|MR|Test|E|Lead 1415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001416|101416|989898|1|9999001416|MR|Test|E|Lead 1416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001417|101417|989898|1|9999001417|MR|Test|E|Lead 1417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001418|101418|989898|1|9999001418|MR|Test|E|Lead 1418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001419|101419|989898|1|9999001419|MR|Test|E|Lead 1419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001420|101420|989898|1|9999001420|MR|Test|E|Lead 1420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001421|101421|989898|1|9999001421|MR|Test|E|Lead 1421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001422|101422|989898|1|9999001422|MR|Test|E|Lead 1422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001423|101423|989898|1|9999001423|MR|Test|E|Lead 1423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001424|101424|989898|1|9999001424|MR|Test|E|Lead 1424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001425|101425|989898|1|9999001425|MR|Test|E|Lead 1425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001426|101426|989898|1|9999001426|MR|Test|E|Lead 1426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001427|101427|989898|1|9999001427|MR|Test|E|Lead 1427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001428|101428|989898|1|9999001428|MR|Test|E|Lead 1428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001429|101429|989898|1|9999001429|MR|Test|E|Lead 1429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001430|101430|989898|1|9999001430|MR|Test|E|Lead 1430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001431|101431|989898|1|9999001431|MR|Test|E|Lead 1431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001432|101432|989898|1|9999001432|MR|Test|E|Lead 1432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001433|101433|989898|1|9999001433|MR|Test|E|Lead 1433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001434|101434|989898|1|9999001434|MR|Test|E|Lead 1434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001435|101435|989898|1|9999001435|MR|Test|E|Lead 1435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001436|101436|989898|1|9999001436|MR|Test|E|Lead 1436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001437|101437|989898|1|9999001437|MR|Test|E|Lead 1437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001438|101438|989898|1|9999001438|MR|Test|E|Lead 1438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001439|101439|989898|1|9999001439|MR|Test|E|Lead 1439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001440|101440|989898|1|9999001440|MR|Test|E|Lead 1440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001441|101441|989898|1|9999001441|MR|Test|E|Lead 1441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001442|101442|989898|1|9999001442|MR|Test|E|Lead 1442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001443|101443|989898|1|9999001443|MR|Test|E|Lead 1443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001444|101444|989898|1|9999001444|MR|Test|E|Lead 1444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001445|101445|989898|1|9999001445|MR|Test|E|Lead 1445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001446|101446|989898|1|9999001446|MR|Test|E|Lead 1446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001447|101447|989898|1|9999001447|MR|Test|E|Lead 1447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001448|101448|989898|1|9999001448|MR|Test|E|Lead 1448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001449|101449|989898|1|9999001449|MR|Test|E|Lead 1449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001450|101450|989898|1|9999001450|MR|Test|E|Lead 1450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001451|101451|989898|1|9999001451|MR|Test|E|Lead 1451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001452|101452|989898|1|9999001452|MR|Test|E|Lead 1452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001453|101453|989898|1|9999001453|MR|Test|E|Lead 1453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001454|101454|989898|1|9999001454|MR|Test|E|Lead 1454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001455|101455|989898|1|9999001455|MR|Test|E|Lead 1455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001456|101456|989898|1|9999001456|MR|Test|E|Lead 1456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001457|101457|989898|1|9999001457|MR|Test|E|Lead 1457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001458|101458|989898|1|9999001458|MR|Test|E|Lead 1458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001459|101459|989898|1|9999001459|MR|Test|E|Lead 1459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001460|101460|989898|1|9999001460|MR|Test|E|Lead 1460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001461|101461|989898|1|9999001461|MR|Test|E|Lead 1461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001462|101462|989898|1|9999001462|MR|Test|E|Lead 1462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001463|101463|989898|1|9999001463|MR|Test|E|Lead 1463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001464|101464|989898|1|9999001464|MR|Test|E|Lead 1464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001465|101465|989898|1|9999001465|MR|Test|E|Lead 1465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001466|101466|989898|1|9999001466|MR|Test|E|Lead 1466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001467|101467|989898|1|9999001467|MR|Test|E|Lead 1467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001468|101468|989898|1|9999001468|MR|Test|E|Lead 1468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001469|101469|989898|1|9999001469|MR|Test|E|Lead 1469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001470|101470|989898|1|9999001470|MR|Test|E|Lead 1470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001471|101471|989898|1|9999001471|MR|Test|E|Lead 1471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001472|101472|989898|1|9999001472|MR|Test|E|Lead 1472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001473|101473|989898|1|9999001473|MR|Test|E|Lead 1473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001474|101474|989898|1|9999001474|MR|Test|E|Lead 1474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001475|101475|989898|1|9999001475|MR|Test|E|Lead 1475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001476|101476|989898|1|9999001476|MR|Test|E|Lead 1476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001477|101477|989898|1|9999001477|MR|Test|E|Lead 1477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001478|101478|989898|1|9999001478|MR|Test|E|Lead 1478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001479|101479|989898|1|9999001479|MR|Test|E|Lead 1479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001480|101480|989898|1|9999001480|MR|Test|E|Lead 1480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001481|101481|989898|1|9999001481|MR|Test|E|Lead 1481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001482|101482|989898|1|9999001482|MR|Test|E|Lead 1482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001483|101483|989898|1|9999001483|MR|Test|E|Lead 1483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001484|101484|989898|1|9999001484|MR|Test|E|Lead 1484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001485|101485|989898|1|9999001485|MR|Test|E|Lead 1485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001486|101486|989898|1|9999001486|MR|Test|E|Lead 1486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001487|101487|989898|1|9999001487|MR|Test|E|Lead 1487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001488|101488|989898|1|9999001488|MR|Test|E|Lead 1488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001489|101489|989898|1|9999001489|MR|Test|E|Lead 1489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001490|101490|989898|1|9999001490|MR|Test|E|Lead 1490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001491|101491|989898|1|9999001491|MR|Test|E|Lead 1491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001492|101492|989898|1|9999001492|MR|Test|E|Lead 1492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001493|101493|989898|1|9999001493|MR|Test|E|Lead 1493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001494|101494|989898|1|9999001494|MR|Test|E|Lead 1494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001495|101495|989898|1|9999001495|MR|Test|E|Lead 1495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001496|101496|989898|1|9999001496|MR|Test|E|Lead 1496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001497|101497|989898|1|9999001497|MR|Test|E|Lead 1497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001498|101498|989898|1|9999001498|MR|Test|E|Lead 1498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001499|101499|989898|1|9999001499|MR|Test|E|Lead 1499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001500|101500|989898|1|9999001500|MR|Test|E|Lead 1500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001501|101501|989898|1|9999001501|MR|Test|E|Lead 1501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001502|101502|989898|1|9999001502|MR|Test|E|Lead 1502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001503|101503|989898|1|9999001503|MR|Test|E|Lead 1503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001504|101504|989898|1|9999001504|MR|Test|E|Lead 1504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001505|101505|989898|1|9999001505|MR|Test|E|Lead 1505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001506|101506|989898|1|9999001506|MR|Test|E|Lead 1506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001507|101507|989898|1|9999001507|MR|Test|E|Lead 1507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001508|101508|989898|1|9999001508|MR|Test|E|Lead 1508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001509|101509|989898|1|9999001509|MR|Test|E|Lead 1509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001510|101510|989898|1|9999001510|MR|Test|E|Lead 1510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001511|101511|989898|1|9999001511|MR|Test|E|Lead 1511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001512|101512|989898|1|9999001512|MR|Test|E|Lead 1512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001513|101513|989898|1|9999001513|MR|Test|E|Lead 1513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001514|101514|989898|1|9999001514|MR|Test|E|Lead 1514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001515|101515|989898|1|9999001515|MR|Test|E|Lead 1515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001516|101516|989898|1|9999001516|MR|Test|E|Lead 1516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001517|101517|989898|1|9999001517|MR|Test|E|Lead 1517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001518|101518|989898|1|9999001518|MR|Test|E|Lead 1518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001519|101519|989898|1|9999001519|MR|Test|E|Lead 1519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001520|101520|989898|1|9999001520|MR|Test|E|Lead 1520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001521|101521|989898|1|9999001521|MR|Test|E|Lead 1521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001522|101522|989898|1|9999001522|MR|Test|E|Lead 1522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001523|101523|989898|1|9999001523|MR|Test|E|Lead 1523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001524|101524|989898|1|9999001524|MR|Test|E|Lead 1524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001525|101525|989898|1|9999001525|MR|Test|E|Lead 1525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001526|101526|989898|1|9999001526|MR|Test|E|Lead 1526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001527|101527|989898|1|9999001527|MR|Test|E|Lead 1527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001528|101528|989898|1|9999001528|MR|Test|E|Lead 1528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001529|101529|989898|1|9999001529|MR|Test|E|Lead 1529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001530|101530|989898|1|9999001530|MR|Test|E|Lead 1530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001531|101531|989898|1|9999001531|MR|Test|E|Lead 1531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001532|101532|989898|1|9999001532|MR|Test|E|Lead 1532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001533|101533|989898|1|9999001533|MR|Test|E|Lead 1533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001534|101534|989898|1|9999001534|MR|Test|E|Lead 1534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001535|101535|989898|1|9999001535|MR|Test|E|Lead 1535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001536|101536|989898|1|9999001536|MR|Test|E|Lead 1536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001537|101537|989898|1|9999001537|MR|Test|E|Lead 1537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001538|101538|989898|1|9999001538|MR|Test|E|Lead 1538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001539|101539|989898|1|9999001539|MR|Test|E|Lead 1539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001540|101540|989898|1|9999001540|MR|Test|E|Lead 1540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001541|101541|989898|1|9999001541|MR|Test|E|Lead 1541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001542|101542|989898|1|9999001542|MR|Test|E|Lead 1542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001543|101543|989898|1|9999001543|MR|Test|E|Lead 1543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001544|101544|989898|1|9999001544|MR|Test|E|Lead 1544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001545|101545|989898|1|9999001545|MR|Test|E|Lead 1545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001546|101546|989898|1|9999001546|MR|Test|E|Lead 1546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001547|101547|989898|1|9999001547|MR|Test|E|Lead 1547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001548|101548|989898|1|9999001548|MR|Test|E|Lead 1548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001549|101549|989898|1|9999001549|MR|Test|E|Lead 1549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001550|101550|989898|1|9999001550|MR|Test|E|Lead 1550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001551|101551|989898|1|9999001551|MR|Test|E|Lead 1551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001552|101552|989898|1|9999001552|MR|Test|E|Lead 1552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001553|101553|989898|1|9999001553|MR|Test|E|Lead 1553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001554|101554|989898|1|9999001554|MR|Test|E|Lead 1554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001555|101555|989898|1|9999001555|MR|Test|E|Lead 1555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001556|101556|989898|1|9999001556|MR|Test|E|Lead 1556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001557|101557|989898|1|9999001557|MR|Test|E|Lead 1557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001558|101558|989898|1|9999001558|MR|Test|E|Lead 1558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001559|101559|989898|1|9999001559|MR|Test|E|Lead 1559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001560|101560|989898|1|9999001560|MR|Test|E|Lead 1560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001561|101561|989898|1|9999001561|MR|Test|E|Lead 1561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001562|101562|989898|1|9999001562|MR|Test|E|Lead 1562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001563|101563|989898|1|9999001563|MR|Test|E|Lead 1563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001564|101564|989898|1|9999001564|MR|Test|E|Lead 1564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001565|101565|989898|1|9999001565|MR|Test|E|Lead 1565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001566|101566|989898|1|9999001566|MR|Test|E|Lead 1566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001567|101567|989898|1|9999001567|MR|Test|E|Lead 1567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001568|101568|989898|1|9999001568|MR|Test|E|Lead 1568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001569|101569|989898|1|9999001569|MR|Test|E|Lead 1569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001570|101570|989898|1|9999001570|MR|Test|E|Lead 1570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001571|101571|989898|1|9999001571|MR|Test|E|Lead 1571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001572|101572|989898|1|9999001572|MR|Test|E|Lead 1572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001573|101573|989898|1|9999001573|MR|Test|E|Lead 1573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001574|101574|989898|1|9999001574|MR|Test|E|Lead 1574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001575|101575|989898|1|9999001575|MR|Test|E|Lead 1575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001576|101576|989898|1|9999001576|MR|Test|E|Lead 1576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001577|101577|989898|1|9999001577|MR|Test|E|Lead 1577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001578|101578|989898|1|9999001578|MR|Test|E|Lead 1578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001579|101579|989898|1|9999001579|MR|Test|E|Lead 1579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001580|101580|989898|1|9999001580|MR|Test|E|Lead 1580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001581|101581|989898|1|9999001581|MR|Test|E|Lead 1581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001582|101582|989898|1|9999001582|MR|Test|E|Lead 1582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001583|101583|989898|1|9999001583|MR|Test|E|Lead 1583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001584|101584|989898|1|9999001584|MR|Test|E|Lead 1584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001585|101585|989898|1|9999001585|MR|Test|E|Lead 1585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001586|101586|989898|1|9999001586|MR|Test|E|Lead 1586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001587|101587|989898|1|9999001587|MR|Test|E|Lead 1587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001588|101588|989898|1|9999001588|MR|Test|E|Lead 1588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001589|101589|989898|1|9999001589|MR|Test|E|Lead 1589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001590|101590|989898|1|9999001590|MR|Test|E|Lead 1590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001591|101591|989898|1|9999001591|MR|Test|E|Lead 1591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001592|101592|989898|1|9999001592|MR|Test|E|Lead 1592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001593|101593|989898|1|9999001593|MR|Test|E|Lead 1593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001594|101594|989898|1|9999001594|MR|Test|E|Lead 1594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001595|101595|989898|1|9999001595|MR|Test|E|Lead 1595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001596|101596|989898|1|9999001596|MR|Test|E|Lead 1596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001597|101597|989898|1|9999001597|MR|Test|E|Lead 1597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001598|101598|989898|1|9999001598|MR|Test|E|Lead 1598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001599|101599|989898|1|9999001599|MR|Test|E|Lead 1599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001600|101600|989898|1|9999001600|MR|Test|E|Lead 1600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001601|101601|989898|1|9999001601|MR|Test|E|Lead 1601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001602|101602|989898|1|9999001602|MR|Test|E|Lead 1602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001603|101603|989898|1|9999001603|MR|Test|E|Lead 1603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001604|101604|989898|1|9999001604|MR|Test|E|Lead 1604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001605|101605|989898|1|9999001605|MR|Test|E|Lead 1605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001606|101606|989898|1|9999001606|MR|Test|E|Lead 1606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001607|101607|989898|1|9999001607|MR|Test|E|Lead 1607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001608|101608|989898|1|9999001608|MR|Test|E|Lead 1608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001609|101609|989898|1|9999001609|MR|Test|E|Lead 1609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001610|101610|989898|1|9999001610|MR|Test|E|Lead 1610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001611|101611|989898|1|9999001611|MR|Test|E|Lead 1611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001612|101612|989898|1|9999001612|MR|Test|E|Lead 1612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001613|101613|989898|1|9999001613|MR|Test|E|Lead 1613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001614|101614|989898|1|9999001614|MR|Test|E|Lead 1614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001615|101615|989898|1|9999001615|MR|Test|E|Lead 1615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001616|101616|989898|1|9999001616|MR|Test|E|Lead 1616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001617|101617|989898|1|9999001617|MR|Test|E|Lead 1617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001618|101618|989898|1|9999001618|MR|Test|E|Lead 1618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001619|101619|989898|1|9999001619|MR|Test|E|Lead 1619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001620|101620|989898|1|9999001620|MR|Test|E|Lead 1620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001621|101621|989898|1|9999001621|MR|Test|E|Lead 1621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001622|101622|989898|1|9999001622|MR|Test|E|Lead 1622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001623|101623|989898|1|9999001623|MR|Test|E|Lead 1623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001624|101624|989898|1|9999001624|MR|Test|E|Lead 1624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001625|101625|989898|1|9999001625|MR|Test|E|Lead 1625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001626|101626|989898|1|9999001626|MR|Test|E|Lead 1626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001627|101627|989898|1|9999001627|MR|Test|E|Lead 1627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001628|101628|989898|1|9999001628|MR|Test|E|Lead 1628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001629|101629|989898|1|9999001629|MR|Test|E|Lead 1629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001630|101630|989898|1|9999001630|MR|Test|E|Lead 1630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001631|101631|989898|1|9999001631|MR|Test|E|Lead 1631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001632|101632|989898|1|9999001632|MR|Test|E|Lead 1632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001633|101633|989898|1|9999001633|MR|Test|E|Lead 1633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001634|101634|989898|1|9999001634|MR|Test|E|Lead 1634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001635|101635|989898|1|9999001635|MR|Test|E|Lead 1635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001636|101636|989898|1|9999001636|MR|Test|E|Lead 1636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001637|101637|989898|1|9999001637|MR|Test|E|Lead 1637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001638|101638|989898|1|9999001638|MR|Test|E|Lead 1638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001639|101639|989898|1|9999001639|MR|Test|E|Lead 1639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001640|101640|989898|1|9999001640|MR|Test|E|Lead 1640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001641|101641|989898|1|9999001641|MR|Test|E|Lead 1641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001642|101642|989898|1|9999001642|MR|Test|E|Lead 1642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001643|101643|989898|1|9999001643|MR|Test|E|Lead 1643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001644|101644|989898|1|9999001644|MR|Test|E|Lead 1644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001645|101645|989898|1|9999001645|MR|Test|E|Lead 1645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001646|101646|989898|1|9999001646|MR|Test|E|Lead 1646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001647|101647|989898|1|9999001647|MR|Test|E|Lead 1647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001648|101648|989898|1|9999001648|MR|Test|E|Lead 1648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001649|101649|989898|1|9999001649|MR|Test|E|Lead 1649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001650|101650|989898|1|9999001650|MR|Test|E|Lead 1650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001651|101651|989898|1|9999001651|MR|Test|E|Lead 1651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001652|101652|989898|1|9999001652|MR|Test|E|Lead 1652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001653|101653|989898|1|9999001653|MR|Test|E|Lead 1653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001654|101654|989898|1|9999001654|MR|Test|E|Lead 1654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001655|101655|989898|1|9999001655|MR|Test|E|Lead 1655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001656|101656|989898|1|9999001656|MR|Test|E|Lead 1656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001657|101657|989898|1|9999001657|MR|Test|E|Lead 1657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001658|101658|989898|1|9999001658|MR|Test|E|Lead 1658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001659|101659|989898|1|9999001659|MR|Test|E|Lead 1659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001660|101660|989898|1|9999001660|MR|Test|E|Lead 1660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001661|101661|989898|1|9999001661|MR|Test|E|Lead 1661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001662|101662|989898|1|9999001662|MR|Test|E|Lead 1662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001663|101663|989898|1|9999001663|MR|Test|E|Lead 1663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001664|101664|989898|1|9999001664|MR|Test|E|Lead 1664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001665|101665|989898|1|9999001665|MR|Test|E|Lead 1665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001666|101666|989898|1|9999001666|MR|Test|E|Lead 1666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001667|101667|989898|1|9999001667|MR|Test|E|Lead 1667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001668|101668|989898|1|9999001668|MR|Test|E|Lead 1668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001669|101669|989898|1|9999001669|MR|Test|E|Lead 1669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001670|101670|989898|1|9999001670|MR|Test|E|Lead 1670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001671|101671|989898|1|9999001671|MR|Test|E|Lead 1671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001672|101672|989898|1|9999001672|MR|Test|E|Lead 1672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001673|101673|989898|1|9999001673|MR|Test|E|Lead 1673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001674|101674|989898|1|9999001674|MR|Test|E|Lead 1674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001675|101675|989898|1|9999001675|MR|Test|E|Lead 1675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001676|101676|989898|1|9999001676|MR|Test|E|Lead 1676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001677|101677|989898|1|9999001677|MR|Test|E|Lead 1677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001678|101678|989898|1|9999001678|MR|Test|E|Lead 1678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001679|101679|989898|1|9999001679|MR|Test|E|Lead 1679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001680|101680|989898|1|9999001680|MR|Test|E|Lead 1680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001681|101681|989898|1|9999001681|MR|Test|E|Lead 1681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001682|101682|989898|1|9999001682|MR|Test|E|Lead 1682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001683|101683|989898|1|9999001683|MR|Test|E|Lead 1683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001684|101684|989898|1|9999001684|MR|Test|E|Lead 1684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001685|101685|989898|1|9999001685|MR|Test|E|Lead 1685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001686|101686|989898|1|9999001686|MR|Test|E|Lead 1686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001687|101687|989898|1|9999001687|MR|Test|E|Lead 1687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001688|101688|989898|1|9999001688|MR|Test|E|Lead 1688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001689|101689|989898|1|9999001689|MR|Test|E|Lead 1689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001690|101690|989898|1|9999001690|MR|Test|E|Lead 1690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001691|101691|989898|1|9999001691|MR|Test|E|Lead 1691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001692|101692|989898|1|9999001692|MR|Test|E|Lead 1692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001693|101693|989898|1|9999001693|MR|Test|E|Lead 1693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001694|101694|989898|1|9999001694|MR|Test|E|Lead 1694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001695|101695|989898|1|9999001695|MR|Test|E|Lead 1695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001696|101696|989898|1|9999001696|MR|Test|E|Lead 1696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001697|101697|989898|1|9999001697|MR|Test|E|Lead 1697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001698|101698|989898|1|9999001698|MR|Test|E|Lead 1698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001699|101699|989898|1|9999001699|MR|Test|E|Lead 1699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001700|101700|989898|1|9999001700|MR|Test|E|Lead 1700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001701|101701|989898|1|9999001701|MR|Test|E|Lead 1701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001702|101702|989898|1|9999001702|MR|Test|E|Lead 1702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001703|101703|989898|1|9999001703|MR|Test|E|Lead 1703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001704|101704|989898|1|9999001704|MR|Test|E|Lead 1704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001705|101705|989898|1|9999001705|MR|Test|E|Lead 1705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001706|101706|989898|1|9999001706|MR|Test|E|Lead 1706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001707|101707|989898|1|9999001707|MR|Test|E|Lead 1707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001708|101708|989898|1|9999001708|MR|Test|E|Lead 1708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001709|101709|989898|1|9999001709|MR|Test|E|Lead 1709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001710|101710|989898|1|9999001710|MR|Test|E|Lead 1710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001711|101711|989898|1|9999001711|MR|Test|E|Lead 1711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001712|101712|989898|1|9999001712|MR|Test|E|Lead 1712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001713|101713|989898|1|9999001713|MR|Test|E|Lead 1713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001714|101714|989898|1|9999001714|MR|Test|E|Lead 1714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001715|101715|989898|1|9999001715|MR|Test|E|Lead 1715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001716|101716|989898|1|9999001716|MR|Test|E|Lead 1716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001717|101717|989898|1|9999001717|MR|Test|E|Lead 1717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001718|101718|989898|1|9999001718|MR|Test|E|Lead 1718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001719|101719|989898|1|9999001719|MR|Test|E|Lead 1719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001720|101720|989898|1|9999001720|MR|Test|E|Lead 1720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001721|101721|989898|1|9999001721|MR|Test|E|Lead 1721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001722|101722|989898|1|9999001722|MR|Test|E|Lead 1722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001723|101723|989898|1|9999001723|MR|Test|E|Lead 1723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001724|101724|989898|1|9999001724|MR|Test|E|Lead 1724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001725|101725|989898|1|9999001725|MR|Test|E|Lead 1725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001726|101726|989898|1|9999001726|MR|Test|E|Lead 1726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001727|101727|989898|1|9999001727|MR|Test|E|Lead 1727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001728|101728|989898|1|9999001728|MR|Test|E|Lead 1728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001729|101729|989898|1|9999001729|MR|Test|E|Lead 1729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001730|101730|989898|1|9999001730|MR|Test|E|Lead 1730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001731|101731|989898|1|9999001731|MR|Test|E|Lead 1731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001732|101732|989898|1|9999001732|MR|Test|E|Lead 1732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001733|101733|989898|1|9999001733|MR|Test|E|Lead 1733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001734|101734|989898|1|9999001734|MR|Test|E|Lead 1734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001735|101735|989898|1|9999001735|MR|Test|E|Lead 1735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001736|101736|989898|1|9999001736|MR|Test|E|Lead 1736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001737|101737|989898|1|9999001737|MR|Test|E|Lead 1737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001738|101738|989898|1|9999001738|MR|Test|E|Lead 1738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001739|101739|989898|1|9999001739|MR|Test|E|Lead 1739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001740|101740|989898|1|9999001740|MR|Test|E|Lead 1740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001741|101741|989898|1|9999001741|MR|Test|E|Lead 1741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001742|101742|989898|1|9999001742|MR|Test|E|Lead 1742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001743|101743|989898|1|9999001743|MR|Test|E|Lead 1743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001744|101744|989898|1|9999001744|MR|Test|E|Lead 1744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001745|101745|989898|1|9999001745|MR|Test|E|Lead 1745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001746|101746|989898|1|9999001746|MR|Test|E|Lead 1746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001747|101747|989898|1|9999001747|MR|Test|E|Lead 1747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001748|101748|989898|1|9999001748|MR|Test|E|Lead 1748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001749|101749|989898|1|9999001749|MR|Test|E|Lead 1749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001750|101750|989898|1|9999001750|MR|Test|E|Lead 1750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001751|101751|989898|1|9999001751|MR|Test|E|Lead 1751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001752|101752|989898|1|9999001752|MR|Test|E|Lead 1752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001753|101753|989898|1|9999001753|MR|Test|E|Lead 1753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001754|101754|989898|1|9999001754|MR|Test|E|Lead 1754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001755|101755|989898|1|9999001755|MR|Test|E|Lead 1755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001756|101756|989898|1|9999001756|MR|Test|E|Lead 1756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001757|101757|989898|1|9999001757|MR|Test|E|Lead 1757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001758|101758|989898|1|9999001758|MR|Test|E|Lead 1758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001759|101759|989898|1|9999001759|MR|Test|E|Lead 1759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001760|101760|989898|1|9999001760|MR|Test|E|Lead 1760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001761|101761|989898|1|9999001761|MR|Test|E|Lead 1761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001762|101762|989898|1|9999001762|MR|Test|E|Lead 1762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001763|101763|989898|1|9999001763|MR|Test|E|Lead 1763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001764|101764|989898|1|9999001764|MR|Test|E|Lead 1764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001765|101765|989898|1|9999001765|MR|Test|E|Lead 1765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001766|101766|989898|1|9999001766|MR|Test|E|Lead 1766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001767|101767|989898|1|9999001767|MR|Test|E|Lead 1767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001768|101768|989898|1|9999001768|MR|Test|E|Lead 1768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001769|101769|989898|1|9999001769|MR|Test|E|Lead 1769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001770|101770|989898|1|9999001770|MR|Test|E|Lead 1770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001771|101771|989898|1|9999001771|MR|Test|E|Lead 1771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001772|101772|989898|1|9999001772|MR|Test|E|Lead 1772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001773|101773|989898|1|9999001773|MR|Test|E|Lead 1773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001774|101774|989898|1|9999001774|MR|Test|E|Lead 1774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001775|101775|989898|1|9999001775|MR|Test|E|Lead 1775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001776|101776|989898|1|9999001776|MR|Test|E|Lead 1776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001777|101777|989898|1|9999001777|MR|Test|E|Lead 1777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001778|101778|989898|1|9999001778|MR|Test|E|Lead 1778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001779|101779|989898|1|9999001779|MR|Test|E|Lead 1779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001780|101780|989898|1|9999001780|MR|Test|E|Lead 1780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001781|101781|989898|1|9999001781|MR|Test|E|Lead 1781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001782|101782|989898|1|9999001782|MR|Test|E|Lead 1782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001783|101783|989898|1|9999001783|MR|Test|E|Lead 1783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001784|101784|989898|1|9999001784|MR|Test|E|Lead 1784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001785|101785|989898|1|9999001785|MR|Test|E|Lead 1785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001786|101786|989898|1|9999001786|MR|Test|E|Lead 1786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001787|101787|989898|1|9999001787|MR|Test|E|Lead 1787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001788|101788|989898|1|9999001788|MR|Test|E|Lead 1788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001789|101789|989898|1|9999001789|MR|Test|E|Lead 1789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001790|101790|989898|1|9999001790|MR|Test|E|Lead 1790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001791|101791|989898|1|9999001791|MR|Test|E|Lead 1791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001792|101792|989898|1|9999001792|MR|Test|E|Lead 1792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001793|101793|989898|1|9999001793|MR|Test|E|Lead 1793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001794|101794|989898|1|9999001794|MR|Test|E|Lead 1794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001795|101795|989898|1|9999001795|MR|Test|E|Lead 1795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001796|101796|989898|1|9999001796|MR|Test|E|Lead 1796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001797|101797|989898|1|9999001797|MR|Test|E|Lead 1797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001798|101798|989898|1|9999001798|MR|Test|E|Lead 1798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001799|101799|989898|1|9999001799|MR|Test|E|Lead 1799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001800|101800|989898|1|9999001800|MR|Test|E|Lead 1800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001801|101801|989898|1|9999001801|MR|Test|E|Lead 1801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001802|101802|989898|1|9999001802|MR|Test|E|Lead 1802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001803|101803|989898|1|9999001803|MR|Test|E|Lead 1803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001804|101804|989898|1|9999001804|MR|Test|E|Lead 1804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001805|101805|989898|1|9999001805|MR|Test|E|Lead 1805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001806|101806|989898|1|9999001806|MR|Test|E|Lead 1806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001807|101807|989898|1|9999001807|MR|Test|E|Lead 1807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001808|101808|989898|1|9999001808|MR|Test|E|Lead 1808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001809|101809|989898|1|9999001809|MR|Test|E|Lead 1809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001810|101810|989898|1|9999001810|MR|Test|E|Lead 1810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001811|101811|989898|1|9999001811|MR|Test|E|Lead 1811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001812|101812|989898|1|9999001812|MR|Test|E|Lead 1812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001813|101813|989898|1|9999001813|MR|Test|E|Lead 1813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001814|101814|989898|1|9999001814|MR|Test|E|Lead 1814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001815|101815|989898|1|9999001815|MR|Test|E|Lead 1815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001816|101816|989898|1|9999001816|MR|Test|E|Lead 1816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001817|101817|989898|1|9999001817|MR|Test|E|Lead 1817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001818|101818|989898|1|9999001818|MR|Test|E|Lead 1818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001819|101819|989898|1|9999001819|MR|Test|E|Lead 1819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001820|101820|989898|1|9999001820|MR|Test|E|Lead 1820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001821|101821|989898|1|9999001821|MR|Test|E|Lead 1821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001822|101822|989898|1|9999001822|MR|Test|E|Lead 1822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001823|101823|989898|1|9999001823|MR|Test|E|Lead 1823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001824|101824|989898|1|9999001824|MR|Test|E|Lead 1824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001825|101825|989898|1|9999001825|MR|Test|E|Lead 1825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001826|101826|989898|1|9999001826|MR|Test|E|Lead 1826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001827|101827|989898|1|9999001827|MR|Test|E|Lead 1827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001828|101828|989898|1|9999001828|MR|Test|E|Lead 1828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001829|101829|989898|1|9999001829|MR|Test|E|Lead 1829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001830|101830|989898|1|9999001830|MR|Test|E|Lead 1830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001831|101831|989898|1|9999001831|MR|Test|E|Lead 1831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001832|101832|989898|1|9999001832|MR|Test|E|Lead 1832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001833|101833|989898|1|9999001833|MR|Test|E|Lead 1833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001834|101834|989898|1|9999001834|MR|Test|E|Lead 1834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001835|101835|989898|1|9999001835|MR|Test|E|Lead 1835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001836|101836|989898|1|9999001836|MR|Test|E|Lead 1836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001837|101837|989898|1|9999001837|MR|Test|E|Lead 1837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001838|101838|989898|1|9999001838|MR|Test|E|Lead 1838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001839|101839|989898|1|9999001839|MR|Test|E|Lead 1839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001840|101840|989898|1|9999001840|MR|Test|E|Lead 1840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001841|101841|989898|1|9999001841|MR|Test|E|Lead 1841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001842|101842|989898|1|9999001842|MR|Test|E|Lead 1842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001843|101843|989898|1|9999001843|MR|Test|E|Lead 1843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001844|101844|989898|1|9999001844|MR|Test|E|Lead 1844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001845|101845|989898|1|9999001845|MR|Test|E|Lead 1845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001846|101846|989898|1|9999001846|MR|Test|E|Lead 1846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001847|101847|989898|1|9999001847|MR|Test|E|Lead 1847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001848|101848|989898|1|9999001848|MR|Test|E|Lead 1848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001849|101849|989898|1|9999001849|MR|Test|E|Lead 1849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001850|101850|989898|1|9999001850|MR|Test|E|Lead 1850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001851|101851|989898|1|9999001851|MR|Test|E|Lead 1851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001852|101852|989898|1|9999001852|MR|Test|E|Lead 1852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001853|101853|989898|1|9999001853|MR|Test|E|Lead 1853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001854|101854|989898|1|9999001854|MR|Test|E|Lead 1854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001855|101855|989898|1|9999001855|MR|Test|E|Lead 1855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001856|101856|989898|1|9999001856|MR|Test|E|Lead 1856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001857|101857|989898|1|9999001857|MR|Test|E|Lead 1857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001858|101858|989898|1|9999001858|MR|Test|E|Lead 1858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001859|101859|989898|1|9999001859|MR|Test|E|Lead 1859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001860|101860|989898|1|9999001860|MR|Test|E|Lead 1860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001861|101861|989898|1|9999001861|MR|Test|E|Lead 1861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001862|101862|989898|1|9999001862|MR|Test|E|Lead 1862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001863|101863|989898|1|9999001863|MR|Test|E|Lead 1863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001864|101864|989898|1|9999001864|MR|Test|E|Lead 1864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001865|101865|989898|1|9999001865|MR|Test|E|Lead 1865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001866|101866|989898|1|9999001866|MR|Test|E|Lead 1866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001867|101867|989898|1|9999001867|MR|Test|E|Lead 1867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001868|101868|989898|1|9999001868|MR|Test|E|Lead 1868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001869|101869|989898|1|9999001869|MR|Test|E|Lead 1869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001870|101870|989898|1|9999001870|MR|Test|E|Lead 1870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001871|101871|989898|1|9999001871|MR|Test|E|Lead 1871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001872|101872|989898|1|9999001872|MR|Test|E|Lead 1872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001873|101873|989898|1|9999001873|MR|Test|E|Lead 1873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001874|101874|989898|1|9999001874|MR|Test|E|Lead 1874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001875|101875|989898|1|9999001875|MR|Test|E|Lead 1875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001876|101876|989898|1|9999001876|MR|Test|E|Lead 1876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001877|101877|989898|1|9999001877|MR|Test|E|Lead 1877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001878|101878|989898|1|9999001878|MR|Test|E|Lead 1878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001879|101879|989898|1|9999001879|MR|Test|E|Lead 1879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001880|101880|989898|1|9999001880|MR|Test|E|Lead 1880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001881|101881|989898|1|9999001881|MR|Test|E|Lead 1881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001882|101882|989898|1|9999001882|MR|Test|E|Lead 1882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001883|101883|989898|1|9999001883|MR|Test|E|Lead 1883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001884|101884|989898|1|9999001884|MR|Test|E|Lead 1884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001885|101885|989898|1|9999001885|MR|Test|E|Lead 1885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001886|101886|989898|1|9999001886|MR|Test|E|Lead 1886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001887|101887|989898|1|9999001887|MR|Test|E|Lead 1887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001888|101888|989898|1|9999001888|MR|Test|E|Lead 1888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001889|101889|989898|1|9999001889|MR|Test|E|Lead 1889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001890|101890|989898|1|9999001890|MR|Test|E|Lead 1890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001891|101891|989898|1|9999001891|MR|Test|E|Lead 1891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001892|101892|989898|1|9999001892|MR|Test|E|Lead 1892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001893|101893|989898|1|9999001893|MR|Test|E|Lead 1893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001894|101894|989898|1|9999001894|MR|Test|E|Lead 1894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001895|101895|989898|1|9999001895|MR|Test|E|Lead 1895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001896|101896|989898|1|9999001896|MR|Test|E|Lead 1896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001897|101897|989898|1|9999001897|MR|Test|E|Lead 1897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001898|101898|989898|1|9999001898|MR|Test|E|Lead 1898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001899|101899|989898|1|9999001899|MR|Test|E|Lead 1899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001900|101900|989898|1|9999001900|MR|Test|E|Lead 1900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001901|101901|989898|1|9999001901|MR|Test|E|Lead 1901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001902|101902|989898|1|9999001902|MR|Test|E|Lead 1902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001903|101903|989898|1|9999001903|MR|Test|E|Lead 1903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001904|101904|989898|1|9999001904|MR|Test|E|Lead 1904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001905|101905|989898|1|9999001905|MR|Test|E|Lead 1905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001906|101906|989898|1|9999001906|MR|Test|E|Lead 1906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001907|101907|989898|1|9999001907|MR|Test|E|Lead 1907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001908|101908|989898|1|9999001908|MR|Test|E|Lead 1908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001909|101909|989898|1|9999001909|MR|Test|E|Lead 1909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001910|101910|989898|1|9999001910|MR|Test|E|Lead 1910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001911|101911|989898|1|9999001911|MR|Test|E|Lead 1911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001912|101912|989898|1|9999001912|MR|Test|E|Lead 1912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001913|101913|989898|1|9999001913|MR|Test|E|Lead 1913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001914|101914|989898|1|9999001914|MR|Test|E|Lead 1914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001915|101915|989898|1|9999001915|MR|Test|E|Lead 1915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001916|101916|989898|1|9999001916|MR|Test|E|Lead 1916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001917|101917|989898|1|9999001917|MR|Test|E|Lead 1917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001918|101918|989898|1|9999001918|MR|Test|E|Lead 1918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001919|101919|989898|1|9999001919|MR|Test|E|Lead 1919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001920|101920|989898|1|9999001920|MR|Test|E|Lead 1920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001921|101921|989898|1|9999001921|MR|Test|E|Lead 1921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001922|101922|989898|1|9999001922|MR|Test|E|Lead 1922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001923|101923|989898|1|9999001923|MR|Test|E|Lead 1923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001924|101924|989898|1|9999001924|MR|Test|E|Lead 1924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001925|101925|989898|1|9999001925|MR|Test|E|Lead 1925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001926|101926|989898|1|9999001926|MR|Test|E|Lead 1926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001927|101927|989898|1|9999001927|MR|Test|E|Lead 1927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001928|101928|989898|1|9999001928|MR|Test|E|Lead 1928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001929|101929|989898|1|9999001929|MR|Test|E|Lead 1929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001930|101930|989898|1|9999001930|MR|Test|E|Lead 1930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001931|101931|989898|1|9999001931|MR|Test|E|Lead 1931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001932|101932|989898|1|9999001932|MR|Test|E|Lead 1932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001933|101933|989898|1|9999001933|MR|Test|E|Lead 1933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001934|101934|989898|1|9999001934|MR|Test|E|Lead 1934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001935|101935|989898|1|9999001935|MR|Test|E|Lead 1935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001936|101936|989898|1|9999001936|MR|Test|E|Lead 1936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001937|101937|989898|1|9999001937|MR|Test|E|Lead 1937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001938|101938|989898|1|9999001938|MR|Test|E|Lead 1938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001939|101939|989898|1|9999001939|MR|Test|E|Lead 1939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001940|101940|989898|1|9999001940|MR|Test|E|Lead 1940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001941|101941|989898|1|9999001941|MR|Test|E|Lead 1941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001942|101942|989898|1|9999001942|MR|Test|E|Lead 1942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001943|101943|989898|1|9999001943|MR|Test|E|Lead 1943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001944|101944|989898|1|9999001944|MR|Test|E|Lead 1944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001945|101945|989898|1|9999001945|MR|Test|E|Lead 1945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001946|101946|989898|1|9999001946|MR|Test|E|Lead 1946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001947|101947|989898|1|9999001947|MR|Test|E|Lead 1947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001948|101948|989898|1|9999001948|MR|Test|E|Lead 1948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001949|101949|989898|1|9999001949|MR|Test|E|Lead 1949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001950|101950|989898|1|9999001950|MR|Test|E|Lead 1950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001951|101951|989898|1|9999001951|MR|Test|E|Lead 1951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001952|101952|989898|1|9999001952|MR|Test|E|Lead 1952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001953|101953|989898|1|9999001953|MR|Test|E|Lead 1953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001954|101954|989898|1|9999001954|MR|Test|E|Lead 1954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001955|101955|989898|1|9999001955|MR|Test|E|Lead 1955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001956|101956|989898|1|9999001956|MR|Test|E|Lead 1956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001957|101957|989898|1|9999001957|MR|Test|E|Lead 1957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001958|101958|989898|1|9999001958|MR|Test|E|Lead 1958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001959|101959|989898|1|9999001959|MR|Test|E|Lead 1959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001960|101960|989898|1|9999001960|MR|Test|E|Lead 1960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001961|101961|989898|1|9999001961|MR|Test|E|Lead 1961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001962|101962|989898|1|9999001962|MR|Test|E|Lead 1962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001963|101963|989898|1|9999001963|MR|Test|E|Lead 1963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001964|101964|989898|1|9999001964|MR|Test|E|Lead 1964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001965|101965|989898|1|9999001965|MR|Test|E|Lead 1965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001966|101966|989898|1|9999001966|MR|Test|E|Lead 1966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001967|101967|989898|1|9999001967|MR|Test|E|Lead 1967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001968|101968|989898|1|9999001968|MR|Test|E|Lead 1968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001969|101969|989898|1|9999001969|MR|Test|E|Lead 1969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001970|101970|989898|1|9999001970|MR|Test|E|Lead 1970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001971|101971|989898|1|9999001971|MR|Test|E|Lead 1971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001972|101972|989898|1|9999001972|MR|Test|E|Lead 1972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001973|101973|989898|1|9999001973|MR|Test|E|Lead 1973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001974|101974|989898|1|9999001974|MR|Test|E|Lead 1974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001975|101975|989898|1|9999001975|MR|Test|E|Lead 1975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001976|101976|989898|1|9999001976|MR|Test|E|Lead 1976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001977|101977|989898|1|9999001977|MR|Test|E|Lead 1977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001978|101978|989898|1|9999001978|MR|Test|E|Lead 1978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001979|101979|989898|1|9999001979|MR|Test|E|Lead 1979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001980|101980|989898|1|9999001980|MR|Test|E|Lead 1980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001981|101981|989898|1|9999001981|MR|Test|E|Lead 1981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001982|101982|989898|1|9999001982|MR|Test|E|Lead 1982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001983|101983|989898|1|9999001983|MR|Test|E|Lead 1983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001984|101984|989898|1|9999001984|MR|Test|E|Lead 1984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001985|101985|989898|1|9999001985|MR|Test|E|Lead 1985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001986|101986|989898|1|9999001986|MR|Test|E|Lead 1986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001987|101987|989898|1|9999001987|MR|Test|E|Lead 1987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001988|101988|989898|1|9999001988|MR|Test|E|Lead 1988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001989|101989|989898|1|9999001989|MR|Test|E|Lead 1989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001990|101990|989898|1|9999001990|MR|Test|E|Lead 1990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001991|101991|989898|1|9999001991|MR|Test|E|Lead 1991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001992|101992|989898|1|9999001992|MR|Test|E|Lead 1992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001993|101993|989898|1|9999001993|MR|Test|E|Lead 1993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001994|101994|989898|1|9999001994|MR|Test|E|Lead 1994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001995|101995|989898|1|9999001995|MR|Test|E|Lead 1995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001996|101996|989898|1|9999001996|MR|Test|E|Lead 1996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001997|101997|989898|1|9999001997|MR|Test|E|Lead 1997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001998|101998|989898|1|9999001998|MR|Test|E|Lead 1998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1001999|101999|989898|1|9999001999|MR|Test|E|Lead 1999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002000|102000|989898|1|9999002000|MR|Test|E|Lead 2000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002001|102001|989898|1|9999002001|MR|Test|E|Lead 2001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002002|102002|989898|1|9999002002|MR|Test|E|Lead 2002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002003|102003|989898|1|9999002003|MR|Test|E|Lead 2003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002004|102004|989898|1|9999002004|MR|Test|E|Lead 2004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002005|102005|989898|1|9999002005|MR|Test|E|Lead 2005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002006|102006|989898|1|9999002006|MR|Test|E|Lead 2006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002007|102007|989898|1|9999002007|MR|Test|E|Lead 2007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002008|102008|989898|1|9999002008|MR|Test|E|Lead 2008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002009|102009|989898|1|9999002009|MR|Test|E|Lead 2009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002010|102010|989898|1|9999002010|MR|Test|E|Lead 2010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002011|102011|989898|1|9999002011|MR|Test|E|Lead 2011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002012|102012|989898|1|9999002012|MR|Test|E|Lead 2012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002013|102013|989898|1|9999002013|MR|Test|E|Lead 2013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002014|102014|989898|1|9999002014|MR|Test|E|Lead 2014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002015|102015|989898|1|9999002015|MR|Test|E|Lead 2015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002016|102016|989898|1|9999002016|MR|Test|E|Lead 2016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002017|102017|989898|1|9999002017|MR|Test|E|Lead 2017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002018|102018|989898|1|9999002018|MR|Test|E|Lead 2018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002019|102019|989898|1|9999002019|MR|Test|E|Lead 2019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002020|102020|989898|1|9999002020|MR|Test|E|Lead 2020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002021|102021|989898|1|9999002021|MR|Test|E|Lead 2021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002022|102022|989898|1|9999002022|MR|Test|E|Lead 2022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002023|102023|989898|1|9999002023|MR|Test|E|Lead 2023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002024|102024|989898|1|9999002024|MR|Test|E|Lead 2024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002025|102025|989898|1|9999002025|MR|Test|E|Lead 2025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002026|102026|989898|1|9999002026|MR|Test|E|Lead 2026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002027|102027|989898|1|9999002027|MR|Test|E|Lead 2027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002028|102028|989898|1|9999002028|MR|Test|E|Lead 2028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002029|102029|989898|1|9999002029|MR|Test|E|Lead 2029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002030|102030|989898|1|9999002030|MR|Test|E|Lead 2030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002031|102031|989898|1|9999002031|MR|Test|E|Lead 2031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002032|102032|989898|1|9999002032|MR|Test|E|Lead 2032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002033|102033|989898|1|9999002033|MR|Test|E|Lead 2033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002034|102034|989898|1|9999002034|MR|Test|E|Lead 2034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002035|102035|989898|1|9999002035|MR|Test|E|Lead 2035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002036|102036|989898|1|9999002036|MR|Test|E|Lead 2036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002037|102037|989898|1|9999002037|MR|Test|E|Lead 2037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002038|102038|989898|1|9999002038|MR|Test|E|Lead 2038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002039|102039|989898|1|9999002039|MR|Test|E|Lead 2039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002040|102040|989898|1|9999002040|MR|Test|E|Lead 2040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002041|102041|989898|1|9999002041|MR|Test|E|Lead 2041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002042|102042|989898|1|9999002042|MR|Test|E|Lead 2042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002043|102043|989898|1|9999002043|MR|Test|E|Lead 2043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002044|102044|989898|1|9999002044|MR|Test|E|Lead 2044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002045|102045|989898|1|9999002045|MR|Test|E|Lead 2045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002046|102046|989898|1|9999002046|MR|Test|E|Lead 2046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002047|102047|989898|1|9999002047|MR|Test|E|Lead 2047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002048|102048|989898|1|9999002048|MR|Test|E|Lead 2048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002049|102049|989898|1|9999002049|MR|Test|E|Lead 2049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002050|102050|989898|1|9999002050|MR|Test|E|Lead 2050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002051|102051|989898|1|9999002051|MR|Test|E|Lead 2051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002052|102052|989898|1|9999002052|MR|Test|E|Lead 2052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002053|102053|989898|1|9999002053|MR|Test|E|Lead 2053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002054|102054|989898|1|9999002054|MR|Test|E|Lead 2054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002055|102055|989898|1|9999002055|MR|Test|E|Lead 2055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002056|102056|989898|1|9999002056|MR|Test|E|Lead 2056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002057|102057|989898|1|9999002057|MR|Test|E|Lead 2057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002058|102058|989898|1|9999002058|MR|Test|E|Lead 2058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002059|102059|989898|1|9999002059|MR|Test|E|Lead 2059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002060|102060|989898|1|9999002060|MR|Test|E|Lead 2060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002061|102061|989898|1|9999002061|MR|Test|E|Lead 2061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002062|102062|989898|1|9999002062|MR|Test|E|Lead 2062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002063|102063|989898|1|9999002063|MR|Test|E|Lead 2063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002064|102064|989898|1|9999002064|MR|Test|E|Lead 2064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002065|102065|989898|1|9999002065|MR|Test|E|Lead 2065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002066|102066|989898|1|9999002066|MR|Test|E|Lead 2066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002067|102067|989898|1|9999002067|MR|Test|E|Lead 2067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002068|102068|989898|1|9999002068|MR|Test|E|Lead 2068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002069|102069|989898|1|9999002069|MR|Test|E|Lead 2069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002070|102070|989898|1|9999002070|MR|Test|E|Lead 2070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002071|102071|989898|1|9999002071|MR|Test|E|Lead 2071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002072|102072|989898|1|9999002072|MR|Test|E|Lead 2072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002073|102073|989898|1|9999002073|MR|Test|E|Lead 2073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002074|102074|989898|1|9999002074|MR|Test|E|Lead 2074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002075|102075|989898|1|9999002075|MR|Test|E|Lead 2075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002076|102076|989898|1|9999002076|MR|Test|E|Lead 2076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002077|102077|989898|1|9999002077|MR|Test|E|Lead 2077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002078|102078|989898|1|9999002078|MR|Test|E|Lead 2078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002079|102079|989898|1|9999002079|MR|Test|E|Lead 2079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002080|102080|989898|1|9999002080|MR|Test|E|Lead 2080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002081|102081|989898|1|9999002081|MR|Test|E|Lead 2081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002082|102082|989898|1|9999002082|MR|Test|E|Lead 2082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002083|102083|989898|1|9999002083|MR|Test|E|Lead 2083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002084|102084|989898|1|9999002084|MR|Test|E|Lead 2084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002085|102085|989898|1|9999002085|MR|Test|E|Lead 2085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002086|102086|989898|1|9999002086|MR|Test|E|Lead 2086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002087|102087|989898|1|9999002087|MR|Test|E|Lead 2087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002088|102088|989898|1|9999002088|MR|Test|E|Lead 2088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002089|102089|989898|1|9999002089|MR|Test|E|Lead 2089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002090|102090|989898|1|9999002090|MR|Test|E|Lead 2090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002091|102091|989898|1|9999002091|MR|Test|E|Lead 2091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002092|102092|989898|1|9999002092|MR|Test|E|Lead 2092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002093|102093|989898|1|9999002093|MR|Test|E|Lead 2093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002094|102094|989898|1|9999002094|MR|Test|E|Lead 2094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002095|102095|989898|1|9999002095|MR|Test|E|Lead 2095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002096|102096|989898|1|9999002096|MR|Test|E|Lead 2096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002097|102097|989898|1|9999002097|MR|Test|E|Lead 2097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002098|102098|989898|1|9999002098|MR|Test|E|Lead 2098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002099|102099|989898|1|9999002099|MR|Test|E|Lead 2099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002100|102100|989898|1|9999002100|MR|Test|E|Lead 2100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002101|102101|989898|1|9999002101|MR|Test|E|Lead 2101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002102|102102|989898|1|9999002102|MR|Test|E|Lead 2102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002103|102103|989898|1|9999002103|MR|Test|E|Lead 2103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002104|102104|989898|1|9999002104|MR|Test|E|Lead 2104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002105|102105|989898|1|9999002105|MR|Test|E|Lead 2105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002106|102106|989898|1|9999002106|MR|Test|E|Lead 2106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002107|102107|989898|1|9999002107|MR|Test|E|Lead 2107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002108|102108|989898|1|9999002108|MR|Test|E|Lead 2108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002109|102109|989898|1|9999002109|MR|Test|E|Lead 2109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002110|102110|989898|1|9999002110|MR|Test|E|Lead 2110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002111|102111|989898|1|9999002111|MR|Test|E|Lead 2111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002112|102112|989898|1|9999002112|MR|Test|E|Lead 2112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002113|102113|989898|1|9999002113|MR|Test|E|Lead 2113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002114|102114|989898|1|9999002114|MR|Test|E|Lead 2114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002115|102115|989898|1|9999002115|MR|Test|E|Lead 2115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002116|102116|989898|1|9999002116|MR|Test|E|Lead 2116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002117|102117|989898|1|9999002117|MR|Test|E|Lead 2117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002118|102118|989898|1|9999002118|MR|Test|E|Lead 2118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002119|102119|989898|1|9999002119|MR|Test|E|Lead 2119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002120|102120|989898|1|9999002120|MR|Test|E|Lead 2120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002121|102121|989898|1|9999002121|MR|Test|E|Lead 2121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002122|102122|989898|1|9999002122|MR|Test|E|Lead 2122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002123|102123|989898|1|9999002123|MR|Test|E|Lead 2123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002124|102124|989898|1|9999002124|MR|Test|E|Lead 2124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002125|102125|989898|1|9999002125|MR|Test|E|Lead 2125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002126|102126|989898|1|9999002126|MR|Test|E|Lead 2126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002127|102127|989898|1|9999002127|MR|Test|E|Lead 2127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002128|102128|989898|1|9999002128|MR|Test|E|Lead 2128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002129|102129|989898|1|9999002129|MR|Test|E|Lead 2129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002130|102130|989898|1|9999002130|MR|Test|E|Lead 2130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002131|102131|989898|1|9999002131|MR|Test|E|Lead 2131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002132|102132|989898|1|9999002132|MR|Test|E|Lead 2132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002133|102133|989898|1|9999002133|MR|Test|E|Lead 2133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002134|102134|989898|1|9999002134|MR|Test|E|Lead 2134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002135|102135|989898|1|9999002135|MR|Test|E|Lead 2135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002136|102136|989898|1|9999002136|MR|Test|E|Lead 2136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002137|102137|989898|1|9999002137|MR|Test|E|Lead 2137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002138|102138|989898|1|9999002138|MR|Test|E|Lead 2138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002139|102139|989898|1|9999002139|MR|Test|E|Lead 2139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002140|102140|989898|1|9999002140|MR|Test|E|Lead 2140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002141|102141|989898|1|9999002141|MR|Test|E|Lead 2141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002142|102142|989898|1|9999002142|MR|Test|E|Lead 2142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002143|102143|989898|1|9999002143|MR|Test|E|Lead 2143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002144|102144|989898|1|9999002144|MR|Test|E|Lead 2144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002145|102145|989898|1|9999002145|MR|Test|E|Lead 2145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002146|102146|989898|1|9999002146|MR|Test|E|Lead 2146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002147|102147|989898|1|9999002147|MR|Test|E|Lead 2147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002148|102148|989898|1|9999002148|MR|Test|E|Lead 2148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002149|102149|989898|1|9999002149|MR|Test|E|Lead 2149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002150|102150|989898|1|9999002150|MR|Test|E|Lead 2150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002151|102151|989898|1|9999002151|MR|Test|E|Lead 2151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002152|102152|989898|1|9999002152|MR|Test|E|Lead 2152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002153|102153|989898|1|9999002153|MR|Test|E|Lead 2153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002154|102154|989898|1|9999002154|MR|Test|E|Lead 2154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002155|102155|989898|1|9999002155|MR|Test|E|Lead 2155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002156|102156|989898|1|9999002156|MR|Test|E|Lead 2156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002157|102157|989898|1|9999002157|MR|Test|E|Lead 2157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002158|102158|989898|1|9999002158|MR|Test|E|Lead 2158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002159|102159|989898|1|9999002159|MR|Test|E|Lead 2159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002160|102160|989898|1|9999002160|MR|Test|E|Lead 2160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002161|102161|989898|1|9999002161|MR|Test|E|Lead 2161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002162|102162|989898|1|9999002162|MR|Test|E|Lead 2162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002163|102163|989898|1|9999002163|MR|Test|E|Lead 2163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002164|102164|989898|1|9999002164|MR|Test|E|Lead 2164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002165|102165|989898|1|9999002165|MR|Test|E|Lead 2165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002166|102166|989898|1|9999002166|MR|Test|E|Lead 2166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002167|102167|989898|1|9999002167|MR|Test|E|Lead 2167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002168|102168|989898|1|9999002168|MR|Test|E|Lead 2168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002169|102169|989898|1|9999002169|MR|Test|E|Lead 2169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002170|102170|989898|1|9999002170|MR|Test|E|Lead 2170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002171|102171|989898|1|9999002171|MR|Test|E|Lead 2171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002172|102172|989898|1|9999002172|MR|Test|E|Lead 2172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002173|102173|989898|1|9999002173|MR|Test|E|Lead 2173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002174|102174|989898|1|9999002174|MR|Test|E|Lead 2174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002175|102175|989898|1|9999002175|MR|Test|E|Lead 2175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002176|102176|989898|1|9999002176|MR|Test|E|Lead 2176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002177|102177|989898|1|9999002177|MR|Test|E|Lead 2177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002178|102178|989898|1|9999002178|MR|Test|E|Lead 2178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002179|102179|989898|1|9999002179|MR|Test|E|Lead 2179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002180|102180|989898|1|9999002180|MR|Test|E|Lead 2180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002181|102181|989898|1|9999002181|MR|Test|E|Lead 2181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002182|102182|989898|1|9999002182|MR|Test|E|Lead 2182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002183|102183|989898|1|9999002183|MR|Test|E|Lead 2183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002184|102184|989898|1|9999002184|MR|Test|E|Lead 2184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002185|102185|989898|1|9999002185|MR|Test|E|Lead 2185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002186|102186|989898|1|9999002186|MR|Test|E|Lead 2186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002187|102187|989898|1|9999002187|MR|Test|E|Lead 2187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002188|102188|989898|1|9999002188|MR|Test|E|Lead 2188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002189|102189|989898|1|9999002189|MR|Test|E|Lead 2189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002190|102190|989898|1|9999002190|MR|Test|E|Lead 2190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002191|102191|989898|1|9999002191|MR|Test|E|Lead 2191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002192|102192|989898|1|9999002192|MR|Test|E|Lead 2192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002193|102193|989898|1|9999002193|MR|Test|E|Lead 2193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002194|102194|989898|1|9999002194|MR|Test|E|Lead 2194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002195|102195|989898|1|9999002195|MR|Test|E|Lead 2195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002196|102196|989898|1|9999002196|MR|Test|E|Lead 2196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002197|102197|989898|1|9999002197|MR|Test|E|Lead 2197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002198|102198|989898|1|9999002198|MR|Test|E|Lead 2198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002199|102199|989898|1|9999002199|MR|Test|E|Lead 2199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002200|102200|989898|1|9999002200|MR|Test|E|Lead 2200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002201|102201|989898|1|9999002201|MR|Test|E|Lead 2201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002202|102202|989898|1|9999002202|MR|Test|E|Lead 2202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002203|102203|989898|1|9999002203|MR|Test|E|Lead 2203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002204|102204|989898|1|9999002204|MR|Test|E|Lead 2204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002205|102205|989898|1|9999002205|MR|Test|E|Lead 2205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002206|102206|989898|1|9999002206|MR|Test|E|Lead 2206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002207|102207|989898|1|9999002207|MR|Test|E|Lead 2207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002208|102208|989898|1|9999002208|MR|Test|E|Lead 2208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002209|102209|989898|1|9999002209|MR|Test|E|Lead 2209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002210|102210|989898|1|9999002210|MR|Test|E|Lead 2210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002211|102211|989898|1|9999002211|MR|Test|E|Lead 2211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002212|102212|989898|1|9999002212|MR|Test|E|Lead 2212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002213|102213|989898|1|9999002213|MR|Test|E|Lead 2213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002214|102214|989898|1|9999002214|MR|Test|E|Lead 2214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002215|102215|989898|1|9999002215|MR|Test|E|Lead 2215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002216|102216|989898|1|9999002216|MR|Test|E|Lead 2216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002217|102217|989898|1|9999002217|MR|Test|E|Lead 2217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002218|102218|989898|1|9999002218|MR|Test|E|Lead 2218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002219|102219|989898|1|9999002219|MR|Test|E|Lead 2219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002220|102220|989898|1|9999002220|MR|Test|E|Lead 2220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002221|102221|989898|1|9999002221|MR|Test|E|Lead 2221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002222|102222|989898|1|9999002222|MR|Test|E|Lead 2222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002223|102223|989898|1|9999002223|MR|Test|E|Lead 2223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002224|102224|989898|1|9999002224|MR|Test|E|Lead 2224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002225|102225|989898|1|9999002225|MR|Test|E|Lead 2225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002226|102226|989898|1|9999002226|MR|Test|E|Lead 2226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002227|102227|989898|1|9999002227|MR|Test|E|Lead 2227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002228|102228|989898|1|9999002228|MR|Test|E|Lead 2228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002229|102229|989898|1|9999002229|MR|Test|E|Lead 2229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002230|102230|989898|1|9999002230|MR|Test|E|Lead 2230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002231|102231|989898|1|9999002231|MR|Test|E|Lead 2231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002232|102232|989898|1|9999002232|MR|Test|E|Lead 2232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002233|102233|989898|1|9999002233|MR|Test|E|Lead 2233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002234|102234|989898|1|9999002234|MR|Test|E|Lead 2234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002235|102235|989898|1|9999002235|MR|Test|E|Lead 2235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002236|102236|989898|1|9999002236|MR|Test|E|Lead 2236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002237|102237|989898|1|9999002237|MR|Test|E|Lead 2237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002238|102238|989898|1|9999002238|MR|Test|E|Lead 2238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002239|102239|989898|1|9999002239|MR|Test|E|Lead 2239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002240|102240|989898|1|9999002240|MR|Test|E|Lead 2240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002241|102241|989898|1|9999002241|MR|Test|E|Lead 2241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002242|102242|989898|1|9999002242|MR|Test|E|Lead 2242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002243|102243|989898|1|9999002243|MR|Test|E|Lead 2243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002244|102244|989898|1|9999002244|MR|Test|E|Lead 2244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002245|102245|989898|1|9999002245|MR|Test|E|Lead 2245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002246|102246|989898|1|9999002246|MR|Test|E|Lead 2246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002247|102247|989898|1|9999002247|MR|Test|E|Lead 2247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002248|102248|989898|1|9999002248|MR|Test|E|Lead 2248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002249|102249|989898|1|9999002249|MR|Test|E|Lead 2249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002250|102250|989898|1|9999002250|MR|Test|E|Lead 2250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002251|102251|989898|1|9999002251|MR|Test|E|Lead 2251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002252|102252|989898|1|9999002252|MR|Test|E|Lead 2252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002253|102253|989898|1|9999002253|MR|Test|E|Lead 2253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002254|102254|989898|1|9999002254|MR|Test|E|Lead 2254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002255|102255|989898|1|9999002255|MR|Test|E|Lead 2255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002256|102256|989898|1|9999002256|MR|Test|E|Lead 2256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002257|102257|989898|1|9999002257|MR|Test|E|Lead 2257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002258|102258|989898|1|9999002258|MR|Test|E|Lead 2258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002259|102259|989898|1|9999002259|MR|Test|E|Lead 2259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002260|102260|989898|1|9999002260|MR|Test|E|Lead 2260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002261|102261|989898|1|9999002261|MR|Test|E|Lead 2261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002262|102262|989898|1|9999002262|MR|Test|E|Lead 2262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002263|102263|989898|1|9999002263|MR|Test|E|Lead 2263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002264|102264|989898|1|9999002264|MR|Test|E|Lead 2264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002265|102265|989898|1|9999002265|MR|Test|E|Lead 2265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002266|102266|989898|1|9999002266|MR|Test|E|Lead 2266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002267|102267|989898|1|9999002267|MR|Test|E|Lead 2267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002268|102268|989898|1|9999002268|MR|Test|E|Lead 2268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002269|102269|989898|1|9999002269|MR|Test|E|Lead 2269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002270|102270|989898|1|9999002270|MR|Test|E|Lead 2270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002271|102271|989898|1|9999002271|MR|Test|E|Lead 2271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002272|102272|989898|1|9999002272|MR|Test|E|Lead 2272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002273|102273|989898|1|9999002273|MR|Test|E|Lead 2273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002274|102274|989898|1|9999002274|MR|Test|E|Lead 2274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002275|102275|989898|1|9999002275|MR|Test|E|Lead 2275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002276|102276|989898|1|9999002276|MR|Test|E|Lead 2276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002277|102277|989898|1|9999002277|MR|Test|E|Lead 2277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002278|102278|989898|1|9999002278|MR|Test|E|Lead 2278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002279|102279|989898|1|9999002279|MR|Test|E|Lead 2279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002280|102280|989898|1|9999002280|MR|Test|E|Lead 2280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002281|102281|989898|1|9999002281|MR|Test|E|Lead 2281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002282|102282|989898|1|9999002282|MR|Test|E|Lead 2282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002283|102283|989898|1|9999002283|MR|Test|E|Lead 2283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002284|102284|989898|1|9999002284|MR|Test|E|Lead 2284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002285|102285|989898|1|9999002285|MR|Test|E|Lead 2285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002286|102286|989898|1|9999002286|MR|Test|E|Lead 2286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002287|102287|989898|1|9999002287|MR|Test|E|Lead 2287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002288|102288|989898|1|9999002288|MR|Test|E|Lead 2288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002289|102289|989898|1|9999002289|MR|Test|E|Lead 2289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002290|102290|989898|1|9999002290|MR|Test|E|Lead 2290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002291|102291|989898|1|9999002291|MR|Test|E|Lead 2291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002292|102292|989898|1|9999002292|MR|Test|E|Lead 2292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002293|102293|989898|1|9999002293|MR|Test|E|Lead 2293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002294|102294|989898|1|9999002294|MR|Test|E|Lead 2294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002295|102295|989898|1|9999002295|MR|Test|E|Lead 2295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002296|102296|989898|1|9999002296|MR|Test|E|Lead 2296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002297|102297|989898|1|9999002297|MR|Test|E|Lead 2297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002298|102298|989898|1|9999002298|MR|Test|E|Lead 2298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002299|102299|989898|1|9999002299|MR|Test|E|Lead 2299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002300|102300|989898|1|9999002300|MR|Test|E|Lead 2300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002301|102301|989898|1|9999002301|MR|Test|E|Lead 2301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002302|102302|989898|1|9999002302|MR|Test|E|Lead 2302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002303|102303|989898|1|9999002303|MR|Test|E|Lead 2303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002304|102304|989898|1|9999002304|MR|Test|E|Lead 2304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002305|102305|989898|1|9999002305|MR|Test|E|Lead 2305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002306|102306|989898|1|9999002306|MR|Test|E|Lead 2306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002307|102307|989898|1|9999002307|MR|Test|E|Lead 2307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002308|102308|989898|1|9999002308|MR|Test|E|Lead 2308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002309|102309|989898|1|9999002309|MR|Test|E|Lead 2309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002310|102310|989898|1|9999002310|MR|Test|E|Lead 2310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002311|102311|989898|1|9999002311|MR|Test|E|Lead 2311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002312|102312|989898|1|9999002312|MR|Test|E|Lead 2312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002313|102313|989898|1|9999002313|MR|Test|E|Lead 2313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002314|102314|989898|1|9999002314|MR|Test|E|Lead 2314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002315|102315|989898|1|9999002315|MR|Test|E|Lead 2315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002316|102316|989898|1|9999002316|MR|Test|E|Lead 2316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002317|102317|989898|1|9999002317|MR|Test|E|Lead 2317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002318|102318|989898|1|9999002318|MR|Test|E|Lead 2318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002319|102319|989898|1|9999002319|MR|Test|E|Lead 2319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002320|102320|989898|1|9999002320|MR|Test|E|Lead 2320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002321|102321|989898|1|9999002321|MR|Test|E|Lead 2321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002322|102322|989898|1|9999002322|MR|Test|E|Lead 2322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002323|102323|989898|1|9999002323|MR|Test|E|Lead 2323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002324|102324|989898|1|9999002324|MR|Test|E|Lead 2324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002325|102325|989898|1|9999002325|MR|Test|E|Lead 2325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002326|102326|989898|1|9999002326|MR|Test|E|Lead 2326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002327|102327|989898|1|9999002327|MR|Test|E|Lead 2327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002328|102328|989898|1|9999002328|MR|Test|E|Lead 2328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002329|102329|989898|1|9999002329|MR|Test|E|Lead 2329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002330|102330|989898|1|9999002330|MR|Test|E|Lead 2330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002331|102331|989898|1|9999002331|MR|Test|E|Lead 2331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002332|102332|989898|1|9999002332|MR|Test|E|Lead 2332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002333|102333|989898|1|9999002333|MR|Test|E|Lead 2333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002334|102334|989898|1|9999002334|MR|Test|E|Lead 2334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002335|102335|989898|1|9999002335|MR|Test|E|Lead 2335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002336|102336|989898|1|9999002336|MR|Test|E|Lead 2336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002337|102337|989898|1|9999002337|MR|Test|E|Lead 2337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002338|102338|989898|1|9999002338|MR|Test|E|Lead 2338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002339|102339|989898|1|9999002339|MR|Test|E|Lead 2339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002340|102340|989898|1|9999002340|MR|Test|E|Lead 2340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002341|102341|989898|1|9999002341|MR|Test|E|Lead 2341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002342|102342|989898|1|9999002342|MR|Test|E|Lead 2342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002343|102343|989898|1|9999002343|MR|Test|E|Lead 2343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002344|102344|989898|1|9999002344|MR|Test|E|Lead 2344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002345|102345|989898|1|9999002345|MR|Test|E|Lead 2345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002346|102346|989898|1|9999002346|MR|Test|E|Lead 2346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002347|102347|989898|1|9999002347|MR|Test|E|Lead 2347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002348|102348|989898|1|9999002348|MR|Test|E|Lead 2348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002349|102349|989898|1|9999002349|MR|Test|E|Lead 2349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002350|102350|989898|1|9999002350|MR|Test|E|Lead 2350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002351|102351|989898|1|9999002351|MR|Test|E|Lead 2351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002352|102352|989898|1|9999002352|MR|Test|E|Lead 2352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002353|102353|989898|1|9999002353|MR|Test|E|Lead 2353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002354|102354|989898|1|9999002354|MR|Test|E|Lead 2354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002355|102355|989898|1|9999002355|MR|Test|E|Lead 2355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002356|102356|989898|1|9999002356|MR|Test|E|Lead 2356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002357|102357|989898|1|9999002357|MR|Test|E|Lead 2357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002358|102358|989898|1|9999002358|MR|Test|E|Lead 2358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002359|102359|989898|1|9999002359|MR|Test|E|Lead 2359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002360|102360|989898|1|9999002360|MR|Test|E|Lead 2360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002361|102361|989898|1|9999002361|MR|Test|E|Lead 2361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002362|102362|989898|1|9999002362|MR|Test|E|Lead 2362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002363|102363|989898|1|9999002363|MR|Test|E|Lead 2363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002364|102364|989898|1|9999002364|MR|Test|E|Lead 2364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002365|102365|989898|1|9999002365|MR|Test|E|Lead 2365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002366|102366|989898|1|9999002366|MR|Test|E|Lead 2366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002367|102367|989898|1|9999002367|MR|Test|E|Lead 2367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002368|102368|989898|1|9999002368|MR|Test|E|Lead 2368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002369|102369|989898|1|9999002369|MR|Test|E|Lead 2369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002370|102370|989898|1|9999002370|MR|Test|E|Lead 2370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002371|102371|989898|1|9999002371|MR|Test|E|Lead 2371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002372|102372|989898|1|9999002372|MR|Test|E|Lead 2372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002373|102373|989898|1|9999002373|MR|Test|E|Lead 2373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002374|102374|989898|1|9999002374|MR|Test|E|Lead 2374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002375|102375|989898|1|9999002375|MR|Test|E|Lead 2375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002376|102376|989898|1|9999002376|MR|Test|E|Lead 2376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002377|102377|989898|1|9999002377|MR|Test|E|Lead 2377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002378|102378|989898|1|9999002378|MR|Test|E|Lead 2378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002379|102379|989898|1|9999002379|MR|Test|E|Lead 2379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002380|102380|989898|1|9999002380|MR|Test|E|Lead 2380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002381|102381|989898|1|9999002381|MR|Test|E|Lead 2381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002382|102382|989898|1|9999002382|MR|Test|E|Lead 2382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002383|102383|989898|1|9999002383|MR|Test|E|Lead 2383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002384|102384|989898|1|9999002384|MR|Test|E|Lead 2384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002385|102385|989898|1|9999002385|MR|Test|E|Lead 2385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002386|102386|989898|1|9999002386|MR|Test|E|Lead 2386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002387|102387|989898|1|9999002387|MR|Test|E|Lead 2387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002388|102388|989898|1|9999002388|MR|Test|E|Lead 2388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002389|102389|989898|1|9999002389|MR|Test|E|Lead 2389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002390|102390|989898|1|9999002390|MR|Test|E|Lead 2390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002391|102391|989898|1|9999002391|MR|Test|E|Lead 2391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002392|102392|989898|1|9999002392|MR|Test|E|Lead 2392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002393|102393|989898|1|9999002393|MR|Test|E|Lead 2393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002394|102394|989898|1|9999002394|MR|Test|E|Lead 2394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002395|102395|989898|1|9999002395|MR|Test|E|Lead 2395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002396|102396|989898|1|9999002396|MR|Test|E|Lead 2396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002397|102397|989898|1|9999002397|MR|Test|E|Lead 2397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002398|102398|989898|1|9999002398|MR|Test|E|Lead 2398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002399|102399|989898|1|9999002399|MR|Test|E|Lead 2399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002400|102400|989898|1|9999002400|MR|Test|E|Lead 2400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002401|102401|989898|1|9999002401|MR|Test|E|Lead 2401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002402|102402|989898|1|9999002402|MR|Test|E|Lead 2402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002403|102403|989898|1|9999002403|MR|Test|E|Lead 2403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002404|102404|989898|1|9999002404|MR|Test|E|Lead 2404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002405|102405|989898|1|9999002405|MR|Test|E|Lead 2405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002406|102406|989898|1|9999002406|MR|Test|E|Lead 2406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002407|102407|989898|1|9999002407|MR|Test|E|Lead 2407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002408|102408|989898|1|9999002408|MR|Test|E|Lead 2408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002409|102409|989898|1|9999002409|MR|Test|E|Lead 2409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002410|102410|989898|1|9999002410|MR|Test|E|Lead 2410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002411|102411|989898|1|9999002411|MR|Test|E|Lead 2411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002412|102412|989898|1|9999002412|MR|Test|E|Lead 2412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002413|102413|989898|1|9999002413|MR|Test|E|Lead 2413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002414|102414|989898|1|9999002414|MR|Test|E|Lead 2414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002415|102415|989898|1|9999002415|MR|Test|E|Lead 2415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002416|102416|989898|1|9999002416|MR|Test|E|Lead 2416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002417|102417|989898|1|9999002417|MR|Test|E|Lead 2417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002418|102418|989898|1|9999002418|MR|Test|E|Lead 2418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002419|102419|989898|1|9999002419|MR|Test|E|Lead 2419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002420|102420|989898|1|9999002420|MR|Test|E|Lead 2420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002421|102421|989898|1|9999002421|MR|Test|E|Lead 2421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002422|102422|989898|1|9999002422|MR|Test|E|Lead 2422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002423|102423|989898|1|9999002423|MR|Test|E|Lead 2423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002424|102424|989898|1|9999002424|MR|Test|E|Lead 2424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002425|102425|989898|1|9999002425|MR|Test|E|Lead 2425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002426|102426|989898|1|9999002426|MR|Test|E|Lead 2426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002427|102427|989898|1|9999002427|MR|Test|E|Lead 2427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002428|102428|989898|1|9999002428|MR|Test|E|Lead 2428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002429|102429|989898|1|9999002429|MR|Test|E|Lead 2429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002430|102430|989898|1|9999002430|MR|Test|E|Lead 2430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002431|102431|989898|1|9999002431|MR|Test|E|Lead 2431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002432|102432|989898|1|9999002432|MR|Test|E|Lead 2432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002433|102433|989898|1|9999002433|MR|Test|E|Lead 2433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002434|102434|989898|1|9999002434|MR|Test|E|Lead 2434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002435|102435|989898|1|9999002435|MR|Test|E|Lead 2435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002436|102436|989898|1|9999002436|MR|Test|E|Lead 2436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002437|102437|989898|1|9999002437|MR|Test|E|Lead 2437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002438|102438|989898|1|9999002438|MR|Test|E|Lead 2438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002439|102439|989898|1|9999002439|MR|Test|E|Lead 2439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002440|102440|989898|1|9999002440|MR|Test|E|Lead 2440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002441|102441|989898|1|9999002441|MR|Test|E|Lead 2441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002442|102442|989898|1|9999002442|MR|Test|E|Lead 2442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002443|102443|989898|1|9999002443|MR|Test|E|Lead 2443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002444|102444|989898|1|9999002444|MR|Test|E|Lead 2444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002445|102445|989898|1|9999002445|MR|Test|E|Lead 2445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002446|102446|989898|1|9999002446|MR|Test|E|Lead 2446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002447|102447|989898|1|9999002447|MR|Test|E|Lead 2447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002448|102448|989898|1|9999002448|MR|Test|E|Lead 2448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002449|102449|989898|1|9999002449|MR|Test|E|Lead 2449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002450|102450|989898|1|9999002450|MR|Test|E|Lead 2450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002451|102451|989898|1|9999002451|MR|Test|E|Lead 2451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002452|102452|989898|1|9999002452|MR|Test|E|Lead 2452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002453|102453|989898|1|9999002453|MR|Test|E|Lead 2453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002454|102454|989898|1|9999002454|MR|Test|E|Lead 2454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002455|102455|989898|1|9999002455|MR|Test|E|Lead 2455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002456|102456|989898|1|9999002456|MR|Test|E|Lead 2456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002457|102457|989898|1|9999002457|MR|Test|E|Lead 2457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002458|102458|989898|1|9999002458|MR|Test|E|Lead 2458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002459|102459|989898|1|9999002459|MR|Test|E|Lead 2459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002460|102460|989898|1|9999002460|MR|Test|E|Lead 2460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002461|102461|989898|1|9999002461|MR|Test|E|Lead 2461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002462|102462|989898|1|9999002462|MR|Test|E|Lead 2462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002463|102463|989898|1|9999002463|MR|Test|E|Lead 2463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002464|102464|989898|1|9999002464|MR|Test|E|Lead 2464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002465|102465|989898|1|9999002465|MR|Test|E|Lead 2465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002466|102466|989898|1|9999002466|MR|Test|E|Lead 2466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002467|102467|989898|1|9999002467|MR|Test|E|Lead 2467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002468|102468|989898|1|9999002468|MR|Test|E|Lead 2468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002469|102469|989898|1|9999002469|MR|Test|E|Lead 2469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002470|102470|989898|1|9999002470|MR|Test|E|Lead 2470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002471|102471|989898|1|9999002471|MR|Test|E|Lead 2471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002472|102472|989898|1|9999002472|MR|Test|E|Lead 2472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002473|102473|989898|1|9999002473|MR|Test|E|Lead 2473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002474|102474|989898|1|9999002474|MR|Test|E|Lead 2474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002475|102475|989898|1|9999002475|MR|Test|E|Lead 2475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002476|102476|989898|1|9999002476|MR|Test|E|Lead 2476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002477|102477|989898|1|9999002477|MR|Test|E|Lead 2477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002478|102478|989898|1|9999002478|MR|Test|E|Lead 2478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002479|102479|989898|1|9999002479|MR|Test|E|Lead 2479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002480|102480|989898|1|9999002480|MR|Test|E|Lead 2480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002481|102481|989898|1|9999002481|MR|Test|E|Lead 2481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002482|102482|989898|1|9999002482|MR|Test|E|Lead 2482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002483|102483|989898|1|9999002483|MR|Test|E|Lead 2483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002484|102484|989898|1|9999002484|MR|Test|E|Lead 2484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002485|102485|989898|1|9999002485|MR|Test|E|Lead 2485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002486|102486|989898|1|9999002486|MR|Test|E|Lead 2486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002487|102487|989898|1|9999002487|MR|Test|E|Lead 2487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002488|102488|989898|1|9999002488|MR|Test|E|Lead 2488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002489|102489|989898|1|9999002489|MR|Test|E|Lead 2489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002490|102490|989898|1|9999002490|MR|Test|E|Lead 2490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002491|102491|989898|1|9999002491|MR|Test|E|Lead 2491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002492|102492|989898|1|9999002492|MR|Test|E|Lead 2492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002493|102493|989898|1|9999002493|MR|Test|E|Lead 2493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002494|102494|989898|1|9999002494|MR|Test|E|Lead 2494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002495|102495|989898|1|9999002495|MR|Test|E|Lead 2495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002496|102496|989898|1|9999002496|MR|Test|E|Lead 2496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002497|102497|989898|1|9999002497|MR|Test|E|Lead 2497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002498|102498|989898|1|9999002498|MR|Test|E|Lead 2498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002499|102499|989898|1|9999002499|MR|Test|E|Lead 2499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002500|102500|989898|1|9999002500|MR|Test|E|Lead 2500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002501|102501|989898|1|9999002501|MR|Test|E|Lead 2501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002502|102502|989898|1|9999002502|MR|Test|E|Lead 2502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002503|102503|989898|1|9999002503|MR|Test|E|Lead 2503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002504|102504|989898|1|9999002504|MR|Test|E|Lead 2504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002505|102505|989898|1|9999002505|MR|Test|E|Lead 2505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002506|102506|989898|1|9999002506|MR|Test|E|Lead 2506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002507|102507|989898|1|9999002507|MR|Test|E|Lead 2507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002508|102508|989898|1|9999002508|MR|Test|E|Lead 2508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002509|102509|989898|1|9999002509|MR|Test|E|Lead 2509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002510|102510|989898|1|9999002510|MR|Test|E|Lead 2510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002511|102511|989898|1|9999002511|MR|Test|E|Lead 2511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002512|102512|989898|1|9999002512|MR|Test|E|Lead 2512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002513|102513|989898|1|9999002513|MR|Test|E|Lead 2513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002514|102514|989898|1|9999002514|MR|Test|E|Lead 2514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002515|102515|989898|1|9999002515|MR|Test|E|Lead 2515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002516|102516|989898|1|9999002516|MR|Test|E|Lead 2516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002517|102517|989898|1|9999002517|MR|Test|E|Lead 2517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002518|102518|989898|1|9999002518|MR|Test|E|Lead 2518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002519|102519|989898|1|9999002519|MR|Test|E|Lead 2519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002520|102520|989898|1|9999002520|MR|Test|E|Lead 2520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002521|102521|989898|1|9999002521|MR|Test|E|Lead 2521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002522|102522|989898|1|9999002522|MR|Test|E|Lead 2522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002523|102523|989898|1|9999002523|MR|Test|E|Lead 2523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002524|102524|989898|1|9999002524|MR|Test|E|Lead 2524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002525|102525|989898|1|9999002525|MR|Test|E|Lead 2525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002526|102526|989898|1|9999002526|MR|Test|E|Lead 2526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002527|102527|989898|1|9999002527|MR|Test|E|Lead 2527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002528|102528|989898|1|9999002528|MR|Test|E|Lead 2528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002529|102529|989898|1|9999002529|MR|Test|E|Lead 2529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002530|102530|989898|1|9999002530|MR|Test|E|Lead 2530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002531|102531|989898|1|9999002531|MR|Test|E|Lead 2531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002532|102532|989898|1|9999002532|MR|Test|E|Lead 2532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002533|102533|989898|1|9999002533|MR|Test|E|Lead 2533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002534|102534|989898|1|9999002534|MR|Test|E|Lead 2534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002535|102535|989898|1|9999002535|MR|Test|E|Lead 2535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002536|102536|989898|1|9999002536|MR|Test|E|Lead 2536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002537|102537|989898|1|9999002537|MR|Test|E|Lead 2537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002538|102538|989898|1|9999002538|MR|Test|E|Lead 2538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002539|102539|989898|1|9999002539|MR|Test|E|Lead 2539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002540|102540|989898|1|9999002540|MR|Test|E|Lead 2540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002541|102541|989898|1|9999002541|MR|Test|E|Lead 2541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002542|102542|989898|1|9999002542|MR|Test|E|Lead 2542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002543|102543|989898|1|9999002543|MR|Test|E|Lead 2543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002544|102544|989898|1|9999002544|MR|Test|E|Lead 2544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002545|102545|989898|1|9999002545|MR|Test|E|Lead 2545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002546|102546|989898|1|9999002546|MR|Test|E|Lead 2546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002547|102547|989898|1|9999002547|MR|Test|E|Lead 2547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002548|102548|989898|1|9999002548|MR|Test|E|Lead 2548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002549|102549|989898|1|9999002549|MR|Test|E|Lead 2549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002550|102550|989898|1|9999002550|MR|Test|E|Lead 2550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002551|102551|989898|1|9999002551|MR|Test|E|Lead 2551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002552|102552|989898|1|9999002552|MR|Test|E|Lead 2552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002553|102553|989898|1|9999002553|MR|Test|E|Lead 2553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002554|102554|989898|1|9999002554|MR|Test|E|Lead 2554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002555|102555|989898|1|9999002555|MR|Test|E|Lead 2555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002556|102556|989898|1|9999002556|MR|Test|E|Lead 2556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002557|102557|989898|1|9999002557|MR|Test|E|Lead 2557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002558|102558|989898|1|9999002558|MR|Test|E|Lead 2558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002559|102559|989898|1|9999002559|MR|Test|E|Lead 2559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002560|102560|989898|1|9999002560|MR|Test|E|Lead 2560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002561|102561|989898|1|9999002561|MR|Test|E|Lead 2561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002562|102562|989898|1|9999002562|MR|Test|E|Lead 2562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002563|102563|989898|1|9999002563|MR|Test|E|Lead 2563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002564|102564|989898|1|9999002564|MR|Test|E|Lead 2564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002565|102565|989898|1|9999002565|MR|Test|E|Lead 2565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002566|102566|989898|1|9999002566|MR|Test|E|Lead 2566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002567|102567|989898|1|9999002567|MR|Test|E|Lead 2567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002568|102568|989898|1|9999002568|MR|Test|E|Lead 2568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002569|102569|989898|1|9999002569|MR|Test|E|Lead 2569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002570|102570|989898|1|9999002570|MR|Test|E|Lead 2570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002571|102571|989898|1|9999002571|MR|Test|E|Lead 2571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002572|102572|989898|1|9999002572|MR|Test|E|Lead 2572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002573|102573|989898|1|9999002573|MR|Test|E|Lead 2573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002574|102574|989898|1|9999002574|MR|Test|E|Lead 2574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002575|102575|989898|1|9999002575|MR|Test|E|Lead 2575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002576|102576|989898|1|9999002576|MR|Test|E|Lead 2576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002577|102577|989898|1|9999002577|MR|Test|E|Lead 2577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002578|102578|989898|1|9999002578|MR|Test|E|Lead 2578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002579|102579|989898|1|9999002579|MR|Test|E|Lead 2579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002580|102580|989898|1|9999002580|MR|Test|E|Lead 2580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002581|102581|989898|1|9999002581|MR|Test|E|Lead 2581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002582|102582|989898|1|9999002582|MR|Test|E|Lead 2582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002583|102583|989898|1|9999002583|MR|Test|E|Lead 2583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002584|102584|989898|1|9999002584|MR|Test|E|Lead 2584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002585|102585|989898|1|9999002585|MR|Test|E|Lead 2585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002586|102586|989898|1|9999002586|MR|Test|E|Lead 2586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002587|102587|989898|1|9999002587|MR|Test|E|Lead 2587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002588|102588|989898|1|9999002588|MR|Test|E|Lead 2588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002589|102589|989898|1|9999002589|MR|Test|E|Lead 2589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002590|102590|989898|1|9999002590|MR|Test|E|Lead 2590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002591|102591|989898|1|9999002591|MR|Test|E|Lead 2591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002592|102592|989898|1|9999002592|MR|Test|E|Lead 2592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002593|102593|989898|1|9999002593|MR|Test|E|Lead 2593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002594|102594|989898|1|9999002594|MR|Test|E|Lead 2594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002595|102595|989898|1|9999002595|MR|Test|E|Lead 2595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002596|102596|989898|1|9999002596|MR|Test|E|Lead 2596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002597|102597|989898|1|9999002597|MR|Test|E|Lead 2597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002598|102598|989898|1|9999002598|MR|Test|E|Lead 2598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002599|102599|989898|1|9999002599|MR|Test|E|Lead 2599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002600|102600|989898|1|9999002600|MR|Test|E|Lead 2600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002601|102601|989898|1|9999002601|MR|Test|E|Lead 2601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002602|102602|989898|1|9999002602|MR|Test|E|Lead 2602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002603|102603|989898|1|9999002603|MR|Test|E|Lead 2603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002604|102604|989898|1|9999002604|MR|Test|E|Lead 2604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002605|102605|989898|1|9999002605|MR|Test|E|Lead 2605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002606|102606|989898|1|9999002606|MR|Test|E|Lead 2606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002607|102607|989898|1|9999002607|MR|Test|E|Lead 2607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002608|102608|989898|1|9999002608|MR|Test|E|Lead 2608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002609|102609|989898|1|9999002609|MR|Test|E|Lead 2609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002610|102610|989898|1|9999002610|MR|Test|E|Lead 2610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002611|102611|989898|1|9999002611|MR|Test|E|Lead 2611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002612|102612|989898|1|9999002612|MR|Test|E|Lead 2612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002613|102613|989898|1|9999002613|MR|Test|E|Lead 2613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002614|102614|989898|1|9999002614|MR|Test|E|Lead 2614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002615|102615|989898|1|9999002615|MR|Test|E|Lead 2615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002616|102616|989898|1|9999002616|MR|Test|E|Lead 2616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002617|102617|989898|1|9999002617|MR|Test|E|Lead 2617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002618|102618|989898|1|9999002618|MR|Test|E|Lead 2618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002619|102619|989898|1|9999002619|MR|Test|E|Lead 2619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002620|102620|989898|1|9999002620|MR|Test|E|Lead 2620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002621|102621|989898|1|9999002621|MR|Test|E|Lead 2621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002622|102622|989898|1|9999002622|MR|Test|E|Lead 2622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002623|102623|989898|1|9999002623|MR|Test|E|Lead 2623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002624|102624|989898|1|9999002624|MR|Test|E|Lead 2624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002625|102625|989898|1|9999002625|MR|Test|E|Lead 2625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002626|102626|989898|1|9999002626|MR|Test|E|Lead 2626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002627|102627|989898|1|9999002627|MR|Test|E|Lead 2627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002628|102628|989898|1|9999002628|MR|Test|E|Lead 2628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002629|102629|989898|1|9999002629|MR|Test|E|Lead 2629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002630|102630|989898|1|9999002630|MR|Test|E|Lead 2630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002631|102631|989898|1|9999002631|MR|Test|E|Lead 2631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002632|102632|989898|1|9999002632|MR|Test|E|Lead 2632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002633|102633|989898|1|9999002633|MR|Test|E|Lead 2633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002634|102634|989898|1|9999002634|MR|Test|E|Lead 2634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002635|102635|989898|1|9999002635|MR|Test|E|Lead 2635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002636|102636|989898|1|9999002636|MR|Test|E|Lead 2636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002637|102637|989898|1|9999002637|MR|Test|E|Lead 2637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002638|102638|989898|1|9999002638|MR|Test|E|Lead 2638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002639|102639|989898|1|9999002639|MR|Test|E|Lead 2639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002640|102640|989898|1|9999002640|MR|Test|E|Lead 2640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002641|102641|989898|1|9999002641|MR|Test|E|Lead 2641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002642|102642|989898|1|9999002642|MR|Test|E|Lead 2642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002643|102643|989898|1|9999002643|MR|Test|E|Lead 2643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002644|102644|989898|1|9999002644|MR|Test|E|Lead 2644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002645|102645|989898|1|9999002645|MR|Test|E|Lead 2645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002646|102646|989898|1|9999002646|MR|Test|E|Lead 2646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002647|102647|989898|1|9999002647|MR|Test|E|Lead 2647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002648|102648|989898|1|9999002648|MR|Test|E|Lead 2648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002649|102649|989898|1|9999002649|MR|Test|E|Lead 2649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002650|102650|989898|1|9999002650|MR|Test|E|Lead 2650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002651|102651|989898|1|9999002651|MR|Test|E|Lead 2651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002652|102652|989898|1|9999002652|MR|Test|E|Lead 2652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002653|102653|989898|1|9999002653|MR|Test|E|Lead 2653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002654|102654|989898|1|9999002654|MR|Test|E|Lead 2654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002655|102655|989898|1|9999002655|MR|Test|E|Lead 2655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002656|102656|989898|1|9999002656|MR|Test|E|Lead 2656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002657|102657|989898|1|9999002657|MR|Test|E|Lead 2657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002658|102658|989898|1|9999002658|MR|Test|E|Lead 2658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002659|102659|989898|1|9999002659|MR|Test|E|Lead 2659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002660|102660|989898|1|9999002660|MR|Test|E|Lead 2660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002661|102661|989898|1|9999002661|MR|Test|E|Lead 2661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002662|102662|989898|1|9999002662|MR|Test|E|Lead 2662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002663|102663|989898|1|9999002663|MR|Test|E|Lead 2663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002664|102664|989898|1|9999002664|MR|Test|E|Lead 2664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002665|102665|989898|1|9999002665|MR|Test|E|Lead 2665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002666|102666|989898|1|9999002666|MR|Test|E|Lead 2666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002667|102667|989898|1|9999002667|MR|Test|E|Lead 2667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002668|102668|989898|1|9999002668|MR|Test|E|Lead 2668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002669|102669|989898|1|9999002669|MR|Test|E|Lead 2669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002670|102670|989898|1|9999002670|MR|Test|E|Lead 2670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002671|102671|989898|1|9999002671|MR|Test|E|Lead 2671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002672|102672|989898|1|9999002672|MR|Test|E|Lead 2672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002673|102673|989898|1|9999002673|MR|Test|E|Lead 2673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002674|102674|989898|1|9999002674|MR|Test|E|Lead 2674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002675|102675|989898|1|9999002675|MR|Test|E|Lead 2675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002676|102676|989898|1|9999002676|MR|Test|E|Lead 2676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002677|102677|989898|1|9999002677|MR|Test|E|Lead 2677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002678|102678|989898|1|9999002678|MR|Test|E|Lead 2678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002679|102679|989898|1|9999002679|MR|Test|E|Lead 2679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002680|102680|989898|1|9999002680|MR|Test|E|Lead 2680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002681|102681|989898|1|9999002681|MR|Test|E|Lead 2681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002682|102682|989898|1|9999002682|MR|Test|E|Lead 2682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002683|102683|989898|1|9999002683|MR|Test|E|Lead 2683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002684|102684|989898|1|9999002684|MR|Test|E|Lead 2684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002685|102685|989898|1|9999002685|MR|Test|E|Lead 2685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002686|102686|989898|1|9999002686|MR|Test|E|Lead 2686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002687|102687|989898|1|9999002687|MR|Test|E|Lead 2687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002688|102688|989898|1|9999002688|MR|Test|E|Lead 2688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002689|102689|989898|1|9999002689|MR|Test|E|Lead 2689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002690|102690|989898|1|9999002690|MR|Test|E|Lead 2690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002691|102691|989898|1|9999002691|MR|Test|E|Lead 2691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002692|102692|989898|1|9999002692|MR|Test|E|Lead 2692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002693|102693|989898|1|9999002693|MR|Test|E|Lead 2693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002694|102694|989898|1|9999002694|MR|Test|E|Lead 2694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002695|102695|989898|1|9999002695|MR|Test|E|Lead 2695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002696|102696|989898|1|9999002696|MR|Test|E|Lead 2696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002697|102697|989898|1|9999002697|MR|Test|E|Lead 2697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002698|102698|989898|1|9999002698|MR|Test|E|Lead 2698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002699|102699|989898|1|9999002699|MR|Test|E|Lead 2699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002700|102700|989898|1|9999002700|MR|Test|E|Lead 2700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002701|102701|989898|1|9999002701|MR|Test|E|Lead 2701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002702|102702|989898|1|9999002702|MR|Test|E|Lead 2702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002703|102703|989898|1|9999002703|MR|Test|E|Lead 2703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002704|102704|989898|1|9999002704|MR|Test|E|Lead 2704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002705|102705|989898|1|9999002705|MR|Test|E|Lead 2705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002706|102706|989898|1|9999002706|MR|Test|E|Lead 2706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002707|102707|989898|1|9999002707|MR|Test|E|Lead 2707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002708|102708|989898|1|9999002708|MR|Test|E|Lead 2708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002709|102709|989898|1|9999002709|MR|Test|E|Lead 2709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002710|102710|989898|1|9999002710|MR|Test|E|Lead 2710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002711|102711|989898|1|9999002711|MR|Test|E|Lead 2711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002712|102712|989898|1|9999002712|MR|Test|E|Lead 2712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002713|102713|989898|1|9999002713|MR|Test|E|Lead 2713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002714|102714|989898|1|9999002714|MR|Test|E|Lead 2714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002715|102715|989898|1|9999002715|MR|Test|E|Lead 2715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002716|102716|989898|1|9999002716|MR|Test|E|Lead 2716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002717|102717|989898|1|9999002717|MR|Test|E|Lead 2717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002718|102718|989898|1|9999002718|MR|Test|E|Lead 2718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002719|102719|989898|1|9999002719|MR|Test|E|Lead 2719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002720|102720|989898|1|9999002720|MR|Test|E|Lead 2720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002721|102721|989898|1|9999002721|MR|Test|E|Lead 2721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002722|102722|989898|1|9999002722|MR|Test|E|Lead 2722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002723|102723|989898|1|9999002723|MR|Test|E|Lead 2723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002724|102724|989898|1|9999002724|MR|Test|E|Lead 2724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002725|102725|989898|1|9999002725|MR|Test|E|Lead 2725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002726|102726|989898|1|9999002726|MR|Test|E|Lead 2726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002727|102727|989898|1|9999002727|MR|Test|E|Lead 2727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002728|102728|989898|1|9999002728|MR|Test|E|Lead 2728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002729|102729|989898|1|9999002729|MR|Test|E|Lead 2729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002730|102730|989898|1|9999002730|MR|Test|E|Lead 2730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002731|102731|989898|1|9999002731|MR|Test|E|Lead 2731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002732|102732|989898|1|9999002732|MR|Test|E|Lead 2732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002733|102733|989898|1|9999002733|MR|Test|E|Lead 2733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002734|102734|989898|1|9999002734|MR|Test|E|Lead 2734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002735|102735|989898|1|9999002735|MR|Test|E|Lead 2735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002736|102736|989898|1|9999002736|MR|Test|E|Lead 2736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002737|102737|989898|1|9999002737|MR|Test|E|Lead 2737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002738|102738|989898|1|9999002738|MR|Test|E|Lead 2738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002739|102739|989898|1|9999002739|MR|Test|E|Lead 2739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002740|102740|989898|1|9999002740|MR|Test|E|Lead 2740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002741|102741|989898|1|9999002741|MR|Test|E|Lead 2741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002742|102742|989898|1|9999002742|MR|Test|E|Lead 2742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002743|102743|989898|1|9999002743|MR|Test|E|Lead 2743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002744|102744|989898|1|9999002744|MR|Test|E|Lead 2744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002745|102745|989898|1|9999002745|MR|Test|E|Lead 2745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002746|102746|989898|1|9999002746|MR|Test|E|Lead 2746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002747|102747|989898|1|9999002747|MR|Test|E|Lead 2747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002748|102748|989898|1|9999002748|MR|Test|E|Lead 2748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002749|102749|989898|1|9999002749|MR|Test|E|Lead 2749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002750|102750|989898|1|9999002750|MR|Test|E|Lead 2750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002751|102751|989898|1|9999002751|MR|Test|E|Lead 2751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002752|102752|989898|1|9999002752|MR|Test|E|Lead 2752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002753|102753|989898|1|9999002753|MR|Test|E|Lead 2753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002754|102754|989898|1|9999002754|MR|Test|E|Lead 2754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002755|102755|989898|1|9999002755|MR|Test|E|Lead 2755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002756|102756|989898|1|9999002756|MR|Test|E|Lead 2756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002757|102757|989898|1|9999002757|MR|Test|E|Lead 2757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002758|102758|989898|1|9999002758|MR|Test|E|Lead 2758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002759|102759|989898|1|9999002759|MR|Test|E|Lead 2759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002760|102760|989898|1|9999002760|MR|Test|E|Lead 2760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002761|102761|989898|1|9999002761|MR|Test|E|Lead 2761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002762|102762|989898|1|9999002762|MR|Test|E|Lead 2762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002763|102763|989898|1|9999002763|MR|Test|E|Lead 2763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002764|102764|989898|1|9999002764|MR|Test|E|Lead 2764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002765|102765|989898|1|9999002765|MR|Test|E|Lead 2765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002766|102766|989898|1|9999002766|MR|Test|E|Lead 2766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002767|102767|989898|1|9999002767|MR|Test|E|Lead 2767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002768|102768|989898|1|9999002768|MR|Test|E|Lead 2768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002769|102769|989898|1|9999002769|MR|Test|E|Lead 2769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002770|102770|989898|1|9999002770|MR|Test|E|Lead 2770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002771|102771|989898|1|9999002771|MR|Test|E|Lead 2771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002772|102772|989898|1|9999002772|MR|Test|E|Lead 2772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002773|102773|989898|1|9999002773|MR|Test|E|Lead 2773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002774|102774|989898|1|9999002774|MR|Test|E|Lead 2774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002775|102775|989898|1|9999002775|MR|Test|E|Lead 2775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002776|102776|989898|1|9999002776|MR|Test|E|Lead 2776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002777|102777|989898|1|9999002777|MR|Test|E|Lead 2777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002778|102778|989898|1|9999002778|MR|Test|E|Lead 2778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002779|102779|989898|1|9999002779|MR|Test|E|Lead 2779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002780|102780|989898|1|9999002780|MR|Test|E|Lead 2780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002781|102781|989898|1|9999002781|MR|Test|E|Lead 2781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002782|102782|989898|1|9999002782|MR|Test|E|Lead 2782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002783|102783|989898|1|9999002783|MR|Test|E|Lead 2783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002784|102784|989898|1|9999002784|MR|Test|E|Lead 2784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002785|102785|989898|1|9999002785|MR|Test|E|Lead 2785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002786|102786|989898|1|9999002786|MR|Test|E|Lead 2786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002787|102787|989898|1|9999002787|MR|Test|E|Lead 2787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002788|102788|989898|1|9999002788|MR|Test|E|Lead 2788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002789|102789|989898|1|9999002789|MR|Test|E|Lead 2789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002790|102790|989898|1|9999002790|MR|Test|E|Lead 2790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002791|102791|989898|1|9999002791|MR|Test|E|Lead 2791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002792|102792|989898|1|9999002792|MR|Test|E|Lead 2792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002793|102793|989898|1|9999002793|MR|Test|E|Lead 2793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002794|102794|989898|1|9999002794|MR|Test|E|Lead 2794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002795|102795|989898|1|9999002795|MR|Test|E|Lead 2795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002796|102796|989898|1|9999002796|MR|Test|E|Lead 2796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002797|102797|989898|1|9999002797|MR|Test|E|Lead 2797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002798|102798|989898|1|9999002798|MR|Test|E|Lead 2798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002799|102799|989898|1|9999002799|MR|Test|E|Lead 2799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002800|102800|989898|1|9999002800|MR|Test|E|Lead 2800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002801|102801|989898|1|9999002801|MR|Test|E|Lead 2801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002802|102802|989898|1|9999002802|MR|Test|E|Lead 2802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002803|102803|989898|1|9999002803|MR|Test|E|Lead 2803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002804|102804|989898|1|9999002804|MR|Test|E|Lead 2804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002805|102805|989898|1|9999002805|MR|Test|E|Lead 2805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002806|102806|989898|1|9999002806|MR|Test|E|Lead 2806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002807|102807|989898|1|9999002807|MR|Test|E|Lead 2807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002808|102808|989898|1|9999002808|MR|Test|E|Lead 2808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002809|102809|989898|1|9999002809|MR|Test|E|Lead 2809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002810|102810|989898|1|9999002810|MR|Test|E|Lead 2810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002811|102811|989898|1|9999002811|MR|Test|E|Lead 2811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002812|102812|989898|1|9999002812|MR|Test|E|Lead 2812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002813|102813|989898|1|9999002813|MR|Test|E|Lead 2813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002814|102814|989898|1|9999002814|MR|Test|E|Lead 2814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002815|102815|989898|1|9999002815|MR|Test|E|Lead 2815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002816|102816|989898|1|9999002816|MR|Test|E|Lead 2816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002817|102817|989898|1|9999002817|MR|Test|E|Lead 2817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002818|102818|989898|1|9999002818|MR|Test|E|Lead 2818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002819|102819|989898|1|9999002819|MR|Test|E|Lead 2819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002820|102820|989898|1|9999002820|MR|Test|E|Lead 2820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002821|102821|989898|1|9999002821|MR|Test|E|Lead 2821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002822|102822|989898|1|9999002822|MR|Test|E|Lead 2822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002823|102823|989898|1|9999002823|MR|Test|E|Lead 2823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002824|102824|989898|1|9999002824|MR|Test|E|Lead 2824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002825|102825|989898|1|9999002825|MR|Test|E|Lead 2825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002826|102826|989898|1|9999002826|MR|Test|E|Lead 2826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002827|102827|989898|1|9999002827|MR|Test|E|Lead 2827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002828|102828|989898|1|9999002828|MR|Test|E|Lead 2828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002829|102829|989898|1|9999002829|MR|Test|E|Lead 2829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002830|102830|989898|1|9999002830|MR|Test|E|Lead 2830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002831|102831|989898|1|9999002831|MR|Test|E|Lead 2831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002832|102832|989898|1|9999002832|MR|Test|E|Lead 2832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002833|102833|989898|1|9999002833|MR|Test|E|Lead 2833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002834|102834|989898|1|9999002834|MR|Test|E|Lead 2834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002835|102835|989898|1|9999002835|MR|Test|E|Lead 2835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002836|102836|989898|1|9999002836|MR|Test|E|Lead 2836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002837|102837|989898|1|9999002837|MR|Test|E|Lead 2837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002838|102838|989898|1|9999002838|MR|Test|E|Lead 2838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002839|102839|989898|1|9999002839|MR|Test|E|Lead 2839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002840|102840|989898|1|9999002840|MR|Test|E|Lead 2840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002841|102841|989898|1|9999002841|MR|Test|E|Lead 2841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002842|102842|989898|1|9999002842|MR|Test|E|Lead 2842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002843|102843|989898|1|9999002843|MR|Test|E|Lead 2843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002844|102844|989898|1|9999002844|MR|Test|E|Lead 2844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002845|102845|989898|1|9999002845|MR|Test|E|Lead 2845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002846|102846|989898|1|9999002846|MR|Test|E|Lead 2846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002847|102847|989898|1|9999002847|MR|Test|E|Lead 2847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002848|102848|989898|1|9999002848|MR|Test|E|Lead 2848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002849|102849|989898|1|9999002849|MR|Test|E|Lead 2849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002850|102850|989898|1|9999002850|MR|Test|E|Lead 2850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002851|102851|989898|1|9999002851|MR|Test|E|Lead 2851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002852|102852|989898|1|9999002852|MR|Test|E|Lead 2852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002853|102853|989898|1|9999002853|MR|Test|E|Lead 2853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002854|102854|989898|1|9999002854|MR|Test|E|Lead 2854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002855|102855|989898|1|9999002855|MR|Test|E|Lead 2855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002856|102856|989898|1|9999002856|MR|Test|E|Lead 2856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002857|102857|989898|1|9999002857|MR|Test|E|Lead 2857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002858|102858|989898|1|9999002858|MR|Test|E|Lead 2858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002859|102859|989898|1|9999002859|MR|Test|E|Lead 2859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002860|102860|989898|1|9999002860|MR|Test|E|Lead 2860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002861|102861|989898|1|9999002861|MR|Test|E|Lead 2861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002862|102862|989898|1|9999002862|MR|Test|E|Lead 2862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002863|102863|989898|1|9999002863|MR|Test|E|Lead 2863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002864|102864|989898|1|9999002864|MR|Test|E|Lead 2864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002865|102865|989898|1|9999002865|MR|Test|E|Lead 2865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002866|102866|989898|1|9999002866|MR|Test|E|Lead 2866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002867|102867|989898|1|9999002867|MR|Test|E|Lead 2867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002868|102868|989898|1|9999002868|MR|Test|E|Lead 2868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002869|102869|989898|1|9999002869|MR|Test|E|Lead 2869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002870|102870|989898|1|9999002870|MR|Test|E|Lead 2870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002871|102871|989898|1|9999002871|MR|Test|E|Lead 2871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002872|102872|989898|1|9999002872|MR|Test|E|Lead 2872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002873|102873|989898|1|9999002873|MR|Test|E|Lead 2873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002874|102874|989898|1|9999002874|MR|Test|E|Lead 2874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002875|102875|989898|1|9999002875|MR|Test|E|Lead 2875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002876|102876|989898|1|9999002876|MR|Test|E|Lead 2876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002877|102877|989898|1|9999002877|MR|Test|E|Lead 2877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002878|102878|989898|1|9999002878|MR|Test|E|Lead 2878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002879|102879|989898|1|9999002879|MR|Test|E|Lead 2879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002880|102880|989898|1|9999002880|MR|Test|E|Lead 2880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002881|102881|989898|1|9999002881|MR|Test|E|Lead 2881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002882|102882|989898|1|9999002882|MR|Test|E|Lead 2882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002883|102883|989898|1|9999002883|MR|Test|E|Lead 2883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002884|102884|989898|1|9999002884|MR|Test|E|Lead 2884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002885|102885|989898|1|9999002885|MR|Test|E|Lead 2885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002886|102886|989898|1|9999002886|MR|Test|E|Lead 2886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002887|102887|989898|1|9999002887|MR|Test|E|Lead 2887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002888|102888|989898|1|9999002888|MR|Test|E|Lead 2888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002889|102889|989898|1|9999002889|MR|Test|E|Lead 2889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002890|102890|989898|1|9999002890|MR|Test|E|Lead 2890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002891|102891|989898|1|9999002891|MR|Test|E|Lead 2891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002892|102892|989898|1|9999002892|MR|Test|E|Lead 2892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002893|102893|989898|1|9999002893|MR|Test|E|Lead 2893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002894|102894|989898|1|9999002894|MR|Test|E|Lead 2894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002895|102895|989898|1|9999002895|MR|Test|E|Lead 2895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002896|102896|989898|1|9999002896|MR|Test|E|Lead 2896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002897|102897|989898|1|9999002897|MR|Test|E|Lead 2897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002898|102898|989898|1|9999002898|MR|Test|E|Lead 2898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002899|102899|989898|1|9999002899|MR|Test|E|Lead 2899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002900|102900|989898|1|9999002900|MR|Test|E|Lead 2900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002901|102901|989898|1|9999002901|MR|Test|E|Lead 2901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002902|102902|989898|1|9999002902|MR|Test|E|Lead 2902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002903|102903|989898|1|9999002903|MR|Test|E|Lead 2903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002904|102904|989898|1|9999002904|MR|Test|E|Lead 2904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002905|102905|989898|1|9999002905|MR|Test|E|Lead 2905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002906|102906|989898|1|9999002906|MR|Test|E|Lead 2906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002907|102907|989898|1|9999002907|MR|Test|E|Lead 2907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002908|102908|989898|1|9999002908|MR|Test|E|Lead 2908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002909|102909|989898|1|9999002909|MR|Test|E|Lead 2909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002910|102910|989898|1|9999002910|MR|Test|E|Lead 2910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002911|102911|989898|1|9999002911|MR|Test|E|Lead 2911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002912|102912|989898|1|9999002912|MR|Test|E|Lead 2912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002913|102913|989898|1|9999002913|MR|Test|E|Lead 2913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002914|102914|989898|1|9999002914|MR|Test|E|Lead 2914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002915|102915|989898|1|9999002915|MR|Test|E|Lead 2915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002916|102916|989898|1|9999002916|MR|Test|E|Lead 2916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002917|102917|989898|1|9999002917|MR|Test|E|Lead 2917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002918|102918|989898|1|9999002918|MR|Test|E|Lead 2918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002919|102919|989898|1|9999002919|MR|Test|E|Lead 2919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002920|102920|989898|1|9999002920|MR|Test|E|Lead 2920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002921|102921|989898|1|9999002921|MR|Test|E|Lead 2921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002922|102922|989898|1|9999002922|MR|Test|E|Lead 2922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002923|102923|989898|1|9999002923|MR|Test|E|Lead 2923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002924|102924|989898|1|9999002924|MR|Test|E|Lead 2924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002925|102925|989898|1|9999002925|MR|Test|E|Lead 2925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002926|102926|989898|1|9999002926|MR|Test|E|Lead 2926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002927|102927|989898|1|9999002927|MR|Test|E|Lead 2927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002928|102928|989898|1|9999002928|MR|Test|E|Lead 2928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002929|102929|989898|1|9999002929|MR|Test|E|Lead 2929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002930|102930|989898|1|9999002930|MR|Test|E|Lead 2930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002931|102931|989898|1|9999002931|MR|Test|E|Lead 2931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002932|102932|989898|1|9999002932|MR|Test|E|Lead 2932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002933|102933|989898|1|9999002933|MR|Test|E|Lead 2933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002934|102934|989898|1|9999002934|MR|Test|E|Lead 2934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002935|102935|989898|1|9999002935|MR|Test|E|Lead 2935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002936|102936|989898|1|9999002936|MR|Test|E|Lead 2936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002937|102937|989898|1|9999002937|MR|Test|E|Lead 2937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002938|102938|989898|1|9999002938|MR|Test|E|Lead 2938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002939|102939|989898|1|9999002939|MR|Test|E|Lead 2939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002940|102940|989898|1|9999002940|MR|Test|E|Lead 2940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002941|102941|989898|1|9999002941|MR|Test|E|Lead 2941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002942|102942|989898|1|9999002942|MR|Test|E|Lead 2942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002943|102943|989898|1|9999002943|MR|Test|E|Lead 2943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002944|102944|989898|1|9999002944|MR|Test|E|Lead 2944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002945|102945|989898|1|9999002945|MR|Test|E|Lead 2945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002946|102946|989898|1|9999002946|MR|Test|E|Lead 2946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002947|102947|989898|1|9999002947|MR|Test|E|Lead 2947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002948|102948|989898|1|9999002948|MR|Test|E|Lead 2948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002949|102949|989898|1|9999002949|MR|Test|E|Lead 2949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002950|102950|989898|1|9999002950|MR|Test|E|Lead 2950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002951|102951|989898|1|9999002951|MR|Test|E|Lead 2951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002952|102952|989898|1|9999002952|MR|Test|E|Lead 2952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002953|102953|989898|1|9999002953|MR|Test|E|Lead 2953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002954|102954|989898|1|9999002954|MR|Test|E|Lead 2954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002955|102955|989898|1|9999002955|MR|Test|E|Lead 2955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002956|102956|989898|1|9999002956|MR|Test|E|Lead 2956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002957|102957|989898|1|9999002957|MR|Test|E|Lead 2957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002958|102958|989898|1|9999002958|MR|Test|E|Lead 2958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002959|102959|989898|1|9999002959|MR|Test|E|Lead 2959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002960|102960|989898|1|9999002960|MR|Test|E|Lead 2960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002961|102961|989898|1|9999002961|MR|Test|E|Lead 2961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002962|102962|989898|1|9999002962|MR|Test|E|Lead 2962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002963|102963|989898|1|9999002963|MR|Test|E|Lead 2963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002964|102964|989898|1|9999002964|MR|Test|E|Lead 2964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002965|102965|989898|1|9999002965|MR|Test|E|Lead 2965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002966|102966|989898|1|9999002966|MR|Test|E|Lead 2966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002967|102967|989898|1|9999002967|MR|Test|E|Lead 2967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002968|102968|989898|1|9999002968|MR|Test|E|Lead 2968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002969|102969|989898|1|9999002969|MR|Test|E|Lead 2969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002970|102970|989898|1|9999002970|MR|Test|E|Lead 2970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002971|102971|989898|1|9999002971|MR|Test|E|Lead 2971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002972|102972|989898|1|9999002972|MR|Test|E|Lead 2972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002973|102973|989898|1|9999002973|MR|Test|E|Lead 2973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002974|102974|989898|1|9999002974|MR|Test|E|Lead 2974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002975|102975|989898|1|9999002975|MR|Test|E|Lead 2975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002976|102976|989898|1|9999002976|MR|Test|E|Lead 2976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002977|102977|989898|1|9999002977|MR|Test|E|Lead 2977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002978|102978|989898|1|9999002978|MR|Test|E|Lead 2978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002979|102979|989898|1|9999002979|MR|Test|E|Lead 2979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002980|102980|989898|1|9999002980|MR|Test|E|Lead 2980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002981|102981|989898|1|9999002981|MR|Test|E|Lead 2981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002982|102982|989898|1|9999002982|MR|Test|E|Lead 2982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002983|102983|989898|1|9999002983|MR|Test|E|Lead 2983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002984|102984|989898|1|9999002984|MR|Test|E|Lead 2984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002985|102985|989898|1|9999002985|MR|Test|E|Lead 2985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002986|102986|989898|1|9999002986|MR|Test|E|Lead 2986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002987|102987|989898|1|9999002987|MR|Test|E|Lead 2987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002988|102988|989898|1|9999002988|MR|Test|E|Lead 2988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002989|102989|989898|1|9999002989|MR|Test|E|Lead 2989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002990|102990|989898|1|9999002990|MR|Test|E|Lead 2990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002991|102991|989898|1|9999002991|MR|Test|E|Lead 2991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002992|102992|989898|1|9999002992|MR|Test|E|Lead 2992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002993|102993|989898|1|9999002993|MR|Test|E|Lead 2993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002994|102994|989898|1|9999002994|MR|Test|E|Lead 2994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002995|102995|989898|1|9999002995|MR|Test|E|Lead 2995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002996|102996|989898|1|9999002996|MR|Test|E|Lead 2996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002997|102997|989898|1|9999002997|MR|Test|E|Lead 2997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002998|102998|989898|1|9999002998|MR|Test|E|Lead 2998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1002999|102999|989898|1|9999002999|MR|Test|E|Lead 2999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003000|103000|989898|1|9999003000|MR|Test|E|Lead 3000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003001|103001|989898|1|9999003001|MR|Test|E|Lead 3001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003002|103002|989898|1|9999003002|MR|Test|E|Lead 3002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003003|103003|989898|1|9999003003|MR|Test|E|Lead 3003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003004|103004|989898|1|9999003004|MR|Test|E|Lead 3004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003005|103005|989898|1|9999003005|MR|Test|E|Lead 3005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003006|103006|989898|1|9999003006|MR|Test|E|Lead 3006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003007|103007|989898|1|9999003007|MR|Test|E|Lead 3007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003008|103008|989898|1|9999003008|MR|Test|E|Lead 3008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003009|103009|989898|1|9999003009|MR|Test|E|Lead 3009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003010|103010|989898|1|9999003010|MR|Test|E|Lead 3010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003011|103011|989898|1|9999003011|MR|Test|E|Lead 3011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003012|103012|989898|1|9999003012|MR|Test|E|Lead 3012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003013|103013|989898|1|9999003013|MR|Test|E|Lead 3013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003014|103014|989898|1|9999003014|MR|Test|E|Lead 3014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003015|103015|989898|1|9999003015|MR|Test|E|Lead 3015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003016|103016|989898|1|9999003016|MR|Test|E|Lead 3016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003017|103017|989898|1|9999003017|MR|Test|E|Lead 3017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003018|103018|989898|1|9999003018|MR|Test|E|Lead 3018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003019|103019|989898|1|9999003019|MR|Test|E|Lead 3019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003020|103020|989898|1|9999003020|MR|Test|E|Lead 3020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003021|103021|989898|1|9999003021|MR|Test|E|Lead 3021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003022|103022|989898|1|9999003022|MR|Test|E|Lead 3022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003023|103023|989898|1|9999003023|MR|Test|E|Lead 3023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003024|103024|989898|1|9999003024|MR|Test|E|Lead 3024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003025|103025|989898|1|9999003025|MR|Test|E|Lead 3025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003026|103026|989898|1|9999003026|MR|Test|E|Lead 3026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003027|103027|989898|1|9999003027|MR|Test|E|Lead 3027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003028|103028|989898|1|9999003028|MR|Test|E|Lead 3028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003029|103029|989898|1|9999003029|MR|Test|E|Lead 3029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003030|103030|989898|1|9999003030|MR|Test|E|Lead 3030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003031|103031|989898|1|9999003031|MR|Test|E|Lead 3031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003032|103032|989898|1|9999003032|MR|Test|E|Lead 3032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003033|103033|989898|1|9999003033|MR|Test|E|Lead 3033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003034|103034|989898|1|9999003034|MR|Test|E|Lead 3034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003035|103035|989898|1|9999003035|MR|Test|E|Lead 3035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003036|103036|989898|1|9999003036|MR|Test|E|Lead 3036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003037|103037|989898|1|9999003037|MR|Test|E|Lead 3037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003038|103038|989898|1|9999003038|MR|Test|E|Lead 3038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003039|103039|989898|1|9999003039|MR|Test|E|Lead 3039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003040|103040|989898|1|9999003040|MR|Test|E|Lead 3040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003041|103041|989898|1|9999003041|MR|Test|E|Lead 3041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003042|103042|989898|1|9999003042|MR|Test|E|Lead 3042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003043|103043|989898|1|9999003043|MR|Test|E|Lead 3043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003044|103044|989898|1|9999003044|MR|Test|E|Lead 3044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003045|103045|989898|1|9999003045|MR|Test|E|Lead 3045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003046|103046|989898|1|9999003046|MR|Test|E|Lead 3046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003047|103047|989898|1|9999003047|MR|Test|E|Lead 3047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003048|103048|989898|1|9999003048|MR|Test|E|Lead 3048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003049|103049|989898|1|9999003049|MR|Test|E|Lead 3049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003050|103050|989898|1|9999003050|MR|Test|E|Lead 3050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003051|103051|989898|1|9999003051|MR|Test|E|Lead 3051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003052|103052|989898|1|9999003052|MR|Test|E|Lead 3052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003053|103053|989898|1|9999003053|MR|Test|E|Lead 3053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003054|103054|989898|1|9999003054|MR|Test|E|Lead 3054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003055|103055|989898|1|9999003055|MR|Test|E|Lead 3055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003056|103056|989898|1|9999003056|MR|Test|E|Lead 3056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003057|103057|989898|1|9999003057|MR|Test|E|Lead 3057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003058|103058|989898|1|9999003058|MR|Test|E|Lead 3058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003059|103059|989898|1|9999003059|MR|Test|E|Lead 3059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003060|103060|989898|1|9999003060|MR|Test|E|Lead 3060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003061|103061|989898|1|9999003061|MR|Test|E|Lead 3061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003062|103062|989898|1|9999003062|MR|Test|E|Lead 3062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003063|103063|989898|1|9999003063|MR|Test|E|Lead 3063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003064|103064|989898|1|9999003064|MR|Test|E|Lead 3064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003065|103065|989898|1|9999003065|MR|Test|E|Lead 3065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003066|103066|989898|1|9999003066|MR|Test|E|Lead 3066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003067|103067|989898|1|9999003067|MR|Test|E|Lead 3067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003068|103068|989898|1|9999003068|MR|Test|E|Lead 3068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003069|103069|989898|1|9999003069|MR|Test|E|Lead 3069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003070|103070|989898|1|9999003070|MR|Test|E|Lead 3070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003071|103071|989898|1|9999003071|MR|Test|E|Lead 3071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003072|103072|989898|1|9999003072|MR|Test|E|Lead 3072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003073|103073|989898|1|9999003073|MR|Test|E|Lead 3073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003074|103074|989898|1|9999003074|MR|Test|E|Lead 3074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003075|103075|989898|1|9999003075|MR|Test|E|Lead 3075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003076|103076|989898|1|9999003076|MR|Test|E|Lead 3076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003077|103077|989898|1|9999003077|MR|Test|E|Lead 3077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003078|103078|989898|1|9999003078|MR|Test|E|Lead 3078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003079|103079|989898|1|9999003079|MR|Test|E|Lead 3079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003080|103080|989898|1|9999003080|MR|Test|E|Lead 3080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003081|103081|989898|1|9999003081|MR|Test|E|Lead 3081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003082|103082|989898|1|9999003082|MR|Test|E|Lead 3082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003083|103083|989898|1|9999003083|MR|Test|E|Lead 3083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003084|103084|989898|1|9999003084|MR|Test|E|Lead 3084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003085|103085|989898|1|9999003085|MR|Test|E|Lead 3085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003086|103086|989898|1|9999003086|MR|Test|E|Lead 3086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003087|103087|989898|1|9999003087|MR|Test|E|Lead 3087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003088|103088|989898|1|9999003088|MR|Test|E|Lead 3088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003089|103089|989898|1|9999003089|MR|Test|E|Lead 3089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003090|103090|989898|1|9999003090|MR|Test|E|Lead 3090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003091|103091|989898|1|9999003091|MR|Test|E|Lead 3091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003092|103092|989898|1|9999003092|MR|Test|E|Lead 3092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003093|103093|989898|1|9999003093|MR|Test|E|Lead 3093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003094|103094|989898|1|9999003094|MR|Test|E|Lead 3094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003095|103095|989898|1|9999003095|MR|Test|E|Lead 3095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003096|103096|989898|1|9999003096|MR|Test|E|Lead 3096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003097|103097|989898|1|9999003097|MR|Test|E|Lead 3097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003098|103098|989898|1|9999003098|MR|Test|E|Lead 3098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003099|103099|989898|1|9999003099|MR|Test|E|Lead 3099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003100|103100|989898|1|9999003100|MR|Test|E|Lead 3100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003101|103101|989898|1|9999003101|MR|Test|E|Lead 3101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003102|103102|989898|1|9999003102|MR|Test|E|Lead 3102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003103|103103|989898|1|9999003103|MR|Test|E|Lead 3103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003104|103104|989898|1|9999003104|MR|Test|E|Lead 3104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003105|103105|989898|1|9999003105|MR|Test|E|Lead 3105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003106|103106|989898|1|9999003106|MR|Test|E|Lead 3106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003107|103107|989898|1|9999003107|MR|Test|E|Lead 3107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003108|103108|989898|1|9999003108|MR|Test|E|Lead 3108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003109|103109|989898|1|9999003109|MR|Test|E|Lead 3109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003110|103110|989898|1|9999003110|MR|Test|E|Lead 3110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003111|103111|989898|1|9999003111|MR|Test|E|Lead 3111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003112|103112|989898|1|9999003112|MR|Test|E|Lead 3112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003113|103113|989898|1|9999003113|MR|Test|E|Lead 3113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003114|103114|989898|1|9999003114|MR|Test|E|Lead 3114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003115|103115|989898|1|9999003115|MR|Test|E|Lead 3115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003116|103116|989898|1|9999003116|MR|Test|E|Lead 3116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003117|103117|989898|1|9999003117|MR|Test|E|Lead 3117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003118|103118|989898|1|9999003118|MR|Test|E|Lead 3118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003119|103119|989898|1|9999003119|MR|Test|E|Lead 3119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003120|103120|989898|1|9999003120|MR|Test|E|Lead 3120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003121|103121|989898|1|9999003121|MR|Test|E|Lead 3121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003122|103122|989898|1|9999003122|MR|Test|E|Lead 3122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003123|103123|989898|1|9999003123|MR|Test|E|Lead 3123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003124|103124|989898|1|9999003124|MR|Test|E|Lead 3124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003125|103125|989898|1|9999003125|MR|Test|E|Lead 3125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003126|103126|989898|1|9999003126|MR|Test|E|Lead 3126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003127|103127|989898|1|9999003127|MR|Test|E|Lead 3127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003128|103128|989898|1|9999003128|MR|Test|E|Lead 3128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003129|103129|989898|1|9999003129|MR|Test|E|Lead 3129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003130|103130|989898|1|9999003130|MR|Test|E|Lead 3130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003131|103131|989898|1|9999003131|MR|Test|E|Lead 3131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003132|103132|989898|1|9999003132|MR|Test|E|Lead 3132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003133|103133|989898|1|9999003133|MR|Test|E|Lead 3133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003134|103134|989898|1|9999003134|MR|Test|E|Lead 3134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003135|103135|989898|1|9999003135|MR|Test|E|Lead 3135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003136|103136|989898|1|9999003136|MR|Test|E|Lead 3136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003137|103137|989898|1|9999003137|MR|Test|E|Lead 3137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003138|103138|989898|1|9999003138|MR|Test|E|Lead 3138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003139|103139|989898|1|9999003139|MR|Test|E|Lead 3139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003140|103140|989898|1|9999003140|MR|Test|E|Lead 3140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003141|103141|989898|1|9999003141|MR|Test|E|Lead 3141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003142|103142|989898|1|9999003142|MR|Test|E|Lead 3142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003143|103143|989898|1|9999003143|MR|Test|E|Lead 3143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003144|103144|989898|1|9999003144|MR|Test|E|Lead 3144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003145|103145|989898|1|9999003145|MR|Test|E|Lead 3145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003146|103146|989898|1|9999003146|MR|Test|E|Lead 3146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003147|103147|989898|1|9999003147|MR|Test|E|Lead 3147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003148|103148|989898|1|9999003148|MR|Test|E|Lead 3148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003149|103149|989898|1|9999003149|MR|Test|E|Lead 3149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003150|103150|989898|1|9999003150|MR|Test|E|Lead 3150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003151|103151|989898|1|9999003151|MR|Test|E|Lead 3151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003152|103152|989898|1|9999003152|MR|Test|E|Lead 3152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003153|103153|989898|1|9999003153|MR|Test|E|Lead 3153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003154|103154|989898|1|9999003154|MR|Test|E|Lead 3154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003155|103155|989898|1|9999003155|MR|Test|E|Lead 3155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003156|103156|989898|1|9999003156|MR|Test|E|Lead 3156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003157|103157|989898|1|9999003157|MR|Test|E|Lead 3157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003158|103158|989898|1|9999003158|MR|Test|E|Lead 3158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003159|103159|989898|1|9999003159|MR|Test|E|Lead 3159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003160|103160|989898|1|9999003160|MR|Test|E|Lead 3160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003161|103161|989898|1|9999003161|MR|Test|E|Lead 3161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003162|103162|989898|1|9999003162|MR|Test|E|Lead 3162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003163|103163|989898|1|9999003163|MR|Test|E|Lead 3163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003164|103164|989898|1|9999003164|MR|Test|E|Lead 3164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003165|103165|989898|1|9999003165|MR|Test|E|Lead 3165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003166|103166|989898|1|9999003166|MR|Test|E|Lead 3166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003167|103167|989898|1|9999003167|MR|Test|E|Lead 3167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003168|103168|989898|1|9999003168|MR|Test|E|Lead 3168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003169|103169|989898|1|9999003169|MR|Test|E|Lead 3169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003170|103170|989898|1|9999003170|MR|Test|E|Lead 3170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003171|103171|989898|1|9999003171|MR|Test|E|Lead 3171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003172|103172|989898|1|9999003172|MR|Test|E|Lead 3172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003173|103173|989898|1|9999003173|MR|Test|E|Lead 3173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003174|103174|989898|1|9999003174|MR|Test|E|Lead 3174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003175|103175|989898|1|9999003175|MR|Test|E|Lead 3175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003176|103176|989898|1|9999003176|MR|Test|E|Lead 3176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003177|103177|989898|1|9999003177|MR|Test|E|Lead 3177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003178|103178|989898|1|9999003178|MR|Test|E|Lead 3178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003179|103179|989898|1|9999003179|MR|Test|E|Lead 3179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003180|103180|989898|1|9999003180|MR|Test|E|Lead 3180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003181|103181|989898|1|9999003181|MR|Test|E|Lead 3181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003182|103182|989898|1|9999003182|MR|Test|E|Lead 3182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003183|103183|989898|1|9999003183|MR|Test|E|Lead 3183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003184|103184|989898|1|9999003184|MR|Test|E|Lead 3184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003185|103185|989898|1|9999003185|MR|Test|E|Lead 3185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003186|103186|989898|1|9999003186|MR|Test|E|Lead 3186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003187|103187|989898|1|9999003187|MR|Test|E|Lead 3187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003188|103188|989898|1|9999003188|MR|Test|E|Lead 3188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003189|103189|989898|1|9999003189|MR|Test|E|Lead 3189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003190|103190|989898|1|9999003190|MR|Test|E|Lead 3190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003191|103191|989898|1|9999003191|MR|Test|E|Lead 3191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003192|103192|989898|1|9999003192|MR|Test|E|Lead 3192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003193|103193|989898|1|9999003193|MR|Test|E|Lead 3193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003194|103194|989898|1|9999003194|MR|Test|E|Lead 3194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003195|103195|989898|1|9999003195|MR|Test|E|Lead 3195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003196|103196|989898|1|9999003196|MR|Test|E|Lead 3196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003197|103197|989898|1|9999003197|MR|Test|E|Lead 3197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003198|103198|989898|1|9999003198|MR|Test|E|Lead 3198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003199|103199|989898|1|9999003199|MR|Test|E|Lead 3199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003200|103200|989898|1|9999003200|MR|Test|E|Lead 3200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003201|103201|989898|1|9999003201|MR|Test|E|Lead 3201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003202|103202|989898|1|9999003202|MR|Test|E|Lead 3202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003203|103203|989898|1|9999003203|MR|Test|E|Lead 3203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003204|103204|989898|1|9999003204|MR|Test|E|Lead 3204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003205|103205|989898|1|9999003205|MR|Test|E|Lead 3205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003206|103206|989898|1|9999003206|MR|Test|E|Lead 3206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003207|103207|989898|1|9999003207|MR|Test|E|Lead 3207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003208|103208|989898|1|9999003208|MR|Test|E|Lead 3208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003209|103209|989898|1|9999003209|MR|Test|E|Lead 3209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003210|103210|989898|1|9999003210|MR|Test|E|Lead 3210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003211|103211|989898|1|9999003211|MR|Test|E|Lead 3211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003212|103212|989898|1|9999003212|MR|Test|E|Lead 3212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003213|103213|989898|1|9999003213|MR|Test|E|Lead 3213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003214|103214|989898|1|9999003214|MR|Test|E|Lead 3214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003215|103215|989898|1|9999003215|MR|Test|E|Lead 3215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003216|103216|989898|1|9999003216|MR|Test|E|Lead 3216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003217|103217|989898|1|9999003217|MR|Test|E|Lead 3217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003218|103218|989898|1|9999003218|MR|Test|E|Lead 3218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003219|103219|989898|1|9999003219|MR|Test|E|Lead 3219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003220|103220|989898|1|9999003220|MR|Test|E|Lead 3220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003221|103221|989898|1|9999003221|MR|Test|E|Lead 3221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003222|103222|989898|1|9999003222|MR|Test|E|Lead 3222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003223|103223|989898|1|9999003223|MR|Test|E|Lead 3223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003224|103224|989898|1|9999003224|MR|Test|E|Lead 3224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003225|103225|989898|1|9999003225|MR|Test|E|Lead 3225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003226|103226|989898|1|9999003226|MR|Test|E|Lead 3226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003227|103227|989898|1|9999003227|MR|Test|E|Lead 3227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003228|103228|989898|1|9999003228|MR|Test|E|Lead 3228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003229|103229|989898|1|9999003229|MR|Test|E|Lead 3229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003230|103230|989898|1|9999003230|MR|Test|E|Lead 3230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003231|103231|989898|1|9999003231|MR|Test|E|Lead 3231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003232|103232|989898|1|9999003232|MR|Test|E|Lead 3232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003233|103233|989898|1|9999003233|MR|Test|E|Lead 3233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003234|103234|989898|1|9999003234|MR|Test|E|Lead 3234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003235|103235|989898|1|9999003235|MR|Test|E|Lead 3235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003236|103236|989898|1|9999003236|MR|Test|E|Lead 3236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003237|103237|989898|1|9999003237|MR|Test|E|Lead 3237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003238|103238|989898|1|9999003238|MR|Test|E|Lead 3238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003239|103239|989898|1|9999003239|MR|Test|E|Lead 3239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003240|103240|989898|1|9999003240|MR|Test|E|Lead 3240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003241|103241|989898|1|9999003241|MR|Test|E|Lead 3241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003242|103242|989898|1|9999003242|MR|Test|E|Lead 3242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003243|103243|989898|1|9999003243|MR|Test|E|Lead 3243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003244|103244|989898|1|9999003244|MR|Test|E|Lead 3244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003245|103245|989898|1|9999003245|MR|Test|E|Lead 3245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003246|103246|989898|1|9999003246|MR|Test|E|Lead 3246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003247|103247|989898|1|9999003247|MR|Test|E|Lead 3247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003248|103248|989898|1|9999003248|MR|Test|E|Lead 3248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003249|103249|989898|1|9999003249|MR|Test|E|Lead 3249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003250|103250|989898|1|9999003250|MR|Test|E|Lead 3250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003251|103251|989898|1|9999003251|MR|Test|E|Lead 3251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003252|103252|989898|1|9999003252|MR|Test|E|Lead 3252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003253|103253|989898|1|9999003253|MR|Test|E|Lead 3253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003254|103254|989898|1|9999003254|MR|Test|E|Lead 3254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003255|103255|989898|1|9999003255|MR|Test|E|Lead 3255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003256|103256|989898|1|9999003256|MR|Test|E|Lead 3256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003257|103257|989898|1|9999003257|MR|Test|E|Lead 3257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003258|103258|989898|1|9999003258|MR|Test|E|Lead 3258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003259|103259|989898|1|9999003259|MR|Test|E|Lead 3259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003260|103260|989898|1|9999003260|MR|Test|E|Lead 3260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003261|103261|989898|1|9999003261|MR|Test|E|Lead 3261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003262|103262|989898|1|9999003262|MR|Test|E|Lead 3262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003263|103263|989898|1|9999003263|MR|Test|E|Lead 3263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003264|103264|989898|1|9999003264|MR|Test|E|Lead 3264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003265|103265|989898|1|9999003265|MR|Test|E|Lead 3265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003266|103266|989898|1|9999003266|MR|Test|E|Lead 3266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003267|103267|989898|1|9999003267|MR|Test|E|Lead 3267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003268|103268|989898|1|9999003268|MR|Test|E|Lead 3268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003269|103269|989898|1|9999003269|MR|Test|E|Lead 3269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003270|103270|989898|1|9999003270|MR|Test|E|Lead 3270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003271|103271|989898|1|9999003271|MR|Test|E|Lead 3271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003272|103272|989898|1|9999003272|MR|Test|E|Lead 3272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003273|103273|989898|1|9999003273|MR|Test|E|Lead 3273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003274|103274|989898|1|9999003274|MR|Test|E|Lead 3274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003275|103275|989898|1|9999003275|MR|Test|E|Lead 3275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003276|103276|989898|1|9999003276|MR|Test|E|Lead 3276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003277|103277|989898|1|9999003277|MR|Test|E|Lead 3277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003278|103278|989898|1|9999003278|MR|Test|E|Lead 3278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003279|103279|989898|1|9999003279|MR|Test|E|Lead 3279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003280|103280|989898|1|9999003280|MR|Test|E|Lead 3280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003281|103281|989898|1|9999003281|MR|Test|E|Lead 3281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003282|103282|989898|1|9999003282|MR|Test|E|Lead 3282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003283|103283|989898|1|9999003283|MR|Test|E|Lead 3283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003284|103284|989898|1|9999003284|MR|Test|E|Lead 3284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003285|103285|989898|1|9999003285|MR|Test|E|Lead 3285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003286|103286|989898|1|9999003286|MR|Test|E|Lead 3286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003287|103287|989898|1|9999003287|MR|Test|E|Lead 3287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003288|103288|989898|1|9999003288|MR|Test|E|Lead 3288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003289|103289|989898|1|9999003289|MR|Test|E|Lead 3289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003290|103290|989898|1|9999003290|MR|Test|E|Lead 3290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003291|103291|989898|1|9999003291|MR|Test|E|Lead 3291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003292|103292|989898|1|9999003292|MR|Test|E|Lead 3292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003293|103293|989898|1|9999003293|MR|Test|E|Lead 3293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003294|103294|989898|1|9999003294|MR|Test|E|Lead 3294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003295|103295|989898|1|9999003295|MR|Test|E|Lead 3295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003296|103296|989898|1|9999003296|MR|Test|E|Lead 3296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003297|103297|989898|1|9999003297|MR|Test|E|Lead 3297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003298|103298|989898|1|9999003298|MR|Test|E|Lead 3298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003299|103299|989898|1|9999003299|MR|Test|E|Lead 3299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003300|103300|989898|1|9999003300|MR|Test|E|Lead 3300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003301|103301|989898|1|9999003301|MR|Test|E|Lead 3301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003302|103302|989898|1|9999003302|MR|Test|E|Lead 3302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003303|103303|989898|1|9999003303|MR|Test|E|Lead 3303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003304|103304|989898|1|9999003304|MR|Test|E|Lead 3304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003305|103305|989898|1|9999003305|MR|Test|E|Lead 3305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003306|103306|989898|1|9999003306|MR|Test|E|Lead 3306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003307|103307|989898|1|9999003307|MR|Test|E|Lead 3307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003308|103308|989898|1|9999003308|MR|Test|E|Lead 3308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003309|103309|989898|1|9999003309|MR|Test|E|Lead 3309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003310|103310|989898|1|9999003310|MR|Test|E|Lead 3310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003311|103311|989898|1|9999003311|MR|Test|E|Lead 3311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003312|103312|989898|1|9999003312|MR|Test|E|Lead 3312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003313|103313|989898|1|9999003313|MR|Test|E|Lead 3313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003314|103314|989898|1|9999003314|MR|Test|E|Lead 3314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003315|103315|989898|1|9999003315|MR|Test|E|Lead 3315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003316|103316|989898|1|9999003316|MR|Test|E|Lead 3316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003317|103317|989898|1|9999003317|MR|Test|E|Lead 3317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003318|103318|989898|1|9999003318|MR|Test|E|Lead 3318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003319|103319|989898|1|9999003319|MR|Test|E|Lead 3319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003320|103320|989898|1|9999003320|MR|Test|E|Lead 3320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003321|103321|989898|1|9999003321|MR|Test|E|Lead 3321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003322|103322|989898|1|9999003322|MR|Test|E|Lead 3322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003323|103323|989898|1|9999003323|MR|Test|E|Lead 3323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003324|103324|989898|1|9999003324|MR|Test|E|Lead 3324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003325|103325|989898|1|9999003325|MR|Test|E|Lead 3325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003326|103326|989898|1|9999003326|MR|Test|E|Lead 3326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003327|103327|989898|1|9999003327|MR|Test|E|Lead 3327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003328|103328|989898|1|9999003328|MR|Test|E|Lead 3328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003329|103329|989898|1|9999003329|MR|Test|E|Lead 3329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003330|103330|989898|1|9999003330|MR|Test|E|Lead 3330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003331|103331|989898|1|9999003331|MR|Test|E|Lead 3331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003332|103332|989898|1|9999003332|MR|Test|E|Lead 3332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003333|103333|989898|1|9999003333|MR|Test|E|Lead 3333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003334|103334|989898|1|9999003334|MR|Test|E|Lead 3334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003335|103335|989898|1|9999003335|MR|Test|E|Lead 3335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003336|103336|989898|1|9999003336|MR|Test|E|Lead 3336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003337|103337|989898|1|9999003337|MR|Test|E|Lead 3337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003338|103338|989898|1|9999003338|MR|Test|E|Lead 3338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003339|103339|989898|1|9999003339|MR|Test|E|Lead 3339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003340|103340|989898|1|9999003340|MR|Test|E|Lead 3340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003341|103341|989898|1|9999003341|MR|Test|E|Lead 3341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003342|103342|989898|1|9999003342|MR|Test|E|Lead 3342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003343|103343|989898|1|9999003343|MR|Test|E|Lead 3343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003344|103344|989898|1|9999003344|MR|Test|E|Lead 3344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003345|103345|989898|1|9999003345|MR|Test|E|Lead 3345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003346|103346|989898|1|9999003346|MR|Test|E|Lead 3346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003347|103347|989898|1|9999003347|MR|Test|E|Lead 3347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003348|103348|989898|1|9999003348|MR|Test|E|Lead 3348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003349|103349|989898|1|9999003349|MR|Test|E|Lead 3349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003350|103350|989898|1|9999003350|MR|Test|E|Lead 3350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003351|103351|989898|1|9999003351|MR|Test|E|Lead 3351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003352|103352|989898|1|9999003352|MR|Test|E|Lead 3352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003353|103353|989898|1|9999003353|MR|Test|E|Lead 3353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003354|103354|989898|1|9999003354|MR|Test|E|Lead 3354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003355|103355|989898|1|9999003355|MR|Test|E|Lead 3355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003356|103356|989898|1|9999003356|MR|Test|E|Lead 3356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003357|103357|989898|1|9999003357|MR|Test|E|Lead 3357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003358|103358|989898|1|9999003358|MR|Test|E|Lead 3358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003359|103359|989898|1|9999003359|MR|Test|E|Lead 3359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003360|103360|989898|1|9999003360|MR|Test|E|Lead 3360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003361|103361|989898|1|9999003361|MR|Test|E|Lead 3361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003362|103362|989898|1|9999003362|MR|Test|E|Lead 3362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003363|103363|989898|1|9999003363|MR|Test|E|Lead 3363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003364|103364|989898|1|9999003364|MR|Test|E|Lead 3364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003365|103365|989898|1|9999003365|MR|Test|E|Lead 3365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003366|103366|989898|1|9999003366|MR|Test|E|Lead 3366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003367|103367|989898|1|9999003367|MR|Test|E|Lead 3367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003368|103368|989898|1|9999003368|MR|Test|E|Lead 3368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003369|103369|989898|1|9999003369|MR|Test|E|Lead 3369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003370|103370|989898|1|9999003370|MR|Test|E|Lead 3370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003371|103371|989898|1|9999003371|MR|Test|E|Lead 3371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003372|103372|989898|1|9999003372|MR|Test|E|Lead 3372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003373|103373|989898|1|9999003373|MR|Test|E|Lead 3373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003374|103374|989898|1|9999003374|MR|Test|E|Lead 3374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003375|103375|989898|1|9999003375|MR|Test|E|Lead 3375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003376|103376|989898|1|9999003376|MR|Test|E|Lead 3376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003377|103377|989898|1|9999003377|MR|Test|E|Lead 3377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003378|103378|989898|1|9999003378|MR|Test|E|Lead 3378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003379|103379|989898|1|9999003379|MR|Test|E|Lead 3379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003380|103380|989898|1|9999003380|MR|Test|E|Lead 3380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003381|103381|989898|1|9999003381|MR|Test|E|Lead 3381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003382|103382|989898|1|9999003382|MR|Test|E|Lead 3382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003383|103383|989898|1|9999003383|MR|Test|E|Lead 3383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003384|103384|989898|1|9999003384|MR|Test|E|Lead 3384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003385|103385|989898|1|9999003385|MR|Test|E|Lead 3385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003386|103386|989898|1|9999003386|MR|Test|E|Lead 3386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003387|103387|989898|1|9999003387|MR|Test|E|Lead 3387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003388|103388|989898|1|9999003388|MR|Test|E|Lead 3388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003389|103389|989898|1|9999003389|MR|Test|E|Lead 3389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003390|103390|989898|1|9999003390|MR|Test|E|Lead 3390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003391|103391|989898|1|9999003391|MR|Test|E|Lead 3391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003392|103392|989898|1|9999003392|MR|Test|E|Lead 3392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003393|103393|989898|1|9999003393|MR|Test|E|Lead 3393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003394|103394|989898|1|9999003394|MR|Test|E|Lead 3394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003395|103395|989898|1|9999003395|MR|Test|E|Lead 3395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003396|103396|989898|1|9999003396|MR|Test|E|Lead 3396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003397|103397|989898|1|9999003397|MR|Test|E|Lead 3397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003398|103398|989898|1|9999003398|MR|Test|E|Lead 3398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003399|103399|989898|1|9999003399|MR|Test|E|Lead 3399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003400|103400|989898|1|9999003400|MR|Test|E|Lead 3400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003401|103401|989898|1|9999003401|MR|Test|E|Lead 3401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003402|103402|989898|1|9999003402|MR|Test|E|Lead 3402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003403|103403|989898|1|9999003403|MR|Test|E|Lead 3403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003404|103404|989898|1|9999003404|MR|Test|E|Lead 3404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003405|103405|989898|1|9999003405|MR|Test|E|Lead 3405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003406|103406|989898|1|9999003406|MR|Test|E|Lead 3406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003407|103407|989898|1|9999003407|MR|Test|E|Lead 3407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003408|103408|989898|1|9999003408|MR|Test|E|Lead 3408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003409|103409|989898|1|9999003409|MR|Test|E|Lead 3409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003410|103410|989898|1|9999003410|MR|Test|E|Lead 3410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003411|103411|989898|1|9999003411|MR|Test|E|Lead 3411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003412|103412|989898|1|9999003412|MR|Test|E|Lead 3412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003413|103413|989898|1|9999003413|MR|Test|E|Lead 3413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003414|103414|989898|1|9999003414|MR|Test|E|Lead 3414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003415|103415|989898|1|9999003415|MR|Test|E|Lead 3415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003416|103416|989898|1|9999003416|MR|Test|E|Lead 3416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003417|103417|989898|1|9999003417|MR|Test|E|Lead 3417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003418|103418|989898|1|9999003418|MR|Test|E|Lead 3418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003419|103419|989898|1|9999003419|MR|Test|E|Lead 3419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003420|103420|989898|1|9999003420|MR|Test|E|Lead 3420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003421|103421|989898|1|9999003421|MR|Test|E|Lead 3421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003422|103422|989898|1|9999003422|MR|Test|E|Lead 3422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003423|103423|989898|1|9999003423|MR|Test|E|Lead 3423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003424|103424|989898|1|9999003424|MR|Test|E|Lead 3424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003425|103425|989898|1|9999003425|MR|Test|E|Lead 3425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003426|103426|989898|1|9999003426|MR|Test|E|Lead 3426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003427|103427|989898|1|9999003427|MR|Test|E|Lead 3427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003428|103428|989898|1|9999003428|MR|Test|E|Lead 3428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003429|103429|989898|1|9999003429|MR|Test|E|Lead 3429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003430|103430|989898|1|9999003430|MR|Test|E|Lead 3430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003431|103431|989898|1|9999003431|MR|Test|E|Lead 3431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003432|103432|989898|1|9999003432|MR|Test|E|Lead 3432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003433|103433|989898|1|9999003433|MR|Test|E|Lead 3433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003434|103434|989898|1|9999003434|MR|Test|E|Lead 3434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003435|103435|989898|1|9999003435|MR|Test|E|Lead 3435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003436|103436|989898|1|9999003436|MR|Test|E|Lead 3436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003437|103437|989898|1|9999003437|MR|Test|E|Lead 3437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003438|103438|989898|1|9999003438|MR|Test|E|Lead 3438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003439|103439|989898|1|9999003439|MR|Test|E|Lead 3439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003440|103440|989898|1|9999003440|MR|Test|E|Lead 3440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003441|103441|989898|1|9999003441|MR|Test|E|Lead 3441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003442|103442|989898|1|9999003442|MR|Test|E|Lead 3442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003443|103443|989898|1|9999003443|MR|Test|E|Lead 3443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003444|103444|989898|1|9999003444|MR|Test|E|Lead 3444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003445|103445|989898|1|9999003445|MR|Test|E|Lead 3445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003446|103446|989898|1|9999003446|MR|Test|E|Lead 3446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003447|103447|989898|1|9999003447|MR|Test|E|Lead 3447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003448|103448|989898|1|9999003448|MR|Test|E|Lead 3448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003449|103449|989898|1|9999003449|MR|Test|E|Lead 3449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003450|103450|989898|1|9999003450|MR|Test|E|Lead 3450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003451|103451|989898|1|9999003451|MR|Test|E|Lead 3451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003452|103452|989898|1|9999003452|MR|Test|E|Lead 3452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003453|103453|989898|1|9999003453|MR|Test|E|Lead 3453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003454|103454|989898|1|9999003454|MR|Test|E|Lead 3454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003455|103455|989898|1|9999003455|MR|Test|E|Lead 3455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003456|103456|989898|1|9999003456|MR|Test|E|Lead 3456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003457|103457|989898|1|9999003457|MR|Test|E|Lead 3457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003458|103458|989898|1|9999003458|MR|Test|E|Lead 3458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003459|103459|989898|1|9999003459|MR|Test|E|Lead 3459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003460|103460|989898|1|9999003460|MR|Test|E|Lead 3460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003461|103461|989898|1|9999003461|MR|Test|E|Lead 3461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003462|103462|989898|1|9999003462|MR|Test|E|Lead 3462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003463|103463|989898|1|9999003463|MR|Test|E|Lead 3463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003464|103464|989898|1|9999003464|MR|Test|E|Lead 3464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003465|103465|989898|1|9999003465|MR|Test|E|Lead 3465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003466|103466|989898|1|9999003466|MR|Test|E|Lead 3466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003467|103467|989898|1|9999003467|MR|Test|E|Lead 3467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003468|103468|989898|1|9999003468|MR|Test|E|Lead 3468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003469|103469|989898|1|9999003469|MR|Test|E|Lead 3469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003470|103470|989898|1|9999003470|MR|Test|E|Lead 3470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003471|103471|989898|1|9999003471|MR|Test|E|Lead 3471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003472|103472|989898|1|9999003472|MR|Test|E|Lead 3472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003473|103473|989898|1|9999003473|MR|Test|E|Lead 3473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003474|103474|989898|1|9999003474|MR|Test|E|Lead 3474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003475|103475|989898|1|9999003475|MR|Test|E|Lead 3475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003476|103476|989898|1|9999003476|MR|Test|E|Lead 3476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003477|103477|989898|1|9999003477|MR|Test|E|Lead 3477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003478|103478|989898|1|9999003478|MR|Test|E|Lead 3478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003479|103479|989898|1|9999003479|MR|Test|E|Lead 3479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003480|103480|989898|1|9999003480|MR|Test|E|Lead 3480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003481|103481|989898|1|9999003481|MR|Test|E|Lead 3481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003482|103482|989898|1|9999003482|MR|Test|E|Lead 3482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003483|103483|989898|1|9999003483|MR|Test|E|Lead 3483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003484|103484|989898|1|9999003484|MR|Test|E|Lead 3484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003485|103485|989898|1|9999003485|MR|Test|E|Lead 3485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003486|103486|989898|1|9999003486|MR|Test|E|Lead 3486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003487|103487|989898|1|9999003487|MR|Test|E|Lead 3487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003488|103488|989898|1|9999003488|MR|Test|E|Lead 3488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003489|103489|989898|1|9999003489|MR|Test|E|Lead 3489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003490|103490|989898|1|9999003490|MR|Test|E|Lead 3490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003491|103491|989898|1|9999003491|MR|Test|E|Lead 3491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003492|103492|989898|1|9999003492|MR|Test|E|Lead 3492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003493|103493|989898|1|9999003493|MR|Test|E|Lead 3493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003494|103494|989898|1|9999003494|MR|Test|E|Lead 3494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003495|103495|989898|1|9999003495|MR|Test|E|Lead 3495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003496|103496|989898|1|9999003496|MR|Test|E|Lead 3496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003497|103497|989898|1|9999003497|MR|Test|E|Lead 3497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003498|103498|989898|1|9999003498|MR|Test|E|Lead 3498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003499|103499|989898|1|9999003499|MR|Test|E|Lead 3499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003500|103500|989898|1|9999003500|MR|Test|E|Lead 3500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003501|103501|989898|1|9999003501|MR|Test|E|Lead 3501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003502|103502|989898|1|9999003502|MR|Test|E|Lead 3502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003503|103503|989898|1|9999003503|MR|Test|E|Lead 3503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003504|103504|989898|1|9999003504|MR|Test|E|Lead 3504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003505|103505|989898|1|9999003505|MR|Test|E|Lead 3505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003506|103506|989898|1|9999003506|MR|Test|E|Lead 3506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003507|103507|989898|1|9999003507|MR|Test|E|Lead 3507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003508|103508|989898|1|9999003508|MR|Test|E|Lead 3508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003509|103509|989898|1|9999003509|MR|Test|E|Lead 3509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003510|103510|989898|1|9999003510|MR|Test|E|Lead 3510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003511|103511|989898|1|9999003511|MR|Test|E|Lead 3511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003512|103512|989898|1|9999003512|MR|Test|E|Lead 3512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003513|103513|989898|1|9999003513|MR|Test|E|Lead 3513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003514|103514|989898|1|9999003514|MR|Test|E|Lead 3514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003515|103515|989898|1|9999003515|MR|Test|E|Lead 3515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003516|103516|989898|1|9999003516|MR|Test|E|Lead 3516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003517|103517|989898|1|9999003517|MR|Test|E|Lead 3517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003518|103518|989898|1|9999003518|MR|Test|E|Lead 3518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003519|103519|989898|1|9999003519|MR|Test|E|Lead 3519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003520|103520|989898|1|9999003520|MR|Test|E|Lead 3520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003521|103521|989898|1|9999003521|MR|Test|E|Lead 3521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003522|103522|989898|1|9999003522|MR|Test|E|Lead 3522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003523|103523|989898|1|9999003523|MR|Test|E|Lead 3523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003524|103524|989898|1|9999003524|MR|Test|E|Lead 3524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003525|103525|989898|1|9999003525|MR|Test|E|Lead 3525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003526|103526|989898|1|9999003526|MR|Test|E|Lead 3526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003527|103527|989898|1|9999003527|MR|Test|E|Lead 3527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003528|103528|989898|1|9999003528|MR|Test|E|Lead 3528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003529|103529|989898|1|9999003529|MR|Test|E|Lead 3529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003530|103530|989898|1|9999003530|MR|Test|E|Lead 3530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003531|103531|989898|1|9999003531|MR|Test|E|Lead 3531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003532|103532|989898|1|9999003532|MR|Test|E|Lead 3532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003533|103533|989898|1|9999003533|MR|Test|E|Lead 3533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003534|103534|989898|1|9999003534|MR|Test|E|Lead 3534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003535|103535|989898|1|9999003535|MR|Test|E|Lead 3535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003536|103536|989898|1|9999003536|MR|Test|E|Lead 3536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003537|103537|989898|1|9999003537|MR|Test|E|Lead 3537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003538|103538|989898|1|9999003538|MR|Test|E|Lead 3538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003539|103539|989898|1|9999003539|MR|Test|E|Lead 3539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003540|103540|989898|1|9999003540|MR|Test|E|Lead 3540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003541|103541|989898|1|9999003541|MR|Test|E|Lead 3541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003542|103542|989898|1|9999003542|MR|Test|E|Lead 3542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003543|103543|989898|1|9999003543|MR|Test|E|Lead 3543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003544|103544|989898|1|9999003544|MR|Test|E|Lead 3544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003545|103545|989898|1|9999003545|MR|Test|E|Lead 3545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003546|103546|989898|1|9999003546|MR|Test|E|Lead 3546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003547|103547|989898|1|9999003547|MR|Test|E|Lead 3547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003548|103548|989898|1|9999003548|MR|Test|E|Lead 3548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003549|103549|989898|1|9999003549|MR|Test|E|Lead 3549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003550|103550|989898|1|9999003550|MR|Test|E|Lead 3550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003551|103551|989898|1|9999003551|MR|Test|E|Lead 3551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003552|103552|989898|1|9999003552|MR|Test|E|Lead 3552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003553|103553|989898|1|9999003553|MR|Test|E|Lead 3553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003554|103554|989898|1|9999003554|MR|Test|E|Lead 3554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003555|103555|989898|1|9999003555|MR|Test|E|Lead 3555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003556|103556|989898|1|9999003556|MR|Test|E|Lead 3556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003557|103557|989898|1|9999003557|MR|Test|E|Lead 3557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003558|103558|989898|1|9999003558|MR|Test|E|Lead 3558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003559|103559|989898|1|9999003559|MR|Test|E|Lead 3559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003560|103560|989898|1|9999003560|MR|Test|E|Lead 3560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003561|103561|989898|1|9999003561|MR|Test|E|Lead 3561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003562|103562|989898|1|9999003562|MR|Test|E|Lead 3562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003563|103563|989898|1|9999003563|MR|Test|E|Lead 3563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003564|103564|989898|1|9999003564|MR|Test|E|Lead 3564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003565|103565|989898|1|9999003565|MR|Test|E|Lead 3565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003566|103566|989898|1|9999003566|MR|Test|E|Lead 3566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003567|103567|989898|1|9999003567|MR|Test|E|Lead 3567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003568|103568|989898|1|9999003568|MR|Test|E|Lead 3568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003569|103569|989898|1|9999003569|MR|Test|E|Lead 3569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003570|103570|989898|1|9999003570|MR|Test|E|Lead 3570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003571|103571|989898|1|9999003571|MR|Test|E|Lead 3571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003572|103572|989898|1|9999003572|MR|Test|E|Lead 3572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003573|103573|989898|1|9999003573|MR|Test|E|Lead 3573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003574|103574|989898|1|9999003574|MR|Test|E|Lead 3574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003575|103575|989898|1|9999003575|MR|Test|E|Lead 3575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003576|103576|989898|1|9999003576|MR|Test|E|Lead 3576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003577|103577|989898|1|9999003577|MR|Test|E|Lead 3577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003578|103578|989898|1|9999003578|MR|Test|E|Lead 3578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003579|103579|989898|1|9999003579|MR|Test|E|Lead 3579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003580|103580|989898|1|9999003580|MR|Test|E|Lead 3580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003581|103581|989898|1|9999003581|MR|Test|E|Lead 3581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003582|103582|989898|1|9999003582|MR|Test|E|Lead 3582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003583|103583|989898|1|9999003583|MR|Test|E|Lead 3583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003584|103584|989898|1|9999003584|MR|Test|E|Lead 3584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003585|103585|989898|1|9999003585|MR|Test|E|Lead 3585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003586|103586|989898|1|9999003586|MR|Test|E|Lead 3586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003587|103587|989898|1|9999003587|MR|Test|E|Lead 3587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003588|103588|989898|1|9999003588|MR|Test|E|Lead 3588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003589|103589|989898|1|9999003589|MR|Test|E|Lead 3589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003590|103590|989898|1|9999003590|MR|Test|E|Lead 3590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003591|103591|989898|1|9999003591|MR|Test|E|Lead 3591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003592|103592|989898|1|9999003592|MR|Test|E|Lead 3592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003593|103593|989898|1|9999003593|MR|Test|E|Lead 3593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003594|103594|989898|1|9999003594|MR|Test|E|Lead 3594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003595|103595|989898|1|9999003595|MR|Test|E|Lead 3595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003596|103596|989898|1|9999003596|MR|Test|E|Lead 3596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003597|103597|989898|1|9999003597|MR|Test|E|Lead 3597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003598|103598|989898|1|9999003598|MR|Test|E|Lead 3598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003599|103599|989898|1|9999003599|MR|Test|E|Lead 3599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003600|103600|989898|1|9999003600|MR|Test|E|Lead 3600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003601|103601|989898|1|9999003601|MR|Test|E|Lead 3601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003602|103602|989898|1|9999003602|MR|Test|E|Lead 3602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003603|103603|989898|1|9999003603|MR|Test|E|Lead 3603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003604|103604|989898|1|9999003604|MR|Test|E|Lead 3604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003605|103605|989898|1|9999003605|MR|Test|E|Lead 3605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003606|103606|989898|1|9999003606|MR|Test|E|Lead 3606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003607|103607|989898|1|9999003607|MR|Test|E|Lead 3607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003608|103608|989898|1|9999003608|MR|Test|E|Lead 3608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003609|103609|989898|1|9999003609|MR|Test|E|Lead 3609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003610|103610|989898|1|9999003610|MR|Test|E|Lead 3610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003611|103611|989898|1|9999003611|MR|Test|E|Lead 3611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003612|103612|989898|1|9999003612|MR|Test|E|Lead 3612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003613|103613|989898|1|9999003613|MR|Test|E|Lead 3613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003614|103614|989898|1|9999003614|MR|Test|E|Lead 3614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003615|103615|989898|1|9999003615|MR|Test|E|Lead 3615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003616|103616|989898|1|9999003616|MR|Test|E|Lead 3616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003617|103617|989898|1|9999003617|MR|Test|E|Lead 3617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003618|103618|989898|1|9999003618|MR|Test|E|Lead 3618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003619|103619|989898|1|9999003619|MR|Test|E|Lead 3619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003620|103620|989898|1|9999003620|MR|Test|E|Lead 3620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003621|103621|989898|1|9999003621|MR|Test|E|Lead 3621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003622|103622|989898|1|9999003622|MR|Test|E|Lead 3622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003623|103623|989898|1|9999003623|MR|Test|E|Lead 3623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003624|103624|989898|1|9999003624|MR|Test|E|Lead 3624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003625|103625|989898|1|9999003625|MR|Test|E|Lead 3625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003626|103626|989898|1|9999003626|MR|Test|E|Lead 3626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003627|103627|989898|1|9999003627|MR|Test|E|Lead 3627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003628|103628|989898|1|9999003628|MR|Test|E|Lead 3628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003629|103629|989898|1|9999003629|MR|Test|E|Lead 3629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003630|103630|989898|1|9999003630|MR|Test|E|Lead 3630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003631|103631|989898|1|9999003631|MR|Test|E|Lead 3631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003632|103632|989898|1|9999003632|MR|Test|E|Lead 3632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003633|103633|989898|1|9999003633|MR|Test|E|Lead 3633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003634|103634|989898|1|9999003634|MR|Test|E|Lead 3634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003635|103635|989898|1|9999003635|MR|Test|E|Lead 3635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003636|103636|989898|1|9999003636|MR|Test|E|Lead 3636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003637|103637|989898|1|9999003637|MR|Test|E|Lead 3637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003638|103638|989898|1|9999003638|MR|Test|E|Lead 3638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003639|103639|989898|1|9999003639|MR|Test|E|Lead 3639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003640|103640|989898|1|9999003640|MR|Test|E|Lead 3640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003641|103641|989898|1|9999003641|MR|Test|E|Lead 3641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003642|103642|989898|1|9999003642|MR|Test|E|Lead 3642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003643|103643|989898|1|9999003643|MR|Test|E|Lead 3643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003644|103644|989898|1|9999003644|MR|Test|E|Lead 3644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003645|103645|989898|1|9999003645|MR|Test|E|Lead 3645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003646|103646|989898|1|9999003646|MR|Test|E|Lead 3646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003647|103647|989898|1|9999003647|MR|Test|E|Lead 3647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003648|103648|989898|1|9999003648|MR|Test|E|Lead 3648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003649|103649|989898|1|9999003649|MR|Test|E|Lead 3649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003650|103650|989898|1|9999003650|MR|Test|E|Lead 3650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003651|103651|989898|1|9999003651|MR|Test|E|Lead 3651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003652|103652|989898|1|9999003652|MR|Test|E|Lead 3652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003653|103653|989898|1|9999003653|MR|Test|E|Lead 3653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003654|103654|989898|1|9999003654|MR|Test|E|Lead 3654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003655|103655|989898|1|9999003655|MR|Test|E|Lead 3655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003656|103656|989898|1|9999003656|MR|Test|E|Lead 3656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003657|103657|989898|1|9999003657|MR|Test|E|Lead 3657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003658|103658|989898|1|9999003658|MR|Test|E|Lead 3658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003659|103659|989898|1|9999003659|MR|Test|E|Lead 3659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003660|103660|989898|1|9999003660|MR|Test|E|Lead 3660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003661|103661|989898|1|9999003661|MR|Test|E|Lead 3661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003662|103662|989898|1|9999003662|MR|Test|E|Lead 3662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003663|103663|989898|1|9999003663|MR|Test|E|Lead 3663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003664|103664|989898|1|9999003664|MR|Test|E|Lead 3664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003665|103665|989898|1|9999003665|MR|Test|E|Lead 3665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003666|103666|989898|1|9999003666|MR|Test|E|Lead 3666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003667|103667|989898|1|9999003667|MR|Test|E|Lead 3667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003668|103668|989898|1|9999003668|MR|Test|E|Lead 3668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003669|103669|989898|1|9999003669|MR|Test|E|Lead 3669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003670|103670|989898|1|9999003670|MR|Test|E|Lead 3670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003671|103671|989898|1|9999003671|MR|Test|E|Lead 3671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003672|103672|989898|1|9999003672|MR|Test|E|Lead 3672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003673|103673|989898|1|9999003673|MR|Test|E|Lead 3673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003674|103674|989898|1|9999003674|MR|Test|E|Lead 3674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003675|103675|989898|1|9999003675|MR|Test|E|Lead 3675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003676|103676|989898|1|9999003676|MR|Test|E|Lead 3676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003677|103677|989898|1|9999003677|MR|Test|E|Lead 3677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003678|103678|989898|1|9999003678|MR|Test|E|Lead 3678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003679|103679|989898|1|9999003679|MR|Test|E|Lead 3679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003680|103680|989898|1|9999003680|MR|Test|E|Lead 3680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003681|103681|989898|1|9999003681|MR|Test|E|Lead 3681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003682|103682|989898|1|9999003682|MR|Test|E|Lead 3682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003683|103683|989898|1|9999003683|MR|Test|E|Lead 3683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003684|103684|989898|1|9999003684|MR|Test|E|Lead 3684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003685|103685|989898|1|9999003685|MR|Test|E|Lead 3685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003686|103686|989898|1|9999003686|MR|Test|E|Lead 3686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003687|103687|989898|1|9999003687|MR|Test|E|Lead 3687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003688|103688|989898|1|9999003688|MR|Test|E|Lead 3688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003689|103689|989898|1|9999003689|MR|Test|E|Lead 3689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003690|103690|989898|1|9999003690|MR|Test|E|Lead 3690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003691|103691|989898|1|9999003691|MR|Test|E|Lead 3691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003692|103692|989898|1|9999003692|MR|Test|E|Lead 3692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003693|103693|989898|1|9999003693|MR|Test|E|Lead 3693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003694|103694|989898|1|9999003694|MR|Test|E|Lead 3694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003695|103695|989898|1|9999003695|MR|Test|E|Lead 3695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003696|103696|989898|1|9999003696|MR|Test|E|Lead 3696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003697|103697|989898|1|9999003697|MR|Test|E|Lead 3697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003698|103698|989898|1|9999003698|MR|Test|E|Lead 3698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003699|103699|989898|1|9999003699|MR|Test|E|Lead 3699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003700|103700|989898|1|9999003700|MR|Test|E|Lead 3700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003701|103701|989898|1|9999003701|MR|Test|E|Lead 3701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003702|103702|989898|1|9999003702|MR|Test|E|Lead 3702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003703|103703|989898|1|9999003703|MR|Test|E|Lead 3703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003704|103704|989898|1|9999003704|MR|Test|E|Lead 3704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003705|103705|989898|1|9999003705|MR|Test|E|Lead 3705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003706|103706|989898|1|9999003706|MR|Test|E|Lead 3706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003707|103707|989898|1|9999003707|MR|Test|E|Lead 3707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003708|103708|989898|1|9999003708|MR|Test|E|Lead 3708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003709|103709|989898|1|9999003709|MR|Test|E|Lead 3709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003710|103710|989898|1|9999003710|MR|Test|E|Lead 3710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003711|103711|989898|1|9999003711|MR|Test|E|Lead 3711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003712|103712|989898|1|9999003712|MR|Test|E|Lead 3712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003713|103713|989898|1|9999003713|MR|Test|E|Lead 3713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003714|103714|989898|1|9999003714|MR|Test|E|Lead 3714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003715|103715|989898|1|9999003715|MR|Test|E|Lead 3715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003716|103716|989898|1|9999003716|MR|Test|E|Lead 3716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003717|103717|989898|1|9999003717|MR|Test|E|Lead 3717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003718|103718|989898|1|9999003718|MR|Test|E|Lead 3718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003719|103719|989898|1|9999003719|MR|Test|E|Lead 3719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003720|103720|989898|1|9999003720|MR|Test|E|Lead 3720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003721|103721|989898|1|9999003721|MR|Test|E|Lead 3721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003722|103722|989898|1|9999003722|MR|Test|E|Lead 3722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003723|103723|989898|1|9999003723|MR|Test|E|Lead 3723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003724|103724|989898|1|9999003724|MR|Test|E|Lead 3724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003725|103725|989898|1|9999003725|MR|Test|E|Lead 3725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003726|103726|989898|1|9999003726|MR|Test|E|Lead 3726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003727|103727|989898|1|9999003727|MR|Test|E|Lead 3727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003728|103728|989898|1|9999003728|MR|Test|E|Lead 3728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003729|103729|989898|1|9999003729|MR|Test|E|Lead 3729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003730|103730|989898|1|9999003730|MR|Test|E|Lead 3730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003731|103731|989898|1|9999003731|MR|Test|E|Lead 3731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003732|103732|989898|1|9999003732|MR|Test|E|Lead 3732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003733|103733|989898|1|9999003733|MR|Test|E|Lead 3733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003734|103734|989898|1|9999003734|MR|Test|E|Lead 3734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003735|103735|989898|1|9999003735|MR|Test|E|Lead 3735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003736|103736|989898|1|9999003736|MR|Test|E|Lead 3736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003737|103737|989898|1|9999003737|MR|Test|E|Lead 3737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003738|103738|989898|1|9999003738|MR|Test|E|Lead 3738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003739|103739|989898|1|9999003739|MR|Test|E|Lead 3739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003740|103740|989898|1|9999003740|MR|Test|E|Lead 3740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003741|103741|989898|1|9999003741|MR|Test|E|Lead 3741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003742|103742|989898|1|9999003742|MR|Test|E|Lead 3742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003743|103743|989898|1|9999003743|MR|Test|E|Lead 3743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003744|103744|989898|1|9999003744|MR|Test|E|Lead 3744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003745|103745|989898|1|9999003745|MR|Test|E|Lead 3745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003746|103746|989898|1|9999003746|MR|Test|E|Lead 3746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003747|103747|989898|1|9999003747|MR|Test|E|Lead 3747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003748|103748|989898|1|9999003748|MR|Test|E|Lead 3748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003749|103749|989898|1|9999003749|MR|Test|E|Lead 3749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003750|103750|989898|1|9999003750|MR|Test|E|Lead 3750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003751|103751|989898|1|9999003751|MR|Test|E|Lead 3751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003752|103752|989898|1|9999003752|MR|Test|E|Lead 3752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003753|103753|989898|1|9999003753|MR|Test|E|Lead 3753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003754|103754|989898|1|9999003754|MR|Test|E|Lead 3754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003755|103755|989898|1|9999003755|MR|Test|E|Lead 3755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003756|103756|989898|1|9999003756|MR|Test|E|Lead 3756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003757|103757|989898|1|9999003757|MR|Test|E|Lead 3757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003758|103758|989898|1|9999003758|MR|Test|E|Lead 3758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003759|103759|989898|1|9999003759|MR|Test|E|Lead 3759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003760|103760|989898|1|9999003760|MR|Test|E|Lead 3760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003761|103761|989898|1|9999003761|MR|Test|E|Lead 3761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003762|103762|989898|1|9999003762|MR|Test|E|Lead 3762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003763|103763|989898|1|9999003763|MR|Test|E|Lead 3763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003764|103764|989898|1|9999003764|MR|Test|E|Lead 3764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003765|103765|989898|1|9999003765|MR|Test|E|Lead 3765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003766|103766|989898|1|9999003766|MR|Test|E|Lead 3766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003767|103767|989898|1|9999003767|MR|Test|E|Lead 3767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003768|103768|989898|1|9999003768|MR|Test|E|Lead 3768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003769|103769|989898|1|9999003769|MR|Test|E|Lead 3769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003770|103770|989898|1|9999003770|MR|Test|E|Lead 3770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003771|103771|989898|1|9999003771|MR|Test|E|Lead 3771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003772|103772|989898|1|9999003772|MR|Test|E|Lead 3772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003773|103773|989898|1|9999003773|MR|Test|E|Lead 3773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003774|103774|989898|1|9999003774|MR|Test|E|Lead 3774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003775|103775|989898|1|9999003775|MR|Test|E|Lead 3775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003776|103776|989898|1|9999003776|MR|Test|E|Lead 3776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003777|103777|989898|1|9999003777|MR|Test|E|Lead 3777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003778|103778|989898|1|9999003778|MR|Test|E|Lead 3778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003779|103779|989898|1|9999003779|MR|Test|E|Lead 3779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003780|103780|989898|1|9999003780|MR|Test|E|Lead 3780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003781|103781|989898|1|9999003781|MR|Test|E|Lead 3781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003782|103782|989898|1|9999003782|MR|Test|E|Lead 3782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003783|103783|989898|1|9999003783|MR|Test|E|Lead 3783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003784|103784|989898|1|9999003784|MR|Test|E|Lead 3784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003785|103785|989898|1|9999003785|MR|Test|E|Lead 3785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003786|103786|989898|1|9999003786|MR|Test|E|Lead 3786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003787|103787|989898|1|9999003787|MR|Test|E|Lead 3787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003788|103788|989898|1|9999003788|MR|Test|E|Lead 3788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003789|103789|989898|1|9999003789|MR|Test|E|Lead 3789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003790|103790|989898|1|9999003790|MR|Test|E|Lead 3790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003791|103791|989898|1|9999003791|MR|Test|E|Lead 3791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003792|103792|989898|1|9999003792|MR|Test|E|Lead 3792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003793|103793|989898|1|9999003793|MR|Test|E|Lead 3793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003794|103794|989898|1|9999003794|MR|Test|E|Lead 3794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003795|103795|989898|1|9999003795|MR|Test|E|Lead 3795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003796|103796|989898|1|9999003796|MR|Test|E|Lead 3796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003797|103797|989898|1|9999003797|MR|Test|E|Lead 3797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003798|103798|989898|1|9999003798|MR|Test|E|Lead 3798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003799|103799|989898|1|9999003799|MR|Test|E|Lead 3799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003800|103800|989898|1|9999003800|MR|Test|E|Lead 3800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003801|103801|989898|1|9999003801|MR|Test|E|Lead 3801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003802|103802|989898|1|9999003802|MR|Test|E|Lead 3802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003803|103803|989898|1|9999003803|MR|Test|E|Lead 3803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003804|103804|989898|1|9999003804|MR|Test|E|Lead 3804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003805|103805|989898|1|9999003805|MR|Test|E|Lead 3805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003806|103806|989898|1|9999003806|MR|Test|E|Lead 3806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003807|103807|989898|1|9999003807|MR|Test|E|Lead 3807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003808|103808|989898|1|9999003808|MR|Test|E|Lead 3808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003809|103809|989898|1|9999003809|MR|Test|E|Lead 3809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003810|103810|989898|1|9999003810|MR|Test|E|Lead 3810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003811|103811|989898|1|9999003811|MR|Test|E|Lead 3811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003812|103812|989898|1|9999003812|MR|Test|E|Lead 3812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003813|103813|989898|1|9999003813|MR|Test|E|Lead 3813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003814|103814|989898|1|9999003814|MR|Test|E|Lead 3814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003815|103815|989898|1|9999003815|MR|Test|E|Lead 3815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003816|103816|989898|1|9999003816|MR|Test|E|Lead 3816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003817|103817|989898|1|9999003817|MR|Test|E|Lead 3817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003818|103818|989898|1|9999003818|MR|Test|E|Lead 3818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003819|103819|989898|1|9999003819|MR|Test|E|Lead 3819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003820|103820|989898|1|9999003820|MR|Test|E|Lead 3820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003821|103821|989898|1|9999003821|MR|Test|E|Lead 3821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003822|103822|989898|1|9999003822|MR|Test|E|Lead 3822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003823|103823|989898|1|9999003823|MR|Test|E|Lead 3823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003824|103824|989898|1|9999003824|MR|Test|E|Lead 3824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003825|103825|989898|1|9999003825|MR|Test|E|Lead 3825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003826|103826|989898|1|9999003826|MR|Test|E|Lead 3826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003827|103827|989898|1|9999003827|MR|Test|E|Lead 3827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003828|103828|989898|1|9999003828|MR|Test|E|Lead 3828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003829|103829|989898|1|9999003829|MR|Test|E|Lead 3829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003830|103830|989898|1|9999003830|MR|Test|E|Lead 3830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003831|103831|989898|1|9999003831|MR|Test|E|Lead 3831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003832|103832|989898|1|9999003832|MR|Test|E|Lead 3832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003833|103833|989898|1|9999003833|MR|Test|E|Lead 3833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003834|103834|989898|1|9999003834|MR|Test|E|Lead 3834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003835|103835|989898|1|9999003835|MR|Test|E|Lead 3835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003836|103836|989898|1|9999003836|MR|Test|E|Lead 3836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003837|103837|989898|1|9999003837|MR|Test|E|Lead 3837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003838|103838|989898|1|9999003838|MR|Test|E|Lead 3838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003839|103839|989898|1|9999003839|MR|Test|E|Lead 3839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003840|103840|989898|1|9999003840|MR|Test|E|Lead 3840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003841|103841|989898|1|9999003841|MR|Test|E|Lead 3841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003842|103842|989898|1|9999003842|MR|Test|E|Lead 3842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003843|103843|989898|1|9999003843|MR|Test|E|Lead 3843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003844|103844|989898|1|9999003844|MR|Test|E|Lead 3844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003845|103845|989898|1|9999003845|MR|Test|E|Lead 3845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003846|103846|989898|1|9999003846|MR|Test|E|Lead 3846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003847|103847|989898|1|9999003847|MR|Test|E|Lead 3847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003848|103848|989898|1|9999003848|MR|Test|E|Lead 3848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003849|103849|989898|1|9999003849|MR|Test|E|Lead 3849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003850|103850|989898|1|9999003850|MR|Test|E|Lead 3850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003851|103851|989898|1|9999003851|MR|Test|E|Lead 3851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003852|103852|989898|1|9999003852|MR|Test|E|Lead 3852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003853|103853|989898|1|9999003853|MR|Test|E|Lead 3853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003854|103854|989898|1|9999003854|MR|Test|E|Lead 3854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003855|103855|989898|1|9999003855|MR|Test|E|Lead 3855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003856|103856|989898|1|9999003856|MR|Test|E|Lead 3856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003857|103857|989898|1|9999003857|MR|Test|E|Lead 3857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003858|103858|989898|1|9999003858|MR|Test|E|Lead 3858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003859|103859|989898|1|9999003859|MR|Test|E|Lead 3859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003860|103860|989898|1|9999003860|MR|Test|E|Lead 3860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003861|103861|989898|1|9999003861|MR|Test|E|Lead 3861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003862|103862|989898|1|9999003862|MR|Test|E|Lead 3862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003863|103863|989898|1|9999003863|MR|Test|E|Lead 3863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003864|103864|989898|1|9999003864|MR|Test|E|Lead 3864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003865|103865|989898|1|9999003865|MR|Test|E|Lead 3865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003866|103866|989898|1|9999003866|MR|Test|E|Lead 3866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003867|103867|989898|1|9999003867|MR|Test|E|Lead 3867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003868|103868|989898|1|9999003868|MR|Test|E|Lead 3868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003869|103869|989898|1|9999003869|MR|Test|E|Lead 3869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003870|103870|989898|1|9999003870|MR|Test|E|Lead 3870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003871|103871|989898|1|9999003871|MR|Test|E|Lead 3871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003872|103872|989898|1|9999003872|MR|Test|E|Lead 3872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003873|103873|989898|1|9999003873|MR|Test|E|Lead 3873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003874|103874|989898|1|9999003874|MR|Test|E|Lead 3874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003875|103875|989898|1|9999003875|MR|Test|E|Lead 3875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003876|103876|989898|1|9999003876|MR|Test|E|Lead 3876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003877|103877|989898|1|9999003877|MR|Test|E|Lead 3877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003878|103878|989898|1|9999003878|MR|Test|E|Lead 3878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003879|103879|989898|1|9999003879|MR|Test|E|Lead 3879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003880|103880|989898|1|9999003880|MR|Test|E|Lead 3880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003881|103881|989898|1|9999003881|MR|Test|E|Lead 3881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003882|103882|989898|1|9999003882|MR|Test|E|Lead 3882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003883|103883|989898|1|9999003883|MR|Test|E|Lead 3883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003884|103884|989898|1|9999003884|MR|Test|E|Lead 3884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003885|103885|989898|1|9999003885|MR|Test|E|Lead 3885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003886|103886|989898|1|9999003886|MR|Test|E|Lead 3886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003887|103887|989898|1|9999003887|MR|Test|E|Lead 3887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003888|103888|989898|1|9999003888|MR|Test|E|Lead 3888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003889|103889|989898|1|9999003889|MR|Test|E|Lead 3889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003890|103890|989898|1|9999003890|MR|Test|E|Lead 3890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003891|103891|989898|1|9999003891|MR|Test|E|Lead 3891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003892|103892|989898|1|9999003892|MR|Test|E|Lead 3892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003893|103893|989898|1|9999003893|MR|Test|E|Lead 3893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003894|103894|989898|1|9999003894|MR|Test|E|Lead 3894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003895|103895|989898|1|9999003895|MR|Test|E|Lead 3895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003896|103896|989898|1|9999003896|MR|Test|E|Lead 3896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003897|103897|989898|1|9999003897|MR|Test|E|Lead 3897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003898|103898|989898|1|9999003898|MR|Test|E|Lead 3898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003899|103899|989898|1|9999003899|MR|Test|E|Lead 3899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003900|103900|989898|1|9999003900|MR|Test|E|Lead 3900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003901|103901|989898|1|9999003901|MR|Test|E|Lead 3901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003902|103902|989898|1|9999003902|MR|Test|E|Lead 3902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003903|103903|989898|1|9999003903|MR|Test|E|Lead 3903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003904|103904|989898|1|9999003904|MR|Test|E|Lead 3904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003905|103905|989898|1|9999003905|MR|Test|E|Lead 3905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003906|103906|989898|1|9999003906|MR|Test|E|Lead 3906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003907|103907|989898|1|9999003907|MR|Test|E|Lead 3907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003908|103908|989898|1|9999003908|MR|Test|E|Lead 3908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003909|103909|989898|1|9999003909|MR|Test|E|Lead 3909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003910|103910|989898|1|9999003910|MR|Test|E|Lead 3910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003911|103911|989898|1|9999003911|MR|Test|E|Lead 3911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003912|103912|989898|1|9999003912|MR|Test|E|Lead 3912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003913|103913|989898|1|9999003913|MR|Test|E|Lead 3913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003914|103914|989898|1|9999003914|MR|Test|E|Lead 3914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003915|103915|989898|1|9999003915|MR|Test|E|Lead 3915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003916|103916|989898|1|9999003916|MR|Test|E|Lead 3916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003917|103917|989898|1|9999003917|MR|Test|E|Lead 3917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003918|103918|989898|1|9999003918|MR|Test|E|Lead 3918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003919|103919|989898|1|9999003919|MR|Test|E|Lead 3919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003920|103920|989898|1|9999003920|MR|Test|E|Lead 3920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003921|103921|989898|1|9999003921|MR|Test|E|Lead 3921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003922|103922|989898|1|9999003922|MR|Test|E|Lead 3922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003923|103923|989898|1|9999003923|MR|Test|E|Lead 3923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003924|103924|989898|1|9999003924|MR|Test|E|Lead 3924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003925|103925|989898|1|9999003925|MR|Test|E|Lead 3925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003926|103926|989898|1|9999003926|MR|Test|E|Lead 3926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003927|103927|989898|1|9999003927|MR|Test|E|Lead 3927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003928|103928|989898|1|9999003928|MR|Test|E|Lead 3928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003929|103929|989898|1|9999003929|MR|Test|E|Lead 3929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003930|103930|989898|1|9999003930|MR|Test|E|Lead 3930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003931|103931|989898|1|9999003931|MR|Test|E|Lead 3931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003932|103932|989898|1|9999003932|MR|Test|E|Lead 3932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003933|103933|989898|1|9999003933|MR|Test|E|Lead 3933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003934|103934|989898|1|9999003934|MR|Test|E|Lead 3934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003935|103935|989898|1|9999003935|MR|Test|E|Lead 3935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003936|103936|989898|1|9999003936|MR|Test|E|Lead 3936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003937|103937|989898|1|9999003937|MR|Test|E|Lead 3937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003938|103938|989898|1|9999003938|MR|Test|E|Lead 3938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003939|103939|989898|1|9999003939|MR|Test|E|Lead 3939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003940|103940|989898|1|9999003940|MR|Test|E|Lead 3940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003941|103941|989898|1|9999003941|MR|Test|E|Lead 3941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003942|103942|989898|1|9999003942|MR|Test|E|Lead 3942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003943|103943|989898|1|9999003943|MR|Test|E|Lead 3943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003944|103944|989898|1|9999003944|MR|Test|E|Lead 3944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003945|103945|989898|1|9999003945|MR|Test|E|Lead 3945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003946|103946|989898|1|9999003946|MR|Test|E|Lead 3946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003947|103947|989898|1|9999003947|MR|Test|E|Lead 3947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003948|103948|989898|1|9999003948|MR|Test|E|Lead 3948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003949|103949|989898|1|9999003949|MR|Test|E|Lead 3949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003950|103950|989898|1|9999003950|MR|Test|E|Lead 3950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003951|103951|989898|1|9999003951|MR|Test|E|Lead 3951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003952|103952|989898|1|9999003952|MR|Test|E|Lead 3952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003953|103953|989898|1|9999003953|MR|Test|E|Lead 3953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003954|103954|989898|1|9999003954|MR|Test|E|Lead 3954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003955|103955|989898|1|9999003955|MR|Test|E|Lead 3955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003956|103956|989898|1|9999003956|MR|Test|E|Lead 3956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003957|103957|989898|1|9999003957|MR|Test|E|Lead 3957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003958|103958|989898|1|9999003958|MR|Test|E|Lead 3958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003959|103959|989898|1|9999003959|MR|Test|E|Lead 3959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003960|103960|989898|1|9999003960|MR|Test|E|Lead 3960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003961|103961|989898|1|9999003961|MR|Test|E|Lead 3961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003962|103962|989898|1|9999003962|MR|Test|E|Lead 3962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003963|103963|989898|1|9999003963|MR|Test|E|Lead 3963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003964|103964|989898|1|9999003964|MR|Test|E|Lead 3964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003965|103965|989898|1|9999003965|MR|Test|E|Lead 3965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003966|103966|989898|1|9999003966|MR|Test|E|Lead 3966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003967|103967|989898|1|9999003967|MR|Test|E|Lead 3967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003968|103968|989898|1|9999003968|MR|Test|E|Lead 3968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003969|103969|989898|1|9999003969|MR|Test|E|Lead 3969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003970|103970|989898|1|9999003970|MR|Test|E|Lead 3970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003971|103971|989898|1|9999003971|MR|Test|E|Lead 3971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003972|103972|989898|1|9999003972|MR|Test|E|Lead 3972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003973|103973|989898|1|9999003973|MR|Test|E|Lead 3973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003974|103974|989898|1|9999003974|MR|Test|E|Lead 3974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003975|103975|989898|1|9999003975|MR|Test|E|Lead 3975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003976|103976|989898|1|9999003976|MR|Test|E|Lead 3976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003977|103977|989898|1|9999003977|MR|Test|E|Lead 3977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003978|103978|989898|1|9999003978|MR|Test|E|Lead 3978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003979|103979|989898|1|9999003979|MR|Test|E|Lead 3979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003980|103980|989898|1|9999003980|MR|Test|E|Lead 3980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003981|103981|989898|1|9999003981|MR|Test|E|Lead 3981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003982|103982|989898|1|9999003982|MR|Test|E|Lead 3982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003983|103983|989898|1|9999003983|MR|Test|E|Lead 3983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003984|103984|989898|1|9999003984|MR|Test|E|Lead 3984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003985|103985|989898|1|9999003985|MR|Test|E|Lead 3985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003986|103986|989898|1|9999003986|MR|Test|E|Lead 3986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003987|103987|989898|1|9999003987|MR|Test|E|Lead 3987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003988|103988|989898|1|9999003988|MR|Test|E|Lead 3988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003989|103989|989898|1|9999003989|MR|Test|E|Lead 3989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003990|103990|989898|1|9999003990|MR|Test|E|Lead 3990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003991|103991|989898|1|9999003991|MR|Test|E|Lead 3991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003992|103992|989898|1|9999003992|MR|Test|E|Lead 3992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003993|103993|989898|1|9999003993|MR|Test|E|Lead 3993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003994|103994|989898|1|9999003994|MR|Test|E|Lead 3994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003995|103995|989898|1|9999003995|MR|Test|E|Lead 3995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003996|103996|989898|1|9999003996|MR|Test|E|Lead 3996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003997|103997|989898|1|9999003997|MR|Test|E|Lead 3997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003998|103998|989898|1|9999003998|MR|Test|E|Lead 3998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1003999|103999|989898|1|9999003999|MR|Test|E|Lead 3999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004000|104000|989898|1|9999004000|MR|Test|E|Lead 4000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004001|104001|989898|1|9999004001|MR|Test|E|Lead 4001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004002|104002|989898|1|9999004002|MR|Test|E|Lead 4002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004003|104003|989898|1|9999004003|MR|Test|E|Lead 4003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004004|104004|989898|1|9999004004|MR|Test|E|Lead 4004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004005|104005|989898|1|9999004005|MR|Test|E|Lead 4005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004006|104006|989898|1|9999004006|MR|Test|E|Lead 4006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004007|104007|989898|1|9999004007|MR|Test|E|Lead 4007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004008|104008|989898|1|9999004008|MR|Test|E|Lead 4008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004009|104009|989898|1|9999004009|MR|Test|E|Lead 4009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004010|104010|989898|1|9999004010|MR|Test|E|Lead 4010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004011|104011|989898|1|9999004011|MR|Test|E|Lead 4011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004012|104012|989898|1|9999004012|MR|Test|E|Lead 4012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004013|104013|989898|1|9999004013|MR|Test|E|Lead 4013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004014|104014|989898|1|9999004014|MR|Test|E|Lead 4014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004015|104015|989898|1|9999004015|MR|Test|E|Lead 4015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004016|104016|989898|1|9999004016|MR|Test|E|Lead 4016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004017|104017|989898|1|9999004017|MR|Test|E|Lead 4017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004018|104018|989898|1|9999004018|MR|Test|E|Lead 4018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004019|104019|989898|1|9999004019|MR|Test|E|Lead 4019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004020|104020|989898|1|9999004020|MR|Test|E|Lead 4020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004021|104021|989898|1|9999004021|MR|Test|E|Lead 4021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004022|104022|989898|1|9999004022|MR|Test|E|Lead 4022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004023|104023|989898|1|9999004023|MR|Test|E|Lead 4023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004024|104024|989898|1|9999004024|MR|Test|E|Lead 4024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004025|104025|989898|1|9999004025|MR|Test|E|Lead 4025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004026|104026|989898|1|9999004026|MR|Test|E|Lead 4026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004027|104027|989898|1|9999004027|MR|Test|E|Lead 4027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004028|104028|989898|1|9999004028|MR|Test|E|Lead 4028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004029|104029|989898|1|9999004029|MR|Test|E|Lead 4029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004030|104030|989898|1|9999004030|MR|Test|E|Lead 4030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004031|104031|989898|1|9999004031|MR|Test|E|Lead 4031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004032|104032|989898|1|9999004032|MR|Test|E|Lead 4032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004033|104033|989898|1|9999004033|MR|Test|E|Lead 4033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004034|104034|989898|1|9999004034|MR|Test|E|Lead 4034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004035|104035|989898|1|9999004035|MR|Test|E|Lead 4035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004036|104036|989898|1|9999004036|MR|Test|E|Lead 4036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004037|104037|989898|1|9999004037|MR|Test|E|Lead 4037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004038|104038|989898|1|9999004038|MR|Test|E|Lead 4038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004039|104039|989898|1|9999004039|MR|Test|E|Lead 4039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004040|104040|989898|1|9999004040|MR|Test|E|Lead 4040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004041|104041|989898|1|9999004041|MR|Test|E|Lead 4041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004042|104042|989898|1|9999004042|MR|Test|E|Lead 4042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004043|104043|989898|1|9999004043|MR|Test|E|Lead 4043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004044|104044|989898|1|9999004044|MR|Test|E|Lead 4044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004045|104045|989898|1|9999004045|MR|Test|E|Lead 4045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004046|104046|989898|1|9999004046|MR|Test|E|Lead 4046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004047|104047|989898|1|9999004047|MR|Test|E|Lead 4047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004048|104048|989898|1|9999004048|MR|Test|E|Lead 4048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004049|104049|989898|1|9999004049|MR|Test|E|Lead 4049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004050|104050|989898|1|9999004050|MR|Test|E|Lead 4050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004051|104051|989898|1|9999004051|MR|Test|E|Lead 4051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004052|104052|989898|1|9999004052|MR|Test|E|Lead 4052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004053|104053|989898|1|9999004053|MR|Test|E|Lead 4053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004054|104054|989898|1|9999004054|MR|Test|E|Lead 4054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004055|104055|989898|1|9999004055|MR|Test|E|Lead 4055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004056|104056|989898|1|9999004056|MR|Test|E|Lead 4056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004057|104057|989898|1|9999004057|MR|Test|E|Lead 4057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004058|104058|989898|1|9999004058|MR|Test|E|Lead 4058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004059|104059|989898|1|9999004059|MR|Test|E|Lead 4059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004060|104060|989898|1|9999004060|MR|Test|E|Lead 4060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004061|104061|989898|1|9999004061|MR|Test|E|Lead 4061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004062|104062|989898|1|9999004062|MR|Test|E|Lead 4062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004063|104063|989898|1|9999004063|MR|Test|E|Lead 4063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004064|104064|989898|1|9999004064|MR|Test|E|Lead 4064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004065|104065|989898|1|9999004065|MR|Test|E|Lead 4065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004066|104066|989898|1|9999004066|MR|Test|E|Lead 4066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004067|104067|989898|1|9999004067|MR|Test|E|Lead 4067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004068|104068|989898|1|9999004068|MR|Test|E|Lead 4068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004069|104069|989898|1|9999004069|MR|Test|E|Lead 4069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004070|104070|989898|1|9999004070|MR|Test|E|Lead 4070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004071|104071|989898|1|9999004071|MR|Test|E|Lead 4071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004072|104072|989898|1|9999004072|MR|Test|E|Lead 4072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004073|104073|989898|1|9999004073|MR|Test|E|Lead 4073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004074|104074|989898|1|9999004074|MR|Test|E|Lead 4074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004075|104075|989898|1|9999004075|MR|Test|E|Lead 4075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004076|104076|989898|1|9999004076|MR|Test|E|Lead 4076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004077|104077|989898|1|9999004077|MR|Test|E|Lead 4077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004078|104078|989898|1|9999004078|MR|Test|E|Lead 4078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004079|104079|989898|1|9999004079|MR|Test|E|Lead 4079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004080|104080|989898|1|9999004080|MR|Test|E|Lead 4080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004081|104081|989898|1|9999004081|MR|Test|E|Lead 4081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004082|104082|989898|1|9999004082|MR|Test|E|Lead 4082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004083|104083|989898|1|9999004083|MR|Test|E|Lead 4083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004084|104084|989898|1|9999004084|MR|Test|E|Lead 4084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004085|104085|989898|1|9999004085|MR|Test|E|Lead 4085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004086|104086|989898|1|9999004086|MR|Test|E|Lead 4086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004087|104087|989898|1|9999004087|MR|Test|E|Lead 4087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004088|104088|989898|1|9999004088|MR|Test|E|Lead 4088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004089|104089|989898|1|9999004089|MR|Test|E|Lead 4089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004090|104090|989898|1|9999004090|MR|Test|E|Lead 4090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004091|104091|989898|1|9999004091|MR|Test|E|Lead 4091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004092|104092|989898|1|9999004092|MR|Test|E|Lead 4092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004093|104093|989898|1|9999004093|MR|Test|E|Lead 4093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004094|104094|989898|1|9999004094|MR|Test|E|Lead 4094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004095|104095|989898|1|9999004095|MR|Test|E|Lead 4095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004096|104096|989898|1|9999004096|MR|Test|E|Lead 4096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004097|104097|989898|1|9999004097|MR|Test|E|Lead 4097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004098|104098|989898|1|9999004098|MR|Test|E|Lead 4098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004099|104099|989898|1|9999004099|MR|Test|E|Lead 4099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004100|104100|989898|1|9999004100|MR|Test|E|Lead 4100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004101|104101|989898|1|9999004101|MR|Test|E|Lead 4101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004102|104102|989898|1|9999004102|MR|Test|E|Lead 4102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004103|104103|989898|1|9999004103|MR|Test|E|Lead 4103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004104|104104|989898|1|9999004104|MR|Test|E|Lead 4104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004105|104105|989898|1|9999004105|MR|Test|E|Lead 4105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004106|104106|989898|1|9999004106|MR|Test|E|Lead 4106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004107|104107|989898|1|9999004107|MR|Test|E|Lead 4107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004108|104108|989898|1|9999004108|MR|Test|E|Lead 4108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004109|104109|989898|1|9999004109|MR|Test|E|Lead 4109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004110|104110|989898|1|9999004110|MR|Test|E|Lead 4110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004111|104111|989898|1|9999004111|MR|Test|E|Lead 4111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004112|104112|989898|1|9999004112|MR|Test|E|Lead 4112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004113|104113|989898|1|9999004113|MR|Test|E|Lead 4113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004114|104114|989898|1|9999004114|MR|Test|E|Lead 4114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004115|104115|989898|1|9999004115|MR|Test|E|Lead 4115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004116|104116|989898|1|9999004116|MR|Test|E|Lead 4116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004117|104117|989898|1|9999004117|MR|Test|E|Lead 4117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004118|104118|989898|1|9999004118|MR|Test|E|Lead 4118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004119|104119|989898|1|9999004119|MR|Test|E|Lead 4119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004120|104120|989898|1|9999004120|MR|Test|E|Lead 4120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004121|104121|989898|1|9999004121|MR|Test|E|Lead 4121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004122|104122|989898|1|9999004122|MR|Test|E|Lead 4122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004123|104123|989898|1|9999004123|MR|Test|E|Lead 4123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004124|104124|989898|1|9999004124|MR|Test|E|Lead 4124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004125|104125|989898|1|9999004125|MR|Test|E|Lead 4125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004126|104126|989898|1|9999004126|MR|Test|E|Lead 4126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004127|104127|989898|1|9999004127|MR|Test|E|Lead 4127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004128|104128|989898|1|9999004128|MR|Test|E|Lead 4128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004129|104129|989898|1|9999004129|MR|Test|E|Lead 4129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004130|104130|989898|1|9999004130|MR|Test|E|Lead 4130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004131|104131|989898|1|9999004131|MR|Test|E|Lead 4131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004132|104132|989898|1|9999004132|MR|Test|E|Lead 4132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004133|104133|989898|1|9999004133|MR|Test|E|Lead 4133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004134|104134|989898|1|9999004134|MR|Test|E|Lead 4134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004135|104135|989898|1|9999004135|MR|Test|E|Lead 4135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004136|104136|989898|1|9999004136|MR|Test|E|Lead 4136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004137|104137|989898|1|9999004137|MR|Test|E|Lead 4137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004138|104138|989898|1|9999004138|MR|Test|E|Lead 4138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004139|104139|989898|1|9999004139|MR|Test|E|Lead 4139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004140|104140|989898|1|9999004140|MR|Test|E|Lead 4140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004141|104141|989898|1|9999004141|MR|Test|E|Lead 4141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004142|104142|989898|1|9999004142|MR|Test|E|Lead 4142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004143|104143|989898|1|9999004143|MR|Test|E|Lead 4143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004144|104144|989898|1|9999004144|MR|Test|E|Lead 4144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004145|104145|989898|1|9999004145|MR|Test|E|Lead 4145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004146|104146|989898|1|9999004146|MR|Test|E|Lead 4146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004147|104147|989898|1|9999004147|MR|Test|E|Lead 4147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004148|104148|989898|1|9999004148|MR|Test|E|Lead 4148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004149|104149|989898|1|9999004149|MR|Test|E|Lead 4149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004150|104150|989898|1|9999004150|MR|Test|E|Lead 4150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004151|104151|989898|1|9999004151|MR|Test|E|Lead 4151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004152|104152|989898|1|9999004152|MR|Test|E|Lead 4152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004153|104153|989898|1|9999004153|MR|Test|E|Lead 4153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004154|104154|989898|1|9999004154|MR|Test|E|Lead 4154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004155|104155|989898|1|9999004155|MR|Test|E|Lead 4155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004156|104156|989898|1|9999004156|MR|Test|E|Lead 4156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004157|104157|989898|1|9999004157|MR|Test|E|Lead 4157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004158|104158|989898|1|9999004158|MR|Test|E|Lead 4158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004159|104159|989898|1|9999004159|MR|Test|E|Lead 4159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004160|104160|989898|1|9999004160|MR|Test|E|Lead 4160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004161|104161|989898|1|9999004161|MR|Test|E|Lead 4161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004162|104162|989898|1|9999004162|MR|Test|E|Lead 4162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004163|104163|989898|1|9999004163|MR|Test|E|Lead 4163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004164|104164|989898|1|9999004164|MR|Test|E|Lead 4164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004165|104165|989898|1|9999004165|MR|Test|E|Lead 4165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004166|104166|989898|1|9999004166|MR|Test|E|Lead 4166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004167|104167|989898|1|9999004167|MR|Test|E|Lead 4167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004168|104168|989898|1|9999004168|MR|Test|E|Lead 4168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004169|104169|989898|1|9999004169|MR|Test|E|Lead 4169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004170|104170|989898|1|9999004170|MR|Test|E|Lead 4170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004171|104171|989898|1|9999004171|MR|Test|E|Lead 4171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004172|104172|989898|1|9999004172|MR|Test|E|Lead 4172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004173|104173|989898|1|9999004173|MR|Test|E|Lead 4173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004174|104174|989898|1|9999004174|MR|Test|E|Lead 4174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004175|104175|989898|1|9999004175|MR|Test|E|Lead 4175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004176|104176|989898|1|9999004176|MR|Test|E|Lead 4176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004177|104177|989898|1|9999004177|MR|Test|E|Lead 4177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004178|104178|989898|1|9999004178|MR|Test|E|Lead 4178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004179|104179|989898|1|9999004179|MR|Test|E|Lead 4179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004180|104180|989898|1|9999004180|MR|Test|E|Lead 4180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004181|104181|989898|1|9999004181|MR|Test|E|Lead 4181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004182|104182|989898|1|9999004182|MR|Test|E|Lead 4182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004183|104183|989898|1|9999004183|MR|Test|E|Lead 4183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004184|104184|989898|1|9999004184|MR|Test|E|Lead 4184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004185|104185|989898|1|9999004185|MR|Test|E|Lead 4185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004186|104186|989898|1|9999004186|MR|Test|E|Lead 4186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004187|104187|989898|1|9999004187|MR|Test|E|Lead 4187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004188|104188|989898|1|9999004188|MR|Test|E|Lead 4188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004189|104189|989898|1|9999004189|MR|Test|E|Lead 4189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004190|104190|989898|1|9999004190|MR|Test|E|Lead 4190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004191|104191|989898|1|9999004191|MR|Test|E|Lead 4191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004192|104192|989898|1|9999004192|MR|Test|E|Lead 4192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004193|104193|989898|1|9999004193|MR|Test|E|Lead 4193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004194|104194|989898|1|9999004194|MR|Test|E|Lead 4194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004195|104195|989898|1|9999004195|MR|Test|E|Lead 4195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004196|104196|989898|1|9999004196|MR|Test|E|Lead 4196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004197|104197|989898|1|9999004197|MR|Test|E|Lead 4197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004198|104198|989898|1|9999004198|MR|Test|E|Lead 4198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004199|104199|989898|1|9999004199|MR|Test|E|Lead 4199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004200|104200|989898|1|9999004200|MR|Test|E|Lead 4200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004201|104201|989898|1|9999004201|MR|Test|E|Lead 4201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004202|104202|989898|1|9999004202|MR|Test|E|Lead 4202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004203|104203|989898|1|9999004203|MR|Test|E|Lead 4203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004204|104204|989898|1|9999004204|MR|Test|E|Lead 4204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004205|104205|989898|1|9999004205|MR|Test|E|Lead 4205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004206|104206|989898|1|9999004206|MR|Test|E|Lead 4206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004207|104207|989898|1|9999004207|MR|Test|E|Lead 4207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004208|104208|989898|1|9999004208|MR|Test|E|Lead 4208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004209|104209|989898|1|9999004209|MR|Test|E|Lead 4209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004210|104210|989898|1|9999004210|MR|Test|E|Lead 4210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004211|104211|989898|1|9999004211|MR|Test|E|Lead 4211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004212|104212|989898|1|9999004212|MR|Test|E|Lead 4212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004213|104213|989898|1|9999004213|MR|Test|E|Lead 4213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004214|104214|989898|1|9999004214|MR|Test|E|Lead 4214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004215|104215|989898|1|9999004215|MR|Test|E|Lead 4215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004216|104216|989898|1|9999004216|MR|Test|E|Lead 4216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004217|104217|989898|1|9999004217|MR|Test|E|Lead 4217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004218|104218|989898|1|9999004218|MR|Test|E|Lead 4218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004219|104219|989898|1|9999004219|MR|Test|E|Lead 4219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004220|104220|989898|1|9999004220|MR|Test|E|Lead 4220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004221|104221|989898|1|9999004221|MR|Test|E|Lead 4221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004222|104222|989898|1|9999004222|MR|Test|E|Lead 4222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004223|104223|989898|1|9999004223|MR|Test|E|Lead 4223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004224|104224|989898|1|9999004224|MR|Test|E|Lead 4224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004225|104225|989898|1|9999004225|MR|Test|E|Lead 4225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004226|104226|989898|1|9999004226|MR|Test|E|Lead 4226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004227|104227|989898|1|9999004227|MR|Test|E|Lead 4227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004228|104228|989898|1|9999004228|MR|Test|E|Lead 4228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004229|104229|989898|1|9999004229|MR|Test|E|Lead 4229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004230|104230|989898|1|9999004230|MR|Test|E|Lead 4230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004231|104231|989898|1|9999004231|MR|Test|E|Lead 4231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004232|104232|989898|1|9999004232|MR|Test|E|Lead 4232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004233|104233|989898|1|9999004233|MR|Test|E|Lead 4233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004234|104234|989898|1|9999004234|MR|Test|E|Lead 4234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004235|104235|989898|1|9999004235|MR|Test|E|Lead 4235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004236|104236|989898|1|9999004236|MR|Test|E|Lead 4236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004237|104237|989898|1|9999004237|MR|Test|E|Lead 4237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004238|104238|989898|1|9999004238|MR|Test|E|Lead 4238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004239|104239|989898|1|9999004239|MR|Test|E|Lead 4239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004240|104240|989898|1|9999004240|MR|Test|E|Lead 4240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004241|104241|989898|1|9999004241|MR|Test|E|Lead 4241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004242|104242|989898|1|9999004242|MR|Test|E|Lead 4242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004243|104243|989898|1|9999004243|MR|Test|E|Lead 4243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004244|104244|989898|1|9999004244|MR|Test|E|Lead 4244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004245|104245|989898|1|9999004245|MR|Test|E|Lead 4245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004246|104246|989898|1|9999004246|MR|Test|E|Lead 4246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004247|104247|989898|1|9999004247|MR|Test|E|Lead 4247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004248|104248|989898|1|9999004248|MR|Test|E|Lead 4248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004249|104249|989898|1|9999004249|MR|Test|E|Lead 4249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004250|104250|989898|1|9999004250|MR|Test|E|Lead 4250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004251|104251|989898|1|9999004251|MR|Test|E|Lead 4251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004252|104252|989898|1|9999004252|MR|Test|E|Lead 4252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004253|104253|989898|1|9999004253|MR|Test|E|Lead 4253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004254|104254|989898|1|9999004254|MR|Test|E|Lead 4254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004255|104255|989898|1|9999004255|MR|Test|E|Lead 4255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004256|104256|989898|1|9999004256|MR|Test|E|Lead 4256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004257|104257|989898|1|9999004257|MR|Test|E|Lead 4257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004258|104258|989898|1|9999004258|MR|Test|E|Lead 4258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004259|104259|989898|1|9999004259|MR|Test|E|Lead 4259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004260|104260|989898|1|9999004260|MR|Test|E|Lead 4260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004261|104261|989898|1|9999004261|MR|Test|E|Lead 4261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004262|104262|989898|1|9999004262|MR|Test|E|Lead 4262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004263|104263|989898|1|9999004263|MR|Test|E|Lead 4263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004264|104264|989898|1|9999004264|MR|Test|E|Lead 4264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004265|104265|989898|1|9999004265|MR|Test|E|Lead 4265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004266|104266|989898|1|9999004266|MR|Test|E|Lead 4266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004267|104267|989898|1|9999004267|MR|Test|E|Lead 4267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004268|104268|989898|1|9999004268|MR|Test|E|Lead 4268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004269|104269|989898|1|9999004269|MR|Test|E|Lead 4269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004270|104270|989898|1|9999004270|MR|Test|E|Lead 4270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004271|104271|989898|1|9999004271|MR|Test|E|Lead 4271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004272|104272|989898|1|9999004272|MR|Test|E|Lead 4272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004273|104273|989898|1|9999004273|MR|Test|E|Lead 4273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004274|104274|989898|1|9999004274|MR|Test|E|Lead 4274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004275|104275|989898|1|9999004275|MR|Test|E|Lead 4275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004276|104276|989898|1|9999004276|MR|Test|E|Lead 4276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004277|104277|989898|1|9999004277|MR|Test|E|Lead 4277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004278|104278|989898|1|9999004278|MR|Test|E|Lead 4278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004279|104279|989898|1|9999004279|MR|Test|E|Lead 4279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004280|104280|989898|1|9999004280|MR|Test|E|Lead 4280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004281|104281|989898|1|9999004281|MR|Test|E|Lead 4281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004282|104282|989898|1|9999004282|MR|Test|E|Lead 4282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004283|104283|989898|1|9999004283|MR|Test|E|Lead 4283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004284|104284|989898|1|9999004284|MR|Test|E|Lead 4284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004285|104285|989898|1|9999004285|MR|Test|E|Lead 4285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004286|104286|989898|1|9999004286|MR|Test|E|Lead 4286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004287|104287|989898|1|9999004287|MR|Test|E|Lead 4287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004288|104288|989898|1|9999004288|MR|Test|E|Lead 4288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004289|104289|989898|1|9999004289|MR|Test|E|Lead 4289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004290|104290|989898|1|9999004290|MR|Test|E|Lead 4290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004291|104291|989898|1|9999004291|MR|Test|E|Lead 4291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004292|104292|989898|1|9999004292|MR|Test|E|Lead 4292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004293|104293|989898|1|9999004293|MR|Test|E|Lead 4293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004294|104294|989898|1|9999004294|MR|Test|E|Lead 4294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004295|104295|989898|1|9999004295|MR|Test|E|Lead 4295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004296|104296|989898|1|9999004296|MR|Test|E|Lead 4296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004297|104297|989898|1|9999004297|MR|Test|E|Lead 4297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004298|104298|989898|1|9999004298|MR|Test|E|Lead 4298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004299|104299|989898|1|9999004299|MR|Test|E|Lead 4299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004300|104300|989898|1|9999004300|MR|Test|E|Lead 4300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004301|104301|989898|1|9999004301|MR|Test|E|Lead 4301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004302|104302|989898|1|9999004302|MR|Test|E|Lead 4302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004303|104303|989898|1|9999004303|MR|Test|E|Lead 4303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004304|104304|989898|1|9999004304|MR|Test|E|Lead 4304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004305|104305|989898|1|9999004305|MR|Test|E|Lead 4305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004306|104306|989898|1|9999004306|MR|Test|E|Lead 4306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004307|104307|989898|1|9999004307|MR|Test|E|Lead 4307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004308|104308|989898|1|9999004308|MR|Test|E|Lead 4308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004309|104309|989898|1|9999004309|MR|Test|E|Lead 4309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004310|104310|989898|1|9999004310|MR|Test|E|Lead 4310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004311|104311|989898|1|9999004311|MR|Test|E|Lead 4311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004312|104312|989898|1|9999004312|MR|Test|E|Lead 4312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004313|104313|989898|1|9999004313|MR|Test|E|Lead 4313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004314|104314|989898|1|9999004314|MR|Test|E|Lead 4314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004315|104315|989898|1|9999004315|MR|Test|E|Lead 4315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004316|104316|989898|1|9999004316|MR|Test|E|Lead 4316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004317|104317|989898|1|9999004317|MR|Test|E|Lead 4317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004318|104318|989898|1|9999004318|MR|Test|E|Lead 4318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004319|104319|989898|1|9999004319|MR|Test|E|Lead 4319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004320|104320|989898|1|9999004320|MR|Test|E|Lead 4320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004321|104321|989898|1|9999004321|MR|Test|E|Lead 4321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004322|104322|989898|1|9999004322|MR|Test|E|Lead 4322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004323|104323|989898|1|9999004323|MR|Test|E|Lead 4323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004324|104324|989898|1|9999004324|MR|Test|E|Lead 4324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004325|104325|989898|1|9999004325|MR|Test|E|Lead 4325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004326|104326|989898|1|9999004326|MR|Test|E|Lead 4326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004327|104327|989898|1|9999004327|MR|Test|E|Lead 4327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004328|104328|989898|1|9999004328|MR|Test|E|Lead 4328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004329|104329|989898|1|9999004329|MR|Test|E|Lead 4329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004330|104330|989898|1|9999004330|MR|Test|E|Lead 4330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004331|104331|989898|1|9999004331|MR|Test|E|Lead 4331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004332|104332|989898|1|9999004332|MR|Test|E|Lead 4332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004333|104333|989898|1|9999004333|MR|Test|E|Lead 4333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004334|104334|989898|1|9999004334|MR|Test|E|Lead 4334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004335|104335|989898|1|9999004335|MR|Test|E|Lead 4335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004336|104336|989898|1|9999004336|MR|Test|E|Lead 4336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004337|104337|989898|1|9999004337|MR|Test|E|Lead 4337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004338|104338|989898|1|9999004338|MR|Test|E|Lead 4338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004339|104339|989898|1|9999004339|MR|Test|E|Lead 4339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004340|104340|989898|1|9999004340|MR|Test|E|Lead 4340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004341|104341|989898|1|9999004341|MR|Test|E|Lead 4341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004342|104342|989898|1|9999004342|MR|Test|E|Lead 4342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004343|104343|989898|1|9999004343|MR|Test|E|Lead 4343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004344|104344|989898|1|9999004344|MR|Test|E|Lead 4344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004345|104345|989898|1|9999004345|MR|Test|E|Lead 4345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004346|104346|989898|1|9999004346|MR|Test|E|Lead 4346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004347|104347|989898|1|9999004347|MR|Test|E|Lead 4347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004348|104348|989898|1|9999004348|MR|Test|E|Lead 4348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004349|104349|989898|1|9999004349|MR|Test|E|Lead 4349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004350|104350|989898|1|9999004350|MR|Test|E|Lead 4350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004351|104351|989898|1|9999004351|MR|Test|E|Lead 4351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004352|104352|989898|1|9999004352|MR|Test|E|Lead 4352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004353|104353|989898|1|9999004353|MR|Test|E|Lead 4353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004354|104354|989898|1|9999004354|MR|Test|E|Lead 4354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004355|104355|989898|1|9999004355|MR|Test|E|Lead 4355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004356|104356|989898|1|9999004356|MR|Test|E|Lead 4356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004357|104357|989898|1|9999004357|MR|Test|E|Lead 4357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004358|104358|989898|1|9999004358|MR|Test|E|Lead 4358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004359|104359|989898|1|9999004359|MR|Test|E|Lead 4359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004360|104360|989898|1|9999004360|MR|Test|E|Lead 4360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004361|104361|989898|1|9999004361|MR|Test|E|Lead 4361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004362|104362|989898|1|9999004362|MR|Test|E|Lead 4362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004363|104363|989898|1|9999004363|MR|Test|E|Lead 4363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004364|104364|989898|1|9999004364|MR|Test|E|Lead 4364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004365|104365|989898|1|9999004365|MR|Test|E|Lead 4365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004366|104366|989898|1|9999004366|MR|Test|E|Lead 4366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004367|104367|989898|1|9999004367|MR|Test|E|Lead 4367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004368|104368|989898|1|9999004368|MR|Test|E|Lead 4368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004369|104369|989898|1|9999004369|MR|Test|E|Lead 4369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004370|104370|989898|1|9999004370|MR|Test|E|Lead 4370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004371|104371|989898|1|9999004371|MR|Test|E|Lead 4371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004372|104372|989898|1|9999004372|MR|Test|E|Lead 4372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004373|104373|989898|1|9999004373|MR|Test|E|Lead 4373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004374|104374|989898|1|9999004374|MR|Test|E|Lead 4374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004375|104375|989898|1|9999004375|MR|Test|E|Lead 4375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004376|104376|989898|1|9999004376|MR|Test|E|Lead 4376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004377|104377|989898|1|9999004377|MR|Test|E|Lead 4377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004378|104378|989898|1|9999004378|MR|Test|E|Lead 4378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004379|104379|989898|1|9999004379|MR|Test|E|Lead 4379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004380|104380|989898|1|9999004380|MR|Test|E|Lead 4380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004381|104381|989898|1|9999004381|MR|Test|E|Lead 4381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004382|104382|989898|1|9999004382|MR|Test|E|Lead 4382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004383|104383|989898|1|9999004383|MR|Test|E|Lead 4383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004384|104384|989898|1|9999004384|MR|Test|E|Lead 4384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004385|104385|989898|1|9999004385|MR|Test|E|Lead 4385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004386|104386|989898|1|9999004386|MR|Test|E|Lead 4386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004387|104387|989898|1|9999004387|MR|Test|E|Lead 4387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004388|104388|989898|1|9999004388|MR|Test|E|Lead 4388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004389|104389|989898|1|9999004389|MR|Test|E|Lead 4389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004390|104390|989898|1|9999004390|MR|Test|E|Lead 4390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004391|104391|989898|1|9999004391|MR|Test|E|Lead 4391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004392|104392|989898|1|9999004392|MR|Test|E|Lead 4392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004393|104393|989898|1|9999004393|MR|Test|E|Lead 4393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004394|104394|989898|1|9999004394|MR|Test|E|Lead 4394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004395|104395|989898|1|9999004395|MR|Test|E|Lead 4395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004396|104396|989898|1|9999004396|MR|Test|E|Lead 4396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004397|104397|989898|1|9999004397|MR|Test|E|Lead 4397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004398|104398|989898|1|9999004398|MR|Test|E|Lead 4398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004399|104399|989898|1|9999004399|MR|Test|E|Lead 4399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004400|104400|989898|1|9999004400|MR|Test|E|Lead 4400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004401|104401|989898|1|9999004401|MR|Test|E|Lead 4401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004402|104402|989898|1|9999004402|MR|Test|E|Lead 4402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004403|104403|989898|1|9999004403|MR|Test|E|Lead 4403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004404|104404|989898|1|9999004404|MR|Test|E|Lead 4404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004405|104405|989898|1|9999004405|MR|Test|E|Lead 4405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004406|104406|989898|1|9999004406|MR|Test|E|Lead 4406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004407|104407|989898|1|9999004407|MR|Test|E|Lead 4407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004408|104408|989898|1|9999004408|MR|Test|E|Lead 4408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004409|104409|989898|1|9999004409|MR|Test|E|Lead 4409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004410|104410|989898|1|9999004410|MR|Test|E|Lead 4410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004411|104411|989898|1|9999004411|MR|Test|E|Lead 4411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004412|104412|989898|1|9999004412|MR|Test|E|Lead 4412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004413|104413|989898|1|9999004413|MR|Test|E|Lead 4413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004414|104414|989898|1|9999004414|MR|Test|E|Lead 4414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004415|104415|989898|1|9999004415|MR|Test|E|Lead 4415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004416|104416|989898|1|9999004416|MR|Test|E|Lead 4416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004417|104417|989898|1|9999004417|MR|Test|E|Lead 4417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004418|104418|989898|1|9999004418|MR|Test|E|Lead 4418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004419|104419|989898|1|9999004419|MR|Test|E|Lead 4419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004420|104420|989898|1|9999004420|MR|Test|E|Lead 4420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004421|104421|989898|1|9999004421|MR|Test|E|Lead 4421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004422|104422|989898|1|9999004422|MR|Test|E|Lead 4422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004423|104423|989898|1|9999004423|MR|Test|E|Lead 4423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004424|104424|989898|1|9999004424|MR|Test|E|Lead 4424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004425|104425|989898|1|9999004425|MR|Test|E|Lead 4425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004426|104426|989898|1|9999004426|MR|Test|E|Lead 4426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004427|104427|989898|1|9999004427|MR|Test|E|Lead 4427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004428|104428|989898|1|9999004428|MR|Test|E|Lead 4428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004429|104429|989898|1|9999004429|MR|Test|E|Lead 4429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004430|104430|989898|1|9999004430|MR|Test|E|Lead 4430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004431|104431|989898|1|9999004431|MR|Test|E|Lead 4431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004432|104432|989898|1|9999004432|MR|Test|E|Lead 4432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004433|104433|989898|1|9999004433|MR|Test|E|Lead 4433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004434|104434|989898|1|9999004434|MR|Test|E|Lead 4434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004435|104435|989898|1|9999004435|MR|Test|E|Lead 4435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004436|104436|989898|1|9999004436|MR|Test|E|Lead 4436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004437|104437|989898|1|9999004437|MR|Test|E|Lead 4437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004438|104438|989898|1|9999004438|MR|Test|E|Lead 4438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004439|104439|989898|1|9999004439|MR|Test|E|Lead 4439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004440|104440|989898|1|9999004440|MR|Test|E|Lead 4440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004441|104441|989898|1|9999004441|MR|Test|E|Lead 4441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004442|104442|989898|1|9999004442|MR|Test|E|Lead 4442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004443|104443|989898|1|9999004443|MR|Test|E|Lead 4443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004444|104444|989898|1|9999004444|MR|Test|E|Lead 4444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004445|104445|989898|1|9999004445|MR|Test|E|Lead 4445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004446|104446|989898|1|9999004446|MR|Test|E|Lead 4446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004447|104447|989898|1|9999004447|MR|Test|E|Lead 4447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004448|104448|989898|1|9999004448|MR|Test|E|Lead 4448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004449|104449|989898|1|9999004449|MR|Test|E|Lead 4449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004450|104450|989898|1|9999004450|MR|Test|E|Lead 4450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004451|104451|989898|1|9999004451|MR|Test|E|Lead 4451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004452|104452|989898|1|9999004452|MR|Test|E|Lead 4452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004453|104453|989898|1|9999004453|MR|Test|E|Lead 4453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004454|104454|989898|1|9999004454|MR|Test|E|Lead 4454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004455|104455|989898|1|9999004455|MR|Test|E|Lead 4455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004456|104456|989898|1|9999004456|MR|Test|E|Lead 4456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004457|104457|989898|1|9999004457|MR|Test|E|Lead 4457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004458|104458|989898|1|9999004458|MR|Test|E|Lead 4458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004459|104459|989898|1|9999004459|MR|Test|E|Lead 4459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004460|104460|989898|1|9999004460|MR|Test|E|Lead 4460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004461|104461|989898|1|9999004461|MR|Test|E|Lead 4461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004462|104462|989898|1|9999004462|MR|Test|E|Lead 4462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004463|104463|989898|1|9999004463|MR|Test|E|Lead 4463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004464|104464|989898|1|9999004464|MR|Test|E|Lead 4464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004465|104465|989898|1|9999004465|MR|Test|E|Lead 4465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004466|104466|989898|1|9999004466|MR|Test|E|Lead 4466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004467|104467|989898|1|9999004467|MR|Test|E|Lead 4467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004468|104468|989898|1|9999004468|MR|Test|E|Lead 4468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004469|104469|989898|1|9999004469|MR|Test|E|Lead 4469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004470|104470|989898|1|9999004470|MR|Test|E|Lead 4470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004471|104471|989898|1|9999004471|MR|Test|E|Lead 4471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004472|104472|989898|1|9999004472|MR|Test|E|Lead 4472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004473|104473|989898|1|9999004473|MR|Test|E|Lead 4473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004474|104474|989898|1|9999004474|MR|Test|E|Lead 4474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004475|104475|989898|1|9999004475|MR|Test|E|Lead 4475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004476|104476|989898|1|9999004476|MR|Test|E|Lead 4476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004477|104477|989898|1|9999004477|MR|Test|E|Lead 4477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004478|104478|989898|1|9999004478|MR|Test|E|Lead 4478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004479|104479|989898|1|9999004479|MR|Test|E|Lead 4479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004480|104480|989898|1|9999004480|MR|Test|E|Lead 4480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004481|104481|989898|1|9999004481|MR|Test|E|Lead 4481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004482|104482|989898|1|9999004482|MR|Test|E|Lead 4482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004483|104483|989898|1|9999004483|MR|Test|E|Lead 4483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004484|104484|989898|1|9999004484|MR|Test|E|Lead 4484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004485|104485|989898|1|9999004485|MR|Test|E|Lead 4485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004486|104486|989898|1|9999004486|MR|Test|E|Lead 4486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004487|104487|989898|1|9999004487|MR|Test|E|Lead 4487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004488|104488|989898|1|9999004488|MR|Test|E|Lead 4488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004489|104489|989898|1|9999004489|MR|Test|E|Lead 4489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004490|104490|989898|1|9999004490|MR|Test|E|Lead 4490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004491|104491|989898|1|9999004491|MR|Test|E|Lead 4491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004492|104492|989898|1|9999004492|MR|Test|E|Lead 4492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004493|104493|989898|1|9999004493|MR|Test|E|Lead 4493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004494|104494|989898|1|9999004494|MR|Test|E|Lead 4494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004495|104495|989898|1|9999004495|MR|Test|E|Lead 4495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004496|104496|989898|1|9999004496|MR|Test|E|Lead 4496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004497|104497|989898|1|9999004497|MR|Test|E|Lead 4497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004498|104498|989898|1|9999004498|MR|Test|E|Lead 4498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004499|104499|989898|1|9999004499|MR|Test|E|Lead 4499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004500|104500|989898|1|9999004500|MR|Test|E|Lead 4500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004501|104501|989898|1|9999004501|MR|Test|E|Lead 4501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004502|104502|989898|1|9999004502|MR|Test|E|Lead 4502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004503|104503|989898|1|9999004503|MR|Test|E|Lead 4503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004504|104504|989898|1|9999004504|MR|Test|E|Lead 4504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004505|104505|989898|1|9999004505|MR|Test|E|Lead 4505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004506|104506|989898|1|9999004506|MR|Test|E|Lead 4506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004507|104507|989898|1|9999004507|MR|Test|E|Lead 4507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004508|104508|989898|1|9999004508|MR|Test|E|Lead 4508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004509|104509|989898|1|9999004509|MR|Test|E|Lead 4509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004510|104510|989898|1|9999004510|MR|Test|E|Lead 4510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004511|104511|989898|1|9999004511|MR|Test|E|Lead 4511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004512|104512|989898|1|9999004512|MR|Test|E|Lead 4512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004513|104513|989898|1|9999004513|MR|Test|E|Lead 4513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004514|104514|989898|1|9999004514|MR|Test|E|Lead 4514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004515|104515|989898|1|9999004515|MR|Test|E|Lead 4515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004516|104516|989898|1|9999004516|MR|Test|E|Lead 4516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004517|104517|989898|1|9999004517|MR|Test|E|Lead 4517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004518|104518|989898|1|9999004518|MR|Test|E|Lead 4518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004519|104519|989898|1|9999004519|MR|Test|E|Lead 4519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004520|104520|989898|1|9999004520|MR|Test|E|Lead 4520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004521|104521|989898|1|9999004521|MR|Test|E|Lead 4521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004522|104522|989898|1|9999004522|MR|Test|E|Lead 4522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004523|104523|989898|1|9999004523|MR|Test|E|Lead 4523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004524|104524|989898|1|9999004524|MR|Test|E|Lead 4524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004525|104525|989898|1|9999004525|MR|Test|E|Lead 4525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004526|104526|989898|1|9999004526|MR|Test|E|Lead 4526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004527|104527|989898|1|9999004527|MR|Test|E|Lead 4527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004528|104528|989898|1|9999004528|MR|Test|E|Lead 4528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004529|104529|989898|1|9999004529|MR|Test|E|Lead 4529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004530|104530|989898|1|9999004530|MR|Test|E|Lead 4530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004531|104531|989898|1|9999004531|MR|Test|E|Lead 4531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004532|104532|989898|1|9999004532|MR|Test|E|Lead 4532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004533|104533|989898|1|9999004533|MR|Test|E|Lead 4533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004534|104534|989898|1|9999004534|MR|Test|E|Lead 4534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004535|104535|989898|1|9999004535|MR|Test|E|Lead 4535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004536|104536|989898|1|9999004536|MR|Test|E|Lead 4536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004537|104537|989898|1|9999004537|MR|Test|E|Lead 4537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004538|104538|989898|1|9999004538|MR|Test|E|Lead 4538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004539|104539|989898|1|9999004539|MR|Test|E|Lead 4539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004540|104540|989898|1|9999004540|MR|Test|E|Lead 4540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004541|104541|989898|1|9999004541|MR|Test|E|Lead 4541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004542|104542|989898|1|9999004542|MR|Test|E|Lead 4542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004543|104543|989898|1|9999004543|MR|Test|E|Lead 4543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004544|104544|989898|1|9999004544|MR|Test|E|Lead 4544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004545|104545|989898|1|9999004545|MR|Test|E|Lead 4545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004546|104546|989898|1|9999004546|MR|Test|E|Lead 4546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004547|104547|989898|1|9999004547|MR|Test|E|Lead 4547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004548|104548|989898|1|9999004548|MR|Test|E|Lead 4548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004549|104549|989898|1|9999004549|MR|Test|E|Lead 4549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004550|104550|989898|1|9999004550|MR|Test|E|Lead 4550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004551|104551|989898|1|9999004551|MR|Test|E|Lead 4551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004552|104552|989898|1|9999004552|MR|Test|E|Lead 4552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004553|104553|989898|1|9999004553|MR|Test|E|Lead 4553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004554|104554|989898|1|9999004554|MR|Test|E|Lead 4554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004555|104555|989898|1|9999004555|MR|Test|E|Lead 4555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004556|104556|989898|1|9999004556|MR|Test|E|Lead 4556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004557|104557|989898|1|9999004557|MR|Test|E|Lead 4557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004558|104558|989898|1|9999004558|MR|Test|E|Lead 4558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004559|104559|989898|1|9999004559|MR|Test|E|Lead 4559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004560|104560|989898|1|9999004560|MR|Test|E|Lead 4560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004561|104561|989898|1|9999004561|MR|Test|E|Lead 4561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004562|104562|989898|1|9999004562|MR|Test|E|Lead 4562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004563|104563|989898|1|9999004563|MR|Test|E|Lead 4563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004564|104564|989898|1|9999004564|MR|Test|E|Lead 4564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004565|104565|989898|1|9999004565|MR|Test|E|Lead 4565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004566|104566|989898|1|9999004566|MR|Test|E|Lead 4566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004567|104567|989898|1|9999004567|MR|Test|E|Lead 4567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004568|104568|989898|1|9999004568|MR|Test|E|Lead 4568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004569|104569|989898|1|9999004569|MR|Test|E|Lead 4569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004570|104570|989898|1|9999004570|MR|Test|E|Lead 4570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004571|104571|989898|1|9999004571|MR|Test|E|Lead 4571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004572|104572|989898|1|9999004572|MR|Test|E|Lead 4572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004573|104573|989898|1|9999004573|MR|Test|E|Lead 4573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004574|104574|989898|1|9999004574|MR|Test|E|Lead 4574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004575|104575|989898|1|9999004575|MR|Test|E|Lead 4575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004576|104576|989898|1|9999004576|MR|Test|E|Lead 4576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004577|104577|989898|1|9999004577|MR|Test|E|Lead 4577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004578|104578|989898|1|9999004578|MR|Test|E|Lead 4578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004579|104579|989898|1|9999004579|MR|Test|E|Lead 4579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004580|104580|989898|1|9999004580|MR|Test|E|Lead 4580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004581|104581|989898|1|9999004581|MR|Test|E|Lead 4581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004582|104582|989898|1|9999004582|MR|Test|E|Lead 4582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004583|104583|989898|1|9999004583|MR|Test|E|Lead 4583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004584|104584|989898|1|9999004584|MR|Test|E|Lead 4584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004585|104585|989898|1|9999004585|MR|Test|E|Lead 4585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004586|104586|989898|1|9999004586|MR|Test|E|Lead 4586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004587|104587|989898|1|9999004587|MR|Test|E|Lead 4587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004588|104588|989898|1|9999004588|MR|Test|E|Lead 4588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004589|104589|989898|1|9999004589|MR|Test|E|Lead 4589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004590|104590|989898|1|9999004590|MR|Test|E|Lead 4590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004591|104591|989898|1|9999004591|MR|Test|E|Lead 4591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004592|104592|989898|1|9999004592|MR|Test|E|Lead 4592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004593|104593|989898|1|9999004593|MR|Test|E|Lead 4593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004594|104594|989898|1|9999004594|MR|Test|E|Lead 4594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004595|104595|989898|1|9999004595|MR|Test|E|Lead 4595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004596|104596|989898|1|9999004596|MR|Test|E|Lead 4596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004597|104597|989898|1|9999004597|MR|Test|E|Lead 4597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004598|104598|989898|1|9999004598|MR|Test|E|Lead 4598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004599|104599|989898|1|9999004599|MR|Test|E|Lead 4599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004600|104600|989898|1|9999004600|MR|Test|E|Lead 4600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004601|104601|989898|1|9999004601|MR|Test|E|Lead 4601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004602|104602|989898|1|9999004602|MR|Test|E|Lead 4602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004603|104603|989898|1|9999004603|MR|Test|E|Lead 4603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004604|104604|989898|1|9999004604|MR|Test|E|Lead 4604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004605|104605|989898|1|9999004605|MR|Test|E|Lead 4605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004606|104606|989898|1|9999004606|MR|Test|E|Lead 4606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004607|104607|989898|1|9999004607|MR|Test|E|Lead 4607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004608|104608|989898|1|9999004608|MR|Test|E|Lead 4608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004609|104609|989898|1|9999004609|MR|Test|E|Lead 4609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004610|104610|989898|1|9999004610|MR|Test|E|Lead 4610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004611|104611|989898|1|9999004611|MR|Test|E|Lead 4611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004612|104612|989898|1|9999004612|MR|Test|E|Lead 4612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004613|104613|989898|1|9999004613|MR|Test|E|Lead 4613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004614|104614|989898|1|9999004614|MR|Test|E|Lead 4614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004615|104615|989898|1|9999004615|MR|Test|E|Lead 4615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004616|104616|989898|1|9999004616|MR|Test|E|Lead 4616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004617|104617|989898|1|9999004617|MR|Test|E|Lead 4617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004618|104618|989898|1|9999004618|MR|Test|E|Lead 4618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004619|104619|989898|1|9999004619|MR|Test|E|Lead 4619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004620|104620|989898|1|9999004620|MR|Test|E|Lead 4620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004621|104621|989898|1|9999004621|MR|Test|E|Lead 4621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004622|104622|989898|1|9999004622|MR|Test|E|Lead 4622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004623|104623|989898|1|9999004623|MR|Test|E|Lead 4623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004624|104624|989898|1|9999004624|MR|Test|E|Lead 4624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004625|104625|989898|1|9999004625|MR|Test|E|Lead 4625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004626|104626|989898|1|9999004626|MR|Test|E|Lead 4626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004627|104627|989898|1|9999004627|MR|Test|E|Lead 4627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004628|104628|989898|1|9999004628|MR|Test|E|Lead 4628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004629|104629|989898|1|9999004629|MR|Test|E|Lead 4629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004630|104630|989898|1|9999004630|MR|Test|E|Lead 4630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004631|104631|989898|1|9999004631|MR|Test|E|Lead 4631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004632|104632|989898|1|9999004632|MR|Test|E|Lead 4632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004633|104633|989898|1|9999004633|MR|Test|E|Lead 4633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004634|104634|989898|1|9999004634|MR|Test|E|Lead 4634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004635|104635|989898|1|9999004635|MR|Test|E|Lead 4635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004636|104636|989898|1|9999004636|MR|Test|E|Lead 4636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004637|104637|989898|1|9999004637|MR|Test|E|Lead 4637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004638|104638|989898|1|9999004638|MR|Test|E|Lead 4638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004639|104639|989898|1|9999004639|MR|Test|E|Lead 4639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004640|104640|989898|1|9999004640|MR|Test|E|Lead 4640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004641|104641|989898|1|9999004641|MR|Test|E|Lead 4641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004642|104642|989898|1|9999004642|MR|Test|E|Lead 4642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004643|104643|989898|1|9999004643|MR|Test|E|Lead 4643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004644|104644|989898|1|9999004644|MR|Test|E|Lead 4644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004645|104645|989898|1|9999004645|MR|Test|E|Lead 4645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004646|104646|989898|1|9999004646|MR|Test|E|Lead 4646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004647|104647|989898|1|9999004647|MR|Test|E|Lead 4647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004648|104648|989898|1|9999004648|MR|Test|E|Lead 4648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004649|104649|989898|1|9999004649|MR|Test|E|Lead 4649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004650|104650|989898|1|9999004650|MR|Test|E|Lead 4650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004651|104651|989898|1|9999004651|MR|Test|E|Lead 4651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004652|104652|989898|1|9999004652|MR|Test|E|Lead 4652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004653|104653|989898|1|9999004653|MR|Test|E|Lead 4653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004654|104654|989898|1|9999004654|MR|Test|E|Lead 4654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004655|104655|989898|1|9999004655|MR|Test|E|Lead 4655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004656|104656|989898|1|9999004656|MR|Test|E|Lead 4656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004657|104657|989898|1|9999004657|MR|Test|E|Lead 4657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004658|104658|989898|1|9999004658|MR|Test|E|Lead 4658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004659|104659|989898|1|9999004659|MR|Test|E|Lead 4659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004660|104660|989898|1|9999004660|MR|Test|E|Lead 4660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004661|104661|989898|1|9999004661|MR|Test|E|Lead 4661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004662|104662|989898|1|9999004662|MR|Test|E|Lead 4662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004663|104663|989898|1|9999004663|MR|Test|E|Lead 4663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004664|104664|989898|1|9999004664|MR|Test|E|Lead 4664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004665|104665|989898|1|9999004665|MR|Test|E|Lead 4665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004666|104666|989898|1|9999004666|MR|Test|E|Lead 4666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004667|104667|989898|1|9999004667|MR|Test|E|Lead 4667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004668|104668|989898|1|9999004668|MR|Test|E|Lead 4668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004669|104669|989898|1|9999004669|MR|Test|E|Lead 4669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004670|104670|989898|1|9999004670|MR|Test|E|Lead 4670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004671|104671|989898|1|9999004671|MR|Test|E|Lead 4671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004672|104672|989898|1|9999004672|MR|Test|E|Lead 4672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004673|104673|989898|1|9999004673|MR|Test|E|Lead 4673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004674|104674|989898|1|9999004674|MR|Test|E|Lead 4674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004675|104675|989898|1|9999004675|MR|Test|E|Lead 4675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004676|104676|989898|1|9999004676|MR|Test|E|Lead 4676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004677|104677|989898|1|9999004677|MR|Test|E|Lead 4677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004678|104678|989898|1|9999004678|MR|Test|E|Lead 4678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004679|104679|989898|1|9999004679|MR|Test|E|Lead 4679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004680|104680|989898|1|9999004680|MR|Test|E|Lead 4680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004681|104681|989898|1|9999004681|MR|Test|E|Lead 4681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004682|104682|989898|1|9999004682|MR|Test|E|Lead 4682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004683|104683|989898|1|9999004683|MR|Test|E|Lead 4683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004684|104684|989898|1|9999004684|MR|Test|E|Lead 4684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004685|104685|989898|1|9999004685|MR|Test|E|Lead 4685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004686|104686|989898|1|9999004686|MR|Test|E|Lead 4686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004687|104687|989898|1|9999004687|MR|Test|E|Lead 4687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004688|104688|989898|1|9999004688|MR|Test|E|Lead 4688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004689|104689|989898|1|9999004689|MR|Test|E|Lead 4689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004690|104690|989898|1|9999004690|MR|Test|E|Lead 4690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004691|104691|989898|1|9999004691|MR|Test|E|Lead 4691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004692|104692|989898|1|9999004692|MR|Test|E|Lead 4692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004693|104693|989898|1|9999004693|MR|Test|E|Lead 4693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004694|104694|989898|1|9999004694|MR|Test|E|Lead 4694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004695|104695|989898|1|9999004695|MR|Test|E|Lead 4695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004696|104696|989898|1|9999004696|MR|Test|E|Lead 4696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004697|104697|989898|1|9999004697|MR|Test|E|Lead 4697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004698|104698|989898|1|9999004698|MR|Test|E|Lead 4698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004699|104699|989898|1|9999004699|MR|Test|E|Lead 4699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004700|104700|989898|1|9999004700|MR|Test|E|Lead 4700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004701|104701|989898|1|9999004701|MR|Test|E|Lead 4701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004702|104702|989898|1|9999004702|MR|Test|E|Lead 4702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004703|104703|989898|1|9999004703|MR|Test|E|Lead 4703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004704|104704|989898|1|9999004704|MR|Test|E|Lead 4704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004705|104705|989898|1|9999004705|MR|Test|E|Lead 4705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004706|104706|989898|1|9999004706|MR|Test|E|Lead 4706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004707|104707|989898|1|9999004707|MR|Test|E|Lead 4707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004708|104708|989898|1|9999004708|MR|Test|E|Lead 4708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004709|104709|989898|1|9999004709|MR|Test|E|Lead 4709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004710|104710|989898|1|9999004710|MR|Test|E|Lead 4710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004711|104711|989898|1|9999004711|MR|Test|E|Lead 4711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004712|104712|989898|1|9999004712|MR|Test|E|Lead 4712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004713|104713|989898|1|9999004713|MR|Test|E|Lead 4713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004714|104714|989898|1|9999004714|MR|Test|E|Lead 4714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004715|104715|989898|1|9999004715|MR|Test|E|Lead 4715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004716|104716|989898|1|9999004716|MR|Test|E|Lead 4716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004717|104717|989898|1|9999004717|MR|Test|E|Lead 4717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004718|104718|989898|1|9999004718|MR|Test|E|Lead 4718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004719|104719|989898|1|9999004719|MR|Test|E|Lead 4719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004720|104720|989898|1|9999004720|MR|Test|E|Lead 4720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004721|104721|989898|1|9999004721|MR|Test|E|Lead 4721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004722|104722|989898|1|9999004722|MR|Test|E|Lead 4722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004723|104723|989898|1|9999004723|MR|Test|E|Lead 4723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004724|104724|989898|1|9999004724|MR|Test|E|Lead 4724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004725|104725|989898|1|9999004725|MR|Test|E|Lead 4725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004726|104726|989898|1|9999004726|MR|Test|E|Lead 4726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004727|104727|989898|1|9999004727|MR|Test|E|Lead 4727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004728|104728|989898|1|9999004728|MR|Test|E|Lead 4728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004729|104729|989898|1|9999004729|MR|Test|E|Lead 4729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004730|104730|989898|1|9999004730|MR|Test|E|Lead 4730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004731|104731|989898|1|9999004731|MR|Test|E|Lead 4731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004732|104732|989898|1|9999004732|MR|Test|E|Lead 4732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004733|104733|989898|1|9999004733|MR|Test|E|Lead 4733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004734|104734|989898|1|9999004734|MR|Test|E|Lead 4734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004735|104735|989898|1|9999004735|MR|Test|E|Lead 4735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004736|104736|989898|1|9999004736|MR|Test|E|Lead 4736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004737|104737|989898|1|9999004737|MR|Test|E|Lead 4737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004738|104738|989898|1|9999004738|MR|Test|E|Lead 4738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004739|104739|989898|1|9999004739|MR|Test|E|Lead 4739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004740|104740|989898|1|9999004740|MR|Test|E|Lead 4740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004741|104741|989898|1|9999004741|MR|Test|E|Lead 4741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004742|104742|989898|1|9999004742|MR|Test|E|Lead 4742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004743|104743|989898|1|9999004743|MR|Test|E|Lead 4743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004744|104744|989898|1|9999004744|MR|Test|E|Lead 4744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004745|104745|989898|1|9999004745|MR|Test|E|Lead 4745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004746|104746|989898|1|9999004746|MR|Test|E|Lead 4746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004747|104747|989898|1|9999004747|MR|Test|E|Lead 4747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004748|104748|989898|1|9999004748|MR|Test|E|Lead 4748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004749|104749|989898|1|9999004749|MR|Test|E|Lead 4749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004750|104750|989898|1|9999004750|MR|Test|E|Lead 4750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004751|104751|989898|1|9999004751|MR|Test|E|Lead 4751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004752|104752|989898|1|9999004752|MR|Test|E|Lead 4752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004753|104753|989898|1|9999004753|MR|Test|E|Lead 4753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004754|104754|989898|1|9999004754|MR|Test|E|Lead 4754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004755|104755|989898|1|9999004755|MR|Test|E|Lead 4755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004756|104756|989898|1|9999004756|MR|Test|E|Lead 4756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004757|104757|989898|1|9999004757|MR|Test|E|Lead 4757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004758|104758|989898|1|9999004758|MR|Test|E|Lead 4758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004759|104759|989898|1|9999004759|MR|Test|E|Lead 4759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004760|104760|989898|1|9999004760|MR|Test|E|Lead 4760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004761|104761|989898|1|9999004761|MR|Test|E|Lead 4761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004762|104762|989898|1|9999004762|MR|Test|E|Lead 4762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004763|104763|989898|1|9999004763|MR|Test|E|Lead 4763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004764|104764|989898|1|9999004764|MR|Test|E|Lead 4764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004765|104765|989898|1|9999004765|MR|Test|E|Lead 4765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004766|104766|989898|1|9999004766|MR|Test|E|Lead 4766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004767|104767|989898|1|9999004767|MR|Test|E|Lead 4767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004768|104768|989898|1|9999004768|MR|Test|E|Lead 4768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004769|104769|989898|1|9999004769|MR|Test|E|Lead 4769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004770|104770|989898|1|9999004770|MR|Test|E|Lead 4770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004771|104771|989898|1|9999004771|MR|Test|E|Lead 4771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004772|104772|989898|1|9999004772|MR|Test|E|Lead 4772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004773|104773|989898|1|9999004773|MR|Test|E|Lead 4773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004774|104774|989898|1|9999004774|MR|Test|E|Lead 4774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004775|104775|989898|1|9999004775|MR|Test|E|Lead 4775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004776|104776|989898|1|9999004776|MR|Test|E|Lead 4776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004777|104777|989898|1|9999004777|MR|Test|E|Lead 4777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004778|104778|989898|1|9999004778|MR|Test|E|Lead 4778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004779|104779|989898|1|9999004779|MR|Test|E|Lead 4779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004780|104780|989898|1|9999004780|MR|Test|E|Lead 4780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004781|104781|989898|1|9999004781|MR|Test|E|Lead 4781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004782|104782|989898|1|9999004782|MR|Test|E|Lead 4782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004783|104783|989898|1|9999004783|MR|Test|E|Lead 4783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004784|104784|989898|1|9999004784|MR|Test|E|Lead 4784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004785|104785|989898|1|9999004785|MR|Test|E|Lead 4785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004786|104786|989898|1|9999004786|MR|Test|E|Lead 4786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004787|104787|989898|1|9999004787|MR|Test|E|Lead 4787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004788|104788|989898|1|9999004788|MR|Test|E|Lead 4788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004789|104789|989898|1|9999004789|MR|Test|E|Lead 4789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004790|104790|989898|1|9999004790|MR|Test|E|Lead 4790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004791|104791|989898|1|9999004791|MR|Test|E|Lead 4791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004792|104792|989898|1|9999004792|MR|Test|E|Lead 4792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004793|104793|989898|1|9999004793|MR|Test|E|Lead 4793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004794|104794|989898|1|9999004794|MR|Test|E|Lead 4794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004795|104795|989898|1|9999004795|MR|Test|E|Lead 4795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004796|104796|989898|1|9999004796|MR|Test|E|Lead 4796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004797|104797|989898|1|9999004797|MR|Test|E|Lead 4797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004798|104798|989898|1|9999004798|MR|Test|E|Lead 4798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004799|104799|989898|1|9999004799|MR|Test|E|Lead 4799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004800|104800|989898|1|9999004800|MR|Test|E|Lead 4800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004801|104801|989898|1|9999004801|MR|Test|E|Lead 4801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004802|104802|989898|1|9999004802|MR|Test|E|Lead 4802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004803|104803|989898|1|9999004803|MR|Test|E|Lead 4803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004804|104804|989898|1|9999004804|MR|Test|E|Lead 4804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004805|104805|989898|1|9999004805|MR|Test|E|Lead 4805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004806|104806|989898|1|9999004806|MR|Test|E|Lead 4806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004807|104807|989898|1|9999004807|MR|Test|E|Lead 4807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004808|104808|989898|1|9999004808|MR|Test|E|Lead 4808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004809|104809|989898|1|9999004809|MR|Test|E|Lead 4809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004810|104810|989898|1|9999004810|MR|Test|E|Lead 4810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004811|104811|989898|1|9999004811|MR|Test|E|Lead 4811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004812|104812|989898|1|9999004812|MR|Test|E|Lead 4812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004813|104813|989898|1|9999004813|MR|Test|E|Lead 4813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004814|104814|989898|1|9999004814|MR|Test|E|Lead 4814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004815|104815|989898|1|9999004815|MR|Test|E|Lead 4815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004816|104816|989898|1|9999004816|MR|Test|E|Lead 4816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004817|104817|989898|1|9999004817|MR|Test|E|Lead 4817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004818|104818|989898|1|9999004818|MR|Test|E|Lead 4818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004819|104819|989898|1|9999004819|MR|Test|E|Lead 4819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004820|104820|989898|1|9999004820|MR|Test|E|Lead 4820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004821|104821|989898|1|9999004821|MR|Test|E|Lead 4821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004822|104822|989898|1|9999004822|MR|Test|E|Lead 4822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004823|104823|989898|1|9999004823|MR|Test|E|Lead 4823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004824|104824|989898|1|9999004824|MR|Test|E|Lead 4824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004825|104825|989898|1|9999004825|MR|Test|E|Lead 4825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004826|104826|989898|1|9999004826|MR|Test|E|Lead 4826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004827|104827|989898|1|9999004827|MR|Test|E|Lead 4827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004828|104828|989898|1|9999004828|MR|Test|E|Lead 4828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004829|104829|989898|1|9999004829|MR|Test|E|Lead 4829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004830|104830|989898|1|9999004830|MR|Test|E|Lead 4830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004831|104831|989898|1|9999004831|MR|Test|E|Lead 4831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004832|104832|989898|1|9999004832|MR|Test|E|Lead 4832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004833|104833|989898|1|9999004833|MR|Test|E|Lead 4833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004834|104834|989898|1|9999004834|MR|Test|E|Lead 4834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004835|104835|989898|1|9999004835|MR|Test|E|Lead 4835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004836|104836|989898|1|9999004836|MR|Test|E|Lead 4836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004837|104837|989898|1|9999004837|MR|Test|E|Lead 4837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004838|104838|989898|1|9999004838|MR|Test|E|Lead 4838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004839|104839|989898|1|9999004839|MR|Test|E|Lead 4839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004840|104840|989898|1|9999004840|MR|Test|E|Lead 4840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004841|104841|989898|1|9999004841|MR|Test|E|Lead 4841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004842|104842|989898|1|9999004842|MR|Test|E|Lead 4842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004843|104843|989898|1|9999004843|MR|Test|E|Lead 4843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004844|104844|989898|1|9999004844|MR|Test|E|Lead 4844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004845|104845|989898|1|9999004845|MR|Test|E|Lead 4845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004846|104846|989898|1|9999004846|MR|Test|E|Lead 4846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004847|104847|989898|1|9999004847|MR|Test|E|Lead 4847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004848|104848|989898|1|9999004848|MR|Test|E|Lead 4848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004849|104849|989898|1|9999004849|MR|Test|E|Lead 4849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004850|104850|989898|1|9999004850|MR|Test|E|Lead 4850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004851|104851|989898|1|9999004851|MR|Test|E|Lead 4851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004852|104852|989898|1|9999004852|MR|Test|E|Lead 4852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004853|104853|989898|1|9999004853|MR|Test|E|Lead 4853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004854|104854|989898|1|9999004854|MR|Test|E|Lead 4854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004855|104855|989898|1|9999004855|MR|Test|E|Lead 4855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004856|104856|989898|1|9999004856|MR|Test|E|Lead 4856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004857|104857|989898|1|9999004857|MR|Test|E|Lead 4857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004858|104858|989898|1|9999004858|MR|Test|E|Lead 4858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004859|104859|989898|1|9999004859|MR|Test|E|Lead 4859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004860|104860|989898|1|9999004860|MR|Test|E|Lead 4860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004861|104861|989898|1|9999004861|MR|Test|E|Lead 4861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004862|104862|989898|1|9999004862|MR|Test|E|Lead 4862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004863|104863|989898|1|9999004863|MR|Test|E|Lead 4863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004864|104864|989898|1|9999004864|MR|Test|E|Lead 4864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004865|104865|989898|1|9999004865|MR|Test|E|Lead 4865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004866|104866|989898|1|9999004866|MR|Test|E|Lead 4866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004867|104867|989898|1|9999004867|MR|Test|E|Lead 4867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004868|104868|989898|1|9999004868|MR|Test|E|Lead 4868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004869|104869|989898|1|9999004869|MR|Test|E|Lead 4869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004870|104870|989898|1|9999004870|MR|Test|E|Lead 4870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004871|104871|989898|1|9999004871|MR|Test|E|Lead 4871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004872|104872|989898|1|9999004872|MR|Test|E|Lead 4872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004873|104873|989898|1|9999004873|MR|Test|E|Lead 4873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004874|104874|989898|1|9999004874|MR|Test|E|Lead 4874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004875|104875|989898|1|9999004875|MR|Test|E|Lead 4875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004876|104876|989898|1|9999004876|MR|Test|E|Lead 4876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004877|104877|989898|1|9999004877|MR|Test|E|Lead 4877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004878|104878|989898|1|9999004878|MR|Test|E|Lead 4878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004879|104879|989898|1|9999004879|MR|Test|E|Lead 4879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004880|104880|989898|1|9999004880|MR|Test|E|Lead 4880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004881|104881|989898|1|9999004881|MR|Test|E|Lead 4881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004882|104882|989898|1|9999004882|MR|Test|E|Lead 4882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004883|104883|989898|1|9999004883|MR|Test|E|Lead 4883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004884|104884|989898|1|9999004884|MR|Test|E|Lead 4884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004885|104885|989898|1|9999004885|MR|Test|E|Lead 4885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004886|104886|989898|1|9999004886|MR|Test|E|Lead 4886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004887|104887|989898|1|9999004887|MR|Test|E|Lead 4887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004888|104888|989898|1|9999004888|MR|Test|E|Lead 4888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004889|104889|989898|1|9999004889|MR|Test|E|Lead 4889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004890|104890|989898|1|9999004890|MR|Test|E|Lead 4890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004891|104891|989898|1|9999004891|MR|Test|E|Lead 4891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004892|104892|989898|1|9999004892|MR|Test|E|Lead 4892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004893|104893|989898|1|9999004893|MR|Test|E|Lead 4893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004894|104894|989898|1|9999004894|MR|Test|E|Lead 4894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004895|104895|989898|1|9999004895|MR|Test|E|Lead 4895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004896|104896|989898|1|9999004896|MR|Test|E|Lead 4896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004897|104897|989898|1|9999004897|MR|Test|E|Lead 4897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004898|104898|989898|1|9999004898|MR|Test|E|Lead 4898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004899|104899|989898|1|9999004899|MR|Test|E|Lead 4899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004900|104900|989898|1|9999004900|MR|Test|E|Lead 4900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004901|104901|989898|1|9999004901|MR|Test|E|Lead 4901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004902|104902|989898|1|9999004902|MR|Test|E|Lead 4902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004903|104903|989898|1|9999004903|MR|Test|E|Lead 4903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004904|104904|989898|1|9999004904|MR|Test|E|Lead 4904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004905|104905|989898|1|9999004905|MR|Test|E|Lead 4905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004906|104906|989898|1|9999004906|MR|Test|E|Lead 4906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004907|104907|989898|1|9999004907|MR|Test|E|Lead 4907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004908|104908|989898|1|9999004908|MR|Test|E|Lead 4908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004909|104909|989898|1|9999004909|MR|Test|E|Lead 4909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004910|104910|989898|1|9999004910|MR|Test|E|Lead 4910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004911|104911|989898|1|9999004911|MR|Test|E|Lead 4911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004912|104912|989898|1|9999004912|MR|Test|E|Lead 4912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004913|104913|989898|1|9999004913|MR|Test|E|Lead 4913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004914|104914|989898|1|9999004914|MR|Test|E|Lead 4914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004915|104915|989898|1|9999004915|MR|Test|E|Lead 4915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004916|104916|989898|1|9999004916|MR|Test|E|Lead 4916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004917|104917|989898|1|9999004917|MR|Test|E|Lead 4917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004918|104918|989898|1|9999004918|MR|Test|E|Lead 4918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004919|104919|989898|1|9999004919|MR|Test|E|Lead 4919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004920|104920|989898|1|9999004920|MR|Test|E|Lead 4920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004921|104921|989898|1|9999004921|MR|Test|E|Lead 4921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004922|104922|989898|1|9999004922|MR|Test|E|Lead 4922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004923|104923|989898|1|9999004923|MR|Test|E|Lead 4923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004924|104924|989898|1|9999004924|MR|Test|E|Lead 4924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004925|104925|989898|1|9999004925|MR|Test|E|Lead 4925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004926|104926|989898|1|9999004926|MR|Test|E|Lead 4926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004927|104927|989898|1|9999004927|MR|Test|E|Lead 4927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004928|104928|989898|1|9999004928|MR|Test|E|Lead 4928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004929|104929|989898|1|9999004929|MR|Test|E|Lead 4929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004930|104930|989898|1|9999004930|MR|Test|E|Lead 4930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004931|104931|989898|1|9999004931|MR|Test|E|Lead 4931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004932|104932|989898|1|9999004932|MR|Test|E|Lead 4932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004933|104933|989898|1|9999004933|MR|Test|E|Lead 4933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004934|104934|989898|1|9999004934|MR|Test|E|Lead 4934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004935|104935|989898|1|9999004935|MR|Test|E|Lead 4935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004936|104936|989898|1|9999004936|MR|Test|E|Lead 4936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004937|104937|989898|1|9999004937|MR|Test|E|Lead 4937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004938|104938|989898|1|9999004938|MR|Test|E|Lead 4938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004939|104939|989898|1|9999004939|MR|Test|E|Lead 4939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004940|104940|989898|1|9999004940|MR|Test|E|Lead 4940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004941|104941|989898|1|9999004941|MR|Test|E|Lead 4941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004942|104942|989898|1|9999004942|MR|Test|E|Lead 4942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004943|104943|989898|1|9999004943|MR|Test|E|Lead 4943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004944|104944|989898|1|9999004944|MR|Test|E|Lead 4944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004945|104945|989898|1|9999004945|MR|Test|E|Lead 4945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004946|104946|989898|1|9999004946|MR|Test|E|Lead 4946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004947|104947|989898|1|9999004947|MR|Test|E|Lead 4947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004948|104948|989898|1|9999004948|MR|Test|E|Lead 4948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004949|104949|989898|1|9999004949|MR|Test|E|Lead 4949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004950|104950|989898|1|9999004950|MR|Test|E|Lead 4950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004951|104951|989898|1|9999004951|MR|Test|E|Lead 4951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004952|104952|989898|1|9999004952|MR|Test|E|Lead 4952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004953|104953|989898|1|9999004953|MR|Test|E|Lead 4953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004954|104954|989898|1|9999004954|MR|Test|E|Lead 4954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004955|104955|989898|1|9999004955|MR|Test|E|Lead 4955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004956|104956|989898|1|9999004956|MR|Test|E|Lead 4956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004957|104957|989898|1|9999004957|MR|Test|E|Lead 4957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004958|104958|989898|1|9999004958|MR|Test|E|Lead 4958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004959|104959|989898|1|9999004959|MR|Test|E|Lead 4959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004960|104960|989898|1|9999004960|MR|Test|E|Lead 4960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004961|104961|989898|1|9999004961|MR|Test|E|Lead 4961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004962|104962|989898|1|9999004962|MR|Test|E|Lead 4962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004963|104963|989898|1|9999004963|MR|Test|E|Lead 4963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004964|104964|989898|1|9999004964|MR|Test|E|Lead 4964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004965|104965|989898|1|9999004965|MR|Test|E|Lead 4965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004966|104966|989898|1|9999004966|MR|Test|E|Lead 4966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004967|104967|989898|1|9999004967|MR|Test|E|Lead 4967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004968|104968|989898|1|9999004968|MR|Test|E|Lead 4968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004969|104969|989898|1|9999004969|MR|Test|E|Lead 4969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004970|104970|989898|1|9999004970|MR|Test|E|Lead 4970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004971|104971|989898|1|9999004971|MR|Test|E|Lead 4971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004972|104972|989898|1|9999004972|MR|Test|E|Lead 4972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004973|104973|989898|1|9999004973|MR|Test|E|Lead 4973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004974|104974|989898|1|9999004974|MR|Test|E|Lead 4974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004975|104975|989898|1|9999004975|MR|Test|E|Lead 4975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004976|104976|989898|1|9999004976|MR|Test|E|Lead 4976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004977|104977|989898|1|9999004977|MR|Test|E|Lead 4977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004978|104978|989898|1|9999004978|MR|Test|E|Lead 4978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004979|104979|989898|1|9999004979|MR|Test|E|Lead 4979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004980|104980|989898|1|9999004980|MR|Test|E|Lead 4980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004981|104981|989898|1|9999004981|MR|Test|E|Lead 4981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004982|104982|989898|1|9999004982|MR|Test|E|Lead 4982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004983|104983|989898|1|9999004983|MR|Test|E|Lead 4983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004984|104984|989898|1|9999004984|MR|Test|E|Lead 4984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004985|104985|989898|1|9999004985|MR|Test|E|Lead 4985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004986|104986|989898|1|9999004986|MR|Test|E|Lead 4986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004987|104987|989898|1|9999004987|MR|Test|E|Lead 4987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004988|104988|989898|1|9999004988|MR|Test|E|Lead 4988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004989|104989|989898|1|9999004989|MR|Test|E|Lead 4989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004990|104990|989898|1|9999004990|MR|Test|E|Lead 4990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004991|104991|989898|1|9999004991|MR|Test|E|Lead 4991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004992|104992|989898|1|9999004992|MR|Test|E|Lead 4992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004993|104993|989898|1|9999004993|MR|Test|E|Lead 4993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004994|104994|989898|1|9999004994|MR|Test|E|Lead 4994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004995|104995|989898|1|9999004995|MR|Test|E|Lead 4995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004996|104996|989898|1|9999004996|MR|Test|E|Lead 4996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004997|104997|989898|1|9999004997|MR|Test|E|Lead 4997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004998|104998|989898|1|9999004998|MR|Test|E|Lead 4998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1004999|104999|989898|1|9999004999|MR|Test|E|Lead 4999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005000|105000|989898|1|9999005000|MR|Test|E|Lead 5000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005001|105001|989898|1|9999005001|MR|Test|E|Lead 5001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005002|105002|989898|1|9999005002|MR|Test|E|Lead 5002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005003|105003|989898|1|9999005003|MR|Test|E|Lead 5003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005004|105004|989898|1|9999005004|MR|Test|E|Lead 5004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005005|105005|989898|1|9999005005|MR|Test|E|Lead 5005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005006|105006|989898|1|9999005006|MR|Test|E|Lead 5006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005007|105007|989898|1|9999005007|MR|Test|E|Lead 5007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005008|105008|989898|1|9999005008|MR|Test|E|Lead 5008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005009|105009|989898|1|9999005009|MR|Test|E|Lead 5009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005010|105010|989898|1|9999005010|MR|Test|E|Lead 5010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005011|105011|989898|1|9999005011|MR|Test|E|Lead 5011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005012|105012|989898|1|9999005012|MR|Test|E|Lead 5012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005013|105013|989898|1|9999005013|MR|Test|E|Lead 5013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005014|105014|989898|1|9999005014|MR|Test|E|Lead 5014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005015|105015|989898|1|9999005015|MR|Test|E|Lead 5015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005016|105016|989898|1|9999005016|MR|Test|E|Lead 5016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005017|105017|989898|1|9999005017|MR|Test|E|Lead 5017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005018|105018|989898|1|9999005018|MR|Test|E|Lead 5018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005019|105019|989898|1|9999005019|MR|Test|E|Lead 5019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005020|105020|989898|1|9999005020|MR|Test|E|Lead 5020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005021|105021|989898|1|9999005021|MR|Test|E|Lead 5021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005022|105022|989898|1|9999005022|MR|Test|E|Lead 5022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005023|105023|989898|1|9999005023|MR|Test|E|Lead 5023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005024|105024|989898|1|9999005024|MR|Test|E|Lead 5024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005025|105025|989898|1|9999005025|MR|Test|E|Lead 5025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005026|105026|989898|1|9999005026|MR|Test|E|Lead 5026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005027|105027|989898|1|9999005027|MR|Test|E|Lead 5027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005028|105028|989898|1|9999005028|MR|Test|E|Lead 5028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005029|105029|989898|1|9999005029|MR|Test|E|Lead 5029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005030|105030|989898|1|9999005030|MR|Test|E|Lead 5030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005031|105031|989898|1|9999005031|MR|Test|E|Lead 5031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005032|105032|989898|1|9999005032|MR|Test|E|Lead 5032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005033|105033|989898|1|9999005033|MR|Test|E|Lead 5033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005034|105034|989898|1|9999005034|MR|Test|E|Lead 5034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005035|105035|989898|1|9999005035|MR|Test|E|Lead 5035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005036|105036|989898|1|9999005036|MR|Test|E|Lead 5036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005037|105037|989898|1|9999005037|MR|Test|E|Lead 5037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005038|105038|989898|1|9999005038|MR|Test|E|Lead 5038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005039|105039|989898|1|9999005039|MR|Test|E|Lead 5039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005040|105040|989898|1|9999005040|MR|Test|E|Lead 5040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005041|105041|989898|1|9999005041|MR|Test|E|Lead 5041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005042|105042|989898|1|9999005042|MR|Test|E|Lead 5042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005043|105043|989898|1|9999005043|MR|Test|E|Lead 5043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005044|105044|989898|1|9999005044|MR|Test|E|Lead 5044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005045|105045|989898|1|9999005045|MR|Test|E|Lead 5045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005046|105046|989898|1|9999005046|MR|Test|E|Lead 5046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005047|105047|989898|1|9999005047|MR|Test|E|Lead 5047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005048|105048|989898|1|9999005048|MR|Test|E|Lead 5048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005049|105049|989898|1|9999005049|MR|Test|E|Lead 5049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005050|105050|989898|1|9999005050|MR|Test|E|Lead 5050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005051|105051|989898|1|9999005051|MR|Test|E|Lead 5051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005052|105052|989898|1|9999005052|MR|Test|E|Lead 5052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005053|105053|989898|1|9999005053|MR|Test|E|Lead 5053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005054|105054|989898|1|9999005054|MR|Test|E|Lead 5054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005055|105055|989898|1|9999005055|MR|Test|E|Lead 5055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005056|105056|989898|1|9999005056|MR|Test|E|Lead 5056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005057|105057|989898|1|9999005057|MR|Test|E|Lead 5057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005058|105058|989898|1|9999005058|MR|Test|E|Lead 5058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005059|105059|989898|1|9999005059|MR|Test|E|Lead 5059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005060|105060|989898|1|9999005060|MR|Test|E|Lead 5060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005061|105061|989898|1|9999005061|MR|Test|E|Lead 5061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005062|105062|989898|1|9999005062|MR|Test|E|Lead 5062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005063|105063|989898|1|9999005063|MR|Test|E|Lead 5063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005064|105064|989898|1|9999005064|MR|Test|E|Lead 5064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005065|105065|989898|1|9999005065|MR|Test|E|Lead 5065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005066|105066|989898|1|9999005066|MR|Test|E|Lead 5066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005067|105067|989898|1|9999005067|MR|Test|E|Lead 5067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005068|105068|989898|1|9999005068|MR|Test|E|Lead 5068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005069|105069|989898|1|9999005069|MR|Test|E|Lead 5069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005070|105070|989898|1|9999005070|MR|Test|E|Lead 5070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005071|105071|989898|1|9999005071|MR|Test|E|Lead 5071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005072|105072|989898|1|9999005072|MR|Test|E|Lead 5072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005073|105073|989898|1|9999005073|MR|Test|E|Lead 5073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005074|105074|989898|1|9999005074|MR|Test|E|Lead 5074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005075|105075|989898|1|9999005075|MR|Test|E|Lead 5075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005076|105076|989898|1|9999005076|MR|Test|E|Lead 5076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005077|105077|989898|1|9999005077|MR|Test|E|Lead 5077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005078|105078|989898|1|9999005078|MR|Test|E|Lead 5078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005079|105079|989898|1|9999005079|MR|Test|E|Lead 5079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005080|105080|989898|1|9999005080|MR|Test|E|Lead 5080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005081|105081|989898|1|9999005081|MR|Test|E|Lead 5081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005082|105082|989898|1|9999005082|MR|Test|E|Lead 5082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005083|105083|989898|1|9999005083|MR|Test|E|Lead 5083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005084|105084|989898|1|9999005084|MR|Test|E|Lead 5084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005085|105085|989898|1|9999005085|MR|Test|E|Lead 5085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005086|105086|989898|1|9999005086|MR|Test|E|Lead 5086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005087|105087|989898|1|9999005087|MR|Test|E|Lead 5087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005088|105088|989898|1|9999005088|MR|Test|E|Lead 5088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005089|105089|989898|1|9999005089|MR|Test|E|Lead 5089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005090|105090|989898|1|9999005090|MR|Test|E|Lead 5090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005091|105091|989898|1|9999005091|MR|Test|E|Lead 5091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005092|105092|989898|1|9999005092|MR|Test|E|Lead 5092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005093|105093|989898|1|9999005093|MR|Test|E|Lead 5093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005094|105094|989898|1|9999005094|MR|Test|E|Lead 5094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005095|105095|989898|1|9999005095|MR|Test|E|Lead 5095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005096|105096|989898|1|9999005096|MR|Test|E|Lead 5096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005097|105097|989898|1|9999005097|MR|Test|E|Lead 5097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005098|105098|989898|1|9999005098|MR|Test|E|Lead 5098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005099|105099|989898|1|9999005099|MR|Test|E|Lead 5099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005100|105100|989898|1|9999005100|MR|Test|E|Lead 5100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005101|105101|989898|1|9999005101|MR|Test|E|Lead 5101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005102|105102|989898|1|9999005102|MR|Test|E|Lead 5102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005103|105103|989898|1|9999005103|MR|Test|E|Lead 5103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005104|105104|989898|1|9999005104|MR|Test|E|Lead 5104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005105|105105|989898|1|9999005105|MR|Test|E|Lead 5105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005106|105106|989898|1|9999005106|MR|Test|E|Lead 5106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005107|105107|989898|1|9999005107|MR|Test|E|Lead 5107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005108|105108|989898|1|9999005108|MR|Test|E|Lead 5108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005109|105109|989898|1|9999005109|MR|Test|E|Lead 5109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005110|105110|989898|1|9999005110|MR|Test|E|Lead 5110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005111|105111|989898|1|9999005111|MR|Test|E|Lead 5111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005112|105112|989898|1|9999005112|MR|Test|E|Lead 5112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005113|105113|989898|1|9999005113|MR|Test|E|Lead 5113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005114|105114|989898|1|9999005114|MR|Test|E|Lead 5114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005115|105115|989898|1|9999005115|MR|Test|E|Lead 5115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005116|105116|989898|1|9999005116|MR|Test|E|Lead 5116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005117|105117|989898|1|9999005117|MR|Test|E|Lead 5117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005118|105118|989898|1|9999005118|MR|Test|E|Lead 5118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005119|105119|989898|1|9999005119|MR|Test|E|Lead 5119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005120|105120|989898|1|9999005120|MR|Test|E|Lead 5120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005121|105121|989898|1|9999005121|MR|Test|E|Lead 5121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005122|105122|989898|1|9999005122|MR|Test|E|Lead 5122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005123|105123|989898|1|9999005123|MR|Test|E|Lead 5123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005124|105124|989898|1|9999005124|MR|Test|E|Lead 5124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005125|105125|989898|1|9999005125|MR|Test|E|Lead 5125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005126|105126|989898|1|9999005126|MR|Test|E|Lead 5126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005127|105127|989898|1|9999005127|MR|Test|E|Lead 5127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005128|105128|989898|1|9999005128|MR|Test|E|Lead 5128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005129|105129|989898|1|9999005129|MR|Test|E|Lead 5129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005130|105130|989898|1|9999005130|MR|Test|E|Lead 5130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005131|105131|989898|1|9999005131|MR|Test|E|Lead 5131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005132|105132|989898|1|9999005132|MR|Test|E|Lead 5132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005133|105133|989898|1|9999005133|MR|Test|E|Lead 5133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005134|105134|989898|1|9999005134|MR|Test|E|Lead 5134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005135|105135|989898|1|9999005135|MR|Test|E|Lead 5135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005136|105136|989898|1|9999005136|MR|Test|E|Lead 5136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005137|105137|989898|1|9999005137|MR|Test|E|Lead 5137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005138|105138|989898|1|9999005138|MR|Test|E|Lead 5138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005139|105139|989898|1|9999005139|MR|Test|E|Lead 5139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005140|105140|989898|1|9999005140|MR|Test|E|Lead 5140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005141|105141|989898|1|9999005141|MR|Test|E|Lead 5141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005142|105142|989898|1|9999005142|MR|Test|E|Lead 5142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005143|105143|989898|1|9999005143|MR|Test|E|Lead 5143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005144|105144|989898|1|9999005144|MR|Test|E|Lead 5144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005145|105145|989898|1|9999005145|MR|Test|E|Lead 5145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005146|105146|989898|1|9999005146|MR|Test|E|Lead 5146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005147|105147|989898|1|9999005147|MR|Test|E|Lead 5147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005148|105148|989898|1|9999005148|MR|Test|E|Lead 5148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005149|105149|989898|1|9999005149|MR|Test|E|Lead 5149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005150|105150|989898|1|9999005150|MR|Test|E|Lead 5150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005151|105151|989898|1|9999005151|MR|Test|E|Lead 5151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005152|105152|989898|1|9999005152|MR|Test|E|Lead 5152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005153|105153|989898|1|9999005153|MR|Test|E|Lead 5153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005154|105154|989898|1|9999005154|MR|Test|E|Lead 5154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005155|105155|989898|1|9999005155|MR|Test|E|Lead 5155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005156|105156|989898|1|9999005156|MR|Test|E|Lead 5156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005157|105157|989898|1|9999005157|MR|Test|E|Lead 5157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005158|105158|989898|1|9999005158|MR|Test|E|Lead 5158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005159|105159|989898|1|9999005159|MR|Test|E|Lead 5159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005160|105160|989898|1|9999005160|MR|Test|E|Lead 5160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005161|105161|989898|1|9999005161|MR|Test|E|Lead 5161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005162|105162|989898|1|9999005162|MR|Test|E|Lead 5162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005163|105163|989898|1|9999005163|MR|Test|E|Lead 5163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005164|105164|989898|1|9999005164|MR|Test|E|Lead 5164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005165|105165|989898|1|9999005165|MR|Test|E|Lead 5165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005166|105166|989898|1|9999005166|MR|Test|E|Lead 5166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005167|105167|989898|1|9999005167|MR|Test|E|Lead 5167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005168|105168|989898|1|9999005168|MR|Test|E|Lead 5168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005169|105169|989898|1|9999005169|MR|Test|E|Lead 5169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005170|105170|989898|1|9999005170|MR|Test|E|Lead 5170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005171|105171|989898|1|9999005171|MR|Test|E|Lead 5171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005172|105172|989898|1|9999005172|MR|Test|E|Lead 5172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005173|105173|989898|1|9999005173|MR|Test|E|Lead 5173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005174|105174|989898|1|9999005174|MR|Test|E|Lead 5174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005175|105175|989898|1|9999005175|MR|Test|E|Lead 5175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005176|105176|989898|1|9999005176|MR|Test|E|Lead 5176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005177|105177|989898|1|9999005177|MR|Test|E|Lead 5177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005178|105178|989898|1|9999005178|MR|Test|E|Lead 5178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005179|105179|989898|1|9999005179|MR|Test|E|Lead 5179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005180|105180|989898|1|9999005180|MR|Test|E|Lead 5180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005181|105181|989898|1|9999005181|MR|Test|E|Lead 5181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005182|105182|989898|1|9999005182|MR|Test|E|Lead 5182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005183|105183|989898|1|9999005183|MR|Test|E|Lead 5183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005184|105184|989898|1|9999005184|MR|Test|E|Lead 5184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005185|105185|989898|1|9999005185|MR|Test|E|Lead 5185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005186|105186|989898|1|9999005186|MR|Test|E|Lead 5186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005187|105187|989898|1|9999005187|MR|Test|E|Lead 5187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005188|105188|989898|1|9999005188|MR|Test|E|Lead 5188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005189|105189|989898|1|9999005189|MR|Test|E|Lead 5189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005190|105190|989898|1|9999005190|MR|Test|E|Lead 5190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005191|105191|989898|1|9999005191|MR|Test|E|Lead 5191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005192|105192|989898|1|9999005192|MR|Test|E|Lead 5192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005193|105193|989898|1|9999005193|MR|Test|E|Lead 5193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005194|105194|989898|1|9999005194|MR|Test|E|Lead 5194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005195|105195|989898|1|9999005195|MR|Test|E|Lead 5195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005196|105196|989898|1|9999005196|MR|Test|E|Lead 5196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005197|105197|989898|1|9999005197|MR|Test|E|Lead 5197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005198|105198|989898|1|9999005198|MR|Test|E|Lead 5198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005199|105199|989898|1|9999005199|MR|Test|E|Lead 5199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005200|105200|989898|1|9999005200|MR|Test|E|Lead 5200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005201|105201|989898|1|9999005201|MR|Test|E|Lead 5201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005202|105202|989898|1|9999005202|MR|Test|E|Lead 5202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005203|105203|989898|1|9999005203|MR|Test|E|Lead 5203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005204|105204|989898|1|9999005204|MR|Test|E|Lead 5204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005205|105205|989898|1|9999005205|MR|Test|E|Lead 5205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005206|105206|989898|1|9999005206|MR|Test|E|Lead 5206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005207|105207|989898|1|9999005207|MR|Test|E|Lead 5207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005208|105208|989898|1|9999005208|MR|Test|E|Lead 5208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005209|105209|989898|1|9999005209|MR|Test|E|Lead 5209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005210|105210|989898|1|9999005210|MR|Test|E|Lead 5210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005211|105211|989898|1|9999005211|MR|Test|E|Lead 5211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005212|105212|989898|1|9999005212|MR|Test|E|Lead 5212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005213|105213|989898|1|9999005213|MR|Test|E|Lead 5213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005214|105214|989898|1|9999005214|MR|Test|E|Lead 5214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005215|105215|989898|1|9999005215|MR|Test|E|Lead 5215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005216|105216|989898|1|9999005216|MR|Test|E|Lead 5216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005217|105217|989898|1|9999005217|MR|Test|E|Lead 5217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005218|105218|989898|1|9999005218|MR|Test|E|Lead 5218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005219|105219|989898|1|9999005219|MR|Test|E|Lead 5219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005220|105220|989898|1|9999005220|MR|Test|E|Lead 5220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005221|105221|989898|1|9999005221|MR|Test|E|Lead 5221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005222|105222|989898|1|9999005222|MR|Test|E|Lead 5222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005223|105223|989898|1|9999005223|MR|Test|E|Lead 5223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005224|105224|989898|1|9999005224|MR|Test|E|Lead 5224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005225|105225|989898|1|9999005225|MR|Test|E|Lead 5225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005226|105226|989898|1|9999005226|MR|Test|E|Lead 5226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005227|105227|989898|1|9999005227|MR|Test|E|Lead 5227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005228|105228|989898|1|9999005228|MR|Test|E|Lead 5228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005229|105229|989898|1|9999005229|MR|Test|E|Lead 5229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005230|105230|989898|1|9999005230|MR|Test|E|Lead 5230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005231|105231|989898|1|9999005231|MR|Test|E|Lead 5231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005232|105232|989898|1|9999005232|MR|Test|E|Lead 5232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005233|105233|989898|1|9999005233|MR|Test|E|Lead 5233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005234|105234|989898|1|9999005234|MR|Test|E|Lead 5234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005235|105235|989898|1|9999005235|MR|Test|E|Lead 5235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005236|105236|989898|1|9999005236|MR|Test|E|Lead 5236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005237|105237|989898|1|9999005237|MR|Test|E|Lead 5237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005238|105238|989898|1|9999005238|MR|Test|E|Lead 5238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005239|105239|989898|1|9999005239|MR|Test|E|Lead 5239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005240|105240|989898|1|9999005240|MR|Test|E|Lead 5240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005241|105241|989898|1|9999005241|MR|Test|E|Lead 5241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005242|105242|989898|1|9999005242|MR|Test|E|Lead 5242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005243|105243|989898|1|9999005243|MR|Test|E|Lead 5243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005244|105244|989898|1|9999005244|MR|Test|E|Lead 5244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005245|105245|989898|1|9999005245|MR|Test|E|Lead 5245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005246|105246|989898|1|9999005246|MR|Test|E|Lead 5246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005247|105247|989898|1|9999005247|MR|Test|E|Lead 5247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005248|105248|989898|1|9999005248|MR|Test|E|Lead 5248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005249|105249|989898|1|9999005249|MR|Test|E|Lead 5249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005250|105250|989898|1|9999005250|MR|Test|E|Lead 5250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005251|105251|989898|1|9999005251|MR|Test|E|Lead 5251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005252|105252|989898|1|9999005252|MR|Test|E|Lead 5252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005253|105253|989898|1|9999005253|MR|Test|E|Lead 5253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005254|105254|989898|1|9999005254|MR|Test|E|Lead 5254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005255|105255|989898|1|9999005255|MR|Test|E|Lead 5255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005256|105256|989898|1|9999005256|MR|Test|E|Lead 5256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005257|105257|989898|1|9999005257|MR|Test|E|Lead 5257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005258|105258|989898|1|9999005258|MR|Test|E|Lead 5258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005259|105259|989898|1|9999005259|MR|Test|E|Lead 5259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005260|105260|989898|1|9999005260|MR|Test|E|Lead 5260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005261|105261|989898|1|9999005261|MR|Test|E|Lead 5261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005262|105262|989898|1|9999005262|MR|Test|E|Lead 5262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005263|105263|989898|1|9999005263|MR|Test|E|Lead 5263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005264|105264|989898|1|9999005264|MR|Test|E|Lead 5264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005265|105265|989898|1|9999005265|MR|Test|E|Lead 5265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005266|105266|989898|1|9999005266|MR|Test|E|Lead 5266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005267|105267|989898|1|9999005267|MR|Test|E|Lead 5267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005268|105268|989898|1|9999005268|MR|Test|E|Lead 5268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005269|105269|989898|1|9999005269|MR|Test|E|Lead 5269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005270|105270|989898|1|9999005270|MR|Test|E|Lead 5270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005271|105271|989898|1|9999005271|MR|Test|E|Lead 5271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005272|105272|989898|1|9999005272|MR|Test|E|Lead 5272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005273|105273|989898|1|9999005273|MR|Test|E|Lead 5273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005274|105274|989898|1|9999005274|MR|Test|E|Lead 5274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005275|105275|989898|1|9999005275|MR|Test|E|Lead 5275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005276|105276|989898|1|9999005276|MR|Test|E|Lead 5276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005277|105277|989898|1|9999005277|MR|Test|E|Lead 5277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005278|105278|989898|1|9999005278|MR|Test|E|Lead 5278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005279|105279|989898|1|9999005279|MR|Test|E|Lead 5279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005280|105280|989898|1|9999005280|MR|Test|E|Lead 5280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005281|105281|989898|1|9999005281|MR|Test|E|Lead 5281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005282|105282|989898|1|9999005282|MR|Test|E|Lead 5282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005283|105283|989898|1|9999005283|MR|Test|E|Lead 5283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005284|105284|989898|1|9999005284|MR|Test|E|Lead 5284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005285|105285|989898|1|9999005285|MR|Test|E|Lead 5285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005286|105286|989898|1|9999005286|MR|Test|E|Lead 5286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005287|105287|989898|1|9999005287|MR|Test|E|Lead 5287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005288|105288|989898|1|9999005288|MR|Test|E|Lead 5288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005289|105289|989898|1|9999005289|MR|Test|E|Lead 5289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005290|105290|989898|1|9999005290|MR|Test|E|Lead 5290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005291|105291|989898|1|9999005291|MR|Test|E|Lead 5291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005292|105292|989898|1|9999005292|MR|Test|E|Lead 5292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005293|105293|989898|1|9999005293|MR|Test|E|Lead 5293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005294|105294|989898|1|9999005294|MR|Test|E|Lead 5294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005295|105295|989898|1|9999005295|MR|Test|E|Lead 5295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005296|105296|989898|1|9999005296|MR|Test|E|Lead 5296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005297|105297|989898|1|9999005297|MR|Test|E|Lead 5297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005298|105298|989898|1|9999005298|MR|Test|E|Lead 5298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005299|105299|989898|1|9999005299|MR|Test|E|Lead 5299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005300|105300|989898|1|9999005300|MR|Test|E|Lead 5300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005301|105301|989898|1|9999005301|MR|Test|E|Lead 5301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005302|105302|989898|1|9999005302|MR|Test|E|Lead 5302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005303|105303|989898|1|9999005303|MR|Test|E|Lead 5303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005304|105304|989898|1|9999005304|MR|Test|E|Lead 5304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005305|105305|989898|1|9999005305|MR|Test|E|Lead 5305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005306|105306|989898|1|9999005306|MR|Test|E|Lead 5306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005307|105307|989898|1|9999005307|MR|Test|E|Lead 5307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005308|105308|989898|1|9999005308|MR|Test|E|Lead 5308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005309|105309|989898|1|9999005309|MR|Test|E|Lead 5309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005310|105310|989898|1|9999005310|MR|Test|E|Lead 5310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005311|105311|989898|1|9999005311|MR|Test|E|Lead 5311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005312|105312|989898|1|9999005312|MR|Test|E|Lead 5312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005313|105313|989898|1|9999005313|MR|Test|E|Lead 5313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005314|105314|989898|1|9999005314|MR|Test|E|Lead 5314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005315|105315|989898|1|9999005315|MR|Test|E|Lead 5315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005316|105316|989898|1|9999005316|MR|Test|E|Lead 5316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005317|105317|989898|1|9999005317|MR|Test|E|Lead 5317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005318|105318|989898|1|9999005318|MR|Test|E|Lead 5318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005319|105319|989898|1|9999005319|MR|Test|E|Lead 5319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005320|105320|989898|1|9999005320|MR|Test|E|Lead 5320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005321|105321|989898|1|9999005321|MR|Test|E|Lead 5321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005322|105322|989898|1|9999005322|MR|Test|E|Lead 5322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005323|105323|989898|1|9999005323|MR|Test|E|Lead 5323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005324|105324|989898|1|9999005324|MR|Test|E|Lead 5324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005325|105325|989898|1|9999005325|MR|Test|E|Lead 5325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005326|105326|989898|1|9999005326|MR|Test|E|Lead 5326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005327|105327|989898|1|9999005327|MR|Test|E|Lead 5327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005328|105328|989898|1|9999005328|MR|Test|E|Lead 5328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005329|105329|989898|1|9999005329|MR|Test|E|Lead 5329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005330|105330|989898|1|9999005330|MR|Test|E|Lead 5330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005331|105331|989898|1|9999005331|MR|Test|E|Lead 5331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005332|105332|989898|1|9999005332|MR|Test|E|Lead 5332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005333|105333|989898|1|9999005333|MR|Test|E|Lead 5333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005334|105334|989898|1|9999005334|MR|Test|E|Lead 5334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005335|105335|989898|1|9999005335|MR|Test|E|Lead 5335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005336|105336|989898|1|9999005336|MR|Test|E|Lead 5336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005337|105337|989898|1|9999005337|MR|Test|E|Lead 5337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005338|105338|989898|1|9999005338|MR|Test|E|Lead 5338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005339|105339|989898|1|9999005339|MR|Test|E|Lead 5339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005340|105340|989898|1|9999005340|MR|Test|E|Lead 5340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005341|105341|989898|1|9999005341|MR|Test|E|Lead 5341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005342|105342|989898|1|9999005342|MR|Test|E|Lead 5342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005343|105343|989898|1|9999005343|MR|Test|E|Lead 5343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005344|105344|989898|1|9999005344|MR|Test|E|Lead 5344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005345|105345|989898|1|9999005345|MR|Test|E|Lead 5345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005346|105346|989898|1|9999005346|MR|Test|E|Lead 5346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005347|105347|989898|1|9999005347|MR|Test|E|Lead 5347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005348|105348|989898|1|9999005348|MR|Test|E|Lead 5348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005349|105349|989898|1|9999005349|MR|Test|E|Lead 5349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005350|105350|989898|1|9999005350|MR|Test|E|Lead 5350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005351|105351|989898|1|9999005351|MR|Test|E|Lead 5351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005352|105352|989898|1|9999005352|MR|Test|E|Lead 5352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005353|105353|989898|1|9999005353|MR|Test|E|Lead 5353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005354|105354|989898|1|9999005354|MR|Test|E|Lead 5354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005355|105355|989898|1|9999005355|MR|Test|E|Lead 5355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005356|105356|989898|1|9999005356|MR|Test|E|Lead 5356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005357|105357|989898|1|9999005357|MR|Test|E|Lead 5357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005358|105358|989898|1|9999005358|MR|Test|E|Lead 5358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005359|105359|989898|1|9999005359|MR|Test|E|Lead 5359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005360|105360|989898|1|9999005360|MR|Test|E|Lead 5360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005361|105361|989898|1|9999005361|MR|Test|E|Lead 5361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005362|105362|989898|1|9999005362|MR|Test|E|Lead 5362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005363|105363|989898|1|9999005363|MR|Test|E|Lead 5363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005364|105364|989898|1|9999005364|MR|Test|E|Lead 5364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005365|105365|989898|1|9999005365|MR|Test|E|Lead 5365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005366|105366|989898|1|9999005366|MR|Test|E|Lead 5366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005367|105367|989898|1|9999005367|MR|Test|E|Lead 5367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005368|105368|989898|1|9999005368|MR|Test|E|Lead 5368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005369|105369|989898|1|9999005369|MR|Test|E|Lead 5369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005370|105370|989898|1|9999005370|MR|Test|E|Lead 5370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005371|105371|989898|1|9999005371|MR|Test|E|Lead 5371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005372|105372|989898|1|9999005372|MR|Test|E|Lead 5372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005373|105373|989898|1|9999005373|MR|Test|E|Lead 5373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005374|105374|989898|1|9999005374|MR|Test|E|Lead 5374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005375|105375|989898|1|9999005375|MR|Test|E|Lead 5375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005376|105376|989898|1|9999005376|MR|Test|E|Lead 5376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005377|105377|989898|1|9999005377|MR|Test|E|Lead 5377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005378|105378|989898|1|9999005378|MR|Test|E|Lead 5378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005379|105379|989898|1|9999005379|MR|Test|E|Lead 5379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005380|105380|989898|1|9999005380|MR|Test|E|Lead 5380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005381|105381|989898|1|9999005381|MR|Test|E|Lead 5381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005382|105382|989898|1|9999005382|MR|Test|E|Lead 5382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005383|105383|989898|1|9999005383|MR|Test|E|Lead 5383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005384|105384|989898|1|9999005384|MR|Test|E|Lead 5384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005385|105385|989898|1|9999005385|MR|Test|E|Lead 5385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005386|105386|989898|1|9999005386|MR|Test|E|Lead 5386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005387|105387|989898|1|9999005387|MR|Test|E|Lead 5387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005388|105388|989898|1|9999005388|MR|Test|E|Lead 5388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005389|105389|989898|1|9999005389|MR|Test|E|Lead 5389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005390|105390|989898|1|9999005390|MR|Test|E|Lead 5390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005391|105391|989898|1|9999005391|MR|Test|E|Lead 5391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005392|105392|989898|1|9999005392|MR|Test|E|Lead 5392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005393|105393|989898|1|9999005393|MR|Test|E|Lead 5393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005394|105394|989898|1|9999005394|MR|Test|E|Lead 5394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005395|105395|989898|1|9999005395|MR|Test|E|Lead 5395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005396|105396|989898|1|9999005396|MR|Test|E|Lead 5396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005397|105397|989898|1|9999005397|MR|Test|E|Lead 5397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005398|105398|989898|1|9999005398|MR|Test|E|Lead 5398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005399|105399|989898|1|9999005399|MR|Test|E|Lead 5399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005400|105400|989898|1|9999005400|MR|Test|E|Lead 5400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005401|105401|989898|1|9999005401|MR|Test|E|Lead 5401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005402|105402|989898|1|9999005402|MR|Test|E|Lead 5402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005403|105403|989898|1|9999005403|MR|Test|E|Lead 5403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005404|105404|989898|1|9999005404|MR|Test|E|Lead 5404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005405|105405|989898|1|9999005405|MR|Test|E|Lead 5405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005406|105406|989898|1|9999005406|MR|Test|E|Lead 5406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005407|105407|989898|1|9999005407|MR|Test|E|Lead 5407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005408|105408|989898|1|9999005408|MR|Test|E|Lead 5408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005409|105409|989898|1|9999005409|MR|Test|E|Lead 5409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005410|105410|989898|1|9999005410|MR|Test|E|Lead 5410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005411|105411|989898|1|9999005411|MR|Test|E|Lead 5411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005412|105412|989898|1|9999005412|MR|Test|E|Lead 5412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005413|105413|989898|1|9999005413|MR|Test|E|Lead 5413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005414|105414|989898|1|9999005414|MR|Test|E|Lead 5414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005415|105415|989898|1|9999005415|MR|Test|E|Lead 5415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005416|105416|989898|1|9999005416|MR|Test|E|Lead 5416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005417|105417|989898|1|9999005417|MR|Test|E|Lead 5417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005418|105418|989898|1|9999005418|MR|Test|E|Lead 5418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005419|105419|989898|1|9999005419|MR|Test|E|Lead 5419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005420|105420|989898|1|9999005420|MR|Test|E|Lead 5420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005421|105421|989898|1|9999005421|MR|Test|E|Lead 5421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005422|105422|989898|1|9999005422|MR|Test|E|Lead 5422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005423|105423|989898|1|9999005423|MR|Test|E|Lead 5423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005424|105424|989898|1|9999005424|MR|Test|E|Lead 5424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005425|105425|989898|1|9999005425|MR|Test|E|Lead 5425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005426|105426|989898|1|9999005426|MR|Test|E|Lead 5426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005427|105427|989898|1|9999005427|MR|Test|E|Lead 5427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005428|105428|989898|1|9999005428|MR|Test|E|Lead 5428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005429|105429|989898|1|9999005429|MR|Test|E|Lead 5429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005430|105430|989898|1|9999005430|MR|Test|E|Lead 5430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005431|105431|989898|1|9999005431|MR|Test|E|Lead 5431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005432|105432|989898|1|9999005432|MR|Test|E|Lead 5432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005433|105433|989898|1|9999005433|MR|Test|E|Lead 5433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005434|105434|989898|1|9999005434|MR|Test|E|Lead 5434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005435|105435|989898|1|9999005435|MR|Test|E|Lead 5435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005436|105436|989898|1|9999005436|MR|Test|E|Lead 5436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005437|105437|989898|1|9999005437|MR|Test|E|Lead 5437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005438|105438|989898|1|9999005438|MR|Test|E|Lead 5438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005439|105439|989898|1|9999005439|MR|Test|E|Lead 5439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005440|105440|989898|1|9999005440|MR|Test|E|Lead 5440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005441|105441|989898|1|9999005441|MR|Test|E|Lead 5441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005442|105442|989898|1|9999005442|MR|Test|E|Lead 5442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005443|105443|989898|1|9999005443|MR|Test|E|Lead 5443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005444|105444|989898|1|9999005444|MR|Test|E|Lead 5444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005445|105445|989898|1|9999005445|MR|Test|E|Lead 5445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005446|105446|989898|1|9999005446|MR|Test|E|Lead 5446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005447|105447|989898|1|9999005447|MR|Test|E|Lead 5447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005448|105448|989898|1|9999005448|MR|Test|E|Lead 5448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005449|105449|989898|1|9999005449|MR|Test|E|Lead 5449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005450|105450|989898|1|9999005450|MR|Test|E|Lead 5450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005451|105451|989898|1|9999005451|MR|Test|E|Lead 5451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005452|105452|989898|1|9999005452|MR|Test|E|Lead 5452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005453|105453|989898|1|9999005453|MR|Test|E|Lead 5453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005454|105454|989898|1|9999005454|MR|Test|E|Lead 5454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005455|105455|989898|1|9999005455|MR|Test|E|Lead 5455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005456|105456|989898|1|9999005456|MR|Test|E|Lead 5456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005457|105457|989898|1|9999005457|MR|Test|E|Lead 5457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005458|105458|989898|1|9999005458|MR|Test|E|Lead 5458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005459|105459|989898|1|9999005459|MR|Test|E|Lead 5459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005460|105460|989898|1|9999005460|MR|Test|E|Lead 5460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005461|105461|989898|1|9999005461|MR|Test|E|Lead 5461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005462|105462|989898|1|9999005462|MR|Test|E|Lead 5462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005463|105463|989898|1|9999005463|MR|Test|E|Lead 5463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005464|105464|989898|1|9999005464|MR|Test|E|Lead 5464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005465|105465|989898|1|9999005465|MR|Test|E|Lead 5465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005466|105466|989898|1|9999005466|MR|Test|E|Lead 5466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005467|105467|989898|1|9999005467|MR|Test|E|Lead 5467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005468|105468|989898|1|9999005468|MR|Test|E|Lead 5468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005469|105469|989898|1|9999005469|MR|Test|E|Lead 5469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005470|105470|989898|1|9999005470|MR|Test|E|Lead 5470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005471|105471|989898|1|9999005471|MR|Test|E|Lead 5471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005472|105472|989898|1|9999005472|MR|Test|E|Lead 5472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005473|105473|989898|1|9999005473|MR|Test|E|Lead 5473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005474|105474|989898|1|9999005474|MR|Test|E|Lead 5474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005475|105475|989898|1|9999005475|MR|Test|E|Lead 5475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005476|105476|989898|1|9999005476|MR|Test|E|Lead 5476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005477|105477|989898|1|9999005477|MR|Test|E|Lead 5477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005478|105478|989898|1|9999005478|MR|Test|E|Lead 5478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005479|105479|989898|1|9999005479|MR|Test|E|Lead 5479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005480|105480|989898|1|9999005480|MR|Test|E|Lead 5480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005481|105481|989898|1|9999005481|MR|Test|E|Lead 5481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005482|105482|989898|1|9999005482|MR|Test|E|Lead 5482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005483|105483|989898|1|9999005483|MR|Test|E|Lead 5483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005484|105484|989898|1|9999005484|MR|Test|E|Lead 5484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005485|105485|989898|1|9999005485|MR|Test|E|Lead 5485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005486|105486|989898|1|9999005486|MR|Test|E|Lead 5486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005487|105487|989898|1|9999005487|MR|Test|E|Lead 5487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005488|105488|989898|1|9999005488|MR|Test|E|Lead 5488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005489|105489|989898|1|9999005489|MR|Test|E|Lead 5489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005490|105490|989898|1|9999005490|MR|Test|E|Lead 5490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005491|105491|989898|1|9999005491|MR|Test|E|Lead 5491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005492|105492|989898|1|9999005492|MR|Test|E|Lead 5492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005493|105493|989898|1|9999005493|MR|Test|E|Lead 5493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005494|105494|989898|1|9999005494|MR|Test|E|Lead 5494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005495|105495|989898|1|9999005495|MR|Test|E|Lead 5495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005496|105496|989898|1|9999005496|MR|Test|E|Lead 5496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005497|105497|989898|1|9999005497|MR|Test|E|Lead 5497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005498|105498|989898|1|9999005498|MR|Test|E|Lead 5498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005499|105499|989898|1|9999005499|MR|Test|E|Lead 5499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005500|105500|989898|1|9999005500|MR|Test|E|Lead 5500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005501|105501|989898|1|9999005501|MR|Test|E|Lead 5501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005502|105502|989898|1|9999005502|MR|Test|E|Lead 5502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005503|105503|989898|1|9999005503|MR|Test|E|Lead 5503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005504|105504|989898|1|9999005504|MR|Test|E|Lead 5504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005505|105505|989898|1|9999005505|MR|Test|E|Lead 5505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005506|105506|989898|1|9999005506|MR|Test|E|Lead 5506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005507|105507|989898|1|9999005507|MR|Test|E|Lead 5507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005508|105508|989898|1|9999005508|MR|Test|E|Lead 5508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005509|105509|989898|1|9999005509|MR|Test|E|Lead 5509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005510|105510|989898|1|9999005510|MR|Test|E|Lead 5510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005511|105511|989898|1|9999005511|MR|Test|E|Lead 5511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005512|105512|989898|1|9999005512|MR|Test|E|Lead 5512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005513|105513|989898|1|9999005513|MR|Test|E|Lead 5513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005514|105514|989898|1|9999005514|MR|Test|E|Lead 5514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005515|105515|989898|1|9999005515|MR|Test|E|Lead 5515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005516|105516|989898|1|9999005516|MR|Test|E|Lead 5516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005517|105517|989898|1|9999005517|MR|Test|E|Lead 5517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005518|105518|989898|1|9999005518|MR|Test|E|Lead 5518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005519|105519|989898|1|9999005519|MR|Test|E|Lead 5519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005520|105520|989898|1|9999005520|MR|Test|E|Lead 5520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005521|105521|989898|1|9999005521|MR|Test|E|Lead 5521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005522|105522|989898|1|9999005522|MR|Test|E|Lead 5522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005523|105523|989898|1|9999005523|MR|Test|E|Lead 5523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005524|105524|989898|1|9999005524|MR|Test|E|Lead 5524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005525|105525|989898|1|9999005525|MR|Test|E|Lead 5525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005526|105526|989898|1|9999005526|MR|Test|E|Lead 5526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005527|105527|989898|1|9999005527|MR|Test|E|Lead 5527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005528|105528|989898|1|9999005528|MR|Test|E|Lead 5528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005529|105529|989898|1|9999005529|MR|Test|E|Lead 5529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005530|105530|989898|1|9999005530|MR|Test|E|Lead 5530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005531|105531|989898|1|9999005531|MR|Test|E|Lead 5531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005532|105532|989898|1|9999005532|MR|Test|E|Lead 5532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005533|105533|989898|1|9999005533|MR|Test|E|Lead 5533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005534|105534|989898|1|9999005534|MR|Test|E|Lead 5534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005535|105535|989898|1|9999005535|MR|Test|E|Lead 5535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005536|105536|989898|1|9999005536|MR|Test|E|Lead 5536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005537|105537|989898|1|9999005537|MR|Test|E|Lead 5537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005538|105538|989898|1|9999005538|MR|Test|E|Lead 5538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005539|105539|989898|1|9999005539|MR|Test|E|Lead 5539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005540|105540|989898|1|9999005540|MR|Test|E|Lead 5540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005541|105541|989898|1|9999005541|MR|Test|E|Lead 5541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005542|105542|989898|1|9999005542|MR|Test|E|Lead 5542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005543|105543|989898|1|9999005543|MR|Test|E|Lead 5543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005544|105544|989898|1|9999005544|MR|Test|E|Lead 5544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005545|105545|989898|1|9999005545|MR|Test|E|Lead 5545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005546|105546|989898|1|9999005546|MR|Test|E|Lead 5546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005547|105547|989898|1|9999005547|MR|Test|E|Lead 5547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005548|105548|989898|1|9999005548|MR|Test|E|Lead 5548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005549|105549|989898|1|9999005549|MR|Test|E|Lead 5549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005550|105550|989898|1|9999005550|MR|Test|E|Lead 5550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005551|105551|989898|1|9999005551|MR|Test|E|Lead 5551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005552|105552|989898|1|9999005552|MR|Test|E|Lead 5552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005553|105553|989898|1|9999005553|MR|Test|E|Lead 5553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005554|105554|989898|1|9999005554|MR|Test|E|Lead 5554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005555|105555|989898|1|9999005555|MR|Test|E|Lead 5555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005556|105556|989898|1|9999005556|MR|Test|E|Lead 5556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005557|105557|989898|1|9999005557|MR|Test|E|Lead 5557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005558|105558|989898|1|9999005558|MR|Test|E|Lead 5558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005559|105559|989898|1|9999005559|MR|Test|E|Lead 5559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005560|105560|989898|1|9999005560|MR|Test|E|Lead 5560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005561|105561|989898|1|9999005561|MR|Test|E|Lead 5561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005562|105562|989898|1|9999005562|MR|Test|E|Lead 5562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005563|105563|989898|1|9999005563|MR|Test|E|Lead 5563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005564|105564|989898|1|9999005564|MR|Test|E|Lead 5564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005565|105565|989898|1|9999005565|MR|Test|E|Lead 5565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005566|105566|989898|1|9999005566|MR|Test|E|Lead 5566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005567|105567|989898|1|9999005567|MR|Test|E|Lead 5567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005568|105568|989898|1|9999005568|MR|Test|E|Lead 5568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005569|105569|989898|1|9999005569|MR|Test|E|Lead 5569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005570|105570|989898|1|9999005570|MR|Test|E|Lead 5570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005571|105571|989898|1|9999005571|MR|Test|E|Lead 5571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005572|105572|989898|1|9999005572|MR|Test|E|Lead 5572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005573|105573|989898|1|9999005573|MR|Test|E|Lead 5573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005574|105574|989898|1|9999005574|MR|Test|E|Lead 5574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005575|105575|989898|1|9999005575|MR|Test|E|Lead 5575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005576|105576|989898|1|9999005576|MR|Test|E|Lead 5576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005577|105577|989898|1|9999005577|MR|Test|E|Lead 5577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005578|105578|989898|1|9999005578|MR|Test|E|Lead 5578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005579|105579|989898|1|9999005579|MR|Test|E|Lead 5579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005580|105580|989898|1|9999005580|MR|Test|E|Lead 5580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005581|105581|989898|1|9999005581|MR|Test|E|Lead 5581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005582|105582|989898|1|9999005582|MR|Test|E|Lead 5582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005583|105583|989898|1|9999005583|MR|Test|E|Lead 5583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005584|105584|989898|1|9999005584|MR|Test|E|Lead 5584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005585|105585|989898|1|9999005585|MR|Test|E|Lead 5585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005586|105586|989898|1|9999005586|MR|Test|E|Lead 5586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005587|105587|989898|1|9999005587|MR|Test|E|Lead 5587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005588|105588|989898|1|9999005588|MR|Test|E|Lead 5588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005589|105589|989898|1|9999005589|MR|Test|E|Lead 5589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005590|105590|989898|1|9999005590|MR|Test|E|Lead 5590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005591|105591|989898|1|9999005591|MR|Test|E|Lead 5591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005592|105592|989898|1|9999005592|MR|Test|E|Lead 5592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005593|105593|989898|1|9999005593|MR|Test|E|Lead 5593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005594|105594|989898|1|9999005594|MR|Test|E|Lead 5594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005595|105595|989898|1|9999005595|MR|Test|E|Lead 5595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005596|105596|989898|1|9999005596|MR|Test|E|Lead 5596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005597|105597|989898|1|9999005597|MR|Test|E|Lead 5597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005598|105598|989898|1|9999005598|MR|Test|E|Lead 5598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005599|105599|989898|1|9999005599|MR|Test|E|Lead 5599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005600|105600|989898|1|9999005600|MR|Test|E|Lead 5600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005601|105601|989898|1|9999005601|MR|Test|E|Lead 5601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005602|105602|989898|1|9999005602|MR|Test|E|Lead 5602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005603|105603|989898|1|9999005603|MR|Test|E|Lead 5603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005604|105604|989898|1|9999005604|MR|Test|E|Lead 5604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005605|105605|989898|1|9999005605|MR|Test|E|Lead 5605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005606|105606|989898|1|9999005606|MR|Test|E|Lead 5606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005607|105607|989898|1|9999005607|MR|Test|E|Lead 5607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005608|105608|989898|1|9999005608|MR|Test|E|Lead 5608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005609|105609|989898|1|9999005609|MR|Test|E|Lead 5609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005610|105610|989898|1|9999005610|MR|Test|E|Lead 5610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005611|105611|989898|1|9999005611|MR|Test|E|Lead 5611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005612|105612|989898|1|9999005612|MR|Test|E|Lead 5612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005613|105613|989898|1|9999005613|MR|Test|E|Lead 5613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005614|105614|989898|1|9999005614|MR|Test|E|Lead 5614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005615|105615|989898|1|9999005615|MR|Test|E|Lead 5615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005616|105616|989898|1|9999005616|MR|Test|E|Lead 5616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005617|105617|989898|1|9999005617|MR|Test|E|Lead 5617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005618|105618|989898|1|9999005618|MR|Test|E|Lead 5618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005619|105619|989898|1|9999005619|MR|Test|E|Lead 5619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005620|105620|989898|1|9999005620|MR|Test|E|Lead 5620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005621|105621|989898|1|9999005621|MR|Test|E|Lead 5621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005622|105622|989898|1|9999005622|MR|Test|E|Lead 5622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005623|105623|989898|1|9999005623|MR|Test|E|Lead 5623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005624|105624|989898|1|9999005624|MR|Test|E|Lead 5624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005625|105625|989898|1|9999005625|MR|Test|E|Lead 5625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005626|105626|989898|1|9999005626|MR|Test|E|Lead 5626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005627|105627|989898|1|9999005627|MR|Test|E|Lead 5627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005628|105628|989898|1|9999005628|MR|Test|E|Lead 5628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005629|105629|989898|1|9999005629|MR|Test|E|Lead 5629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005630|105630|989898|1|9999005630|MR|Test|E|Lead 5630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005631|105631|989898|1|9999005631|MR|Test|E|Lead 5631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005632|105632|989898|1|9999005632|MR|Test|E|Lead 5632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005633|105633|989898|1|9999005633|MR|Test|E|Lead 5633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005634|105634|989898|1|9999005634|MR|Test|E|Lead 5634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005635|105635|989898|1|9999005635|MR|Test|E|Lead 5635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005636|105636|989898|1|9999005636|MR|Test|E|Lead 5636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005637|105637|989898|1|9999005637|MR|Test|E|Lead 5637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005638|105638|989898|1|9999005638|MR|Test|E|Lead 5638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005639|105639|989898|1|9999005639|MR|Test|E|Lead 5639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005640|105640|989898|1|9999005640|MR|Test|E|Lead 5640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005641|105641|989898|1|9999005641|MR|Test|E|Lead 5641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005642|105642|989898|1|9999005642|MR|Test|E|Lead 5642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005643|105643|989898|1|9999005643|MR|Test|E|Lead 5643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005644|105644|989898|1|9999005644|MR|Test|E|Lead 5644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005645|105645|989898|1|9999005645|MR|Test|E|Lead 5645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005646|105646|989898|1|9999005646|MR|Test|E|Lead 5646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005647|105647|989898|1|9999005647|MR|Test|E|Lead 5647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005648|105648|989898|1|9999005648|MR|Test|E|Lead 5648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005649|105649|989898|1|9999005649|MR|Test|E|Lead 5649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005650|105650|989898|1|9999005650|MR|Test|E|Lead 5650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005651|105651|989898|1|9999005651|MR|Test|E|Lead 5651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005652|105652|989898|1|9999005652|MR|Test|E|Lead 5652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005653|105653|989898|1|9999005653|MR|Test|E|Lead 5653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005654|105654|989898|1|9999005654|MR|Test|E|Lead 5654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005655|105655|989898|1|9999005655|MR|Test|E|Lead 5655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005656|105656|989898|1|9999005656|MR|Test|E|Lead 5656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005657|105657|989898|1|9999005657|MR|Test|E|Lead 5657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005658|105658|989898|1|9999005658|MR|Test|E|Lead 5658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005659|105659|989898|1|9999005659|MR|Test|E|Lead 5659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005660|105660|989898|1|9999005660|MR|Test|E|Lead 5660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005661|105661|989898|1|9999005661|MR|Test|E|Lead 5661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005662|105662|989898|1|9999005662|MR|Test|E|Lead 5662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005663|105663|989898|1|9999005663|MR|Test|E|Lead 5663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005664|105664|989898|1|9999005664|MR|Test|E|Lead 5664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005665|105665|989898|1|9999005665|MR|Test|E|Lead 5665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005666|105666|989898|1|9999005666|MR|Test|E|Lead 5666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005667|105667|989898|1|9999005667|MR|Test|E|Lead 5667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005668|105668|989898|1|9999005668|MR|Test|E|Lead 5668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005669|105669|989898|1|9999005669|MR|Test|E|Lead 5669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005670|105670|989898|1|9999005670|MR|Test|E|Lead 5670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005671|105671|989898|1|9999005671|MR|Test|E|Lead 5671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005672|105672|989898|1|9999005672|MR|Test|E|Lead 5672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005673|105673|989898|1|9999005673|MR|Test|E|Lead 5673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005674|105674|989898|1|9999005674|MR|Test|E|Lead 5674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005675|105675|989898|1|9999005675|MR|Test|E|Lead 5675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005676|105676|989898|1|9999005676|MR|Test|E|Lead 5676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005677|105677|989898|1|9999005677|MR|Test|E|Lead 5677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005678|105678|989898|1|9999005678|MR|Test|E|Lead 5678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005679|105679|989898|1|9999005679|MR|Test|E|Lead 5679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005680|105680|989898|1|9999005680|MR|Test|E|Lead 5680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005681|105681|989898|1|9999005681|MR|Test|E|Lead 5681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005682|105682|989898|1|9999005682|MR|Test|E|Lead 5682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005683|105683|989898|1|9999005683|MR|Test|E|Lead 5683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005684|105684|989898|1|9999005684|MR|Test|E|Lead 5684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005685|105685|989898|1|9999005685|MR|Test|E|Lead 5685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005686|105686|989898|1|9999005686|MR|Test|E|Lead 5686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005687|105687|989898|1|9999005687|MR|Test|E|Lead 5687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005688|105688|989898|1|9999005688|MR|Test|E|Lead 5688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005689|105689|989898|1|9999005689|MR|Test|E|Lead 5689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005690|105690|989898|1|9999005690|MR|Test|E|Lead 5690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005691|105691|989898|1|9999005691|MR|Test|E|Lead 5691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005692|105692|989898|1|9999005692|MR|Test|E|Lead 5692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005693|105693|989898|1|9999005693|MR|Test|E|Lead 5693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005694|105694|989898|1|9999005694|MR|Test|E|Lead 5694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005695|105695|989898|1|9999005695|MR|Test|E|Lead 5695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005696|105696|989898|1|9999005696|MR|Test|E|Lead 5696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005697|105697|989898|1|9999005697|MR|Test|E|Lead 5697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005698|105698|989898|1|9999005698|MR|Test|E|Lead 5698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005699|105699|989898|1|9999005699|MR|Test|E|Lead 5699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005700|105700|989898|1|9999005700|MR|Test|E|Lead 5700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005701|105701|989898|1|9999005701|MR|Test|E|Lead 5701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005702|105702|989898|1|9999005702|MR|Test|E|Lead 5702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005703|105703|989898|1|9999005703|MR|Test|E|Lead 5703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005704|105704|989898|1|9999005704|MR|Test|E|Lead 5704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005705|105705|989898|1|9999005705|MR|Test|E|Lead 5705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005706|105706|989898|1|9999005706|MR|Test|E|Lead 5706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005707|105707|989898|1|9999005707|MR|Test|E|Lead 5707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005708|105708|989898|1|9999005708|MR|Test|E|Lead 5708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005709|105709|989898|1|9999005709|MR|Test|E|Lead 5709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005710|105710|989898|1|9999005710|MR|Test|E|Lead 5710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005711|105711|989898|1|9999005711|MR|Test|E|Lead 5711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005712|105712|989898|1|9999005712|MR|Test|E|Lead 5712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005713|105713|989898|1|9999005713|MR|Test|E|Lead 5713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005714|105714|989898|1|9999005714|MR|Test|E|Lead 5714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005715|105715|989898|1|9999005715|MR|Test|E|Lead 5715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005716|105716|989898|1|9999005716|MR|Test|E|Lead 5716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005717|105717|989898|1|9999005717|MR|Test|E|Lead 5717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005718|105718|989898|1|9999005718|MR|Test|E|Lead 5718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005719|105719|989898|1|9999005719|MR|Test|E|Lead 5719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005720|105720|989898|1|9999005720|MR|Test|E|Lead 5720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005721|105721|989898|1|9999005721|MR|Test|E|Lead 5721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005722|105722|989898|1|9999005722|MR|Test|E|Lead 5722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005723|105723|989898|1|9999005723|MR|Test|E|Lead 5723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005724|105724|989898|1|9999005724|MR|Test|E|Lead 5724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005725|105725|989898|1|9999005725|MR|Test|E|Lead 5725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005726|105726|989898|1|9999005726|MR|Test|E|Lead 5726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005727|105727|989898|1|9999005727|MR|Test|E|Lead 5727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005728|105728|989898|1|9999005728|MR|Test|E|Lead 5728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005729|105729|989898|1|9999005729|MR|Test|E|Lead 5729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005730|105730|989898|1|9999005730|MR|Test|E|Lead 5730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005731|105731|989898|1|9999005731|MR|Test|E|Lead 5731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005732|105732|989898|1|9999005732|MR|Test|E|Lead 5732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005733|105733|989898|1|9999005733|MR|Test|E|Lead 5733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005734|105734|989898|1|9999005734|MR|Test|E|Lead 5734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005735|105735|989898|1|9999005735|MR|Test|E|Lead 5735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005736|105736|989898|1|9999005736|MR|Test|E|Lead 5736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005737|105737|989898|1|9999005737|MR|Test|E|Lead 5737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005738|105738|989898|1|9999005738|MR|Test|E|Lead 5738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005739|105739|989898|1|9999005739|MR|Test|E|Lead 5739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005740|105740|989898|1|9999005740|MR|Test|E|Lead 5740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005741|105741|989898|1|9999005741|MR|Test|E|Lead 5741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005742|105742|989898|1|9999005742|MR|Test|E|Lead 5742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005743|105743|989898|1|9999005743|MR|Test|E|Lead 5743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005744|105744|989898|1|9999005744|MR|Test|E|Lead 5744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005745|105745|989898|1|9999005745|MR|Test|E|Lead 5745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005746|105746|989898|1|9999005746|MR|Test|E|Lead 5746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005747|105747|989898|1|9999005747|MR|Test|E|Lead 5747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005748|105748|989898|1|9999005748|MR|Test|E|Lead 5748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005749|105749|989898|1|9999005749|MR|Test|E|Lead 5749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005750|105750|989898|1|9999005750|MR|Test|E|Lead 5750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005751|105751|989898|1|9999005751|MR|Test|E|Lead 5751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005752|105752|989898|1|9999005752|MR|Test|E|Lead 5752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005753|105753|989898|1|9999005753|MR|Test|E|Lead 5753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005754|105754|989898|1|9999005754|MR|Test|E|Lead 5754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005755|105755|989898|1|9999005755|MR|Test|E|Lead 5755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005756|105756|989898|1|9999005756|MR|Test|E|Lead 5756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005757|105757|989898|1|9999005757|MR|Test|E|Lead 5757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005758|105758|989898|1|9999005758|MR|Test|E|Lead 5758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005759|105759|989898|1|9999005759|MR|Test|E|Lead 5759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005760|105760|989898|1|9999005760|MR|Test|E|Lead 5760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005761|105761|989898|1|9999005761|MR|Test|E|Lead 5761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005762|105762|989898|1|9999005762|MR|Test|E|Lead 5762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005763|105763|989898|1|9999005763|MR|Test|E|Lead 5763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005764|105764|989898|1|9999005764|MR|Test|E|Lead 5764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005765|105765|989898|1|9999005765|MR|Test|E|Lead 5765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005766|105766|989898|1|9999005766|MR|Test|E|Lead 5766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005767|105767|989898|1|9999005767|MR|Test|E|Lead 5767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005768|105768|989898|1|9999005768|MR|Test|E|Lead 5768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005769|105769|989898|1|9999005769|MR|Test|E|Lead 5769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005770|105770|989898|1|9999005770|MR|Test|E|Lead 5770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005771|105771|989898|1|9999005771|MR|Test|E|Lead 5771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005772|105772|989898|1|9999005772|MR|Test|E|Lead 5772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005773|105773|989898|1|9999005773|MR|Test|E|Lead 5773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005774|105774|989898|1|9999005774|MR|Test|E|Lead 5774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005775|105775|989898|1|9999005775|MR|Test|E|Lead 5775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005776|105776|989898|1|9999005776|MR|Test|E|Lead 5776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005777|105777|989898|1|9999005777|MR|Test|E|Lead 5777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005778|105778|989898|1|9999005778|MR|Test|E|Lead 5778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005779|105779|989898|1|9999005779|MR|Test|E|Lead 5779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005780|105780|989898|1|9999005780|MR|Test|E|Lead 5780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005781|105781|989898|1|9999005781|MR|Test|E|Lead 5781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005782|105782|989898|1|9999005782|MR|Test|E|Lead 5782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005783|105783|989898|1|9999005783|MR|Test|E|Lead 5783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005784|105784|989898|1|9999005784|MR|Test|E|Lead 5784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005785|105785|989898|1|9999005785|MR|Test|E|Lead 5785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005786|105786|989898|1|9999005786|MR|Test|E|Lead 5786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005787|105787|989898|1|9999005787|MR|Test|E|Lead 5787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005788|105788|989898|1|9999005788|MR|Test|E|Lead 5788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005789|105789|989898|1|9999005789|MR|Test|E|Lead 5789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005790|105790|989898|1|9999005790|MR|Test|E|Lead 5790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005791|105791|989898|1|9999005791|MR|Test|E|Lead 5791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005792|105792|989898|1|9999005792|MR|Test|E|Lead 5792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005793|105793|989898|1|9999005793|MR|Test|E|Lead 5793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005794|105794|989898|1|9999005794|MR|Test|E|Lead 5794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005795|105795|989898|1|9999005795|MR|Test|E|Lead 5795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005796|105796|989898|1|9999005796|MR|Test|E|Lead 5796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005797|105797|989898|1|9999005797|MR|Test|E|Lead 5797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005798|105798|989898|1|9999005798|MR|Test|E|Lead 5798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005799|105799|989898|1|9999005799|MR|Test|E|Lead 5799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005800|105800|989898|1|9999005800|MR|Test|E|Lead 5800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005801|105801|989898|1|9999005801|MR|Test|E|Lead 5801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005802|105802|989898|1|9999005802|MR|Test|E|Lead 5802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005803|105803|989898|1|9999005803|MR|Test|E|Lead 5803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005804|105804|989898|1|9999005804|MR|Test|E|Lead 5804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005805|105805|989898|1|9999005805|MR|Test|E|Lead 5805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005806|105806|989898|1|9999005806|MR|Test|E|Lead 5806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005807|105807|989898|1|9999005807|MR|Test|E|Lead 5807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005808|105808|989898|1|9999005808|MR|Test|E|Lead 5808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005809|105809|989898|1|9999005809|MR|Test|E|Lead 5809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005810|105810|989898|1|9999005810|MR|Test|E|Lead 5810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005811|105811|989898|1|9999005811|MR|Test|E|Lead 5811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005812|105812|989898|1|9999005812|MR|Test|E|Lead 5812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005813|105813|989898|1|9999005813|MR|Test|E|Lead 5813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005814|105814|989898|1|9999005814|MR|Test|E|Lead 5814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005815|105815|989898|1|9999005815|MR|Test|E|Lead 5815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005816|105816|989898|1|9999005816|MR|Test|E|Lead 5816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005817|105817|989898|1|9999005817|MR|Test|E|Lead 5817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005818|105818|989898|1|9999005818|MR|Test|E|Lead 5818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005819|105819|989898|1|9999005819|MR|Test|E|Lead 5819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005820|105820|989898|1|9999005820|MR|Test|E|Lead 5820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005821|105821|989898|1|9999005821|MR|Test|E|Lead 5821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005822|105822|989898|1|9999005822|MR|Test|E|Lead 5822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005823|105823|989898|1|9999005823|MR|Test|E|Lead 5823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005824|105824|989898|1|9999005824|MR|Test|E|Lead 5824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005825|105825|989898|1|9999005825|MR|Test|E|Lead 5825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005826|105826|989898|1|9999005826|MR|Test|E|Lead 5826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005827|105827|989898|1|9999005827|MR|Test|E|Lead 5827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005828|105828|989898|1|9999005828|MR|Test|E|Lead 5828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005829|105829|989898|1|9999005829|MR|Test|E|Lead 5829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005830|105830|989898|1|9999005830|MR|Test|E|Lead 5830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005831|105831|989898|1|9999005831|MR|Test|E|Lead 5831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005832|105832|989898|1|9999005832|MR|Test|E|Lead 5832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005833|105833|989898|1|9999005833|MR|Test|E|Lead 5833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005834|105834|989898|1|9999005834|MR|Test|E|Lead 5834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005835|105835|989898|1|9999005835|MR|Test|E|Lead 5835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005836|105836|989898|1|9999005836|MR|Test|E|Lead 5836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005837|105837|989898|1|9999005837|MR|Test|E|Lead 5837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005838|105838|989898|1|9999005838|MR|Test|E|Lead 5838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005839|105839|989898|1|9999005839|MR|Test|E|Lead 5839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005840|105840|989898|1|9999005840|MR|Test|E|Lead 5840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005841|105841|989898|1|9999005841|MR|Test|E|Lead 5841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005842|105842|989898|1|9999005842|MR|Test|E|Lead 5842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005843|105843|989898|1|9999005843|MR|Test|E|Lead 5843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005844|105844|989898|1|9999005844|MR|Test|E|Lead 5844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005845|105845|989898|1|9999005845|MR|Test|E|Lead 5845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005846|105846|989898|1|9999005846|MR|Test|E|Lead 5846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005847|105847|989898|1|9999005847|MR|Test|E|Lead 5847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005848|105848|989898|1|9999005848|MR|Test|E|Lead 5848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005849|105849|989898|1|9999005849|MR|Test|E|Lead 5849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005850|105850|989898|1|9999005850|MR|Test|E|Lead 5850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005851|105851|989898|1|9999005851|MR|Test|E|Lead 5851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005852|105852|989898|1|9999005852|MR|Test|E|Lead 5852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005853|105853|989898|1|9999005853|MR|Test|E|Lead 5853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005854|105854|989898|1|9999005854|MR|Test|E|Lead 5854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005855|105855|989898|1|9999005855|MR|Test|E|Lead 5855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005856|105856|989898|1|9999005856|MR|Test|E|Lead 5856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005857|105857|989898|1|9999005857|MR|Test|E|Lead 5857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005858|105858|989898|1|9999005858|MR|Test|E|Lead 5858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005859|105859|989898|1|9999005859|MR|Test|E|Lead 5859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005860|105860|989898|1|9999005860|MR|Test|E|Lead 5860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005861|105861|989898|1|9999005861|MR|Test|E|Lead 5861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005862|105862|989898|1|9999005862|MR|Test|E|Lead 5862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005863|105863|989898|1|9999005863|MR|Test|E|Lead 5863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005864|105864|989898|1|9999005864|MR|Test|E|Lead 5864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005865|105865|989898|1|9999005865|MR|Test|E|Lead 5865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005866|105866|989898|1|9999005866|MR|Test|E|Lead 5866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005867|105867|989898|1|9999005867|MR|Test|E|Lead 5867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005868|105868|989898|1|9999005868|MR|Test|E|Lead 5868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005869|105869|989898|1|9999005869|MR|Test|E|Lead 5869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005870|105870|989898|1|9999005870|MR|Test|E|Lead 5870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005871|105871|989898|1|9999005871|MR|Test|E|Lead 5871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005872|105872|989898|1|9999005872|MR|Test|E|Lead 5872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005873|105873|989898|1|9999005873|MR|Test|E|Lead 5873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005874|105874|989898|1|9999005874|MR|Test|E|Lead 5874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005875|105875|989898|1|9999005875|MR|Test|E|Lead 5875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005876|105876|989898|1|9999005876|MR|Test|E|Lead 5876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005877|105877|989898|1|9999005877|MR|Test|E|Lead 5877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005878|105878|989898|1|9999005878|MR|Test|E|Lead 5878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005879|105879|989898|1|9999005879|MR|Test|E|Lead 5879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005880|105880|989898|1|9999005880|MR|Test|E|Lead 5880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005881|105881|989898|1|9999005881|MR|Test|E|Lead 5881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005882|105882|989898|1|9999005882|MR|Test|E|Lead 5882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005883|105883|989898|1|9999005883|MR|Test|E|Lead 5883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005884|105884|989898|1|9999005884|MR|Test|E|Lead 5884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005885|105885|989898|1|9999005885|MR|Test|E|Lead 5885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005886|105886|989898|1|9999005886|MR|Test|E|Lead 5886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005887|105887|989898|1|9999005887|MR|Test|E|Lead 5887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005888|105888|989898|1|9999005888|MR|Test|E|Lead 5888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005889|105889|989898|1|9999005889|MR|Test|E|Lead 5889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005890|105890|989898|1|9999005890|MR|Test|E|Lead 5890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005891|105891|989898|1|9999005891|MR|Test|E|Lead 5891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005892|105892|989898|1|9999005892|MR|Test|E|Lead 5892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005893|105893|989898|1|9999005893|MR|Test|E|Lead 5893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005894|105894|989898|1|9999005894|MR|Test|E|Lead 5894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005895|105895|989898|1|9999005895|MR|Test|E|Lead 5895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005896|105896|989898|1|9999005896|MR|Test|E|Lead 5896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005897|105897|989898|1|9999005897|MR|Test|E|Lead 5897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005898|105898|989898|1|9999005898|MR|Test|E|Lead 5898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005899|105899|989898|1|9999005899|MR|Test|E|Lead 5899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005900|105900|989898|1|9999005900|MR|Test|E|Lead 5900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005901|105901|989898|1|9999005901|MR|Test|E|Lead 5901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005902|105902|989898|1|9999005902|MR|Test|E|Lead 5902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005903|105903|989898|1|9999005903|MR|Test|E|Lead 5903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005904|105904|989898|1|9999005904|MR|Test|E|Lead 5904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005905|105905|989898|1|9999005905|MR|Test|E|Lead 5905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005906|105906|989898|1|9999005906|MR|Test|E|Lead 5906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005907|105907|989898|1|9999005907|MR|Test|E|Lead 5907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005908|105908|989898|1|9999005908|MR|Test|E|Lead 5908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005909|105909|989898|1|9999005909|MR|Test|E|Lead 5909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005910|105910|989898|1|9999005910|MR|Test|E|Lead 5910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005911|105911|989898|1|9999005911|MR|Test|E|Lead 5911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005912|105912|989898|1|9999005912|MR|Test|E|Lead 5912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005913|105913|989898|1|9999005913|MR|Test|E|Lead 5913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005914|105914|989898|1|9999005914|MR|Test|E|Lead 5914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005915|105915|989898|1|9999005915|MR|Test|E|Lead 5915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005916|105916|989898|1|9999005916|MR|Test|E|Lead 5916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005917|105917|989898|1|9999005917|MR|Test|E|Lead 5917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005918|105918|989898|1|9999005918|MR|Test|E|Lead 5918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005919|105919|989898|1|9999005919|MR|Test|E|Lead 5919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005920|105920|989898|1|9999005920|MR|Test|E|Lead 5920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005921|105921|989898|1|9999005921|MR|Test|E|Lead 5921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005922|105922|989898|1|9999005922|MR|Test|E|Lead 5922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005923|105923|989898|1|9999005923|MR|Test|E|Lead 5923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005924|105924|989898|1|9999005924|MR|Test|E|Lead 5924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005925|105925|989898|1|9999005925|MR|Test|E|Lead 5925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005926|105926|989898|1|9999005926|MR|Test|E|Lead 5926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005927|105927|989898|1|9999005927|MR|Test|E|Lead 5927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005928|105928|989898|1|9999005928|MR|Test|E|Lead 5928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005929|105929|989898|1|9999005929|MR|Test|E|Lead 5929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005930|105930|989898|1|9999005930|MR|Test|E|Lead 5930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005931|105931|989898|1|9999005931|MR|Test|E|Lead 5931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005932|105932|989898|1|9999005932|MR|Test|E|Lead 5932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005933|105933|989898|1|9999005933|MR|Test|E|Lead 5933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005934|105934|989898|1|9999005934|MR|Test|E|Lead 5934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005935|105935|989898|1|9999005935|MR|Test|E|Lead 5935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005936|105936|989898|1|9999005936|MR|Test|E|Lead 5936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005937|105937|989898|1|9999005937|MR|Test|E|Lead 5937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005938|105938|989898|1|9999005938|MR|Test|E|Lead 5938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005939|105939|989898|1|9999005939|MR|Test|E|Lead 5939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005940|105940|989898|1|9999005940|MR|Test|E|Lead 5940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005941|105941|989898|1|9999005941|MR|Test|E|Lead 5941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005942|105942|989898|1|9999005942|MR|Test|E|Lead 5942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005943|105943|989898|1|9999005943|MR|Test|E|Lead 5943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005944|105944|989898|1|9999005944|MR|Test|E|Lead 5944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005945|105945|989898|1|9999005945|MR|Test|E|Lead 5945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005946|105946|989898|1|9999005946|MR|Test|E|Lead 5946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005947|105947|989898|1|9999005947|MR|Test|E|Lead 5947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005948|105948|989898|1|9999005948|MR|Test|E|Lead 5948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005949|105949|989898|1|9999005949|MR|Test|E|Lead 5949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005950|105950|989898|1|9999005950|MR|Test|E|Lead 5950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005951|105951|989898|1|9999005951|MR|Test|E|Lead 5951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005952|105952|989898|1|9999005952|MR|Test|E|Lead 5952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005953|105953|989898|1|9999005953|MR|Test|E|Lead 5953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005954|105954|989898|1|9999005954|MR|Test|E|Lead 5954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005955|105955|989898|1|9999005955|MR|Test|E|Lead 5955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005956|105956|989898|1|9999005956|MR|Test|E|Lead 5956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005957|105957|989898|1|9999005957|MR|Test|E|Lead 5957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005958|105958|989898|1|9999005958|MR|Test|E|Lead 5958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005959|105959|989898|1|9999005959|MR|Test|E|Lead 5959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005960|105960|989898|1|9999005960|MR|Test|E|Lead 5960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005961|105961|989898|1|9999005961|MR|Test|E|Lead 5961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005962|105962|989898|1|9999005962|MR|Test|E|Lead 5962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005963|105963|989898|1|9999005963|MR|Test|E|Lead 5963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005964|105964|989898|1|9999005964|MR|Test|E|Lead 5964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005965|105965|989898|1|9999005965|MR|Test|E|Lead 5965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005966|105966|989898|1|9999005966|MR|Test|E|Lead 5966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005967|105967|989898|1|9999005967|MR|Test|E|Lead 5967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005968|105968|989898|1|9999005968|MR|Test|E|Lead 5968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005969|105969|989898|1|9999005969|MR|Test|E|Lead 5969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005970|105970|989898|1|9999005970|MR|Test|E|Lead 5970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005971|105971|989898|1|9999005971|MR|Test|E|Lead 5971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005972|105972|989898|1|9999005972|MR|Test|E|Lead 5972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005973|105973|989898|1|9999005973|MR|Test|E|Lead 5973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005974|105974|989898|1|9999005974|MR|Test|E|Lead 5974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005975|105975|989898|1|9999005975|MR|Test|E|Lead 5975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005976|105976|989898|1|9999005976|MR|Test|E|Lead 5976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005977|105977|989898|1|9999005977|MR|Test|E|Lead 5977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005978|105978|989898|1|9999005978|MR|Test|E|Lead 5978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005979|105979|989898|1|9999005979|MR|Test|E|Lead 5979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005980|105980|989898|1|9999005980|MR|Test|E|Lead 5980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005981|105981|989898|1|9999005981|MR|Test|E|Lead 5981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005982|105982|989898|1|9999005982|MR|Test|E|Lead 5982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005983|105983|989898|1|9999005983|MR|Test|E|Lead 5983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005984|105984|989898|1|9999005984|MR|Test|E|Lead 5984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005985|105985|989898|1|9999005985|MR|Test|E|Lead 5985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005986|105986|989898|1|9999005986|MR|Test|E|Lead 5986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005987|105987|989898|1|9999005987|MR|Test|E|Lead 5987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005988|105988|989898|1|9999005988|MR|Test|E|Lead 5988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005989|105989|989898|1|9999005989|MR|Test|E|Lead 5989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005990|105990|989898|1|9999005990|MR|Test|E|Lead 5990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005991|105991|989898|1|9999005991|MR|Test|E|Lead 5991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005992|105992|989898|1|9999005992|MR|Test|E|Lead 5992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005993|105993|989898|1|9999005993|MR|Test|E|Lead 5993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005994|105994|989898|1|9999005994|MR|Test|E|Lead 5994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005995|105995|989898|1|9999005995|MR|Test|E|Lead 5995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005996|105996|989898|1|9999005996|MR|Test|E|Lead 5996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005997|105997|989898|1|9999005997|MR|Test|E|Lead 5997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005998|105998|989898|1|9999005998|MR|Test|E|Lead 5998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1005999|105999|989898|1|9999005999|MR|Test|E|Lead 5999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006000|106000|989898|1|9999006000|MR|Test|E|Lead 6000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006001|106001|989898|1|9999006001|MR|Test|E|Lead 6001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006002|106002|989898|1|9999006002|MR|Test|E|Lead 6002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006003|106003|989898|1|9999006003|MR|Test|E|Lead 6003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006004|106004|989898|1|9999006004|MR|Test|E|Lead 6004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006005|106005|989898|1|9999006005|MR|Test|E|Lead 6005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006006|106006|989898|1|9999006006|MR|Test|E|Lead 6006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006007|106007|989898|1|9999006007|MR|Test|E|Lead 6007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006008|106008|989898|1|9999006008|MR|Test|E|Lead 6008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006009|106009|989898|1|9999006009|MR|Test|E|Lead 6009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006010|106010|989898|1|9999006010|MR|Test|E|Lead 6010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006011|106011|989898|1|9999006011|MR|Test|E|Lead 6011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006012|106012|989898|1|9999006012|MR|Test|E|Lead 6012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006013|106013|989898|1|9999006013|MR|Test|E|Lead 6013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006014|106014|989898|1|9999006014|MR|Test|E|Lead 6014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006015|106015|989898|1|9999006015|MR|Test|E|Lead 6015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006016|106016|989898|1|9999006016|MR|Test|E|Lead 6016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006017|106017|989898|1|9999006017|MR|Test|E|Lead 6017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006018|106018|989898|1|9999006018|MR|Test|E|Lead 6018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006019|106019|989898|1|9999006019|MR|Test|E|Lead 6019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006020|106020|989898|1|9999006020|MR|Test|E|Lead 6020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006021|106021|989898|1|9999006021|MR|Test|E|Lead 6021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006022|106022|989898|1|9999006022|MR|Test|E|Lead 6022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006023|106023|989898|1|9999006023|MR|Test|E|Lead 6023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006024|106024|989898|1|9999006024|MR|Test|E|Lead 6024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006025|106025|989898|1|9999006025|MR|Test|E|Lead 6025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006026|106026|989898|1|9999006026|MR|Test|E|Lead 6026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006027|106027|989898|1|9999006027|MR|Test|E|Lead 6027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006028|106028|989898|1|9999006028|MR|Test|E|Lead 6028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006029|106029|989898|1|9999006029|MR|Test|E|Lead 6029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006030|106030|989898|1|9999006030|MR|Test|E|Lead 6030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006031|106031|989898|1|9999006031|MR|Test|E|Lead 6031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006032|106032|989898|1|9999006032|MR|Test|E|Lead 6032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006033|106033|989898|1|9999006033|MR|Test|E|Lead 6033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006034|106034|989898|1|9999006034|MR|Test|E|Lead 6034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006035|106035|989898|1|9999006035|MR|Test|E|Lead 6035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006036|106036|989898|1|9999006036|MR|Test|E|Lead 6036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006037|106037|989898|1|9999006037|MR|Test|E|Lead 6037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006038|106038|989898|1|9999006038|MR|Test|E|Lead 6038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006039|106039|989898|1|9999006039|MR|Test|E|Lead 6039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006040|106040|989898|1|9999006040|MR|Test|E|Lead 6040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006041|106041|989898|1|9999006041|MR|Test|E|Lead 6041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006042|106042|989898|1|9999006042|MR|Test|E|Lead 6042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006043|106043|989898|1|9999006043|MR|Test|E|Lead 6043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006044|106044|989898|1|9999006044|MR|Test|E|Lead 6044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006045|106045|989898|1|9999006045|MR|Test|E|Lead 6045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006046|106046|989898|1|9999006046|MR|Test|E|Lead 6046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006047|106047|989898|1|9999006047|MR|Test|E|Lead 6047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006048|106048|989898|1|9999006048|MR|Test|E|Lead 6048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006049|106049|989898|1|9999006049|MR|Test|E|Lead 6049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006050|106050|989898|1|9999006050|MR|Test|E|Lead 6050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006051|106051|989898|1|9999006051|MR|Test|E|Lead 6051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006052|106052|989898|1|9999006052|MR|Test|E|Lead 6052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006053|106053|989898|1|9999006053|MR|Test|E|Lead 6053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006054|106054|989898|1|9999006054|MR|Test|E|Lead 6054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006055|106055|989898|1|9999006055|MR|Test|E|Lead 6055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006056|106056|989898|1|9999006056|MR|Test|E|Lead 6056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006057|106057|989898|1|9999006057|MR|Test|E|Lead 6057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006058|106058|989898|1|9999006058|MR|Test|E|Lead 6058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006059|106059|989898|1|9999006059|MR|Test|E|Lead 6059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006060|106060|989898|1|9999006060|MR|Test|E|Lead 6060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006061|106061|989898|1|9999006061|MR|Test|E|Lead 6061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006062|106062|989898|1|9999006062|MR|Test|E|Lead 6062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006063|106063|989898|1|9999006063|MR|Test|E|Lead 6063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006064|106064|989898|1|9999006064|MR|Test|E|Lead 6064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006065|106065|989898|1|9999006065|MR|Test|E|Lead 6065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006066|106066|989898|1|9999006066|MR|Test|E|Lead 6066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006067|106067|989898|1|9999006067|MR|Test|E|Lead 6067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006068|106068|989898|1|9999006068|MR|Test|E|Lead 6068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006069|106069|989898|1|9999006069|MR|Test|E|Lead 6069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006070|106070|989898|1|9999006070|MR|Test|E|Lead 6070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006071|106071|989898|1|9999006071|MR|Test|E|Lead 6071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006072|106072|989898|1|9999006072|MR|Test|E|Lead 6072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006073|106073|989898|1|9999006073|MR|Test|E|Lead 6073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006074|106074|989898|1|9999006074|MR|Test|E|Lead 6074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006075|106075|989898|1|9999006075|MR|Test|E|Lead 6075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006076|106076|989898|1|9999006076|MR|Test|E|Lead 6076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006077|106077|989898|1|9999006077|MR|Test|E|Lead 6077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006078|106078|989898|1|9999006078|MR|Test|E|Lead 6078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006079|106079|989898|1|9999006079|MR|Test|E|Lead 6079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006080|106080|989898|1|9999006080|MR|Test|E|Lead 6080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006081|106081|989898|1|9999006081|MR|Test|E|Lead 6081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006082|106082|989898|1|9999006082|MR|Test|E|Lead 6082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006083|106083|989898|1|9999006083|MR|Test|E|Lead 6083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006084|106084|989898|1|9999006084|MR|Test|E|Lead 6084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006085|106085|989898|1|9999006085|MR|Test|E|Lead 6085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006086|106086|989898|1|9999006086|MR|Test|E|Lead 6086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006087|106087|989898|1|9999006087|MR|Test|E|Lead 6087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006088|106088|989898|1|9999006088|MR|Test|E|Lead 6088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006089|106089|989898|1|9999006089|MR|Test|E|Lead 6089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006090|106090|989898|1|9999006090|MR|Test|E|Lead 6090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006091|106091|989898|1|9999006091|MR|Test|E|Lead 6091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006092|106092|989898|1|9999006092|MR|Test|E|Lead 6092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006093|106093|989898|1|9999006093|MR|Test|E|Lead 6093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006094|106094|989898|1|9999006094|MR|Test|E|Lead 6094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006095|106095|989898|1|9999006095|MR|Test|E|Lead 6095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006096|106096|989898|1|9999006096|MR|Test|E|Lead 6096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006097|106097|989898|1|9999006097|MR|Test|E|Lead 6097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006098|106098|989898|1|9999006098|MR|Test|E|Lead 6098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006099|106099|989898|1|9999006099|MR|Test|E|Lead 6099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006100|106100|989898|1|9999006100|MR|Test|E|Lead 6100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006101|106101|989898|1|9999006101|MR|Test|E|Lead 6101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006102|106102|989898|1|9999006102|MR|Test|E|Lead 6102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006103|106103|989898|1|9999006103|MR|Test|E|Lead 6103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006104|106104|989898|1|9999006104|MR|Test|E|Lead 6104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006105|106105|989898|1|9999006105|MR|Test|E|Lead 6105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006106|106106|989898|1|9999006106|MR|Test|E|Lead 6106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006107|106107|989898|1|9999006107|MR|Test|E|Lead 6107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006108|106108|989898|1|9999006108|MR|Test|E|Lead 6108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006109|106109|989898|1|9999006109|MR|Test|E|Lead 6109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006110|106110|989898|1|9999006110|MR|Test|E|Lead 6110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006111|106111|989898|1|9999006111|MR|Test|E|Lead 6111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006112|106112|989898|1|9999006112|MR|Test|E|Lead 6112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006113|106113|989898|1|9999006113|MR|Test|E|Lead 6113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006114|106114|989898|1|9999006114|MR|Test|E|Lead 6114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006115|106115|989898|1|9999006115|MR|Test|E|Lead 6115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006116|106116|989898|1|9999006116|MR|Test|E|Lead 6116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006117|106117|989898|1|9999006117|MR|Test|E|Lead 6117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006118|106118|989898|1|9999006118|MR|Test|E|Lead 6118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006119|106119|989898|1|9999006119|MR|Test|E|Lead 6119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006120|106120|989898|1|9999006120|MR|Test|E|Lead 6120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006121|106121|989898|1|9999006121|MR|Test|E|Lead 6121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006122|106122|989898|1|9999006122|MR|Test|E|Lead 6122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006123|106123|989898|1|9999006123|MR|Test|E|Lead 6123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006124|106124|989898|1|9999006124|MR|Test|E|Lead 6124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006125|106125|989898|1|9999006125|MR|Test|E|Lead 6125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006126|106126|989898|1|9999006126|MR|Test|E|Lead 6126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006127|106127|989898|1|9999006127|MR|Test|E|Lead 6127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006128|106128|989898|1|9999006128|MR|Test|E|Lead 6128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006129|106129|989898|1|9999006129|MR|Test|E|Lead 6129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006130|106130|989898|1|9999006130|MR|Test|E|Lead 6130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006131|106131|989898|1|9999006131|MR|Test|E|Lead 6131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006132|106132|989898|1|9999006132|MR|Test|E|Lead 6132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006133|106133|989898|1|9999006133|MR|Test|E|Lead 6133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006134|106134|989898|1|9999006134|MR|Test|E|Lead 6134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006135|106135|989898|1|9999006135|MR|Test|E|Lead 6135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006136|106136|989898|1|9999006136|MR|Test|E|Lead 6136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006137|106137|989898|1|9999006137|MR|Test|E|Lead 6137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006138|106138|989898|1|9999006138|MR|Test|E|Lead 6138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006139|106139|989898|1|9999006139|MR|Test|E|Lead 6139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006140|106140|989898|1|9999006140|MR|Test|E|Lead 6140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006141|106141|989898|1|9999006141|MR|Test|E|Lead 6141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006142|106142|989898|1|9999006142|MR|Test|E|Lead 6142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006143|106143|989898|1|9999006143|MR|Test|E|Lead 6143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006144|106144|989898|1|9999006144|MR|Test|E|Lead 6144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006145|106145|989898|1|9999006145|MR|Test|E|Lead 6145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006146|106146|989898|1|9999006146|MR|Test|E|Lead 6146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006147|106147|989898|1|9999006147|MR|Test|E|Lead 6147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006148|106148|989898|1|9999006148|MR|Test|E|Lead 6148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006149|106149|989898|1|9999006149|MR|Test|E|Lead 6149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006150|106150|989898|1|9999006150|MR|Test|E|Lead 6150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006151|106151|989898|1|9999006151|MR|Test|E|Lead 6151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006152|106152|989898|1|9999006152|MR|Test|E|Lead 6152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006153|106153|989898|1|9999006153|MR|Test|E|Lead 6153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006154|106154|989898|1|9999006154|MR|Test|E|Lead 6154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006155|106155|989898|1|9999006155|MR|Test|E|Lead 6155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006156|106156|989898|1|9999006156|MR|Test|E|Lead 6156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006157|106157|989898|1|9999006157|MR|Test|E|Lead 6157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006158|106158|989898|1|9999006158|MR|Test|E|Lead 6158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006159|106159|989898|1|9999006159|MR|Test|E|Lead 6159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006160|106160|989898|1|9999006160|MR|Test|E|Lead 6160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006161|106161|989898|1|9999006161|MR|Test|E|Lead 6161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006162|106162|989898|1|9999006162|MR|Test|E|Lead 6162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006163|106163|989898|1|9999006163|MR|Test|E|Lead 6163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006164|106164|989898|1|9999006164|MR|Test|E|Lead 6164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006165|106165|989898|1|9999006165|MR|Test|E|Lead 6165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006166|106166|989898|1|9999006166|MR|Test|E|Lead 6166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006167|106167|989898|1|9999006167|MR|Test|E|Lead 6167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006168|106168|989898|1|9999006168|MR|Test|E|Lead 6168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006169|106169|989898|1|9999006169|MR|Test|E|Lead 6169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006170|106170|989898|1|9999006170|MR|Test|E|Lead 6170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006171|106171|989898|1|9999006171|MR|Test|E|Lead 6171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006172|106172|989898|1|9999006172|MR|Test|E|Lead 6172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006173|106173|989898|1|9999006173|MR|Test|E|Lead 6173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006174|106174|989898|1|9999006174|MR|Test|E|Lead 6174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006175|106175|989898|1|9999006175|MR|Test|E|Lead 6175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006176|106176|989898|1|9999006176|MR|Test|E|Lead 6176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006177|106177|989898|1|9999006177|MR|Test|E|Lead 6177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006178|106178|989898|1|9999006178|MR|Test|E|Lead 6178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006179|106179|989898|1|9999006179|MR|Test|E|Lead 6179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006180|106180|989898|1|9999006180|MR|Test|E|Lead 6180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006181|106181|989898|1|9999006181|MR|Test|E|Lead 6181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006182|106182|989898|1|9999006182|MR|Test|E|Lead 6182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006183|106183|989898|1|9999006183|MR|Test|E|Lead 6183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006184|106184|989898|1|9999006184|MR|Test|E|Lead 6184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006185|106185|989898|1|9999006185|MR|Test|E|Lead 6185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006186|106186|989898|1|9999006186|MR|Test|E|Lead 6186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006187|106187|989898|1|9999006187|MR|Test|E|Lead 6187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006188|106188|989898|1|9999006188|MR|Test|E|Lead 6188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006189|106189|989898|1|9999006189|MR|Test|E|Lead 6189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006190|106190|989898|1|9999006190|MR|Test|E|Lead 6190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006191|106191|989898|1|9999006191|MR|Test|E|Lead 6191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006192|106192|989898|1|9999006192|MR|Test|E|Lead 6192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006193|106193|989898|1|9999006193|MR|Test|E|Lead 6193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006194|106194|989898|1|9999006194|MR|Test|E|Lead 6194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006195|106195|989898|1|9999006195|MR|Test|E|Lead 6195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006196|106196|989898|1|9999006196|MR|Test|E|Lead 6196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006197|106197|989898|1|9999006197|MR|Test|E|Lead 6197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006198|106198|989898|1|9999006198|MR|Test|E|Lead 6198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006199|106199|989898|1|9999006199|MR|Test|E|Lead 6199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006200|106200|989898|1|9999006200|MR|Test|E|Lead 6200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006201|106201|989898|1|9999006201|MR|Test|E|Lead 6201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006202|106202|989898|1|9999006202|MR|Test|E|Lead 6202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006203|106203|989898|1|9999006203|MR|Test|E|Lead 6203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006204|106204|989898|1|9999006204|MR|Test|E|Lead 6204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006205|106205|989898|1|9999006205|MR|Test|E|Lead 6205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006206|106206|989898|1|9999006206|MR|Test|E|Lead 6206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006207|106207|989898|1|9999006207|MR|Test|E|Lead 6207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006208|106208|989898|1|9999006208|MR|Test|E|Lead 6208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006209|106209|989898|1|9999006209|MR|Test|E|Lead 6209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006210|106210|989898|1|9999006210|MR|Test|E|Lead 6210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006211|106211|989898|1|9999006211|MR|Test|E|Lead 6211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006212|106212|989898|1|9999006212|MR|Test|E|Lead 6212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006213|106213|989898|1|9999006213|MR|Test|E|Lead 6213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006214|106214|989898|1|9999006214|MR|Test|E|Lead 6214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006215|106215|989898|1|9999006215|MR|Test|E|Lead 6215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006216|106216|989898|1|9999006216|MR|Test|E|Lead 6216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006217|106217|989898|1|9999006217|MR|Test|E|Lead 6217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006218|106218|989898|1|9999006218|MR|Test|E|Lead 6218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006219|106219|989898|1|9999006219|MR|Test|E|Lead 6219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006220|106220|989898|1|9999006220|MR|Test|E|Lead 6220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006221|106221|989898|1|9999006221|MR|Test|E|Lead 6221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006222|106222|989898|1|9999006222|MR|Test|E|Lead 6222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006223|106223|989898|1|9999006223|MR|Test|E|Lead 6223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006224|106224|989898|1|9999006224|MR|Test|E|Lead 6224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006225|106225|989898|1|9999006225|MR|Test|E|Lead 6225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006226|106226|989898|1|9999006226|MR|Test|E|Lead 6226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006227|106227|989898|1|9999006227|MR|Test|E|Lead 6227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006228|106228|989898|1|9999006228|MR|Test|E|Lead 6228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006229|106229|989898|1|9999006229|MR|Test|E|Lead 6229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006230|106230|989898|1|9999006230|MR|Test|E|Lead 6230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006231|106231|989898|1|9999006231|MR|Test|E|Lead 6231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006232|106232|989898|1|9999006232|MR|Test|E|Lead 6232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006233|106233|989898|1|9999006233|MR|Test|E|Lead 6233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006234|106234|989898|1|9999006234|MR|Test|E|Lead 6234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006235|106235|989898|1|9999006235|MR|Test|E|Lead 6235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006236|106236|989898|1|9999006236|MR|Test|E|Lead 6236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006237|106237|989898|1|9999006237|MR|Test|E|Lead 6237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006238|106238|989898|1|9999006238|MR|Test|E|Lead 6238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006239|106239|989898|1|9999006239|MR|Test|E|Lead 6239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006240|106240|989898|1|9999006240|MR|Test|E|Lead 6240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006241|106241|989898|1|9999006241|MR|Test|E|Lead 6241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006242|106242|989898|1|9999006242|MR|Test|E|Lead 6242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006243|106243|989898|1|9999006243|MR|Test|E|Lead 6243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006244|106244|989898|1|9999006244|MR|Test|E|Lead 6244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006245|106245|989898|1|9999006245|MR|Test|E|Lead 6245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006246|106246|989898|1|9999006246|MR|Test|E|Lead 6246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006247|106247|989898|1|9999006247|MR|Test|E|Lead 6247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006248|106248|989898|1|9999006248|MR|Test|E|Lead 6248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006249|106249|989898|1|9999006249|MR|Test|E|Lead 6249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006250|106250|989898|1|9999006250|MR|Test|E|Lead 6250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006251|106251|989898|1|9999006251|MR|Test|E|Lead 6251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006252|106252|989898|1|9999006252|MR|Test|E|Lead 6252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006253|106253|989898|1|9999006253|MR|Test|E|Lead 6253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006254|106254|989898|1|9999006254|MR|Test|E|Lead 6254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006255|106255|989898|1|9999006255|MR|Test|E|Lead 6255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006256|106256|989898|1|9999006256|MR|Test|E|Lead 6256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006257|106257|989898|1|9999006257|MR|Test|E|Lead 6257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006258|106258|989898|1|9999006258|MR|Test|E|Lead 6258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006259|106259|989898|1|9999006259|MR|Test|E|Lead 6259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006260|106260|989898|1|9999006260|MR|Test|E|Lead 6260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006261|106261|989898|1|9999006261|MR|Test|E|Lead 6261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006262|106262|989898|1|9999006262|MR|Test|E|Lead 6262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006263|106263|989898|1|9999006263|MR|Test|E|Lead 6263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006264|106264|989898|1|9999006264|MR|Test|E|Lead 6264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006265|106265|989898|1|9999006265|MR|Test|E|Lead 6265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006266|106266|989898|1|9999006266|MR|Test|E|Lead 6266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006267|106267|989898|1|9999006267|MR|Test|E|Lead 6267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006268|106268|989898|1|9999006268|MR|Test|E|Lead 6268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006269|106269|989898|1|9999006269|MR|Test|E|Lead 6269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006270|106270|989898|1|9999006270|MR|Test|E|Lead 6270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006271|106271|989898|1|9999006271|MR|Test|E|Lead 6271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006272|106272|989898|1|9999006272|MR|Test|E|Lead 6272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006273|106273|989898|1|9999006273|MR|Test|E|Lead 6273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006274|106274|989898|1|9999006274|MR|Test|E|Lead 6274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006275|106275|989898|1|9999006275|MR|Test|E|Lead 6275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006276|106276|989898|1|9999006276|MR|Test|E|Lead 6276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006277|106277|989898|1|9999006277|MR|Test|E|Lead 6277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006278|106278|989898|1|9999006278|MR|Test|E|Lead 6278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006279|106279|989898|1|9999006279|MR|Test|E|Lead 6279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006280|106280|989898|1|9999006280|MR|Test|E|Lead 6280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006281|106281|989898|1|9999006281|MR|Test|E|Lead 6281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006282|106282|989898|1|9999006282|MR|Test|E|Lead 6282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006283|106283|989898|1|9999006283|MR|Test|E|Lead 6283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006284|106284|989898|1|9999006284|MR|Test|E|Lead 6284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006285|106285|989898|1|9999006285|MR|Test|E|Lead 6285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006286|106286|989898|1|9999006286|MR|Test|E|Lead 6286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006287|106287|989898|1|9999006287|MR|Test|E|Lead 6287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006288|106288|989898|1|9999006288|MR|Test|E|Lead 6288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006289|106289|989898|1|9999006289|MR|Test|E|Lead 6289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006290|106290|989898|1|9999006290|MR|Test|E|Lead 6290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006291|106291|989898|1|9999006291|MR|Test|E|Lead 6291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006292|106292|989898|1|9999006292|MR|Test|E|Lead 6292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006293|106293|989898|1|9999006293|MR|Test|E|Lead 6293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006294|106294|989898|1|9999006294|MR|Test|E|Lead 6294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006295|106295|989898|1|9999006295|MR|Test|E|Lead 6295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006296|106296|989898|1|9999006296|MR|Test|E|Lead 6296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006297|106297|989898|1|9999006297|MR|Test|E|Lead 6297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006298|106298|989898|1|9999006298|MR|Test|E|Lead 6298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006299|106299|989898|1|9999006299|MR|Test|E|Lead 6299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006300|106300|989898|1|9999006300|MR|Test|E|Lead 6300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006301|106301|989898|1|9999006301|MR|Test|E|Lead 6301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006302|106302|989898|1|9999006302|MR|Test|E|Lead 6302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006303|106303|989898|1|9999006303|MR|Test|E|Lead 6303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006304|106304|989898|1|9999006304|MR|Test|E|Lead 6304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006305|106305|989898|1|9999006305|MR|Test|E|Lead 6305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006306|106306|989898|1|9999006306|MR|Test|E|Lead 6306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006307|106307|989898|1|9999006307|MR|Test|E|Lead 6307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006308|106308|989898|1|9999006308|MR|Test|E|Lead 6308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006309|106309|989898|1|9999006309|MR|Test|E|Lead 6309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006310|106310|989898|1|9999006310|MR|Test|E|Lead 6310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006311|106311|989898|1|9999006311|MR|Test|E|Lead 6311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006312|106312|989898|1|9999006312|MR|Test|E|Lead 6312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006313|106313|989898|1|9999006313|MR|Test|E|Lead 6313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006314|106314|989898|1|9999006314|MR|Test|E|Lead 6314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006315|106315|989898|1|9999006315|MR|Test|E|Lead 6315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006316|106316|989898|1|9999006316|MR|Test|E|Lead 6316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006317|106317|989898|1|9999006317|MR|Test|E|Lead 6317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006318|106318|989898|1|9999006318|MR|Test|E|Lead 6318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006319|106319|989898|1|9999006319|MR|Test|E|Lead 6319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006320|106320|989898|1|9999006320|MR|Test|E|Lead 6320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006321|106321|989898|1|9999006321|MR|Test|E|Lead 6321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006322|106322|989898|1|9999006322|MR|Test|E|Lead 6322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006323|106323|989898|1|9999006323|MR|Test|E|Lead 6323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006324|106324|989898|1|9999006324|MR|Test|E|Lead 6324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006325|106325|989898|1|9999006325|MR|Test|E|Lead 6325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006326|106326|989898|1|9999006326|MR|Test|E|Lead 6326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006327|106327|989898|1|9999006327|MR|Test|E|Lead 6327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006328|106328|989898|1|9999006328|MR|Test|E|Lead 6328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006329|106329|989898|1|9999006329|MR|Test|E|Lead 6329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006330|106330|989898|1|9999006330|MR|Test|E|Lead 6330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006331|106331|989898|1|9999006331|MR|Test|E|Lead 6331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006332|106332|989898|1|9999006332|MR|Test|E|Lead 6332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006333|106333|989898|1|9999006333|MR|Test|E|Lead 6333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006334|106334|989898|1|9999006334|MR|Test|E|Lead 6334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006335|106335|989898|1|9999006335|MR|Test|E|Lead 6335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006336|106336|989898|1|9999006336|MR|Test|E|Lead 6336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006337|106337|989898|1|9999006337|MR|Test|E|Lead 6337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006338|106338|989898|1|9999006338|MR|Test|E|Lead 6338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006339|106339|989898|1|9999006339|MR|Test|E|Lead 6339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006340|106340|989898|1|9999006340|MR|Test|E|Lead 6340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006341|106341|989898|1|9999006341|MR|Test|E|Lead 6341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006342|106342|989898|1|9999006342|MR|Test|E|Lead 6342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006343|106343|989898|1|9999006343|MR|Test|E|Lead 6343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006344|106344|989898|1|9999006344|MR|Test|E|Lead 6344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006345|106345|989898|1|9999006345|MR|Test|E|Lead 6345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006346|106346|989898|1|9999006346|MR|Test|E|Lead 6346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006347|106347|989898|1|9999006347|MR|Test|E|Lead 6347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006348|106348|989898|1|9999006348|MR|Test|E|Lead 6348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006349|106349|989898|1|9999006349|MR|Test|E|Lead 6349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006350|106350|989898|1|9999006350|MR|Test|E|Lead 6350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006351|106351|989898|1|9999006351|MR|Test|E|Lead 6351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006352|106352|989898|1|9999006352|MR|Test|E|Lead 6352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006353|106353|989898|1|9999006353|MR|Test|E|Lead 6353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006354|106354|989898|1|9999006354|MR|Test|E|Lead 6354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006355|106355|989898|1|9999006355|MR|Test|E|Lead 6355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006356|106356|989898|1|9999006356|MR|Test|E|Lead 6356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006357|106357|989898|1|9999006357|MR|Test|E|Lead 6357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006358|106358|989898|1|9999006358|MR|Test|E|Lead 6358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006359|106359|989898|1|9999006359|MR|Test|E|Lead 6359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006360|106360|989898|1|9999006360|MR|Test|E|Lead 6360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006361|106361|989898|1|9999006361|MR|Test|E|Lead 6361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006362|106362|989898|1|9999006362|MR|Test|E|Lead 6362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006363|106363|989898|1|9999006363|MR|Test|E|Lead 6363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006364|106364|989898|1|9999006364|MR|Test|E|Lead 6364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006365|106365|989898|1|9999006365|MR|Test|E|Lead 6365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006366|106366|989898|1|9999006366|MR|Test|E|Lead 6366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006367|106367|989898|1|9999006367|MR|Test|E|Lead 6367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006368|106368|989898|1|9999006368|MR|Test|E|Lead 6368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006369|106369|989898|1|9999006369|MR|Test|E|Lead 6369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006370|106370|989898|1|9999006370|MR|Test|E|Lead 6370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006371|106371|989898|1|9999006371|MR|Test|E|Lead 6371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006372|106372|989898|1|9999006372|MR|Test|E|Lead 6372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006373|106373|989898|1|9999006373|MR|Test|E|Lead 6373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006374|106374|989898|1|9999006374|MR|Test|E|Lead 6374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006375|106375|989898|1|9999006375|MR|Test|E|Lead 6375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006376|106376|989898|1|9999006376|MR|Test|E|Lead 6376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006377|106377|989898|1|9999006377|MR|Test|E|Lead 6377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006378|106378|989898|1|9999006378|MR|Test|E|Lead 6378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006379|106379|989898|1|9999006379|MR|Test|E|Lead 6379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006380|106380|989898|1|9999006380|MR|Test|E|Lead 6380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006381|106381|989898|1|9999006381|MR|Test|E|Lead 6381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006382|106382|989898|1|9999006382|MR|Test|E|Lead 6382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006383|106383|989898|1|9999006383|MR|Test|E|Lead 6383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006384|106384|989898|1|9999006384|MR|Test|E|Lead 6384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006385|106385|989898|1|9999006385|MR|Test|E|Lead 6385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006386|106386|989898|1|9999006386|MR|Test|E|Lead 6386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006387|106387|989898|1|9999006387|MR|Test|E|Lead 6387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006388|106388|989898|1|9999006388|MR|Test|E|Lead 6388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006389|106389|989898|1|9999006389|MR|Test|E|Lead 6389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006390|106390|989898|1|9999006390|MR|Test|E|Lead 6390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006391|106391|989898|1|9999006391|MR|Test|E|Lead 6391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006392|106392|989898|1|9999006392|MR|Test|E|Lead 6392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006393|106393|989898|1|9999006393|MR|Test|E|Lead 6393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006394|106394|989898|1|9999006394|MR|Test|E|Lead 6394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006395|106395|989898|1|9999006395|MR|Test|E|Lead 6395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006396|106396|989898|1|9999006396|MR|Test|E|Lead 6396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006397|106397|989898|1|9999006397|MR|Test|E|Lead 6397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006398|106398|989898|1|9999006398|MR|Test|E|Lead 6398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006399|106399|989898|1|9999006399|MR|Test|E|Lead 6399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006400|106400|989898|1|9999006400|MR|Test|E|Lead 6400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006401|106401|989898|1|9999006401|MR|Test|E|Lead 6401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006402|106402|989898|1|9999006402|MR|Test|E|Lead 6402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006403|106403|989898|1|9999006403|MR|Test|E|Lead 6403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006404|106404|989898|1|9999006404|MR|Test|E|Lead 6404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006405|106405|989898|1|9999006405|MR|Test|E|Lead 6405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006406|106406|989898|1|9999006406|MR|Test|E|Lead 6406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006407|106407|989898|1|9999006407|MR|Test|E|Lead 6407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006408|106408|989898|1|9999006408|MR|Test|E|Lead 6408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006409|106409|989898|1|9999006409|MR|Test|E|Lead 6409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006410|106410|989898|1|9999006410|MR|Test|E|Lead 6410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006411|106411|989898|1|9999006411|MR|Test|E|Lead 6411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006412|106412|989898|1|9999006412|MR|Test|E|Lead 6412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006413|106413|989898|1|9999006413|MR|Test|E|Lead 6413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006414|106414|989898|1|9999006414|MR|Test|E|Lead 6414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006415|106415|989898|1|9999006415|MR|Test|E|Lead 6415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006416|106416|989898|1|9999006416|MR|Test|E|Lead 6416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006417|106417|989898|1|9999006417|MR|Test|E|Lead 6417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006418|106418|989898|1|9999006418|MR|Test|E|Lead 6418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006419|106419|989898|1|9999006419|MR|Test|E|Lead 6419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006420|106420|989898|1|9999006420|MR|Test|E|Lead 6420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006421|106421|989898|1|9999006421|MR|Test|E|Lead 6421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006422|106422|989898|1|9999006422|MR|Test|E|Lead 6422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006423|106423|989898|1|9999006423|MR|Test|E|Lead 6423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006424|106424|989898|1|9999006424|MR|Test|E|Lead 6424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006425|106425|989898|1|9999006425|MR|Test|E|Lead 6425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006426|106426|989898|1|9999006426|MR|Test|E|Lead 6426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006427|106427|989898|1|9999006427|MR|Test|E|Lead 6427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006428|106428|989898|1|9999006428|MR|Test|E|Lead 6428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006429|106429|989898|1|9999006429|MR|Test|E|Lead 6429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006430|106430|989898|1|9999006430|MR|Test|E|Lead 6430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006431|106431|989898|1|9999006431|MR|Test|E|Lead 6431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006432|106432|989898|1|9999006432|MR|Test|E|Lead 6432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006433|106433|989898|1|9999006433|MR|Test|E|Lead 6433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006434|106434|989898|1|9999006434|MR|Test|E|Lead 6434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006435|106435|989898|1|9999006435|MR|Test|E|Lead 6435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006436|106436|989898|1|9999006436|MR|Test|E|Lead 6436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006437|106437|989898|1|9999006437|MR|Test|E|Lead 6437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006438|106438|989898|1|9999006438|MR|Test|E|Lead 6438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006439|106439|989898|1|9999006439|MR|Test|E|Lead 6439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006440|106440|989898|1|9999006440|MR|Test|E|Lead 6440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006441|106441|989898|1|9999006441|MR|Test|E|Lead 6441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006442|106442|989898|1|9999006442|MR|Test|E|Lead 6442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006443|106443|989898|1|9999006443|MR|Test|E|Lead 6443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006444|106444|989898|1|9999006444|MR|Test|E|Lead 6444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006445|106445|989898|1|9999006445|MR|Test|E|Lead 6445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006446|106446|989898|1|9999006446|MR|Test|E|Lead 6446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006447|106447|989898|1|9999006447|MR|Test|E|Lead 6447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006448|106448|989898|1|9999006448|MR|Test|E|Lead 6448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006449|106449|989898|1|9999006449|MR|Test|E|Lead 6449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006450|106450|989898|1|9999006450|MR|Test|E|Lead 6450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006451|106451|989898|1|9999006451|MR|Test|E|Lead 6451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006452|106452|989898|1|9999006452|MR|Test|E|Lead 6452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006453|106453|989898|1|9999006453|MR|Test|E|Lead 6453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006454|106454|989898|1|9999006454|MR|Test|E|Lead 6454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006455|106455|989898|1|9999006455|MR|Test|E|Lead 6455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006456|106456|989898|1|9999006456|MR|Test|E|Lead 6456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006457|106457|989898|1|9999006457|MR|Test|E|Lead 6457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006458|106458|989898|1|9999006458|MR|Test|E|Lead 6458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006459|106459|989898|1|9999006459|MR|Test|E|Lead 6459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006460|106460|989898|1|9999006460|MR|Test|E|Lead 6460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006461|106461|989898|1|9999006461|MR|Test|E|Lead 6461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006462|106462|989898|1|9999006462|MR|Test|E|Lead 6462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006463|106463|989898|1|9999006463|MR|Test|E|Lead 6463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006464|106464|989898|1|9999006464|MR|Test|E|Lead 6464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006465|106465|989898|1|9999006465|MR|Test|E|Lead 6465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006466|106466|989898|1|9999006466|MR|Test|E|Lead 6466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006467|106467|989898|1|9999006467|MR|Test|E|Lead 6467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006468|106468|989898|1|9999006468|MR|Test|E|Lead 6468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006469|106469|989898|1|9999006469|MR|Test|E|Lead 6469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006470|106470|989898|1|9999006470|MR|Test|E|Lead 6470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006471|106471|989898|1|9999006471|MR|Test|E|Lead 6471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006472|106472|989898|1|9999006472|MR|Test|E|Lead 6472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006473|106473|989898|1|9999006473|MR|Test|E|Lead 6473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006474|106474|989898|1|9999006474|MR|Test|E|Lead 6474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006475|106475|989898|1|9999006475|MR|Test|E|Lead 6475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006476|106476|989898|1|9999006476|MR|Test|E|Lead 6476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006477|106477|989898|1|9999006477|MR|Test|E|Lead 6477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006478|106478|989898|1|9999006478|MR|Test|E|Lead 6478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006479|106479|989898|1|9999006479|MR|Test|E|Lead 6479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006480|106480|989898|1|9999006480|MR|Test|E|Lead 6480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006481|106481|989898|1|9999006481|MR|Test|E|Lead 6481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006482|106482|989898|1|9999006482|MR|Test|E|Lead 6482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006483|106483|989898|1|9999006483|MR|Test|E|Lead 6483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006484|106484|989898|1|9999006484|MR|Test|E|Lead 6484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006485|106485|989898|1|9999006485|MR|Test|E|Lead 6485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006486|106486|989898|1|9999006486|MR|Test|E|Lead 6486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006487|106487|989898|1|9999006487|MR|Test|E|Lead 6487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006488|106488|989898|1|9999006488|MR|Test|E|Lead 6488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006489|106489|989898|1|9999006489|MR|Test|E|Lead 6489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006490|106490|989898|1|9999006490|MR|Test|E|Lead 6490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006491|106491|989898|1|9999006491|MR|Test|E|Lead 6491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006492|106492|989898|1|9999006492|MR|Test|E|Lead 6492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006493|106493|989898|1|9999006493|MR|Test|E|Lead 6493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006494|106494|989898|1|9999006494|MR|Test|E|Lead 6494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006495|106495|989898|1|9999006495|MR|Test|E|Lead 6495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006496|106496|989898|1|9999006496|MR|Test|E|Lead 6496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006497|106497|989898|1|9999006497|MR|Test|E|Lead 6497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006498|106498|989898|1|9999006498|MR|Test|E|Lead 6498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006499|106499|989898|1|9999006499|MR|Test|E|Lead 6499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006500|106500|989898|1|9999006500|MR|Test|E|Lead 6500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006501|106501|989898|1|9999006501|MR|Test|E|Lead 6501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006502|106502|989898|1|9999006502|MR|Test|E|Lead 6502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006503|106503|989898|1|9999006503|MR|Test|E|Lead 6503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006504|106504|989898|1|9999006504|MR|Test|E|Lead 6504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006505|106505|989898|1|9999006505|MR|Test|E|Lead 6505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006506|106506|989898|1|9999006506|MR|Test|E|Lead 6506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006507|106507|989898|1|9999006507|MR|Test|E|Lead 6507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006508|106508|989898|1|9999006508|MR|Test|E|Lead 6508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006509|106509|989898|1|9999006509|MR|Test|E|Lead 6509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006510|106510|989898|1|9999006510|MR|Test|E|Lead 6510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006511|106511|989898|1|9999006511|MR|Test|E|Lead 6511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006512|106512|989898|1|9999006512|MR|Test|E|Lead 6512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006513|106513|989898|1|9999006513|MR|Test|E|Lead 6513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006514|106514|989898|1|9999006514|MR|Test|E|Lead 6514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006515|106515|989898|1|9999006515|MR|Test|E|Lead 6515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006516|106516|989898|1|9999006516|MR|Test|E|Lead 6516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006517|106517|989898|1|9999006517|MR|Test|E|Lead 6517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006518|106518|989898|1|9999006518|MR|Test|E|Lead 6518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006519|106519|989898|1|9999006519|MR|Test|E|Lead 6519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006520|106520|989898|1|9999006520|MR|Test|E|Lead 6520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006521|106521|989898|1|9999006521|MR|Test|E|Lead 6521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006522|106522|989898|1|9999006522|MR|Test|E|Lead 6522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006523|106523|989898|1|9999006523|MR|Test|E|Lead 6523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006524|106524|989898|1|9999006524|MR|Test|E|Lead 6524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006525|106525|989898|1|9999006525|MR|Test|E|Lead 6525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006526|106526|989898|1|9999006526|MR|Test|E|Lead 6526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006527|106527|989898|1|9999006527|MR|Test|E|Lead 6527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006528|106528|989898|1|9999006528|MR|Test|E|Lead 6528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006529|106529|989898|1|9999006529|MR|Test|E|Lead 6529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006530|106530|989898|1|9999006530|MR|Test|E|Lead 6530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006531|106531|989898|1|9999006531|MR|Test|E|Lead 6531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006532|106532|989898|1|9999006532|MR|Test|E|Lead 6532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006533|106533|989898|1|9999006533|MR|Test|E|Lead 6533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006534|106534|989898|1|9999006534|MR|Test|E|Lead 6534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006535|106535|989898|1|9999006535|MR|Test|E|Lead 6535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006536|106536|989898|1|9999006536|MR|Test|E|Lead 6536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006537|106537|989898|1|9999006537|MR|Test|E|Lead 6537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006538|106538|989898|1|9999006538|MR|Test|E|Lead 6538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006539|106539|989898|1|9999006539|MR|Test|E|Lead 6539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006540|106540|989898|1|9999006540|MR|Test|E|Lead 6540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006541|106541|989898|1|9999006541|MR|Test|E|Lead 6541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006542|106542|989898|1|9999006542|MR|Test|E|Lead 6542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006543|106543|989898|1|9999006543|MR|Test|E|Lead 6543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006544|106544|989898|1|9999006544|MR|Test|E|Lead 6544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006545|106545|989898|1|9999006545|MR|Test|E|Lead 6545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006546|106546|989898|1|9999006546|MR|Test|E|Lead 6546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006547|106547|989898|1|9999006547|MR|Test|E|Lead 6547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006548|106548|989898|1|9999006548|MR|Test|E|Lead 6548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006549|106549|989898|1|9999006549|MR|Test|E|Lead 6549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006550|106550|989898|1|9999006550|MR|Test|E|Lead 6550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006551|106551|989898|1|9999006551|MR|Test|E|Lead 6551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006552|106552|989898|1|9999006552|MR|Test|E|Lead 6552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006553|106553|989898|1|9999006553|MR|Test|E|Lead 6553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006554|106554|989898|1|9999006554|MR|Test|E|Lead 6554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006555|106555|989898|1|9999006555|MR|Test|E|Lead 6555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006556|106556|989898|1|9999006556|MR|Test|E|Lead 6556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006557|106557|989898|1|9999006557|MR|Test|E|Lead 6557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006558|106558|989898|1|9999006558|MR|Test|E|Lead 6558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006559|106559|989898|1|9999006559|MR|Test|E|Lead 6559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006560|106560|989898|1|9999006560|MR|Test|E|Lead 6560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006561|106561|989898|1|9999006561|MR|Test|E|Lead 6561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006562|106562|989898|1|9999006562|MR|Test|E|Lead 6562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006563|106563|989898|1|9999006563|MR|Test|E|Lead 6563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006564|106564|989898|1|9999006564|MR|Test|E|Lead 6564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006565|106565|989898|1|9999006565|MR|Test|E|Lead 6565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006566|106566|989898|1|9999006566|MR|Test|E|Lead 6566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006567|106567|989898|1|9999006567|MR|Test|E|Lead 6567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006568|106568|989898|1|9999006568|MR|Test|E|Lead 6568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006569|106569|989898|1|9999006569|MR|Test|E|Lead 6569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006570|106570|989898|1|9999006570|MR|Test|E|Lead 6570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006571|106571|989898|1|9999006571|MR|Test|E|Lead 6571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006572|106572|989898|1|9999006572|MR|Test|E|Lead 6572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006573|106573|989898|1|9999006573|MR|Test|E|Lead 6573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006574|106574|989898|1|9999006574|MR|Test|E|Lead 6574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006575|106575|989898|1|9999006575|MR|Test|E|Lead 6575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006576|106576|989898|1|9999006576|MR|Test|E|Lead 6576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006577|106577|989898|1|9999006577|MR|Test|E|Lead 6577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006578|106578|989898|1|9999006578|MR|Test|E|Lead 6578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006579|106579|989898|1|9999006579|MR|Test|E|Lead 6579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006580|106580|989898|1|9999006580|MR|Test|E|Lead 6580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006581|106581|989898|1|9999006581|MR|Test|E|Lead 6581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006582|106582|989898|1|9999006582|MR|Test|E|Lead 6582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006583|106583|989898|1|9999006583|MR|Test|E|Lead 6583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006584|106584|989898|1|9999006584|MR|Test|E|Lead 6584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006585|106585|989898|1|9999006585|MR|Test|E|Lead 6585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006586|106586|989898|1|9999006586|MR|Test|E|Lead 6586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006587|106587|989898|1|9999006587|MR|Test|E|Lead 6587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006588|106588|989898|1|9999006588|MR|Test|E|Lead 6588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006589|106589|989898|1|9999006589|MR|Test|E|Lead 6589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006590|106590|989898|1|9999006590|MR|Test|E|Lead 6590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006591|106591|989898|1|9999006591|MR|Test|E|Lead 6591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006592|106592|989898|1|9999006592|MR|Test|E|Lead 6592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006593|106593|989898|1|9999006593|MR|Test|E|Lead 6593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006594|106594|989898|1|9999006594|MR|Test|E|Lead 6594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006595|106595|989898|1|9999006595|MR|Test|E|Lead 6595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006596|106596|989898|1|9999006596|MR|Test|E|Lead 6596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006597|106597|989898|1|9999006597|MR|Test|E|Lead 6597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006598|106598|989898|1|9999006598|MR|Test|E|Lead 6598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006599|106599|989898|1|9999006599|MR|Test|E|Lead 6599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006600|106600|989898|1|9999006600|MR|Test|E|Lead 6600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006601|106601|989898|1|9999006601|MR|Test|E|Lead 6601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006602|106602|989898|1|9999006602|MR|Test|E|Lead 6602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006603|106603|989898|1|9999006603|MR|Test|E|Lead 6603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006604|106604|989898|1|9999006604|MR|Test|E|Lead 6604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006605|106605|989898|1|9999006605|MR|Test|E|Lead 6605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006606|106606|989898|1|9999006606|MR|Test|E|Lead 6606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006607|106607|989898|1|9999006607|MR|Test|E|Lead 6607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006608|106608|989898|1|9999006608|MR|Test|E|Lead 6608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006609|106609|989898|1|9999006609|MR|Test|E|Lead 6609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006610|106610|989898|1|9999006610|MR|Test|E|Lead 6610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006611|106611|989898|1|9999006611|MR|Test|E|Lead 6611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006612|106612|989898|1|9999006612|MR|Test|E|Lead 6612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006613|106613|989898|1|9999006613|MR|Test|E|Lead 6613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006614|106614|989898|1|9999006614|MR|Test|E|Lead 6614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006615|106615|989898|1|9999006615|MR|Test|E|Lead 6615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006616|106616|989898|1|9999006616|MR|Test|E|Lead 6616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006617|106617|989898|1|9999006617|MR|Test|E|Lead 6617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006618|106618|989898|1|9999006618|MR|Test|E|Lead 6618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006619|106619|989898|1|9999006619|MR|Test|E|Lead 6619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006620|106620|989898|1|9999006620|MR|Test|E|Lead 6620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006621|106621|989898|1|9999006621|MR|Test|E|Lead 6621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006622|106622|989898|1|9999006622|MR|Test|E|Lead 6622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006623|106623|989898|1|9999006623|MR|Test|E|Lead 6623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006624|106624|989898|1|9999006624|MR|Test|E|Lead 6624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006625|106625|989898|1|9999006625|MR|Test|E|Lead 6625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006626|106626|989898|1|9999006626|MR|Test|E|Lead 6626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006627|106627|989898|1|9999006627|MR|Test|E|Lead 6627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006628|106628|989898|1|9999006628|MR|Test|E|Lead 6628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006629|106629|989898|1|9999006629|MR|Test|E|Lead 6629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006630|106630|989898|1|9999006630|MR|Test|E|Lead 6630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006631|106631|989898|1|9999006631|MR|Test|E|Lead 6631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006632|106632|989898|1|9999006632|MR|Test|E|Lead 6632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006633|106633|989898|1|9999006633|MR|Test|E|Lead 6633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006634|106634|989898|1|9999006634|MR|Test|E|Lead 6634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006635|106635|989898|1|9999006635|MR|Test|E|Lead 6635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006636|106636|989898|1|9999006636|MR|Test|E|Lead 6636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006637|106637|989898|1|9999006637|MR|Test|E|Lead 6637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006638|106638|989898|1|9999006638|MR|Test|E|Lead 6638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006639|106639|989898|1|9999006639|MR|Test|E|Lead 6639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006640|106640|989898|1|9999006640|MR|Test|E|Lead 6640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006641|106641|989898|1|9999006641|MR|Test|E|Lead 6641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006642|106642|989898|1|9999006642|MR|Test|E|Lead 6642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006643|106643|989898|1|9999006643|MR|Test|E|Lead 6643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006644|106644|989898|1|9999006644|MR|Test|E|Lead 6644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006645|106645|989898|1|9999006645|MR|Test|E|Lead 6645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006646|106646|989898|1|9999006646|MR|Test|E|Lead 6646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006647|106647|989898|1|9999006647|MR|Test|E|Lead 6647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006648|106648|989898|1|9999006648|MR|Test|E|Lead 6648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006649|106649|989898|1|9999006649|MR|Test|E|Lead 6649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006650|106650|989898|1|9999006650|MR|Test|E|Lead 6650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006651|106651|989898|1|9999006651|MR|Test|E|Lead 6651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006652|106652|989898|1|9999006652|MR|Test|E|Lead 6652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006653|106653|989898|1|9999006653|MR|Test|E|Lead 6653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006654|106654|989898|1|9999006654|MR|Test|E|Lead 6654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006655|106655|989898|1|9999006655|MR|Test|E|Lead 6655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006656|106656|989898|1|9999006656|MR|Test|E|Lead 6656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006657|106657|989898|1|9999006657|MR|Test|E|Lead 6657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006658|106658|989898|1|9999006658|MR|Test|E|Lead 6658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006659|106659|989898|1|9999006659|MR|Test|E|Lead 6659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006660|106660|989898|1|9999006660|MR|Test|E|Lead 6660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006661|106661|989898|1|9999006661|MR|Test|E|Lead 6661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006662|106662|989898|1|9999006662|MR|Test|E|Lead 6662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006663|106663|989898|1|9999006663|MR|Test|E|Lead 6663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006664|106664|989898|1|9999006664|MR|Test|E|Lead 6664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006665|106665|989898|1|9999006665|MR|Test|E|Lead 6665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006666|106666|989898|1|9999006666|MR|Test|E|Lead 6666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006667|106667|989898|1|9999006667|MR|Test|E|Lead 6667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006668|106668|989898|1|9999006668|MR|Test|E|Lead 6668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006669|106669|989898|1|9999006669|MR|Test|E|Lead 6669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006670|106670|989898|1|9999006670|MR|Test|E|Lead 6670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006671|106671|989898|1|9999006671|MR|Test|E|Lead 6671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006672|106672|989898|1|9999006672|MR|Test|E|Lead 6672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006673|106673|989898|1|9999006673|MR|Test|E|Lead 6673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006674|106674|989898|1|9999006674|MR|Test|E|Lead 6674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006675|106675|989898|1|9999006675|MR|Test|E|Lead 6675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006676|106676|989898|1|9999006676|MR|Test|E|Lead 6676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006677|106677|989898|1|9999006677|MR|Test|E|Lead 6677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006678|106678|989898|1|9999006678|MR|Test|E|Lead 6678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006679|106679|989898|1|9999006679|MR|Test|E|Lead 6679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006680|106680|989898|1|9999006680|MR|Test|E|Lead 6680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006681|106681|989898|1|9999006681|MR|Test|E|Lead 6681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006682|106682|989898|1|9999006682|MR|Test|E|Lead 6682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006683|106683|989898|1|9999006683|MR|Test|E|Lead 6683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006684|106684|989898|1|9999006684|MR|Test|E|Lead 6684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006685|106685|989898|1|9999006685|MR|Test|E|Lead 6685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006686|106686|989898|1|9999006686|MR|Test|E|Lead 6686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006687|106687|989898|1|9999006687|MR|Test|E|Lead 6687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006688|106688|989898|1|9999006688|MR|Test|E|Lead 6688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006689|106689|989898|1|9999006689|MR|Test|E|Lead 6689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006690|106690|989898|1|9999006690|MR|Test|E|Lead 6690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006691|106691|989898|1|9999006691|MR|Test|E|Lead 6691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006692|106692|989898|1|9999006692|MR|Test|E|Lead 6692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006693|106693|989898|1|9999006693|MR|Test|E|Lead 6693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006694|106694|989898|1|9999006694|MR|Test|E|Lead 6694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006695|106695|989898|1|9999006695|MR|Test|E|Lead 6695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006696|106696|989898|1|9999006696|MR|Test|E|Lead 6696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006697|106697|989898|1|9999006697|MR|Test|E|Lead 6697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006698|106698|989898|1|9999006698|MR|Test|E|Lead 6698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006699|106699|989898|1|9999006699|MR|Test|E|Lead 6699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006700|106700|989898|1|9999006700|MR|Test|E|Lead 6700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006701|106701|989898|1|9999006701|MR|Test|E|Lead 6701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006702|106702|989898|1|9999006702|MR|Test|E|Lead 6702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006703|106703|989898|1|9999006703|MR|Test|E|Lead 6703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006704|106704|989898|1|9999006704|MR|Test|E|Lead 6704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006705|106705|989898|1|9999006705|MR|Test|E|Lead 6705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006706|106706|989898|1|9999006706|MR|Test|E|Lead 6706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006707|106707|989898|1|9999006707|MR|Test|E|Lead 6707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006708|106708|989898|1|9999006708|MR|Test|E|Lead 6708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006709|106709|989898|1|9999006709|MR|Test|E|Lead 6709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006710|106710|989898|1|9999006710|MR|Test|E|Lead 6710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006711|106711|989898|1|9999006711|MR|Test|E|Lead 6711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006712|106712|989898|1|9999006712|MR|Test|E|Lead 6712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006713|106713|989898|1|9999006713|MR|Test|E|Lead 6713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006714|106714|989898|1|9999006714|MR|Test|E|Lead 6714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006715|106715|989898|1|9999006715|MR|Test|E|Lead 6715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006716|106716|989898|1|9999006716|MR|Test|E|Lead 6716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006717|106717|989898|1|9999006717|MR|Test|E|Lead 6717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006718|106718|989898|1|9999006718|MR|Test|E|Lead 6718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006719|106719|989898|1|9999006719|MR|Test|E|Lead 6719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006720|106720|989898|1|9999006720|MR|Test|E|Lead 6720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006721|106721|989898|1|9999006721|MR|Test|E|Lead 6721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006722|106722|989898|1|9999006722|MR|Test|E|Lead 6722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006723|106723|989898|1|9999006723|MR|Test|E|Lead 6723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006724|106724|989898|1|9999006724|MR|Test|E|Lead 6724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006725|106725|989898|1|9999006725|MR|Test|E|Lead 6725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006726|106726|989898|1|9999006726|MR|Test|E|Lead 6726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006727|106727|989898|1|9999006727|MR|Test|E|Lead 6727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006728|106728|989898|1|9999006728|MR|Test|E|Lead 6728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006729|106729|989898|1|9999006729|MR|Test|E|Lead 6729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006730|106730|989898|1|9999006730|MR|Test|E|Lead 6730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006731|106731|989898|1|9999006731|MR|Test|E|Lead 6731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006732|106732|989898|1|9999006732|MR|Test|E|Lead 6732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006733|106733|989898|1|9999006733|MR|Test|E|Lead 6733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006734|106734|989898|1|9999006734|MR|Test|E|Lead 6734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006735|106735|989898|1|9999006735|MR|Test|E|Lead 6735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006736|106736|989898|1|9999006736|MR|Test|E|Lead 6736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006737|106737|989898|1|9999006737|MR|Test|E|Lead 6737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006738|106738|989898|1|9999006738|MR|Test|E|Lead 6738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006739|106739|989898|1|9999006739|MR|Test|E|Lead 6739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006740|106740|989898|1|9999006740|MR|Test|E|Lead 6740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006741|106741|989898|1|9999006741|MR|Test|E|Lead 6741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006742|106742|989898|1|9999006742|MR|Test|E|Lead 6742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006743|106743|989898|1|9999006743|MR|Test|E|Lead 6743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006744|106744|989898|1|9999006744|MR|Test|E|Lead 6744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006745|106745|989898|1|9999006745|MR|Test|E|Lead 6745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006746|106746|989898|1|9999006746|MR|Test|E|Lead 6746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006747|106747|989898|1|9999006747|MR|Test|E|Lead 6747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006748|106748|989898|1|9999006748|MR|Test|E|Lead 6748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006749|106749|989898|1|9999006749|MR|Test|E|Lead 6749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006750|106750|989898|1|9999006750|MR|Test|E|Lead 6750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006751|106751|989898|1|9999006751|MR|Test|E|Lead 6751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006752|106752|989898|1|9999006752|MR|Test|E|Lead 6752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006753|106753|989898|1|9999006753|MR|Test|E|Lead 6753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006754|106754|989898|1|9999006754|MR|Test|E|Lead 6754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006755|106755|989898|1|9999006755|MR|Test|E|Lead 6755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006756|106756|989898|1|9999006756|MR|Test|E|Lead 6756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006757|106757|989898|1|9999006757|MR|Test|E|Lead 6757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006758|106758|989898|1|9999006758|MR|Test|E|Lead 6758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006759|106759|989898|1|9999006759|MR|Test|E|Lead 6759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006760|106760|989898|1|9999006760|MR|Test|E|Lead 6760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006761|106761|989898|1|9999006761|MR|Test|E|Lead 6761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006762|106762|989898|1|9999006762|MR|Test|E|Lead 6762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006763|106763|989898|1|9999006763|MR|Test|E|Lead 6763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006764|106764|989898|1|9999006764|MR|Test|E|Lead 6764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006765|106765|989898|1|9999006765|MR|Test|E|Lead 6765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006766|106766|989898|1|9999006766|MR|Test|E|Lead 6766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006767|106767|989898|1|9999006767|MR|Test|E|Lead 6767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006768|106768|989898|1|9999006768|MR|Test|E|Lead 6768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006769|106769|989898|1|9999006769|MR|Test|E|Lead 6769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006770|106770|989898|1|9999006770|MR|Test|E|Lead 6770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006771|106771|989898|1|9999006771|MR|Test|E|Lead 6771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006772|106772|989898|1|9999006772|MR|Test|E|Lead 6772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006773|106773|989898|1|9999006773|MR|Test|E|Lead 6773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006774|106774|989898|1|9999006774|MR|Test|E|Lead 6774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006775|106775|989898|1|9999006775|MR|Test|E|Lead 6775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006776|106776|989898|1|9999006776|MR|Test|E|Lead 6776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006777|106777|989898|1|9999006777|MR|Test|E|Lead 6777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006778|106778|989898|1|9999006778|MR|Test|E|Lead 6778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006779|106779|989898|1|9999006779|MR|Test|E|Lead 6779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006780|106780|989898|1|9999006780|MR|Test|E|Lead 6780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006781|106781|989898|1|9999006781|MR|Test|E|Lead 6781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006782|106782|989898|1|9999006782|MR|Test|E|Lead 6782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006783|106783|989898|1|9999006783|MR|Test|E|Lead 6783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006784|106784|989898|1|9999006784|MR|Test|E|Lead 6784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006785|106785|989898|1|9999006785|MR|Test|E|Lead 6785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006786|106786|989898|1|9999006786|MR|Test|E|Lead 6786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006787|106787|989898|1|9999006787|MR|Test|E|Lead 6787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006788|106788|989898|1|9999006788|MR|Test|E|Lead 6788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006789|106789|989898|1|9999006789|MR|Test|E|Lead 6789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006790|106790|989898|1|9999006790|MR|Test|E|Lead 6790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006791|106791|989898|1|9999006791|MR|Test|E|Lead 6791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006792|106792|989898|1|9999006792|MR|Test|E|Lead 6792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006793|106793|989898|1|9999006793|MR|Test|E|Lead 6793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006794|106794|989898|1|9999006794|MR|Test|E|Lead 6794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006795|106795|989898|1|9999006795|MR|Test|E|Lead 6795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006796|106796|989898|1|9999006796|MR|Test|E|Lead 6796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006797|106797|989898|1|9999006797|MR|Test|E|Lead 6797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006798|106798|989898|1|9999006798|MR|Test|E|Lead 6798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006799|106799|989898|1|9999006799|MR|Test|E|Lead 6799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006800|106800|989898|1|9999006800|MR|Test|E|Lead 6800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006801|106801|989898|1|9999006801|MR|Test|E|Lead 6801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006802|106802|989898|1|9999006802|MR|Test|E|Lead 6802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006803|106803|989898|1|9999006803|MR|Test|E|Lead 6803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006804|106804|989898|1|9999006804|MR|Test|E|Lead 6804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006805|106805|989898|1|9999006805|MR|Test|E|Lead 6805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006806|106806|989898|1|9999006806|MR|Test|E|Lead 6806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006807|106807|989898|1|9999006807|MR|Test|E|Lead 6807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006808|106808|989898|1|9999006808|MR|Test|E|Lead 6808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006809|106809|989898|1|9999006809|MR|Test|E|Lead 6809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006810|106810|989898|1|9999006810|MR|Test|E|Lead 6810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006811|106811|989898|1|9999006811|MR|Test|E|Lead 6811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006812|106812|989898|1|9999006812|MR|Test|E|Lead 6812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006813|106813|989898|1|9999006813|MR|Test|E|Lead 6813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006814|106814|989898|1|9999006814|MR|Test|E|Lead 6814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006815|106815|989898|1|9999006815|MR|Test|E|Lead 6815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006816|106816|989898|1|9999006816|MR|Test|E|Lead 6816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006817|106817|989898|1|9999006817|MR|Test|E|Lead 6817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006818|106818|989898|1|9999006818|MR|Test|E|Lead 6818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006819|106819|989898|1|9999006819|MR|Test|E|Lead 6819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006820|106820|989898|1|9999006820|MR|Test|E|Lead 6820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006821|106821|989898|1|9999006821|MR|Test|E|Lead 6821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006822|106822|989898|1|9999006822|MR|Test|E|Lead 6822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006823|106823|989898|1|9999006823|MR|Test|E|Lead 6823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006824|106824|989898|1|9999006824|MR|Test|E|Lead 6824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006825|106825|989898|1|9999006825|MR|Test|E|Lead 6825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006826|106826|989898|1|9999006826|MR|Test|E|Lead 6826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006827|106827|989898|1|9999006827|MR|Test|E|Lead 6827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006828|106828|989898|1|9999006828|MR|Test|E|Lead 6828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006829|106829|989898|1|9999006829|MR|Test|E|Lead 6829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006830|106830|989898|1|9999006830|MR|Test|E|Lead 6830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006831|106831|989898|1|9999006831|MR|Test|E|Lead 6831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006832|106832|989898|1|9999006832|MR|Test|E|Lead 6832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006833|106833|989898|1|9999006833|MR|Test|E|Lead 6833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006834|106834|989898|1|9999006834|MR|Test|E|Lead 6834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006835|106835|989898|1|9999006835|MR|Test|E|Lead 6835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006836|106836|989898|1|9999006836|MR|Test|E|Lead 6836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006837|106837|989898|1|9999006837|MR|Test|E|Lead 6837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006838|106838|989898|1|9999006838|MR|Test|E|Lead 6838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006839|106839|989898|1|9999006839|MR|Test|E|Lead 6839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006840|106840|989898|1|9999006840|MR|Test|E|Lead 6840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006841|106841|989898|1|9999006841|MR|Test|E|Lead 6841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006842|106842|989898|1|9999006842|MR|Test|E|Lead 6842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006843|106843|989898|1|9999006843|MR|Test|E|Lead 6843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006844|106844|989898|1|9999006844|MR|Test|E|Lead 6844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006845|106845|989898|1|9999006845|MR|Test|E|Lead 6845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006846|106846|989898|1|9999006846|MR|Test|E|Lead 6846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006847|106847|989898|1|9999006847|MR|Test|E|Lead 6847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006848|106848|989898|1|9999006848|MR|Test|E|Lead 6848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006849|106849|989898|1|9999006849|MR|Test|E|Lead 6849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006850|106850|989898|1|9999006850|MR|Test|E|Lead 6850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006851|106851|989898|1|9999006851|MR|Test|E|Lead 6851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006852|106852|989898|1|9999006852|MR|Test|E|Lead 6852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006853|106853|989898|1|9999006853|MR|Test|E|Lead 6853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006854|106854|989898|1|9999006854|MR|Test|E|Lead 6854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006855|106855|989898|1|9999006855|MR|Test|E|Lead 6855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006856|106856|989898|1|9999006856|MR|Test|E|Lead 6856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006857|106857|989898|1|9999006857|MR|Test|E|Lead 6857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006858|106858|989898|1|9999006858|MR|Test|E|Lead 6858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006859|106859|989898|1|9999006859|MR|Test|E|Lead 6859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006860|106860|989898|1|9999006860|MR|Test|E|Lead 6860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006861|106861|989898|1|9999006861|MR|Test|E|Lead 6861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006862|106862|989898|1|9999006862|MR|Test|E|Lead 6862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006863|106863|989898|1|9999006863|MR|Test|E|Lead 6863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006864|106864|989898|1|9999006864|MR|Test|E|Lead 6864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006865|106865|989898|1|9999006865|MR|Test|E|Lead 6865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006866|106866|989898|1|9999006866|MR|Test|E|Lead 6866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006867|106867|989898|1|9999006867|MR|Test|E|Lead 6867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006868|106868|989898|1|9999006868|MR|Test|E|Lead 6868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006869|106869|989898|1|9999006869|MR|Test|E|Lead 6869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006870|106870|989898|1|9999006870|MR|Test|E|Lead 6870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006871|106871|989898|1|9999006871|MR|Test|E|Lead 6871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006872|106872|989898|1|9999006872|MR|Test|E|Lead 6872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006873|106873|989898|1|9999006873|MR|Test|E|Lead 6873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006874|106874|989898|1|9999006874|MR|Test|E|Lead 6874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006875|106875|989898|1|9999006875|MR|Test|E|Lead 6875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006876|106876|989898|1|9999006876|MR|Test|E|Lead 6876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006877|106877|989898|1|9999006877|MR|Test|E|Lead 6877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006878|106878|989898|1|9999006878|MR|Test|E|Lead 6878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006879|106879|989898|1|9999006879|MR|Test|E|Lead 6879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006880|106880|989898|1|9999006880|MR|Test|E|Lead 6880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006881|106881|989898|1|9999006881|MR|Test|E|Lead 6881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006882|106882|989898|1|9999006882|MR|Test|E|Lead 6882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006883|106883|989898|1|9999006883|MR|Test|E|Lead 6883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006884|106884|989898|1|9999006884|MR|Test|E|Lead 6884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006885|106885|989898|1|9999006885|MR|Test|E|Lead 6885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006886|106886|989898|1|9999006886|MR|Test|E|Lead 6886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006887|106887|989898|1|9999006887|MR|Test|E|Lead 6887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006888|106888|989898|1|9999006888|MR|Test|E|Lead 6888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006889|106889|989898|1|9999006889|MR|Test|E|Lead 6889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006890|106890|989898|1|9999006890|MR|Test|E|Lead 6890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006891|106891|989898|1|9999006891|MR|Test|E|Lead 6891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006892|106892|989898|1|9999006892|MR|Test|E|Lead 6892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006893|106893|989898|1|9999006893|MR|Test|E|Lead 6893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006894|106894|989898|1|9999006894|MR|Test|E|Lead 6894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006895|106895|989898|1|9999006895|MR|Test|E|Lead 6895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006896|106896|989898|1|9999006896|MR|Test|E|Lead 6896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006897|106897|989898|1|9999006897|MR|Test|E|Lead 6897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006898|106898|989898|1|9999006898|MR|Test|E|Lead 6898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006899|106899|989898|1|9999006899|MR|Test|E|Lead 6899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006900|106900|989898|1|9999006900|MR|Test|E|Lead 6900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006901|106901|989898|1|9999006901|MR|Test|E|Lead 6901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006902|106902|989898|1|9999006902|MR|Test|E|Lead 6902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006903|106903|989898|1|9999006903|MR|Test|E|Lead 6903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006904|106904|989898|1|9999006904|MR|Test|E|Lead 6904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006905|106905|989898|1|9999006905|MR|Test|E|Lead 6905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006906|106906|989898|1|9999006906|MR|Test|E|Lead 6906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006907|106907|989898|1|9999006907|MR|Test|E|Lead 6907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006908|106908|989898|1|9999006908|MR|Test|E|Lead 6908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006909|106909|989898|1|9999006909|MR|Test|E|Lead 6909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006910|106910|989898|1|9999006910|MR|Test|E|Lead 6910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006911|106911|989898|1|9999006911|MR|Test|E|Lead 6911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006912|106912|989898|1|9999006912|MR|Test|E|Lead 6912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006913|106913|989898|1|9999006913|MR|Test|E|Lead 6913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006914|106914|989898|1|9999006914|MR|Test|E|Lead 6914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006915|106915|989898|1|9999006915|MR|Test|E|Lead 6915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006916|106916|989898|1|9999006916|MR|Test|E|Lead 6916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006917|106917|989898|1|9999006917|MR|Test|E|Lead 6917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006918|106918|989898|1|9999006918|MR|Test|E|Lead 6918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006919|106919|989898|1|9999006919|MR|Test|E|Lead 6919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006920|106920|989898|1|9999006920|MR|Test|E|Lead 6920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006921|106921|989898|1|9999006921|MR|Test|E|Lead 6921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006922|106922|989898|1|9999006922|MR|Test|E|Lead 6922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006923|106923|989898|1|9999006923|MR|Test|E|Lead 6923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006924|106924|989898|1|9999006924|MR|Test|E|Lead 6924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006925|106925|989898|1|9999006925|MR|Test|E|Lead 6925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006926|106926|989898|1|9999006926|MR|Test|E|Lead 6926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006927|106927|989898|1|9999006927|MR|Test|E|Lead 6927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006928|106928|989898|1|9999006928|MR|Test|E|Lead 6928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006929|106929|989898|1|9999006929|MR|Test|E|Lead 6929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006930|106930|989898|1|9999006930|MR|Test|E|Lead 6930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006931|106931|989898|1|9999006931|MR|Test|E|Lead 6931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006932|106932|989898|1|9999006932|MR|Test|E|Lead 6932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006933|106933|989898|1|9999006933|MR|Test|E|Lead 6933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006934|106934|989898|1|9999006934|MR|Test|E|Lead 6934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006935|106935|989898|1|9999006935|MR|Test|E|Lead 6935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006936|106936|989898|1|9999006936|MR|Test|E|Lead 6936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006937|106937|989898|1|9999006937|MR|Test|E|Lead 6937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006938|106938|989898|1|9999006938|MR|Test|E|Lead 6938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006939|106939|989898|1|9999006939|MR|Test|E|Lead 6939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006940|106940|989898|1|9999006940|MR|Test|E|Lead 6940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006941|106941|989898|1|9999006941|MR|Test|E|Lead 6941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006942|106942|989898|1|9999006942|MR|Test|E|Lead 6942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006943|106943|989898|1|9999006943|MR|Test|E|Lead 6943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006944|106944|989898|1|9999006944|MR|Test|E|Lead 6944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006945|106945|989898|1|9999006945|MR|Test|E|Lead 6945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006946|106946|989898|1|9999006946|MR|Test|E|Lead 6946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006947|106947|989898|1|9999006947|MR|Test|E|Lead 6947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006948|106948|989898|1|9999006948|MR|Test|E|Lead 6948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006949|106949|989898|1|9999006949|MR|Test|E|Lead 6949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006950|106950|989898|1|9999006950|MR|Test|E|Lead 6950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006951|106951|989898|1|9999006951|MR|Test|E|Lead 6951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006952|106952|989898|1|9999006952|MR|Test|E|Lead 6952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006953|106953|989898|1|9999006953|MR|Test|E|Lead 6953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006954|106954|989898|1|9999006954|MR|Test|E|Lead 6954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006955|106955|989898|1|9999006955|MR|Test|E|Lead 6955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006956|106956|989898|1|9999006956|MR|Test|E|Lead 6956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006957|106957|989898|1|9999006957|MR|Test|E|Lead 6957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006958|106958|989898|1|9999006958|MR|Test|E|Lead 6958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006959|106959|989898|1|9999006959|MR|Test|E|Lead 6959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006960|106960|989898|1|9999006960|MR|Test|E|Lead 6960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006961|106961|989898|1|9999006961|MR|Test|E|Lead 6961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006962|106962|989898|1|9999006962|MR|Test|E|Lead 6962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006963|106963|989898|1|9999006963|MR|Test|E|Lead 6963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006964|106964|989898|1|9999006964|MR|Test|E|Lead 6964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006965|106965|989898|1|9999006965|MR|Test|E|Lead 6965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006966|106966|989898|1|9999006966|MR|Test|E|Lead 6966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006967|106967|989898|1|9999006967|MR|Test|E|Lead 6967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006968|106968|989898|1|9999006968|MR|Test|E|Lead 6968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006969|106969|989898|1|9999006969|MR|Test|E|Lead 6969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006970|106970|989898|1|9999006970|MR|Test|E|Lead 6970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006971|106971|989898|1|9999006971|MR|Test|E|Lead 6971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006972|106972|989898|1|9999006972|MR|Test|E|Lead 6972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006973|106973|989898|1|9999006973|MR|Test|E|Lead 6973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006974|106974|989898|1|9999006974|MR|Test|E|Lead 6974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006975|106975|989898|1|9999006975|MR|Test|E|Lead 6975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006976|106976|989898|1|9999006976|MR|Test|E|Lead 6976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006977|106977|989898|1|9999006977|MR|Test|E|Lead 6977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006978|106978|989898|1|9999006978|MR|Test|E|Lead 6978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006979|106979|989898|1|9999006979|MR|Test|E|Lead 6979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006980|106980|989898|1|9999006980|MR|Test|E|Lead 6980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006981|106981|989898|1|9999006981|MR|Test|E|Lead 6981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006982|106982|989898|1|9999006982|MR|Test|E|Lead 6982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006983|106983|989898|1|9999006983|MR|Test|E|Lead 6983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006984|106984|989898|1|9999006984|MR|Test|E|Lead 6984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006985|106985|989898|1|9999006985|MR|Test|E|Lead 6985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006986|106986|989898|1|9999006986|MR|Test|E|Lead 6986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006987|106987|989898|1|9999006987|MR|Test|E|Lead 6987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006988|106988|989898|1|9999006988|MR|Test|E|Lead 6988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006989|106989|989898|1|9999006989|MR|Test|E|Lead 6989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006990|106990|989898|1|9999006990|MR|Test|E|Lead 6990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006991|106991|989898|1|9999006991|MR|Test|E|Lead 6991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006992|106992|989898|1|9999006992|MR|Test|E|Lead 6992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006993|106993|989898|1|9999006993|MR|Test|E|Lead 6993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006994|106994|989898|1|9999006994|MR|Test|E|Lead 6994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006995|106995|989898|1|9999006995|MR|Test|E|Lead 6995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006996|106996|989898|1|9999006996|MR|Test|E|Lead 6996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006997|106997|989898|1|9999006997|MR|Test|E|Lead 6997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006998|106998|989898|1|9999006998|MR|Test|E|Lead 6998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1006999|106999|989898|1|9999006999|MR|Test|E|Lead 6999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007000|107000|989898|1|9999007000|MR|Test|E|Lead 7000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007001|107001|989898|1|9999007001|MR|Test|E|Lead 7001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007002|107002|989898|1|9999007002|MR|Test|E|Lead 7002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007003|107003|989898|1|9999007003|MR|Test|E|Lead 7003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007004|107004|989898|1|9999007004|MR|Test|E|Lead 7004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007005|107005|989898|1|9999007005|MR|Test|E|Lead 7005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007006|107006|989898|1|9999007006|MR|Test|E|Lead 7006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007007|107007|989898|1|9999007007|MR|Test|E|Lead 7007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007008|107008|989898|1|9999007008|MR|Test|E|Lead 7008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007009|107009|989898|1|9999007009|MR|Test|E|Lead 7009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007010|107010|989898|1|9999007010|MR|Test|E|Lead 7010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007011|107011|989898|1|9999007011|MR|Test|E|Lead 7011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007012|107012|989898|1|9999007012|MR|Test|E|Lead 7012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007013|107013|989898|1|9999007013|MR|Test|E|Lead 7013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007014|107014|989898|1|9999007014|MR|Test|E|Lead 7014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007015|107015|989898|1|9999007015|MR|Test|E|Lead 7015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007016|107016|989898|1|9999007016|MR|Test|E|Lead 7016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007017|107017|989898|1|9999007017|MR|Test|E|Lead 7017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007018|107018|989898|1|9999007018|MR|Test|E|Lead 7018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007019|107019|989898|1|9999007019|MR|Test|E|Lead 7019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007020|107020|989898|1|9999007020|MR|Test|E|Lead 7020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007021|107021|989898|1|9999007021|MR|Test|E|Lead 7021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007022|107022|989898|1|9999007022|MR|Test|E|Lead 7022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007023|107023|989898|1|9999007023|MR|Test|E|Lead 7023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007024|107024|989898|1|9999007024|MR|Test|E|Lead 7024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007025|107025|989898|1|9999007025|MR|Test|E|Lead 7025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007026|107026|989898|1|9999007026|MR|Test|E|Lead 7026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007027|107027|989898|1|9999007027|MR|Test|E|Lead 7027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007028|107028|989898|1|9999007028|MR|Test|E|Lead 7028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007029|107029|989898|1|9999007029|MR|Test|E|Lead 7029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007030|107030|989898|1|9999007030|MR|Test|E|Lead 7030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007031|107031|989898|1|9999007031|MR|Test|E|Lead 7031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007032|107032|989898|1|9999007032|MR|Test|E|Lead 7032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007033|107033|989898|1|9999007033|MR|Test|E|Lead 7033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007034|107034|989898|1|9999007034|MR|Test|E|Lead 7034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007035|107035|989898|1|9999007035|MR|Test|E|Lead 7035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007036|107036|989898|1|9999007036|MR|Test|E|Lead 7036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007037|107037|989898|1|9999007037|MR|Test|E|Lead 7037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007038|107038|989898|1|9999007038|MR|Test|E|Lead 7038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007039|107039|989898|1|9999007039|MR|Test|E|Lead 7039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007040|107040|989898|1|9999007040|MR|Test|E|Lead 7040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007041|107041|989898|1|9999007041|MR|Test|E|Lead 7041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007042|107042|989898|1|9999007042|MR|Test|E|Lead 7042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007043|107043|989898|1|9999007043|MR|Test|E|Lead 7043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007044|107044|989898|1|9999007044|MR|Test|E|Lead 7044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007045|107045|989898|1|9999007045|MR|Test|E|Lead 7045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007046|107046|989898|1|9999007046|MR|Test|E|Lead 7046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007047|107047|989898|1|9999007047|MR|Test|E|Lead 7047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007048|107048|989898|1|9999007048|MR|Test|E|Lead 7048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007049|107049|989898|1|9999007049|MR|Test|E|Lead 7049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007050|107050|989898|1|9999007050|MR|Test|E|Lead 7050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007051|107051|989898|1|9999007051|MR|Test|E|Lead 7051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007052|107052|989898|1|9999007052|MR|Test|E|Lead 7052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007053|107053|989898|1|9999007053|MR|Test|E|Lead 7053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007054|107054|989898|1|9999007054|MR|Test|E|Lead 7054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007055|107055|989898|1|9999007055|MR|Test|E|Lead 7055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007056|107056|989898|1|9999007056|MR|Test|E|Lead 7056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007057|107057|989898|1|9999007057|MR|Test|E|Lead 7057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007058|107058|989898|1|9999007058|MR|Test|E|Lead 7058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007059|107059|989898|1|9999007059|MR|Test|E|Lead 7059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007060|107060|989898|1|9999007060|MR|Test|E|Lead 7060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007061|107061|989898|1|9999007061|MR|Test|E|Lead 7061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007062|107062|989898|1|9999007062|MR|Test|E|Lead 7062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007063|107063|989898|1|9999007063|MR|Test|E|Lead 7063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007064|107064|989898|1|9999007064|MR|Test|E|Lead 7064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007065|107065|989898|1|9999007065|MR|Test|E|Lead 7065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007066|107066|989898|1|9999007066|MR|Test|E|Lead 7066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007067|107067|989898|1|9999007067|MR|Test|E|Lead 7067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007068|107068|989898|1|9999007068|MR|Test|E|Lead 7068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007069|107069|989898|1|9999007069|MR|Test|E|Lead 7069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007070|107070|989898|1|9999007070|MR|Test|E|Lead 7070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007071|107071|989898|1|9999007071|MR|Test|E|Lead 7071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007072|107072|989898|1|9999007072|MR|Test|E|Lead 7072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007073|107073|989898|1|9999007073|MR|Test|E|Lead 7073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007074|107074|989898|1|9999007074|MR|Test|E|Lead 7074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007075|107075|989898|1|9999007075|MR|Test|E|Lead 7075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007076|107076|989898|1|9999007076|MR|Test|E|Lead 7076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007077|107077|989898|1|9999007077|MR|Test|E|Lead 7077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007078|107078|989898|1|9999007078|MR|Test|E|Lead 7078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007079|107079|989898|1|9999007079|MR|Test|E|Lead 7079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007080|107080|989898|1|9999007080|MR|Test|E|Lead 7080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007081|107081|989898|1|9999007081|MR|Test|E|Lead 7081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007082|107082|989898|1|9999007082|MR|Test|E|Lead 7082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007083|107083|989898|1|9999007083|MR|Test|E|Lead 7083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007084|107084|989898|1|9999007084|MR|Test|E|Lead 7084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007085|107085|989898|1|9999007085|MR|Test|E|Lead 7085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007086|107086|989898|1|9999007086|MR|Test|E|Lead 7086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007087|107087|989898|1|9999007087|MR|Test|E|Lead 7087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007088|107088|989898|1|9999007088|MR|Test|E|Lead 7088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007089|107089|989898|1|9999007089|MR|Test|E|Lead 7089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007090|107090|989898|1|9999007090|MR|Test|E|Lead 7090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007091|107091|989898|1|9999007091|MR|Test|E|Lead 7091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007092|107092|989898|1|9999007092|MR|Test|E|Lead 7092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007093|107093|989898|1|9999007093|MR|Test|E|Lead 7093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007094|107094|989898|1|9999007094|MR|Test|E|Lead 7094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007095|107095|989898|1|9999007095|MR|Test|E|Lead 7095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007096|107096|989898|1|9999007096|MR|Test|E|Lead 7096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007097|107097|989898|1|9999007097|MR|Test|E|Lead 7097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007098|107098|989898|1|9999007098|MR|Test|E|Lead 7098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007099|107099|989898|1|9999007099|MR|Test|E|Lead 7099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007100|107100|989898|1|9999007100|MR|Test|E|Lead 7100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007101|107101|989898|1|9999007101|MR|Test|E|Lead 7101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007102|107102|989898|1|9999007102|MR|Test|E|Lead 7102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007103|107103|989898|1|9999007103|MR|Test|E|Lead 7103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007104|107104|989898|1|9999007104|MR|Test|E|Lead 7104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007105|107105|989898|1|9999007105|MR|Test|E|Lead 7105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007106|107106|989898|1|9999007106|MR|Test|E|Lead 7106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007107|107107|989898|1|9999007107|MR|Test|E|Lead 7107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007108|107108|989898|1|9999007108|MR|Test|E|Lead 7108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007109|107109|989898|1|9999007109|MR|Test|E|Lead 7109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007110|107110|989898|1|9999007110|MR|Test|E|Lead 7110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007111|107111|989898|1|9999007111|MR|Test|E|Lead 7111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007112|107112|989898|1|9999007112|MR|Test|E|Lead 7112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007113|107113|989898|1|9999007113|MR|Test|E|Lead 7113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007114|107114|989898|1|9999007114|MR|Test|E|Lead 7114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007115|107115|989898|1|9999007115|MR|Test|E|Lead 7115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007116|107116|989898|1|9999007116|MR|Test|E|Lead 7116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007117|107117|989898|1|9999007117|MR|Test|E|Lead 7117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007118|107118|989898|1|9999007118|MR|Test|E|Lead 7118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007119|107119|989898|1|9999007119|MR|Test|E|Lead 7119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007120|107120|989898|1|9999007120|MR|Test|E|Lead 7120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007121|107121|989898|1|9999007121|MR|Test|E|Lead 7121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007122|107122|989898|1|9999007122|MR|Test|E|Lead 7122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007123|107123|989898|1|9999007123|MR|Test|E|Lead 7123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007124|107124|989898|1|9999007124|MR|Test|E|Lead 7124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007125|107125|989898|1|9999007125|MR|Test|E|Lead 7125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007126|107126|989898|1|9999007126|MR|Test|E|Lead 7126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007127|107127|989898|1|9999007127|MR|Test|E|Lead 7127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007128|107128|989898|1|9999007128|MR|Test|E|Lead 7128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007129|107129|989898|1|9999007129|MR|Test|E|Lead 7129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007130|107130|989898|1|9999007130|MR|Test|E|Lead 7130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007131|107131|989898|1|9999007131|MR|Test|E|Lead 7131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007132|107132|989898|1|9999007132|MR|Test|E|Lead 7132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007133|107133|989898|1|9999007133|MR|Test|E|Lead 7133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007134|107134|989898|1|9999007134|MR|Test|E|Lead 7134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007135|107135|989898|1|9999007135|MR|Test|E|Lead 7135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007136|107136|989898|1|9999007136|MR|Test|E|Lead 7136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007137|107137|989898|1|9999007137|MR|Test|E|Lead 7137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007138|107138|989898|1|9999007138|MR|Test|E|Lead 7138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007139|107139|989898|1|9999007139|MR|Test|E|Lead 7139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007140|107140|989898|1|9999007140|MR|Test|E|Lead 7140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007141|107141|989898|1|9999007141|MR|Test|E|Lead 7141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007142|107142|989898|1|9999007142|MR|Test|E|Lead 7142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007143|107143|989898|1|9999007143|MR|Test|E|Lead 7143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007144|107144|989898|1|9999007144|MR|Test|E|Lead 7144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007145|107145|989898|1|9999007145|MR|Test|E|Lead 7145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007146|107146|989898|1|9999007146|MR|Test|E|Lead 7146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007147|107147|989898|1|9999007147|MR|Test|E|Lead 7147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007148|107148|989898|1|9999007148|MR|Test|E|Lead 7148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007149|107149|989898|1|9999007149|MR|Test|E|Lead 7149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007150|107150|989898|1|9999007150|MR|Test|E|Lead 7150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007151|107151|989898|1|9999007151|MR|Test|E|Lead 7151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007152|107152|989898|1|9999007152|MR|Test|E|Lead 7152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007153|107153|989898|1|9999007153|MR|Test|E|Lead 7153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007154|107154|989898|1|9999007154|MR|Test|E|Lead 7154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007155|107155|989898|1|9999007155|MR|Test|E|Lead 7155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007156|107156|989898|1|9999007156|MR|Test|E|Lead 7156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007157|107157|989898|1|9999007157|MR|Test|E|Lead 7157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007158|107158|989898|1|9999007158|MR|Test|E|Lead 7158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007159|107159|989898|1|9999007159|MR|Test|E|Lead 7159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007160|107160|989898|1|9999007160|MR|Test|E|Lead 7160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007161|107161|989898|1|9999007161|MR|Test|E|Lead 7161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007162|107162|989898|1|9999007162|MR|Test|E|Lead 7162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007163|107163|989898|1|9999007163|MR|Test|E|Lead 7163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007164|107164|989898|1|9999007164|MR|Test|E|Lead 7164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007165|107165|989898|1|9999007165|MR|Test|E|Lead 7165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007166|107166|989898|1|9999007166|MR|Test|E|Lead 7166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007167|107167|989898|1|9999007167|MR|Test|E|Lead 7167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007168|107168|989898|1|9999007168|MR|Test|E|Lead 7168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007169|107169|989898|1|9999007169|MR|Test|E|Lead 7169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007170|107170|989898|1|9999007170|MR|Test|E|Lead 7170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007171|107171|989898|1|9999007171|MR|Test|E|Lead 7171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007172|107172|989898|1|9999007172|MR|Test|E|Lead 7172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007173|107173|989898|1|9999007173|MR|Test|E|Lead 7173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007174|107174|989898|1|9999007174|MR|Test|E|Lead 7174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007175|107175|989898|1|9999007175|MR|Test|E|Lead 7175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007176|107176|989898|1|9999007176|MR|Test|E|Lead 7176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007177|107177|989898|1|9999007177|MR|Test|E|Lead 7177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007178|107178|989898|1|9999007178|MR|Test|E|Lead 7178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007179|107179|989898|1|9999007179|MR|Test|E|Lead 7179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007180|107180|989898|1|9999007180|MR|Test|E|Lead 7180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007181|107181|989898|1|9999007181|MR|Test|E|Lead 7181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007182|107182|989898|1|9999007182|MR|Test|E|Lead 7182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007183|107183|989898|1|9999007183|MR|Test|E|Lead 7183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007184|107184|989898|1|9999007184|MR|Test|E|Lead 7184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007185|107185|989898|1|9999007185|MR|Test|E|Lead 7185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007186|107186|989898|1|9999007186|MR|Test|E|Lead 7186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007187|107187|989898|1|9999007187|MR|Test|E|Lead 7187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007188|107188|989898|1|9999007188|MR|Test|E|Lead 7188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007189|107189|989898|1|9999007189|MR|Test|E|Lead 7189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007190|107190|989898|1|9999007190|MR|Test|E|Lead 7190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007191|107191|989898|1|9999007191|MR|Test|E|Lead 7191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007192|107192|989898|1|9999007192|MR|Test|E|Lead 7192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007193|107193|989898|1|9999007193|MR|Test|E|Lead 7193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007194|107194|989898|1|9999007194|MR|Test|E|Lead 7194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007195|107195|989898|1|9999007195|MR|Test|E|Lead 7195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007196|107196|989898|1|9999007196|MR|Test|E|Lead 7196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007197|107197|989898|1|9999007197|MR|Test|E|Lead 7197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007198|107198|989898|1|9999007198|MR|Test|E|Lead 7198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007199|107199|989898|1|9999007199|MR|Test|E|Lead 7199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007200|107200|989898|1|9999007200|MR|Test|E|Lead 7200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007201|107201|989898|1|9999007201|MR|Test|E|Lead 7201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007202|107202|989898|1|9999007202|MR|Test|E|Lead 7202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007203|107203|989898|1|9999007203|MR|Test|E|Lead 7203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007204|107204|989898|1|9999007204|MR|Test|E|Lead 7204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007205|107205|989898|1|9999007205|MR|Test|E|Lead 7205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007206|107206|989898|1|9999007206|MR|Test|E|Lead 7206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007207|107207|989898|1|9999007207|MR|Test|E|Lead 7207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007208|107208|989898|1|9999007208|MR|Test|E|Lead 7208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007209|107209|989898|1|9999007209|MR|Test|E|Lead 7209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007210|107210|989898|1|9999007210|MR|Test|E|Lead 7210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007211|107211|989898|1|9999007211|MR|Test|E|Lead 7211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007212|107212|989898|1|9999007212|MR|Test|E|Lead 7212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007213|107213|989898|1|9999007213|MR|Test|E|Lead 7213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007214|107214|989898|1|9999007214|MR|Test|E|Lead 7214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007215|107215|989898|1|9999007215|MR|Test|E|Lead 7215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007216|107216|989898|1|9999007216|MR|Test|E|Lead 7216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007217|107217|989898|1|9999007217|MR|Test|E|Lead 7217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007218|107218|989898|1|9999007218|MR|Test|E|Lead 7218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007219|107219|989898|1|9999007219|MR|Test|E|Lead 7219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007220|107220|989898|1|9999007220|MR|Test|E|Lead 7220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007221|107221|989898|1|9999007221|MR|Test|E|Lead 7221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007222|107222|989898|1|9999007222|MR|Test|E|Lead 7222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007223|107223|989898|1|9999007223|MR|Test|E|Lead 7223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007224|107224|989898|1|9999007224|MR|Test|E|Lead 7224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007225|107225|989898|1|9999007225|MR|Test|E|Lead 7225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007226|107226|989898|1|9999007226|MR|Test|E|Lead 7226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007227|107227|989898|1|9999007227|MR|Test|E|Lead 7227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007228|107228|989898|1|9999007228|MR|Test|E|Lead 7228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007229|107229|989898|1|9999007229|MR|Test|E|Lead 7229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007230|107230|989898|1|9999007230|MR|Test|E|Lead 7230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007231|107231|989898|1|9999007231|MR|Test|E|Lead 7231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007232|107232|989898|1|9999007232|MR|Test|E|Lead 7232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007233|107233|989898|1|9999007233|MR|Test|E|Lead 7233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007234|107234|989898|1|9999007234|MR|Test|E|Lead 7234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007235|107235|989898|1|9999007235|MR|Test|E|Lead 7235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007236|107236|989898|1|9999007236|MR|Test|E|Lead 7236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007237|107237|989898|1|9999007237|MR|Test|E|Lead 7237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007238|107238|989898|1|9999007238|MR|Test|E|Lead 7238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007239|107239|989898|1|9999007239|MR|Test|E|Lead 7239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007240|107240|989898|1|9999007240|MR|Test|E|Lead 7240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007241|107241|989898|1|9999007241|MR|Test|E|Lead 7241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007242|107242|989898|1|9999007242|MR|Test|E|Lead 7242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007243|107243|989898|1|9999007243|MR|Test|E|Lead 7243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007244|107244|989898|1|9999007244|MR|Test|E|Lead 7244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007245|107245|989898|1|9999007245|MR|Test|E|Lead 7245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007246|107246|989898|1|9999007246|MR|Test|E|Lead 7246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007247|107247|989898|1|9999007247|MR|Test|E|Lead 7247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007248|107248|989898|1|9999007248|MR|Test|E|Lead 7248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007249|107249|989898|1|9999007249|MR|Test|E|Lead 7249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007250|107250|989898|1|9999007250|MR|Test|E|Lead 7250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007251|107251|989898|1|9999007251|MR|Test|E|Lead 7251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007252|107252|989898|1|9999007252|MR|Test|E|Lead 7252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007253|107253|989898|1|9999007253|MR|Test|E|Lead 7253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007254|107254|989898|1|9999007254|MR|Test|E|Lead 7254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007255|107255|989898|1|9999007255|MR|Test|E|Lead 7255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007256|107256|989898|1|9999007256|MR|Test|E|Lead 7256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007257|107257|989898|1|9999007257|MR|Test|E|Lead 7257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007258|107258|989898|1|9999007258|MR|Test|E|Lead 7258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007259|107259|989898|1|9999007259|MR|Test|E|Lead 7259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007260|107260|989898|1|9999007260|MR|Test|E|Lead 7260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007261|107261|989898|1|9999007261|MR|Test|E|Lead 7261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007262|107262|989898|1|9999007262|MR|Test|E|Lead 7262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007263|107263|989898|1|9999007263|MR|Test|E|Lead 7263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007264|107264|989898|1|9999007264|MR|Test|E|Lead 7264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007265|107265|989898|1|9999007265|MR|Test|E|Lead 7265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007266|107266|989898|1|9999007266|MR|Test|E|Lead 7266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007267|107267|989898|1|9999007267|MR|Test|E|Lead 7267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007268|107268|989898|1|9999007268|MR|Test|E|Lead 7268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007269|107269|989898|1|9999007269|MR|Test|E|Lead 7269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007270|107270|989898|1|9999007270|MR|Test|E|Lead 7270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007271|107271|989898|1|9999007271|MR|Test|E|Lead 7271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007272|107272|989898|1|9999007272|MR|Test|E|Lead 7272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007273|107273|989898|1|9999007273|MR|Test|E|Lead 7273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007274|107274|989898|1|9999007274|MR|Test|E|Lead 7274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007275|107275|989898|1|9999007275|MR|Test|E|Lead 7275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007276|107276|989898|1|9999007276|MR|Test|E|Lead 7276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007277|107277|989898|1|9999007277|MR|Test|E|Lead 7277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007278|107278|989898|1|9999007278|MR|Test|E|Lead 7278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007279|107279|989898|1|9999007279|MR|Test|E|Lead 7279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007280|107280|989898|1|9999007280|MR|Test|E|Lead 7280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007281|107281|989898|1|9999007281|MR|Test|E|Lead 7281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007282|107282|989898|1|9999007282|MR|Test|E|Lead 7282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007283|107283|989898|1|9999007283|MR|Test|E|Lead 7283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007284|107284|989898|1|9999007284|MR|Test|E|Lead 7284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007285|107285|989898|1|9999007285|MR|Test|E|Lead 7285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007286|107286|989898|1|9999007286|MR|Test|E|Lead 7286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007287|107287|989898|1|9999007287|MR|Test|E|Lead 7287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007288|107288|989898|1|9999007288|MR|Test|E|Lead 7288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007289|107289|989898|1|9999007289|MR|Test|E|Lead 7289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007290|107290|989898|1|9999007290|MR|Test|E|Lead 7290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007291|107291|989898|1|9999007291|MR|Test|E|Lead 7291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007292|107292|989898|1|9999007292|MR|Test|E|Lead 7292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007293|107293|989898|1|9999007293|MR|Test|E|Lead 7293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007294|107294|989898|1|9999007294|MR|Test|E|Lead 7294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007295|107295|989898|1|9999007295|MR|Test|E|Lead 7295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007296|107296|989898|1|9999007296|MR|Test|E|Lead 7296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007297|107297|989898|1|9999007297|MR|Test|E|Lead 7297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007298|107298|989898|1|9999007298|MR|Test|E|Lead 7298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007299|107299|989898|1|9999007299|MR|Test|E|Lead 7299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007300|107300|989898|1|9999007300|MR|Test|E|Lead 7300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007301|107301|989898|1|9999007301|MR|Test|E|Lead 7301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007302|107302|989898|1|9999007302|MR|Test|E|Lead 7302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007303|107303|989898|1|9999007303|MR|Test|E|Lead 7303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007304|107304|989898|1|9999007304|MR|Test|E|Lead 7304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007305|107305|989898|1|9999007305|MR|Test|E|Lead 7305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007306|107306|989898|1|9999007306|MR|Test|E|Lead 7306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007307|107307|989898|1|9999007307|MR|Test|E|Lead 7307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007308|107308|989898|1|9999007308|MR|Test|E|Lead 7308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007309|107309|989898|1|9999007309|MR|Test|E|Lead 7309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007310|107310|989898|1|9999007310|MR|Test|E|Lead 7310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007311|107311|989898|1|9999007311|MR|Test|E|Lead 7311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007312|107312|989898|1|9999007312|MR|Test|E|Lead 7312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007313|107313|989898|1|9999007313|MR|Test|E|Lead 7313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007314|107314|989898|1|9999007314|MR|Test|E|Lead 7314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007315|107315|989898|1|9999007315|MR|Test|E|Lead 7315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007316|107316|989898|1|9999007316|MR|Test|E|Lead 7316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007317|107317|989898|1|9999007317|MR|Test|E|Lead 7317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007318|107318|989898|1|9999007318|MR|Test|E|Lead 7318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007319|107319|989898|1|9999007319|MR|Test|E|Lead 7319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007320|107320|989898|1|9999007320|MR|Test|E|Lead 7320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007321|107321|989898|1|9999007321|MR|Test|E|Lead 7321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007322|107322|989898|1|9999007322|MR|Test|E|Lead 7322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007323|107323|989898|1|9999007323|MR|Test|E|Lead 7323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007324|107324|989898|1|9999007324|MR|Test|E|Lead 7324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007325|107325|989898|1|9999007325|MR|Test|E|Lead 7325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007326|107326|989898|1|9999007326|MR|Test|E|Lead 7326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007327|107327|989898|1|9999007327|MR|Test|E|Lead 7327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007328|107328|989898|1|9999007328|MR|Test|E|Lead 7328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007329|107329|989898|1|9999007329|MR|Test|E|Lead 7329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007330|107330|989898|1|9999007330|MR|Test|E|Lead 7330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007331|107331|989898|1|9999007331|MR|Test|E|Lead 7331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007332|107332|989898|1|9999007332|MR|Test|E|Lead 7332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007333|107333|989898|1|9999007333|MR|Test|E|Lead 7333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007334|107334|989898|1|9999007334|MR|Test|E|Lead 7334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007335|107335|989898|1|9999007335|MR|Test|E|Lead 7335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007336|107336|989898|1|9999007336|MR|Test|E|Lead 7336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007337|107337|989898|1|9999007337|MR|Test|E|Lead 7337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007338|107338|989898|1|9999007338|MR|Test|E|Lead 7338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007339|107339|989898|1|9999007339|MR|Test|E|Lead 7339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007340|107340|989898|1|9999007340|MR|Test|E|Lead 7340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007341|107341|989898|1|9999007341|MR|Test|E|Lead 7341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007342|107342|989898|1|9999007342|MR|Test|E|Lead 7342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007343|107343|989898|1|9999007343|MR|Test|E|Lead 7343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007344|107344|989898|1|9999007344|MR|Test|E|Lead 7344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007345|107345|989898|1|9999007345|MR|Test|E|Lead 7345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007346|107346|989898|1|9999007346|MR|Test|E|Lead 7346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007347|107347|989898|1|9999007347|MR|Test|E|Lead 7347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007348|107348|989898|1|9999007348|MR|Test|E|Lead 7348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007349|107349|989898|1|9999007349|MR|Test|E|Lead 7349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007350|107350|989898|1|9999007350|MR|Test|E|Lead 7350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007351|107351|989898|1|9999007351|MR|Test|E|Lead 7351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007352|107352|989898|1|9999007352|MR|Test|E|Lead 7352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007353|107353|989898|1|9999007353|MR|Test|E|Lead 7353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007354|107354|989898|1|9999007354|MR|Test|E|Lead 7354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007355|107355|989898|1|9999007355|MR|Test|E|Lead 7355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007356|107356|989898|1|9999007356|MR|Test|E|Lead 7356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007357|107357|989898|1|9999007357|MR|Test|E|Lead 7357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007358|107358|989898|1|9999007358|MR|Test|E|Lead 7358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007359|107359|989898|1|9999007359|MR|Test|E|Lead 7359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007360|107360|989898|1|9999007360|MR|Test|E|Lead 7360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007361|107361|989898|1|9999007361|MR|Test|E|Lead 7361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007362|107362|989898|1|9999007362|MR|Test|E|Lead 7362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007363|107363|989898|1|9999007363|MR|Test|E|Lead 7363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007364|107364|989898|1|9999007364|MR|Test|E|Lead 7364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007365|107365|989898|1|9999007365|MR|Test|E|Lead 7365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007366|107366|989898|1|9999007366|MR|Test|E|Lead 7366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007367|107367|989898|1|9999007367|MR|Test|E|Lead 7367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007368|107368|989898|1|9999007368|MR|Test|E|Lead 7368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007369|107369|989898|1|9999007369|MR|Test|E|Lead 7369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007370|107370|989898|1|9999007370|MR|Test|E|Lead 7370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007371|107371|989898|1|9999007371|MR|Test|E|Lead 7371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007372|107372|989898|1|9999007372|MR|Test|E|Lead 7372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007373|107373|989898|1|9999007373|MR|Test|E|Lead 7373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007374|107374|989898|1|9999007374|MR|Test|E|Lead 7374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007375|107375|989898|1|9999007375|MR|Test|E|Lead 7375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007376|107376|989898|1|9999007376|MR|Test|E|Lead 7376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007377|107377|989898|1|9999007377|MR|Test|E|Lead 7377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007378|107378|989898|1|9999007378|MR|Test|E|Lead 7378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007379|107379|989898|1|9999007379|MR|Test|E|Lead 7379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007380|107380|989898|1|9999007380|MR|Test|E|Lead 7380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007381|107381|989898|1|9999007381|MR|Test|E|Lead 7381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007382|107382|989898|1|9999007382|MR|Test|E|Lead 7382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007383|107383|989898|1|9999007383|MR|Test|E|Lead 7383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007384|107384|989898|1|9999007384|MR|Test|E|Lead 7384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007385|107385|989898|1|9999007385|MR|Test|E|Lead 7385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007386|107386|989898|1|9999007386|MR|Test|E|Lead 7386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007387|107387|989898|1|9999007387|MR|Test|E|Lead 7387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007388|107388|989898|1|9999007388|MR|Test|E|Lead 7388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007389|107389|989898|1|9999007389|MR|Test|E|Lead 7389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007390|107390|989898|1|9999007390|MR|Test|E|Lead 7390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007391|107391|989898|1|9999007391|MR|Test|E|Lead 7391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007392|107392|989898|1|9999007392|MR|Test|E|Lead 7392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007393|107393|989898|1|9999007393|MR|Test|E|Lead 7393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007394|107394|989898|1|9999007394|MR|Test|E|Lead 7394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007395|107395|989898|1|9999007395|MR|Test|E|Lead 7395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007396|107396|989898|1|9999007396|MR|Test|E|Lead 7396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007397|107397|989898|1|9999007397|MR|Test|E|Lead 7397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007398|107398|989898|1|9999007398|MR|Test|E|Lead 7398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007399|107399|989898|1|9999007399|MR|Test|E|Lead 7399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007400|107400|989898|1|9999007400|MR|Test|E|Lead 7400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007401|107401|989898|1|9999007401|MR|Test|E|Lead 7401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007402|107402|989898|1|9999007402|MR|Test|E|Lead 7402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007403|107403|989898|1|9999007403|MR|Test|E|Lead 7403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007404|107404|989898|1|9999007404|MR|Test|E|Lead 7404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007405|107405|989898|1|9999007405|MR|Test|E|Lead 7405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007406|107406|989898|1|9999007406|MR|Test|E|Lead 7406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007407|107407|989898|1|9999007407|MR|Test|E|Lead 7407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007408|107408|989898|1|9999007408|MR|Test|E|Lead 7408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007409|107409|989898|1|9999007409|MR|Test|E|Lead 7409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007410|107410|989898|1|9999007410|MR|Test|E|Lead 7410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007411|107411|989898|1|9999007411|MR|Test|E|Lead 7411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007412|107412|989898|1|9999007412|MR|Test|E|Lead 7412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007413|107413|989898|1|9999007413|MR|Test|E|Lead 7413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007414|107414|989898|1|9999007414|MR|Test|E|Lead 7414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007415|107415|989898|1|9999007415|MR|Test|E|Lead 7415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007416|107416|989898|1|9999007416|MR|Test|E|Lead 7416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007417|107417|989898|1|9999007417|MR|Test|E|Lead 7417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007418|107418|989898|1|9999007418|MR|Test|E|Lead 7418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007419|107419|989898|1|9999007419|MR|Test|E|Lead 7419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007420|107420|989898|1|9999007420|MR|Test|E|Lead 7420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007421|107421|989898|1|9999007421|MR|Test|E|Lead 7421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007422|107422|989898|1|9999007422|MR|Test|E|Lead 7422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007423|107423|989898|1|9999007423|MR|Test|E|Lead 7423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007424|107424|989898|1|9999007424|MR|Test|E|Lead 7424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007425|107425|989898|1|9999007425|MR|Test|E|Lead 7425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007426|107426|989898|1|9999007426|MR|Test|E|Lead 7426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007427|107427|989898|1|9999007427|MR|Test|E|Lead 7427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007428|107428|989898|1|9999007428|MR|Test|E|Lead 7428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007429|107429|989898|1|9999007429|MR|Test|E|Lead 7429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007430|107430|989898|1|9999007430|MR|Test|E|Lead 7430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007431|107431|989898|1|9999007431|MR|Test|E|Lead 7431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007432|107432|989898|1|9999007432|MR|Test|E|Lead 7432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007433|107433|989898|1|9999007433|MR|Test|E|Lead 7433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007434|107434|989898|1|9999007434|MR|Test|E|Lead 7434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007435|107435|989898|1|9999007435|MR|Test|E|Lead 7435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007436|107436|989898|1|9999007436|MR|Test|E|Lead 7436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007437|107437|989898|1|9999007437|MR|Test|E|Lead 7437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007438|107438|989898|1|9999007438|MR|Test|E|Lead 7438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007439|107439|989898|1|9999007439|MR|Test|E|Lead 7439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007440|107440|989898|1|9999007440|MR|Test|E|Lead 7440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007441|107441|989898|1|9999007441|MR|Test|E|Lead 7441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007442|107442|989898|1|9999007442|MR|Test|E|Lead 7442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007443|107443|989898|1|9999007443|MR|Test|E|Lead 7443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007444|107444|989898|1|9999007444|MR|Test|E|Lead 7444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007445|107445|989898|1|9999007445|MR|Test|E|Lead 7445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007446|107446|989898|1|9999007446|MR|Test|E|Lead 7446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007447|107447|989898|1|9999007447|MR|Test|E|Lead 7447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007448|107448|989898|1|9999007448|MR|Test|E|Lead 7448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007449|107449|989898|1|9999007449|MR|Test|E|Lead 7449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007450|107450|989898|1|9999007450|MR|Test|E|Lead 7450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007451|107451|989898|1|9999007451|MR|Test|E|Lead 7451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007452|107452|989898|1|9999007452|MR|Test|E|Lead 7452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007453|107453|989898|1|9999007453|MR|Test|E|Lead 7453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007454|107454|989898|1|9999007454|MR|Test|E|Lead 7454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007455|107455|989898|1|9999007455|MR|Test|E|Lead 7455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007456|107456|989898|1|9999007456|MR|Test|E|Lead 7456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007457|107457|989898|1|9999007457|MR|Test|E|Lead 7457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007458|107458|989898|1|9999007458|MR|Test|E|Lead 7458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007459|107459|989898|1|9999007459|MR|Test|E|Lead 7459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007460|107460|989898|1|9999007460|MR|Test|E|Lead 7460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007461|107461|989898|1|9999007461|MR|Test|E|Lead 7461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007462|107462|989898|1|9999007462|MR|Test|E|Lead 7462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007463|107463|989898|1|9999007463|MR|Test|E|Lead 7463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007464|107464|989898|1|9999007464|MR|Test|E|Lead 7464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007465|107465|989898|1|9999007465|MR|Test|E|Lead 7465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007466|107466|989898|1|9999007466|MR|Test|E|Lead 7466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007467|107467|989898|1|9999007467|MR|Test|E|Lead 7467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007468|107468|989898|1|9999007468|MR|Test|E|Lead 7468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007469|107469|989898|1|9999007469|MR|Test|E|Lead 7469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007470|107470|989898|1|9999007470|MR|Test|E|Lead 7470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007471|107471|989898|1|9999007471|MR|Test|E|Lead 7471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007472|107472|989898|1|9999007472|MR|Test|E|Lead 7472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007473|107473|989898|1|9999007473|MR|Test|E|Lead 7473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007474|107474|989898|1|9999007474|MR|Test|E|Lead 7474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007475|107475|989898|1|9999007475|MR|Test|E|Lead 7475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007476|107476|989898|1|9999007476|MR|Test|E|Lead 7476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007477|107477|989898|1|9999007477|MR|Test|E|Lead 7477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007478|107478|989898|1|9999007478|MR|Test|E|Lead 7478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007479|107479|989898|1|9999007479|MR|Test|E|Lead 7479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007480|107480|989898|1|9999007480|MR|Test|E|Lead 7480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007481|107481|989898|1|9999007481|MR|Test|E|Lead 7481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007482|107482|989898|1|9999007482|MR|Test|E|Lead 7482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007483|107483|989898|1|9999007483|MR|Test|E|Lead 7483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007484|107484|989898|1|9999007484|MR|Test|E|Lead 7484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007485|107485|989898|1|9999007485|MR|Test|E|Lead 7485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007486|107486|989898|1|9999007486|MR|Test|E|Lead 7486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007487|107487|989898|1|9999007487|MR|Test|E|Lead 7487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007488|107488|989898|1|9999007488|MR|Test|E|Lead 7488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007489|107489|989898|1|9999007489|MR|Test|E|Lead 7489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007490|107490|989898|1|9999007490|MR|Test|E|Lead 7490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007491|107491|989898|1|9999007491|MR|Test|E|Lead 7491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007492|107492|989898|1|9999007492|MR|Test|E|Lead 7492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007493|107493|989898|1|9999007493|MR|Test|E|Lead 7493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007494|107494|989898|1|9999007494|MR|Test|E|Lead 7494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007495|107495|989898|1|9999007495|MR|Test|E|Lead 7495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007496|107496|989898|1|9999007496|MR|Test|E|Lead 7496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007497|107497|989898|1|9999007497|MR|Test|E|Lead 7497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007498|107498|989898|1|9999007498|MR|Test|E|Lead 7498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007499|107499|989898|1|9999007499|MR|Test|E|Lead 7499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007500|107500|989898|1|9999007500|MR|Test|E|Lead 7500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007501|107501|989898|1|9999007501|MR|Test|E|Lead 7501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007502|107502|989898|1|9999007502|MR|Test|E|Lead 7502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007503|107503|989898|1|9999007503|MR|Test|E|Lead 7503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007504|107504|989898|1|9999007504|MR|Test|E|Lead 7504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007505|107505|989898|1|9999007505|MR|Test|E|Lead 7505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007506|107506|989898|1|9999007506|MR|Test|E|Lead 7506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007507|107507|989898|1|9999007507|MR|Test|E|Lead 7507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007508|107508|989898|1|9999007508|MR|Test|E|Lead 7508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007509|107509|989898|1|9999007509|MR|Test|E|Lead 7509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007510|107510|989898|1|9999007510|MR|Test|E|Lead 7510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007511|107511|989898|1|9999007511|MR|Test|E|Lead 7511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007512|107512|989898|1|9999007512|MR|Test|E|Lead 7512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007513|107513|989898|1|9999007513|MR|Test|E|Lead 7513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007514|107514|989898|1|9999007514|MR|Test|E|Lead 7514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007515|107515|989898|1|9999007515|MR|Test|E|Lead 7515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007516|107516|989898|1|9999007516|MR|Test|E|Lead 7516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007517|107517|989898|1|9999007517|MR|Test|E|Lead 7517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007518|107518|989898|1|9999007518|MR|Test|E|Lead 7518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007519|107519|989898|1|9999007519|MR|Test|E|Lead 7519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007520|107520|989898|1|9999007520|MR|Test|E|Lead 7520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007521|107521|989898|1|9999007521|MR|Test|E|Lead 7521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007522|107522|989898|1|9999007522|MR|Test|E|Lead 7522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007523|107523|989898|1|9999007523|MR|Test|E|Lead 7523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007524|107524|989898|1|9999007524|MR|Test|E|Lead 7524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007525|107525|989898|1|9999007525|MR|Test|E|Lead 7525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007526|107526|989898|1|9999007526|MR|Test|E|Lead 7526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007527|107527|989898|1|9999007527|MR|Test|E|Lead 7527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007528|107528|989898|1|9999007528|MR|Test|E|Lead 7528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007529|107529|989898|1|9999007529|MR|Test|E|Lead 7529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007530|107530|989898|1|9999007530|MR|Test|E|Lead 7530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007531|107531|989898|1|9999007531|MR|Test|E|Lead 7531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007532|107532|989898|1|9999007532|MR|Test|E|Lead 7532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007533|107533|989898|1|9999007533|MR|Test|E|Lead 7533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007534|107534|989898|1|9999007534|MR|Test|E|Lead 7534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007535|107535|989898|1|9999007535|MR|Test|E|Lead 7535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007536|107536|989898|1|9999007536|MR|Test|E|Lead 7536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007537|107537|989898|1|9999007537|MR|Test|E|Lead 7537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007538|107538|989898|1|9999007538|MR|Test|E|Lead 7538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007539|107539|989898|1|9999007539|MR|Test|E|Lead 7539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007540|107540|989898|1|9999007540|MR|Test|E|Lead 7540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007541|107541|989898|1|9999007541|MR|Test|E|Lead 7541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007542|107542|989898|1|9999007542|MR|Test|E|Lead 7542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007543|107543|989898|1|9999007543|MR|Test|E|Lead 7543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007544|107544|989898|1|9999007544|MR|Test|E|Lead 7544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007545|107545|989898|1|9999007545|MR|Test|E|Lead 7545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007546|107546|989898|1|9999007546|MR|Test|E|Lead 7546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007547|107547|989898|1|9999007547|MR|Test|E|Lead 7547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007548|107548|989898|1|9999007548|MR|Test|E|Lead 7548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007549|107549|989898|1|9999007549|MR|Test|E|Lead 7549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007550|107550|989898|1|9999007550|MR|Test|E|Lead 7550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007551|107551|989898|1|9999007551|MR|Test|E|Lead 7551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007552|107552|989898|1|9999007552|MR|Test|E|Lead 7552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007553|107553|989898|1|9999007553|MR|Test|E|Lead 7553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007554|107554|989898|1|9999007554|MR|Test|E|Lead 7554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007555|107555|989898|1|9999007555|MR|Test|E|Lead 7555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007556|107556|989898|1|9999007556|MR|Test|E|Lead 7556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007557|107557|989898|1|9999007557|MR|Test|E|Lead 7557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007558|107558|989898|1|9999007558|MR|Test|E|Lead 7558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007559|107559|989898|1|9999007559|MR|Test|E|Lead 7559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007560|107560|989898|1|9999007560|MR|Test|E|Lead 7560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007561|107561|989898|1|9999007561|MR|Test|E|Lead 7561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007562|107562|989898|1|9999007562|MR|Test|E|Lead 7562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007563|107563|989898|1|9999007563|MR|Test|E|Lead 7563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007564|107564|989898|1|9999007564|MR|Test|E|Lead 7564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007565|107565|989898|1|9999007565|MR|Test|E|Lead 7565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007566|107566|989898|1|9999007566|MR|Test|E|Lead 7566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007567|107567|989898|1|9999007567|MR|Test|E|Lead 7567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007568|107568|989898|1|9999007568|MR|Test|E|Lead 7568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007569|107569|989898|1|9999007569|MR|Test|E|Lead 7569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007570|107570|989898|1|9999007570|MR|Test|E|Lead 7570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007571|107571|989898|1|9999007571|MR|Test|E|Lead 7571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007572|107572|989898|1|9999007572|MR|Test|E|Lead 7572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007573|107573|989898|1|9999007573|MR|Test|E|Lead 7573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007574|107574|989898|1|9999007574|MR|Test|E|Lead 7574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007575|107575|989898|1|9999007575|MR|Test|E|Lead 7575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007576|107576|989898|1|9999007576|MR|Test|E|Lead 7576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007577|107577|989898|1|9999007577|MR|Test|E|Lead 7577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007578|107578|989898|1|9999007578|MR|Test|E|Lead 7578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007579|107579|989898|1|9999007579|MR|Test|E|Lead 7579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007580|107580|989898|1|9999007580|MR|Test|E|Lead 7580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007581|107581|989898|1|9999007581|MR|Test|E|Lead 7581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007582|107582|989898|1|9999007582|MR|Test|E|Lead 7582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007583|107583|989898|1|9999007583|MR|Test|E|Lead 7583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007584|107584|989898|1|9999007584|MR|Test|E|Lead 7584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007585|107585|989898|1|9999007585|MR|Test|E|Lead 7585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007586|107586|989898|1|9999007586|MR|Test|E|Lead 7586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007587|107587|989898|1|9999007587|MR|Test|E|Lead 7587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007588|107588|989898|1|9999007588|MR|Test|E|Lead 7588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007589|107589|989898|1|9999007589|MR|Test|E|Lead 7589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007590|107590|989898|1|9999007590|MR|Test|E|Lead 7590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007591|107591|989898|1|9999007591|MR|Test|E|Lead 7591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007592|107592|989898|1|9999007592|MR|Test|E|Lead 7592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007593|107593|989898|1|9999007593|MR|Test|E|Lead 7593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007594|107594|989898|1|9999007594|MR|Test|E|Lead 7594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007595|107595|989898|1|9999007595|MR|Test|E|Lead 7595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007596|107596|989898|1|9999007596|MR|Test|E|Lead 7596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007597|107597|989898|1|9999007597|MR|Test|E|Lead 7597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007598|107598|989898|1|9999007598|MR|Test|E|Lead 7598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007599|107599|989898|1|9999007599|MR|Test|E|Lead 7599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007600|107600|989898|1|9999007600|MR|Test|E|Lead 7600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007601|107601|989898|1|9999007601|MR|Test|E|Lead 7601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007602|107602|989898|1|9999007602|MR|Test|E|Lead 7602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007603|107603|989898|1|9999007603|MR|Test|E|Lead 7603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007604|107604|989898|1|9999007604|MR|Test|E|Lead 7604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007605|107605|989898|1|9999007605|MR|Test|E|Lead 7605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007606|107606|989898|1|9999007606|MR|Test|E|Lead 7606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007607|107607|989898|1|9999007607|MR|Test|E|Lead 7607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007608|107608|989898|1|9999007608|MR|Test|E|Lead 7608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007609|107609|989898|1|9999007609|MR|Test|E|Lead 7609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007610|107610|989898|1|9999007610|MR|Test|E|Lead 7610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007611|107611|989898|1|9999007611|MR|Test|E|Lead 7611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007612|107612|989898|1|9999007612|MR|Test|E|Lead 7612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007613|107613|989898|1|9999007613|MR|Test|E|Lead 7613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007614|107614|989898|1|9999007614|MR|Test|E|Lead 7614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007615|107615|989898|1|9999007615|MR|Test|E|Lead 7615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007616|107616|989898|1|9999007616|MR|Test|E|Lead 7616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007617|107617|989898|1|9999007617|MR|Test|E|Lead 7617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007618|107618|989898|1|9999007618|MR|Test|E|Lead 7618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007619|107619|989898|1|9999007619|MR|Test|E|Lead 7619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007620|107620|989898|1|9999007620|MR|Test|E|Lead 7620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007621|107621|989898|1|9999007621|MR|Test|E|Lead 7621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007622|107622|989898|1|9999007622|MR|Test|E|Lead 7622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007623|107623|989898|1|9999007623|MR|Test|E|Lead 7623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007624|107624|989898|1|9999007624|MR|Test|E|Lead 7624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007625|107625|989898|1|9999007625|MR|Test|E|Lead 7625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007626|107626|989898|1|9999007626|MR|Test|E|Lead 7626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007627|107627|989898|1|9999007627|MR|Test|E|Lead 7627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007628|107628|989898|1|9999007628|MR|Test|E|Lead 7628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007629|107629|989898|1|9999007629|MR|Test|E|Lead 7629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007630|107630|989898|1|9999007630|MR|Test|E|Lead 7630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007631|107631|989898|1|9999007631|MR|Test|E|Lead 7631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007632|107632|989898|1|9999007632|MR|Test|E|Lead 7632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007633|107633|989898|1|9999007633|MR|Test|E|Lead 7633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007634|107634|989898|1|9999007634|MR|Test|E|Lead 7634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007635|107635|989898|1|9999007635|MR|Test|E|Lead 7635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007636|107636|989898|1|9999007636|MR|Test|E|Lead 7636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007637|107637|989898|1|9999007637|MR|Test|E|Lead 7637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007638|107638|989898|1|9999007638|MR|Test|E|Lead 7638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007639|107639|989898|1|9999007639|MR|Test|E|Lead 7639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007640|107640|989898|1|9999007640|MR|Test|E|Lead 7640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007641|107641|989898|1|9999007641|MR|Test|E|Lead 7641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007642|107642|989898|1|9999007642|MR|Test|E|Lead 7642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007643|107643|989898|1|9999007643|MR|Test|E|Lead 7643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007644|107644|989898|1|9999007644|MR|Test|E|Lead 7644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007645|107645|989898|1|9999007645|MR|Test|E|Lead 7645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007646|107646|989898|1|9999007646|MR|Test|E|Lead 7646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007647|107647|989898|1|9999007647|MR|Test|E|Lead 7647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007648|107648|989898|1|9999007648|MR|Test|E|Lead 7648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007649|107649|989898|1|9999007649|MR|Test|E|Lead 7649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007650|107650|989898|1|9999007650|MR|Test|E|Lead 7650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007651|107651|989898|1|9999007651|MR|Test|E|Lead 7651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007652|107652|989898|1|9999007652|MR|Test|E|Lead 7652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007653|107653|989898|1|9999007653|MR|Test|E|Lead 7653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007654|107654|989898|1|9999007654|MR|Test|E|Lead 7654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007655|107655|989898|1|9999007655|MR|Test|E|Lead 7655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007656|107656|989898|1|9999007656|MR|Test|E|Lead 7656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007657|107657|989898|1|9999007657|MR|Test|E|Lead 7657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007658|107658|989898|1|9999007658|MR|Test|E|Lead 7658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007659|107659|989898|1|9999007659|MR|Test|E|Lead 7659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007660|107660|989898|1|9999007660|MR|Test|E|Lead 7660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007661|107661|989898|1|9999007661|MR|Test|E|Lead 7661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007662|107662|989898|1|9999007662|MR|Test|E|Lead 7662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007663|107663|989898|1|9999007663|MR|Test|E|Lead 7663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007664|107664|989898|1|9999007664|MR|Test|E|Lead 7664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007665|107665|989898|1|9999007665|MR|Test|E|Lead 7665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007666|107666|989898|1|9999007666|MR|Test|E|Lead 7666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007667|107667|989898|1|9999007667|MR|Test|E|Lead 7667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007668|107668|989898|1|9999007668|MR|Test|E|Lead 7668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007669|107669|989898|1|9999007669|MR|Test|E|Lead 7669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007670|107670|989898|1|9999007670|MR|Test|E|Lead 7670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007671|107671|989898|1|9999007671|MR|Test|E|Lead 7671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007672|107672|989898|1|9999007672|MR|Test|E|Lead 7672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007673|107673|989898|1|9999007673|MR|Test|E|Lead 7673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007674|107674|989898|1|9999007674|MR|Test|E|Lead 7674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007675|107675|989898|1|9999007675|MR|Test|E|Lead 7675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007676|107676|989898|1|9999007676|MR|Test|E|Lead 7676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007677|107677|989898|1|9999007677|MR|Test|E|Lead 7677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007678|107678|989898|1|9999007678|MR|Test|E|Lead 7678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007679|107679|989898|1|9999007679|MR|Test|E|Lead 7679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007680|107680|989898|1|9999007680|MR|Test|E|Lead 7680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007681|107681|989898|1|9999007681|MR|Test|E|Lead 7681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007682|107682|989898|1|9999007682|MR|Test|E|Lead 7682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007683|107683|989898|1|9999007683|MR|Test|E|Lead 7683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007684|107684|989898|1|9999007684|MR|Test|E|Lead 7684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007685|107685|989898|1|9999007685|MR|Test|E|Lead 7685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007686|107686|989898|1|9999007686|MR|Test|E|Lead 7686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007687|107687|989898|1|9999007687|MR|Test|E|Lead 7687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007688|107688|989898|1|9999007688|MR|Test|E|Lead 7688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007689|107689|989898|1|9999007689|MR|Test|E|Lead 7689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007690|107690|989898|1|9999007690|MR|Test|E|Lead 7690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007691|107691|989898|1|9999007691|MR|Test|E|Lead 7691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007692|107692|989898|1|9999007692|MR|Test|E|Lead 7692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007693|107693|989898|1|9999007693|MR|Test|E|Lead 7693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007694|107694|989898|1|9999007694|MR|Test|E|Lead 7694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007695|107695|989898|1|9999007695|MR|Test|E|Lead 7695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007696|107696|989898|1|9999007696|MR|Test|E|Lead 7696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007697|107697|989898|1|9999007697|MR|Test|E|Lead 7697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007698|107698|989898|1|9999007698|MR|Test|E|Lead 7698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007699|107699|989898|1|9999007699|MR|Test|E|Lead 7699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007700|107700|989898|1|9999007700|MR|Test|E|Lead 7700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007701|107701|989898|1|9999007701|MR|Test|E|Lead 7701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007702|107702|989898|1|9999007702|MR|Test|E|Lead 7702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007703|107703|989898|1|9999007703|MR|Test|E|Lead 7703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007704|107704|989898|1|9999007704|MR|Test|E|Lead 7704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007705|107705|989898|1|9999007705|MR|Test|E|Lead 7705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007706|107706|989898|1|9999007706|MR|Test|E|Lead 7706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007707|107707|989898|1|9999007707|MR|Test|E|Lead 7707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007708|107708|989898|1|9999007708|MR|Test|E|Lead 7708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007709|107709|989898|1|9999007709|MR|Test|E|Lead 7709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007710|107710|989898|1|9999007710|MR|Test|E|Lead 7710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007711|107711|989898|1|9999007711|MR|Test|E|Lead 7711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007712|107712|989898|1|9999007712|MR|Test|E|Lead 7712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007713|107713|989898|1|9999007713|MR|Test|E|Lead 7713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007714|107714|989898|1|9999007714|MR|Test|E|Lead 7714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007715|107715|989898|1|9999007715|MR|Test|E|Lead 7715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007716|107716|989898|1|9999007716|MR|Test|E|Lead 7716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007717|107717|989898|1|9999007717|MR|Test|E|Lead 7717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007718|107718|989898|1|9999007718|MR|Test|E|Lead 7718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007719|107719|989898|1|9999007719|MR|Test|E|Lead 7719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007720|107720|989898|1|9999007720|MR|Test|E|Lead 7720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007721|107721|989898|1|9999007721|MR|Test|E|Lead 7721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007722|107722|989898|1|9999007722|MR|Test|E|Lead 7722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007723|107723|989898|1|9999007723|MR|Test|E|Lead 7723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007724|107724|989898|1|9999007724|MR|Test|E|Lead 7724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007725|107725|989898|1|9999007725|MR|Test|E|Lead 7725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007726|107726|989898|1|9999007726|MR|Test|E|Lead 7726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007727|107727|989898|1|9999007727|MR|Test|E|Lead 7727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007728|107728|989898|1|9999007728|MR|Test|E|Lead 7728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007729|107729|989898|1|9999007729|MR|Test|E|Lead 7729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007730|107730|989898|1|9999007730|MR|Test|E|Lead 7730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007731|107731|989898|1|9999007731|MR|Test|E|Lead 7731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007732|107732|989898|1|9999007732|MR|Test|E|Lead 7732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007733|107733|989898|1|9999007733|MR|Test|E|Lead 7733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007734|107734|989898|1|9999007734|MR|Test|E|Lead 7734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007735|107735|989898|1|9999007735|MR|Test|E|Lead 7735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007736|107736|989898|1|9999007736|MR|Test|E|Lead 7736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007737|107737|989898|1|9999007737|MR|Test|E|Lead 7737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007738|107738|989898|1|9999007738|MR|Test|E|Lead 7738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007739|107739|989898|1|9999007739|MR|Test|E|Lead 7739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007740|107740|989898|1|9999007740|MR|Test|E|Lead 7740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007741|107741|989898|1|9999007741|MR|Test|E|Lead 7741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007742|107742|989898|1|9999007742|MR|Test|E|Lead 7742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007743|107743|989898|1|9999007743|MR|Test|E|Lead 7743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007744|107744|989898|1|9999007744|MR|Test|E|Lead 7744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007745|107745|989898|1|9999007745|MR|Test|E|Lead 7745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007746|107746|989898|1|9999007746|MR|Test|E|Lead 7746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007747|107747|989898|1|9999007747|MR|Test|E|Lead 7747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007748|107748|989898|1|9999007748|MR|Test|E|Lead 7748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007749|107749|989898|1|9999007749|MR|Test|E|Lead 7749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007750|107750|989898|1|9999007750|MR|Test|E|Lead 7750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007751|107751|989898|1|9999007751|MR|Test|E|Lead 7751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007752|107752|989898|1|9999007752|MR|Test|E|Lead 7752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007753|107753|989898|1|9999007753|MR|Test|E|Lead 7753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007754|107754|989898|1|9999007754|MR|Test|E|Lead 7754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007755|107755|989898|1|9999007755|MR|Test|E|Lead 7755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007756|107756|989898|1|9999007756|MR|Test|E|Lead 7756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007757|107757|989898|1|9999007757|MR|Test|E|Lead 7757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007758|107758|989898|1|9999007758|MR|Test|E|Lead 7758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007759|107759|989898|1|9999007759|MR|Test|E|Lead 7759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007760|107760|989898|1|9999007760|MR|Test|E|Lead 7760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007761|107761|989898|1|9999007761|MR|Test|E|Lead 7761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007762|107762|989898|1|9999007762|MR|Test|E|Lead 7762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007763|107763|989898|1|9999007763|MR|Test|E|Lead 7763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007764|107764|989898|1|9999007764|MR|Test|E|Lead 7764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007765|107765|989898|1|9999007765|MR|Test|E|Lead 7765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007766|107766|989898|1|9999007766|MR|Test|E|Lead 7766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007767|107767|989898|1|9999007767|MR|Test|E|Lead 7767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007768|107768|989898|1|9999007768|MR|Test|E|Lead 7768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007769|107769|989898|1|9999007769|MR|Test|E|Lead 7769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007770|107770|989898|1|9999007770|MR|Test|E|Lead 7770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007771|107771|989898|1|9999007771|MR|Test|E|Lead 7771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007772|107772|989898|1|9999007772|MR|Test|E|Lead 7772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007773|107773|989898|1|9999007773|MR|Test|E|Lead 7773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007774|107774|989898|1|9999007774|MR|Test|E|Lead 7774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007775|107775|989898|1|9999007775|MR|Test|E|Lead 7775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007776|107776|989898|1|9999007776|MR|Test|E|Lead 7776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007777|107777|989898|1|9999007777|MR|Test|E|Lead 7777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007778|107778|989898|1|9999007778|MR|Test|E|Lead 7778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007779|107779|989898|1|9999007779|MR|Test|E|Lead 7779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007780|107780|989898|1|9999007780|MR|Test|E|Lead 7780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007781|107781|989898|1|9999007781|MR|Test|E|Lead 7781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007782|107782|989898|1|9999007782|MR|Test|E|Lead 7782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007783|107783|989898|1|9999007783|MR|Test|E|Lead 7783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007784|107784|989898|1|9999007784|MR|Test|E|Lead 7784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007785|107785|989898|1|9999007785|MR|Test|E|Lead 7785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007786|107786|989898|1|9999007786|MR|Test|E|Lead 7786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007787|107787|989898|1|9999007787|MR|Test|E|Lead 7787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007788|107788|989898|1|9999007788|MR|Test|E|Lead 7788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007789|107789|989898|1|9999007789|MR|Test|E|Lead 7789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007790|107790|989898|1|9999007790|MR|Test|E|Lead 7790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007791|107791|989898|1|9999007791|MR|Test|E|Lead 7791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007792|107792|989898|1|9999007792|MR|Test|E|Lead 7792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007793|107793|989898|1|9999007793|MR|Test|E|Lead 7793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007794|107794|989898|1|9999007794|MR|Test|E|Lead 7794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007795|107795|989898|1|9999007795|MR|Test|E|Lead 7795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007796|107796|989898|1|9999007796|MR|Test|E|Lead 7796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007797|107797|989898|1|9999007797|MR|Test|E|Lead 7797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007798|107798|989898|1|9999007798|MR|Test|E|Lead 7798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007799|107799|989898|1|9999007799|MR|Test|E|Lead 7799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007800|107800|989898|1|9999007800|MR|Test|E|Lead 7800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007801|107801|989898|1|9999007801|MR|Test|E|Lead 7801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007802|107802|989898|1|9999007802|MR|Test|E|Lead 7802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007803|107803|989898|1|9999007803|MR|Test|E|Lead 7803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007804|107804|989898|1|9999007804|MR|Test|E|Lead 7804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007805|107805|989898|1|9999007805|MR|Test|E|Lead 7805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007806|107806|989898|1|9999007806|MR|Test|E|Lead 7806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007807|107807|989898|1|9999007807|MR|Test|E|Lead 7807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007808|107808|989898|1|9999007808|MR|Test|E|Lead 7808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007809|107809|989898|1|9999007809|MR|Test|E|Lead 7809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007810|107810|989898|1|9999007810|MR|Test|E|Lead 7810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007811|107811|989898|1|9999007811|MR|Test|E|Lead 7811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007812|107812|989898|1|9999007812|MR|Test|E|Lead 7812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007813|107813|989898|1|9999007813|MR|Test|E|Lead 7813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007814|107814|989898|1|9999007814|MR|Test|E|Lead 7814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007815|107815|989898|1|9999007815|MR|Test|E|Lead 7815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007816|107816|989898|1|9999007816|MR|Test|E|Lead 7816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007817|107817|989898|1|9999007817|MR|Test|E|Lead 7817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007818|107818|989898|1|9999007818|MR|Test|E|Lead 7818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007819|107819|989898|1|9999007819|MR|Test|E|Lead 7819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007820|107820|989898|1|9999007820|MR|Test|E|Lead 7820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007821|107821|989898|1|9999007821|MR|Test|E|Lead 7821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007822|107822|989898|1|9999007822|MR|Test|E|Lead 7822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007823|107823|989898|1|9999007823|MR|Test|E|Lead 7823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007824|107824|989898|1|9999007824|MR|Test|E|Lead 7824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007825|107825|989898|1|9999007825|MR|Test|E|Lead 7825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007826|107826|989898|1|9999007826|MR|Test|E|Lead 7826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007827|107827|989898|1|9999007827|MR|Test|E|Lead 7827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007828|107828|989898|1|9999007828|MR|Test|E|Lead 7828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007829|107829|989898|1|9999007829|MR|Test|E|Lead 7829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007830|107830|989898|1|9999007830|MR|Test|E|Lead 7830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007831|107831|989898|1|9999007831|MR|Test|E|Lead 7831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007832|107832|989898|1|9999007832|MR|Test|E|Lead 7832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007833|107833|989898|1|9999007833|MR|Test|E|Lead 7833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007834|107834|989898|1|9999007834|MR|Test|E|Lead 7834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007835|107835|989898|1|9999007835|MR|Test|E|Lead 7835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007836|107836|989898|1|9999007836|MR|Test|E|Lead 7836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007837|107837|989898|1|9999007837|MR|Test|E|Lead 7837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007838|107838|989898|1|9999007838|MR|Test|E|Lead 7838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007839|107839|989898|1|9999007839|MR|Test|E|Lead 7839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007840|107840|989898|1|9999007840|MR|Test|E|Lead 7840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007841|107841|989898|1|9999007841|MR|Test|E|Lead 7841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007842|107842|989898|1|9999007842|MR|Test|E|Lead 7842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007843|107843|989898|1|9999007843|MR|Test|E|Lead 7843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007844|107844|989898|1|9999007844|MR|Test|E|Lead 7844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007845|107845|989898|1|9999007845|MR|Test|E|Lead 7845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007846|107846|989898|1|9999007846|MR|Test|E|Lead 7846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007847|107847|989898|1|9999007847|MR|Test|E|Lead 7847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007848|107848|989898|1|9999007848|MR|Test|E|Lead 7848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007849|107849|989898|1|9999007849|MR|Test|E|Lead 7849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007850|107850|989898|1|9999007850|MR|Test|E|Lead 7850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007851|107851|989898|1|9999007851|MR|Test|E|Lead 7851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007852|107852|989898|1|9999007852|MR|Test|E|Lead 7852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007853|107853|989898|1|9999007853|MR|Test|E|Lead 7853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007854|107854|989898|1|9999007854|MR|Test|E|Lead 7854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007855|107855|989898|1|9999007855|MR|Test|E|Lead 7855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007856|107856|989898|1|9999007856|MR|Test|E|Lead 7856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007857|107857|989898|1|9999007857|MR|Test|E|Lead 7857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007858|107858|989898|1|9999007858|MR|Test|E|Lead 7858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007859|107859|989898|1|9999007859|MR|Test|E|Lead 7859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007860|107860|989898|1|9999007860|MR|Test|E|Lead 7860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007861|107861|989898|1|9999007861|MR|Test|E|Lead 7861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007862|107862|989898|1|9999007862|MR|Test|E|Lead 7862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007863|107863|989898|1|9999007863|MR|Test|E|Lead 7863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007864|107864|989898|1|9999007864|MR|Test|E|Lead 7864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007865|107865|989898|1|9999007865|MR|Test|E|Lead 7865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007866|107866|989898|1|9999007866|MR|Test|E|Lead 7866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007867|107867|989898|1|9999007867|MR|Test|E|Lead 7867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007868|107868|989898|1|9999007868|MR|Test|E|Lead 7868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007869|107869|989898|1|9999007869|MR|Test|E|Lead 7869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007870|107870|989898|1|9999007870|MR|Test|E|Lead 7870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007871|107871|989898|1|9999007871|MR|Test|E|Lead 7871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007872|107872|989898|1|9999007872|MR|Test|E|Lead 7872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007873|107873|989898|1|9999007873|MR|Test|E|Lead 7873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007874|107874|989898|1|9999007874|MR|Test|E|Lead 7874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007875|107875|989898|1|9999007875|MR|Test|E|Lead 7875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007876|107876|989898|1|9999007876|MR|Test|E|Lead 7876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007877|107877|989898|1|9999007877|MR|Test|E|Lead 7877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007878|107878|989898|1|9999007878|MR|Test|E|Lead 7878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007879|107879|989898|1|9999007879|MR|Test|E|Lead 7879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007880|107880|989898|1|9999007880|MR|Test|E|Lead 7880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007881|107881|989898|1|9999007881|MR|Test|E|Lead 7881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007882|107882|989898|1|9999007882|MR|Test|E|Lead 7882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007883|107883|989898|1|9999007883|MR|Test|E|Lead 7883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007884|107884|989898|1|9999007884|MR|Test|E|Lead 7884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007885|107885|989898|1|9999007885|MR|Test|E|Lead 7885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007886|107886|989898|1|9999007886|MR|Test|E|Lead 7886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007887|107887|989898|1|9999007887|MR|Test|E|Lead 7887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007888|107888|989898|1|9999007888|MR|Test|E|Lead 7888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007889|107889|989898|1|9999007889|MR|Test|E|Lead 7889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007890|107890|989898|1|9999007890|MR|Test|E|Lead 7890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007891|107891|989898|1|9999007891|MR|Test|E|Lead 7891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007892|107892|989898|1|9999007892|MR|Test|E|Lead 7892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007893|107893|989898|1|9999007893|MR|Test|E|Lead 7893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007894|107894|989898|1|9999007894|MR|Test|E|Lead 7894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007895|107895|989898|1|9999007895|MR|Test|E|Lead 7895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007896|107896|989898|1|9999007896|MR|Test|E|Lead 7896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007897|107897|989898|1|9999007897|MR|Test|E|Lead 7897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007898|107898|989898|1|9999007898|MR|Test|E|Lead 7898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007899|107899|989898|1|9999007899|MR|Test|E|Lead 7899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007900|107900|989898|1|9999007900|MR|Test|E|Lead 7900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007901|107901|989898|1|9999007901|MR|Test|E|Lead 7901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007902|107902|989898|1|9999007902|MR|Test|E|Lead 7902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007903|107903|989898|1|9999007903|MR|Test|E|Lead 7903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007904|107904|989898|1|9999007904|MR|Test|E|Lead 7904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007905|107905|989898|1|9999007905|MR|Test|E|Lead 7905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007906|107906|989898|1|9999007906|MR|Test|E|Lead 7906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007907|107907|989898|1|9999007907|MR|Test|E|Lead 7907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007908|107908|989898|1|9999007908|MR|Test|E|Lead 7908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007909|107909|989898|1|9999007909|MR|Test|E|Lead 7909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007910|107910|989898|1|9999007910|MR|Test|E|Lead 7910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007911|107911|989898|1|9999007911|MR|Test|E|Lead 7911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007912|107912|989898|1|9999007912|MR|Test|E|Lead 7912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007913|107913|989898|1|9999007913|MR|Test|E|Lead 7913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007914|107914|989898|1|9999007914|MR|Test|E|Lead 7914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007915|107915|989898|1|9999007915|MR|Test|E|Lead 7915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007916|107916|989898|1|9999007916|MR|Test|E|Lead 7916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007917|107917|989898|1|9999007917|MR|Test|E|Lead 7917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007918|107918|989898|1|9999007918|MR|Test|E|Lead 7918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007919|107919|989898|1|9999007919|MR|Test|E|Lead 7919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007920|107920|989898|1|9999007920|MR|Test|E|Lead 7920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007921|107921|989898|1|9999007921|MR|Test|E|Lead 7921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007922|107922|989898|1|9999007922|MR|Test|E|Lead 7922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007923|107923|989898|1|9999007923|MR|Test|E|Lead 7923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007924|107924|989898|1|9999007924|MR|Test|E|Lead 7924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007925|107925|989898|1|9999007925|MR|Test|E|Lead 7925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007926|107926|989898|1|9999007926|MR|Test|E|Lead 7926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007927|107927|989898|1|9999007927|MR|Test|E|Lead 7927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007928|107928|989898|1|9999007928|MR|Test|E|Lead 7928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007929|107929|989898|1|9999007929|MR|Test|E|Lead 7929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007930|107930|989898|1|9999007930|MR|Test|E|Lead 7930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007931|107931|989898|1|9999007931|MR|Test|E|Lead 7931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007932|107932|989898|1|9999007932|MR|Test|E|Lead 7932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007933|107933|989898|1|9999007933|MR|Test|E|Lead 7933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007934|107934|989898|1|9999007934|MR|Test|E|Lead 7934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007935|107935|989898|1|9999007935|MR|Test|E|Lead 7935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007936|107936|989898|1|9999007936|MR|Test|E|Lead 7936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007937|107937|989898|1|9999007937|MR|Test|E|Lead 7937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007938|107938|989898|1|9999007938|MR|Test|E|Lead 7938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007939|107939|989898|1|9999007939|MR|Test|E|Lead 7939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007940|107940|989898|1|9999007940|MR|Test|E|Lead 7940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007941|107941|989898|1|9999007941|MR|Test|E|Lead 7941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007942|107942|989898|1|9999007942|MR|Test|E|Lead 7942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007943|107943|989898|1|9999007943|MR|Test|E|Lead 7943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007944|107944|989898|1|9999007944|MR|Test|E|Lead 7944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007945|107945|989898|1|9999007945|MR|Test|E|Lead 7945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007946|107946|989898|1|9999007946|MR|Test|E|Lead 7946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007947|107947|989898|1|9999007947|MR|Test|E|Lead 7947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007948|107948|989898|1|9999007948|MR|Test|E|Lead 7948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007949|107949|989898|1|9999007949|MR|Test|E|Lead 7949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007950|107950|989898|1|9999007950|MR|Test|E|Lead 7950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007951|107951|989898|1|9999007951|MR|Test|E|Lead 7951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007952|107952|989898|1|9999007952|MR|Test|E|Lead 7952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007953|107953|989898|1|9999007953|MR|Test|E|Lead 7953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007954|107954|989898|1|9999007954|MR|Test|E|Lead 7954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007955|107955|989898|1|9999007955|MR|Test|E|Lead 7955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007956|107956|989898|1|9999007956|MR|Test|E|Lead 7956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007957|107957|989898|1|9999007957|MR|Test|E|Lead 7957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007958|107958|989898|1|9999007958|MR|Test|E|Lead 7958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007959|107959|989898|1|9999007959|MR|Test|E|Lead 7959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007960|107960|989898|1|9999007960|MR|Test|E|Lead 7960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007961|107961|989898|1|9999007961|MR|Test|E|Lead 7961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007962|107962|989898|1|9999007962|MR|Test|E|Lead 7962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007963|107963|989898|1|9999007963|MR|Test|E|Lead 7963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007964|107964|989898|1|9999007964|MR|Test|E|Lead 7964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007965|107965|989898|1|9999007965|MR|Test|E|Lead 7965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007966|107966|989898|1|9999007966|MR|Test|E|Lead 7966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007967|107967|989898|1|9999007967|MR|Test|E|Lead 7967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007968|107968|989898|1|9999007968|MR|Test|E|Lead 7968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007969|107969|989898|1|9999007969|MR|Test|E|Lead 7969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007970|107970|989898|1|9999007970|MR|Test|E|Lead 7970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007971|107971|989898|1|9999007971|MR|Test|E|Lead 7971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007972|107972|989898|1|9999007972|MR|Test|E|Lead 7972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007973|107973|989898|1|9999007973|MR|Test|E|Lead 7973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007974|107974|989898|1|9999007974|MR|Test|E|Lead 7974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007975|107975|989898|1|9999007975|MR|Test|E|Lead 7975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007976|107976|989898|1|9999007976|MR|Test|E|Lead 7976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007977|107977|989898|1|9999007977|MR|Test|E|Lead 7977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007978|107978|989898|1|9999007978|MR|Test|E|Lead 7978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007979|107979|989898|1|9999007979|MR|Test|E|Lead 7979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007980|107980|989898|1|9999007980|MR|Test|E|Lead 7980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007981|107981|989898|1|9999007981|MR|Test|E|Lead 7981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007982|107982|989898|1|9999007982|MR|Test|E|Lead 7982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007983|107983|989898|1|9999007983|MR|Test|E|Lead 7983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007984|107984|989898|1|9999007984|MR|Test|E|Lead 7984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007985|107985|989898|1|9999007985|MR|Test|E|Lead 7985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007986|107986|989898|1|9999007986|MR|Test|E|Lead 7986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007987|107987|989898|1|9999007987|MR|Test|E|Lead 7987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007988|107988|989898|1|9999007988|MR|Test|E|Lead 7988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007989|107989|989898|1|9999007989|MR|Test|E|Lead 7989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007990|107990|989898|1|9999007990|MR|Test|E|Lead 7990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007991|107991|989898|1|9999007991|MR|Test|E|Lead 7991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007992|107992|989898|1|9999007992|MR|Test|E|Lead 7992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007993|107993|989898|1|9999007993|MR|Test|E|Lead 7993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007994|107994|989898|1|9999007994|MR|Test|E|Lead 7994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007995|107995|989898|1|9999007995|MR|Test|E|Lead 7995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007996|107996|989898|1|9999007996|MR|Test|E|Lead 7996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007997|107997|989898|1|9999007997|MR|Test|E|Lead 7997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007998|107998|989898|1|9999007998|MR|Test|E|Lead 7998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1007999|107999|989898|1|9999007999|MR|Test|E|Lead 7999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008000|108000|989898|1|9999008000|MR|Test|E|Lead 8000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008001|108001|989898|1|9999008001|MR|Test|E|Lead 8001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008002|108002|989898|1|9999008002|MR|Test|E|Lead 8002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008003|108003|989898|1|9999008003|MR|Test|E|Lead 8003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008004|108004|989898|1|9999008004|MR|Test|E|Lead 8004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008005|108005|989898|1|9999008005|MR|Test|E|Lead 8005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008006|108006|989898|1|9999008006|MR|Test|E|Lead 8006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008007|108007|989898|1|9999008007|MR|Test|E|Lead 8007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008008|108008|989898|1|9999008008|MR|Test|E|Lead 8008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008009|108009|989898|1|9999008009|MR|Test|E|Lead 8009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008010|108010|989898|1|9999008010|MR|Test|E|Lead 8010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008011|108011|989898|1|9999008011|MR|Test|E|Lead 8011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008012|108012|989898|1|9999008012|MR|Test|E|Lead 8012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008013|108013|989898|1|9999008013|MR|Test|E|Lead 8013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008014|108014|989898|1|9999008014|MR|Test|E|Lead 8014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008015|108015|989898|1|9999008015|MR|Test|E|Lead 8015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008016|108016|989898|1|9999008016|MR|Test|E|Lead 8016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008017|108017|989898|1|9999008017|MR|Test|E|Lead 8017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008018|108018|989898|1|9999008018|MR|Test|E|Lead 8018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008019|108019|989898|1|9999008019|MR|Test|E|Lead 8019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008020|108020|989898|1|9999008020|MR|Test|E|Lead 8020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008021|108021|989898|1|9999008021|MR|Test|E|Lead 8021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008022|108022|989898|1|9999008022|MR|Test|E|Lead 8022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008023|108023|989898|1|9999008023|MR|Test|E|Lead 8023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008024|108024|989898|1|9999008024|MR|Test|E|Lead 8024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008025|108025|989898|1|9999008025|MR|Test|E|Lead 8025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008026|108026|989898|1|9999008026|MR|Test|E|Lead 8026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008027|108027|989898|1|9999008027|MR|Test|E|Lead 8027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008028|108028|989898|1|9999008028|MR|Test|E|Lead 8028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008029|108029|989898|1|9999008029|MR|Test|E|Lead 8029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008030|108030|989898|1|9999008030|MR|Test|E|Lead 8030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008031|108031|989898|1|9999008031|MR|Test|E|Lead 8031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008032|108032|989898|1|9999008032|MR|Test|E|Lead 8032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008033|108033|989898|1|9999008033|MR|Test|E|Lead 8033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008034|108034|989898|1|9999008034|MR|Test|E|Lead 8034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008035|108035|989898|1|9999008035|MR|Test|E|Lead 8035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008036|108036|989898|1|9999008036|MR|Test|E|Lead 8036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008037|108037|989898|1|9999008037|MR|Test|E|Lead 8037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008038|108038|989898|1|9999008038|MR|Test|E|Lead 8038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008039|108039|989898|1|9999008039|MR|Test|E|Lead 8039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008040|108040|989898|1|9999008040|MR|Test|E|Lead 8040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008041|108041|989898|1|9999008041|MR|Test|E|Lead 8041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008042|108042|989898|1|9999008042|MR|Test|E|Lead 8042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008043|108043|989898|1|9999008043|MR|Test|E|Lead 8043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008044|108044|989898|1|9999008044|MR|Test|E|Lead 8044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008045|108045|989898|1|9999008045|MR|Test|E|Lead 8045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008046|108046|989898|1|9999008046|MR|Test|E|Lead 8046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008047|108047|989898|1|9999008047|MR|Test|E|Lead 8047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008048|108048|989898|1|9999008048|MR|Test|E|Lead 8048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008049|108049|989898|1|9999008049|MR|Test|E|Lead 8049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008050|108050|989898|1|9999008050|MR|Test|E|Lead 8050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008051|108051|989898|1|9999008051|MR|Test|E|Lead 8051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008052|108052|989898|1|9999008052|MR|Test|E|Lead 8052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008053|108053|989898|1|9999008053|MR|Test|E|Lead 8053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008054|108054|989898|1|9999008054|MR|Test|E|Lead 8054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008055|108055|989898|1|9999008055|MR|Test|E|Lead 8055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008056|108056|989898|1|9999008056|MR|Test|E|Lead 8056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008057|108057|989898|1|9999008057|MR|Test|E|Lead 8057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008058|108058|989898|1|9999008058|MR|Test|E|Lead 8058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008059|108059|989898|1|9999008059|MR|Test|E|Lead 8059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008060|108060|989898|1|9999008060|MR|Test|E|Lead 8060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008061|108061|989898|1|9999008061|MR|Test|E|Lead 8061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008062|108062|989898|1|9999008062|MR|Test|E|Lead 8062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008063|108063|989898|1|9999008063|MR|Test|E|Lead 8063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008064|108064|989898|1|9999008064|MR|Test|E|Lead 8064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008065|108065|989898|1|9999008065|MR|Test|E|Lead 8065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008066|108066|989898|1|9999008066|MR|Test|E|Lead 8066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008067|108067|989898|1|9999008067|MR|Test|E|Lead 8067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008068|108068|989898|1|9999008068|MR|Test|E|Lead 8068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008069|108069|989898|1|9999008069|MR|Test|E|Lead 8069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008070|108070|989898|1|9999008070|MR|Test|E|Lead 8070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008071|108071|989898|1|9999008071|MR|Test|E|Lead 8071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008072|108072|989898|1|9999008072|MR|Test|E|Lead 8072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008073|108073|989898|1|9999008073|MR|Test|E|Lead 8073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008074|108074|989898|1|9999008074|MR|Test|E|Lead 8074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008075|108075|989898|1|9999008075|MR|Test|E|Lead 8075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008076|108076|989898|1|9999008076|MR|Test|E|Lead 8076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008077|108077|989898|1|9999008077|MR|Test|E|Lead 8077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008078|108078|989898|1|9999008078|MR|Test|E|Lead 8078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008079|108079|989898|1|9999008079|MR|Test|E|Lead 8079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008080|108080|989898|1|9999008080|MR|Test|E|Lead 8080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008081|108081|989898|1|9999008081|MR|Test|E|Lead 8081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008082|108082|989898|1|9999008082|MR|Test|E|Lead 8082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008083|108083|989898|1|9999008083|MR|Test|E|Lead 8083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008084|108084|989898|1|9999008084|MR|Test|E|Lead 8084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008085|108085|989898|1|9999008085|MR|Test|E|Lead 8085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008086|108086|989898|1|9999008086|MR|Test|E|Lead 8086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008087|108087|989898|1|9999008087|MR|Test|E|Lead 8087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008088|108088|989898|1|9999008088|MR|Test|E|Lead 8088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008089|108089|989898|1|9999008089|MR|Test|E|Lead 8089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008090|108090|989898|1|9999008090|MR|Test|E|Lead 8090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008091|108091|989898|1|9999008091|MR|Test|E|Lead 8091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008092|108092|989898|1|9999008092|MR|Test|E|Lead 8092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008093|108093|989898|1|9999008093|MR|Test|E|Lead 8093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008094|108094|989898|1|9999008094|MR|Test|E|Lead 8094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008095|108095|989898|1|9999008095|MR|Test|E|Lead 8095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008096|108096|989898|1|9999008096|MR|Test|E|Lead 8096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008097|108097|989898|1|9999008097|MR|Test|E|Lead 8097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008098|108098|989898|1|9999008098|MR|Test|E|Lead 8098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008099|108099|989898|1|9999008099|MR|Test|E|Lead 8099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008100|108100|989898|1|9999008100|MR|Test|E|Lead 8100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008101|108101|989898|1|9999008101|MR|Test|E|Lead 8101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008102|108102|989898|1|9999008102|MR|Test|E|Lead 8102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008103|108103|989898|1|9999008103|MR|Test|E|Lead 8103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008104|108104|989898|1|9999008104|MR|Test|E|Lead 8104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008105|108105|989898|1|9999008105|MR|Test|E|Lead 8105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008106|108106|989898|1|9999008106|MR|Test|E|Lead 8106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008107|108107|989898|1|9999008107|MR|Test|E|Lead 8107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008108|108108|989898|1|9999008108|MR|Test|E|Lead 8108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008109|108109|989898|1|9999008109|MR|Test|E|Lead 8109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008110|108110|989898|1|9999008110|MR|Test|E|Lead 8110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008111|108111|989898|1|9999008111|MR|Test|E|Lead 8111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008112|108112|989898|1|9999008112|MR|Test|E|Lead 8112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008113|108113|989898|1|9999008113|MR|Test|E|Lead 8113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008114|108114|989898|1|9999008114|MR|Test|E|Lead 8114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008115|108115|989898|1|9999008115|MR|Test|E|Lead 8115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008116|108116|989898|1|9999008116|MR|Test|E|Lead 8116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008117|108117|989898|1|9999008117|MR|Test|E|Lead 8117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008118|108118|989898|1|9999008118|MR|Test|E|Lead 8118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008119|108119|989898|1|9999008119|MR|Test|E|Lead 8119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008120|108120|989898|1|9999008120|MR|Test|E|Lead 8120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008121|108121|989898|1|9999008121|MR|Test|E|Lead 8121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008122|108122|989898|1|9999008122|MR|Test|E|Lead 8122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008123|108123|989898|1|9999008123|MR|Test|E|Lead 8123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008124|108124|989898|1|9999008124|MR|Test|E|Lead 8124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008125|108125|989898|1|9999008125|MR|Test|E|Lead 8125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008126|108126|989898|1|9999008126|MR|Test|E|Lead 8126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008127|108127|989898|1|9999008127|MR|Test|E|Lead 8127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008128|108128|989898|1|9999008128|MR|Test|E|Lead 8128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008129|108129|989898|1|9999008129|MR|Test|E|Lead 8129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008130|108130|989898|1|9999008130|MR|Test|E|Lead 8130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008131|108131|989898|1|9999008131|MR|Test|E|Lead 8131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008132|108132|989898|1|9999008132|MR|Test|E|Lead 8132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008133|108133|989898|1|9999008133|MR|Test|E|Lead 8133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008134|108134|989898|1|9999008134|MR|Test|E|Lead 8134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008135|108135|989898|1|9999008135|MR|Test|E|Lead 8135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008136|108136|989898|1|9999008136|MR|Test|E|Lead 8136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008137|108137|989898|1|9999008137|MR|Test|E|Lead 8137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008138|108138|989898|1|9999008138|MR|Test|E|Lead 8138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008139|108139|989898|1|9999008139|MR|Test|E|Lead 8139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008140|108140|989898|1|9999008140|MR|Test|E|Lead 8140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008141|108141|989898|1|9999008141|MR|Test|E|Lead 8141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008142|108142|989898|1|9999008142|MR|Test|E|Lead 8142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008143|108143|989898|1|9999008143|MR|Test|E|Lead 8143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008144|108144|989898|1|9999008144|MR|Test|E|Lead 8144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008145|108145|989898|1|9999008145|MR|Test|E|Lead 8145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008146|108146|989898|1|9999008146|MR|Test|E|Lead 8146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008147|108147|989898|1|9999008147|MR|Test|E|Lead 8147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008148|108148|989898|1|9999008148|MR|Test|E|Lead 8148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008149|108149|989898|1|9999008149|MR|Test|E|Lead 8149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008150|108150|989898|1|9999008150|MR|Test|E|Lead 8150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008151|108151|989898|1|9999008151|MR|Test|E|Lead 8151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008152|108152|989898|1|9999008152|MR|Test|E|Lead 8152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008153|108153|989898|1|9999008153|MR|Test|E|Lead 8153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008154|108154|989898|1|9999008154|MR|Test|E|Lead 8154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008155|108155|989898|1|9999008155|MR|Test|E|Lead 8155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008156|108156|989898|1|9999008156|MR|Test|E|Lead 8156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008157|108157|989898|1|9999008157|MR|Test|E|Lead 8157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008158|108158|989898|1|9999008158|MR|Test|E|Lead 8158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008159|108159|989898|1|9999008159|MR|Test|E|Lead 8159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008160|108160|989898|1|9999008160|MR|Test|E|Lead 8160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008161|108161|989898|1|9999008161|MR|Test|E|Lead 8161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008162|108162|989898|1|9999008162|MR|Test|E|Lead 8162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008163|108163|989898|1|9999008163|MR|Test|E|Lead 8163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008164|108164|989898|1|9999008164|MR|Test|E|Lead 8164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008165|108165|989898|1|9999008165|MR|Test|E|Lead 8165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008166|108166|989898|1|9999008166|MR|Test|E|Lead 8166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008167|108167|989898|1|9999008167|MR|Test|E|Lead 8167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008168|108168|989898|1|9999008168|MR|Test|E|Lead 8168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008169|108169|989898|1|9999008169|MR|Test|E|Lead 8169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008170|108170|989898|1|9999008170|MR|Test|E|Lead 8170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008171|108171|989898|1|9999008171|MR|Test|E|Lead 8171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008172|108172|989898|1|9999008172|MR|Test|E|Lead 8172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008173|108173|989898|1|9999008173|MR|Test|E|Lead 8173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008174|108174|989898|1|9999008174|MR|Test|E|Lead 8174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008175|108175|989898|1|9999008175|MR|Test|E|Lead 8175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008176|108176|989898|1|9999008176|MR|Test|E|Lead 8176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008177|108177|989898|1|9999008177|MR|Test|E|Lead 8177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008178|108178|989898|1|9999008178|MR|Test|E|Lead 8178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008179|108179|989898|1|9999008179|MR|Test|E|Lead 8179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008180|108180|989898|1|9999008180|MR|Test|E|Lead 8180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008181|108181|989898|1|9999008181|MR|Test|E|Lead 8181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008182|108182|989898|1|9999008182|MR|Test|E|Lead 8182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008183|108183|989898|1|9999008183|MR|Test|E|Lead 8183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008184|108184|989898|1|9999008184|MR|Test|E|Lead 8184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008185|108185|989898|1|9999008185|MR|Test|E|Lead 8185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008186|108186|989898|1|9999008186|MR|Test|E|Lead 8186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008187|108187|989898|1|9999008187|MR|Test|E|Lead 8187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008188|108188|989898|1|9999008188|MR|Test|E|Lead 8188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008189|108189|989898|1|9999008189|MR|Test|E|Lead 8189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008190|108190|989898|1|9999008190|MR|Test|E|Lead 8190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008191|108191|989898|1|9999008191|MR|Test|E|Lead 8191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008192|108192|989898|1|9999008192|MR|Test|E|Lead 8192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008193|108193|989898|1|9999008193|MR|Test|E|Lead 8193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008194|108194|989898|1|9999008194|MR|Test|E|Lead 8194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008195|108195|989898|1|9999008195|MR|Test|E|Lead 8195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008196|108196|989898|1|9999008196|MR|Test|E|Lead 8196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008197|108197|989898|1|9999008197|MR|Test|E|Lead 8197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008198|108198|989898|1|9999008198|MR|Test|E|Lead 8198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008199|108199|989898|1|9999008199|MR|Test|E|Lead 8199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008200|108200|989898|1|9999008200|MR|Test|E|Lead 8200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008201|108201|989898|1|9999008201|MR|Test|E|Lead 8201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008202|108202|989898|1|9999008202|MR|Test|E|Lead 8202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008203|108203|989898|1|9999008203|MR|Test|E|Lead 8203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008204|108204|989898|1|9999008204|MR|Test|E|Lead 8204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008205|108205|989898|1|9999008205|MR|Test|E|Lead 8205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008206|108206|989898|1|9999008206|MR|Test|E|Lead 8206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008207|108207|989898|1|9999008207|MR|Test|E|Lead 8207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008208|108208|989898|1|9999008208|MR|Test|E|Lead 8208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008209|108209|989898|1|9999008209|MR|Test|E|Lead 8209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008210|108210|989898|1|9999008210|MR|Test|E|Lead 8210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008211|108211|989898|1|9999008211|MR|Test|E|Lead 8211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008212|108212|989898|1|9999008212|MR|Test|E|Lead 8212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008213|108213|989898|1|9999008213|MR|Test|E|Lead 8213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008214|108214|989898|1|9999008214|MR|Test|E|Lead 8214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008215|108215|989898|1|9999008215|MR|Test|E|Lead 8215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008216|108216|989898|1|9999008216|MR|Test|E|Lead 8216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008217|108217|989898|1|9999008217|MR|Test|E|Lead 8217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008218|108218|989898|1|9999008218|MR|Test|E|Lead 8218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008219|108219|989898|1|9999008219|MR|Test|E|Lead 8219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008220|108220|989898|1|9999008220|MR|Test|E|Lead 8220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008221|108221|989898|1|9999008221|MR|Test|E|Lead 8221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008222|108222|989898|1|9999008222|MR|Test|E|Lead 8222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008223|108223|989898|1|9999008223|MR|Test|E|Lead 8223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008224|108224|989898|1|9999008224|MR|Test|E|Lead 8224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008225|108225|989898|1|9999008225|MR|Test|E|Lead 8225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008226|108226|989898|1|9999008226|MR|Test|E|Lead 8226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008227|108227|989898|1|9999008227|MR|Test|E|Lead 8227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008228|108228|989898|1|9999008228|MR|Test|E|Lead 8228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008229|108229|989898|1|9999008229|MR|Test|E|Lead 8229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008230|108230|989898|1|9999008230|MR|Test|E|Lead 8230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008231|108231|989898|1|9999008231|MR|Test|E|Lead 8231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008232|108232|989898|1|9999008232|MR|Test|E|Lead 8232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008233|108233|989898|1|9999008233|MR|Test|E|Lead 8233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008234|108234|989898|1|9999008234|MR|Test|E|Lead 8234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008235|108235|989898|1|9999008235|MR|Test|E|Lead 8235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008236|108236|989898|1|9999008236|MR|Test|E|Lead 8236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008237|108237|989898|1|9999008237|MR|Test|E|Lead 8237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008238|108238|989898|1|9999008238|MR|Test|E|Lead 8238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008239|108239|989898|1|9999008239|MR|Test|E|Lead 8239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008240|108240|989898|1|9999008240|MR|Test|E|Lead 8240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008241|108241|989898|1|9999008241|MR|Test|E|Lead 8241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008242|108242|989898|1|9999008242|MR|Test|E|Lead 8242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008243|108243|989898|1|9999008243|MR|Test|E|Lead 8243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008244|108244|989898|1|9999008244|MR|Test|E|Lead 8244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008245|108245|989898|1|9999008245|MR|Test|E|Lead 8245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008246|108246|989898|1|9999008246|MR|Test|E|Lead 8246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008247|108247|989898|1|9999008247|MR|Test|E|Lead 8247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008248|108248|989898|1|9999008248|MR|Test|E|Lead 8248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008249|108249|989898|1|9999008249|MR|Test|E|Lead 8249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008250|108250|989898|1|9999008250|MR|Test|E|Lead 8250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008251|108251|989898|1|9999008251|MR|Test|E|Lead 8251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008252|108252|989898|1|9999008252|MR|Test|E|Lead 8252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008253|108253|989898|1|9999008253|MR|Test|E|Lead 8253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008254|108254|989898|1|9999008254|MR|Test|E|Lead 8254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008255|108255|989898|1|9999008255|MR|Test|E|Lead 8255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008256|108256|989898|1|9999008256|MR|Test|E|Lead 8256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008257|108257|989898|1|9999008257|MR|Test|E|Lead 8257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008258|108258|989898|1|9999008258|MR|Test|E|Lead 8258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008259|108259|989898|1|9999008259|MR|Test|E|Lead 8259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008260|108260|989898|1|9999008260|MR|Test|E|Lead 8260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008261|108261|989898|1|9999008261|MR|Test|E|Lead 8261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008262|108262|989898|1|9999008262|MR|Test|E|Lead 8262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008263|108263|989898|1|9999008263|MR|Test|E|Lead 8263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008264|108264|989898|1|9999008264|MR|Test|E|Lead 8264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008265|108265|989898|1|9999008265|MR|Test|E|Lead 8265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008266|108266|989898|1|9999008266|MR|Test|E|Lead 8266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008267|108267|989898|1|9999008267|MR|Test|E|Lead 8267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008268|108268|989898|1|9999008268|MR|Test|E|Lead 8268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008269|108269|989898|1|9999008269|MR|Test|E|Lead 8269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008270|108270|989898|1|9999008270|MR|Test|E|Lead 8270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008271|108271|989898|1|9999008271|MR|Test|E|Lead 8271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008272|108272|989898|1|9999008272|MR|Test|E|Lead 8272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008273|108273|989898|1|9999008273|MR|Test|E|Lead 8273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008274|108274|989898|1|9999008274|MR|Test|E|Lead 8274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008275|108275|989898|1|9999008275|MR|Test|E|Lead 8275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008276|108276|989898|1|9999008276|MR|Test|E|Lead 8276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008277|108277|989898|1|9999008277|MR|Test|E|Lead 8277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008278|108278|989898|1|9999008278|MR|Test|E|Lead 8278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008279|108279|989898|1|9999008279|MR|Test|E|Lead 8279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008280|108280|989898|1|9999008280|MR|Test|E|Lead 8280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008281|108281|989898|1|9999008281|MR|Test|E|Lead 8281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008282|108282|989898|1|9999008282|MR|Test|E|Lead 8282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008283|108283|989898|1|9999008283|MR|Test|E|Lead 8283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008284|108284|989898|1|9999008284|MR|Test|E|Lead 8284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008285|108285|989898|1|9999008285|MR|Test|E|Lead 8285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008286|108286|989898|1|9999008286|MR|Test|E|Lead 8286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008287|108287|989898|1|9999008287|MR|Test|E|Lead 8287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008288|108288|989898|1|9999008288|MR|Test|E|Lead 8288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008289|108289|989898|1|9999008289|MR|Test|E|Lead 8289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008290|108290|989898|1|9999008290|MR|Test|E|Lead 8290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008291|108291|989898|1|9999008291|MR|Test|E|Lead 8291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008292|108292|989898|1|9999008292|MR|Test|E|Lead 8292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008293|108293|989898|1|9999008293|MR|Test|E|Lead 8293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008294|108294|989898|1|9999008294|MR|Test|E|Lead 8294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008295|108295|989898|1|9999008295|MR|Test|E|Lead 8295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008296|108296|989898|1|9999008296|MR|Test|E|Lead 8296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008297|108297|989898|1|9999008297|MR|Test|E|Lead 8297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008298|108298|989898|1|9999008298|MR|Test|E|Lead 8298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008299|108299|989898|1|9999008299|MR|Test|E|Lead 8299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008300|108300|989898|1|9999008300|MR|Test|E|Lead 8300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008301|108301|989898|1|9999008301|MR|Test|E|Lead 8301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008302|108302|989898|1|9999008302|MR|Test|E|Lead 8302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008303|108303|989898|1|9999008303|MR|Test|E|Lead 8303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008304|108304|989898|1|9999008304|MR|Test|E|Lead 8304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008305|108305|989898|1|9999008305|MR|Test|E|Lead 8305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008306|108306|989898|1|9999008306|MR|Test|E|Lead 8306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008307|108307|989898|1|9999008307|MR|Test|E|Lead 8307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008308|108308|989898|1|9999008308|MR|Test|E|Lead 8308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008309|108309|989898|1|9999008309|MR|Test|E|Lead 8309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008310|108310|989898|1|9999008310|MR|Test|E|Lead 8310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008311|108311|989898|1|9999008311|MR|Test|E|Lead 8311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008312|108312|989898|1|9999008312|MR|Test|E|Lead 8312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008313|108313|989898|1|9999008313|MR|Test|E|Lead 8313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008314|108314|989898|1|9999008314|MR|Test|E|Lead 8314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008315|108315|989898|1|9999008315|MR|Test|E|Lead 8315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008316|108316|989898|1|9999008316|MR|Test|E|Lead 8316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008317|108317|989898|1|9999008317|MR|Test|E|Lead 8317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008318|108318|989898|1|9999008318|MR|Test|E|Lead 8318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008319|108319|989898|1|9999008319|MR|Test|E|Lead 8319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008320|108320|989898|1|9999008320|MR|Test|E|Lead 8320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008321|108321|989898|1|9999008321|MR|Test|E|Lead 8321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008322|108322|989898|1|9999008322|MR|Test|E|Lead 8322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008323|108323|989898|1|9999008323|MR|Test|E|Lead 8323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008324|108324|989898|1|9999008324|MR|Test|E|Lead 8324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008325|108325|989898|1|9999008325|MR|Test|E|Lead 8325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008326|108326|989898|1|9999008326|MR|Test|E|Lead 8326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008327|108327|989898|1|9999008327|MR|Test|E|Lead 8327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008328|108328|989898|1|9999008328|MR|Test|E|Lead 8328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008329|108329|989898|1|9999008329|MR|Test|E|Lead 8329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008330|108330|989898|1|9999008330|MR|Test|E|Lead 8330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008331|108331|989898|1|9999008331|MR|Test|E|Lead 8331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008332|108332|989898|1|9999008332|MR|Test|E|Lead 8332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008333|108333|989898|1|9999008333|MR|Test|E|Lead 8333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008334|108334|989898|1|9999008334|MR|Test|E|Lead 8334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008335|108335|989898|1|9999008335|MR|Test|E|Lead 8335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008336|108336|989898|1|9999008336|MR|Test|E|Lead 8336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008337|108337|989898|1|9999008337|MR|Test|E|Lead 8337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008338|108338|989898|1|9999008338|MR|Test|E|Lead 8338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008339|108339|989898|1|9999008339|MR|Test|E|Lead 8339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008340|108340|989898|1|9999008340|MR|Test|E|Lead 8340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008341|108341|989898|1|9999008341|MR|Test|E|Lead 8341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008342|108342|989898|1|9999008342|MR|Test|E|Lead 8342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008343|108343|989898|1|9999008343|MR|Test|E|Lead 8343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008344|108344|989898|1|9999008344|MR|Test|E|Lead 8344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008345|108345|989898|1|9999008345|MR|Test|E|Lead 8345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008346|108346|989898|1|9999008346|MR|Test|E|Lead 8346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008347|108347|989898|1|9999008347|MR|Test|E|Lead 8347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008348|108348|989898|1|9999008348|MR|Test|E|Lead 8348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008349|108349|989898|1|9999008349|MR|Test|E|Lead 8349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008350|108350|989898|1|9999008350|MR|Test|E|Lead 8350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008351|108351|989898|1|9999008351|MR|Test|E|Lead 8351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008352|108352|989898|1|9999008352|MR|Test|E|Lead 8352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008353|108353|989898|1|9999008353|MR|Test|E|Lead 8353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008354|108354|989898|1|9999008354|MR|Test|E|Lead 8354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008355|108355|989898|1|9999008355|MR|Test|E|Lead 8355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008356|108356|989898|1|9999008356|MR|Test|E|Lead 8356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008357|108357|989898|1|9999008357|MR|Test|E|Lead 8357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008358|108358|989898|1|9999008358|MR|Test|E|Lead 8358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008359|108359|989898|1|9999008359|MR|Test|E|Lead 8359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008360|108360|989898|1|9999008360|MR|Test|E|Lead 8360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008361|108361|989898|1|9999008361|MR|Test|E|Lead 8361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008362|108362|989898|1|9999008362|MR|Test|E|Lead 8362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008363|108363|989898|1|9999008363|MR|Test|E|Lead 8363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008364|108364|989898|1|9999008364|MR|Test|E|Lead 8364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008365|108365|989898|1|9999008365|MR|Test|E|Lead 8365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008366|108366|989898|1|9999008366|MR|Test|E|Lead 8366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008367|108367|989898|1|9999008367|MR|Test|E|Lead 8367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008368|108368|989898|1|9999008368|MR|Test|E|Lead 8368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008369|108369|989898|1|9999008369|MR|Test|E|Lead 8369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008370|108370|989898|1|9999008370|MR|Test|E|Lead 8370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008371|108371|989898|1|9999008371|MR|Test|E|Lead 8371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008372|108372|989898|1|9999008372|MR|Test|E|Lead 8372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008373|108373|989898|1|9999008373|MR|Test|E|Lead 8373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008374|108374|989898|1|9999008374|MR|Test|E|Lead 8374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008375|108375|989898|1|9999008375|MR|Test|E|Lead 8375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008376|108376|989898|1|9999008376|MR|Test|E|Lead 8376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008377|108377|989898|1|9999008377|MR|Test|E|Lead 8377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008378|108378|989898|1|9999008378|MR|Test|E|Lead 8378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008379|108379|989898|1|9999008379|MR|Test|E|Lead 8379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008380|108380|989898|1|9999008380|MR|Test|E|Lead 8380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008381|108381|989898|1|9999008381|MR|Test|E|Lead 8381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008382|108382|989898|1|9999008382|MR|Test|E|Lead 8382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008383|108383|989898|1|9999008383|MR|Test|E|Lead 8383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008384|108384|989898|1|9999008384|MR|Test|E|Lead 8384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008385|108385|989898|1|9999008385|MR|Test|E|Lead 8385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008386|108386|989898|1|9999008386|MR|Test|E|Lead 8386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008387|108387|989898|1|9999008387|MR|Test|E|Lead 8387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008388|108388|989898|1|9999008388|MR|Test|E|Lead 8388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008389|108389|989898|1|9999008389|MR|Test|E|Lead 8389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008390|108390|989898|1|9999008390|MR|Test|E|Lead 8390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008391|108391|989898|1|9999008391|MR|Test|E|Lead 8391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008392|108392|989898|1|9999008392|MR|Test|E|Lead 8392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008393|108393|989898|1|9999008393|MR|Test|E|Lead 8393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008394|108394|989898|1|9999008394|MR|Test|E|Lead 8394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008395|108395|989898|1|9999008395|MR|Test|E|Lead 8395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008396|108396|989898|1|9999008396|MR|Test|E|Lead 8396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008397|108397|989898|1|9999008397|MR|Test|E|Lead 8397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008398|108398|989898|1|9999008398|MR|Test|E|Lead 8398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008399|108399|989898|1|9999008399|MR|Test|E|Lead 8399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008400|108400|989898|1|9999008400|MR|Test|E|Lead 8400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008401|108401|989898|1|9999008401|MR|Test|E|Lead 8401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008402|108402|989898|1|9999008402|MR|Test|E|Lead 8402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008403|108403|989898|1|9999008403|MR|Test|E|Lead 8403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008404|108404|989898|1|9999008404|MR|Test|E|Lead 8404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008405|108405|989898|1|9999008405|MR|Test|E|Lead 8405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008406|108406|989898|1|9999008406|MR|Test|E|Lead 8406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008407|108407|989898|1|9999008407|MR|Test|E|Lead 8407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008408|108408|989898|1|9999008408|MR|Test|E|Lead 8408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008409|108409|989898|1|9999008409|MR|Test|E|Lead 8409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008410|108410|989898|1|9999008410|MR|Test|E|Lead 8410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008411|108411|989898|1|9999008411|MR|Test|E|Lead 8411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008412|108412|989898|1|9999008412|MR|Test|E|Lead 8412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008413|108413|989898|1|9999008413|MR|Test|E|Lead 8413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008414|108414|989898|1|9999008414|MR|Test|E|Lead 8414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008415|108415|989898|1|9999008415|MR|Test|E|Lead 8415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008416|108416|989898|1|9999008416|MR|Test|E|Lead 8416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008417|108417|989898|1|9999008417|MR|Test|E|Lead 8417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008418|108418|989898|1|9999008418|MR|Test|E|Lead 8418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008419|108419|989898|1|9999008419|MR|Test|E|Lead 8419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008420|108420|989898|1|9999008420|MR|Test|E|Lead 8420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008421|108421|989898|1|9999008421|MR|Test|E|Lead 8421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008422|108422|989898|1|9999008422|MR|Test|E|Lead 8422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008423|108423|989898|1|9999008423|MR|Test|E|Lead 8423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008424|108424|989898|1|9999008424|MR|Test|E|Lead 8424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008425|108425|989898|1|9999008425|MR|Test|E|Lead 8425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008426|108426|989898|1|9999008426|MR|Test|E|Lead 8426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008427|108427|989898|1|9999008427|MR|Test|E|Lead 8427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008428|108428|989898|1|9999008428|MR|Test|E|Lead 8428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008429|108429|989898|1|9999008429|MR|Test|E|Lead 8429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008430|108430|989898|1|9999008430|MR|Test|E|Lead 8430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008431|108431|989898|1|9999008431|MR|Test|E|Lead 8431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008432|108432|989898|1|9999008432|MR|Test|E|Lead 8432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008433|108433|989898|1|9999008433|MR|Test|E|Lead 8433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008434|108434|989898|1|9999008434|MR|Test|E|Lead 8434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008435|108435|989898|1|9999008435|MR|Test|E|Lead 8435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008436|108436|989898|1|9999008436|MR|Test|E|Lead 8436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008437|108437|989898|1|9999008437|MR|Test|E|Lead 8437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008438|108438|989898|1|9999008438|MR|Test|E|Lead 8438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008439|108439|989898|1|9999008439|MR|Test|E|Lead 8439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008440|108440|989898|1|9999008440|MR|Test|E|Lead 8440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008441|108441|989898|1|9999008441|MR|Test|E|Lead 8441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008442|108442|989898|1|9999008442|MR|Test|E|Lead 8442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008443|108443|989898|1|9999008443|MR|Test|E|Lead 8443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008444|108444|989898|1|9999008444|MR|Test|E|Lead 8444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008445|108445|989898|1|9999008445|MR|Test|E|Lead 8445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008446|108446|989898|1|9999008446|MR|Test|E|Lead 8446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008447|108447|989898|1|9999008447|MR|Test|E|Lead 8447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008448|108448|989898|1|9999008448|MR|Test|E|Lead 8448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008449|108449|989898|1|9999008449|MR|Test|E|Lead 8449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008450|108450|989898|1|9999008450|MR|Test|E|Lead 8450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008451|108451|989898|1|9999008451|MR|Test|E|Lead 8451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008452|108452|989898|1|9999008452|MR|Test|E|Lead 8452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008453|108453|989898|1|9999008453|MR|Test|E|Lead 8453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008454|108454|989898|1|9999008454|MR|Test|E|Lead 8454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008455|108455|989898|1|9999008455|MR|Test|E|Lead 8455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008456|108456|989898|1|9999008456|MR|Test|E|Lead 8456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008457|108457|989898|1|9999008457|MR|Test|E|Lead 8457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008458|108458|989898|1|9999008458|MR|Test|E|Lead 8458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008459|108459|989898|1|9999008459|MR|Test|E|Lead 8459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008460|108460|989898|1|9999008460|MR|Test|E|Lead 8460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008461|108461|989898|1|9999008461|MR|Test|E|Lead 8461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008462|108462|989898|1|9999008462|MR|Test|E|Lead 8462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008463|108463|989898|1|9999008463|MR|Test|E|Lead 8463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008464|108464|989898|1|9999008464|MR|Test|E|Lead 8464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008465|108465|989898|1|9999008465|MR|Test|E|Lead 8465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008466|108466|989898|1|9999008466|MR|Test|E|Lead 8466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008467|108467|989898|1|9999008467|MR|Test|E|Lead 8467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008468|108468|989898|1|9999008468|MR|Test|E|Lead 8468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008469|108469|989898|1|9999008469|MR|Test|E|Lead 8469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008470|108470|989898|1|9999008470|MR|Test|E|Lead 8470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008471|108471|989898|1|9999008471|MR|Test|E|Lead 8471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008472|108472|989898|1|9999008472|MR|Test|E|Lead 8472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008473|108473|989898|1|9999008473|MR|Test|E|Lead 8473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008474|108474|989898|1|9999008474|MR|Test|E|Lead 8474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008475|108475|989898|1|9999008475|MR|Test|E|Lead 8475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008476|108476|989898|1|9999008476|MR|Test|E|Lead 8476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008477|108477|989898|1|9999008477|MR|Test|E|Lead 8477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008478|108478|989898|1|9999008478|MR|Test|E|Lead 8478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008479|108479|989898|1|9999008479|MR|Test|E|Lead 8479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008480|108480|989898|1|9999008480|MR|Test|E|Lead 8480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008481|108481|989898|1|9999008481|MR|Test|E|Lead 8481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008482|108482|989898|1|9999008482|MR|Test|E|Lead 8482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008483|108483|989898|1|9999008483|MR|Test|E|Lead 8483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008484|108484|989898|1|9999008484|MR|Test|E|Lead 8484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008485|108485|989898|1|9999008485|MR|Test|E|Lead 8485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008486|108486|989898|1|9999008486|MR|Test|E|Lead 8486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008487|108487|989898|1|9999008487|MR|Test|E|Lead 8487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008488|108488|989898|1|9999008488|MR|Test|E|Lead 8488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008489|108489|989898|1|9999008489|MR|Test|E|Lead 8489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008490|108490|989898|1|9999008490|MR|Test|E|Lead 8490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008491|108491|989898|1|9999008491|MR|Test|E|Lead 8491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008492|108492|989898|1|9999008492|MR|Test|E|Lead 8492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008493|108493|989898|1|9999008493|MR|Test|E|Lead 8493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008494|108494|989898|1|9999008494|MR|Test|E|Lead 8494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008495|108495|989898|1|9999008495|MR|Test|E|Lead 8495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008496|108496|989898|1|9999008496|MR|Test|E|Lead 8496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008497|108497|989898|1|9999008497|MR|Test|E|Lead 8497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008498|108498|989898|1|9999008498|MR|Test|E|Lead 8498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008499|108499|989898|1|9999008499|MR|Test|E|Lead 8499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008500|108500|989898|1|9999008500|MR|Test|E|Lead 8500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008501|108501|989898|1|9999008501|MR|Test|E|Lead 8501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008502|108502|989898|1|9999008502|MR|Test|E|Lead 8502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008503|108503|989898|1|9999008503|MR|Test|E|Lead 8503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008504|108504|989898|1|9999008504|MR|Test|E|Lead 8504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008505|108505|989898|1|9999008505|MR|Test|E|Lead 8505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008506|108506|989898|1|9999008506|MR|Test|E|Lead 8506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008507|108507|989898|1|9999008507|MR|Test|E|Lead 8507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008508|108508|989898|1|9999008508|MR|Test|E|Lead 8508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008509|108509|989898|1|9999008509|MR|Test|E|Lead 8509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008510|108510|989898|1|9999008510|MR|Test|E|Lead 8510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008511|108511|989898|1|9999008511|MR|Test|E|Lead 8511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008512|108512|989898|1|9999008512|MR|Test|E|Lead 8512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008513|108513|989898|1|9999008513|MR|Test|E|Lead 8513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008514|108514|989898|1|9999008514|MR|Test|E|Lead 8514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008515|108515|989898|1|9999008515|MR|Test|E|Lead 8515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008516|108516|989898|1|9999008516|MR|Test|E|Lead 8516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008517|108517|989898|1|9999008517|MR|Test|E|Lead 8517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008518|108518|989898|1|9999008518|MR|Test|E|Lead 8518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008519|108519|989898|1|9999008519|MR|Test|E|Lead 8519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008520|108520|989898|1|9999008520|MR|Test|E|Lead 8520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008521|108521|989898|1|9999008521|MR|Test|E|Lead 8521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008522|108522|989898|1|9999008522|MR|Test|E|Lead 8522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008523|108523|989898|1|9999008523|MR|Test|E|Lead 8523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008524|108524|989898|1|9999008524|MR|Test|E|Lead 8524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008525|108525|989898|1|9999008525|MR|Test|E|Lead 8525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008526|108526|989898|1|9999008526|MR|Test|E|Lead 8526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008527|108527|989898|1|9999008527|MR|Test|E|Lead 8527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008528|108528|989898|1|9999008528|MR|Test|E|Lead 8528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008529|108529|989898|1|9999008529|MR|Test|E|Lead 8529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008530|108530|989898|1|9999008530|MR|Test|E|Lead 8530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008531|108531|989898|1|9999008531|MR|Test|E|Lead 8531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008532|108532|989898|1|9999008532|MR|Test|E|Lead 8532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008533|108533|989898|1|9999008533|MR|Test|E|Lead 8533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008534|108534|989898|1|9999008534|MR|Test|E|Lead 8534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008535|108535|989898|1|9999008535|MR|Test|E|Lead 8535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008536|108536|989898|1|9999008536|MR|Test|E|Lead 8536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008537|108537|989898|1|9999008537|MR|Test|E|Lead 8537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008538|108538|989898|1|9999008538|MR|Test|E|Lead 8538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008539|108539|989898|1|9999008539|MR|Test|E|Lead 8539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008540|108540|989898|1|9999008540|MR|Test|E|Lead 8540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008541|108541|989898|1|9999008541|MR|Test|E|Lead 8541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008542|108542|989898|1|9999008542|MR|Test|E|Lead 8542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008543|108543|989898|1|9999008543|MR|Test|E|Lead 8543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008544|108544|989898|1|9999008544|MR|Test|E|Lead 8544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008545|108545|989898|1|9999008545|MR|Test|E|Lead 8545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008546|108546|989898|1|9999008546|MR|Test|E|Lead 8546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008547|108547|989898|1|9999008547|MR|Test|E|Lead 8547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008548|108548|989898|1|9999008548|MR|Test|E|Lead 8548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008549|108549|989898|1|9999008549|MR|Test|E|Lead 8549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008550|108550|989898|1|9999008550|MR|Test|E|Lead 8550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008551|108551|989898|1|9999008551|MR|Test|E|Lead 8551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008552|108552|989898|1|9999008552|MR|Test|E|Lead 8552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008553|108553|989898|1|9999008553|MR|Test|E|Lead 8553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008554|108554|989898|1|9999008554|MR|Test|E|Lead 8554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008555|108555|989898|1|9999008555|MR|Test|E|Lead 8555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008556|108556|989898|1|9999008556|MR|Test|E|Lead 8556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008557|108557|989898|1|9999008557|MR|Test|E|Lead 8557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008558|108558|989898|1|9999008558|MR|Test|E|Lead 8558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008559|108559|989898|1|9999008559|MR|Test|E|Lead 8559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008560|108560|989898|1|9999008560|MR|Test|E|Lead 8560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008561|108561|989898|1|9999008561|MR|Test|E|Lead 8561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008562|108562|989898|1|9999008562|MR|Test|E|Lead 8562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008563|108563|989898|1|9999008563|MR|Test|E|Lead 8563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008564|108564|989898|1|9999008564|MR|Test|E|Lead 8564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008565|108565|989898|1|9999008565|MR|Test|E|Lead 8565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008566|108566|989898|1|9999008566|MR|Test|E|Lead 8566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008567|108567|989898|1|9999008567|MR|Test|E|Lead 8567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008568|108568|989898|1|9999008568|MR|Test|E|Lead 8568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008569|108569|989898|1|9999008569|MR|Test|E|Lead 8569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008570|108570|989898|1|9999008570|MR|Test|E|Lead 8570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008571|108571|989898|1|9999008571|MR|Test|E|Lead 8571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008572|108572|989898|1|9999008572|MR|Test|E|Lead 8572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008573|108573|989898|1|9999008573|MR|Test|E|Lead 8573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008574|108574|989898|1|9999008574|MR|Test|E|Lead 8574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008575|108575|989898|1|9999008575|MR|Test|E|Lead 8575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008576|108576|989898|1|9999008576|MR|Test|E|Lead 8576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008577|108577|989898|1|9999008577|MR|Test|E|Lead 8577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008578|108578|989898|1|9999008578|MR|Test|E|Lead 8578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008579|108579|989898|1|9999008579|MR|Test|E|Lead 8579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008580|108580|989898|1|9999008580|MR|Test|E|Lead 8580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008581|108581|989898|1|9999008581|MR|Test|E|Lead 8581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008582|108582|989898|1|9999008582|MR|Test|E|Lead 8582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008583|108583|989898|1|9999008583|MR|Test|E|Lead 8583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008584|108584|989898|1|9999008584|MR|Test|E|Lead 8584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008585|108585|989898|1|9999008585|MR|Test|E|Lead 8585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008586|108586|989898|1|9999008586|MR|Test|E|Lead 8586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008587|108587|989898|1|9999008587|MR|Test|E|Lead 8587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008588|108588|989898|1|9999008588|MR|Test|E|Lead 8588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008589|108589|989898|1|9999008589|MR|Test|E|Lead 8589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008590|108590|989898|1|9999008590|MR|Test|E|Lead 8590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008591|108591|989898|1|9999008591|MR|Test|E|Lead 8591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008592|108592|989898|1|9999008592|MR|Test|E|Lead 8592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008593|108593|989898|1|9999008593|MR|Test|E|Lead 8593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008594|108594|989898|1|9999008594|MR|Test|E|Lead 8594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008595|108595|989898|1|9999008595|MR|Test|E|Lead 8595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008596|108596|989898|1|9999008596|MR|Test|E|Lead 8596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008597|108597|989898|1|9999008597|MR|Test|E|Lead 8597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008598|108598|989898|1|9999008598|MR|Test|E|Lead 8598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008599|108599|989898|1|9999008599|MR|Test|E|Lead 8599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008600|108600|989898|1|9999008600|MR|Test|E|Lead 8600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008601|108601|989898|1|9999008601|MR|Test|E|Lead 8601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008602|108602|989898|1|9999008602|MR|Test|E|Lead 8602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008603|108603|989898|1|9999008603|MR|Test|E|Lead 8603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008604|108604|989898|1|9999008604|MR|Test|E|Lead 8604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008605|108605|989898|1|9999008605|MR|Test|E|Lead 8605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008606|108606|989898|1|9999008606|MR|Test|E|Lead 8606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008607|108607|989898|1|9999008607|MR|Test|E|Lead 8607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008608|108608|989898|1|9999008608|MR|Test|E|Lead 8608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008609|108609|989898|1|9999008609|MR|Test|E|Lead 8609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008610|108610|989898|1|9999008610|MR|Test|E|Lead 8610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008611|108611|989898|1|9999008611|MR|Test|E|Lead 8611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008612|108612|989898|1|9999008612|MR|Test|E|Lead 8612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008613|108613|989898|1|9999008613|MR|Test|E|Lead 8613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008614|108614|989898|1|9999008614|MR|Test|E|Lead 8614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008615|108615|989898|1|9999008615|MR|Test|E|Lead 8615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008616|108616|989898|1|9999008616|MR|Test|E|Lead 8616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008617|108617|989898|1|9999008617|MR|Test|E|Lead 8617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008618|108618|989898|1|9999008618|MR|Test|E|Lead 8618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008619|108619|989898|1|9999008619|MR|Test|E|Lead 8619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008620|108620|989898|1|9999008620|MR|Test|E|Lead 8620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008621|108621|989898|1|9999008621|MR|Test|E|Lead 8621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008622|108622|989898|1|9999008622|MR|Test|E|Lead 8622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008623|108623|989898|1|9999008623|MR|Test|E|Lead 8623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008624|108624|989898|1|9999008624|MR|Test|E|Lead 8624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008625|108625|989898|1|9999008625|MR|Test|E|Lead 8625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008626|108626|989898|1|9999008626|MR|Test|E|Lead 8626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008627|108627|989898|1|9999008627|MR|Test|E|Lead 8627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008628|108628|989898|1|9999008628|MR|Test|E|Lead 8628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008629|108629|989898|1|9999008629|MR|Test|E|Lead 8629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008630|108630|989898|1|9999008630|MR|Test|E|Lead 8630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008631|108631|989898|1|9999008631|MR|Test|E|Lead 8631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008632|108632|989898|1|9999008632|MR|Test|E|Lead 8632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008633|108633|989898|1|9999008633|MR|Test|E|Lead 8633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008634|108634|989898|1|9999008634|MR|Test|E|Lead 8634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008635|108635|989898|1|9999008635|MR|Test|E|Lead 8635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008636|108636|989898|1|9999008636|MR|Test|E|Lead 8636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008637|108637|989898|1|9999008637|MR|Test|E|Lead 8637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008638|108638|989898|1|9999008638|MR|Test|E|Lead 8638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008639|108639|989898|1|9999008639|MR|Test|E|Lead 8639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008640|108640|989898|1|9999008640|MR|Test|E|Lead 8640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008641|108641|989898|1|9999008641|MR|Test|E|Lead 8641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008642|108642|989898|1|9999008642|MR|Test|E|Lead 8642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008643|108643|989898|1|9999008643|MR|Test|E|Lead 8643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008644|108644|989898|1|9999008644|MR|Test|E|Lead 8644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008645|108645|989898|1|9999008645|MR|Test|E|Lead 8645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008646|108646|989898|1|9999008646|MR|Test|E|Lead 8646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008647|108647|989898|1|9999008647|MR|Test|E|Lead 8647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008648|108648|989898|1|9999008648|MR|Test|E|Lead 8648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008649|108649|989898|1|9999008649|MR|Test|E|Lead 8649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008650|108650|989898|1|9999008650|MR|Test|E|Lead 8650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008651|108651|989898|1|9999008651|MR|Test|E|Lead 8651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008652|108652|989898|1|9999008652|MR|Test|E|Lead 8652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008653|108653|989898|1|9999008653|MR|Test|E|Lead 8653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008654|108654|989898|1|9999008654|MR|Test|E|Lead 8654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008655|108655|989898|1|9999008655|MR|Test|E|Lead 8655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008656|108656|989898|1|9999008656|MR|Test|E|Lead 8656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008657|108657|989898|1|9999008657|MR|Test|E|Lead 8657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008658|108658|989898|1|9999008658|MR|Test|E|Lead 8658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008659|108659|989898|1|9999008659|MR|Test|E|Lead 8659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008660|108660|989898|1|9999008660|MR|Test|E|Lead 8660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008661|108661|989898|1|9999008661|MR|Test|E|Lead 8661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008662|108662|989898|1|9999008662|MR|Test|E|Lead 8662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008663|108663|989898|1|9999008663|MR|Test|E|Lead 8663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008664|108664|989898|1|9999008664|MR|Test|E|Lead 8664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008665|108665|989898|1|9999008665|MR|Test|E|Lead 8665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008666|108666|989898|1|9999008666|MR|Test|E|Lead 8666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008667|108667|989898|1|9999008667|MR|Test|E|Lead 8667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008668|108668|989898|1|9999008668|MR|Test|E|Lead 8668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008669|108669|989898|1|9999008669|MR|Test|E|Lead 8669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008670|108670|989898|1|9999008670|MR|Test|E|Lead 8670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008671|108671|989898|1|9999008671|MR|Test|E|Lead 8671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008672|108672|989898|1|9999008672|MR|Test|E|Lead 8672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008673|108673|989898|1|9999008673|MR|Test|E|Lead 8673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008674|108674|989898|1|9999008674|MR|Test|E|Lead 8674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008675|108675|989898|1|9999008675|MR|Test|E|Lead 8675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008676|108676|989898|1|9999008676|MR|Test|E|Lead 8676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008677|108677|989898|1|9999008677|MR|Test|E|Lead 8677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008678|108678|989898|1|9999008678|MR|Test|E|Lead 8678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008679|108679|989898|1|9999008679|MR|Test|E|Lead 8679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008680|108680|989898|1|9999008680|MR|Test|E|Lead 8680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008681|108681|989898|1|9999008681|MR|Test|E|Lead 8681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008682|108682|989898|1|9999008682|MR|Test|E|Lead 8682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008683|108683|989898|1|9999008683|MR|Test|E|Lead 8683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008684|108684|989898|1|9999008684|MR|Test|E|Lead 8684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008685|108685|989898|1|9999008685|MR|Test|E|Lead 8685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008686|108686|989898|1|9999008686|MR|Test|E|Lead 8686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008687|108687|989898|1|9999008687|MR|Test|E|Lead 8687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008688|108688|989898|1|9999008688|MR|Test|E|Lead 8688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008689|108689|989898|1|9999008689|MR|Test|E|Lead 8689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008690|108690|989898|1|9999008690|MR|Test|E|Lead 8690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008691|108691|989898|1|9999008691|MR|Test|E|Lead 8691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008692|108692|989898|1|9999008692|MR|Test|E|Lead 8692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008693|108693|989898|1|9999008693|MR|Test|E|Lead 8693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008694|108694|989898|1|9999008694|MR|Test|E|Lead 8694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008695|108695|989898|1|9999008695|MR|Test|E|Lead 8695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008696|108696|989898|1|9999008696|MR|Test|E|Lead 8696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008697|108697|989898|1|9999008697|MR|Test|E|Lead 8697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008698|108698|989898|1|9999008698|MR|Test|E|Lead 8698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008699|108699|989898|1|9999008699|MR|Test|E|Lead 8699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008700|108700|989898|1|9999008700|MR|Test|E|Lead 8700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008701|108701|989898|1|9999008701|MR|Test|E|Lead 8701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008702|108702|989898|1|9999008702|MR|Test|E|Lead 8702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008703|108703|989898|1|9999008703|MR|Test|E|Lead 8703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008704|108704|989898|1|9999008704|MR|Test|E|Lead 8704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008705|108705|989898|1|9999008705|MR|Test|E|Lead 8705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008706|108706|989898|1|9999008706|MR|Test|E|Lead 8706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008707|108707|989898|1|9999008707|MR|Test|E|Lead 8707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008708|108708|989898|1|9999008708|MR|Test|E|Lead 8708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008709|108709|989898|1|9999008709|MR|Test|E|Lead 8709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008710|108710|989898|1|9999008710|MR|Test|E|Lead 8710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008711|108711|989898|1|9999008711|MR|Test|E|Lead 8711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008712|108712|989898|1|9999008712|MR|Test|E|Lead 8712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008713|108713|989898|1|9999008713|MR|Test|E|Lead 8713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008714|108714|989898|1|9999008714|MR|Test|E|Lead 8714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008715|108715|989898|1|9999008715|MR|Test|E|Lead 8715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008716|108716|989898|1|9999008716|MR|Test|E|Lead 8716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008717|108717|989898|1|9999008717|MR|Test|E|Lead 8717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008718|108718|989898|1|9999008718|MR|Test|E|Lead 8718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008719|108719|989898|1|9999008719|MR|Test|E|Lead 8719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008720|108720|989898|1|9999008720|MR|Test|E|Lead 8720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008721|108721|989898|1|9999008721|MR|Test|E|Lead 8721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008722|108722|989898|1|9999008722|MR|Test|E|Lead 8722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008723|108723|989898|1|9999008723|MR|Test|E|Lead 8723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008724|108724|989898|1|9999008724|MR|Test|E|Lead 8724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008725|108725|989898|1|9999008725|MR|Test|E|Lead 8725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008726|108726|989898|1|9999008726|MR|Test|E|Lead 8726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008727|108727|989898|1|9999008727|MR|Test|E|Lead 8727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008728|108728|989898|1|9999008728|MR|Test|E|Lead 8728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008729|108729|989898|1|9999008729|MR|Test|E|Lead 8729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008730|108730|989898|1|9999008730|MR|Test|E|Lead 8730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008731|108731|989898|1|9999008731|MR|Test|E|Lead 8731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008732|108732|989898|1|9999008732|MR|Test|E|Lead 8732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008733|108733|989898|1|9999008733|MR|Test|E|Lead 8733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008734|108734|989898|1|9999008734|MR|Test|E|Lead 8734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008735|108735|989898|1|9999008735|MR|Test|E|Lead 8735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008736|108736|989898|1|9999008736|MR|Test|E|Lead 8736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008737|108737|989898|1|9999008737|MR|Test|E|Lead 8737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008738|108738|989898|1|9999008738|MR|Test|E|Lead 8738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008739|108739|989898|1|9999008739|MR|Test|E|Lead 8739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008740|108740|989898|1|9999008740|MR|Test|E|Lead 8740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008741|108741|989898|1|9999008741|MR|Test|E|Lead 8741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008742|108742|989898|1|9999008742|MR|Test|E|Lead 8742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008743|108743|989898|1|9999008743|MR|Test|E|Lead 8743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008744|108744|989898|1|9999008744|MR|Test|E|Lead 8744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008745|108745|989898|1|9999008745|MR|Test|E|Lead 8745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008746|108746|989898|1|9999008746|MR|Test|E|Lead 8746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008747|108747|989898|1|9999008747|MR|Test|E|Lead 8747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008748|108748|989898|1|9999008748|MR|Test|E|Lead 8748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008749|108749|989898|1|9999008749|MR|Test|E|Lead 8749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008750|108750|989898|1|9999008750|MR|Test|E|Lead 8750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008751|108751|989898|1|9999008751|MR|Test|E|Lead 8751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008752|108752|989898|1|9999008752|MR|Test|E|Lead 8752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008753|108753|989898|1|9999008753|MR|Test|E|Lead 8753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008754|108754|989898|1|9999008754|MR|Test|E|Lead 8754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008755|108755|989898|1|9999008755|MR|Test|E|Lead 8755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008756|108756|989898|1|9999008756|MR|Test|E|Lead 8756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008757|108757|989898|1|9999008757|MR|Test|E|Lead 8757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008758|108758|989898|1|9999008758|MR|Test|E|Lead 8758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008759|108759|989898|1|9999008759|MR|Test|E|Lead 8759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008760|108760|989898|1|9999008760|MR|Test|E|Lead 8760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008761|108761|989898|1|9999008761|MR|Test|E|Lead 8761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008762|108762|989898|1|9999008762|MR|Test|E|Lead 8762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008763|108763|989898|1|9999008763|MR|Test|E|Lead 8763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008764|108764|989898|1|9999008764|MR|Test|E|Lead 8764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008765|108765|989898|1|9999008765|MR|Test|E|Lead 8765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008766|108766|989898|1|9999008766|MR|Test|E|Lead 8766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008767|108767|989898|1|9999008767|MR|Test|E|Lead 8767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008768|108768|989898|1|9999008768|MR|Test|E|Lead 8768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008769|108769|989898|1|9999008769|MR|Test|E|Lead 8769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008770|108770|989898|1|9999008770|MR|Test|E|Lead 8770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008771|108771|989898|1|9999008771|MR|Test|E|Lead 8771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008772|108772|989898|1|9999008772|MR|Test|E|Lead 8772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008773|108773|989898|1|9999008773|MR|Test|E|Lead 8773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008774|108774|989898|1|9999008774|MR|Test|E|Lead 8774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008775|108775|989898|1|9999008775|MR|Test|E|Lead 8775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008776|108776|989898|1|9999008776|MR|Test|E|Lead 8776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008777|108777|989898|1|9999008777|MR|Test|E|Lead 8777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008778|108778|989898|1|9999008778|MR|Test|E|Lead 8778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008779|108779|989898|1|9999008779|MR|Test|E|Lead 8779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008780|108780|989898|1|9999008780|MR|Test|E|Lead 8780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008781|108781|989898|1|9999008781|MR|Test|E|Lead 8781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008782|108782|989898|1|9999008782|MR|Test|E|Lead 8782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008783|108783|989898|1|9999008783|MR|Test|E|Lead 8783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008784|108784|989898|1|9999008784|MR|Test|E|Lead 8784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008785|108785|989898|1|9999008785|MR|Test|E|Lead 8785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008786|108786|989898|1|9999008786|MR|Test|E|Lead 8786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008787|108787|989898|1|9999008787|MR|Test|E|Lead 8787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008788|108788|989898|1|9999008788|MR|Test|E|Lead 8788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008789|108789|989898|1|9999008789|MR|Test|E|Lead 8789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008790|108790|989898|1|9999008790|MR|Test|E|Lead 8790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008791|108791|989898|1|9999008791|MR|Test|E|Lead 8791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008792|108792|989898|1|9999008792|MR|Test|E|Lead 8792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008793|108793|989898|1|9999008793|MR|Test|E|Lead 8793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008794|108794|989898|1|9999008794|MR|Test|E|Lead 8794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008795|108795|989898|1|9999008795|MR|Test|E|Lead 8795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008796|108796|989898|1|9999008796|MR|Test|E|Lead 8796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008797|108797|989898|1|9999008797|MR|Test|E|Lead 8797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008798|108798|989898|1|9999008798|MR|Test|E|Lead 8798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008799|108799|989898|1|9999008799|MR|Test|E|Lead 8799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008800|108800|989898|1|9999008800|MR|Test|E|Lead 8800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008801|108801|989898|1|9999008801|MR|Test|E|Lead 8801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008802|108802|989898|1|9999008802|MR|Test|E|Lead 8802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008803|108803|989898|1|9999008803|MR|Test|E|Lead 8803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008804|108804|989898|1|9999008804|MR|Test|E|Lead 8804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008805|108805|989898|1|9999008805|MR|Test|E|Lead 8805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008806|108806|989898|1|9999008806|MR|Test|E|Lead 8806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008807|108807|989898|1|9999008807|MR|Test|E|Lead 8807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008808|108808|989898|1|9999008808|MR|Test|E|Lead 8808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008809|108809|989898|1|9999008809|MR|Test|E|Lead 8809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008810|108810|989898|1|9999008810|MR|Test|E|Lead 8810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008811|108811|989898|1|9999008811|MR|Test|E|Lead 8811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008812|108812|989898|1|9999008812|MR|Test|E|Lead 8812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008813|108813|989898|1|9999008813|MR|Test|E|Lead 8813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008814|108814|989898|1|9999008814|MR|Test|E|Lead 8814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008815|108815|989898|1|9999008815|MR|Test|E|Lead 8815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008816|108816|989898|1|9999008816|MR|Test|E|Lead 8816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008817|108817|989898|1|9999008817|MR|Test|E|Lead 8817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008818|108818|989898|1|9999008818|MR|Test|E|Lead 8818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008819|108819|989898|1|9999008819|MR|Test|E|Lead 8819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008820|108820|989898|1|9999008820|MR|Test|E|Lead 8820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008821|108821|989898|1|9999008821|MR|Test|E|Lead 8821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008822|108822|989898|1|9999008822|MR|Test|E|Lead 8822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008823|108823|989898|1|9999008823|MR|Test|E|Lead 8823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008824|108824|989898|1|9999008824|MR|Test|E|Lead 8824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008825|108825|989898|1|9999008825|MR|Test|E|Lead 8825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008826|108826|989898|1|9999008826|MR|Test|E|Lead 8826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008827|108827|989898|1|9999008827|MR|Test|E|Lead 8827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008828|108828|989898|1|9999008828|MR|Test|E|Lead 8828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008829|108829|989898|1|9999008829|MR|Test|E|Lead 8829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008830|108830|989898|1|9999008830|MR|Test|E|Lead 8830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008831|108831|989898|1|9999008831|MR|Test|E|Lead 8831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008832|108832|989898|1|9999008832|MR|Test|E|Lead 8832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008833|108833|989898|1|9999008833|MR|Test|E|Lead 8833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008834|108834|989898|1|9999008834|MR|Test|E|Lead 8834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008835|108835|989898|1|9999008835|MR|Test|E|Lead 8835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008836|108836|989898|1|9999008836|MR|Test|E|Lead 8836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008837|108837|989898|1|9999008837|MR|Test|E|Lead 8837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008838|108838|989898|1|9999008838|MR|Test|E|Lead 8838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008839|108839|989898|1|9999008839|MR|Test|E|Lead 8839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008840|108840|989898|1|9999008840|MR|Test|E|Lead 8840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008841|108841|989898|1|9999008841|MR|Test|E|Lead 8841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008842|108842|989898|1|9999008842|MR|Test|E|Lead 8842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008843|108843|989898|1|9999008843|MR|Test|E|Lead 8843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008844|108844|989898|1|9999008844|MR|Test|E|Lead 8844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008845|108845|989898|1|9999008845|MR|Test|E|Lead 8845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008846|108846|989898|1|9999008846|MR|Test|E|Lead 8846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008847|108847|989898|1|9999008847|MR|Test|E|Lead 8847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008848|108848|989898|1|9999008848|MR|Test|E|Lead 8848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008849|108849|989898|1|9999008849|MR|Test|E|Lead 8849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008850|108850|989898|1|9999008850|MR|Test|E|Lead 8850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008851|108851|989898|1|9999008851|MR|Test|E|Lead 8851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008852|108852|989898|1|9999008852|MR|Test|E|Lead 8852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008853|108853|989898|1|9999008853|MR|Test|E|Lead 8853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008854|108854|989898|1|9999008854|MR|Test|E|Lead 8854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008855|108855|989898|1|9999008855|MR|Test|E|Lead 8855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008856|108856|989898|1|9999008856|MR|Test|E|Lead 8856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008857|108857|989898|1|9999008857|MR|Test|E|Lead 8857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008858|108858|989898|1|9999008858|MR|Test|E|Lead 8858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008859|108859|989898|1|9999008859|MR|Test|E|Lead 8859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008860|108860|989898|1|9999008860|MR|Test|E|Lead 8860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008861|108861|989898|1|9999008861|MR|Test|E|Lead 8861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008862|108862|989898|1|9999008862|MR|Test|E|Lead 8862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008863|108863|989898|1|9999008863|MR|Test|E|Lead 8863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008864|108864|989898|1|9999008864|MR|Test|E|Lead 8864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008865|108865|989898|1|9999008865|MR|Test|E|Lead 8865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008866|108866|989898|1|9999008866|MR|Test|E|Lead 8866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008867|108867|989898|1|9999008867|MR|Test|E|Lead 8867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008868|108868|989898|1|9999008868|MR|Test|E|Lead 8868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008869|108869|989898|1|9999008869|MR|Test|E|Lead 8869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008870|108870|989898|1|9999008870|MR|Test|E|Lead 8870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008871|108871|989898|1|9999008871|MR|Test|E|Lead 8871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008872|108872|989898|1|9999008872|MR|Test|E|Lead 8872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008873|108873|989898|1|9999008873|MR|Test|E|Lead 8873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008874|108874|989898|1|9999008874|MR|Test|E|Lead 8874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008875|108875|989898|1|9999008875|MR|Test|E|Lead 8875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008876|108876|989898|1|9999008876|MR|Test|E|Lead 8876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008877|108877|989898|1|9999008877|MR|Test|E|Lead 8877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008878|108878|989898|1|9999008878|MR|Test|E|Lead 8878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008879|108879|989898|1|9999008879|MR|Test|E|Lead 8879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008880|108880|989898|1|9999008880|MR|Test|E|Lead 8880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008881|108881|989898|1|9999008881|MR|Test|E|Lead 8881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008882|108882|989898|1|9999008882|MR|Test|E|Lead 8882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008883|108883|989898|1|9999008883|MR|Test|E|Lead 8883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008884|108884|989898|1|9999008884|MR|Test|E|Lead 8884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008885|108885|989898|1|9999008885|MR|Test|E|Lead 8885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008886|108886|989898|1|9999008886|MR|Test|E|Lead 8886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008887|108887|989898|1|9999008887|MR|Test|E|Lead 8887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008888|108888|989898|1|9999008888|MR|Test|E|Lead 8888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008889|108889|989898|1|9999008889|MR|Test|E|Lead 8889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008890|108890|989898|1|9999008890|MR|Test|E|Lead 8890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008891|108891|989898|1|9999008891|MR|Test|E|Lead 8891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008892|108892|989898|1|9999008892|MR|Test|E|Lead 8892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008893|108893|989898|1|9999008893|MR|Test|E|Lead 8893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008894|108894|989898|1|9999008894|MR|Test|E|Lead 8894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008895|108895|989898|1|9999008895|MR|Test|E|Lead 8895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008896|108896|989898|1|9999008896|MR|Test|E|Lead 8896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008897|108897|989898|1|9999008897|MR|Test|E|Lead 8897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008898|108898|989898|1|9999008898|MR|Test|E|Lead 8898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008899|108899|989898|1|9999008899|MR|Test|E|Lead 8899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008900|108900|989898|1|9999008900|MR|Test|E|Lead 8900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008901|108901|989898|1|9999008901|MR|Test|E|Lead 8901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008902|108902|989898|1|9999008902|MR|Test|E|Lead 8902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008903|108903|989898|1|9999008903|MR|Test|E|Lead 8903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008904|108904|989898|1|9999008904|MR|Test|E|Lead 8904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008905|108905|989898|1|9999008905|MR|Test|E|Lead 8905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008906|108906|989898|1|9999008906|MR|Test|E|Lead 8906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008907|108907|989898|1|9999008907|MR|Test|E|Lead 8907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008908|108908|989898|1|9999008908|MR|Test|E|Lead 8908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008909|108909|989898|1|9999008909|MR|Test|E|Lead 8909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008910|108910|989898|1|9999008910|MR|Test|E|Lead 8910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008911|108911|989898|1|9999008911|MR|Test|E|Lead 8911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008912|108912|989898|1|9999008912|MR|Test|E|Lead 8912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008913|108913|989898|1|9999008913|MR|Test|E|Lead 8913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008914|108914|989898|1|9999008914|MR|Test|E|Lead 8914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008915|108915|989898|1|9999008915|MR|Test|E|Lead 8915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008916|108916|989898|1|9999008916|MR|Test|E|Lead 8916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008917|108917|989898|1|9999008917|MR|Test|E|Lead 8917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008918|108918|989898|1|9999008918|MR|Test|E|Lead 8918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008919|108919|989898|1|9999008919|MR|Test|E|Lead 8919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008920|108920|989898|1|9999008920|MR|Test|E|Lead 8920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008921|108921|989898|1|9999008921|MR|Test|E|Lead 8921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008922|108922|989898|1|9999008922|MR|Test|E|Lead 8922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008923|108923|989898|1|9999008923|MR|Test|E|Lead 8923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008924|108924|989898|1|9999008924|MR|Test|E|Lead 8924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008925|108925|989898|1|9999008925|MR|Test|E|Lead 8925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008926|108926|989898|1|9999008926|MR|Test|E|Lead 8926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008927|108927|989898|1|9999008927|MR|Test|E|Lead 8927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008928|108928|989898|1|9999008928|MR|Test|E|Lead 8928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008929|108929|989898|1|9999008929|MR|Test|E|Lead 8929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008930|108930|989898|1|9999008930|MR|Test|E|Lead 8930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008931|108931|989898|1|9999008931|MR|Test|E|Lead 8931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008932|108932|989898|1|9999008932|MR|Test|E|Lead 8932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008933|108933|989898|1|9999008933|MR|Test|E|Lead 8933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008934|108934|989898|1|9999008934|MR|Test|E|Lead 8934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008935|108935|989898|1|9999008935|MR|Test|E|Lead 8935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008936|108936|989898|1|9999008936|MR|Test|E|Lead 8936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008937|108937|989898|1|9999008937|MR|Test|E|Lead 8937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008938|108938|989898|1|9999008938|MR|Test|E|Lead 8938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008939|108939|989898|1|9999008939|MR|Test|E|Lead 8939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008940|108940|989898|1|9999008940|MR|Test|E|Lead 8940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008941|108941|989898|1|9999008941|MR|Test|E|Lead 8941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008942|108942|989898|1|9999008942|MR|Test|E|Lead 8942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008943|108943|989898|1|9999008943|MR|Test|E|Lead 8943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008944|108944|989898|1|9999008944|MR|Test|E|Lead 8944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008945|108945|989898|1|9999008945|MR|Test|E|Lead 8945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008946|108946|989898|1|9999008946|MR|Test|E|Lead 8946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008947|108947|989898|1|9999008947|MR|Test|E|Lead 8947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008948|108948|989898|1|9999008948|MR|Test|E|Lead 8948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008949|108949|989898|1|9999008949|MR|Test|E|Lead 8949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008950|108950|989898|1|9999008950|MR|Test|E|Lead 8950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008951|108951|989898|1|9999008951|MR|Test|E|Lead 8951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008952|108952|989898|1|9999008952|MR|Test|E|Lead 8952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008953|108953|989898|1|9999008953|MR|Test|E|Lead 8953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008954|108954|989898|1|9999008954|MR|Test|E|Lead 8954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008955|108955|989898|1|9999008955|MR|Test|E|Lead 8955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008956|108956|989898|1|9999008956|MR|Test|E|Lead 8956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008957|108957|989898|1|9999008957|MR|Test|E|Lead 8957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008958|108958|989898|1|9999008958|MR|Test|E|Lead 8958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008959|108959|989898|1|9999008959|MR|Test|E|Lead 8959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008960|108960|989898|1|9999008960|MR|Test|E|Lead 8960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008961|108961|989898|1|9999008961|MR|Test|E|Lead 8961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008962|108962|989898|1|9999008962|MR|Test|E|Lead 8962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008963|108963|989898|1|9999008963|MR|Test|E|Lead 8963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008964|108964|989898|1|9999008964|MR|Test|E|Lead 8964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008965|108965|989898|1|9999008965|MR|Test|E|Lead 8965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008966|108966|989898|1|9999008966|MR|Test|E|Lead 8966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008967|108967|989898|1|9999008967|MR|Test|E|Lead 8967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008968|108968|989898|1|9999008968|MR|Test|E|Lead 8968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008969|108969|989898|1|9999008969|MR|Test|E|Lead 8969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008970|108970|989898|1|9999008970|MR|Test|E|Lead 8970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008971|108971|989898|1|9999008971|MR|Test|E|Lead 8971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008972|108972|989898|1|9999008972|MR|Test|E|Lead 8972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008973|108973|989898|1|9999008973|MR|Test|E|Lead 8973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008974|108974|989898|1|9999008974|MR|Test|E|Lead 8974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008975|108975|989898|1|9999008975|MR|Test|E|Lead 8975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008976|108976|989898|1|9999008976|MR|Test|E|Lead 8976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008977|108977|989898|1|9999008977|MR|Test|E|Lead 8977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008978|108978|989898|1|9999008978|MR|Test|E|Lead 8978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008979|108979|989898|1|9999008979|MR|Test|E|Lead 8979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008980|108980|989898|1|9999008980|MR|Test|E|Lead 8980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008981|108981|989898|1|9999008981|MR|Test|E|Lead 8981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008982|108982|989898|1|9999008982|MR|Test|E|Lead 8982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008983|108983|989898|1|9999008983|MR|Test|E|Lead 8983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008984|108984|989898|1|9999008984|MR|Test|E|Lead 8984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008985|108985|989898|1|9999008985|MR|Test|E|Lead 8985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008986|108986|989898|1|9999008986|MR|Test|E|Lead 8986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008987|108987|989898|1|9999008987|MR|Test|E|Lead 8987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008988|108988|989898|1|9999008988|MR|Test|E|Lead 8988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008989|108989|989898|1|9999008989|MR|Test|E|Lead 8989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008990|108990|989898|1|9999008990|MR|Test|E|Lead 8990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008991|108991|989898|1|9999008991|MR|Test|E|Lead 8991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008992|108992|989898|1|9999008992|MR|Test|E|Lead 8992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008993|108993|989898|1|9999008993|MR|Test|E|Lead 8993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008994|108994|989898|1|9999008994|MR|Test|E|Lead 8994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008995|108995|989898|1|9999008995|MR|Test|E|Lead 8995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008996|108996|989898|1|9999008996|MR|Test|E|Lead 8996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008997|108997|989898|1|9999008997|MR|Test|E|Lead 8997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008998|108998|989898|1|9999008998|MR|Test|E|Lead 8998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1008999|108999|989898|1|9999008999|MR|Test|E|Lead 8999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009000|109000|989898|1|9999009000|MR|Test|E|Lead 9000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009001|109001|989898|1|9999009001|MR|Test|E|Lead 9001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009002|109002|989898|1|9999009002|MR|Test|E|Lead 9002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009003|109003|989898|1|9999009003|MR|Test|E|Lead 9003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009004|109004|989898|1|9999009004|MR|Test|E|Lead 9004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009005|109005|989898|1|9999009005|MR|Test|E|Lead 9005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009006|109006|989898|1|9999009006|MR|Test|E|Lead 9006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009007|109007|989898|1|9999009007|MR|Test|E|Lead 9007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009008|109008|989898|1|9999009008|MR|Test|E|Lead 9008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009009|109009|989898|1|9999009009|MR|Test|E|Lead 9009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009010|109010|989898|1|9999009010|MR|Test|E|Lead 9010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009011|109011|989898|1|9999009011|MR|Test|E|Lead 9011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009012|109012|989898|1|9999009012|MR|Test|E|Lead 9012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009013|109013|989898|1|9999009013|MR|Test|E|Lead 9013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009014|109014|989898|1|9999009014|MR|Test|E|Lead 9014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009015|109015|989898|1|9999009015|MR|Test|E|Lead 9015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009016|109016|989898|1|9999009016|MR|Test|E|Lead 9016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009017|109017|989898|1|9999009017|MR|Test|E|Lead 9017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009018|109018|989898|1|9999009018|MR|Test|E|Lead 9018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009019|109019|989898|1|9999009019|MR|Test|E|Lead 9019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009020|109020|989898|1|9999009020|MR|Test|E|Lead 9020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009021|109021|989898|1|9999009021|MR|Test|E|Lead 9021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009022|109022|989898|1|9999009022|MR|Test|E|Lead 9022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009023|109023|989898|1|9999009023|MR|Test|E|Lead 9023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009024|109024|989898|1|9999009024|MR|Test|E|Lead 9024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009025|109025|989898|1|9999009025|MR|Test|E|Lead 9025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009026|109026|989898|1|9999009026|MR|Test|E|Lead 9026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009027|109027|989898|1|9999009027|MR|Test|E|Lead 9027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009028|109028|989898|1|9999009028|MR|Test|E|Lead 9028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009029|109029|989898|1|9999009029|MR|Test|E|Lead 9029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009030|109030|989898|1|9999009030|MR|Test|E|Lead 9030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009031|109031|989898|1|9999009031|MR|Test|E|Lead 9031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009032|109032|989898|1|9999009032|MR|Test|E|Lead 9032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009033|109033|989898|1|9999009033|MR|Test|E|Lead 9033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009034|109034|989898|1|9999009034|MR|Test|E|Lead 9034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009035|109035|989898|1|9999009035|MR|Test|E|Lead 9035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009036|109036|989898|1|9999009036|MR|Test|E|Lead 9036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009037|109037|989898|1|9999009037|MR|Test|E|Lead 9037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009038|109038|989898|1|9999009038|MR|Test|E|Lead 9038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009039|109039|989898|1|9999009039|MR|Test|E|Lead 9039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009040|109040|989898|1|9999009040|MR|Test|E|Lead 9040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009041|109041|989898|1|9999009041|MR|Test|E|Lead 9041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009042|109042|989898|1|9999009042|MR|Test|E|Lead 9042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009043|109043|989898|1|9999009043|MR|Test|E|Lead 9043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009044|109044|989898|1|9999009044|MR|Test|E|Lead 9044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009045|109045|989898|1|9999009045|MR|Test|E|Lead 9045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009046|109046|989898|1|9999009046|MR|Test|E|Lead 9046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009047|109047|989898|1|9999009047|MR|Test|E|Lead 9047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009048|109048|989898|1|9999009048|MR|Test|E|Lead 9048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009049|109049|989898|1|9999009049|MR|Test|E|Lead 9049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009050|109050|989898|1|9999009050|MR|Test|E|Lead 9050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009051|109051|989898|1|9999009051|MR|Test|E|Lead 9051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009052|109052|989898|1|9999009052|MR|Test|E|Lead 9052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009053|109053|989898|1|9999009053|MR|Test|E|Lead 9053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009054|109054|989898|1|9999009054|MR|Test|E|Lead 9054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009055|109055|989898|1|9999009055|MR|Test|E|Lead 9055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009056|109056|989898|1|9999009056|MR|Test|E|Lead 9056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009057|109057|989898|1|9999009057|MR|Test|E|Lead 9057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009058|109058|989898|1|9999009058|MR|Test|E|Lead 9058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009059|109059|989898|1|9999009059|MR|Test|E|Lead 9059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009060|109060|989898|1|9999009060|MR|Test|E|Lead 9060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009061|109061|989898|1|9999009061|MR|Test|E|Lead 9061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009062|109062|989898|1|9999009062|MR|Test|E|Lead 9062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009063|109063|989898|1|9999009063|MR|Test|E|Lead 9063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009064|109064|989898|1|9999009064|MR|Test|E|Lead 9064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009065|109065|989898|1|9999009065|MR|Test|E|Lead 9065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009066|109066|989898|1|9999009066|MR|Test|E|Lead 9066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009067|109067|989898|1|9999009067|MR|Test|E|Lead 9067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009068|109068|989898|1|9999009068|MR|Test|E|Lead 9068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009069|109069|989898|1|9999009069|MR|Test|E|Lead 9069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009070|109070|989898|1|9999009070|MR|Test|E|Lead 9070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009071|109071|989898|1|9999009071|MR|Test|E|Lead 9071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009072|109072|989898|1|9999009072|MR|Test|E|Lead 9072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009073|109073|989898|1|9999009073|MR|Test|E|Lead 9073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009074|109074|989898|1|9999009074|MR|Test|E|Lead 9074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009075|109075|989898|1|9999009075|MR|Test|E|Lead 9075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009076|109076|989898|1|9999009076|MR|Test|E|Lead 9076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009077|109077|989898|1|9999009077|MR|Test|E|Lead 9077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009078|109078|989898|1|9999009078|MR|Test|E|Lead 9078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009079|109079|989898|1|9999009079|MR|Test|E|Lead 9079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009080|109080|989898|1|9999009080|MR|Test|E|Lead 9080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009081|109081|989898|1|9999009081|MR|Test|E|Lead 9081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009082|109082|989898|1|9999009082|MR|Test|E|Lead 9082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009083|109083|989898|1|9999009083|MR|Test|E|Lead 9083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009084|109084|989898|1|9999009084|MR|Test|E|Lead 9084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009085|109085|989898|1|9999009085|MR|Test|E|Lead 9085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009086|109086|989898|1|9999009086|MR|Test|E|Lead 9086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009087|109087|989898|1|9999009087|MR|Test|E|Lead 9087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009088|109088|989898|1|9999009088|MR|Test|E|Lead 9088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009089|109089|989898|1|9999009089|MR|Test|E|Lead 9089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009090|109090|989898|1|9999009090|MR|Test|E|Lead 9090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009091|109091|989898|1|9999009091|MR|Test|E|Lead 9091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009092|109092|989898|1|9999009092|MR|Test|E|Lead 9092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009093|109093|989898|1|9999009093|MR|Test|E|Lead 9093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009094|109094|989898|1|9999009094|MR|Test|E|Lead 9094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009095|109095|989898|1|9999009095|MR|Test|E|Lead 9095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009096|109096|989898|1|9999009096|MR|Test|E|Lead 9096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009097|109097|989898|1|9999009097|MR|Test|E|Lead 9097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009098|109098|989898|1|9999009098|MR|Test|E|Lead 9098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009099|109099|989898|1|9999009099|MR|Test|E|Lead 9099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009100|109100|989898|1|9999009100|MR|Test|E|Lead 9100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009101|109101|989898|1|9999009101|MR|Test|E|Lead 9101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009102|109102|989898|1|9999009102|MR|Test|E|Lead 9102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009103|109103|989898|1|9999009103|MR|Test|E|Lead 9103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009104|109104|989898|1|9999009104|MR|Test|E|Lead 9104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009105|109105|989898|1|9999009105|MR|Test|E|Lead 9105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009106|109106|989898|1|9999009106|MR|Test|E|Lead 9106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009107|109107|989898|1|9999009107|MR|Test|E|Lead 9107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009108|109108|989898|1|9999009108|MR|Test|E|Lead 9108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009109|109109|989898|1|9999009109|MR|Test|E|Lead 9109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009110|109110|989898|1|9999009110|MR|Test|E|Lead 9110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009111|109111|989898|1|9999009111|MR|Test|E|Lead 9111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009112|109112|989898|1|9999009112|MR|Test|E|Lead 9112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009113|109113|989898|1|9999009113|MR|Test|E|Lead 9113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009114|109114|989898|1|9999009114|MR|Test|E|Lead 9114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009115|109115|989898|1|9999009115|MR|Test|E|Lead 9115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009116|109116|989898|1|9999009116|MR|Test|E|Lead 9116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009117|109117|989898|1|9999009117|MR|Test|E|Lead 9117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009118|109118|989898|1|9999009118|MR|Test|E|Lead 9118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009119|109119|989898|1|9999009119|MR|Test|E|Lead 9119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009120|109120|989898|1|9999009120|MR|Test|E|Lead 9120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009121|109121|989898|1|9999009121|MR|Test|E|Lead 9121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009122|109122|989898|1|9999009122|MR|Test|E|Lead 9122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009123|109123|989898|1|9999009123|MR|Test|E|Lead 9123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009124|109124|989898|1|9999009124|MR|Test|E|Lead 9124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009125|109125|989898|1|9999009125|MR|Test|E|Lead 9125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009126|109126|989898|1|9999009126|MR|Test|E|Lead 9126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009127|109127|989898|1|9999009127|MR|Test|E|Lead 9127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009128|109128|989898|1|9999009128|MR|Test|E|Lead 9128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009129|109129|989898|1|9999009129|MR|Test|E|Lead 9129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009130|109130|989898|1|9999009130|MR|Test|E|Lead 9130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009131|109131|989898|1|9999009131|MR|Test|E|Lead 9131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009132|109132|989898|1|9999009132|MR|Test|E|Lead 9132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009133|109133|989898|1|9999009133|MR|Test|E|Lead 9133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009134|109134|989898|1|9999009134|MR|Test|E|Lead 9134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009135|109135|989898|1|9999009135|MR|Test|E|Lead 9135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009136|109136|989898|1|9999009136|MR|Test|E|Lead 9136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009137|109137|989898|1|9999009137|MR|Test|E|Lead 9137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009138|109138|989898|1|9999009138|MR|Test|E|Lead 9138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009139|109139|989898|1|9999009139|MR|Test|E|Lead 9139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009140|109140|989898|1|9999009140|MR|Test|E|Lead 9140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009141|109141|989898|1|9999009141|MR|Test|E|Lead 9141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009142|109142|989898|1|9999009142|MR|Test|E|Lead 9142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009143|109143|989898|1|9999009143|MR|Test|E|Lead 9143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009144|109144|989898|1|9999009144|MR|Test|E|Lead 9144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009145|109145|989898|1|9999009145|MR|Test|E|Lead 9145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009146|109146|989898|1|9999009146|MR|Test|E|Lead 9146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009147|109147|989898|1|9999009147|MR|Test|E|Lead 9147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009148|109148|989898|1|9999009148|MR|Test|E|Lead 9148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009149|109149|989898|1|9999009149|MR|Test|E|Lead 9149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009150|109150|989898|1|9999009150|MR|Test|E|Lead 9150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009151|109151|989898|1|9999009151|MR|Test|E|Lead 9151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009152|109152|989898|1|9999009152|MR|Test|E|Lead 9152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009153|109153|989898|1|9999009153|MR|Test|E|Lead 9153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009154|109154|989898|1|9999009154|MR|Test|E|Lead 9154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009155|109155|989898|1|9999009155|MR|Test|E|Lead 9155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009156|109156|989898|1|9999009156|MR|Test|E|Lead 9156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009157|109157|989898|1|9999009157|MR|Test|E|Lead 9157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009158|109158|989898|1|9999009158|MR|Test|E|Lead 9158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009159|109159|989898|1|9999009159|MR|Test|E|Lead 9159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009160|109160|989898|1|9999009160|MR|Test|E|Lead 9160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009161|109161|989898|1|9999009161|MR|Test|E|Lead 9161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009162|109162|989898|1|9999009162|MR|Test|E|Lead 9162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009163|109163|989898|1|9999009163|MR|Test|E|Lead 9163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009164|109164|989898|1|9999009164|MR|Test|E|Lead 9164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009165|109165|989898|1|9999009165|MR|Test|E|Lead 9165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009166|109166|989898|1|9999009166|MR|Test|E|Lead 9166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009167|109167|989898|1|9999009167|MR|Test|E|Lead 9167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009168|109168|989898|1|9999009168|MR|Test|E|Lead 9168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009169|109169|989898|1|9999009169|MR|Test|E|Lead 9169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009170|109170|989898|1|9999009170|MR|Test|E|Lead 9170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009171|109171|989898|1|9999009171|MR|Test|E|Lead 9171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009172|109172|989898|1|9999009172|MR|Test|E|Lead 9172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009173|109173|989898|1|9999009173|MR|Test|E|Lead 9173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009174|109174|989898|1|9999009174|MR|Test|E|Lead 9174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009175|109175|989898|1|9999009175|MR|Test|E|Lead 9175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009176|109176|989898|1|9999009176|MR|Test|E|Lead 9176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009177|109177|989898|1|9999009177|MR|Test|E|Lead 9177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009178|109178|989898|1|9999009178|MR|Test|E|Lead 9178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009179|109179|989898|1|9999009179|MR|Test|E|Lead 9179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009180|109180|989898|1|9999009180|MR|Test|E|Lead 9180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009181|109181|989898|1|9999009181|MR|Test|E|Lead 9181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009182|109182|989898|1|9999009182|MR|Test|E|Lead 9182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009183|109183|989898|1|9999009183|MR|Test|E|Lead 9183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009184|109184|989898|1|9999009184|MR|Test|E|Lead 9184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009185|109185|989898|1|9999009185|MR|Test|E|Lead 9185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009186|109186|989898|1|9999009186|MR|Test|E|Lead 9186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009187|109187|989898|1|9999009187|MR|Test|E|Lead 9187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009188|109188|989898|1|9999009188|MR|Test|E|Lead 9188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009189|109189|989898|1|9999009189|MR|Test|E|Lead 9189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009190|109190|989898|1|9999009190|MR|Test|E|Lead 9190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009191|109191|989898|1|9999009191|MR|Test|E|Lead 9191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009192|109192|989898|1|9999009192|MR|Test|E|Lead 9192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009193|109193|989898|1|9999009193|MR|Test|E|Lead 9193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009194|109194|989898|1|9999009194|MR|Test|E|Lead 9194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009195|109195|989898|1|9999009195|MR|Test|E|Lead 9195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009196|109196|989898|1|9999009196|MR|Test|E|Lead 9196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009197|109197|989898|1|9999009197|MR|Test|E|Lead 9197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009198|109198|989898|1|9999009198|MR|Test|E|Lead 9198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009199|109199|989898|1|9999009199|MR|Test|E|Lead 9199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009200|109200|989898|1|9999009200|MR|Test|E|Lead 9200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009201|109201|989898|1|9999009201|MR|Test|E|Lead 9201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009202|109202|989898|1|9999009202|MR|Test|E|Lead 9202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009203|109203|989898|1|9999009203|MR|Test|E|Lead 9203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009204|109204|989898|1|9999009204|MR|Test|E|Lead 9204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009205|109205|989898|1|9999009205|MR|Test|E|Lead 9205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009206|109206|989898|1|9999009206|MR|Test|E|Lead 9206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009207|109207|989898|1|9999009207|MR|Test|E|Lead 9207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009208|109208|989898|1|9999009208|MR|Test|E|Lead 9208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009209|109209|989898|1|9999009209|MR|Test|E|Lead 9209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009210|109210|989898|1|9999009210|MR|Test|E|Lead 9210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009211|109211|989898|1|9999009211|MR|Test|E|Lead 9211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009212|109212|989898|1|9999009212|MR|Test|E|Lead 9212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009213|109213|989898|1|9999009213|MR|Test|E|Lead 9213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009214|109214|989898|1|9999009214|MR|Test|E|Lead 9214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009215|109215|989898|1|9999009215|MR|Test|E|Lead 9215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009216|109216|989898|1|9999009216|MR|Test|E|Lead 9216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009217|109217|989898|1|9999009217|MR|Test|E|Lead 9217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009218|109218|989898|1|9999009218|MR|Test|E|Lead 9218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009219|109219|989898|1|9999009219|MR|Test|E|Lead 9219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009220|109220|989898|1|9999009220|MR|Test|E|Lead 9220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009221|109221|989898|1|9999009221|MR|Test|E|Lead 9221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009222|109222|989898|1|9999009222|MR|Test|E|Lead 9222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009223|109223|989898|1|9999009223|MR|Test|E|Lead 9223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009224|109224|989898|1|9999009224|MR|Test|E|Lead 9224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009225|109225|989898|1|9999009225|MR|Test|E|Lead 9225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009226|109226|989898|1|9999009226|MR|Test|E|Lead 9226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009227|109227|989898|1|9999009227|MR|Test|E|Lead 9227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009228|109228|989898|1|9999009228|MR|Test|E|Lead 9228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009229|109229|989898|1|9999009229|MR|Test|E|Lead 9229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009230|109230|989898|1|9999009230|MR|Test|E|Lead 9230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009231|109231|989898|1|9999009231|MR|Test|E|Lead 9231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009232|109232|989898|1|9999009232|MR|Test|E|Lead 9232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009233|109233|989898|1|9999009233|MR|Test|E|Lead 9233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009234|109234|989898|1|9999009234|MR|Test|E|Lead 9234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009235|109235|989898|1|9999009235|MR|Test|E|Lead 9235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009236|109236|989898|1|9999009236|MR|Test|E|Lead 9236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009237|109237|989898|1|9999009237|MR|Test|E|Lead 9237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009238|109238|989898|1|9999009238|MR|Test|E|Lead 9238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009239|109239|989898|1|9999009239|MR|Test|E|Lead 9239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009240|109240|989898|1|9999009240|MR|Test|E|Lead 9240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009241|109241|989898|1|9999009241|MR|Test|E|Lead 9241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009242|109242|989898|1|9999009242|MR|Test|E|Lead 9242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009243|109243|989898|1|9999009243|MR|Test|E|Lead 9243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009244|109244|989898|1|9999009244|MR|Test|E|Lead 9244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009245|109245|989898|1|9999009245|MR|Test|E|Lead 9245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009246|109246|989898|1|9999009246|MR|Test|E|Lead 9246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009247|109247|989898|1|9999009247|MR|Test|E|Lead 9247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009248|109248|989898|1|9999009248|MR|Test|E|Lead 9248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009249|109249|989898|1|9999009249|MR|Test|E|Lead 9249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009250|109250|989898|1|9999009250|MR|Test|E|Lead 9250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009251|109251|989898|1|9999009251|MR|Test|E|Lead 9251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009252|109252|989898|1|9999009252|MR|Test|E|Lead 9252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009253|109253|989898|1|9999009253|MR|Test|E|Lead 9253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009254|109254|989898|1|9999009254|MR|Test|E|Lead 9254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009255|109255|989898|1|9999009255|MR|Test|E|Lead 9255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009256|109256|989898|1|9999009256|MR|Test|E|Lead 9256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009257|109257|989898|1|9999009257|MR|Test|E|Lead 9257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009258|109258|989898|1|9999009258|MR|Test|E|Lead 9258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009259|109259|989898|1|9999009259|MR|Test|E|Lead 9259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009260|109260|989898|1|9999009260|MR|Test|E|Lead 9260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009261|109261|989898|1|9999009261|MR|Test|E|Lead 9261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009262|109262|989898|1|9999009262|MR|Test|E|Lead 9262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009263|109263|989898|1|9999009263|MR|Test|E|Lead 9263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009264|109264|989898|1|9999009264|MR|Test|E|Lead 9264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009265|109265|989898|1|9999009265|MR|Test|E|Lead 9265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009266|109266|989898|1|9999009266|MR|Test|E|Lead 9266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009267|109267|989898|1|9999009267|MR|Test|E|Lead 9267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009268|109268|989898|1|9999009268|MR|Test|E|Lead 9268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009269|109269|989898|1|9999009269|MR|Test|E|Lead 9269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009270|109270|989898|1|9999009270|MR|Test|E|Lead 9270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009271|109271|989898|1|9999009271|MR|Test|E|Lead 9271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009272|109272|989898|1|9999009272|MR|Test|E|Lead 9272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009273|109273|989898|1|9999009273|MR|Test|E|Lead 9273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009274|109274|989898|1|9999009274|MR|Test|E|Lead 9274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009275|109275|989898|1|9999009275|MR|Test|E|Lead 9275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009276|109276|989898|1|9999009276|MR|Test|E|Lead 9276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009277|109277|989898|1|9999009277|MR|Test|E|Lead 9277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009278|109278|989898|1|9999009278|MR|Test|E|Lead 9278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009279|109279|989898|1|9999009279|MR|Test|E|Lead 9279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009280|109280|989898|1|9999009280|MR|Test|E|Lead 9280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009281|109281|989898|1|9999009281|MR|Test|E|Lead 9281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009282|109282|989898|1|9999009282|MR|Test|E|Lead 9282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009283|109283|989898|1|9999009283|MR|Test|E|Lead 9283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009284|109284|989898|1|9999009284|MR|Test|E|Lead 9284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009285|109285|989898|1|9999009285|MR|Test|E|Lead 9285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009286|109286|989898|1|9999009286|MR|Test|E|Lead 9286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009287|109287|989898|1|9999009287|MR|Test|E|Lead 9287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009288|109288|989898|1|9999009288|MR|Test|E|Lead 9288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009289|109289|989898|1|9999009289|MR|Test|E|Lead 9289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009290|109290|989898|1|9999009290|MR|Test|E|Lead 9290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009291|109291|989898|1|9999009291|MR|Test|E|Lead 9291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009292|109292|989898|1|9999009292|MR|Test|E|Lead 9292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009293|109293|989898|1|9999009293|MR|Test|E|Lead 9293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009294|109294|989898|1|9999009294|MR|Test|E|Lead 9294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009295|109295|989898|1|9999009295|MR|Test|E|Lead 9295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009296|109296|989898|1|9999009296|MR|Test|E|Lead 9296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009297|109297|989898|1|9999009297|MR|Test|E|Lead 9297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009298|109298|989898|1|9999009298|MR|Test|E|Lead 9298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009299|109299|989898|1|9999009299|MR|Test|E|Lead 9299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009300|109300|989898|1|9999009300|MR|Test|E|Lead 9300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009301|109301|989898|1|9999009301|MR|Test|E|Lead 9301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009302|109302|989898|1|9999009302|MR|Test|E|Lead 9302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009303|109303|989898|1|9999009303|MR|Test|E|Lead 9303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009304|109304|989898|1|9999009304|MR|Test|E|Lead 9304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009305|109305|989898|1|9999009305|MR|Test|E|Lead 9305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009306|109306|989898|1|9999009306|MR|Test|E|Lead 9306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009307|109307|989898|1|9999009307|MR|Test|E|Lead 9307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009308|109308|989898|1|9999009308|MR|Test|E|Lead 9308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009309|109309|989898|1|9999009309|MR|Test|E|Lead 9309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009310|109310|989898|1|9999009310|MR|Test|E|Lead 9310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009311|109311|989898|1|9999009311|MR|Test|E|Lead 9311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009312|109312|989898|1|9999009312|MR|Test|E|Lead 9312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009313|109313|989898|1|9999009313|MR|Test|E|Lead 9313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009314|109314|989898|1|9999009314|MR|Test|E|Lead 9314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009315|109315|989898|1|9999009315|MR|Test|E|Lead 9315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009316|109316|989898|1|9999009316|MR|Test|E|Lead 9316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009317|109317|989898|1|9999009317|MR|Test|E|Lead 9317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009318|109318|989898|1|9999009318|MR|Test|E|Lead 9318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009319|109319|989898|1|9999009319|MR|Test|E|Lead 9319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009320|109320|989898|1|9999009320|MR|Test|E|Lead 9320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009321|109321|989898|1|9999009321|MR|Test|E|Lead 9321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009322|109322|989898|1|9999009322|MR|Test|E|Lead 9322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009323|109323|989898|1|9999009323|MR|Test|E|Lead 9323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009324|109324|989898|1|9999009324|MR|Test|E|Lead 9324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009325|109325|989898|1|9999009325|MR|Test|E|Lead 9325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009326|109326|989898|1|9999009326|MR|Test|E|Lead 9326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009327|109327|989898|1|9999009327|MR|Test|E|Lead 9327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009328|109328|989898|1|9999009328|MR|Test|E|Lead 9328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009329|109329|989898|1|9999009329|MR|Test|E|Lead 9329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009330|109330|989898|1|9999009330|MR|Test|E|Lead 9330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009331|109331|989898|1|9999009331|MR|Test|E|Lead 9331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009332|109332|989898|1|9999009332|MR|Test|E|Lead 9332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009333|109333|989898|1|9999009333|MR|Test|E|Lead 9333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009334|109334|989898|1|9999009334|MR|Test|E|Lead 9334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009335|109335|989898|1|9999009335|MR|Test|E|Lead 9335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009336|109336|989898|1|9999009336|MR|Test|E|Lead 9336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009337|109337|989898|1|9999009337|MR|Test|E|Lead 9337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009338|109338|989898|1|9999009338|MR|Test|E|Lead 9338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009339|109339|989898|1|9999009339|MR|Test|E|Lead 9339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009340|109340|989898|1|9999009340|MR|Test|E|Lead 9340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009341|109341|989898|1|9999009341|MR|Test|E|Lead 9341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009342|109342|989898|1|9999009342|MR|Test|E|Lead 9342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009343|109343|989898|1|9999009343|MR|Test|E|Lead 9343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009344|109344|989898|1|9999009344|MR|Test|E|Lead 9344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009345|109345|989898|1|9999009345|MR|Test|E|Lead 9345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009346|109346|989898|1|9999009346|MR|Test|E|Lead 9346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009347|109347|989898|1|9999009347|MR|Test|E|Lead 9347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009348|109348|989898|1|9999009348|MR|Test|E|Lead 9348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009349|109349|989898|1|9999009349|MR|Test|E|Lead 9349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009350|109350|989898|1|9999009350|MR|Test|E|Lead 9350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009351|109351|989898|1|9999009351|MR|Test|E|Lead 9351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009352|109352|989898|1|9999009352|MR|Test|E|Lead 9352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009353|109353|989898|1|9999009353|MR|Test|E|Lead 9353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009354|109354|989898|1|9999009354|MR|Test|E|Lead 9354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009355|109355|989898|1|9999009355|MR|Test|E|Lead 9355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009356|109356|989898|1|9999009356|MR|Test|E|Lead 9356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009357|109357|989898|1|9999009357|MR|Test|E|Lead 9357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009358|109358|989898|1|9999009358|MR|Test|E|Lead 9358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009359|109359|989898|1|9999009359|MR|Test|E|Lead 9359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009360|109360|989898|1|9999009360|MR|Test|E|Lead 9360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009361|109361|989898|1|9999009361|MR|Test|E|Lead 9361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009362|109362|989898|1|9999009362|MR|Test|E|Lead 9362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009363|109363|989898|1|9999009363|MR|Test|E|Lead 9363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009364|109364|989898|1|9999009364|MR|Test|E|Lead 9364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009365|109365|989898|1|9999009365|MR|Test|E|Lead 9365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009366|109366|989898|1|9999009366|MR|Test|E|Lead 9366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009367|109367|989898|1|9999009367|MR|Test|E|Lead 9367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009368|109368|989898|1|9999009368|MR|Test|E|Lead 9368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009369|109369|989898|1|9999009369|MR|Test|E|Lead 9369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009370|109370|989898|1|9999009370|MR|Test|E|Lead 9370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009371|109371|989898|1|9999009371|MR|Test|E|Lead 9371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009372|109372|989898|1|9999009372|MR|Test|E|Lead 9372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009373|109373|989898|1|9999009373|MR|Test|E|Lead 9373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009374|109374|989898|1|9999009374|MR|Test|E|Lead 9374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009375|109375|989898|1|9999009375|MR|Test|E|Lead 9375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009376|109376|989898|1|9999009376|MR|Test|E|Lead 9376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009377|109377|989898|1|9999009377|MR|Test|E|Lead 9377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009378|109378|989898|1|9999009378|MR|Test|E|Lead 9378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009379|109379|989898|1|9999009379|MR|Test|E|Lead 9379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009380|109380|989898|1|9999009380|MR|Test|E|Lead 9380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009381|109381|989898|1|9999009381|MR|Test|E|Lead 9381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009382|109382|989898|1|9999009382|MR|Test|E|Lead 9382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009383|109383|989898|1|9999009383|MR|Test|E|Lead 9383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009384|109384|989898|1|9999009384|MR|Test|E|Lead 9384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009385|109385|989898|1|9999009385|MR|Test|E|Lead 9385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009386|109386|989898|1|9999009386|MR|Test|E|Lead 9386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009387|109387|989898|1|9999009387|MR|Test|E|Lead 9387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009388|109388|989898|1|9999009388|MR|Test|E|Lead 9388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009389|109389|989898|1|9999009389|MR|Test|E|Lead 9389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009390|109390|989898|1|9999009390|MR|Test|E|Lead 9390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009391|109391|989898|1|9999009391|MR|Test|E|Lead 9391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009392|109392|989898|1|9999009392|MR|Test|E|Lead 9392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009393|109393|989898|1|9999009393|MR|Test|E|Lead 9393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009394|109394|989898|1|9999009394|MR|Test|E|Lead 9394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009395|109395|989898|1|9999009395|MR|Test|E|Lead 9395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009396|109396|989898|1|9999009396|MR|Test|E|Lead 9396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009397|109397|989898|1|9999009397|MR|Test|E|Lead 9397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009398|109398|989898|1|9999009398|MR|Test|E|Lead 9398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009399|109399|989898|1|9999009399|MR|Test|E|Lead 9399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009400|109400|989898|1|9999009400|MR|Test|E|Lead 9400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009401|109401|989898|1|9999009401|MR|Test|E|Lead 9401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009402|109402|989898|1|9999009402|MR|Test|E|Lead 9402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009403|109403|989898|1|9999009403|MR|Test|E|Lead 9403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009404|109404|989898|1|9999009404|MR|Test|E|Lead 9404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009405|109405|989898|1|9999009405|MR|Test|E|Lead 9405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009406|109406|989898|1|9999009406|MR|Test|E|Lead 9406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009407|109407|989898|1|9999009407|MR|Test|E|Lead 9407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009408|109408|989898|1|9999009408|MR|Test|E|Lead 9408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009409|109409|989898|1|9999009409|MR|Test|E|Lead 9409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009410|109410|989898|1|9999009410|MR|Test|E|Lead 9410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009411|109411|989898|1|9999009411|MR|Test|E|Lead 9411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009412|109412|989898|1|9999009412|MR|Test|E|Lead 9412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009413|109413|989898|1|9999009413|MR|Test|E|Lead 9413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009414|109414|989898|1|9999009414|MR|Test|E|Lead 9414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009415|109415|989898|1|9999009415|MR|Test|E|Lead 9415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009416|109416|989898|1|9999009416|MR|Test|E|Lead 9416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009417|109417|989898|1|9999009417|MR|Test|E|Lead 9417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009418|109418|989898|1|9999009418|MR|Test|E|Lead 9418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009419|109419|989898|1|9999009419|MR|Test|E|Lead 9419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009420|109420|989898|1|9999009420|MR|Test|E|Lead 9420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009421|109421|989898|1|9999009421|MR|Test|E|Lead 9421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009422|109422|989898|1|9999009422|MR|Test|E|Lead 9422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009423|109423|989898|1|9999009423|MR|Test|E|Lead 9423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009424|109424|989898|1|9999009424|MR|Test|E|Lead 9424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009425|109425|989898|1|9999009425|MR|Test|E|Lead 9425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009426|109426|989898|1|9999009426|MR|Test|E|Lead 9426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009427|109427|989898|1|9999009427|MR|Test|E|Lead 9427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009428|109428|989898|1|9999009428|MR|Test|E|Lead 9428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009429|109429|989898|1|9999009429|MR|Test|E|Lead 9429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009430|109430|989898|1|9999009430|MR|Test|E|Lead 9430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009431|109431|989898|1|9999009431|MR|Test|E|Lead 9431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009432|109432|989898|1|9999009432|MR|Test|E|Lead 9432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009433|109433|989898|1|9999009433|MR|Test|E|Lead 9433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009434|109434|989898|1|9999009434|MR|Test|E|Lead 9434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009435|109435|989898|1|9999009435|MR|Test|E|Lead 9435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009436|109436|989898|1|9999009436|MR|Test|E|Lead 9436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009437|109437|989898|1|9999009437|MR|Test|E|Lead 9437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009438|109438|989898|1|9999009438|MR|Test|E|Lead 9438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009439|109439|989898|1|9999009439|MR|Test|E|Lead 9439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009440|109440|989898|1|9999009440|MR|Test|E|Lead 9440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009441|109441|989898|1|9999009441|MR|Test|E|Lead 9441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009442|109442|989898|1|9999009442|MR|Test|E|Lead 9442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009443|109443|989898|1|9999009443|MR|Test|E|Lead 9443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009444|109444|989898|1|9999009444|MR|Test|E|Lead 9444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009445|109445|989898|1|9999009445|MR|Test|E|Lead 9445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009446|109446|989898|1|9999009446|MR|Test|E|Lead 9446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009447|109447|989898|1|9999009447|MR|Test|E|Lead 9447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009448|109448|989898|1|9999009448|MR|Test|E|Lead 9448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009449|109449|989898|1|9999009449|MR|Test|E|Lead 9449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009450|109450|989898|1|9999009450|MR|Test|E|Lead 9450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009451|109451|989898|1|9999009451|MR|Test|E|Lead 9451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009452|109452|989898|1|9999009452|MR|Test|E|Lead 9452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009453|109453|989898|1|9999009453|MR|Test|E|Lead 9453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009454|109454|989898|1|9999009454|MR|Test|E|Lead 9454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009455|109455|989898|1|9999009455|MR|Test|E|Lead 9455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009456|109456|989898|1|9999009456|MR|Test|E|Lead 9456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009457|109457|989898|1|9999009457|MR|Test|E|Lead 9457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009458|109458|989898|1|9999009458|MR|Test|E|Lead 9458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009459|109459|989898|1|9999009459|MR|Test|E|Lead 9459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009460|109460|989898|1|9999009460|MR|Test|E|Lead 9460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009461|109461|989898|1|9999009461|MR|Test|E|Lead 9461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009462|109462|989898|1|9999009462|MR|Test|E|Lead 9462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009463|109463|989898|1|9999009463|MR|Test|E|Lead 9463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009464|109464|989898|1|9999009464|MR|Test|E|Lead 9464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009465|109465|989898|1|9999009465|MR|Test|E|Lead 9465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009466|109466|989898|1|9999009466|MR|Test|E|Lead 9466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009467|109467|989898|1|9999009467|MR|Test|E|Lead 9467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009468|109468|989898|1|9999009468|MR|Test|E|Lead 9468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009469|109469|989898|1|9999009469|MR|Test|E|Lead 9469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009470|109470|989898|1|9999009470|MR|Test|E|Lead 9470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009471|109471|989898|1|9999009471|MR|Test|E|Lead 9471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009472|109472|989898|1|9999009472|MR|Test|E|Lead 9472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009473|109473|989898|1|9999009473|MR|Test|E|Lead 9473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009474|109474|989898|1|9999009474|MR|Test|E|Lead 9474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009475|109475|989898|1|9999009475|MR|Test|E|Lead 9475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009476|109476|989898|1|9999009476|MR|Test|E|Lead 9476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009477|109477|989898|1|9999009477|MR|Test|E|Lead 9477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009478|109478|989898|1|9999009478|MR|Test|E|Lead 9478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009479|109479|989898|1|9999009479|MR|Test|E|Lead 9479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009480|109480|989898|1|9999009480|MR|Test|E|Lead 9480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009481|109481|989898|1|9999009481|MR|Test|E|Lead 9481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009482|109482|989898|1|9999009482|MR|Test|E|Lead 9482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009483|109483|989898|1|9999009483|MR|Test|E|Lead 9483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009484|109484|989898|1|9999009484|MR|Test|E|Lead 9484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009485|109485|989898|1|9999009485|MR|Test|E|Lead 9485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009486|109486|989898|1|9999009486|MR|Test|E|Lead 9486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009487|109487|989898|1|9999009487|MR|Test|E|Lead 9487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009488|109488|989898|1|9999009488|MR|Test|E|Lead 9488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009489|109489|989898|1|9999009489|MR|Test|E|Lead 9489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009490|109490|989898|1|9999009490|MR|Test|E|Lead 9490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009491|109491|989898|1|9999009491|MR|Test|E|Lead 9491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009492|109492|989898|1|9999009492|MR|Test|E|Lead 9492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009493|109493|989898|1|9999009493|MR|Test|E|Lead 9493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009494|109494|989898|1|9999009494|MR|Test|E|Lead 9494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009495|109495|989898|1|9999009495|MR|Test|E|Lead 9495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009496|109496|989898|1|9999009496|MR|Test|E|Lead 9496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009497|109497|989898|1|9999009497|MR|Test|E|Lead 9497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009498|109498|989898|1|9999009498|MR|Test|E|Lead 9498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009499|109499|989898|1|9999009499|MR|Test|E|Lead 9499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009500|109500|989898|1|9999009500|MR|Test|E|Lead 9500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009501|109501|989898|1|9999009501|MR|Test|E|Lead 9501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009502|109502|989898|1|9999009502|MR|Test|E|Lead 9502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009503|109503|989898|1|9999009503|MR|Test|E|Lead 9503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009504|109504|989898|1|9999009504|MR|Test|E|Lead 9504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009505|109505|989898|1|9999009505|MR|Test|E|Lead 9505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009506|109506|989898|1|9999009506|MR|Test|E|Lead 9506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009507|109507|989898|1|9999009507|MR|Test|E|Lead 9507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009508|109508|989898|1|9999009508|MR|Test|E|Lead 9508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009509|109509|989898|1|9999009509|MR|Test|E|Lead 9509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009510|109510|989898|1|9999009510|MR|Test|E|Lead 9510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009511|109511|989898|1|9999009511|MR|Test|E|Lead 9511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009512|109512|989898|1|9999009512|MR|Test|E|Lead 9512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009513|109513|989898|1|9999009513|MR|Test|E|Lead 9513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009514|109514|989898|1|9999009514|MR|Test|E|Lead 9514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009515|109515|989898|1|9999009515|MR|Test|E|Lead 9515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009516|109516|989898|1|9999009516|MR|Test|E|Lead 9516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009517|109517|989898|1|9999009517|MR|Test|E|Lead 9517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009518|109518|989898|1|9999009518|MR|Test|E|Lead 9518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009519|109519|989898|1|9999009519|MR|Test|E|Lead 9519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009520|109520|989898|1|9999009520|MR|Test|E|Lead 9520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009521|109521|989898|1|9999009521|MR|Test|E|Lead 9521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009522|109522|989898|1|9999009522|MR|Test|E|Lead 9522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009523|109523|989898|1|9999009523|MR|Test|E|Lead 9523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009524|109524|989898|1|9999009524|MR|Test|E|Lead 9524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009525|109525|989898|1|9999009525|MR|Test|E|Lead 9525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009526|109526|989898|1|9999009526|MR|Test|E|Lead 9526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009527|109527|989898|1|9999009527|MR|Test|E|Lead 9527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009528|109528|989898|1|9999009528|MR|Test|E|Lead 9528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009529|109529|989898|1|9999009529|MR|Test|E|Lead 9529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009530|109530|989898|1|9999009530|MR|Test|E|Lead 9530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009531|109531|989898|1|9999009531|MR|Test|E|Lead 9531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009532|109532|989898|1|9999009532|MR|Test|E|Lead 9532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009533|109533|989898|1|9999009533|MR|Test|E|Lead 9533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009534|109534|989898|1|9999009534|MR|Test|E|Lead 9534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009535|109535|989898|1|9999009535|MR|Test|E|Lead 9535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009536|109536|989898|1|9999009536|MR|Test|E|Lead 9536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009537|109537|989898|1|9999009537|MR|Test|E|Lead 9537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009538|109538|989898|1|9999009538|MR|Test|E|Lead 9538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009539|109539|989898|1|9999009539|MR|Test|E|Lead 9539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009540|109540|989898|1|9999009540|MR|Test|E|Lead 9540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009541|109541|989898|1|9999009541|MR|Test|E|Lead 9541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009542|109542|989898|1|9999009542|MR|Test|E|Lead 9542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009543|109543|989898|1|9999009543|MR|Test|E|Lead 9543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009544|109544|989898|1|9999009544|MR|Test|E|Lead 9544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009545|109545|989898|1|9999009545|MR|Test|E|Lead 9545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009546|109546|989898|1|9999009546|MR|Test|E|Lead 9546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009547|109547|989898|1|9999009547|MR|Test|E|Lead 9547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009548|109548|989898|1|9999009548|MR|Test|E|Lead 9548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009549|109549|989898|1|9999009549|MR|Test|E|Lead 9549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009550|109550|989898|1|9999009550|MR|Test|E|Lead 9550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009551|109551|989898|1|9999009551|MR|Test|E|Lead 9551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009552|109552|989898|1|9999009552|MR|Test|E|Lead 9552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009553|109553|989898|1|9999009553|MR|Test|E|Lead 9553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009554|109554|989898|1|9999009554|MR|Test|E|Lead 9554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009555|109555|989898|1|9999009555|MR|Test|E|Lead 9555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009556|109556|989898|1|9999009556|MR|Test|E|Lead 9556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009557|109557|989898|1|9999009557|MR|Test|E|Lead 9557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009558|109558|989898|1|9999009558|MR|Test|E|Lead 9558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009559|109559|989898|1|9999009559|MR|Test|E|Lead 9559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009560|109560|989898|1|9999009560|MR|Test|E|Lead 9560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009561|109561|989898|1|9999009561|MR|Test|E|Lead 9561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009562|109562|989898|1|9999009562|MR|Test|E|Lead 9562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009563|109563|989898|1|9999009563|MR|Test|E|Lead 9563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009564|109564|989898|1|9999009564|MR|Test|E|Lead 9564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009565|109565|989898|1|9999009565|MR|Test|E|Lead 9565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009566|109566|989898|1|9999009566|MR|Test|E|Lead 9566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009567|109567|989898|1|9999009567|MR|Test|E|Lead 9567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009568|109568|989898|1|9999009568|MR|Test|E|Lead 9568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009569|109569|989898|1|9999009569|MR|Test|E|Lead 9569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009570|109570|989898|1|9999009570|MR|Test|E|Lead 9570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009571|109571|989898|1|9999009571|MR|Test|E|Lead 9571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009572|109572|989898|1|9999009572|MR|Test|E|Lead 9572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009573|109573|989898|1|9999009573|MR|Test|E|Lead 9573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009574|109574|989898|1|9999009574|MR|Test|E|Lead 9574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009575|109575|989898|1|9999009575|MR|Test|E|Lead 9575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009576|109576|989898|1|9999009576|MR|Test|E|Lead 9576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009577|109577|989898|1|9999009577|MR|Test|E|Lead 9577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009578|109578|989898|1|9999009578|MR|Test|E|Lead 9578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009579|109579|989898|1|9999009579|MR|Test|E|Lead 9579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009580|109580|989898|1|9999009580|MR|Test|E|Lead 9580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009581|109581|989898|1|9999009581|MR|Test|E|Lead 9581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009582|109582|989898|1|9999009582|MR|Test|E|Lead 9582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009583|109583|989898|1|9999009583|MR|Test|E|Lead 9583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009584|109584|989898|1|9999009584|MR|Test|E|Lead 9584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009585|109585|989898|1|9999009585|MR|Test|E|Lead 9585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009586|109586|989898|1|9999009586|MR|Test|E|Lead 9586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009587|109587|989898|1|9999009587|MR|Test|E|Lead 9587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009588|109588|989898|1|9999009588|MR|Test|E|Lead 9588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009589|109589|989898|1|9999009589|MR|Test|E|Lead 9589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009590|109590|989898|1|9999009590|MR|Test|E|Lead 9590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009591|109591|989898|1|9999009591|MR|Test|E|Lead 9591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009592|109592|989898|1|9999009592|MR|Test|E|Lead 9592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009593|109593|989898|1|9999009593|MR|Test|E|Lead 9593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009594|109594|989898|1|9999009594|MR|Test|E|Lead 9594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009595|109595|989898|1|9999009595|MR|Test|E|Lead 9595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009596|109596|989898|1|9999009596|MR|Test|E|Lead 9596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009597|109597|989898|1|9999009597|MR|Test|E|Lead 9597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009598|109598|989898|1|9999009598|MR|Test|E|Lead 9598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009599|109599|989898|1|9999009599|MR|Test|E|Lead 9599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009600|109600|989898|1|9999009600|MR|Test|E|Lead 9600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009601|109601|989898|1|9999009601|MR|Test|E|Lead 9601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009602|109602|989898|1|9999009602|MR|Test|E|Lead 9602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009603|109603|989898|1|9999009603|MR|Test|E|Lead 9603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009604|109604|989898|1|9999009604|MR|Test|E|Lead 9604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009605|109605|989898|1|9999009605|MR|Test|E|Lead 9605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009606|109606|989898|1|9999009606|MR|Test|E|Lead 9606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009607|109607|989898|1|9999009607|MR|Test|E|Lead 9607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009608|109608|989898|1|9999009608|MR|Test|E|Lead 9608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009609|109609|989898|1|9999009609|MR|Test|E|Lead 9609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009610|109610|989898|1|9999009610|MR|Test|E|Lead 9610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009611|109611|989898|1|9999009611|MR|Test|E|Lead 9611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009612|109612|989898|1|9999009612|MR|Test|E|Lead 9612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009613|109613|989898|1|9999009613|MR|Test|E|Lead 9613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009614|109614|989898|1|9999009614|MR|Test|E|Lead 9614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009615|109615|989898|1|9999009615|MR|Test|E|Lead 9615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009616|109616|989898|1|9999009616|MR|Test|E|Lead 9616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009617|109617|989898|1|9999009617|MR|Test|E|Lead 9617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009618|109618|989898|1|9999009618|MR|Test|E|Lead 9618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009619|109619|989898|1|9999009619|MR|Test|E|Lead 9619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009620|109620|989898|1|9999009620|MR|Test|E|Lead 9620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009621|109621|989898|1|9999009621|MR|Test|E|Lead 9621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009622|109622|989898|1|9999009622|MR|Test|E|Lead 9622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009623|109623|989898|1|9999009623|MR|Test|E|Lead 9623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009624|109624|989898|1|9999009624|MR|Test|E|Lead 9624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009625|109625|989898|1|9999009625|MR|Test|E|Lead 9625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009626|109626|989898|1|9999009626|MR|Test|E|Lead 9626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009627|109627|989898|1|9999009627|MR|Test|E|Lead 9627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009628|109628|989898|1|9999009628|MR|Test|E|Lead 9628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009629|109629|989898|1|9999009629|MR|Test|E|Lead 9629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009630|109630|989898|1|9999009630|MR|Test|E|Lead 9630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009631|109631|989898|1|9999009631|MR|Test|E|Lead 9631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009632|109632|989898|1|9999009632|MR|Test|E|Lead 9632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009633|109633|989898|1|9999009633|MR|Test|E|Lead 9633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009634|109634|989898|1|9999009634|MR|Test|E|Lead 9634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009635|109635|989898|1|9999009635|MR|Test|E|Lead 9635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009636|109636|989898|1|9999009636|MR|Test|E|Lead 9636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009637|109637|989898|1|9999009637|MR|Test|E|Lead 9637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009638|109638|989898|1|9999009638|MR|Test|E|Lead 9638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009639|109639|989898|1|9999009639|MR|Test|E|Lead 9639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009640|109640|989898|1|9999009640|MR|Test|E|Lead 9640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009641|109641|989898|1|9999009641|MR|Test|E|Lead 9641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009642|109642|989898|1|9999009642|MR|Test|E|Lead 9642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009643|109643|989898|1|9999009643|MR|Test|E|Lead 9643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009644|109644|989898|1|9999009644|MR|Test|E|Lead 9644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009645|109645|989898|1|9999009645|MR|Test|E|Lead 9645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009646|109646|989898|1|9999009646|MR|Test|E|Lead 9646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009647|109647|989898|1|9999009647|MR|Test|E|Lead 9647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009648|109648|989898|1|9999009648|MR|Test|E|Lead 9648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009649|109649|989898|1|9999009649|MR|Test|E|Lead 9649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009650|109650|989898|1|9999009650|MR|Test|E|Lead 9650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009651|109651|989898|1|9999009651|MR|Test|E|Lead 9651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009652|109652|989898|1|9999009652|MR|Test|E|Lead 9652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009653|109653|989898|1|9999009653|MR|Test|E|Lead 9653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009654|109654|989898|1|9999009654|MR|Test|E|Lead 9654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009655|109655|989898|1|9999009655|MR|Test|E|Lead 9655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009656|109656|989898|1|9999009656|MR|Test|E|Lead 9656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009657|109657|989898|1|9999009657|MR|Test|E|Lead 9657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009658|109658|989898|1|9999009658|MR|Test|E|Lead 9658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009659|109659|989898|1|9999009659|MR|Test|E|Lead 9659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009660|109660|989898|1|9999009660|MR|Test|E|Lead 9660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009661|109661|989898|1|9999009661|MR|Test|E|Lead 9661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009662|109662|989898|1|9999009662|MR|Test|E|Lead 9662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009663|109663|989898|1|9999009663|MR|Test|E|Lead 9663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009664|109664|989898|1|9999009664|MR|Test|E|Lead 9664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009665|109665|989898|1|9999009665|MR|Test|E|Lead 9665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009666|109666|989898|1|9999009666|MR|Test|E|Lead 9666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009667|109667|989898|1|9999009667|MR|Test|E|Lead 9667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009668|109668|989898|1|9999009668|MR|Test|E|Lead 9668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009669|109669|989898|1|9999009669|MR|Test|E|Lead 9669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009670|109670|989898|1|9999009670|MR|Test|E|Lead 9670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009671|109671|989898|1|9999009671|MR|Test|E|Lead 9671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009672|109672|989898|1|9999009672|MR|Test|E|Lead 9672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009673|109673|989898|1|9999009673|MR|Test|E|Lead 9673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009674|109674|989898|1|9999009674|MR|Test|E|Lead 9674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009675|109675|989898|1|9999009675|MR|Test|E|Lead 9675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009676|109676|989898|1|9999009676|MR|Test|E|Lead 9676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009677|109677|989898|1|9999009677|MR|Test|E|Lead 9677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009678|109678|989898|1|9999009678|MR|Test|E|Lead 9678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009679|109679|989898|1|9999009679|MR|Test|E|Lead 9679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009680|109680|989898|1|9999009680|MR|Test|E|Lead 9680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009681|109681|989898|1|9999009681|MR|Test|E|Lead 9681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009682|109682|989898|1|9999009682|MR|Test|E|Lead 9682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009683|109683|989898|1|9999009683|MR|Test|E|Lead 9683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009684|109684|989898|1|9999009684|MR|Test|E|Lead 9684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009685|109685|989898|1|9999009685|MR|Test|E|Lead 9685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009686|109686|989898|1|9999009686|MR|Test|E|Lead 9686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009687|109687|989898|1|9999009687|MR|Test|E|Lead 9687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009688|109688|989898|1|9999009688|MR|Test|E|Lead 9688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009689|109689|989898|1|9999009689|MR|Test|E|Lead 9689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009690|109690|989898|1|9999009690|MR|Test|E|Lead 9690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009691|109691|989898|1|9999009691|MR|Test|E|Lead 9691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009692|109692|989898|1|9999009692|MR|Test|E|Lead 9692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009693|109693|989898|1|9999009693|MR|Test|E|Lead 9693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009694|109694|989898|1|9999009694|MR|Test|E|Lead 9694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009695|109695|989898|1|9999009695|MR|Test|E|Lead 9695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009696|109696|989898|1|9999009696|MR|Test|E|Lead 9696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009697|109697|989898|1|9999009697|MR|Test|E|Lead 9697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009698|109698|989898|1|9999009698|MR|Test|E|Lead 9698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009699|109699|989898|1|9999009699|MR|Test|E|Lead 9699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009700|109700|989898|1|9999009700|MR|Test|E|Lead 9700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009701|109701|989898|1|9999009701|MR|Test|E|Lead 9701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009702|109702|989898|1|9999009702|MR|Test|E|Lead 9702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009703|109703|989898|1|9999009703|MR|Test|E|Lead 9703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009704|109704|989898|1|9999009704|MR|Test|E|Lead 9704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009705|109705|989898|1|9999009705|MR|Test|E|Lead 9705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009706|109706|989898|1|9999009706|MR|Test|E|Lead 9706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009707|109707|989898|1|9999009707|MR|Test|E|Lead 9707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009708|109708|989898|1|9999009708|MR|Test|E|Lead 9708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009709|109709|989898|1|9999009709|MR|Test|E|Lead 9709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009710|109710|989898|1|9999009710|MR|Test|E|Lead 9710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009711|109711|989898|1|9999009711|MR|Test|E|Lead 9711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009712|109712|989898|1|9999009712|MR|Test|E|Lead 9712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009713|109713|989898|1|9999009713|MR|Test|E|Lead 9713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009714|109714|989898|1|9999009714|MR|Test|E|Lead 9714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009715|109715|989898|1|9999009715|MR|Test|E|Lead 9715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009716|109716|989898|1|9999009716|MR|Test|E|Lead 9716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009717|109717|989898|1|9999009717|MR|Test|E|Lead 9717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009718|109718|989898|1|9999009718|MR|Test|E|Lead 9718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009719|109719|989898|1|9999009719|MR|Test|E|Lead 9719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009720|109720|989898|1|9999009720|MR|Test|E|Lead 9720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009721|109721|989898|1|9999009721|MR|Test|E|Lead 9721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009722|109722|989898|1|9999009722|MR|Test|E|Lead 9722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009723|109723|989898|1|9999009723|MR|Test|E|Lead 9723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009724|109724|989898|1|9999009724|MR|Test|E|Lead 9724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009725|109725|989898|1|9999009725|MR|Test|E|Lead 9725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009726|109726|989898|1|9999009726|MR|Test|E|Lead 9726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009727|109727|989898|1|9999009727|MR|Test|E|Lead 9727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009728|109728|989898|1|9999009728|MR|Test|E|Lead 9728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009729|109729|989898|1|9999009729|MR|Test|E|Lead 9729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009730|109730|989898|1|9999009730|MR|Test|E|Lead 9730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009731|109731|989898|1|9999009731|MR|Test|E|Lead 9731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009732|109732|989898|1|9999009732|MR|Test|E|Lead 9732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009733|109733|989898|1|9999009733|MR|Test|E|Lead 9733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009734|109734|989898|1|9999009734|MR|Test|E|Lead 9734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009735|109735|989898|1|9999009735|MR|Test|E|Lead 9735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009736|109736|989898|1|9999009736|MR|Test|E|Lead 9736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009737|109737|989898|1|9999009737|MR|Test|E|Lead 9737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009738|109738|989898|1|9999009738|MR|Test|E|Lead 9738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009739|109739|989898|1|9999009739|MR|Test|E|Lead 9739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009740|109740|989898|1|9999009740|MR|Test|E|Lead 9740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009741|109741|989898|1|9999009741|MR|Test|E|Lead 9741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009742|109742|989898|1|9999009742|MR|Test|E|Lead 9742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009743|109743|989898|1|9999009743|MR|Test|E|Lead 9743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009744|109744|989898|1|9999009744|MR|Test|E|Lead 9744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009745|109745|989898|1|9999009745|MR|Test|E|Lead 9745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009746|109746|989898|1|9999009746|MR|Test|E|Lead 9746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009747|109747|989898|1|9999009747|MR|Test|E|Lead 9747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009748|109748|989898|1|9999009748|MR|Test|E|Lead 9748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009749|109749|989898|1|9999009749|MR|Test|E|Lead 9749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009750|109750|989898|1|9999009750|MR|Test|E|Lead 9750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009751|109751|989898|1|9999009751|MR|Test|E|Lead 9751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009752|109752|989898|1|9999009752|MR|Test|E|Lead 9752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009753|109753|989898|1|9999009753|MR|Test|E|Lead 9753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009754|109754|989898|1|9999009754|MR|Test|E|Lead 9754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009755|109755|989898|1|9999009755|MR|Test|E|Lead 9755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009756|109756|989898|1|9999009756|MR|Test|E|Lead 9756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009757|109757|989898|1|9999009757|MR|Test|E|Lead 9757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009758|109758|989898|1|9999009758|MR|Test|E|Lead 9758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009759|109759|989898|1|9999009759|MR|Test|E|Lead 9759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009760|109760|989898|1|9999009760|MR|Test|E|Lead 9760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009761|109761|989898|1|9999009761|MR|Test|E|Lead 9761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009762|109762|989898|1|9999009762|MR|Test|E|Lead 9762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009763|109763|989898|1|9999009763|MR|Test|E|Lead 9763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009764|109764|989898|1|9999009764|MR|Test|E|Lead 9764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009765|109765|989898|1|9999009765|MR|Test|E|Lead 9765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009766|109766|989898|1|9999009766|MR|Test|E|Lead 9766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009767|109767|989898|1|9999009767|MR|Test|E|Lead 9767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009768|109768|989898|1|9999009768|MR|Test|E|Lead 9768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009769|109769|989898|1|9999009769|MR|Test|E|Lead 9769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009770|109770|989898|1|9999009770|MR|Test|E|Lead 9770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009771|109771|989898|1|9999009771|MR|Test|E|Lead 9771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009772|109772|989898|1|9999009772|MR|Test|E|Lead 9772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009773|109773|989898|1|9999009773|MR|Test|E|Lead 9773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009774|109774|989898|1|9999009774|MR|Test|E|Lead 9774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009775|109775|989898|1|9999009775|MR|Test|E|Lead 9775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009776|109776|989898|1|9999009776|MR|Test|E|Lead 9776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009777|109777|989898|1|9999009777|MR|Test|E|Lead 9777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009778|109778|989898|1|9999009778|MR|Test|E|Lead 9778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009779|109779|989898|1|9999009779|MR|Test|E|Lead 9779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009780|109780|989898|1|9999009780|MR|Test|E|Lead 9780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009781|109781|989898|1|9999009781|MR|Test|E|Lead 9781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009782|109782|989898|1|9999009782|MR|Test|E|Lead 9782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009783|109783|989898|1|9999009783|MR|Test|E|Lead 9783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009784|109784|989898|1|9999009784|MR|Test|E|Lead 9784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009785|109785|989898|1|9999009785|MR|Test|E|Lead 9785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009786|109786|989898|1|9999009786|MR|Test|E|Lead 9786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009787|109787|989898|1|9999009787|MR|Test|E|Lead 9787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009788|109788|989898|1|9999009788|MR|Test|E|Lead 9788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009789|109789|989898|1|9999009789|MR|Test|E|Lead 9789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009790|109790|989898|1|9999009790|MR|Test|E|Lead 9790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009791|109791|989898|1|9999009791|MR|Test|E|Lead 9791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009792|109792|989898|1|9999009792|MR|Test|E|Lead 9792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009793|109793|989898|1|9999009793|MR|Test|E|Lead 9793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009794|109794|989898|1|9999009794|MR|Test|E|Lead 9794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009795|109795|989898|1|9999009795|MR|Test|E|Lead 9795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009796|109796|989898|1|9999009796|MR|Test|E|Lead 9796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009797|109797|989898|1|9999009797|MR|Test|E|Lead 9797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009798|109798|989898|1|9999009798|MR|Test|E|Lead 9798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009799|109799|989898|1|9999009799|MR|Test|E|Lead 9799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009800|109800|989898|1|9999009800|MR|Test|E|Lead 9800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009801|109801|989898|1|9999009801|MR|Test|E|Lead 9801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009802|109802|989898|1|9999009802|MR|Test|E|Lead 9802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009803|109803|989898|1|9999009803|MR|Test|E|Lead 9803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009804|109804|989898|1|9999009804|MR|Test|E|Lead 9804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009805|109805|989898|1|9999009805|MR|Test|E|Lead 9805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009806|109806|989898|1|9999009806|MR|Test|E|Lead 9806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009807|109807|989898|1|9999009807|MR|Test|E|Lead 9807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009808|109808|989898|1|9999009808|MR|Test|E|Lead 9808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009809|109809|989898|1|9999009809|MR|Test|E|Lead 9809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009810|109810|989898|1|9999009810|MR|Test|E|Lead 9810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009811|109811|989898|1|9999009811|MR|Test|E|Lead 9811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009812|109812|989898|1|9999009812|MR|Test|E|Lead 9812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009813|109813|989898|1|9999009813|MR|Test|E|Lead 9813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009814|109814|989898|1|9999009814|MR|Test|E|Lead 9814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009815|109815|989898|1|9999009815|MR|Test|E|Lead 9815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009816|109816|989898|1|9999009816|MR|Test|E|Lead 9816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009817|109817|989898|1|9999009817|MR|Test|E|Lead 9817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009818|109818|989898|1|9999009818|MR|Test|E|Lead 9818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009819|109819|989898|1|9999009819|MR|Test|E|Lead 9819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009820|109820|989898|1|9999009820|MR|Test|E|Lead 9820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009821|109821|989898|1|9999009821|MR|Test|E|Lead 9821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009822|109822|989898|1|9999009822|MR|Test|E|Lead 9822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009823|109823|989898|1|9999009823|MR|Test|E|Lead 9823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009824|109824|989898|1|9999009824|MR|Test|E|Lead 9824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009825|109825|989898|1|9999009825|MR|Test|E|Lead 9825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009826|109826|989898|1|9999009826|MR|Test|E|Lead 9826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009827|109827|989898|1|9999009827|MR|Test|E|Lead 9827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009828|109828|989898|1|9999009828|MR|Test|E|Lead 9828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009829|109829|989898|1|9999009829|MR|Test|E|Lead 9829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009830|109830|989898|1|9999009830|MR|Test|E|Lead 9830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009831|109831|989898|1|9999009831|MR|Test|E|Lead 9831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009832|109832|989898|1|9999009832|MR|Test|E|Lead 9832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009833|109833|989898|1|9999009833|MR|Test|E|Lead 9833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009834|109834|989898|1|9999009834|MR|Test|E|Lead 9834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009835|109835|989898|1|9999009835|MR|Test|E|Lead 9835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009836|109836|989898|1|9999009836|MR|Test|E|Lead 9836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009837|109837|989898|1|9999009837|MR|Test|E|Lead 9837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009838|109838|989898|1|9999009838|MR|Test|E|Lead 9838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009839|109839|989898|1|9999009839|MR|Test|E|Lead 9839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009840|109840|989898|1|9999009840|MR|Test|E|Lead 9840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009841|109841|989898|1|9999009841|MR|Test|E|Lead 9841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009842|109842|989898|1|9999009842|MR|Test|E|Lead 9842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009843|109843|989898|1|9999009843|MR|Test|E|Lead 9843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009844|109844|989898|1|9999009844|MR|Test|E|Lead 9844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009845|109845|989898|1|9999009845|MR|Test|E|Lead 9845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009846|109846|989898|1|9999009846|MR|Test|E|Lead 9846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009847|109847|989898|1|9999009847|MR|Test|E|Lead 9847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009848|109848|989898|1|9999009848|MR|Test|E|Lead 9848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009849|109849|989898|1|9999009849|MR|Test|E|Lead 9849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009850|109850|989898|1|9999009850|MR|Test|E|Lead 9850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009851|109851|989898|1|9999009851|MR|Test|E|Lead 9851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009852|109852|989898|1|9999009852|MR|Test|E|Lead 9852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009853|109853|989898|1|9999009853|MR|Test|E|Lead 9853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009854|109854|989898|1|9999009854|MR|Test|E|Lead 9854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009855|109855|989898|1|9999009855|MR|Test|E|Lead 9855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009856|109856|989898|1|9999009856|MR|Test|E|Lead 9856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009857|109857|989898|1|9999009857|MR|Test|E|Lead 9857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009858|109858|989898|1|9999009858|MR|Test|E|Lead 9858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009859|109859|989898|1|9999009859|MR|Test|E|Lead 9859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009860|109860|989898|1|9999009860|MR|Test|E|Lead 9860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009861|109861|989898|1|9999009861|MR|Test|E|Lead 9861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009862|109862|989898|1|9999009862|MR|Test|E|Lead 9862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009863|109863|989898|1|9999009863|MR|Test|E|Lead 9863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009864|109864|989898|1|9999009864|MR|Test|E|Lead 9864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009865|109865|989898|1|9999009865|MR|Test|E|Lead 9865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009866|109866|989898|1|9999009866|MR|Test|E|Lead 9866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009867|109867|989898|1|9999009867|MR|Test|E|Lead 9867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009868|109868|989898|1|9999009868|MR|Test|E|Lead 9868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009869|109869|989898|1|9999009869|MR|Test|E|Lead 9869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009870|109870|989898|1|9999009870|MR|Test|E|Lead 9870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009871|109871|989898|1|9999009871|MR|Test|E|Lead 9871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009872|109872|989898|1|9999009872|MR|Test|E|Lead 9872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009873|109873|989898|1|9999009873|MR|Test|E|Lead 9873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009874|109874|989898|1|9999009874|MR|Test|E|Lead 9874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009875|109875|989898|1|9999009875|MR|Test|E|Lead 9875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009876|109876|989898|1|9999009876|MR|Test|E|Lead 9876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009877|109877|989898|1|9999009877|MR|Test|E|Lead 9877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009878|109878|989898|1|9999009878|MR|Test|E|Lead 9878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009879|109879|989898|1|9999009879|MR|Test|E|Lead 9879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009880|109880|989898|1|9999009880|MR|Test|E|Lead 9880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009881|109881|989898|1|9999009881|MR|Test|E|Lead 9881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009882|109882|989898|1|9999009882|MR|Test|E|Lead 9882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009883|109883|989898|1|9999009883|MR|Test|E|Lead 9883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009884|109884|989898|1|9999009884|MR|Test|E|Lead 9884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009885|109885|989898|1|9999009885|MR|Test|E|Lead 9885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009886|109886|989898|1|9999009886|MR|Test|E|Lead 9886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009887|109887|989898|1|9999009887|MR|Test|E|Lead 9887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009888|109888|989898|1|9999009888|MR|Test|E|Lead 9888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009889|109889|989898|1|9999009889|MR|Test|E|Lead 9889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009890|109890|989898|1|9999009890|MR|Test|E|Lead 9890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009891|109891|989898|1|9999009891|MR|Test|E|Lead 9891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009892|109892|989898|1|9999009892|MR|Test|E|Lead 9892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009893|109893|989898|1|9999009893|MR|Test|E|Lead 9893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009894|109894|989898|1|9999009894|MR|Test|E|Lead 9894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009895|109895|989898|1|9999009895|MR|Test|E|Lead 9895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009896|109896|989898|1|9999009896|MR|Test|E|Lead 9896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009897|109897|989898|1|9999009897|MR|Test|E|Lead 9897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009898|109898|989898|1|9999009898|MR|Test|E|Lead 9898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009899|109899|989898|1|9999009899|MR|Test|E|Lead 9899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009900|109900|989898|1|9999009900|MR|Test|E|Lead 9900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009901|109901|989898|1|9999009901|MR|Test|E|Lead 9901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009902|109902|989898|1|9999009902|MR|Test|E|Lead 9902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009903|109903|989898|1|9999009903|MR|Test|E|Lead 9903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009904|109904|989898|1|9999009904|MR|Test|E|Lead 9904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009905|109905|989898|1|9999009905|MR|Test|E|Lead 9905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009906|109906|989898|1|9999009906|MR|Test|E|Lead 9906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009907|109907|989898|1|9999009907|MR|Test|E|Lead 9907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009908|109908|989898|1|9999009908|MR|Test|E|Lead 9908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009909|109909|989898|1|9999009909|MR|Test|E|Lead 9909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009910|109910|989898|1|9999009910|MR|Test|E|Lead 9910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009911|109911|989898|1|9999009911|MR|Test|E|Lead 9911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009912|109912|989898|1|9999009912|MR|Test|E|Lead 9912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009913|109913|989898|1|9999009913|MR|Test|E|Lead 9913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009914|109914|989898|1|9999009914|MR|Test|E|Lead 9914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009915|109915|989898|1|9999009915|MR|Test|E|Lead 9915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009916|109916|989898|1|9999009916|MR|Test|E|Lead 9916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009917|109917|989898|1|9999009917|MR|Test|E|Lead 9917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009918|109918|989898|1|9999009918|MR|Test|E|Lead 9918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009919|109919|989898|1|9999009919|MR|Test|E|Lead 9919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009920|109920|989898|1|9999009920|MR|Test|E|Lead 9920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009921|109921|989898|1|9999009921|MR|Test|E|Lead 9921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009922|109922|989898|1|9999009922|MR|Test|E|Lead 9922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009923|109923|989898|1|9999009923|MR|Test|E|Lead 9923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009924|109924|989898|1|9999009924|MR|Test|E|Lead 9924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009925|109925|989898|1|9999009925|MR|Test|E|Lead 9925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009926|109926|989898|1|9999009926|MR|Test|E|Lead 9926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009927|109927|989898|1|9999009927|MR|Test|E|Lead 9927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009928|109928|989898|1|9999009928|MR|Test|E|Lead 9928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009929|109929|989898|1|9999009929|MR|Test|E|Lead 9929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009930|109930|989898|1|9999009930|MR|Test|E|Lead 9930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009931|109931|989898|1|9999009931|MR|Test|E|Lead 9931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009932|109932|989898|1|9999009932|MR|Test|E|Lead 9932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009933|109933|989898|1|9999009933|MR|Test|E|Lead 9933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009934|109934|989898|1|9999009934|MR|Test|E|Lead 9934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009935|109935|989898|1|9999009935|MR|Test|E|Lead 9935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009936|109936|989898|1|9999009936|MR|Test|E|Lead 9936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009937|109937|989898|1|9999009937|MR|Test|E|Lead 9937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009938|109938|989898|1|9999009938|MR|Test|E|Lead 9938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009939|109939|989898|1|9999009939|MR|Test|E|Lead 9939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009940|109940|989898|1|9999009940|MR|Test|E|Lead 9940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009941|109941|989898|1|9999009941|MR|Test|E|Lead 9941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009942|109942|989898|1|9999009942|MR|Test|E|Lead 9942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009943|109943|989898|1|9999009943|MR|Test|E|Lead 9943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009944|109944|989898|1|9999009944|MR|Test|E|Lead 9944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009945|109945|989898|1|9999009945|MR|Test|E|Lead 9945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009946|109946|989898|1|9999009946|MR|Test|E|Lead 9946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009947|109947|989898|1|9999009947|MR|Test|E|Lead 9947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009948|109948|989898|1|9999009948|MR|Test|E|Lead 9948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009949|109949|989898|1|9999009949|MR|Test|E|Lead 9949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009950|109950|989898|1|9999009950|MR|Test|E|Lead 9950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009951|109951|989898|1|9999009951|MR|Test|E|Lead 9951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009952|109952|989898|1|9999009952|MR|Test|E|Lead 9952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009953|109953|989898|1|9999009953|MR|Test|E|Lead 9953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009954|109954|989898|1|9999009954|MR|Test|E|Lead 9954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009955|109955|989898|1|9999009955|MR|Test|E|Lead 9955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009956|109956|989898|1|9999009956|MR|Test|E|Lead 9956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009957|109957|989898|1|9999009957|MR|Test|E|Lead 9957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009958|109958|989898|1|9999009958|MR|Test|E|Lead 9958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009959|109959|989898|1|9999009959|MR|Test|E|Lead 9959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009960|109960|989898|1|9999009960|MR|Test|E|Lead 9960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009961|109961|989898|1|9999009961|MR|Test|E|Lead 9961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009962|109962|989898|1|9999009962|MR|Test|E|Lead 9962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009963|109963|989898|1|9999009963|MR|Test|E|Lead 9963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009964|109964|989898|1|9999009964|MR|Test|E|Lead 9964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009965|109965|989898|1|9999009965|MR|Test|E|Lead 9965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009966|109966|989898|1|9999009966|MR|Test|E|Lead 9966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009967|109967|989898|1|9999009967|MR|Test|E|Lead 9967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009968|109968|989898|1|9999009968|MR|Test|E|Lead 9968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009969|109969|989898|1|9999009969|MR|Test|E|Lead 9969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009970|109970|989898|1|9999009970|MR|Test|E|Lead 9970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009971|109971|989898|1|9999009971|MR|Test|E|Lead 9971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009972|109972|989898|1|9999009972|MR|Test|E|Lead 9972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009973|109973|989898|1|9999009973|MR|Test|E|Lead 9973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009974|109974|989898|1|9999009974|MR|Test|E|Lead 9974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009975|109975|989898|1|9999009975|MR|Test|E|Lead 9975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009976|109976|989898|1|9999009976|MR|Test|E|Lead 9976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009977|109977|989898|1|9999009977|MR|Test|E|Lead 9977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009978|109978|989898|1|9999009978|MR|Test|E|Lead 9978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009979|109979|989898|1|9999009979|MR|Test|E|Lead 9979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009980|109980|989898|1|9999009980|MR|Test|E|Lead 9980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009981|109981|989898|1|9999009981|MR|Test|E|Lead 9981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009982|109982|989898|1|9999009982|MR|Test|E|Lead 9982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009983|109983|989898|1|9999009983|MR|Test|E|Lead 9983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009984|109984|989898|1|9999009984|MR|Test|E|Lead 9984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009985|109985|989898|1|9999009985|MR|Test|E|Lead 9985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009986|109986|989898|1|9999009986|MR|Test|E|Lead 9986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009987|109987|989898|1|9999009987|MR|Test|E|Lead 9987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009988|109988|989898|1|9999009988|MR|Test|E|Lead 9988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009989|109989|989898|1|9999009989|MR|Test|E|Lead 9989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009990|109990|989898|1|9999009990|MR|Test|E|Lead 9990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009991|109991|989898|1|9999009991|MR|Test|E|Lead 9991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009992|109992|989898|1|9999009992|MR|Test|E|Lead 9992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009993|109993|989898|1|9999009993|MR|Test|E|Lead 9993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009994|109994|989898|1|9999009994|MR|Test|E|Lead 9994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009995|109995|989898|1|9999009995|MR|Test|E|Lead 9995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009996|109996|989898|1|9999009996|MR|Test|E|Lead 9996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009997|109997|989898|1|9999009997|MR|Test|E|Lead 9997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009998|109998|989898|1|9999009998|MR|Test|E|Lead 9998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1009999|109999|989898|1|9999009999|MR|Test|E|Lead 9999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010000|110000|989898|1|9999010000|MR|Test|E|Lead 10000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010001|110001|989898|1|9999010001|MR|Test|E|Lead 10001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010002|110002|989898|1|9999010002|MR|Test|E|Lead 10002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010003|110003|989898|1|9999010003|MR|Test|E|Lead 10003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010004|110004|989898|1|9999010004|MR|Test|E|Lead 10004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010005|110005|989898|1|9999010005|MR|Test|E|Lead 10005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010006|110006|989898|1|9999010006|MR|Test|E|Lead 10006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010007|110007|989898|1|9999010007|MR|Test|E|Lead 10007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010008|110008|989898|1|9999010008|MR|Test|E|Lead 10008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010009|110009|989898|1|9999010009|MR|Test|E|Lead 10009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010010|110010|989898|1|9999010010|MR|Test|E|Lead 10010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010011|110011|989898|1|9999010011|MR|Test|E|Lead 10011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010012|110012|989898|1|9999010012|MR|Test|E|Lead 10012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010013|110013|989898|1|9999010013|MR|Test|E|Lead 10013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010014|110014|989898|1|9999010014|MR|Test|E|Lead 10014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010015|110015|989898|1|9999010015|MR|Test|E|Lead 10015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010016|110016|989898|1|9999010016|MR|Test|E|Lead 10016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010017|110017|989898|1|9999010017|MR|Test|E|Lead 10017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010018|110018|989898|1|9999010018|MR|Test|E|Lead 10018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010019|110019|989898|1|9999010019|MR|Test|E|Lead 10019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010020|110020|989898|1|9999010020|MR|Test|E|Lead 10020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010021|110021|989898|1|9999010021|MR|Test|E|Lead 10021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010022|110022|989898|1|9999010022|MR|Test|E|Lead 10022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010023|110023|989898|1|9999010023|MR|Test|E|Lead 10023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010024|110024|989898|1|9999010024|MR|Test|E|Lead 10024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010025|110025|989898|1|9999010025|MR|Test|E|Lead 10025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010026|110026|989898|1|9999010026|MR|Test|E|Lead 10026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010027|110027|989898|1|9999010027|MR|Test|E|Lead 10027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010028|110028|989898|1|9999010028|MR|Test|E|Lead 10028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010029|110029|989898|1|9999010029|MR|Test|E|Lead 10029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010030|110030|989898|1|9999010030|MR|Test|E|Lead 10030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010031|110031|989898|1|9999010031|MR|Test|E|Lead 10031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010032|110032|989898|1|9999010032|MR|Test|E|Lead 10032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010033|110033|989898|1|9999010033|MR|Test|E|Lead 10033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010034|110034|989898|1|9999010034|MR|Test|E|Lead 10034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010035|110035|989898|1|9999010035|MR|Test|E|Lead 10035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010036|110036|989898|1|9999010036|MR|Test|E|Lead 10036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010037|110037|989898|1|9999010037|MR|Test|E|Lead 10037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010038|110038|989898|1|9999010038|MR|Test|E|Lead 10038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010039|110039|989898|1|9999010039|MR|Test|E|Lead 10039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010040|110040|989898|1|9999010040|MR|Test|E|Lead 10040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010041|110041|989898|1|9999010041|MR|Test|E|Lead 10041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010042|110042|989898|1|9999010042|MR|Test|E|Lead 10042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010043|110043|989898|1|9999010043|MR|Test|E|Lead 10043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010044|110044|989898|1|9999010044|MR|Test|E|Lead 10044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010045|110045|989898|1|9999010045|MR|Test|E|Lead 10045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010046|110046|989898|1|9999010046|MR|Test|E|Lead 10046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010047|110047|989898|1|9999010047|MR|Test|E|Lead 10047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010048|110048|989898|1|9999010048|MR|Test|E|Lead 10048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010049|110049|989898|1|9999010049|MR|Test|E|Lead 10049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010050|110050|989898|1|9999010050|MR|Test|E|Lead 10050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010051|110051|989898|1|9999010051|MR|Test|E|Lead 10051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010052|110052|989898|1|9999010052|MR|Test|E|Lead 10052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010053|110053|989898|1|9999010053|MR|Test|E|Lead 10053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010054|110054|989898|1|9999010054|MR|Test|E|Lead 10054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010055|110055|989898|1|9999010055|MR|Test|E|Lead 10055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010056|110056|989898|1|9999010056|MR|Test|E|Lead 10056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010057|110057|989898|1|9999010057|MR|Test|E|Lead 10057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010058|110058|989898|1|9999010058|MR|Test|E|Lead 10058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010059|110059|989898|1|9999010059|MR|Test|E|Lead 10059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010060|110060|989898|1|9999010060|MR|Test|E|Lead 10060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010061|110061|989898|1|9999010061|MR|Test|E|Lead 10061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010062|110062|989898|1|9999010062|MR|Test|E|Lead 10062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010063|110063|989898|1|9999010063|MR|Test|E|Lead 10063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010064|110064|989898|1|9999010064|MR|Test|E|Lead 10064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010065|110065|989898|1|9999010065|MR|Test|E|Lead 10065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010066|110066|989898|1|9999010066|MR|Test|E|Lead 10066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010067|110067|989898|1|9999010067|MR|Test|E|Lead 10067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010068|110068|989898|1|9999010068|MR|Test|E|Lead 10068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010069|110069|989898|1|9999010069|MR|Test|E|Lead 10069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010070|110070|989898|1|9999010070|MR|Test|E|Lead 10070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010071|110071|989898|1|9999010071|MR|Test|E|Lead 10071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010072|110072|989898|1|9999010072|MR|Test|E|Lead 10072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010073|110073|989898|1|9999010073|MR|Test|E|Lead 10073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010074|110074|989898|1|9999010074|MR|Test|E|Lead 10074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010075|110075|989898|1|9999010075|MR|Test|E|Lead 10075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010076|110076|989898|1|9999010076|MR|Test|E|Lead 10076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010077|110077|989898|1|9999010077|MR|Test|E|Lead 10077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010078|110078|989898|1|9999010078|MR|Test|E|Lead 10078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010079|110079|989898|1|9999010079|MR|Test|E|Lead 10079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010080|110080|989898|1|9999010080|MR|Test|E|Lead 10080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010081|110081|989898|1|9999010081|MR|Test|E|Lead 10081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010082|110082|989898|1|9999010082|MR|Test|E|Lead 10082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010083|110083|989898|1|9999010083|MR|Test|E|Lead 10083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010084|110084|989898|1|9999010084|MR|Test|E|Lead 10084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010085|110085|989898|1|9999010085|MR|Test|E|Lead 10085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010086|110086|989898|1|9999010086|MR|Test|E|Lead 10086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010087|110087|989898|1|9999010087|MR|Test|E|Lead 10087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010088|110088|989898|1|9999010088|MR|Test|E|Lead 10088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010089|110089|989898|1|9999010089|MR|Test|E|Lead 10089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010090|110090|989898|1|9999010090|MR|Test|E|Lead 10090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010091|110091|989898|1|9999010091|MR|Test|E|Lead 10091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010092|110092|989898|1|9999010092|MR|Test|E|Lead 10092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010093|110093|989898|1|9999010093|MR|Test|E|Lead 10093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010094|110094|989898|1|9999010094|MR|Test|E|Lead 10094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010095|110095|989898|1|9999010095|MR|Test|E|Lead 10095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010096|110096|989898|1|9999010096|MR|Test|E|Lead 10096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010097|110097|989898|1|9999010097|MR|Test|E|Lead 10097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010098|110098|989898|1|9999010098|MR|Test|E|Lead 10098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010099|110099|989898|1|9999010099|MR|Test|E|Lead 10099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010100|110100|989898|1|9999010100|MR|Test|E|Lead 10100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010101|110101|989898|1|9999010101|MR|Test|E|Lead 10101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010102|110102|989898|1|9999010102|MR|Test|E|Lead 10102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010103|110103|989898|1|9999010103|MR|Test|E|Lead 10103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010104|110104|989898|1|9999010104|MR|Test|E|Lead 10104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010105|110105|989898|1|9999010105|MR|Test|E|Lead 10105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010106|110106|989898|1|9999010106|MR|Test|E|Lead 10106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010107|110107|989898|1|9999010107|MR|Test|E|Lead 10107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010108|110108|989898|1|9999010108|MR|Test|E|Lead 10108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010109|110109|989898|1|9999010109|MR|Test|E|Lead 10109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010110|110110|989898|1|9999010110|MR|Test|E|Lead 10110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010111|110111|989898|1|9999010111|MR|Test|E|Lead 10111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010112|110112|989898|1|9999010112|MR|Test|E|Lead 10112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010113|110113|989898|1|9999010113|MR|Test|E|Lead 10113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010114|110114|989898|1|9999010114|MR|Test|E|Lead 10114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010115|110115|989898|1|9999010115|MR|Test|E|Lead 10115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010116|110116|989898|1|9999010116|MR|Test|E|Lead 10116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010117|110117|989898|1|9999010117|MR|Test|E|Lead 10117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010118|110118|989898|1|9999010118|MR|Test|E|Lead 10118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010119|110119|989898|1|9999010119|MR|Test|E|Lead 10119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010120|110120|989898|1|9999010120|MR|Test|E|Lead 10120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010121|110121|989898|1|9999010121|MR|Test|E|Lead 10121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010122|110122|989898|1|9999010122|MR|Test|E|Lead 10122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010123|110123|989898|1|9999010123|MR|Test|E|Lead 10123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010124|110124|989898|1|9999010124|MR|Test|E|Lead 10124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010125|110125|989898|1|9999010125|MR|Test|E|Lead 10125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010126|110126|989898|1|9999010126|MR|Test|E|Lead 10126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010127|110127|989898|1|9999010127|MR|Test|E|Lead 10127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010128|110128|989898|1|9999010128|MR|Test|E|Lead 10128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010129|110129|989898|1|9999010129|MR|Test|E|Lead 10129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010130|110130|989898|1|9999010130|MR|Test|E|Lead 10130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010131|110131|989898|1|9999010131|MR|Test|E|Lead 10131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010132|110132|989898|1|9999010132|MR|Test|E|Lead 10132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010133|110133|989898|1|9999010133|MR|Test|E|Lead 10133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010134|110134|989898|1|9999010134|MR|Test|E|Lead 10134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010135|110135|989898|1|9999010135|MR|Test|E|Lead 10135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010136|110136|989898|1|9999010136|MR|Test|E|Lead 10136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010137|110137|989898|1|9999010137|MR|Test|E|Lead 10137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010138|110138|989898|1|9999010138|MR|Test|E|Lead 10138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010139|110139|989898|1|9999010139|MR|Test|E|Lead 10139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010140|110140|989898|1|9999010140|MR|Test|E|Lead 10140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010141|110141|989898|1|9999010141|MR|Test|E|Lead 10141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010142|110142|989898|1|9999010142|MR|Test|E|Lead 10142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010143|110143|989898|1|9999010143|MR|Test|E|Lead 10143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010144|110144|989898|1|9999010144|MR|Test|E|Lead 10144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010145|110145|989898|1|9999010145|MR|Test|E|Lead 10145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010146|110146|989898|1|9999010146|MR|Test|E|Lead 10146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010147|110147|989898|1|9999010147|MR|Test|E|Lead 10147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010148|110148|989898|1|9999010148|MR|Test|E|Lead 10148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010149|110149|989898|1|9999010149|MR|Test|E|Lead 10149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010150|110150|989898|1|9999010150|MR|Test|E|Lead 10150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010151|110151|989898|1|9999010151|MR|Test|E|Lead 10151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010152|110152|989898|1|9999010152|MR|Test|E|Lead 10152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010153|110153|989898|1|9999010153|MR|Test|E|Lead 10153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010154|110154|989898|1|9999010154|MR|Test|E|Lead 10154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010155|110155|989898|1|9999010155|MR|Test|E|Lead 10155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010156|110156|989898|1|9999010156|MR|Test|E|Lead 10156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010157|110157|989898|1|9999010157|MR|Test|E|Lead 10157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010158|110158|989898|1|9999010158|MR|Test|E|Lead 10158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010159|110159|989898|1|9999010159|MR|Test|E|Lead 10159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010160|110160|989898|1|9999010160|MR|Test|E|Lead 10160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010161|110161|989898|1|9999010161|MR|Test|E|Lead 10161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010162|110162|989898|1|9999010162|MR|Test|E|Lead 10162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010163|110163|989898|1|9999010163|MR|Test|E|Lead 10163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010164|110164|989898|1|9999010164|MR|Test|E|Lead 10164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010165|110165|989898|1|9999010165|MR|Test|E|Lead 10165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010166|110166|989898|1|9999010166|MR|Test|E|Lead 10166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010167|110167|989898|1|9999010167|MR|Test|E|Lead 10167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010168|110168|989898|1|9999010168|MR|Test|E|Lead 10168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010169|110169|989898|1|9999010169|MR|Test|E|Lead 10169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010170|110170|989898|1|9999010170|MR|Test|E|Lead 10170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010171|110171|989898|1|9999010171|MR|Test|E|Lead 10171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010172|110172|989898|1|9999010172|MR|Test|E|Lead 10172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010173|110173|989898|1|9999010173|MR|Test|E|Lead 10173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010174|110174|989898|1|9999010174|MR|Test|E|Lead 10174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010175|110175|989898|1|9999010175|MR|Test|E|Lead 10175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010176|110176|989898|1|9999010176|MR|Test|E|Lead 10176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010177|110177|989898|1|9999010177|MR|Test|E|Lead 10177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010178|110178|989898|1|9999010178|MR|Test|E|Lead 10178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010179|110179|989898|1|9999010179|MR|Test|E|Lead 10179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010180|110180|989898|1|9999010180|MR|Test|E|Lead 10180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010181|110181|989898|1|9999010181|MR|Test|E|Lead 10181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010182|110182|989898|1|9999010182|MR|Test|E|Lead 10182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010183|110183|989898|1|9999010183|MR|Test|E|Lead 10183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010184|110184|989898|1|9999010184|MR|Test|E|Lead 10184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010185|110185|989898|1|9999010185|MR|Test|E|Lead 10185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010186|110186|989898|1|9999010186|MR|Test|E|Lead 10186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010187|110187|989898|1|9999010187|MR|Test|E|Lead 10187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010188|110188|989898|1|9999010188|MR|Test|E|Lead 10188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010189|110189|989898|1|9999010189|MR|Test|E|Lead 10189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010190|110190|989898|1|9999010190|MR|Test|E|Lead 10190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010191|110191|989898|1|9999010191|MR|Test|E|Lead 10191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010192|110192|989898|1|9999010192|MR|Test|E|Lead 10192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010193|110193|989898|1|9999010193|MR|Test|E|Lead 10193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010194|110194|989898|1|9999010194|MR|Test|E|Lead 10194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010195|110195|989898|1|9999010195|MR|Test|E|Lead 10195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010196|110196|989898|1|9999010196|MR|Test|E|Lead 10196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010197|110197|989898|1|9999010197|MR|Test|E|Lead 10197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010198|110198|989898|1|9999010198|MR|Test|E|Lead 10198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010199|110199|989898|1|9999010199|MR|Test|E|Lead 10199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010200|110200|989898|1|9999010200|MR|Test|E|Lead 10200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010201|110201|989898|1|9999010201|MR|Test|E|Lead 10201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010202|110202|989898|1|9999010202|MR|Test|E|Lead 10202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010203|110203|989898|1|9999010203|MR|Test|E|Lead 10203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010204|110204|989898|1|9999010204|MR|Test|E|Lead 10204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010205|110205|989898|1|9999010205|MR|Test|E|Lead 10205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010206|110206|989898|1|9999010206|MR|Test|E|Lead 10206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010207|110207|989898|1|9999010207|MR|Test|E|Lead 10207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010208|110208|989898|1|9999010208|MR|Test|E|Lead 10208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010209|110209|989898|1|9999010209|MR|Test|E|Lead 10209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010210|110210|989898|1|9999010210|MR|Test|E|Lead 10210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010211|110211|989898|1|9999010211|MR|Test|E|Lead 10211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010212|110212|989898|1|9999010212|MR|Test|E|Lead 10212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010213|110213|989898|1|9999010213|MR|Test|E|Lead 10213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010214|110214|989898|1|9999010214|MR|Test|E|Lead 10214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010215|110215|989898|1|9999010215|MR|Test|E|Lead 10215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010216|110216|989898|1|9999010216|MR|Test|E|Lead 10216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010217|110217|989898|1|9999010217|MR|Test|E|Lead 10217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010218|110218|989898|1|9999010218|MR|Test|E|Lead 10218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010219|110219|989898|1|9999010219|MR|Test|E|Lead 10219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010220|110220|989898|1|9999010220|MR|Test|E|Lead 10220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010221|110221|989898|1|9999010221|MR|Test|E|Lead 10221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010222|110222|989898|1|9999010222|MR|Test|E|Lead 10222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010223|110223|989898|1|9999010223|MR|Test|E|Lead 10223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010224|110224|989898|1|9999010224|MR|Test|E|Lead 10224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010225|110225|989898|1|9999010225|MR|Test|E|Lead 10225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010226|110226|989898|1|9999010226|MR|Test|E|Lead 10226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010227|110227|989898|1|9999010227|MR|Test|E|Lead 10227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010228|110228|989898|1|9999010228|MR|Test|E|Lead 10228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010229|110229|989898|1|9999010229|MR|Test|E|Lead 10229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010230|110230|989898|1|9999010230|MR|Test|E|Lead 10230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010231|110231|989898|1|9999010231|MR|Test|E|Lead 10231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010232|110232|989898|1|9999010232|MR|Test|E|Lead 10232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010233|110233|989898|1|9999010233|MR|Test|E|Lead 10233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010234|110234|989898|1|9999010234|MR|Test|E|Lead 10234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010235|110235|989898|1|9999010235|MR|Test|E|Lead 10235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010236|110236|989898|1|9999010236|MR|Test|E|Lead 10236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010237|110237|989898|1|9999010237|MR|Test|E|Lead 10237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010238|110238|989898|1|9999010238|MR|Test|E|Lead 10238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010239|110239|989898|1|9999010239|MR|Test|E|Lead 10239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010240|110240|989898|1|9999010240|MR|Test|E|Lead 10240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010241|110241|989898|1|9999010241|MR|Test|E|Lead 10241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010242|110242|989898|1|9999010242|MR|Test|E|Lead 10242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010243|110243|989898|1|9999010243|MR|Test|E|Lead 10243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010244|110244|989898|1|9999010244|MR|Test|E|Lead 10244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010245|110245|989898|1|9999010245|MR|Test|E|Lead 10245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010246|110246|989898|1|9999010246|MR|Test|E|Lead 10246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010247|110247|989898|1|9999010247|MR|Test|E|Lead 10247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010248|110248|989898|1|9999010248|MR|Test|E|Lead 10248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010249|110249|989898|1|9999010249|MR|Test|E|Lead 10249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010250|110250|989898|1|9999010250|MR|Test|E|Lead 10250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010251|110251|989898|1|9999010251|MR|Test|E|Lead 10251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010252|110252|989898|1|9999010252|MR|Test|E|Lead 10252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010253|110253|989898|1|9999010253|MR|Test|E|Lead 10253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010254|110254|989898|1|9999010254|MR|Test|E|Lead 10254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010255|110255|989898|1|9999010255|MR|Test|E|Lead 10255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010256|110256|989898|1|9999010256|MR|Test|E|Lead 10256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010257|110257|989898|1|9999010257|MR|Test|E|Lead 10257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010258|110258|989898|1|9999010258|MR|Test|E|Lead 10258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010259|110259|989898|1|9999010259|MR|Test|E|Lead 10259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010260|110260|989898|1|9999010260|MR|Test|E|Lead 10260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010261|110261|989898|1|9999010261|MR|Test|E|Lead 10261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010262|110262|989898|1|9999010262|MR|Test|E|Lead 10262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010263|110263|989898|1|9999010263|MR|Test|E|Lead 10263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010264|110264|989898|1|9999010264|MR|Test|E|Lead 10264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010265|110265|989898|1|9999010265|MR|Test|E|Lead 10265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010266|110266|989898|1|9999010266|MR|Test|E|Lead 10266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010267|110267|989898|1|9999010267|MR|Test|E|Lead 10267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010268|110268|989898|1|9999010268|MR|Test|E|Lead 10268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010269|110269|989898|1|9999010269|MR|Test|E|Lead 10269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010270|110270|989898|1|9999010270|MR|Test|E|Lead 10270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010271|110271|989898|1|9999010271|MR|Test|E|Lead 10271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010272|110272|989898|1|9999010272|MR|Test|E|Lead 10272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010273|110273|989898|1|9999010273|MR|Test|E|Lead 10273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010274|110274|989898|1|9999010274|MR|Test|E|Lead 10274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010275|110275|989898|1|9999010275|MR|Test|E|Lead 10275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010276|110276|989898|1|9999010276|MR|Test|E|Lead 10276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010277|110277|989898|1|9999010277|MR|Test|E|Lead 10277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010278|110278|989898|1|9999010278|MR|Test|E|Lead 10278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010279|110279|989898|1|9999010279|MR|Test|E|Lead 10279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010280|110280|989898|1|9999010280|MR|Test|E|Lead 10280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010281|110281|989898|1|9999010281|MR|Test|E|Lead 10281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010282|110282|989898|1|9999010282|MR|Test|E|Lead 10282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010283|110283|989898|1|9999010283|MR|Test|E|Lead 10283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010284|110284|989898|1|9999010284|MR|Test|E|Lead 10284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010285|110285|989898|1|9999010285|MR|Test|E|Lead 10285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010286|110286|989898|1|9999010286|MR|Test|E|Lead 10286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010287|110287|989898|1|9999010287|MR|Test|E|Lead 10287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010288|110288|989898|1|9999010288|MR|Test|E|Lead 10288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010289|110289|989898|1|9999010289|MR|Test|E|Lead 10289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010290|110290|989898|1|9999010290|MR|Test|E|Lead 10290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010291|110291|989898|1|9999010291|MR|Test|E|Lead 10291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010292|110292|989898|1|9999010292|MR|Test|E|Lead 10292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010293|110293|989898|1|9999010293|MR|Test|E|Lead 10293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010294|110294|989898|1|9999010294|MR|Test|E|Lead 10294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010295|110295|989898|1|9999010295|MR|Test|E|Lead 10295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010296|110296|989898|1|9999010296|MR|Test|E|Lead 10296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010297|110297|989898|1|9999010297|MR|Test|E|Lead 10297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010298|110298|989898|1|9999010298|MR|Test|E|Lead 10298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010299|110299|989898|1|9999010299|MR|Test|E|Lead 10299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010300|110300|989898|1|9999010300|MR|Test|E|Lead 10300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010301|110301|989898|1|9999010301|MR|Test|E|Lead 10301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010302|110302|989898|1|9999010302|MR|Test|E|Lead 10302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010303|110303|989898|1|9999010303|MR|Test|E|Lead 10303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010304|110304|989898|1|9999010304|MR|Test|E|Lead 10304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010305|110305|989898|1|9999010305|MR|Test|E|Lead 10305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010306|110306|989898|1|9999010306|MR|Test|E|Lead 10306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010307|110307|989898|1|9999010307|MR|Test|E|Lead 10307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010308|110308|989898|1|9999010308|MR|Test|E|Lead 10308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010309|110309|989898|1|9999010309|MR|Test|E|Lead 10309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010310|110310|989898|1|9999010310|MR|Test|E|Lead 10310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010311|110311|989898|1|9999010311|MR|Test|E|Lead 10311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010312|110312|989898|1|9999010312|MR|Test|E|Lead 10312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010313|110313|989898|1|9999010313|MR|Test|E|Lead 10313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010314|110314|989898|1|9999010314|MR|Test|E|Lead 10314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010315|110315|989898|1|9999010315|MR|Test|E|Lead 10315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010316|110316|989898|1|9999010316|MR|Test|E|Lead 10316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010317|110317|989898|1|9999010317|MR|Test|E|Lead 10317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010318|110318|989898|1|9999010318|MR|Test|E|Lead 10318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010319|110319|989898|1|9999010319|MR|Test|E|Lead 10319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010320|110320|989898|1|9999010320|MR|Test|E|Lead 10320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010321|110321|989898|1|9999010321|MR|Test|E|Lead 10321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010322|110322|989898|1|9999010322|MR|Test|E|Lead 10322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010323|110323|989898|1|9999010323|MR|Test|E|Lead 10323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010324|110324|989898|1|9999010324|MR|Test|E|Lead 10324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010325|110325|989898|1|9999010325|MR|Test|E|Lead 10325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010326|110326|989898|1|9999010326|MR|Test|E|Lead 10326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010327|110327|989898|1|9999010327|MR|Test|E|Lead 10327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010328|110328|989898|1|9999010328|MR|Test|E|Lead 10328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010329|110329|989898|1|9999010329|MR|Test|E|Lead 10329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010330|110330|989898|1|9999010330|MR|Test|E|Lead 10330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010331|110331|989898|1|9999010331|MR|Test|E|Lead 10331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010332|110332|989898|1|9999010332|MR|Test|E|Lead 10332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010333|110333|989898|1|9999010333|MR|Test|E|Lead 10333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010334|110334|989898|1|9999010334|MR|Test|E|Lead 10334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010335|110335|989898|1|9999010335|MR|Test|E|Lead 10335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010336|110336|989898|1|9999010336|MR|Test|E|Lead 10336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010337|110337|989898|1|9999010337|MR|Test|E|Lead 10337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010338|110338|989898|1|9999010338|MR|Test|E|Lead 10338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010339|110339|989898|1|9999010339|MR|Test|E|Lead 10339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010340|110340|989898|1|9999010340|MR|Test|E|Lead 10340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010341|110341|989898|1|9999010341|MR|Test|E|Lead 10341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010342|110342|989898|1|9999010342|MR|Test|E|Lead 10342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010343|110343|989898|1|9999010343|MR|Test|E|Lead 10343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010344|110344|989898|1|9999010344|MR|Test|E|Lead 10344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010345|110345|989898|1|9999010345|MR|Test|E|Lead 10345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010346|110346|989898|1|9999010346|MR|Test|E|Lead 10346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010347|110347|989898|1|9999010347|MR|Test|E|Lead 10347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010348|110348|989898|1|9999010348|MR|Test|E|Lead 10348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010349|110349|989898|1|9999010349|MR|Test|E|Lead 10349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010350|110350|989898|1|9999010350|MR|Test|E|Lead 10350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010351|110351|989898|1|9999010351|MR|Test|E|Lead 10351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010352|110352|989898|1|9999010352|MR|Test|E|Lead 10352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010353|110353|989898|1|9999010353|MR|Test|E|Lead 10353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010354|110354|989898|1|9999010354|MR|Test|E|Lead 10354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010355|110355|989898|1|9999010355|MR|Test|E|Lead 10355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010356|110356|989898|1|9999010356|MR|Test|E|Lead 10356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010357|110357|989898|1|9999010357|MR|Test|E|Lead 10357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010358|110358|989898|1|9999010358|MR|Test|E|Lead 10358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010359|110359|989898|1|9999010359|MR|Test|E|Lead 10359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010360|110360|989898|1|9999010360|MR|Test|E|Lead 10360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010361|110361|989898|1|9999010361|MR|Test|E|Lead 10361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010362|110362|989898|1|9999010362|MR|Test|E|Lead 10362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010363|110363|989898|1|9999010363|MR|Test|E|Lead 10363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010364|110364|989898|1|9999010364|MR|Test|E|Lead 10364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010365|110365|989898|1|9999010365|MR|Test|E|Lead 10365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010366|110366|989898|1|9999010366|MR|Test|E|Lead 10366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010367|110367|989898|1|9999010367|MR|Test|E|Lead 10367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010368|110368|989898|1|9999010368|MR|Test|E|Lead 10368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010369|110369|989898|1|9999010369|MR|Test|E|Lead 10369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010370|110370|989898|1|9999010370|MR|Test|E|Lead 10370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010371|110371|989898|1|9999010371|MR|Test|E|Lead 10371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010372|110372|989898|1|9999010372|MR|Test|E|Lead 10372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010373|110373|989898|1|9999010373|MR|Test|E|Lead 10373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010374|110374|989898|1|9999010374|MR|Test|E|Lead 10374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010375|110375|989898|1|9999010375|MR|Test|E|Lead 10375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010376|110376|989898|1|9999010376|MR|Test|E|Lead 10376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010377|110377|989898|1|9999010377|MR|Test|E|Lead 10377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010378|110378|989898|1|9999010378|MR|Test|E|Lead 10378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010379|110379|989898|1|9999010379|MR|Test|E|Lead 10379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010380|110380|989898|1|9999010380|MR|Test|E|Lead 10380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010381|110381|989898|1|9999010381|MR|Test|E|Lead 10381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010382|110382|989898|1|9999010382|MR|Test|E|Lead 10382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010383|110383|989898|1|9999010383|MR|Test|E|Lead 10383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010384|110384|989898|1|9999010384|MR|Test|E|Lead 10384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010385|110385|989898|1|9999010385|MR|Test|E|Lead 10385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010386|110386|989898|1|9999010386|MR|Test|E|Lead 10386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010387|110387|989898|1|9999010387|MR|Test|E|Lead 10387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010388|110388|989898|1|9999010388|MR|Test|E|Lead 10388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010389|110389|989898|1|9999010389|MR|Test|E|Lead 10389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010390|110390|989898|1|9999010390|MR|Test|E|Lead 10390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010391|110391|989898|1|9999010391|MR|Test|E|Lead 10391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010392|110392|989898|1|9999010392|MR|Test|E|Lead 10392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010393|110393|989898|1|9999010393|MR|Test|E|Lead 10393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010394|110394|989898|1|9999010394|MR|Test|E|Lead 10394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010395|110395|989898|1|9999010395|MR|Test|E|Lead 10395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010396|110396|989898|1|9999010396|MR|Test|E|Lead 10396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010397|110397|989898|1|9999010397|MR|Test|E|Lead 10397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010398|110398|989898|1|9999010398|MR|Test|E|Lead 10398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010399|110399|989898|1|9999010399|MR|Test|E|Lead 10399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010400|110400|989898|1|9999010400|MR|Test|E|Lead 10400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010401|110401|989898|1|9999010401|MR|Test|E|Lead 10401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010402|110402|989898|1|9999010402|MR|Test|E|Lead 10402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010403|110403|989898|1|9999010403|MR|Test|E|Lead 10403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010404|110404|989898|1|9999010404|MR|Test|E|Lead 10404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010405|110405|989898|1|9999010405|MR|Test|E|Lead 10405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010406|110406|989898|1|9999010406|MR|Test|E|Lead 10406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010407|110407|989898|1|9999010407|MR|Test|E|Lead 10407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010408|110408|989898|1|9999010408|MR|Test|E|Lead 10408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010409|110409|989898|1|9999010409|MR|Test|E|Lead 10409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010410|110410|989898|1|9999010410|MR|Test|E|Lead 10410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010411|110411|989898|1|9999010411|MR|Test|E|Lead 10411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010412|110412|989898|1|9999010412|MR|Test|E|Lead 10412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010413|110413|989898|1|9999010413|MR|Test|E|Lead 10413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010414|110414|989898|1|9999010414|MR|Test|E|Lead 10414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010415|110415|989898|1|9999010415|MR|Test|E|Lead 10415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010416|110416|989898|1|9999010416|MR|Test|E|Lead 10416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010417|110417|989898|1|9999010417|MR|Test|E|Lead 10417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010418|110418|989898|1|9999010418|MR|Test|E|Lead 10418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010419|110419|989898|1|9999010419|MR|Test|E|Lead 10419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010420|110420|989898|1|9999010420|MR|Test|E|Lead 10420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010421|110421|989898|1|9999010421|MR|Test|E|Lead 10421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010422|110422|989898|1|9999010422|MR|Test|E|Lead 10422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010423|110423|989898|1|9999010423|MR|Test|E|Lead 10423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010424|110424|989898|1|9999010424|MR|Test|E|Lead 10424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010425|110425|989898|1|9999010425|MR|Test|E|Lead 10425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010426|110426|989898|1|9999010426|MR|Test|E|Lead 10426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010427|110427|989898|1|9999010427|MR|Test|E|Lead 10427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010428|110428|989898|1|9999010428|MR|Test|E|Lead 10428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010429|110429|989898|1|9999010429|MR|Test|E|Lead 10429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010430|110430|989898|1|9999010430|MR|Test|E|Lead 10430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010431|110431|989898|1|9999010431|MR|Test|E|Lead 10431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010432|110432|989898|1|9999010432|MR|Test|E|Lead 10432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010433|110433|989898|1|9999010433|MR|Test|E|Lead 10433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010434|110434|989898|1|9999010434|MR|Test|E|Lead 10434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010435|110435|989898|1|9999010435|MR|Test|E|Lead 10435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010436|110436|989898|1|9999010436|MR|Test|E|Lead 10436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010437|110437|989898|1|9999010437|MR|Test|E|Lead 10437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010438|110438|989898|1|9999010438|MR|Test|E|Lead 10438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010439|110439|989898|1|9999010439|MR|Test|E|Lead 10439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010440|110440|989898|1|9999010440|MR|Test|E|Lead 10440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010441|110441|989898|1|9999010441|MR|Test|E|Lead 10441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010442|110442|989898|1|9999010442|MR|Test|E|Lead 10442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010443|110443|989898|1|9999010443|MR|Test|E|Lead 10443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010444|110444|989898|1|9999010444|MR|Test|E|Lead 10444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010445|110445|989898|1|9999010445|MR|Test|E|Lead 10445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010446|110446|989898|1|9999010446|MR|Test|E|Lead 10446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010447|110447|989898|1|9999010447|MR|Test|E|Lead 10447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010448|110448|989898|1|9999010448|MR|Test|E|Lead 10448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010449|110449|989898|1|9999010449|MR|Test|E|Lead 10449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010450|110450|989898|1|9999010450|MR|Test|E|Lead 10450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010451|110451|989898|1|9999010451|MR|Test|E|Lead 10451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010452|110452|989898|1|9999010452|MR|Test|E|Lead 10452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010453|110453|989898|1|9999010453|MR|Test|E|Lead 10453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010454|110454|989898|1|9999010454|MR|Test|E|Lead 10454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010455|110455|989898|1|9999010455|MR|Test|E|Lead 10455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010456|110456|989898|1|9999010456|MR|Test|E|Lead 10456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010457|110457|989898|1|9999010457|MR|Test|E|Lead 10457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010458|110458|989898|1|9999010458|MR|Test|E|Lead 10458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010459|110459|989898|1|9999010459|MR|Test|E|Lead 10459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010460|110460|989898|1|9999010460|MR|Test|E|Lead 10460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010461|110461|989898|1|9999010461|MR|Test|E|Lead 10461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010462|110462|989898|1|9999010462|MR|Test|E|Lead 10462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010463|110463|989898|1|9999010463|MR|Test|E|Lead 10463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010464|110464|989898|1|9999010464|MR|Test|E|Lead 10464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010465|110465|989898|1|9999010465|MR|Test|E|Lead 10465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010466|110466|989898|1|9999010466|MR|Test|E|Lead 10466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010467|110467|989898|1|9999010467|MR|Test|E|Lead 10467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010468|110468|989898|1|9999010468|MR|Test|E|Lead 10468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010469|110469|989898|1|9999010469|MR|Test|E|Lead 10469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010470|110470|989898|1|9999010470|MR|Test|E|Lead 10470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010471|110471|989898|1|9999010471|MR|Test|E|Lead 10471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010472|110472|989898|1|9999010472|MR|Test|E|Lead 10472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010473|110473|989898|1|9999010473|MR|Test|E|Lead 10473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010474|110474|989898|1|9999010474|MR|Test|E|Lead 10474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010475|110475|989898|1|9999010475|MR|Test|E|Lead 10475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010476|110476|989898|1|9999010476|MR|Test|E|Lead 10476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010477|110477|989898|1|9999010477|MR|Test|E|Lead 10477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010478|110478|989898|1|9999010478|MR|Test|E|Lead 10478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010479|110479|989898|1|9999010479|MR|Test|E|Lead 10479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010480|110480|989898|1|9999010480|MR|Test|E|Lead 10480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010481|110481|989898|1|9999010481|MR|Test|E|Lead 10481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010482|110482|989898|1|9999010482|MR|Test|E|Lead 10482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010483|110483|989898|1|9999010483|MR|Test|E|Lead 10483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010484|110484|989898|1|9999010484|MR|Test|E|Lead 10484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010485|110485|989898|1|9999010485|MR|Test|E|Lead 10485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010486|110486|989898|1|9999010486|MR|Test|E|Lead 10486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010487|110487|989898|1|9999010487|MR|Test|E|Lead 10487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010488|110488|989898|1|9999010488|MR|Test|E|Lead 10488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010489|110489|989898|1|9999010489|MR|Test|E|Lead 10489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010490|110490|989898|1|9999010490|MR|Test|E|Lead 10490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010491|110491|989898|1|9999010491|MR|Test|E|Lead 10491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010492|110492|989898|1|9999010492|MR|Test|E|Lead 10492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010493|110493|989898|1|9999010493|MR|Test|E|Lead 10493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010494|110494|989898|1|9999010494|MR|Test|E|Lead 10494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010495|110495|989898|1|9999010495|MR|Test|E|Lead 10495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010496|110496|989898|1|9999010496|MR|Test|E|Lead 10496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010497|110497|989898|1|9999010497|MR|Test|E|Lead 10497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010498|110498|989898|1|9999010498|MR|Test|E|Lead 10498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010499|110499|989898|1|9999010499|MR|Test|E|Lead 10499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010500|110500|989898|1|9999010500|MR|Test|E|Lead 10500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010501|110501|989898|1|9999010501|MR|Test|E|Lead 10501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010502|110502|989898|1|9999010502|MR|Test|E|Lead 10502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010503|110503|989898|1|9999010503|MR|Test|E|Lead 10503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010504|110504|989898|1|9999010504|MR|Test|E|Lead 10504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010505|110505|989898|1|9999010505|MR|Test|E|Lead 10505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010506|110506|989898|1|9999010506|MR|Test|E|Lead 10506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010507|110507|989898|1|9999010507|MR|Test|E|Lead 10507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010508|110508|989898|1|9999010508|MR|Test|E|Lead 10508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010509|110509|989898|1|9999010509|MR|Test|E|Lead 10509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010510|110510|989898|1|9999010510|MR|Test|E|Lead 10510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010511|110511|989898|1|9999010511|MR|Test|E|Lead 10511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010512|110512|989898|1|9999010512|MR|Test|E|Lead 10512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010513|110513|989898|1|9999010513|MR|Test|E|Lead 10513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010514|110514|989898|1|9999010514|MR|Test|E|Lead 10514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010515|110515|989898|1|9999010515|MR|Test|E|Lead 10515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010516|110516|989898|1|9999010516|MR|Test|E|Lead 10516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010517|110517|989898|1|9999010517|MR|Test|E|Lead 10517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010518|110518|989898|1|9999010518|MR|Test|E|Lead 10518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010519|110519|989898|1|9999010519|MR|Test|E|Lead 10519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010520|110520|989898|1|9999010520|MR|Test|E|Lead 10520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010521|110521|989898|1|9999010521|MR|Test|E|Lead 10521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010522|110522|989898|1|9999010522|MR|Test|E|Lead 10522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010523|110523|989898|1|9999010523|MR|Test|E|Lead 10523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010524|110524|989898|1|9999010524|MR|Test|E|Lead 10524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010525|110525|989898|1|9999010525|MR|Test|E|Lead 10525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010526|110526|989898|1|9999010526|MR|Test|E|Lead 10526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010527|110527|989898|1|9999010527|MR|Test|E|Lead 10527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010528|110528|989898|1|9999010528|MR|Test|E|Lead 10528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010529|110529|989898|1|9999010529|MR|Test|E|Lead 10529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010530|110530|989898|1|9999010530|MR|Test|E|Lead 10530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010531|110531|989898|1|9999010531|MR|Test|E|Lead 10531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010532|110532|989898|1|9999010532|MR|Test|E|Lead 10532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010533|110533|989898|1|9999010533|MR|Test|E|Lead 10533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010534|110534|989898|1|9999010534|MR|Test|E|Lead 10534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010535|110535|989898|1|9999010535|MR|Test|E|Lead 10535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010536|110536|989898|1|9999010536|MR|Test|E|Lead 10536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010537|110537|989898|1|9999010537|MR|Test|E|Lead 10537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010538|110538|989898|1|9999010538|MR|Test|E|Lead 10538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010539|110539|989898|1|9999010539|MR|Test|E|Lead 10539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010540|110540|989898|1|9999010540|MR|Test|E|Lead 10540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010541|110541|989898|1|9999010541|MR|Test|E|Lead 10541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010542|110542|989898|1|9999010542|MR|Test|E|Lead 10542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010543|110543|989898|1|9999010543|MR|Test|E|Lead 10543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010544|110544|989898|1|9999010544|MR|Test|E|Lead 10544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010545|110545|989898|1|9999010545|MR|Test|E|Lead 10545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010546|110546|989898|1|9999010546|MR|Test|E|Lead 10546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010547|110547|989898|1|9999010547|MR|Test|E|Lead 10547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010548|110548|989898|1|9999010548|MR|Test|E|Lead 10548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010549|110549|989898|1|9999010549|MR|Test|E|Lead 10549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010550|110550|989898|1|9999010550|MR|Test|E|Lead 10550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010551|110551|989898|1|9999010551|MR|Test|E|Lead 10551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010552|110552|989898|1|9999010552|MR|Test|E|Lead 10552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010553|110553|989898|1|9999010553|MR|Test|E|Lead 10553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010554|110554|989898|1|9999010554|MR|Test|E|Lead 10554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010555|110555|989898|1|9999010555|MR|Test|E|Lead 10555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010556|110556|989898|1|9999010556|MR|Test|E|Lead 10556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010557|110557|989898|1|9999010557|MR|Test|E|Lead 10557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010558|110558|989898|1|9999010558|MR|Test|E|Lead 10558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010559|110559|989898|1|9999010559|MR|Test|E|Lead 10559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010560|110560|989898|1|9999010560|MR|Test|E|Lead 10560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010561|110561|989898|1|9999010561|MR|Test|E|Lead 10561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010562|110562|989898|1|9999010562|MR|Test|E|Lead 10562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010563|110563|989898|1|9999010563|MR|Test|E|Lead 10563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010564|110564|989898|1|9999010564|MR|Test|E|Lead 10564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010565|110565|989898|1|9999010565|MR|Test|E|Lead 10565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010566|110566|989898|1|9999010566|MR|Test|E|Lead 10566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010567|110567|989898|1|9999010567|MR|Test|E|Lead 10567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010568|110568|989898|1|9999010568|MR|Test|E|Lead 10568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010569|110569|989898|1|9999010569|MR|Test|E|Lead 10569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010570|110570|989898|1|9999010570|MR|Test|E|Lead 10570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010571|110571|989898|1|9999010571|MR|Test|E|Lead 10571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010572|110572|989898|1|9999010572|MR|Test|E|Lead 10572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010573|110573|989898|1|9999010573|MR|Test|E|Lead 10573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010574|110574|989898|1|9999010574|MR|Test|E|Lead 10574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010575|110575|989898|1|9999010575|MR|Test|E|Lead 10575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010576|110576|989898|1|9999010576|MR|Test|E|Lead 10576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010577|110577|989898|1|9999010577|MR|Test|E|Lead 10577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010578|110578|989898|1|9999010578|MR|Test|E|Lead 10578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010579|110579|989898|1|9999010579|MR|Test|E|Lead 10579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010580|110580|989898|1|9999010580|MR|Test|E|Lead 10580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010581|110581|989898|1|9999010581|MR|Test|E|Lead 10581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010582|110582|989898|1|9999010582|MR|Test|E|Lead 10582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010583|110583|989898|1|9999010583|MR|Test|E|Lead 10583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010584|110584|989898|1|9999010584|MR|Test|E|Lead 10584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010585|110585|989898|1|9999010585|MR|Test|E|Lead 10585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010586|110586|989898|1|9999010586|MR|Test|E|Lead 10586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010587|110587|989898|1|9999010587|MR|Test|E|Lead 10587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010588|110588|989898|1|9999010588|MR|Test|E|Lead 10588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010589|110589|989898|1|9999010589|MR|Test|E|Lead 10589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010590|110590|989898|1|9999010590|MR|Test|E|Lead 10590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010591|110591|989898|1|9999010591|MR|Test|E|Lead 10591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010592|110592|989898|1|9999010592|MR|Test|E|Lead 10592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010593|110593|989898|1|9999010593|MR|Test|E|Lead 10593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010594|110594|989898|1|9999010594|MR|Test|E|Lead 10594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010595|110595|989898|1|9999010595|MR|Test|E|Lead 10595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010596|110596|989898|1|9999010596|MR|Test|E|Lead 10596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010597|110597|989898|1|9999010597|MR|Test|E|Lead 10597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010598|110598|989898|1|9999010598|MR|Test|E|Lead 10598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010599|110599|989898|1|9999010599|MR|Test|E|Lead 10599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010600|110600|989898|1|9999010600|MR|Test|E|Lead 10600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010601|110601|989898|1|9999010601|MR|Test|E|Lead 10601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010602|110602|989898|1|9999010602|MR|Test|E|Lead 10602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010603|110603|989898|1|9999010603|MR|Test|E|Lead 10603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010604|110604|989898|1|9999010604|MR|Test|E|Lead 10604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010605|110605|989898|1|9999010605|MR|Test|E|Lead 10605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010606|110606|989898|1|9999010606|MR|Test|E|Lead 10606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010607|110607|989898|1|9999010607|MR|Test|E|Lead 10607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010608|110608|989898|1|9999010608|MR|Test|E|Lead 10608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010609|110609|989898|1|9999010609|MR|Test|E|Lead 10609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010610|110610|989898|1|9999010610|MR|Test|E|Lead 10610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010611|110611|989898|1|9999010611|MR|Test|E|Lead 10611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010612|110612|989898|1|9999010612|MR|Test|E|Lead 10612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010613|110613|989898|1|9999010613|MR|Test|E|Lead 10613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010614|110614|989898|1|9999010614|MR|Test|E|Lead 10614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010615|110615|989898|1|9999010615|MR|Test|E|Lead 10615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010616|110616|989898|1|9999010616|MR|Test|E|Lead 10616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010617|110617|989898|1|9999010617|MR|Test|E|Lead 10617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010618|110618|989898|1|9999010618|MR|Test|E|Lead 10618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010619|110619|989898|1|9999010619|MR|Test|E|Lead 10619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010620|110620|989898|1|9999010620|MR|Test|E|Lead 10620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010621|110621|989898|1|9999010621|MR|Test|E|Lead 10621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010622|110622|989898|1|9999010622|MR|Test|E|Lead 10622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010623|110623|989898|1|9999010623|MR|Test|E|Lead 10623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010624|110624|989898|1|9999010624|MR|Test|E|Lead 10624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010625|110625|989898|1|9999010625|MR|Test|E|Lead 10625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010626|110626|989898|1|9999010626|MR|Test|E|Lead 10626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010627|110627|989898|1|9999010627|MR|Test|E|Lead 10627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010628|110628|989898|1|9999010628|MR|Test|E|Lead 10628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010629|110629|989898|1|9999010629|MR|Test|E|Lead 10629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010630|110630|989898|1|9999010630|MR|Test|E|Lead 10630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010631|110631|989898|1|9999010631|MR|Test|E|Lead 10631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010632|110632|989898|1|9999010632|MR|Test|E|Lead 10632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010633|110633|989898|1|9999010633|MR|Test|E|Lead 10633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010634|110634|989898|1|9999010634|MR|Test|E|Lead 10634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010635|110635|989898|1|9999010635|MR|Test|E|Lead 10635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010636|110636|989898|1|9999010636|MR|Test|E|Lead 10636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010637|110637|989898|1|9999010637|MR|Test|E|Lead 10637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010638|110638|989898|1|9999010638|MR|Test|E|Lead 10638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010639|110639|989898|1|9999010639|MR|Test|E|Lead 10639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010640|110640|989898|1|9999010640|MR|Test|E|Lead 10640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010641|110641|989898|1|9999010641|MR|Test|E|Lead 10641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010642|110642|989898|1|9999010642|MR|Test|E|Lead 10642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010643|110643|989898|1|9999010643|MR|Test|E|Lead 10643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010644|110644|989898|1|9999010644|MR|Test|E|Lead 10644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010645|110645|989898|1|9999010645|MR|Test|E|Lead 10645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010646|110646|989898|1|9999010646|MR|Test|E|Lead 10646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010647|110647|989898|1|9999010647|MR|Test|E|Lead 10647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010648|110648|989898|1|9999010648|MR|Test|E|Lead 10648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010649|110649|989898|1|9999010649|MR|Test|E|Lead 10649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010650|110650|989898|1|9999010650|MR|Test|E|Lead 10650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010651|110651|989898|1|9999010651|MR|Test|E|Lead 10651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010652|110652|989898|1|9999010652|MR|Test|E|Lead 10652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010653|110653|989898|1|9999010653|MR|Test|E|Lead 10653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010654|110654|989898|1|9999010654|MR|Test|E|Lead 10654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010655|110655|989898|1|9999010655|MR|Test|E|Lead 10655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010656|110656|989898|1|9999010656|MR|Test|E|Lead 10656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010657|110657|989898|1|9999010657|MR|Test|E|Lead 10657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010658|110658|989898|1|9999010658|MR|Test|E|Lead 10658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010659|110659|989898|1|9999010659|MR|Test|E|Lead 10659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010660|110660|989898|1|9999010660|MR|Test|E|Lead 10660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010661|110661|989898|1|9999010661|MR|Test|E|Lead 10661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010662|110662|989898|1|9999010662|MR|Test|E|Lead 10662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010663|110663|989898|1|9999010663|MR|Test|E|Lead 10663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010664|110664|989898|1|9999010664|MR|Test|E|Lead 10664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010665|110665|989898|1|9999010665|MR|Test|E|Lead 10665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010666|110666|989898|1|9999010666|MR|Test|E|Lead 10666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010667|110667|989898|1|9999010667|MR|Test|E|Lead 10667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010668|110668|989898|1|9999010668|MR|Test|E|Lead 10668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010669|110669|989898|1|9999010669|MR|Test|E|Lead 10669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010670|110670|989898|1|9999010670|MR|Test|E|Lead 10670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010671|110671|989898|1|9999010671|MR|Test|E|Lead 10671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010672|110672|989898|1|9999010672|MR|Test|E|Lead 10672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010673|110673|989898|1|9999010673|MR|Test|E|Lead 10673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010674|110674|989898|1|9999010674|MR|Test|E|Lead 10674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010675|110675|989898|1|9999010675|MR|Test|E|Lead 10675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010676|110676|989898|1|9999010676|MR|Test|E|Lead 10676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010677|110677|989898|1|9999010677|MR|Test|E|Lead 10677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010678|110678|989898|1|9999010678|MR|Test|E|Lead 10678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010679|110679|989898|1|9999010679|MR|Test|E|Lead 10679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010680|110680|989898|1|9999010680|MR|Test|E|Lead 10680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010681|110681|989898|1|9999010681|MR|Test|E|Lead 10681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010682|110682|989898|1|9999010682|MR|Test|E|Lead 10682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010683|110683|989898|1|9999010683|MR|Test|E|Lead 10683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010684|110684|989898|1|9999010684|MR|Test|E|Lead 10684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010685|110685|989898|1|9999010685|MR|Test|E|Lead 10685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010686|110686|989898|1|9999010686|MR|Test|E|Lead 10686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010687|110687|989898|1|9999010687|MR|Test|E|Lead 10687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010688|110688|989898|1|9999010688|MR|Test|E|Lead 10688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010689|110689|989898|1|9999010689|MR|Test|E|Lead 10689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010690|110690|989898|1|9999010690|MR|Test|E|Lead 10690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010691|110691|989898|1|9999010691|MR|Test|E|Lead 10691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010692|110692|989898|1|9999010692|MR|Test|E|Lead 10692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010693|110693|989898|1|9999010693|MR|Test|E|Lead 10693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010694|110694|989898|1|9999010694|MR|Test|E|Lead 10694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010695|110695|989898|1|9999010695|MR|Test|E|Lead 10695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010696|110696|989898|1|9999010696|MR|Test|E|Lead 10696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010697|110697|989898|1|9999010697|MR|Test|E|Lead 10697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010698|110698|989898|1|9999010698|MR|Test|E|Lead 10698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010699|110699|989898|1|9999010699|MR|Test|E|Lead 10699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010700|110700|989898|1|9999010700|MR|Test|E|Lead 10700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010701|110701|989898|1|9999010701|MR|Test|E|Lead 10701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010702|110702|989898|1|9999010702|MR|Test|E|Lead 10702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010703|110703|989898|1|9999010703|MR|Test|E|Lead 10703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010704|110704|989898|1|9999010704|MR|Test|E|Lead 10704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010705|110705|989898|1|9999010705|MR|Test|E|Lead 10705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010706|110706|989898|1|9999010706|MR|Test|E|Lead 10706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010707|110707|989898|1|9999010707|MR|Test|E|Lead 10707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010708|110708|989898|1|9999010708|MR|Test|E|Lead 10708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010709|110709|989898|1|9999010709|MR|Test|E|Lead 10709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010710|110710|989898|1|9999010710|MR|Test|E|Lead 10710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010711|110711|989898|1|9999010711|MR|Test|E|Lead 10711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010712|110712|989898|1|9999010712|MR|Test|E|Lead 10712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010713|110713|989898|1|9999010713|MR|Test|E|Lead 10713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010714|110714|989898|1|9999010714|MR|Test|E|Lead 10714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010715|110715|989898|1|9999010715|MR|Test|E|Lead 10715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010716|110716|989898|1|9999010716|MR|Test|E|Lead 10716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010717|110717|989898|1|9999010717|MR|Test|E|Lead 10717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010718|110718|989898|1|9999010718|MR|Test|E|Lead 10718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010719|110719|989898|1|9999010719|MR|Test|E|Lead 10719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010720|110720|989898|1|9999010720|MR|Test|E|Lead 10720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010721|110721|989898|1|9999010721|MR|Test|E|Lead 10721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010722|110722|989898|1|9999010722|MR|Test|E|Lead 10722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010723|110723|989898|1|9999010723|MR|Test|E|Lead 10723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010724|110724|989898|1|9999010724|MR|Test|E|Lead 10724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010725|110725|989898|1|9999010725|MR|Test|E|Lead 10725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010726|110726|989898|1|9999010726|MR|Test|E|Lead 10726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010727|110727|989898|1|9999010727|MR|Test|E|Lead 10727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010728|110728|989898|1|9999010728|MR|Test|E|Lead 10728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010729|110729|989898|1|9999010729|MR|Test|E|Lead 10729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010730|110730|989898|1|9999010730|MR|Test|E|Lead 10730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010731|110731|989898|1|9999010731|MR|Test|E|Lead 10731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010732|110732|989898|1|9999010732|MR|Test|E|Lead 10732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010733|110733|989898|1|9999010733|MR|Test|E|Lead 10733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010734|110734|989898|1|9999010734|MR|Test|E|Lead 10734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010735|110735|989898|1|9999010735|MR|Test|E|Lead 10735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010736|110736|989898|1|9999010736|MR|Test|E|Lead 10736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010737|110737|989898|1|9999010737|MR|Test|E|Lead 10737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010738|110738|989898|1|9999010738|MR|Test|E|Lead 10738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010739|110739|989898|1|9999010739|MR|Test|E|Lead 10739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010740|110740|989898|1|9999010740|MR|Test|E|Lead 10740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010741|110741|989898|1|9999010741|MR|Test|E|Lead 10741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010742|110742|989898|1|9999010742|MR|Test|E|Lead 10742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010743|110743|989898|1|9999010743|MR|Test|E|Lead 10743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010744|110744|989898|1|9999010744|MR|Test|E|Lead 10744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010745|110745|989898|1|9999010745|MR|Test|E|Lead 10745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010746|110746|989898|1|9999010746|MR|Test|E|Lead 10746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010747|110747|989898|1|9999010747|MR|Test|E|Lead 10747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010748|110748|989898|1|9999010748|MR|Test|E|Lead 10748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010749|110749|989898|1|9999010749|MR|Test|E|Lead 10749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010750|110750|989898|1|9999010750|MR|Test|E|Lead 10750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010751|110751|989898|1|9999010751|MR|Test|E|Lead 10751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010752|110752|989898|1|9999010752|MR|Test|E|Lead 10752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010753|110753|989898|1|9999010753|MR|Test|E|Lead 10753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010754|110754|989898|1|9999010754|MR|Test|E|Lead 10754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010755|110755|989898|1|9999010755|MR|Test|E|Lead 10755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010756|110756|989898|1|9999010756|MR|Test|E|Lead 10756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010757|110757|989898|1|9999010757|MR|Test|E|Lead 10757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010758|110758|989898|1|9999010758|MR|Test|E|Lead 10758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010759|110759|989898|1|9999010759|MR|Test|E|Lead 10759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010760|110760|989898|1|9999010760|MR|Test|E|Lead 10760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010761|110761|989898|1|9999010761|MR|Test|E|Lead 10761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010762|110762|989898|1|9999010762|MR|Test|E|Lead 10762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010763|110763|989898|1|9999010763|MR|Test|E|Lead 10763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010764|110764|989898|1|9999010764|MR|Test|E|Lead 10764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010765|110765|989898|1|9999010765|MR|Test|E|Lead 10765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010766|110766|989898|1|9999010766|MR|Test|E|Lead 10766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010767|110767|989898|1|9999010767|MR|Test|E|Lead 10767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010768|110768|989898|1|9999010768|MR|Test|E|Lead 10768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010769|110769|989898|1|9999010769|MR|Test|E|Lead 10769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010770|110770|989898|1|9999010770|MR|Test|E|Lead 10770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010771|110771|989898|1|9999010771|MR|Test|E|Lead 10771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010772|110772|989898|1|9999010772|MR|Test|E|Lead 10772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010773|110773|989898|1|9999010773|MR|Test|E|Lead 10773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010774|110774|989898|1|9999010774|MR|Test|E|Lead 10774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010775|110775|989898|1|9999010775|MR|Test|E|Lead 10775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010776|110776|989898|1|9999010776|MR|Test|E|Lead 10776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010777|110777|989898|1|9999010777|MR|Test|E|Lead 10777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010778|110778|989898|1|9999010778|MR|Test|E|Lead 10778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010779|110779|989898|1|9999010779|MR|Test|E|Lead 10779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010780|110780|989898|1|9999010780|MR|Test|E|Lead 10780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010781|110781|989898|1|9999010781|MR|Test|E|Lead 10781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010782|110782|989898|1|9999010782|MR|Test|E|Lead 10782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010783|110783|989898|1|9999010783|MR|Test|E|Lead 10783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010784|110784|989898|1|9999010784|MR|Test|E|Lead 10784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010785|110785|989898|1|9999010785|MR|Test|E|Lead 10785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010786|110786|989898|1|9999010786|MR|Test|E|Lead 10786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010787|110787|989898|1|9999010787|MR|Test|E|Lead 10787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010788|110788|989898|1|9999010788|MR|Test|E|Lead 10788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010789|110789|989898|1|9999010789|MR|Test|E|Lead 10789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010790|110790|989898|1|9999010790|MR|Test|E|Lead 10790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010791|110791|989898|1|9999010791|MR|Test|E|Lead 10791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010792|110792|989898|1|9999010792|MR|Test|E|Lead 10792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010793|110793|989898|1|9999010793|MR|Test|E|Lead 10793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010794|110794|989898|1|9999010794|MR|Test|E|Lead 10794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010795|110795|989898|1|9999010795|MR|Test|E|Lead 10795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010796|110796|989898|1|9999010796|MR|Test|E|Lead 10796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010797|110797|989898|1|9999010797|MR|Test|E|Lead 10797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010798|110798|989898|1|9999010798|MR|Test|E|Lead 10798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010799|110799|989898|1|9999010799|MR|Test|E|Lead 10799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010800|110800|989898|1|9999010800|MR|Test|E|Lead 10800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010801|110801|989898|1|9999010801|MR|Test|E|Lead 10801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010802|110802|989898|1|9999010802|MR|Test|E|Lead 10802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010803|110803|989898|1|9999010803|MR|Test|E|Lead 10803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010804|110804|989898|1|9999010804|MR|Test|E|Lead 10804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010805|110805|989898|1|9999010805|MR|Test|E|Lead 10805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010806|110806|989898|1|9999010806|MR|Test|E|Lead 10806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010807|110807|989898|1|9999010807|MR|Test|E|Lead 10807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010808|110808|989898|1|9999010808|MR|Test|E|Lead 10808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010809|110809|989898|1|9999010809|MR|Test|E|Lead 10809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010810|110810|989898|1|9999010810|MR|Test|E|Lead 10810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010811|110811|989898|1|9999010811|MR|Test|E|Lead 10811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010812|110812|989898|1|9999010812|MR|Test|E|Lead 10812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010813|110813|989898|1|9999010813|MR|Test|E|Lead 10813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010814|110814|989898|1|9999010814|MR|Test|E|Lead 10814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010815|110815|989898|1|9999010815|MR|Test|E|Lead 10815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010816|110816|989898|1|9999010816|MR|Test|E|Lead 10816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010817|110817|989898|1|9999010817|MR|Test|E|Lead 10817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010818|110818|989898|1|9999010818|MR|Test|E|Lead 10818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010819|110819|989898|1|9999010819|MR|Test|E|Lead 10819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010820|110820|989898|1|9999010820|MR|Test|E|Lead 10820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010821|110821|989898|1|9999010821|MR|Test|E|Lead 10821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010822|110822|989898|1|9999010822|MR|Test|E|Lead 10822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010823|110823|989898|1|9999010823|MR|Test|E|Lead 10823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010824|110824|989898|1|9999010824|MR|Test|E|Lead 10824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010825|110825|989898|1|9999010825|MR|Test|E|Lead 10825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010826|110826|989898|1|9999010826|MR|Test|E|Lead 10826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010827|110827|989898|1|9999010827|MR|Test|E|Lead 10827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010828|110828|989898|1|9999010828|MR|Test|E|Lead 10828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010829|110829|989898|1|9999010829|MR|Test|E|Lead 10829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010830|110830|989898|1|9999010830|MR|Test|E|Lead 10830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010831|110831|989898|1|9999010831|MR|Test|E|Lead 10831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010832|110832|989898|1|9999010832|MR|Test|E|Lead 10832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010833|110833|989898|1|9999010833|MR|Test|E|Lead 10833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010834|110834|989898|1|9999010834|MR|Test|E|Lead 10834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010835|110835|989898|1|9999010835|MR|Test|E|Lead 10835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010836|110836|989898|1|9999010836|MR|Test|E|Lead 10836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010837|110837|989898|1|9999010837|MR|Test|E|Lead 10837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010838|110838|989898|1|9999010838|MR|Test|E|Lead 10838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010839|110839|989898|1|9999010839|MR|Test|E|Lead 10839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010840|110840|989898|1|9999010840|MR|Test|E|Lead 10840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010841|110841|989898|1|9999010841|MR|Test|E|Lead 10841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010842|110842|989898|1|9999010842|MR|Test|E|Lead 10842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010843|110843|989898|1|9999010843|MR|Test|E|Lead 10843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010844|110844|989898|1|9999010844|MR|Test|E|Lead 10844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010845|110845|989898|1|9999010845|MR|Test|E|Lead 10845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010846|110846|989898|1|9999010846|MR|Test|E|Lead 10846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010847|110847|989898|1|9999010847|MR|Test|E|Lead 10847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010848|110848|989898|1|9999010848|MR|Test|E|Lead 10848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010849|110849|989898|1|9999010849|MR|Test|E|Lead 10849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010850|110850|989898|1|9999010850|MR|Test|E|Lead 10850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010851|110851|989898|1|9999010851|MR|Test|E|Lead 10851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010852|110852|989898|1|9999010852|MR|Test|E|Lead 10852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010853|110853|989898|1|9999010853|MR|Test|E|Lead 10853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010854|110854|989898|1|9999010854|MR|Test|E|Lead 10854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010855|110855|989898|1|9999010855|MR|Test|E|Lead 10855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010856|110856|989898|1|9999010856|MR|Test|E|Lead 10856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010857|110857|989898|1|9999010857|MR|Test|E|Lead 10857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010858|110858|989898|1|9999010858|MR|Test|E|Lead 10858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010859|110859|989898|1|9999010859|MR|Test|E|Lead 10859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010860|110860|989898|1|9999010860|MR|Test|E|Lead 10860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010861|110861|989898|1|9999010861|MR|Test|E|Lead 10861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010862|110862|989898|1|9999010862|MR|Test|E|Lead 10862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010863|110863|989898|1|9999010863|MR|Test|E|Lead 10863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010864|110864|989898|1|9999010864|MR|Test|E|Lead 10864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010865|110865|989898|1|9999010865|MR|Test|E|Lead 10865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010866|110866|989898|1|9999010866|MR|Test|E|Lead 10866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010867|110867|989898|1|9999010867|MR|Test|E|Lead 10867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010868|110868|989898|1|9999010868|MR|Test|E|Lead 10868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010869|110869|989898|1|9999010869|MR|Test|E|Lead 10869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010870|110870|989898|1|9999010870|MR|Test|E|Lead 10870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010871|110871|989898|1|9999010871|MR|Test|E|Lead 10871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010872|110872|989898|1|9999010872|MR|Test|E|Lead 10872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010873|110873|989898|1|9999010873|MR|Test|E|Lead 10873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010874|110874|989898|1|9999010874|MR|Test|E|Lead 10874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010875|110875|989898|1|9999010875|MR|Test|E|Lead 10875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010876|110876|989898|1|9999010876|MR|Test|E|Lead 10876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010877|110877|989898|1|9999010877|MR|Test|E|Lead 10877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010878|110878|989898|1|9999010878|MR|Test|E|Lead 10878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010879|110879|989898|1|9999010879|MR|Test|E|Lead 10879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010880|110880|989898|1|9999010880|MR|Test|E|Lead 10880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010881|110881|989898|1|9999010881|MR|Test|E|Lead 10881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010882|110882|989898|1|9999010882|MR|Test|E|Lead 10882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010883|110883|989898|1|9999010883|MR|Test|E|Lead 10883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010884|110884|989898|1|9999010884|MR|Test|E|Lead 10884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010885|110885|989898|1|9999010885|MR|Test|E|Lead 10885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010886|110886|989898|1|9999010886|MR|Test|E|Lead 10886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010887|110887|989898|1|9999010887|MR|Test|E|Lead 10887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010888|110888|989898|1|9999010888|MR|Test|E|Lead 10888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010889|110889|989898|1|9999010889|MR|Test|E|Lead 10889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010890|110890|989898|1|9999010890|MR|Test|E|Lead 10890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010891|110891|989898|1|9999010891|MR|Test|E|Lead 10891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010892|110892|989898|1|9999010892|MR|Test|E|Lead 10892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010893|110893|989898|1|9999010893|MR|Test|E|Lead 10893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010894|110894|989898|1|9999010894|MR|Test|E|Lead 10894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010895|110895|989898|1|9999010895|MR|Test|E|Lead 10895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010896|110896|989898|1|9999010896|MR|Test|E|Lead 10896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010897|110897|989898|1|9999010897|MR|Test|E|Lead 10897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010898|110898|989898|1|9999010898|MR|Test|E|Lead 10898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010899|110899|989898|1|9999010899|MR|Test|E|Lead 10899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010900|110900|989898|1|9999010900|MR|Test|E|Lead 10900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010901|110901|989898|1|9999010901|MR|Test|E|Lead 10901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010902|110902|989898|1|9999010902|MR|Test|E|Lead 10902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010903|110903|989898|1|9999010903|MR|Test|E|Lead 10903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010904|110904|989898|1|9999010904|MR|Test|E|Lead 10904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010905|110905|989898|1|9999010905|MR|Test|E|Lead 10905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010906|110906|989898|1|9999010906|MR|Test|E|Lead 10906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010907|110907|989898|1|9999010907|MR|Test|E|Lead 10907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010908|110908|989898|1|9999010908|MR|Test|E|Lead 10908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010909|110909|989898|1|9999010909|MR|Test|E|Lead 10909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010910|110910|989898|1|9999010910|MR|Test|E|Lead 10910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010911|110911|989898|1|9999010911|MR|Test|E|Lead 10911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010912|110912|989898|1|9999010912|MR|Test|E|Lead 10912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010913|110913|989898|1|9999010913|MR|Test|E|Lead 10913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010914|110914|989898|1|9999010914|MR|Test|E|Lead 10914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010915|110915|989898|1|9999010915|MR|Test|E|Lead 10915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010916|110916|989898|1|9999010916|MR|Test|E|Lead 10916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010917|110917|989898|1|9999010917|MR|Test|E|Lead 10917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010918|110918|989898|1|9999010918|MR|Test|E|Lead 10918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010919|110919|989898|1|9999010919|MR|Test|E|Lead 10919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010920|110920|989898|1|9999010920|MR|Test|E|Lead 10920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010921|110921|989898|1|9999010921|MR|Test|E|Lead 10921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010922|110922|989898|1|9999010922|MR|Test|E|Lead 10922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010923|110923|989898|1|9999010923|MR|Test|E|Lead 10923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010924|110924|989898|1|9999010924|MR|Test|E|Lead 10924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010925|110925|989898|1|9999010925|MR|Test|E|Lead 10925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010926|110926|989898|1|9999010926|MR|Test|E|Lead 10926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010927|110927|989898|1|9999010927|MR|Test|E|Lead 10927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010928|110928|989898|1|9999010928|MR|Test|E|Lead 10928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010929|110929|989898|1|9999010929|MR|Test|E|Lead 10929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010930|110930|989898|1|9999010930|MR|Test|E|Lead 10930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010931|110931|989898|1|9999010931|MR|Test|E|Lead 10931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010932|110932|989898|1|9999010932|MR|Test|E|Lead 10932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010933|110933|989898|1|9999010933|MR|Test|E|Lead 10933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010934|110934|989898|1|9999010934|MR|Test|E|Lead 10934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010935|110935|989898|1|9999010935|MR|Test|E|Lead 10935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010936|110936|989898|1|9999010936|MR|Test|E|Lead 10936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010937|110937|989898|1|9999010937|MR|Test|E|Lead 10937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010938|110938|989898|1|9999010938|MR|Test|E|Lead 10938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010939|110939|989898|1|9999010939|MR|Test|E|Lead 10939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010940|110940|989898|1|9999010940|MR|Test|E|Lead 10940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010941|110941|989898|1|9999010941|MR|Test|E|Lead 10941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010942|110942|989898|1|9999010942|MR|Test|E|Lead 10942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010943|110943|989898|1|9999010943|MR|Test|E|Lead 10943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010944|110944|989898|1|9999010944|MR|Test|E|Lead 10944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010945|110945|989898|1|9999010945|MR|Test|E|Lead 10945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010946|110946|989898|1|9999010946|MR|Test|E|Lead 10946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010947|110947|989898|1|9999010947|MR|Test|E|Lead 10947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010948|110948|989898|1|9999010948|MR|Test|E|Lead 10948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010949|110949|989898|1|9999010949|MR|Test|E|Lead 10949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010950|110950|989898|1|9999010950|MR|Test|E|Lead 10950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010951|110951|989898|1|9999010951|MR|Test|E|Lead 10951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010952|110952|989898|1|9999010952|MR|Test|E|Lead 10952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010953|110953|989898|1|9999010953|MR|Test|E|Lead 10953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010954|110954|989898|1|9999010954|MR|Test|E|Lead 10954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010955|110955|989898|1|9999010955|MR|Test|E|Lead 10955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010956|110956|989898|1|9999010956|MR|Test|E|Lead 10956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010957|110957|989898|1|9999010957|MR|Test|E|Lead 10957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010958|110958|989898|1|9999010958|MR|Test|E|Lead 10958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010959|110959|989898|1|9999010959|MR|Test|E|Lead 10959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010960|110960|989898|1|9999010960|MR|Test|E|Lead 10960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010961|110961|989898|1|9999010961|MR|Test|E|Lead 10961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010962|110962|989898|1|9999010962|MR|Test|E|Lead 10962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010963|110963|989898|1|9999010963|MR|Test|E|Lead 10963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010964|110964|989898|1|9999010964|MR|Test|E|Lead 10964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010965|110965|989898|1|9999010965|MR|Test|E|Lead 10965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010966|110966|989898|1|9999010966|MR|Test|E|Lead 10966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010967|110967|989898|1|9999010967|MR|Test|E|Lead 10967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010968|110968|989898|1|9999010968|MR|Test|E|Lead 10968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010969|110969|989898|1|9999010969|MR|Test|E|Lead 10969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010970|110970|989898|1|9999010970|MR|Test|E|Lead 10970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010971|110971|989898|1|9999010971|MR|Test|E|Lead 10971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010972|110972|989898|1|9999010972|MR|Test|E|Lead 10972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010973|110973|989898|1|9999010973|MR|Test|E|Lead 10973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010974|110974|989898|1|9999010974|MR|Test|E|Lead 10974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010975|110975|989898|1|9999010975|MR|Test|E|Lead 10975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010976|110976|989898|1|9999010976|MR|Test|E|Lead 10976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010977|110977|989898|1|9999010977|MR|Test|E|Lead 10977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010978|110978|989898|1|9999010978|MR|Test|E|Lead 10978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010979|110979|989898|1|9999010979|MR|Test|E|Lead 10979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010980|110980|989898|1|9999010980|MR|Test|E|Lead 10980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010981|110981|989898|1|9999010981|MR|Test|E|Lead 10981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010982|110982|989898|1|9999010982|MR|Test|E|Lead 10982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010983|110983|989898|1|9999010983|MR|Test|E|Lead 10983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010984|110984|989898|1|9999010984|MR|Test|E|Lead 10984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010985|110985|989898|1|9999010985|MR|Test|E|Lead 10985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010986|110986|989898|1|9999010986|MR|Test|E|Lead 10986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010987|110987|989898|1|9999010987|MR|Test|E|Lead 10987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010988|110988|989898|1|9999010988|MR|Test|E|Lead 10988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010989|110989|989898|1|9999010989|MR|Test|E|Lead 10989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010990|110990|989898|1|9999010990|MR|Test|E|Lead 10990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010991|110991|989898|1|9999010991|MR|Test|E|Lead 10991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010992|110992|989898|1|9999010992|MR|Test|E|Lead 10992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010993|110993|989898|1|9999010993|MR|Test|E|Lead 10993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010994|110994|989898|1|9999010994|MR|Test|E|Lead 10994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010995|110995|989898|1|9999010995|MR|Test|E|Lead 10995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010996|110996|989898|1|9999010996|MR|Test|E|Lead 10996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010997|110997|989898|1|9999010997|MR|Test|E|Lead 10997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010998|110998|989898|1|9999010998|MR|Test|E|Lead 10998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1010999|110999|989898|1|9999010999|MR|Test|E|Lead 10999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011000|111000|989898|1|9999011000|MR|Test|E|Lead 11000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011001|111001|989898|1|9999011001|MR|Test|E|Lead 11001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011002|111002|989898|1|9999011002|MR|Test|E|Lead 11002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011003|111003|989898|1|9999011003|MR|Test|E|Lead 11003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011004|111004|989898|1|9999011004|MR|Test|E|Lead 11004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011005|111005|989898|1|9999011005|MR|Test|E|Lead 11005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011006|111006|989898|1|9999011006|MR|Test|E|Lead 11006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011007|111007|989898|1|9999011007|MR|Test|E|Lead 11007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011008|111008|989898|1|9999011008|MR|Test|E|Lead 11008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011009|111009|989898|1|9999011009|MR|Test|E|Lead 11009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011010|111010|989898|1|9999011010|MR|Test|E|Lead 11010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011011|111011|989898|1|9999011011|MR|Test|E|Lead 11011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011012|111012|989898|1|9999011012|MR|Test|E|Lead 11012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011013|111013|989898|1|9999011013|MR|Test|E|Lead 11013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011014|111014|989898|1|9999011014|MR|Test|E|Lead 11014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011015|111015|989898|1|9999011015|MR|Test|E|Lead 11015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011016|111016|989898|1|9999011016|MR|Test|E|Lead 11016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011017|111017|989898|1|9999011017|MR|Test|E|Lead 11017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011018|111018|989898|1|9999011018|MR|Test|E|Lead 11018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011019|111019|989898|1|9999011019|MR|Test|E|Lead 11019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011020|111020|989898|1|9999011020|MR|Test|E|Lead 11020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011021|111021|989898|1|9999011021|MR|Test|E|Lead 11021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011022|111022|989898|1|9999011022|MR|Test|E|Lead 11022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011023|111023|989898|1|9999011023|MR|Test|E|Lead 11023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011024|111024|989898|1|9999011024|MR|Test|E|Lead 11024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011025|111025|989898|1|9999011025|MR|Test|E|Lead 11025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011026|111026|989898|1|9999011026|MR|Test|E|Lead 11026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011027|111027|989898|1|9999011027|MR|Test|E|Lead 11027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011028|111028|989898|1|9999011028|MR|Test|E|Lead 11028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011029|111029|989898|1|9999011029|MR|Test|E|Lead 11029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011030|111030|989898|1|9999011030|MR|Test|E|Lead 11030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011031|111031|989898|1|9999011031|MR|Test|E|Lead 11031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011032|111032|989898|1|9999011032|MR|Test|E|Lead 11032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011033|111033|989898|1|9999011033|MR|Test|E|Lead 11033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011034|111034|989898|1|9999011034|MR|Test|E|Lead 11034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011035|111035|989898|1|9999011035|MR|Test|E|Lead 11035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011036|111036|989898|1|9999011036|MR|Test|E|Lead 11036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011037|111037|989898|1|9999011037|MR|Test|E|Lead 11037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011038|111038|989898|1|9999011038|MR|Test|E|Lead 11038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011039|111039|989898|1|9999011039|MR|Test|E|Lead 11039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011040|111040|989898|1|9999011040|MR|Test|E|Lead 11040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011041|111041|989898|1|9999011041|MR|Test|E|Lead 11041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011042|111042|989898|1|9999011042|MR|Test|E|Lead 11042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011043|111043|989898|1|9999011043|MR|Test|E|Lead 11043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011044|111044|989898|1|9999011044|MR|Test|E|Lead 11044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011045|111045|989898|1|9999011045|MR|Test|E|Lead 11045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011046|111046|989898|1|9999011046|MR|Test|E|Lead 11046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011047|111047|989898|1|9999011047|MR|Test|E|Lead 11047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011048|111048|989898|1|9999011048|MR|Test|E|Lead 11048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011049|111049|989898|1|9999011049|MR|Test|E|Lead 11049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011050|111050|989898|1|9999011050|MR|Test|E|Lead 11050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011051|111051|989898|1|9999011051|MR|Test|E|Lead 11051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011052|111052|989898|1|9999011052|MR|Test|E|Lead 11052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011053|111053|989898|1|9999011053|MR|Test|E|Lead 11053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011054|111054|989898|1|9999011054|MR|Test|E|Lead 11054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011055|111055|989898|1|9999011055|MR|Test|E|Lead 11055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011056|111056|989898|1|9999011056|MR|Test|E|Lead 11056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011057|111057|989898|1|9999011057|MR|Test|E|Lead 11057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011058|111058|989898|1|9999011058|MR|Test|E|Lead 11058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011059|111059|989898|1|9999011059|MR|Test|E|Lead 11059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011060|111060|989898|1|9999011060|MR|Test|E|Lead 11060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011061|111061|989898|1|9999011061|MR|Test|E|Lead 11061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011062|111062|989898|1|9999011062|MR|Test|E|Lead 11062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011063|111063|989898|1|9999011063|MR|Test|E|Lead 11063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011064|111064|989898|1|9999011064|MR|Test|E|Lead 11064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011065|111065|989898|1|9999011065|MR|Test|E|Lead 11065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011066|111066|989898|1|9999011066|MR|Test|E|Lead 11066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011067|111067|989898|1|9999011067|MR|Test|E|Lead 11067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011068|111068|989898|1|9999011068|MR|Test|E|Lead 11068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011069|111069|989898|1|9999011069|MR|Test|E|Lead 11069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011070|111070|989898|1|9999011070|MR|Test|E|Lead 11070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011071|111071|989898|1|9999011071|MR|Test|E|Lead 11071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011072|111072|989898|1|9999011072|MR|Test|E|Lead 11072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011073|111073|989898|1|9999011073|MR|Test|E|Lead 11073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011074|111074|989898|1|9999011074|MR|Test|E|Lead 11074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011075|111075|989898|1|9999011075|MR|Test|E|Lead 11075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011076|111076|989898|1|9999011076|MR|Test|E|Lead 11076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011077|111077|989898|1|9999011077|MR|Test|E|Lead 11077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011078|111078|989898|1|9999011078|MR|Test|E|Lead 11078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011079|111079|989898|1|9999011079|MR|Test|E|Lead 11079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011080|111080|989898|1|9999011080|MR|Test|E|Lead 11080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011081|111081|989898|1|9999011081|MR|Test|E|Lead 11081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011082|111082|989898|1|9999011082|MR|Test|E|Lead 11082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011083|111083|989898|1|9999011083|MR|Test|E|Lead 11083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011084|111084|989898|1|9999011084|MR|Test|E|Lead 11084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011085|111085|989898|1|9999011085|MR|Test|E|Lead 11085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011086|111086|989898|1|9999011086|MR|Test|E|Lead 11086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011087|111087|989898|1|9999011087|MR|Test|E|Lead 11087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011088|111088|989898|1|9999011088|MR|Test|E|Lead 11088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011089|111089|989898|1|9999011089|MR|Test|E|Lead 11089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011090|111090|989898|1|9999011090|MR|Test|E|Lead 11090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011091|111091|989898|1|9999011091|MR|Test|E|Lead 11091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011092|111092|989898|1|9999011092|MR|Test|E|Lead 11092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011093|111093|989898|1|9999011093|MR|Test|E|Lead 11093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011094|111094|989898|1|9999011094|MR|Test|E|Lead 11094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011095|111095|989898|1|9999011095|MR|Test|E|Lead 11095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011096|111096|989898|1|9999011096|MR|Test|E|Lead 11096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011097|111097|989898|1|9999011097|MR|Test|E|Lead 11097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011098|111098|989898|1|9999011098|MR|Test|E|Lead 11098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011099|111099|989898|1|9999011099|MR|Test|E|Lead 11099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011100|111100|989898|1|9999011100|MR|Test|E|Lead 11100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011101|111101|989898|1|9999011101|MR|Test|E|Lead 11101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011102|111102|989898|1|9999011102|MR|Test|E|Lead 11102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011103|111103|989898|1|9999011103|MR|Test|E|Lead 11103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011104|111104|989898|1|9999011104|MR|Test|E|Lead 11104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011105|111105|989898|1|9999011105|MR|Test|E|Lead 11105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011106|111106|989898|1|9999011106|MR|Test|E|Lead 11106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011107|111107|989898|1|9999011107|MR|Test|E|Lead 11107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011108|111108|989898|1|9999011108|MR|Test|E|Lead 11108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011109|111109|989898|1|9999011109|MR|Test|E|Lead 11109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011110|111110|989898|1|9999011110|MR|Test|E|Lead 11110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011111|111111|989898|1|9999011111|MR|Test|E|Lead 11111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011112|111112|989898|1|9999011112|MR|Test|E|Lead 11112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011113|111113|989898|1|9999011113|MR|Test|E|Lead 11113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011114|111114|989898|1|9999011114|MR|Test|E|Lead 11114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011115|111115|989898|1|9999011115|MR|Test|E|Lead 11115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011116|111116|989898|1|9999011116|MR|Test|E|Lead 11116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011117|111117|989898|1|9999011117|MR|Test|E|Lead 11117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011118|111118|989898|1|9999011118|MR|Test|E|Lead 11118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011119|111119|989898|1|9999011119|MR|Test|E|Lead 11119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011120|111120|989898|1|9999011120|MR|Test|E|Lead 11120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011121|111121|989898|1|9999011121|MR|Test|E|Lead 11121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011122|111122|989898|1|9999011122|MR|Test|E|Lead 11122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011123|111123|989898|1|9999011123|MR|Test|E|Lead 11123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011124|111124|989898|1|9999011124|MR|Test|E|Lead 11124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011125|111125|989898|1|9999011125|MR|Test|E|Lead 11125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011126|111126|989898|1|9999011126|MR|Test|E|Lead 11126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011127|111127|989898|1|9999011127|MR|Test|E|Lead 11127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011128|111128|989898|1|9999011128|MR|Test|E|Lead 11128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011129|111129|989898|1|9999011129|MR|Test|E|Lead 11129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011130|111130|989898|1|9999011130|MR|Test|E|Lead 11130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011131|111131|989898|1|9999011131|MR|Test|E|Lead 11131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011132|111132|989898|1|9999011132|MR|Test|E|Lead 11132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011133|111133|989898|1|9999011133|MR|Test|E|Lead 11133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011134|111134|989898|1|9999011134|MR|Test|E|Lead 11134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011135|111135|989898|1|9999011135|MR|Test|E|Lead 11135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011136|111136|989898|1|9999011136|MR|Test|E|Lead 11136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011137|111137|989898|1|9999011137|MR|Test|E|Lead 11137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011138|111138|989898|1|9999011138|MR|Test|E|Lead 11138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011139|111139|989898|1|9999011139|MR|Test|E|Lead 11139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011140|111140|989898|1|9999011140|MR|Test|E|Lead 11140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011141|111141|989898|1|9999011141|MR|Test|E|Lead 11141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011142|111142|989898|1|9999011142|MR|Test|E|Lead 11142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011143|111143|989898|1|9999011143|MR|Test|E|Lead 11143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011144|111144|989898|1|9999011144|MR|Test|E|Lead 11144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011145|111145|989898|1|9999011145|MR|Test|E|Lead 11145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011146|111146|989898|1|9999011146|MR|Test|E|Lead 11146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011147|111147|989898|1|9999011147|MR|Test|E|Lead 11147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011148|111148|989898|1|9999011148|MR|Test|E|Lead 11148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011149|111149|989898|1|9999011149|MR|Test|E|Lead 11149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011150|111150|989898|1|9999011150|MR|Test|E|Lead 11150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011151|111151|989898|1|9999011151|MR|Test|E|Lead 11151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011152|111152|989898|1|9999011152|MR|Test|E|Lead 11152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011153|111153|989898|1|9999011153|MR|Test|E|Lead 11153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011154|111154|989898|1|9999011154|MR|Test|E|Lead 11154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011155|111155|989898|1|9999011155|MR|Test|E|Lead 11155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011156|111156|989898|1|9999011156|MR|Test|E|Lead 11156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011157|111157|989898|1|9999011157|MR|Test|E|Lead 11157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011158|111158|989898|1|9999011158|MR|Test|E|Lead 11158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011159|111159|989898|1|9999011159|MR|Test|E|Lead 11159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011160|111160|989898|1|9999011160|MR|Test|E|Lead 11160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011161|111161|989898|1|9999011161|MR|Test|E|Lead 11161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011162|111162|989898|1|9999011162|MR|Test|E|Lead 11162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011163|111163|989898|1|9999011163|MR|Test|E|Lead 11163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011164|111164|989898|1|9999011164|MR|Test|E|Lead 11164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011165|111165|989898|1|9999011165|MR|Test|E|Lead 11165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011166|111166|989898|1|9999011166|MR|Test|E|Lead 11166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011167|111167|989898|1|9999011167|MR|Test|E|Lead 11167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011168|111168|989898|1|9999011168|MR|Test|E|Lead 11168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011169|111169|989898|1|9999011169|MR|Test|E|Lead 11169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011170|111170|989898|1|9999011170|MR|Test|E|Lead 11170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011171|111171|989898|1|9999011171|MR|Test|E|Lead 11171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011172|111172|989898|1|9999011172|MR|Test|E|Lead 11172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011173|111173|989898|1|9999011173|MR|Test|E|Lead 11173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011174|111174|989898|1|9999011174|MR|Test|E|Lead 11174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011175|111175|989898|1|9999011175|MR|Test|E|Lead 11175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011176|111176|989898|1|9999011176|MR|Test|E|Lead 11176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011177|111177|989898|1|9999011177|MR|Test|E|Lead 11177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011178|111178|989898|1|9999011178|MR|Test|E|Lead 11178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011179|111179|989898|1|9999011179|MR|Test|E|Lead 11179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011180|111180|989898|1|9999011180|MR|Test|E|Lead 11180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011181|111181|989898|1|9999011181|MR|Test|E|Lead 11181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011182|111182|989898|1|9999011182|MR|Test|E|Lead 11182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011183|111183|989898|1|9999011183|MR|Test|E|Lead 11183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011184|111184|989898|1|9999011184|MR|Test|E|Lead 11184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011185|111185|989898|1|9999011185|MR|Test|E|Lead 11185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011186|111186|989898|1|9999011186|MR|Test|E|Lead 11186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011187|111187|989898|1|9999011187|MR|Test|E|Lead 11187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011188|111188|989898|1|9999011188|MR|Test|E|Lead 11188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011189|111189|989898|1|9999011189|MR|Test|E|Lead 11189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011190|111190|989898|1|9999011190|MR|Test|E|Lead 11190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011191|111191|989898|1|9999011191|MR|Test|E|Lead 11191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011192|111192|989898|1|9999011192|MR|Test|E|Lead 11192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011193|111193|989898|1|9999011193|MR|Test|E|Lead 11193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011194|111194|989898|1|9999011194|MR|Test|E|Lead 11194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011195|111195|989898|1|9999011195|MR|Test|E|Lead 11195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011196|111196|989898|1|9999011196|MR|Test|E|Lead 11196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011197|111197|989898|1|9999011197|MR|Test|E|Lead 11197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011198|111198|989898|1|9999011198|MR|Test|E|Lead 11198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011199|111199|989898|1|9999011199|MR|Test|E|Lead 11199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011200|111200|989898|1|9999011200|MR|Test|E|Lead 11200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011201|111201|989898|1|9999011201|MR|Test|E|Lead 11201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011202|111202|989898|1|9999011202|MR|Test|E|Lead 11202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011203|111203|989898|1|9999011203|MR|Test|E|Lead 11203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011204|111204|989898|1|9999011204|MR|Test|E|Lead 11204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011205|111205|989898|1|9999011205|MR|Test|E|Lead 11205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011206|111206|989898|1|9999011206|MR|Test|E|Lead 11206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011207|111207|989898|1|9999011207|MR|Test|E|Lead 11207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011208|111208|989898|1|9999011208|MR|Test|E|Lead 11208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011209|111209|989898|1|9999011209|MR|Test|E|Lead 11209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011210|111210|989898|1|9999011210|MR|Test|E|Lead 11210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011211|111211|989898|1|9999011211|MR|Test|E|Lead 11211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011212|111212|989898|1|9999011212|MR|Test|E|Lead 11212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011213|111213|989898|1|9999011213|MR|Test|E|Lead 11213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011214|111214|989898|1|9999011214|MR|Test|E|Lead 11214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011215|111215|989898|1|9999011215|MR|Test|E|Lead 11215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011216|111216|989898|1|9999011216|MR|Test|E|Lead 11216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011217|111217|989898|1|9999011217|MR|Test|E|Lead 11217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011218|111218|989898|1|9999011218|MR|Test|E|Lead 11218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011219|111219|989898|1|9999011219|MR|Test|E|Lead 11219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011220|111220|989898|1|9999011220|MR|Test|E|Lead 11220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011221|111221|989898|1|9999011221|MR|Test|E|Lead 11221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011222|111222|989898|1|9999011222|MR|Test|E|Lead 11222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011223|111223|989898|1|9999011223|MR|Test|E|Lead 11223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011224|111224|989898|1|9999011224|MR|Test|E|Lead 11224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011225|111225|989898|1|9999011225|MR|Test|E|Lead 11225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011226|111226|989898|1|9999011226|MR|Test|E|Lead 11226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011227|111227|989898|1|9999011227|MR|Test|E|Lead 11227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011228|111228|989898|1|9999011228|MR|Test|E|Lead 11228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011229|111229|989898|1|9999011229|MR|Test|E|Lead 11229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011230|111230|989898|1|9999011230|MR|Test|E|Lead 11230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011231|111231|989898|1|9999011231|MR|Test|E|Lead 11231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011232|111232|989898|1|9999011232|MR|Test|E|Lead 11232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011233|111233|989898|1|9999011233|MR|Test|E|Lead 11233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011234|111234|989898|1|9999011234|MR|Test|E|Lead 11234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011235|111235|989898|1|9999011235|MR|Test|E|Lead 11235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011236|111236|989898|1|9999011236|MR|Test|E|Lead 11236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011237|111237|989898|1|9999011237|MR|Test|E|Lead 11237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011238|111238|989898|1|9999011238|MR|Test|E|Lead 11238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011239|111239|989898|1|9999011239|MR|Test|E|Lead 11239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011240|111240|989898|1|9999011240|MR|Test|E|Lead 11240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011241|111241|989898|1|9999011241|MR|Test|E|Lead 11241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011242|111242|989898|1|9999011242|MR|Test|E|Lead 11242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011243|111243|989898|1|9999011243|MR|Test|E|Lead 11243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011244|111244|989898|1|9999011244|MR|Test|E|Lead 11244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011245|111245|989898|1|9999011245|MR|Test|E|Lead 11245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011246|111246|989898|1|9999011246|MR|Test|E|Lead 11246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011247|111247|989898|1|9999011247|MR|Test|E|Lead 11247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011248|111248|989898|1|9999011248|MR|Test|E|Lead 11248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011249|111249|989898|1|9999011249|MR|Test|E|Lead 11249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011250|111250|989898|1|9999011250|MR|Test|E|Lead 11250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011251|111251|989898|1|9999011251|MR|Test|E|Lead 11251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011252|111252|989898|1|9999011252|MR|Test|E|Lead 11252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011253|111253|989898|1|9999011253|MR|Test|E|Lead 11253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011254|111254|989898|1|9999011254|MR|Test|E|Lead 11254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011255|111255|989898|1|9999011255|MR|Test|E|Lead 11255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011256|111256|989898|1|9999011256|MR|Test|E|Lead 11256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011257|111257|989898|1|9999011257|MR|Test|E|Lead 11257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011258|111258|989898|1|9999011258|MR|Test|E|Lead 11258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011259|111259|989898|1|9999011259|MR|Test|E|Lead 11259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011260|111260|989898|1|9999011260|MR|Test|E|Lead 11260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011261|111261|989898|1|9999011261|MR|Test|E|Lead 11261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011262|111262|989898|1|9999011262|MR|Test|E|Lead 11262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011263|111263|989898|1|9999011263|MR|Test|E|Lead 11263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011264|111264|989898|1|9999011264|MR|Test|E|Lead 11264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011265|111265|989898|1|9999011265|MR|Test|E|Lead 11265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011266|111266|989898|1|9999011266|MR|Test|E|Lead 11266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011267|111267|989898|1|9999011267|MR|Test|E|Lead 11267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011268|111268|989898|1|9999011268|MR|Test|E|Lead 11268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011269|111269|989898|1|9999011269|MR|Test|E|Lead 11269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011270|111270|989898|1|9999011270|MR|Test|E|Lead 11270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011271|111271|989898|1|9999011271|MR|Test|E|Lead 11271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011272|111272|989898|1|9999011272|MR|Test|E|Lead 11272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011273|111273|989898|1|9999011273|MR|Test|E|Lead 11273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011274|111274|989898|1|9999011274|MR|Test|E|Lead 11274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011275|111275|989898|1|9999011275|MR|Test|E|Lead 11275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011276|111276|989898|1|9999011276|MR|Test|E|Lead 11276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011277|111277|989898|1|9999011277|MR|Test|E|Lead 11277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011278|111278|989898|1|9999011278|MR|Test|E|Lead 11278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011279|111279|989898|1|9999011279|MR|Test|E|Lead 11279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011280|111280|989898|1|9999011280|MR|Test|E|Lead 11280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011281|111281|989898|1|9999011281|MR|Test|E|Lead 11281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011282|111282|989898|1|9999011282|MR|Test|E|Lead 11282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011283|111283|989898|1|9999011283|MR|Test|E|Lead 11283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011284|111284|989898|1|9999011284|MR|Test|E|Lead 11284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011285|111285|989898|1|9999011285|MR|Test|E|Lead 11285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011286|111286|989898|1|9999011286|MR|Test|E|Lead 11286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011287|111287|989898|1|9999011287|MR|Test|E|Lead 11287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011288|111288|989898|1|9999011288|MR|Test|E|Lead 11288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011289|111289|989898|1|9999011289|MR|Test|E|Lead 11289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011290|111290|989898|1|9999011290|MR|Test|E|Lead 11290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011291|111291|989898|1|9999011291|MR|Test|E|Lead 11291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011292|111292|989898|1|9999011292|MR|Test|E|Lead 11292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011293|111293|989898|1|9999011293|MR|Test|E|Lead 11293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011294|111294|989898|1|9999011294|MR|Test|E|Lead 11294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011295|111295|989898|1|9999011295|MR|Test|E|Lead 11295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011296|111296|989898|1|9999011296|MR|Test|E|Lead 11296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011297|111297|989898|1|9999011297|MR|Test|E|Lead 11297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011298|111298|989898|1|9999011298|MR|Test|E|Lead 11298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011299|111299|989898|1|9999011299|MR|Test|E|Lead 11299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011300|111300|989898|1|9999011300|MR|Test|E|Lead 11300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011301|111301|989898|1|9999011301|MR|Test|E|Lead 11301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011302|111302|989898|1|9999011302|MR|Test|E|Lead 11302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011303|111303|989898|1|9999011303|MR|Test|E|Lead 11303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011304|111304|989898|1|9999011304|MR|Test|E|Lead 11304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011305|111305|989898|1|9999011305|MR|Test|E|Lead 11305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011306|111306|989898|1|9999011306|MR|Test|E|Lead 11306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011307|111307|989898|1|9999011307|MR|Test|E|Lead 11307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011308|111308|989898|1|9999011308|MR|Test|E|Lead 11308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011309|111309|989898|1|9999011309|MR|Test|E|Lead 11309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011310|111310|989898|1|9999011310|MR|Test|E|Lead 11310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011311|111311|989898|1|9999011311|MR|Test|E|Lead 11311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011312|111312|989898|1|9999011312|MR|Test|E|Lead 11312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011313|111313|989898|1|9999011313|MR|Test|E|Lead 11313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011314|111314|989898|1|9999011314|MR|Test|E|Lead 11314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011315|111315|989898|1|9999011315|MR|Test|E|Lead 11315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011316|111316|989898|1|9999011316|MR|Test|E|Lead 11316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011317|111317|989898|1|9999011317|MR|Test|E|Lead 11317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011318|111318|989898|1|9999011318|MR|Test|E|Lead 11318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011319|111319|989898|1|9999011319|MR|Test|E|Lead 11319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011320|111320|989898|1|9999011320|MR|Test|E|Lead 11320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011321|111321|989898|1|9999011321|MR|Test|E|Lead 11321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011322|111322|989898|1|9999011322|MR|Test|E|Lead 11322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011323|111323|989898|1|9999011323|MR|Test|E|Lead 11323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011324|111324|989898|1|9999011324|MR|Test|E|Lead 11324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011325|111325|989898|1|9999011325|MR|Test|E|Lead 11325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011326|111326|989898|1|9999011326|MR|Test|E|Lead 11326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011327|111327|989898|1|9999011327|MR|Test|E|Lead 11327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011328|111328|989898|1|9999011328|MR|Test|E|Lead 11328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011329|111329|989898|1|9999011329|MR|Test|E|Lead 11329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011330|111330|989898|1|9999011330|MR|Test|E|Lead 11330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011331|111331|989898|1|9999011331|MR|Test|E|Lead 11331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011332|111332|989898|1|9999011332|MR|Test|E|Lead 11332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011333|111333|989898|1|9999011333|MR|Test|E|Lead 11333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011334|111334|989898|1|9999011334|MR|Test|E|Lead 11334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011335|111335|989898|1|9999011335|MR|Test|E|Lead 11335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011336|111336|989898|1|9999011336|MR|Test|E|Lead 11336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011337|111337|989898|1|9999011337|MR|Test|E|Lead 11337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011338|111338|989898|1|9999011338|MR|Test|E|Lead 11338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011339|111339|989898|1|9999011339|MR|Test|E|Lead 11339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011340|111340|989898|1|9999011340|MR|Test|E|Lead 11340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011341|111341|989898|1|9999011341|MR|Test|E|Lead 11341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011342|111342|989898|1|9999011342|MR|Test|E|Lead 11342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011343|111343|989898|1|9999011343|MR|Test|E|Lead 11343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011344|111344|989898|1|9999011344|MR|Test|E|Lead 11344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011345|111345|989898|1|9999011345|MR|Test|E|Lead 11345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011346|111346|989898|1|9999011346|MR|Test|E|Lead 11346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011347|111347|989898|1|9999011347|MR|Test|E|Lead 11347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011348|111348|989898|1|9999011348|MR|Test|E|Lead 11348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011349|111349|989898|1|9999011349|MR|Test|E|Lead 11349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011350|111350|989898|1|9999011350|MR|Test|E|Lead 11350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011351|111351|989898|1|9999011351|MR|Test|E|Lead 11351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011352|111352|989898|1|9999011352|MR|Test|E|Lead 11352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011353|111353|989898|1|9999011353|MR|Test|E|Lead 11353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011354|111354|989898|1|9999011354|MR|Test|E|Lead 11354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011355|111355|989898|1|9999011355|MR|Test|E|Lead 11355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011356|111356|989898|1|9999011356|MR|Test|E|Lead 11356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011357|111357|989898|1|9999011357|MR|Test|E|Lead 11357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011358|111358|989898|1|9999011358|MR|Test|E|Lead 11358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011359|111359|989898|1|9999011359|MR|Test|E|Lead 11359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011360|111360|989898|1|9999011360|MR|Test|E|Lead 11360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011361|111361|989898|1|9999011361|MR|Test|E|Lead 11361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011362|111362|989898|1|9999011362|MR|Test|E|Lead 11362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011363|111363|989898|1|9999011363|MR|Test|E|Lead 11363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011364|111364|989898|1|9999011364|MR|Test|E|Lead 11364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011365|111365|989898|1|9999011365|MR|Test|E|Lead 11365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011366|111366|989898|1|9999011366|MR|Test|E|Lead 11366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011367|111367|989898|1|9999011367|MR|Test|E|Lead 11367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011368|111368|989898|1|9999011368|MR|Test|E|Lead 11368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011369|111369|989898|1|9999011369|MR|Test|E|Lead 11369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011370|111370|989898|1|9999011370|MR|Test|E|Lead 11370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011371|111371|989898|1|9999011371|MR|Test|E|Lead 11371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011372|111372|989898|1|9999011372|MR|Test|E|Lead 11372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011373|111373|989898|1|9999011373|MR|Test|E|Lead 11373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011374|111374|989898|1|9999011374|MR|Test|E|Lead 11374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011375|111375|989898|1|9999011375|MR|Test|E|Lead 11375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011376|111376|989898|1|9999011376|MR|Test|E|Lead 11376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011377|111377|989898|1|9999011377|MR|Test|E|Lead 11377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011378|111378|989898|1|9999011378|MR|Test|E|Lead 11378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011379|111379|989898|1|9999011379|MR|Test|E|Lead 11379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011380|111380|989898|1|9999011380|MR|Test|E|Lead 11380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011381|111381|989898|1|9999011381|MR|Test|E|Lead 11381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011382|111382|989898|1|9999011382|MR|Test|E|Lead 11382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011383|111383|989898|1|9999011383|MR|Test|E|Lead 11383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011384|111384|989898|1|9999011384|MR|Test|E|Lead 11384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011385|111385|989898|1|9999011385|MR|Test|E|Lead 11385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011386|111386|989898|1|9999011386|MR|Test|E|Lead 11386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011387|111387|989898|1|9999011387|MR|Test|E|Lead 11387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011388|111388|989898|1|9999011388|MR|Test|E|Lead 11388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011389|111389|989898|1|9999011389|MR|Test|E|Lead 11389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011390|111390|989898|1|9999011390|MR|Test|E|Lead 11390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011391|111391|989898|1|9999011391|MR|Test|E|Lead 11391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011392|111392|989898|1|9999011392|MR|Test|E|Lead 11392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011393|111393|989898|1|9999011393|MR|Test|E|Lead 11393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011394|111394|989898|1|9999011394|MR|Test|E|Lead 11394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011395|111395|989898|1|9999011395|MR|Test|E|Lead 11395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011396|111396|989898|1|9999011396|MR|Test|E|Lead 11396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011397|111397|989898|1|9999011397|MR|Test|E|Lead 11397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011398|111398|989898|1|9999011398|MR|Test|E|Lead 11398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011399|111399|989898|1|9999011399|MR|Test|E|Lead 11399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011400|111400|989898|1|9999011400|MR|Test|E|Lead 11400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011401|111401|989898|1|9999011401|MR|Test|E|Lead 11401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011402|111402|989898|1|9999011402|MR|Test|E|Lead 11402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011403|111403|989898|1|9999011403|MR|Test|E|Lead 11403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011404|111404|989898|1|9999011404|MR|Test|E|Lead 11404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011405|111405|989898|1|9999011405|MR|Test|E|Lead 11405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011406|111406|989898|1|9999011406|MR|Test|E|Lead 11406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011407|111407|989898|1|9999011407|MR|Test|E|Lead 11407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011408|111408|989898|1|9999011408|MR|Test|E|Lead 11408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011409|111409|989898|1|9999011409|MR|Test|E|Lead 11409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011410|111410|989898|1|9999011410|MR|Test|E|Lead 11410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011411|111411|989898|1|9999011411|MR|Test|E|Lead 11411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011412|111412|989898|1|9999011412|MR|Test|E|Lead 11412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011413|111413|989898|1|9999011413|MR|Test|E|Lead 11413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011414|111414|989898|1|9999011414|MR|Test|E|Lead 11414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011415|111415|989898|1|9999011415|MR|Test|E|Lead 11415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011416|111416|989898|1|9999011416|MR|Test|E|Lead 11416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011417|111417|989898|1|9999011417|MR|Test|E|Lead 11417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011418|111418|989898|1|9999011418|MR|Test|E|Lead 11418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011419|111419|989898|1|9999011419|MR|Test|E|Lead 11419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011420|111420|989898|1|9999011420|MR|Test|E|Lead 11420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011421|111421|989898|1|9999011421|MR|Test|E|Lead 11421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011422|111422|989898|1|9999011422|MR|Test|E|Lead 11422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011423|111423|989898|1|9999011423|MR|Test|E|Lead 11423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011424|111424|989898|1|9999011424|MR|Test|E|Lead 11424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011425|111425|989898|1|9999011425|MR|Test|E|Lead 11425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011426|111426|989898|1|9999011426|MR|Test|E|Lead 11426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011427|111427|989898|1|9999011427|MR|Test|E|Lead 11427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011428|111428|989898|1|9999011428|MR|Test|E|Lead 11428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011429|111429|989898|1|9999011429|MR|Test|E|Lead 11429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011430|111430|989898|1|9999011430|MR|Test|E|Lead 11430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011431|111431|989898|1|9999011431|MR|Test|E|Lead 11431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011432|111432|989898|1|9999011432|MR|Test|E|Lead 11432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011433|111433|989898|1|9999011433|MR|Test|E|Lead 11433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011434|111434|989898|1|9999011434|MR|Test|E|Lead 11434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011435|111435|989898|1|9999011435|MR|Test|E|Lead 11435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011436|111436|989898|1|9999011436|MR|Test|E|Lead 11436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011437|111437|989898|1|9999011437|MR|Test|E|Lead 11437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011438|111438|989898|1|9999011438|MR|Test|E|Lead 11438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011439|111439|989898|1|9999011439|MR|Test|E|Lead 11439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011440|111440|989898|1|9999011440|MR|Test|E|Lead 11440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011441|111441|989898|1|9999011441|MR|Test|E|Lead 11441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011442|111442|989898|1|9999011442|MR|Test|E|Lead 11442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011443|111443|989898|1|9999011443|MR|Test|E|Lead 11443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011444|111444|989898|1|9999011444|MR|Test|E|Lead 11444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011445|111445|989898|1|9999011445|MR|Test|E|Lead 11445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011446|111446|989898|1|9999011446|MR|Test|E|Lead 11446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011447|111447|989898|1|9999011447|MR|Test|E|Lead 11447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011448|111448|989898|1|9999011448|MR|Test|E|Lead 11448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011449|111449|989898|1|9999011449|MR|Test|E|Lead 11449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011450|111450|989898|1|9999011450|MR|Test|E|Lead 11450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011451|111451|989898|1|9999011451|MR|Test|E|Lead 11451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011452|111452|989898|1|9999011452|MR|Test|E|Lead 11452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011453|111453|989898|1|9999011453|MR|Test|E|Lead 11453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011454|111454|989898|1|9999011454|MR|Test|E|Lead 11454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011455|111455|989898|1|9999011455|MR|Test|E|Lead 11455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011456|111456|989898|1|9999011456|MR|Test|E|Lead 11456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011457|111457|989898|1|9999011457|MR|Test|E|Lead 11457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011458|111458|989898|1|9999011458|MR|Test|E|Lead 11458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011459|111459|989898|1|9999011459|MR|Test|E|Lead 11459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011460|111460|989898|1|9999011460|MR|Test|E|Lead 11460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011461|111461|989898|1|9999011461|MR|Test|E|Lead 11461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011462|111462|989898|1|9999011462|MR|Test|E|Lead 11462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011463|111463|989898|1|9999011463|MR|Test|E|Lead 11463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011464|111464|989898|1|9999011464|MR|Test|E|Lead 11464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011465|111465|989898|1|9999011465|MR|Test|E|Lead 11465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011466|111466|989898|1|9999011466|MR|Test|E|Lead 11466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011467|111467|989898|1|9999011467|MR|Test|E|Lead 11467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011468|111468|989898|1|9999011468|MR|Test|E|Lead 11468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011469|111469|989898|1|9999011469|MR|Test|E|Lead 11469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011470|111470|989898|1|9999011470|MR|Test|E|Lead 11470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011471|111471|989898|1|9999011471|MR|Test|E|Lead 11471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011472|111472|989898|1|9999011472|MR|Test|E|Lead 11472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011473|111473|989898|1|9999011473|MR|Test|E|Lead 11473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011474|111474|989898|1|9999011474|MR|Test|E|Lead 11474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011475|111475|989898|1|9999011475|MR|Test|E|Lead 11475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011476|111476|989898|1|9999011476|MR|Test|E|Lead 11476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011477|111477|989898|1|9999011477|MR|Test|E|Lead 11477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011478|111478|989898|1|9999011478|MR|Test|E|Lead 11478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011479|111479|989898|1|9999011479|MR|Test|E|Lead 11479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011480|111480|989898|1|9999011480|MR|Test|E|Lead 11480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011481|111481|989898|1|9999011481|MR|Test|E|Lead 11481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011482|111482|989898|1|9999011482|MR|Test|E|Lead 11482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011483|111483|989898|1|9999011483|MR|Test|E|Lead 11483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011484|111484|989898|1|9999011484|MR|Test|E|Lead 11484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011485|111485|989898|1|9999011485|MR|Test|E|Lead 11485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011486|111486|989898|1|9999011486|MR|Test|E|Lead 11486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011487|111487|989898|1|9999011487|MR|Test|E|Lead 11487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011488|111488|989898|1|9999011488|MR|Test|E|Lead 11488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011489|111489|989898|1|9999011489|MR|Test|E|Lead 11489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011490|111490|989898|1|9999011490|MR|Test|E|Lead 11490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011491|111491|989898|1|9999011491|MR|Test|E|Lead 11491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011492|111492|989898|1|9999011492|MR|Test|E|Lead 11492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011493|111493|989898|1|9999011493|MR|Test|E|Lead 11493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011494|111494|989898|1|9999011494|MR|Test|E|Lead 11494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011495|111495|989898|1|9999011495|MR|Test|E|Lead 11495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011496|111496|989898|1|9999011496|MR|Test|E|Lead 11496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011497|111497|989898|1|9999011497|MR|Test|E|Lead 11497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011498|111498|989898|1|9999011498|MR|Test|E|Lead 11498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011499|111499|989898|1|9999011499|MR|Test|E|Lead 11499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011500|111500|989898|1|9999011500|MR|Test|E|Lead 11500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011501|111501|989898|1|9999011501|MR|Test|E|Lead 11501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011502|111502|989898|1|9999011502|MR|Test|E|Lead 11502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011503|111503|989898|1|9999011503|MR|Test|E|Lead 11503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011504|111504|989898|1|9999011504|MR|Test|E|Lead 11504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011505|111505|989898|1|9999011505|MR|Test|E|Lead 11505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011506|111506|989898|1|9999011506|MR|Test|E|Lead 11506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011507|111507|989898|1|9999011507|MR|Test|E|Lead 11507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011508|111508|989898|1|9999011508|MR|Test|E|Lead 11508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011509|111509|989898|1|9999011509|MR|Test|E|Lead 11509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011510|111510|989898|1|9999011510|MR|Test|E|Lead 11510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011511|111511|989898|1|9999011511|MR|Test|E|Lead 11511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011512|111512|989898|1|9999011512|MR|Test|E|Lead 11512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011513|111513|989898|1|9999011513|MR|Test|E|Lead 11513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011514|111514|989898|1|9999011514|MR|Test|E|Lead 11514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011515|111515|989898|1|9999011515|MR|Test|E|Lead 11515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011516|111516|989898|1|9999011516|MR|Test|E|Lead 11516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011517|111517|989898|1|9999011517|MR|Test|E|Lead 11517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011518|111518|989898|1|9999011518|MR|Test|E|Lead 11518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011519|111519|989898|1|9999011519|MR|Test|E|Lead 11519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011520|111520|989898|1|9999011520|MR|Test|E|Lead 11520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011521|111521|989898|1|9999011521|MR|Test|E|Lead 11521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011522|111522|989898|1|9999011522|MR|Test|E|Lead 11522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011523|111523|989898|1|9999011523|MR|Test|E|Lead 11523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011524|111524|989898|1|9999011524|MR|Test|E|Lead 11524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011525|111525|989898|1|9999011525|MR|Test|E|Lead 11525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011526|111526|989898|1|9999011526|MR|Test|E|Lead 11526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011527|111527|989898|1|9999011527|MR|Test|E|Lead 11527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011528|111528|989898|1|9999011528|MR|Test|E|Lead 11528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011529|111529|989898|1|9999011529|MR|Test|E|Lead 11529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011530|111530|989898|1|9999011530|MR|Test|E|Lead 11530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011531|111531|989898|1|9999011531|MR|Test|E|Lead 11531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011532|111532|989898|1|9999011532|MR|Test|E|Lead 11532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011533|111533|989898|1|9999011533|MR|Test|E|Lead 11533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011534|111534|989898|1|9999011534|MR|Test|E|Lead 11534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011535|111535|989898|1|9999011535|MR|Test|E|Lead 11535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011536|111536|989898|1|9999011536|MR|Test|E|Lead 11536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011537|111537|989898|1|9999011537|MR|Test|E|Lead 11537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011538|111538|989898|1|9999011538|MR|Test|E|Lead 11538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011539|111539|989898|1|9999011539|MR|Test|E|Lead 11539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011540|111540|989898|1|9999011540|MR|Test|E|Lead 11540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011541|111541|989898|1|9999011541|MR|Test|E|Lead 11541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011542|111542|989898|1|9999011542|MR|Test|E|Lead 11542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011543|111543|989898|1|9999011543|MR|Test|E|Lead 11543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011544|111544|989898|1|9999011544|MR|Test|E|Lead 11544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011545|111545|989898|1|9999011545|MR|Test|E|Lead 11545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011546|111546|989898|1|9999011546|MR|Test|E|Lead 11546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011547|111547|989898|1|9999011547|MR|Test|E|Lead 11547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011548|111548|989898|1|9999011548|MR|Test|E|Lead 11548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011549|111549|989898|1|9999011549|MR|Test|E|Lead 11549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011550|111550|989898|1|9999011550|MR|Test|E|Lead 11550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011551|111551|989898|1|9999011551|MR|Test|E|Lead 11551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011552|111552|989898|1|9999011552|MR|Test|E|Lead 11552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011553|111553|989898|1|9999011553|MR|Test|E|Lead 11553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011554|111554|989898|1|9999011554|MR|Test|E|Lead 11554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011555|111555|989898|1|9999011555|MR|Test|E|Lead 11555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011556|111556|989898|1|9999011556|MR|Test|E|Lead 11556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011557|111557|989898|1|9999011557|MR|Test|E|Lead 11557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011558|111558|989898|1|9999011558|MR|Test|E|Lead 11558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011559|111559|989898|1|9999011559|MR|Test|E|Lead 11559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011560|111560|989898|1|9999011560|MR|Test|E|Lead 11560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011561|111561|989898|1|9999011561|MR|Test|E|Lead 11561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011562|111562|989898|1|9999011562|MR|Test|E|Lead 11562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011563|111563|989898|1|9999011563|MR|Test|E|Lead 11563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011564|111564|989898|1|9999011564|MR|Test|E|Lead 11564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011565|111565|989898|1|9999011565|MR|Test|E|Lead 11565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011566|111566|989898|1|9999011566|MR|Test|E|Lead 11566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011567|111567|989898|1|9999011567|MR|Test|E|Lead 11567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011568|111568|989898|1|9999011568|MR|Test|E|Lead 11568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011569|111569|989898|1|9999011569|MR|Test|E|Lead 11569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011570|111570|989898|1|9999011570|MR|Test|E|Lead 11570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011571|111571|989898|1|9999011571|MR|Test|E|Lead 11571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011572|111572|989898|1|9999011572|MR|Test|E|Lead 11572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011573|111573|989898|1|9999011573|MR|Test|E|Lead 11573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011574|111574|989898|1|9999011574|MR|Test|E|Lead 11574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011575|111575|989898|1|9999011575|MR|Test|E|Lead 11575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011576|111576|989898|1|9999011576|MR|Test|E|Lead 11576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011577|111577|989898|1|9999011577|MR|Test|E|Lead 11577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011578|111578|989898|1|9999011578|MR|Test|E|Lead 11578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011579|111579|989898|1|9999011579|MR|Test|E|Lead 11579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011580|111580|989898|1|9999011580|MR|Test|E|Lead 11580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011581|111581|989898|1|9999011581|MR|Test|E|Lead 11581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011582|111582|989898|1|9999011582|MR|Test|E|Lead 11582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011583|111583|989898|1|9999011583|MR|Test|E|Lead 11583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011584|111584|989898|1|9999011584|MR|Test|E|Lead 11584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011585|111585|989898|1|9999011585|MR|Test|E|Lead 11585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011586|111586|989898|1|9999011586|MR|Test|E|Lead 11586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011587|111587|989898|1|9999011587|MR|Test|E|Lead 11587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011588|111588|989898|1|9999011588|MR|Test|E|Lead 11588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011589|111589|989898|1|9999011589|MR|Test|E|Lead 11589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011590|111590|989898|1|9999011590|MR|Test|E|Lead 11590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011591|111591|989898|1|9999011591|MR|Test|E|Lead 11591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011592|111592|989898|1|9999011592|MR|Test|E|Lead 11592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011593|111593|989898|1|9999011593|MR|Test|E|Lead 11593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011594|111594|989898|1|9999011594|MR|Test|E|Lead 11594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011595|111595|989898|1|9999011595|MR|Test|E|Lead 11595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011596|111596|989898|1|9999011596|MR|Test|E|Lead 11596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011597|111597|989898|1|9999011597|MR|Test|E|Lead 11597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011598|111598|989898|1|9999011598|MR|Test|E|Lead 11598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011599|111599|989898|1|9999011599|MR|Test|E|Lead 11599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011600|111600|989898|1|9999011600|MR|Test|E|Lead 11600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011601|111601|989898|1|9999011601|MR|Test|E|Lead 11601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011602|111602|989898|1|9999011602|MR|Test|E|Lead 11602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011603|111603|989898|1|9999011603|MR|Test|E|Lead 11603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011604|111604|989898|1|9999011604|MR|Test|E|Lead 11604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011605|111605|989898|1|9999011605|MR|Test|E|Lead 11605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011606|111606|989898|1|9999011606|MR|Test|E|Lead 11606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011607|111607|989898|1|9999011607|MR|Test|E|Lead 11607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011608|111608|989898|1|9999011608|MR|Test|E|Lead 11608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011609|111609|989898|1|9999011609|MR|Test|E|Lead 11609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011610|111610|989898|1|9999011610|MR|Test|E|Lead 11610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011611|111611|989898|1|9999011611|MR|Test|E|Lead 11611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011612|111612|989898|1|9999011612|MR|Test|E|Lead 11612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011613|111613|989898|1|9999011613|MR|Test|E|Lead 11613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011614|111614|989898|1|9999011614|MR|Test|E|Lead 11614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011615|111615|989898|1|9999011615|MR|Test|E|Lead 11615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011616|111616|989898|1|9999011616|MR|Test|E|Lead 11616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011617|111617|989898|1|9999011617|MR|Test|E|Lead 11617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011618|111618|989898|1|9999011618|MR|Test|E|Lead 11618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011619|111619|989898|1|9999011619|MR|Test|E|Lead 11619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011620|111620|989898|1|9999011620|MR|Test|E|Lead 11620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011621|111621|989898|1|9999011621|MR|Test|E|Lead 11621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011622|111622|989898|1|9999011622|MR|Test|E|Lead 11622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011623|111623|989898|1|9999011623|MR|Test|E|Lead 11623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011624|111624|989898|1|9999011624|MR|Test|E|Lead 11624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011625|111625|989898|1|9999011625|MR|Test|E|Lead 11625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011626|111626|989898|1|9999011626|MR|Test|E|Lead 11626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011627|111627|989898|1|9999011627|MR|Test|E|Lead 11627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011628|111628|989898|1|9999011628|MR|Test|E|Lead 11628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011629|111629|989898|1|9999011629|MR|Test|E|Lead 11629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011630|111630|989898|1|9999011630|MR|Test|E|Lead 11630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011631|111631|989898|1|9999011631|MR|Test|E|Lead 11631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011632|111632|989898|1|9999011632|MR|Test|E|Lead 11632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011633|111633|989898|1|9999011633|MR|Test|E|Lead 11633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011634|111634|989898|1|9999011634|MR|Test|E|Lead 11634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011635|111635|989898|1|9999011635|MR|Test|E|Lead 11635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011636|111636|989898|1|9999011636|MR|Test|E|Lead 11636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011637|111637|989898|1|9999011637|MR|Test|E|Lead 11637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011638|111638|989898|1|9999011638|MR|Test|E|Lead 11638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011639|111639|989898|1|9999011639|MR|Test|E|Lead 11639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011640|111640|989898|1|9999011640|MR|Test|E|Lead 11640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011641|111641|989898|1|9999011641|MR|Test|E|Lead 11641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011642|111642|989898|1|9999011642|MR|Test|E|Lead 11642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011643|111643|989898|1|9999011643|MR|Test|E|Lead 11643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011644|111644|989898|1|9999011644|MR|Test|E|Lead 11644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011645|111645|989898|1|9999011645|MR|Test|E|Lead 11645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011646|111646|989898|1|9999011646|MR|Test|E|Lead 11646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011647|111647|989898|1|9999011647|MR|Test|E|Lead 11647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011648|111648|989898|1|9999011648|MR|Test|E|Lead 11648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011649|111649|989898|1|9999011649|MR|Test|E|Lead 11649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011650|111650|989898|1|9999011650|MR|Test|E|Lead 11650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011651|111651|989898|1|9999011651|MR|Test|E|Lead 11651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011652|111652|989898|1|9999011652|MR|Test|E|Lead 11652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011653|111653|989898|1|9999011653|MR|Test|E|Lead 11653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011654|111654|989898|1|9999011654|MR|Test|E|Lead 11654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011655|111655|989898|1|9999011655|MR|Test|E|Lead 11655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011656|111656|989898|1|9999011656|MR|Test|E|Lead 11656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011657|111657|989898|1|9999011657|MR|Test|E|Lead 11657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011658|111658|989898|1|9999011658|MR|Test|E|Lead 11658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011659|111659|989898|1|9999011659|MR|Test|E|Lead 11659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011660|111660|989898|1|9999011660|MR|Test|E|Lead 11660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011661|111661|989898|1|9999011661|MR|Test|E|Lead 11661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011662|111662|989898|1|9999011662|MR|Test|E|Lead 11662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011663|111663|989898|1|9999011663|MR|Test|E|Lead 11663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011664|111664|989898|1|9999011664|MR|Test|E|Lead 11664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011665|111665|989898|1|9999011665|MR|Test|E|Lead 11665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011666|111666|989898|1|9999011666|MR|Test|E|Lead 11666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011667|111667|989898|1|9999011667|MR|Test|E|Lead 11667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011668|111668|989898|1|9999011668|MR|Test|E|Lead 11668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011669|111669|989898|1|9999011669|MR|Test|E|Lead 11669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011670|111670|989898|1|9999011670|MR|Test|E|Lead 11670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011671|111671|989898|1|9999011671|MR|Test|E|Lead 11671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011672|111672|989898|1|9999011672|MR|Test|E|Lead 11672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011673|111673|989898|1|9999011673|MR|Test|E|Lead 11673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011674|111674|989898|1|9999011674|MR|Test|E|Lead 11674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011675|111675|989898|1|9999011675|MR|Test|E|Lead 11675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011676|111676|989898|1|9999011676|MR|Test|E|Lead 11676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011677|111677|989898|1|9999011677|MR|Test|E|Lead 11677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011678|111678|989898|1|9999011678|MR|Test|E|Lead 11678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011679|111679|989898|1|9999011679|MR|Test|E|Lead 11679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011680|111680|989898|1|9999011680|MR|Test|E|Lead 11680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011681|111681|989898|1|9999011681|MR|Test|E|Lead 11681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011682|111682|989898|1|9999011682|MR|Test|E|Lead 11682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011683|111683|989898|1|9999011683|MR|Test|E|Lead 11683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011684|111684|989898|1|9999011684|MR|Test|E|Lead 11684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011685|111685|989898|1|9999011685|MR|Test|E|Lead 11685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011686|111686|989898|1|9999011686|MR|Test|E|Lead 11686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011687|111687|989898|1|9999011687|MR|Test|E|Lead 11687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011688|111688|989898|1|9999011688|MR|Test|E|Lead 11688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011689|111689|989898|1|9999011689|MR|Test|E|Lead 11689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011690|111690|989898|1|9999011690|MR|Test|E|Lead 11690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011691|111691|989898|1|9999011691|MR|Test|E|Lead 11691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011692|111692|989898|1|9999011692|MR|Test|E|Lead 11692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011693|111693|989898|1|9999011693|MR|Test|E|Lead 11693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011694|111694|989898|1|9999011694|MR|Test|E|Lead 11694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011695|111695|989898|1|9999011695|MR|Test|E|Lead 11695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011696|111696|989898|1|9999011696|MR|Test|E|Lead 11696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011697|111697|989898|1|9999011697|MR|Test|E|Lead 11697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011698|111698|989898|1|9999011698|MR|Test|E|Lead 11698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011699|111699|989898|1|9999011699|MR|Test|E|Lead 11699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011700|111700|989898|1|9999011700|MR|Test|E|Lead 11700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011701|111701|989898|1|9999011701|MR|Test|E|Lead 11701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011702|111702|989898|1|9999011702|MR|Test|E|Lead 11702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011703|111703|989898|1|9999011703|MR|Test|E|Lead 11703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011704|111704|989898|1|9999011704|MR|Test|E|Lead 11704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011705|111705|989898|1|9999011705|MR|Test|E|Lead 11705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011706|111706|989898|1|9999011706|MR|Test|E|Lead 11706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011707|111707|989898|1|9999011707|MR|Test|E|Lead 11707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011708|111708|989898|1|9999011708|MR|Test|E|Lead 11708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011709|111709|989898|1|9999011709|MR|Test|E|Lead 11709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011710|111710|989898|1|9999011710|MR|Test|E|Lead 11710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011711|111711|989898|1|9999011711|MR|Test|E|Lead 11711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011712|111712|989898|1|9999011712|MR|Test|E|Lead 11712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011713|111713|989898|1|9999011713|MR|Test|E|Lead 11713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011714|111714|989898|1|9999011714|MR|Test|E|Lead 11714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011715|111715|989898|1|9999011715|MR|Test|E|Lead 11715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011716|111716|989898|1|9999011716|MR|Test|E|Lead 11716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011717|111717|989898|1|9999011717|MR|Test|E|Lead 11717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011718|111718|989898|1|9999011718|MR|Test|E|Lead 11718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011719|111719|989898|1|9999011719|MR|Test|E|Lead 11719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011720|111720|989898|1|9999011720|MR|Test|E|Lead 11720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011721|111721|989898|1|9999011721|MR|Test|E|Lead 11721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011722|111722|989898|1|9999011722|MR|Test|E|Lead 11722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011723|111723|989898|1|9999011723|MR|Test|E|Lead 11723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011724|111724|989898|1|9999011724|MR|Test|E|Lead 11724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011725|111725|989898|1|9999011725|MR|Test|E|Lead 11725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011726|111726|989898|1|9999011726|MR|Test|E|Lead 11726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011727|111727|989898|1|9999011727|MR|Test|E|Lead 11727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011728|111728|989898|1|9999011728|MR|Test|E|Lead 11728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011729|111729|989898|1|9999011729|MR|Test|E|Lead 11729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011730|111730|989898|1|9999011730|MR|Test|E|Lead 11730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011731|111731|989898|1|9999011731|MR|Test|E|Lead 11731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011732|111732|989898|1|9999011732|MR|Test|E|Lead 11732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011733|111733|989898|1|9999011733|MR|Test|E|Lead 11733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011734|111734|989898|1|9999011734|MR|Test|E|Lead 11734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011735|111735|989898|1|9999011735|MR|Test|E|Lead 11735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011736|111736|989898|1|9999011736|MR|Test|E|Lead 11736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011737|111737|989898|1|9999011737|MR|Test|E|Lead 11737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011738|111738|989898|1|9999011738|MR|Test|E|Lead 11738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011739|111739|989898|1|9999011739|MR|Test|E|Lead 11739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011740|111740|989898|1|9999011740|MR|Test|E|Lead 11740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011741|111741|989898|1|9999011741|MR|Test|E|Lead 11741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011742|111742|989898|1|9999011742|MR|Test|E|Lead 11742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011743|111743|989898|1|9999011743|MR|Test|E|Lead 11743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011744|111744|989898|1|9999011744|MR|Test|E|Lead 11744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011745|111745|989898|1|9999011745|MR|Test|E|Lead 11745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011746|111746|989898|1|9999011746|MR|Test|E|Lead 11746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011747|111747|989898|1|9999011747|MR|Test|E|Lead 11747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011748|111748|989898|1|9999011748|MR|Test|E|Lead 11748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011749|111749|989898|1|9999011749|MR|Test|E|Lead 11749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011750|111750|989898|1|9999011750|MR|Test|E|Lead 11750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011751|111751|989898|1|9999011751|MR|Test|E|Lead 11751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011752|111752|989898|1|9999011752|MR|Test|E|Lead 11752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011753|111753|989898|1|9999011753|MR|Test|E|Lead 11753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011754|111754|989898|1|9999011754|MR|Test|E|Lead 11754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011755|111755|989898|1|9999011755|MR|Test|E|Lead 11755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011756|111756|989898|1|9999011756|MR|Test|E|Lead 11756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011757|111757|989898|1|9999011757|MR|Test|E|Lead 11757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011758|111758|989898|1|9999011758|MR|Test|E|Lead 11758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011759|111759|989898|1|9999011759|MR|Test|E|Lead 11759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011760|111760|989898|1|9999011760|MR|Test|E|Lead 11760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011761|111761|989898|1|9999011761|MR|Test|E|Lead 11761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011762|111762|989898|1|9999011762|MR|Test|E|Lead 11762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011763|111763|989898|1|9999011763|MR|Test|E|Lead 11763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011764|111764|989898|1|9999011764|MR|Test|E|Lead 11764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011765|111765|989898|1|9999011765|MR|Test|E|Lead 11765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011766|111766|989898|1|9999011766|MR|Test|E|Lead 11766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011767|111767|989898|1|9999011767|MR|Test|E|Lead 11767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011768|111768|989898|1|9999011768|MR|Test|E|Lead 11768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011769|111769|989898|1|9999011769|MR|Test|E|Lead 11769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011770|111770|989898|1|9999011770|MR|Test|E|Lead 11770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011771|111771|989898|1|9999011771|MR|Test|E|Lead 11771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011772|111772|989898|1|9999011772|MR|Test|E|Lead 11772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011773|111773|989898|1|9999011773|MR|Test|E|Lead 11773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011774|111774|989898|1|9999011774|MR|Test|E|Lead 11774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011775|111775|989898|1|9999011775|MR|Test|E|Lead 11775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011776|111776|989898|1|9999011776|MR|Test|E|Lead 11776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011777|111777|989898|1|9999011777|MR|Test|E|Lead 11777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011778|111778|989898|1|9999011778|MR|Test|E|Lead 11778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011779|111779|989898|1|9999011779|MR|Test|E|Lead 11779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011780|111780|989898|1|9999011780|MR|Test|E|Lead 11780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011781|111781|989898|1|9999011781|MR|Test|E|Lead 11781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011782|111782|989898|1|9999011782|MR|Test|E|Lead 11782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011783|111783|989898|1|9999011783|MR|Test|E|Lead 11783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011784|111784|989898|1|9999011784|MR|Test|E|Lead 11784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011785|111785|989898|1|9999011785|MR|Test|E|Lead 11785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011786|111786|989898|1|9999011786|MR|Test|E|Lead 11786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011787|111787|989898|1|9999011787|MR|Test|E|Lead 11787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011788|111788|989898|1|9999011788|MR|Test|E|Lead 11788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011789|111789|989898|1|9999011789|MR|Test|E|Lead 11789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011790|111790|989898|1|9999011790|MR|Test|E|Lead 11790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011791|111791|989898|1|9999011791|MR|Test|E|Lead 11791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011792|111792|989898|1|9999011792|MR|Test|E|Lead 11792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011793|111793|989898|1|9999011793|MR|Test|E|Lead 11793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011794|111794|989898|1|9999011794|MR|Test|E|Lead 11794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011795|111795|989898|1|9999011795|MR|Test|E|Lead 11795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011796|111796|989898|1|9999011796|MR|Test|E|Lead 11796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011797|111797|989898|1|9999011797|MR|Test|E|Lead 11797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011798|111798|989898|1|9999011798|MR|Test|E|Lead 11798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011799|111799|989898|1|9999011799|MR|Test|E|Lead 11799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011800|111800|989898|1|9999011800|MR|Test|E|Lead 11800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011801|111801|989898|1|9999011801|MR|Test|E|Lead 11801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011802|111802|989898|1|9999011802|MR|Test|E|Lead 11802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011803|111803|989898|1|9999011803|MR|Test|E|Lead 11803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011804|111804|989898|1|9999011804|MR|Test|E|Lead 11804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011805|111805|989898|1|9999011805|MR|Test|E|Lead 11805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011806|111806|989898|1|9999011806|MR|Test|E|Lead 11806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011807|111807|989898|1|9999011807|MR|Test|E|Lead 11807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011808|111808|989898|1|9999011808|MR|Test|E|Lead 11808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011809|111809|989898|1|9999011809|MR|Test|E|Lead 11809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011810|111810|989898|1|9999011810|MR|Test|E|Lead 11810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011811|111811|989898|1|9999011811|MR|Test|E|Lead 11811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011812|111812|989898|1|9999011812|MR|Test|E|Lead 11812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011813|111813|989898|1|9999011813|MR|Test|E|Lead 11813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011814|111814|989898|1|9999011814|MR|Test|E|Lead 11814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011815|111815|989898|1|9999011815|MR|Test|E|Lead 11815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011816|111816|989898|1|9999011816|MR|Test|E|Lead 11816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011817|111817|989898|1|9999011817|MR|Test|E|Lead 11817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011818|111818|989898|1|9999011818|MR|Test|E|Lead 11818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011819|111819|989898|1|9999011819|MR|Test|E|Lead 11819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011820|111820|989898|1|9999011820|MR|Test|E|Lead 11820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011821|111821|989898|1|9999011821|MR|Test|E|Lead 11821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011822|111822|989898|1|9999011822|MR|Test|E|Lead 11822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011823|111823|989898|1|9999011823|MR|Test|E|Lead 11823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011824|111824|989898|1|9999011824|MR|Test|E|Lead 11824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011825|111825|989898|1|9999011825|MR|Test|E|Lead 11825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011826|111826|989898|1|9999011826|MR|Test|E|Lead 11826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011827|111827|989898|1|9999011827|MR|Test|E|Lead 11827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011828|111828|989898|1|9999011828|MR|Test|E|Lead 11828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011829|111829|989898|1|9999011829|MR|Test|E|Lead 11829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011830|111830|989898|1|9999011830|MR|Test|E|Lead 11830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011831|111831|989898|1|9999011831|MR|Test|E|Lead 11831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011832|111832|989898|1|9999011832|MR|Test|E|Lead 11832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011833|111833|989898|1|9999011833|MR|Test|E|Lead 11833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011834|111834|989898|1|9999011834|MR|Test|E|Lead 11834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011835|111835|989898|1|9999011835|MR|Test|E|Lead 11835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011836|111836|989898|1|9999011836|MR|Test|E|Lead 11836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011837|111837|989898|1|9999011837|MR|Test|E|Lead 11837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011838|111838|989898|1|9999011838|MR|Test|E|Lead 11838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011839|111839|989898|1|9999011839|MR|Test|E|Lead 11839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011840|111840|989898|1|9999011840|MR|Test|E|Lead 11840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011841|111841|989898|1|9999011841|MR|Test|E|Lead 11841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011842|111842|989898|1|9999011842|MR|Test|E|Lead 11842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011843|111843|989898|1|9999011843|MR|Test|E|Lead 11843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011844|111844|989898|1|9999011844|MR|Test|E|Lead 11844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011845|111845|989898|1|9999011845|MR|Test|E|Lead 11845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011846|111846|989898|1|9999011846|MR|Test|E|Lead 11846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011847|111847|989898|1|9999011847|MR|Test|E|Lead 11847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011848|111848|989898|1|9999011848|MR|Test|E|Lead 11848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011849|111849|989898|1|9999011849|MR|Test|E|Lead 11849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011850|111850|989898|1|9999011850|MR|Test|E|Lead 11850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011851|111851|989898|1|9999011851|MR|Test|E|Lead 11851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011852|111852|989898|1|9999011852|MR|Test|E|Lead 11852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011853|111853|989898|1|9999011853|MR|Test|E|Lead 11853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011854|111854|989898|1|9999011854|MR|Test|E|Lead 11854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011855|111855|989898|1|9999011855|MR|Test|E|Lead 11855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011856|111856|989898|1|9999011856|MR|Test|E|Lead 11856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011857|111857|989898|1|9999011857|MR|Test|E|Lead 11857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011858|111858|989898|1|9999011858|MR|Test|E|Lead 11858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011859|111859|989898|1|9999011859|MR|Test|E|Lead 11859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011860|111860|989898|1|9999011860|MR|Test|E|Lead 11860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011861|111861|989898|1|9999011861|MR|Test|E|Lead 11861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011862|111862|989898|1|9999011862|MR|Test|E|Lead 11862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011863|111863|989898|1|9999011863|MR|Test|E|Lead 11863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011864|111864|989898|1|9999011864|MR|Test|E|Lead 11864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011865|111865|989898|1|9999011865|MR|Test|E|Lead 11865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011866|111866|989898|1|9999011866|MR|Test|E|Lead 11866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011867|111867|989898|1|9999011867|MR|Test|E|Lead 11867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011868|111868|989898|1|9999011868|MR|Test|E|Lead 11868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011869|111869|989898|1|9999011869|MR|Test|E|Lead 11869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011870|111870|989898|1|9999011870|MR|Test|E|Lead 11870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011871|111871|989898|1|9999011871|MR|Test|E|Lead 11871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011872|111872|989898|1|9999011872|MR|Test|E|Lead 11872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011873|111873|989898|1|9999011873|MR|Test|E|Lead 11873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011874|111874|989898|1|9999011874|MR|Test|E|Lead 11874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011875|111875|989898|1|9999011875|MR|Test|E|Lead 11875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011876|111876|989898|1|9999011876|MR|Test|E|Lead 11876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011877|111877|989898|1|9999011877|MR|Test|E|Lead 11877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011878|111878|989898|1|9999011878|MR|Test|E|Lead 11878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011879|111879|989898|1|9999011879|MR|Test|E|Lead 11879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011880|111880|989898|1|9999011880|MR|Test|E|Lead 11880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011881|111881|989898|1|9999011881|MR|Test|E|Lead 11881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011882|111882|989898|1|9999011882|MR|Test|E|Lead 11882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011883|111883|989898|1|9999011883|MR|Test|E|Lead 11883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011884|111884|989898|1|9999011884|MR|Test|E|Lead 11884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011885|111885|989898|1|9999011885|MR|Test|E|Lead 11885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011886|111886|989898|1|9999011886|MR|Test|E|Lead 11886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011887|111887|989898|1|9999011887|MR|Test|E|Lead 11887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011888|111888|989898|1|9999011888|MR|Test|E|Lead 11888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011889|111889|989898|1|9999011889|MR|Test|E|Lead 11889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011890|111890|989898|1|9999011890|MR|Test|E|Lead 11890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011891|111891|989898|1|9999011891|MR|Test|E|Lead 11891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011892|111892|989898|1|9999011892|MR|Test|E|Lead 11892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011893|111893|989898|1|9999011893|MR|Test|E|Lead 11893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011894|111894|989898|1|9999011894|MR|Test|E|Lead 11894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011895|111895|989898|1|9999011895|MR|Test|E|Lead 11895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011896|111896|989898|1|9999011896|MR|Test|E|Lead 11896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011897|111897|989898|1|9999011897|MR|Test|E|Lead 11897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011898|111898|989898|1|9999011898|MR|Test|E|Lead 11898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011899|111899|989898|1|9999011899|MR|Test|E|Lead 11899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011900|111900|989898|1|9999011900|MR|Test|E|Lead 11900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011901|111901|989898|1|9999011901|MR|Test|E|Lead 11901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011902|111902|989898|1|9999011902|MR|Test|E|Lead 11902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011903|111903|989898|1|9999011903|MR|Test|E|Lead 11903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011904|111904|989898|1|9999011904|MR|Test|E|Lead 11904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011905|111905|989898|1|9999011905|MR|Test|E|Lead 11905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011906|111906|989898|1|9999011906|MR|Test|E|Lead 11906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011907|111907|989898|1|9999011907|MR|Test|E|Lead 11907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011908|111908|989898|1|9999011908|MR|Test|E|Lead 11908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011909|111909|989898|1|9999011909|MR|Test|E|Lead 11909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011910|111910|989898|1|9999011910|MR|Test|E|Lead 11910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011911|111911|989898|1|9999011911|MR|Test|E|Lead 11911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011912|111912|989898|1|9999011912|MR|Test|E|Lead 11912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011913|111913|989898|1|9999011913|MR|Test|E|Lead 11913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011914|111914|989898|1|9999011914|MR|Test|E|Lead 11914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011915|111915|989898|1|9999011915|MR|Test|E|Lead 11915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011916|111916|989898|1|9999011916|MR|Test|E|Lead 11916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011917|111917|989898|1|9999011917|MR|Test|E|Lead 11917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011918|111918|989898|1|9999011918|MR|Test|E|Lead 11918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011919|111919|989898|1|9999011919|MR|Test|E|Lead 11919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011920|111920|989898|1|9999011920|MR|Test|E|Lead 11920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011921|111921|989898|1|9999011921|MR|Test|E|Lead 11921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011922|111922|989898|1|9999011922|MR|Test|E|Lead 11922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011923|111923|989898|1|9999011923|MR|Test|E|Lead 11923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011924|111924|989898|1|9999011924|MR|Test|E|Lead 11924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011925|111925|989898|1|9999011925|MR|Test|E|Lead 11925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011926|111926|989898|1|9999011926|MR|Test|E|Lead 11926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011927|111927|989898|1|9999011927|MR|Test|E|Lead 11927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011928|111928|989898|1|9999011928|MR|Test|E|Lead 11928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011929|111929|989898|1|9999011929|MR|Test|E|Lead 11929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011930|111930|989898|1|9999011930|MR|Test|E|Lead 11930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011931|111931|989898|1|9999011931|MR|Test|E|Lead 11931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011932|111932|989898|1|9999011932|MR|Test|E|Lead 11932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011933|111933|989898|1|9999011933|MR|Test|E|Lead 11933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011934|111934|989898|1|9999011934|MR|Test|E|Lead 11934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011935|111935|989898|1|9999011935|MR|Test|E|Lead 11935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011936|111936|989898|1|9999011936|MR|Test|E|Lead 11936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011937|111937|989898|1|9999011937|MR|Test|E|Lead 11937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011938|111938|989898|1|9999011938|MR|Test|E|Lead 11938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011939|111939|989898|1|9999011939|MR|Test|E|Lead 11939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011940|111940|989898|1|9999011940|MR|Test|E|Lead 11940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011941|111941|989898|1|9999011941|MR|Test|E|Lead 11941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011942|111942|989898|1|9999011942|MR|Test|E|Lead 11942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011943|111943|989898|1|9999011943|MR|Test|E|Lead 11943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011944|111944|989898|1|9999011944|MR|Test|E|Lead 11944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011945|111945|989898|1|9999011945|MR|Test|E|Lead 11945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011946|111946|989898|1|9999011946|MR|Test|E|Lead 11946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011947|111947|989898|1|9999011947|MR|Test|E|Lead 11947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011948|111948|989898|1|9999011948|MR|Test|E|Lead 11948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011949|111949|989898|1|9999011949|MR|Test|E|Lead 11949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011950|111950|989898|1|9999011950|MR|Test|E|Lead 11950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011951|111951|989898|1|9999011951|MR|Test|E|Lead 11951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011952|111952|989898|1|9999011952|MR|Test|E|Lead 11952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011953|111953|989898|1|9999011953|MR|Test|E|Lead 11953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011954|111954|989898|1|9999011954|MR|Test|E|Lead 11954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011955|111955|989898|1|9999011955|MR|Test|E|Lead 11955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011956|111956|989898|1|9999011956|MR|Test|E|Lead 11956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011957|111957|989898|1|9999011957|MR|Test|E|Lead 11957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011958|111958|989898|1|9999011958|MR|Test|E|Lead 11958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011959|111959|989898|1|9999011959|MR|Test|E|Lead 11959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011960|111960|989898|1|9999011960|MR|Test|E|Lead 11960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011961|111961|989898|1|9999011961|MR|Test|E|Lead 11961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011962|111962|989898|1|9999011962|MR|Test|E|Lead 11962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011963|111963|989898|1|9999011963|MR|Test|E|Lead 11963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011964|111964|989898|1|9999011964|MR|Test|E|Lead 11964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011965|111965|989898|1|9999011965|MR|Test|E|Lead 11965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011966|111966|989898|1|9999011966|MR|Test|E|Lead 11966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011967|111967|989898|1|9999011967|MR|Test|E|Lead 11967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011968|111968|989898|1|9999011968|MR|Test|E|Lead 11968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011969|111969|989898|1|9999011969|MR|Test|E|Lead 11969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011970|111970|989898|1|9999011970|MR|Test|E|Lead 11970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011971|111971|989898|1|9999011971|MR|Test|E|Lead 11971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011972|111972|989898|1|9999011972|MR|Test|E|Lead 11972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011973|111973|989898|1|9999011973|MR|Test|E|Lead 11973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011974|111974|989898|1|9999011974|MR|Test|E|Lead 11974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011975|111975|989898|1|9999011975|MR|Test|E|Lead 11975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011976|111976|989898|1|9999011976|MR|Test|E|Lead 11976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011977|111977|989898|1|9999011977|MR|Test|E|Lead 11977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011978|111978|989898|1|9999011978|MR|Test|E|Lead 11978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011979|111979|989898|1|9999011979|MR|Test|E|Lead 11979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011980|111980|989898|1|9999011980|MR|Test|E|Lead 11980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011981|111981|989898|1|9999011981|MR|Test|E|Lead 11981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011982|111982|989898|1|9999011982|MR|Test|E|Lead 11982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011983|111983|989898|1|9999011983|MR|Test|E|Lead 11983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011984|111984|989898|1|9999011984|MR|Test|E|Lead 11984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011985|111985|989898|1|9999011985|MR|Test|E|Lead 11985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011986|111986|989898|1|9999011986|MR|Test|E|Lead 11986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011987|111987|989898|1|9999011987|MR|Test|E|Lead 11987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011988|111988|989898|1|9999011988|MR|Test|E|Lead 11988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011989|111989|989898|1|9999011989|MR|Test|E|Lead 11989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011990|111990|989898|1|9999011990|MR|Test|E|Lead 11990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011991|111991|989898|1|9999011991|MR|Test|E|Lead 11991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011992|111992|989898|1|9999011992|MR|Test|E|Lead 11992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011993|111993|989898|1|9999011993|MR|Test|E|Lead 11993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011994|111994|989898|1|9999011994|MR|Test|E|Lead 11994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011995|111995|989898|1|9999011995|MR|Test|E|Lead 11995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011996|111996|989898|1|9999011996|MR|Test|E|Lead 11996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011997|111997|989898|1|9999011997|MR|Test|E|Lead 11997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011998|111998|989898|1|9999011998|MR|Test|E|Lead 11998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1011999|111999|989898|1|9999011999|MR|Test|E|Lead 11999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012000|112000|989898|1|9999012000|MR|Test|E|Lead 12000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012001|112001|989898|1|9999012001|MR|Test|E|Lead 12001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012002|112002|989898|1|9999012002|MR|Test|E|Lead 12002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012003|112003|989898|1|9999012003|MR|Test|E|Lead 12003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012004|112004|989898|1|9999012004|MR|Test|E|Lead 12004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012005|112005|989898|1|9999012005|MR|Test|E|Lead 12005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012006|112006|989898|1|9999012006|MR|Test|E|Lead 12006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012007|112007|989898|1|9999012007|MR|Test|E|Lead 12007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012008|112008|989898|1|9999012008|MR|Test|E|Lead 12008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012009|112009|989898|1|9999012009|MR|Test|E|Lead 12009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012010|112010|989898|1|9999012010|MR|Test|E|Lead 12010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012011|112011|989898|1|9999012011|MR|Test|E|Lead 12011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012012|112012|989898|1|9999012012|MR|Test|E|Lead 12012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012013|112013|989898|1|9999012013|MR|Test|E|Lead 12013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012014|112014|989898|1|9999012014|MR|Test|E|Lead 12014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012015|112015|989898|1|9999012015|MR|Test|E|Lead 12015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012016|112016|989898|1|9999012016|MR|Test|E|Lead 12016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012017|112017|989898|1|9999012017|MR|Test|E|Lead 12017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012018|112018|989898|1|9999012018|MR|Test|E|Lead 12018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012019|112019|989898|1|9999012019|MR|Test|E|Lead 12019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012020|112020|989898|1|9999012020|MR|Test|E|Lead 12020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012021|112021|989898|1|9999012021|MR|Test|E|Lead 12021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012022|112022|989898|1|9999012022|MR|Test|E|Lead 12022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012023|112023|989898|1|9999012023|MR|Test|E|Lead 12023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012024|112024|989898|1|9999012024|MR|Test|E|Lead 12024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012025|112025|989898|1|9999012025|MR|Test|E|Lead 12025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012026|112026|989898|1|9999012026|MR|Test|E|Lead 12026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012027|112027|989898|1|9999012027|MR|Test|E|Lead 12027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012028|112028|989898|1|9999012028|MR|Test|E|Lead 12028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012029|112029|989898|1|9999012029|MR|Test|E|Lead 12029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012030|112030|989898|1|9999012030|MR|Test|E|Lead 12030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012031|112031|989898|1|9999012031|MR|Test|E|Lead 12031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012032|112032|989898|1|9999012032|MR|Test|E|Lead 12032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012033|112033|989898|1|9999012033|MR|Test|E|Lead 12033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012034|112034|989898|1|9999012034|MR|Test|E|Lead 12034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012035|112035|989898|1|9999012035|MR|Test|E|Lead 12035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012036|112036|989898|1|9999012036|MR|Test|E|Lead 12036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012037|112037|989898|1|9999012037|MR|Test|E|Lead 12037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012038|112038|989898|1|9999012038|MR|Test|E|Lead 12038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012039|112039|989898|1|9999012039|MR|Test|E|Lead 12039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012040|112040|989898|1|9999012040|MR|Test|E|Lead 12040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012041|112041|989898|1|9999012041|MR|Test|E|Lead 12041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012042|112042|989898|1|9999012042|MR|Test|E|Lead 12042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012043|112043|989898|1|9999012043|MR|Test|E|Lead 12043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012044|112044|989898|1|9999012044|MR|Test|E|Lead 12044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012045|112045|989898|1|9999012045|MR|Test|E|Lead 12045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012046|112046|989898|1|9999012046|MR|Test|E|Lead 12046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012047|112047|989898|1|9999012047|MR|Test|E|Lead 12047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012048|112048|989898|1|9999012048|MR|Test|E|Lead 12048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012049|112049|989898|1|9999012049|MR|Test|E|Lead 12049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012050|112050|989898|1|9999012050|MR|Test|E|Lead 12050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012051|112051|989898|1|9999012051|MR|Test|E|Lead 12051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012052|112052|989898|1|9999012052|MR|Test|E|Lead 12052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012053|112053|989898|1|9999012053|MR|Test|E|Lead 12053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012054|112054|989898|1|9999012054|MR|Test|E|Lead 12054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012055|112055|989898|1|9999012055|MR|Test|E|Lead 12055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012056|112056|989898|1|9999012056|MR|Test|E|Lead 12056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012057|112057|989898|1|9999012057|MR|Test|E|Lead 12057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012058|112058|989898|1|9999012058|MR|Test|E|Lead 12058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012059|112059|989898|1|9999012059|MR|Test|E|Lead 12059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012060|112060|989898|1|9999012060|MR|Test|E|Lead 12060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012061|112061|989898|1|9999012061|MR|Test|E|Lead 12061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012062|112062|989898|1|9999012062|MR|Test|E|Lead 12062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012063|112063|989898|1|9999012063|MR|Test|E|Lead 12063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012064|112064|989898|1|9999012064|MR|Test|E|Lead 12064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012065|112065|989898|1|9999012065|MR|Test|E|Lead 12065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012066|112066|989898|1|9999012066|MR|Test|E|Lead 12066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012067|112067|989898|1|9999012067|MR|Test|E|Lead 12067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012068|112068|989898|1|9999012068|MR|Test|E|Lead 12068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012069|112069|989898|1|9999012069|MR|Test|E|Lead 12069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012070|112070|989898|1|9999012070|MR|Test|E|Lead 12070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012071|112071|989898|1|9999012071|MR|Test|E|Lead 12071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012072|112072|989898|1|9999012072|MR|Test|E|Lead 12072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012073|112073|989898|1|9999012073|MR|Test|E|Lead 12073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012074|112074|989898|1|9999012074|MR|Test|E|Lead 12074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012075|112075|989898|1|9999012075|MR|Test|E|Lead 12075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012076|112076|989898|1|9999012076|MR|Test|E|Lead 12076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012077|112077|989898|1|9999012077|MR|Test|E|Lead 12077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012078|112078|989898|1|9999012078|MR|Test|E|Lead 12078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012079|112079|989898|1|9999012079|MR|Test|E|Lead 12079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012080|112080|989898|1|9999012080|MR|Test|E|Lead 12080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012081|112081|989898|1|9999012081|MR|Test|E|Lead 12081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012082|112082|989898|1|9999012082|MR|Test|E|Lead 12082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012083|112083|989898|1|9999012083|MR|Test|E|Lead 12083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012084|112084|989898|1|9999012084|MR|Test|E|Lead 12084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012085|112085|989898|1|9999012085|MR|Test|E|Lead 12085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012086|112086|989898|1|9999012086|MR|Test|E|Lead 12086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012087|112087|989898|1|9999012087|MR|Test|E|Lead 12087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012088|112088|989898|1|9999012088|MR|Test|E|Lead 12088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012089|112089|989898|1|9999012089|MR|Test|E|Lead 12089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012090|112090|989898|1|9999012090|MR|Test|E|Lead 12090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012091|112091|989898|1|9999012091|MR|Test|E|Lead 12091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012092|112092|989898|1|9999012092|MR|Test|E|Lead 12092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012093|112093|989898|1|9999012093|MR|Test|E|Lead 12093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012094|112094|989898|1|9999012094|MR|Test|E|Lead 12094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012095|112095|989898|1|9999012095|MR|Test|E|Lead 12095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012096|112096|989898|1|9999012096|MR|Test|E|Lead 12096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012097|112097|989898|1|9999012097|MR|Test|E|Lead 12097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012098|112098|989898|1|9999012098|MR|Test|E|Lead 12098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012099|112099|989898|1|9999012099|MR|Test|E|Lead 12099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012100|112100|989898|1|9999012100|MR|Test|E|Lead 12100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012101|112101|989898|1|9999012101|MR|Test|E|Lead 12101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012102|112102|989898|1|9999012102|MR|Test|E|Lead 12102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012103|112103|989898|1|9999012103|MR|Test|E|Lead 12103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012104|112104|989898|1|9999012104|MR|Test|E|Lead 12104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012105|112105|989898|1|9999012105|MR|Test|E|Lead 12105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012106|112106|989898|1|9999012106|MR|Test|E|Lead 12106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012107|112107|989898|1|9999012107|MR|Test|E|Lead 12107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012108|112108|989898|1|9999012108|MR|Test|E|Lead 12108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012109|112109|989898|1|9999012109|MR|Test|E|Lead 12109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012110|112110|989898|1|9999012110|MR|Test|E|Lead 12110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012111|112111|989898|1|9999012111|MR|Test|E|Lead 12111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012112|112112|989898|1|9999012112|MR|Test|E|Lead 12112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012113|112113|989898|1|9999012113|MR|Test|E|Lead 12113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012114|112114|989898|1|9999012114|MR|Test|E|Lead 12114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012115|112115|989898|1|9999012115|MR|Test|E|Lead 12115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012116|112116|989898|1|9999012116|MR|Test|E|Lead 12116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012117|112117|989898|1|9999012117|MR|Test|E|Lead 12117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012118|112118|989898|1|9999012118|MR|Test|E|Lead 12118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012119|112119|989898|1|9999012119|MR|Test|E|Lead 12119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012120|112120|989898|1|9999012120|MR|Test|E|Lead 12120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012121|112121|989898|1|9999012121|MR|Test|E|Lead 12121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012122|112122|989898|1|9999012122|MR|Test|E|Lead 12122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012123|112123|989898|1|9999012123|MR|Test|E|Lead 12123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012124|112124|989898|1|9999012124|MR|Test|E|Lead 12124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012125|112125|989898|1|9999012125|MR|Test|E|Lead 12125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012126|112126|989898|1|9999012126|MR|Test|E|Lead 12126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012127|112127|989898|1|9999012127|MR|Test|E|Lead 12127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012128|112128|989898|1|9999012128|MR|Test|E|Lead 12128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012129|112129|989898|1|9999012129|MR|Test|E|Lead 12129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012130|112130|989898|1|9999012130|MR|Test|E|Lead 12130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012131|112131|989898|1|9999012131|MR|Test|E|Lead 12131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012132|112132|989898|1|9999012132|MR|Test|E|Lead 12132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012133|112133|989898|1|9999012133|MR|Test|E|Lead 12133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012134|112134|989898|1|9999012134|MR|Test|E|Lead 12134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012135|112135|989898|1|9999012135|MR|Test|E|Lead 12135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012136|112136|989898|1|9999012136|MR|Test|E|Lead 12136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012137|112137|989898|1|9999012137|MR|Test|E|Lead 12137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012138|112138|989898|1|9999012138|MR|Test|E|Lead 12138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012139|112139|989898|1|9999012139|MR|Test|E|Lead 12139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012140|112140|989898|1|9999012140|MR|Test|E|Lead 12140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012141|112141|989898|1|9999012141|MR|Test|E|Lead 12141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012142|112142|989898|1|9999012142|MR|Test|E|Lead 12142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012143|112143|989898|1|9999012143|MR|Test|E|Lead 12143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012144|112144|989898|1|9999012144|MR|Test|E|Lead 12144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012145|112145|989898|1|9999012145|MR|Test|E|Lead 12145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012146|112146|989898|1|9999012146|MR|Test|E|Lead 12146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012147|112147|989898|1|9999012147|MR|Test|E|Lead 12147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012148|112148|989898|1|9999012148|MR|Test|E|Lead 12148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012149|112149|989898|1|9999012149|MR|Test|E|Lead 12149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012150|112150|989898|1|9999012150|MR|Test|E|Lead 12150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012151|112151|989898|1|9999012151|MR|Test|E|Lead 12151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012152|112152|989898|1|9999012152|MR|Test|E|Lead 12152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012153|112153|989898|1|9999012153|MR|Test|E|Lead 12153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012154|112154|989898|1|9999012154|MR|Test|E|Lead 12154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012155|112155|989898|1|9999012155|MR|Test|E|Lead 12155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012156|112156|989898|1|9999012156|MR|Test|E|Lead 12156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012157|112157|989898|1|9999012157|MR|Test|E|Lead 12157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012158|112158|989898|1|9999012158|MR|Test|E|Lead 12158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012159|112159|989898|1|9999012159|MR|Test|E|Lead 12159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012160|112160|989898|1|9999012160|MR|Test|E|Lead 12160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012161|112161|989898|1|9999012161|MR|Test|E|Lead 12161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012162|112162|989898|1|9999012162|MR|Test|E|Lead 12162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012163|112163|989898|1|9999012163|MR|Test|E|Lead 12163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012164|112164|989898|1|9999012164|MR|Test|E|Lead 12164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012165|112165|989898|1|9999012165|MR|Test|E|Lead 12165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012166|112166|989898|1|9999012166|MR|Test|E|Lead 12166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012167|112167|989898|1|9999012167|MR|Test|E|Lead 12167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012168|112168|989898|1|9999012168|MR|Test|E|Lead 12168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012169|112169|989898|1|9999012169|MR|Test|E|Lead 12169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012170|112170|989898|1|9999012170|MR|Test|E|Lead 12170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012171|112171|989898|1|9999012171|MR|Test|E|Lead 12171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012172|112172|989898|1|9999012172|MR|Test|E|Lead 12172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012173|112173|989898|1|9999012173|MR|Test|E|Lead 12173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012174|112174|989898|1|9999012174|MR|Test|E|Lead 12174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012175|112175|989898|1|9999012175|MR|Test|E|Lead 12175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012176|112176|989898|1|9999012176|MR|Test|E|Lead 12176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012177|112177|989898|1|9999012177|MR|Test|E|Lead 12177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012178|112178|989898|1|9999012178|MR|Test|E|Lead 12178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012179|112179|989898|1|9999012179|MR|Test|E|Lead 12179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012180|112180|989898|1|9999012180|MR|Test|E|Lead 12180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012181|112181|989898|1|9999012181|MR|Test|E|Lead 12181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012182|112182|989898|1|9999012182|MR|Test|E|Lead 12182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012183|112183|989898|1|9999012183|MR|Test|E|Lead 12183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012184|112184|989898|1|9999012184|MR|Test|E|Lead 12184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012185|112185|989898|1|9999012185|MR|Test|E|Lead 12185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012186|112186|989898|1|9999012186|MR|Test|E|Lead 12186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012187|112187|989898|1|9999012187|MR|Test|E|Lead 12187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012188|112188|989898|1|9999012188|MR|Test|E|Lead 12188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012189|112189|989898|1|9999012189|MR|Test|E|Lead 12189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012190|112190|989898|1|9999012190|MR|Test|E|Lead 12190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012191|112191|989898|1|9999012191|MR|Test|E|Lead 12191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012192|112192|989898|1|9999012192|MR|Test|E|Lead 12192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012193|112193|989898|1|9999012193|MR|Test|E|Lead 12193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012194|112194|989898|1|9999012194|MR|Test|E|Lead 12194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012195|112195|989898|1|9999012195|MR|Test|E|Lead 12195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012196|112196|989898|1|9999012196|MR|Test|E|Lead 12196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012197|112197|989898|1|9999012197|MR|Test|E|Lead 12197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012198|112198|989898|1|9999012198|MR|Test|E|Lead 12198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012199|112199|989898|1|9999012199|MR|Test|E|Lead 12199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012200|112200|989898|1|9999012200|MR|Test|E|Lead 12200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012201|112201|989898|1|9999012201|MR|Test|E|Lead 12201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012202|112202|989898|1|9999012202|MR|Test|E|Lead 12202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012203|112203|989898|1|9999012203|MR|Test|E|Lead 12203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012204|112204|989898|1|9999012204|MR|Test|E|Lead 12204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012205|112205|989898|1|9999012205|MR|Test|E|Lead 12205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012206|112206|989898|1|9999012206|MR|Test|E|Lead 12206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012207|112207|989898|1|9999012207|MR|Test|E|Lead 12207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012208|112208|989898|1|9999012208|MR|Test|E|Lead 12208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012209|112209|989898|1|9999012209|MR|Test|E|Lead 12209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012210|112210|989898|1|9999012210|MR|Test|E|Lead 12210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012211|112211|989898|1|9999012211|MR|Test|E|Lead 12211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012212|112212|989898|1|9999012212|MR|Test|E|Lead 12212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012213|112213|989898|1|9999012213|MR|Test|E|Lead 12213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012214|112214|989898|1|9999012214|MR|Test|E|Lead 12214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012215|112215|989898|1|9999012215|MR|Test|E|Lead 12215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012216|112216|989898|1|9999012216|MR|Test|E|Lead 12216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012217|112217|989898|1|9999012217|MR|Test|E|Lead 12217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012218|112218|989898|1|9999012218|MR|Test|E|Lead 12218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012219|112219|989898|1|9999012219|MR|Test|E|Lead 12219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012220|112220|989898|1|9999012220|MR|Test|E|Lead 12220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012221|112221|989898|1|9999012221|MR|Test|E|Lead 12221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012222|112222|989898|1|9999012222|MR|Test|E|Lead 12222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012223|112223|989898|1|9999012223|MR|Test|E|Lead 12223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012224|112224|989898|1|9999012224|MR|Test|E|Lead 12224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012225|112225|989898|1|9999012225|MR|Test|E|Lead 12225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012226|112226|989898|1|9999012226|MR|Test|E|Lead 12226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012227|112227|989898|1|9999012227|MR|Test|E|Lead 12227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012228|112228|989898|1|9999012228|MR|Test|E|Lead 12228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012229|112229|989898|1|9999012229|MR|Test|E|Lead 12229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012230|112230|989898|1|9999012230|MR|Test|E|Lead 12230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012231|112231|989898|1|9999012231|MR|Test|E|Lead 12231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012232|112232|989898|1|9999012232|MR|Test|E|Lead 12232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012233|112233|989898|1|9999012233|MR|Test|E|Lead 12233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012234|112234|989898|1|9999012234|MR|Test|E|Lead 12234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012235|112235|989898|1|9999012235|MR|Test|E|Lead 12235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012236|112236|989898|1|9999012236|MR|Test|E|Lead 12236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012237|112237|989898|1|9999012237|MR|Test|E|Lead 12237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012238|112238|989898|1|9999012238|MR|Test|E|Lead 12238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012239|112239|989898|1|9999012239|MR|Test|E|Lead 12239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012240|112240|989898|1|9999012240|MR|Test|E|Lead 12240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012241|112241|989898|1|9999012241|MR|Test|E|Lead 12241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012242|112242|989898|1|9999012242|MR|Test|E|Lead 12242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012243|112243|989898|1|9999012243|MR|Test|E|Lead 12243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012244|112244|989898|1|9999012244|MR|Test|E|Lead 12244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012245|112245|989898|1|9999012245|MR|Test|E|Lead 12245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012246|112246|989898|1|9999012246|MR|Test|E|Lead 12246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012247|112247|989898|1|9999012247|MR|Test|E|Lead 12247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012248|112248|989898|1|9999012248|MR|Test|E|Lead 12248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012249|112249|989898|1|9999012249|MR|Test|E|Lead 12249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012250|112250|989898|1|9999012250|MR|Test|E|Lead 12250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012251|112251|989898|1|9999012251|MR|Test|E|Lead 12251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012252|112252|989898|1|9999012252|MR|Test|E|Lead 12252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012253|112253|989898|1|9999012253|MR|Test|E|Lead 12253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012254|112254|989898|1|9999012254|MR|Test|E|Lead 12254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012255|112255|989898|1|9999012255|MR|Test|E|Lead 12255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012256|112256|989898|1|9999012256|MR|Test|E|Lead 12256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012257|112257|989898|1|9999012257|MR|Test|E|Lead 12257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012258|112258|989898|1|9999012258|MR|Test|E|Lead 12258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012259|112259|989898|1|9999012259|MR|Test|E|Lead 12259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012260|112260|989898|1|9999012260|MR|Test|E|Lead 12260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012261|112261|989898|1|9999012261|MR|Test|E|Lead 12261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012262|112262|989898|1|9999012262|MR|Test|E|Lead 12262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012263|112263|989898|1|9999012263|MR|Test|E|Lead 12263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012264|112264|989898|1|9999012264|MR|Test|E|Lead 12264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012265|112265|989898|1|9999012265|MR|Test|E|Lead 12265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012266|112266|989898|1|9999012266|MR|Test|E|Lead 12266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012267|112267|989898|1|9999012267|MR|Test|E|Lead 12267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012268|112268|989898|1|9999012268|MR|Test|E|Lead 12268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012269|112269|989898|1|9999012269|MR|Test|E|Lead 12269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012270|112270|989898|1|9999012270|MR|Test|E|Lead 12270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012271|112271|989898|1|9999012271|MR|Test|E|Lead 12271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012272|112272|989898|1|9999012272|MR|Test|E|Lead 12272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012273|112273|989898|1|9999012273|MR|Test|E|Lead 12273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012274|112274|989898|1|9999012274|MR|Test|E|Lead 12274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012275|112275|989898|1|9999012275|MR|Test|E|Lead 12275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012276|112276|989898|1|9999012276|MR|Test|E|Lead 12276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012277|112277|989898|1|9999012277|MR|Test|E|Lead 12277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012278|112278|989898|1|9999012278|MR|Test|E|Lead 12278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012279|112279|989898|1|9999012279|MR|Test|E|Lead 12279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012280|112280|989898|1|9999012280|MR|Test|E|Lead 12280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012281|112281|989898|1|9999012281|MR|Test|E|Lead 12281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012282|112282|989898|1|9999012282|MR|Test|E|Lead 12282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012283|112283|989898|1|9999012283|MR|Test|E|Lead 12283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012284|112284|989898|1|9999012284|MR|Test|E|Lead 12284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012285|112285|989898|1|9999012285|MR|Test|E|Lead 12285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012286|112286|989898|1|9999012286|MR|Test|E|Lead 12286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012287|112287|989898|1|9999012287|MR|Test|E|Lead 12287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012288|112288|989898|1|9999012288|MR|Test|E|Lead 12288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012289|112289|989898|1|9999012289|MR|Test|E|Lead 12289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012290|112290|989898|1|9999012290|MR|Test|E|Lead 12290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012291|112291|989898|1|9999012291|MR|Test|E|Lead 12291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012292|112292|989898|1|9999012292|MR|Test|E|Lead 12292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012293|112293|989898|1|9999012293|MR|Test|E|Lead 12293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012294|112294|989898|1|9999012294|MR|Test|E|Lead 12294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012295|112295|989898|1|9999012295|MR|Test|E|Lead 12295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012296|112296|989898|1|9999012296|MR|Test|E|Lead 12296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012297|112297|989898|1|9999012297|MR|Test|E|Lead 12297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012298|112298|989898|1|9999012298|MR|Test|E|Lead 12298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012299|112299|989898|1|9999012299|MR|Test|E|Lead 12299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012300|112300|989898|1|9999012300|MR|Test|E|Lead 12300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012301|112301|989898|1|9999012301|MR|Test|E|Lead 12301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012302|112302|989898|1|9999012302|MR|Test|E|Lead 12302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012303|112303|989898|1|9999012303|MR|Test|E|Lead 12303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012304|112304|989898|1|9999012304|MR|Test|E|Lead 12304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012305|112305|989898|1|9999012305|MR|Test|E|Lead 12305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012306|112306|989898|1|9999012306|MR|Test|E|Lead 12306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012307|112307|989898|1|9999012307|MR|Test|E|Lead 12307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012308|112308|989898|1|9999012308|MR|Test|E|Lead 12308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012309|112309|989898|1|9999012309|MR|Test|E|Lead 12309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012310|112310|989898|1|9999012310|MR|Test|E|Lead 12310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012311|112311|989898|1|9999012311|MR|Test|E|Lead 12311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012312|112312|989898|1|9999012312|MR|Test|E|Lead 12312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012313|112313|989898|1|9999012313|MR|Test|E|Lead 12313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012314|112314|989898|1|9999012314|MR|Test|E|Lead 12314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012315|112315|989898|1|9999012315|MR|Test|E|Lead 12315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012316|112316|989898|1|9999012316|MR|Test|E|Lead 12316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012317|112317|989898|1|9999012317|MR|Test|E|Lead 12317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012318|112318|989898|1|9999012318|MR|Test|E|Lead 12318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012319|112319|989898|1|9999012319|MR|Test|E|Lead 12319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012320|112320|989898|1|9999012320|MR|Test|E|Lead 12320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012321|112321|989898|1|9999012321|MR|Test|E|Lead 12321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012322|112322|989898|1|9999012322|MR|Test|E|Lead 12322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012323|112323|989898|1|9999012323|MR|Test|E|Lead 12323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012324|112324|989898|1|9999012324|MR|Test|E|Lead 12324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012325|112325|989898|1|9999012325|MR|Test|E|Lead 12325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012326|112326|989898|1|9999012326|MR|Test|E|Lead 12326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012327|112327|989898|1|9999012327|MR|Test|E|Lead 12327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012328|112328|989898|1|9999012328|MR|Test|E|Lead 12328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012329|112329|989898|1|9999012329|MR|Test|E|Lead 12329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012330|112330|989898|1|9999012330|MR|Test|E|Lead 12330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012331|112331|989898|1|9999012331|MR|Test|E|Lead 12331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012332|112332|989898|1|9999012332|MR|Test|E|Lead 12332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012333|112333|989898|1|9999012333|MR|Test|E|Lead 12333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012334|112334|989898|1|9999012334|MR|Test|E|Lead 12334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012335|112335|989898|1|9999012335|MR|Test|E|Lead 12335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012336|112336|989898|1|9999012336|MR|Test|E|Lead 12336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012337|112337|989898|1|9999012337|MR|Test|E|Lead 12337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012338|112338|989898|1|9999012338|MR|Test|E|Lead 12338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012339|112339|989898|1|9999012339|MR|Test|E|Lead 12339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012340|112340|989898|1|9999012340|MR|Test|E|Lead 12340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012341|112341|989898|1|9999012341|MR|Test|E|Lead 12341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012342|112342|989898|1|9999012342|MR|Test|E|Lead 12342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012343|112343|989898|1|9999012343|MR|Test|E|Lead 12343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012344|112344|989898|1|9999012344|MR|Test|E|Lead 12344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012345|112345|989898|1|9999012345|MR|Test|E|Lead 12345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012346|112346|989898|1|9999012346|MR|Test|E|Lead 12346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012347|112347|989898|1|9999012347|MR|Test|E|Lead 12347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012348|112348|989898|1|9999012348|MR|Test|E|Lead 12348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012349|112349|989898|1|9999012349|MR|Test|E|Lead 12349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012350|112350|989898|1|9999012350|MR|Test|E|Lead 12350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012351|112351|989898|1|9999012351|MR|Test|E|Lead 12351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012352|112352|989898|1|9999012352|MR|Test|E|Lead 12352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012353|112353|989898|1|9999012353|MR|Test|E|Lead 12353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012354|112354|989898|1|9999012354|MR|Test|E|Lead 12354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012355|112355|989898|1|9999012355|MR|Test|E|Lead 12355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012356|112356|989898|1|9999012356|MR|Test|E|Lead 12356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012357|112357|989898|1|9999012357|MR|Test|E|Lead 12357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012358|112358|989898|1|9999012358|MR|Test|E|Lead 12358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012359|112359|989898|1|9999012359|MR|Test|E|Lead 12359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012360|112360|989898|1|9999012360|MR|Test|E|Lead 12360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012361|112361|989898|1|9999012361|MR|Test|E|Lead 12361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012362|112362|989898|1|9999012362|MR|Test|E|Lead 12362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012363|112363|989898|1|9999012363|MR|Test|E|Lead 12363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012364|112364|989898|1|9999012364|MR|Test|E|Lead 12364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012365|112365|989898|1|9999012365|MR|Test|E|Lead 12365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012366|112366|989898|1|9999012366|MR|Test|E|Lead 12366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012367|112367|989898|1|9999012367|MR|Test|E|Lead 12367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012368|112368|989898|1|9999012368|MR|Test|E|Lead 12368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012369|112369|989898|1|9999012369|MR|Test|E|Lead 12369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012370|112370|989898|1|9999012370|MR|Test|E|Lead 12370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012371|112371|989898|1|9999012371|MR|Test|E|Lead 12371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012372|112372|989898|1|9999012372|MR|Test|E|Lead 12372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012373|112373|989898|1|9999012373|MR|Test|E|Lead 12373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012374|112374|989898|1|9999012374|MR|Test|E|Lead 12374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012375|112375|989898|1|9999012375|MR|Test|E|Lead 12375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012376|112376|989898|1|9999012376|MR|Test|E|Lead 12376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012377|112377|989898|1|9999012377|MR|Test|E|Lead 12377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012378|112378|989898|1|9999012378|MR|Test|E|Lead 12378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012379|112379|989898|1|9999012379|MR|Test|E|Lead 12379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012380|112380|989898|1|9999012380|MR|Test|E|Lead 12380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012381|112381|989898|1|9999012381|MR|Test|E|Lead 12381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012382|112382|989898|1|9999012382|MR|Test|E|Lead 12382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012383|112383|989898|1|9999012383|MR|Test|E|Lead 12383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012384|112384|989898|1|9999012384|MR|Test|E|Lead 12384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012385|112385|989898|1|9999012385|MR|Test|E|Lead 12385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012386|112386|989898|1|9999012386|MR|Test|E|Lead 12386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012387|112387|989898|1|9999012387|MR|Test|E|Lead 12387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012388|112388|989898|1|9999012388|MR|Test|E|Lead 12388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012389|112389|989898|1|9999012389|MR|Test|E|Lead 12389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012390|112390|989898|1|9999012390|MR|Test|E|Lead 12390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012391|112391|989898|1|9999012391|MR|Test|E|Lead 12391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012392|112392|989898|1|9999012392|MR|Test|E|Lead 12392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012393|112393|989898|1|9999012393|MR|Test|E|Lead 12393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012394|112394|989898|1|9999012394|MR|Test|E|Lead 12394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012395|112395|989898|1|9999012395|MR|Test|E|Lead 12395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012396|112396|989898|1|9999012396|MR|Test|E|Lead 12396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012397|112397|989898|1|9999012397|MR|Test|E|Lead 12397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012398|112398|989898|1|9999012398|MR|Test|E|Lead 12398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012399|112399|989898|1|9999012399|MR|Test|E|Lead 12399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012400|112400|989898|1|9999012400|MR|Test|E|Lead 12400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012401|112401|989898|1|9999012401|MR|Test|E|Lead 12401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012402|112402|989898|1|9999012402|MR|Test|E|Lead 12402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012403|112403|989898|1|9999012403|MR|Test|E|Lead 12403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012404|112404|989898|1|9999012404|MR|Test|E|Lead 12404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012405|112405|989898|1|9999012405|MR|Test|E|Lead 12405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012406|112406|989898|1|9999012406|MR|Test|E|Lead 12406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012407|112407|989898|1|9999012407|MR|Test|E|Lead 12407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012408|112408|989898|1|9999012408|MR|Test|E|Lead 12408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012409|112409|989898|1|9999012409|MR|Test|E|Lead 12409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012410|112410|989898|1|9999012410|MR|Test|E|Lead 12410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012411|112411|989898|1|9999012411|MR|Test|E|Lead 12411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012412|112412|989898|1|9999012412|MR|Test|E|Lead 12412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012413|112413|989898|1|9999012413|MR|Test|E|Lead 12413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012414|112414|989898|1|9999012414|MR|Test|E|Lead 12414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012415|112415|989898|1|9999012415|MR|Test|E|Lead 12415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012416|112416|989898|1|9999012416|MR|Test|E|Lead 12416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012417|112417|989898|1|9999012417|MR|Test|E|Lead 12417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012418|112418|989898|1|9999012418|MR|Test|E|Lead 12418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012419|112419|989898|1|9999012419|MR|Test|E|Lead 12419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012420|112420|989898|1|9999012420|MR|Test|E|Lead 12420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012421|112421|989898|1|9999012421|MR|Test|E|Lead 12421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012422|112422|989898|1|9999012422|MR|Test|E|Lead 12422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012423|112423|989898|1|9999012423|MR|Test|E|Lead 12423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012424|112424|989898|1|9999012424|MR|Test|E|Lead 12424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012425|112425|989898|1|9999012425|MR|Test|E|Lead 12425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012426|112426|989898|1|9999012426|MR|Test|E|Lead 12426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012427|112427|989898|1|9999012427|MR|Test|E|Lead 12427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012428|112428|989898|1|9999012428|MR|Test|E|Lead 12428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012429|112429|989898|1|9999012429|MR|Test|E|Lead 12429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012430|112430|989898|1|9999012430|MR|Test|E|Lead 12430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012431|112431|989898|1|9999012431|MR|Test|E|Lead 12431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012432|112432|989898|1|9999012432|MR|Test|E|Lead 12432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012433|112433|989898|1|9999012433|MR|Test|E|Lead 12433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012434|112434|989898|1|9999012434|MR|Test|E|Lead 12434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012435|112435|989898|1|9999012435|MR|Test|E|Lead 12435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012436|112436|989898|1|9999012436|MR|Test|E|Lead 12436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012437|112437|989898|1|9999012437|MR|Test|E|Lead 12437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012438|112438|989898|1|9999012438|MR|Test|E|Lead 12438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012439|112439|989898|1|9999012439|MR|Test|E|Lead 12439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012440|112440|989898|1|9999012440|MR|Test|E|Lead 12440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012441|112441|989898|1|9999012441|MR|Test|E|Lead 12441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012442|112442|989898|1|9999012442|MR|Test|E|Lead 12442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012443|112443|989898|1|9999012443|MR|Test|E|Lead 12443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012444|112444|989898|1|9999012444|MR|Test|E|Lead 12444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012445|112445|989898|1|9999012445|MR|Test|E|Lead 12445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012446|112446|989898|1|9999012446|MR|Test|E|Lead 12446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012447|112447|989898|1|9999012447|MR|Test|E|Lead 12447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012448|112448|989898|1|9999012448|MR|Test|E|Lead 12448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012449|112449|989898|1|9999012449|MR|Test|E|Lead 12449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012450|112450|989898|1|9999012450|MR|Test|E|Lead 12450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012451|112451|989898|1|9999012451|MR|Test|E|Lead 12451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012452|112452|989898|1|9999012452|MR|Test|E|Lead 12452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012453|112453|989898|1|9999012453|MR|Test|E|Lead 12453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012454|112454|989898|1|9999012454|MR|Test|E|Lead 12454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012455|112455|989898|1|9999012455|MR|Test|E|Lead 12455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012456|112456|989898|1|9999012456|MR|Test|E|Lead 12456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012457|112457|989898|1|9999012457|MR|Test|E|Lead 12457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012458|112458|989898|1|9999012458|MR|Test|E|Lead 12458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012459|112459|989898|1|9999012459|MR|Test|E|Lead 12459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012460|112460|989898|1|9999012460|MR|Test|E|Lead 12460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012461|112461|989898|1|9999012461|MR|Test|E|Lead 12461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012462|112462|989898|1|9999012462|MR|Test|E|Lead 12462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012463|112463|989898|1|9999012463|MR|Test|E|Lead 12463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012464|112464|989898|1|9999012464|MR|Test|E|Lead 12464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012465|112465|989898|1|9999012465|MR|Test|E|Lead 12465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012466|112466|989898|1|9999012466|MR|Test|E|Lead 12466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012467|112467|989898|1|9999012467|MR|Test|E|Lead 12467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012468|112468|989898|1|9999012468|MR|Test|E|Lead 12468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012469|112469|989898|1|9999012469|MR|Test|E|Lead 12469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012470|112470|989898|1|9999012470|MR|Test|E|Lead 12470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012471|112471|989898|1|9999012471|MR|Test|E|Lead 12471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012472|112472|989898|1|9999012472|MR|Test|E|Lead 12472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012473|112473|989898|1|9999012473|MR|Test|E|Lead 12473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012474|112474|989898|1|9999012474|MR|Test|E|Lead 12474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012475|112475|989898|1|9999012475|MR|Test|E|Lead 12475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012476|112476|989898|1|9999012476|MR|Test|E|Lead 12476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012477|112477|989898|1|9999012477|MR|Test|E|Lead 12477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012478|112478|989898|1|9999012478|MR|Test|E|Lead 12478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012479|112479|989898|1|9999012479|MR|Test|E|Lead 12479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012480|112480|989898|1|9999012480|MR|Test|E|Lead 12480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012481|112481|989898|1|9999012481|MR|Test|E|Lead 12481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012482|112482|989898|1|9999012482|MR|Test|E|Lead 12482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012483|112483|989898|1|9999012483|MR|Test|E|Lead 12483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012484|112484|989898|1|9999012484|MR|Test|E|Lead 12484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012485|112485|989898|1|9999012485|MR|Test|E|Lead 12485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012486|112486|989898|1|9999012486|MR|Test|E|Lead 12486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012487|112487|989898|1|9999012487|MR|Test|E|Lead 12487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012488|112488|989898|1|9999012488|MR|Test|E|Lead 12488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012489|112489|989898|1|9999012489|MR|Test|E|Lead 12489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012490|112490|989898|1|9999012490|MR|Test|E|Lead 12490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012491|112491|989898|1|9999012491|MR|Test|E|Lead 12491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012492|112492|989898|1|9999012492|MR|Test|E|Lead 12492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012493|112493|989898|1|9999012493|MR|Test|E|Lead 12493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012494|112494|989898|1|9999012494|MR|Test|E|Lead 12494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012495|112495|989898|1|9999012495|MR|Test|E|Lead 12495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012496|112496|989898|1|9999012496|MR|Test|E|Lead 12496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012497|112497|989898|1|9999012497|MR|Test|E|Lead 12497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012498|112498|989898|1|9999012498|MR|Test|E|Lead 12498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012499|112499|989898|1|9999012499|MR|Test|E|Lead 12499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012500|112500|989898|1|9999012500|MR|Test|E|Lead 12500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012501|112501|989898|1|9999012501|MR|Test|E|Lead 12501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012502|112502|989898|1|9999012502|MR|Test|E|Lead 12502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012503|112503|989898|1|9999012503|MR|Test|E|Lead 12503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012504|112504|989898|1|9999012504|MR|Test|E|Lead 12504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012505|112505|989898|1|9999012505|MR|Test|E|Lead 12505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012506|112506|989898|1|9999012506|MR|Test|E|Lead 12506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012507|112507|989898|1|9999012507|MR|Test|E|Lead 12507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012508|112508|989898|1|9999012508|MR|Test|E|Lead 12508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012509|112509|989898|1|9999012509|MR|Test|E|Lead 12509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012510|112510|989898|1|9999012510|MR|Test|E|Lead 12510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012511|112511|989898|1|9999012511|MR|Test|E|Lead 12511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012512|112512|989898|1|9999012512|MR|Test|E|Lead 12512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012513|112513|989898|1|9999012513|MR|Test|E|Lead 12513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012514|112514|989898|1|9999012514|MR|Test|E|Lead 12514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012515|112515|989898|1|9999012515|MR|Test|E|Lead 12515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012516|112516|989898|1|9999012516|MR|Test|E|Lead 12516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012517|112517|989898|1|9999012517|MR|Test|E|Lead 12517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012518|112518|989898|1|9999012518|MR|Test|E|Lead 12518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012519|112519|989898|1|9999012519|MR|Test|E|Lead 12519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012520|112520|989898|1|9999012520|MR|Test|E|Lead 12520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012521|112521|989898|1|9999012521|MR|Test|E|Lead 12521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012522|112522|989898|1|9999012522|MR|Test|E|Lead 12522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012523|112523|989898|1|9999012523|MR|Test|E|Lead 12523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012524|112524|989898|1|9999012524|MR|Test|E|Lead 12524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012525|112525|989898|1|9999012525|MR|Test|E|Lead 12525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012526|112526|989898|1|9999012526|MR|Test|E|Lead 12526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012527|112527|989898|1|9999012527|MR|Test|E|Lead 12527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012528|112528|989898|1|9999012528|MR|Test|E|Lead 12528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012529|112529|989898|1|9999012529|MR|Test|E|Lead 12529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012530|112530|989898|1|9999012530|MR|Test|E|Lead 12530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012531|112531|989898|1|9999012531|MR|Test|E|Lead 12531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012532|112532|989898|1|9999012532|MR|Test|E|Lead 12532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012533|112533|989898|1|9999012533|MR|Test|E|Lead 12533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012534|112534|989898|1|9999012534|MR|Test|E|Lead 12534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012535|112535|989898|1|9999012535|MR|Test|E|Lead 12535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012536|112536|989898|1|9999012536|MR|Test|E|Lead 12536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012537|112537|989898|1|9999012537|MR|Test|E|Lead 12537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012538|112538|989898|1|9999012538|MR|Test|E|Lead 12538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012539|112539|989898|1|9999012539|MR|Test|E|Lead 12539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012540|112540|989898|1|9999012540|MR|Test|E|Lead 12540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012541|112541|989898|1|9999012541|MR|Test|E|Lead 12541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012542|112542|989898|1|9999012542|MR|Test|E|Lead 12542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012543|112543|989898|1|9999012543|MR|Test|E|Lead 12543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012544|112544|989898|1|9999012544|MR|Test|E|Lead 12544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012545|112545|989898|1|9999012545|MR|Test|E|Lead 12545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012546|112546|989898|1|9999012546|MR|Test|E|Lead 12546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012547|112547|989898|1|9999012547|MR|Test|E|Lead 12547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012548|112548|989898|1|9999012548|MR|Test|E|Lead 12548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012549|112549|989898|1|9999012549|MR|Test|E|Lead 12549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012550|112550|989898|1|9999012550|MR|Test|E|Lead 12550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012551|112551|989898|1|9999012551|MR|Test|E|Lead 12551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012552|112552|989898|1|9999012552|MR|Test|E|Lead 12552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012553|112553|989898|1|9999012553|MR|Test|E|Lead 12553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012554|112554|989898|1|9999012554|MR|Test|E|Lead 12554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012555|112555|989898|1|9999012555|MR|Test|E|Lead 12555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012556|112556|989898|1|9999012556|MR|Test|E|Lead 12556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012557|112557|989898|1|9999012557|MR|Test|E|Lead 12557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012558|112558|989898|1|9999012558|MR|Test|E|Lead 12558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012559|112559|989898|1|9999012559|MR|Test|E|Lead 12559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012560|112560|989898|1|9999012560|MR|Test|E|Lead 12560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012561|112561|989898|1|9999012561|MR|Test|E|Lead 12561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012562|112562|989898|1|9999012562|MR|Test|E|Lead 12562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012563|112563|989898|1|9999012563|MR|Test|E|Lead 12563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012564|112564|989898|1|9999012564|MR|Test|E|Lead 12564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012565|112565|989898|1|9999012565|MR|Test|E|Lead 12565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012566|112566|989898|1|9999012566|MR|Test|E|Lead 12566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012567|112567|989898|1|9999012567|MR|Test|E|Lead 12567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012568|112568|989898|1|9999012568|MR|Test|E|Lead 12568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012569|112569|989898|1|9999012569|MR|Test|E|Lead 12569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012570|112570|989898|1|9999012570|MR|Test|E|Lead 12570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012571|112571|989898|1|9999012571|MR|Test|E|Lead 12571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012572|112572|989898|1|9999012572|MR|Test|E|Lead 12572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012573|112573|989898|1|9999012573|MR|Test|E|Lead 12573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012574|112574|989898|1|9999012574|MR|Test|E|Lead 12574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012575|112575|989898|1|9999012575|MR|Test|E|Lead 12575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012576|112576|989898|1|9999012576|MR|Test|E|Lead 12576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012577|112577|989898|1|9999012577|MR|Test|E|Lead 12577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012578|112578|989898|1|9999012578|MR|Test|E|Lead 12578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012579|112579|989898|1|9999012579|MR|Test|E|Lead 12579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012580|112580|989898|1|9999012580|MR|Test|E|Lead 12580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012581|112581|989898|1|9999012581|MR|Test|E|Lead 12581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012582|112582|989898|1|9999012582|MR|Test|E|Lead 12582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012583|112583|989898|1|9999012583|MR|Test|E|Lead 12583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012584|112584|989898|1|9999012584|MR|Test|E|Lead 12584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012585|112585|989898|1|9999012585|MR|Test|E|Lead 12585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012586|112586|989898|1|9999012586|MR|Test|E|Lead 12586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012587|112587|989898|1|9999012587|MR|Test|E|Lead 12587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012588|112588|989898|1|9999012588|MR|Test|E|Lead 12588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012589|112589|989898|1|9999012589|MR|Test|E|Lead 12589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012590|112590|989898|1|9999012590|MR|Test|E|Lead 12590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012591|112591|989898|1|9999012591|MR|Test|E|Lead 12591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012592|112592|989898|1|9999012592|MR|Test|E|Lead 12592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012593|112593|989898|1|9999012593|MR|Test|E|Lead 12593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012594|112594|989898|1|9999012594|MR|Test|E|Lead 12594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012595|112595|989898|1|9999012595|MR|Test|E|Lead 12595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012596|112596|989898|1|9999012596|MR|Test|E|Lead 12596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012597|112597|989898|1|9999012597|MR|Test|E|Lead 12597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012598|112598|989898|1|9999012598|MR|Test|E|Lead 12598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012599|112599|989898|1|9999012599|MR|Test|E|Lead 12599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012600|112600|989898|1|9999012600|MR|Test|E|Lead 12600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012601|112601|989898|1|9999012601|MR|Test|E|Lead 12601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012602|112602|989898|1|9999012602|MR|Test|E|Lead 12602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012603|112603|989898|1|9999012603|MR|Test|E|Lead 12603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012604|112604|989898|1|9999012604|MR|Test|E|Lead 12604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012605|112605|989898|1|9999012605|MR|Test|E|Lead 12605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012606|112606|989898|1|9999012606|MR|Test|E|Lead 12606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012607|112607|989898|1|9999012607|MR|Test|E|Lead 12607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012608|112608|989898|1|9999012608|MR|Test|E|Lead 12608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012609|112609|989898|1|9999012609|MR|Test|E|Lead 12609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012610|112610|989898|1|9999012610|MR|Test|E|Lead 12610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012611|112611|989898|1|9999012611|MR|Test|E|Lead 12611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012612|112612|989898|1|9999012612|MR|Test|E|Lead 12612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012613|112613|989898|1|9999012613|MR|Test|E|Lead 12613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012614|112614|989898|1|9999012614|MR|Test|E|Lead 12614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012615|112615|989898|1|9999012615|MR|Test|E|Lead 12615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012616|112616|989898|1|9999012616|MR|Test|E|Lead 12616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012617|112617|989898|1|9999012617|MR|Test|E|Lead 12617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012618|112618|989898|1|9999012618|MR|Test|E|Lead 12618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012619|112619|989898|1|9999012619|MR|Test|E|Lead 12619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012620|112620|989898|1|9999012620|MR|Test|E|Lead 12620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012621|112621|989898|1|9999012621|MR|Test|E|Lead 12621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012622|112622|989898|1|9999012622|MR|Test|E|Lead 12622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012623|112623|989898|1|9999012623|MR|Test|E|Lead 12623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012624|112624|989898|1|9999012624|MR|Test|E|Lead 12624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012625|112625|989898|1|9999012625|MR|Test|E|Lead 12625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012626|112626|989898|1|9999012626|MR|Test|E|Lead 12626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012627|112627|989898|1|9999012627|MR|Test|E|Lead 12627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012628|112628|989898|1|9999012628|MR|Test|E|Lead 12628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012629|112629|989898|1|9999012629|MR|Test|E|Lead 12629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012630|112630|989898|1|9999012630|MR|Test|E|Lead 12630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012631|112631|989898|1|9999012631|MR|Test|E|Lead 12631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012632|112632|989898|1|9999012632|MR|Test|E|Lead 12632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012633|112633|989898|1|9999012633|MR|Test|E|Lead 12633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012634|112634|989898|1|9999012634|MR|Test|E|Lead 12634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012635|112635|989898|1|9999012635|MR|Test|E|Lead 12635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012636|112636|989898|1|9999012636|MR|Test|E|Lead 12636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012637|112637|989898|1|9999012637|MR|Test|E|Lead 12637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012638|112638|989898|1|9999012638|MR|Test|E|Lead 12638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012639|112639|989898|1|9999012639|MR|Test|E|Lead 12639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012640|112640|989898|1|9999012640|MR|Test|E|Lead 12640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012641|112641|989898|1|9999012641|MR|Test|E|Lead 12641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012642|112642|989898|1|9999012642|MR|Test|E|Lead 12642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012643|112643|989898|1|9999012643|MR|Test|E|Lead 12643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012644|112644|989898|1|9999012644|MR|Test|E|Lead 12644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012645|112645|989898|1|9999012645|MR|Test|E|Lead 12645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012646|112646|989898|1|9999012646|MR|Test|E|Lead 12646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012647|112647|989898|1|9999012647|MR|Test|E|Lead 12647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012648|112648|989898|1|9999012648|MR|Test|E|Lead 12648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012649|112649|989898|1|9999012649|MR|Test|E|Lead 12649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012650|112650|989898|1|9999012650|MR|Test|E|Lead 12650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012651|112651|989898|1|9999012651|MR|Test|E|Lead 12651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012652|112652|989898|1|9999012652|MR|Test|E|Lead 12652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012653|112653|989898|1|9999012653|MR|Test|E|Lead 12653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012654|112654|989898|1|9999012654|MR|Test|E|Lead 12654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012655|112655|989898|1|9999012655|MR|Test|E|Lead 12655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012656|112656|989898|1|9999012656|MR|Test|E|Lead 12656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012657|112657|989898|1|9999012657|MR|Test|E|Lead 12657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012658|112658|989898|1|9999012658|MR|Test|E|Lead 12658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012659|112659|989898|1|9999012659|MR|Test|E|Lead 12659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012660|112660|989898|1|9999012660|MR|Test|E|Lead 12660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012661|112661|989898|1|9999012661|MR|Test|E|Lead 12661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012662|112662|989898|1|9999012662|MR|Test|E|Lead 12662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012663|112663|989898|1|9999012663|MR|Test|E|Lead 12663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012664|112664|989898|1|9999012664|MR|Test|E|Lead 12664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012665|112665|989898|1|9999012665|MR|Test|E|Lead 12665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012666|112666|989898|1|9999012666|MR|Test|E|Lead 12666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012667|112667|989898|1|9999012667|MR|Test|E|Lead 12667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012668|112668|989898|1|9999012668|MR|Test|E|Lead 12668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012669|112669|989898|1|9999012669|MR|Test|E|Lead 12669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012670|112670|989898|1|9999012670|MR|Test|E|Lead 12670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012671|112671|989898|1|9999012671|MR|Test|E|Lead 12671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012672|112672|989898|1|9999012672|MR|Test|E|Lead 12672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012673|112673|989898|1|9999012673|MR|Test|E|Lead 12673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012674|112674|989898|1|9999012674|MR|Test|E|Lead 12674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012675|112675|989898|1|9999012675|MR|Test|E|Lead 12675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012676|112676|989898|1|9999012676|MR|Test|E|Lead 12676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012677|112677|989898|1|9999012677|MR|Test|E|Lead 12677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012678|112678|989898|1|9999012678|MR|Test|E|Lead 12678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012679|112679|989898|1|9999012679|MR|Test|E|Lead 12679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012680|112680|989898|1|9999012680|MR|Test|E|Lead 12680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012681|112681|989898|1|9999012681|MR|Test|E|Lead 12681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012682|112682|989898|1|9999012682|MR|Test|E|Lead 12682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012683|112683|989898|1|9999012683|MR|Test|E|Lead 12683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012684|112684|989898|1|9999012684|MR|Test|E|Lead 12684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012685|112685|989898|1|9999012685|MR|Test|E|Lead 12685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012686|112686|989898|1|9999012686|MR|Test|E|Lead 12686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012687|112687|989898|1|9999012687|MR|Test|E|Lead 12687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012688|112688|989898|1|9999012688|MR|Test|E|Lead 12688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012689|112689|989898|1|9999012689|MR|Test|E|Lead 12689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012690|112690|989898|1|9999012690|MR|Test|E|Lead 12690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012691|112691|989898|1|9999012691|MR|Test|E|Lead 12691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012692|112692|989898|1|9999012692|MR|Test|E|Lead 12692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012693|112693|989898|1|9999012693|MR|Test|E|Lead 12693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012694|112694|989898|1|9999012694|MR|Test|E|Lead 12694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012695|112695|989898|1|9999012695|MR|Test|E|Lead 12695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012696|112696|989898|1|9999012696|MR|Test|E|Lead 12696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012697|112697|989898|1|9999012697|MR|Test|E|Lead 12697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012698|112698|989898|1|9999012698|MR|Test|E|Lead 12698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012699|112699|989898|1|9999012699|MR|Test|E|Lead 12699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012700|112700|989898|1|9999012700|MR|Test|E|Lead 12700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012701|112701|989898|1|9999012701|MR|Test|E|Lead 12701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012702|112702|989898|1|9999012702|MR|Test|E|Lead 12702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012703|112703|989898|1|9999012703|MR|Test|E|Lead 12703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012704|112704|989898|1|9999012704|MR|Test|E|Lead 12704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012705|112705|989898|1|9999012705|MR|Test|E|Lead 12705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012706|112706|989898|1|9999012706|MR|Test|E|Lead 12706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012707|112707|989898|1|9999012707|MR|Test|E|Lead 12707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012708|112708|989898|1|9999012708|MR|Test|E|Lead 12708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012709|112709|989898|1|9999012709|MR|Test|E|Lead 12709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012710|112710|989898|1|9999012710|MR|Test|E|Lead 12710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012711|112711|989898|1|9999012711|MR|Test|E|Lead 12711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012712|112712|989898|1|9999012712|MR|Test|E|Lead 12712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012713|112713|989898|1|9999012713|MR|Test|E|Lead 12713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012714|112714|989898|1|9999012714|MR|Test|E|Lead 12714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012715|112715|989898|1|9999012715|MR|Test|E|Lead 12715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012716|112716|989898|1|9999012716|MR|Test|E|Lead 12716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012717|112717|989898|1|9999012717|MR|Test|E|Lead 12717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012718|112718|989898|1|9999012718|MR|Test|E|Lead 12718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012719|112719|989898|1|9999012719|MR|Test|E|Lead 12719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012720|112720|989898|1|9999012720|MR|Test|E|Lead 12720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012721|112721|989898|1|9999012721|MR|Test|E|Lead 12721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012722|112722|989898|1|9999012722|MR|Test|E|Lead 12722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012723|112723|989898|1|9999012723|MR|Test|E|Lead 12723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012724|112724|989898|1|9999012724|MR|Test|E|Lead 12724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012725|112725|989898|1|9999012725|MR|Test|E|Lead 12725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012726|112726|989898|1|9999012726|MR|Test|E|Lead 12726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012727|112727|989898|1|9999012727|MR|Test|E|Lead 12727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012728|112728|989898|1|9999012728|MR|Test|E|Lead 12728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012729|112729|989898|1|9999012729|MR|Test|E|Lead 12729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012730|112730|989898|1|9999012730|MR|Test|E|Lead 12730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012731|112731|989898|1|9999012731|MR|Test|E|Lead 12731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012732|112732|989898|1|9999012732|MR|Test|E|Lead 12732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012733|112733|989898|1|9999012733|MR|Test|E|Lead 12733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012734|112734|989898|1|9999012734|MR|Test|E|Lead 12734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012735|112735|989898|1|9999012735|MR|Test|E|Lead 12735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012736|112736|989898|1|9999012736|MR|Test|E|Lead 12736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012737|112737|989898|1|9999012737|MR|Test|E|Lead 12737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012738|112738|989898|1|9999012738|MR|Test|E|Lead 12738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012739|112739|989898|1|9999012739|MR|Test|E|Lead 12739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012740|112740|989898|1|9999012740|MR|Test|E|Lead 12740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012741|112741|989898|1|9999012741|MR|Test|E|Lead 12741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012742|112742|989898|1|9999012742|MR|Test|E|Lead 12742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012743|112743|989898|1|9999012743|MR|Test|E|Lead 12743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012744|112744|989898|1|9999012744|MR|Test|E|Lead 12744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012745|112745|989898|1|9999012745|MR|Test|E|Lead 12745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012746|112746|989898|1|9999012746|MR|Test|E|Lead 12746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012747|112747|989898|1|9999012747|MR|Test|E|Lead 12747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012748|112748|989898|1|9999012748|MR|Test|E|Lead 12748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012749|112749|989898|1|9999012749|MR|Test|E|Lead 12749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012750|112750|989898|1|9999012750|MR|Test|E|Lead 12750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012751|112751|989898|1|9999012751|MR|Test|E|Lead 12751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012752|112752|989898|1|9999012752|MR|Test|E|Lead 12752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012753|112753|989898|1|9999012753|MR|Test|E|Lead 12753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012754|112754|989898|1|9999012754|MR|Test|E|Lead 12754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012755|112755|989898|1|9999012755|MR|Test|E|Lead 12755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012756|112756|989898|1|9999012756|MR|Test|E|Lead 12756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012757|112757|989898|1|9999012757|MR|Test|E|Lead 12757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012758|112758|989898|1|9999012758|MR|Test|E|Lead 12758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012759|112759|989898|1|9999012759|MR|Test|E|Lead 12759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012760|112760|989898|1|9999012760|MR|Test|E|Lead 12760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012761|112761|989898|1|9999012761|MR|Test|E|Lead 12761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012762|112762|989898|1|9999012762|MR|Test|E|Lead 12762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012763|112763|989898|1|9999012763|MR|Test|E|Lead 12763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012764|112764|989898|1|9999012764|MR|Test|E|Lead 12764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012765|112765|989898|1|9999012765|MR|Test|E|Lead 12765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012766|112766|989898|1|9999012766|MR|Test|E|Lead 12766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012767|112767|989898|1|9999012767|MR|Test|E|Lead 12767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012768|112768|989898|1|9999012768|MR|Test|E|Lead 12768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012769|112769|989898|1|9999012769|MR|Test|E|Lead 12769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012770|112770|989898|1|9999012770|MR|Test|E|Lead 12770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012771|112771|989898|1|9999012771|MR|Test|E|Lead 12771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012772|112772|989898|1|9999012772|MR|Test|E|Lead 12772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012773|112773|989898|1|9999012773|MR|Test|E|Lead 12773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012774|112774|989898|1|9999012774|MR|Test|E|Lead 12774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012775|112775|989898|1|9999012775|MR|Test|E|Lead 12775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012776|112776|989898|1|9999012776|MR|Test|E|Lead 12776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012777|112777|989898|1|9999012777|MR|Test|E|Lead 12777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012778|112778|989898|1|9999012778|MR|Test|E|Lead 12778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012779|112779|989898|1|9999012779|MR|Test|E|Lead 12779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012780|112780|989898|1|9999012780|MR|Test|E|Lead 12780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012781|112781|989898|1|9999012781|MR|Test|E|Lead 12781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012782|112782|989898|1|9999012782|MR|Test|E|Lead 12782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012783|112783|989898|1|9999012783|MR|Test|E|Lead 12783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012784|112784|989898|1|9999012784|MR|Test|E|Lead 12784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012785|112785|989898|1|9999012785|MR|Test|E|Lead 12785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012786|112786|989898|1|9999012786|MR|Test|E|Lead 12786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012787|112787|989898|1|9999012787|MR|Test|E|Lead 12787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012788|112788|989898|1|9999012788|MR|Test|E|Lead 12788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012789|112789|989898|1|9999012789|MR|Test|E|Lead 12789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012790|112790|989898|1|9999012790|MR|Test|E|Lead 12790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012791|112791|989898|1|9999012791|MR|Test|E|Lead 12791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012792|112792|989898|1|9999012792|MR|Test|E|Lead 12792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012793|112793|989898|1|9999012793|MR|Test|E|Lead 12793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012794|112794|989898|1|9999012794|MR|Test|E|Lead 12794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012795|112795|989898|1|9999012795|MR|Test|E|Lead 12795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012796|112796|989898|1|9999012796|MR|Test|E|Lead 12796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012797|112797|989898|1|9999012797|MR|Test|E|Lead 12797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012798|112798|989898|1|9999012798|MR|Test|E|Lead 12798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012799|112799|989898|1|9999012799|MR|Test|E|Lead 12799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012800|112800|989898|1|9999012800|MR|Test|E|Lead 12800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012801|112801|989898|1|9999012801|MR|Test|E|Lead 12801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012802|112802|989898|1|9999012802|MR|Test|E|Lead 12802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012803|112803|989898|1|9999012803|MR|Test|E|Lead 12803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012804|112804|989898|1|9999012804|MR|Test|E|Lead 12804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012805|112805|989898|1|9999012805|MR|Test|E|Lead 12805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012806|112806|989898|1|9999012806|MR|Test|E|Lead 12806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012807|112807|989898|1|9999012807|MR|Test|E|Lead 12807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012808|112808|989898|1|9999012808|MR|Test|E|Lead 12808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012809|112809|989898|1|9999012809|MR|Test|E|Lead 12809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012810|112810|989898|1|9999012810|MR|Test|E|Lead 12810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012811|112811|989898|1|9999012811|MR|Test|E|Lead 12811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012812|112812|989898|1|9999012812|MR|Test|E|Lead 12812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012813|112813|989898|1|9999012813|MR|Test|E|Lead 12813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012814|112814|989898|1|9999012814|MR|Test|E|Lead 12814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012815|112815|989898|1|9999012815|MR|Test|E|Lead 12815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012816|112816|989898|1|9999012816|MR|Test|E|Lead 12816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012817|112817|989898|1|9999012817|MR|Test|E|Lead 12817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012818|112818|989898|1|9999012818|MR|Test|E|Lead 12818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012819|112819|989898|1|9999012819|MR|Test|E|Lead 12819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012820|112820|989898|1|9999012820|MR|Test|E|Lead 12820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012821|112821|989898|1|9999012821|MR|Test|E|Lead 12821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012822|112822|989898|1|9999012822|MR|Test|E|Lead 12822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012823|112823|989898|1|9999012823|MR|Test|E|Lead 12823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012824|112824|989898|1|9999012824|MR|Test|E|Lead 12824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012825|112825|989898|1|9999012825|MR|Test|E|Lead 12825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012826|112826|989898|1|9999012826|MR|Test|E|Lead 12826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012827|112827|989898|1|9999012827|MR|Test|E|Lead 12827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012828|112828|989898|1|9999012828|MR|Test|E|Lead 12828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012829|112829|989898|1|9999012829|MR|Test|E|Lead 12829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012830|112830|989898|1|9999012830|MR|Test|E|Lead 12830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012831|112831|989898|1|9999012831|MR|Test|E|Lead 12831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012832|112832|989898|1|9999012832|MR|Test|E|Lead 12832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012833|112833|989898|1|9999012833|MR|Test|E|Lead 12833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012834|112834|989898|1|9999012834|MR|Test|E|Lead 12834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012835|112835|989898|1|9999012835|MR|Test|E|Lead 12835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012836|112836|989898|1|9999012836|MR|Test|E|Lead 12836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012837|112837|989898|1|9999012837|MR|Test|E|Lead 12837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012838|112838|989898|1|9999012838|MR|Test|E|Lead 12838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012839|112839|989898|1|9999012839|MR|Test|E|Lead 12839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012840|112840|989898|1|9999012840|MR|Test|E|Lead 12840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012841|112841|989898|1|9999012841|MR|Test|E|Lead 12841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012842|112842|989898|1|9999012842|MR|Test|E|Lead 12842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012843|112843|989898|1|9999012843|MR|Test|E|Lead 12843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012844|112844|989898|1|9999012844|MR|Test|E|Lead 12844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012845|112845|989898|1|9999012845|MR|Test|E|Lead 12845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012846|112846|989898|1|9999012846|MR|Test|E|Lead 12846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012847|112847|989898|1|9999012847|MR|Test|E|Lead 12847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012848|112848|989898|1|9999012848|MR|Test|E|Lead 12848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012849|112849|989898|1|9999012849|MR|Test|E|Lead 12849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012850|112850|989898|1|9999012850|MR|Test|E|Lead 12850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012851|112851|989898|1|9999012851|MR|Test|E|Lead 12851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012852|112852|989898|1|9999012852|MR|Test|E|Lead 12852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012853|112853|989898|1|9999012853|MR|Test|E|Lead 12853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012854|112854|989898|1|9999012854|MR|Test|E|Lead 12854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012855|112855|989898|1|9999012855|MR|Test|E|Lead 12855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012856|112856|989898|1|9999012856|MR|Test|E|Lead 12856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012857|112857|989898|1|9999012857|MR|Test|E|Lead 12857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012858|112858|989898|1|9999012858|MR|Test|E|Lead 12858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012859|112859|989898|1|9999012859|MR|Test|E|Lead 12859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012860|112860|989898|1|9999012860|MR|Test|E|Lead 12860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012861|112861|989898|1|9999012861|MR|Test|E|Lead 12861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012862|112862|989898|1|9999012862|MR|Test|E|Lead 12862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012863|112863|989898|1|9999012863|MR|Test|E|Lead 12863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012864|112864|989898|1|9999012864|MR|Test|E|Lead 12864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012865|112865|989898|1|9999012865|MR|Test|E|Lead 12865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012866|112866|989898|1|9999012866|MR|Test|E|Lead 12866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012867|112867|989898|1|9999012867|MR|Test|E|Lead 12867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012868|112868|989898|1|9999012868|MR|Test|E|Lead 12868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012869|112869|989898|1|9999012869|MR|Test|E|Lead 12869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012870|112870|989898|1|9999012870|MR|Test|E|Lead 12870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012871|112871|989898|1|9999012871|MR|Test|E|Lead 12871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012872|112872|989898|1|9999012872|MR|Test|E|Lead 12872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012873|112873|989898|1|9999012873|MR|Test|E|Lead 12873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012874|112874|989898|1|9999012874|MR|Test|E|Lead 12874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012875|112875|989898|1|9999012875|MR|Test|E|Lead 12875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012876|112876|989898|1|9999012876|MR|Test|E|Lead 12876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012877|112877|989898|1|9999012877|MR|Test|E|Lead 12877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012878|112878|989898|1|9999012878|MR|Test|E|Lead 12878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012879|112879|989898|1|9999012879|MR|Test|E|Lead 12879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012880|112880|989898|1|9999012880|MR|Test|E|Lead 12880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012881|112881|989898|1|9999012881|MR|Test|E|Lead 12881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012882|112882|989898|1|9999012882|MR|Test|E|Lead 12882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012883|112883|989898|1|9999012883|MR|Test|E|Lead 12883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012884|112884|989898|1|9999012884|MR|Test|E|Lead 12884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012885|112885|989898|1|9999012885|MR|Test|E|Lead 12885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012886|112886|989898|1|9999012886|MR|Test|E|Lead 12886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012887|112887|989898|1|9999012887|MR|Test|E|Lead 12887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012888|112888|989898|1|9999012888|MR|Test|E|Lead 12888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012889|112889|989898|1|9999012889|MR|Test|E|Lead 12889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012890|112890|989898|1|9999012890|MR|Test|E|Lead 12890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012891|112891|989898|1|9999012891|MR|Test|E|Lead 12891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012892|112892|989898|1|9999012892|MR|Test|E|Lead 12892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012893|112893|989898|1|9999012893|MR|Test|E|Lead 12893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012894|112894|989898|1|9999012894|MR|Test|E|Lead 12894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012895|112895|989898|1|9999012895|MR|Test|E|Lead 12895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012896|112896|989898|1|9999012896|MR|Test|E|Lead 12896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012897|112897|989898|1|9999012897|MR|Test|E|Lead 12897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012898|112898|989898|1|9999012898|MR|Test|E|Lead 12898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012899|112899|989898|1|9999012899|MR|Test|E|Lead 12899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012900|112900|989898|1|9999012900|MR|Test|E|Lead 12900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012901|112901|989898|1|9999012901|MR|Test|E|Lead 12901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012902|112902|989898|1|9999012902|MR|Test|E|Lead 12902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012903|112903|989898|1|9999012903|MR|Test|E|Lead 12903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012904|112904|989898|1|9999012904|MR|Test|E|Lead 12904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012905|112905|989898|1|9999012905|MR|Test|E|Lead 12905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012906|112906|989898|1|9999012906|MR|Test|E|Lead 12906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012907|112907|989898|1|9999012907|MR|Test|E|Lead 12907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012908|112908|989898|1|9999012908|MR|Test|E|Lead 12908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012909|112909|989898|1|9999012909|MR|Test|E|Lead 12909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012910|112910|989898|1|9999012910|MR|Test|E|Lead 12910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012911|112911|989898|1|9999012911|MR|Test|E|Lead 12911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012912|112912|989898|1|9999012912|MR|Test|E|Lead 12912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012913|112913|989898|1|9999012913|MR|Test|E|Lead 12913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012914|112914|989898|1|9999012914|MR|Test|E|Lead 12914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012915|112915|989898|1|9999012915|MR|Test|E|Lead 12915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012916|112916|989898|1|9999012916|MR|Test|E|Lead 12916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012917|112917|989898|1|9999012917|MR|Test|E|Lead 12917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012918|112918|989898|1|9999012918|MR|Test|E|Lead 12918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012919|112919|989898|1|9999012919|MR|Test|E|Lead 12919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012920|112920|989898|1|9999012920|MR|Test|E|Lead 12920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012921|112921|989898|1|9999012921|MR|Test|E|Lead 12921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012922|112922|989898|1|9999012922|MR|Test|E|Lead 12922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012923|112923|989898|1|9999012923|MR|Test|E|Lead 12923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012924|112924|989898|1|9999012924|MR|Test|E|Lead 12924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012925|112925|989898|1|9999012925|MR|Test|E|Lead 12925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012926|112926|989898|1|9999012926|MR|Test|E|Lead 12926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012927|112927|989898|1|9999012927|MR|Test|E|Lead 12927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012928|112928|989898|1|9999012928|MR|Test|E|Lead 12928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012929|112929|989898|1|9999012929|MR|Test|E|Lead 12929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012930|112930|989898|1|9999012930|MR|Test|E|Lead 12930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012931|112931|989898|1|9999012931|MR|Test|E|Lead 12931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012932|112932|989898|1|9999012932|MR|Test|E|Lead 12932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012933|112933|989898|1|9999012933|MR|Test|E|Lead 12933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012934|112934|989898|1|9999012934|MR|Test|E|Lead 12934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012935|112935|989898|1|9999012935|MR|Test|E|Lead 12935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012936|112936|989898|1|9999012936|MR|Test|E|Lead 12936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012937|112937|989898|1|9999012937|MR|Test|E|Lead 12937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012938|112938|989898|1|9999012938|MR|Test|E|Lead 12938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012939|112939|989898|1|9999012939|MR|Test|E|Lead 12939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012940|112940|989898|1|9999012940|MR|Test|E|Lead 12940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012941|112941|989898|1|9999012941|MR|Test|E|Lead 12941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012942|112942|989898|1|9999012942|MR|Test|E|Lead 12942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012943|112943|989898|1|9999012943|MR|Test|E|Lead 12943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012944|112944|989898|1|9999012944|MR|Test|E|Lead 12944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012945|112945|989898|1|9999012945|MR|Test|E|Lead 12945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012946|112946|989898|1|9999012946|MR|Test|E|Lead 12946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012947|112947|989898|1|9999012947|MR|Test|E|Lead 12947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012948|112948|989898|1|9999012948|MR|Test|E|Lead 12948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012949|112949|989898|1|9999012949|MR|Test|E|Lead 12949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012950|112950|989898|1|9999012950|MR|Test|E|Lead 12950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012951|112951|989898|1|9999012951|MR|Test|E|Lead 12951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012952|112952|989898|1|9999012952|MR|Test|E|Lead 12952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012953|112953|989898|1|9999012953|MR|Test|E|Lead 12953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012954|112954|989898|1|9999012954|MR|Test|E|Lead 12954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012955|112955|989898|1|9999012955|MR|Test|E|Lead 12955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012956|112956|989898|1|9999012956|MR|Test|E|Lead 12956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012957|112957|989898|1|9999012957|MR|Test|E|Lead 12957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012958|112958|989898|1|9999012958|MR|Test|E|Lead 12958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012959|112959|989898|1|9999012959|MR|Test|E|Lead 12959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012960|112960|989898|1|9999012960|MR|Test|E|Lead 12960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012961|112961|989898|1|9999012961|MR|Test|E|Lead 12961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012962|112962|989898|1|9999012962|MR|Test|E|Lead 12962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012963|112963|989898|1|9999012963|MR|Test|E|Lead 12963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012964|112964|989898|1|9999012964|MR|Test|E|Lead 12964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012965|112965|989898|1|9999012965|MR|Test|E|Lead 12965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012966|112966|989898|1|9999012966|MR|Test|E|Lead 12966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012967|112967|989898|1|9999012967|MR|Test|E|Lead 12967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012968|112968|989898|1|9999012968|MR|Test|E|Lead 12968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012969|112969|989898|1|9999012969|MR|Test|E|Lead 12969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012970|112970|989898|1|9999012970|MR|Test|E|Lead 12970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012971|112971|989898|1|9999012971|MR|Test|E|Lead 12971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012972|112972|989898|1|9999012972|MR|Test|E|Lead 12972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012973|112973|989898|1|9999012973|MR|Test|E|Lead 12973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012974|112974|989898|1|9999012974|MR|Test|E|Lead 12974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012975|112975|989898|1|9999012975|MR|Test|E|Lead 12975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012976|112976|989898|1|9999012976|MR|Test|E|Lead 12976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012977|112977|989898|1|9999012977|MR|Test|E|Lead 12977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012978|112978|989898|1|9999012978|MR|Test|E|Lead 12978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012979|112979|989898|1|9999012979|MR|Test|E|Lead 12979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012980|112980|989898|1|9999012980|MR|Test|E|Lead 12980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012981|112981|989898|1|9999012981|MR|Test|E|Lead 12981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012982|112982|989898|1|9999012982|MR|Test|E|Lead 12982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012983|112983|989898|1|9999012983|MR|Test|E|Lead 12983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012984|112984|989898|1|9999012984|MR|Test|E|Lead 12984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012985|112985|989898|1|9999012985|MR|Test|E|Lead 12985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012986|112986|989898|1|9999012986|MR|Test|E|Lead 12986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012987|112987|989898|1|9999012987|MR|Test|E|Lead 12987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012988|112988|989898|1|9999012988|MR|Test|E|Lead 12988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012989|112989|989898|1|9999012989|MR|Test|E|Lead 12989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012990|112990|989898|1|9999012990|MR|Test|E|Lead 12990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012991|112991|989898|1|9999012991|MR|Test|E|Lead 12991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012992|112992|989898|1|9999012992|MR|Test|E|Lead 12992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012993|112993|989898|1|9999012993|MR|Test|E|Lead 12993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012994|112994|989898|1|9999012994|MR|Test|E|Lead 12994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012995|112995|989898|1|9999012995|MR|Test|E|Lead 12995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012996|112996|989898|1|9999012996|MR|Test|E|Lead 12996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012997|112997|989898|1|9999012997|MR|Test|E|Lead 12997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012998|112998|989898|1|9999012998|MR|Test|E|Lead 12998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1012999|112999|989898|1|9999012999|MR|Test|E|Lead 12999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013000|113000|989898|1|9999013000|MR|Test|E|Lead 13000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013001|113001|989898|1|9999013001|MR|Test|E|Lead 13001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013002|113002|989898|1|9999013002|MR|Test|E|Lead 13002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013003|113003|989898|1|9999013003|MR|Test|E|Lead 13003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013004|113004|989898|1|9999013004|MR|Test|E|Lead 13004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013005|113005|989898|1|9999013005|MR|Test|E|Lead 13005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013006|113006|989898|1|9999013006|MR|Test|E|Lead 13006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013007|113007|989898|1|9999013007|MR|Test|E|Lead 13007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013008|113008|989898|1|9999013008|MR|Test|E|Lead 13008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013009|113009|989898|1|9999013009|MR|Test|E|Lead 13009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013010|113010|989898|1|9999013010|MR|Test|E|Lead 13010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013011|113011|989898|1|9999013011|MR|Test|E|Lead 13011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013012|113012|989898|1|9999013012|MR|Test|E|Lead 13012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013013|113013|989898|1|9999013013|MR|Test|E|Lead 13013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013014|113014|989898|1|9999013014|MR|Test|E|Lead 13014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013015|113015|989898|1|9999013015|MR|Test|E|Lead 13015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013016|113016|989898|1|9999013016|MR|Test|E|Lead 13016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013017|113017|989898|1|9999013017|MR|Test|E|Lead 13017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013018|113018|989898|1|9999013018|MR|Test|E|Lead 13018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013019|113019|989898|1|9999013019|MR|Test|E|Lead 13019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013020|113020|989898|1|9999013020|MR|Test|E|Lead 13020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013021|113021|989898|1|9999013021|MR|Test|E|Lead 13021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013022|113022|989898|1|9999013022|MR|Test|E|Lead 13022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013023|113023|989898|1|9999013023|MR|Test|E|Lead 13023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013024|113024|989898|1|9999013024|MR|Test|E|Lead 13024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013025|113025|989898|1|9999013025|MR|Test|E|Lead 13025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013026|113026|989898|1|9999013026|MR|Test|E|Lead 13026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013027|113027|989898|1|9999013027|MR|Test|E|Lead 13027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013028|113028|989898|1|9999013028|MR|Test|E|Lead 13028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013029|113029|989898|1|9999013029|MR|Test|E|Lead 13029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013030|113030|989898|1|9999013030|MR|Test|E|Lead 13030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013031|113031|989898|1|9999013031|MR|Test|E|Lead 13031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013032|113032|989898|1|9999013032|MR|Test|E|Lead 13032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013033|113033|989898|1|9999013033|MR|Test|E|Lead 13033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013034|113034|989898|1|9999013034|MR|Test|E|Lead 13034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013035|113035|989898|1|9999013035|MR|Test|E|Lead 13035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013036|113036|989898|1|9999013036|MR|Test|E|Lead 13036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013037|113037|989898|1|9999013037|MR|Test|E|Lead 13037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013038|113038|989898|1|9999013038|MR|Test|E|Lead 13038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013039|113039|989898|1|9999013039|MR|Test|E|Lead 13039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013040|113040|989898|1|9999013040|MR|Test|E|Lead 13040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013041|113041|989898|1|9999013041|MR|Test|E|Lead 13041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013042|113042|989898|1|9999013042|MR|Test|E|Lead 13042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013043|113043|989898|1|9999013043|MR|Test|E|Lead 13043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013044|113044|989898|1|9999013044|MR|Test|E|Lead 13044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013045|113045|989898|1|9999013045|MR|Test|E|Lead 13045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013046|113046|989898|1|9999013046|MR|Test|E|Lead 13046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013047|113047|989898|1|9999013047|MR|Test|E|Lead 13047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013048|113048|989898|1|9999013048|MR|Test|E|Lead 13048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013049|113049|989898|1|9999013049|MR|Test|E|Lead 13049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013050|113050|989898|1|9999013050|MR|Test|E|Lead 13050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013051|113051|989898|1|9999013051|MR|Test|E|Lead 13051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013052|113052|989898|1|9999013052|MR|Test|E|Lead 13052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013053|113053|989898|1|9999013053|MR|Test|E|Lead 13053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013054|113054|989898|1|9999013054|MR|Test|E|Lead 13054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013055|113055|989898|1|9999013055|MR|Test|E|Lead 13055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013056|113056|989898|1|9999013056|MR|Test|E|Lead 13056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013057|113057|989898|1|9999013057|MR|Test|E|Lead 13057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013058|113058|989898|1|9999013058|MR|Test|E|Lead 13058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013059|113059|989898|1|9999013059|MR|Test|E|Lead 13059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013060|113060|989898|1|9999013060|MR|Test|E|Lead 13060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013061|113061|989898|1|9999013061|MR|Test|E|Lead 13061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013062|113062|989898|1|9999013062|MR|Test|E|Lead 13062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013063|113063|989898|1|9999013063|MR|Test|E|Lead 13063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013064|113064|989898|1|9999013064|MR|Test|E|Lead 13064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013065|113065|989898|1|9999013065|MR|Test|E|Lead 13065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013066|113066|989898|1|9999013066|MR|Test|E|Lead 13066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013067|113067|989898|1|9999013067|MR|Test|E|Lead 13067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013068|113068|989898|1|9999013068|MR|Test|E|Lead 13068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013069|113069|989898|1|9999013069|MR|Test|E|Lead 13069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013070|113070|989898|1|9999013070|MR|Test|E|Lead 13070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013071|113071|989898|1|9999013071|MR|Test|E|Lead 13071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013072|113072|989898|1|9999013072|MR|Test|E|Lead 13072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013073|113073|989898|1|9999013073|MR|Test|E|Lead 13073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013074|113074|989898|1|9999013074|MR|Test|E|Lead 13074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013075|113075|989898|1|9999013075|MR|Test|E|Lead 13075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013076|113076|989898|1|9999013076|MR|Test|E|Lead 13076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013077|113077|989898|1|9999013077|MR|Test|E|Lead 13077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013078|113078|989898|1|9999013078|MR|Test|E|Lead 13078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013079|113079|989898|1|9999013079|MR|Test|E|Lead 13079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013080|113080|989898|1|9999013080|MR|Test|E|Lead 13080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013081|113081|989898|1|9999013081|MR|Test|E|Lead 13081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013082|113082|989898|1|9999013082|MR|Test|E|Lead 13082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013083|113083|989898|1|9999013083|MR|Test|E|Lead 13083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013084|113084|989898|1|9999013084|MR|Test|E|Lead 13084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013085|113085|989898|1|9999013085|MR|Test|E|Lead 13085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013086|113086|989898|1|9999013086|MR|Test|E|Lead 13086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013087|113087|989898|1|9999013087|MR|Test|E|Lead 13087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013088|113088|989898|1|9999013088|MR|Test|E|Lead 13088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013089|113089|989898|1|9999013089|MR|Test|E|Lead 13089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013090|113090|989898|1|9999013090|MR|Test|E|Lead 13090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013091|113091|989898|1|9999013091|MR|Test|E|Lead 13091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013092|113092|989898|1|9999013092|MR|Test|E|Lead 13092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013093|113093|989898|1|9999013093|MR|Test|E|Lead 13093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013094|113094|989898|1|9999013094|MR|Test|E|Lead 13094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013095|113095|989898|1|9999013095|MR|Test|E|Lead 13095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013096|113096|989898|1|9999013096|MR|Test|E|Lead 13096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013097|113097|989898|1|9999013097|MR|Test|E|Lead 13097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013098|113098|989898|1|9999013098|MR|Test|E|Lead 13098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013099|113099|989898|1|9999013099|MR|Test|E|Lead 13099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013100|113100|989898|1|9999013100|MR|Test|E|Lead 13100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013101|113101|989898|1|9999013101|MR|Test|E|Lead 13101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013102|113102|989898|1|9999013102|MR|Test|E|Lead 13102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013103|113103|989898|1|9999013103|MR|Test|E|Lead 13103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013104|113104|989898|1|9999013104|MR|Test|E|Lead 13104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013105|113105|989898|1|9999013105|MR|Test|E|Lead 13105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013106|113106|989898|1|9999013106|MR|Test|E|Lead 13106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013107|113107|989898|1|9999013107|MR|Test|E|Lead 13107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013108|113108|989898|1|9999013108|MR|Test|E|Lead 13108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013109|113109|989898|1|9999013109|MR|Test|E|Lead 13109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013110|113110|989898|1|9999013110|MR|Test|E|Lead 13110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013111|113111|989898|1|9999013111|MR|Test|E|Lead 13111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013112|113112|989898|1|9999013112|MR|Test|E|Lead 13112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013113|113113|989898|1|9999013113|MR|Test|E|Lead 13113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013114|113114|989898|1|9999013114|MR|Test|E|Lead 13114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013115|113115|989898|1|9999013115|MR|Test|E|Lead 13115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013116|113116|989898|1|9999013116|MR|Test|E|Lead 13116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013117|113117|989898|1|9999013117|MR|Test|E|Lead 13117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013118|113118|989898|1|9999013118|MR|Test|E|Lead 13118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013119|113119|989898|1|9999013119|MR|Test|E|Lead 13119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013120|113120|989898|1|9999013120|MR|Test|E|Lead 13120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013121|113121|989898|1|9999013121|MR|Test|E|Lead 13121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013122|113122|989898|1|9999013122|MR|Test|E|Lead 13122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013123|113123|989898|1|9999013123|MR|Test|E|Lead 13123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013124|113124|989898|1|9999013124|MR|Test|E|Lead 13124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013125|113125|989898|1|9999013125|MR|Test|E|Lead 13125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013126|113126|989898|1|9999013126|MR|Test|E|Lead 13126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013127|113127|989898|1|9999013127|MR|Test|E|Lead 13127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013128|113128|989898|1|9999013128|MR|Test|E|Lead 13128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013129|113129|989898|1|9999013129|MR|Test|E|Lead 13129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013130|113130|989898|1|9999013130|MR|Test|E|Lead 13130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013131|113131|989898|1|9999013131|MR|Test|E|Lead 13131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013132|113132|989898|1|9999013132|MR|Test|E|Lead 13132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013133|113133|989898|1|9999013133|MR|Test|E|Lead 13133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013134|113134|989898|1|9999013134|MR|Test|E|Lead 13134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013135|113135|989898|1|9999013135|MR|Test|E|Lead 13135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013136|113136|989898|1|9999013136|MR|Test|E|Lead 13136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013137|113137|989898|1|9999013137|MR|Test|E|Lead 13137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013138|113138|989898|1|9999013138|MR|Test|E|Lead 13138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013139|113139|989898|1|9999013139|MR|Test|E|Lead 13139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013140|113140|989898|1|9999013140|MR|Test|E|Lead 13140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013141|113141|989898|1|9999013141|MR|Test|E|Lead 13141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013142|113142|989898|1|9999013142|MR|Test|E|Lead 13142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013143|113143|989898|1|9999013143|MR|Test|E|Lead 13143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013144|113144|989898|1|9999013144|MR|Test|E|Lead 13144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013145|113145|989898|1|9999013145|MR|Test|E|Lead 13145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013146|113146|989898|1|9999013146|MR|Test|E|Lead 13146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013147|113147|989898|1|9999013147|MR|Test|E|Lead 13147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013148|113148|989898|1|9999013148|MR|Test|E|Lead 13148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013149|113149|989898|1|9999013149|MR|Test|E|Lead 13149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013150|113150|989898|1|9999013150|MR|Test|E|Lead 13150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013151|113151|989898|1|9999013151|MR|Test|E|Lead 13151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013152|113152|989898|1|9999013152|MR|Test|E|Lead 13152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013153|113153|989898|1|9999013153|MR|Test|E|Lead 13153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013154|113154|989898|1|9999013154|MR|Test|E|Lead 13154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013155|113155|989898|1|9999013155|MR|Test|E|Lead 13155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013156|113156|989898|1|9999013156|MR|Test|E|Lead 13156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013157|113157|989898|1|9999013157|MR|Test|E|Lead 13157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013158|113158|989898|1|9999013158|MR|Test|E|Lead 13158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013159|113159|989898|1|9999013159|MR|Test|E|Lead 13159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013160|113160|989898|1|9999013160|MR|Test|E|Lead 13160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013161|113161|989898|1|9999013161|MR|Test|E|Lead 13161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013162|113162|989898|1|9999013162|MR|Test|E|Lead 13162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013163|113163|989898|1|9999013163|MR|Test|E|Lead 13163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013164|113164|989898|1|9999013164|MR|Test|E|Lead 13164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013165|113165|989898|1|9999013165|MR|Test|E|Lead 13165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013166|113166|989898|1|9999013166|MR|Test|E|Lead 13166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013167|113167|989898|1|9999013167|MR|Test|E|Lead 13167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013168|113168|989898|1|9999013168|MR|Test|E|Lead 13168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013169|113169|989898|1|9999013169|MR|Test|E|Lead 13169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013170|113170|989898|1|9999013170|MR|Test|E|Lead 13170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013171|113171|989898|1|9999013171|MR|Test|E|Lead 13171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013172|113172|989898|1|9999013172|MR|Test|E|Lead 13172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013173|113173|989898|1|9999013173|MR|Test|E|Lead 13173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013174|113174|989898|1|9999013174|MR|Test|E|Lead 13174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013175|113175|989898|1|9999013175|MR|Test|E|Lead 13175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013176|113176|989898|1|9999013176|MR|Test|E|Lead 13176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013177|113177|989898|1|9999013177|MR|Test|E|Lead 13177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013178|113178|989898|1|9999013178|MR|Test|E|Lead 13178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013179|113179|989898|1|9999013179|MR|Test|E|Lead 13179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013180|113180|989898|1|9999013180|MR|Test|E|Lead 13180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013181|113181|989898|1|9999013181|MR|Test|E|Lead 13181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013182|113182|989898|1|9999013182|MR|Test|E|Lead 13182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013183|113183|989898|1|9999013183|MR|Test|E|Lead 13183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013184|113184|989898|1|9999013184|MR|Test|E|Lead 13184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013185|113185|989898|1|9999013185|MR|Test|E|Lead 13185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013186|113186|989898|1|9999013186|MR|Test|E|Lead 13186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013187|113187|989898|1|9999013187|MR|Test|E|Lead 13187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013188|113188|989898|1|9999013188|MR|Test|E|Lead 13188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013189|113189|989898|1|9999013189|MR|Test|E|Lead 13189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013190|113190|989898|1|9999013190|MR|Test|E|Lead 13190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013191|113191|989898|1|9999013191|MR|Test|E|Lead 13191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013192|113192|989898|1|9999013192|MR|Test|E|Lead 13192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013193|113193|989898|1|9999013193|MR|Test|E|Lead 13193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013194|113194|989898|1|9999013194|MR|Test|E|Lead 13194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013195|113195|989898|1|9999013195|MR|Test|E|Lead 13195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013196|113196|989898|1|9999013196|MR|Test|E|Lead 13196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013197|113197|989898|1|9999013197|MR|Test|E|Lead 13197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013198|113198|989898|1|9999013198|MR|Test|E|Lead 13198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013199|113199|989898|1|9999013199|MR|Test|E|Lead 13199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013200|113200|989898|1|9999013200|MR|Test|E|Lead 13200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013201|113201|989898|1|9999013201|MR|Test|E|Lead 13201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013202|113202|989898|1|9999013202|MR|Test|E|Lead 13202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013203|113203|989898|1|9999013203|MR|Test|E|Lead 13203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013204|113204|989898|1|9999013204|MR|Test|E|Lead 13204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013205|113205|989898|1|9999013205|MR|Test|E|Lead 13205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013206|113206|989898|1|9999013206|MR|Test|E|Lead 13206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013207|113207|989898|1|9999013207|MR|Test|E|Lead 13207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013208|113208|989898|1|9999013208|MR|Test|E|Lead 13208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013209|113209|989898|1|9999013209|MR|Test|E|Lead 13209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013210|113210|989898|1|9999013210|MR|Test|E|Lead 13210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013211|113211|989898|1|9999013211|MR|Test|E|Lead 13211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013212|113212|989898|1|9999013212|MR|Test|E|Lead 13212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013213|113213|989898|1|9999013213|MR|Test|E|Lead 13213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013214|113214|989898|1|9999013214|MR|Test|E|Lead 13214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013215|113215|989898|1|9999013215|MR|Test|E|Lead 13215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013216|113216|989898|1|9999013216|MR|Test|E|Lead 13216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013217|113217|989898|1|9999013217|MR|Test|E|Lead 13217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013218|113218|989898|1|9999013218|MR|Test|E|Lead 13218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013219|113219|989898|1|9999013219|MR|Test|E|Lead 13219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013220|113220|989898|1|9999013220|MR|Test|E|Lead 13220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013221|113221|989898|1|9999013221|MR|Test|E|Lead 13221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013222|113222|989898|1|9999013222|MR|Test|E|Lead 13222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013223|113223|989898|1|9999013223|MR|Test|E|Lead 13223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013224|113224|989898|1|9999013224|MR|Test|E|Lead 13224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013225|113225|989898|1|9999013225|MR|Test|E|Lead 13225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013226|113226|989898|1|9999013226|MR|Test|E|Lead 13226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013227|113227|989898|1|9999013227|MR|Test|E|Lead 13227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013228|113228|989898|1|9999013228|MR|Test|E|Lead 13228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013229|113229|989898|1|9999013229|MR|Test|E|Lead 13229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013230|113230|989898|1|9999013230|MR|Test|E|Lead 13230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013231|113231|989898|1|9999013231|MR|Test|E|Lead 13231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013232|113232|989898|1|9999013232|MR|Test|E|Lead 13232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013233|113233|989898|1|9999013233|MR|Test|E|Lead 13233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013234|113234|989898|1|9999013234|MR|Test|E|Lead 13234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013235|113235|989898|1|9999013235|MR|Test|E|Lead 13235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013236|113236|989898|1|9999013236|MR|Test|E|Lead 13236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013237|113237|989898|1|9999013237|MR|Test|E|Lead 13237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013238|113238|989898|1|9999013238|MR|Test|E|Lead 13238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013239|113239|989898|1|9999013239|MR|Test|E|Lead 13239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013240|113240|989898|1|9999013240|MR|Test|E|Lead 13240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013241|113241|989898|1|9999013241|MR|Test|E|Lead 13241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013242|113242|989898|1|9999013242|MR|Test|E|Lead 13242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013243|113243|989898|1|9999013243|MR|Test|E|Lead 13243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013244|113244|989898|1|9999013244|MR|Test|E|Lead 13244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013245|113245|989898|1|9999013245|MR|Test|E|Lead 13245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013246|113246|989898|1|9999013246|MR|Test|E|Lead 13246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013247|113247|989898|1|9999013247|MR|Test|E|Lead 13247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013248|113248|989898|1|9999013248|MR|Test|E|Lead 13248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013249|113249|989898|1|9999013249|MR|Test|E|Lead 13249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013250|113250|989898|1|9999013250|MR|Test|E|Lead 13250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013251|113251|989898|1|9999013251|MR|Test|E|Lead 13251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013252|113252|989898|1|9999013252|MR|Test|E|Lead 13252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013253|113253|989898|1|9999013253|MR|Test|E|Lead 13253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013254|113254|989898|1|9999013254|MR|Test|E|Lead 13254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013255|113255|989898|1|9999013255|MR|Test|E|Lead 13255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013256|113256|989898|1|9999013256|MR|Test|E|Lead 13256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013257|113257|989898|1|9999013257|MR|Test|E|Lead 13257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013258|113258|989898|1|9999013258|MR|Test|E|Lead 13258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013259|113259|989898|1|9999013259|MR|Test|E|Lead 13259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013260|113260|989898|1|9999013260|MR|Test|E|Lead 13260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013261|113261|989898|1|9999013261|MR|Test|E|Lead 13261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013262|113262|989898|1|9999013262|MR|Test|E|Lead 13262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013263|113263|989898|1|9999013263|MR|Test|E|Lead 13263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013264|113264|989898|1|9999013264|MR|Test|E|Lead 13264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013265|113265|989898|1|9999013265|MR|Test|E|Lead 13265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013266|113266|989898|1|9999013266|MR|Test|E|Lead 13266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013267|113267|989898|1|9999013267|MR|Test|E|Lead 13267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013268|113268|989898|1|9999013268|MR|Test|E|Lead 13268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013269|113269|989898|1|9999013269|MR|Test|E|Lead 13269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013270|113270|989898|1|9999013270|MR|Test|E|Lead 13270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013271|113271|989898|1|9999013271|MR|Test|E|Lead 13271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013272|113272|989898|1|9999013272|MR|Test|E|Lead 13272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013273|113273|989898|1|9999013273|MR|Test|E|Lead 13273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013274|113274|989898|1|9999013274|MR|Test|E|Lead 13274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013275|113275|989898|1|9999013275|MR|Test|E|Lead 13275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013276|113276|989898|1|9999013276|MR|Test|E|Lead 13276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013277|113277|989898|1|9999013277|MR|Test|E|Lead 13277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013278|113278|989898|1|9999013278|MR|Test|E|Lead 13278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013279|113279|989898|1|9999013279|MR|Test|E|Lead 13279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013280|113280|989898|1|9999013280|MR|Test|E|Lead 13280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013281|113281|989898|1|9999013281|MR|Test|E|Lead 13281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013282|113282|989898|1|9999013282|MR|Test|E|Lead 13282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013283|113283|989898|1|9999013283|MR|Test|E|Lead 13283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013284|113284|989898|1|9999013284|MR|Test|E|Lead 13284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013285|113285|989898|1|9999013285|MR|Test|E|Lead 13285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013286|113286|989898|1|9999013286|MR|Test|E|Lead 13286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013287|113287|989898|1|9999013287|MR|Test|E|Lead 13287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013288|113288|989898|1|9999013288|MR|Test|E|Lead 13288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013289|113289|989898|1|9999013289|MR|Test|E|Lead 13289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013290|113290|989898|1|9999013290|MR|Test|E|Lead 13290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013291|113291|989898|1|9999013291|MR|Test|E|Lead 13291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013292|113292|989898|1|9999013292|MR|Test|E|Lead 13292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013293|113293|989898|1|9999013293|MR|Test|E|Lead 13293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013294|113294|989898|1|9999013294|MR|Test|E|Lead 13294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013295|113295|989898|1|9999013295|MR|Test|E|Lead 13295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013296|113296|989898|1|9999013296|MR|Test|E|Lead 13296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013297|113297|989898|1|9999013297|MR|Test|E|Lead 13297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013298|113298|989898|1|9999013298|MR|Test|E|Lead 13298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013299|113299|989898|1|9999013299|MR|Test|E|Lead 13299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013300|113300|989898|1|9999013300|MR|Test|E|Lead 13300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013301|113301|989898|1|9999013301|MR|Test|E|Lead 13301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013302|113302|989898|1|9999013302|MR|Test|E|Lead 13302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013303|113303|989898|1|9999013303|MR|Test|E|Lead 13303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013304|113304|989898|1|9999013304|MR|Test|E|Lead 13304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013305|113305|989898|1|9999013305|MR|Test|E|Lead 13305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013306|113306|989898|1|9999013306|MR|Test|E|Lead 13306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013307|113307|989898|1|9999013307|MR|Test|E|Lead 13307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013308|113308|989898|1|9999013308|MR|Test|E|Lead 13308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013309|113309|989898|1|9999013309|MR|Test|E|Lead 13309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013310|113310|989898|1|9999013310|MR|Test|E|Lead 13310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013311|113311|989898|1|9999013311|MR|Test|E|Lead 13311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013312|113312|989898|1|9999013312|MR|Test|E|Lead 13312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013313|113313|989898|1|9999013313|MR|Test|E|Lead 13313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013314|113314|989898|1|9999013314|MR|Test|E|Lead 13314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013315|113315|989898|1|9999013315|MR|Test|E|Lead 13315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013316|113316|989898|1|9999013316|MR|Test|E|Lead 13316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013317|113317|989898|1|9999013317|MR|Test|E|Lead 13317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013318|113318|989898|1|9999013318|MR|Test|E|Lead 13318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013319|113319|989898|1|9999013319|MR|Test|E|Lead 13319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013320|113320|989898|1|9999013320|MR|Test|E|Lead 13320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013321|113321|989898|1|9999013321|MR|Test|E|Lead 13321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013322|113322|989898|1|9999013322|MR|Test|E|Lead 13322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013323|113323|989898|1|9999013323|MR|Test|E|Lead 13323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013324|113324|989898|1|9999013324|MR|Test|E|Lead 13324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013325|113325|989898|1|9999013325|MR|Test|E|Lead 13325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013326|113326|989898|1|9999013326|MR|Test|E|Lead 13326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013327|113327|989898|1|9999013327|MR|Test|E|Lead 13327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013328|113328|989898|1|9999013328|MR|Test|E|Lead 13328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013329|113329|989898|1|9999013329|MR|Test|E|Lead 13329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013330|113330|989898|1|9999013330|MR|Test|E|Lead 13330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013331|113331|989898|1|9999013331|MR|Test|E|Lead 13331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013332|113332|989898|1|9999013332|MR|Test|E|Lead 13332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013333|113333|989898|1|9999013333|MR|Test|E|Lead 13333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013334|113334|989898|1|9999013334|MR|Test|E|Lead 13334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013335|113335|989898|1|9999013335|MR|Test|E|Lead 13335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013336|113336|989898|1|9999013336|MR|Test|E|Lead 13336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013337|113337|989898|1|9999013337|MR|Test|E|Lead 13337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013338|113338|989898|1|9999013338|MR|Test|E|Lead 13338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013339|113339|989898|1|9999013339|MR|Test|E|Lead 13339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013340|113340|989898|1|9999013340|MR|Test|E|Lead 13340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013341|113341|989898|1|9999013341|MR|Test|E|Lead 13341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013342|113342|989898|1|9999013342|MR|Test|E|Lead 13342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013343|113343|989898|1|9999013343|MR|Test|E|Lead 13343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013344|113344|989898|1|9999013344|MR|Test|E|Lead 13344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013345|113345|989898|1|9999013345|MR|Test|E|Lead 13345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013346|113346|989898|1|9999013346|MR|Test|E|Lead 13346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013347|113347|989898|1|9999013347|MR|Test|E|Lead 13347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013348|113348|989898|1|9999013348|MR|Test|E|Lead 13348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013349|113349|989898|1|9999013349|MR|Test|E|Lead 13349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013350|113350|989898|1|9999013350|MR|Test|E|Lead 13350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013351|113351|989898|1|9999013351|MR|Test|E|Lead 13351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013352|113352|989898|1|9999013352|MR|Test|E|Lead 13352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013353|113353|989898|1|9999013353|MR|Test|E|Lead 13353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013354|113354|989898|1|9999013354|MR|Test|E|Lead 13354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013355|113355|989898|1|9999013355|MR|Test|E|Lead 13355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013356|113356|989898|1|9999013356|MR|Test|E|Lead 13356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013357|113357|989898|1|9999013357|MR|Test|E|Lead 13357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013358|113358|989898|1|9999013358|MR|Test|E|Lead 13358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013359|113359|989898|1|9999013359|MR|Test|E|Lead 13359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013360|113360|989898|1|9999013360|MR|Test|E|Lead 13360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013361|113361|989898|1|9999013361|MR|Test|E|Lead 13361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013362|113362|989898|1|9999013362|MR|Test|E|Lead 13362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013363|113363|989898|1|9999013363|MR|Test|E|Lead 13363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013364|113364|989898|1|9999013364|MR|Test|E|Lead 13364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013365|113365|989898|1|9999013365|MR|Test|E|Lead 13365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013366|113366|989898|1|9999013366|MR|Test|E|Lead 13366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013367|113367|989898|1|9999013367|MR|Test|E|Lead 13367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013368|113368|989898|1|9999013368|MR|Test|E|Lead 13368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013369|113369|989898|1|9999013369|MR|Test|E|Lead 13369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013370|113370|989898|1|9999013370|MR|Test|E|Lead 13370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013371|113371|989898|1|9999013371|MR|Test|E|Lead 13371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013372|113372|989898|1|9999013372|MR|Test|E|Lead 13372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013373|113373|989898|1|9999013373|MR|Test|E|Lead 13373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013374|113374|989898|1|9999013374|MR|Test|E|Lead 13374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013375|113375|989898|1|9999013375|MR|Test|E|Lead 13375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013376|113376|989898|1|9999013376|MR|Test|E|Lead 13376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013377|113377|989898|1|9999013377|MR|Test|E|Lead 13377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013378|113378|989898|1|9999013378|MR|Test|E|Lead 13378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013379|113379|989898|1|9999013379|MR|Test|E|Lead 13379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013380|113380|989898|1|9999013380|MR|Test|E|Lead 13380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013381|113381|989898|1|9999013381|MR|Test|E|Lead 13381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013382|113382|989898|1|9999013382|MR|Test|E|Lead 13382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013383|113383|989898|1|9999013383|MR|Test|E|Lead 13383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013384|113384|989898|1|9999013384|MR|Test|E|Lead 13384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013385|113385|989898|1|9999013385|MR|Test|E|Lead 13385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013386|113386|989898|1|9999013386|MR|Test|E|Lead 13386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013387|113387|989898|1|9999013387|MR|Test|E|Lead 13387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013388|113388|989898|1|9999013388|MR|Test|E|Lead 13388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013389|113389|989898|1|9999013389|MR|Test|E|Lead 13389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013390|113390|989898|1|9999013390|MR|Test|E|Lead 13390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013391|113391|989898|1|9999013391|MR|Test|E|Lead 13391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013392|113392|989898|1|9999013392|MR|Test|E|Lead 13392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013393|113393|989898|1|9999013393|MR|Test|E|Lead 13393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013394|113394|989898|1|9999013394|MR|Test|E|Lead 13394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013395|113395|989898|1|9999013395|MR|Test|E|Lead 13395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013396|113396|989898|1|9999013396|MR|Test|E|Lead 13396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013397|113397|989898|1|9999013397|MR|Test|E|Lead 13397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013398|113398|989898|1|9999013398|MR|Test|E|Lead 13398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013399|113399|989898|1|9999013399|MR|Test|E|Lead 13399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013400|113400|989898|1|9999013400|MR|Test|E|Lead 13400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013401|113401|989898|1|9999013401|MR|Test|E|Lead 13401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013402|113402|989898|1|9999013402|MR|Test|E|Lead 13402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013403|113403|989898|1|9999013403|MR|Test|E|Lead 13403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013404|113404|989898|1|9999013404|MR|Test|E|Lead 13404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013405|113405|989898|1|9999013405|MR|Test|E|Lead 13405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013406|113406|989898|1|9999013406|MR|Test|E|Lead 13406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013407|113407|989898|1|9999013407|MR|Test|E|Lead 13407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013408|113408|989898|1|9999013408|MR|Test|E|Lead 13408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013409|113409|989898|1|9999013409|MR|Test|E|Lead 13409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013410|113410|989898|1|9999013410|MR|Test|E|Lead 13410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013411|113411|989898|1|9999013411|MR|Test|E|Lead 13411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013412|113412|989898|1|9999013412|MR|Test|E|Lead 13412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013413|113413|989898|1|9999013413|MR|Test|E|Lead 13413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013414|113414|989898|1|9999013414|MR|Test|E|Lead 13414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013415|113415|989898|1|9999013415|MR|Test|E|Lead 13415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013416|113416|989898|1|9999013416|MR|Test|E|Lead 13416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013417|113417|989898|1|9999013417|MR|Test|E|Lead 13417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013418|113418|989898|1|9999013418|MR|Test|E|Lead 13418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013419|113419|989898|1|9999013419|MR|Test|E|Lead 13419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013420|113420|989898|1|9999013420|MR|Test|E|Lead 13420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013421|113421|989898|1|9999013421|MR|Test|E|Lead 13421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013422|113422|989898|1|9999013422|MR|Test|E|Lead 13422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013423|113423|989898|1|9999013423|MR|Test|E|Lead 13423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013424|113424|989898|1|9999013424|MR|Test|E|Lead 13424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013425|113425|989898|1|9999013425|MR|Test|E|Lead 13425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013426|113426|989898|1|9999013426|MR|Test|E|Lead 13426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013427|113427|989898|1|9999013427|MR|Test|E|Lead 13427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013428|113428|989898|1|9999013428|MR|Test|E|Lead 13428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013429|113429|989898|1|9999013429|MR|Test|E|Lead 13429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013430|113430|989898|1|9999013430|MR|Test|E|Lead 13430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013431|113431|989898|1|9999013431|MR|Test|E|Lead 13431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013432|113432|989898|1|9999013432|MR|Test|E|Lead 13432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013433|113433|989898|1|9999013433|MR|Test|E|Lead 13433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013434|113434|989898|1|9999013434|MR|Test|E|Lead 13434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013435|113435|989898|1|9999013435|MR|Test|E|Lead 13435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013436|113436|989898|1|9999013436|MR|Test|E|Lead 13436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013437|113437|989898|1|9999013437|MR|Test|E|Lead 13437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013438|113438|989898|1|9999013438|MR|Test|E|Lead 13438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013439|113439|989898|1|9999013439|MR|Test|E|Lead 13439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013440|113440|989898|1|9999013440|MR|Test|E|Lead 13440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013441|113441|989898|1|9999013441|MR|Test|E|Lead 13441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013442|113442|989898|1|9999013442|MR|Test|E|Lead 13442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013443|113443|989898|1|9999013443|MR|Test|E|Lead 13443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013444|113444|989898|1|9999013444|MR|Test|E|Lead 13444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013445|113445|989898|1|9999013445|MR|Test|E|Lead 13445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013446|113446|989898|1|9999013446|MR|Test|E|Lead 13446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013447|113447|989898|1|9999013447|MR|Test|E|Lead 13447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013448|113448|989898|1|9999013448|MR|Test|E|Lead 13448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013449|113449|989898|1|9999013449|MR|Test|E|Lead 13449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013450|113450|989898|1|9999013450|MR|Test|E|Lead 13450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013451|113451|989898|1|9999013451|MR|Test|E|Lead 13451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013452|113452|989898|1|9999013452|MR|Test|E|Lead 13452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013453|113453|989898|1|9999013453|MR|Test|E|Lead 13453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013454|113454|989898|1|9999013454|MR|Test|E|Lead 13454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013455|113455|989898|1|9999013455|MR|Test|E|Lead 13455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013456|113456|989898|1|9999013456|MR|Test|E|Lead 13456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013457|113457|989898|1|9999013457|MR|Test|E|Lead 13457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013458|113458|989898|1|9999013458|MR|Test|E|Lead 13458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013459|113459|989898|1|9999013459|MR|Test|E|Lead 13459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013460|113460|989898|1|9999013460|MR|Test|E|Lead 13460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013461|113461|989898|1|9999013461|MR|Test|E|Lead 13461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013462|113462|989898|1|9999013462|MR|Test|E|Lead 13462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013463|113463|989898|1|9999013463|MR|Test|E|Lead 13463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013464|113464|989898|1|9999013464|MR|Test|E|Lead 13464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013465|113465|989898|1|9999013465|MR|Test|E|Lead 13465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013466|113466|989898|1|9999013466|MR|Test|E|Lead 13466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013467|113467|989898|1|9999013467|MR|Test|E|Lead 13467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013468|113468|989898|1|9999013468|MR|Test|E|Lead 13468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013469|113469|989898|1|9999013469|MR|Test|E|Lead 13469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013470|113470|989898|1|9999013470|MR|Test|E|Lead 13470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013471|113471|989898|1|9999013471|MR|Test|E|Lead 13471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013472|113472|989898|1|9999013472|MR|Test|E|Lead 13472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013473|113473|989898|1|9999013473|MR|Test|E|Lead 13473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013474|113474|989898|1|9999013474|MR|Test|E|Lead 13474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013475|113475|989898|1|9999013475|MR|Test|E|Lead 13475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013476|113476|989898|1|9999013476|MR|Test|E|Lead 13476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013477|113477|989898|1|9999013477|MR|Test|E|Lead 13477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013478|113478|989898|1|9999013478|MR|Test|E|Lead 13478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013479|113479|989898|1|9999013479|MR|Test|E|Lead 13479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013480|113480|989898|1|9999013480|MR|Test|E|Lead 13480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013481|113481|989898|1|9999013481|MR|Test|E|Lead 13481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013482|113482|989898|1|9999013482|MR|Test|E|Lead 13482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013483|113483|989898|1|9999013483|MR|Test|E|Lead 13483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013484|113484|989898|1|9999013484|MR|Test|E|Lead 13484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013485|113485|989898|1|9999013485|MR|Test|E|Lead 13485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013486|113486|989898|1|9999013486|MR|Test|E|Lead 13486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013487|113487|989898|1|9999013487|MR|Test|E|Lead 13487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013488|113488|989898|1|9999013488|MR|Test|E|Lead 13488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013489|113489|989898|1|9999013489|MR|Test|E|Lead 13489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013490|113490|989898|1|9999013490|MR|Test|E|Lead 13490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013491|113491|989898|1|9999013491|MR|Test|E|Lead 13491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013492|113492|989898|1|9999013492|MR|Test|E|Lead 13492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013493|113493|989898|1|9999013493|MR|Test|E|Lead 13493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013494|113494|989898|1|9999013494|MR|Test|E|Lead 13494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013495|113495|989898|1|9999013495|MR|Test|E|Lead 13495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013496|113496|989898|1|9999013496|MR|Test|E|Lead 13496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013497|113497|989898|1|9999013497|MR|Test|E|Lead 13497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013498|113498|989898|1|9999013498|MR|Test|E|Lead 13498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013499|113499|989898|1|9999013499|MR|Test|E|Lead 13499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013500|113500|989898|1|9999013500|MR|Test|E|Lead 13500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013501|113501|989898|1|9999013501|MR|Test|E|Lead 13501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013502|113502|989898|1|9999013502|MR|Test|E|Lead 13502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013503|113503|989898|1|9999013503|MR|Test|E|Lead 13503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013504|113504|989898|1|9999013504|MR|Test|E|Lead 13504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013505|113505|989898|1|9999013505|MR|Test|E|Lead 13505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013506|113506|989898|1|9999013506|MR|Test|E|Lead 13506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013507|113507|989898|1|9999013507|MR|Test|E|Lead 13507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013508|113508|989898|1|9999013508|MR|Test|E|Lead 13508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013509|113509|989898|1|9999013509|MR|Test|E|Lead 13509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013510|113510|989898|1|9999013510|MR|Test|E|Lead 13510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013511|113511|989898|1|9999013511|MR|Test|E|Lead 13511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013512|113512|989898|1|9999013512|MR|Test|E|Lead 13512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013513|113513|989898|1|9999013513|MR|Test|E|Lead 13513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013514|113514|989898|1|9999013514|MR|Test|E|Lead 13514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013515|113515|989898|1|9999013515|MR|Test|E|Lead 13515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013516|113516|989898|1|9999013516|MR|Test|E|Lead 13516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013517|113517|989898|1|9999013517|MR|Test|E|Lead 13517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013518|113518|989898|1|9999013518|MR|Test|E|Lead 13518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013519|113519|989898|1|9999013519|MR|Test|E|Lead 13519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013520|113520|989898|1|9999013520|MR|Test|E|Lead 13520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013521|113521|989898|1|9999013521|MR|Test|E|Lead 13521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013522|113522|989898|1|9999013522|MR|Test|E|Lead 13522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013523|113523|989898|1|9999013523|MR|Test|E|Lead 13523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013524|113524|989898|1|9999013524|MR|Test|E|Lead 13524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013525|113525|989898|1|9999013525|MR|Test|E|Lead 13525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013526|113526|989898|1|9999013526|MR|Test|E|Lead 13526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013527|113527|989898|1|9999013527|MR|Test|E|Lead 13527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013528|113528|989898|1|9999013528|MR|Test|E|Lead 13528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013529|113529|989898|1|9999013529|MR|Test|E|Lead 13529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013530|113530|989898|1|9999013530|MR|Test|E|Lead 13530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013531|113531|989898|1|9999013531|MR|Test|E|Lead 13531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013532|113532|989898|1|9999013532|MR|Test|E|Lead 13532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013533|113533|989898|1|9999013533|MR|Test|E|Lead 13533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013534|113534|989898|1|9999013534|MR|Test|E|Lead 13534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013535|113535|989898|1|9999013535|MR|Test|E|Lead 13535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013536|113536|989898|1|9999013536|MR|Test|E|Lead 13536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013537|113537|989898|1|9999013537|MR|Test|E|Lead 13537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013538|113538|989898|1|9999013538|MR|Test|E|Lead 13538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013539|113539|989898|1|9999013539|MR|Test|E|Lead 13539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013540|113540|989898|1|9999013540|MR|Test|E|Lead 13540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013541|113541|989898|1|9999013541|MR|Test|E|Lead 13541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013542|113542|989898|1|9999013542|MR|Test|E|Lead 13542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013543|113543|989898|1|9999013543|MR|Test|E|Lead 13543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013544|113544|989898|1|9999013544|MR|Test|E|Lead 13544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013545|113545|989898|1|9999013545|MR|Test|E|Lead 13545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013546|113546|989898|1|9999013546|MR|Test|E|Lead 13546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013547|113547|989898|1|9999013547|MR|Test|E|Lead 13547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013548|113548|989898|1|9999013548|MR|Test|E|Lead 13548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013549|113549|989898|1|9999013549|MR|Test|E|Lead 13549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013550|113550|989898|1|9999013550|MR|Test|E|Lead 13550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013551|113551|989898|1|9999013551|MR|Test|E|Lead 13551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013552|113552|989898|1|9999013552|MR|Test|E|Lead 13552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013553|113553|989898|1|9999013553|MR|Test|E|Lead 13553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013554|113554|989898|1|9999013554|MR|Test|E|Lead 13554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013555|113555|989898|1|9999013555|MR|Test|E|Lead 13555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013556|113556|989898|1|9999013556|MR|Test|E|Lead 13556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013557|113557|989898|1|9999013557|MR|Test|E|Lead 13557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013558|113558|989898|1|9999013558|MR|Test|E|Lead 13558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013559|113559|989898|1|9999013559|MR|Test|E|Lead 13559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013560|113560|989898|1|9999013560|MR|Test|E|Lead 13560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013561|113561|989898|1|9999013561|MR|Test|E|Lead 13561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013562|113562|989898|1|9999013562|MR|Test|E|Lead 13562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013563|113563|989898|1|9999013563|MR|Test|E|Lead 13563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013564|113564|989898|1|9999013564|MR|Test|E|Lead 13564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013565|113565|989898|1|9999013565|MR|Test|E|Lead 13565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013566|113566|989898|1|9999013566|MR|Test|E|Lead 13566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013567|113567|989898|1|9999013567|MR|Test|E|Lead 13567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013568|113568|989898|1|9999013568|MR|Test|E|Lead 13568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013569|113569|989898|1|9999013569|MR|Test|E|Lead 13569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013570|113570|989898|1|9999013570|MR|Test|E|Lead 13570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013571|113571|989898|1|9999013571|MR|Test|E|Lead 13571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013572|113572|989898|1|9999013572|MR|Test|E|Lead 13572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013573|113573|989898|1|9999013573|MR|Test|E|Lead 13573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013574|113574|989898|1|9999013574|MR|Test|E|Lead 13574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013575|113575|989898|1|9999013575|MR|Test|E|Lead 13575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013576|113576|989898|1|9999013576|MR|Test|E|Lead 13576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013577|113577|989898|1|9999013577|MR|Test|E|Lead 13577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013578|113578|989898|1|9999013578|MR|Test|E|Lead 13578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013579|113579|989898|1|9999013579|MR|Test|E|Lead 13579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013580|113580|989898|1|9999013580|MR|Test|E|Lead 13580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013581|113581|989898|1|9999013581|MR|Test|E|Lead 13581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013582|113582|989898|1|9999013582|MR|Test|E|Lead 13582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013583|113583|989898|1|9999013583|MR|Test|E|Lead 13583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013584|113584|989898|1|9999013584|MR|Test|E|Lead 13584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013585|113585|989898|1|9999013585|MR|Test|E|Lead 13585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013586|113586|989898|1|9999013586|MR|Test|E|Lead 13586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013587|113587|989898|1|9999013587|MR|Test|E|Lead 13587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013588|113588|989898|1|9999013588|MR|Test|E|Lead 13588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013589|113589|989898|1|9999013589|MR|Test|E|Lead 13589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013590|113590|989898|1|9999013590|MR|Test|E|Lead 13590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013591|113591|989898|1|9999013591|MR|Test|E|Lead 13591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013592|113592|989898|1|9999013592|MR|Test|E|Lead 13592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013593|113593|989898|1|9999013593|MR|Test|E|Lead 13593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013594|113594|989898|1|9999013594|MR|Test|E|Lead 13594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013595|113595|989898|1|9999013595|MR|Test|E|Lead 13595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013596|113596|989898|1|9999013596|MR|Test|E|Lead 13596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013597|113597|989898|1|9999013597|MR|Test|E|Lead 13597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013598|113598|989898|1|9999013598|MR|Test|E|Lead 13598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013599|113599|989898|1|9999013599|MR|Test|E|Lead 13599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013600|113600|989898|1|9999013600|MR|Test|E|Lead 13600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013601|113601|989898|1|9999013601|MR|Test|E|Lead 13601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013602|113602|989898|1|9999013602|MR|Test|E|Lead 13602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013603|113603|989898|1|9999013603|MR|Test|E|Lead 13603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013604|113604|989898|1|9999013604|MR|Test|E|Lead 13604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013605|113605|989898|1|9999013605|MR|Test|E|Lead 13605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013606|113606|989898|1|9999013606|MR|Test|E|Lead 13606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013607|113607|989898|1|9999013607|MR|Test|E|Lead 13607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013608|113608|989898|1|9999013608|MR|Test|E|Lead 13608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013609|113609|989898|1|9999013609|MR|Test|E|Lead 13609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013610|113610|989898|1|9999013610|MR|Test|E|Lead 13610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013611|113611|989898|1|9999013611|MR|Test|E|Lead 13611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013612|113612|989898|1|9999013612|MR|Test|E|Lead 13612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013613|113613|989898|1|9999013613|MR|Test|E|Lead 13613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013614|113614|989898|1|9999013614|MR|Test|E|Lead 13614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013615|113615|989898|1|9999013615|MR|Test|E|Lead 13615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013616|113616|989898|1|9999013616|MR|Test|E|Lead 13616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013617|113617|989898|1|9999013617|MR|Test|E|Lead 13617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013618|113618|989898|1|9999013618|MR|Test|E|Lead 13618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013619|113619|989898|1|9999013619|MR|Test|E|Lead 13619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013620|113620|989898|1|9999013620|MR|Test|E|Lead 13620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013621|113621|989898|1|9999013621|MR|Test|E|Lead 13621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013622|113622|989898|1|9999013622|MR|Test|E|Lead 13622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013623|113623|989898|1|9999013623|MR|Test|E|Lead 13623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013624|113624|989898|1|9999013624|MR|Test|E|Lead 13624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013625|113625|989898|1|9999013625|MR|Test|E|Lead 13625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013626|113626|989898|1|9999013626|MR|Test|E|Lead 13626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013627|113627|989898|1|9999013627|MR|Test|E|Lead 13627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013628|113628|989898|1|9999013628|MR|Test|E|Lead 13628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013629|113629|989898|1|9999013629|MR|Test|E|Lead 13629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013630|113630|989898|1|9999013630|MR|Test|E|Lead 13630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013631|113631|989898|1|9999013631|MR|Test|E|Lead 13631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013632|113632|989898|1|9999013632|MR|Test|E|Lead 13632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013633|113633|989898|1|9999013633|MR|Test|E|Lead 13633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013634|113634|989898|1|9999013634|MR|Test|E|Lead 13634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013635|113635|989898|1|9999013635|MR|Test|E|Lead 13635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013636|113636|989898|1|9999013636|MR|Test|E|Lead 13636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013637|113637|989898|1|9999013637|MR|Test|E|Lead 13637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013638|113638|989898|1|9999013638|MR|Test|E|Lead 13638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013639|113639|989898|1|9999013639|MR|Test|E|Lead 13639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013640|113640|989898|1|9999013640|MR|Test|E|Lead 13640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013641|113641|989898|1|9999013641|MR|Test|E|Lead 13641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013642|113642|989898|1|9999013642|MR|Test|E|Lead 13642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013643|113643|989898|1|9999013643|MR|Test|E|Lead 13643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013644|113644|989898|1|9999013644|MR|Test|E|Lead 13644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013645|113645|989898|1|9999013645|MR|Test|E|Lead 13645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013646|113646|989898|1|9999013646|MR|Test|E|Lead 13646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013647|113647|989898|1|9999013647|MR|Test|E|Lead 13647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013648|113648|989898|1|9999013648|MR|Test|E|Lead 13648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013649|113649|989898|1|9999013649|MR|Test|E|Lead 13649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013650|113650|989898|1|9999013650|MR|Test|E|Lead 13650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013651|113651|989898|1|9999013651|MR|Test|E|Lead 13651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013652|113652|989898|1|9999013652|MR|Test|E|Lead 13652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013653|113653|989898|1|9999013653|MR|Test|E|Lead 13653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013654|113654|989898|1|9999013654|MR|Test|E|Lead 13654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013655|113655|989898|1|9999013655|MR|Test|E|Lead 13655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013656|113656|989898|1|9999013656|MR|Test|E|Lead 13656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013657|113657|989898|1|9999013657|MR|Test|E|Lead 13657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013658|113658|989898|1|9999013658|MR|Test|E|Lead 13658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013659|113659|989898|1|9999013659|MR|Test|E|Lead 13659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013660|113660|989898|1|9999013660|MR|Test|E|Lead 13660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013661|113661|989898|1|9999013661|MR|Test|E|Lead 13661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013662|113662|989898|1|9999013662|MR|Test|E|Lead 13662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013663|113663|989898|1|9999013663|MR|Test|E|Lead 13663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013664|113664|989898|1|9999013664|MR|Test|E|Lead 13664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013665|113665|989898|1|9999013665|MR|Test|E|Lead 13665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013666|113666|989898|1|9999013666|MR|Test|E|Lead 13666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013667|113667|989898|1|9999013667|MR|Test|E|Lead 13667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013668|113668|989898|1|9999013668|MR|Test|E|Lead 13668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013669|113669|989898|1|9999013669|MR|Test|E|Lead 13669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013670|113670|989898|1|9999013670|MR|Test|E|Lead 13670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013671|113671|989898|1|9999013671|MR|Test|E|Lead 13671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013672|113672|989898|1|9999013672|MR|Test|E|Lead 13672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013673|113673|989898|1|9999013673|MR|Test|E|Lead 13673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013674|113674|989898|1|9999013674|MR|Test|E|Lead 13674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013675|113675|989898|1|9999013675|MR|Test|E|Lead 13675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013676|113676|989898|1|9999013676|MR|Test|E|Lead 13676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013677|113677|989898|1|9999013677|MR|Test|E|Lead 13677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013678|113678|989898|1|9999013678|MR|Test|E|Lead 13678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013679|113679|989898|1|9999013679|MR|Test|E|Lead 13679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013680|113680|989898|1|9999013680|MR|Test|E|Lead 13680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013681|113681|989898|1|9999013681|MR|Test|E|Lead 13681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013682|113682|989898|1|9999013682|MR|Test|E|Lead 13682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013683|113683|989898|1|9999013683|MR|Test|E|Lead 13683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013684|113684|989898|1|9999013684|MR|Test|E|Lead 13684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013685|113685|989898|1|9999013685|MR|Test|E|Lead 13685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013686|113686|989898|1|9999013686|MR|Test|E|Lead 13686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013687|113687|989898|1|9999013687|MR|Test|E|Lead 13687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013688|113688|989898|1|9999013688|MR|Test|E|Lead 13688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013689|113689|989898|1|9999013689|MR|Test|E|Lead 13689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013690|113690|989898|1|9999013690|MR|Test|E|Lead 13690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013691|113691|989898|1|9999013691|MR|Test|E|Lead 13691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013692|113692|989898|1|9999013692|MR|Test|E|Lead 13692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013693|113693|989898|1|9999013693|MR|Test|E|Lead 13693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013694|113694|989898|1|9999013694|MR|Test|E|Lead 13694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013695|113695|989898|1|9999013695|MR|Test|E|Lead 13695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013696|113696|989898|1|9999013696|MR|Test|E|Lead 13696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013697|113697|989898|1|9999013697|MR|Test|E|Lead 13697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013698|113698|989898|1|9999013698|MR|Test|E|Lead 13698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013699|113699|989898|1|9999013699|MR|Test|E|Lead 13699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013700|113700|989898|1|9999013700|MR|Test|E|Lead 13700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013701|113701|989898|1|9999013701|MR|Test|E|Lead 13701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013702|113702|989898|1|9999013702|MR|Test|E|Lead 13702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013703|113703|989898|1|9999013703|MR|Test|E|Lead 13703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013704|113704|989898|1|9999013704|MR|Test|E|Lead 13704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013705|113705|989898|1|9999013705|MR|Test|E|Lead 13705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013706|113706|989898|1|9999013706|MR|Test|E|Lead 13706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013707|113707|989898|1|9999013707|MR|Test|E|Lead 13707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013708|113708|989898|1|9999013708|MR|Test|E|Lead 13708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013709|113709|989898|1|9999013709|MR|Test|E|Lead 13709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013710|113710|989898|1|9999013710|MR|Test|E|Lead 13710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013711|113711|989898|1|9999013711|MR|Test|E|Lead 13711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013712|113712|989898|1|9999013712|MR|Test|E|Lead 13712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013713|113713|989898|1|9999013713|MR|Test|E|Lead 13713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013714|113714|989898|1|9999013714|MR|Test|E|Lead 13714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013715|113715|989898|1|9999013715|MR|Test|E|Lead 13715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013716|113716|989898|1|9999013716|MR|Test|E|Lead 13716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013717|113717|989898|1|9999013717|MR|Test|E|Lead 13717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013718|113718|989898|1|9999013718|MR|Test|E|Lead 13718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013719|113719|989898|1|9999013719|MR|Test|E|Lead 13719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013720|113720|989898|1|9999013720|MR|Test|E|Lead 13720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013721|113721|989898|1|9999013721|MR|Test|E|Lead 13721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013722|113722|989898|1|9999013722|MR|Test|E|Lead 13722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013723|113723|989898|1|9999013723|MR|Test|E|Lead 13723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013724|113724|989898|1|9999013724|MR|Test|E|Lead 13724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013725|113725|989898|1|9999013725|MR|Test|E|Lead 13725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013726|113726|989898|1|9999013726|MR|Test|E|Lead 13726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013727|113727|989898|1|9999013727|MR|Test|E|Lead 13727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013728|113728|989898|1|9999013728|MR|Test|E|Lead 13728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013729|113729|989898|1|9999013729|MR|Test|E|Lead 13729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013730|113730|989898|1|9999013730|MR|Test|E|Lead 13730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013731|113731|989898|1|9999013731|MR|Test|E|Lead 13731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013732|113732|989898|1|9999013732|MR|Test|E|Lead 13732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013733|113733|989898|1|9999013733|MR|Test|E|Lead 13733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013734|113734|989898|1|9999013734|MR|Test|E|Lead 13734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013735|113735|989898|1|9999013735|MR|Test|E|Lead 13735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013736|113736|989898|1|9999013736|MR|Test|E|Lead 13736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013737|113737|989898|1|9999013737|MR|Test|E|Lead 13737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013738|113738|989898|1|9999013738|MR|Test|E|Lead 13738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013739|113739|989898|1|9999013739|MR|Test|E|Lead 13739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013740|113740|989898|1|9999013740|MR|Test|E|Lead 13740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013741|113741|989898|1|9999013741|MR|Test|E|Lead 13741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013742|113742|989898|1|9999013742|MR|Test|E|Lead 13742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013743|113743|989898|1|9999013743|MR|Test|E|Lead 13743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013744|113744|989898|1|9999013744|MR|Test|E|Lead 13744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013745|113745|989898|1|9999013745|MR|Test|E|Lead 13745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013746|113746|989898|1|9999013746|MR|Test|E|Lead 13746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013747|113747|989898|1|9999013747|MR|Test|E|Lead 13747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013748|113748|989898|1|9999013748|MR|Test|E|Lead 13748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013749|113749|989898|1|9999013749|MR|Test|E|Lead 13749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013750|113750|989898|1|9999013750|MR|Test|E|Lead 13750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013751|113751|989898|1|9999013751|MR|Test|E|Lead 13751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013752|113752|989898|1|9999013752|MR|Test|E|Lead 13752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013753|113753|989898|1|9999013753|MR|Test|E|Lead 13753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013754|113754|989898|1|9999013754|MR|Test|E|Lead 13754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013755|113755|989898|1|9999013755|MR|Test|E|Lead 13755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013756|113756|989898|1|9999013756|MR|Test|E|Lead 13756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013757|113757|989898|1|9999013757|MR|Test|E|Lead 13757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013758|113758|989898|1|9999013758|MR|Test|E|Lead 13758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013759|113759|989898|1|9999013759|MR|Test|E|Lead 13759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013760|113760|989898|1|9999013760|MR|Test|E|Lead 13760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013761|113761|989898|1|9999013761|MR|Test|E|Lead 13761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013762|113762|989898|1|9999013762|MR|Test|E|Lead 13762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013763|113763|989898|1|9999013763|MR|Test|E|Lead 13763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013764|113764|989898|1|9999013764|MR|Test|E|Lead 13764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013765|113765|989898|1|9999013765|MR|Test|E|Lead 13765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013766|113766|989898|1|9999013766|MR|Test|E|Lead 13766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013767|113767|989898|1|9999013767|MR|Test|E|Lead 13767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013768|113768|989898|1|9999013768|MR|Test|E|Lead 13768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013769|113769|989898|1|9999013769|MR|Test|E|Lead 13769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013770|113770|989898|1|9999013770|MR|Test|E|Lead 13770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013771|113771|989898|1|9999013771|MR|Test|E|Lead 13771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013772|113772|989898|1|9999013772|MR|Test|E|Lead 13772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013773|113773|989898|1|9999013773|MR|Test|E|Lead 13773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013774|113774|989898|1|9999013774|MR|Test|E|Lead 13774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013775|113775|989898|1|9999013775|MR|Test|E|Lead 13775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013776|113776|989898|1|9999013776|MR|Test|E|Lead 13776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013777|113777|989898|1|9999013777|MR|Test|E|Lead 13777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013778|113778|989898|1|9999013778|MR|Test|E|Lead 13778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013779|113779|989898|1|9999013779|MR|Test|E|Lead 13779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013780|113780|989898|1|9999013780|MR|Test|E|Lead 13780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013781|113781|989898|1|9999013781|MR|Test|E|Lead 13781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013782|113782|989898|1|9999013782|MR|Test|E|Lead 13782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013783|113783|989898|1|9999013783|MR|Test|E|Lead 13783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013784|113784|989898|1|9999013784|MR|Test|E|Lead 13784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013785|113785|989898|1|9999013785|MR|Test|E|Lead 13785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013786|113786|989898|1|9999013786|MR|Test|E|Lead 13786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013787|113787|989898|1|9999013787|MR|Test|E|Lead 13787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013788|113788|989898|1|9999013788|MR|Test|E|Lead 13788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013789|113789|989898|1|9999013789|MR|Test|E|Lead 13789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013790|113790|989898|1|9999013790|MR|Test|E|Lead 13790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013791|113791|989898|1|9999013791|MR|Test|E|Lead 13791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013792|113792|989898|1|9999013792|MR|Test|E|Lead 13792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013793|113793|989898|1|9999013793|MR|Test|E|Lead 13793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013794|113794|989898|1|9999013794|MR|Test|E|Lead 13794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013795|113795|989898|1|9999013795|MR|Test|E|Lead 13795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013796|113796|989898|1|9999013796|MR|Test|E|Lead 13796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013797|113797|989898|1|9999013797|MR|Test|E|Lead 13797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013798|113798|989898|1|9999013798|MR|Test|E|Lead 13798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013799|113799|989898|1|9999013799|MR|Test|E|Lead 13799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013800|113800|989898|1|9999013800|MR|Test|E|Lead 13800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013801|113801|989898|1|9999013801|MR|Test|E|Lead 13801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013802|113802|989898|1|9999013802|MR|Test|E|Lead 13802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013803|113803|989898|1|9999013803|MR|Test|E|Lead 13803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013804|113804|989898|1|9999013804|MR|Test|E|Lead 13804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013805|113805|989898|1|9999013805|MR|Test|E|Lead 13805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013806|113806|989898|1|9999013806|MR|Test|E|Lead 13806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013807|113807|989898|1|9999013807|MR|Test|E|Lead 13807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013808|113808|989898|1|9999013808|MR|Test|E|Lead 13808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013809|113809|989898|1|9999013809|MR|Test|E|Lead 13809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013810|113810|989898|1|9999013810|MR|Test|E|Lead 13810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013811|113811|989898|1|9999013811|MR|Test|E|Lead 13811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013812|113812|989898|1|9999013812|MR|Test|E|Lead 13812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013813|113813|989898|1|9999013813|MR|Test|E|Lead 13813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013814|113814|989898|1|9999013814|MR|Test|E|Lead 13814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013815|113815|989898|1|9999013815|MR|Test|E|Lead 13815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013816|113816|989898|1|9999013816|MR|Test|E|Lead 13816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013817|113817|989898|1|9999013817|MR|Test|E|Lead 13817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013818|113818|989898|1|9999013818|MR|Test|E|Lead 13818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013819|113819|989898|1|9999013819|MR|Test|E|Lead 13819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013820|113820|989898|1|9999013820|MR|Test|E|Lead 13820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013821|113821|989898|1|9999013821|MR|Test|E|Lead 13821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013822|113822|989898|1|9999013822|MR|Test|E|Lead 13822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013823|113823|989898|1|9999013823|MR|Test|E|Lead 13823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013824|113824|989898|1|9999013824|MR|Test|E|Lead 13824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013825|113825|989898|1|9999013825|MR|Test|E|Lead 13825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013826|113826|989898|1|9999013826|MR|Test|E|Lead 13826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013827|113827|989898|1|9999013827|MR|Test|E|Lead 13827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013828|113828|989898|1|9999013828|MR|Test|E|Lead 13828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013829|113829|989898|1|9999013829|MR|Test|E|Lead 13829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013830|113830|989898|1|9999013830|MR|Test|E|Lead 13830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013831|113831|989898|1|9999013831|MR|Test|E|Lead 13831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013832|113832|989898|1|9999013832|MR|Test|E|Lead 13832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013833|113833|989898|1|9999013833|MR|Test|E|Lead 13833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013834|113834|989898|1|9999013834|MR|Test|E|Lead 13834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013835|113835|989898|1|9999013835|MR|Test|E|Lead 13835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013836|113836|989898|1|9999013836|MR|Test|E|Lead 13836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013837|113837|989898|1|9999013837|MR|Test|E|Lead 13837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013838|113838|989898|1|9999013838|MR|Test|E|Lead 13838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013839|113839|989898|1|9999013839|MR|Test|E|Lead 13839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013840|113840|989898|1|9999013840|MR|Test|E|Lead 13840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013841|113841|989898|1|9999013841|MR|Test|E|Lead 13841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013842|113842|989898|1|9999013842|MR|Test|E|Lead 13842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013843|113843|989898|1|9999013843|MR|Test|E|Lead 13843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013844|113844|989898|1|9999013844|MR|Test|E|Lead 13844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013845|113845|989898|1|9999013845|MR|Test|E|Lead 13845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013846|113846|989898|1|9999013846|MR|Test|E|Lead 13846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013847|113847|989898|1|9999013847|MR|Test|E|Lead 13847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013848|113848|989898|1|9999013848|MR|Test|E|Lead 13848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013849|113849|989898|1|9999013849|MR|Test|E|Lead 13849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013850|113850|989898|1|9999013850|MR|Test|E|Lead 13850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013851|113851|989898|1|9999013851|MR|Test|E|Lead 13851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013852|113852|989898|1|9999013852|MR|Test|E|Lead 13852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013853|113853|989898|1|9999013853|MR|Test|E|Lead 13853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013854|113854|989898|1|9999013854|MR|Test|E|Lead 13854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013855|113855|989898|1|9999013855|MR|Test|E|Lead 13855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013856|113856|989898|1|9999013856|MR|Test|E|Lead 13856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013857|113857|989898|1|9999013857|MR|Test|E|Lead 13857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013858|113858|989898|1|9999013858|MR|Test|E|Lead 13858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013859|113859|989898|1|9999013859|MR|Test|E|Lead 13859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013860|113860|989898|1|9999013860|MR|Test|E|Lead 13860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013861|113861|989898|1|9999013861|MR|Test|E|Lead 13861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013862|113862|989898|1|9999013862|MR|Test|E|Lead 13862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013863|113863|989898|1|9999013863|MR|Test|E|Lead 13863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013864|113864|989898|1|9999013864|MR|Test|E|Lead 13864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013865|113865|989898|1|9999013865|MR|Test|E|Lead 13865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013866|113866|989898|1|9999013866|MR|Test|E|Lead 13866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013867|113867|989898|1|9999013867|MR|Test|E|Lead 13867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013868|113868|989898|1|9999013868|MR|Test|E|Lead 13868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013869|113869|989898|1|9999013869|MR|Test|E|Lead 13869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013870|113870|989898|1|9999013870|MR|Test|E|Lead 13870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013871|113871|989898|1|9999013871|MR|Test|E|Lead 13871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013872|113872|989898|1|9999013872|MR|Test|E|Lead 13872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013873|113873|989898|1|9999013873|MR|Test|E|Lead 13873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013874|113874|989898|1|9999013874|MR|Test|E|Lead 13874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013875|113875|989898|1|9999013875|MR|Test|E|Lead 13875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013876|113876|989898|1|9999013876|MR|Test|E|Lead 13876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013877|113877|989898|1|9999013877|MR|Test|E|Lead 13877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013878|113878|989898|1|9999013878|MR|Test|E|Lead 13878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013879|113879|989898|1|9999013879|MR|Test|E|Lead 13879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013880|113880|989898|1|9999013880|MR|Test|E|Lead 13880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013881|113881|989898|1|9999013881|MR|Test|E|Lead 13881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013882|113882|989898|1|9999013882|MR|Test|E|Lead 13882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013883|113883|989898|1|9999013883|MR|Test|E|Lead 13883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013884|113884|989898|1|9999013884|MR|Test|E|Lead 13884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013885|113885|989898|1|9999013885|MR|Test|E|Lead 13885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013886|113886|989898|1|9999013886|MR|Test|E|Lead 13886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013887|113887|989898|1|9999013887|MR|Test|E|Lead 13887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013888|113888|989898|1|9999013888|MR|Test|E|Lead 13888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013889|113889|989898|1|9999013889|MR|Test|E|Lead 13889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013890|113890|989898|1|9999013890|MR|Test|E|Lead 13890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013891|113891|989898|1|9999013891|MR|Test|E|Lead 13891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013892|113892|989898|1|9999013892|MR|Test|E|Lead 13892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013893|113893|989898|1|9999013893|MR|Test|E|Lead 13893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013894|113894|989898|1|9999013894|MR|Test|E|Lead 13894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013895|113895|989898|1|9999013895|MR|Test|E|Lead 13895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013896|113896|989898|1|9999013896|MR|Test|E|Lead 13896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013897|113897|989898|1|9999013897|MR|Test|E|Lead 13897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013898|113898|989898|1|9999013898|MR|Test|E|Lead 13898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013899|113899|989898|1|9999013899|MR|Test|E|Lead 13899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013900|113900|989898|1|9999013900|MR|Test|E|Lead 13900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013901|113901|989898|1|9999013901|MR|Test|E|Lead 13901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013902|113902|989898|1|9999013902|MR|Test|E|Lead 13902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013903|113903|989898|1|9999013903|MR|Test|E|Lead 13903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013904|113904|989898|1|9999013904|MR|Test|E|Lead 13904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013905|113905|989898|1|9999013905|MR|Test|E|Lead 13905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013906|113906|989898|1|9999013906|MR|Test|E|Lead 13906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013907|113907|989898|1|9999013907|MR|Test|E|Lead 13907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013908|113908|989898|1|9999013908|MR|Test|E|Lead 13908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013909|113909|989898|1|9999013909|MR|Test|E|Lead 13909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013910|113910|989898|1|9999013910|MR|Test|E|Lead 13910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013911|113911|989898|1|9999013911|MR|Test|E|Lead 13911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013912|113912|989898|1|9999013912|MR|Test|E|Lead 13912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013913|113913|989898|1|9999013913|MR|Test|E|Lead 13913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013914|113914|989898|1|9999013914|MR|Test|E|Lead 13914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013915|113915|989898|1|9999013915|MR|Test|E|Lead 13915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013916|113916|989898|1|9999013916|MR|Test|E|Lead 13916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013917|113917|989898|1|9999013917|MR|Test|E|Lead 13917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013918|113918|989898|1|9999013918|MR|Test|E|Lead 13918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013919|113919|989898|1|9999013919|MR|Test|E|Lead 13919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013920|113920|989898|1|9999013920|MR|Test|E|Lead 13920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013921|113921|989898|1|9999013921|MR|Test|E|Lead 13921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013922|113922|989898|1|9999013922|MR|Test|E|Lead 13922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013923|113923|989898|1|9999013923|MR|Test|E|Lead 13923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013924|113924|989898|1|9999013924|MR|Test|E|Lead 13924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013925|113925|989898|1|9999013925|MR|Test|E|Lead 13925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013926|113926|989898|1|9999013926|MR|Test|E|Lead 13926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013927|113927|989898|1|9999013927|MR|Test|E|Lead 13927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013928|113928|989898|1|9999013928|MR|Test|E|Lead 13928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013929|113929|989898|1|9999013929|MR|Test|E|Lead 13929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013930|113930|989898|1|9999013930|MR|Test|E|Lead 13930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013931|113931|989898|1|9999013931|MR|Test|E|Lead 13931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013932|113932|989898|1|9999013932|MR|Test|E|Lead 13932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013933|113933|989898|1|9999013933|MR|Test|E|Lead 13933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013934|113934|989898|1|9999013934|MR|Test|E|Lead 13934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013935|113935|989898|1|9999013935|MR|Test|E|Lead 13935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013936|113936|989898|1|9999013936|MR|Test|E|Lead 13936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013937|113937|989898|1|9999013937|MR|Test|E|Lead 13937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013938|113938|989898|1|9999013938|MR|Test|E|Lead 13938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013939|113939|989898|1|9999013939|MR|Test|E|Lead 13939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013940|113940|989898|1|9999013940|MR|Test|E|Lead 13940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013941|113941|989898|1|9999013941|MR|Test|E|Lead 13941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013942|113942|989898|1|9999013942|MR|Test|E|Lead 13942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013943|113943|989898|1|9999013943|MR|Test|E|Lead 13943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013944|113944|989898|1|9999013944|MR|Test|E|Lead 13944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013945|113945|989898|1|9999013945|MR|Test|E|Lead 13945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013946|113946|989898|1|9999013946|MR|Test|E|Lead 13946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013947|113947|989898|1|9999013947|MR|Test|E|Lead 13947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013948|113948|989898|1|9999013948|MR|Test|E|Lead 13948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013949|113949|989898|1|9999013949|MR|Test|E|Lead 13949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013950|113950|989898|1|9999013950|MR|Test|E|Lead 13950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013951|113951|989898|1|9999013951|MR|Test|E|Lead 13951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013952|113952|989898|1|9999013952|MR|Test|E|Lead 13952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013953|113953|989898|1|9999013953|MR|Test|E|Lead 13953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013954|113954|989898|1|9999013954|MR|Test|E|Lead 13954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013955|113955|989898|1|9999013955|MR|Test|E|Lead 13955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013956|113956|989898|1|9999013956|MR|Test|E|Lead 13956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013957|113957|989898|1|9999013957|MR|Test|E|Lead 13957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013958|113958|989898|1|9999013958|MR|Test|E|Lead 13958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013959|113959|989898|1|9999013959|MR|Test|E|Lead 13959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013960|113960|989898|1|9999013960|MR|Test|E|Lead 13960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013961|113961|989898|1|9999013961|MR|Test|E|Lead 13961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013962|113962|989898|1|9999013962|MR|Test|E|Lead 13962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013963|113963|989898|1|9999013963|MR|Test|E|Lead 13963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013964|113964|989898|1|9999013964|MR|Test|E|Lead 13964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013965|113965|989898|1|9999013965|MR|Test|E|Lead 13965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013966|113966|989898|1|9999013966|MR|Test|E|Lead 13966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013967|113967|989898|1|9999013967|MR|Test|E|Lead 13967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013968|113968|989898|1|9999013968|MR|Test|E|Lead 13968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013969|113969|989898|1|9999013969|MR|Test|E|Lead 13969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013970|113970|989898|1|9999013970|MR|Test|E|Lead 13970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013971|113971|989898|1|9999013971|MR|Test|E|Lead 13971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013972|113972|989898|1|9999013972|MR|Test|E|Lead 13972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013973|113973|989898|1|9999013973|MR|Test|E|Lead 13973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013974|113974|989898|1|9999013974|MR|Test|E|Lead 13974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013975|113975|989898|1|9999013975|MR|Test|E|Lead 13975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013976|113976|989898|1|9999013976|MR|Test|E|Lead 13976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013977|113977|989898|1|9999013977|MR|Test|E|Lead 13977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013978|113978|989898|1|9999013978|MR|Test|E|Lead 13978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013979|113979|989898|1|9999013979|MR|Test|E|Lead 13979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013980|113980|989898|1|9999013980|MR|Test|E|Lead 13980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013981|113981|989898|1|9999013981|MR|Test|E|Lead 13981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013982|113982|989898|1|9999013982|MR|Test|E|Lead 13982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013983|113983|989898|1|9999013983|MR|Test|E|Lead 13983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013984|113984|989898|1|9999013984|MR|Test|E|Lead 13984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013985|113985|989898|1|9999013985|MR|Test|E|Lead 13985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013986|113986|989898|1|9999013986|MR|Test|E|Lead 13986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013987|113987|989898|1|9999013987|MR|Test|E|Lead 13987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013988|113988|989898|1|9999013988|MR|Test|E|Lead 13988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013989|113989|989898|1|9999013989|MR|Test|E|Lead 13989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013990|113990|989898|1|9999013990|MR|Test|E|Lead 13990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013991|113991|989898|1|9999013991|MR|Test|E|Lead 13991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013992|113992|989898|1|9999013992|MR|Test|E|Lead 13992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013993|113993|989898|1|9999013993|MR|Test|E|Lead 13993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013994|113994|989898|1|9999013994|MR|Test|E|Lead 13994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013995|113995|989898|1|9999013995|MR|Test|E|Lead 13995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013996|113996|989898|1|9999013996|MR|Test|E|Lead 13996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013997|113997|989898|1|9999013997|MR|Test|E|Lead 13997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013998|113998|989898|1|9999013998|MR|Test|E|Lead 13998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1013999|113999|989898|1|9999013999|MR|Test|E|Lead 13999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014000|114000|989898|1|9999014000|MR|Test|E|Lead 14000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014001|114001|989898|1|9999014001|MR|Test|E|Lead 14001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014002|114002|989898|1|9999014002|MR|Test|E|Lead 14002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014003|114003|989898|1|9999014003|MR|Test|E|Lead 14003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014004|114004|989898|1|9999014004|MR|Test|E|Lead 14004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014005|114005|989898|1|9999014005|MR|Test|E|Lead 14005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014006|114006|989898|1|9999014006|MR|Test|E|Lead 14006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014007|114007|989898|1|9999014007|MR|Test|E|Lead 14007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014008|114008|989898|1|9999014008|MR|Test|E|Lead 14008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014009|114009|989898|1|9999014009|MR|Test|E|Lead 14009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014010|114010|989898|1|9999014010|MR|Test|E|Lead 14010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014011|114011|989898|1|9999014011|MR|Test|E|Lead 14011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014012|114012|989898|1|9999014012|MR|Test|E|Lead 14012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014013|114013|989898|1|9999014013|MR|Test|E|Lead 14013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014014|114014|989898|1|9999014014|MR|Test|E|Lead 14014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014015|114015|989898|1|9999014015|MR|Test|E|Lead 14015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014016|114016|989898|1|9999014016|MR|Test|E|Lead 14016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014017|114017|989898|1|9999014017|MR|Test|E|Lead 14017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014018|114018|989898|1|9999014018|MR|Test|E|Lead 14018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014019|114019|989898|1|9999014019|MR|Test|E|Lead 14019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014020|114020|989898|1|9999014020|MR|Test|E|Lead 14020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014021|114021|989898|1|9999014021|MR|Test|E|Lead 14021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014022|114022|989898|1|9999014022|MR|Test|E|Lead 14022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014023|114023|989898|1|9999014023|MR|Test|E|Lead 14023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014024|114024|989898|1|9999014024|MR|Test|E|Lead 14024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014025|114025|989898|1|9999014025|MR|Test|E|Lead 14025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014026|114026|989898|1|9999014026|MR|Test|E|Lead 14026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014027|114027|989898|1|9999014027|MR|Test|E|Lead 14027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014028|114028|989898|1|9999014028|MR|Test|E|Lead 14028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014029|114029|989898|1|9999014029|MR|Test|E|Lead 14029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014030|114030|989898|1|9999014030|MR|Test|E|Lead 14030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014031|114031|989898|1|9999014031|MR|Test|E|Lead 14031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014032|114032|989898|1|9999014032|MR|Test|E|Lead 14032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014033|114033|989898|1|9999014033|MR|Test|E|Lead 14033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014034|114034|989898|1|9999014034|MR|Test|E|Lead 14034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014035|114035|989898|1|9999014035|MR|Test|E|Lead 14035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014036|114036|989898|1|9999014036|MR|Test|E|Lead 14036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014037|114037|989898|1|9999014037|MR|Test|E|Lead 14037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014038|114038|989898|1|9999014038|MR|Test|E|Lead 14038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014039|114039|989898|1|9999014039|MR|Test|E|Lead 14039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014040|114040|989898|1|9999014040|MR|Test|E|Lead 14040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014041|114041|989898|1|9999014041|MR|Test|E|Lead 14041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014042|114042|989898|1|9999014042|MR|Test|E|Lead 14042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014043|114043|989898|1|9999014043|MR|Test|E|Lead 14043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014044|114044|989898|1|9999014044|MR|Test|E|Lead 14044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014045|114045|989898|1|9999014045|MR|Test|E|Lead 14045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014046|114046|989898|1|9999014046|MR|Test|E|Lead 14046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014047|114047|989898|1|9999014047|MR|Test|E|Lead 14047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014048|114048|989898|1|9999014048|MR|Test|E|Lead 14048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014049|114049|989898|1|9999014049|MR|Test|E|Lead 14049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014050|114050|989898|1|9999014050|MR|Test|E|Lead 14050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014051|114051|989898|1|9999014051|MR|Test|E|Lead 14051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014052|114052|989898|1|9999014052|MR|Test|E|Lead 14052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014053|114053|989898|1|9999014053|MR|Test|E|Lead 14053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014054|114054|989898|1|9999014054|MR|Test|E|Lead 14054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014055|114055|989898|1|9999014055|MR|Test|E|Lead 14055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014056|114056|989898|1|9999014056|MR|Test|E|Lead 14056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014057|114057|989898|1|9999014057|MR|Test|E|Lead 14057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014058|114058|989898|1|9999014058|MR|Test|E|Lead 14058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014059|114059|989898|1|9999014059|MR|Test|E|Lead 14059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014060|114060|989898|1|9999014060|MR|Test|E|Lead 14060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014061|114061|989898|1|9999014061|MR|Test|E|Lead 14061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014062|114062|989898|1|9999014062|MR|Test|E|Lead 14062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014063|114063|989898|1|9999014063|MR|Test|E|Lead 14063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014064|114064|989898|1|9999014064|MR|Test|E|Lead 14064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014065|114065|989898|1|9999014065|MR|Test|E|Lead 14065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014066|114066|989898|1|9999014066|MR|Test|E|Lead 14066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014067|114067|989898|1|9999014067|MR|Test|E|Lead 14067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014068|114068|989898|1|9999014068|MR|Test|E|Lead 14068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014069|114069|989898|1|9999014069|MR|Test|E|Lead 14069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014070|114070|989898|1|9999014070|MR|Test|E|Lead 14070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014071|114071|989898|1|9999014071|MR|Test|E|Lead 14071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014072|114072|989898|1|9999014072|MR|Test|E|Lead 14072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014073|114073|989898|1|9999014073|MR|Test|E|Lead 14073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014074|114074|989898|1|9999014074|MR|Test|E|Lead 14074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014075|114075|989898|1|9999014075|MR|Test|E|Lead 14075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014076|114076|989898|1|9999014076|MR|Test|E|Lead 14076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014077|114077|989898|1|9999014077|MR|Test|E|Lead 14077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014078|114078|989898|1|9999014078|MR|Test|E|Lead 14078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014079|114079|989898|1|9999014079|MR|Test|E|Lead 14079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014080|114080|989898|1|9999014080|MR|Test|E|Lead 14080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014081|114081|989898|1|9999014081|MR|Test|E|Lead 14081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014082|114082|989898|1|9999014082|MR|Test|E|Lead 14082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014083|114083|989898|1|9999014083|MR|Test|E|Lead 14083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014084|114084|989898|1|9999014084|MR|Test|E|Lead 14084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014085|114085|989898|1|9999014085|MR|Test|E|Lead 14085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014086|114086|989898|1|9999014086|MR|Test|E|Lead 14086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014087|114087|989898|1|9999014087|MR|Test|E|Lead 14087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014088|114088|989898|1|9999014088|MR|Test|E|Lead 14088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014089|114089|989898|1|9999014089|MR|Test|E|Lead 14089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014090|114090|989898|1|9999014090|MR|Test|E|Lead 14090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014091|114091|989898|1|9999014091|MR|Test|E|Lead 14091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014092|114092|989898|1|9999014092|MR|Test|E|Lead 14092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014093|114093|989898|1|9999014093|MR|Test|E|Lead 14093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014094|114094|989898|1|9999014094|MR|Test|E|Lead 14094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014095|114095|989898|1|9999014095|MR|Test|E|Lead 14095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014096|114096|989898|1|9999014096|MR|Test|E|Lead 14096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014097|114097|989898|1|9999014097|MR|Test|E|Lead 14097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014098|114098|989898|1|9999014098|MR|Test|E|Lead 14098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014099|114099|989898|1|9999014099|MR|Test|E|Lead 14099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014100|114100|989898|1|9999014100|MR|Test|E|Lead 14100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014101|114101|989898|1|9999014101|MR|Test|E|Lead 14101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014102|114102|989898|1|9999014102|MR|Test|E|Lead 14102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014103|114103|989898|1|9999014103|MR|Test|E|Lead 14103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014104|114104|989898|1|9999014104|MR|Test|E|Lead 14104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014105|114105|989898|1|9999014105|MR|Test|E|Lead 14105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014106|114106|989898|1|9999014106|MR|Test|E|Lead 14106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014107|114107|989898|1|9999014107|MR|Test|E|Lead 14107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014108|114108|989898|1|9999014108|MR|Test|E|Lead 14108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014109|114109|989898|1|9999014109|MR|Test|E|Lead 14109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014110|114110|989898|1|9999014110|MR|Test|E|Lead 14110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014111|114111|989898|1|9999014111|MR|Test|E|Lead 14111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014112|114112|989898|1|9999014112|MR|Test|E|Lead 14112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014113|114113|989898|1|9999014113|MR|Test|E|Lead 14113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014114|114114|989898|1|9999014114|MR|Test|E|Lead 14114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014115|114115|989898|1|9999014115|MR|Test|E|Lead 14115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014116|114116|989898|1|9999014116|MR|Test|E|Lead 14116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014117|114117|989898|1|9999014117|MR|Test|E|Lead 14117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014118|114118|989898|1|9999014118|MR|Test|E|Lead 14118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014119|114119|989898|1|9999014119|MR|Test|E|Lead 14119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014120|114120|989898|1|9999014120|MR|Test|E|Lead 14120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014121|114121|989898|1|9999014121|MR|Test|E|Lead 14121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014122|114122|989898|1|9999014122|MR|Test|E|Lead 14122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014123|114123|989898|1|9999014123|MR|Test|E|Lead 14123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014124|114124|989898|1|9999014124|MR|Test|E|Lead 14124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014125|114125|989898|1|9999014125|MR|Test|E|Lead 14125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014126|114126|989898|1|9999014126|MR|Test|E|Lead 14126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014127|114127|989898|1|9999014127|MR|Test|E|Lead 14127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014128|114128|989898|1|9999014128|MR|Test|E|Lead 14128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014129|114129|989898|1|9999014129|MR|Test|E|Lead 14129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014130|114130|989898|1|9999014130|MR|Test|E|Lead 14130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014131|114131|989898|1|9999014131|MR|Test|E|Lead 14131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014132|114132|989898|1|9999014132|MR|Test|E|Lead 14132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014133|114133|989898|1|9999014133|MR|Test|E|Lead 14133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014134|114134|989898|1|9999014134|MR|Test|E|Lead 14134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014135|114135|989898|1|9999014135|MR|Test|E|Lead 14135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014136|114136|989898|1|9999014136|MR|Test|E|Lead 14136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014137|114137|989898|1|9999014137|MR|Test|E|Lead 14137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014138|114138|989898|1|9999014138|MR|Test|E|Lead 14138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014139|114139|989898|1|9999014139|MR|Test|E|Lead 14139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014140|114140|989898|1|9999014140|MR|Test|E|Lead 14140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014141|114141|989898|1|9999014141|MR|Test|E|Lead 14141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014142|114142|989898|1|9999014142|MR|Test|E|Lead 14142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014143|114143|989898|1|9999014143|MR|Test|E|Lead 14143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014144|114144|989898|1|9999014144|MR|Test|E|Lead 14144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014145|114145|989898|1|9999014145|MR|Test|E|Lead 14145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014146|114146|989898|1|9999014146|MR|Test|E|Lead 14146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014147|114147|989898|1|9999014147|MR|Test|E|Lead 14147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014148|114148|989898|1|9999014148|MR|Test|E|Lead 14148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014149|114149|989898|1|9999014149|MR|Test|E|Lead 14149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014150|114150|989898|1|9999014150|MR|Test|E|Lead 14150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014151|114151|989898|1|9999014151|MR|Test|E|Lead 14151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014152|114152|989898|1|9999014152|MR|Test|E|Lead 14152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014153|114153|989898|1|9999014153|MR|Test|E|Lead 14153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014154|114154|989898|1|9999014154|MR|Test|E|Lead 14154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014155|114155|989898|1|9999014155|MR|Test|E|Lead 14155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014156|114156|989898|1|9999014156|MR|Test|E|Lead 14156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014157|114157|989898|1|9999014157|MR|Test|E|Lead 14157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014158|114158|989898|1|9999014158|MR|Test|E|Lead 14158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014159|114159|989898|1|9999014159|MR|Test|E|Lead 14159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014160|114160|989898|1|9999014160|MR|Test|E|Lead 14160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014161|114161|989898|1|9999014161|MR|Test|E|Lead 14161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014162|114162|989898|1|9999014162|MR|Test|E|Lead 14162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014163|114163|989898|1|9999014163|MR|Test|E|Lead 14163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014164|114164|989898|1|9999014164|MR|Test|E|Lead 14164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014165|114165|989898|1|9999014165|MR|Test|E|Lead 14165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014166|114166|989898|1|9999014166|MR|Test|E|Lead 14166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014167|114167|989898|1|9999014167|MR|Test|E|Lead 14167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014168|114168|989898|1|9999014168|MR|Test|E|Lead 14168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014169|114169|989898|1|9999014169|MR|Test|E|Lead 14169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014170|114170|989898|1|9999014170|MR|Test|E|Lead 14170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014171|114171|989898|1|9999014171|MR|Test|E|Lead 14171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014172|114172|989898|1|9999014172|MR|Test|E|Lead 14172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014173|114173|989898|1|9999014173|MR|Test|E|Lead 14173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014174|114174|989898|1|9999014174|MR|Test|E|Lead 14174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014175|114175|989898|1|9999014175|MR|Test|E|Lead 14175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014176|114176|989898|1|9999014176|MR|Test|E|Lead 14176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014177|114177|989898|1|9999014177|MR|Test|E|Lead 14177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014178|114178|989898|1|9999014178|MR|Test|E|Lead 14178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014179|114179|989898|1|9999014179|MR|Test|E|Lead 14179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014180|114180|989898|1|9999014180|MR|Test|E|Lead 14180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014181|114181|989898|1|9999014181|MR|Test|E|Lead 14181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014182|114182|989898|1|9999014182|MR|Test|E|Lead 14182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014183|114183|989898|1|9999014183|MR|Test|E|Lead 14183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014184|114184|989898|1|9999014184|MR|Test|E|Lead 14184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014185|114185|989898|1|9999014185|MR|Test|E|Lead 14185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014186|114186|989898|1|9999014186|MR|Test|E|Lead 14186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014187|114187|989898|1|9999014187|MR|Test|E|Lead 14187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014188|114188|989898|1|9999014188|MR|Test|E|Lead 14188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014189|114189|989898|1|9999014189|MR|Test|E|Lead 14189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014190|114190|989898|1|9999014190|MR|Test|E|Lead 14190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014191|114191|989898|1|9999014191|MR|Test|E|Lead 14191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014192|114192|989898|1|9999014192|MR|Test|E|Lead 14192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014193|114193|989898|1|9999014193|MR|Test|E|Lead 14193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014194|114194|989898|1|9999014194|MR|Test|E|Lead 14194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014195|114195|989898|1|9999014195|MR|Test|E|Lead 14195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014196|114196|989898|1|9999014196|MR|Test|E|Lead 14196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014197|114197|989898|1|9999014197|MR|Test|E|Lead 14197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014198|114198|989898|1|9999014198|MR|Test|E|Lead 14198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014199|114199|989898|1|9999014199|MR|Test|E|Lead 14199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014200|114200|989898|1|9999014200|MR|Test|E|Lead 14200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014201|114201|989898|1|9999014201|MR|Test|E|Lead 14201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014202|114202|989898|1|9999014202|MR|Test|E|Lead 14202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014203|114203|989898|1|9999014203|MR|Test|E|Lead 14203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014204|114204|989898|1|9999014204|MR|Test|E|Lead 14204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014205|114205|989898|1|9999014205|MR|Test|E|Lead 14205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014206|114206|989898|1|9999014206|MR|Test|E|Lead 14206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014207|114207|989898|1|9999014207|MR|Test|E|Lead 14207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014208|114208|989898|1|9999014208|MR|Test|E|Lead 14208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014209|114209|989898|1|9999014209|MR|Test|E|Lead 14209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014210|114210|989898|1|9999014210|MR|Test|E|Lead 14210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014211|114211|989898|1|9999014211|MR|Test|E|Lead 14211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014212|114212|989898|1|9999014212|MR|Test|E|Lead 14212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014213|114213|989898|1|9999014213|MR|Test|E|Lead 14213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014214|114214|989898|1|9999014214|MR|Test|E|Lead 14214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014215|114215|989898|1|9999014215|MR|Test|E|Lead 14215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014216|114216|989898|1|9999014216|MR|Test|E|Lead 14216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014217|114217|989898|1|9999014217|MR|Test|E|Lead 14217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014218|114218|989898|1|9999014218|MR|Test|E|Lead 14218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014219|114219|989898|1|9999014219|MR|Test|E|Lead 14219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014220|114220|989898|1|9999014220|MR|Test|E|Lead 14220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014221|114221|989898|1|9999014221|MR|Test|E|Lead 14221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014222|114222|989898|1|9999014222|MR|Test|E|Lead 14222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014223|114223|989898|1|9999014223|MR|Test|E|Lead 14223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014224|114224|989898|1|9999014224|MR|Test|E|Lead 14224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014225|114225|989898|1|9999014225|MR|Test|E|Lead 14225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014226|114226|989898|1|9999014226|MR|Test|E|Lead 14226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014227|114227|989898|1|9999014227|MR|Test|E|Lead 14227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014228|114228|989898|1|9999014228|MR|Test|E|Lead 14228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014229|114229|989898|1|9999014229|MR|Test|E|Lead 14229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014230|114230|989898|1|9999014230|MR|Test|E|Lead 14230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014231|114231|989898|1|9999014231|MR|Test|E|Lead 14231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014232|114232|989898|1|9999014232|MR|Test|E|Lead 14232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014233|114233|989898|1|9999014233|MR|Test|E|Lead 14233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014234|114234|989898|1|9999014234|MR|Test|E|Lead 14234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014235|114235|989898|1|9999014235|MR|Test|E|Lead 14235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014236|114236|989898|1|9999014236|MR|Test|E|Lead 14236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014237|114237|989898|1|9999014237|MR|Test|E|Lead 14237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014238|114238|989898|1|9999014238|MR|Test|E|Lead 14238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014239|114239|989898|1|9999014239|MR|Test|E|Lead 14239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014240|114240|989898|1|9999014240|MR|Test|E|Lead 14240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014241|114241|989898|1|9999014241|MR|Test|E|Lead 14241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014242|114242|989898|1|9999014242|MR|Test|E|Lead 14242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014243|114243|989898|1|9999014243|MR|Test|E|Lead 14243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014244|114244|989898|1|9999014244|MR|Test|E|Lead 14244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014245|114245|989898|1|9999014245|MR|Test|E|Lead 14245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014246|114246|989898|1|9999014246|MR|Test|E|Lead 14246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014247|114247|989898|1|9999014247|MR|Test|E|Lead 14247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014248|114248|989898|1|9999014248|MR|Test|E|Lead 14248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014249|114249|989898|1|9999014249|MR|Test|E|Lead 14249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014250|114250|989898|1|9999014250|MR|Test|E|Lead 14250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014251|114251|989898|1|9999014251|MR|Test|E|Lead 14251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014252|114252|989898|1|9999014252|MR|Test|E|Lead 14252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014253|114253|989898|1|9999014253|MR|Test|E|Lead 14253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014254|114254|989898|1|9999014254|MR|Test|E|Lead 14254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014255|114255|989898|1|9999014255|MR|Test|E|Lead 14255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014256|114256|989898|1|9999014256|MR|Test|E|Lead 14256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014257|114257|989898|1|9999014257|MR|Test|E|Lead 14257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014258|114258|989898|1|9999014258|MR|Test|E|Lead 14258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014259|114259|989898|1|9999014259|MR|Test|E|Lead 14259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014260|114260|989898|1|9999014260|MR|Test|E|Lead 14260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014261|114261|989898|1|9999014261|MR|Test|E|Lead 14261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014262|114262|989898|1|9999014262|MR|Test|E|Lead 14262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014263|114263|989898|1|9999014263|MR|Test|E|Lead 14263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014264|114264|989898|1|9999014264|MR|Test|E|Lead 14264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014265|114265|989898|1|9999014265|MR|Test|E|Lead 14265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014266|114266|989898|1|9999014266|MR|Test|E|Lead 14266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014267|114267|989898|1|9999014267|MR|Test|E|Lead 14267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014268|114268|989898|1|9999014268|MR|Test|E|Lead 14268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014269|114269|989898|1|9999014269|MR|Test|E|Lead 14269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014270|114270|989898|1|9999014270|MR|Test|E|Lead 14270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014271|114271|989898|1|9999014271|MR|Test|E|Lead 14271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014272|114272|989898|1|9999014272|MR|Test|E|Lead 14272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014273|114273|989898|1|9999014273|MR|Test|E|Lead 14273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014274|114274|989898|1|9999014274|MR|Test|E|Lead 14274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014275|114275|989898|1|9999014275|MR|Test|E|Lead 14275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014276|114276|989898|1|9999014276|MR|Test|E|Lead 14276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014277|114277|989898|1|9999014277|MR|Test|E|Lead 14277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014278|114278|989898|1|9999014278|MR|Test|E|Lead 14278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014279|114279|989898|1|9999014279|MR|Test|E|Lead 14279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014280|114280|989898|1|9999014280|MR|Test|E|Lead 14280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014281|114281|989898|1|9999014281|MR|Test|E|Lead 14281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014282|114282|989898|1|9999014282|MR|Test|E|Lead 14282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014283|114283|989898|1|9999014283|MR|Test|E|Lead 14283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014284|114284|989898|1|9999014284|MR|Test|E|Lead 14284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014285|114285|989898|1|9999014285|MR|Test|E|Lead 14285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014286|114286|989898|1|9999014286|MR|Test|E|Lead 14286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014287|114287|989898|1|9999014287|MR|Test|E|Lead 14287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014288|114288|989898|1|9999014288|MR|Test|E|Lead 14288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014289|114289|989898|1|9999014289|MR|Test|E|Lead 14289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014290|114290|989898|1|9999014290|MR|Test|E|Lead 14290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014291|114291|989898|1|9999014291|MR|Test|E|Lead 14291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014292|114292|989898|1|9999014292|MR|Test|E|Lead 14292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014293|114293|989898|1|9999014293|MR|Test|E|Lead 14293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014294|114294|989898|1|9999014294|MR|Test|E|Lead 14294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014295|114295|989898|1|9999014295|MR|Test|E|Lead 14295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014296|114296|989898|1|9999014296|MR|Test|E|Lead 14296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014297|114297|989898|1|9999014297|MR|Test|E|Lead 14297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014298|114298|989898|1|9999014298|MR|Test|E|Lead 14298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014299|114299|989898|1|9999014299|MR|Test|E|Lead 14299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014300|114300|989898|1|9999014300|MR|Test|E|Lead 14300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014301|114301|989898|1|9999014301|MR|Test|E|Lead 14301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014302|114302|989898|1|9999014302|MR|Test|E|Lead 14302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014303|114303|989898|1|9999014303|MR|Test|E|Lead 14303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014304|114304|989898|1|9999014304|MR|Test|E|Lead 14304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014305|114305|989898|1|9999014305|MR|Test|E|Lead 14305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014306|114306|989898|1|9999014306|MR|Test|E|Lead 14306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014307|114307|989898|1|9999014307|MR|Test|E|Lead 14307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014308|114308|989898|1|9999014308|MR|Test|E|Lead 14308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014309|114309|989898|1|9999014309|MR|Test|E|Lead 14309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014310|114310|989898|1|9999014310|MR|Test|E|Lead 14310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014311|114311|989898|1|9999014311|MR|Test|E|Lead 14311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014312|114312|989898|1|9999014312|MR|Test|E|Lead 14312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014313|114313|989898|1|9999014313|MR|Test|E|Lead 14313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014314|114314|989898|1|9999014314|MR|Test|E|Lead 14314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014315|114315|989898|1|9999014315|MR|Test|E|Lead 14315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014316|114316|989898|1|9999014316|MR|Test|E|Lead 14316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014317|114317|989898|1|9999014317|MR|Test|E|Lead 14317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014318|114318|989898|1|9999014318|MR|Test|E|Lead 14318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014319|114319|989898|1|9999014319|MR|Test|E|Lead 14319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014320|114320|989898|1|9999014320|MR|Test|E|Lead 14320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014321|114321|989898|1|9999014321|MR|Test|E|Lead 14321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014322|114322|989898|1|9999014322|MR|Test|E|Lead 14322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014323|114323|989898|1|9999014323|MR|Test|E|Lead 14323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014324|114324|989898|1|9999014324|MR|Test|E|Lead 14324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014325|114325|989898|1|9999014325|MR|Test|E|Lead 14325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014326|114326|989898|1|9999014326|MR|Test|E|Lead 14326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014327|114327|989898|1|9999014327|MR|Test|E|Lead 14327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014328|114328|989898|1|9999014328|MR|Test|E|Lead 14328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014329|114329|989898|1|9999014329|MR|Test|E|Lead 14329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014330|114330|989898|1|9999014330|MR|Test|E|Lead 14330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014331|114331|989898|1|9999014331|MR|Test|E|Lead 14331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014332|114332|989898|1|9999014332|MR|Test|E|Lead 14332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014333|114333|989898|1|9999014333|MR|Test|E|Lead 14333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014334|114334|989898|1|9999014334|MR|Test|E|Lead 14334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014335|114335|989898|1|9999014335|MR|Test|E|Lead 14335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014336|114336|989898|1|9999014336|MR|Test|E|Lead 14336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014337|114337|989898|1|9999014337|MR|Test|E|Lead 14337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014338|114338|989898|1|9999014338|MR|Test|E|Lead 14338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014339|114339|989898|1|9999014339|MR|Test|E|Lead 14339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014340|114340|989898|1|9999014340|MR|Test|E|Lead 14340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014341|114341|989898|1|9999014341|MR|Test|E|Lead 14341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014342|114342|989898|1|9999014342|MR|Test|E|Lead 14342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014343|114343|989898|1|9999014343|MR|Test|E|Lead 14343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014344|114344|989898|1|9999014344|MR|Test|E|Lead 14344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014345|114345|989898|1|9999014345|MR|Test|E|Lead 14345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014346|114346|989898|1|9999014346|MR|Test|E|Lead 14346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014347|114347|989898|1|9999014347|MR|Test|E|Lead 14347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014348|114348|989898|1|9999014348|MR|Test|E|Lead 14348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014349|114349|989898|1|9999014349|MR|Test|E|Lead 14349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014350|114350|989898|1|9999014350|MR|Test|E|Lead 14350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014351|114351|989898|1|9999014351|MR|Test|E|Lead 14351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014352|114352|989898|1|9999014352|MR|Test|E|Lead 14352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014353|114353|989898|1|9999014353|MR|Test|E|Lead 14353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014354|114354|989898|1|9999014354|MR|Test|E|Lead 14354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014355|114355|989898|1|9999014355|MR|Test|E|Lead 14355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014356|114356|989898|1|9999014356|MR|Test|E|Lead 14356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014357|114357|989898|1|9999014357|MR|Test|E|Lead 14357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014358|114358|989898|1|9999014358|MR|Test|E|Lead 14358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014359|114359|989898|1|9999014359|MR|Test|E|Lead 14359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014360|114360|989898|1|9999014360|MR|Test|E|Lead 14360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014361|114361|989898|1|9999014361|MR|Test|E|Lead 14361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014362|114362|989898|1|9999014362|MR|Test|E|Lead 14362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014363|114363|989898|1|9999014363|MR|Test|E|Lead 14363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014364|114364|989898|1|9999014364|MR|Test|E|Lead 14364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014365|114365|989898|1|9999014365|MR|Test|E|Lead 14365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014366|114366|989898|1|9999014366|MR|Test|E|Lead 14366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014367|114367|989898|1|9999014367|MR|Test|E|Lead 14367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014368|114368|989898|1|9999014368|MR|Test|E|Lead 14368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014369|114369|989898|1|9999014369|MR|Test|E|Lead 14369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014370|114370|989898|1|9999014370|MR|Test|E|Lead 14370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014371|114371|989898|1|9999014371|MR|Test|E|Lead 14371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014372|114372|989898|1|9999014372|MR|Test|E|Lead 14372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014373|114373|989898|1|9999014373|MR|Test|E|Lead 14373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014374|114374|989898|1|9999014374|MR|Test|E|Lead 14374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014375|114375|989898|1|9999014375|MR|Test|E|Lead 14375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014376|114376|989898|1|9999014376|MR|Test|E|Lead 14376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014377|114377|989898|1|9999014377|MR|Test|E|Lead 14377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014378|114378|989898|1|9999014378|MR|Test|E|Lead 14378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014379|114379|989898|1|9999014379|MR|Test|E|Lead 14379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014380|114380|989898|1|9999014380|MR|Test|E|Lead 14380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014381|114381|989898|1|9999014381|MR|Test|E|Lead 14381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014382|114382|989898|1|9999014382|MR|Test|E|Lead 14382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014383|114383|989898|1|9999014383|MR|Test|E|Lead 14383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014384|114384|989898|1|9999014384|MR|Test|E|Lead 14384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014385|114385|989898|1|9999014385|MR|Test|E|Lead 14385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014386|114386|989898|1|9999014386|MR|Test|E|Lead 14386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014387|114387|989898|1|9999014387|MR|Test|E|Lead 14387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014388|114388|989898|1|9999014388|MR|Test|E|Lead 14388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014389|114389|989898|1|9999014389|MR|Test|E|Lead 14389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014390|114390|989898|1|9999014390|MR|Test|E|Lead 14390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014391|114391|989898|1|9999014391|MR|Test|E|Lead 14391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014392|114392|989898|1|9999014392|MR|Test|E|Lead 14392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014393|114393|989898|1|9999014393|MR|Test|E|Lead 14393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014394|114394|989898|1|9999014394|MR|Test|E|Lead 14394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014395|114395|989898|1|9999014395|MR|Test|E|Lead 14395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014396|114396|989898|1|9999014396|MR|Test|E|Lead 14396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014397|114397|989898|1|9999014397|MR|Test|E|Lead 14397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014398|114398|989898|1|9999014398|MR|Test|E|Lead 14398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014399|114399|989898|1|9999014399|MR|Test|E|Lead 14399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014400|114400|989898|1|9999014400|MR|Test|E|Lead 14400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014401|114401|989898|1|9999014401|MR|Test|E|Lead 14401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014402|114402|989898|1|9999014402|MR|Test|E|Lead 14402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014403|114403|989898|1|9999014403|MR|Test|E|Lead 14403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014404|114404|989898|1|9999014404|MR|Test|E|Lead 14404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014405|114405|989898|1|9999014405|MR|Test|E|Lead 14405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014406|114406|989898|1|9999014406|MR|Test|E|Lead 14406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014407|114407|989898|1|9999014407|MR|Test|E|Lead 14407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014408|114408|989898|1|9999014408|MR|Test|E|Lead 14408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014409|114409|989898|1|9999014409|MR|Test|E|Lead 14409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014410|114410|989898|1|9999014410|MR|Test|E|Lead 14410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014411|114411|989898|1|9999014411|MR|Test|E|Lead 14411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014412|114412|989898|1|9999014412|MR|Test|E|Lead 14412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014413|114413|989898|1|9999014413|MR|Test|E|Lead 14413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014414|114414|989898|1|9999014414|MR|Test|E|Lead 14414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014415|114415|989898|1|9999014415|MR|Test|E|Lead 14415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014416|114416|989898|1|9999014416|MR|Test|E|Lead 14416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014417|114417|989898|1|9999014417|MR|Test|E|Lead 14417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014418|114418|989898|1|9999014418|MR|Test|E|Lead 14418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014419|114419|989898|1|9999014419|MR|Test|E|Lead 14419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014420|114420|989898|1|9999014420|MR|Test|E|Lead 14420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014421|114421|989898|1|9999014421|MR|Test|E|Lead 14421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014422|114422|989898|1|9999014422|MR|Test|E|Lead 14422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014423|114423|989898|1|9999014423|MR|Test|E|Lead 14423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014424|114424|989898|1|9999014424|MR|Test|E|Lead 14424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014425|114425|989898|1|9999014425|MR|Test|E|Lead 14425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014426|114426|989898|1|9999014426|MR|Test|E|Lead 14426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014427|114427|989898|1|9999014427|MR|Test|E|Lead 14427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014428|114428|989898|1|9999014428|MR|Test|E|Lead 14428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014429|114429|989898|1|9999014429|MR|Test|E|Lead 14429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014430|114430|989898|1|9999014430|MR|Test|E|Lead 14430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014431|114431|989898|1|9999014431|MR|Test|E|Lead 14431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014432|114432|989898|1|9999014432|MR|Test|E|Lead 14432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014433|114433|989898|1|9999014433|MR|Test|E|Lead 14433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014434|114434|989898|1|9999014434|MR|Test|E|Lead 14434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014435|114435|989898|1|9999014435|MR|Test|E|Lead 14435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014436|114436|989898|1|9999014436|MR|Test|E|Lead 14436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014437|114437|989898|1|9999014437|MR|Test|E|Lead 14437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014438|114438|989898|1|9999014438|MR|Test|E|Lead 14438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014439|114439|989898|1|9999014439|MR|Test|E|Lead 14439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014440|114440|989898|1|9999014440|MR|Test|E|Lead 14440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014441|114441|989898|1|9999014441|MR|Test|E|Lead 14441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014442|114442|989898|1|9999014442|MR|Test|E|Lead 14442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014443|114443|989898|1|9999014443|MR|Test|E|Lead 14443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014444|114444|989898|1|9999014444|MR|Test|E|Lead 14444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014445|114445|989898|1|9999014445|MR|Test|E|Lead 14445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014446|114446|989898|1|9999014446|MR|Test|E|Lead 14446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014447|114447|989898|1|9999014447|MR|Test|E|Lead 14447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014448|114448|989898|1|9999014448|MR|Test|E|Lead 14448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014449|114449|989898|1|9999014449|MR|Test|E|Lead 14449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014450|114450|989898|1|9999014450|MR|Test|E|Lead 14450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014451|114451|989898|1|9999014451|MR|Test|E|Lead 14451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014452|114452|989898|1|9999014452|MR|Test|E|Lead 14452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014453|114453|989898|1|9999014453|MR|Test|E|Lead 14453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014454|114454|989898|1|9999014454|MR|Test|E|Lead 14454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014455|114455|989898|1|9999014455|MR|Test|E|Lead 14455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014456|114456|989898|1|9999014456|MR|Test|E|Lead 14456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014457|114457|989898|1|9999014457|MR|Test|E|Lead 14457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014458|114458|989898|1|9999014458|MR|Test|E|Lead 14458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014459|114459|989898|1|9999014459|MR|Test|E|Lead 14459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014460|114460|989898|1|9999014460|MR|Test|E|Lead 14460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014461|114461|989898|1|9999014461|MR|Test|E|Lead 14461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014462|114462|989898|1|9999014462|MR|Test|E|Lead 14462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014463|114463|989898|1|9999014463|MR|Test|E|Lead 14463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014464|114464|989898|1|9999014464|MR|Test|E|Lead 14464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014465|114465|989898|1|9999014465|MR|Test|E|Lead 14465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014466|114466|989898|1|9999014466|MR|Test|E|Lead 14466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014467|114467|989898|1|9999014467|MR|Test|E|Lead 14467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014468|114468|989898|1|9999014468|MR|Test|E|Lead 14468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014469|114469|989898|1|9999014469|MR|Test|E|Lead 14469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014470|114470|989898|1|9999014470|MR|Test|E|Lead 14470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014471|114471|989898|1|9999014471|MR|Test|E|Lead 14471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014472|114472|989898|1|9999014472|MR|Test|E|Lead 14472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014473|114473|989898|1|9999014473|MR|Test|E|Lead 14473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014474|114474|989898|1|9999014474|MR|Test|E|Lead 14474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014475|114475|989898|1|9999014475|MR|Test|E|Lead 14475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014476|114476|989898|1|9999014476|MR|Test|E|Lead 14476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014477|114477|989898|1|9999014477|MR|Test|E|Lead 14477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014478|114478|989898|1|9999014478|MR|Test|E|Lead 14478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014479|114479|989898|1|9999014479|MR|Test|E|Lead 14479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014480|114480|989898|1|9999014480|MR|Test|E|Lead 14480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014481|114481|989898|1|9999014481|MR|Test|E|Lead 14481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014482|114482|989898|1|9999014482|MR|Test|E|Lead 14482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014483|114483|989898|1|9999014483|MR|Test|E|Lead 14483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014484|114484|989898|1|9999014484|MR|Test|E|Lead 14484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014485|114485|989898|1|9999014485|MR|Test|E|Lead 14485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014486|114486|989898|1|9999014486|MR|Test|E|Lead 14486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014487|114487|989898|1|9999014487|MR|Test|E|Lead 14487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014488|114488|989898|1|9999014488|MR|Test|E|Lead 14488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014489|114489|989898|1|9999014489|MR|Test|E|Lead 14489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014490|114490|989898|1|9999014490|MR|Test|E|Lead 14490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014491|114491|989898|1|9999014491|MR|Test|E|Lead 14491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014492|114492|989898|1|9999014492|MR|Test|E|Lead 14492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014493|114493|989898|1|9999014493|MR|Test|E|Lead 14493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014494|114494|989898|1|9999014494|MR|Test|E|Lead 14494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014495|114495|989898|1|9999014495|MR|Test|E|Lead 14495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014496|114496|989898|1|9999014496|MR|Test|E|Lead 14496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014497|114497|989898|1|9999014497|MR|Test|E|Lead 14497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014498|114498|989898|1|9999014498|MR|Test|E|Lead 14498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014499|114499|989898|1|9999014499|MR|Test|E|Lead 14499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014500|114500|989898|1|9999014500|MR|Test|E|Lead 14500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014501|114501|989898|1|9999014501|MR|Test|E|Lead 14501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014502|114502|989898|1|9999014502|MR|Test|E|Lead 14502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014503|114503|989898|1|9999014503|MR|Test|E|Lead 14503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014504|114504|989898|1|9999014504|MR|Test|E|Lead 14504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014505|114505|989898|1|9999014505|MR|Test|E|Lead 14505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014506|114506|989898|1|9999014506|MR|Test|E|Lead 14506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014507|114507|989898|1|9999014507|MR|Test|E|Lead 14507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014508|114508|989898|1|9999014508|MR|Test|E|Lead 14508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014509|114509|989898|1|9999014509|MR|Test|E|Lead 14509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014510|114510|989898|1|9999014510|MR|Test|E|Lead 14510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014511|114511|989898|1|9999014511|MR|Test|E|Lead 14511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014512|114512|989898|1|9999014512|MR|Test|E|Lead 14512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014513|114513|989898|1|9999014513|MR|Test|E|Lead 14513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014514|114514|989898|1|9999014514|MR|Test|E|Lead 14514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014515|114515|989898|1|9999014515|MR|Test|E|Lead 14515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014516|114516|989898|1|9999014516|MR|Test|E|Lead 14516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014517|114517|989898|1|9999014517|MR|Test|E|Lead 14517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014518|114518|989898|1|9999014518|MR|Test|E|Lead 14518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014519|114519|989898|1|9999014519|MR|Test|E|Lead 14519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014520|114520|989898|1|9999014520|MR|Test|E|Lead 14520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014521|114521|989898|1|9999014521|MR|Test|E|Lead 14521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014522|114522|989898|1|9999014522|MR|Test|E|Lead 14522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014523|114523|989898|1|9999014523|MR|Test|E|Lead 14523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014524|114524|989898|1|9999014524|MR|Test|E|Lead 14524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014525|114525|989898|1|9999014525|MR|Test|E|Lead 14525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014526|114526|989898|1|9999014526|MR|Test|E|Lead 14526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014527|114527|989898|1|9999014527|MR|Test|E|Lead 14527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014528|114528|989898|1|9999014528|MR|Test|E|Lead 14528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014529|114529|989898|1|9999014529|MR|Test|E|Lead 14529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014530|114530|989898|1|9999014530|MR|Test|E|Lead 14530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014531|114531|989898|1|9999014531|MR|Test|E|Lead 14531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014532|114532|989898|1|9999014532|MR|Test|E|Lead 14532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014533|114533|989898|1|9999014533|MR|Test|E|Lead 14533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014534|114534|989898|1|9999014534|MR|Test|E|Lead 14534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014535|114535|989898|1|9999014535|MR|Test|E|Lead 14535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014536|114536|989898|1|9999014536|MR|Test|E|Lead 14536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014537|114537|989898|1|9999014537|MR|Test|E|Lead 14537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014538|114538|989898|1|9999014538|MR|Test|E|Lead 14538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014539|114539|989898|1|9999014539|MR|Test|E|Lead 14539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014540|114540|989898|1|9999014540|MR|Test|E|Lead 14540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014541|114541|989898|1|9999014541|MR|Test|E|Lead 14541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014542|114542|989898|1|9999014542|MR|Test|E|Lead 14542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014543|114543|989898|1|9999014543|MR|Test|E|Lead 14543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014544|114544|989898|1|9999014544|MR|Test|E|Lead 14544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014545|114545|989898|1|9999014545|MR|Test|E|Lead 14545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014546|114546|989898|1|9999014546|MR|Test|E|Lead 14546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014547|114547|989898|1|9999014547|MR|Test|E|Lead 14547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014548|114548|989898|1|9999014548|MR|Test|E|Lead 14548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014549|114549|989898|1|9999014549|MR|Test|E|Lead 14549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014550|114550|989898|1|9999014550|MR|Test|E|Lead 14550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014551|114551|989898|1|9999014551|MR|Test|E|Lead 14551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014552|114552|989898|1|9999014552|MR|Test|E|Lead 14552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014553|114553|989898|1|9999014553|MR|Test|E|Lead 14553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014554|114554|989898|1|9999014554|MR|Test|E|Lead 14554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014555|114555|989898|1|9999014555|MR|Test|E|Lead 14555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014556|114556|989898|1|9999014556|MR|Test|E|Lead 14556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014557|114557|989898|1|9999014557|MR|Test|E|Lead 14557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014558|114558|989898|1|9999014558|MR|Test|E|Lead 14558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014559|114559|989898|1|9999014559|MR|Test|E|Lead 14559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014560|114560|989898|1|9999014560|MR|Test|E|Lead 14560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014561|114561|989898|1|9999014561|MR|Test|E|Lead 14561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014562|114562|989898|1|9999014562|MR|Test|E|Lead 14562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014563|114563|989898|1|9999014563|MR|Test|E|Lead 14563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014564|114564|989898|1|9999014564|MR|Test|E|Lead 14564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014565|114565|989898|1|9999014565|MR|Test|E|Lead 14565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014566|114566|989898|1|9999014566|MR|Test|E|Lead 14566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014567|114567|989898|1|9999014567|MR|Test|E|Lead 14567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014568|114568|989898|1|9999014568|MR|Test|E|Lead 14568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014569|114569|989898|1|9999014569|MR|Test|E|Lead 14569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014570|114570|989898|1|9999014570|MR|Test|E|Lead 14570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014571|114571|989898|1|9999014571|MR|Test|E|Lead 14571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014572|114572|989898|1|9999014572|MR|Test|E|Lead 14572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014573|114573|989898|1|9999014573|MR|Test|E|Lead 14573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014574|114574|989898|1|9999014574|MR|Test|E|Lead 14574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014575|114575|989898|1|9999014575|MR|Test|E|Lead 14575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014576|114576|989898|1|9999014576|MR|Test|E|Lead 14576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014577|114577|989898|1|9999014577|MR|Test|E|Lead 14577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014578|114578|989898|1|9999014578|MR|Test|E|Lead 14578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014579|114579|989898|1|9999014579|MR|Test|E|Lead 14579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014580|114580|989898|1|9999014580|MR|Test|E|Lead 14580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014581|114581|989898|1|9999014581|MR|Test|E|Lead 14581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014582|114582|989898|1|9999014582|MR|Test|E|Lead 14582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014583|114583|989898|1|9999014583|MR|Test|E|Lead 14583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014584|114584|989898|1|9999014584|MR|Test|E|Lead 14584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014585|114585|989898|1|9999014585|MR|Test|E|Lead 14585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014586|114586|989898|1|9999014586|MR|Test|E|Lead 14586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014587|114587|989898|1|9999014587|MR|Test|E|Lead 14587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014588|114588|989898|1|9999014588|MR|Test|E|Lead 14588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014589|114589|989898|1|9999014589|MR|Test|E|Lead 14589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014590|114590|989898|1|9999014590|MR|Test|E|Lead 14590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014591|114591|989898|1|9999014591|MR|Test|E|Lead 14591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014592|114592|989898|1|9999014592|MR|Test|E|Lead 14592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014593|114593|989898|1|9999014593|MR|Test|E|Lead 14593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014594|114594|989898|1|9999014594|MR|Test|E|Lead 14594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014595|114595|989898|1|9999014595|MR|Test|E|Lead 14595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014596|114596|989898|1|9999014596|MR|Test|E|Lead 14596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014597|114597|989898|1|9999014597|MR|Test|E|Lead 14597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014598|114598|989898|1|9999014598|MR|Test|E|Lead 14598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014599|114599|989898|1|9999014599|MR|Test|E|Lead 14599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014600|114600|989898|1|9999014600|MR|Test|E|Lead 14600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014601|114601|989898|1|9999014601|MR|Test|E|Lead 14601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014602|114602|989898|1|9999014602|MR|Test|E|Lead 14602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014603|114603|989898|1|9999014603|MR|Test|E|Lead 14603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014604|114604|989898|1|9999014604|MR|Test|E|Lead 14604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014605|114605|989898|1|9999014605|MR|Test|E|Lead 14605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014606|114606|989898|1|9999014606|MR|Test|E|Lead 14606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014607|114607|989898|1|9999014607|MR|Test|E|Lead 14607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014608|114608|989898|1|9999014608|MR|Test|E|Lead 14608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014609|114609|989898|1|9999014609|MR|Test|E|Lead 14609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014610|114610|989898|1|9999014610|MR|Test|E|Lead 14610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014611|114611|989898|1|9999014611|MR|Test|E|Lead 14611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014612|114612|989898|1|9999014612|MR|Test|E|Lead 14612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014613|114613|989898|1|9999014613|MR|Test|E|Lead 14613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014614|114614|989898|1|9999014614|MR|Test|E|Lead 14614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014615|114615|989898|1|9999014615|MR|Test|E|Lead 14615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014616|114616|989898|1|9999014616|MR|Test|E|Lead 14616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014617|114617|989898|1|9999014617|MR|Test|E|Lead 14617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014618|114618|989898|1|9999014618|MR|Test|E|Lead 14618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014619|114619|989898|1|9999014619|MR|Test|E|Lead 14619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014620|114620|989898|1|9999014620|MR|Test|E|Lead 14620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014621|114621|989898|1|9999014621|MR|Test|E|Lead 14621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014622|114622|989898|1|9999014622|MR|Test|E|Lead 14622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014623|114623|989898|1|9999014623|MR|Test|E|Lead 14623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014624|114624|989898|1|9999014624|MR|Test|E|Lead 14624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014625|114625|989898|1|9999014625|MR|Test|E|Lead 14625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014626|114626|989898|1|9999014626|MR|Test|E|Lead 14626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014627|114627|989898|1|9999014627|MR|Test|E|Lead 14627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014628|114628|989898|1|9999014628|MR|Test|E|Lead 14628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014629|114629|989898|1|9999014629|MR|Test|E|Lead 14629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014630|114630|989898|1|9999014630|MR|Test|E|Lead 14630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014631|114631|989898|1|9999014631|MR|Test|E|Lead 14631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014632|114632|989898|1|9999014632|MR|Test|E|Lead 14632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014633|114633|989898|1|9999014633|MR|Test|E|Lead 14633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014634|114634|989898|1|9999014634|MR|Test|E|Lead 14634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014635|114635|989898|1|9999014635|MR|Test|E|Lead 14635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014636|114636|989898|1|9999014636|MR|Test|E|Lead 14636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014637|114637|989898|1|9999014637|MR|Test|E|Lead 14637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014638|114638|989898|1|9999014638|MR|Test|E|Lead 14638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014639|114639|989898|1|9999014639|MR|Test|E|Lead 14639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014640|114640|989898|1|9999014640|MR|Test|E|Lead 14640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014641|114641|989898|1|9999014641|MR|Test|E|Lead 14641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014642|114642|989898|1|9999014642|MR|Test|E|Lead 14642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014643|114643|989898|1|9999014643|MR|Test|E|Lead 14643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014644|114644|989898|1|9999014644|MR|Test|E|Lead 14644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014645|114645|989898|1|9999014645|MR|Test|E|Lead 14645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014646|114646|989898|1|9999014646|MR|Test|E|Lead 14646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014647|114647|989898|1|9999014647|MR|Test|E|Lead 14647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014648|114648|989898|1|9999014648|MR|Test|E|Lead 14648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014649|114649|989898|1|9999014649|MR|Test|E|Lead 14649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014650|114650|989898|1|9999014650|MR|Test|E|Lead 14650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014651|114651|989898|1|9999014651|MR|Test|E|Lead 14651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014652|114652|989898|1|9999014652|MR|Test|E|Lead 14652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014653|114653|989898|1|9999014653|MR|Test|E|Lead 14653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014654|114654|989898|1|9999014654|MR|Test|E|Lead 14654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014655|114655|989898|1|9999014655|MR|Test|E|Lead 14655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014656|114656|989898|1|9999014656|MR|Test|E|Lead 14656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014657|114657|989898|1|9999014657|MR|Test|E|Lead 14657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014658|114658|989898|1|9999014658|MR|Test|E|Lead 14658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014659|114659|989898|1|9999014659|MR|Test|E|Lead 14659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014660|114660|989898|1|9999014660|MR|Test|E|Lead 14660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014661|114661|989898|1|9999014661|MR|Test|E|Lead 14661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014662|114662|989898|1|9999014662|MR|Test|E|Lead 14662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014663|114663|989898|1|9999014663|MR|Test|E|Lead 14663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014664|114664|989898|1|9999014664|MR|Test|E|Lead 14664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014665|114665|989898|1|9999014665|MR|Test|E|Lead 14665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014666|114666|989898|1|9999014666|MR|Test|E|Lead 14666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014667|114667|989898|1|9999014667|MR|Test|E|Lead 14667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014668|114668|989898|1|9999014668|MR|Test|E|Lead 14668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014669|114669|989898|1|9999014669|MR|Test|E|Lead 14669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014670|114670|989898|1|9999014670|MR|Test|E|Lead 14670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014671|114671|989898|1|9999014671|MR|Test|E|Lead 14671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014672|114672|989898|1|9999014672|MR|Test|E|Lead 14672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014673|114673|989898|1|9999014673|MR|Test|E|Lead 14673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014674|114674|989898|1|9999014674|MR|Test|E|Lead 14674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014675|114675|989898|1|9999014675|MR|Test|E|Lead 14675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014676|114676|989898|1|9999014676|MR|Test|E|Lead 14676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014677|114677|989898|1|9999014677|MR|Test|E|Lead 14677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014678|114678|989898|1|9999014678|MR|Test|E|Lead 14678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014679|114679|989898|1|9999014679|MR|Test|E|Lead 14679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014680|114680|989898|1|9999014680|MR|Test|E|Lead 14680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014681|114681|989898|1|9999014681|MR|Test|E|Lead 14681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014682|114682|989898|1|9999014682|MR|Test|E|Lead 14682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014683|114683|989898|1|9999014683|MR|Test|E|Lead 14683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014684|114684|989898|1|9999014684|MR|Test|E|Lead 14684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014685|114685|989898|1|9999014685|MR|Test|E|Lead 14685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014686|114686|989898|1|9999014686|MR|Test|E|Lead 14686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014687|114687|989898|1|9999014687|MR|Test|E|Lead 14687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014688|114688|989898|1|9999014688|MR|Test|E|Lead 14688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014689|114689|989898|1|9999014689|MR|Test|E|Lead 14689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014690|114690|989898|1|9999014690|MR|Test|E|Lead 14690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014691|114691|989898|1|9999014691|MR|Test|E|Lead 14691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014692|114692|989898|1|9999014692|MR|Test|E|Lead 14692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014693|114693|989898|1|9999014693|MR|Test|E|Lead 14693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014694|114694|989898|1|9999014694|MR|Test|E|Lead 14694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014695|114695|989898|1|9999014695|MR|Test|E|Lead 14695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014696|114696|989898|1|9999014696|MR|Test|E|Lead 14696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014697|114697|989898|1|9999014697|MR|Test|E|Lead 14697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014698|114698|989898|1|9999014698|MR|Test|E|Lead 14698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014699|114699|989898|1|9999014699|MR|Test|E|Lead 14699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014700|114700|989898|1|9999014700|MR|Test|E|Lead 14700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014701|114701|989898|1|9999014701|MR|Test|E|Lead 14701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014702|114702|989898|1|9999014702|MR|Test|E|Lead 14702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014703|114703|989898|1|9999014703|MR|Test|E|Lead 14703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014704|114704|989898|1|9999014704|MR|Test|E|Lead 14704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014705|114705|989898|1|9999014705|MR|Test|E|Lead 14705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014706|114706|989898|1|9999014706|MR|Test|E|Lead 14706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014707|114707|989898|1|9999014707|MR|Test|E|Lead 14707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014708|114708|989898|1|9999014708|MR|Test|E|Lead 14708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014709|114709|989898|1|9999014709|MR|Test|E|Lead 14709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014710|114710|989898|1|9999014710|MR|Test|E|Lead 14710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014711|114711|989898|1|9999014711|MR|Test|E|Lead 14711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014712|114712|989898|1|9999014712|MR|Test|E|Lead 14712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014713|114713|989898|1|9999014713|MR|Test|E|Lead 14713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014714|114714|989898|1|9999014714|MR|Test|E|Lead 14714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014715|114715|989898|1|9999014715|MR|Test|E|Lead 14715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014716|114716|989898|1|9999014716|MR|Test|E|Lead 14716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014717|114717|989898|1|9999014717|MR|Test|E|Lead 14717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014718|114718|989898|1|9999014718|MR|Test|E|Lead 14718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014719|114719|989898|1|9999014719|MR|Test|E|Lead 14719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014720|114720|989898|1|9999014720|MR|Test|E|Lead 14720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014721|114721|989898|1|9999014721|MR|Test|E|Lead 14721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014722|114722|989898|1|9999014722|MR|Test|E|Lead 14722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014723|114723|989898|1|9999014723|MR|Test|E|Lead 14723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014724|114724|989898|1|9999014724|MR|Test|E|Lead 14724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014725|114725|989898|1|9999014725|MR|Test|E|Lead 14725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014726|114726|989898|1|9999014726|MR|Test|E|Lead 14726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014727|114727|989898|1|9999014727|MR|Test|E|Lead 14727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014728|114728|989898|1|9999014728|MR|Test|E|Lead 14728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014729|114729|989898|1|9999014729|MR|Test|E|Lead 14729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014730|114730|989898|1|9999014730|MR|Test|E|Lead 14730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014731|114731|989898|1|9999014731|MR|Test|E|Lead 14731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014732|114732|989898|1|9999014732|MR|Test|E|Lead 14732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014733|114733|989898|1|9999014733|MR|Test|E|Lead 14733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014734|114734|989898|1|9999014734|MR|Test|E|Lead 14734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014735|114735|989898|1|9999014735|MR|Test|E|Lead 14735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014736|114736|989898|1|9999014736|MR|Test|E|Lead 14736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014737|114737|989898|1|9999014737|MR|Test|E|Lead 14737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014738|114738|989898|1|9999014738|MR|Test|E|Lead 14738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014739|114739|989898|1|9999014739|MR|Test|E|Lead 14739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014740|114740|989898|1|9999014740|MR|Test|E|Lead 14740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014741|114741|989898|1|9999014741|MR|Test|E|Lead 14741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014742|114742|989898|1|9999014742|MR|Test|E|Lead 14742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014743|114743|989898|1|9999014743|MR|Test|E|Lead 14743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014744|114744|989898|1|9999014744|MR|Test|E|Lead 14744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014745|114745|989898|1|9999014745|MR|Test|E|Lead 14745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014746|114746|989898|1|9999014746|MR|Test|E|Lead 14746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014747|114747|989898|1|9999014747|MR|Test|E|Lead 14747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014748|114748|989898|1|9999014748|MR|Test|E|Lead 14748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014749|114749|989898|1|9999014749|MR|Test|E|Lead 14749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014750|114750|989898|1|9999014750|MR|Test|E|Lead 14750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014751|114751|989898|1|9999014751|MR|Test|E|Lead 14751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014752|114752|989898|1|9999014752|MR|Test|E|Lead 14752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014753|114753|989898|1|9999014753|MR|Test|E|Lead 14753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014754|114754|989898|1|9999014754|MR|Test|E|Lead 14754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014755|114755|989898|1|9999014755|MR|Test|E|Lead 14755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014756|114756|989898|1|9999014756|MR|Test|E|Lead 14756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014757|114757|989898|1|9999014757|MR|Test|E|Lead 14757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014758|114758|989898|1|9999014758|MR|Test|E|Lead 14758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014759|114759|989898|1|9999014759|MR|Test|E|Lead 14759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014760|114760|989898|1|9999014760|MR|Test|E|Lead 14760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014761|114761|989898|1|9999014761|MR|Test|E|Lead 14761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014762|114762|989898|1|9999014762|MR|Test|E|Lead 14762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014763|114763|989898|1|9999014763|MR|Test|E|Lead 14763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014764|114764|989898|1|9999014764|MR|Test|E|Lead 14764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014765|114765|989898|1|9999014765|MR|Test|E|Lead 14765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014766|114766|989898|1|9999014766|MR|Test|E|Lead 14766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014767|114767|989898|1|9999014767|MR|Test|E|Lead 14767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014768|114768|989898|1|9999014768|MR|Test|E|Lead 14768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014769|114769|989898|1|9999014769|MR|Test|E|Lead 14769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014770|114770|989898|1|9999014770|MR|Test|E|Lead 14770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014771|114771|989898|1|9999014771|MR|Test|E|Lead 14771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014772|114772|989898|1|9999014772|MR|Test|E|Lead 14772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014773|114773|989898|1|9999014773|MR|Test|E|Lead 14773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014774|114774|989898|1|9999014774|MR|Test|E|Lead 14774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014775|114775|989898|1|9999014775|MR|Test|E|Lead 14775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014776|114776|989898|1|9999014776|MR|Test|E|Lead 14776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014777|114777|989898|1|9999014777|MR|Test|E|Lead 14777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014778|114778|989898|1|9999014778|MR|Test|E|Lead 14778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014779|114779|989898|1|9999014779|MR|Test|E|Lead 14779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014780|114780|989898|1|9999014780|MR|Test|E|Lead 14780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014781|114781|989898|1|9999014781|MR|Test|E|Lead 14781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014782|114782|989898|1|9999014782|MR|Test|E|Lead 14782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014783|114783|989898|1|9999014783|MR|Test|E|Lead 14783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014784|114784|989898|1|9999014784|MR|Test|E|Lead 14784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014785|114785|989898|1|9999014785|MR|Test|E|Lead 14785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014786|114786|989898|1|9999014786|MR|Test|E|Lead 14786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014787|114787|989898|1|9999014787|MR|Test|E|Lead 14787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014788|114788|989898|1|9999014788|MR|Test|E|Lead 14788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014789|114789|989898|1|9999014789|MR|Test|E|Lead 14789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014790|114790|989898|1|9999014790|MR|Test|E|Lead 14790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014791|114791|989898|1|9999014791|MR|Test|E|Lead 14791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014792|114792|989898|1|9999014792|MR|Test|E|Lead 14792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014793|114793|989898|1|9999014793|MR|Test|E|Lead 14793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014794|114794|989898|1|9999014794|MR|Test|E|Lead 14794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014795|114795|989898|1|9999014795|MR|Test|E|Lead 14795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014796|114796|989898|1|9999014796|MR|Test|E|Lead 14796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014797|114797|989898|1|9999014797|MR|Test|E|Lead 14797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014798|114798|989898|1|9999014798|MR|Test|E|Lead 14798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014799|114799|989898|1|9999014799|MR|Test|E|Lead 14799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014800|114800|989898|1|9999014800|MR|Test|E|Lead 14800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014801|114801|989898|1|9999014801|MR|Test|E|Lead 14801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014802|114802|989898|1|9999014802|MR|Test|E|Lead 14802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014803|114803|989898|1|9999014803|MR|Test|E|Lead 14803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014804|114804|989898|1|9999014804|MR|Test|E|Lead 14804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014805|114805|989898|1|9999014805|MR|Test|E|Lead 14805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014806|114806|989898|1|9999014806|MR|Test|E|Lead 14806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014807|114807|989898|1|9999014807|MR|Test|E|Lead 14807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014808|114808|989898|1|9999014808|MR|Test|E|Lead 14808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014809|114809|989898|1|9999014809|MR|Test|E|Lead 14809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014810|114810|989898|1|9999014810|MR|Test|E|Lead 14810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014811|114811|989898|1|9999014811|MR|Test|E|Lead 14811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014812|114812|989898|1|9999014812|MR|Test|E|Lead 14812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014813|114813|989898|1|9999014813|MR|Test|E|Lead 14813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014814|114814|989898|1|9999014814|MR|Test|E|Lead 14814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014815|114815|989898|1|9999014815|MR|Test|E|Lead 14815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014816|114816|989898|1|9999014816|MR|Test|E|Lead 14816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014817|114817|989898|1|9999014817|MR|Test|E|Lead 14817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014818|114818|989898|1|9999014818|MR|Test|E|Lead 14818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014819|114819|989898|1|9999014819|MR|Test|E|Lead 14819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014820|114820|989898|1|9999014820|MR|Test|E|Lead 14820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014821|114821|989898|1|9999014821|MR|Test|E|Lead 14821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014822|114822|989898|1|9999014822|MR|Test|E|Lead 14822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014823|114823|989898|1|9999014823|MR|Test|E|Lead 14823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014824|114824|989898|1|9999014824|MR|Test|E|Lead 14824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014825|114825|989898|1|9999014825|MR|Test|E|Lead 14825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014826|114826|989898|1|9999014826|MR|Test|E|Lead 14826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014827|114827|989898|1|9999014827|MR|Test|E|Lead 14827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014828|114828|989898|1|9999014828|MR|Test|E|Lead 14828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014829|114829|989898|1|9999014829|MR|Test|E|Lead 14829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014830|114830|989898|1|9999014830|MR|Test|E|Lead 14830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014831|114831|989898|1|9999014831|MR|Test|E|Lead 14831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014832|114832|989898|1|9999014832|MR|Test|E|Lead 14832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014833|114833|989898|1|9999014833|MR|Test|E|Lead 14833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014834|114834|989898|1|9999014834|MR|Test|E|Lead 14834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014835|114835|989898|1|9999014835|MR|Test|E|Lead 14835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014836|114836|989898|1|9999014836|MR|Test|E|Lead 14836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014837|114837|989898|1|9999014837|MR|Test|E|Lead 14837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014838|114838|989898|1|9999014838|MR|Test|E|Lead 14838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014839|114839|989898|1|9999014839|MR|Test|E|Lead 14839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014840|114840|989898|1|9999014840|MR|Test|E|Lead 14840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014841|114841|989898|1|9999014841|MR|Test|E|Lead 14841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014842|114842|989898|1|9999014842|MR|Test|E|Lead 14842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014843|114843|989898|1|9999014843|MR|Test|E|Lead 14843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014844|114844|989898|1|9999014844|MR|Test|E|Lead 14844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014845|114845|989898|1|9999014845|MR|Test|E|Lead 14845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014846|114846|989898|1|9999014846|MR|Test|E|Lead 14846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014847|114847|989898|1|9999014847|MR|Test|E|Lead 14847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014848|114848|989898|1|9999014848|MR|Test|E|Lead 14848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014849|114849|989898|1|9999014849|MR|Test|E|Lead 14849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014850|114850|989898|1|9999014850|MR|Test|E|Lead 14850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014851|114851|989898|1|9999014851|MR|Test|E|Lead 14851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014852|114852|989898|1|9999014852|MR|Test|E|Lead 14852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014853|114853|989898|1|9999014853|MR|Test|E|Lead 14853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014854|114854|989898|1|9999014854|MR|Test|E|Lead 14854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014855|114855|989898|1|9999014855|MR|Test|E|Lead 14855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014856|114856|989898|1|9999014856|MR|Test|E|Lead 14856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014857|114857|989898|1|9999014857|MR|Test|E|Lead 14857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014858|114858|989898|1|9999014858|MR|Test|E|Lead 14858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014859|114859|989898|1|9999014859|MR|Test|E|Lead 14859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014860|114860|989898|1|9999014860|MR|Test|E|Lead 14860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014861|114861|989898|1|9999014861|MR|Test|E|Lead 14861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014862|114862|989898|1|9999014862|MR|Test|E|Lead 14862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014863|114863|989898|1|9999014863|MR|Test|E|Lead 14863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014864|114864|989898|1|9999014864|MR|Test|E|Lead 14864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014865|114865|989898|1|9999014865|MR|Test|E|Lead 14865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014866|114866|989898|1|9999014866|MR|Test|E|Lead 14866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014867|114867|989898|1|9999014867|MR|Test|E|Lead 14867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014868|114868|989898|1|9999014868|MR|Test|E|Lead 14868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014869|114869|989898|1|9999014869|MR|Test|E|Lead 14869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014870|114870|989898|1|9999014870|MR|Test|E|Lead 14870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014871|114871|989898|1|9999014871|MR|Test|E|Lead 14871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014872|114872|989898|1|9999014872|MR|Test|E|Lead 14872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014873|114873|989898|1|9999014873|MR|Test|E|Lead 14873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014874|114874|989898|1|9999014874|MR|Test|E|Lead 14874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014875|114875|989898|1|9999014875|MR|Test|E|Lead 14875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014876|114876|989898|1|9999014876|MR|Test|E|Lead 14876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014877|114877|989898|1|9999014877|MR|Test|E|Lead 14877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014878|114878|989898|1|9999014878|MR|Test|E|Lead 14878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014879|114879|989898|1|9999014879|MR|Test|E|Lead 14879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014880|114880|989898|1|9999014880|MR|Test|E|Lead 14880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014881|114881|989898|1|9999014881|MR|Test|E|Lead 14881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014882|114882|989898|1|9999014882|MR|Test|E|Lead 14882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014883|114883|989898|1|9999014883|MR|Test|E|Lead 14883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014884|114884|989898|1|9999014884|MR|Test|E|Lead 14884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014885|114885|989898|1|9999014885|MR|Test|E|Lead 14885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014886|114886|989898|1|9999014886|MR|Test|E|Lead 14886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014887|114887|989898|1|9999014887|MR|Test|E|Lead 14887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014888|114888|989898|1|9999014888|MR|Test|E|Lead 14888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014889|114889|989898|1|9999014889|MR|Test|E|Lead 14889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014890|114890|989898|1|9999014890|MR|Test|E|Lead 14890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014891|114891|989898|1|9999014891|MR|Test|E|Lead 14891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014892|114892|989898|1|9999014892|MR|Test|E|Lead 14892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014893|114893|989898|1|9999014893|MR|Test|E|Lead 14893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014894|114894|989898|1|9999014894|MR|Test|E|Lead 14894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014895|114895|989898|1|9999014895|MR|Test|E|Lead 14895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014896|114896|989898|1|9999014896|MR|Test|E|Lead 14896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014897|114897|989898|1|9999014897|MR|Test|E|Lead 14897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014898|114898|989898|1|9999014898|MR|Test|E|Lead 14898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014899|114899|989898|1|9999014899|MR|Test|E|Lead 14899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014900|114900|989898|1|9999014900|MR|Test|E|Lead 14900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014901|114901|989898|1|9999014901|MR|Test|E|Lead 14901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014902|114902|989898|1|9999014902|MR|Test|E|Lead 14902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014903|114903|989898|1|9999014903|MR|Test|E|Lead 14903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014904|114904|989898|1|9999014904|MR|Test|E|Lead 14904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014905|114905|989898|1|9999014905|MR|Test|E|Lead 14905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014906|114906|989898|1|9999014906|MR|Test|E|Lead 14906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014907|114907|989898|1|9999014907|MR|Test|E|Lead 14907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014908|114908|989898|1|9999014908|MR|Test|E|Lead 14908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014909|114909|989898|1|9999014909|MR|Test|E|Lead 14909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014910|114910|989898|1|9999014910|MR|Test|E|Lead 14910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014911|114911|989898|1|9999014911|MR|Test|E|Lead 14911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014912|114912|989898|1|9999014912|MR|Test|E|Lead 14912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014913|114913|989898|1|9999014913|MR|Test|E|Lead 14913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014914|114914|989898|1|9999014914|MR|Test|E|Lead 14914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014915|114915|989898|1|9999014915|MR|Test|E|Lead 14915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014916|114916|989898|1|9999014916|MR|Test|E|Lead 14916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014917|114917|989898|1|9999014917|MR|Test|E|Lead 14917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014918|114918|989898|1|9999014918|MR|Test|E|Lead 14918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014919|114919|989898|1|9999014919|MR|Test|E|Lead 14919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014920|114920|989898|1|9999014920|MR|Test|E|Lead 14920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014921|114921|989898|1|9999014921|MR|Test|E|Lead 14921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014922|114922|989898|1|9999014922|MR|Test|E|Lead 14922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014923|114923|989898|1|9999014923|MR|Test|E|Lead 14923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014924|114924|989898|1|9999014924|MR|Test|E|Lead 14924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014925|114925|989898|1|9999014925|MR|Test|E|Lead 14925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014926|114926|989898|1|9999014926|MR|Test|E|Lead 14926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014927|114927|989898|1|9999014927|MR|Test|E|Lead 14927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014928|114928|989898|1|9999014928|MR|Test|E|Lead 14928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014929|114929|989898|1|9999014929|MR|Test|E|Lead 14929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014930|114930|989898|1|9999014930|MR|Test|E|Lead 14930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014931|114931|989898|1|9999014931|MR|Test|E|Lead 14931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014932|114932|989898|1|9999014932|MR|Test|E|Lead 14932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014933|114933|989898|1|9999014933|MR|Test|E|Lead 14933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014934|114934|989898|1|9999014934|MR|Test|E|Lead 14934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014935|114935|989898|1|9999014935|MR|Test|E|Lead 14935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014936|114936|989898|1|9999014936|MR|Test|E|Lead 14936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014937|114937|989898|1|9999014937|MR|Test|E|Lead 14937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014938|114938|989898|1|9999014938|MR|Test|E|Lead 14938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014939|114939|989898|1|9999014939|MR|Test|E|Lead 14939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014940|114940|989898|1|9999014940|MR|Test|E|Lead 14940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014941|114941|989898|1|9999014941|MR|Test|E|Lead 14941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014942|114942|989898|1|9999014942|MR|Test|E|Lead 14942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014943|114943|989898|1|9999014943|MR|Test|E|Lead 14943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014944|114944|989898|1|9999014944|MR|Test|E|Lead 14944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014945|114945|989898|1|9999014945|MR|Test|E|Lead 14945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014946|114946|989898|1|9999014946|MR|Test|E|Lead 14946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014947|114947|989898|1|9999014947|MR|Test|E|Lead 14947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014948|114948|989898|1|9999014948|MR|Test|E|Lead 14948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014949|114949|989898|1|9999014949|MR|Test|E|Lead 14949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014950|114950|989898|1|9999014950|MR|Test|E|Lead 14950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014951|114951|989898|1|9999014951|MR|Test|E|Lead 14951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014952|114952|989898|1|9999014952|MR|Test|E|Lead 14952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014953|114953|989898|1|9999014953|MR|Test|E|Lead 14953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014954|114954|989898|1|9999014954|MR|Test|E|Lead 14954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014955|114955|989898|1|9999014955|MR|Test|E|Lead 14955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014956|114956|989898|1|9999014956|MR|Test|E|Lead 14956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014957|114957|989898|1|9999014957|MR|Test|E|Lead 14957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014958|114958|989898|1|9999014958|MR|Test|E|Lead 14958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014959|114959|989898|1|9999014959|MR|Test|E|Lead 14959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014960|114960|989898|1|9999014960|MR|Test|E|Lead 14960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014961|114961|989898|1|9999014961|MR|Test|E|Lead 14961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014962|114962|989898|1|9999014962|MR|Test|E|Lead 14962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014963|114963|989898|1|9999014963|MR|Test|E|Lead 14963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014964|114964|989898|1|9999014964|MR|Test|E|Lead 14964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014965|114965|989898|1|9999014965|MR|Test|E|Lead 14965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014966|114966|989898|1|9999014966|MR|Test|E|Lead 14966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014967|114967|989898|1|9999014967|MR|Test|E|Lead 14967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014968|114968|989898|1|9999014968|MR|Test|E|Lead 14968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014969|114969|989898|1|9999014969|MR|Test|E|Lead 14969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014970|114970|989898|1|9999014970|MR|Test|E|Lead 14970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014971|114971|989898|1|9999014971|MR|Test|E|Lead 14971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014972|114972|989898|1|9999014972|MR|Test|E|Lead 14972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014973|114973|989898|1|9999014973|MR|Test|E|Lead 14973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014974|114974|989898|1|9999014974|MR|Test|E|Lead 14974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014975|114975|989898|1|9999014975|MR|Test|E|Lead 14975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014976|114976|989898|1|9999014976|MR|Test|E|Lead 14976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014977|114977|989898|1|9999014977|MR|Test|E|Lead 14977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014978|114978|989898|1|9999014978|MR|Test|E|Lead 14978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014979|114979|989898|1|9999014979|MR|Test|E|Lead 14979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014980|114980|989898|1|9999014980|MR|Test|E|Lead 14980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014981|114981|989898|1|9999014981|MR|Test|E|Lead 14981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014982|114982|989898|1|9999014982|MR|Test|E|Lead 14982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014983|114983|989898|1|9999014983|MR|Test|E|Lead 14983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014984|114984|989898|1|9999014984|MR|Test|E|Lead 14984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014985|114985|989898|1|9999014985|MR|Test|E|Lead 14985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014986|114986|989898|1|9999014986|MR|Test|E|Lead 14986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014987|114987|989898|1|9999014987|MR|Test|E|Lead 14987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014988|114988|989898|1|9999014988|MR|Test|E|Lead 14988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014989|114989|989898|1|9999014989|MR|Test|E|Lead 14989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014990|114990|989898|1|9999014990|MR|Test|E|Lead 14990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014991|114991|989898|1|9999014991|MR|Test|E|Lead 14991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014992|114992|989898|1|9999014992|MR|Test|E|Lead 14992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014993|114993|989898|1|9999014993|MR|Test|E|Lead 14993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014994|114994|989898|1|9999014994|MR|Test|E|Lead 14994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014995|114995|989898|1|9999014995|MR|Test|E|Lead 14995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014996|114996|989898|1|9999014996|MR|Test|E|Lead 14996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014997|114997|989898|1|9999014997|MR|Test|E|Lead 14997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014998|114998|989898|1|9999014998|MR|Test|E|Lead 14998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1014999|114999|989898|1|9999014999|MR|Test|E|Lead 14999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015000|115000|989898|1|9999015000|MR|Test|E|Lead 15000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015001|115001|989898|1|9999015001|MR|Test|E|Lead 15001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015002|115002|989898|1|9999015002|MR|Test|E|Lead 15002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015003|115003|989898|1|9999015003|MR|Test|E|Lead 15003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015004|115004|989898|1|9999015004|MR|Test|E|Lead 15004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015005|115005|989898|1|9999015005|MR|Test|E|Lead 15005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015006|115006|989898|1|9999015006|MR|Test|E|Lead 15006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015007|115007|989898|1|9999015007|MR|Test|E|Lead 15007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015008|115008|989898|1|9999015008|MR|Test|E|Lead 15008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015009|115009|989898|1|9999015009|MR|Test|E|Lead 15009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015010|115010|989898|1|9999015010|MR|Test|E|Lead 15010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015011|115011|989898|1|9999015011|MR|Test|E|Lead 15011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015012|115012|989898|1|9999015012|MR|Test|E|Lead 15012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015013|115013|989898|1|9999015013|MR|Test|E|Lead 15013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015014|115014|989898|1|9999015014|MR|Test|E|Lead 15014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015015|115015|989898|1|9999015015|MR|Test|E|Lead 15015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015016|115016|989898|1|9999015016|MR|Test|E|Lead 15016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015017|115017|989898|1|9999015017|MR|Test|E|Lead 15017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015018|115018|989898|1|9999015018|MR|Test|E|Lead 15018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015019|115019|989898|1|9999015019|MR|Test|E|Lead 15019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015020|115020|989898|1|9999015020|MR|Test|E|Lead 15020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015021|115021|989898|1|9999015021|MR|Test|E|Lead 15021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015022|115022|989898|1|9999015022|MR|Test|E|Lead 15022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015023|115023|989898|1|9999015023|MR|Test|E|Lead 15023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015024|115024|989898|1|9999015024|MR|Test|E|Lead 15024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015025|115025|989898|1|9999015025|MR|Test|E|Lead 15025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015026|115026|989898|1|9999015026|MR|Test|E|Lead 15026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015027|115027|989898|1|9999015027|MR|Test|E|Lead 15027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015028|115028|989898|1|9999015028|MR|Test|E|Lead 15028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015029|115029|989898|1|9999015029|MR|Test|E|Lead 15029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015030|115030|989898|1|9999015030|MR|Test|E|Lead 15030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015031|115031|989898|1|9999015031|MR|Test|E|Lead 15031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015032|115032|989898|1|9999015032|MR|Test|E|Lead 15032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015033|115033|989898|1|9999015033|MR|Test|E|Lead 15033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015034|115034|989898|1|9999015034|MR|Test|E|Lead 15034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015035|115035|989898|1|9999015035|MR|Test|E|Lead 15035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015036|115036|989898|1|9999015036|MR|Test|E|Lead 15036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015037|115037|989898|1|9999015037|MR|Test|E|Lead 15037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015038|115038|989898|1|9999015038|MR|Test|E|Lead 15038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015039|115039|989898|1|9999015039|MR|Test|E|Lead 15039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015040|115040|989898|1|9999015040|MR|Test|E|Lead 15040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015041|115041|989898|1|9999015041|MR|Test|E|Lead 15041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015042|115042|989898|1|9999015042|MR|Test|E|Lead 15042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015043|115043|989898|1|9999015043|MR|Test|E|Lead 15043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015044|115044|989898|1|9999015044|MR|Test|E|Lead 15044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015045|115045|989898|1|9999015045|MR|Test|E|Lead 15045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015046|115046|989898|1|9999015046|MR|Test|E|Lead 15046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015047|115047|989898|1|9999015047|MR|Test|E|Lead 15047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015048|115048|989898|1|9999015048|MR|Test|E|Lead 15048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015049|115049|989898|1|9999015049|MR|Test|E|Lead 15049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015050|115050|989898|1|9999015050|MR|Test|E|Lead 15050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015051|115051|989898|1|9999015051|MR|Test|E|Lead 15051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015052|115052|989898|1|9999015052|MR|Test|E|Lead 15052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015053|115053|989898|1|9999015053|MR|Test|E|Lead 15053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015054|115054|989898|1|9999015054|MR|Test|E|Lead 15054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015055|115055|989898|1|9999015055|MR|Test|E|Lead 15055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015056|115056|989898|1|9999015056|MR|Test|E|Lead 15056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015057|115057|989898|1|9999015057|MR|Test|E|Lead 15057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015058|115058|989898|1|9999015058|MR|Test|E|Lead 15058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015059|115059|989898|1|9999015059|MR|Test|E|Lead 15059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015060|115060|989898|1|9999015060|MR|Test|E|Lead 15060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015061|115061|989898|1|9999015061|MR|Test|E|Lead 15061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015062|115062|989898|1|9999015062|MR|Test|E|Lead 15062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015063|115063|989898|1|9999015063|MR|Test|E|Lead 15063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015064|115064|989898|1|9999015064|MR|Test|E|Lead 15064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015065|115065|989898|1|9999015065|MR|Test|E|Lead 15065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015066|115066|989898|1|9999015066|MR|Test|E|Lead 15066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015067|115067|989898|1|9999015067|MR|Test|E|Lead 15067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015068|115068|989898|1|9999015068|MR|Test|E|Lead 15068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015069|115069|989898|1|9999015069|MR|Test|E|Lead 15069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015070|115070|989898|1|9999015070|MR|Test|E|Lead 15070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015071|115071|989898|1|9999015071|MR|Test|E|Lead 15071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015072|115072|989898|1|9999015072|MR|Test|E|Lead 15072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015073|115073|989898|1|9999015073|MR|Test|E|Lead 15073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015074|115074|989898|1|9999015074|MR|Test|E|Lead 15074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015075|115075|989898|1|9999015075|MR|Test|E|Lead 15075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015076|115076|989898|1|9999015076|MR|Test|E|Lead 15076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015077|115077|989898|1|9999015077|MR|Test|E|Lead 15077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015078|115078|989898|1|9999015078|MR|Test|E|Lead 15078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015079|115079|989898|1|9999015079|MR|Test|E|Lead 15079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015080|115080|989898|1|9999015080|MR|Test|E|Lead 15080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015081|115081|989898|1|9999015081|MR|Test|E|Lead 15081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015082|115082|989898|1|9999015082|MR|Test|E|Lead 15082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015083|115083|989898|1|9999015083|MR|Test|E|Lead 15083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015084|115084|989898|1|9999015084|MR|Test|E|Lead 15084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015085|115085|989898|1|9999015085|MR|Test|E|Lead 15085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015086|115086|989898|1|9999015086|MR|Test|E|Lead 15086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015087|115087|989898|1|9999015087|MR|Test|E|Lead 15087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015088|115088|989898|1|9999015088|MR|Test|E|Lead 15088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015089|115089|989898|1|9999015089|MR|Test|E|Lead 15089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015090|115090|989898|1|9999015090|MR|Test|E|Lead 15090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015091|115091|989898|1|9999015091|MR|Test|E|Lead 15091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015092|115092|989898|1|9999015092|MR|Test|E|Lead 15092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015093|115093|989898|1|9999015093|MR|Test|E|Lead 15093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015094|115094|989898|1|9999015094|MR|Test|E|Lead 15094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015095|115095|989898|1|9999015095|MR|Test|E|Lead 15095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015096|115096|989898|1|9999015096|MR|Test|E|Lead 15096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015097|115097|989898|1|9999015097|MR|Test|E|Lead 15097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015098|115098|989898|1|9999015098|MR|Test|E|Lead 15098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015099|115099|989898|1|9999015099|MR|Test|E|Lead 15099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015100|115100|989898|1|9999015100|MR|Test|E|Lead 15100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015101|115101|989898|1|9999015101|MR|Test|E|Lead 15101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015102|115102|989898|1|9999015102|MR|Test|E|Lead 15102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015103|115103|989898|1|9999015103|MR|Test|E|Lead 15103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015104|115104|989898|1|9999015104|MR|Test|E|Lead 15104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015105|115105|989898|1|9999015105|MR|Test|E|Lead 15105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015106|115106|989898|1|9999015106|MR|Test|E|Lead 15106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015107|115107|989898|1|9999015107|MR|Test|E|Lead 15107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015108|115108|989898|1|9999015108|MR|Test|E|Lead 15108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015109|115109|989898|1|9999015109|MR|Test|E|Lead 15109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015110|115110|989898|1|9999015110|MR|Test|E|Lead 15110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015111|115111|989898|1|9999015111|MR|Test|E|Lead 15111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015112|115112|989898|1|9999015112|MR|Test|E|Lead 15112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015113|115113|989898|1|9999015113|MR|Test|E|Lead 15113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015114|115114|989898|1|9999015114|MR|Test|E|Lead 15114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015115|115115|989898|1|9999015115|MR|Test|E|Lead 15115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015116|115116|989898|1|9999015116|MR|Test|E|Lead 15116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015117|115117|989898|1|9999015117|MR|Test|E|Lead 15117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015118|115118|989898|1|9999015118|MR|Test|E|Lead 15118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015119|115119|989898|1|9999015119|MR|Test|E|Lead 15119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015120|115120|989898|1|9999015120|MR|Test|E|Lead 15120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015121|115121|989898|1|9999015121|MR|Test|E|Lead 15121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015122|115122|989898|1|9999015122|MR|Test|E|Lead 15122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015123|115123|989898|1|9999015123|MR|Test|E|Lead 15123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015124|115124|989898|1|9999015124|MR|Test|E|Lead 15124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015125|115125|989898|1|9999015125|MR|Test|E|Lead 15125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015126|115126|989898|1|9999015126|MR|Test|E|Lead 15126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015127|115127|989898|1|9999015127|MR|Test|E|Lead 15127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015128|115128|989898|1|9999015128|MR|Test|E|Lead 15128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015129|115129|989898|1|9999015129|MR|Test|E|Lead 15129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015130|115130|989898|1|9999015130|MR|Test|E|Lead 15130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015131|115131|989898|1|9999015131|MR|Test|E|Lead 15131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015132|115132|989898|1|9999015132|MR|Test|E|Lead 15132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015133|115133|989898|1|9999015133|MR|Test|E|Lead 15133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015134|115134|989898|1|9999015134|MR|Test|E|Lead 15134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015135|115135|989898|1|9999015135|MR|Test|E|Lead 15135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015136|115136|989898|1|9999015136|MR|Test|E|Lead 15136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015137|115137|989898|1|9999015137|MR|Test|E|Lead 15137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015138|115138|989898|1|9999015138|MR|Test|E|Lead 15138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015139|115139|989898|1|9999015139|MR|Test|E|Lead 15139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015140|115140|989898|1|9999015140|MR|Test|E|Lead 15140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015141|115141|989898|1|9999015141|MR|Test|E|Lead 15141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015142|115142|989898|1|9999015142|MR|Test|E|Lead 15142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015143|115143|989898|1|9999015143|MR|Test|E|Lead 15143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015144|115144|989898|1|9999015144|MR|Test|E|Lead 15144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015145|115145|989898|1|9999015145|MR|Test|E|Lead 15145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015146|115146|989898|1|9999015146|MR|Test|E|Lead 15146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015147|115147|989898|1|9999015147|MR|Test|E|Lead 15147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015148|115148|989898|1|9999015148|MR|Test|E|Lead 15148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015149|115149|989898|1|9999015149|MR|Test|E|Lead 15149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015150|115150|989898|1|9999015150|MR|Test|E|Lead 15150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015151|115151|989898|1|9999015151|MR|Test|E|Lead 15151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015152|115152|989898|1|9999015152|MR|Test|E|Lead 15152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015153|115153|989898|1|9999015153|MR|Test|E|Lead 15153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015154|115154|989898|1|9999015154|MR|Test|E|Lead 15154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015155|115155|989898|1|9999015155|MR|Test|E|Lead 15155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015156|115156|989898|1|9999015156|MR|Test|E|Lead 15156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015157|115157|989898|1|9999015157|MR|Test|E|Lead 15157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015158|115158|989898|1|9999015158|MR|Test|E|Lead 15158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015159|115159|989898|1|9999015159|MR|Test|E|Lead 15159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015160|115160|989898|1|9999015160|MR|Test|E|Lead 15160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015161|115161|989898|1|9999015161|MR|Test|E|Lead 15161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015162|115162|989898|1|9999015162|MR|Test|E|Lead 15162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015163|115163|989898|1|9999015163|MR|Test|E|Lead 15163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015164|115164|989898|1|9999015164|MR|Test|E|Lead 15164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015165|115165|989898|1|9999015165|MR|Test|E|Lead 15165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015166|115166|989898|1|9999015166|MR|Test|E|Lead 15166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015167|115167|989898|1|9999015167|MR|Test|E|Lead 15167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015168|115168|989898|1|9999015168|MR|Test|E|Lead 15168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015169|115169|989898|1|9999015169|MR|Test|E|Lead 15169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015170|115170|989898|1|9999015170|MR|Test|E|Lead 15170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015171|115171|989898|1|9999015171|MR|Test|E|Lead 15171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015172|115172|989898|1|9999015172|MR|Test|E|Lead 15172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015173|115173|989898|1|9999015173|MR|Test|E|Lead 15173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015174|115174|989898|1|9999015174|MR|Test|E|Lead 15174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015175|115175|989898|1|9999015175|MR|Test|E|Lead 15175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015176|115176|989898|1|9999015176|MR|Test|E|Lead 15176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015177|115177|989898|1|9999015177|MR|Test|E|Lead 15177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015178|115178|989898|1|9999015178|MR|Test|E|Lead 15178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015179|115179|989898|1|9999015179|MR|Test|E|Lead 15179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015180|115180|989898|1|9999015180|MR|Test|E|Lead 15180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015181|115181|989898|1|9999015181|MR|Test|E|Lead 15181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015182|115182|989898|1|9999015182|MR|Test|E|Lead 15182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015183|115183|989898|1|9999015183|MR|Test|E|Lead 15183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015184|115184|989898|1|9999015184|MR|Test|E|Lead 15184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015185|115185|989898|1|9999015185|MR|Test|E|Lead 15185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015186|115186|989898|1|9999015186|MR|Test|E|Lead 15186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015187|115187|989898|1|9999015187|MR|Test|E|Lead 15187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015188|115188|989898|1|9999015188|MR|Test|E|Lead 15188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015189|115189|989898|1|9999015189|MR|Test|E|Lead 15189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015190|115190|989898|1|9999015190|MR|Test|E|Lead 15190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015191|115191|989898|1|9999015191|MR|Test|E|Lead 15191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015192|115192|989898|1|9999015192|MR|Test|E|Lead 15192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015193|115193|989898|1|9999015193|MR|Test|E|Lead 15193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015194|115194|989898|1|9999015194|MR|Test|E|Lead 15194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015195|115195|989898|1|9999015195|MR|Test|E|Lead 15195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015196|115196|989898|1|9999015196|MR|Test|E|Lead 15196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015197|115197|989898|1|9999015197|MR|Test|E|Lead 15197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015198|115198|989898|1|9999015198|MR|Test|E|Lead 15198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015199|115199|989898|1|9999015199|MR|Test|E|Lead 15199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015200|115200|989898|1|9999015200|MR|Test|E|Lead 15200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015201|115201|989898|1|9999015201|MR|Test|E|Lead 15201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015202|115202|989898|1|9999015202|MR|Test|E|Lead 15202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015203|115203|989898|1|9999015203|MR|Test|E|Lead 15203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015204|115204|989898|1|9999015204|MR|Test|E|Lead 15204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015205|115205|989898|1|9999015205|MR|Test|E|Lead 15205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015206|115206|989898|1|9999015206|MR|Test|E|Lead 15206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015207|115207|989898|1|9999015207|MR|Test|E|Lead 15207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015208|115208|989898|1|9999015208|MR|Test|E|Lead 15208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015209|115209|989898|1|9999015209|MR|Test|E|Lead 15209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015210|115210|989898|1|9999015210|MR|Test|E|Lead 15210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015211|115211|989898|1|9999015211|MR|Test|E|Lead 15211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015212|115212|989898|1|9999015212|MR|Test|E|Lead 15212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015213|115213|989898|1|9999015213|MR|Test|E|Lead 15213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015214|115214|989898|1|9999015214|MR|Test|E|Lead 15214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015215|115215|989898|1|9999015215|MR|Test|E|Lead 15215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015216|115216|989898|1|9999015216|MR|Test|E|Lead 15216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015217|115217|989898|1|9999015217|MR|Test|E|Lead 15217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015218|115218|989898|1|9999015218|MR|Test|E|Lead 15218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015219|115219|989898|1|9999015219|MR|Test|E|Lead 15219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015220|115220|989898|1|9999015220|MR|Test|E|Lead 15220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015221|115221|989898|1|9999015221|MR|Test|E|Lead 15221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015222|115222|989898|1|9999015222|MR|Test|E|Lead 15222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015223|115223|989898|1|9999015223|MR|Test|E|Lead 15223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015224|115224|989898|1|9999015224|MR|Test|E|Lead 15224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015225|115225|989898|1|9999015225|MR|Test|E|Lead 15225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015226|115226|989898|1|9999015226|MR|Test|E|Lead 15226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015227|115227|989898|1|9999015227|MR|Test|E|Lead 15227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015228|115228|989898|1|9999015228|MR|Test|E|Lead 15228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015229|115229|989898|1|9999015229|MR|Test|E|Lead 15229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015230|115230|989898|1|9999015230|MR|Test|E|Lead 15230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015231|115231|989898|1|9999015231|MR|Test|E|Lead 15231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015232|115232|989898|1|9999015232|MR|Test|E|Lead 15232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015233|115233|989898|1|9999015233|MR|Test|E|Lead 15233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015234|115234|989898|1|9999015234|MR|Test|E|Lead 15234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015235|115235|989898|1|9999015235|MR|Test|E|Lead 15235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015236|115236|989898|1|9999015236|MR|Test|E|Lead 15236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015237|115237|989898|1|9999015237|MR|Test|E|Lead 15237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015238|115238|989898|1|9999015238|MR|Test|E|Lead 15238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015239|115239|989898|1|9999015239|MR|Test|E|Lead 15239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015240|115240|989898|1|9999015240|MR|Test|E|Lead 15240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015241|115241|989898|1|9999015241|MR|Test|E|Lead 15241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015242|115242|989898|1|9999015242|MR|Test|E|Lead 15242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015243|115243|989898|1|9999015243|MR|Test|E|Lead 15243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015244|115244|989898|1|9999015244|MR|Test|E|Lead 15244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015245|115245|989898|1|9999015245|MR|Test|E|Lead 15245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015246|115246|989898|1|9999015246|MR|Test|E|Lead 15246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015247|115247|989898|1|9999015247|MR|Test|E|Lead 15247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015248|115248|989898|1|9999015248|MR|Test|E|Lead 15248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015249|115249|989898|1|9999015249|MR|Test|E|Lead 15249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015250|115250|989898|1|9999015250|MR|Test|E|Lead 15250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015251|115251|989898|1|9999015251|MR|Test|E|Lead 15251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015252|115252|989898|1|9999015252|MR|Test|E|Lead 15252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015253|115253|989898|1|9999015253|MR|Test|E|Lead 15253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015254|115254|989898|1|9999015254|MR|Test|E|Lead 15254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015255|115255|989898|1|9999015255|MR|Test|E|Lead 15255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015256|115256|989898|1|9999015256|MR|Test|E|Lead 15256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015257|115257|989898|1|9999015257|MR|Test|E|Lead 15257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015258|115258|989898|1|9999015258|MR|Test|E|Lead 15258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015259|115259|989898|1|9999015259|MR|Test|E|Lead 15259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015260|115260|989898|1|9999015260|MR|Test|E|Lead 15260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015261|115261|989898|1|9999015261|MR|Test|E|Lead 15261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015262|115262|989898|1|9999015262|MR|Test|E|Lead 15262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015263|115263|989898|1|9999015263|MR|Test|E|Lead 15263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015264|115264|989898|1|9999015264|MR|Test|E|Lead 15264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015265|115265|989898|1|9999015265|MR|Test|E|Lead 15265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015266|115266|989898|1|9999015266|MR|Test|E|Lead 15266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015267|115267|989898|1|9999015267|MR|Test|E|Lead 15267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015268|115268|989898|1|9999015268|MR|Test|E|Lead 15268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015269|115269|989898|1|9999015269|MR|Test|E|Lead 15269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015270|115270|989898|1|9999015270|MR|Test|E|Lead 15270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015271|115271|989898|1|9999015271|MR|Test|E|Lead 15271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015272|115272|989898|1|9999015272|MR|Test|E|Lead 15272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015273|115273|989898|1|9999015273|MR|Test|E|Lead 15273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015274|115274|989898|1|9999015274|MR|Test|E|Lead 15274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015275|115275|989898|1|9999015275|MR|Test|E|Lead 15275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015276|115276|989898|1|9999015276|MR|Test|E|Lead 15276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015277|115277|989898|1|9999015277|MR|Test|E|Lead 15277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015278|115278|989898|1|9999015278|MR|Test|E|Lead 15278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015279|115279|989898|1|9999015279|MR|Test|E|Lead 15279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015280|115280|989898|1|9999015280|MR|Test|E|Lead 15280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015281|115281|989898|1|9999015281|MR|Test|E|Lead 15281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015282|115282|989898|1|9999015282|MR|Test|E|Lead 15282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015283|115283|989898|1|9999015283|MR|Test|E|Lead 15283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015284|115284|989898|1|9999015284|MR|Test|E|Lead 15284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015285|115285|989898|1|9999015285|MR|Test|E|Lead 15285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015286|115286|989898|1|9999015286|MR|Test|E|Lead 15286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015287|115287|989898|1|9999015287|MR|Test|E|Lead 15287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015288|115288|989898|1|9999015288|MR|Test|E|Lead 15288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015289|115289|989898|1|9999015289|MR|Test|E|Lead 15289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015290|115290|989898|1|9999015290|MR|Test|E|Lead 15290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015291|115291|989898|1|9999015291|MR|Test|E|Lead 15291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015292|115292|989898|1|9999015292|MR|Test|E|Lead 15292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015293|115293|989898|1|9999015293|MR|Test|E|Lead 15293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015294|115294|989898|1|9999015294|MR|Test|E|Lead 15294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015295|115295|989898|1|9999015295|MR|Test|E|Lead 15295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015296|115296|989898|1|9999015296|MR|Test|E|Lead 15296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015297|115297|989898|1|9999015297|MR|Test|E|Lead 15297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015298|115298|989898|1|9999015298|MR|Test|E|Lead 15298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015299|115299|989898|1|9999015299|MR|Test|E|Lead 15299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015300|115300|989898|1|9999015300|MR|Test|E|Lead 15300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015301|115301|989898|1|9999015301|MR|Test|E|Lead 15301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015302|115302|989898|1|9999015302|MR|Test|E|Lead 15302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015303|115303|989898|1|9999015303|MR|Test|E|Lead 15303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015304|115304|989898|1|9999015304|MR|Test|E|Lead 15304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015305|115305|989898|1|9999015305|MR|Test|E|Lead 15305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015306|115306|989898|1|9999015306|MR|Test|E|Lead 15306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015307|115307|989898|1|9999015307|MR|Test|E|Lead 15307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015308|115308|989898|1|9999015308|MR|Test|E|Lead 15308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015309|115309|989898|1|9999015309|MR|Test|E|Lead 15309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015310|115310|989898|1|9999015310|MR|Test|E|Lead 15310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015311|115311|989898|1|9999015311|MR|Test|E|Lead 15311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015312|115312|989898|1|9999015312|MR|Test|E|Lead 15312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015313|115313|989898|1|9999015313|MR|Test|E|Lead 15313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015314|115314|989898|1|9999015314|MR|Test|E|Lead 15314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015315|115315|989898|1|9999015315|MR|Test|E|Lead 15315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015316|115316|989898|1|9999015316|MR|Test|E|Lead 15316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015317|115317|989898|1|9999015317|MR|Test|E|Lead 15317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015318|115318|989898|1|9999015318|MR|Test|E|Lead 15318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015319|115319|989898|1|9999015319|MR|Test|E|Lead 15319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015320|115320|989898|1|9999015320|MR|Test|E|Lead 15320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015321|115321|989898|1|9999015321|MR|Test|E|Lead 15321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015322|115322|989898|1|9999015322|MR|Test|E|Lead 15322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015323|115323|989898|1|9999015323|MR|Test|E|Lead 15323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015324|115324|989898|1|9999015324|MR|Test|E|Lead 15324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015325|115325|989898|1|9999015325|MR|Test|E|Lead 15325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015326|115326|989898|1|9999015326|MR|Test|E|Lead 15326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015327|115327|989898|1|9999015327|MR|Test|E|Lead 15327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015328|115328|989898|1|9999015328|MR|Test|E|Lead 15328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015329|115329|989898|1|9999015329|MR|Test|E|Lead 15329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015330|115330|989898|1|9999015330|MR|Test|E|Lead 15330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015331|115331|989898|1|9999015331|MR|Test|E|Lead 15331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015332|115332|989898|1|9999015332|MR|Test|E|Lead 15332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015333|115333|989898|1|9999015333|MR|Test|E|Lead 15333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015334|115334|989898|1|9999015334|MR|Test|E|Lead 15334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015335|115335|989898|1|9999015335|MR|Test|E|Lead 15335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015336|115336|989898|1|9999015336|MR|Test|E|Lead 15336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015337|115337|989898|1|9999015337|MR|Test|E|Lead 15337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015338|115338|989898|1|9999015338|MR|Test|E|Lead 15338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015339|115339|989898|1|9999015339|MR|Test|E|Lead 15339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015340|115340|989898|1|9999015340|MR|Test|E|Lead 15340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015341|115341|989898|1|9999015341|MR|Test|E|Lead 15341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015342|115342|989898|1|9999015342|MR|Test|E|Lead 15342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015343|115343|989898|1|9999015343|MR|Test|E|Lead 15343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015344|115344|989898|1|9999015344|MR|Test|E|Lead 15344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015345|115345|989898|1|9999015345|MR|Test|E|Lead 15345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015346|115346|989898|1|9999015346|MR|Test|E|Lead 15346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015347|115347|989898|1|9999015347|MR|Test|E|Lead 15347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015348|115348|989898|1|9999015348|MR|Test|E|Lead 15348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015349|115349|989898|1|9999015349|MR|Test|E|Lead 15349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015350|115350|989898|1|9999015350|MR|Test|E|Lead 15350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015351|115351|989898|1|9999015351|MR|Test|E|Lead 15351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015352|115352|989898|1|9999015352|MR|Test|E|Lead 15352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015353|115353|989898|1|9999015353|MR|Test|E|Lead 15353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015354|115354|989898|1|9999015354|MR|Test|E|Lead 15354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015355|115355|989898|1|9999015355|MR|Test|E|Lead 15355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015356|115356|989898|1|9999015356|MR|Test|E|Lead 15356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015357|115357|989898|1|9999015357|MR|Test|E|Lead 15357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015358|115358|989898|1|9999015358|MR|Test|E|Lead 15358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015359|115359|989898|1|9999015359|MR|Test|E|Lead 15359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015360|115360|989898|1|9999015360|MR|Test|E|Lead 15360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015361|115361|989898|1|9999015361|MR|Test|E|Lead 15361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015362|115362|989898|1|9999015362|MR|Test|E|Lead 15362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015363|115363|989898|1|9999015363|MR|Test|E|Lead 15363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015364|115364|989898|1|9999015364|MR|Test|E|Lead 15364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015365|115365|989898|1|9999015365|MR|Test|E|Lead 15365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015366|115366|989898|1|9999015366|MR|Test|E|Lead 15366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015367|115367|989898|1|9999015367|MR|Test|E|Lead 15367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015368|115368|989898|1|9999015368|MR|Test|E|Lead 15368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015369|115369|989898|1|9999015369|MR|Test|E|Lead 15369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015370|115370|989898|1|9999015370|MR|Test|E|Lead 15370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015371|115371|989898|1|9999015371|MR|Test|E|Lead 15371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015372|115372|989898|1|9999015372|MR|Test|E|Lead 15372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015373|115373|989898|1|9999015373|MR|Test|E|Lead 15373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015374|115374|989898|1|9999015374|MR|Test|E|Lead 15374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015375|115375|989898|1|9999015375|MR|Test|E|Lead 15375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015376|115376|989898|1|9999015376|MR|Test|E|Lead 15376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015377|115377|989898|1|9999015377|MR|Test|E|Lead 15377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015378|115378|989898|1|9999015378|MR|Test|E|Lead 15378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015379|115379|989898|1|9999015379|MR|Test|E|Lead 15379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015380|115380|989898|1|9999015380|MR|Test|E|Lead 15380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015381|115381|989898|1|9999015381|MR|Test|E|Lead 15381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015382|115382|989898|1|9999015382|MR|Test|E|Lead 15382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015383|115383|989898|1|9999015383|MR|Test|E|Lead 15383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015384|115384|989898|1|9999015384|MR|Test|E|Lead 15384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015385|115385|989898|1|9999015385|MR|Test|E|Lead 15385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015386|115386|989898|1|9999015386|MR|Test|E|Lead 15386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015387|115387|989898|1|9999015387|MR|Test|E|Lead 15387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015388|115388|989898|1|9999015388|MR|Test|E|Lead 15388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015389|115389|989898|1|9999015389|MR|Test|E|Lead 15389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015390|115390|989898|1|9999015390|MR|Test|E|Lead 15390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015391|115391|989898|1|9999015391|MR|Test|E|Lead 15391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015392|115392|989898|1|9999015392|MR|Test|E|Lead 15392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015393|115393|989898|1|9999015393|MR|Test|E|Lead 15393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015394|115394|989898|1|9999015394|MR|Test|E|Lead 15394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015395|115395|989898|1|9999015395|MR|Test|E|Lead 15395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015396|115396|989898|1|9999015396|MR|Test|E|Lead 15396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015397|115397|989898|1|9999015397|MR|Test|E|Lead 15397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015398|115398|989898|1|9999015398|MR|Test|E|Lead 15398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015399|115399|989898|1|9999015399|MR|Test|E|Lead 15399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015400|115400|989898|1|9999015400|MR|Test|E|Lead 15400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015401|115401|989898|1|9999015401|MR|Test|E|Lead 15401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015402|115402|989898|1|9999015402|MR|Test|E|Lead 15402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015403|115403|989898|1|9999015403|MR|Test|E|Lead 15403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015404|115404|989898|1|9999015404|MR|Test|E|Lead 15404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015405|115405|989898|1|9999015405|MR|Test|E|Lead 15405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015406|115406|989898|1|9999015406|MR|Test|E|Lead 15406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015407|115407|989898|1|9999015407|MR|Test|E|Lead 15407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015408|115408|989898|1|9999015408|MR|Test|E|Lead 15408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015409|115409|989898|1|9999015409|MR|Test|E|Lead 15409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015410|115410|989898|1|9999015410|MR|Test|E|Lead 15410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015411|115411|989898|1|9999015411|MR|Test|E|Lead 15411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015412|115412|989898|1|9999015412|MR|Test|E|Lead 15412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015413|115413|989898|1|9999015413|MR|Test|E|Lead 15413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015414|115414|989898|1|9999015414|MR|Test|E|Lead 15414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015415|115415|989898|1|9999015415|MR|Test|E|Lead 15415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015416|115416|989898|1|9999015416|MR|Test|E|Lead 15416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015417|115417|989898|1|9999015417|MR|Test|E|Lead 15417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015418|115418|989898|1|9999015418|MR|Test|E|Lead 15418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015419|115419|989898|1|9999015419|MR|Test|E|Lead 15419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015420|115420|989898|1|9999015420|MR|Test|E|Lead 15420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015421|115421|989898|1|9999015421|MR|Test|E|Lead 15421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015422|115422|989898|1|9999015422|MR|Test|E|Lead 15422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015423|115423|989898|1|9999015423|MR|Test|E|Lead 15423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015424|115424|989898|1|9999015424|MR|Test|E|Lead 15424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015425|115425|989898|1|9999015425|MR|Test|E|Lead 15425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015426|115426|989898|1|9999015426|MR|Test|E|Lead 15426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015427|115427|989898|1|9999015427|MR|Test|E|Lead 15427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015428|115428|989898|1|9999015428|MR|Test|E|Lead 15428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015429|115429|989898|1|9999015429|MR|Test|E|Lead 15429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015430|115430|989898|1|9999015430|MR|Test|E|Lead 15430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015431|115431|989898|1|9999015431|MR|Test|E|Lead 15431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015432|115432|989898|1|9999015432|MR|Test|E|Lead 15432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015433|115433|989898|1|9999015433|MR|Test|E|Lead 15433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015434|115434|989898|1|9999015434|MR|Test|E|Lead 15434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015435|115435|989898|1|9999015435|MR|Test|E|Lead 15435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015436|115436|989898|1|9999015436|MR|Test|E|Lead 15436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015437|115437|989898|1|9999015437|MR|Test|E|Lead 15437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015438|115438|989898|1|9999015438|MR|Test|E|Lead 15438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015439|115439|989898|1|9999015439|MR|Test|E|Lead 15439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015440|115440|989898|1|9999015440|MR|Test|E|Lead 15440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015441|115441|989898|1|9999015441|MR|Test|E|Lead 15441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015442|115442|989898|1|9999015442|MR|Test|E|Lead 15442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015443|115443|989898|1|9999015443|MR|Test|E|Lead 15443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015444|115444|989898|1|9999015444|MR|Test|E|Lead 15444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015445|115445|989898|1|9999015445|MR|Test|E|Lead 15445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015446|115446|989898|1|9999015446|MR|Test|E|Lead 15446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015447|115447|989898|1|9999015447|MR|Test|E|Lead 15447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015448|115448|989898|1|9999015448|MR|Test|E|Lead 15448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015449|115449|989898|1|9999015449|MR|Test|E|Lead 15449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015450|115450|989898|1|9999015450|MR|Test|E|Lead 15450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015451|115451|989898|1|9999015451|MR|Test|E|Lead 15451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015452|115452|989898|1|9999015452|MR|Test|E|Lead 15452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015453|115453|989898|1|9999015453|MR|Test|E|Lead 15453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015454|115454|989898|1|9999015454|MR|Test|E|Lead 15454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015455|115455|989898|1|9999015455|MR|Test|E|Lead 15455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015456|115456|989898|1|9999015456|MR|Test|E|Lead 15456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015457|115457|989898|1|9999015457|MR|Test|E|Lead 15457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015458|115458|989898|1|9999015458|MR|Test|E|Lead 15458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015459|115459|989898|1|9999015459|MR|Test|E|Lead 15459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015460|115460|989898|1|9999015460|MR|Test|E|Lead 15460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015461|115461|989898|1|9999015461|MR|Test|E|Lead 15461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015462|115462|989898|1|9999015462|MR|Test|E|Lead 15462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015463|115463|989898|1|9999015463|MR|Test|E|Lead 15463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015464|115464|989898|1|9999015464|MR|Test|E|Lead 15464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015465|115465|989898|1|9999015465|MR|Test|E|Lead 15465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015466|115466|989898|1|9999015466|MR|Test|E|Lead 15466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015467|115467|989898|1|9999015467|MR|Test|E|Lead 15467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015468|115468|989898|1|9999015468|MR|Test|E|Lead 15468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015469|115469|989898|1|9999015469|MR|Test|E|Lead 15469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015470|115470|989898|1|9999015470|MR|Test|E|Lead 15470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015471|115471|989898|1|9999015471|MR|Test|E|Lead 15471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015472|115472|989898|1|9999015472|MR|Test|E|Lead 15472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015473|115473|989898|1|9999015473|MR|Test|E|Lead 15473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015474|115474|989898|1|9999015474|MR|Test|E|Lead 15474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015475|115475|989898|1|9999015475|MR|Test|E|Lead 15475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015476|115476|989898|1|9999015476|MR|Test|E|Lead 15476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015477|115477|989898|1|9999015477|MR|Test|E|Lead 15477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015478|115478|989898|1|9999015478|MR|Test|E|Lead 15478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015479|115479|989898|1|9999015479|MR|Test|E|Lead 15479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015480|115480|989898|1|9999015480|MR|Test|E|Lead 15480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015481|115481|989898|1|9999015481|MR|Test|E|Lead 15481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015482|115482|989898|1|9999015482|MR|Test|E|Lead 15482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015483|115483|989898|1|9999015483|MR|Test|E|Lead 15483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015484|115484|989898|1|9999015484|MR|Test|E|Lead 15484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015485|115485|989898|1|9999015485|MR|Test|E|Lead 15485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015486|115486|989898|1|9999015486|MR|Test|E|Lead 15486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015487|115487|989898|1|9999015487|MR|Test|E|Lead 15487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015488|115488|989898|1|9999015488|MR|Test|E|Lead 15488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015489|115489|989898|1|9999015489|MR|Test|E|Lead 15489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015490|115490|989898|1|9999015490|MR|Test|E|Lead 15490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015491|115491|989898|1|9999015491|MR|Test|E|Lead 15491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015492|115492|989898|1|9999015492|MR|Test|E|Lead 15492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015493|115493|989898|1|9999015493|MR|Test|E|Lead 15493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015494|115494|989898|1|9999015494|MR|Test|E|Lead 15494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015495|115495|989898|1|9999015495|MR|Test|E|Lead 15495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015496|115496|989898|1|9999015496|MR|Test|E|Lead 15496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015497|115497|989898|1|9999015497|MR|Test|E|Lead 15497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015498|115498|989898|1|9999015498|MR|Test|E|Lead 15498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015499|115499|989898|1|9999015499|MR|Test|E|Lead 15499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015500|115500|989898|1|9999015500|MR|Test|E|Lead 15500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015501|115501|989898|1|9999015501|MR|Test|E|Lead 15501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015502|115502|989898|1|9999015502|MR|Test|E|Lead 15502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015503|115503|989898|1|9999015503|MR|Test|E|Lead 15503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015504|115504|989898|1|9999015504|MR|Test|E|Lead 15504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015505|115505|989898|1|9999015505|MR|Test|E|Lead 15505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015506|115506|989898|1|9999015506|MR|Test|E|Lead 15506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015507|115507|989898|1|9999015507|MR|Test|E|Lead 15507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015508|115508|989898|1|9999015508|MR|Test|E|Lead 15508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015509|115509|989898|1|9999015509|MR|Test|E|Lead 15509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015510|115510|989898|1|9999015510|MR|Test|E|Lead 15510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015511|115511|989898|1|9999015511|MR|Test|E|Lead 15511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015512|115512|989898|1|9999015512|MR|Test|E|Lead 15512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015513|115513|989898|1|9999015513|MR|Test|E|Lead 15513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015514|115514|989898|1|9999015514|MR|Test|E|Lead 15514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015515|115515|989898|1|9999015515|MR|Test|E|Lead 15515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015516|115516|989898|1|9999015516|MR|Test|E|Lead 15516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015517|115517|989898|1|9999015517|MR|Test|E|Lead 15517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015518|115518|989898|1|9999015518|MR|Test|E|Lead 15518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015519|115519|989898|1|9999015519|MR|Test|E|Lead 15519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015520|115520|989898|1|9999015520|MR|Test|E|Lead 15520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015521|115521|989898|1|9999015521|MR|Test|E|Lead 15521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015522|115522|989898|1|9999015522|MR|Test|E|Lead 15522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015523|115523|989898|1|9999015523|MR|Test|E|Lead 15523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015524|115524|989898|1|9999015524|MR|Test|E|Lead 15524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015525|115525|989898|1|9999015525|MR|Test|E|Lead 15525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015526|115526|989898|1|9999015526|MR|Test|E|Lead 15526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015527|115527|989898|1|9999015527|MR|Test|E|Lead 15527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015528|115528|989898|1|9999015528|MR|Test|E|Lead 15528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015529|115529|989898|1|9999015529|MR|Test|E|Lead 15529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015530|115530|989898|1|9999015530|MR|Test|E|Lead 15530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015531|115531|989898|1|9999015531|MR|Test|E|Lead 15531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015532|115532|989898|1|9999015532|MR|Test|E|Lead 15532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015533|115533|989898|1|9999015533|MR|Test|E|Lead 15533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015534|115534|989898|1|9999015534|MR|Test|E|Lead 15534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015535|115535|989898|1|9999015535|MR|Test|E|Lead 15535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015536|115536|989898|1|9999015536|MR|Test|E|Lead 15536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015537|115537|989898|1|9999015537|MR|Test|E|Lead 15537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015538|115538|989898|1|9999015538|MR|Test|E|Lead 15538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015539|115539|989898|1|9999015539|MR|Test|E|Lead 15539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015540|115540|989898|1|9999015540|MR|Test|E|Lead 15540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015541|115541|989898|1|9999015541|MR|Test|E|Lead 15541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015542|115542|989898|1|9999015542|MR|Test|E|Lead 15542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015543|115543|989898|1|9999015543|MR|Test|E|Lead 15543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015544|115544|989898|1|9999015544|MR|Test|E|Lead 15544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015545|115545|989898|1|9999015545|MR|Test|E|Lead 15545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015546|115546|989898|1|9999015546|MR|Test|E|Lead 15546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015547|115547|989898|1|9999015547|MR|Test|E|Lead 15547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015548|115548|989898|1|9999015548|MR|Test|E|Lead 15548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015549|115549|989898|1|9999015549|MR|Test|E|Lead 15549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015550|115550|989898|1|9999015550|MR|Test|E|Lead 15550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015551|115551|989898|1|9999015551|MR|Test|E|Lead 15551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015552|115552|989898|1|9999015552|MR|Test|E|Lead 15552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015553|115553|989898|1|9999015553|MR|Test|E|Lead 15553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015554|115554|989898|1|9999015554|MR|Test|E|Lead 15554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015555|115555|989898|1|9999015555|MR|Test|E|Lead 15555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015556|115556|989898|1|9999015556|MR|Test|E|Lead 15556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015557|115557|989898|1|9999015557|MR|Test|E|Lead 15557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015558|115558|989898|1|9999015558|MR|Test|E|Lead 15558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015559|115559|989898|1|9999015559|MR|Test|E|Lead 15559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015560|115560|989898|1|9999015560|MR|Test|E|Lead 15560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015561|115561|989898|1|9999015561|MR|Test|E|Lead 15561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015562|115562|989898|1|9999015562|MR|Test|E|Lead 15562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015563|115563|989898|1|9999015563|MR|Test|E|Lead 15563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015564|115564|989898|1|9999015564|MR|Test|E|Lead 15564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015565|115565|989898|1|9999015565|MR|Test|E|Lead 15565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015566|115566|989898|1|9999015566|MR|Test|E|Lead 15566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015567|115567|989898|1|9999015567|MR|Test|E|Lead 15567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015568|115568|989898|1|9999015568|MR|Test|E|Lead 15568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015569|115569|989898|1|9999015569|MR|Test|E|Lead 15569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015570|115570|989898|1|9999015570|MR|Test|E|Lead 15570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015571|115571|989898|1|9999015571|MR|Test|E|Lead 15571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015572|115572|989898|1|9999015572|MR|Test|E|Lead 15572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015573|115573|989898|1|9999015573|MR|Test|E|Lead 15573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015574|115574|989898|1|9999015574|MR|Test|E|Lead 15574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015575|115575|989898|1|9999015575|MR|Test|E|Lead 15575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015576|115576|989898|1|9999015576|MR|Test|E|Lead 15576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015577|115577|989898|1|9999015577|MR|Test|E|Lead 15577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015578|115578|989898|1|9999015578|MR|Test|E|Lead 15578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015579|115579|989898|1|9999015579|MR|Test|E|Lead 15579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015580|115580|989898|1|9999015580|MR|Test|E|Lead 15580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015581|115581|989898|1|9999015581|MR|Test|E|Lead 15581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015582|115582|989898|1|9999015582|MR|Test|E|Lead 15582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015583|115583|989898|1|9999015583|MR|Test|E|Lead 15583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015584|115584|989898|1|9999015584|MR|Test|E|Lead 15584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015585|115585|989898|1|9999015585|MR|Test|E|Lead 15585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015586|115586|989898|1|9999015586|MR|Test|E|Lead 15586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015587|115587|989898|1|9999015587|MR|Test|E|Lead 15587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015588|115588|989898|1|9999015588|MR|Test|E|Lead 15588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015589|115589|989898|1|9999015589|MR|Test|E|Lead 15589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015590|115590|989898|1|9999015590|MR|Test|E|Lead 15590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015591|115591|989898|1|9999015591|MR|Test|E|Lead 15591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015592|115592|989898|1|9999015592|MR|Test|E|Lead 15592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015593|115593|989898|1|9999015593|MR|Test|E|Lead 15593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015594|115594|989898|1|9999015594|MR|Test|E|Lead 15594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015595|115595|989898|1|9999015595|MR|Test|E|Lead 15595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015596|115596|989898|1|9999015596|MR|Test|E|Lead 15596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015597|115597|989898|1|9999015597|MR|Test|E|Lead 15597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015598|115598|989898|1|9999015598|MR|Test|E|Lead 15598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015599|115599|989898|1|9999015599|MR|Test|E|Lead 15599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015600|115600|989898|1|9999015600|MR|Test|E|Lead 15600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015601|115601|989898|1|9999015601|MR|Test|E|Lead 15601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015602|115602|989898|1|9999015602|MR|Test|E|Lead 15602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015603|115603|989898|1|9999015603|MR|Test|E|Lead 15603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015604|115604|989898|1|9999015604|MR|Test|E|Lead 15604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015605|115605|989898|1|9999015605|MR|Test|E|Lead 15605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015606|115606|989898|1|9999015606|MR|Test|E|Lead 15606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015607|115607|989898|1|9999015607|MR|Test|E|Lead 15607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015608|115608|989898|1|9999015608|MR|Test|E|Lead 15608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015609|115609|989898|1|9999015609|MR|Test|E|Lead 15609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015610|115610|989898|1|9999015610|MR|Test|E|Lead 15610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015611|115611|989898|1|9999015611|MR|Test|E|Lead 15611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015612|115612|989898|1|9999015612|MR|Test|E|Lead 15612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015613|115613|989898|1|9999015613|MR|Test|E|Lead 15613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015614|115614|989898|1|9999015614|MR|Test|E|Lead 15614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015615|115615|989898|1|9999015615|MR|Test|E|Lead 15615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015616|115616|989898|1|9999015616|MR|Test|E|Lead 15616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015617|115617|989898|1|9999015617|MR|Test|E|Lead 15617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015618|115618|989898|1|9999015618|MR|Test|E|Lead 15618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015619|115619|989898|1|9999015619|MR|Test|E|Lead 15619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015620|115620|989898|1|9999015620|MR|Test|E|Lead 15620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015621|115621|989898|1|9999015621|MR|Test|E|Lead 15621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015622|115622|989898|1|9999015622|MR|Test|E|Lead 15622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015623|115623|989898|1|9999015623|MR|Test|E|Lead 15623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015624|115624|989898|1|9999015624|MR|Test|E|Lead 15624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015625|115625|989898|1|9999015625|MR|Test|E|Lead 15625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015626|115626|989898|1|9999015626|MR|Test|E|Lead 15626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015627|115627|989898|1|9999015627|MR|Test|E|Lead 15627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015628|115628|989898|1|9999015628|MR|Test|E|Lead 15628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015629|115629|989898|1|9999015629|MR|Test|E|Lead 15629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015630|115630|989898|1|9999015630|MR|Test|E|Lead 15630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015631|115631|989898|1|9999015631|MR|Test|E|Lead 15631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015632|115632|989898|1|9999015632|MR|Test|E|Lead 15632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015633|115633|989898|1|9999015633|MR|Test|E|Lead 15633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015634|115634|989898|1|9999015634|MR|Test|E|Lead 15634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015635|115635|989898|1|9999015635|MR|Test|E|Lead 15635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015636|115636|989898|1|9999015636|MR|Test|E|Lead 15636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015637|115637|989898|1|9999015637|MR|Test|E|Lead 15637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015638|115638|989898|1|9999015638|MR|Test|E|Lead 15638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015639|115639|989898|1|9999015639|MR|Test|E|Lead 15639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015640|115640|989898|1|9999015640|MR|Test|E|Lead 15640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015641|115641|989898|1|9999015641|MR|Test|E|Lead 15641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015642|115642|989898|1|9999015642|MR|Test|E|Lead 15642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015643|115643|989898|1|9999015643|MR|Test|E|Lead 15643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015644|115644|989898|1|9999015644|MR|Test|E|Lead 15644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015645|115645|989898|1|9999015645|MR|Test|E|Lead 15645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015646|115646|989898|1|9999015646|MR|Test|E|Lead 15646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015647|115647|989898|1|9999015647|MR|Test|E|Lead 15647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015648|115648|989898|1|9999015648|MR|Test|E|Lead 15648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015649|115649|989898|1|9999015649|MR|Test|E|Lead 15649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015650|115650|989898|1|9999015650|MR|Test|E|Lead 15650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015651|115651|989898|1|9999015651|MR|Test|E|Lead 15651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015652|115652|989898|1|9999015652|MR|Test|E|Lead 15652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015653|115653|989898|1|9999015653|MR|Test|E|Lead 15653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015654|115654|989898|1|9999015654|MR|Test|E|Lead 15654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015655|115655|989898|1|9999015655|MR|Test|E|Lead 15655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015656|115656|989898|1|9999015656|MR|Test|E|Lead 15656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015657|115657|989898|1|9999015657|MR|Test|E|Lead 15657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015658|115658|989898|1|9999015658|MR|Test|E|Lead 15658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015659|115659|989898|1|9999015659|MR|Test|E|Lead 15659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015660|115660|989898|1|9999015660|MR|Test|E|Lead 15660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015661|115661|989898|1|9999015661|MR|Test|E|Lead 15661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015662|115662|989898|1|9999015662|MR|Test|E|Lead 15662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015663|115663|989898|1|9999015663|MR|Test|E|Lead 15663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015664|115664|989898|1|9999015664|MR|Test|E|Lead 15664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015665|115665|989898|1|9999015665|MR|Test|E|Lead 15665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015666|115666|989898|1|9999015666|MR|Test|E|Lead 15666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015667|115667|989898|1|9999015667|MR|Test|E|Lead 15667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015668|115668|989898|1|9999015668|MR|Test|E|Lead 15668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015669|115669|989898|1|9999015669|MR|Test|E|Lead 15669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015670|115670|989898|1|9999015670|MR|Test|E|Lead 15670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015671|115671|989898|1|9999015671|MR|Test|E|Lead 15671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015672|115672|989898|1|9999015672|MR|Test|E|Lead 15672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015673|115673|989898|1|9999015673|MR|Test|E|Lead 15673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015674|115674|989898|1|9999015674|MR|Test|E|Lead 15674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015675|115675|989898|1|9999015675|MR|Test|E|Lead 15675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015676|115676|989898|1|9999015676|MR|Test|E|Lead 15676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015677|115677|989898|1|9999015677|MR|Test|E|Lead 15677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015678|115678|989898|1|9999015678|MR|Test|E|Lead 15678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015679|115679|989898|1|9999015679|MR|Test|E|Lead 15679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015680|115680|989898|1|9999015680|MR|Test|E|Lead 15680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015681|115681|989898|1|9999015681|MR|Test|E|Lead 15681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015682|115682|989898|1|9999015682|MR|Test|E|Lead 15682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015683|115683|989898|1|9999015683|MR|Test|E|Lead 15683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015684|115684|989898|1|9999015684|MR|Test|E|Lead 15684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015685|115685|989898|1|9999015685|MR|Test|E|Lead 15685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015686|115686|989898|1|9999015686|MR|Test|E|Lead 15686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015687|115687|989898|1|9999015687|MR|Test|E|Lead 15687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015688|115688|989898|1|9999015688|MR|Test|E|Lead 15688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015689|115689|989898|1|9999015689|MR|Test|E|Lead 15689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015690|115690|989898|1|9999015690|MR|Test|E|Lead 15690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015691|115691|989898|1|9999015691|MR|Test|E|Lead 15691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015692|115692|989898|1|9999015692|MR|Test|E|Lead 15692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015693|115693|989898|1|9999015693|MR|Test|E|Lead 15693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015694|115694|989898|1|9999015694|MR|Test|E|Lead 15694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015695|115695|989898|1|9999015695|MR|Test|E|Lead 15695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015696|115696|989898|1|9999015696|MR|Test|E|Lead 15696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015697|115697|989898|1|9999015697|MR|Test|E|Lead 15697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015698|115698|989898|1|9999015698|MR|Test|E|Lead 15698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015699|115699|989898|1|9999015699|MR|Test|E|Lead 15699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015700|115700|989898|1|9999015700|MR|Test|E|Lead 15700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015701|115701|989898|1|9999015701|MR|Test|E|Lead 15701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015702|115702|989898|1|9999015702|MR|Test|E|Lead 15702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015703|115703|989898|1|9999015703|MR|Test|E|Lead 15703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015704|115704|989898|1|9999015704|MR|Test|E|Lead 15704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015705|115705|989898|1|9999015705|MR|Test|E|Lead 15705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015706|115706|989898|1|9999015706|MR|Test|E|Lead 15706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015707|115707|989898|1|9999015707|MR|Test|E|Lead 15707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015708|115708|989898|1|9999015708|MR|Test|E|Lead 15708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015709|115709|989898|1|9999015709|MR|Test|E|Lead 15709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015710|115710|989898|1|9999015710|MR|Test|E|Lead 15710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015711|115711|989898|1|9999015711|MR|Test|E|Lead 15711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015712|115712|989898|1|9999015712|MR|Test|E|Lead 15712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015713|115713|989898|1|9999015713|MR|Test|E|Lead 15713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015714|115714|989898|1|9999015714|MR|Test|E|Lead 15714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015715|115715|989898|1|9999015715|MR|Test|E|Lead 15715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015716|115716|989898|1|9999015716|MR|Test|E|Lead 15716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015717|115717|989898|1|9999015717|MR|Test|E|Lead 15717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015718|115718|989898|1|9999015718|MR|Test|E|Lead 15718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015719|115719|989898|1|9999015719|MR|Test|E|Lead 15719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015720|115720|989898|1|9999015720|MR|Test|E|Lead 15720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015721|115721|989898|1|9999015721|MR|Test|E|Lead 15721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015722|115722|989898|1|9999015722|MR|Test|E|Lead 15722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015723|115723|989898|1|9999015723|MR|Test|E|Lead 15723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015724|115724|989898|1|9999015724|MR|Test|E|Lead 15724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015725|115725|989898|1|9999015725|MR|Test|E|Lead 15725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015726|115726|989898|1|9999015726|MR|Test|E|Lead 15726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015727|115727|989898|1|9999015727|MR|Test|E|Lead 15727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015728|115728|989898|1|9999015728|MR|Test|E|Lead 15728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015729|115729|989898|1|9999015729|MR|Test|E|Lead 15729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015730|115730|989898|1|9999015730|MR|Test|E|Lead 15730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015731|115731|989898|1|9999015731|MR|Test|E|Lead 15731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015732|115732|989898|1|9999015732|MR|Test|E|Lead 15732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015733|115733|989898|1|9999015733|MR|Test|E|Lead 15733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015734|115734|989898|1|9999015734|MR|Test|E|Lead 15734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015735|115735|989898|1|9999015735|MR|Test|E|Lead 15735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015736|115736|989898|1|9999015736|MR|Test|E|Lead 15736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015737|115737|989898|1|9999015737|MR|Test|E|Lead 15737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015738|115738|989898|1|9999015738|MR|Test|E|Lead 15738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015739|115739|989898|1|9999015739|MR|Test|E|Lead 15739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015740|115740|989898|1|9999015740|MR|Test|E|Lead 15740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015741|115741|989898|1|9999015741|MR|Test|E|Lead 15741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015742|115742|989898|1|9999015742|MR|Test|E|Lead 15742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015743|115743|989898|1|9999015743|MR|Test|E|Lead 15743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015744|115744|989898|1|9999015744|MR|Test|E|Lead 15744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015745|115745|989898|1|9999015745|MR|Test|E|Lead 15745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015746|115746|989898|1|9999015746|MR|Test|E|Lead 15746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015747|115747|989898|1|9999015747|MR|Test|E|Lead 15747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015748|115748|989898|1|9999015748|MR|Test|E|Lead 15748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015749|115749|989898|1|9999015749|MR|Test|E|Lead 15749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015750|115750|989898|1|9999015750|MR|Test|E|Lead 15750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015751|115751|989898|1|9999015751|MR|Test|E|Lead 15751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015752|115752|989898|1|9999015752|MR|Test|E|Lead 15752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015753|115753|989898|1|9999015753|MR|Test|E|Lead 15753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015754|115754|989898|1|9999015754|MR|Test|E|Lead 15754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015755|115755|989898|1|9999015755|MR|Test|E|Lead 15755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015756|115756|989898|1|9999015756|MR|Test|E|Lead 15756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015757|115757|989898|1|9999015757|MR|Test|E|Lead 15757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015758|115758|989898|1|9999015758|MR|Test|E|Lead 15758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015759|115759|989898|1|9999015759|MR|Test|E|Lead 15759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015760|115760|989898|1|9999015760|MR|Test|E|Lead 15760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015761|115761|989898|1|9999015761|MR|Test|E|Lead 15761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015762|115762|989898|1|9999015762|MR|Test|E|Lead 15762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015763|115763|989898|1|9999015763|MR|Test|E|Lead 15763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015764|115764|989898|1|9999015764|MR|Test|E|Lead 15764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015765|115765|989898|1|9999015765|MR|Test|E|Lead 15765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015766|115766|989898|1|9999015766|MR|Test|E|Lead 15766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015767|115767|989898|1|9999015767|MR|Test|E|Lead 15767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015768|115768|989898|1|9999015768|MR|Test|E|Lead 15768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015769|115769|989898|1|9999015769|MR|Test|E|Lead 15769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015770|115770|989898|1|9999015770|MR|Test|E|Lead 15770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015771|115771|989898|1|9999015771|MR|Test|E|Lead 15771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015772|115772|989898|1|9999015772|MR|Test|E|Lead 15772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015773|115773|989898|1|9999015773|MR|Test|E|Lead 15773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015774|115774|989898|1|9999015774|MR|Test|E|Lead 15774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015775|115775|989898|1|9999015775|MR|Test|E|Lead 15775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015776|115776|989898|1|9999015776|MR|Test|E|Lead 15776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015777|115777|989898|1|9999015777|MR|Test|E|Lead 15777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015778|115778|989898|1|9999015778|MR|Test|E|Lead 15778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015779|115779|989898|1|9999015779|MR|Test|E|Lead 15779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015780|115780|989898|1|9999015780|MR|Test|E|Lead 15780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015781|115781|989898|1|9999015781|MR|Test|E|Lead 15781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015782|115782|989898|1|9999015782|MR|Test|E|Lead 15782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015783|115783|989898|1|9999015783|MR|Test|E|Lead 15783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015784|115784|989898|1|9999015784|MR|Test|E|Lead 15784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015785|115785|989898|1|9999015785|MR|Test|E|Lead 15785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015786|115786|989898|1|9999015786|MR|Test|E|Lead 15786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015787|115787|989898|1|9999015787|MR|Test|E|Lead 15787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015788|115788|989898|1|9999015788|MR|Test|E|Lead 15788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015789|115789|989898|1|9999015789|MR|Test|E|Lead 15789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015790|115790|989898|1|9999015790|MR|Test|E|Lead 15790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015791|115791|989898|1|9999015791|MR|Test|E|Lead 15791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015792|115792|989898|1|9999015792|MR|Test|E|Lead 15792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015793|115793|989898|1|9999015793|MR|Test|E|Lead 15793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015794|115794|989898|1|9999015794|MR|Test|E|Lead 15794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015795|115795|989898|1|9999015795|MR|Test|E|Lead 15795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015796|115796|989898|1|9999015796|MR|Test|E|Lead 15796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015797|115797|989898|1|9999015797|MR|Test|E|Lead 15797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015798|115798|989898|1|9999015798|MR|Test|E|Lead 15798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015799|115799|989898|1|9999015799|MR|Test|E|Lead 15799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015800|115800|989898|1|9999015800|MR|Test|E|Lead 15800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015801|115801|989898|1|9999015801|MR|Test|E|Lead 15801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015802|115802|989898|1|9999015802|MR|Test|E|Lead 15802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015803|115803|989898|1|9999015803|MR|Test|E|Lead 15803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015804|115804|989898|1|9999015804|MR|Test|E|Lead 15804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015805|115805|989898|1|9999015805|MR|Test|E|Lead 15805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015806|115806|989898|1|9999015806|MR|Test|E|Lead 15806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015807|115807|989898|1|9999015807|MR|Test|E|Lead 15807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015808|115808|989898|1|9999015808|MR|Test|E|Lead 15808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015809|115809|989898|1|9999015809|MR|Test|E|Lead 15809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015810|115810|989898|1|9999015810|MR|Test|E|Lead 15810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015811|115811|989898|1|9999015811|MR|Test|E|Lead 15811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015812|115812|989898|1|9999015812|MR|Test|E|Lead 15812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015813|115813|989898|1|9999015813|MR|Test|E|Lead 15813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015814|115814|989898|1|9999015814|MR|Test|E|Lead 15814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015815|115815|989898|1|9999015815|MR|Test|E|Lead 15815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015816|115816|989898|1|9999015816|MR|Test|E|Lead 15816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015817|115817|989898|1|9999015817|MR|Test|E|Lead 15817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015818|115818|989898|1|9999015818|MR|Test|E|Lead 15818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015819|115819|989898|1|9999015819|MR|Test|E|Lead 15819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015820|115820|989898|1|9999015820|MR|Test|E|Lead 15820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015821|115821|989898|1|9999015821|MR|Test|E|Lead 15821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015822|115822|989898|1|9999015822|MR|Test|E|Lead 15822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015823|115823|989898|1|9999015823|MR|Test|E|Lead 15823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015824|115824|989898|1|9999015824|MR|Test|E|Lead 15824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015825|115825|989898|1|9999015825|MR|Test|E|Lead 15825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015826|115826|989898|1|9999015826|MR|Test|E|Lead 15826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015827|115827|989898|1|9999015827|MR|Test|E|Lead 15827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015828|115828|989898|1|9999015828|MR|Test|E|Lead 15828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015829|115829|989898|1|9999015829|MR|Test|E|Lead 15829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015830|115830|989898|1|9999015830|MR|Test|E|Lead 15830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015831|115831|989898|1|9999015831|MR|Test|E|Lead 15831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015832|115832|989898|1|9999015832|MR|Test|E|Lead 15832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015833|115833|989898|1|9999015833|MR|Test|E|Lead 15833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015834|115834|989898|1|9999015834|MR|Test|E|Lead 15834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015835|115835|989898|1|9999015835|MR|Test|E|Lead 15835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015836|115836|989898|1|9999015836|MR|Test|E|Lead 15836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015837|115837|989898|1|9999015837|MR|Test|E|Lead 15837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015838|115838|989898|1|9999015838|MR|Test|E|Lead 15838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015839|115839|989898|1|9999015839|MR|Test|E|Lead 15839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015840|115840|989898|1|9999015840|MR|Test|E|Lead 15840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015841|115841|989898|1|9999015841|MR|Test|E|Lead 15841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015842|115842|989898|1|9999015842|MR|Test|E|Lead 15842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015843|115843|989898|1|9999015843|MR|Test|E|Lead 15843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015844|115844|989898|1|9999015844|MR|Test|E|Lead 15844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015845|115845|989898|1|9999015845|MR|Test|E|Lead 15845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015846|115846|989898|1|9999015846|MR|Test|E|Lead 15846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015847|115847|989898|1|9999015847|MR|Test|E|Lead 15847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015848|115848|989898|1|9999015848|MR|Test|E|Lead 15848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015849|115849|989898|1|9999015849|MR|Test|E|Lead 15849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015850|115850|989898|1|9999015850|MR|Test|E|Lead 15850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015851|115851|989898|1|9999015851|MR|Test|E|Lead 15851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015852|115852|989898|1|9999015852|MR|Test|E|Lead 15852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015853|115853|989898|1|9999015853|MR|Test|E|Lead 15853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015854|115854|989898|1|9999015854|MR|Test|E|Lead 15854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015855|115855|989898|1|9999015855|MR|Test|E|Lead 15855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015856|115856|989898|1|9999015856|MR|Test|E|Lead 15856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015857|115857|989898|1|9999015857|MR|Test|E|Lead 15857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015858|115858|989898|1|9999015858|MR|Test|E|Lead 15858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015859|115859|989898|1|9999015859|MR|Test|E|Lead 15859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015860|115860|989898|1|9999015860|MR|Test|E|Lead 15860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015861|115861|989898|1|9999015861|MR|Test|E|Lead 15861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015862|115862|989898|1|9999015862|MR|Test|E|Lead 15862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015863|115863|989898|1|9999015863|MR|Test|E|Lead 15863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015864|115864|989898|1|9999015864|MR|Test|E|Lead 15864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015865|115865|989898|1|9999015865|MR|Test|E|Lead 15865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015866|115866|989898|1|9999015866|MR|Test|E|Lead 15866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015867|115867|989898|1|9999015867|MR|Test|E|Lead 15867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015868|115868|989898|1|9999015868|MR|Test|E|Lead 15868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015869|115869|989898|1|9999015869|MR|Test|E|Lead 15869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015870|115870|989898|1|9999015870|MR|Test|E|Lead 15870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015871|115871|989898|1|9999015871|MR|Test|E|Lead 15871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015872|115872|989898|1|9999015872|MR|Test|E|Lead 15872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015873|115873|989898|1|9999015873|MR|Test|E|Lead 15873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015874|115874|989898|1|9999015874|MR|Test|E|Lead 15874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015875|115875|989898|1|9999015875|MR|Test|E|Lead 15875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015876|115876|989898|1|9999015876|MR|Test|E|Lead 15876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015877|115877|989898|1|9999015877|MR|Test|E|Lead 15877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015878|115878|989898|1|9999015878|MR|Test|E|Lead 15878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015879|115879|989898|1|9999015879|MR|Test|E|Lead 15879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015880|115880|989898|1|9999015880|MR|Test|E|Lead 15880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015881|115881|989898|1|9999015881|MR|Test|E|Lead 15881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015882|115882|989898|1|9999015882|MR|Test|E|Lead 15882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015883|115883|989898|1|9999015883|MR|Test|E|Lead 15883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015884|115884|989898|1|9999015884|MR|Test|E|Lead 15884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015885|115885|989898|1|9999015885|MR|Test|E|Lead 15885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015886|115886|989898|1|9999015886|MR|Test|E|Lead 15886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015887|115887|989898|1|9999015887|MR|Test|E|Lead 15887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015888|115888|989898|1|9999015888|MR|Test|E|Lead 15888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015889|115889|989898|1|9999015889|MR|Test|E|Lead 15889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015890|115890|989898|1|9999015890|MR|Test|E|Lead 15890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015891|115891|989898|1|9999015891|MR|Test|E|Lead 15891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015892|115892|989898|1|9999015892|MR|Test|E|Lead 15892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015893|115893|989898|1|9999015893|MR|Test|E|Lead 15893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015894|115894|989898|1|9999015894|MR|Test|E|Lead 15894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015895|115895|989898|1|9999015895|MR|Test|E|Lead 15895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015896|115896|989898|1|9999015896|MR|Test|E|Lead 15896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015897|115897|989898|1|9999015897|MR|Test|E|Lead 15897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015898|115898|989898|1|9999015898|MR|Test|E|Lead 15898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015899|115899|989898|1|9999015899|MR|Test|E|Lead 15899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015900|115900|989898|1|9999015900|MR|Test|E|Lead 15900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015901|115901|989898|1|9999015901|MR|Test|E|Lead 15901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015902|115902|989898|1|9999015902|MR|Test|E|Lead 15902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015903|115903|989898|1|9999015903|MR|Test|E|Lead 15903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015904|115904|989898|1|9999015904|MR|Test|E|Lead 15904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015905|115905|989898|1|9999015905|MR|Test|E|Lead 15905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015906|115906|989898|1|9999015906|MR|Test|E|Lead 15906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015907|115907|989898|1|9999015907|MR|Test|E|Lead 15907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015908|115908|989898|1|9999015908|MR|Test|E|Lead 15908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015909|115909|989898|1|9999015909|MR|Test|E|Lead 15909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015910|115910|989898|1|9999015910|MR|Test|E|Lead 15910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015911|115911|989898|1|9999015911|MR|Test|E|Lead 15911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015912|115912|989898|1|9999015912|MR|Test|E|Lead 15912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015913|115913|989898|1|9999015913|MR|Test|E|Lead 15913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015914|115914|989898|1|9999015914|MR|Test|E|Lead 15914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015915|115915|989898|1|9999015915|MR|Test|E|Lead 15915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015916|115916|989898|1|9999015916|MR|Test|E|Lead 15916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015917|115917|989898|1|9999015917|MR|Test|E|Lead 15917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015918|115918|989898|1|9999015918|MR|Test|E|Lead 15918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015919|115919|989898|1|9999015919|MR|Test|E|Lead 15919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015920|115920|989898|1|9999015920|MR|Test|E|Lead 15920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015921|115921|989898|1|9999015921|MR|Test|E|Lead 15921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015922|115922|989898|1|9999015922|MR|Test|E|Lead 15922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015923|115923|989898|1|9999015923|MR|Test|E|Lead 15923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015924|115924|989898|1|9999015924|MR|Test|E|Lead 15924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015925|115925|989898|1|9999015925|MR|Test|E|Lead 15925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015926|115926|989898|1|9999015926|MR|Test|E|Lead 15926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015927|115927|989898|1|9999015927|MR|Test|E|Lead 15927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015928|115928|989898|1|9999015928|MR|Test|E|Lead 15928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015929|115929|989898|1|9999015929|MR|Test|E|Lead 15929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015930|115930|989898|1|9999015930|MR|Test|E|Lead 15930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015931|115931|989898|1|9999015931|MR|Test|E|Lead 15931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015932|115932|989898|1|9999015932|MR|Test|E|Lead 15932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015933|115933|989898|1|9999015933|MR|Test|E|Lead 15933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015934|115934|989898|1|9999015934|MR|Test|E|Lead 15934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015935|115935|989898|1|9999015935|MR|Test|E|Lead 15935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015936|115936|989898|1|9999015936|MR|Test|E|Lead 15936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015937|115937|989898|1|9999015937|MR|Test|E|Lead 15937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015938|115938|989898|1|9999015938|MR|Test|E|Lead 15938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015939|115939|989898|1|9999015939|MR|Test|E|Lead 15939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015940|115940|989898|1|9999015940|MR|Test|E|Lead 15940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015941|115941|989898|1|9999015941|MR|Test|E|Lead 15941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015942|115942|989898|1|9999015942|MR|Test|E|Lead 15942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015943|115943|989898|1|9999015943|MR|Test|E|Lead 15943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015944|115944|989898|1|9999015944|MR|Test|E|Lead 15944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015945|115945|989898|1|9999015945|MR|Test|E|Lead 15945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015946|115946|989898|1|9999015946|MR|Test|E|Lead 15946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015947|115947|989898|1|9999015947|MR|Test|E|Lead 15947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015948|115948|989898|1|9999015948|MR|Test|E|Lead 15948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015949|115949|989898|1|9999015949|MR|Test|E|Lead 15949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015950|115950|989898|1|9999015950|MR|Test|E|Lead 15950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015951|115951|989898|1|9999015951|MR|Test|E|Lead 15951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015952|115952|989898|1|9999015952|MR|Test|E|Lead 15952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015953|115953|989898|1|9999015953|MR|Test|E|Lead 15953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015954|115954|989898|1|9999015954|MR|Test|E|Lead 15954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015955|115955|989898|1|9999015955|MR|Test|E|Lead 15955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015956|115956|989898|1|9999015956|MR|Test|E|Lead 15956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015957|115957|989898|1|9999015957|MR|Test|E|Lead 15957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015958|115958|989898|1|9999015958|MR|Test|E|Lead 15958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015959|115959|989898|1|9999015959|MR|Test|E|Lead 15959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015960|115960|989898|1|9999015960|MR|Test|E|Lead 15960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015961|115961|989898|1|9999015961|MR|Test|E|Lead 15961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015962|115962|989898|1|9999015962|MR|Test|E|Lead 15962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015963|115963|989898|1|9999015963|MR|Test|E|Lead 15963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015964|115964|989898|1|9999015964|MR|Test|E|Lead 15964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015965|115965|989898|1|9999015965|MR|Test|E|Lead 15965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015966|115966|989898|1|9999015966|MR|Test|E|Lead 15966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015967|115967|989898|1|9999015967|MR|Test|E|Lead 15967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015968|115968|989898|1|9999015968|MR|Test|E|Lead 15968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015969|115969|989898|1|9999015969|MR|Test|E|Lead 15969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015970|115970|989898|1|9999015970|MR|Test|E|Lead 15970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015971|115971|989898|1|9999015971|MR|Test|E|Lead 15971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015972|115972|989898|1|9999015972|MR|Test|E|Lead 15972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015973|115973|989898|1|9999015973|MR|Test|E|Lead 15973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015974|115974|989898|1|9999015974|MR|Test|E|Lead 15974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015975|115975|989898|1|9999015975|MR|Test|E|Lead 15975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015976|115976|989898|1|9999015976|MR|Test|E|Lead 15976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015977|115977|989898|1|9999015977|MR|Test|E|Lead 15977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015978|115978|989898|1|9999015978|MR|Test|E|Lead 15978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015979|115979|989898|1|9999015979|MR|Test|E|Lead 15979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015980|115980|989898|1|9999015980|MR|Test|E|Lead 15980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015981|115981|989898|1|9999015981|MR|Test|E|Lead 15981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015982|115982|989898|1|9999015982|MR|Test|E|Lead 15982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015983|115983|989898|1|9999015983|MR|Test|E|Lead 15983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015984|115984|989898|1|9999015984|MR|Test|E|Lead 15984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015985|115985|989898|1|9999015985|MR|Test|E|Lead 15985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015986|115986|989898|1|9999015986|MR|Test|E|Lead 15986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015987|115987|989898|1|9999015987|MR|Test|E|Lead 15987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015988|115988|989898|1|9999015988|MR|Test|E|Lead 15988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015989|115989|989898|1|9999015989|MR|Test|E|Lead 15989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015990|115990|989898|1|9999015990|MR|Test|E|Lead 15990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015991|115991|989898|1|9999015991|MR|Test|E|Lead 15991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015992|115992|989898|1|9999015992|MR|Test|E|Lead 15992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015993|115993|989898|1|9999015993|MR|Test|E|Lead 15993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015994|115994|989898|1|9999015994|MR|Test|E|Lead 15994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015995|115995|989898|1|9999015995|MR|Test|E|Lead 15995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015996|115996|989898|1|9999015996|MR|Test|E|Lead 15996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015997|115997|989898|1|9999015997|MR|Test|E|Lead 15997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015998|115998|989898|1|9999015998|MR|Test|E|Lead 15998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1015999|115999|989898|1|9999015999|MR|Test|E|Lead 15999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016000|116000|989898|1|9999016000|MR|Test|E|Lead 16000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016001|116001|989898|1|9999016001|MR|Test|E|Lead 16001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016002|116002|989898|1|9999016002|MR|Test|E|Lead 16002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016003|116003|989898|1|9999016003|MR|Test|E|Lead 16003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016004|116004|989898|1|9999016004|MR|Test|E|Lead 16004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016005|116005|989898|1|9999016005|MR|Test|E|Lead 16005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016006|116006|989898|1|9999016006|MR|Test|E|Lead 16006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016007|116007|989898|1|9999016007|MR|Test|E|Lead 16007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016008|116008|989898|1|9999016008|MR|Test|E|Lead 16008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016009|116009|989898|1|9999016009|MR|Test|E|Lead 16009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016010|116010|989898|1|9999016010|MR|Test|E|Lead 16010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016011|116011|989898|1|9999016011|MR|Test|E|Lead 16011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016012|116012|989898|1|9999016012|MR|Test|E|Lead 16012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016013|116013|989898|1|9999016013|MR|Test|E|Lead 16013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016014|116014|989898|1|9999016014|MR|Test|E|Lead 16014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016015|116015|989898|1|9999016015|MR|Test|E|Lead 16015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016016|116016|989898|1|9999016016|MR|Test|E|Lead 16016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016017|116017|989898|1|9999016017|MR|Test|E|Lead 16017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016018|116018|989898|1|9999016018|MR|Test|E|Lead 16018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016019|116019|989898|1|9999016019|MR|Test|E|Lead 16019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016020|116020|989898|1|9999016020|MR|Test|E|Lead 16020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016021|116021|989898|1|9999016021|MR|Test|E|Lead 16021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016022|116022|989898|1|9999016022|MR|Test|E|Lead 16022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016023|116023|989898|1|9999016023|MR|Test|E|Lead 16023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016024|116024|989898|1|9999016024|MR|Test|E|Lead 16024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016025|116025|989898|1|9999016025|MR|Test|E|Lead 16025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016026|116026|989898|1|9999016026|MR|Test|E|Lead 16026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016027|116027|989898|1|9999016027|MR|Test|E|Lead 16027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016028|116028|989898|1|9999016028|MR|Test|E|Lead 16028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016029|116029|989898|1|9999016029|MR|Test|E|Lead 16029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016030|116030|989898|1|9999016030|MR|Test|E|Lead 16030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016031|116031|989898|1|9999016031|MR|Test|E|Lead 16031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016032|116032|989898|1|9999016032|MR|Test|E|Lead 16032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016033|116033|989898|1|9999016033|MR|Test|E|Lead 16033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016034|116034|989898|1|9999016034|MR|Test|E|Lead 16034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016035|116035|989898|1|9999016035|MR|Test|E|Lead 16035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016036|116036|989898|1|9999016036|MR|Test|E|Lead 16036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016037|116037|989898|1|9999016037|MR|Test|E|Lead 16037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016038|116038|989898|1|9999016038|MR|Test|E|Lead 16038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016039|116039|989898|1|9999016039|MR|Test|E|Lead 16039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016040|116040|989898|1|9999016040|MR|Test|E|Lead 16040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016041|116041|989898|1|9999016041|MR|Test|E|Lead 16041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016042|116042|989898|1|9999016042|MR|Test|E|Lead 16042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016043|116043|989898|1|9999016043|MR|Test|E|Lead 16043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016044|116044|989898|1|9999016044|MR|Test|E|Lead 16044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016045|116045|989898|1|9999016045|MR|Test|E|Lead 16045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016046|116046|989898|1|9999016046|MR|Test|E|Lead 16046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016047|116047|989898|1|9999016047|MR|Test|E|Lead 16047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016048|116048|989898|1|9999016048|MR|Test|E|Lead 16048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016049|116049|989898|1|9999016049|MR|Test|E|Lead 16049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016050|116050|989898|1|9999016050|MR|Test|E|Lead 16050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016051|116051|989898|1|9999016051|MR|Test|E|Lead 16051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016052|116052|989898|1|9999016052|MR|Test|E|Lead 16052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016053|116053|989898|1|9999016053|MR|Test|E|Lead 16053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016054|116054|989898|1|9999016054|MR|Test|E|Lead 16054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016055|116055|989898|1|9999016055|MR|Test|E|Lead 16055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016056|116056|989898|1|9999016056|MR|Test|E|Lead 16056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016057|116057|989898|1|9999016057|MR|Test|E|Lead 16057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016058|116058|989898|1|9999016058|MR|Test|E|Lead 16058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016059|116059|989898|1|9999016059|MR|Test|E|Lead 16059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016060|116060|989898|1|9999016060|MR|Test|E|Lead 16060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016061|116061|989898|1|9999016061|MR|Test|E|Lead 16061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016062|116062|989898|1|9999016062|MR|Test|E|Lead 16062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016063|116063|989898|1|9999016063|MR|Test|E|Lead 16063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016064|116064|989898|1|9999016064|MR|Test|E|Lead 16064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016065|116065|989898|1|9999016065|MR|Test|E|Lead 16065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016066|116066|989898|1|9999016066|MR|Test|E|Lead 16066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016067|116067|989898|1|9999016067|MR|Test|E|Lead 16067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016068|116068|989898|1|9999016068|MR|Test|E|Lead 16068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016069|116069|989898|1|9999016069|MR|Test|E|Lead 16069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016070|116070|989898|1|9999016070|MR|Test|E|Lead 16070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016071|116071|989898|1|9999016071|MR|Test|E|Lead 16071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016072|116072|989898|1|9999016072|MR|Test|E|Lead 16072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016073|116073|989898|1|9999016073|MR|Test|E|Lead 16073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016074|116074|989898|1|9999016074|MR|Test|E|Lead 16074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016075|116075|989898|1|9999016075|MR|Test|E|Lead 16075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016076|116076|989898|1|9999016076|MR|Test|E|Lead 16076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016077|116077|989898|1|9999016077|MR|Test|E|Lead 16077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016078|116078|989898|1|9999016078|MR|Test|E|Lead 16078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016079|116079|989898|1|9999016079|MR|Test|E|Lead 16079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016080|116080|989898|1|9999016080|MR|Test|E|Lead 16080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016081|116081|989898|1|9999016081|MR|Test|E|Lead 16081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016082|116082|989898|1|9999016082|MR|Test|E|Lead 16082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016083|116083|989898|1|9999016083|MR|Test|E|Lead 16083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016084|116084|989898|1|9999016084|MR|Test|E|Lead 16084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016085|116085|989898|1|9999016085|MR|Test|E|Lead 16085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016086|116086|989898|1|9999016086|MR|Test|E|Lead 16086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016087|116087|989898|1|9999016087|MR|Test|E|Lead 16087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016088|116088|989898|1|9999016088|MR|Test|E|Lead 16088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016089|116089|989898|1|9999016089|MR|Test|E|Lead 16089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016090|116090|989898|1|9999016090|MR|Test|E|Lead 16090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016091|116091|989898|1|9999016091|MR|Test|E|Lead 16091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016092|116092|989898|1|9999016092|MR|Test|E|Lead 16092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016093|116093|989898|1|9999016093|MR|Test|E|Lead 16093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016094|116094|989898|1|9999016094|MR|Test|E|Lead 16094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016095|116095|989898|1|9999016095|MR|Test|E|Lead 16095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016096|116096|989898|1|9999016096|MR|Test|E|Lead 16096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016097|116097|989898|1|9999016097|MR|Test|E|Lead 16097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016098|116098|989898|1|9999016098|MR|Test|E|Lead 16098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016099|116099|989898|1|9999016099|MR|Test|E|Lead 16099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016100|116100|989898|1|9999016100|MR|Test|E|Lead 16100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016101|116101|989898|1|9999016101|MR|Test|E|Lead 16101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016102|116102|989898|1|9999016102|MR|Test|E|Lead 16102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016103|116103|989898|1|9999016103|MR|Test|E|Lead 16103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016104|116104|989898|1|9999016104|MR|Test|E|Lead 16104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016105|116105|989898|1|9999016105|MR|Test|E|Lead 16105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016106|116106|989898|1|9999016106|MR|Test|E|Lead 16106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016107|116107|989898|1|9999016107|MR|Test|E|Lead 16107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016108|116108|989898|1|9999016108|MR|Test|E|Lead 16108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016109|116109|989898|1|9999016109|MR|Test|E|Lead 16109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016110|116110|989898|1|9999016110|MR|Test|E|Lead 16110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016111|116111|989898|1|9999016111|MR|Test|E|Lead 16111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016112|116112|989898|1|9999016112|MR|Test|E|Lead 16112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016113|116113|989898|1|9999016113|MR|Test|E|Lead 16113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016114|116114|989898|1|9999016114|MR|Test|E|Lead 16114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016115|116115|989898|1|9999016115|MR|Test|E|Lead 16115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016116|116116|989898|1|9999016116|MR|Test|E|Lead 16116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016117|116117|989898|1|9999016117|MR|Test|E|Lead 16117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016118|116118|989898|1|9999016118|MR|Test|E|Lead 16118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016119|116119|989898|1|9999016119|MR|Test|E|Lead 16119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016120|116120|989898|1|9999016120|MR|Test|E|Lead 16120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016121|116121|989898|1|9999016121|MR|Test|E|Lead 16121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016122|116122|989898|1|9999016122|MR|Test|E|Lead 16122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016123|116123|989898|1|9999016123|MR|Test|E|Lead 16123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016124|116124|989898|1|9999016124|MR|Test|E|Lead 16124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016125|116125|989898|1|9999016125|MR|Test|E|Lead 16125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016126|116126|989898|1|9999016126|MR|Test|E|Lead 16126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016127|116127|989898|1|9999016127|MR|Test|E|Lead 16127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016128|116128|989898|1|9999016128|MR|Test|E|Lead 16128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016129|116129|989898|1|9999016129|MR|Test|E|Lead 16129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016130|116130|989898|1|9999016130|MR|Test|E|Lead 16130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016131|116131|989898|1|9999016131|MR|Test|E|Lead 16131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016132|116132|989898|1|9999016132|MR|Test|E|Lead 16132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016133|116133|989898|1|9999016133|MR|Test|E|Lead 16133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016134|116134|989898|1|9999016134|MR|Test|E|Lead 16134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016135|116135|989898|1|9999016135|MR|Test|E|Lead 16135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016136|116136|989898|1|9999016136|MR|Test|E|Lead 16136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016137|116137|989898|1|9999016137|MR|Test|E|Lead 16137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016138|116138|989898|1|9999016138|MR|Test|E|Lead 16138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016139|116139|989898|1|9999016139|MR|Test|E|Lead 16139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016140|116140|989898|1|9999016140|MR|Test|E|Lead 16140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016141|116141|989898|1|9999016141|MR|Test|E|Lead 16141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016142|116142|989898|1|9999016142|MR|Test|E|Lead 16142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016143|116143|989898|1|9999016143|MR|Test|E|Lead 16143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016144|116144|989898|1|9999016144|MR|Test|E|Lead 16144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016145|116145|989898|1|9999016145|MR|Test|E|Lead 16145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016146|116146|989898|1|9999016146|MR|Test|E|Lead 16146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016147|116147|989898|1|9999016147|MR|Test|E|Lead 16147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016148|116148|989898|1|9999016148|MR|Test|E|Lead 16148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016149|116149|989898|1|9999016149|MR|Test|E|Lead 16149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016150|116150|989898|1|9999016150|MR|Test|E|Lead 16150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016151|116151|989898|1|9999016151|MR|Test|E|Lead 16151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016152|116152|989898|1|9999016152|MR|Test|E|Lead 16152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016153|116153|989898|1|9999016153|MR|Test|E|Lead 16153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016154|116154|989898|1|9999016154|MR|Test|E|Lead 16154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016155|116155|989898|1|9999016155|MR|Test|E|Lead 16155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016156|116156|989898|1|9999016156|MR|Test|E|Lead 16156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016157|116157|989898|1|9999016157|MR|Test|E|Lead 16157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016158|116158|989898|1|9999016158|MR|Test|E|Lead 16158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016159|116159|989898|1|9999016159|MR|Test|E|Lead 16159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016160|116160|989898|1|9999016160|MR|Test|E|Lead 16160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016161|116161|989898|1|9999016161|MR|Test|E|Lead 16161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016162|116162|989898|1|9999016162|MR|Test|E|Lead 16162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016163|116163|989898|1|9999016163|MR|Test|E|Lead 16163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016164|116164|989898|1|9999016164|MR|Test|E|Lead 16164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016165|116165|989898|1|9999016165|MR|Test|E|Lead 16165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016166|116166|989898|1|9999016166|MR|Test|E|Lead 16166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016167|116167|989898|1|9999016167|MR|Test|E|Lead 16167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016168|116168|989898|1|9999016168|MR|Test|E|Lead 16168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016169|116169|989898|1|9999016169|MR|Test|E|Lead 16169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016170|116170|989898|1|9999016170|MR|Test|E|Lead 16170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016171|116171|989898|1|9999016171|MR|Test|E|Lead 16171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016172|116172|989898|1|9999016172|MR|Test|E|Lead 16172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016173|116173|989898|1|9999016173|MR|Test|E|Lead 16173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016174|116174|989898|1|9999016174|MR|Test|E|Lead 16174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016175|116175|989898|1|9999016175|MR|Test|E|Lead 16175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016176|116176|989898|1|9999016176|MR|Test|E|Lead 16176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016177|116177|989898|1|9999016177|MR|Test|E|Lead 16177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016178|116178|989898|1|9999016178|MR|Test|E|Lead 16178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016179|116179|989898|1|9999016179|MR|Test|E|Lead 16179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016180|116180|989898|1|9999016180|MR|Test|E|Lead 16180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016181|116181|989898|1|9999016181|MR|Test|E|Lead 16181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016182|116182|989898|1|9999016182|MR|Test|E|Lead 16182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016183|116183|989898|1|9999016183|MR|Test|E|Lead 16183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016184|116184|989898|1|9999016184|MR|Test|E|Lead 16184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016185|116185|989898|1|9999016185|MR|Test|E|Lead 16185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016186|116186|989898|1|9999016186|MR|Test|E|Lead 16186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016187|116187|989898|1|9999016187|MR|Test|E|Lead 16187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016188|116188|989898|1|9999016188|MR|Test|E|Lead 16188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016189|116189|989898|1|9999016189|MR|Test|E|Lead 16189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016190|116190|989898|1|9999016190|MR|Test|E|Lead 16190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016191|116191|989898|1|9999016191|MR|Test|E|Lead 16191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016192|116192|989898|1|9999016192|MR|Test|E|Lead 16192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016193|116193|989898|1|9999016193|MR|Test|E|Lead 16193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016194|116194|989898|1|9999016194|MR|Test|E|Lead 16194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016195|116195|989898|1|9999016195|MR|Test|E|Lead 16195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016196|116196|989898|1|9999016196|MR|Test|E|Lead 16196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016197|116197|989898|1|9999016197|MR|Test|E|Lead 16197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016198|116198|989898|1|9999016198|MR|Test|E|Lead 16198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016199|116199|989898|1|9999016199|MR|Test|E|Lead 16199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016200|116200|989898|1|9999016200|MR|Test|E|Lead 16200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016201|116201|989898|1|9999016201|MR|Test|E|Lead 16201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016202|116202|989898|1|9999016202|MR|Test|E|Lead 16202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016203|116203|989898|1|9999016203|MR|Test|E|Lead 16203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016204|116204|989898|1|9999016204|MR|Test|E|Lead 16204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016205|116205|989898|1|9999016205|MR|Test|E|Lead 16205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016206|116206|989898|1|9999016206|MR|Test|E|Lead 16206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016207|116207|989898|1|9999016207|MR|Test|E|Lead 16207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016208|116208|989898|1|9999016208|MR|Test|E|Lead 16208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016209|116209|989898|1|9999016209|MR|Test|E|Lead 16209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016210|116210|989898|1|9999016210|MR|Test|E|Lead 16210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016211|116211|989898|1|9999016211|MR|Test|E|Lead 16211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016212|116212|989898|1|9999016212|MR|Test|E|Lead 16212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016213|116213|989898|1|9999016213|MR|Test|E|Lead 16213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016214|116214|989898|1|9999016214|MR|Test|E|Lead 16214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016215|116215|989898|1|9999016215|MR|Test|E|Lead 16215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016216|116216|989898|1|9999016216|MR|Test|E|Lead 16216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016217|116217|989898|1|9999016217|MR|Test|E|Lead 16217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016218|116218|989898|1|9999016218|MR|Test|E|Lead 16218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016219|116219|989898|1|9999016219|MR|Test|E|Lead 16219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016220|116220|989898|1|9999016220|MR|Test|E|Lead 16220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016221|116221|989898|1|9999016221|MR|Test|E|Lead 16221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016222|116222|989898|1|9999016222|MR|Test|E|Lead 16222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016223|116223|989898|1|9999016223|MR|Test|E|Lead 16223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016224|116224|989898|1|9999016224|MR|Test|E|Lead 16224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016225|116225|989898|1|9999016225|MR|Test|E|Lead 16225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016226|116226|989898|1|9999016226|MR|Test|E|Lead 16226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016227|116227|989898|1|9999016227|MR|Test|E|Lead 16227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016228|116228|989898|1|9999016228|MR|Test|E|Lead 16228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016229|116229|989898|1|9999016229|MR|Test|E|Lead 16229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016230|116230|989898|1|9999016230|MR|Test|E|Lead 16230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016231|116231|989898|1|9999016231|MR|Test|E|Lead 16231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016232|116232|989898|1|9999016232|MR|Test|E|Lead 16232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016233|116233|989898|1|9999016233|MR|Test|E|Lead 16233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016234|116234|989898|1|9999016234|MR|Test|E|Lead 16234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016235|116235|989898|1|9999016235|MR|Test|E|Lead 16235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016236|116236|989898|1|9999016236|MR|Test|E|Lead 16236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016237|116237|989898|1|9999016237|MR|Test|E|Lead 16237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016238|116238|989898|1|9999016238|MR|Test|E|Lead 16238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016239|116239|989898|1|9999016239|MR|Test|E|Lead 16239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016240|116240|989898|1|9999016240|MR|Test|E|Lead 16240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016241|116241|989898|1|9999016241|MR|Test|E|Lead 16241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016242|116242|989898|1|9999016242|MR|Test|E|Lead 16242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016243|116243|989898|1|9999016243|MR|Test|E|Lead 16243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016244|116244|989898|1|9999016244|MR|Test|E|Lead 16244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016245|116245|989898|1|9999016245|MR|Test|E|Lead 16245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016246|116246|989898|1|9999016246|MR|Test|E|Lead 16246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016247|116247|989898|1|9999016247|MR|Test|E|Lead 16247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016248|116248|989898|1|9999016248|MR|Test|E|Lead 16248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016249|116249|989898|1|9999016249|MR|Test|E|Lead 16249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016250|116250|989898|1|9999016250|MR|Test|E|Lead 16250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016251|116251|989898|1|9999016251|MR|Test|E|Lead 16251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016252|116252|989898|1|9999016252|MR|Test|E|Lead 16252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016253|116253|989898|1|9999016253|MR|Test|E|Lead 16253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016254|116254|989898|1|9999016254|MR|Test|E|Lead 16254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016255|116255|989898|1|9999016255|MR|Test|E|Lead 16255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016256|116256|989898|1|9999016256|MR|Test|E|Lead 16256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016257|116257|989898|1|9999016257|MR|Test|E|Lead 16257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016258|116258|989898|1|9999016258|MR|Test|E|Lead 16258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016259|116259|989898|1|9999016259|MR|Test|E|Lead 16259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016260|116260|989898|1|9999016260|MR|Test|E|Lead 16260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016261|116261|989898|1|9999016261|MR|Test|E|Lead 16261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016262|116262|989898|1|9999016262|MR|Test|E|Lead 16262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016263|116263|989898|1|9999016263|MR|Test|E|Lead 16263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016264|116264|989898|1|9999016264|MR|Test|E|Lead 16264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016265|116265|989898|1|9999016265|MR|Test|E|Lead 16265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016266|116266|989898|1|9999016266|MR|Test|E|Lead 16266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016267|116267|989898|1|9999016267|MR|Test|E|Lead 16267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016268|116268|989898|1|9999016268|MR|Test|E|Lead 16268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016269|116269|989898|1|9999016269|MR|Test|E|Lead 16269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016270|116270|989898|1|9999016270|MR|Test|E|Lead 16270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016271|116271|989898|1|9999016271|MR|Test|E|Lead 16271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016272|116272|989898|1|9999016272|MR|Test|E|Lead 16272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016273|116273|989898|1|9999016273|MR|Test|E|Lead 16273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016274|116274|989898|1|9999016274|MR|Test|E|Lead 16274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016275|116275|989898|1|9999016275|MR|Test|E|Lead 16275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016276|116276|989898|1|9999016276|MR|Test|E|Lead 16276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016277|116277|989898|1|9999016277|MR|Test|E|Lead 16277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016278|116278|989898|1|9999016278|MR|Test|E|Lead 16278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016279|116279|989898|1|9999016279|MR|Test|E|Lead 16279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016280|116280|989898|1|9999016280|MR|Test|E|Lead 16280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016281|116281|989898|1|9999016281|MR|Test|E|Lead 16281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016282|116282|989898|1|9999016282|MR|Test|E|Lead 16282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016283|116283|989898|1|9999016283|MR|Test|E|Lead 16283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016284|116284|989898|1|9999016284|MR|Test|E|Lead 16284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016285|116285|989898|1|9999016285|MR|Test|E|Lead 16285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016286|116286|989898|1|9999016286|MR|Test|E|Lead 16286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016287|116287|989898|1|9999016287|MR|Test|E|Lead 16287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016288|116288|989898|1|9999016288|MR|Test|E|Lead 16288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016289|116289|989898|1|9999016289|MR|Test|E|Lead 16289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016290|116290|989898|1|9999016290|MR|Test|E|Lead 16290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016291|116291|989898|1|9999016291|MR|Test|E|Lead 16291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016292|116292|989898|1|9999016292|MR|Test|E|Lead 16292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016293|116293|989898|1|9999016293|MR|Test|E|Lead 16293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016294|116294|989898|1|9999016294|MR|Test|E|Lead 16294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016295|116295|989898|1|9999016295|MR|Test|E|Lead 16295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016296|116296|989898|1|9999016296|MR|Test|E|Lead 16296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016297|116297|989898|1|9999016297|MR|Test|E|Lead 16297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016298|116298|989898|1|9999016298|MR|Test|E|Lead 16298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016299|116299|989898|1|9999016299|MR|Test|E|Lead 16299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016300|116300|989898|1|9999016300|MR|Test|E|Lead 16300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016301|116301|989898|1|9999016301|MR|Test|E|Lead 16301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016302|116302|989898|1|9999016302|MR|Test|E|Lead 16302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016303|116303|989898|1|9999016303|MR|Test|E|Lead 16303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016304|116304|989898|1|9999016304|MR|Test|E|Lead 16304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016305|116305|989898|1|9999016305|MR|Test|E|Lead 16305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016306|116306|989898|1|9999016306|MR|Test|E|Lead 16306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016307|116307|989898|1|9999016307|MR|Test|E|Lead 16307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016308|116308|989898|1|9999016308|MR|Test|E|Lead 16308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016309|116309|989898|1|9999016309|MR|Test|E|Lead 16309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016310|116310|989898|1|9999016310|MR|Test|E|Lead 16310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016311|116311|989898|1|9999016311|MR|Test|E|Lead 16311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016312|116312|989898|1|9999016312|MR|Test|E|Lead 16312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016313|116313|989898|1|9999016313|MR|Test|E|Lead 16313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016314|116314|989898|1|9999016314|MR|Test|E|Lead 16314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016315|116315|989898|1|9999016315|MR|Test|E|Lead 16315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016316|116316|989898|1|9999016316|MR|Test|E|Lead 16316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016317|116317|989898|1|9999016317|MR|Test|E|Lead 16317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016318|116318|989898|1|9999016318|MR|Test|E|Lead 16318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016319|116319|989898|1|9999016319|MR|Test|E|Lead 16319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016320|116320|989898|1|9999016320|MR|Test|E|Lead 16320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016321|116321|989898|1|9999016321|MR|Test|E|Lead 16321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016322|116322|989898|1|9999016322|MR|Test|E|Lead 16322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016323|116323|989898|1|9999016323|MR|Test|E|Lead 16323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016324|116324|989898|1|9999016324|MR|Test|E|Lead 16324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016325|116325|989898|1|9999016325|MR|Test|E|Lead 16325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016326|116326|989898|1|9999016326|MR|Test|E|Lead 16326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016327|116327|989898|1|9999016327|MR|Test|E|Lead 16327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016328|116328|989898|1|9999016328|MR|Test|E|Lead 16328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016329|116329|989898|1|9999016329|MR|Test|E|Lead 16329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016330|116330|989898|1|9999016330|MR|Test|E|Lead 16330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016331|116331|989898|1|9999016331|MR|Test|E|Lead 16331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016332|116332|989898|1|9999016332|MR|Test|E|Lead 16332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016333|116333|989898|1|9999016333|MR|Test|E|Lead 16333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016334|116334|989898|1|9999016334|MR|Test|E|Lead 16334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016335|116335|989898|1|9999016335|MR|Test|E|Lead 16335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016336|116336|989898|1|9999016336|MR|Test|E|Lead 16336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016337|116337|989898|1|9999016337|MR|Test|E|Lead 16337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016338|116338|989898|1|9999016338|MR|Test|E|Lead 16338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016339|116339|989898|1|9999016339|MR|Test|E|Lead 16339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016340|116340|989898|1|9999016340|MR|Test|E|Lead 16340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016341|116341|989898|1|9999016341|MR|Test|E|Lead 16341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016342|116342|989898|1|9999016342|MR|Test|E|Lead 16342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016343|116343|989898|1|9999016343|MR|Test|E|Lead 16343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016344|116344|989898|1|9999016344|MR|Test|E|Lead 16344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016345|116345|989898|1|9999016345|MR|Test|E|Lead 16345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016346|116346|989898|1|9999016346|MR|Test|E|Lead 16346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016347|116347|989898|1|9999016347|MR|Test|E|Lead 16347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016348|116348|989898|1|9999016348|MR|Test|E|Lead 16348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016349|116349|989898|1|9999016349|MR|Test|E|Lead 16349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016350|116350|989898|1|9999016350|MR|Test|E|Lead 16350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016351|116351|989898|1|9999016351|MR|Test|E|Lead 16351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016352|116352|989898|1|9999016352|MR|Test|E|Lead 16352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016353|116353|989898|1|9999016353|MR|Test|E|Lead 16353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016354|116354|989898|1|9999016354|MR|Test|E|Lead 16354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016355|116355|989898|1|9999016355|MR|Test|E|Lead 16355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016356|116356|989898|1|9999016356|MR|Test|E|Lead 16356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016357|116357|989898|1|9999016357|MR|Test|E|Lead 16357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016358|116358|989898|1|9999016358|MR|Test|E|Lead 16358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016359|116359|989898|1|9999016359|MR|Test|E|Lead 16359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016360|116360|989898|1|9999016360|MR|Test|E|Lead 16360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016361|116361|989898|1|9999016361|MR|Test|E|Lead 16361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016362|116362|989898|1|9999016362|MR|Test|E|Lead 16362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016363|116363|989898|1|9999016363|MR|Test|E|Lead 16363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016364|116364|989898|1|9999016364|MR|Test|E|Lead 16364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016365|116365|989898|1|9999016365|MR|Test|E|Lead 16365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016366|116366|989898|1|9999016366|MR|Test|E|Lead 16366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016367|116367|989898|1|9999016367|MR|Test|E|Lead 16367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016368|116368|989898|1|9999016368|MR|Test|E|Lead 16368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016369|116369|989898|1|9999016369|MR|Test|E|Lead 16369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016370|116370|989898|1|9999016370|MR|Test|E|Lead 16370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016371|116371|989898|1|9999016371|MR|Test|E|Lead 16371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016372|116372|989898|1|9999016372|MR|Test|E|Lead 16372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016373|116373|989898|1|9999016373|MR|Test|E|Lead 16373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016374|116374|989898|1|9999016374|MR|Test|E|Lead 16374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016375|116375|989898|1|9999016375|MR|Test|E|Lead 16375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016376|116376|989898|1|9999016376|MR|Test|E|Lead 16376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016377|116377|989898|1|9999016377|MR|Test|E|Lead 16377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016378|116378|989898|1|9999016378|MR|Test|E|Lead 16378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016379|116379|989898|1|9999016379|MR|Test|E|Lead 16379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016380|116380|989898|1|9999016380|MR|Test|E|Lead 16380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016381|116381|989898|1|9999016381|MR|Test|E|Lead 16381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016382|116382|989898|1|9999016382|MR|Test|E|Lead 16382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016383|116383|989898|1|9999016383|MR|Test|E|Lead 16383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016384|116384|989898|1|9999016384|MR|Test|E|Lead 16384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016385|116385|989898|1|9999016385|MR|Test|E|Lead 16385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016386|116386|989898|1|9999016386|MR|Test|E|Lead 16386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016387|116387|989898|1|9999016387|MR|Test|E|Lead 16387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016388|116388|989898|1|9999016388|MR|Test|E|Lead 16388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016389|116389|989898|1|9999016389|MR|Test|E|Lead 16389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016390|116390|989898|1|9999016390|MR|Test|E|Lead 16390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016391|116391|989898|1|9999016391|MR|Test|E|Lead 16391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016392|116392|989898|1|9999016392|MR|Test|E|Lead 16392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016393|116393|989898|1|9999016393|MR|Test|E|Lead 16393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016394|116394|989898|1|9999016394|MR|Test|E|Lead 16394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016395|116395|989898|1|9999016395|MR|Test|E|Lead 16395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016396|116396|989898|1|9999016396|MR|Test|E|Lead 16396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016397|116397|989898|1|9999016397|MR|Test|E|Lead 16397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016398|116398|989898|1|9999016398|MR|Test|E|Lead 16398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016399|116399|989898|1|9999016399|MR|Test|E|Lead 16399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016400|116400|989898|1|9999016400|MR|Test|E|Lead 16400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016401|116401|989898|1|9999016401|MR|Test|E|Lead 16401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016402|116402|989898|1|9999016402|MR|Test|E|Lead 16402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016403|116403|989898|1|9999016403|MR|Test|E|Lead 16403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016404|116404|989898|1|9999016404|MR|Test|E|Lead 16404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016405|116405|989898|1|9999016405|MR|Test|E|Lead 16405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016406|116406|989898|1|9999016406|MR|Test|E|Lead 16406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016407|116407|989898|1|9999016407|MR|Test|E|Lead 16407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016408|116408|989898|1|9999016408|MR|Test|E|Lead 16408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016409|116409|989898|1|9999016409|MR|Test|E|Lead 16409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016410|116410|989898|1|9999016410|MR|Test|E|Lead 16410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016411|116411|989898|1|9999016411|MR|Test|E|Lead 16411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016412|116412|989898|1|9999016412|MR|Test|E|Lead 16412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016413|116413|989898|1|9999016413|MR|Test|E|Lead 16413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016414|116414|989898|1|9999016414|MR|Test|E|Lead 16414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016415|116415|989898|1|9999016415|MR|Test|E|Lead 16415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016416|116416|989898|1|9999016416|MR|Test|E|Lead 16416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016417|116417|989898|1|9999016417|MR|Test|E|Lead 16417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016418|116418|989898|1|9999016418|MR|Test|E|Lead 16418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016419|116419|989898|1|9999016419|MR|Test|E|Lead 16419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016420|116420|989898|1|9999016420|MR|Test|E|Lead 16420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016421|116421|989898|1|9999016421|MR|Test|E|Lead 16421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016422|116422|989898|1|9999016422|MR|Test|E|Lead 16422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016423|116423|989898|1|9999016423|MR|Test|E|Lead 16423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016424|116424|989898|1|9999016424|MR|Test|E|Lead 16424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016425|116425|989898|1|9999016425|MR|Test|E|Lead 16425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016426|116426|989898|1|9999016426|MR|Test|E|Lead 16426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016427|116427|989898|1|9999016427|MR|Test|E|Lead 16427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016428|116428|989898|1|9999016428|MR|Test|E|Lead 16428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016429|116429|989898|1|9999016429|MR|Test|E|Lead 16429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016430|116430|989898|1|9999016430|MR|Test|E|Lead 16430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016431|116431|989898|1|9999016431|MR|Test|E|Lead 16431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016432|116432|989898|1|9999016432|MR|Test|E|Lead 16432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016433|116433|989898|1|9999016433|MR|Test|E|Lead 16433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016434|116434|989898|1|9999016434|MR|Test|E|Lead 16434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016435|116435|989898|1|9999016435|MR|Test|E|Lead 16435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016436|116436|989898|1|9999016436|MR|Test|E|Lead 16436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016437|116437|989898|1|9999016437|MR|Test|E|Lead 16437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016438|116438|989898|1|9999016438|MR|Test|E|Lead 16438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016439|116439|989898|1|9999016439|MR|Test|E|Lead 16439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016440|116440|989898|1|9999016440|MR|Test|E|Lead 16440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016441|116441|989898|1|9999016441|MR|Test|E|Lead 16441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016442|116442|989898|1|9999016442|MR|Test|E|Lead 16442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016443|116443|989898|1|9999016443|MR|Test|E|Lead 16443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016444|116444|989898|1|9999016444|MR|Test|E|Lead 16444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016445|116445|989898|1|9999016445|MR|Test|E|Lead 16445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016446|116446|989898|1|9999016446|MR|Test|E|Lead 16446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016447|116447|989898|1|9999016447|MR|Test|E|Lead 16447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016448|116448|989898|1|9999016448|MR|Test|E|Lead 16448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016449|116449|989898|1|9999016449|MR|Test|E|Lead 16449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016450|116450|989898|1|9999016450|MR|Test|E|Lead 16450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016451|116451|989898|1|9999016451|MR|Test|E|Lead 16451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016452|116452|989898|1|9999016452|MR|Test|E|Lead 16452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016453|116453|989898|1|9999016453|MR|Test|E|Lead 16453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016454|116454|989898|1|9999016454|MR|Test|E|Lead 16454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016455|116455|989898|1|9999016455|MR|Test|E|Lead 16455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016456|116456|989898|1|9999016456|MR|Test|E|Lead 16456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016457|116457|989898|1|9999016457|MR|Test|E|Lead 16457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016458|116458|989898|1|9999016458|MR|Test|E|Lead 16458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016459|116459|989898|1|9999016459|MR|Test|E|Lead 16459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016460|116460|989898|1|9999016460|MR|Test|E|Lead 16460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016461|116461|989898|1|9999016461|MR|Test|E|Lead 16461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016462|116462|989898|1|9999016462|MR|Test|E|Lead 16462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016463|116463|989898|1|9999016463|MR|Test|E|Lead 16463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016464|116464|989898|1|9999016464|MR|Test|E|Lead 16464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016465|116465|989898|1|9999016465|MR|Test|E|Lead 16465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016466|116466|989898|1|9999016466|MR|Test|E|Lead 16466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016467|116467|989898|1|9999016467|MR|Test|E|Lead 16467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016468|116468|989898|1|9999016468|MR|Test|E|Lead 16468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016469|116469|989898|1|9999016469|MR|Test|E|Lead 16469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016470|116470|989898|1|9999016470|MR|Test|E|Lead 16470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016471|116471|989898|1|9999016471|MR|Test|E|Lead 16471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016472|116472|989898|1|9999016472|MR|Test|E|Lead 16472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016473|116473|989898|1|9999016473|MR|Test|E|Lead 16473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016474|116474|989898|1|9999016474|MR|Test|E|Lead 16474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016475|116475|989898|1|9999016475|MR|Test|E|Lead 16475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016476|116476|989898|1|9999016476|MR|Test|E|Lead 16476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016477|116477|989898|1|9999016477|MR|Test|E|Lead 16477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016478|116478|989898|1|9999016478|MR|Test|E|Lead 16478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016479|116479|989898|1|9999016479|MR|Test|E|Lead 16479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016480|116480|989898|1|9999016480|MR|Test|E|Lead 16480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016481|116481|989898|1|9999016481|MR|Test|E|Lead 16481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016482|116482|989898|1|9999016482|MR|Test|E|Lead 16482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016483|116483|989898|1|9999016483|MR|Test|E|Lead 16483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016484|116484|989898|1|9999016484|MR|Test|E|Lead 16484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016485|116485|989898|1|9999016485|MR|Test|E|Lead 16485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016486|116486|989898|1|9999016486|MR|Test|E|Lead 16486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016487|116487|989898|1|9999016487|MR|Test|E|Lead 16487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016488|116488|989898|1|9999016488|MR|Test|E|Lead 16488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016489|116489|989898|1|9999016489|MR|Test|E|Lead 16489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016490|116490|989898|1|9999016490|MR|Test|E|Lead 16490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016491|116491|989898|1|9999016491|MR|Test|E|Lead 16491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016492|116492|989898|1|9999016492|MR|Test|E|Lead 16492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016493|116493|989898|1|9999016493|MR|Test|E|Lead 16493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016494|116494|989898|1|9999016494|MR|Test|E|Lead 16494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016495|116495|989898|1|9999016495|MR|Test|E|Lead 16495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016496|116496|989898|1|9999016496|MR|Test|E|Lead 16496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016497|116497|989898|1|9999016497|MR|Test|E|Lead 16497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016498|116498|989898|1|9999016498|MR|Test|E|Lead 16498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016499|116499|989898|1|9999016499|MR|Test|E|Lead 16499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016500|116500|989898|1|9999016500|MR|Test|E|Lead 16500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016501|116501|989898|1|9999016501|MR|Test|E|Lead 16501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016502|116502|989898|1|9999016502|MR|Test|E|Lead 16502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016503|116503|989898|1|9999016503|MR|Test|E|Lead 16503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016504|116504|989898|1|9999016504|MR|Test|E|Lead 16504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016505|116505|989898|1|9999016505|MR|Test|E|Lead 16505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016506|116506|989898|1|9999016506|MR|Test|E|Lead 16506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016507|116507|989898|1|9999016507|MR|Test|E|Lead 16507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016508|116508|989898|1|9999016508|MR|Test|E|Lead 16508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016509|116509|989898|1|9999016509|MR|Test|E|Lead 16509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016510|116510|989898|1|9999016510|MR|Test|E|Lead 16510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016511|116511|989898|1|9999016511|MR|Test|E|Lead 16511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016512|116512|989898|1|9999016512|MR|Test|E|Lead 16512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016513|116513|989898|1|9999016513|MR|Test|E|Lead 16513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016514|116514|989898|1|9999016514|MR|Test|E|Lead 16514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016515|116515|989898|1|9999016515|MR|Test|E|Lead 16515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016516|116516|989898|1|9999016516|MR|Test|E|Lead 16516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016517|116517|989898|1|9999016517|MR|Test|E|Lead 16517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016518|116518|989898|1|9999016518|MR|Test|E|Lead 16518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016519|116519|989898|1|9999016519|MR|Test|E|Lead 16519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016520|116520|989898|1|9999016520|MR|Test|E|Lead 16520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016521|116521|989898|1|9999016521|MR|Test|E|Lead 16521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016522|116522|989898|1|9999016522|MR|Test|E|Lead 16522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016523|116523|989898|1|9999016523|MR|Test|E|Lead 16523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016524|116524|989898|1|9999016524|MR|Test|E|Lead 16524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016525|116525|989898|1|9999016525|MR|Test|E|Lead 16525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016526|116526|989898|1|9999016526|MR|Test|E|Lead 16526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016527|116527|989898|1|9999016527|MR|Test|E|Lead 16527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016528|116528|989898|1|9999016528|MR|Test|E|Lead 16528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016529|116529|989898|1|9999016529|MR|Test|E|Lead 16529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016530|116530|989898|1|9999016530|MR|Test|E|Lead 16530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016531|116531|989898|1|9999016531|MR|Test|E|Lead 16531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016532|116532|989898|1|9999016532|MR|Test|E|Lead 16532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016533|116533|989898|1|9999016533|MR|Test|E|Lead 16533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016534|116534|989898|1|9999016534|MR|Test|E|Lead 16534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016535|116535|989898|1|9999016535|MR|Test|E|Lead 16535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016536|116536|989898|1|9999016536|MR|Test|E|Lead 16536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016537|116537|989898|1|9999016537|MR|Test|E|Lead 16537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016538|116538|989898|1|9999016538|MR|Test|E|Lead 16538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016539|116539|989898|1|9999016539|MR|Test|E|Lead 16539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016540|116540|989898|1|9999016540|MR|Test|E|Lead 16540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016541|116541|989898|1|9999016541|MR|Test|E|Lead 16541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016542|116542|989898|1|9999016542|MR|Test|E|Lead 16542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016543|116543|989898|1|9999016543|MR|Test|E|Lead 16543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016544|116544|989898|1|9999016544|MR|Test|E|Lead 16544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016545|116545|989898|1|9999016545|MR|Test|E|Lead 16545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016546|116546|989898|1|9999016546|MR|Test|E|Lead 16546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016547|116547|989898|1|9999016547|MR|Test|E|Lead 16547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016548|116548|989898|1|9999016548|MR|Test|E|Lead 16548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016549|116549|989898|1|9999016549|MR|Test|E|Lead 16549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016550|116550|989898|1|9999016550|MR|Test|E|Lead 16550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016551|116551|989898|1|9999016551|MR|Test|E|Lead 16551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016552|116552|989898|1|9999016552|MR|Test|E|Lead 16552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016553|116553|989898|1|9999016553|MR|Test|E|Lead 16553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016554|116554|989898|1|9999016554|MR|Test|E|Lead 16554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016555|116555|989898|1|9999016555|MR|Test|E|Lead 16555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016556|116556|989898|1|9999016556|MR|Test|E|Lead 16556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016557|116557|989898|1|9999016557|MR|Test|E|Lead 16557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016558|116558|989898|1|9999016558|MR|Test|E|Lead 16558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016559|116559|989898|1|9999016559|MR|Test|E|Lead 16559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016560|116560|989898|1|9999016560|MR|Test|E|Lead 16560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016561|116561|989898|1|9999016561|MR|Test|E|Lead 16561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016562|116562|989898|1|9999016562|MR|Test|E|Lead 16562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016563|116563|989898|1|9999016563|MR|Test|E|Lead 16563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016564|116564|989898|1|9999016564|MR|Test|E|Lead 16564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016565|116565|989898|1|9999016565|MR|Test|E|Lead 16565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016566|116566|989898|1|9999016566|MR|Test|E|Lead 16566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016567|116567|989898|1|9999016567|MR|Test|E|Lead 16567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016568|116568|989898|1|9999016568|MR|Test|E|Lead 16568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016569|116569|989898|1|9999016569|MR|Test|E|Lead 16569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016570|116570|989898|1|9999016570|MR|Test|E|Lead 16570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016571|116571|989898|1|9999016571|MR|Test|E|Lead 16571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016572|116572|989898|1|9999016572|MR|Test|E|Lead 16572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016573|116573|989898|1|9999016573|MR|Test|E|Lead 16573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016574|116574|989898|1|9999016574|MR|Test|E|Lead 16574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016575|116575|989898|1|9999016575|MR|Test|E|Lead 16575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016576|116576|989898|1|9999016576|MR|Test|E|Lead 16576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016577|116577|989898|1|9999016577|MR|Test|E|Lead 16577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016578|116578|989898|1|9999016578|MR|Test|E|Lead 16578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016579|116579|989898|1|9999016579|MR|Test|E|Lead 16579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016580|116580|989898|1|9999016580|MR|Test|E|Lead 16580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016581|116581|989898|1|9999016581|MR|Test|E|Lead 16581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016582|116582|989898|1|9999016582|MR|Test|E|Lead 16582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016583|116583|989898|1|9999016583|MR|Test|E|Lead 16583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016584|116584|989898|1|9999016584|MR|Test|E|Lead 16584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016585|116585|989898|1|9999016585|MR|Test|E|Lead 16585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016586|116586|989898|1|9999016586|MR|Test|E|Lead 16586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016587|116587|989898|1|9999016587|MR|Test|E|Lead 16587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016588|116588|989898|1|9999016588|MR|Test|E|Lead 16588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016589|116589|989898|1|9999016589|MR|Test|E|Lead 16589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016590|116590|989898|1|9999016590|MR|Test|E|Lead 16590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016591|116591|989898|1|9999016591|MR|Test|E|Lead 16591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016592|116592|989898|1|9999016592|MR|Test|E|Lead 16592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016593|116593|989898|1|9999016593|MR|Test|E|Lead 16593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016594|116594|989898|1|9999016594|MR|Test|E|Lead 16594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016595|116595|989898|1|9999016595|MR|Test|E|Lead 16595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016596|116596|989898|1|9999016596|MR|Test|E|Lead 16596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016597|116597|989898|1|9999016597|MR|Test|E|Lead 16597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016598|116598|989898|1|9999016598|MR|Test|E|Lead 16598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016599|116599|989898|1|9999016599|MR|Test|E|Lead 16599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016600|116600|989898|1|9999016600|MR|Test|E|Lead 16600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016601|116601|989898|1|9999016601|MR|Test|E|Lead 16601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016602|116602|989898|1|9999016602|MR|Test|E|Lead 16602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016603|116603|989898|1|9999016603|MR|Test|E|Lead 16603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016604|116604|989898|1|9999016604|MR|Test|E|Lead 16604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016605|116605|989898|1|9999016605|MR|Test|E|Lead 16605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016606|116606|989898|1|9999016606|MR|Test|E|Lead 16606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016607|116607|989898|1|9999016607|MR|Test|E|Lead 16607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016608|116608|989898|1|9999016608|MR|Test|E|Lead 16608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016609|116609|989898|1|9999016609|MR|Test|E|Lead 16609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016610|116610|989898|1|9999016610|MR|Test|E|Lead 16610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016611|116611|989898|1|9999016611|MR|Test|E|Lead 16611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016612|116612|989898|1|9999016612|MR|Test|E|Lead 16612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016613|116613|989898|1|9999016613|MR|Test|E|Lead 16613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016614|116614|989898|1|9999016614|MR|Test|E|Lead 16614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016615|116615|989898|1|9999016615|MR|Test|E|Lead 16615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016616|116616|989898|1|9999016616|MR|Test|E|Lead 16616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016617|116617|989898|1|9999016617|MR|Test|E|Lead 16617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016618|116618|989898|1|9999016618|MR|Test|E|Lead 16618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016619|116619|989898|1|9999016619|MR|Test|E|Lead 16619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016620|116620|989898|1|9999016620|MR|Test|E|Lead 16620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016621|116621|989898|1|9999016621|MR|Test|E|Lead 16621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016622|116622|989898|1|9999016622|MR|Test|E|Lead 16622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016623|116623|989898|1|9999016623|MR|Test|E|Lead 16623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016624|116624|989898|1|9999016624|MR|Test|E|Lead 16624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016625|116625|989898|1|9999016625|MR|Test|E|Lead 16625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016626|116626|989898|1|9999016626|MR|Test|E|Lead 16626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016627|116627|989898|1|9999016627|MR|Test|E|Lead 16627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016628|116628|989898|1|9999016628|MR|Test|E|Lead 16628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016629|116629|989898|1|9999016629|MR|Test|E|Lead 16629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016630|116630|989898|1|9999016630|MR|Test|E|Lead 16630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016631|116631|989898|1|9999016631|MR|Test|E|Lead 16631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016632|116632|989898|1|9999016632|MR|Test|E|Lead 16632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016633|116633|989898|1|9999016633|MR|Test|E|Lead 16633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016634|116634|989898|1|9999016634|MR|Test|E|Lead 16634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016635|116635|989898|1|9999016635|MR|Test|E|Lead 16635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016636|116636|989898|1|9999016636|MR|Test|E|Lead 16636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016637|116637|989898|1|9999016637|MR|Test|E|Lead 16637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016638|116638|989898|1|9999016638|MR|Test|E|Lead 16638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016639|116639|989898|1|9999016639|MR|Test|E|Lead 16639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016640|116640|989898|1|9999016640|MR|Test|E|Lead 16640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016641|116641|989898|1|9999016641|MR|Test|E|Lead 16641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016642|116642|989898|1|9999016642|MR|Test|E|Lead 16642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016643|116643|989898|1|9999016643|MR|Test|E|Lead 16643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016644|116644|989898|1|9999016644|MR|Test|E|Lead 16644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016645|116645|989898|1|9999016645|MR|Test|E|Lead 16645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016646|116646|989898|1|9999016646|MR|Test|E|Lead 16646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016647|116647|989898|1|9999016647|MR|Test|E|Lead 16647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016648|116648|989898|1|9999016648|MR|Test|E|Lead 16648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016649|116649|989898|1|9999016649|MR|Test|E|Lead 16649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016650|116650|989898|1|9999016650|MR|Test|E|Lead 16650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016651|116651|989898|1|9999016651|MR|Test|E|Lead 16651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016652|116652|989898|1|9999016652|MR|Test|E|Lead 16652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016653|116653|989898|1|9999016653|MR|Test|E|Lead 16653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016654|116654|989898|1|9999016654|MR|Test|E|Lead 16654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016655|116655|989898|1|9999016655|MR|Test|E|Lead 16655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016656|116656|989898|1|9999016656|MR|Test|E|Lead 16656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016657|116657|989898|1|9999016657|MR|Test|E|Lead 16657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016658|116658|989898|1|9999016658|MR|Test|E|Lead 16658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016659|116659|989898|1|9999016659|MR|Test|E|Lead 16659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016660|116660|989898|1|9999016660|MR|Test|E|Lead 16660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016661|116661|989898|1|9999016661|MR|Test|E|Lead 16661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016662|116662|989898|1|9999016662|MR|Test|E|Lead 16662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016663|116663|989898|1|9999016663|MR|Test|E|Lead 16663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016664|116664|989898|1|9999016664|MR|Test|E|Lead 16664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016665|116665|989898|1|9999016665|MR|Test|E|Lead 16665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016666|116666|989898|1|9999016666|MR|Test|E|Lead 16666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016667|116667|989898|1|9999016667|MR|Test|E|Lead 16667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016668|116668|989898|1|9999016668|MR|Test|E|Lead 16668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016669|116669|989898|1|9999016669|MR|Test|E|Lead 16669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016670|116670|989898|1|9999016670|MR|Test|E|Lead 16670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016671|116671|989898|1|9999016671|MR|Test|E|Lead 16671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016672|116672|989898|1|9999016672|MR|Test|E|Lead 16672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016673|116673|989898|1|9999016673|MR|Test|E|Lead 16673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016674|116674|989898|1|9999016674|MR|Test|E|Lead 16674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016675|116675|989898|1|9999016675|MR|Test|E|Lead 16675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016676|116676|989898|1|9999016676|MR|Test|E|Lead 16676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016677|116677|989898|1|9999016677|MR|Test|E|Lead 16677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016678|116678|989898|1|9999016678|MR|Test|E|Lead 16678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016679|116679|989898|1|9999016679|MR|Test|E|Lead 16679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016680|116680|989898|1|9999016680|MR|Test|E|Lead 16680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016681|116681|989898|1|9999016681|MR|Test|E|Lead 16681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016682|116682|989898|1|9999016682|MR|Test|E|Lead 16682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016683|116683|989898|1|9999016683|MR|Test|E|Lead 16683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016684|116684|989898|1|9999016684|MR|Test|E|Lead 16684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016685|116685|989898|1|9999016685|MR|Test|E|Lead 16685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016686|116686|989898|1|9999016686|MR|Test|E|Lead 16686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016687|116687|989898|1|9999016687|MR|Test|E|Lead 16687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016688|116688|989898|1|9999016688|MR|Test|E|Lead 16688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016689|116689|989898|1|9999016689|MR|Test|E|Lead 16689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016690|116690|989898|1|9999016690|MR|Test|E|Lead 16690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016691|116691|989898|1|9999016691|MR|Test|E|Lead 16691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016692|116692|989898|1|9999016692|MR|Test|E|Lead 16692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016693|116693|989898|1|9999016693|MR|Test|E|Lead 16693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016694|116694|989898|1|9999016694|MR|Test|E|Lead 16694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016695|116695|989898|1|9999016695|MR|Test|E|Lead 16695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016696|116696|989898|1|9999016696|MR|Test|E|Lead 16696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016697|116697|989898|1|9999016697|MR|Test|E|Lead 16697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016698|116698|989898|1|9999016698|MR|Test|E|Lead 16698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016699|116699|989898|1|9999016699|MR|Test|E|Lead 16699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016700|116700|989898|1|9999016700|MR|Test|E|Lead 16700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016701|116701|989898|1|9999016701|MR|Test|E|Lead 16701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016702|116702|989898|1|9999016702|MR|Test|E|Lead 16702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016703|116703|989898|1|9999016703|MR|Test|E|Lead 16703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016704|116704|989898|1|9999016704|MR|Test|E|Lead 16704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016705|116705|989898|1|9999016705|MR|Test|E|Lead 16705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016706|116706|989898|1|9999016706|MR|Test|E|Lead 16706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016707|116707|989898|1|9999016707|MR|Test|E|Lead 16707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016708|116708|989898|1|9999016708|MR|Test|E|Lead 16708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016709|116709|989898|1|9999016709|MR|Test|E|Lead 16709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016710|116710|989898|1|9999016710|MR|Test|E|Lead 16710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016711|116711|989898|1|9999016711|MR|Test|E|Lead 16711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016712|116712|989898|1|9999016712|MR|Test|E|Lead 16712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016713|116713|989898|1|9999016713|MR|Test|E|Lead 16713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016714|116714|989898|1|9999016714|MR|Test|E|Lead 16714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016715|116715|989898|1|9999016715|MR|Test|E|Lead 16715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016716|116716|989898|1|9999016716|MR|Test|E|Lead 16716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016717|116717|989898|1|9999016717|MR|Test|E|Lead 16717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016718|116718|989898|1|9999016718|MR|Test|E|Lead 16718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016719|116719|989898|1|9999016719|MR|Test|E|Lead 16719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016720|116720|989898|1|9999016720|MR|Test|E|Lead 16720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016721|116721|989898|1|9999016721|MR|Test|E|Lead 16721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016722|116722|989898|1|9999016722|MR|Test|E|Lead 16722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016723|116723|989898|1|9999016723|MR|Test|E|Lead 16723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016724|116724|989898|1|9999016724|MR|Test|E|Lead 16724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016725|116725|989898|1|9999016725|MR|Test|E|Lead 16725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016726|116726|989898|1|9999016726|MR|Test|E|Lead 16726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016727|116727|989898|1|9999016727|MR|Test|E|Lead 16727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016728|116728|989898|1|9999016728|MR|Test|E|Lead 16728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016729|116729|989898|1|9999016729|MR|Test|E|Lead 16729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016730|116730|989898|1|9999016730|MR|Test|E|Lead 16730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016731|116731|989898|1|9999016731|MR|Test|E|Lead 16731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016732|116732|989898|1|9999016732|MR|Test|E|Lead 16732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016733|116733|989898|1|9999016733|MR|Test|E|Lead 16733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016734|116734|989898|1|9999016734|MR|Test|E|Lead 16734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016735|116735|989898|1|9999016735|MR|Test|E|Lead 16735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016736|116736|989898|1|9999016736|MR|Test|E|Lead 16736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016737|116737|989898|1|9999016737|MR|Test|E|Lead 16737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016738|116738|989898|1|9999016738|MR|Test|E|Lead 16738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016739|116739|989898|1|9999016739|MR|Test|E|Lead 16739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016740|116740|989898|1|9999016740|MR|Test|E|Lead 16740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016741|116741|989898|1|9999016741|MR|Test|E|Lead 16741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016742|116742|989898|1|9999016742|MR|Test|E|Lead 16742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016743|116743|989898|1|9999016743|MR|Test|E|Lead 16743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016744|116744|989898|1|9999016744|MR|Test|E|Lead 16744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016745|116745|989898|1|9999016745|MR|Test|E|Lead 16745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016746|116746|989898|1|9999016746|MR|Test|E|Lead 16746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016747|116747|989898|1|9999016747|MR|Test|E|Lead 16747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016748|116748|989898|1|9999016748|MR|Test|E|Lead 16748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016749|116749|989898|1|9999016749|MR|Test|E|Lead 16749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016750|116750|989898|1|9999016750|MR|Test|E|Lead 16750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016751|116751|989898|1|9999016751|MR|Test|E|Lead 16751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016752|116752|989898|1|9999016752|MR|Test|E|Lead 16752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016753|116753|989898|1|9999016753|MR|Test|E|Lead 16753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016754|116754|989898|1|9999016754|MR|Test|E|Lead 16754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016755|116755|989898|1|9999016755|MR|Test|E|Lead 16755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016756|116756|989898|1|9999016756|MR|Test|E|Lead 16756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016757|116757|989898|1|9999016757|MR|Test|E|Lead 16757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016758|116758|989898|1|9999016758|MR|Test|E|Lead 16758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016759|116759|989898|1|9999016759|MR|Test|E|Lead 16759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016760|116760|989898|1|9999016760|MR|Test|E|Lead 16760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016761|116761|989898|1|9999016761|MR|Test|E|Lead 16761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016762|116762|989898|1|9999016762|MR|Test|E|Lead 16762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016763|116763|989898|1|9999016763|MR|Test|E|Lead 16763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016764|116764|989898|1|9999016764|MR|Test|E|Lead 16764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016765|116765|989898|1|9999016765|MR|Test|E|Lead 16765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016766|116766|989898|1|9999016766|MR|Test|E|Lead 16766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016767|116767|989898|1|9999016767|MR|Test|E|Lead 16767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016768|116768|989898|1|9999016768|MR|Test|E|Lead 16768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016769|116769|989898|1|9999016769|MR|Test|E|Lead 16769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016770|116770|989898|1|9999016770|MR|Test|E|Lead 16770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016771|116771|989898|1|9999016771|MR|Test|E|Lead 16771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016772|116772|989898|1|9999016772|MR|Test|E|Lead 16772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016773|116773|989898|1|9999016773|MR|Test|E|Lead 16773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016774|116774|989898|1|9999016774|MR|Test|E|Lead 16774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016775|116775|989898|1|9999016775|MR|Test|E|Lead 16775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016776|116776|989898|1|9999016776|MR|Test|E|Lead 16776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016777|116777|989898|1|9999016777|MR|Test|E|Lead 16777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016778|116778|989898|1|9999016778|MR|Test|E|Lead 16778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016779|116779|989898|1|9999016779|MR|Test|E|Lead 16779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016780|116780|989898|1|9999016780|MR|Test|E|Lead 16780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016781|116781|989898|1|9999016781|MR|Test|E|Lead 16781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016782|116782|989898|1|9999016782|MR|Test|E|Lead 16782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016783|116783|989898|1|9999016783|MR|Test|E|Lead 16783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016784|116784|989898|1|9999016784|MR|Test|E|Lead 16784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016785|116785|989898|1|9999016785|MR|Test|E|Lead 16785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016786|116786|989898|1|9999016786|MR|Test|E|Lead 16786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016787|116787|989898|1|9999016787|MR|Test|E|Lead 16787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016788|116788|989898|1|9999016788|MR|Test|E|Lead 16788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016789|116789|989898|1|9999016789|MR|Test|E|Lead 16789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016790|116790|989898|1|9999016790|MR|Test|E|Lead 16790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016791|116791|989898|1|9999016791|MR|Test|E|Lead 16791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016792|116792|989898|1|9999016792|MR|Test|E|Lead 16792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016793|116793|989898|1|9999016793|MR|Test|E|Lead 16793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016794|116794|989898|1|9999016794|MR|Test|E|Lead 16794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016795|116795|989898|1|9999016795|MR|Test|E|Lead 16795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016796|116796|989898|1|9999016796|MR|Test|E|Lead 16796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016797|116797|989898|1|9999016797|MR|Test|E|Lead 16797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016798|116798|989898|1|9999016798|MR|Test|E|Lead 16798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016799|116799|989898|1|9999016799|MR|Test|E|Lead 16799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016800|116800|989898|1|9999016800|MR|Test|E|Lead 16800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016801|116801|989898|1|9999016801|MR|Test|E|Lead 16801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016802|116802|989898|1|9999016802|MR|Test|E|Lead 16802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016803|116803|989898|1|9999016803|MR|Test|E|Lead 16803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016804|116804|989898|1|9999016804|MR|Test|E|Lead 16804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016805|116805|989898|1|9999016805|MR|Test|E|Lead 16805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016806|116806|989898|1|9999016806|MR|Test|E|Lead 16806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016807|116807|989898|1|9999016807|MR|Test|E|Lead 16807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016808|116808|989898|1|9999016808|MR|Test|E|Lead 16808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016809|116809|989898|1|9999016809|MR|Test|E|Lead 16809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016810|116810|989898|1|9999016810|MR|Test|E|Lead 16810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016811|116811|989898|1|9999016811|MR|Test|E|Lead 16811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016812|116812|989898|1|9999016812|MR|Test|E|Lead 16812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016813|116813|989898|1|9999016813|MR|Test|E|Lead 16813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016814|116814|989898|1|9999016814|MR|Test|E|Lead 16814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016815|116815|989898|1|9999016815|MR|Test|E|Lead 16815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016816|116816|989898|1|9999016816|MR|Test|E|Lead 16816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016817|116817|989898|1|9999016817|MR|Test|E|Lead 16817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016818|116818|989898|1|9999016818|MR|Test|E|Lead 16818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016819|116819|989898|1|9999016819|MR|Test|E|Lead 16819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016820|116820|989898|1|9999016820|MR|Test|E|Lead 16820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016821|116821|989898|1|9999016821|MR|Test|E|Lead 16821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016822|116822|989898|1|9999016822|MR|Test|E|Lead 16822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016823|116823|989898|1|9999016823|MR|Test|E|Lead 16823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016824|116824|989898|1|9999016824|MR|Test|E|Lead 16824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016825|116825|989898|1|9999016825|MR|Test|E|Lead 16825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016826|116826|989898|1|9999016826|MR|Test|E|Lead 16826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016827|116827|989898|1|9999016827|MR|Test|E|Lead 16827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016828|116828|989898|1|9999016828|MR|Test|E|Lead 16828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016829|116829|989898|1|9999016829|MR|Test|E|Lead 16829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016830|116830|989898|1|9999016830|MR|Test|E|Lead 16830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016831|116831|989898|1|9999016831|MR|Test|E|Lead 16831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016832|116832|989898|1|9999016832|MR|Test|E|Lead 16832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016833|116833|989898|1|9999016833|MR|Test|E|Lead 16833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016834|116834|989898|1|9999016834|MR|Test|E|Lead 16834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016835|116835|989898|1|9999016835|MR|Test|E|Lead 16835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016836|116836|989898|1|9999016836|MR|Test|E|Lead 16836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016837|116837|989898|1|9999016837|MR|Test|E|Lead 16837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016838|116838|989898|1|9999016838|MR|Test|E|Lead 16838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016839|116839|989898|1|9999016839|MR|Test|E|Lead 16839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016840|116840|989898|1|9999016840|MR|Test|E|Lead 16840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016841|116841|989898|1|9999016841|MR|Test|E|Lead 16841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016842|116842|989898|1|9999016842|MR|Test|E|Lead 16842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016843|116843|989898|1|9999016843|MR|Test|E|Lead 16843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016844|116844|989898|1|9999016844|MR|Test|E|Lead 16844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016845|116845|989898|1|9999016845|MR|Test|E|Lead 16845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016846|116846|989898|1|9999016846|MR|Test|E|Lead 16846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016847|116847|989898|1|9999016847|MR|Test|E|Lead 16847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016848|116848|989898|1|9999016848|MR|Test|E|Lead 16848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016849|116849|989898|1|9999016849|MR|Test|E|Lead 16849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016850|116850|989898|1|9999016850|MR|Test|E|Lead 16850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016851|116851|989898|1|9999016851|MR|Test|E|Lead 16851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016852|116852|989898|1|9999016852|MR|Test|E|Lead 16852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016853|116853|989898|1|9999016853|MR|Test|E|Lead 16853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016854|116854|989898|1|9999016854|MR|Test|E|Lead 16854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016855|116855|989898|1|9999016855|MR|Test|E|Lead 16855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016856|116856|989898|1|9999016856|MR|Test|E|Lead 16856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016857|116857|989898|1|9999016857|MR|Test|E|Lead 16857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016858|116858|989898|1|9999016858|MR|Test|E|Lead 16858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016859|116859|989898|1|9999016859|MR|Test|E|Lead 16859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016860|116860|989898|1|9999016860|MR|Test|E|Lead 16860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016861|116861|989898|1|9999016861|MR|Test|E|Lead 16861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016862|116862|989898|1|9999016862|MR|Test|E|Lead 16862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016863|116863|989898|1|9999016863|MR|Test|E|Lead 16863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016864|116864|989898|1|9999016864|MR|Test|E|Lead 16864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016865|116865|989898|1|9999016865|MR|Test|E|Lead 16865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016866|116866|989898|1|9999016866|MR|Test|E|Lead 16866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016867|116867|989898|1|9999016867|MR|Test|E|Lead 16867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016868|116868|989898|1|9999016868|MR|Test|E|Lead 16868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016869|116869|989898|1|9999016869|MR|Test|E|Lead 16869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016870|116870|989898|1|9999016870|MR|Test|E|Lead 16870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016871|116871|989898|1|9999016871|MR|Test|E|Lead 16871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016872|116872|989898|1|9999016872|MR|Test|E|Lead 16872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016873|116873|989898|1|9999016873|MR|Test|E|Lead 16873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016874|116874|989898|1|9999016874|MR|Test|E|Lead 16874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016875|116875|989898|1|9999016875|MR|Test|E|Lead 16875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016876|116876|989898|1|9999016876|MR|Test|E|Lead 16876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016877|116877|989898|1|9999016877|MR|Test|E|Lead 16877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016878|116878|989898|1|9999016878|MR|Test|E|Lead 16878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016879|116879|989898|1|9999016879|MR|Test|E|Lead 16879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016880|116880|989898|1|9999016880|MR|Test|E|Lead 16880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016881|116881|989898|1|9999016881|MR|Test|E|Lead 16881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016882|116882|989898|1|9999016882|MR|Test|E|Lead 16882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016883|116883|989898|1|9999016883|MR|Test|E|Lead 16883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016884|116884|989898|1|9999016884|MR|Test|E|Lead 16884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016885|116885|989898|1|9999016885|MR|Test|E|Lead 16885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016886|116886|989898|1|9999016886|MR|Test|E|Lead 16886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016887|116887|989898|1|9999016887|MR|Test|E|Lead 16887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016888|116888|989898|1|9999016888|MR|Test|E|Lead 16888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016889|116889|989898|1|9999016889|MR|Test|E|Lead 16889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016890|116890|989898|1|9999016890|MR|Test|E|Lead 16890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016891|116891|989898|1|9999016891|MR|Test|E|Lead 16891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016892|116892|989898|1|9999016892|MR|Test|E|Lead 16892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016893|116893|989898|1|9999016893|MR|Test|E|Lead 16893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016894|116894|989898|1|9999016894|MR|Test|E|Lead 16894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016895|116895|989898|1|9999016895|MR|Test|E|Lead 16895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016896|116896|989898|1|9999016896|MR|Test|E|Lead 16896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016897|116897|989898|1|9999016897|MR|Test|E|Lead 16897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016898|116898|989898|1|9999016898|MR|Test|E|Lead 16898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016899|116899|989898|1|9999016899|MR|Test|E|Lead 16899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016900|116900|989898|1|9999016900|MR|Test|E|Lead 16900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016901|116901|989898|1|9999016901|MR|Test|E|Lead 16901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016902|116902|989898|1|9999016902|MR|Test|E|Lead 16902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016903|116903|989898|1|9999016903|MR|Test|E|Lead 16903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016904|116904|989898|1|9999016904|MR|Test|E|Lead 16904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016905|116905|989898|1|9999016905|MR|Test|E|Lead 16905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016906|116906|989898|1|9999016906|MR|Test|E|Lead 16906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016907|116907|989898|1|9999016907|MR|Test|E|Lead 16907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016908|116908|989898|1|9999016908|MR|Test|E|Lead 16908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016909|116909|989898|1|9999016909|MR|Test|E|Lead 16909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016910|116910|989898|1|9999016910|MR|Test|E|Lead 16910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016911|116911|989898|1|9999016911|MR|Test|E|Lead 16911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016912|116912|989898|1|9999016912|MR|Test|E|Lead 16912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016913|116913|989898|1|9999016913|MR|Test|E|Lead 16913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016914|116914|989898|1|9999016914|MR|Test|E|Lead 16914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016915|116915|989898|1|9999016915|MR|Test|E|Lead 16915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016916|116916|989898|1|9999016916|MR|Test|E|Lead 16916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016917|116917|989898|1|9999016917|MR|Test|E|Lead 16917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016918|116918|989898|1|9999016918|MR|Test|E|Lead 16918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016919|116919|989898|1|9999016919|MR|Test|E|Lead 16919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016920|116920|989898|1|9999016920|MR|Test|E|Lead 16920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016921|116921|989898|1|9999016921|MR|Test|E|Lead 16921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016922|116922|989898|1|9999016922|MR|Test|E|Lead 16922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016923|116923|989898|1|9999016923|MR|Test|E|Lead 16923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016924|116924|989898|1|9999016924|MR|Test|E|Lead 16924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016925|116925|989898|1|9999016925|MR|Test|E|Lead 16925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016926|116926|989898|1|9999016926|MR|Test|E|Lead 16926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016927|116927|989898|1|9999016927|MR|Test|E|Lead 16927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016928|116928|989898|1|9999016928|MR|Test|E|Lead 16928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016929|116929|989898|1|9999016929|MR|Test|E|Lead 16929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016930|116930|989898|1|9999016930|MR|Test|E|Lead 16930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016931|116931|989898|1|9999016931|MR|Test|E|Lead 16931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016932|116932|989898|1|9999016932|MR|Test|E|Lead 16932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016933|116933|989898|1|9999016933|MR|Test|E|Lead 16933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016934|116934|989898|1|9999016934|MR|Test|E|Lead 16934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016935|116935|989898|1|9999016935|MR|Test|E|Lead 16935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016936|116936|989898|1|9999016936|MR|Test|E|Lead 16936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016937|116937|989898|1|9999016937|MR|Test|E|Lead 16937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016938|116938|989898|1|9999016938|MR|Test|E|Lead 16938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016939|116939|989898|1|9999016939|MR|Test|E|Lead 16939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016940|116940|989898|1|9999016940|MR|Test|E|Lead 16940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016941|116941|989898|1|9999016941|MR|Test|E|Lead 16941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016942|116942|989898|1|9999016942|MR|Test|E|Lead 16942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016943|116943|989898|1|9999016943|MR|Test|E|Lead 16943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016944|116944|989898|1|9999016944|MR|Test|E|Lead 16944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016945|116945|989898|1|9999016945|MR|Test|E|Lead 16945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016946|116946|989898|1|9999016946|MR|Test|E|Lead 16946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016947|116947|989898|1|9999016947|MR|Test|E|Lead 16947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016948|116948|989898|1|9999016948|MR|Test|E|Lead 16948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016949|116949|989898|1|9999016949|MR|Test|E|Lead 16949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016950|116950|989898|1|9999016950|MR|Test|E|Lead 16950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016951|116951|989898|1|9999016951|MR|Test|E|Lead 16951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016952|116952|989898|1|9999016952|MR|Test|E|Lead 16952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016953|116953|989898|1|9999016953|MR|Test|E|Lead 16953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016954|116954|989898|1|9999016954|MR|Test|E|Lead 16954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016955|116955|989898|1|9999016955|MR|Test|E|Lead 16955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016956|116956|989898|1|9999016956|MR|Test|E|Lead 16956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016957|116957|989898|1|9999016957|MR|Test|E|Lead 16957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016958|116958|989898|1|9999016958|MR|Test|E|Lead 16958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016959|116959|989898|1|9999016959|MR|Test|E|Lead 16959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016960|116960|989898|1|9999016960|MR|Test|E|Lead 16960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016961|116961|989898|1|9999016961|MR|Test|E|Lead 16961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016962|116962|989898|1|9999016962|MR|Test|E|Lead 16962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016963|116963|989898|1|9999016963|MR|Test|E|Lead 16963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016964|116964|989898|1|9999016964|MR|Test|E|Lead 16964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016965|116965|989898|1|9999016965|MR|Test|E|Lead 16965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016966|116966|989898|1|9999016966|MR|Test|E|Lead 16966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016967|116967|989898|1|9999016967|MR|Test|E|Lead 16967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016968|116968|989898|1|9999016968|MR|Test|E|Lead 16968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016969|116969|989898|1|9999016969|MR|Test|E|Lead 16969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016970|116970|989898|1|9999016970|MR|Test|E|Lead 16970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016971|116971|989898|1|9999016971|MR|Test|E|Lead 16971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016972|116972|989898|1|9999016972|MR|Test|E|Lead 16972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016973|116973|989898|1|9999016973|MR|Test|E|Lead 16973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016974|116974|989898|1|9999016974|MR|Test|E|Lead 16974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016975|116975|989898|1|9999016975|MR|Test|E|Lead 16975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016976|116976|989898|1|9999016976|MR|Test|E|Lead 16976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016977|116977|989898|1|9999016977|MR|Test|E|Lead 16977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016978|116978|989898|1|9999016978|MR|Test|E|Lead 16978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016979|116979|989898|1|9999016979|MR|Test|E|Lead 16979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016980|116980|989898|1|9999016980|MR|Test|E|Lead 16980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016981|116981|989898|1|9999016981|MR|Test|E|Lead 16981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016982|116982|989898|1|9999016982|MR|Test|E|Lead 16982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016983|116983|989898|1|9999016983|MR|Test|E|Lead 16983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016984|116984|989898|1|9999016984|MR|Test|E|Lead 16984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016985|116985|989898|1|9999016985|MR|Test|E|Lead 16985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016986|116986|989898|1|9999016986|MR|Test|E|Lead 16986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016987|116987|989898|1|9999016987|MR|Test|E|Lead 16987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016988|116988|989898|1|9999016988|MR|Test|E|Lead 16988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016989|116989|989898|1|9999016989|MR|Test|E|Lead 16989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016990|116990|989898|1|9999016990|MR|Test|E|Lead 16990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016991|116991|989898|1|9999016991|MR|Test|E|Lead 16991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016992|116992|989898|1|9999016992|MR|Test|E|Lead 16992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016993|116993|989898|1|9999016993|MR|Test|E|Lead 16993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016994|116994|989898|1|9999016994|MR|Test|E|Lead 16994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016995|116995|989898|1|9999016995|MR|Test|E|Lead 16995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016996|116996|989898|1|9999016996|MR|Test|E|Lead 16996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016997|116997|989898|1|9999016997|MR|Test|E|Lead 16997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016998|116998|989898|1|9999016998|MR|Test|E|Lead 16998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1016999|116999|989898|1|9999016999|MR|Test|E|Lead 16999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017000|117000|989898|1|9999017000|MR|Test|E|Lead 17000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017001|117001|989898|1|9999017001|MR|Test|E|Lead 17001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017002|117002|989898|1|9999017002|MR|Test|E|Lead 17002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017003|117003|989898|1|9999017003|MR|Test|E|Lead 17003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017004|117004|989898|1|9999017004|MR|Test|E|Lead 17004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017005|117005|989898|1|9999017005|MR|Test|E|Lead 17005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017006|117006|989898|1|9999017006|MR|Test|E|Lead 17006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017007|117007|989898|1|9999017007|MR|Test|E|Lead 17007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017008|117008|989898|1|9999017008|MR|Test|E|Lead 17008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017009|117009|989898|1|9999017009|MR|Test|E|Lead 17009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017010|117010|989898|1|9999017010|MR|Test|E|Lead 17010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017011|117011|989898|1|9999017011|MR|Test|E|Lead 17011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017012|117012|989898|1|9999017012|MR|Test|E|Lead 17012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017013|117013|989898|1|9999017013|MR|Test|E|Lead 17013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017014|117014|989898|1|9999017014|MR|Test|E|Lead 17014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017015|117015|989898|1|9999017015|MR|Test|E|Lead 17015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017016|117016|989898|1|9999017016|MR|Test|E|Lead 17016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017017|117017|989898|1|9999017017|MR|Test|E|Lead 17017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017018|117018|989898|1|9999017018|MR|Test|E|Lead 17018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017019|117019|989898|1|9999017019|MR|Test|E|Lead 17019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017020|117020|989898|1|9999017020|MR|Test|E|Lead 17020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017021|117021|989898|1|9999017021|MR|Test|E|Lead 17021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017022|117022|989898|1|9999017022|MR|Test|E|Lead 17022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017023|117023|989898|1|9999017023|MR|Test|E|Lead 17023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017024|117024|989898|1|9999017024|MR|Test|E|Lead 17024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017025|117025|989898|1|9999017025|MR|Test|E|Lead 17025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017026|117026|989898|1|9999017026|MR|Test|E|Lead 17026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017027|117027|989898|1|9999017027|MR|Test|E|Lead 17027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017028|117028|989898|1|9999017028|MR|Test|E|Lead 17028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017029|117029|989898|1|9999017029|MR|Test|E|Lead 17029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017030|117030|989898|1|9999017030|MR|Test|E|Lead 17030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017031|117031|989898|1|9999017031|MR|Test|E|Lead 17031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017032|117032|989898|1|9999017032|MR|Test|E|Lead 17032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017033|117033|989898|1|9999017033|MR|Test|E|Lead 17033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017034|117034|989898|1|9999017034|MR|Test|E|Lead 17034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017035|117035|989898|1|9999017035|MR|Test|E|Lead 17035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017036|117036|989898|1|9999017036|MR|Test|E|Lead 17036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017037|117037|989898|1|9999017037|MR|Test|E|Lead 17037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017038|117038|989898|1|9999017038|MR|Test|E|Lead 17038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017039|117039|989898|1|9999017039|MR|Test|E|Lead 17039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017040|117040|989898|1|9999017040|MR|Test|E|Lead 17040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017041|117041|989898|1|9999017041|MR|Test|E|Lead 17041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017042|117042|989898|1|9999017042|MR|Test|E|Lead 17042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017043|117043|989898|1|9999017043|MR|Test|E|Lead 17043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017044|117044|989898|1|9999017044|MR|Test|E|Lead 17044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017045|117045|989898|1|9999017045|MR|Test|E|Lead 17045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017046|117046|989898|1|9999017046|MR|Test|E|Lead 17046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017047|117047|989898|1|9999017047|MR|Test|E|Lead 17047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017048|117048|989898|1|9999017048|MR|Test|E|Lead 17048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017049|117049|989898|1|9999017049|MR|Test|E|Lead 17049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017050|117050|989898|1|9999017050|MR|Test|E|Lead 17050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017051|117051|989898|1|9999017051|MR|Test|E|Lead 17051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017052|117052|989898|1|9999017052|MR|Test|E|Lead 17052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017053|117053|989898|1|9999017053|MR|Test|E|Lead 17053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017054|117054|989898|1|9999017054|MR|Test|E|Lead 17054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017055|117055|989898|1|9999017055|MR|Test|E|Lead 17055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017056|117056|989898|1|9999017056|MR|Test|E|Lead 17056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017057|117057|989898|1|9999017057|MR|Test|E|Lead 17057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017058|117058|989898|1|9999017058|MR|Test|E|Lead 17058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017059|117059|989898|1|9999017059|MR|Test|E|Lead 17059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017060|117060|989898|1|9999017060|MR|Test|E|Lead 17060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017061|117061|989898|1|9999017061|MR|Test|E|Lead 17061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017062|117062|989898|1|9999017062|MR|Test|E|Lead 17062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017063|117063|989898|1|9999017063|MR|Test|E|Lead 17063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017064|117064|989898|1|9999017064|MR|Test|E|Lead 17064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017065|117065|989898|1|9999017065|MR|Test|E|Lead 17065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017066|117066|989898|1|9999017066|MR|Test|E|Lead 17066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017067|117067|989898|1|9999017067|MR|Test|E|Lead 17067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017068|117068|989898|1|9999017068|MR|Test|E|Lead 17068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017069|117069|989898|1|9999017069|MR|Test|E|Lead 17069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017070|117070|989898|1|9999017070|MR|Test|E|Lead 17070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017071|117071|989898|1|9999017071|MR|Test|E|Lead 17071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017072|117072|989898|1|9999017072|MR|Test|E|Lead 17072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017073|117073|989898|1|9999017073|MR|Test|E|Lead 17073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017074|117074|989898|1|9999017074|MR|Test|E|Lead 17074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017075|117075|989898|1|9999017075|MR|Test|E|Lead 17075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017076|117076|989898|1|9999017076|MR|Test|E|Lead 17076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017077|117077|989898|1|9999017077|MR|Test|E|Lead 17077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017078|117078|989898|1|9999017078|MR|Test|E|Lead 17078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017079|117079|989898|1|9999017079|MR|Test|E|Lead 17079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017080|117080|989898|1|9999017080|MR|Test|E|Lead 17080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017081|117081|989898|1|9999017081|MR|Test|E|Lead 17081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017082|117082|989898|1|9999017082|MR|Test|E|Lead 17082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017083|117083|989898|1|9999017083|MR|Test|E|Lead 17083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017084|117084|989898|1|9999017084|MR|Test|E|Lead 17084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017085|117085|989898|1|9999017085|MR|Test|E|Lead 17085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017086|117086|989898|1|9999017086|MR|Test|E|Lead 17086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017087|117087|989898|1|9999017087|MR|Test|E|Lead 17087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017088|117088|989898|1|9999017088|MR|Test|E|Lead 17088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017089|117089|989898|1|9999017089|MR|Test|E|Lead 17089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017090|117090|989898|1|9999017090|MR|Test|E|Lead 17090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017091|117091|989898|1|9999017091|MR|Test|E|Lead 17091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017092|117092|989898|1|9999017092|MR|Test|E|Lead 17092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017093|117093|989898|1|9999017093|MR|Test|E|Lead 17093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017094|117094|989898|1|9999017094|MR|Test|E|Lead 17094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017095|117095|989898|1|9999017095|MR|Test|E|Lead 17095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017096|117096|989898|1|9999017096|MR|Test|E|Lead 17096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017097|117097|989898|1|9999017097|MR|Test|E|Lead 17097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017098|117098|989898|1|9999017098|MR|Test|E|Lead 17098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017099|117099|989898|1|9999017099|MR|Test|E|Lead 17099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017100|117100|989898|1|9999017100|MR|Test|E|Lead 17100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017101|117101|989898|1|9999017101|MR|Test|E|Lead 17101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017102|117102|989898|1|9999017102|MR|Test|E|Lead 17102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017103|117103|989898|1|9999017103|MR|Test|E|Lead 17103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017104|117104|989898|1|9999017104|MR|Test|E|Lead 17104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017105|117105|989898|1|9999017105|MR|Test|E|Lead 17105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017106|117106|989898|1|9999017106|MR|Test|E|Lead 17106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017107|117107|989898|1|9999017107|MR|Test|E|Lead 17107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017108|117108|989898|1|9999017108|MR|Test|E|Lead 17108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017109|117109|989898|1|9999017109|MR|Test|E|Lead 17109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017110|117110|989898|1|9999017110|MR|Test|E|Lead 17110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017111|117111|989898|1|9999017111|MR|Test|E|Lead 17111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017112|117112|989898|1|9999017112|MR|Test|E|Lead 17112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017113|117113|989898|1|9999017113|MR|Test|E|Lead 17113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017114|117114|989898|1|9999017114|MR|Test|E|Lead 17114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017115|117115|989898|1|9999017115|MR|Test|E|Lead 17115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017116|117116|989898|1|9999017116|MR|Test|E|Lead 17116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017117|117117|989898|1|9999017117|MR|Test|E|Lead 17117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017118|117118|989898|1|9999017118|MR|Test|E|Lead 17118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017119|117119|989898|1|9999017119|MR|Test|E|Lead 17119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017120|117120|989898|1|9999017120|MR|Test|E|Lead 17120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017121|117121|989898|1|9999017121|MR|Test|E|Lead 17121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017122|117122|989898|1|9999017122|MR|Test|E|Lead 17122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017123|117123|989898|1|9999017123|MR|Test|E|Lead 17123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017124|117124|989898|1|9999017124|MR|Test|E|Lead 17124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017125|117125|989898|1|9999017125|MR|Test|E|Lead 17125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017126|117126|989898|1|9999017126|MR|Test|E|Lead 17126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017127|117127|989898|1|9999017127|MR|Test|E|Lead 17127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017128|117128|989898|1|9999017128|MR|Test|E|Lead 17128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017129|117129|989898|1|9999017129|MR|Test|E|Lead 17129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017130|117130|989898|1|9999017130|MR|Test|E|Lead 17130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017131|117131|989898|1|9999017131|MR|Test|E|Lead 17131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017132|117132|989898|1|9999017132|MR|Test|E|Lead 17132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017133|117133|989898|1|9999017133|MR|Test|E|Lead 17133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017134|117134|989898|1|9999017134|MR|Test|E|Lead 17134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017135|117135|989898|1|9999017135|MR|Test|E|Lead 17135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017136|117136|989898|1|9999017136|MR|Test|E|Lead 17136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017137|117137|989898|1|9999017137|MR|Test|E|Lead 17137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017138|117138|989898|1|9999017138|MR|Test|E|Lead 17138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017139|117139|989898|1|9999017139|MR|Test|E|Lead 17139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017140|117140|989898|1|9999017140|MR|Test|E|Lead 17140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017141|117141|989898|1|9999017141|MR|Test|E|Lead 17141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017142|117142|989898|1|9999017142|MR|Test|E|Lead 17142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017143|117143|989898|1|9999017143|MR|Test|E|Lead 17143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017144|117144|989898|1|9999017144|MR|Test|E|Lead 17144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017145|117145|989898|1|9999017145|MR|Test|E|Lead 17145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017146|117146|989898|1|9999017146|MR|Test|E|Lead 17146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017147|117147|989898|1|9999017147|MR|Test|E|Lead 17147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017148|117148|989898|1|9999017148|MR|Test|E|Lead 17148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017149|117149|989898|1|9999017149|MR|Test|E|Lead 17149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017150|117150|989898|1|9999017150|MR|Test|E|Lead 17150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017151|117151|989898|1|9999017151|MR|Test|E|Lead 17151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017152|117152|989898|1|9999017152|MR|Test|E|Lead 17152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017153|117153|989898|1|9999017153|MR|Test|E|Lead 17153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017154|117154|989898|1|9999017154|MR|Test|E|Lead 17154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017155|117155|989898|1|9999017155|MR|Test|E|Lead 17155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017156|117156|989898|1|9999017156|MR|Test|E|Lead 17156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017157|117157|989898|1|9999017157|MR|Test|E|Lead 17157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017158|117158|989898|1|9999017158|MR|Test|E|Lead 17158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017159|117159|989898|1|9999017159|MR|Test|E|Lead 17159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017160|117160|989898|1|9999017160|MR|Test|E|Lead 17160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017161|117161|989898|1|9999017161|MR|Test|E|Lead 17161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017162|117162|989898|1|9999017162|MR|Test|E|Lead 17162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017163|117163|989898|1|9999017163|MR|Test|E|Lead 17163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017164|117164|989898|1|9999017164|MR|Test|E|Lead 17164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017165|117165|989898|1|9999017165|MR|Test|E|Lead 17165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017166|117166|989898|1|9999017166|MR|Test|E|Lead 17166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017167|117167|989898|1|9999017167|MR|Test|E|Lead 17167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017168|117168|989898|1|9999017168|MR|Test|E|Lead 17168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017169|117169|989898|1|9999017169|MR|Test|E|Lead 17169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017170|117170|989898|1|9999017170|MR|Test|E|Lead 17170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017171|117171|989898|1|9999017171|MR|Test|E|Lead 17171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017172|117172|989898|1|9999017172|MR|Test|E|Lead 17172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017173|117173|989898|1|9999017173|MR|Test|E|Lead 17173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017174|117174|989898|1|9999017174|MR|Test|E|Lead 17174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017175|117175|989898|1|9999017175|MR|Test|E|Lead 17175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017176|117176|989898|1|9999017176|MR|Test|E|Lead 17176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017177|117177|989898|1|9999017177|MR|Test|E|Lead 17177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017178|117178|989898|1|9999017178|MR|Test|E|Lead 17178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017179|117179|989898|1|9999017179|MR|Test|E|Lead 17179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017180|117180|989898|1|9999017180|MR|Test|E|Lead 17180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017181|117181|989898|1|9999017181|MR|Test|E|Lead 17181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017182|117182|989898|1|9999017182|MR|Test|E|Lead 17182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017183|117183|989898|1|9999017183|MR|Test|E|Lead 17183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017184|117184|989898|1|9999017184|MR|Test|E|Lead 17184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017185|117185|989898|1|9999017185|MR|Test|E|Lead 17185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017186|117186|989898|1|9999017186|MR|Test|E|Lead 17186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017187|117187|989898|1|9999017187|MR|Test|E|Lead 17187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017188|117188|989898|1|9999017188|MR|Test|E|Lead 17188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017189|117189|989898|1|9999017189|MR|Test|E|Lead 17189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017190|117190|989898|1|9999017190|MR|Test|E|Lead 17190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017191|117191|989898|1|9999017191|MR|Test|E|Lead 17191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017192|117192|989898|1|9999017192|MR|Test|E|Lead 17192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017193|117193|989898|1|9999017193|MR|Test|E|Lead 17193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017194|117194|989898|1|9999017194|MR|Test|E|Lead 17194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017195|117195|989898|1|9999017195|MR|Test|E|Lead 17195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017196|117196|989898|1|9999017196|MR|Test|E|Lead 17196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017197|117197|989898|1|9999017197|MR|Test|E|Lead 17197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017198|117198|989898|1|9999017198|MR|Test|E|Lead 17198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017199|117199|989898|1|9999017199|MR|Test|E|Lead 17199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017200|117200|989898|1|9999017200|MR|Test|E|Lead 17200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017201|117201|989898|1|9999017201|MR|Test|E|Lead 17201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017202|117202|989898|1|9999017202|MR|Test|E|Lead 17202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017203|117203|989898|1|9999017203|MR|Test|E|Lead 17203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017204|117204|989898|1|9999017204|MR|Test|E|Lead 17204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017205|117205|989898|1|9999017205|MR|Test|E|Lead 17205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017206|117206|989898|1|9999017206|MR|Test|E|Lead 17206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017207|117207|989898|1|9999017207|MR|Test|E|Lead 17207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017208|117208|989898|1|9999017208|MR|Test|E|Lead 17208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017209|117209|989898|1|9999017209|MR|Test|E|Lead 17209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017210|117210|989898|1|9999017210|MR|Test|E|Lead 17210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017211|117211|989898|1|9999017211|MR|Test|E|Lead 17211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017212|117212|989898|1|9999017212|MR|Test|E|Lead 17212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017213|117213|989898|1|9999017213|MR|Test|E|Lead 17213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017214|117214|989898|1|9999017214|MR|Test|E|Lead 17214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017215|117215|989898|1|9999017215|MR|Test|E|Lead 17215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017216|117216|989898|1|9999017216|MR|Test|E|Lead 17216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017217|117217|989898|1|9999017217|MR|Test|E|Lead 17217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017218|117218|989898|1|9999017218|MR|Test|E|Lead 17218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017219|117219|989898|1|9999017219|MR|Test|E|Lead 17219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017220|117220|989898|1|9999017220|MR|Test|E|Lead 17220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017221|117221|989898|1|9999017221|MR|Test|E|Lead 17221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017222|117222|989898|1|9999017222|MR|Test|E|Lead 17222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017223|117223|989898|1|9999017223|MR|Test|E|Lead 17223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017224|117224|989898|1|9999017224|MR|Test|E|Lead 17224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017225|117225|989898|1|9999017225|MR|Test|E|Lead 17225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017226|117226|989898|1|9999017226|MR|Test|E|Lead 17226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017227|117227|989898|1|9999017227|MR|Test|E|Lead 17227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017228|117228|989898|1|9999017228|MR|Test|E|Lead 17228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017229|117229|989898|1|9999017229|MR|Test|E|Lead 17229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017230|117230|989898|1|9999017230|MR|Test|E|Lead 17230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017231|117231|989898|1|9999017231|MR|Test|E|Lead 17231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017232|117232|989898|1|9999017232|MR|Test|E|Lead 17232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017233|117233|989898|1|9999017233|MR|Test|E|Lead 17233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017234|117234|989898|1|9999017234|MR|Test|E|Lead 17234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017235|117235|989898|1|9999017235|MR|Test|E|Lead 17235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017236|117236|989898|1|9999017236|MR|Test|E|Lead 17236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017237|117237|989898|1|9999017237|MR|Test|E|Lead 17237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017238|117238|989898|1|9999017238|MR|Test|E|Lead 17238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017239|117239|989898|1|9999017239|MR|Test|E|Lead 17239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017240|117240|989898|1|9999017240|MR|Test|E|Lead 17240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017241|117241|989898|1|9999017241|MR|Test|E|Lead 17241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017242|117242|989898|1|9999017242|MR|Test|E|Lead 17242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017243|117243|989898|1|9999017243|MR|Test|E|Lead 17243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017244|117244|989898|1|9999017244|MR|Test|E|Lead 17244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017245|117245|989898|1|9999017245|MR|Test|E|Lead 17245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017246|117246|989898|1|9999017246|MR|Test|E|Lead 17246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017247|117247|989898|1|9999017247|MR|Test|E|Lead 17247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017248|117248|989898|1|9999017248|MR|Test|E|Lead 17248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017249|117249|989898|1|9999017249|MR|Test|E|Lead 17249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017250|117250|989898|1|9999017250|MR|Test|E|Lead 17250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017251|117251|989898|1|9999017251|MR|Test|E|Lead 17251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017252|117252|989898|1|9999017252|MR|Test|E|Lead 17252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017253|117253|989898|1|9999017253|MR|Test|E|Lead 17253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017254|117254|989898|1|9999017254|MR|Test|E|Lead 17254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017255|117255|989898|1|9999017255|MR|Test|E|Lead 17255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017256|117256|989898|1|9999017256|MR|Test|E|Lead 17256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017257|117257|989898|1|9999017257|MR|Test|E|Lead 17257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017258|117258|989898|1|9999017258|MR|Test|E|Lead 17258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017259|117259|989898|1|9999017259|MR|Test|E|Lead 17259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017260|117260|989898|1|9999017260|MR|Test|E|Lead 17260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017261|117261|989898|1|9999017261|MR|Test|E|Lead 17261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017262|117262|989898|1|9999017262|MR|Test|E|Lead 17262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017263|117263|989898|1|9999017263|MR|Test|E|Lead 17263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017264|117264|989898|1|9999017264|MR|Test|E|Lead 17264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017265|117265|989898|1|9999017265|MR|Test|E|Lead 17265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017266|117266|989898|1|9999017266|MR|Test|E|Lead 17266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017267|117267|989898|1|9999017267|MR|Test|E|Lead 17267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017268|117268|989898|1|9999017268|MR|Test|E|Lead 17268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017269|117269|989898|1|9999017269|MR|Test|E|Lead 17269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017270|117270|989898|1|9999017270|MR|Test|E|Lead 17270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017271|117271|989898|1|9999017271|MR|Test|E|Lead 17271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017272|117272|989898|1|9999017272|MR|Test|E|Lead 17272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017273|117273|989898|1|9999017273|MR|Test|E|Lead 17273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017274|117274|989898|1|9999017274|MR|Test|E|Lead 17274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017275|117275|989898|1|9999017275|MR|Test|E|Lead 17275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017276|117276|989898|1|9999017276|MR|Test|E|Lead 17276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017277|117277|989898|1|9999017277|MR|Test|E|Lead 17277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017278|117278|989898|1|9999017278|MR|Test|E|Lead 17278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017279|117279|989898|1|9999017279|MR|Test|E|Lead 17279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017280|117280|989898|1|9999017280|MR|Test|E|Lead 17280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017281|117281|989898|1|9999017281|MR|Test|E|Lead 17281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017282|117282|989898|1|9999017282|MR|Test|E|Lead 17282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017283|117283|989898|1|9999017283|MR|Test|E|Lead 17283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017284|117284|989898|1|9999017284|MR|Test|E|Lead 17284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017285|117285|989898|1|9999017285|MR|Test|E|Lead 17285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017286|117286|989898|1|9999017286|MR|Test|E|Lead 17286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017287|117287|989898|1|9999017287|MR|Test|E|Lead 17287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017288|117288|989898|1|9999017288|MR|Test|E|Lead 17288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017289|117289|989898|1|9999017289|MR|Test|E|Lead 17289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017290|117290|989898|1|9999017290|MR|Test|E|Lead 17290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017291|117291|989898|1|9999017291|MR|Test|E|Lead 17291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017292|117292|989898|1|9999017292|MR|Test|E|Lead 17292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017293|117293|989898|1|9999017293|MR|Test|E|Lead 17293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017294|117294|989898|1|9999017294|MR|Test|E|Lead 17294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017295|117295|989898|1|9999017295|MR|Test|E|Lead 17295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017296|117296|989898|1|9999017296|MR|Test|E|Lead 17296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017297|117297|989898|1|9999017297|MR|Test|E|Lead 17297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017298|117298|989898|1|9999017298|MR|Test|E|Lead 17298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017299|117299|989898|1|9999017299|MR|Test|E|Lead 17299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017300|117300|989898|1|9999017300|MR|Test|E|Lead 17300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017301|117301|989898|1|9999017301|MR|Test|E|Lead 17301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017302|117302|989898|1|9999017302|MR|Test|E|Lead 17302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017303|117303|989898|1|9999017303|MR|Test|E|Lead 17303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017304|117304|989898|1|9999017304|MR|Test|E|Lead 17304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017305|117305|989898|1|9999017305|MR|Test|E|Lead 17305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017306|117306|989898|1|9999017306|MR|Test|E|Lead 17306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017307|117307|989898|1|9999017307|MR|Test|E|Lead 17307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017308|117308|989898|1|9999017308|MR|Test|E|Lead 17308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017309|117309|989898|1|9999017309|MR|Test|E|Lead 17309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017310|117310|989898|1|9999017310|MR|Test|E|Lead 17310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017311|117311|989898|1|9999017311|MR|Test|E|Lead 17311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017312|117312|989898|1|9999017312|MR|Test|E|Lead 17312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017313|117313|989898|1|9999017313|MR|Test|E|Lead 17313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017314|117314|989898|1|9999017314|MR|Test|E|Lead 17314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017315|117315|989898|1|9999017315|MR|Test|E|Lead 17315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017316|117316|989898|1|9999017316|MR|Test|E|Lead 17316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017317|117317|989898|1|9999017317|MR|Test|E|Lead 17317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017318|117318|989898|1|9999017318|MR|Test|E|Lead 17318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017319|117319|989898|1|9999017319|MR|Test|E|Lead 17319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017320|117320|989898|1|9999017320|MR|Test|E|Lead 17320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017321|117321|989898|1|9999017321|MR|Test|E|Lead 17321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017322|117322|989898|1|9999017322|MR|Test|E|Lead 17322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017323|117323|989898|1|9999017323|MR|Test|E|Lead 17323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017324|117324|989898|1|9999017324|MR|Test|E|Lead 17324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017325|117325|989898|1|9999017325|MR|Test|E|Lead 17325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017326|117326|989898|1|9999017326|MR|Test|E|Lead 17326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017327|117327|989898|1|9999017327|MR|Test|E|Lead 17327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017328|117328|989898|1|9999017328|MR|Test|E|Lead 17328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017329|117329|989898|1|9999017329|MR|Test|E|Lead 17329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017330|117330|989898|1|9999017330|MR|Test|E|Lead 17330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017331|117331|989898|1|9999017331|MR|Test|E|Lead 17331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017332|117332|989898|1|9999017332|MR|Test|E|Lead 17332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017333|117333|989898|1|9999017333|MR|Test|E|Lead 17333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017334|117334|989898|1|9999017334|MR|Test|E|Lead 17334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017335|117335|989898|1|9999017335|MR|Test|E|Lead 17335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017336|117336|989898|1|9999017336|MR|Test|E|Lead 17336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017337|117337|989898|1|9999017337|MR|Test|E|Lead 17337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017338|117338|989898|1|9999017338|MR|Test|E|Lead 17338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017339|117339|989898|1|9999017339|MR|Test|E|Lead 17339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017340|117340|989898|1|9999017340|MR|Test|E|Lead 17340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017341|117341|989898|1|9999017341|MR|Test|E|Lead 17341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017342|117342|989898|1|9999017342|MR|Test|E|Lead 17342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017343|117343|989898|1|9999017343|MR|Test|E|Lead 17343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017344|117344|989898|1|9999017344|MR|Test|E|Lead 17344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017345|117345|989898|1|9999017345|MR|Test|E|Lead 17345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017346|117346|989898|1|9999017346|MR|Test|E|Lead 17346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017347|117347|989898|1|9999017347|MR|Test|E|Lead 17347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017348|117348|989898|1|9999017348|MR|Test|E|Lead 17348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017349|117349|989898|1|9999017349|MR|Test|E|Lead 17349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017350|117350|989898|1|9999017350|MR|Test|E|Lead 17350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017351|117351|989898|1|9999017351|MR|Test|E|Lead 17351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017352|117352|989898|1|9999017352|MR|Test|E|Lead 17352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017353|117353|989898|1|9999017353|MR|Test|E|Lead 17353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017354|117354|989898|1|9999017354|MR|Test|E|Lead 17354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017355|117355|989898|1|9999017355|MR|Test|E|Lead 17355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017356|117356|989898|1|9999017356|MR|Test|E|Lead 17356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017357|117357|989898|1|9999017357|MR|Test|E|Lead 17357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017358|117358|989898|1|9999017358|MR|Test|E|Lead 17358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017359|117359|989898|1|9999017359|MR|Test|E|Lead 17359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017360|117360|989898|1|9999017360|MR|Test|E|Lead 17360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017361|117361|989898|1|9999017361|MR|Test|E|Lead 17361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017362|117362|989898|1|9999017362|MR|Test|E|Lead 17362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017363|117363|989898|1|9999017363|MR|Test|E|Lead 17363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017364|117364|989898|1|9999017364|MR|Test|E|Lead 17364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017365|117365|989898|1|9999017365|MR|Test|E|Lead 17365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017366|117366|989898|1|9999017366|MR|Test|E|Lead 17366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017367|117367|989898|1|9999017367|MR|Test|E|Lead 17367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017368|117368|989898|1|9999017368|MR|Test|E|Lead 17368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017369|117369|989898|1|9999017369|MR|Test|E|Lead 17369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017370|117370|989898|1|9999017370|MR|Test|E|Lead 17370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017371|117371|989898|1|9999017371|MR|Test|E|Lead 17371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017372|117372|989898|1|9999017372|MR|Test|E|Lead 17372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017373|117373|989898|1|9999017373|MR|Test|E|Lead 17373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017374|117374|989898|1|9999017374|MR|Test|E|Lead 17374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017375|117375|989898|1|9999017375|MR|Test|E|Lead 17375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017376|117376|989898|1|9999017376|MR|Test|E|Lead 17376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017377|117377|989898|1|9999017377|MR|Test|E|Lead 17377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017378|117378|989898|1|9999017378|MR|Test|E|Lead 17378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017379|117379|989898|1|9999017379|MR|Test|E|Lead 17379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017380|117380|989898|1|9999017380|MR|Test|E|Lead 17380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017381|117381|989898|1|9999017381|MR|Test|E|Lead 17381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017382|117382|989898|1|9999017382|MR|Test|E|Lead 17382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017383|117383|989898|1|9999017383|MR|Test|E|Lead 17383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017384|117384|989898|1|9999017384|MR|Test|E|Lead 17384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017385|117385|989898|1|9999017385|MR|Test|E|Lead 17385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017386|117386|989898|1|9999017386|MR|Test|E|Lead 17386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017387|117387|989898|1|9999017387|MR|Test|E|Lead 17387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017388|117388|989898|1|9999017388|MR|Test|E|Lead 17388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017389|117389|989898|1|9999017389|MR|Test|E|Lead 17389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017390|117390|989898|1|9999017390|MR|Test|E|Lead 17390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017391|117391|989898|1|9999017391|MR|Test|E|Lead 17391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017392|117392|989898|1|9999017392|MR|Test|E|Lead 17392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017393|117393|989898|1|9999017393|MR|Test|E|Lead 17393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017394|117394|989898|1|9999017394|MR|Test|E|Lead 17394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017395|117395|989898|1|9999017395|MR|Test|E|Lead 17395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017396|117396|989898|1|9999017396|MR|Test|E|Lead 17396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017397|117397|989898|1|9999017397|MR|Test|E|Lead 17397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017398|117398|989898|1|9999017398|MR|Test|E|Lead 17398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017399|117399|989898|1|9999017399|MR|Test|E|Lead 17399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017400|117400|989898|1|9999017400|MR|Test|E|Lead 17400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017401|117401|989898|1|9999017401|MR|Test|E|Lead 17401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017402|117402|989898|1|9999017402|MR|Test|E|Lead 17402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017403|117403|989898|1|9999017403|MR|Test|E|Lead 17403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017404|117404|989898|1|9999017404|MR|Test|E|Lead 17404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017405|117405|989898|1|9999017405|MR|Test|E|Lead 17405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017406|117406|989898|1|9999017406|MR|Test|E|Lead 17406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017407|117407|989898|1|9999017407|MR|Test|E|Lead 17407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017408|117408|989898|1|9999017408|MR|Test|E|Lead 17408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017409|117409|989898|1|9999017409|MR|Test|E|Lead 17409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017410|117410|989898|1|9999017410|MR|Test|E|Lead 17410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017411|117411|989898|1|9999017411|MR|Test|E|Lead 17411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017412|117412|989898|1|9999017412|MR|Test|E|Lead 17412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017413|117413|989898|1|9999017413|MR|Test|E|Lead 17413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017414|117414|989898|1|9999017414|MR|Test|E|Lead 17414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017415|117415|989898|1|9999017415|MR|Test|E|Lead 17415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017416|117416|989898|1|9999017416|MR|Test|E|Lead 17416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017417|117417|989898|1|9999017417|MR|Test|E|Lead 17417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017418|117418|989898|1|9999017418|MR|Test|E|Lead 17418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017419|117419|989898|1|9999017419|MR|Test|E|Lead 17419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017420|117420|989898|1|9999017420|MR|Test|E|Lead 17420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017421|117421|989898|1|9999017421|MR|Test|E|Lead 17421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017422|117422|989898|1|9999017422|MR|Test|E|Lead 17422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017423|117423|989898|1|9999017423|MR|Test|E|Lead 17423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017424|117424|989898|1|9999017424|MR|Test|E|Lead 17424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017425|117425|989898|1|9999017425|MR|Test|E|Lead 17425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017426|117426|989898|1|9999017426|MR|Test|E|Lead 17426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017427|117427|989898|1|9999017427|MR|Test|E|Lead 17427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017428|117428|989898|1|9999017428|MR|Test|E|Lead 17428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017429|117429|989898|1|9999017429|MR|Test|E|Lead 17429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017430|117430|989898|1|9999017430|MR|Test|E|Lead 17430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017431|117431|989898|1|9999017431|MR|Test|E|Lead 17431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017432|117432|989898|1|9999017432|MR|Test|E|Lead 17432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017433|117433|989898|1|9999017433|MR|Test|E|Lead 17433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017434|117434|989898|1|9999017434|MR|Test|E|Lead 17434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017435|117435|989898|1|9999017435|MR|Test|E|Lead 17435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017436|117436|989898|1|9999017436|MR|Test|E|Lead 17436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017437|117437|989898|1|9999017437|MR|Test|E|Lead 17437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017438|117438|989898|1|9999017438|MR|Test|E|Lead 17438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017439|117439|989898|1|9999017439|MR|Test|E|Lead 17439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017440|117440|989898|1|9999017440|MR|Test|E|Lead 17440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017441|117441|989898|1|9999017441|MR|Test|E|Lead 17441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017442|117442|989898|1|9999017442|MR|Test|E|Lead 17442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017443|117443|989898|1|9999017443|MR|Test|E|Lead 17443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017444|117444|989898|1|9999017444|MR|Test|E|Lead 17444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017445|117445|989898|1|9999017445|MR|Test|E|Lead 17445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017446|117446|989898|1|9999017446|MR|Test|E|Lead 17446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017447|117447|989898|1|9999017447|MR|Test|E|Lead 17447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017448|117448|989898|1|9999017448|MR|Test|E|Lead 17448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017449|117449|989898|1|9999017449|MR|Test|E|Lead 17449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017450|117450|989898|1|9999017450|MR|Test|E|Lead 17450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017451|117451|989898|1|9999017451|MR|Test|E|Lead 17451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017452|117452|989898|1|9999017452|MR|Test|E|Lead 17452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017453|117453|989898|1|9999017453|MR|Test|E|Lead 17453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017454|117454|989898|1|9999017454|MR|Test|E|Lead 17454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017455|117455|989898|1|9999017455|MR|Test|E|Lead 17455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017456|117456|989898|1|9999017456|MR|Test|E|Lead 17456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017457|117457|989898|1|9999017457|MR|Test|E|Lead 17457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017458|117458|989898|1|9999017458|MR|Test|E|Lead 17458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017459|117459|989898|1|9999017459|MR|Test|E|Lead 17459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017460|117460|989898|1|9999017460|MR|Test|E|Lead 17460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017461|117461|989898|1|9999017461|MR|Test|E|Lead 17461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017462|117462|989898|1|9999017462|MR|Test|E|Lead 17462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017463|117463|989898|1|9999017463|MR|Test|E|Lead 17463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017464|117464|989898|1|9999017464|MR|Test|E|Lead 17464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017465|117465|989898|1|9999017465|MR|Test|E|Lead 17465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017466|117466|989898|1|9999017466|MR|Test|E|Lead 17466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017467|117467|989898|1|9999017467|MR|Test|E|Lead 17467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017468|117468|989898|1|9999017468|MR|Test|E|Lead 17468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017469|117469|989898|1|9999017469|MR|Test|E|Lead 17469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017470|117470|989898|1|9999017470|MR|Test|E|Lead 17470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017471|117471|989898|1|9999017471|MR|Test|E|Lead 17471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017472|117472|989898|1|9999017472|MR|Test|E|Lead 17472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017473|117473|989898|1|9999017473|MR|Test|E|Lead 17473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017474|117474|989898|1|9999017474|MR|Test|E|Lead 17474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017475|117475|989898|1|9999017475|MR|Test|E|Lead 17475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017476|117476|989898|1|9999017476|MR|Test|E|Lead 17476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017477|117477|989898|1|9999017477|MR|Test|E|Lead 17477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017478|117478|989898|1|9999017478|MR|Test|E|Lead 17478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017479|117479|989898|1|9999017479|MR|Test|E|Lead 17479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017480|117480|989898|1|9999017480|MR|Test|E|Lead 17480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017481|117481|989898|1|9999017481|MR|Test|E|Lead 17481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017482|117482|989898|1|9999017482|MR|Test|E|Lead 17482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017483|117483|989898|1|9999017483|MR|Test|E|Lead 17483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017484|117484|989898|1|9999017484|MR|Test|E|Lead 17484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017485|117485|989898|1|9999017485|MR|Test|E|Lead 17485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017486|117486|989898|1|9999017486|MR|Test|E|Lead 17486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017487|117487|989898|1|9999017487|MR|Test|E|Lead 17487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017488|117488|989898|1|9999017488|MR|Test|E|Lead 17488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017489|117489|989898|1|9999017489|MR|Test|E|Lead 17489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017490|117490|989898|1|9999017490|MR|Test|E|Lead 17490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017491|117491|989898|1|9999017491|MR|Test|E|Lead 17491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017492|117492|989898|1|9999017492|MR|Test|E|Lead 17492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017493|117493|989898|1|9999017493|MR|Test|E|Lead 17493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017494|117494|989898|1|9999017494|MR|Test|E|Lead 17494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017495|117495|989898|1|9999017495|MR|Test|E|Lead 17495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017496|117496|989898|1|9999017496|MR|Test|E|Lead 17496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017497|117497|989898|1|9999017497|MR|Test|E|Lead 17497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017498|117498|989898|1|9999017498|MR|Test|E|Lead 17498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017499|117499|989898|1|9999017499|MR|Test|E|Lead 17499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017500|117500|989898|1|9999017500|MR|Test|E|Lead 17500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017501|117501|989898|1|9999017501|MR|Test|E|Lead 17501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017502|117502|989898|1|9999017502|MR|Test|E|Lead 17502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017503|117503|989898|1|9999017503|MR|Test|E|Lead 17503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017504|117504|989898|1|9999017504|MR|Test|E|Lead 17504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017505|117505|989898|1|9999017505|MR|Test|E|Lead 17505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017506|117506|989898|1|9999017506|MR|Test|E|Lead 17506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017507|117507|989898|1|9999017507|MR|Test|E|Lead 17507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017508|117508|989898|1|9999017508|MR|Test|E|Lead 17508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017509|117509|989898|1|9999017509|MR|Test|E|Lead 17509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017510|117510|989898|1|9999017510|MR|Test|E|Lead 17510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017511|117511|989898|1|9999017511|MR|Test|E|Lead 17511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017512|117512|989898|1|9999017512|MR|Test|E|Lead 17512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017513|117513|989898|1|9999017513|MR|Test|E|Lead 17513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017514|117514|989898|1|9999017514|MR|Test|E|Lead 17514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017515|117515|989898|1|9999017515|MR|Test|E|Lead 17515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017516|117516|989898|1|9999017516|MR|Test|E|Lead 17516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017517|117517|989898|1|9999017517|MR|Test|E|Lead 17517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017518|117518|989898|1|9999017518|MR|Test|E|Lead 17518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017519|117519|989898|1|9999017519|MR|Test|E|Lead 17519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017520|117520|989898|1|9999017520|MR|Test|E|Lead 17520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017521|117521|989898|1|9999017521|MR|Test|E|Lead 17521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017522|117522|989898|1|9999017522|MR|Test|E|Lead 17522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017523|117523|989898|1|9999017523|MR|Test|E|Lead 17523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017524|117524|989898|1|9999017524|MR|Test|E|Lead 17524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017525|117525|989898|1|9999017525|MR|Test|E|Lead 17525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017526|117526|989898|1|9999017526|MR|Test|E|Lead 17526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017527|117527|989898|1|9999017527|MR|Test|E|Lead 17527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017528|117528|989898|1|9999017528|MR|Test|E|Lead 17528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017529|117529|989898|1|9999017529|MR|Test|E|Lead 17529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017530|117530|989898|1|9999017530|MR|Test|E|Lead 17530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017531|117531|989898|1|9999017531|MR|Test|E|Lead 17531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017532|117532|989898|1|9999017532|MR|Test|E|Lead 17532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017533|117533|989898|1|9999017533|MR|Test|E|Lead 17533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017534|117534|989898|1|9999017534|MR|Test|E|Lead 17534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017535|117535|989898|1|9999017535|MR|Test|E|Lead 17535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017536|117536|989898|1|9999017536|MR|Test|E|Lead 17536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017537|117537|989898|1|9999017537|MR|Test|E|Lead 17537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017538|117538|989898|1|9999017538|MR|Test|E|Lead 17538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017539|117539|989898|1|9999017539|MR|Test|E|Lead 17539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017540|117540|989898|1|9999017540|MR|Test|E|Lead 17540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017541|117541|989898|1|9999017541|MR|Test|E|Lead 17541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017542|117542|989898|1|9999017542|MR|Test|E|Lead 17542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017543|117543|989898|1|9999017543|MR|Test|E|Lead 17543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017544|117544|989898|1|9999017544|MR|Test|E|Lead 17544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017545|117545|989898|1|9999017545|MR|Test|E|Lead 17545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017546|117546|989898|1|9999017546|MR|Test|E|Lead 17546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017547|117547|989898|1|9999017547|MR|Test|E|Lead 17547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017548|117548|989898|1|9999017548|MR|Test|E|Lead 17548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017549|117549|989898|1|9999017549|MR|Test|E|Lead 17549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017550|117550|989898|1|9999017550|MR|Test|E|Lead 17550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017551|117551|989898|1|9999017551|MR|Test|E|Lead 17551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017552|117552|989898|1|9999017552|MR|Test|E|Lead 17552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017553|117553|989898|1|9999017553|MR|Test|E|Lead 17553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017554|117554|989898|1|9999017554|MR|Test|E|Lead 17554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017555|117555|989898|1|9999017555|MR|Test|E|Lead 17555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017556|117556|989898|1|9999017556|MR|Test|E|Lead 17556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017557|117557|989898|1|9999017557|MR|Test|E|Lead 17557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017558|117558|989898|1|9999017558|MR|Test|E|Lead 17558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017559|117559|989898|1|9999017559|MR|Test|E|Lead 17559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017560|117560|989898|1|9999017560|MR|Test|E|Lead 17560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017561|117561|989898|1|9999017561|MR|Test|E|Lead 17561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017562|117562|989898|1|9999017562|MR|Test|E|Lead 17562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017563|117563|989898|1|9999017563|MR|Test|E|Lead 17563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017564|117564|989898|1|9999017564|MR|Test|E|Lead 17564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017565|117565|989898|1|9999017565|MR|Test|E|Lead 17565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017566|117566|989898|1|9999017566|MR|Test|E|Lead 17566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017567|117567|989898|1|9999017567|MR|Test|E|Lead 17567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017568|117568|989898|1|9999017568|MR|Test|E|Lead 17568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017569|117569|989898|1|9999017569|MR|Test|E|Lead 17569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017570|117570|989898|1|9999017570|MR|Test|E|Lead 17570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017571|117571|989898|1|9999017571|MR|Test|E|Lead 17571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017572|117572|989898|1|9999017572|MR|Test|E|Lead 17572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017573|117573|989898|1|9999017573|MR|Test|E|Lead 17573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017574|117574|989898|1|9999017574|MR|Test|E|Lead 17574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017575|117575|989898|1|9999017575|MR|Test|E|Lead 17575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017576|117576|989898|1|9999017576|MR|Test|E|Lead 17576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017577|117577|989898|1|9999017577|MR|Test|E|Lead 17577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017578|117578|989898|1|9999017578|MR|Test|E|Lead 17578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017579|117579|989898|1|9999017579|MR|Test|E|Lead 17579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017580|117580|989898|1|9999017580|MR|Test|E|Lead 17580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017581|117581|989898|1|9999017581|MR|Test|E|Lead 17581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017582|117582|989898|1|9999017582|MR|Test|E|Lead 17582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017583|117583|989898|1|9999017583|MR|Test|E|Lead 17583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017584|117584|989898|1|9999017584|MR|Test|E|Lead 17584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017585|117585|989898|1|9999017585|MR|Test|E|Lead 17585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017586|117586|989898|1|9999017586|MR|Test|E|Lead 17586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017587|117587|989898|1|9999017587|MR|Test|E|Lead 17587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017588|117588|989898|1|9999017588|MR|Test|E|Lead 17588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017589|117589|989898|1|9999017589|MR|Test|E|Lead 17589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017590|117590|989898|1|9999017590|MR|Test|E|Lead 17590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017591|117591|989898|1|9999017591|MR|Test|E|Lead 17591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017592|117592|989898|1|9999017592|MR|Test|E|Lead 17592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017593|117593|989898|1|9999017593|MR|Test|E|Lead 17593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017594|117594|989898|1|9999017594|MR|Test|E|Lead 17594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017595|117595|989898|1|9999017595|MR|Test|E|Lead 17595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017596|117596|989898|1|9999017596|MR|Test|E|Lead 17596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017597|117597|989898|1|9999017597|MR|Test|E|Lead 17597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017598|117598|989898|1|9999017598|MR|Test|E|Lead 17598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017599|117599|989898|1|9999017599|MR|Test|E|Lead 17599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017600|117600|989898|1|9999017600|MR|Test|E|Lead 17600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017601|117601|989898|1|9999017601|MR|Test|E|Lead 17601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017602|117602|989898|1|9999017602|MR|Test|E|Lead 17602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017603|117603|989898|1|9999017603|MR|Test|E|Lead 17603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017604|117604|989898|1|9999017604|MR|Test|E|Lead 17604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017605|117605|989898|1|9999017605|MR|Test|E|Lead 17605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017606|117606|989898|1|9999017606|MR|Test|E|Lead 17606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017607|117607|989898|1|9999017607|MR|Test|E|Lead 17607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017608|117608|989898|1|9999017608|MR|Test|E|Lead 17608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017609|117609|989898|1|9999017609|MR|Test|E|Lead 17609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017610|117610|989898|1|9999017610|MR|Test|E|Lead 17610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017611|117611|989898|1|9999017611|MR|Test|E|Lead 17611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017612|117612|989898|1|9999017612|MR|Test|E|Lead 17612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017613|117613|989898|1|9999017613|MR|Test|E|Lead 17613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017614|117614|989898|1|9999017614|MR|Test|E|Lead 17614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017615|117615|989898|1|9999017615|MR|Test|E|Lead 17615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017616|117616|989898|1|9999017616|MR|Test|E|Lead 17616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017617|117617|989898|1|9999017617|MR|Test|E|Lead 17617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017618|117618|989898|1|9999017618|MR|Test|E|Lead 17618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017619|117619|989898|1|9999017619|MR|Test|E|Lead 17619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017620|117620|989898|1|9999017620|MR|Test|E|Lead 17620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017621|117621|989898|1|9999017621|MR|Test|E|Lead 17621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017622|117622|989898|1|9999017622|MR|Test|E|Lead 17622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017623|117623|989898|1|9999017623|MR|Test|E|Lead 17623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017624|117624|989898|1|9999017624|MR|Test|E|Lead 17624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017625|117625|989898|1|9999017625|MR|Test|E|Lead 17625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017626|117626|989898|1|9999017626|MR|Test|E|Lead 17626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017627|117627|989898|1|9999017627|MR|Test|E|Lead 17627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017628|117628|989898|1|9999017628|MR|Test|E|Lead 17628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017629|117629|989898|1|9999017629|MR|Test|E|Lead 17629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017630|117630|989898|1|9999017630|MR|Test|E|Lead 17630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017631|117631|989898|1|9999017631|MR|Test|E|Lead 17631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017632|117632|989898|1|9999017632|MR|Test|E|Lead 17632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017633|117633|989898|1|9999017633|MR|Test|E|Lead 17633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017634|117634|989898|1|9999017634|MR|Test|E|Lead 17634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017635|117635|989898|1|9999017635|MR|Test|E|Lead 17635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017636|117636|989898|1|9999017636|MR|Test|E|Lead 17636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017637|117637|989898|1|9999017637|MR|Test|E|Lead 17637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017638|117638|989898|1|9999017638|MR|Test|E|Lead 17638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017639|117639|989898|1|9999017639|MR|Test|E|Lead 17639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017640|117640|989898|1|9999017640|MR|Test|E|Lead 17640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017641|117641|989898|1|9999017641|MR|Test|E|Lead 17641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017642|117642|989898|1|9999017642|MR|Test|E|Lead 17642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017643|117643|989898|1|9999017643|MR|Test|E|Lead 17643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017644|117644|989898|1|9999017644|MR|Test|E|Lead 17644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017645|117645|989898|1|9999017645|MR|Test|E|Lead 17645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017646|117646|989898|1|9999017646|MR|Test|E|Lead 17646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017647|117647|989898|1|9999017647|MR|Test|E|Lead 17647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017648|117648|989898|1|9999017648|MR|Test|E|Lead 17648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017649|117649|989898|1|9999017649|MR|Test|E|Lead 17649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017650|117650|989898|1|9999017650|MR|Test|E|Lead 17650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017651|117651|989898|1|9999017651|MR|Test|E|Lead 17651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017652|117652|989898|1|9999017652|MR|Test|E|Lead 17652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017653|117653|989898|1|9999017653|MR|Test|E|Lead 17653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017654|117654|989898|1|9999017654|MR|Test|E|Lead 17654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017655|117655|989898|1|9999017655|MR|Test|E|Lead 17655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017656|117656|989898|1|9999017656|MR|Test|E|Lead 17656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017657|117657|989898|1|9999017657|MR|Test|E|Lead 17657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017658|117658|989898|1|9999017658|MR|Test|E|Lead 17658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017659|117659|989898|1|9999017659|MR|Test|E|Lead 17659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017660|117660|989898|1|9999017660|MR|Test|E|Lead 17660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017661|117661|989898|1|9999017661|MR|Test|E|Lead 17661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017662|117662|989898|1|9999017662|MR|Test|E|Lead 17662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017663|117663|989898|1|9999017663|MR|Test|E|Lead 17663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017664|117664|989898|1|9999017664|MR|Test|E|Lead 17664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017665|117665|989898|1|9999017665|MR|Test|E|Lead 17665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017666|117666|989898|1|9999017666|MR|Test|E|Lead 17666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017667|117667|989898|1|9999017667|MR|Test|E|Lead 17667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017668|117668|989898|1|9999017668|MR|Test|E|Lead 17668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017669|117669|989898|1|9999017669|MR|Test|E|Lead 17669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017670|117670|989898|1|9999017670|MR|Test|E|Lead 17670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017671|117671|989898|1|9999017671|MR|Test|E|Lead 17671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017672|117672|989898|1|9999017672|MR|Test|E|Lead 17672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017673|117673|989898|1|9999017673|MR|Test|E|Lead 17673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017674|117674|989898|1|9999017674|MR|Test|E|Lead 17674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017675|117675|989898|1|9999017675|MR|Test|E|Lead 17675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017676|117676|989898|1|9999017676|MR|Test|E|Lead 17676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017677|117677|989898|1|9999017677|MR|Test|E|Lead 17677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017678|117678|989898|1|9999017678|MR|Test|E|Lead 17678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017679|117679|989898|1|9999017679|MR|Test|E|Lead 17679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017680|117680|989898|1|9999017680|MR|Test|E|Lead 17680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017681|117681|989898|1|9999017681|MR|Test|E|Lead 17681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017682|117682|989898|1|9999017682|MR|Test|E|Lead 17682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017683|117683|989898|1|9999017683|MR|Test|E|Lead 17683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017684|117684|989898|1|9999017684|MR|Test|E|Lead 17684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017685|117685|989898|1|9999017685|MR|Test|E|Lead 17685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017686|117686|989898|1|9999017686|MR|Test|E|Lead 17686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017687|117687|989898|1|9999017687|MR|Test|E|Lead 17687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017688|117688|989898|1|9999017688|MR|Test|E|Lead 17688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017689|117689|989898|1|9999017689|MR|Test|E|Lead 17689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017690|117690|989898|1|9999017690|MR|Test|E|Lead 17690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017691|117691|989898|1|9999017691|MR|Test|E|Lead 17691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017692|117692|989898|1|9999017692|MR|Test|E|Lead 17692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017693|117693|989898|1|9999017693|MR|Test|E|Lead 17693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017694|117694|989898|1|9999017694|MR|Test|E|Lead 17694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017695|117695|989898|1|9999017695|MR|Test|E|Lead 17695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017696|117696|989898|1|9999017696|MR|Test|E|Lead 17696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017697|117697|989898|1|9999017697|MR|Test|E|Lead 17697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017698|117698|989898|1|9999017698|MR|Test|E|Lead 17698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017699|117699|989898|1|9999017699|MR|Test|E|Lead 17699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017700|117700|989898|1|9999017700|MR|Test|E|Lead 17700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017701|117701|989898|1|9999017701|MR|Test|E|Lead 17701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017702|117702|989898|1|9999017702|MR|Test|E|Lead 17702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017703|117703|989898|1|9999017703|MR|Test|E|Lead 17703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017704|117704|989898|1|9999017704|MR|Test|E|Lead 17704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017705|117705|989898|1|9999017705|MR|Test|E|Lead 17705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017706|117706|989898|1|9999017706|MR|Test|E|Lead 17706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017707|117707|989898|1|9999017707|MR|Test|E|Lead 17707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017708|117708|989898|1|9999017708|MR|Test|E|Lead 17708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017709|117709|989898|1|9999017709|MR|Test|E|Lead 17709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017710|117710|989898|1|9999017710|MR|Test|E|Lead 17710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017711|117711|989898|1|9999017711|MR|Test|E|Lead 17711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017712|117712|989898|1|9999017712|MR|Test|E|Lead 17712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017713|117713|989898|1|9999017713|MR|Test|E|Lead 17713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017714|117714|989898|1|9999017714|MR|Test|E|Lead 17714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017715|117715|989898|1|9999017715|MR|Test|E|Lead 17715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017716|117716|989898|1|9999017716|MR|Test|E|Lead 17716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017717|117717|989898|1|9999017717|MR|Test|E|Lead 17717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017718|117718|989898|1|9999017718|MR|Test|E|Lead 17718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017719|117719|989898|1|9999017719|MR|Test|E|Lead 17719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017720|117720|989898|1|9999017720|MR|Test|E|Lead 17720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017721|117721|989898|1|9999017721|MR|Test|E|Lead 17721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017722|117722|989898|1|9999017722|MR|Test|E|Lead 17722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017723|117723|989898|1|9999017723|MR|Test|E|Lead 17723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017724|117724|989898|1|9999017724|MR|Test|E|Lead 17724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017725|117725|989898|1|9999017725|MR|Test|E|Lead 17725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017726|117726|989898|1|9999017726|MR|Test|E|Lead 17726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017727|117727|989898|1|9999017727|MR|Test|E|Lead 17727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017728|117728|989898|1|9999017728|MR|Test|E|Lead 17728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017729|117729|989898|1|9999017729|MR|Test|E|Lead 17729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017730|117730|989898|1|9999017730|MR|Test|E|Lead 17730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017731|117731|989898|1|9999017731|MR|Test|E|Lead 17731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017732|117732|989898|1|9999017732|MR|Test|E|Lead 17732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017733|117733|989898|1|9999017733|MR|Test|E|Lead 17733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017734|117734|989898|1|9999017734|MR|Test|E|Lead 17734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017735|117735|989898|1|9999017735|MR|Test|E|Lead 17735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017736|117736|989898|1|9999017736|MR|Test|E|Lead 17736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017737|117737|989898|1|9999017737|MR|Test|E|Lead 17737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017738|117738|989898|1|9999017738|MR|Test|E|Lead 17738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017739|117739|989898|1|9999017739|MR|Test|E|Lead 17739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017740|117740|989898|1|9999017740|MR|Test|E|Lead 17740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017741|117741|989898|1|9999017741|MR|Test|E|Lead 17741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017742|117742|989898|1|9999017742|MR|Test|E|Lead 17742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017743|117743|989898|1|9999017743|MR|Test|E|Lead 17743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017744|117744|989898|1|9999017744|MR|Test|E|Lead 17744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017745|117745|989898|1|9999017745|MR|Test|E|Lead 17745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017746|117746|989898|1|9999017746|MR|Test|E|Lead 17746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017747|117747|989898|1|9999017747|MR|Test|E|Lead 17747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017748|117748|989898|1|9999017748|MR|Test|E|Lead 17748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017749|117749|989898|1|9999017749|MR|Test|E|Lead 17749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017750|117750|989898|1|9999017750|MR|Test|E|Lead 17750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017751|117751|989898|1|9999017751|MR|Test|E|Lead 17751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017752|117752|989898|1|9999017752|MR|Test|E|Lead 17752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017753|117753|989898|1|9999017753|MR|Test|E|Lead 17753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017754|117754|989898|1|9999017754|MR|Test|E|Lead 17754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017755|117755|989898|1|9999017755|MR|Test|E|Lead 17755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017756|117756|989898|1|9999017756|MR|Test|E|Lead 17756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017757|117757|989898|1|9999017757|MR|Test|E|Lead 17757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017758|117758|989898|1|9999017758|MR|Test|E|Lead 17758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017759|117759|989898|1|9999017759|MR|Test|E|Lead 17759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017760|117760|989898|1|9999017760|MR|Test|E|Lead 17760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017761|117761|989898|1|9999017761|MR|Test|E|Lead 17761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017762|117762|989898|1|9999017762|MR|Test|E|Lead 17762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017763|117763|989898|1|9999017763|MR|Test|E|Lead 17763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017764|117764|989898|1|9999017764|MR|Test|E|Lead 17764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017765|117765|989898|1|9999017765|MR|Test|E|Lead 17765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017766|117766|989898|1|9999017766|MR|Test|E|Lead 17766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017767|117767|989898|1|9999017767|MR|Test|E|Lead 17767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017768|117768|989898|1|9999017768|MR|Test|E|Lead 17768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017769|117769|989898|1|9999017769|MR|Test|E|Lead 17769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017770|117770|989898|1|9999017770|MR|Test|E|Lead 17770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017771|117771|989898|1|9999017771|MR|Test|E|Lead 17771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017772|117772|989898|1|9999017772|MR|Test|E|Lead 17772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017773|117773|989898|1|9999017773|MR|Test|E|Lead 17773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017774|117774|989898|1|9999017774|MR|Test|E|Lead 17774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017775|117775|989898|1|9999017775|MR|Test|E|Lead 17775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017776|117776|989898|1|9999017776|MR|Test|E|Lead 17776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017777|117777|989898|1|9999017777|MR|Test|E|Lead 17777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017778|117778|989898|1|9999017778|MR|Test|E|Lead 17778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017779|117779|989898|1|9999017779|MR|Test|E|Lead 17779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017780|117780|989898|1|9999017780|MR|Test|E|Lead 17780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017781|117781|989898|1|9999017781|MR|Test|E|Lead 17781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017782|117782|989898|1|9999017782|MR|Test|E|Lead 17782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017783|117783|989898|1|9999017783|MR|Test|E|Lead 17783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017784|117784|989898|1|9999017784|MR|Test|E|Lead 17784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017785|117785|989898|1|9999017785|MR|Test|E|Lead 17785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017786|117786|989898|1|9999017786|MR|Test|E|Lead 17786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017787|117787|989898|1|9999017787|MR|Test|E|Lead 17787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017788|117788|989898|1|9999017788|MR|Test|E|Lead 17788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017789|117789|989898|1|9999017789|MR|Test|E|Lead 17789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017790|117790|989898|1|9999017790|MR|Test|E|Lead 17790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017791|117791|989898|1|9999017791|MR|Test|E|Lead 17791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017792|117792|989898|1|9999017792|MR|Test|E|Lead 17792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017793|117793|989898|1|9999017793|MR|Test|E|Lead 17793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017794|117794|989898|1|9999017794|MR|Test|E|Lead 17794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017795|117795|989898|1|9999017795|MR|Test|E|Lead 17795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017796|117796|989898|1|9999017796|MR|Test|E|Lead 17796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017797|117797|989898|1|9999017797|MR|Test|E|Lead 17797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017798|117798|989898|1|9999017798|MR|Test|E|Lead 17798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017799|117799|989898|1|9999017799|MR|Test|E|Lead 17799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017800|117800|989898|1|9999017800|MR|Test|E|Lead 17800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017801|117801|989898|1|9999017801|MR|Test|E|Lead 17801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017802|117802|989898|1|9999017802|MR|Test|E|Lead 17802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017803|117803|989898|1|9999017803|MR|Test|E|Lead 17803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017804|117804|989898|1|9999017804|MR|Test|E|Lead 17804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017805|117805|989898|1|9999017805|MR|Test|E|Lead 17805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017806|117806|989898|1|9999017806|MR|Test|E|Lead 17806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017807|117807|989898|1|9999017807|MR|Test|E|Lead 17807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017808|117808|989898|1|9999017808|MR|Test|E|Lead 17808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017809|117809|989898|1|9999017809|MR|Test|E|Lead 17809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017810|117810|989898|1|9999017810|MR|Test|E|Lead 17810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017811|117811|989898|1|9999017811|MR|Test|E|Lead 17811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017812|117812|989898|1|9999017812|MR|Test|E|Lead 17812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017813|117813|989898|1|9999017813|MR|Test|E|Lead 17813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017814|117814|989898|1|9999017814|MR|Test|E|Lead 17814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017815|117815|989898|1|9999017815|MR|Test|E|Lead 17815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017816|117816|989898|1|9999017816|MR|Test|E|Lead 17816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017817|117817|989898|1|9999017817|MR|Test|E|Lead 17817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017818|117818|989898|1|9999017818|MR|Test|E|Lead 17818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017819|117819|989898|1|9999017819|MR|Test|E|Lead 17819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017820|117820|989898|1|9999017820|MR|Test|E|Lead 17820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017821|117821|989898|1|9999017821|MR|Test|E|Lead 17821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017822|117822|989898|1|9999017822|MR|Test|E|Lead 17822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017823|117823|989898|1|9999017823|MR|Test|E|Lead 17823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017824|117824|989898|1|9999017824|MR|Test|E|Lead 17824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017825|117825|989898|1|9999017825|MR|Test|E|Lead 17825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017826|117826|989898|1|9999017826|MR|Test|E|Lead 17826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017827|117827|989898|1|9999017827|MR|Test|E|Lead 17827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017828|117828|989898|1|9999017828|MR|Test|E|Lead 17828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017829|117829|989898|1|9999017829|MR|Test|E|Lead 17829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017830|117830|989898|1|9999017830|MR|Test|E|Lead 17830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017831|117831|989898|1|9999017831|MR|Test|E|Lead 17831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017832|117832|989898|1|9999017832|MR|Test|E|Lead 17832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017833|117833|989898|1|9999017833|MR|Test|E|Lead 17833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017834|117834|989898|1|9999017834|MR|Test|E|Lead 17834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017835|117835|989898|1|9999017835|MR|Test|E|Lead 17835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017836|117836|989898|1|9999017836|MR|Test|E|Lead 17836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017837|117837|989898|1|9999017837|MR|Test|E|Lead 17837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017838|117838|989898|1|9999017838|MR|Test|E|Lead 17838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017839|117839|989898|1|9999017839|MR|Test|E|Lead 17839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017840|117840|989898|1|9999017840|MR|Test|E|Lead 17840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017841|117841|989898|1|9999017841|MR|Test|E|Lead 17841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017842|117842|989898|1|9999017842|MR|Test|E|Lead 17842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017843|117843|989898|1|9999017843|MR|Test|E|Lead 17843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017844|117844|989898|1|9999017844|MR|Test|E|Lead 17844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017845|117845|989898|1|9999017845|MR|Test|E|Lead 17845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017846|117846|989898|1|9999017846|MR|Test|E|Lead 17846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017847|117847|989898|1|9999017847|MR|Test|E|Lead 17847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017848|117848|989898|1|9999017848|MR|Test|E|Lead 17848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017849|117849|989898|1|9999017849|MR|Test|E|Lead 17849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017850|117850|989898|1|9999017850|MR|Test|E|Lead 17850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017851|117851|989898|1|9999017851|MR|Test|E|Lead 17851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017852|117852|989898|1|9999017852|MR|Test|E|Lead 17852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017853|117853|989898|1|9999017853|MR|Test|E|Lead 17853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017854|117854|989898|1|9999017854|MR|Test|E|Lead 17854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017855|117855|989898|1|9999017855|MR|Test|E|Lead 17855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017856|117856|989898|1|9999017856|MR|Test|E|Lead 17856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017857|117857|989898|1|9999017857|MR|Test|E|Lead 17857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017858|117858|989898|1|9999017858|MR|Test|E|Lead 17858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017859|117859|989898|1|9999017859|MR|Test|E|Lead 17859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017860|117860|989898|1|9999017860|MR|Test|E|Lead 17860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017861|117861|989898|1|9999017861|MR|Test|E|Lead 17861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017862|117862|989898|1|9999017862|MR|Test|E|Lead 17862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017863|117863|989898|1|9999017863|MR|Test|E|Lead 17863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017864|117864|989898|1|9999017864|MR|Test|E|Lead 17864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017865|117865|989898|1|9999017865|MR|Test|E|Lead 17865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017866|117866|989898|1|9999017866|MR|Test|E|Lead 17866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017867|117867|989898|1|9999017867|MR|Test|E|Lead 17867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017868|117868|989898|1|9999017868|MR|Test|E|Lead 17868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017869|117869|989898|1|9999017869|MR|Test|E|Lead 17869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017870|117870|989898|1|9999017870|MR|Test|E|Lead 17870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017871|117871|989898|1|9999017871|MR|Test|E|Lead 17871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017872|117872|989898|1|9999017872|MR|Test|E|Lead 17872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017873|117873|989898|1|9999017873|MR|Test|E|Lead 17873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017874|117874|989898|1|9999017874|MR|Test|E|Lead 17874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017875|117875|989898|1|9999017875|MR|Test|E|Lead 17875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017876|117876|989898|1|9999017876|MR|Test|E|Lead 17876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017877|117877|989898|1|9999017877|MR|Test|E|Lead 17877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017878|117878|989898|1|9999017878|MR|Test|E|Lead 17878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017879|117879|989898|1|9999017879|MR|Test|E|Lead 17879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017880|117880|989898|1|9999017880|MR|Test|E|Lead 17880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017881|117881|989898|1|9999017881|MR|Test|E|Lead 17881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017882|117882|989898|1|9999017882|MR|Test|E|Lead 17882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017883|117883|989898|1|9999017883|MR|Test|E|Lead 17883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017884|117884|989898|1|9999017884|MR|Test|E|Lead 17884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017885|117885|989898|1|9999017885|MR|Test|E|Lead 17885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017886|117886|989898|1|9999017886|MR|Test|E|Lead 17886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017887|117887|989898|1|9999017887|MR|Test|E|Lead 17887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017888|117888|989898|1|9999017888|MR|Test|E|Lead 17888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017889|117889|989898|1|9999017889|MR|Test|E|Lead 17889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017890|117890|989898|1|9999017890|MR|Test|E|Lead 17890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017891|117891|989898|1|9999017891|MR|Test|E|Lead 17891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017892|117892|989898|1|9999017892|MR|Test|E|Lead 17892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017893|117893|989898|1|9999017893|MR|Test|E|Lead 17893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017894|117894|989898|1|9999017894|MR|Test|E|Lead 17894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017895|117895|989898|1|9999017895|MR|Test|E|Lead 17895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017896|117896|989898|1|9999017896|MR|Test|E|Lead 17896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017897|117897|989898|1|9999017897|MR|Test|E|Lead 17897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017898|117898|989898|1|9999017898|MR|Test|E|Lead 17898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017899|117899|989898|1|9999017899|MR|Test|E|Lead 17899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017900|117900|989898|1|9999017900|MR|Test|E|Lead 17900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017901|117901|989898|1|9999017901|MR|Test|E|Lead 17901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017902|117902|989898|1|9999017902|MR|Test|E|Lead 17902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017903|117903|989898|1|9999017903|MR|Test|E|Lead 17903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017904|117904|989898|1|9999017904|MR|Test|E|Lead 17904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017905|117905|989898|1|9999017905|MR|Test|E|Lead 17905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017906|117906|989898|1|9999017906|MR|Test|E|Lead 17906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017907|117907|989898|1|9999017907|MR|Test|E|Lead 17907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017908|117908|989898|1|9999017908|MR|Test|E|Lead 17908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017909|117909|989898|1|9999017909|MR|Test|E|Lead 17909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017910|117910|989898|1|9999017910|MR|Test|E|Lead 17910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017911|117911|989898|1|9999017911|MR|Test|E|Lead 17911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017912|117912|989898|1|9999017912|MR|Test|E|Lead 17912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017913|117913|989898|1|9999017913|MR|Test|E|Lead 17913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017914|117914|989898|1|9999017914|MR|Test|E|Lead 17914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017915|117915|989898|1|9999017915|MR|Test|E|Lead 17915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017916|117916|989898|1|9999017916|MR|Test|E|Lead 17916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017917|117917|989898|1|9999017917|MR|Test|E|Lead 17917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017918|117918|989898|1|9999017918|MR|Test|E|Lead 17918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017919|117919|989898|1|9999017919|MR|Test|E|Lead 17919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017920|117920|989898|1|9999017920|MR|Test|E|Lead 17920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017921|117921|989898|1|9999017921|MR|Test|E|Lead 17921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017922|117922|989898|1|9999017922|MR|Test|E|Lead 17922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017923|117923|989898|1|9999017923|MR|Test|E|Lead 17923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017924|117924|989898|1|9999017924|MR|Test|E|Lead 17924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017925|117925|989898|1|9999017925|MR|Test|E|Lead 17925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017926|117926|989898|1|9999017926|MR|Test|E|Lead 17926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017927|117927|989898|1|9999017927|MR|Test|E|Lead 17927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017928|117928|989898|1|9999017928|MR|Test|E|Lead 17928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017929|117929|989898|1|9999017929|MR|Test|E|Lead 17929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017930|117930|989898|1|9999017930|MR|Test|E|Lead 17930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017931|117931|989898|1|9999017931|MR|Test|E|Lead 17931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017932|117932|989898|1|9999017932|MR|Test|E|Lead 17932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017933|117933|989898|1|9999017933|MR|Test|E|Lead 17933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017934|117934|989898|1|9999017934|MR|Test|E|Lead 17934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017935|117935|989898|1|9999017935|MR|Test|E|Lead 17935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017936|117936|989898|1|9999017936|MR|Test|E|Lead 17936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017937|117937|989898|1|9999017937|MR|Test|E|Lead 17937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017938|117938|989898|1|9999017938|MR|Test|E|Lead 17938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017939|117939|989898|1|9999017939|MR|Test|E|Lead 17939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017940|117940|989898|1|9999017940|MR|Test|E|Lead 17940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017941|117941|989898|1|9999017941|MR|Test|E|Lead 17941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017942|117942|989898|1|9999017942|MR|Test|E|Lead 17942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017943|117943|989898|1|9999017943|MR|Test|E|Lead 17943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017944|117944|989898|1|9999017944|MR|Test|E|Lead 17944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017945|117945|989898|1|9999017945|MR|Test|E|Lead 17945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017946|117946|989898|1|9999017946|MR|Test|E|Lead 17946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017947|117947|989898|1|9999017947|MR|Test|E|Lead 17947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017948|117948|989898|1|9999017948|MR|Test|E|Lead 17948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017949|117949|989898|1|9999017949|MR|Test|E|Lead 17949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017950|117950|989898|1|9999017950|MR|Test|E|Lead 17950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017951|117951|989898|1|9999017951|MR|Test|E|Lead 17951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017952|117952|989898|1|9999017952|MR|Test|E|Lead 17952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017953|117953|989898|1|9999017953|MR|Test|E|Lead 17953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017954|117954|989898|1|9999017954|MR|Test|E|Lead 17954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017955|117955|989898|1|9999017955|MR|Test|E|Lead 17955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017956|117956|989898|1|9999017956|MR|Test|E|Lead 17956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017957|117957|989898|1|9999017957|MR|Test|E|Lead 17957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017958|117958|989898|1|9999017958|MR|Test|E|Lead 17958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017959|117959|989898|1|9999017959|MR|Test|E|Lead 17959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017960|117960|989898|1|9999017960|MR|Test|E|Lead 17960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017961|117961|989898|1|9999017961|MR|Test|E|Lead 17961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017962|117962|989898|1|9999017962|MR|Test|E|Lead 17962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017963|117963|989898|1|9999017963|MR|Test|E|Lead 17963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017964|117964|989898|1|9999017964|MR|Test|E|Lead 17964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017965|117965|989898|1|9999017965|MR|Test|E|Lead 17965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017966|117966|989898|1|9999017966|MR|Test|E|Lead 17966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017967|117967|989898|1|9999017967|MR|Test|E|Lead 17967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017968|117968|989898|1|9999017968|MR|Test|E|Lead 17968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017969|117969|989898|1|9999017969|MR|Test|E|Lead 17969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017970|117970|989898|1|9999017970|MR|Test|E|Lead 17970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017971|117971|989898|1|9999017971|MR|Test|E|Lead 17971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017972|117972|989898|1|9999017972|MR|Test|E|Lead 17972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017973|117973|989898|1|9999017973|MR|Test|E|Lead 17973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017974|117974|989898|1|9999017974|MR|Test|E|Lead 17974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017975|117975|989898|1|9999017975|MR|Test|E|Lead 17975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017976|117976|989898|1|9999017976|MR|Test|E|Lead 17976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017977|117977|989898|1|9999017977|MR|Test|E|Lead 17977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017978|117978|989898|1|9999017978|MR|Test|E|Lead 17978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017979|117979|989898|1|9999017979|MR|Test|E|Lead 17979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017980|117980|989898|1|9999017980|MR|Test|E|Lead 17980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017981|117981|989898|1|9999017981|MR|Test|E|Lead 17981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017982|117982|989898|1|9999017982|MR|Test|E|Lead 17982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017983|117983|989898|1|9999017983|MR|Test|E|Lead 17983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017984|117984|989898|1|9999017984|MR|Test|E|Lead 17984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017985|117985|989898|1|9999017985|MR|Test|E|Lead 17985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017986|117986|989898|1|9999017986|MR|Test|E|Lead 17986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017987|117987|989898|1|9999017987|MR|Test|E|Lead 17987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017988|117988|989898|1|9999017988|MR|Test|E|Lead 17988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017989|117989|989898|1|9999017989|MR|Test|E|Lead 17989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017990|117990|989898|1|9999017990|MR|Test|E|Lead 17990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017991|117991|989898|1|9999017991|MR|Test|E|Lead 17991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017992|117992|989898|1|9999017992|MR|Test|E|Lead 17992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017993|117993|989898|1|9999017993|MR|Test|E|Lead 17993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017994|117994|989898|1|9999017994|MR|Test|E|Lead 17994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017995|117995|989898|1|9999017995|MR|Test|E|Lead 17995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017996|117996|989898|1|9999017996|MR|Test|E|Lead 17996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017997|117997|989898|1|9999017997|MR|Test|E|Lead 17997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017998|117998|989898|1|9999017998|MR|Test|E|Lead 17998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1017999|117999|989898|1|9999017999|MR|Test|E|Lead 17999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018000|118000|989898|1|9999018000|MR|Test|E|Lead 18000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018001|118001|989898|1|9999018001|MR|Test|E|Lead 18001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018002|118002|989898|1|9999018002|MR|Test|E|Lead 18002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018003|118003|989898|1|9999018003|MR|Test|E|Lead 18003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018004|118004|989898|1|9999018004|MR|Test|E|Lead 18004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018005|118005|989898|1|9999018005|MR|Test|E|Lead 18005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018006|118006|989898|1|9999018006|MR|Test|E|Lead 18006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018007|118007|989898|1|9999018007|MR|Test|E|Lead 18007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018008|118008|989898|1|9999018008|MR|Test|E|Lead 18008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018009|118009|989898|1|9999018009|MR|Test|E|Lead 18009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018010|118010|989898|1|9999018010|MR|Test|E|Lead 18010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018011|118011|989898|1|9999018011|MR|Test|E|Lead 18011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018012|118012|989898|1|9999018012|MR|Test|E|Lead 18012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018013|118013|989898|1|9999018013|MR|Test|E|Lead 18013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018014|118014|989898|1|9999018014|MR|Test|E|Lead 18014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018015|118015|989898|1|9999018015|MR|Test|E|Lead 18015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018016|118016|989898|1|9999018016|MR|Test|E|Lead 18016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018017|118017|989898|1|9999018017|MR|Test|E|Lead 18017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018018|118018|989898|1|9999018018|MR|Test|E|Lead 18018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018019|118019|989898|1|9999018019|MR|Test|E|Lead 18019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018020|118020|989898|1|9999018020|MR|Test|E|Lead 18020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018021|118021|989898|1|9999018021|MR|Test|E|Lead 18021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018022|118022|989898|1|9999018022|MR|Test|E|Lead 18022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018023|118023|989898|1|9999018023|MR|Test|E|Lead 18023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018024|118024|989898|1|9999018024|MR|Test|E|Lead 18024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018025|118025|989898|1|9999018025|MR|Test|E|Lead 18025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018026|118026|989898|1|9999018026|MR|Test|E|Lead 18026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018027|118027|989898|1|9999018027|MR|Test|E|Lead 18027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018028|118028|989898|1|9999018028|MR|Test|E|Lead 18028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018029|118029|989898|1|9999018029|MR|Test|E|Lead 18029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018030|118030|989898|1|9999018030|MR|Test|E|Lead 18030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018031|118031|989898|1|9999018031|MR|Test|E|Lead 18031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018032|118032|989898|1|9999018032|MR|Test|E|Lead 18032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018033|118033|989898|1|9999018033|MR|Test|E|Lead 18033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018034|118034|989898|1|9999018034|MR|Test|E|Lead 18034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018035|118035|989898|1|9999018035|MR|Test|E|Lead 18035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018036|118036|989898|1|9999018036|MR|Test|E|Lead 18036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018037|118037|989898|1|9999018037|MR|Test|E|Lead 18037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018038|118038|989898|1|9999018038|MR|Test|E|Lead 18038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018039|118039|989898|1|9999018039|MR|Test|E|Lead 18039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018040|118040|989898|1|9999018040|MR|Test|E|Lead 18040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018041|118041|989898|1|9999018041|MR|Test|E|Lead 18041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018042|118042|989898|1|9999018042|MR|Test|E|Lead 18042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018043|118043|989898|1|9999018043|MR|Test|E|Lead 18043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018044|118044|989898|1|9999018044|MR|Test|E|Lead 18044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018045|118045|989898|1|9999018045|MR|Test|E|Lead 18045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018046|118046|989898|1|9999018046|MR|Test|E|Lead 18046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018047|118047|989898|1|9999018047|MR|Test|E|Lead 18047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018048|118048|989898|1|9999018048|MR|Test|E|Lead 18048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018049|118049|989898|1|9999018049|MR|Test|E|Lead 18049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018050|118050|989898|1|9999018050|MR|Test|E|Lead 18050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018051|118051|989898|1|9999018051|MR|Test|E|Lead 18051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018052|118052|989898|1|9999018052|MR|Test|E|Lead 18052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018053|118053|989898|1|9999018053|MR|Test|E|Lead 18053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018054|118054|989898|1|9999018054|MR|Test|E|Lead 18054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018055|118055|989898|1|9999018055|MR|Test|E|Lead 18055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018056|118056|989898|1|9999018056|MR|Test|E|Lead 18056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018057|118057|989898|1|9999018057|MR|Test|E|Lead 18057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018058|118058|989898|1|9999018058|MR|Test|E|Lead 18058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018059|118059|989898|1|9999018059|MR|Test|E|Lead 18059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018060|118060|989898|1|9999018060|MR|Test|E|Lead 18060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018061|118061|989898|1|9999018061|MR|Test|E|Lead 18061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018062|118062|989898|1|9999018062|MR|Test|E|Lead 18062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018063|118063|989898|1|9999018063|MR|Test|E|Lead 18063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018064|118064|989898|1|9999018064|MR|Test|E|Lead 18064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018065|118065|989898|1|9999018065|MR|Test|E|Lead 18065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018066|118066|989898|1|9999018066|MR|Test|E|Lead 18066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018067|118067|989898|1|9999018067|MR|Test|E|Lead 18067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018068|118068|989898|1|9999018068|MR|Test|E|Lead 18068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018069|118069|989898|1|9999018069|MR|Test|E|Lead 18069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018070|118070|989898|1|9999018070|MR|Test|E|Lead 18070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018071|118071|989898|1|9999018071|MR|Test|E|Lead 18071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018072|118072|989898|1|9999018072|MR|Test|E|Lead 18072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018073|118073|989898|1|9999018073|MR|Test|E|Lead 18073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018074|118074|989898|1|9999018074|MR|Test|E|Lead 18074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018075|118075|989898|1|9999018075|MR|Test|E|Lead 18075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018076|118076|989898|1|9999018076|MR|Test|E|Lead 18076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018077|118077|989898|1|9999018077|MR|Test|E|Lead 18077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018078|118078|989898|1|9999018078|MR|Test|E|Lead 18078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018079|118079|989898|1|9999018079|MR|Test|E|Lead 18079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018080|118080|989898|1|9999018080|MR|Test|E|Lead 18080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018081|118081|989898|1|9999018081|MR|Test|E|Lead 18081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018082|118082|989898|1|9999018082|MR|Test|E|Lead 18082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018083|118083|989898|1|9999018083|MR|Test|E|Lead 18083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018084|118084|989898|1|9999018084|MR|Test|E|Lead 18084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018085|118085|989898|1|9999018085|MR|Test|E|Lead 18085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018086|118086|989898|1|9999018086|MR|Test|E|Lead 18086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018087|118087|989898|1|9999018087|MR|Test|E|Lead 18087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018088|118088|989898|1|9999018088|MR|Test|E|Lead 18088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018089|118089|989898|1|9999018089|MR|Test|E|Lead 18089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018090|118090|989898|1|9999018090|MR|Test|E|Lead 18090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018091|118091|989898|1|9999018091|MR|Test|E|Lead 18091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018092|118092|989898|1|9999018092|MR|Test|E|Lead 18092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018093|118093|989898|1|9999018093|MR|Test|E|Lead 18093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018094|118094|989898|1|9999018094|MR|Test|E|Lead 18094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018095|118095|989898|1|9999018095|MR|Test|E|Lead 18095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018096|118096|989898|1|9999018096|MR|Test|E|Lead 18096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018097|118097|989898|1|9999018097|MR|Test|E|Lead 18097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018098|118098|989898|1|9999018098|MR|Test|E|Lead 18098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018099|118099|989898|1|9999018099|MR|Test|E|Lead 18099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018100|118100|989898|1|9999018100|MR|Test|E|Lead 18100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018101|118101|989898|1|9999018101|MR|Test|E|Lead 18101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018102|118102|989898|1|9999018102|MR|Test|E|Lead 18102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018103|118103|989898|1|9999018103|MR|Test|E|Lead 18103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018104|118104|989898|1|9999018104|MR|Test|E|Lead 18104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018105|118105|989898|1|9999018105|MR|Test|E|Lead 18105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018106|118106|989898|1|9999018106|MR|Test|E|Lead 18106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018107|118107|989898|1|9999018107|MR|Test|E|Lead 18107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018108|118108|989898|1|9999018108|MR|Test|E|Lead 18108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018109|118109|989898|1|9999018109|MR|Test|E|Lead 18109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018110|118110|989898|1|9999018110|MR|Test|E|Lead 18110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018111|118111|989898|1|9999018111|MR|Test|E|Lead 18111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018112|118112|989898|1|9999018112|MR|Test|E|Lead 18112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018113|118113|989898|1|9999018113|MR|Test|E|Lead 18113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018114|118114|989898|1|9999018114|MR|Test|E|Lead 18114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018115|118115|989898|1|9999018115|MR|Test|E|Lead 18115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018116|118116|989898|1|9999018116|MR|Test|E|Lead 18116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018117|118117|989898|1|9999018117|MR|Test|E|Lead 18117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018118|118118|989898|1|9999018118|MR|Test|E|Lead 18118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018119|118119|989898|1|9999018119|MR|Test|E|Lead 18119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018120|118120|989898|1|9999018120|MR|Test|E|Lead 18120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018121|118121|989898|1|9999018121|MR|Test|E|Lead 18121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018122|118122|989898|1|9999018122|MR|Test|E|Lead 18122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018123|118123|989898|1|9999018123|MR|Test|E|Lead 18123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018124|118124|989898|1|9999018124|MR|Test|E|Lead 18124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018125|118125|989898|1|9999018125|MR|Test|E|Lead 18125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018126|118126|989898|1|9999018126|MR|Test|E|Lead 18126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018127|118127|989898|1|9999018127|MR|Test|E|Lead 18127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018128|118128|989898|1|9999018128|MR|Test|E|Lead 18128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018129|118129|989898|1|9999018129|MR|Test|E|Lead 18129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018130|118130|989898|1|9999018130|MR|Test|E|Lead 18130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018131|118131|989898|1|9999018131|MR|Test|E|Lead 18131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018132|118132|989898|1|9999018132|MR|Test|E|Lead 18132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018133|118133|989898|1|9999018133|MR|Test|E|Lead 18133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018134|118134|989898|1|9999018134|MR|Test|E|Lead 18134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018135|118135|989898|1|9999018135|MR|Test|E|Lead 18135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018136|118136|989898|1|9999018136|MR|Test|E|Lead 18136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018137|118137|989898|1|9999018137|MR|Test|E|Lead 18137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018138|118138|989898|1|9999018138|MR|Test|E|Lead 18138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018139|118139|989898|1|9999018139|MR|Test|E|Lead 18139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018140|118140|989898|1|9999018140|MR|Test|E|Lead 18140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018141|118141|989898|1|9999018141|MR|Test|E|Lead 18141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018142|118142|989898|1|9999018142|MR|Test|E|Lead 18142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018143|118143|989898|1|9999018143|MR|Test|E|Lead 18143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018144|118144|989898|1|9999018144|MR|Test|E|Lead 18144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018145|118145|989898|1|9999018145|MR|Test|E|Lead 18145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018146|118146|989898|1|9999018146|MR|Test|E|Lead 18146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018147|118147|989898|1|9999018147|MR|Test|E|Lead 18147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018148|118148|989898|1|9999018148|MR|Test|E|Lead 18148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018149|118149|989898|1|9999018149|MR|Test|E|Lead 18149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018150|118150|989898|1|9999018150|MR|Test|E|Lead 18150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018151|118151|989898|1|9999018151|MR|Test|E|Lead 18151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018152|118152|989898|1|9999018152|MR|Test|E|Lead 18152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018153|118153|989898|1|9999018153|MR|Test|E|Lead 18153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018154|118154|989898|1|9999018154|MR|Test|E|Lead 18154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018155|118155|989898|1|9999018155|MR|Test|E|Lead 18155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018156|118156|989898|1|9999018156|MR|Test|E|Lead 18156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018157|118157|989898|1|9999018157|MR|Test|E|Lead 18157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018158|118158|989898|1|9999018158|MR|Test|E|Lead 18158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018159|118159|989898|1|9999018159|MR|Test|E|Lead 18159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018160|118160|989898|1|9999018160|MR|Test|E|Lead 18160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018161|118161|989898|1|9999018161|MR|Test|E|Lead 18161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018162|118162|989898|1|9999018162|MR|Test|E|Lead 18162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018163|118163|989898|1|9999018163|MR|Test|E|Lead 18163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018164|118164|989898|1|9999018164|MR|Test|E|Lead 18164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018165|118165|989898|1|9999018165|MR|Test|E|Lead 18165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018166|118166|989898|1|9999018166|MR|Test|E|Lead 18166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018167|118167|989898|1|9999018167|MR|Test|E|Lead 18167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018168|118168|989898|1|9999018168|MR|Test|E|Lead 18168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018169|118169|989898|1|9999018169|MR|Test|E|Lead 18169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018170|118170|989898|1|9999018170|MR|Test|E|Lead 18170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018171|118171|989898|1|9999018171|MR|Test|E|Lead 18171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018172|118172|989898|1|9999018172|MR|Test|E|Lead 18172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018173|118173|989898|1|9999018173|MR|Test|E|Lead 18173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018174|118174|989898|1|9999018174|MR|Test|E|Lead 18174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018175|118175|989898|1|9999018175|MR|Test|E|Lead 18175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018176|118176|989898|1|9999018176|MR|Test|E|Lead 18176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018177|118177|989898|1|9999018177|MR|Test|E|Lead 18177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018178|118178|989898|1|9999018178|MR|Test|E|Lead 18178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018179|118179|989898|1|9999018179|MR|Test|E|Lead 18179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018180|118180|989898|1|9999018180|MR|Test|E|Lead 18180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018181|118181|989898|1|9999018181|MR|Test|E|Lead 18181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018182|118182|989898|1|9999018182|MR|Test|E|Lead 18182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018183|118183|989898|1|9999018183|MR|Test|E|Lead 18183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018184|118184|989898|1|9999018184|MR|Test|E|Lead 18184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018185|118185|989898|1|9999018185|MR|Test|E|Lead 18185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018186|118186|989898|1|9999018186|MR|Test|E|Lead 18186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018187|118187|989898|1|9999018187|MR|Test|E|Lead 18187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018188|118188|989898|1|9999018188|MR|Test|E|Lead 18188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018189|118189|989898|1|9999018189|MR|Test|E|Lead 18189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018190|118190|989898|1|9999018190|MR|Test|E|Lead 18190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018191|118191|989898|1|9999018191|MR|Test|E|Lead 18191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018192|118192|989898|1|9999018192|MR|Test|E|Lead 18192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018193|118193|989898|1|9999018193|MR|Test|E|Lead 18193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018194|118194|989898|1|9999018194|MR|Test|E|Lead 18194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018195|118195|989898|1|9999018195|MR|Test|E|Lead 18195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018196|118196|989898|1|9999018196|MR|Test|E|Lead 18196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018197|118197|989898|1|9999018197|MR|Test|E|Lead 18197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018198|118198|989898|1|9999018198|MR|Test|E|Lead 18198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018199|118199|989898|1|9999018199|MR|Test|E|Lead 18199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018200|118200|989898|1|9999018200|MR|Test|E|Lead 18200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018201|118201|989898|1|9999018201|MR|Test|E|Lead 18201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018202|118202|989898|1|9999018202|MR|Test|E|Lead 18202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018203|118203|989898|1|9999018203|MR|Test|E|Lead 18203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018204|118204|989898|1|9999018204|MR|Test|E|Lead 18204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018205|118205|989898|1|9999018205|MR|Test|E|Lead 18205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018206|118206|989898|1|9999018206|MR|Test|E|Lead 18206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018207|118207|989898|1|9999018207|MR|Test|E|Lead 18207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018208|118208|989898|1|9999018208|MR|Test|E|Lead 18208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018209|118209|989898|1|9999018209|MR|Test|E|Lead 18209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018210|118210|989898|1|9999018210|MR|Test|E|Lead 18210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018211|118211|989898|1|9999018211|MR|Test|E|Lead 18211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018212|118212|989898|1|9999018212|MR|Test|E|Lead 18212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018213|118213|989898|1|9999018213|MR|Test|E|Lead 18213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018214|118214|989898|1|9999018214|MR|Test|E|Lead 18214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018215|118215|989898|1|9999018215|MR|Test|E|Lead 18215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018216|118216|989898|1|9999018216|MR|Test|E|Lead 18216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018217|118217|989898|1|9999018217|MR|Test|E|Lead 18217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018218|118218|989898|1|9999018218|MR|Test|E|Lead 18218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018219|118219|989898|1|9999018219|MR|Test|E|Lead 18219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018220|118220|989898|1|9999018220|MR|Test|E|Lead 18220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018221|118221|989898|1|9999018221|MR|Test|E|Lead 18221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018222|118222|989898|1|9999018222|MR|Test|E|Lead 18222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018223|118223|989898|1|9999018223|MR|Test|E|Lead 18223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018224|118224|989898|1|9999018224|MR|Test|E|Lead 18224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018225|118225|989898|1|9999018225|MR|Test|E|Lead 18225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018226|118226|989898|1|9999018226|MR|Test|E|Lead 18226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018227|118227|989898|1|9999018227|MR|Test|E|Lead 18227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018228|118228|989898|1|9999018228|MR|Test|E|Lead 18228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018229|118229|989898|1|9999018229|MR|Test|E|Lead 18229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018230|118230|989898|1|9999018230|MR|Test|E|Lead 18230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018231|118231|989898|1|9999018231|MR|Test|E|Lead 18231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018232|118232|989898|1|9999018232|MR|Test|E|Lead 18232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018233|118233|989898|1|9999018233|MR|Test|E|Lead 18233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018234|118234|989898|1|9999018234|MR|Test|E|Lead 18234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018235|118235|989898|1|9999018235|MR|Test|E|Lead 18235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018236|118236|989898|1|9999018236|MR|Test|E|Lead 18236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018237|118237|989898|1|9999018237|MR|Test|E|Lead 18237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018238|118238|989898|1|9999018238|MR|Test|E|Lead 18238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018239|118239|989898|1|9999018239|MR|Test|E|Lead 18239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018240|118240|989898|1|9999018240|MR|Test|E|Lead 18240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018241|118241|989898|1|9999018241|MR|Test|E|Lead 18241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018242|118242|989898|1|9999018242|MR|Test|E|Lead 18242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018243|118243|989898|1|9999018243|MR|Test|E|Lead 18243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018244|118244|989898|1|9999018244|MR|Test|E|Lead 18244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018245|118245|989898|1|9999018245|MR|Test|E|Lead 18245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018246|118246|989898|1|9999018246|MR|Test|E|Lead 18246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018247|118247|989898|1|9999018247|MR|Test|E|Lead 18247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018248|118248|989898|1|9999018248|MR|Test|E|Lead 18248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018249|118249|989898|1|9999018249|MR|Test|E|Lead 18249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018250|118250|989898|1|9999018250|MR|Test|E|Lead 18250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018251|118251|989898|1|9999018251|MR|Test|E|Lead 18251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018252|118252|989898|1|9999018252|MR|Test|E|Lead 18252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018253|118253|989898|1|9999018253|MR|Test|E|Lead 18253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018254|118254|989898|1|9999018254|MR|Test|E|Lead 18254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018255|118255|989898|1|9999018255|MR|Test|E|Lead 18255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018256|118256|989898|1|9999018256|MR|Test|E|Lead 18256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018257|118257|989898|1|9999018257|MR|Test|E|Lead 18257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018258|118258|989898|1|9999018258|MR|Test|E|Lead 18258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018259|118259|989898|1|9999018259|MR|Test|E|Lead 18259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018260|118260|989898|1|9999018260|MR|Test|E|Lead 18260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018261|118261|989898|1|9999018261|MR|Test|E|Lead 18261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018262|118262|989898|1|9999018262|MR|Test|E|Lead 18262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018263|118263|989898|1|9999018263|MR|Test|E|Lead 18263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018264|118264|989898|1|9999018264|MR|Test|E|Lead 18264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018265|118265|989898|1|9999018265|MR|Test|E|Lead 18265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018266|118266|989898|1|9999018266|MR|Test|E|Lead 18266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018267|118267|989898|1|9999018267|MR|Test|E|Lead 18267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018268|118268|989898|1|9999018268|MR|Test|E|Lead 18268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018269|118269|989898|1|9999018269|MR|Test|E|Lead 18269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018270|118270|989898|1|9999018270|MR|Test|E|Lead 18270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018271|118271|989898|1|9999018271|MR|Test|E|Lead 18271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018272|118272|989898|1|9999018272|MR|Test|E|Lead 18272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018273|118273|989898|1|9999018273|MR|Test|E|Lead 18273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018274|118274|989898|1|9999018274|MR|Test|E|Lead 18274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018275|118275|989898|1|9999018275|MR|Test|E|Lead 18275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018276|118276|989898|1|9999018276|MR|Test|E|Lead 18276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018277|118277|989898|1|9999018277|MR|Test|E|Lead 18277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018278|118278|989898|1|9999018278|MR|Test|E|Lead 18278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018279|118279|989898|1|9999018279|MR|Test|E|Lead 18279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018280|118280|989898|1|9999018280|MR|Test|E|Lead 18280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018281|118281|989898|1|9999018281|MR|Test|E|Lead 18281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018282|118282|989898|1|9999018282|MR|Test|E|Lead 18282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018283|118283|989898|1|9999018283|MR|Test|E|Lead 18283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018284|118284|989898|1|9999018284|MR|Test|E|Lead 18284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018285|118285|989898|1|9999018285|MR|Test|E|Lead 18285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018286|118286|989898|1|9999018286|MR|Test|E|Lead 18286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018287|118287|989898|1|9999018287|MR|Test|E|Lead 18287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018288|118288|989898|1|9999018288|MR|Test|E|Lead 18288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018289|118289|989898|1|9999018289|MR|Test|E|Lead 18289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018290|118290|989898|1|9999018290|MR|Test|E|Lead 18290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018291|118291|989898|1|9999018291|MR|Test|E|Lead 18291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018292|118292|989898|1|9999018292|MR|Test|E|Lead 18292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018293|118293|989898|1|9999018293|MR|Test|E|Lead 18293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018294|118294|989898|1|9999018294|MR|Test|E|Lead 18294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018295|118295|989898|1|9999018295|MR|Test|E|Lead 18295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018296|118296|989898|1|9999018296|MR|Test|E|Lead 18296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018297|118297|989898|1|9999018297|MR|Test|E|Lead 18297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018298|118298|989898|1|9999018298|MR|Test|E|Lead 18298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018299|118299|989898|1|9999018299|MR|Test|E|Lead 18299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018300|118300|989898|1|9999018300|MR|Test|E|Lead 18300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018301|118301|989898|1|9999018301|MR|Test|E|Lead 18301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018302|118302|989898|1|9999018302|MR|Test|E|Lead 18302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018303|118303|989898|1|9999018303|MR|Test|E|Lead 18303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018304|118304|989898|1|9999018304|MR|Test|E|Lead 18304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018305|118305|989898|1|9999018305|MR|Test|E|Lead 18305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018306|118306|989898|1|9999018306|MR|Test|E|Lead 18306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018307|118307|989898|1|9999018307|MR|Test|E|Lead 18307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018308|118308|989898|1|9999018308|MR|Test|E|Lead 18308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018309|118309|989898|1|9999018309|MR|Test|E|Lead 18309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018310|118310|989898|1|9999018310|MR|Test|E|Lead 18310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018311|118311|989898|1|9999018311|MR|Test|E|Lead 18311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018312|118312|989898|1|9999018312|MR|Test|E|Lead 18312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018313|118313|989898|1|9999018313|MR|Test|E|Lead 18313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018314|118314|989898|1|9999018314|MR|Test|E|Lead 18314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018315|118315|989898|1|9999018315|MR|Test|E|Lead 18315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018316|118316|989898|1|9999018316|MR|Test|E|Lead 18316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018317|118317|989898|1|9999018317|MR|Test|E|Lead 18317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018318|118318|989898|1|9999018318|MR|Test|E|Lead 18318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018319|118319|989898|1|9999018319|MR|Test|E|Lead 18319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018320|118320|989898|1|9999018320|MR|Test|E|Lead 18320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018321|118321|989898|1|9999018321|MR|Test|E|Lead 18321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018322|118322|989898|1|9999018322|MR|Test|E|Lead 18322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018323|118323|989898|1|9999018323|MR|Test|E|Lead 18323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018324|118324|989898|1|9999018324|MR|Test|E|Lead 18324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018325|118325|989898|1|9999018325|MR|Test|E|Lead 18325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018326|118326|989898|1|9999018326|MR|Test|E|Lead 18326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018327|118327|989898|1|9999018327|MR|Test|E|Lead 18327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018328|118328|989898|1|9999018328|MR|Test|E|Lead 18328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018329|118329|989898|1|9999018329|MR|Test|E|Lead 18329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018330|118330|989898|1|9999018330|MR|Test|E|Lead 18330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018331|118331|989898|1|9999018331|MR|Test|E|Lead 18331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018332|118332|989898|1|9999018332|MR|Test|E|Lead 18332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018333|118333|989898|1|9999018333|MR|Test|E|Lead 18333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018334|118334|989898|1|9999018334|MR|Test|E|Lead 18334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018335|118335|989898|1|9999018335|MR|Test|E|Lead 18335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018336|118336|989898|1|9999018336|MR|Test|E|Lead 18336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018337|118337|989898|1|9999018337|MR|Test|E|Lead 18337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018338|118338|989898|1|9999018338|MR|Test|E|Lead 18338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018339|118339|989898|1|9999018339|MR|Test|E|Lead 18339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018340|118340|989898|1|9999018340|MR|Test|E|Lead 18340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018341|118341|989898|1|9999018341|MR|Test|E|Lead 18341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018342|118342|989898|1|9999018342|MR|Test|E|Lead 18342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018343|118343|989898|1|9999018343|MR|Test|E|Lead 18343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018344|118344|989898|1|9999018344|MR|Test|E|Lead 18344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018345|118345|989898|1|9999018345|MR|Test|E|Lead 18345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018346|118346|989898|1|9999018346|MR|Test|E|Lead 18346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018347|118347|989898|1|9999018347|MR|Test|E|Lead 18347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018348|118348|989898|1|9999018348|MR|Test|E|Lead 18348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018349|118349|989898|1|9999018349|MR|Test|E|Lead 18349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018350|118350|989898|1|9999018350|MR|Test|E|Lead 18350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018351|118351|989898|1|9999018351|MR|Test|E|Lead 18351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018352|118352|989898|1|9999018352|MR|Test|E|Lead 18352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018353|118353|989898|1|9999018353|MR|Test|E|Lead 18353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018354|118354|989898|1|9999018354|MR|Test|E|Lead 18354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018355|118355|989898|1|9999018355|MR|Test|E|Lead 18355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018356|118356|989898|1|9999018356|MR|Test|E|Lead 18356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018357|118357|989898|1|9999018357|MR|Test|E|Lead 18357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018358|118358|989898|1|9999018358|MR|Test|E|Lead 18358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018359|118359|989898|1|9999018359|MR|Test|E|Lead 18359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018360|118360|989898|1|9999018360|MR|Test|E|Lead 18360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018361|118361|989898|1|9999018361|MR|Test|E|Lead 18361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018362|118362|989898|1|9999018362|MR|Test|E|Lead 18362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018363|118363|989898|1|9999018363|MR|Test|E|Lead 18363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018364|118364|989898|1|9999018364|MR|Test|E|Lead 18364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018365|118365|989898|1|9999018365|MR|Test|E|Lead 18365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018366|118366|989898|1|9999018366|MR|Test|E|Lead 18366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018367|118367|989898|1|9999018367|MR|Test|E|Lead 18367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018368|118368|989898|1|9999018368|MR|Test|E|Lead 18368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018369|118369|989898|1|9999018369|MR|Test|E|Lead 18369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018370|118370|989898|1|9999018370|MR|Test|E|Lead 18370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018371|118371|989898|1|9999018371|MR|Test|E|Lead 18371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018372|118372|989898|1|9999018372|MR|Test|E|Lead 18372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018373|118373|989898|1|9999018373|MR|Test|E|Lead 18373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018374|118374|989898|1|9999018374|MR|Test|E|Lead 18374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018375|118375|989898|1|9999018375|MR|Test|E|Lead 18375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018376|118376|989898|1|9999018376|MR|Test|E|Lead 18376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018377|118377|989898|1|9999018377|MR|Test|E|Lead 18377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018378|118378|989898|1|9999018378|MR|Test|E|Lead 18378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018379|118379|989898|1|9999018379|MR|Test|E|Lead 18379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018380|118380|989898|1|9999018380|MR|Test|E|Lead 18380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018381|118381|989898|1|9999018381|MR|Test|E|Lead 18381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018382|118382|989898|1|9999018382|MR|Test|E|Lead 18382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018383|118383|989898|1|9999018383|MR|Test|E|Lead 18383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018384|118384|989898|1|9999018384|MR|Test|E|Lead 18384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018385|118385|989898|1|9999018385|MR|Test|E|Lead 18385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018386|118386|989898|1|9999018386|MR|Test|E|Lead 18386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018387|118387|989898|1|9999018387|MR|Test|E|Lead 18387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018388|118388|989898|1|9999018388|MR|Test|E|Lead 18388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018389|118389|989898|1|9999018389|MR|Test|E|Lead 18389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018390|118390|989898|1|9999018390|MR|Test|E|Lead 18390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018391|118391|989898|1|9999018391|MR|Test|E|Lead 18391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018392|118392|989898|1|9999018392|MR|Test|E|Lead 18392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018393|118393|989898|1|9999018393|MR|Test|E|Lead 18393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018394|118394|989898|1|9999018394|MR|Test|E|Lead 18394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018395|118395|989898|1|9999018395|MR|Test|E|Lead 18395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018396|118396|989898|1|9999018396|MR|Test|E|Lead 18396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018397|118397|989898|1|9999018397|MR|Test|E|Lead 18397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018398|118398|989898|1|9999018398|MR|Test|E|Lead 18398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018399|118399|989898|1|9999018399|MR|Test|E|Lead 18399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018400|118400|989898|1|9999018400|MR|Test|E|Lead 18400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018401|118401|989898|1|9999018401|MR|Test|E|Lead 18401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018402|118402|989898|1|9999018402|MR|Test|E|Lead 18402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018403|118403|989898|1|9999018403|MR|Test|E|Lead 18403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018404|118404|989898|1|9999018404|MR|Test|E|Lead 18404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018405|118405|989898|1|9999018405|MR|Test|E|Lead 18405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018406|118406|989898|1|9999018406|MR|Test|E|Lead 18406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018407|118407|989898|1|9999018407|MR|Test|E|Lead 18407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018408|118408|989898|1|9999018408|MR|Test|E|Lead 18408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018409|118409|989898|1|9999018409|MR|Test|E|Lead 18409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018410|118410|989898|1|9999018410|MR|Test|E|Lead 18410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018411|118411|989898|1|9999018411|MR|Test|E|Lead 18411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018412|118412|989898|1|9999018412|MR|Test|E|Lead 18412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018413|118413|989898|1|9999018413|MR|Test|E|Lead 18413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018414|118414|989898|1|9999018414|MR|Test|E|Lead 18414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018415|118415|989898|1|9999018415|MR|Test|E|Lead 18415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018416|118416|989898|1|9999018416|MR|Test|E|Lead 18416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018417|118417|989898|1|9999018417|MR|Test|E|Lead 18417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018418|118418|989898|1|9999018418|MR|Test|E|Lead 18418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018419|118419|989898|1|9999018419|MR|Test|E|Lead 18419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018420|118420|989898|1|9999018420|MR|Test|E|Lead 18420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018421|118421|989898|1|9999018421|MR|Test|E|Lead 18421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018422|118422|989898|1|9999018422|MR|Test|E|Lead 18422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018423|118423|989898|1|9999018423|MR|Test|E|Lead 18423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018424|118424|989898|1|9999018424|MR|Test|E|Lead 18424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018425|118425|989898|1|9999018425|MR|Test|E|Lead 18425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018426|118426|989898|1|9999018426|MR|Test|E|Lead 18426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018427|118427|989898|1|9999018427|MR|Test|E|Lead 18427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018428|118428|989898|1|9999018428|MR|Test|E|Lead 18428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018429|118429|989898|1|9999018429|MR|Test|E|Lead 18429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018430|118430|989898|1|9999018430|MR|Test|E|Lead 18430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018431|118431|989898|1|9999018431|MR|Test|E|Lead 18431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018432|118432|989898|1|9999018432|MR|Test|E|Lead 18432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018433|118433|989898|1|9999018433|MR|Test|E|Lead 18433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018434|118434|989898|1|9999018434|MR|Test|E|Lead 18434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018435|118435|989898|1|9999018435|MR|Test|E|Lead 18435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018436|118436|989898|1|9999018436|MR|Test|E|Lead 18436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018437|118437|989898|1|9999018437|MR|Test|E|Lead 18437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018438|118438|989898|1|9999018438|MR|Test|E|Lead 18438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018439|118439|989898|1|9999018439|MR|Test|E|Lead 18439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018440|118440|989898|1|9999018440|MR|Test|E|Lead 18440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018441|118441|989898|1|9999018441|MR|Test|E|Lead 18441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018442|118442|989898|1|9999018442|MR|Test|E|Lead 18442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018443|118443|989898|1|9999018443|MR|Test|E|Lead 18443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018444|118444|989898|1|9999018444|MR|Test|E|Lead 18444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018445|118445|989898|1|9999018445|MR|Test|E|Lead 18445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018446|118446|989898|1|9999018446|MR|Test|E|Lead 18446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018447|118447|989898|1|9999018447|MR|Test|E|Lead 18447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018448|118448|989898|1|9999018448|MR|Test|E|Lead 18448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018449|118449|989898|1|9999018449|MR|Test|E|Lead 18449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018450|118450|989898|1|9999018450|MR|Test|E|Lead 18450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018451|118451|989898|1|9999018451|MR|Test|E|Lead 18451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018452|118452|989898|1|9999018452|MR|Test|E|Lead 18452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018453|118453|989898|1|9999018453|MR|Test|E|Lead 18453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018454|118454|989898|1|9999018454|MR|Test|E|Lead 18454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018455|118455|989898|1|9999018455|MR|Test|E|Lead 18455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018456|118456|989898|1|9999018456|MR|Test|E|Lead 18456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018457|118457|989898|1|9999018457|MR|Test|E|Lead 18457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018458|118458|989898|1|9999018458|MR|Test|E|Lead 18458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018459|118459|989898|1|9999018459|MR|Test|E|Lead 18459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018460|118460|989898|1|9999018460|MR|Test|E|Lead 18460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018461|118461|989898|1|9999018461|MR|Test|E|Lead 18461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018462|118462|989898|1|9999018462|MR|Test|E|Lead 18462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018463|118463|989898|1|9999018463|MR|Test|E|Lead 18463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018464|118464|989898|1|9999018464|MR|Test|E|Lead 18464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018465|118465|989898|1|9999018465|MR|Test|E|Lead 18465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018466|118466|989898|1|9999018466|MR|Test|E|Lead 18466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018467|118467|989898|1|9999018467|MR|Test|E|Lead 18467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018468|118468|989898|1|9999018468|MR|Test|E|Lead 18468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018469|118469|989898|1|9999018469|MR|Test|E|Lead 18469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018470|118470|989898|1|9999018470|MR|Test|E|Lead 18470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018471|118471|989898|1|9999018471|MR|Test|E|Lead 18471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018472|118472|989898|1|9999018472|MR|Test|E|Lead 18472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018473|118473|989898|1|9999018473|MR|Test|E|Lead 18473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018474|118474|989898|1|9999018474|MR|Test|E|Lead 18474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018475|118475|989898|1|9999018475|MR|Test|E|Lead 18475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018476|118476|989898|1|9999018476|MR|Test|E|Lead 18476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018477|118477|989898|1|9999018477|MR|Test|E|Lead 18477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018478|118478|989898|1|9999018478|MR|Test|E|Lead 18478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018479|118479|989898|1|9999018479|MR|Test|E|Lead 18479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018480|118480|989898|1|9999018480|MR|Test|E|Lead 18480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018481|118481|989898|1|9999018481|MR|Test|E|Lead 18481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018482|118482|989898|1|9999018482|MR|Test|E|Lead 18482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018483|118483|989898|1|9999018483|MR|Test|E|Lead 18483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018484|118484|989898|1|9999018484|MR|Test|E|Lead 18484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018485|118485|989898|1|9999018485|MR|Test|E|Lead 18485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018486|118486|989898|1|9999018486|MR|Test|E|Lead 18486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018487|118487|989898|1|9999018487|MR|Test|E|Lead 18487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018488|118488|989898|1|9999018488|MR|Test|E|Lead 18488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018489|118489|989898|1|9999018489|MR|Test|E|Lead 18489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018490|118490|989898|1|9999018490|MR|Test|E|Lead 18490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018491|118491|989898|1|9999018491|MR|Test|E|Lead 18491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018492|118492|989898|1|9999018492|MR|Test|E|Lead 18492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018493|118493|989898|1|9999018493|MR|Test|E|Lead 18493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018494|118494|989898|1|9999018494|MR|Test|E|Lead 18494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018495|118495|989898|1|9999018495|MR|Test|E|Lead 18495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018496|118496|989898|1|9999018496|MR|Test|E|Lead 18496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018497|118497|989898|1|9999018497|MR|Test|E|Lead 18497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018498|118498|989898|1|9999018498|MR|Test|E|Lead 18498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018499|118499|989898|1|9999018499|MR|Test|E|Lead 18499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018500|118500|989898|1|9999018500|MR|Test|E|Lead 18500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018501|118501|989898|1|9999018501|MR|Test|E|Lead 18501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018502|118502|989898|1|9999018502|MR|Test|E|Lead 18502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018503|118503|989898|1|9999018503|MR|Test|E|Lead 18503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018504|118504|989898|1|9999018504|MR|Test|E|Lead 18504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018505|118505|989898|1|9999018505|MR|Test|E|Lead 18505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018506|118506|989898|1|9999018506|MR|Test|E|Lead 18506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018507|118507|989898|1|9999018507|MR|Test|E|Lead 18507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018508|118508|989898|1|9999018508|MR|Test|E|Lead 18508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018509|118509|989898|1|9999018509|MR|Test|E|Lead 18509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018510|118510|989898|1|9999018510|MR|Test|E|Lead 18510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018511|118511|989898|1|9999018511|MR|Test|E|Lead 18511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018512|118512|989898|1|9999018512|MR|Test|E|Lead 18512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018513|118513|989898|1|9999018513|MR|Test|E|Lead 18513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018514|118514|989898|1|9999018514|MR|Test|E|Lead 18514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018515|118515|989898|1|9999018515|MR|Test|E|Lead 18515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018516|118516|989898|1|9999018516|MR|Test|E|Lead 18516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018517|118517|989898|1|9999018517|MR|Test|E|Lead 18517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018518|118518|989898|1|9999018518|MR|Test|E|Lead 18518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018519|118519|989898|1|9999018519|MR|Test|E|Lead 18519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018520|118520|989898|1|9999018520|MR|Test|E|Lead 18520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018521|118521|989898|1|9999018521|MR|Test|E|Lead 18521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018522|118522|989898|1|9999018522|MR|Test|E|Lead 18522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018523|118523|989898|1|9999018523|MR|Test|E|Lead 18523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018524|118524|989898|1|9999018524|MR|Test|E|Lead 18524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018525|118525|989898|1|9999018525|MR|Test|E|Lead 18525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018526|118526|989898|1|9999018526|MR|Test|E|Lead 18526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018527|118527|989898|1|9999018527|MR|Test|E|Lead 18527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018528|118528|989898|1|9999018528|MR|Test|E|Lead 18528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018529|118529|989898|1|9999018529|MR|Test|E|Lead 18529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018530|118530|989898|1|9999018530|MR|Test|E|Lead 18530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018531|118531|989898|1|9999018531|MR|Test|E|Lead 18531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018532|118532|989898|1|9999018532|MR|Test|E|Lead 18532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018533|118533|989898|1|9999018533|MR|Test|E|Lead 18533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018534|118534|989898|1|9999018534|MR|Test|E|Lead 18534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018535|118535|989898|1|9999018535|MR|Test|E|Lead 18535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018536|118536|989898|1|9999018536|MR|Test|E|Lead 18536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018537|118537|989898|1|9999018537|MR|Test|E|Lead 18537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018538|118538|989898|1|9999018538|MR|Test|E|Lead 18538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018539|118539|989898|1|9999018539|MR|Test|E|Lead 18539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018540|118540|989898|1|9999018540|MR|Test|E|Lead 18540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018541|118541|989898|1|9999018541|MR|Test|E|Lead 18541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018542|118542|989898|1|9999018542|MR|Test|E|Lead 18542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018543|118543|989898|1|9999018543|MR|Test|E|Lead 18543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018544|118544|989898|1|9999018544|MR|Test|E|Lead 18544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018545|118545|989898|1|9999018545|MR|Test|E|Lead 18545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018546|118546|989898|1|9999018546|MR|Test|E|Lead 18546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018547|118547|989898|1|9999018547|MR|Test|E|Lead 18547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018548|118548|989898|1|9999018548|MR|Test|E|Lead 18548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018549|118549|989898|1|9999018549|MR|Test|E|Lead 18549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018550|118550|989898|1|9999018550|MR|Test|E|Lead 18550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018551|118551|989898|1|9999018551|MR|Test|E|Lead 18551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018552|118552|989898|1|9999018552|MR|Test|E|Lead 18552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018553|118553|989898|1|9999018553|MR|Test|E|Lead 18553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018554|118554|989898|1|9999018554|MR|Test|E|Lead 18554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018555|118555|989898|1|9999018555|MR|Test|E|Lead 18555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018556|118556|989898|1|9999018556|MR|Test|E|Lead 18556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018557|118557|989898|1|9999018557|MR|Test|E|Lead 18557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018558|118558|989898|1|9999018558|MR|Test|E|Lead 18558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018559|118559|989898|1|9999018559|MR|Test|E|Lead 18559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018560|118560|989898|1|9999018560|MR|Test|E|Lead 18560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018561|118561|989898|1|9999018561|MR|Test|E|Lead 18561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018562|118562|989898|1|9999018562|MR|Test|E|Lead 18562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018563|118563|989898|1|9999018563|MR|Test|E|Lead 18563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018564|118564|989898|1|9999018564|MR|Test|E|Lead 18564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018565|118565|989898|1|9999018565|MR|Test|E|Lead 18565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018566|118566|989898|1|9999018566|MR|Test|E|Lead 18566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018567|118567|989898|1|9999018567|MR|Test|E|Lead 18567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018568|118568|989898|1|9999018568|MR|Test|E|Lead 18568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018569|118569|989898|1|9999018569|MR|Test|E|Lead 18569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018570|118570|989898|1|9999018570|MR|Test|E|Lead 18570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018571|118571|989898|1|9999018571|MR|Test|E|Lead 18571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018572|118572|989898|1|9999018572|MR|Test|E|Lead 18572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018573|118573|989898|1|9999018573|MR|Test|E|Lead 18573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018574|118574|989898|1|9999018574|MR|Test|E|Lead 18574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018575|118575|989898|1|9999018575|MR|Test|E|Lead 18575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018576|118576|989898|1|9999018576|MR|Test|E|Lead 18576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018577|118577|989898|1|9999018577|MR|Test|E|Lead 18577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018578|118578|989898|1|9999018578|MR|Test|E|Lead 18578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018579|118579|989898|1|9999018579|MR|Test|E|Lead 18579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018580|118580|989898|1|9999018580|MR|Test|E|Lead 18580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018581|118581|989898|1|9999018581|MR|Test|E|Lead 18581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018582|118582|989898|1|9999018582|MR|Test|E|Lead 18582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018583|118583|989898|1|9999018583|MR|Test|E|Lead 18583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018584|118584|989898|1|9999018584|MR|Test|E|Lead 18584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018585|118585|989898|1|9999018585|MR|Test|E|Lead 18585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018586|118586|989898|1|9999018586|MR|Test|E|Lead 18586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018587|118587|989898|1|9999018587|MR|Test|E|Lead 18587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018588|118588|989898|1|9999018588|MR|Test|E|Lead 18588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018589|118589|989898|1|9999018589|MR|Test|E|Lead 18589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018590|118590|989898|1|9999018590|MR|Test|E|Lead 18590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018591|118591|989898|1|9999018591|MR|Test|E|Lead 18591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018592|118592|989898|1|9999018592|MR|Test|E|Lead 18592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018593|118593|989898|1|9999018593|MR|Test|E|Lead 18593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018594|118594|989898|1|9999018594|MR|Test|E|Lead 18594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018595|118595|989898|1|9999018595|MR|Test|E|Lead 18595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018596|118596|989898|1|9999018596|MR|Test|E|Lead 18596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018597|118597|989898|1|9999018597|MR|Test|E|Lead 18597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018598|118598|989898|1|9999018598|MR|Test|E|Lead 18598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018599|118599|989898|1|9999018599|MR|Test|E|Lead 18599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018600|118600|989898|1|9999018600|MR|Test|E|Lead 18600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018601|118601|989898|1|9999018601|MR|Test|E|Lead 18601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018602|118602|989898|1|9999018602|MR|Test|E|Lead 18602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018603|118603|989898|1|9999018603|MR|Test|E|Lead 18603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018604|118604|989898|1|9999018604|MR|Test|E|Lead 18604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018605|118605|989898|1|9999018605|MR|Test|E|Lead 18605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018606|118606|989898|1|9999018606|MR|Test|E|Lead 18606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018607|118607|989898|1|9999018607|MR|Test|E|Lead 18607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018608|118608|989898|1|9999018608|MR|Test|E|Lead 18608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018609|118609|989898|1|9999018609|MR|Test|E|Lead 18609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018610|118610|989898|1|9999018610|MR|Test|E|Lead 18610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018611|118611|989898|1|9999018611|MR|Test|E|Lead 18611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018612|118612|989898|1|9999018612|MR|Test|E|Lead 18612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018613|118613|989898|1|9999018613|MR|Test|E|Lead 18613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018614|118614|989898|1|9999018614|MR|Test|E|Lead 18614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018615|118615|989898|1|9999018615|MR|Test|E|Lead 18615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018616|118616|989898|1|9999018616|MR|Test|E|Lead 18616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018617|118617|989898|1|9999018617|MR|Test|E|Lead 18617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018618|118618|989898|1|9999018618|MR|Test|E|Lead 18618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018619|118619|989898|1|9999018619|MR|Test|E|Lead 18619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018620|118620|989898|1|9999018620|MR|Test|E|Lead 18620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018621|118621|989898|1|9999018621|MR|Test|E|Lead 18621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018622|118622|989898|1|9999018622|MR|Test|E|Lead 18622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018623|118623|989898|1|9999018623|MR|Test|E|Lead 18623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018624|118624|989898|1|9999018624|MR|Test|E|Lead 18624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018625|118625|989898|1|9999018625|MR|Test|E|Lead 18625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018626|118626|989898|1|9999018626|MR|Test|E|Lead 18626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018627|118627|989898|1|9999018627|MR|Test|E|Lead 18627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018628|118628|989898|1|9999018628|MR|Test|E|Lead 18628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018629|118629|989898|1|9999018629|MR|Test|E|Lead 18629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018630|118630|989898|1|9999018630|MR|Test|E|Lead 18630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018631|118631|989898|1|9999018631|MR|Test|E|Lead 18631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018632|118632|989898|1|9999018632|MR|Test|E|Lead 18632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018633|118633|989898|1|9999018633|MR|Test|E|Lead 18633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018634|118634|989898|1|9999018634|MR|Test|E|Lead 18634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018635|118635|989898|1|9999018635|MR|Test|E|Lead 18635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018636|118636|989898|1|9999018636|MR|Test|E|Lead 18636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018637|118637|989898|1|9999018637|MR|Test|E|Lead 18637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018638|118638|989898|1|9999018638|MR|Test|E|Lead 18638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018639|118639|989898|1|9999018639|MR|Test|E|Lead 18639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018640|118640|989898|1|9999018640|MR|Test|E|Lead 18640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018641|118641|989898|1|9999018641|MR|Test|E|Lead 18641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018642|118642|989898|1|9999018642|MR|Test|E|Lead 18642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018643|118643|989898|1|9999018643|MR|Test|E|Lead 18643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018644|118644|989898|1|9999018644|MR|Test|E|Lead 18644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018645|118645|989898|1|9999018645|MR|Test|E|Lead 18645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018646|118646|989898|1|9999018646|MR|Test|E|Lead 18646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018647|118647|989898|1|9999018647|MR|Test|E|Lead 18647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018648|118648|989898|1|9999018648|MR|Test|E|Lead 18648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018649|118649|989898|1|9999018649|MR|Test|E|Lead 18649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018650|118650|989898|1|9999018650|MR|Test|E|Lead 18650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018651|118651|989898|1|9999018651|MR|Test|E|Lead 18651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018652|118652|989898|1|9999018652|MR|Test|E|Lead 18652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018653|118653|989898|1|9999018653|MR|Test|E|Lead 18653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018654|118654|989898|1|9999018654|MR|Test|E|Lead 18654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018655|118655|989898|1|9999018655|MR|Test|E|Lead 18655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018656|118656|989898|1|9999018656|MR|Test|E|Lead 18656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018657|118657|989898|1|9999018657|MR|Test|E|Lead 18657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018658|118658|989898|1|9999018658|MR|Test|E|Lead 18658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018659|118659|989898|1|9999018659|MR|Test|E|Lead 18659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018660|118660|989898|1|9999018660|MR|Test|E|Lead 18660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018661|118661|989898|1|9999018661|MR|Test|E|Lead 18661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018662|118662|989898|1|9999018662|MR|Test|E|Lead 18662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018663|118663|989898|1|9999018663|MR|Test|E|Lead 18663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018664|118664|989898|1|9999018664|MR|Test|E|Lead 18664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018665|118665|989898|1|9999018665|MR|Test|E|Lead 18665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018666|118666|989898|1|9999018666|MR|Test|E|Lead 18666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018667|118667|989898|1|9999018667|MR|Test|E|Lead 18667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018668|118668|989898|1|9999018668|MR|Test|E|Lead 18668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018669|118669|989898|1|9999018669|MR|Test|E|Lead 18669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018670|118670|989898|1|9999018670|MR|Test|E|Lead 18670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018671|118671|989898|1|9999018671|MR|Test|E|Lead 18671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018672|118672|989898|1|9999018672|MR|Test|E|Lead 18672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018673|118673|989898|1|9999018673|MR|Test|E|Lead 18673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018674|118674|989898|1|9999018674|MR|Test|E|Lead 18674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018675|118675|989898|1|9999018675|MR|Test|E|Lead 18675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018676|118676|989898|1|9999018676|MR|Test|E|Lead 18676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018677|118677|989898|1|9999018677|MR|Test|E|Lead 18677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018678|118678|989898|1|9999018678|MR|Test|E|Lead 18678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018679|118679|989898|1|9999018679|MR|Test|E|Lead 18679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018680|118680|989898|1|9999018680|MR|Test|E|Lead 18680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018681|118681|989898|1|9999018681|MR|Test|E|Lead 18681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018682|118682|989898|1|9999018682|MR|Test|E|Lead 18682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018683|118683|989898|1|9999018683|MR|Test|E|Lead 18683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018684|118684|989898|1|9999018684|MR|Test|E|Lead 18684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018685|118685|989898|1|9999018685|MR|Test|E|Lead 18685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018686|118686|989898|1|9999018686|MR|Test|E|Lead 18686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018687|118687|989898|1|9999018687|MR|Test|E|Lead 18687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018688|118688|989898|1|9999018688|MR|Test|E|Lead 18688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018689|118689|989898|1|9999018689|MR|Test|E|Lead 18689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018690|118690|989898|1|9999018690|MR|Test|E|Lead 18690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018691|118691|989898|1|9999018691|MR|Test|E|Lead 18691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018692|118692|989898|1|9999018692|MR|Test|E|Lead 18692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018693|118693|989898|1|9999018693|MR|Test|E|Lead 18693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018694|118694|989898|1|9999018694|MR|Test|E|Lead 18694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018695|118695|989898|1|9999018695|MR|Test|E|Lead 18695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018696|118696|989898|1|9999018696|MR|Test|E|Lead 18696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018697|118697|989898|1|9999018697|MR|Test|E|Lead 18697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018698|118698|989898|1|9999018698|MR|Test|E|Lead 18698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018699|118699|989898|1|9999018699|MR|Test|E|Lead 18699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018700|118700|989898|1|9999018700|MR|Test|E|Lead 18700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018701|118701|989898|1|9999018701|MR|Test|E|Lead 18701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018702|118702|989898|1|9999018702|MR|Test|E|Lead 18702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018703|118703|989898|1|9999018703|MR|Test|E|Lead 18703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018704|118704|989898|1|9999018704|MR|Test|E|Lead 18704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018705|118705|989898|1|9999018705|MR|Test|E|Lead 18705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018706|118706|989898|1|9999018706|MR|Test|E|Lead 18706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018707|118707|989898|1|9999018707|MR|Test|E|Lead 18707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018708|118708|989898|1|9999018708|MR|Test|E|Lead 18708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018709|118709|989898|1|9999018709|MR|Test|E|Lead 18709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018710|118710|989898|1|9999018710|MR|Test|E|Lead 18710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018711|118711|989898|1|9999018711|MR|Test|E|Lead 18711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018712|118712|989898|1|9999018712|MR|Test|E|Lead 18712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018713|118713|989898|1|9999018713|MR|Test|E|Lead 18713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018714|118714|989898|1|9999018714|MR|Test|E|Lead 18714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018715|118715|989898|1|9999018715|MR|Test|E|Lead 18715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018716|118716|989898|1|9999018716|MR|Test|E|Lead 18716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018717|118717|989898|1|9999018717|MR|Test|E|Lead 18717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018718|118718|989898|1|9999018718|MR|Test|E|Lead 18718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018719|118719|989898|1|9999018719|MR|Test|E|Lead 18719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018720|118720|989898|1|9999018720|MR|Test|E|Lead 18720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018721|118721|989898|1|9999018721|MR|Test|E|Lead 18721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018722|118722|989898|1|9999018722|MR|Test|E|Lead 18722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018723|118723|989898|1|9999018723|MR|Test|E|Lead 18723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018724|118724|989898|1|9999018724|MR|Test|E|Lead 18724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018725|118725|989898|1|9999018725|MR|Test|E|Lead 18725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018726|118726|989898|1|9999018726|MR|Test|E|Lead 18726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018727|118727|989898|1|9999018727|MR|Test|E|Lead 18727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018728|118728|989898|1|9999018728|MR|Test|E|Lead 18728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018729|118729|989898|1|9999018729|MR|Test|E|Lead 18729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018730|118730|989898|1|9999018730|MR|Test|E|Lead 18730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018731|118731|989898|1|9999018731|MR|Test|E|Lead 18731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018732|118732|989898|1|9999018732|MR|Test|E|Lead 18732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018733|118733|989898|1|9999018733|MR|Test|E|Lead 18733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018734|118734|989898|1|9999018734|MR|Test|E|Lead 18734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018735|118735|989898|1|9999018735|MR|Test|E|Lead 18735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018736|118736|989898|1|9999018736|MR|Test|E|Lead 18736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018737|118737|989898|1|9999018737|MR|Test|E|Lead 18737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018738|118738|989898|1|9999018738|MR|Test|E|Lead 18738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018739|118739|989898|1|9999018739|MR|Test|E|Lead 18739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018740|118740|989898|1|9999018740|MR|Test|E|Lead 18740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018741|118741|989898|1|9999018741|MR|Test|E|Lead 18741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018742|118742|989898|1|9999018742|MR|Test|E|Lead 18742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018743|118743|989898|1|9999018743|MR|Test|E|Lead 18743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018744|118744|989898|1|9999018744|MR|Test|E|Lead 18744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018745|118745|989898|1|9999018745|MR|Test|E|Lead 18745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018746|118746|989898|1|9999018746|MR|Test|E|Lead 18746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018747|118747|989898|1|9999018747|MR|Test|E|Lead 18747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018748|118748|989898|1|9999018748|MR|Test|E|Lead 18748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018749|118749|989898|1|9999018749|MR|Test|E|Lead 18749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018750|118750|989898|1|9999018750|MR|Test|E|Lead 18750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018751|118751|989898|1|9999018751|MR|Test|E|Lead 18751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018752|118752|989898|1|9999018752|MR|Test|E|Lead 18752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018753|118753|989898|1|9999018753|MR|Test|E|Lead 18753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018754|118754|989898|1|9999018754|MR|Test|E|Lead 18754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018755|118755|989898|1|9999018755|MR|Test|E|Lead 18755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018756|118756|989898|1|9999018756|MR|Test|E|Lead 18756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018757|118757|989898|1|9999018757|MR|Test|E|Lead 18757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018758|118758|989898|1|9999018758|MR|Test|E|Lead 18758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018759|118759|989898|1|9999018759|MR|Test|E|Lead 18759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018760|118760|989898|1|9999018760|MR|Test|E|Lead 18760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018761|118761|989898|1|9999018761|MR|Test|E|Lead 18761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018762|118762|989898|1|9999018762|MR|Test|E|Lead 18762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018763|118763|989898|1|9999018763|MR|Test|E|Lead 18763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018764|118764|989898|1|9999018764|MR|Test|E|Lead 18764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018765|118765|989898|1|9999018765|MR|Test|E|Lead 18765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018766|118766|989898|1|9999018766|MR|Test|E|Lead 18766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018767|118767|989898|1|9999018767|MR|Test|E|Lead 18767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018768|118768|989898|1|9999018768|MR|Test|E|Lead 18768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018769|118769|989898|1|9999018769|MR|Test|E|Lead 18769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018770|118770|989898|1|9999018770|MR|Test|E|Lead 18770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018771|118771|989898|1|9999018771|MR|Test|E|Lead 18771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018772|118772|989898|1|9999018772|MR|Test|E|Lead 18772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018773|118773|989898|1|9999018773|MR|Test|E|Lead 18773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018774|118774|989898|1|9999018774|MR|Test|E|Lead 18774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018775|118775|989898|1|9999018775|MR|Test|E|Lead 18775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018776|118776|989898|1|9999018776|MR|Test|E|Lead 18776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018777|118777|989898|1|9999018777|MR|Test|E|Lead 18777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018778|118778|989898|1|9999018778|MR|Test|E|Lead 18778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018779|118779|989898|1|9999018779|MR|Test|E|Lead 18779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018780|118780|989898|1|9999018780|MR|Test|E|Lead 18780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018781|118781|989898|1|9999018781|MR|Test|E|Lead 18781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018782|118782|989898|1|9999018782|MR|Test|E|Lead 18782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018783|118783|989898|1|9999018783|MR|Test|E|Lead 18783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018784|118784|989898|1|9999018784|MR|Test|E|Lead 18784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018785|118785|989898|1|9999018785|MR|Test|E|Lead 18785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018786|118786|989898|1|9999018786|MR|Test|E|Lead 18786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018787|118787|989898|1|9999018787|MR|Test|E|Lead 18787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018788|118788|989898|1|9999018788|MR|Test|E|Lead 18788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018789|118789|989898|1|9999018789|MR|Test|E|Lead 18789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018790|118790|989898|1|9999018790|MR|Test|E|Lead 18790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018791|118791|989898|1|9999018791|MR|Test|E|Lead 18791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018792|118792|989898|1|9999018792|MR|Test|E|Lead 18792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018793|118793|989898|1|9999018793|MR|Test|E|Lead 18793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018794|118794|989898|1|9999018794|MR|Test|E|Lead 18794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018795|118795|989898|1|9999018795|MR|Test|E|Lead 18795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018796|118796|989898|1|9999018796|MR|Test|E|Lead 18796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018797|118797|989898|1|9999018797|MR|Test|E|Lead 18797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018798|118798|989898|1|9999018798|MR|Test|E|Lead 18798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018799|118799|989898|1|9999018799|MR|Test|E|Lead 18799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018800|118800|989898|1|9999018800|MR|Test|E|Lead 18800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018801|118801|989898|1|9999018801|MR|Test|E|Lead 18801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018802|118802|989898|1|9999018802|MR|Test|E|Lead 18802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018803|118803|989898|1|9999018803|MR|Test|E|Lead 18803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018804|118804|989898|1|9999018804|MR|Test|E|Lead 18804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018805|118805|989898|1|9999018805|MR|Test|E|Lead 18805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018806|118806|989898|1|9999018806|MR|Test|E|Lead 18806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018807|118807|989898|1|9999018807|MR|Test|E|Lead 18807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018808|118808|989898|1|9999018808|MR|Test|E|Lead 18808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018809|118809|989898|1|9999018809|MR|Test|E|Lead 18809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018810|118810|989898|1|9999018810|MR|Test|E|Lead 18810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018811|118811|989898|1|9999018811|MR|Test|E|Lead 18811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018812|118812|989898|1|9999018812|MR|Test|E|Lead 18812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018813|118813|989898|1|9999018813|MR|Test|E|Lead 18813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018814|118814|989898|1|9999018814|MR|Test|E|Lead 18814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018815|118815|989898|1|9999018815|MR|Test|E|Lead 18815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018816|118816|989898|1|9999018816|MR|Test|E|Lead 18816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018817|118817|989898|1|9999018817|MR|Test|E|Lead 18817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018818|118818|989898|1|9999018818|MR|Test|E|Lead 18818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018819|118819|989898|1|9999018819|MR|Test|E|Lead 18819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018820|118820|989898|1|9999018820|MR|Test|E|Lead 18820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018821|118821|989898|1|9999018821|MR|Test|E|Lead 18821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018822|118822|989898|1|9999018822|MR|Test|E|Lead 18822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018823|118823|989898|1|9999018823|MR|Test|E|Lead 18823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018824|118824|989898|1|9999018824|MR|Test|E|Lead 18824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018825|118825|989898|1|9999018825|MR|Test|E|Lead 18825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018826|118826|989898|1|9999018826|MR|Test|E|Lead 18826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018827|118827|989898|1|9999018827|MR|Test|E|Lead 18827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018828|118828|989898|1|9999018828|MR|Test|E|Lead 18828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018829|118829|989898|1|9999018829|MR|Test|E|Lead 18829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018830|118830|989898|1|9999018830|MR|Test|E|Lead 18830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018831|118831|989898|1|9999018831|MR|Test|E|Lead 18831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018832|118832|989898|1|9999018832|MR|Test|E|Lead 18832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018833|118833|989898|1|9999018833|MR|Test|E|Lead 18833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018834|118834|989898|1|9999018834|MR|Test|E|Lead 18834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018835|118835|989898|1|9999018835|MR|Test|E|Lead 18835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018836|118836|989898|1|9999018836|MR|Test|E|Lead 18836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018837|118837|989898|1|9999018837|MR|Test|E|Lead 18837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018838|118838|989898|1|9999018838|MR|Test|E|Lead 18838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018839|118839|989898|1|9999018839|MR|Test|E|Lead 18839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018840|118840|989898|1|9999018840|MR|Test|E|Lead 18840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018841|118841|989898|1|9999018841|MR|Test|E|Lead 18841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018842|118842|989898|1|9999018842|MR|Test|E|Lead 18842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018843|118843|989898|1|9999018843|MR|Test|E|Lead 18843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018844|118844|989898|1|9999018844|MR|Test|E|Lead 18844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018845|118845|989898|1|9999018845|MR|Test|E|Lead 18845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018846|118846|989898|1|9999018846|MR|Test|E|Lead 18846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018847|118847|989898|1|9999018847|MR|Test|E|Lead 18847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018848|118848|989898|1|9999018848|MR|Test|E|Lead 18848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018849|118849|989898|1|9999018849|MR|Test|E|Lead 18849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018850|118850|989898|1|9999018850|MR|Test|E|Lead 18850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018851|118851|989898|1|9999018851|MR|Test|E|Lead 18851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018852|118852|989898|1|9999018852|MR|Test|E|Lead 18852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018853|118853|989898|1|9999018853|MR|Test|E|Lead 18853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018854|118854|989898|1|9999018854|MR|Test|E|Lead 18854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018855|118855|989898|1|9999018855|MR|Test|E|Lead 18855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018856|118856|989898|1|9999018856|MR|Test|E|Lead 18856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018857|118857|989898|1|9999018857|MR|Test|E|Lead 18857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018858|118858|989898|1|9999018858|MR|Test|E|Lead 18858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018859|118859|989898|1|9999018859|MR|Test|E|Lead 18859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018860|118860|989898|1|9999018860|MR|Test|E|Lead 18860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018861|118861|989898|1|9999018861|MR|Test|E|Lead 18861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018862|118862|989898|1|9999018862|MR|Test|E|Lead 18862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018863|118863|989898|1|9999018863|MR|Test|E|Lead 18863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018864|118864|989898|1|9999018864|MR|Test|E|Lead 18864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018865|118865|989898|1|9999018865|MR|Test|E|Lead 18865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018866|118866|989898|1|9999018866|MR|Test|E|Lead 18866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018867|118867|989898|1|9999018867|MR|Test|E|Lead 18867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018868|118868|989898|1|9999018868|MR|Test|E|Lead 18868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018869|118869|989898|1|9999018869|MR|Test|E|Lead 18869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018870|118870|989898|1|9999018870|MR|Test|E|Lead 18870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018871|118871|989898|1|9999018871|MR|Test|E|Lead 18871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018872|118872|989898|1|9999018872|MR|Test|E|Lead 18872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018873|118873|989898|1|9999018873|MR|Test|E|Lead 18873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018874|118874|989898|1|9999018874|MR|Test|E|Lead 18874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018875|118875|989898|1|9999018875|MR|Test|E|Lead 18875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018876|118876|989898|1|9999018876|MR|Test|E|Lead 18876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018877|118877|989898|1|9999018877|MR|Test|E|Lead 18877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018878|118878|989898|1|9999018878|MR|Test|E|Lead 18878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018879|118879|989898|1|9999018879|MR|Test|E|Lead 18879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018880|118880|989898|1|9999018880|MR|Test|E|Lead 18880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018881|118881|989898|1|9999018881|MR|Test|E|Lead 18881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018882|118882|989898|1|9999018882|MR|Test|E|Lead 18882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018883|118883|989898|1|9999018883|MR|Test|E|Lead 18883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018884|118884|989898|1|9999018884|MR|Test|E|Lead 18884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018885|118885|989898|1|9999018885|MR|Test|E|Lead 18885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018886|118886|989898|1|9999018886|MR|Test|E|Lead 18886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018887|118887|989898|1|9999018887|MR|Test|E|Lead 18887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018888|118888|989898|1|9999018888|MR|Test|E|Lead 18888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018889|118889|989898|1|9999018889|MR|Test|E|Lead 18889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018890|118890|989898|1|9999018890|MR|Test|E|Lead 18890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018891|118891|989898|1|9999018891|MR|Test|E|Lead 18891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018892|118892|989898|1|9999018892|MR|Test|E|Lead 18892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018893|118893|989898|1|9999018893|MR|Test|E|Lead 18893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018894|118894|989898|1|9999018894|MR|Test|E|Lead 18894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018895|118895|989898|1|9999018895|MR|Test|E|Lead 18895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018896|118896|989898|1|9999018896|MR|Test|E|Lead 18896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018897|118897|989898|1|9999018897|MR|Test|E|Lead 18897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018898|118898|989898|1|9999018898|MR|Test|E|Lead 18898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018899|118899|989898|1|9999018899|MR|Test|E|Lead 18899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018900|118900|989898|1|9999018900|MR|Test|E|Lead 18900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018901|118901|989898|1|9999018901|MR|Test|E|Lead 18901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018902|118902|989898|1|9999018902|MR|Test|E|Lead 18902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018903|118903|989898|1|9999018903|MR|Test|E|Lead 18903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018904|118904|989898|1|9999018904|MR|Test|E|Lead 18904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018905|118905|989898|1|9999018905|MR|Test|E|Lead 18905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018906|118906|989898|1|9999018906|MR|Test|E|Lead 18906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018907|118907|989898|1|9999018907|MR|Test|E|Lead 18907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018908|118908|989898|1|9999018908|MR|Test|E|Lead 18908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018909|118909|989898|1|9999018909|MR|Test|E|Lead 18909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018910|118910|989898|1|9999018910|MR|Test|E|Lead 18910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018911|118911|989898|1|9999018911|MR|Test|E|Lead 18911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018912|118912|989898|1|9999018912|MR|Test|E|Lead 18912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018913|118913|989898|1|9999018913|MR|Test|E|Lead 18913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018914|118914|989898|1|9999018914|MR|Test|E|Lead 18914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018915|118915|989898|1|9999018915|MR|Test|E|Lead 18915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018916|118916|989898|1|9999018916|MR|Test|E|Lead 18916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018917|118917|989898|1|9999018917|MR|Test|E|Lead 18917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018918|118918|989898|1|9999018918|MR|Test|E|Lead 18918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018919|118919|989898|1|9999018919|MR|Test|E|Lead 18919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018920|118920|989898|1|9999018920|MR|Test|E|Lead 18920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018921|118921|989898|1|9999018921|MR|Test|E|Lead 18921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018922|118922|989898|1|9999018922|MR|Test|E|Lead 18922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018923|118923|989898|1|9999018923|MR|Test|E|Lead 18923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018924|118924|989898|1|9999018924|MR|Test|E|Lead 18924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018925|118925|989898|1|9999018925|MR|Test|E|Lead 18925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018926|118926|989898|1|9999018926|MR|Test|E|Lead 18926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018927|118927|989898|1|9999018927|MR|Test|E|Lead 18927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018928|118928|989898|1|9999018928|MR|Test|E|Lead 18928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018929|118929|989898|1|9999018929|MR|Test|E|Lead 18929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018930|118930|989898|1|9999018930|MR|Test|E|Lead 18930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018931|118931|989898|1|9999018931|MR|Test|E|Lead 18931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018932|118932|989898|1|9999018932|MR|Test|E|Lead 18932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018933|118933|989898|1|9999018933|MR|Test|E|Lead 18933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018934|118934|989898|1|9999018934|MR|Test|E|Lead 18934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018935|118935|989898|1|9999018935|MR|Test|E|Lead 18935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018936|118936|989898|1|9999018936|MR|Test|E|Lead 18936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018937|118937|989898|1|9999018937|MR|Test|E|Lead 18937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018938|118938|989898|1|9999018938|MR|Test|E|Lead 18938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018939|118939|989898|1|9999018939|MR|Test|E|Lead 18939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018940|118940|989898|1|9999018940|MR|Test|E|Lead 18940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018941|118941|989898|1|9999018941|MR|Test|E|Lead 18941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018942|118942|989898|1|9999018942|MR|Test|E|Lead 18942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018943|118943|989898|1|9999018943|MR|Test|E|Lead 18943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018944|118944|989898|1|9999018944|MR|Test|E|Lead 18944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018945|118945|989898|1|9999018945|MR|Test|E|Lead 18945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018946|118946|989898|1|9999018946|MR|Test|E|Lead 18946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018947|118947|989898|1|9999018947|MR|Test|E|Lead 18947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018948|118948|989898|1|9999018948|MR|Test|E|Lead 18948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018949|118949|989898|1|9999018949|MR|Test|E|Lead 18949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018950|118950|989898|1|9999018950|MR|Test|E|Lead 18950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018951|118951|989898|1|9999018951|MR|Test|E|Lead 18951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018952|118952|989898|1|9999018952|MR|Test|E|Lead 18952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018953|118953|989898|1|9999018953|MR|Test|E|Lead 18953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018954|118954|989898|1|9999018954|MR|Test|E|Lead 18954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018955|118955|989898|1|9999018955|MR|Test|E|Lead 18955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018956|118956|989898|1|9999018956|MR|Test|E|Lead 18956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018957|118957|989898|1|9999018957|MR|Test|E|Lead 18957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018958|118958|989898|1|9999018958|MR|Test|E|Lead 18958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018959|118959|989898|1|9999018959|MR|Test|E|Lead 18959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018960|118960|989898|1|9999018960|MR|Test|E|Lead 18960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018961|118961|989898|1|9999018961|MR|Test|E|Lead 18961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018962|118962|989898|1|9999018962|MR|Test|E|Lead 18962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018963|118963|989898|1|9999018963|MR|Test|E|Lead 18963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018964|118964|989898|1|9999018964|MR|Test|E|Lead 18964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018965|118965|989898|1|9999018965|MR|Test|E|Lead 18965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018966|118966|989898|1|9999018966|MR|Test|E|Lead 18966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018967|118967|989898|1|9999018967|MR|Test|E|Lead 18967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018968|118968|989898|1|9999018968|MR|Test|E|Lead 18968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018969|118969|989898|1|9999018969|MR|Test|E|Lead 18969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018970|118970|989898|1|9999018970|MR|Test|E|Lead 18970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018971|118971|989898|1|9999018971|MR|Test|E|Lead 18971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018972|118972|989898|1|9999018972|MR|Test|E|Lead 18972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018973|118973|989898|1|9999018973|MR|Test|E|Lead 18973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018974|118974|989898|1|9999018974|MR|Test|E|Lead 18974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018975|118975|989898|1|9999018975|MR|Test|E|Lead 18975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018976|118976|989898|1|9999018976|MR|Test|E|Lead 18976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018977|118977|989898|1|9999018977|MR|Test|E|Lead 18977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018978|118978|989898|1|9999018978|MR|Test|E|Lead 18978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018979|118979|989898|1|9999018979|MR|Test|E|Lead 18979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018980|118980|989898|1|9999018980|MR|Test|E|Lead 18980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018981|118981|989898|1|9999018981|MR|Test|E|Lead 18981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018982|118982|989898|1|9999018982|MR|Test|E|Lead 18982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018983|118983|989898|1|9999018983|MR|Test|E|Lead 18983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018984|118984|989898|1|9999018984|MR|Test|E|Lead 18984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018985|118985|989898|1|9999018985|MR|Test|E|Lead 18985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018986|118986|989898|1|9999018986|MR|Test|E|Lead 18986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018987|118987|989898|1|9999018987|MR|Test|E|Lead 18987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018988|118988|989898|1|9999018988|MR|Test|E|Lead 18988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018989|118989|989898|1|9999018989|MR|Test|E|Lead 18989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018990|118990|989898|1|9999018990|MR|Test|E|Lead 18990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018991|118991|989898|1|9999018991|MR|Test|E|Lead 18991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018992|118992|989898|1|9999018992|MR|Test|E|Lead 18992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018993|118993|989898|1|9999018993|MR|Test|E|Lead 18993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018994|118994|989898|1|9999018994|MR|Test|E|Lead 18994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018995|118995|989898|1|9999018995|MR|Test|E|Lead 18995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018996|118996|989898|1|9999018996|MR|Test|E|Lead 18996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018997|118997|989898|1|9999018997|MR|Test|E|Lead 18997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018998|118998|989898|1|9999018998|MR|Test|E|Lead 18998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1018999|118999|989898|1|9999018999|MR|Test|E|Lead 18999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019000|119000|989898|1|9999019000|MR|Test|E|Lead 19000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019001|119001|989898|1|9999019001|MR|Test|E|Lead 19001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019002|119002|989898|1|9999019002|MR|Test|E|Lead 19002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019003|119003|989898|1|9999019003|MR|Test|E|Lead 19003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019004|119004|989898|1|9999019004|MR|Test|E|Lead 19004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019005|119005|989898|1|9999019005|MR|Test|E|Lead 19005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019006|119006|989898|1|9999019006|MR|Test|E|Lead 19006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019007|119007|989898|1|9999019007|MR|Test|E|Lead 19007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019008|119008|989898|1|9999019008|MR|Test|E|Lead 19008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019009|119009|989898|1|9999019009|MR|Test|E|Lead 19009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019010|119010|989898|1|9999019010|MR|Test|E|Lead 19010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019011|119011|989898|1|9999019011|MR|Test|E|Lead 19011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019012|119012|989898|1|9999019012|MR|Test|E|Lead 19012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019013|119013|989898|1|9999019013|MR|Test|E|Lead 19013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019014|119014|989898|1|9999019014|MR|Test|E|Lead 19014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019015|119015|989898|1|9999019015|MR|Test|E|Lead 19015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019016|119016|989898|1|9999019016|MR|Test|E|Lead 19016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019017|119017|989898|1|9999019017|MR|Test|E|Lead 19017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019018|119018|989898|1|9999019018|MR|Test|E|Lead 19018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019019|119019|989898|1|9999019019|MR|Test|E|Lead 19019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019020|119020|989898|1|9999019020|MR|Test|E|Lead 19020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019021|119021|989898|1|9999019021|MR|Test|E|Lead 19021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019022|119022|989898|1|9999019022|MR|Test|E|Lead 19022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019023|119023|989898|1|9999019023|MR|Test|E|Lead 19023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019024|119024|989898|1|9999019024|MR|Test|E|Lead 19024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019025|119025|989898|1|9999019025|MR|Test|E|Lead 19025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019026|119026|989898|1|9999019026|MR|Test|E|Lead 19026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019027|119027|989898|1|9999019027|MR|Test|E|Lead 19027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019028|119028|989898|1|9999019028|MR|Test|E|Lead 19028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019029|119029|989898|1|9999019029|MR|Test|E|Lead 19029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019030|119030|989898|1|9999019030|MR|Test|E|Lead 19030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019031|119031|989898|1|9999019031|MR|Test|E|Lead 19031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019032|119032|989898|1|9999019032|MR|Test|E|Lead 19032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019033|119033|989898|1|9999019033|MR|Test|E|Lead 19033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019034|119034|989898|1|9999019034|MR|Test|E|Lead 19034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019035|119035|989898|1|9999019035|MR|Test|E|Lead 19035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019036|119036|989898|1|9999019036|MR|Test|E|Lead 19036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019037|119037|989898|1|9999019037|MR|Test|E|Lead 19037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019038|119038|989898|1|9999019038|MR|Test|E|Lead 19038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019039|119039|989898|1|9999019039|MR|Test|E|Lead 19039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019040|119040|989898|1|9999019040|MR|Test|E|Lead 19040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019041|119041|989898|1|9999019041|MR|Test|E|Lead 19041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019042|119042|989898|1|9999019042|MR|Test|E|Lead 19042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019043|119043|989898|1|9999019043|MR|Test|E|Lead 19043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019044|119044|989898|1|9999019044|MR|Test|E|Lead 19044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019045|119045|989898|1|9999019045|MR|Test|E|Lead 19045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019046|119046|989898|1|9999019046|MR|Test|E|Lead 19046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019047|119047|989898|1|9999019047|MR|Test|E|Lead 19047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019048|119048|989898|1|9999019048|MR|Test|E|Lead 19048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019049|119049|989898|1|9999019049|MR|Test|E|Lead 19049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019050|119050|989898|1|9999019050|MR|Test|E|Lead 19050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019051|119051|989898|1|9999019051|MR|Test|E|Lead 19051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019052|119052|989898|1|9999019052|MR|Test|E|Lead 19052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019053|119053|989898|1|9999019053|MR|Test|E|Lead 19053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019054|119054|989898|1|9999019054|MR|Test|E|Lead 19054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019055|119055|989898|1|9999019055|MR|Test|E|Lead 19055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019056|119056|989898|1|9999019056|MR|Test|E|Lead 19056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019057|119057|989898|1|9999019057|MR|Test|E|Lead 19057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019058|119058|989898|1|9999019058|MR|Test|E|Lead 19058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019059|119059|989898|1|9999019059|MR|Test|E|Lead 19059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019060|119060|989898|1|9999019060|MR|Test|E|Lead 19060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019061|119061|989898|1|9999019061|MR|Test|E|Lead 19061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019062|119062|989898|1|9999019062|MR|Test|E|Lead 19062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019063|119063|989898|1|9999019063|MR|Test|E|Lead 19063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019064|119064|989898|1|9999019064|MR|Test|E|Lead 19064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019065|119065|989898|1|9999019065|MR|Test|E|Lead 19065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019066|119066|989898|1|9999019066|MR|Test|E|Lead 19066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019067|119067|989898|1|9999019067|MR|Test|E|Lead 19067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019068|119068|989898|1|9999019068|MR|Test|E|Lead 19068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019069|119069|989898|1|9999019069|MR|Test|E|Lead 19069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019070|119070|989898|1|9999019070|MR|Test|E|Lead 19070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019071|119071|989898|1|9999019071|MR|Test|E|Lead 19071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019072|119072|989898|1|9999019072|MR|Test|E|Lead 19072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019073|119073|989898|1|9999019073|MR|Test|E|Lead 19073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019074|119074|989898|1|9999019074|MR|Test|E|Lead 19074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019075|119075|989898|1|9999019075|MR|Test|E|Lead 19075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019076|119076|989898|1|9999019076|MR|Test|E|Lead 19076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019077|119077|989898|1|9999019077|MR|Test|E|Lead 19077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019078|119078|989898|1|9999019078|MR|Test|E|Lead 19078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019079|119079|989898|1|9999019079|MR|Test|E|Lead 19079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019080|119080|989898|1|9999019080|MR|Test|E|Lead 19080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019081|119081|989898|1|9999019081|MR|Test|E|Lead 19081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019082|119082|989898|1|9999019082|MR|Test|E|Lead 19082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019083|119083|989898|1|9999019083|MR|Test|E|Lead 19083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019084|119084|989898|1|9999019084|MR|Test|E|Lead 19084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019085|119085|989898|1|9999019085|MR|Test|E|Lead 19085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019086|119086|989898|1|9999019086|MR|Test|E|Lead 19086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019087|119087|989898|1|9999019087|MR|Test|E|Lead 19087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019088|119088|989898|1|9999019088|MR|Test|E|Lead 19088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019089|119089|989898|1|9999019089|MR|Test|E|Lead 19089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019090|119090|989898|1|9999019090|MR|Test|E|Lead 19090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019091|119091|989898|1|9999019091|MR|Test|E|Lead 19091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019092|119092|989898|1|9999019092|MR|Test|E|Lead 19092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019093|119093|989898|1|9999019093|MR|Test|E|Lead 19093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019094|119094|989898|1|9999019094|MR|Test|E|Lead 19094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019095|119095|989898|1|9999019095|MR|Test|E|Lead 19095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019096|119096|989898|1|9999019096|MR|Test|E|Lead 19096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019097|119097|989898|1|9999019097|MR|Test|E|Lead 19097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019098|119098|989898|1|9999019098|MR|Test|E|Lead 19098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019099|119099|989898|1|9999019099|MR|Test|E|Lead 19099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019100|119100|989898|1|9999019100|MR|Test|E|Lead 19100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019101|119101|989898|1|9999019101|MR|Test|E|Lead 19101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019102|119102|989898|1|9999019102|MR|Test|E|Lead 19102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019103|119103|989898|1|9999019103|MR|Test|E|Lead 19103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019104|119104|989898|1|9999019104|MR|Test|E|Lead 19104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019105|119105|989898|1|9999019105|MR|Test|E|Lead 19105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019106|119106|989898|1|9999019106|MR|Test|E|Lead 19106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019107|119107|989898|1|9999019107|MR|Test|E|Lead 19107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019108|119108|989898|1|9999019108|MR|Test|E|Lead 19108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019109|119109|989898|1|9999019109|MR|Test|E|Lead 19109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019110|119110|989898|1|9999019110|MR|Test|E|Lead 19110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019111|119111|989898|1|9999019111|MR|Test|E|Lead 19111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019112|119112|989898|1|9999019112|MR|Test|E|Lead 19112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019113|119113|989898|1|9999019113|MR|Test|E|Lead 19113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019114|119114|989898|1|9999019114|MR|Test|E|Lead 19114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019115|119115|989898|1|9999019115|MR|Test|E|Lead 19115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019116|119116|989898|1|9999019116|MR|Test|E|Lead 19116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019117|119117|989898|1|9999019117|MR|Test|E|Lead 19117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019118|119118|989898|1|9999019118|MR|Test|E|Lead 19118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019119|119119|989898|1|9999019119|MR|Test|E|Lead 19119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019120|119120|989898|1|9999019120|MR|Test|E|Lead 19120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019121|119121|989898|1|9999019121|MR|Test|E|Lead 19121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019122|119122|989898|1|9999019122|MR|Test|E|Lead 19122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019123|119123|989898|1|9999019123|MR|Test|E|Lead 19123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019124|119124|989898|1|9999019124|MR|Test|E|Lead 19124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019125|119125|989898|1|9999019125|MR|Test|E|Lead 19125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019126|119126|989898|1|9999019126|MR|Test|E|Lead 19126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019127|119127|989898|1|9999019127|MR|Test|E|Lead 19127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019128|119128|989898|1|9999019128|MR|Test|E|Lead 19128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019129|119129|989898|1|9999019129|MR|Test|E|Lead 19129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019130|119130|989898|1|9999019130|MR|Test|E|Lead 19130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019131|119131|989898|1|9999019131|MR|Test|E|Lead 19131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019132|119132|989898|1|9999019132|MR|Test|E|Lead 19132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019133|119133|989898|1|9999019133|MR|Test|E|Lead 19133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019134|119134|989898|1|9999019134|MR|Test|E|Lead 19134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019135|119135|989898|1|9999019135|MR|Test|E|Lead 19135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019136|119136|989898|1|9999019136|MR|Test|E|Lead 19136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019137|119137|989898|1|9999019137|MR|Test|E|Lead 19137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019138|119138|989898|1|9999019138|MR|Test|E|Lead 19138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019139|119139|989898|1|9999019139|MR|Test|E|Lead 19139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019140|119140|989898|1|9999019140|MR|Test|E|Lead 19140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019141|119141|989898|1|9999019141|MR|Test|E|Lead 19141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019142|119142|989898|1|9999019142|MR|Test|E|Lead 19142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019143|119143|989898|1|9999019143|MR|Test|E|Lead 19143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019144|119144|989898|1|9999019144|MR|Test|E|Lead 19144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019145|119145|989898|1|9999019145|MR|Test|E|Lead 19145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019146|119146|989898|1|9999019146|MR|Test|E|Lead 19146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019147|119147|989898|1|9999019147|MR|Test|E|Lead 19147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019148|119148|989898|1|9999019148|MR|Test|E|Lead 19148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019149|119149|989898|1|9999019149|MR|Test|E|Lead 19149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019150|119150|989898|1|9999019150|MR|Test|E|Lead 19150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019151|119151|989898|1|9999019151|MR|Test|E|Lead 19151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019152|119152|989898|1|9999019152|MR|Test|E|Lead 19152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019153|119153|989898|1|9999019153|MR|Test|E|Lead 19153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019154|119154|989898|1|9999019154|MR|Test|E|Lead 19154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019155|119155|989898|1|9999019155|MR|Test|E|Lead 19155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019156|119156|989898|1|9999019156|MR|Test|E|Lead 19156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019157|119157|989898|1|9999019157|MR|Test|E|Lead 19157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019158|119158|989898|1|9999019158|MR|Test|E|Lead 19158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019159|119159|989898|1|9999019159|MR|Test|E|Lead 19159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019160|119160|989898|1|9999019160|MR|Test|E|Lead 19160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019161|119161|989898|1|9999019161|MR|Test|E|Lead 19161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019162|119162|989898|1|9999019162|MR|Test|E|Lead 19162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019163|119163|989898|1|9999019163|MR|Test|E|Lead 19163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019164|119164|989898|1|9999019164|MR|Test|E|Lead 19164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019165|119165|989898|1|9999019165|MR|Test|E|Lead 19165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019166|119166|989898|1|9999019166|MR|Test|E|Lead 19166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019167|119167|989898|1|9999019167|MR|Test|E|Lead 19167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019168|119168|989898|1|9999019168|MR|Test|E|Lead 19168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019169|119169|989898|1|9999019169|MR|Test|E|Lead 19169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019170|119170|989898|1|9999019170|MR|Test|E|Lead 19170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019171|119171|989898|1|9999019171|MR|Test|E|Lead 19171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019172|119172|989898|1|9999019172|MR|Test|E|Lead 19172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019173|119173|989898|1|9999019173|MR|Test|E|Lead 19173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019174|119174|989898|1|9999019174|MR|Test|E|Lead 19174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019175|119175|989898|1|9999019175|MR|Test|E|Lead 19175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019176|119176|989898|1|9999019176|MR|Test|E|Lead 19176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019177|119177|989898|1|9999019177|MR|Test|E|Lead 19177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019178|119178|989898|1|9999019178|MR|Test|E|Lead 19178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019179|119179|989898|1|9999019179|MR|Test|E|Lead 19179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019180|119180|989898|1|9999019180|MR|Test|E|Lead 19180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019181|119181|989898|1|9999019181|MR|Test|E|Lead 19181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019182|119182|989898|1|9999019182|MR|Test|E|Lead 19182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019183|119183|989898|1|9999019183|MR|Test|E|Lead 19183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019184|119184|989898|1|9999019184|MR|Test|E|Lead 19184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019185|119185|989898|1|9999019185|MR|Test|E|Lead 19185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019186|119186|989898|1|9999019186|MR|Test|E|Lead 19186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019187|119187|989898|1|9999019187|MR|Test|E|Lead 19187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019188|119188|989898|1|9999019188|MR|Test|E|Lead 19188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019189|119189|989898|1|9999019189|MR|Test|E|Lead 19189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019190|119190|989898|1|9999019190|MR|Test|E|Lead 19190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019191|119191|989898|1|9999019191|MR|Test|E|Lead 19191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019192|119192|989898|1|9999019192|MR|Test|E|Lead 19192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019193|119193|989898|1|9999019193|MR|Test|E|Lead 19193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019194|119194|989898|1|9999019194|MR|Test|E|Lead 19194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019195|119195|989898|1|9999019195|MR|Test|E|Lead 19195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019196|119196|989898|1|9999019196|MR|Test|E|Lead 19196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019197|119197|989898|1|9999019197|MR|Test|E|Lead 19197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019198|119198|989898|1|9999019198|MR|Test|E|Lead 19198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019199|119199|989898|1|9999019199|MR|Test|E|Lead 19199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019200|119200|989898|1|9999019200|MR|Test|E|Lead 19200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019201|119201|989898|1|9999019201|MR|Test|E|Lead 19201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019202|119202|989898|1|9999019202|MR|Test|E|Lead 19202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019203|119203|989898|1|9999019203|MR|Test|E|Lead 19203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019204|119204|989898|1|9999019204|MR|Test|E|Lead 19204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019205|119205|989898|1|9999019205|MR|Test|E|Lead 19205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019206|119206|989898|1|9999019206|MR|Test|E|Lead 19206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019207|119207|989898|1|9999019207|MR|Test|E|Lead 19207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019208|119208|989898|1|9999019208|MR|Test|E|Lead 19208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019209|119209|989898|1|9999019209|MR|Test|E|Lead 19209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019210|119210|989898|1|9999019210|MR|Test|E|Lead 19210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019211|119211|989898|1|9999019211|MR|Test|E|Lead 19211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019212|119212|989898|1|9999019212|MR|Test|E|Lead 19212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019213|119213|989898|1|9999019213|MR|Test|E|Lead 19213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019214|119214|989898|1|9999019214|MR|Test|E|Lead 19214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019215|119215|989898|1|9999019215|MR|Test|E|Lead 19215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019216|119216|989898|1|9999019216|MR|Test|E|Lead 19216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019217|119217|989898|1|9999019217|MR|Test|E|Lead 19217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019218|119218|989898|1|9999019218|MR|Test|E|Lead 19218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019219|119219|989898|1|9999019219|MR|Test|E|Lead 19219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019220|119220|989898|1|9999019220|MR|Test|E|Lead 19220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019221|119221|989898|1|9999019221|MR|Test|E|Lead 19221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019222|119222|989898|1|9999019222|MR|Test|E|Lead 19222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019223|119223|989898|1|9999019223|MR|Test|E|Lead 19223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019224|119224|989898|1|9999019224|MR|Test|E|Lead 19224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019225|119225|989898|1|9999019225|MR|Test|E|Lead 19225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019226|119226|989898|1|9999019226|MR|Test|E|Lead 19226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019227|119227|989898|1|9999019227|MR|Test|E|Lead 19227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019228|119228|989898|1|9999019228|MR|Test|E|Lead 19228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019229|119229|989898|1|9999019229|MR|Test|E|Lead 19229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019230|119230|989898|1|9999019230|MR|Test|E|Lead 19230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019231|119231|989898|1|9999019231|MR|Test|E|Lead 19231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019232|119232|989898|1|9999019232|MR|Test|E|Lead 19232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019233|119233|989898|1|9999019233|MR|Test|E|Lead 19233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019234|119234|989898|1|9999019234|MR|Test|E|Lead 19234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019235|119235|989898|1|9999019235|MR|Test|E|Lead 19235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019236|119236|989898|1|9999019236|MR|Test|E|Lead 19236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019237|119237|989898|1|9999019237|MR|Test|E|Lead 19237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019238|119238|989898|1|9999019238|MR|Test|E|Lead 19238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019239|119239|989898|1|9999019239|MR|Test|E|Lead 19239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019240|119240|989898|1|9999019240|MR|Test|E|Lead 19240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019241|119241|989898|1|9999019241|MR|Test|E|Lead 19241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019242|119242|989898|1|9999019242|MR|Test|E|Lead 19242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019243|119243|989898|1|9999019243|MR|Test|E|Lead 19243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019244|119244|989898|1|9999019244|MR|Test|E|Lead 19244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019245|119245|989898|1|9999019245|MR|Test|E|Lead 19245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019246|119246|989898|1|9999019246|MR|Test|E|Lead 19246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019247|119247|989898|1|9999019247|MR|Test|E|Lead 19247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019248|119248|989898|1|9999019248|MR|Test|E|Lead 19248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019249|119249|989898|1|9999019249|MR|Test|E|Lead 19249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019250|119250|989898|1|9999019250|MR|Test|E|Lead 19250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019251|119251|989898|1|9999019251|MR|Test|E|Lead 19251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019252|119252|989898|1|9999019252|MR|Test|E|Lead 19252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019253|119253|989898|1|9999019253|MR|Test|E|Lead 19253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019254|119254|989898|1|9999019254|MR|Test|E|Lead 19254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019255|119255|989898|1|9999019255|MR|Test|E|Lead 19255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019256|119256|989898|1|9999019256|MR|Test|E|Lead 19256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019257|119257|989898|1|9999019257|MR|Test|E|Lead 19257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019258|119258|989898|1|9999019258|MR|Test|E|Lead 19258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019259|119259|989898|1|9999019259|MR|Test|E|Lead 19259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019260|119260|989898|1|9999019260|MR|Test|E|Lead 19260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019261|119261|989898|1|9999019261|MR|Test|E|Lead 19261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019262|119262|989898|1|9999019262|MR|Test|E|Lead 19262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019263|119263|989898|1|9999019263|MR|Test|E|Lead 19263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019264|119264|989898|1|9999019264|MR|Test|E|Lead 19264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019265|119265|989898|1|9999019265|MR|Test|E|Lead 19265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019266|119266|989898|1|9999019266|MR|Test|E|Lead 19266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019267|119267|989898|1|9999019267|MR|Test|E|Lead 19267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019268|119268|989898|1|9999019268|MR|Test|E|Lead 19268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019269|119269|989898|1|9999019269|MR|Test|E|Lead 19269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019270|119270|989898|1|9999019270|MR|Test|E|Lead 19270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019271|119271|989898|1|9999019271|MR|Test|E|Lead 19271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019272|119272|989898|1|9999019272|MR|Test|E|Lead 19272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019273|119273|989898|1|9999019273|MR|Test|E|Lead 19273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019274|119274|989898|1|9999019274|MR|Test|E|Lead 19274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019275|119275|989898|1|9999019275|MR|Test|E|Lead 19275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019276|119276|989898|1|9999019276|MR|Test|E|Lead 19276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019277|119277|989898|1|9999019277|MR|Test|E|Lead 19277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019278|119278|989898|1|9999019278|MR|Test|E|Lead 19278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019279|119279|989898|1|9999019279|MR|Test|E|Lead 19279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019280|119280|989898|1|9999019280|MR|Test|E|Lead 19280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019281|119281|989898|1|9999019281|MR|Test|E|Lead 19281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019282|119282|989898|1|9999019282|MR|Test|E|Lead 19282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019283|119283|989898|1|9999019283|MR|Test|E|Lead 19283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019284|119284|989898|1|9999019284|MR|Test|E|Lead 19284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019285|119285|989898|1|9999019285|MR|Test|E|Lead 19285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019286|119286|989898|1|9999019286|MR|Test|E|Lead 19286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019287|119287|989898|1|9999019287|MR|Test|E|Lead 19287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019288|119288|989898|1|9999019288|MR|Test|E|Lead 19288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019289|119289|989898|1|9999019289|MR|Test|E|Lead 19289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019290|119290|989898|1|9999019290|MR|Test|E|Lead 19290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019291|119291|989898|1|9999019291|MR|Test|E|Lead 19291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019292|119292|989898|1|9999019292|MR|Test|E|Lead 19292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019293|119293|989898|1|9999019293|MR|Test|E|Lead 19293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019294|119294|989898|1|9999019294|MR|Test|E|Lead 19294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019295|119295|989898|1|9999019295|MR|Test|E|Lead 19295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019296|119296|989898|1|9999019296|MR|Test|E|Lead 19296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019297|119297|989898|1|9999019297|MR|Test|E|Lead 19297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019298|119298|989898|1|9999019298|MR|Test|E|Lead 19298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019299|119299|989898|1|9999019299|MR|Test|E|Lead 19299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019300|119300|989898|1|9999019300|MR|Test|E|Lead 19300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019301|119301|989898|1|9999019301|MR|Test|E|Lead 19301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019302|119302|989898|1|9999019302|MR|Test|E|Lead 19302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019303|119303|989898|1|9999019303|MR|Test|E|Lead 19303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019304|119304|989898|1|9999019304|MR|Test|E|Lead 19304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019305|119305|989898|1|9999019305|MR|Test|E|Lead 19305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019306|119306|989898|1|9999019306|MR|Test|E|Lead 19306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019307|119307|989898|1|9999019307|MR|Test|E|Lead 19307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019308|119308|989898|1|9999019308|MR|Test|E|Lead 19308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019309|119309|989898|1|9999019309|MR|Test|E|Lead 19309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019310|119310|989898|1|9999019310|MR|Test|E|Lead 19310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019311|119311|989898|1|9999019311|MR|Test|E|Lead 19311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019312|119312|989898|1|9999019312|MR|Test|E|Lead 19312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019313|119313|989898|1|9999019313|MR|Test|E|Lead 19313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019314|119314|989898|1|9999019314|MR|Test|E|Lead 19314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019315|119315|989898|1|9999019315|MR|Test|E|Lead 19315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019316|119316|989898|1|9999019316|MR|Test|E|Lead 19316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019317|119317|989898|1|9999019317|MR|Test|E|Lead 19317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019318|119318|989898|1|9999019318|MR|Test|E|Lead 19318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019319|119319|989898|1|9999019319|MR|Test|E|Lead 19319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019320|119320|989898|1|9999019320|MR|Test|E|Lead 19320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019321|119321|989898|1|9999019321|MR|Test|E|Lead 19321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019322|119322|989898|1|9999019322|MR|Test|E|Lead 19322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019323|119323|989898|1|9999019323|MR|Test|E|Lead 19323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019324|119324|989898|1|9999019324|MR|Test|E|Lead 19324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019325|119325|989898|1|9999019325|MR|Test|E|Lead 19325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019326|119326|989898|1|9999019326|MR|Test|E|Lead 19326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019327|119327|989898|1|9999019327|MR|Test|E|Lead 19327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019328|119328|989898|1|9999019328|MR|Test|E|Lead 19328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019329|119329|989898|1|9999019329|MR|Test|E|Lead 19329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019330|119330|989898|1|9999019330|MR|Test|E|Lead 19330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019331|119331|989898|1|9999019331|MR|Test|E|Lead 19331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019332|119332|989898|1|9999019332|MR|Test|E|Lead 19332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019333|119333|989898|1|9999019333|MR|Test|E|Lead 19333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019334|119334|989898|1|9999019334|MR|Test|E|Lead 19334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019335|119335|989898|1|9999019335|MR|Test|E|Lead 19335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019336|119336|989898|1|9999019336|MR|Test|E|Lead 19336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019337|119337|989898|1|9999019337|MR|Test|E|Lead 19337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019338|119338|989898|1|9999019338|MR|Test|E|Lead 19338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019339|119339|989898|1|9999019339|MR|Test|E|Lead 19339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019340|119340|989898|1|9999019340|MR|Test|E|Lead 19340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019341|119341|989898|1|9999019341|MR|Test|E|Lead 19341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019342|119342|989898|1|9999019342|MR|Test|E|Lead 19342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019343|119343|989898|1|9999019343|MR|Test|E|Lead 19343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019344|119344|989898|1|9999019344|MR|Test|E|Lead 19344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019345|119345|989898|1|9999019345|MR|Test|E|Lead 19345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019346|119346|989898|1|9999019346|MR|Test|E|Lead 19346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019347|119347|989898|1|9999019347|MR|Test|E|Lead 19347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019348|119348|989898|1|9999019348|MR|Test|E|Lead 19348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019349|119349|989898|1|9999019349|MR|Test|E|Lead 19349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019350|119350|989898|1|9999019350|MR|Test|E|Lead 19350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019351|119351|989898|1|9999019351|MR|Test|E|Lead 19351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019352|119352|989898|1|9999019352|MR|Test|E|Lead 19352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019353|119353|989898|1|9999019353|MR|Test|E|Lead 19353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019354|119354|989898|1|9999019354|MR|Test|E|Lead 19354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019355|119355|989898|1|9999019355|MR|Test|E|Lead 19355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019356|119356|989898|1|9999019356|MR|Test|E|Lead 19356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019357|119357|989898|1|9999019357|MR|Test|E|Lead 19357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019358|119358|989898|1|9999019358|MR|Test|E|Lead 19358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019359|119359|989898|1|9999019359|MR|Test|E|Lead 19359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019360|119360|989898|1|9999019360|MR|Test|E|Lead 19360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019361|119361|989898|1|9999019361|MR|Test|E|Lead 19361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019362|119362|989898|1|9999019362|MR|Test|E|Lead 19362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019363|119363|989898|1|9999019363|MR|Test|E|Lead 19363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019364|119364|989898|1|9999019364|MR|Test|E|Lead 19364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019365|119365|989898|1|9999019365|MR|Test|E|Lead 19365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019366|119366|989898|1|9999019366|MR|Test|E|Lead 19366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019367|119367|989898|1|9999019367|MR|Test|E|Lead 19367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019368|119368|989898|1|9999019368|MR|Test|E|Lead 19368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019369|119369|989898|1|9999019369|MR|Test|E|Lead 19369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019370|119370|989898|1|9999019370|MR|Test|E|Lead 19370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019371|119371|989898|1|9999019371|MR|Test|E|Lead 19371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019372|119372|989898|1|9999019372|MR|Test|E|Lead 19372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019373|119373|989898|1|9999019373|MR|Test|E|Lead 19373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019374|119374|989898|1|9999019374|MR|Test|E|Lead 19374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019375|119375|989898|1|9999019375|MR|Test|E|Lead 19375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019376|119376|989898|1|9999019376|MR|Test|E|Lead 19376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019377|119377|989898|1|9999019377|MR|Test|E|Lead 19377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019378|119378|989898|1|9999019378|MR|Test|E|Lead 19378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019379|119379|989898|1|9999019379|MR|Test|E|Lead 19379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019380|119380|989898|1|9999019380|MR|Test|E|Lead 19380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019381|119381|989898|1|9999019381|MR|Test|E|Lead 19381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019382|119382|989898|1|9999019382|MR|Test|E|Lead 19382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019383|119383|989898|1|9999019383|MR|Test|E|Lead 19383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019384|119384|989898|1|9999019384|MR|Test|E|Lead 19384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019385|119385|989898|1|9999019385|MR|Test|E|Lead 19385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019386|119386|989898|1|9999019386|MR|Test|E|Lead 19386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019387|119387|989898|1|9999019387|MR|Test|E|Lead 19387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019388|119388|989898|1|9999019388|MR|Test|E|Lead 19388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019389|119389|989898|1|9999019389|MR|Test|E|Lead 19389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019390|119390|989898|1|9999019390|MR|Test|E|Lead 19390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019391|119391|989898|1|9999019391|MR|Test|E|Lead 19391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019392|119392|989898|1|9999019392|MR|Test|E|Lead 19392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019393|119393|989898|1|9999019393|MR|Test|E|Lead 19393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019394|119394|989898|1|9999019394|MR|Test|E|Lead 19394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019395|119395|989898|1|9999019395|MR|Test|E|Lead 19395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019396|119396|989898|1|9999019396|MR|Test|E|Lead 19396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019397|119397|989898|1|9999019397|MR|Test|E|Lead 19397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019398|119398|989898|1|9999019398|MR|Test|E|Lead 19398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019399|119399|989898|1|9999019399|MR|Test|E|Lead 19399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019400|119400|989898|1|9999019400|MR|Test|E|Lead 19400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019401|119401|989898|1|9999019401|MR|Test|E|Lead 19401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019402|119402|989898|1|9999019402|MR|Test|E|Lead 19402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019403|119403|989898|1|9999019403|MR|Test|E|Lead 19403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019404|119404|989898|1|9999019404|MR|Test|E|Lead 19404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019405|119405|989898|1|9999019405|MR|Test|E|Lead 19405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019406|119406|989898|1|9999019406|MR|Test|E|Lead 19406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019407|119407|989898|1|9999019407|MR|Test|E|Lead 19407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019408|119408|989898|1|9999019408|MR|Test|E|Lead 19408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019409|119409|989898|1|9999019409|MR|Test|E|Lead 19409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019410|119410|989898|1|9999019410|MR|Test|E|Lead 19410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019411|119411|989898|1|9999019411|MR|Test|E|Lead 19411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019412|119412|989898|1|9999019412|MR|Test|E|Lead 19412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019413|119413|989898|1|9999019413|MR|Test|E|Lead 19413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019414|119414|989898|1|9999019414|MR|Test|E|Lead 19414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019415|119415|989898|1|9999019415|MR|Test|E|Lead 19415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019416|119416|989898|1|9999019416|MR|Test|E|Lead 19416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019417|119417|989898|1|9999019417|MR|Test|E|Lead 19417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019418|119418|989898|1|9999019418|MR|Test|E|Lead 19418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019419|119419|989898|1|9999019419|MR|Test|E|Lead 19419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019420|119420|989898|1|9999019420|MR|Test|E|Lead 19420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019421|119421|989898|1|9999019421|MR|Test|E|Lead 19421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019422|119422|989898|1|9999019422|MR|Test|E|Lead 19422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019423|119423|989898|1|9999019423|MR|Test|E|Lead 19423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019424|119424|989898|1|9999019424|MR|Test|E|Lead 19424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019425|119425|989898|1|9999019425|MR|Test|E|Lead 19425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019426|119426|989898|1|9999019426|MR|Test|E|Lead 19426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019427|119427|989898|1|9999019427|MR|Test|E|Lead 19427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019428|119428|989898|1|9999019428|MR|Test|E|Lead 19428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019429|119429|989898|1|9999019429|MR|Test|E|Lead 19429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019430|119430|989898|1|9999019430|MR|Test|E|Lead 19430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019431|119431|989898|1|9999019431|MR|Test|E|Lead 19431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019432|119432|989898|1|9999019432|MR|Test|E|Lead 19432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019433|119433|989898|1|9999019433|MR|Test|E|Lead 19433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019434|119434|989898|1|9999019434|MR|Test|E|Lead 19434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019435|119435|989898|1|9999019435|MR|Test|E|Lead 19435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019436|119436|989898|1|9999019436|MR|Test|E|Lead 19436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019437|119437|989898|1|9999019437|MR|Test|E|Lead 19437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019438|119438|989898|1|9999019438|MR|Test|E|Lead 19438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019439|119439|989898|1|9999019439|MR|Test|E|Lead 19439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019440|119440|989898|1|9999019440|MR|Test|E|Lead 19440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019441|119441|989898|1|9999019441|MR|Test|E|Lead 19441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019442|119442|989898|1|9999019442|MR|Test|E|Lead 19442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019443|119443|989898|1|9999019443|MR|Test|E|Lead 19443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019444|119444|989898|1|9999019444|MR|Test|E|Lead 19444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019445|119445|989898|1|9999019445|MR|Test|E|Lead 19445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019446|119446|989898|1|9999019446|MR|Test|E|Lead 19446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019447|119447|989898|1|9999019447|MR|Test|E|Lead 19447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019448|119448|989898|1|9999019448|MR|Test|E|Lead 19448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019449|119449|989898|1|9999019449|MR|Test|E|Lead 19449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019450|119450|989898|1|9999019450|MR|Test|E|Lead 19450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019451|119451|989898|1|9999019451|MR|Test|E|Lead 19451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019452|119452|989898|1|9999019452|MR|Test|E|Lead 19452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019453|119453|989898|1|9999019453|MR|Test|E|Lead 19453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019454|119454|989898|1|9999019454|MR|Test|E|Lead 19454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019455|119455|989898|1|9999019455|MR|Test|E|Lead 19455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019456|119456|989898|1|9999019456|MR|Test|E|Lead 19456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019457|119457|989898|1|9999019457|MR|Test|E|Lead 19457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019458|119458|989898|1|9999019458|MR|Test|E|Lead 19458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019459|119459|989898|1|9999019459|MR|Test|E|Lead 19459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019460|119460|989898|1|9999019460|MR|Test|E|Lead 19460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019461|119461|989898|1|9999019461|MR|Test|E|Lead 19461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019462|119462|989898|1|9999019462|MR|Test|E|Lead 19462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019463|119463|989898|1|9999019463|MR|Test|E|Lead 19463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019464|119464|989898|1|9999019464|MR|Test|E|Lead 19464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019465|119465|989898|1|9999019465|MR|Test|E|Lead 19465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019466|119466|989898|1|9999019466|MR|Test|E|Lead 19466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019467|119467|989898|1|9999019467|MR|Test|E|Lead 19467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019468|119468|989898|1|9999019468|MR|Test|E|Lead 19468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019469|119469|989898|1|9999019469|MR|Test|E|Lead 19469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019470|119470|989898|1|9999019470|MR|Test|E|Lead 19470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019471|119471|989898|1|9999019471|MR|Test|E|Lead 19471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019472|119472|989898|1|9999019472|MR|Test|E|Lead 19472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019473|119473|989898|1|9999019473|MR|Test|E|Lead 19473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019474|119474|989898|1|9999019474|MR|Test|E|Lead 19474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019475|119475|989898|1|9999019475|MR|Test|E|Lead 19475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019476|119476|989898|1|9999019476|MR|Test|E|Lead 19476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019477|119477|989898|1|9999019477|MR|Test|E|Lead 19477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019478|119478|989898|1|9999019478|MR|Test|E|Lead 19478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019479|119479|989898|1|9999019479|MR|Test|E|Lead 19479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019480|119480|989898|1|9999019480|MR|Test|E|Lead 19480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019481|119481|989898|1|9999019481|MR|Test|E|Lead 19481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019482|119482|989898|1|9999019482|MR|Test|E|Lead 19482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019483|119483|989898|1|9999019483|MR|Test|E|Lead 19483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019484|119484|989898|1|9999019484|MR|Test|E|Lead 19484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019485|119485|989898|1|9999019485|MR|Test|E|Lead 19485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019486|119486|989898|1|9999019486|MR|Test|E|Lead 19486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019487|119487|989898|1|9999019487|MR|Test|E|Lead 19487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019488|119488|989898|1|9999019488|MR|Test|E|Lead 19488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019489|119489|989898|1|9999019489|MR|Test|E|Lead 19489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019490|119490|989898|1|9999019490|MR|Test|E|Lead 19490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019491|119491|989898|1|9999019491|MR|Test|E|Lead 19491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019492|119492|989898|1|9999019492|MR|Test|E|Lead 19492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019493|119493|989898|1|9999019493|MR|Test|E|Lead 19493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019494|119494|989898|1|9999019494|MR|Test|E|Lead 19494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019495|119495|989898|1|9999019495|MR|Test|E|Lead 19495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019496|119496|989898|1|9999019496|MR|Test|E|Lead 19496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019497|119497|989898|1|9999019497|MR|Test|E|Lead 19497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019498|119498|989898|1|9999019498|MR|Test|E|Lead 19498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019499|119499|989898|1|9999019499|MR|Test|E|Lead 19499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019500|119500|989898|1|9999019500|MR|Test|E|Lead 19500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019501|119501|989898|1|9999019501|MR|Test|E|Lead 19501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019502|119502|989898|1|9999019502|MR|Test|E|Lead 19502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019503|119503|989898|1|9999019503|MR|Test|E|Lead 19503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019504|119504|989898|1|9999019504|MR|Test|E|Lead 19504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019505|119505|989898|1|9999019505|MR|Test|E|Lead 19505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019506|119506|989898|1|9999019506|MR|Test|E|Lead 19506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019507|119507|989898|1|9999019507|MR|Test|E|Lead 19507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019508|119508|989898|1|9999019508|MR|Test|E|Lead 19508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019509|119509|989898|1|9999019509|MR|Test|E|Lead 19509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019510|119510|989898|1|9999019510|MR|Test|E|Lead 19510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019511|119511|989898|1|9999019511|MR|Test|E|Lead 19511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019512|119512|989898|1|9999019512|MR|Test|E|Lead 19512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019513|119513|989898|1|9999019513|MR|Test|E|Lead 19513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019514|119514|989898|1|9999019514|MR|Test|E|Lead 19514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019515|119515|989898|1|9999019515|MR|Test|E|Lead 19515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019516|119516|989898|1|9999019516|MR|Test|E|Lead 19516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019517|119517|989898|1|9999019517|MR|Test|E|Lead 19517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019518|119518|989898|1|9999019518|MR|Test|E|Lead 19518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019519|119519|989898|1|9999019519|MR|Test|E|Lead 19519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019520|119520|989898|1|9999019520|MR|Test|E|Lead 19520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019521|119521|989898|1|9999019521|MR|Test|E|Lead 19521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019522|119522|989898|1|9999019522|MR|Test|E|Lead 19522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019523|119523|989898|1|9999019523|MR|Test|E|Lead 19523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019524|119524|989898|1|9999019524|MR|Test|E|Lead 19524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019525|119525|989898|1|9999019525|MR|Test|E|Lead 19525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019526|119526|989898|1|9999019526|MR|Test|E|Lead 19526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019527|119527|989898|1|9999019527|MR|Test|E|Lead 19527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019528|119528|989898|1|9999019528|MR|Test|E|Lead 19528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019529|119529|989898|1|9999019529|MR|Test|E|Lead 19529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019530|119530|989898|1|9999019530|MR|Test|E|Lead 19530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019531|119531|989898|1|9999019531|MR|Test|E|Lead 19531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019532|119532|989898|1|9999019532|MR|Test|E|Lead 19532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019533|119533|989898|1|9999019533|MR|Test|E|Lead 19533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019534|119534|989898|1|9999019534|MR|Test|E|Lead 19534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019535|119535|989898|1|9999019535|MR|Test|E|Lead 19535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019536|119536|989898|1|9999019536|MR|Test|E|Lead 19536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019537|119537|989898|1|9999019537|MR|Test|E|Lead 19537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019538|119538|989898|1|9999019538|MR|Test|E|Lead 19538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019539|119539|989898|1|9999019539|MR|Test|E|Lead 19539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019540|119540|989898|1|9999019540|MR|Test|E|Lead 19540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019541|119541|989898|1|9999019541|MR|Test|E|Lead 19541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019542|119542|989898|1|9999019542|MR|Test|E|Lead 19542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019543|119543|989898|1|9999019543|MR|Test|E|Lead 19543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019544|119544|989898|1|9999019544|MR|Test|E|Lead 19544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019545|119545|989898|1|9999019545|MR|Test|E|Lead 19545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019546|119546|989898|1|9999019546|MR|Test|E|Lead 19546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019547|119547|989898|1|9999019547|MR|Test|E|Lead 19547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019548|119548|989898|1|9999019548|MR|Test|E|Lead 19548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019549|119549|989898|1|9999019549|MR|Test|E|Lead 19549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019550|119550|989898|1|9999019550|MR|Test|E|Lead 19550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019551|119551|989898|1|9999019551|MR|Test|E|Lead 19551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019552|119552|989898|1|9999019552|MR|Test|E|Lead 19552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019553|119553|989898|1|9999019553|MR|Test|E|Lead 19553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019554|119554|989898|1|9999019554|MR|Test|E|Lead 19554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019555|119555|989898|1|9999019555|MR|Test|E|Lead 19555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019556|119556|989898|1|9999019556|MR|Test|E|Lead 19556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019557|119557|989898|1|9999019557|MR|Test|E|Lead 19557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019558|119558|989898|1|9999019558|MR|Test|E|Lead 19558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019559|119559|989898|1|9999019559|MR|Test|E|Lead 19559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019560|119560|989898|1|9999019560|MR|Test|E|Lead 19560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019561|119561|989898|1|9999019561|MR|Test|E|Lead 19561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019562|119562|989898|1|9999019562|MR|Test|E|Lead 19562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019563|119563|989898|1|9999019563|MR|Test|E|Lead 19563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019564|119564|989898|1|9999019564|MR|Test|E|Lead 19564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019565|119565|989898|1|9999019565|MR|Test|E|Lead 19565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019566|119566|989898|1|9999019566|MR|Test|E|Lead 19566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019567|119567|989898|1|9999019567|MR|Test|E|Lead 19567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019568|119568|989898|1|9999019568|MR|Test|E|Lead 19568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019569|119569|989898|1|9999019569|MR|Test|E|Lead 19569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019570|119570|989898|1|9999019570|MR|Test|E|Lead 19570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019571|119571|989898|1|9999019571|MR|Test|E|Lead 19571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019572|119572|989898|1|9999019572|MR|Test|E|Lead 19572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019573|119573|989898|1|9999019573|MR|Test|E|Lead 19573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019574|119574|989898|1|9999019574|MR|Test|E|Lead 19574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019575|119575|989898|1|9999019575|MR|Test|E|Lead 19575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019576|119576|989898|1|9999019576|MR|Test|E|Lead 19576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019577|119577|989898|1|9999019577|MR|Test|E|Lead 19577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019578|119578|989898|1|9999019578|MR|Test|E|Lead 19578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019579|119579|989898|1|9999019579|MR|Test|E|Lead 19579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019580|119580|989898|1|9999019580|MR|Test|E|Lead 19580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019581|119581|989898|1|9999019581|MR|Test|E|Lead 19581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019582|119582|989898|1|9999019582|MR|Test|E|Lead 19582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019583|119583|989898|1|9999019583|MR|Test|E|Lead 19583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019584|119584|989898|1|9999019584|MR|Test|E|Lead 19584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019585|119585|989898|1|9999019585|MR|Test|E|Lead 19585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019586|119586|989898|1|9999019586|MR|Test|E|Lead 19586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019587|119587|989898|1|9999019587|MR|Test|E|Lead 19587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019588|119588|989898|1|9999019588|MR|Test|E|Lead 19588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019589|119589|989898|1|9999019589|MR|Test|E|Lead 19589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019590|119590|989898|1|9999019590|MR|Test|E|Lead 19590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019591|119591|989898|1|9999019591|MR|Test|E|Lead 19591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019592|119592|989898|1|9999019592|MR|Test|E|Lead 19592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019593|119593|989898|1|9999019593|MR|Test|E|Lead 19593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019594|119594|989898|1|9999019594|MR|Test|E|Lead 19594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019595|119595|989898|1|9999019595|MR|Test|E|Lead 19595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019596|119596|989898|1|9999019596|MR|Test|E|Lead 19596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019597|119597|989898|1|9999019597|MR|Test|E|Lead 19597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019598|119598|989898|1|9999019598|MR|Test|E|Lead 19598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019599|119599|989898|1|9999019599|MR|Test|E|Lead 19599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019600|119600|989898|1|9999019600|MR|Test|E|Lead 19600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019601|119601|989898|1|9999019601|MR|Test|E|Lead 19601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019602|119602|989898|1|9999019602|MR|Test|E|Lead 19602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019603|119603|989898|1|9999019603|MR|Test|E|Lead 19603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019604|119604|989898|1|9999019604|MR|Test|E|Lead 19604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019605|119605|989898|1|9999019605|MR|Test|E|Lead 19605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019606|119606|989898|1|9999019606|MR|Test|E|Lead 19606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019607|119607|989898|1|9999019607|MR|Test|E|Lead 19607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019608|119608|989898|1|9999019608|MR|Test|E|Lead 19608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019609|119609|989898|1|9999019609|MR|Test|E|Lead 19609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019610|119610|989898|1|9999019610|MR|Test|E|Lead 19610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019611|119611|989898|1|9999019611|MR|Test|E|Lead 19611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019612|119612|989898|1|9999019612|MR|Test|E|Lead 19612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019613|119613|989898|1|9999019613|MR|Test|E|Lead 19613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019614|119614|989898|1|9999019614|MR|Test|E|Lead 19614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019615|119615|989898|1|9999019615|MR|Test|E|Lead 19615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019616|119616|989898|1|9999019616|MR|Test|E|Lead 19616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019617|119617|989898|1|9999019617|MR|Test|E|Lead 19617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019618|119618|989898|1|9999019618|MR|Test|E|Lead 19618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019619|119619|989898|1|9999019619|MR|Test|E|Lead 19619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019620|119620|989898|1|9999019620|MR|Test|E|Lead 19620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019621|119621|989898|1|9999019621|MR|Test|E|Lead 19621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019622|119622|989898|1|9999019622|MR|Test|E|Lead 19622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019623|119623|989898|1|9999019623|MR|Test|E|Lead 19623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019624|119624|989898|1|9999019624|MR|Test|E|Lead 19624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019625|119625|989898|1|9999019625|MR|Test|E|Lead 19625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019626|119626|989898|1|9999019626|MR|Test|E|Lead 19626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019627|119627|989898|1|9999019627|MR|Test|E|Lead 19627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019628|119628|989898|1|9999019628|MR|Test|E|Lead 19628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019629|119629|989898|1|9999019629|MR|Test|E|Lead 19629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019630|119630|989898|1|9999019630|MR|Test|E|Lead 19630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019631|119631|989898|1|9999019631|MR|Test|E|Lead 19631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019632|119632|989898|1|9999019632|MR|Test|E|Lead 19632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019633|119633|989898|1|9999019633|MR|Test|E|Lead 19633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019634|119634|989898|1|9999019634|MR|Test|E|Lead 19634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019635|119635|989898|1|9999019635|MR|Test|E|Lead 19635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019636|119636|989898|1|9999019636|MR|Test|E|Lead 19636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019637|119637|989898|1|9999019637|MR|Test|E|Lead 19637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019638|119638|989898|1|9999019638|MR|Test|E|Lead 19638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019639|119639|989898|1|9999019639|MR|Test|E|Lead 19639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019640|119640|989898|1|9999019640|MR|Test|E|Lead 19640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019641|119641|989898|1|9999019641|MR|Test|E|Lead 19641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019642|119642|989898|1|9999019642|MR|Test|E|Lead 19642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019643|119643|989898|1|9999019643|MR|Test|E|Lead 19643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019644|119644|989898|1|9999019644|MR|Test|E|Lead 19644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019645|119645|989898|1|9999019645|MR|Test|E|Lead 19645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019646|119646|989898|1|9999019646|MR|Test|E|Lead 19646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019647|119647|989898|1|9999019647|MR|Test|E|Lead 19647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019648|119648|989898|1|9999019648|MR|Test|E|Lead 19648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019649|119649|989898|1|9999019649|MR|Test|E|Lead 19649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019650|119650|989898|1|9999019650|MR|Test|E|Lead 19650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019651|119651|989898|1|9999019651|MR|Test|E|Lead 19651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019652|119652|989898|1|9999019652|MR|Test|E|Lead 19652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019653|119653|989898|1|9999019653|MR|Test|E|Lead 19653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019654|119654|989898|1|9999019654|MR|Test|E|Lead 19654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019655|119655|989898|1|9999019655|MR|Test|E|Lead 19655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019656|119656|989898|1|9999019656|MR|Test|E|Lead 19656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019657|119657|989898|1|9999019657|MR|Test|E|Lead 19657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019658|119658|989898|1|9999019658|MR|Test|E|Lead 19658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019659|119659|989898|1|9999019659|MR|Test|E|Lead 19659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019660|119660|989898|1|9999019660|MR|Test|E|Lead 19660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019661|119661|989898|1|9999019661|MR|Test|E|Lead 19661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019662|119662|989898|1|9999019662|MR|Test|E|Lead 19662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019663|119663|989898|1|9999019663|MR|Test|E|Lead 19663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019664|119664|989898|1|9999019664|MR|Test|E|Lead 19664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019665|119665|989898|1|9999019665|MR|Test|E|Lead 19665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019666|119666|989898|1|9999019666|MR|Test|E|Lead 19666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019667|119667|989898|1|9999019667|MR|Test|E|Lead 19667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019668|119668|989898|1|9999019668|MR|Test|E|Lead 19668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019669|119669|989898|1|9999019669|MR|Test|E|Lead 19669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019670|119670|989898|1|9999019670|MR|Test|E|Lead 19670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019671|119671|989898|1|9999019671|MR|Test|E|Lead 19671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019672|119672|989898|1|9999019672|MR|Test|E|Lead 19672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019673|119673|989898|1|9999019673|MR|Test|E|Lead 19673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019674|119674|989898|1|9999019674|MR|Test|E|Lead 19674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019675|119675|989898|1|9999019675|MR|Test|E|Lead 19675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019676|119676|989898|1|9999019676|MR|Test|E|Lead 19676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019677|119677|989898|1|9999019677|MR|Test|E|Lead 19677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019678|119678|989898|1|9999019678|MR|Test|E|Lead 19678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019679|119679|989898|1|9999019679|MR|Test|E|Lead 19679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019680|119680|989898|1|9999019680|MR|Test|E|Lead 19680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019681|119681|989898|1|9999019681|MR|Test|E|Lead 19681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019682|119682|989898|1|9999019682|MR|Test|E|Lead 19682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019683|119683|989898|1|9999019683|MR|Test|E|Lead 19683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019684|119684|989898|1|9999019684|MR|Test|E|Lead 19684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019685|119685|989898|1|9999019685|MR|Test|E|Lead 19685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019686|119686|989898|1|9999019686|MR|Test|E|Lead 19686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019687|119687|989898|1|9999019687|MR|Test|E|Lead 19687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019688|119688|989898|1|9999019688|MR|Test|E|Lead 19688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019689|119689|989898|1|9999019689|MR|Test|E|Lead 19689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019690|119690|989898|1|9999019690|MR|Test|E|Lead 19690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019691|119691|989898|1|9999019691|MR|Test|E|Lead 19691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019692|119692|989898|1|9999019692|MR|Test|E|Lead 19692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019693|119693|989898|1|9999019693|MR|Test|E|Lead 19693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019694|119694|989898|1|9999019694|MR|Test|E|Lead 19694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019695|119695|989898|1|9999019695|MR|Test|E|Lead 19695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019696|119696|989898|1|9999019696|MR|Test|E|Lead 19696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019697|119697|989898|1|9999019697|MR|Test|E|Lead 19697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019698|119698|989898|1|9999019698|MR|Test|E|Lead 19698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019699|119699|989898|1|9999019699|MR|Test|E|Lead 19699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019700|119700|989898|1|9999019700|MR|Test|E|Lead 19700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019701|119701|989898|1|9999019701|MR|Test|E|Lead 19701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019702|119702|989898|1|9999019702|MR|Test|E|Lead 19702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019703|119703|989898|1|9999019703|MR|Test|E|Lead 19703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019704|119704|989898|1|9999019704|MR|Test|E|Lead 19704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019705|119705|989898|1|9999019705|MR|Test|E|Lead 19705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019706|119706|989898|1|9999019706|MR|Test|E|Lead 19706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019707|119707|989898|1|9999019707|MR|Test|E|Lead 19707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019708|119708|989898|1|9999019708|MR|Test|E|Lead 19708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019709|119709|989898|1|9999019709|MR|Test|E|Lead 19709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019710|119710|989898|1|9999019710|MR|Test|E|Lead 19710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019711|119711|989898|1|9999019711|MR|Test|E|Lead 19711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019712|119712|989898|1|9999019712|MR|Test|E|Lead 19712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019713|119713|989898|1|9999019713|MR|Test|E|Lead 19713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019714|119714|989898|1|9999019714|MR|Test|E|Lead 19714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019715|119715|989898|1|9999019715|MR|Test|E|Lead 19715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019716|119716|989898|1|9999019716|MR|Test|E|Lead 19716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019717|119717|989898|1|9999019717|MR|Test|E|Lead 19717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019718|119718|989898|1|9999019718|MR|Test|E|Lead 19718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019719|119719|989898|1|9999019719|MR|Test|E|Lead 19719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019720|119720|989898|1|9999019720|MR|Test|E|Lead 19720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019721|119721|989898|1|9999019721|MR|Test|E|Lead 19721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019722|119722|989898|1|9999019722|MR|Test|E|Lead 19722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019723|119723|989898|1|9999019723|MR|Test|E|Lead 19723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019724|119724|989898|1|9999019724|MR|Test|E|Lead 19724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019725|119725|989898|1|9999019725|MR|Test|E|Lead 19725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019726|119726|989898|1|9999019726|MR|Test|E|Lead 19726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019727|119727|989898|1|9999019727|MR|Test|E|Lead 19727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019728|119728|989898|1|9999019728|MR|Test|E|Lead 19728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019729|119729|989898|1|9999019729|MR|Test|E|Lead 19729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019730|119730|989898|1|9999019730|MR|Test|E|Lead 19730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019731|119731|989898|1|9999019731|MR|Test|E|Lead 19731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019732|119732|989898|1|9999019732|MR|Test|E|Lead 19732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019733|119733|989898|1|9999019733|MR|Test|E|Lead 19733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019734|119734|989898|1|9999019734|MR|Test|E|Lead 19734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019735|119735|989898|1|9999019735|MR|Test|E|Lead 19735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019736|119736|989898|1|9999019736|MR|Test|E|Lead 19736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019737|119737|989898|1|9999019737|MR|Test|E|Lead 19737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019738|119738|989898|1|9999019738|MR|Test|E|Lead 19738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019739|119739|989898|1|9999019739|MR|Test|E|Lead 19739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019740|119740|989898|1|9999019740|MR|Test|E|Lead 19740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019741|119741|989898|1|9999019741|MR|Test|E|Lead 19741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019742|119742|989898|1|9999019742|MR|Test|E|Lead 19742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019743|119743|989898|1|9999019743|MR|Test|E|Lead 19743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019744|119744|989898|1|9999019744|MR|Test|E|Lead 19744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019745|119745|989898|1|9999019745|MR|Test|E|Lead 19745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019746|119746|989898|1|9999019746|MR|Test|E|Lead 19746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019747|119747|989898|1|9999019747|MR|Test|E|Lead 19747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019748|119748|989898|1|9999019748|MR|Test|E|Lead 19748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019749|119749|989898|1|9999019749|MR|Test|E|Lead 19749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019750|119750|989898|1|9999019750|MR|Test|E|Lead 19750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019751|119751|989898|1|9999019751|MR|Test|E|Lead 19751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019752|119752|989898|1|9999019752|MR|Test|E|Lead 19752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019753|119753|989898|1|9999019753|MR|Test|E|Lead 19753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019754|119754|989898|1|9999019754|MR|Test|E|Lead 19754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019755|119755|989898|1|9999019755|MR|Test|E|Lead 19755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019756|119756|989898|1|9999019756|MR|Test|E|Lead 19756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019757|119757|989898|1|9999019757|MR|Test|E|Lead 19757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019758|119758|989898|1|9999019758|MR|Test|E|Lead 19758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019759|119759|989898|1|9999019759|MR|Test|E|Lead 19759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019760|119760|989898|1|9999019760|MR|Test|E|Lead 19760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019761|119761|989898|1|9999019761|MR|Test|E|Lead 19761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019762|119762|989898|1|9999019762|MR|Test|E|Lead 19762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019763|119763|989898|1|9999019763|MR|Test|E|Lead 19763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019764|119764|989898|1|9999019764|MR|Test|E|Lead 19764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019765|119765|989898|1|9999019765|MR|Test|E|Lead 19765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019766|119766|989898|1|9999019766|MR|Test|E|Lead 19766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019767|119767|989898|1|9999019767|MR|Test|E|Lead 19767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019768|119768|989898|1|9999019768|MR|Test|E|Lead 19768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019769|119769|989898|1|9999019769|MR|Test|E|Lead 19769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019770|119770|989898|1|9999019770|MR|Test|E|Lead 19770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019771|119771|989898|1|9999019771|MR|Test|E|Lead 19771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019772|119772|989898|1|9999019772|MR|Test|E|Lead 19772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019773|119773|989898|1|9999019773|MR|Test|E|Lead 19773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019774|119774|989898|1|9999019774|MR|Test|E|Lead 19774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019775|119775|989898|1|9999019775|MR|Test|E|Lead 19775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019776|119776|989898|1|9999019776|MR|Test|E|Lead 19776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019777|119777|989898|1|9999019777|MR|Test|E|Lead 19777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019778|119778|989898|1|9999019778|MR|Test|E|Lead 19778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019779|119779|989898|1|9999019779|MR|Test|E|Lead 19779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019780|119780|989898|1|9999019780|MR|Test|E|Lead 19780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019781|119781|989898|1|9999019781|MR|Test|E|Lead 19781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019782|119782|989898|1|9999019782|MR|Test|E|Lead 19782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019783|119783|989898|1|9999019783|MR|Test|E|Lead 19783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019784|119784|989898|1|9999019784|MR|Test|E|Lead 19784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019785|119785|989898|1|9999019785|MR|Test|E|Lead 19785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019786|119786|989898|1|9999019786|MR|Test|E|Lead 19786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019787|119787|989898|1|9999019787|MR|Test|E|Lead 19787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019788|119788|989898|1|9999019788|MR|Test|E|Lead 19788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019789|119789|989898|1|9999019789|MR|Test|E|Lead 19789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019790|119790|989898|1|9999019790|MR|Test|E|Lead 19790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019791|119791|989898|1|9999019791|MR|Test|E|Lead 19791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019792|119792|989898|1|9999019792|MR|Test|E|Lead 19792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019793|119793|989898|1|9999019793|MR|Test|E|Lead 19793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019794|119794|989898|1|9999019794|MR|Test|E|Lead 19794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019795|119795|989898|1|9999019795|MR|Test|E|Lead 19795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019796|119796|989898|1|9999019796|MR|Test|E|Lead 19796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019797|119797|989898|1|9999019797|MR|Test|E|Lead 19797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019798|119798|989898|1|9999019798|MR|Test|E|Lead 19798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019799|119799|989898|1|9999019799|MR|Test|E|Lead 19799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019800|119800|989898|1|9999019800|MR|Test|E|Lead 19800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019801|119801|989898|1|9999019801|MR|Test|E|Lead 19801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019802|119802|989898|1|9999019802|MR|Test|E|Lead 19802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019803|119803|989898|1|9999019803|MR|Test|E|Lead 19803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019804|119804|989898|1|9999019804|MR|Test|E|Lead 19804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019805|119805|989898|1|9999019805|MR|Test|E|Lead 19805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019806|119806|989898|1|9999019806|MR|Test|E|Lead 19806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019807|119807|989898|1|9999019807|MR|Test|E|Lead 19807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019808|119808|989898|1|9999019808|MR|Test|E|Lead 19808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019809|119809|989898|1|9999019809|MR|Test|E|Lead 19809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019810|119810|989898|1|9999019810|MR|Test|E|Lead 19810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019811|119811|989898|1|9999019811|MR|Test|E|Lead 19811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019812|119812|989898|1|9999019812|MR|Test|E|Lead 19812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019813|119813|989898|1|9999019813|MR|Test|E|Lead 19813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019814|119814|989898|1|9999019814|MR|Test|E|Lead 19814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019815|119815|989898|1|9999019815|MR|Test|E|Lead 19815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019816|119816|989898|1|9999019816|MR|Test|E|Lead 19816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019817|119817|989898|1|9999019817|MR|Test|E|Lead 19817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019818|119818|989898|1|9999019818|MR|Test|E|Lead 19818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019819|119819|989898|1|9999019819|MR|Test|E|Lead 19819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019820|119820|989898|1|9999019820|MR|Test|E|Lead 19820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019821|119821|989898|1|9999019821|MR|Test|E|Lead 19821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019822|119822|989898|1|9999019822|MR|Test|E|Lead 19822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019823|119823|989898|1|9999019823|MR|Test|E|Lead 19823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019824|119824|989898|1|9999019824|MR|Test|E|Lead 19824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019825|119825|989898|1|9999019825|MR|Test|E|Lead 19825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019826|119826|989898|1|9999019826|MR|Test|E|Lead 19826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019827|119827|989898|1|9999019827|MR|Test|E|Lead 19827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019828|119828|989898|1|9999019828|MR|Test|E|Lead 19828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019829|119829|989898|1|9999019829|MR|Test|E|Lead 19829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019830|119830|989898|1|9999019830|MR|Test|E|Lead 19830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019831|119831|989898|1|9999019831|MR|Test|E|Lead 19831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019832|119832|989898|1|9999019832|MR|Test|E|Lead 19832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019833|119833|989898|1|9999019833|MR|Test|E|Lead 19833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019834|119834|989898|1|9999019834|MR|Test|E|Lead 19834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019835|119835|989898|1|9999019835|MR|Test|E|Lead 19835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019836|119836|989898|1|9999019836|MR|Test|E|Lead 19836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019837|119837|989898|1|9999019837|MR|Test|E|Lead 19837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019838|119838|989898|1|9999019838|MR|Test|E|Lead 19838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019839|119839|989898|1|9999019839|MR|Test|E|Lead 19839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019840|119840|989898|1|9999019840|MR|Test|E|Lead 19840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019841|119841|989898|1|9999019841|MR|Test|E|Lead 19841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019842|119842|989898|1|9999019842|MR|Test|E|Lead 19842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019843|119843|989898|1|9999019843|MR|Test|E|Lead 19843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019844|119844|989898|1|9999019844|MR|Test|E|Lead 19844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019845|119845|989898|1|9999019845|MR|Test|E|Lead 19845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019846|119846|989898|1|9999019846|MR|Test|E|Lead 19846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019847|119847|989898|1|9999019847|MR|Test|E|Lead 19847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019848|119848|989898|1|9999019848|MR|Test|E|Lead 19848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019849|119849|989898|1|9999019849|MR|Test|E|Lead 19849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019850|119850|989898|1|9999019850|MR|Test|E|Lead 19850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019851|119851|989898|1|9999019851|MR|Test|E|Lead 19851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019852|119852|989898|1|9999019852|MR|Test|E|Lead 19852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019853|119853|989898|1|9999019853|MR|Test|E|Lead 19853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019854|119854|989898|1|9999019854|MR|Test|E|Lead 19854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019855|119855|989898|1|9999019855|MR|Test|E|Lead 19855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019856|119856|989898|1|9999019856|MR|Test|E|Lead 19856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019857|119857|989898|1|9999019857|MR|Test|E|Lead 19857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019858|119858|989898|1|9999019858|MR|Test|E|Lead 19858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019859|119859|989898|1|9999019859|MR|Test|E|Lead 19859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019860|119860|989898|1|9999019860|MR|Test|E|Lead 19860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019861|119861|989898|1|9999019861|MR|Test|E|Lead 19861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019862|119862|989898|1|9999019862|MR|Test|E|Lead 19862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019863|119863|989898|1|9999019863|MR|Test|E|Lead 19863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019864|119864|989898|1|9999019864|MR|Test|E|Lead 19864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019865|119865|989898|1|9999019865|MR|Test|E|Lead 19865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019866|119866|989898|1|9999019866|MR|Test|E|Lead 19866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019867|119867|989898|1|9999019867|MR|Test|E|Lead 19867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019868|119868|989898|1|9999019868|MR|Test|E|Lead 19868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019869|119869|989898|1|9999019869|MR|Test|E|Lead 19869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019870|119870|989898|1|9999019870|MR|Test|E|Lead 19870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019871|119871|989898|1|9999019871|MR|Test|E|Lead 19871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019872|119872|989898|1|9999019872|MR|Test|E|Lead 19872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019873|119873|989898|1|9999019873|MR|Test|E|Lead 19873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019874|119874|989898|1|9999019874|MR|Test|E|Lead 19874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019875|119875|989898|1|9999019875|MR|Test|E|Lead 19875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019876|119876|989898|1|9999019876|MR|Test|E|Lead 19876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019877|119877|989898|1|9999019877|MR|Test|E|Lead 19877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019878|119878|989898|1|9999019878|MR|Test|E|Lead 19878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019879|119879|989898|1|9999019879|MR|Test|E|Lead 19879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019880|119880|989898|1|9999019880|MR|Test|E|Lead 19880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019881|119881|989898|1|9999019881|MR|Test|E|Lead 19881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019882|119882|989898|1|9999019882|MR|Test|E|Lead 19882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019883|119883|989898|1|9999019883|MR|Test|E|Lead 19883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019884|119884|989898|1|9999019884|MR|Test|E|Lead 19884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019885|119885|989898|1|9999019885|MR|Test|E|Lead 19885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019886|119886|989898|1|9999019886|MR|Test|E|Lead 19886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019887|119887|989898|1|9999019887|MR|Test|E|Lead 19887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019888|119888|989898|1|9999019888|MR|Test|E|Lead 19888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019889|119889|989898|1|9999019889|MR|Test|E|Lead 19889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019890|119890|989898|1|9999019890|MR|Test|E|Lead 19890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019891|119891|989898|1|9999019891|MR|Test|E|Lead 19891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019892|119892|989898|1|9999019892|MR|Test|E|Lead 19892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019893|119893|989898|1|9999019893|MR|Test|E|Lead 19893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019894|119894|989898|1|9999019894|MR|Test|E|Lead 19894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019895|119895|989898|1|9999019895|MR|Test|E|Lead 19895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019896|119896|989898|1|9999019896|MR|Test|E|Lead 19896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019897|119897|989898|1|9999019897|MR|Test|E|Lead 19897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019898|119898|989898|1|9999019898|MR|Test|E|Lead 19898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019899|119899|989898|1|9999019899|MR|Test|E|Lead 19899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019900|119900|989898|1|9999019900|MR|Test|E|Lead 19900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019901|119901|989898|1|9999019901|MR|Test|E|Lead 19901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019902|119902|989898|1|9999019902|MR|Test|E|Lead 19902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019903|119903|989898|1|9999019903|MR|Test|E|Lead 19903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019904|119904|989898|1|9999019904|MR|Test|E|Lead 19904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019905|119905|989898|1|9999019905|MR|Test|E|Lead 19905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019906|119906|989898|1|9999019906|MR|Test|E|Lead 19906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019907|119907|989898|1|9999019907|MR|Test|E|Lead 19907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019908|119908|989898|1|9999019908|MR|Test|E|Lead 19908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019909|119909|989898|1|9999019909|MR|Test|E|Lead 19909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019910|119910|989898|1|9999019910|MR|Test|E|Lead 19910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019911|119911|989898|1|9999019911|MR|Test|E|Lead 19911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019912|119912|989898|1|9999019912|MR|Test|E|Lead 19912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019913|119913|989898|1|9999019913|MR|Test|E|Lead 19913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019914|119914|989898|1|9999019914|MR|Test|E|Lead 19914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019915|119915|989898|1|9999019915|MR|Test|E|Lead 19915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019916|119916|989898|1|9999019916|MR|Test|E|Lead 19916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019917|119917|989898|1|9999019917|MR|Test|E|Lead 19917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019918|119918|989898|1|9999019918|MR|Test|E|Lead 19918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019919|119919|989898|1|9999019919|MR|Test|E|Lead 19919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019920|119920|989898|1|9999019920|MR|Test|E|Lead 19920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019921|119921|989898|1|9999019921|MR|Test|E|Lead 19921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019922|119922|989898|1|9999019922|MR|Test|E|Lead 19922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019923|119923|989898|1|9999019923|MR|Test|E|Lead 19923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019924|119924|989898|1|9999019924|MR|Test|E|Lead 19924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019925|119925|989898|1|9999019925|MR|Test|E|Lead 19925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019926|119926|989898|1|9999019926|MR|Test|E|Lead 19926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019927|119927|989898|1|9999019927|MR|Test|E|Lead 19927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019928|119928|989898|1|9999019928|MR|Test|E|Lead 19928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019929|119929|989898|1|9999019929|MR|Test|E|Lead 19929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019930|119930|989898|1|9999019930|MR|Test|E|Lead 19930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019931|119931|989898|1|9999019931|MR|Test|E|Lead 19931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019932|119932|989898|1|9999019932|MR|Test|E|Lead 19932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019933|119933|989898|1|9999019933|MR|Test|E|Lead 19933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019934|119934|989898|1|9999019934|MR|Test|E|Lead 19934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019935|119935|989898|1|9999019935|MR|Test|E|Lead 19935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019936|119936|989898|1|9999019936|MR|Test|E|Lead 19936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019937|119937|989898|1|9999019937|MR|Test|E|Lead 19937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019938|119938|989898|1|9999019938|MR|Test|E|Lead 19938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019939|119939|989898|1|9999019939|MR|Test|E|Lead 19939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019940|119940|989898|1|9999019940|MR|Test|E|Lead 19940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019941|119941|989898|1|9999019941|MR|Test|E|Lead 19941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019942|119942|989898|1|9999019942|MR|Test|E|Lead 19942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019943|119943|989898|1|9999019943|MR|Test|E|Lead 19943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019944|119944|989898|1|9999019944|MR|Test|E|Lead 19944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019945|119945|989898|1|9999019945|MR|Test|E|Lead 19945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019946|119946|989898|1|9999019946|MR|Test|E|Lead 19946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019947|119947|989898|1|9999019947|MR|Test|E|Lead 19947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019948|119948|989898|1|9999019948|MR|Test|E|Lead 19948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019949|119949|989898|1|9999019949|MR|Test|E|Lead 19949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019950|119950|989898|1|9999019950|MR|Test|E|Lead 19950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019951|119951|989898|1|9999019951|MR|Test|E|Lead 19951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019952|119952|989898|1|9999019952|MR|Test|E|Lead 19952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019953|119953|989898|1|9999019953|MR|Test|E|Lead 19953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019954|119954|989898|1|9999019954|MR|Test|E|Lead 19954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019955|119955|989898|1|9999019955|MR|Test|E|Lead 19955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019956|119956|989898|1|9999019956|MR|Test|E|Lead 19956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019957|119957|989898|1|9999019957|MR|Test|E|Lead 19957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019958|119958|989898|1|9999019958|MR|Test|E|Lead 19958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019959|119959|989898|1|9999019959|MR|Test|E|Lead 19959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019960|119960|989898|1|9999019960|MR|Test|E|Lead 19960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019961|119961|989898|1|9999019961|MR|Test|E|Lead 19961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019962|119962|989898|1|9999019962|MR|Test|E|Lead 19962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019963|119963|989898|1|9999019963|MR|Test|E|Lead 19963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019964|119964|989898|1|9999019964|MR|Test|E|Lead 19964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019965|119965|989898|1|9999019965|MR|Test|E|Lead 19965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019966|119966|989898|1|9999019966|MR|Test|E|Lead 19966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019967|119967|989898|1|9999019967|MR|Test|E|Lead 19967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019968|119968|989898|1|9999019968|MR|Test|E|Lead 19968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019969|119969|989898|1|9999019969|MR|Test|E|Lead 19969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019970|119970|989898|1|9999019970|MR|Test|E|Lead 19970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019971|119971|989898|1|9999019971|MR|Test|E|Lead 19971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019972|119972|989898|1|9999019972|MR|Test|E|Lead 19972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019973|119973|989898|1|9999019973|MR|Test|E|Lead 19973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019974|119974|989898|1|9999019974|MR|Test|E|Lead 19974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019975|119975|989898|1|9999019975|MR|Test|E|Lead 19975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019976|119976|989898|1|9999019976|MR|Test|E|Lead 19976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019977|119977|989898|1|9999019977|MR|Test|E|Lead 19977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019978|119978|989898|1|9999019978|MR|Test|E|Lead 19978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019979|119979|989898|1|9999019979|MR|Test|E|Lead 19979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019980|119980|989898|1|9999019980|MR|Test|E|Lead 19980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019981|119981|989898|1|9999019981|MR|Test|E|Lead 19981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019982|119982|989898|1|9999019982|MR|Test|E|Lead 19982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019983|119983|989898|1|9999019983|MR|Test|E|Lead 19983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019984|119984|989898|1|9999019984|MR|Test|E|Lead 19984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019985|119985|989898|1|9999019985|MR|Test|E|Lead 19985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019986|119986|989898|1|9999019986|MR|Test|E|Lead 19986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019987|119987|989898|1|9999019987|MR|Test|E|Lead 19987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019988|119988|989898|1|9999019988|MR|Test|E|Lead 19988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019989|119989|989898|1|9999019989|MR|Test|E|Lead 19989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019990|119990|989898|1|9999019990|MR|Test|E|Lead 19990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019991|119991|989898|1|9999019991|MR|Test|E|Lead 19991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019992|119992|989898|1|9999019992|MR|Test|E|Lead 19992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019993|119993|989898|1|9999019993|MR|Test|E|Lead 19993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019994|119994|989898|1|9999019994|MR|Test|E|Lead 19994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019995|119995|989898|1|9999019995|MR|Test|E|Lead 19995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019996|119996|989898|1|9999019996|MR|Test|E|Lead 19996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019997|119997|989898|1|9999019997|MR|Test|E|Lead 19997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019998|119998|989898|1|9999019998|MR|Test|E|Lead 19998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1019999|119999|989898|1|9999019999|MR|Test|E|Lead 19999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020000|120000|989898|1|9999020000|MR|Test|E|Lead 20000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020001|120001|989898|1|9999020001|MR|Test|E|Lead 20001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020002|120002|989898|1|9999020002|MR|Test|E|Lead 20002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020003|120003|989898|1|9999020003|MR|Test|E|Lead 20003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020004|120004|989898|1|9999020004|MR|Test|E|Lead 20004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020005|120005|989898|1|9999020005|MR|Test|E|Lead 20005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020006|120006|989898|1|9999020006|MR|Test|E|Lead 20006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020007|120007|989898|1|9999020007|MR|Test|E|Lead 20007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020008|120008|989898|1|9999020008|MR|Test|E|Lead 20008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020009|120009|989898|1|9999020009|MR|Test|E|Lead 20009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020010|120010|989898|1|9999020010|MR|Test|E|Lead 20010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020011|120011|989898|1|9999020011|MR|Test|E|Lead 20011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020012|120012|989898|1|9999020012|MR|Test|E|Lead 20012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020013|120013|989898|1|9999020013|MR|Test|E|Lead 20013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020014|120014|989898|1|9999020014|MR|Test|E|Lead 20014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020015|120015|989898|1|9999020015|MR|Test|E|Lead 20015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020016|120016|989898|1|9999020016|MR|Test|E|Lead 20016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020017|120017|989898|1|9999020017|MR|Test|E|Lead 20017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020018|120018|989898|1|9999020018|MR|Test|E|Lead 20018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020019|120019|989898|1|9999020019|MR|Test|E|Lead 20019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020020|120020|989898|1|9999020020|MR|Test|E|Lead 20020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020021|120021|989898|1|9999020021|MR|Test|E|Lead 20021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020022|120022|989898|1|9999020022|MR|Test|E|Lead 20022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020023|120023|989898|1|9999020023|MR|Test|E|Lead 20023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020024|120024|989898|1|9999020024|MR|Test|E|Lead 20024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020025|120025|989898|1|9999020025|MR|Test|E|Lead 20025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020026|120026|989898|1|9999020026|MR|Test|E|Lead 20026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020027|120027|989898|1|9999020027|MR|Test|E|Lead 20027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020028|120028|989898|1|9999020028|MR|Test|E|Lead 20028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020029|120029|989898|1|9999020029|MR|Test|E|Lead 20029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020030|120030|989898|1|9999020030|MR|Test|E|Lead 20030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020031|120031|989898|1|9999020031|MR|Test|E|Lead 20031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020032|120032|989898|1|9999020032|MR|Test|E|Lead 20032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020033|120033|989898|1|9999020033|MR|Test|E|Lead 20033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020034|120034|989898|1|9999020034|MR|Test|E|Lead 20034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020035|120035|989898|1|9999020035|MR|Test|E|Lead 20035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020036|120036|989898|1|9999020036|MR|Test|E|Lead 20036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020037|120037|989898|1|9999020037|MR|Test|E|Lead 20037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020038|120038|989898|1|9999020038|MR|Test|E|Lead 20038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020039|120039|989898|1|9999020039|MR|Test|E|Lead 20039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020040|120040|989898|1|9999020040|MR|Test|E|Lead 20040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020041|120041|989898|1|9999020041|MR|Test|E|Lead 20041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020042|120042|989898|1|9999020042|MR|Test|E|Lead 20042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020043|120043|989898|1|9999020043|MR|Test|E|Lead 20043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020044|120044|989898|1|9999020044|MR|Test|E|Lead 20044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020045|120045|989898|1|9999020045|MR|Test|E|Lead 20045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020046|120046|989898|1|9999020046|MR|Test|E|Lead 20046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020047|120047|989898|1|9999020047|MR|Test|E|Lead 20047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020048|120048|989898|1|9999020048|MR|Test|E|Lead 20048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020049|120049|989898|1|9999020049|MR|Test|E|Lead 20049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020050|120050|989898|1|9999020050|MR|Test|E|Lead 20050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020051|120051|989898|1|9999020051|MR|Test|E|Lead 20051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020052|120052|989898|1|9999020052|MR|Test|E|Lead 20052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020053|120053|989898|1|9999020053|MR|Test|E|Lead 20053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020054|120054|989898|1|9999020054|MR|Test|E|Lead 20054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020055|120055|989898|1|9999020055|MR|Test|E|Lead 20055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020056|120056|989898|1|9999020056|MR|Test|E|Lead 20056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020057|120057|989898|1|9999020057|MR|Test|E|Lead 20057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020058|120058|989898|1|9999020058|MR|Test|E|Lead 20058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020059|120059|989898|1|9999020059|MR|Test|E|Lead 20059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020060|120060|989898|1|9999020060|MR|Test|E|Lead 20060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020061|120061|989898|1|9999020061|MR|Test|E|Lead 20061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020062|120062|989898|1|9999020062|MR|Test|E|Lead 20062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020063|120063|989898|1|9999020063|MR|Test|E|Lead 20063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020064|120064|989898|1|9999020064|MR|Test|E|Lead 20064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020065|120065|989898|1|9999020065|MR|Test|E|Lead 20065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020066|120066|989898|1|9999020066|MR|Test|E|Lead 20066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020067|120067|989898|1|9999020067|MR|Test|E|Lead 20067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020068|120068|989898|1|9999020068|MR|Test|E|Lead 20068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020069|120069|989898|1|9999020069|MR|Test|E|Lead 20069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020070|120070|989898|1|9999020070|MR|Test|E|Lead 20070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020071|120071|989898|1|9999020071|MR|Test|E|Lead 20071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020072|120072|989898|1|9999020072|MR|Test|E|Lead 20072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020073|120073|989898|1|9999020073|MR|Test|E|Lead 20073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020074|120074|989898|1|9999020074|MR|Test|E|Lead 20074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020075|120075|989898|1|9999020075|MR|Test|E|Lead 20075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020076|120076|989898|1|9999020076|MR|Test|E|Lead 20076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020077|120077|989898|1|9999020077|MR|Test|E|Lead 20077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020078|120078|989898|1|9999020078|MR|Test|E|Lead 20078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020079|120079|989898|1|9999020079|MR|Test|E|Lead 20079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020080|120080|989898|1|9999020080|MR|Test|E|Lead 20080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020081|120081|989898|1|9999020081|MR|Test|E|Lead 20081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020082|120082|989898|1|9999020082|MR|Test|E|Lead 20082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020083|120083|989898|1|9999020083|MR|Test|E|Lead 20083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020084|120084|989898|1|9999020084|MR|Test|E|Lead 20084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020085|120085|989898|1|9999020085|MR|Test|E|Lead 20085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020086|120086|989898|1|9999020086|MR|Test|E|Lead 20086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020087|120087|989898|1|9999020087|MR|Test|E|Lead 20087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020088|120088|989898|1|9999020088|MR|Test|E|Lead 20088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020089|120089|989898|1|9999020089|MR|Test|E|Lead 20089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020090|120090|989898|1|9999020090|MR|Test|E|Lead 20090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020091|120091|989898|1|9999020091|MR|Test|E|Lead 20091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020092|120092|989898|1|9999020092|MR|Test|E|Lead 20092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020093|120093|989898|1|9999020093|MR|Test|E|Lead 20093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020094|120094|989898|1|9999020094|MR|Test|E|Lead 20094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020095|120095|989898|1|9999020095|MR|Test|E|Lead 20095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020096|120096|989898|1|9999020096|MR|Test|E|Lead 20096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020097|120097|989898|1|9999020097|MR|Test|E|Lead 20097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020098|120098|989898|1|9999020098|MR|Test|E|Lead 20098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020099|120099|989898|1|9999020099|MR|Test|E|Lead 20099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020100|120100|989898|1|9999020100|MR|Test|E|Lead 20100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020101|120101|989898|1|9999020101|MR|Test|E|Lead 20101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020102|120102|989898|1|9999020102|MR|Test|E|Lead 20102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020103|120103|989898|1|9999020103|MR|Test|E|Lead 20103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020104|120104|989898|1|9999020104|MR|Test|E|Lead 20104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020105|120105|989898|1|9999020105|MR|Test|E|Lead 20105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020106|120106|989898|1|9999020106|MR|Test|E|Lead 20106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020107|120107|989898|1|9999020107|MR|Test|E|Lead 20107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020108|120108|989898|1|9999020108|MR|Test|E|Lead 20108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020109|120109|989898|1|9999020109|MR|Test|E|Lead 20109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020110|120110|989898|1|9999020110|MR|Test|E|Lead 20110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020111|120111|989898|1|9999020111|MR|Test|E|Lead 20111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020112|120112|989898|1|9999020112|MR|Test|E|Lead 20112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020113|120113|989898|1|9999020113|MR|Test|E|Lead 20113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020114|120114|989898|1|9999020114|MR|Test|E|Lead 20114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020115|120115|989898|1|9999020115|MR|Test|E|Lead 20115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020116|120116|989898|1|9999020116|MR|Test|E|Lead 20116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020117|120117|989898|1|9999020117|MR|Test|E|Lead 20117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020118|120118|989898|1|9999020118|MR|Test|E|Lead 20118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020119|120119|989898|1|9999020119|MR|Test|E|Lead 20119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020120|120120|989898|1|9999020120|MR|Test|E|Lead 20120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020121|120121|989898|1|9999020121|MR|Test|E|Lead 20121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020122|120122|989898|1|9999020122|MR|Test|E|Lead 20122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020123|120123|989898|1|9999020123|MR|Test|E|Lead 20123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020124|120124|989898|1|9999020124|MR|Test|E|Lead 20124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020125|120125|989898|1|9999020125|MR|Test|E|Lead 20125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020126|120126|989898|1|9999020126|MR|Test|E|Lead 20126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020127|120127|989898|1|9999020127|MR|Test|E|Lead 20127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020128|120128|989898|1|9999020128|MR|Test|E|Lead 20128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020129|120129|989898|1|9999020129|MR|Test|E|Lead 20129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020130|120130|989898|1|9999020130|MR|Test|E|Lead 20130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020131|120131|989898|1|9999020131|MR|Test|E|Lead 20131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020132|120132|989898|1|9999020132|MR|Test|E|Lead 20132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020133|120133|989898|1|9999020133|MR|Test|E|Lead 20133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020134|120134|989898|1|9999020134|MR|Test|E|Lead 20134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020135|120135|989898|1|9999020135|MR|Test|E|Lead 20135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020136|120136|989898|1|9999020136|MR|Test|E|Lead 20136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020137|120137|989898|1|9999020137|MR|Test|E|Lead 20137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020138|120138|989898|1|9999020138|MR|Test|E|Lead 20138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020139|120139|989898|1|9999020139|MR|Test|E|Lead 20139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020140|120140|989898|1|9999020140|MR|Test|E|Lead 20140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020141|120141|989898|1|9999020141|MR|Test|E|Lead 20141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020142|120142|989898|1|9999020142|MR|Test|E|Lead 20142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020143|120143|989898|1|9999020143|MR|Test|E|Lead 20143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020144|120144|989898|1|9999020144|MR|Test|E|Lead 20144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020145|120145|989898|1|9999020145|MR|Test|E|Lead 20145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020146|120146|989898|1|9999020146|MR|Test|E|Lead 20146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020147|120147|989898|1|9999020147|MR|Test|E|Lead 20147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020148|120148|989898|1|9999020148|MR|Test|E|Lead 20148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020149|120149|989898|1|9999020149|MR|Test|E|Lead 20149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020150|120150|989898|1|9999020150|MR|Test|E|Lead 20150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020151|120151|989898|1|9999020151|MR|Test|E|Lead 20151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020152|120152|989898|1|9999020152|MR|Test|E|Lead 20152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020153|120153|989898|1|9999020153|MR|Test|E|Lead 20153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020154|120154|989898|1|9999020154|MR|Test|E|Lead 20154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020155|120155|989898|1|9999020155|MR|Test|E|Lead 20155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020156|120156|989898|1|9999020156|MR|Test|E|Lead 20156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020157|120157|989898|1|9999020157|MR|Test|E|Lead 20157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020158|120158|989898|1|9999020158|MR|Test|E|Lead 20158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020159|120159|989898|1|9999020159|MR|Test|E|Lead 20159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020160|120160|989898|1|9999020160|MR|Test|E|Lead 20160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020161|120161|989898|1|9999020161|MR|Test|E|Lead 20161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020162|120162|989898|1|9999020162|MR|Test|E|Lead 20162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020163|120163|989898|1|9999020163|MR|Test|E|Lead 20163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020164|120164|989898|1|9999020164|MR|Test|E|Lead 20164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020165|120165|989898|1|9999020165|MR|Test|E|Lead 20165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020166|120166|989898|1|9999020166|MR|Test|E|Lead 20166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020167|120167|989898|1|9999020167|MR|Test|E|Lead 20167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020168|120168|989898|1|9999020168|MR|Test|E|Lead 20168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020169|120169|989898|1|9999020169|MR|Test|E|Lead 20169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020170|120170|989898|1|9999020170|MR|Test|E|Lead 20170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020171|120171|989898|1|9999020171|MR|Test|E|Lead 20171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020172|120172|989898|1|9999020172|MR|Test|E|Lead 20172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020173|120173|989898|1|9999020173|MR|Test|E|Lead 20173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020174|120174|989898|1|9999020174|MR|Test|E|Lead 20174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020175|120175|989898|1|9999020175|MR|Test|E|Lead 20175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020176|120176|989898|1|9999020176|MR|Test|E|Lead 20176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020177|120177|989898|1|9999020177|MR|Test|E|Lead 20177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020178|120178|989898|1|9999020178|MR|Test|E|Lead 20178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020179|120179|989898|1|9999020179|MR|Test|E|Lead 20179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020180|120180|989898|1|9999020180|MR|Test|E|Lead 20180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020181|120181|989898|1|9999020181|MR|Test|E|Lead 20181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020182|120182|989898|1|9999020182|MR|Test|E|Lead 20182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020183|120183|989898|1|9999020183|MR|Test|E|Lead 20183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020184|120184|989898|1|9999020184|MR|Test|E|Lead 20184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020185|120185|989898|1|9999020185|MR|Test|E|Lead 20185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020186|120186|989898|1|9999020186|MR|Test|E|Lead 20186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020187|120187|989898|1|9999020187|MR|Test|E|Lead 20187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020188|120188|989898|1|9999020188|MR|Test|E|Lead 20188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020189|120189|989898|1|9999020189|MR|Test|E|Lead 20189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020190|120190|989898|1|9999020190|MR|Test|E|Lead 20190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020191|120191|989898|1|9999020191|MR|Test|E|Lead 20191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020192|120192|989898|1|9999020192|MR|Test|E|Lead 20192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020193|120193|989898|1|9999020193|MR|Test|E|Lead 20193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020194|120194|989898|1|9999020194|MR|Test|E|Lead 20194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020195|120195|989898|1|9999020195|MR|Test|E|Lead 20195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020196|120196|989898|1|9999020196|MR|Test|E|Lead 20196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020197|120197|989898|1|9999020197|MR|Test|E|Lead 20197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020198|120198|989898|1|9999020198|MR|Test|E|Lead 20198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020199|120199|989898|1|9999020199|MR|Test|E|Lead 20199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020200|120200|989898|1|9999020200|MR|Test|E|Lead 20200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020201|120201|989898|1|9999020201|MR|Test|E|Lead 20201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020202|120202|989898|1|9999020202|MR|Test|E|Lead 20202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020203|120203|989898|1|9999020203|MR|Test|E|Lead 20203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020204|120204|989898|1|9999020204|MR|Test|E|Lead 20204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020205|120205|989898|1|9999020205|MR|Test|E|Lead 20205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020206|120206|989898|1|9999020206|MR|Test|E|Lead 20206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020207|120207|989898|1|9999020207|MR|Test|E|Lead 20207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020208|120208|989898|1|9999020208|MR|Test|E|Lead 20208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020209|120209|989898|1|9999020209|MR|Test|E|Lead 20209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020210|120210|989898|1|9999020210|MR|Test|E|Lead 20210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020211|120211|989898|1|9999020211|MR|Test|E|Lead 20211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020212|120212|989898|1|9999020212|MR|Test|E|Lead 20212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020213|120213|989898|1|9999020213|MR|Test|E|Lead 20213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020214|120214|989898|1|9999020214|MR|Test|E|Lead 20214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020215|120215|989898|1|9999020215|MR|Test|E|Lead 20215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020216|120216|989898|1|9999020216|MR|Test|E|Lead 20216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020217|120217|989898|1|9999020217|MR|Test|E|Lead 20217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020218|120218|989898|1|9999020218|MR|Test|E|Lead 20218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020219|120219|989898|1|9999020219|MR|Test|E|Lead 20219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020220|120220|989898|1|9999020220|MR|Test|E|Lead 20220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020221|120221|989898|1|9999020221|MR|Test|E|Lead 20221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020222|120222|989898|1|9999020222|MR|Test|E|Lead 20222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020223|120223|989898|1|9999020223|MR|Test|E|Lead 20223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020224|120224|989898|1|9999020224|MR|Test|E|Lead 20224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020225|120225|989898|1|9999020225|MR|Test|E|Lead 20225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020226|120226|989898|1|9999020226|MR|Test|E|Lead 20226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020227|120227|989898|1|9999020227|MR|Test|E|Lead 20227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020228|120228|989898|1|9999020228|MR|Test|E|Lead 20228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020229|120229|989898|1|9999020229|MR|Test|E|Lead 20229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020230|120230|989898|1|9999020230|MR|Test|E|Lead 20230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020231|120231|989898|1|9999020231|MR|Test|E|Lead 20231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020232|120232|989898|1|9999020232|MR|Test|E|Lead 20232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020233|120233|989898|1|9999020233|MR|Test|E|Lead 20233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020234|120234|989898|1|9999020234|MR|Test|E|Lead 20234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020235|120235|989898|1|9999020235|MR|Test|E|Lead 20235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020236|120236|989898|1|9999020236|MR|Test|E|Lead 20236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020237|120237|989898|1|9999020237|MR|Test|E|Lead 20237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020238|120238|989898|1|9999020238|MR|Test|E|Lead 20238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020239|120239|989898|1|9999020239|MR|Test|E|Lead 20239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020240|120240|989898|1|9999020240|MR|Test|E|Lead 20240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020241|120241|989898|1|9999020241|MR|Test|E|Lead 20241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020242|120242|989898|1|9999020242|MR|Test|E|Lead 20242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020243|120243|989898|1|9999020243|MR|Test|E|Lead 20243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020244|120244|989898|1|9999020244|MR|Test|E|Lead 20244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020245|120245|989898|1|9999020245|MR|Test|E|Lead 20245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020246|120246|989898|1|9999020246|MR|Test|E|Lead 20246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020247|120247|989898|1|9999020247|MR|Test|E|Lead 20247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020248|120248|989898|1|9999020248|MR|Test|E|Lead 20248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020249|120249|989898|1|9999020249|MR|Test|E|Lead 20249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020250|120250|989898|1|9999020250|MR|Test|E|Lead 20250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020251|120251|989898|1|9999020251|MR|Test|E|Lead 20251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020252|120252|989898|1|9999020252|MR|Test|E|Lead 20252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020253|120253|989898|1|9999020253|MR|Test|E|Lead 20253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020254|120254|989898|1|9999020254|MR|Test|E|Lead 20254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020255|120255|989898|1|9999020255|MR|Test|E|Lead 20255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020256|120256|989898|1|9999020256|MR|Test|E|Lead 20256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020257|120257|989898|1|9999020257|MR|Test|E|Lead 20257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020258|120258|989898|1|9999020258|MR|Test|E|Lead 20258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020259|120259|989898|1|9999020259|MR|Test|E|Lead 20259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020260|120260|989898|1|9999020260|MR|Test|E|Lead 20260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020261|120261|989898|1|9999020261|MR|Test|E|Lead 20261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020262|120262|989898|1|9999020262|MR|Test|E|Lead 20262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020263|120263|989898|1|9999020263|MR|Test|E|Lead 20263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020264|120264|989898|1|9999020264|MR|Test|E|Lead 20264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020265|120265|989898|1|9999020265|MR|Test|E|Lead 20265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020266|120266|989898|1|9999020266|MR|Test|E|Lead 20266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020267|120267|989898|1|9999020267|MR|Test|E|Lead 20267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020268|120268|989898|1|9999020268|MR|Test|E|Lead 20268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020269|120269|989898|1|9999020269|MR|Test|E|Lead 20269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020270|120270|989898|1|9999020270|MR|Test|E|Lead 20270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020271|120271|989898|1|9999020271|MR|Test|E|Lead 20271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020272|120272|989898|1|9999020272|MR|Test|E|Lead 20272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020273|120273|989898|1|9999020273|MR|Test|E|Lead 20273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020274|120274|989898|1|9999020274|MR|Test|E|Lead 20274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020275|120275|989898|1|9999020275|MR|Test|E|Lead 20275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020276|120276|989898|1|9999020276|MR|Test|E|Lead 20276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020277|120277|989898|1|9999020277|MR|Test|E|Lead 20277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020278|120278|989898|1|9999020278|MR|Test|E|Lead 20278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020279|120279|989898|1|9999020279|MR|Test|E|Lead 20279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020280|120280|989898|1|9999020280|MR|Test|E|Lead 20280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020281|120281|989898|1|9999020281|MR|Test|E|Lead 20281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020282|120282|989898|1|9999020282|MR|Test|E|Lead 20282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020283|120283|989898|1|9999020283|MR|Test|E|Lead 20283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020284|120284|989898|1|9999020284|MR|Test|E|Lead 20284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020285|120285|989898|1|9999020285|MR|Test|E|Lead 20285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020286|120286|989898|1|9999020286|MR|Test|E|Lead 20286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020287|120287|989898|1|9999020287|MR|Test|E|Lead 20287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020288|120288|989898|1|9999020288|MR|Test|E|Lead 20288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020289|120289|989898|1|9999020289|MR|Test|E|Lead 20289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020290|120290|989898|1|9999020290|MR|Test|E|Lead 20290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020291|120291|989898|1|9999020291|MR|Test|E|Lead 20291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020292|120292|989898|1|9999020292|MR|Test|E|Lead 20292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020293|120293|989898|1|9999020293|MR|Test|E|Lead 20293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020294|120294|989898|1|9999020294|MR|Test|E|Lead 20294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020295|120295|989898|1|9999020295|MR|Test|E|Lead 20295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020296|120296|989898|1|9999020296|MR|Test|E|Lead 20296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020297|120297|989898|1|9999020297|MR|Test|E|Lead 20297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020298|120298|989898|1|9999020298|MR|Test|E|Lead 20298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020299|120299|989898|1|9999020299|MR|Test|E|Lead 20299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020300|120300|989898|1|9999020300|MR|Test|E|Lead 20300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020301|120301|989898|1|9999020301|MR|Test|E|Lead 20301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020302|120302|989898|1|9999020302|MR|Test|E|Lead 20302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020303|120303|989898|1|9999020303|MR|Test|E|Lead 20303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020304|120304|989898|1|9999020304|MR|Test|E|Lead 20304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020305|120305|989898|1|9999020305|MR|Test|E|Lead 20305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020306|120306|989898|1|9999020306|MR|Test|E|Lead 20306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020307|120307|989898|1|9999020307|MR|Test|E|Lead 20307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020308|120308|989898|1|9999020308|MR|Test|E|Lead 20308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020309|120309|989898|1|9999020309|MR|Test|E|Lead 20309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020310|120310|989898|1|9999020310|MR|Test|E|Lead 20310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020311|120311|989898|1|9999020311|MR|Test|E|Lead 20311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020312|120312|989898|1|9999020312|MR|Test|E|Lead 20312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020313|120313|989898|1|9999020313|MR|Test|E|Lead 20313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020314|120314|989898|1|9999020314|MR|Test|E|Lead 20314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020315|120315|989898|1|9999020315|MR|Test|E|Lead 20315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020316|120316|989898|1|9999020316|MR|Test|E|Lead 20316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020317|120317|989898|1|9999020317|MR|Test|E|Lead 20317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020318|120318|989898|1|9999020318|MR|Test|E|Lead 20318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020319|120319|989898|1|9999020319|MR|Test|E|Lead 20319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020320|120320|989898|1|9999020320|MR|Test|E|Lead 20320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020321|120321|989898|1|9999020321|MR|Test|E|Lead 20321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020322|120322|989898|1|9999020322|MR|Test|E|Lead 20322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020323|120323|989898|1|9999020323|MR|Test|E|Lead 20323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020324|120324|989898|1|9999020324|MR|Test|E|Lead 20324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020325|120325|989898|1|9999020325|MR|Test|E|Lead 20325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020326|120326|989898|1|9999020326|MR|Test|E|Lead 20326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020327|120327|989898|1|9999020327|MR|Test|E|Lead 20327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020328|120328|989898|1|9999020328|MR|Test|E|Lead 20328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020329|120329|989898|1|9999020329|MR|Test|E|Lead 20329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020330|120330|989898|1|9999020330|MR|Test|E|Lead 20330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020331|120331|989898|1|9999020331|MR|Test|E|Lead 20331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020332|120332|989898|1|9999020332|MR|Test|E|Lead 20332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020333|120333|989898|1|9999020333|MR|Test|E|Lead 20333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020334|120334|989898|1|9999020334|MR|Test|E|Lead 20334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020335|120335|989898|1|9999020335|MR|Test|E|Lead 20335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020336|120336|989898|1|9999020336|MR|Test|E|Lead 20336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020337|120337|989898|1|9999020337|MR|Test|E|Lead 20337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020338|120338|989898|1|9999020338|MR|Test|E|Lead 20338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020339|120339|989898|1|9999020339|MR|Test|E|Lead 20339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020340|120340|989898|1|9999020340|MR|Test|E|Lead 20340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020341|120341|989898|1|9999020341|MR|Test|E|Lead 20341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020342|120342|989898|1|9999020342|MR|Test|E|Lead 20342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020343|120343|989898|1|9999020343|MR|Test|E|Lead 20343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020344|120344|989898|1|9999020344|MR|Test|E|Lead 20344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020345|120345|989898|1|9999020345|MR|Test|E|Lead 20345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020346|120346|989898|1|9999020346|MR|Test|E|Lead 20346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020347|120347|989898|1|9999020347|MR|Test|E|Lead 20347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020348|120348|989898|1|9999020348|MR|Test|E|Lead 20348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020349|120349|989898|1|9999020349|MR|Test|E|Lead 20349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020350|120350|989898|1|9999020350|MR|Test|E|Lead 20350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020351|120351|989898|1|9999020351|MR|Test|E|Lead 20351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020352|120352|989898|1|9999020352|MR|Test|E|Lead 20352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020353|120353|989898|1|9999020353|MR|Test|E|Lead 20353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020354|120354|989898|1|9999020354|MR|Test|E|Lead 20354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020355|120355|989898|1|9999020355|MR|Test|E|Lead 20355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020356|120356|989898|1|9999020356|MR|Test|E|Lead 20356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020357|120357|989898|1|9999020357|MR|Test|E|Lead 20357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020358|120358|989898|1|9999020358|MR|Test|E|Lead 20358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020359|120359|989898|1|9999020359|MR|Test|E|Lead 20359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020360|120360|989898|1|9999020360|MR|Test|E|Lead 20360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020361|120361|989898|1|9999020361|MR|Test|E|Lead 20361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020362|120362|989898|1|9999020362|MR|Test|E|Lead 20362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020363|120363|989898|1|9999020363|MR|Test|E|Lead 20363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020364|120364|989898|1|9999020364|MR|Test|E|Lead 20364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020365|120365|989898|1|9999020365|MR|Test|E|Lead 20365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020366|120366|989898|1|9999020366|MR|Test|E|Lead 20366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020367|120367|989898|1|9999020367|MR|Test|E|Lead 20367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020368|120368|989898|1|9999020368|MR|Test|E|Lead 20368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020369|120369|989898|1|9999020369|MR|Test|E|Lead 20369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020370|120370|989898|1|9999020370|MR|Test|E|Lead 20370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020371|120371|989898|1|9999020371|MR|Test|E|Lead 20371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020372|120372|989898|1|9999020372|MR|Test|E|Lead 20372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020373|120373|989898|1|9999020373|MR|Test|E|Lead 20373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020374|120374|989898|1|9999020374|MR|Test|E|Lead 20374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020375|120375|989898|1|9999020375|MR|Test|E|Lead 20375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020376|120376|989898|1|9999020376|MR|Test|E|Lead 20376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020377|120377|989898|1|9999020377|MR|Test|E|Lead 20377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020378|120378|989898|1|9999020378|MR|Test|E|Lead 20378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020379|120379|989898|1|9999020379|MR|Test|E|Lead 20379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020380|120380|989898|1|9999020380|MR|Test|E|Lead 20380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020381|120381|989898|1|9999020381|MR|Test|E|Lead 20381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020382|120382|989898|1|9999020382|MR|Test|E|Lead 20382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020383|120383|989898|1|9999020383|MR|Test|E|Lead 20383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020384|120384|989898|1|9999020384|MR|Test|E|Lead 20384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020385|120385|989898|1|9999020385|MR|Test|E|Lead 20385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020386|120386|989898|1|9999020386|MR|Test|E|Lead 20386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020387|120387|989898|1|9999020387|MR|Test|E|Lead 20387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020388|120388|989898|1|9999020388|MR|Test|E|Lead 20388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020389|120389|989898|1|9999020389|MR|Test|E|Lead 20389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020390|120390|989898|1|9999020390|MR|Test|E|Lead 20390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020391|120391|989898|1|9999020391|MR|Test|E|Lead 20391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020392|120392|989898|1|9999020392|MR|Test|E|Lead 20392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020393|120393|989898|1|9999020393|MR|Test|E|Lead 20393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020394|120394|989898|1|9999020394|MR|Test|E|Lead 20394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020395|120395|989898|1|9999020395|MR|Test|E|Lead 20395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020396|120396|989898|1|9999020396|MR|Test|E|Lead 20396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020397|120397|989898|1|9999020397|MR|Test|E|Lead 20397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020398|120398|989898|1|9999020398|MR|Test|E|Lead 20398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020399|120399|989898|1|9999020399|MR|Test|E|Lead 20399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020400|120400|989898|1|9999020400|MR|Test|E|Lead 20400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020401|120401|989898|1|9999020401|MR|Test|E|Lead 20401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020402|120402|989898|1|9999020402|MR|Test|E|Lead 20402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020403|120403|989898|1|9999020403|MR|Test|E|Lead 20403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020404|120404|989898|1|9999020404|MR|Test|E|Lead 20404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020405|120405|989898|1|9999020405|MR|Test|E|Lead 20405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020406|120406|989898|1|9999020406|MR|Test|E|Lead 20406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020407|120407|989898|1|9999020407|MR|Test|E|Lead 20407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020408|120408|989898|1|9999020408|MR|Test|E|Lead 20408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020409|120409|989898|1|9999020409|MR|Test|E|Lead 20409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020410|120410|989898|1|9999020410|MR|Test|E|Lead 20410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020411|120411|989898|1|9999020411|MR|Test|E|Lead 20411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020412|120412|989898|1|9999020412|MR|Test|E|Lead 20412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020413|120413|989898|1|9999020413|MR|Test|E|Lead 20413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020414|120414|989898|1|9999020414|MR|Test|E|Lead 20414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020415|120415|989898|1|9999020415|MR|Test|E|Lead 20415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020416|120416|989898|1|9999020416|MR|Test|E|Lead 20416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020417|120417|989898|1|9999020417|MR|Test|E|Lead 20417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020418|120418|989898|1|9999020418|MR|Test|E|Lead 20418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020419|120419|989898|1|9999020419|MR|Test|E|Lead 20419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020420|120420|989898|1|9999020420|MR|Test|E|Lead 20420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020421|120421|989898|1|9999020421|MR|Test|E|Lead 20421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020422|120422|989898|1|9999020422|MR|Test|E|Lead 20422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020423|120423|989898|1|9999020423|MR|Test|E|Lead 20423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020424|120424|989898|1|9999020424|MR|Test|E|Lead 20424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020425|120425|989898|1|9999020425|MR|Test|E|Lead 20425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020426|120426|989898|1|9999020426|MR|Test|E|Lead 20426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020427|120427|989898|1|9999020427|MR|Test|E|Lead 20427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020428|120428|989898|1|9999020428|MR|Test|E|Lead 20428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020429|120429|989898|1|9999020429|MR|Test|E|Lead 20429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020430|120430|989898|1|9999020430|MR|Test|E|Lead 20430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020431|120431|989898|1|9999020431|MR|Test|E|Lead 20431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020432|120432|989898|1|9999020432|MR|Test|E|Lead 20432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020433|120433|989898|1|9999020433|MR|Test|E|Lead 20433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020434|120434|989898|1|9999020434|MR|Test|E|Lead 20434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020435|120435|989898|1|9999020435|MR|Test|E|Lead 20435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020436|120436|989898|1|9999020436|MR|Test|E|Lead 20436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020437|120437|989898|1|9999020437|MR|Test|E|Lead 20437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020438|120438|989898|1|9999020438|MR|Test|E|Lead 20438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020439|120439|989898|1|9999020439|MR|Test|E|Lead 20439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020440|120440|989898|1|9999020440|MR|Test|E|Lead 20440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020441|120441|989898|1|9999020441|MR|Test|E|Lead 20441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020442|120442|989898|1|9999020442|MR|Test|E|Lead 20442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020443|120443|989898|1|9999020443|MR|Test|E|Lead 20443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020444|120444|989898|1|9999020444|MR|Test|E|Lead 20444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020445|120445|989898|1|9999020445|MR|Test|E|Lead 20445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020446|120446|989898|1|9999020446|MR|Test|E|Lead 20446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020447|120447|989898|1|9999020447|MR|Test|E|Lead 20447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020448|120448|989898|1|9999020448|MR|Test|E|Lead 20448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020449|120449|989898|1|9999020449|MR|Test|E|Lead 20449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020450|120450|989898|1|9999020450|MR|Test|E|Lead 20450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020451|120451|989898|1|9999020451|MR|Test|E|Lead 20451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020452|120452|989898|1|9999020452|MR|Test|E|Lead 20452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020453|120453|989898|1|9999020453|MR|Test|E|Lead 20453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020454|120454|989898|1|9999020454|MR|Test|E|Lead 20454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020455|120455|989898|1|9999020455|MR|Test|E|Lead 20455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020456|120456|989898|1|9999020456|MR|Test|E|Lead 20456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020457|120457|989898|1|9999020457|MR|Test|E|Lead 20457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020458|120458|989898|1|9999020458|MR|Test|E|Lead 20458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020459|120459|989898|1|9999020459|MR|Test|E|Lead 20459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020460|120460|989898|1|9999020460|MR|Test|E|Lead 20460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020461|120461|989898|1|9999020461|MR|Test|E|Lead 20461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020462|120462|989898|1|9999020462|MR|Test|E|Lead 20462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020463|120463|989898|1|9999020463|MR|Test|E|Lead 20463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020464|120464|989898|1|9999020464|MR|Test|E|Lead 20464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020465|120465|989898|1|9999020465|MR|Test|E|Lead 20465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020466|120466|989898|1|9999020466|MR|Test|E|Lead 20466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020467|120467|989898|1|9999020467|MR|Test|E|Lead 20467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020468|120468|989898|1|9999020468|MR|Test|E|Lead 20468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020469|120469|989898|1|9999020469|MR|Test|E|Lead 20469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020470|120470|989898|1|9999020470|MR|Test|E|Lead 20470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020471|120471|989898|1|9999020471|MR|Test|E|Lead 20471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020472|120472|989898|1|9999020472|MR|Test|E|Lead 20472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020473|120473|989898|1|9999020473|MR|Test|E|Lead 20473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020474|120474|989898|1|9999020474|MR|Test|E|Lead 20474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020475|120475|989898|1|9999020475|MR|Test|E|Lead 20475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020476|120476|989898|1|9999020476|MR|Test|E|Lead 20476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020477|120477|989898|1|9999020477|MR|Test|E|Lead 20477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020478|120478|989898|1|9999020478|MR|Test|E|Lead 20478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020479|120479|989898|1|9999020479|MR|Test|E|Lead 20479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020480|120480|989898|1|9999020480|MR|Test|E|Lead 20480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020481|120481|989898|1|9999020481|MR|Test|E|Lead 20481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020482|120482|989898|1|9999020482|MR|Test|E|Lead 20482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020483|120483|989898|1|9999020483|MR|Test|E|Lead 20483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020484|120484|989898|1|9999020484|MR|Test|E|Lead 20484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020485|120485|989898|1|9999020485|MR|Test|E|Lead 20485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020486|120486|989898|1|9999020486|MR|Test|E|Lead 20486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020487|120487|989898|1|9999020487|MR|Test|E|Lead 20487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020488|120488|989898|1|9999020488|MR|Test|E|Lead 20488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020489|120489|989898|1|9999020489|MR|Test|E|Lead 20489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020490|120490|989898|1|9999020490|MR|Test|E|Lead 20490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020491|120491|989898|1|9999020491|MR|Test|E|Lead 20491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020492|120492|989898|1|9999020492|MR|Test|E|Lead 20492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020493|120493|989898|1|9999020493|MR|Test|E|Lead 20493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020494|120494|989898|1|9999020494|MR|Test|E|Lead 20494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020495|120495|989898|1|9999020495|MR|Test|E|Lead 20495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020496|120496|989898|1|9999020496|MR|Test|E|Lead 20496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020497|120497|989898|1|9999020497|MR|Test|E|Lead 20497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020498|120498|989898|1|9999020498|MR|Test|E|Lead 20498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020499|120499|989898|1|9999020499|MR|Test|E|Lead 20499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020500|120500|989898|1|9999020500|MR|Test|E|Lead 20500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020501|120501|989898|1|9999020501|MR|Test|E|Lead 20501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020502|120502|989898|1|9999020502|MR|Test|E|Lead 20502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020503|120503|989898|1|9999020503|MR|Test|E|Lead 20503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020504|120504|989898|1|9999020504|MR|Test|E|Lead 20504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020505|120505|989898|1|9999020505|MR|Test|E|Lead 20505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020506|120506|989898|1|9999020506|MR|Test|E|Lead 20506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020507|120507|989898|1|9999020507|MR|Test|E|Lead 20507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020508|120508|989898|1|9999020508|MR|Test|E|Lead 20508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020509|120509|989898|1|9999020509|MR|Test|E|Lead 20509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020510|120510|989898|1|9999020510|MR|Test|E|Lead 20510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020511|120511|989898|1|9999020511|MR|Test|E|Lead 20511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020512|120512|989898|1|9999020512|MR|Test|E|Lead 20512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020513|120513|989898|1|9999020513|MR|Test|E|Lead 20513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020514|120514|989898|1|9999020514|MR|Test|E|Lead 20514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020515|120515|989898|1|9999020515|MR|Test|E|Lead 20515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020516|120516|989898|1|9999020516|MR|Test|E|Lead 20516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020517|120517|989898|1|9999020517|MR|Test|E|Lead 20517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020518|120518|989898|1|9999020518|MR|Test|E|Lead 20518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020519|120519|989898|1|9999020519|MR|Test|E|Lead 20519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020520|120520|989898|1|9999020520|MR|Test|E|Lead 20520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020521|120521|989898|1|9999020521|MR|Test|E|Lead 20521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020522|120522|989898|1|9999020522|MR|Test|E|Lead 20522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020523|120523|989898|1|9999020523|MR|Test|E|Lead 20523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020524|120524|989898|1|9999020524|MR|Test|E|Lead 20524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020525|120525|989898|1|9999020525|MR|Test|E|Lead 20525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020526|120526|989898|1|9999020526|MR|Test|E|Lead 20526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020527|120527|989898|1|9999020527|MR|Test|E|Lead 20527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020528|120528|989898|1|9999020528|MR|Test|E|Lead 20528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020529|120529|989898|1|9999020529|MR|Test|E|Lead 20529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020530|120530|989898|1|9999020530|MR|Test|E|Lead 20530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020531|120531|989898|1|9999020531|MR|Test|E|Lead 20531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020532|120532|989898|1|9999020532|MR|Test|E|Lead 20532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020533|120533|989898|1|9999020533|MR|Test|E|Lead 20533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020534|120534|989898|1|9999020534|MR|Test|E|Lead 20534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020535|120535|989898|1|9999020535|MR|Test|E|Lead 20535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020536|120536|989898|1|9999020536|MR|Test|E|Lead 20536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020537|120537|989898|1|9999020537|MR|Test|E|Lead 20537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020538|120538|989898|1|9999020538|MR|Test|E|Lead 20538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020539|120539|989898|1|9999020539|MR|Test|E|Lead 20539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020540|120540|989898|1|9999020540|MR|Test|E|Lead 20540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020541|120541|989898|1|9999020541|MR|Test|E|Lead 20541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020542|120542|989898|1|9999020542|MR|Test|E|Lead 20542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020543|120543|989898|1|9999020543|MR|Test|E|Lead 20543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020544|120544|989898|1|9999020544|MR|Test|E|Lead 20544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020545|120545|989898|1|9999020545|MR|Test|E|Lead 20545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020546|120546|989898|1|9999020546|MR|Test|E|Lead 20546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020547|120547|989898|1|9999020547|MR|Test|E|Lead 20547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020548|120548|989898|1|9999020548|MR|Test|E|Lead 20548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020549|120549|989898|1|9999020549|MR|Test|E|Lead 20549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020550|120550|989898|1|9999020550|MR|Test|E|Lead 20550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020551|120551|989898|1|9999020551|MR|Test|E|Lead 20551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020552|120552|989898|1|9999020552|MR|Test|E|Lead 20552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020553|120553|989898|1|9999020553|MR|Test|E|Lead 20553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020554|120554|989898|1|9999020554|MR|Test|E|Lead 20554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020555|120555|989898|1|9999020555|MR|Test|E|Lead 20555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020556|120556|989898|1|9999020556|MR|Test|E|Lead 20556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020557|120557|989898|1|9999020557|MR|Test|E|Lead 20557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020558|120558|989898|1|9999020558|MR|Test|E|Lead 20558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020559|120559|989898|1|9999020559|MR|Test|E|Lead 20559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020560|120560|989898|1|9999020560|MR|Test|E|Lead 20560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020561|120561|989898|1|9999020561|MR|Test|E|Lead 20561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020562|120562|989898|1|9999020562|MR|Test|E|Lead 20562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020563|120563|989898|1|9999020563|MR|Test|E|Lead 20563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020564|120564|989898|1|9999020564|MR|Test|E|Lead 20564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020565|120565|989898|1|9999020565|MR|Test|E|Lead 20565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020566|120566|989898|1|9999020566|MR|Test|E|Lead 20566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020567|120567|989898|1|9999020567|MR|Test|E|Lead 20567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020568|120568|989898|1|9999020568|MR|Test|E|Lead 20568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020569|120569|989898|1|9999020569|MR|Test|E|Lead 20569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020570|120570|989898|1|9999020570|MR|Test|E|Lead 20570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020571|120571|989898|1|9999020571|MR|Test|E|Lead 20571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020572|120572|989898|1|9999020572|MR|Test|E|Lead 20572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020573|120573|989898|1|9999020573|MR|Test|E|Lead 20573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020574|120574|989898|1|9999020574|MR|Test|E|Lead 20574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020575|120575|989898|1|9999020575|MR|Test|E|Lead 20575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020576|120576|989898|1|9999020576|MR|Test|E|Lead 20576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020577|120577|989898|1|9999020577|MR|Test|E|Lead 20577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020578|120578|989898|1|9999020578|MR|Test|E|Lead 20578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020579|120579|989898|1|9999020579|MR|Test|E|Lead 20579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020580|120580|989898|1|9999020580|MR|Test|E|Lead 20580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020581|120581|989898|1|9999020581|MR|Test|E|Lead 20581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020582|120582|989898|1|9999020582|MR|Test|E|Lead 20582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020583|120583|989898|1|9999020583|MR|Test|E|Lead 20583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020584|120584|989898|1|9999020584|MR|Test|E|Lead 20584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020585|120585|989898|1|9999020585|MR|Test|E|Lead 20585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020586|120586|989898|1|9999020586|MR|Test|E|Lead 20586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020587|120587|989898|1|9999020587|MR|Test|E|Lead 20587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020588|120588|989898|1|9999020588|MR|Test|E|Lead 20588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020589|120589|989898|1|9999020589|MR|Test|E|Lead 20589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020590|120590|989898|1|9999020590|MR|Test|E|Lead 20590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020591|120591|989898|1|9999020591|MR|Test|E|Lead 20591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020592|120592|989898|1|9999020592|MR|Test|E|Lead 20592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020593|120593|989898|1|9999020593|MR|Test|E|Lead 20593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020594|120594|989898|1|9999020594|MR|Test|E|Lead 20594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020595|120595|989898|1|9999020595|MR|Test|E|Lead 20595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020596|120596|989898|1|9999020596|MR|Test|E|Lead 20596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020597|120597|989898|1|9999020597|MR|Test|E|Lead 20597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020598|120598|989898|1|9999020598|MR|Test|E|Lead 20598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020599|120599|989898|1|9999020599|MR|Test|E|Lead 20599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020600|120600|989898|1|9999020600|MR|Test|E|Lead 20600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020601|120601|989898|1|9999020601|MR|Test|E|Lead 20601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020602|120602|989898|1|9999020602|MR|Test|E|Lead 20602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020603|120603|989898|1|9999020603|MR|Test|E|Lead 20603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020604|120604|989898|1|9999020604|MR|Test|E|Lead 20604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020605|120605|989898|1|9999020605|MR|Test|E|Lead 20605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020606|120606|989898|1|9999020606|MR|Test|E|Lead 20606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020607|120607|989898|1|9999020607|MR|Test|E|Lead 20607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020608|120608|989898|1|9999020608|MR|Test|E|Lead 20608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020609|120609|989898|1|9999020609|MR|Test|E|Lead 20609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020610|120610|989898|1|9999020610|MR|Test|E|Lead 20610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020611|120611|989898|1|9999020611|MR|Test|E|Lead 20611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020612|120612|989898|1|9999020612|MR|Test|E|Lead 20612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020613|120613|989898|1|9999020613|MR|Test|E|Lead 20613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020614|120614|989898|1|9999020614|MR|Test|E|Lead 20614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020615|120615|989898|1|9999020615|MR|Test|E|Lead 20615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020616|120616|989898|1|9999020616|MR|Test|E|Lead 20616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020617|120617|989898|1|9999020617|MR|Test|E|Lead 20617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020618|120618|989898|1|9999020618|MR|Test|E|Lead 20618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020619|120619|989898|1|9999020619|MR|Test|E|Lead 20619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020620|120620|989898|1|9999020620|MR|Test|E|Lead 20620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020621|120621|989898|1|9999020621|MR|Test|E|Lead 20621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020622|120622|989898|1|9999020622|MR|Test|E|Lead 20622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020623|120623|989898|1|9999020623|MR|Test|E|Lead 20623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020624|120624|989898|1|9999020624|MR|Test|E|Lead 20624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020625|120625|989898|1|9999020625|MR|Test|E|Lead 20625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020626|120626|989898|1|9999020626|MR|Test|E|Lead 20626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020627|120627|989898|1|9999020627|MR|Test|E|Lead 20627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020628|120628|989898|1|9999020628|MR|Test|E|Lead 20628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020629|120629|989898|1|9999020629|MR|Test|E|Lead 20629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020630|120630|989898|1|9999020630|MR|Test|E|Lead 20630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020631|120631|989898|1|9999020631|MR|Test|E|Lead 20631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020632|120632|989898|1|9999020632|MR|Test|E|Lead 20632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020633|120633|989898|1|9999020633|MR|Test|E|Lead 20633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020634|120634|989898|1|9999020634|MR|Test|E|Lead 20634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020635|120635|989898|1|9999020635|MR|Test|E|Lead 20635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020636|120636|989898|1|9999020636|MR|Test|E|Lead 20636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020637|120637|989898|1|9999020637|MR|Test|E|Lead 20637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020638|120638|989898|1|9999020638|MR|Test|E|Lead 20638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020639|120639|989898|1|9999020639|MR|Test|E|Lead 20639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020640|120640|989898|1|9999020640|MR|Test|E|Lead 20640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020641|120641|989898|1|9999020641|MR|Test|E|Lead 20641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020642|120642|989898|1|9999020642|MR|Test|E|Lead 20642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020643|120643|989898|1|9999020643|MR|Test|E|Lead 20643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020644|120644|989898|1|9999020644|MR|Test|E|Lead 20644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020645|120645|989898|1|9999020645|MR|Test|E|Lead 20645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020646|120646|989898|1|9999020646|MR|Test|E|Lead 20646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020647|120647|989898|1|9999020647|MR|Test|E|Lead 20647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020648|120648|989898|1|9999020648|MR|Test|E|Lead 20648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020649|120649|989898|1|9999020649|MR|Test|E|Lead 20649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020650|120650|989898|1|9999020650|MR|Test|E|Lead 20650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020651|120651|989898|1|9999020651|MR|Test|E|Lead 20651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020652|120652|989898|1|9999020652|MR|Test|E|Lead 20652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020653|120653|989898|1|9999020653|MR|Test|E|Lead 20653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020654|120654|989898|1|9999020654|MR|Test|E|Lead 20654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020655|120655|989898|1|9999020655|MR|Test|E|Lead 20655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020656|120656|989898|1|9999020656|MR|Test|E|Lead 20656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020657|120657|989898|1|9999020657|MR|Test|E|Lead 20657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020658|120658|989898|1|9999020658|MR|Test|E|Lead 20658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020659|120659|989898|1|9999020659|MR|Test|E|Lead 20659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020660|120660|989898|1|9999020660|MR|Test|E|Lead 20660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020661|120661|989898|1|9999020661|MR|Test|E|Lead 20661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020662|120662|989898|1|9999020662|MR|Test|E|Lead 20662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020663|120663|989898|1|9999020663|MR|Test|E|Lead 20663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020664|120664|989898|1|9999020664|MR|Test|E|Lead 20664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020665|120665|989898|1|9999020665|MR|Test|E|Lead 20665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020666|120666|989898|1|9999020666|MR|Test|E|Lead 20666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020667|120667|989898|1|9999020667|MR|Test|E|Lead 20667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020668|120668|989898|1|9999020668|MR|Test|E|Lead 20668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020669|120669|989898|1|9999020669|MR|Test|E|Lead 20669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020670|120670|989898|1|9999020670|MR|Test|E|Lead 20670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020671|120671|989898|1|9999020671|MR|Test|E|Lead 20671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020672|120672|989898|1|9999020672|MR|Test|E|Lead 20672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020673|120673|989898|1|9999020673|MR|Test|E|Lead 20673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020674|120674|989898|1|9999020674|MR|Test|E|Lead 20674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020675|120675|989898|1|9999020675|MR|Test|E|Lead 20675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020676|120676|989898|1|9999020676|MR|Test|E|Lead 20676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020677|120677|989898|1|9999020677|MR|Test|E|Lead 20677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020678|120678|989898|1|9999020678|MR|Test|E|Lead 20678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020679|120679|989898|1|9999020679|MR|Test|E|Lead 20679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020680|120680|989898|1|9999020680|MR|Test|E|Lead 20680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020681|120681|989898|1|9999020681|MR|Test|E|Lead 20681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020682|120682|989898|1|9999020682|MR|Test|E|Lead 20682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020683|120683|989898|1|9999020683|MR|Test|E|Lead 20683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020684|120684|989898|1|9999020684|MR|Test|E|Lead 20684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020685|120685|989898|1|9999020685|MR|Test|E|Lead 20685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020686|120686|989898|1|9999020686|MR|Test|E|Lead 20686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020687|120687|989898|1|9999020687|MR|Test|E|Lead 20687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020688|120688|989898|1|9999020688|MR|Test|E|Lead 20688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020689|120689|989898|1|9999020689|MR|Test|E|Lead 20689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020690|120690|989898|1|9999020690|MR|Test|E|Lead 20690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020691|120691|989898|1|9999020691|MR|Test|E|Lead 20691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020692|120692|989898|1|9999020692|MR|Test|E|Lead 20692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020693|120693|989898|1|9999020693|MR|Test|E|Lead 20693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020694|120694|989898|1|9999020694|MR|Test|E|Lead 20694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020695|120695|989898|1|9999020695|MR|Test|E|Lead 20695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020696|120696|989898|1|9999020696|MR|Test|E|Lead 20696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020697|120697|989898|1|9999020697|MR|Test|E|Lead 20697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020698|120698|989898|1|9999020698|MR|Test|E|Lead 20698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020699|120699|989898|1|9999020699|MR|Test|E|Lead 20699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020700|120700|989898|1|9999020700|MR|Test|E|Lead 20700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020701|120701|989898|1|9999020701|MR|Test|E|Lead 20701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020702|120702|989898|1|9999020702|MR|Test|E|Lead 20702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020703|120703|989898|1|9999020703|MR|Test|E|Lead 20703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020704|120704|989898|1|9999020704|MR|Test|E|Lead 20704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020705|120705|989898|1|9999020705|MR|Test|E|Lead 20705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020706|120706|989898|1|9999020706|MR|Test|E|Lead 20706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020707|120707|989898|1|9999020707|MR|Test|E|Lead 20707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020708|120708|989898|1|9999020708|MR|Test|E|Lead 20708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020709|120709|989898|1|9999020709|MR|Test|E|Lead 20709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020710|120710|989898|1|9999020710|MR|Test|E|Lead 20710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020711|120711|989898|1|9999020711|MR|Test|E|Lead 20711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020712|120712|989898|1|9999020712|MR|Test|E|Lead 20712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020713|120713|989898|1|9999020713|MR|Test|E|Lead 20713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020714|120714|989898|1|9999020714|MR|Test|E|Lead 20714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020715|120715|989898|1|9999020715|MR|Test|E|Lead 20715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020716|120716|989898|1|9999020716|MR|Test|E|Lead 20716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020717|120717|989898|1|9999020717|MR|Test|E|Lead 20717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020718|120718|989898|1|9999020718|MR|Test|E|Lead 20718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020719|120719|989898|1|9999020719|MR|Test|E|Lead 20719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020720|120720|989898|1|9999020720|MR|Test|E|Lead 20720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020721|120721|989898|1|9999020721|MR|Test|E|Lead 20721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020722|120722|989898|1|9999020722|MR|Test|E|Lead 20722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020723|120723|989898|1|9999020723|MR|Test|E|Lead 20723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020724|120724|989898|1|9999020724|MR|Test|E|Lead 20724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020725|120725|989898|1|9999020725|MR|Test|E|Lead 20725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020726|120726|989898|1|9999020726|MR|Test|E|Lead 20726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020727|120727|989898|1|9999020727|MR|Test|E|Lead 20727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020728|120728|989898|1|9999020728|MR|Test|E|Lead 20728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020729|120729|989898|1|9999020729|MR|Test|E|Lead 20729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020730|120730|989898|1|9999020730|MR|Test|E|Lead 20730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020731|120731|989898|1|9999020731|MR|Test|E|Lead 20731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020732|120732|989898|1|9999020732|MR|Test|E|Lead 20732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020733|120733|989898|1|9999020733|MR|Test|E|Lead 20733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020734|120734|989898|1|9999020734|MR|Test|E|Lead 20734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020735|120735|989898|1|9999020735|MR|Test|E|Lead 20735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020736|120736|989898|1|9999020736|MR|Test|E|Lead 20736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020737|120737|989898|1|9999020737|MR|Test|E|Lead 20737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020738|120738|989898|1|9999020738|MR|Test|E|Lead 20738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020739|120739|989898|1|9999020739|MR|Test|E|Lead 20739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020740|120740|989898|1|9999020740|MR|Test|E|Lead 20740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020741|120741|989898|1|9999020741|MR|Test|E|Lead 20741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020742|120742|989898|1|9999020742|MR|Test|E|Lead 20742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020743|120743|989898|1|9999020743|MR|Test|E|Lead 20743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020744|120744|989898|1|9999020744|MR|Test|E|Lead 20744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020745|120745|989898|1|9999020745|MR|Test|E|Lead 20745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020746|120746|989898|1|9999020746|MR|Test|E|Lead 20746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020747|120747|989898|1|9999020747|MR|Test|E|Lead 20747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020748|120748|989898|1|9999020748|MR|Test|E|Lead 20748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020749|120749|989898|1|9999020749|MR|Test|E|Lead 20749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020750|120750|989898|1|9999020750|MR|Test|E|Lead 20750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020751|120751|989898|1|9999020751|MR|Test|E|Lead 20751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020752|120752|989898|1|9999020752|MR|Test|E|Lead 20752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020753|120753|989898|1|9999020753|MR|Test|E|Lead 20753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020754|120754|989898|1|9999020754|MR|Test|E|Lead 20754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020755|120755|989898|1|9999020755|MR|Test|E|Lead 20755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020756|120756|989898|1|9999020756|MR|Test|E|Lead 20756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020757|120757|989898|1|9999020757|MR|Test|E|Lead 20757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020758|120758|989898|1|9999020758|MR|Test|E|Lead 20758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020759|120759|989898|1|9999020759|MR|Test|E|Lead 20759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020760|120760|989898|1|9999020760|MR|Test|E|Lead 20760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020761|120761|989898|1|9999020761|MR|Test|E|Lead 20761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020762|120762|989898|1|9999020762|MR|Test|E|Lead 20762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020763|120763|989898|1|9999020763|MR|Test|E|Lead 20763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020764|120764|989898|1|9999020764|MR|Test|E|Lead 20764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020765|120765|989898|1|9999020765|MR|Test|E|Lead 20765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020766|120766|989898|1|9999020766|MR|Test|E|Lead 20766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020767|120767|989898|1|9999020767|MR|Test|E|Lead 20767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020768|120768|989898|1|9999020768|MR|Test|E|Lead 20768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020769|120769|989898|1|9999020769|MR|Test|E|Lead 20769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020770|120770|989898|1|9999020770|MR|Test|E|Lead 20770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020771|120771|989898|1|9999020771|MR|Test|E|Lead 20771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020772|120772|989898|1|9999020772|MR|Test|E|Lead 20772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020773|120773|989898|1|9999020773|MR|Test|E|Lead 20773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020774|120774|989898|1|9999020774|MR|Test|E|Lead 20774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020775|120775|989898|1|9999020775|MR|Test|E|Lead 20775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020776|120776|989898|1|9999020776|MR|Test|E|Lead 20776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020777|120777|989898|1|9999020777|MR|Test|E|Lead 20777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020778|120778|989898|1|9999020778|MR|Test|E|Lead 20778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020779|120779|989898|1|9999020779|MR|Test|E|Lead 20779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020780|120780|989898|1|9999020780|MR|Test|E|Lead 20780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020781|120781|989898|1|9999020781|MR|Test|E|Lead 20781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020782|120782|989898|1|9999020782|MR|Test|E|Lead 20782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020783|120783|989898|1|9999020783|MR|Test|E|Lead 20783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020784|120784|989898|1|9999020784|MR|Test|E|Lead 20784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020785|120785|989898|1|9999020785|MR|Test|E|Lead 20785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020786|120786|989898|1|9999020786|MR|Test|E|Lead 20786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020787|120787|989898|1|9999020787|MR|Test|E|Lead 20787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020788|120788|989898|1|9999020788|MR|Test|E|Lead 20788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020789|120789|989898|1|9999020789|MR|Test|E|Lead 20789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020790|120790|989898|1|9999020790|MR|Test|E|Lead 20790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020791|120791|989898|1|9999020791|MR|Test|E|Lead 20791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020792|120792|989898|1|9999020792|MR|Test|E|Lead 20792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020793|120793|989898|1|9999020793|MR|Test|E|Lead 20793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020794|120794|989898|1|9999020794|MR|Test|E|Lead 20794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020795|120795|989898|1|9999020795|MR|Test|E|Lead 20795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020796|120796|989898|1|9999020796|MR|Test|E|Lead 20796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020797|120797|989898|1|9999020797|MR|Test|E|Lead 20797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020798|120798|989898|1|9999020798|MR|Test|E|Lead 20798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020799|120799|989898|1|9999020799|MR|Test|E|Lead 20799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020800|120800|989898|1|9999020800|MR|Test|E|Lead 20800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020801|120801|989898|1|9999020801|MR|Test|E|Lead 20801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020802|120802|989898|1|9999020802|MR|Test|E|Lead 20802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020803|120803|989898|1|9999020803|MR|Test|E|Lead 20803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020804|120804|989898|1|9999020804|MR|Test|E|Lead 20804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020805|120805|989898|1|9999020805|MR|Test|E|Lead 20805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020806|120806|989898|1|9999020806|MR|Test|E|Lead 20806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020807|120807|989898|1|9999020807|MR|Test|E|Lead 20807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020808|120808|989898|1|9999020808|MR|Test|E|Lead 20808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020809|120809|989898|1|9999020809|MR|Test|E|Lead 20809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020810|120810|989898|1|9999020810|MR|Test|E|Lead 20810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020811|120811|989898|1|9999020811|MR|Test|E|Lead 20811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020812|120812|989898|1|9999020812|MR|Test|E|Lead 20812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020813|120813|989898|1|9999020813|MR|Test|E|Lead 20813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020814|120814|989898|1|9999020814|MR|Test|E|Lead 20814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020815|120815|989898|1|9999020815|MR|Test|E|Lead 20815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020816|120816|989898|1|9999020816|MR|Test|E|Lead 20816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020817|120817|989898|1|9999020817|MR|Test|E|Lead 20817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020818|120818|989898|1|9999020818|MR|Test|E|Lead 20818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020819|120819|989898|1|9999020819|MR|Test|E|Lead 20819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020820|120820|989898|1|9999020820|MR|Test|E|Lead 20820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020821|120821|989898|1|9999020821|MR|Test|E|Lead 20821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020822|120822|989898|1|9999020822|MR|Test|E|Lead 20822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020823|120823|989898|1|9999020823|MR|Test|E|Lead 20823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020824|120824|989898|1|9999020824|MR|Test|E|Lead 20824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020825|120825|989898|1|9999020825|MR|Test|E|Lead 20825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020826|120826|989898|1|9999020826|MR|Test|E|Lead 20826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020827|120827|989898|1|9999020827|MR|Test|E|Lead 20827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020828|120828|989898|1|9999020828|MR|Test|E|Lead 20828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020829|120829|989898|1|9999020829|MR|Test|E|Lead 20829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020830|120830|989898|1|9999020830|MR|Test|E|Lead 20830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020831|120831|989898|1|9999020831|MR|Test|E|Lead 20831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020832|120832|989898|1|9999020832|MR|Test|E|Lead 20832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020833|120833|989898|1|9999020833|MR|Test|E|Lead 20833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020834|120834|989898|1|9999020834|MR|Test|E|Lead 20834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020835|120835|989898|1|9999020835|MR|Test|E|Lead 20835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020836|120836|989898|1|9999020836|MR|Test|E|Lead 20836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020837|120837|989898|1|9999020837|MR|Test|E|Lead 20837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020838|120838|989898|1|9999020838|MR|Test|E|Lead 20838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020839|120839|989898|1|9999020839|MR|Test|E|Lead 20839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020840|120840|989898|1|9999020840|MR|Test|E|Lead 20840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020841|120841|989898|1|9999020841|MR|Test|E|Lead 20841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020842|120842|989898|1|9999020842|MR|Test|E|Lead 20842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020843|120843|989898|1|9999020843|MR|Test|E|Lead 20843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020844|120844|989898|1|9999020844|MR|Test|E|Lead 20844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020845|120845|989898|1|9999020845|MR|Test|E|Lead 20845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020846|120846|989898|1|9999020846|MR|Test|E|Lead 20846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020847|120847|989898|1|9999020847|MR|Test|E|Lead 20847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020848|120848|989898|1|9999020848|MR|Test|E|Lead 20848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020849|120849|989898|1|9999020849|MR|Test|E|Lead 20849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020850|120850|989898|1|9999020850|MR|Test|E|Lead 20850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020851|120851|989898|1|9999020851|MR|Test|E|Lead 20851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020852|120852|989898|1|9999020852|MR|Test|E|Lead 20852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020853|120853|989898|1|9999020853|MR|Test|E|Lead 20853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020854|120854|989898|1|9999020854|MR|Test|E|Lead 20854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020855|120855|989898|1|9999020855|MR|Test|E|Lead 20855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020856|120856|989898|1|9999020856|MR|Test|E|Lead 20856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020857|120857|989898|1|9999020857|MR|Test|E|Lead 20857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020858|120858|989898|1|9999020858|MR|Test|E|Lead 20858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020859|120859|989898|1|9999020859|MR|Test|E|Lead 20859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020860|120860|989898|1|9999020860|MR|Test|E|Lead 20860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020861|120861|989898|1|9999020861|MR|Test|E|Lead 20861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020862|120862|989898|1|9999020862|MR|Test|E|Lead 20862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020863|120863|989898|1|9999020863|MR|Test|E|Lead 20863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020864|120864|989898|1|9999020864|MR|Test|E|Lead 20864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020865|120865|989898|1|9999020865|MR|Test|E|Lead 20865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020866|120866|989898|1|9999020866|MR|Test|E|Lead 20866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020867|120867|989898|1|9999020867|MR|Test|E|Lead 20867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020868|120868|989898|1|9999020868|MR|Test|E|Lead 20868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020869|120869|989898|1|9999020869|MR|Test|E|Lead 20869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020870|120870|989898|1|9999020870|MR|Test|E|Lead 20870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020871|120871|989898|1|9999020871|MR|Test|E|Lead 20871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020872|120872|989898|1|9999020872|MR|Test|E|Lead 20872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020873|120873|989898|1|9999020873|MR|Test|E|Lead 20873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020874|120874|989898|1|9999020874|MR|Test|E|Lead 20874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020875|120875|989898|1|9999020875|MR|Test|E|Lead 20875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020876|120876|989898|1|9999020876|MR|Test|E|Lead 20876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020877|120877|989898|1|9999020877|MR|Test|E|Lead 20877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020878|120878|989898|1|9999020878|MR|Test|E|Lead 20878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020879|120879|989898|1|9999020879|MR|Test|E|Lead 20879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020880|120880|989898|1|9999020880|MR|Test|E|Lead 20880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020881|120881|989898|1|9999020881|MR|Test|E|Lead 20881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020882|120882|989898|1|9999020882|MR|Test|E|Lead 20882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020883|120883|989898|1|9999020883|MR|Test|E|Lead 20883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020884|120884|989898|1|9999020884|MR|Test|E|Lead 20884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020885|120885|989898|1|9999020885|MR|Test|E|Lead 20885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020886|120886|989898|1|9999020886|MR|Test|E|Lead 20886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020887|120887|989898|1|9999020887|MR|Test|E|Lead 20887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020888|120888|989898|1|9999020888|MR|Test|E|Lead 20888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020889|120889|989898|1|9999020889|MR|Test|E|Lead 20889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020890|120890|989898|1|9999020890|MR|Test|E|Lead 20890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020891|120891|989898|1|9999020891|MR|Test|E|Lead 20891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020892|120892|989898|1|9999020892|MR|Test|E|Lead 20892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020893|120893|989898|1|9999020893|MR|Test|E|Lead 20893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020894|120894|989898|1|9999020894|MR|Test|E|Lead 20894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020895|120895|989898|1|9999020895|MR|Test|E|Lead 20895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020896|120896|989898|1|9999020896|MR|Test|E|Lead 20896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020897|120897|989898|1|9999020897|MR|Test|E|Lead 20897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020898|120898|989898|1|9999020898|MR|Test|E|Lead 20898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020899|120899|989898|1|9999020899|MR|Test|E|Lead 20899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020900|120900|989898|1|9999020900|MR|Test|E|Lead 20900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020901|120901|989898|1|9999020901|MR|Test|E|Lead 20901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020902|120902|989898|1|9999020902|MR|Test|E|Lead 20902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020903|120903|989898|1|9999020903|MR|Test|E|Lead 20903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020904|120904|989898|1|9999020904|MR|Test|E|Lead 20904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020905|120905|989898|1|9999020905|MR|Test|E|Lead 20905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020906|120906|989898|1|9999020906|MR|Test|E|Lead 20906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020907|120907|989898|1|9999020907|MR|Test|E|Lead 20907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020908|120908|989898|1|9999020908|MR|Test|E|Lead 20908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020909|120909|989898|1|9999020909|MR|Test|E|Lead 20909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020910|120910|989898|1|9999020910|MR|Test|E|Lead 20910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020911|120911|989898|1|9999020911|MR|Test|E|Lead 20911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020912|120912|989898|1|9999020912|MR|Test|E|Lead 20912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020913|120913|989898|1|9999020913|MR|Test|E|Lead 20913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020914|120914|989898|1|9999020914|MR|Test|E|Lead 20914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020915|120915|989898|1|9999020915|MR|Test|E|Lead 20915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020916|120916|989898|1|9999020916|MR|Test|E|Lead 20916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020917|120917|989898|1|9999020917|MR|Test|E|Lead 20917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020918|120918|989898|1|9999020918|MR|Test|E|Lead 20918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020919|120919|989898|1|9999020919|MR|Test|E|Lead 20919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020920|120920|989898|1|9999020920|MR|Test|E|Lead 20920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020921|120921|989898|1|9999020921|MR|Test|E|Lead 20921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020922|120922|989898|1|9999020922|MR|Test|E|Lead 20922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020923|120923|989898|1|9999020923|MR|Test|E|Lead 20923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020924|120924|989898|1|9999020924|MR|Test|E|Lead 20924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020925|120925|989898|1|9999020925|MR|Test|E|Lead 20925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020926|120926|989898|1|9999020926|MR|Test|E|Lead 20926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020927|120927|989898|1|9999020927|MR|Test|E|Lead 20927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020928|120928|989898|1|9999020928|MR|Test|E|Lead 20928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020929|120929|989898|1|9999020929|MR|Test|E|Lead 20929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020930|120930|989898|1|9999020930|MR|Test|E|Lead 20930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020931|120931|989898|1|9999020931|MR|Test|E|Lead 20931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020932|120932|989898|1|9999020932|MR|Test|E|Lead 20932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020933|120933|989898|1|9999020933|MR|Test|E|Lead 20933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020934|120934|989898|1|9999020934|MR|Test|E|Lead 20934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020935|120935|989898|1|9999020935|MR|Test|E|Lead 20935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020936|120936|989898|1|9999020936|MR|Test|E|Lead 20936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020937|120937|989898|1|9999020937|MR|Test|E|Lead 20937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020938|120938|989898|1|9999020938|MR|Test|E|Lead 20938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020939|120939|989898|1|9999020939|MR|Test|E|Lead 20939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020940|120940|989898|1|9999020940|MR|Test|E|Lead 20940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020941|120941|989898|1|9999020941|MR|Test|E|Lead 20941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020942|120942|989898|1|9999020942|MR|Test|E|Lead 20942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020943|120943|989898|1|9999020943|MR|Test|E|Lead 20943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020944|120944|989898|1|9999020944|MR|Test|E|Lead 20944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020945|120945|989898|1|9999020945|MR|Test|E|Lead 20945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020946|120946|989898|1|9999020946|MR|Test|E|Lead 20946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020947|120947|989898|1|9999020947|MR|Test|E|Lead 20947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020948|120948|989898|1|9999020948|MR|Test|E|Lead 20948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020949|120949|989898|1|9999020949|MR|Test|E|Lead 20949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020950|120950|989898|1|9999020950|MR|Test|E|Lead 20950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020951|120951|989898|1|9999020951|MR|Test|E|Lead 20951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020952|120952|989898|1|9999020952|MR|Test|E|Lead 20952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020953|120953|989898|1|9999020953|MR|Test|E|Lead 20953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020954|120954|989898|1|9999020954|MR|Test|E|Lead 20954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020955|120955|989898|1|9999020955|MR|Test|E|Lead 20955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020956|120956|989898|1|9999020956|MR|Test|E|Lead 20956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020957|120957|989898|1|9999020957|MR|Test|E|Lead 20957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020958|120958|989898|1|9999020958|MR|Test|E|Lead 20958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020959|120959|989898|1|9999020959|MR|Test|E|Lead 20959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020960|120960|989898|1|9999020960|MR|Test|E|Lead 20960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020961|120961|989898|1|9999020961|MR|Test|E|Lead 20961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020962|120962|989898|1|9999020962|MR|Test|E|Lead 20962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020963|120963|989898|1|9999020963|MR|Test|E|Lead 20963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020964|120964|989898|1|9999020964|MR|Test|E|Lead 20964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020965|120965|989898|1|9999020965|MR|Test|E|Lead 20965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020966|120966|989898|1|9999020966|MR|Test|E|Lead 20966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020967|120967|989898|1|9999020967|MR|Test|E|Lead 20967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020968|120968|989898|1|9999020968|MR|Test|E|Lead 20968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020969|120969|989898|1|9999020969|MR|Test|E|Lead 20969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020970|120970|989898|1|9999020970|MR|Test|E|Lead 20970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020971|120971|989898|1|9999020971|MR|Test|E|Lead 20971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020972|120972|989898|1|9999020972|MR|Test|E|Lead 20972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020973|120973|989898|1|9999020973|MR|Test|E|Lead 20973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020974|120974|989898|1|9999020974|MR|Test|E|Lead 20974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020975|120975|989898|1|9999020975|MR|Test|E|Lead 20975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020976|120976|989898|1|9999020976|MR|Test|E|Lead 20976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020977|120977|989898|1|9999020977|MR|Test|E|Lead 20977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020978|120978|989898|1|9999020978|MR|Test|E|Lead 20978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020979|120979|989898|1|9999020979|MR|Test|E|Lead 20979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020980|120980|989898|1|9999020980|MR|Test|E|Lead 20980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020981|120981|989898|1|9999020981|MR|Test|E|Lead 20981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020982|120982|989898|1|9999020982|MR|Test|E|Lead 20982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020983|120983|989898|1|9999020983|MR|Test|E|Lead 20983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020984|120984|989898|1|9999020984|MR|Test|E|Lead 20984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020985|120985|989898|1|9999020985|MR|Test|E|Lead 20985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020986|120986|989898|1|9999020986|MR|Test|E|Lead 20986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020987|120987|989898|1|9999020987|MR|Test|E|Lead 20987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020988|120988|989898|1|9999020988|MR|Test|E|Lead 20988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020989|120989|989898|1|9999020989|MR|Test|E|Lead 20989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020990|120990|989898|1|9999020990|MR|Test|E|Lead 20990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020991|120991|989898|1|9999020991|MR|Test|E|Lead 20991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020992|120992|989898|1|9999020992|MR|Test|E|Lead 20992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020993|120993|989898|1|9999020993|MR|Test|E|Lead 20993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020994|120994|989898|1|9999020994|MR|Test|E|Lead 20994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020995|120995|989898|1|9999020995|MR|Test|E|Lead 20995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020996|120996|989898|1|9999020996|MR|Test|E|Lead 20996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020997|120997|989898|1|9999020997|MR|Test|E|Lead 20997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020998|120998|989898|1|9999020998|MR|Test|E|Lead 20998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1020999|120999|989898|1|9999020999|MR|Test|E|Lead 20999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021000|121000|989898|1|9999021000|MR|Test|E|Lead 21000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021001|121001|989898|1|9999021001|MR|Test|E|Lead 21001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021002|121002|989898|1|9999021002|MR|Test|E|Lead 21002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021003|121003|989898|1|9999021003|MR|Test|E|Lead 21003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021004|121004|989898|1|9999021004|MR|Test|E|Lead 21004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021005|121005|989898|1|9999021005|MR|Test|E|Lead 21005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021006|121006|989898|1|9999021006|MR|Test|E|Lead 21006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021007|121007|989898|1|9999021007|MR|Test|E|Lead 21007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021008|121008|989898|1|9999021008|MR|Test|E|Lead 21008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021009|121009|989898|1|9999021009|MR|Test|E|Lead 21009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021010|121010|989898|1|9999021010|MR|Test|E|Lead 21010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021011|121011|989898|1|9999021011|MR|Test|E|Lead 21011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021012|121012|989898|1|9999021012|MR|Test|E|Lead 21012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021013|121013|989898|1|9999021013|MR|Test|E|Lead 21013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021014|121014|989898|1|9999021014|MR|Test|E|Lead 21014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021015|121015|989898|1|9999021015|MR|Test|E|Lead 21015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021016|121016|989898|1|9999021016|MR|Test|E|Lead 21016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021017|121017|989898|1|9999021017|MR|Test|E|Lead 21017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021018|121018|989898|1|9999021018|MR|Test|E|Lead 21018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021019|121019|989898|1|9999021019|MR|Test|E|Lead 21019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021020|121020|989898|1|9999021020|MR|Test|E|Lead 21020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021021|121021|989898|1|9999021021|MR|Test|E|Lead 21021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021022|121022|989898|1|9999021022|MR|Test|E|Lead 21022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021023|121023|989898|1|9999021023|MR|Test|E|Lead 21023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021024|121024|989898|1|9999021024|MR|Test|E|Lead 21024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021025|121025|989898|1|9999021025|MR|Test|E|Lead 21025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021026|121026|989898|1|9999021026|MR|Test|E|Lead 21026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021027|121027|989898|1|9999021027|MR|Test|E|Lead 21027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021028|121028|989898|1|9999021028|MR|Test|E|Lead 21028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021029|121029|989898|1|9999021029|MR|Test|E|Lead 21029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021030|121030|989898|1|9999021030|MR|Test|E|Lead 21030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021031|121031|989898|1|9999021031|MR|Test|E|Lead 21031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021032|121032|989898|1|9999021032|MR|Test|E|Lead 21032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021033|121033|989898|1|9999021033|MR|Test|E|Lead 21033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021034|121034|989898|1|9999021034|MR|Test|E|Lead 21034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021035|121035|989898|1|9999021035|MR|Test|E|Lead 21035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021036|121036|989898|1|9999021036|MR|Test|E|Lead 21036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021037|121037|989898|1|9999021037|MR|Test|E|Lead 21037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021038|121038|989898|1|9999021038|MR|Test|E|Lead 21038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021039|121039|989898|1|9999021039|MR|Test|E|Lead 21039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021040|121040|989898|1|9999021040|MR|Test|E|Lead 21040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021041|121041|989898|1|9999021041|MR|Test|E|Lead 21041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021042|121042|989898|1|9999021042|MR|Test|E|Lead 21042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021043|121043|989898|1|9999021043|MR|Test|E|Lead 21043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021044|121044|989898|1|9999021044|MR|Test|E|Lead 21044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021045|121045|989898|1|9999021045|MR|Test|E|Lead 21045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021046|121046|989898|1|9999021046|MR|Test|E|Lead 21046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021047|121047|989898|1|9999021047|MR|Test|E|Lead 21047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021048|121048|989898|1|9999021048|MR|Test|E|Lead 21048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021049|121049|989898|1|9999021049|MR|Test|E|Lead 21049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021050|121050|989898|1|9999021050|MR|Test|E|Lead 21050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021051|121051|989898|1|9999021051|MR|Test|E|Lead 21051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021052|121052|989898|1|9999021052|MR|Test|E|Lead 21052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021053|121053|989898|1|9999021053|MR|Test|E|Lead 21053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021054|121054|989898|1|9999021054|MR|Test|E|Lead 21054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021055|121055|989898|1|9999021055|MR|Test|E|Lead 21055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021056|121056|989898|1|9999021056|MR|Test|E|Lead 21056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021057|121057|989898|1|9999021057|MR|Test|E|Lead 21057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021058|121058|989898|1|9999021058|MR|Test|E|Lead 21058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021059|121059|989898|1|9999021059|MR|Test|E|Lead 21059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021060|121060|989898|1|9999021060|MR|Test|E|Lead 21060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021061|121061|989898|1|9999021061|MR|Test|E|Lead 21061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021062|121062|989898|1|9999021062|MR|Test|E|Lead 21062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021063|121063|989898|1|9999021063|MR|Test|E|Lead 21063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021064|121064|989898|1|9999021064|MR|Test|E|Lead 21064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021065|121065|989898|1|9999021065|MR|Test|E|Lead 21065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021066|121066|989898|1|9999021066|MR|Test|E|Lead 21066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021067|121067|989898|1|9999021067|MR|Test|E|Lead 21067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021068|121068|989898|1|9999021068|MR|Test|E|Lead 21068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021069|121069|989898|1|9999021069|MR|Test|E|Lead 21069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021070|121070|989898|1|9999021070|MR|Test|E|Lead 21070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021071|121071|989898|1|9999021071|MR|Test|E|Lead 21071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021072|121072|989898|1|9999021072|MR|Test|E|Lead 21072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021073|121073|989898|1|9999021073|MR|Test|E|Lead 21073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021074|121074|989898|1|9999021074|MR|Test|E|Lead 21074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021075|121075|989898|1|9999021075|MR|Test|E|Lead 21075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021076|121076|989898|1|9999021076|MR|Test|E|Lead 21076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021077|121077|989898|1|9999021077|MR|Test|E|Lead 21077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021078|121078|989898|1|9999021078|MR|Test|E|Lead 21078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021079|121079|989898|1|9999021079|MR|Test|E|Lead 21079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021080|121080|989898|1|9999021080|MR|Test|E|Lead 21080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021081|121081|989898|1|9999021081|MR|Test|E|Lead 21081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021082|121082|989898|1|9999021082|MR|Test|E|Lead 21082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021083|121083|989898|1|9999021083|MR|Test|E|Lead 21083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021084|121084|989898|1|9999021084|MR|Test|E|Lead 21084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021085|121085|989898|1|9999021085|MR|Test|E|Lead 21085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021086|121086|989898|1|9999021086|MR|Test|E|Lead 21086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021087|121087|989898|1|9999021087|MR|Test|E|Lead 21087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021088|121088|989898|1|9999021088|MR|Test|E|Lead 21088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021089|121089|989898|1|9999021089|MR|Test|E|Lead 21089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021090|121090|989898|1|9999021090|MR|Test|E|Lead 21090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021091|121091|989898|1|9999021091|MR|Test|E|Lead 21091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021092|121092|989898|1|9999021092|MR|Test|E|Lead 21092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021093|121093|989898|1|9999021093|MR|Test|E|Lead 21093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021094|121094|989898|1|9999021094|MR|Test|E|Lead 21094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021095|121095|989898|1|9999021095|MR|Test|E|Lead 21095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021096|121096|989898|1|9999021096|MR|Test|E|Lead 21096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021097|121097|989898|1|9999021097|MR|Test|E|Lead 21097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021098|121098|989898|1|9999021098|MR|Test|E|Lead 21098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021099|121099|989898|1|9999021099|MR|Test|E|Lead 21099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021100|121100|989898|1|9999021100|MR|Test|E|Lead 21100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021101|121101|989898|1|9999021101|MR|Test|E|Lead 21101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021102|121102|989898|1|9999021102|MR|Test|E|Lead 21102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021103|121103|989898|1|9999021103|MR|Test|E|Lead 21103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021104|121104|989898|1|9999021104|MR|Test|E|Lead 21104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021105|121105|989898|1|9999021105|MR|Test|E|Lead 21105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021106|121106|989898|1|9999021106|MR|Test|E|Lead 21106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021107|121107|989898|1|9999021107|MR|Test|E|Lead 21107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021108|121108|989898|1|9999021108|MR|Test|E|Lead 21108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021109|121109|989898|1|9999021109|MR|Test|E|Lead 21109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021110|121110|989898|1|9999021110|MR|Test|E|Lead 21110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021111|121111|989898|1|9999021111|MR|Test|E|Lead 21111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021112|121112|989898|1|9999021112|MR|Test|E|Lead 21112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021113|121113|989898|1|9999021113|MR|Test|E|Lead 21113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021114|121114|989898|1|9999021114|MR|Test|E|Lead 21114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021115|121115|989898|1|9999021115|MR|Test|E|Lead 21115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021116|121116|989898|1|9999021116|MR|Test|E|Lead 21116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021117|121117|989898|1|9999021117|MR|Test|E|Lead 21117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021118|121118|989898|1|9999021118|MR|Test|E|Lead 21118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021119|121119|989898|1|9999021119|MR|Test|E|Lead 21119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021120|121120|989898|1|9999021120|MR|Test|E|Lead 21120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021121|121121|989898|1|9999021121|MR|Test|E|Lead 21121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021122|121122|989898|1|9999021122|MR|Test|E|Lead 21122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021123|121123|989898|1|9999021123|MR|Test|E|Lead 21123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021124|121124|989898|1|9999021124|MR|Test|E|Lead 21124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021125|121125|989898|1|9999021125|MR|Test|E|Lead 21125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021126|121126|989898|1|9999021126|MR|Test|E|Lead 21126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021127|121127|989898|1|9999021127|MR|Test|E|Lead 21127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021128|121128|989898|1|9999021128|MR|Test|E|Lead 21128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021129|121129|989898|1|9999021129|MR|Test|E|Lead 21129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021130|121130|989898|1|9999021130|MR|Test|E|Lead 21130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021131|121131|989898|1|9999021131|MR|Test|E|Lead 21131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021132|121132|989898|1|9999021132|MR|Test|E|Lead 21132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021133|121133|989898|1|9999021133|MR|Test|E|Lead 21133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021134|121134|989898|1|9999021134|MR|Test|E|Lead 21134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021135|121135|989898|1|9999021135|MR|Test|E|Lead 21135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021136|121136|989898|1|9999021136|MR|Test|E|Lead 21136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021137|121137|989898|1|9999021137|MR|Test|E|Lead 21137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021138|121138|989898|1|9999021138|MR|Test|E|Lead 21138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021139|121139|989898|1|9999021139|MR|Test|E|Lead 21139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021140|121140|989898|1|9999021140|MR|Test|E|Lead 21140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021141|121141|989898|1|9999021141|MR|Test|E|Lead 21141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021142|121142|989898|1|9999021142|MR|Test|E|Lead 21142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021143|121143|989898|1|9999021143|MR|Test|E|Lead 21143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021144|121144|989898|1|9999021144|MR|Test|E|Lead 21144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021145|121145|989898|1|9999021145|MR|Test|E|Lead 21145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021146|121146|989898|1|9999021146|MR|Test|E|Lead 21146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021147|121147|989898|1|9999021147|MR|Test|E|Lead 21147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021148|121148|989898|1|9999021148|MR|Test|E|Lead 21148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021149|121149|989898|1|9999021149|MR|Test|E|Lead 21149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021150|121150|989898|1|9999021150|MR|Test|E|Lead 21150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021151|121151|989898|1|9999021151|MR|Test|E|Lead 21151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021152|121152|989898|1|9999021152|MR|Test|E|Lead 21152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021153|121153|989898|1|9999021153|MR|Test|E|Lead 21153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021154|121154|989898|1|9999021154|MR|Test|E|Lead 21154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021155|121155|989898|1|9999021155|MR|Test|E|Lead 21155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021156|121156|989898|1|9999021156|MR|Test|E|Lead 21156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021157|121157|989898|1|9999021157|MR|Test|E|Lead 21157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021158|121158|989898|1|9999021158|MR|Test|E|Lead 21158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021159|121159|989898|1|9999021159|MR|Test|E|Lead 21159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021160|121160|989898|1|9999021160|MR|Test|E|Lead 21160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021161|121161|989898|1|9999021161|MR|Test|E|Lead 21161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021162|121162|989898|1|9999021162|MR|Test|E|Lead 21162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021163|121163|989898|1|9999021163|MR|Test|E|Lead 21163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021164|121164|989898|1|9999021164|MR|Test|E|Lead 21164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021165|121165|989898|1|9999021165|MR|Test|E|Lead 21165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021166|121166|989898|1|9999021166|MR|Test|E|Lead 21166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021167|121167|989898|1|9999021167|MR|Test|E|Lead 21167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021168|121168|989898|1|9999021168|MR|Test|E|Lead 21168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021169|121169|989898|1|9999021169|MR|Test|E|Lead 21169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021170|121170|989898|1|9999021170|MR|Test|E|Lead 21170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021171|121171|989898|1|9999021171|MR|Test|E|Lead 21171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021172|121172|989898|1|9999021172|MR|Test|E|Lead 21172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021173|121173|989898|1|9999021173|MR|Test|E|Lead 21173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021174|121174|989898|1|9999021174|MR|Test|E|Lead 21174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021175|121175|989898|1|9999021175|MR|Test|E|Lead 21175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021176|121176|989898|1|9999021176|MR|Test|E|Lead 21176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021177|121177|989898|1|9999021177|MR|Test|E|Lead 21177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021178|121178|989898|1|9999021178|MR|Test|E|Lead 21178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021179|121179|989898|1|9999021179|MR|Test|E|Lead 21179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021180|121180|989898|1|9999021180|MR|Test|E|Lead 21180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021181|121181|989898|1|9999021181|MR|Test|E|Lead 21181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021182|121182|989898|1|9999021182|MR|Test|E|Lead 21182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021183|121183|989898|1|9999021183|MR|Test|E|Lead 21183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021184|121184|989898|1|9999021184|MR|Test|E|Lead 21184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021185|121185|989898|1|9999021185|MR|Test|E|Lead 21185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021186|121186|989898|1|9999021186|MR|Test|E|Lead 21186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021187|121187|989898|1|9999021187|MR|Test|E|Lead 21187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021188|121188|989898|1|9999021188|MR|Test|E|Lead 21188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021189|121189|989898|1|9999021189|MR|Test|E|Lead 21189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021190|121190|989898|1|9999021190|MR|Test|E|Lead 21190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021191|121191|989898|1|9999021191|MR|Test|E|Lead 21191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021192|121192|989898|1|9999021192|MR|Test|E|Lead 21192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021193|121193|989898|1|9999021193|MR|Test|E|Lead 21193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021194|121194|989898|1|9999021194|MR|Test|E|Lead 21194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021195|121195|989898|1|9999021195|MR|Test|E|Lead 21195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021196|121196|989898|1|9999021196|MR|Test|E|Lead 21196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021197|121197|989898|1|9999021197|MR|Test|E|Lead 21197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021198|121198|989898|1|9999021198|MR|Test|E|Lead 21198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021199|121199|989898|1|9999021199|MR|Test|E|Lead 21199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021200|121200|989898|1|9999021200|MR|Test|E|Lead 21200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021201|121201|989898|1|9999021201|MR|Test|E|Lead 21201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021202|121202|989898|1|9999021202|MR|Test|E|Lead 21202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021203|121203|989898|1|9999021203|MR|Test|E|Lead 21203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021204|121204|989898|1|9999021204|MR|Test|E|Lead 21204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021205|121205|989898|1|9999021205|MR|Test|E|Lead 21205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021206|121206|989898|1|9999021206|MR|Test|E|Lead 21206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021207|121207|989898|1|9999021207|MR|Test|E|Lead 21207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021208|121208|989898|1|9999021208|MR|Test|E|Lead 21208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021209|121209|989898|1|9999021209|MR|Test|E|Lead 21209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021210|121210|989898|1|9999021210|MR|Test|E|Lead 21210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021211|121211|989898|1|9999021211|MR|Test|E|Lead 21211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021212|121212|989898|1|9999021212|MR|Test|E|Lead 21212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021213|121213|989898|1|9999021213|MR|Test|E|Lead 21213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021214|121214|989898|1|9999021214|MR|Test|E|Lead 21214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021215|121215|989898|1|9999021215|MR|Test|E|Lead 21215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021216|121216|989898|1|9999021216|MR|Test|E|Lead 21216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021217|121217|989898|1|9999021217|MR|Test|E|Lead 21217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021218|121218|989898|1|9999021218|MR|Test|E|Lead 21218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021219|121219|989898|1|9999021219|MR|Test|E|Lead 21219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021220|121220|989898|1|9999021220|MR|Test|E|Lead 21220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021221|121221|989898|1|9999021221|MR|Test|E|Lead 21221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021222|121222|989898|1|9999021222|MR|Test|E|Lead 21222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021223|121223|989898|1|9999021223|MR|Test|E|Lead 21223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021224|121224|989898|1|9999021224|MR|Test|E|Lead 21224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021225|121225|989898|1|9999021225|MR|Test|E|Lead 21225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021226|121226|989898|1|9999021226|MR|Test|E|Lead 21226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021227|121227|989898|1|9999021227|MR|Test|E|Lead 21227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021228|121228|989898|1|9999021228|MR|Test|E|Lead 21228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021229|121229|989898|1|9999021229|MR|Test|E|Lead 21229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021230|121230|989898|1|9999021230|MR|Test|E|Lead 21230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021231|121231|989898|1|9999021231|MR|Test|E|Lead 21231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021232|121232|989898|1|9999021232|MR|Test|E|Lead 21232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021233|121233|989898|1|9999021233|MR|Test|E|Lead 21233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021234|121234|989898|1|9999021234|MR|Test|E|Lead 21234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021235|121235|989898|1|9999021235|MR|Test|E|Lead 21235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021236|121236|989898|1|9999021236|MR|Test|E|Lead 21236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021237|121237|989898|1|9999021237|MR|Test|E|Lead 21237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021238|121238|989898|1|9999021238|MR|Test|E|Lead 21238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021239|121239|989898|1|9999021239|MR|Test|E|Lead 21239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021240|121240|989898|1|9999021240|MR|Test|E|Lead 21240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021241|121241|989898|1|9999021241|MR|Test|E|Lead 21241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021242|121242|989898|1|9999021242|MR|Test|E|Lead 21242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021243|121243|989898|1|9999021243|MR|Test|E|Lead 21243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021244|121244|989898|1|9999021244|MR|Test|E|Lead 21244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021245|121245|989898|1|9999021245|MR|Test|E|Lead 21245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021246|121246|989898|1|9999021246|MR|Test|E|Lead 21246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021247|121247|989898|1|9999021247|MR|Test|E|Lead 21247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021248|121248|989898|1|9999021248|MR|Test|E|Lead 21248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021249|121249|989898|1|9999021249|MR|Test|E|Lead 21249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021250|121250|989898|1|9999021250|MR|Test|E|Lead 21250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021251|121251|989898|1|9999021251|MR|Test|E|Lead 21251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021252|121252|989898|1|9999021252|MR|Test|E|Lead 21252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021253|121253|989898|1|9999021253|MR|Test|E|Lead 21253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021254|121254|989898|1|9999021254|MR|Test|E|Lead 21254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021255|121255|989898|1|9999021255|MR|Test|E|Lead 21255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021256|121256|989898|1|9999021256|MR|Test|E|Lead 21256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021257|121257|989898|1|9999021257|MR|Test|E|Lead 21257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021258|121258|989898|1|9999021258|MR|Test|E|Lead 21258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021259|121259|989898|1|9999021259|MR|Test|E|Lead 21259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021260|121260|989898|1|9999021260|MR|Test|E|Lead 21260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021261|121261|989898|1|9999021261|MR|Test|E|Lead 21261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021262|121262|989898|1|9999021262|MR|Test|E|Lead 21262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021263|121263|989898|1|9999021263|MR|Test|E|Lead 21263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021264|121264|989898|1|9999021264|MR|Test|E|Lead 21264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021265|121265|989898|1|9999021265|MR|Test|E|Lead 21265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021266|121266|989898|1|9999021266|MR|Test|E|Lead 21266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021267|121267|989898|1|9999021267|MR|Test|E|Lead 21267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021268|121268|989898|1|9999021268|MR|Test|E|Lead 21268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021269|121269|989898|1|9999021269|MR|Test|E|Lead 21269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021270|121270|989898|1|9999021270|MR|Test|E|Lead 21270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021271|121271|989898|1|9999021271|MR|Test|E|Lead 21271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021272|121272|989898|1|9999021272|MR|Test|E|Lead 21272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021273|121273|989898|1|9999021273|MR|Test|E|Lead 21273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021274|121274|989898|1|9999021274|MR|Test|E|Lead 21274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021275|121275|989898|1|9999021275|MR|Test|E|Lead 21275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021276|121276|989898|1|9999021276|MR|Test|E|Lead 21276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021277|121277|989898|1|9999021277|MR|Test|E|Lead 21277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021278|121278|989898|1|9999021278|MR|Test|E|Lead 21278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021279|121279|989898|1|9999021279|MR|Test|E|Lead 21279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021280|121280|989898|1|9999021280|MR|Test|E|Lead 21280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021281|121281|989898|1|9999021281|MR|Test|E|Lead 21281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021282|121282|989898|1|9999021282|MR|Test|E|Lead 21282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021283|121283|989898|1|9999021283|MR|Test|E|Lead 21283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021284|121284|989898|1|9999021284|MR|Test|E|Lead 21284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021285|121285|989898|1|9999021285|MR|Test|E|Lead 21285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021286|121286|989898|1|9999021286|MR|Test|E|Lead 21286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021287|121287|989898|1|9999021287|MR|Test|E|Lead 21287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021288|121288|989898|1|9999021288|MR|Test|E|Lead 21288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021289|121289|989898|1|9999021289|MR|Test|E|Lead 21289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021290|121290|989898|1|9999021290|MR|Test|E|Lead 21290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021291|121291|989898|1|9999021291|MR|Test|E|Lead 21291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021292|121292|989898|1|9999021292|MR|Test|E|Lead 21292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021293|121293|989898|1|9999021293|MR|Test|E|Lead 21293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021294|121294|989898|1|9999021294|MR|Test|E|Lead 21294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021295|121295|989898|1|9999021295|MR|Test|E|Lead 21295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021296|121296|989898|1|9999021296|MR|Test|E|Lead 21296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021297|121297|989898|1|9999021297|MR|Test|E|Lead 21297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021298|121298|989898|1|9999021298|MR|Test|E|Lead 21298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021299|121299|989898|1|9999021299|MR|Test|E|Lead 21299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021300|121300|989898|1|9999021300|MR|Test|E|Lead 21300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021301|121301|989898|1|9999021301|MR|Test|E|Lead 21301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021302|121302|989898|1|9999021302|MR|Test|E|Lead 21302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021303|121303|989898|1|9999021303|MR|Test|E|Lead 21303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021304|121304|989898|1|9999021304|MR|Test|E|Lead 21304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021305|121305|989898|1|9999021305|MR|Test|E|Lead 21305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021306|121306|989898|1|9999021306|MR|Test|E|Lead 21306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021307|121307|989898|1|9999021307|MR|Test|E|Lead 21307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021308|121308|989898|1|9999021308|MR|Test|E|Lead 21308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021309|121309|989898|1|9999021309|MR|Test|E|Lead 21309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021310|121310|989898|1|9999021310|MR|Test|E|Lead 21310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021311|121311|989898|1|9999021311|MR|Test|E|Lead 21311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021312|121312|989898|1|9999021312|MR|Test|E|Lead 21312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021313|121313|989898|1|9999021313|MR|Test|E|Lead 21313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021314|121314|989898|1|9999021314|MR|Test|E|Lead 21314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021315|121315|989898|1|9999021315|MR|Test|E|Lead 21315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021316|121316|989898|1|9999021316|MR|Test|E|Lead 21316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021317|121317|989898|1|9999021317|MR|Test|E|Lead 21317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021318|121318|989898|1|9999021318|MR|Test|E|Lead 21318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021319|121319|989898|1|9999021319|MR|Test|E|Lead 21319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021320|121320|989898|1|9999021320|MR|Test|E|Lead 21320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021321|121321|989898|1|9999021321|MR|Test|E|Lead 21321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021322|121322|989898|1|9999021322|MR|Test|E|Lead 21322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021323|121323|989898|1|9999021323|MR|Test|E|Lead 21323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021324|121324|989898|1|9999021324|MR|Test|E|Lead 21324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021325|121325|989898|1|9999021325|MR|Test|E|Lead 21325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021326|121326|989898|1|9999021326|MR|Test|E|Lead 21326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021327|121327|989898|1|9999021327|MR|Test|E|Lead 21327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021328|121328|989898|1|9999021328|MR|Test|E|Lead 21328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021329|121329|989898|1|9999021329|MR|Test|E|Lead 21329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021330|121330|989898|1|9999021330|MR|Test|E|Lead 21330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021331|121331|989898|1|9999021331|MR|Test|E|Lead 21331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021332|121332|989898|1|9999021332|MR|Test|E|Lead 21332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021333|121333|989898|1|9999021333|MR|Test|E|Lead 21333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021334|121334|989898|1|9999021334|MR|Test|E|Lead 21334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021335|121335|989898|1|9999021335|MR|Test|E|Lead 21335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021336|121336|989898|1|9999021336|MR|Test|E|Lead 21336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021337|121337|989898|1|9999021337|MR|Test|E|Lead 21337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021338|121338|989898|1|9999021338|MR|Test|E|Lead 21338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021339|121339|989898|1|9999021339|MR|Test|E|Lead 21339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021340|121340|989898|1|9999021340|MR|Test|E|Lead 21340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021341|121341|989898|1|9999021341|MR|Test|E|Lead 21341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021342|121342|989898|1|9999021342|MR|Test|E|Lead 21342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021343|121343|989898|1|9999021343|MR|Test|E|Lead 21343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021344|121344|989898|1|9999021344|MR|Test|E|Lead 21344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021345|121345|989898|1|9999021345|MR|Test|E|Lead 21345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021346|121346|989898|1|9999021346|MR|Test|E|Lead 21346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021347|121347|989898|1|9999021347|MR|Test|E|Lead 21347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021348|121348|989898|1|9999021348|MR|Test|E|Lead 21348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021349|121349|989898|1|9999021349|MR|Test|E|Lead 21349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021350|121350|989898|1|9999021350|MR|Test|E|Lead 21350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021351|121351|989898|1|9999021351|MR|Test|E|Lead 21351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021352|121352|989898|1|9999021352|MR|Test|E|Lead 21352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021353|121353|989898|1|9999021353|MR|Test|E|Lead 21353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021354|121354|989898|1|9999021354|MR|Test|E|Lead 21354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021355|121355|989898|1|9999021355|MR|Test|E|Lead 21355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021356|121356|989898|1|9999021356|MR|Test|E|Lead 21356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021357|121357|989898|1|9999021357|MR|Test|E|Lead 21357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021358|121358|989898|1|9999021358|MR|Test|E|Lead 21358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021359|121359|989898|1|9999021359|MR|Test|E|Lead 21359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021360|121360|989898|1|9999021360|MR|Test|E|Lead 21360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021361|121361|989898|1|9999021361|MR|Test|E|Lead 21361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021362|121362|989898|1|9999021362|MR|Test|E|Lead 21362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021363|121363|989898|1|9999021363|MR|Test|E|Lead 21363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021364|121364|989898|1|9999021364|MR|Test|E|Lead 21364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021365|121365|989898|1|9999021365|MR|Test|E|Lead 21365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021366|121366|989898|1|9999021366|MR|Test|E|Lead 21366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021367|121367|989898|1|9999021367|MR|Test|E|Lead 21367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021368|121368|989898|1|9999021368|MR|Test|E|Lead 21368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021369|121369|989898|1|9999021369|MR|Test|E|Lead 21369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021370|121370|989898|1|9999021370|MR|Test|E|Lead 21370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021371|121371|989898|1|9999021371|MR|Test|E|Lead 21371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021372|121372|989898|1|9999021372|MR|Test|E|Lead 21372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021373|121373|989898|1|9999021373|MR|Test|E|Lead 21373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021374|121374|989898|1|9999021374|MR|Test|E|Lead 21374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021375|121375|989898|1|9999021375|MR|Test|E|Lead 21375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021376|121376|989898|1|9999021376|MR|Test|E|Lead 21376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021377|121377|989898|1|9999021377|MR|Test|E|Lead 21377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021378|121378|989898|1|9999021378|MR|Test|E|Lead 21378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021379|121379|989898|1|9999021379|MR|Test|E|Lead 21379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021380|121380|989898|1|9999021380|MR|Test|E|Lead 21380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021381|121381|989898|1|9999021381|MR|Test|E|Lead 21381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021382|121382|989898|1|9999021382|MR|Test|E|Lead 21382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021383|121383|989898|1|9999021383|MR|Test|E|Lead 21383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021384|121384|989898|1|9999021384|MR|Test|E|Lead 21384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021385|121385|989898|1|9999021385|MR|Test|E|Lead 21385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021386|121386|989898|1|9999021386|MR|Test|E|Lead 21386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021387|121387|989898|1|9999021387|MR|Test|E|Lead 21387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021388|121388|989898|1|9999021388|MR|Test|E|Lead 21388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021389|121389|989898|1|9999021389|MR|Test|E|Lead 21389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021390|121390|989898|1|9999021390|MR|Test|E|Lead 21390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021391|121391|989898|1|9999021391|MR|Test|E|Lead 21391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021392|121392|989898|1|9999021392|MR|Test|E|Lead 21392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021393|121393|989898|1|9999021393|MR|Test|E|Lead 21393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021394|121394|989898|1|9999021394|MR|Test|E|Lead 21394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021395|121395|989898|1|9999021395|MR|Test|E|Lead 21395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021396|121396|989898|1|9999021396|MR|Test|E|Lead 21396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021397|121397|989898|1|9999021397|MR|Test|E|Lead 21397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021398|121398|989898|1|9999021398|MR|Test|E|Lead 21398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021399|121399|989898|1|9999021399|MR|Test|E|Lead 21399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021400|121400|989898|1|9999021400|MR|Test|E|Lead 21400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021401|121401|989898|1|9999021401|MR|Test|E|Lead 21401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021402|121402|989898|1|9999021402|MR|Test|E|Lead 21402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021403|121403|989898|1|9999021403|MR|Test|E|Lead 21403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021404|121404|989898|1|9999021404|MR|Test|E|Lead 21404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021405|121405|989898|1|9999021405|MR|Test|E|Lead 21405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021406|121406|989898|1|9999021406|MR|Test|E|Lead 21406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021407|121407|989898|1|9999021407|MR|Test|E|Lead 21407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021408|121408|989898|1|9999021408|MR|Test|E|Lead 21408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021409|121409|989898|1|9999021409|MR|Test|E|Lead 21409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021410|121410|989898|1|9999021410|MR|Test|E|Lead 21410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021411|121411|989898|1|9999021411|MR|Test|E|Lead 21411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021412|121412|989898|1|9999021412|MR|Test|E|Lead 21412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021413|121413|989898|1|9999021413|MR|Test|E|Lead 21413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021414|121414|989898|1|9999021414|MR|Test|E|Lead 21414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021415|121415|989898|1|9999021415|MR|Test|E|Lead 21415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021416|121416|989898|1|9999021416|MR|Test|E|Lead 21416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021417|121417|989898|1|9999021417|MR|Test|E|Lead 21417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021418|121418|989898|1|9999021418|MR|Test|E|Lead 21418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021419|121419|989898|1|9999021419|MR|Test|E|Lead 21419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021420|121420|989898|1|9999021420|MR|Test|E|Lead 21420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021421|121421|989898|1|9999021421|MR|Test|E|Lead 21421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021422|121422|989898|1|9999021422|MR|Test|E|Lead 21422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021423|121423|989898|1|9999021423|MR|Test|E|Lead 21423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021424|121424|989898|1|9999021424|MR|Test|E|Lead 21424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021425|121425|989898|1|9999021425|MR|Test|E|Lead 21425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021426|121426|989898|1|9999021426|MR|Test|E|Lead 21426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021427|121427|989898|1|9999021427|MR|Test|E|Lead 21427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021428|121428|989898|1|9999021428|MR|Test|E|Lead 21428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021429|121429|989898|1|9999021429|MR|Test|E|Lead 21429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021430|121430|989898|1|9999021430|MR|Test|E|Lead 21430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021431|121431|989898|1|9999021431|MR|Test|E|Lead 21431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021432|121432|989898|1|9999021432|MR|Test|E|Lead 21432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021433|121433|989898|1|9999021433|MR|Test|E|Lead 21433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021434|121434|989898|1|9999021434|MR|Test|E|Lead 21434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021435|121435|989898|1|9999021435|MR|Test|E|Lead 21435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021436|121436|989898|1|9999021436|MR|Test|E|Lead 21436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021437|121437|989898|1|9999021437|MR|Test|E|Lead 21437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021438|121438|989898|1|9999021438|MR|Test|E|Lead 21438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021439|121439|989898|1|9999021439|MR|Test|E|Lead 21439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021440|121440|989898|1|9999021440|MR|Test|E|Lead 21440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021441|121441|989898|1|9999021441|MR|Test|E|Lead 21441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021442|121442|989898|1|9999021442|MR|Test|E|Lead 21442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021443|121443|989898|1|9999021443|MR|Test|E|Lead 21443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021444|121444|989898|1|9999021444|MR|Test|E|Lead 21444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021445|121445|989898|1|9999021445|MR|Test|E|Lead 21445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021446|121446|989898|1|9999021446|MR|Test|E|Lead 21446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021447|121447|989898|1|9999021447|MR|Test|E|Lead 21447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021448|121448|989898|1|9999021448|MR|Test|E|Lead 21448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021449|121449|989898|1|9999021449|MR|Test|E|Lead 21449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021450|121450|989898|1|9999021450|MR|Test|E|Lead 21450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021451|121451|989898|1|9999021451|MR|Test|E|Lead 21451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021452|121452|989898|1|9999021452|MR|Test|E|Lead 21452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021453|121453|989898|1|9999021453|MR|Test|E|Lead 21453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021454|121454|989898|1|9999021454|MR|Test|E|Lead 21454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021455|121455|989898|1|9999021455|MR|Test|E|Lead 21455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021456|121456|989898|1|9999021456|MR|Test|E|Lead 21456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021457|121457|989898|1|9999021457|MR|Test|E|Lead 21457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021458|121458|989898|1|9999021458|MR|Test|E|Lead 21458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021459|121459|989898|1|9999021459|MR|Test|E|Lead 21459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021460|121460|989898|1|9999021460|MR|Test|E|Lead 21460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021461|121461|989898|1|9999021461|MR|Test|E|Lead 21461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021462|121462|989898|1|9999021462|MR|Test|E|Lead 21462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021463|121463|989898|1|9999021463|MR|Test|E|Lead 21463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021464|121464|989898|1|9999021464|MR|Test|E|Lead 21464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021465|121465|989898|1|9999021465|MR|Test|E|Lead 21465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021466|121466|989898|1|9999021466|MR|Test|E|Lead 21466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021467|121467|989898|1|9999021467|MR|Test|E|Lead 21467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021468|121468|989898|1|9999021468|MR|Test|E|Lead 21468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021469|121469|989898|1|9999021469|MR|Test|E|Lead 21469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021470|121470|989898|1|9999021470|MR|Test|E|Lead 21470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021471|121471|989898|1|9999021471|MR|Test|E|Lead 21471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021472|121472|989898|1|9999021472|MR|Test|E|Lead 21472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021473|121473|989898|1|9999021473|MR|Test|E|Lead 21473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021474|121474|989898|1|9999021474|MR|Test|E|Lead 21474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021475|121475|989898|1|9999021475|MR|Test|E|Lead 21475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021476|121476|989898|1|9999021476|MR|Test|E|Lead 21476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021477|121477|989898|1|9999021477|MR|Test|E|Lead 21477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021478|121478|989898|1|9999021478|MR|Test|E|Lead 21478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021479|121479|989898|1|9999021479|MR|Test|E|Lead 21479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021480|121480|989898|1|9999021480|MR|Test|E|Lead 21480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021481|121481|989898|1|9999021481|MR|Test|E|Lead 21481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021482|121482|989898|1|9999021482|MR|Test|E|Lead 21482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021483|121483|989898|1|9999021483|MR|Test|E|Lead 21483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021484|121484|989898|1|9999021484|MR|Test|E|Lead 21484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021485|121485|989898|1|9999021485|MR|Test|E|Lead 21485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021486|121486|989898|1|9999021486|MR|Test|E|Lead 21486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021487|121487|989898|1|9999021487|MR|Test|E|Lead 21487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021488|121488|989898|1|9999021488|MR|Test|E|Lead 21488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021489|121489|989898|1|9999021489|MR|Test|E|Lead 21489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021490|121490|989898|1|9999021490|MR|Test|E|Lead 21490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021491|121491|989898|1|9999021491|MR|Test|E|Lead 21491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021492|121492|989898|1|9999021492|MR|Test|E|Lead 21492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021493|121493|989898|1|9999021493|MR|Test|E|Lead 21493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021494|121494|989898|1|9999021494|MR|Test|E|Lead 21494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021495|121495|989898|1|9999021495|MR|Test|E|Lead 21495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021496|121496|989898|1|9999021496|MR|Test|E|Lead 21496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021497|121497|989898|1|9999021497|MR|Test|E|Lead 21497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021498|121498|989898|1|9999021498|MR|Test|E|Lead 21498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021499|121499|989898|1|9999021499|MR|Test|E|Lead 21499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021500|121500|989898|1|9999021500|MR|Test|E|Lead 21500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021501|121501|989898|1|9999021501|MR|Test|E|Lead 21501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021502|121502|989898|1|9999021502|MR|Test|E|Lead 21502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021503|121503|989898|1|9999021503|MR|Test|E|Lead 21503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021504|121504|989898|1|9999021504|MR|Test|E|Lead 21504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021505|121505|989898|1|9999021505|MR|Test|E|Lead 21505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021506|121506|989898|1|9999021506|MR|Test|E|Lead 21506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021507|121507|989898|1|9999021507|MR|Test|E|Lead 21507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021508|121508|989898|1|9999021508|MR|Test|E|Lead 21508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021509|121509|989898|1|9999021509|MR|Test|E|Lead 21509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021510|121510|989898|1|9999021510|MR|Test|E|Lead 21510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021511|121511|989898|1|9999021511|MR|Test|E|Lead 21511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021512|121512|989898|1|9999021512|MR|Test|E|Lead 21512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021513|121513|989898|1|9999021513|MR|Test|E|Lead 21513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021514|121514|989898|1|9999021514|MR|Test|E|Lead 21514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021515|121515|989898|1|9999021515|MR|Test|E|Lead 21515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021516|121516|989898|1|9999021516|MR|Test|E|Lead 21516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021517|121517|989898|1|9999021517|MR|Test|E|Lead 21517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021518|121518|989898|1|9999021518|MR|Test|E|Lead 21518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021519|121519|989898|1|9999021519|MR|Test|E|Lead 21519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021520|121520|989898|1|9999021520|MR|Test|E|Lead 21520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021521|121521|989898|1|9999021521|MR|Test|E|Lead 21521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021522|121522|989898|1|9999021522|MR|Test|E|Lead 21522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021523|121523|989898|1|9999021523|MR|Test|E|Lead 21523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021524|121524|989898|1|9999021524|MR|Test|E|Lead 21524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021525|121525|989898|1|9999021525|MR|Test|E|Lead 21525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021526|121526|989898|1|9999021526|MR|Test|E|Lead 21526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021527|121527|989898|1|9999021527|MR|Test|E|Lead 21527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021528|121528|989898|1|9999021528|MR|Test|E|Lead 21528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021529|121529|989898|1|9999021529|MR|Test|E|Lead 21529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021530|121530|989898|1|9999021530|MR|Test|E|Lead 21530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021531|121531|989898|1|9999021531|MR|Test|E|Lead 21531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021532|121532|989898|1|9999021532|MR|Test|E|Lead 21532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021533|121533|989898|1|9999021533|MR|Test|E|Lead 21533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021534|121534|989898|1|9999021534|MR|Test|E|Lead 21534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021535|121535|989898|1|9999021535|MR|Test|E|Lead 21535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021536|121536|989898|1|9999021536|MR|Test|E|Lead 21536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021537|121537|989898|1|9999021537|MR|Test|E|Lead 21537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021538|121538|989898|1|9999021538|MR|Test|E|Lead 21538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021539|121539|989898|1|9999021539|MR|Test|E|Lead 21539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021540|121540|989898|1|9999021540|MR|Test|E|Lead 21540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021541|121541|989898|1|9999021541|MR|Test|E|Lead 21541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021542|121542|989898|1|9999021542|MR|Test|E|Lead 21542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021543|121543|989898|1|9999021543|MR|Test|E|Lead 21543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021544|121544|989898|1|9999021544|MR|Test|E|Lead 21544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021545|121545|989898|1|9999021545|MR|Test|E|Lead 21545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021546|121546|989898|1|9999021546|MR|Test|E|Lead 21546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021547|121547|989898|1|9999021547|MR|Test|E|Lead 21547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021548|121548|989898|1|9999021548|MR|Test|E|Lead 21548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021549|121549|989898|1|9999021549|MR|Test|E|Lead 21549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021550|121550|989898|1|9999021550|MR|Test|E|Lead 21550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021551|121551|989898|1|9999021551|MR|Test|E|Lead 21551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021552|121552|989898|1|9999021552|MR|Test|E|Lead 21552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021553|121553|989898|1|9999021553|MR|Test|E|Lead 21553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021554|121554|989898|1|9999021554|MR|Test|E|Lead 21554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021555|121555|989898|1|9999021555|MR|Test|E|Lead 21555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021556|121556|989898|1|9999021556|MR|Test|E|Lead 21556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021557|121557|989898|1|9999021557|MR|Test|E|Lead 21557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021558|121558|989898|1|9999021558|MR|Test|E|Lead 21558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021559|121559|989898|1|9999021559|MR|Test|E|Lead 21559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021560|121560|989898|1|9999021560|MR|Test|E|Lead 21560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021561|121561|989898|1|9999021561|MR|Test|E|Lead 21561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021562|121562|989898|1|9999021562|MR|Test|E|Lead 21562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021563|121563|989898|1|9999021563|MR|Test|E|Lead 21563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021564|121564|989898|1|9999021564|MR|Test|E|Lead 21564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021565|121565|989898|1|9999021565|MR|Test|E|Lead 21565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021566|121566|989898|1|9999021566|MR|Test|E|Lead 21566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021567|121567|989898|1|9999021567|MR|Test|E|Lead 21567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021568|121568|989898|1|9999021568|MR|Test|E|Lead 21568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021569|121569|989898|1|9999021569|MR|Test|E|Lead 21569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021570|121570|989898|1|9999021570|MR|Test|E|Lead 21570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021571|121571|989898|1|9999021571|MR|Test|E|Lead 21571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021572|121572|989898|1|9999021572|MR|Test|E|Lead 21572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021573|121573|989898|1|9999021573|MR|Test|E|Lead 21573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021574|121574|989898|1|9999021574|MR|Test|E|Lead 21574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021575|121575|989898|1|9999021575|MR|Test|E|Lead 21575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021576|121576|989898|1|9999021576|MR|Test|E|Lead 21576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021577|121577|989898|1|9999021577|MR|Test|E|Lead 21577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021578|121578|989898|1|9999021578|MR|Test|E|Lead 21578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021579|121579|989898|1|9999021579|MR|Test|E|Lead 21579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021580|121580|989898|1|9999021580|MR|Test|E|Lead 21580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021581|121581|989898|1|9999021581|MR|Test|E|Lead 21581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021582|121582|989898|1|9999021582|MR|Test|E|Lead 21582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021583|121583|989898|1|9999021583|MR|Test|E|Lead 21583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021584|121584|989898|1|9999021584|MR|Test|E|Lead 21584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021585|121585|989898|1|9999021585|MR|Test|E|Lead 21585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021586|121586|989898|1|9999021586|MR|Test|E|Lead 21586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021587|121587|989898|1|9999021587|MR|Test|E|Lead 21587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021588|121588|989898|1|9999021588|MR|Test|E|Lead 21588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021589|121589|989898|1|9999021589|MR|Test|E|Lead 21589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021590|121590|989898|1|9999021590|MR|Test|E|Lead 21590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021591|121591|989898|1|9999021591|MR|Test|E|Lead 21591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021592|121592|989898|1|9999021592|MR|Test|E|Lead 21592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021593|121593|989898|1|9999021593|MR|Test|E|Lead 21593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021594|121594|989898|1|9999021594|MR|Test|E|Lead 21594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021595|121595|989898|1|9999021595|MR|Test|E|Lead 21595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021596|121596|989898|1|9999021596|MR|Test|E|Lead 21596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021597|121597|989898|1|9999021597|MR|Test|E|Lead 21597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021598|121598|989898|1|9999021598|MR|Test|E|Lead 21598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021599|121599|989898|1|9999021599|MR|Test|E|Lead 21599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021600|121600|989898|1|9999021600|MR|Test|E|Lead 21600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021601|121601|989898|1|9999021601|MR|Test|E|Lead 21601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021602|121602|989898|1|9999021602|MR|Test|E|Lead 21602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021603|121603|989898|1|9999021603|MR|Test|E|Lead 21603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021604|121604|989898|1|9999021604|MR|Test|E|Lead 21604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021605|121605|989898|1|9999021605|MR|Test|E|Lead 21605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021606|121606|989898|1|9999021606|MR|Test|E|Lead 21606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021607|121607|989898|1|9999021607|MR|Test|E|Lead 21607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021608|121608|989898|1|9999021608|MR|Test|E|Lead 21608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021609|121609|989898|1|9999021609|MR|Test|E|Lead 21609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021610|121610|989898|1|9999021610|MR|Test|E|Lead 21610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021611|121611|989898|1|9999021611|MR|Test|E|Lead 21611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021612|121612|989898|1|9999021612|MR|Test|E|Lead 21612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021613|121613|989898|1|9999021613|MR|Test|E|Lead 21613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021614|121614|989898|1|9999021614|MR|Test|E|Lead 21614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021615|121615|989898|1|9999021615|MR|Test|E|Lead 21615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021616|121616|989898|1|9999021616|MR|Test|E|Lead 21616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021617|121617|989898|1|9999021617|MR|Test|E|Lead 21617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021618|121618|989898|1|9999021618|MR|Test|E|Lead 21618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021619|121619|989898|1|9999021619|MR|Test|E|Lead 21619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021620|121620|989898|1|9999021620|MR|Test|E|Lead 21620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021621|121621|989898|1|9999021621|MR|Test|E|Lead 21621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021622|121622|989898|1|9999021622|MR|Test|E|Lead 21622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021623|121623|989898|1|9999021623|MR|Test|E|Lead 21623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021624|121624|989898|1|9999021624|MR|Test|E|Lead 21624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021625|121625|989898|1|9999021625|MR|Test|E|Lead 21625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021626|121626|989898|1|9999021626|MR|Test|E|Lead 21626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021627|121627|989898|1|9999021627|MR|Test|E|Lead 21627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021628|121628|989898|1|9999021628|MR|Test|E|Lead 21628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021629|121629|989898|1|9999021629|MR|Test|E|Lead 21629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021630|121630|989898|1|9999021630|MR|Test|E|Lead 21630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021631|121631|989898|1|9999021631|MR|Test|E|Lead 21631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021632|121632|989898|1|9999021632|MR|Test|E|Lead 21632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021633|121633|989898|1|9999021633|MR|Test|E|Lead 21633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021634|121634|989898|1|9999021634|MR|Test|E|Lead 21634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021635|121635|989898|1|9999021635|MR|Test|E|Lead 21635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021636|121636|989898|1|9999021636|MR|Test|E|Lead 21636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021637|121637|989898|1|9999021637|MR|Test|E|Lead 21637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021638|121638|989898|1|9999021638|MR|Test|E|Lead 21638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021639|121639|989898|1|9999021639|MR|Test|E|Lead 21639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021640|121640|989898|1|9999021640|MR|Test|E|Lead 21640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021641|121641|989898|1|9999021641|MR|Test|E|Lead 21641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021642|121642|989898|1|9999021642|MR|Test|E|Lead 21642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021643|121643|989898|1|9999021643|MR|Test|E|Lead 21643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021644|121644|989898|1|9999021644|MR|Test|E|Lead 21644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021645|121645|989898|1|9999021645|MR|Test|E|Lead 21645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021646|121646|989898|1|9999021646|MR|Test|E|Lead 21646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021647|121647|989898|1|9999021647|MR|Test|E|Lead 21647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021648|121648|989898|1|9999021648|MR|Test|E|Lead 21648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021649|121649|989898|1|9999021649|MR|Test|E|Lead 21649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021650|121650|989898|1|9999021650|MR|Test|E|Lead 21650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021651|121651|989898|1|9999021651|MR|Test|E|Lead 21651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021652|121652|989898|1|9999021652|MR|Test|E|Lead 21652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021653|121653|989898|1|9999021653|MR|Test|E|Lead 21653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021654|121654|989898|1|9999021654|MR|Test|E|Lead 21654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021655|121655|989898|1|9999021655|MR|Test|E|Lead 21655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021656|121656|989898|1|9999021656|MR|Test|E|Lead 21656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021657|121657|989898|1|9999021657|MR|Test|E|Lead 21657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021658|121658|989898|1|9999021658|MR|Test|E|Lead 21658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021659|121659|989898|1|9999021659|MR|Test|E|Lead 21659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021660|121660|989898|1|9999021660|MR|Test|E|Lead 21660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021661|121661|989898|1|9999021661|MR|Test|E|Lead 21661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021662|121662|989898|1|9999021662|MR|Test|E|Lead 21662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021663|121663|989898|1|9999021663|MR|Test|E|Lead 21663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021664|121664|989898|1|9999021664|MR|Test|E|Lead 21664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021665|121665|989898|1|9999021665|MR|Test|E|Lead 21665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021666|121666|989898|1|9999021666|MR|Test|E|Lead 21666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021667|121667|989898|1|9999021667|MR|Test|E|Lead 21667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021668|121668|989898|1|9999021668|MR|Test|E|Lead 21668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021669|121669|989898|1|9999021669|MR|Test|E|Lead 21669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021670|121670|989898|1|9999021670|MR|Test|E|Lead 21670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021671|121671|989898|1|9999021671|MR|Test|E|Lead 21671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021672|121672|989898|1|9999021672|MR|Test|E|Lead 21672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021673|121673|989898|1|9999021673|MR|Test|E|Lead 21673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021674|121674|989898|1|9999021674|MR|Test|E|Lead 21674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021675|121675|989898|1|9999021675|MR|Test|E|Lead 21675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021676|121676|989898|1|9999021676|MR|Test|E|Lead 21676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021677|121677|989898|1|9999021677|MR|Test|E|Lead 21677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021678|121678|989898|1|9999021678|MR|Test|E|Lead 21678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021679|121679|989898|1|9999021679|MR|Test|E|Lead 21679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021680|121680|989898|1|9999021680|MR|Test|E|Lead 21680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021681|121681|989898|1|9999021681|MR|Test|E|Lead 21681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021682|121682|989898|1|9999021682|MR|Test|E|Lead 21682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021683|121683|989898|1|9999021683|MR|Test|E|Lead 21683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021684|121684|989898|1|9999021684|MR|Test|E|Lead 21684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021685|121685|989898|1|9999021685|MR|Test|E|Lead 21685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021686|121686|989898|1|9999021686|MR|Test|E|Lead 21686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021687|121687|989898|1|9999021687|MR|Test|E|Lead 21687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021688|121688|989898|1|9999021688|MR|Test|E|Lead 21688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021689|121689|989898|1|9999021689|MR|Test|E|Lead 21689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021690|121690|989898|1|9999021690|MR|Test|E|Lead 21690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021691|121691|989898|1|9999021691|MR|Test|E|Lead 21691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021692|121692|989898|1|9999021692|MR|Test|E|Lead 21692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021693|121693|989898|1|9999021693|MR|Test|E|Lead 21693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021694|121694|989898|1|9999021694|MR|Test|E|Lead 21694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021695|121695|989898|1|9999021695|MR|Test|E|Lead 21695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021696|121696|989898|1|9999021696|MR|Test|E|Lead 21696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021697|121697|989898|1|9999021697|MR|Test|E|Lead 21697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021698|121698|989898|1|9999021698|MR|Test|E|Lead 21698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021699|121699|989898|1|9999021699|MR|Test|E|Lead 21699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021700|121700|989898|1|9999021700|MR|Test|E|Lead 21700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021701|121701|989898|1|9999021701|MR|Test|E|Lead 21701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021702|121702|989898|1|9999021702|MR|Test|E|Lead 21702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021703|121703|989898|1|9999021703|MR|Test|E|Lead 21703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021704|121704|989898|1|9999021704|MR|Test|E|Lead 21704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021705|121705|989898|1|9999021705|MR|Test|E|Lead 21705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021706|121706|989898|1|9999021706|MR|Test|E|Lead 21706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021707|121707|989898|1|9999021707|MR|Test|E|Lead 21707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021708|121708|989898|1|9999021708|MR|Test|E|Lead 21708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021709|121709|989898|1|9999021709|MR|Test|E|Lead 21709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021710|121710|989898|1|9999021710|MR|Test|E|Lead 21710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021711|121711|989898|1|9999021711|MR|Test|E|Lead 21711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021712|121712|989898|1|9999021712|MR|Test|E|Lead 21712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021713|121713|989898|1|9999021713|MR|Test|E|Lead 21713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021714|121714|989898|1|9999021714|MR|Test|E|Lead 21714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021715|121715|989898|1|9999021715|MR|Test|E|Lead 21715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021716|121716|989898|1|9999021716|MR|Test|E|Lead 21716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021717|121717|989898|1|9999021717|MR|Test|E|Lead 21717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021718|121718|989898|1|9999021718|MR|Test|E|Lead 21718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021719|121719|989898|1|9999021719|MR|Test|E|Lead 21719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021720|121720|989898|1|9999021720|MR|Test|E|Lead 21720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021721|121721|989898|1|9999021721|MR|Test|E|Lead 21721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021722|121722|989898|1|9999021722|MR|Test|E|Lead 21722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021723|121723|989898|1|9999021723|MR|Test|E|Lead 21723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021724|121724|989898|1|9999021724|MR|Test|E|Lead 21724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021725|121725|989898|1|9999021725|MR|Test|E|Lead 21725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021726|121726|989898|1|9999021726|MR|Test|E|Lead 21726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021727|121727|989898|1|9999021727|MR|Test|E|Lead 21727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021728|121728|989898|1|9999021728|MR|Test|E|Lead 21728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021729|121729|989898|1|9999021729|MR|Test|E|Lead 21729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021730|121730|989898|1|9999021730|MR|Test|E|Lead 21730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021731|121731|989898|1|9999021731|MR|Test|E|Lead 21731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021732|121732|989898|1|9999021732|MR|Test|E|Lead 21732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021733|121733|989898|1|9999021733|MR|Test|E|Lead 21733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021734|121734|989898|1|9999021734|MR|Test|E|Lead 21734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021735|121735|989898|1|9999021735|MR|Test|E|Lead 21735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021736|121736|989898|1|9999021736|MR|Test|E|Lead 21736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021737|121737|989898|1|9999021737|MR|Test|E|Lead 21737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021738|121738|989898|1|9999021738|MR|Test|E|Lead 21738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021739|121739|989898|1|9999021739|MR|Test|E|Lead 21739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021740|121740|989898|1|9999021740|MR|Test|E|Lead 21740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021741|121741|989898|1|9999021741|MR|Test|E|Lead 21741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021742|121742|989898|1|9999021742|MR|Test|E|Lead 21742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021743|121743|989898|1|9999021743|MR|Test|E|Lead 21743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021744|121744|989898|1|9999021744|MR|Test|E|Lead 21744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021745|121745|989898|1|9999021745|MR|Test|E|Lead 21745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021746|121746|989898|1|9999021746|MR|Test|E|Lead 21746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021747|121747|989898|1|9999021747|MR|Test|E|Lead 21747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021748|121748|989898|1|9999021748|MR|Test|E|Lead 21748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021749|121749|989898|1|9999021749|MR|Test|E|Lead 21749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021750|121750|989898|1|9999021750|MR|Test|E|Lead 21750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021751|121751|989898|1|9999021751|MR|Test|E|Lead 21751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021752|121752|989898|1|9999021752|MR|Test|E|Lead 21752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021753|121753|989898|1|9999021753|MR|Test|E|Lead 21753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021754|121754|989898|1|9999021754|MR|Test|E|Lead 21754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021755|121755|989898|1|9999021755|MR|Test|E|Lead 21755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021756|121756|989898|1|9999021756|MR|Test|E|Lead 21756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021757|121757|989898|1|9999021757|MR|Test|E|Lead 21757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021758|121758|989898|1|9999021758|MR|Test|E|Lead 21758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021759|121759|989898|1|9999021759|MR|Test|E|Lead 21759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021760|121760|989898|1|9999021760|MR|Test|E|Lead 21760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021761|121761|989898|1|9999021761|MR|Test|E|Lead 21761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021762|121762|989898|1|9999021762|MR|Test|E|Lead 21762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021763|121763|989898|1|9999021763|MR|Test|E|Lead 21763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021764|121764|989898|1|9999021764|MR|Test|E|Lead 21764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021765|121765|989898|1|9999021765|MR|Test|E|Lead 21765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021766|121766|989898|1|9999021766|MR|Test|E|Lead 21766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021767|121767|989898|1|9999021767|MR|Test|E|Lead 21767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021768|121768|989898|1|9999021768|MR|Test|E|Lead 21768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021769|121769|989898|1|9999021769|MR|Test|E|Lead 21769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021770|121770|989898|1|9999021770|MR|Test|E|Lead 21770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021771|121771|989898|1|9999021771|MR|Test|E|Lead 21771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021772|121772|989898|1|9999021772|MR|Test|E|Lead 21772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021773|121773|989898|1|9999021773|MR|Test|E|Lead 21773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021774|121774|989898|1|9999021774|MR|Test|E|Lead 21774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021775|121775|989898|1|9999021775|MR|Test|E|Lead 21775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021776|121776|989898|1|9999021776|MR|Test|E|Lead 21776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021777|121777|989898|1|9999021777|MR|Test|E|Lead 21777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021778|121778|989898|1|9999021778|MR|Test|E|Lead 21778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021779|121779|989898|1|9999021779|MR|Test|E|Lead 21779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021780|121780|989898|1|9999021780|MR|Test|E|Lead 21780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021781|121781|989898|1|9999021781|MR|Test|E|Lead 21781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021782|121782|989898|1|9999021782|MR|Test|E|Lead 21782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021783|121783|989898|1|9999021783|MR|Test|E|Lead 21783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021784|121784|989898|1|9999021784|MR|Test|E|Lead 21784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021785|121785|989898|1|9999021785|MR|Test|E|Lead 21785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021786|121786|989898|1|9999021786|MR|Test|E|Lead 21786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021787|121787|989898|1|9999021787|MR|Test|E|Lead 21787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021788|121788|989898|1|9999021788|MR|Test|E|Lead 21788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021789|121789|989898|1|9999021789|MR|Test|E|Lead 21789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021790|121790|989898|1|9999021790|MR|Test|E|Lead 21790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021791|121791|989898|1|9999021791|MR|Test|E|Lead 21791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021792|121792|989898|1|9999021792|MR|Test|E|Lead 21792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021793|121793|989898|1|9999021793|MR|Test|E|Lead 21793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021794|121794|989898|1|9999021794|MR|Test|E|Lead 21794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021795|121795|989898|1|9999021795|MR|Test|E|Lead 21795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021796|121796|989898|1|9999021796|MR|Test|E|Lead 21796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021797|121797|989898|1|9999021797|MR|Test|E|Lead 21797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021798|121798|989898|1|9999021798|MR|Test|E|Lead 21798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021799|121799|989898|1|9999021799|MR|Test|E|Lead 21799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021800|121800|989898|1|9999021800|MR|Test|E|Lead 21800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021801|121801|989898|1|9999021801|MR|Test|E|Lead 21801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021802|121802|989898|1|9999021802|MR|Test|E|Lead 21802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021803|121803|989898|1|9999021803|MR|Test|E|Lead 21803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021804|121804|989898|1|9999021804|MR|Test|E|Lead 21804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021805|121805|989898|1|9999021805|MR|Test|E|Lead 21805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021806|121806|989898|1|9999021806|MR|Test|E|Lead 21806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021807|121807|989898|1|9999021807|MR|Test|E|Lead 21807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021808|121808|989898|1|9999021808|MR|Test|E|Lead 21808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021809|121809|989898|1|9999021809|MR|Test|E|Lead 21809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021810|121810|989898|1|9999021810|MR|Test|E|Lead 21810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021811|121811|989898|1|9999021811|MR|Test|E|Lead 21811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021812|121812|989898|1|9999021812|MR|Test|E|Lead 21812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021813|121813|989898|1|9999021813|MR|Test|E|Lead 21813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021814|121814|989898|1|9999021814|MR|Test|E|Lead 21814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021815|121815|989898|1|9999021815|MR|Test|E|Lead 21815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021816|121816|989898|1|9999021816|MR|Test|E|Lead 21816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021817|121817|989898|1|9999021817|MR|Test|E|Lead 21817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021818|121818|989898|1|9999021818|MR|Test|E|Lead 21818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021819|121819|989898|1|9999021819|MR|Test|E|Lead 21819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021820|121820|989898|1|9999021820|MR|Test|E|Lead 21820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021821|121821|989898|1|9999021821|MR|Test|E|Lead 21821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021822|121822|989898|1|9999021822|MR|Test|E|Lead 21822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021823|121823|989898|1|9999021823|MR|Test|E|Lead 21823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021824|121824|989898|1|9999021824|MR|Test|E|Lead 21824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021825|121825|989898|1|9999021825|MR|Test|E|Lead 21825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021826|121826|989898|1|9999021826|MR|Test|E|Lead 21826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021827|121827|989898|1|9999021827|MR|Test|E|Lead 21827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021828|121828|989898|1|9999021828|MR|Test|E|Lead 21828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021829|121829|989898|1|9999021829|MR|Test|E|Lead 21829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021830|121830|989898|1|9999021830|MR|Test|E|Lead 21830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021831|121831|989898|1|9999021831|MR|Test|E|Lead 21831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021832|121832|989898|1|9999021832|MR|Test|E|Lead 21832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021833|121833|989898|1|9999021833|MR|Test|E|Lead 21833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021834|121834|989898|1|9999021834|MR|Test|E|Lead 21834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021835|121835|989898|1|9999021835|MR|Test|E|Lead 21835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021836|121836|989898|1|9999021836|MR|Test|E|Lead 21836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021837|121837|989898|1|9999021837|MR|Test|E|Lead 21837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021838|121838|989898|1|9999021838|MR|Test|E|Lead 21838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021839|121839|989898|1|9999021839|MR|Test|E|Lead 21839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021840|121840|989898|1|9999021840|MR|Test|E|Lead 21840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021841|121841|989898|1|9999021841|MR|Test|E|Lead 21841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021842|121842|989898|1|9999021842|MR|Test|E|Lead 21842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021843|121843|989898|1|9999021843|MR|Test|E|Lead 21843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021844|121844|989898|1|9999021844|MR|Test|E|Lead 21844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021845|121845|989898|1|9999021845|MR|Test|E|Lead 21845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021846|121846|989898|1|9999021846|MR|Test|E|Lead 21846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021847|121847|989898|1|9999021847|MR|Test|E|Lead 21847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021848|121848|989898|1|9999021848|MR|Test|E|Lead 21848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021849|121849|989898|1|9999021849|MR|Test|E|Lead 21849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021850|121850|989898|1|9999021850|MR|Test|E|Lead 21850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021851|121851|989898|1|9999021851|MR|Test|E|Lead 21851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021852|121852|989898|1|9999021852|MR|Test|E|Lead 21852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021853|121853|989898|1|9999021853|MR|Test|E|Lead 21853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021854|121854|989898|1|9999021854|MR|Test|E|Lead 21854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021855|121855|989898|1|9999021855|MR|Test|E|Lead 21855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021856|121856|989898|1|9999021856|MR|Test|E|Lead 21856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021857|121857|989898|1|9999021857|MR|Test|E|Lead 21857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021858|121858|989898|1|9999021858|MR|Test|E|Lead 21858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021859|121859|989898|1|9999021859|MR|Test|E|Lead 21859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021860|121860|989898|1|9999021860|MR|Test|E|Lead 21860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021861|121861|989898|1|9999021861|MR|Test|E|Lead 21861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021862|121862|989898|1|9999021862|MR|Test|E|Lead 21862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021863|121863|989898|1|9999021863|MR|Test|E|Lead 21863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021864|121864|989898|1|9999021864|MR|Test|E|Lead 21864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021865|121865|989898|1|9999021865|MR|Test|E|Lead 21865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021866|121866|989898|1|9999021866|MR|Test|E|Lead 21866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021867|121867|989898|1|9999021867|MR|Test|E|Lead 21867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021868|121868|989898|1|9999021868|MR|Test|E|Lead 21868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021869|121869|989898|1|9999021869|MR|Test|E|Lead 21869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021870|121870|989898|1|9999021870|MR|Test|E|Lead 21870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021871|121871|989898|1|9999021871|MR|Test|E|Lead 21871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021872|121872|989898|1|9999021872|MR|Test|E|Lead 21872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021873|121873|989898|1|9999021873|MR|Test|E|Lead 21873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021874|121874|989898|1|9999021874|MR|Test|E|Lead 21874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021875|121875|989898|1|9999021875|MR|Test|E|Lead 21875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021876|121876|989898|1|9999021876|MR|Test|E|Lead 21876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021877|121877|989898|1|9999021877|MR|Test|E|Lead 21877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021878|121878|989898|1|9999021878|MR|Test|E|Lead 21878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021879|121879|989898|1|9999021879|MR|Test|E|Lead 21879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021880|121880|989898|1|9999021880|MR|Test|E|Lead 21880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021881|121881|989898|1|9999021881|MR|Test|E|Lead 21881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021882|121882|989898|1|9999021882|MR|Test|E|Lead 21882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021883|121883|989898|1|9999021883|MR|Test|E|Lead 21883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021884|121884|989898|1|9999021884|MR|Test|E|Lead 21884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021885|121885|989898|1|9999021885|MR|Test|E|Lead 21885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021886|121886|989898|1|9999021886|MR|Test|E|Lead 21886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021887|121887|989898|1|9999021887|MR|Test|E|Lead 21887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021888|121888|989898|1|9999021888|MR|Test|E|Lead 21888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021889|121889|989898|1|9999021889|MR|Test|E|Lead 21889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021890|121890|989898|1|9999021890|MR|Test|E|Lead 21890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021891|121891|989898|1|9999021891|MR|Test|E|Lead 21891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021892|121892|989898|1|9999021892|MR|Test|E|Lead 21892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021893|121893|989898|1|9999021893|MR|Test|E|Lead 21893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021894|121894|989898|1|9999021894|MR|Test|E|Lead 21894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021895|121895|989898|1|9999021895|MR|Test|E|Lead 21895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021896|121896|989898|1|9999021896|MR|Test|E|Lead 21896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021897|121897|989898|1|9999021897|MR|Test|E|Lead 21897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021898|121898|989898|1|9999021898|MR|Test|E|Lead 21898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021899|121899|989898|1|9999021899|MR|Test|E|Lead 21899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021900|121900|989898|1|9999021900|MR|Test|E|Lead 21900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021901|121901|989898|1|9999021901|MR|Test|E|Lead 21901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021902|121902|989898|1|9999021902|MR|Test|E|Lead 21902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021903|121903|989898|1|9999021903|MR|Test|E|Lead 21903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021904|121904|989898|1|9999021904|MR|Test|E|Lead 21904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021905|121905|989898|1|9999021905|MR|Test|E|Lead 21905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021906|121906|989898|1|9999021906|MR|Test|E|Lead 21906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021907|121907|989898|1|9999021907|MR|Test|E|Lead 21907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021908|121908|989898|1|9999021908|MR|Test|E|Lead 21908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021909|121909|989898|1|9999021909|MR|Test|E|Lead 21909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021910|121910|989898|1|9999021910|MR|Test|E|Lead 21910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021911|121911|989898|1|9999021911|MR|Test|E|Lead 21911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021912|121912|989898|1|9999021912|MR|Test|E|Lead 21912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021913|121913|989898|1|9999021913|MR|Test|E|Lead 21913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021914|121914|989898|1|9999021914|MR|Test|E|Lead 21914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021915|121915|989898|1|9999021915|MR|Test|E|Lead 21915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021916|121916|989898|1|9999021916|MR|Test|E|Lead 21916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021917|121917|989898|1|9999021917|MR|Test|E|Lead 21917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021918|121918|989898|1|9999021918|MR|Test|E|Lead 21918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021919|121919|989898|1|9999021919|MR|Test|E|Lead 21919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021920|121920|989898|1|9999021920|MR|Test|E|Lead 21920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021921|121921|989898|1|9999021921|MR|Test|E|Lead 21921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021922|121922|989898|1|9999021922|MR|Test|E|Lead 21922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021923|121923|989898|1|9999021923|MR|Test|E|Lead 21923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021924|121924|989898|1|9999021924|MR|Test|E|Lead 21924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021925|121925|989898|1|9999021925|MR|Test|E|Lead 21925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021926|121926|989898|1|9999021926|MR|Test|E|Lead 21926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021927|121927|989898|1|9999021927|MR|Test|E|Lead 21927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021928|121928|989898|1|9999021928|MR|Test|E|Lead 21928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021929|121929|989898|1|9999021929|MR|Test|E|Lead 21929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021930|121930|989898|1|9999021930|MR|Test|E|Lead 21930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021931|121931|989898|1|9999021931|MR|Test|E|Lead 21931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021932|121932|989898|1|9999021932|MR|Test|E|Lead 21932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021933|121933|989898|1|9999021933|MR|Test|E|Lead 21933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021934|121934|989898|1|9999021934|MR|Test|E|Lead 21934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021935|121935|989898|1|9999021935|MR|Test|E|Lead 21935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021936|121936|989898|1|9999021936|MR|Test|E|Lead 21936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021937|121937|989898|1|9999021937|MR|Test|E|Lead 21937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021938|121938|989898|1|9999021938|MR|Test|E|Lead 21938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021939|121939|989898|1|9999021939|MR|Test|E|Lead 21939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021940|121940|989898|1|9999021940|MR|Test|E|Lead 21940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021941|121941|989898|1|9999021941|MR|Test|E|Lead 21941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021942|121942|989898|1|9999021942|MR|Test|E|Lead 21942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021943|121943|989898|1|9999021943|MR|Test|E|Lead 21943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021944|121944|989898|1|9999021944|MR|Test|E|Lead 21944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021945|121945|989898|1|9999021945|MR|Test|E|Lead 21945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021946|121946|989898|1|9999021946|MR|Test|E|Lead 21946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021947|121947|989898|1|9999021947|MR|Test|E|Lead 21947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021948|121948|989898|1|9999021948|MR|Test|E|Lead 21948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021949|121949|989898|1|9999021949|MR|Test|E|Lead 21949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021950|121950|989898|1|9999021950|MR|Test|E|Lead 21950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021951|121951|989898|1|9999021951|MR|Test|E|Lead 21951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021952|121952|989898|1|9999021952|MR|Test|E|Lead 21952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021953|121953|989898|1|9999021953|MR|Test|E|Lead 21953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021954|121954|989898|1|9999021954|MR|Test|E|Lead 21954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021955|121955|989898|1|9999021955|MR|Test|E|Lead 21955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021956|121956|989898|1|9999021956|MR|Test|E|Lead 21956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021957|121957|989898|1|9999021957|MR|Test|E|Lead 21957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021958|121958|989898|1|9999021958|MR|Test|E|Lead 21958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021959|121959|989898|1|9999021959|MR|Test|E|Lead 21959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021960|121960|989898|1|9999021960|MR|Test|E|Lead 21960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021961|121961|989898|1|9999021961|MR|Test|E|Lead 21961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021962|121962|989898|1|9999021962|MR|Test|E|Lead 21962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021963|121963|989898|1|9999021963|MR|Test|E|Lead 21963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021964|121964|989898|1|9999021964|MR|Test|E|Lead 21964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021965|121965|989898|1|9999021965|MR|Test|E|Lead 21965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021966|121966|989898|1|9999021966|MR|Test|E|Lead 21966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021967|121967|989898|1|9999021967|MR|Test|E|Lead 21967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021968|121968|989898|1|9999021968|MR|Test|E|Lead 21968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021969|121969|989898|1|9999021969|MR|Test|E|Lead 21969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021970|121970|989898|1|9999021970|MR|Test|E|Lead 21970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021971|121971|989898|1|9999021971|MR|Test|E|Lead 21971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021972|121972|989898|1|9999021972|MR|Test|E|Lead 21972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021973|121973|989898|1|9999021973|MR|Test|E|Lead 21973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021974|121974|989898|1|9999021974|MR|Test|E|Lead 21974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021975|121975|989898|1|9999021975|MR|Test|E|Lead 21975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021976|121976|989898|1|9999021976|MR|Test|E|Lead 21976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021977|121977|989898|1|9999021977|MR|Test|E|Lead 21977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021978|121978|989898|1|9999021978|MR|Test|E|Lead 21978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021979|121979|989898|1|9999021979|MR|Test|E|Lead 21979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021980|121980|989898|1|9999021980|MR|Test|E|Lead 21980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021981|121981|989898|1|9999021981|MR|Test|E|Lead 21981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021982|121982|989898|1|9999021982|MR|Test|E|Lead 21982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021983|121983|989898|1|9999021983|MR|Test|E|Lead 21983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021984|121984|989898|1|9999021984|MR|Test|E|Lead 21984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021985|121985|989898|1|9999021985|MR|Test|E|Lead 21985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021986|121986|989898|1|9999021986|MR|Test|E|Lead 21986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021987|121987|989898|1|9999021987|MR|Test|E|Lead 21987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021988|121988|989898|1|9999021988|MR|Test|E|Lead 21988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021989|121989|989898|1|9999021989|MR|Test|E|Lead 21989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021990|121990|989898|1|9999021990|MR|Test|E|Lead 21990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021991|121991|989898|1|9999021991|MR|Test|E|Lead 21991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021992|121992|989898|1|9999021992|MR|Test|E|Lead 21992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021993|121993|989898|1|9999021993|MR|Test|E|Lead 21993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021994|121994|989898|1|9999021994|MR|Test|E|Lead 21994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021995|121995|989898|1|9999021995|MR|Test|E|Lead 21995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021996|121996|989898|1|9999021996|MR|Test|E|Lead 21996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021997|121997|989898|1|9999021997|MR|Test|E|Lead 21997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021998|121998|989898|1|9999021998|MR|Test|E|Lead 21998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1021999|121999|989898|1|9999021999|MR|Test|E|Lead 21999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022000|122000|989898|1|9999022000|MR|Test|E|Lead 22000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022001|122001|989898|1|9999022001|MR|Test|E|Lead 22001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022002|122002|989898|1|9999022002|MR|Test|E|Lead 22002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022003|122003|989898|1|9999022003|MR|Test|E|Lead 22003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022004|122004|989898|1|9999022004|MR|Test|E|Lead 22004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022005|122005|989898|1|9999022005|MR|Test|E|Lead 22005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022006|122006|989898|1|9999022006|MR|Test|E|Lead 22006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022007|122007|989898|1|9999022007|MR|Test|E|Lead 22007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022008|122008|989898|1|9999022008|MR|Test|E|Lead 22008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022009|122009|989898|1|9999022009|MR|Test|E|Lead 22009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022010|122010|989898|1|9999022010|MR|Test|E|Lead 22010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022011|122011|989898|1|9999022011|MR|Test|E|Lead 22011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022012|122012|989898|1|9999022012|MR|Test|E|Lead 22012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022013|122013|989898|1|9999022013|MR|Test|E|Lead 22013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022014|122014|989898|1|9999022014|MR|Test|E|Lead 22014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022015|122015|989898|1|9999022015|MR|Test|E|Lead 22015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022016|122016|989898|1|9999022016|MR|Test|E|Lead 22016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022017|122017|989898|1|9999022017|MR|Test|E|Lead 22017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022018|122018|989898|1|9999022018|MR|Test|E|Lead 22018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022019|122019|989898|1|9999022019|MR|Test|E|Lead 22019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022020|122020|989898|1|9999022020|MR|Test|E|Lead 22020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022021|122021|989898|1|9999022021|MR|Test|E|Lead 22021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022022|122022|989898|1|9999022022|MR|Test|E|Lead 22022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022023|122023|989898|1|9999022023|MR|Test|E|Lead 22023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022024|122024|989898|1|9999022024|MR|Test|E|Lead 22024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022025|122025|989898|1|9999022025|MR|Test|E|Lead 22025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022026|122026|989898|1|9999022026|MR|Test|E|Lead 22026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022027|122027|989898|1|9999022027|MR|Test|E|Lead 22027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022028|122028|989898|1|9999022028|MR|Test|E|Lead 22028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022029|122029|989898|1|9999022029|MR|Test|E|Lead 22029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022030|122030|989898|1|9999022030|MR|Test|E|Lead 22030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022031|122031|989898|1|9999022031|MR|Test|E|Lead 22031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022032|122032|989898|1|9999022032|MR|Test|E|Lead 22032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022033|122033|989898|1|9999022033|MR|Test|E|Lead 22033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022034|122034|989898|1|9999022034|MR|Test|E|Lead 22034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022035|122035|989898|1|9999022035|MR|Test|E|Lead 22035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022036|122036|989898|1|9999022036|MR|Test|E|Lead 22036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022037|122037|989898|1|9999022037|MR|Test|E|Lead 22037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022038|122038|989898|1|9999022038|MR|Test|E|Lead 22038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022039|122039|989898|1|9999022039|MR|Test|E|Lead 22039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022040|122040|989898|1|9999022040|MR|Test|E|Lead 22040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022041|122041|989898|1|9999022041|MR|Test|E|Lead 22041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022042|122042|989898|1|9999022042|MR|Test|E|Lead 22042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022043|122043|989898|1|9999022043|MR|Test|E|Lead 22043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022044|122044|989898|1|9999022044|MR|Test|E|Lead 22044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022045|122045|989898|1|9999022045|MR|Test|E|Lead 22045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022046|122046|989898|1|9999022046|MR|Test|E|Lead 22046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022047|122047|989898|1|9999022047|MR|Test|E|Lead 22047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022048|122048|989898|1|9999022048|MR|Test|E|Lead 22048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022049|122049|989898|1|9999022049|MR|Test|E|Lead 22049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022050|122050|989898|1|9999022050|MR|Test|E|Lead 22050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022051|122051|989898|1|9999022051|MR|Test|E|Lead 22051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022052|122052|989898|1|9999022052|MR|Test|E|Lead 22052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022053|122053|989898|1|9999022053|MR|Test|E|Lead 22053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022054|122054|989898|1|9999022054|MR|Test|E|Lead 22054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022055|122055|989898|1|9999022055|MR|Test|E|Lead 22055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022056|122056|989898|1|9999022056|MR|Test|E|Lead 22056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022057|122057|989898|1|9999022057|MR|Test|E|Lead 22057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022058|122058|989898|1|9999022058|MR|Test|E|Lead 22058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022059|122059|989898|1|9999022059|MR|Test|E|Lead 22059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022060|122060|989898|1|9999022060|MR|Test|E|Lead 22060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022061|122061|989898|1|9999022061|MR|Test|E|Lead 22061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022062|122062|989898|1|9999022062|MR|Test|E|Lead 22062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022063|122063|989898|1|9999022063|MR|Test|E|Lead 22063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022064|122064|989898|1|9999022064|MR|Test|E|Lead 22064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022065|122065|989898|1|9999022065|MR|Test|E|Lead 22065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022066|122066|989898|1|9999022066|MR|Test|E|Lead 22066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022067|122067|989898|1|9999022067|MR|Test|E|Lead 22067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022068|122068|989898|1|9999022068|MR|Test|E|Lead 22068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022069|122069|989898|1|9999022069|MR|Test|E|Lead 22069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022070|122070|989898|1|9999022070|MR|Test|E|Lead 22070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022071|122071|989898|1|9999022071|MR|Test|E|Lead 22071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022072|122072|989898|1|9999022072|MR|Test|E|Lead 22072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022073|122073|989898|1|9999022073|MR|Test|E|Lead 22073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022074|122074|989898|1|9999022074|MR|Test|E|Lead 22074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022075|122075|989898|1|9999022075|MR|Test|E|Lead 22075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022076|122076|989898|1|9999022076|MR|Test|E|Lead 22076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022077|122077|989898|1|9999022077|MR|Test|E|Lead 22077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022078|122078|989898|1|9999022078|MR|Test|E|Lead 22078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022079|122079|989898|1|9999022079|MR|Test|E|Lead 22079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022080|122080|989898|1|9999022080|MR|Test|E|Lead 22080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022081|122081|989898|1|9999022081|MR|Test|E|Lead 22081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022082|122082|989898|1|9999022082|MR|Test|E|Lead 22082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022083|122083|989898|1|9999022083|MR|Test|E|Lead 22083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022084|122084|989898|1|9999022084|MR|Test|E|Lead 22084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022085|122085|989898|1|9999022085|MR|Test|E|Lead 22085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022086|122086|989898|1|9999022086|MR|Test|E|Lead 22086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022087|122087|989898|1|9999022087|MR|Test|E|Lead 22087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022088|122088|989898|1|9999022088|MR|Test|E|Lead 22088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022089|122089|989898|1|9999022089|MR|Test|E|Lead 22089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022090|122090|989898|1|9999022090|MR|Test|E|Lead 22090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022091|122091|989898|1|9999022091|MR|Test|E|Lead 22091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022092|122092|989898|1|9999022092|MR|Test|E|Lead 22092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022093|122093|989898|1|9999022093|MR|Test|E|Lead 22093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022094|122094|989898|1|9999022094|MR|Test|E|Lead 22094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022095|122095|989898|1|9999022095|MR|Test|E|Lead 22095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022096|122096|989898|1|9999022096|MR|Test|E|Lead 22096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022097|122097|989898|1|9999022097|MR|Test|E|Lead 22097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022098|122098|989898|1|9999022098|MR|Test|E|Lead 22098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022099|122099|989898|1|9999022099|MR|Test|E|Lead 22099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022100|122100|989898|1|9999022100|MR|Test|E|Lead 22100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022101|122101|989898|1|9999022101|MR|Test|E|Lead 22101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022102|122102|989898|1|9999022102|MR|Test|E|Lead 22102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022103|122103|989898|1|9999022103|MR|Test|E|Lead 22103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022104|122104|989898|1|9999022104|MR|Test|E|Lead 22104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022105|122105|989898|1|9999022105|MR|Test|E|Lead 22105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022106|122106|989898|1|9999022106|MR|Test|E|Lead 22106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022107|122107|989898|1|9999022107|MR|Test|E|Lead 22107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022108|122108|989898|1|9999022108|MR|Test|E|Lead 22108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022109|122109|989898|1|9999022109|MR|Test|E|Lead 22109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022110|122110|989898|1|9999022110|MR|Test|E|Lead 22110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022111|122111|989898|1|9999022111|MR|Test|E|Lead 22111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022112|122112|989898|1|9999022112|MR|Test|E|Lead 22112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022113|122113|989898|1|9999022113|MR|Test|E|Lead 22113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022114|122114|989898|1|9999022114|MR|Test|E|Lead 22114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022115|122115|989898|1|9999022115|MR|Test|E|Lead 22115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022116|122116|989898|1|9999022116|MR|Test|E|Lead 22116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022117|122117|989898|1|9999022117|MR|Test|E|Lead 22117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022118|122118|989898|1|9999022118|MR|Test|E|Lead 22118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022119|122119|989898|1|9999022119|MR|Test|E|Lead 22119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022120|122120|989898|1|9999022120|MR|Test|E|Lead 22120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022121|122121|989898|1|9999022121|MR|Test|E|Lead 22121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022122|122122|989898|1|9999022122|MR|Test|E|Lead 22122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022123|122123|989898|1|9999022123|MR|Test|E|Lead 22123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022124|122124|989898|1|9999022124|MR|Test|E|Lead 22124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022125|122125|989898|1|9999022125|MR|Test|E|Lead 22125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022126|122126|989898|1|9999022126|MR|Test|E|Lead 22126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022127|122127|989898|1|9999022127|MR|Test|E|Lead 22127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022128|122128|989898|1|9999022128|MR|Test|E|Lead 22128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022129|122129|989898|1|9999022129|MR|Test|E|Lead 22129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022130|122130|989898|1|9999022130|MR|Test|E|Lead 22130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022131|122131|989898|1|9999022131|MR|Test|E|Lead 22131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022132|122132|989898|1|9999022132|MR|Test|E|Lead 22132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022133|122133|989898|1|9999022133|MR|Test|E|Lead 22133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022134|122134|989898|1|9999022134|MR|Test|E|Lead 22134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022135|122135|989898|1|9999022135|MR|Test|E|Lead 22135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022136|122136|989898|1|9999022136|MR|Test|E|Lead 22136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022137|122137|989898|1|9999022137|MR|Test|E|Lead 22137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022138|122138|989898|1|9999022138|MR|Test|E|Lead 22138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022139|122139|989898|1|9999022139|MR|Test|E|Lead 22139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022140|122140|989898|1|9999022140|MR|Test|E|Lead 22140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022141|122141|989898|1|9999022141|MR|Test|E|Lead 22141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022142|122142|989898|1|9999022142|MR|Test|E|Lead 22142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022143|122143|989898|1|9999022143|MR|Test|E|Lead 22143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022144|122144|989898|1|9999022144|MR|Test|E|Lead 22144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022145|122145|989898|1|9999022145|MR|Test|E|Lead 22145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022146|122146|989898|1|9999022146|MR|Test|E|Lead 22146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022147|122147|989898|1|9999022147|MR|Test|E|Lead 22147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022148|122148|989898|1|9999022148|MR|Test|E|Lead 22148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022149|122149|989898|1|9999022149|MR|Test|E|Lead 22149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022150|122150|989898|1|9999022150|MR|Test|E|Lead 22150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022151|122151|989898|1|9999022151|MR|Test|E|Lead 22151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022152|122152|989898|1|9999022152|MR|Test|E|Lead 22152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022153|122153|989898|1|9999022153|MR|Test|E|Lead 22153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022154|122154|989898|1|9999022154|MR|Test|E|Lead 22154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022155|122155|989898|1|9999022155|MR|Test|E|Lead 22155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022156|122156|989898|1|9999022156|MR|Test|E|Lead 22156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022157|122157|989898|1|9999022157|MR|Test|E|Lead 22157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022158|122158|989898|1|9999022158|MR|Test|E|Lead 22158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022159|122159|989898|1|9999022159|MR|Test|E|Lead 22159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022160|122160|989898|1|9999022160|MR|Test|E|Lead 22160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022161|122161|989898|1|9999022161|MR|Test|E|Lead 22161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022162|122162|989898|1|9999022162|MR|Test|E|Lead 22162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022163|122163|989898|1|9999022163|MR|Test|E|Lead 22163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022164|122164|989898|1|9999022164|MR|Test|E|Lead 22164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022165|122165|989898|1|9999022165|MR|Test|E|Lead 22165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022166|122166|989898|1|9999022166|MR|Test|E|Lead 22166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022167|122167|989898|1|9999022167|MR|Test|E|Lead 22167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022168|122168|989898|1|9999022168|MR|Test|E|Lead 22168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022169|122169|989898|1|9999022169|MR|Test|E|Lead 22169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022170|122170|989898|1|9999022170|MR|Test|E|Lead 22170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022171|122171|989898|1|9999022171|MR|Test|E|Lead 22171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022172|122172|989898|1|9999022172|MR|Test|E|Lead 22172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022173|122173|989898|1|9999022173|MR|Test|E|Lead 22173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022174|122174|989898|1|9999022174|MR|Test|E|Lead 22174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022175|122175|989898|1|9999022175|MR|Test|E|Lead 22175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022176|122176|989898|1|9999022176|MR|Test|E|Lead 22176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022177|122177|989898|1|9999022177|MR|Test|E|Lead 22177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022178|122178|989898|1|9999022178|MR|Test|E|Lead 22178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022179|122179|989898|1|9999022179|MR|Test|E|Lead 22179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022180|122180|989898|1|9999022180|MR|Test|E|Lead 22180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022181|122181|989898|1|9999022181|MR|Test|E|Lead 22181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022182|122182|989898|1|9999022182|MR|Test|E|Lead 22182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022183|122183|989898|1|9999022183|MR|Test|E|Lead 22183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022184|122184|989898|1|9999022184|MR|Test|E|Lead 22184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022185|122185|989898|1|9999022185|MR|Test|E|Lead 22185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022186|122186|989898|1|9999022186|MR|Test|E|Lead 22186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022187|122187|989898|1|9999022187|MR|Test|E|Lead 22187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022188|122188|989898|1|9999022188|MR|Test|E|Lead 22188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022189|122189|989898|1|9999022189|MR|Test|E|Lead 22189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022190|122190|989898|1|9999022190|MR|Test|E|Lead 22190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022191|122191|989898|1|9999022191|MR|Test|E|Lead 22191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022192|122192|989898|1|9999022192|MR|Test|E|Lead 22192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022193|122193|989898|1|9999022193|MR|Test|E|Lead 22193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022194|122194|989898|1|9999022194|MR|Test|E|Lead 22194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022195|122195|989898|1|9999022195|MR|Test|E|Lead 22195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022196|122196|989898|1|9999022196|MR|Test|E|Lead 22196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022197|122197|989898|1|9999022197|MR|Test|E|Lead 22197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022198|122198|989898|1|9999022198|MR|Test|E|Lead 22198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022199|122199|989898|1|9999022199|MR|Test|E|Lead 22199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022200|122200|989898|1|9999022200|MR|Test|E|Lead 22200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022201|122201|989898|1|9999022201|MR|Test|E|Lead 22201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022202|122202|989898|1|9999022202|MR|Test|E|Lead 22202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022203|122203|989898|1|9999022203|MR|Test|E|Lead 22203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022204|122204|989898|1|9999022204|MR|Test|E|Lead 22204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022205|122205|989898|1|9999022205|MR|Test|E|Lead 22205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022206|122206|989898|1|9999022206|MR|Test|E|Lead 22206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022207|122207|989898|1|9999022207|MR|Test|E|Lead 22207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022208|122208|989898|1|9999022208|MR|Test|E|Lead 22208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022209|122209|989898|1|9999022209|MR|Test|E|Lead 22209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022210|122210|989898|1|9999022210|MR|Test|E|Lead 22210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022211|122211|989898|1|9999022211|MR|Test|E|Lead 22211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022212|122212|989898|1|9999022212|MR|Test|E|Lead 22212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022213|122213|989898|1|9999022213|MR|Test|E|Lead 22213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022214|122214|989898|1|9999022214|MR|Test|E|Lead 22214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022215|122215|989898|1|9999022215|MR|Test|E|Lead 22215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022216|122216|989898|1|9999022216|MR|Test|E|Lead 22216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022217|122217|989898|1|9999022217|MR|Test|E|Lead 22217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022218|122218|989898|1|9999022218|MR|Test|E|Lead 22218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022219|122219|989898|1|9999022219|MR|Test|E|Lead 22219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022220|122220|989898|1|9999022220|MR|Test|E|Lead 22220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022221|122221|989898|1|9999022221|MR|Test|E|Lead 22221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022222|122222|989898|1|9999022222|MR|Test|E|Lead 22222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022223|122223|989898|1|9999022223|MR|Test|E|Lead 22223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022224|122224|989898|1|9999022224|MR|Test|E|Lead 22224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022225|122225|989898|1|9999022225|MR|Test|E|Lead 22225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022226|122226|989898|1|9999022226|MR|Test|E|Lead 22226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022227|122227|989898|1|9999022227|MR|Test|E|Lead 22227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022228|122228|989898|1|9999022228|MR|Test|E|Lead 22228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022229|122229|989898|1|9999022229|MR|Test|E|Lead 22229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022230|122230|989898|1|9999022230|MR|Test|E|Lead 22230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022231|122231|989898|1|9999022231|MR|Test|E|Lead 22231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022232|122232|989898|1|9999022232|MR|Test|E|Lead 22232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022233|122233|989898|1|9999022233|MR|Test|E|Lead 22233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022234|122234|989898|1|9999022234|MR|Test|E|Lead 22234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022235|122235|989898|1|9999022235|MR|Test|E|Lead 22235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022236|122236|989898|1|9999022236|MR|Test|E|Lead 22236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022237|122237|989898|1|9999022237|MR|Test|E|Lead 22237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022238|122238|989898|1|9999022238|MR|Test|E|Lead 22238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022239|122239|989898|1|9999022239|MR|Test|E|Lead 22239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022240|122240|989898|1|9999022240|MR|Test|E|Lead 22240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022241|122241|989898|1|9999022241|MR|Test|E|Lead 22241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022242|122242|989898|1|9999022242|MR|Test|E|Lead 22242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022243|122243|989898|1|9999022243|MR|Test|E|Lead 22243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022244|122244|989898|1|9999022244|MR|Test|E|Lead 22244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022245|122245|989898|1|9999022245|MR|Test|E|Lead 22245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022246|122246|989898|1|9999022246|MR|Test|E|Lead 22246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022247|122247|989898|1|9999022247|MR|Test|E|Lead 22247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022248|122248|989898|1|9999022248|MR|Test|E|Lead 22248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022249|122249|989898|1|9999022249|MR|Test|E|Lead 22249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022250|122250|989898|1|9999022250|MR|Test|E|Lead 22250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022251|122251|989898|1|9999022251|MR|Test|E|Lead 22251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022252|122252|989898|1|9999022252|MR|Test|E|Lead 22252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022253|122253|989898|1|9999022253|MR|Test|E|Lead 22253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022254|122254|989898|1|9999022254|MR|Test|E|Lead 22254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022255|122255|989898|1|9999022255|MR|Test|E|Lead 22255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022256|122256|989898|1|9999022256|MR|Test|E|Lead 22256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022257|122257|989898|1|9999022257|MR|Test|E|Lead 22257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022258|122258|989898|1|9999022258|MR|Test|E|Lead 22258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022259|122259|989898|1|9999022259|MR|Test|E|Lead 22259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022260|122260|989898|1|9999022260|MR|Test|E|Lead 22260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022261|122261|989898|1|9999022261|MR|Test|E|Lead 22261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022262|122262|989898|1|9999022262|MR|Test|E|Lead 22262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022263|122263|989898|1|9999022263|MR|Test|E|Lead 22263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022264|122264|989898|1|9999022264|MR|Test|E|Lead 22264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022265|122265|989898|1|9999022265|MR|Test|E|Lead 22265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022266|122266|989898|1|9999022266|MR|Test|E|Lead 22266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022267|122267|989898|1|9999022267|MR|Test|E|Lead 22267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022268|122268|989898|1|9999022268|MR|Test|E|Lead 22268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022269|122269|989898|1|9999022269|MR|Test|E|Lead 22269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022270|122270|989898|1|9999022270|MR|Test|E|Lead 22270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022271|122271|989898|1|9999022271|MR|Test|E|Lead 22271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022272|122272|989898|1|9999022272|MR|Test|E|Lead 22272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022273|122273|989898|1|9999022273|MR|Test|E|Lead 22273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022274|122274|989898|1|9999022274|MR|Test|E|Lead 22274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022275|122275|989898|1|9999022275|MR|Test|E|Lead 22275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022276|122276|989898|1|9999022276|MR|Test|E|Lead 22276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022277|122277|989898|1|9999022277|MR|Test|E|Lead 22277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022278|122278|989898|1|9999022278|MR|Test|E|Lead 22278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022279|122279|989898|1|9999022279|MR|Test|E|Lead 22279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022280|122280|989898|1|9999022280|MR|Test|E|Lead 22280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022281|122281|989898|1|9999022281|MR|Test|E|Lead 22281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022282|122282|989898|1|9999022282|MR|Test|E|Lead 22282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022283|122283|989898|1|9999022283|MR|Test|E|Lead 22283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022284|122284|989898|1|9999022284|MR|Test|E|Lead 22284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022285|122285|989898|1|9999022285|MR|Test|E|Lead 22285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022286|122286|989898|1|9999022286|MR|Test|E|Lead 22286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022287|122287|989898|1|9999022287|MR|Test|E|Lead 22287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022288|122288|989898|1|9999022288|MR|Test|E|Lead 22288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022289|122289|989898|1|9999022289|MR|Test|E|Lead 22289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022290|122290|989898|1|9999022290|MR|Test|E|Lead 22290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022291|122291|989898|1|9999022291|MR|Test|E|Lead 22291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022292|122292|989898|1|9999022292|MR|Test|E|Lead 22292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022293|122293|989898|1|9999022293|MR|Test|E|Lead 22293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022294|122294|989898|1|9999022294|MR|Test|E|Lead 22294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022295|122295|989898|1|9999022295|MR|Test|E|Lead 22295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022296|122296|989898|1|9999022296|MR|Test|E|Lead 22296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022297|122297|989898|1|9999022297|MR|Test|E|Lead 22297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022298|122298|989898|1|9999022298|MR|Test|E|Lead 22298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022299|122299|989898|1|9999022299|MR|Test|E|Lead 22299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022300|122300|989898|1|9999022300|MR|Test|E|Lead 22300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022301|122301|989898|1|9999022301|MR|Test|E|Lead 22301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022302|122302|989898|1|9999022302|MR|Test|E|Lead 22302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022303|122303|989898|1|9999022303|MR|Test|E|Lead 22303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022304|122304|989898|1|9999022304|MR|Test|E|Lead 22304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022305|122305|989898|1|9999022305|MR|Test|E|Lead 22305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022306|122306|989898|1|9999022306|MR|Test|E|Lead 22306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022307|122307|989898|1|9999022307|MR|Test|E|Lead 22307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022308|122308|989898|1|9999022308|MR|Test|E|Lead 22308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022309|122309|989898|1|9999022309|MR|Test|E|Lead 22309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022310|122310|989898|1|9999022310|MR|Test|E|Lead 22310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022311|122311|989898|1|9999022311|MR|Test|E|Lead 22311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022312|122312|989898|1|9999022312|MR|Test|E|Lead 22312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022313|122313|989898|1|9999022313|MR|Test|E|Lead 22313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022314|122314|989898|1|9999022314|MR|Test|E|Lead 22314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022315|122315|989898|1|9999022315|MR|Test|E|Lead 22315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022316|122316|989898|1|9999022316|MR|Test|E|Lead 22316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022317|122317|989898|1|9999022317|MR|Test|E|Lead 22317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022318|122318|989898|1|9999022318|MR|Test|E|Lead 22318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022319|122319|989898|1|9999022319|MR|Test|E|Lead 22319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022320|122320|989898|1|9999022320|MR|Test|E|Lead 22320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022321|122321|989898|1|9999022321|MR|Test|E|Lead 22321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022322|122322|989898|1|9999022322|MR|Test|E|Lead 22322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022323|122323|989898|1|9999022323|MR|Test|E|Lead 22323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022324|122324|989898|1|9999022324|MR|Test|E|Lead 22324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022325|122325|989898|1|9999022325|MR|Test|E|Lead 22325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022326|122326|989898|1|9999022326|MR|Test|E|Lead 22326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022327|122327|989898|1|9999022327|MR|Test|E|Lead 22327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022328|122328|989898|1|9999022328|MR|Test|E|Lead 22328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022329|122329|989898|1|9999022329|MR|Test|E|Lead 22329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022330|122330|989898|1|9999022330|MR|Test|E|Lead 22330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022331|122331|989898|1|9999022331|MR|Test|E|Lead 22331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022332|122332|989898|1|9999022332|MR|Test|E|Lead 22332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022333|122333|989898|1|9999022333|MR|Test|E|Lead 22333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022334|122334|989898|1|9999022334|MR|Test|E|Lead 22334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022335|122335|989898|1|9999022335|MR|Test|E|Lead 22335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022336|122336|989898|1|9999022336|MR|Test|E|Lead 22336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022337|122337|989898|1|9999022337|MR|Test|E|Lead 22337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022338|122338|989898|1|9999022338|MR|Test|E|Lead 22338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022339|122339|989898|1|9999022339|MR|Test|E|Lead 22339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022340|122340|989898|1|9999022340|MR|Test|E|Lead 22340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022341|122341|989898|1|9999022341|MR|Test|E|Lead 22341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022342|122342|989898|1|9999022342|MR|Test|E|Lead 22342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022343|122343|989898|1|9999022343|MR|Test|E|Lead 22343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022344|122344|989898|1|9999022344|MR|Test|E|Lead 22344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022345|122345|989898|1|9999022345|MR|Test|E|Lead 22345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022346|122346|989898|1|9999022346|MR|Test|E|Lead 22346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022347|122347|989898|1|9999022347|MR|Test|E|Lead 22347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022348|122348|989898|1|9999022348|MR|Test|E|Lead 22348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022349|122349|989898|1|9999022349|MR|Test|E|Lead 22349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022350|122350|989898|1|9999022350|MR|Test|E|Lead 22350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022351|122351|989898|1|9999022351|MR|Test|E|Lead 22351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022352|122352|989898|1|9999022352|MR|Test|E|Lead 22352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022353|122353|989898|1|9999022353|MR|Test|E|Lead 22353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022354|122354|989898|1|9999022354|MR|Test|E|Lead 22354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022355|122355|989898|1|9999022355|MR|Test|E|Lead 22355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022356|122356|989898|1|9999022356|MR|Test|E|Lead 22356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022357|122357|989898|1|9999022357|MR|Test|E|Lead 22357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022358|122358|989898|1|9999022358|MR|Test|E|Lead 22358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022359|122359|989898|1|9999022359|MR|Test|E|Lead 22359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022360|122360|989898|1|9999022360|MR|Test|E|Lead 22360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022361|122361|989898|1|9999022361|MR|Test|E|Lead 22361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022362|122362|989898|1|9999022362|MR|Test|E|Lead 22362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022363|122363|989898|1|9999022363|MR|Test|E|Lead 22363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022364|122364|989898|1|9999022364|MR|Test|E|Lead 22364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022365|122365|989898|1|9999022365|MR|Test|E|Lead 22365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022366|122366|989898|1|9999022366|MR|Test|E|Lead 22366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022367|122367|989898|1|9999022367|MR|Test|E|Lead 22367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022368|122368|989898|1|9999022368|MR|Test|E|Lead 22368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022369|122369|989898|1|9999022369|MR|Test|E|Lead 22369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022370|122370|989898|1|9999022370|MR|Test|E|Lead 22370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022371|122371|989898|1|9999022371|MR|Test|E|Lead 22371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022372|122372|989898|1|9999022372|MR|Test|E|Lead 22372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022373|122373|989898|1|9999022373|MR|Test|E|Lead 22373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022374|122374|989898|1|9999022374|MR|Test|E|Lead 22374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022375|122375|989898|1|9999022375|MR|Test|E|Lead 22375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022376|122376|989898|1|9999022376|MR|Test|E|Lead 22376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022377|122377|989898|1|9999022377|MR|Test|E|Lead 22377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022378|122378|989898|1|9999022378|MR|Test|E|Lead 22378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022379|122379|989898|1|9999022379|MR|Test|E|Lead 22379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022380|122380|989898|1|9999022380|MR|Test|E|Lead 22380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022381|122381|989898|1|9999022381|MR|Test|E|Lead 22381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022382|122382|989898|1|9999022382|MR|Test|E|Lead 22382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022383|122383|989898|1|9999022383|MR|Test|E|Lead 22383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022384|122384|989898|1|9999022384|MR|Test|E|Lead 22384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022385|122385|989898|1|9999022385|MR|Test|E|Lead 22385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022386|122386|989898|1|9999022386|MR|Test|E|Lead 22386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022387|122387|989898|1|9999022387|MR|Test|E|Lead 22387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022388|122388|989898|1|9999022388|MR|Test|E|Lead 22388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022389|122389|989898|1|9999022389|MR|Test|E|Lead 22389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022390|122390|989898|1|9999022390|MR|Test|E|Lead 22390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022391|122391|989898|1|9999022391|MR|Test|E|Lead 22391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022392|122392|989898|1|9999022392|MR|Test|E|Lead 22392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022393|122393|989898|1|9999022393|MR|Test|E|Lead 22393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022394|122394|989898|1|9999022394|MR|Test|E|Lead 22394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022395|122395|989898|1|9999022395|MR|Test|E|Lead 22395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022396|122396|989898|1|9999022396|MR|Test|E|Lead 22396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022397|122397|989898|1|9999022397|MR|Test|E|Lead 22397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022398|122398|989898|1|9999022398|MR|Test|E|Lead 22398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022399|122399|989898|1|9999022399|MR|Test|E|Lead 22399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022400|122400|989898|1|9999022400|MR|Test|E|Lead 22400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022401|122401|989898|1|9999022401|MR|Test|E|Lead 22401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022402|122402|989898|1|9999022402|MR|Test|E|Lead 22402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022403|122403|989898|1|9999022403|MR|Test|E|Lead 22403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022404|122404|989898|1|9999022404|MR|Test|E|Lead 22404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022405|122405|989898|1|9999022405|MR|Test|E|Lead 22405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022406|122406|989898|1|9999022406|MR|Test|E|Lead 22406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022407|122407|989898|1|9999022407|MR|Test|E|Lead 22407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022408|122408|989898|1|9999022408|MR|Test|E|Lead 22408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022409|122409|989898|1|9999022409|MR|Test|E|Lead 22409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022410|122410|989898|1|9999022410|MR|Test|E|Lead 22410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022411|122411|989898|1|9999022411|MR|Test|E|Lead 22411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022412|122412|989898|1|9999022412|MR|Test|E|Lead 22412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022413|122413|989898|1|9999022413|MR|Test|E|Lead 22413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022414|122414|989898|1|9999022414|MR|Test|E|Lead 22414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022415|122415|989898|1|9999022415|MR|Test|E|Lead 22415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022416|122416|989898|1|9999022416|MR|Test|E|Lead 22416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022417|122417|989898|1|9999022417|MR|Test|E|Lead 22417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022418|122418|989898|1|9999022418|MR|Test|E|Lead 22418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022419|122419|989898|1|9999022419|MR|Test|E|Lead 22419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022420|122420|989898|1|9999022420|MR|Test|E|Lead 22420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022421|122421|989898|1|9999022421|MR|Test|E|Lead 22421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022422|122422|989898|1|9999022422|MR|Test|E|Lead 22422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022423|122423|989898|1|9999022423|MR|Test|E|Lead 22423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022424|122424|989898|1|9999022424|MR|Test|E|Lead 22424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022425|122425|989898|1|9999022425|MR|Test|E|Lead 22425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022426|122426|989898|1|9999022426|MR|Test|E|Lead 22426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022427|122427|989898|1|9999022427|MR|Test|E|Lead 22427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022428|122428|989898|1|9999022428|MR|Test|E|Lead 22428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022429|122429|989898|1|9999022429|MR|Test|E|Lead 22429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022430|122430|989898|1|9999022430|MR|Test|E|Lead 22430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022431|122431|989898|1|9999022431|MR|Test|E|Lead 22431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022432|122432|989898|1|9999022432|MR|Test|E|Lead 22432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022433|122433|989898|1|9999022433|MR|Test|E|Lead 22433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022434|122434|989898|1|9999022434|MR|Test|E|Lead 22434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022435|122435|989898|1|9999022435|MR|Test|E|Lead 22435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022436|122436|989898|1|9999022436|MR|Test|E|Lead 22436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022437|122437|989898|1|9999022437|MR|Test|E|Lead 22437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022438|122438|989898|1|9999022438|MR|Test|E|Lead 22438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022439|122439|989898|1|9999022439|MR|Test|E|Lead 22439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022440|122440|989898|1|9999022440|MR|Test|E|Lead 22440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022441|122441|989898|1|9999022441|MR|Test|E|Lead 22441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022442|122442|989898|1|9999022442|MR|Test|E|Lead 22442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022443|122443|989898|1|9999022443|MR|Test|E|Lead 22443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022444|122444|989898|1|9999022444|MR|Test|E|Lead 22444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022445|122445|989898|1|9999022445|MR|Test|E|Lead 22445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022446|122446|989898|1|9999022446|MR|Test|E|Lead 22446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022447|122447|989898|1|9999022447|MR|Test|E|Lead 22447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022448|122448|989898|1|9999022448|MR|Test|E|Lead 22448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022449|122449|989898|1|9999022449|MR|Test|E|Lead 22449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022450|122450|989898|1|9999022450|MR|Test|E|Lead 22450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022451|122451|989898|1|9999022451|MR|Test|E|Lead 22451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022452|122452|989898|1|9999022452|MR|Test|E|Lead 22452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022453|122453|989898|1|9999022453|MR|Test|E|Lead 22453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022454|122454|989898|1|9999022454|MR|Test|E|Lead 22454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022455|122455|989898|1|9999022455|MR|Test|E|Lead 22455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022456|122456|989898|1|9999022456|MR|Test|E|Lead 22456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022457|122457|989898|1|9999022457|MR|Test|E|Lead 22457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022458|122458|989898|1|9999022458|MR|Test|E|Lead 22458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022459|122459|989898|1|9999022459|MR|Test|E|Lead 22459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022460|122460|989898|1|9999022460|MR|Test|E|Lead 22460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022461|122461|989898|1|9999022461|MR|Test|E|Lead 22461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022462|122462|989898|1|9999022462|MR|Test|E|Lead 22462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022463|122463|989898|1|9999022463|MR|Test|E|Lead 22463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022464|122464|989898|1|9999022464|MR|Test|E|Lead 22464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022465|122465|989898|1|9999022465|MR|Test|E|Lead 22465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022466|122466|989898|1|9999022466|MR|Test|E|Lead 22466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022467|122467|989898|1|9999022467|MR|Test|E|Lead 22467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022468|122468|989898|1|9999022468|MR|Test|E|Lead 22468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022469|122469|989898|1|9999022469|MR|Test|E|Lead 22469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022470|122470|989898|1|9999022470|MR|Test|E|Lead 22470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022471|122471|989898|1|9999022471|MR|Test|E|Lead 22471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022472|122472|989898|1|9999022472|MR|Test|E|Lead 22472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022473|122473|989898|1|9999022473|MR|Test|E|Lead 22473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022474|122474|989898|1|9999022474|MR|Test|E|Lead 22474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022475|122475|989898|1|9999022475|MR|Test|E|Lead 22475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022476|122476|989898|1|9999022476|MR|Test|E|Lead 22476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022477|122477|989898|1|9999022477|MR|Test|E|Lead 22477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022478|122478|989898|1|9999022478|MR|Test|E|Lead 22478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022479|122479|989898|1|9999022479|MR|Test|E|Lead 22479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022480|122480|989898|1|9999022480|MR|Test|E|Lead 22480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022481|122481|989898|1|9999022481|MR|Test|E|Lead 22481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022482|122482|989898|1|9999022482|MR|Test|E|Lead 22482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022483|122483|989898|1|9999022483|MR|Test|E|Lead 22483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022484|122484|989898|1|9999022484|MR|Test|E|Lead 22484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022485|122485|989898|1|9999022485|MR|Test|E|Lead 22485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022486|122486|989898|1|9999022486|MR|Test|E|Lead 22486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022487|122487|989898|1|9999022487|MR|Test|E|Lead 22487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022488|122488|989898|1|9999022488|MR|Test|E|Lead 22488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022489|122489|989898|1|9999022489|MR|Test|E|Lead 22489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022490|122490|989898|1|9999022490|MR|Test|E|Lead 22490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022491|122491|989898|1|9999022491|MR|Test|E|Lead 22491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022492|122492|989898|1|9999022492|MR|Test|E|Lead 22492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022493|122493|989898|1|9999022493|MR|Test|E|Lead 22493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022494|122494|989898|1|9999022494|MR|Test|E|Lead 22494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022495|122495|989898|1|9999022495|MR|Test|E|Lead 22495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022496|122496|989898|1|9999022496|MR|Test|E|Lead 22496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022497|122497|989898|1|9999022497|MR|Test|E|Lead 22497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022498|122498|989898|1|9999022498|MR|Test|E|Lead 22498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022499|122499|989898|1|9999022499|MR|Test|E|Lead 22499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022500|122500|989898|1|9999022500|MR|Test|E|Lead 22500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022501|122501|989898|1|9999022501|MR|Test|E|Lead 22501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022502|122502|989898|1|9999022502|MR|Test|E|Lead 22502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022503|122503|989898|1|9999022503|MR|Test|E|Lead 22503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022504|122504|989898|1|9999022504|MR|Test|E|Lead 22504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022505|122505|989898|1|9999022505|MR|Test|E|Lead 22505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022506|122506|989898|1|9999022506|MR|Test|E|Lead 22506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022507|122507|989898|1|9999022507|MR|Test|E|Lead 22507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022508|122508|989898|1|9999022508|MR|Test|E|Lead 22508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022509|122509|989898|1|9999022509|MR|Test|E|Lead 22509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022510|122510|989898|1|9999022510|MR|Test|E|Lead 22510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022511|122511|989898|1|9999022511|MR|Test|E|Lead 22511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022512|122512|989898|1|9999022512|MR|Test|E|Lead 22512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022513|122513|989898|1|9999022513|MR|Test|E|Lead 22513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022514|122514|989898|1|9999022514|MR|Test|E|Lead 22514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022515|122515|989898|1|9999022515|MR|Test|E|Lead 22515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022516|122516|989898|1|9999022516|MR|Test|E|Lead 22516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022517|122517|989898|1|9999022517|MR|Test|E|Lead 22517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022518|122518|989898|1|9999022518|MR|Test|E|Lead 22518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022519|122519|989898|1|9999022519|MR|Test|E|Lead 22519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022520|122520|989898|1|9999022520|MR|Test|E|Lead 22520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022521|122521|989898|1|9999022521|MR|Test|E|Lead 22521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022522|122522|989898|1|9999022522|MR|Test|E|Lead 22522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022523|122523|989898|1|9999022523|MR|Test|E|Lead 22523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022524|122524|989898|1|9999022524|MR|Test|E|Lead 22524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022525|122525|989898|1|9999022525|MR|Test|E|Lead 22525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022526|122526|989898|1|9999022526|MR|Test|E|Lead 22526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022527|122527|989898|1|9999022527|MR|Test|E|Lead 22527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022528|122528|989898|1|9999022528|MR|Test|E|Lead 22528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022529|122529|989898|1|9999022529|MR|Test|E|Lead 22529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022530|122530|989898|1|9999022530|MR|Test|E|Lead 22530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022531|122531|989898|1|9999022531|MR|Test|E|Lead 22531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022532|122532|989898|1|9999022532|MR|Test|E|Lead 22532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022533|122533|989898|1|9999022533|MR|Test|E|Lead 22533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022534|122534|989898|1|9999022534|MR|Test|E|Lead 22534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022535|122535|989898|1|9999022535|MR|Test|E|Lead 22535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022536|122536|989898|1|9999022536|MR|Test|E|Lead 22536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022537|122537|989898|1|9999022537|MR|Test|E|Lead 22537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022538|122538|989898|1|9999022538|MR|Test|E|Lead 22538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022539|122539|989898|1|9999022539|MR|Test|E|Lead 22539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022540|122540|989898|1|9999022540|MR|Test|E|Lead 22540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022541|122541|989898|1|9999022541|MR|Test|E|Lead 22541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022542|122542|989898|1|9999022542|MR|Test|E|Lead 22542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022543|122543|989898|1|9999022543|MR|Test|E|Lead 22543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022544|122544|989898|1|9999022544|MR|Test|E|Lead 22544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022545|122545|989898|1|9999022545|MR|Test|E|Lead 22545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022546|122546|989898|1|9999022546|MR|Test|E|Lead 22546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022547|122547|989898|1|9999022547|MR|Test|E|Lead 22547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022548|122548|989898|1|9999022548|MR|Test|E|Lead 22548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022549|122549|989898|1|9999022549|MR|Test|E|Lead 22549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022550|122550|989898|1|9999022550|MR|Test|E|Lead 22550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022551|122551|989898|1|9999022551|MR|Test|E|Lead 22551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022552|122552|989898|1|9999022552|MR|Test|E|Lead 22552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022553|122553|989898|1|9999022553|MR|Test|E|Lead 22553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022554|122554|989898|1|9999022554|MR|Test|E|Lead 22554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022555|122555|989898|1|9999022555|MR|Test|E|Lead 22555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022556|122556|989898|1|9999022556|MR|Test|E|Lead 22556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022557|122557|989898|1|9999022557|MR|Test|E|Lead 22557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022558|122558|989898|1|9999022558|MR|Test|E|Lead 22558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022559|122559|989898|1|9999022559|MR|Test|E|Lead 22559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022560|122560|989898|1|9999022560|MR|Test|E|Lead 22560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022561|122561|989898|1|9999022561|MR|Test|E|Lead 22561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022562|122562|989898|1|9999022562|MR|Test|E|Lead 22562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022563|122563|989898|1|9999022563|MR|Test|E|Lead 22563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022564|122564|989898|1|9999022564|MR|Test|E|Lead 22564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022565|122565|989898|1|9999022565|MR|Test|E|Lead 22565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022566|122566|989898|1|9999022566|MR|Test|E|Lead 22566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022567|122567|989898|1|9999022567|MR|Test|E|Lead 22567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022568|122568|989898|1|9999022568|MR|Test|E|Lead 22568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022569|122569|989898|1|9999022569|MR|Test|E|Lead 22569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022570|122570|989898|1|9999022570|MR|Test|E|Lead 22570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022571|122571|989898|1|9999022571|MR|Test|E|Lead 22571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022572|122572|989898|1|9999022572|MR|Test|E|Lead 22572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022573|122573|989898|1|9999022573|MR|Test|E|Lead 22573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022574|122574|989898|1|9999022574|MR|Test|E|Lead 22574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022575|122575|989898|1|9999022575|MR|Test|E|Lead 22575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022576|122576|989898|1|9999022576|MR|Test|E|Lead 22576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022577|122577|989898|1|9999022577|MR|Test|E|Lead 22577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022578|122578|989898|1|9999022578|MR|Test|E|Lead 22578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022579|122579|989898|1|9999022579|MR|Test|E|Lead 22579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022580|122580|989898|1|9999022580|MR|Test|E|Lead 22580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022581|122581|989898|1|9999022581|MR|Test|E|Lead 22581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022582|122582|989898|1|9999022582|MR|Test|E|Lead 22582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022583|122583|989898|1|9999022583|MR|Test|E|Lead 22583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022584|122584|989898|1|9999022584|MR|Test|E|Lead 22584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022585|122585|989898|1|9999022585|MR|Test|E|Lead 22585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022586|122586|989898|1|9999022586|MR|Test|E|Lead 22586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022587|122587|989898|1|9999022587|MR|Test|E|Lead 22587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022588|122588|989898|1|9999022588|MR|Test|E|Lead 22588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022589|122589|989898|1|9999022589|MR|Test|E|Lead 22589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022590|122590|989898|1|9999022590|MR|Test|E|Lead 22590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022591|122591|989898|1|9999022591|MR|Test|E|Lead 22591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022592|122592|989898|1|9999022592|MR|Test|E|Lead 22592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022593|122593|989898|1|9999022593|MR|Test|E|Lead 22593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022594|122594|989898|1|9999022594|MR|Test|E|Lead 22594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022595|122595|989898|1|9999022595|MR|Test|E|Lead 22595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022596|122596|989898|1|9999022596|MR|Test|E|Lead 22596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022597|122597|989898|1|9999022597|MR|Test|E|Lead 22597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022598|122598|989898|1|9999022598|MR|Test|E|Lead 22598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022599|122599|989898|1|9999022599|MR|Test|E|Lead 22599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022600|122600|989898|1|9999022600|MR|Test|E|Lead 22600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022601|122601|989898|1|9999022601|MR|Test|E|Lead 22601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022602|122602|989898|1|9999022602|MR|Test|E|Lead 22602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022603|122603|989898|1|9999022603|MR|Test|E|Lead 22603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022604|122604|989898|1|9999022604|MR|Test|E|Lead 22604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022605|122605|989898|1|9999022605|MR|Test|E|Lead 22605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022606|122606|989898|1|9999022606|MR|Test|E|Lead 22606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022607|122607|989898|1|9999022607|MR|Test|E|Lead 22607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022608|122608|989898|1|9999022608|MR|Test|E|Lead 22608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022609|122609|989898|1|9999022609|MR|Test|E|Lead 22609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022610|122610|989898|1|9999022610|MR|Test|E|Lead 22610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022611|122611|989898|1|9999022611|MR|Test|E|Lead 22611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022612|122612|989898|1|9999022612|MR|Test|E|Lead 22612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022613|122613|989898|1|9999022613|MR|Test|E|Lead 22613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022614|122614|989898|1|9999022614|MR|Test|E|Lead 22614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022615|122615|989898|1|9999022615|MR|Test|E|Lead 22615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022616|122616|989898|1|9999022616|MR|Test|E|Lead 22616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022617|122617|989898|1|9999022617|MR|Test|E|Lead 22617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022618|122618|989898|1|9999022618|MR|Test|E|Lead 22618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022619|122619|989898|1|9999022619|MR|Test|E|Lead 22619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022620|122620|989898|1|9999022620|MR|Test|E|Lead 22620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022621|122621|989898|1|9999022621|MR|Test|E|Lead 22621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022622|122622|989898|1|9999022622|MR|Test|E|Lead 22622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022623|122623|989898|1|9999022623|MR|Test|E|Lead 22623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022624|122624|989898|1|9999022624|MR|Test|E|Lead 22624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022625|122625|989898|1|9999022625|MR|Test|E|Lead 22625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022626|122626|989898|1|9999022626|MR|Test|E|Lead 22626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022627|122627|989898|1|9999022627|MR|Test|E|Lead 22627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022628|122628|989898|1|9999022628|MR|Test|E|Lead 22628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022629|122629|989898|1|9999022629|MR|Test|E|Lead 22629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022630|122630|989898|1|9999022630|MR|Test|E|Lead 22630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022631|122631|989898|1|9999022631|MR|Test|E|Lead 22631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022632|122632|989898|1|9999022632|MR|Test|E|Lead 22632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022633|122633|989898|1|9999022633|MR|Test|E|Lead 22633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022634|122634|989898|1|9999022634|MR|Test|E|Lead 22634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022635|122635|989898|1|9999022635|MR|Test|E|Lead 22635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022636|122636|989898|1|9999022636|MR|Test|E|Lead 22636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022637|122637|989898|1|9999022637|MR|Test|E|Lead 22637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022638|122638|989898|1|9999022638|MR|Test|E|Lead 22638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022639|122639|989898|1|9999022639|MR|Test|E|Lead 22639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022640|122640|989898|1|9999022640|MR|Test|E|Lead 22640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022641|122641|989898|1|9999022641|MR|Test|E|Lead 22641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022642|122642|989898|1|9999022642|MR|Test|E|Lead 22642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022643|122643|989898|1|9999022643|MR|Test|E|Lead 22643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022644|122644|989898|1|9999022644|MR|Test|E|Lead 22644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022645|122645|989898|1|9999022645|MR|Test|E|Lead 22645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022646|122646|989898|1|9999022646|MR|Test|E|Lead 22646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022647|122647|989898|1|9999022647|MR|Test|E|Lead 22647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022648|122648|989898|1|9999022648|MR|Test|E|Lead 22648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022649|122649|989898|1|9999022649|MR|Test|E|Lead 22649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022650|122650|989898|1|9999022650|MR|Test|E|Lead 22650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022651|122651|989898|1|9999022651|MR|Test|E|Lead 22651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022652|122652|989898|1|9999022652|MR|Test|E|Lead 22652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022653|122653|989898|1|9999022653|MR|Test|E|Lead 22653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022654|122654|989898|1|9999022654|MR|Test|E|Lead 22654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022655|122655|989898|1|9999022655|MR|Test|E|Lead 22655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022656|122656|989898|1|9999022656|MR|Test|E|Lead 22656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022657|122657|989898|1|9999022657|MR|Test|E|Lead 22657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022658|122658|989898|1|9999022658|MR|Test|E|Lead 22658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022659|122659|989898|1|9999022659|MR|Test|E|Lead 22659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022660|122660|989898|1|9999022660|MR|Test|E|Lead 22660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022661|122661|989898|1|9999022661|MR|Test|E|Lead 22661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022662|122662|989898|1|9999022662|MR|Test|E|Lead 22662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022663|122663|989898|1|9999022663|MR|Test|E|Lead 22663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022664|122664|989898|1|9999022664|MR|Test|E|Lead 22664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022665|122665|989898|1|9999022665|MR|Test|E|Lead 22665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022666|122666|989898|1|9999022666|MR|Test|E|Lead 22666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022667|122667|989898|1|9999022667|MR|Test|E|Lead 22667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022668|122668|989898|1|9999022668|MR|Test|E|Lead 22668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022669|122669|989898|1|9999022669|MR|Test|E|Lead 22669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022670|122670|989898|1|9999022670|MR|Test|E|Lead 22670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022671|122671|989898|1|9999022671|MR|Test|E|Lead 22671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022672|122672|989898|1|9999022672|MR|Test|E|Lead 22672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022673|122673|989898|1|9999022673|MR|Test|E|Lead 22673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022674|122674|989898|1|9999022674|MR|Test|E|Lead 22674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022675|122675|989898|1|9999022675|MR|Test|E|Lead 22675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022676|122676|989898|1|9999022676|MR|Test|E|Lead 22676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022677|122677|989898|1|9999022677|MR|Test|E|Lead 22677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022678|122678|989898|1|9999022678|MR|Test|E|Lead 22678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022679|122679|989898|1|9999022679|MR|Test|E|Lead 22679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022680|122680|989898|1|9999022680|MR|Test|E|Lead 22680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022681|122681|989898|1|9999022681|MR|Test|E|Lead 22681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022682|122682|989898|1|9999022682|MR|Test|E|Lead 22682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022683|122683|989898|1|9999022683|MR|Test|E|Lead 22683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022684|122684|989898|1|9999022684|MR|Test|E|Lead 22684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022685|122685|989898|1|9999022685|MR|Test|E|Lead 22685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022686|122686|989898|1|9999022686|MR|Test|E|Lead 22686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022687|122687|989898|1|9999022687|MR|Test|E|Lead 22687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022688|122688|989898|1|9999022688|MR|Test|E|Lead 22688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022689|122689|989898|1|9999022689|MR|Test|E|Lead 22689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022690|122690|989898|1|9999022690|MR|Test|E|Lead 22690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022691|122691|989898|1|9999022691|MR|Test|E|Lead 22691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022692|122692|989898|1|9999022692|MR|Test|E|Lead 22692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022693|122693|989898|1|9999022693|MR|Test|E|Lead 22693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022694|122694|989898|1|9999022694|MR|Test|E|Lead 22694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022695|122695|989898|1|9999022695|MR|Test|E|Lead 22695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022696|122696|989898|1|9999022696|MR|Test|E|Lead 22696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022697|122697|989898|1|9999022697|MR|Test|E|Lead 22697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022698|122698|989898|1|9999022698|MR|Test|E|Lead 22698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022699|122699|989898|1|9999022699|MR|Test|E|Lead 22699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022700|122700|989898|1|9999022700|MR|Test|E|Lead 22700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022701|122701|989898|1|9999022701|MR|Test|E|Lead 22701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022702|122702|989898|1|9999022702|MR|Test|E|Lead 22702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022703|122703|989898|1|9999022703|MR|Test|E|Lead 22703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022704|122704|989898|1|9999022704|MR|Test|E|Lead 22704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022705|122705|989898|1|9999022705|MR|Test|E|Lead 22705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022706|122706|989898|1|9999022706|MR|Test|E|Lead 22706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022707|122707|989898|1|9999022707|MR|Test|E|Lead 22707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022708|122708|989898|1|9999022708|MR|Test|E|Lead 22708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022709|122709|989898|1|9999022709|MR|Test|E|Lead 22709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022710|122710|989898|1|9999022710|MR|Test|E|Lead 22710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022711|122711|989898|1|9999022711|MR|Test|E|Lead 22711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022712|122712|989898|1|9999022712|MR|Test|E|Lead 22712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022713|122713|989898|1|9999022713|MR|Test|E|Lead 22713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022714|122714|989898|1|9999022714|MR|Test|E|Lead 22714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022715|122715|989898|1|9999022715|MR|Test|E|Lead 22715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022716|122716|989898|1|9999022716|MR|Test|E|Lead 22716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022717|122717|989898|1|9999022717|MR|Test|E|Lead 22717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022718|122718|989898|1|9999022718|MR|Test|E|Lead 22718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022719|122719|989898|1|9999022719|MR|Test|E|Lead 22719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022720|122720|989898|1|9999022720|MR|Test|E|Lead 22720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022721|122721|989898|1|9999022721|MR|Test|E|Lead 22721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022722|122722|989898|1|9999022722|MR|Test|E|Lead 22722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022723|122723|989898|1|9999022723|MR|Test|E|Lead 22723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022724|122724|989898|1|9999022724|MR|Test|E|Lead 22724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022725|122725|989898|1|9999022725|MR|Test|E|Lead 22725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022726|122726|989898|1|9999022726|MR|Test|E|Lead 22726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022727|122727|989898|1|9999022727|MR|Test|E|Lead 22727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022728|122728|989898|1|9999022728|MR|Test|E|Lead 22728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022729|122729|989898|1|9999022729|MR|Test|E|Lead 22729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022730|122730|989898|1|9999022730|MR|Test|E|Lead 22730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022731|122731|989898|1|9999022731|MR|Test|E|Lead 22731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022732|122732|989898|1|9999022732|MR|Test|E|Lead 22732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022733|122733|989898|1|9999022733|MR|Test|E|Lead 22733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022734|122734|989898|1|9999022734|MR|Test|E|Lead 22734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022735|122735|989898|1|9999022735|MR|Test|E|Lead 22735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022736|122736|989898|1|9999022736|MR|Test|E|Lead 22736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022737|122737|989898|1|9999022737|MR|Test|E|Lead 22737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022738|122738|989898|1|9999022738|MR|Test|E|Lead 22738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022739|122739|989898|1|9999022739|MR|Test|E|Lead 22739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022740|122740|989898|1|9999022740|MR|Test|E|Lead 22740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022741|122741|989898|1|9999022741|MR|Test|E|Lead 22741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022742|122742|989898|1|9999022742|MR|Test|E|Lead 22742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022743|122743|989898|1|9999022743|MR|Test|E|Lead 22743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022744|122744|989898|1|9999022744|MR|Test|E|Lead 22744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022745|122745|989898|1|9999022745|MR|Test|E|Lead 22745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022746|122746|989898|1|9999022746|MR|Test|E|Lead 22746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022747|122747|989898|1|9999022747|MR|Test|E|Lead 22747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022748|122748|989898|1|9999022748|MR|Test|E|Lead 22748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022749|122749|989898|1|9999022749|MR|Test|E|Lead 22749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022750|122750|989898|1|9999022750|MR|Test|E|Lead 22750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022751|122751|989898|1|9999022751|MR|Test|E|Lead 22751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022752|122752|989898|1|9999022752|MR|Test|E|Lead 22752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022753|122753|989898|1|9999022753|MR|Test|E|Lead 22753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022754|122754|989898|1|9999022754|MR|Test|E|Lead 22754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022755|122755|989898|1|9999022755|MR|Test|E|Lead 22755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022756|122756|989898|1|9999022756|MR|Test|E|Lead 22756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022757|122757|989898|1|9999022757|MR|Test|E|Lead 22757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022758|122758|989898|1|9999022758|MR|Test|E|Lead 22758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022759|122759|989898|1|9999022759|MR|Test|E|Lead 22759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022760|122760|989898|1|9999022760|MR|Test|E|Lead 22760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022761|122761|989898|1|9999022761|MR|Test|E|Lead 22761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022762|122762|989898|1|9999022762|MR|Test|E|Lead 22762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022763|122763|989898|1|9999022763|MR|Test|E|Lead 22763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022764|122764|989898|1|9999022764|MR|Test|E|Lead 22764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022765|122765|989898|1|9999022765|MR|Test|E|Lead 22765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022766|122766|989898|1|9999022766|MR|Test|E|Lead 22766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022767|122767|989898|1|9999022767|MR|Test|E|Lead 22767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022768|122768|989898|1|9999022768|MR|Test|E|Lead 22768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022769|122769|989898|1|9999022769|MR|Test|E|Lead 22769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022770|122770|989898|1|9999022770|MR|Test|E|Lead 22770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022771|122771|989898|1|9999022771|MR|Test|E|Lead 22771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022772|122772|989898|1|9999022772|MR|Test|E|Lead 22772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022773|122773|989898|1|9999022773|MR|Test|E|Lead 22773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022774|122774|989898|1|9999022774|MR|Test|E|Lead 22774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022775|122775|989898|1|9999022775|MR|Test|E|Lead 22775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022776|122776|989898|1|9999022776|MR|Test|E|Lead 22776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022777|122777|989898|1|9999022777|MR|Test|E|Lead 22777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022778|122778|989898|1|9999022778|MR|Test|E|Lead 22778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022779|122779|989898|1|9999022779|MR|Test|E|Lead 22779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022780|122780|989898|1|9999022780|MR|Test|E|Lead 22780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022781|122781|989898|1|9999022781|MR|Test|E|Lead 22781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022782|122782|989898|1|9999022782|MR|Test|E|Lead 22782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022783|122783|989898|1|9999022783|MR|Test|E|Lead 22783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022784|122784|989898|1|9999022784|MR|Test|E|Lead 22784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022785|122785|989898|1|9999022785|MR|Test|E|Lead 22785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022786|122786|989898|1|9999022786|MR|Test|E|Lead 22786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022787|122787|989898|1|9999022787|MR|Test|E|Lead 22787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022788|122788|989898|1|9999022788|MR|Test|E|Lead 22788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022789|122789|989898|1|9999022789|MR|Test|E|Lead 22789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022790|122790|989898|1|9999022790|MR|Test|E|Lead 22790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022791|122791|989898|1|9999022791|MR|Test|E|Lead 22791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022792|122792|989898|1|9999022792|MR|Test|E|Lead 22792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022793|122793|989898|1|9999022793|MR|Test|E|Lead 22793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022794|122794|989898|1|9999022794|MR|Test|E|Lead 22794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022795|122795|989898|1|9999022795|MR|Test|E|Lead 22795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022796|122796|989898|1|9999022796|MR|Test|E|Lead 22796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022797|122797|989898|1|9999022797|MR|Test|E|Lead 22797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022798|122798|989898|1|9999022798|MR|Test|E|Lead 22798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022799|122799|989898|1|9999022799|MR|Test|E|Lead 22799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022800|122800|989898|1|9999022800|MR|Test|E|Lead 22800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022801|122801|989898|1|9999022801|MR|Test|E|Lead 22801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022802|122802|989898|1|9999022802|MR|Test|E|Lead 22802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022803|122803|989898|1|9999022803|MR|Test|E|Lead 22803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022804|122804|989898|1|9999022804|MR|Test|E|Lead 22804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022805|122805|989898|1|9999022805|MR|Test|E|Lead 22805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022806|122806|989898|1|9999022806|MR|Test|E|Lead 22806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022807|122807|989898|1|9999022807|MR|Test|E|Lead 22807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022808|122808|989898|1|9999022808|MR|Test|E|Lead 22808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022809|122809|989898|1|9999022809|MR|Test|E|Lead 22809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022810|122810|989898|1|9999022810|MR|Test|E|Lead 22810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022811|122811|989898|1|9999022811|MR|Test|E|Lead 22811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022812|122812|989898|1|9999022812|MR|Test|E|Lead 22812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022813|122813|989898|1|9999022813|MR|Test|E|Lead 22813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022814|122814|989898|1|9999022814|MR|Test|E|Lead 22814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022815|122815|989898|1|9999022815|MR|Test|E|Lead 22815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022816|122816|989898|1|9999022816|MR|Test|E|Lead 22816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022817|122817|989898|1|9999022817|MR|Test|E|Lead 22817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022818|122818|989898|1|9999022818|MR|Test|E|Lead 22818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022819|122819|989898|1|9999022819|MR|Test|E|Lead 22819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022820|122820|989898|1|9999022820|MR|Test|E|Lead 22820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022821|122821|989898|1|9999022821|MR|Test|E|Lead 22821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022822|122822|989898|1|9999022822|MR|Test|E|Lead 22822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022823|122823|989898|1|9999022823|MR|Test|E|Lead 22823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022824|122824|989898|1|9999022824|MR|Test|E|Lead 22824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022825|122825|989898|1|9999022825|MR|Test|E|Lead 22825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022826|122826|989898|1|9999022826|MR|Test|E|Lead 22826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022827|122827|989898|1|9999022827|MR|Test|E|Lead 22827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022828|122828|989898|1|9999022828|MR|Test|E|Lead 22828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022829|122829|989898|1|9999022829|MR|Test|E|Lead 22829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022830|122830|989898|1|9999022830|MR|Test|E|Lead 22830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022831|122831|989898|1|9999022831|MR|Test|E|Lead 22831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022832|122832|989898|1|9999022832|MR|Test|E|Lead 22832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022833|122833|989898|1|9999022833|MR|Test|E|Lead 22833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022834|122834|989898|1|9999022834|MR|Test|E|Lead 22834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022835|122835|989898|1|9999022835|MR|Test|E|Lead 22835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022836|122836|989898|1|9999022836|MR|Test|E|Lead 22836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022837|122837|989898|1|9999022837|MR|Test|E|Lead 22837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022838|122838|989898|1|9999022838|MR|Test|E|Lead 22838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022839|122839|989898|1|9999022839|MR|Test|E|Lead 22839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022840|122840|989898|1|9999022840|MR|Test|E|Lead 22840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022841|122841|989898|1|9999022841|MR|Test|E|Lead 22841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022842|122842|989898|1|9999022842|MR|Test|E|Lead 22842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022843|122843|989898|1|9999022843|MR|Test|E|Lead 22843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022844|122844|989898|1|9999022844|MR|Test|E|Lead 22844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022845|122845|989898|1|9999022845|MR|Test|E|Lead 22845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022846|122846|989898|1|9999022846|MR|Test|E|Lead 22846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022847|122847|989898|1|9999022847|MR|Test|E|Lead 22847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022848|122848|989898|1|9999022848|MR|Test|E|Lead 22848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022849|122849|989898|1|9999022849|MR|Test|E|Lead 22849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022850|122850|989898|1|9999022850|MR|Test|E|Lead 22850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022851|122851|989898|1|9999022851|MR|Test|E|Lead 22851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022852|122852|989898|1|9999022852|MR|Test|E|Lead 22852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022853|122853|989898|1|9999022853|MR|Test|E|Lead 22853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022854|122854|989898|1|9999022854|MR|Test|E|Lead 22854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022855|122855|989898|1|9999022855|MR|Test|E|Lead 22855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022856|122856|989898|1|9999022856|MR|Test|E|Lead 22856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022857|122857|989898|1|9999022857|MR|Test|E|Lead 22857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022858|122858|989898|1|9999022858|MR|Test|E|Lead 22858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022859|122859|989898|1|9999022859|MR|Test|E|Lead 22859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022860|122860|989898|1|9999022860|MR|Test|E|Lead 22860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022861|122861|989898|1|9999022861|MR|Test|E|Lead 22861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022862|122862|989898|1|9999022862|MR|Test|E|Lead 22862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022863|122863|989898|1|9999022863|MR|Test|E|Lead 22863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022864|122864|989898|1|9999022864|MR|Test|E|Lead 22864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022865|122865|989898|1|9999022865|MR|Test|E|Lead 22865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022866|122866|989898|1|9999022866|MR|Test|E|Lead 22866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022867|122867|989898|1|9999022867|MR|Test|E|Lead 22867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022868|122868|989898|1|9999022868|MR|Test|E|Lead 22868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022869|122869|989898|1|9999022869|MR|Test|E|Lead 22869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022870|122870|989898|1|9999022870|MR|Test|E|Lead 22870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022871|122871|989898|1|9999022871|MR|Test|E|Lead 22871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022872|122872|989898|1|9999022872|MR|Test|E|Lead 22872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022873|122873|989898|1|9999022873|MR|Test|E|Lead 22873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022874|122874|989898|1|9999022874|MR|Test|E|Lead 22874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022875|122875|989898|1|9999022875|MR|Test|E|Lead 22875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022876|122876|989898|1|9999022876|MR|Test|E|Lead 22876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022877|122877|989898|1|9999022877|MR|Test|E|Lead 22877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022878|122878|989898|1|9999022878|MR|Test|E|Lead 22878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022879|122879|989898|1|9999022879|MR|Test|E|Lead 22879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022880|122880|989898|1|9999022880|MR|Test|E|Lead 22880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022881|122881|989898|1|9999022881|MR|Test|E|Lead 22881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022882|122882|989898|1|9999022882|MR|Test|E|Lead 22882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022883|122883|989898|1|9999022883|MR|Test|E|Lead 22883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022884|122884|989898|1|9999022884|MR|Test|E|Lead 22884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022885|122885|989898|1|9999022885|MR|Test|E|Lead 22885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022886|122886|989898|1|9999022886|MR|Test|E|Lead 22886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022887|122887|989898|1|9999022887|MR|Test|E|Lead 22887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022888|122888|989898|1|9999022888|MR|Test|E|Lead 22888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022889|122889|989898|1|9999022889|MR|Test|E|Lead 22889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022890|122890|989898|1|9999022890|MR|Test|E|Lead 22890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022891|122891|989898|1|9999022891|MR|Test|E|Lead 22891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022892|122892|989898|1|9999022892|MR|Test|E|Lead 22892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022893|122893|989898|1|9999022893|MR|Test|E|Lead 22893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022894|122894|989898|1|9999022894|MR|Test|E|Lead 22894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022895|122895|989898|1|9999022895|MR|Test|E|Lead 22895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022896|122896|989898|1|9999022896|MR|Test|E|Lead 22896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022897|122897|989898|1|9999022897|MR|Test|E|Lead 22897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022898|122898|989898|1|9999022898|MR|Test|E|Lead 22898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022899|122899|989898|1|9999022899|MR|Test|E|Lead 22899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022900|122900|989898|1|9999022900|MR|Test|E|Lead 22900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022901|122901|989898|1|9999022901|MR|Test|E|Lead 22901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022902|122902|989898|1|9999022902|MR|Test|E|Lead 22902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022903|122903|989898|1|9999022903|MR|Test|E|Lead 22903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022904|122904|989898|1|9999022904|MR|Test|E|Lead 22904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022905|122905|989898|1|9999022905|MR|Test|E|Lead 22905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022906|122906|989898|1|9999022906|MR|Test|E|Lead 22906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022907|122907|989898|1|9999022907|MR|Test|E|Lead 22907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022908|122908|989898|1|9999022908|MR|Test|E|Lead 22908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022909|122909|989898|1|9999022909|MR|Test|E|Lead 22909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022910|122910|989898|1|9999022910|MR|Test|E|Lead 22910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022911|122911|989898|1|9999022911|MR|Test|E|Lead 22911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022912|122912|989898|1|9999022912|MR|Test|E|Lead 22912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022913|122913|989898|1|9999022913|MR|Test|E|Lead 22913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022914|122914|989898|1|9999022914|MR|Test|E|Lead 22914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022915|122915|989898|1|9999022915|MR|Test|E|Lead 22915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022916|122916|989898|1|9999022916|MR|Test|E|Lead 22916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022917|122917|989898|1|9999022917|MR|Test|E|Lead 22917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022918|122918|989898|1|9999022918|MR|Test|E|Lead 22918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022919|122919|989898|1|9999022919|MR|Test|E|Lead 22919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022920|122920|989898|1|9999022920|MR|Test|E|Lead 22920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022921|122921|989898|1|9999022921|MR|Test|E|Lead 22921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022922|122922|989898|1|9999022922|MR|Test|E|Lead 22922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022923|122923|989898|1|9999022923|MR|Test|E|Lead 22923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022924|122924|989898|1|9999022924|MR|Test|E|Lead 22924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022925|122925|989898|1|9999022925|MR|Test|E|Lead 22925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022926|122926|989898|1|9999022926|MR|Test|E|Lead 22926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022927|122927|989898|1|9999022927|MR|Test|E|Lead 22927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022928|122928|989898|1|9999022928|MR|Test|E|Lead 22928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022929|122929|989898|1|9999022929|MR|Test|E|Lead 22929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022930|122930|989898|1|9999022930|MR|Test|E|Lead 22930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022931|122931|989898|1|9999022931|MR|Test|E|Lead 22931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022932|122932|989898|1|9999022932|MR|Test|E|Lead 22932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022933|122933|989898|1|9999022933|MR|Test|E|Lead 22933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022934|122934|989898|1|9999022934|MR|Test|E|Lead 22934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022935|122935|989898|1|9999022935|MR|Test|E|Lead 22935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022936|122936|989898|1|9999022936|MR|Test|E|Lead 22936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022937|122937|989898|1|9999022937|MR|Test|E|Lead 22937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022938|122938|989898|1|9999022938|MR|Test|E|Lead 22938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022939|122939|989898|1|9999022939|MR|Test|E|Lead 22939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022940|122940|989898|1|9999022940|MR|Test|E|Lead 22940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022941|122941|989898|1|9999022941|MR|Test|E|Lead 22941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022942|122942|989898|1|9999022942|MR|Test|E|Lead 22942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022943|122943|989898|1|9999022943|MR|Test|E|Lead 22943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022944|122944|989898|1|9999022944|MR|Test|E|Lead 22944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022945|122945|989898|1|9999022945|MR|Test|E|Lead 22945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022946|122946|989898|1|9999022946|MR|Test|E|Lead 22946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022947|122947|989898|1|9999022947|MR|Test|E|Lead 22947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022948|122948|989898|1|9999022948|MR|Test|E|Lead 22948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022949|122949|989898|1|9999022949|MR|Test|E|Lead 22949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022950|122950|989898|1|9999022950|MR|Test|E|Lead 22950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022951|122951|989898|1|9999022951|MR|Test|E|Lead 22951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022952|122952|989898|1|9999022952|MR|Test|E|Lead 22952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022953|122953|989898|1|9999022953|MR|Test|E|Lead 22953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022954|122954|989898|1|9999022954|MR|Test|E|Lead 22954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022955|122955|989898|1|9999022955|MR|Test|E|Lead 22955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022956|122956|989898|1|9999022956|MR|Test|E|Lead 22956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022957|122957|989898|1|9999022957|MR|Test|E|Lead 22957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022958|122958|989898|1|9999022958|MR|Test|E|Lead 22958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022959|122959|989898|1|9999022959|MR|Test|E|Lead 22959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022960|122960|989898|1|9999022960|MR|Test|E|Lead 22960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022961|122961|989898|1|9999022961|MR|Test|E|Lead 22961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022962|122962|989898|1|9999022962|MR|Test|E|Lead 22962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022963|122963|989898|1|9999022963|MR|Test|E|Lead 22963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022964|122964|989898|1|9999022964|MR|Test|E|Lead 22964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022965|122965|989898|1|9999022965|MR|Test|E|Lead 22965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022966|122966|989898|1|9999022966|MR|Test|E|Lead 22966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022967|122967|989898|1|9999022967|MR|Test|E|Lead 22967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022968|122968|989898|1|9999022968|MR|Test|E|Lead 22968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022969|122969|989898|1|9999022969|MR|Test|E|Lead 22969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022970|122970|989898|1|9999022970|MR|Test|E|Lead 22970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022971|122971|989898|1|9999022971|MR|Test|E|Lead 22971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022972|122972|989898|1|9999022972|MR|Test|E|Lead 22972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022973|122973|989898|1|9999022973|MR|Test|E|Lead 22973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022974|122974|989898|1|9999022974|MR|Test|E|Lead 22974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022975|122975|989898|1|9999022975|MR|Test|E|Lead 22975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022976|122976|989898|1|9999022976|MR|Test|E|Lead 22976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022977|122977|989898|1|9999022977|MR|Test|E|Lead 22977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022978|122978|989898|1|9999022978|MR|Test|E|Lead 22978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022979|122979|989898|1|9999022979|MR|Test|E|Lead 22979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022980|122980|989898|1|9999022980|MR|Test|E|Lead 22980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022981|122981|989898|1|9999022981|MR|Test|E|Lead 22981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022982|122982|989898|1|9999022982|MR|Test|E|Lead 22982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022983|122983|989898|1|9999022983|MR|Test|E|Lead 22983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022984|122984|989898|1|9999022984|MR|Test|E|Lead 22984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022985|122985|989898|1|9999022985|MR|Test|E|Lead 22985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022986|122986|989898|1|9999022986|MR|Test|E|Lead 22986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022987|122987|989898|1|9999022987|MR|Test|E|Lead 22987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022988|122988|989898|1|9999022988|MR|Test|E|Lead 22988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022989|122989|989898|1|9999022989|MR|Test|E|Lead 22989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022990|122990|989898|1|9999022990|MR|Test|E|Lead 22990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022991|122991|989898|1|9999022991|MR|Test|E|Lead 22991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022992|122992|989898|1|9999022992|MR|Test|E|Lead 22992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022993|122993|989898|1|9999022993|MR|Test|E|Lead 22993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022994|122994|989898|1|9999022994|MR|Test|E|Lead 22994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022995|122995|989898|1|9999022995|MR|Test|E|Lead 22995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022996|122996|989898|1|9999022996|MR|Test|E|Lead 22996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022997|122997|989898|1|9999022997|MR|Test|E|Lead 22997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022998|122998|989898|1|9999022998|MR|Test|E|Lead 22998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1022999|122999|989898|1|9999022999|MR|Test|E|Lead 22999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023000|123000|989898|1|9999023000|MR|Test|E|Lead 23000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023001|123001|989898|1|9999023001|MR|Test|E|Lead 23001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023002|123002|989898|1|9999023002|MR|Test|E|Lead 23002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023003|123003|989898|1|9999023003|MR|Test|E|Lead 23003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023004|123004|989898|1|9999023004|MR|Test|E|Lead 23004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023005|123005|989898|1|9999023005|MR|Test|E|Lead 23005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023006|123006|989898|1|9999023006|MR|Test|E|Lead 23006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023007|123007|989898|1|9999023007|MR|Test|E|Lead 23007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023008|123008|989898|1|9999023008|MR|Test|E|Lead 23008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023009|123009|989898|1|9999023009|MR|Test|E|Lead 23009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023010|123010|989898|1|9999023010|MR|Test|E|Lead 23010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023011|123011|989898|1|9999023011|MR|Test|E|Lead 23011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023012|123012|989898|1|9999023012|MR|Test|E|Lead 23012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023013|123013|989898|1|9999023013|MR|Test|E|Lead 23013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023014|123014|989898|1|9999023014|MR|Test|E|Lead 23014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023015|123015|989898|1|9999023015|MR|Test|E|Lead 23015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023016|123016|989898|1|9999023016|MR|Test|E|Lead 23016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023017|123017|989898|1|9999023017|MR|Test|E|Lead 23017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023018|123018|989898|1|9999023018|MR|Test|E|Lead 23018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023019|123019|989898|1|9999023019|MR|Test|E|Lead 23019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023020|123020|989898|1|9999023020|MR|Test|E|Lead 23020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023021|123021|989898|1|9999023021|MR|Test|E|Lead 23021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023022|123022|989898|1|9999023022|MR|Test|E|Lead 23022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023023|123023|989898|1|9999023023|MR|Test|E|Lead 23023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023024|123024|989898|1|9999023024|MR|Test|E|Lead 23024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023025|123025|989898|1|9999023025|MR|Test|E|Lead 23025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023026|123026|989898|1|9999023026|MR|Test|E|Lead 23026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023027|123027|989898|1|9999023027|MR|Test|E|Lead 23027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023028|123028|989898|1|9999023028|MR|Test|E|Lead 23028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023029|123029|989898|1|9999023029|MR|Test|E|Lead 23029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023030|123030|989898|1|9999023030|MR|Test|E|Lead 23030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023031|123031|989898|1|9999023031|MR|Test|E|Lead 23031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023032|123032|989898|1|9999023032|MR|Test|E|Lead 23032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023033|123033|989898|1|9999023033|MR|Test|E|Lead 23033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023034|123034|989898|1|9999023034|MR|Test|E|Lead 23034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023035|123035|989898|1|9999023035|MR|Test|E|Lead 23035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023036|123036|989898|1|9999023036|MR|Test|E|Lead 23036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023037|123037|989898|1|9999023037|MR|Test|E|Lead 23037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023038|123038|989898|1|9999023038|MR|Test|E|Lead 23038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023039|123039|989898|1|9999023039|MR|Test|E|Lead 23039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023040|123040|989898|1|9999023040|MR|Test|E|Lead 23040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023041|123041|989898|1|9999023041|MR|Test|E|Lead 23041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023042|123042|989898|1|9999023042|MR|Test|E|Lead 23042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023043|123043|989898|1|9999023043|MR|Test|E|Lead 23043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023044|123044|989898|1|9999023044|MR|Test|E|Lead 23044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023045|123045|989898|1|9999023045|MR|Test|E|Lead 23045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023046|123046|989898|1|9999023046|MR|Test|E|Lead 23046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023047|123047|989898|1|9999023047|MR|Test|E|Lead 23047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023048|123048|989898|1|9999023048|MR|Test|E|Lead 23048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023049|123049|989898|1|9999023049|MR|Test|E|Lead 23049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023050|123050|989898|1|9999023050|MR|Test|E|Lead 23050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023051|123051|989898|1|9999023051|MR|Test|E|Lead 23051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023052|123052|989898|1|9999023052|MR|Test|E|Lead 23052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023053|123053|989898|1|9999023053|MR|Test|E|Lead 23053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023054|123054|989898|1|9999023054|MR|Test|E|Lead 23054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023055|123055|989898|1|9999023055|MR|Test|E|Lead 23055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023056|123056|989898|1|9999023056|MR|Test|E|Lead 23056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023057|123057|989898|1|9999023057|MR|Test|E|Lead 23057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023058|123058|989898|1|9999023058|MR|Test|E|Lead 23058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023059|123059|989898|1|9999023059|MR|Test|E|Lead 23059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023060|123060|989898|1|9999023060|MR|Test|E|Lead 23060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023061|123061|989898|1|9999023061|MR|Test|E|Lead 23061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023062|123062|989898|1|9999023062|MR|Test|E|Lead 23062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023063|123063|989898|1|9999023063|MR|Test|E|Lead 23063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023064|123064|989898|1|9999023064|MR|Test|E|Lead 23064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023065|123065|989898|1|9999023065|MR|Test|E|Lead 23065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023066|123066|989898|1|9999023066|MR|Test|E|Lead 23066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023067|123067|989898|1|9999023067|MR|Test|E|Lead 23067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023068|123068|989898|1|9999023068|MR|Test|E|Lead 23068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023069|123069|989898|1|9999023069|MR|Test|E|Lead 23069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023070|123070|989898|1|9999023070|MR|Test|E|Lead 23070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023071|123071|989898|1|9999023071|MR|Test|E|Lead 23071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023072|123072|989898|1|9999023072|MR|Test|E|Lead 23072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023073|123073|989898|1|9999023073|MR|Test|E|Lead 23073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023074|123074|989898|1|9999023074|MR|Test|E|Lead 23074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023075|123075|989898|1|9999023075|MR|Test|E|Lead 23075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023076|123076|989898|1|9999023076|MR|Test|E|Lead 23076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023077|123077|989898|1|9999023077|MR|Test|E|Lead 23077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023078|123078|989898|1|9999023078|MR|Test|E|Lead 23078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023079|123079|989898|1|9999023079|MR|Test|E|Lead 23079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023080|123080|989898|1|9999023080|MR|Test|E|Lead 23080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023081|123081|989898|1|9999023081|MR|Test|E|Lead 23081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023082|123082|989898|1|9999023082|MR|Test|E|Lead 23082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023083|123083|989898|1|9999023083|MR|Test|E|Lead 23083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023084|123084|989898|1|9999023084|MR|Test|E|Lead 23084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023085|123085|989898|1|9999023085|MR|Test|E|Lead 23085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023086|123086|989898|1|9999023086|MR|Test|E|Lead 23086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023087|123087|989898|1|9999023087|MR|Test|E|Lead 23087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023088|123088|989898|1|9999023088|MR|Test|E|Lead 23088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023089|123089|989898|1|9999023089|MR|Test|E|Lead 23089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023090|123090|989898|1|9999023090|MR|Test|E|Lead 23090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023091|123091|989898|1|9999023091|MR|Test|E|Lead 23091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023092|123092|989898|1|9999023092|MR|Test|E|Lead 23092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023093|123093|989898|1|9999023093|MR|Test|E|Lead 23093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023094|123094|989898|1|9999023094|MR|Test|E|Lead 23094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023095|123095|989898|1|9999023095|MR|Test|E|Lead 23095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023096|123096|989898|1|9999023096|MR|Test|E|Lead 23096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023097|123097|989898|1|9999023097|MR|Test|E|Lead 23097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023098|123098|989898|1|9999023098|MR|Test|E|Lead 23098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023099|123099|989898|1|9999023099|MR|Test|E|Lead 23099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023100|123100|989898|1|9999023100|MR|Test|E|Lead 23100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023101|123101|989898|1|9999023101|MR|Test|E|Lead 23101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023102|123102|989898|1|9999023102|MR|Test|E|Lead 23102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023103|123103|989898|1|9999023103|MR|Test|E|Lead 23103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023104|123104|989898|1|9999023104|MR|Test|E|Lead 23104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023105|123105|989898|1|9999023105|MR|Test|E|Lead 23105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023106|123106|989898|1|9999023106|MR|Test|E|Lead 23106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023107|123107|989898|1|9999023107|MR|Test|E|Lead 23107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023108|123108|989898|1|9999023108|MR|Test|E|Lead 23108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023109|123109|989898|1|9999023109|MR|Test|E|Lead 23109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023110|123110|989898|1|9999023110|MR|Test|E|Lead 23110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023111|123111|989898|1|9999023111|MR|Test|E|Lead 23111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023112|123112|989898|1|9999023112|MR|Test|E|Lead 23112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023113|123113|989898|1|9999023113|MR|Test|E|Lead 23113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023114|123114|989898|1|9999023114|MR|Test|E|Lead 23114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023115|123115|989898|1|9999023115|MR|Test|E|Lead 23115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023116|123116|989898|1|9999023116|MR|Test|E|Lead 23116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023117|123117|989898|1|9999023117|MR|Test|E|Lead 23117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023118|123118|989898|1|9999023118|MR|Test|E|Lead 23118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023119|123119|989898|1|9999023119|MR|Test|E|Lead 23119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023120|123120|989898|1|9999023120|MR|Test|E|Lead 23120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023121|123121|989898|1|9999023121|MR|Test|E|Lead 23121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023122|123122|989898|1|9999023122|MR|Test|E|Lead 23122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023123|123123|989898|1|9999023123|MR|Test|E|Lead 23123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023124|123124|989898|1|9999023124|MR|Test|E|Lead 23124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023125|123125|989898|1|9999023125|MR|Test|E|Lead 23125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023126|123126|989898|1|9999023126|MR|Test|E|Lead 23126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023127|123127|989898|1|9999023127|MR|Test|E|Lead 23127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023128|123128|989898|1|9999023128|MR|Test|E|Lead 23128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023129|123129|989898|1|9999023129|MR|Test|E|Lead 23129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023130|123130|989898|1|9999023130|MR|Test|E|Lead 23130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023131|123131|989898|1|9999023131|MR|Test|E|Lead 23131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023132|123132|989898|1|9999023132|MR|Test|E|Lead 23132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023133|123133|989898|1|9999023133|MR|Test|E|Lead 23133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023134|123134|989898|1|9999023134|MR|Test|E|Lead 23134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023135|123135|989898|1|9999023135|MR|Test|E|Lead 23135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023136|123136|989898|1|9999023136|MR|Test|E|Lead 23136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023137|123137|989898|1|9999023137|MR|Test|E|Lead 23137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023138|123138|989898|1|9999023138|MR|Test|E|Lead 23138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023139|123139|989898|1|9999023139|MR|Test|E|Lead 23139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023140|123140|989898|1|9999023140|MR|Test|E|Lead 23140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023141|123141|989898|1|9999023141|MR|Test|E|Lead 23141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023142|123142|989898|1|9999023142|MR|Test|E|Lead 23142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023143|123143|989898|1|9999023143|MR|Test|E|Lead 23143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023144|123144|989898|1|9999023144|MR|Test|E|Lead 23144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023145|123145|989898|1|9999023145|MR|Test|E|Lead 23145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023146|123146|989898|1|9999023146|MR|Test|E|Lead 23146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023147|123147|989898|1|9999023147|MR|Test|E|Lead 23147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023148|123148|989898|1|9999023148|MR|Test|E|Lead 23148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023149|123149|989898|1|9999023149|MR|Test|E|Lead 23149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023150|123150|989898|1|9999023150|MR|Test|E|Lead 23150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023151|123151|989898|1|9999023151|MR|Test|E|Lead 23151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023152|123152|989898|1|9999023152|MR|Test|E|Lead 23152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023153|123153|989898|1|9999023153|MR|Test|E|Lead 23153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023154|123154|989898|1|9999023154|MR|Test|E|Lead 23154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023155|123155|989898|1|9999023155|MR|Test|E|Lead 23155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023156|123156|989898|1|9999023156|MR|Test|E|Lead 23156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023157|123157|989898|1|9999023157|MR|Test|E|Lead 23157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023158|123158|989898|1|9999023158|MR|Test|E|Lead 23158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023159|123159|989898|1|9999023159|MR|Test|E|Lead 23159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023160|123160|989898|1|9999023160|MR|Test|E|Lead 23160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023161|123161|989898|1|9999023161|MR|Test|E|Lead 23161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023162|123162|989898|1|9999023162|MR|Test|E|Lead 23162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023163|123163|989898|1|9999023163|MR|Test|E|Lead 23163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023164|123164|989898|1|9999023164|MR|Test|E|Lead 23164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023165|123165|989898|1|9999023165|MR|Test|E|Lead 23165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023166|123166|989898|1|9999023166|MR|Test|E|Lead 23166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023167|123167|989898|1|9999023167|MR|Test|E|Lead 23167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023168|123168|989898|1|9999023168|MR|Test|E|Lead 23168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023169|123169|989898|1|9999023169|MR|Test|E|Lead 23169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023170|123170|989898|1|9999023170|MR|Test|E|Lead 23170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023171|123171|989898|1|9999023171|MR|Test|E|Lead 23171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023172|123172|989898|1|9999023172|MR|Test|E|Lead 23172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023173|123173|989898|1|9999023173|MR|Test|E|Lead 23173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023174|123174|989898|1|9999023174|MR|Test|E|Lead 23174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023175|123175|989898|1|9999023175|MR|Test|E|Lead 23175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023176|123176|989898|1|9999023176|MR|Test|E|Lead 23176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023177|123177|989898|1|9999023177|MR|Test|E|Lead 23177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023178|123178|989898|1|9999023178|MR|Test|E|Lead 23178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023179|123179|989898|1|9999023179|MR|Test|E|Lead 23179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023180|123180|989898|1|9999023180|MR|Test|E|Lead 23180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023181|123181|989898|1|9999023181|MR|Test|E|Lead 23181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023182|123182|989898|1|9999023182|MR|Test|E|Lead 23182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023183|123183|989898|1|9999023183|MR|Test|E|Lead 23183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023184|123184|989898|1|9999023184|MR|Test|E|Lead 23184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023185|123185|989898|1|9999023185|MR|Test|E|Lead 23185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023186|123186|989898|1|9999023186|MR|Test|E|Lead 23186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023187|123187|989898|1|9999023187|MR|Test|E|Lead 23187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023188|123188|989898|1|9999023188|MR|Test|E|Lead 23188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023189|123189|989898|1|9999023189|MR|Test|E|Lead 23189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023190|123190|989898|1|9999023190|MR|Test|E|Lead 23190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023191|123191|989898|1|9999023191|MR|Test|E|Lead 23191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023192|123192|989898|1|9999023192|MR|Test|E|Lead 23192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023193|123193|989898|1|9999023193|MR|Test|E|Lead 23193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023194|123194|989898|1|9999023194|MR|Test|E|Lead 23194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023195|123195|989898|1|9999023195|MR|Test|E|Lead 23195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023196|123196|989898|1|9999023196|MR|Test|E|Lead 23196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023197|123197|989898|1|9999023197|MR|Test|E|Lead 23197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023198|123198|989898|1|9999023198|MR|Test|E|Lead 23198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023199|123199|989898|1|9999023199|MR|Test|E|Lead 23199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023200|123200|989898|1|9999023200|MR|Test|E|Lead 23200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023201|123201|989898|1|9999023201|MR|Test|E|Lead 23201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023202|123202|989898|1|9999023202|MR|Test|E|Lead 23202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023203|123203|989898|1|9999023203|MR|Test|E|Lead 23203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023204|123204|989898|1|9999023204|MR|Test|E|Lead 23204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023205|123205|989898|1|9999023205|MR|Test|E|Lead 23205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023206|123206|989898|1|9999023206|MR|Test|E|Lead 23206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023207|123207|989898|1|9999023207|MR|Test|E|Lead 23207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023208|123208|989898|1|9999023208|MR|Test|E|Lead 23208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023209|123209|989898|1|9999023209|MR|Test|E|Lead 23209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023210|123210|989898|1|9999023210|MR|Test|E|Lead 23210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023211|123211|989898|1|9999023211|MR|Test|E|Lead 23211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023212|123212|989898|1|9999023212|MR|Test|E|Lead 23212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023213|123213|989898|1|9999023213|MR|Test|E|Lead 23213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023214|123214|989898|1|9999023214|MR|Test|E|Lead 23214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023215|123215|989898|1|9999023215|MR|Test|E|Lead 23215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023216|123216|989898|1|9999023216|MR|Test|E|Lead 23216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023217|123217|989898|1|9999023217|MR|Test|E|Lead 23217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023218|123218|989898|1|9999023218|MR|Test|E|Lead 23218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023219|123219|989898|1|9999023219|MR|Test|E|Lead 23219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023220|123220|989898|1|9999023220|MR|Test|E|Lead 23220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023221|123221|989898|1|9999023221|MR|Test|E|Lead 23221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023222|123222|989898|1|9999023222|MR|Test|E|Lead 23222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023223|123223|989898|1|9999023223|MR|Test|E|Lead 23223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023224|123224|989898|1|9999023224|MR|Test|E|Lead 23224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023225|123225|989898|1|9999023225|MR|Test|E|Lead 23225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023226|123226|989898|1|9999023226|MR|Test|E|Lead 23226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023227|123227|989898|1|9999023227|MR|Test|E|Lead 23227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023228|123228|989898|1|9999023228|MR|Test|E|Lead 23228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023229|123229|989898|1|9999023229|MR|Test|E|Lead 23229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023230|123230|989898|1|9999023230|MR|Test|E|Lead 23230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023231|123231|989898|1|9999023231|MR|Test|E|Lead 23231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023232|123232|989898|1|9999023232|MR|Test|E|Lead 23232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023233|123233|989898|1|9999023233|MR|Test|E|Lead 23233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023234|123234|989898|1|9999023234|MR|Test|E|Lead 23234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023235|123235|989898|1|9999023235|MR|Test|E|Lead 23235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023236|123236|989898|1|9999023236|MR|Test|E|Lead 23236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023237|123237|989898|1|9999023237|MR|Test|E|Lead 23237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023238|123238|989898|1|9999023238|MR|Test|E|Lead 23238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023239|123239|989898|1|9999023239|MR|Test|E|Lead 23239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023240|123240|989898|1|9999023240|MR|Test|E|Lead 23240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023241|123241|989898|1|9999023241|MR|Test|E|Lead 23241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023242|123242|989898|1|9999023242|MR|Test|E|Lead 23242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023243|123243|989898|1|9999023243|MR|Test|E|Lead 23243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023244|123244|989898|1|9999023244|MR|Test|E|Lead 23244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023245|123245|989898|1|9999023245|MR|Test|E|Lead 23245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023246|123246|989898|1|9999023246|MR|Test|E|Lead 23246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023247|123247|989898|1|9999023247|MR|Test|E|Lead 23247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023248|123248|989898|1|9999023248|MR|Test|E|Lead 23248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023249|123249|989898|1|9999023249|MR|Test|E|Lead 23249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023250|123250|989898|1|9999023250|MR|Test|E|Lead 23250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023251|123251|989898|1|9999023251|MR|Test|E|Lead 23251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023252|123252|989898|1|9999023252|MR|Test|E|Lead 23252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023253|123253|989898|1|9999023253|MR|Test|E|Lead 23253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023254|123254|989898|1|9999023254|MR|Test|E|Lead 23254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023255|123255|989898|1|9999023255|MR|Test|E|Lead 23255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023256|123256|989898|1|9999023256|MR|Test|E|Lead 23256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023257|123257|989898|1|9999023257|MR|Test|E|Lead 23257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023258|123258|989898|1|9999023258|MR|Test|E|Lead 23258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023259|123259|989898|1|9999023259|MR|Test|E|Lead 23259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023260|123260|989898|1|9999023260|MR|Test|E|Lead 23260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023261|123261|989898|1|9999023261|MR|Test|E|Lead 23261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023262|123262|989898|1|9999023262|MR|Test|E|Lead 23262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023263|123263|989898|1|9999023263|MR|Test|E|Lead 23263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023264|123264|989898|1|9999023264|MR|Test|E|Lead 23264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023265|123265|989898|1|9999023265|MR|Test|E|Lead 23265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023266|123266|989898|1|9999023266|MR|Test|E|Lead 23266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023267|123267|989898|1|9999023267|MR|Test|E|Lead 23267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023268|123268|989898|1|9999023268|MR|Test|E|Lead 23268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023269|123269|989898|1|9999023269|MR|Test|E|Lead 23269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023270|123270|989898|1|9999023270|MR|Test|E|Lead 23270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023271|123271|989898|1|9999023271|MR|Test|E|Lead 23271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023272|123272|989898|1|9999023272|MR|Test|E|Lead 23272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023273|123273|989898|1|9999023273|MR|Test|E|Lead 23273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023274|123274|989898|1|9999023274|MR|Test|E|Lead 23274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023275|123275|989898|1|9999023275|MR|Test|E|Lead 23275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023276|123276|989898|1|9999023276|MR|Test|E|Lead 23276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023277|123277|989898|1|9999023277|MR|Test|E|Lead 23277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023278|123278|989898|1|9999023278|MR|Test|E|Lead 23278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023279|123279|989898|1|9999023279|MR|Test|E|Lead 23279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023280|123280|989898|1|9999023280|MR|Test|E|Lead 23280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023281|123281|989898|1|9999023281|MR|Test|E|Lead 23281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023282|123282|989898|1|9999023282|MR|Test|E|Lead 23282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023283|123283|989898|1|9999023283|MR|Test|E|Lead 23283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023284|123284|989898|1|9999023284|MR|Test|E|Lead 23284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023285|123285|989898|1|9999023285|MR|Test|E|Lead 23285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023286|123286|989898|1|9999023286|MR|Test|E|Lead 23286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023287|123287|989898|1|9999023287|MR|Test|E|Lead 23287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023288|123288|989898|1|9999023288|MR|Test|E|Lead 23288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023289|123289|989898|1|9999023289|MR|Test|E|Lead 23289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023290|123290|989898|1|9999023290|MR|Test|E|Lead 23290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023291|123291|989898|1|9999023291|MR|Test|E|Lead 23291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023292|123292|989898|1|9999023292|MR|Test|E|Lead 23292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023293|123293|989898|1|9999023293|MR|Test|E|Lead 23293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023294|123294|989898|1|9999023294|MR|Test|E|Lead 23294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023295|123295|989898|1|9999023295|MR|Test|E|Lead 23295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023296|123296|989898|1|9999023296|MR|Test|E|Lead 23296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023297|123297|989898|1|9999023297|MR|Test|E|Lead 23297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023298|123298|989898|1|9999023298|MR|Test|E|Lead 23298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023299|123299|989898|1|9999023299|MR|Test|E|Lead 23299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023300|123300|989898|1|9999023300|MR|Test|E|Lead 23300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023301|123301|989898|1|9999023301|MR|Test|E|Lead 23301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023302|123302|989898|1|9999023302|MR|Test|E|Lead 23302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023303|123303|989898|1|9999023303|MR|Test|E|Lead 23303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023304|123304|989898|1|9999023304|MR|Test|E|Lead 23304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023305|123305|989898|1|9999023305|MR|Test|E|Lead 23305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023306|123306|989898|1|9999023306|MR|Test|E|Lead 23306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023307|123307|989898|1|9999023307|MR|Test|E|Lead 23307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023308|123308|989898|1|9999023308|MR|Test|E|Lead 23308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023309|123309|989898|1|9999023309|MR|Test|E|Lead 23309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023310|123310|989898|1|9999023310|MR|Test|E|Lead 23310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023311|123311|989898|1|9999023311|MR|Test|E|Lead 23311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023312|123312|989898|1|9999023312|MR|Test|E|Lead 23312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023313|123313|989898|1|9999023313|MR|Test|E|Lead 23313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023314|123314|989898|1|9999023314|MR|Test|E|Lead 23314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023315|123315|989898|1|9999023315|MR|Test|E|Lead 23315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023316|123316|989898|1|9999023316|MR|Test|E|Lead 23316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023317|123317|989898|1|9999023317|MR|Test|E|Lead 23317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023318|123318|989898|1|9999023318|MR|Test|E|Lead 23318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023319|123319|989898|1|9999023319|MR|Test|E|Lead 23319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023320|123320|989898|1|9999023320|MR|Test|E|Lead 23320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023321|123321|989898|1|9999023321|MR|Test|E|Lead 23321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023322|123322|989898|1|9999023322|MR|Test|E|Lead 23322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023323|123323|989898|1|9999023323|MR|Test|E|Lead 23323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023324|123324|989898|1|9999023324|MR|Test|E|Lead 23324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023325|123325|989898|1|9999023325|MR|Test|E|Lead 23325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023326|123326|989898|1|9999023326|MR|Test|E|Lead 23326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023327|123327|989898|1|9999023327|MR|Test|E|Lead 23327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023328|123328|989898|1|9999023328|MR|Test|E|Lead 23328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023329|123329|989898|1|9999023329|MR|Test|E|Lead 23329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023330|123330|989898|1|9999023330|MR|Test|E|Lead 23330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023331|123331|989898|1|9999023331|MR|Test|E|Lead 23331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023332|123332|989898|1|9999023332|MR|Test|E|Lead 23332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023333|123333|989898|1|9999023333|MR|Test|E|Lead 23333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023334|123334|989898|1|9999023334|MR|Test|E|Lead 23334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023335|123335|989898|1|9999023335|MR|Test|E|Lead 23335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023336|123336|989898|1|9999023336|MR|Test|E|Lead 23336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023337|123337|989898|1|9999023337|MR|Test|E|Lead 23337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023338|123338|989898|1|9999023338|MR|Test|E|Lead 23338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023339|123339|989898|1|9999023339|MR|Test|E|Lead 23339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023340|123340|989898|1|9999023340|MR|Test|E|Lead 23340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023341|123341|989898|1|9999023341|MR|Test|E|Lead 23341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023342|123342|989898|1|9999023342|MR|Test|E|Lead 23342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023343|123343|989898|1|9999023343|MR|Test|E|Lead 23343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023344|123344|989898|1|9999023344|MR|Test|E|Lead 23344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023345|123345|989898|1|9999023345|MR|Test|E|Lead 23345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023346|123346|989898|1|9999023346|MR|Test|E|Lead 23346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023347|123347|989898|1|9999023347|MR|Test|E|Lead 23347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023348|123348|989898|1|9999023348|MR|Test|E|Lead 23348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023349|123349|989898|1|9999023349|MR|Test|E|Lead 23349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023350|123350|989898|1|9999023350|MR|Test|E|Lead 23350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023351|123351|989898|1|9999023351|MR|Test|E|Lead 23351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023352|123352|989898|1|9999023352|MR|Test|E|Lead 23352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023353|123353|989898|1|9999023353|MR|Test|E|Lead 23353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023354|123354|989898|1|9999023354|MR|Test|E|Lead 23354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023355|123355|989898|1|9999023355|MR|Test|E|Lead 23355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023356|123356|989898|1|9999023356|MR|Test|E|Lead 23356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023357|123357|989898|1|9999023357|MR|Test|E|Lead 23357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023358|123358|989898|1|9999023358|MR|Test|E|Lead 23358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023359|123359|989898|1|9999023359|MR|Test|E|Lead 23359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023360|123360|989898|1|9999023360|MR|Test|E|Lead 23360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023361|123361|989898|1|9999023361|MR|Test|E|Lead 23361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023362|123362|989898|1|9999023362|MR|Test|E|Lead 23362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023363|123363|989898|1|9999023363|MR|Test|E|Lead 23363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023364|123364|989898|1|9999023364|MR|Test|E|Lead 23364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023365|123365|989898|1|9999023365|MR|Test|E|Lead 23365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023366|123366|989898|1|9999023366|MR|Test|E|Lead 23366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023367|123367|989898|1|9999023367|MR|Test|E|Lead 23367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023368|123368|989898|1|9999023368|MR|Test|E|Lead 23368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023369|123369|989898|1|9999023369|MR|Test|E|Lead 23369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023370|123370|989898|1|9999023370|MR|Test|E|Lead 23370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023371|123371|989898|1|9999023371|MR|Test|E|Lead 23371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023372|123372|989898|1|9999023372|MR|Test|E|Lead 23372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023373|123373|989898|1|9999023373|MR|Test|E|Lead 23373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023374|123374|989898|1|9999023374|MR|Test|E|Lead 23374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023375|123375|989898|1|9999023375|MR|Test|E|Lead 23375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023376|123376|989898|1|9999023376|MR|Test|E|Lead 23376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023377|123377|989898|1|9999023377|MR|Test|E|Lead 23377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023378|123378|989898|1|9999023378|MR|Test|E|Lead 23378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023379|123379|989898|1|9999023379|MR|Test|E|Lead 23379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023380|123380|989898|1|9999023380|MR|Test|E|Lead 23380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023381|123381|989898|1|9999023381|MR|Test|E|Lead 23381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023382|123382|989898|1|9999023382|MR|Test|E|Lead 23382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023383|123383|989898|1|9999023383|MR|Test|E|Lead 23383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023384|123384|989898|1|9999023384|MR|Test|E|Lead 23384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023385|123385|989898|1|9999023385|MR|Test|E|Lead 23385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023386|123386|989898|1|9999023386|MR|Test|E|Lead 23386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023387|123387|989898|1|9999023387|MR|Test|E|Lead 23387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023388|123388|989898|1|9999023388|MR|Test|E|Lead 23388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023389|123389|989898|1|9999023389|MR|Test|E|Lead 23389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023390|123390|989898|1|9999023390|MR|Test|E|Lead 23390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023391|123391|989898|1|9999023391|MR|Test|E|Lead 23391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023392|123392|989898|1|9999023392|MR|Test|E|Lead 23392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023393|123393|989898|1|9999023393|MR|Test|E|Lead 23393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023394|123394|989898|1|9999023394|MR|Test|E|Lead 23394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023395|123395|989898|1|9999023395|MR|Test|E|Lead 23395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023396|123396|989898|1|9999023396|MR|Test|E|Lead 23396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023397|123397|989898|1|9999023397|MR|Test|E|Lead 23397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023398|123398|989898|1|9999023398|MR|Test|E|Lead 23398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023399|123399|989898|1|9999023399|MR|Test|E|Lead 23399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023400|123400|989898|1|9999023400|MR|Test|E|Lead 23400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023401|123401|989898|1|9999023401|MR|Test|E|Lead 23401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023402|123402|989898|1|9999023402|MR|Test|E|Lead 23402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023403|123403|989898|1|9999023403|MR|Test|E|Lead 23403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023404|123404|989898|1|9999023404|MR|Test|E|Lead 23404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023405|123405|989898|1|9999023405|MR|Test|E|Lead 23405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023406|123406|989898|1|9999023406|MR|Test|E|Lead 23406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023407|123407|989898|1|9999023407|MR|Test|E|Lead 23407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023408|123408|989898|1|9999023408|MR|Test|E|Lead 23408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023409|123409|989898|1|9999023409|MR|Test|E|Lead 23409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023410|123410|989898|1|9999023410|MR|Test|E|Lead 23410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023411|123411|989898|1|9999023411|MR|Test|E|Lead 23411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023412|123412|989898|1|9999023412|MR|Test|E|Lead 23412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023413|123413|989898|1|9999023413|MR|Test|E|Lead 23413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023414|123414|989898|1|9999023414|MR|Test|E|Lead 23414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023415|123415|989898|1|9999023415|MR|Test|E|Lead 23415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023416|123416|989898|1|9999023416|MR|Test|E|Lead 23416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023417|123417|989898|1|9999023417|MR|Test|E|Lead 23417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023418|123418|989898|1|9999023418|MR|Test|E|Lead 23418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023419|123419|989898|1|9999023419|MR|Test|E|Lead 23419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023420|123420|989898|1|9999023420|MR|Test|E|Lead 23420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023421|123421|989898|1|9999023421|MR|Test|E|Lead 23421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023422|123422|989898|1|9999023422|MR|Test|E|Lead 23422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023423|123423|989898|1|9999023423|MR|Test|E|Lead 23423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023424|123424|989898|1|9999023424|MR|Test|E|Lead 23424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023425|123425|989898|1|9999023425|MR|Test|E|Lead 23425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023426|123426|989898|1|9999023426|MR|Test|E|Lead 23426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023427|123427|989898|1|9999023427|MR|Test|E|Lead 23427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023428|123428|989898|1|9999023428|MR|Test|E|Lead 23428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023429|123429|989898|1|9999023429|MR|Test|E|Lead 23429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023430|123430|989898|1|9999023430|MR|Test|E|Lead 23430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023431|123431|989898|1|9999023431|MR|Test|E|Lead 23431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023432|123432|989898|1|9999023432|MR|Test|E|Lead 23432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023433|123433|989898|1|9999023433|MR|Test|E|Lead 23433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023434|123434|989898|1|9999023434|MR|Test|E|Lead 23434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023435|123435|989898|1|9999023435|MR|Test|E|Lead 23435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023436|123436|989898|1|9999023436|MR|Test|E|Lead 23436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023437|123437|989898|1|9999023437|MR|Test|E|Lead 23437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023438|123438|989898|1|9999023438|MR|Test|E|Lead 23438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023439|123439|989898|1|9999023439|MR|Test|E|Lead 23439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023440|123440|989898|1|9999023440|MR|Test|E|Lead 23440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023441|123441|989898|1|9999023441|MR|Test|E|Lead 23441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023442|123442|989898|1|9999023442|MR|Test|E|Lead 23442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023443|123443|989898|1|9999023443|MR|Test|E|Lead 23443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023444|123444|989898|1|9999023444|MR|Test|E|Lead 23444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023445|123445|989898|1|9999023445|MR|Test|E|Lead 23445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023446|123446|989898|1|9999023446|MR|Test|E|Lead 23446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023447|123447|989898|1|9999023447|MR|Test|E|Lead 23447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023448|123448|989898|1|9999023448|MR|Test|E|Lead 23448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023449|123449|989898|1|9999023449|MR|Test|E|Lead 23449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023450|123450|989898|1|9999023450|MR|Test|E|Lead 23450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023451|123451|989898|1|9999023451|MR|Test|E|Lead 23451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023452|123452|989898|1|9999023452|MR|Test|E|Lead 23452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023453|123453|989898|1|9999023453|MR|Test|E|Lead 23453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023454|123454|989898|1|9999023454|MR|Test|E|Lead 23454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023455|123455|989898|1|9999023455|MR|Test|E|Lead 23455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023456|123456|989898|1|9999023456|MR|Test|E|Lead 23456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023457|123457|989898|1|9999023457|MR|Test|E|Lead 23457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023458|123458|989898|1|9999023458|MR|Test|E|Lead 23458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023459|123459|989898|1|9999023459|MR|Test|E|Lead 23459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023460|123460|989898|1|9999023460|MR|Test|E|Lead 23460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023461|123461|989898|1|9999023461|MR|Test|E|Lead 23461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023462|123462|989898|1|9999023462|MR|Test|E|Lead 23462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023463|123463|989898|1|9999023463|MR|Test|E|Lead 23463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023464|123464|989898|1|9999023464|MR|Test|E|Lead 23464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023465|123465|989898|1|9999023465|MR|Test|E|Lead 23465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023466|123466|989898|1|9999023466|MR|Test|E|Lead 23466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023467|123467|989898|1|9999023467|MR|Test|E|Lead 23467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023468|123468|989898|1|9999023468|MR|Test|E|Lead 23468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023469|123469|989898|1|9999023469|MR|Test|E|Lead 23469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023470|123470|989898|1|9999023470|MR|Test|E|Lead 23470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023471|123471|989898|1|9999023471|MR|Test|E|Lead 23471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023472|123472|989898|1|9999023472|MR|Test|E|Lead 23472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023473|123473|989898|1|9999023473|MR|Test|E|Lead 23473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023474|123474|989898|1|9999023474|MR|Test|E|Lead 23474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023475|123475|989898|1|9999023475|MR|Test|E|Lead 23475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023476|123476|989898|1|9999023476|MR|Test|E|Lead 23476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023477|123477|989898|1|9999023477|MR|Test|E|Lead 23477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023478|123478|989898|1|9999023478|MR|Test|E|Lead 23478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023479|123479|989898|1|9999023479|MR|Test|E|Lead 23479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023480|123480|989898|1|9999023480|MR|Test|E|Lead 23480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023481|123481|989898|1|9999023481|MR|Test|E|Lead 23481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023482|123482|989898|1|9999023482|MR|Test|E|Lead 23482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023483|123483|989898|1|9999023483|MR|Test|E|Lead 23483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023484|123484|989898|1|9999023484|MR|Test|E|Lead 23484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023485|123485|989898|1|9999023485|MR|Test|E|Lead 23485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023486|123486|989898|1|9999023486|MR|Test|E|Lead 23486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023487|123487|989898|1|9999023487|MR|Test|E|Lead 23487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023488|123488|989898|1|9999023488|MR|Test|E|Lead 23488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023489|123489|989898|1|9999023489|MR|Test|E|Lead 23489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023490|123490|989898|1|9999023490|MR|Test|E|Lead 23490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023491|123491|989898|1|9999023491|MR|Test|E|Lead 23491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023492|123492|989898|1|9999023492|MR|Test|E|Lead 23492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023493|123493|989898|1|9999023493|MR|Test|E|Lead 23493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023494|123494|989898|1|9999023494|MR|Test|E|Lead 23494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023495|123495|989898|1|9999023495|MR|Test|E|Lead 23495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023496|123496|989898|1|9999023496|MR|Test|E|Lead 23496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023497|123497|989898|1|9999023497|MR|Test|E|Lead 23497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023498|123498|989898|1|9999023498|MR|Test|E|Lead 23498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023499|123499|989898|1|9999023499|MR|Test|E|Lead 23499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023500|123500|989898|1|9999023500|MR|Test|E|Lead 23500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023501|123501|989898|1|9999023501|MR|Test|E|Lead 23501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023502|123502|989898|1|9999023502|MR|Test|E|Lead 23502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023503|123503|989898|1|9999023503|MR|Test|E|Lead 23503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023504|123504|989898|1|9999023504|MR|Test|E|Lead 23504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023505|123505|989898|1|9999023505|MR|Test|E|Lead 23505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023506|123506|989898|1|9999023506|MR|Test|E|Lead 23506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023507|123507|989898|1|9999023507|MR|Test|E|Lead 23507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023508|123508|989898|1|9999023508|MR|Test|E|Lead 23508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023509|123509|989898|1|9999023509|MR|Test|E|Lead 23509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023510|123510|989898|1|9999023510|MR|Test|E|Lead 23510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023511|123511|989898|1|9999023511|MR|Test|E|Lead 23511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023512|123512|989898|1|9999023512|MR|Test|E|Lead 23512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023513|123513|989898|1|9999023513|MR|Test|E|Lead 23513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023514|123514|989898|1|9999023514|MR|Test|E|Lead 23514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023515|123515|989898|1|9999023515|MR|Test|E|Lead 23515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023516|123516|989898|1|9999023516|MR|Test|E|Lead 23516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023517|123517|989898|1|9999023517|MR|Test|E|Lead 23517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023518|123518|989898|1|9999023518|MR|Test|E|Lead 23518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023519|123519|989898|1|9999023519|MR|Test|E|Lead 23519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023520|123520|989898|1|9999023520|MR|Test|E|Lead 23520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023521|123521|989898|1|9999023521|MR|Test|E|Lead 23521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023522|123522|989898|1|9999023522|MR|Test|E|Lead 23522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023523|123523|989898|1|9999023523|MR|Test|E|Lead 23523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023524|123524|989898|1|9999023524|MR|Test|E|Lead 23524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023525|123525|989898|1|9999023525|MR|Test|E|Lead 23525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023526|123526|989898|1|9999023526|MR|Test|E|Lead 23526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023527|123527|989898|1|9999023527|MR|Test|E|Lead 23527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023528|123528|989898|1|9999023528|MR|Test|E|Lead 23528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023529|123529|989898|1|9999023529|MR|Test|E|Lead 23529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023530|123530|989898|1|9999023530|MR|Test|E|Lead 23530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023531|123531|989898|1|9999023531|MR|Test|E|Lead 23531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023532|123532|989898|1|9999023532|MR|Test|E|Lead 23532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023533|123533|989898|1|9999023533|MR|Test|E|Lead 23533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023534|123534|989898|1|9999023534|MR|Test|E|Lead 23534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023535|123535|989898|1|9999023535|MR|Test|E|Lead 23535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023536|123536|989898|1|9999023536|MR|Test|E|Lead 23536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023537|123537|989898|1|9999023537|MR|Test|E|Lead 23537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023538|123538|989898|1|9999023538|MR|Test|E|Lead 23538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023539|123539|989898|1|9999023539|MR|Test|E|Lead 23539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023540|123540|989898|1|9999023540|MR|Test|E|Lead 23540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023541|123541|989898|1|9999023541|MR|Test|E|Lead 23541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023542|123542|989898|1|9999023542|MR|Test|E|Lead 23542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023543|123543|989898|1|9999023543|MR|Test|E|Lead 23543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023544|123544|989898|1|9999023544|MR|Test|E|Lead 23544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023545|123545|989898|1|9999023545|MR|Test|E|Lead 23545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023546|123546|989898|1|9999023546|MR|Test|E|Lead 23546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023547|123547|989898|1|9999023547|MR|Test|E|Lead 23547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023548|123548|989898|1|9999023548|MR|Test|E|Lead 23548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023549|123549|989898|1|9999023549|MR|Test|E|Lead 23549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023550|123550|989898|1|9999023550|MR|Test|E|Lead 23550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023551|123551|989898|1|9999023551|MR|Test|E|Lead 23551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023552|123552|989898|1|9999023552|MR|Test|E|Lead 23552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023553|123553|989898|1|9999023553|MR|Test|E|Lead 23553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023554|123554|989898|1|9999023554|MR|Test|E|Lead 23554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023555|123555|989898|1|9999023555|MR|Test|E|Lead 23555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023556|123556|989898|1|9999023556|MR|Test|E|Lead 23556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023557|123557|989898|1|9999023557|MR|Test|E|Lead 23557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023558|123558|989898|1|9999023558|MR|Test|E|Lead 23558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023559|123559|989898|1|9999023559|MR|Test|E|Lead 23559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023560|123560|989898|1|9999023560|MR|Test|E|Lead 23560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023561|123561|989898|1|9999023561|MR|Test|E|Lead 23561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023562|123562|989898|1|9999023562|MR|Test|E|Lead 23562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023563|123563|989898|1|9999023563|MR|Test|E|Lead 23563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023564|123564|989898|1|9999023564|MR|Test|E|Lead 23564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023565|123565|989898|1|9999023565|MR|Test|E|Lead 23565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023566|123566|989898|1|9999023566|MR|Test|E|Lead 23566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023567|123567|989898|1|9999023567|MR|Test|E|Lead 23567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023568|123568|989898|1|9999023568|MR|Test|E|Lead 23568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023569|123569|989898|1|9999023569|MR|Test|E|Lead 23569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023570|123570|989898|1|9999023570|MR|Test|E|Lead 23570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023571|123571|989898|1|9999023571|MR|Test|E|Lead 23571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023572|123572|989898|1|9999023572|MR|Test|E|Lead 23572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023573|123573|989898|1|9999023573|MR|Test|E|Lead 23573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023574|123574|989898|1|9999023574|MR|Test|E|Lead 23574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023575|123575|989898|1|9999023575|MR|Test|E|Lead 23575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023576|123576|989898|1|9999023576|MR|Test|E|Lead 23576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023577|123577|989898|1|9999023577|MR|Test|E|Lead 23577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023578|123578|989898|1|9999023578|MR|Test|E|Lead 23578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023579|123579|989898|1|9999023579|MR|Test|E|Lead 23579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023580|123580|989898|1|9999023580|MR|Test|E|Lead 23580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023581|123581|989898|1|9999023581|MR|Test|E|Lead 23581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023582|123582|989898|1|9999023582|MR|Test|E|Lead 23582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023583|123583|989898|1|9999023583|MR|Test|E|Lead 23583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023584|123584|989898|1|9999023584|MR|Test|E|Lead 23584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023585|123585|989898|1|9999023585|MR|Test|E|Lead 23585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023586|123586|989898|1|9999023586|MR|Test|E|Lead 23586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023587|123587|989898|1|9999023587|MR|Test|E|Lead 23587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023588|123588|989898|1|9999023588|MR|Test|E|Lead 23588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023589|123589|989898|1|9999023589|MR|Test|E|Lead 23589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023590|123590|989898|1|9999023590|MR|Test|E|Lead 23590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023591|123591|989898|1|9999023591|MR|Test|E|Lead 23591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023592|123592|989898|1|9999023592|MR|Test|E|Lead 23592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023593|123593|989898|1|9999023593|MR|Test|E|Lead 23593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023594|123594|989898|1|9999023594|MR|Test|E|Lead 23594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023595|123595|989898|1|9999023595|MR|Test|E|Lead 23595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023596|123596|989898|1|9999023596|MR|Test|E|Lead 23596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023597|123597|989898|1|9999023597|MR|Test|E|Lead 23597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023598|123598|989898|1|9999023598|MR|Test|E|Lead 23598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023599|123599|989898|1|9999023599|MR|Test|E|Lead 23599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023600|123600|989898|1|9999023600|MR|Test|E|Lead 23600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023601|123601|989898|1|9999023601|MR|Test|E|Lead 23601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023602|123602|989898|1|9999023602|MR|Test|E|Lead 23602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023603|123603|989898|1|9999023603|MR|Test|E|Lead 23603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023604|123604|989898|1|9999023604|MR|Test|E|Lead 23604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023605|123605|989898|1|9999023605|MR|Test|E|Lead 23605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023606|123606|989898|1|9999023606|MR|Test|E|Lead 23606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023607|123607|989898|1|9999023607|MR|Test|E|Lead 23607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023608|123608|989898|1|9999023608|MR|Test|E|Lead 23608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023609|123609|989898|1|9999023609|MR|Test|E|Lead 23609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023610|123610|989898|1|9999023610|MR|Test|E|Lead 23610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023611|123611|989898|1|9999023611|MR|Test|E|Lead 23611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023612|123612|989898|1|9999023612|MR|Test|E|Lead 23612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023613|123613|989898|1|9999023613|MR|Test|E|Lead 23613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023614|123614|989898|1|9999023614|MR|Test|E|Lead 23614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023615|123615|989898|1|9999023615|MR|Test|E|Lead 23615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023616|123616|989898|1|9999023616|MR|Test|E|Lead 23616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023617|123617|989898|1|9999023617|MR|Test|E|Lead 23617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023618|123618|989898|1|9999023618|MR|Test|E|Lead 23618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023619|123619|989898|1|9999023619|MR|Test|E|Lead 23619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023620|123620|989898|1|9999023620|MR|Test|E|Lead 23620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023621|123621|989898|1|9999023621|MR|Test|E|Lead 23621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023622|123622|989898|1|9999023622|MR|Test|E|Lead 23622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023623|123623|989898|1|9999023623|MR|Test|E|Lead 23623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023624|123624|989898|1|9999023624|MR|Test|E|Lead 23624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023625|123625|989898|1|9999023625|MR|Test|E|Lead 23625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023626|123626|989898|1|9999023626|MR|Test|E|Lead 23626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023627|123627|989898|1|9999023627|MR|Test|E|Lead 23627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023628|123628|989898|1|9999023628|MR|Test|E|Lead 23628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023629|123629|989898|1|9999023629|MR|Test|E|Lead 23629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023630|123630|989898|1|9999023630|MR|Test|E|Lead 23630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023631|123631|989898|1|9999023631|MR|Test|E|Lead 23631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023632|123632|989898|1|9999023632|MR|Test|E|Lead 23632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023633|123633|989898|1|9999023633|MR|Test|E|Lead 23633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023634|123634|989898|1|9999023634|MR|Test|E|Lead 23634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023635|123635|989898|1|9999023635|MR|Test|E|Lead 23635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023636|123636|989898|1|9999023636|MR|Test|E|Lead 23636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023637|123637|989898|1|9999023637|MR|Test|E|Lead 23637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023638|123638|989898|1|9999023638|MR|Test|E|Lead 23638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023639|123639|989898|1|9999023639|MR|Test|E|Lead 23639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023640|123640|989898|1|9999023640|MR|Test|E|Lead 23640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023641|123641|989898|1|9999023641|MR|Test|E|Lead 23641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023642|123642|989898|1|9999023642|MR|Test|E|Lead 23642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023643|123643|989898|1|9999023643|MR|Test|E|Lead 23643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023644|123644|989898|1|9999023644|MR|Test|E|Lead 23644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023645|123645|989898|1|9999023645|MR|Test|E|Lead 23645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023646|123646|989898|1|9999023646|MR|Test|E|Lead 23646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023647|123647|989898|1|9999023647|MR|Test|E|Lead 23647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023648|123648|989898|1|9999023648|MR|Test|E|Lead 23648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023649|123649|989898|1|9999023649|MR|Test|E|Lead 23649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023650|123650|989898|1|9999023650|MR|Test|E|Lead 23650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023651|123651|989898|1|9999023651|MR|Test|E|Lead 23651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023652|123652|989898|1|9999023652|MR|Test|E|Lead 23652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023653|123653|989898|1|9999023653|MR|Test|E|Lead 23653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023654|123654|989898|1|9999023654|MR|Test|E|Lead 23654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023655|123655|989898|1|9999023655|MR|Test|E|Lead 23655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023656|123656|989898|1|9999023656|MR|Test|E|Lead 23656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023657|123657|989898|1|9999023657|MR|Test|E|Lead 23657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023658|123658|989898|1|9999023658|MR|Test|E|Lead 23658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023659|123659|989898|1|9999023659|MR|Test|E|Lead 23659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023660|123660|989898|1|9999023660|MR|Test|E|Lead 23660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023661|123661|989898|1|9999023661|MR|Test|E|Lead 23661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023662|123662|989898|1|9999023662|MR|Test|E|Lead 23662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023663|123663|989898|1|9999023663|MR|Test|E|Lead 23663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023664|123664|989898|1|9999023664|MR|Test|E|Lead 23664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023665|123665|989898|1|9999023665|MR|Test|E|Lead 23665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023666|123666|989898|1|9999023666|MR|Test|E|Lead 23666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023667|123667|989898|1|9999023667|MR|Test|E|Lead 23667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023668|123668|989898|1|9999023668|MR|Test|E|Lead 23668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023669|123669|989898|1|9999023669|MR|Test|E|Lead 23669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023670|123670|989898|1|9999023670|MR|Test|E|Lead 23670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023671|123671|989898|1|9999023671|MR|Test|E|Lead 23671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023672|123672|989898|1|9999023672|MR|Test|E|Lead 23672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023673|123673|989898|1|9999023673|MR|Test|E|Lead 23673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023674|123674|989898|1|9999023674|MR|Test|E|Lead 23674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023675|123675|989898|1|9999023675|MR|Test|E|Lead 23675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023676|123676|989898|1|9999023676|MR|Test|E|Lead 23676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023677|123677|989898|1|9999023677|MR|Test|E|Lead 23677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023678|123678|989898|1|9999023678|MR|Test|E|Lead 23678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023679|123679|989898|1|9999023679|MR|Test|E|Lead 23679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023680|123680|989898|1|9999023680|MR|Test|E|Lead 23680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023681|123681|989898|1|9999023681|MR|Test|E|Lead 23681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023682|123682|989898|1|9999023682|MR|Test|E|Lead 23682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023683|123683|989898|1|9999023683|MR|Test|E|Lead 23683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023684|123684|989898|1|9999023684|MR|Test|E|Lead 23684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023685|123685|989898|1|9999023685|MR|Test|E|Lead 23685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023686|123686|989898|1|9999023686|MR|Test|E|Lead 23686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023687|123687|989898|1|9999023687|MR|Test|E|Lead 23687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023688|123688|989898|1|9999023688|MR|Test|E|Lead 23688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023689|123689|989898|1|9999023689|MR|Test|E|Lead 23689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023690|123690|989898|1|9999023690|MR|Test|E|Lead 23690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023691|123691|989898|1|9999023691|MR|Test|E|Lead 23691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023692|123692|989898|1|9999023692|MR|Test|E|Lead 23692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023693|123693|989898|1|9999023693|MR|Test|E|Lead 23693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023694|123694|989898|1|9999023694|MR|Test|E|Lead 23694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023695|123695|989898|1|9999023695|MR|Test|E|Lead 23695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023696|123696|989898|1|9999023696|MR|Test|E|Lead 23696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023697|123697|989898|1|9999023697|MR|Test|E|Lead 23697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023698|123698|989898|1|9999023698|MR|Test|E|Lead 23698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023699|123699|989898|1|9999023699|MR|Test|E|Lead 23699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023700|123700|989898|1|9999023700|MR|Test|E|Lead 23700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023701|123701|989898|1|9999023701|MR|Test|E|Lead 23701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023702|123702|989898|1|9999023702|MR|Test|E|Lead 23702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023703|123703|989898|1|9999023703|MR|Test|E|Lead 23703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023704|123704|989898|1|9999023704|MR|Test|E|Lead 23704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023705|123705|989898|1|9999023705|MR|Test|E|Lead 23705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023706|123706|989898|1|9999023706|MR|Test|E|Lead 23706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023707|123707|989898|1|9999023707|MR|Test|E|Lead 23707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023708|123708|989898|1|9999023708|MR|Test|E|Lead 23708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023709|123709|989898|1|9999023709|MR|Test|E|Lead 23709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023710|123710|989898|1|9999023710|MR|Test|E|Lead 23710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023711|123711|989898|1|9999023711|MR|Test|E|Lead 23711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023712|123712|989898|1|9999023712|MR|Test|E|Lead 23712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023713|123713|989898|1|9999023713|MR|Test|E|Lead 23713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023714|123714|989898|1|9999023714|MR|Test|E|Lead 23714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023715|123715|989898|1|9999023715|MR|Test|E|Lead 23715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023716|123716|989898|1|9999023716|MR|Test|E|Lead 23716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023717|123717|989898|1|9999023717|MR|Test|E|Lead 23717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023718|123718|989898|1|9999023718|MR|Test|E|Lead 23718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023719|123719|989898|1|9999023719|MR|Test|E|Lead 23719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023720|123720|989898|1|9999023720|MR|Test|E|Lead 23720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023721|123721|989898|1|9999023721|MR|Test|E|Lead 23721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023722|123722|989898|1|9999023722|MR|Test|E|Lead 23722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023723|123723|989898|1|9999023723|MR|Test|E|Lead 23723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023724|123724|989898|1|9999023724|MR|Test|E|Lead 23724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023725|123725|989898|1|9999023725|MR|Test|E|Lead 23725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023726|123726|989898|1|9999023726|MR|Test|E|Lead 23726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023727|123727|989898|1|9999023727|MR|Test|E|Lead 23727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023728|123728|989898|1|9999023728|MR|Test|E|Lead 23728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023729|123729|989898|1|9999023729|MR|Test|E|Lead 23729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023730|123730|989898|1|9999023730|MR|Test|E|Lead 23730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023731|123731|989898|1|9999023731|MR|Test|E|Lead 23731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023732|123732|989898|1|9999023732|MR|Test|E|Lead 23732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023733|123733|989898|1|9999023733|MR|Test|E|Lead 23733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023734|123734|989898|1|9999023734|MR|Test|E|Lead 23734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023735|123735|989898|1|9999023735|MR|Test|E|Lead 23735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023736|123736|989898|1|9999023736|MR|Test|E|Lead 23736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023737|123737|989898|1|9999023737|MR|Test|E|Lead 23737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023738|123738|989898|1|9999023738|MR|Test|E|Lead 23738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023739|123739|989898|1|9999023739|MR|Test|E|Lead 23739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023740|123740|989898|1|9999023740|MR|Test|E|Lead 23740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023741|123741|989898|1|9999023741|MR|Test|E|Lead 23741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023742|123742|989898|1|9999023742|MR|Test|E|Lead 23742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023743|123743|989898|1|9999023743|MR|Test|E|Lead 23743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023744|123744|989898|1|9999023744|MR|Test|E|Lead 23744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023745|123745|989898|1|9999023745|MR|Test|E|Lead 23745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023746|123746|989898|1|9999023746|MR|Test|E|Lead 23746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023747|123747|989898|1|9999023747|MR|Test|E|Lead 23747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023748|123748|989898|1|9999023748|MR|Test|E|Lead 23748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023749|123749|989898|1|9999023749|MR|Test|E|Lead 23749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023750|123750|989898|1|9999023750|MR|Test|E|Lead 23750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023751|123751|989898|1|9999023751|MR|Test|E|Lead 23751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023752|123752|989898|1|9999023752|MR|Test|E|Lead 23752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023753|123753|989898|1|9999023753|MR|Test|E|Lead 23753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023754|123754|989898|1|9999023754|MR|Test|E|Lead 23754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023755|123755|989898|1|9999023755|MR|Test|E|Lead 23755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023756|123756|989898|1|9999023756|MR|Test|E|Lead 23756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023757|123757|989898|1|9999023757|MR|Test|E|Lead 23757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023758|123758|989898|1|9999023758|MR|Test|E|Lead 23758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023759|123759|989898|1|9999023759|MR|Test|E|Lead 23759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023760|123760|989898|1|9999023760|MR|Test|E|Lead 23760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023761|123761|989898|1|9999023761|MR|Test|E|Lead 23761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023762|123762|989898|1|9999023762|MR|Test|E|Lead 23762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023763|123763|989898|1|9999023763|MR|Test|E|Lead 23763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023764|123764|989898|1|9999023764|MR|Test|E|Lead 23764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023765|123765|989898|1|9999023765|MR|Test|E|Lead 23765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023766|123766|989898|1|9999023766|MR|Test|E|Lead 23766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023767|123767|989898|1|9999023767|MR|Test|E|Lead 23767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023768|123768|989898|1|9999023768|MR|Test|E|Lead 23768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023769|123769|989898|1|9999023769|MR|Test|E|Lead 23769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023770|123770|989898|1|9999023770|MR|Test|E|Lead 23770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023771|123771|989898|1|9999023771|MR|Test|E|Lead 23771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023772|123772|989898|1|9999023772|MR|Test|E|Lead 23772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023773|123773|989898|1|9999023773|MR|Test|E|Lead 23773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023774|123774|989898|1|9999023774|MR|Test|E|Lead 23774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023775|123775|989898|1|9999023775|MR|Test|E|Lead 23775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023776|123776|989898|1|9999023776|MR|Test|E|Lead 23776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023777|123777|989898|1|9999023777|MR|Test|E|Lead 23777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023778|123778|989898|1|9999023778|MR|Test|E|Lead 23778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023779|123779|989898|1|9999023779|MR|Test|E|Lead 23779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023780|123780|989898|1|9999023780|MR|Test|E|Lead 23780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023781|123781|989898|1|9999023781|MR|Test|E|Lead 23781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023782|123782|989898|1|9999023782|MR|Test|E|Lead 23782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023783|123783|989898|1|9999023783|MR|Test|E|Lead 23783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023784|123784|989898|1|9999023784|MR|Test|E|Lead 23784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023785|123785|989898|1|9999023785|MR|Test|E|Lead 23785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023786|123786|989898|1|9999023786|MR|Test|E|Lead 23786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023787|123787|989898|1|9999023787|MR|Test|E|Lead 23787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023788|123788|989898|1|9999023788|MR|Test|E|Lead 23788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023789|123789|989898|1|9999023789|MR|Test|E|Lead 23789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023790|123790|989898|1|9999023790|MR|Test|E|Lead 23790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023791|123791|989898|1|9999023791|MR|Test|E|Lead 23791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023792|123792|989898|1|9999023792|MR|Test|E|Lead 23792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023793|123793|989898|1|9999023793|MR|Test|E|Lead 23793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023794|123794|989898|1|9999023794|MR|Test|E|Lead 23794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023795|123795|989898|1|9999023795|MR|Test|E|Lead 23795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023796|123796|989898|1|9999023796|MR|Test|E|Lead 23796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023797|123797|989898|1|9999023797|MR|Test|E|Lead 23797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023798|123798|989898|1|9999023798|MR|Test|E|Lead 23798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023799|123799|989898|1|9999023799|MR|Test|E|Lead 23799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023800|123800|989898|1|9999023800|MR|Test|E|Lead 23800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023801|123801|989898|1|9999023801|MR|Test|E|Lead 23801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023802|123802|989898|1|9999023802|MR|Test|E|Lead 23802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023803|123803|989898|1|9999023803|MR|Test|E|Lead 23803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023804|123804|989898|1|9999023804|MR|Test|E|Lead 23804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023805|123805|989898|1|9999023805|MR|Test|E|Lead 23805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023806|123806|989898|1|9999023806|MR|Test|E|Lead 23806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023807|123807|989898|1|9999023807|MR|Test|E|Lead 23807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023808|123808|989898|1|9999023808|MR|Test|E|Lead 23808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023809|123809|989898|1|9999023809|MR|Test|E|Lead 23809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023810|123810|989898|1|9999023810|MR|Test|E|Lead 23810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023811|123811|989898|1|9999023811|MR|Test|E|Lead 23811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023812|123812|989898|1|9999023812|MR|Test|E|Lead 23812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023813|123813|989898|1|9999023813|MR|Test|E|Lead 23813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023814|123814|989898|1|9999023814|MR|Test|E|Lead 23814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023815|123815|989898|1|9999023815|MR|Test|E|Lead 23815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023816|123816|989898|1|9999023816|MR|Test|E|Lead 23816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023817|123817|989898|1|9999023817|MR|Test|E|Lead 23817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023818|123818|989898|1|9999023818|MR|Test|E|Lead 23818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023819|123819|989898|1|9999023819|MR|Test|E|Lead 23819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023820|123820|989898|1|9999023820|MR|Test|E|Lead 23820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023821|123821|989898|1|9999023821|MR|Test|E|Lead 23821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023822|123822|989898|1|9999023822|MR|Test|E|Lead 23822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023823|123823|989898|1|9999023823|MR|Test|E|Lead 23823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023824|123824|989898|1|9999023824|MR|Test|E|Lead 23824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023825|123825|989898|1|9999023825|MR|Test|E|Lead 23825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023826|123826|989898|1|9999023826|MR|Test|E|Lead 23826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023827|123827|989898|1|9999023827|MR|Test|E|Lead 23827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023828|123828|989898|1|9999023828|MR|Test|E|Lead 23828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023829|123829|989898|1|9999023829|MR|Test|E|Lead 23829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023830|123830|989898|1|9999023830|MR|Test|E|Lead 23830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023831|123831|989898|1|9999023831|MR|Test|E|Lead 23831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023832|123832|989898|1|9999023832|MR|Test|E|Lead 23832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023833|123833|989898|1|9999023833|MR|Test|E|Lead 23833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023834|123834|989898|1|9999023834|MR|Test|E|Lead 23834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023835|123835|989898|1|9999023835|MR|Test|E|Lead 23835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023836|123836|989898|1|9999023836|MR|Test|E|Lead 23836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023837|123837|989898|1|9999023837|MR|Test|E|Lead 23837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023838|123838|989898|1|9999023838|MR|Test|E|Lead 23838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023839|123839|989898|1|9999023839|MR|Test|E|Lead 23839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023840|123840|989898|1|9999023840|MR|Test|E|Lead 23840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023841|123841|989898|1|9999023841|MR|Test|E|Lead 23841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023842|123842|989898|1|9999023842|MR|Test|E|Lead 23842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023843|123843|989898|1|9999023843|MR|Test|E|Lead 23843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023844|123844|989898|1|9999023844|MR|Test|E|Lead 23844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023845|123845|989898|1|9999023845|MR|Test|E|Lead 23845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023846|123846|989898|1|9999023846|MR|Test|E|Lead 23846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023847|123847|989898|1|9999023847|MR|Test|E|Lead 23847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023848|123848|989898|1|9999023848|MR|Test|E|Lead 23848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023849|123849|989898|1|9999023849|MR|Test|E|Lead 23849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023850|123850|989898|1|9999023850|MR|Test|E|Lead 23850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023851|123851|989898|1|9999023851|MR|Test|E|Lead 23851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023852|123852|989898|1|9999023852|MR|Test|E|Lead 23852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023853|123853|989898|1|9999023853|MR|Test|E|Lead 23853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023854|123854|989898|1|9999023854|MR|Test|E|Lead 23854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023855|123855|989898|1|9999023855|MR|Test|E|Lead 23855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023856|123856|989898|1|9999023856|MR|Test|E|Lead 23856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023857|123857|989898|1|9999023857|MR|Test|E|Lead 23857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023858|123858|989898|1|9999023858|MR|Test|E|Lead 23858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023859|123859|989898|1|9999023859|MR|Test|E|Lead 23859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023860|123860|989898|1|9999023860|MR|Test|E|Lead 23860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023861|123861|989898|1|9999023861|MR|Test|E|Lead 23861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023862|123862|989898|1|9999023862|MR|Test|E|Lead 23862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023863|123863|989898|1|9999023863|MR|Test|E|Lead 23863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023864|123864|989898|1|9999023864|MR|Test|E|Lead 23864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023865|123865|989898|1|9999023865|MR|Test|E|Lead 23865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023866|123866|989898|1|9999023866|MR|Test|E|Lead 23866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023867|123867|989898|1|9999023867|MR|Test|E|Lead 23867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023868|123868|989898|1|9999023868|MR|Test|E|Lead 23868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023869|123869|989898|1|9999023869|MR|Test|E|Lead 23869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023870|123870|989898|1|9999023870|MR|Test|E|Lead 23870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023871|123871|989898|1|9999023871|MR|Test|E|Lead 23871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023872|123872|989898|1|9999023872|MR|Test|E|Lead 23872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023873|123873|989898|1|9999023873|MR|Test|E|Lead 23873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023874|123874|989898|1|9999023874|MR|Test|E|Lead 23874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023875|123875|989898|1|9999023875|MR|Test|E|Lead 23875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023876|123876|989898|1|9999023876|MR|Test|E|Lead 23876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023877|123877|989898|1|9999023877|MR|Test|E|Lead 23877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023878|123878|989898|1|9999023878|MR|Test|E|Lead 23878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023879|123879|989898|1|9999023879|MR|Test|E|Lead 23879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023880|123880|989898|1|9999023880|MR|Test|E|Lead 23880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023881|123881|989898|1|9999023881|MR|Test|E|Lead 23881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023882|123882|989898|1|9999023882|MR|Test|E|Lead 23882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023883|123883|989898|1|9999023883|MR|Test|E|Lead 23883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023884|123884|989898|1|9999023884|MR|Test|E|Lead 23884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023885|123885|989898|1|9999023885|MR|Test|E|Lead 23885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023886|123886|989898|1|9999023886|MR|Test|E|Lead 23886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023887|123887|989898|1|9999023887|MR|Test|E|Lead 23887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023888|123888|989898|1|9999023888|MR|Test|E|Lead 23888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023889|123889|989898|1|9999023889|MR|Test|E|Lead 23889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023890|123890|989898|1|9999023890|MR|Test|E|Lead 23890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023891|123891|989898|1|9999023891|MR|Test|E|Lead 23891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023892|123892|989898|1|9999023892|MR|Test|E|Lead 23892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023893|123893|989898|1|9999023893|MR|Test|E|Lead 23893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023894|123894|989898|1|9999023894|MR|Test|E|Lead 23894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023895|123895|989898|1|9999023895|MR|Test|E|Lead 23895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023896|123896|989898|1|9999023896|MR|Test|E|Lead 23896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023897|123897|989898|1|9999023897|MR|Test|E|Lead 23897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023898|123898|989898|1|9999023898|MR|Test|E|Lead 23898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023899|123899|989898|1|9999023899|MR|Test|E|Lead 23899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023900|123900|989898|1|9999023900|MR|Test|E|Lead 23900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023901|123901|989898|1|9999023901|MR|Test|E|Lead 23901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023902|123902|989898|1|9999023902|MR|Test|E|Lead 23902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023903|123903|989898|1|9999023903|MR|Test|E|Lead 23903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023904|123904|989898|1|9999023904|MR|Test|E|Lead 23904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023905|123905|989898|1|9999023905|MR|Test|E|Lead 23905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023906|123906|989898|1|9999023906|MR|Test|E|Lead 23906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023907|123907|989898|1|9999023907|MR|Test|E|Lead 23907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023908|123908|989898|1|9999023908|MR|Test|E|Lead 23908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023909|123909|989898|1|9999023909|MR|Test|E|Lead 23909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023910|123910|989898|1|9999023910|MR|Test|E|Lead 23910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023911|123911|989898|1|9999023911|MR|Test|E|Lead 23911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023912|123912|989898|1|9999023912|MR|Test|E|Lead 23912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023913|123913|989898|1|9999023913|MR|Test|E|Lead 23913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023914|123914|989898|1|9999023914|MR|Test|E|Lead 23914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023915|123915|989898|1|9999023915|MR|Test|E|Lead 23915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023916|123916|989898|1|9999023916|MR|Test|E|Lead 23916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023917|123917|989898|1|9999023917|MR|Test|E|Lead 23917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023918|123918|989898|1|9999023918|MR|Test|E|Lead 23918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023919|123919|989898|1|9999023919|MR|Test|E|Lead 23919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023920|123920|989898|1|9999023920|MR|Test|E|Lead 23920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023921|123921|989898|1|9999023921|MR|Test|E|Lead 23921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023922|123922|989898|1|9999023922|MR|Test|E|Lead 23922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023923|123923|989898|1|9999023923|MR|Test|E|Lead 23923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023924|123924|989898|1|9999023924|MR|Test|E|Lead 23924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023925|123925|989898|1|9999023925|MR|Test|E|Lead 23925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023926|123926|989898|1|9999023926|MR|Test|E|Lead 23926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023927|123927|989898|1|9999023927|MR|Test|E|Lead 23927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023928|123928|989898|1|9999023928|MR|Test|E|Lead 23928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023929|123929|989898|1|9999023929|MR|Test|E|Lead 23929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023930|123930|989898|1|9999023930|MR|Test|E|Lead 23930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023931|123931|989898|1|9999023931|MR|Test|E|Lead 23931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023932|123932|989898|1|9999023932|MR|Test|E|Lead 23932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023933|123933|989898|1|9999023933|MR|Test|E|Lead 23933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023934|123934|989898|1|9999023934|MR|Test|E|Lead 23934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023935|123935|989898|1|9999023935|MR|Test|E|Lead 23935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023936|123936|989898|1|9999023936|MR|Test|E|Lead 23936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023937|123937|989898|1|9999023937|MR|Test|E|Lead 23937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023938|123938|989898|1|9999023938|MR|Test|E|Lead 23938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023939|123939|989898|1|9999023939|MR|Test|E|Lead 23939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023940|123940|989898|1|9999023940|MR|Test|E|Lead 23940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023941|123941|989898|1|9999023941|MR|Test|E|Lead 23941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023942|123942|989898|1|9999023942|MR|Test|E|Lead 23942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023943|123943|989898|1|9999023943|MR|Test|E|Lead 23943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023944|123944|989898|1|9999023944|MR|Test|E|Lead 23944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023945|123945|989898|1|9999023945|MR|Test|E|Lead 23945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023946|123946|989898|1|9999023946|MR|Test|E|Lead 23946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023947|123947|989898|1|9999023947|MR|Test|E|Lead 23947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023948|123948|989898|1|9999023948|MR|Test|E|Lead 23948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023949|123949|989898|1|9999023949|MR|Test|E|Lead 23949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023950|123950|989898|1|9999023950|MR|Test|E|Lead 23950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023951|123951|989898|1|9999023951|MR|Test|E|Lead 23951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023952|123952|989898|1|9999023952|MR|Test|E|Lead 23952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023953|123953|989898|1|9999023953|MR|Test|E|Lead 23953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023954|123954|989898|1|9999023954|MR|Test|E|Lead 23954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023955|123955|989898|1|9999023955|MR|Test|E|Lead 23955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023956|123956|989898|1|9999023956|MR|Test|E|Lead 23956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023957|123957|989898|1|9999023957|MR|Test|E|Lead 23957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023958|123958|989898|1|9999023958|MR|Test|E|Lead 23958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023959|123959|989898|1|9999023959|MR|Test|E|Lead 23959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023960|123960|989898|1|9999023960|MR|Test|E|Lead 23960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023961|123961|989898|1|9999023961|MR|Test|E|Lead 23961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023962|123962|989898|1|9999023962|MR|Test|E|Lead 23962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023963|123963|989898|1|9999023963|MR|Test|E|Lead 23963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023964|123964|989898|1|9999023964|MR|Test|E|Lead 23964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023965|123965|989898|1|9999023965|MR|Test|E|Lead 23965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023966|123966|989898|1|9999023966|MR|Test|E|Lead 23966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023967|123967|989898|1|9999023967|MR|Test|E|Lead 23967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023968|123968|989898|1|9999023968|MR|Test|E|Lead 23968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023969|123969|989898|1|9999023969|MR|Test|E|Lead 23969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023970|123970|989898|1|9999023970|MR|Test|E|Lead 23970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023971|123971|989898|1|9999023971|MR|Test|E|Lead 23971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023972|123972|989898|1|9999023972|MR|Test|E|Lead 23972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023973|123973|989898|1|9999023973|MR|Test|E|Lead 23973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023974|123974|989898|1|9999023974|MR|Test|E|Lead 23974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023975|123975|989898|1|9999023975|MR|Test|E|Lead 23975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023976|123976|989898|1|9999023976|MR|Test|E|Lead 23976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023977|123977|989898|1|9999023977|MR|Test|E|Lead 23977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023978|123978|989898|1|9999023978|MR|Test|E|Lead 23978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023979|123979|989898|1|9999023979|MR|Test|E|Lead 23979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023980|123980|989898|1|9999023980|MR|Test|E|Lead 23980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023981|123981|989898|1|9999023981|MR|Test|E|Lead 23981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023982|123982|989898|1|9999023982|MR|Test|E|Lead 23982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023983|123983|989898|1|9999023983|MR|Test|E|Lead 23983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023984|123984|989898|1|9999023984|MR|Test|E|Lead 23984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023985|123985|989898|1|9999023985|MR|Test|E|Lead 23985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023986|123986|989898|1|9999023986|MR|Test|E|Lead 23986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023987|123987|989898|1|9999023987|MR|Test|E|Lead 23987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023988|123988|989898|1|9999023988|MR|Test|E|Lead 23988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023989|123989|989898|1|9999023989|MR|Test|E|Lead 23989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023990|123990|989898|1|9999023990|MR|Test|E|Lead 23990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023991|123991|989898|1|9999023991|MR|Test|E|Lead 23991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023992|123992|989898|1|9999023992|MR|Test|E|Lead 23992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023993|123993|989898|1|9999023993|MR|Test|E|Lead 23993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023994|123994|989898|1|9999023994|MR|Test|E|Lead 23994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023995|123995|989898|1|9999023995|MR|Test|E|Lead 23995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023996|123996|989898|1|9999023996|MR|Test|E|Lead 23996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023997|123997|989898|1|9999023997|MR|Test|E|Lead 23997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023998|123998|989898|1|9999023998|MR|Test|E|Lead 23998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1023999|123999|989898|1|9999023999|MR|Test|E|Lead 23999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024000|124000|989898|1|9999024000|MR|Test|E|Lead 24000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024001|124001|989898|1|9999024001|MR|Test|E|Lead 24001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024002|124002|989898|1|9999024002|MR|Test|E|Lead 24002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024003|124003|989898|1|9999024003|MR|Test|E|Lead 24003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024004|124004|989898|1|9999024004|MR|Test|E|Lead 24004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024005|124005|989898|1|9999024005|MR|Test|E|Lead 24005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024006|124006|989898|1|9999024006|MR|Test|E|Lead 24006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024007|124007|989898|1|9999024007|MR|Test|E|Lead 24007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024008|124008|989898|1|9999024008|MR|Test|E|Lead 24008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024009|124009|989898|1|9999024009|MR|Test|E|Lead 24009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024010|124010|989898|1|9999024010|MR|Test|E|Lead 24010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024011|124011|989898|1|9999024011|MR|Test|E|Lead 24011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024012|124012|989898|1|9999024012|MR|Test|E|Lead 24012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024013|124013|989898|1|9999024013|MR|Test|E|Lead 24013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024014|124014|989898|1|9999024014|MR|Test|E|Lead 24014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024015|124015|989898|1|9999024015|MR|Test|E|Lead 24015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024016|124016|989898|1|9999024016|MR|Test|E|Lead 24016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024017|124017|989898|1|9999024017|MR|Test|E|Lead 24017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024018|124018|989898|1|9999024018|MR|Test|E|Lead 24018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024019|124019|989898|1|9999024019|MR|Test|E|Lead 24019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024020|124020|989898|1|9999024020|MR|Test|E|Lead 24020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024021|124021|989898|1|9999024021|MR|Test|E|Lead 24021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024022|124022|989898|1|9999024022|MR|Test|E|Lead 24022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024023|124023|989898|1|9999024023|MR|Test|E|Lead 24023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024024|124024|989898|1|9999024024|MR|Test|E|Lead 24024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024025|124025|989898|1|9999024025|MR|Test|E|Lead 24025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024026|124026|989898|1|9999024026|MR|Test|E|Lead 24026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024027|124027|989898|1|9999024027|MR|Test|E|Lead 24027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024028|124028|989898|1|9999024028|MR|Test|E|Lead 24028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024029|124029|989898|1|9999024029|MR|Test|E|Lead 24029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024030|124030|989898|1|9999024030|MR|Test|E|Lead 24030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024031|124031|989898|1|9999024031|MR|Test|E|Lead 24031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024032|124032|989898|1|9999024032|MR|Test|E|Lead 24032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024033|124033|989898|1|9999024033|MR|Test|E|Lead 24033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024034|124034|989898|1|9999024034|MR|Test|E|Lead 24034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024035|124035|989898|1|9999024035|MR|Test|E|Lead 24035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024036|124036|989898|1|9999024036|MR|Test|E|Lead 24036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024037|124037|989898|1|9999024037|MR|Test|E|Lead 24037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024038|124038|989898|1|9999024038|MR|Test|E|Lead 24038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024039|124039|989898|1|9999024039|MR|Test|E|Lead 24039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024040|124040|989898|1|9999024040|MR|Test|E|Lead 24040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024041|124041|989898|1|9999024041|MR|Test|E|Lead 24041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024042|124042|989898|1|9999024042|MR|Test|E|Lead 24042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024043|124043|989898|1|9999024043|MR|Test|E|Lead 24043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024044|124044|989898|1|9999024044|MR|Test|E|Lead 24044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024045|124045|989898|1|9999024045|MR|Test|E|Lead 24045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024046|124046|989898|1|9999024046|MR|Test|E|Lead 24046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024047|124047|989898|1|9999024047|MR|Test|E|Lead 24047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024048|124048|989898|1|9999024048|MR|Test|E|Lead 24048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024049|124049|989898|1|9999024049|MR|Test|E|Lead 24049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024050|124050|989898|1|9999024050|MR|Test|E|Lead 24050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024051|124051|989898|1|9999024051|MR|Test|E|Lead 24051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024052|124052|989898|1|9999024052|MR|Test|E|Lead 24052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024053|124053|989898|1|9999024053|MR|Test|E|Lead 24053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024054|124054|989898|1|9999024054|MR|Test|E|Lead 24054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024055|124055|989898|1|9999024055|MR|Test|E|Lead 24055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024056|124056|989898|1|9999024056|MR|Test|E|Lead 24056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024057|124057|989898|1|9999024057|MR|Test|E|Lead 24057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024058|124058|989898|1|9999024058|MR|Test|E|Lead 24058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024059|124059|989898|1|9999024059|MR|Test|E|Lead 24059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024060|124060|989898|1|9999024060|MR|Test|E|Lead 24060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024061|124061|989898|1|9999024061|MR|Test|E|Lead 24061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024062|124062|989898|1|9999024062|MR|Test|E|Lead 24062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024063|124063|989898|1|9999024063|MR|Test|E|Lead 24063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024064|124064|989898|1|9999024064|MR|Test|E|Lead 24064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024065|124065|989898|1|9999024065|MR|Test|E|Lead 24065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024066|124066|989898|1|9999024066|MR|Test|E|Lead 24066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024067|124067|989898|1|9999024067|MR|Test|E|Lead 24067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024068|124068|989898|1|9999024068|MR|Test|E|Lead 24068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024069|124069|989898|1|9999024069|MR|Test|E|Lead 24069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024070|124070|989898|1|9999024070|MR|Test|E|Lead 24070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024071|124071|989898|1|9999024071|MR|Test|E|Lead 24071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024072|124072|989898|1|9999024072|MR|Test|E|Lead 24072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024073|124073|989898|1|9999024073|MR|Test|E|Lead 24073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024074|124074|989898|1|9999024074|MR|Test|E|Lead 24074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024075|124075|989898|1|9999024075|MR|Test|E|Lead 24075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024076|124076|989898|1|9999024076|MR|Test|E|Lead 24076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024077|124077|989898|1|9999024077|MR|Test|E|Lead 24077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024078|124078|989898|1|9999024078|MR|Test|E|Lead 24078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024079|124079|989898|1|9999024079|MR|Test|E|Lead 24079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024080|124080|989898|1|9999024080|MR|Test|E|Lead 24080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024081|124081|989898|1|9999024081|MR|Test|E|Lead 24081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024082|124082|989898|1|9999024082|MR|Test|E|Lead 24082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024083|124083|989898|1|9999024083|MR|Test|E|Lead 24083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024084|124084|989898|1|9999024084|MR|Test|E|Lead 24084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024085|124085|989898|1|9999024085|MR|Test|E|Lead 24085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024086|124086|989898|1|9999024086|MR|Test|E|Lead 24086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024087|124087|989898|1|9999024087|MR|Test|E|Lead 24087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024088|124088|989898|1|9999024088|MR|Test|E|Lead 24088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024089|124089|989898|1|9999024089|MR|Test|E|Lead 24089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024090|124090|989898|1|9999024090|MR|Test|E|Lead 24090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024091|124091|989898|1|9999024091|MR|Test|E|Lead 24091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024092|124092|989898|1|9999024092|MR|Test|E|Lead 24092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024093|124093|989898|1|9999024093|MR|Test|E|Lead 24093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024094|124094|989898|1|9999024094|MR|Test|E|Lead 24094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024095|124095|989898|1|9999024095|MR|Test|E|Lead 24095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024096|124096|989898|1|9999024096|MR|Test|E|Lead 24096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024097|124097|989898|1|9999024097|MR|Test|E|Lead 24097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024098|124098|989898|1|9999024098|MR|Test|E|Lead 24098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024099|124099|989898|1|9999024099|MR|Test|E|Lead 24099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024100|124100|989898|1|9999024100|MR|Test|E|Lead 24100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024101|124101|989898|1|9999024101|MR|Test|E|Lead 24101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024102|124102|989898|1|9999024102|MR|Test|E|Lead 24102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024103|124103|989898|1|9999024103|MR|Test|E|Lead 24103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024104|124104|989898|1|9999024104|MR|Test|E|Lead 24104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024105|124105|989898|1|9999024105|MR|Test|E|Lead 24105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024106|124106|989898|1|9999024106|MR|Test|E|Lead 24106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024107|124107|989898|1|9999024107|MR|Test|E|Lead 24107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024108|124108|989898|1|9999024108|MR|Test|E|Lead 24108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024109|124109|989898|1|9999024109|MR|Test|E|Lead 24109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024110|124110|989898|1|9999024110|MR|Test|E|Lead 24110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024111|124111|989898|1|9999024111|MR|Test|E|Lead 24111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024112|124112|989898|1|9999024112|MR|Test|E|Lead 24112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024113|124113|989898|1|9999024113|MR|Test|E|Lead 24113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024114|124114|989898|1|9999024114|MR|Test|E|Lead 24114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024115|124115|989898|1|9999024115|MR|Test|E|Lead 24115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024116|124116|989898|1|9999024116|MR|Test|E|Lead 24116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024117|124117|989898|1|9999024117|MR|Test|E|Lead 24117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024118|124118|989898|1|9999024118|MR|Test|E|Lead 24118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024119|124119|989898|1|9999024119|MR|Test|E|Lead 24119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024120|124120|989898|1|9999024120|MR|Test|E|Lead 24120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024121|124121|989898|1|9999024121|MR|Test|E|Lead 24121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024122|124122|989898|1|9999024122|MR|Test|E|Lead 24122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024123|124123|989898|1|9999024123|MR|Test|E|Lead 24123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024124|124124|989898|1|9999024124|MR|Test|E|Lead 24124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024125|124125|989898|1|9999024125|MR|Test|E|Lead 24125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024126|124126|989898|1|9999024126|MR|Test|E|Lead 24126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024127|124127|989898|1|9999024127|MR|Test|E|Lead 24127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024128|124128|989898|1|9999024128|MR|Test|E|Lead 24128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024129|124129|989898|1|9999024129|MR|Test|E|Lead 24129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024130|124130|989898|1|9999024130|MR|Test|E|Lead 24130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024131|124131|989898|1|9999024131|MR|Test|E|Lead 24131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024132|124132|989898|1|9999024132|MR|Test|E|Lead 24132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024133|124133|989898|1|9999024133|MR|Test|E|Lead 24133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024134|124134|989898|1|9999024134|MR|Test|E|Lead 24134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024135|124135|989898|1|9999024135|MR|Test|E|Lead 24135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024136|124136|989898|1|9999024136|MR|Test|E|Lead 24136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024137|124137|989898|1|9999024137|MR|Test|E|Lead 24137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024138|124138|989898|1|9999024138|MR|Test|E|Lead 24138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024139|124139|989898|1|9999024139|MR|Test|E|Lead 24139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024140|124140|989898|1|9999024140|MR|Test|E|Lead 24140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024141|124141|989898|1|9999024141|MR|Test|E|Lead 24141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024142|124142|989898|1|9999024142|MR|Test|E|Lead 24142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024143|124143|989898|1|9999024143|MR|Test|E|Lead 24143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024144|124144|989898|1|9999024144|MR|Test|E|Lead 24144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024145|124145|989898|1|9999024145|MR|Test|E|Lead 24145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024146|124146|989898|1|9999024146|MR|Test|E|Lead 24146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024147|124147|989898|1|9999024147|MR|Test|E|Lead 24147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024148|124148|989898|1|9999024148|MR|Test|E|Lead 24148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024149|124149|989898|1|9999024149|MR|Test|E|Lead 24149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024150|124150|989898|1|9999024150|MR|Test|E|Lead 24150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024151|124151|989898|1|9999024151|MR|Test|E|Lead 24151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024152|124152|989898|1|9999024152|MR|Test|E|Lead 24152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024153|124153|989898|1|9999024153|MR|Test|E|Lead 24153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024154|124154|989898|1|9999024154|MR|Test|E|Lead 24154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024155|124155|989898|1|9999024155|MR|Test|E|Lead 24155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024156|124156|989898|1|9999024156|MR|Test|E|Lead 24156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024157|124157|989898|1|9999024157|MR|Test|E|Lead 24157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024158|124158|989898|1|9999024158|MR|Test|E|Lead 24158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024159|124159|989898|1|9999024159|MR|Test|E|Lead 24159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024160|124160|989898|1|9999024160|MR|Test|E|Lead 24160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024161|124161|989898|1|9999024161|MR|Test|E|Lead 24161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024162|124162|989898|1|9999024162|MR|Test|E|Lead 24162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024163|124163|989898|1|9999024163|MR|Test|E|Lead 24163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024164|124164|989898|1|9999024164|MR|Test|E|Lead 24164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024165|124165|989898|1|9999024165|MR|Test|E|Lead 24165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024166|124166|989898|1|9999024166|MR|Test|E|Lead 24166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024167|124167|989898|1|9999024167|MR|Test|E|Lead 24167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024168|124168|989898|1|9999024168|MR|Test|E|Lead 24168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024169|124169|989898|1|9999024169|MR|Test|E|Lead 24169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024170|124170|989898|1|9999024170|MR|Test|E|Lead 24170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024171|124171|989898|1|9999024171|MR|Test|E|Lead 24171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024172|124172|989898|1|9999024172|MR|Test|E|Lead 24172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024173|124173|989898|1|9999024173|MR|Test|E|Lead 24173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024174|124174|989898|1|9999024174|MR|Test|E|Lead 24174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024175|124175|989898|1|9999024175|MR|Test|E|Lead 24175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024176|124176|989898|1|9999024176|MR|Test|E|Lead 24176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024177|124177|989898|1|9999024177|MR|Test|E|Lead 24177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024178|124178|989898|1|9999024178|MR|Test|E|Lead 24178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024179|124179|989898|1|9999024179|MR|Test|E|Lead 24179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024180|124180|989898|1|9999024180|MR|Test|E|Lead 24180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024181|124181|989898|1|9999024181|MR|Test|E|Lead 24181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024182|124182|989898|1|9999024182|MR|Test|E|Lead 24182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024183|124183|989898|1|9999024183|MR|Test|E|Lead 24183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024184|124184|989898|1|9999024184|MR|Test|E|Lead 24184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024185|124185|989898|1|9999024185|MR|Test|E|Lead 24185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024186|124186|989898|1|9999024186|MR|Test|E|Lead 24186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024187|124187|989898|1|9999024187|MR|Test|E|Lead 24187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024188|124188|989898|1|9999024188|MR|Test|E|Lead 24188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024189|124189|989898|1|9999024189|MR|Test|E|Lead 24189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024190|124190|989898|1|9999024190|MR|Test|E|Lead 24190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024191|124191|989898|1|9999024191|MR|Test|E|Lead 24191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024192|124192|989898|1|9999024192|MR|Test|E|Lead 24192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024193|124193|989898|1|9999024193|MR|Test|E|Lead 24193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024194|124194|989898|1|9999024194|MR|Test|E|Lead 24194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024195|124195|989898|1|9999024195|MR|Test|E|Lead 24195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024196|124196|989898|1|9999024196|MR|Test|E|Lead 24196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024197|124197|989898|1|9999024197|MR|Test|E|Lead 24197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024198|124198|989898|1|9999024198|MR|Test|E|Lead 24198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024199|124199|989898|1|9999024199|MR|Test|E|Lead 24199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024200|124200|989898|1|9999024200|MR|Test|E|Lead 24200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024201|124201|989898|1|9999024201|MR|Test|E|Lead 24201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024202|124202|989898|1|9999024202|MR|Test|E|Lead 24202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024203|124203|989898|1|9999024203|MR|Test|E|Lead 24203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024204|124204|989898|1|9999024204|MR|Test|E|Lead 24204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024205|124205|989898|1|9999024205|MR|Test|E|Lead 24205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024206|124206|989898|1|9999024206|MR|Test|E|Lead 24206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024207|124207|989898|1|9999024207|MR|Test|E|Lead 24207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024208|124208|989898|1|9999024208|MR|Test|E|Lead 24208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024209|124209|989898|1|9999024209|MR|Test|E|Lead 24209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024210|124210|989898|1|9999024210|MR|Test|E|Lead 24210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024211|124211|989898|1|9999024211|MR|Test|E|Lead 24211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024212|124212|989898|1|9999024212|MR|Test|E|Lead 24212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024213|124213|989898|1|9999024213|MR|Test|E|Lead 24213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024214|124214|989898|1|9999024214|MR|Test|E|Lead 24214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024215|124215|989898|1|9999024215|MR|Test|E|Lead 24215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024216|124216|989898|1|9999024216|MR|Test|E|Lead 24216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024217|124217|989898|1|9999024217|MR|Test|E|Lead 24217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024218|124218|989898|1|9999024218|MR|Test|E|Lead 24218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024219|124219|989898|1|9999024219|MR|Test|E|Lead 24219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024220|124220|989898|1|9999024220|MR|Test|E|Lead 24220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024221|124221|989898|1|9999024221|MR|Test|E|Lead 24221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024222|124222|989898|1|9999024222|MR|Test|E|Lead 24222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024223|124223|989898|1|9999024223|MR|Test|E|Lead 24223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024224|124224|989898|1|9999024224|MR|Test|E|Lead 24224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024225|124225|989898|1|9999024225|MR|Test|E|Lead 24225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024226|124226|989898|1|9999024226|MR|Test|E|Lead 24226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024227|124227|989898|1|9999024227|MR|Test|E|Lead 24227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024228|124228|989898|1|9999024228|MR|Test|E|Lead 24228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024229|124229|989898|1|9999024229|MR|Test|E|Lead 24229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024230|124230|989898|1|9999024230|MR|Test|E|Lead 24230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024231|124231|989898|1|9999024231|MR|Test|E|Lead 24231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024232|124232|989898|1|9999024232|MR|Test|E|Lead 24232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024233|124233|989898|1|9999024233|MR|Test|E|Lead 24233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024234|124234|989898|1|9999024234|MR|Test|E|Lead 24234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024235|124235|989898|1|9999024235|MR|Test|E|Lead 24235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024236|124236|989898|1|9999024236|MR|Test|E|Lead 24236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024237|124237|989898|1|9999024237|MR|Test|E|Lead 24237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024238|124238|989898|1|9999024238|MR|Test|E|Lead 24238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024239|124239|989898|1|9999024239|MR|Test|E|Lead 24239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024240|124240|989898|1|9999024240|MR|Test|E|Lead 24240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024241|124241|989898|1|9999024241|MR|Test|E|Lead 24241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024242|124242|989898|1|9999024242|MR|Test|E|Lead 24242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024243|124243|989898|1|9999024243|MR|Test|E|Lead 24243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024244|124244|989898|1|9999024244|MR|Test|E|Lead 24244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024245|124245|989898|1|9999024245|MR|Test|E|Lead 24245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024246|124246|989898|1|9999024246|MR|Test|E|Lead 24246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024247|124247|989898|1|9999024247|MR|Test|E|Lead 24247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024248|124248|989898|1|9999024248|MR|Test|E|Lead 24248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024249|124249|989898|1|9999024249|MR|Test|E|Lead 24249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024250|124250|989898|1|9999024250|MR|Test|E|Lead 24250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024251|124251|989898|1|9999024251|MR|Test|E|Lead 24251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024252|124252|989898|1|9999024252|MR|Test|E|Lead 24252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024253|124253|989898|1|9999024253|MR|Test|E|Lead 24253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024254|124254|989898|1|9999024254|MR|Test|E|Lead 24254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024255|124255|989898|1|9999024255|MR|Test|E|Lead 24255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024256|124256|989898|1|9999024256|MR|Test|E|Lead 24256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024257|124257|989898|1|9999024257|MR|Test|E|Lead 24257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024258|124258|989898|1|9999024258|MR|Test|E|Lead 24258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024259|124259|989898|1|9999024259|MR|Test|E|Lead 24259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024260|124260|989898|1|9999024260|MR|Test|E|Lead 24260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024261|124261|989898|1|9999024261|MR|Test|E|Lead 24261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024262|124262|989898|1|9999024262|MR|Test|E|Lead 24262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024263|124263|989898|1|9999024263|MR|Test|E|Lead 24263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024264|124264|989898|1|9999024264|MR|Test|E|Lead 24264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024265|124265|989898|1|9999024265|MR|Test|E|Lead 24265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024266|124266|989898|1|9999024266|MR|Test|E|Lead 24266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024267|124267|989898|1|9999024267|MR|Test|E|Lead 24267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024268|124268|989898|1|9999024268|MR|Test|E|Lead 24268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024269|124269|989898|1|9999024269|MR|Test|E|Lead 24269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024270|124270|989898|1|9999024270|MR|Test|E|Lead 24270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024271|124271|989898|1|9999024271|MR|Test|E|Lead 24271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024272|124272|989898|1|9999024272|MR|Test|E|Lead 24272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024273|124273|989898|1|9999024273|MR|Test|E|Lead 24273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024274|124274|989898|1|9999024274|MR|Test|E|Lead 24274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024275|124275|989898|1|9999024275|MR|Test|E|Lead 24275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024276|124276|989898|1|9999024276|MR|Test|E|Lead 24276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024277|124277|989898|1|9999024277|MR|Test|E|Lead 24277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024278|124278|989898|1|9999024278|MR|Test|E|Lead 24278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024279|124279|989898|1|9999024279|MR|Test|E|Lead 24279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024280|124280|989898|1|9999024280|MR|Test|E|Lead 24280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024281|124281|989898|1|9999024281|MR|Test|E|Lead 24281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024282|124282|989898|1|9999024282|MR|Test|E|Lead 24282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024283|124283|989898|1|9999024283|MR|Test|E|Lead 24283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024284|124284|989898|1|9999024284|MR|Test|E|Lead 24284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024285|124285|989898|1|9999024285|MR|Test|E|Lead 24285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024286|124286|989898|1|9999024286|MR|Test|E|Lead 24286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024287|124287|989898|1|9999024287|MR|Test|E|Lead 24287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024288|124288|989898|1|9999024288|MR|Test|E|Lead 24288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024289|124289|989898|1|9999024289|MR|Test|E|Lead 24289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024290|124290|989898|1|9999024290|MR|Test|E|Lead 24290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024291|124291|989898|1|9999024291|MR|Test|E|Lead 24291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024292|124292|989898|1|9999024292|MR|Test|E|Lead 24292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024293|124293|989898|1|9999024293|MR|Test|E|Lead 24293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024294|124294|989898|1|9999024294|MR|Test|E|Lead 24294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024295|124295|989898|1|9999024295|MR|Test|E|Lead 24295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024296|124296|989898|1|9999024296|MR|Test|E|Lead 24296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024297|124297|989898|1|9999024297|MR|Test|E|Lead 24297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024298|124298|989898|1|9999024298|MR|Test|E|Lead 24298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024299|124299|989898|1|9999024299|MR|Test|E|Lead 24299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024300|124300|989898|1|9999024300|MR|Test|E|Lead 24300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024301|124301|989898|1|9999024301|MR|Test|E|Lead 24301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024302|124302|989898|1|9999024302|MR|Test|E|Lead 24302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024303|124303|989898|1|9999024303|MR|Test|E|Lead 24303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024304|124304|989898|1|9999024304|MR|Test|E|Lead 24304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024305|124305|989898|1|9999024305|MR|Test|E|Lead 24305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024306|124306|989898|1|9999024306|MR|Test|E|Lead 24306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024307|124307|989898|1|9999024307|MR|Test|E|Lead 24307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024308|124308|989898|1|9999024308|MR|Test|E|Lead 24308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024309|124309|989898|1|9999024309|MR|Test|E|Lead 24309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024310|124310|989898|1|9999024310|MR|Test|E|Lead 24310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024311|124311|989898|1|9999024311|MR|Test|E|Lead 24311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024312|124312|989898|1|9999024312|MR|Test|E|Lead 24312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024313|124313|989898|1|9999024313|MR|Test|E|Lead 24313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024314|124314|989898|1|9999024314|MR|Test|E|Lead 24314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024315|124315|989898|1|9999024315|MR|Test|E|Lead 24315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024316|124316|989898|1|9999024316|MR|Test|E|Lead 24316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024317|124317|989898|1|9999024317|MR|Test|E|Lead 24317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024318|124318|989898|1|9999024318|MR|Test|E|Lead 24318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024319|124319|989898|1|9999024319|MR|Test|E|Lead 24319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024320|124320|989898|1|9999024320|MR|Test|E|Lead 24320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024321|124321|989898|1|9999024321|MR|Test|E|Lead 24321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024322|124322|989898|1|9999024322|MR|Test|E|Lead 24322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024323|124323|989898|1|9999024323|MR|Test|E|Lead 24323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024324|124324|989898|1|9999024324|MR|Test|E|Lead 24324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024325|124325|989898|1|9999024325|MR|Test|E|Lead 24325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024326|124326|989898|1|9999024326|MR|Test|E|Lead 24326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024327|124327|989898|1|9999024327|MR|Test|E|Lead 24327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024328|124328|989898|1|9999024328|MR|Test|E|Lead 24328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024329|124329|989898|1|9999024329|MR|Test|E|Lead 24329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024330|124330|989898|1|9999024330|MR|Test|E|Lead 24330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024331|124331|989898|1|9999024331|MR|Test|E|Lead 24331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024332|124332|989898|1|9999024332|MR|Test|E|Lead 24332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024333|124333|989898|1|9999024333|MR|Test|E|Lead 24333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024334|124334|989898|1|9999024334|MR|Test|E|Lead 24334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024335|124335|989898|1|9999024335|MR|Test|E|Lead 24335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024336|124336|989898|1|9999024336|MR|Test|E|Lead 24336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024337|124337|989898|1|9999024337|MR|Test|E|Lead 24337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024338|124338|989898|1|9999024338|MR|Test|E|Lead 24338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024339|124339|989898|1|9999024339|MR|Test|E|Lead 24339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024340|124340|989898|1|9999024340|MR|Test|E|Lead 24340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024341|124341|989898|1|9999024341|MR|Test|E|Lead 24341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024342|124342|989898|1|9999024342|MR|Test|E|Lead 24342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024343|124343|989898|1|9999024343|MR|Test|E|Lead 24343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024344|124344|989898|1|9999024344|MR|Test|E|Lead 24344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024345|124345|989898|1|9999024345|MR|Test|E|Lead 24345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024346|124346|989898|1|9999024346|MR|Test|E|Lead 24346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024347|124347|989898|1|9999024347|MR|Test|E|Lead 24347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024348|124348|989898|1|9999024348|MR|Test|E|Lead 24348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024349|124349|989898|1|9999024349|MR|Test|E|Lead 24349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024350|124350|989898|1|9999024350|MR|Test|E|Lead 24350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024351|124351|989898|1|9999024351|MR|Test|E|Lead 24351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024352|124352|989898|1|9999024352|MR|Test|E|Lead 24352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024353|124353|989898|1|9999024353|MR|Test|E|Lead 24353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024354|124354|989898|1|9999024354|MR|Test|E|Lead 24354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024355|124355|989898|1|9999024355|MR|Test|E|Lead 24355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024356|124356|989898|1|9999024356|MR|Test|E|Lead 24356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024357|124357|989898|1|9999024357|MR|Test|E|Lead 24357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024358|124358|989898|1|9999024358|MR|Test|E|Lead 24358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024359|124359|989898|1|9999024359|MR|Test|E|Lead 24359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024360|124360|989898|1|9999024360|MR|Test|E|Lead 24360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024361|124361|989898|1|9999024361|MR|Test|E|Lead 24361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024362|124362|989898|1|9999024362|MR|Test|E|Lead 24362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024363|124363|989898|1|9999024363|MR|Test|E|Lead 24363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024364|124364|989898|1|9999024364|MR|Test|E|Lead 24364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024365|124365|989898|1|9999024365|MR|Test|E|Lead 24365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024366|124366|989898|1|9999024366|MR|Test|E|Lead 24366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024367|124367|989898|1|9999024367|MR|Test|E|Lead 24367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024368|124368|989898|1|9999024368|MR|Test|E|Lead 24368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024369|124369|989898|1|9999024369|MR|Test|E|Lead 24369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024370|124370|989898|1|9999024370|MR|Test|E|Lead 24370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024371|124371|989898|1|9999024371|MR|Test|E|Lead 24371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024372|124372|989898|1|9999024372|MR|Test|E|Lead 24372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024373|124373|989898|1|9999024373|MR|Test|E|Lead 24373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024374|124374|989898|1|9999024374|MR|Test|E|Lead 24374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024375|124375|989898|1|9999024375|MR|Test|E|Lead 24375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024376|124376|989898|1|9999024376|MR|Test|E|Lead 24376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024377|124377|989898|1|9999024377|MR|Test|E|Lead 24377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024378|124378|989898|1|9999024378|MR|Test|E|Lead 24378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024379|124379|989898|1|9999024379|MR|Test|E|Lead 24379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024380|124380|989898|1|9999024380|MR|Test|E|Lead 24380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024381|124381|989898|1|9999024381|MR|Test|E|Lead 24381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024382|124382|989898|1|9999024382|MR|Test|E|Lead 24382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024383|124383|989898|1|9999024383|MR|Test|E|Lead 24383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024384|124384|989898|1|9999024384|MR|Test|E|Lead 24384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024385|124385|989898|1|9999024385|MR|Test|E|Lead 24385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024386|124386|989898|1|9999024386|MR|Test|E|Lead 24386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024387|124387|989898|1|9999024387|MR|Test|E|Lead 24387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024388|124388|989898|1|9999024388|MR|Test|E|Lead 24388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024389|124389|989898|1|9999024389|MR|Test|E|Lead 24389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024390|124390|989898|1|9999024390|MR|Test|E|Lead 24390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024391|124391|989898|1|9999024391|MR|Test|E|Lead 24391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024392|124392|989898|1|9999024392|MR|Test|E|Lead 24392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024393|124393|989898|1|9999024393|MR|Test|E|Lead 24393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024394|124394|989898|1|9999024394|MR|Test|E|Lead 24394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024395|124395|989898|1|9999024395|MR|Test|E|Lead 24395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024396|124396|989898|1|9999024396|MR|Test|E|Lead 24396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024397|124397|989898|1|9999024397|MR|Test|E|Lead 24397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024398|124398|989898|1|9999024398|MR|Test|E|Lead 24398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024399|124399|989898|1|9999024399|MR|Test|E|Lead 24399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024400|124400|989898|1|9999024400|MR|Test|E|Lead 24400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024401|124401|989898|1|9999024401|MR|Test|E|Lead 24401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024402|124402|989898|1|9999024402|MR|Test|E|Lead 24402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024403|124403|989898|1|9999024403|MR|Test|E|Lead 24403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024404|124404|989898|1|9999024404|MR|Test|E|Lead 24404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024405|124405|989898|1|9999024405|MR|Test|E|Lead 24405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024406|124406|989898|1|9999024406|MR|Test|E|Lead 24406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024407|124407|989898|1|9999024407|MR|Test|E|Lead 24407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024408|124408|989898|1|9999024408|MR|Test|E|Lead 24408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024409|124409|989898|1|9999024409|MR|Test|E|Lead 24409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024410|124410|989898|1|9999024410|MR|Test|E|Lead 24410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024411|124411|989898|1|9999024411|MR|Test|E|Lead 24411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024412|124412|989898|1|9999024412|MR|Test|E|Lead 24412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024413|124413|989898|1|9999024413|MR|Test|E|Lead 24413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024414|124414|989898|1|9999024414|MR|Test|E|Lead 24414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024415|124415|989898|1|9999024415|MR|Test|E|Lead 24415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024416|124416|989898|1|9999024416|MR|Test|E|Lead 24416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024417|124417|989898|1|9999024417|MR|Test|E|Lead 24417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024418|124418|989898|1|9999024418|MR|Test|E|Lead 24418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024419|124419|989898|1|9999024419|MR|Test|E|Lead 24419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024420|124420|989898|1|9999024420|MR|Test|E|Lead 24420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024421|124421|989898|1|9999024421|MR|Test|E|Lead 24421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024422|124422|989898|1|9999024422|MR|Test|E|Lead 24422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024423|124423|989898|1|9999024423|MR|Test|E|Lead 24423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024424|124424|989898|1|9999024424|MR|Test|E|Lead 24424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024425|124425|989898|1|9999024425|MR|Test|E|Lead 24425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024426|124426|989898|1|9999024426|MR|Test|E|Lead 24426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024427|124427|989898|1|9999024427|MR|Test|E|Lead 24427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024428|124428|989898|1|9999024428|MR|Test|E|Lead 24428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024429|124429|989898|1|9999024429|MR|Test|E|Lead 24429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024430|124430|989898|1|9999024430|MR|Test|E|Lead 24430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024431|124431|989898|1|9999024431|MR|Test|E|Lead 24431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024432|124432|989898|1|9999024432|MR|Test|E|Lead 24432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024433|124433|989898|1|9999024433|MR|Test|E|Lead 24433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024434|124434|989898|1|9999024434|MR|Test|E|Lead 24434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024435|124435|989898|1|9999024435|MR|Test|E|Lead 24435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024436|124436|989898|1|9999024436|MR|Test|E|Lead 24436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024437|124437|989898|1|9999024437|MR|Test|E|Lead 24437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024438|124438|989898|1|9999024438|MR|Test|E|Lead 24438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024439|124439|989898|1|9999024439|MR|Test|E|Lead 24439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024440|124440|989898|1|9999024440|MR|Test|E|Lead 24440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024441|124441|989898|1|9999024441|MR|Test|E|Lead 24441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024442|124442|989898|1|9999024442|MR|Test|E|Lead 24442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024443|124443|989898|1|9999024443|MR|Test|E|Lead 24443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024444|124444|989898|1|9999024444|MR|Test|E|Lead 24444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024445|124445|989898|1|9999024445|MR|Test|E|Lead 24445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024446|124446|989898|1|9999024446|MR|Test|E|Lead 24446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024447|124447|989898|1|9999024447|MR|Test|E|Lead 24447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024448|124448|989898|1|9999024448|MR|Test|E|Lead 24448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024449|124449|989898|1|9999024449|MR|Test|E|Lead 24449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024450|124450|989898|1|9999024450|MR|Test|E|Lead 24450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024451|124451|989898|1|9999024451|MR|Test|E|Lead 24451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024452|124452|989898|1|9999024452|MR|Test|E|Lead 24452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024453|124453|989898|1|9999024453|MR|Test|E|Lead 24453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024454|124454|989898|1|9999024454|MR|Test|E|Lead 24454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024455|124455|989898|1|9999024455|MR|Test|E|Lead 24455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024456|124456|989898|1|9999024456|MR|Test|E|Lead 24456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024457|124457|989898|1|9999024457|MR|Test|E|Lead 24457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024458|124458|989898|1|9999024458|MR|Test|E|Lead 24458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024459|124459|989898|1|9999024459|MR|Test|E|Lead 24459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024460|124460|989898|1|9999024460|MR|Test|E|Lead 24460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024461|124461|989898|1|9999024461|MR|Test|E|Lead 24461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024462|124462|989898|1|9999024462|MR|Test|E|Lead 24462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024463|124463|989898|1|9999024463|MR|Test|E|Lead 24463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024464|124464|989898|1|9999024464|MR|Test|E|Lead 24464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024465|124465|989898|1|9999024465|MR|Test|E|Lead 24465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024466|124466|989898|1|9999024466|MR|Test|E|Lead 24466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024467|124467|989898|1|9999024467|MR|Test|E|Lead 24467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024468|124468|989898|1|9999024468|MR|Test|E|Lead 24468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024469|124469|989898|1|9999024469|MR|Test|E|Lead 24469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024470|124470|989898|1|9999024470|MR|Test|E|Lead 24470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024471|124471|989898|1|9999024471|MR|Test|E|Lead 24471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024472|124472|989898|1|9999024472|MR|Test|E|Lead 24472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024473|124473|989898|1|9999024473|MR|Test|E|Lead 24473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024474|124474|989898|1|9999024474|MR|Test|E|Lead 24474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024475|124475|989898|1|9999024475|MR|Test|E|Lead 24475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024476|124476|989898|1|9999024476|MR|Test|E|Lead 24476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024477|124477|989898|1|9999024477|MR|Test|E|Lead 24477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024478|124478|989898|1|9999024478|MR|Test|E|Lead 24478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024479|124479|989898|1|9999024479|MR|Test|E|Lead 24479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024480|124480|989898|1|9999024480|MR|Test|E|Lead 24480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024481|124481|989898|1|9999024481|MR|Test|E|Lead 24481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024482|124482|989898|1|9999024482|MR|Test|E|Lead 24482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024483|124483|989898|1|9999024483|MR|Test|E|Lead 24483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024484|124484|989898|1|9999024484|MR|Test|E|Lead 24484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024485|124485|989898|1|9999024485|MR|Test|E|Lead 24485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024486|124486|989898|1|9999024486|MR|Test|E|Lead 24486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024487|124487|989898|1|9999024487|MR|Test|E|Lead 24487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024488|124488|989898|1|9999024488|MR|Test|E|Lead 24488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024489|124489|989898|1|9999024489|MR|Test|E|Lead 24489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024490|124490|989898|1|9999024490|MR|Test|E|Lead 24490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024491|124491|989898|1|9999024491|MR|Test|E|Lead 24491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024492|124492|989898|1|9999024492|MR|Test|E|Lead 24492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024493|124493|989898|1|9999024493|MR|Test|E|Lead 24493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024494|124494|989898|1|9999024494|MR|Test|E|Lead 24494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024495|124495|989898|1|9999024495|MR|Test|E|Lead 24495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024496|124496|989898|1|9999024496|MR|Test|E|Lead 24496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024497|124497|989898|1|9999024497|MR|Test|E|Lead 24497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024498|124498|989898|1|9999024498|MR|Test|E|Lead 24498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024499|124499|989898|1|9999024499|MR|Test|E|Lead 24499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024500|124500|989898|1|9999024500|MR|Test|E|Lead 24500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024501|124501|989898|1|9999024501|MR|Test|E|Lead 24501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024502|124502|989898|1|9999024502|MR|Test|E|Lead 24502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024503|124503|989898|1|9999024503|MR|Test|E|Lead 24503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024504|124504|989898|1|9999024504|MR|Test|E|Lead 24504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024505|124505|989898|1|9999024505|MR|Test|E|Lead 24505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024506|124506|989898|1|9999024506|MR|Test|E|Lead 24506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024507|124507|989898|1|9999024507|MR|Test|E|Lead 24507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024508|124508|989898|1|9999024508|MR|Test|E|Lead 24508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024509|124509|989898|1|9999024509|MR|Test|E|Lead 24509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024510|124510|989898|1|9999024510|MR|Test|E|Lead 24510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024511|124511|989898|1|9999024511|MR|Test|E|Lead 24511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024512|124512|989898|1|9999024512|MR|Test|E|Lead 24512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024513|124513|989898|1|9999024513|MR|Test|E|Lead 24513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024514|124514|989898|1|9999024514|MR|Test|E|Lead 24514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024515|124515|989898|1|9999024515|MR|Test|E|Lead 24515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024516|124516|989898|1|9999024516|MR|Test|E|Lead 24516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024517|124517|989898|1|9999024517|MR|Test|E|Lead 24517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024518|124518|989898|1|9999024518|MR|Test|E|Lead 24518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024519|124519|989898|1|9999024519|MR|Test|E|Lead 24519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024520|124520|989898|1|9999024520|MR|Test|E|Lead 24520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024521|124521|989898|1|9999024521|MR|Test|E|Lead 24521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024522|124522|989898|1|9999024522|MR|Test|E|Lead 24522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024523|124523|989898|1|9999024523|MR|Test|E|Lead 24523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024524|124524|989898|1|9999024524|MR|Test|E|Lead 24524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024525|124525|989898|1|9999024525|MR|Test|E|Lead 24525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024526|124526|989898|1|9999024526|MR|Test|E|Lead 24526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024527|124527|989898|1|9999024527|MR|Test|E|Lead 24527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024528|124528|989898|1|9999024528|MR|Test|E|Lead 24528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024529|124529|989898|1|9999024529|MR|Test|E|Lead 24529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024530|124530|989898|1|9999024530|MR|Test|E|Lead 24530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024531|124531|989898|1|9999024531|MR|Test|E|Lead 24531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024532|124532|989898|1|9999024532|MR|Test|E|Lead 24532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024533|124533|989898|1|9999024533|MR|Test|E|Lead 24533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024534|124534|989898|1|9999024534|MR|Test|E|Lead 24534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024535|124535|989898|1|9999024535|MR|Test|E|Lead 24535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024536|124536|989898|1|9999024536|MR|Test|E|Lead 24536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024537|124537|989898|1|9999024537|MR|Test|E|Lead 24537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024538|124538|989898|1|9999024538|MR|Test|E|Lead 24538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024539|124539|989898|1|9999024539|MR|Test|E|Lead 24539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024540|124540|989898|1|9999024540|MR|Test|E|Lead 24540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024541|124541|989898|1|9999024541|MR|Test|E|Lead 24541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024542|124542|989898|1|9999024542|MR|Test|E|Lead 24542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024543|124543|989898|1|9999024543|MR|Test|E|Lead 24543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024544|124544|989898|1|9999024544|MR|Test|E|Lead 24544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024545|124545|989898|1|9999024545|MR|Test|E|Lead 24545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024546|124546|989898|1|9999024546|MR|Test|E|Lead 24546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024547|124547|989898|1|9999024547|MR|Test|E|Lead 24547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024548|124548|989898|1|9999024548|MR|Test|E|Lead 24548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024549|124549|989898|1|9999024549|MR|Test|E|Lead 24549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024550|124550|989898|1|9999024550|MR|Test|E|Lead 24550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024551|124551|989898|1|9999024551|MR|Test|E|Lead 24551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024552|124552|989898|1|9999024552|MR|Test|E|Lead 24552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024553|124553|989898|1|9999024553|MR|Test|E|Lead 24553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024554|124554|989898|1|9999024554|MR|Test|E|Lead 24554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024555|124555|989898|1|9999024555|MR|Test|E|Lead 24555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024556|124556|989898|1|9999024556|MR|Test|E|Lead 24556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024557|124557|989898|1|9999024557|MR|Test|E|Lead 24557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024558|124558|989898|1|9999024558|MR|Test|E|Lead 24558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024559|124559|989898|1|9999024559|MR|Test|E|Lead 24559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024560|124560|989898|1|9999024560|MR|Test|E|Lead 24560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024561|124561|989898|1|9999024561|MR|Test|E|Lead 24561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024562|124562|989898|1|9999024562|MR|Test|E|Lead 24562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024563|124563|989898|1|9999024563|MR|Test|E|Lead 24563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024564|124564|989898|1|9999024564|MR|Test|E|Lead 24564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024565|124565|989898|1|9999024565|MR|Test|E|Lead 24565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024566|124566|989898|1|9999024566|MR|Test|E|Lead 24566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024567|124567|989898|1|9999024567|MR|Test|E|Lead 24567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024568|124568|989898|1|9999024568|MR|Test|E|Lead 24568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024569|124569|989898|1|9999024569|MR|Test|E|Lead 24569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024570|124570|989898|1|9999024570|MR|Test|E|Lead 24570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024571|124571|989898|1|9999024571|MR|Test|E|Lead 24571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024572|124572|989898|1|9999024572|MR|Test|E|Lead 24572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024573|124573|989898|1|9999024573|MR|Test|E|Lead 24573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024574|124574|989898|1|9999024574|MR|Test|E|Lead 24574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024575|124575|989898|1|9999024575|MR|Test|E|Lead 24575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024576|124576|989898|1|9999024576|MR|Test|E|Lead 24576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024577|124577|989898|1|9999024577|MR|Test|E|Lead 24577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024578|124578|989898|1|9999024578|MR|Test|E|Lead 24578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024579|124579|989898|1|9999024579|MR|Test|E|Lead 24579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024580|124580|989898|1|9999024580|MR|Test|E|Lead 24580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024581|124581|989898|1|9999024581|MR|Test|E|Lead 24581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024582|124582|989898|1|9999024582|MR|Test|E|Lead 24582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024583|124583|989898|1|9999024583|MR|Test|E|Lead 24583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024584|124584|989898|1|9999024584|MR|Test|E|Lead 24584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024585|124585|989898|1|9999024585|MR|Test|E|Lead 24585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024586|124586|989898|1|9999024586|MR|Test|E|Lead 24586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024587|124587|989898|1|9999024587|MR|Test|E|Lead 24587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024588|124588|989898|1|9999024588|MR|Test|E|Lead 24588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024589|124589|989898|1|9999024589|MR|Test|E|Lead 24589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024590|124590|989898|1|9999024590|MR|Test|E|Lead 24590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024591|124591|989898|1|9999024591|MR|Test|E|Lead 24591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024592|124592|989898|1|9999024592|MR|Test|E|Lead 24592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024593|124593|989898|1|9999024593|MR|Test|E|Lead 24593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024594|124594|989898|1|9999024594|MR|Test|E|Lead 24594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024595|124595|989898|1|9999024595|MR|Test|E|Lead 24595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024596|124596|989898|1|9999024596|MR|Test|E|Lead 24596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024597|124597|989898|1|9999024597|MR|Test|E|Lead 24597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024598|124598|989898|1|9999024598|MR|Test|E|Lead 24598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024599|124599|989898|1|9999024599|MR|Test|E|Lead 24599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024600|124600|989898|1|9999024600|MR|Test|E|Lead 24600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024601|124601|989898|1|9999024601|MR|Test|E|Lead 24601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024602|124602|989898|1|9999024602|MR|Test|E|Lead 24602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024603|124603|989898|1|9999024603|MR|Test|E|Lead 24603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024604|124604|989898|1|9999024604|MR|Test|E|Lead 24604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024605|124605|989898|1|9999024605|MR|Test|E|Lead 24605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024606|124606|989898|1|9999024606|MR|Test|E|Lead 24606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024607|124607|989898|1|9999024607|MR|Test|E|Lead 24607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024608|124608|989898|1|9999024608|MR|Test|E|Lead 24608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024609|124609|989898|1|9999024609|MR|Test|E|Lead 24609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024610|124610|989898|1|9999024610|MR|Test|E|Lead 24610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024611|124611|989898|1|9999024611|MR|Test|E|Lead 24611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024612|124612|989898|1|9999024612|MR|Test|E|Lead 24612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024613|124613|989898|1|9999024613|MR|Test|E|Lead 24613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024614|124614|989898|1|9999024614|MR|Test|E|Lead 24614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024615|124615|989898|1|9999024615|MR|Test|E|Lead 24615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024616|124616|989898|1|9999024616|MR|Test|E|Lead 24616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024617|124617|989898|1|9999024617|MR|Test|E|Lead 24617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024618|124618|989898|1|9999024618|MR|Test|E|Lead 24618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024619|124619|989898|1|9999024619|MR|Test|E|Lead 24619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024620|124620|989898|1|9999024620|MR|Test|E|Lead 24620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024621|124621|989898|1|9999024621|MR|Test|E|Lead 24621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024622|124622|989898|1|9999024622|MR|Test|E|Lead 24622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024623|124623|989898|1|9999024623|MR|Test|E|Lead 24623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024624|124624|989898|1|9999024624|MR|Test|E|Lead 24624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024625|124625|989898|1|9999024625|MR|Test|E|Lead 24625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024626|124626|989898|1|9999024626|MR|Test|E|Lead 24626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024627|124627|989898|1|9999024627|MR|Test|E|Lead 24627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024628|124628|989898|1|9999024628|MR|Test|E|Lead 24628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024629|124629|989898|1|9999024629|MR|Test|E|Lead 24629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024630|124630|989898|1|9999024630|MR|Test|E|Lead 24630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024631|124631|989898|1|9999024631|MR|Test|E|Lead 24631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024632|124632|989898|1|9999024632|MR|Test|E|Lead 24632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024633|124633|989898|1|9999024633|MR|Test|E|Lead 24633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024634|124634|989898|1|9999024634|MR|Test|E|Lead 24634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024635|124635|989898|1|9999024635|MR|Test|E|Lead 24635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024636|124636|989898|1|9999024636|MR|Test|E|Lead 24636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024637|124637|989898|1|9999024637|MR|Test|E|Lead 24637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024638|124638|989898|1|9999024638|MR|Test|E|Lead 24638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024639|124639|989898|1|9999024639|MR|Test|E|Lead 24639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024640|124640|989898|1|9999024640|MR|Test|E|Lead 24640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024641|124641|989898|1|9999024641|MR|Test|E|Lead 24641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024642|124642|989898|1|9999024642|MR|Test|E|Lead 24642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024643|124643|989898|1|9999024643|MR|Test|E|Lead 24643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024644|124644|989898|1|9999024644|MR|Test|E|Lead 24644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024645|124645|989898|1|9999024645|MR|Test|E|Lead 24645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024646|124646|989898|1|9999024646|MR|Test|E|Lead 24646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024647|124647|989898|1|9999024647|MR|Test|E|Lead 24647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024648|124648|989898|1|9999024648|MR|Test|E|Lead 24648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024649|124649|989898|1|9999024649|MR|Test|E|Lead 24649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024650|124650|989898|1|9999024650|MR|Test|E|Lead 24650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024651|124651|989898|1|9999024651|MR|Test|E|Lead 24651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024652|124652|989898|1|9999024652|MR|Test|E|Lead 24652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024653|124653|989898|1|9999024653|MR|Test|E|Lead 24653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024654|124654|989898|1|9999024654|MR|Test|E|Lead 24654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024655|124655|989898|1|9999024655|MR|Test|E|Lead 24655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024656|124656|989898|1|9999024656|MR|Test|E|Lead 24656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024657|124657|989898|1|9999024657|MR|Test|E|Lead 24657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024658|124658|989898|1|9999024658|MR|Test|E|Lead 24658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024659|124659|989898|1|9999024659|MR|Test|E|Lead 24659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024660|124660|989898|1|9999024660|MR|Test|E|Lead 24660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024661|124661|989898|1|9999024661|MR|Test|E|Lead 24661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024662|124662|989898|1|9999024662|MR|Test|E|Lead 24662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024663|124663|989898|1|9999024663|MR|Test|E|Lead 24663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024664|124664|989898|1|9999024664|MR|Test|E|Lead 24664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024665|124665|989898|1|9999024665|MR|Test|E|Lead 24665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024666|124666|989898|1|9999024666|MR|Test|E|Lead 24666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024667|124667|989898|1|9999024667|MR|Test|E|Lead 24667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024668|124668|989898|1|9999024668|MR|Test|E|Lead 24668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024669|124669|989898|1|9999024669|MR|Test|E|Lead 24669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024670|124670|989898|1|9999024670|MR|Test|E|Lead 24670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024671|124671|989898|1|9999024671|MR|Test|E|Lead 24671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024672|124672|989898|1|9999024672|MR|Test|E|Lead 24672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024673|124673|989898|1|9999024673|MR|Test|E|Lead 24673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024674|124674|989898|1|9999024674|MR|Test|E|Lead 24674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024675|124675|989898|1|9999024675|MR|Test|E|Lead 24675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024676|124676|989898|1|9999024676|MR|Test|E|Lead 24676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024677|124677|989898|1|9999024677|MR|Test|E|Lead 24677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024678|124678|989898|1|9999024678|MR|Test|E|Lead 24678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024679|124679|989898|1|9999024679|MR|Test|E|Lead 24679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024680|124680|989898|1|9999024680|MR|Test|E|Lead 24680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024681|124681|989898|1|9999024681|MR|Test|E|Lead 24681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024682|124682|989898|1|9999024682|MR|Test|E|Lead 24682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024683|124683|989898|1|9999024683|MR|Test|E|Lead 24683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024684|124684|989898|1|9999024684|MR|Test|E|Lead 24684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024685|124685|989898|1|9999024685|MR|Test|E|Lead 24685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024686|124686|989898|1|9999024686|MR|Test|E|Lead 24686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024687|124687|989898|1|9999024687|MR|Test|E|Lead 24687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024688|124688|989898|1|9999024688|MR|Test|E|Lead 24688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024689|124689|989898|1|9999024689|MR|Test|E|Lead 24689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024690|124690|989898|1|9999024690|MR|Test|E|Lead 24690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024691|124691|989898|1|9999024691|MR|Test|E|Lead 24691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024692|124692|989898|1|9999024692|MR|Test|E|Lead 24692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024693|124693|989898|1|9999024693|MR|Test|E|Lead 24693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024694|124694|989898|1|9999024694|MR|Test|E|Lead 24694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024695|124695|989898|1|9999024695|MR|Test|E|Lead 24695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024696|124696|989898|1|9999024696|MR|Test|E|Lead 24696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024697|124697|989898|1|9999024697|MR|Test|E|Lead 24697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024698|124698|989898|1|9999024698|MR|Test|E|Lead 24698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024699|124699|989898|1|9999024699|MR|Test|E|Lead 24699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024700|124700|989898|1|9999024700|MR|Test|E|Lead 24700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024701|124701|989898|1|9999024701|MR|Test|E|Lead 24701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024702|124702|989898|1|9999024702|MR|Test|E|Lead 24702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024703|124703|989898|1|9999024703|MR|Test|E|Lead 24703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024704|124704|989898|1|9999024704|MR|Test|E|Lead 24704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024705|124705|989898|1|9999024705|MR|Test|E|Lead 24705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024706|124706|989898|1|9999024706|MR|Test|E|Lead 24706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024707|124707|989898|1|9999024707|MR|Test|E|Lead 24707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024708|124708|989898|1|9999024708|MR|Test|E|Lead 24708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024709|124709|989898|1|9999024709|MR|Test|E|Lead 24709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024710|124710|989898|1|9999024710|MR|Test|E|Lead 24710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024711|124711|989898|1|9999024711|MR|Test|E|Lead 24711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024712|124712|989898|1|9999024712|MR|Test|E|Lead 24712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024713|124713|989898|1|9999024713|MR|Test|E|Lead 24713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024714|124714|989898|1|9999024714|MR|Test|E|Lead 24714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024715|124715|989898|1|9999024715|MR|Test|E|Lead 24715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024716|124716|989898|1|9999024716|MR|Test|E|Lead 24716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024717|124717|989898|1|9999024717|MR|Test|E|Lead 24717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024718|124718|989898|1|9999024718|MR|Test|E|Lead 24718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024719|124719|989898|1|9999024719|MR|Test|E|Lead 24719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024720|124720|989898|1|9999024720|MR|Test|E|Lead 24720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024721|124721|989898|1|9999024721|MR|Test|E|Lead 24721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024722|124722|989898|1|9999024722|MR|Test|E|Lead 24722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024723|124723|989898|1|9999024723|MR|Test|E|Lead 24723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024724|124724|989898|1|9999024724|MR|Test|E|Lead 24724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024725|124725|989898|1|9999024725|MR|Test|E|Lead 24725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024726|124726|989898|1|9999024726|MR|Test|E|Lead 24726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024727|124727|989898|1|9999024727|MR|Test|E|Lead 24727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024728|124728|989898|1|9999024728|MR|Test|E|Lead 24728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024729|124729|989898|1|9999024729|MR|Test|E|Lead 24729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024730|124730|989898|1|9999024730|MR|Test|E|Lead 24730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024731|124731|989898|1|9999024731|MR|Test|E|Lead 24731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024732|124732|989898|1|9999024732|MR|Test|E|Lead 24732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024733|124733|989898|1|9999024733|MR|Test|E|Lead 24733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024734|124734|989898|1|9999024734|MR|Test|E|Lead 24734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024735|124735|989898|1|9999024735|MR|Test|E|Lead 24735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024736|124736|989898|1|9999024736|MR|Test|E|Lead 24736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024737|124737|989898|1|9999024737|MR|Test|E|Lead 24737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024738|124738|989898|1|9999024738|MR|Test|E|Lead 24738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024739|124739|989898|1|9999024739|MR|Test|E|Lead 24739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024740|124740|989898|1|9999024740|MR|Test|E|Lead 24740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024741|124741|989898|1|9999024741|MR|Test|E|Lead 24741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024742|124742|989898|1|9999024742|MR|Test|E|Lead 24742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024743|124743|989898|1|9999024743|MR|Test|E|Lead 24743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024744|124744|989898|1|9999024744|MR|Test|E|Lead 24744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024745|124745|989898|1|9999024745|MR|Test|E|Lead 24745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024746|124746|989898|1|9999024746|MR|Test|E|Lead 24746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024747|124747|989898|1|9999024747|MR|Test|E|Lead 24747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024748|124748|989898|1|9999024748|MR|Test|E|Lead 24748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024749|124749|989898|1|9999024749|MR|Test|E|Lead 24749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024750|124750|989898|1|9999024750|MR|Test|E|Lead 24750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024751|124751|989898|1|9999024751|MR|Test|E|Lead 24751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024752|124752|989898|1|9999024752|MR|Test|E|Lead 24752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024753|124753|989898|1|9999024753|MR|Test|E|Lead 24753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024754|124754|989898|1|9999024754|MR|Test|E|Lead 24754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024755|124755|989898|1|9999024755|MR|Test|E|Lead 24755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024756|124756|989898|1|9999024756|MR|Test|E|Lead 24756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024757|124757|989898|1|9999024757|MR|Test|E|Lead 24757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024758|124758|989898|1|9999024758|MR|Test|E|Lead 24758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024759|124759|989898|1|9999024759|MR|Test|E|Lead 24759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024760|124760|989898|1|9999024760|MR|Test|E|Lead 24760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024761|124761|989898|1|9999024761|MR|Test|E|Lead 24761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024762|124762|989898|1|9999024762|MR|Test|E|Lead 24762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024763|124763|989898|1|9999024763|MR|Test|E|Lead 24763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024764|124764|989898|1|9999024764|MR|Test|E|Lead 24764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024765|124765|989898|1|9999024765|MR|Test|E|Lead 24765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024766|124766|989898|1|9999024766|MR|Test|E|Lead 24766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024767|124767|989898|1|9999024767|MR|Test|E|Lead 24767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024768|124768|989898|1|9999024768|MR|Test|E|Lead 24768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024769|124769|989898|1|9999024769|MR|Test|E|Lead 24769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024770|124770|989898|1|9999024770|MR|Test|E|Lead 24770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024771|124771|989898|1|9999024771|MR|Test|E|Lead 24771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024772|124772|989898|1|9999024772|MR|Test|E|Lead 24772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024773|124773|989898|1|9999024773|MR|Test|E|Lead 24773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024774|124774|989898|1|9999024774|MR|Test|E|Lead 24774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024775|124775|989898|1|9999024775|MR|Test|E|Lead 24775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024776|124776|989898|1|9999024776|MR|Test|E|Lead 24776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024777|124777|989898|1|9999024777|MR|Test|E|Lead 24777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024778|124778|989898|1|9999024778|MR|Test|E|Lead 24778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024779|124779|989898|1|9999024779|MR|Test|E|Lead 24779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024780|124780|989898|1|9999024780|MR|Test|E|Lead 24780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024781|124781|989898|1|9999024781|MR|Test|E|Lead 24781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024782|124782|989898|1|9999024782|MR|Test|E|Lead 24782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024783|124783|989898|1|9999024783|MR|Test|E|Lead 24783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024784|124784|989898|1|9999024784|MR|Test|E|Lead 24784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024785|124785|989898|1|9999024785|MR|Test|E|Lead 24785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024786|124786|989898|1|9999024786|MR|Test|E|Lead 24786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024787|124787|989898|1|9999024787|MR|Test|E|Lead 24787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024788|124788|989898|1|9999024788|MR|Test|E|Lead 24788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024789|124789|989898|1|9999024789|MR|Test|E|Lead 24789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024790|124790|989898|1|9999024790|MR|Test|E|Lead 24790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024791|124791|989898|1|9999024791|MR|Test|E|Lead 24791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024792|124792|989898|1|9999024792|MR|Test|E|Lead 24792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024793|124793|989898|1|9999024793|MR|Test|E|Lead 24793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024794|124794|989898|1|9999024794|MR|Test|E|Lead 24794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024795|124795|989898|1|9999024795|MR|Test|E|Lead 24795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024796|124796|989898|1|9999024796|MR|Test|E|Lead 24796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024797|124797|989898|1|9999024797|MR|Test|E|Lead 24797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024798|124798|989898|1|9999024798|MR|Test|E|Lead 24798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024799|124799|989898|1|9999024799|MR|Test|E|Lead 24799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024800|124800|989898|1|9999024800|MR|Test|E|Lead 24800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024801|124801|989898|1|9999024801|MR|Test|E|Lead 24801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024802|124802|989898|1|9999024802|MR|Test|E|Lead 24802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024803|124803|989898|1|9999024803|MR|Test|E|Lead 24803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024804|124804|989898|1|9999024804|MR|Test|E|Lead 24804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024805|124805|989898|1|9999024805|MR|Test|E|Lead 24805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024806|124806|989898|1|9999024806|MR|Test|E|Lead 24806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024807|124807|989898|1|9999024807|MR|Test|E|Lead 24807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024808|124808|989898|1|9999024808|MR|Test|E|Lead 24808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024809|124809|989898|1|9999024809|MR|Test|E|Lead 24809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024810|124810|989898|1|9999024810|MR|Test|E|Lead 24810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024811|124811|989898|1|9999024811|MR|Test|E|Lead 24811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024812|124812|989898|1|9999024812|MR|Test|E|Lead 24812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024813|124813|989898|1|9999024813|MR|Test|E|Lead 24813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024814|124814|989898|1|9999024814|MR|Test|E|Lead 24814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024815|124815|989898|1|9999024815|MR|Test|E|Lead 24815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024816|124816|989898|1|9999024816|MR|Test|E|Lead 24816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024817|124817|989898|1|9999024817|MR|Test|E|Lead 24817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024818|124818|989898|1|9999024818|MR|Test|E|Lead 24818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024819|124819|989898|1|9999024819|MR|Test|E|Lead 24819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024820|124820|989898|1|9999024820|MR|Test|E|Lead 24820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024821|124821|989898|1|9999024821|MR|Test|E|Lead 24821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024822|124822|989898|1|9999024822|MR|Test|E|Lead 24822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024823|124823|989898|1|9999024823|MR|Test|E|Lead 24823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024824|124824|989898|1|9999024824|MR|Test|E|Lead 24824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024825|124825|989898|1|9999024825|MR|Test|E|Lead 24825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024826|124826|989898|1|9999024826|MR|Test|E|Lead 24826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024827|124827|989898|1|9999024827|MR|Test|E|Lead 24827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024828|124828|989898|1|9999024828|MR|Test|E|Lead 24828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024829|124829|989898|1|9999024829|MR|Test|E|Lead 24829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024830|124830|989898|1|9999024830|MR|Test|E|Lead 24830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024831|124831|989898|1|9999024831|MR|Test|E|Lead 24831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024832|124832|989898|1|9999024832|MR|Test|E|Lead 24832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024833|124833|989898|1|9999024833|MR|Test|E|Lead 24833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024834|124834|989898|1|9999024834|MR|Test|E|Lead 24834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024835|124835|989898|1|9999024835|MR|Test|E|Lead 24835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024836|124836|989898|1|9999024836|MR|Test|E|Lead 24836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024837|124837|989898|1|9999024837|MR|Test|E|Lead 24837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024838|124838|989898|1|9999024838|MR|Test|E|Lead 24838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024839|124839|989898|1|9999024839|MR|Test|E|Lead 24839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024840|124840|989898|1|9999024840|MR|Test|E|Lead 24840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024841|124841|989898|1|9999024841|MR|Test|E|Lead 24841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024842|124842|989898|1|9999024842|MR|Test|E|Lead 24842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024843|124843|989898|1|9999024843|MR|Test|E|Lead 24843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024844|124844|989898|1|9999024844|MR|Test|E|Lead 24844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024845|124845|989898|1|9999024845|MR|Test|E|Lead 24845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024846|124846|989898|1|9999024846|MR|Test|E|Lead 24846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024847|124847|989898|1|9999024847|MR|Test|E|Lead 24847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024848|124848|989898|1|9999024848|MR|Test|E|Lead 24848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024849|124849|989898|1|9999024849|MR|Test|E|Lead 24849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024850|124850|989898|1|9999024850|MR|Test|E|Lead 24850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024851|124851|989898|1|9999024851|MR|Test|E|Lead 24851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024852|124852|989898|1|9999024852|MR|Test|E|Lead 24852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024853|124853|989898|1|9999024853|MR|Test|E|Lead 24853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024854|124854|989898|1|9999024854|MR|Test|E|Lead 24854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024855|124855|989898|1|9999024855|MR|Test|E|Lead 24855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024856|124856|989898|1|9999024856|MR|Test|E|Lead 24856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024857|124857|989898|1|9999024857|MR|Test|E|Lead 24857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024858|124858|989898|1|9999024858|MR|Test|E|Lead 24858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024859|124859|989898|1|9999024859|MR|Test|E|Lead 24859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024860|124860|989898|1|9999024860|MR|Test|E|Lead 24860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024861|124861|989898|1|9999024861|MR|Test|E|Lead 24861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024862|124862|989898|1|9999024862|MR|Test|E|Lead 24862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024863|124863|989898|1|9999024863|MR|Test|E|Lead 24863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024864|124864|989898|1|9999024864|MR|Test|E|Lead 24864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024865|124865|989898|1|9999024865|MR|Test|E|Lead 24865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024866|124866|989898|1|9999024866|MR|Test|E|Lead 24866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024867|124867|989898|1|9999024867|MR|Test|E|Lead 24867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024868|124868|989898|1|9999024868|MR|Test|E|Lead 24868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024869|124869|989898|1|9999024869|MR|Test|E|Lead 24869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024870|124870|989898|1|9999024870|MR|Test|E|Lead 24870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024871|124871|989898|1|9999024871|MR|Test|E|Lead 24871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024872|124872|989898|1|9999024872|MR|Test|E|Lead 24872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024873|124873|989898|1|9999024873|MR|Test|E|Lead 24873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024874|124874|989898|1|9999024874|MR|Test|E|Lead 24874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024875|124875|989898|1|9999024875|MR|Test|E|Lead 24875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024876|124876|989898|1|9999024876|MR|Test|E|Lead 24876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024877|124877|989898|1|9999024877|MR|Test|E|Lead 24877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024878|124878|989898|1|9999024878|MR|Test|E|Lead 24878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024879|124879|989898|1|9999024879|MR|Test|E|Lead 24879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024880|124880|989898|1|9999024880|MR|Test|E|Lead 24880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024881|124881|989898|1|9999024881|MR|Test|E|Lead 24881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024882|124882|989898|1|9999024882|MR|Test|E|Lead 24882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024883|124883|989898|1|9999024883|MR|Test|E|Lead 24883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024884|124884|989898|1|9999024884|MR|Test|E|Lead 24884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024885|124885|989898|1|9999024885|MR|Test|E|Lead 24885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024886|124886|989898|1|9999024886|MR|Test|E|Lead 24886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024887|124887|989898|1|9999024887|MR|Test|E|Lead 24887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024888|124888|989898|1|9999024888|MR|Test|E|Lead 24888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024889|124889|989898|1|9999024889|MR|Test|E|Lead 24889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024890|124890|989898|1|9999024890|MR|Test|E|Lead 24890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024891|124891|989898|1|9999024891|MR|Test|E|Lead 24891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024892|124892|989898|1|9999024892|MR|Test|E|Lead 24892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024893|124893|989898|1|9999024893|MR|Test|E|Lead 24893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024894|124894|989898|1|9999024894|MR|Test|E|Lead 24894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024895|124895|989898|1|9999024895|MR|Test|E|Lead 24895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024896|124896|989898|1|9999024896|MR|Test|E|Lead 24896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024897|124897|989898|1|9999024897|MR|Test|E|Lead 24897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024898|124898|989898|1|9999024898|MR|Test|E|Lead 24898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024899|124899|989898|1|9999024899|MR|Test|E|Lead 24899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024900|124900|989898|1|9999024900|MR|Test|E|Lead 24900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024901|124901|989898|1|9999024901|MR|Test|E|Lead 24901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024902|124902|989898|1|9999024902|MR|Test|E|Lead 24902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024903|124903|989898|1|9999024903|MR|Test|E|Lead 24903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024904|124904|989898|1|9999024904|MR|Test|E|Lead 24904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024905|124905|989898|1|9999024905|MR|Test|E|Lead 24905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024906|124906|989898|1|9999024906|MR|Test|E|Lead 24906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024907|124907|989898|1|9999024907|MR|Test|E|Lead 24907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024908|124908|989898|1|9999024908|MR|Test|E|Lead 24908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024909|124909|989898|1|9999024909|MR|Test|E|Lead 24909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024910|124910|989898|1|9999024910|MR|Test|E|Lead 24910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024911|124911|989898|1|9999024911|MR|Test|E|Lead 24911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024912|124912|989898|1|9999024912|MR|Test|E|Lead 24912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024913|124913|989898|1|9999024913|MR|Test|E|Lead 24913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024914|124914|989898|1|9999024914|MR|Test|E|Lead 24914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024915|124915|989898|1|9999024915|MR|Test|E|Lead 24915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024916|124916|989898|1|9999024916|MR|Test|E|Lead 24916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024917|124917|989898|1|9999024917|MR|Test|E|Lead 24917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024918|124918|989898|1|9999024918|MR|Test|E|Lead 24918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024919|124919|989898|1|9999024919|MR|Test|E|Lead 24919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024920|124920|989898|1|9999024920|MR|Test|E|Lead 24920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024921|124921|989898|1|9999024921|MR|Test|E|Lead 24921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024922|124922|989898|1|9999024922|MR|Test|E|Lead 24922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024923|124923|989898|1|9999024923|MR|Test|E|Lead 24923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024924|124924|989898|1|9999024924|MR|Test|E|Lead 24924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024925|124925|989898|1|9999024925|MR|Test|E|Lead 24925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024926|124926|989898|1|9999024926|MR|Test|E|Lead 24926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024927|124927|989898|1|9999024927|MR|Test|E|Lead 24927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024928|124928|989898|1|9999024928|MR|Test|E|Lead 24928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024929|124929|989898|1|9999024929|MR|Test|E|Lead 24929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024930|124930|989898|1|9999024930|MR|Test|E|Lead 24930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024931|124931|989898|1|9999024931|MR|Test|E|Lead 24931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024932|124932|989898|1|9999024932|MR|Test|E|Lead 24932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024933|124933|989898|1|9999024933|MR|Test|E|Lead 24933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024934|124934|989898|1|9999024934|MR|Test|E|Lead 24934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024935|124935|989898|1|9999024935|MR|Test|E|Lead 24935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024936|124936|989898|1|9999024936|MR|Test|E|Lead 24936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024937|124937|989898|1|9999024937|MR|Test|E|Lead 24937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024938|124938|989898|1|9999024938|MR|Test|E|Lead 24938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024939|124939|989898|1|9999024939|MR|Test|E|Lead 24939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024940|124940|989898|1|9999024940|MR|Test|E|Lead 24940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024941|124941|989898|1|9999024941|MR|Test|E|Lead 24941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024942|124942|989898|1|9999024942|MR|Test|E|Lead 24942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024943|124943|989898|1|9999024943|MR|Test|E|Lead 24943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024944|124944|989898|1|9999024944|MR|Test|E|Lead 24944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024945|124945|989898|1|9999024945|MR|Test|E|Lead 24945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024946|124946|989898|1|9999024946|MR|Test|E|Lead 24946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024947|124947|989898|1|9999024947|MR|Test|E|Lead 24947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024948|124948|989898|1|9999024948|MR|Test|E|Lead 24948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024949|124949|989898|1|9999024949|MR|Test|E|Lead 24949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024950|124950|989898|1|9999024950|MR|Test|E|Lead 24950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024951|124951|989898|1|9999024951|MR|Test|E|Lead 24951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024952|124952|989898|1|9999024952|MR|Test|E|Lead 24952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024953|124953|989898|1|9999024953|MR|Test|E|Lead 24953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024954|124954|989898|1|9999024954|MR|Test|E|Lead 24954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024955|124955|989898|1|9999024955|MR|Test|E|Lead 24955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024956|124956|989898|1|9999024956|MR|Test|E|Lead 24956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024957|124957|989898|1|9999024957|MR|Test|E|Lead 24957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024958|124958|989898|1|9999024958|MR|Test|E|Lead 24958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024959|124959|989898|1|9999024959|MR|Test|E|Lead 24959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024960|124960|989898|1|9999024960|MR|Test|E|Lead 24960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024961|124961|989898|1|9999024961|MR|Test|E|Lead 24961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024962|124962|989898|1|9999024962|MR|Test|E|Lead 24962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024963|124963|989898|1|9999024963|MR|Test|E|Lead 24963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024964|124964|989898|1|9999024964|MR|Test|E|Lead 24964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024965|124965|989898|1|9999024965|MR|Test|E|Lead 24965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024966|124966|989898|1|9999024966|MR|Test|E|Lead 24966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024967|124967|989898|1|9999024967|MR|Test|E|Lead 24967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024968|124968|989898|1|9999024968|MR|Test|E|Lead 24968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024969|124969|989898|1|9999024969|MR|Test|E|Lead 24969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024970|124970|989898|1|9999024970|MR|Test|E|Lead 24970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024971|124971|989898|1|9999024971|MR|Test|E|Lead 24971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024972|124972|989898|1|9999024972|MR|Test|E|Lead 24972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024973|124973|989898|1|9999024973|MR|Test|E|Lead 24973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024974|124974|989898|1|9999024974|MR|Test|E|Lead 24974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024975|124975|989898|1|9999024975|MR|Test|E|Lead 24975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024976|124976|989898|1|9999024976|MR|Test|E|Lead 24976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024977|124977|989898|1|9999024977|MR|Test|E|Lead 24977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024978|124978|989898|1|9999024978|MR|Test|E|Lead 24978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024979|124979|989898|1|9999024979|MR|Test|E|Lead 24979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024980|124980|989898|1|9999024980|MR|Test|E|Lead 24980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024981|124981|989898|1|9999024981|MR|Test|E|Lead 24981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024982|124982|989898|1|9999024982|MR|Test|E|Lead 24982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024983|124983|989898|1|9999024983|MR|Test|E|Lead 24983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024984|124984|989898|1|9999024984|MR|Test|E|Lead 24984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024985|124985|989898|1|9999024985|MR|Test|E|Lead 24985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024986|124986|989898|1|9999024986|MR|Test|E|Lead 24986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024987|124987|989898|1|9999024987|MR|Test|E|Lead 24987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024988|124988|989898|1|9999024988|MR|Test|E|Lead 24988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024989|124989|989898|1|9999024989|MR|Test|E|Lead 24989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024990|124990|989898|1|9999024990|MR|Test|E|Lead 24990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024991|124991|989898|1|9999024991|MR|Test|E|Lead 24991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024992|124992|989898|1|9999024992|MR|Test|E|Lead 24992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024993|124993|989898|1|9999024993|MR|Test|E|Lead 24993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024994|124994|989898|1|9999024994|MR|Test|E|Lead 24994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024995|124995|989898|1|9999024995|MR|Test|E|Lead 24995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024996|124996|989898|1|9999024996|MR|Test|E|Lead 24996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024997|124997|989898|1|9999024997|MR|Test|E|Lead 24997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024998|124998|989898|1|9999024998|MR|Test|E|Lead 24998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1024999|124999|989898|1|9999024999|MR|Test|E|Lead 24999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025000|125000|989898|1|9999025000|MR|Test|E|Lead 25000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025001|125001|989898|1|9999025001|MR|Test|E|Lead 25001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025002|125002|989898|1|9999025002|MR|Test|E|Lead 25002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025003|125003|989898|1|9999025003|MR|Test|E|Lead 25003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025004|125004|989898|1|9999025004|MR|Test|E|Lead 25004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025005|125005|989898|1|9999025005|MR|Test|E|Lead 25005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025006|125006|989898|1|9999025006|MR|Test|E|Lead 25006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025007|125007|989898|1|9999025007|MR|Test|E|Lead 25007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025008|125008|989898|1|9999025008|MR|Test|E|Lead 25008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025009|125009|989898|1|9999025009|MR|Test|E|Lead 25009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025010|125010|989898|1|9999025010|MR|Test|E|Lead 25010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025011|125011|989898|1|9999025011|MR|Test|E|Lead 25011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025012|125012|989898|1|9999025012|MR|Test|E|Lead 25012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025013|125013|989898|1|9999025013|MR|Test|E|Lead 25013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025014|125014|989898|1|9999025014|MR|Test|E|Lead 25014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025015|125015|989898|1|9999025015|MR|Test|E|Lead 25015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025016|125016|989898|1|9999025016|MR|Test|E|Lead 25016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025017|125017|989898|1|9999025017|MR|Test|E|Lead 25017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025018|125018|989898|1|9999025018|MR|Test|E|Lead 25018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025019|125019|989898|1|9999025019|MR|Test|E|Lead 25019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025020|125020|989898|1|9999025020|MR|Test|E|Lead 25020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025021|125021|989898|1|9999025021|MR|Test|E|Lead 25021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025022|125022|989898|1|9999025022|MR|Test|E|Lead 25022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025023|125023|989898|1|9999025023|MR|Test|E|Lead 25023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025024|125024|989898|1|9999025024|MR|Test|E|Lead 25024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025025|125025|989898|1|9999025025|MR|Test|E|Lead 25025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025026|125026|989898|1|9999025026|MR|Test|E|Lead 25026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025027|125027|989898|1|9999025027|MR|Test|E|Lead 25027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025028|125028|989898|1|9999025028|MR|Test|E|Lead 25028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025029|125029|989898|1|9999025029|MR|Test|E|Lead 25029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025030|125030|989898|1|9999025030|MR|Test|E|Lead 25030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025031|125031|989898|1|9999025031|MR|Test|E|Lead 25031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025032|125032|989898|1|9999025032|MR|Test|E|Lead 25032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025033|125033|989898|1|9999025033|MR|Test|E|Lead 25033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025034|125034|989898|1|9999025034|MR|Test|E|Lead 25034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025035|125035|989898|1|9999025035|MR|Test|E|Lead 25035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025036|125036|989898|1|9999025036|MR|Test|E|Lead 25036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025037|125037|989898|1|9999025037|MR|Test|E|Lead 25037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025038|125038|989898|1|9999025038|MR|Test|E|Lead 25038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025039|125039|989898|1|9999025039|MR|Test|E|Lead 25039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025040|125040|989898|1|9999025040|MR|Test|E|Lead 25040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025041|125041|989898|1|9999025041|MR|Test|E|Lead 25041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025042|125042|989898|1|9999025042|MR|Test|E|Lead 25042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025043|125043|989898|1|9999025043|MR|Test|E|Lead 25043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025044|125044|989898|1|9999025044|MR|Test|E|Lead 25044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025045|125045|989898|1|9999025045|MR|Test|E|Lead 25045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025046|125046|989898|1|9999025046|MR|Test|E|Lead 25046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025047|125047|989898|1|9999025047|MR|Test|E|Lead 25047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025048|125048|989898|1|9999025048|MR|Test|E|Lead 25048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025049|125049|989898|1|9999025049|MR|Test|E|Lead 25049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025050|125050|989898|1|9999025050|MR|Test|E|Lead 25050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025051|125051|989898|1|9999025051|MR|Test|E|Lead 25051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025052|125052|989898|1|9999025052|MR|Test|E|Lead 25052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025053|125053|989898|1|9999025053|MR|Test|E|Lead 25053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025054|125054|989898|1|9999025054|MR|Test|E|Lead 25054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025055|125055|989898|1|9999025055|MR|Test|E|Lead 25055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025056|125056|989898|1|9999025056|MR|Test|E|Lead 25056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025057|125057|989898|1|9999025057|MR|Test|E|Lead 25057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025058|125058|989898|1|9999025058|MR|Test|E|Lead 25058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025059|125059|989898|1|9999025059|MR|Test|E|Lead 25059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025060|125060|989898|1|9999025060|MR|Test|E|Lead 25060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025061|125061|989898|1|9999025061|MR|Test|E|Lead 25061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025062|125062|989898|1|9999025062|MR|Test|E|Lead 25062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025063|125063|989898|1|9999025063|MR|Test|E|Lead 25063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025064|125064|989898|1|9999025064|MR|Test|E|Lead 25064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025065|125065|989898|1|9999025065|MR|Test|E|Lead 25065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025066|125066|989898|1|9999025066|MR|Test|E|Lead 25066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025067|125067|989898|1|9999025067|MR|Test|E|Lead 25067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025068|125068|989898|1|9999025068|MR|Test|E|Lead 25068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025069|125069|989898|1|9999025069|MR|Test|E|Lead 25069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025070|125070|989898|1|9999025070|MR|Test|E|Lead 25070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025071|125071|989898|1|9999025071|MR|Test|E|Lead 25071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025072|125072|989898|1|9999025072|MR|Test|E|Lead 25072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025073|125073|989898|1|9999025073|MR|Test|E|Lead 25073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025074|125074|989898|1|9999025074|MR|Test|E|Lead 25074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025075|125075|989898|1|9999025075|MR|Test|E|Lead 25075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025076|125076|989898|1|9999025076|MR|Test|E|Lead 25076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025077|125077|989898|1|9999025077|MR|Test|E|Lead 25077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025078|125078|989898|1|9999025078|MR|Test|E|Lead 25078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025079|125079|989898|1|9999025079|MR|Test|E|Lead 25079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025080|125080|989898|1|9999025080|MR|Test|E|Lead 25080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025081|125081|989898|1|9999025081|MR|Test|E|Lead 25081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025082|125082|989898|1|9999025082|MR|Test|E|Lead 25082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025083|125083|989898|1|9999025083|MR|Test|E|Lead 25083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025084|125084|989898|1|9999025084|MR|Test|E|Lead 25084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025085|125085|989898|1|9999025085|MR|Test|E|Lead 25085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025086|125086|989898|1|9999025086|MR|Test|E|Lead 25086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025087|125087|989898|1|9999025087|MR|Test|E|Lead 25087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025088|125088|989898|1|9999025088|MR|Test|E|Lead 25088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025089|125089|989898|1|9999025089|MR|Test|E|Lead 25089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025090|125090|989898|1|9999025090|MR|Test|E|Lead 25090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025091|125091|989898|1|9999025091|MR|Test|E|Lead 25091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025092|125092|989898|1|9999025092|MR|Test|E|Lead 25092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025093|125093|989898|1|9999025093|MR|Test|E|Lead 25093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025094|125094|989898|1|9999025094|MR|Test|E|Lead 25094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025095|125095|989898|1|9999025095|MR|Test|E|Lead 25095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025096|125096|989898|1|9999025096|MR|Test|E|Lead 25096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025097|125097|989898|1|9999025097|MR|Test|E|Lead 25097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025098|125098|989898|1|9999025098|MR|Test|E|Lead 25098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025099|125099|989898|1|9999025099|MR|Test|E|Lead 25099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025100|125100|989898|1|9999025100|MR|Test|E|Lead 25100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025101|125101|989898|1|9999025101|MR|Test|E|Lead 25101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025102|125102|989898|1|9999025102|MR|Test|E|Lead 25102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025103|125103|989898|1|9999025103|MR|Test|E|Lead 25103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025104|125104|989898|1|9999025104|MR|Test|E|Lead 25104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025105|125105|989898|1|9999025105|MR|Test|E|Lead 25105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025106|125106|989898|1|9999025106|MR|Test|E|Lead 25106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025107|125107|989898|1|9999025107|MR|Test|E|Lead 25107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025108|125108|989898|1|9999025108|MR|Test|E|Lead 25108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025109|125109|989898|1|9999025109|MR|Test|E|Lead 25109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025110|125110|989898|1|9999025110|MR|Test|E|Lead 25110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025111|125111|989898|1|9999025111|MR|Test|E|Lead 25111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025112|125112|989898|1|9999025112|MR|Test|E|Lead 25112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025113|125113|989898|1|9999025113|MR|Test|E|Lead 25113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025114|125114|989898|1|9999025114|MR|Test|E|Lead 25114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025115|125115|989898|1|9999025115|MR|Test|E|Lead 25115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025116|125116|989898|1|9999025116|MR|Test|E|Lead 25116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025117|125117|989898|1|9999025117|MR|Test|E|Lead 25117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025118|125118|989898|1|9999025118|MR|Test|E|Lead 25118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025119|125119|989898|1|9999025119|MR|Test|E|Lead 25119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025120|125120|989898|1|9999025120|MR|Test|E|Lead 25120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025121|125121|989898|1|9999025121|MR|Test|E|Lead 25121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025122|125122|989898|1|9999025122|MR|Test|E|Lead 25122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025123|125123|989898|1|9999025123|MR|Test|E|Lead 25123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025124|125124|989898|1|9999025124|MR|Test|E|Lead 25124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025125|125125|989898|1|9999025125|MR|Test|E|Lead 25125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025126|125126|989898|1|9999025126|MR|Test|E|Lead 25126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025127|125127|989898|1|9999025127|MR|Test|E|Lead 25127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025128|125128|989898|1|9999025128|MR|Test|E|Lead 25128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025129|125129|989898|1|9999025129|MR|Test|E|Lead 25129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025130|125130|989898|1|9999025130|MR|Test|E|Lead 25130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025131|125131|989898|1|9999025131|MR|Test|E|Lead 25131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025132|125132|989898|1|9999025132|MR|Test|E|Lead 25132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025133|125133|989898|1|9999025133|MR|Test|E|Lead 25133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025134|125134|989898|1|9999025134|MR|Test|E|Lead 25134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025135|125135|989898|1|9999025135|MR|Test|E|Lead 25135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025136|125136|989898|1|9999025136|MR|Test|E|Lead 25136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025137|125137|989898|1|9999025137|MR|Test|E|Lead 25137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025138|125138|989898|1|9999025138|MR|Test|E|Lead 25138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025139|125139|989898|1|9999025139|MR|Test|E|Lead 25139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025140|125140|989898|1|9999025140|MR|Test|E|Lead 25140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025141|125141|989898|1|9999025141|MR|Test|E|Lead 25141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025142|125142|989898|1|9999025142|MR|Test|E|Lead 25142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025143|125143|989898|1|9999025143|MR|Test|E|Lead 25143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025144|125144|989898|1|9999025144|MR|Test|E|Lead 25144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025145|125145|989898|1|9999025145|MR|Test|E|Lead 25145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025146|125146|989898|1|9999025146|MR|Test|E|Lead 25146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025147|125147|989898|1|9999025147|MR|Test|E|Lead 25147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025148|125148|989898|1|9999025148|MR|Test|E|Lead 25148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025149|125149|989898|1|9999025149|MR|Test|E|Lead 25149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025150|125150|989898|1|9999025150|MR|Test|E|Lead 25150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025151|125151|989898|1|9999025151|MR|Test|E|Lead 25151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025152|125152|989898|1|9999025152|MR|Test|E|Lead 25152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025153|125153|989898|1|9999025153|MR|Test|E|Lead 25153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025154|125154|989898|1|9999025154|MR|Test|E|Lead 25154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025155|125155|989898|1|9999025155|MR|Test|E|Lead 25155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025156|125156|989898|1|9999025156|MR|Test|E|Lead 25156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025157|125157|989898|1|9999025157|MR|Test|E|Lead 25157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025158|125158|989898|1|9999025158|MR|Test|E|Lead 25158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025159|125159|989898|1|9999025159|MR|Test|E|Lead 25159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025160|125160|989898|1|9999025160|MR|Test|E|Lead 25160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025161|125161|989898|1|9999025161|MR|Test|E|Lead 25161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025162|125162|989898|1|9999025162|MR|Test|E|Lead 25162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025163|125163|989898|1|9999025163|MR|Test|E|Lead 25163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025164|125164|989898|1|9999025164|MR|Test|E|Lead 25164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025165|125165|989898|1|9999025165|MR|Test|E|Lead 25165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025166|125166|989898|1|9999025166|MR|Test|E|Lead 25166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025167|125167|989898|1|9999025167|MR|Test|E|Lead 25167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025168|125168|989898|1|9999025168|MR|Test|E|Lead 25168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025169|125169|989898|1|9999025169|MR|Test|E|Lead 25169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025170|125170|989898|1|9999025170|MR|Test|E|Lead 25170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025171|125171|989898|1|9999025171|MR|Test|E|Lead 25171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025172|125172|989898|1|9999025172|MR|Test|E|Lead 25172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025173|125173|989898|1|9999025173|MR|Test|E|Lead 25173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025174|125174|989898|1|9999025174|MR|Test|E|Lead 25174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025175|125175|989898|1|9999025175|MR|Test|E|Lead 25175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025176|125176|989898|1|9999025176|MR|Test|E|Lead 25176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025177|125177|989898|1|9999025177|MR|Test|E|Lead 25177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025178|125178|989898|1|9999025178|MR|Test|E|Lead 25178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025179|125179|989898|1|9999025179|MR|Test|E|Lead 25179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025180|125180|989898|1|9999025180|MR|Test|E|Lead 25180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025181|125181|989898|1|9999025181|MR|Test|E|Lead 25181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025182|125182|989898|1|9999025182|MR|Test|E|Lead 25182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025183|125183|989898|1|9999025183|MR|Test|E|Lead 25183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025184|125184|989898|1|9999025184|MR|Test|E|Lead 25184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025185|125185|989898|1|9999025185|MR|Test|E|Lead 25185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025186|125186|989898|1|9999025186|MR|Test|E|Lead 25186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025187|125187|989898|1|9999025187|MR|Test|E|Lead 25187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025188|125188|989898|1|9999025188|MR|Test|E|Lead 25188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025189|125189|989898|1|9999025189|MR|Test|E|Lead 25189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025190|125190|989898|1|9999025190|MR|Test|E|Lead 25190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025191|125191|989898|1|9999025191|MR|Test|E|Lead 25191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025192|125192|989898|1|9999025192|MR|Test|E|Lead 25192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025193|125193|989898|1|9999025193|MR|Test|E|Lead 25193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025194|125194|989898|1|9999025194|MR|Test|E|Lead 25194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025195|125195|989898|1|9999025195|MR|Test|E|Lead 25195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025196|125196|989898|1|9999025196|MR|Test|E|Lead 25196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025197|125197|989898|1|9999025197|MR|Test|E|Lead 25197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025198|125198|989898|1|9999025198|MR|Test|E|Lead 25198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025199|125199|989898|1|9999025199|MR|Test|E|Lead 25199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025200|125200|989898|1|9999025200|MR|Test|E|Lead 25200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025201|125201|989898|1|9999025201|MR|Test|E|Lead 25201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025202|125202|989898|1|9999025202|MR|Test|E|Lead 25202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025203|125203|989898|1|9999025203|MR|Test|E|Lead 25203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025204|125204|989898|1|9999025204|MR|Test|E|Lead 25204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025205|125205|989898|1|9999025205|MR|Test|E|Lead 25205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025206|125206|989898|1|9999025206|MR|Test|E|Lead 25206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025207|125207|989898|1|9999025207|MR|Test|E|Lead 25207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025208|125208|989898|1|9999025208|MR|Test|E|Lead 25208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025209|125209|989898|1|9999025209|MR|Test|E|Lead 25209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025210|125210|989898|1|9999025210|MR|Test|E|Lead 25210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025211|125211|989898|1|9999025211|MR|Test|E|Lead 25211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025212|125212|989898|1|9999025212|MR|Test|E|Lead 25212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025213|125213|989898|1|9999025213|MR|Test|E|Lead 25213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025214|125214|989898|1|9999025214|MR|Test|E|Lead 25214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025215|125215|989898|1|9999025215|MR|Test|E|Lead 25215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025216|125216|989898|1|9999025216|MR|Test|E|Lead 25216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025217|125217|989898|1|9999025217|MR|Test|E|Lead 25217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025218|125218|989898|1|9999025218|MR|Test|E|Lead 25218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025219|125219|989898|1|9999025219|MR|Test|E|Lead 25219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025220|125220|989898|1|9999025220|MR|Test|E|Lead 25220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025221|125221|989898|1|9999025221|MR|Test|E|Lead 25221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025222|125222|989898|1|9999025222|MR|Test|E|Lead 25222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025223|125223|989898|1|9999025223|MR|Test|E|Lead 25223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025224|125224|989898|1|9999025224|MR|Test|E|Lead 25224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025225|125225|989898|1|9999025225|MR|Test|E|Lead 25225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025226|125226|989898|1|9999025226|MR|Test|E|Lead 25226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025227|125227|989898|1|9999025227|MR|Test|E|Lead 25227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025228|125228|989898|1|9999025228|MR|Test|E|Lead 25228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025229|125229|989898|1|9999025229|MR|Test|E|Lead 25229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025230|125230|989898|1|9999025230|MR|Test|E|Lead 25230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025231|125231|989898|1|9999025231|MR|Test|E|Lead 25231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025232|125232|989898|1|9999025232|MR|Test|E|Lead 25232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025233|125233|989898|1|9999025233|MR|Test|E|Lead 25233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025234|125234|989898|1|9999025234|MR|Test|E|Lead 25234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025235|125235|989898|1|9999025235|MR|Test|E|Lead 25235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025236|125236|989898|1|9999025236|MR|Test|E|Lead 25236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025237|125237|989898|1|9999025237|MR|Test|E|Lead 25237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025238|125238|989898|1|9999025238|MR|Test|E|Lead 25238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025239|125239|989898|1|9999025239|MR|Test|E|Lead 25239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025240|125240|989898|1|9999025240|MR|Test|E|Lead 25240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025241|125241|989898|1|9999025241|MR|Test|E|Lead 25241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025242|125242|989898|1|9999025242|MR|Test|E|Lead 25242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025243|125243|989898|1|9999025243|MR|Test|E|Lead 25243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025244|125244|989898|1|9999025244|MR|Test|E|Lead 25244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025245|125245|989898|1|9999025245|MR|Test|E|Lead 25245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025246|125246|989898|1|9999025246|MR|Test|E|Lead 25246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025247|125247|989898|1|9999025247|MR|Test|E|Lead 25247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025248|125248|989898|1|9999025248|MR|Test|E|Lead 25248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025249|125249|989898|1|9999025249|MR|Test|E|Lead 25249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025250|125250|989898|1|9999025250|MR|Test|E|Lead 25250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025251|125251|989898|1|9999025251|MR|Test|E|Lead 25251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025252|125252|989898|1|9999025252|MR|Test|E|Lead 25252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025253|125253|989898|1|9999025253|MR|Test|E|Lead 25253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025254|125254|989898|1|9999025254|MR|Test|E|Lead 25254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025255|125255|989898|1|9999025255|MR|Test|E|Lead 25255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025256|125256|989898|1|9999025256|MR|Test|E|Lead 25256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025257|125257|989898|1|9999025257|MR|Test|E|Lead 25257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025258|125258|989898|1|9999025258|MR|Test|E|Lead 25258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025259|125259|989898|1|9999025259|MR|Test|E|Lead 25259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025260|125260|989898|1|9999025260|MR|Test|E|Lead 25260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025261|125261|989898|1|9999025261|MR|Test|E|Lead 25261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025262|125262|989898|1|9999025262|MR|Test|E|Lead 25262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025263|125263|989898|1|9999025263|MR|Test|E|Lead 25263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025264|125264|989898|1|9999025264|MR|Test|E|Lead 25264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025265|125265|989898|1|9999025265|MR|Test|E|Lead 25265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025266|125266|989898|1|9999025266|MR|Test|E|Lead 25266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025267|125267|989898|1|9999025267|MR|Test|E|Lead 25267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025268|125268|989898|1|9999025268|MR|Test|E|Lead 25268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025269|125269|989898|1|9999025269|MR|Test|E|Lead 25269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025270|125270|989898|1|9999025270|MR|Test|E|Lead 25270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025271|125271|989898|1|9999025271|MR|Test|E|Lead 25271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025272|125272|989898|1|9999025272|MR|Test|E|Lead 25272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025273|125273|989898|1|9999025273|MR|Test|E|Lead 25273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025274|125274|989898|1|9999025274|MR|Test|E|Lead 25274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025275|125275|989898|1|9999025275|MR|Test|E|Lead 25275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025276|125276|989898|1|9999025276|MR|Test|E|Lead 25276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025277|125277|989898|1|9999025277|MR|Test|E|Lead 25277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025278|125278|989898|1|9999025278|MR|Test|E|Lead 25278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025279|125279|989898|1|9999025279|MR|Test|E|Lead 25279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025280|125280|989898|1|9999025280|MR|Test|E|Lead 25280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025281|125281|989898|1|9999025281|MR|Test|E|Lead 25281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025282|125282|989898|1|9999025282|MR|Test|E|Lead 25282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025283|125283|989898|1|9999025283|MR|Test|E|Lead 25283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025284|125284|989898|1|9999025284|MR|Test|E|Lead 25284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025285|125285|989898|1|9999025285|MR|Test|E|Lead 25285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025286|125286|989898|1|9999025286|MR|Test|E|Lead 25286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025287|125287|989898|1|9999025287|MR|Test|E|Lead 25287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025288|125288|989898|1|9999025288|MR|Test|E|Lead 25288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025289|125289|989898|1|9999025289|MR|Test|E|Lead 25289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025290|125290|989898|1|9999025290|MR|Test|E|Lead 25290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025291|125291|989898|1|9999025291|MR|Test|E|Lead 25291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025292|125292|989898|1|9999025292|MR|Test|E|Lead 25292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025293|125293|989898|1|9999025293|MR|Test|E|Lead 25293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025294|125294|989898|1|9999025294|MR|Test|E|Lead 25294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025295|125295|989898|1|9999025295|MR|Test|E|Lead 25295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025296|125296|989898|1|9999025296|MR|Test|E|Lead 25296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025297|125297|989898|1|9999025297|MR|Test|E|Lead 25297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025298|125298|989898|1|9999025298|MR|Test|E|Lead 25298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025299|125299|989898|1|9999025299|MR|Test|E|Lead 25299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025300|125300|989898|1|9999025300|MR|Test|E|Lead 25300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025301|125301|989898|1|9999025301|MR|Test|E|Lead 25301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025302|125302|989898|1|9999025302|MR|Test|E|Lead 25302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025303|125303|989898|1|9999025303|MR|Test|E|Lead 25303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025304|125304|989898|1|9999025304|MR|Test|E|Lead 25304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025305|125305|989898|1|9999025305|MR|Test|E|Lead 25305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025306|125306|989898|1|9999025306|MR|Test|E|Lead 25306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025307|125307|989898|1|9999025307|MR|Test|E|Lead 25307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025308|125308|989898|1|9999025308|MR|Test|E|Lead 25308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025309|125309|989898|1|9999025309|MR|Test|E|Lead 25309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025310|125310|989898|1|9999025310|MR|Test|E|Lead 25310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025311|125311|989898|1|9999025311|MR|Test|E|Lead 25311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025312|125312|989898|1|9999025312|MR|Test|E|Lead 25312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025313|125313|989898|1|9999025313|MR|Test|E|Lead 25313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025314|125314|989898|1|9999025314|MR|Test|E|Lead 25314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025315|125315|989898|1|9999025315|MR|Test|E|Lead 25315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025316|125316|989898|1|9999025316|MR|Test|E|Lead 25316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025317|125317|989898|1|9999025317|MR|Test|E|Lead 25317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025318|125318|989898|1|9999025318|MR|Test|E|Lead 25318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025319|125319|989898|1|9999025319|MR|Test|E|Lead 25319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025320|125320|989898|1|9999025320|MR|Test|E|Lead 25320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025321|125321|989898|1|9999025321|MR|Test|E|Lead 25321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025322|125322|989898|1|9999025322|MR|Test|E|Lead 25322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025323|125323|989898|1|9999025323|MR|Test|E|Lead 25323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025324|125324|989898|1|9999025324|MR|Test|E|Lead 25324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025325|125325|989898|1|9999025325|MR|Test|E|Lead 25325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025326|125326|989898|1|9999025326|MR|Test|E|Lead 25326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025327|125327|989898|1|9999025327|MR|Test|E|Lead 25327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025328|125328|989898|1|9999025328|MR|Test|E|Lead 25328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025329|125329|989898|1|9999025329|MR|Test|E|Lead 25329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025330|125330|989898|1|9999025330|MR|Test|E|Lead 25330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025331|125331|989898|1|9999025331|MR|Test|E|Lead 25331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025332|125332|989898|1|9999025332|MR|Test|E|Lead 25332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025333|125333|989898|1|9999025333|MR|Test|E|Lead 25333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025334|125334|989898|1|9999025334|MR|Test|E|Lead 25334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025335|125335|989898|1|9999025335|MR|Test|E|Lead 25335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025336|125336|989898|1|9999025336|MR|Test|E|Lead 25336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025337|125337|989898|1|9999025337|MR|Test|E|Lead 25337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025338|125338|989898|1|9999025338|MR|Test|E|Lead 25338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025339|125339|989898|1|9999025339|MR|Test|E|Lead 25339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025340|125340|989898|1|9999025340|MR|Test|E|Lead 25340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025341|125341|989898|1|9999025341|MR|Test|E|Lead 25341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025342|125342|989898|1|9999025342|MR|Test|E|Lead 25342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025343|125343|989898|1|9999025343|MR|Test|E|Lead 25343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025344|125344|989898|1|9999025344|MR|Test|E|Lead 25344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025345|125345|989898|1|9999025345|MR|Test|E|Lead 25345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025346|125346|989898|1|9999025346|MR|Test|E|Lead 25346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025347|125347|989898|1|9999025347|MR|Test|E|Lead 25347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025348|125348|989898|1|9999025348|MR|Test|E|Lead 25348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025349|125349|989898|1|9999025349|MR|Test|E|Lead 25349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025350|125350|989898|1|9999025350|MR|Test|E|Lead 25350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025351|125351|989898|1|9999025351|MR|Test|E|Lead 25351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025352|125352|989898|1|9999025352|MR|Test|E|Lead 25352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025353|125353|989898|1|9999025353|MR|Test|E|Lead 25353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025354|125354|989898|1|9999025354|MR|Test|E|Lead 25354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025355|125355|989898|1|9999025355|MR|Test|E|Lead 25355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025356|125356|989898|1|9999025356|MR|Test|E|Lead 25356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025357|125357|989898|1|9999025357|MR|Test|E|Lead 25357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025358|125358|989898|1|9999025358|MR|Test|E|Lead 25358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025359|125359|989898|1|9999025359|MR|Test|E|Lead 25359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025360|125360|989898|1|9999025360|MR|Test|E|Lead 25360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025361|125361|989898|1|9999025361|MR|Test|E|Lead 25361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025362|125362|989898|1|9999025362|MR|Test|E|Lead 25362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025363|125363|989898|1|9999025363|MR|Test|E|Lead 25363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025364|125364|989898|1|9999025364|MR|Test|E|Lead 25364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025365|125365|989898|1|9999025365|MR|Test|E|Lead 25365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025366|125366|989898|1|9999025366|MR|Test|E|Lead 25366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025367|125367|989898|1|9999025367|MR|Test|E|Lead 25367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025368|125368|989898|1|9999025368|MR|Test|E|Lead 25368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025369|125369|989898|1|9999025369|MR|Test|E|Lead 25369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025370|125370|989898|1|9999025370|MR|Test|E|Lead 25370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025371|125371|989898|1|9999025371|MR|Test|E|Lead 25371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025372|125372|989898|1|9999025372|MR|Test|E|Lead 25372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025373|125373|989898|1|9999025373|MR|Test|E|Lead 25373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025374|125374|989898|1|9999025374|MR|Test|E|Lead 25374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025375|125375|989898|1|9999025375|MR|Test|E|Lead 25375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025376|125376|989898|1|9999025376|MR|Test|E|Lead 25376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025377|125377|989898|1|9999025377|MR|Test|E|Lead 25377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025378|125378|989898|1|9999025378|MR|Test|E|Lead 25378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025379|125379|989898|1|9999025379|MR|Test|E|Lead 25379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025380|125380|989898|1|9999025380|MR|Test|E|Lead 25380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025381|125381|989898|1|9999025381|MR|Test|E|Lead 25381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025382|125382|989898|1|9999025382|MR|Test|E|Lead 25382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025383|125383|989898|1|9999025383|MR|Test|E|Lead 25383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025384|125384|989898|1|9999025384|MR|Test|E|Lead 25384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025385|125385|989898|1|9999025385|MR|Test|E|Lead 25385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025386|125386|989898|1|9999025386|MR|Test|E|Lead 25386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025387|125387|989898|1|9999025387|MR|Test|E|Lead 25387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025388|125388|989898|1|9999025388|MR|Test|E|Lead 25388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025389|125389|989898|1|9999025389|MR|Test|E|Lead 25389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025390|125390|989898|1|9999025390|MR|Test|E|Lead 25390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025391|125391|989898|1|9999025391|MR|Test|E|Lead 25391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025392|125392|989898|1|9999025392|MR|Test|E|Lead 25392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025393|125393|989898|1|9999025393|MR|Test|E|Lead 25393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025394|125394|989898|1|9999025394|MR|Test|E|Lead 25394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025395|125395|989898|1|9999025395|MR|Test|E|Lead 25395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025396|125396|989898|1|9999025396|MR|Test|E|Lead 25396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025397|125397|989898|1|9999025397|MR|Test|E|Lead 25397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025398|125398|989898|1|9999025398|MR|Test|E|Lead 25398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025399|125399|989898|1|9999025399|MR|Test|E|Lead 25399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025400|125400|989898|1|9999025400|MR|Test|E|Lead 25400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025401|125401|989898|1|9999025401|MR|Test|E|Lead 25401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025402|125402|989898|1|9999025402|MR|Test|E|Lead 25402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025403|125403|989898|1|9999025403|MR|Test|E|Lead 25403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025404|125404|989898|1|9999025404|MR|Test|E|Lead 25404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025405|125405|989898|1|9999025405|MR|Test|E|Lead 25405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025406|125406|989898|1|9999025406|MR|Test|E|Lead 25406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025407|125407|989898|1|9999025407|MR|Test|E|Lead 25407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025408|125408|989898|1|9999025408|MR|Test|E|Lead 25408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025409|125409|989898|1|9999025409|MR|Test|E|Lead 25409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025410|125410|989898|1|9999025410|MR|Test|E|Lead 25410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025411|125411|989898|1|9999025411|MR|Test|E|Lead 25411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025412|125412|989898|1|9999025412|MR|Test|E|Lead 25412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025413|125413|989898|1|9999025413|MR|Test|E|Lead 25413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025414|125414|989898|1|9999025414|MR|Test|E|Lead 25414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025415|125415|989898|1|9999025415|MR|Test|E|Lead 25415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025416|125416|989898|1|9999025416|MR|Test|E|Lead 25416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025417|125417|989898|1|9999025417|MR|Test|E|Lead 25417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025418|125418|989898|1|9999025418|MR|Test|E|Lead 25418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025419|125419|989898|1|9999025419|MR|Test|E|Lead 25419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025420|125420|989898|1|9999025420|MR|Test|E|Lead 25420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025421|125421|989898|1|9999025421|MR|Test|E|Lead 25421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025422|125422|989898|1|9999025422|MR|Test|E|Lead 25422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025423|125423|989898|1|9999025423|MR|Test|E|Lead 25423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025424|125424|989898|1|9999025424|MR|Test|E|Lead 25424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025425|125425|989898|1|9999025425|MR|Test|E|Lead 25425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025426|125426|989898|1|9999025426|MR|Test|E|Lead 25426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025427|125427|989898|1|9999025427|MR|Test|E|Lead 25427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025428|125428|989898|1|9999025428|MR|Test|E|Lead 25428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025429|125429|989898|1|9999025429|MR|Test|E|Lead 25429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025430|125430|989898|1|9999025430|MR|Test|E|Lead 25430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025431|125431|989898|1|9999025431|MR|Test|E|Lead 25431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025432|125432|989898|1|9999025432|MR|Test|E|Lead 25432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025433|125433|989898|1|9999025433|MR|Test|E|Lead 25433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025434|125434|989898|1|9999025434|MR|Test|E|Lead 25434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025435|125435|989898|1|9999025435|MR|Test|E|Lead 25435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025436|125436|989898|1|9999025436|MR|Test|E|Lead 25436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025437|125437|989898|1|9999025437|MR|Test|E|Lead 25437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025438|125438|989898|1|9999025438|MR|Test|E|Lead 25438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025439|125439|989898|1|9999025439|MR|Test|E|Lead 25439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025440|125440|989898|1|9999025440|MR|Test|E|Lead 25440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025441|125441|989898|1|9999025441|MR|Test|E|Lead 25441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025442|125442|989898|1|9999025442|MR|Test|E|Lead 25442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025443|125443|989898|1|9999025443|MR|Test|E|Lead 25443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025444|125444|989898|1|9999025444|MR|Test|E|Lead 25444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025445|125445|989898|1|9999025445|MR|Test|E|Lead 25445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025446|125446|989898|1|9999025446|MR|Test|E|Lead 25446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025447|125447|989898|1|9999025447|MR|Test|E|Lead 25447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025448|125448|989898|1|9999025448|MR|Test|E|Lead 25448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025449|125449|989898|1|9999025449|MR|Test|E|Lead 25449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025450|125450|989898|1|9999025450|MR|Test|E|Lead 25450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025451|125451|989898|1|9999025451|MR|Test|E|Lead 25451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025452|125452|989898|1|9999025452|MR|Test|E|Lead 25452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025453|125453|989898|1|9999025453|MR|Test|E|Lead 25453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025454|125454|989898|1|9999025454|MR|Test|E|Lead 25454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025455|125455|989898|1|9999025455|MR|Test|E|Lead 25455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025456|125456|989898|1|9999025456|MR|Test|E|Lead 25456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025457|125457|989898|1|9999025457|MR|Test|E|Lead 25457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025458|125458|989898|1|9999025458|MR|Test|E|Lead 25458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025459|125459|989898|1|9999025459|MR|Test|E|Lead 25459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025460|125460|989898|1|9999025460|MR|Test|E|Lead 25460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025461|125461|989898|1|9999025461|MR|Test|E|Lead 25461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025462|125462|989898|1|9999025462|MR|Test|E|Lead 25462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025463|125463|989898|1|9999025463|MR|Test|E|Lead 25463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025464|125464|989898|1|9999025464|MR|Test|E|Lead 25464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025465|125465|989898|1|9999025465|MR|Test|E|Lead 25465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025466|125466|989898|1|9999025466|MR|Test|E|Lead 25466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025467|125467|989898|1|9999025467|MR|Test|E|Lead 25467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025468|125468|989898|1|9999025468|MR|Test|E|Lead 25468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025469|125469|989898|1|9999025469|MR|Test|E|Lead 25469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025470|125470|989898|1|9999025470|MR|Test|E|Lead 25470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025471|125471|989898|1|9999025471|MR|Test|E|Lead 25471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025472|125472|989898|1|9999025472|MR|Test|E|Lead 25472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025473|125473|989898|1|9999025473|MR|Test|E|Lead 25473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025474|125474|989898|1|9999025474|MR|Test|E|Lead 25474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025475|125475|989898|1|9999025475|MR|Test|E|Lead 25475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025476|125476|989898|1|9999025476|MR|Test|E|Lead 25476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025477|125477|989898|1|9999025477|MR|Test|E|Lead 25477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025478|125478|989898|1|9999025478|MR|Test|E|Lead 25478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025479|125479|989898|1|9999025479|MR|Test|E|Lead 25479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025480|125480|989898|1|9999025480|MR|Test|E|Lead 25480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025481|125481|989898|1|9999025481|MR|Test|E|Lead 25481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025482|125482|989898|1|9999025482|MR|Test|E|Lead 25482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025483|125483|989898|1|9999025483|MR|Test|E|Lead 25483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025484|125484|989898|1|9999025484|MR|Test|E|Lead 25484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025485|125485|989898|1|9999025485|MR|Test|E|Lead 25485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025486|125486|989898|1|9999025486|MR|Test|E|Lead 25486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025487|125487|989898|1|9999025487|MR|Test|E|Lead 25487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025488|125488|989898|1|9999025488|MR|Test|E|Lead 25488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025489|125489|989898|1|9999025489|MR|Test|E|Lead 25489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025490|125490|989898|1|9999025490|MR|Test|E|Lead 25490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025491|125491|989898|1|9999025491|MR|Test|E|Lead 25491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025492|125492|989898|1|9999025492|MR|Test|E|Lead 25492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025493|125493|989898|1|9999025493|MR|Test|E|Lead 25493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025494|125494|989898|1|9999025494|MR|Test|E|Lead 25494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025495|125495|989898|1|9999025495|MR|Test|E|Lead 25495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025496|125496|989898|1|9999025496|MR|Test|E|Lead 25496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025497|125497|989898|1|9999025497|MR|Test|E|Lead 25497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025498|125498|989898|1|9999025498|MR|Test|E|Lead 25498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025499|125499|989898|1|9999025499|MR|Test|E|Lead 25499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025500|125500|989898|1|9999025500|MR|Test|E|Lead 25500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025501|125501|989898|1|9999025501|MR|Test|E|Lead 25501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025502|125502|989898|1|9999025502|MR|Test|E|Lead 25502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025503|125503|989898|1|9999025503|MR|Test|E|Lead 25503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025504|125504|989898|1|9999025504|MR|Test|E|Lead 25504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025505|125505|989898|1|9999025505|MR|Test|E|Lead 25505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025506|125506|989898|1|9999025506|MR|Test|E|Lead 25506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025507|125507|989898|1|9999025507|MR|Test|E|Lead 25507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025508|125508|989898|1|9999025508|MR|Test|E|Lead 25508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025509|125509|989898|1|9999025509|MR|Test|E|Lead 25509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025510|125510|989898|1|9999025510|MR|Test|E|Lead 25510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025511|125511|989898|1|9999025511|MR|Test|E|Lead 25511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025512|125512|989898|1|9999025512|MR|Test|E|Lead 25512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025513|125513|989898|1|9999025513|MR|Test|E|Lead 25513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025514|125514|989898|1|9999025514|MR|Test|E|Lead 25514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025515|125515|989898|1|9999025515|MR|Test|E|Lead 25515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025516|125516|989898|1|9999025516|MR|Test|E|Lead 25516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025517|125517|989898|1|9999025517|MR|Test|E|Lead 25517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025518|125518|989898|1|9999025518|MR|Test|E|Lead 25518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025519|125519|989898|1|9999025519|MR|Test|E|Lead 25519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025520|125520|989898|1|9999025520|MR|Test|E|Lead 25520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025521|125521|989898|1|9999025521|MR|Test|E|Lead 25521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025522|125522|989898|1|9999025522|MR|Test|E|Lead 25522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025523|125523|989898|1|9999025523|MR|Test|E|Lead 25523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025524|125524|989898|1|9999025524|MR|Test|E|Lead 25524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025525|125525|989898|1|9999025525|MR|Test|E|Lead 25525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025526|125526|989898|1|9999025526|MR|Test|E|Lead 25526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025527|125527|989898|1|9999025527|MR|Test|E|Lead 25527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025528|125528|989898|1|9999025528|MR|Test|E|Lead 25528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025529|125529|989898|1|9999025529|MR|Test|E|Lead 25529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025530|125530|989898|1|9999025530|MR|Test|E|Lead 25530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025531|125531|989898|1|9999025531|MR|Test|E|Lead 25531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025532|125532|989898|1|9999025532|MR|Test|E|Lead 25532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025533|125533|989898|1|9999025533|MR|Test|E|Lead 25533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025534|125534|989898|1|9999025534|MR|Test|E|Lead 25534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025535|125535|989898|1|9999025535|MR|Test|E|Lead 25535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025536|125536|989898|1|9999025536|MR|Test|E|Lead 25536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025537|125537|989898|1|9999025537|MR|Test|E|Lead 25537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025538|125538|989898|1|9999025538|MR|Test|E|Lead 25538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025539|125539|989898|1|9999025539|MR|Test|E|Lead 25539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025540|125540|989898|1|9999025540|MR|Test|E|Lead 25540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025541|125541|989898|1|9999025541|MR|Test|E|Lead 25541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025542|125542|989898|1|9999025542|MR|Test|E|Lead 25542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025543|125543|989898|1|9999025543|MR|Test|E|Lead 25543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025544|125544|989898|1|9999025544|MR|Test|E|Lead 25544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025545|125545|989898|1|9999025545|MR|Test|E|Lead 25545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025546|125546|989898|1|9999025546|MR|Test|E|Lead 25546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025547|125547|989898|1|9999025547|MR|Test|E|Lead 25547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025548|125548|989898|1|9999025548|MR|Test|E|Lead 25548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025549|125549|989898|1|9999025549|MR|Test|E|Lead 25549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025550|125550|989898|1|9999025550|MR|Test|E|Lead 25550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025551|125551|989898|1|9999025551|MR|Test|E|Lead 25551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025552|125552|989898|1|9999025552|MR|Test|E|Lead 25552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025553|125553|989898|1|9999025553|MR|Test|E|Lead 25553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025554|125554|989898|1|9999025554|MR|Test|E|Lead 25554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025555|125555|989898|1|9999025555|MR|Test|E|Lead 25555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025556|125556|989898|1|9999025556|MR|Test|E|Lead 25556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025557|125557|989898|1|9999025557|MR|Test|E|Lead 25557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025558|125558|989898|1|9999025558|MR|Test|E|Lead 25558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025559|125559|989898|1|9999025559|MR|Test|E|Lead 25559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025560|125560|989898|1|9999025560|MR|Test|E|Lead 25560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025561|125561|989898|1|9999025561|MR|Test|E|Lead 25561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025562|125562|989898|1|9999025562|MR|Test|E|Lead 25562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025563|125563|989898|1|9999025563|MR|Test|E|Lead 25563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025564|125564|989898|1|9999025564|MR|Test|E|Lead 25564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025565|125565|989898|1|9999025565|MR|Test|E|Lead 25565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025566|125566|989898|1|9999025566|MR|Test|E|Lead 25566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025567|125567|989898|1|9999025567|MR|Test|E|Lead 25567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025568|125568|989898|1|9999025568|MR|Test|E|Lead 25568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025569|125569|989898|1|9999025569|MR|Test|E|Lead 25569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025570|125570|989898|1|9999025570|MR|Test|E|Lead 25570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025571|125571|989898|1|9999025571|MR|Test|E|Lead 25571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025572|125572|989898|1|9999025572|MR|Test|E|Lead 25572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025573|125573|989898|1|9999025573|MR|Test|E|Lead 25573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025574|125574|989898|1|9999025574|MR|Test|E|Lead 25574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025575|125575|989898|1|9999025575|MR|Test|E|Lead 25575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025576|125576|989898|1|9999025576|MR|Test|E|Lead 25576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025577|125577|989898|1|9999025577|MR|Test|E|Lead 25577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025578|125578|989898|1|9999025578|MR|Test|E|Lead 25578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025579|125579|989898|1|9999025579|MR|Test|E|Lead 25579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025580|125580|989898|1|9999025580|MR|Test|E|Lead 25580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025581|125581|989898|1|9999025581|MR|Test|E|Lead 25581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025582|125582|989898|1|9999025582|MR|Test|E|Lead 25582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025583|125583|989898|1|9999025583|MR|Test|E|Lead 25583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025584|125584|989898|1|9999025584|MR|Test|E|Lead 25584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025585|125585|989898|1|9999025585|MR|Test|E|Lead 25585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025586|125586|989898|1|9999025586|MR|Test|E|Lead 25586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025587|125587|989898|1|9999025587|MR|Test|E|Lead 25587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025588|125588|989898|1|9999025588|MR|Test|E|Lead 25588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025589|125589|989898|1|9999025589|MR|Test|E|Lead 25589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025590|125590|989898|1|9999025590|MR|Test|E|Lead 25590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025591|125591|989898|1|9999025591|MR|Test|E|Lead 25591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025592|125592|989898|1|9999025592|MR|Test|E|Lead 25592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025593|125593|989898|1|9999025593|MR|Test|E|Lead 25593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025594|125594|989898|1|9999025594|MR|Test|E|Lead 25594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025595|125595|989898|1|9999025595|MR|Test|E|Lead 25595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025596|125596|989898|1|9999025596|MR|Test|E|Lead 25596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025597|125597|989898|1|9999025597|MR|Test|E|Lead 25597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025598|125598|989898|1|9999025598|MR|Test|E|Lead 25598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025599|125599|989898|1|9999025599|MR|Test|E|Lead 25599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025600|125600|989898|1|9999025600|MR|Test|E|Lead 25600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025601|125601|989898|1|9999025601|MR|Test|E|Lead 25601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025602|125602|989898|1|9999025602|MR|Test|E|Lead 25602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025603|125603|989898|1|9999025603|MR|Test|E|Lead 25603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025604|125604|989898|1|9999025604|MR|Test|E|Lead 25604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025605|125605|989898|1|9999025605|MR|Test|E|Lead 25605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025606|125606|989898|1|9999025606|MR|Test|E|Lead 25606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025607|125607|989898|1|9999025607|MR|Test|E|Lead 25607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025608|125608|989898|1|9999025608|MR|Test|E|Lead 25608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025609|125609|989898|1|9999025609|MR|Test|E|Lead 25609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025610|125610|989898|1|9999025610|MR|Test|E|Lead 25610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025611|125611|989898|1|9999025611|MR|Test|E|Lead 25611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025612|125612|989898|1|9999025612|MR|Test|E|Lead 25612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025613|125613|989898|1|9999025613|MR|Test|E|Lead 25613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025614|125614|989898|1|9999025614|MR|Test|E|Lead 25614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025615|125615|989898|1|9999025615|MR|Test|E|Lead 25615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025616|125616|989898|1|9999025616|MR|Test|E|Lead 25616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025617|125617|989898|1|9999025617|MR|Test|E|Lead 25617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025618|125618|989898|1|9999025618|MR|Test|E|Lead 25618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025619|125619|989898|1|9999025619|MR|Test|E|Lead 25619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025620|125620|989898|1|9999025620|MR|Test|E|Lead 25620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025621|125621|989898|1|9999025621|MR|Test|E|Lead 25621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025622|125622|989898|1|9999025622|MR|Test|E|Lead 25622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025623|125623|989898|1|9999025623|MR|Test|E|Lead 25623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025624|125624|989898|1|9999025624|MR|Test|E|Lead 25624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025625|125625|989898|1|9999025625|MR|Test|E|Lead 25625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025626|125626|989898|1|9999025626|MR|Test|E|Lead 25626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025627|125627|989898|1|9999025627|MR|Test|E|Lead 25627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025628|125628|989898|1|9999025628|MR|Test|E|Lead 25628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025629|125629|989898|1|9999025629|MR|Test|E|Lead 25629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025630|125630|989898|1|9999025630|MR|Test|E|Lead 25630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025631|125631|989898|1|9999025631|MR|Test|E|Lead 25631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025632|125632|989898|1|9999025632|MR|Test|E|Lead 25632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025633|125633|989898|1|9999025633|MR|Test|E|Lead 25633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025634|125634|989898|1|9999025634|MR|Test|E|Lead 25634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025635|125635|989898|1|9999025635|MR|Test|E|Lead 25635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025636|125636|989898|1|9999025636|MR|Test|E|Lead 25636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025637|125637|989898|1|9999025637|MR|Test|E|Lead 25637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025638|125638|989898|1|9999025638|MR|Test|E|Lead 25638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025639|125639|989898|1|9999025639|MR|Test|E|Lead 25639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025640|125640|989898|1|9999025640|MR|Test|E|Lead 25640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025641|125641|989898|1|9999025641|MR|Test|E|Lead 25641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025642|125642|989898|1|9999025642|MR|Test|E|Lead 25642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025643|125643|989898|1|9999025643|MR|Test|E|Lead 25643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025644|125644|989898|1|9999025644|MR|Test|E|Lead 25644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025645|125645|989898|1|9999025645|MR|Test|E|Lead 25645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025646|125646|989898|1|9999025646|MR|Test|E|Lead 25646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025647|125647|989898|1|9999025647|MR|Test|E|Lead 25647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025648|125648|989898|1|9999025648|MR|Test|E|Lead 25648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025649|125649|989898|1|9999025649|MR|Test|E|Lead 25649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025650|125650|989898|1|9999025650|MR|Test|E|Lead 25650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025651|125651|989898|1|9999025651|MR|Test|E|Lead 25651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025652|125652|989898|1|9999025652|MR|Test|E|Lead 25652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025653|125653|989898|1|9999025653|MR|Test|E|Lead 25653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025654|125654|989898|1|9999025654|MR|Test|E|Lead 25654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025655|125655|989898|1|9999025655|MR|Test|E|Lead 25655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025656|125656|989898|1|9999025656|MR|Test|E|Lead 25656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025657|125657|989898|1|9999025657|MR|Test|E|Lead 25657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025658|125658|989898|1|9999025658|MR|Test|E|Lead 25658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025659|125659|989898|1|9999025659|MR|Test|E|Lead 25659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025660|125660|989898|1|9999025660|MR|Test|E|Lead 25660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025661|125661|989898|1|9999025661|MR|Test|E|Lead 25661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025662|125662|989898|1|9999025662|MR|Test|E|Lead 25662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025663|125663|989898|1|9999025663|MR|Test|E|Lead 25663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025664|125664|989898|1|9999025664|MR|Test|E|Lead 25664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025665|125665|989898|1|9999025665|MR|Test|E|Lead 25665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025666|125666|989898|1|9999025666|MR|Test|E|Lead 25666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025667|125667|989898|1|9999025667|MR|Test|E|Lead 25667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025668|125668|989898|1|9999025668|MR|Test|E|Lead 25668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025669|125669|989898|1|9999025669|MR|Test|E|Lead 25669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025670|125670|989898|1|9999025670|MR|Test|E|Lead 25670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025671|125671|989898|1|9999025671|MR|Test|E|Lead 25671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025672|125672|989898|1|9999025672|MR|Test|E|Lead 25672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025673|125673|989898|1|9999025673|MR|Test|E|Lead 25673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025674|125674|989898|1|9999025674|MR|Test|E|Lead 25674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025675|125675|989898|1|9999025675|MR|Test|E|Lead 25675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025676|125676|989898|1|9999025676|MR|Test|E|Lead 25676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025677|125677|989898|1|9999025677|MR|Test|E|Lead 25677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025678|125678|989898|1|9999025678|MR|Test|E|Lead 25678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025679|125679|989898|1|9999025679|MR|Test|E|Lead 25679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025680|125680|989898|1|9999025680|MR|Test|E|Lead 25680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025681|125681|989898|1|9999025681|MR|Test|E|Lead 25681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025682|125682|989898|1|9999025682|MR|Test|E|Lead 25682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025683|125683|989898|1|9999025683|MR|Test|E|Lead 25683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025684|125684|989898|1|9999025684|MR|Test|E|Lead 25684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025685|125685|989898|1|9999025685|MR|Test|E|Lead 25685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025686|125686|989898|1|9999025686|MR|Test|E|Lead 25686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025687|125687|989898|1|9999025687|MR|Test|E|Lead 25687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025688|125688|989898|1|9999025688|MR|Test|E|Lead 25688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025689|125689|989898|1|9999025689|MR|Test|E|Lead 25689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025690|125690|989898|1|9999025690|MR|Test|E|Lead 25690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025691|125691|989898|1|9999025691|MR|Test|E|Lead 25691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025692|125692|989898|1|9999025692|MR|Test|E|Lead 25692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025693|125693|989898|1|9999025693|MR|Test|E|Lead 25693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025694|125694|989898|1|9999025694|MR|Test|E|Lead 25694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025695|125695|989898|1|9999025695|MR|Test|E|Lead 25695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025696|125696|989898|1|9999025696|MR|Test|E|Lead 25696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025697|125697|989898|1|9999025697|MR|Test|E|Lead 25697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025698|125698|989898|1|9999025698|MR|Test|E|Lead 25698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025699|125699|989898|1|9999025699|MR|Test|E|Lead 25699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025700|125700|989898|1|9999025700|MR|Test|E|Lead 25700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025701|125701|989898|1|9999025701|MR|Test|E|Lead 25701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025702|125702|989898|1|9999025702|MR|Test|E|Lead 25702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025703|125703|989898|1|9999025703|MR|Test|E|Lead 25703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025704|125704|989898|1|9999025704|MR|Test|E|Lead 25704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025705|125705|989898|1|9999025705|MR|Test|E|Lead 25705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025706|125706|989898|1|9999025706|MR|Test|E|Lead 25706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025707|125707|989898|1|9999025707|MR|Test|E|Lead 25707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025708|125708|989898|1|9999025708|MR|Test|E|Lead 25708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025709|125709|989898|1|9999025709|MR|Test|E|Lead 25709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025710|125710|989898|1|9999025710|MR|Test|E|Lead 25710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025711|125711|989898|1|9999025711|MR|Test|E|Lead 25711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025712|125712|989898|1|9999025712|MR|Test|E|Lead 25712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025713|125713|989898|1|9999025713|MR|Test|E|Lead 25713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025714|125714|989898|1|9999025714|MR|Test|E|Lead 25714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025715|125715|989898|1|9999025715|MR|Test|E|Lead 25715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025716|125716|989898|1|9999025716|MR|Test|E|Lead 25716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025717|125717|989898|1|9999025717|MR|Test|E|Lead 25717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025718|125718|989898|1|9999025718|MR|Test|E|Lead 25718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025719|125719|989898|1|9999025719|MR|Test|E|Lead 25719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025720|125720|989898|1|9999025720|MR|Test|E|Lead 25720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025721|125721|989898|1|9999025721|MR|Test|E|Lead 25721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025722|125722|989898|1|9999025722|MR|Test|E|Lead 25722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025723|125723|989898|1|9999025723|MR|Test|E|Lead 25723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025724|125724|989898|1|9999025724|MR|Test|E|Lead 25724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025725|125725|989898|1|9999025725|MR|Test|E|Lead 25725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025726|125726|989898|1|9999025726|MR|Test|E|Lead 25726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025727|125727|989898|1|9999025727|MR|Test|E|Lead 25727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025728|125728|989898|1|9999025728|MR|Test|E|Lead 25728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025729|125729|989898|1|9999025729|MR|Test|E|Lead 25729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025730|125730|989898|1|9999025730|MR|Test|E|Lead 25730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025731|125731|989898|1|9999025731|MR|Test|E|Lead 25731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025732|125732|989898|1|9999025732|MR|Test|E|Lead 25732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025733|125733|989898|1|9999025733|MR|Test|E|Lead 25733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025734|125734|989898|1|9999025734|MR|Test|E|Lead 25734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025735|125735|989898|1|9999025735|MR|Test|E|Lead 25735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025736|125736|989898|1|9999025736|MR|Test|E|Lead 25736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025737|125737|989898|1|9999025737|MR|Test|E|Lead 25737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025738|125738|989898|1|9999025738|MR|Test|E|Lead 25738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025739|125739|989898|1|9999025739|MR|Test|E|Lead 25739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025740|125740|989898|1|9999025740|MR|Test|E|Lead 25740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025741|125741|989898|1|9999025741|MR|Test|E|Lead 25741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025742|125742|989898|1|9999025742|MR|Test|E|Lead 25742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025743|125743|989898|1|9999025743|MR|Test|E|Lead 25743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025744|125744|989898|1|9999025744|MR|Test|E|Lead 25744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025745|125745|989898|1|9999025745|MR|Test|E|Lead 25745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025746|125746|989898|1|9999025746|MR|Test|E|Lead 25746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025747|125747|989898|1|9999025747|MR|Test|E|Lead 25747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025748|125748|989898|1|9999025748|MR|Test|E|Lead 25748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025749|125749|989898|1|9999025749|MR|Test|E|Lead 25749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025750|125750|989898|1|9999025750|MR|Test|E|Lead 25750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025751|125751|989898|1|9999025751|MR|Test|E|Lead 25751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025752|125752|989898|1|9999025752|MR|Test|E|Lead 25752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025753|125753|989898|1|9999025753|MR|Test|E|Lead 25753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025754|125754|989898|1|9999025754|MR|Test|E|Lead 25754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025755|125755|989898|1|9999025755|MR|Test|E|Lead 25755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025756|125756|989898|1|9999025756|MR|Test|E|Lead 25756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025757|125757|989898|1|9999025757|MR|Test|E|Lead 25757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025758|125758|989898|1|9999025758|MR|Test|E|Lead 25758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025759|125759|989898|1|9999025759|MR|Test|E|Lead 25759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025760|125760|989898|1|9999025760|MR|Test|E|Lead 25760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025761|125761|989898|1|9999025761|MR|Test|E|Lead 25761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025762|125762|989898|1|9999025762|MR|Test|E|Lead 25762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025763|125763|989898|1|9999025763|MR|Test|E|Lead 25763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025764|125764|989898|1|9999025764|MR|Test|E|Lead 25764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025765|125765|989898|1|9999025765|MR|Test|E|Lead 25765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025766|125766|989898|1|9999025766|MR|Test|E|Lead 25766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025767|125767|989898|1|9999025767|MR|Test|E|Lead 25767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025768|125768|989898|1|9999025768|MR|Test|E|Lead 25768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025769|125769|989898|1|9999025769|MR|Test|E|Lead 25769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025770|125770|989898|1|9999025770|MR|Test|E|Lead 25770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025771|125771|989898|1|9999025771|MR|Test|E|Lead 25771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025772|125772|989898|1|9999025772|MR|Test|E|Lead 25772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025773|125773|989898|1|9999025773|MR|Test|E|Lead 25773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025774|125774|989898|1|9999025774|MR|Test|E|Lead 25774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025775|125775|989898|1|9999025775|MR|Test|E|Lead 25775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025776|125776|989898|1|9999025776|MR|Test|E|Lead 25776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025777|125777|989898|1|9999025777|MR|Test|E|Lead 25777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025778|125778|989898|1|9999025778|MR|Test|E|Lead 25778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025779|125779|989898|1|9999025779|MR|Test|E|Lead 25779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025780|125780|989898|1|9999025780|MR|Test|E|Lead 25780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025781|125781|989898|1|9999025781|MR|Test|E|Lead 25781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025782|125782|989898|1|9999025782|MR|Test|E|Lead 25782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025783|125783|989898|1|9999025783|MR|Test|E|Lead 25783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025784|125784|989898|1|9999025784|MR|Test|E|Lead 25784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025785|125785|989898|1|9999025785|MR|Test|E|Lead 25785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025786|125786|989898|1|9999025786|MR|Test|E|Lead 25786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025787|125787|989898|1|9999025787|MR|Test|E|Lead 25787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025788|125788|989898|1|9999025788|MR|Test|E|Lead 25788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025789|125789|989898|1|9999025789|MR|Test|E|Lead 25789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025790|125790|989898|1|9999025790|MR|Test|E|Lead 25790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025791|125791|989898|1|9999025791|MR|Test|E|Lead 25791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025792|125792|989898|1|9999025792|MR|Test|E|Lead 25792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025793|125793|989898|1|9999025793|MR|Test|E|Lead 25793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025794|125794|989898|1|9999025794|MR|Test|E|Lead 25794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025795|125795|989898|1|9999025795|MR|Test|E|Lead 25795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025796|125796|989898|1|9999025796|MR|Test|E|Lead 25796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025797|125797|989898|1|9999025797|MR|Test|E|Lead 25797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025798|125798|989898|1|9999025798|MR|Test|E|Lead 25798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025799|125799|989898|1|9999025799|MR|Test|E|Lead 25799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025800|125800|989898|1|9999025800|MR|Test|E|Lead 25800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025801|125801|989898|1|9999025801|MR|Test|E|Lead 25801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025802|125802|989898|1|9999025802|MR|Test|E|Lead 25802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025803|125803|989898|1|9999025803|MR|Test|E|Lead 25803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025804|125804|989898|1|9999025804|MR|Test|E|Lead 25804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025805|125805|989898|1|9999025805|MR|Test|E|Lead 25805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025806|125806|989898|1|9999025806|MR|Test|E|Lead 25806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025807|125807|989898|1|9999025807|MR|Test|E|Lead 25807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025808|125808|989898|1|9999025808|MR|Test|E|Lead 25808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025809|125809|989898|1|9999025809|MR|Test|E|Lead 25809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025810|125810|989898|1|9999025810|MR|Test|E|Lead 25810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025811|125811|989898|1|9999025811|MR|Test|E|Lead 25811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025812|125812|989898|1|9999025812|MR|Test|E|Lead 25812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025813|125813|989898|1|9999025813|MR|Test|E|Lead 25813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025814|125814|989898|1|9999025814|MR|Test|E|Lead 25814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025815|125815|989898|1|9999025815|MR|Test|E|Lead 25815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025816|125816|989898|1|9999025816|MR|Test|E|Lead 25816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025817|125817|989898|1|9999025817|MR|Test|E|Lead 25817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025818|125818|989898|1|9999025818|MR|Test|E|Lead 25818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025819|125819|989898|1|9999025819|MR|Test|E|Lead 25819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025820|125820|989898|1|9999025820|MR|Test|E|Lead 25820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025821|125821|989898|1|9999025821|MR|Test|E|Lead 25821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025822|125822|989898|1|9999025822|MR|Test|E|Lead 25822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025823|125823|989898|1|9999025823|MR|Test|E|Lead 25823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025824|125824|989898|1|9999025824|MR|Test|E|Lead 25824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025825|125825|989898|1|9999025825|MR|Test|E|Lead 25825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025826|125826|989898|1|9999025826|MR|Test|E|Lead 25826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025827|125827|989898|1|9999025827|MR|Test|E|Lead 25827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025828|125828|989898|1|9999025828|MR|Test|E|Lead 25828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025829|125829|989898|1|9999025829|MR|Test|E|Lead 25829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025830|125830|989898|1|9999025830|MR|Test|E|Lead 25830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025831|125831|989898|1|9999025831|MR|Test|E|Lead 25831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025832|125832|989898|1|9999025832|MR|Test|E|Lead 25832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025833|125833|989898|1|9999025833|MR|Test|E|Lead 25833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025834|125834|989898|1|9999025834|MR|Test|E|Lead 25834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025835|125835|989898|1|9999025835|MR|Test|E|Lead 25835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025836|125836|989898|1|9999025836|MR|Test|E|Lead 25836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025837|125837|989898|1|9999025837|MR|Test|E|Lead 25837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025838|125838|989898|1|9999025838|MR|Test|E|Lead 25838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025839|125839|989898|1|9999025839|MR|Test|E|Lead 25839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025840|125840|989898|1|9999025840|MR|Test|E|Lead 25840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025841|125841|989898|1|9999025841|MR|Test|E|Lead 25841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025842|125842|989898|1|9999025842|MR|Test|E|Lead 25842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025843|125843|989898|1|9999025843|MR|Test|E|Lead 25843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025844|125844|989898|1|9999025844|MR|Test|E|Lead 25844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025845|125845|989898|1|9999025845|MR|Test|E|Lead 25845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025846|125846|989898|1|9999025846|MR|Test|E|Lead 25846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025847|125847|989898|1|9999025847|MR|Test|E|Lead 25847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025848|125848|989898|1|9999025848|MR|Test|E|Lead 25848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025849|125849|989898|1|9999025849|MR|Test|E|Lead 25849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025850|125850|989898|1|9999025850|MR|Test|E|Lead 25850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025851|125851|989898|1|9999025851|MR|Test|E|Lead 25851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025852|125852|989898|1|9999025852|MR|Test|E|Lead 25852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025853|125853|989898|1|9999025853|MR|Test|E|Lead 25853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025854|125854|989898|1|9999025854|MR|Test|E|Lead 25854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025855|125855|989898|1|9999025855|MR|Test|E|Lead 25855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025856|125856|989898|1|9999025856|MR|Test|E|Lead 25856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025857|125857|989898|1|9999025857|MR|Test|E|Lead 25857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025858|125858|989898|1|9999025858|MR|Test|E|Lead 25858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025859|125859|989898|1|9999025859|MR|Test|E|Lead 25859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025860|125860|989898|1|9999025860|MR|Test|E|Lead 25860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025861|125861|989898|1|9999025861|MR|Test|E|Lead 25861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025862|125862|989898|1|9999025862|MR|Test|E|Lead 25862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025863|125863|989898|1|9999025863|MR|Test|E|Lead 25863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025864|125864|989898|1|9999025864|MR|Test|E|Lead 25864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025865|125865|989898|1|9999025865|MR|Test|E|Lead 25865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025866|125866|989898|1|9999025866|MR|Test|E|Lead 25866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025867|125867|989898|1|9999025867|MR|Test|E|Lead 25867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025868|125868|989898|1|9999025868|MR|Test|E|Lead 25868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025869|125869|989898|1|9999025869|MR|Test|E|Lead 25869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025870|125870|989898|1|9999025870|MR|Test|E|Lead 25870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025871|125871|989898|1|9999025871|MR|Test|E|Lead 25871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025872|125872|989898|1|9999025872|MR|Test|E|Lead 25872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025873|125873|989898|1|9999025873|MR|Test|E|Lead 25873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025874|125874|989898|1|9999025874|MR|Test|E|Lead 25874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025875|125875|989898|1|9999025875|MR|Test|E|Lead 25875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025876|125876|989898|1|9999025876|MR|Test|E|Lead 25876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025877|125877|989898|1|9999025877|MR|Test|E|Lead 25877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025878|125878|989898|1|9999025878|MR|Test|E|Lead 25878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025879|125879|989898|1|9999025879|MR|Test|E|Lead 25879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025880|125880|989898|1|9999025880|MR|Test|E|Lead 25880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025881|125881|989898|1|9999025881|MR|Test|E|Lead 25881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025882|125882|989898|1|9999025882|MR|Test|E|Lead 25882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025883|125883|989898|1|9999025883|MR|Test|E|Lead 25883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025884|125884|989898|1|9999025884|MR|Test|E|Lead 25884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025885|125885|989898|1|9999025885|MR|Test|E|Lead 25885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025886|125886|989898|1|9999025886|MR|Test|E|Lead 25886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025887|125887|989898|1|9999025887|MR|Test|E|Lead 25887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025888|125888|989898|1|9999025888|MR|Test|E|Lead 25888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025889|125889|989898|1|9999025889|MR|Test|E|Lead 25889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025890|125890|989898|1|9999025890|MR|Test|E|Lead 25890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025891|125891|989898|1|9999025891|MR|Test|E|Lead 25891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025892|125892|989898|1|9999025892|MR|Test|E|Lead 25892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025893|125893|989898|1|9999025893|MR|Test|E|Lead 25893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025894|125894|989898|1|9999025894|MR|Test|E|Lead 25894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025895|125895|989898|1|9999025895|MR|Test|E|Lead 25895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025896|125896|989898|1|9999025896|MR|Test|E|Lead 25896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025897|125897|989898|1|9999025897|MR|Test|E|Lead 25897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025898|125898|989898|1|9999025898|MR|Test|E|Lead 25898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025899|125899|989898|1|9999025899|MR|Test|E|Lead 25899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025900|125900|989898|1|9999025900|MR|Test|E|Lead 25900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025901|125901|989898|1|9999025901|MR|Test|E|Lead 25901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025902|125902|989898|1|9999025902|MR|Test|E|Lead 25902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025903|125903|989898|1|9999025903|MR|Test|E|Lead 25903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025904|125904|989898|1|9999025904|MR|Test|E|Lead 25904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025905|125905|989898|1|9999025905|MR|Test|E|Lead 25905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025906|125906|989898|1|9999025906|MR|Test|E|Lead 25906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025907|125907|989898|1|9999025907|MR|Test|E|Lead 25907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025908|125908|989898|1|9999025908|MR|Test|E|Lead 25908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025909|125909|989898|1|9999025909|MR|Test|E|Lead 25909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025910|125910|989898|1|9999025910|MR|Test|E|Lead 25910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025911|125911|989898|1|9999025911|MR|Test|E|Lead 25911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025912|125912|989898|1|9999025912|MR|Test|E|Lead 25912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025913|125913|989898|1|9999025913|MR|Test|E|Lead 25913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025914|125914|989898|1|9999025914|MR|Test|E|Lead 25914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025915|125915|989898|1|9999025915|MR|Test|E|Lead 25915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025916|125916|989898|1|9999025916|MR|Test|E|Lead 25916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025917|125917|989898|1|9999025917|MR|Test|E|Lead 25917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025918|125918|989898|1|9999025918|MR|Test|E|Lead 25918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025919|125919|989898|1|9999025919|MR|Test|E|Lead 25919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025920|125920|989898|1|9999025920|MR|Test|E|Lead 25920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025921|125921|989898|1|9999025921|MR|Test|E|Lead 25921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025922|125922|989898|1|9999025922|MR|Test|E|Lead 25922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025923|125923|989898|1|9999025923|MR|Test|E|Lead 25923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025924|125924|989898|1|9999025924|MR|Test|E|Lead 25924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025925|125925|989898|1|9999025925|MR|Test|E|Lead 25925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025926|125926|989898|1|9999025926|MR|Test|E|Lead 25926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025927|125927|989898|1|9999025927|MR|Test|E|Lead 25927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025928|125928|989898|1|9999025928|MR|Test|E|Lead 25928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025929|125929|989898|1|9999025929|MR|Test|E|Lead 25929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025930|125930|989898|1|9999025930|MR|Test|E|Lead 25930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025931|125931|989898|1|9999025931|MR|Test|E|Lead 25931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025932|125932|989898|1|9999025932|MR|Test|E|Lead 25932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025933|125933|989898|1|9999025933|MR|Test|E|Lead 25933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025934|125934|989898|1|9999025934|MR|Test|E|Lead 25934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025935|125935|989898|1|9999025935|MR|Test|E|Lead 25935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025936|125936|989898|1|9999025936|MR|Test|E|Lead 25936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025937|125937|989898|1|9999025937|MR|Test|E|Lead 25937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025938|125938|989898|1|9999025938|MR|Test|E|Lead 25938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025939|125939|989898|1|9999025939|MR|Test|E|Lead 25939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025940|125940|989898|1|9999025940|MR|Test|E|Lead 25940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025941|125941|989898|1|9999025941|MR|Test|E|Lead 25941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025942|125942|989898|1|9999025942|MR|Test|E|Lead 25942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025943|125943|989898|1|9999025943|MR|Test|E|Lead 25943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025944|125944|989898|1|9999025944|MR|Test|E|Lead 25944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025945|125945|989898|1|9999025945|MR|Test|E|Lead 25945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025946|125946|989898|1|9999025946|MR|Test|E|Lead 25946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025947|125947|989898|1|9999025947|MR|Test|E|Lead 25947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025948|125948|989898|1|9999025948|MR|Test|E|Lead 25948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025949|125949|989898|1|9999025949|MR|Test|E|Lead 25949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025950|125950|989898|1|9999025950|MR|Test|E|Lead 25950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025951|125951|989898|1|9999025951|MR|Test|E|Lead 25951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025952|125952|989898|1|9999025952|MR|Test|E|Lead 25952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025953|125953|989898|1|9999025953|MR|Test|E|Lead 25953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025954|125954|989898|1|9999025954|MR|Test|E|Lead 25954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025955|125955|989898|1|9999025955|MR|Test|E|Lead 25955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025956|125956|989898|1|9999025956|MR|Test|E|Lead 25956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025957|125957|989898|1|9999025957|MR|Test|E|Lead 25957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025958|125958|989898|1|9999025958|MR|Test|E|Lead 25958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025959|125959|989898|1|9999025959|MR|Test|E|Lead 25959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025960|125960|989898|1|9999025960|MR|Test|E|Lead 25960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025961|125961|989898|1|9999025961|MR|Test|E|Lead 25961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025962|125962|989898|1|9999025962|MR|Test|E|Lead 25962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025963|125963|989898|1|9999025963|MR|Test|E|Lead 25963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025964|125964|989898|1|9999025964|MR|Test|E|Lead 25964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025965|125965|989898|1|9999025965|MR|Test|E|Lead 25965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025966|125966|989898|1|9999025966|MR|Test|E|Lead 25966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025967|125967|989898|1|9999025967|MR|Test|E|Lead 25967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025968|125968|989898|1|9999025968|MR|Test|E|Lead 25968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025969|125969|989898|1|9999025969|MR|Test|E|Lead 25969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025970|125970|989898|1|9999025970|MR|Test|E|Lead 25970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025971|125971|989898|1|9999025971|MR|Test|E|Lead 25971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025972|125972|989898|1|9999025972|MR|Test|E|Lead 25972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025973|125973|989898|1|9999025973|MR|Test|E|Lead 25973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025974|125974|989898|1|9999025974|MR|Test|E|Lead 25974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025975|125975|989898|1|9999025975|MR|Test|E|Lead 25975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025976|125976|989898|1|9999025976|MR|Test|E|Lead 25976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025977|125977|989898|1|9999025977|MR|Test|E|Lead 25977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025978|125978|989898|1|9999025978|MR|Test|E|Lead 25978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025979|125979|989898|1|9999025979|MR|Test|E|Lead 25979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025980|125980|989898|1|9999025980|MR|Test|E|Lead 25980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025981|125981|989898|1|9999025981|MR|Test|E|Lead 25981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025982|125982|989898|1|9999025982|MR|Test|E|Lead 25982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025983|125983|989898|1|9999025983|MR|Test|E|Lead 25983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025984|125984|989898|1|9999025984|MR|Test|E|Lead 25984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025985|125985|989898|1|9999025985|MR|Test|E|Lead 25985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025986|125986|989898|1|9999025986|MR|Test|E|Lead 25986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025987|125987|989898|1|9999025987|MR|Test|E|Lead 25987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025988|125988|989898|1|9999025988|MR|Test|E|Lead 25988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025989|125989|989898|1|9999025989|MR|Test|E|Lead 25989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025990|125990|989898|1|9999025990|MR|Test|E|Lead 25990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025991|125991|989898|1|9999025991|MR|Test|E|Lead 25991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025992|125992|989898|1|9999025992|MR|Test|E|Lead 25992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025993|125993|989898|1|9999025993|MR|Test|E|Lead 25993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025994|125994|989898|1|9999025994|MR|Test|E|Lead 25994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025995|125995|989898|1|9999025995|MR|Test|E|Lead 25995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025996|125996|989898|1|9999025996|MR|Test|E|Lead 25996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025997|125997|989898|1|9999025997|MR|Test|E|Lead 25997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025998|125998|989898|1|9999025998|MR|Test|E|Lead 25998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1025999|125999|989898|1|9999025999|MR|Test|E|Lead 25999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026000|126000|989898|1|9999026000|MR|Test|E|Lead 26000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026001|126001|989898|1|9999026001|MR|Test|E|Lead 26001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026002|126002|989898|1|9999026002|MR|Test|E|Lead 26002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026003|126003|989898|1|9999026003|MR|Test|E|Lead 26003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026004|126004|989898|1|9999026004|MR|Test|E|Lead 26004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026005|126005|989898|1|9999026005|MR|Test|E|Lead 26005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026006|126006|989898|1|9999026006|MR|Test|E|Lead 26006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026007|126007|989898|1|9999026007|MR|Test|E|Lead 26007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026008|126008|989898|1|9999026008|MR|Test|E|Lead 26008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026009|126009|989898|1|9999026009|MR|Test|E|Lead 26009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026010|126010|989898|1|9999026010|MR|Test|E|Lead 26010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026011|126011|989898|1|9999026011|MR|Test|E|Lead 26011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026012|126012|989898|1|9999026012|MR|Test|E|Lead 26012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026013|126013|989898|1|9999026013|MR|Test|E|Lead 26013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026014|126014|989898|1|9999026014|MR|Test|E|Lead 26014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026015|126015|989898|1|9999026015|MR|Test|E|Lead 26015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026016|126016|989898|1|9999026016|MR|Test|E|Lead 26016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026017|126017|989898|1|9999026017|MR|Test|E|Lead 26017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026018|126018|989898|1|9999026018|MR|Test|E|Lead 26018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026019|126019|989898|1|9999026019|MR|Test|E|Lead 26019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026020|126020|989898|1|9999026020|MR|Test|E|Lead 26020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026021|126021|989898|1|9999026021|MR|Test|E|Lead 26021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026022|126022|989898|1|9999026022|MR|Test|E|Lead 26022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026023|126023|989898|1|9999026023|MR|Test|E|Lead 26023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026024|126024|989898|1|9999026024|MR|Test|E|Lead 26024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026025|126025|989898|1|9999026025|MR|Test|E|Lead 26025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026026|126026|989898|1|9999026026|MR|Test|E|Lead 26026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026027|126027|989898|1|9999026027|MR|Test|E|Lead 26027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026028|126028|989898|1|9999026028|MR|Test|E|Lead 26028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026029|126029|989898|1|9999026029|MR|Test|E|Lead 26029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026030|126030|989898|1|9999026030|MR|Test|E|Lead 26030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026031|126031|989898|1|9999026031|MR|Test|E|Lead 26031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026032|126032|989898|1|9999026032|MR|Test|E|Lead 26032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026033|126033|989898|1|9999026033|MR|Test|E|Lead 26033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026034|126034|989898|1|9999026034|MR|Test|E|Lead 26034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026035|126035|989898|1|9999026035|MR|Test|E|Lead 26035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026036|126036|989898|1|9999026036|MR|Test|E|Lead 26036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026037|126037|989898|1|9999026037|MR|Test|E|Lead 26037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026038|126038|989898|1|9999026038|MR|Test|E|Lead 26038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026039|126039|989898|1|9999026039|MR|Test|E|Lead 26039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026040|126040|989898|1|9999026040|MR|Test|E|Lead 26040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026041|126041|989898|1|9999026041|MR|Test|E|Lead 26041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026042|126042|989898|1|9999026042|MR|Test|E|Lead 26042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026043|126043|989898|1|9999026043|MR|Test|E|Lead 26043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026044|126044|989898|1|9999026044|MR|Test|E|Lead 26044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026045|126045|989898|1|9999026045|MR|Test|E|Lead 26045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026046|126046|989898|1|9999026046|MR|Test|E|Lead 26046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026047|126047|989898|1|9999026047|MR|Test|E|Lead 26047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026048|126048|989898|1|9999026048|MR|Test|E|Lead 26048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026049|126049|989898|1|9999026049|MR|Test|E|Lead 26049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026050|126050|989898|1|9999026050|MR|Test|E|Lead 26050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026051|126051|989898|1|9999026051|MR|Test|E|Lead 26051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026052|126052|989898|1|9999026052|MR|Test|E|Lead 26052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026053|126053|989898|1|9999026053|MR|Test|E|Lead 26053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026054|126054|989898|1|9999026054|MR|Test|E|Lead 26054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026055|126055|989898|1|9999026055|MR|Test|E|Lead 26055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026056|126056|989898|1|9999026056|MR|Test|E|Lead 26056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026057|126057|989898|1|9999026057|MR|Test|E|Lead 26057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026058|126058|989898|1|9999026058|MR|Test|E|Lead 26058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026059|126059|989898|1|9999026059|MR|Test|E|Lead 26059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026060|126060|989898|1|9999026060|MR|Test|E|Lead 26060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026061|126061|989898|1|9999026061|MR|Test|E|Lead 26061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026062|126062|989898|1|9999026062|MR|Test|E|Lead 26062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026063|126063|989898|1|9999026063|MR|Test|E|Lead 26063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026064|126064|989898|1|9999026064|MR|Test|E|Lead 26064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026065|126065|989898|1|9999026065|MR|Test|E|Lead 26065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026066|126066|989898|1|9999026066|MR|Test|E|Lead 26066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026067|126067|989898|1|9999026067|MR|Test|E|Lead 26067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026068|126068|989898|1|9999026068|MR|Test|E|Lead 26068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026069|126069|989898|1|9999026069|MR|Test|E|Lead 26069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026070|126070|989898|1|9999026070|MR|Test|E|Lead 26070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026071|126071|989898|1|9999026071|MR|Test|E|Lead 26071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026072|126072|989898|1|9999026072|MR|Test|E|Lead 26072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026073|126073|989898|1|9999026073|MR|Test|E|Lead 26073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026074|126074|989898|1|9999026074|MR|Test|E|Lead 26074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026075|126075|989898|1|9999026075|MR|Test|E|Lead 26075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026076|126076|989898|1|9999026076|MR|Test|E|Lead 26076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026077|126077|989898|1|9999026077|MR|Test|E|Lead 26077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026078|126078|989898|1|9999026078|MR|Test|E|Lead 26078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026079|126079|989898|1|9999026079|MR|Test|E|Lead 26079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026080|126080|989898|1|9999026080|MR|Test|E|Lead 26080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026081|126081|989898|1|9999026081|MR|Test|E|Lead 26081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026082|126082|989898|1|9999026082|MR|Test|E|Lead 26082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026083|126083|989898|1|9999026083|MR|Test|E|Lead 26083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026084|126084|989898|1|9999026084|MR|Test|E|Lead 26084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026085|126085|989898|1|9999026085|MR|Test|E|Lead 26085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026086|126086|989898|1|9999026086|MR|Test|E|Lead 26086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026087|126087|989898|1|9999026087|MR|Test|E|Lead 26087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026088|126088|989898|1|9999026088|MR|Test|E|Lead 26088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026089|126089|989898|1|9999026089|MR|Test|E|Lead 26089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026090|126090|989898|1|9999026090|MR|Test|E|Lead 26090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026091|126091|989898|1|9999026091|MR|Test|E|Lead 26091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026092|126092|989898|1|9999026092|MR|Test|E|Lead 26092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026093|126093|989898|1|9999026093|MR|Test|E|Lead 26093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026094|126094|989898|1|9999026094|MR|Test|E|Lead 26094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026095|126095|989898|1|9999026095|MR|Test|E|Lead 26095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026096|126096|989898|1|9999026096|MR|Test|E|Lead 26096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026097|126097|989898|1|9999026097|MR|Test|E|Lead 26097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026098|126098|989898|1|9999026098|MR|Test|E|Lead 26098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026099|126099|989898|1|9999026099|MR|Test|E|Lead 26099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026100|126100|989898|1|9999026100|MR|Test|E|Lead 26100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026101|126101|989898|1|9999026101|MR|Test|E|Lead 26101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026102|126102|989898|1|9999026102|MR|Test|E|Lead 26102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026103|126103|989898|1|9999026103|MR|Test|E|Lead 26103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026104|126104|989898|1|9999026104|MR|Test|E|Lead 26104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026105|126105|989898|1|9999026105|MR|Test|E|Lead 26105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026106|126106|989898|1|9999026106|MR|Test|E|Lead 26106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026107|126107|989898|1|9999026107|MR|Test|E|Lead 26107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026108|126108|989898|1|9999026108|MR|Test|E|Lead 26108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026109|126109|989898|1|9999026109|MR|Test|E|Lead 26109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026110|126110|989898|1|9999026110|MR|Test|E|Lead 26110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026111|126111|989898|1|9999026111|MR|Test|E|Lead 26111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026112|126112|989898|1|9999026112|MR|Test|E|Lead 26112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026113|126113|989898|1|9999026113|MR|Test|E|Lead 26113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026114|126114|989898|1|9999026114|MR|Test|E|Lead 26114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026115|126115|989898|1|9999026115|MR|Test|E|Lead 26115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026116|126116|989898|1|9999026116|MR|Test|E|Lead 26116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026117|126117|989898|1|9999026117|MR|Test|E|Lead 26117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026118|126118|989898|1|9999026118|MR|Test|E|Lead 26118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026119|126119|989898|1|9999026119|MR|Test|E|Lead 26119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026120|126120|989898|1|9999026120|MR|Test|E|Lead 26120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026121|126121|989898|1|9999026121|MR|Test|E|Lead 26121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026122|126122|989898|1|9999026122|MR|Test|E|Lead 26122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026123|126123|989898|1|9999026123|MR|Test|E|Lead 26123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026124|126124|989898|1|9999026124|MR|Test|E|Lead 26124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026125|126125|989898|1|9999026125|MR|Test|E|Lead 26125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026126|126126|989898|1|9999026126|MR|Test|E|Lead 26126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026127|126127|989898|1|9999026127|MR|Test|E|Lead 26127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026128|126128|989898|1|9999026128|MR|Test|E|Lead 26128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026129|126129|989898|1|9999026129|MR|Test|E|Lead 26129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026130|126130|989898|1|9999026130|MR|Test|E|Lead 26130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026131|126131|989898|1|9999026131|MR|Test|E|Lead 26131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026132|126132|989898|1|9999026132|MR|Test|E|Lead 26132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026133|126133|989898|1|9999026133|MR|Test|E|Lead 26133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026134|126134|989898|1|9999026134|MR|Test|E|Lead 26134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026135|126135|989898|1|9999026135|MR|Test|E|Lead 26135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026136|126136|989898|1|9999026136|MR|Test|E|Lead 26136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026137|126137|989898|1|9999026137|MR|Test|E|Lead 26137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026138|126138|989898|1|9999026138|MR|Test|E|Lead 26138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026139|126139|989898|1|9999026139|MR|Test|E|Lead 26139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026140|126140|989898|1|9999026140|MR|Test|E|Lead 26140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026141|126141|989898|1|9999026141|MR|Test|E|Lead 26141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026142|126142|989898|1|9999026142|MR|Test|E|Lead 26142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026143|126143|989898|1|9999026143|MR|Test|E|Lead 26143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026144|126144|989898|1|9999026144|MR|Test|E|Lead 26144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026145|126145|989898|1|9999026145|MR|Test|E|Lead 26145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026146|126146|989898|1|9999026146|MR|Test|E|Lead 26146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026147|126147|989898|1|9999026147|MR|Test|E|Lead 26147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026148|126148|989898|1|9999026148|MR|Test|E|Lead 26148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026149|126149|989898|1|9999026149|MR|Test|E|Lead 26149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026150|126150|989898|1|9999026150|MR|Test|E|Lead 26150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026151|126151|989898|1|9999026151|MR|Test|E|Lead 26151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026152|126152|989898|1|9999026152|MR|Test|E|Lead 26152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026153|126153|989898|1|9999026153|MR|Test|E|Lead 26153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026154|126154|989898|1|9999026154|MR|Test|E|Lead 26154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026155|126155|989898|1|9999026155|MR|Test|E|Lead 26155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026156|126156|989898|1|9999026156|MR|Test|E|Lead 26156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026157|126157|989898|1|9999026157|MR|Test|E|Lead 26157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026158|126158|989898|1|9999026158|MR|Test|E|Lead 26158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026159|126159|989898|1|9999026159|MR|Test|E|Lead 26159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026160|126160|989898|1|9999026160|MR|Test|E|Lead 26160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026161|126161|989898|1|9999026161|MR|Test|E|Lead 26161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026162|126162|989898|1|9999026162|MR|Test|E|Lead 26162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026163|126163|989898|1|9999026163|MR|Test|E|Lead 26163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026164|126164|989898|1|9999026164|MR|Test|E|Lead 26164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026165|126165|989898|1|9999026165|MR|Test|E|Lead 26165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026166|126166|989898|1|9999026166|MR|Test|E|Lead 26166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026167|126167|989898|1|9999026167|MR|Test|E|Lead 26167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026168|126168|989898|1|9999026168|MR|Test|E|Lead 26168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026169|126169|989898|1|9999026169|MR|Test|E|Lead 26169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026170|126170|989898|1|9999026170|MR|Test|E|Lead 26170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026171|126171|989898|1|9999026171|MR|Test|E|Lead 26171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026172|126172|989898|1|9999026172|MR|Test|E|Lead 26172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026173|126173|989898|1|9999026173|MR|Test|E|Lead 26173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026174|126174|989898|1|9999026174|MR|Test|E|Lead 26174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026175|126175|989898|1|9999026175|MR|Test|E|Lead 26175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026176|126176|989898|1|9999026176|MR|Test|E|Lead 26176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026177|126177|989898|1|9999026177|MR|Test|E|Lead 26177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026178|126178|989898|1|9999026178|MR|Test|E|Lead 26178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026179|126179|989898|1|9999026179|MR|Test|E|Lead 26179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026180|126180|989898|1|9999026180|MR|Test|E|Lead 26180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026181|126181|989898|1|9999026181|MR|Test|E|Lead 26181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026182|126182|989898|1|9999026182|MR|Test|E|Lead 26182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026183|126183|989898|1|9999026183|MR|Test|E|Lead 26183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026184|126184|989898|1|9999026184|MR|Test|E|Lead 26184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026185|126185|989898|1|9999026185|MR|Test|E|Lead 26185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026186|126186|989898|1|9999026186|MR|Test|E|Lead 26186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026187|126187|989898|1|9999026187|MR|Test|E|Lead 26187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026188|126188|989898|1|9999026188|MR|Test|E|Lead 26188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026189|126189|989898|1|9999026189|MR|Test|E|Lead 26189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026190|126190|989898|1|9999026190|MR|Test|E|Lead 26190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026191|126191|989898|1|9999026191|MR|Test|E|Lead 26191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026192|126192|989898|1|9999026192|MR|Test|E|Lead 26192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026193|126193|989898|1|9999026193|MR|Test|E|Lead 26193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026194|126194|989898|1|9999026194|MR|Test|E|Lead 26194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026195|126195|989898|1|9999026195|MR|Test|E|Lead 26195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026196|126196|989898|1|9999026196|MR|Test|E|Lead 26196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026197|126197|989898|1|9999026197|MR|Test|E|Lead 26197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026198|126198|989898|1|9999026198|MR|Test|E|Lead 26198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026199|126199|989898|1|9999026199|MR|Test|E|Lead 26199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026200|126200|989898|1|9999026200|MR|Test|E|Lead 26200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026201|126201|989898|1|9999026201|MR|Test|E|Lead 26201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026202|126202|989898|1|9999026202|MR|Test|E|Lead 26202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026203|126203|989898|1|9999026203|MR|Test|E|Lead 26203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026204|126204|989898|1|9999026204|MR|Test|E|Lead 26204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026205|126205|989898|1|9999026205|MR|Test|E|Lead 26205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026206|126206|989898|1|9999026206|MR|Test|E|Lead 26206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026207|126207|989898|1|9999026207|MR|Test|E|Lead 26207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026208|126208|989898|1|9999026208|MR|Test|E|Lead 26208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026209|126209|989898|1|9999026209|MR|Test|E|Lead 26209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026210|126210|989898|1|9999026210|MR|Test|E|Lead 26210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026211|126211|989898|1|9999026211|MR|Test|E|Lead 26211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026212|126212|989898|1|9999026212|MR|Test|E|Lead 26212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026213|126213|989898|1|9999026213|MR|Test|E|Lead 26213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026214|126214|989898|1|9999026214|MR|Test|E|Lead 26214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026215|126215|989898|1|9999026215|MR|Test|E|Lead 26215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026216|126216|989898|1|9999026216|MR|Test|E|Lead 26216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026217|126217|989898|1|9999026217|MR|Test|E|Lead 26217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026218|126218|989898|1|9999026218|MR|Test|E|Lead 26218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026219|126219|989898|1|9999026219|MR|Test|E|Lead 26219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026220|126220|989898|1|9999026220|MR|Test|E|Lead 26220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026221|126221|989898|1|9999026221|MR|Test|E|Lead 26221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026222|126222|989898|1|9999026222|MR|Test|E|Lead 26222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026223|126223|989898|1|9999026223|MR|Test|E|Lead 26223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026224|126224|989898|1|9999026224|MR|Test|E|Lead 26224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026225|126225|989898|1|9999026225|MR|Test|E|Lead 26225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026226|126226|989898|1|9999026226|MR|Test|E|Lead 26226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026227|126227|989898|1|9999026227|MR|Test|E|Lead 26227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026228|126228|989898|1|9999026228|MR|Test|E|Lead 26228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026229|126229|989898|1|9999026229|MR|Test|E|Lead 26229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026230|126230|989898|1|9999026230|MR|Test|E|Lead 26230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026231|126231|989898|1|9999026231|MR|Test|E|Lead 26231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026232|126232|989898|1|9999026232|MR|Test|E|Lead 26232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026233|126233|989898|1|9999026233|MR|Test|E|Lead 26233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026234|126234|989898|1|9999026234|MR|Test|E|Lead 26234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026235|126235|989898|1|9999026235|MR|Test|E|Lead 26235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026236|126236|989898|1|9999026236|MR|Test|E|Lead 26236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026237|126237|989898|1|9999026237|MR|Test|E|Lead 26237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026238|126238|989898|1|9999026238|MR|Test|E|Lead 26238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026239|126239|989898|1|9999026239|MR|Test|E|Lead 26239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026240|126240|989898|1|9999026240|MR|Test|E|Lead 26240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026241|126241|989898|1|9999026241|MR|Test|E|Lead 26241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026242|126242|989898|1|9999026242|MR|Test|E|Lead 26242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026243|126243|989898|1|9999026243|MR|Test|E|Lead 26243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026244|126244|989898|1|9999026244|MR|Test|E|Lead 26244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026245|126245|989898|1|9999026245|MR|Test|E|Lead 26245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026246|126246|989898|1|9999026246|MR|Test|E|Lead 26246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026247|126247|989898|1|9999026247|MR|Test|E|Lead 26247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026248|126248|989898|1|9999026248|MR|Test|E|Lead 26248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026249|126249|989898|1|9999026249|MR|Test|E|Lead 26249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026250|126250|989898|1|9999026250|MR|Test|E|Lead 26250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026251|126251|989898|1|9999026251|MR|Test|E|Lead 26251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026252|126252|989898|1|9999026252|MR|Test|E|Lead 26252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026253|126253|989898|1|9999026253|MR|Test|E|Lead 26253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026254|126254|989898|1|9999026254|MR|Test|E|Lead 26254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026255|126255|989898|1|9999026255|MR|Test|E|Lead 26255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026256|126256|989898|1|9999026256|MR|Test|E|Lead 26256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026257|126257|989898|1|9999026257|MR|Test|E|Lead 26257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026258|126258|989898|1|9999026258|MR|Test|E|Lead 26258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026259|126259|989898|1|9999026259|MR|Test|E|Lead 26259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026260|126260|989898|1|9999026260|MR|Test|E|Lead 26260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026261|126261|989898|1|9999026261|MR|Test|E|Lead 26261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026262|126262|989898|1|9999026262|MR|Test|E|Lead 26262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026263|126263|989898|1|9999026263|MR|Test|E|Lead 26263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026264|126264|989898|1|9999026264|MR|Test|E|Lead 26264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026265|126265|989898|1|9999026265|MR|Test|E|Lead 26265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026266|126266|989898|1|9999026266|MR|Test|E|Lead 26266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026267|126267|989898|1|9999026267|MR|Test|E|Lead 26267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026268|126268|989898|1|9999026268|MR|Test|E|Lead 26268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026269|126269|989898|1|9999026269|MR|Test|E|Lead 26269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026270|126270|989898|1|9999026270|MR|Test|E|Lead 26270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026271|126271|989898|1|9999026271|MR|Test|E|Lead 26271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026272|126272|989898|1|9999026272|MR|Test|E|Lead 26272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026273|126273|989898|1|9999026273|MR|Test|E|Lead 26273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026274|126274|989898|1|9999026274|MR|Test|E|Lead 26274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026275|126275|989898|1|9999026275|MR|Test|E|Lead 26275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026276|126276|989898|1|9999026276|MR|Test|E|Lead 26276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026277|126277|989898|1|9999026277|MR|Test|E|Lead 26277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026278|126278|989898|1|9999026278|MR|Test|E|Lead 26278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026279|126279|989898|1|9999026279|MR|Test|E|Lead 26279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026280|126280|989898|1|9999026280|MR|Test|E|Lead 26280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026281|126281|989898|1|9999026281|MR|Test|E|Lead 26281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026282|126282|989898|1|9999026282|MR|Test|E|Lead 26282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026283|126283|989898|1|9999026283|MR|Test|E|Lead 26283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026284|126284|989898|1|9999026284|MR|Test|E|Lead 26284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026285|126285|989898|1|9999026285|MR|Test|E|Lead 26285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026286|126286|989898|1|9999026286|MR|Test|E|Lead 26286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026287|126287|989898|1|9999026287|MR|Test|E|Lead 26287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026288|126288|989898|1|9999026288|MR|Test|E|Lead 26288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026289|126289|989898|1|9999026289|MR|Test|E|Lead 26289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026290|126290|989898|1|9999026290|MR|Test|E|Lead 26290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026291|126291|989898|1|9999026291|MR|Test|E|Lead 26291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026292|126292|989898|1|9999026292|MR|Test|E|Lead 26292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026293|126293|989898|1|9999026293|MR|Test|E|Lead 26293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026294|126294|989898|1|9999026294|MR|Test|E|Lead 26294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026295|126295|989898|1|9999026295|MR|Test|E|Lead 26295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026296|126296|989898|1|9999026296|MR|Test|E|Lead 26296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026297|126297|989898|1|9999026297|MR|Test|E|Lead 26297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026298|126298|989898|1|9999026298|MR|Test|E|Lead 26298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026299|126299|989898|1|9999026299|MR|Test|E|Lead 26299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026300|126300|989898|1|9999026300|MR|Test|E|Lead 26300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026301|126301|989898|1|9999026301|MR|Test|E|Lead 26301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026302|126302|989898|1|9999026302|MR|Test|E|Lead 26302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026303|126303|989898|1|9999026303|MR|Test|E|Lead 26303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026304|126304|989898|1|9999026304|MR|Test|E|Lead 26304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026305|126305|989898|1|9999026305|MR|Test|E|Lead 26305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026306|126306|989898|1|9999026306|MR|Test|E|Lead 26306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026307|126307|989898|1|9999026307|MR|Test|E|Lead 26307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026308|126308|989898|1|9999026308|MR|Test|E|Lead 26308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026309|126309|989898|1|9999026309|MR|Test|E|Lead 26309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026310|126310|989898|1|9999026310|MR|Test|E|Lead 26310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026311|126311|989898|1|9999026311|MR|Test|E|Lead 26311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026312|126312|989898|1|9999026312|MR|Test|E|Lead 26312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026313|126313|989898|1|9999026313|MR|Test|E|Lead 26313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026314|126314|989898|1|9999026314|MR|Test|E|Lead 26314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026315|126315|989898|1|9999026315|MR|Test|E|Lead 26315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026316|126316|989898|1|9999026316|MR|Test|E|Lead 26316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026317|126317|989898|1|9999026317|MR|Test|E|Lead 26317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026318|126318|989898|1|9999026318|MR|Test|E|Lead 26318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026319|126319|989898|1|9999026319|MR|Test|E|Lead 26319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026320|126320|989898|1|9999026320|MR|Test|E|Lead 26320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026321|126321|989898|1|9999026321|MR|Test|E|Lead 26321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026322|126322|989898|1|9999026322|MR|Test|E|Lead 26322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026323|126323|989898|1|9999026323|MR|Test|E|Lead 26323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026324|126324|989898|1|9999026324|MR|Test|E|Lead 26324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026325|126325|989898|1|9999026325|MR|Test|E|Lead 26325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026326|126326|989898|1|9999026326|MR|Test|E|Lead 26326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026327|126327|989898|1|9999026327|MR|Test|E|Lead 26327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026328|126328|989898|1|9999026328|MR|Test|E|Lead 26328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026329|126329|989898|1|9999026329|MR|Test|E|Lead 26329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026330|126330|989898|1|9999026330|MR|Test|E|Lead 26330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026331|126331|989898|1|9999026331|MR|Test|E|Lead 26331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026332|126332|989898|1|9999026332|MR|Test|E|Lead 26332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026333|126333|989898|1|9999026333|MR|Test|E|Lead 26333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026334|126334|989898|1|9999026334|MR|Test|E|Lead 26334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026335|126335|989898|1|9999026335|MR|Test|E|Lead 26335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026336|126336|989898|1|9999026336|MR|Test|E|Lead 26336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026337|126337|989898|1|9999026337|MR|Test|E|Lead 26337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026338|126338|989898|1|9999026338|MR|Test|E|Lead 26338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026339|126339|989898|1|9999026339|MR|Test|E|Lead 26339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026340|126340|989898|1|9999026340|MR|Test|E|Lead 26340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026341|126341|989898|1|9999026341|MR|Test|E|Lead 26341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026342|126342|989898|1|9999026342|MR|Test|E|Lead 26342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026343|126343|989898|1|9999026343|MR|Test|E|Lead 26343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026344|126344|989898|1|9999026344|MR|Test|E|Lead 26344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026345|126345|989898|1|9999026345|MR|Test|E|Lead 26345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026346|126346|989898|1|9999026346|MR|Test|E|Lead 26346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026347|126347|989898|1|9999026347|MR|Test|E|Lead 26347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026348|126348|989898|1|9999026348|MR|Test|E|Lead 26348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026349|126349|989898|1|9999026349|MR|Test|E|Lead 26349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026350|126350|989898|1|9999026350|MR|Test|E|Lead 26350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026351|126351|989898|1|9999026351|MR|Test|E|Lead 26351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026352|126352|989898|1|9999026352|MR|Test|E|Lead 26352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026353|126353|989898|1|9999026353|MR|Test|E|Lead 26353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026354|126354|989898|1|9999026354|MR|Test|E|Lead 26354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026355|126355|989898|1|9999026355|MR|Test|E|Lead 26355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026356|126356|989898|1|9999026356|MR|Test|E|Lead 26356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026357|126357|989898|1|9999026357|MR|Test|E|Lead 26357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026358|126358|989898|1|9999026358|MR|Test|E|Lead 26358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026359|126359|989898|1|9999026359|MR|Test|E|Lead 26359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026360|126360|989898|1|9999026360|MR|Test|E|Lead 26360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026361|126361|989898|1|9999026361|MR|Test|E|Lead 26361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026362|126362|989898|1|9999026362|MR|Test|E|Lead 26362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026363|126363|989898|1|9999026363|MR|Test|E|Lead 26363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026364|126364|989898|1|9999026364|MR|Test|E|Lead 26364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026365|126365|989898|1|9999026365|MR|Test|E|Lead 26365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026366|126366|989898|1|9999026366|MR|Test|E|Lead 26366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026367|126367|989898|1|9999026367|MR|Test|E|Lead 26367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026368|126368|989898|1|9999026368|MR|Test|E|Lead 26368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026369|126369|989898|1|9999026369|MR|Test|E|Lead 26369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026370|126370|989898|1|9999026370|MR|Test|E|Lead 26370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026371|126371|989898|1|9999026371|MR|Test|E|Lead 26371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026372|126372|989898|1|9999026372|MR|Test|E|Lead 26372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026373|126373|989898|1|9999026373|MR|Test|E|Lead 26373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026374|126374|989898|1|9999026374|MR|Test|E|Lead 26374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026375|126375|989898|1|9999026375|MR|Test|E|Lead 26375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026376|126376|989898|1|9999026376|MR|Test|E|Lead 26376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026377|126377|989898|1|9999026377|MR|Test|E|Lead 26377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026378|126378|989898|1|9999026378|MR|Test|E|Lead 26378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026379|126379|989898|1|9999026379|MR|Test|E|Lead 26379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026380|126380|989898|1|9999026380|MR|Test|E|Lead 26380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026381|126381|989898|1|9999026381|MR|Test|E|Lead 26381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026382|126382|989898|1|9999026382|MR|Test|E|Lead 26382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026383|126383|989898|1|9999026383|MR|Test|E|Lead 26383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026384|126384|989898|1|9999026384|MR|Test|E|Lead 26384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026385|126385|989898|1|9999026385|MR|Test|E|Lead 26385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026386|126386|989898|1|9999026386|MR|Test|E|Lead 26386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026387|126387|989898|1|9999026387|MR|Test|E|Lead 26387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026388|126388|989898|1|9999026388|MR|Test|E|Lead 26388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026389|126389|989898|1|9999026389|MR|Test|E|Lead 26389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026390|126390|989898|1|9999026390|MR|Test|E|Lead 26390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026391|126391|989898|1|9999026391|MR|Test|E|Lead 26391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026392|126392|989898|1|9999026392|MR|Test|E|Lead 26392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026393|126393|989898|1|9999026393|MR|Test|E|Lead 26393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026394|126394|989898|1|9999026394|MR|Test|E|Lead 26394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026395|126395|989898|1|9999026395|MR|Test|E|Lead 26395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026396|126396|989898|1|9999026396|MR|Test|E|Lead 26396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026397|126397|989898|1|9999026397|MR|Test|E|Lead 26397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026398|126398|989898|1|9999026398|MR|Test|E|Lead 26398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026399|126399|989898|1|9999026399|MR|Test|E|Lead 26399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026400|126400|989898|1|9999026400|MR|Test|E|Lead 26400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026401|126401|989898|1|9999026401|MR|Test|E|Lead 26401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026402|126402|989898|1|9999026402|MR|Test|E|Lead 26402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026403|126403|989898|1|9999026403|MR|Test|E|Lead 26403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026404|126404|989898|1|9999026404|MR|Test|E|Lead 26404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026405|126405|989898|1|9999026405|MR|Test|E|Lead 26405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026406|126406|989898|1|9999026406|MR|Test|E|Lead 26406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026407|126407|989898|1|9999026407|MR|Test|E|Lead 26407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026408|126408|989898|1|9999026408|MR|Test|E|Lead 26408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026409|126409|989898|1|9999026409|MR|Test|E|Lead 26409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026410|126410|989898|1|9999026410|MR|Test|E|Lead 26410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026411|126411|989898|1|9999026411|MR|Test|E|Lead 26411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026412|126412|989898|1|9999026412|MR|Test|E|Lead 26412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026413|126413|989898|1|9999026413|MR|Test|E|Lead 26413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026414|126414|989898|1|9999026414|MR|Test|E|Lead 26414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026415|126415|989898|1|9999026415|MR|Test|E|Lead 26415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026416|126416|989898|1|9999026416|MR|Test|E|Lead 26416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026417|126417|989898|1|9999026417|MR|Test|E|Lead 26417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026418|126418|989898|1|9999026418|MR|Test|E|Lead 26418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026419|126419|989898|1|9999026419|MR|Test|E|Lead 26419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026420|126420|989898|1|9999026420|MR|Test|E|Lead 26420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026421|126421|989898|1|9999026421|MR|Test|E|Lead 26421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026422|126422|989898|1|9999026422|MR|Test|E|Lead 26422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026423|126423|989898|1|9999026423|MR|Test|E|Lead 26423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026424|126424|989898|1|9999026424|MR|Test|E|Lead 26424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026425|126425|989898|1|9999026425|MR|Test|E|Lead 26425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026426|126426|989898|1|9999026426|MR|Test|E|Lead 26426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026427|126427|989898|1|9999026427|MR|Test|E|Lead 26427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026428|126428|989898|1|9999026428|MR|Test|E|Lead 26428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026429|126429|989898|1|9999026429|MR|Test|E|Lead 26429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026430|126430|989898|1|9999026430|MR|Test|E|Lead 26430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026431|126431|989898|1|9999026431|MR|Test|E|Lead 26431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026432|126432|989898|1|9999026432|MR|Test|E|Lead 26432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026433|126433|989898|1|9999026433|MR|Test|E|Lead 26433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026434|126434|989898|1|9999026434|MR|Test|E|Lead 26434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026435|126435|989898|1|9999026435|MR|Test|E|Lead 26435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026436|126436|989898|1|9999026436|MR|Test|E|Lead 26436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026437|126437|989898|1|9999026437|MR|Test|E|Lead 26437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026438|126438|989898|1|9999026438|MR|Test|E|Lead 26438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026439|126439|989898|1|9999026439|MR|Test|E|Lead 26439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026440|126440|989898|1|9999026440|MR|Test|E|Lead 26440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026441|126441|989898|1|9999026441|MR|Test|E|Lead 26441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026442|126442|989898|1|9999026442|MR|Test|E|Lead 26442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026443|126443|989898|1|9999026443|MR|Test|E|Lead 26443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026444|126444|989898|1|9999026444|MR|Test|E|Lead 26444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026445|126445|989898|1|9999026445|MR|Test|E|Lead 26445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026446|126446|989898|1|9999026446|MR|Test|E|Lead 26446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026447|126447|989898|1|9999026447|MR|Test|E|Lead 26447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026448|126448|989898|1|9999026448|MR|Test|E|Lead 26448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026449|126449|989898|1|9999026449|MR|Test|E|Lead 26449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026450|126450|989898|1|9999026450|MR|Test|E|Lead 26450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026451|126451|989898|1|9999026451|MR|Test|E|Lead 26451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026452|126452|989898|1|9999026452|MR|Test|E|Lead 26452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026453|126453|989898|1|9999026453|MR|Test|E|Lead 26453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026454|126454|989898|1|9999026454|MR|Test|E|Lead 26454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026455|126455|989898|1|9999026455|MR|Test|E|Lead 26455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026456|126456|989898|1|9999026456|MR|Test|E|Lead 26456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026457|126457|989898|1|9999026457|MR|Test|E|Lead 26457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026458|126458|989898|1|9999026458|MR|Test|E|Lead 26458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026459|126459|989898|1|9999026459|MR|Test|E|Lead 26459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026460|126460|989898|1|9999026460|MR|Test|E|Lead 26460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026461|126461|989898|1|9999026461|MR|Test|E|Lead 26461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026462|126462|989898|1|9999026462|MR|Test|E|Lead 26462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026463|126463|989898|1|9999026463|MR|Test|E|Lead 26463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026464|126464|989898|1|9999026464|MR|Test|E|Lead 26464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026465|126465|989898|1|9999026465|MR|Test|E|Lead 26465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026466|126466|989898|1|9999026466|MR|Test|E|Lead 26466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026467|126467|989898|1|9999026467|MR|Test|E|Lead 26467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026468|126468|989898|1|9999026468|MR|Test|E|Lead 26468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026469|126469|989898|1|9999026469|MR|Test|E|Lead 26469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026470|126470|989898|1|9999026470|MR|Test|E|Lead 26470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026471|126471|989898|1|9999026471|MR|Test|E|Lead 26471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026472|126472|989898|1|9999026472|MR|Test|E|Lead 26472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026473|126473|989898|1|9999026473|MR|Test|E|Lead 26473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026474|126474|989898|1|9999026474|MR|Test|E|Lead 26474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026475|126475|989898|1|9999026475|MR|Test|E|Lead 26475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026476|126476|989898|1|9999026476|MR|Test|E|Lead 26476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026477|126477|989898|1|9999026477|MR|Test|E|Lead 26477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026478|126478|989898|1|9999026478|MR|Test|E|Lead 26478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026479|126479|989898|1|9999026479|MR|Test|E|Lead 26479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026480|126480|989898|1|9999026480|MR|Test|E|Lead 26480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026481|126481|989898|1|9999026481|MR|Test|E|Lead 26481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026482|126482|989898|1|9999026482|MR|Test|E|Lead 26482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026483|126483|989898|1|9999026483|MR|Test|E|Lead 26483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026484|126484|989898|1|9999026484|MR|Test|E|Lead 26484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026485|126485|989898|1|9999026485|MR|Test|E|Lead 26485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026486|126486|989898|1|9999026486|MR|Test|E|Lead 26486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026487|126487|989898|1|9999026487|MR|Test|E|Lead 26487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026488|126488|989898|1|9999026488|MR|Test|E|Lead 26488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026489|126489|989898|1|9999026489|MR|Test|E|Lead 26489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026490|126490|989898|1|9999026490|MR|Test|E|Lead 26490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026491|126491|989898|1|9999026491|MR|Test|E|Lead 26491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026492|126492|989898|1|9999026492|MR|Test|E|Lead 26492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026493|126493|989898|1|9999026493|MR|Test|E|Lead 26493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026494|126494|989898|1|9999026494|MR|Test|E|Lead 26494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026495|126495|989898|1|9999026495|MR|Test|E|Lead 26495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026496|126496|989898|1|9999026496|MR|Test|E|Lead 26496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026497|126497|989898|1|9999026497|MR|Test|E|Lead 26497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026498|126498|989898|1|9999026498|MR|Test|E|Lead 26498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026499|126499|989898|1|9999026499|MR|Test|E|Lead 26499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026500|126500|989898|1|9999026500|MR|Test|E|Lead 26500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026501|126501|989898|1|9999026501|MR|Test|E|Lead 26501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026502|126502|989898|1|9999026502|MR|Test|E|Lead 26502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026503|126503|989898|1|9999026503|MR|Test|E|Lead 26503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026504|126504|989898|1|9999026504|MR|Test|E|Lead 26504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026505|126505|989898|1|9999026505|MR|Test|E|Lead 26505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026506|126506|989898|1|9999026506|MR|Test|E|Lead 26506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026507|126507|989898|1|9999026507|MR|Test|E|Lead 26507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026508|126508|989898|1|9999026508|MR|Test|E|Lead 26508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026509|126509|989898|1|9999026509|MR|Test|E|Lead 26509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026510|126510|989898|1|9999026510|MR|Test|E|Lead 26510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026511|126511|989898|1|9999026511|MR|Test|E|Lead 26511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026512|126512|989898|1|9999026512|MR|Test|E|Lead 26512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026513|126513|989898|1|9999026513|MR|Test|E|Lead 26513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026514|126514|989898|1|9999026514|MR|Test|E|Lead 26514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026515|126515|989898|1|9999026515|MR|Test|E|Lead 26515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026516|126516|989898|1|9999026516|MR|Test|E|Lead 26516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026517|126517|989898|1|9999026517|MR|Test|E|Lead 26517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026518|126518|989898|1|9999026518|MR|Test|E|Lead 26518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026519|126519|989898|1|9999026519|MR|Test|E|Lead 26519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026520|126520|989898|1|9999026520|MR|Test|E|Lead 26520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026521|126521|989898|1|9999026521|MR|Test|E|Lead 26521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026522|126522|989898|1|9999026522|MR|Test|E|Lead 26522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026523|126523|989898|1|9999026523|MR|Test|E|Lead 26523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026524|126524|989898|1|9999026524|MR|Test|E|Lead 26524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026525|126525|989898|1|9999026525|MR|Test|E|Lead 26525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026526|126526|989898|1|9999026526|MR|Test|E|Lead 26526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026527|126527|989898|1|9999026527|MR|Test|E|Lead 26527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026528|126528|989898|1|9999026528|MR|Test|E|Lead 26528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026529|126529|989898|1|9999026529|MR|Test|E|Lead 26529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026530|126530|989898|1|9999026530|MR|Test|E|Lead 26530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026531|126531|989898|1|9999026531|MR|Test|E|Lead 26531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026532|126532|989898|1|9999026532|MR|Test|E|Lead 26532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026533|126533|989898|1|9999026533|MR|Test|E|Lead 26533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026534|126534|989898|1|9999026534|MR|Test|E|Lead 26534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026535|126535|989898|1|9999026535|MR|Test|E|Lead 26535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026536|126536|989898|1|9999026536|MR|Test|E|Lead 26536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026537|126537|989898|1|9999026537|MR|Test|E|Lead 26537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026538|126538|989898|1|9999026538|MR|Test|E|Lead 26538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026539|126539|989898|1|9999026539|MR|Test|E|Lead 26539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026540|126540|989898|1|9999026540|MR|Test|E|Lead 26540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026541|126541|989898|1|9999026541|MR|Test|E|Lead 26541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026542|126542|989898|1|9999026542|MR|Test|E|Lead 26542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026543|126543|989898|1|9999026543|MR|Test|E|Lead 26543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026544|126544|989898|1|9999026544|MR|Test|E|Lead 26544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026545|126545|989898|1|9999026545|MR|Test|E|Lead 26545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026546|126546|989898|1|9999026546|MR|Test|E|Lead 26546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026547|126547|989898|1|9999026547|MR|Test|E|Lead 26547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026548|126548|989898|1|9999026548|MR|Test|E|Lead 26548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026549|126549|989898|1|9999026549|MR|Test|E|Lead 26549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026550|126550|989898|1|9999026550|MR|Test|E|Lead 26550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026551|126551|989898|1|9999026551|MR|Test|E|Lead 26551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026552|126552|989898|1|9999026552|MR|Test|E|Lead 26552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026553|126553|989898|1|9999026553|MR|Test|E|Lead 26553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026554|126554|989898|1|9999026554|MR|Test|E|Lead 26554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026555|126555|989898|1|9999026555|MR|Test|E|Lead 26555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026556|126556|989898|1|9999026556|MR|Test|E|Lead 26556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026557|126557|989898|1|9999026557|MR|Test|E|Lead 26557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026558|126558|989898|1|9999026558|MR|Test|E|Lead 26558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026559|126559|989898|1|9999026559|MR|Test|E|Lead 26559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026560|126560|989898|1|9999026560|MR|Test|E|Lead 26560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026561|126561|989898|1|9999026561|MR|Test|E|Lead 26561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026562|126562|989898|1|9999026562|MR|Test|E|Lead 26562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026563|126563|989898|1|9999026563|MR|Test|E|Lead 26563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026564|126564|989898|1|9999026564|MR|Test|E|Lead 26564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026565|126565|989898|1|9999026565|MR|Test|E|Lead 26565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026566|126566|989898|1|9999026566|MR|Test|E|Lead 26566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026567|126567|989898|1|9999026567|MR|Test|E|Lead 26567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026568|126568|989898|1|9999026568|MR|Test|E|Lead 26568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026569|126569|989898|1|9999026569|MR|Test|E|Lead 26569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026570|126570|989898|1|9999026570|MR|Test|E|Lead 26570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026571|126571|989898|1|9999026571|MR|Test|E|Lead 26571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026572|126572|989898|1|9999026572|MR|Test|E|Lead 26572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026573|126573|989898|1|9999026573|MR|Test|E|Lead 26573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026574|126574|989898|1|9999026574|MR|Test|E|Lead 26574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026575|126575|989898|1|9999026575|MR|Test|E|Lead 26575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026576|126576|989898|1|9999026576|MR|Test|E|Lead 26576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026577|126577|989898|1|9999026577|MR|Test|E|Lead 26577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026578|126578|989898|1|9999026578|MR|Test|E|Lead 26578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026579|126579|989898|1|9999026579|MR|Test|E|Lead 26579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026580|126580|989898|1|9999026580|MR|Test|E|Lead 26580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026581|126581|989898|1|9999026581|MR|Test|E|Lead 26581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026582|126582|989898|1|9999026582|MR|Test|E|Lead 26582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026583|126583|989898|1|9999026583|MR|Test|E|Lead 26583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026584|126584|989898|1|9999026584|MR|Test|E|Lead 26584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026585|126585|989898|1|9999026585|MR|Test|E|Lead 26585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026586|126586|989898|1|9999026586|MR|Test|E|Lead 26586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026587|126587|989898|1|9999026587|MR|Test|E|Lead 26587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026588|126588|989898|1|9999026588|MR|Test|E|Lead 26588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026589|126589|989898|1|9999026589|MR|Test|E|Lead 26589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026590|126590|989898|1|9999026590|MR|Test|E|Lead 26590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026591|126591|989898|1|9999026591|MR|Test|E|Lead 26591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026592|126592|989898|1|9999026592|MR|Test|E|Lead 26592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026593|126593|989898|1|9999026593|MR|Test|E|Lead 26593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026594|126594|989898|1|9999026594|MR|Test|E|Lead 26594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026595|126595|989898|1|9999026595|MR|Test|E|Lead 26595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026596|126596|989898|1|9999026596|MR|Test|E|Lead 26596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026597|126597|989898|1|9999026597|MR|Test|E|Lead 26597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026598|126598|989898|1|9999026598|MR|Test|E|Lead 26598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026599|126599|989898|1|9999026599|MR|Test|E|Lead 26599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026600|126600|989898|1|9999026600|MR|Test|E|Lead 26600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026601|126601|989898|1|9999026601|MR|Test|E|Lead 26601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026602|126602|989898|1|9999026602|MR|Test|E|Lead 26602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026603|126603|989898|1|9999026603|MR|Test|E|Lead 26603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026604|126604|989898|1|9999026604|MR|Test|E|Lead 26604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026605|126605|989898|1|9999026605|MR|Test|E|Lead 26605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026606|126606|989898|1|9999026606|MR|Test|E|Lead 26606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026607|126607|989898|1|9999026607|MR|Test|E|Lead 26607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026608|126608|989898|1|9999026608|MR|Test|E|Lead 26608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026609|126609|989898|1|9999026609|MR|Test|E|Lead 26609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026610|126610|989898|1|9999026610|MR|Test|E|Lead 26610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026611|126611|989898|1|9999026611|MR|Test|E|Lead 26611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026612|126612|989898|1|9999026612|MR|Test|E|Lead 26612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026613|126613|989898|1|9999026613|MR|Test|E|Lead 26613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026614|126614|989898|1|9999026614|MR|Test|E|Lead 26614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026615|126615|989898|1|9999026615|MR|Test|E|Lead 26615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026616|126616|989898|1|9999026616|MR|Test|E|Lead 26616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026617|126617|989898|1|9999026617|MR|Test|E|Lead 26617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026618|126618|989898|1|9999026618|MR|Test|E|Lead 26618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026619|126619|989898|1|9999026619|MR|Test|E|Lead 26619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026620|126620|989898|1|9999026620|MR|Test|E|Lead 26620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026621|126621|989898|1|9999026621|MR|Test|E|Lead 26621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026622|126622|989898|1|9999026622|MR|Test|E|Lead 26622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026623|126623|989898|1|9999026623|MR|Test|E|Lead 26623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026624|126624|989898|1|9999026624|MR|Test|E|Lead 26624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026625|126625|989898|1|9999026625|MR|Test|E|Lead 26625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026626|126626|989898|1|9999026626|MR|Test|E|Lead 26626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026627|126627|989898|1|9999026627|MR|Test|E|Lead 26627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026628|126628|989898|1|9999026628|MR|Test|E|Lead 26628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026629|126629|989898|1|9999026629|MR|Test|E|Lead 26629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026630|126630|989898|1|9999026630|MR|Test|E|Lead 26630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026631|126631|989898|1|9999026631|MR|Test|E|Lead 26631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026632|126632|989898|1|9999026632|MR|Test|E|Lead 26632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026633|126633|989898|1|9999026633|MR|Test|E|Lead 26633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026634|126634|989898|1|9999026634|MR|Test|E|Lead 26634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026635|126635|989898|1|9999026635|MR|Test|E|Lead 26635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026636|126636|989898|1|9999026636|MR|Test|E|Lead 26636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026637|126637|989898|1|9999026637|MR|Test|E|Lead 26637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026638|126638|989898|1|9999026638|MR|Test|E|Lead 26638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026639|126639|989898|1|9999026639|MR|Test|E|Lead 26639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026640|126640|989898|1|9999026640|MR|Test|E|Lead 26640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026641|126641|989898|1|9999026641|MR|Test|E|Lead 26641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026642|126642|989898|1|9999026642|MR|Test|E|Lead 26642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026643|126643|989898|1|9999026643|MR|Test|E|Lead 26643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026644|126644|989898|1|9999026644|MR|Test|E|Lead 26644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026645|126645|989898|1|9999026645|MR|Test|E|Lead 26645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026646|126646|989898|1|9999026646|MR|Test|E|Lead 26646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026647|126647|989898|1|9999026647|MR|Test|E|Lead 26647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026648|126648|989898|1|9999026648|MR|Test|E|Lead 26648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026649|126649|989898|1|9999026649|MR|Test|E|Lead 26649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026650|126650|989898|1|9999026650|MR|Test|E|Lead 26650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026651|126651|989898|1|9999026651|MR|Test|E|Lead 26651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026652|126652|989898|1|9999026652|MR|Test|E|Lead 26652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026653|126653|989898|1|9999026653|MR|Test|E|Lead 26653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026654|126654|989898|1|9999026654|MR|Test|E|Lead 26654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026655|126655|989898|1|9999026655|MR|Test|E|Lead 26655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026656|126656|989898|1|9999026656|MR|Test|E|Lead 26656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026657|126657|989898|1|9999026657|MR|Test|E|Lead 26657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026658|126658|989898|1|9999026658|MR|Test|E|Lead 26658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026659|126659|989898|1|9999026659|MR|Test|E|Lead 26659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026660|126660|989898|1|9999026660|MR|Test|E|Lead 26660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026661|126661|989898|1|9999026661|MR|Test|E|Lead 26661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026662|126662|989898|1|9999026662|MR|Test|E|Lead 26662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026663|126663|989898|1|9999026663|MR|Test|E|Lead 26663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026664|126664|989898|1|9999026664|MR|Test|E|Lead 26664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026665|126665|989898|1|9999026665|MR|Test|E|Lead 26665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026666|126666|989898|1|9999026666|MR|Test|E|Lead 26666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026667|126667|989898|1|9999026667|MR|Test|E|Lead 26667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026668|126668|989898|1|9999026668|MR|Test|E|Lead 26668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026669|126669|989898|1|9999026669|MR|Test|E|Lead 26669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026670|126670|989898|1|9999026670|MR|Test|E|Lead 26670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026671|126671|989898|1|9999026671|MR|Test|E|Lead 26671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026672|126672|989898|1|9999026672|MR|Test|E|Lead 26672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026673|126673|989898|1|9999026673|MR|Test|E|Lead 26673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026674|126674|989898|1|9999026674|MR|Test|E|Lead 26674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026675|126675|989898|1|9999026675|MR|Test|E|Lead 26675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026676|126676|989898|1|9999026676|MR|Test|E|Lead 26676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026677|126677|989898|1|9999026677|MR|Test|E|Lead 26677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026678|126678|989898|1|9999026678|MR|Test|E|Lead 26678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026679|126679|989898|1|9999026679|MR|Test|E|Lead 26679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026680|126680|989898|1|9999026680|MR|Test|E|Lead 26680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026681|126681|989898|1|9999026681|MR|Test|E|Lead 26681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026682|126682|989898|1|9999026682|MR|Test|E|Lead 26682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026683|126683|989898|1|9999026683|MR|Test|E|Lead 26683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026684|126684|989898|1|9999026684|MR|Test|E|Lead 26684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026685|126685|989898|1|9999026685|MR|Test|E|Lead 26685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026686|126686|989898|1|9999026686|MR|Test|E|Lead 26686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026687|126687|989898|1|9999026687|MR|Test|E|Lead 26687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026688|126688|989898|1|9999026688|MR|Test|E|Lead 26688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026689|126689|989898|1|9999026689|MR|Test|E|Lead 26689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026690|126690|989898|1|9999026690|MR|Test|E|Lead 26690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026691|126691|989898|1|9999026691|MR|Test|E|Lead 26691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026692|126692|989898|1|9999026692|MR|Test|E|Lead 26692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026693|126693|989898|1|9999026693|MR|Test|E|Lead 26693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026694|126694|989898|1|9999026694|MR|Test|E|Lead 26694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026695|126695|989898|1|9999026695|MR|Test|E|Lead 26695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026696|126696|989898|1|9999026696|MR|Test|E|Lead 26696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026697|126697|989898|1|9999026697|MR|Test|E|Lead 26697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026698|126698|989898|1|9999026698|MR|Test|E|Lead 26698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026699|126699|989898|1|9999026699|MR|Test|E|Lead 26699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026700|126700|989898|1|9999026700|MR|Test|E|Lead 26700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026701|126701|989898|1|9999026701|MR|Test|E|Lead 26701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026702|126702|989898|1|9999026702|MR|Test|E|Lead 26702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026703|126703|989898|1|9999026703|MR|Test|E|Lead 26703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026704|126704|989898|1|9999026704|MR|Test|E|Lead 26704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026705|126705|989898|1|9999026705|MR|Test|E|Lead 26705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026706|126706|989898|1|9999026706|MR|Test|E|Lead 26706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026707|126707|989898|1|9999026707|MR|Test|E|Lead 26707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026708|126708|989898|1|9999026708|MR|Test|E|Lead 26708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026709|126709|989898|1|9999026709|MR|Test|E|Lead 26709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026710|126710|989898|1|9999026710|MR|Test|E|Lead 26710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026711|126711|989898|1|9999026711|MR|Test|E|Lead 26711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026712|126712|989898|1|9999026712|MR|Test|E|Lead 26712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026713|126713|989898|1|9999026713|MR|Test|E|Lead 26713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026714|126714|989898|1|9999026714|MR|Test|E|Lead 26714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026715|126715|989898|1|9999026715|MR|Test|E|Lead 26715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026716|126716|989898|1|9999026716|MR|Test|E|Lead 26716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026717|126717|989898|1|9999026717|MR|Test|E|Lead 26717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026718|126718|989898|1|9999026718|MR|Test|E|Lead 26718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026719|126719|989898|1|9999026719|MR|Test|E|Lead 26719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026720|126720|989898|1|9999026720|MR|Test|E|Lead 26720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026721|126721|989898|1|9999026721|MR|Test|E|Lead 26721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026722|126722|989898|1|9999026722|MR|Test|E|Lead 26722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026723|126723|989898|1|9999026723|MR|Test|E|Lead 26723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026724|126724|989898|1|9999026724|MR|Test|E|Lead 26724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026725|126725|989898|1|9999026725|MR|Test|E|Lead 26725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026726|126726|989898|1|9999026726|MR|Test|E|Lead 26726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026727|126727|989898|1|9999026727|MR|Test|E|Lead 26727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026728|126728|989898|1|9999026728|MR|Test|E|Lead 26728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026729|126729|989898|1|9999026729|MR|Test|E|Lead 26729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026730|126730|989898|1|9999026730|MR|Test|E|Lead 26730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026731|126731|989898|1|9999026731|MR|Test|E|Lead 26731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026732|126732|989898|1|9999026732|MR|Test|E|Lead 26732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026733|126733|989898|1|9999026733|MR|Test|E|Lead 26733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026734|126734|989898|1|9999026734|MR|Test|E|Lead 26734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026735|126735|989898|1|9999026735|MR|Test|E|Lead 26735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026736|126736|989898|1|9999026736|MR|Test|E|Lead 26736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026737|126737|989898|1|9999026737|MR|Test|E|Lead 26737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026738|126738|989898|1|9999026738|MR|Test|E|Lead 26738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026739|126739|989898|1|9999026739|MR|Test|E|Lead 26739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026740|126740|989898|1|9999026740|MR|Test|E|Lead 26740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026741|126741|989898|1|9999026741|MR|Test|E|Lead 26741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026742|126742|989898|1|9999026742|MR|Test|E|Lead 26742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026743|126743|989898|1|9999026743|MR|Test|E|Lead 26743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026744|126744|989898|1|9999026744|MR|Test|E|Lead 26744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026745|126745|989898|1|9999026745|MR|Test|E|Lead 26745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026746|126746|989898|1|9999026746|MR|Test|E|Lead 26746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026747|126747|989898|1|9999026747|MR|Test|E|Lead 26747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026748|126748|989898|1|9999026748|MR|Test|E|Lead 26748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026749|126749|989898|1|9999026749|MR|Test|E|Lead 26749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026750|126750|989898|1|9999026750|MR|Test|E|Lead 26750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026751|126751|989898|1|9999026751|MR|Test|E|Lead 26751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026752|126752|989898|1|9999026752|MR|Test|E|Lead 26752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026753|126753|989898|1|9999026753|MR|Test|E|Lead 26753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026754|126754|989898|1|9999026754|MR|Test|E|Lead 26754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026755|126755|989898|1|9999026755|MR|Test|E|Lead 26755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026756|126756|989898|1|9999026756|MR|Test|E|Lead 26756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026757|126757|989898|1|9999026757|MR|Test|E|Lead 26757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026758|126758|989898|1|9999026758|MR|Test|E|Lead 26758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026759|126759|989898|1|9999026759|MR|Test|E|Lead 26759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026760|126760|989898|1|9999026760|MR|Test|E|Lead 26760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026761|126761|989898|1|9999026761|MR|Test|E|Lead 26761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026762|126762|989898|1|9999026762|MR|Test|E|Lead 26762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026763|126763|989898|1|9999026763|MR|Test|E|Lead 26763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026764|126764|989898|1|9999026764|MR|Test|E|Lead 26764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026765|126765|989898|1|9999026765|MR|Test|E|Lead 26765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026766|126766|989898|1|9999026766|MR|Test|E|Lead 26766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026767|126767|989898|1|9999026767|MR|Test|E|Lead 26767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026768|126768|989898|1|9999026768|MR|Test|E|Lead 26768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026769|126769|989898|1|9999026769|MR|Test|E|Lead 26769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026770|126770|989898|1|9999026770|MR|Test|E|Lead 26770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026771|126771|989898|1|9999026771|MR|Test|E|Lead 26771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026772|126772|989898|1|9999026772|MR|Test|E|Lead 26772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026773|126773|989898|1|9999026773|MR|Test|E|Lead 26773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026774|126774|989898|1|9999026774|MR|Test|E|Lead 26774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026775|126775|989898|1|9999026775|MR|Test|E|Lead 26775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026776|126776|989898|1|9999026776|MR|Test|E|Lead 26776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026777|126777|989898|1|9999026777|MR|Test|E|Lead 26777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026778|126778|989898|1|9999026778|MR|Test|E|Lead 26778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026779|126779|989898|1|9999026779|MR|Test|E|Lead 26779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026780|126780|989898|1|9999026780|MR|Test|E|Lead 26780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026781|126781|989898|1|9999026781|MR|Test|E|Lead 26781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026782|126782|989898|1|9999026782|MR|Test|E|Lead 26782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026783|126783|989898|1|9999026783|MR|Test|E|Lead 26783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026784|126784|989898|1|9999026784|MR|Test|E|Lead 26784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026785|126785|989898|1|9999026785|MR|Test|E|Lead 26785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026786|126786|989898|1|9999026786|MR|Test|E|Lead 26786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026787|126787|989898|1|9999026787|MR|Test|E|Lead 26787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026788|126788|989898|1|9999026788|MR|Test|E|Lead 26788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026789|126789|989898|1|9999026789|MR|Test|E|Lead 26789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026790|126790|989898|1|9999026790|MR|Test|E|Lead 26790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026791|126791|989898|1|9999026791|MR|Test|E|Lead 26791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026792|126792|989898|1|9999026792|MR|Test|E|Lead 26792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026793|126793|989898|1|9999026793|MR|Test|E|Lead 26793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026794|126794|989898|1|9999026794|MR|Test|E|Lead 26794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026795|126795|989898|1|9999026795|MR|Test|E|Lead 26795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026796|126796|989898|1|9999026796|MR|Test|E|Lead 26796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026797|126797|989898|1|9999026797|MR|Test|E|Lead 26797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026798|126798|989898|1|9999026798|MR|Test|E|Lead 26798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026799|126799|989898|1|9999026799|MR|Test|E|Lead 26799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026800|126800|989898|1|9999026800|MR|Test|E|Lead 26800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026801|126801|989898|1|9999026801|MR|Test|E|Lead 26801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026802|126802|989898|1|9999026802|MR|Test|E|Lead 26802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026803|126803|989898|1|9999026803|MR|Test|E|Lead 26803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026804|126804|989898|1|9999026804|MR|Test|E|Lead 26804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026805|126805|989898|1|9999026805|MR|Test|E|Lead 26805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026806|126806|989898|1|9999026806|MR|Test|E|Lead 26806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026807|126807|989898|1|9999026807|MR|Test|E|Lead 26807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026808|126808|989898|1|9999026808|MR|Test|E|Lead 26808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026809|126809|989898|1|9999026809|MR|Test|E|Lead 26809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026810|126810|989898|1|9999026810|MR|Test|E|Lead 26810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026811|126811|989898|1|9999026811|MR|Test|E|Lead 26811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026812|126812|989898|1|9999026812|MR|Test|E|Lead 26812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026813|126813|989898|1|9999026813|MR|Test|E|Lead 26813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026814|126814|989898|1|9999026814|MR|Test|E|Lead 26814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026815|126815|989898|1|9999026815|MR|Test|E|Lead 26815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026816|126816|989898|1|9999026816|MR|Test|E|Lead 26816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026817|126817|989898|1|9999026817|MR|Test|E|Lead 26817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026818|126818|989898|1|9999026818|MR|Test|E|Lead 26818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026819|126819|989898|1|9999026819|MR|Test|E|Lead 26819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026820|126820|989898|1|9999026820|MR|Test|E|Lead 26820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026821|126821|989898|1|9999026821|MR|Test|E|Lead 26821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026822|126822|989898|1|9999026822|MR|Test|E|Lead 26822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026823|126823|989898|1|9999026823|MR|Test|E|Lead 26823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026824|126824|989898|1|9999026824|MR|Test|E|Lead 26824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026825|126825|989898|1|9999026825|MR|Test|E|Lead 26825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026826|126826|989898|1|9999026826|MR|Test|E|Lead 26826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026827|126827|989898|1|9999026827|MR|Test|E|Lead 26827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026828|126828|989898|1|9999026828|MR|Test|E|Lead 26828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026829|126829|989898|1|9999026829|MR|Test|E|Lead 26829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026830|126830|989898|1|9999026830|MR|Test|E|Lead 26830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026831|126831|989898|1|9999026831|MR|Test|E|Lead 26831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026832|126832|989898|1|9999026832|MR|Test|E|Lead 26832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026833|126833|989898|1|9999026833|MR|Test|E|Lead 26833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026834|126834|989898|1|9999026834|MR|Test|E|Lead 26834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026835|126835|989898|1|9999026835|MR|Test|E|Lead 26835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026836|126836|989898|1|9999026836|MR|Test|E|Lead 26836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026837|126837|989898|1|9999026837|MR|Test|E|Lead 26837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026838|126838|989898|1|9999026838|MR|Test|E|Lead 26838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026839|126839|989898|1|9999026839|MR|Test|E|Lead 26839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026840|126840|989898|1|9999026840|MR|Test|E|Lead 26840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026841|126841|989898|1|9999026841|MR|Test|E|Lead 26841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026842|126842|989898|1|9999026842|MR|Test|E|Lead 26842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026843|126843|989898|1|9999026843|MR|Test|E|Lead 26843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026844|126844|989898|1|9999026844|MR|Test|E|Lead 26844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026845|126845|989898|1|9999026845|MR|Test|E|Lead 26845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026846|126846|989898|1|9999026846|MR|Test|E|Lead 26846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026847|126847|989898|1|9999026847|MR|Test|E|Lead 26847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026848|126848|989898|1|9999026848|MR|Test|E|Lead 26848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026849|126849|989898|1|9999026849|MR|Test|E|Lead 26849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026850|126850|989898|1|9999026850|MR|Test|E|Lead 26850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026851|126851|989898|1|9999026851|MR|Test|E|Lead 26851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026852|126852|989898|1|9999026852|MR|Test|E|Lead 26852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026853|126853|989898|1|9999026853|MR|Test|E|Lead 26853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026854|126854|989898|1|9999026854|MR|Test|E|Lead 26854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026855|126855|989898|1|9999026855|MR|Test|E|Lead 26855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026856|126856|989898|1|9999026856|MR|Test|E|Lead 26856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026857|126857|989898|1|9999026857|MR|Test|E|Lead 26857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026858|126858|989898|1|9999026858|MR|Test|E|Lead 26858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026859|126859|989898|1|9999026859|MR|Test|E|Lead 26859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026860|126860|989898|1|9999026860|MR|Test|E|Lead 26860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026861|126861|989898|1|9999026861|MR|Test|E|Lead 26861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026862|126862|989898|1|9999026862|MR|Test|E|Lead 26862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026863|126863|989898|1|9999026863|MR|Test|E|Lead 26863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026864|126864|989898|1|9999026864|MR|Test|E|Lead 26864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026865|126865|989898|1|9999026865|MR|Test|E|Lead 26865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026866|126866|989898|1|9999026866|MR|Test|E|Lead 26866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026867|126867|989898|1|9999026867|MR|Test|E|Lead 26867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026868|126868|989898|1|9999026868|MR|Test|E|Lead 26868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026869|126869|989898|1|9999026869|MR|Test|E|Lead 26869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026870|126870|989898|1|9999026870|MR|Test|E|Lead 26870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026871|126871|989898|1|9999026871|MR|Test|E|Lead 26871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026872|126872|989898|1|9999026872|MR|Test|E|Lead 26872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026873|126873|989898|1|9999026873|MR|Test|E|Lead 26873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026874|126874|989898|1|9999026874|MR|Test|E|Lead 26874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026875|126875|989898|1|9999026875|MR|Test|E|Lead 26875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026876|126876|989898|1|9999026876|MR|Test|E|Lead 26876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026877|126877|989898|1|9999026877|MR|Test|E|Lead 26877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026878|126878|989898|1|9999026878|MR|Test|E|Lead 26878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026879|126879|989898|1|9999026879|MR|Test|E|Lead 26879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026880|126880|989898|1|9999026880|MR|Test|E|Lead 26880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026881|126881|989898|1|9999026881|MR|Test|E|Lead 26881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026882|126882|989898|1|9999026882|MR|Test|E|Lead 26882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026883|126883|989898|1|9999026883|MR|Test|E|Lead 26883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026884|126884|989898|1|9999026884|MR|Test|E|Lead 26884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026885|126885|989898|1|9999026885|MR|Test|E|Lead 26885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026886|126886|989898|1|9999026886|MR|Test|E|Lead 26886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026887|126887|989898|1|9999026887|MR|Test|E|Lead 26887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026888|126888|989898|1|9999026888|MR|Test|E|Lead 26888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026889|126889|989898|1|9999026889|MR|Test|E|Lead 26889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026890|126890|989898|1|9999026890|MR|Test|E|Lead 26890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026891|126891|989898|1|9999026891|MR|Test|E|Lead 26891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026892|126892|989898|1|9999026892|MR|Test|E|Lead 26892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026893|126893|989898|1|9999026893|MR|Test|E|Lead 26893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026894|126894|989898|1|9999026894|MR|Test|E|Lead 26894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026895|126895|989898|1|9999026895|MR|Test|E|Lead 26895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026896|126896|989898|1|9999026896|MR|Test|E|Lead 26896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026897|126897|989898|1|9999026897|MR|Test|E|Lead 26897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026898|126898|989898|1|9999026898|MR|Test|E|Lead 26898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026899|126899|989898|1|9999026899|MR|Test|E|Lead 26899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026900|126900|989898|1|9999026900|MR|Test|E|Lead 26900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026901|126901|989898|1|9999026901|MR|Test|E|Lead 26901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026902|126902|989898|1|9999026902|MR|Test|E|Lead 26902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026903|126903|989898|1|9999026903|MR|Test|E|Lead 26903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026904|126904|989898|1|9999026904|MR|Test|E|Lead 26904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026905|126905|989898|1|9999026905|MR|Test|E|Lead 26905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026906|126906|989898|1|9999026906|MR|Test|E|Lead 26906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026907|126907|989898|1|9999026907|MR|Test|E|Lead 26907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026908|126908|989898|1|9999026908|MR|Test|E|Lead 26908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026909|126909|989898|1|9999026909|MR|Test|E|Lead 26909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026910|126910|989898|1|9999026910|MR|Test|E|Lead 26910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026911|126911|989898|1|9999026911|MR|Test|E|Lead 26911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026912|126912|989898|1|9999026912|MR|Test|E|Lead 26912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026913|126913|989898|1|9999026913|MR|Test|E|Lead 26913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026914|126914|989898|1|9999026914|MR|Test|E|Lead 26914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026915|126915|989898|1|9999026915|MR|Test|E|Lead 26915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026916|126916|989898|1|9999026916|MR|Test|E|Lead 26916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026917|126917|989898|1|9999026917|MR|Test|E|Lead 26917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026918|126918|989898|1|9999026918|MR|Test|E|Lead 26918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026919|126919|989898|1|9999026919|MR|Test|E|Lead 26919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026920|126920|989898|1|9999026920|MR|Test|E|Lead 26920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026921|126921|989898|1|9999026921|MR|Test|E|Lead 26921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026922|126922|989898|1|9999026922|MR|Test|E|Lead 26922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026923|126923|989898|1|9999026923|MR|Test|E|Lead 26923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026924|126924|989898|1|9999026924|MR|Test|E|Lead 26924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026925|126925|989898|1|9999026925|MR|Test|E|Lead 26925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026926|126926|989898|1|9999026926|MR|Test|E|Lead 26926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026927|126927|989898|1|9999026927|MR|Test|E|Lead 26927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026928|126928|989898|1|9999026928|MR|Test|E|Lead 26928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026929|126929|989898|1|9999026929|MR|Test|E|Lead 26929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026930|126930|989898|1|9999026930|MR|Test|E|Lead 26930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026931|126931|989898|1|9999026931|MR|Test|E|Lead 26931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026932|126932|989898|1|9999026932|MR|Test|E|Lead 26932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026933|126933|989898|1|9999026933|MR|Test|E|Lead 26933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026934|126934|989898|1|9999026934|MR|Test|E|Lead 26934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026935|126935|989898|1|9999026935|MR|Test|E|Lead 26935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026936|126936|989898|1|9999026936|MR|Test|E|Lead 26936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026937|126937|989898|1|9999026937|MR|Test|E|Lead 26937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026938|126938|989898|1|9999026938|MR|Test|E|Lead 26938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026939|126939|989898|1|9999026939|MR|Test|E|Lead 26939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026940|126940|989898|1|9999026940|MR|Test|E|Lead 26940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026941|126941|989898|1|9999026941|MR|Test|E|Lead 26941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026942|126942|989898|1|9999026942|MR|Test|E|Lead 26942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026943|126943|989898|1|9999026943|MR|Test|E|Lead 26943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026944|126944|989898|1|9999026944|MR|Test|E|Lead 26944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026945|126945|989898|1|9999026945|MR|Test|E|Lead 26945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026946|126946|989898|1|9999026946|MR|Test|E|Lead 26946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026947|126947|989898|1|9999026947|MR|Test|E|Lead 26947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026948|126948|989898|1|9999026948|MR|Test|E|Lead 26948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026949|126949|989898|1|9999026949|MR|Test|E|Lead 26949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026950|126950|989898|1|9999026950|MR|Test|E|Lead 26950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026951|126951|989898|1|9999026951|MR|Test|E|Lead 26951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026952|126952|989898|1|9999026952|MR|Test|E|Lead 26952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026953|126953|989898|1|9999026953|MR|Test|E|Lead 26953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026954|126954|989898|1|9999026954|MR|Test|E|Lead 26954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026955|126955|989898|1|9999026955|MR|Test|E|Lead 26955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026956|126956|989898|1|9999026956|MR|Test|E|Lead 26956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026957|126957|989898|1|9999026957|MR|Test|E|Lead 26957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026958|126958|989898|1|9999026958|MR|Test|E|Lead 26958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026959|126959|989898|1|9999026959|MR|Test|E|Lead 26959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026960|126960|989898|1|9999026960|MR|Test|E|Lead 26960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026961|126961|989898|1|9999026961|MR|Test|E|Lead 26961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026962|126962|989898|1|9999026962|MR|Test|E|Lead 26962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026963|126963|989898|1|9999026963|MR|Test|E|Lead 26963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026964|126964|989898|1|9999026964|MR|Test|E|Lead 26964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026965|126965|989898|1|9999026965|MR|Test|E|Lead 26965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026966|126966|989898|1|9999026966|MR|Test|E|Lead 26966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026967|126967|989898|1|9999026967|MR|Test|E|Lead 26967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026968|126968|989898|1|9999026968|MR|Test|E|Lead 26968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026969|126969|989898|1|9999026969|MR|Test|E|Lead 26969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026970|126970|989898|1|9999026970|MR|Test|E|Lead 26970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026971|126971|989898|1|9999026971|MR|Test|E|Lead 26971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026972|126972|989898|1|9999026972|MR|Test|E|Lead 26972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026973|126973|989898|1|9999026973|MR|Test|E|Lead 26973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026974|126974|989898|1|9999026974|MR|Test|E|Lead 26974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026975|126975|989898|1|9999026975|MR|Test|E|Lead 26975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026976|126976|989898|1|9999026976|MR|Test|E|Lead 26976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026977|126977|989898|1|9999026977|MR|Test|E|Lead 26977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026978|126978|989898|1|9999026978|MR|Test|E|Lead 26978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026979|126979|989898|1|9999026979|MR|Test|E|Lead 26979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026980|126980|989898|1|9999026980|MR|Test|E|Lead 26980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026981|126981|989898|1|9999026981|MR|Test|E|Lead 26981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026982|126982|989898|1|9999026982|MR|Test|E|Lead 26982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026983|126983|989898|1|9999026983|MR|Test|E|Lead 26983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026984|126984|989898|1|9999026984|MR|Test|E|Lead 26984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026985|126985|989898|1|9999026985|MR|Test|E|Lead 26985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026986|126986|989898|1|9999026986|MR|Test|E|Lead 26986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026987|126987|989898|1|9999026987|MR|Test|E|Lead 26987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026988|126988|989898|1|9999026988|MR|Test|E|Lead 26988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026989|126989|989898|1|9999026989|MR|Test|E|Lead 26989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026990|126990|989898|1|9999026990|MR|Test|E|Lead 26990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026991|126991|989898|1|9999026991|MR|Test|E|Lead 26991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026992|126992|989898|1|9999026992|MR|Test|E|Lead 26992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026993|126993|989898|1|9999026993|MR|Test|E|Lead 26993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026994|126994|989898|1|9999026994|MR|Test|E|Lead 26994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026995|126995|989898|1|9999026995|MR|Test|E|Lead 26995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026996|126996|989898|1|9999026996|MR|Test|E|Lead 26996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026997|126997|989898|1|9999026997|MR|Test|E|Lead 26997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026998|126998|989898|1|9999026998|MR|Test|E|Lead 26998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1026999|126999|989898|1|9999026999|MR|Test|E|Lead 26999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027000|127000|989898|1|9999027000|MR|Test|E|Lead 27000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027001|127001|989898|1|9999027001|MR|Test|E|Lead 27001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027002|127002|989898|1|9999027002|MR|Test|E|Lead 27002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027003|127003|989898|1|9999027003|MR|Test|E|Lead 27003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027004|127004|989898|1|9999027004|MR|Test|E|Lead 27004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027005|127005|989898|1|9999027005|MR|Test|E|Lead 27005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027006|127006|989898|1|9999027006|MR|Test|E|Lead 27006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027007|127007|989898|1|9999027007|MR|Test|E|Lead 27007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027008|127008|989898|1|9999027008|MR|Test|E|Lead 27008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027009|127009|989898|1|9999027009|MR|Test|E|Lead 27009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027010|127010|989898|1|9999027010|MR|Test|E|Lead 27010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027011|127011|989898|1|9999027011|MR|Test|E|Lead 27011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027012|127012|989898|1|9999027012|MR|Test|E|Lead 27012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027013|127013|989898|1|9999027013|MR|Test|E|Lead 27013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027014|127014|989898|1|9999027014|MR|Test|E|Lead 27014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027015|127015|989898|1|9999027015|MR|Test|E|Lead 27015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027016|127016|989898|1|9999027016|MR|Test|E|Lead 27016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027017|127017|989898|1|9999027017|MR|Test|E|Lead 27017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027018|127018|989898|1|9999027018|MR|Test|E|Lead 27018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027019|127019|989898|1|9999027019|MR|Test|E|Lead 27019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027020|127020|989898|1|9999027020|MR|Test|E|Lead 27020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027021|127021|989898|1|9999027021|MR|Test|E|Lead 27021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027022|127022|989898|1|9999027022|MR|Test|E|Lead 27022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027023|127023|989898|1|9999027023|MR|Test|E|Lead 27023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027024|127024|989898|1|9999027024|MR|Test|E|Lead 27024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027025|127025|989898|1|9999027025|MR|Test|E|Lead 27025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027026|127026|989898|1|9999027026|MR|Test|E|Lead 27026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027027|127027|989898|1|9999027027|MR|Test|E|Lead 27027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027028|127028|989898|1|9999027028|MR|Test|E|Lead 27028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027029|127029|989898|1|9999027029|MR|Test|E|Lead 27029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027030|127030|989898|1|9999027030|MR|Test|E|Lead 27030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027031|127031|989898|1|9999027031|MR|Test|E|Lead 27031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027032|127032|989898|1|9999027032|MR|Test|E|Lead 27032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027033|127033|989898|1|9999027033|MR|Test|E|Lead 27033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027034|127034|989898|1|9999027034|MR|Test|E|Lead 27034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027035|127035|989898|1|9999027035|MR|Test|E|Lead 27035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027036|127036|989898|1|9999027036|MR|Test|E|Lead 27036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027037|127037|989898|1|9999027037|MR|Test|E|Lead 27037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027038|127038|989898|1|9999027038|MR|Test|E|Lead 27038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027039|127039|989898|1|9999027039|MR|Test|E|Lead 27039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027040|127040|989898|1|9999027040|MR|Test|E|Lead 27040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027041|127041|989898|1|9999027041|MR|Test|E|Lead 27041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027042|127042|989898|1|9999027042|MR|Test|E|Lead 27042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027043|127043|989898|1|9999027043|MR|Test|E|Lead 27043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027044|127044|989898|1|9999027044|MR|Test|E|Lead 27044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027045|127045|989898|1|9999027045|MR|Test|E|Lead 27045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027046|127046|989898|1|9999027046|MR|Test|E|Lead 27046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027047|127047|989898|1|9999027047|MR|Test|E|Lead 27047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027048|127048|989898|1|9999027048|MR|Test|E|Lead 27048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027049|127049|989898|1|9999027049|MR|Test|E|Lead 27049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027050|127050|989898|1|9999027050|MR|Test|E|Lead 27050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027051|127051|989898|1|9999027051|MR|Test|E|Lead 27051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027052|127052|989898|1|9999027052|MR|Test|E|Lead 27052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027053|127053|989898|1|9999027053|MR|Test|E|Lead 27053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027054|127054|989898|1|9999027054|MR|Test|E|Lead 27054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027055|127055|989898|1|9999027055|MR|Test|E|Lead 27055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027056|127056|989898|1|9999027056|MR|Test|E|Lead 27056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027057|127057|989898|1|9999027057|MR|Test|E|Lead 27057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027058|127058|989898|1|9999027058|MR|Test|E|Lead 27058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027059|127059|989898|1|9999027059|MR|Test|E|Lead 27059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027060|127060|989898|1|9999027060|MR|Test|E|Lead 27060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027061|127061|989898|1|9999027061|MR|Test|E|Lead 27061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027062|127062|989898|1|9999027062|MR|Test|E|Lead 27062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027063|127063|989898|1|9999027063|MR|Test|E|Lead 27063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027064|127064|989898|1|9999027064|MR|Test|E|Lead 27064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027065|127065|989898|1|9999027065|MR|Test|E|Lead 27065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027066|127066|989898|1|9999027066|MR|Test|E|Lead 27066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027067|127067|989898|1|9999027067|MR|Test|E|Lead 27067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027068|127068|989898|1|9999027068|MR|Test|E|Lead 27068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027069|127069|989898|1|9999027069|MR|Test|E|Lead 27069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027070|127070|989898|1|9999027070|MR|Test|E|Lead 27070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027071|127071|989898|1|9999027071|MR|Test|E|Lead 27071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027072|127072|989898|1|9999027072|MR|Test|E|Lead 27072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027073|127073|989898|1|9999027073|MR|Test|E|Lead 27073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027074|127074|989898|1|9999027074|MR|Test|E|Lead 27074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027075|127075|989898|1|9999027075|MR|Test|E|Lead 27075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027076|127076|989898|1|9999027076|MR|Test|E|Lead 27076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027077|127077|989898|1|9999027077|MR|Test|E|Lead 27077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027078|127078|989898|1|9999027078|MR|Test|E|Lead 27078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027079|127079|989898|1|9999027079|MR|Test|E|Lead 27079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027080|127080|989898|1|9999027080|MR|Test|E|Lead 27080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027081|127081|989898|1|9999027081|MR|Test|E|Lead 27081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027082|127082|989898|1|9999027082|MR|Test|E|Lead 27082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027083|127083|989898|1|9999027083|MR|Test|E|Lead 27083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027084|127084|989898|1|9999027084|MR|Test|E|Lead 27084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027085|127085|989898|1|9999027085|MR|Test|E|Lead 27085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027086|127086|989898|1|9999027086|MR|Test|E|Lead 27086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027087|127087|989898|1|9999027087|MR|Test|E|Lead 27087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027088|127088|989898|1|9999027088|MR|Test|E|Lead 27088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027089|127089|989898|1|9999027089|MR|Test|E|Lead 27089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027090|127090|989898|1|9999027090|MR|Test|E|Lead 27090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027091|127091|989898|1|9999027091|MR|Test|E|Lead 27091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027092|127092|989898|1|9999027092|MR|Test|E|Lead 27092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027093|127093|989898|1|9999027093|MR|Test|E|Lead 27093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027094|127094|989898|1|9999027094|MR|Test|E|Lead 27094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027095|127095|989898|1|9999027095|MR|Test|E|Lead 27095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027096|127096|989898|1|9999027096|MR|Test|E|Lead 27096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027097|127097|989898|1|9999027097|MR|Test|E|Lead 27097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027098|127098|989898|1|9999027098|MR|Test|E|Lead 27098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027099|127099|989898|1|9999027099|MR|Test|E|Lead 27099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027100|127100|989898|1|9999027100|MR|Test|E|Lead 27100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027101|127101|989898|1|9999027101|MR|Test|E|Lead 27101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027102|127102|989898|1|9999027102|MR|Test|E|Lead 27102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027103|127103|989898|1|9999027103|MR|Test|E|Lead 27103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027104|127104|989898|1|9999027104|MR|Test|E|Lead 27104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027105|127105|989898|1|9999027105|MR|Test|E|Lead 27105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027106|127106|989898|1|9999027106|MR|Test|E|Lead 27106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027107|127107|989898|1|9999027107|MR|Test|E|Lead 27107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027108|127108|989898|1|9999027108|MR|Test|E|Lead 27108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027109|127109|989898|1|9999027109|MR|Test|E|Lead 27109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027110|127110|989898|1|9999027110|MR|Test|E|Lead 27110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027111|127111|989898|1|9999027111|MR|Test|E|Lead 27111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027112|127112|989898|1|9999027112|MR|Test|E|Lead 27112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027113|127113|989898|1|9999027113|MR|Test|E|Lead 27113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027114|127114|989898|1|9999027114|MR|Test|E|Lead 27114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027115|127115|989898|1|9999027115|MR|Test|E|Lead 27115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027116|127116|989898|1|9999027116|MR|Test|E|Lead 27116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027117|127117|989898|1|9999027117|MR|Test|E|Lead 27117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027118|127118|989898|1|9999027118|MR|Test|E|Lead 27118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027119|127119|989898|1|9999027119|MR|Test|E|Lead 27119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027120|127120|989898|1|9999027120|MR|Test|E|Lead 27120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027121|127121|989898|1|9999027121|MR|Test|E|Lead 27121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027122|127122|989898|1|9999027122|MR|Test|E|Lead 27122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027123|127123|989898|1|9999027123|MR|Test|E|Lead 27123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027124|127124|989898|1|9999027124|MR|Test|E|Lead 27124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027125|127125|989898|1|9999027125|MR|Test|E|Lead 27125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027126|127126|989898|1|9999027126|MR|Test|E|Lead 27126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027127|127127|989898|1|9999027127|MR|Test|E|Lead 27127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027128|127128|989898|1|9999027128|MR|Test|E|Lead 27128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027129|127129|989898|1|9999027129|MR|Test|E|Lead 27129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027130|127130|989898|1|9999027130|MR|Test|E|Lead 27130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027131|127131|989898|1|9999027131|MR|Test|E|Lead 27131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027132|127132|989898|1|9999027132|MR|Test|E|Lead 27132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027133|127133|989898|1|9999027133|MR|Test|E|Lead 27133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027134|127134|989898|1|9999027134|MR|Test|E|Lead 27134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027135|127135|989898|1|9999027135|MR|Test|E|Lead 27135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027136|127136|989898|1|9999027136|MR|Test|E|Lead 27136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027137|127137|989898|1|9999027137|MR|Test|E|Lead 27137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027138|127138|989898|1|9999027138|MR|Test|E|Lead 27138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027139|127139|989898|1|9999027139|MR|Test|E|Lead 27139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027140|127140|989898|1|9999027140|MR|Test|E|Lead 27140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027141|127141|989898|1|9999027141|MR|Test|E|Lead 27141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027142|127142|989898|1|9999027142|MR|Test|E|Lead 27142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027143|127143|989898|1|9999027143|MR|Test|E|Lead 27143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027144|127144|989898|1|9999027144|MR|Test|E|Lead 27144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027145|127145|989898|1|9999027145|MR|Test|E|Lead 27145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027146|127146|989898|1|9999027146|MR|Test|E|Lead 27146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027147|127147|989898|1|9999027147|MR|Test|E|Lead 27147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027148|127148|989898|1|9999027148|MR|Test|E|Lead 27148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027149|127149|989898|1|9999027149|MR|Test|E|Lead 27149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027150|127150|989898|1|9999027150|MR|Test|E|Lead 27150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027151|127151|989898|1|9999027151|MR|Test|E|Lead 27151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027152|127152|989898|1|9999027152|MR|Test|E|Lead 27152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027153|127153|989898|1|9999027153|MR|Test|E|Lead 27153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027154|127154|989898|1|9999027154|MR|Test|E|Lead 27154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027155|127155|989898|1|9999027155|MR|Test|E|Lead 27155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027156|127156|989898|1|9999027156|MR|Test|E|Lead 27156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027157|127157|989898|1|9999027157|MR|Test|E|Lead 27157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027158|127158|989898|1|9999027158|MR|Test|E|Lead 27158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027159|127159|989898|1|9999027159|MR|Test|E|Lead 27159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027160|127160|989898|1|9999027160|MR|Test|E|Lead 27160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027161|127161|989898|1|9999027161|MR|Test|E|Lead 27161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027162|127162|989898|1|9999027162|MR|Test|E|Lead 27162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027163|127163|989898|1|9999027163|MR|Test|E|Lead 27163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027164|127164|989898|1|9999027164|MR|Test|E|Lead 27164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027165|127165|989898|1|9999027165|MR|Test|E|Lead 27165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027166|127166|989898|1|9999027166|MR|Test|E|Lead 27166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027167|127167|989898|1|9999027167|MR|Test|E|Lead 27167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027168|127168|989898|1|9999027168|MR|Test|E|Lead 27168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027169|127169|989898|1|9999027169|MR|Test|E|Lead 27169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027170|127170|989898|1|9999027170|MR|Test|E|Lead 27170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027171|127171|989898|1|9999027171|MR|Test|E|Lead 27171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027172|127172|989898|1|9999027172|MR|Test|E|Lead 27172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027173|127173|989898|1|9999027173|MR|Test|E|Lead 27173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027174|127174|989898|1|9999027174|MR|Test|E|Lead 27174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027175|127175|989898|1|9999027175|MR|Test|E|Lead 27175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027176|127176|989898|1|9999027176|MR|Test|E|Lead 27176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027177|127177|989898|1|9999027177|MR|Test|E|Lead 27177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027178|127178|989898|1|9999027178|MR|Test|E|Lead 27178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027179|127179|989898|1|9999027179|MR|Test|E|Lead 27179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027180|127180|989898|1|9999027180|MR|Test|E|Lead 27180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027181|127181|989898|1|9999027181|MR|Test|E|Lead 27181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027182|127182|989898|1|9999027182|MR|Test|E|Lead 27182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027183|127183|989898|1|9999027183|MR|Test|E|Lead 27183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027184|127184|989898|1|9999027184|MR|Test|E|Lead 27184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027185|127185|989898|1|9999027185|MR|Test|E|Lead 27185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027186|127186|989898|1|9999027186|MR|Test|E|Lead 27186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027187|127187|989898|1|9999027187|MR|Test|E|Lead 27187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027188|127188|989898|1|9999027188|MR|Test|E|Lead 27188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027189|127189|989898|1|9999027189|MR|Test|E|Lead 27189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027190|127190|989898|1|9999027190|MR|Test|E|Lead 27190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027191|127191|989898|1|9999027191|MR|Test|E|Lead 27191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027192|127192|989898|1|9999027192|MR|Test|E|Lead 27192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027193|127193|989898|1|9999027193|MR|Test|E|Lead 27193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027194|127194|989898|1|9999027194|MR|Test|E|Lead 27194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027195|127195|989898|1|9999027195|MR|Test|E|Lead 27195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027196|127196|989898|1|9999027196|MR|Test|E|Lead 27196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027197|127197|989898|1|9999027197|MR|Test|E|Lead 27197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027198|127198|989898|1|9999027198|MR|Test|E|Lead 27198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027199|127199|989898|1|9999027199|MR|Test|E|Lead 27199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027200|127200|989898|1|9999027200|MR|Test|E|Lead 27200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027201|127201|989898|1|9999027201|MR|Test|E|Lead 27201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027202|127202|989898|1|9999027202|MR|Test|E|Lead 27202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027203|127203|989898|1|9999027203|MR|Test|E|Lead 27203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027204|127204|989898|1|9999027204|MR|Test|E|Lead 27204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027205|127205|989898|1|9999027205|MR|Test|E|Lead 27205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027206|127206|989898|1|9999027206|MR|Test|E|Lead 27206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027207|127207|989898|1|9999027207|MR|Test|E|Lead 27207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027208|127208|989898|1|9999027208|MR|Test|E|Lead 27208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027209|127209|989898|1|9999027209|MR|Test|E|Lead 27209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027210|127210|989898|1|9999027210|MR|Test|E|Lead 27210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027211|127211|989898|1|9999027211|MR|Test|E|Lead 27211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027212|127212|989898|1|9999027212|MR|Test|E|Lead 27212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027213|127213|989898|1|9999027213|MR|Test|E|Lead 27213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027214|127214|989898|1|9999027214|MR|Test|E|Lead 27214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027215|127215|989898|1|9999027215|MR|Test|E|Lead 27215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027216|127216|989898|1|9999027216|MR|Test|E|Lead 27216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027217|127217|989898|1|9999027217|MR|Test|E|Lead 27217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027218|127218|989898|1|9999027218|MR|Test|E|Lead 27218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027219|127219|989898|1|9999027219|MR|Test|E|Lead 27219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027220|127220|989898|1|9999027220|MR|Test|E|Lead 27220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027221|127221|989898|1|9999027221|MR|Test|E|Lead 27221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027222|127222|989898|1|9999027222|MR|Test|E|Lead 27222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027223|127223|989898|1|9999027223|MR|Test|E|Lead 27223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027224|127224|989898|1|9999027224|MR|Test|E|Lead 27224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027225|127225|989898|1|9999027225|MR|Test|E|Lead 27225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027226|127226|989898|1|9999027226|MR|Test|E|Lead 27226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027227|127227|989898|1|9999027227|MR|Test|E|Lead 27227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027228|127228|989898|1|9999027228|MR|Test|E|Lead 27228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027229|127229|989898|1|9999027229|MR|Test|E|Lead 27229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027230|127230|989898|1|9999027230|MR|Test|E|Lead 27230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027231|127231|989898|1|9999027231|MR|Test|E|Lead 27231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027232|127232|989898|1|9999027232|MR|Test|E|Lead 27232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027233|127233|989898|1|9999027233|MR|Test|E|Lead 27233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027234|127234|989898|1|9999027234|MR|Test|E|Lead 27234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027235|127235|989898|1|9999027235|MR|Test|E|Lead 27235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027236|127236|989898|1|9999027236|MR|Test|E|Lead 27236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027237|127237|989898|1|9999027237|MR|Test|E|Lead 27237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027238|127238|989898|1|9999027238|MR|Test|E|Lead 27238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027239|127239|989898|1|9999027239|MR|Test|E|Lead 27239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027240|127240|989898|1|9999027240|MR|Test|E|Lead 27240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027241|127241|989898|1|9999027241|MR|Test|E|Lead 27241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027242|127242|989898|1|9999027242|MR|Test|E|Lead 27242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027243|127243|989898|1|9999027243|MR|Test|E|Lead 27243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027244|127244|989898|1|9999027244|MR|Test|E|Lead 27244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027245|127245|989898|1|9999027245|MR|Test|E|Lead 27245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027246|127246|989898|1|9999027246|MR|Test|E|Lead 27246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027247|127247|989898|1|9999027247|MR|Test|E|Lead 27247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027248|127248|989898|1|9999027248|MR|Test|E|Lead 27248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027249|127249|989898|1|9999027249|MR|Test|E|Lead 27249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027250|127250|989898|1|9999027250|MR|Test|E|Lead 27250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027251|127251|989898|1|9999027251|MR|Test|E|Lead 27251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027252|127252|989898|1|9999027252|MR|Test|E|Lead 27252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027253|127253|989898|1|9999027253|MR|Test|E|Lead 27253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027254|127254|989898|1|9999027254|MR|Test|E|Lead 27254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027255|127255|989898|1|9999027255|MR|Test|E|Lead 27255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027256|127256|989898|1|9999027256|MR|Test|E|Lead 27256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027257|127257|989898|1|9999027257|MR|Test|E|Lead 27257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027258|127258|989898|1|9999027258|MR|Test|E|Lead 27258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027259|127259|989898|1|9999027259|MR|Test|E|Lead 27259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027260|127260|989898|1|9999027260|MR|Test|E|Lead 27260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027261|127261|989898|1|9999027261|MR|Test|E|Lead 27261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027262|127262|989898|1|9999027262|MR|Test|E|Lead 27262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027263|127263|989898|1|9999027263|MR|Test|E|Lead 27263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027264|127264|989898|1|9999027264|MR|Test|E|Lead 27264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027265|127265|989898|1|9999027265|MR|Test|E|Lead 27265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027266|127266|989898|1|9999027266|MR|Test|E|Lead 27266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027267|127267|989898|1|9999027267|MR|Test|E|Lead 27267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027268|127268|989898|1|9999027268|MR|Test|E|Lead 27268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027269|127269|989898|1|9999027269|MR|Test|E|Lead 27269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027270|127270|989898|1|9999027270|MR|Test|E|Lead 27270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027271|127271|989898|1|9999027271|MR|Test|E|Lead 27271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027272|127272|989898|1|9999027272|MR|Test|E|Lead 27272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027273|127273|989898|1|9999027273|MR|Test|E|Lead 27273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027274|127274|989898|1|9999027274|MR|Test|E|Lead 27274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027275|127275|989898|1|9999027275|MR|Test|E|Lead 27275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027276|127276|989898|1|9999027276|MR|Test|E|Lead 27276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027277|127277|989898|1|9999027277|MR|Test|E|Lead 27277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027278|127278|989898|1|9999027278|MR|Test|E|Lead 27278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027279|127279|989898|1|9999027279|MR|Test|E|Lead 27279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027280|127280|989898|1|9999027280|MR|Test|E|Lead 27280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027281|127281|989898|1|9999027281|MR|Test|E|Lead 27281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027282|127282|989898|1|9999027282|MR|Test|E|Lead 27282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027283|127283|989898|1|9999027283|MR|Test|E|Lead 27283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027284|127284|989898|1|9999027284|MR|Test|E|Lead 27284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027285|127285|989898|1|9999027285|MR|Test|E|Lead 27285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027286|127286|989898|1|9999027286|MR|Test|E|Lead 27286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027287|127287|989898|1|9999027287|MR|Test|E|Lead 27287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027288|127288|989898|1|9999027288|MR|Test|E|Lead 27288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027289|127289|989898|1|9999027289|MR|Test|E|Lead 27289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027290|127290|989898|1|9999027290|MR|Test|E|Lead 27290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027291|127291|989898|1|9999027291|MR|Test|E|Lead 27291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027292|127292|989898|1|9999027292|MR|Test|E|Lead 27292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027293|127293|989898|1|9999027293|MR|Test|E|Lead 27293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027294|127294|989898|1|9999027294|MR|Test|E|Lead 27294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027295|127295|989898|1|9999027295|MR|Test|E|Lead 27295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027296|127296|989898|1|9999027296|MR|Test|E|Lead 27296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027297|127297|989898|1|9999027297|MR|Test|E|Lead 27297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027298|127298|989898|1|9999027298|MR|Test|E|Lead 27298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027299|127299|989898|1|9999027299|MR|Test|E|Lead 27299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027300|127300|989898|1|9999027300|MR|Test|E|Lead 27300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027301|127301|989898|1|9999027301|MR|Test|E|Lead 27301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027302|127302|989898|1|9999027302|MR|Test|E|Lead 27302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027303|127303|989898|1|9999027303|MR|Test|E|Lead 27303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027304|127304|989898|1|9999027304|MR|Test|E|Lead 27304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027305|127305|989898|1|9999027305|MR|Test|E|Lead 27305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027306|127306|989898|1|9999027306|MR|Test|E|Lead 27306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027307|127307|989898|1|9999027307|MR|Test|E|Lead 27307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027308|127308|989898|1|9999027308|MR|Test|E|Lead 27308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027309|127309|989898|1|9999027309|MR|Test|E|Lead 27309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027310|127310|989898|1|9999027310|MR|Test|E|Lead 27310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027311|127311|989898|1|9999027311|MR|Test|E|Lead 27311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027312|127312|989898|1|9999027312|MR|Test|E|Lead 27312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027313|127313|989898|1|9999027313|MR|Test|E|Lead 27313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027314|127314|989898|1|9999027314|MR|Test|E|Lead 27314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027315|127315|989898|1|9999027315|MR|Test|E|Lead 27315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027316|127316|989898|1|9999027316|MR|Test|E|Lead 27316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027317|127317|989898|1|9999027317|MR|Test|E|Lead 27317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027318|127318|989898|1|9999027318|MR|Test|E|Lead 27318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027319|127319|989898|1|9999027319|MR|Test|E|Lead 27319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027320|127320|989898|1|9999027320|MR|Test|E|Lead 27320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027321|127321|989898|1|9999027321|MR|Test|E|Lead 27321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027322|127322|989898|1|9999027322|MR|Test|E|Lead 27322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027323|127323|989898|1|9999027323|MR|Test|E|Lead 27323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027324|127324|989898|1|9999027324|MR|Test|E|Lead 27324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027325|127325|989898|1|9999027325|MR|Test|E|Lead 27325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027326|127326|989898|1|9999027326|MR|Test|E|Lead 27326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027327|127327|989898|1|9999027327|MR|Test|E|Lead 27327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027328|127328|989898|1|9999027328|MR|Test|E|Lead 27328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027329|127329|989898|1|9999027329|MR|Test|E|Lead 27329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027330|127330|989898|1|9999027330|MR|Test|E|Lead 27330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027331|127331|989898|1|9999027331|MR|Test|E|Lead 27331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027332|127332|989898|1|9999027332|MR|Test|E|Lead 27332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027333|127333|989898|1|9999027333|MR|Test|E|Lead 27333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027334|127334|989898|1|9999027334|MR|Test|E|Lead 27334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027335|127335|989898|1|9999027335|MR|Test|E|Lead 27335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027336|127336|989898|1|9999027336|MR|Test|E|Lead 27336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027337|127337|989898|1|9999027337|MR|Test|E|Lead 27337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027338|127338|989898|1|9999027338|MR|Test|E|Lead 27338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027339|127339|989898|1|9999027339|MR|Test|E|Lead 27339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027340|127340|989898|1|9999027340|MR|Test|E|Lead 27340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027341|127341|989898|1|9999027341|MR|Test|E|Lead 27341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027342|127342|989898|1|9999027342|MR|Test|E|Lead 27342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027343|127343|989898|1|9999027343|MR|Test|E|Lead 27343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027344|127344|989898|1|9999027344|MR|Test|E|Lead 27344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027345|127345|989898|1|9999027345|MR|Test|E|Lead 27345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027346|127346|989898|1|9999027346|MR|Test|E|Lead 27346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027347|127347|989898|1|9999027347|MR|Test|E|Lead 27347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027348|127348|989898|1|9999027348|MR|Test|E|Lead 27348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027349|127349|989898|1|9999027349|MR|Test|E|Lead 27349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027350|127350|989898|1|9999027350|MR|Test|E|Lead 27350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027351|127351|989898|1|9999027351|MR|Test|E|Lead 27351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027352|127352|989898|1|9999027352|MR|Test|E|Lead 27352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027353|127353|989898|1|9999027353|MR|Test|E|Lead 27353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027354|127354|989898|1|9999027354|MR|Test|E|Lead 27354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027355|127355|989898|1|9999027355|MR|Test|E|Lead 27355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027356|127356|989898|1|9999027356|MR|Test|E|Lead 27356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027357|127357|989898|1|9999027357|MR|Test|E|Lead 27357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027358|127358|989898|1|9999027358|MR|Test|E|Lead 27358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027359|127359|989898|1|9999027359|MR|Test|E|Lead 27359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027360|127360|989898|1|9999027360|MR|Test|E|Lead 27360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027361|127361|989898|1|9999027361|MR|Test|E|Lead 27361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027362|127362|989898|1|9999027362|MR|Test|E|Lead 27362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027363|127363|989898|1|9999027363|MR|Test|E|Lead 27363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027364|127364|989898|1|9999027364|MR|Test|E|Lead 27364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027365|127365|989898|1|9999027365|MR|Test|E|Lead 27365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027366|127366|989898|1|9999027366|MR|Test|E|Lead 27366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027367|127367|989898|1|9999027367|MR|Test|E|Lead 27367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027368|127368|989898|1|9999027368|MR|Test|E|Lead 27368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027369|127369|989898|1|9999027369|MR|Test|E|Lead 27369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027370|127370|989898|1|9999027370|MR|Test|E|Lead 27370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027371|127371|989898|1|9999027371|MR|Test|E|Lead 27371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027372|127372|989898|1|9999027372|MR|Test|E|Lead 27372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027373|127373|989898|1|9999027373|MR|Test|E|Lead 27373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027374|127374|989898|1|9999027374|MR|Test|E|Lead 27374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027375|127375|989898|1|9999027375|MR|Test|E|Lead 27375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027376|127376|989898|1|9999027376|MR|Test|E|Lead 27376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027377|127377|989898|1|9999027377|MR|Test|E|Lead 27377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027378|127378|989898|1|9999027378|MR|Test|E|Lead 27378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027379|127379|989898|1|9999027379|MR|Test|E|Lead 27379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027380|127380|989898|1|9999027380|MR|Test|E|Lead 27380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027381|127381|989898|1|9999027381|MR|Test|E|Lead 27381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027382|127382|989898|1|9999027382|MR|Test|E|Lead 27382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027383|127383|989898|1|9999027383|MR|Test|E|Lead 27383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027384|127384|989898|1|9999027384|MR|Test|E|Lead 27384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027385|127385|989898|1|9999027385|MR|Test|E|Lead 27385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027386|127386|989898|1|9999027386|MR|Test|E|Lead 27386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027387|127387|989898|1|9999027387|MR|Test|E|Lead 27387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027388|127388|989898|1|9999027388|MR|Test|E|Lead 27388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027389|127389|989898|1|9999027389|MR|Test|E|Lead 27389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027390|127390|989898|1|9999027390|MR|Test|E|Lead 27390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027391|127391|989898|1|9999027391|MR|Test|E|Lead 27391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027392|127392|989898|1|9999027392|MR|Test|E|Lead 27392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027393|127393|989898|1|9999027393|MR|Test|E|Lead 27393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027394|127394|989898|1|9999027394|MR|Test|E|Lead 27394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027395|127395|989898|1|9999027395|MR|Test|E|Lead 27395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027396|127396|989898|1|9999027396|MR|Test|E|Lead 27396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027397|127397|989898|1|9999027397|MR|Test|E|Lead 27397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027398|127398|989898|1|9999027398|MR|Test|E|Lead 27398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027399|127399|989898|1|9999027399|MR|Test|E|Lead 27399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027400|127400|989898|1|9999027400|MR|Test|E|Lead 27400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027401|127401|989898|1|9999027401|MR|Test|E|Lead 27401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027402|127402|989898|1|9999027402|MR|Test|E|Lead 27402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027403|127403|989898|1|9999027403|MR|Test|E|Lead 27403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027404|127404|989898|1|9999027404|MR|Test|E|Lead 27404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027405|127405|989898|1|9999027405|MR|Test|E|Lead 27405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027406|127406|989898|1|9999027406|MR|Test|E|Lead 27406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027407|127407|989898|1|9999027407|MR|Test|E|Lead 27407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027408|127408|989898|1|9999027408|MR|Test|E|Lead 27408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027409|127409|989898|1|9999027409|MR|Test|E|Lead 27409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027410|127410|989898|1|9999027410|MR|Test|E|Lead 27410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027411|127411|989898|1|9999027411|MR|Test|E|Lead 27411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027412|127412|989898|1|9999027412|MR|Test|E|Lead 27412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027413|127413|989898|1|9999027413|MR|Test|E|Lead 27413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027414|127414|989898|1|9999027414|MR|Test|E|Lead 27414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027415|127415|989898|1|9999027415|MR|Test|E|Lead 27415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027416|127416|989898|1|9999027416|MR|Test|E|Lead 27416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027417|127417|989898|1|9999027417|MR|Test|E|Lead 27417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027418|127418|989898|1|9999027418|MR|Test|E|Lead 27418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027419|127419|989898|1|9999027419|MR|Test|E|Lead 27419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027420|127420|989898|1|9999027420|MR|Test|E|Lead 27420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027421|127421|989898|1|9999027421|MR|Test|E|Lead 27421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027422|127422|989898|1|9999027422|MR|Test|E|Lead 27422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027423|127423|989898|1|9999027423|MR|Test|E|Lead 27423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027424|127424|989898|1|9999027424|MR|Test|E|Lead 27424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027425|127425|989898|1|9999027425|MR|Test|E|Lead 27425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027426|127426|989898|1|9999027426|MR|Test|E|Lead 27426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027427|127427|989898|1|9999027427|MR|Test|E|Lead 27427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027428|127428|989898|1|9999027428|MR|Test|E|Lead 27428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027429|127429|989898|1|9999027429|MR|Test|E|Lead 27429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027430|127430|989898|1|9999027430|MR|Test|E|Lead 27430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027431|127431|989898|1|9999027431|MR|Test|E|Lead 27431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027432|127432|989898|1|9999027432|MR|Test|E|Lead 27432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027433|127433|989898|1|9999027433|MR|Test|E|Lead 27433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027434|127434|989898|1|9999027434|MR|Test|E|Lead 27434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027435|127435|989898|1|9999027435|MR|Test|E|Lead 27435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027436|127436|989898|1|9999027436|MR|Test|E|Lead 27436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027437|127437|989898|1|9999027437|MR|Test|E|Lead 27437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027438|127438|989898|1|9999027438|MR|Test|E|Lead 27438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027439|127439|989898|1|9999027439|MR|Test|E|Lead 27439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027440|127440|989898|1|9999027440|MR|Test|E|Lead 27440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027441|127441|989898|1|9999027441|MR|Test|E|Lead 27441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027442|127442|989898|1|9999027442|MR|Test|E|Lead 27442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027443|127443|989898|1|9999027443|MR|Test|E|Lead 27443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027444|127444|989898|1|9999027444|MR|Test|E|Lead 27444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027445|127445|989898|1|9999027445|MR|Test|E|Lead 27445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027446|127446|989898|1|9999027446|MR|Test|E|Lead 27446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027447|127447|989898|1|9999027447|MR|Test|E|Lead 27447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027448|127448|989898|1|9999027448|MR|Test|E|Lead 27448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027449|127449|989898|1|9999027449|MR|Test|E|Lead 27449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027450|127450|989898|1|9999027450|MR|Test|E|Lead 27450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027451|127451|989898|1|9999027451|MR|Test|E|Lead 27451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027452|127452|989898|1|9999027452|MR|Test|E|Lead 27452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027453|127453|989898|1|9999027453|MR|Test|E|Lead 27453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027454|127454|989898|1|9999027454|MR|Test|E|Lead 27454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027455|127455|989898|1|9999027455|MR|Test|E|Lead 27455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027456|127456|989898|1|9999027456|MR|Test|E|Lead 27456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027457|127457|989898|1|9999027457|MR|Test|E|Lead 27457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027458|127458|989898|1|9999027458|MR|Test|E|Lead 27458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027459|127459|989898|1|9999027459|MR|Test|E|Lead 27459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027460|127460|989898|1|9999027460|MR|Test|E|Lead 27460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027461|127461|989898|1|9999027461|MR|Test|E|Lead 27461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027462|127462|989898|1|9999027462|MR|Test|E|Lead 27462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027463|127463|989898|1|9999027463|MR|Test|E|Lead 27463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027464|127464|989898|1|9999027464|MR|Test|E|Lead 27464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027465|127465|989898|1|9999027465|MR|Test|E|Lead 27465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027466|127466|989898|1|9999027466|MR|Test|E|Lead 27466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027467|127467|989898|1|9999027467|MR|Test|E|Lead 27467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027468|127468|989898|1|9999027468|MR|Test|E|Lead 27468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027469|127469|989898|1|9999027469|MR|Test|E|Lead 27469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027470|127470|989898|1|9999027470|MR|Test|E|Lead 27470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027471|127471|989898|1|9999027471|MR|Test|E|Lead 27471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027472|127472|989898|1|9999027472|MR|Test|E|Lead 27472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027473|127473|989898|1|9999027473|MR|Test|E|Lead 27473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027474|127474|989898|1|9999027474|MR|Test|E|Lead 27474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027475|127475|989898|1|9999027475|MR|Test|E|Lead 27475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027476|127476|989898|1|9999027476|MR|Test|E|Lead 27476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027477|127477|989898|1|9999027477|MR|Test|E|Lead 27477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027478|127478|989898|1|9999027478|MR|Test|E|Lead 27478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027479|127479|989898|1|9999027479|MR|Test|E|Lead 27479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027480|127480|989898|1|9999027480|MR|Test|E|Lead 27480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027481|127481|989898|1|9999027481|MR|Test|E|Lead 27481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027482|127482|989898|1|9999027482|MR|Test|E|Lead 27482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027483|127483|989898|1|9999027483|MR|Test|E|Lead 27483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027484|127484|989898|1|9999027484|MR|Test|E|Lead 27484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027485|127485|989898|1|9999027485|MR|Test|E|Lead 27485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027486|127486|989898|1|9999027486|MR|Test|E|Lead 27486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027487|127487|989898|1|9999027487|MR|Test|E|Lead 27487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027488|127488|989898|1|9999027488|MR|Test|E|Lead 27488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027489|127489|989898|1|9999027489|MR|Test|E|Lead 27489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027490|127490|989898|1|9999027490|MR|Test|E|Lead 27490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027491|127491|989898|1|9999027491|MR|Test|E|Lead 27491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027492|127492|989898|1|9999027492|MR|Test|E|Lead 27492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027493|127493|989898|1|9999027493|MR|Test|E|Lead 27493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027494|127494|989898|1|9999027494|MR|Test|E|Lead 27494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027495|127495|989898|1|9999027495|MR|Test|E|Lead 27495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027496|127496|989898|1|9999027496|MR|Test|E|Lead 27496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027497|127497|989898|1|9999027497|MR|Test|E|Lead 27497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027498|127498|989898|1|9999027498|MR|Test|E|Lead 27498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027499|127499|989898|1|9999027499|MR|Test|E|Lead 27499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027500|127500|989898|1|9999027500|MR|Test|E|Lead 27500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027501|127501|989898|1|9999027501|MR|Test|E|Lead 27501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027502|127502|989898|1|9999027502|MR|Test|E|Lead 27502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027503|127503|989898|1|9999027503|MR|Test|E|Lead 27503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027504|127504|989898|1|9999027504|MR|Test|E|Lead 27504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027505|127505|989898|1|9999027505|MR|Test|E|Lead 27505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027506|127506|989898|1|9999027506|MR|Test|E|Lead 27506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027507|127507|989898|1|9999027507|MR|Test|E|Lead 27507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027508|127508|989898|1|9999027508|MR|Test|E|Lead 27508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027509|127509|989898|1|9999027509|MR|Test|E|Lead 27509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027510|127510|989898|1|9999027510|MR|Test|E|Lead 27510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027511|127511|989898|1|9999027511|MR|Test|E|Lead 27511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027512|127512|989898|1|9999027512|MR|Test|E|Lead 27512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027513|127513|989898|1|9999027513|MR|Test|E|Lead 27513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027514|127514|989898|1|9999027514|MR|Test|E|Lead 27514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027515|127515|989898|1|9999027515|MR|Test|E|Lead 27515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027516|127516|989898|1|9999027516|MR|Test|E|Lead 27516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027517|127517|989898|1|9999027517|MR|Test|E|Lead 27517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027518|127518|989898|1|9999027518|MR|Test|E|Lead 27518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027519|127519|989898|1|9999027519|MR|Test|E|Lead 27519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027520|127520|989898|1|9999027520|MR|Test|E|Lead 27520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027521|127521|989898|1|9999027521|MR|Test|E|Lead 27521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027522|127522|989898|1|9999027522|MR|Test|E|Lead 27522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027523|127523|989898|1|9999027523|MR|Test|E|Lead 27523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027524|127524|989898|1|9999027524|MR|Test|E|Lead 27524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027525|127525|989898|1|9999027525|MR|Test|E|Lead 27525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027526|127526|989898|1|9999027526|MR|Test|E|Lead 27526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027527|127527|989898|1|9999027527|MR|Test|E|Lead 27527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027528|127528|989898|1|9999027528|MR|Test|E|Lead 27528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027529|127529|989898|1|9999027529|MR|Test|E|Lead 27529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027530|127530|989898|1|9999027530|MR|Test|E|Lead 27530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027531|127531|989898|1|9999027531|MR|Test|E|Lead 27531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027532|127532|989898|1|9999027532|MR|Test|E|Lead 27532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027533|127533|989898|1|9999027533|MR|Test|E|Lead 27533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027534|127534|989898|1|9999027534|MR|Test|E|Lead 27534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027535|127535|989898|1|9999027535|MR|Test|E|Lead 27535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027536|127536|989898|1|9999027536|MR|Test|E|Lead 27536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027537|127537|989898|1|9999027537|MR|Test|E|Lead 27537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027538|127538|989898|1|9999027538|MR|Test|E|Lead 27538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027539|127539|989898|1|9999027539|MR|Test|E|Lead 27539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027540|127540|989898|1|9999027540|MR|Test|E|Lead 27540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027541|127541|989898|1|9999027541|MR|Test|E|Lead 27541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027542|127542|989898|1|9999027542|MR|Test|E|Lead 27542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027543|127543|989898|1|9999027543|MR|Test|E|Lead 27543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027544|127544|989898|1|9999027544|MR|Test|E|Lead 27544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027545|127545|989898|1|9999027545|MR|Test|E|Lead 27545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027546|127546|989898|1|9999027546|MR|Test|E|Lead 27546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027547|127547|989898|1|9999027547|MR|Test|E|Lead 27547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027548|127548|989898|1|9999027548|MR|Test|E|Lead 27548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027549|127549|989898|1|9999027549|MR|Test|E|Lead 27549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027550|127550|989898|1|9999027550|MR|Test|E|Lead 27550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027551|127551|989898|1|9999027551|MR|Test|E|Lead 27551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027552|127552|989898|1|9999027552|MR|Test|E|Lead 27552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027553|127553|989898|1|9999027553|MR|Test|E|Lead 27553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027554|127554|989898|1|9999027554|MR|Test|E|Lead 27554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027555|127555|989898|1|9999027555|MR|Test|E|Lead 27555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027556|127556|989898|1|9999027556|MR|Test|E|Lead 27556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027557|127557|989898|1|9999027557|MR|Test|E|Lead 27557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027558|127558|989898|1|9999027558|MR|Test|E|Lead 27558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027559|127559|989898|1|9999027559|MR|Test|E|Lead 27559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027560|127560|989898|1|9999027560|MR|Test|E|Lead 27560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027561|127561|989898|1|9999027561|MR|Test|E|Lead 27561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027562|127562|989898|1|9999027562|MR|Test|E|Lead 27562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027563|127563|989898|1|9999027563|MR|Test|E|Lead 27563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027564|127564|989898|1|9999027564|MR|Test|E|Lead 27564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027565|127565|989898|1|9999027565|MR|Test|E|Lead 27565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027566|127566|989898|1|9999027566|MR|Test|E|Lead 27566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027567|127567|989898|1|9999027567|MR|Test|E|Lead 27567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027568|127568|989898|1|9999027568|MR|Test|E|Lead 27568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027569|127569|989898|1|9999027569|MR|Test|E|Lead 27569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027570|127570|989898|1|9999027570|MR|Test|E|Lead 27570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027571|127571|989898|1|9999027571|MR|Test|E|Lead 27571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027572|127572|989898|1|9999027572|MR|Test|E|Lead 27572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027573|127573|989898|1|9999027573|MR|Test|E|Lead 27573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027574|127574|989898|1|9999027574|MR|Test|E|Lead 27574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027575|127575|989898|1|9999027575|MR|Test|E|Lead 27575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027576|127576|989898|1|9999027576|MR|Test|E|Lead 27576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027577|127577|989898|1|9999027577|MR|Test|E|Lead 27577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027578|127578|989898|1|9999027578|MR|Test|E|Lead 27578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027579|127579|989898|1|9999027579|MR|Test|E|Lead 27579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027580|127580|989898|1|9999027580|MR|Test|E|Lead 27580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027581|127581|989898|1|9999027581|MR|Test|E|Lead 27581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027582|127582|989898|1|9999027582|MR|Test|E|Lead 27582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027583|127583|989898|1|9999027583|MR|Test|E|Lead 27583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027584|127584|989898|1|9999027584|MR|Test|E|Lead 27584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027585|127585|989898|1|9999027585|MR|Test|E|Lead 27585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027586|127586|989898|1|9999027586|MR|Test|E|Lead 27586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027587|127587|989898|1|9999027587|MR|Test|E|Lead 27587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027588|127588|989898|1|9999027588|MR|Test|E|Lead 27588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027589|127589|989898|1|9999027589|MR|Test|E|Lead 27589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027590|127590|989898|1|9999027590|MR|Test|E|Lead 27590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027591|127591|989898|1|9999027591|MR|Test|E|Lead 27591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027592|127592|989898|1|9999027592|MR|Test|E|Lead 27592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027593|127593|989898|1|9999027593|MR|Test|E|Lead 27593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027594|127594|989898|1|9999027594|MR|Test|E|Lead 27594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027595|127595|989898|1|9999027595|MR|Test|E|Lead 27595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027596|127596|989898|1|9999027596|MR|Test|E|Lead 27596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027597|127597|989898|1|9999027597|MR|Test|E|Lead 27597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027598|127598|989898|1|9999027598|MR|Test|E|Lead 27598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027599|127599|989898|1|9999027599|MR|Test|E|Lead 27599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027600|127600|989898|1|9999027600|MR|Test|E|Lead 27600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027601|127601|989898|1|9999027601|MR|Test|E|Lead 27601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027602|127602|989898|1|9999027602|MR|Test|E|Lead 27602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027603|127603|989898|1|9999027603|MR|Test|E|Lead 27603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027604|127604|989898|1|9999027604|MR|Test|E|Lead 27604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027605|127605|989898|1|9999027605|MR|Test|E|Lead 27605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027606|127606|989898|1|9999027606|MR|Test|E|Lead 27606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027607|127607|989898|1|9999027607|MR|Test|E|Lead 27607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027608|127608|989898|1|9999027608|MR|Test|E|Lead 27608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027609|127609|989898|1|9999027609|MR|Test|E|Lead 27609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027610|127610|989898|1|9999027610|MR|Test|E|Lead 27610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027611|127611|989898|1|9999027611|MR|Test|E|Lead 27611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027612|127612|989898|1|9999027612|MR|Test|E|Lead 27612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027613|127613|989898|1|9999027613|MR|Test|E|Lead 27613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027614|127614|989898|1|9999027614|MR|Test|E|Lead 27614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027615|127615|989898|1|9999027615|MR|Test|E|Lead 27615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027616|127616|989898|1|9999027616|MR|Test|E|Lead 27616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027617|127617|989898|1|9999027617|MR|Test|E|Lead 27617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027618|127618|989898|1|9999027618|MR|Test|E|Lead 27618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027619|127619|989898|1|9999027619|MR|Test|E|Lead 27619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027620|127620|989898|1|9999027620|MR|Test|E|Lead 27620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027621|127621|989898|1|9999027621|MR|Test|E|Lead 27621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027622|127622|989898|1|9999027622|MR|Test|E|Lead 27622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027623|127623|989898|1|9999027623|MR|Test|E|Lead 27623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027624|127624|989898|1|9999027624|MR|Test|E|Lead 27624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027625|127625|989898|1|9999027625|MR|Test|E|Lead 27625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027626|127626|989898|1|9999027626|MR|Test|E|Lead 27626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027627|127627|989898|1|9999027627|MR|Test|E|Lead 27627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027628|127628|989898|1|9999027628|MR|Test|E|Lead 27628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027629|127629|989898|1|9999027629|MR|Test|E|Lead 27629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027630|127630|989898|1|9999027630|MR|Test|E|Lead 27630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027631|127631|989898|1|9999027631|MR|Test|E|Lead 27631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027632|127632|989898|1|9999027632|MR|Test|E|Lead 27632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027633|127633|989898|1|9999027633|MR|Test|E|Lead 27633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027634|127634|989898|1|9999027634|MR|Test|E|Lead 27634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027635|127635|989898|1|9999027635|MR|Test|E|Lead 27635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027636|127636|989898|1|9999027636|MR|Test|E|Lead 27636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027637|127637|989898|1|9999027637|MR|Test|E|Lead 27637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027638|127638|989898|1|9999027638|MR|Test|E|Lead 27638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027639|127639|989898|1|9999027639|MR|Test|E|Lead 27639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027640|127640|989898|1|9999027640|MR|Test|E|Lead 27640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027641|127641|989898|1|9999027641|MR|Test|E|Lead 27641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027642|127642|989898|1|9999027642|MR|Test|E|Lead 27642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027643|127643|989898|1|9999027643|MR|Test|E|Lead 27643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027644|127644|989898|1|9999027644|MR|Test|E|Lead 27644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027645|127645|989898|1|9999027645|MR|Test|E|Lead 27645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027646|127646|989898|1|9999027646|MR|Test|E|Lead 27646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027647|127647|989898|1|9999027647|MR|Test|E|Lead 27647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027648|127648|989898|1|9999027648|MR|Test|E|Lead 27648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027649|127649|989898|1|9999027649|MR|Test|E|Lead 27649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027650|127650|989898|1|9999027650|MR|Test|E|Lead 27650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027651|127651|989898|1|9999027651|MR|Test|E|Lead 27651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027652|127652|989898|1|9999027652|MR|Test|E|Lead 27652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027653|127653|989898|1|9999027653|MR|Test|E|Lead 27653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027654|127654|989898|1|9999027654|MR|Test|E|Lead 27654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027655|127655|989898|1|9999027655|MR|Test|E|Lead 27655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027656|127656|989898|1|9999027656|MR|Test|E|Lead 27656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027657|127657|989898|1|9999027657|MR|Test|E|Lead 27657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027658|127658|989898|1|9999027658|MR|Test|E|Lead 27658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027659|127659|989898|1|9999027659|MR|Test|E|Lead 27659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027660|127660|989898|1|9999027660|MR|Test|E|Lead 27660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027661|127661|989898|1|9999027661|MR|Test|E|Lead 27661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027662|127662|989898|1|9999027662|MR|Test|E|Lead 27662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027663|127663|989898|1|9999027663|MR|Test|E|Lead 27663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027664|127664|989898|1|9999027664|MR|Test|E|Lead 27664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027665|127665|989898|1|9999027665|MR|Test|E|Lead 27665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027666|127666|989898|1|9999027666|MR|Test|E|Lead 27666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027667|127667|989898|1|9999027667|MR|Test|E|Lead 27667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027668|127668|989898|1|9999027668|MR|Test|E|Lead 27668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027669|127669|989898|1|9999027669|MR|Test|E|Lead 27669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027670|127670|989898|1|9999027670|MR|Test|E|Lead 27670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027671|127671|989898|1|9999027671|MR|Test|E|Lead 27671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027672|127672|989898|1|9999027672|MR|Test|E|Lead 27672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027673|127673|989898|1|9999027673|MR|Test|E|Lead 27673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027674|127674|989898|1|9999027674|MR|Test|E|Lead 27674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027675|127675|989898|1|9999027675|MR|Test|E|Lead 27675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027676|127676|989898|1|9999027676|MR|Test|E|Lead 27676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027677|127677|989898|1|9999027677|MR|Test|E|Lead 27677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027678|127678|989898|1|9999027678|MR|Test|E|Lead 27678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027679|127679|989898|1|9999027679|MR|Test|E|Lead 27679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027680|127680|989898|1|9999027680|MR|Test|E|Lead 27680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027681|127681|989898|1|9999027681|MR|Test|E|Lead 27681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027682|127682|989898|1|9999027682|MR|Test|E|Lead 27682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027683|127683|989898|1|9999027683|MR|Test|E|Lead 27683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027684|127684|989898|1|9999027684|MR|Test|E|Lead 27684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027685|127685|989898|1|9999027685|MR|Test|E|Lead 27685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027686|127686|989898|1|9999027686|MR|Test|E|Lead 27686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027687|127687|989898|1|9999027687|MR|Test|E|Lead 27687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027688|127688|989898|1|9999027688|MR|Test|E|Lead 27688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027689|127689|989898|1|9999027689|MR|Test|E|Lead 27689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027690|127690|989898|1|9999027690|MR|Test|E|Lead 27690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027691|127691|989898|1|9999027691|MR|Test|E|Lead 27691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027692|127692|989898|1|9999027692|MR|Test|E|Lead 27692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027693|127693|989898|1|9999027693|MR|Test|E|Lead 27693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027694|127694|989898|1|9999027694|MR|Test|E|Lead 27694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027695|127695|989898|1|9999027695|MR|Test|E|Lead 27695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027696|127696|989898|1|9999027696|MR|Test|E|Lead 27696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027697|127697|989898|1|9999027697|MR|Test|E|Lead 27697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027698|127698|989898|1|9999027698|MR|Test|E|Lead 27698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027699|127699|989898|1|9999027699|MR|Test|E|Lead 27699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027700|127700|989898|1|9999027700|MR|Test|E|Lead 27700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027701|127701|989898|1|9999027701|MR|Test|E|Lead 27701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027702|127702|989898|1|9999027702|MR|Test|E|Lead 27702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027703|127703|989898|1|9999027703|MR|Test|E|Lead 27703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027704|127704|989898|1|9999027704|MR|Test|E|Lead 27704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027705|127705|989898|1|9999027705|MR|Test|E|Lead 27705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027706|127706|989898|1|9999027706|MR|Test|E|Lead 27706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027707|127707|989898|1|9999027707|MR|Test|E|Lead 27707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027708|127708|989898|1|9999027708|MR|Test|E|Lead 27708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027709|127709|989898|1|9999027709|MR|Test|E|Lead 27709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027710|127710|989898|1|9999027710|MR|Test|E|Lead 27710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027711|127711|989898|1|9999027711|MR|Test|E|Lead 27711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027712|127712|989898|1|9999027712|MR|Test|E|Lead 27712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027713|127713|989898|1|9999027713|MR|Test|E|Lead 27713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027714|127714|989898|1|9999027714|MR|Test|E|Lead 27714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027715|127715|989898|1|9999027715|MR|Test|E|Lead 27715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027716|127716|989898|1|9999027716|MR|Test|E|Lead 27716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027717|127717|989898|1|9999027717|MR|Test|E|Lead 27717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027718|127718|989898|1|9999027718|MR|Test|E|Lead 27718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027719|127719|989898|1|9999027719|MR|Test|E|Lead 27719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027720|127720|989898|1|9999027720|MR|Test|E|Lead 27720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027721|127721|989898|1|9999027721|MR|Test|E|Lead 27721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027722|127722|989898|1|9999027722|MR|Test|E|Lead 27722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027723|127723|989898|1|9999027723|MR|Test|E|Lead 27723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027724|127724|989898|1|9999027724|MR|Test|E|Lead 27724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027725|127725|989898|1|9999027725|MR|Test|E|Lead 27725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027726|127726|989898|1|9999027726|MR|Test|E|Lead 27726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027727|127727|989898|1|9999027727|MR|Test|E|Lead 27727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027728|127728|989898|1|9999027728|MR|Test|E|Lead 27728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027729|127729|989898|1|9999027729|MR|Test|E|Lead 27729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027730|127730|989898|1|9999027730|MR|Test|E|Lead 27730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027731|127731|989898|1|9999027731|MR|Test|E|Lead 27731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027732|127732|989898|1|9999027732|MR|Test|E|Lead 27732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027733|127733|989898|1|9999027733|MR|Test|E|Lead 27733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027734|127734|989898|1|9999027734|MR|Test|E|Lead 27734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027735|127735|989898|1|9999027735|MR|Test|E|Lead 27735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027736|127736|989898|1|9999027736|MR|Test|E|Lead 27736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027737|127737|989898|1|9999027737|MR|Test|E|Lead 27737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027738|127738|989898|1|9999027738|MR|Test|E|Lead 27738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027739|127739|989898|1|9999027739|MR|Test|E|Lead 27739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027740|127740|989898|1|9999027740|MR|Test|E|Lead 27740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027741|127741|989898|1|9999027741|MR|Test|E|Lead 27741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027742|127742|989898|1|9999027742|MR|Test|E|Lead 27742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027743|127743|989898|1|9999027743|MR|Test|E|Lead 27743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027744|127744|989898|1|9999027744|MR|Test|E|Lead 27744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027745|127745|989898|1|9999027745|MR|Test|E|Lead 27745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027746|127746|989898|1|9999027746|MR|Test|E|Lead 27746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027747|127747|989898|1|9999027747|MR|Test|E|Lead 27747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027748|127748|989898|1|9999027748|MR|Test|E|Lead 27748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027749|127749|989898|1|9999027749|MR|Test|E|Lead 27749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027750|127750|989898|1|9999027750|MR|Test|E|Lead 27750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027751|127751|989898|1|9999027751|MR|Test|E|Lead 27751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027752|127752|989898|1|9999027752|MR|Test|E|Lead 27752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027753|127753|989898|1|9999027753|MR|Test|E|Lead 27753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027754|127754|989898|1|9999027754|MR|Test|E|Lead 27754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027755|127755|989898|1|9999027755|MR|Test|E|Lead 27755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027756|127756|989898|1|9999027756|MR|Test|E|Lead 27756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027757|127757|989898|1|9999027757|MR|Test|E|Lead 27757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027758|127758|989898|1|9999027758|MR|Test|E|Lead 27758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027759|127759|989898|1|9999027759|MR|Test|E|Lead 27759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027760|127760|989898|1|9999027760|MR|Test|E|Lead 27760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027761|127761|989898|1|9999027761|MR|Test|E|Lead 27761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027762|127762|989898|1|9999027762|MR|Test|E|Lead 27762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027763|127763|989898|1|9999027763|MR|Test|E|Lead 27763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027764|127764|989898|1|9999027764|MR|Test|E|Lead 27764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027765|127765|989898|1|9999027765|MR|Test|E|Lead 27765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027766|127766|989898|1|9999027766|MR|Test|E|Lead 27766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027767|127767|989898|1|9999027767|MR|Test|E|Lead 27767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027768|127768|989898|1|9999027768|MR|Test|E|Lead 27768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027769|127769|989898|1|9999027769|MR|Test|E|Lead 27769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027770|127770|989898|1|9999027770|MR|Test|E|Lead 27770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027771|127771|989898|1|9999027771|MR|Test|E|Lead 27771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027772|127772|989898|1|9999027772|MR|Test|E|Lead 27772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027773|127773|989898|1|9999027773|MR|Test|E|Lead 27773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027774|127774|989898|1|9999027774|MR|Test|E|Lead 27774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027775|127775|989898|1|9999027775|MR|Test|E|Lead 27775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027776|127776|989898|1|9999027776|MR|Test|E|Lead 27776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027777|127777|989898|1|9999027777|MR|Test|E|Lead 27777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027778|127778|989898|1|9999027778|MR|Test|E|Lead 27778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027779|127779|989898|1|9999027779|MR|Test|E|Lead 27779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027780|127780|989898|1|9999027780|MR|Test|E|Lead 27780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027781|127781|989898|1|9999027781|MR|Test|E|Lead 27781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027782|127782|989898|1|9999027782|MR|Test|E|Lead 27782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027783|127783|989898|1|9999027783|MR|Test|E|Lead 27783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027784|127784|989898|1|9999027784|MR|Test|E|Lead 27784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027785|127785|989898|1|9999027785|MR|Test|E|Lead 27785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027786|127786|989898|1|9999027786|MR|Test|E|Lead 27786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027787|127787|989898|1|9999027787|MR|Test|E|Lead 27787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027788|127788|989898|1|9999027788|MR|Test|E|Lead 27788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027789|127789|989898|1|9999027789|MR|Test|E|Lead 27789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027790|127790|989898|1|9999027790|MR|Test|E|Lead 27790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027791|127791|989898|1|9999027791|MR|Test|E|Lead 27791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027792|127792|989898|1|9999027792|MR|Test|E|Lead 27792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027793|127793|989898|1|9999027793|MR|Test|E|Lead 27793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027794|127794|989898|1|9999027794|MR|Test|E|Lead 27794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027795|127795|989898|1|9999027795|MR|Test|E|Lead 27795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027796|127796|989898|1|9999027796|MR|Test|E|Lead 27796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027797|127797|989898|1|9999027797|MR|Test|E|Lead 27797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027798|127798|989898|1|9999027798|MR|Test|E|Lead 27798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027799|127799|989898|1|9999027799|MR|Test|E|Lead 27799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027800|127800|989898|1|9999027800|MR|Test|E|Lead 27800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027801|127801|989898|1|9999027801|MR|Test|E|Lead 27801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027802|127802|989898|1|9999027802|MR|Test|E|Lead 27802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027803|127803|989898|1|9999027803|MR|Test|E|Lead 27803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027804|127804|989898|1|9999027804|MR|Test|E|Lead 27804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027805|127805|989898|1|9999027805|MR|Test|E|Lead 27805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027806|127806|989898|1|9999027806|MR|Test|E|Lead 27806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027807|127807|989898|1|9999027807|MR|Test|E|Lead 27807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027808|127808|989898|1|9999027808|MR|Test|E|Lead 27808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027809|127809|989898|1|9999027809|MR|Test|E|Lead 27809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027810|127810|989898|1|9999027810|MR|Test|E|Lead 27810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027811|127811|989898|1|9999027811|MR|Test|E|Lead 27811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027812|127812|989898|1|9999027812|MR|Test|E|Lead 27812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027813|127813|989898|1|9999027813|MR|Test|E|Lead 27813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027814|127814|989898|1|9999027814|MR|Test|E|Lead 27814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027815|127815|989898|1|9999027815|MR|Test|E|Lead 27815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027816|127816|989898|1|9999027816|MR|Test|E|Lead 27816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027817|127817|989898|1|9999027817|MR|Test|E|Lead 27817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027818|127818|989898|1|9999027818|MR|Test|E|Lead 27818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027819|127819|989898|1|9999027819|MR|Test|E|Lead 27819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027820|127820|989898|1|9999027820|MR|Test|E|Lead 27820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027821|127821|989898|1|9999027821|MR|Test|E|Lead 27821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027822|127822|989898|1|9999027822|MR|Test|E|Lead 27822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027823|127823|989898|1|9999027823|MR|Test|E|Lead 27823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027824|127824|989898|1|9999027824|MR|Test|E|Lead 27824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027825|127825|989898|1|9999027825|MR|Test|E|Lead 27825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027826|127826|989898|1|9999027826|MR|Test|E|Lead 27826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027827|127827|989898|1|9999027827|MR|Test|E|Lead 27827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027828|127828|989898|1|9999027828|MR|Test|E|Lead 27828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027829|127829|989898|1|9999027829|MR|Test|E|Lead 27829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027830|127830|989898|1|9999027830|MR|Test|E|Lead 27830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027831|127831|989898|1|9999027831|MR|Test|E|Lead 27831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027832|127832|989898|1|9999027832|MR|Test|E|Lead 27832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027833|127833|989898|1|9999027833|MR|Test|E|Lead 27833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027834|127834|989898|1|9999027834|MR|Test|E|Lead 27834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027835|127835|989898|1|9999027835|MR|Test|E|Lead 27835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027836|127836|989898|1|9999027836|MR|Test|E|Lead 27836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027837|127837|989898|1|9999027837|MR|Test|E|Lead 27837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027838|127838|989898|1|9999027838|MR|Test|E|Lead 27838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027839|127839|989898|1|9999027839|MR|Test|E|Lead 27839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027840|127840|989898|1|9999027840|MR|Test|E|Lead 27840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027841|127841|989898|1|9999027841|MR|Test|E|Lead 27841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027842|127842|989898|1|9999027842|MR|Test|E|Lead 27842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027843|127843|989898|1|9999027843|MR|Test|E|Lead 27843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027844|127844|989898|1|9999027844|MR|Test|E|Lead 27844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027845|127845|989898|1|9999027845|MR|Test|E|Lead 27845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027846|127846|989898|1|9999027846|MR|Test|E|Lead 27846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027847|127847|989898|1|9999027847|MR|Test|E|Lead 27847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027848|127848|989898|1|9999027848|MR|Test|E|Lead 27848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027849|127849|989898|1|9999027849|MR|Test|E|Lead 27849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027850|127850|989898|1|9999027850|MR|Test|E|Lead 27850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027851|127851|989898|1|9999027851|MR|Test|E|Lead 27851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027852|127852|989898|1|9999027852|MR|Test|E|Lead 27852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027853|127853|989898|1|9999027853|MR|Test|E|Lead 27853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027854|127854|989898|1|9999027854|MR|Test|E|Lead 27854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027855|127855|989898|1|9999027855|MR|Test|E|Lead 27855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027856|127856|989898|1|9999027856|MR|Test|E|Lead 27856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027857|127857|989898|1|9999027857|MR|Test|E|Lead 27857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027858|127858|989898|1|9999027858|MR|Test|E|Lead 27858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027859|127859|989898|1|9999027859|MR|Test|E|Lead 27859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027860|127860|989898|1|9999027860|MR|Test|E|Lead 27860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027861|127861|989898|1|9999027861|MR|Test|E|Lead 27861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027862|127862|989898|1|9999027862|MR|Test|E|Lead 27862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027863|127863|989898|1|9999027863|MR|Test|E|Lead 27863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027864|127864|989898|1|9999027864|MR|Test|E|Lead 27864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027865|127865|989898|1|9999027865|MR|Test|E|Lead 27865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027866|127866|989898|1|9999027866|MR|Test|E|Lead 27866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027867|127867|989898|1|9999027867|MR|Test|E|Lead 27867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027868|127868|989898|1|9999027868|MR|Test|E|Lead 27868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027869|127869|989898|1|9999027869|MR|Test|E|Lead 27869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027870|127870|989898|1|9999027870|MR|Test|E|Lead 27870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027871|127871|989898|1|9999027871|MR|Test|E|Lead 27871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027872|127872|989898|1|9999027872|MR|Test|E|Lead 27872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027873|127873|989898|1|9999027873|MR|Test|E|Lead 27873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027874|127874|989898|1|9999027874|MR|Test|E|Lead 27874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027875|127875|989898|1|9999027875|MR|Test|E|Lead 27875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027876|127876|989898|1|9999027876|MR|Test|E|Lead 27876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027877|127877|989898|1|9999027877|MR|Test|E|Lead 27877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027878|127878|989898|1|9999027878|MR|Test|E|Lead 27878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027879|127879|989898|1|9999027879|MR|Test|E|Lead 27879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027880|127880|989898|1|9999027880|MR|Test|E|Lead 27880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027881|127881|989898|1|9999027881|MR|Test|E|Lead 27881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027882|127882|989898|1|9999027882|MR|Test|E|Lead 27882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027883|127883|989898|1|9999027883|MR|Test|E|Lead 27883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027884|127884|989898|1|9999027884|MR|Test|E|Lead 27884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027885|127885|989898|1|9999027885|MR|Test|E|Lead 27885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027886|127886|989898|1|9999027886|MR|Test|E|Lead 27886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027887|127887|989898|1|9999027887|MR|Test|E|Lead 27887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027888|127888|989898|1|9999027888|MR|Test|E|Lead 27888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027889|127889|989898|1|9999027889|MR|Test|E|Lead 27889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027890|127890|989898|1|9999027890|MR|Test|E|Lead 27890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027891|127891|989898|1|9999027891|MR|Test|E|Lead 27891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027892|127892|989898|1|9999027892|MR|Test|E|Lead 27892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027893|127893|989898|1|9999027893|MR|Test|E|Lead 27893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027894|127894|989898|1|9999027894|MR|Test|E|Lead 27894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027895|127895|989898|1|9999027895|MR|Test|E|Lead 27895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027896|127896|989898|1|9999027896|MR|Test|E|Lead 27896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027897|127897|989898|1|9999027897|MR|Test|E|Lead 27897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027898|127898|989898|1|9999027898|MR|Test|E|Lead 27898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027899|127899|989898|1|9999027899|MR|Test|E|Lead 27899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027900|127900|989898|1|9999027900|MR|Test|E|Lead 27900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027901|127901|989898|1|9999027901|MR|Test|E|Lead 27901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027902|127902|989898|1|9999027902|MR|Test|E|Lead 27902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027903|127903|989898|1|9999027903|MR|Test|E|Lead 27903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027904|127904|989898|1|9999027904|MR|Test|E|Lead 27904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027905|127905|989898|1|9999027905|MR|Test|E|Lead 27905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027906|127906|989898|1|9999027906|MR|Test|E|Lead 27906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027907|127907|989898|1|9999027907|MR|Test|E|Lead 27907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027908|127908|989898|1|9999027908|MR|Test|E|Lead 27908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027909|127909|989898|1|9999027909|MR|Test|E|Lead 27909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027910|127910|989898|1|9999027910|MR|Test|E|Lead 27910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027911|127911|989898|1|9999027911|MR|Test|E|Lead 27911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027912|127912|989898|1|9999027912|MR|Test|E|Lead 27912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027913|127913|989898|1|9999027913|MR|Test|E|Lead 27913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027914|127914|989898|1|9999027914|MR|Test|E|Lead 27914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027915|127915|989898|1|9999027915|MR|Test|E|Lead 27915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027916|127916|989898|1|9999027916|MR|Test|E|Lead 27916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027917|127917|989898|1|9999027917|MR|Test|E|Lead 27917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027918|127918|989898|1|9999027918|MR|Test|E|Lead 27918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027919|127919|989898|1|9999027919|MR|Test|E|Lead 27919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027920|127920|989898|1|9999027920|MR|Test|E|Lead 27920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027921|127921|989898|1|9999027921|MR|Test|E|Lead 27921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027922|127922|989898|1|9999027922|MR|Test|E|Lead 27922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027923|127923|989898|1|9999027923|MR|Test|E|Lead 27923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027924|127924|989898|1|9999027924|MR|Test|E|Lead 27924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027925|127925|989898|1|9999027925|MR|Test|E|Lead 27925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027926|127926|989898|1|9999027926|MR|Test|E|Lead 27926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027927|127927|989898|1|9999027927|MR|Test|E|Lead 27927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027928|127928|989898|1|9999027928|MR|Test|E|Lead 27928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027929|127929|989898|1|9999027929|MR|Test|E|Lead 27929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027930|127930|989898|1|9999027930|MR|Test|E|Lead 27930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027931|127931|989898|1|9999027931|MR|Test|E|Lead 27931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027932|127932|989898|1|9999027932|MR|Test|E|Lead 27932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027933|127933|989898|1|9999027933|MR|Test|E|Lead 27933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027934|127934|989898|1|9999027934|MR|Test|E|Lead 27934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027935|127935|989898|1|9999027935|MR|Test|E|Lead 27935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027936|127936|989898|1|9999027936|MR|Test|E|Lead 27936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027937|127937|989898|1|9999027937|MR|Test|E|Lead 27937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027938|127938|989898|1|9999027938|MR|Test|E|Lead 27938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027939|127939|989898|1|9999027939|MR|Test|E|Lead 27939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027940|127940|989898|1|9999027940|MR|Test|E|Lead 27940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027941|127941|989898|1|9999027941|MR|Test|E|Lead 27941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027942|127942|989898|1|9999027942|MR|Test|E|Lead 27942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027943|127943|989898|1|9999027943|MR|Test|E|Lead 27943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027944|127944|989898|1|9999027944|MR|Test|E|Lead 27944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027945|127945|989898|1|9999027945|MR|Test|E|Lead 27945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027946|127946|989898|1|9999027946|MR|Test|E|Lead 27946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027947|127947|989898|1|9999027947|MR|Test|E|Lead 27947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027948|127948|989898|1|9999027948|MR|Test|E|Lead 27948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027949|127949|989898|1|9999027949|MR|Test|E|Lead 27949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027950|127950|989898|1|9999027950|MR|Test|E|Lead 27950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027951|127951|989898|1|9999027951|MR|Test|E|Lead 27951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027952|127952|989898|1|9999027952|MR|Test|E|Lead 27952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027953|127953|989898|1|9999027953|MR|Test|E|Lead 27953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027954|127954|989898|1|9999027954|MR|Test|E|Lead 27954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027955|127955|989898|1|9999027955|MR|Test|E|Lead 27955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027956|127956|989898|1|9999027956|MR|Test|E|Lead 27956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027957|127957|989898|1|9999027957|MR|Test|E|Lead 27957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027958|127958|989898|1|9999027958|MR|Test|E|Lead 27958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027959|127959|989898|1|9999027959|MR|Test|E|Lead 27959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027960|127960|989898|1|9999027960|MR|Test|E|Lead 27960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027961|127961|989898|1|9999027961|MR|Test|E|Lead 27961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027962|127962|989898|1|9999027962|MR|Test|E|Lead 27962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027963|127963|989898|1|9999027963|MR|Test|E|Lead 27963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027964|127964|989898|1|9999027964|MR|Test|E|Lead 27964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027965|127965|989898|1|9999027965|MR|Test|E|Lead 27965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027966|127966|989898|1|9999027966|MR|Test|E|Lead 27966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027967|127967|989898|1|9999027967|MR|Test|E|Lead 27967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027968|127968|989898|1|9999027968|MR|Test|E|Lead 27968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027969|127969|989898|1|9999027969|MR|Test|E|Lead 27969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027970|127970|989898|1|9999027970|MR|Test|E|Lead 27970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027971|127971|989898|1|9999027971|MR|Test|E|Lead 27971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027972|127972|989898|1|9999027972|MR|Test|E|Lead 27972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027973|127973|989898|1|9999027973|MR|Test|E|Lead 27973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027974|127974|989898|1|9999027974|MR|Test|E|Lead 27974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027975|127975|989898|1|9999027975|MR|Test|E|Lead 27975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027976|127976|989898|1|9999027976|MR|Test|E|Lead 27976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027977|127977|989898|1|9999027977|MR|Test|E|Lead 27977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027978|127978|989898|1|9999027978|MR|Test|E|Lead 27978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027979|127979|989898|1|9999027979|MR|Test|E|Lead 27979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027980|127980|989898|1|9999027980|MR|Test|E|Lead 27980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027981|127981|989898|1|9999027981|MR|Test|E|Lead 27981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027982|127982|989898|1|9999027982|MR|Test|E|Lead 27982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027983|127983|989898|1|9999027983|MR|Test|E|Lead 27983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027984|127984|989898|1|9999027984|MR|Test|E|Lead 27984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027985|127985|989898|1|9999027985|MR|Test|E|Lead 27985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027986|127986|989898|1|9999027986|MR|Test|E|Lead 27986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027987|127987|989898|1|9999027987|MR|Test|E|Lead 27987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027988|127988|989898|1|9999027988|MR|Test|E|Lead 27988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027989|127989|989898|1|9999027989|MR|Test|E|Lead 27989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027990|127990|989898|1|9999027990|MR|Test|E|Lead 27990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027991|127991|989898|1|9999027991|MR|Test|E|Lead 27991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027992|127992|989898|1|9999027992|MR|Test|E|Lead 27992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027993|127993|989898|1|9999027993|MR|Test|E|Lead 27993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027994|127994|989898|1|9999027994|MR|Test|E|Lead 27994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027995|127995|989898|1|9999027995|MR|Test|E|Lead 27995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027996|127996|989898|1|9999027996|MR|Test|E|Lead 27996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027997|127997|989898|1|9999027997|MR|Test|E|Lead 27997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027998|127998|989898|1|9999027998|MR|Test|E|Lead 27998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1027999|127999|989898|1|9999027999|MR|Test|E|Lead 27999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028000|128000|989898|1|9999028000|MR|Test|E|Lead 28000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028001|128001|989898|1|9999028001|MR|Test|E|Lead 28001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028002|128002|989898|1|9999028002|MR|Test|E|Lead 28002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028003|128003|989898|1|9999028003|MR|Test|E|Lead 28003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028004|128004|989898|1|9999028004|MR|Test|E|Lead 28004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028005|128005|989898|1|9999028005|MR|Test|E|Lead 28005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028006|128006|989898|1|9999028006|MR|Test|E|Lead 28006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028007|128007|989898|1|9999028007|MR|Test|E|Lead 28007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028008|128008|989898|1|9999028008|MR|Test|E|Lead 28008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028009|128009|989898|1|9999028009|MR|Test|E|Lead 28009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028010|128010|989898|1|9999028010|MR|Test|E|Lead 28010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028011|128011|989898|1|9999028011|MR|Test|E|Lead 28011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028012|128012|989898|1|9999028012|MR|Test|E|Lead 28012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028013|128013|989898|1|9999028013|MR|Test|E|Lead 28013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028014|128014|989898|1|9999028014|MR|Test|E|Lead 28014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028015|128015|989898|1|9999028015|MR|Test|E|Lead 28015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028016|128016|989898|1|9999028016|MR|Test|E|Lead 28016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028017|128017|989898|1|9999028017|MR|Test|E|Lead 28017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028018|128018|989898|1|9999028018|MR|Test|E|Lead 28018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028019|128019|989898|1|9999028019|MR|Test|E|Lead 28019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028020|128020|989898|1|9999028020|MR|Test|E|Lead 28020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028021|128021|989898|1|9999028021|MR|Test|E|Lead 28021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028022|128022|989898|1|9999028022|MR|Test|E|Lead 28022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028023|128023|989898|1|9999028023|MR|Test|E|Lead 28023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028024|128024|989898|1|9999028024|MR|Test|E|Lead 28024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028025|128025|989898|1|9999028025|MR|Test|E|Lead 28025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028026|128026|989898|1|9999028026|MR|Test|E|Lead 28026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028027|128027|989898|1|9999028027|MR|Test|E|Lead 28027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028028|128028|989898|1|9999028028|MR|Test|E|Lead 28028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028029|128029|989898|1|9999028029|MR|Test|E|Lead 28029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028030|128030|989898|1|9999028030|MR|Test|E|Lead 28030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028031|128031|989898|1|9999028031|MR|Test|E|Lead 28031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028032|128032|989898|1|9999028032|MR|Test|E|Lead 28032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028033|128033|989898|1|9999028033|MR|Test|E|Lead 28033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028034|128034|989898|1|9999028034|MR|Test|E|Lead 28034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028035|128035|989898|1|9999028035|MR|Test|E|Lead 28035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028036|128036|989898|1|9999028036|MR|Test|E|Lead 28036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028037|128037|989898|1|9999028037|MR|Test|E|Lead 28037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028038|128038|989898|1|9999028038|MR|Test|E|Lead 28038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028039|128039|989898|1|9999028039|MR|Test|E|Lead 28039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028040|128040|989898|1|9999028040|MR|Test|E|Lead 28040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028041|128041|989898|1|9999028041|MR|Test|E|Lead 28041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028042|128042|989898|1|9999028042|MR|Test|E|Lead 28042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028043|128043|989898|1|9999028043|MR|Test|E|Lead 28043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028044|128044|989898|1|9999028044|MR|Test|E|Lead 28044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028045|128045|989898|1|9999028045|MR|Test|E|Lead 28045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028046|128046|989898|1|9999028046|MR|Test|E|Lead 28046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028047|128047|989898|1|9999028047|MR|Test|E|Lead 28047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028048|128048|989898|1|9999028048|MR|Test|E|Lead 28048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028049|128049|989898|1|9999028049|MR|Test|E|Lead 28049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028050|128050|989898|1|9999028050|MR|Test|E|Lead 28050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028051|128051|989898|1|9999028051|MR|Test|E|Lead 28051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028052|128052|989898|1|9999028052|MR|Test|E|Lead 28052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028053|128053|989898|1|9999028053|MR|Test|E|Lead 28053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028054|128054|989898|1|9999028054|MR|Test|E|Lead 28054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028055|128055|989898|1|9999028055|MR|Test|E|Lead 28055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028056|128056|989898|1|9999028056|MR|Test|E|Lead 28056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028057|128057|989898|1|9999028057|MR|Test|E|Lead 28057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028058|128058|989898|1|9999028058|MR|Test|E|Lead 28058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028059|128059|989898|1|9999028059|MR|Test|E|Lead 28059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028060|128060|989898|1|9999028060|MR|Test|E|Lead 28060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028061|128061|989898|1|9999028061|MR|Test|E|Lead 28061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028062|128062|989898|1|9999028062|MR|Test|E|Lead 28062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028063|128063|989898|1|9999028063|MR|Test|E|Lead 28063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028064|128064|989898|1|9999028064|MR|Test|E|Lead 28064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028065|128065|989898|1|9999028065|MR|Test|E|Lead 28065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028066|128066|989898|1|9999028066|MR|Test|E|Lead 28066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028067|128067|989898|1|9999028067|MR|Test|E|Lead 28067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028068|128068|989898|1|9999028068|MR|Test|E|Lead 28068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028069|128069|989898|1|9999028069|MR|Test|E|Lead 28069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028070|128070|989898|1|9999028070|MR|Test|E|Lead 28070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028071|128071|989898|1|9999028071|MR|Test|E|Lead 28071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028072|128072|989898|1|9999028072|MR|Test|E|Lead 28072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028073|128073|989898|1|9999028073|MR|Test|E|Lead 28073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028074|128074|989898|1|9999028074|MR|Test|E|Lead 28074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028075|128075|989898|1|9999028075|MR|Test|E|Lead 28075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028076|128076|989898|1|9999028076|MR|Test|E|Lead 28076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028077|128077|989898|1|9999028077|MR|Test|E|Lead 28077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028078|128078|989898|1|9999028078|MR|Test|E|Lead 28078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028079|128079|989898|1|9999028079|MR|Test|E|Lead 28079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028080|128080|989898|1|9999028080|MR|Test|E|Lead 28080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028081|128081|989898|1|9999028081|MR|Test|E|Lead 28081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028082|128082|989898|1|9999028082|MR|Test|E|Lead 28082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028083|128083|989898|1|9999028083|MR|Test|E|Lead 28083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028084|128084|989898|1|9999028084|MR|Test|E|Lead 28084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028085|128085|989898|1|9999028085|MR|Test|E|Lead 28085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028086|128086|989898|1|9999028086|MR|Test|E|Lead 28086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028087|128087|989898|1|9999028087|MR|Test|E|Lead 28087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028088|128088|989898|1|9999028088|MR|Test|E|Lead 28088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028089|128089|989898|1|9999028089|MR|Test|E|Lead 28089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028090|128090|989898|1|9999028090|MR|Test|E|Lead 28090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028091|128091|989898|1|9999028091|MR|Test|E|Lead 28091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028092|128092|989898|1|9999028092|MR|Test|E|Lead 28092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028093|128093|989898|1|9999028093|MR|Test|E|Lead 28093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028094|128094|989898|1|9999028094|MR|Test|E|Lead 28094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028095|128095|989898|1|9999028095|MR|Test|E|Lead 28095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028096|128096|989898|1|9999028096|MR|Test|E|Lead 28096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028097|128097|989898|1|9999028097|MR|Test|E|Lead 28097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028098|128098|989898|1|9999028098|MR|Test|E|Lead 28098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028099|128099|989898|1|9999028099|MR|Test|E|Lead 28099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028100|128100|989898|1|9999028100|MR|Test|E|Lead 28100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028101|128101|989898|1|9999028101|MR|Test|E|Lead 28101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028102|128102|989898|1|9999028102|MR|Test|E|Lead 28102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028103|128103|989898|1|9999028103|MR|Test|E|Lead 28103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028104|128104|989898|1|9999028104|MR|Test|E|Lead 28104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028105|128105|989898|1|9999028105|MR|Test|E|Lead 28105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028106|128106|989898|1|9999028106|MR|Test|E|Lead 28106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028107|128107|989898|1|9999028107|MR|Test|E|Lead 28107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028108|128108|989898|1|9999028108|MR|Test|E|Lead 28108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028109|128109|989898|1|9999028109|MR|Test|E|Lead 28109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028110|128110|989898|1|9999028110|MR|Test|E|Lead 28110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028111|128111|989898|1|9999028111|MR|Test|E|Lead 28111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028112|128112|989898|1|9999028112|MR|Test|E|Lead 28112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028113|128113|989898|1|9999028113|MR|Test|E|Lead 28113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028114|128114|989898|1|9999028114|MR|Test|E|Lead 28114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028115|128115|989898|1|9999028115|MR|Test|E|Lead 28115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028116|128116|989898|1|9999028116|MR|Test|E|Lead 28116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028117|128117|989898|1|9999028117|MR|Test|E|Lead 28117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028118|128118|989898|1|9999028118|MR|Test|E|Lead 28118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028119|128119|989898|1|9999028119|MR|Test|E|Lead 28119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028120|128120|989898|1|9999028120|MR|Test|E|Lead 28120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028121|128121|989898|1|9999028121|MR|Test|E|Lead 28121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028122|128122|989898|1|9999028122|MR|Test|E|Lead 28122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028123|128123|989898|1|9999028123|MR|Test|E|Lead 28123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028124|128124|989898|1|9999028124|MR|Test|E|Lead 28124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028125|128125|989898|1|9999028125|MR|Test|E|Lead 28125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028126|128126|989898|1|9999028126|MR|Test|E|Lead 28126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028127|128127|989898|1|9999028127|MR|Test|E|Lead 28127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028128|128128|989898|1|9999028128|MR|Test|E|Lead 28128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028129|128129|989898|1|9999028129|MR|Test|E|Lead 28129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028130|128130|989898|1|9999028130|MR|Test|E|Lead 28130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028131|128131|989898|1|9999028131|MR|Test|E|Lead 28131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028132|128132|989898|1|9999028132|MR|Test|E|Lead 28132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028133|128133|989898|1|9999028133|MR|Test|E|Lead 28133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028134|128134|989898|1|9999028134|MR|Test|E|Lead 28134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028135|128135|989898|1|9999028135|MR|Test|E|Lead 28135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028136|128136|989898|1|9999028136|MR|Test|E|Lead 28136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028137|128137|989898|1|9999028137|MR|Test|E|Lead 28137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028138|128138|989898|1|9999028138|MR|Test|E|Lead 28138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028139|128139|989898|1|9999028139|MR|Test|E|Lead 28139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028140|128140|989898|1|9999028140|MR|Test|E|Lead 28140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028141|128141|989898|1|9999028141|MR|Test|E|Lead 28141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028142|128142|989898|1|9999028142|MR|Test|E|Lead 28142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028143|128143|989898|1|9999028143|MR|Test|E|Lead 28143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028144|128144|989898|1|9999028144|MR|Test|E|Lead 28144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028145|128145|989898|1|9999028145|MR|Test|E|Lead 28145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028146|128146|989898|1|9999028146|MR|Test|E|Lead 28146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028147|128147|989898|1|9999028147|MR|Test|E|Lead 28147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028148|128148|989898|1|9999028148|MR|Test|E|Lead 28148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028149|128149|989898|1|9999028149|MR|Test|E|Lead 28149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028150|128150|989898|1|9999028150|MR|Test|E|Lead 28150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028151|128151|989898|1|9999028151|MR|Test|E|Lead 28151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028152|128152|989898|1|9999028152|MR|Test|E|Lead 28152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028153|128153|989898|1|9999028153|MR|Test|E|Lead 28153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028154|128154|989898|1|9999028154|MR|Test|E|Lead 28154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028155|128155|989898|1|9999028155|MR|Test|E|Lead 28155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028156|128156|989898|1|9999028156|MR|Test|E|Lead 28156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028157|128157|989898|1|9999028157|MR|Test|E|Lead 28157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028158|128158|989898|1|9999028158|MR|Test|E|Lead 28158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028159|128159|989898|1|9999028159|MR|Test|E|Lead 28159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028160|128160|989898|1|9999028160|MR|Test|E|Lead 28160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028161|128161|989898|1|9999028161|MR|Test|E|Lead 28161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028162|128162|989898|1|9999028162|MR|Test|E|Lead 28162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028163|128163|989898|1|9999028163|MR|Test|E|Lead 28163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028164|128164|989898|1|9999028164|MR|Test|E|Lead 28164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028165|128165|989898|1|9999028165|MR|Test|E|Lead 28165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028166|128166|989898|1|9999028166|MR|Test|E|Lead 28166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028167|128167|989898|1|9999028167|MR|Test|E|Lead 28167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028168|128168|989898|1|9999028168|MR|Test|E|Lead 28168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028169|128169|989898|1|9999028169|MR|Test|E|Lead 28169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028170|128170|989898|1|9999028170|MR|Test|E|Lead 28170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028171|128171|989898|1|9999028171|MR|Test|E|Lead 28171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028172|128172|989898|1|9999028172|MR|Test|E|Lead 28172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028173|128173|989898|1|9999028173|MR|Test|E|Lead 28173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028174|128174|989898|1|9999028174|MR|Test|E|Lead 28174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028175|128175|989898|1|9999028175|MR|Test|E|Lead 28175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028176|128176|989898|1|9999028176|MR|Test|E|Lead 28176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028177|128177|989898|1|9999028177|MR|Test|E|Lead 28177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028178|128178|989898|1|9999028178|MR|Test|E|Lead 28178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028179|128179|989898|1|9999028179|MR|Test|E|Lead 28179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028180|128180|989898|1|9999028180|MR|Test|E|Lead 28180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028181|128181|989898|1|9999028181|MR|Test|E|Lead 28181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028182|128182|989898|1|9999028182|MR|Test|E|Lead 28182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028183|128183|989898|1|9999028183|MR|Test|E|Lead 28183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028184|128184|989898|1|9999028184|MR|Test|E|Lead 28184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028185|128185|989898|1|9999028185|MR|Test|E|Lead 28185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028186|128186|989898|1|9999028186|MR|Test|E|Lead 28186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028187|128187|989898|1|9999028187|MR|Test|E|Lead 28187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028188|128188|989898|1|9999028188|MR|Test|E|Lead 28188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028189|128189|989898|1|9999028189|MR|Test|E|Lead 28189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028190|128190|989898|1|9999028190|MR|Test|E|Lead 28190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028191|128191|989898|1|9999028191|MR|Test|E|Lead 28191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028192|128192|989898|1|9999028192|MR|Test|E|Lead 28192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028193|128193|989898|1|9999028193|MR|Test|E|Lead 28193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028194|128194|989898|1|9999028194|MR|Test|E|Lead 28194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028195|128195|989898|1|9999028195|MR|Test|E|Lead 28195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028196|128196|989898|1|9999028196|MR|Test|E|Lead 28196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028197|128197|989898|1|9999028197|MR|Test|E|Lead 28197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028198|128198|989898|1|9999028198|MR|Test|E|Lead 28198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028199|128199|989898|1|9999028199|MR|Test|E|Lead 28199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028200|128200|989898|1|9999028200|MR|Test|E|Lead 28200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028201|128201|989898|1|9999028201|MR|Test|E|Lead 28201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028202|128202|989898|1|9999028202|MR|Test|E|Lead 28202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028203|128203|989898|1|9999028203|MR|Test|E|Lead 28203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028204|128204|989898|1|9999028204|MR|Test|E|Lead 28204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028205|128205|989898|1|9999028205|MR|Test|E|Lead 28205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028206|128206|989898|1|9999028206|MR|Test|E|Lead 28206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028207|128207|989898|1|9999028207|MR|Test|E|Lead 28207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028208|128208|989898|1|9999028208|MR|Test|E|Lead 28208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028209|128209|989898|1|9999028209|MR|Test|E|Lead 28209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028210|128210|989898|1|9999028210|MR|Test|E|Lead 28210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028211|128211|989898|1|9999028211|MR|Test|E|Lead 28211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028212|128212|989898|1|9999028212|MR|Test|E|Lead 28212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028213|128213|989898|1|9999028213|MR|Test|E|Lead 28213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028214|128214|989898|1|9999028214|MR|Test|E|Lead 28214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028215|128215|989898|1|9999028215|MR|Test|E|Lead 28215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028216|128216|989898|1|9999028216|MR|Test|E|Lead 28216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028217|128217|989898|1|9999028217|MR|Test|E|Lead 28217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028218|128218|989898|1|9999028218|MR|Test|E|Lead 28218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028219|128219|989898|1|9999028219|MR|Test|E|Lead 28219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028220|128220|989898|1|9999028220|MR|Test|E|Lead 28220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028221|128221|989898|1|9999028221|MR|Test|E|Lead 28221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028222|128222|989898|1|9999028222|MR|Test|E|Lead 28222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028223|128223|989898|1|9999028223|MR|Test|E|Lead 28223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028224|128224|989898|1|9999028224|MR|Test|E|Lead 28224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028225|128225|989898|1|9999028225|MR|Test|E|Lead 28225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028226|128226|989898|1|9999028226|MR|Test|E|Lead 28226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028227|128227|989898|1|9999028227|MR|Test|E|Lead 28227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028228|128228|989898|1|9999028228|MR|Test|E|Lead 28228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028229|128229|989898|1|9999028229|MR|Test|E|Lead 28229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028230|128230|989898|1|9999028230|MR|Test|E|Lead 28230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028231|128231|989898|1|9999028231|MR|Test|E|Lead 28231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028232|128232|989898|1|9999028232|MR|Test|E|Lead 28232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028233|128233|989898|1|9999028233|MR|Test|E|Lead 28233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028234|128234|989898|1|9999028234|MR|Test|E|Lead 28234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028235|128235|989898|1|9999028235|MR|Test|E|Lead 28235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028236|128236|989898|1|9999028236|MR|Test|E|Lead 28236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028237|128237|989898|1|9999028237|MR|Test|E|Lead 28237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028238|128238|989898|1|9999028238|MR|Test|E|Lead 28238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028239|128239|989898|1|9999028239|MR|Test|E|Lead 28239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028240|128240|989898|1|9999028240|MR|Test|E|Lead 28240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028241|128241|989898|1|9999028241|MR|Test|E|Lead 28241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028242|128242|989898|1|9999028242|MR|Test|E|Lead 28242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028243|128243|989898|1|9999028243|MR|Test|E|Lead 28243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028244|128244|989898|1|9999028244|MR|Test|E|Lead 28244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028245|128245|989898|1|9999028245|MR|Test|E|Lead 28245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028246|128246|989898|1|9999028246|MR|Test|E|Lead 28246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028247|128247|989898|1|9999028247|MR|Test|E|Lead 28247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028248|128248|989898|1|9999028248|MR|Test|E|Lead 28248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028249|128249|989898|1|9999028249|MR|Test|E|Lead 28249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028250|128250|989898|1|9999028250|MR|Test|E|Lead 28250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028251|128251|989898|1|9999028251|MR|Test|E|Lead 28251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028252|128252|989898|1|9999028252|MR|Test|E|Lead 28252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028253|128253|989898|1|9999028253|MR|Test|E|Lead 28253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028254|128254|989898|1|9999028254|MR|Test|E|Lead 28254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028255|128255|989898|1|9999028255|MR|Test|E|Lead 28255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028256|128256|989898|1|9999028256|MR|Test|E|Lead 28256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028257|128257|989898|1|9999028257|MR|Test|E|Lead 28257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028258|128258|989898|1|9999028258|MR|Test|E|Lead 28258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028259|128259|989898|1|9999028259|MR|Test|E|Lead 28259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028260|128260|989898|1|9999028260|MR|Test|E|Lead 28260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028261|128261|989898|1|9999028261|MR|Test|E|Lead 28261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028262|128262|989898|1|9999028262|MR|Test|E|Lead 28262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028263|128263|989898|1|9999028263|MR|Test|E|Lead 28263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028264|128264|989898|1|9999028264|MR|Test|E|Lead 28264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028265|128265|989898|1|9999028265|MR|Test|E|Lead 28265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028266|128266|989898|1|9999028266|MR|Test|E|Lead 28266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028267|128267|989898|1|9999028267|MR|Test|E|Lead 28267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028268|128268|989898|1|9999028268|MR|Test|E|Lead 28268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028269|128269|989898|1|9999028269|MR|Test|E|Lead 28269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028270|128270|989898|1|9999028270|MR|Test|E|Lead 28270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028271|128271|989898|1|9999028271|MR|Test|E|Lead 28271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028272|128272|989898|1|9999028272|MR|Test|E|Lead 28272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028273|128273|989898|1|9999028273|MR|Test|E|Lead 28273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028274|128274|989898|1|9999028274|MR|Test|E|Lead 28274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028275|128275|989898|1|9999028275|MR|Test|E|Lead 28275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028276|128276|989898|1|9999028276|MR|Test|E|Lead 28276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028277|128277|989898|1|9999028277|MR|Test|E|Lead 28277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028278|128278|989898|1|9999028278|MR|Test|E|Lead 28278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028279|128279|989898|1|9999028279|MR|Test|E|Lead 28279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028280|128280|989898|1|9999028280|MR|Test|E|Lead 28280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028281|128281|989898|1|9999028281|MR|Test|E|Lead 28281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028282|128282|989898|1|9999028282|MR|Test|E|Lead 28282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028283|128283|989898|1|9999028283|MR|Test|E|Lead 28283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028284|128284|989898|1|9999028284|MR|Test|E|Lead 28284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028285|128285|989898|1|9999028285|MR|Test|E|Lead 28285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028286|128286|989898|1|9999028286|MR|Test|E|Lead 28286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028287|128287|989898|1|9999028287|MR|Test|E|Lead 28287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028288|128288|989898|1|9999028288|MR|Test|E|Lead 28288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028289|128289|989898|1|9999028289|MR|Test|E|Lead 28289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028290|128290|989898|1|9999028290|MR|Test|E|Lead 28290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028291|128291|989898|1|9999028291|MR|Test|E|Lead 28291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028292|128292|989898|1|9999028292|MR|Test|E|Lead 28292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028293|128293|989898|1|9999028293|MR|Test|E|Lead 28293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028294|128294|989898|1|9999028294|MR|Test|E|Lead 28294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028295|128295|989898|1|9999028295|MR|Test|E|Lead 28295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028296|128296|989898|1|9999028296|MR|Test|E|Lead 28296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028297|128297|989898|1|9999028297|MR|Test|E|Lead 28297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028298|128298|989898|1|9999028298|MR|Test|E|Lead 28298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028299|128299|989898|1|9999028299|MR|Test|E|Lead 28299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028300|128300|989898|1|9999028300|MR|Test|E|Lead 28300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028301|128301|989898|1|9999028301|MR|Test|E|Lead 28301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028302|128302|989898|1|9999028302|MR|Test|E|Lead 28302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028303|128303|989898|1|9999028303|MR|Test|E|Lead 28303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028304|128304|989898|1|9999028304|MR|Test|E|Lead 28304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028305|128305|989898|1|9999028305|MR|Test|E|Lead 28305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028306|128306|989898|1|9999028306|MR|Test|E|Lead 28306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028307|128307|989898|1|9999028307|MR|Test|E|Lead 28307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028308|128308|989898|1|9999028308|MR|Test|E|Lead 28308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028309|128309|989898|1|9999028309|MR|Test|E|Lead 28309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028310|128310|989898|1|9999028310|MR|Test|E|Lead 28310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028311|128311|989898|1|9999028311|MR|Test|E|Lead 28311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028312|128312|989898|1|9999028312|MR|Test|E|Lead 28312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028313|128313|989898|1|9999028313|MR|Test|E|Lead 28313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028314|128314|989898|1|9999028314|MR|Test|E|Lead 28314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028315|128315|989898|1|9999028315|MR|Test|E|Lead 28315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028316|128316|989898|1|9999028316|MR|Test|E|Lead 28316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028317|128317|989898|1|9999028317|MR|Test|E|Lead 28317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028318|128318|989898|1|9999028318|MR|Test|E|Lead 28318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028319|128319|989898|1|9999028319|MR|Test|E|Lead 28319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028320|128320|989898|1|9999028320|MR|Test|E|Lead 28320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028321|128321|989898|1|9999028321|MR|Test|E|Lead 28321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028322|128322|989898|1|9999028322|MR|Test|E|Lead 28322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028323|128323|989898|1|9999028323|MR|Test|E|Lead 28323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028324|128324|989898|1|9999028324|MR|Test|E|Lead 28324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028325|128325|989898|1|9999028325|MR|Test|E|Lead 28325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028326|128326|989898|1|9999028326|MR|Test|E|Lead 28326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028327|128327|989898|1|9999028327|MR|Test|E|Lead 28327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028328|128328|989898|1|9999028328|MR|Test|E|Lead 28328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028329|128329|989898|1|9999028329|MR|Test|E|Lead 28329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028330|128330|989898|1|9999028330|MR|Test|E|Lead 28330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028331|128331|989898|1|9999028331|MR|Test|E|Lead 28331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028332|128332|989898|1|9999028332|MR|Test|E|Lead 28332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028333|128333|989898|1|9999028333|MR|Test|E|Lead 28333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028334|128334|989898|1|9999028334|MR|Test|E|Lead 28334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028335|128335|989898|1|9999028335|MR|Test|E|Lead 28335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028336|128336|989898|1|9999028336|MR|Test|E|Lead 28336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028337|128337|989898|1|9999028337|MR|Test|E|Lead 28337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028338|128338|989898|1|9999028338|MR|Test|E|Lead 28338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028339|128339|989898|1|9999028339|MR|Test|E|Lead 28339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028340|128340|989898|1|9999028340|MR|Test|E|Lead 28340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028341|128341|989898|1|9999028341|MR|Test|E|Lead 28341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028342|128342|989898|1|9999028342|MR|Test|E|Lead 28342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028343|128343|989898|1|9999028343|MR|Test|E|Lead 28343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028344|128344|989898|1|9999028344|MR|Test|E|Lead 28344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028345|128345|989898|1|9999028345|MR|Test|E|Lead 28345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028346|128346|989898|1|9999028346|MR|Test|E|Lead 28346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028347|128347|989898|1|9999028347|MR|Test|E|Lead 28347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028348|128348|989898|1|9999028348|MR|Test|E|Lead 28348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028349|128349|989898|1|9999028349|MR|Test|E|Lead 28349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028350|128350|989898|1|9999028350|MR|Test|E|Lead 28350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028351|128351|989898|1|9999028351|MR|Test|E|Lead 28351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028352|128352|989898|1|9999028352|MR|Test|E|Lead 28352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028353|128353|989898|1|9999028353|MR|Test|E|Lead 28353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028354|128354|989898|1|9999028354|MR|Test|E|Lead 28354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028355|128355|989898|1|9999028355|MR|Test|E|Lead 28355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028356|128356|989898|1|9999028356|MR|Test|E|Lead 28356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028357|128357|989898|1|9999028357|MR|Test|E|Lead 28357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028358|128358|989898|1|9999028358|MR|Test|E|Lead 28358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028359|128359|989898|1|9999028359|MR|Test|E|Lead 28359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028360|128360|989898|1|9999028360|MR|Test|E|Lead 28360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028361|128361|989898|1|9999028361|MR|Test|E|Lead 28361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028362|128362|989898|1|9999028362|MR|Test|E|Lead 28362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028363|128363|989898|1|9999028363|MR|Test|E|Lead 28363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028364|128364|989898|1|9999028364|MR|Test|E|Lead 28364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028365|128365|989898|1|9999028365|MR|Test|E|Lead 28365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028366|128366|989898|1|9999028366|MR|Test|E|Lead 28366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028367|128367|989898|1|9999028367|MR|Test|E|Lead 28367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028368|128368|989898|1|9999028368|MR|Test|E|Lead 28368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028369|128369|989898|1|9999028369|MR|Test|E|Lead 28369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028370|128370|989898|1|9999028370|MR|Test|E|Lead 28370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028371|128371|989898|1|9999028371|MR|Test|E|Lead 28371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028372|128372|989898|1|9999028372|MR|Test|E|Lead 28372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028373|128373|989898|1|9999028373|MR|Test|E|Lead 28373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028374|128374|989898|1|9999028374|MR|Test|E|Lead 28374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028375|128375|989898|1|9999028375|MR|Test|E|Lead 28375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028376|128376|989898|1|9999028376|MR|Test|E|Lead 28376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028377|128377|989898|1|9999028377|MR|Test|E|Lead 28377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028378|128378|989898|1|9999028378|MR|Test|E|Lead 28378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028379|128379|989898|1|9999028379|MR|Test|E|Lead 28379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028380|128380|989898|1|9999028380|MR|Test|E|Lead 28380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028381|128381|989898|1|9999028381|MR|Test|E|Lead 28381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028382|128382|989898|1|9999028382|MR|Test|E|Lead 28382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028383|128383|989898|1|9999028383|MR|Test|E|Lead 28383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028384|128384|989898|1|9999028384|MR|Test|E|Lead 28384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028385|128385|989898|1|9999028385|MR|Test|E|Lead 28385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028386|128386|989898|1|9999028386|MR|Test|E|Lead 28386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028387|128387|989898|1|9999028387|MR|Test|E|Lead 28387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028388|128388|989898|1|9999028388|MR|Test|E|Lead 28388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028389|128389|989898|1|9999028389|MR|Test|E|Lead 28389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028390|128390|989898|1|9999028390|MR|Test|E|Lead 28390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028391|128391|989898|1|9999028391|MR|Test|E|Lead 28391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028392|128392|989898|1|9999028392|MR|Test|E|Lead 28392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028393|128393|989898|1|9999028393|MR|Test|E|Lead 28393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028394|128394|989898|1|9999028394|MR|Test|E|Lead 28394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028395|128395|989898|1|9999028395|MR|Test|E|Lead 28395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028396|128396|989898|1|9999028396|MR|Test|E|Lead 28396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028397|128397|989898|1|9999028397|MR|Test|E|Lead 28397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028398|128398|989898|1|9999028398|MR|Test|E|Lead 28398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028399|128399|989898|1|9999028399|MR|Test|E|Lead 28399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028400|128400|989898|1|9999028400|MR|Test|E|Lead 28400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028401|128401|989898|1|9999028401|MR|Test|E|Lead 28401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028402|128402|989898|1|9999028402|MR|Test|E|Lead 28402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028403|128403|989898|1|9999028403|MR|Test|E|Lead 28403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028404|128404|989898|1|9999028404|MR|Test|E|Lead 28404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028405|128405|989898|1|9999028405|MR|Test|E|Lead 28405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028406|128406|989898|1|9999028406|MR|Test|E|Lead 28406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028407|128407|989898|1|9999028407|MR|Test|E|Lead 28407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028408|128408|989898|1|9999028408|MR|Test|E|Lead 28408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028409|128409|989898|1|9999028409|MR|Test|E|Lead 28409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028410|128410|989898|1|9999028410|MR|Test|E|Lead 28410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028411|128411|989898|1|9999028411|MR|Test|E|Lead 28411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028412|128412|989898|1|9999028412|MR|Test|E|Lead 28412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028413|128413|989898|1|9999028413|MR|Test|E|Lead 28413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028414|128414|989898|1|9999028414|MR|Test|E|Lead 28414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028415|128415|989898|1|9999028415|MR|Test|E|Lead 28415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028416|128416|989898|1|9999028416|MR|Test|E|Lead 28416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028417|128417|989898|1|9999028417|MR|Test|E|Lead 28417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028418|128418|989898|1|9999028418|MR|Test|E|Lead 28418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028419|128419|989898|1|9999028419|MR|Test|E|Lead 28419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028420|128420|989898|1|9999028420|MR|Test|E|Lead 28420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028421|128421|989898|1|9999028421|MR|Test|E|Lead 28421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028422|128422|989898|1|9999028422|MR|Test|E|Lead 28422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028423|128423|989898|1|9999028423|MR|Test|E|Lead 28423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028424|128424|989898|1|9999028424|MR|Test|E|Lead 28424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028425|128425|989898|1|9999028425|MR|Test|E|Lead 28425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028426|128426|989898|1|9999028426|MR|Test|E|Lead 28426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028427|128427|989898|1|9999028427|MR|Test|E|Lead 28427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028428|128428|989898|1|9999028428|MR|Test|E|Lead 28428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028429|128429|989898|1|9999028429|MR|Test|E|Lead 28429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028430|128430|989898|1|9999028430|MR|Test|E|Lead 28430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028431|128431|989898|1|9999028431|MR|Test|E|Lead 28431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028432|128432|989898|1|9999028432|MR|Test|E|Lead 28432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028433|128433|989898|1|9999028433|MR|Test|E|Lead 28433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028434|128434|989898|1|9999028434|MR|Test|E|Lead 28434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028435|128435|989898|1|9999028435|MR|Test|E|Lead 28435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028436|128436|989898|1|9999028436|MR|Test|E|Lead 28436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028437|128437|989898|1|9999028437|MR|Test|E|Lead 28437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028438|128438|989898|1|9999028438|MR|Test|E|Lead 28438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028439|128439|989898|1|9999028439|MR|Test|E|Lead 28439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028440|128440|989898|1|9999028440|MR|Test|E|Lead 28440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028441|128441|989898|1|9999028441|MR|Test|E|Lead 28441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028442|128442|989898|1|9999028442|MR|Test|E|Lead 28442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028443|128443|989898|1|9999028443|MR|Test|E|Lead 28443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028444|128444|989898|1|9999028444|MR|Test|E|Lead 28444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028445|128445|989898|1|9999028445|MR|Test|E|Lead 28445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028446|128446|989898|1|9999028446|MR|Test|E|Lead 28446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028447|128447|989898|1|9999028447|MR|Test|E|Lead 28447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028448|128448|989898|1|9999028448|MR|Test|E|Lead 28448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028449|128449|989898|1|9999028449|MR|Test|E|Lead 28449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028450|128450|989898|1|9999028450|MR|Test|E|Lead 28450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028451|128451|989898|1|9999028451|MR|Test|E|Lead 28451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028452|128452|989898|1|9999028452|MR|Test|E|Lead 28452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028453|128453|989898|1|9999028453|MR|Test|E|Lead 28453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028454|128454|989898|1|9999028454|MR|Test|E|Lead 28454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028455|128455|989898|1|9999028455|MR|Test|E|Lead 28455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028456|128456|989898|1|9999028456|MR|Test|E|Lead 28456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028457|128457|989898|1|9999028457|MR|Test|E|Lead 28457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028458|128458|989898|1|9999028458|MR|Test|E|Lead 28458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028459|128459|989898|1|9999028459|MR|Test|E|Lead 28459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028460|128460|989898|1|9999028460|MR|Test|E|Lead 28460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028461|128461|989898|1|9999028461|MR|Test|E|Lead 28461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028462|128462|989898|1|9999028462|MR|Test|E|Lead 28462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028463|128463|989898|1|9999028463|MR|Test|E|Lead 28463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028464|128464|989898|1|9999028464|MR|Test|E|Lead 28464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028465|128465|989898|1|9999028465|MR|Test|E|Lead 28465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028466|128466|989898|1|9999028466|MR|Test|E|Lead 28466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028467|128467|989898|1|9999028467|MR|Test|E|Lead 28467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028468|128468|989898|1|9999028468|MR|Test|E|Lead 28468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028469|128469|989898|1|9999028469|MR|Test|E|Lead 28469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028470|128470|989898|1|9999028470|MR|Test|E|Lead 28470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028471|128471|989898|1|9999028471|MR|Test|E|Lead 28471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028472|128472|989898|1|9999028472|MR|Test|E|Lead 28472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028473|128473|989898|1|9999028473|MR|Test|E|Lead 28473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028474|128474|989898|1|9999028474|MR|Test|E|Lead 28474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028475|128475|989898|1|9999028475|MR|Test|E|Lead 28475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028476|128476|989898|1|9999028476|MR|Test|E|Lead 28476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028477|128477|989898|1|9999028477|MR|Test|E|Lead 28477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028478|128478|989898|1|9999028478|MR|Test|E|Lead 28478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028479|128479|989898|1|9999028479|MR|Test|E|Lead 28479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028480|128480|989898|1|9999028480|MR|Test|E|Lead 28480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028481|128481|989898|1|9999028481|MR|Test|E|Lead 28481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028482|128482|989898|1|9999028482|MR|Test|E|Lead 28482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028483|128483|989898|1|9999028483|MR|Test|E|Lead 28483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028484|128484|989898|1|9999028484|MR|Test|E|Lead 28484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028485|128485|989898|1|9999028485|MR|Test|E|Lead 28485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028486|128486|989898|1|9999028486|MR|Test|E|Lead 28486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028487|128487|989898|1|9999028487|MR|Test|E|Lead 28487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028488|128488|989898|1|9999028488|MR|Test|E|Lead 28488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028489|128489|989898|1|9999028489|MR|Test|E|Lead 28489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028490|128490|989898|1|9999028490|MR|Test|E|Lead 28490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028491|128491|989898|1|9999028491|MR|Test|E|Lead 28491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028492|128492|989898|1|9999028492|MR|Test|E|Lead 28492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028493|128493|989898|1|9999028493|MR|Test|E|Lead 28493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028494|128494|989898|1|9999028494|MR|Test|E|Lead 28494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028495|128495|989898|1|9999028495|MR|Test|E|Lead 28495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028496|128496|989898|1|9999028496|MR|Test|E|Lead 28496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028497|128497|989898|1|9999028497|MR|Test|E|Lead 28497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028498|128498|989898|1|9999028498|MR|Test|E|Lead 28498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028499|128499|989898|1|9999028499|MR|Test|E|Lead 28499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028500|128500|989898|1|9999028500|MR|Test|E|Lead 28500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028501|128501|989898|1|9999028501|MR|Test|E|Lead 28501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028502|128502|989898|1|9999028502|MR|Test|E|Lead 28502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028503|128503|989898|1|9999028503|MR|Test|E|Lead 28503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028504|128504|989898|1|9999028504|MR|Test|E|Lead 28504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028505|128505|989898|1|9999028505|MR|Test|E|Lead 28505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028506|128506|989898|1|9999028506|MR|Test|E|Lead 28506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028507|128507|989898|1|9999028507|MR|Test|E|Lead 28507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028508|128508|989898|1|9999028508|MR|Test|E|Lead 28508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028509|128509|989898|1|9999028509|MR|Test|E|Lead 28509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028510|128510|989898|1|9999028510|MR|Test|E|Lead 28510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028511|128511|989898|1|9999028511|MR|Test|E|Lead 28511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028512|128512|989898|1|9999028512|MR|Test|E|Lead 28512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028513|128513|989898|1|9999028513|MR|Test|E|Lead 28513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028514|128514|989898|1|9999028514|MR|Test|E|Lead 28514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028515|128515|989898|1|9999028515|MR|Test|E|Lead 28515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028516|128516|989898|1|9999028516|MR|Test|E|Lead 28516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028517|128517|989898|1|9999028517|MR|Test|E|Lead 28517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028518|128518|989898|1|9999028518|MR|Test|E|Lead 28518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028519|128519|989898|1|9999028519|MR|Test|E|Lead 28519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028520|128520|989898|1|9999028520|MR|Test|E|Lead 28520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028521|128521|989898|1|9999028521|MR|Test|E|Lead 28521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028522|128522|989898|1|9999028522|MR|Test|E|Lead 28522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028523|128523|989898|1|9999028523|MR|Test|E|Lead 28523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028524|128524|989898|1|9999028524|MR|Test|E|Lead 28524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028525|128525|989898|1|9999028525|MR|Test|E|Lead 28525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028526|128526|989898|1|9999028526|MR|Test|E|Lead 28526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028527|128527|989898|1|9999028527|MR|Test|E|Lead 28527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028528|128528|989898|1|9999028528|MR|Test|E|Lead 28528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028529|128529|989898|1|9999028529|MR|Test|E|Lead 28529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028530|128530|989898|1|9999028530|MR|Test|E|Lead 28530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028531|128531|989898|1|9999028531|MR|Test|E|Lead 28531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028532|128532|989898|1|9999028532|MR|Test|E|Lead 28532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028533|128533|989898|1|9999028533|MR|Test|E|Lead 28533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028534|128534|989898|1|9999028534|MR|Test|E|Lead 28534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028535|128535|989898|1|9999028535|MR|Test|E|Lead 28535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028536|128536|989898|1|9999028536|MR|Test|E|Lead 28536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028537|128537|989898|1|9999028537|MR|Test|E|Lead 28537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028538|128538|989898|1|9999028538|MR|Test|E|Lead 28538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028539|128539|989898|1|9999028539|MR|Test|E|Lead 28539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028540|128540|989898|1|9999028540|MR|Test|E|Lead 28540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028541|128541|989898|1|9999028541|MR|Test|E|Lead 28541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028542|128542|989898|1|9999028542|MR|Test|E|Lead 28542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028543|128543|989898|1|9999028543|MR|Test|E|Lead 28543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028544|128544|989898|1|9999028544|MR|Test|E|Lead 28544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028545|128545|989898|1|9999028545|MR|Test|E|Lead 28545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028546|128546|989898|1|9999028546|MR|Test|E|Lead 28546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028547|128547|989898|1|9999028547|MR|Test|E|Lead 28547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028548|128548|989898|1|9999028548|MR|Test|E|Lead 28548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028549|128549|989898|1|9999028549|MR|Test|E|Lead 28549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028550|128550|989898|1|9999028550|MR|Test|E|Lead 28550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028551|128551|989898|1|9999028551|MR|Test|E|Lead 28551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028552|128552|989898|1|9999028552|MR|Test|E|Lead 28552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028553|128553|989898|1|9999028553|MR|Test|E|Lead 28553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028554|128554|989898|1|9999028554|MR|Test|E|Lead 28554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028555|128555|989898|1|9999028555|MR|Test|E|Lead 28555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028556|128556|989898|1|9999028556|MR|Test|E|Lead 28556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028557|128557|989898|1|9999028557|MR|Test|E|Lead 28557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028558|128558|989898|1|9999028558|MR|Test|E|Lead 28558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028559|128559|989898|1|9999028559|MR|Test|E|Lead 28559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028560|128560|989898|1|9999028560|MR|Test|E|Lead 28560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028561|128561|989898|1|9999028561|MR|Test|E|Lead 28561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028562|128562|989898|1|9999028562|MR|Test|E|Lead 28562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028563|128563|989898|1|9999028563|MR|Test|E|Lead 28563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028564|128564|989898|1|9999028564|MR|Test|E|Lead 28564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028565|128565|989898|1|9999028565|MR|Test|E|Lead 28565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028566|128566|989898|1|9999028566|MR|Test|E|Lead 28566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028567|128567|989898|1|9999028567|MR|Test|E|Lead 28567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028568|128568|989898|1|9999028568|MR|Test|E|Lead 28568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028569|128569|989898|1|9999028569|MR|Test|E|Lead 28569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028570|128570|989898|1|9999028570|MR|Test|E|Lead 28570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028571|128571|989898|1|9999028571|MR|Test|E|Lead 28571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028572|128572|989898|1|9999028572|MR|Test|E|Lead 28572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028573|128573|989898|1|9999028573|MR|Test|E|Lead 28573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028574|128574|989898|1|9999028574|MR|Test|E|Lead 28574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028575|128575|989898|1|9999028575|MR|Test|E|Lead 28575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028576|128576|989898|1|9999028576|MR|Test|E|Lead 28576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028577|128577|989898|1|9999028577|MR|Test|E|Lead 28577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028578|128578|989898|1|9999028578|MR|Test|E|Lead 28578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028579|128579|989898|1|9999028579|MR|Test|E|Lead 28579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028580|128580|989898|1|9999028580|MR|Test|E|Lead 28580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028581|128581|989898|1|9999028581|MR|Test|E|Lead 28581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028582|128582|989898|1|9999028582|MR|Test|E|Lead 28582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028583|128583|989898|1|9999028583|MR|Test|E|Lead 28583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028584|128584|989898|1|9999028584|MR|Test|E|Lead 28584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028585|128585|989898|1|9999028585|MR|Test|E|Lead 28585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028586|128586|989898|1|9999028586|MR|Test|E|Lead 28586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028587|128587|989898|1|9999028587|MR|Test|E|Lead 28587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028588|128588|989898|1|9999028588|MR|Test|E|Lead 28588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028589|128589|989898|1|9999028589|MR|Test|E|Lead 28589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028590|128590|989898|1|9999028590|MR|Test|E|Lead 28590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028591|128591|989898|1|9999028591|MR|Test|E|Lead 28591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028592|128592|989898|1|9999028592|MR|Test|E|Lead 28592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028593|128593|989898|1|9999028593|MR|Test|E|Lead 28593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028594|128594|989898|1|9999028594|MR|Test|E|Lead 28594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028595|128595|989898|1|9999028595|MR|Test|E|Lead 28595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028596|128596|989898|1|9999028596|MR|Test|E|Lead 28596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028597|128597|989898|1|9999028597|MR|Test|E|Lead 28597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028598|128598|989898|1|9999028598|MR|Test|E|Lead 28598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028599|128599|989898|1|9999028599|MR|Test|E|Lead 28599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028600|128600|989898|1|9999028600|MR|Test|E|Lead 28600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028601|128601|989898|1|9999028601|MR|Test|E|Lead 28601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028602|128602|989898|1|9999028602|MR|Test|E|Lead 28602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028603|128603|989898|1|9999028603|MR|Test|E|Lead 28603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028604|128604|989898|1|9999028604|MR|Test|E|Lead 28604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028605|128605|989898|1|9999028605|MR|Test|E|Lead 28605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028606|128606|989898|1|9999028606|MR|Test|E|Lead 28606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028607|128607|989898|1|9999028607|MR|Test|E|Lead 28607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028608|128608|989898|1|9999028608|MR|Test|E|Lead 28608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028609|128609|989898|1|9999028609|MR|Test|E|Lead 28609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028610|128610|989898|1|9999028610|MR|Test|E|Lead 28610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028611|128611|989898|1|9999028611|MR|Test|E|Lead 28611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028612|128612|989898|1|9999028612|MR|Test|E|Lead 28612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028613|128613|989898|1|9999028613|MR|Test|E|Lead 28613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028614|128614|989898|1|9999028614|MR|Test|E|Lead 28614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028615|128615|989898|1|9999028615|MR|Test|E|Lead 28615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028616|128616|989898|1|9999028616|MR|Test|E|Lead 28616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028617|128617|989898|1|9999028617|MR|Test|E|Lead 28617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028618|128618|989898|1|9999028618|MR|Test|E|Lead 28618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028619|128619|989898|1|9999028619|MR|Test|E|Lead 28619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028620|128620|989898|1|9999028620|MR|Test|E|Lead 28620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028621|128621|989898|1|9999028621|MR|Test|E|Lead 28621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028622|128622|989898|1|9999028622|MR|Test|E|Lead 28622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028623|128623|989898|1|9999028623|MR|Test|E|Lead 28623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028624|128624|989898|1|9999028624|MR|Test|E|Lead 28624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028625|128625|989898|1|9999028625|MR|Test|E|Lead 28625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028626|128626|989898|1|9999028626|MR|Test|E|Lead 28626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028627|128627|989898|1|9999028627|MR|Test|E|Lead 28627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028628|128628|989898|1|9999028628|MR|Test|E|Lead 28628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028629|128629|989898|1|9999028629|MR|Test|E|Lead 28629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028630|128630|989898|1|9999028630|MR|Test|E|Lead 28630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028631|128631|989898|1|9999028631|MR|Test|E|Lead 28631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028632|128632|989898|1|9999028632|MR|Test|E|Lead 28632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028633|128633|989898|1|9999028633|MR|Test|E|Lead 28633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028634|128634|989898|1|9999028634|MR|Test|E|Lead 28634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028635|128635|989898|1|9999028635|MR|Test|E|Lead 28635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028636|128636|989898|1|9999028636|MR|Test|E|Lead 28636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028637|128637|989898|1|9999028637|MR|Test|E|Lead 28637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028638|128638|989898|1|9999028638|MR|Test|E|Lead 28638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028639|128639|989898|1|9999028639|MR|Test|E|Lead 28639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028640|128640|989898|1|9999028640|MR|Test|E|Lead 28640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028641|128641|989898|1|9999028641|MR|Test|E|Lead 28641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028642|128642|989898|1|9999028642|MR|Test|E|Lead 28642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028643|128643|989898|1|9999028643|MR|Test|E|Lead 28643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028644|128644|989898|1|9999028644|MR|Test|E|Lead 28644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028645|128645|989898|1|9999028645|MR|Test|E|Lead 28645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028646|128646|989898|1|9999028646|MR|Test|E|Lead 28646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028647|128647|989898|1|9999028647|MR|Test|E|Lead 28647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028648|128648|989898|1|9999028648|MR|Test|E|Lead 28648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028649|128649|989898|1|9999028649|MR|Test|E|Lead 28649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028650|128650|989898|1|9999028650|MR|Test|E|Lead 28650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028651|128651|989898|1|9999028651|MR|Test|E|Lead 28651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028652|128652|989898|1|9999028652|MR|Test|E|Lead 28652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028653|128653|989898|1|9999028653|MR|Test|E|Lead 28653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028654|128654|989898|1|9999028654|MR|Test|E|Lead 28654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028655|128655|989898|1|9999028655|MR|Test|E|Lead 28655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028656|128656|989898|1|9999028656|MR|Test|E|Lead 28656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028657|128657|989898|1|9999028657|MR|Test|E|Lead 28657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028658|128658|989898|1|9999028658|MR|Test|E|Lead 28658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028659|128659|989898|1|9999028659|MR|Test|E|Lead 28659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028660|128660|989898|1|9999028660|MR|Test|E|Lead 28660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028661|128661|989898|1|9999028661|MR|Test|E|Lead 28661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028662|128662|989898|1|9999028662|MR|Test|E|Lead 28662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028663|128663|989898|1|9999028663|MR|Test|E|Lead 28663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028664|128664|989898|1|9999028664|MR|Test|E|Lead 28664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028665|128665|989898|1|9999028665|MR|Test|E|Lead 28665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028666|128666|989898|1|9999028666|MR|Test|E|Lead 28666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028667|128667|989898|1|9999028667|MR|Test|E|Lead 28667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028668|128668|989898|1|9999028668|MR|Test|E|Lead 28668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028669|128669|989898|1|9999028669|MR|Test|E|Lead 28669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028670|128670|989898|1|9999028670|MR|Test|E|Lead 28670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028671|128671|989898|1|9999028671|MR|Test|E|Lead 28671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028672|128672|989898|1|9999028672|MR|Test|E|Lead 28672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028673|128673|989898|1|9999028673|MR|Test|E|Lead 28673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028674|128674|989898|1|9999028674|MR|Test|E|Lead 28674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028675|128675|989898|1|9999028675|MR|Test|E|Lead 28675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028676|128676|989898|1|9999028676|MR|Test|E|Lead 28676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028677|128677|989898|1|9999028677|MR|Test|E|Lead 28677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028678|128678|989898|1|9999028678|MR|Test|E|Lead 28678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028679|128679|989898|1|9999028679|MR|Test|E|Lead 28679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028680|128680|989898|1|9999028680|MR|Test|E|Lead 28680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028681|128681|989898|1|9999028681|MR|Test|E|Lead 28681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028682|128682|989898|1|9999028682|MR|Test|E|Lead 28682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028683|128683|989898|1|9999028683|MR|Test|E|Lead 28683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028684|128684|989898|1|9999028684|MR|Test|E|Lead 28684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028685|128685|989898|1|9999028685|MR|Test|E|Lead 28685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028686|128686|989898|1|9999028686|MR|Test|E|Lead 28686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028687|128687|989898|1|9999028687|MR|Test|E|Lead 28687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028688|128688|989898|1|9999028688|MR|Test|E|Lead 28688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028689|128689|989898|1|9999028689|MR|Test|E|Lead 28689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028690|128690|989898|1|9999028690|MR|Test|E|Lead 28690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028691|128691|989898|1|9999028691|MR|Test|E|Lead 28691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028692|128692|989898|1|9999028692|MR|Test|E|Lead 28692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028693|128693|989898|1|9999028693|MR|Test|E|Lead 28693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028694|128694|989898|1|9999028694|MR|Test|E|Lead 28694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028695|128695|989898|1|9999028695|MR|Test|E|Lead 28695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028696|128696|989898|1|9999028696|MR|Test|E|Lead 28696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028697|128697|989898|1|9999028697|MR|Test|E|Lead 28697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028698|128698|989898|1|9999028698|MR|Test|E|Lead 28698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028699|128699|989898|1|9999028699|MR|Test|E|Lead 28699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028700|128700|989898|1|9999028700|MR|Test|E|Lead 28700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028701|128701|989898|1|9999028701|MR|Test|E|Lead 28701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028702|128702|989898|1|9999028702|MR|Test|E|Lead 28702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028703|128703|989898|1|9999028703|MR|Test|E|Lead 28703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028704|128704|989898|1|9999028704|MR|Test|E|Lead 28704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028705|128705|989898|1|9999028705|MR|Test|E|Lead 28705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028706|128706|989898|1|9999028706|MR|Test|E|Lead 28706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028707|128707|989898|1|9999028707|MR|Test|E|Lead 28707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028708|128708|989898|1|9999028708|MR|Test|E|Lead 28708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028709|128709|989898|1|9999028709|MR|Test|E|Lead 28709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028710|128710|989898|1|9999028710|MR|Test|E|Lead 28710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028711|128711|989898|1|9999028711|MR|Test|E|Lead 28711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028712|128712|989898|1|9999028712|MR|Test|E|Lead 28712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028713|128713|989898|1|9999028713|MR|Test|E|Lead 28713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028714|128714|989898|1|9999028714|MR|Test|E|Lead 28714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028715|128715|989898|1|9999028715|MR|Test|E|Lead 28715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028716|128716|989898|1|9999028716|MR|Test|E|Lead 28716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028717|128717|989898|1|9999028717|MR|Test|E|Lead 28717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028718|128718|989898|1|9999028718|MR|Test|E|Lead 28718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028719|128719|989898|1|9999028719|MR|Test|E|Lead 28719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028720|128720|989898|1|9999028720|MR|Test|E|Lead 28720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028721|128721|989898|1|9999028721|MR|Test|E|Lead 28721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028722|128722|989898|1|9999028722|MR|Test|E|Lead 28722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028723|128723|989898|1|9999028723|MR|Test|E|Lead 28723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028724|128724|989898|1|9999028724|MR|Test|E|Lead 28724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028725|128725|989898|1|9999028725|MR|Test|E|Lead 28725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028726|128726|989898|1|9999028726|MR|Test|E|Lead 28726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028727|128727|989898|1|9999028727|MR|Test|E|Lead 28727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028728|128728|989898|1|9999028728|MR|Test|E|Lead 28728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028729|128729|989898|1|9999028729|MR|Test|E|Lead 28729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028730|128730|989898|1|9999028730|MR|Test|E|Lead 28730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028731|128731|989898|1|9999028731|MR|Test|E|Lead 28731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028732|128732|989898|1|9999028732|MR|Test|E|Lead 28732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028733|128733|989898|1|9999028733|MR|Test|E|Lead 28733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028734|128734|989898|1|9999028734|MR|Test|E|Lead 28734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028735|128735|989898|1|9999028735|MR|Test|E|Lead 28735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028736|128736|989898|1|9999028736|MR|Test|E|Lead 28736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028737|128737|989898|1|9999028737|MR|Test|E|Lead 28737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028738|128738|989898|1|9999028738|MR|Test|E|Lead 28738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028739|128739|989898|1|9999028739|MR|Test|E|Lead 28739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028740|128740|989898|1|9999028740|MR|Test|E|Lead 28740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028741|128741|989898|1|9999028741|MR|Test|E|Lead 28741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028742|128742|989898|1|9999028742|MR|Test|E|Lead 28742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028743|128743|989898|1|9999028743|MR|Test|E|Lead 28743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028744|128744|989898|1|9999028744|MR|Test|E|Lead 28744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028745|128745|989898|1|9999028745|MR|Test|E|Lead 28745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028746|128746|989898|1|9999028746|MR|Test|E|Lead 28746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028747|128747|989898|1|9999028747|MR|Test|E|Lead 28747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028748|128748|989898|1|9999028748|MR|Test|E|Lead 28748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028749|128749|989898|1|9999028749|MR|Test|E|Lead 28749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028750|128750|989898|1|9999028750|MR|Test|E|Lead 28750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028751|128751|989898|1|9999028751|MR|Test|E|Lead 28751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028752|128752|989898|1|9999028752|MR|Test|E|Lead 28752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028753|128753|989898|1|9999028753|MR|Test|E|Lead 28753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028754|128754|989898|1|9999028754|MR|Test|E|Lead 28754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028755|128755|989898|1|9999028755|MR|Test|E|Lead 28755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028756|128756|989898|1|9999028756|MR|Test|E|Lead 28756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028757|128757|989898|1|9999028757|MR|Test|E|Lead 28757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028758|128758|989898|1|9999028758|MR|Test|E|Lead 28758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028759|128759|989898|1|9999028759|MR|Test|E|Lead 28759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028760|128760|989898|1|9999028760|MR|Test|E|Lead 28760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028761|128761|989898|1|9999028761|MR|Test|E|Lead 28761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028762|128762|989898|1|9999028762|MR|Test|E|Lead 28762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028763|128763|989898|1|9999028763|MR|Test|E|Lead 28763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028764|128764|989898|1|9999028764|MR|Test|E|Lead 28764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028765|128765|989898|1|9999028765|MR|Test|E|Lead 28765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028766|128766|989898|1|9999028766|MR|Test|E|Lead 28766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028767|128767|989898|1|9999028767|MR|Test|E|Lead 28767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028768|128768|989898|1|9999028768|MR|Test|E|Lead 28768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028769|128769|989898|1|9999028769|MR|Test|E|Lead 28769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028770|128770|989898|1|9999028770|MR|Test|E|Lead 28770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028771|128771|989898|1|9999028771|MR|Test|E|Lead 28771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028772|128772|989898|1|9999028772|MR|Test|E|Lead 28772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028773|128773|989898|1|9999028773|MR|Test|E|Lead 28773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028774|128774|989898|1|9999028774|MR|Test|E|Lead 28774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028775|128775|989898|1|9999028775|MR|Test|E|Lead 28775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028776|128776|989898|1|9999028776|MR|Test|E|Lead 28776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028777|128777|989898|1|9999028777|MR|Test|E|Lead 28777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028778|128778|989898|1|9999028778|MR|Test|E|Lead 28778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028779|128779|989898|1|9999028779|MR|Test|E|Lead 28779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028780|128780|989898|1|9999028780|MR|Test|E|Lead 28780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028781|128781|989898|1|9999028781|MR|Test|E|Lead 28781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028782|128782|989898|1|9999028782|MR|Test|E|Lead 28782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028783|128783|989898|1|9999028783|MR|Test|E|Lead 28783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028784|128784|989898|1|9999028784|MR|Test|E|Lead 28784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028785|128785|989898|1|9999028785|MR|Test|E|Lead 28785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028786|128786|989898|1|9999028786|MR|Test|E|Lead 28786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028787|128787|989898|1|9999028787|MR|Test|E|Lead 28787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028788|128788|989898|1|9999028788|MR|Test|E|Lead 28788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028789|128789|989898|1|9999028789|MR|Test|E|Lead 28789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028790|128790|989898|1|9999028790|MR|Test|E|Lead 28790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028791|128791|989898|1|9999028791|MR|Test|E|Lead 28791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028792|128792|989898|1|9999028792|MR|Test|E|Lead 28792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028793|128793|989898|1|9999028793|MR|Test|E|Lead 28793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028794|128794|989898|1|9999028794|MR|Test|E|Lead 28794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028795|128795|989898|1|9999028795|MR|Test|E|Lead 28795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028796|128796|989898|1|9999028796|MR|Test|E|Lead 28796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028797|128797|989898|1|9999028797|MR|Test|E|Lead 28797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028798|128798|989898|1|9999028798|MR|Test|E|Lead 28798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028799|128799|989898|1|9999028799|MR|Test|E|Lead 28799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028800|128800|989898|1|9999028800|MR|Test|E|Lead 28800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028801|128801|989898|1|9999028801|MR|Test|E|Lead 28801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028802|128802|989898|1|9999028802|MR|Test|E|Lead 28802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028803|128803|989898|1|9999028803|MR|Test|E|Lead 28803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028804|128804|989898|1|9999028804|MR|Test|E|Lead 28804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028805|128805|989898|1|9999028805|MR|Test|E|Lead 28805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028806|128806|989898|1|9999028806|MR|Test|E|Lead 28806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028807|128807|989898|1|9999028807|MR|Test|E|Lead 28807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028808|128808|989898|1|9999028808|MR|Test|E|Lead 28808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028809|128809|989898|1|9999028809|MR|Test|E|Lead 28809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028810|128810|989898|1|9999028810|MR|Test|E|Lead 28810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028811|128811|989898|1|9999028811|MR|Test|E|Lead 28811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028812|128812|989898|1|9999028812|MR|Test|E|Lead 28812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028813|128813|989898|1|9999028813|MR|Test|E|Lead 28813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028814|128814|989898|1|9999028814|MR|Test|E|Lead 28814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028815|128815|989898|1|9999028815|MR|Test|E|Lead 28815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028816|128816|989898|1|9999028816|MR|Test|E|Lead 28816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028817|128817|989898|1|9999028817|MR|Test|E|Lead 28817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028818|128818|989898|1|9999028818|MR|Test|E|Lead 28818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028819|128819|989898|1|9999028819|MR|Test|E|Lead 28819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028820|128820|989898|1|9999028820|MR|Test|E|Lead 28820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028821|128821|989898|1|9999028821|MR|Test|E|Lead 28821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028822|128822|989898|1|9999028822|MR|Test|E|Lead 28822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028823|128823|989898|1|9999028823|MR|Test|E|Lead 28823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028824|128824|989898|1|9999028824|MR|Test|E|Lead 28824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028825|128825|989898|1|9999028825|MR|Test|E|Lead 28825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028826|128826|989898|1|9999028826|MR|Test|E|Lead 28826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028827|128827|989898|1|9999028827|MR|Test|E|Lead 28827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028828|128828|989898|1|9999028828|MR|Test|E|Lead 28828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028829|128829|989898|1|9999028829|MR|Test|E|Lead 28829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028830|128830|989898|1|9999028830|MR|Test|E|Lead 28830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028831|128831|989898|1|9999028831|MR|Test|E|Lead 28831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028832|128832|989898|1|9999028832|MR|Test|E|Lead 28832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028833|128833|989898|1|9999028833|MR|Test|E|Lead 28833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028834|128834|989898|1|9999028834|MR|Test|E|Lead 28834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028835|128835|989898|1|9999028835|MR|Test|E|Lead 28835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028836|128836|989898|1|9999028836|MR|Test|E|Lead 28836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028837|128837|989898|1|9999028837|MR|Test|E|Lead 28837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028838|128838|989898|1|9999028838|MR|Test|E|Lead 28838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028839|128839|989898|1|9999028839|MR|Test|E|Lead 28839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028840|128840|989898|1|9999028840|MR|Test|E|Lead 28840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028841|128841|989898|1|9999028841|MR|Test|E|Lead 28841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028842|128842|989898|1|9999028842|MR|Test|E|Lead 28842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028843|128843|989898|1|9999028843|MR|Test|E|Lead 28843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028844|128844|989898|1|9999028844|MR|Test|E|Lead 28844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028845|128845|989898|1|9999028845|MR|Test|E|Lead 28845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028846|128846|989898|1|9999028846|MR|Test|E|Lead 28846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028847|128847|989898|1|9999028847|MR|Test|E|Lead 28847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028848|128848|989898|1|9999028848|MR|Test|E|Lead 28848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028849|128849|989898|1|9999028849|MR|Test|E|Lead 28849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028850|128850|989898|1|9999028850|MR|Test|E|Lead 28850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028851|128851|989898|1|9999028851|MR|Test|E|Lead 28851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028852|128852|989898|1|9999028852|MR|Test|E|Lead 28852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028853|128853|989898|1|9999028853|MR|Test|E|Lead 28853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028854|128854|989898|1|9999028854|MR|Test|E|Lead 28854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028855|128855|989898|1|9999028855|MR|Test|E|Lead 28855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028856|128856|989898|1|9999028856|MR|Test|E|Lead 28856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028857|128857|989898|1|9999028857|MR|Test|E|Lead 28857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028858|128858|989898|1|9999028858|MR|Test|E|Lead 28858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028859|128859|989898|1|9999028859|MR|Test|E|Lead 28859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028860|128860|989898|1|9999028860|MR|Test|E|Lead 28860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028861|128861|989898|1|9999028861|MR|Test|E|Lead 28861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028862|128862|989898|1|9999028862|MR|Test|E|Lead 28862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028863|128863|989898|1|9999028863|MR|Test|E|Lead 28863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028864|128864|989898|1|9999028864|MR|Test|E|Lead 28864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028865|128865|989898|1|9999028865|MR|Test|E|Lead 28865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028866|128866|989898|1|9999028866|MR|Test|E|Lead 28866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028867|128867|989898|1|9999028867|MR|Test|E|Lead 28867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028868|128868|989898|1|9999028868|MR|Test|E|Lead 28868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028869|128869|989898|1|9999028869|MR|Test|E|Lead 28869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028870|128870|989898|1|9999028870|MR|Test|E|Lead 28870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028871|128871|989898|1|9999028871|MR|Test|E|Lead 28871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028872|128872|989898|1|9999028872|MR|Test|E|Lead 28872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028873|128873|989898|1|9999028873|MR|Test|E|Lead 28873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028874|128874|989898|1|9999028874|MR|Test|E|Lead 28874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028875|128875|989898|1|9999028875|MR|Test|E|Lead 28875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028876|128876|989898|1|9999028876|MR|Test|E|Lead 28876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028877|128877|989898|1|9999028877|MR|Test|E|Lead 28877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028878|128878|989898|1|9999028878|MR|Test|E|Lead 28878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028879|128879|989898|1|9999028879|MR|Test|E|Lead 28879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028880|128880|989898|1|9999028880|MR|Test|E|Lead 28880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028881|128881|989898|1|9999028881|MR|Test|E|Lead 28881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028882|128882|989898|1|9999028882|MR|Test|E|Lead 28882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028883|128883|989898|1|9999028883|MR|Test|E|Lead 28883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028884|128884|989898|1|9999028884|MR|Test|E|Lead 28884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028885|128885|989898|1|9999028885|MR|Test|E|Lead 28885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028886|128886|989898|1|9999028886|MR|Test|E|Lead 28886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028887|128887|989898|1|9999028887|MR|Test|E|Lead 28887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028888|128888|989898|1|9999028888|MR|Test|E|Lead 28888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028889|128889|989898|1|9999028889|MR|Test|E|Lead 28889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028890|128890|989898|1|9999028890|MR|Test|E|Lead 28890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028891|128891|989898|1|9999028891|MR|Test|E|Lead 28891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028892|128892|989898|1|9999028892|MR|Test|E|Lead 28892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028893|128893|989898|1|9999028893|MR|Test|E|Lead 28893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028894|128894|989898|1|9999028894|MR|Test|E|Lead 28894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028895|128895|989898|1|9999028895|MR|Test|E|Lead 28895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028896|128896|989898|1|9999028896|MR|Test|E|Lead 28896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028897|128897|989898|1|9999028897|MR|Test|E|Lead 28897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028898|128898|989898|1|9999028898|MR|Test|E|Lead 28898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028899|128899|989898|1|9999028899|MR|Test|E|Lead 28899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028900|128900|989898|1|9999028900|MR|Test|E|Lead 28900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028901|128901|989898|1|9999028901|MR|Test|E|Lead 28901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028902|128902|989898|1|9999028902|MR|Test|E|Lead 28902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028903|128903|989898|1|9999028903|MR|Test|E|Lead 28903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028904|128904|989898|1|9999028904|MR|Test|E|Lead 28904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028905|128905|989898|1|9999028905|MR|Test|E|Lead 28905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028906|128906|989898|1|9999028906|MR|Test|E|Lead 28906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028907|128907|989898|1|9999028907|MR|Test|E|Lead 28907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028908|128908|989898|1|9999028908|MR|Test|E|Lead 28908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028909|128909|989898|1|9999028909|MR|Test|E|Lead 28909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028910|128910|989898|1|9999028910|MR|Test|E|Lead 28910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028911|128911|989898|1|9999028911|MR|Test|E|Lead 28911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028912|128912|989898|1|9999028912|MR|Test|E|Lead 28912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028913|128913|989898|1|9999028913|MR|Test|E|Lead 28913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028914|128914|989898|1|9999028914|MR|Test|E|Lead 28914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028915|128915|989898|1|9999028915|MR|Test|E|Lead 28915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028916|128916|989898|1|9999028916|MR|Test|E|Lead 28916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028917|128917|989898|1|9999028917|MR|Test|E|Lead 28917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028918|128918|989898|1|9999028918|MR|Test|E|Lead 28918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028919|128919|989898|1|9999028919|MR|Test|E|Lead 28919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028920|128920|989898|1|9999028920|MR|Test|E|Lead 28920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028921|128921|989898|1|9999028921|MR|Test|E|Lead 28921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028922|128922|989898|1|9999028922|MR|Test|E|Lead 28922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028923|128923|989898|1|9999028923|MR|Test|E|Lead 28923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028924|128924|989898|1|9999028924|MR|Test|E|Lead 28924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028925|128925|989898|1|9999028925|MR|Test|E|Lead 28925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028926|128926|989898|1|9999028926|MR|Test|E|Lead 28926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028927|128927|989898|1|9999028927|MR|Test|E|Lead 28927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028928|128928|989898|1|9999028928|MR|Test|E|Lead 28928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028929|128929|989898|1|9999028929|MR|Test|E|Lead 28929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028930|128930|989898|1|9999028930|MR|Test|E|Lead 28930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028931|128931|989898|1|9999028931|MR|Test|E|Lead 28931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028932|128932|989898|1|9999028932|MR|Test|E|Lead 28932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028933|128933|989898|1|9999028933|MR|Test|E|Lead 28933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028934|128934|989898|1|9999028934|MR|Test|E|Lead 28934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028935|128935|989898|1|9999028935|MR|Test|E|Lead 28935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028936|128936|989898|1|9999028936|MR|Test|E|Lead 28936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028937|128937|989898|1|9999028937|MR|Test|E|Lead 28937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028938|128938|989898|1|9999028938|MR|Test|E|Lead 28938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028939|128939|989898|1|9999028939|MR|Test|E|Lead 28939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028940|128940|989898|1|9999028940|MR|Test|E|Lead 28940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028941|128941|989898|1|9999028941|MR|Test|E|Lead 28941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028942|128942|989898|1|9999028942|MR|Test|E|Lead 28942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028943|128943|989898|1|9999028943|MR|Test|E|Lead 28943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028944|128944|989898|1|9999028944|MR|Test|E|Lead 28944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028945|128945|989898|1|9999028945|MR|Test|E|Lead 28945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028946|128946|989898|1|9999028946|MR|Test|E|Lead 28946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028947|128947|989898|1|9999028947|MR|Test|E|Lead 28947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028948|128948|989898|1|9999028948|MR|Test|E|Lead 28948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028949|128949|989898|1|9999028949|MR|Test|E|Lead 28949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028950|128950|989898|1|9999028950|MR|Test|E|Lead 28950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028951|128951|989898|1|9999028951|MR|Test|E|Lead 28951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028952|128952|989898|1|9999028952|MR|Test|E|Lead 28952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028953|128953|989898|1|9999028953|MR|Test|E|Lead 28953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028954|128954|989898|1|9999028954|MR|Test|E|Lead 28954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028955|128955|989898|1|9999028955|MR|Test|E|Lead 28955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028956|128956|989898|1|9999028956|MR|Test|E|Lead 28956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028957|128957|989898|1|9999028957|MR|Test|E|Lead 28957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028958|128958|989898|1|9999028958|MR|Test|E|Lead 28958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028959|128959|989898|1|9999028959|MR|Test|E|Lead 28959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028960|128960|989898|1|9999028960|MR|Test|E|Lead 28960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028961|128961|989898|1|9999028961|MR|Test|E|Lead 28961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028962|128962|989898|1|9999028962|MR|Test|E|Lead 28962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028963|128963|989898|1|9999028963|MR|Test|E|Lead 28963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028964|128964|989898|1|9999028964|MR|Test|E|Lead 28964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028965|128965|989898|1|9999028965|MR|Test|E|Lead 28965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028966|128966|989898|1|9999028966|MR|Test|E|Lead 28966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028967|128967|989898|1|9999028967|MR|Test|E|Lead 28967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028968|128968|989898|1|9999028968|MR|Test|E|Lead 28968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028969|128969|989898|1|9999028969|MR|Test|E|Lead 28969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028970|128970|989898|1|9999028970|MR|Test|E|Lead 28970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028971|128971|989898|1|9999028971|MR|Test|E|Lead 28971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028972|128972|989898|1|9999028972|MR|Test|E|Lead 28972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028973|128973|989898|1|9999028973|MR|Test|E|Lead 28973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028974|128974|989898|1|9999028974|MR|Test|E|Lead 28974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028975|128975|989898|1|9999028975|MR|Test|E|Lead 28975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028976|128976|989898|1|9999028976|MR|Test|E|Lead 28976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028977|128977|989898|1|9999028977|MR|Test|E|Lead 28977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028978|128978|989898|1|9999028978|MR|Test|E|Lead 28978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028979|128979|989898|1|9999028979|MR|Test|E|Lead 28979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028980|128980|989898|1|9999028980|MR|Test|E|Lead 28980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028981|128981|989898|1|9999028981|MR|Test|E|Lead 28981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028982|128982|989898|1|9999028982|MR|Test|E|Lead 28982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028983|128983|989898|1|9999028983|MR|Test|E|Lead 28983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028984|128984|989898|1|9999028984|MR|Test|E|Lead 28984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028985|128985|989898|1|9999028985|MR|Test|E|Lead 28985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028986|128986|989898|1|9999028986|MR|Test|E|Lead 28986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028987|128987|989898|1|9999028987|MR|Test|E|Lead 28987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028988|128988|989898|1|9999028988|MR|Test|E|Lead 28988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028989|128989|989898|1|9999028989|MR|Test|E|Lead 28989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028990|128990|989898|1|9999028990|MR|Test|E|Lead 28990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028991|128991|989898|1|9999028991|MR|Test|E|Lead 28991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028992|128992|989898|1|9999028992|MR|Test|E|Lead 28992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028993|128993|989898|1|9999028993|MR|Test|E|Lead 28993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028994|128994|989898|1|9999028994|MR|Test|E|Lead 28994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028995|128995|989898|1|9999028995|MR|Test|E|Lead 28995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028996|128996|989898|1|9999028996|MR|Test|E|Lead 28996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028997|128997|989898|1|9999028997|MR|Test|E|Lead 28997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028998|128998|989898|1|9999028998|MR|Test|E|Lead 28998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1028999|128999|989898|1|9999028999|MR|Test|E|Lead 28999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029000|129000|989898|1|9999029000|MR|Test|E|Lead 29000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029001|129001|989898|1|9999029001|MR|Test|E|Lead 29001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029002|129002|989898|1|9999029002|MR|Test|E|Lead 29002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029003|129003|989898|1|9999029003|MR|Test|E|Lead 29003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029004|129004|989898|1|9999029004|MR|Test|E|Lead 29004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029005|129005|989898|1|9999029005|MR|Test|E|Lead 29005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029006|129006|989898|1|9999029006|MR|Test|E|Lead 29006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029007|129007|989898|1|9999029007|MR|Test|E|Lead 29007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029008|129008|989898|1|9999029008|MR|Test|E|Lead 29008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029009|129009|989898|1|9999029009|MR|Test|E|Lead 29009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029010|129010|989898|1|9999029010|MR|Test|E|Lead 29010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029011|129011|989898|1|9999029011|MR|Test|E|Lead 29011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029012|129012|989898|1|9999029012|MR|Test|E|Lead 29012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029013|129013|989898|1|9999029013|MR|Test|E|Lead 29013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029014|129014|989898|1|9999029014|MR|Test|E|Lead 29014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029015|129015|989898|1|9999029015|MR|Test|E|Lead 29015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029016|129016|989898|1|9999029016|MR|Test|E|Lead 29016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029017|129017|989898|1|9999029017|MR|Test|E|Lead 29017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029018|129018|989898|1|9999029018|MR|Test|E|Lead 29018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029019|129019|989898|1|9999029019|MR|Test|E|Lead 29019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029020|129020|989898|1|9999029020|MR|Test|E|Lead 29020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029021|129021|989898|1|9999029021|MR|Test|E|Lead 29021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029022|129022|989898|1|9999029022|MR|Test|E|Lead 29022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029023|129023|989898|1|9999029023|MR|Test|E|Lead 29023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029024|129024|989898|1|9999029024|MR|Test|E|Lead 29024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029025|129025|989898|1|9999029025|MR|Test|E|Lead 29025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029026|129026|989898|1|9999029026|MR|Test|E|Lead 29026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029027|129027|989898|1|9999029027|MR|Test|E|Lead 29027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029028|129028|989898|1|9999029028|MR|Test|E|Lead 29028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029029|129029|989898|1|9999029029|MR|Test|E|Lead 29029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029030|129030|989898|1|9999029030|MR|Test|E|Lead 29030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029031|129031|989898|1|9999029031|MR|Test|E|Lead 29031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029032|129032|989898|1|9999029032|MR|Test|E|Lead 29032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029033|129033|989898|1|9999029033|MR|Test|E|Lead 29033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029034|129034|989898|1|9999029034|MR|Test|E|Lead 29034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029035|129035|989898|1|9999029035|MR|Test|E|Lead 29035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029036|129036|989898|1|9999029036|MR|Test|E|Lead 29036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029037|129037|989898|1|9999029037|MR|Test|E|Lead 29037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029038|129038|989898|1|9999029038|MR|Test|E|Lead 29038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029039|129039|989898|1|9999029039|MR|Test|E|Lead 29039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029040|129040|989898|1|9999029040|MR|Test|E|Lead 29040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029041|129041|989898|1|9999029041|MR|Test|E|Lead 29041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029042|129042|989898|1|9999029042|MR|Test|E|Lead 29042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029043|129043|989898|1|9999029043|MR|Test|E|Lead 29043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029044|129044|989898|1|9999029044|MR|Test|E|Lead 29044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029045|129045|989898|1|9999029045|MR|Test|E|Lead 29045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029046|129046|989898|1|9999029046|MR|Test|E|Lead 29046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029047|129047|989898|1|9999029047|MR|Test|E|Lead 29047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029048|129048|989898|1|9999029048|MR|Test|E|Lead 29048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029049|129049|989898|1|9999029049|MR|Test|E|Lead 29049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029050|129050|989898|1|9999029050|MR|Test|E|Lead 29050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029051|129051|989898|1|9999029051|MR|Test|E|Lead 29051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029052|129052|989898|1|9999029052|MR|Test|E|Lead 29052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029053|129053|989898|1|9999029053|MR|Test|E|Lead 29053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029054|129054|989898|1|9999029054|MR|Test|E|Lead 29054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029055|129055|989898|1|9999029055|MR|Test|E|Lead 29055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029056|129056|989898|1|9999029056|MR|Test|E|Lead 29056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029057|129057|989898|1|9999029057|MR|Test|E|Lead 29057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029058|129058|989898|1|9999029058|MR|Test|E|Lead 29058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029059|129059|989898|1|9999029059|MR|Test|E|Lead 29059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029060|129060|989898|1|9999029060|MR|Test|E|Lead 29060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029061|129061|989898|1|9999029061|MR|Test|E|Lead 29061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029062|129062|989898|1|9999029062|MR|Test|E|Lead 29062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029063|129063|989898|1|9999029063|MR|Test|E|Lead 29063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029064|129064|989898|1|9999029064|MR|Test|E|Lead 29064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029065|129065|989898|1|9999029065|MR|Test|E|Lead 29065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029066|129066|989898|1|9999029066|MR|Test|E|Lead 29066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029067|129067|989898|1|9999029067|MR|Test|E|Lead 29067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029068|129068|989898|1|9999029068|MR|Test|E|Lead 29068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029069|129069|989898|1|9999029069|MR|Test|E|Lead 29069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029070|129070|989898|1|9999029070|MR|Test|E|Lead 29070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029071|129071|989898|1|9999029071|MR|Test|E|Lead 29071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029072|129072|989898|1|9999029072|MR|Test|E|Lead 29072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029073|129073|989898|1|9999029073|MR|Test|E|Lead 29073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029074|129074|989898|1|9999029074|MR|Test|E|Lead 29074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029075|129075|989898|1|9999029075|MR|Test|E|Lead 29075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029076|129076|989898|1|9999029076|MR|Test|E|Lead 29076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029077|129077|989898|1|9999029077|MR|Test|E|Lead 29077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029078|129078|989898|1|9999029078|MR|Test|E|Lead 29078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029079|129079|989898|1|9999029079|MR|Test|E|Lead 29079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029080|129080|989898|1|9999029080|MR|Test|E|Lead 29080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029081|129081|989898|1|9999029081|MR|Test|E|Lead 29081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029082|129082|989898|1|9999029082|MR|Test|E|Lead 29082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029083|129083|989898|1|9999029083|MR|Test|E|Lead 29083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029084|129084|989898|1|9999029084|MR|Test|E|Lead 29084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029085|129085|989898|1|9999029085|MR|Test|E|Lead 29085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029086|129086|989898|1|9999029086|MR|Test|E|Lead 29086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029087|129087|989898|1|9999029087|MR|Test|E|Lead 29087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029088|129088|989898|1|9999029088|MR|Test|E|Lead 29088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029089|129089|989898|1|9999029089|MR|Test|E|Lead 29089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029090|129090|989898|1|9999029090|MR|Test|E|Lead 29090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029091|129091|989898|1|9999029091|MR|Test|E|Lead 29091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029092|129092|989898|1|9999029092|MR|Test|E|Lead 29092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029093|129093|989898|1|9999029093|MR|Test|E|Lead 29093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029094|129094|989898|1|9999029094|MR|Test|E|Lead 29094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029095|129095|989898|1|9999029095|MR|Test|E|Lead 29095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029096|129096|989898|1|9999029096|MR|Test|E|Lead 29096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029097|129097|989898|1|9999029097|MR|Test|E|Lead 29097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029098|129098|989898|1|9999029098|MR|Test|E|Lead 29098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029099|129099|989898|1|9999029099|MR|Test|E|Lead 29099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029100|129100|989898|1|9999029100|MR|Test|E|Lead 29100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029101|129101|989898|1|9999029101|MR|Test|E|Lead 29101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029102|129102|989898|1|9999029102|MR|Test|E|Lead 29102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029103|129103|989898|1|9999029103|MR|Test|E|Lead 29103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029104|129104|989898|1|9999029104|MR|Test|E|Lead 29104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029105|129105|989898|1|9999029105|MR|Test|E|Lead 29105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029106|129106|989898|1|9999029106|MR|Test|E|Lead 29106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029107|129107|989898|1|9999029107|MR|Test|E|Lead 29107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029108|129108|989898|1|9999029108|MR|Test|E|Lead 29108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029109|129109|989898|1|9999029109|MR|Test|E|Lead 29109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029110|129110|989898|1|9999029110|MR|Test|E|Lead 29110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029111|129111|989898|1|9999029111|MR|Test|E|Lead 29111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029112|129112|989898|1|9999029112|MR|Test|E|Lead 29112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029113|129113|989898|1|9999029113|MR|Test|E|Lead 29113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029114|129114|989898|1|9999029114|MR|Test|E|Lead 29114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029115|129115|989898|1|9999029115|MR|Test|E|Lead 29115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029116|129116|989898|1|9999029116|MR|Test|E|Lead 29116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029117|129117|989898|1|9999029117|MR|Test|E|Lead 29117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029118|129118|989898|1|9999029118|MR|Test|E|Lead 29118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029119|129119|989898|1|9999029119|MR|Test|E|Lead 29119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029120|129120|989898|1|9999029120|MR|Test|E|Lead 29120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029121|129121|989898|1|9999029121|MR|Test|E|Lead 29121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029122|129122|989898|1|9999029122|MR|Test|E|Lead 29122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029123|129123|989898|1|9999029123|MR|Test|E|Lead 29123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029124|129124|989898|1|9999029124|MR|Test|E|Lead 29124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029125|129125|989898|1|9999029125|MR|Test|E|Lead 29125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029126|129126|989898|1|9999029126|MR|Test|E|Lead 29126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029127|129127|989898|1|9999029127|MR|Test|E|Lead 29127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029128|129128|989898|1|9999029128|MR|Test|E|Lead 29128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029129|129129|989898|1|9999029129|MR|Test|E|Lead 29129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029130|129130|989898|1|9999029130|MR|Test|E|Lead 29130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029131|129131|989898|1|9999029131|MR|Test|E|Lead 29131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029132|129132|989898|1|9999029132|MR|Test|E|Lead 29132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029133|129133|989898|1|9999029133|MR|Test|E|Lead 29133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029134|129134|989898|1|9999029134|MR|Test|E|Lead 29134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029135|129135|989898|1|9999029135|MR|Test|E|Lead 29135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029136|129136|989898|1|9999029136|MR|Test|E|Lead 29136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029137|129137|989898|1|9999029137|MR|Test|E|Lead 29137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029138|129138|989898|1|9999029138|MR|Test|E|Lead 29138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029139|129139|989898|1|9999029139|MR|Test|E|Lead 29139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029140|129140|989898|1|9999029140|MR|Test|E|Lead 29140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029141|129141|989898|1|9999029141|MR|Test|E|Lead 29141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029142|129142|989898|1|9999029142|MR|Test|E|Lead 29142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029143|129143|989898|1|9999029143|MR|Test|E|Lead 29143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029144|129144|989898|1|9999029144|MR|Test|E|Lead 29144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029145|129145|989898|1|9999029145|MR|Test|E|Lead 29145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029146|129146|989898|1|9999029146|MR|Test|E|Lead 29146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029147|129147|989898|1|9999029147|MR|Test|E|Lead 29147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029148|129148|989898|1|9999029148|MR|Test|E|Lead 29148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029149|129149|989898|1|9999029149|MR|Test|E|Lead 29149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029150|129150|989898|1|9999029150|MR|Test|E|Lead 29150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029151|129151|989898|1|9999029151|MR|Test|E|Lead 29151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029152|129152|989898|1|9999029152|MR|Test|E|Lead 29152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029153|129153|989898|1|9999029153|MR|Test|E|Lead 29153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029154|129154|989898|1|9999029154|MR|Test|E|Lead 29154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029155|129155|989898|1|9999029155|MR|Test|E|Lead 29155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029156|129156|989898|1|9999029156|MR|Test|E|Lead 29156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029157|129157|989898|1|9999029157|MR|Test|E|Lead 29157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029158|129158|989898|1|9999029158|MR|Test|E|Lead 29158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029159|129159|989898|1|9999029159|MR|Test|E|Lead 29159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029160|129160|989898|1|9999029160|MR|Test|E|Lead 29160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029161|129161|989898|1|9999029161|MR|Test|E|Lead 29161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029162|129162|989898|1|9999029162|MR|Test|E|Lead 29162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029163|129163|989898|1|9999029163|MR|Test|E|Lead 29163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029164|129164|989898|1|9999029164|MR|Test|E|Lead 29164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029165|129165|989898|1|9999029165|MR|Test|E|Lead 29165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029166|129166|989898|1|9999029166|MR|Test|E|Lead 29166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029167|129167|989898|1|9999029167|MR|Test|E|Lead 29167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029168|129168|989898|1|9999029168|MR|Test|E|Lead 29168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029169|129169|989898|1|9999029169|MR|Test|E|Lead 29169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029170|129170|989898|1|9999029170|MR|Test|E|Lead 29170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029171|129171|989898|1|9999029171|MR|Test|E|Lead 29171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029172|129172|989898|1|9999029172|MR|Test|E|Lead 29172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029173|129173|989898|1|9999029173|MR|Test|E|Lead 29173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029174|129174|989898|1|9999029174|MR|Test|E|Lead 29174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029175|129175|989898|1|9999029175|MR|Test|E|Lead 29175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029176|129176|989898|1|9999029176|MR|Test|E|Lead 29176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029177|129177|989898|1|9999029177|MR|Test|E|Lead 29177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029178|129178|989898|1|9999029178|MR|Test|E|Lead 29178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029179|129179|989898|1|9999029179|MR|Test|E|Lead 29179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029180|129180|989898|1|9999029180|MR|Test|E|Lead 29180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029181|129181|989898|1|9999029181|MR|Test|E|Lead 29181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029182|129182|989898|1|9999029182|MR|Test|E|Lead 29182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029183|129183|989898|1|9999029183|MR|Test|E|Lead 29183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029184|129184|989898|1|9999029184|MR|Test|E|Lead 29184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029185|129185|989898|1|9999029185|MR|Test|E|Lead 29185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029186|129186|989898|1|9999029186|MR|Test|E|Lead 29186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029187|129187|989898|1|9999029187|MR|Test|E|Lead 29187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029188|129188|989898|1|9999029188|MR|Test|E|Lead 29188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029189|129189|989898|1|9999029189|MR|Test|E|Lead 29189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029190|129190|989898|1|9999029190|MR|Test|E|Lead 29190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029191|129191|989898|1|9999029191|MR|Test|E|Lead 29191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029192|129192|989898|1|9999029192|MR|Test|E|Lead 29192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029193|129193|989898|1|9999029193|MR|Test|E|Lead 29193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029194|129194|989898|1|9999029194|MR|Test|E|Lead 29194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029195|129195|989898|1|9999029195|MR|Test|E|Lead 29195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029196|129196|989898|1|9999029196|MR|Test|E|Lead 29196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029197|129197|989898|1|9999029197|MR|Test|E|Lead 29197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029198|129198|989898|1|9999029198|MR|Test|E|Lead 29198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029199|129199|989898|1|9999029199|MR|Test|E|Lead 29199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029200|129200|989898|1|9999029200|MR|Test|E|Lead 29200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029201|129201|989898|1|9999029201|MR|Test|E|Lead 29201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029202|129202|989898|1|9999029202|MR|Test|E|Lead 29202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029203|129203|989898|1|9999029203|MR|Test|E|Lead 29203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029204|129204|989898|1|9999029204|MR|Test|E|Lead 29204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029205|129205|989898|1|9999029205|MR|Test|E|Lead 29205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029206|129206|989898|1|9999029206|MR|Test|E|Lead 29206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029207|129207|989898|1|9999029207|MR|Test|E|Lead 29207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029208|129208|989898|1|9999029208|MR|Test|E|Lead 29208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029209|129209|989898|1|9999029209|MR|Test|E|Lead 29209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029210|129210|989898|1|9999029210|MR|Test|E|Lead 29210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029211|129211|989898|1|9999029211|MR|Test|E|Lead 29211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029212|129212|989898|1|9999029212|MR|Test|E|Lead 29212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029213|129213|989898|1|9999029213|MR|Test|E|Lead 29213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029214|129214|989898|1|9999029214|MR|Test|E|Lead 29214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029215|129215|989898|1|9999029215|MR|Test|E|Lead 29215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029216|129216|989898|1|9999029216|MR|Test|E|Lead 29216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029217|129217|989898|1|9999029217|MR|Test|E|Lead 29217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029218|129218|989898|1|9999029218|MR|Test|E|Lead 29218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029219|129219|989898|1|9999029219|MR|Test|E|Lead 29219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029220|129220|989898|1|9999029220|MR|Test|E|Lead 29220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029221|129221|989898|1|9999029221|MR|Test|E|Lead 29221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029222|129222|989898|1|9999029222|MR|Test|E|Lead 29222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029223|129223|989898|1|9999029223|MR|Test|E|Lead 29223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029224|129224|989898|1|9999029224|MR|Test|E|Lead 29224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029225|129225|989898|1|9999029225|MR|Test|E|Lead 29225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029226|129226|989898|1|9999029226|MR|Test|E|Lead 29226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029227|129227|989898|1|9999029227|MR|Test|E|Lead 29227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029228|129228|989898|1|9999029228|MR|Test|E|Lead 29228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029229|129229|989898|1|9999029229|MR|Test|E|Lead 29229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029230|129230|989898|1|9999029230|MR|Test|E|Lead 29230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029231|129231|989898|1|9999029231|MR|Test|E|Lead 29231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029232|129232|989898|1|9999029232|MR|Test|E|Lead 29232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029233|129233|989898|1|9999029233|MR|Test|E|Lead 29233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029234|129234|989898|1|9999029234|MR|Test|E|Lead 29234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029235|129235|989898|1|9999029235|MR|Test|E|Lead 29235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029236|129236|989898|1|9999029236|MR|Test|E|Lead 29236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029237|129237|989898|1|9999029237|MR|Test|E|Lead 29237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029238|129238|989898|1|9999029238|MR|Test|E|Lead 29238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029239|129239|989898|1|9999029239|MR|Test|E|Lead 29239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029240|129240|989898|1|9999029240|MR|Test|E|Lead 29240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029241|129241|989898|1|9999029241|MR|Test|E|Lead 29241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029242|129242|989898|1|9999029242|MR|Test|E|Lead 29242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029243|129243|989898|1|9999029243|MR|Test|E|Lead 29243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029244|129244|989898|1|9999029244|MR|Test|E|Lead 29244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029245|129245|989898|1|9999029245|MR|Test|E|Lead 29245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029246|129246|989898|1|9999029246|MR|Test|E|Lead 29246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029247|129247|989898|1|9999029247|MR|Test|E|Lead 29247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029248|129248|989898|1|9999029248|MR|Test|E|Lead 29248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029249|129249|989898|1|9999029249|MR|Test|E|Lead 29249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029250|129250|989898|1|9999029250|MR|Test|E|Lead 29250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029251|129251|989898|1|9999029251|MR|Test|E|Lead 29251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029252|129252|989898|1|9999029252|MR|Test|E|Lead 29252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029253|129253|989898|1|9999029253|MR|Test|E|Lead 29253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029254|129254|989898|1|9999029254|MR|Test|E|Lead 29254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029255|129255|989898|1|9999029255|MR|Test|E|Lead 29255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029256|129256|989898|1|9999029256|MR|Test|E|Lead 29256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029257|129257|989898|1|9999029257|MR|Test|E|Lead 29257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029258|129258|989898|1|9999029258|MR|Test|E|Lead 29258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029259|129259|989898|1|9999029259|MR|Test|E|Lead 29259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029260|129260|989898|1|9999029260|MR|Test|E|Lead 29260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029261|129261|989898|1|9999029261|MR|Test|E|Lead 29261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029262|129262|989898|1|9999029262|MR|Test|E|Lead 29262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029263|129263|989898|1|9999029263|MR|Test|E|Lead 29263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029264|129264|989898|1|9999029264|MR|Test|E|Lead 29264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029265|129265|989898|1|9999029265|MR|Test|E|Lead 29265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029266|129266|989898|1|9999029266|MR|Test|E|Lead 29266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029267|129267|989898|1|9999029267|MR|Test|E|Lead 29267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029268|129268|989898|1|9999029268|MR|Test|E|Lead 29268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029269|129269|989898|1|9999029269|MR|Test|E|Lead 29269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029270|129270|989898|1|9999029270|MR|Test|E|Lead 29270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029271|129271|989898|1|9999029271|MR|Test|E|Lead 29271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029272|129272|989898|1|9999029272|MR|Test|E|Lead 29272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029273|129273|989898|1|9999029273|MR|Test|E|Lead 29273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029274|129274|989898|1|9999029274|MR|Test|E|Lead 29274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029275|129275|989898|1|9999029275|MR|Test|E|Lead 29275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029276|129276|989898|1|9999029276|MR|Test|E|Lead 29276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029277|129277|989898|1|9999029277|MR|Test|E|Lead 29277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029278|129278|989898|1|9999029278|MR|Test|E|Lead 29278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029279|129279|989898|1|9999029279|MR|Test|E|Lead 29279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029280|129280|989898|1|9999029280|MR|Test|E|Lead 29280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029281|129281|989898|1|9999029281|MR|Test|E|Lead 29281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029282|129282|989898|1|9999029282|MR|Test|E|Lead 29282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029283|129283|989898|1|9999029283|MR|Test|E|Lead 29283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029284|129284|989898|1|9999029284|MR|Test|E|Lead 29284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029285|129285|989898|1|9999029285|MR|Test|E|Lead 29285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029286|129286|989898|1|9999029286|MR|Test|E|Lead 29286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029287|129287|989898|1|9999029287|MR|Test|E|Lead 29287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029288|129288|989898|1|9999029288|MR|Test|E|Lead 29288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029289|129289|989898|1|9999029289|MR|Test|E|Lead 29289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029290|129290|989898|1|9999029290|MR|Test|E|Lead 29290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029291|129291|989898|1|9999029291|MR|Test|E|Lead 29291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029292|129292|989898|1|9999029292|MR|Test|E|Lead 29292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029293|129293|989898|1|9999029293|MR|Test|E|Lead 29293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029294|129294|989898|1|9999029294|MR|Test|E|Lead 29294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029295|129295|989898|1|9999029295|MR|Test|E|Lead 29295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029296|129296|989898|1|9999029296|MR|Test|E|Lead 29296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029297|129297|989898|1|9999029297|MR|Test|E|Lead 29297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029298|129298|989898|1|9999029298|MR|Test|E|Lead 29298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029299|129299|989898|1|9999029299|MR|Test|E|Lead 29299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029300|129300|989898|1|9999029300|MR|Test|E|Lead 29300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029301|129301|989898|1|9999029301|MR|Test|E|Lead 29301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029302|129302|989898|1|9999029302|MR|Test|E|Lead 29302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029303|129303|989898|1|9999029303|MR|Test|E|Lead 29303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029304|129304|989898|1|9999029304|MR|Test|E|Lead 29304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029305|129305|989898|1|9999029305|MR|Test|E|Lead 29305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029306|129306|989898|1|9999029306|MR|Test|E|Lead 29306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029307|129307|989898|1|9999029307|MR|Test|E|Lead 29307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029308|129308|989898|1|9999029308|MR|Test|E|Lead 29308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029309|129309|989898|1|9999029309|MR|Test|E|Lead 29309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029310|129310|989898|1|9999029310|MR|Test|E|Lead 29310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029311|129311|989898|1|9999029311|MR|Test|E|Lead 29311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029312|129312|989898|1|9999029312|MR|Test|E|Lead 29312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029313|129313|989898|1|9999029313|MR|Test|E|Lead 29313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029314|129314|989898|1|9999029314|MR|Test|E|Lead 29314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029315|129315|989898|1|9999029315|MR|Test|E|Lead 29315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029316|129316|989898|1|9999029316|MR|Test|E|Lead 29316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029317|129317|989898|1|9999029317|MR|Test|E|Lead 29317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029318|129318|989898|1|9999029318|MR|Test|E|Lead 29318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029319|129319|989898|1|9999029319|MR|Test|E|Lead 29319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029320|129320|989898|1|9999029320|MR|Test|E|Lead 29320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029321|129321|989898|1|9999029321|MR|Test|E|Lead 29321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029322|129322|989898|1|9999029322|MR|Test|E|Lead 29322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029323|129323|989898|1|9999029323|MR|Test|E|Lead 29323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029324|129324|989898|1|9999029324|MR|Test|E|Lead 29324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029325|129325|989898|1|9999029325|MR|Test|E|Lead 29325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029326|129326|989898|1|9999029326|MR|Test|E|Lead 29326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029327|129327|989898|1|9999029327|MR|Test|E|Lead 29327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029328|129328|989898|1|9999029328|MR|Test|E|Lead 29328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029329|129329|989898|1|9999029329|MR|Test|E|Lead 29329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029330|129330|989898|1|9999029330|MR|Test|E|Lead 29330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029331|129331|989898|1|9999029331|MR|Test|E|Lead 29331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029332|129332|989898|1|9999029332|MR|Test|E|Lead 29332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029333|129333|989898|1|9999029333|MR|Test|E|Lead 29333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029334|129334|989898|1|9999029334|MR|Test|E|Lead 29334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029335|129335|989898|1|9999029335|MR|Test|E|Lead 29335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029336|129336|989898|1|9999029336|MR|Test|E|Lead 29336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029337|129337|989898|1|9999029337|MR|Test|E|Lead 29337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029338|129338|989898|1|9999029338|MR|Test|E|Lead 29338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029339|129339|989898|1|9999029339|MR|Test|E|Lead 29339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029340|129340|989898|1|9999029340|MR|Test|E|Lead 29340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029341|129341|989898|1|9999029341|MR|Test|E|Lead 29341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029342|129342|989898|1|9999029342|MR|Test|E|Lead 29342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029343|129343|989898|1|9999029343|MR|Test|E|Lead 29343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029344|129344|989898|1|9999029344|MR|Test|E|Lead 29344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029345|129345|989898|1|9999029345|MR|Test|E|Lead 29345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029346|129346|989898|1|9999029346|MR|Test|E|Lead 29346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029347|129347|989898|1|9999029347|MR|Test|E|Lead 29347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029348|129348|989898|1|9999029348|MR|Test|E|Lead 29348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029349|129349|989898|1|9999029349|MR|Test|E|Lead 29349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029350|129350|989898|1|9999029350|MR|Test|E|Lead 29350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029351|129351|989898|1|9999029351|MR|Test|E|Lead 29351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029352|129352|989898|1|9999029352|MR|Test|E|Lead 29352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029353|129353|989898|1|9999029353|MR|Test|E|Lead 29353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029354|129354|989898|1|9999029354|MR|Test|E|Lead 29354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029355|129355|989898|1|9999029355|MR|Test|E|Lead 29355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029356|129356|989898|1|9999029356|MR|Test|E|Lead 29356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029357|129357|989898|1|9999029357|MR|Test|E|Lead 29357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029358|129358|989898|1|9999029358|MR|Test|E|Lead 29358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029359|129359|989898|1|9999029359|MR|Test|E|Lead 29359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029360|129360|989898|1|9999029360|MR|Test|E|Lead 29360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029361|129361|989898|1|9999029361|MR|Test|E|Lead 29361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029362|129362|989898|1|9999029362|MR|Test|E|Lead 29362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029363|129363|989898|1|9999029363|MR|Test|E|Lead 29363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029364|129364|989898|1|9999029364|MR|Test|E|Lead 29364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029365|129365|989898|1|9999029365|MR|Test|E|Lead 29365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029366|129366|989898|1|9999029366|MR|Test|E|Lead 29366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029367|129367|989898|1|9999029367|MR|Test|E|Lead 29367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029368|129368|989898|1|9999029368|MR|Test|E|Lead 29368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029369|129369|989898|1|9999029369|MR|Test|E|Lead 29369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029370|129370|989898|1|9999029370|MR|Test|E|Lead 29370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029371|129371|989898|1|9999029371|MR|Test|E|Lead 29371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029372|129372|989898|1|9999029372|MR|Test|E|Lead 29372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029373|129373|989898|1|9999029373|MR|Test|E|Lead 29373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029374|129374|989898|1|9999029374|MR|Test|E|Lead 29374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029375|129375|989898|1|9999029375|MR|Test|E|Lead 29375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029376|129376|989898|1|9999029376|MR|Test|E|Lead 29376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029377|129377|989898|1|9999029377|MR|Test|E|Lead 29377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029378|129378|989898|1|9999029378|MR|Test|E|Lead 29378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029379|129379|989898|1|9999029379|MR|Test|E|Lead 29379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029380|129380|989898|1|9999029380|MR|Test|E|Lead 29380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029381|129381|989898|1|9999029381|MR|Test|E|Lead 29381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029382|129382|989898|1|9999029382|MR|Test|E|Lead 29382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029383|129383|989898|1|9999029383|MR|Test|E|Lead 29383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029384|129384|989898|1|9999029384|MR|Test|E|Lead 29384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029385|129385|989898|1|9999029385|MR|Test|E|Lead 29385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029386|129386|989898|1|9999029386|MR|Test|E|Lead 29386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029387|129387|989898|1|9999029387|MR|Test|E|Lead 29387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029388|129388|989898|1|9999029388|MR|Test|E|Lead 29388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029389|129389|989898|1|9999029389|MR|Test|E|Lead 29389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029390|129390|989898|1|9999029390|MR|Test|E|Lead 29390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029391|129391|989898|1|9999029391|MR|Test|E|Lead 29391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029392|129392|989898|1|9999029392|MR|Test|E|Lead 29392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029393|129393|989898|1|9999029393|MR|Test|E|Lead 29393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029394|129394|989898|1|9999029394|MR|Test|E|Lead 29394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029395|129395|989898|1|9999029395|MR|Test|E|Lead 29395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029396|129396|989898|1|9999029396|MR|Test|E|Lead 29396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029397|129397|989898|1|9999029397|MR|Test|E|Lead 29397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029398|129398|989898|1|9999029398|MR|Test|E|Lead 29398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029399|129399|989898|1|9999029399|MR|Test|E|Lead 29399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029400|129400|989898|1|9999029400|MR|Test|E|Lead 29400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029401|129401|989898|1|9999029401|MR|Test|E|Lead 29401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029402|129402|989898|1|9999029402|MR|Test|E|Lead 29402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029403|129403|989898|1|9999029403|MR|Test|E|Lead 29403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029404|129404|989898|1|9999029404|MR|Test|E|Lead 29404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029405|129405|989898|1|9999029405|MR|Test|E|Lead 29405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029406|129406|989898|1|9999029406|MR|Test|E|Lead 29406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029407|129407|989898|1|9999029407|MR|Test|E|Lead 29407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029408|129408|989898|1|9999029408|MR|Test|E|Lead 29408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029409|129409|989898|1|9999029409|MR|Test|E|Lead 29409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029410|129410|989898|1|9999029410|MR|Test|E|Lead 29410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029411|129411|989898|1|9999029411|MR|Test|E|Lead 29411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029412|129412|989898|1|9999029412|MR|Test|E|Lead 29412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029413|129413|989898|1|9999029413|MR|Test|E|Lead 29413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029414|129414|989898|1|9999029414|MR|Test|E|Lead 29414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029415|129415|989898|1|9999029415|MR|Test|E|Lead 29415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029416|129416|989898|1|9999029416|MR|Test|E|Lead 29416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029417|129417|989898|1|9999029417|MR|Test|E|Lead 29417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029418|129418|989898|1|9999029418|MR|Test|E|Lead 29418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029419|129419|989898|1|9999029419|MR|Test|E|Lead 29419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029420|129420|989898|1|9999029420|MR|Test|E|Lead 29420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029421|129421|989898|1|9999029421|MR|Test|E|Lead 29421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029422|129422|989898|1|9999029422|MR|Test|E|Lead 29422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029423|129423|989898|1|9999029423|MR|Test|E|Lead 29423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029424|129424|989898|1|9999029424|MR|Test|E|Lead 29424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029425|129425|989898|1|9999029425|MR|Test|E|Lead 29425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029426|129426|989898|1|9999029426|MR|Test|E|Lead 29426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029427|129427|989898|1|9999029427|MR|Test|E|Lead 29427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029428|129428|989898|1|9999029428|MR|Test|E|Lead 29428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029429|129429|989898|1|9999029429|MR|Test|E|Lead 29429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029430|129430|989898|1|9999029430|MR|Test|E|Lead 29430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029431|129431|989898|1|9999029431|MR|Test|E|Lead 29431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029432|129432|989898|1|9999029432|MR|Test|E|Lead 29432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029433|129433|989898|1|9999029433|MR|Test|E|Lead 29433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029434|129434|989898|1|9999029434|MR|Test|E|Lead 29434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029435|129435|989898|1|9999029435|MR|Test|E|Lead 29435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029436|129436|989898|1|9999029436|MR|Test|E|Lead 29436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029437|129437|989898|1|9999029437|MR|Test|E|Lead 29437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029438|129438|989898|1|9999029438|MR|Test|E|Lead 29438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029439|129439|989898|1|9999029439|MR|Test|E|Lead 29439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029440|129440|989898|1|9999029440|MR|Test|E|Lead 29440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029441|129441|989898|1|9999029441|MR|Test|E|Lead 29441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029442|129442|989898|1|9999029442|MR|Test|E|Lead 29442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029443|129443|989898|1|9999029443|MR|Test|E|Lead 29443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029444|129444|989898|1|9999029444|MR|Test|E|Lead 29444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029445|129445|989898|1|9999029445|MR|Test|E|Lead 29445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029446|129446|989898|1|9999029446|MR|Test|E|Lead 29446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029447|129447|989898|1|9999029447|MR|Test|E|Lead 29447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029448|129448|989898|1|9999029448|MR|Test|E|Lead 29448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029449|129449|989898|1|9999029449|MR|Test|E|Lead 29449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029450|129450|989898|1|9999029450|MR|Test|E|Lead 29450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029451|129451|989898|1|9999029451|MR|Test|E|Lead 29451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029452|129452|989898|1|9999029452|MR|Test|E|Lead 29452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029453|129453|989898|1|9999029453|MR|Test|E|Lead 29453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029454|129454|989898|1|9999029454|MR|Test|E|Lead 29454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029455|129455|989898|1|9999029455|MR|Test|E|Lead 29455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029456|129456|989898|1|9999029456|MR|Test|E|Lead 29456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029457|129457|989898|1|9999029457|MR|Test|E|Lead 29457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029458|129458|989898|1|9999029458|MR|Test|E|Lead 29458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029459|129459|989898|1|9999029459|MR|Test|E|Lead 29459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029460|129460|989898|1|9999029460|MR|Test|E|Lead 29460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029461|129461|989898|1|9999029461|MR|Test|E|Lead 29461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029462|129462|989898|1|9999029462|MR|Test|E|Lead 29462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029463|129463|989898|1|9999029463|MR|Test|E|Lead 29463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029464|129464|989898|1|9999029464|MR|Test|E|Lead 29464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029465|129465|989898|1|9999029465|MR|Test|E|Lead 29465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029466|129466|989898|1|9999029466|MR|Test|E|Lead 29466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029467|129467|989898|1|9999029467|MR|Test|E|Lead 29467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029468|129468|989898|1|9999029468|MR|Test|E|Lead 29468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029469|129469|989898|1|9999029469|MR|Test|E|Lead 29469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029470|129470|989898|1|9999029470|MR|Test|E|Lead 29470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029471|129471|989898|1|9999029471|MR|Test|E|Lead 29471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029472|129472|989898|1|9999029472|MR|Test|E|Lead 29472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029473|129473|989898|1|9999029473|MR|Test|E|Lead 29473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029474|129474|989898|1|9999029474|MR|Test|E|Lead 29474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029475|129475|989898|1|9999029475|MR|Test|E|Lead 29475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029476|129476|989898|1|9999029476|MR|Test|E|Lead 29476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029477|129477|989898|1|9999029477|MR|Test|E|Lead 29477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029478|129478|989898|1|9999029478|MR|Test|E|Lead 29478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029479|129479|989898|1|9999029479|MR|Test|E|Lead 29479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029480|129480|989898|1|9999029480|MR|Test|E|Lead 29480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029481|129481|989898|1|9999029481|MR|Test|E|Lead 29481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029482|129482|989898|1|9999029482|MR|Test|E|Lead 29482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029483|129483|989898|1|9999029483|MR|Test|E|Lead 29483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029484|129484|989898|1|9999029484|MR|Test|E|Lead 29484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029485|129485|989898|1|9999029485|MR|Test|E|Lead 29485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029486|129486|989898|1|9999029486|MR|Test|E|Lead 29486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029487|129487|989898|1|9999029487|MR|Test|E|Lead 29487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029488|129488|989898|1|9999029488|MR|Test|E|Lead 29488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029489|129489|989898|1|9999029489|MR|Test|E|Lead 29489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029490|129490|989898|1|9999029490|MR|Test|E|Lead 29490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029491|129491|989898|1|9999029491|MR|Test|E|Lead 29491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029492|129492|989898|1|9999029492|MR|Test|E|Lead 29492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029493|129493|989898|1|9999029493|MR|Test|E|Lead 29493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029494|129494|989898|1|9999029494|MR|Test|E|Lead 29494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029495|129495|989898|1|9999029495|MR|Test|E|Lead 29495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029496|129496|989898|1|9999029496|MR|Test|E|Lead 29496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029497|129497|989898|1|9999029497|MR|Test|E|Lead 29497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029498|129498|989898|1|9999029498|MR|Test|E|Lead 29498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029499|129499|989898|1|9999029499|MR|Test|E|Lead 29499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029500|129500|989898|1|9999029500|MR|Test|E|Lead 29500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029501|129501|989898|1|9999029501|MR|Test|E|Lead 29501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029502|129502|989898|1|9999029502|MR|Test|E|Lead 29502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029503|129503|989898|1|9999029503|MR|Test|E|Lead 29503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029504|129504|989898|1|9999029504|MR|Test|E|Lead 29504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029505|129505|989898|1|9999029505|MR|Test|E|Lead 29505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029506|129506|989898|1|9999029506|MR|Test|E|Lead 29506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029507|129507|989898|1|9999029507|MR|Test|E|Lead 29507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029508|129508|989898|1|9999029508|MR|Test|E|Lead 29508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029509|129509|989898|1|9999029509|MR|Test|E|Lead 29509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029510|129510|989898|1|9999029510|MR|Test|E|Lead 29510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029511|129511|989898|1|9999029511|MR|Test|E|Lead 29511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029512|129512|989898|1|9999029512|MR|Test|E|Lead 29512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029513|129513|989898|1|9999029513|MR|Test|E|Lead 29513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029514|129514|989898|1|9999029514|MR|Test|E|Lead 29514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029515|129515|989898|1|9999029515|MR|Test|E|Lead 29515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029516|129516|989898|1|9999029516|MR|Test|E|Lead 29516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029517|129517|989898|1|9999029517|MR|Test|E|Lead 29517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029518|129518|989898|1|9999029518|MR|Test|E|Lead 29518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029519|129519|989898|1|9999029519|MR|Test|E|Lead 29519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029520|129520|989898|1|9999029520|MR|Test|E|Lead 29520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029521|129521|989898|1|9999029521|MR|Test|E|Lead 29521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029522|129522|989898|1|9999029522|MR|Test|E|Lead 29522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029523|129523|989898|1|9999029523|MR|Test|E|Lead 29523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029524|129524|989898|1|9999029524|MR|Test|E|Lead 29524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029525|129525|989898|1|9999029525|MR|Test|E|Lead 29525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029526|129526|989898|1|9999029526|MR|Test|E|Lead 29526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029527|129527|989898|1|9999029527|MR|Test|E|Lead 29527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029528|129528|989898|1|9999029528|MR|Test|E|Lead 29528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029529|129529|989898|1|9999029529|MR|Test|E|Lead 29529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029530|129530|989898|1|9999029530|MR|Test|E|Lead 29530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029531|129531|989898|1|9999029531|MR|Test|E|Lead 29531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029532|129532|989898|1|9999029532|MR|Test|E|Lead 29532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029533|129533|989898|1|9999029533|MR|Test|E|Lead 29533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029534|129534|989898|1|9999029534|MR|Test|E|Lead 29534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029535|129535|989898|1|9999029535|MR|Test|E|Lead 29535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029536|129536|989898|1|9999029536|MR|Test|E|Lead 29536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029537|129537|989898|1|9999029537|MR|Test|E|Lead 29537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029538|129538|989898|1|9999029538|MR|Test|E|Lead 29538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029539|129539|989898|1|9999029539|MR|Test|E|Lead 29539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029540|129540|989898|1|9999029540|MR|Test|E|Lead 29540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029541|129541|989898|1|9999029541|MR|Test|E|Lead 29541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029542|129542|989898|1|9999029542|MR|Test|E|Lead 29542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029543|129543|989898|1|9999029543|MR|Test|E|Lead 29543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029544|129544|989898|1|9999029544|MR|Test|E|Lead 29544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029545|129545|989898|1|9999029545|MR|Test|E|Lead 29545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029546|129546|989898|1|9999029546|MR|Test|E|Lead 29546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029547|129547|989898|1|9999029547|MR|Test|E|Lead 29547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029548|129548|989898|1|9999029548|MR|Test|E|Lead 29548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029549|129549|989898|1|9999029549|MR|Test|E|Lead 29549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029550|129550|989898|1|9999029550|MR|Test|E|Lead 29550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029551|129551|989898|1|9999029551|MR|Test|E|Lead 29551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029552|129552|989898|1|9999029552|MR|Test|E|Lead 29552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029553|129553|989898|1|9999029553|MR|Test|E|Lead 29553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029554|129554|989898|1|9999029554|MR|Test|E|Lead 29554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029555|129555|989898|1|9999029555|MR|Test|E|Lead 29555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029556|129556|989898|1|9999029556|MR|Test|E|Lead 29556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029557|129557|989898|1|9999029557|MR|Test|E|Lead 29557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029558|129558|989898|1|9999029558|MR|Test|E|Lead 29558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029559|129559|989898|1|9999029559|MR|Test|E|Lead 29559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029560|129560|989898|1|9999029560|MR|Test|E|Lead 29560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029561|129561|989898|1|9999029561|MR|Test|E|Lead 29561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029562|129562|989898|1|9999029562|MR|Test|E|Lead 29562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029563|129563|989898|1|9999029563|MR|Test|E|Lead 29563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029564|129564|989898|1|9999029564|MR|Test|E|Lead 29564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029565|129565|989898|1|9999029565|MR|Test|E|Lead 29565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029566|129566|989898|1|9999029566|MR|Test|E|Lead 29566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029567|129567|989898|1|9999029567|MR|Test|E|Lead 29567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029568|129568|989898|1|9999029568|MR|Test|E|Lead 29568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029569|129569|989898|1|9999029569|MR|Test|E|Lead 29569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029570|129570|989898|1|9999029570|MR|Test|E|Lead 29570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029571|129571|989898|1|9999029571|MR|Test|E|Lead 29571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029572|129572|989898|1|9999029572|MR|Test|E|Lead 29572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029573|129573|989898|1|9999029573|MR|Test|E|Lead 29573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029574|129574|989898|1|9999029574|MR|Test|E|Lead 29574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029575|129575|989898|1|9999029575|MR|Test|E|Lead 29575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029576|129576|989898|1|9999029576|MR|Test|E|Lead 29576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029577|129577|989898|1|9999029577|MR|Test|E|Lead 29577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029578|129578|989898|1|9999029578|MR|Test|E|Lead 29578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029579|129579|989898|1|9999029579|MR|Test|E|Lead 29579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029580|129580|989898|1|9999029580|MR|Test|E|Lead 29580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029581|129581|989898|1|9999029581|MR|Test|E|Lead 29581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029582|129582|989898|1|9999029582|MR|Test|E|Lead 29582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029583|129583|989898|1|9999029583|MR|Test|E|Lead 29583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029584|129584|989898|1|9999029584|MR|Test|E|Lead 29584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029585|129585|989898|1|9999029585|MR|Test|E|Lead 29585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029586|129586|989898|1|9999029586|MR|Test|E|Lead 29586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029587|129587|989898|1|9999029587|MR|Test|E|Lead 29587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029588|129588|989898|1|9999029588|MR|Test|E|Lead 29588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029589|129589|989898|1|9999029589|MR|Test|E|Lead 29589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029590|129590|989898|1|9999029590|MR|Test|E|Lead 29590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029591|129591|989898|1|9999029591|MR|Test|E|Lead 29591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029592|129592|989898|1|9999029592|MR|Test|E|Lead 29592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029593|129593|989898|1|9999029593|MR|Test|E|Lead 29593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029594|129594|989898|1|9999029594|MR|Test|E|Lead 29594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029595|129595|989898|1|9999029595|MR|Test|E|Lead 29595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029596|129596|989898|1|9999029596|MR|Test|E|Lead 29596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029597|129597|989898|1|9999029597|MR|Test|E|Lead 29597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029598|129598|989898|1|9999029598|MR|Test|E|Lead 29598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029599|129599|989898|1|9999029599|MR|Test|E|Lead 29599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029600|129600|989898|1|9999029600|MR|Test|E|Lead 29600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029601|129601|989898|1|9999029601|MR|Test|E|Lead 29601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029602|129602|989898|1|9999029602|MR|Test|E|Lead 29602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029603|129603|989898|1|9999029603|MR|Test|E|Lead 29603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029604|129604|989898|1|9999029604|MR|Test|E|Lead 29604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029605|129605|989898|1|9999029605|MR|Test|E|Lead 29605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029606|129606|989898|1|9999029606|MR|Test|E|Lead 29606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029607|129607|989898|1|9999029607|MR|Test|E|Lead 29607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029608|129608|989898|1|9999029608|MR|Test|E|Lead 29608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029609|129609|989898|1|9999029609|MR|Test|E|Lead 29609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029610|129610|989898|1|9999029610|MR|Test|E|Lead 29610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029611|129611|989898|1|9999029611|MR|Test|E|Lead 29611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029612|129612|989898|1|9999029612|MR|Test|E|Lead 29612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029613|129613|989898|1|9999029613|MR|Test|E|Lead 29613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029614|129614|989898|1|9999029614|MR|Test|E|Lead 29614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029615|129615|989898|1|9999029615|MR|Test|E|Lead 29615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029616|129616|989898|1|9999029616|MR|Test|E|Lead 29616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029617|129617|989898|1|9999029617|MR|Test|E|Lead 29617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029618|129618|989898|1|9999029618|MR|Test|E|Lead 29618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029619|129619|989898|1|9999029619|MR|Test|E|Lead 29619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029620|129620|989898|1|9999029620|MR|Test|E|Lead 29620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029621|129621|989898|1|9999029621|MR|Test|E|Lead 29621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029622|129622|989898|1|9999029622|MR|Test|E|Lead 29622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029623|129623|989898|1|9999029623|MR|Test|E|Lead 29623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029624|129624|989898|1|9999029624|MR|Test|E|Lead 29624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029625|129625|989898|1|9999029625|MR|Test|E|Lead 29625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029626|129626|989898|1|9999029626|MR|Test|E|Lead 29626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029627|129627|989898|1|9999029627|MR|Test|E|Lead 29627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029628|129628|989898|1|9999029628|MR|Test|E|Lead 29628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029629|129629|989898|1|9999029629|MR|Test|E|Lead 29629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029630|129630|989898|1|9999029630|MR|Test|E|Lead 29630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029631|129631|989898|1|9999029631|MR|Test|E|Lead 29631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029632|129632|989898|1|9999029632|MR|Test|E|Lead 29632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029633|129633|989898|1|9999029633|MR|Test|E|Lead 29633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029634|129634|989898|1|9999029634|MR|Test|E|Lead 29634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029635|129635|989898|1|9999029635|MR|Test|E|Lead 29635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029636|129636|989898|1|9999029636|MR|Test|E|Lead 29636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029637|129637|989898|1|9999029637|MR|Test|E|Lead 29637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029638|129638|989898|1|9999029638|MR|Test|E|Lead 29638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029639|129639|989898|1|9999029639|MR|Test|E|Lead 29639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029640|129640|989898|1|9999029640|MR|Test|E|Lead 29640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029641|129641|989898|1|9999029641|MR|Test|E|Lead 29641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029642|129642|989898|1|9999029642|MR|Test|E|Lead 29642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029643|129643|989898|1|9999029643|MR|Test|E|Lead 29643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029644|129644|989898|1|9999029644|MR|Test|E|Lead 29644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029645|129645|989898|1|9999029645|MR|Test|E|Lead 29645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029646|129646|989898|1|9999029646|MR|Test|E|Lead 29646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029647|129647|989898|1|9999029647|MR|Test|E|Lead 29647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029648|129648|989898|1|9999029648|MR|Test|E|Lead 29648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029649|129649|989898|1|9999029649|MR|Test|E|Lead 29649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029650|129650|989898|1|9999029650|MR|Test|E|Lead 29650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029651|129651|989898|1|9999029651|MR|Test|E|Lead 29651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029652|129652|989898|1|9999029652|MR|Test|E|Lead 29652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029653|129653|989898|1|9999029653|MR|Test|E|Lead 29653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029654|129654|989898|1|9999029654|MR|Test|E|Lead 29654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029655|129655|989898|1|9999029655|MR|Test|E|Lead 29655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029656|129656|989898|1|9999029656|MR|Test|E|Lead 29656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029657|129657|989898|1|9999029657|MR|Test|E|Lead 29657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029658|129658|989898|1|9999029658|MR|Test|E|Lead 29658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029659|129659|989898|1|9999029659|MR|Test|E|Lead 29659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029660|129660|989898|1|9999029660|MR|Test|E|Lead 29660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029661|129661|989898|1|9999029661|MR|Test|E|Lead 29661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029662|129662|989898|1|9999029662|MR|Test|E|Lead 29662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029663|129663|989898|1|9999029663|MR|Test|E|Lead 29663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029664|129664|989898|1|9999029664|MR|Test|E|Lead 29664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029665|129665|989898|1|9999029665|MR|Test|E|Lead 29665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029666|129666|989898|1|9999029666|MR|Test|E|Lead 29666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029667|129667|989898|1|9999029667|MR|Test|E|Lead 29667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029668|129668|989898|1|9999029668|MR|Test|E|Lead 29668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029669|129669|989898|1|9999029669|MR|Test|E|Lead 29669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029670|129670|989898|1|9999029670|MR|Test|E|Lead 29670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029671|129671|989898|1|9999029671|MR|Test|E|Lead 29671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029672|129672|989898|1|9999029672|MR|Test|E|Lead 29672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029673|129673|989898|1|9999029673|MR|Test|E|Lead 29673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029674|129674|989898|1|9999029674|MR|Test|E|Lead 29674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029675|129675|989898|1|9999029675|MR|Test|E|Lead 29675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029676|129676|989898|1|9999029676|MR|Test|E|Lead 29676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029677|129677|989898|1|9999029677|MR|Test|E|Lead 29677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029678|129678|989898|1|9999029678|MR|Test|E|Lead 29678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029679|129679|989898|1|9999029679|MR|Test|E|Lead 29679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029680|129680|989898|1|9999029680|MR|Test|E|Lead 29680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029681|129681|989898|1|9999029681|MR|Test|E|Lead 29681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029682|129682|989898|1|9999029682|MR|Test|E|Lead 29682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029683|129683|989898|1|9999029683|MR|Test|E|Lead 29683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029684|129684|989898|1|9999029684|MR|Test|E|Lead 29684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029685|129685|989898|1|9999029685|MR|Test|E|Lead 29685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029686|129686|989898|1|9999029686|MR|Test|E|Lead 29686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029687|129687|989898|1|9999029687|MR|Test|E|Lead 29687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029688|129688|989898|1|9999029688|MR|Test|E|Lead 29688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029689|129689|989898|1|9999029689|MR|Test|E|Lead 29689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029690|129690|989898|1|9999029690|MR|Test|E|Lead 29690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029691|129691|989898|1|9999029691|MR|Test|E|Lead 29691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029692|129692|989898|1|9999029692|MR|Test|E|Lead 29692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029693|129693|989898|1|9999029693|MR|Test|E|Lead 29693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029694|129694|989898|1|9999029694|MR|Test|E|Lead 29694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029695|129695|989898|1|9999029695|MR|Test|E|Lead 29695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029696|129696|989898|1|9999029696|MR|Test|E|Lead 29696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029697|129697|989898|1|9999029697|MR|Test|E|Lead 29697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029698|129698|989898|1|9999029698|MR|Test|E|Lead 29698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029699|129699|989898|1|9999029699|MR|Test|E|Lead 29699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029700|129700|989898|1|9999029700|MR|Test|E|Lead 29700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029701|129701|989898|1|9999029701|MR|Test|E|Lead 29701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029702|129702|989898|1|9999029702|MR|Test|E|Lead 29702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029703|129703|989898|1|9999029703|MR|Test|E|Lead 29703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029704|129704|989898|1|9999029704|MR|Test|E|Lead 29704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029705|129705|989898|1|9999029705|MR|Test|E|Lead 29705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029706|129706|989898|1|9999029706|MR|Test|E|Lead 29706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029707|129707|989898|1|9999029707|MR|Test|E|Lead 29707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029708|129708|989898|1|9999029708|MR|Test|E|Lead 29708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029709|129709|989898|1|9999029709|MR|Test|E|Lead 29709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029710|129710|989898|1|9999029710|MR|Test|E|Lead 29710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029711|129711|989898|1|9999029711|MR|Test|E|Lead 29711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029712|129712|989898|1|9999029712|MR|Test|E|Lead 29712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029713|129713|989898|1|9999029713|MR|Test|E|Lead 29713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029714|129714|989898|1|9999029714|MR|Test|E|Lead 29714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029715|129715|989898|1|9999029715|MR|Test|E|Lead 29715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029716|129716|989898|1|9999029716|MR|Test|E|Lead 29716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029717|129717|989898|1|9999029717|MR|Test|E|Lead 29717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029718|129718|989898|1|9999029718|MR|Test|E|Lead 29718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029719|129719|989898|1|9999029719|MR|Test|E|Lead 29719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029720|129720|989898|1|9999029720|MR|Test|E|Lead 29720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029721|129721|989898|1|9999029721|MR|Test|E|Lead 29721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029722|129722|989898|1|9999029722|MR|Test|E|Lead 29722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029723|129723|989898|1|9999029723|MR|Test|E|Lead 29723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029724|129724|989898|1|9999029724|MR|Test|E|Lead 29724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029725|129725|989898|1|9999029725|MR|Test|E|Lead 29725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029726|129726|989898|1|9999029726|MR|Test|E|Lead 29726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029727|129727|989898|1|9999029727|MR|Test|E|Lead 29727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029728|129728|989898|1|9999029728|MR|Test|E|Lead 29728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029729|129729|989898|1|9999029729|MR|Test|E|Lead 29729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029730|129730|989898|1|9999029730|MR|Test|E|Lead 29730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029731|129731|989898|1|9999029731|MR|Test|E|Lead 29731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029732|129732|989898|1|9999029732|MR|Test|E|Lead 29732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029733|129733|989898|1|9999029733|MR|Test|E|Lead 29733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029734|129734|989898|1|9999029734|MR|Test|E|Lead 29734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029735|129735|989898|1|9999029735|MR|Test|E|Lead 29735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029736|129736|989898|1|9999029736|MR|Test|E|Lead 29736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029737|129737|989898|1|9999029737|MR|Test|E|Lead 29737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029738|129738|989898|1|9999029738|MR|Test|E|Lead 29738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029739|129739|989898|1|9999029739|MR|Test|E|Lead 29739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029740|129740|989898|1|9999029740|MR|Test|E|Lead 29740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029741|129741|989898|1|9999029741|MR|Test|E|Lead 29741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029742|129742|989898|1|9999029742|MR|Test|E|Lead 29742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029743|129743|989898|1|9999029743|MR|Test|E|Lead 29743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029744|129744|989898|1|9999029744|MR|Test|E|Lead 29744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029745|129745|989898|1|9999029745|MR|Test|E|Lead 29745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029746|129746|989898|1|9999029746|MR|Test|E|Lead 29746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029747|129747|989898|1|9999029747|MR|Test|E|Lead 29747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029748|129748|989898|1|9999029748|MR|Test|E|Lead 29748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029749|129749|989898|1|9999029749|MR|Test|E|Lead 29749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029750|129750|989898|1|9999029750|MR|Test|E|Lead 29750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029751|129751|989898|1|9999029751|MR|Test|E|Lead 29751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029752|129752|989898|1|9999029752|MR|Test|E|Lead 29752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029753|129753|989898|1|9999029753|MR|Test|E|Lead 29753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029754|129754|989898|1|9999029754|MR|Test|E|Lead 29754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029755|129755|989898|1|9999029755|MR|Test|E|Lead 29755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029756|129756|989898|1|9999029756|MR|Test|E|Lead 29756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029757|129757|989898|1|9999029757|MR|Test|E|Lead 29757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029758|129758|989898|1|9999029758|MR|Test|E|Lead 29758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029759|129759|989898|1|9999029759|MR|Test|E|Lead 29759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029760|129760|989898|1|9999029760|MR|Test|E|Lead 29760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029761|129761|989898|1|9999029761|MR|Test|E|Lead 29761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029762|129762|989898|1|9999029762|MR|Test|E|Lead 29762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029763|129763|989898|1|9999029763|MR|Test|E|Lead 29763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029764|129764|989898|1|9999029764|MR|Test|E|Lead 29764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029765|129765|989898|1|9999029765|MR|Test|E|Lead 29765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029766|129766|989898|1|9999029766|MR|Test|E|Lead 29766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029767|129767|989898|1|9999029767|MR|Test|E|Lead 29767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029768|129768|989898|1|9999029768|MR|Test|E|Lead 29768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029769|129769|989898|1|9999029769|MR|Test|E|Lead 29769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029770|129770|989898|1|9999029770|MR|Test|E|Lead 29770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029771|129771|989898|1|9999029771|MR|Test|E|Lead 29771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029772|129772|989898|1|9999029772|MR|Test|E|Lead 29772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029773|129773|989898|1|9999029773|MR|Test|E|Lead 29773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029774|129774|989898|1|9999029774|MR|Test|E|Lead 29774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029775|129775|989898|1|9999029775|MR|Test|E|Lead 29775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029776|129776|989898|1|9999029776|MR|Test|E|Lead 29776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029777|129777|989898|1|9999029777|MR|Test|E|Lead 29777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029778|129778|989898|1|9999029778|MR|Test|E|Lead 29778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029779|129779|989898|1|9999029779|MR|Test|E|Lead 29779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029780|129780|989898|1|9999029780|MR|Test|E|Lead 29780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029781|129781|989898|1|9999029781|MR|Test|E|Lead 29781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029782|129782|989898|1|9999029782|MR|Test|E|Lead 29782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029783|129783|989898|1|9999029783|MR|Test|E|Lead 29783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029784|129784|989898|1|9999029784|MR|Test|E|Lead 29784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029785|129785|989898|1|9999029785|MR|Test|E|Lead 29785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029786|129786|989898|1|9999029786|MR|Test|E|Lead 29786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029787|129787|989898|1|9999029787|MR|Test|E|Lead 29787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029788|129788|989898|1|9999029788|MR|Test|E|Lead 29788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029789|129789|989898|1|9999029789|MR|Test|E|Lead 29789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029790|129790|989898|1|9999029790|MR|Test|E|Lead 29790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029791|129791|989898|1|9999029791|MR|Test|E|Lead 29791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029792|129792|989898|1|9999029792|MR|Test|E|Lead 29792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029793|129793|989898|1|9999029793|MR|Test|E|Lead 29793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029794|129794|989898|1|9999029794|MR|Test|E|Lead 29794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029795|129795|989898|1|9999029795|MR|Test|E|Lead 29795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029796|129796|989898|1|9999029796|MR|Test|E|Lead 29796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029797|129797|989898|1|9999029797|MR|Test|E|Lead 29797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029798|129798|989898|1|9999029798|MR|Test|E|Lead 29798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029799|129799|989898|1|9999029799|MR|Test|E|Lead 29799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029800|129800|989898|1|9999029800|MR|Test|E|Lead 29800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029801|129801|989898|1|9999029801|MR|Test|E|Lead 29801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029802|129802|989898|1|9999029802|MR|Test|E|Lead 29802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029803|129803|989898|1|9999029803|MR|Test|E|Lead 29803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029804|129804|989898|1|9999029804|MR|Test|E|Lead 29804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029805|129805|989898|1|9999029805|MR|Test|E|Lead 29805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029806|129806|989898|1|9999029806|MR|Test|E|Lead 29806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029807|129807|989898|1|9999029807|MR|Test|E|Lead 29807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029808|129808|989898|1|9999029808|MR|Test|E|Lead 29808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029809|129809|989898|1|9999029809|MR|Test|E|Lead 29809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029810|129810|989898|1|9999029810|MR|Test|E|Lead 29810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029811|129811|989898|1|9999029811|MR|Test|E|Lead 29811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029812|129812|989898|1|9999029812|MR|Test|E|Lead 29812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029813|129813|989898|1|9999029813|MR|Test|E|Lead 29813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029814|129814|989898|1|9999029814|MR|Test|E|Lead 29814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029815|129815|989898|1|9999029815|MR|Test|E|Lead 29815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029816|129816|989898|1|9999029816|MR|Test|E|Lead 29816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029817|129817|989898|1|9999029817|MR|Test|E|Lead 29817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029818|129818|989898|1|9999029818|MR|Test|E|Lead 29818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029819|129819|989898|1|9999029819|MR|Test|E|Lead 29819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029820|129820|989898|1|9999029820|MR|Test|E|Lead 29820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029821|129821|989898|1|9999029821|MR|Test|E|Lead 29821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029822|129822|989898|1|9999029822|MR|Test|E|Lead 29822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029823|129823|989898|1|9999029823|MR|Test|E|Lead 29823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029824|129824|989898|1|9999029824|MR|Test|E|Lead 29824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029825|129825|989898|1|9999029825|MR|Test|E|Lead 29825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029826|129826|989898|1|9999029826|MR|Test|E|Lead 29826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029827|129827|989898|1|9999029827|MR|Test|E|Lead 29827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029828|129828|989898|1|9999029828|MR|Test|E|Lead 29828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029829|129829|989898|1|9999029829|MR|Test|E|Lead 29829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029830|129830|989898|1|9999029830|MR|Test|E|Lead 29830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029831|129831|989898|1|9999029831|MR|Test|E|Lead 29831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029832|129832|989898|1|9999029832|MR|Test|E|Lead 29832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029833|129833|989898|1|9999029833|MR|Test|E|Lead 29833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029834|129834|989898|1|9999029834|MR|Test|E|Lead 29834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029835|129835|989898|1|9999029835|MR|Test|E|Lead 29835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029836|129836|989898|1|9999029836|MR|Test|E|Lead 29836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029837|129837|989898|1|9999029837|MR|Test|E|Lead 29837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029838|129838|989898|1|9999029838|MR|Test|E|Lead 29838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029839|129839|989898|1|9999029839|MR|Test|E|Lead 29839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029840|129840|989898|1|9999029840|MR|Test|E|Lead 29840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029841|129841|989898|1|9999029841|MR|Test|E|Lead 29841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029842|129842|989898|1|9999029842|MR|Test|E|Lead 29842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029843|129843|989898|1|9999029843|MR|Test|E|Lead 29843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029844|129844|989898|1|9999029844|MR|Test|E|Lead 29844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029845|129845|989898|1|9999029845|MR|Test|E|Lead 29845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029846|129846|989898|1|9999029846|MR|Test|E|Lead 29846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029847|129847|989898|1|9999029847|MR|Test|E|Lead 29847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029848|129848|989898|1|9999029848|MR|Test|E|Lead 29848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029849|129849|989898|1|9999029849|MR|Test|E|Lead 29849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029850|129850|989898|1|9999029850|MR|Test|E|Lead 29850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029851|129851|989898|1|9999029851|MR|Test|E|Lead 29851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029852|129852|989898|1|9999029852|MR|Test|E|Lead 29852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029853|129853|989898|1|9999029853|MR|Test|E|Lead 29853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029854|129854|989898|1|9999029854|MR|Test|E|Lead 29854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029855|129855|989898|1|9999029855|MR|Test|E|Lead 29855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029856|129856|989898|1|9999029856|MR|Test|E|Lead 29856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029857|129857|989898|1|9999029857|MR|Test|E|Lead 29857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029858|129858|989898|1|9999029858|MR|Test|E|Lead 29858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029859|129859|989898|1|9999029859|MR|Test|E|Lead 29859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029860|129860|989898|1|9999029860|MR|Test|E|Lead 29860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029861|129861|989898|1|9999029861|MR|Test|E|Lead 29861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029862|129862|989898|1|9999029862|MR|Test|E|Lead 29862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029863|129863|989898|1|9999029863|MR|Test|E|Lead 29863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029864|129864|989898|1|9999029864|MR|Test|E|Lead 29864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029865|129865|989898|1|9999029865|MR|Test|E|Lead 29865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029866|129866|989898|1|9999029866|MR|Test|E|Lead 29866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029867|129867|989898|1|9999029867|MR|Test|E|Lead 29867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029868|129868|989898|1|9999029868|MR|Test|E|Lead 29868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029869|129869|989898|1|9999029869|MR|Test|E|Lead 29869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029870|129870|989898|1|9999029870|MR|Test|E|Lead 29870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029871|129871|989898|1|9999029871|MR|Test|E|Lead 29871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029872|129872|989898|1|9999029872|MR|Test|E|Lead 29872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029873|129873|989898|1|9999029873|MR|Test|E|Lead 29873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029874|129874|989898|1|9999029874|MR|Test|E|Lead 29874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029875|129875|989898|1|9999029875|MR|Test|E|Lead 29875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029876|129876|989898|1|9999029876|MR|Test|E|Lead 29876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029877|129877|989898|1|9999029877|MR|Test|E|Lead 29877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029878|129878|989898|1|9999029878|MR|Test|E|Lead 29878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029879|129879|989898|1|9999029879|MR|Test|E|Lead 29879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029880|129880|989898|1|9999029880|MR|Test|E|Lead 29880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029881|129881|989898|1|9999029881|MR|Test|E|Lead 29881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029882|129882|989898|1|9999029882|MR|Test|E|Lead 29882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029883|129883|989898|1|9999029883|MR|Test|E|Lead 29883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029884|129884|989898|1|9999029884|MR|Test|E|Lead 29884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029885|129885|989898|1|9999029885|MR|Test|E|Lead 29885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029886|129886|989898|1|9999029886|MR|Test|E|Lead 29886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029887|129887|989898|1|9999029887|MR|Test|E|Lead 29887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029888|129888|989898|1|9999029888|MR|Test|E|Lead 29888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029889|129889|989898|1|9999029889|MR|Test|E|Lead 29889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029890|129890|989898|1|9999029890|MR|Test|E|Lead 29890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029891|129891|989898|1|9999029891|MR|Test|E|Lead 29891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029892|129892|989898|1|9999029892|MR|Test|E|Lead 29892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029893|129893|989898|1|9999029893|MR|Test|E|Lead 29893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029894|129894|989898|1|9999029894|MR|Test|E|Lead 29894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029895|129895|989898|1|9999029895|MR|Test|E|Lead 29895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029896|129896|989898|1|9999029896|MR|Test|E|Lead 29896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029897|129897|989898|1|9999029897|MR|Test|E|Lead 29897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029898|129898|989898|1|9999029898|MR|Test|E|Lead 29898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029899|129899|989898|1|9999029899|MR|Test|E|Lead 29899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029900|129900|989898|1|9999029900|MR|Test|E|Lead 29900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029901|129901|989898|1|9999029901|MR|Test|E|Lead 29901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029902|129902|989898|1|9999029902|MR|Test|E|Lead 29902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029903|129903|989898|1|9999029903|MR|Test|E|Lead 29903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029904|129904|989898|1|9999029904|MR|Test|E|Lead 29904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029905|129905|989898|1|9999029905|MR|Test|E|Lead 29905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029906|129906|989898|1|9999029906|MR|Test|E|Lead 29906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029907|129907|989898|1|9999029907|MR|Test|E|Lead 29907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029908|129908|989898|1|9999029908|MR|Test|E|Lead 29908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029909|129909|989898|1|9999029909|MR|Test|E|Lead 29909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029910|129910|989898|1|9999029910|MR|Test|E|Lead 29910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029911|129911|989898|1|9999029911|MR|Test|E|Lead 29911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029912|129912|989898|1|9999029912|MR|Test|E|Lead 29912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029913|129913|989898|1|9999029913|MR|Test|E|Lead 29913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029914|129914|989898|1|9999029914|MR|Test|E|Lead 29914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029915|129915|989898|1|9999029915|MR|Test|E|Lead 29915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029916|129916|989898|1|9999029916|MR|Test|E|Lead 29916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029917|129917|989898|1|9999029917|MR|Test|E|Lead 29917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029918|129918|989898|1|9999029918|MR|Test|E|Lead 29918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029919|129919|989898|1|9999029919|MR|Test|E|Lead 29919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029920|129920|989898|1|9999029920|MR|Test|E|Lead 29920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029921|129921|989898|1|9999029921|MR|Test|E|Lead 29921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029922|129922|989898|1|9999029922|MR|Test|E|Lead 29922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029923|129923|989898|1|9999029923|MR|Test|E|Lead 29923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029924|129924|989898|1|9999029924|MR|Test|E|Lead 29924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029925|129925|989898|1|9999029925|MR|Test|E|Lead 29925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029926|129926|989898|1|9999029926|MR|Test|E|Lead 29926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029927|129927|989898|1|9999029927|MR|Test|E|Lead 29927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029928|129928|989898|1|9999029928|MR|Test|E|Lead 29928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029929|129929|989898|1|9999029929|MR|Test|E|Lead 29929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029930|129930|989898|1|9999029930|MR|Test|E|Lead 29930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029931|129931|989898|1|9999029931|MR|Test|E|Lead 29931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029932|129932|989898|1|9999029932|MR|Test|E|Lead 29932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029933|129933|989898|1|9999029933|MR|Test|E|Lead 29933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029934|129934|989898|1|9999029934|MR|Test|E|Lead 29934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029935|129935|989898|1|9999029935|MR|Test|E|Lead 29935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029936|129936|989898|1|9999029936|MR|Test|E|Lead 29936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029937|129937|989898|1|9999029937|MR|Test|E|Lead 29937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029938|129938|989898|1|9999029938|MR|Test|E|Lead 29938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029939|129939|989898|1|9999029939|MR|Test|E|Lead 29939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029940|129940|989898|1|9999029940|MR|Test|E|Lead 29940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029941|129941|989898|1|9999029941|MR|Test|E|Lead 29941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029942|129942|989898|1|9999029942|MR|Test|E|Lead 29942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029943|129943|989898|1|9999029943|MR|Test|E|Lead 29943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029944|129944|989898|1|9999029944|MR|Test|E|Lead 29944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029945|129945|989898|1|9999029945|MR|Test|E|Lead 29945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029946|129946|989898|1|9999029946|MR|Test|E|Lead 29946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029947|129947|989898|1|9999029947|MR|Test|E|Lead 29947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029948|129948|989898|1|9999029948|MR|Test|E|Lead 29948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029949|129949|989898|1|9999029949|MR|Test|E|Lead 29949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029950|129950|989898|1|9999029950|MR|Test|E|Lead 29950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029951|129951|989898|1|9999029951|MR|Test|E|Lead 29951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029952|129952|989898|1|9999029952|MR|Test|E|Lead 29952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029953|129953|989898|1|9999029953|MR|Test|E|Lead 29953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029954|129954|989898|1|9999029954|MR|Test|E|Lead 29954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029955|129955|989898|1|9999029955|MR|Test|E|Lead 29955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029956|129956|989898|1|9999029956|MR|Test|E|Lead 29956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029957|129957|989898|1|9999029957|MR|Test|E|Lead 29957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029958|129958|989898|1|9999029958|MR|Test|E|Lead 29958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029959|129959|989898|1|9999029959|MR|Test|E|Lead 29959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029960|129960|989898|1|9999029960|MR|Test|E|Lead 29960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029961|129961|989898|1|9999029961|MR|Test|E|Lead 29961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029962|129962|989898|1|9999029962|MR|Test|E|Lead 29962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029963|129963|989898|1|9999029963|MR|Test|E|Lead 29963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029964|129964|989898|1|9999029964|MR|Test|E|Lead 29964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029965|129965|989898|1|9999029965|MR|Test|E|Lead 29965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029966|129966|989898|1|9999029966|MR|Test|E|Lead 29966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029967|129967|989898|1|9999029967|MR|Test|E|Lead 29967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029968|129968|989898|1|9999029968|MR|Test|E|Lead 29968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029969|129969|989898|1|9999029969|MR|Test|E|Lead 29969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029970|129970|989898|1|9999029970|MR|Test|E|Lead 29970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029971|129971|989898|1|9999029971|MR|Test|E|Lead 29971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029972|129972|989898|1|9999029972|MR|Test|E|Lead 29972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029973|129973|989898|1|9999029973|MR|Test|E|Lead 29973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029974|129974|989898|1|9999029974|MR|Test|E|Lead 29974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029975|129975|989898|1|9999029975|MR|Test|E|Lead 29975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029976|129976|989898|1|9999029976|MR|Test|E|Lead 29976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029977|129977|989898|1|9999029977|MR|Test|E|Lead 29977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029978|129978|989898|1|9999029978|MR|Test|E|Lead 29978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029979|129979|989898|1|9999029979|MR|Test|E|Lead 29979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029980|129980|989898|1|9999029980|MR|Test|E|Lead 29980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029981|129981|989898|1|9999029981|MR|Test|E|Lead 29981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029982|129982|989898|1|9999029982|MR|Test|E|Lead 29982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029983|129983|989898|1|9999029983|MR|Test|E|Lead 29983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029984|129984|989898|1|9999029984|MR|Test|E|Lead 29984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029985|129985|989898|1|9999029985|MR|Test|E|Lead 29985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029986|129986|989898|1|9999029986|MR|Test|E|Lead 29986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029987|129987|989898|1|9999029987|MR|Test|E|Lead 29987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029988|129988|989898|1|9999029988|MR|Test|E|Lead 29988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029989|129989|989898|1|9999029989|MR|Test|E|Lead 29989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029990|129990|989898|1|9999029990|MR|Test|E|Lead 29990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029991|129991|989898|1|9999029991|MR|Test|E|Lead 29991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029992|129992|989898|1|9999029992|MR|Test|E|Lead 29992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029993|129993|989898|1|9999029993|MR|Test|E|Lead 29993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029994|129994|989898|1|9999029994|MR|Test|E|Lead 29994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029995|129995|989898|1|9999029995|MR|Test|E|Lead 29995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029996|129996|989898|1|9999029996|MR|Test|E|Lead 29996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029997|129997|989898|1|9999029997|MR|Test|E|Lead 29997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029998|129998|989898|1|9999029998|MR|Test|E|Lead 29998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1029999|129999|989898|1|9999029999|MR|Test|E|Lead 29999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030000|130000|989898|1|9999030000|MR|Test|E|Lead 30000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030001|130001|989898|1|9999030001|MR|Test|E|Lead 30001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030002|130002|989898|1|9999030002|MR|Test|E|Lead 30002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030003|130003|989898|1|9999030003|MR|Test|E|Lead 30003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030004|130004|989898|1|9999030004|MR|Test|E|Lead 30004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030005|130005|989898|1|9999030005|MR|Test|E|Lead 30005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030006|130006|989898|1|9999030006|MR|Test|E|Lead 30006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030007|130007|989898|1|9999030007|MR|Test|E|Lead 30007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030008|130008|989898|1|9999030008|MR|Test|E|Lead 30008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030009|130009|989898|1|9999030009|MR|Test|E|Lead 30009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030010|130010|989898|1|9999030010|MR|Test|E|Lead 30010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030011|130011|989898|1|9999030011|MR|Test|E|Lead 30011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030012|130012|989898|1|9999030012|MR|Test|E|Lead 30012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030013|130013|989898|1|9999030013|MR|Test|E|Lead 30013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030014|130014|989898|1|9999030014|MR|Test|E|Lead 30014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030015|130015|989898|1|9999030015|MR|Test|E|Lead 30015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030016|130016|989898|1|9999030016|MR|Test|E|Lead 30016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030017|130017|989898|1|9999030017|MR|Test|E|Lead 30017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030018|130018|989898|1|9999030018|MR|Test|E|Lead 30018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030019|130019|989898|1|9999030019|MR|Test|E|Lead 30019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030020|130020|989898|1|9999030020|MR|Test|E|Lead 30020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030021|130021|989898|1|9999030021|MR|Test|E|Lead 30021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030022|130022|989898|1|9999030022|MR|Test|E|Lead 30022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030023|130023|989898|1|9999030023|MR|Test|E|Lead 30023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030024|130024|989898|1|9999030024|MR|Test|E|Lead 30024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030025|130025|989898|1|9999030025|MR|Test|E|Lead 30025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030026|130026|989898|1|9999030026|MR|Test|E|Lead 30026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030027|130027|989898|1|9999030027|MR|Test|E|Lead 30027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030028|130028|989898|1|9999030028|MR|Test|E|Lead 30028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030029|130029|989898|1|9999030029|MR|Test|E|Lead 30029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030030|130030|989898|1|9999030030|MR|Test|E|Lead 30030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030031|130031|989898|1|9999030031|MR|Test|E|Lead 30031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030032|130032|989898|1|9999030032|MR|Test|E|Lead 30032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030033|130033|989898|1|9999030033|MR|Test|E|Lead 30033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030034|130034|989898|1|9999030034|MR|Test|E|Lead 30034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030035|130035|989898|1|9999030035|MR|Test|E|Lead 30035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030036|130036|989898|1|9999030036|MR|Test|E|Lead 30036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030037|130037|989898|1|9999030037|MR|Test|E|Lead 30037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030038|130038|989898|1|9999030038|MR|Test|E|Lead 30038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030039|130039|989898|1|9999030039|MR|Test|E|Lead 30039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030040|130040|989898|1|9999030040|MR|Test|E|Lead 30040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030041|130041|989898|1|9999030041|MR|Test|E|Lead 30041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030042|130042|989898|1|9999030042|MR|Test|E|Lead 30042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030043|130043|989898|1|9999030043|MR|Test|E|Lead 30043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030044|130044|989898|1|9999030044|MR|Test|E|Lead 30044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030045|130045|989898|1|9999030045|MR|Test|E|Lead 30045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030046|130046|989898|1|9999030046|MR|Test|E|Lead 30046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030047|130047|989898|1|9999030047|MR|Test|E|Lead 30047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030048|130048|989898|1|9999030048|MR|Test|E|Lead 30048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030049|130049|989898|1|9999030049|MR|Test|E|Lead 30049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030050|130050|989898|1|9999030050|MR|Test|E|Lead 30050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030051|130051|989898|1|9999030051|MR|Test|E|Lead 30051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030052|130052|989898|1|9999030052|MR|Test|E|Lead 30052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030053|130053|989898|1|9999030053|MR|Test|E|Lead 30053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030054|130054|989898|1|9999030054|MR|Test|E|Lead 30054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030055|130055|989898|1|9999030055|MR|Test|E|Lead 30055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030056|130056|989898|1|9999030056|MR|Test|E|Lead 30056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030057|130057|989898|1|9999030057|MR|Test|E|Lead 30057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030058|130058|989898|1|9999030058|MR|Test|E|Lead 30058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030059|130059|989898|1|9999030059|MR|Test|E|Lead 30059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030060|130060|989898|1|9999030060|MR|Test|E|Lead 30060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030061|130061|989898|1|9999030061|MR|Test|E|Lead 30061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030062|130062|989898|1|9999030062|MR|Test|E|Lead 30062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030063|130063|989898|1|9999030063|MR|Test|E|Lead 30063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030064|130064|989898|1|9999030064|MR|Test|E|Lead 30064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030065|130065|989898|1|9999030065|MR|Test|E|Lead 30065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030066|130066|989898|1|9999030066|MR|Test|E|Lead 30066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030067|130067|989898|1|9999030067|MR|Test|E|Lead 30067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030068|130068|989898|1|9999030068|MR|Test|E|Lead 30068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030069|130069|989898|1|9999030069|MR|Test|E|Lead 30069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030070|130070|989898|1|9999030070|MR|Test|E|Lead 30070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030071|130071|989898|1|9999030071|MR|Test|E|Lead 30071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030072|130072|989898|1|9999030072|MR|Test|E|Lead 30072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030073|130073|989898|1|9999030073|MR|Test|E|Lead 30073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030074|130074|989898|1|9999030074|MR|Test|E|Lead 30074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030075|130075|989898|1|9999030075|MR|Test|E|Lead 30075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030076|130076|989898|1|9999030076|MR|Test|E|Lead 30076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030077|130077|989898|1|9999030077|MR|Test|E|Lead 30077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030078|130078|989898|1|9999030078|MR|Test|E|Lead 30078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030079|130079|989898|1|9999030079|MR|Test|E|Lead 30079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030080|130080|989898|1|9999030080|MR|Test|E|Lead 30080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030081|130081|989898|1|9999030081|MR|Test|E|Lead 30081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030082|130082|989898|1|9999030082|MR|Test|E|Lead 30082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030083|130083|989898|1|9999030083|MR|Test|E|Lead 30083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030084|130084|989898|1|9999030084|MR|Test|E|Lead 30084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030085|130085|989898|1|9999030085|MR|Test|E|Lead 30085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030086|130086|989898|1|9999030086|MR|Test|E|Lead 30086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030087|130087|989898|1|9999030087|MR|Test|E|Lead 30087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030088|130088|989898|1|9999030088|MR|Test|E|Lead 30088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030089|130089|989898|1|9999030089|MR|Test|E|Lead 30089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030090|130090|989898|1|9999030090|MR|Test|E|Lead 30090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030091|130091|989898|1|9999030091|MR|Test|E|Lead 30091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030092|130092|989898|1|9999030092|MR|Test|E|Lead 30092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030093|130093|989898|1|9999030093|MR|Test|E|Lead 30093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030094|130094|989898|1|9999030094|MR|Test|E|Lead 30094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030095|130095|989898|1|9999030095|MR|Test|E|Lead 30095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030096|130096|989898|1|9999030096|MR|Test|E|Lead 30096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030097|130097|989898|1|9999030097|MR|Test|E|Lead 30097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030098|130098|989898|1|9999030098|MR|Test|E|Lead 30098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030099|130099|989898|1|9999030099|MR|Test|E|Lead 30099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030100|130100|989898|1|9999030100|MR|Test|E|Lead 30100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030101|130101|989898|1|9999030101|MR|Test|E|Lead 30101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030102|130102|989898|1|9999030102|MR|Test|E|Lead 30102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030103|130103|989898|1|9999030103|MR|Test|E|Lead 30103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030104|130104|989898|1|9999030104|MR|Test|E|Lead 30104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030105|130105|989898|1|9999030105|MR|Test|E|Lead 30105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030106|130106|989898|1|9999030106|MR|Test|E|Lead 30106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030107|130107|989898|1|9999030107|MR|Test|E|Lead 30107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030108|130108|989898|1|9999030108|MR|Test|E|Lead 30108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030109|130109|989898|1|9999030109|MR|Test|E|Lead 30109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030110|130110|989898|1|9999030110|MR|Test|E|Lead 30110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030111|130111|989898|1|9999030111|MR|Test|E|Lead 30111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030112|130112|989898|1|9999030112|MR|Test|E|Lead 30112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030113|130113|989898|1|9999030113|MR|Test|E|Lead 30113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030114|130114|989898|1|9999030114|MR|Test|E|Lead 30114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030115|130115|989898|1|9999030115|MR|Test|E|Lead 30115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030116|130116|989898|1|9999030116|MR|Test|E|Lead 30116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030117|130117|989898|1|9999030117|MR|Test|E|Lead 30117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030118|130118|989898|1|9999030118|MR|Test|E|Lead 30118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030119|130119|989898|1|9999030119|MR|Test|E|Lead 30119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030120|130120|989898|1|9999030120|MR|Test|E|Lead 30120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030121|130121|989898|1|9999030121|MR|Test|E|Lead 30121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030122|130122|989898|1|9999030122|MR|Test|E|Lead 30122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030123|130123|989898|1|9999030123|MR|Test|E|Lead 30123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030124|130124|989898|1|9999030124|MR|Test|E|Lead 30124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030125|130125|989898|1|9999030125|MR|Test|E|Lead 30125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030126|130126|989898|1|9999030126|MR|Test|E|Lead 30126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030127|130127|989898|1|9999030127|MR|Test|E|Lead 30127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030128|130128|989898|1|9999030128|MR|Test|E|Lead 30128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030129|130129|989898|1|9999030129|MR|Test|E|Lead 30129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030130|130130|989898|1|9999030130|MR|Test|E|Lead 30130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030131|130131|989898|1|9999030131|MR|Test|E|Lead 30131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030132|130132|989898|1|9999030132|MR|Test|E|Lead 30132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030133|130133|989898|1|9999030133|MR|Test|E|Lead 30133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030134|130134|989898|1|9999030134|MR|Test|E|Lead 30134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030135|130135|989898|1|9999030135|MR|Test|E|Lead 30135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030136|130136|989898|1|9999030136|MR|Test|E|Lead 30136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030137|130137|989898|1|9999030137|MR|Test|E|Lead 30137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030138|130138|989898|1|9999030138|MR|Test|E|Lead 30138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030139|130139|989898|1|9999030139|MR|Test|E|Lead 30139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030140|130140|989898|1|9999030140|MR|Test|E|Lead 30140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030141|130141|989898|1|9999030141|MR|Test|E|Lead 30141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030142|130142|989898|1|9999030142|MR|Test|E|Lead 30142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030143|130143|989898|1|9999030143|MR|Test|E|Lead 30143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030144|130144|989898|1|9999030144|MR|Test|E|Lead 30144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030145|130145|989898|1|9999030145|MR|Test|E|Lead 30145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030146|130146|989898|1|9999030146|MR|Test|E|Lead 30146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030147|130147|989898|1|9999030147|MR|Test|E|Lead 30147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030148|130148|989898|1|9999030148|MR|Test|E|Lead 30148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030149|130149|989898|1|9999030149|MR|Test|E|Lead 30149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030150|130150|989898|1|9999030150|MR|Test|E|Lead 30150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030151|130151|989898|1|9999030151|MR|Test|E|Lead 30151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030152|130152|989898|1|9999030152|MR|Test|E|Lead 30152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030153|130153|989898|1|9999030153|MR|Test|E|Lead 30153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030154|130154|989898|1|9999030154|MR|Test|E|Lead 30154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030155|130155|989898|1|9999030155|MR|Test|E|Lead 30155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030156|130156|989898|1|9999030156|MR|Test|E|Lead 30156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030157|130157|989898|1|9999030157|MR|Test|E|Lead 30157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030158|130158|989898|1|9999030158|MR|Test|E|Lead 30158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030159|130159|989898|1|9999030159|MR|Test|E|Lead 30159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030160|130160|989898|1|9999030160|MR|Test|E|Lead 30160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030161|130161|989898|1|9999030161|MR|Test|E|Lead 30161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030162|130162|989898|1|9999030162|MR|Test|E|Lead 30162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030163|130163|989898|1|9999030163|MR|Test|E|Lead 30163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030164|130164|989898|1|9999030164|MR|Test|E|Lead 30164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030165|130165|989898|1|9999030165|MR|Test|E|Lead 30165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030166|130166|989898|1|9999030166|MR|Test|E|Lead 30166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030167|130167|989898|1|9999030167|MR|Test|E|Lead 30167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030168|130168|989898|1|9999030168|MR|Test|E|Lead 30168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030169|130169|989898|1|9999030169|MR|Test|E|Lead 30169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030170|130170|989898|1|9999030170|MR|Test|E|Lead 30170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030171|130171|989898|1|9999030171|MR|Test|E|Lead 30171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030172|130172|989898|1|9999030172|MR|Test|E|Lead 30172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030173|130173|989898|1|9999030173|MR|Test|E|Lead 30173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030174|130174|989898|1|9999030174|MR|Test|E|Lead 30174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030175|130175|989898|1|9999030175|MR|Test|E|Lead 30175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030176|130176|989898|1|9999030176|MR|Test|E|Lead 30176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030177|130177|989898|1|9999030177|MR|Test|E|Lead 30177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030178|130178|989898|1|9999030178|MR|Test|E|Lead 30178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030179|130179|989898|1|9999030179|MR|Test|E|Lead 30179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030180|130180|989898|1|9999030180|MR|Test|E|Lead 30180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030181|130181|989898|1|9999030181|MR|Test|E|Lead 30181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030182|130182|989898|1|9999030182|MR|Test|E|Lead 30182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030183|130183|989898|1|9999030183|MR|Test|E|Lead 30183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030184|130184|989898|1|9999030184|MR|Test|E|Lead 30184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030185|130185|989898|1|9999030185|MR|Test|E|Lead 30185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030186|130186|989898|1|9999030186|MR|Test|E|Lead 30186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030187|130187|989898|1|9999030187|MR|Test|E|Lead 30187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030188|130188|989898|1|9999030188|MR|Test|E|Lead 30188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030189|130189|989898|1|9999030189|MR|Test|E|Lead 30189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030190|130190|989898|1|9999030190|MR|Test|E|Lead 30190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030191|130191|989898|1|9999030191|MR|Test|E|Lead 30191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030192|130192|989898|1|9999030192|MR|Test|E|Lead 30192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030193|130193|989898|1|9999030193|MR|Test|E|Lead 30193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030194|130194|989898|1|9999030194|MR|Test|E|Lead 30194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030195|130195|989898|1|9999030195|MR|Test|E|Lead 30195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030196|130196|989898|1|9999030196|MR|Test|E|Lead 30196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030197|130197|989898|1|9999030197|MR|Test|E|Lead 30197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030198|130198|989898|1|9999030198|MR|Test|E|Lead 30198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030199|130199|989898|1|9999030199|MR|Test|E|Lead 30199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030200|130200|989898|1|9999030200|MR|Test|E|Lead 30200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030201|130201|989898|1|9999030201|MR|Test|E|Lead 30201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030202|130202|989898|1|9999030202|MR|Test|E|Lead 30202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030203|130203|989898|1|9999030203|MR|Test|E|Lead 30203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030204|130204|989898|1|9999030204|MR|Test|E|Lead 30204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030205|130205|989898|1|9999030205|MR|Test|E|Lead 30205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030206|130206|989898|1|9999030206|MR|Test|E|Lead 30206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030207|130207|989898|1|9999030207|MR|Test|E|Lead 30207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030208|130208|989898|1|9999030208|MR|Test|E|Lead 30208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030209|130209|989898|1|9999030209|MR|Test|E|Lead 30209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030210|130210|989898|1|9999030210|MR|Test|E|Lead 30210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030211|130211|989898|1|9999030211|MR|Test|E|Lead 30211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030212|130212|989898|1|9999030212|MR|Test|E|Lead 30212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030213|130213|989898|1|9999030213|MR|Test|E|Lead 30213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030214|130214|989898|1|9999030214|MR|Test|E|Lead 30214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030215|130215|989898|1|9999030215|MR|Test|E|Lead 30215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030216|130216|989898|1|9999030216|MR|Test|E|Lead 30216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030217|130217|989898|1|9999030217|MR|Test|E|Lead 30217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030218|130218|989898|1|9999030218|MR|Test|E|Lead 30218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030219|130219|989898|1|9999030219|MR|Test|E|Lead 30219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030220|130220|989898|1|9999030220|MR|Test|E|Lead 30220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030221|130221|989898|1|9999030221|MR|Test|E|Lead 30221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030222|130222|989898|1|9999030222|MR|Test|E|Lead 30222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030223|130223|989898|1|9999030223|MR|Test|E|Lead 30223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030224|130224|989898|1|9999030224|MR|Test|E|Lead 30224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030225|130225|989898|1|9999030225|MR|Test|E|Lead 30225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030226|130226|989898|1|9999030226|MR|Test|E|Lead 30226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030227|130227|989898|1|9999030227|MR|Test|E|Lead 30227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030228|130228|989898|1|9999030228|MR|Test|E|Lead 30228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030229|130229|989898|1|9999030229|MR|Test|E|Lead 30229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030230|130230|989898|1|9999030230|MR|Test|E|Lead 30230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030231|130231|989898|1|9999030231|MR|Test|E|Lead 30231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030232|130232|989898|1|9999030232|MR|Test|E|Lead 30232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030233|130233|989898|1|9999030233|MR|Test|E|Lead 30233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030234|130234|989898|1|9999030234|MR|Test|E|Lead 30234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030235|130235|989898|1|9999030235|MR|Test|E|Lead 30235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030236|130236|989898|1|9999030236|MR|Test|E|Lead 30236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030237|130237|989898|1|9999030237|MR|Test|E|Lead 30237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030238|130238|989898|1|9999030238|MR|Test|E|Lead 30238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030239|130239|989898|1|9999030239|MR|Test|E|Lead 30239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030240|130240|989898|1|9999030240|MR|Test|E|Lead 30240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030241|130241|989898|1|9999030241|MR|Test|E|Lead 30241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030242|130242|989898|1|9999030242|MR|Test|E|Lead 30242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030243|130243|989898|1|9999030243|MR|Test|E|Lead 30243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030244|130244|989898|1|9999030244|MR|Test|E|Lead 30244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030245|130245|989898|1|9999030245|MR|Test|E|Lead 30245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030246|130246|989898|1|9999030246|MR|Test|E|Lead 30246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030247|130247|989898|1|9999030247|MR|Test|E|Lead 30247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030248|130248|989898|1|9999030248|MR|Test|E|Lead 30248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030249|130249|989898|1|9999030249|MR|Test|E|Lead 30249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030250|130250|989898|1|9999030250|MR|Test|E|Lead 30250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030251|130251|989898|1|9999030251|MR|Test|E|Lead 30251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030252|130252|989898|1|9999030252|MR|Test|E|Lead 30252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030253|130253|989898|1|9999030253|MR|Test|E|Lead 30253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030254|130254|989898|1|9999030254|MR|Test|E|Lead 30254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030255|130255|989898|1|9999030255|MR|Test|E|Lead 30255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030256|130256|989898|1|9999030256|MR|Test|E|Lead 30256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030257|130257|989898|1|9999030257|MR|Test|E|Lead 30257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030258|130258|989898|1|9999030258|MR|Test|E|Lead 30258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030259|130259|989898|1|9999030259|MR|Test|E|Lead 30259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030260|130260|989898|1|9999030260|MR|Test|E|Lead 30260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030261|130261|989898|1|9999030261|MR|Test|E|Lead 30261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030262|130262|989898|1|9999030262|MR|Test|E|Lead 30262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030263|130263|989898|1|9999030263|MR|Test|E|Lead 30263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030264|130264|989898|1|9999030264|MR|Test|E|Lead 30264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030265|130265|989898|1|9999030265|MR|Test|E|Lead 30265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030266|130266|989898|1|9999030266|MR|Test|E|Lead 30266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030267|130267|989898|1|9999030267|MR|Test|E|Lead 30267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030268|130268|989898|1|9999030268|MR|Test|E|Lead 30268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030269|130269|989898|1|9999030269|MR|Test|E|Lead 30269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030270|130270|989898|1|9999030270|MR|Test|E|Lead 30270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030271|130271|989898|1|9999030271|MR|Test|E|Lead 30271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030272|130272|989898|1|9999030272|MR|Test|E|Lead 30272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030273|130273|989898|1|9999030273|MR|Test|E|Lead 30273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030274|130274|989898|1|9999030274|MR|Test|E|Lead 30274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030275|130275|989898|1|9999030275|MR|Test|E|Lead 30275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030276|130276|989898|1|9999030276|MR|Test|E|Lead 30276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030277|130277|989898|1|9999030277|MR|Test|E|Lead 30277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030278|130278|989898|1|9999030278|MR|Test|E|Lead 30278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030279|130279|989898|1|9999030279|MR|Test|E|Lead 30279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030280|130280|989898|1|9999030280|MR|Test|E|Lead 30280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030281|130281|989898|1|9999030281|MR|Test|E|Lead 30281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030282|130282|989898|1|9999030282|MR|Test|E|Lead 30282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030283|130283|989898|1|9999030283|MR|Test|E|Lead 30283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030284|130284|989898|1|9999030284|MR|Test|E|Lead 30284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030285|130285|989898|1|9999030285|MR|Test|E|Lead 30285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030286|130286|989898|1|9999030286|MR|Test|E|Lead 30286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030287|130287|989898|1|9999030287|MR|Test|E|Lead 30287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030288|130288|989898|1|9999030288|MR|Test|E|Lead 30288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030289|130289|989898|1|9999030289|MR|Test|E|Lead 30289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030290|130290|989898|1|9999030290|MR|Test|E|Lead 30290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030291|130291|989898|1|9999030291|MR|Test|E|Lead 30291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030292|130292|989898|1|9999030292|MR|Test|E|Lead 30292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030293|130293|989898|1|9999030293|MR|Test|E|Lead 30293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030294|130294|989898|1|9999030294|MR|Test|E|Lead 30294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030295|130295|989898|1|9999030295|MR|Test|E|Lead 30295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030296|130296|989898|1|9999030296|MR|Test|E|Lead 30296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030297|130297|989898|1|9999030297|MR|Test|E|Lead 30297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030298|130298|989898|1|9999030298|MR|Test|E|Lead 30298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030299|130299|989898|1|9999030299|MR|Test|E|Lead 30299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030300|130300|989898|1|9999030300|MR|Test|E|Lead 30300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030301|130301|989898|1|9999030301|MR|Test|E|Lead 30301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030302|130302|989898|1|9999030302|MR|Test|E|Lead 30302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030303|130303|989898|1|9999030303|MR|Test|E|Lead 30303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030304|130304|989898|1|9999030304|MR|Test|E|Lead 30304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030305|130305|989898|1|9999030305|MR|Test|E|Lead 30305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030306|130306|989898|1|9999030306|MR|Test|E|Lead 30306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030307|130307|989898|1|9999030307|MR|Test|E|Lead 30307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030308|130308|989898|1|9999030308|MR|Test|E|Lead 30308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030309|130309|989898|1|9999030309|MR|Test|E|Lead 30309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030310|130310|989898|1|9999030310|MR|Test|E|Lead 30310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030311|130311|989898|1|9999030311|MR|Test|E|Lead 30311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030312|130312|989898|1|9999030312|MR|Test|E|Lead 30312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030313|130313|989898|1|9999030313|MR|Test|E|Lead 30313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030314|130314|989898|1|9999030314|MR|Test|E|Lead 30314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030315|130315|989898|1|9999030315|MR|Test|E|Lead 30315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030316|130316|989898|1|9999030316|MR|Test|E|Lead 30316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030317|130317|989898|1|9999030317|MR|Test|E|Lead 30317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030318|130318|989898|1|9999030318|MR|Test|E|Lead 30318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030319|130319|989898|1|9999030319|MR|Test|E|Lead 30319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030320|130320|989898|1|9999030320|MR|Test|E|Lead 30320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030321|130321|989898|1|9999030321|MR|Test|E|Lead 30321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030322|130322|989898|1|9999030322|MR|Test|E|Lead 30322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030323|130323|989898|1|9999030323|MR|Test|E|Lead 30323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030324|130324|989898|1|9999030324|MR|Test|E|Lead 30324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030325|130325|989898|1|9999030325|MR|Test|E|Lead 30325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030326|130326|989898|1|9999030326|MR|Test|E|Lead 30326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030327|130327|989898|1|9999030327|MR|Test|E|Lead 30327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030328|130328|989898|1|9999030328|MR|Test|E|Lead 30328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030329|130329|989898|1|9999030329|MR|Test|E|Lead 30329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030330|130330|989898|1|9999030330|MR|Test|E|Lead 30330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030331|130331|989898|1|9999030331|MR|Test|E|Lead 30331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030332|130332|989898|1|9999030332|MR|Test|E|Lead 30332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030333|130333|989898|1|9999030333|MR|Test|E|Lead 30333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030334|130334|989898|1|9999030334|MR|Test|E|Lead 30334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030335|130335|989898|1|9999030335|MR|Test|E|Lead 30335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030336|130336|989898|1|9999030336|MR|Test|E|Lead 30336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030337|130337|989898|1|9999030337|MR|Test|E|Lead 30337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030338|130338|989898|1|9999030338|MR|Test|E|Lead 30338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030339|130339|989898|1|9999030339|MR|Test|E|Lead 30339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030340|130340|989898|1|9999030340|MR|Test|E|Lead 30340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030341|130341|989898|1|9999030341|MR|Test|E|Lead 30341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030342|130342|989898|1|9999030342|MR|Test|E|Lead 30342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030343|130343|989898|1|9999030343|MR|Test|E|Lead 30343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030344|130344|989898|1|9999030344|MR|Test|E|Lead 30344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030345|130345|989898|1|9999030345|MR|Test|E|Lead 30345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030346|130346|989898|1|9999030346|MR|Test|E|Lead 30346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030347|130347|989898|1|9999030347|MR|Test|E|Lead 30347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030348|130348|989898|1|9999030348|MR|Test|E|Lead 30348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030349|130349|989898|1|9999030349|MR|Test|E|Lead 30349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030350|130350|989898|1|9999030350|MR|Test|E|Lead 30350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030351|130351|989898|1|9999030351|MR|Test|E|Lead 30351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030352|130352|989898|1|9999030352|MR|Test|E|Lead 30352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030353|130353|989898|1|9999030353|MR|Test|E|Lead 30353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030354|130354|989898|1|9999030354|MR|Test|E|Lead 30354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030355|130355|989898|1|9999030355|MR|Test|E|Lead 30355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030356|130356|989898|1|9999030356|MR|Test|E|Lead 30356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030357|130357|989898|1|9999030357|MR|Test|E|Lead 30357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030358|130358|989898|1|9999030358|MR|Test|E|Lead 30358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030359|130359|989898|1|9999030359|MR|Test|E|Lead 30359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030360|130360|989898|1|9999030360|MR|Test|E|Lead 30360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030361|130361|989898|1|9999030361|MR|Test|E|Lead 30361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030362|130362|989898|1|9999030362|MR|Test|E|Lead 30362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030363|130363|989898|1|9999030363|MR|Test|E|Lead 30363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030364|130364|989898|1|9999030364|MR|Test|E|Lead 30364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030365|130365|989898|1|9999030365|MR|Test|E|Lead 30365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030366|130366|989898|1|9999030366|MR|Test|E|Lead 30366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030367|130367|989898|1|9999030367|MR|Test|E|Lead 30367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030368|130368|989898|1|9999030368|MR|Test|E|Lead 30368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030369|130369|989898|1|9999030369|MR|Test|E|Lead 30369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030370|130370|989898|1|9999030370|MR|Test|E|Lead 30370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030371|130371|989898|1|9999030371|MR|Test|E|Lead 30371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030372|130372|989898|1|9999030372|MR|Test|E|Lead 30372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030373|130373|989898|1|9999030373|MR|Test|E|Lead 30373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030374|130374|989898|1|9999030374|MR|Test|E|Lead 30374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030375|130375|989898|1|9999030375|MR|Test|E|Lead 30375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030376|130376|989898|1|9999030376|MR|Test|E|Lead 30376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030377|130377|989898|1|9999030377|MR|Test|E|Lead 30377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030378|130378|989898|1|9999030378|MR|Test|E|Lead 30378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030379|130379|989898|1|9999030379|MR|Test|E|Lead 30379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030380|130380|989898|1|9999030380|MR|Test|E|Lead 30380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030381|130381|989898|1|9999030381|MR|Test|E|Lead 30381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030382|130382|989898|1|9999030382|MR|Test|E|Lead 30382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030383|130383|989898|1|9999030383|MR|Test|E|Lead 30383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030384|130384|989898|1|9999030384|MR|Test|E|Lead 30384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030385|130385|989898|1|9999030385|MR|Test|E|Lead 30385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030386|130386|989898|1|9999030386|MR|Test|E|Lead 30386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030387|130387|989898|1|9999030387|MR|Test|E|Lead 30387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030388|130388|989898|1|9999030388|MR|Test|E|Lead 30388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030389|130389|989898|1|9999030389|MR|Test|E|Lead 30389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030390|130390|989898|1|9999030390|MR|Test|E|Lead 30390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030391|130391|989898|1|9999030391|MR|Test|E|Lead 30391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030392|130392|989898|1|9999030392|MR|Test|E|Lead 30392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030393|130393|989898|1|9999030393|MR|Test|E|Lead 30393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030394|130394|989898|1|9999030394|MR|Test|E|Lead 30394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030395|130395|989898|1|9999030395|MR|Test|E|Lead 30395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030396|130396|989898|1|9999030396|MR|Test|E|Lead 30396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030397|130397|989898|1|9999030397|MR|Test|E|Lead 30397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030398|130398|989898|1|9999030398|MR|Test|E|Lead 30398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030399|130399|989898|1|9999030399|MR|Test|E|Lead 30399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030400|130400|989898|1|9999030400|MR|Test|E|Lead 30400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030401|130401|989898|1|9999030401|MR|Test|E|Lead 30401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030402|130402|989898|1|9999030402|MR|Test|E|Lead 30402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030403|130403|989898|1|9999030403|MR|Test|E|Lead 30403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030404|130404|989898|1|9999030404|MR|Test|E|Lead 30404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030405|130405|989898|1|9999030405|MR|Test|E|Lead 30405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030406|130406|989898|1|9999030406|MR|Test|E|Lead 30406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030407|130407|989898|1|9999030407|MR|Test|E|Lead 30407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030408|130408|989898|1|9999030408|MR|Test|E|Lead 30408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030409|130409|989898|1|9999030409|MR|Test|E|Lead 30409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030410|130410|989898|1|9999030410|MR|Test|E|Lead 30410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030411|130411|989898|1|9999030411|MR|Test|E|Lead 30411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030412|130412|989898|1|9999030412|MR|Test|E|Lead 30412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030413|130413|989898|1|9999030413|MR|Test|E|Lead 30413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030414|130414|989898|1|9999030414|MR|Test|E|Lead 30414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030415|130415|989898|1|9999030415|MR|Test|E|Lead 30415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030416|130416|989898|1|9999030416|MR|Test|E|Lead 30416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030417|130417|989898|1|9999030417|MR|Test|E|Lead 30417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030418|130418|989898|1|9999030418|MR|Test|E|Lead 30418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030419|130419|989898|1|9999030419|MR|Test|E|Lead 30419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030420|130420|989898|1|9999030420|MR|Test|E|Lead 30420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030421|130421|989898|1|9999030421|MR|Test|E|Lead 30421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030422|130422|989898|1|9999030422|MR|Test|E|Lead 30422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030423|130423|989898|1|9999030423|MR|Test|E|Lead 30423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030424|130424|989898|1|9999030424|MR|Test|E|Lead 30424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030425|130425|989898|1|9999030425|MR|Test|E|Lead 30425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030426|130426|989898|1|9999030426|MR|Test|E|Lead 30426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030427|130427|989898|1|9999030427|MR|Test|E|Lead 30427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030428|130428|989898|1|9999030428|MR|Test|E|Lead 30428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030429|130429|989898|1|9999030429|MR|Test|E|Lead 30429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030430|130430|989898|1|9999030430|MR|Test|E|Lead 30430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030431|130431|989898|1|9999030431|MR|Test|E|Lead 30431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030432|130432|989898|1|9999030432|MR|Test|E|Lead 30432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030433|130433|989898|1|9999030433|MR|Test|E|Lead 30433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030434|130434|989898|1|9999030434|MR|Test|E|Lead 30434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030435|130435|989898|1|9999030435|MR|Test|E|Lead 30435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030436|130436|989898|1|9999030436|MR|Test|E|Lead 30436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030437|130437|989898|1|9999030437|MR|Test|E|Lead 30437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030438|130438|989898|1|9999030438|MR|Test|E|Lead 30438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030439|130439|989898|1|9999030439|MR|Test|E|Lead 30439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030440|130440|989898|1|9999030440|MR|Test|E|Lead 30440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030441|130441|989898|1|9999030441|MR|Test|E|Lead 30441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030442|130442|989898|1|9999030442|MR|Test|E|Lead 30442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030443|130443|989898|1|9999030443|MR|Test|E|Lead 30443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030444|130444|989898|1|9999030444|MR|Test|E|Lead 30444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030445|130445|989898|1|9999030445|MR|Test|E|Lead 30445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030446|130446|989898|1|9999030446|MR|Test|E|Lead 30446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030447|130447|989898|1|9999030447|MR|Test|E|Lead 30447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030448|130448|989898|1|9999030448|MR|Test|E|Lead 30448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030449|130449|989898|1|9999030449|MR|Test|E|Lead 30449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030450|130450|989898|1|9999030450|MR|Test|E|Lead 30450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030451|130451|989898|1|9999030451|MR|Test|E|Lead 30451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030452|130452|989898|1|9999030452|MR|Test|E|Lead 30452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030453|130453|989898|1|9999030453|MR|Test|E|Lead 30453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030454|130454|989898|1|9999030454|MR|Test|E|Lead 30454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030455|130455|989898|1|9999030455|MR|Test|E|Lead 30455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030456|130456|989898|1|9999030456|MR|Test|E|Lead 30456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030457|130457|989898|1|9999030457|MR|Test|E|Lead 30457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030458|130458|989898|1|9999030458|MR|Test|E|Lead 30458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030459|130459|989898|1|9999030459|MR|Test|E|Lead 30459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030460|130460|989898|1|9999030460|MR|Test|E|Lead 30460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030461|130461|989898|1|9999030461|MR|Test|E|Lead 30461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030462|130462|989898|1|9999030462|MR|Test|E|Lead 30462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030463|130463|989898|1|9999030463|MR|Test|E|Lead 30463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030464|130464|989898|1|9999030464|MR|Test|E|Lead 30464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030465|130465|989898|1|9999030465|MR|Test|E|Lead 30465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030466|130466|989898|1|9999030466|MR|Test|E|Lead 30466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030467|130467|989898|1|9999030467|MR|Test|E|Lead 30467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030468|130468|989898|1|9999030468|MR|Test|E|Lead 30468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030469|130469|989898|1|9999030469|MR|Test|E|Lead 30469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030470|130470|989898|1|9999030470|MR|Test|E|Lead 30470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030471|130471|989898|1|9999030471|MR|Test|E|Lead 30471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030472|130472|989898|1|9999030472|MR|Test|E|Lead 30472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030473|130473|989898|1|9999030473|MR|Test|E|Lead 30473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030474|130474|989898|1|9999030474|MR|Test|E|Lead 30474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030475|130475|989898|1|9999030475|MR|Test|E|Lead 30475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030476|130476|989898|1|9999030476|MR|Test|E|Lead 30476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030477|130477|989898|1|9999030477|MR|Test|E|Lead 30477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030478|130478|989898|1|9999030478|MR|Test|E|Lead 30478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030479|130479|989898|1|9999030479|MR|Test|E|Lead 30479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030480|130480|989898|1|9999030480|MR|Test|E|Lead 30480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030481|130481|989898|1|9999030481|MR|Test|E|Lead 30481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030482|130482|989898|1|9999030482|MR|Test|E|Lead 30482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030483|130483|989898|1|9999030483|MR|Test|E|Lead 30483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030484|130484|989898|1|9999030484|MR|Test|E|Lead 30484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030485|130485|989898|1|9999030485|MR|Test|E|Lead 30485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030486|130486|989898|1|9999030486|MR|Test|E|Lead 30486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030487|130487|989898|1|9999030487|MR|Test|E|Lead 30487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030488|130488|989898|1|9999030488|MR|Test|E|Lead 30488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030489|130489|989898|1|9999030489|MR|Test|E|Lead 30489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030490|130490|989898|1|9999030490|MR|Test|E|Lead 30490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030491|130491|989898|1|9999030491|MR|Test|E|Lead 30491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030492|130492|989898|1|9999030492|MR|Test|E|Lead 30492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030493|130493|989898|1|9999030493|MR|Test|E|Lead 30493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030494|130494|989898|1|9999030494|MR|Test|E|Lead 30494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030495|130495|989898|1|9999030495|MR|Test|E|Lead 30495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030496|130496|989898|1|9999030496|MR|Test|E|Lead 30496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030497|130497|989898|1|9999030497|MR|Test|E|Lead 30497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030498|130498|989898|1|9999030498|MR|Test|E|Lead 30498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030499|130499|989898|1|9999030499|MR|Test|E|Lead 30499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030500|130500|989898|1|9999030500|MR|Test|E|Lead 30500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030501|130501|989898|1|9999030501|MR|Test|E|Lead 30501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030502|130502|989898|1|9999030502|MR|Test|E|Lead 30502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030503|130503|989898|1|9999030503|MR|Test|E|Lead 30503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030504|130504|989898|1|9999030504|MR|Test|E|Lead 30504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030505|130505|989898|1|9999030505|MR|Test|E|Lead 30505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030506|130506|989898|1|9999030506|MR|Test|E|Lead 30506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030507|130507|989898|1|9999030507|MR|Test|E|Lead 30507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030508|130508|989898|1|9999030508|MR|Test|E|Lead 30508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030509|130509|989898|1|9999030509|MR|Test|E|Lead 30509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030510|130510|989898|1|9999030510|MR|Test|E|Lead 30510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030511|130511|989898|1|9999030511|MR|Test|E|Lead 30511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030512|130512|989898|1|9999030512|MR|Test|E|Lead 30512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030513|130513|989898|1|9999030513|MR|Test|E|Lead 30513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030514|130514|989898|1|9999030514|MR|Test|E|Lead 30514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030515|130515|989898|1|9999030515|MR|Test|E|Lead 30515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030516|130516|989898|1|9999030516|MR|Test|E|Lead 30516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030517|130517|989898|1|9999030517|MR|Test|E|Lead 30517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030518|130518|989898|1|9999030518|MR|Test|E|Lead 30518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030519|130519|989898|1|9999030519|MR|Test|E|Lead 30519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030520|130520|989898|1|9999030520|MR|Test|E|Lead 30520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030521|130521|989898|1|9999030521|MR|Test|E|Lead 30521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030522|130522|989898|1|9999030522|MR|Test|E|Lead 30522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030523|130523|989898|1|9999030523|MR|Test|E|Lead 30523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030524|130524|989898|1|9999030524|MR|Test|E|Lead 30524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030525|130525|989898|1|9999030525|MR|Test|E|Lead 30525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030526|130526|989898|1|9999030526|MR|Test|E|Lead 30526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030527|130527|989898|1|9999030527|MR|Test|E|Lead 30527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030528|130528|989898|1|9999030528|MR|Test|E|Lead 30528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030529|130529|989898|1|9999030529|MR|Test|E|Lead 30529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030530|130530|989898|1|9999030530|MR|Test|E|Lead 30530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030531|130531|989898|1|9999030531|MR|Test|E|Lead 30531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030532|130532|989898|1|9999030532|MR|Test|E|Lead 30532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030533|130533|989898|1|9999030533|MR|Test|E|Lead 30533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030534|130534|989898|1|9999030534|MR|Test|E|Lead 30534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030535|130535|989898|1|9999030535|MR|Test|E|Lead 30535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030536|130536|989898|1|9999030536|MR|Test|E|Lead 30536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030537|130537|989898|1|9999030537|MR|Test|E|Lead 30537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030538|130538|989898|1|9999030538|MR|Test|E|Lead 30538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030539|130539|989898|1|9999030539|MR|Test|E|Lead 30539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030540|130540|989898|1|9999030540|MR|Test|E|Lead 30540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030541|130541|989898|1|9999030541|MR|Test|E|Lead 30541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030542|130542|989898|1|9999030542|MR|Test|E|Lead 30542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030543|130543|989898|1|9999030543|MR|Test|E|Lead 30543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030544|130544|989898|1|9999030544|MR|Test|E|Lead 30544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030545|130545|989898|1|9999030545|MR|Test|E|Lead 30545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030546|130546|989898|1|9999030546|MR|Test|E|Lead 30546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030547|130547|989898|1|9999030547|MR|Test|E|Lead 30547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030548|130548|989898|1|9999030548|MR|Test|E|Lead 30548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030549|130549|989898|1|9999030549|MR|Test|E|Lead 30549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030550|130550|989898|1|9999030550|MR|Test|E|Lead 30550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030551|130551|989898|1|9999030551|MR|Test|E|Lead 30551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030552|130552|989898|1|9999030552|MR|Test|E|Lead 30552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030553|130553|989898|1|9999030553|MR|Test|E|Lead 30553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030554|130554|989898|1|9999030554|MR|Test|E|Lead 30554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030555|130555|989898|1|9999030555|MR|Test|E|Lead 30555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030556|130556|989898|1|9999030556|MR|Test|E|Lead 30556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030557|130557|989898|1|9999030557|MR|Test|E|Lead 30557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030558|130558|989898|1|9999030558|MR|Test|E|Lead 30558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030559|130559|989898|1|9999030559|MR|Test|E|Lead 30559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030560|130560|989898|1|9999030560|MR|Test|E|Lead 30560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030561|130561|989898|1|9999030561|MR|Test|E|Lead 30561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030562|130562|989898|1|9999030562|MR|Test|E|Lead 30562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030563|130563|989898|1|9999030563|MR|Test|E|Lead 30563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030564|130564|989898|1|9999030564|MR|Test|E|Lead 30564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030565|130565|989898|1|9999030565|MR|Test|E|Lead 30565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030566|130566|989898|1|9999030566|MR|Test|E|Lead 30566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030567|130567|989898|1|9999030567|MR|Test|E|Lead 30567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030568|130568|989898|1|9999030568|MR|Test|E|Lead 30568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030569|130569|989898|1|9999030569|MR|Test|E|Lead 30569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030570|130570|989898|1|9999030570|MR|Test|E|Lead 30570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030571|130571|989898|1|9999030571|MR|Test|E|Lead 30571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030572|130572|989898|1|9999030572|MR|Test|E|Lead 30572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030573|130573|989898|1|9999030573|MR|Test|E|Lead 30573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030574|130574|989898|1|9999030574|MR|Test|E|Lead 30574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030575|130575|989898|1|9999030575|MR|Test|E|Lead 30575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030576|130576|989898|1|9999030576|MR|Test|E|Lead 30576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030577|130577|989898|1|9999030577|MR|Test|E|Lead 30577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030578|130578|989898|1|9999030578|MR|Test|E|Lead 30578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030579|130579|989898|1|9999030579|MR|Test|E|Lead 30579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030580|130580|989898|1|9999030580|MR|Test|E|Lead 30580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030581|130581|989898|1|9999030581|MR|Test|E|Lead 30581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030582|130582|989898|1|9999030582|MR|Test|E|Lead 30582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030583|130583|989898|1|9999030583|MR|Test|E|Lead 30583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030584|130584|989898|1|9999030584|MR|Test|E|Lead 30584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030585|130585|989898|1|9999030585|MR|Test|E|Lead 30585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030586|130586|989898|1|9999030586|MR|Test|E|Lead 30586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030587|130587|989898|1|9999030587|MR|Test|E|Lead 30587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030588|130588|989898|1|9999030588|MR|Test|E|Lead 30588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030589|130589|989898|1|9999030589|MR|Test|E|Lead 30589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030590|130590|989898|1|9999030590|MR|Test|E|Lead 30590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030591|130591|989898|1|9999030591|MR|Test|E|Lead 30591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030592|130592|989898|1|9999030592|MR|Test|E|Lead 30592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030593|130593|989898|1|9999030593|MR|Test|E|Lead 30593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030594|130594|989898|1|9999030594|MR|Test|E|Lead 30594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030595|130595|989898|1|9999030595|MR|Test|E|Lead 30595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030596|130596|989898|1|9999030596|MR|Test|E|Lead 30596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030597|130597|989898|1|9999030597|MR|Test|E|Lead 30597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030598|130598|989898|1|9999030598|MR|Test|E|Lead 30598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030599|130599|989898|1|9999030599|MR|Test|E|Lead 30599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030600|130600|989898|1|9999030600|MR|Test|E|Lead 30600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030601|130601|989898|1|9999030601|MR|Test|E|Lead 30601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030602|130602|989898|1|9999030602|MR|Test|E|Lead 30602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030603|130603|989898|1|9999030603|MR|Test|E|Lead 30603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030604|130604|989898|1|9999030604|MR|Test|E|Lead 30604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030605|130605|989898|1|9999030605|MR|Test|E|Lead 30605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030606|130606|989898|1|9999030606|MR|Test|E|Lead 30606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030607|130607|989898|1|9999030607|MR|Test|E|Lead 30607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030608|130608|989898|1|9999030608|MR|Test|E|Lead 30608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030609|130609|989898|1|9999030609|MR|Test|E|Lead 30609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030610|130610|989898|1|9999030610|MR|Test|E|Lead 30610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030611|130611|989898|1|9999030611|MR|Test|E|Lead 30611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030612|130612|989898|1|9999030612|MR|Test|E|Lead 30612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030613|130613|989898|1|9999030613|MR|Test|E|Lead 30613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030614|130614|989898|1|9999030614|MR|Test|E|Lead 30614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030615|130615|989898|1|9999030615|MR|Test|E|Lead 30615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030616|130616|989898|1|9999030616|MR|Test|E|Lead 30616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030617|130617|989898|1|9999030617|MR|Test|E|Lead 30617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030618|130618|989898|1|9999030618|MR|Test|E|Lead 30618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030619|130619|989898|1|9999030619|MR|Test|E|Lead 30619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030620|130620|989898|1|9999030620|MR|Test|E|Lead 30620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030621|130621|989898|1|9999030621|MR|Test|E|Lead 30621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030622|130622|989898|1|9999030622|MR|Test|E|Lead 30622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030623|130623|989898|1|9999030623|MR|Test|E|Lead 30623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030624|130624|989898|1|9999030624|MR|Test|E|Lead 30624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030625|130625|989898|1|9999030625|MR|Test|E|Lead 30625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030626|130626|989898|1|9999030626|MR|Test|E|Lead 30626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030627|130627|989898|1|9999030627|MR|Test|E|Lead 30627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030628|130628|989898|1|9999030628|MR|Test|E|Lead 30628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030629|130629|989898|1|9999030629|MR|Test|E|Lead 30629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030630|130630|989898|1|9999030630|MR|Test|E|Lead 30630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030631|130631|989898|1|9999030631|MR|Test|E|Lead 30631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030632|130632|989898|1|9999030632|MR|Test|E|Lead 30632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030633|130633|989898|1|9999030633|MR|Test|E|Lead 30633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030634|130634|989898|1|9999030634|MR|Test|E|Lead 30634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030635|130635|989898|1|9999030635|MR|Test|E|Lead 30635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030636|130636|989898|1|9999030636|MR|Test|E|Lead 30636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030637|130637|989898|1|9999030637|MR|Test|E|Lead 30637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030638|130638|989898|1|9999030638|MR|Test|E|Lead 30638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030639|130639|989898|1|9999030639|MR|Test|E|Lead 30639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030640|130640|989898|1|9999030640|MR|Test|E|Lead 30640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030641|130641|989898|1|9999030641|MR|Test|E|Lead 30641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030642|130642|989898|1|9999030642|MR|Test|E|Lead 30642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030643|130643|989898|1|9999030643|MR|Test|E|Lead 30643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030644|130644|989898|1|9999030644|MR|Test|E|Lead 30644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030645|130645|989898|1|9999030645|MR|Test|E|Lead 30645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030646|130646|989898|1|9999030646|MR|Test|E|Lead 30646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030647|130647|989898|1|9999030647|MR|Test|E|Lead 30647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030648|130648|989898|1|9999030648|MR|Test|E|Lead 30648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030649|130649|989898|1|9999030649|MR|Test|E|Lead 30649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030650|130650|989898|1|9999030650|MR|Test|E|Lead 30650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030651|130651|989898|1|9999030651|MR|Test|E|Lead 30651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030652|130652|989898|1|9999030652|MR|Test|E|Lead 30652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030653|130653|989898|1|9999030653|MR|Test|E|Lead 30653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030654|130654|989898|1|9999030654|MR|Test|E|Lead 30654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030655|130655|989898|1|9999030655|MR|Test|E|Lead 30655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030656|130656|989898|1|9999030656|MR|Test|E|Lead 30656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030657|130657|989898|1|9999030657|MR|Test|E|Lead 30657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030658|130658|989898|1|9999030658|MR|Test|E|Lead 30658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030659|130659|989898|1|9999030659|MR|Test|E|Lead 30659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030660|130660|989898|1|9999030660|MR|Test|E|Lead 30660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030661|130661|989898|1|9999030661|MR|Test|E|Lead 30661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030662|130662|989898|1|9999030662|MR|Test|E|Lead 30662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030663|130663|989898|1|9999030663|MR|Test|E|Lead 30663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030664|130664|989898|1|9999030664|MR|Test|E|Lead 30664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030665|130665|989898|1|9999030665|MR|Test|E|Lead 30665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030666|130666|989898|1|9999030666|MR|Test|E|Lead 30666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030667|130667|989898|1|9999030667|MR|Test|E|Lead 30667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030668|130668|989898|1|9999030668|MR|Test|E|Lead 30668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030669|130669|989898|1|9999030669|MR|Test|E|Lead 30669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030670|130670|989898|1|9999030670|MR|Test|E|Lead 30670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030671|130671|989898|1|9999030671|MR|Test|E|Lead 30671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030672|130672|989898|1|9999030672|MR|Test|E|Lead 30672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030673|130673|989898|1|9999030673|MR|Test|E|Lead 30673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030674|130674|989898|1|9999030674|MR|Test|E|Lead 30674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030675|130675|989898|1|9999030675|MR|Test|E|Lead 30675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030676|130676|989898|1|9999030676|MR|Test|E|Lead 30676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030677|130677|989898|1|9999030677|MR|Test|E|Lead 30677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030678|130678|989898|1|9999030678|MR|Test|E|Lead 30678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030679|130679|989898|1|9999030679|MR|Test|E|Lead 30679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030680|130680|989898|1|9999030680|MR|Test|E|Lead 30680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030681|130681|989898|1|9999030681|MR|Test|E|Lead 30681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030682|130682|989898|1|9999030682|MR|Test|E|Lead 30682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030683|130683|989898|1|9999030683|MR|Test|E|Lead 30683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030684|130684|989898|1|9999030684|MR|Test|E|Lead 30684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030685|130685|989898|1|9999030685|MR|Test|E|Lead 30685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030686|130686|989898|1|9999030686|MR|Test|E|Lead 30686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030687|130687|989898|1|9999030687|MR|Test|E|Lead 30687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030688|130688|989898|1|9999030688|MR|Test|E|Lead 30688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030689|130689|989898|1|9999030689|MR|Test|E|Lead 30689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030690|130690|989898|1|9999030690|MR|Test|E|Lead 30690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030691|130691|989898|1|9999030691|MR|Test|E|Lead 30691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030692|130692|989898|1|9999030692|MR|Test|E|Lead 30692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030693|130693|989898|1|9999030693|MR|Test|E|Lead 30693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030694|130694|989898|1|9999030694|MR|Test|E|Lead 30694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030695|130695|989898|1|9999030695|MR|Test|E|Lead 30695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030696|130696|989898|1|9999030696|MR|Test|E|Lead 30696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030697|130697|989898|1|9999030697|MR|Test|E|Lead 30697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030698|130698|989898|1|9999030698|MR|Test|E|Lead 30698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030699|130699|989898|1|9999030699|MR|Test|E|Lead 30699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030700|130700|989898|1|9999030700|MR|Test|E|Lead 30700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030701|130701|989898|1|9999030701|MR|Test|E|Lead 30701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030702|130702|989898|1|9999030702|MR|Test|E|Lead 30702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030703|130703|989898|1|9999030703|MR|Test|E|Lead 30703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030704|130704|989898|1|9999030704|MR|Test|E|Lead 30704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030705|130705|989898|1|9999030705|MR|Test|E|Lead 30705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030706|130706|989898|1|9999030706|MR|Test|E|Lead 30706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030707|130707|989898|1|9999030707|MR|Test|E|Lead 30707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030708|130708|989898|1|9999030708|MR|Test|E|Lead 30708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030709|130709|989898|1|9999030709|MR|Test|E|Lead 30709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030710|130710|989898|1|9999030710|MR|Test|E|Lead 30710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030711|130711|989898|1|9999030711|MR|Test|E|Lead 30711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030712|130712|989898|1|9999030712|MR|Test|E|Lead 30712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030713|130713|989898|1|9999030713|MR|Test|E|Lead 30713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030714|130714|989898|1|9999030714|MR|Test|E|Lead 30714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030715|130715|989898|1|9999030715|MR|Test|E|Lead 30715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030716|130716|989898|1|9999030716|MR|Test|E|Lead 30716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030717|130717|989898|1|9999030717|MR|Test|E|Lead 30717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030718|130718|989898|1|9999030718|MR|Test|E|Lead 30718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030719|130719|989898|1|9999030719|MR|Test|E|Lead 30719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030720|130720|989898|1|9999030720|MR|Test|E|Lead 30720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030721|130721|989898|1|9999030721|MR|Test|E|Lead 30721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030722|130722|989898|1|9999030722|MR|Test|E|Lead 30722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030723|130723|989898|1|9999030723|MR|Test|E|Lead 30723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030724|130724|989898|1|9999030724|MR|Test|E|Lead 30724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030725|130725|989898|1|9999030725|MR|Test|E|Lead 30725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030726|130726|989898|1|9999030726|MR|Test|E|Lead 30726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030727|130727|989898|1|9999030727|MR|Test|E|Lead 30727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030728|130728|989898|1|9999030728|MR|Test|E|Lead 30728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030729|130729|989898|1|9999030729|MR|Test|E|Lead 30729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030730|130730|989898|1|9999030730|MR|Test|E|Lead 30730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030731|130731|989898|1|9999030731|MR|Test|E|Lead 30731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030732|130732|989898|1|9999030732|MR|Test|E|Lead 30732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030733|130733|989898|1|9999030733|MR|Test|E|Lead 30733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030734|130734|989898|1|9999030734|MR|Test|E|Lead 30734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030735|130735|989898|1|9999030735|MR|Test|E|Lead 30735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030736|130736|989898|1|9999030736|MR|Test|E|Lead 30736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030737|130737|989898|1|9999030737|MR|Test|E|Lead 30737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030738|130738|989898|1|9999030738|MR|Test|E|Lead 30738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030739|130739|989898|1|9999030739|MR|Test|E|Lead 30739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030740|130740|989898|1|9999030740|MR|Test|E|Lead 30740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030741|130741|989898|1|9999030741|MR|Test|E|Lead 30741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030742|130742|989898|1|9999030742|MR|Test|E|Lead 30742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030743|130743|989898|1|9999030743|MR|Test|E|Lead 30743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030744|130744|989898|1|9999030744|MR|Test|E|Lead 30744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030745|130745|989898|1|9999030745|MR|Test|E|Lead 30745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030746|130746|989898|1|9999030746|MR|Test|E|Lead 30746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030747|130747|989898|1|9999030747|MR|Test|E|Lead 30747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030748|130748|989898|1|9999030748|MR|Test|E|Lead 30748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030749|130749|989898|1|9999030749|MR|Test|E|Lead 30749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030750|130750|989898|1|9999030750|MR|Test|E|Lead 30750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030751|130751|989898|1|9999030751|MR|Test|E|Lead 30751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030752|130752|989898|1|9999030752|MR|Test|E|Lead 30752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030753|130753|989898|1|9999030753|MR|Test|E|Lead 30753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030754|130754|989898|1|9999030754|MR|Test|E|Lead 30754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030755|130755|989898|1|9999030755|MR|Test|E|Lead 30755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030756|130756|989898|1|9999030756|MR|Test|E|Lead 30756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030757|130757|989898|1|9999030757|MR|Test|E|Lead 30757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030758|130758|989898|1|9999030758|MR|Test|E|Lead 30758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030759|130759|989898|1|9999030759|MR|Test|E|Lead 30759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030760|130760|989898|1|9999030760|MR|Test|E|Lead 30760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030761|130761|989898|1|9999030761|MR|Test|E|Lead 30761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030762|130762|989898|1|9999030762|MR|Test|E|Lead 30762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030763|130763|989898|1|9999030763|MR|Test|E|Lead 30763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030764|130764|989898|1|9999030764|MR|Test|E|Lead 30764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030765|130765|989898|1|9999030765|MR|Test|E|Lead 30765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030766|130766|989898|1|9999030766|MR|Test|E|Lead 30766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030767|130767|989898|1|9999030767|MR|Test|E|Lead 30767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030768|130768|989898|1|9999030768|MR|Test|E|Lead 30768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030769|130769|989898|1|9999030769|MR|Test|E|Lead 30769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030770|130770|989898|1|9999030770|MR|Test|E|Lead 30770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030771|130771|989898|1|9999030771|MR|Test|E|Lead 30771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030772|130772|989898|1|9999030772|MR|Test|E|Lead 30772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030773|130773|989898|1|9999030773|MR|Test|E|Lead 30773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030774|130774|989898|1|9999030774|MR|Test|E|Lead 30774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030775|130775|989898|1|9999030775|MR|Test|E|Lead 30775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030776|130776|989898|1|9999030776|MR|Test|E|Lead 30776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030777|130777|989898|1|9999030777|MR|Test|E|Lead 30777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030778|130778|989898|1|9999030778|MR|Test|E|Lead 30778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030779|130779|989898|1|9999030779|MR|Test|E|Lead 30779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030780|130780|989898|1|9999030780|MR|Test|E|Lead 30780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030781|130781|989898|1|9999030781|MR|Test|E|Lead 30781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030782|130782|989898|1|9999030782|MR|Test|E|Lead 30782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030783|130783|989898|1|9999030783|MR|Test|E|Lead 30783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030784|130784|989898|1|9999030784|MR|Test|E|Lead 30784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030785|130785|989898|1|9999030785|MR|Test|E|Lead 30785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030786|130786|989898|1|9999030786|MR|Test|E|Lead 30786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030787|130787|989898|1|9999030787|MR|Test|E|Lead 30787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030788|130788|989898|1|9999030788|MR|Test|E|Lead 30788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030789|130789|989898|1|9999030789|MR|Test|E|Lead 30789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030790|130790|989898|1|9999030790|MR|Test|E|Lead 30790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030791|130791|989898|1|9999030791|MR|Test|E|Lead 30791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030792|130792|989898|1|9999030792|MR|Test|E|Lead 30792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030793|130793|989898|1|9999030793|MR|Test|E|Lead 30793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030794|130794|989898|1|9999030794|MR|Test|E|Lead 30794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030795|130795|989898|1|9999030795|MR|Test|E|Lead 30795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030796|130796|989898|1|9999030796|MR|Test|E|Lead 30796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030797|130797|989898|1|9999030797|MR|Test|E|Lead 30797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030798|130798|989898|1|9999030798|MR|Test|E|Lead 30798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030799|130799|989898|1|9999030799|MR|Test|E|Lead 30799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030800|130800|989898|1|9999030800|MR|Test|E|Lead 30800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030801|130801|989898|1|9999030801|MR|Test|E|Lead 30801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030802|130802|989898|1|9999030802|MR|Test|E|Lead 30802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030803|130803|989898|1|9999030803|MR|Test|E|Lead 30803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030804|130804|989898|1|9999030804|MR|Test|E|Lead 30804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030805|130805|989898|1|9999030805|MR|Test|E|Lead 30805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030806|130806|989898|1|9999030806|MR|Test|E|Lead 30806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030807|130807|989898|1|9999030807|MR|Test|E|Lead 30807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030808|130808|989898|1|9999030808|MR|Test|E|Lead 30808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030809|130809|989898|1|9999030809|MR|Test|E|Lead 30809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030810|130810|989898|1|9999030810|MR|Test|E|Lead 30810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030811|130811|989898|1|9999030811|MR|Test|E|Lead 30811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030812|130812|989898|1|9999030812|MR|Test|E|Lead 30812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030813|130813|989898|1|9999030813|MR|Test|E|Lead 30813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030814|130814|989898|1|9999030814|MR|Test|E|Lead 30814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030815|130815|989898|1|9999030815|MR|Test|E|Lead 30815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030816|130816|989898|1|9999030816|MR|Test|E|Lead 30816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030817|130817|989898|1|9999030817|MR|Test|E|Lead 30817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030818|130818|989898|1|9999030818|MR|Test|E|Lead 30818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030819|130819|989898|1|9999030819|MR|Test|E|Lead 30819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030820|130820|989898|1|9999030820|MR|Test|E|Lead 30820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030821|130821|989898|1|9999030821|MR|Test|E|Lead 30821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030822|130822|989898|1|9999030822|MR|Test|E|Lead 30822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030823|130823|989898|1|9999030823|MR|Test|E|Lead 30823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030824|130824|989898|1|9999030824|MR|Test|E|Lead 30824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030825|130825|989898|1|9999030825|MR|Test|E|Lead 30825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030826|130826|989898|1|9999030826|MR|Test|E|Lead 30826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030827|130827|989898|1|9999030827|MR|Test|E|Lead 30827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030828|130828|989898|1|9999030828|MR|Test|E|Lead 30828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030829|130829|989898|1|9999030829|MR|Test|E|Lead 30829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030830|130830|989898|1|9999030830|MR|Test|E|Lead 30830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030831|130831|989898|1|9999030831|MR|Test|E|Lead 30831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030832|130832|989898|1|9999030832|MR|Test|E|Lead 30832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030833|130833|989898|1|9999030833|MR|Test|E|Lead 30833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030834|130834|989898|1|9999030834|MR|Test|E|Lead 30834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030835|130835|989898|1|9999030835|MR|Test|E|Lead 30835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030836|130836|989898|1|9999030836|MR|Test|E|Lead 30836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030837|130837|989898|1|9999030837|MR|Test|E|Lead 30837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030838|130838|989898|1|9999030838|MR|Test|E|Lead 30838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030839|130839|989898|1|9999030839|MR|Test|E|Lead 30839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030840|130840|989898|1|9999030840|MR|Test|E|Lead 30840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030841|130841|989898|1|9999030841|MR|Test|E|Lead 30841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030842|130842|989898|1|9999030842|MR|Test|E|Lead 30842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030843|130843|989898|1|9999030843|MR|Test|E|Lead 30843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030844|130844|989898|1|9999030844|MR|Test|E|Lead 30844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030845|130845|989898|1|9999030845|MR|Test|E|Lead 30845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030846|130846|989898|1|9999030846|MR|Test|E|Lead 30846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030847|130847|989898|1|9999030847|MR|Test|E|Lead 30847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030848|130848|989898|1|9999030848|MR|Test|E|Lead 30848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030849|130849|989898|1|9999030849|MR|Test|E|Lead 30849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030850|130850|989898|1|9999030850|MR|Test|E|Lead 30850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030851|130851|989898|1|9999030851|MR|Test|E|Lead 30851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030852|130852|989898|1|9999030852|MR|Test|E|Lead 30852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030853|130853|989898|1|9999030853|MR|Test|E|Lead 30853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030854|130854|989898|1|9999030854|MR|Test|E|Lead 30854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030855|130855|989898|1|9999030855|MR|Test|E|Lead 30855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030856|130856|989898|1|9999030856|MR|Test|E|Lead 30856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030857|130857|989898|1|9999030857|MR|Test|E|Lead 30857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030858|130858|989898|1|9999030858|MR|Test|E|Lead 30858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030859|130859|989898|1|9999030859|MR|Test|E|Lead 30859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030860|130860|989898|1|9999030860|MR|Test|E|Lead 30860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030861|130861|989898|1|9999030861|MR|Test|E|Lead 30861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030862|130862|989898|1|9999030862|MR|Test|E|Lead 30862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030863|130863|989898|1|9999030863|MR|Test|E|Lead 30863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030864|130864|989898|1|9999030864|MR|Test|E|Lead 30864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030865|130865|989898|1|9999030865|MR|Test|E|Lead 30865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030866|130866|989898|1|9999030866|MR|Test|E|Lead 30866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030867|130867|989898|1|9999030867|MR|Test|E|Lead 30867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030868|130868|989898|1|9999030868|MR|Test|E|Lead 30868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030869|130869|989898|1|9999030869|MR|Test|E|Lead 30869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030870|130870|989898|1|9999030870|MR|Test|E|Lead 30870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030871|130871|989898|1|9999030871|MR|Test|E|Lead 30871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030872|130872|989898|1|9999030872|MR|Test|E|Lead 30872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030873|130873|989898|1|9999030873|MR|Test|E|Lead 30873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030874|130874|989898|1|9999030874|MR|Test|E|Lead 30874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030875|130875|989898|1|9999030875|MR|Test|E|Lead 30875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030876|130876|989898|1|9999030876|MR|Test|E|Lead 30876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030877|130877|989898|1|9999030877|MR|Test|E|Lead 30877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030878|130878|989898|1|9999030878|MR|Test|E|Lead 30878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030879|130879|989898|1|9999030879|MR|Test|E|Lead 30879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030880|130880|989898|1|9999030880|MR|Test|E|Lead 30880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030881|130881|989898|1|9999030881|MR|Test|E|Lead 30881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030882|130882|989898|1|9999030882|MR|Test|E|Lead 30882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030883|130883|989898|1|9999030883|MR|Test|E|Lead 30883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030884|130884|989898|1|9999030884|MR|Test|E|Lead 30884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030885|130885|989898|1|9999030885|MR|Test|E|Lead 30885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030886|130886|989898|1|9999030886|MR|Test|E|Lead 30886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030887|130887|989898|1|9999030887|MR|Test|E|Lead 30887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030888|130888|989898|1|9999030888|MR|Test|E|Lead 30888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030889|130889|989898|1|9999030889|MR|Test|E|Lead 30889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030890|130890|989898|1|9999030890|MR|Test|E|Lead 30890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030891|130891|989898|1|9999030891|MR|Test|E|Lead 30891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030892|130892|989898|1|9999030892|MR|Test|E|Lead 30892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030893|130893|989898|1|9999030893|MR|Test|E|Lead 30893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030894|130894|989898|1|9999030894|MR|Test|E|Lead 30894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030895|130895|989898|1|9999030895|MR|Test|E|Lead 30895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030896|130896|989898|1|9999030896|MR|Test|E|Lead 30896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030897|130897|989898|1|9999030897|MR|Test|E|Lead 30897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030898|130898|989898|1|9999030898|MR|Test|E|Lead 30898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030899|130899|989898|1|9999030899|MR|Test|E|Lead 30899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030900|130900|989898|1|9999030900|MR|Test|E|Lead 30900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030901|130901|989898|1|9999030901|MR|Test|E|Lead 30901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030902|130902|989898|1|9999030902|MR|Test|E|Lead 30902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030903|130903|989898|1|9999030903|MR|Test|E|Lead 30903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030904|130904|989898|1|9999030904|MR|Test|E|Lead 30904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030905|130905|989898|1|9999030905|MR|Test|E|Lead 30905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030906|130906|989898|1|9999030906|MR|Test|E|Lead 30906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030907|130907|989898|1|9999030907|MR|Test|E|Lead 30907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030908|130908|989898|1|9999030908|MR|Test|E|Lead 30908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030909|130909|989898|1|9999030909|MR|Test|E|Lead 30909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030910|130910|989898|1|9999030910|MR|Test|E|Lead 30910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030911|130911|989898|1|9999030911|MR|Test|E|Lead 30911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030912|130912|989898|1|9999030912|MR|Test|E|Lead 30912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030913|130913|989898|1|9999030913|MR|Test|E|Lead 30913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030914|130914|989898|1|9999030914|MR|Test|E|Lead 30914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030915|130915|989898|1|9999030915|MR|Test|E|Lead 30915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030916|130916|989898|1|9999030916|MR|Test|E|Lead 30916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030917|130917|989898|1|9999030917|MR|Test|E|Lead 30917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030918|130918|989898|1|9999030918|MR|Test|E|Lead 30918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030919|130919|989898|1|9999030919|MR|Test|E|Lead 30919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030920|130920|989898|1|9999030920|MR|Test|E|Lead 30920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030921|130921|989898|1|9999030921|MR|Test|E|Lead 30921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030922|130922|989898|1|9999030922|MR|Test|E|Lead 30922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030923|130923|989898|1|9999030923|MR|Test|E|Lead 30923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030924|130924|989898|1|9999030924|MR|Test|E|Lead 30924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030925|130925|989898|1|9999030925|MR|Test|E|Lead 30925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030926|130926|989898|1|9999030926|MR|Test|E|Lead 30926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030927|130927|989898|1|9999030927|MR|Test|E|Lead 30927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030928|130928|989898|1|9999030928|MR|Test|E|Lead 30928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030929|130929|989898|1|9999030929|MR|Test|E|Lead 30929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030930|130930|989898|1|9999030930|MR|Test|E|Lead 30930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030931|130931|989898|1|9999030931|MR|Test|E|Lead 30931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030932|130932|989898|1|9999030932|MR|Test|E|Lead 30932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030933|130933|989898|1|9999030933|MR|Test|E|Lead 30933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030934|130934|989898|1|9999030934|MR|Test|E|Lead 30934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030935|130935|989898|1|9999030935|MR|Test|E|Lead 30935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030936|130936|989898|1|9999030936|MR|Test|E|Lead 30936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030937|130937|989898|1|9999030937|MR|Test|E|Lead 30937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030938|130938|989898|1|9999030938|MR|Test|E|Lead 30938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030939|130939|989898|1|9999030939|MR|Test|E|Lead 30939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030940|130940|989898|1|9999030940|MR|Test|E|Lead 30940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030941|130941|989898|1|9999030941|MR|Test|E|Lead 30941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030942|130942|989898|1|9999030942|MR|Test|E|Lead 30942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030943|130943|989898|1|9999030943|MR|Test|E|Lead 30943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030944|130944|989898|1|9999030944|MR|Test|E|Lead 30944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030945|130945|989898|1|9999030945|MR|Test|E|Lead 30945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030946|130946|989898|1|9999030946|MR|Test|E|Lead 30946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030947|130947|989898|1|9999030947|MR|Test|E|Lead 30947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030948|130948|989898|1|9999030948|MR|Test|E|Lead 30948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030949|130949|989898|1|9999030949|MR|Test|E|Lead 30949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030950|130950|989898|1|9999030950|MR|Test|E|Lead 30950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030951|130951|989898|1|9999030951|MR|Test|E|Lead 30951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030952|130952|989898|1|9999030952|MR|Test|E|Lead 30952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030953|130953|989898|1|9999030953|MR|Test|E|Lead 30953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030954|130954|989898|1|9999030954|MR|Test|E|Lead 30954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030955|130955|989898|1|9999030955|MR|Test|E|Lead 30955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030956|130956|989898|1|9999030956|MR|Test|E|Lead 30956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030957|130957|989898|1|9999030957|MR|Test|E|Lead 30957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030958|130958|989898|1|9999030958|MR|Test|E|Lead 30958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030959|130959|989898|1|9999030959|MR|Test|E|Lead 30959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030960|130960|989898|1|9999030960|MR|Test|E|Lead 30960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030961|130961|989898|1|9999030961|MR|Test|E|Lead 30961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030962|130962|989898|1|9999030962|MR|Test|E|Lead 30962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030963|130963|989898|1|9999030963|MR|Test|E|Lead 30963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030964|130964|989898|1|9999030964|MR|Test|E|Lead 30964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030965|130965|989898|1|9999030965|MR|Test|E|Lead 30965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030966|130966|989898|1|9999030966|MR|Test|E|Lead 30966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030967|130967|989898|1|9999030967|MR|Test|E|Lead 30967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030968|130968|989898|1|9999030968|MR|Test|E|Lead 30968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030969|130969|989898|1|9999030969|MR|Test|E|Lead 30969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030970|130970|989898|1|9999030970|MR|Test|E|Lead 30970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030971|130971|989898|1|9999030971|MR|Test|E|Lead 30971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030972|130972|989898|1|9999030972|MR|Test|E|Lead 30972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030973|130973|989898|1|9999030973|MR|Test|E|Lead 30973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030974|130974|989898|1|9999030974|MR|Test|E|Lead 30974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030975|130975|989898|1|9999030975|MR|Test|E|Lead 30975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030976|130976|989898|1|9999030976|MR|Test|E|Lead 30976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030977|130977|989898|1|9999030977|MR|Test|E|Lead 30977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030978|130978|989898|1|9999030978|MR|Test|E|Lead 30978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030979|130979|989898|1|9999030979|MR|Test|E|Lead 30979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030980|130980|989898|1|9999030980|MR|Test|E|Lead 30980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030981|130981|989898|1|9999030981|MR|Test|E|Lead 30981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030982|130982|989898|1|9999030982|MR|Test|E|Lead 30982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030983|130983|989898|1|9999030983|MR|Test|E|Lead 30983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030984|130984|989898|1|9999030984|MR|Test|E|Lead 30984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030985|130985|989898|1|9999030985|MR|Test|E|Lead 30985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030986|130986|989898|1|9999030986|MR|Test|E|Lead 30986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030987|130987|989898|1|9999030987|MR|Test|E|Lead 30987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030988|130988|989898|1|9999030988|MR|Test|E|Lead 30988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030989|130989|989898|1|9999030989|MR|Test|E|Lead 30989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030990|130990|989898|1|9999030990|MR|Test|E|Lead 30990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030991|130991|989898|1|9999030991|MR|Test|E|Lead 30991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030992|130992|989898|1|9999030992|MR|Test|E|Lead 30992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030993|130993|989898|1|9999030993|MR|Test|E|Lead 30993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030994|130994|989898|1|9999030994|MR|Test|E|Lead 30994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030995|130995|989898|1|9999030995|MR|Test|E|Lead 30995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030996|130996|989898|1|9999030996|MR|Test|E|Lead 30996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030997|130997|989898|1|9999030997|MR|Test|E|Lead 30997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030998|130998|989898|1|9999030998|MR|Test|E|Lead 30998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1030999|130999|989898|1|9999030999|MR|Test|E|Lead 30999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031000|131000|989898|1|9999031000|MR|Test|E|Lead 31000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031001|131001|989898|1|9999031001|MR|Test|E|Lead 31001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031002|131002|989898|1|9999031002|MR|Test|E|Lead 31002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031003|131003|989898|1|9999031003|MR|Test|E|Lead 31003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031004|131004|989898|1|9999031004|MR|Test|E|Lead 31004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031005|131005|989898|1|9999031005|MR|Test|E|Lead 31005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031006|131006|989898|1|9999031006|MR|Test|E|Lead 31006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031007|131007|989898|1|9999031007|MR|Test|E|Lead 31007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031008|131008|989898|1|9999031008|MR|Test|E|Lead 31008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031009|131009|989898|1|9999031009|MR|Test|E|Lead 31009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031010|131010|989898|1|9999031010|MR|Test|E|Lead 31010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031011|131011|989898|1|9999031011|MR|Test|E|Lead 31011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031012|131012|989898|1|9999031012|MR|Test|E|Lead 31012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031013|131013|989898|1|9999031013|MR|Test|E|Lead 31013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031014|131014|989898|1|9999031014|MR|Test|E|Lead 31014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031015|131015|989898|1|9999031015|MR|Test|E|Lead 31015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031016|131016|989898|1|9999031016|MR|Test|E|Lead 31016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031017|131017|989898|1|9999031017|MR|Test|E|Lead 31017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031018|131018|989898|1|9999031018|MR|Test|E|Lead 31018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031019|131019|989898|1|9999031019|MR|Test|E|Lead 31019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031020|131020|989898|1|9999031020|MR|Test|E|Lead 31020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031021|131021|989898|1|9999031021|MR|Test|E|Lead 31021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031022|131022|989898|1|9999031022|MR|Test|E|Lead 31022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031023|131023|989898|1|9999031023|MR|Test|E|Lead 31023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031024|131024|989898|1|9999031024|MR|Test|E|Lead 31024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031025|131025|989898|1|9999031025|MR|Test|E|Lead 31025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031026|131026|989898|1|9999031026|MR|Test|E|Lead 31026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031027|131027|989898|1|9999031027|MR|Test|E|Lead 31027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031028|131028|989898|1|9999031028|MR|Test|E|Lead 31028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031029|131029|989898|1|9999031029|MR|Test|E|Lead 31029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031030|131030|989898|1|9999031030|MR|Test|E|Lead 31030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031031|131031|989898|1|9999031031|MR|Test|E|Lead 31031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031032|131032|989898|1|9999031032|MR|Test|E|Lead 31032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031033|131033|989898|1|9999031033|MR|Test|E|Lead 31033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031034|131034|989898|1|9999031034|MR|Test|E|Lead 31034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031035|131035|989898|1|9999031035|MR|Test|E|Lead 31035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031036|131036|989898|1|9999031036|MR|Test|E|Lead 31036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031037|131037|989898|1|9999031037|MR|Test|E|Lead 31037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031038|131038|989898|1|9999031038|MR|Test|E|Lead 31038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031039|131039|989898|1|9999031039|MR|Test|E|Lead 31039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031040|131040|989898|1|9999031040|MR|Test|E|Lead 31040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031041|131041|989898|1|9999031041|MR|Test|E|Lead 31041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031042|131042|989898|1|9999031042|MR|Test|E|Lead 31042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031043|131043|989898|1|9999031043|MR|Test|E|Lead 31043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031044|131044|989898|1|9999031044|MR|Test|E|Lead 31044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031045|131045|989898|1|9999031045|MR|Test|E|Lead 31045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031046|131046|989898|1|9999031046|MR|Test|E|Lead 31046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031047|131047|989898|1|9999031047|MR|Test|E|Lead 31047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031048|131048|989898|1|9999031048|MR|Test|E|Lead 31048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031049|131049|989898|1|9999031049|MR|Test|E|Lead 31049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031050|131050|989898|1|9999031050|MR|Test|E|Lead 31050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031051|131051|989898|1|9999031051|MR|Test|E|Lead 31051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031052|131052|989898|1|9999031052|MR|Test|E|Lead 31052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031053|131053|989898|1|9999031053|MR|Test|E|Lead 31053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031054|131054|989898|1|9999031054|MR|Test|E|Lead 31054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031055|131055|989898|1|9999031055|MR|Test|E|Lead 31055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031056|131056|989898|1|9999031056|MR|Test|E|Lead 31056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031057|131057|989898|1|9999031057|MR|Test|E|Lead 31057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031058|131058|989898|1|9999031058|MR|Test|E|Lead 31058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031059|131059|989898|1|9999031059|MR|Test|E|Lead 31059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031060|131060|989898|1|9999031060|MR|Test|E|Lead 31060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031061|131061|989898|1|9999031061|MR|Test|E|Lead 31061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031062|131062|989898|1|9999031062|MR|Test|E|Lead 31062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031063|131063|989898|1|9999031063|MR|Test|E|Lead 31063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031064|131064|989898|1|9999031064|MR|Test|E|Lead 31064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031065|131065|989898|1|9999031065|MR|Test|E|Lead 31065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031066|131066|989898|1|9999031066|MR|Test|E|Lead 31066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031067|131067|989898|1|9999031067|MR|Test|E|Lead 31067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031068|131068|989898|1|9999031068|MR|Test|E|Lead 31068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031069|131069|989898|1|9999031069|MR|Test|E|Lead 31069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031070|131070|989898|1|9999031070|MR|Test|E|Lead 31070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031071|131071|989898|1|9999031071|MR|Test|E|Lead 31071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031072|131072|989898|1|9999031072|MR|Test|E|Lead 31072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031073|131073|989898|1|9999031073|MR|Test|E|Lead 31073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031074|131074|989898|1|9999031074|MR|Test|E|Lead 31074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031075|131075|989898|1|9999031075|MR|Test|E|Lead 31075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031076|131076|989898|1|9999031076|MR|Test|E|Lead 31076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031077|131077|989898|1|9999031077|MR|Test|E|Lead 31077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031078|131078|989898|1|9999031078|MR|Test|E|Lead 31078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031079|131079|989898|1|9999031079|MR|Test|E|Lead 31079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031080|131080|989898|1|9999031080|MR|Test|E|Lead 31080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031081|131081|989898|1|9999031081|MR|Test|E|Lead 31081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031082|131082|989898|1|9999031082|MR|Test|E|Lead 31082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031083|131083|989898|1|9999031083|MR|Test|E|Lead 31083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031084|131084|989898|1|9999031084|MR|Test|E|Lead 31084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031085|131085|989898|1|9999031085|MR|Test|E|Lead 31085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031086|131086|989898|1|9999031086|MR|Test|E|Lead 31086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031087|131087|989898|1|9999031087|MR|Test|E|Lead 31087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031088|131088|989898|1|9999031088|MR|Test|E|Lead 31088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031089|131089|989898|1|9999031089|MR|Test|E|Lead 31089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031090|131090|989898|1|9999031090|MR|Test|E|Lead 31090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031091|131091|989898|1|9999031091|MR|Test|E|Lead 31091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031092|131092|989898|1|9999031092|MR|Test|E|Lead 31092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031093|131093|989898|1|9999031093|MR|Test|E|Lead 31093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031094|131094|989898|1|9999031094|MR|Test|E|Lead 31094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031095|131095|989898|1|9999031095|MR|Test|E|Lead 31095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031096|131096|989898|1|9999031096|MR|Test|E|Lead 31096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031097|131097|989898|1|9999031097|MR|Test|E|Lead 31097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031098|131098|989898|1|9999031098|MR|Test|E|Lead 31098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031099|131099|989898|1|9999031099|MR|Test|E|Lead 31099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031100|131100|989898|1|9999031100|MR|Test|E|Lead 31100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031101|131101|989898|1|9999031101|MR|Test|E|Lead 31101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031102|131102|989898|1|9999031102|MR|Test|E|Lead 31102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031103|131103|989898|1|9999031103|MR|Test|E|Lead 31103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031104|131104|989898|1|9999031104|MR|Test|E|Lead 31104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031105|131105|989898|1|9999031105|MR|Test|E|Lead 31105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031106|131106|989898|1|9999031106|MR|Test|E|Lead 31106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031107|131107|989898|1|9999031107|MR|Test|E|Lead 31107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031108|131108|989898|1|9999031108|MR|Test|E|Lead 31108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031109|131109|989898|1|9999031109|MR|Test|E|Lead 31109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031110|131110|989898|1|9999031110|MR|Test|E|Lead 31110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031111|131111|989898|1|9999031111|MR|Test|E|Lead 31111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031112|131112|989898|1|9999031112|MR|Test|E|Lead 31112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031113|131113|989898|1|9999031113|MR|Test|E|Lead 31113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031114|131114|989898|1|9999031114|MR|Test|E|Lead 31114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031115|131115|989898|1|9999031115|MR|Test|E|Lead 31115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031116|131116|989898|1|9999031116|MR|Test|E|Lead 31116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031117|131117|989898|1|9999031117|MR|Test|E|Lead 31117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031118|131118|989898|1|9999031118|MR|Test|E|Lead 31118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031119|131119|989898|1|9999031119|MR|Test|E|Lead 31119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031120|131120|989898|1|9999031120|MR|Test|E|Lead 31120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031121|131121|989898|1|9999031121|MR|Test|E|Lead 31121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031122|131122|989898|1|9999031122|MR|Test|E|Lead 31122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031123|131123|989898|1|9999031123|MR|Test|E|Lead 31123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031124|131124|989898|1|9999031124|MR|Test|E|Lead 31124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031125|131125|989898|1|9999031125|MR|Test|E|Lead 31125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031126|131126|989898|1|9999031126|MR|Test|E|Lead 31126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031127|131127|989898|1|9999031127|MR|Test|E|Lead 31127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031128|131128|989898|1|9999031128|MR|Test|E|Lead 31128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031129|131129|989898|1|9999031129|MR|Test|E|Lead 31129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031130|131130|989898|1|9999031130|MR|Test|E|Lead 31130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031131|131131|989898|1|9999031131|MR|Test|E|Lead 31131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031132|131132|989898|1|9999031132|MR|Test|E|Lead 31132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031133|131133|989898|1|9999031133|MR|Test|E|Lead 31133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031134|131134|989898|1|9999031134|MR|Test|E|Lead 31134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031135|131135|989898|1|9999031135|MR|Test|E|Lead 31135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031136|131136|989898|1|9999031136|MR|Test|E|Lead 31136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031137|131137|989898|1|9999031137|MR|Test|E|Lead 31137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031138|131138|989898|1|9999031138|MR|Test|E|Lead 31138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031139|131139|989898|1|9999031139|MR|Test|E|Lead 31139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031140|131140|989898|1|9999031140|MR|Test|E|Lead 31140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031141|131141|989898|1|9999031141|MR|Test|E|Lead 31141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031142|131142|989898|1|9999031142|MR|Test|E|Lead 31142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031143|131143|989898|1|9999031143|MR|Test|E|Lead 31143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031144|131144|989898|1|9999031144|MR|Test|E|Lead 31144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031145|131145|989898|1|9999031145|MR|Test|E|Lead 31145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031146|131146|989898|1|9999031146|MR|Test|E|Lead 31146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031147|131147|989898|1|9999031147|MR|Test|E|Lead 31147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031148|131148|989898|1|9999031148|MR|Test|E|Lead 31148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031149|131149|989898|1|9999031149|MR|Test|E|Lead 31149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031150|131150|989898|1|9999031150|MR|Test|E|Lead 31150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031151|131151|989898|1|9999031151|MR|Test|E|Lead 31151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031152|131152|989898|1|9999031152|MR|Test|E|Lead 31152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031153|131153|989898|1|9999031153|MR|Test|E|Lead 31153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031154|131154|989898|1|9999031154|MR|Test|E|Lead 31154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031155|131155|989898|1|9999031155|MR|Test|E|Lead 31155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031156|131156|989898|1|9999031156|MR|Test|E|Lead 31156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031157|131157|989898|1|9999031157|MR|Test|E|Lead 31157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031158|131158|989898|1|9999031158|MR|Test|E|Lead 31158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031159|131159|989898|1|9999031159|MR|Test|E|Lead 31159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031160|131160|989898|1|9999031160|MR|Test|E|Lead 31160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031161|131161|989898|1|9999031161|MR|Test|E|Lead 31161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031162|131162|989898|1|9999031162|MR|Test|E|Lead 31162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031163|131163|989898|1|9999031163|MR|Test|E|Lead 31163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031164|131164|989898|1|9999031164|MR|Test|E|Lead 31164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031165|131165|989898|1|9999031165|MR|Test|E|Lead 31165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031166|131166|989898|1|9999031166|MR|Test|E|Lead 31166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031167|131167|989898|1|9999031167|MR|Test|E|Lead 31167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031168|131168|989898|1|9999031168|MR|Test|E|Lead 31168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031169|131169|989898|1|9999031169|MR|Test|E|Lead 31169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031170|131170|989898|1|9999031170|MR|Test|E|Lead 31170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031171|131171|989898|1|9999031171|MR|Test|E|Lead 31171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031172|131172|989898|1|9999031172|MR|Test|E|Lead 31172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031173|131173|989898|1|9999031173|MR|Test|E|Lead 31173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031174|131174|989898|1|9999031174|MR|Test|E|Lead 31174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031175|131175|989898|1|9999031175|MR|Test|E|Lead 31175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031176|131176|989898|1|9999031176|MR|Test|E|Lead 31176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031177|131177|989898|1|9999031177|MR|Test|E|Lead 31177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031178|131178|989898|1|9999031178|MR|Test|E|Lead 31178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031179|131179|989898|1|9999031179|MR|Test|E|Lead 31179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031180|131180|989898|1|9999031180|MR|Test|E|Lead 31180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031181|131181|989898|1|9999031181|MR|Test|E|Lead 31181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031182|131182|989898|1|9999031182|MR|Test|E|Lead 31182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031183|131183|989898|1|9999031183|MR|Test|E|Lead 31183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031184|131184|989898|1|9999031184|MR|Test|E|Lead 31184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031185|131185|989898|1|9999031185|MR|Test|E|Lead 31185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031186|131186|989898|1|9999031186|MR|Test|E|Lead 31186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031187|131187|989898|1|9999031187|MR|Test|E|Lead 31187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031188|131188|989898|1|9999031188|MR|Test|E|Lead 31188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031189|131189|989898|1|9999031189|MR|Test|E|Lead 31189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031190|131190|989898|1|9999031190|MR|Test|E|Lead 31190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031191|131191|989898|1|9999031191|MR|Test|E|Lead 31191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031192|131192|989898|1|9999031192|MR|Test|E|Lead 31192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031193|131193|989898|1|9999031193|MR|Test|E|Lead 31193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031194|131194|989898|1|9999031194|MR|Test|E|Lead 31194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031195|131195|989898|1|9999031195|MR|Test|E|Lead 31195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031196|131196|989898|1|9999031196|MR|Test|E|Lead 31196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031197|131197|989898|1|9999031197|MR|Test|E|Lead 31197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031198|131198|989898|1|9999031198|MR|Test|E|Lead 31198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031199|131199|989898|1|9999031199|MR|Test|E|Lead 31199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031200|131200|989898|1|9999031200|MR|Test|E|Lead 31200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031201|131201|989898|1|9999031201|MR|Test|E|Lead 31201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031202|131202|989898|1|9999031202|MR|Test|E|Lead 31202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031203|131203|989898|1|9999031203|MR|Test|E|Lead 31203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031204|131204|989898|1|9999031204|MR|Test|E|Lead 31204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031205|131205|989898|1|9999031205|MR|Test|E|Lead 31205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031206|131206|989898|1|9999031206|MR|Test|E|Lead 31206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031207|131207|989898|1|9999031207|MR|Test|E|Lead 31207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031208|131208|989898|1|9999031208|MR|Test|E|Lead 31208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031209|131209|989898|1|9999031209|MR|Test|E|Lead 31209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031210|131210|989898|1|9999031210|MR|Test|E|Lead 31210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031211|131211|989898|1|9999031211|MR|Test|E|Lead 31211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031212|131212|989898|1|9999031212|MR|Test|E|Lead 31212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031213|131213|989898|1|9999031213|MR|Test|E|Lead 31213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031214|131214|989898|1|9999031214|MR|Test|E|Lead 31214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031215|131215|989898|1|9999031215|MR|Test|E|Lead 31215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031216|131216|989898|1|9999031216|MR|Test|E|Lead 31216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031217|131217|989898|1|9999031217|MR|Test|E|Lead 31217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031218|131218|989898|1|9999031218|MR|Test|E|Lead 31218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031219|131219|989898|1|9999031219|MR|Test|E|Lead 31219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031220|131220|989898|1|9999031220|MR|Test|E|Lead 31220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031221|131221|989898|1|9999031221|MR|Test|E|Lead 31221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031222|131222|989898|1|9999031222|MR|Test|E|Lead 31222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031223|131223|989898|1|9999031223|MR|Test|E|Lead 31223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031224|131224|989898|1|9999031224|MR|Test|E|Lead 31224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031225|131225|989898|1|9999031225|MR|Test|E|Lead 31225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031226|131226|989898|1|9999031226|MR|Test|E|Lead 31226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031227|131227|989898|1|9999031227|MR|Test|E|Lead 31227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031228|131228|989898|1|9999031228|MR|Test|E|Lead 31228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031229|131229|989898|1|9999031229|MR|Test|E|Lead 31229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031230|131230|989898|1|9999031230|MR|Test|E|Lead 31230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031231|131231|989898|1|9999031231|MR|Test|E|Lead 31231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031232|131232|989898|1|9999031232|MR|Test|E|Lead 31232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031233|131233|989898|1|9999031233|MR|Test|E|Lead 31233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031234|131234|989898|1|9999031234|MR|Test|E|Lead 31234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031235|131235|989898|1|9999031235|MR|Test|E|Lead 31235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031236|131236|989898|1|9999031236|MR|Test|E|Lead 31236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031237|131237|989898|1|9999031237|MR|Test|E|Lead 31237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031238|131238|989898|1|9999031238|MR|Test|E|Lead 31238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031239|131239|989898|1|9999031239|MR|Test|E|Lead 31239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031240|131240|989898|1|9999031240|MR|Test|E|Lead 31240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031241|131241|989898|1|9999031241|MR|Test|E|Lead 31241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031242|131242|989898|1|9999031242|MR|Test|E|Lead 31242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031243|131243|989898|1|9999031243|MR|Test|E|Lead 31243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031244|131244|989898|1|9999031244|MR|Test|E|Lead 31244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031245|131245|989898|1|9999031245|MR|Test|E|Lead 31245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031246|131246|989898|1|9999031246|MR|Test|E|Lead 31246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031247|131247|989898|1|9999031247|MR|Test|E|Lead 31247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031248|131248|989898|1|9999031248|MR|Test|E|Lead 31248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031249|131249|989898|1|9999031249|MR|Test|E|Lead 31249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031250|131250|989898|1|9999031250|MR|Test|E|Lead 31250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031251|131251|989898|1|9999031251|MR|Test|E|Lead 31251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031252|131252|989898|1|9999031252|MR|Test|E|Lead 31252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031253|131253|989898|1|9999031253|MR|Test|E|Lead 31253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031254|131254|989898|1|9999031254|MR|Test|E|Lead 31254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031255|131255|989898|1|9999031255|MR|Test|E|Lead 31255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031256|131256|989898|1|9999031256|MR|Test|E|Lead 31256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031257|131257|989898|1|9999031257|MR|Test|E|Lead 31257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031258|131258|989898|1|9999031258|MR|Test|E|Lead 31258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031259|131259|989898|1|9999031259|MR|Test|E|Lead 31259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031260|131260|989898|1|9999031260|MR|Test|E|Lead 31260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031261|131261|989898|1|9999031261|MR|Test|E|Lead 31261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031262|131262|989898|1|9999031262|MR|Test|E|Lead 31262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031263|131263|989898|1|9999031263|MR|Test|E|Lead 31263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031264|131264|989898|1|9999031264|MR|Test|E|Lead 31264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031265|131265|989898|1|9999031265|MR|Test|E|Lead 31265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031266|131266|989898|1|9999031266|MR|Test|E|Lead 31266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031267|131267|989898|1|9999031267|MR|Test|E|Lead 31267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031268|131268|989898|1|9999031268|MR|Test|E|Lead 31268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031269|131269|989898|1|9999031269|MR|Test|E|Lead 31269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031270|131270|989898|1|9999031270|MR|Test|E|Lead 31270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031271|131271|989898|1|9999031271|MR|Test|E|Lead 31271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031272|131272|989898|1|9999031272|MR|Test|E|Lead 31272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031273|131273|989898|1|9999031273|MR|Test|E|Lead 31273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031274|131274|989898|1|9999031274|MR|Test|E|Lead 31274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031275|131275|989898|1|9999031275|MR|Test|E|Lead 31275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031276|131276|989898|1|9999031276|MR|Test|E|Lead 31276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031277|131277|989898|1|9999031277|MR|Test|E|Lead 31277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031278|131278|989898|1|9999031278|MR|Test|E|Lead 31278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031279|131279|989898|1|9999031279|MR|Test|E|Lead 31279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031280|131280|989898|1|9999031280|MR|Test|E|Lead 31280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031281|131281|989898|1|9999031281|MR|Test|E|Lead 31281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031282|131282|989898|1|9999031282|MR|Test|E|Lead 31282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031283|131283|989898|1|9999031283|MR|Test|E|Lead 31283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031284|131284|989898|1|9999031284|MR|Test|E|Lead 31284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031285|131285|989898|1|9999031285|MR|Test|E|Lead 31285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031286|131286|989898|1|9999031286|MR|Test|E|Lead 31286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031287|131287|989898|1|9999031287|MR|Test|E|Lead 31287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031288|131288|989898|1|9999031288|MR|Test|E|Lead 31288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031289|131289|989898|1|9999031289|MR|Test|E|Lead 31289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031290|131290|989898|1|9999031290|MR|Test|E|Lead 31290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031291|131291|989898|1|9999031291|MR|Test|E|Lead 31291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031292|131292|989898|1|9999031292|MR|Test|E|Lead 31292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031293|131293|989898|1|9999031293|MR|Test|E|Lead 31293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031294|131294|989898|1|9999031294|MR|Test|E|Lead 31294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031295|131295|989898|1|9999031295|MR|Test|E|Lead 31295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031296|131296|989898|1|9999031296|MR|Test|E|Lead 31296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031297|131297|989898|1|9999031297|MR|Test|E|Lead 31297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031298|131298|989898|1|9999031298|MR|Test|E|Lead 31298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031299|131299|989898|1|9999031299|MR|Test|E|Lead 31299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031300|131300|989898|1|9999031300|MR|Test|E|Lead 31300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031301|131301|989898|1|9999031301|MR|Test|E|Lead 31301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031302|131302|989898|1|9999031302|MR|Test|E|Lead 31302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031303|131303|989898|1|9999031303|MR|Test|E|Lead 31303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031304|131304|989898|1|9999031304|MR|Test|E|Lead 31304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031305|131305|989898|1|9999031305|MR|Test|E|Lead 31305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031306|131306|989898|1|9999031306|MR|Test|E|Lead 31306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031307|131307|989898|1|9999031307|MR|Test|E|Lead 31307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031308|131308|989898|1|9999031308|MR|Test|E|Lead 31308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031309|131309|989898|1|9999031309|MR|Test|E|Lead 31309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031310|131310|989898|1|9999031310|MR|Test|E|Lead 31310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031311|131311|989898|1|9999031311|MR|Test|E|Lead 31311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031312|131312|989898|1|9999031312|MR|Test|E|Lead 31312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031313|131313|989898|1|9999031313|MR|Test|E|Lead 31313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031314|131314|989898|1|9999031314|MR|Test|E|Lead 31314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031315|131315|989898|1|9999031315|MR|Test|E|Lead 31315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031316|131316|989898|1|9999031316|MR|Test|E|Lead 31316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031317|131317|989898|1|9999031317|MR|Test|E|Lead 31317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031318|131318|989898|1|9999031318|MR|Test|E|Lead 31318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031319|131319|989898|1|9999031319|MR|Test|E|Lead 31319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031320|131320|989898|1|9999031320|MR|Test|E|Lead 31320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031321|131321|989898|1|9999031321|MR|Test|E|Lead 31321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031322|131322|989898|1|9999031322|MR|Test|E|Lead 31322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031323|131323|989898|1|9999031323|MR|Test|E|Lead 31323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031324|131324|989898|1|9999031324|MR|Test|E|Lead 31324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031325|131325|989898|1|9999031325|MR|Test|E|Lead 31325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031326|131326|989898|1|9999031326|MR|Test|E|Lead 31326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031327|131327|989898|1|9999031327|MR|Test|E|Lead 31327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031328|131328|989898|1|9999031328|MR|Test|E|Lead 31328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031329|131329|989898|1|9999031329|MR|Test|E|Lead 31329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031330|131330|989898|1|9999031330|MR|Test|E|Lead 31330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031331|131331|989898|1|9999031331|MR|Test|E|Lead 31331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031332|131332|989898|1|9999031332|MR|Test|E|Lead 31332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031333|131333|989898|1|9999031333|MR|Test|E|Lead 31333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031334|131334|989898|1|9999031334|MR|Test|E|Lead 31334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031335|131335|989898|1|9999031335|MR|Test|E|Lead 31335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031336|131336|989898|1|9999031336|MR|Test|E|Lead 31336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031337|131337|989898|1|9999031337|MR|Test|E|Lead 31337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031338|131338|989898|1|9999031338|MR|Test|E|Lead 31338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031339|131339|989898|1|9999031339|MR|Test|E|Lead 31339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031340|131340|989898|1|9999031340|MR|Test|E|Lead 31340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031341|131341|989898|1|9999031341|MR|Test|E|Lead 31341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031342|131342|989898|1|9999031342|MR|Test|E|Lead 31342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031343|131343|989898|1|9999031343|MR|Test|E|Lead 31343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031344|131344|989898|1|9999031344|MR|Test|E|Lead 31344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031345|131345|989898|1|9999031345|MR|Test|E|Lead 31345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031346|131346|989898|1|9999031346|MR|Test|E|Lead 31346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031347|131347|989898|1|9999031347|MR|Test|E|Lead 31347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031348|131348|989898|1|9999031348|MR|Test|E|Lead 31348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031349|131349|989898|1|9999031349|MR|Test|E|Lead 31349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031350|131350|989898|1|9999031350|MR|Test|E|Lead 31350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031351|131351|989898|1|9999031351|MR|Test|E|Lead 31351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031352|131352|989898|1|9999031352|MR|Test|E|Lead 31352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031353|131353|989898|1|9999031353|MR|Test|E|Lead 31353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031354|131354|989898|1|9999031354|MR|Test|E|Lead 31354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031355|131355|989898|1|9999031355|MR|Test|E|Lead 31355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031356|131356|989898|1|9999031356|MR|Test|E|Lead 31356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031357|131357|989898|1|9999031357|MR|Test|E|Lead 31357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031358|131358|989898|1|9999031358|MR|Test|E|Lead 31358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031359|131359|989898|1|9999031359|MR|Test|E|Lead 31359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031360|131360|989898|1|9999031360|MR|Test|E|Lead 31360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031361|131361|989898|1|9999031361|MR|Test|E|Lead 31361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031362|131362|989898|1|9999031362|MR|Test|E|Lead 31362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031363|131363|989898|1|9999031363|MR|Test|E|Lead 31363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031364|131364|989898|1|9999031364|MR|Test|E|Lead 31364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031365|131365|989898|1|9999031365|MR|Test|E|Lead 31365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031366|131366|989898|1|9999031366|MR|Test|E|Lead 31366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031367|131367|989898|1|9999031367|MR|Test|E|Lead 31367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031368|131368|989898|1|9999031368|MR|Test|E|Lead 31368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031369|131369|989898|1|9999031369|MR|Test|E|Lead 31369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031370|131370|989898|1|9999031370|MR|Test|E|Lead 31370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031371|131371|989898|1|9999031371|MR|Test|E|Lead 31371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031372|131372|989898|1|9999031372|MR|Test|E|Lead 31372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031373|131373|989898|1|9999031373|MR|Test|E|Lead 31373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031374|131374|989898|1|9999031374|MR|Test|E|Lead 31374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031375|131375|989898|1|9999031375|MR|Test|E|Lead 31375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031376|131376|989898|1|9999031376|MR|Test|E|Lead 31376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031377|131377|989898|1|9999031377|MR|Test|E|Lead 31377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031378|131378|989898|1|9999031378|MR|Test|E|Lead 31378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031379|131379|989898|1|9999031379|MR|Test|E|Lead 31379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031380|131380|989898|1|9999031380|MR|Test|E|Lead 31380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031381|131381|989898|1|9999031381|MR|Test|E|Lead 31381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031382|131382|989898|1|9999031382|MR|Test|E|Lead 31382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031383|131383|989898|1|9999031383|MR|Test|E|Lead 31383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031384|131384|989898|1|9999031384|MR|Test|E|Lead 31384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031385|131385|989898|1|9999031385|MR|Test|E|Lead 31385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031386|131386|989898|1|9999031386|MR|Test|E|Lead 31386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031387|131387|989898|1|9999031387|MR|Test|E|Lead 31387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031388|131388|989898|1|9999031388|MR|Test|E|Lead 31388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031389|131389|989898|1|9999031389|MR|Test|E|Lead 31389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031390|131390|989898|1|9999031390|MR|Test|E|Lead 31390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031391|131391|989898|1|9999031391|MR|Test|E|Lead 31391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031392|131392|989898|1|9999031392|MR|Test|E|Lead 31392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031393|131393|989898|1|9999031393|MR|Test|E|Lead 31393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031394|131394|989898|1|9999031394|MR|Test|E|Lead 31394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031395|131395|989898|1|9999031395|MR|Test|E|Lead 31395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031396|131396|989898|1|9999031396|MR|Test|E|Lead 31396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031397|131397|989898|1|9999031397|MR|Test|E|Lead 31397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031398|131398|989898|1|9999031398|MR|Test|E|Lead 31398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031399|131399|989898|1|9999031399|MR|Test|E|Lead 31399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031400|131400|989898|1|9999031400|MR|Test|E|Lead 31400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031401|131401|989898|1|9999031401|MR|Test|E|Lead 31401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031402|131402|989898|1|9999031402|MR|Test|E|Lead 31402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031403|131403|989898|1|9999031403|MR|Test|E|Lead 31403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031404|131404|989898|1|9999031404|MR|Test|E|Lead 31404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031405|131405|989898|1|9999031405|MR|Test|E|Lead 31405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031406|131406|989898|1|9999031406|MR|Test|E|Lead 31406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031407|131407|989898|1|9999031407|MR|Test|E|Lead 31407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031408|131408|989898|1|9999031408|MR|Test|E|Lead 31408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031409|131409|989898|1|9999031409|MR|Test|E|Lead 31409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031410|131410|989898|1|9999031410|MR|Test|E|Lead 31410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031411|131411|989898|1|9999031411|MR|Test|E|Lead 31411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031412|131412|989898|1|9999031412|MR|Test|E|Lead 31412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031413|131413|989898|1|9999031413|MR|Test|E|Lead 31413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031414|131414|989898|1|9999031414|MR|Test|E|Lead 31414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031415|131415|989898|1|9999031415|MR|Test|E|Lead 31415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031416|131416|989898|1|9999031416|MR|Test|E|Lead 31416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031417|131417|989898|1|9999031417|MR|Test|E|Lead 31417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031418|131418|989898|1|9999031418|MR|Test|E|Lead 31418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031419|131419|989898|1|9999031419|MR|Test|E|Lead 31419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031420|131420|989898|1|9999031420|MR|Test|E|Lead 31420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031421|131421|989898|1|9999031421|MR|Test|E|Lead 31421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031422|131422|989898|1|9999031422|MR|Test|E|Lead 31422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031423|131423|989898|1|9999031423|MR|Test|E|Lead 31423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031424|131424|989898|1|9999031424|MR|Test|E|Lead 31424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031425|131425|989898|1|9999031425|MR|Test|E|Lead 31425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031426|131426|989898|1|9999031426|MR|Test|E|Lead 31426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031427|131427|989898|1|9999031427|MR|Test|E|Lead 31427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031428|131428|989898|1|9999031428|MR|Test|E|Lead 31428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031429|131429|989898|1|9999031429|MR|Test|E|Lead 31429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031430|131430|989898|1|9999031430|MR|Test|E|Lead 31430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031431|131431|989898|1|9999031431|MR|Test|E|Lead 31431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031432|131432|989898|1|9999031432|MR|Test|E|Lead 31432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031433|131433|989898|1|9999031433|MR|Test|E|Lead 31433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031434|131434|989898|1|9999031434|MR|Test|E|Lead 31434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031435|131435|989898|1|9999031435|MR|Test|E|Lead 31435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031436|131436|989898|1|9999031436|MR|Test|E|Lead 31436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031437|131437|989898|1|9999031437|MR|Test|E|Lead 31437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031438|131438|989898|1|9999031438|MR|Test|E|Lead 31438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031439|131439|989898|1|9999031439|MR|Test|E|Lead 31439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031440|131440|989898|1|9999031440|MR|Test|E|Lead 31440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031441|131441|989898|1|9999031441|MR|Test|E|Lead 31441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031442|131442|989898|1|9999031442|MR|Test|E|Lead 31442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031443|131443|989898|1|9999031443|MR|Test|E|Lead 31443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031444|131444|989898|1|9999031444|MR|Test|E|Lead 31444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031445|131445|989898|1|9999031445|MR|Test|E|Lead 31445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031446|131446|989898|1|9999031446|MR|Test|E|Lead 31446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031447|131447|989898|1|9999031447|MR|Test|E|Lead 31447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031448|131448|989898|1|9999031448|MR|Test|E|Lead 31448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031449|131449|989898|1|9999031449|MR|Test|E|Lead 31449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031450|131450|989898|1|9999031450|MR|Test|E|Lead 31450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031451|131451|989898|1|9999031451|MR|Test|E|Lead 31451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031452|131452|989898|1|9999031452|MR|Test|E|Lead 31452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031453|131453|989898|1|9999031453|MR|Test|E|Lead 31453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031454|131454|989898|1|9999031454|MR|Test|E|Lead 31454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031455|131455|989898|1|9999031455|MR|Test|E|Lead 31455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031456|131456|989898|1|9999031456|MR|Test|E|Lead 31456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031457|131457|989898|1|9999031457|MR|Test|E|Lead 31457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031458|131458|989898|1|9999031458|MR|Test|E|Lead 31458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031459|131459|989898|1|9999031459|MR|Test|E|Lead 31459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031460|131460|989898|1|9999031460|MR|Test|E|Lead 31460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031461|131461|989898|1|9999031461|MR|Test|E|Lead 31461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031462|131462|989898|1|9999031462|MR|Test|E|Lead 31462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031463|131463|989898|1|9999031463|MR|Test|E|Lead 31463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031464|131464|989898|1|9999031464|MR|Test|E|Lead 31464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031465|131465|989898|1|9999031465|MR|Test|E|Lead 31465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031466|131466|989898|1|9999031466|MR|Test|E|Lead 31466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031467|131467|989898|1|9999031467|MR|Test|E|Lead 31467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031468|131468|989898|1|9999031468|MR|Test|E|Lead 31468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031469|131469|989898|1|9999031469|MR|Test|E|Lead 31469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031470|131470|989898|1|9999031470|MR|Test|E|Lead 31470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031471|131471|989898|1|9999031471|MR|Test|E|Lead 31471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031472|131472|989898|1|9999031472|MR|Test|E|Lead 31472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031473|131473|989898|1|9999031473|MR|Test|E|Lead 31473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031474|131474|989898|1|9999031474|MR|Test|E|Lead 31474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031475|131475|989898|1|9999031475|MR|Test|E|Lead 31475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031476|131476|989898|1|9999031476|MR|Test|E|Lead 31476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031477|131477|989898|1|9999031477|MR|Test|E|Lead 31477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031478|131478|989898|1|9999031478|MR|Test|E|Lead 31478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031479|131479|989898|1|9999031479|MR|Test|E|Lead 31479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031480|131480|989898|1|9999031480|MR|Test|E|Lead 31480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031481|131481|989898|1|9999031481|MR|Test|E|Lead 31481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031482|131482|989898|1|9999031482|MR|Test|E|Lead 31482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031483|131483|989898|1|9999031483|MR|Test|E|Lead 31483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031484|131484|989898|1|9999031484|MR|Test|E|Lead 31484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031485|131485|989898|1|9999031485|MR|Test|E|Lead 31485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031486|131486|989898|1|9999031486|MR|Test|E|Lead 31486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031487|131487|989898|1|9999031487|MR|Test|E|Lead 31487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031488|131488|989898|1|9999031488|MR|Test|E|Lead 31488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031489|131489|989898|1|9999031489|MR|Test|E|Lead 31489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031490|131490|989898|1|9999031490|MR|Test|E|Lead 31490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031491|131491|989898|1|9999031491|MR|Test|E|Lead 31491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031492|131492|989898|1|9999031492|MR|Test|E|Lead 31492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031493|131493|989898|1|9999031493|MR|Test|E|Lead 31493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031494|131494|989898|1|9999031494|MR|Test|E|Lead 31494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031495|131495|989898|1|9999031495|MR|Test|E|Lead 31495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031496|131496|989898|1|9999031496|MR|Test|E|Lead 31496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031497|131497|989898|1|9999031497|MR|Test|E|Lead 31497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031498|131498|989898|1|9999031498|MR|Test|E|Lead 31498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031499|131499|989898|1|9999031499|MR|Test|E|Lead 31499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031500|131500|989898|1|9999031500|MR|Test|E|Lead 31500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031501|131501|989898|1|9999031501|MR|Test|E|Lead 31501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031502|131502|989898|1|9999031502|MR|Test|E|Lead 31502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031503|131503|989898|1|9999031503|MR|Test|E|Lead 31503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031504|131504|989898|1|9999031504|MR|Test|E|Lead 31504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031505|131505|989898|1|9999031505|MR|Test|E|Lead 31505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031506|131506|989898|1|9999031506|MR|Test|E|Lead 31506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031507|131507|989898|1|9999031507|MR|Test|E|Lead 31507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031508|131508|989898|1|9999031508|MR|Test|E|Lead 31508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031509|131509|989898|1|9999031509|MR|Test|E|Lead 31509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031510|131510|989898|1|9999031510|MR|Test|E|Lead 31510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031511|131511|989898|1|9999031511|MR|Test|E|Lead 31511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031512|131512|989898|1|9999031512|MR|Test|E|Lead 31512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031513|131513|989898|1|9999031513|MR|Test|E|Lead 31513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031514|131514|989898|1|9999031514|MR|Test|E|Lead 31514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031515|131515|989898|1|9999031515|MR|Test|E|Lead 31515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031516|131516|989898|1|9999031516|MR|Test|E|Lead 31516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031517|131517|989898|1|9999031517|MR|Test|E|Lead 31517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031518|131518|989898|1|9999031518|MR|Test|E|Lead 31518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031519|131519|989898|1|9999031519|MR|Test|E|Lead 31519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031520|131520|989898|1|9999031520|MR|Test|E|Lead 31520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031521|131521|989898|1|9999031521|MR|Test|E|Lead 31521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031522|131522|989898|1|9999031522|MR|Test|E|Lead 31522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031523|131523|989898|1|9999031523|MR|Test|E|Lead 31523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031524|131524|989898|1|9999031524|MR|Test|E|Lead 31524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031525|131525|989898|1|9999031525|MR|Test|E|Lead 31525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031526|131526|989898|1|9999031526|MR|Test|E|Lead 31526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031527|131527|989898|1|9999031527|MR|Test|E|Lead 31527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031528|131528|989898|1|9999031528|MR|Test|E|Lead 31528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031529|131529|989898|1|9999031529|MR|Test|E|Lead 31529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031530|131530|989898|1|9999031530|MR|Test|E|Lead 31530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031531|131531|989898|1|9999031531|MR|Test|E|Lead 31531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031532|131532|989898|1|9999031532|MR|Test|E|Lead 31532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031533|131533|989898|1|9999031533|MR|Test|E|Lead 31533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031534|131534|989898|1|9999031534|MR|Test|E|Lead 31534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031535|131535|989898|1|9999031535|MR|Test|E|Lead 31535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031536|131536|989898|1|9999031536|MR|Test|E|Lead 31536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031537|131537|989898|1|9999031537|MR|Test|E|Lead 31537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031538|131538|989898|1|9999031538|MR|Test|E|Lead 31538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031539|131539|989898|1|9999031539|MR|Test|E|Lead 31539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031540|131540|989898|1|9999031540|MR|Test|E|Lead 31540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031541|131541|989898|1|9999031541|MR|Test|E|Lead 31541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031542|131542|989898|1|9999031542|MR|Test|E|Lead 31542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031543|131543|989898|1|9999031543|MR|Test|E|Lead 31543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031544|131544|989898|1|9999031544|MR|Test|E|Lead 31544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031545|131545|989898|1|9999031545|MR|Test|E|Lead 31545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031546|131546|989898|1|9999031546|MR|Test|E|Lead 31546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031547|131547|989898|1|9999031547|MR|Test|E|Lead 31547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031548|131548|989898|1|9999031548|MR|Test|E|Lead 31548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031549|131549|989898|1|9999031549|MR|Test|E|Lead 31549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031550|131550|989898|1|9999031550|MR|Test|E|Lead 31550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031551|131551|989898|1|9999031551|MR|Test|E|Lead 31551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031552|131552|989898|1|9999031552|MR|Test|E|Lead 31552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031553|131553|989898|1|9999031553|MR|Test|E|Lead 31553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031554|131554|989898|1|9999031554|MR|Test|E|Lead 31554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031555|131555|989898|1|9999031555|MR|Test|E|Lead 31555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031556|131556|989898|1|9999031556|MR|Test|E|Lead 31556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031557|131557|989898|1|9999031557|MR|Test|E|Lead 31557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031558|131558|989898|1|9999031558|MR|Test|E|Lead 31558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031559|131559|989898|1|9999031559|MR|Test|E|Lead 31559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031560|131560|989898|1|9999031560|MR|Test|E|Lead 31560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031561|131561|989898|1|9999031561|MR|Test|E|Lead 31561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031562|131562|989898|1|9999031562|MR|Test|E|Lead 31562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031563|131563|989898|1|9999031563|MR|Test|E|Lead 31563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031564|131564|989898|1|9999031564|MR|Test|E|Lead 31564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031565|131565|989898|1|9999031565|MR|Test|E|Lead 31565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031566|131566|989898|1|9999031566|MR|Test|E|Lead 31566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031567|131567|989898|1|9999031567|MR|Test|E|Lead 31567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031568|131568|989898|1|9999031568|MR|Test|E|Lead 31568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031569|131569|989898|1|9999031569|MR|Test|E|Lead 31569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031570|131570|989898|1|9999031570|MR|Test|E|Lead 31570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031571|131571|989898|1|9999031571|MR|Test|E|Lead 31571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031572|131572|989898|1|9999031572|MR|Test|E|Lead 31572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031573|131573|989898|1|9999031573|MR|Test|E|Lead 31573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031574|131574|989898|1|9999031574|MR|Test|E|Lead 31574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031575|131575|989898|1|9999031575|MR|Test|E|Lead 31575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031576|131576|989898|1|9999031576|MR|Test|E|Lead 31576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031577|131577|989898|1|9999031577|MR|Test|E|Lead 31577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031578|131578|989898|1|9999031578|MR|Test|E|Lead 31578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031579|131579|989898|1|9999031579|MR|Test|E|Lead 31579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031580|131580|989898|1|9999031580|MR|Test|E|Lead 31580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031581|131581|989898|1|9999031581|MR|Test|E|Lead 31581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031582|131582|989898|1|9999031582|MR|Test|E|Lead 31582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031583|131583|989898|1|9999031583|MR|Test|E|Lead 31583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031584|131584|989898|1|9999031584|MR|Test|E|Lead 31584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031585|131585|989898|1|9999031585|MR|Test|E|Lead 31585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031586|131586|989898|1|9999031586|MR|Test|E|Lead 31586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031587|131587|989898|1|9999031587|MR|Test|E|Lead 31587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031588|131588|989898|1|9999031588|MR|Test|E|Lead 31588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031589|131589|989898|1|9999031589|MR|Test|E|Lead 31589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031590|131590|989898|1|9999031590|MR|Test|E|Lead 31590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031591|131591|989898|1|9999031591|MR|Test|E|Lead 31591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031592|131592|989898|1|9999031592|MR|Test|E|Lead 31592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031593|131593|989898|1|9999031593|MR|Test|E|Lead 31593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031594|131594|989898|1|9999031594|MR|Test|E|Lead 31594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031595|131595|989898|1|9999031595|MR|Test|E|Lead 31595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031596|131596|989898|1|9999031596|MR|Test|E|Lead 31596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031597|131597|989898|1|9999031597|MR|Test|E|Lead 31597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031598|131598|989898|1|9999031598|MR|Test|E|Lead 31598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031599|131599|989898|1|9999031599|MR|Test|E|Lead 31599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031600|131600|989898|1|9999031600|MR|Test|E|Lead 31600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031601|131601|989898|1|9999031601|MR|Test|E|Lead 31601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031602|131602|989898|1|9999031602|MR|Test|E|Lead 31602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031603|131603|989898|1|9999031603|MR|Test|E|Lead 31603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031604|131604|989898|1|9999031604|MR|Test|E|Lead 31604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031605|131605|989898|1|9999031605|MR|Test|E|Lead 31605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031606|131606|989898|1|9999031606|MR|Test|E|Lead 31606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031607|131607|989898|1|9999031607|MR|Test|E|Lead 31607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031608|131608|989898|1|9999031608|MR|Test|E|Lead 31608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031609|131609|989898|1|9999031609|MR|Test|E|Lead 31609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031610|131610|989898|1|9999031610|MR|Test|E|Lead 31610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031611|131611|989898|1|9999031611|MR|Test|E|Lead 31611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031612|131612|989898|1|9999031612|MR|Test|E|Lead 31612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031613|131613|989898|1|9999031613|MR|Test|E|Lead 31613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031614|131614|989898|1|9999031614|MR|Test|E|Lead 31614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031615|131615|989898|1|9999031615|MR|Test|E|Lead 31615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031616|131616|989898|1|9999031616|MR|Test|E|Lead 31616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031617|131617|989898|1|9999031617|MR|Test|E|Lead 31617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031618|131618|989898|1|9999031618|MR|Test|E|Lead 31618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031619|131619|989898|1|9999031619|MR|Test|E|Lead 31619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031620|131620|989898|1|9999031620|MR|Test|E|Lead 31620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031621|131621|989898|1|9999031621|MR|Test|E|Lead 31621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031622|131622|989898|1|9999031622|MR|Test|E|Lead 31622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031623|131623|989898|1|9999031623|MR|Test|E|Lead 31623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031624|131624|989898|1|9999031624|MR|Test|E|Lead 31624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031625|131625|989898|1|9999031625|MR|Test|E|Lead 31625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031626|131626|989898|1|9999031626|MR|Test|E|Lead 31626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031627|131627|989898|1|9999031627|MR|Test|E|Lead 31627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031628|131628|989898|1|9999031628|MR|Test|E|Lead 31628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031629|131629|989898|1|9999031629|MR|Test|E|Lead 31629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031630|131630|989898|1|9999031630|MR|Test|E|Lead 31630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031631|131631|989898|1|9999031631|MR|Test|E|Lead 31631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031632|131632|989898|1|9999031632|MR|Test|E|Lead 31632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031633|131633|989898|1|9999031633|MR|Test|E|Lead 31633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031634|131634|989898|1|9999031634|MR|Test|E|Lead 31634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031635|131635|989898|1|9999031635|MR|Test|E|Lead 31635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031636|131636|989898|1|9999031636|MR|Test|E|Lead 31636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031637|131637|989898|1|9999031637|MR|Test|E|Lead 31637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031638|131638|989898|1|9999031638|MR|Test|E|Lead 31638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031639|131639|989898|1|9999031639|MR|Test|E|Lead 31639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031640|131640|989898|1|9999031640|MR|Test|E|Lead 31640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031641|131641|989898|1|9999031641|MR|Test|E|Lead 31641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031642|131642|989898|1|9999031642|MR|Test|E|Lead 31642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031643|131643|989898|1|9999031643|MR|Test|E|Lead 31643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031644|131644|989898|1|9999031644|MR|Test|E|Lead 31644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031645|131645|989898|1|9999031645|MR|Test|E|Lead 31645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031646|131646|989898|1|9999031646|MR|Test|E|Lead 31646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031647|131647|989898|1|9999031647|MR|Test|E|Lead 31647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031648|131648|989898|1|9999031648|MR|Test|E|Lead 31648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031649|131649|989898|1|9999031649|MR|Test|E|Lead 31649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031650|131650|989898|1|9999031650|MR|Test|E|Lead 31650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031651|131651|989898|1|9999031651|MR|Test|E|Lead 31651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031652|131652|989898|1|9999031652|MR|Test|E|Lead 31652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031653|131653|989898|1|9999031653|MR|Test|E|Lead 31653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031654|131654|989898|1|9999031654|MR|Test|E|Lead 31654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031655|131655|989898|1|9999031655|MR|Test|E|Lead 31655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031656|131656|989898|1|9999031656|MR|Test|E|Lead 31656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031657|131657|989898|1|9999031657|MR|Test|E|Lead 31657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031658|131658|989898|1|9999031658|MR|Test|E|Lead 31658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031659|131659|989898|1|9999031659|MR|Test|E|Lead 31659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031660|131660|989898|1|9999031660|MR|Test|E|Lead 31660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031661|131661|989898|1|9999031661|MR|Test|E|Lead 31661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031662|131662|989898|1|9999031662|MR|Test|E|Lead 31662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031663|131663|989898|1|9999031663|MR|Test|E|Lead 31663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031664|131664|989898|1|9999031664|MR|Test|E|Lead 31664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031665|131665|989898|1|9999031665|MR|Test|E|Lead 31665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031666|131666|989898|1|9999031666|MR|Test|E|Lead 31666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031667|131667|989898|1|9999031667|MR|Test|E|Lead 31667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031668|131668|989898|1|9999031668|MR|Test|E|Lead 31668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031669|131669|989898|1|9999031669|MR|Test|E|Lead 31669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031670|131670|989898|1|9999031670|MR|Test|E|Lead 31670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031671|131671|989898|1|9999031671|MR|Test|E|Lead 31671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031672|131672|989898|1|9999031672|MR|Test|E|Lead 31672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031673|131673|989898|1|9999031673|MR|Test|E|Lead 31673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031674|131674|989898|1|9999031674|MR|Test|E|Lead 31674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031675|131675|989898|1|9999031675|MR|Test|E|Lead 31675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031676|131676|989898|1|9999031676|MR|Test|E|Lead 31676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031677|131677|989898|1|9999031677|MR|Test|E|Lead 31677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031678|131678|989898|1|9999031678|MR|Test|E|Lead 31678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031679|131679|989898|1|9999031679|MR|Test|E|Lead 31679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031680|131680|989898|1|9999031680|MR|Test|E|Lead 31680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031681|131681|989898|1|9999031681|MR|Test|E|Lead 31681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031682|131682|989898|1|9999031682|MR|Test|E|Lead 31682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031683|131683|989898|1|9999031683|MR|Test|E|Lead 31683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031684|131684|989898|1|9999031684|MR|Test|E|Lead 31684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031685|131685|989898|1|9999031685|MR|Test|E|Lead 31685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031686|131686|989898|1|9999031686|MR|Test|E|Lead 31686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031687|131687|989898|1|9999031687|MR|Test|E|Lead 31687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031688|131688|989898|1|9999031688|MR|Test|E|Lead 31688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031689|131689|989898|1|9999031689|MR|Test|E|Lead 31689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031690|131690|989898|1|9999031690|MR|Test|E|Lead 31690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031691|131691|989898|1|9999031691|MR|Test|E|Lead 31691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031692|131692|989898|1|9999031692|MR|Test|E|Lead 31692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031693|131693|989898|1|9999031693|MR|Test|E|Lead 31693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031694|131694|989898|1|9999031694|MR|Test|E|Lead 31694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031695|131695|989898|1|9999031695|MR|Test|E|Lead 31695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031696|131696|989898|1|9999031696|MR|Test|E|Lead 31696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031697|131697|989898|1|9999031697|MR|Test|E|Lead 31697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031698|131698|989898|1|9999031698|MR|Test|E|Lead 31698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031699|131699|989898|1|9999031699|MR|Test|E|Lead 31699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031700|131700|989898|1|9999031700|MR|Test|E|Lead 31700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031701|131701|989898|1|9999031701|MR|Test|E|Lead 31701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031702|131702|989898|1|9999031702|MR|Test|E|Lead 31702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031703|131703|989898|1|9999031703|MR|Test|E|Lead 31703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031704|131704|989898|1|9999031704|MR|Test|E|Lead 31704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031705|131705|989898|1|9999031705|MR|Test|E|Lead 31705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031706|131706|989898|1|9999031706|MR|Test|E|Lead 31706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031707|131707|989898|1|9999031707|MR|Test|E|Lead 31707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031708|131708|989898|1|9999031708|MR|Test|E|Lead 31708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031709|131709|989898|1|9999031709|MR|Test|E|Lead 31709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031710|131710|989898|1|9999031710|MR|Test|E|Lead 31710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031711|131711|989898|1|9999031711|MR|Test|E|Lead 31711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031712|131712|989898|1|9999031712|MR|Test|E|Lead 31712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031713|131713|989898|1|9999031713|MR|Test|E|Lead 31713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031714|131714|989898|1|9999031714|MR|Test|E|Lead 31714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031715|131715|989898|1|9999031715|MR|Test|E|Lead 31715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031716|131716|989898|1|9999031716|MR|Test|E|Lead 31716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031717|131717|989898|1|9999031717|MR|Test|E|Lead 31717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031718|131718|989898|1|9999031718|MR|Test|E|Lead 31718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031719|131719|989898|1|9999031719|MR|Test|E|Lead 31719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031720|131720|989898|1|9999031720|MR|Test|E|Lead 31720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031721|131721|989898|1|9999031721|MR|Test|E|Lead 31721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031722|131722|989898|1|9999031722|MR|Test|E|Lead 31722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031723|131723|989898|1|9999031723|MR|Test|E|Lead 31723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031724|131724|989898|1|9999031724|MR|Test|E|Lead 31724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031725|131725|989898|1|9999031725|MR|Test|E|Lead 31725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031726|131726|989898|1|9999031726|MR|Test|E|Lead 31726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031727|131727|989898|1|9999031727|MR|Test|E|Lead 31727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031728|131728|989898|1|9999031728|MR|Test|E|Lead 31728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031729|131729|989898|1|9999031729|MR|Test|E|Lead 31729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031730|131730|989898|1|9999031730|MR|Test|E|Lead 31730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031731|131731|989898|1|9999031731|MR|Test|E|Lead 31731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031732|131732|989898|1|9999031732|MR|Test|E|Lead 31732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031733|131733|989898|1|9999031733|MR|Test|E|Lead 31733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031734|131734|989898|1|9999031734|MR|Test|E|Lead 31734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031735|131735|989898|1|9999031735|MR|Test|E|Lead 31735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031736|131736|989898|1|9999031736|MR|Test|E|Lead 31736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031737|131737|989898|1|9999031737|MR|Test|E|Lead 31737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031738|131738|989898|1|9999031738|MR|Test|E|Lead 31738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031739|131739|989898|1|9999031739|MR|Test|E|Lead 31739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031740|131740|989898|1|9999031740|MR|Test|E|Lead 31740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031741|131741|989898|1|9999031741|MR|Test|E|Lead 31741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031742|131742|989898|1|9999031742|MR|Test|E|Lead 31742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031743|131743|989898|1|9999031743|MR|Test|E|Lead 31743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031744|131744|989898|1|9999031744|MR|Test|E|Lead 31744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031745|131745|989898|1|9999031745|MR|Test|E|Lead 31745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031746|131746|989898|1|9999031746|MR|Test|E|Lead 31746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031747|131747|989898|1|9999031747|MR|Test|E|Lead 31747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031748|131748|989898|1|9999031748|MR|Test|E|Lead 31748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031749|131749|989898|1|9999031749|MR|Test|E|Lead 31749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031750|131750|989898|1|9999031750|MR|Test|E|Lead 31750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031751|131751|989898|1|9999031751|MR|Test|E|Lead 31751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031752|131752|989898|1|9999031752|MR|Test|E|Lead 31752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031753|131753|989898|1|9999031753|MR|Test|E|Lead 31753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031754|131754|989898|1|9999031754|MR|Test|E|Lead 31754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031755|131755|989898|1|9999031755|MR|Test|E|Lead 31755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031756|131756|989898|1|9999031756|MR|Test|E|Lead 31756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031757|131757|989898|1|9999031757|MR|Test|E|Lead 31757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031758|131758|989898|1|9999031758|MR|Test|E|Lead 31758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031759|131759|989898|1|9999031759|MR|Test|E|Lead 31759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031760|131760|989898|1|9999031760|MR|Test|E|Lead 31760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031761|131761|989898|1|9999031761|MR|Test|E|Lead 31761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031762|131762|989898|1|9999031762|MR|Test|E|Lead 31762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031763|131763|989898|1|9999031763|MR|Test|E|Lead 31763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031764|131764|989898|1|9999031764|MR|Test|E|Lead 31764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031765|131765|989898|1|9999031765|MR|Test|E|Lead 31765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031766|131766|989898|1|9999031766|MR|Test|E|Lead 31766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031767|131767|989898|1|9999031767|MR|Test|E|Lead 31767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031768|131768|989898|1|9999031768|MR|Test|E|Lead 31768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031769|131769|989898|1|9999031769|MR|Test|E|Lead 31769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031770|131770|989898|1|9999031770|MR|Test|E|Lead 31770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031771|131771|989898|1|9999031771|MR|Test|E|Lead 31771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031772|131772|989898|1|9999031772|MR|Test|E|Lead 31772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031773|131773|989898|1|9999031773|MR|Test|E|Lead 31773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031774|131774|989898|1|9999031774|MR|Test|E|Lead 31774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031775|131775|989898|1|9999031775|MR|Test|E|Lead 31775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031776|131776|989898|1|9999031776|MR|Test|E|Lead 31776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031777|131777|989898|1|9999031777|MR|Test|E|Lead 31777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031778|131778|989898|1|9999031778|MR|Test|E|Lead 31778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031779|131779|989898|1|9999031779|MR|Test|E|Lead 31779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031780|131780|989898|1|9999031780|MR|Test|E|Lead 31780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031781|131781|989898|1|9999031781|MR|Test|E|Lead 31781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031782|131782|989898|1|9999031782|MR|Test|E|Lead 31782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031783|131783|989898|1|9999031783|MR|Test|E|Lead 31783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031784|131784|989898|1|9999031784|MR|Test|E|Lead 31784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031785|131785|989898|1|9999031785|MR|Test|E|Lead 31785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031786|131786|989898|1|9999031786|MR|Test|E|Lead 31786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031787|131787|989898|1|9999031787|MR|Test|E|Lead 31787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031788|131788|989898|1|9999031788|MR|Test|E|Lead 31788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031789|131789|989898|1|9999031789|MR|Test|E|Lead 31789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031790|131790|989898|1|9999031790|MR|Test|E|Lead 31790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031791|131791|989898|1|9999031791|MR|Test|E|Lead 31791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031792|131792|989898|1|9999031792|MR|Test|E|Lead 31792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031793|131793|989898|1|9999031793|MR|Test|E|Lead 31793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031794|131794|989898|1|9999031794|MR|Test|E|Lead 31794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031795|131795|989898|1|9999031795|MR|Test|E|Lead 31795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031796|131796|989898|1|9999031796|MR|Test|E|Lead 31796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031797|131797|989898|1|9999031797|MR|Test|E|Lead 31797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031798|131798|989898|1|9999031798|MR|Test|E|Lead 31798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031799|131799|989898|1|9999031799|MR|Test|E|Lead 31799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031800|131800|989898|1|9999031800|MR|Test|E|Lead 31800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031801|131801|989898|1|9999031801|MR|Test|E|Lead 31801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031802|131802|989898|1|9999031802|MR|Test|E|Lead 31802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031803|131803|989898|1|9999031803|MR|Test|E|Lead 31803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031804|131804|989898|1|9999031804|MR|Test|E|Lead 31804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031805|131805|989898|1|9999031805|MR|Test|E|Lead 31805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031806|131806|989898|1|9999031806|MR|Test|E|Lead 31806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031807|131807|989898|1|9999031807|MR|Test|E|Lead 31807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031808|131808|989898|1|9999031808|MR|Test|E|Lead 31808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031809|131809|989898|1|9999031809|MR|Test|E|Lead 31809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031810|131810|989898|1|9999031810|MR|Test|E|Lead 31810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031811|131811|989898|1|9999031811|MR|Test|E|Lead 31811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031812|131812|989898|1|9999031812|MR|Test|E|Lead 31812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031813|131813|989898|1|9999031813|MR|Test|E|Lead 31813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031814|131814|989898|1|9999031814|MR|Test|E|Lead 31814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031815|131815|989898|1|9999031815|MR|Test|E|Lead 31815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031816|131816|989898|1|9999031816|MR|Test|E|Lead 31816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031817|131817|989898|1|9999031817|MR|Test|E|Lead 31817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031818|131818|989898|1|9999031818|MR|Test|E|Lead 31818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031819|131819|989898|1|9999031819|MR|Test|E|Lead 31819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031820|131820|989898|1|9999031820|MR|Test|E|Lead 31820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031821|131821|989898|1|9999031821|MR|Test|E|Lead 31821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031822|131822|989898|1|9999031822|MR|Test|E|Lead 31822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031823|131823|989898|1|9999031823|MR|Test|E|Lead 31823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031824|131824|989898|1|9999031824|MR|Test|E|Lead 31824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031825|131825|989898|1|9999031825|MR|Test|E|Lead 31825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031826|131826|989898|1|9999031826|MR|Test|E|Lead 31826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031827|131827|989898|1|9999031827|MR|Test|E|Lead 31827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031828|131828|989898|1|9999031828|MR|Test|E|Lead 31828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031829|131829|989898|1|9999031829|MR|Test|E|Lead 31829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031830|131830|989898|1|9999031830|MR|Test|E|Lead 31830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031831|131831|989898|1|9999031831|MR|Test|E|Lead 31831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031832|131832|989898|1|9999031832|MR|Test|E|Lead 31832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031833|131833|989898|1|9999031833|MR|Test|E|Lead 31833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031834|131834|989898|1|9999031834|MR|Test|E|Lead 31834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031835|131835|989898|1|9999031835|MR|Test|E|Lead 31835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031836|131836|989898|1|9999031836|MR|Test|E|Lead 31836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031837|131837|989898|1|9999031837|MR|Test|E|Lead 31837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031838|131838|989898|1|9999031838|MR|Test|E|Lead 31838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031839|131839|989898|1|9999031839|MR|Test|E|Lead 31839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031840|131840|989898|1|9999031840|MR|Test|E|Lead 31840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031841|131841|989898|1|9999031841|MR|Test|E|Lead 31841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031842|131842|989898|1|9999031842|MR|Test|E|Lead 31842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031843|131843|989898|1|9999031843|MR|Test|E|Lead 31843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031844|131844|989898|1|9999031844|MR|Test|E|Lead 31844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031845|131845|989898|1|9999031845|MR|Test|E|Lead 31845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031846|131846|989898|1|9999031846|MR|Test|E|Lead 31846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031847|131847|989898|1|9999031847|MR|Test|E|Lead 31847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031848|131848|989898|1|9999031848|MR|Test|E|Lead 31848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031849|131849|989898|1|9999031849|MR|Test|E|Lead 31849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031850|131850|989898|1|9999031850|MR|Test|E|Lead 31850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031851|131851|989898|1|9999031851|MR|Test|E|Lead 31851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031852|131852|989898|1|9999031852|MR|Test|E|Lead 31852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031853|131853|989898|1|9999031853|MR|Test|E|Lead 31853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031854|131854|989898|1|9999031854|MR|Test|E|Lead 31854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031855|131855|989898|1|9999031855|MR|Test|E|Lead 31855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031856|131856|989898|1|9999031856|MR|Test|E|Lead 31856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031857|131857|989898|1|9999031857|MR|Test|E|Lead 31857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031858|131858|989898|1|9999031858|MR|Test|E|Lead 31858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031859|131859|989898|1|9999031859|MR|Test|E|Lead 31859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031860|131860|989898|1|9999031860|MR|Test|E|Lead 31860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031861|131861|989898|1|9999031861|MR|Test|E|Lead 31861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031862|131862|989898|1|9999031862|MR|Test|E|Lead 31862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031863|131863|989898|1|9999031863|MR|Test|E|Lead 31863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031864|131864|989898|1|9999031864|MR|Test|E|Lead 31864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031865|131865|989898|1|9999031865|MR|Test|E|Lead 31865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031866|131866|989898|1|9999031866|MR|Test|E|Lead 31866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031867|131867|989898|1|9999031867|MR|Test|E|Lead 31867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031868|131868|989898|1|9999031868|MR|Test|E|Lead 31868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031869|131869|989898|1|9999031869|MR|Test|E|Lead 31869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031870|131870|989898|1|9999031870|MR|Test|E|Lead 31870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031871|131871|989898|1|9999031871|MR|Test|E|Lead 31871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031872|131872|989898|1|9999031872|MR|Test|E|Lead 31872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031873|131873|989898|1|9999031873|MR|Test|E|Lead 31873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031874|131874|989898|1|9999031874|MR|Test|E|Lead 31874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031875|131875|989898|1|9999031875|MR|Test|E|Lead 31875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031876|131876|989898|1|9999031876|MR|Test|E|Lead 31876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031877|131877|989898|1|9999031877|MR|Test|E|Lead 31877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031878|131878|989898|1|9999031878|MR|Test|E|Lead 31878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031879|131879|989898|1|9999031879|MR|Test|E|Lead 31879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031880|131880|989898|1|9999031880|MR|Test|E|Lead 31880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031881|131881|989898|1|9999031881|MR|Test|E|Lead 31881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031882|131882|989898|1|9999031882|MR|Test|E|Lead 31882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031883|131883|989898|1|9999031883|MR|Test|E|Lead 31883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031884|131884|989898|1|9999031884|MR|Test|E|Lead 31884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031885|131885|989898|1|9999031885|MR|Test|E|Lead 31885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031886|131886|989898|1|9999031886|MR|Test|E|Lead 31886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031887|131887|989898|1|9999031887|MR|Test|E|Lead 31887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031888|131888|989898|1|9999031888|MR|Test|E|Lead 31888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031889|131889|989898|1|9999031889|MR|Test|E|Lead 31889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031890|131890|989898|1|9999031890|MR|Test|E|Lead 31890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031891|131891|989898|1|9999031891|MR|Test|E|Lead 31891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031892|131892|989898|1|9999031892|MR|Test|E|Lead 31892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031893|131893|989898|1|9999031893|MR|Test|E|Lead 31893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031894|131894|989898|1|9999031894|MR|Test|E|Lead 31894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031895|131895|989898|1|9999031895|MR|Test|E|Lead 31895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031896|131896|989898|1|9999031896|MR|Test|E|Lead 31896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031897|131897|989898|1|9999031897|MR|Test|E|Lead 31897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031898|131898|989898|1|9999031898|MR|Test|E|Lead 31898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031899|131899|989898|1|9999031899|MR|Test|E|Lead 31899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031900|131900|989898|1|9999031900|MR|Test|E|Lead 31900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031901|131901|989898|1|9999031901|MR|Test|E|Lead 31901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031902|131902|989898|1|9999031902|MR|Test|E|Lead 31902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031903|131903|989898|1|9999031903|MR|Test|E|Lead 31903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031904|131904|989898|1|9999031904|MR|Test|E|Lead 31904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031905|131905|989898|1|9999031905|MR|Test|E|Lead 31905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031906|131906|989898|1|9999031906|MR|Test|E|Lead 31906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031907|131907|989898|1|9999031907|MR|Test|E|Lead 31907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031908|131908|989898|1|9999031908|MR|Test|E|Lead 31908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031909|131909|989898|1|9999031909|MR|Test|E|Lead 31909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031910|131910|989898|1|9999031910|MR|Test|E|Lead 31910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031911|131911|989898|1|9999031911|MR|Test|E|Lead 31911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031912|131912|989898|1|9999031912|MR|Test|E|Lead 31912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031913|131913|989898|1|9999031913|MR|Test|E|Lead 31913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031914|131914|989898|1|9999031914|MR|Test|E|Lead 31914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031915|131915|989898|1|9999031915|MR|Test|E|Lead 31915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031916|131916|989898|1|9999031916|MR|Test|E|Lead 31916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031917|131917|989898|1|9999031917|MR|Test|E|Lead 31917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031918|131918|989898|1|9999031918|MR|Test|E|Lead 31918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031919|131919|989898|1|9999031919|MR|Test|E|Lead 31919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031920|131920|989898|1|9999031920|MR|Test|E|Lead 31920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031921|131921|989898|1|9999031921|MR|Test|E|Lead 31921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031922|131922|989898|1|9999031922|MR|Test|E|Lead 31922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031923|131923|989898|1|9999031923|MR|Test|E|Lead 31923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031924|131924|989898|1|9999031924|MR|Test|E|Lead 31924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031925|131925|989898|1|9999031925|MR|Test|E|Lead 31925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031926|131926|989898|1|9999031926|MR|Test|E|Lead 31926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031927|131927|989898|1|9999031927|MR|Test|E|Lead 31927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031928|131928|989898|1|9999031928|MR|Test|E|Lead 31928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031929|131929|989898|1|9999031929|MR|Test|E|Lead 31929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031930|131930|989898|1|9999031930|MR|Test|E|Lead 31930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031931|131931|989898|1|9999031931|MR|Test|E|Lead 31931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031932|131932|989898|1|9999031932|MR|Test|E|Lead 31932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031933|131933|989898|1|9999031933|MR|Test|E|Lead 31933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031934|131934|989898|1|9999031934|MR|Test|E|Lead 31934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031935|131935|989898|1|9999031935|MR|Test|E|Lead 31935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031936|131936|989898|1|9999031936|MR|Test|E|Lead 31936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031937|131937|989898|1|9999031937|MR|Test|E|Lead 31937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031938|131938|989898|1|9999031938|MR|Test|E|Lead 31938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031939|131939|989898|1|9999031939|MR|Test|E|Lead 31939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031940|131940|989898|1|9999031940|MR|Test|E|Lead 31940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031941|131941|989898|1|9999031941|MR|Test|E|Lead 31941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031942|131942|989898|1|9999031942|MR|Test|E|Lead 31942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031943|131943|989898|1|9999031943|MR|Test|E|Lead 31943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031944|131944|989898|1|9999031944|MR|Test|E|Lead 31944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031945|131945|989898|1|9999031945|MR|Test|E|Lead 31945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031946|131946|989898|1|9999031946|MR|Test|E|Lead 31946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031947|131947|989898|1|9999031947|MR|Test|E|Lead 31947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031948|131948|989898|1|9999031948|MR|Test|E|Lead 31948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031949|131949|989898|1|9999031949|MR|Test|E|Lead 31949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031950|131950|989898|1|9999031950|MR|Test|E|Lead 31950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031951|131951|989898|1|9999031951|MR|Test|E|Lead 31951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031952|131952|989898|1|9999031952|MR|Test|E|Lead 31952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031953|131953|989898|1|9999031953|MR|Test|E|Lead 31953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031954|131954|989898|1|9999031954|MR|Test|E|Lead 31954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031955|131955|989898|1|9999031955|MR|Test|E|Lead 31955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031956|131956|989898|1|9999031956|MR|Test|E|Lead 31956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031957|131957|989898|1|9999031957|MR|Test|E|Lead 31957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031958|131958|989898|1|9999031958|MR|Test|E|Lead 31958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031959|131959|989898|1|9999031959|MR|Test|E|Lead 31959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031960|131960|989898|1|9999031960|MR|Test|E|Lead 31960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031961|131961|989898|1|9999031961|MR|Test|E|Lead 31961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031962|131962|989898|1|9999031962|MR|Test|E|Lead 31962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031963|131963|989898|1|9999031963|MR|Test|E|Lead 31963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031964|131964|989898|1|9999031964|MR|Test|E|Lead 31964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031965|131965|989898|1|9999031965|MR|Test|E|Lead 31965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031966|131966|989898|1|9999031966|MR|Test|E|Lead 31966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031967|131967|989898|1|9999031967|MR|Test|E|Lead 31967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031968|131968|989898|1|9999031968|MR|Test|E|Lead 31968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031969|131969|989898|1|9999031969|MR|Test|E|Lead 31969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031970|131970|989898|1|9999031970|MR|Test|E|Lead 31970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031971|131971|989898|1|9999031971|MR|Test|E|Lead 31971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031972|131972|989898|1|9999031972|MR|Test|E|Lead 31972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031973|131973|989898|1|9999031973|MR|Test|E|Lead 31973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031974|131974|989898|1|9999031974|MR|Test|E|Lead 31974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031975|131975|989898|1|9999031975|MR|Test|E|Lead 31975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031976|131976|989898|1|9999031976|MR|Test|E|Lead 31976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031977|131977|989898|1|9999031977|MR|Test|E|Lead 31977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031978|131978|989898|1|9999031978|MR|Test|E|Lead 31978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031979|131979|989898|1|9999031979|MR|Test|E|Lead 31979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031980|131980|989898|1|9999031980|MR|Test|E|Lead 31980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031981|131981|989898|1|9999031981|MR|Test|E|Lead 31981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031982|131982|989898|1|9999031982|MR|Test|E|Lead 31982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031983|131983|989898|1|9999031983|MR|Test|E|Lead 31983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031984|131984|989898|1|9999031984|MR|Test|E|Lead 31984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031985|131985|989898|1|9999031985|MR|Test|E|Lead 31985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031986|131986|989898|1|9999031986|MR|Test|E|Lead 31986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031987|131987|989898|1|9999031987|MR|Test|E|Lead 31987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031988|131988|989898|1|9999031988|MR|Test|E|Lead 31988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031989|131989|989898|1|9999031989|MR|Test|E|Lead 31989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031990|131990|989898|1|9999031990|MR|Test|E|Lead 31990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031991|131991|989898|1|9999031991|MR|Test|E|Lead 31991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031992|131992|989898|1|9999031992|MR|Test|E|Lead 31992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031993|131993|989898|1|9999031993|MR|Test|E|Lead 31993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031994|131994|989898|1|9999031994|MR|Test|E|Lead 31994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031995|131995|989898|1|9999031995|MR|Test|E|Lead 31995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031996|131996|989898|1|9999031996|MR|Test|E|Lead 31996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031997|131997|989898|1|9999031997|MR|Test|E|Lead 31997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031998|131998|989898|1|9999031998|MR|Test|E|Lead 31998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1031999|131999|989898|1|9999031999|MR|Test|E|Lead 31999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032000|132000|989898|1|9999032000|MR|Test|E|Lead 32000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032001|132001|989898|1|9999032001|MR|Test|E|Lead 32001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032002|132002|989898|1|9999032002|MR|Test|E|Lead 32002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032003|132003|989898|1|9999032003|MR|Test|E|Lead 32003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032004|132004|989898|1|9999032004|MR|Test|E|Lead 32004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032005|132005|989898|1|9999032005|MR|Test|E|Lead 32005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032006|132006|989898|1|9999032006|MR|Test|E|Lead 32006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032007|132007|989898|1|9999032007|MR|Test|E|Lead 32007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032008|132008|989898|1|9999032008|MR|Test|E|Lead 32008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032009|132009|989898|1|9999032009|MR|Test|E|Lead 32009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032010|132010|989898|1|9999032010|MR|Test|E|Lead 32010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032011|132011|989898|1|9999032011|MR|Test|E|Lead 32011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032012|132012|989898|1|9999032012|MR|Test|E|Lead 32012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032013|132013|989898|1|9999032013|MR|Test|E|Lead 32013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032014|132014|989898|1|9999032014|MR|Test|E|Lead 32014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032015|132015|989898|1|9999032015|MR|Test|E|Lead 32015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032016|132016|989898|1|9999032016|MR|Test|E|Lead 32016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032017|132017|989898|1|9999032017|MR|Test|E|Lead 32017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032018|132018|989898|1|9999032018|MR|Test|E|Lead 32018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032019|132019|989898|1|9999032019|MR|Test|E|Lead 32019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032020|132020|989898|1|9999032020|MR|Test|E|Lead 32020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032021|132021|989898|1|9999032021|MR|Test|E|Lead 32021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032022|132022|989898|1|9999032022|MR|Test|E|Lead 32022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032023|132023|989898|1|9999032023|MR|Test|E|Lead 32023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032024|132024|989898|1|9999032024|MR|Test|E|Lead 32024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032025|132025|989898|1|9999032025|MR|Test|E|Lead 32025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032026|132026|989898|1|9999032026|MR|Test|E|Lead 32026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032027|132027|989898|1|9999032027|MR|Test|E|Lead 32027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032028|132028|989898|1|9999032028|MR|Test|E|Lead 32028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032029|132029|989898|1|9999032029|MR|Test|E|Lead 32029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032030|132030|989898|1|9999032030|MR|Test|E|Lead 32030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032031|132031|989898|1|9999032031|MR|Test|E|Lead 32031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032032|132032|989898|1|9999032032|MR|Test|E|Lead 32032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032033|132033|989898|1|9999032033|MR|Test|E|Lead 32033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032034|132034|989898|1|9999032034|MR|Test|E|Lead 32034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032035|132035|989898|1|9999032035|MR|Test|E|Lead 32035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032036|132036|989898|1|9999032036|MR|Test|E|Lead 32036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032037|132037|989898|1|9999032037|MR|Test|E|Lead 32037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032038|132038|989898|1|9999032038|MR|Test|E|Lead 32038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032039|132039|989898|1|9999032039|MR|Test|E|Lead 32039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032040|132040|989898|1|9999032040|MR|Test|E|Lead 32040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032041|132041|989898|1|9999032041|MR|Test|E|Lead 32041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032042|132042|989898|1|9999032042|MR|Test|E|Lead 32042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032043|132043|989898|1|9999032043|MR|Test|E|Lead 32043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032044|132044|989898|1|9999032044|MR|Test|E|Lead 32044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032045|132045|989898|1|9999032045|MR|Test|E|Lead 32045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032046|132046|989898|1|9999032046|MR|Test|E|Lead 32046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032047|132047|989898|1|9999032047|MR|Test|E|Lead 32047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032048|132048|989898|1|9999032048|MR|Test|E|Lead 32048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032049|132049|989898|1|9999032049|MR|Test|E|Lead 32049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032050|132050|989898|1|9999032050|MR|Test|E|Lead 32050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032051|132051|989898|1|9999032051|MR|Test|E|Lead 32051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032052|132052|989898|1|9999032052|MR|Test|E|Lead 32052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032053|132053|989898|1|9999032053|MR|Test|E|Lead 32053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032054|132054|989898|1|9999032054|MR|Test|E|Lead 32054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032055|132055|989898|1|9999032055|MR|Test|E|Lead 32055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032056|132056|989898|1|9999032056|MR|Test|E|Lead 32056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032057|132057|989898|1|9999032057|MR|Test|E|Lead 32057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032058|132058|989898|1|9999032058|MR|Test|E|Lead 32058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032059|132059|989898|1|9999032059|MR|Test|E|Lead 32059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032060|132060|989898|1|9999032060|MR|Test|E|Lead 32060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032061|132061|989898|1|9999032061|MR|Test|E|Lead 32061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032062|132062|989898|1|9999032062|MR|Test|E|Lead 32062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032063|132063|989898|1|9999032063|MR|Test|E|Lead 32063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032064|132064|989898|1|9999032064|MR|Test|E|Lead 32064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032065|132065|989898|1|9999032065|MR|Test|E|Lead 32065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032066|132066|989898|1|9999032066|MR|Test|E|Lead 32066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032067|132067|989898|1|9999032067|MR|Test|E|Lead 32067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032068|132068|989898|1|9999032068|MR|Test|E|Lead 32068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032069|132069|989898|1|9999032069|MR|Test|E|Lead 32069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032070|132070|989898|1|9999032070|MR|Test|E|Lead 32070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032071|132071|989898|1|9999032071|MR|Test|E|Lead 32071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032072|132072|989898|1|9999032072|MR|Test|E|Lead 32072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032073|132073|989898|1|9999032073|MR|Test|E|Lead 32073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032074|132074|989898|1|9999032074|MR|Test|E|Lead 32074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032075|132075|989898|1|9999032075|MR|Test|E|Lead 32075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032076|132076|989898|1|9999032076|MR|Test|E|Lead 32076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032077|132077|989898|1|9999032077|MR|Test|E|Lead 32077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032078|132078|989898|1|9999032078|MR|Test|E|Lead 32078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032079|132079|989898|1|9999032079|MR|Test|E|Lead 32079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032080|132080|989898|1|9999032080|MR|Test|E|Lead 32080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032081|132081|989898|1|9999032081|MR|Test|E|Lead 32081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032082|132082|989898|1|9999032082|MR|Test|E|Lead 32082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032083|132083|989898|1|9999032083|MR|Test|E|Lead 32083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032084|132084|989898|1|9999032084|MR|Test|E|Lead 32084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032085|132085|989898|1|9999032085|MR|Test|E|Lead 32085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032086|132086|989898|1|9999032086|MR|Test|E|Lead 32086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032087|132087|989898|1|9999032087|MR|Test|E|Lead 32087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032088|132088|989898|1|9999032088|MR|Test|E|Lead 32088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032089|132089|989898|1|9999032089|MR|Test|E|Lead 32089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032090|132090|989898|1|9999032090|MR|Test|E|Lead 32090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032091|132091|989898|1|9999032091|MR|Test|E|Lead 32091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032092|132092|989898|1|9999032092|MR|Test|E|Lead 32092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032093|132093|989898|1|9999032093|MR|Test|E|Lead 32093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032094|132094|989898|1|9999032094|MR|Test|E|Lead 32094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032095|132095|989898|1|9999032095|MR|Test|E|Lead 32095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032096|132096|989898|1|9999032096|MR|Test|E|Lead 32096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032097|132097|989898|1|9999032097|MR|Test|E|Lead 32097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032098|132098|989898|1|9999032098|MR|Test|E|Lead 32098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032099|132099|989898|1|9999032099|MR|Test|E|Lead 32099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032100|132100|989898|1|9999032100|MR|Test|E|Lead 32100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032101|132101|989898|1|9999032101|MR|Test|E|Lead 32101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032102|132102|989898|1|9999032102|MR|Test|E|Lead 32102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032103|132103|989898|1|9999032103|MR|Test|E|Lead 32103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032104|132104|989898|1|9999032104|MR|Test|E|Lead 32104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032105|132105|989898|1|9999032105|MR|Test|E|Lead 32105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032106|132106|989898|1|9999032106|MR|Test|E|Lead 32106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032107|132107|989898|1|9999032107|MR|Test|E|Lead 32107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032108|132108|989898|1|9999032108|MR|Test|E|Lead 32108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032109|132109|989898|1|9999032109|MR|Test|E|Lead 32109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032110|132110|989898|1|9999032110|MR|Test|E|Lead 32110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032111|132111|989898|1|9999032111|MR|Test|E|Lead 32111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032112|132112|989898|1|9999032112|MR|Test|E|Lead 32112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032113|132113|989898|1|9999032113|MR|Test|E|Lead 32113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032114|132114|989898|1|9999032114|MR|Test|E|Lead 32114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032115|132115|989898|1|9999032115|MR|Test|E|Lead 32115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032116|132116|989898|1|9999032116|MR|Test|E|Lead 32116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032117|132117|989898|1|9999032117|MR|Test|E|Lead 32117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032118|132118|989898|1|9999032118|MR|Test|E|Lead 32118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032119|132119|989898|1|9999032119|MR|Test|E|Lead 32119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032120|132120|989898|1|9999032120|MR|Test|E|Lead 32120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032121|132121|989898|1|9999032121|MR|Test|E|Lead 32121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032122|132122|989898|1|9999032122|MR|Test|E|Lead 32122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032123|132123|989898|1|9999032123|MR|Test|E|Lead 32123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032124|132124|989898|1|9999032124|MR|Test|E|Lead 32124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032125|132125|989898|1|9999032125|MR|Test|E|Lead 32125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032126|132126|989898|1|9999032126|MR|Test|E|Lead 32126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032127|132127|989898|1|9999032127|MR|Test|E|Lead 32127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032128|132128|989898|1|9999032128|MR|Test|E|Lead 32128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032129|132129|989898|1|9999032129|MR|Test|E|Lead 32129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032130|132130|989898|1|9999032130|MR|Test|E|Lead 32130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032131|132131|989898|1|9999032131|MR|Test|E|Lead 32131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032132|132132|989898|1|9999032132|MR|Test|E|Lead 32132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032133|132133|989898|1|9999032133|MR|Test|E|Lead 32133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032134|132134|989898|1|9999032134|MR|Test|E|Lead 32134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032135|132135|989898|1|9999032135|MR|Test|E|Lead 32135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032136|132136|989898|1|9999032136|MR|Test|E|Lead 32136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032137|132137|989898|1|9999032137|MR|Test|E|Lead 32137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032138|132138|989898|1|9999032138|MR|Test|E|Lead 32138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032139|132139|989898|1|9999032139|MR|Test|E|Lead 32139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032140|132140|989898|1|9999032140|MR|Test|E|Lead 32140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032141|132141|989898|1|9999032141|MR|Test|E|Lead 32141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032142|132142|989898|1|9999032142|MR|Test|E|Lead 32142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032143|132143|989898|1|9999032143|MR|Test|E|Lead 32143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032144|132144|989898|1|9999032144|MR|Test|E|Lead 32144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032145|132145|989898|1|9999032145|MR|Test|E|Lead 32145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032146|132146|989898|1|9999032146|MR|Test|E|Lead 32146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032147|132147|989898|1|9999032147|MR|Test|E|Lead 32147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032148|132148|989898|1|9999032148|MR|Test|E|Lead 32148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032149|132149|989898|1|9999032149|MR|Test|E|Lead 32149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032150|132150|989898|1|9999032150|MR|Test|E|Lead 32150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032151|132151|989898|1|9999032151|MR|Test|E|Lead 32151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032152|132152|989898|1|9999032152|MR|Test|E|Lead 32152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032153|132153|989898|1|9999032153|MR|Test|E|Lead 32153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032154|132154|989898|1|9999032154|MR|Test|E|Lead 32154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032155|132155|989898|1|9999032155|MR|Test|E|Lead 32155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032156|132156|989898|1|9999032156|MR|Test|E|Lead 32156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032157|132157|989898|1|9999032157|MR|Test|E|Lead 32157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032158|132158|989898|1|9999032158|MR|Test|E|Lead 32158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032159|132159|989898|1|9999032159|MR|Test|E|Lead 32159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032160|132160|989898|1|9999032160|MR|Test|E|Lead 32160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032161|132161|989898|1|9999032161|MR|Test|E|Lead 32161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032162|132162|989898|1|9999032162|MR|Test|E|Lead 32162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032163|132163|989898|1|9999032163|MR|Test|E|Lead 32163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032164|132164|989898|1|9999032164|MR|Test|E|Lead 32164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032165|132165|989898|1|9999032165|MR|Test|E|Lead 32165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032166|132166|989898|1|9999032166|MR|Test|E|Lead 32166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032167|132167|989898|1|9999032167|MR|Test|E|Lead 32167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032168|132168|989898|1|9999032168|MR|Test|E|Lead 32168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032169|132169|989898|1|9999032169|MR|Test|E|Lead 32169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032170|132170|989898|1|9999032170|MR|Test|E|Lead 32170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032171|132171|989898|1|9999032171|MR|Test|E|Lead 32171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032172|132172|989898|1|9999032172|MR|Test|E|Lead 32172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032173|132173|989898|1|9999032173|MR|Test|E|Lead 32173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032174|132174|989898|1|9999032174|MR|Test|E|Lead 32174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032175|132175|989898|1|9999032175|MR|Test|E|Lead 32175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032176|132176|989898|1|9999032176|MR|Test|E|Lead 32176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032177|132177|989898|1|9999032177|MR|Test|E|Lead 32177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032178|132178|989898|1|9999032178|MR|Test|E|Lead 32178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032179|132179|989898|1|9999032179|MR|Test|E|Lead 32179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032180|132180|989898|1|9999032180|MR|Test|E|Lead 32180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032181|132181|989898|1|9999032181|MR|Test|E|Lead 32181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032182|132182|989898|1|9999032182|MR|Test|E|Lead 32182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032183|132183|989898|1|9999032183|MR|Test|E|Lead 32183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032184|132184|989898|1|9999032184|MR|Test|E|Lead 32184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032185|132185|989898|1|9999032185|MR|Test|E|Lead 32185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032186|132186|989898|1|9999032186|MR|Test|E|Lead 32186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032187|132187|989898|1|9999032187|MR|Test|E|Lead 32187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032188|132188|989898|1|9999032188|MR|Test|E|Lead 32188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032189|132189|989898|1|9999032189|MR|Test|E|Lead 32189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032190|132190|989898|1|9999032190|MR|Test|E|Lead 32190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032191|132191|989898|1|9999032191|MR|Test|E|Lead 32191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032192|132192|989898|1|9999032192|MR|Test|E|Lead 32192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032193|132193|989898|1|9999032193|MR|Test|E|Lead 32193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032194|132194|989898|1|9999032194|MR|Test|E|Lead 32194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032195|132195|989898|1|9999032195|MR|Test|E|Lead 32195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032196|132196|989898|1|9999032196|MR|Test|E|Lead 32196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032197|132197|989898|1|9999032197|MR|Test|E|Lead 32197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032198|132198|989898|1|9999032198|MR|Test|E|Lead 32198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032199|132199|989898|1|9999032199|MR|Test|E|Lead 32199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032200|132200|989898|1|9999032200|MR|Test|E|Lead 32200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032201|132201|989898|1|9999032201|MR|Test|E|Lead 32201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032202|132202|989898|1|9999032202|MR|Test|E|Lead 32202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032203|132203|989898|1|9999032203|MR|Test|E|Lead 32203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032204|132204|989898|1|9999032204|MR|Test|E|Lead 32204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032205|132205|989898|1|9999032205|MR|Test|E|Lead 32205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032206|132206|989898|1|9999032206|MR|Test|E|Lead 32206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032207|132207|989898|1|9999032207|MR|Test|E|Lead 32207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032208|132208|989898|1|9999032208|MR|Test|E|Lead 32208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032209|132209|989898|1|9999032209|MR|Test|E|Lead 32209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032210|132210|989898|1|9999032210|MR|Test|E|Lead 32210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032211|132211|989898|1|9999032211|MR|Test|E|Lead 32211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032212|132212|989898|1|9999032212|MR|Test|E|Lead 32212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032213|132213|989898|1|9999032213|MR|Test|E|Lead 32213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032214|132214|989898|1|9999032214|MR|Test|E|Lead 32214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032215|132215|989898|1|9999032215|MR|Test|E|Lead 32215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032216|132216|989898|1|9999032216|MR|Test|E|Lead 32216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032217|132217|989898|1|9999032217|MR|Test|E|Lead 32217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032218|132218|989898|1|9999032218|MR|Test|E|Lead 32218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032219|132219|989898|1|9999032219|MR|Test|E|Lead 32219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032220|132220|989898|1|9999032220|MR|Test|E|Lead 32220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032221|132221|989898|1|9999032221|MR|Test|E|Lead 32221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032222|132222|989898|1|9999032222|MR|Test|E|Lead 32222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032223|132223|989898|1|9999032223|MR|Test|E|Lead 32223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032224|132224|989898|1|9999032224|MR|Test|E|Lead 32224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032225|132225|989898|1|9999032225|MR|Test|E|Lead 32225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032226|132226|989898|1|9999032226|MR|Test|E|Lead 32226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032227|132227|989898|1|9999032227|MR|Test|E|Lead 32227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032228|132228|989898|1|9999032228|MR|Test|E|Lead 32228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032229|132229|989898|1|9999032229|MR|Test|E|Lead 32229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032230|132230|989898|1|9999032230|MR|Test|E|Lead 32230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032231|132231|989898|1|9999032231|MR|Test|E|Lead 32231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032232|132232|989898|1|9999032232|MR|Test|E|Lead 32232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032233|132233|989898|1|9999032233|MR|Test|E|Lead 32233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032234|132234|989898|1|9999032234|MR|Test|E|Lead 32234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032235|132235|989898|1|9999032235|MR|Test|E|Lead 32235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032236|132236|989898|1|9999032236|MR|Test|E|Lead 32236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032237|132237|989898|1|9999032237|MR|Test|E|Lead 32237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032238|132238|989898|1|9999032238|MR|Test|E|Lead 32238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032239|132239|989898|1|9999032239|MR|Test|E|Lead 32239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032240|132240|989898|1|9999032240|MR|Test|E|Lead 32240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032241|132241|989898|1|9999032241|MR|Test|E|Lead 32241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032242|132242|989898|1|9999032242|MR|Test|E|Lead 32242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032243|132243|989898|1|9999032243|MR|Test|E|Lead 32243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032244|132244|989898|1|9999032244|MR|Test|E|Lead 32244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032245|132245|989898|1|9999032245|MR|Test|E|Lead 32245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032246|132246|989898|1|9999032246|MR|Test|E|Lead 32246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032247|132247|989898|1|9999032247|MR|Test|E|Lead 32247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032248|132248|989898|1|9999032248|MR|Test|E|Lead 32248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032249|132249|989898|1|9999032249|MR|Test|E|Lead 32249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032250|132250|989898|1|9999032250|MR|Test|E|Lead 32250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032251|132251|989898|1|9999032251|MR|Test|E|Lead 32251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032252|132252|989898|1|9999032252|MR|Test|E|Lead 32252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032253|132253|989898|1|9999032253|MR|Test|E|Lead 32253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032254|132254|989898|1|9999032254|MR|Test|E|Lead 32254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032255|132255|989898|1|9999032255|MR|Test|E|Lead 32255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032256|132256|989898|1|9999032256|MR|Test|E|Lead 32256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032257|132257|989898|1|9999032257|MR|Test|E|Lead 32257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032258|132258|989898|1|9999032258|MR|Test|E|Lead 32258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032259|132259|989898|1|9999032259|MR|Test|E|Lead 32259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032260|132260|989898|1|9999032260|MR|Test|E|Lead 32260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032261|132261|989898|1|9999032261|MR|Test|E|Lead 32261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032262|132262|989898|1|9999032262|MR|Test|E|Lead 32262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032263|132263|989898|1|9999032263|MR|Test|E|Lead 32263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032264|132264|989898|1|9999032264|MR|Test|E|Lead 32264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032265|132265|989898|1|9999032265|MR|Test|E|Lead 32265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032266|132266|989898|1|9999032266|MR|Test|E|Lead 32266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032267|132267|989898|1|9999032267|MR|Test|E|Lead 32267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032268|132268|989898|1|9999032268|MR|Test|E|Lead 32268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032269|132269|989898|1|9999032269|MR|Test|E|Lead 32269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032270|132270|989898|1|9999032270|MR|Test|E|Lead 32270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032271|132271|989898|1|9999032271|MR|Test|E|Lead 32271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032272|132272|989898|1|9999032272|MR|Test|E|Lead 32272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032273|132273|989898|1|9999032273|MR|Test|E|Lead 32273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032274|132274|989898|1|9999032274|MR|Test|E|Lead 32274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032275|132275|989898|1|9999032275|MR|Test|E|Lead 32275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032276|132276|989898|1|9999032276|MR|Test|E|Lead 32276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032277|132277|989898|1|9999032277|MR|Test|E|Lead 32277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032278|132278|989898|1|9999032278|MR|Test|E|Lead 32278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032279|132279|989898|1|9999032279|MR|Test|E|Lead 32279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032280|132280|989898|1|9999032280|MR|Test|E|Lead 32280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032281|132281|989898|1|9999032281|MR|Test|E|Lead 32281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032282|132282|989898|1|9999032282|MR|Test|E|Lead 32282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032283|132283|989898|1|9999032283|MR|Test|E|Lead 32283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032284|132284|989898|1|9999032284|MR|Test|E|Lead 32284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032285|132285|989898|1|9999032285|MR|Test|E|Lead 32285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032286|132286|989898|1|9999032286|MR|Test|E|Lead 32286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032287|132287|989898|1|9999032287|MR|Test|E|Lead 32287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032288|132288|989898|1|9999032288|MR|Test|E|Lead 32288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032289|132289|989898|1|9999032289|MR|Test|E|Lead 32289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032290|132290|989898|1|9999032290|MR|Test|E|Lead 32290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032291|132291|989898|1|9999032291|MR|Test|E|Lead 32291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032292|132292|989898|1|9999032292|MR|Test|E|Lead 32292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032293|132293|989898|1|9999032293|MR|Test|E|Lead 32293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032294|132294|989898|1|9999032294|MR|Test|E|Lead 32294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032295|132295|989898|1|9999032295|MR|Test|E|Lead 32295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032296|132296|989898|1|9999032296|MR|Test|E|Lead 32296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032297|132297|989898|1|9999032297|MR|Test|E|Lead 32297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032298|132298|989898|1|9999032298|MR|Test|E|Lead 32298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032299|132299|989898|1|9999032299|MR|Test|E|Lead 32299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032300|132300|989898|1|9999032300|MR|Test|E|Lead 32300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032301|132301|989898|1|9999032301|MR|Test|E|Lead 32301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032302|132302|989898|1|9999032302|MR|Test|E|Lead 32302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032303|132303|989898|1|9999032303|MR|Test|E|Lead 32303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032304|132304|989898|1|9999032304|MR|Test|E|Lead 32304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032305|132305|989898|1|9999032305|MR|Test|E|Lead 32305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032306|132306|989898|1|9999032306|MR|Test|E|Lead 32306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032307|132307|989898|1|9999032307|MR|Test|E|Lead 32307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032308|132308|989898|1|9999032308|MR|Test|E|Lead 32308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032309|132309|989898|1|9999032309|MR|Test|E|Lead 32309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032310|132310|989898|1|9999032310|MR|Test|E|Lead 32310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032311|132311|989898|1|9999032311|MR|Test|E|Lead 32311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032312|132312|989898|1|9999032312|MR|Test|E|Lead 32312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032313|132313|989898|1|9999032313|MR|Test|E|Lead 32313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032314|132314|989898|1|9999032314|MR|Test|E|Lead 32314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032315|132315|989898|1|9999032315|MR|Test|E|Lead 32315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032316|132316|989898|1|9999032316|MR|Test|E|Lead 32316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032317|132317|989898|1|9999032317|MR|Test|E|Lead 32317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032318|132318|989898|1|9999032318|MR|Test|E|Lead 32318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032319|132319|989898|1|9999032319|MR|Test|E|Lead 32319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032320|132320|989898|1|9999032320|MR|Test|E|Lead 32320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032321|132321|989898|1|9999032321|MR|Test|E|Lead 32321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032322|132322|989898|1|9999032322|MR|Test|E|Lead 32322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032323|132323|989898|1|9999032323|MR|Test|E|Lead 32323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032324|132324|989898|1|9999032324|MR|Test|E|Lead 32324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032325|132325|989898|1|9999032325|MR|Test|E|Lead 32325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032326|132326|989898|1|9999032326|MR|Test|E|Lead 32326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032327|132327|989898|1|9999032327|MR|Test|E|Lead 32327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032328|132328|989898|1|9999032328|MR|Test|E|Lead 32328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032329|132329|989898|1|9999032329|MR|Test|E|Lead 32329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032330|132330|989898|1|9999032330|MR|Test|E|Lead 32330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032331|132331|989898|1|9999032331|MR|Test|E|Lead 32331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032332|132332|989898|1|9999032332|MR|Test|E|Lead 32332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032333|132333|989898|1|9999032333|MR|Test|E|Lead 32333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032334|132334|989898|1|9999032334|MR|Test|E|Lead 32334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032335|132335|989898|1|9999032335|MR|Test|E|Lead 32335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032336|132336|989898|1|9999032336|MR|Test|E|Lead 32336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032337|132337|989898|1|9999032337|MR|Test|E|Lead 32337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032338|132338|989898|1|9999032338|MR|Test|E|Lead 32338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032339|132339|989898|1|9999032339|MR|Test|E|Lead 32339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032340|132340|989898|1|9999032340|MR|Test|E|Lead 32340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032341|132341|989898|1|9999032341|MR|Test|E|Lead 32341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032342|132342|989898|1|9999032342|MR|Test|E|Lead 32342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032343|132343|989898|1|9999032343|MR|Test|E|Lead 32343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032344|132344|989898|1|9999032344|MR|Test|E|Lead 32344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032345|132345|989898|1|9999032345|MR|Test|E|Lead 32345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032346|132346|989898|1|9999032346|MR|Test|E|Lead 32346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032347|132347|989898|1|9999032347|MR|Test|E|Lead 32347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032348|132348|989898|1|9999032348|MR|Test|E|Lead 32348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032349|132349|989898|1|9999032349|MR|Test|E|Lead 32349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032350|132350|989898|1|9999032350|MR|Test|E|Lead 32350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032351|132351|989898|1|9999032351|MR|Test|E|Lead 32351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032352|132352|989898|1|9999032352|MR|Test|E|Lead 32352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032353|132353|989898|1|9999032353|MR|Test|E|Lead 32353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032354|132354|989898|1|9999032354|MR|Test|E|Lead 32354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032355|132355|989898|1|9999032355|MR|Test|E|Lead 32355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032356|132356|989898|1|9999032356|MR|Test|E|Lead 32356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032357|132357|989898|1|9999032357|MR|Test|E|Lead 32357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032358|132358|989898|1|9999032358|MR|Test|E|Lead 32358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032359|132359|989898|1|9999032359|MR|Test|E|Lead 32359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032360|132360|989898|1|9999032360|MR|Test|E|Lead 32360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032361|132361|989898|1|9999032361|MR|Test|E|Lead 32361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032362|132362|989898|1|9999032362|MR|Test|E|Lead 32362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032363|132363|989898|1|9999032363|MR|Test|E|Lead 32363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032364|132364|989898|1|9999032364|MR|Test|E|Lead 32364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032365|132365|989898|1|9999032365|MR|Test|E|Lead 32365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032366|132366|989898|1|9999032366|MR|Test|E|Lead 32366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032367|132367|989898|1|9999032367|MR|Test|E|Lead 32367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032368|132368|989898|1|9999032368|MR|Test|E|Lead 32368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032369|132369|989898|1|9999032369|MR|Test|E|Lead 32369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032370|132370|989898|1|9999032370|MR|Test|E|Lead 32370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032371|132371|989898|1|9999032371|MR|Test|E|Lead 32371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032372|132372|989898|1|9999032372|MR|Test|E|Lead 32372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032373|132373|989898|1|9999032373|MR|Test|E|Lead 32373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032374|132374|989898|1|9999032374|MR|Test|E|Lead 32374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032375|132375|989898|1|9999032375|MR|Test|E|Lead 32375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032376|132376|989898|1|9999032376|MR|Test|E|Lead 32376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032377|132377|989898|1|9999032377|MR|Test|E|Lead 32377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032378|132378|989898|1|9999032378|MR|Test|E|Lead 32378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032379|132379|989898|1|9999032379|MR|Test|E|Lead 32379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032380|132380|989898|1|9999032380|MR|Test|E|Lead 32380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032381|132381|989898|1|9999032381|MR|Test|E|Lead 32381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032382|132382|989898|1|9999032382|MR|Test|E|Lead 32382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032383|132383|989898|1|9999032383|MR|Test|E|Lead 32383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032384|132384|989898|1|9999032384|MR|Test|E|Lead 32384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032385|132385|989898|1|9999032385|MR|Test|E|Lead 32385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032386|132386|989898|1|9999032386|MR|Test|E|Lead 32386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032387|132387|989898|1|9999032387|MR|Test|E|Lead 32387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032388|132388|989898|1|9999032388|MR|Test|E|Lead 32388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032389|132389|989898|1|9999032389|MR|Test|E|Lead 32389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032390|132390|989898|1|9999032390|MR|Test|E|Lead 32390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032391|132391|989898|1|9999032391|MR|Test|E|Lead 32391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032392|132392|989898|1|9999032392|MR|Test|E|Lead 32392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032393|132393|989898|1|9999032393|MR|Test|E|Lead 32393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032394|132394|989898|1|9999032394|MR|Test|E|Lead 32394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032395|132395|989898|1|9999032395|MR|Test|E|Lead 32395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032396|132396|989898|1|9999032396|MR|Test|E|Lead 32396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032397|132397|989898|1|9999032397|MR|Test|E|Lead 32397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032398|132398|989898|1|9999032398|MR|Test|E|Lead 32398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032399|132399|989898|1|9999032399|MR|Test|E|Lead 32399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032400|132400|989898|1|9999032400|MR|Test|E|Lead 32400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032401|132401|989898|1|9999032401|MR|Test|E|Lead 32401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032402|132402|989898|1|9999032402|MR|Test|E|Lead 32402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032403|132403|989898|1|9999032403|MR|Test|E|Lead 32403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032404|132404|989898|1|9999032404|MR|Test|E|Lead 32404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032405|132405|989898|1|9999032405|MR|Test|E|Lead 32405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032406|132406|989898|1|9999032406|MR|Test|E|Lead 32406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032407|132407|989898|1|9999032407|MR|Test|E|Lead 32407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032408|132408|989898|1|9999032408|MR|Test|E|Lead 32408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032409|132409|989898|1|9999032409|MR|Test|E|Lead 32409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032410|132410|989898|1|9999032410|MR|Test|E|Lead 32410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032411|132411|989898|1|9999032411|MR|Test|E|Lead 32411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032412|132412|989898|1|9999032412|MR|Test|E|Lead 32412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032413|132413|989898|1|9999032413|MR|Test|E|Lead 32413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032414|132414|989898|1|9999032414|MR|Test|E|Lead 32414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032415|132415|989898|1|9999032415|MR|Test|E|Lead 32415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032416|132416|989898|1|9999032416|MR|Test|E|Lead 32416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032417|132417|989898|1|9999032417|MR|Test|E|Lead 32417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032418|132418|989898|1|9999032418|MR|Test|E|Lead 32418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032419|132419|989898|1|9999032419|MR|Test|E|Lead 32419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032420|132420|989898|1|9999032420|MR|Test|E|Lead 32420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032421|132421|989898|1|9999032421|MR|Test|E|Lead 32421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032422|132422|989898|1|9999032422|MR|Test|E|Lead 32422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032423|132423|989898|1|9999032423|MR|Test|E|Lead 32423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032424|132424|989898|1|9999032424|MR|Test|E|Lead 32424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032425|132425|989898|1|9999032425|MR|Test|E|Lead 32425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032426|132426|989898|1|9999032426|MR|Test|E|Lead 32426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032427|132427|989898|1|9999032427|MR|Test|E|Lead 32427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032428|132428|989898|1|9999032428|MR|Test|E|Lead 32428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032429|132429|989898|1|9999032429|MR|Test|E|Lead 32429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032430|132430|989898|1|9999032430|MR|Test|E|Lead 32430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032431|132431|989898|1|9999032431|MR|Test|E|Lead 32431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032432|132432|989898|1|9999032432|MR|Test|E|Lead 32432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032433|132433|989898|1|9999032433|MR|Test|E|Lead 32433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032434|132434|989898|1|9999032434|MR|Test|E|Lead 32434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032435|132435|989898|1|9999032435|MR|Test|E|Lead 32435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032436|132436|989898|1|9999032436|MR|Test|E|Lead 32436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032437|132437|989898|1|9999032437|MR|Test|E|Lead 32437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032438|132438|989898|1|9999032438|MR|Test|E|Lead 32438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032439|132439|989898|1|9999032439|MR|Test|E|Lead 32439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032440|132440|989898|1|9999032440|MR|Test|E|Lead 32440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032441|132441|989898|1|9999032441|MR|Test|E|Lead 32441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032442|132442|989898|1|9999032442|MR|Test|E|Lead 32442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032443|132443|989898|1|9999032443|MR|Test|E|Lead 32443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032444|132444|989898|1|9999032444|MR|Test|E|Lead 32444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032445|132445|989898|1|9999032445|MR|Test|E|Lead 32445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032446|132446|989898|1|9999032446|MR|Test|E|Lead 32446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032447|132447|989898|1|9999032447|MR|Test|E|Lead 32447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032448|132448|989898|1|9999032448|MR|Test|E|Lead 32448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032449|132449|989898|1|9999032449|MR|Test|E|Lead 32449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032450|132450|989898|1|9999032450|MR|Test|E|Lead 32450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032451|132451|989898|1|9999032451|MR|Test|E|Lead 32451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032452|132452|989898|1|9999032452|MR|Test|E|Lead 32452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032453|132453|989898|1|9999032453|MR|Test|E|Lead 32453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032454|132454|989898|1|9999032454|MR|Test|E|Lead 32454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032455|132455|989898|1|9999032455|MR|Test|E|Lead 32455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032456|132456|989898|1|9999032456|MR|Test|E|Lead 32456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032457|132457|989898|1|9999032457|MR|Test|E|Lead 32457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032458|132458|989898|1|9999032458|MR|Test|E|Lead 32458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032459|132459|989898|1|9999032459|MR|Test|E|Lead 32459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032460|132460|989898|1|9999032460|MR|Test|E|Lead 32460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032461|132461|989898|1|9999032461|MR|Test|E|Lead 32461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032462|132462|989898|1|9999032462|MR|Test|E|Lead 32462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032463|132463|989898|1|9999032463|MR|Test|E|Lead 32463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032464|132464|989898|1|9999032464|MR|Test|E|Lead 32464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032465|132465|989898|1|9999032465|MR|Test|E|Lead 32465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032466|132466|989898|1|9999032466|MR|Test|E|Lead 32466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032467|132467|989898|1|9999032467|MR|Test|E|Lead 32467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032468|132468|989898|1|9999032468|MR|Test|E|Lead 32468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032469|132469|989898|1|9999032469|MR|Test|E|Lead 32469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032470|132470|989898|1|9999032470|MR|Test|E|Lead 32470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032471|132471|989898|1|9999032471|MR|Test|E|Lead 32471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032472|132472|989898|1|9999032472|MR|Test|E|Lead 32472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032473|132473|989898|1|9999032473|MR|Test|E|Lead 32473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032474|132474|989898|1|9999032474|MR|Test|E|Lead 32474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032475|132475|989898|1|9999032475|MR|Test|E|Lead 32475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032476|132476|989898|1|9999032476|MR|Test|E|Lead 32476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032477|132477|989898|1|9999032477|MR|Test|E|Lead 32477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032478|132478|989898|1|9999032478|MR|Test|E|Lead 32478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032479|132479|989898|1|9999032479|MR|Test|E|Lead 32479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032480|132480|989898|1|9999032480|MR|Test|E|Lead 32480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032481|132481|989898|1|9999032481|MR|Test|E|Lead 32481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032482|132482|989898|1|9999032482|MR|Test|E|Lead 32482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032483|132483|989898|1|9999032483|MR|Test|E|Lead 32483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032484|132484|989898|1|9999032484|MR|Test|E|Lead 32484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032485|132485|989898|1|9999032485|MR|Test|E|Lead 32485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032486|132486|989898|1|9999032486|MR|Test|E|Lead 32486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032487|132487|989898|1|9999032487|MR|Test|E|Lead 32487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032488|132488|989898|1|9999032488|MR|Test|E|Lead 32488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032489|132489|989898|1|9999032489|MR|Test|E|Lead 32489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032490|132490|989898|1|9999032490|MR|Test|E|Lead 32490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032491|132491|989898|1|9999032491|MR|Test|E|Lead 32491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032492|132492|989898|1|9999032492|MR|Test|E|Lead 32492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032493|132493|989898|1|9999032493|MR|Test|E|Lead 32493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032494|132494|989898|1|9999032494|MR|Test|E|Lead 32494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032495|132495|989898|1|9999032495|MR|Test|E|Lead 32495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032496|132496|989898|1|9999032496|MR|Test|E|Lead 32496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032497|132497|989898|1|9999032497|MR|Test|E|Lead 32497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032498|132498|989898|1|9999032498|MR|Test|E|Lead 32498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032499|132499|989898|1|9999032499|MR|Test|E|Lead 32499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032500|132500|989898|1|9999032500|MR|Test|E|Lead 32500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032501|132501|989898|1|9999032501|MR|Test|E|Lead 32501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032502|132502|989898|1|9999032502|MR|Test|E|Lead 32502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032503|132503|989898|1|9999032503|MR|Test|E|Lead 32503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032504|132504|989898|1|9999032504|MR|Test|E|Lead 32504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032505|132505|989898|1|9999032505|MR|Test|E|Lead 32505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032506|132506|989898|1|9999032506|MR|Test|E|Lead 32506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032507|132507|989898|1|9999032507|MR|Test|E|Lead 32507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032508|132508|989898|1|9999032508|MR|Test|E|Lead 32508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032509|132509|989898|1|9999032509|MR|Test|E|Lead 32509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032510|132510|989898|1|9999032510|MR|Test|E|Lead 32510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032511|132511|989898|1|9999032511|MR|Test|E|Lead 32511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032512|132512|989898|1|9999032512|MR|Test|E|Lead 32512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032513|132513|989898|1|9999032513|MR|Test|E|Lead 32513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032514|132514|989898|1|9999032514|MR|Test|E|Lead 32514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032515|132515|989898|1|9999032515|MR|Test|E|Lead 32515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032516|132516|989898|1|9999032516|MR|Test|E|Lead 32516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032517|132517|989898|1|9999032517|MR|Test|E|Lead 32517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032518|132518|989898|1|9999032518|MR|Test|E|Lead 32518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032519|132519|989898|1|9999032519|MR|Test|E|Lead 32519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032520|132520|989898|1|9999032520|MR|Test|E|Lead 32520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032521|132521|989898|1|9999032521|MR|Test|E|Lead 32521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032522|132522|989898|1|9999032522|MR|Test|E|Lead 32522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032523|132523|989898|1|9999032523|MR|Test|E|Lead 32523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032524|132524|989898|1|9999032524|MR|Test|E|Lead 32524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032525|132525|989898|1|9999032525|MR|Test|E|Lead 32525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032526|132526|989898|1|9999032526|MR|Test|E|Lead 32526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032527|132527|989898|1|9999032527|MR|Test|E|Lead 32527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032528|132528|989898|1|9999032528|MR|Test|E|Lead 32528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032529|132529|989898|1|9999032529|MR|Test|E|Lead 32529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032530|132530|989898|1|9999032530|MR|Test|E|Lead 32530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032531|132531|989898|1|9999032531|MR|Test|E|Lead 32531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032532|132532|989898|1|9999032532|MR|Test|E|Lead 32532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032533|132533|989898|1|9999032533|MR|Test|E|Lead 32533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032534|132534|989898|1|9999032534|MR|Test|E|Lead 32534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032535|132535|989898|1|9999032535|MR|Test|E|Lead 32535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032536|132536|989898|1|9999032536|MR|Test|E|Lead 32536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032537|132537|989898|1|9999032537|MR|Test|E|Lead 32537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032538|132538|989898|1|9999032538|MR|Test|E|Lead 32538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032539|132539|989898|1|9999032539|MR|Test|E|Lead 32539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032540|132540|989898|1|9999032540|MR|Test|E|Lead 32540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032541|132541|989898|1|9999032541|MR|Test|E|Lead 32541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032542|132542|989898|1|9999032542|MR|Test|E|Lead 32542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032543|132543|989898|1|9999032543|MR|Test|E|Lead 32543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032544|132544|989898|1|9999032544|MR|Test|E|Lead 32544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032545|132545|989898|1|9999032545|MR|Test|E|Lead 32545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032546|132546|989898|1|9999032546|MR|Test|E|Lead 32546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032547|132547|989898|1|9999032547|MR|Test|E|Lead 32547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032548|132548|989898|1|9999032548|MR|Test|E|Lead 32548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032549|132549|989898|1|9999032549|MR|Test|E|Lead 32549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032550|132550|989898|1|9999032550|MR|Test|E|Lead 32550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032551|132551|989898|1|9999032551|MR|Test|E|Lead 32551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032552|132552|989898|1|9999032552|MR|Test|E|Lead 32552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032553|132553|989898|1|9999032553|MR|Test|E|Lead 32553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032554|132554|989898|1|9999032554|MR|Test|E|Lead 32554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032555|132555|989898|1|9999032555|MR|Test|E|Lead 32555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032556|132556|989898|1|9999032556|MR|Test|E|Lead 32556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032557|132557|989898|1|9999032557|MR|Test|E|Lead 32557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032558|132558|989898|1|9999032558|MR|Test|E|Lead 32558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032559|132559|989898|1|9999032559|MR|Test|E|Lead 32559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032560|132560|989898|1|9999032560|MR|Test|E|Lead 32560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032561|132561|989898|1|9999032561|MR|Test|E|Lead 32561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032562|132562|989898|1|9999032562|MR|Test|E|Lead 32562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032563|132563|989898|1|9999032563|MR|Test|E|Lead 32563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032564|132564|989898|1|9999032564|MR|Test|E|Lead 32564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032565|132565|989898|1|9999032565|MR|Test|E|Lead 32565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032566|132566|989898|1|9999032566|MR|Test|E|Lead 32566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032567|132567|989898|1|9999032567|MR|Test|E|Lead 32567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032568|132568|989898|1|9999032568|MR|Test|E|Lead 32568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032569|132569|989898|1|9999032569|MR|Test|E|Lead 32569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032570|132570|989898|1|9999032570|MR|Test|E|Lead 32570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032571|132571|989898|1|9999032571|MR|Test|E|Lead 32571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032572|132572|989898|1|9999032572|MR|Test|E|Lead 32572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032573|132573|989898|1|9999032573|MR|Test|E|Lead 32573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032574|132574|989898|1|9999032574|MR|Test|E|Lead 32574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032575|132575|989898|1|9999032575|MR|Test|E|Lead 32575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032576|132576|989898|1|9999032576|MR|Test|E|Lead 32576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032577|132577|989898|1|9999032577|MR|Test|E|Lead 32577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032578|132578|989898|1|9999032578|MR|Test|E|Lead 32578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032579|132579|989898|1|9999032579|MR|Test|E|Lead 32579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032580|132580|989898|1|9999032580|MR|Test|E|Lead 32580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032581|132581|989898|1|9999032581|MR|Test|E|Lead 32581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032582|132582|989898|1|9999032582|MR|Test|E|Lead 32582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032583|132583|989898|1|9999032583|MR|Test|E|Lead 32583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032584|132584|989898|1|9999032584|MR|Test|E|Lead 32584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032585|132585|989898|1|9999032585|MR|Test|E|Lead 32585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032586|132586|989898|1|9999032586|MR|Test|E|Lead 32586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032587|132587|989898|1|9999032587|MR|Test|E|Lead 32587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032588|132588|989898|1|9999032588|MR|Test|E|Lead 32588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032589|132589|989898|1|9999032589|MR|Test|E|Lead 32589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032590|132590|989898|1|9999032590|MR|Test|E|Lead 32590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032591|132591|989898|1|9999032591|MR|Test|E|Lead 32591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032592|132592|989898|1|9999032592|MR|Test|E|Lead 32592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032593|132593|989898|1|9999032593|MR|Test|E|Lead 32593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032594|132594|989898|1|9999032594|MR|Test|E|Lead 32594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032595|132595|989898|1|9999032595|MR|Test|E|Lead 32595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032596|132596|989898|1|9999032596|MR|Test|E|Lead 32596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032597|132597|989898|1|9999032597|MR|Test|E|Lead 32597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032598|132598|989898|1|9999032598|MR|Test|E|Lead 32598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032599|132599|989898|1|9999032599|MR|Test|E|Lead 32599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032600|132600|989898|1|9999032600|MR|Test|E|Lead 32600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032601|132601|989898|1|9999032601|MR|Test|E|Lead 32601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032602|132602|989898|1|9999032602|MR|Test|E|Lead 32602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032603|132603|989898|1|9999032603|MR|Test|E|Lead 32603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032604|132604|989898|1|9999032604|MR|Test|E|Lead 32604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032605|132605|989898|1|9999032605|MR|Test|E|Lead 32605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032606|132606|989898|1|9999032606|MR|Test|E|Lead 32606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032607|132607|989898|1|9999032607|MR|Test|E|Lead 32607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032608|132608|989898|1|9999032608|MR|Test|E|Lead 32608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032609|132609|989898|1|9999032609|MR|Test|E|Lead 32609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032610|132610|989898|1|9999032610|MR|Test|E|Lead 32610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032611|132611|989898|1|9999032611|MR|Test|E|Lead 32611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032612|132612|989898|1|9999032612|MR|Test|E|Lead 32612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032613|132613|989898|1|9999032613|MR|Test|E|Lead 32613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032614|132614|989898|1|9999032614|MR|Test|E|Lead 32614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032615|132615|989898|1|9999032615|MR|Test|E|Lead 32615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032616|132616|989898|1|9999032616|MR|Test|E|Lead 32616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032617|132617|989898|1|9999032617|MR|Test|E|Lead 32617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032618|132618|989898|1|9999032618|MR|Test|E|Lead 32618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032619|132619|989898|1|9999032619|MR|Test|E|Lead 32619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032620|132620|989898|1|9999032620|MR|Test|E|Lead 32620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032621|132621|989898|1|9999032621|MR|Test|E|Lead 32621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032622|132622|989898|1|9999032622|MR|Test|E|Lead 32622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032623|132623|989898|1|9999032623|MR|Test|E|Lead 32623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032624|132624|989898|1|9999032624|MR|Test|E|Lead 32624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032625|132625|989898|1|9999032625|MR|Test|E|Lead 32625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032626|132626|989898|1|9999032626|MR|Test|E|Lead 32626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032627|132627|989898|1|9999032627|MR|Test|E|Lead 32627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032628|132628|989898|1|9999032628|MR|Test|E|Lead 32628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032629|132629|989898|1|9999032629|MR|Test|E|Lead 32629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032630|132630|989898|1|9999032630|MR|Test|E|Lead 32630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032631|132631|989898|1|9999032631|MR|Test|E|Lead 32631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032632|132632|989898|1|9999032632|MR|Test|E|Lead 32632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032633|132633|989898|1|9999032633|MR|Test|E|Lead 32633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032634|132634|989898|1|9999032634|MR|Test|E|Lead 32634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032635|132635|989898|1|9999032635|MR|Test|E|Lead 32635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032636|132636|989898|1|9999032636|MR|Test|E|Lead 32636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032637|132637|989898|1|9999032637|MR|Test|E|Lead 32637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032638|132638|989898|1|9999032638|MR|Test|E|Lead 32638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032639|132639|989898|1|9999032639|MR|Test|E|Lead 32639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032640|132640|989898|1|9999032640|MR|Test|E|Lead 32640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032641|132641|989898|1|9999032641|MR|Test|E|Lead 32641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032642|132642|989898|1|9999032642|MR|Test|E|Lead 32642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032643|132643|989898|1|9999032643|MR|Test|E|Lead 32643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032644|132644|989898|1|9999032644|MR|Test|E|Lead 32644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032645|132645|989898|1|9999032645|MR|Test|E|Lead 32645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032646|132646|989898|1|9999032646|MR|Test|E|Lead 32646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032647|132647|989898|1|9999032647|MR|Test|E|Lead 32647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032648|132648|989898|1|9999032648|MR|Test|E|Lead 32648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032649|132649|989898|1|9999032649|MR|Test|E|Lead 32649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032650|132650|989898|1|9999032650|MR|Test|E|Lead 32650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032651|132651|989898|1|9999032651|MR|Test|E|Lead 32651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032652|132652|989898|1|9999032652|MR|Test|E|Lead 32652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032653|132653|989898|1|9999032653|MR|Test|E|Lead 32653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032654|132654|989898|1|9999032654|MR|Test|E|Lead 32654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032655|132655|989898|1|9999032655|MR|Test|E|Lead 32655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032656|132656|989898|1|9999032656|MR|Test|E|Lead 32656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032657|132657|989898|1|9999032657|MR|Test|E|Lead 32657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032658|132658|989898|1|9999032658|MR|Test|E|Lead 32658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032659|132659|989898|1|9999032659|MR|Test|E|Lead 32659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032660|132660|989898|1|9999032660|MR|Test|E|Lead 32660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032661|132661|989898|1|9999032661|MR|Test|E|Lead 32661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032662|132662|989898|1|9999032662|MR|Test|E|Lead 32662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032663|132663|989898|1|9999032663|MR|Test|E|Lead 32663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032664|132664|989898|1|9999032664|MR|Test|E|Lead 32664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032665|132665|989898|1|9999032665|MR|Test|E|Lead 32665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032666|132666|989898|1|9999032666|MR|Test|E|Lead 32666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032667|132667|989898|1|9999032667|MR|Test|E|Lead 32667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032668|132668|989898|1|9999032668|MR|Test|E|Lead 32668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032669|132669|989898|1|9999032669|MR|Test|E|Lead 32669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032670|132670|989898|1|9999032670|MR|Test|E|Lead 32670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032671|132671|989898|1|9999032671|MR|Test|E|Lead 32671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032672|132672|989898|1|9999032672|MR|Test|E|Lead 32672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032673|132673|989898|1|9999032673|MR|Test|E|Lead 32673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032674|132674|989898|1|9999032674|MR|Test|E|Lead 32674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032675|132675|989898|1|9999032675|MR|Test|E|Lead 32675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032676|132676|989898|1|9999032676|MR|Test|E|Lead 32676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032677|132677|989898|1|9999032677|MR|Test|E|Lead 32677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032678|132678|989898|1|9999032678|MR|Test|E|Lead 32678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032679|132679|989898|1|9999032679|MR|Test|E|Lead 32679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032680|132680|989898|1|9999032680|MR|Test|E|Lead 32680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032681|132681|989898|1|9999032681|MR|Test|E|Lead 32681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032682|132682|989898|1|9999032682|MR|Test|E|Lead 32682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032683|132683|989898|1|9999032683|MR|Test|E|Lead 32683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032684|132684|989898|1|9999032684|MR|Test|E|Lead 32684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032685|132685|989898|1|9999032685|MR|Test|E|Lead 32685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032686|132686|989898|1|9999032686|MR|Test|E|Lead 32686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032687|132687|989898|1|9999032687|MR|Test|E|Lead 32687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032688|132688|989898|1|9999032688|MR|Test|E|Lead 32688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032689|132689|989898|1|9999032689|MR|Test|E|Lead 32689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032690|132690|989898|1|9999032690|MR|Test|E|Lead 32690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032691|132691|989898|1|9999032691|MR|Test|E|Lead 32691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032692|132692|989898|1|9999032692|MR|Test|E|Lead 32692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032693|132693|989898|1|9999032693|MR|Test|E|Lead 32693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032694|132694|989898|1|9999032694|MR|Test|E|Lead 32694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032695|132695|989898|1|9999032695|MR|Test|E|Lead 32695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032696|132696|989898|1|9999032696|MR|Test|E|Lead 32696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032697|132697|989898|1|9999032697|MR|Test|E|Lead 32697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032698|132698|989898|1|9999032698|MR|Test|E|Lead 32698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032699|132699|989898|1|9999032699|MR|Test|E|Lead 32699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032700|132700|989898|1|9999032700|MR|Test|E|Lead 32700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032701|132701|989898|1|9999032701|MR|Test|E|Lead 32701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032702|132702|989898|1|9999032702|MR|Test|E|Lead 32702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032703|132703|989898|1|9999032703|MR|Test|E|Lead 32703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032704|132704|989898|1|9999032704|MR|Test|E|Lead 32704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032705|132705|989898|1|9999032705|MR|Test|E|Lead 32705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032706|132706|989898|1|9999032706|MR|Test|E|Lead 32706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032707|132707|989898|1|9999032707|MR|Test|E|Lead 32707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032708|132708|989898|1|9999032708|MR|Test|E|Lead 32708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032709|132709|989898|1|9999032709|MR|Test|E|Lead 32709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032710|132710|989898|1|9999032710|MR|Test|E|Lead 32710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032711|132711|989898|1|9999032711|MR|Test|E|Lead 32711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032712|132712|989898|1|9999032712|MR|Test|E|Lead 32712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032713|132713|989898|1|9999032713|MR|Test|E|Lead 32713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032714|132714|989898|1|9999032714|MR|Test|E|Lead 32714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032715|132715|989898|1|9999032715|MR|Test|E|Lead 32715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032716|132716|989898|1|9999032716|MR|Test|E|Lead 32716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032717|132717|989898|1|9999032717|MR|Test|E|Lead 32717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032718|132718|989898|1|9999032718|MR|Test|E|Lead 32718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032719|132719|989898|1|9999032719|MR|Test|E|Lead 32719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032720|132720|989898|1|9999032720|MR|Test|E|Lead 32720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032721|132721|989898|1|9999032721|MR|Test|E|Lead 32721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032722|132722|989898|1|9999032722|MR|Test|E|Lead 32722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032723|132723|989898|1|9999032723|MR|Test|E|Lead 32723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032724|132724|989898|1|9999032724|MR|Test|E|Lead 32724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032725|132725|989898|1|9999032725|MR|Test|E|Lead 32725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032726|132726|989898|1|9999032726|MR|Test|E|Lead 32726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032727|132727|989898|1|9999032727|MR|Test|E|Lead 32727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032728|132728|989898|1|9999032728|MR|Test|E|Lead 32728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032729|132729|989898|1|9999032729|MR|Test|E|Lead 32729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032730|132730|989898|1|9999032730|MR|Test|E|Lead 32730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032731|132731|989898|1|9999032731|MR|Test|E|Lead 32731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032732|132732|989898|1|9999032732|MR|Test|E|Lead 32732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032733|132733|989898|1|9999032733|MR|Test|E|Lead 32733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032734|132734|989898|1|9999032734|MR|Test|E|Lead 32734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032735|132735|989898|1|9999032735|MR|Test|E|Lead 32735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032736|132736|989898|1|9999032736|MR|Test|E|Lead 32736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032737|132737|989898|1|9999032737|MR|Test|E|Lead 32737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032738|132738|989898|1|9999032738|MR|Test|E|Lead 32738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032739|132739|989898|1|9999032739|MR|Test|E|Lead 32739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032740|132740|989898|1|9999032740|MR|Test|E|Lead 32740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032741|132741|989898|1|9999032741|MR|Test|E|Lead 32741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032742|132742|989898|1|9999032742|MR|Test|E|Lead 32742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032743|132743|989898|1|9999032743|MR|Test|E|Lead 32743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032744|132744|989898|1|9999032744|MR|Test|E|Lead 32744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032745|132745|989898|1|9999032745|MR|Test|E|Lead 32745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032746|132746|989898|1|9999032746|MR|Test|E|Lead 32746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032747|132747|989898|1|9999032747|MR|Test|E|Lead 32747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032748|132748|989898|1|9999032748|MR|Test|E|Lead 32748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032749|132749|989898|1|9999032749|MR|Test|E|Lead 32749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032750|132750|989898|1|9999032750|MR|Test|E|Lead 32750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032751|132751|989898|1|9999032751|MR|Test|E|Lead 32751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032752|132752|989898|1|9999032752|MR|Test|E|Lead 32752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032753|132753|989898|1|9999032753|MR|Test|E|Lead 32753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032754|132754|989898|1|9999032754|MR|Test|E|Lead 32754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032755|132755|989898|1|9999032755|MR|Test|E|Lead 32755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032756|132756|989898|1|9999032756|MR|Test|E|Lead 32756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032757|132757|989898|1|9999032757|MR|Test|E|Lead 32757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032758|132758|989898|1|9999032758|MR|Test|E|Lead 32758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032759|132759|989898|1|9999032759|MR|Test|E|Lead 32759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032760|132760|989898|1|9999032760|MR|Test|E|Lead 32760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032761|132761|989898|1|9999032761|MR|Test|E|Lead 32761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032762|132762|989898|1|9999032762|MR|Test|E|Lead 32762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032763|132763|989898|1|9999032763|MR|Test|E|Lead 32763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032764|132764|989898|1|9999032764|MR|Test|E|Lead 32764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032765|132765|989898|1|9999032765|MR|Test|E|Lead 32765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032766|132766|989898|1|9999032766|MR|Test|E|Lead 32766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032767|132767|989898|1|9999032767|MR|Test|E|Lead 32767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032768|132768|989898|1|9999032768|MR|Test|E|Lead 32768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032769|132769|989898|1|9999032769|MR|Test|E|Lead 32769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032770|132770|989898|1|9999032770|MR|Test|E|Lead 32770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032771|132771|989898|1|9999032771|MR|Test|E|Lead 32771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032772|132772|989898|1|9999032772|MR|Test|E|Lead 32772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032773|132773|989898|1|9999032773|MR|Test|E|Lead 32773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032774|132774|989898|1|9999032774|MR|Test|E|Lead 32774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032775|132775|989898|1|9999032775|MR|Test|E|Lead 32775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032776|132776|989898|1|9999032776|MR|Test|E|Lead 32776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032777|132777|989898|1|9999032777|MR|Test|E|Lead 32777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032778|132778|989898|1|9999032778|MR|Test|E|Lead 32778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032779|132779|989898|1|9999032779|MR|Test|E|Lead 32779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032780|132780|989898|1|9999032780|MR|Test|E|Lead 32780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032781|132781|989898|1|9999032781|MR|Test|E|Lead 32781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032782|132782|989898|1|9999032782|MR|Test|E|Lead 32782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032783|132783|989898|1|9999032783|MR|Test|E|Lead 32783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032784|132784|989898|1|9999032784|MR|Test|E|Lead 32784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032785|132785|989898|1|9999032785|MR|Test|E|Lead 32785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032786|132786|989898|1|9999032786|MR|Test|E|Lead 32786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032787|132787|989898|1|9999032787|MR|Test|E|Lead 32787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032788|132788|989898|1|9999032788|MR|Test|E|Lead 32788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032789|132789|989898|1|9999032789|MR|Test|E|Lead 32789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032790|132790|989898|1|9999032790|MR|Test|E|Lead 32790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032791|132791|989898|1|9999032791|MR|Test|E|Lead 32791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032792|132792|989898|1|9999032792|MR|Test|E|Lead 32792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032793|132793|989898|1|9999032793|MR|Test|E|Lead 32793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032794|132794|989898|1|9999032794|MR|Test|E|Lead 32794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032795|132795|989898|1|9999032795|MR|Test|E|Lead 32795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032796|132796|989898|1|9999032796|MR|Test|E|Lead 32796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032797|132797|989898|1|9999032797|MR|Test|E|Lead 32797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032798|132798|989898|1|9999032798|MR|Test|E|Lead 32798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032799|132799|989898|1|9999032799|MR|Test|E|Lead 32799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032800|132800|989898|1|9999032800|MR|Test|E|Lead 32800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032801|132801|989898|1|9999032801|MR|Test|E|Lead 32801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032802|132802|989898|1|9999032802|MR|Test|E|Lead 32802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032803|132803|989898|1|9999032803|MR|Test|E|Lead 32803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032804|132804|989898|1|9999032804|MR|Test|E|Lead 32804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032805|132805|989898|1|9999032805|MR|Test|E|Lead 32805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032806|132806|989898|1|9999032806|MR|Test|E|Lead 32806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032807|132807|989898|1|9999032807|MR|Test|E|Lead 32807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032808|132808|989898|1|9999032808|MR|Test|E|Lead 32808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032809|132809|989898|1|9999032809|MR|Test|E|Lead 32809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032810|132810|989898|1|9999032810|MR|Test|E|Lead 32810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032811|132811|989898|1|9999032811|MR|Test|E|Lead 32811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032812|132812|989898|1|9999032812|MR|Test|E|Lead 32812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032813|132813|989898|1|9999032813|MR|Test|E|Lead 32813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032814|132814|989898|1|9999032814|MR|Test|E|Lead 32814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032815|132815|989898|1|9999032815|MR|Test|E|Lead 32815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032816|132816|989898|1|9999032816|MR|Test|E|Lead 32816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032817|132817|989898|1|9999032817|MR|Test|E|Lead 32817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032818|132818|989898|1|9999032818|MR|Test|E|Lead 32818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032819|132819|989898|1|9999032819|MR|Test|E|Lead 32819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032820|132820|989898|1|9999032820|MR|Test|E|Lead 32820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032821|132821|989898|1|9999032821|MR|Test|E|Lead 32821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032822|132822|989898|1|9999032822|MR|Test|E|Lead 32822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032823|132823|989898|1|9999032823|MR|Test|E|Lead 32823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032824|132824|989898|1|9999032824|MR|Test|E|Lead 32824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032825|132825|989898|1|9999032825|MR|Test|E|Lead 32825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032826|132826|989898|1|9999032826|MR|Test|E|Lead 32826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032827|132827|989898|1|9999032827|MR|Test|E|Lead 32827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032828|132828|989898|1|9999032828|MR|Test|E|Lead 32828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032829|132829|989898|1|9999032829|MR|Test|E|Lead 32829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032830|132830|989898|1|9999032830|MR|Test|E|Lead 32830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032831|132831|989898|1|9999032831|MR|Test|E|Lead 32831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032832|132832|989898|1|9999032832|MR|Test|E|Lead 32832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032833|132833|989898|1|9999032833|MR|Test|E|Lead 32833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032834|132834|989898|1|9999032834|MR|Test|E|Lead 32834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032835|132835|989898|1|9999032835|MR|Test|E|Lead 32835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032836|132836|989898|1|9999032836|MR|Test|E|Lead 32836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032837|132837|989898|1|9999032837|MR|Test|E|Lead 32837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032838|132838|989898|1|9999032838|MR|Test|E|Lead 32838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032839|132839|989898|1|9999032839|MR|Test|E|Lead 32839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032840|132840|989898|1|9999032840|MR|Test|E|Lead 32840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032841|132841|989898|1|9999032841|MR|Test|E|Lead 32841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032842|132842|989898|1|9999032842|MR|Test|E|Lead 32842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032843|132843|989898|1|9999032843|MR|Test|E|Lead 32843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032844|132844|989898|1|9999032844|MR|Test|E|Lead 32844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032845|132845|989898|1|9999032845|MR|Test|E|Lead 32845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032846|132846|989898|1|9999032846|MR|Test|E|Lead 32846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032847|132847|989898|1|9999032847|MR|Test|E|Lead 32847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032848|132848|989898|1|9999032848|MR|Test|E|Lead 32848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032849|132849|989898|1|9999032849|MR|Test|E|Lead 32849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032850|132850|989898|1|9999032850|MR|Test|E|Lead 32850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032851|132851|989898|1|9999032851|MR|Test|E|Lead 32851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032852|132852|989898|1|9999032852|MR|Test|E|Lead 32852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032853|132853|989898|1|9999032853|MR|Test|E|Lead 32853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032854|132854|989898|1|9999032854|MR|Test|E|Lead 32854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032855|132855|989898|1|9999032855|MR|Test|E|Lead 32855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032856|132856|989898|1|9999032856|MR|Test|E|Lead 32856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032857|132857|989898|1|9999032857|MR|Test|E|Lead 32857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032858|132858|989898|1|9999032858|MR|Test|E|Lead 32858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032859|132859|989898|1|9999032859|MR|Test|E|Lead 32859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032860|132860|989898|1|9999032860|MR|Test|E|Lead 32860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032861|132861|989898|1|9999032861|MR|Test|E|Lead 32861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032862|132862|989898|1|9999032862|MR|Test|E|Lead 32862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032863|132863|989898|1|9999032863|MR|Test|E|Lead 32863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032864|132864|989898|1|9999032864|MR|Test|E|Lead 32864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032865|132865|989898|1|9999032865|MR|Test|E|Lead 32865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032866|132866|989898|1|9999032866|MR|Test|E|Lead 32866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032867|132867|989898|1|9999032867|MR|Test|E|Lead 32867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032868|132868|989898|1|9999032868|MR|Test|E|Lead 32868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032869|132869|989898|1|9999032869|MR|Test|E|Lead 32869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032870|132870|989898|1|9999032870|MR|Test|E|Lead 32870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032871|132871|989898|1|9999032871|MR|Test|E|Lead 32871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032872|132872|989898|1|9999032872|MR|Test|E|Lead 32872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032873|132873|989898|1|9999032873|MR|Test|E|Lead 32873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032874|132874|989898|1|9999032874|MR|Test|E|Lead 32874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032875|132875|989898|1|9999032875|MR|Test|E|Lead 32875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032876|132876|989898|1|9999032876|MR|Test|E|Lead 32876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032877|132877|989898|1|9999032877|MR|Test|E|Lead 32877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032878|132878|989898|1|9999032878|MR|Test|E|Lead 32878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032879|132879|989898|1|9999032879|MR|Test|E|Lead 32879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032880|132880|989898|1|9999032880|MR|Test|E|Lead 32880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032881|132881|989898|1|9999032881|MR|Test|E|Lead 32881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032882|132882|989898|1|9999032882|MR|Test|E|Lead 32882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032883|132883|989898|1|9999032883|MR|Test|E|Lead 32883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032884|132884|989898|1|9999032884|MR|Test|E|Lead 32884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032885|132885|989898|1|9999032885|MR|Test|E|Lead 32885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032886|132886|989898|1|9999032886|MR|Test|E|Lead 32886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032887|132887|989898|1|9999032887|MR|Test|E|Lead 32887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032888|132888|989898|1|9999032888|MR|Test|E|Lead 32888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032889|132889|989898|1|9999032889|MR|Test|E|Lead 32889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032890|132890|989898|1|9999032890|MR|Test|E|Lead 32890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032891|132891|989898|1|9999032891|MR|Test|E|Lead 32891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032892|132892|989898|1|9999032892|MR|Test|E|Lead 32892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032893|132893|989898|1|9999032893|MR|Test|E|Lead 32893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032894|132894|989898|1|9999032894|MR|Test|E|Lead 32894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032895|132895|989898|1|9999032895|MR|Test|E|Lead 32895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032896|132896|989898|1|9999032896|MR|Test|E|Lead 32896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032897|132897|989898|1|9999032897|MR|Test|E|Lead 32897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032898|132898|989898|1|9999032898|MR|Test|E|Lead 32898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032899|132899|989898|1|9999032899|MR|Test|E|Lead 32899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032900|132900|989898|1|9999032900|MR|Test|E|Lead 32900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032901|132901|989898|1|9999032901|MR|Test|E|Lead 32901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032902|132902|989898|1|9999032902|MR|Test|E|Lead 32902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032903|132903|989898|1|9999032903|MR|Test|E|Lead 32903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032904|132904|989898|1|9999032904|MR|Test|E|Lead 32904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032905|132905|989898|1|9999032905|MR|Test|E|Lead 32905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032906|132906|989898|1|9999032906|MR|Test|E|Lead 32906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032907|132907|989898|1|9999032907|MR|Test|E|Lead 32907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032908|132908|989898|1|9999032908|MR|Test|E|Lead 32908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032909|132909|989898|1|9999032909|MR|Test|E|Lead 32909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032910|132910|989898|1|9999032910|MR|Test|E|Lead 32910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032911|132911|989898|1|9999032911|MR|Test|E|Lead 32911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032912|132912|989898|1|9999032912|MR|Test|E|Lead 32912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032913|132913|989898|1|9999032913|MR|Test|E|Lead 32913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032914|132914|989898|1|9999032914|MR|Test|E|Lead 32914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032915|132915|989898|1|9999032915|MR|Test|E|Lead 32915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032916|132916|989898|1|9999032916|MR|Test|E|Lead 32916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032917|132917|989898|1|9999032917|MR|Test|E|Lead 32917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032918|132918|989898|1|9999032918|MR|Test|E|Lead 32918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032919|132919|989898|1|9999032919|MR|Test|E|Lead 32919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032920|132920|989898|1|9999032920|MR|Test|E|Lead 32920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032921|132921|989898|1|9999032921|MR|Test|E|Lead 32921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032922|132922|989898|1|9999032922|MR|Test|E|Lead 32922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032923|132923|989898|1|9999032923|MR|Test|E|Lead 32923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032924|132924|989898|1|9999032924|MR|Test|E|Lead 32924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032925|132925|989898|1|9999032925|MR|Test|E|Lead 32925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032926|132926|989898|1|9999032926|MR|Test|E|Lead 32926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032927|132927|989898|1|9999032927|MR|Test|E|Lead 32927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032928|132928|989898|1|9999032928|MR|Test|E|Lead 32928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032929|132929|989898|1|9999032929|MR|Test|E|Lead 32929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032930|132930|989898|1|9999032930|MR|Test|E|Lead 32930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032931|132931|989898|1|9999032931|MR|Test|E|Lead 32931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032932|132932|989898|1|9999032932|MR|Test|E|Lead 32932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032933|132933|989898|1|9999032933|MR|Test|E|Lead 32933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032934|132934|989898|1|9999032934|MR|Test|E|Lead 32934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032935|132935|989898|1|9999032935|MR|Test|E|Lead 32935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032936|132936|989898|1|9999032936|MR|Test|E|Lead 32936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032937|132937|989898|1|9999032937|MR|Test|E|Lead 32937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032938|132938|989898|1|9999032938|MR|Test|E|Lead 32938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032939|132939|989898|1|9999032939|MR|Test|E|Lead 32939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032940|132940|989898|1|9999032940|MR|Test|E|Lead 32940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032941|132941|989898|1|9999032941|MR|Test|E|Lead 32941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032942|132942|989898|1|9999032942|MR|Test|E|Lead 32942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032943|132943|989898|1|9999032943|MR|Test|E|Lead 32943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032944|132944|989898|1|9999032944|MR|Test|E|Lead 32944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032945|132945|989898|1|9999032945|MR|Test|E|Lead 32945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032946|132946|989898|1|9999032946|MR|Test|E|Lead 32946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032947|132947|989898|1|9999032947|MR|Test|E|Lead 32947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032948|132948|989898|1|9999032948|MR|Test|E|Lead 32948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032949|132949|989898|1|9999032949|MR|Test|E|Lead 32949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032950|132950|989898|1|9999032950|MR|Test|E|Lead 32950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032951|132951|989898|1|9999032951|MR|Test|E|Lead 32951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032952|132952|989898|1|9999032952|MR|Test|E|Lead 32952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032953|132953|989898|1|9999032953|MR|Test|E|Lead 32953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032954|132954|989898|1|9999032954|MR|Test|E|Lead 32954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032955|132955|989898|1|9999032955|MR|Test|E|Lead 32955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032956|132956|989898|1|9999032956|MR|Test|E|Lead 32956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032957|132957|989898|1|9999032957|MR|Test|E|Lead 32957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032958|132958|989898|1|9999032958|MR|Test|E|Lead 32958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032959|132959|989898|1|9999032959|MR|Test|E|Lead 32959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032960|132960|989898|1|9999032960|MR|Test|E|Lead 32960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032961|132961|989898|1|9999032961|MR|Test|E|Lead 32961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032962|132962|989898|1|9999032962|MR|Test|E|Lead 32962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032963|132963|989898|1|9999032963|MR|Test|E|Lead 32963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032964|132964|989898|1|9999032964|MR|Test|E|Lead 32964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032965|132965|989898|1|9999032965|MR|Test|E|Lead 32965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032966|132966|989898|1|9999032966|MR|Test|E|Lead 32966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032967|132967|989898|1|9999032967|MR|Test|E|Lead 32967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032968|132968|989898|1|9999032968|MR|Test|E|Lead 32968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032969|132969|989898|1|9999032969|MR|Test|E|Lead 32969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032970|132970|989898|1|9999032970|MR|Test|E|Lead 32970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032971|132971|989898|1|9999032971|MR|Test|E|Lead 32971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032972|132972|989898|1|9999032972|MR|Test|E|Lead 32972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032973|132973|989898|1|9999032973|MR|Test|E|Lead 32973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032974|132974|989898|1|9999032974|MR|Test|E|Lead 32974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032975|132975|989898|1|9999032975|MR|Test|E|Lead 32975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032976|132976|989898|1|9999032976|MR|Test|E|Lead 32976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032977|132977|989898|1|9999032977|MR|Test|E|Lead 32977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032978|132978|989898|1|9999032978|MR|Test|E|Lead 32978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032979|132979|989898|1|9999032979|MR|Test|E|Lead 32979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032980|132980|989898|1|9999032980|MR|Test|E|Lead 32980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032981|132981|989898|1|9999032981|MR|Test|E|Lead 32981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032982|132982|989898|1|9999032982|MR|Test|E|Lead 32982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032983|132983|989898|1|9999032983|MR|Test|E|Lead 32983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032984|132984|989898|1|9999032984|MR|Test|E|Lead 32984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032985|132985|989898|1|9999032985|MR|Test|E|Lead 32985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032986|132986|989898|1|9999032986|MR|Test|E|Lead 32986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032987|132987|989898|1|9999032987|MR|Test|E|Lead 32987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032988|132988|989898|1|9999032988|MR|Test|E|Lead 32988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032989|132989|989898|1|9999032989|MR|Test|E|Lead 32989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032990|132990|989898|1|9999032990|MR|Test|E|Lead 32990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032991|132991|989898|1|9999032991|MR|Test|E|Lead 32991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032992|132992|989898|1|9999032992|MR|Test|E|Lead 32992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032993|132993|989898|1|9999032993|MR|Test|E|Lead 32993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032994|132994|989898|1|9999032994|MR|Test|E|Lead 32994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032995|132995|989898|1|9999032995|MR|Test|E|Lead 32995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032996|132996|989898|1|9999032996|MR|Test|E|Lead 32996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032997|132997|989898|1|9999032997|MR|Test|E|Lead 32997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032998|132998|989898|1|9999032998|MR|Test|E|Lead 32998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1032999|132999|989898|1|9999032999|MR|Test|E|Lead 32999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033000|133000|989898|1|9999033000|MR|Test|E|Lead 33000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033001|133001|989898|1|9999033001|MR|Test|E|Lead 33001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033002|133002|989898|1|9999033002|MR|Test|E|Lead 33002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033003|133003|989898|1|9999033003|MR|Test|E|Lead 33003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033004|133004|989898|1|9999033004|MR|Test|E|Lead 33004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033005|133005|989898|1|9999033005|MR|Test|E|Lead 33005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033006|133006|989898|1|9999033006|MR|Test|E|Lead 33006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033007|133007|989898|1|9999033007|MR|Test|E|Lead 33007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033008|133008|989898|1|9999033008|MR|Test|E|Lead 33008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033009|133009|989898|1|9999033009|MR|Test|E|Lead 33009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033010|133010|989898|1|9999033010|MR|Test|E|Lead 33010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033011|133011|989898|1|9999033011|MR|Test|E|Lead 33011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033012|133012|989898|1|9999033012|MR|Test|E|Lead 33012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033013|133013|989898|1|9999033013|MR|Test|E|Lead 33013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033014|133014|989898|1|9999033014|MR|Test|E|Lead 33014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033015|133015|989898|1|9999033015|MR|Test|E|Lead 33015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033016|133016|989898|1|9999033016|MR|Test|E|Lead 33016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033017|133017|989898|1|9999033017|MR|Test|E|Lead 33017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033018|133018|989898|1|9999033018|MR|Test|E|Lead 33018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033019|133019|989898|1|9999033019|MR|Test|E|Lead 33019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033020|133020|989898|1|9999033020|MR|Test|E|Lead 33020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033021|133021|989898|1|9999033021|MR|Test|E|Lead 33021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033022|133022|989898|1|9999033022|MR|Test|E|Lead 33022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033023|133023|989898|1|9999033023|MR|Test|E|Lead 33023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033024|133024|989898|1|9999033024|MR|Test|E|Lead 33024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033025|133025|989898|1|9999033025|MR|Test|E|Lead 33025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033026|133026|989898|1|9999033026|MR|Test|E|Lead 33026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033027|133027|989898|1|9999033027|MR|Test|E|Lead 33027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033028|133028|989898|1|9999033028|MR|Test|E|Lead 33028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033029|133029|989898|1|9999033029|MR|Test|E|Lead 33029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033030|133030|989898|1|9999033030|MR|Test|E|Lead 33030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033031|133031|989898|1|9999033031|MR|Test|E|Lead 33031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033032|133032|989898|1|9999033032|MR|Test|E|Lead 33032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033033|133033|989898|1|9999033033|MR|Test|E|Lead 33033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033034|133034|989898|1|9999033034|MR|Test|E|Lead 33034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033035|133035|989898|1|9999033035|MR|Test|E|Lead 33035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033036|133036|989898|1|9999033036|MR|Test|E|Lead 33036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033037|133037|989898|1|9999033037|MR|Test|E|Lead 33037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033038|133038|989898|1|9999033038|MR|Test|E|Lead 33038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033039|133039|989898|1|9999033039|MR|Test|E|Lead 33039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033040|133040|989898|1|9999033040|MR|Test|E|Lead 33040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033041|133041|989898|1|9999033041|MR|Test|E|Lead 33041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033042|133042|989898|1|9999033042|MR|Test|E|Lead 33042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033043|133043|989898|1|9999033043|MR|Test|E|Lead 33043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033044|133044|989898|1|9999033044|MR|Test|E|Lead 33044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033045|133045|989898|1|9999033045|MR|Test|E|Lead 33045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033046|133046|989898|1|9999033046|MR|Test|E|Lead 33046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033047|133047|989898|1|9999033047|MR|Test|E|Lead 33047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033048|133048|989898|1|9999033048|MR|Test|E|Lead 33048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033049|133049|989898|1|9999033049|MR|Test|E|Lead 33049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033050|133050|989898|1|9999033050|MR|Test|E|Lead 33050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033051|133051|989898|1|9999033051|MR|Test|E|Lead 33051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033052|133052|989898|1|9999033052|MR|Test|E|Lead 33052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033053|133053|989898|1|9999033053|MR|Test|E|Lead 33053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033054|133054|989898|1|9999033054|MR|Test|E|Lead 33054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033055|133055|989898|1|9999033055|MR|Test|E|Lead 33055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033056|133056|989898|1|9999033056|MR|Test|E|Lead 33056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033057|133057|989898|1|9999033057|MR|Test|E|Lead 33057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033058|133058|989898|1|9999033058|MR|Test|E|Lead 33058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033059|133059|989898|1|9999033059|MR|Test|E|Lead 33059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033060|133060|989898|1|9999033060|MR|Test|E|Lead 33060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033061|133061|989898|1|9999033061|MR|Test|E|Lead 33061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033062|133062|989898|1|9999033062|MR|Test|E|Lead 33062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033063|133063|989898|1|9999033063|MR|Test|E|Lead 33063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033064|133064|989898|1|9999033064|MR|Test|E|Lead 33064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033065|133065|989898|1|9999033065|MR|Test|E|Lead 33065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033066|133066|989898|1|9999033066|MR|Test|E|Lead 33066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033067|133067|989898|1|9999033067|MR|Test|E|Lead 33067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033068|133068|989898|1|9999033068|MR|Test|E|Lead 33068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033069|133069|989898|1|9999033069|MR|Test|E|Lead 33069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033070|133070|989898|1|9999033070|MR|Test|E|Lead 33070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033071|133071|989898|1|9999033071|MR|Test|E|Lead 33071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033072|133072|989898|1|9999033072|MR|Test|E|Lead 33072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033073|133073|989898|1|9999033073|MR|Test|E|Lead 33073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033074|133074|989898|1|9999033074|MR|Test|E|Lead 33074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033075|133075|989898|1|9999033075|MR|Test|E|Lead 33075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033076|133076|989898|1|9999033076|MR|Test|E|Lead 33076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033077|133077|989898|1|9999033077|MR|Test|E|Lead 33077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033078|133078|989898|1|9999033078|MR|Test|E|Lead 33078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033079|133079|989898|1|9999033079|MR|Test|E|Lead 33079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033080|133080|989898|1|9999033080|MR|Test|E|Lead 33080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033081|133081|989898|1|9999033081|MR|Test|E|Lead 33081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033082|133082|989898|1|9999033082|MR|Test|E|Lead 33082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033083|133083|989898|1|9999033083|MR|Test|E|Lead 33083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033084|133084|989898|1|9999033084|MR|Test|E|Lead 33084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033085|133085|989898|1|9999033085|MR|Test|E|Lead 33085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033086|133086|989898|1|9999033086|MR|Test|E|Lead 33086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033087|133087|989898|1|9999033087|MR|Test|E|Lead 33087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033088|133088|989898|1|9999033088|MR|Test|E|Lead 33088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033089|133089|989898|1|9999033089|MR|Test|E|Lead 33089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033090|133090|989898|1|9999033090|MR|Test|E|Lead 33090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033091|133091|989898|1|9999033091|MR|Test|E|Lead 33091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033092|133092|989898|1|9999033092|MR|Test|E|Lead 33092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033093|133093|989898|1|9999033093|MR|Test|E|Lead 33093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033094|133094|989898|1|9999033094|MR|Test|E|Lead 33094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033095|133095|989898|1|9999033095|MR|Test|E|Lead 33095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033096|133096|989898|1|9999033096|MR|Test|E|Lead 33096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033097|133097|989898|1|9999033097|MR|Test|E|Lead 33097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033098|133098|989898|1|9999033098|MR|Test|E|Lead 33098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033099|133099|989898|1|9999033099|MR|Test|E|Lead 33099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033100|133100|989898|1|9999033100|MR|Test|E|Lead 33100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033101|133101|989898|1|9999033101|MR|Test|E|Lead 33101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033102|133102|989898|1|9999033102|MR|Test|E|Lead 33102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033103|133103|989898|1|9999033103|MR|Test|E|Lead 33103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033104|133104|989898|1|9999033104|MR|Test|E|Lead 33104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033105|133105|989898|1|9999033105|MR|Test|E|Lead 33105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033106|133106|989898|1|9999033106|MR|Test|E|Lead 33106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033107|133107|989898|1|9999033107|MR|Test|E|Lead 33107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033108|133108|989898|1|9999033108|MR|Test|E|Lead 33108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033109|133109|989898|1|9999033109|MR|Test|E|Lead 33109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033110|133110|989898|1|9999033110|MR|Test|E|Lead 33110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033111|133111|989898|1|9999033111|MR|Test|E|Lead 33111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033112|133112|989898|1|9999033112|MR|Test|E|Lead 33112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033113|133113|989898|1|9999033113|MR|Test|E|Lead 33113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033114|133114|989898|1|9999033114|MR|Test|E|Lead 33114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033115|133115|989898|1|9999033115|MR|Test|E|Lead 33115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033116|133116|989898|1|9999033116|MR|Test|E|Lead 33116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033117|133117|989898|1|9999033117|MR|Test|E|Lead 33117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033118|133118|989898|1|9999033118|MR|Test|E|Lead 33118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033119|133119|989898|1|9999033119|MR|Test|E|Lead 33119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033120|133120|989898|1|9999033120|MR|Test|E|Lead 33120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033121|133121|989898|1|9999033121|MR|Test|E|Lead 33121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033122|133122|989898|1|9999033122|MR|Test|E|Lead 33122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033123|133123|989898|1|9999033123|MR|Test|E|Lead 33123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033124|133124|989898|1|9999033124|MR|Test|E|Lead 33124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033125|133125|989898|1|9999033125|MR|Test|E|Lead 33125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033126|133126|989898|1|9999033126|MR|Test|E|Lead 33126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033127|133127|989898|1|9999033127|MR|Test|E|Lead 33127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033128|133128|989898|1|9999033128|MR|Test|E|Lead 33128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033129|133129|989898|1|9999033129|MR|Test|E|Lead 33129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033130|133130|989898|1|9999033130|MR|Test|E|Lead 33130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033131|133131|989898|1|9999033131|MR|Test|E|Lead 33131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033132|133132|989898|1|9999033132|MR|Test|E|Lead 33132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033133|133133|989898|1|9999033133|MR|Test|E|Lead 33133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033134|133134|989898|1|9999033134|MR|Test|E|Lead 33134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033135|133135|989898|1|9999033135|MR|Test|E|Lead 33135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033136|133136|989898|1|9999033136|MR|Test|E|Lead 33136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033137|133137|989898|1|9999033137|MR|Test|E|Lead 33137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033138|133138|989898|1|9999033138|MR|Test|E|Lead 33138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033139|133139|989898|1|9999033139|MR|Test|E|Lead 33139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033140|133140|989898|1|9999033140|MR|Test|E|Lead 33140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033141|133141|989898|1|9999033141|MR|Test|E|Lead 33141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033142|133142|989898|1|9999033142|MR|Test|E|Lead 33142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033143|133143|989898|1|9999033143|MR|Test|E|Lead 33143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033144|133144|989898|1|9999033144|MR|Test|E|Lead 33144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033145|133145|989898|1|9999033145|MR|Test|E|Lead 33145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033146|133146|989898|1|9999033146|MR|Test|E|Lead 33146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033147|133147|989898|1|9999033147|MR|Test|E|Lead 33147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033148|133148|989898|1|9999033148|MR|Test|E|Lead 33148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033149|133149|989898|1|9999033149|MR|Test|E|Lead 33149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033150|133150|989898|1|9999033150|MR|Test|E|Lead 33150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033151|133151|989898|1|9999033151|MR|Test|E|Lead 33151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033152|133152|989898|1|9999033152|MR|Test|E|Lead 33152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033153|133153|989898|1|9999033153|MR|Test|E|Lead 33153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033154|133154|989898|1|9999033154|MR|Test|E|Lead 33154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033155|133155|989898|1|9999033155|MR|Test|E|Lead 33155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033156|133156|989898|1|9999033156|MR|Test|E|Lead 33156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033157|133157|989898|1|9999033157|MR|Test|E|Lead 33157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033158|133158|989898|1|9999033158|MR|Test|E|Lead 33158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033159|133159|989898|1|9999033159|MR|Test|E|Lead 33159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033160|133160|989898|1|9999033160|MR|Test|E|Lead 33160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033161|133161|989898|1|9999033161|MR|Test|E|Lead 33161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033162|133162|989898|1|9999033162|MR|Test|E|Lead 33162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033163|133163|989898|1|9999033163|MR|Test|E|Lead 33163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033164|133164|989898|1|9999033164|MR|Test|E|Lead 33164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033165|133165|989898|1|9999033165|MR|Test|E|Lead 33165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033166|133166|989898|1|9999033166|MR|Test|E|Lead 33166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033167|133167|989898|1|9999033167|MR|Test|E|Lead 33167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033168|133168|989898|1|9999033168|MR|Test|E|Lead 33168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033169|133169|989898|1|9999033169|MR|Test|E|Lead 33169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033170|133170|989898|1|9999033170|MR|Test|E|Lead 33170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033171|133171|989898|1|9999033171|MR|Test|E|Lead 33171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033172|133172|989898|1|9999033172|MR|Test|E|Lead 33172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033173|133173|989898|1|9999033173|MR|Test|E|Lead 33173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033174|133174|989898|1|9999033174|MR|Test|E|Lead 33174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033175|133175|989898|1|9999033175|MR|Test|E|Lead 33175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033176|133176|989898|1|9999033176|MR|Test|E|Lead 33176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033177|133177|989898|1|9999033177|MR|Test|E|Lead 33177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033178|133178|989898|1|9999033178|MR|Test|E|Lead 33178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033179|133179|989898|1|9999033179|MR|Test|E|Lead 33179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033180|133180|989898|1|9999033180|MR|Test|E|Lead 33180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033181|133181|989898|1|9999033181|MR|Test|E|Lead 33181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033182|133182|989898|1|9999033182|MR|Test|E|Lead 33182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033183|133183|989898|1|9999033183|MR|Test|E|Lead 33183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033184|133184|989898|1|9999033184|MR|Test|E|Lead 33184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033185|133185|989898|1|9999033185|MR|Test|E|Lead 33185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033186|133186|989898|1|9999033186|MR|Test|E|Lead 33186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033187|133187|989898|1|9999033187|MR|Test|E|Lead 33187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033188|133188|989898|1|9999033188|MR|Test|E|Lead 33188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033189|133189|989898|1|9999033189|MR|Test|E|Lead 33189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033190|133190|989898|1|9999033190|MR|Test|E|Lead 33190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033191|133191|989898|1|9999033191|MR|Test|E|Lead 33191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033192|133192|989898|1|9999033192|MR|Test|E|Lead 33192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033193|133193|989898|1|9999033193|MR|Test|E|Lead 33193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033194|133194|989898|1|9999033194|MR|Test|E|Lead 33194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033195|133195|989898|1|9999033195|MR|Test|E|Lead 33195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033196|133196|989898|1|9999033196|MR|Test|E|Lead 33196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033197|133197|989898|1|9999033197|MR|Test|E|Lead 33197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033198|133198|989898|1|9999033198|MR|Test|E|Lead 33198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033199|133199|989898|1|9999033199|MR|Test|E|Lead 33199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033200|133200|989898|1|9999033200|MR|Test|E|Lead 33200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033201|133201|989898|1|9999033201|MR|Test|E|Lead 33201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033202|133202|989898|1|9999033202|MR|Test|E|Lead 33202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033203|133203|989898|1|9999033203|MR|Test|E|Lead 33203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033204|133204|989898|1|9999033204|MR|Test|E|Lead 33204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033205|133205|989898|1|9999033205|MR|Test|E|Lead 33205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033206|133206|989898|1|9999033206|MR|Test|E|Lead 33206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033207|133207|989898|1|9999033207|MR|Test|E|Lead 33207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033208|133208|989898|1|9999033208|MR|Test|E|Lead 33208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033209|133209|989898|1|9999033209|MR|Test|E|Lead 33209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033210|133210|989898|1|9999033210|MR|Test|E|Lead 33210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033211|133211|989898|1|9999033211|MR|Test|E|Lead 33211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033212|133212|989898|1|9999033212|MR|Test|E|Lead 33212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033213|133213|989898|1|9999033213|MR|Test|E|Lead 33213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033214|133214|989898|1|9999033214|MR|Test|E|Lead 33214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033215|133215|989898|1|9999033215|MR|Test|E|Lead 33215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033216|133216|989898|1|9999033216|MR|Test|E|Lead 33216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033217|133217|989898|1|9999033217|MR|Test|E|Lead 33217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033218|133218|989898|1|9999033218|MR|Test|E|Lead 33218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033219|133219|989898|1|9999033219|MR|Test|E|Lead 33219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033220|133220|989898|1|9999033220|MR|Test|E|Lead 33220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033221|133221|989898|1|9999033221|MR|Test|E|Lead 33221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033222|133222|989898|1|9999033222|MR|Test|E|Lead 33222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033223|133223|989898|1|9999033223|MR|Test|E|Lead 33223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033224|133224|989898|1|9999033224|MR|Test|E|Lead 33224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033225|133225|989898|1|9999033225|MR|Test|E|Lead 33225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033226|133226|989898|1|9999033226|MR|Test|E|Lead 33226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033227|133227|989898|1|9999033227|MR|Test|E|Lead 33227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033228|133228|989898|1|9999033228|MR|Test|E|Lead 33228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033229|133229|989898|1|9999033229|MR|Test|E|Lead 33229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033230|133230|989898|1|9999033230|MR|Test|E|Lead 33230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033231|133231|989898|1|9999033231|MR|Test|E|Lead 33231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033232|133232|989898|1|9999033232|MR|Test|E|Lead 33232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033233|133233|989898|1|9999033233|MR|Test|E|Lead 33233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033234|133234|989898|1|9999033234|MR|Test|E|Lead 33234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033235|133235|989898|1|9999033235|MR|Test|E|Lead 33235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033236|133236|989898|1|9999033236|MR|Test|E|Lead 33236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033237|133237|989898|1|9999033237|MR|Test|E|Lead 33237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033238|133238|989898|1|9999033238|MR|Test|E|Lead 33238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033239|133239|989898|1|9999033239|MR|Test|E|Lead 33239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033240|133240|989898|1|9999033240|MR|Test|E|Lead 33240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033241|133241|989898|1|9999033241|MR|Test|E|Lead 33241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033242|133242|989898|1|9999033242|MR|Test|E|Lead 33242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033243|133243|989898|1|9999033243|MR|Test|E|Lead 33243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033244|133244|989898|1|9999033244|MR|Test|E|Lead 33244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033245|133245|989898|1|9999033245|MR|Test|E|Lead 33245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033246|133246|989898|1|9999033246|MR|Test|E|Lead 33246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033247|133247|989898|1|9999033247|MR|Test|E|Lead 33247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033248|133248|989898|1|9999033248|MR|Test|E|Lead 33248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033249|133249|989898|1|9999033249|MR|Test|E|Lead 33249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033250|133250|989898|1|9999033250|MR|Test|E|Lead 33250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033251|133251|989898|1|9999033251|MR|Test|E|Lead 33251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033252|133252|989898|1|9999033252|MR|Test|E|Lead 33252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033253|133253|989898|1|9999033253|MR|Test|E|Lead 33253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033254|133254|989898|1|9999033254|MR|Test|E|Lead 33254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033255|133255|989898|1|9999033255|MR|Test|E|Lead 33255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033256|133256|989898|1|9999033256|MR|Test|E|Lead 33256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033257|133257|989898|1|9999033257|MR|Test|E|Lead 33257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033258|133258|989898|1|9999033258|MR|Test|E|Lead 33258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033259|133259|989898|1|9999033259|MR|Test|E|Lead 33259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033260|133260|989898|1|9999033260|MR|Test|E|Lead 33260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033261|133261|989898|1|9999033261|MR|Test|E|Lead 33261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033262|133262|989898|1|9999033262|MR|Test|E|Lead 33262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033263|133263|989898|1|9999033263|MR|Test|E|Lead 33263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033264|133264|989898|1|9999033264|MR|Test|E|Lead 33264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033265|133265|989898|1|9999033265|MR|Test|E|Lead 33265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033266|133266|989898|1|9999033266|MR|Test|E|Lead 33266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033267|133267|989898|1|9999033267|MR|Test|E|Lead 33267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033268|133268|989898|1|9999033268|MR|Test|E|Lead 33268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033269|133269|989898|1|9999033269|MR|Test|E|Lead 33269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033270|133270|989898|1|9999033270|MR|Test|E|Lead 33270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033271|133271|989898|1|9999033271|MR|Test|E|Lead 33271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033272|133272|989898|1|9999033272|MR|Test|E|Lead 33272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033273|133273|989898|1|9999033273|MR|Test|E|Lead 33273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033274|133274|989898|1|9999033274|MR|Test|E|Lead 33274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033275|133275|989898|1|9999033275|MR|Test|E|Lead 33275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033276|133276|989898|1|9999033276|MR|Test|E|Lead 33276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033277|133277|989898|1|9999033277|MR|Test|E|Lead 33277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033278|133278|989898|1|9999033278|MR|Test|E|Lead 33278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033279|133279|989898|1|9999033279|MR|Test|E|Lead 33279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033280|133280|989898|1|9999033280|MR|Test|E|Lead 33280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033281|133281|989898|1|9999033281|MR|Test|E|Lead 33281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033282|133282|989898|1|9999033282|MR|Test|E|Lead 33282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033283|133283|989898|1|9999033283|MR|Test|E|Lead 33283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033284|133284|989898|1|9999033284|MR|Test|E|Lead 33284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033285|133285|989898|1|9999033285|MR|Test|E|Lead 33285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033286|133286|989898|1|9999033286|MR|Test|E|Lead 33286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033287|133287|989898|1|9999033287|MR|Test|E|Lead 33287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033288|133288|989898|1|9999033288|MR|Test|E|Lead 33288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033289|133289|989898|1|9999033289|MR|Test|E|Lead 33289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033290|133290|989898|1|9999033290|MR|Test|E|Lead 33290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033291|133291|989898|1|9999033291|MR|Test|E|Lead 33291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033292|133292|989898|1|9999033292|MR|Test|E|Lead 33292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033293|133293|989898|1|9999033293|MR|Test|E|Lead 33293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033294|133294|989898|1|9999033294|MR|Test|E|Lead 33294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033295|133295|989898|1|9999033295|MR|Test|E|Lead 33295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033296|133296|989898|1|9999033296|MR|Test|E|Lead 33296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033297|133297|989898|1|9999033297|MR|Test|E|Lead 33297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033298|133298|989898|1|9999033298|MR|Test|E|Lead 33298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033299|133299|989898|1|9999033299|MR|Test|E|Lead 33299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033300|133300|989898|1|9999033300|MR|Test|E|Lead 33300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033301|133301|989898|1|9999033301|MR|Test|E|Lead 33301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033302|133302|989898|1|9999033302|MR|Test|E|Lead 33302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033303|133303|989898|1|9999033303|MR|Test|E|Lead 33303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033304|133304|989898|1|9999033304|MR|Test|E|Lead 33304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033305|133305|989898|1|9999033305|MR|Test|E|Lead 33305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033306|133306|989898|1|9999033306|MR|Test|E|Lead 33306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033307|133307|989898|1|9999033307|MR|Test|E|Lead 33307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033308|133308|989898|1|9999033308|MR|Test|E|Lead 33308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033309|133309|989898|1|9999033309|MR|Test|E|Lead 33309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033310|133310|989898|1|9999033310|MR|Test|E|Lead 33310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033311|133311|989898|1|9999033311|MR|Test|E|Lead 33311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033312|133312|989898|1|9999033312|MR|Test|E|Lead 33312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033313|133313|989898|1|9999033313|MR|Test|E|Lead 33313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033314|133314|989898|1|9999033314|MR|Test|E|Lead 33314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033315|133315|989898|1|9999033315|MR|Test|E|Lead 33315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033316|133316|989898|1|9999033316|MR|Test|E|Lead 33316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033317|133317|989898|1|9999033317|MR|Test|E|Lead 33317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033318|133318|989898|1|9999033318|MR|Test|E|Lead 33318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033319|133319|989898|1|9999033319|MR|Test|E|Lead 33319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033320|133320|989898|1|9999033320|MR|Test|E|Lead 33320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033321|133321|989898|1|9999033321|MR|Test|E|Lead 33321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033322|133322|989898|1|9999033322|MR|Test|E|Lead 33322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033323|133323|989898|1|9999033323|MR|Test|E|Lead 33323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033324|133324|989898|1|9999033324|MR|Test|E|Lead 33324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033325|133325|989898|1|9999033325|MR|Test|E|Lead 33325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033326|133326|989898|1|9999033326|MR|Test|E|Lead 33326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033327|133327|989898|1|9999033327|MR|Test|E|Lead 33327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033328|133328|989898|1|9999033328|MR|Test|E|Lead 33328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033329|133329|989898|1|9999033329|MR|Test|E|Lead 33329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033330|133330|989898|1|9999033330|MR|Test|E|Lead 33330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033331|133331|989898|1|9999033331|MR|Test|E|Lead 33331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033332|133332|989898|1|9999033332|MR|Test|E|Lead 33332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033333|133333|989898|1|9999033333|MR|Test|E|Lead 33333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033334|133334|989898|1|9999033334|MR|Test|E|Lead 33334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033335|133335|989898|1|9999033335|MR|Test|E|Lead 33335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033336|133336|989898|1|9999033336|MR|Test|E|Lead 33336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033337|133337|989898|1|9999033337|MR|Test|E|Lead 33337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033338|133338|989898|1|9999033338|MR|Test|E|Lead 33338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033339|133339|989898|1|9999033339|MR|Test|E|Lead 33339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033340|133340|989898|1|9999033340|MR|Test|E|Lead 33340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033341|133341|989898|1|9999033341|MR|Test|E|Lead 33341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033342|133342|989898|1|9999033342|MR|Test|E|Lead 33342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033343|133343|989898|1|9999033343|MR|Test|E|Lead 33343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033344|133344|989898|1|9999033344|MR|Test|E|Lead 33344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033345|133345|989898|1|9999033345|MR|Test|E|Lead 33345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033346|133346|989898|1|9999033346|MR|Test|E|Lead 33346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033347|133347|989898|1|9999033347|MR|Test|E|Lead 33347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033348|133348|989898|1|9999033348|MR|Test|E|Lead 33348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033349|133349|989898|1|9999033349|MR|Test|E|Lead 33349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033350|133350|989898|1|9999033350|MR|Test|E|Lead 33350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033351|133351|989898|1|9999033351|MR|Test|E|Lead 33351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033352|133352|989898|1|9999033352|MR|Test|E|Lead 33352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033353|133353|989898|1|9999033353|MR|Test|E|Lead 33353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033354|133354|989898|1|9999033354|MR|Test|E|Lead 33354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033355|133355|989898|1|9999033355|MR|Test|E|Lead 33355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033356|133356|989898|1|9999033356|MR|Test|E|Lead 33356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033357|133357|989898|1|9999033357|MR|Test|E|Lead 33357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033358|133358|989898|1|9999033358|MR|Test|E|Lead 33358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033359|133359|989898|1|9999033359|MR|Test|E|Lead 33359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033360|133360|989898|1|9999033360|MR|Test|E|Lead 33360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033361|133361|989898|1|9999033361|MR|Test|E|Lead 33361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033362|133362|989898|1|9999033362|MR|Test|E|Lead 33362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033363|133363|989898|1|9999033363|MR|Test|E|Lead 33363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033364|133364|989898|1|9999033364|MR|Test|E|Lead 33364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033365|133365|989898|1|9999033365|MR|Test|E|Lead 33365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033366|133366|989898|1|9999033366|MR|Test|E|Lead 33366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033367|133367|989898|1|9999033367|MR|Test|E|Lead 33367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033368|133368|989898|1|9999033368|MR|Test|E|Lead 33368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033369|133369|989898|1|9999033369|MR|Test|E|Lead 33369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033370|133370|989898|1|9999033370|MR|Test|E|Lead 33370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033371|133371|989898|1|9999033371|MR|Test|E|Lead 33371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033372|133372|989898|1|9999033372|MR|Test|E|Lead 33372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033373|133373|989898|1|9999033373|MR|Test|E|Lead 33373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033374|133374|989898|1|9999033374|MR|Test|E|Lead 33374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033375|133375|989898|1|9999033375|MR|Test|E|Lead 33375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033376|133376|989898|1|9999033376|MR|Test|E|Lead 33376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033377|133377|989898|1|9999033377|MR|Test|E|Lead 33377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033378|133378|989898|1|9999033378|MR|Test|E|Lead 33378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033379|133379|989898|1|9999033379|MR|Test|E|Lead 33379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033380|133380|989898|1|9999033380|MR|Test|E|Lead 33380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033381|133381|989898|1|9999033381|MR|Test|E|Lead 33381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033382|133382|989898|1|9999033382|MR|Test|E|Lead 33382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033383|133383|989898|1|9999033383|MR|Test|E|Lead 33383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033384|133384|989898|1|9999033384|MR|Test|E|Lead 33384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033385|133385|989898|1|9999033385|MR|Test|E|Lead 33385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033386|133386|989898|1|9999033386|MR|Test|E|Lead 33386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033387|133387|989898|1|9999033387|MR|Test|E|Lead 33387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033388|133388|989898|1|9999033388|MR|Test|E|Lead 33388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033389|133389|989898|1|9999033389|MR|Test|E|Lead 33389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033390|133390|989898|1|9999033390|MR|Test|E|Lead 33390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033391|133391|989898|1|9999033391|MR|Test|E|Lead 33391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033392|133392|989898|1|9999033392|MR|Test|E|Lead 33392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033393|133393|989898|1|9999033393|MR|Test|E|Lead 33393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033394|133394|989898|1|9999033394|MR|Test|E|Lead 33394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033395|133395|989898|1|9999033395|MR|Test|E|Lead 33395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033396|133396|989898|1|9999033396|MR|Test|E|Lead 33396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033397|133397|989898|1|9999033397|MR|Test|E|Lead 33397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033398|133398|989898|1|9999033398|MR|Test|E|Lead 33398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033399|133399|989898|1|9999033399|MR|Test|E|Lead 33399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033400|133400|989898|1|9999033400|MR|Test|E|Lead 33400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033401|133401|989898|1|9999033401|MR|Test|E|Lead 33401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033402|133402|989898|1|9999033402|MR|Test|E|Lead 33402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033403|133403|989898|1|9999033403|MR|Test|E|Lead 33403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033404|133404|989898|1|9999033404|MR|Test|E|Lead 33404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033405|133405|989898|1|9999033405|MR|Test|E|Lead 33405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033406|133406|989898|1|9999033406|MR|Test|E|Lead 33406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033407|133407|989898|1|9999033407|MR|Test|E|Lead 33407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033408|133408|989898|1|9999033408|MR|Test|E|Lead 33408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033409|133409|989898|1|9999033409|MR|Test|E|Lead 33409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033410|133410|989898|1|9999033410|MR|Test|E|Lead 33410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033411|133411|989898|1|9999033411|MR|Test|E|Lead 33411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033412|133412|989898|1|9999033412|MR|Test|E|Lead 33412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033413|133413|989898|1|9999033413|MR|Test|E|Lead 33413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033414|133414|989898|1|9999033414|MR|Test|E|Lead 33414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033415|133415|989898|1|9999033415|MR|Test|E|Lead 33415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033416|133416|989898|1|9999033416|MR|Test|E|Lead 33416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033417|133417|989898|1|9999033417|MR|Test|E|Lead 33417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033418|133418|989898|1|9999033418|MR|Test|E|Lead 33418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033419|133419|989898|1|9999033419|MR|Test|E|Lead 33419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033420|133420|989898|1|9999033420|MR|Test|E|Lead 33420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033421|133421|989898|1|9999033421|MR|Test|E|Lead 33421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033422|133422|989898|1|9999033422|MR|Test|E|Lead 33422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033423|133423|989898|1|9999033423|MR|Test|E|Lead 33423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033424|133424|989898|1|9999033424|MR|Test|E|Lead 33424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033425|133425|989898|1|9999033425|MR|Test|E|Lead 33425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033426|133426|989898|1|9999033426|MR|Test|E|Lead 33426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033427|133427|989898|1|9999033427|MR|Test|E|Lead 33427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033428|133428|989898|1|9999033428|MR|Test|E|Lead 33428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033429|133429|989898|1|9999033429|MR|Test|E|Lead 33429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033430|133430|989898|1|9999033430|MR|Test|E|Lead 33430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033431|133431|989898|1|9999033431|MR|Test|E|Lead 33431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033432|133432|989898|1|9999033432|MR|Test|E|Lead 33432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033433|133433|989898|1|9999033433|MR|Test|E|Lead 33433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033434|133434|989898|1|9999033434|MR|Test|E|Lead 33434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033435|133435|989898|1|9999033435|MR|Test|E|Lead 33435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033436|133436|989898|1|9999033436|MR|Test|E|Lead 33436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033437|133437|989898|1|9999033437|MR|Test|E|Lead 33437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033438|133438|989898|1|9999033438|MR|Test|E|Lead 33438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033439|133439|989898|1|9999033439|MR|Test|E|Lead 33439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033440|133440|989898|1|9999033440|MR|Test|E|Lead 33440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033441|133441|989898|1|9999033441|MR|Test|E|Lead 33441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033442|133442|989898|1|9999033442|MR|Test|E|Lead 33442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033443|133443|989898|1|9999033443|MR|Test|E|Lead 33443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033444|133444|989898|1|9999033444|MR|Test|E|Lead 33444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033445|133445|989898|1|9999033445|MR|Test|E|Lead 33445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033446|133446|989898|1|9999033446|MR|Test|E|Lead 33446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033447|133447|989898|1|9999033447|MR|Test|E|Lead 33447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033448|133448|989898|1|9999033448|MR|Test|E|Lead 33448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033449|133449|989898|1|9999033449|MR|Test|E|Lead 33449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033450|133450|989898|1|9999033450|MR|Test|E|Lead 33450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033451|133451|989898|1|9999033451|MR|Test|E|Lead 33451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033452|133452|989898|1|9999033452|MR|Test|E|Lead 33452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033453|133453|989898|1|9999033453|MR|Test|E|Lead 33453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033454|133454|989898|1|9999033454|MR|Test|E|Lead 33454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033455|133455|989898|1|9999033455|MR|Test|E|Lead 33455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033456|133456|989898|1|9999033456|MR|Test|E|Lead 33456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033457|133457|989898|1|9999033457|MR|Test|E|Lead 33457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033458|133458|989898|1|9999033458|MR|Test|E|Lead 33458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033459|133459|989898|1|9999033459|MR|Test|E|Lead 33459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033460|133460|989898|1|9999033460|MR|Test|E|Lead 33460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033461|133461|989898|1|9999033461|MR|Test|E|Lead 33461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033462|133462|989898|1|9999033462|MR|Test|E|Lead 33462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033463|133463|989898|1|9999033463|MR|Test|E|Lead 33463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033464|133464|989898|1|9999033464|MR|Test|E|Lead 33464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033465|133465|989898|1|9999033465|MR|Test|E|Lead 33465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033466|133466|989898|1|9999033466|MR|Test|E|Lead 33466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033467|133467|989898|1|9999033467|MR|Test|E|Lead 33467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033468|133468|989898|1|9999033468|MR|Test|E|Lead 33468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033469|133469|989898|1|9999033469|MR|Test|E|Lead 33469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033470|133470|989898|1|9999033470|MR|Test|E|Lead 33470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033471|133471|989898|1|9999033471|MR|Test|E|Lead 33471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033472|133472|989898|1|9999033472|MR|Test|E|Lead 33472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033473|133473|989898|1|9999033473|MR|Test|E|Lead 33473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033474|133474|989898|1|9999033474|MR|Test|E|Lead 33474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033475|133475|989898|1|9999033475|MR|Test|E|Lead 33475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033476|133476|989898|1|9999033476|MR|Test|E|Lead 33476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033477|133477|989898|1|9999033477|MR|Test|E|Lead 33477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033478|133478|989898|1|9999033478|MR|Test|E|Lead 33478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033479|133479|989898|1|9999033479|MR|Test|E|Lead 33479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033480|133480|989898|1|9999033480|MR|Test|E|Lead 33480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033481|133481|989898|1|9999033481|MR|Test|E|Lead 33481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033482|133482|989898|1|9999033482|MR|Test|E|Lead 33482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033483|133483|989898|1|9999033483|MR|Test|E|Lead 33483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033484|133484|989898|1|9999033484|MR|Test|E|Lead 33484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033485|133485|989898|1|9999033485|MR|Test|E|Lead 33485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033486|133486|989898|1|9999033486|MR|Test|E|Lead 33486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033487|133487|989898|1|9999033487|MR|Test|E|Lead 33487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033488|133488|989898|1|9999033488|MR|Test|E|Lead 33488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033489|133489|989898|1|9999033489|MR|Test|E|Lead 33489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033490|133490|989898|1|9999033490|MR|Test|E|Lead 33490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033491|133491|989898|1|9999033491|MR|Test|E|Lead 33491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033492|133492|989898|1|9999033492|MR|Test|E|Lead 33492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033493|133493|989898|1|9999033493|MR|Test|E|Lead 33493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033494|133494|989898|1|9999033494|MR|Test|E|Lead 33494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033495|133495|989898|1|9999033495|MR|Test|E|Lead 33495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033496|133496|989898|1|9999033496|MR|Test|E|Lead 33496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033497|133497|989898|1|9999033497|MR|Test|E|Lead 33497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033498|133498|989898|1|9999033498|MR|Test|E|Lead 33498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033499|133499|989898|1|9999033499|MR|Test|E|Lead 33499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033500|133500|989898|1|9999033500|MR|Test|E|Lead 33500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033501|133501|989898|1|9999033501|MR|Test|E|Lead 33501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033502|133502|989898|1|9999033502|MR|Test|E|Lead 33502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033503|133503|989898|1|9999033503|MR|Test|E|Lead 33503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033504|133504|989898|1|9999033504|MR|Test|E|Lead 33504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033505|133505|989898|1|9999033505|MR|Test|E|Lead 33505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033506|133506|989898|1|9999033506|MR|Test|E|Lead 33506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033507|133507|989898|1|9999033507|MR|Test|E|Lead 33507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033508|133508|989898|1|9999033508|MR|Test|E|Lead 33508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033509|133509|989898|1|9999033509|MR|Test|E|Lead 33509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033510|133510|989898|1|9999033510|MR|Test|E|Lead 33510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033511|133511|989898|1|9999033511|MR|Test|E|Lead 33511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033512|133512|989898|1|9999033512|MR|Test|E|Lead 33512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033513|133513|989898|1|9999033513|MR|Test|E|Lead 33513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033514|133514|989898|1|9999033514|MR|Test|E|Lead 33514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033515|133515|989898|1|9999033515|MR|Test|E|Lead 33515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033516|133516|989898|1|9999033516|MR|Test|E|Lead 33516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033517|133517|989898|1|9999033517|MR|Test|E|Lead 33517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033518|133518|989898|1|9999033518|MR|Test|E|Lead 33518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033519|133519|989898|1|9999033519|MR|Test|E|Lead 33519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033520|133520|989898|1|9999033520|MR|Test|E|Lead 33520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033521|133521|989898|1|9999033521|MR|Test|E|Lead 33521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033522|133522|989898|1|9999033522|MR|Test|E|Lead 33522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033523|133523|989898|1|9999033523|MR|Test|E|Lead 33523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033524|133524|989898|1|9999033524|MR|Test|E|Lead 33524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033525|133525|989898|1|9999033525|MR|Test|E|Lead 33525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033526|133526|989898|1|9999033526|MR|Test|E|Lead 33526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033527|133527|989898|1|9999033527|MR|Test|E|Lead 33527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033528|133528|989898|1|9999033528|MR|Test|E|Lead 33528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033529|133529|989898|1|9999033529|MR|Test|E|Lead 33529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033530|133530|989898|1|9999033530|MR|Test|E|Lead 33530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033531|133531|989898|1|9999033531|MR|Test|E|Lead 33531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033532|133532|989898|1|9999033532|MR|Test|E|Lead 33532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033533|133533|989898|1|9999033533|MR|Test|E|Lead 33533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033534|133534|989898|1|9999033534|MR|Test|E|Lead 33534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033535|133535|989898|1|9999033535|MR|Test|E|Lead 33535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033536|133536|989898|1|9999033536|MR|Test|E|Lead 33536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033537|133537|989898|1|9999033537|MR|Test|E|Lead 33537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033538|133538|989898|1|9999033538|MR|Test|E|Lead 33538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033539|133539|989898|1|9999033539|MR|Test|E|Lead 33539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033540|133540|989898|1|9999033540|MR|Test|E|Lead 33540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033541|133541|989898|1|9999033541|MR|Test|E|Lead 33541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033542|133542|989898|1|9999033542|MR|Test|E|Lead 33542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033543|133543|989898|1|9999033543|MR|Test|E|Lead 33543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033544|133544|989898|1|9999033544|MR|Test|E|Lead 33544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033545|133545|989898|1|9999033545|MR|Test|E|Lead 33545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033546|133546|989898|1|9999033546|MR|Test|E|Lead 33546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033547|133547|989898|1|9999033547|MR|Test|E|Lead 33547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033548|133548|989898|1|9999033548|MR|Test|E|Lead 33548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033549|133549|989898|1|9999033549|MR|Test|E|Lead 33549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033550|133550|989898|1|9999033550|MR|Test|E|Lead 33550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033551|133551|989898|1|9999033551|MR|Test|E|Lead 33551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033552|133552|989898|1|9999033552|MR|Test|E|Lead 33552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033553|133553|989898|1|9999033553|MR|Test|E|Lead 33553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033554|133554|989898|1|9999033554|MR|Test|E|Lead 33554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033555|133555|989898|1|9999033555|MR|Test|E|Lead 33555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033556|133556|989898|1|9999033556|MR|Test|E|Lead 33556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033557|133557|989898|1|9999033557|MR|Test|E|Lead 33557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033558|133558|989898|1|9999033558|MR|Test|E|Lead 33558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033559|133559|989898|1|9999033559|MR|Test|E|Lead 33559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033560|133560|989898|1|9999033560|MR|Test|E|Lead 33560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033561|133561|989898|1|9999033561|MR|Test|E|Lead 33561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033562|133562|989898|1|9999033562|MR|Test|E|Lead 33562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033563|133563|989898|1|9999033563|MR|Test|E|Lead 33563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033564|133564|989898|1|9999033564|MR|Test|E|Lead 33564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033565|133565|989898|1|9999033565|MR|Test|E|Lead 33565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033566|133566|989898|1|9999033566|MR|Test|E|Lead 33566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033567|133567|989898|1|9999033567|MR|Test|E|Lead 33567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033568|133568|989898|1|9999033568|MR|Test|E|Lead 33568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033569|133569|989898|1|9999033569|MR|Test|E|Lead 33569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033570|133570|989898|1|9999033570|MR|Test|E|Lead 33570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033571|133571|989898|1|9999033571|MR|Test|E|Lead 33571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033572|133572|989898|1|9999033572|MR|Test|E|Lead 33572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033573|133573|989898|1|9999033573|MR|Test|E|Lead 33573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033574|133574|989898|1|9999033574|MR|Test|E|Lead 33574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033575|133575|989898|1|9999033575|MR|Test|E|Lead 33575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033576|133576|989898|1|9999033576|MR|Test|E|Lead 33576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033577|133577|989898|1|9999033577|MR|Test|E|Lead 33577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033578|133578|989898|1|9999033578|MR|Test|E|Lead 33578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033579|133579|989898|1|9999033579|MR|Test|E|Lead 33579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033580|133580|989898|1|9999033580|MR|Test|E|Lead 33580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033581|133581|989898|1|9999033581|MR|Test|E|Lead 33581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033582|133582|989898|1|9999033582|MR|Test|E|Lead 33582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033583|133583|989898|1|9999033583|MR|Test|E|Lead 33583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033584|133584|989898|1|9999033584|MR|Test|E|Lead 33584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033585|133585|989898|1|9999033585|MR|Test|E|Lead 33585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033586|133586|989898|1|9999033586|MR|Test|E|Lead 33586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033587|133587|989898|1|9999033587|MR|Test|E|Lead 33587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033588|133588|989898|1|9999033588|MR|Test|E|Lead 33588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033589|133589|989898|1|9999033589|MR|Test|E|Lead 33589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033590|133590|989898|1|9999033590|MR|Test|E|Lead 33590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033591|133591|989898|1|9999033591|MR|Test|E|Lead 33591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033592|133592|989898|1|9999033592|MR|Test|E|Lead 33592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033593|133593|989898|1|9999033593|MR|Test|E|Lead 33593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033594|133594|989898|1|9999033594|MR|Test|E|Lead 33594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033595|133595|989898|1|9999033595|MR|Test|E|Lead 33595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033596|133596|989898|1|9999033596|MR|Test|E|Lead 33596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033597|133597|989898|1|9999033597|MR|Test|E|Lead 33597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033598|133598|989898|1|9999033598|MR|Test|E|Lead 33598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033599|133599|989898|1|9999033599|MR|Test|E|Lead 33599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033600|133600|989898|1|9999033600|MR|Test|E|Lead 33600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033601|133601|989898|1|9999033601|MR|Test|E|Lead 33601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033602|133602|989898|1|9999033602|MR|Test|E|Lead 33602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033603|133603|989898|1|9999033603|MR|Test|E|Lead 33603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033604|133604|989898|1|9999033604|MR|Test|E|Lead 33604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033605|133605|989898|1|9999033605|MR|Test|E|Lead 33605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033606|133606|989898|1|9999033606|MR|Test|E|Lead 33606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033607|133607|989898|1|9999033607|MR|Test|E|Lead 33607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033608|133608|989898|1|9999033608|MR|Test|E|Lead 33608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033609|133609|989898|1|9999033609|MR|Test|E|Lead 33609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033610|133610|989898|1|9999033610|MR|Test|E|Lead 33610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033611|133611|989898|1|9999033611|MR|Test|E|Lead 33611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033612|133612|989898|1|9999033612|MR|Test|E|Lead 33612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033613|133613|989898|1|9999033613|MR|Test|E|Lead 33613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033614|133614|989898|1|9999033614|MR|Test|E|Lead 33614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033615|133615|989898|1|9999033615|MR|Test|E|Lead 33615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033616|133616|989898|1|9999033616|MR|Test|E|Lead 33616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033617|133617|989898|1|9999033617|MR|Test|E|Lead 33617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033618|133618|989898|1|9999033618|MR|Test|E|Lead 33618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033619|133619|989898|1|9999033619|MR|Test|E|Lead 33619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033620|133620|989898|1|9999033620|MR|Test|E|Lead 33620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033621|133621|989898|1|9999033621|MR|Test|E|Lead 33621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033622|133622|989898|1|9999033622|MR|Test|E|Lead 33622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033623|133623|989898|1|9999033623|MR|Test|E|Lead 33623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033624|133624|989898|1|9999033624|MR|Test|E|Lead 33624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033625|133625|989898|1|9999033625|MR|Test|E|Lead 33625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033626|133626|989898|1|9999033626|MR|Test|E|Lead 33626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033627|133627|989898|1|9999033627|MR|Test|E|Lead 33627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033628|133628|989898|1|9999033628|MR|Test|E|Lead 33628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033629|133629|989898|1|9999033629|MR|Test|E|Lead 33629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033630|133630|989898|1|9999033630|MR|Test|E|Lead 33630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033631|133631|989898|1|9999033631|MR|Test|E|Lead 33631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033632|133632|989898|1|9999033632|MR|Test|E|Lead 33632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033633|133633|989898|1|9999033633|MR|Test|E|Lead 33633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033634|133634|989898|1|9999033634|MR|Test|E|Lead 33634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033635|133635|989898|1|9999033635|MR|Test|E|Lead 33635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033636|133636|989898|1|9999033636|MR|Test|E|Lead 33636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033637|133637|989898|1|9999033637|MR|Test|E|Lead 33637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033638|133638|989898|1|9999033638|MR|Test|E|Lead 33638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033639|133639|989898|1|9999033639|MR|Test|E|Lead 33639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033640|133640|989898|1|9999033640|MR|Test|E|Lead 33640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033641|133641|989898|1|9999033641|MR|Test|E|Lead 33641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033642|133642|989898|1|9999033642|MR|Test|E|Lead 33642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033643|133643|989898|1|9999033643|MR|Test|E|Lead 33643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033644|133644|989898|1|9999033644|MR|Test|E|Lead 33644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033645|133645|989898|1|9999033645|MR|Test|E|Lead 33645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033646|133646|989898|1|9999033646|MR|Test|E|Lead 33646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033647|133647|989898|1|9999033647|MR|Test|E|Lead 33647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033648|133648|989898|1|9999033648|MR|Test|E|Lead 33648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033649|133649|989898|1|9999033649|MR|Test|E|Lead 33649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033650|133650|989898|1|9999033650|MR|Test|E|Lead 33650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033651|133651|989898|1|9999033651|MR|Test|E|Lead 33651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033652|133652|989898|1|9999033652|MR|Test|E|Lead 33652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033653|133653|989898|1|9999033653|MR|Test|E|Lead 33653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033654|133654|989898|1|9999033654|MR|Test|E|Lead 33654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033655|133655|989898|1|9999033655|MR|Test|E|Lead 33655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033656|133656|989898|1|9999033656|MR|Test|E|Lead 33656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033657|133657|989898|1|9999033657|MR|Test|E|Lead 33657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033658|133658|989898|1|9999033658|MR|Test|E|Lead 33658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033659|133659|989898|1|9999033659|MR|Test|E|Lead 33659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033660|133660|989898|1|9999033660|MR|Test|E|Lead 33660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033661|133661|989898|1|9999033661|MR|Test|E|Lead 33661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033662|133662|989898|1|9999033662|MR|Test|E|Lead 33662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033663|133663|989898|1|9999033663|MR|Test|E|Lead 33663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033664|133664|989898|1|9999033664|MR|Test|E|Lead 33664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033665|133665|989898|1|9999033665|MR|Test|E|Lead 33665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033666|133666|989898|1|9999033666|MR|Test|E|Lead 33666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033667|133667|989898|1|9999033667|MR|Test|E|Lead 33667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033668|133668|989898|1|9999033668|MR|Test|E|Lead 33668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033669|133669|989898|1|9999033669|MR|Test|E|Lead 33669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033670|133670|989898|1|9999033670|MR|Test|E|Lead 33670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033671|133671|989898|1|9999033671|MR|Test|E|Lead 33671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033672|133672|989898|1|9999033672|MR|Test|E|Lead 33672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033673|133673|989898|1|9999033673|MR|Test|E|Lead 33673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033674|133674|989898|1|9999033674|MR|Test|E|Lead 33674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033675|133675|989898|1|9999033675|MR|Test|E|Lead 33675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033676|133676|989898|1|9999033676|MR|Test|E|Lead 33676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033677|133677|989898|1|9999033677|MR|Test|E|Lead 33677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033678|133678|989898|1|9999033678|MR|Test|E|Lead 33678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033679|133679|989898|1|9999033679|MR|Test|E|Lead 33679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033680|133680|989898|1|9999033680|MR|Test|E|Lead 33680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033681|133681|989898|1|9999033681|MR|Test|E|Lead 33681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033682|133682|989898|1|9999033682|MR|Test|E|Lead 33682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033683|133683|989898|1|9999033683|MR|Test|E|Lead 33683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033684|133684|989898|1|9999033684|MR|Test|E|Lead 33684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033685|133685|989898|1|9999033685|MR|Test|E|Lead 33685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033686|133686|989898|1|9999033686|MR|Test|E|Lead 33686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033687|133687|989898|1|9999033687|MR|Test|E|Lead 33687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033688|133688|989898|1|9999033688|MR|Test|E|Lead 33688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033689|133689|989898|1|9999033689|MR|Test|E|Lead 33689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033690|133690|989898|1|9999033690|MR|Test|E|Lead 33690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033691|133691|989898|1|9999033691|MR|Test|E|Lead 33691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033692|133692|989898|1|9999033692|MR|Test|E|Lead 33692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033693|133693|989898|1|9999033693|MR|Test|E|Lead 33693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033694|133694|989898|1|9999033694|MR|Test|E|Lead 33694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033695|133695|989898|1|9999033695|MR|Test|E|Lead 33695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033696|133696|989898|1|9999033696|MR|Test|E|Lead 33696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033697|133697|989898|1|9999033697|MR|Test|E|Lead 33697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033698|133698|989898|1|9999033698|MR|Test|E|Lead 33698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033699|133699|989898|1|9999033699|MR|Test|E|Lead 33699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033700|133700|989898|1|9999033700|MR|Test|E|Lead 33700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033701|133701|989898|1|9999033701|MR|Test|E|Lead 33701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033702|133702|989898|1|9999033702|MR|Test|E|Lead 33702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033703|133703|989898|1|9999033703|MR|Test|E|Lead 33703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033704|133704|989898|1|9999033704|MR|Test|E|Lead 33704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033705|133705|989898|1|9999033705|MR|Test|E|Lead 33705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033706|133706|989898|1|9999033706|MR|Test|E|Lead 33706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033707|133707|989898|1|9999033707|MR|Test|E|Lead 33707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033708|133708|989898|1|9999033708|MR|Test|E|Lead 33708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033709|133709|989898|1|9999033709|MR|Test|E|Lead 33709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033710|133710|989898|1|9999033710|MR|Test|E|Lead 33710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033711|133711|989898|1|9999033711|MR|Test|E|Lead 33711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033712|133712|989898|1|9999033712|MR|Test|E|Lead 33712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033713|133713|989898|1|9999033713|MR|Test|E|Lead 33713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033714|133714|989898|1|9999033714|MR|Test|E|Lead 33714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033715|133715|989898|1|9999033715|MR|Test|E|Lead 33715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033716|133716|989898|1|9999033716|MR|Test|E|Lead 33716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033717|133717|989898|1|9999033717|MR|Test|E|Lead 33717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033718|133718|989898|1|9999033718|MR|Test|E|Lead 33718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033719|133719|989898|1|9999033719|MR|Test|E|Lead 33719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033720|133720|989898|1|9999033720|MR|Test|E|Lead 33720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033721|133721|989898|1|9999033721|MR|Test|E|Lead 33721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033722|133722|989898|1|9999033722|MR|Test|E|Lead 33722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033723|133723|989898|1|9999033723|MR|Test|E|Lead 33723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033724|133724|989898|1|9999033724|MR|Test|E|Lead 33724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033725|133725|989898|1|9999033725|MR|Test|E|Lead 33725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033726|133726|989898|1|9999033726|MR|Test|E|Lead 33726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033727|133727|989898|1|9999033727|MR|Test|E|Lead 33727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033728|133728|989898|1|9999033728|MR|Test|E|Lead 33728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033729|133729|989898|1|9999033729|MR|Test|E|Lead 33729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033730|133730|989898|1|9999033730|MR|Test|E|Lead 33730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033731|133731|989898|1|9999033731|MR|Test|E|Lead 33731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033732|133732|989898|1|9999033732|MR|Test|E|Lead 33732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033733|133733|989898|1|9999033733|MR|Test|E|Lead 33733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033734|133734|989898|1|9999033734|MR|Test|E|Lead 33734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033735|133735|989898|1|9999033735|MR|Test|E|Lead 33735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033736|133736|989898|1|9999033736|MR|Test|E|Lead 33736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033737|133737|989898|1|9999033737|MR|Test|E|Lead 33737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033738|133738|989898|1|9999033738|MR|Test|E|Lead 33738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033739|133739|989898|1|9999033739|MR|Test|E|Lead 33739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033740|133740|989898|1|9999033740|MR|Test|E|Lead 33740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033741|133741|989898|1|9999033741|MR|Test|E|Lead 33741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033742|133742|989898|1|9999033742|MR|Test|E|Lead 33742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033743|133743|989898|1|9999033743|MR|Test|E|Lead 33743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033744|133744|989898|1|9999033744|MR|Test|E|Lead 33744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033745|133745|989898|1|9999033745|MR|Test|E|Lead 33745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033746|133746|989898|1|9999033746|MR|Test|E|Lead 33746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033747|133747|989898|1|9999033747|MR|Test|E|Lead 33747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033748|133748|989898|1|9999033748|MR|Test|E|Lead 33748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033749|133749|989898|1|9999033749|MR|Test|E|Lead 33749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033750|133750|989898|1|9999033750|MR|Test|E|Lead 33750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033751|133751|989898|1|9999033751|MR|Test|E|Lead 33751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033752|133752|989898|1|9999033752|MR|Test|E|Lead 33752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033753|133753|989898|1|9999033753|MR|Test|E|Lead 33753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033754|133754|989898|1|9999033754|MR|Test|E|Lead 33754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033755|133755|989898|1|9999033755|MR|Test|E|Lead 33755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033756|133756|989898|1|9999033756|MR|Test|E|Lead 33756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033757|133757|989898|1|9999033757|MR|Test|E|Lead 33757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033758|133758|989898|1|9999033758|MR|Test|E|Lead 33758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033759|133759|989898|1|9999033759|MR|Test|E|Lead 33759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033760|133760|989898|1|9999033760|MR|Test|E|Lead 33760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033761|133761|989898|1|9999033761|MR|Test|E|Lead 33761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033762|133762|989898|1|9999033762|MR|Test|E|Lead 33762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033763|133763|989898|1|9999033763|MR|Test|E|Lead 33763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033764|133764|989898|1|9999033764|MR|Test|E|Lead 33764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033765|133765|989898|1|9999033765|MR|Test|E|Lead 33765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033766|133766|989898|1|9999033766|MR|Test|E|Lead 33766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033767|133767|989898|1|9999033767|MR|Test|E|Lead 33767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033768|133768|989898|1|9999033768|MR|Test|E|Lead 33768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033769|133769|989898|1|9999033769|MR|Test|E|Lead 33769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033770|133770|989898|1|9999033770|MR|Test|E|Lead 33770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033771|133771|989898|1|9999033771|MR|Test|E|Lead 33771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033772|133772|989898|1|9999033772|MR|Test|E|Lead 33772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033773|133773|989898|1|9999033773|MR|Test|E|Lead 33773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033774|133774|989898|1|9999033774|MR|Test|E|Lead 33774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033775|133775|989898|1|9999033775|MR|Test|E|Lead 33775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033776|133776|989898|1|9999033776|MR|Test|E|Lead 33776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033777|133777|989898|1|9999033777|MR|Test|E|Lead 33777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033778|133778|989898|1|9999033778|MR|Test|E|Lead 33778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033779|133779|989898|1|9999033779|MR|Test|E|Lead 33779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033780|133780|989898|1|9999033780|MR|Test|E|Lead 33780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033781|133781|989898|1|9999033781|MR|Test|E|Lead 33781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033782|133782|989898|1|9999033782|MR|Test|E|Lead 33782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033783|133783|989898|1|9999033783|MR|Test|E|Lead 33783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033784|133784|989898|1|9999033784|MR|Test|E|Lead 33784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033785|133785|989898|1|9999033785|MR|Test|E|Lead 33785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033786|133786|989898|1|9999033786|MR|Test|E|Lead 33786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033787|133787|989898|1|9999033787|MR|Test|E|Lead 33787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033788|133788|989898|1|9999033788|MR|Test|E|Lead 33788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033789|133789|989898|1|9999033789|MR|Test|E|Lead 33789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033790|133790|989898|1|9999033790|MR|Test|E|Lead 33790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033791|133791|989898|1|9999033791|MR|Test|E|Lead 33791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033792|133792|989898|1|9999033792|MR|Test|E|Lead 33792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033793|133793|989898|1|9999033793|MR|Test|E|Lead 33793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033794|133794|989898|1|9999033794|MR|Test|E|Lead 33794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033795|133795|989898|1|9999033795|MR|Test|E|Lead 33795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033796|133796|989898|1|9999033796|MR|Test|E|Lead 33796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033797|133797|989898|1|9999033797|MR|Test|E|Lead 33797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033798|133798|989898|1|9999033798|MR|Test|E|Lead 33798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033799|133799|989898|1|9999033799|MR|Test|E|Lead 33799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033800|133800|989898|1|9999033800|MR|Test|E|Lead 33800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033801|133801|989898|1|9999033801|MR|Test|E|Lead 33801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033802|133802|989898|1|9999033802|MR|Test|E|Lead 33802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033803|133803|989898|1|9999033803|MR|Test|E|Lead 33803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033804|133804|989898|1|9999033804|MR|Test|E|Lead 33804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033805|133805|989898|1|9999033805|MR|Test|E|Lead 33805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033806|133806|989898|1|9999033806|MR|Test|E|Lead 33806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033807|133807|989898|1|9999033807|MR|Test|E|Lead 33807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033808|133808|989898|1|9999033808|MR|Test|E|Lead 33808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033809|133809|989898|1|9999033809|MR|Test|E|Lead 33809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033810|133810|989898|1|9999033810|MR|Test|E|Lead 33810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033811|133811|989898|1|9999033811|MR|Test|E|Lead 33811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033812|133812|989898|1|9999033812|MR|Test|E|Lead 33812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033813|133813|989898|1|9999033813|MR|Test|E|Lead 33813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033814|133814|989898|1|9999033814|MR|Test|E|Lead 33814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033815|133815|989898|1|9999033815|MR|Test|E|Lead 33815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033816|133816|989898|1|9999033816|MR|Test|E|Lead 33816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033817|133817|989898|1|9999033817|MR|Test|E|Lead 33817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033818|133818|989898|1|9999033818|MR|Test|E|Lead 33818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033819|133819|989898|1|9999033819|MR|Test|E|Lead 33819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033820|133820|989898|1|9999033820|MR|Test|E|Lead 33820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033821|133821|989898|1|9999033821|MR|Test|E|Lead 33821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033822|133822|989898|1|9999033822|MR|Test|E|Lead 33822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033823|133823|989898|1|9999033823|MR|Test|E|Lead 33823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033824|133824|989898|1|9999033824|MR|Test|E|Lead 33824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033825|133825|989898|1|9999033825|MR|Test|E|Lead 33825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033826|133826|989898|1|9999033826|MR|Test|E|Lead 33826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033827|133827|989898|1|9999033827|MR|Test|E|Lead 33827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033828|133828|989898|1|9999033828|MR|Test|E|Lead 33828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033829|133829|989898|1|9999033829|MR|Test|E|Lead 33829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033830|133830|989898|1|9999033830|MR|Test|E|Lead 33830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033831|133831|989898|1|9999033831|MR|Test|E|Lead 33831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033832|133832|989898|1|9999033832|MR|Test|E|Lead 33832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033833|133833|989898|1|9999033833|MR|Test|E|Lead 33833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033834|133834|989898|1|9999033834|MR|Test|E|Lead 33834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033835|133835|989898|1|9999033835|MR|Test|E|Lead 33835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033836|133836|989898|1|9999033836|MR|Test|E|Lead 33836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033837|133837|989898|1|9999033837|MR|Test|E|Lead 33837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033838|133838|989898|1|9999033838|MR|Test|E|Lead 33838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033839|133839|989898|1|9999033839|MR|Test|E|Lead 33839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033840|133840|989898|1|9999033840|MR|Test|E|Lead 33840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033841|133841|989898|1|9999033841|MR|Test|E|Lead 33841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033842|133842|989898|1|9999033842|MR|Test|E|Lead 33842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033843|133843|989898|1|9999033843|MR|Test|E|Lead 33843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033844|133844|989898|1|9999033844|MR|Test|E|Lead 33844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033845|133845|989898|1|9999033845|MR|Test|E|Lead 33845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033846|133846|989898|1|9999033846|MR|Test|E|Lead 33846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033847|133847|989898|1|9999033847|MR|Test|E|Lead 33847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033848|133848|989898|1|9999033848|MR|Test|E|Lead 33848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033849|133849|989898|1|9999033849|MR|Test|E|Lead 33849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033850|133850|989898|1|9999033850|MR|Test|E|Lead 33850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033851|133851|989898|1|9999033851|MR|Test|E|Lead 33851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033852|133852|989898|1|9999033852|MR|Test|E|Lead 33852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033853|133853|989898|1|9999033853|MR|Test|E|Lead 33853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033854|133854|989898|1|9999033854|MR|Test|E|Lead 33854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033855|133855|989898|1|9999033855|MR|Test|E|Lead 33855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033856|133856|989898|1|9999033856|MR|Test|E|Lead 33856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033857|133857|989898|1|9999033857|MR|Test|E|Lead 33857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033858|133858|989898|1|9999033858|MR|Test|E|Lead 33858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033859|133859|989898|1|9999033859|MR|Test|E|Lead 33859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033860|133860|989898|1|9999033860|MR|Test|E|Lead 33860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033861|133861|989898|1|9999033861|MR|Test|E|Lead 33861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033862|133862|989898|1|9999033862|MR|Test|E|Lead 33862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033863|133863|989898|1|9999033863|MR|Test|E|Lead 33863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033864|133864|989898|1|9999033864|MR|Test|E|Lead 33864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033865|133865|989898|1|9999033865|MR|Test|E|Lead 33865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033866|133866|989898|1|9999033866|MR|Test|E|Lead 33866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033867|133867|989898|1|9999033867|MR|Test|E|Lead 33867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033868|133868|989898|1|9999033868|MR|Test|E|Lead 33868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033869|133869|989898|1|9999033869|MR|Test|E|Lead 33869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033870|133870|989898|1|9999033870|MR|Test|E|Lead 33870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033871|133871|989898|1|9999033871|MR|Test|E|Lead 33871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033872|133872|989898|1|9999033872|MR|Test|E|Lead 33872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033873|133873|989898|1|9999033873|MR|Test|E|Lead 33873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033874|133874|989898|1|9999033874|MR|Test|E|Lead 33874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033875|133875|989898|1|9999033875|MR|Test|E|Lead 33875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033876|133876|989898|1|9999033876|MR|Test|E|Lead 33876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033877|133877|989898|1|9999033877|MR|Test|E|Lead 33877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033878|133878|989898|1|9999033878|MR|Test|E|Lead 33878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033879|133879|989898|1|9999033879|MR|Test|E|Lead 33879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033880|133880|989898|1|9999033880|MR|Test|E|Lead 33880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033881|133881|989898|1|9999033881|MR|Test|E|Lead 33881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033882|133882|989898|1|9999033882|MR|Test|E|Lead 33882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033883|133883|989898|1|9999033883|MR|Test|E|Lead 33883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033884|133884|989898|1|9999033884|MR|Test|E|Lead 33884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033885|133885|989898|1|9999033885|MR|Test|E|Lead 33885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033886|133886|989898|1|9999033886|MR|Test|E|Lead 33886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033887|133887|989898|1|9999033887|MR|Test|E|Lead 33887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033888|133888|989898|1|9999033888|MR|Test|E|Lead 33888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033889|133889|989898|1|9999033889|MR|Test|E|Lead 33889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033890|133890|989898|1|9999033890|MR|Test|E|Lead 33890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033891|133891|989898|1|9999033891|MR|Test|E|Lead 33891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033892|133892|989898|1|9999033892|MR|Test|E|Lead 33892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033893|133893|989898|1|9999033893|MR|Test|E|Lead 33893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033894|133894|989898|1|9999033894|MR|Test|E|Lead 33894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033895|133895|989898|1|9999033895|MR|Test|E|Lead 33895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033896|133896|989898|1|9999033896|MR|Test|E|Lead 33896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033897|133897|989898|1|9999033897|MR|Test|E|Lead 33897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033898|133898|989898|1|9999033898|MR|Test|E|Lead 33898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033899|133899|989898|1|9999033899|MR|Test|E|Lead 33899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033900|133900|989898|1|9999033900|MR|Test|E|Lead 33900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033901|133901|989898|1|9999033901|MR|Test|E|Lead 33901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033902|133902|989898|1|9999033902|MR|Test|E|Lead 33902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033903|133903|989898|1|9999033903|MR|Test|E|Lead 33903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033904|133904|989898|1|9999033904|MR|Test|E|Lead 33904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033905|133905|989898|1|9999033905|MR|Test|E|Lead 33905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033906|133906|989898|1|9999033906|MR|Test|E|Lead 33906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033907|133907|989898|1|9999033907|MR|Test|E|Lead 33907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033908|133908|989898|1|9999033908|MR|Test|E|Lead 33908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033909|133909|989898|1|9999033909|MR|Test|E|Lead 33909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033910|133910|989898|1|9999033910|MR|Test|E|Lead 33910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033911|133911|989898|1|9999033911|MR|Test|E|Lead 33911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033912|133912|989898|1|9999033912|MR|Test|E|Lead 33912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033913|133913|989898|1|9999033913|MR|Test|E|Lead 33913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033914|133914|989898|1|9999033914|MR|Test|E|Lead 33914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033915|133915|989898|1|9999033915|MR|Test|E|Lead 33915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033916|133916|989898|1|9999033916|MR|Test|E|Lead 33916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033917|133917|989898|1|9999033917|MR|Test|E|Lead 33917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033918|133918|989898|1|9999033918|MR|Test|E|Lead 33918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033919|133919|989898|1|9999033919|MR|Test|E|Lead 33919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033920|133920|989898|1|9999033920|MR|Test|E|Lead 33920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033921|133921|989898|1|9999033921|MR|Test|E|Lead 33921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033922|133922|989898|1|9999033922|MR|Test|E|Lead 33922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033923|133923|989898|1|9999033923|MR|Test|E|Lead 33923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033924|133924|989898|1|9999033924|MR|Test|E|Lead 33924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033925|133925|989898|1|9999033925|MR|Test|E|Lead 33925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033926|133926|989898|1|9999033926|MR|Test|E|Lead 33926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033927|133927|989898|1|9999033927|MR|Test|E|Lead 33927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033928|133928|989898|1|9999033928|MR|Test|E|Lead 33928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033929|133929|989898|1|9999033929|MR|Test|E|Lead 33929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033930|133930|989898|1|9999033930|MR|Test|E|Lead 33930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033931|133931|989898|1|9999033931|MR|Test|E|Lead 33931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033932|133932|989898|1|9999033932|MR|Test|E|Lead 33932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033933|133933|989898|1|9999033933|MR|Test|E|Lead 33933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033934|133934|989898|1|9999033934|MR|Test|E|Lead 33934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033935|133935|989898|1|9999033935|MR|Test|E|Lead 33935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033936|133936|989898|1|9999033936|MR|Test|E|Lead 33936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033937|133937|989898|1|9999033937|MR|Test|E|Lead 33937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033938|133938|989898|1|9999033938|MR|Test|E|Lead 33938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033939|133939|989898|1|9999033939|MR|Test|E|Lead 33939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033940|133940|989898|1|9999033940|MR|Test|E|Lead 33940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033941|133941|989898|1|9999033941|MR|Test|E|Lead 33941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033942|133942|989898|1|9999033942|MR|Test|E|Lead 33942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033943|133943|989898|1|9999033943|MR|Test|E|Lead 33943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033944|133944|989898|1|9999033944|MR|Test|E|Lead 33944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033945|133945|989898|1|9999033945|MR|Test|E|Lead 33945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033946|133946|989898|1|9999033946|MR|Test|E|Lead 33946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033947|133947|989898|1|9999033947|MR|Test|E|Lead 33947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033948|133948|989898|1|9999033948|MR|Test|E|Lead 33948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033949|133949|989898|1|9999033949|MR|Test|E|Lead 33949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033950|133950|989898|1|9999033950|MR|Test|E|Lead 33950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033951|133951|989898|1|9999033951|MR|Test|E|Lead 33951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033952|133952|989898|1|9999033952|MR|Test|E|Lead 33952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033953|133953|989898|1|9999033953|MR|Test|E|Lead 33953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033954|133954|989898|1|9999033954|MR|Test|E|Lead 33954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033955|133955|989898|1|9999033955|MR|Test|E|Lead 33955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033956|133956|989898|1|9999033956|MR|Test|E|Lead 33956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033957|133957|989898|1|9999033957|MR|Test|E|Lead 33957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033958|133958|989898|1|9999033958|MR|Test|E|Lead 33958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033959|133959|989898|1|9999033959|MR|Test|E|Lead 33959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033960|133960|989898|1|9999033960|MR|Test|E|Lead 33960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033961|133961|989898|1|9999033961|MR|Test|E|Lead 33961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033962|133962|989898|1|9999033962|MR|Test|E|Lead 33962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033963|133963|989898|1|9999033963|MR|Test|E|Lead 33963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033964|133964|989898|1|9999033964|MR|Test|E|Lead 33964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033965|133965|989898|1|9999033965|MR|Test|E|Lead 33965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033966|133966|989898|1|9999033966|MR|Test|E|Lead 33966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033967|133967|989898|1|9999033967|MR|Test|E|Lead 33967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033968|133968|989898|1|9999033968|MR|Test|E|Lead 33968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033969|133969|989898|1|9999033969|MR|Test|E|Lead 33969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033970|133970|989898|1|9999033970|MR|Test|E|Lead 33970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033971|133971|989898|1|9999033971|MR|Test|E|Lead 33971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033972|133972|989898|1|9999033972|MR|Test|E|Lead 33972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033973|133973|989898|1|9999033973|MR|Test|E|Lead 33973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033974|133974|989898|1|9999033974|MR|Test|E|Lead 33974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033975|133975|989898|1|9999033975|MR|Test|E|Lead 33975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033976|133976|989898|1|9999033976|MR|Test|E|Lead 33976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033977|133977|989898|1|9999033977|MR|Test|E|Lead 33977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033978|133978|989898|1|9999033978|MR|Test|E|Lead 33978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033979|133979|989898|1|9999033979|MR|Test|E|Lead 33979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033980|133980|989898|1|9999033980|MR|Test|E|Lead 33980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033981|133981|989898|1|9999033981|MR|Test|E|Lead 33981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033982|133982|989898|1|9999033982|MR|Test|E|Lead 33982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033983|133983|989898|1|9999033983|MR|Test|E|Lead 33983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033984|133984|989898|1|9999033984|MR|Test|E|Lead 33984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033985|133985|989898|1|9999033985|MR|Test|E|Lead 33985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033986|133986|989898|1|9999033986|MR|Test|E|Lead 33986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033987|133987|989898|1|9999033987|MR|Test|E|Lead 33987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033988|133988|989898|1|9999033988|MR|Test|E|Lead 33988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033989|133989|989898|1|9999033989|MR|Test|E|Lead 33989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033990|133990|989898|1|9999033990|MR|Test|E|Lead 33990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033991|133991|989898|1|9999033991|MR|Test|E|Lead 33991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033992|133992|989898|1|9999033992|MR|Test|E|Lead 33992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033993|133993|989898|1|9999033993|MR|Test|E|Lead 33993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033994|133994|989898|1|9999033994|MR|Test|E|Lead 33994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033995|133995|989898|1|9999033995|MR|Test|E|Lead 33995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033996|133996|989898|1|9999033996|MR|Test|E|Lead 33996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033997|133997|989898|1|9999033997|MR|Test|E|Lead 33997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033998|133998|989898|1|9999033998|MR|Test|E|Lead 33998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1033999|133999|989898|1|9999033999|MR|Test|E|Lead 33999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034000|134000|989898|1|9999034000|MR|Test|E|Lead 34000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034001|134001|989898|1|9999034001|MR|Test|E|Lead 34001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034002|134002|989898|1|9999034002|MR|Test|E|Lead 34002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034003|134003|989898|1|9999034003|MR|Test|E|Lead 34003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034004|134004|989898|1|9999034004|MR|Test|E|Lead 34004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034005|134005|989898|1|9999034005|MR|Test|E|Lead 34005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034006|134006|989898|1|9999034006|MR|Test|E|Lead 34006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034007|134007|989898|1|9999034007|MR|Test|E|Lead 34007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034008|134008|989898|1|9999034008|MR|Test|E|Lead 34008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034009|134009|989898|1|9999034009|MR|Test|E|Lead 34009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034010|134010|989898|1|9999034010|MR|Test|E|Lead 34010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034011|134011|989898|1|9999034011|MR|Test|E|Lead 34011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034012|134012|989898|1|9999034012|MR|Test|E|Lead 34012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034013|134013|989898|1|9999034013|MR|Test|E|Lead 34013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034014|134014|989898|1|9999034014|MR|Test|E|Lead 34014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034015|134015|989898|1|9999034015|MR|Test|E|Lead 34015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034016|134016|989898|1|9999034016|MR|Test|E|Lead 34016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034017|134017|989898|1|9999034017|MR|Test|E|Lead 34017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034018|134018|989898|1|9999034018|MR|Test|E|Lead 34018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034019|134019|989898|1|9999034019|MR|Test|E|Lead 34019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034020|134020|989898|1|9999034020|MR|Test|E|Lead 34020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034021|134021|989898|1|9999034021|MR|Test|E|Lead 34021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034022|134022|989898|1|9999034022|MR|Test|E|Lead 34022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034023|134023|989898|1|9999034023|MR|Test|E|Lead 34023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034024|134024|989898|1|9999034024|MR|Test|E|Lead 34024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034025|134025|989898|1|9999034025|MR|Test|E|Lead 34025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034026|134026|989898|1|9999034026|MR|Test|E|Lead 34026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034027|134027|989898|1|9999034027|MR|Test|E|Lead 34027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034028|134028|989898|1|9999034028|MR|Test|E|Lead 34028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034029|134029|989898|1|9999034029|MR|Test|E|Lead 34029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034030|134030|989898|1|9999034030|MR|Test|E|Lead 34030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034031|134031|989898|1|9999034031|MR|Test|E|Lead 34031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034032|134032|989898|1|9999034032|MR|Test|E|Lead 34032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034033|134033|989898|1|9999034033|MR|Test|E|Lead 34033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034034|134034|989898|1|9999034034|MR|Test|E|Lead 34034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034035|134035|989898|1|9999034035|MR|Test|E|Lead 34035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034036|134036|989898|1|9999034036|MR|Test|E|Lead 34036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034037|134037|989898|1|9999034037|MR|Test|E|Lead 34037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034038|134038|989898|1|9999034038|MR|Test|E|Lead 34038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034039|134039|989898|1|9999034039|MR|Test|E|Lead 34039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034040|134040|989898|1|9999034040|MR|Test|E|Lead 34040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034041|134041|989898|1|9999034041|MR|Test|E|Lead 34041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034042|134042|989898|1|9999034042|MR|Test|E|Lead 34042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034043|134043|989898|1|9999034043|MR|Test|E|Lead 34043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034044|134044|989898|1|9999034044|MR|Test|E|Lead 34044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034045|134045|989898|1|9999034045|MR|Test|E|Lead 34045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034046|134046|989898|1|9999034046|MR|Test|E|Lead 34046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034047|134047|989898|1|9999034047|MR|Test|E|Lead 34047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034048|134048|989898|1|9999034048|MR|Test|E|Lead 34048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034049|134049|989898|1|9999034049|MR|Test|E|Lead 34049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034050|134050|989898|1|9999034050|MR|Test|E|Lead 34050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034051|134051|989898|1|9999034051|MR|Test|E|Lead 34051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034052|134052|989898|1|9999034052|MR|Test|E|Lead 34052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034053|134053|989898|1|9999034053|MR|Test|E|Lead 34053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034054|134054|989898|1|9999034054|MR|Test|E|Lead 34054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034055|134055|989898|1|9999034055|MR|Test|E|Lead 34055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034056|134056|989898|1|9999034056|MR|Test|E|Lead 34056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034057|134057|989898|1|9999034057|MR|Test|E|Lead 34057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034058|134058|989898|1|9999034058|MR|Test|E|Lead 34058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034059|134059|989898|1|9999034059|MR|Test|E|Lead 34059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034060|134060|989898|1|9999034060|MR|Test|E|Lead 34060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034061|134061|989898|1|9999034061|MR|Test|E|Lead 34061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034062|134062|989898|1|9999034062|MR|Test|E|Lead 34062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034063|134063|989898|1|9999034063|MR|Test|E|Lead 34063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034064|134064|989898|1|9999034064|MR|Test|E|Lead 34064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034065|134065|989898|1|9999034065|MR|Test|E|Lead 34065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034066|134066|989898|1|9999034066|MR|Test|E|Lead 34066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034067|134067|989898|1|9999034067|MR|Test|E|Lead 34067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034068|134068|989898|1|9999034068|MR|Test|E|Lead 34068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034069|134069|989898|1|9999034069|MR|Test|E|Lead 34069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034070|134070|989898|1|9999034070|MR|Test|E|Lead 34070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034071|134071|989898|1|9999034071|MR|Test|E|Lead 34071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034072|134072|989898|1|9999034072|MR|Test|E|Lead 34072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034073|134073|989898|1|9999034073|MR|Test|E|Lead 34073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034074|134074|989898|1|9999034074|MR|Test|E|Lead 34074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034075|134075|989898|1|9999034075|MR|Test|E|Lead 34075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034076|134076|989898|1|9999034076|MR|Test|E|Lead 34076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034077|134077|989898|1|9999034077|MR|Test|E|Lead 34077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034078|134078|989898|1|9999034078|MR|Test|E|Lead 34078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034079|134079|989898|1|9999034079|MR|Test|E|Lead 34079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034080|134080|989898|1|9999034080|MR|Test|E|Lead 34080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034081|134081|989898|1|9999034081|MR|Test|E|Lead 34081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034082|134082|989898|1|9999034082|MR|Test|E|Lead 34082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034083|134083|989898|1|9999034083|MR|Test|E|Lead 34083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034084|134084|989898|1|9999034084|MR|Test|E|Lead 34084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034085|134085|989898|1|9999034085|MR|Test|E|Lead 34085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034086|134086|989898|1|9999034086|MR|Test|E|Lead 34086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034087|134087|989898|1|9999034087|MR|Test|E|Lead 34087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034088|134088|989898|1|9999034088|MR|Test|E|Lead 34088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034089|134089|989898|1|9999034089|MR|Test|E|Lead 34089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034090|134090|989898|1|9999034090|MR|Test|E|Lead 34090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034091|134091|989898|1|9999034091|MR|Test|E|Lead 34091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034092|134092|989898|1|9999034092|MR|Test|E|Lead 34092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034093|134093|989898|1|9999034093|MR|Test|E|Lead 34093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034094|134094|989898|1|9999034094|MR|Test|E|Lead 34094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034095|134095|989898|1|9999034095|MR|Test|E|Lead 34095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034096|134096|989898|1|9999034096|MR|Test|E|Lead 34096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034097|134097|989898|1|9999034097|MR|Test|E|Lead 34097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034098|134098|989898|1|9999034098|MR|Test|E|Lead 34098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034099|134099|989898|1|9999034099|MR|Test|E|Lead 34099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034100|134100|989898|1|9999034100|MR|Test|E|Lead 34100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034101|134101|989898|1|9999034101|MR|Test|E|Lead 34101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034102|134102|989898|1|9999034102|MR|Test|E|Lead 34102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034103|134103|989898|1|9999034103|MR|Test|E|Lead 34103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034104|134104|989898|1|9999034104|MR|Test|E|Lead 34104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034105|134105|989898|1|9999034105|MR|Test|E|Lead 34105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034106|134106|989898|1|9999034106|MR|Test|E|Lead 34106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034107|134107|989898|1|9999034107|MR|Test|E|Lead 34107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034108|134108|989898|1|9999034108|MR|Test|E|Lead 34108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034109|134109|989898|1|9999034109|MR|Test|E|Lead 34109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034110|134110|989898|1|9999034110|MR|Test|E|Lead 34110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034111|134111|989898|1|9999034111|MR|Test|E|Lead 34111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034112|134112|989898|1|9999034112|MR|Test|E|Lead 34112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034113|134113|989898|1|9999034113|MR|Test|E|Lead 34113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034114|134114|989898|1|9999034114|MR|Test|E|Lead 34114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034115|134115|989898|1|9999034115|MR|Test|E|Lead 34115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034116|134116|989898|1|9999034116|MR|Test|E|Lead 34116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034117|134117|989898|1|9999034117|MR|Test|E|Lead 34117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034118|134118|989898|1|9999034118|MR|Test|E|Lead 34118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034119|134119|989898|1|9999034119|MR|Test|E|Lead 34119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034120|134120|989898|1|9999034120|MR|Test|E|Lead 34120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034121|134121|989898|1|9999034121|MR|Test|E|Lead 34121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034122|134122|989898|1|9999034122|MR|Test|E|Lead 34122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034123|134123|989898|1|9999034123|MR|Test|E|Lead 34123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034124|134124|989898|1|9999034124|MR|Test|E|Lead 34124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034125|134125|989898|1|9999034125|MR|Test|E|Lead 34125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034126|134126|989898|1|9999034126|MR|Test|E|Lead 34126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034127|134127|989898|1|9999034127|MR|Test|E|Lead 34127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034128|134128|989898|1|9999034128|MR|Test|E|Lead 34128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034129|134129|989898|1|9999034129|MR|Test|E|Lead 34129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034130|134130|989898|1|9999034130|MR|Test|E|Lead 34130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034131|134131|989898|1|9999034131|MR|Test|E|Lead 34131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034132|134132|989898|1|9999034132|MR|Test|E|Lead 34132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034133|134133|989898|1|9999034133|MR|Test|E|Lead 34133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034134|134134|989898|1|9999034134|MR|Test|E|Lead 34134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034135|134135|989898|1|9999034135|MR|Test|E|Lead 34135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034136|134136|989898|1|9999034136|MR|Test|E|Lead 34136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034137|134137|989898|1|9999034137|MR|Test|E|Lead 34137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034138|134138|989898|1|9999034138|MR|Test|E|Lead 34138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034139|134139|989898|1|9999034139|MR|Test|E|Lead 34139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034140|134140|989898|1|9999034140|MR|Test|E|Lead 34140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034141|134141|989898|1|9999034141|MR|Test|E|Lead 34141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034142|134142|989898|1|9999034142|MR|Test|E|Lead 34142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034143|134143|989898|1|9999034143|MR|Test|E|Lead 34143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034144|134144|989898|1|9999034144|MR|Test|E|Lead 34144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034145|134145|989898|1|9999034145|MR|Test|E|Lead 34145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034146|134146|989898|1|9999034146|MR|Test|E|Lead 34146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034147|134147|989898|1|9999034147|MR|Test|E|Lead 34147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034148|134148|989898|1|9999034148|MR|Test|E|Lead 34148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034149|134149|989898|1|9999034149|MR|Test|E|Lead 34149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034150|134150|989898|1|9999034150|MR|Test|E|Lead 34150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034151|134151|989898|1|9999034151|MR|Test|E|Lead 34151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034152|134152|989898|1|9999034152|MR|Test|E|Lead 34152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034153|134153|989898|1|9999034153|MR|Test|E|Lead 34153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034154|134154|989898|1|9999034154|MR|Test|E|Lead 34154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034155|134155|989898|1|9999034155|MR|Test|E|Lead 34155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034156|134156|989898|1|9999034156|MR|Test|E|Lead 34156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034157|134157|989898|1|9999034157|MR|Test|E|Lead 34157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034158|134158|989898|1|9999034158|MR|Test|E|Lead 34158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034159|134159|989898|1|9999034159|MR|Test|E|Lead 34159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034160|134160|989898|1|9999034160|MR|Test|E|Lead 34160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034161|134161|989898|1|9999034161|MR|Test|E|Lead 34161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034162|134162|989898|1|9999034162|MR|Test|E|Lead 34162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034163|134163|989898|1|9999034163|MR|Test|E|Lead 34163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034164|134164|989898|1|9999034164|MR|Test|E|Lead 34164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034165|134165|989898|1|9999034165|MR|Test|E|Lead 34165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034166|134166|989898|1|9999034166|MR|Test|E|Lead 34166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034167|134167|989898|1|9999034167|MR|Test|E|Lead 34167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034168|134168|989898|1|9999034168|MR|Test|E|Lead 34168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034169|134169|989898|1|9999034169|MR|Test|E|Lead 34169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034170|134170|989898|1|9999034170|MR|Test|E|Lead 34170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034171|134171|989898|1|9999034171|MR|Test|E|Lead 34171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034172|134172|989898|1|9999034172|MR|Test|E|Lead 34172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034173|134173|989898|1|9999034173|MR|Test|E|Lead 34173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034174|134174|989898|1|9999034174|MR|Test|E|Lead 34174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034175|134175|989898|1|9999034175|MR|Test|E|Lead 34175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034176|134176|989898|1|9999034176|MR|Test|E|Lead 34176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034177|134177|989898|1|9999034177|MR|Test|E|Lead 34177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034178|134178|989898|1|9999034178|MR|Test|E|Lead 34178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034179|134179|989898|1|9999034179|MR|Test|E|Lead 34179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034180|134180|989898|1|9999034180|MR|Test|E|Lead 34180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034181|134181|989898|1|9999034181|MR|Test|E|Lead 34181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034182|134182|989898|1|9999034182|MR|Test|E|Lead 34182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034183|134183|989898|1|9999034183|MR|Test|E|Lead 34183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034184|134184|989898|1|9999034184|MR|Test|E|Lead 34184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034185|134185|989898|1|9999034185|MR|Test|E|Lead 34185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034186|134186|989898|1|9999034186|MR|Test|E|Lead 34186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034187|134187|989898|1|9999034187|MR|Test|E|Lead 34187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034188|134188|989898|1|9999034188|MR|Test|E|Lead 34188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034189|134189|989898|1|9999034189|MR|Test|E|Lead 34189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034190|134190|989898|1|9999034190|MR|Test|E|Lead 34190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034191|134191|989898|1|9999034191|MR|Test|E|Lead 34191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034192|134192|989898|1|9999034192|MR|Test|E|Lead 34192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034193|134193|989898|1|9999034193|MR|Test|E|Lead 34193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034194|134194|989898|1|9999034194|MR|Test|E|Lead 34194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034195|134195|989898|1|9999034195|MR|Test|E|Lead 34195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034196|134196|989898|1|9999034196|MR|Test|E|Lead 34196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034197|134197|989898|1|9999034197|MR|Test|E|Lead 34197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034198|134198|989898|1|9999034198|MR|Test|E|Lead 34198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034199|134199|989898|1|9999034199|MR|Test|E|Lead 34199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034200|134200|989898|1|9999034200|MR|Test|E|Lead 34200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034201|134201|989898|1|9999034201|MR|Test|E|Lead 34201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034202|134202|989898|1|9999034202|MR|Test|E|Lead 34202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034203|134203|989898|1|9999034203|MR|Test|E|Lead 34203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034204|134204|989898|1|9999034204|MR|Test|E|Lead 34204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034205|134205|989898|1|9999034205|MR|Test|E|Lead 34205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034206|134206|989898|1|9999034206|MR|Test|E|Lead 34206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034207|134207|989898|1|9999034207|MR|Test|E|Lead 34207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034208|134208|989898|1|9999034208|MR|Test|E|Lead 34208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034209|134209|989898|1|9999034209|MR|Test|E|Lead 34209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034210|134210|989898|1|9999034210|MR|Test|E|Lead 34210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034211|134211|989898|1|9999034211|MR|Test|E|Lead 34211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034212|134212|989898|1|9999034212|MR|Test|E|Lead 34212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034213|134213|989898|1|9999034213|MR|Test|E|Lead 34213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034214|134214|989898|1|9999034214|MR|Test|E|Lead 34214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034215|134215|989898|1|9999034215|MR|Test|E|Lead 34215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034216|134216|989898|1|9999034216|MR|Test|E|Lead 34216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034217|134217|989898|1|9999034217|MR|Test|E|Lead 34217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034218|134218|989898|1|9999034218|MR|Test|E|Lead 34218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034219|134219|989898|1|9999034219|MR|Test|E|Lead 34219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034220|134220|989898|1|9999034220|MR|Test|E|Lead 34220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034221|134221|989898|1|9999034221|MR|Test|E|Lead 34221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034222|134222|989898|1|9999034222|MR|Test|E|Lead 34222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034223|134223|989898|1|9999034223|MR|Test|E|Lead 34223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034224|134224|989898|1|9999034224|MR|Test|E|Lead 34224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034225|134225|989898|1|9999034225|MR|Test|E|Lead 34225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034226|134226|989898|1|9999034226|MR|Test|E|Lead 34226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034227|134227|989898|1|9999034227|MR|Test|E|Lead 34227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034228|134228|989898|1|9999034228|MR|Test|E|Lead 34228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034229|134229|989898|1|9999034229|MR|Test|E|Lead 34229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034230|134230|989898|1|9999034230|MR|Test|E|Lead 34230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034231|134231|989898|1|9999034231|MR|Test|E|Lead 34231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034232|134232|989898|1|9999034232|MR|Test|E|Lead 34232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034233|134233|989898|1|9999034233|MR|Test|E|Lead 34233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034234|134234|989898|1|9999034234|MR|Test|E|Lead 34234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034235|134235|989898|1|9999034235|MR|Test|E|Lead 34235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034236|134236|989898|1|9999034236|MR|Test|E|Lead 34236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034237|134237|989898|1|9999034237|MR|Test|E|Lead 34237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034238|134238|989898|1|9999034238|MR|Test|E|Lead 34238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034239|134239|989898|1|9999034239|MR|Test|E|Lead 34239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034240|134240|989898|1|9999034240|MR|Test|E|Lead 34240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034241|134241|989898|1|9999034241|MR|Test|E|Lead 34241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034242|134242|989898|1|9999034242|MR|Test|E|Lead 34242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034243|134243|989898|1|9999034243|MR|Test|E|Lead 34243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034244|134244|989898|1|9999034244|MR|Test|E|Lead 34244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034245|134245|989898|1|9999034245|MR|Test|E|Lead 34245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034246|134246|989898|1|9999034246|MR|Test|E|Lead 34246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034247|134247|989898|1|9999034247|MR|Test|E|Lead 34247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034248|134248|989898|1|9999034248|MR|Test|E|Lead 34248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034249|134249|989898|1|9999034249|MR|Test|E|Lead 34249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034250|134250|989898|1|9999034250|MR|Test|E|Lead 34250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034251|134251|989898|1|9999034251|MR|Test|E|Lead 34251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034252|134252|989898|1|9999034252|MR|Test|E|Lead 34252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034253|134253|989898|1|9999034253|MR|Test|E|Lead 34253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034254|134254|989898|1|9999034254|MR|Test|E|Lead 34254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034255|134255|989898|1|9999034255|MR|Test|E|Lead 34255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034256|134256|989898|1|9999034256|MR|Test|E|Lead 34256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034257|134257|989898|1|9999034257|MR|Test|E|Lead 34257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034258|134258|989898|1|9999034258|MR|Test|E|Lead 34258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034259|134259|989898|1|9999034259|MR|Test|E|Lead 34259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034260|134260|989898|1|9999034260|MR|Test|E|Lead 34260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034261|134261|989898|1|9999034261|MR|Test|E|Lead 34261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034262|134262|989898|1|9999034262|MR|Test|E|Lead 34262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034263|134263|989898|1|9999034263|MR|Test|E|Lead 34263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034264|134264|989898|1|9999034264|MR|Test|E|Lead 34264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034265|134265|989898|1|9999034265|MR|Test|E|Lead 34265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034266|134266|989898|1|9999034266|MR|Test|E|Lead 34266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034267|134267|989898|1|9999034267|MR|Test|E|Lead 34267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034268|134268|989898|1|9999034268|MR|Test|E|Lead 34268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034269|134269|989898|1|9999034269|MR|Test|E|Lead 34269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034270|134270|989898|1|9999034270|MR|Test|E|Lead 34270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034271|134271|989898|1|9999034271|MR|Test|E|Lead 34271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034272|134272|989898|1|9999034272|MR|Test|E|Lead 34272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034273|134273|989898|1|9999034273|MR|Test|E|Lead 34273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034274|134274|989898|1|9999034274|MR|Test|E|Lead 34274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034275|134275|989898|1|9999034275|MR|Test|E|Lead 34275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034276|134276|989898|1|9999034276|MR|Test|E|Lead 34276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034277|134277|989898|1|9999034277|MR|Test|E|Lead 34277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034278|134278|989898|1|9999034278|MR|Test|E|Lead 34278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034279|134279|989898|1|9999034279|MR|Test|E|Lead 34279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034280|134280|989898|1|9999034280|MR|Test|E|Lead 34280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034281|134281|989898|1|9999034281|MR|Test|E|Lead 34281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034282|134282|989898|1|9999034282|MR|Test|E|Lead 34282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034283|134283|989898|1|9999034283|MR|Test|E|Lead 34283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034284|134284|989898|1|9999034284|MR|Test|E|Lead 34284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034285|134285|989898|1|9999034285|MR|Test|E|Lead 34285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034286|134286|989898|1|9999034286|MR|Test|E|Lead 34286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034287|134287|989898|1|9999034287|MR|Test|E|Lead 34287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034288|134288|989898|1|9999034288|MR|Test|E|Lead 34288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034289|134289|989898|1|9999034289|MR|Test|E|Lead 34289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034290|134290|989898|1|9999034290|MR|Test|E|Lead 34290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034291|134291|989898|1|9999034291|MR|Test|E|Lead 34291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034292|134292|989898|1|9999034292|MR|Test|E|Lead 34292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034293|134293|989898|1|9999034293|MR|Test|E|Lead 34293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034294|134294|989898|1|9999034294|MR|Test|E|Lead 34294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034295|134295|989898|1|9999034295|MR|Test|E|Lead 34295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034296|134296|989898|1|9999034296|MR|Test|E|Lead 34296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034297|134297|989898|1|9999034297|MR|Test|E|Lead 34297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034298|134298|989898|1|9999034298|MR|Test|E|Lead 34298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034299|134299|989898|1|9999034299|MR|Test|E|Lead 34299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034300|134300|989898|1|9999034300|MR|Test|E|Lead 34300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034301|134301|989898|1|9999034301|MR|Test|E|Lead 34301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034302|134302|989898|1|9999034302|MR|Test|E|Lead 34302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034303|134303|989898|1|9999034303|MR|Test|E|Lead 34303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034304|134304|989898|1|9999034304|MR|Test|E|Lead 34304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034305|134305|989898|1|9999034305|MR|Test|E|Lead 34305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034306|134306|989898|1|9999034306|MR|Test|E|Lead 34306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034307|134307|989898|1|9999034307|MR|Test|E|Lead 34307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034308|134308|989898|1|9999034308|MR|Test|E|Lead 34308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034309|134309|989898|1|9999034309|MR|Test|E|Lead 34309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034310|134310|989898|1|9999034310|MR|Test|E|Lead 34310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034311|134311|989898|1|9999034311|MR|Test|E|Lead 34311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034312|134312|989898|1|9999034312|MR|Test|E|Lead 34312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034313|134313|989898|1|9999034313|MR|Test|E|Lead 34313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034314|134314|989898|1|9999034314|MR|Test|E|Lead 34314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034315|134315|989898|1|9999034315|MR|Test|E|Lead 34315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034316|134316|989898|1|9999034316|MR|Test|E|Lead 34316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034317|134317|989898|1|9999034317|MR|Test|E|Lead 34317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034318|134318|989898|1|9999034318|MR|Test|E|Lead 34318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034319|134319|989898|1|9999034319|MR|Test|E|Lead 34319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034320|134320|989898|1|9999034320|MR|Test|E|Lead 34320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034321|134321|989898|1|9999034321|MR|Test|E|Lead 34321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034322|134322|989898|1|9999034322|MR|Test|E|Lead 34322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034323|134323|989898|1|9999034323|MR|Test|E|Lead 34323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034324|134324|989898|1|9999034324|MR|Test|E|Lead 34324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034325|134325|989898|1|9999034325|MR|Test|E|Lead 34325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034326|134326|989898|1|9999034326|MR|Test|E|Lead 34326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034327|134327|989898|1|9999034327|MR|Test|E|Lead 34327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034328|134328|989898|1|9999034328|MR|Test|E|Lead 34328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034329|134329|989898|1|9999034329|MR|Test|E|Lead 34329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034330|134330|989898|1|9999034330|MR|Test|E|Lead 34330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034331|134331|989898|1|9999034331|MR|Test|E|Lead 34331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034332|134332|989898|1|9999034332|MR|Test|E|Lead 34332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034333|134333|989898|1|9999034333|MR|Test|E|Lead 34333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034334|134334|989898|1|9999034334|MR|Test|E|Lead 34334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034335|134335|989898|1|9999034335|MR|Test|E|Lead 34335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034336|134336|989898|1|9999034336|MR|Test|E|Lead 34336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034337|134337|989898|1|9999034337|MR|Test|E|Lead 34337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034338|134338|989898|1|9999034338|MR|Test|E|Lead 34338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034339|134339|989898|1|9999034339|MR|Test|E|Lead 34339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034340|134340|989898|1|9999034340|MR|Test|E|Lead 34340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034341|134341|989898|1|9999034341|MR|Test|E|Lead 34341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034342|134342|989898|1|9999034342|MR|Test|E|Lead 34342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034343|134343|989898|1|9999034343|MR|Test|E|Lead 34343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034344|134344|989898|1|9999034344|MR|Test|E|Lead 34344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034345|134345|989898|1|9999034345|MR|Test|E|Lead 34345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034346|134346|989898|1|9999034346|MR|Test|E|Lead 34346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034347|134347|989898|1|9999034347|MR|Test|E|Lead 34347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034348|134348|989898|1|9999034348|MR|Test|E|Lead 34348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034349|134349|989898|1|9999034349|MR|Test|E|Lead 34349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034350|134350|989898|1|9999034350|MR|Test|E|Lead 34350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034351|134351|989898|1|9999034351|MR|Test|E|Lead 34351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034352|134352|989898|1|9999034352|MR|Test|E|Lead 34352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034353|134353|989898|1|9999034353|MR|Test|E|Lead 34353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034354|134354|989898|1|9999034354|MR|Test|E|Lead 34354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034355|134355|989898|1|9999034355|MR|Test|E|Lead 34355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034356|134356|989898|1|9999034356|MR|Test|E|Lead 34356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034357|134357|989898|1|9999034357|MR|Test|E|Lead 34357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034358|134358|989898|1|9999034358|MR|Test|E|Lead 34358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034359|134359|989898|1|9999034359|MR|Test|E|Lead 34359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034360|134360|989898|1|9999034360|MR|Test|E|Lead 34360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034361|134361|989898|1|9999034361|MR|Test|E|Lead 34361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034362|134362|989898|1|9999034362|MR|Test|E|Lead 34362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034363|134363|989898|1|9999034363|MR|Test|E|Lead 34363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034364|134364|989898|1|9999034364|MR|Test|E|Lead 34364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034365|134365|989898|1|9999034365|MR|Test|E|Lead 34365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034366|134366|989898|1|9999034366|MR|Test|E|Lead 34366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034367|134367|989898|1|9999034367|MR|Test|E|Lead 34367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034368|134368|989898|1|9999034368|MR|Test|E|Lead 34368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034369|134369|989898|1|9999034369|MR|Test|E|Lead 34369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034370|134370|989898|1|9999034370|MR|Test|E|Lead 34370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034371|134371|989898|1|9999034371|MR|Test|E|Lead 34371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034372|134372|989898|1|9999034372|MR|Test|E|Lead 34372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034373|134373|989898|1|9999034373|MR|Test|E|Lead 34373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034374|134374|989898|1|9999034374|MR|Test|E|Lead 34374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034375|134375|989898|1|9999034375|MR|Test|E|Lead 34375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034376|134376|989898|1|9999034376|MR|Test|E|Lead 34376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034377|134377|989898|1|9999034377|MR|Test|E|Lead 34377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034378|134378|989898|1|9999034378|MR|Test|E|Lead 34378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034379|134379|989898|1|9999034379|MR|Test|E|Lead 34379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034380|134380|989898|1|9999034380|MR|Test|E|Lead 34380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034381|134381|989898|1|9999034381|MR|Test|E|Lead 34381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034382|134382|989898|1|9999034382|MR|Test|E|Lead 34382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034383|134383|989898|1|9999034383|MR|Test|E|Lead 34383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034384|134384|989898|1|9999034384|MR|Test|E|Lead 34384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034385|134385|989898|1|9999034385|MR|Test|E|Lead 34385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034386|134386|989898|1|9999034386|MR|Test|E|Lead 34386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034387|134387|989898|1|9999034387|MR|Test|E|Lead 34387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034388|134388|989898|1|9999034388|MR|Test|E|Lead 34388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034389|134389|989898|1|9999034389|MR|Test|E|Lead 34389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034390|134390|989898|1|9999034390|MR|Test|E|Lead 34390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034391|134391|989898|1|9999034391|MR|Test|E|Lead 34391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034392|134392|989898|1|9999034392|MR|Test|E|Lead 34392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034393|134393|989898|1|9999034393|MR|Test|E|Lead 34393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034394|134394|989898|1|9999034394|MR|Test|E|Lead 34394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034395|134395|989898|1|9999034395|MR|Test|E|Lead 34395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034396|134396|989898|1|9999034396|MR|Test|E|Lead 34396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034397|134397|989898|1|9999034397|MR|Test|E|Lead 34397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034398|134398|989898|1|9999034398|MR|Test|E|Lead 34398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034399|134399|989898|1|9999034399|MR|Test|E|Lead 34399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034400|134400|989898|1|9999034400|MR|Test|E|Lead 34400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034401|134401|989898|1|9999034401|MR|Test|E|Lead 34401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034402|134402|989898|1|9999034402|MR|Test|E|Lead 34402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034403|134403|989898|1|9999034403|MR|Test|E|Lead 34403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034404|134404|989898|1|9999034404|MR|Test|E|Lead 34404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034405|134405|989898|1|9999034405|MR|Test|E|Lead 34405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034406|134406|989898|1|9999034406|MR|Test|E|Lead 34406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034407|134407|989898|1|9999034407|MR|Test|E|Lead 34407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034408|134408|989898|1|9999034408|MR|Test|E|Lead 34408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034409|134409|989898|1|9999034409|MR|Test|E|Lead 34409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034410|134410|989898|1|9999034410|MR|Test|E|Lead 34410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034411|134411|989898|1|9999034411|MR|Test|E|Lead 34411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034412|134412|989898|1|9999034412|MR|Test|E|Lead 34412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034413|134413|989898|1|9999034413|MR|Test|E|Lead 34413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034414|134414|989898|1|9999034414|MR|Test|E|Lead 34414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034415|134415|989898|1|9999034415|MR|Test|E|Lead 34415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034416|134416|989898|1|9999034416|MR|Test|E|Lead 34416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034417|134417|989898|1|9999034417|MR|Test|E|Lead 34417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034418|134418|989898|1|9999034418|MR|Test|E|Lead 34418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034419|134419|989898|1|9999034419|MR|Test|E|Lead 34419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034420|134420|989898|1|9999034420|MR|Test|E|Lead 34420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034421|134421|989898|1|9999034421|MR|Test|E|Lead 34421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034422|134422|989898|1|9999034422|MR|Test|E|Lead 34422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034423|134423|989898|1|9999034423|MR|Test|E|Lead 34423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034424|134424|989898|1|9999034424|MR|Test|E|Lead 34424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034425|134425|989898|1|9999034425|MR|Test|E|Lead 34425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034426|134426|989898|1|9999034426|MR|Test|E|Lead 34426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034427|134427|989898|1|9999034427|MR|Test|E|Lead 34427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034428|134428|989898|1|9999034428|MR|Test|E|Lead 34428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034429|134429|989898|1|9999034429|MR|Test|E|Lead 34429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034430|134430|989898|1|9999034430|MR|Test|E|Lead 34430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034431|134431|989898|1|9999034431|MR|Test|E|Lead 34431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034432|134432|989898|1|9999034432|MR|Test|E|Lead 34432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034433|134433|989898|1|9999034433|MR|Test|E|Lead 34433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034434|134434|989898|1|9999034434|MR|Test|E|Lead 34434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034435|134435|989898|1|9999034435|MR|Test|E|Lead 34435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034436|134436|989898|1|9999034436|MR|Test|E|Lead 34436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034437|134437|989898|1|9999034437|MR|Test|E|Lead 34437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034438|134438|989898|1|9999034438|MR|Test|E|Lead 34438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034439|134439|989898|1|9999034439|MR|Test|E|Lead 34439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034440|134440|989898|1|9999034440|MR|Test|E|Lead 34440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034441|134441|989898|1|9999034441|MR|Test|E|Lead 34441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034442|134442|989898|1|9999034442|MR|Test|E|Lead 34442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034443|134443|989898|1|9999034443|MR|Test|E|Lead 34443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034444|134444|989898|1|9999034444|MR|Test|E|Lead 34444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034445|134445|989898|1|9999034445|MR|Test|E|Lead 34445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034446|134446|989898|1|9999034446|MR|Test|E|Lead 34446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034447|134447|989898|1|9999034447|MR|Test|E|Lead 34447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034448|134448|989898|1|9999034448|MR|Test|E|Lead 34448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034449|134449|989898|1|9999034449|MR|Test|E|Lead 34449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034450|134450|989898|1|9999034450|MR|Test|E|Lead 34450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034451|134451|989898|1|9999034451|MR|Test|E|Lead 34451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034452|134452|989898|1|9999034452|MR|Test|E|Lead 34452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034453|134453|989898|1|9999034453|MR|Test|E|Lead 34453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034454|134454|989898|1|9999034454|MR|Test|E|Lead 34454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034455|134455|989898|1|9999034455|MR|Test|E|Lead 34455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034456|134456|989898|1|9999034456|MR|Test|E|Lead 34456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034457|134457|989898|1|9999034457|MR|Test|E|Lead 34457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034458|134458|989898|1|9999034458|MR|Test|E|Lead 34458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034459|134459|989898|1|9999034459|MR|Test|E|Lead 34459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034460|134460|989898|1|9999034460|MR|Test|E|Lead 34460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034461|134461|989898|1|9999034461|MR|Test|E|Lead 34461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034462|134462|989898|1|9999034462|MR|Test|E|Lead 34462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034463|134463|989898|1|9999034463|MR|Test|E|Lead 34463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034464|134464|989898|1|9999034464|MR|Test|E|Lead 34464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034465|134465|989898|1|9999034465|MR|Test|E|Lead 34465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034466|134466|989898|1|9999034466|MR|Test|E|Lead 34466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034467|134467|989898|1|9999034467|MR|Test|E|Lead 34467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034468|134468|989898|1|9999034468|MR|Test|E|Lead 34468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034469|134469|989898|1|9999034469|MR|Test|E|Lead 34469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034470|134470|989898|1|9999034470|MR|Test|E|Lead 34470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034471|134471|989898|1|9999034471|MR|Test|E|Lead 34471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034472|134472|989898|1|9999034472|MR|Test|E|Lead 34472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034473|134473|989898|1|9999034473|MR|Test|E|Lead 34473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034474|134474|989898|1|9999034474|MR|Test|E|Lead 34474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034475|134475|989898|1|9999034475|MR|Test|E|Lead 34475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034476|134476|989898|1|9999034476|MR|Test|E|Lead 34476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034477|134477|989898|1|9999034477|MR|Test|E|Lead 34477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034478|134478|989898|1|9999034478|MR|Test|E|Lead 34478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034479|134479|989898|1|9999034479|MR|Test|E|Lead 34479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034480|134480|989898|1|9999034480|MR|Test|E|Lead 34480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034481|134481|989898|1|9999034481|MR|Test|E|Lead 34481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034482|134482|989898|1|9999034482|MR|Test|E|Lead 34482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034483|134483|989898|1|9999034483|MR|Test|E|Lead 34483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034484|134484|989898|1|9999034484|MR|Test|E|Lead 34484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034485|134485|989898|1|9999034485|MR|Test|E|Lead 34485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034486|134486|989898|1|9999034486|MR|Test|E|Lead 34486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034487|134487|989898|1|9999034487|MR|Test|E|Lead 34487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034488|134488|989898|1|9999034488|MR|Test|E|Lead 34488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034489|134489|989898|1|9999034489|MR|Test|E|Lead 34489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034490|134490|989898|1|9999034490|MR|Test|E|Lead 34490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034491|134491|989898|1|9999034491|MR|Test|E|Lead 34491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034492|134492|989898|1|9999034492|MR|Test|E|Lead 34492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034493|134493|989898|1|9999034493|MR|Test|E|Lead 34493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034494|134494|989898|1|9999034494|MR|Test|E|Lead 34494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034495|134495|989898|1|9999034495|MR|Test|E|Lead 34495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034496|134496|989898|1|9999034496|MR|Test|E|Lead 34496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034497|134497|989898|1|9999034497|MR|Test|E|Lead 34497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034498|134498|989898|1|9999034498|MR|Test|E|Lead 34498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034499|134499|989898|1|9999034499|MR|Test|E|Lead 34499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034500|134500|989898|1|9999034500|MR|Test|E|Lead 34500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034501|134501|989898|1|9999034501|MR|Test|E|Lead 34501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034502|134502|989898|1|9999034502|MR|Test|E|Lead 34502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034503|134503|989898|1|9999034503|MR|Test|E|Lead 34503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034504|134504|989898|1|9999034504|MR|Test|E|Lead 34504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034505|134505|989898|1|9999034505|MR|Test|E|Lead 34505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034506|134506|989898|1|9999034506|MR|Test|E|Lead 34506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034507|134507|989898|1|9999034507|MR|Test|E|Lead 34507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034508|134508|989898|1|9999034508|MR|Test|E|Lead 34508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034509|134509|989898|1|9999034509|MR|Test|E|Lead 34509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034510|134510|989898|1|9999034510|MR|Test|E|Lead 34510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034511|134511|989898|1|9999034511|MR|Test|E|Lead 34511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034512|134512|989898|1|9999034512|MR|Test|E|Lead 34512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034513|134513|989898|1|9999034513|MR|Test|E|Lead 34513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034514|134514|989898|1|9999034514|MR|Test|E|Lead 34514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034515|134515|989898|1|9999034515|MR|Test|E|Lead 34515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034516|134516|989898|1|9999034516|MR|Test|E|Lead 34516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034517|134517|989898|1|9999034517|MR|Test|E|Lead 34517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034518|134518|989898|1|9999034518|MR|Test|E|Lead 34518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034519|134519|989898|1|9999034519|MR|Test|E|Lead 34519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034520|134520|989898|1|9999034520|MR|Test|E|Lead 34520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034521|134521|989898|1|9999034521|MR|Test|E|Lead 34521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034522|134522|989898|1|9999034522|MR|Test|E|Lead 34522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034523|134523|989898|1|9999034523|MR|Test|E|Lead 34523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034524|134524|989898|1|9999034524|MR|Test|E|Lead 34524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034525|134525|989898|1|9999034525|MR|Test|E|Lead 34525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034526|134526|989898|1|9999034526|MR|Test|E|Lead 34526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034527|134527|989898|1|9999034527|MR|Test|E|Lead 34527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034528|134528|989898|1|9999034528|MR|Test|E|Lead 34528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034529|134529|989898|1|9999034529|MR|Test|E|Lead 34529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034530|134530|989898|1|9999034530|MR|Test|E|Lead 34530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034531|134531|989898|1|9999034531|MR|Test|E|Lead 34531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034532|134532|989898|1|9999034532|MR|Test|E|Lead 34532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034533|134533|989898|1|9999034533|MR|Test|E|Lead 34533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034534|134534|989898|1|9999034534|MR|Test|E|Lead 34534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034535|134535|989898|1|9999034535|MR|Test|E|Lead 34535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034536|134536|989898|1|9999034536|MR|Test|E|Lead 34536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034537|134537|989898|1|9999034537|MR|Test|E|Lead 34537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034538|134538|989898|1|9999034538|MR|Test|E|Lead 34538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034539|134539|989898|1|9999034539|MR|Test|E|Lead 34539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034540|134540|989898|1|9999034540|MR|Test|E|Lead 34540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034541|134541|989898|1|9999034541|MR|Test|E|Lead 34541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034542|134542|989898|1|9999034542|MR|Test|E|Lead 34542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034543|134543|989898|1|9999034543|MR|Test|E|Lead 34543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034544|134544|989898|1|9999034544|MR|Test|E|Lead 34544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034545|134545|989898|1|9999034545|MR|Test|E|Lead 34545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034546|134546|989898|1|9999034546|MR|Test|E|Lead 34546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034547|134547|989898|1|9999034547|MR|Test|E|Lead 34547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034548|134548|989898|1|9999034548|MR|Test|E|Lead 34548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034549|134549|989898|1|9999034549|MR|Test|E|Lead 34549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034550|134550|989898|1|9999034550|MR|Test|E|Lead 34550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034551|134551|989898|1|9999034551|MR|Test|E|Lead 34551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034552|134552|989898|1|9999034552|MR|Test|E|Lead 34552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034553|134553|989898|1|9999034553|MR|Test|E|Lead 34553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034554|134554|989898|1|9999034554|MR|Test|E|Lead 34554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034555|134555|989898|1|9999034555|MR|Test|E|Lead 34555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034556|134556|989898|1|9999034556|MR|Test|E|Lead 34556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034557|134557|989898|1|9999034557|MR|Test|E|Lead 34557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034558|134558|989898|1|9999034558|MR|Test|E|Lead 34558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034559|134559|989898|1|9999034559|MR|Test|E|Lead 34559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034560|134560|989898|1|9999034560|MR|Test|E|Lead 34560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034561|134561|989898|1|9999034561|MR|Test|E|Lead 34561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034562|134562|989898|1|9999034562|MR|Test|E|Lead 34562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034563|134563|989898|1|9999034563|MR|Test|E|Lead 34563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034564|134564|989898|1|9999034564|MR|Test|E|Lead 34564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034565|134565|989898|1|9999034565|MR|Test|E|Lead 34565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034566|134566|989898|1|9999034566|MR|Test|E|Lead 34566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034567|134567|989898|1|9999034567|MR|Test|E|Lead 34567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034568|134568|989898|1|9999034568|MR|Test|E|Lead 34568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034569|134569|989898|1|9999034569|MR|Test|E|Lead 34569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034570|134570|989898|1|9999034570|MR|Test|E|Lead 34570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034571|134571|989898|1|9999034571|MR|Test|E|Lead 34571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034572|134572|989898|1|9999034572|MR|Test|E|Lead 34572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034573|134573|989898|1|9999034573|MR|Test|E|Lead 34573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034574|134574|989898|1|9999034574|MR|Test|E|Lead 34574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034575|134575|989898|1|9999034575|MR|Test|E|Lead 34575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034576|134576|989898|1|9999034576|MR|Test|E|Lead 34576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034577|134577|989898|1|9999034577|MR|Test|E|Lead 34577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034578|134578|989898|1|9999034578|MR|Test|E|Lead 34578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034579|134579|989898|1|9999034579|MR|Test|E|Lead 34579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034580|134580|989898|1|9999034580|MR|Test|E|Lead 34580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034581|134581|989898|1|9999034581|MR|Test|E|Lead 34581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034582|134582|989898|1|9999034582|MR|Test|E|Lead 34582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034583|134583|989898|1|9999034583|MR|Test|E|Lead 34583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034584|134584|989898|1|9999034584|MR|Test|E|Lead 34584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034585|134585|989898|1|9999034585|MR|Test|E|Lead 34585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034586|134586|989898|1|9999034586|MR|Test|E|Lead 34586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034587|134587|989898|1|9999034587|MR|Test|E|Lead 34587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034588|134588|989898|1|9999034588|MR|Test|E|Lead 34588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034589|134589|989898|1|9999034589|MR|Test|E|Lead 34589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034590|134590|989898|1|9999034590|MR|Test|E|Lead 34590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034591|134591|989898|1|9999034591|MR|Test|E|Lead 34591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034592|134592|989898|1|9999034592|MR|Test|E|Lead 34592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034593|134593|989898|1|9999034593|MR|Test|E|Lead 34593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034594|134594|989898|1|9999034594|MR|Test|E|Lead 34594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034595|134595|989898|1|9999034595|MR|Test|E|Lead 34595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034596|134596|989898|1|9999034596|MR|Test|E|Lead 34596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034597|134597|989898|1|9999034597|MR|Test|E|Lead 34597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034598|134598|989898|1|9999034598|MR|Test|E|Lead 34598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034599|134599|989898|1|9999034599|MR|Test|E|Lead 34599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034600|134600|989898|1|9999034600|MR|Test|E|Lead 34600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034601|134601|989898|1|9999034601|MR|Test|E|Lead 34601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034602|134602|989898|1|9999034602|MR|Test|E|Lead 34602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034603|134603|989898|1|9999034603|MR|Test|E|Lead 34603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034604|134604|989898|1|9999034604|MR|Test|E|Lead 34604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034605|134605|989898|1|9999034605|MR|Test|E|Lead 34605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034606|134606|989898|1|9999034606|MR|Test|E|Lead 34606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034607|134607|989898|1|9999034607|MR|Test|E|Lead 34607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034608|134608|989898|1|9999034608|MR|Test|E|Lead 34608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034609|134609|989898|1|9999034609|MR|Test|E|Lead 34609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034610|134610|989898|1|9999034610|MR|Test|E|Lead 34610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034611|134611|989898|1|9999034611|MR|Test|E|Lead 34611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034612|134612|989898|1|9999034612|MR|Test|E|Lead 34612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034613|134613|989898|1|9999034613|MR|Test|E|Lead 34613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034614|134614|989898|1|9999034614|MR|Test|E|Lead 34614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034615|134615|989898|1|9999034615|MR|Test|E|Lead 34615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034616|134616|989898|1|9999034616|MR|Test|E|Lead 34616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034617|134617|989898|1|9999034617|MR|Test|E|Lead 34617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034618|134618|989898|1|9999034618|MR|Test|E|Lead 34618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034619|134619|989898|1|9999034619|MR|Test|E|Lead 34619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034620|134620|989898|1|9999034620|MR|Test|E|Lead 34620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034621|134621|989898|1|9999034621|MR|Test|E|Lead 34621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034622|134622|989898|1|9999034622|MR|Test|E|Lead 34622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034623|134623|989898|1|9999034623|MR|Test|E|Lead 34623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034624|134624|989898|1|9999034624|MR|Test|E|Lead 34624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034625|134625|989898|1|9999034625|MR|Test|E|Lead 34625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034626|134626|989898|1|9999034626|MR|Test|E|Lead 34626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034627|134627|989898|1|9999034627|MR|Test|E|Lead 34627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034628|134628|989898|1|9999034628|MR|Test|E|Lead 34628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034629|134629|989898|1|9999034629|MR|Test|E|Lead 34629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034630|134630|989898|1|9999034630|MR|Test|E|Lead 34630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034631|134631|989898|1|9999034631|MR|Test|E|Lead 34631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034632|134632|989898|1|9999034632|MR|Test|E|Lead 34632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034633|134633|989898|1|9999034633|MR|Test|E|Lead 34633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034634|134634|989898|1|9999034634|MR|Test|E|Lead 34634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034635|134635|989898|1|9999034635|MR|Test|E|Lead 34635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034636|134636|989898|1|9999034636|MR|Test|E|Lead 34636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034637|134637|989898|1|9999034637|MR|Test|E|Lead 34637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034638|134638|989898|1|9999034638|MR|Test|E|Lead 34638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034639|134639|989898|1|9999034639|MR|Test|E|Lead 34639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034640|134640|989898|1|9999034640|MR|Test|E|Lead 34640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034641|134641|989898|1|9999034641|MR|Test|E|Lead 34641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034642|134642|989898|1|9999034642|MR|Test|E|Lead 34642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034643|134643|989898|1|9999034643|MR|Test|E|Lead 34643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034644|134644|989898|1|9999034644|MR|Test|E|Lead 34644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034645|134645|989898|1|9999034645|MR|Test|E|Lead 34645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034646|134646|989898|1|9999034646|MR|Test|E|Lead 34646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034647|134647|989898|1|9999034647|MR|Test|E|Lead 34647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034648|134648|989898|1|9999034648|MR|Test|E|Lead 34648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034649|134649|989898|1|9999034649|MR|Test|E|Lead 34649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034650|134650|989898|1|9999034650|MR|Test|E|Lead 34650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034651|134651|989898|1|9999034651|MR|Test|E|Lead 34651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034652|134652|989898|1|9999034652|MR|Test|E|Lead 34652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034653|134653|989898|1|9999034653|MR|Test|E|Lead 34653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034654|134654|989898|1|9999034654|MR|Test|E|Lead 34654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034655|134655|989898|1|9999034655|MR|Test|E|Lead 34655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034656|134656|989898|1|9999034656|MR|Test|E|Lead 34656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034657|134657|989898|1|9999034657|MR|Test|E|Lead 34657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034658|134658|989898|1|9999034658|MR|Test|E|Lead 34658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034659|134659|989898|1|9999034659|MR|Test|E|Lead 34659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034660|134660|989898|1|9999034660|MR|Test|E|Lead 34660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034661|134661|989898|1|9999034661|MR|Test|E|Lead 34661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034662|134662|989898|1|9999034662|MR|Test|E|Lead 34662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034663|134663|989898|1|9999034663|MR|Test|E|Lead 34663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034664|134664|989898|1|9999034664|MR|Test|E|Lead 34664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034665|134665|989898|1|9999034665|MR|Test|E|Lead 34665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034666|134666|989898|1|9999034666|MR|Test|E|Lead 34666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034667|134667|989898|1|9999034667|MR|Test|E|Lead 34667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034668|134668|989898|1|9999034668|MR|Test|E|Lead 34668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034669|134669|989898|1|9999034669|MR|Test|E|Lead 34669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034670|134670|989898|1|9999034670|MR|Test|E|Lead 34670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034671|134671|989898|1|9999034671|MR|Test|E|Lead 34671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034672|134672|989898|1|9999034672|MR|Test|E|Lead 34672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034673|134673|989898|1|9999034673|MR|Test|E|Lead 34673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034674|134674|989898|1|9999034674|MR|Test|E|Lead 34674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034675|134675|989898|1|9999034675|MR|Test|E|Lead 34675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034676|134676|989898|1|9999034676|MR|Test|E|Lead 34676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034677|134677|989898|1|9999034677|MR|Test|E|Lead 34677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034678|134678|989898|1|9999034678|MR|Test|E|Lead 34678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034679|134679|989898|1|9999034679|MR|Test|E|Lead 34679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034680|134680|989898|1|9999034680|MR|Test|E|Lead 34680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034681|134681|989898|1|9999034681|MR|Test|E|Lead 34681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034682|134682|989898|1|9999034682|MR|Test|E|Lead 34682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034683|134683|989898|1|9999034683|MR|Test|E|Lead 34683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034684|134684|989898|1|9999034684|MR|Test|E|Lead 34684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034685|134685|989898|1|9999034685|MR|Test|E|Lead 34685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034686|134686|989898|1|9999034686|MR|Test|E|Lead 34686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034687|134687|989898|1|9999034687|MR|Test|E|Lead 34687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034688|134688|989898|1|9999034688|MR|Test|E|Lead 34688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034689|134689|989898|1|9999034689|MR|Test|E|Lead 34689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034690|134690|989898|1|9999034690|MR|Test|E|Lead 34690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034691|134691|989898|1|9999034691|MR|Test|E|Lead 34691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034692|134692|989898|1|9999034692|MR|Test|E|Lead 34692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034693|134693|989898|1|9999034693|MR|Test|E|Lead 34693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034694|134694|989898|1|9999034694|MR|Test|E|Lead 34694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034695|134695|989898|1|9999034695|MR|Test|E|Lead 34695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034696|134696|989898|1|9999034696|MR|Test|E|Lead 34696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034697|134697|989898|1|9999034697|MR|Test|E|Lead 34697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034698|134698|989898|1|9999034698|MR|Test|E|Lead 34698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034699|134699|989898|1|9999034699|MR|Test|E|Lead 34699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034700|134700|989898|1|9999034700|MR|Test|E|Lead 34700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034701|134701|989898|1|9999034701|MR|Test|E|Lead 34701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034702|134702|989898|1|9999034702|MR|Test|E|Lead 34702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034703|134703|989898|1|9999034703|MR|Test|E|Lead 34703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034704|134704|989898|1|9999034704|MR|Test|E|Lead 34704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034705|134705|989898|1|9999034705|MR|Test|E|Lead 34705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034706|134706|989898|1|9999034706|MR|Test|E|Lead 34706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034707|134707|989898|1|9999034707|MR|Test|E|Lead 34707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034708|134708|989898|1|9999034708|MR|Test|E|Lead 34708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034709|134709|989898|1|9999034709|MR|Test|E|Lead 34709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034710|134710|989898|1|9999034710|MR|Test|E|Lead 34710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034711|134711|989898|1|9999034711|MR|Test|E|Lead 34711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034712|134712|989898|1|9999034712|MR|Test|E|Lead 34712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034713|134713|989898|1|9999034713|MR|Test|E|Lead 34713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034714|134714|989898|1|9999034714|MR|Test|E|Lead 34714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034715|134715|989898|1|9999034715|MR|Test|E|Lead 34715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034716|134716|989898|1|9999034716|MR|Test|E|Lead 34716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034717|134717|989898|1|9999034717|MR|Test|E|Lead 34717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034718|134718|989898|1|9999034718|MR|Test|E|Lead 34718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034719|134719|989898|1|9999034719|MR|Test|E|Lead 34719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034720|134720|989898|1|9999034720|MR|Test|E|Lead 34720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034721|134721|989898|1|9999034721|MR|Test|E|Lead 34721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034722|134722|989898|1|9999034722|MR|Test|E|Lead 34722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034723|134723|989898|1|9999034723|MR|Test|E|Lead 34723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034724|134724|989898|1|9999034724|MR|Test|E|Lead 34724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034725|134725|989898|1|9999034725|MR|Test|E|Lead 34725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034726|134726|989898|1|9999034726|MR|Test|E|Lead 34726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034727|134727|989898|1|9999034727|MR|Test|E|Lead 34727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034728|134728|989898|1|9999034728|MR|Test|E|Lead 34728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034729|134729|989898|1|9999034729|MR|Test|E|Lead 34729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034730|134730|989898|1|9999034730|MR|Test|E|Lead 34730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034731|134731|989898|1|9999034731|MR|Test|E|Lead 34731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034732|134732|989898|1|9999034732|MR|Test|E|Lead 34732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034733|134733|989898|1|9999034733|MR|Test|E|Lead 34733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034734|134734|989898|1|9999034734|MR|Test|E|Lead 34734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034735|134735|989898|1|9999034735|MR|Test|E|Lead 34735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034736|134736|989898|1|9999034736|MR|Test|E|Lead 34736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034737|134737|989898|1|9999034737|MR|Test|E|Lead 34737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034738|134738|989898|1|9999034738|MR|Test|E|Lead 34738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034739|134739|989898|1|9999034739|MR|Test|E|Lead 34739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034740|134740|989898|1|9999034740|MR|Test|E|Lead 34740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034741|134741|989898|1|9999034741|MR|Test|E|Lead 34741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034742|134742|989898|1|9999034742|MR|Test|E|Lead 34742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034743|134743|989898|1|9999034743|MR|Test|E|Lead 34743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034744|134744|989898|1|9999034744|MR|Test|E|Lead 34744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034745|134745|989898|1|9999034745|MR|Test|E|Lead 34745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034746|134746|989898|1|9999034746|MR|Test|E|Lead 34746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034747|134747|989898|1|9999034747|MR|Test|E|Lead 34747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034748|134748|989898|1|9999034748|MR|Test|E|Lead 34748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034749|134749|989898|1|9999034749|MR|Test|E|Lead 34749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034750|134750|989898|1|9999034750|MR|Test|E|Lead 34750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034751|134751|989898|1|9999034751|MR|Test|E|Lead 34751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034752|134752|989898|1|9999034752|MR|Test|E|Lead 34752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034753|134753|989898|1|9999034753|MR|Test|E|Lead 34753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034754|134754|989898|1|9999034754|MR|Test|E|Lead 34754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034755|134755|989898|1|9999034755|MR|Test|E|Lead 34755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034756|134756|989898|1|9999034756|MR|Test|E|Lead 34756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034757|134757|989898|1|9999034757|MR|Test|E|Lead 34757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034758|134758|989898|1|9999034758|MR|Test|E|Lead 34758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034759|134759|989898|1|9999034759|MR|Test|E|Lead 34759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034760|134760|989898|1|9999034760|MR|Test|E|Lead 34760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034761|134761|989898|1|9999034761|MR|Test|E|Lead 34761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034762|134762|989898|1|9999034762|MR|Test|E|Lead 34762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034763|134763|989898|1|9999034763|MR|Test|E|Lead 34763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034764|134764|989898|1|9999034764|MR|Test|E|Lead 34764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034765|134765|989898|1|9999034765|MR|Test|E|Lead 34765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034766|134766|989898|1|9999034766|MR|Test|E|Lead 34766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034767|134767|989898|1|9999034767|MR|Test|E|Lead 34767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034768|134768|989898|1|9999034768|MR|Test|E|Lead 34768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034769|134769|989898|1|9999034769|MR|Test|E|Lead 34769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034770|134770|989898|1|9999034770|MR|Test|E|Lead 34770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034771|134771|989898|1|9999034771|MR|Test|E|Lead 34771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034772|134772|989898|1|9999034772|MR|Test|E|Lead 34772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034773|134773|989898|1|9999034773|MR|Test|E|Lead 34773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034774|134774|989898|1|9999034774|MR|Test|E|Lead 34774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034775|134775|989898|1|9999034775|MR|Test|E|Lead 34775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034776|134776|989898|1|9999034776|MR|Test|E|Lead 34776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034777|134777|989898|1|9999034777|MR|Test|E|Lead 34777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034778|134778|989898|1|9999034778|MR|Test|E|Lead 34778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034779|134779|989898|1|9999034779|MR|Test|E|Lead 34779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034780|134780|989898|1|9999034780|MR|Test|E|Lead 34780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034781|134781|989898|1|9999034781|MR|Test|E|Lead 34781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034782|134782|989898|1|9999034782|MR|Test|E|Lead 34782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034783|134783|989898|1|9999034783|MR|Test|E|Lead 34783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034784|134784|989898|1|9999034784|MR|Test|E|Lead 34784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034785|134785|989898|1|9999034785|MR|Test|E|Lead 34785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034786|134786|989898|1|9999034786|MR|Test|E|Lead 34786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034787|134787|989898|1|9999034787|MR|Test|E|Lead 34787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034788|134788|989898|1|9999034788|MR|Test|E|Lead 34788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034789|134789|989898|1|9999034789|MR|Test|E|Lead 34789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034790|134790|989898|1|9999034790|MR|Test|E|Lead 34790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034791|134791|989898|1|9999034791|MR|Test|E|Lead 34791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034792|134792|989898|1|9999034792|MR|Test|E|Lead 34792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034793|134793|989898|1|9999034793|MR|Test|E|Lead 34793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034794|134794|989898|1|9999034794|MR|Test|E|Lead 34794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034795|134795|989898|1|9999034795|MR|Test|E|Lead 34795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034796|134796|989898|1|9999034796|MR|Test|E|Lead 34796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034797|134797|989898|1|9999034797|MR|Test|E|Lead 34797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034798|134798|989898|1|9999034798|MR|Test|E|Lead 34798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034799|134799|989898|1|9999034799|MR|Test|E|Lead 34799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034800|134800|989898|1|9999034800|MR|Test|E|Lead 34800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034801|134801|989898|1|9999034801|MR|Test|E|Lead 34801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034802|134802|989898|1|9999034802|MR|Test|E|Lead 34802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034803|134803|989898|1|9999034803|MR|Test|E|Lead 34803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034804|134804|989898|1|9999034804|MR|Test|E|Lead 34804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034805|134805|989898|1|9999034805|MR|Test|E|Lead 34805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034806|134806|989898|1|9999034806|MR|Test|E|Lead 34806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034807|134807|989898|1|9999034807|MR|Test|E|Lead 34807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034808|134808|989898|1|9999034808|MR|Test|E|Lead 34808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034809|134809|989898|1|9999034809|MR|Test|E|Lead 34809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034810|134810|989898|1|9999034810|MR|Test|E|Lead 34810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034811|134811|989898|1|9999034811|MR|Test|E|Lead 34811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034812|134812|989898|1|9999034812|MR|Test|E|Lead 34812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034813|134813|989898|1|9999034813|MR|Test|E|Lead 34813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034814|134814|989898|1|9999034814|MR|Test|E|Lead 34814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034815|134815|989898|1|9999034815|MR|Test|E|Lead 34815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034816|134816|989898|1|9999034816|MR|Test|E|Lead 34816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034817|134817|989898|1|9999034817|MR|Test|E|Lead 34817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034818|134818|989898|1|9999034818|MR|Test|E|Lead 34818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034819|134819|989898|1|9999034819|MR|Test|E|Lead 34819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034820|134820|989898|1|9999034820|MR|Test|E|Lead 34820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034821|134821|989898|1|9999034821|MR|Test|E|Lead 34821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034822|134822|989898|1|9999034822|MR|Test|E|Lead 34822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034823|134823|989898|1|9999034823|MR|Test|E|Lead 34823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034824|134824|989898|1|9999034824|MR|Test|E|Lead 34824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034825|134825|989898|1|9999034825|MR|Test|E|Lead 34825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034826|134826|989898|1|9999034826|MR|Test|E|Lead 34826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034827|134827|989898|1|9999034827|MR|Test|E|Lead 34827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034828|134828|989898|1|9999034828|MR|Test|E|Lead 34828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034829|134829|989898|1|9999034829|MR|Test|E|Lead 34829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034830|134830|989898|1|9999034830|MR|Test|E|Lead 34830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034831|134831|989898|1|9999034831|MR|Test|E|Lead 34831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034832|134832|989898|1|9999034832|MR|Test|E|Lead 34832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034833|134833|989898|1|9999034833|MR|Test|E|Lead 34833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034834|134834|989898|1|9999034834|MR|Test|E|Lead 34834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034835|134835|989898|1|9999034835|MR|Test|E|Lead 34835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034836|134836|989898|1|9999034836|MR|Test|E|Lead 34836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034837|134837|989898|1|9999034837|MR|Test|E|Lead 34837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034838|134838|989898|1|9999034838|MR|Test|E|Lead 34838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034839|134839|989898|1|9999034839|MR|Test|E|Lead 34839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034840|134840|989898|1|9999034840|MR|Test|E|Lead 34840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034841|134841|989898|1|9999034841|MR|Test|E|Lead 34841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034842|134842|989898|1|9999034842|MR|Test|E|Lead 34842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034843|134843|989898|1|9999034843|MR|Test|E|Lead 34843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034844|134844|989898|1|9999034844|MR|Test|E|Lead 34844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034845|134845|989898|1|9999034845|MR|Test|E|Lead 34845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034846|134846|989898|1|9999034846|MR|Test|E|Lead 34846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034847|134847|989898|1|9999034847|MR|Test|E|Lead 34847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034848|134848|989898|1|9999034848|MR|Test|E|Lead 34848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034849|134849|989898|1|9999034849|MR|Test|E|Lead 34849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034850|134850|989898|1|9999034850|MR|Test|E|Lead 34850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034851|134851|989898|1|9999034851|MR|Test|E|Lead 34851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034852|134852|989898|1|9999034852|MR|Test|E|Lead 34852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034853|134853|989898|1|9999034853|MR|Test|E|Lead 34853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034854|134854|989898|1|9999034854|MR|Test|E|Lead 34854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034855|134855|989898|1|9999034855|MR|Test|E|Lead 34855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034856|134856|989898|1|9999034856|MR|Test|E|Lead 34856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034857|134857|989898|1|9999034857|MR|Test|E|Lead 34857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034858|134858|989898|1|9999034858|MR|Test|E|Lead 34858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034859|134859|989898|1|9999034859|MR|Test|E|Lead 34859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034860|134860|989898|1|9999034860|MR|Test|E|Lead 34860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034861|134861|989898|1|9999034861|MR|Test|E|Lead 34861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034862|134862|989898|1|9999034862|MR|Test|E|Lead 34862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034863|134863|989898|1|9999034863|MR|Test|E|Lead 34863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034864|134864|989898|1|9999034864|MR|Test|E|Lead 34864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034865|134865|989898|1|9999034865|MR|Test|E|Lead 34865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034866|134866|989898|1|9999034866|MR|Test|E|Lead 34866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034867|134867|989898|1|9999034867|MR|Test|E|Lead 34867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034868|134868|989898|1|9999034868|MR|Test|E|Lead 34868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034869|134869|989898|1|9999034869|MR|Test|E|Lead 34869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034870|134870|989898|1|9999034870|MR|Test|E|Lead 34870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034871|134871|989898|1|9999034871|MR|Test|E|Lead 34871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034872|134872|989898|1|9999034872|MR|Test|E|Lead 34872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034873|134873|989898|1|9999034873|MR|Test|E|Lead 34873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034874|134874|989898|1|9999034874|MR|Test|E|Lead 34874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034875|134875|989898|1|9999034875|MR|Test|E|Lead 34875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034876|134876|989898|1|9999034876|MR|Test|E|Lead 34876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034877|134877|989898|1|9999034877|MR|Test|E|Lead 34877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034878|134878|989898|1|9999034878|MR|Test|E|Lead 34878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034879|134879|989898|1|9999034879|MR|Test|E|Lead 34879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034880|134880|989898|1|9999034880|MR|Test|E|Lead 34880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034881|134881|989898|1|9999034881|MR|Test|E|Lead 34881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034882|134882|989898|1|9999034882|MR|Test|E|Lead 34882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034883|134883|989898|1|9999034883|MR|Test|E|Lead 34883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034884|134884|989898|1|9999034884|MR|Test|E|Lead 34884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034885|134885|989898|1|9999034885|MR|Test|E|Lead 34885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034886|134886|989898|1|9999034886|MR|Test|E|Lead 34886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034887|134887|989898|1|9999034887|MR|Test|E|Lead 34887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034888|134888|989898|1|9999034888|MR|Test|E|Lead 34888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034889|134889|989898|1|9999034889|MR|Test|E|Lead 34889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034890|134890|989898|1|9999034890|MR|Test|E|Lead 34890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034891|134891|989898|1|9999034891|MR|Test|E|Lead 34891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034892|134892|989898|1|9999034892|MR|Test|E|Lead 34892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034893|134893|989898|1|9999034893|MR|Test|E|Lead 34893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034894|134894|989898|1|9999034894|MR|Test|E|Lead 34894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034895|134895|989898|1|9999034895|MR|Test|E|Lead 34895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034896|134896|989898|1|9999034896|MR|Test|E|Lead 34896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034897|134897|989898|1|9999034897|MR|Test|E|Lead 34897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034898|134898|989898|1|9999034898|MR|Test|E|Lead 34898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034899|134899|989898|1|9999034899|MR|Test|E|Lead 34899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034900|134900|989898|1|9999034900|MR|Test|E|Lead 34900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034901|134901|989898|1|9999034901|MR|Test|E|Lead 34901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034902|134902|989898|1|9999034902|MR|Test|E|Lead 34902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034903|134903|989898|1|9999034903|MR|Test|E|Lead 34903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034904|134904|989898|1|9999034904|MR|Test|E|Lead 34904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034905|134905|989898|1|9999034905|MR|Test|E|Lead 34905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034906|134906|989898|1|9999034906|MR|Test|E|Lead 34906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034907|134907|989898|1|9999034907|MR|Test|E|Lead 34907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034908|134908|989898|1|9999034908|MR|Test|E|Lead 34908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034909|134909|989898|1|9999034909|MR|Test|E|Lead 34909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034910|134910|989898|1|9999034910|MR|Test|E|Lead 34910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034911|134911|989898|1|9999034911|MR|Test|E|Lead 34911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034912|134912|989898|1|9999034912|MR|Test|E|Lead 34912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034913|134913|989898|1|9999034913|MR|Test|E|Lead 34913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034914|134914|989898|1|9999034914|MR|Test|E|Lead 34914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034915|134915|989898|1|9999034915|MR|Test|E|Lead 34915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034916|134916|989898|1|9999034916|MR|Test|E|Lead 34916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034917|134917|989898|1|9999034917|MR|Test|E|Lead 34917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034918|134918|989898|1|9999034918|MR|Test|E|Lead 34918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034919|134919|989898|1|9999034919|MR|Test|E|Lead 34919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034920|134920|989898|1|9999034920|MR|Test|E|Lead 34920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034921|134921|989898|1|9999034921|MR|Test|E|Lead 34921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034922|134922|989898|1|9999034922|MR|Test|E|Lead 34922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034923|134923|989898|1|9999034923|MR|Test|E|Lead 34923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034924|134924|989898|1|9999034924|MR|Test|E|Lead 34924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034925|134925|989898|1|9999034925|MR|Test|E|Lead 34925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034926|134926|989898|1|9999034926|MR|Test|E|Lead 34926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034927|134927|989898|1|9999034927|MR|Test|E|Lead 34927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034928|134928|989898|1|9999034928|MR|Test|E|Lead 34928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034929|134929|989898|1|9999034929|MR|Test|E|Lead 34929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034930|134930|989898|1|9999034930|MR|Test|E|Lead 34930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034931|134931|989898|1|9999034931|MR|Test|E|Lead 34931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034932|134932|989898|1|9999034932|MR|Test|E|Lead 34932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034933|134933|989898|1|9999034933|MR|Test|E|Lead 34933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034934|134934|989898|1|9999034934|MR|Test|E|Lead 34934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034935|134935|989898|1|9999034935|MR|Test|E|Lead 34935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034936|134936|989898|1|9999034936|MR|Test|E|Lead 34936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034937|134937|989898|1|9999034937|MR|Test|E|Lead 34937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034938|134938|989898|1|9999034938|MR|Test|E|Lead 34938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034939|134939|989898|1|9999034939|MR|Test|E|Lead 34939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034940|134940|989898|1|9999034940|MR|Test|E|Lead 34940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034941|134941|989898|1|9999034941|MR|Test|E|Lead 34941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034942|134942|989898|1|9999034942|MR|Test|E|Lead 34942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034943|134943|989898|1|9999034943|MR|Test|E|Lead 34943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034944|134944|989898|1|9999034944|MR|Test|E|Lead 34944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034945|134945|989898|1|9999034945|MR|Test|E|Lead 34945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034946|134946|989898|1|9999034946|MR|Test|E|Lead 34946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034947|134947|989898|1|9999034947|MR|Test|E|Lead 34947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034948|134948|989898|1|9999034948|MR|Test|E|Lead 34948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034949|134949|989898|1|9999034949|MR|Test|E|Lead 34949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034950|134950|989898|1|9999034950|MR|Test|E|Lead 34950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034951|134951|989898|1|9999034951|MR|Test|E|Lead 34951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034952|134952|989898|1|9999034952|MR|Test|E|Lead 34952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034953|134953|989898|1|9999034953|MR|Test|E|Lead 34953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034954|134954|989898|1|9999034954|MR|Test|E|Lead 34954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034955|134955|989898|1|9999034955|MR|Test|E|Lead 34955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034956|134956|989898|1|9999034956|MR|Test|E|Lead 34956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034957|134957|989898|1|9999034957|MR|Test|E|Lead 34957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034958|134958|989898|1|9999034958|MR|Test|E|Lead 34958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034959|134959|989898|1|9999034959|MR|Test|E|Lead 34959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034960|134960|989898|1|9999034960|MR|Test|E|Lead 34960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034961|134961|989898|1|9999034961|MR|Test|E|Lead 34961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034962|134962|989898|1|9999034962|MR|Test|E|Lead 34962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034963|134963|989898|1|9999034963|MR|Test|E|Lead 34963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034964|134964|989898|1|9999034964|MR|Test|E|Lead 34964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034965|134965|989898|1|9999034965|MR|Test|E|Lead 34965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034966|134966|989898|1|9999034966|MR|Test|E|Lead 34966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034967|134967|989898|1|9999034967|MR|Test|E|Lead 34967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034968|134968|989898|1|9999034968|MR|Test|E|Lead 34968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034969|134969|989898|1|9999034969|MR|Test|E|Lead 34969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034970|134970|989898|1|9999034970|MR|Test|E|Lead 34970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034971|134971|989898|1|9999034971|MR|Test|E|Lead 34971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034972|134972|989898|1|9999034972|MR|Test|E|Lead 34972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034973|134973|989898|1|9999034973|MR|Test|E|Lead 34973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034974|134974|989898|1|9999034974|MR|Test|E|Lead 34974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034975|134975|989898|1|9999034975|MR|Test|E|Lead 34975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034976|134976|989898|1|9999034976|MR|Test|E|Lead 34976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034977|134977|989898|1|9999034977|MR|Test|E|Lead 34977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034978|134978|989898|1|9999034978|MR|Test|E|Lead 34978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034979|134979|989898|1|9999034979|MR|Test|E|Lead 34979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034980|134980|989898|1|9999034980|MR|Test|E|Lead 34980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034981|134981|989898|1|9999034981|MR|Test|E|Lead 34981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034982|134982|989898|1|9999034982|MR|Test|E|Lead 34982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034983|134983|989898|1|9999034983|MR|Test|E|Lead 34983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034984|134984|989898|1|9999034984|MR|Test|E|Lead 34984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034985|134985|989898|1|9999034985|MR|Test|E|Lead 34985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034986|134986|989898|1|9999034986|MR|Test|E|Lead 34986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034987|134987|989898|1|9999034987|MR|Test|E|Lead 34987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034988|134988|989898|1|9999034988|MR|Test|E|Lead 34988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034989|134989|989898|1|9999034989|MR|Test|E|Lead 34989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034990|134990|989898|1|9999034990|MR|Test|E|Lead 34990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034991|134991|989898|1|9999034991|MR|Test|E|Lead 34991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034992|134992|989898|1|9999034992|MR|Test|E|Lead 34992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034993|134993|989898|1|9999034993|MR|Test|E|Lead 34993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034994|134994|989898|1|9999034994|MR|Test|E|Lead 34994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034995|134995|989898|1|9999034995|MR|Test|E|Lead 34995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034996|134996|989898|1|9999034996|MR|Test|E|Lead 34996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034997|134997|989898|1|9999034997|MR|Test|E|Lead 34997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034998|134998|989898|1|9999034998|MR|Test|E|Lead 34998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1034999|134999|989898|1|9999034999|MR|Test|E|Lead 34999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035000|135000|989898|1|9999035000|MR|Test|E|Lead 35000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035001|135001|989898|1|9999035001|MR|Test|E|Lead 35001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035002|135002|989898|1|9999035002|MR|Test|E|Lead 35002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035003|135003|989898|1|9999035003|MR|Test|E|Lead 35003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035004|135004|989898|1|9999035004|MR|Test|E|Lead 35004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035005|135005|989898|1|9999035005|MR|Test|E|Lead 35005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035006|135006|989898|1|9999035006|MR|Test|E|Lead 35006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035007|135007|989898|1|9999035007|MR|Test|E|Lead 35007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035008|135008|989898|1|9999035008|MR|Test|E|Lead 35008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035009|135009|989898|1|9999035009|MR|Test|E|Lead 35009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035010|135010|989898|1|9999035010|MR|Test|E|Lead 35010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035011|135011|989898|1|9999035011|MR|Test|E|Lead 35011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035012|135012|989898|1|9999035012|MR|Test|E|Lead 35012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035013|135013|989898|1|9999035013|MR|Test|E|Lead 35013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035014|135014|989898|1|9999035014|MR|Test|E|Lead 35014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035015|135015|989898|1|9999035015|MR|Test|E|Lead 35015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035016|135016|989898|1|9999035016|MR|Test|E|Lead 35016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035017|135017|989898|1|9999035017|MR|Test|E|Lead 35017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035018|135018|989898|1|9999035018|MR|Test|E|Lead 35018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035019|135019|989898|1|9999035019|MR|Test|E|Lead 35019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035020|135020|989898|1|9999035020|MR|Test|E|Lead 35020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035021|135021|989898|1|9999035021|MR|Test|E|Lead 35021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035022|135022|989898|1|9999035022|MR|Test|E|Lead 35022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035023|135023|989898|1|9999035023|MR|Test|E|Lead 35023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035024|135024|989898|1|9999035024|MR|Test|E|Lead 35024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035025|135025|989898|1|9999035025|MR|Test|E|Lead 35025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035026|135026|989898|1|9999035026|MR|Test|E|Lead 35026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035027|135027|989898|1|9999035027|MR|Test|E|Lead 35027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035028|135028|989898|1|9999035028|MR|Test|E|Lead 35028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035029|135029|989898|1|9999035029|MR|Test|E|Lead 35029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035030|135030|989898|1|9999035030|MR|Test|E|Lead 35030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035031|135031|989898|1|9999035031|MR|Test|E|Lead 35031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035032|135032|989898|1|9999035032|MR|Test|E|Lead 35032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035033|135033|989898|1|9999035033|MR|Test|E|Lead 35033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035034|135034|989898|1|9999035034|MR|Test|E|Lead 35034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035035|135035|989898|1|9999035035|MR|Test|E|Lead 35035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035036|135036|989898|1|9999035036|MR|Test|E|Lead 35036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035037|135037|989898|1|9999035037|MR|Test|E|Lead 35037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035038|135038|989898|1|9999035038|MR|Test|E|Lead 35038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035039|135039|989898|1|9999035039|MR|Test|E|Lead 35039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035040|135040|989898|1|9999035040|MR|Test|E|Lead 35040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035041|135041|989898|1|9999035041|MR|Test|E|Lead 35041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035042|135042|989898|1|9999035042|MR|Test|E|Lead 35042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035043|135043|989898|1|9999035043|MR|Test|E|Lead 35043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035044|135044|989898|1|9999035044|MR|Test|E|Lead 35044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035045|135045|989898|1|9999035045|MR|Test|E|Lead 35045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035046|135046|989898|1|9999035046|MR|Test|E|Lead 35046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035047|135047|989898|1|9999035047|MR|Test|E|Lead 35047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035048|135048|989898|1|9999035048|MR|Test|E|Lead 35048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035049|135049|989898|1|9999035049|MR|Test|E|Lead 35049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035050|135050|989898|1|9999035050|MR|Test|E|Lead 35050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035051|135051|989898|1|9999035051|MR|Test|E|Lead 35051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035052|135052|989898|1|9999035052|MR|Test|E|Lead 35052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035053|135053|989898|1|9999035053|MR|Test|E|Lead 35053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035054|135054|989898|1|9999035054|MR|Test|E|Lead 35054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035055|135055|989898|1|9999035055|MR|Test|E|Lead 35055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035056|135056|989898|1|9999035056|MR|Test|E|Lead 35056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035057|135057|989898|1|9999035057|MR|Test|E|Lead 35057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035058|135058|989898|1|9999035058|MR|Test|E|Lead 35058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035059|135059|989898|1|9999035059|MR|Test|E|Lead 35059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035060|135060|989898|1|9999035060|MR|Test|E|Lead 35060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035061|135061|989898|1|9999035061|MR|Test|E|Lead 35061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035062|135062|989898|1|9999035062|MR|Test|E|Lead 35062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035063|135063|989898|1|9999035063|MR|Test|E|Lead 35063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035064|135064|989898|1|9999035064|MR|Test|E|Lead 35064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035065|135065|989898|1|9999035065|MR|Test|E|Lead 35065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035066|135066|989898|1|9999035066|MR|Test|E|Lead 35066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035067|135067|989898|1|9999035067|MR|Test|E|Lead 35067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035068|135068|989898|1|9999035068|MR|Test|E|Lead 35068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035069|135069|989898|1|9999035069|MR|Test|E|Lead 35069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035070|135070|989898|1|9999035070|MR|Test|E|Lead 35070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035071|135071|989898|1|9999035071|MR|Test|E|Lead 35071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035072|135072|989898|1|9999035072|MR|Test|E|Lead 35072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035073|135073|989898|1|9999035073|MR|Test|E|Lead 35073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035074|135074|989898|1|9999035074|MR|Test|E|Lead 35074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035075|135075|989898|1|9999035075|MR|Test|E|Lead 35075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035076|135076|989898|1|9999035076|MR|Test|E|Lead 35076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035077|135077|989898|1|9999035077|MR|Test|E|Lead 35077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035078|135078|989898|1|9999035078|MR|Test|E|Lead 35078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035079|135079|989898|1|9999035079|MR|Test|E|Lead 35079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035080|135080|989898|1|9999035080|MR|Test|E|Lead 35080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035081|135081|989898|1|9999035081|MR|Test|E|Lead 35081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035082|135082|989898|1|9999035082|MR|Test|E|Lead 35082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035083|135083|989898|1|9999035083|MR|Test|E|Lead 35083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035084|135084|989898|1|9999035084|MR|Test|E|Lead 35084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035085|135085|989898|1|9999035085|MR|Test|E|Lead 35085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035086|135086|989898|1|9999035086|MR|Test|E|Lead 35086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035087|135087|989898|1|9999035087|MR|Test|E|Lead 35087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035088|135088|989898|1|9999035088|MR|Test|E|Lead 35088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035089|135089|989898|1|9999035089|MR|Test|E|Lead 35089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035090|135090|989898|1|9999035090|MR|Test|E|Lead 35090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035091|135091|989898|1|9999035091|MR|Test|E|Lead 35091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035092|135092|989898|1|9999035092|MR|Test|E|Lead 35092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035093|135093|989898|1|9999035093|MR|Test|E|Lead 35093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035094|135094|989898|1|9999035094|MR|Test|E|Lead 35094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035095|135095|989898|1|9999035095|MR|Test|E|Lead 35095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035096|135096|989898|1|9999035096|MR|Test|E|Lead 35096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035097|135097|989898|1|9999035097|MR|Test|E|Lead 35097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035098|135098|989898|1|9999035098|MR|Test|E|Lead 35098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035099|135099|989898|1|9999035099|MR|Test|E|Lead 35099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035100|135100|989898|1|9999035100|MR|Test|E|Lead 35100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035101|135101|989898|1|9999035101|MR|Test|E|Lead 35101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035102|135102|989898|1|9999035102|MR|Test|E|Lead 35102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035103|135103|989898|1|9999035103|MR|Test|E|Lead 35103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035104|135104|989898|1|9999035104|MR|Test|E|Lead 35104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035105|135105|989898|1|9999035105|MR|Test|E|Lead 35105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035106|135106|989898|1|9999035106|MR|Test|E|Lead 35106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035107|135107|989898|1|9999035107|MR|Test|E|Lead 35107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035108|135108|989898|1|9999035108|MR|Test|E|Lead 35108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035109|135109|989898|1|9999035109|MR|Test|E|Lead 35109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035110|135110|989898|1|9999035110|MR|Test|E|Lead 35110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035111|135111|989898|1|9999035111|MR|Test|E|Lead 35111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035112|135112|989898|1|9999035112|MR|Test|E|Lead 35112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035113|135113|989898|1|9999035113|MR|Test|E|Lead 35113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035114|135114|989898|1|9999035114|MR|Test|E|Lead 35114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035115|135115|989898|1|9999035115|MR|Test|E|Lead 35115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035116|135116|989898|1|9999035116|MR|Test|E|Lead 35116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035117|135117|989898|1|9999035117|MR|Test|E|Lead 35117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035118|135118|989898|1|9999035118|MR|Test|E|Lead 35118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035119|135119|989898|1|9999035119|MR|Test|E|Lead 35119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035120|135120|989898|1|9999035120|MR|Test|E|Lead 35120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035121|135121|989898|1|9999035121|MR|Test|E|Lead 35121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035122|135122|989898|1|9999035122|MR|Test|E|Lead 35122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035123|135123|989898|1|9999035123|MR|Test|E|Lead 35123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035124|135124|989898|1|9999035124|MR|Test|E|Lead 35124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035125|135125|989898|1|9999035125|MR|Test|E|Lead 35125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035126|135126|989898|1|9999035126|MR|Test|E|Lead 35126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035127|135127|989898|1|9999035127|MR|Test|E|Lead 35127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035128|135128|989898|1|9999035128|MR|Test|E|Lead 35128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035129|135129|989898|1|9999035129|MR|Test|E|Lead 35129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035130|135130|989898|1|9999035130|MR|Test|E|Lead 35130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035131|135131|989898|1|9999035131|MR|Test|E|Lead 35131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035132|135132|989898|1|9999035132|MR|Test|E|Lead 35132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035133|135133|989898|1|9999035133|MR|Test|E|Lead 35133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035134|135134|989898|1|9999035134|MR|Test|E|Lead 35134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035135|135135|989898|1|9999035135|MR|Test|E|Lead 35135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035136|135136|989898|1|9999035136|MR|Test|E|Lead 35136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035137|135137|989898|1|9999035137|MR|Test|E|Lead 35137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035138|135138|989898|1|9999035138|MR|Test|E|Lead 35138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035139|135139|989898|1|9999035139|MR|Test|E|Lead 35139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035140|135140|989898|1|9999035140|MR|Test|E|Lead 35140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035141|135141|989898|1|9999035141|MR|Test|E|Lead 35141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035142|135142|989898|1|9999035142|MR|Test|E|Lead 35142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035143|135143|989898|1|9999035143|MR|Test|E|Lead 35143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035144|135144|989898|1|9999035144|MR|Test|E|Lead 35144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035145|135145|989898|1|9999035145|MR|Test|E|Lead 35145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035146|135146|989898|1|9999035146|MR|Test|E|Lead 35146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035147|135147|989898|1|9999035147|MR|Test|E|Lead 35147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035148|135148|989898|1|9999035148|MR|Test|E|Lead 35148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035149|135149|989898|1|9999035149|MR|Test|E|Lead 35149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035150|135150|989898|1|9999035150|MR|Test|E|Lead 35150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035151|135151|989898|1|9999035151|MR|Test|E|Lead 35151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035152|135152|989898|1|9999035152|MR|Test|E|Lead 35152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035153|135153|989898|1|9999035153|MR|Test|E|Lead 35153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035154|135154|989898|1|9999035154|MR|Test|E|Lead 35154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035155|135155|989898|1|9999035155|MR|Test|E|Lead 35155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035156|135156|989898|1|9999035156|MR|Test|E|Lead 35156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035157|135157|989898|1|9999035157|MR|Test|E|Lead 35157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035158|135158|989898|1|9999035158|MR|Test|E|Lead 35158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035159|135159|989898|1|9999035159|MR|Test|E|Lead 35159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035160|135160|989898|1|9999035160|MR|Test|E|Lead 35160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035161|135161|989898|1|9999035161|MR|Test|E|Lead 35161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035162|135162|989898|1|9999035162|MR|Test|E|Lead 35162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035163|135163|989898|1|9999035163|MR|Test|E|Lead 35163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035164|135164|989898|1|9999035164|MR|Test|E|Lead 35164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035165|135165|989898|1|9999035165|MR|Test|E|Lead 35165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035166|135166|989898|1|9999035166|MR|Test|E|Lead 35166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035167|135167|989898|1|9999035167|MR|Test|E|Lead 35167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035168|135168|989898|1|9999035168|MR|Test|E|Lead 35168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035169|135169|989898|1|9999035169|MR|Test|E|Lead 35169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035170|135170|989898|1|9999035170|MR|Test|E|Lead 35170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035171|135171|989898|1|9999035171|MR|Test|E|Lead 35171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035172|135172|989898|1|9999035172|MR|Test|E|Lead 35172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035173|135173|989898|1|9999035173|MR|Test|E|Lead 35173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035174|135174|989898|1|9999035174|MR|Test|E|Lead 35174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035175|135175|989898|1|9999035175|MR|Test|E|Lead 35175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035176|135176|989898|1|9999035176|MR|Test|E|Lead 35176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035177|135177|989898|1|9999035177|MR|Test|E|Lead 35177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035178|135178|989898|1|9999035178|MR|Test|E|Lead 35178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035179|135179|989898|1|9999035179|MR|Test|E|Lead 35179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035180|135180|989898|1|9999035180|MR|Test|E|Lead 35180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035181|135181|989898|1|9999035181|MR|Test|E|Lead 35181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035182|135182|989898|1|9999035182|MR|Test|E|Lead 35182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035183|135183|989898|1|9999035183|MR|Test|E|Lead 35183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035184|135184|989898|1|9999035184|MR|Test|E|Lead 35184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035185|135185|989898|1|9999035185|MR|Test|E|Lead 35185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035186|135186|989898|1|9999035186|MR|Test|E|Lead 35186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035187|135187|989898|1|9999035187|MR|Test|E|Lead 35187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035188|135188|989898|1|9999035188|MR|Test|E|Lead 35188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035189|135189|989898|1|9999035189|MR|Test|E|Lead 35189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035190|135190|989898|1|9999035190|MR|Test|E|Lead 35190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035191|135191|989898|1|9999035191|MR|Test|E|Lead 35191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035192|135192|989898|1|9999035192|MR|Test|E|Lead 35192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035193|135193|989898|1|9999035193|MR|Test|E|Lead 35193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035194|135194|989898|1|9999035194|MR|Test|E|Lead 35194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035195|135195|989898|1|9999035195|MR|Test|E|Lead 35195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035196|135196|989898|1|9999035196|MR|Test|E|Lead 35196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035197|135197|989898|1|9999035197|MR|Test|E|Lead 35197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035198|135198|989898|1|9999035198|MR|Test|E|Lead 35198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035199|135199|989898|1|9999035199|MR|Test|E|Lead 35199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035200|135200|989898|1|9999035200|MR|Test|E|Lead 35200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035201|135201|989898|1|9999035201|MR|Test|E|Lead 35201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035202|135202|989898|1|9999035202|MR|Test|E|Lead 35202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035203|135203|989898|1|9999035203|MR|Test|E|Lead 35203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035204|135204|989898|1|9999035204|MR|Test|E|Lead 35204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035205|135205|989898|1|9999035205|MR|Test|E|Lead 35205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035206|135206|989898|1|9999035206|MR|Test|E|Lead 35206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035207|135207|989898|1|9999035207|MR|Test|E|Lead 35207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035208|135208|989898|1|9999035208|MR|Test|E|Lead 35208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035209|135209|989898|1|9999035209|MR|Test|E|Lead 35209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035210|135210|989898|1|9999035210|MR|Test|E|Lead 35210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035211|135211|989898|1|9999035211|MR|Test|E|Lead 35211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035212|135212|989898|1|9999035212|MR|Test|E|Lead 35212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035213|135213|989898|1|9999035213|MR|Test|E|Lead 35213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035214|135214|989898|1|9999035214|MR|Test|E|Lead 35214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035215|135215|989898|1|9999035215|MR|Test|E|Lead 35215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035216|135216|989898|1|9999035216|MR|Test|E|Lead 35216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035217|135217|989898|1|9999035217|MR|Test|E|Lead 35217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035218|135218|989898|1|9999035218|MR|Test|E|Lead 35218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035219|135219|989898|1|9999035219|MR|Test|E|Lead 35219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035220|135220|989898|1|9999035220|MR|Test|E|Lead 35220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035221|135221|989898|1|9999035221|MR|Test|E|Lead 35221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035222|135222|989898|1|9999035222|MR|Test|E|Lead 35222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035223|135223|989898|1|9999035223|MR|Test|E|Lead 35223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035224|135224|989898|1|9999035224|MR|Test|E|Lead 35224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035225|135225|989898|1|9999035225|MR|Test|E|Lead 35225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035226|135226|989898|1|9999035226|MR|Test|E|Lead 35226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035227|135227|989898|1|9999035227|MR|Test|E|Lead 35227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035228|135228|989898|1|9999035228|MR|Test|E|Lead 35228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035229|135229|989898|1|9999035229|MR|Test|E|Lead 35229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035230|135230|989898|1|9999035230|MR|Test|E|Lead 35230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035231|135231|989898|1|9999035231|MR|Test|E|Lead 35231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035232|135232|989898|1|9999035232|MR|Test|E|Lead 35232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035233|135233|989898|1|9999035233|MR|Test|E|Lead 35233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035234|135234|989898|1|9999035234|MR|Test|E|Lead 35234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035235|135235|989898|1|9999035235|MR|Test|E|Lead 35235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035236|135236|989898|1|9999035236|MR|Test|E|Lead 35236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035237|135237|989898|1|9999035237|MR|Test|E|Lead 35237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035238|135238|989898|1|9999035238|MR|Test|E|Lead 35238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035239|135239|989898|1|9999035239|MR|Test|E|Lead 35239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035240|135240|989898|1|9999035240|MR|Test|E|Lead 35240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035241|135241|989898|1|9999035241|MR|Test|E|Lead 35241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035242|135242|989898|1|9999035242|MR|Test|E|Lead 35242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035243|135243|989898|1|9999035243|MR|Test|E|Lead 35243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035244|135244|989898|1|9999035244|MR|Test|E|Lead 35244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035245|135245|989898|1|9999035245|MR|Test|E|Lead 35245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035246|135246|989898|1|9999035246|MR|Test|E|Lead 35246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035247|135247|989898|1|9999035247|MR|Test|E|Lead 35247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035248|135248|989898|1|9999035248|MR|Test|E|Lead 35248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035249|135249|989898|1|9999035249|MR|Test|E|Lead 35249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035250|135250|989898|1|9999035250|MR|Test|E|Lead 35250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035251|135251|989898|1|9999035251|MR|Test|E|Lead 35251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035252|135252|989898|1|9999035252|MR|Test|E|Lead 35252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035253|135253|989898|1|9999035253|MR|Test|E|Lead 35253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035254|135254|989898|1|9999035254|MR|Test|E|Lead 35254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035255|135255|989898|1|9999035255|MR|Test|E|Lead 35255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035256|135256|989898|1|9999035256|MR|Test|E|Lead 35256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035257|135257|989898|1|9999035257|MR|Test|E|Lead 35257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035258|135258|989898|1|9999035258|MR|Test|E|Lead 35258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035259|135259|989898|1|9999035259|MR|Test|E|Lead 35259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035260|135260|989898|1|9999035260|MR|Test|E|Lead 35260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035261|135261|989898|1|9999035261|MR|Test|E|Lead 35261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035262|135262|989898|1|9999035262|MR|Test|E|Lead 35262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035263|135263|989898|1|9999035263|MR|Test|E|Lead 35263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035264|135264|989898|1|9999035264|MR|Test|E|Lead 35264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035265|135265|989898|1|9999035265|MR|Test|E|Lead 35265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035266|135266|989898|1|9999035266|MR|Test|E|Lead 35266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035267|135267|989898|1|9999035267|MR|Test|E|Lead 35267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035268|135268|989898|1|9999035268|MR|Test|E|Lead 35268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035269|135269|989898|1|9999035269|MR|Test|E|Lead 35269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035270|135270|989898|1|9999035270|MR|Test|E|Lead 35270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035271|135271|989898|1|9999035271|MR|Test|E|Lead 35271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035272|135272|989898|1|9999035272|MR|Test|E|Lead 35272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035273|135273|989898|1|9999035273|MR|Test|E|Lead 35273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035274|135274|989898|1|9999035274|MR|Test|E|Lead 35274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035275|135275|989898|1|9999035275|MR|Test|E|Lead 35275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035276|135276|989898|1|9999035276|MR|Test|E|Lead 35276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035277|135277|989898|1|9999035277|MR|Test|E|Lead 35277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035278|135278|989898|1|9999035278|MR|Test|E|Lead 35278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035279|135279|989898|1|9999035279|MR|Test|E|Lead 35279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035280|135280|989898|1|9999035280|MR|Test|E|Lead 35280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035281|135281|989898|1|9999035281|MR|Test|E|Lead 35281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035282|135282|989898|1|9999035282|MR|Test|E|Lead 35282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035283|135283|989898|1|9999035283|MR|Test|E|Lead 35283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035284|135284|989898|1|9999035284|MR|Test|E|Lead 35284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035285|135285|989898|1|9999035285|MR|Test|E|Lead 35285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035286|135286|989898|1|9999035286|MR|Test|E|Lead 35286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035287|135287|989898|1|9999035287|MR|Test|E|Lead 35287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035288|135288|989898|1|9999035288|MR|Test|E|Lead 35288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035289|135289|989898|1|9999035289|MR|Test|E|Lead 35289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035290|135290|989898|1|9999035290|MR|Test|E|Lead 35290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035291|135291|989898|1|9999035291|MR|Test|E|Lead 35291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035292|135292|989898|1|9999035292|MR|Test|E|Lead 35292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035293|135293|989898|1|9999035293|MR|Test|E|Lead 35293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035294|135294|989898|1|9999035294|MR|Test|E|Lead 35294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035295|135295|989898|1|9999035295|MR|Test|E|Lead 35295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035296|135296|989898|1|9999035296|MR|Test|E|Lead 35296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035297|135297|989898|1|9999035297|MR|Test|E|Lead 35297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035298|135298|989898|1|9999035298|MR|Test|E|Lead 35298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035299|135299|989898|1|9999035299|MR|Test|E|Lead 35299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035300|135300|989898|1|9999035300|MR|Test|E|Lead 35300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035301|135301|989898|1|9999035301|MR|Test|E|Lead 35301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035302|135302|989898|1|9999035302|MR|Test|E|Lead 35302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035303|135303|989898|1|9999035303|MR|Test|E|Lead 35303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035304|135304|989898|1|9999035304|MR|Test|E|Lead 35304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035305|135305|989898|1|9999035305|MR|Test|E|Lead 35305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035306|135306|989898|1|9999035306|MR|Test|E|Lead 35306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035307|135307|989898|1|9999035307|MR|Test|E|Lead 35307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035308|135308|989898|1|9999035308|MR|Test|E|Lead 35308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035309|135309|989898|1|9999035309|MR|Test|E|Lead 35309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035310|135310|989898|1|9999035310|MR|Test|E|Lead 35310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035311|135311|989898|1|9999035311|MR|Test|E|Lead 35311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035312|135312|989898|1|9999035312|MR|Test|E|Lead 35312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035313|135313|989898|1|9999035313|MR|Test|E|Lead 35313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035314|135314|989898|1|9999035314|MR|Test|E|Lead 35314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035315|135315|989898|1|9999035315|MR|Test|E|Lead 35315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035316|135316|989898|1|9999035316|MR|Test|E|Lead 35316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035317|135317|989898|1|9999035317|MR|Test|E|Lead 35317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035318|135318|989898|1|9999035318|MR|Test|E|Lead 35318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035319|135319|989898|1|9999035319|MR|Test|E|Lead 35319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035320|135320|989898|1|9999035320|MR|Test|E|Lead 35320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035321|135321|989898|1|9999035321|MR|Test|E|Lead 35321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035322|135322|989898|1|9999035322|MR|Test|E|Lead 35322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035323|135323|989898|1|9999035323|MR|Test|E|Lead 35323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035324|135324|989898|1|9999035324|MR|Test|E|Lead 35324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035325|135325|989898|1|9999035325|MR|Test|E|Lead 35325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035326|135326|989898|1|9999035326|MR|Test|E|Lead 35326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035327|135327|989898|1|9999035327|MR|Test|E|Lead 35327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035328|135328|989898|1|9999035328|MR|Test|E|Lead 35328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035329|135329|989898|1|9999035329|MR|Test|E|Lead 35329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035330|135330|989898|1|9999035330|MR|Test|E|Lead 35330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035331|135331|989898|1|9999035331|MR|Test|E|Lead 35331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035332|135332|989898|1|9999035332|MR|Test|E|Lead 35332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035333|135333|989898|1|9999035333|MR|Test|E|Lead 35333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035334|135334|989898|1|9999035334|MR|Test|E|Lead 35334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035335|135335|989898|1|9999035335|MR|Test|E|Lead 35335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035336|135336|989898|1|9999035336|MR|Test|E|Lead 35336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035337|135337|989898|1|9999035337|MR|Test|E|Lead 35337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035338|135338|989898|1|9999035338|MR|Test|E|Lead 35338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035339|135339|989898|1|9999035339|MR|Test|E|Lead 35339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035340|135340|989898|1|9999035340|MR|Test|E|Lead 35340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035341|135341|989898|1|9999035341|MR|Test|E|Lead 35341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035342|135342|989898|1|9999035342|MR|Test|E|Lead 35342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035343|135343|989898|1|9999035343|MR|Test|E|Lead 35343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035344|135344|989898|1|9999035344|MR|Test|E|Lead 35344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035345|135345|989898|1|9999035345|MR|Test|E|Lead 35345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035346|135346|989898|1|9999035346|MR|Test|E|Lead 35346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035347|135347|989898|1|9999035347|MR|Test|E|Lead 35347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035348|135348|989898|1|9999035348|MR|Test|E|Lead 35348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035349|135349|989898|1|9999035349|MR|Test|E|Lead 35349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035350|135350|989898|1|9999035350|MR|Test|E|Lead 35350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035351|135351|989898|1|9999035351|MR|Test|E|Lead 35351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035352|135352|989898|1|9999035352|MR|Test|E|Lead 35352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035353|135353|989898|1|9999035353|MR|Test|E|Lead 35353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035354|135354|989898|1|9999035354|MR|Test|E|Lead 35354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035355|135355|989898|1|9999035355|MR|Test|E|Lead 35355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035356|135356|989898|1|9999035356|MR|Test|E|Lead 35356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035357|135357|989898|1|9999035357|MR|Test|E|Lead 35357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035358|135358|989898|1|9999035358|MR|Test|E|Lead 35358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035359|135359|989898|1|9999035359|MR|Test|E|Lead 35359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035360|135360|989898|1|9999035360|MR|Test|E|Lead 35360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035361|135361|989898|1|9999035361|MR|Test|E|Lead 35361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035362|135362|989898|1|9999035362|MR|Test|E|Lead 35362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035363|135363|989898|1|9999035363|MR|Test|E|Lead 35363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035364|135364|989898|1|9999035364|MR|Test|E|Lead 35364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035365|135365|989898|1|9999035365|MR|Test|E|Lead 35365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035366|135366|989898|1|9999035366|MR|Test|E|Lead 35366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035367|135367|989898|1|9999035367|MR|Test|E|Lead 35367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035368|135368|989898|1|9999035368|MR|Test|E|Lead 35368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035369|135369|989898|1|9999035369|MR|Test|E|Lead 35369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035370|135370|989898|1|9999035370|MR|Test|E|Lead 35370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035371|135371|989898|1|9999035371|MR|Test|E|Lead 35371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035372|135372|989898|1|9999035372|MR|Test|E|Lead 35372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035373|135373|989898|1|9999035373|MR|Test|E|Lead 35373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035374|135374|989898|1|9999035374|MR|Test|E|Lead 35374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035375|135375|989898|1|9999035375|MR|Test|E|Lead 35375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035376|135376|989898|1|9999035376|MR|Test|E|Lead 35376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035377|135377|989898|1|9999035377|MR|Test|E|Lead 35377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035378|135378|989898|1|9999035378|MR|Test|E|Lead 35378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035379|135379|989898|1|9999035379|MR|Test|E|Lead 35379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035380|135380|989898|1|9999035380|MR|Test|E|Lead 35380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035381|135381|989898|1|9999035381|MR|Test|E|Lead 35381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035382|135382|989898|1|9999035382|MR|Test|E|Lead 35382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035383|135383|989898|1|9999035383|MR|Test|E|Lead 35383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035384|135384|989898|1|9999035384|MR|Test|E|Lead 35384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035385|135385|989898|1|9999035385|MR|Test|E|Lead 35385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035386|135386|989898|1|9999035386|MR|Test|E|Lead 35386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035387|135387|989898|1|9999035387|MR|Test|E|Lead 35387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035388|135388|989898|1|9999035388|MR|Test|E|Lead 35388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035389|135389|989898|1|9999035389|MR|Test|E|Lead 35389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035390|135390|989898|1|9999035390|MR|Test|E|Lead 35390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035391|135391|989898|1|9999035391|MR|Test|E|Lead 35391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035392|135392|989898|1|9999035392|MR|Test|E|Lead 35392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035393|135393|989898|1|9999035393|MR|Test|E|Lead 35393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035394|135394|989898|1|9999035394|MR|Test|E|Lead 35394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035395|135395|989898|1|9999035395|MR|Test|E|Lead 35395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035396|135396|989898|1|9999035396|MR|Test|E|Lead 35396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035397|135397|989898|1|9999035397|MR|Test|E|Lead 35397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035398|135398|989898|1|9999035398|MR|Test|E|Lead 35398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035399|135399|989898|1|9999035399|MR|Test|E|Lead 35399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035400|135400|989898|1|9999035400|MR|Test|E|Lead 35400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035401|135401|989898|1|9999035401|MR|Test|E|Lead 35401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035402|135402|989898|1|9999035402|MR|Test|E|Lead 35402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035403|135403|989898|1|9999035403|MR|Test|E|Lead 35403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035404|135404|989898|1|9999035404|MR|Test|E|Lead 35404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035405|135405|989898|1|9999035405|MR|Test|E|Lead 35405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035406|135406|989898|1|9999035406|MR|Test|E|Lead 35406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035407|135407|989898|1|9999035407|MR|Test|E|Lead 35407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035408|135408|989898|1|9999035408|MR|Test|E|Lead 35408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035409|135409|989898|1|9999035409|MR|Test|E|Lead 35409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035410|135410|989898|1|9999035410|MR|Test|E|Lead 35410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035411|135411|989898|1|9999035411|MR|Test|E|Lead 35411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035412|135412|989898|1|9999035412|MR|Test|E|Lead 35412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035413|135413|989898|1|9999035413|MR|Test|E|Lead 35413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035414|135414|989898|1|9999035414|MR|Test|E|Lead 35414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035415|135415|989898|1|9999035415|MR|Test|E|Lead 35415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035416|135416|989898|1|9999035416|MR|Test|E|Lead 35416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035417|135417|989898|1|9999035417|MR|Test|E|Lead 35417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035418|135418|989898|1|9999035418|MR|Test|E|Lead 35418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035419|135419|989898|1|9999035419|MR|Test|E|Lead 35419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035420|135420|989898|1|9999035420|MR|Test|E|Lead 35420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035421|135421|989898|1|9999035421|MR|Test|E|Lead 35421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035422|135422|989898|1|9999035422|MR|Test|E|Lead 35422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035423|135423|989898|1|9999035423|MR|Test|E|Lead 35423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035424|135424|989898|1|9999035424|MR|Test|E|Lead 35424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035425|135425|989898|1|9999035425|MR|Test|E|Lead 35425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035426|135426|989898|1|9999035426|MR|Test|E|Lead 35426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035427|135427|989898|1|9999035427|MR|Test|E|Lead 35427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035428|135428|989898|1|9999035428|MR|Test|E|Lead 35428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035429|135429|989898|1|9999035429|MR|Test|E|Lead 35429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035430|135430|989898|1|9999035430|MR|Test|E|Lead 35430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035431|135431|989898|1|9999035431|MR|Test|E|Lead 35431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035432|135432|989898|1|9999035432|MR|Test|E|Lead 35432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035433|135433|989898|1|9999035433|MR|Test|E|Lead 35433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035434|135434|989898|1|9999035434|MR|Test|E|Lead 35434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035435|135435|989898|1|9999035435|MR|Test|E|Lead 35435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035436|135436|989898|1|9999035436|MR|Test|E|Lead 35436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035437|135437|989898|1|9999035437|MR|Test|E|Lead 35437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035438|135438|989898|1|9999035438|MR|Test|E|Lead 35438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035439|135439|989898|1|9999035439|MR|Test|E|Lead 35439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035440|135440|989898|1|9999035440|MR|Test|E|Lead 35440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035441|135441|989898|1|9999035441|MR|Test|E|Lead 35441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035442|135442|989898|1|9999035442|MR|Test|E|Lead 35442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035443|135443|989898|1|9999035443|MR|Test|E|Lead 35443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035444|135444|989898|1|9999035444|MR|Test|E|Lead 35444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035445|135445|989898|1|9999035445|MR|Test|E|Lead 35445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035446|135446|989898|1|9999035446|MR|Test|E|Lead 35446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035447|135447|989898|1|9999035447|MR|Test|E|Lead 35447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035448|135448|989898|1|9999035448|MR|Test|E|Lead 35448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035449|135449|989898|1|9999035449|MR|Test|E|Lead 35449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035450|135450|989898|1|9999035450|MR|Test|E|Lead 35450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035451|135451|989898|1|9999035451|MR|Test|E|Lead 35451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035452|135452|989898|1|9999035452|MR|Test|E|Lead 35452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035453|135453|989898|1|9999035453|MR|Test|E|Lead 35453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035454|135454|989898|1|9999035454|MR|Test|E|Lead 35454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035455|135455|989898|1|9999035455|MR|Test|E|Lead 35455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035456|135456|989898|1|9999035456|MR|Test|E|Lead 35456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035457|135457|989898|1|9999035457|MR|Test|E|Lead 35457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035458|135458|989898|1|9999035458|MR|Test|E|Lead 35458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035459|135459|989898|1|9999035459|MR|Test|E|Lead 35459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035460|135460|989898|1|9999035460|MR|Test|E|Lead 35460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035461|135461|989898|1|9999035461|MR|Test|E|Lead 35461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035462|135462|989898|1|9999035462|MR|Test|E|Lead 35462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035463|135463|989898|1|9999035463|MR|Test|E|Lead 35463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035464|135464|989898|1|9999035464|MR|Test|E|Lead 35464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035465|135465|989898|1|9999035465|MR|Test|E|Lead 35465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035466|135466|989898|1|9999035466|MR|Test|E|Lead 35466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035467|135467|989898|1|9999035467|MR|Test|E|Lead 35467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035468|135468|989898|1|9999035468|MR|Test|E|Lead 35468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035469|135469|989898|1|9999035469|MR|Test|E|Lead 35469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035470|135470|989898|1|9999035470|MR|Test|E|Lead 35470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035471|135471|989898|1|9999035471|MR|Test|E|Lead 35471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035472|135472|989898|1|9999035472|MR|Test|E|Lead 35472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035473|135473|989898|1|9999035473|MR|Test|E|Lead 35473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035474|135474|989898|1|9999035474|MR|Test|E|Lead 35474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035475|135475|989898|1|9999035475|MR|Test|E|Lead 35475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035476|135476|989898|1|9999035476|MR|Test|E|Lead 35476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035477|135477|989898|1|9999035477|MR|Test|E|Lead 35477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035478|135478|989898|1|9999035478|MR|Test|E|Lead 35478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035479|135479|989898|1|9999035479|MR|Test|E|Lead 35479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035480|135480|989898|1|9999035480|MR|Test|E|Lead 35480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035481|135481|989898|1|9999035481|MR|Test|E|Lead 35481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035482|135482|989898|1|9999035482|MR|Test|E|Lead 35482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035483|135483|989898|1|9999035483|MR|Test|E|Lead 35483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035484|135484|989898|1|9999035484|MR|Test|E|Lead 35484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035485|135485|989898|1|9999035485|MR|Test|E|Lead 35485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035486|135486|989898|1|9999035486|MR|Test|E|Lead 35486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035487|135487|989898|1|9999035487|MR|Test|E|Lead 35487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035488|135488|989898|1|9999035488|MR|Test|E|Lead 35488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035489|135489|989898|1|9999035489|MR|Test|E|Lead 35489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035490|135490|989898|1|9999035490|MR|Test|E|Lead 35490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035491|135491|989898|1|9999035491|MR|Test|E|Lead 35491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035492|135492|989898|1|9999035492|MR|Test|E|Lead 35492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035493|135493|989898|1|9999035493|MR|Test|E|Lead 35493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035494|135494|989898|1|9999035494|MR|Test|E|Lead 35494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035495|135495|989898|1|9999035495|MR|Test|E|Lead 35495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035496|135496|989898|1|9999035496|MR|Test|E|Lead 35496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035497|135497|989898|1|9999035497|MR|Test|E|Lead 35497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035498|135498|989898|1|9999035498|MR|Test|E|Lead 35498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035499|135499|989898|1|9999035499|MR|Test|E|Lead 35499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035500|135500|989898|1|9999035500|MR|Test|E|Lead 35500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035501|135501|989898|1|9999035501|MR|Test|E|Lead 35501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035502|135502|989898|1|9999035502|MR|Test|E|Lead 35502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035503|135503|989898|1|9999035503|MR|Test|E|Lead 35503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035504|135504|989898|1|9999035504|MR|Test|E|Lead 35504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035505|135505|989898|1|9999035505|MR|Test|E|Lead 35505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035506|135506|989898|1|9999035506|MR|Test|E|Lead 35506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035507|135507|989898|1|9999035507|MR|Test|E|Lead 35507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035508|135508|989898|1|9999035508|MR|Test|E|Lead 35508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035509|135509|989898|1|9999035509|MR|Test|E|Lead 35509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035510|135510|989898|1|9999035510|MR|Test|E|Lead 35510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035511|135511|989898|1|9999035511|MR|Test|E|Lead 35511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035512|135512|989898|1|9999035512|MR|Test|E|Lead 35512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035513|135513|989898|1|9999035513|MR|Test|E|Lead 35513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035514|135514|989898|1|9999035514|MR|Test|E|Lead 35514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035515|135515|989898|1|9999035515|MR|Test|E|Lead 35515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035516|135516|989898|1|9999035516|MR|Test|E|Lead 35516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035517|135517|989898|1|9999035517|MR|Test|E|Lead 35517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035518|135518|989898|1|9999035518|MR|Test|E|Lead 35518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035519|135519|989898|1|9999035519|MR|Test|E|Lead 35519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035520|135520|989898|1|9999035520|MR|Test|E|Lead 35520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035521|135521|989898|1|9999035521|MR|Test|E|Lead 35521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035522|135522|989898|1|9999035522|MR|Test|E|Lead 35522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035523|135523|989898|1|9999035523|MR|Test|E|Lead 35523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035524|135524|989898|1|9999035524|MR|Test|E|Lead 35524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035525|135525|989898|1|9999035525|MR|Test|E|Lead 35525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035526|135526|989898|1|9999035526|MR|Test|E|Lead 35526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035527|135527|989898|1|9999035527|MR|Test|E|Lead 35527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035528|135528|989898|1|9999035528|MR|Test|E|Lead 35528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035529|135529|989898|1|9999035529|MR|Test|E|Lead 35529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035530|135530|989898|1|9999035530|MR|Test|E|Lead 35530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035531|135531|989898|1|9999035531|MR|Test|E|Lead 35531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035532|135532|989898|1|9999035532|MR|Test|E|Lead 35532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035533|135533|989898|1|9999035533|MR|Test|E|Lead 35533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035534|135534|989898|1|9999035534|MR|Test|E|Lead 35534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035535|135535|989898|1|9999035535|MR|Test|E|Lead 35535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035536|135536|989898|1|9999035536|MR|Test|E|Lead 35536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035537|135537|989898|1|9999035537|MR|Test|E|Lead 35537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035538|135538|989898|1|9999035538|MR|Test|E|Lead 35538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035539|135539|989898|1|9999035539|MR|Test|E|Lead 35539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035540|135540|989898|1|9999035540|MR|Test|E|Lead 35540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035541|135541|989898|1|9999035541|MR|Test|E|Lead 35541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035542|135542|989898|1|9999035542|MR|Test|E|Lead 35542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035543|135543|989898|1|9999035543|MR|Test|E|Lead 35543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035544|135544|989898|1|9999035544|MR|Test|E|Lead 35544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035545|135545|989898|1|9999035545|MR|Test|E|Lead 35545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035546|135546|989898|1|9999035546|MR|Test|E|Lead 35546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035547|135547|989898|1|9999035547|MR|Test|E|Lead 35547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035548|135548|989898|1|9999035548|MR|Test|E|Lead 35548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035549|135549|989898|1|9999035549|MR|Test|E|Lead 35549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035550|135550|989898|1|9999035550|MR|Test|E|Lead 35550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035551|135551|989898|1|9999035551|MR|Test|E|Lead 35551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035552|135552|989898|1|9999035552|MR|Test|E|Lead 35552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035553|135553|989898|1|9999035553|MR|Test|E|Lead 35553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035554|135554|989898|1|9999035554|MR|Test|E|Lead 35554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035555|135555|989898|1|9999035555|MR|Test|E|Lead 35555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035556|135556|989898|1|9999035556|MR|Test|E|Lead 35556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035557|135557|989898|1|9999035557|MR|Test|E|Lead 35557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035558|135558|989898|1|9999035558|MR|Test|E|Lead 35558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035559|135559|989898|1|9999035559|MR|Test|E|Lead 35559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035560|135560|989898|1|9999035560|MR|Test|E|Lead 35560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035561|135561|989898|1|9999035561|MR|Test|E|Lead 35561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035562|135562|989898|1|9999035562|MR|Test|E|Lead 35562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035563|135563|989898|1|9999035563|MR|Test|E|Lead 35563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035564|135564|989898|1|9999035564|MR|Test|E|Lead 35564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035565|135565|989898|1|9999035565|MR|Test|E|Lead 35565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035566|135566|989898|1|9999035566|MR|Test|E|Lead 35566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035567|135567|989898|1|9999035567|MR|Test|E|Lead 35567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035568|135568|989898|1|9999035568|MR|Test|E|Lead 35568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035569|135569|989898|1|9999035569|MR|Test|E|Lead 35569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035570|135570|989898|1|9999035570|MR|Test|E|Lead 35570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035571|135571|989898|1|9999035571|MR|Test|E|Lead 35571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035572|135572|989898|1|9999035572|MR|Test|E|Lead 35572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035573|135573|989898|1|9999035573|MR|Test|E|Lead 35573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035574|135574|989898|1|9999035574|MR|Test|E|Lead 35574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035575|135575|989898|1|9999035575|MR|Test|E|Lead 35575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035576|135576|989898|1|9999035576|MR|Test|E|Lead 35576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035577|135577|989898|1|9999035577|MR|Test|E|Lead 35577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035578|135578|989898|1|9999035578|MR|Test|E|Lead 35578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035579|135579|989898|1|9999035579|MR|Test|E|Lead 35579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035580|135580|989898|1|9999035580|MR|Test|E|Lead 35580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035581|135581|989898|1|9999035581|MR|Test|E|Lead 35581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035582|135582|989898|1|9999035582|MR|Test|E|Lead 35582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035583|135583|989898|1|9999035583|MR|Test|E|Lead 35583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035584|135584|989898|1|9999035584|MR|Test|E|Lead 35584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035585|135585|989898|1|9999035585|MR|Test|E|Lead 35585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035586|135586|989898|1|9999035586|MR|Test|E|Lead 35586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035587|135587|989898|1|9999035587|MR|Test|E|Lead 35587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035588|135588|989898|1|9999035588|MR|Test|E|Lead 35588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035589|135589|989898|1|9999035589|MR|Test|E|Lead 35589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035590|135590|989898|1|9999035590|MR|Test|E|Lead 35590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035591|135591|989898|1|9999035591|MR|Test|E|Lead 35591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035592|135592|989898|1|9999035592|MR|Test|E|Lead 35592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035593|135593|989898|1|9999035593|MR|Test|E|Lead 35593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035594|135594|989898|1|9999035594|MR|Test|E|Lead 35594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035595|135595|989898|1|9999035595|MR|Test|E|Lead 35595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035596|135596|989898|1|9999035596|MR|Test|E|Lead 35596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035597|135597|989898|1|9999035597|MR|Test|E|Lead 35597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035598|135598|989898|1|9999035598|MR|Test|E|Lead 35598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035599|135599|989898|1|9999035599|MR|Test|E|Lead 35599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035600|135600|989898|1|9999035600|MR|Test|E|Lead 35600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035601|135601|989898|1|9999035601|MR|Test|E|Lead 35601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035602|135602|989898|1|9999035602|MR|Test|E|Lead 35602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035603|135603|989898|1|9999035603|MR|Test|E|Lead 35603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035604|135604|989898|1|9999035604|MR|Test|E|Lead 35604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035605|135605|989898|1|9999035605|MR|Test|E|Lead 35605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035606|135606|989898|1|9999035606|MR|Test|E|Lead 35606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035607|135607|989898|1|9999035607|MR|Test|E|Lead 35607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035608|135608|989898|1|9999035608|MR|Test|E|Lead 35608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035609|135609|989898|1|9999035609|MR|Test|E|Lead 35609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035610|135610|989898|1|9999035610|MR|Test|E|Lead 35610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035611|135611|989898|1|9999035611|MR|Test|E|Lead 35611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035612|135612|989898|1|9999035612|MR|Test|E|Lead 35612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035613|135613|989898|1|9999035613|MR|Test|E|Lead 35613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035614|135614|989898|1|9999035614|MR|Test|E|Lead 35614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035615|135615|989898|1|9999035615|MR|Test|E|Lead 35615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035616|135616|989898|1|9999035616|MR|Test|E|Lead 35616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035617|135617|989898|1|9999035617|MR|Test|E|Lead 35617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035618|135618|989898|1|9999035618|MR|Test|E|Lead 35618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035619|135619|989898|1|9999035619|MR|Test|E|Lead 35619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035620|135620|989898|1|9999035620|MR|Test|E|Lead 35620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035621|135621|989898|1|9999035621|MR|Test|E|Lead 35621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035622|135622|989898|1|9999035622|MR|Test|E|Lead 35622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035623|135623|989898|1|9999035623|MR|Test|E|Lead 35623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035624|135624|989898|1|9999035624|MR|Test|E|Lead 35624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035625|135625|989898|1|9999035625|MR|Test|E|Lead 35625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035626|135626|989898|1|9999035626|MR|Test|E|Lead 35626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035627|135627|989898|1|9999035627|MR|Test|E|Lead 35627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035628|135628|989898|1|9999035628|MR|Test|E|Lead 35628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035629|135629|989898|1|9999035629|MR|Test|E|Lead 35629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035630|135630|989898|1|9999035630|MR|Test|E|Lead 35630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035631|135631|989898|1|9999035631|MR|Test|E|Lead 35631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035632|135632|989898|1|9999035632|MR|Test|E|Lead 35632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035633|135633|989898|1|9999035633|MR|Test|E|Lead 35633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035634|135634|989898|1|9999035634|MR|Test|E|Lead 35634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035635|135635|989898|1|9999035635|MR|Test|E|Lead 35635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035636|135636|989898|1|9999035636|MR|Test|E|Lead 35636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035637|135637|989898|1|9999035637|MR|Test|E|Lead 35637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035638|135638|989898|1|9999035638|MR|Test|E|Lead 35638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035639|135639|989898|1|9999035639|MR|Test|E|Lead 35639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035640|135640|989898|1|9999035640|MR|Test|E|Lead 35640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035641|135641|989898|1|9999035641|MR|Test|E|Lead 35641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035642|135642|989898|1|9999035642|MR|Test|E|Lead 35642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035643|135643|989898|1|9999035643|MR|Test|E|Lead 35643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035644|135644|989898|1|9999035644|MR|Test|E|Lead 35644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035645|135645|989898|1|9999035645|MR|Test|E|Lead 35645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035646|135646|989898|1|9999035646|MR|Test|E|Lead 35646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035647|135647|989898|1|9999035647|MR|Test|E|Lead 35647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035648|135648|989898|1|9999035648|MR|Test|E|Lead 35648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035649|135649|989898|1|9999035649|MR|Test|E|Lead 35649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035650|135650|989898|1|9999035650|MR|Test|E|Lead 35650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035651|135651|989898|1|9999035651|MR|Test|E|Lead 35651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035652|135652|989898|1|9999035652|MR|Test|E|Lead 35652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035653|135653|989898|1|9999035653|MR|Test|E|Lead 35653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035654|135654|989898|1|9999035654|MR|Test|E|Lead 35654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035655|135655|989898|1|9999035655|MR|Test|E|Lead 35655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035656|135656|989898|1|9999035656|MR|Test|E|Lead 35656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035657|135657|989898|1|9999035657|MR|Test|E|Lead 35657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035658|135658|989898|1|9999035658|MR|Test|E|Lead 35658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035659|135659|989898|1|9999035659|MR|Test|E|Lead 35659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035660|135660|989898|1|9999035660|MR|Test|E|Lead 35660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035661|135661|989898|1|9999035661|MR|Test|E|Lead 35661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035662|135662|989898|1|9999035662|MR|Test|E|Lead 35662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035663|135663|989898|1|9999035663|MR|Test|E|Lead 35663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035664|135664|989898|1|9999035664|MR|Test|E|Lead 35664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035665|135665|989898|1|9999035665|MR|Test|E|Lead 35665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035666|135666|989898|1|9999035666|MR|Test|E|Lead 35666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035667|135667|989898|1|9999035667|MR|Test|E|Lead 35667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035668|135668|989898|1|9999035668|MR|Test|E|Lead 35668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035669|135669|989898|1|9999035669|MR|Test|E|Lead 35669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035670|135670|989898|1|9999035670|MR|Test|E|Lead 35670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035671|135671|989898|1|9999035671|MR|Test|E|Lead 35671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035672|135672|989898|1|9999035672|MR|Test|E|Lead 35672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035673|135673|989898|1|9999035673|MR|Test|E|Lead 35673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035674|135674|989898|1|9999035674|MR|Test|E|Lead 35674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035675|135675|989898|1|9999035675|MR|Test|E|Lead 35675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035676|135676|989898|1|9999035676|MR|Test|E|Lead 35676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035677|135677|989898|1|9999035677|MR|Test|E|Lead 35677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035678|135678|989898|1|9999035678|MR|Test|E|Lead 35678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035679|135679|989898|1|9999035679|MR|Test|E|Lead 35679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035680|135680|989898|1|9999035680|MR|Test|E|Lead 35680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035681|135681|989898|1|9999035681|MR|Test|E|Lead 35681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035682|135682|989898|1|9999035682|MR|Test|E|Lead 35682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035683|135683|989898|1|9999035683|MR|Test|E|Lead 35683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035684|135684|989898|1|9999035684|MR|Test|E|Lead 35684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035685|135685|989898|1|9999035685|MR|Test|E|Lead 35685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035686|135686|989898|1|9999035686|MR|Test|E|Lead 35686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035687|135687|989898|1|9999035687|MR|Test|E|Lead 35687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035688|135688|989898|1|9999035688|MR|Test|E|Lead 35688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035689|135689|989898|1|9999035689|MR|Test|E|Lead 35689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035690|135690|989898|1|9999035690|MR|Test|E|Lead 35690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035691|135691|989898|1|9999035691|MR|Test|E|Lead 35691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035692|135692|989898|1|9999035692|MR|Test|E|Lead 35692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035693|135693|989898|1|9999035693|MR|Test|E|Lead 35693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035694|135694|989898|1|9999035694|MR|Test|E|Lead 35694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035695|135695|989898|1|9999035695|MR|Test|E|Lead 35695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035696|135696|989898|1|9999035696|MR|Test|E|Lead 35696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035697|135697|989898|1|9999035697|MR|Test|E|Lead 35697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035698|135698|989898|1|9999035698|MR|Test|E|Lead 35698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035699|135699|989898|1|9999035699|MR|Test|E|Lead 35699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035700|135700|989898|1|9999035700|MR|Test|E|Lead 35700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035701|135701|989898|1|9999035701|MR|Test|E|Lead 35701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035702|135702|989898|1|9999035702|MR|Test|E|Lead 35702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035703|135703|989898|1|9999035703|MR|Test|E|Lead 35703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035704|135704|989898|1|9999035704|MR|Test|E|Lead 35704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035705|135705|989898|1|9999035705|MR|Test|E|Lead 35705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035706|135706|989898|1|9999035706|MR|Test|E|Lead 35706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035707|135707|989898|1|9999035707|MR|Test|E|Lead 35707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035708|135708|989898|1|9999035708|MR|Test|E|Lead 35708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035709|135709|989898|1|9999035709|MR|Test|E|Lead 35709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035710|135710|989898|1|9999035710|MR|Test|E|Lead 35710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035711|135711|989898|1|9999035711|MR|Test|E|Lead 35711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035712|135712|989898|1|9999035712|MR|Test|E|Lead 35712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035713|135713|989898|1|9999035713|MR|Test|E|Lead 35713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035714|135714|989898|1|9999035714|MR|Test|E|Lead 35714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035715|135715|989898|1|9999035715|MR|Test|E|Lead 35715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035716|135716|989898|1|9999035716|MR|Test|E|Lead 35716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035717|135717|989898|1|9999035717|MR|Test|E|Lead 35717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035718|135718|989898|1|9999035718|MR|Test|E|Lead 35718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035719|135719|989898|1|9999035719|MR|Test|E|Lead 35719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035720|135720|989898|1|9999035720|MR|Test|E|Lead 35720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035721|135721|989898|1|9999035721|MR|Test|E|Lead 35721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035722|135722|989898|1|9999035722|MR|Test|E|Lead 35722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035723|135723|989898|1|9999035723|MR|Test|E|Lead 35723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035724|135724|989898|1|9999035724|MR|Test|E|Lead 35724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035725|135725|989898|1|9999035725|MR|Test|E|Lead 35725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035726|135726|989898|1|9999035726|MR|Test|E|Lead 35726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035727|135727|989898|1|9999035727|MR|Test|E|Lead 35727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035728|135728|989898|1|9999035728|MR|Test|E|Lead 35728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035729|135729|989898|1|9999035729|MR|Test|E|Lead 35729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035730|135730|989898|1|9999035730|MR|Test|E|Lead 35730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035731|135731|989898|1|9999035731|MR|Test|E|Lead 35731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035732|135732|989898|1|9999035732|MR|Test|E|Lead 35732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035733|135733|989898|1|9999035733|MR|Test|E|Lead 35733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035734|135734|989898|1|9999035734|MR|Test|E|Lead 35734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035735|135735|989898|1|9999035735|MR|Test|E|Lead 35735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035736|135736|989898|1|9999035736|MR|Test|E|Lead 35736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035737|135737|989898|1|9999035737|MR|Test|E|Lead 35737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035738|135738|989898|1|9999035738|MR|Test|E|Lead 35738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035739|135739|989898|1|9999035739|MR|Test|E|Lead 35739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035740|135740|989898|1|9999035740|MR|Test|E|Lead 35740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035741|135741|989898|1|9999035741|MR|Test|E|Lead 35741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035742|135742|989898|1|9999035742|MR|Test|E|Lead 35742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035743|135743|989898|1|9999035743|MR|Test|E|Lead 35743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035744|135744|989898|1|9999035744|MR|Test|E|Lead 35744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035745|135745|989898|1|9999035745|MR|Test|E|Lead 35745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035746|135746|989898|1|9999035746|MR|Test|E|Lead 35746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035747|135747|989898|1|9999035747|MR|Test|E|Lead 35747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035748|135748|989898|1|9999035748|MR|Test|E|Lead 35748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035749|135749|989898|1|9999035749|MR|Test|E|Lead 35749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035750|135750|989898|1|9999035750|MR|Test|E|Lead 35750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035751|135751|989898|1|9999035751|MR|Test|E|Lead 35751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035752|135752|989898|1|9999035752|MR|Test|E|Lead 35752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035753|135753|989898|1|9999035753|MR|Test|E|Lead 35753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035754|135754|989898|1|9999035754|MR|Test|E|Lead 35754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035755|135755|989898|1|9999035755|MR|Test|E|Lead 35755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035756|135756|989898|1|9999035756|MR|Test|E|Lead 35756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035757|135757|989898|1|9999035757|MR|Test|E|Lead 35757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035758|135758|989898|1|9999035758|MR|Test|E|Lead 35758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035759|135759|989898|1|9999035759|MR|Test|E|Lead 35759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035760|135760|989898|1|9999035760|MR|Test|E|Lead 35760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035761|135761|989898|1|9999035761|MR|Test|E|Lead 35761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035762|135762|989898|1|9999035762|MR|Test|E|Lead 35762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035763|135763|989898|1|9999035763|MR|Test|E|Lead 35763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035764|135764|989898|1|9999035764|MR|Test|E|Lead 35764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035765|135765|989898|1|9999035765|MR|Test|E|Lead 35765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035766|135766|989898|1|9999035766|MR|Test|E|Lead 35766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035767|135767|989898|1|9999035767|MR|Test|E|Lead 35767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035768|135768|989898|1|9999035768|MR|Test|E|Lead 35768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035769|135769|989898|1|9999035769|MR|Test|E|Lead 35769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035770|135770|989898|1|9999035770|MR|Test|E|Lead 35770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035771|135771|989898|1|9999035771|MR|Test|E|Lead 35771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035772|135772|989898|1|9999035772|MR|Test|E|Lead 35772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035773|135773|989898|1|9999035773|MR|Test|E|Lead 35773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035774|135774|989898|1|9999035774|MR|Test|E|Lead 35774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035775|135775|989898|1|9999035775|MR|Test|E|Lead 35775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035776|135776|989898|1|9999035776|MR|Test|E|Lead 35776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035777|135777|989898|1|9999035777|MR|Test|E|Lead 35777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035778|135778|989898|1|9999035778|MR|Test|E|Lead 35778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035779|135779|989898|1|9999035779|MR|Test|E|Lead 35779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035780|135780|989898|1|9999035780|MR|Test|E|Lead 35780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035781|135781|989898|1|9999035781|MR|Test|E|Lead 35781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035782|135782|989898|1|9999035782|MR|Test|E|Lead 35782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035783|135783|989898|1|9999035783|MR|Test|E|Lead 35783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035784|135784|989898|1|9999035784|MR|Test|E|Lead 35784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035785|135785|989898|1|9999035785|MR|Test|E|Lead 35785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035786|135786|989898|1|9999035786|MR|Test|E|Lead 35786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035787|135787|989898|1|9999035787|MR|Test|E|Lead 35787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035788|135788|989898|1|9999035788|MR|Test|E|Lead 35788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035789|135789|989898|1|9999035789|MR|Test|E|Lead 35789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035790|135790|989898|1|9999035790|MR|Test|E|Lead 35790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035791|135791|989898|1|9999035791|MR|Test|E|Lead 35791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035792|135792|989898|1|9999035792|MR|Test|E|Lead 35792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035793|135793|989898|1|9999035793|MR|Test|E|Lead 35793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035794|135794|989898|1|9999035794|MR|Test|E|Lead 35794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035795|135795|989898|1|9999035795|MR|Test|E|Lead 35795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035796|135796|989898|1|9999035796|MR|Test|E|Lead 35796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035797|135797|989898|1|9999035797|MR|Test|E|Lead 35797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035798|135798|989898|1|9999035798|MR|Test|E|Lead 35798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035799|135799|989898|1|9999035799|MR|Test|E|Lead 35799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035800|135800|989898|1|9999035800|MR|Test|E|Lead 35800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035801|135801|989898|1|9999035801|MR|Test|E|Lead 35801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035802|135802|989898|1|9999035802|MR|Test|E|Lead 35802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035803|135803|989898|1|9999035803|MR|Test|E|Lead 35803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035804|135804|989898|1|9999035804|MR|Test|E|Lead 35804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035805|135805|989898|1|9999035805|MR|Test|E|Lead 35805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035806|135806|989898|1|9999035806|MR|Test|E|Lead 35806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035807|135807|989898|1|9999035807|MR|Test|E|Lead 35807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035808|135808|989898|1|9999035808|MR|Test|E|Lead 35808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035809|135809|989898|1|9999035809|MR|Test|E|Lead 35809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035810|135810|989898|1|9999035810|MR|Test|E|Lead 35810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035811|135811|989898|1|9999035811|MR|Test|E|Lead 35811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035812|135812|989898|1|9999035812|MR|Test|E|Lead 35812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035813|135813|989898|1|9999035813|MR|Test|E|Lead 35813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035814|135814|989898|1|9999035814|MR|Test|E|Lead 35814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035815|135815|989898|1|9999035815|MR|Test|E|Lead 35815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035816|135816|989898|1|9999035816|MR|Test|E|Lead 35816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035817|135817|989898|1|9999035817|MR|Test|E|Lead 35817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035818|135818|989898|1|9999035818|MR|Test|E|Lead 35818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035819|135819|989898|1|9999035819|MR|Test|E|Lead 35819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035820|135820|989898|1|9999035820|MR|Test|E|Lead 35820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035821|135821|989898|1|9999035821|MR|Test|E|Lead 35821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035822|135822|989898|1|9999035822|MR|Test|E|Lead 35822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035823|135823|989898|1|9999035823|MR|Test|E|Lead 35823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035824|135824|989898|1|9999035824|MR|Test|E|Lead 35824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035825|135825|989898|1|9999035825|MR|Test|E|Lead 35825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035826|135826|989898|1|9999035826|MR|Test|E|Lead 35826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035827|135827|989898|1|9999035827|MR|Test|E|Lead 35827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035828|135828|989898|1|9999035828|MR|Test|E|Lead 35828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035829|135829|989898|1|9999035829|MR|Test|E|Lead 35829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035830|135830|989898|1|9999035830|MR|Test|E|Lead 35830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035831|135831|989898|1|9999035831|MR|Test|E|Lead 35831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035832|135832|989898|1|9999035832|MR|Test|E|Lead 35832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035833|135833|989898|1|9999035833|MR|Test|E|Lead 35833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035834|135834|989898|1|9999035834|MR|Test|E|Lead 35834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035835|135835|989898|1|9999035835|MR|Test|E|Lead 35835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035836|135836|989898|1|9999035836|MR|Test|E|Lead 35836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035837|135837|989898|1|9999035837|MR|Test|E|Lead 35837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035838|135838|989898|1|9999035838|MR|Test|E|Lead 35838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035839|135839|989898|1|9999035839|MR|Test|E|Lead 35839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035840|135840|989898|1|9999035840|MR|Test|E|Lead 35840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035841|135841|989898|1|9999035841|MR|Test|E|Lead 35841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035842|135842|989898|1|9999035842|MR|Test|E|Lead 35842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035843|135843|989898|1|9999035843|MR|Test|E|Lead 35843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035844|135844|989898|1|9999035844|MR|Test|E|Lead 35844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035845|135845|989898|1|9999035845|MR|Test|E|Lead 35845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035846|135846|989898|1|9999035846|MR|Test|E|Lead 35846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035847|135847|989898|1|9999035847|MR|Test|E|Lead 35847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035848|135848|989898|1|9999035848|MR|Test|E|Lead 35848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035849|135849|989898|1|9999035849|MR|Test|E|Lead 35849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035850|135850|989898|1|9999035850|MR|Test|E|Lead 35850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035851|135851|989898|1|9999035851|MR|Test|E|Lead 35851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035852|135852|989898|1|9999035852|MR|Test|E|Lead 35852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035853|135853|989898|1|9999035853|MR|Test|E|Lead 35853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035854|135854|989898|1|9999035854|MR|Test|E|Lead 35854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035855|135855|989898|1|9999035855|MR|Test|E|Lead 35855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035856|135856|989898|1|9999035856|MR|Test|E|Lead 35856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035857|135857|989898|1|9999035857|MR|Test|E|Lead 35857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035858|135858|989898|1|9999035858|MR|Test|E|Lead 35858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035859|135859|989898|1|9999035859|MR|Test|E|Lead 35859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035860|135860|989898|1|9999035860|MR|Test|E|Lead 35860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035861|135861|989898|1|9999035861|MR|Test|E|Lead 35861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035862|135862|989898|1|9999035862|MR|Test|E|Lead 35862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035863|135863|989898|1|9999035863|MR|Test|E|Lead 35863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035864|135864|989898|1|9999035864|MR|Test|E|Lead 35864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035865|135865|989898|1|9999035865|MR|Test|E|Lead 35865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035866|135866|989898|1|9999035866|MR|Test|E|Lead 35866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035867|135867|989898|1|9999035867|MR|Test|E|Lead 35867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035868|135868|989898|1|9999035868|MR|Test|E|Lead 35868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035869|135869|989898|1|9999035869|MR|Test|E|Lead 35869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035870|135870|989898|1|9999035870|MR|Test|E|Lead 35870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035871|135871|989898|1|9999035871|MR|Test|E|Lead 35871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035872|135872|989898|1|9999035872|MR|Test|E|Lead 35872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035873|135873|989898|1|9999035873|MR|Test|E|Lead 35873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035874|135874|989898|1|9999035874|MR|Test|E|Lead 35874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035875|135875|989898|1|9999035875|MR|Test|E|Lead 35875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035876|135876|989898|1|9999035876|MR|Test|E|Lead 35876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035877|135877|989898|1|9999035877|MR|Test|E|Lead 35877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035878|135878|989898|1|9999035878|MR|Test|E|Lead 35878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035879|135879|989898|1|9999035879|MR|Test|E|Lead 35879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035880|135880|989898|1|9999035880|MR|Test|E|Lead 35880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035881|135881|989898|1|9999035881|MR|Test|E|Lead 35881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035882|135882|989898|1|9999035882|MR|Test|E|Lead 35882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035883|135883|989898|1|9999035883|MR|Test|E|Lead 35883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035884|135884|989898|1|9999035884|MR|Test|E|Lead 35884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035885|135885|989898|1|9999035885|MR|Test|E|Lead 35885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035886|135886|989898|1|9999035886|MR|Test|E|Lead 35886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035887|135887|989898|1|9999035887|MR|Test|E|Lead 35887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035888|135888|989898|1|9999035888|MR|Test|E|Lead 35888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035889|135889|989898|1|9999035889|MR|Test|E|Lead 35889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035890|135890|989898|1|9999035890|MR|Test|E|Lead 35890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035891|135891|989898|1|9999035891|MR|Test|E|Lead 35891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035892|135892|989898|1|9999035892|MR|Test|E|Lead 35892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035893|135893|989898|1|9999035893|MR|Test|E|Lead 35893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035894|135894|989898|1|9999035894|MR|Test|E|Lead 35894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035895|135895|989898|1|9999035895|MR|Test|E|Lead 35895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035896|135896|989898|1|9999035896|MR|Test|E|Lead 35896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035897|135897|989898|1|9999035897|MR|Test|E|Lead 35897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035898|135898|989898|1|9999035898|MR|Test|E|Lead 35898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035899|135899|989898|1|9999035899|MR|Test|E|Lead 35899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035900|135900|989898|1|9999035900|MR|Test|E|Lead 35900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035901|135901|989898|1|9999035901|MR|Test|E|Lead 35901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035902|135902|989898|1|9999035902|MR|Test|E|Lead 35902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035903|135903|989898|1|9999035903|MR|Test|E|Lead 35903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035904|135904|989898|1|9999035904|MR|Test|E|Lead 35904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035905|135905|989898|1|9999035905|MR|Test|E|Lead 35905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035906|135906|989898|1|9999035906|MR|Test|E|Lead 35906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035907|135907|989898|1|9999035907|MR|Test|E|Lead 35907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035908|135908|989898|1|9999035908|MR|Test|E|Lead 35908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035909|135909|989898|1|9999035909|MR|Test|E|Lead 35909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035910|135910|989898|1|9999035910|MR|Test|E|Lead 35910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035911|135911|989898|1|9999035911|MR|Test|E|Lead 35911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035912|135912|989898|1|9999035912|MR|Test|E|Lead 35912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035913|135913|989898|1|9999035913|MR|Test|E|Lead 35913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035914|135914|989898|1|9999035914|MR|Test|E|Lead 35914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035915|135915|989898|1|9999035915|MR|Test|E|Lead 35915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035916|135916|989898|1|9999035916|MR|Test|E|Lead 35916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035917|135917|989898|1|9999035917|MR|Test|E|Lead 35917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035918|135918|989898|1|9999035918|MR|Test|E|Lead 35918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035919|135919|989898|1|9999035919|MR|Test|E|Lead 35919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035920|135920|989898|1|9999035920|MR|Test|E|Lead 35920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035921|135921|989898|1|9999035921|MR|Test|E|Lead 35921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035922|135922|989898|1|9999035922|MR|Test|E|Lead 35922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035923|135923|989898|1|9999035923|MR|Test|E|Lead 35923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035924|135924|989898|1|9999035924|MR|Test|E|Lead 35924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035925|135925|989898|1|9999035925|MR|Test|E|Lead 35925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035926|135926|989898|1|9999035926|MR|Test|E|Lead 35926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035927|135927|989898|1|9999035927|MR|Test|E|Lead 35927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035928|135928|989898|1|9999035928|MR|Test|E|Lead 35928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035929|135929|989898|1|9999035929|MR|Test|E|Lead 35929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035930|135930|989898|1|9999035930|MR|Test|E|Lead 35930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035931|135931|989898|1|9999035931|MR|Test|E|Lead 35931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035932|135932|989898|1|9999035932|MR|Test|E|Lead 35932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035933|135933|989898|1|9999035933|MR|Test|E|Lead 35933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035934|135934|989898|1|9999035934|MR|Test|E|Lead 35934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035935|135935|989898|1|9999035935|MR|Test|E|Lead 35935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035936|135936|989898|1|9999035936|MR|Test|E|Lead 35936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035937|135937|989898|1|9999035937|MR|Test|E|Lead 35937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035938|135938|989898|1|9999035938|MR|Test|E|Lead 35938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035939|135939|989898|1|9999035939|MR|Test|E|Lead 35939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035940|135940|989898|1|9999035940|MR|Test|E|Lead 35940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035941|135941|989898|1|9999035941|MR|Test|E|Lead 35941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035942|135942|989898|1|9999035942|MR|Test|E|Lead 35942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035943|135943|989898|1|9999035943|MR|Test|E|Lead 35943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035944|135944|989898|1|9999035944|MR|Test|E|Lead 35944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035945|135945|989898|1|9999035945|MR|Test|E|Lead 35945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035946|135946|989898|1|9999035946|MR|Test|E|Lead 35946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035947|135947|989898|1|9999035947|MR|Test|E|Lead 35947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035948|135948|989898|1|9999035948|MR|Test|E|Lead 35948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035949|135949|989898|1|9999035949|MR|Test|E|Lead 35949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035950|135950|989898|1|9999035950|MR|Test|E|Lead 35950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035951|135951|989898|1|9999035951|MR|Test|E|Lead 35951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035952|135952|989898|1|9999035952|MR|Test|E|Lead 35952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035953|135953|989898|1|9999035953|MR|Test|E|Lead 35953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035954|135954|989898|1|9999035954|MR|Test|E|Lead 35954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035955|135955|989898|1|9999035955|MR|Test|E|Lead 35955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035956|135956|989898|1|9999035956|MR|Test|E|Lead 35956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035957|135957|989898|1|9999035957|MR|Test|E|Lead 35957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035958|135958|989898|1|9999035958|MR|Test|E|Lead 35958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035959|135959|989898|1|9999035959|MR|Test|E|Lead 35959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035960|135960|989898|1|9999035960|MR|Test|E|Lead 35960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035961|135961|989898|1|9999035961|MR|Test|E|Lead 35961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035962|135962|989898|1|9999035962|MR|Test|E|Lead 35962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035963|135963|989898|1|9999035963|MR|Test|E|Lead 35963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035964|135964|989898|1|9999035964|MR|Test|E|Lead 35964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035965|135965|989898|1|9999035965|MR|Test|E|Lead 35965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035966|135966|989898|1|9999035966|MR|Test|E|Lead 35966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035967|135967|989898|1|9999035967|MR|Test|E|Lead 35967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035968|135968|989898|1|9999035968|MR|Test|E|Lead 35968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035969|135969|989898|1|9999035969|MR|Test|E|Lead 35969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035970|135970|989898|1|9999035970|MR|Test|E|Lead 35970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035971|135971|989898|1|9999035971|MR|Test|E|Lead 35971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035972|135972|989898|1|9999035972|MR|Test|E|Lead 35972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035973|135973|989898|1|9999035973|MR|Test|E|Lead 35973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035974|135974|989898|1|9999035974|MR|Test|E|Lead 35974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035975|135975|989898|1|9999035975|MR|Test|E|Lead 35975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035976|135976|989898|1|9999035976|MR|Test|E|Lead 35976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035977|135977|989898|1|9999035977|MR|Test|E|Lead 35977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035978|135978|989898|1|9999035978|MR|Test|E|Lead 35978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035979|135979|989898|1|9999035979|MR|Test|E|Lead 35979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035980|135980|989898|1|9999035980|MR|Test|E|Lead 35980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035981|135981|989898|1|9999035981|MR|Test|E|Lead 35981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035982|135982|989898|1|9999035982|MR|Test|E|Lead 35982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035983|135983|989898|1|9999035983|MR|Test|E|Lead 35983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035984|135984|989898|1|9999035984|MR|Test|E|Lead 35984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035985|135985|989898|1|9999035985|MR|Test|E|Lead 35985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035986|135986|989898|1|9999035986|MR|Test|E|Lead 35986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035987|135987|989898|1|9999035987|MR|Test|E|Lead 35987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035988|135988|989898|1|9999035988|MR|Test|E|Lead 35988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035989|135989|989898|1|9999035989|MR|Test|E|Lead 35989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035990|135990|989898|1|9999035990|MR|Test|E|Lead 35990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035991|135991|989898|1|9999035991|MR|Test|E|Lead 35991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035992|135992|989898|1|9999035992|MR|Test|E|Lead 35992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035993|135993|989898|1|9999035993|MR|Test|E|Lead 35993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035994|135994|989898|1|9999035994|MR|Test|E|Lead 35994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035995|135995|989898|1|9999035995|MR|Test|E|Lead 35995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035996|135996|989898|1|9999035996|MR|Test|E|Lead 35996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035997|135997|989898|1|9999035997|MR|Test|E|Lead 35997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035998|135998|989898|1|9999035998|MR|Test|E|Lead 35998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1035999|135999|989898|1|9999035999|MR|Test|E|Lead 35999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036000|136000|989898|1|9999036000|MR|Test|E|Lead 36000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036001|136001|989898|1|9999036001|MR|Test|E|Lead 36001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036002|136002|989898|1|9999036002|MR|Test|E|Lead 36002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036003|136003|989898|1|9999036003|MR|Test|E|Lead 36003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036004|136004|989898|1|9999036004|MR|Test|E|Lead 36004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036005|136005|989898|1|9999036005|MR|Test|E|Lead 36005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036006|136006|989898|1|9999036006|MR|Test|E|Lead 36006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036007|136007|989898|1|9999036007|MR|Test|E|Lead 36007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036008|136008|989898|1|9999036008|MR|Test|E|Lead 36008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036009|136009|989898|1|9999036009|MR|Test|E|Lead 36009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036010|136010|989898|1|9999036010|MR|Test|E|Lead 36010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036011|136011|989898|1|9999036011|MR|Test|E|Lead 36011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036012|136012|989898|1|9999036012|MR|Test|E|Lead 36012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036013|136013|989898|1|9999036013|MR|Test|E|Lead 36013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036014|136014|989898|1|9999036014|MR|Test|E|Lead 36014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036015|136015|989898|1|9999036015|MR|Test|E|Lead 36015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036016|136016|989898|1|9999036016|MR|Test|E|Lead 36016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036017|136017|989898|1|9999036017|MR|Test|E|Lead 36017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036018|136018|989898|1|9999036018|MR|Test|E|Lead 36018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036019|136019|989898|1|9999036019|MR|Test|E|Lead 36019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036020|136020|989898|1|9999036020|MR|Test|E|Lead 36020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036021|136021|989898|1|9999036021|MR|Test|E|Lead 36021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036022|136022|989898|1|9999036022|MR|Test|E|Lead 36022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036023|136023|989898|1|9999036023|MR|Test|E|Lead 36023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036024|136024|989898|1|9999036024|MR|Test|E|Lead 36024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036025|136025|989898|1|9999036025|MR|Test|E|Lead 36025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036026|136026|989898|1|9999036026|MR|Test|E|Lead 36026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036027|136027|989898|1|9999036027|MR|Test|E|Lead 36027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036028|136028|989898|1|9999036028|MR|Test|E|Lead 36028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036029|136029|989898|1|9999036029|MR|Test|E|Lead 36029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036030|136030|989898|1|9999036030|MR|Test|E|Lead 36030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036031|136031|989898|1|9999036031|MR|Test|E|Lead 36031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036032|136032|989898|1|9999036032|MR|Test|E|Lead 36032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036033|136033|989898|1|9999036033|MR|Test|E|Lead 36033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036034|136034|989898|1|9999036034|MR|Test|E|Lead 36034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036035|136035|989898|1|9999036035|MR|Test|E|Lead 36035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036036|136036|989898|1|9999036036|MR|Test|E|Lead 36036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036037|136037|989898|1|9999036037|MR|Test|E|Lead 36037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036038|136038|989898|1|9999036038|MR|Test|E|Lead 36038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036039|136039|989898|1|9999036039|MR|Test|E|Lead 36039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036040|136040|989898|1|9999036040|MR|Test|E|Lead 36040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036041|136041|989898|1|9999036041|MR|Test|E|Lead 36041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036042|136042|989898|1|9999036042|MR|Test|E|Lead 36042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036043|136043|989898|1|9999036043|MR|Test|E|Lead 36043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036044|136044|989898|1|9999036044|MR|Test|E|Lead 36044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036045|136045|989898|1|9999036045|MR|Test|E|Lead 36045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036046|136046|989898|1|9999036046|MR|Test|E|Lead 36046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036047|136047|989898|1|9999036047|MR|Test|E|Lead 36047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036048|136048|989898|1|9999036048|MR|Test|E|Lead 36048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036049|136049|989898|1|9999036049|MR|Test|E|Lead 36049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036050|136050|989898|1|9999036050|MR|Test|E|Lead 36050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036051|136051|989898|1|9999036051|MR|Test|E|Lead 36051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036052|136052|989898|1|9999036052|MR|Test|E|Lead 36052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036053|136053|989898|1|9999036053|MR|Test|E|Lead 36053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036054|136054|989898|1|9999036054|MR|Test|E|Lead 36054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036055|136055|989898|1|9999036055|MR|Test|E|Lead 36055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036056|136056|989898|1|9999036056|MR|Test|E|Lead 36056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036057|136057|989898|1|9999036057|MR|Test|E|Lead 36057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036058|136058|989898|1|9999036058|MR|Test|E|Lead 36058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036059|136059|989898|1|9999036059|MR|Test|E|Lead 36059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036060|136060|989898|1|9999036060|MR|Test|E|Lead 36060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036061|136061|989898|1|9999036061|MR|Test|E|Lead 36061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036062|136062|989898|1|9999036062|MR|Test|E|Lead 36062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036063|136063|989898|1|9999036063|MR|Test|E|Lead 36063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036064|136064|989898|1|9999036064|MR|Test|E|Lead 36064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036065|136065|989898|1|9999036065|MR|Test|E|Lead 36065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036066|136066|989898|1|9999036066|MR|Test|E|Lead 36066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036067|136067|989898|1|9999036067|MR|Test|E|Lead 36067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036068|136068|989898|1|9999036068|MR|Test|E|Lead 36068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036069|136069|989898|1|9999036069|MR|Test|E|Lead 36069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036070|136070|989898|1|9999036070|MR|Test|E|Lead 36070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036071|136071|989898|1|9999036071|MR|Test|E|Lead 36071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036072|136072|989898|1|9999036072|MR|Test|E|Lead 36072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036073|136073|989898|1|9999036073|MR|Test|E|Lead 36073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036074|136074|989898|1|9999036074|MR|Test|E|Lead 36074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036075|136075|989898|1|9999036075|MR|Test|E|Lead 36075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036076|136076|989898|1|9999036076|MR|Test|E|Lead 36076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036077|136077|989898|1|9999036077|MR|Test|E|Lead 36077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036078|136078|989898|1|9999036078|MR|Test|E|Lead 36078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036079|136079|989898|1|9999036079|MR|Test|E|Lead 36079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036080|136080|989898|1|9999036080|MR|Test|E|Lead 36080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036081|136081|989898|1|9999036081|MR|Test|E|Lead 36081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036082|136082|989898|1|9999036082|MR|Test|E|Lead 36082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036083|136083|989898|1|9999036083|MR|Test|E|Lead 36083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036084|136084|989898|1|9999036084|MR|Test|E|Lead 36084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036085|136085|989898|1|9999036085|MR|Test|E|Lead 36085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036086|136086|989898|1|9999036086|MR|Test|E|Lead 36086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036087|136087|989898|1|9999036087|MR|Test|E|Lead 36087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036088|136088|989898|1|9999036088|MR|Test|E|Lead 36088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036089|136089|989898|1|9999036089|MR|Test|E|Lead 36089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036090|136090|989898|1|9999036090|MR|Test|E|Lead 36090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036091|136091|989898|1|9999036091|MR|Test|E|Lead 36091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036092|136092|989898|1|9999036092|MR|Test|E|Lead 36092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036093|136093|989898|1|9999036093|MR|Test|E|Lead 36093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036094|136094|989898|1|9999036094|MR|Test|E|Lead 36094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036095|136095|989898|1|9999036095|MR|Test|E|Lead 36095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036096|136096|989898|1|9999036096|MR|Test|E|Lead 36096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036097|136097|989898|1|9999036097|MR|Test|E|Lead 36097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036098|136098|989898|1|9999036098|MR|Test|E|Lead 36098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036099|136099|989898|1|9999036099|MR|Test|E|Lead 36099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036100|136100|989898|1|9999036100|MR|Test|E|Lead 36100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036101|136101|989898|1|9999036101|MR|Test|E|Lead 36101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036102|136102|989898|1|9999036102|MR|Test|E|Lead 36102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036103|136103|989898|1|9999036103|MR|Test|E|Lead 36103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036104|136104|989898|1|9999036104|MR|Test|E|Lead 36104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036105|136105|989898|1|9999036105|MR|Test|E|Lead 36105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036106|136106|989898|1|9999036106|MR|Test|E|Lead 36106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036107|136107|989898|1|9999036107|MR|Test|E|Lead 36107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036108|136108|989898|1|9999036108|MR|Test|E|Lead 36108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036109|136109|989898|1|9999036109|MR|Test|E|Lead 36109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036110|136110|989898|1|9999036110|MR|Test|E|Lead 36110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036111|136111|989898|1|9999036111|MR|Test|E|Lead 36111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036112|136112|989898|1|9999036112|MR|Test|E|Lead 36112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036113|136113|989898|1|9999036113|MR|Test|E|Lead 36113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036114|136114|989898|1|9999036114|MR|Test|E|Lead 36114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036115|136115|989898|1|9999036115|MR|Test|E|Lead 36115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036116|136116|989898|1|9999036116|MR|Test|E|Lead 36116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036117|136117|989898|1|9999036117|MR|Test|E|Lead 36117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036118|136118|989898|1|9999036118|MR|Test|E|Lead 36118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036119|136119|989898|1|9999036119|MR|Test|E|Lead 36119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036120|136120|989898|1|9999036120|MR|Test|E|Lead 36120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036121|136121|989898|1|9999036121|MR|Test|E|Lead 36121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036122|136122|989898|1|9999036122|MR|Test|E|Lead 36122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036123|136123|989898|1|9999036123|MR|Test|E|Lead 36123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036124|136124|989898|1|9999036124|MR|Test|E|Lead 36124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036125|136125|989898|1|9999036125|MR|Test|E|Lead 36125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036126|136126|989898|1|9999036126|MR|Test|E|Lead 36126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036127|136127|989898|1|9999036127|MR|Test|E|Lead 36127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036128|136128|989898|1|9999036128|MR|Test|E|Lead 36128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036129|136129|989898|1|9999036129|MR|Test|E|Lead 36129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036130|136130|989898|1|9999036130|MR|Test|E|Lead 36130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036131|136131|989898|1|9999036131|MR|Test|E|Lead 36131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036132|136132|989898|1|9999036132|MR|Test|E|Lead 36132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036133|136133|989898|1|9999036133|MR|Test|E|Lead 36133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036134|136134|989898|1|9999036134|MR|Test|E|Lead 36134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036135|136135|989898|1|9999036135|MR|Test|E|Lead 36135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036136|136136|989898|1|9999036136|MR|Test|E|Lead 36136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036137|136137|989898|1|9999036137|MR|Test|E|Lead 36137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036138|136138|989898|1|9999036138|MR|Test|E|Lead 36138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036139|136139|989898|1|9999036139|MR|Test|E|Lead 36139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036140|136140|989898|1|9999036140|MR|Test|E|Lead 36140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036141|136141|989898|1|9999036141|MR|Test|E|Lead 36141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036142|136142|989898|1|9999036142|MR|Test|E|Lead 36142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036143|136143|989898|1|9999036143|MR|Test|E|Lead 36143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036144|136144|989898|1|9999036144|MR|Test|E|Lead 36144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036145|136145|989898|1|9999036145|MR|Test|E|Lead 36145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036146|136146|989898|1|9999036146|MR|Test|E|Lead 36146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036147|136147|989898|1|9999036147|MR|Test|E|Lead 36147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036148|136148|989898|1|9999036148|MR|Test|E|Lead 36148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036149|136149|989898|1|9999036149|MR|Test|E|Lead 36149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036150|136150|989898|1|9999036150|MR|Test|E|Lead 36150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036151|136151|989898|1|9999036151|MR|Test|E|Lead 36151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036152|136152|989898|1|9999036152|MR|Test|E|Lead 36152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036153|136153|989898|1|9999036153|MR|Test|E|Lead 36153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036154|136154|989898|1|9999036154|MR|Test|E|Lead 36154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036155|136155|989898|1|9999036155|MR|Test|E|Lead 36155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036156|136156|989898|1|9999036156|MR|Test|E|Lead 36156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036157|136157|989898|1|9999036157|MR|Test|E|Lead 36157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036158|136158|989898|1|9999036158|MR|Test|E|Lead 36158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036159|136159|989898|1|9999036159|MR|Test|E|Lead 36159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036160|136160|989898|1|9999036160|MR|Test|E|Lead 36160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036161|136161|989898|1|9999036161|MR|Test|E|Lead 36161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036162|136162|989898|1|9999036162|MR|Test|E|Lead 36162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036163|136163|989898|1|9999036163|MR|Test|E|Lead 36163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036164|136164|989898|1|9999036164|MR|Test|E|Lead 36164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036165|136165|989898|1|9999036165|MR|Test|E|Lead 36165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036166|136166|989898|1|9999036166|MR|Test|E|Lead 36166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036167|136167|989898|1|9999036167|MR|Test|E|Lead 36167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036168|136168|989898|1|9999036168|MR|Test|E|Lead 36168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036169|136169|989898|1|9999036169|MR|Test|E|Lead 36169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036170|136170|989898|1|9999036170|MR|Test|E|Lead 36170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036171|136171|989898|1|9999036171|MR|Test|E|Lead 36171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036172|136172|989898|1|9999036172|MR|Test|E|Lead 36172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036173|136173|989898|1|9999036173|MR|Test|E|Lead 36173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036174|136174|989898|1|9999036174|MR|Test|E|Lead 36174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036175|136175|989898|1|9999036175|MR|Test|E|Lead 36175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036176|136176|989898|1|9999036176|MR|Test|E|Lead 36176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036177|136177|989898|1|9999036177|MR|Test|E|Lead 36177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036178|136178|989898|1|9999036178|MR|Test|E|Lead 36178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036179|136179|989898|1|9999036179|MR|Test|E|Lead 36179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036180|136180|989898|1|9999036180|MR|Test|E|Lead 36180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036181|136181|989898|1|9999036181|MR|Test|E|Lead 36181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036182|136182|989898|1|9999036182|MR|Test|E|Lead 36182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036183|136183|989898|1|9999036183|MR|Test|E|Lead 36183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036184|136184|989898|1|9999036184|MR|Test|E|Lead 36184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036185|136185|989898|1|9999036185|MR|Test|E|Lead 36185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036186|136186|989898|1|9999036186|MR|Test|E|Lead 36186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036187|136187|989898|1|9999036187|MR|Test|E|Lead 36187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036188|136188|989898|1|9999036188|MR|Test|E|Lead 36188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036189|136189|989898|1|9999036189|MR|Test|E|Lead 36189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036190|136190|989898|1|9999036190|MR|Test|E|Lead 36190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036191|136191|989898|1|9999036191|MR|Test|E|Lead 36191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036192|136192|989898|1|9999036192|MR|Test|E|Lead 36192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036193|136193|989898|1|9999036193|MR|Test|E|Lead 36193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036194|136194|989898|1|9999036194|MR|Test|E|Lead 36194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036195|136195|989898|1|9999036195|MR|Test|E|Lead 36195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036196|136196|989898|1|9999036196|MR|Test|E|Lead 36196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036197|136197|989898|1|9999036197|MR|Test|E|Lead 36197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036198|136198|989898|1|9999036198|MR|Test|E|Lead 36198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036199|136199|989898|1|9999036199|MR|Test|E|Lead 36199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036200|136200|989898|1|9999036200|MR|Test|E|Lead 36200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036201|136201|989898|1|9999036201|MR|Test|E|Lead 36201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036202|136202|989898|1|9999036202|MR|Test|E|Lead 36202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036203|136203|989898|1|9999036203|MR|Test|E|Lead 36203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036204|136204|989898|1|9999036204|MR|Test|E|Lead 36204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036205|136205|989898|1|9999036205|MR|Test|E|Lead 36205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036206|136206|989898|1|9999036206|MR|Test|E|Lead 36206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036207|136207|989898|1|9999036207|MR|Test|E|Lead 36207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036208|136208|989898|1|9999036208|MR|Test|E|Lead 36208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036209|136209|989898|1|9999036209|MR|Test|E|Lead 36209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036210|136210|989898|1|9999036210|MR|Test|E|Lead 36210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036211|136211|989898|1|9999036211|MR|Test|E|Lead 36211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036212|136212|989898|1|9999036212|MR|Test|E|Lead 36212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036213|136213|989898|1|9999036213|MR|Test|E|Lead 36213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036214|136214|989898|1|9999036214|MR|Test|E|Lead 36214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036215|136215|989898|1|9999036215|MR|Test|E|Lead 36215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036216|136216|989898|1|9999036216|MR|Test|E|Lead 36216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036217|136217|989898|1|9999036217|MR|Test|E|Lead 36217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036218|136218|989898|1|9999036218|MR|Test|E|Lead 36218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036219|136219|989898|1|9999036219|MR|Test|E|Lead 36219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036220|136220|989898|1|9999036220|MR|Test|E|Lead 36220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036221|136221|989898|1|9999036221|MR|Test|E|Lead 36221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036222|136222|989898|1|9999036222|MR|Test|E|Lead 36222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036223|136223|989898|1|9999036223|MR|Test|E|Lead 36223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036224|136224|989898|1|9999036224|MR|Test|E|Lead 36224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036225|136225|989898|1|9999036225|MR|Test|E|Lead 36225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036226|136226|989898|1|9999036226|MR|Test|E|Lead 36226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036227|136227|989898|1|9999036227|MR|Test|E|Lead 36227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036228|136228|989898|1|9999036228|MR|Test|E|Lead 36228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036229|136229|989898|1|9999036229|MR|Test|E|Lead 36229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036230|136230|989898|1|9999036230|MR|Test|E|Lead 36230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036231|136231|989898|1|9999036231|MR|Test|E|Lead 36231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036232|136232|989898|1|9999036232|MR|Test|E|Lead 36232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036233|136233|989898|1|9999036233|MR|Test|E|Lead 36233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036234|136234|989898|1|9999036234|MR|Test|E|Lead 36234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036235|136235|989898|1|9999036235|MR|Test|E|Lead 36235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036236|136236|989898|1|9999036236|MR|Test|E|Lead 36236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036237|136237|989898|1|9999036237|MR|Test|E|Lead 36237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036238|136238|989898|1|9999036238|MR|Test|E|Lead 36238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036239|136239|989898|1|9999036239|MR|Test|E|Lead 36239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036240|136240|989898|1|9999036240|MR|Test|E|Lead 36240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036241|136241|989898|1|9999036241|MR|Test|E|Lead 36241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036242|136242|989898|1|9999036242|MR|Test|E|Lead 36242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036243|136243|989898|1|9999036243|MR|Test|E|Lead 36243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036244|136244|989898|1|9999036244|MR|Test|E|Lead 36244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036245|136245|989898|1|9999036245|MR|Test|E|Lead 36245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036246|136246|989898|1|9999036246|MR|Test|E|Lead 36246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036247|136247|989898|1|9999036247|MR|Test|E|Lead 36247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036248|136248|989898|1|9999036248|MR|Test|E|Lead 36248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036249|136249|989898|1|9999036249|MR|Test|E|Lead 36249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036250|136250|989898|1|9999036250|MR|Test|E|Lead 36250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036251|136251|989898|1|9999036251|MR|Test|E|Lead 36251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036252|136252|989898|1|9999036252|MR|Test|E|Lead 36252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036253|136253|989898|1|9999036253|MR|Test|E|Lead 36253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036254|136254|989898|1|9999036254|MR|Test|E|Lead 36254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036255|136255|989898|1|9999036255|MR|Test|E|Lead 36255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036256|136256|989898|1|9999036256|MR|Test|E|Lead 36256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036257|136257|989898|1|9999036257|MR|Test|E|Lead 36257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036258|136258|989898|1|9999036258|MR|Test|E|Lead 36258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036259|136259|989898|1|9999036259|MR|Test|E|Lead 36259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036260|136260|989898|1|9999036260|MR|Test|E|Lead 36260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036261|136261|989898|1|9999036261|MR|Test|E|Lead 36261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036262|136262|989898|1|9999036262|MR|Test|E|Lead 36262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036263|136263|989898|1|9999036263|MR|Test|E|Lead 36263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036264|136264|989898|1|9999036264|MR|Test|E|Lead 36264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036265|136265|989898|1|9999036265|MR|Test|E|Lead 36265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036266|136266|989898|1|9999036266|MR|Test|E|Lead 36266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036267|136267|989898|1|9999036267|MR|Test|E|Lead 36267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036268|136268|989898|1|9999036268|MR|Test|E|Lead 36268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036269|136269|989898|1|9999036269|MR|Test|E|Lead 36269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036270|136270|989898|1|9999036270|MR|Test|E|Lead 36270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036271|136271|989898|1|9999036271|MR|Test|E|Lead 36271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036272|136272|989898|1|9999036272|MR|Test|E|Lead 36272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036273|136273|989898|1|9999036273|MR|Test|E|Lead 36273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036274|136274|989898|1|9999036274|MR|Test|E|Lead 36274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036275|136275|989898|1|9999036275|MR|Test|E|Lead 36275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036276|136276|989898|1|9999036276|MR|Test|E|Lead 36276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036277|136277|989898|1|9999036277|MR|Test|E|Lead 36277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036278|136278|989898|1|9999036278|MR|Test|E|Lead 36278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036279|136279|989898|1|9999036279|MR|Test|E|Lead 36279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036280|136280|989898|1|9999036280|MR|Test|E|Lead 36280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036281|136281|989898|1|9999036281|MR|Test|E|Lead 36281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036282|136282|989898|1|9999036282|MR|Test|E|Lead 36282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036283|136283|989898|1|9999036283|MR|Test|E|Lead 36283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036284|136284|989898|1|9999036284|MR|Test|E|Lead 36284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036285|136285|989898|1|9999036285|MR|Test|E|Lead 36285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036286|136286|989898|1|9999036286|MR|Test|E|Lead 36286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036287|136287|989898|1|9999036287|MR|Test|E|Lead 36287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036288|136288|989898|1|9999036288|MR|Test|E|Lead 36288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036289|136289|989898|1|9999036289|MR|Test|E|Lead 36289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036290|136290|989898|1|9999036290|MR|Test|E|Lead 36290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036291|136291|989898|1|9999036291|MR|Test|E|Lead 36291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036292|136292|989898|1|9999036292|MR|Test|E|Lead 36292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036293|136293|989898|1|9999036293|MR|Test|E|Lead 36293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036294|136294|989898|1|9999036294|MR|Test|E|Lead 36294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036295|136295|989898|1|9999036295|MR|Test|E|Lead 36295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036296|136296|989898|1|9999036296|MR|Test|E|Lead 36296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036297|136297|989898|1|9999036297|MR|Test|E|Lead 36297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036298|136298|989898|1|9999036298|MR|Test|E|Lead 36298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036299|136299|989898|1|9999036299|MR|Test|E|Lead 36299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036300|136300|989898|1|9999036300|MR|Test|E|Lead 36300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036301|136301|989898|1|9999036301|MR|Test|E|Lead 36301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036302|136302|989898|1|9999036302|MR|Test|E|Lead 36302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036303|136303|989898|1|9999036303|MR|Test|E|Lead 36303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036304|136304|989898|1|9999036304|MR|Test|E|Lead 36304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036305|136305|989898|1|9999036305|MR|Test|E|Lead 36305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036306|136306|989898|1|9999036306|MR|Test|E|Lead 36306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036307|136307|989898|1|9999036307|MR|Test|E|Lead 36307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036308|136308|989898|1|9999036308|MR|Test|E|Lead 36308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036309|136309|989898|1|9999036309|MR|Test|E|Lead 36309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036310|136310|989898|1|9999036310|MR|Test|E|Lead 36310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036311|136311|989898|1|9999036311|MR|Test|E|Lead 36311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036312|136312|989898|1|9999036312|MR|Test|E|Lead 36312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036313|136313|989898|1|9999036313|MR|Test|E|Lead 36313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036314|136314|989898|1|9999036314|MR|Test|E|Lead 36314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036315|136315|989898|1|9999036315|MR|Test|E|Lead 36315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036316|136316|989898|1|9999036316|MR|Test|E|Lead 36316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036317|136317|989898|1|9999036317|MR|Test|E|Lead 36317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036318|136318|989898|1|9999036318|MR|Test|E|Lead 36318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036319|136319|989898|1|9999036319|MR|Test|E|Lead 36319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036320|136320|989898|1|9999036320|MR|Test|E|Lead 36320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036321|136321|989898|1|9999036321|MR|Test|E|Lead 36321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036322|136322|989898|1|9999036322|MR|Test|E|Lead 36322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036323|136323|989898|1|9999036323|MR|Test|E|Lead 36323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036324|136324|989898|1|9999036324|MR|Test|E|Lead 36324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036325|136325|989898|1|9999036325|MR|Test|E|Lead 36325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036326|136326|989898|1|9999036326|MR|Test|E|Lead 36326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036327|136327|989898|1|9999036327|MR|Test|E|Lead 36327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036328|136328|989898|1|9999036328|MR|Test|E|Lead 36328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036329|136329|989898|1|9999036329|MR|Test|E|Lead 36329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036330|136330|989898|1|9999036330|MR|Test|E|Lead 36330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036331|136331|989898|1|9999036331|MR|Test|E|Lead 36331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036332|136332|989898|1|9999036332|MR|Test|E|Lead 36332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036333|136333|989898|1|9999036333|MR|Test|E|Lead 36333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036334|136334|989898|1|9999036334|MR|Test|E|Lead 36334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036335|136335|989898|1|9999036335|MR|Test|E|Lead 36335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036336|136336|989898|1|9999036336|MR|Test|E|Lead 36336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036337|136337|989898|1|9999036337|MR|Test|E|Lead 36337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036338|136338|989898|1|9999036338|MR|Test|E|Lead 36338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036339|136339|989898|1|9999036339|MR|Test|E|Lead 36339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036340|136340|989898|1|9999036340|MR|Test|E|Lead 36340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036341|136341|989898|1|9999036341|MR|Test|E|Lead 36341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036342|136342|989898|1|9999036342|MR|Test|E|Lead 36342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036343|136343|989898|1|9999036343|MR|Test|E|Lead 36343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036344|136344|989898|1|9999036344|MR|Test|E|Lead 36344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036345|136345|989898|1|9999036345|MR|Test|E|Lead 36345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036346|136346|989898|1|9999036346|MR|Test|E|Lead 36346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036347|136347|989898|1|9999036347|MR|Test|E|Lead 36347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036348|136348|989898|1|9999036348|MR|Test|E|Lead 36348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036349|136349|989898|1|9999036349|MR|Test|E|Lead 36349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036350|136350|989898|1|9999036350|MR|Test|E|Lead 36350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036351|136351|989898|1|9999036351|MR|Test|E|Lead 36351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036352|136352|989898|1|9999036352|MR|Test|E|Lead 36352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036353|136353|989898|1|9999036353|MR|Test|E|Lead 36353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036354|136354|989898|1|9999036354|MR|Test|E|Lead 36354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036355|136355|989898|1|9999036355|MR|Test|E|Lead 36355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036356|136356|989898|1|9999036356|MR|Test|E|Lead 36356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036357|136357|989898|1|9999036357|MR|Test|E|Lead 36357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036358|136358|989898|1|9999036358|MR|Test|E|Lead 36358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036359|136359|989898|1|9999036359|MR|Test|E|Lead 36359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036360|136360|989898|1|9999036360|MR|Test|E|Lead 36360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036361|136361|989898|1|9999036361|MR|Test|E|Lead 36361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036362|136362|989898|1|9999036362|MR|Test|E|Lead 36362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036363|136363|989898|1|9999036363|MR|Test|E|Lead 36363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036364|136364|989898|1|9999036364|MR|Test|E|Lead 36364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036365|136365|989898|1|9999036365|MR|Test|E|Lead 36365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036366|136366|989898|1|9999036366|MR|Test|E|Lead 36366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036367|136367|989898|1|9999036367|MR|Test|E|Lead 36367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036368|136368|989898|1|9999036368|MR|Test|E|Lead 36368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036369|136369|989898|1|9999036369|MR|Test|E|Lead 36369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036370|136370|989898|1|9999036370|MR|Test|E|Lead 36370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036371|136371|989898|1|9999036371|MR|Test|E|Lead 36371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036372|136372|989898|1|9999036372|MR|Test|E|Lead 36372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036373|136373|989898|1|9999036373|MR|Test|E|Lead 36373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036374|136374|989898|1|9999036374|MR|Test|E|Lead 36374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036375|136375|989898|1|9999036375|MR|Test|E|Lead 36375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036376|136376|989898|1|9999036376|MR|Test|E|Lead 36376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036377|136377|989898|1|9999036377|MR|Test|E|Lead 36377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036378|136378|989898|1|9999036378|MR|Test|E|Lead 36378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036379|136379|989898|1|9999036379|MR|Test|E|Lead 36379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036380|136380|989898|1|9999036380|MR|Test|E|Lead 36380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036381|136381|989898|1|9999036381|MR|Test|E|Lead 36381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036382|136382|989898|1|9999036382|MR|Test|E|Lead 36382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036383|136383|989898|1|9999036383|MR|Test|E|Lead 36383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036384|136384|989898|1|9999036384|MR|Test|E|Lead 36384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036385|136385|989898|1|9999036385|MR|Test|E|Lead 36385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036386|136386|989898|1|9999036386|MR|Test|E|Lead 36386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036387|136387|989898|1|9999036387|MR|Test|E|Lead 36387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036388|136388|989898|1|9999036388|MR|Test|E|Lead 36388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036389|136389|989898|1|9999036389|MR|Test|E|Lead 36389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036390|136390|989898|1|9999036390|MR|Test|E|Lead 36390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036391|136391|989898|1|9999036391|MR|Test|E|Lead 36391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036392|136392|989898|1|9999036392|MR|Test|E|Lead 36392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036393|136393|989898|1|9999036393|MR|Test|E|Lead 36393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036394|136394|989898|1|9999036394|MR|Test|E|Lead 36394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036395|136395|989898|1|9999036395|MR|Test|E|Lead 36395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036396|136396|989898|1|9999036396|MR|Test|E|Lead 36396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036397|136397|989898|1|9999036397|MR|Test|E|Lead 36397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036398|136398|989898|1|9999036398|MR|Test|E|Lead 36398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036399|136399|989898|1|9999036399|MR|Test|E|Lead 36399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036400|136400|989898|1|9999036400|MR|Test|E|Lead 36400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036401|136401|989898|1|9999036401|MR|Test|E|Lead 36401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036402|136402|989898|1|9999036402|MR|Test|E|Lead 36402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036403|136403|989898|1|9999036403|MR|Test|E|Lead 36403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036404|136404|989898|1|9999036404|MR|Test|E|Lead 36404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036405|136405|989898|1|9999036405|MR|Test|E|Lead 36405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036406|136406|989898|1|9999036406|MR|Test|E|Lead 36406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036407|136407|989898|1|9999036407|MR|Test|E|Lead 36407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036408|136408|989898|1|9999036408|MR|Test|E|Lead 36408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036409|136409|989898|1|9999036409|MR|Test|E|Lead 36409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036410|136410|989898|1|9999036410|MR|Test|E|Lead 36410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036411|136411|989898|1|9999036411|MR|Test|E|Lead 36411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036412|136412|989898|1|9999036412|MR|Test|E|Lead 36412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036413|136413|989898|1|9999036413|MR|Test|E|Lead 36413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036414|136414|989898|1|9999036414|MR|Test|E|Lead 36414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036415|136415|989898|1|9999036415|MR|Test|E|Lead 36415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036416|136416|989898|1|9999036416|MR|Test|E|Lead 36416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036417|136417|989898|1|9999036417|MR|Test|E|Lead 36417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036418|136418|989898|1|9999036418|MR|Test|E|Lead 36418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036419|136419|989898|1|9999036419|MR|Test|E|Lead 36419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036420|136420|989898|1|9999036420|MR|Test|E|Lead 36420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036421|136421|989898|1|9999036421|MR|Test|E|Lead 36421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036422|136422|989898|1|9999036422|MR|Test|E|Lead 36422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036423|136423|989898|1|9999036423|MR|Test|E|Lead 36423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036424|136424|989898|1|9999036424|MR|Test|E|Lead 36424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036425|136425|989898|1|9999036425|MR|Test|E|Lead 36425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036426|136426|989898|1|9999036426|MR|Test|E|Lead 36426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036427|136427|989898|1|9999036427|MR|Test|E|Lead 36427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036428|136428|989898|1|9999036428|MR|Test|E|Lead 36428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036429|136429|989898|1|9999036429|MR|Test|E|Lead 36429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036430|136430|989898|1|9999036430|MR|Test|E|Lead 36430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036431|136431|989898|1|9999036431|MR|Test|E|Lead 36431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036432|136432|989898|1|9999036432|MR|Test|E|Lead 36432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036433|136433|989898|1|9999036433|MR|Test|E|Lead 36433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036434|136434|989898|1|9999036434|MR|Test|E|Lead 36434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036435|136435|989898|1|9999036435|MR|Test|E|Lead 36435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036436|136436|989898|1|9999036436|MR|Test|E|Lead 36436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036437|136437|989898|1|9999036437|MR|Test|E|Lead 36437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036438|136438|989898|1|9999036438|MR|Test|E|Lead 36438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036439|136439|989898|1|9999036439|MR|Test|E|Lead 36439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036440|136440|989898|1|9999036440|MR|Test|E|Lead 36440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036441|136441|989898|1|9999036441|MR|Test|E|Lead 36441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036442|136442|989898|1|9999036442|MR|Test|E|Lead 36442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036443|136443|989898|1|9999036443|MR|Test|E|Lead 36443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036444|136444|989898|1|9999036444|MR|Test|E|Lead 36444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036445|136445|989898|1|9999036445|MR|Test|E|Lead 36445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036446|136446|989898|1|9999036446|MR|Test|E|Lead 36446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036447|136447|989898|1|9999036447|MR|Test|E|Lead 36447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036448|136448|989898|1|9999036448|MR|Test|E|Lead 36448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036449|136449|989898|1|9999036449|MR|Test|E|Lead 36449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036450|136450|989898|1|9999036450|MR|Test|E|Lead 36450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036451|136451|989898|1|9999036451|MR|Test|E|Lead 36451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036452|136452|989898|1|9999036452|MR|Test|E|Lead 36452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036453|136453|989898|1|9999036453|MR|Test|E|Lead 36453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036454|136454|989898|1|9999036454|MR|Test|E|Lead 36454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036455|136455|989898|1|9999036455|MR|Test|E|Lead 36455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036456|136456|989898|1|9999036456|MR|Test|E|Lead 36456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036457|136457|989898|1|9999036457|MR|Test|E|Lead 36457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036458|136458|989898|1|9999036458|MR|Test|E|Lead 36458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036459|136459|989898|1|9999036459|MR|Test|E|Lead 36459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036460|136460|989898|1|9999036460|MR|Test|E|Lead 36460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036461|136461|989898|1|9999036461|MR|Test|E|Lead 36461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036462|136462|989898|1|9999036462|MR|Test|E|Lead 36462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036463|136463|989898|1|9999036463|MR|Test|E|Lead 36463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036464|136464|989898|1|9999036464|MR|Test|E|Lead 36464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036465|136465|989898|1|9999036465|MR|Test|E|Lead 36465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036466|136466|989898|1|9999036466|MR|Test|E|Lead 36466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036467|136467|989898|1|9999036467|MR|Test|E|Lead 36467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036468|136468|989898|1|9999036468|MR|Test|E|Lead 36468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036469|136469|989898|1|9999036469|MR|Test|E|Lead 36469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036470|136470|989898|1|9999036470|MR|Test|E|Lead 36470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036471|136471|989898|1|9999036471|MR|Test|E|Lead 36471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036472|136472|989898|1|9999036472|MR|Test|E|Lead 36472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036473|136473|989898|1|9999036473|MR|Test|E|Lead 36473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036474|136474|989898|1|9999036474|MR|Test|E|Lead 36474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036475|136475|989898|1|9999036475|MR|Test|E|Lead 36475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036476|136476|989898|1|9999036476|MR|Test|E|Lead 36476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036477|136477|989898|1|9999036477|MR|Test|E|Lead 36477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036478|136478|989898|1|9999036478|MR|Test|E|Lead 36478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036479|136479|989898|1|9999036479|MR|Test|E|Lead 36479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036480|136480|989898|1|9999036480|MR|Test|E|Lead 36480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036481|136481|989898|1|9999036481|MR|Test|E|Lead 36481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036482|136482|989898|1|9999036482|MR|Test|E|Lead 36482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036483|136483|989898|1|9999036483|MR|Test|E|Lead 36483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036484|136484|989898|1|9999036484|MR|Test|E|Lead 36484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036485|136485|989898|1|9999036485|MR|Test|E|Lead 36485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036486|136486|989898|1|9999036486|MR|Test|E|Lead 36486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036487|136487|989898|1|9999036487|MR|Test|E|Lead 36487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036488|136488|989898|1|9999036488|MR|Test|E|Lead 36488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036489|136489|989898|1|9999036489|MR|Test|E|Lead 36489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036490|136490|989898|1|9999036490|MR|Test|E|Lead 36490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036491|136491|989898|1|9999036491|MR|Test|E|Lead 36491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036492|136492|989898|1|9999036492|MR|Test|E|Lead 36492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036493|136493|989898|1|9999036493|MR|Test|E|Lead 36493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036494|136494|989898|1|9999036494|MR|Test|E|Lead 36494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036495|136495|989898|1|9999036495|MR|Test|E|Lead 36495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036496|136496|989898|1|9999036496|MR|Test|E|Lead 36496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036497|136497|989898|1|9999036497|MR|Test|E|Lead 36497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036498|136498|989898|1|9999036498|MR|Test|E|Lead 36498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036499|136499|989898|1|9999036499|MR|Test|E|Lead 36499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036500|136500|989898|1|9999036500|MR|Test|E|Lead 36500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036501|136501|989898|1|9999036501|MR|Test|E|Lead 36501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036502|136502|989898|1|9999036502|MR|Test|E|Lead 36502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036503|136503|989898|1|9999036503|MR|Test|E|Lead 36503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036504|136504|989898|1|9999036504|MR|Test|E|Lead 36504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036505|136505|989898|1|9999036505|MR|Test|E|Lead 36505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036506|136506|989898|1|9999036506|MR|Test|E|Lead 36506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036507|136507|989898|1|9999036507|MR|Test|E|Lead 36507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036508|136508|989898|1|9999036508|MR|Test|E|Lead 36508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036509|136509|989898|1|9999036509|MR|Test|E|Lead 36509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036510|136510|989898|1|9999036510|MR|Test|E|Lead 36510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036511|136511|989898|1|9999036511|MR|Test|E|Lead 36511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036512|136512|989898|1|9999036512|MR|Test|E|Lead 36512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036513|136513|989898|1|9999036513|MR|Test|E|Lead 36513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036514|136514|989898|1|9999036514|MR|Test|E|Lead 36514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036515|136515|989898|1|9999036515|MR|Test|E|Lead 36515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036516|136516|989898|1|9999036516|MR|Test|E|Lead 36516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036517|136517|989898|1|9999036517|MR|Test|E|Lead 36517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036518|136518|989898|1|9999036518|MR|Test|E|Lead 36518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036519|136519|989898|1|9999036519|MR|Test|E|Lead 36519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036520|136520|989898|1|9999036520|MR|Test|E|Lead 36520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036521|136521|989898|1|9999036521|MR|Test|E|Lead 36521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036522|136522|989898|1|9999036522|MR|Test|E|Lead 36522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036523|136523|989898|1|9999036523|MR|Test|E|Lead 36523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036524|136524|989898|1|9999036524|MR|Test|E|Lead 36524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036525|136525|989898|1|9999036525|MR|Test|E|Lead 36525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036526|136526|989898|1|9999036526|MR|Test|E|Lead 36526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036527|136527|989898|1|9999036527|MR|Test|E|Lead 36527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036528|136528|989898|1|9999036528|MR|Test|E|Lead 36528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036529|136529|989898|1|9999036529|MR|Test|E|Lead 36529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036530|136530|989898|1|9999036530|MR|Test|E|Lead 36530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036531|136531|989898|1|9999036531|MR|Test|E|Lead 36531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036532|136532|989898|1|9999036532|MR|Test|E|Lead 36532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036533|136533|989898|1|9999036533|MR|Test|E|Lead 36533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036534|136534|989898|1|9999036534|MR|Test|E|Lead 36534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036535|136535|989898|1|9999036535|MR|Test|E|Lead 36535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036536|136536|989898|1|9999036536|MR|Test|E|Lead 36536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036537|136537|989898|1|9999036537|MR|Test|E|Lead 36537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036538|136538|989898|1|9999036538|MR|Test|E|Lead 36538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036539|136539|989898|1|9999036539|MR|Test|E|Lead 36539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036540|136540|989898|1|9999036540|MR|Test|E|Lead 36540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036541|136541|989898|1|9999036541|MR|Test|E|Lead 36541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036542|136542|989898|1|9999036542|MR|Test|E|Lead 36542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036543|136543|989898|1|9999036543|MR|Test|E|Lead 36543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036544|136544|989898|1|9999036544|MR|Test|E|Lead 36544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036545|136545|989898|1|9999036545|MR|Test|E|Lead 36545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036546|136546|989898|1|9999036546|MR|Test|E|Lead 36546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036547|136547|989898|1|9999036547|MR|Test|E|Lead 36547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036548|136548|989898|1|9999036548|MR|Test|E|Lead 36548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036549|136549|989898|1|9999036549|MR|Test|E|Lead 36549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036550|136550|989898|1|9999036550|MR|Test|E|Lead 36550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036551|136551|989898|1|9999036551|MR|Test|E|Lead 36551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036552|136552|989898|1|9999036552|MR|Test|E|Lead 36552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036553|136553|989898|1|9999036553|MR|Test|E|Lead 36553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036554|136554|989898|1|9999036554|MR|Test|E|Lead 36554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036555|136555|989898|1|9999036555|MR|Test|E|Lead 36555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036556|136556|989898|1|9999036556|MR|Test|E|Lead 36556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036557|136557|989898|1|9999036557|MR|Test|E|Lead 36557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036558|136558|989898|1|9999036558|MR|Test|E|Lead 36558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036559|136559|989898|1|9999036559|MR|Test|E|Lead 36559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036560|136560|989898|1|9999036560|MR|Test|E|Lead 36560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036561|136561|989898|1|9999036561|MR|Test|E|Lead 36561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036562|136562|989898|1|9999036562|MR|Test|E|Lead 36562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036563|136563|989898|1|9999036563|MR|Test|E|Lead 36563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036564|136564|989898|1|9999036564|MR|Test|E|Lead 36564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036565|136565|989898|1|9999036565|MR|Test|E|Lead 36565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036566|136566|989898|1|9999036566|MR|Test|E|Lead 36566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036567|136567|989898|1|9999036567|MR|Test|E|Lead 36567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036568|136568|989898|1|9999036568|MR|Test|E|Lead 36568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036569|136569|989898|1|9999036569|MR|Test|E|Lead 36569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036570|136570|989898|1|9999036570|MR|Test|E|Lead 36570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036571|136571|989898|1|9999036571|MR|Test|E|Lead 36571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036572|136572|989898|1|9999036572|MR|Test|E|Lead 36572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036573|136573|989898|1|9999036573|MR|Test|E|Lead 36573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036574|136574|989898|1|9999036574|MR|Test|E|Lead 36574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036575|136575|989898|1|9999036575|MR|Test|E|Lead 36575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036576|136576|989898|1|9999036576|MR|Test|E|Lead 36576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036577|136577|989898|1|9999036577|MR|Test|E|Lead 36577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036578|136578|989898|1|9999036578|MR|Test|E|Lead 36578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036579|136579|989898|1|9999036579|MR|Test|E|Lead 36579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036580|136580|989898|1|9999036580|MR|Test|E|Lead 36580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036581|136581|989898|1|9999036581|MR|Test|E|Lead 36581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036582|136582|989898|1|9999036582|MR|Test|E|Lead 36582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036583|136583|989898|1|9999036583|MR|Test|E|Lead 36583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036584|136584|989898|1|9999036584|MR|Test|E|Lead 36584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036585|136585|989898|1|9999036585|MR|Test|E|Lead 36585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036586|136586|989898|1|9999036586|MR|Test|E|Lead 36586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036587|136587|989898|1|9999036587|MR|Test|E|Lead 36587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036588|136588|989898|1|9999036588|MR|Test|E|Lead 36588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036589|136589|989898|1|9999036589|MR|Test|E|Lead 36589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036590|136590|989898|1|9999036590|MR|Test|E|Lead 36590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036591|136591|989898|1|9999036591|MR|Test|E|Lead 36591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036592|136592|989898|1|9999036592|MR|Test|E|Lead 36592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036593|136593|989898|1|9999036593|MR|Test|E|Lead 36593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036594|136594|989898|1|9999036594|MR|Test|E|Lead 36594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036595|136595|989898|1|9999036595|MR|Test|E|Lead 36595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036596|136596|989898|1|9999036596|MR|Test|E|Lead 36596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036597|136597|989898|1|9999036597|MR|Test|E|Lead 36597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036598|136598|989898|1|9999036598|MR|Test|E|Lead 36598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036599|136599|989898|1|9999036599|MR|Test|E|Lead 36599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036600|136600|989898|1|9999036600|MR|Test|E|Lead 36600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036601|136601|989898|1|9999036601|MR|Test|E|Lead 36601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036602|136602|989898|1|9999036602|MR|Test|E|Lead 36602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036603|136603|989898|1|9999036603|MR|Test|E|Lead 36603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036604|136604|989898|1|9999036604|MR|Test|E|Lead 36604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036605|136605|989898|1|9999036605|MR|Test|E|Lead 36605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036606|136606|989898|1|9999036606|MR|Test|E|Lead 36606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036607|136607|989898|1|9999036607|MR|Test|E|Lead 36607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036608|136608|989898|1|9999036608|MR|Test|E|Lead 36608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036609|136609|989898|1|9999036609|MR|Test|E|Lead 36609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036610|136610|989898|1|9999036610|MR|Test|E|Lead 36610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036611|136611|989898|1|9999036611|MR|Test|E|Lead 36611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036612|136612|989898|1|9999036612|MR|Test|E|Lead 36612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036613|136613|989898|1|9999036613|MR|Test|E|Lead 36613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036614|136614|989898|1|9999036614|MR|Test|E|Lead 36614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036615|136615|989898|1|9999036615|MR|Test|E|Lead 36615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036616|136616|989898|1|9999036616|MR|Test|E|Lead 36616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036617|136617|989898|1|9999036617|MR|Test|E|Lead 36617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036618|136618|989898|1|9999036618|MR|Test|E|Lead 36618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036619|136619|989898|1|9999036619|MR|Test|E|Lead 36619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036620|136620|989898|1|9999036620|MR|Test|E|Lead 36620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036621|136621|989898|1|9999036621|MR|Test|E|Lead 36621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036622|136622|989898|1|9999036622|MR|Test|E|Lead 36622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036623|136623|989898|1|9999036623|MR|Test|E|Lead 36623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036624|136624|989898|1|9999036624|MR|Test|E|Lead 36624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036625|136625|989898|1|9999036625|MR|Test|E|Lead 36625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036626|136626|989898|1|9999036626|MR|Test|E|Lead 36626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036627|136627|989898|1|9999036627|MR|Test|E|Lead 36627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036628|136628|989898|1|9999036628|MR|Test|E|Lead 36628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036629|136629|989898|1|9999036629|MR|Test|E|Lead 36629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036630|136630|989898|1|9999036630|MR|Test|E|Lead 36630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036631|136631|989898|1|9999036631|MR|Test|E|Lead 36631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036632|136632|989898|1|9999036632|MR|Test|E|Lead 36632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036633|136633|989898|1|9999036633|MR|Test|E|Lead 36633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036634|136634|989898|1|9999036634|MR|Test|E|Lead 36634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036635|136635|989898|1|9999036635|MR|Test|E|Lead 36635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036636|136636|989898|1|9999036636|MR|Test|E|Lead 36636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036637|136637|989898|1|9999036637|MR|Test|E|Lead 36637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036638|136638|989898|1|9999036638|MR|Test|E|Lead 36638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036639|136639|989898|1|9999036639|MR|Test|E|Lead 36639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036640|136640|989898|1|9999036640|MR|Test|E|Lead 36640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036641|136641|989898|1|9999036641|MR|Test|E|Lead 36641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036642|136642|989898|1|9999036642|MR|Test|E|Lead 36642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036643|136643|989898|1|9999036643|MR|Test|E|Lead 36643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036644|136644|989898|1|9999036644|MR|Test|E|Lead 36644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036645|136645|989898|1|9999036645|MR|Test|E|Lead 36645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036646|136646|989898|1|9999036646|MR|Test|E|Lead 36646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036647|136647|989898|1|9999036647|MR|Test|E|Lead 36647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036648|136648|989898|1|9999036648|MR|Test|E|Lead 36648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036649|136649|989898|1|9999036649|MR|Test|E|Lead 36649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036650|136650|989898|1|9999036650|MR|Test|E|Lead 36650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036651|136651|989898|1|9999036651|MR|Test|E|Lead 36651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036652|136652|989898|1|9999036652|MR|Test|E|Lead 36652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036653|136653|989898|1|9999036653|MR|Test|E|Lead 36653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036654|136654|989898|1|9999036654|MR|Test|E|Lead 36654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036655|136655|989898|1|9999036655|MR|Test|E|Lead 36655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036656|136656|989898|1|9999036656|MR|Test|E|Lead 36656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036657|136657|989898|1|9999036657|MR|Test|E|Lead 36657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036658|136658|989898|1|9999036658|MR|Test|E|Lead 36658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036659|136659|989898|1|9999036659|MR|Test|E|Lead 36659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036660|136660|989898|1|9999036660|MR|Test|E|Lead 36660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036661|136661|989898|1|9999036661|MR|Test|E|Lead 36661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036662|136662|989898|1|9999036662|MR|Test|E|Lead 36662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036663|136663|989898|1|9999036663|MR|Test|E|Lead 36663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036664|136664|989898|1|9999036664|MR|Test|E|Lead 36664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036665|136665|989898|1|9999036665|MR|Test|E|Lead 36665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036666|136666|989898|1|9999036666|MR|Test|E|Lead 36666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036667|136667|989898|1|9999036667|MR|Test|E|Lead 36667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036668|136668|989898|1|9999036668|MR|Test|E|Lead 36668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036669|136669|989898|1|9999036669|MR|Test|E|Lead 36669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036670|136670|989898|1|9999036670|MR|Test|E|Lead 36670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036671|136671|989898|1|9999036671|MR|Test|E|Lead 36671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036672|136672|989898|1|9999036672|MR|Test|E|Lead 36672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036673|136673|989898|1|9999036673|MR|Test|E|Lead 36673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036674|136674|989898|1|9999036674|MR|Test|E|Lead 36674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036675|136675|989898|1|9999036675|MR|Test|E|Lead 36675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036676|136676|989898|1|9999036676|MR|Test|E|Lead 36676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036677|136677|989898|1|9999036677|MR|Test|E|Lead 36677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036678|136678|989898|1|9999036678|MR|Test|E|Lead 36678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036679|136679|989898|1|9999036679|MR|Test|E|Lead 36679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036680|136680|989898|1|9999036680|MR|Test|E|Lead 36680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036681|136681|989898|1|9999036681|MR|Test|E|Lead 36681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036682|136682|989898|1|9999036682|MR|Test|E|Lead 36682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036683|136683|989898|1|9999036683|MR|Test|E|Lead 36683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036684|136684|989898|1|9999036684|MR|Test|E|Lead 36684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036685|136685|989898|1|9999036685|MR|Test|E|Lead 36685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036686|136686|989898|1|9999036686|MR|Test|E|Lead 36686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036687|136687|989898|1|9999036687|MR|Test|E|Lead 36687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036688|136688|989898|1|9999036688|MR|Test|E|Lead 36688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036689|136689|989898|1|9999036689|MR|Test|E|Lead 36689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036690|136690|989898|1|9999036690|MR|Test|E|Lead 36690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036691|136691|989898|1|9999036691|MR|Test|E|Lead 36691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036692|136692|989898|1|9999036692|MR|Test|E|Lead 36692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036693|136693|989898|1|9999036693|MR|Test|E|Lead 36693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036694|136694|989898|1|9999036694|MR|Test|E|Lead 36694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036695|136695|989898|1|9999036695|MR|Test|E|Lead 36695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036696|136696|989898|1|9999036696|MR|Test|E|Lead 36696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036697|136697|989898|1|9999036697|MR|Test|E|Lead 36697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036698|136698|989898|1|9999036698|MR|Test|E|Lead 36698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036699|136699|989898|1|9999036699|MR|Test|E|Lead 36699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036700|136700|989898|1|9999036700|MR|Test|E|Lead 36700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036701|136701|989898|1|9999036701|MR|Test|E|Lead 36701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036702|136702|989898|1|9999036702|MR|Test|E|Lead 36702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036703|136703|989898|1|9999036703|MR|Test|E|Lead 36703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036704|136704|989898|1|9999036704|MR|Test|E|Lead 36704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036705|136705|989898|1|9999036705|MR|Test|E|Lead 36705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036706|136706|989898|1|9999036706|MR|Test|E|Lead 36706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036707|136707|989898|1|9999036707|MR|Test|E|Lead 36707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036708|136708|989898|1|9999036708|MR|Test|E|Lead 36708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036709|136709|989898|1|9999036709|MR|Test|E|Lead 36709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036710|136710|989898|1|9999036710|MR|Test|E|Lead 36710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036711|136711|989898|1|9999036711|MR|Test|E|Lead 36711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036712|136712|989898|1|9999036712|MR|Test|E|Lead 36712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036713|136713|989898|1|9999036713|MR|Test|E|Lead 36713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036714|136714|989898|1|9999036714|MR|Test|E|Lead 36714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036715|136715|989898|1|9999036715|MR|Test|E|Lead 36715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036716|136716|989898|1|9999036716|MR|Test|E|Lead 36716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036717|136717|989898|1|9999036717|MR|Test|E|Lead 36717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036718|136718|989898|1|9999036718|MR|Test|E|Lead 36718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036719|136719|989898|1|9999036719|MR|Test|E|Lead 36719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036720|136720|989898|1|9999036720|MR|Test|E|Lead 36720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036721|136721|989898|1|9999036721|MR|Test|E|Lead 36721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036722|136722|989898|1|9999036722|MR|Test|E|Lead 36722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036723|136723|989898|1|9999036723|MR|Test|E|Lead 36723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036724|136724|989898|1|9999036724|MR|Test|E|Lead 36724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036725|136725|989898|1|9999036725|MR|Test|E|Lead 36725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036726|136726|989898|1|9999036726|MR|Test|E|Lead 36726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036727|136727|989898|1|9999036727|MR|Test|E|Lead 36727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036728|136728|989898|1|9999036728|MR|Test|E|Lead 36728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036729|136729|989898|1|9999036729|MR|Test|E|Lead 36729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036730|136730|989898|1|9999036730|MR|Test|E|Lead 36730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036731|136731|989898|1|9999036731|MR|Test|E|Lead 36731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036732|136732|989898|1|9999036732|MR|Test|E|Lead 36732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036733|136733|989898|1|9999036733|MR|Test|E|Lead 36733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036734|136734|989898|1|9999036734|MR|Test|E|Lead 36734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036735|136735|989898|1|9999036735|MR|Test|E|Lead 36735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036736|136736|989898|1|9999036736|MR|Test|E|Lead 36736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036737|136737|989898|1|9999036737|MR|Test|E|Lead 36737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036738|136738|989898|1|9999036738|MR|Test|E|Lead 36738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036739|136739|989898|1|9999036739|MR|Test|E|Lead 36739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036740|136740|989898|1|9999036740|MR|Test|E|Lead 36740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036741|136741|989898|1|9999036741|MR|Test|E|Lead 36741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036742|136742|989898|1|9999036742|MR|Test|E|Lead 36742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036743|136743|989898|1|9999036743|MR|Test|E|Lead 36743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036744|136744|989898|1|9999036744|MR|Test|E|Lead 36744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036745|136745|989898|1|9999036745|MR|Test|E|Lead 36745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036746|136746|989898|1|9999036746|MR|Test|E|Lead 36746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036747|136747|989898|1|9999036747|MR|Test|E|Lead 36747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036748|136748|989898|1|9999036748|MR|Test|E|Lead 36748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036749|136749|989898|1|9999036749|MR|Test|E|Lead 36749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036750|136750|989898|1|9999036750|MR|Test|E|Lead 36750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036751|136751|989898|1|9999036751|MR|Test|E|Lead 36751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036752|136752|989898|1|9999036752|MR|Test|E|Lead 36752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036753|136753|989898|1|9999036753|MR|Test|E|Lead 36753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036754|136754|989898|1|9999036754|MR|Test|E|Lead 36754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036755|136755|989898|1|9999036755|MR|Test|E|Lead 36755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036756|136756|989898|1|9999036756|MR|Test|E|Lead 36756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036757|136757|989898|1|9999036757|MR|Test|E|Lead 36757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036758|136758|989898|1|9999036758|MR|Test|E|Lead 36758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036759|136759|989898|1|9999036759|MR|Test|E|Lead 36759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036760|136760|989898|1|9999036760|MR|Test|E|Lead 36760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036761|136761|989898|1|9999036761|MR|Test|E|Lead 36761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036762|136762|989898|1|9999036762|MR|Test|E|Lead 36762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036763|136763|989898|1|9999036763|MR|Test|E|Lead 36763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036764|136764|989898|1|9999036764|MR|Test|E|Lead 36764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036765|136765|989898|1|9999036765|MR|Test|E|Lead 36765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036766|136766|989898|1|9999036766|MR|Test|E|Lead 36766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036767|136767|989898|1|9999036767|MR|Test|E|Lead 36767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036768|136768|989898|1|9999036768|MR|Test|E|Lead 36768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036769|136769|989898|1|9999036769|MR|Test|E|Lead 36769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036770|136770|989898|1|9999036770|MR|Test|E|Lead 36770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036771|136771|989898|1|9999036771|MR|Test|E|Lead 36771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036772|136772|989898|1|9999036772|MR|Test|E|Lead 36772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036773|136773|989898|1|9999036773|MR|Test|E|Lead 36773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036774|136774|989898|1|9999036774|MR|Test|E|Lead 36774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036775|136775|989898|1|9999036775|MR|Test|E|Lead 36775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036776|136776|989898|1|9999036776|MR|Test|E|Lead 36776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036777|136777|989898|1|9999036777|MR|Test|E|Lead 36777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036778|136778|989898|1|9999036778|MR|Test|E|Lead 36778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036779|136779|989898|1|9999036779|MR|Test|E|Lead 36779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036780|136780|989898|1|9999036780|MR|Test|E|Lead 36780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036781|136781|989898|1|9999036781|MR|Test|E|Lead 36781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036782|136782|989898|1|9999036782|MR|Test|E|Lead 36782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036783|136783|989898|1|9999036783|MR|Test|E|Lead 36783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036784|136784|989898|1|9999036784|MR|Test|E|Lead 36784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036785|136785|989898|1|9999036785|MR|Test|E|Lead 36785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036786|136786|989898|1|9999036786|MR|Test|E|Lead 36786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036787|136787|989898|1|9999036787|MR|Test|E|Lead 36787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036788|136788|989898|1|9999036788|MR|Test|E|Lead 36788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036789|136789|989898|1|9999036789|MR|Test|E|Lead 36789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036790|136790|989898|1|9999036790|MR|Test|E|Lead 36790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036791|136791|989898|1|9999036791|MR|Test|E|Lead 36791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036792|136792|989898|1|9999036792|MR|Test|E|Lead 36792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036793|136793|989898|1|9999036793|MR|Test|E|Lead 36793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036794|136794|989898|1|9999036794|MR|Test|E|Lead 36794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036795|136795|989898|1|9999036795|MR|Test|E|Lead 36795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036796|136796|989898|1|9999036796|MR|Test|E|Lead 36796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036797|136797|989898|1|9999036797|MR|Test|E|Lead 36797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036798|136798|989898|1|9999036798|MR|Test|E|Lead 36798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036799|136799|989898|1|9999036799|MR|Test|E|Lead 36799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036800|136800|989898|1|9999036800|MR|Test|E|Lead 36800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036801|136801|989898|1|9999036801|MR|Test|E|Lead 36801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036802|136802|989898|1|9999036802|MR|Test|E|Lead 36802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036803|136803|989898|1|9999036803|MR|Test|E|Lead 36803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036804|136804|989898|1|9999036804|MR|Test|E|Lead 36804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036805|136805|989898|1|9999036805|MR|Test|E|Lead 36805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036806|136806|989898|1|9999036806|MR|Test|E|Lead 36806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036807|136807|989898|1|9999036807|MR|Test|E|Lead 36807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036808|136808|989898|1|9999036808|MR|Test|E|Lead 36808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036809|136809|989898|1|9999036809|MR|Test|E|Lead 36809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036810|136810|989898|1|9999036810|MR|Test|E|Lead 36810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036811|136811|989898|1|9999036811|MR|Test|E|Lead 36811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036812|136812|989898|1|9999036812|MR|Test|E|Lead 36812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036813|136813|989898|1|9999036813|MR|Test|E|Lead 36813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036814|136814|989898|1|9999036814|MR|Test|E|Lead 36814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036815|136815|989898|1|9999036815|MR|Test|E|Lead 36815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036816|136816|989898|1|9999036816|MR|Test|E|Lead 36816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036817|136817|989898|1|9999036817|MR|Test|E|Lead 36817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036818|136818|989898|1|9999036818|MR|Test|E|Lead 36818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036819|136819|989898|1|9999036819|MR|Test|E|Lead 36819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036820|136820|989898|1|9999036820|MR|Test|E|Lead 36820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036821|136821|989898|1|9999036821|MR|Test|E|Lead 36821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036822|136822|989898|1|9999036822|MR|Test|E|Lead 36822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036823|136823|989898|1|9999036823|MR|Test|E|Lead 36823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036824|136824|989898|1|9999036824|MR|Test|E|Lead 36824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036825|136825|989898|1|9999036825|MR|Test|E|Lead 36825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036826|136826|989898|1|9999036826|MR|Test|E|Lead 36826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036827|136827|989898|1|9999036827|MR|Test|E|Lead 36827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036828|136828|989898|1|9999036828|MR|Test|E|Lead 36828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036829|136829|989898|1|9999036829|MR|Test|E|Lead 36829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036830|136830|989898|1|9999036830|MR|Test|E|Lead 36830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036831|136831|989898|1|9999036831|MR|Test|E|Lead 36831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036832|136832|989898|1|9999036832|MR|Test|E|Lead 36832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036833|136833|989898|1|9999036833|MR|Test|E|Lead 36833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036834|136834|989898|1|9999036834|MR|Test|E|Lead 36834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036835|136835|989898|1|9999036835|MR|Test|E|Lead 36835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036836|136836|989898|1|9999036836|MR|Test|E|Lead 36836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036837|136837|989898|1|9999036837|MR|Test|E|Lead 36837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036838|136838|989898|1|9999036838|MR|Test|E|Lead 36838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036839|136839|989898|1|9999036839|MR|Test|E|Lead 36839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036840|136840|989898|1|9999036840|MR|Test|E|Lead 36840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036841|136841|989898|1|9999036841|MR|Test|E|Lead 36841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036842|136842|989898|1|9999036842|MR|Test|E|Lead 36842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036843|136843|989898|1|9999036843|MR|Test|E|Lead 36843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036844|136844|989898|1|9999036844|MR|Test|E|Lead 36844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036845|136845|989898|1|9999036845|MR|Test|E|Lead 36845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036846|136846|989898|1|9999036846|MR|Test|E|Lead 36846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036847|136847|989898|1|9999036847|MR|Test|E|Lead 36847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036848|136848|989898|1|9999036848|MR|Test|E|Lead 36848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036849|136849|989898|1|9999036849|MR|Test|E|Lead 36849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036850|136850|989898|1|9999036850|MR|Test|E|Lead 36850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036851|136851|989898|1|9999036851|MR|Test|E|Lead 36851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036852|136852|989898|1|9999036852|MR|Test|E|Lead 36852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036853|136853|989898|1|9999036853|MR|Test|E|Lead 36853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036854|136854|989898|1|9999036854|MR|Test|E|Lead 36854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036855|136855|989898|1|9999036855|MR|Test|E|Lead 36855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036856|136856|989898|1|9999036856|MR|Test|E|Lead 36856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036857|136857|989898|1|9999036857|MR|Test|E|Lead 36857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036858|136858|989898|1|9999036858|MR|Test|E|Lead 36858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036859|136859|989898|1|9999036859|MR|Test|E|Lead 36859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036860|136860|989898|1|9999036860|MR|Test|E|Lead 36860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036861|136861|989898|1|9999036861|MR|Test|E|Lead 36861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036862|136862|989898|1|9999036862|MR|Test|E|Lead 36862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036863|136863|989898|1|9999036863|MR|Test|E|Lead 36863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036864|136864|989898|1|9999036864|MR|Test|E|Lead 36864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036865|136865|989898|1|9999036865|MR|Test|E|Lead 36865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036866|136866|989898|1|9999036866|MR|Test|E|Lead 36866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036867|136867|989898|1|9999036867|MR|Test|E|Lead 36867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036868|136868|989898|1|9999036868|MR|Test|E|Lead 36868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036869|136869|989898|1|9999036869|MR|Test|E|Lead 36869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036870|136870|989898|1|9999036870|MR|Test|E|Lead 36870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036871|136871|989898|1|9999036871|MR|Test|E|Lead 36871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036872|136872|989898|1|9999036872|MR|Test|E|Lead 36872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036873|136873|989898|1|9999036873|MR|Test|E|Lead 36873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036874|136874|989898|1|9999036874|MR|Test|E|Lead 36874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036875|136875|989898|1|9999036875|MR|Test|E|Lead 36875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036876|136876|989898|1|9999036876|MR|Test|E|Lead 36876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036877|136877|989898|1|9999036877|MR|Test|E|Lead 36877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036878|136878|989898|1|9999036878|MR|Test|E|Lead 36878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036879|136879|989898|1|9999036879|MR|Test|E|Lead 36879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036880|136880|989898|1|9999036880|MR|Test|E|Lead 36880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036881|136881|989898|1|9999036881|MR|Test|E|Lead 36881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036882|136882|989898|1|9999036882|MR|Test|E|Lead 36882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036883|136883|989898|1|9999036883|MR|Test|E|Lead 36883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036884|136884|989898|1|9999036884|MR|Test|E|Lead 36884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036885|136885|989898|1|9999036885|MR|Test|E|Lead 36885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036886|136886|989898|1|9999036886|MR|Test|E|Lead 36886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036887|136887|989898|1|9999036887|MR|Test|E|Lead 36887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036888|136888|989898|1|9999036888|MR|Test|E|Lead 36888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036889|136889|989898|1|9999036889|MR|Test|E|Lead 36889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036890|136890|989898|1|9999036890|MR|Test|E|Lead 36890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036891|136891|989898|1|9999036891|MR|Test|E|Lead 36891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036892|136892|989898|1|9999036892|MR|Test|E|Lead 36892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036893|136893|989898|1|9999036893|MR|Test|E|Lead 36893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036894|136894|989898|1|9999036894|MR|Test|E|Lead 36894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036895|136895|989898|1|9999036895|MR|Test|E|Lead 36895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036896|136896|989898|1|9999036896|MR|Test|E|Lead 36896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036897|136897|989898|1|9999036897|MR|Test|E|Lead 36897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036898|136898|989898|1|9999036898|MR|Test|E|Lead 36898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036899|136899|989898|1|9999036899|MR|Test|E|Lead 36899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036900|136900|989898|1|9999036900|MR|Test|E|Lead 36900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036901|136901|989898|1|9999036901|MR|Test|E|Lead 36901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036902|136902|989898|1|9999036902|MR|Test|E|Lead 36902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036903|136903|989898|1|9999036903|MR|Test|E|Lead 36903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036904|136904|989898|1|9999036904|MR|Test|E|Lead 36904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036905|136905|989898|1|9999036905|MR|Test|E|Lead 36905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036906|136906|989898|1|9999036906|MR|Test|E|Lead 36906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036907|136907|989898|1|9999036907|MR|Test|E|Lead 36907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036908|136908|989898|1|9999036908|MR|Test|E|Lead 36908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036909|136909|989898|1|9999036909|MR|Test|E|Lead 36909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036910|136910|989898|1|9999036910|MR|Test|E|Lead 36910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036911|136911|989898|1|9999036911|MR|Test|E|Lead 36911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036912|136912|989898|1|9999036912|MR|Test|E|Lead 36912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036913|136913|989898|1|9999036913|MR|Test|E|Lead 36913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036914|136914|989898|1|9999036914|MR|Test|E|Lead 36914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036915|136915|989898|1|9999036915|MR|Test|E|Lead 36915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036916|136916|989898|1|9999036916|MR|Test|E|Lead 36916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036917|136917|989898|1|9999036917|MR|Test|E|Lead 36917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036918|136918|989898|1|9999036918|MR|Test|E|Lead 36918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036919|136919|989898|1|9999036919|MR|Test|E|Lead 36919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036920|136920|989898|1|9999036920|MR|Test|E|Lead 36920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036921|136921|989898|1|9999036921|MR|Test|E|Lead 36921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036922|136922|989898|1|9999036922|MR|Test|E|Lead 36922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036923|136923|989898|1|9999036923|MR|Test|E|Lead 36923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036924|136924|989898|1|9999036924|MR|Test|E|Lead 36924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036925|136925|989898|1|9999036925|MR|Test|E|Lead 36925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036926|136926|989898|1|9999036926|MR|Test|E|Lead 36926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036927|136927|989898|1|9999036927|MR|Test|E|Lead 36927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036928|136928|989898|1|9999036928|MR|Test|E|Lead 36928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036929|136929|989898|1|9999036929|MR|Test|E|Lead 36929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036930|136930|989898|1|9999036930|MR|Test|E|Lead 36930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036931|136931|989898|1|9999036931|MR|Test|E|Lead 36931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036932|136932|989898|1|9999036932|MR|Test|E|Lead 36932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036933|136933|989898|1|9999036933|MR|Test|E|Lead 36933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036934|136934|989898|1|9999036934|MR|Test|E|Lead 36934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036935|136935|989898|1|9999036935|MR|Test|E|Lead 36935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036936|136936|989898|1|9999036936|MR|Test|E|Lead 36936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036937|136937|989898|1|9999036937|MR|Test|E|Lead 36937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036938|136938|989898|1|9999036938|MR|Test|E|Lead 36938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036939|136939|989898|1|9999036939|MR|Test|E|Lead 36939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036940|136940|989898|1|9999036940|MR|Test|E|Lead 36940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036941|136941|989898|1|9999036941|MR|Test|E|Lead 36941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036942|136942|989898|1|9999036942|MR|Test|E|Lead 36942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036943|136943|989898|1|9999036943|MR|Test|E|Lead 36943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036944|136944|989898|1|9999036944|MR|Test|E|Lead 36944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036945|136945|989898|1|9999036945|MR|Test|E|Lead 36945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036946|136946|989898|1|9999036946|MR|Test|E|Lead 36946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036947|136947|989898|1|9999036947|MR|Test|E|Lead 36947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036948|136948|989898|1|9999036948|MR|Test|E|Lead 36948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036949|136949|989898|1|9999036949|MR|Test|E|Lead 36949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036950|136950|989898|1|9999036950|MR|Test|E|Lead 36950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036951|136951|989898|1|9999036951|MR|Test|E|Lead 36951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036952|136952|989898|1|9999036952|MR|Test|E|Lead 36952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036953|136953|989898|1|9999036953|MR|Test|E|Lead 36953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036954|136954|989898|1|9999036954|MR|Test|E|Lead 36954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036955|136955|989898|1|9999036955|MR|Test|E|Lead 36955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036956|136956|989898|1|9999036956|MR|Test|E|Lead 36956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036957|136957|989898|1|9999036957|MR|Test|E|Lead 36957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036958|136958|989898|1|9999036958|MR|Test|E|Lead 36958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036959|136959|989898|1|9999036959|MR|Test|E|Lead 36959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036960|136960|989898|1|9999036960|MR|Test|E|Lead 36960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036961|136961|989898|1|9999036961|MR|Test|E|Lead 36961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036962|136962|989898|1|9999036962|MR|Test|E|Lead 36962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036963|136963|989898|1|9999036963|MR|Test|E|Lead 36963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036964|136964|989898|1|9999036964|MR|Test|E|Lead 36964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036965|136965|989898|1|9999036965|MR|Test|E|Lead 36965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036966|136966|989898|1|9999036966|MR|Test|E|Lead 36966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036967|136967|989898|1|9999036967|MR|Test|E|Lead 36967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036968|136968|989898|1|9999036968|MR|Test|E|Lead 36968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036969|136969|989898|1|9999036969|MR|Test|E|Lead 36969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036970|136970|989898|1|9999036970|MR|Test|E|Lead 36970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036971|136971|989898|1|9999036971|MR|Test|E|Lead 36971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036972|136972|989898|1|9999036972|MR|Test|E|Lead 36972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036973|136973|989898|1|9999036973|MR|Test|E|Lead 36973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036974|136974|989898|1|9999036974|MR|Test|E|Lead 36974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036975|136975|989898|1|9999036975|MR|Test|E|Lead 36975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036976|136976|989898|1|9999036976|MR|Test|E|Lead 36976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036977|136977|989898|1|9999036977|MR|Test|E|Lead 36977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036978|136978|989898|1|9999036978|MR|Test|E|Lead 36978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036979|136979|989898|1|9999036979|MR|Test|E|Lead 36979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036980|136980|989898|1|9999036980|MR|Test|E|Lead 36980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036981|136981|989898|1|9999036981|MR|Test|E|Lead 36981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036982|136982|989898|1|9999036982|MR|Test|E|Lead 36982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036983|136983|989898|1|9999036983|MR|Test|E|Lead 36983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036984|136984|989898|1|9999036984|MR|Test|E|Lead 36984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036985|136985|989898|1|9999036985|MR|Test|E|Lead 36985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036986|136986|989898|1|9999036986|MR|Test|E|Lead 36986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036987|136987|989898|1|9999036987|MR|Test|E|Lead 36987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036988|136988|989898|1|9999036988|MR|Test|E|Lead 36988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036989|136989|989898|1|9999036989|MR|Test|E|Lead 36989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036990|136990|989898|1|9999036990|MR|Test|E|Lead 36990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036991|136991|989898|1|9999036991|MR|Test|E|Lead 36991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036992|136992|989898|1|9999036992|MR|Test|E|Lead 36992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036993|136993|989898|1|9999036993|MR|Test|E|Lead 36993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036994|136994|989898|1|9999036994|MR|Test|E|Lead 36994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036995|136995|989898|1|9999036995|MR|Test|E|Lead 36995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036996|136996|989898|1|9999036996|MR|Test|E|Lead 36996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036997|136997|989898|1|9999036997|MR|Test|E|Lead 36997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036998|136998|989898|1|9999036998|MR|Test|E|Lead 36998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1036999|136999|989898|1|9999036999|MR|Test|E|Lead 36999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037000|137000|989898|1|9999037000|MR|Test|E|Lead 37000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037001|137001|989898|1|9999037001|MR|Test|E|Lead 37001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037002|137002|989898|1|9999037002|MR|Test|E|Lead 37002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037003|137003|989898|1|9999037003|MR|Test|E|Lead 37003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037004|137004|989898|1|9999037004|MR|Test|E|Lead 37004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037005|137005|989898|1|9999037005|MR|Test|E|Lead 37005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037006|137006|989898|1|9999037006|MR|Test|E|Lead 37006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037007|137007|989898|1|9999037007|MR|Test|E|Lead 37007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037008|137008|989898|1|9999037008|MR|Test|E|Lead 37008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037009|137009|989898|1|9999037009|MR|Test|E|Lead 37009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037010|137010|989898|1|9999037010|MR|Test|E|Lead 37010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037011|137011|989898|1|9999037011|MR|Test|E|Lead 37011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037012|137012|989898|1|9999037012|MR|Test|E|Lead 37012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037013|137013|989898|1|9999037013|MR|Test|E|Lead 37013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037014|137014|989898|1|9999037014|MR|Test|E|Lead 37014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037015|137015|989898|1|9999037015|MR|Test|E|Lead 37015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037016|137016|989898|1|9999037016|MR|Test|E|Lead 37016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037017|137017|989898|1|9999037017|MR|Test|E|Lead 37017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037018|137018|989898|1|9999037018|MR|Test|E|Lead 37018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037019|137019|989898|1|9999037019|MR|Test|E|Lead 37019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037020|137020|989898|1|9999037020|MR|Test|E|Lead 37020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037021|137021|989898|1|9999037021|MR|Test|E|Lead 37021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037022|137022|989898|1|9999037022|MR|Test|E|Lead 37022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037023|137023|989898|1|9999037023|MR|Test|E|Lead 37023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037024|137024|989898|1|9999037024|MR|Test|E|Lead 37024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037025|137025|989898|1|9999037025|MR|Test|E|Lead 37025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037026|137026|989898|1|9999037026|MR|Test|E|Lead 37026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037027|137027|989898|1|9999037027|MR|Test|E|Lead 37027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037028|137028|989898|1|9999037028|MR|Test|E|Lead 37028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037029|137029|989898|1|9999037029|MR|Test|E|Lead 37029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037030|137030|989898|1|9999037030|MR|Test|E|Lead 37030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037031|137031|989898|1|9999037031|MR|Test|E|Lead 37031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037032|137032|989898|1|9999037032|MR|Test|E|Lead 37032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037033|137033|989898|1|9999037033|MR|Test|E|Lead 37033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037034|137034|989898|1|9999037034|MR|Test|E|Lead 37034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037035|137035|989898|1|9999037035|MR|Test|E|Lead 37035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037036|137036|989898|1|9999037036|MR|Test|E|Lead 37036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037037|137037|989898|1|9999037037|MR|Test|E|Lead 37037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037038|137038|989898|1|9999037038|MR|Test|E|Lead 37038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037039|137039|989898|1|9999037039|MR|Test|E|Lead 37039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037040|137040|989898|1|9999037040|MR|Test|E|Lead 37040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037041|137041|989898|1|9999037041|MR|Test|E|Lead 37041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037042|137042|989898|1|9999037042|MR|Test|E|Lead 37042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037043|137043|989898|1|9999037043|MR|Test|E|Lead 37043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037044|137044|989898|1|9999037044|MR|Test|E|Lead 37044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037045|137045|989898|1|9999037045|MR|Test|E|Lead 37045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037046|137046|989898|1|9999037046|MR|Test|E|Lead 37046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037047|137047|989898|1|9999037047|MR|Test|E|Lead 37047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037048|137048|989898|1|9999037048|MR|Test|E|Lead 37048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037049|137049|989898|1|9999037049|MR|Test|E|Lead 37049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037050|137050|989898|1|9999037050|MR|Test|E|Lead 37050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037051|137051|989898|1|9999037051|MR|Test|E|Lead 37051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037052|137052|989898|1|9999037052|MR|Test|E|Lead 37052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037053|137053|989898|1|9999037053|MR|Test|E|Lead 37053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037054|137054|989898|1|9999037054|MR|Test|E|Lead 37054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037055|137055|989898|1|9999037055|MR|Test|E|Lead 37055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037056|137056|989898|1|9999037056|MR|Test|E|Lead 37056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037057|137057|989898|1|9999037057|MR|Test|E|Lead 37057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037058|137058|989898|1|9999037058|MR|Test|E|Lead 37058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037059|137059|989898|1|9999037059|MR|Test|E|Lead 37059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037060|137060|989898|1|9999037060|MR|Test|E|Lead 37060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037061|137061|989898|1|9999037061|MR|Test|E|Lead 37061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037062|137062|989898|1|9999037062|MR|Test|E|Lead 37062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037063|137063|989898|1|9999037063|MR|Test|E|Lead 37063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037064|137064|989898|1|9999037064|MR|Test|E|Lead 37064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037065|137065|989898|1|9999037065|MR|Test|E|Lead 37065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037066|137066|989898|1|9999037066|MR|Test|E|Lead 37066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037067|137067|989898|1|9999037067|MR|Test|E|Lead 37067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037068|137068|989898|1|9999037068|MR|Test|E|Lead 37068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037069|137069|989898|1|9999037069|MR|Test|E|Lead 37069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037070|137070|989898|1|9999037070|MR|Test|E|Lead 37070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037071|137071|989898|1|9999037071|MR|Test|E|Lead 37071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037072|137072|989898|1|9999037072|MR|Test|E|Lead 37072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037073|137073|989898|1|9999037073|MR|Test|E|Lead 37073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037074|137074|989898|1|9999037074|MR|Test|E|Lead 37074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037075|137075|989898|1|9999037075|MR|Test|E|Lead 37075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037076|137076|989898|1|9999037076|MR|Test|E|Lead 37076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037077|137077|989898|1|9999037077|MR|Test|E|Lead 37077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037078|137078|989898|1|9999037078|MR|Test|E|Lead 37078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037079|137079|989898|1|9999037079|MR|Test|E|Lead 37079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037080|137080|989898|1|9999037080|MR|Test|E|Lead 37080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037081|137081|989898|1|9999037081|MR|Test|E|Lead 37081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037082|137082|989898|1|9999037082|MR|Test|E|Lead 37082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037083|137083|989898|1|9999037083|MR|Test|E|Lead 37083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037084|137084|989898|1|9999037084|MR|Test|E|Lead 37084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037085|137085|989898|1|9999037085|MR|Test|E|Lead 37085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037086|137086|989898|1|9999037086|MR|Test|E|Lead 37086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037087|137087|989898|1|9999037087|MR|Test|E|Lead 37087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037088|137088|989898|1|9999037088|MR|Test|E|Lead 37088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037089|137089|989898|1|9999037089|MR|Test|E|Lead 37089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037090|137090|989898|1|9999037090|MR|Test|E|Lead 37090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037091|137091|989898|1|9999037091|MR|Test|E|Lead 37091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037092|137092|989898|1|9999037092|MR|Test|E|Lead 37092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037093|137093|989898|1|9999037093|MR|Test|E|Lead 37093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037094|137094|989898|1|9999037094|MR|Test|E|Lead 37094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037095|137095|989898|1|9999037095|MR|Test|E|Lead 37095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037096|137096|989898|1|9999037096|MR|Test|E|Lead 37096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037097|137097|989898|1|9999037097|MR|Test|E|Lead 37097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037098|137098|989898|1|9999037098|MR|Test|E|Lead 37098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037099|137099|989898|1|9999037099|MR|Test|E|Lead 37099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037100|137100|989898|1|9999037100|MR|Test|E|Lead 37100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037101|137101|989898|1|9999037101|MR|Test|E|Lead 37101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037102|137102|989898|1|9999037102|MR|Test|E|Lead 37102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037103|137103|989898|1|9999037103|MR|Test|E|Lead 37103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037104|137104|989898|1|9999037104|MR|Test|E|Lead 37104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037105|137105|989898|1|9999037105|MR|Test|E|Lead 37105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037106|137106|989898|1|9999037106|MR|Test|E|Lead 37106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037107|137107|989898|1|9999037107|MR|Test|E|Lead 37107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037108|137108|989898|1|9999037108|MR|Test|E|Lead 37108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037109|137109|989898|1|9999037109|MR|Test|E|Lead 37109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037110|137110|989898|1|9999037110|MR|Test|E|Lead 37110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037111|137111|989898|1|9999037111|MR|Test|E|Lead 37111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037112|137112|989898|1|9999037112|MR|Test|E|Lead 37112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037113|137113|989898|1|9999037113|MR|Test|E|Lead 37113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037114|137114|989898|1|9999037114|MR|Test|E|Lead 37114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037115|137115|989898|1|9999037115|MR|Test|E|Lead 37115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037116|137116|989898|1|9999037116|MR|Test|E|Lead 37116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037117|137117|989898|1|9999037117|MR|Test|E|Lead 37117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037118|137118|989898|1|9999037118|MR|Test|E|Lead 37118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037119|137119|989898|1|9999037119|MR|Test|E|Lead 37119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037120|137120|989898|1|9999037120|MR|Test|E|Lead 37120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037121|137121|989898|1|9999037121|MR|Test|E|Lead 37121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037122|137122|989898|1|9999037122|MR|Test|E|Lead 37122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037123|137123|989898|1|9999037123|MR|Test|E|Lead 37123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037124|137124|989898|1|9999037124|MR|Test|E|Lead 37124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037125|137125|989898|1|9999037125|MR|Test|E|Lead 37125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037126|137126|989898|1|9999037126|MR|Test|E|Lead 37126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037127|137127|989898|1|9999037127|MR|Test|E|Lead 37127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037128|137128|989898|1|9999037128|MR|Test|E|Lead 37128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037129|137129|989898|1|9999037129|MR|Test|E|Lead 37129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037130|137130|989898|1|9999037130|MR|Test|E|Lead 37130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037131|137131|989898|1|9999037131|MR|Test|E|Lead 37131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037132|137132|989898|1|9999037132|MR|Test|E|Lead 37132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037133|137133|989898|1|9999037133|MR|Test|E|Lead 37133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037134|137134|989898|1|9999037134|MR|Test|E|Lead 37134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037135|137135|989898|1|9999037135|MR|Test|E|Lead 37135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037136|137136|989898|1|9999037136|MR|Test|E|Lead 37136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037137|137137|989898|1|9999037137|MR|Test|E|Lead 37137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037138|137138|989898|1|9999037138|MR|Test|E|Lead 37138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037139|137139|989898|1|9999037139|MR|Test|E|Lead 37139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037140|137140|989898|1|9999037140|MR|Test|E|Lead 37140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037141|137141|989898|1|9999037141|MR|Test|E|Lead 37141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037142|137142|989898|1|9999037142|MR|Test|E|Lead 37142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037143|137143|989898|1|9999037143|MR|Test|E|Lead 37143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037144|137144|989898|1|9999037144|MR|Test|E|Lead 37144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037145|137145|989898|1|9999037145|MR|Test|E|Lead 37145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037146|137146|989898|1|9999037146|MR|Test|E|Lead 37146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037147|137147|989898|1|9999037147|MR|Test|E|Lead 37147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037148|137148|989898|1|9999037148|MR|Test|E|Lead 37148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037149|137149|989898|1|9999037149|MR|Test|E|Lead 37149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037150|137150|989898|1|9999037150|MR|Test|E|Lead 37150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037151|137151|989898|1|9999037151|MR|Test|E|Lead 37151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037152|137152|989898|1|9999037152|MR|Test|E|Lead 37152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037153|137153|989898|1|9999037153|MR|Test|E|Lead 37153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037154|137154|989898|1|9999037154|MR|Test|E|Lead 37154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037155|137155|989898|1|9999037155|MR|Test|E|Lead 37155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037156|137156|989898|1|9999037156|MR|Test|E|Lead 37156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037157|137157|989898|1|9999037157|MR|Test|E|Lead 37157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037158|137158|989898|1|9999037158|MR|Test|E|Lead 37158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037159|137159|989898|1|9999037159|MR|Test|E|Lead 37159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037160|137160|989898|1|9999037160|MR|Test|E|Lead 37160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037161|137161|989898|1|9999037161|MR|Test|E|Lead 37161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037162|137162|989898|1|9999037162|MR|Test|E|Lead 37162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037163|137163|989898|1|9999037163|MR|Test|E|Lead 37163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037164|137164|989898|1|9999037164|MR|Test|E|Lead 37164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037165|137165|989898|1|9999037165|MR|Test|E|Lead 37165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037166|137166|989898|1|9999037166|MR|Test|E|Lead 37166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037167|137167|989898|1|9999037167|MR|Test|E|Lead 37167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037168|137168|989898|1|9999037168|MR|Test|E|Lead 37168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037169|137169|989898|1|9999037169|MR|Test|E|Lead 37169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037170|137170|989898|1|9999037170|MR|Test|E|Lead 37170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037171|137171|989898|1|9999037171|MR|Test|E|Lead 37171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037172|137172|989898|1|9999037172|MR|Test|E|Lead 37172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037173|137173|989898|1|9999037173|MR|Test|E|Lead 37173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037174|137174|989898|1|9999037174|MR|Test|E|Lead 37174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037175|137175|989898|1|9999037175|MR|Test|E|Lead 37175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037176|137176|989898|1|9999037176|MR|Test|E|Lead 37176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037177|137177|989898|1|9999037177|MR|Test|E|Lead 37177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037178|137178|989898|1|9999037178|MR|Test|E|Lead 37178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037179|137179|989898|1|9999037179|MR|Test|E|Lead 37179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037180|137180|989898|1|9999037180|MR|Test|E|Lead 37180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037181|137181|989898|1|9999037181|MR|Test|E|Lead 37181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037182|137182|989898|1|9999037182|MR|Test|E|Lead 37182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037183|137183|989898|1|9999037183|MR|Test|E|Lead 37183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037184|137184|989898|1|9999037184|MR|Test|E|Lead 37184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037185|137185|989898|1|9999037185|MR|Test|E|Lead 37185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037186|137186|989898|1|9999037186|MR|Test|E|Lead 37186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037187|137187|989898|1|9999037187|MR|Test|E|Lead 37187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037188|137188|989898|1|9999037188|MR|Test|E|Lead 37188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037189|137189|989898|1|9999037189|MR|Test|E|Lead 37189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037190|137190|989898|1|9999037190|MR|Test|E|Lead 37190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037191|137191|989898|1|9999037191|MR|Test|E|Lead 37191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037192|137192|989898|1|9999037192|MR|Test|E|Lead 37192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037193|137193|989898|1|9999037193|MR|Test|E|Lead 37193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037194|137194|989898|1|9999037194|MR|Test|E|Lead 37194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037195|137195|989898|1|9999037195|MR|Test|E|Lead 37195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037196|137196|989898|1|9999037196|MR|Test|E|Lead 37196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037197|137197|989898|1|9999037197|MR|Test|E|Lead 37197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037198|137198|989898|1|9999037198|MR|Test|E|Lead 37198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037199|137199|989898|1|9999037199|MR|Test|E|Lead 37199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037200|137200|989898|1|9999037200|MR|Test|E|Lead 37200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037201|137201|989898|1|9999037201|MR|Test|E|Lead 37201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037202|137202|989898|1|9999037202|MR|Test|E|Lead 37202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037203|137203|989898|1|9999037203|MR|Test|E|Lead 37203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037204|137204|989898|1|9999037204|MR|Test|E|Lead 37204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037205|137205|989898|1|9999037205|MR|Test|E|Lead 37205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037206|137206|989898|1|9999037206|MR|Test|E|Lead 37206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037207|137207|989898|1|9999037207|MR|Test|E|Lead 37207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037208|137208|989898|1|9999037208|MR|Test|E|Lead 37208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037209|137209|989898|1|9999037209|MR|Test|E|Lead 37209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037210|137210|989898|1|9999037210|MR|Test|E|Lead 37210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037211|137211|989898|1|9999037211|MR|Test|E|Lead 37211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037212|137212|989898|1|9999037212|MR|Test|E|Lead 37212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037213|137213|989898|1|9999037213|MR|Test|E|Lead 37213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037214|137214|989898|1|9999037214|MR|Test|E|Lead 37214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037215|137215|989898|1|9999037215|MR|Test|E|Lead 37215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037216|137216|989898|1|9999037216|MR|Test|E|Lead 37216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037217|137217|989898|1|9999037217|MR|Test|E|Lead 37217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037218|137218|989898|1|9999037218|MR|Test|E|Lead 37218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037219|137219|989898|1|9999037219|MR|Test|E|Lead 37219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037220|137220|989898|1|9999037220|MR|Test|E|Lead 37220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037221|137221|989898|1|9999037221|MR|Test|E|Lead 37221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037222|137222|989898|1|9999037222|MR|Test|E|Lead 37222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037223|137223|989898|1|9999037223|MR|Test|E|Lead 37223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037224|137224|989898|1|9999037224|MR|Test|E|Lead 37224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037225|137225|989898|1|9999037225|MR|Test|E|Lead 37225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037226|137226|989898|1|9999037226|MR|Test|E|Lead 37226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037227|137227|989898|1|9999037227|MR|Test|E|Lead 37227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037228|137228|989898|1|9999037228|MR|Test|E|Lead 37228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037229|137229|989898|1|9999037229|MR|Test|E|Lead 37229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037230|137230|989898|1|9999037230|MR|Test|E|Lead 37230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037231|137231|989898|1|9999037231|MR|Test|E|Lead 37231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037232|137232|989898|1|9999037232|MR|Test|E|Lead 37232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037233|137233|989898|1|9999037233|MR|Test|E|Lead 37233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037234|137234|989898|1|9999037234|MR|Test|E|Lead 37234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037235|137235|989898|1|9999037235|MR|Test|E|Lead 37235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037236|137236|989898|1|9999037236|MR|Test|E|Lead 37236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037237|137237|989898|1|9999037237|MR|Test|E|Lead 37237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037238|137238|989898|1|9999037238|MR|Test|E|Lead 37238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037239|137239|989898|1|9999037239|MR|Test|E|Lead 37239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037240|137240|989898|1|9999037240|MR|Test|E|Lead 37240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037241|137241|989898|1|9999037241|MR|Test|E|Lead 37241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037242|137242|989898|1|9999037242|MR|Test|E|Lead 37242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037243|137243|989898|1|9999037243|MR|Test|E|Lead 37243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037244|137244|989898|1|9999037244|MR|Test|E|Lead 37244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037245|137245|989898|1|9999037245|MR|Test|E|Lead 37245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037246|137246|989898|1|9999037246|MR|Test|E|Lead 37246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037247|137247|989898|1|9999037247|MR|Test|E|Lead 37247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037248|137248|989898|1|9999037248|MR|Test|E|Lead 37248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037249|137249|989898|1|9999037249|MR|Test|E|Lead 37249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037250|137250|989898|1|9999037250|MR|Test|E|Lead 37250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037251|137251|989898|1|9999037251|MR|Test|E|Lead 37251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037252|137252|989898|1|9999037252|MR|Test|E|Lead 37252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037253|137253|989898|1|9999037253|MR|Test|E|Lead 37253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037254|137254|989898|1|9999037254|MR|Test|E|Lead 37254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037255|137255|989898|1|9999037255|MR|Test|E|Lead 37255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037256|137256|989898|1|9999037256|MR|Test|E|Lead 37256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037257|137257|989898|1|9999037257|MR|Test|E|Lead 37257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037258|137258|989898|1|9999037258|MR|Test|E|Lead 37258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037259|137259|989898|1|9999037259|MR|Test|E|Lead 37259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037260|137260|989898|1|9999037260|MR|Test|E|Lead 37260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037261|137261|989898|1|9999037261|MR|Test|E|Lead 37261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037262|137262|989898|1|9999037262|MR|Test|E|Lead 37262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037263|137263|989898|1|9999037263|MR|Test|E|Lead 37263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037264|137264|989898|1|9999037264|MR|Test|E|Lead 37264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037265|137265|989898|1|9999037265|MR|Test|E|Lead 37265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037266|137266|989898|1|9999037266|MR|Test|E|Lead 37266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037267|137267|989898|1|9999037267|MR|Test|E|Lead 37267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037268|137268|989898|1|9999037268|MR|Test|E|Lead 37268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037269|137269|989898|1|9999037269|MR|Test|E|Lead 37269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037270|137270|989898|1|9999037270|MR|Test|E|Lead 37270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037271|137271|989898|1|9999037271|MR|Test|E|Lead 37271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037272|137272|989898|1|9999037272|MR|Test|E|Lead 37272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037273|137273|989898|1|9999037273|MR|Test|E|Lead 37273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037274|137274|989898|1|9999037274|MR|Test|E|Lead 37274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037275|137275|989898|1|9999037275|MR|Test|E|Lead 37275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037276|137276|989898|1|9999037276|MR|Test|E|Lead 37276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037277|137277|989898|1|9999037277|MR|Test|E|Lead 37277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037278|137278|989898|1|9999037278|MR|Test|E|Lead 37278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037279|137279|989898|1|9999037279|MR|Test|E|Lead 37279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037280|137280|989898|1|9999037280|MR|Test|E|Lead 37280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037281|137281|989898|1|9999037281|MR|Test|E|Lead 37281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037282|137282|989898|1|9999037282|MR|Test|E|Lead 37282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037283|137283|989898|1|9999037283|MR|Test|E|Lead 37283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037284|137284|989898|1|9999037284|MR|Test|E|Lead 37284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037285|137285|989898|1|9999037285|MR|Test|E|Lead 37285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037286|137286|989898|1|9999037286|MR|Test|E|Lead 37286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037287|137287|989898|1|9999037287|MR|Test|E|Lead 37287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037288|137288|989898|1|9999037288|MR|Test|E|Lead 37288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037289|137289|989898|1|9999037289|MR|Test|E|Lead 37289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037290|137290|989898|1|9999037290|MR|Test|E|Lead 37290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037291|137291|989898|1|9999037291|MR|Test|E|Lead 37291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037292|137292|989898|1|9999037292|MR|Test|E|Lead 37292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037293|137293|989898|1|9999037293|MR|Test|E|Lead 37293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037294|137294|989898|1|9999037294|MR|Test|E|Lead 37294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037295|137295|989898|1|9999037295|MR|Test|E|Lead 37295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037296|137296|989898|1|9999037296|MR|Test|E|Lead 37296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037297|137297|989898|1|9999037297|MR|Test|E|Lead 37297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037298|137298|989898|1|9999037298|MR|Test|E|Lead 37298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037299|137299|989898|1|9999037299|MR|Test|E|Lead 37299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037300|137300|989898|1|9999037300|MR|Test|E|Lead 37300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037301|137301|989898|1|9999037301|MR|Test|E|Lead 37301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037302|137302|989898|1|9999037302|MR|Test|E|Lead 37302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037303|137303|989898|1|9999037303|MR|Test|E|Lead 37303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037304|137304|989898|1|9999037304|MR|Test|E|Lead 37304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037305|137305|989898|1|9999037305|MR|Test|E|Lead 37305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037306|137306|989898|1|9999037306|MR|Test|E|Lead 37306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037307|137307|989898|1|9999037307|MR|Test|E|Lead 37307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037308|137308|989898|1|9999037308|MR|Test|E|Lead 37308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037309|137309|989898|1|9999037309|MR|Test|E|Lead 37309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037310|137310|989898|1|9999037310|MR|Test|E|Lead 37310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037311|137311|989898|1|9999037311|MR|Test|E|Lead 37311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037312|137312|989898|1|9999037312|MR|Test|E|Lead 37312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037313|137313|989898|1|9999037313|MR|Test|E|Lead 37313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037314|137314|989898|1|9999037314|MR|Test|E|Lead 37314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037315|137315|989898|1|9999037315|MR|Test|E|Lead 37315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037316|137316|989898|1|9999037316|MR|Test|E|Lead 37316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037317|137317|989898|1|9999037317|MR|Test|E|Lead 37317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037318|137318|989898|1|9999037318|MR|Test|E|Lead 37318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037319|137319|989898|1|9999037319|MR|Test|E|Lead 37319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037320|137320|989898|1|9999037320|MR|Test|E|Lead 37320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037321|137321|989898|1|9999037321|MR|Test|E|Lead 37321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037322|137322|989898|1|9999037322|MR|Test|E|Lead 37322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037323|137323|989898|1|9999037323|MR|Test|E|Lead 37323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037324|137324|989898|1|9999037324|MR|Test|E|Lead 37324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037325|137325|989898|1|9999037325|MR|Test|E|Lead 37325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037326|137326|989898|1|9999037326|MR|Test|E|Lead 37326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037327|137327|989898|1|9999037327|MR|Test|E|Lead 37327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037328|137328|989898|1|9999037328|MR|Test|E|Lead 37328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037329|137329|989898|1|9999037329|MR|Test|E|Lead 37329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037330|137330|989898|1|9999037330|MR|Test|E|Lead 37330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037331|137331|989898|1|9999037331|MR|Test|E|Lead 37331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037332|137332|989898|1|9999037332|MR|Test|E|Lead 37332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037333|137333|989898|1|9999037333|MR|Test|E|Lead 37333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037334|137334|989898|1|9999037334|MR|Test|E|Lead 37334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037335|137335|989898|1|9999037335|MR|Test|E|Lead 37335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037336|137336|989898|1|9999037336|MR|Test|E|Lead 37336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037337|137337|989898|1|9999037337|MR|Test|E|Lead 37337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037338|137338|989898|1|9999037338|MR|Test|E|Lead 37338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037339|137339|989898|1|9999037339|MR|Test|E|Lead 37339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037340|137340|989898|1|9999037340|MR|Test|E|Lead 37340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037341|137341|989898|1|9999037341|MR|Test|E|Lead 37341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037342|137342|989898|1|9999037342|MR|Test|E|Lead 37342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037343|137343|989898|1|9999037343|MR|Test|E|Lead 37343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037344|137344|989898|1|9999037344|MR|Test|E|Lead 37344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037345|137345|989898|1|9999037345|MR|Test|E|Lead 37345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037346|137346|989898|1|9999037346|MR|Test|E|Lead 37346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037347|137347|989898|1|9999037347|MR|Test|E|Lead 37347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037348|137348|989898|1|9999037348|MR|Test|E|Lead 37348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037349|137349|989898|1|9999037349|MR|Test|E|Lead 37349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037350|137350|989898|1|9999037350|MR|Test|E|Lead 37350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037351|137351|989898|1|9999037351|MR|Test|E|Lead 37351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037352|137352|989898|1|9999037352|MR|Test|E|Lead 37352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037353|137353|989898|1|9999037353|MR|Test|E|Lead 37353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037354|137354|989898|1|9999037354|MR|Test|E|Lead 37354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037355|137355|989898|1|9999037355|MR|Test|E|Lead 37355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037356|137356|989898|1|9999037356|MR|Test|E|Lead 37356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037357|137357|989898|1|9999037357|MR|Test|E|Lead 37357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037358|137358|989898|1|9999037358|MR|Test|E|Lead 37358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037359|137359|989898|1|9999037359|MR|Test|E|Lead 37359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037360|137360|989898|1|9999037360|MR|Test|E|Lead 37360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037361|137361|989898|1|9999037361|MR|Test|E|Lead 37361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037362|137362|989898|1|9999037362|MR|Test|E|Lead 37362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037363|137363|989898|1|9999037363|MR|Test|E|Lead 37363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037364|137364|989898|1|9999037364|MR|Test|E|Lead 37364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037365|137365|989898|1|9999037365|MR|Test|E|Lead 37365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037366|137366|989898|1|9999037366|MR|Test|E|Lead 37366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037367|137367|989898|1|9999037367|MR|Test|E|Lead 37367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037368|137368|989898|1|9999037368|MR|Test|E|Lead 37368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037369|137369|989898|1|9999037369|MR|Test|E|Lead 37369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037370|137370|989898|1|9999037370|MR|Test|E|Lead 37370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037371|137371|989898|1|9999037371|MR|Test|E|Lead 37371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037372|137372|989898|1|9999037372|MR|Test|E|Lead 37372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037373|137373|989898|1|9999037373|MR|Test|E|Lead 37373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037374|137374|989898|1|9999037374|MR|Test|E|Lead 37374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037375|137375|989898|1|9999037375|MR|Test|E|Lead 37375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037376|137376|989898|1|9999037376|MR|Test|E|Lead 37376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037377|137377|989898|1|9999037377|MR|Test|E|Lead 37377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037378|137378|989898|1|9999037378|MR|Test|E|Lead 37378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037379|137379|989898|1|9999037379|MR|Test|E|Lead 37379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037380|137380|989898|1|9999037380|MR|Test|E|Lead 37380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037381|137381|989898|1|9999037381|MR|Test|E|Lead 37381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037382|137382|989898|1|9999037382|MR|Test|E|Lead 37382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037383|137383|989898|1|9999037383|MR|Test|E|Lead 37383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037384|137384|989898|1|9999037384|MR|Test|E|Lead 37384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037385|137385|989898|1|9999037385|MR|Test|E|Lead 37385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037386|137386|989898|1|9999037386|MR|Test|E|Lead 37386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037387|137387|989898|1|9999037387|MR|Test|E|Lead 37387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037388|137388|989898|1|9999037388|MR|Test|E|Lead 37388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037389|137389|989898|1|9999037389|MR|Test|E|Lead 37389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037390|137390|989898|1|9999037390|MR|Test|E|Lead 37390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037391|137391|989898|1|9999037391|MR|Test|E|Lead 37391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037392|137392|989898|1|9999037392|MR|Test|E|Lead 37392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037393|137393|989898|1|9999037393|MR|Test|E|Lead 37393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037394|137394|989898|1|9999037394|MR|Test|E|Lead 37394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037395|137395|989898|1|9999037395|MR|Test|E|Lead 37395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037396|137396|989898|1|9999037396|MR|Test|E|Lead 37396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037397|137397|989898|1|9999037397|MR|Test|E|Lead 37397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037398|137398|989898|1|9999037398|MR|Test|E|Lead 37398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037399|137399|989898|1|9999037399|MR|Test|E|Lead 37399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037400|137400|989898|1|9999037400|MR|Test|E|Lead 37400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037401|137401|989898|1|9999037401|MR|Test|E|Lead 37401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037402|137402|989898|1|9999037402|MR|Test|E|Lead 37402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037403|137403|989898|1|9999037403|MR|Test|E|Lead 37403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037404|137404|989898|1|9999037404|MR|Test|E|Lead 37404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037405|137405|989898|1|9999037405|MR|Test|E|Lead 37405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037406|137406|989898|1|9999037406|MR|Test|E|Lead 37406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037407|137407|989898|1|9999037407|MR|Test|E|Lead 37407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037408|137408|989898|1|9999037408|MR|Test|E|Lead 37408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037409|137409|989898|1|9999037409|MR|Test|E|Lead 37409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037410|137410|989898|1|9999037410|MR|Test|E|Lead 37410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037411|137411|989898|1|9999037411|MR|Test|E|Lead 37411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037412|137412|989898|1|9999037412|MR|Test|E|Lead 37412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037413|137413|989898|1|9999037413|MR|Test|E|Lead 37413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037414|137414|989898|1|9999037414|MR|Test|E|Lead 37414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037415|137415|989898|1|9999037415|MR|Test|E|Lead 37415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037416|137416|989898|1|9999037416|MR|Test|E|Lead 37416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037417|137417|989898|1|9999037417|MR|Test|E|Lead 37417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037418|137418|989898|1|9999037418|MR|Test|E|Lead 37418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037419|137419|989898|1|9999037419|MR|Test|E|Lead 37419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037420|137420|989898|1|9999037420|MR|Test|E|Lead 37420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037421|137421|989898|1|9999037421|MR|Test|E|Lead 37421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037422|137422|989898|1|9999037422|MR|Test|E|Lead 37422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037423|137423|989898|1|9999037423|MR|Test|E|Lead 37423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037424|137424|989898|1|9999037424|MR|Test|E|Lead 37424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037425|137425|989898|1|9999037425|MR|Test|E|Lead 37425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037426|137426|989898|1|9999037426|MR|Test|E|Lead 37426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037427|137427|989898|1|9999037427|MR|Test|E|Lead 37427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037428|137428|989898|1|9999037428|MR|Test|E|Lead 37428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037429|137429|989898|1|9999037429|MR|Test|E|Lead 37429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037430|137430|989898|1|9999037430|MR|Test|E|Lead 37430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037431|137431|989898|1|9999037431|MR|Test|E|Lead 37431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037432|137432|989898|1|9999037432|MR|Test|E|Lead 37432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037433|137433|989898|1|9999037433|MR|Test|E|Lead 37433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037434|137434|989898|1|9999037434|MR|Test|E|Lead 37434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037435|137435|989898|1|9999037435|MR|Test|E|Lead 37435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037436|137436|989898|1|9999037436|MR|Test|E|Lead 37436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037437|137437|989898|1|9999037437|MR|Test|E|Lead 37437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037438|137438|989898|1|9999037438|MR|Test|E|Lead 37438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037439|137439|989898|1|9999037439|MR|Test|E|Lead 37439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037440|137440|989898|1|9999037440|MR|Test|E|Lead 37440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037441|137441|989898|1|9999037441|MR|Test|E|Lead 37441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037442|137442|989898|1|9999037442|MR|Test|E|Lead 37442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037443|137443|989898|1|9999037443|MR|Test|E|Lead 37443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037444|137444|989898|1|9999037444|MR|Test|E|Lead 37444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037445|137445|989898|1|9999037445|MR|Test|E|Lead 37445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037446|137446|989898|1|9999037446|MR|Test|E|Lead 37446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037447|137447|989898|1|9999037447|MR|Test|E|Lead 37447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037448|137448|989898|1|9999037448|MR|Test|E|Lead 37448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037449|137449|989898|1|9999037449|MR|Test|E|Lead 37449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037450|137450|989898|1|9999037450|MR|Test|E|Lead 37450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037451|137451|989898|1|9999037451|MR|Test|E|Lead 37451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037452|137452|989898|1|9999037452|MR|Test|E|Lead 37452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037453|137453|989898|1|9999037453|MR|Test|E|Lead 37453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037454|137454|989898|1|9999037454|MR|Test|E|Lead 37454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037455|137455|989898|1|9999037455|MR|Test|E|Lead 37455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037456|137456|989898|1|9999037456|MR|Test|E|Lead 37456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037457|137457|989898|1|9999037457|MR|Test|E|Lead 37457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037458|137458|989898|1|9999037458|MR|Test|E|Lead 37458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037459|137459|989898|1|9999037459|MR|Test|E|Lead 37459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037460|137460|989898|1|9999037460|MR|Test|E|Lead 37460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037461|137461|989898|1|9999037461|MR|Test|E|Lead 37461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037462|137462|989898|1|9999037462|MR|Test|E|Lead 37462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037463|137463|989898|1|9999037463|MR|Test|E|Lead 37463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037464|137464|989898|1|9999037464|MR|Test|E|Lead 37464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037465|137465|989898|1|9999037465|MR|Test|E|Lead 37465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037466|137466|989898|1|9999037466|MR|Test|E|Lead 37466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037467|137467|989898|1|9999037467|MR|Test|E|Lead 37467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037468|137468|989898|1|9999037468|MR|Test|E|Lead 37468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037469|137469|989898|1|9999037469|MR|Test|E|Lead 37469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037470|137470|989898|1|9999037470|MR|Test|E|Lead 37470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037471|137471|989898|1|9999037471|MR|Test|E|Lead 37471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037472|137472|989898|1|9999037472|MR|Test|E|Lead 37472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037473|137473|989898|1|9999037473|MR|Test|E|Lead 37473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037474|137474|989898|1|9999037474|MR|Test|E|Lead 37474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037475|137475|989898|1|9999037475|MR|Test|E|Lead 37475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037476|137476|989898|1|9999037476|MR|Test|E|Lead 37476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037477|137477|989898|1|9999037477|MR|Test|E|Lead 37477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037478|137478|989898|1|9999037478|MR|Test|E|Lead 37478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037479|137479|989898|1|9999037479|MR|Test|E|Lead 37479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037480|137480|989898|1|9999037480|MR|Test|E|Lead 37480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037481|137481|989898|1|9999037481|MR|Test|E|Lead 37481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037482|137482|989898|1|9999037482|MR|Test|E|Lead 37482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037483|137483|989898|1|9999037483|MR|Test|E|Lead 37483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037484|137484|989898|1|9999037484|MR|Test|E|Lead 37484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037485|137485|989898|1|9999037485|MR|Test|E|Lead 37485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037486|137486|989898|1|9999037486|MR|Test|E|Lead 37486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037487|137487|989898|1|9999037487|MR|Test|E|Lead 37487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037488|137488|989898|1|9999037488|MR|Test|E|Lead 37488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037489|137489|989898|1|9999037489|MR|Test|E|Lead 37489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037490|137490|989898|1|9999037490|MR|Test|E|Lead 37490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037491|137491|989898|1|9999037491|MR|Test|E|Lead 37491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037492|137492|989898|1|9999037492|MR|Test|E|Lead 37492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037493|137493|989898|1|9999037493|MR|Test|E|Lead 37493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037494|137494|989898|1|9999037494|MR|Test|E|Lead 37494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037495|137495|989898|1|9999037495|MR|Test|E|Lead 37495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037496|137496|989898|1|9999037496|MR|Test|E|Lead 37496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037497|137497|989898|1|9999037497|MR|Test|E|Lead 37497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037498|137498|989898|1|9999037498|MR|Test|E|Lead 37498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037499|137499|989898|1|9999037499|MR|Test|E|Lead 37499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037500|137500|989898|1|9999037500|MR|Test|E|Lead 37500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037501|137501|989898|1|9999037501|MR|Test|E|Lead 37501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037502|137502|989898|1|9999037502|MR|Test|E|Lead 37502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037503|137503|989898|1|9999037503|MR|Test|E|Lead 37503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037504|137504|989898|1|9999037504|MR|Test|E|Lead 37504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037505|137505|989898|1|9999037505|MR|Test|E|Lead 37505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037506|137506|989898|1|9999037506|MR|Test|E|Lead 37506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037507|137507|989898|1|9999037507|MR|Test|E|Lead 37507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037508|137508|989898|1|9999037508|MR|Test|E|Lead 37508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037509|137509|989898|1|9999037509|MR|Test|E|Lead 37509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037510|137510|989898|1|9999037510|MR|Test|E|Lead 37510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037511|137511|989898|1|9999037511|MR|Test|E|Lead 37511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037512|137512|989898|1|9999037512|MR|Test|E|Lead 37512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037513|137513|989898|1|9999037513|MR|Test|E|Lead 37513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037514|137514|989898|1|9999037514|MR|Test|E|Lead 37514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037515|137515|989898|1|9999037515|MR|Test|E|Lead 37515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037516|137516|989898|1|9999037516|MR|Test|E|Lead 37516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037517|137517|989898|1|9999037517|MR|Test|E|Lead 37517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037518|137518|989898|1|9999037518|MR|Test|E|Lead 37518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037519|137519|989898|1|9999037519|MR|Test|E|Lead 37519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037520|137520|989898|1|9999037520|MR|Test|E|Lead 37520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037521|137521|989898|1|9999037521|MR|Test|E|Lead 37521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037522|137522|989898|1|9999037522|MR|Test|E|Lead 37522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037523|137523|989898|1|9999037523|MR|Test|E|Lead 37523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037524|137524|989898|1|9999037524|MR|Test|E|Lead 37524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037525|137525|989898|1|9999037525|MR|Test|E|Lead 37525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037526|137526|989898|1|9999037526|MR|Test|E|Lead 37526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037527|137527|989898|1|9999037527|MR|Test|E|Lead 37527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037528|137528|989898|1|9999037528|MR|Test|E|Lead 37528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037529|137529|989898|1|9999037529|MR|Test|E|Lead 37529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037530|137530|989898|1|9999037530|MR|Test|E|Lead 37530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037531|137531|989898|1|9999037531|MR|Test|E|Lead 37531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037532|137532|989898|1|9999037532|MR|Test|E|Lead 37532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037533|137533|989898|1|9999037533|MR|Test|E|Lead 37533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037534|137534|989898|1|9999037534|MR|Test|E|Lead 37534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037535|137535|989898|1|9999037535|MR|Test|E|Lead 37535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037536|137536|989898|1|9999037536|MR|Test|E|Lead 37536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037537|137537|989898|1|9999037537|MR|Test|E|Lead 37537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037538|137538|989898|1|9999037538|MR|Test|E|Lead 37538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037539|137539|989898|1|9999037539|MR|Test|E|Lead 37539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037540|137540|989898|1|9999037540|MR|Test|E|Lead 37540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037541|137541|989898|1|9999037541|MR|Test|E|Lead 37541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037542|137542|989898|1|9999037542|MR|Test|E|Lead 37542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037543|137543|989898|1|9999037543|MR|Test|E|Lead 37543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037544|137544|989898|1|9999037544|MR|Test|E|Lead 37544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037545|137545|989898|1|9999037545|MR|Test|E|Lead 37545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037546|137546|989898|1|9999037546|MR|Test|E|Lead 37546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037547|137547|989898|1|9999037547|MR|Test|E|Lead 37547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037548|137548|989898|1|9999037548|MR|Test|E|Lead 37548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037549|137549|989898|1|9999037549|MR|Test|E|Lead 37549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037550|137550|989898|1|9999037550|MR|Test|E|Lead 37550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037551|137551|989898|1|9999037551|MR|Test|E|Lead 37551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037552|137552|989898|1|9999037552|MR|Test|E|Lead 37552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037553|137553|989898|1|9999037553|MR|Test|E|Lead 37553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037554|137554|989898|1|9999037554|MR|Test|E|Lead 37554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037555|137555|989898|1|9999037555|MR|Test|E|Lead 37555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037556|137556|989898|1|9999037556|MR|Test|E|Lead 37556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037557|137557|989898|1|9999037557|MR|Test|E|Lead 37557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037558|137558|989898|1|9999037558|MR|Test|E|Lead 37558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037559|137559|989898|1|9999037559|MR|Test|E|Lead 37559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037560|137560|989898|1|9999037560|MR|Test|E|Lead 37560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037561|137561|989898|1|9999037561|MR|Test|E|Lead 37561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037562|137562|989898|1|9999037562|MR|Test|E|Lead 37562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037563|137563|989898|1|9999037563|MR|Test|E|Lead 37563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037564|137564|989898|1|9999037564|MR|Test|E|Lead 37564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037565|137565|989898|1|9999037565|MR|Test|E|Lead 37565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037566|137566|989898|1|9999037566|MR|Test|E|Lead 37566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037567|137567|989898|1|9999037567|MR|Test|E|Lead 37567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037568|137568|989898|1|9999037568|MR|Test|E|Lead 37568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037569|137569|989898|1|9999037569|MR|Test|E|Lead 37569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037570|137570|989898|1|9999037570|MR|Test|E|Lead 37570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037571|137571|989898|1|9999037571|MR|Test|E|Lead 37571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037572|137572|989898|1|9999037572|MR|Test|E|Lead 37572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037573|137573|989898|1|9999037573|MR|Test|E|Lead 37573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037574|137574|989898|1|9999037574|MR|Test|E|Lead 37574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037575|137575|989898|1|9999037575|MR|Test|E|Lead 37575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037576|137576|989898|1|9999037576|MR|Test|E|Lead 37576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037577|137577|989898|1|9999037577|MR|Test|E|Lead 37577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037578|137578|989898|1|9999037578|MR|Test|E|Lead 37578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037579|137579|989898|1|9999037579|MR|Test|E|Lead 37579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037580|137580|989898|1|9999037580|MR|Test|E|Lead 37580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037581|137581|989898|1|9999037581|MR|Test|E|Lead 37581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037582|137582|989898|1|9999037582|MR|Test|E|Lead 37582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037583|137583|989898|1|9999037583|MR|Test|E|Lead 37583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037584|137584|989898|1|9999037584|MR|Test|E|Lead 37584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037585|137585|989898|1|9999037585|MR|Test|E|Lead 37585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037586|137586|989898|1|9999037586|MR|Test|E|Lead 37586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037587|137587|989898|1|9999037587|MR|Test|E|Lead 37587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037588|137588|989898|1|9999037588|MR|Test|E|Lead 37588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037589|137589|989898|1|9999037589|MR|Test|E|Lead 37589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037590|137590|989898|1|9999037590|MR|Test|E|Lead 37590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037591|137591|989898|1|9999037591|MR|Test|E|Lead 37591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037592|137592|989898|1|9999037592|MR|Test|E|Lead 37592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037593|137593|989898|1|9999037593|MR|Test|E|Lead 37593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037594|137594|989898|1|9999037594|MR|Test|E|Lead 37594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037595|137595|989898|1|9999037595|MR|Test|E|Lead 37595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037596|137596|989898|1|9999037596|MR|Test|E|Lead 37596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037597|137597|989898|1|9999037597|MR|Test|E|Lead 37597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037598|137598|989898|1|9999037598|MR|Test|E|Lead 37598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037599|137599|989898|1|9999037599|MR|Test|E|Lead 37599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037600|137600|989898|1|9999037600|MR|Test|E|Lead 37600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037601|137601|989898|1|9999037601|MR|Test|E|Lead 37601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037602|137602|989898|1|9999037602|MR|Test|E|Lead 37602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037603|137603|989898|1|9999037603|MR|Test|E|Lead 37603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037604|137604|989898|1|9999037604|MR|Test|E|Lead 37604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037605|137605|989898|1|9999037605|MR|Test|E|Lead 37605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037606|137606|989898|1|9999037606|MR|Test|E|Lead 37606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037607|137607|989898|1|9999037607|MR|Test|E|Lead 37607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037608|137608|989898|1|9999037608|MR|Test|E|Lead 37608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037609|137609|989898|1|9999037609|MR|Test|E|Lead 37609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037610|137610|989898|1|9999037610|MR|Test|E|Lead 37610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037611|137611|989898|1|9999037611|MR|Test|E|Lead 37611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037612|137612|989898|1|9999037612|MR|Test|E|Lead 37612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037613|137613|989898|1|9999037613|MR|Test|E|Lead 37613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037614|137614|989898|1|9999037614|MR|Test|E|Lead 37614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037615|137615|989898|1|9999037615|MR|Test|E|Lead 37615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037616|137616|989898|1|9999037616|MR|Test|E|Lead 37616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037617|137617|989898|1|9999037617|MR|Test|E|Lead 37617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037618|137618|989898|1|9999037618|MR|Test|E|Lead 37618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037619|137619|989898|1|9999037619|MR|Test|E|Lead 37619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037620|137620|989898|1|9999037620|MR|Test|E|Lead 37620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037621|137621|989898|1|9999037621|MR|Test|E|Lead 37621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037622|137622|989898|1|9999037622|MR|Test|E|Lead 37622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037623|137623|989898|1|9999037623|MR|Test|E|Lead 37623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037624|137624|989898|1|9999037624|MR|Test|E|Lead 37624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037625|137625|989898|1|9999037625|MR|Test|E|Lead 37625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037626|137626|989898|1|9999037626|MR|Test|E|Lead 37626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037627|137627|989898|1|9999037627|MR|Test|E|Lead 37627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037628|137628|989898|1|9999037628|MR|Test|E|Lead 37628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037629|137629|989898|1|9999037629|MR|Test|E|Lead 37629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037630|137630|989898|1|9999037630|MR|Test|E|Lead 37630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037631|137631|989898|1|9999037631|MR|Test|E|Lead 37631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037632|137632|989898|1|9999037632|MR|Test|E|Lead 37632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037633|137633|989898|1|9999037633|MR|Test|E|Lead 37633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037634|137634|989898|1|9999037634|MR|Test|E|Lead 37634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037635|137635|989898|1|9999037635|MR|Test|E|Lead 37635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037636|137636|989898|1|9999037636|MR|Test|E|Lead 37636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037637|137637|989898|1|9999037637|MR|Test|E|Lead 37637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037638|137638|989898|1|9999037638|MR|Test|E|Lead 37638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037639|137639|989898|1|9999037639|MR|Test|E|Lead 37639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037640|137640|989898|1|9999037640|MR|Test|E|Lead 37640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037641|137641|989898|1|9999037641|MR|Test|E|Lead 37641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037642|137642|989898|1|9999037642|MR|Test|E|Lead 37642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037643|137643|989898|1|9999037643|MR|Test|E|Lead 37643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037644|137644|989898|1|9999037644|MR|Test|E|Lead 37644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037645|137645|989898|1|9999037645|MR|Test|E|Lead 37645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037646|137646|989898|1|9999037646|MR|Test|E|Lead 37646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037647|137647|989898|1|9999037647|MR|Test|E|Lead 37647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037648|137648|989898|1|9999037648|MR|Test|E|Lead 37648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037649|137649|989898|1|9999037649|MR|Test|E|Lead 37649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037650|137650|989898|1|9999037650|MR|Test|E|Lead 37650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037651|137651|989898|1|9999037651|MR|Test|E|Lead 37651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037652|137652|989898|1|9999037652|MR|Test|E|Lead 37652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037653|137653|989898|1|9999037653|MR|Test|E|Lead 37653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037654|137654|989898|1|9999037654|MR|Test|E|Lead 37654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037655|137655|989898|1|9999037655|MR|Test|E|Lead 37655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037656|137656|989898|1|9999037656|MR|Test|E|Lead 37656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037657|137657|989898|1|9999037657|MR|Test|E|Lead 37657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037658|137658|989898|1|9999037658|MR|Test|E|Lead 37658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037659|137659|989898|1|9999037659|MR|Test|E|Lead 37659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037660|137660|989898|1|9999037660|MR|Test|E|Lead 37660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037661|137661|989898|1|9999037661|MR|Test|E|Lead 37661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037662|137662|989898|1|9999037662|MR|Test|E|Lead 37662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037663|137663|989898|1|9999037663|MR|Test|E|Lead 37663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037664|137664|989898|1|9999037664|MR|Test|E|Lead 37664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037665|137665|989898|1|9999037665|MR|Test|E|Lead 37665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037666|137666|989898|1|9999037666|MR|Test|E|Lead 37666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037667|137667|989898|1|9999037667|MR|Test|E|Lead 37667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037668|137668|989898|1|9999037668|MR|Test|E|Lead 37668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037669|137669|989898|1|9999037669|MR|Test|E|Lead 37669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037670|137670|989898|1|9999037670|MR|Test|E|Lead 37670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037671|137671|989898|1|9999037671|MR|Test|E|Lead 37671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037672|137672|989898|1|9999037672|MR|Test|E|Lead 37672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037673|137673|989898|1|9999037673|MR|Test|E|Lead 37673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037674|137674|989898|1|9999037674|MR|Test|E|Lead 37674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037675|137675|989898|1|9999037675|MR|Test|E|Lead 37675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037676|137676|989898|1|9999037676|MR|Test|E|Lead 37676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037677|137677|989898|1|9999037677|MR|Test|E|Lead 37677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037678|137678|989898|1|9999037678|MR|Test|E|Lead 37678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037679|137679|989898|1|9999037679|MR|Test|E|Lead 37679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037680|137680|989898|1|9999037680|MR|Test|E|Lead 37680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037681|137681|989898|1|9999037681|MR|Test|E|Lead 37681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037682|137682|989898|1|9999037682|MR|Test|E|Lead 37682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037683|137683|989898|1|9999037683|MR|Test|E|Lead 37683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037684|137684|989898|1|9999037684|MR|Test|E|Lead 37684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037685|137685|989898|1|9999037685|MR|Test|E|Lead 37685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037686|137686|989898|1|9999037686|MR|Test|E|Lead 37686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037687|137687|989898|1|9999037687|MR|Test|E|Lead 37687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037688|137688|989898|1|9999037688|MR|Test|E|Lead 37688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037689|137689|989898|1|9999037689|MR|Test|E|Lead 37689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037690|137690|989898|1|9999037690|MR|Test|E|Lead 37690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037691|137691|989898|1|9999037691|MR|Test|E|Lead 37691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037692|137692|989898|1|9999037692|MR|Test|E|Lead 37692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037693|137693|989898|1|9999037693|MR|Test|E|Lead 37693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037694|137694|989898|1|9999037694|MR|Test|E|Lead 37694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037695|137695|989898|1|9999037695|MR|Test|E|Lead 37695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037696|137696|989898|1|9999037696|MR|Test|E|Lead 37696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037697|137697|989898|1|9999037697|MR|Test|E|Lead 37697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037698|137698|989898|1|9999037698|MR|Test|E|Lead 37698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037699|137699|989898|1|9999037699|MR|Test|E|Lead 37699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037700|137700|989898|1|9999037700|MR|Test|E|Lead 37700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037701|137701|989898|1|9999037701|MR|Test|E|Lead 37701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037702|137702|989898|1|9999037702|MR|Test|E|Lead 37702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037703|137703|989898|1|9999037703|MR|Test|E|Lead 37703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037704|137704|989898|1|9999037704|MR|Test|E|Lead 37704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037705|137705|989898|1|9999037705|MR|Test|E|Lead 37705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037706|137706|989898|1|9999037706|MR|Test|E|Lead 37706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037707|137707|989898|1|9999037707|MR|Test|E|Lead 37707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037708|137708|989898|1|9999037708|MR|Test|E|Lead 37708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037709|137709|989898|1|9999037709|MR|Test|E|Lead 37709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037710|137710|989898|1|9999037710|MR|Test|E|Lead 37710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037711|137711|989898|1|9999037711|MR|Test|E|Lead 37711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037712|137712|989898|1|9999037712|MR|Test|E|Lead 37712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037713|137713|989898|1|9999037713|MR|Test|E|Lead 37713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037714|137714|989898|1|9999037714|MR|Test|E|Lead 37714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037715|137715|989898|1|9999037715|MR|Test|E|Lead 37715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037716|137716|989898|1|9999037716|MR|Test|E|Lead 37716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037717|137717|989898|1|9999037717|MR|Test|E|Lead 37717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037718|137718|989898|1|9999037718|MR|Test|E|Lead 37718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037719|137719|989898|1|9999037719|MR|Test|E|Lead 37719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037720|137720|989898|1|9999037720|MR|Test|E|Lead 37720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037721|137721|989898|1|9999037721|MR|Test|E|Lead 37721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037722|137722|989898|1|9999037722|MR|Test|E|Lead 37722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037723|137723|989898|1|9999037723|MR|Test|E|Lead 37723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037724|137724|989898|1|9999037724|MR|Test|E|Lead 37724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037725|137725|989898|1|9999037725|MR|Test|E|Lead 37725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037726|137726|989898|1|9999037726|MR|Test|E|Lead 37726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037727|137727|989898|1|9999037727|MR|Test|E|Lead 37727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037728|137728|989898|1|9999037728|MR|Test|E|Lead 37728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037729|137729|989898|1|9999037729|MR|Test|E|Lead 37729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037730|137730|989898|1|9999037730|MR|Test|E|Lead 37730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037731|137731|989898|1|9999037731|MR|Test|E|Lead 37731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037732|137732|989898|1|9999037732|MR|Test|E|Lead 37732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037733|137733|989898|1|9999037733|MR|Test|E|Lead 37733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037734|137734|989898|1|9999037734|MR|Test|E|Lead 37734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037735|137735|989898|1|9999037735|MR|Test|E|Lead 37735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037736|137736|989898|1|9999037736|MR|Test|E|Lead 37736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037737|137737|989898|1|9999037737|MR|Test|E|Lead 37737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037738|137738|989898|1|9999037738|MR|Test|E|Lead 37738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037739|137739|989898|1|9999037739|MR|Test|E|Lead 37739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037740|137740|989898|1|9999037740|MR|Test|E|Lead 37740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037741|137741|989898|1|9999037741|MR|Test|E|Lead 37741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037742|137742|989898|1|9999037742|MR|Test|E|Lead 37742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037743|137743|989898|1|9999037743|MR|Test|E|Lead 37743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037744|137744|989898|1|9999037744|MR|Test|E|Lead 37744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037745|137745|989898|1|9999037745|MR|Test|E|Lead 37745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037746|137746|989898|1|9999037746|MR|Test|E|Lead 37746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037747|137747|989898|1|9999037747|MR|Test|E|Lead 37747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037748|137748|989898|1|9999037748|MR|Test|E|Lead 37748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037749|137749|989898|1|9999037749|MR|Test|E|Lead 37749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037750|137750|989898|1|9999037750|MR|Test|E|Lead 37750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037751|137751|989898|1|9999037751|MR|Test|E|Lead 37751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037752|137752|989898|1|9999037752|MR|Test|E|Lead 37752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037753|137753|989898|1|9999037753|MR|Test|E|Lead 37753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037754|137754|989898|1|9999037754|MR|Test|E|Lead 37754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037755|137755|989898|1|9999037755|MR|Test|E|Lead 37755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037756|137756|989898|1|9999037756|MR|Test|E|Lead 37756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037757|137757|989898|1|9999037757|MR|Test|E|Lead 37757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037758|137758|989898|1|9999037758|MR|Test|E|Lead 37758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037759|137759|989898|1|9999037759|MR|Test|E|Lead 37759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037760|137760|989898|1|9999037760|MR|Test|E|Lead 37760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037761|137761|989898|1|9999037761|MR|Test|E|Lead 37761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037762|137762|989898|1|9999037762|MR|Test|E|Lead 37762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037763|137763|989898|1|9999037763|MR|Test|E|Lead 37763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037764|137764|989898|1|9999037764|MR|Test|E|Lead 37764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037765|137765|989898|1|9999037765|MR|Test|E|Lead 37765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037766|137766|989898|1|9999037766|MR|Test|E|Lead 37766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037767|137767|989898|1|9999037767|MR|Test|E|Lead 37767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037768|137768|989898|1|9999037768|MR|Test|E|Lead 37768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037769|137769|989898|1|9999037769|MR|Test|E|Lead 37769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037770|137770|989898|1|9999037770|MR|Test|E|Lead 37770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037771|137771|989898|1|9999037771|MR|Test|E|Lead 37771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037772|137772|989898|1|9999037772|MR|Test|E|Lead 37772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037773|137773|989898|1|9999037773|MR|Test|E|Lead 37773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037774|137774|989898|1|9999037774|MR|Test|E|Lead 37774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037775|137775|989898|1|9999037775|MR|Test|E|Lead 37775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037776|137776|989898|1|9999037776|MR|Test|E|Lead 37776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037777|137777|989898|1|9999037777|MR|Test|E|Lead 37777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037778|137778|989898|1|9999037778|MR|Test|E|Lead 37778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037779|137779|989898|1|9999037779|MR|Test|E|Lead 37779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037780|137780|989898|1|9999037780|MR|Test|E|Lead 37780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037781|137781|989898|1|9999037781|MR|Test|E|Lead 37781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037782|137782|989898|1|9999037782|MR|Test|E|Lead 37782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037783|137783|989898|1|9999037783|MR|Test|E|Lead 37783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037784|137784|989898|1|9999037784|MR|Test|E|Lead 37784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037785|137785|989898|1|9999037785|MR|Test|E|Lead 37785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037786|137786|989898|1|9999037786|MR|Test|E|Lead 37786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037787|137787|989898|1|9999037787|MR|Test|E|Lead 37787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037788|137788|989898|1|9999037788|MR|Test|E|Lead 37788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037789|137789|989898|1|9999037789|MR|Test|E|Lead 37789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037790|137790|989898|1|9999037790|MR|Test|E|Lead 37790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037791|137791|989898|1|9999037791|MR|Test|E|Lead 37791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037792|137792|989898|1|9999037792|MR|Test|E|Lead 37792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037793|137793|989898|1|9999037793|MR|Test|E|Lead 37793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037794|137794|989898|1|9999037794|MR|Test|E|Lead 37794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037795|137795|989898|1|9999037795|MR|Test|E|Lead 37795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037796|137796|989898|1|9999037796|MR|Test|E|Lead 37796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037797|137797|989898|1|9999037797|MR|Test|E|Lead 37797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037798|137798|989898|1|9999037798|MR|Test|E|Lead 37798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037799|137799|989898|1|9999037799|MR|Test|E|Lead 37799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037800|137800|989898|1|9999037800|MR|Test|E|Lead 37800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037801|137801|989898|1|9999037801|MR|Test|E|Lead 37801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037802|137802|989898|1|9999037802|MR|Test|E|Lead 37802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037803|137803|989898|1|9999037803|MR|Test|E|Lead 37803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037804|137804|989898|1|9999037804|MR|Test|E|Lead 37804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037805|137805|989898|1|9999037805|MR|Test|E|Lead 37805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037806|137806|989898|1|9999037806|MR|Test|E|Lead 37806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037807|137807|989898|1|9999037807|MR|Test|E|Lead 37807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037808|137808|989898|1|9999037808|MR|Test|E|Lead 37808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037809|137809|989898|1|9999037809|MR|Test|E|Lead 37809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037810|137810|989898|1|9999037810|MR|Test|E|Lead 37810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037811|137811|989898|1|9999037811|MR|Test|E|Lead 37811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037812|137812|989898|1|9999037812|MR|Test|E|Lead 37812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037813|137813|989898|1|9999037813|MR|Test|E|Lead 37813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037814|137814|989898|1|9999037814|MR|Test|E|Lead 37814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037815|137815|989898|1|9999037815|MR|Test|E|Lead 37815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037816|137816|989898|1|9999037816|MR|Test|E|Lead 37816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037817|137817|989898|1|9999037817|MR|Test|E|Lead 37817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037818|137818|989898|1|9999037818|MR|Test|E|Lead 37818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037819|137819|989898|1|9999037819|MR|Test|E|Lead 37819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037820|137820|989898|1|9999037820|MR|Test|E|Lead 37820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037821|137821|989898|1|9999037821|MR|Test|E|Lead 37821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037822|137822|989898|1|9999037822|MR|Test|E|Lead 37822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037823|137823|989898|1|9999037823|MR|Test|E|Lead 37823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037824|137824|989898|1|9999037824|MR|Test|E|Lead 37824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037825|137825|989898|1|9999037825|MR|Test|E|Lead 37825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037826|137826|989898|1|9999037826|MR|Test|E|Lead 37826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037827|137827|989898|1|9999037827|MR|Test|E|Lead 37827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037828|137828|989898|1|9999037828|MR|Test|E|Lead 37828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037829|137829|989898|1|9999037829|MR|Test|E|Lead 37829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037830|137830|989898|1|9999037830|MR|Test|E|Lead 37830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037831|137831|989898|1|9999037831|MR|Test|E|Lead 37831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037832|137832|989898|1|9999037832|MR|Test|E|Lead 37832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037833|137833|989898|1|9999037833|MR|Test|E|Lead 37833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037834|137834|989898|1|9999037834|MR|Test|E|Lead 37834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037835|137835|989898|1|9999037835|MR|Test|E|Lead 37835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037836|137836|989898|1|9999037836|MR|Test|E|Lead 37836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037837|137837|989898|1|9999037837|MR|Test|E|Lead 37837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037838|137838|989898|1|9999037838|MR|Test|E|Lead 37838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037839|137839|989898|1|9999037839|MR|Test|E|Lead 37839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037840|137840|989898|1|9999037840|MR|Test|E|Lead 37840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037841|137841|989898|1|9999037841|MR|Test|E|Lead 37841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037842|137842|989898|1|9999037842|MR|Test|E|Lead 37842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037843|137843|989898|1|9999037843|MR|Test|E|Lead 37843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037844|137844|989898|1|9999037844|MR|Test|E|Lead 37844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037845|137845|989898|1|9999037845|MR|Test|E|Lead 37845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037846|137846|989898|1|9999037846|MR|Test|E|Lead 37846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037847|137847|989898|1|9999037847|MR|Test|E|Lead 37847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037848|137848|989898|1|9999037848|MR|Test|E|Lead 37848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037849|137849|989898|1|9999037849|MR|Test|E|Lead 37849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037850|137850|989898|1|9999037850|MR|Test|E|Lead 37850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037851|137851|989898|1|9999037851|MR|Test|E|Lead 37851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037852|137852|989898|1|9999037852|MR|Test|E|Lead 37852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037853|137853|989898|1|9999037853|MR|Test|E|Lead 37853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037854|137854|989898|1|9999037854|MR|Test|E|Lead 37854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037855|137855|989898|1|9999037855|MR|Test|E|Lead 37855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037856|137856|989898|1|9999037856|MR|Test|E|Lead 37856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037857|137857|989898|1|9999037857|MR|Test|E|Lead 37857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037858|137858|989898|1|9999037858|MR|Test|E|Lead 37858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037859|137859|989898|1|9999037859|MR|Test|E|Lead 37859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037860|137860|989898|1|9999037860|MR|Test|E|Lead 37860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037861|137861|989898|1|9999037861|MR|Test|E|Lead 37861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037862|137862|989898|1|9999037862|MR|Test|E|Lead 37862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037863|137863|989898|1|9999037863|MR|Test|E|Lead 37863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037864|137864|989898|1|9999037864|MR|Test|E|Lead 37864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037865|137865|989898|1|9999037865|MR|Test|E|Lead 37865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037866|137866|989898|1|9999037866|MR|Test|E|Lead 37866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037867|137867|989898|1|9999037867|MR|Test|E|Lead 37867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037868|137868|989898|1|9999037868|MR|Test|E|Lead 37868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037869|137869|989898|1|9999037869|MR|Test|E|Lead 37869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037870|137870|989898|1|9999037870|MR|Test|E|Lead 37870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037871|137871|989898|1|9999037871|MR|Test|E|Lead 37871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037872|137872|989898|1|9999037872|MR|Test|E|Lead 37872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037873|137873|989898|1|9999037873|MR|Test|E|Lead 37873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037874|137874|989898|1|9999037874|MR|Test|E|Lead 37874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037875|137875|989898|1|9999037875|MR|Test|E|Lead 37875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037876|137876|989898|1|9999037876|MR|Test|E|Lead 37876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037877|137877|989898|1|9999037877|MR|Test|E|Lead 37877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037878|137878|989898|1|9999037878|MR|Test|E|Lead 37878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037879|137879|989898|1|9999037879|MR|Test|E|Lead 37879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037880|137880|989898|1|9999037880|MR|Test|E|Lead 37880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037881|137881|989898|1|9999037881|MR|Test|E|Lead 37881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037882|137882|989898|1|9999037882|MR|Test|E|Lead 37882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037883|137883|989898|1|9999037883|MR|Test|E|Lead 37883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037884|137884|989898|1|9999037884|MR|Test|E|Lead 37884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037885|137885|989898|1|9999037885|MR|Test|E|Lead 37885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037886|137886|989898|1|9999037886|MR|Test|E|Lead 37886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037887|137887|989898|1|9999037887|MR|Test|E|Lead 37887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037888|137888|989898|1|9999037888|MR|Test|E|Lead 37888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037889|137889|989898|1|9999037889|MR|Test|E|Lead 37889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037890|137890|989898|1|9999037890|MR|Test|E|Lead 37890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037891|137891|989898|1|9999037891|MR|Test|E|Lead 37891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037892|137892|989898|1|9999037892|MR|Test|E|Lead 37892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037893|137893|989898|1|9999037893|MR|Test|E|Lead 37893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037894|137894|989898|1|9999037894|MR|Test|E|Lead 37894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037895|137895|989898|1|9999037895|MR|Test|E|Lead 37895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037896|137896|989898|1|9999037896|MR|Test|E|Lead 37896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037897|137897|989898|1|9999037897|MR|Test|E|Lead 37897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037898|137898|989898|1|9999037898|MR|Test|E|Lead 37898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037899|137899|989898|1|9999037899|MR|Test|E|Lead 37899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037900|137900|989898|1|9999037900|MR|Test|E|Lead 37900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037901|137901|989898|1|9999037901|MR|Test|E|Lead 37901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037902|137902|989898|1|9999037902|MR|Test|E|Lead 37902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037903|137903|989898|1|9999037903|MR|Test|E|Lead 37903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037904|137904|989898|1|9999037904|MR|Test|E|Lead 37904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037905|137905|989898|1|9999037905|MR|Test|E|Lead 37905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037906|137906|989898|1|9999037906|MR|Test|E|Lead 37906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037907|137907|989898|1|9999037907|MR|Test|E|Lead 37907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037908|137908|989898|1|9999037908|MR|Test|E|Lead 37908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037909|137909|989898|1|9999037909|MR|Test|E|Lead 37909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037910|137910|989898|1|9999037910|MR|Test|E|Lead 37910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037911|137911|989898|1|9999037911|MR|Test|E|Lead 37911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037912|137912|989898|1|9999037912|MR|Test|E|Lead 37912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037913|137913|989898|1|9999037913|MR|Test|E|Lead 37913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037914|137914|989898|1|9999037914|MR|Test|E|Lead 37914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037915|137915|989898|1|9999037915|MR|Test|E|Lead 37915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037916|137916|989898|1|9999037916|MR|Test|E|Lead 37916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037917|137917|989898|1|9999037917|MR|Test|E|Lead 37917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037918|137918|989898|1|9999037918|MR|Test|E|Lead 37918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037919|137919|989898|1|9999037919|MR|Test|E|Lead 37919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037920|137920|989898|1|9999037920|MR|Test|E|Lead 37920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037921|137921|989898|1|9999037921|MR|Test|E|Lead 37921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037922|137922|989898|1|9999037922|MR|Test|E|Lead 37922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037923|137923|989898|1|9999037923|MR|Test|E|Lead 37923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037924|137924|989898|1|9999037924|MR|Test|E|Lead 37924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037925|137925|989898|1|9999037925|MR|Test|E|Lead 37925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037926|137926|989898|1|9999037926|MR|Test|E|Lead 37926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037927|137927|989898|1|9999037927|MR|Test|E|Lead 37927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037928|137928|989898|1|9999037928|MR|Test|E|Lead 37928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037929|137929|989898|1|9999037929|MR|Test|E|Lead 37929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037930|137930|989898|1|9999037930|MR|Test|E|Lead 37930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037931|137931|989898|1|9999037931|MR|Test|E|Lead 37931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037932|137932|989898|1|9999037932|MR|Test|E|Lead 37932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037933|137933|989898|1|9999037933|MR|Test|E|Lead 37933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037934|137934|989898|1|9999037934|MR|Test|E|Lead 37934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037935|137935|989898|1|9999037935|MR|Test|E|Lead 37935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037936|137936|989898|1|9999037936|MR|Test|E|Lead 37936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037937|137937|989898|1|9999037937|MR|Test|E|Lead 37937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037938|137938|989898|1|9999037938|MR|Test|E|Lead 37938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037939|137939|989898|1|9999037939|MR|Test|E|Lead 37939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037940|137940|989898|1|9999037940|MR|Test|E|Lead 37940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037941|137941|989898|1|9999037941|MR|Test|E|Lead 37941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037942|137942|989898|1|9999037942|MR|Test|E|Lead 37942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037943|137943|989898|1|9999037943|MR|Test|E|Lead 37943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037944|137944|989898|1|9999037944|MR|Test|E|Lead 37944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037945|137945|989898|1|9999037945|MR|Test|E|Lead 37945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037946|137946|989898|1|9999037946|MR|Test|E|Lead 37946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037947|137947|989898|1|9999037947|MR|Test|E|Lead 37947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037948|137948|989898|1|9999037948|MR|Test|E|Lead 37948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037949|137949|989898|1|9999037949|MR|Test|E|Lead 37949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037950|137950|989898|1|9999037950|MR|Test|E|Lead 37950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037951|137951|989898|1|9999037951|MR|Test|E|Lead 37951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037952|137952|989898|1|9999037952|MR|Test|E|Lead 37952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037953|137953|989898|1|9999037953|MR|Test|E|Lead 37953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037954|137954|989898|1|9999037954|MR|Test|E|Lead 37954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037955|137955|989898|1|9999037955|MR|Test|E|Lead 37955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037956|137956|989898|1|9999037956|MR|Test|E|Lead 37956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037957|137957|989898|1|9999037957|MR|Test|E|Lead 37957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037958|137958|989898|1|9999037958|MR|Test|E|Lead 37958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037959|137959|989898|1|9999037959|MR|Test|E|Lead 37959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037960|137960|989898|1|9999037960|MR|Test|E|Lead 37960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037961|137961|989898|1|9999037961|MR|Test|E|Lead 37961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037962|137962|989898|1|9999037962|MR|Test|E|Lead 37962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037963|137963|989898|1|9999037963|MR|Test|E|Lead 37963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037964|137964|989898|1|9999037964|MR|Test|E|Lead 37964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037965|137965|989898|1|9999037965|MR|Test|E|Lead 37965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037966|137966|989898|1|9999037966|MR|Test|E|Lead 37966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037967|137967|989898|1|9999037967|MR|Test|E|Lead 37967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037968|137968|989898|1|9999037968|MR|Test|E|Lead 37968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037969|137969|989898|1|9999037969|MR|Test|E|Lead 37969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037970|137970|989898|1|9999037970|MR|Test|E|Lead 37970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037971|137971|989898|1|9999037971|MR|Test|E|Lead 37971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037972|137972|989898|1|9999037972|MR|Test|E|Lead 37972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037973|137973|989898|1|9999037973|MR|Test|E|Lead 37973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037974|137974|989898|1|9999037974|MR|Test|E|Lead 37974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037975|137975|989898|1|9999037975|MR|Test|E|Lead 37975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037976|137976|989898|1|9999037976|MR|Test|E|Lead 37976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037977|137977|989898|1|9999037977|MR|Test|E|Lead 37977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037978|137978|989898|1|9999037978|MR|Test|E|Lead 37978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037979|137979|989898|1|9999037979|MR|Test|E|Lead 37979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037980|137980|989898|1|9999037980|MR|Test|E|Lead 37980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037981|137981|989898|1|9999037981|MR|Test|E|Lead 37981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037982|137982|989898|1|9999037982|MR|Test|E|Lead 37982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037983|137983|989898|1|9999037983|MR|Test|E|Lead 37983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037984|137984|989898|1|9999037984|MR|Test|E|Lead 37984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037985|137985|989898|1|9999037985|MR|Test|E|Lead 37985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037986|137986|989898|1|9999037986|MR|Test|E|Lead 37986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037987|137987|989898|1|9999037987|MR|Test|E|Lead 37987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037988|137988|989898|1|9999037988|MR|Test|E|Lead 37988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037989|137989|989898|1|9999037989|MR|Test|E|Lead 37989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037990|137990|989898|1|9999037990|MR|Test|E|Lead 37990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037991|137991|989898|1|9999037991|MR|Test|E|Lead 37991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037992|137992|989898|1|9999037992|MR|Test|E|Lead 37992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037993|137993|989898|1|9999037993|MR|Test|E|Lead 37993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037994|137994|989898|1|9999037994|MR|Test|E|Lead 37994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037995|137995|989898|1|9999037995|MR|Test|E|Lead 37995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037996|137996|989898|1|9999037996|MR|Test|E|Lead 37996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037997|137997|989898|1|9999037997|MR|Test|E|Lead 37997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037998|137998|989898|1|9999037998|MR|Test|E|Lead 37998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1037999|137999|989898|1|9999037999|MR|Test|E|Lead 37999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038000|138000|989898|1|9999038000|MR|Test|E|Lead 38000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038001|138001|989898|1|9999038001|MR|Test|E|Lead 38001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038002|138002|989898|1|9999038002|MR|Test|E|Lead 38002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038003|138003|989898|1|9999038003|MR|Test|E|Lead 38003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038004|138004|989898|1|9999038004|MR|Test|E|Lead 38004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038005|138005|989898|1|9999038005|MR|Test|E|Lead 38005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038006|138006|989898|1|9999038006|MR|Test|E|Lead 38006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038007|138007|989898|1|9999038007|MR|Test|E|Lead 38007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038008|138008|989898|1|9999038008|MR|Test|E|Lead 38008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038009|138009|989898|1|9999038009|MR|Test|E|Lead 38009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038010|138010|989898|1|9999038010|MR|Test|E|Lead 38010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038011|138011|989898|1|9999038011|MR|Test|E|Lead 38011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038012|138012|989898|1|9999038012|MR|Test|E|Lead 38012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038013|138013|989898|1|9999038013|MR|Test|E|Lead 38013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038014|138014|989898|1|9999038014|MR|Test|E|Lead 38014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038015|138015|989898|1|9999038015|MR|Test|E|Lead 38015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038016|138016|989898|1|9999038016|MR|Test|E|Lead 38016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038017|138017|989898|1|9999038017|MR|Test|E|Lead 38017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038018|138018|989898|1|9999038018|MR|Test|E|Lead 38018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038019|138019|989898|1|9999038019|MR|Test|E|Lead 38019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038020|138020|989898|1|9999038020|MR|Test|E|Lead 38020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038021|138021|989898|1|9999038021|MR|Test|E|Lead 38021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038022|138022|989898|1|9999038022|MR|Test|E|Lead 38022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038023|138023|989898|1|9999038023|MR|Test|E|Lead 38023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038024|138024|989898|1|9999038024|MR|Test|E|Lead 38024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038025|138025|989898|1|9999038025|MR|Test|E|Lead 38025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038026|138026|989898|1|9999038026|MR|Test|E|Lead 38026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038027|138027|989898|1|9999038027|MR|Test|E|Lead 38027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038028|138028|989898|1|9999038028|MR|Test|E|Lead 38028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038029|138029|989898|1|9999038029|MR|Test|E|Lead 38029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038030|138030|989898|1|9999038030|MR|Test|E|Lead 38030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038031|138031|989898|1|9999038031|MR|Test|E|Lead 38031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038032|138032|989898|1|9999038032|MR|Test|E|Lead 38032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038033|138033|989898|1|9999038033|MR|Test|E|Lead 38033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038034|138034|989898|1|9999038034|MR|Test|E|Lead 38034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038035|138035|989898|1|9999038035|MR|Test|E|Lead 38035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038036|138036|989898|1|9999038036|MR|Test|E|Lead 38036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038037|138037|989898|1|9999038037|MR|Test|E|Lead 38037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038038|138038|989898|1|9999038038|MR|Test|E|Lead 38038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038039|138039|989898|1|9999038039|MR|Test|E|Lead 38039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038040|138040|989898|1|9999038040|MR|Test|E|Lead 38040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038041|138041|989898|1|9999038041|MR|Test|E|Lead 38041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038042|138042|989898|1|9999038042|MR|Test|E|Lead 38042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038043|138043|989898|1|9999038043|MR|Test|E|Lead 38043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038044|138044|989898|1|9999038044|MR|Test|E|Lead 38044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038045|138045|989898|1|9999038045|MR|Test|E|Lead 38045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038046|138046|989898|1|9999038046|MR|Test|E|Lead 38046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038047|138047|989898|1|9999038047|MR|Test|E|Lead 38047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038048|138048|989898|1|9999038048|MR|Test|E|Lead 38048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038049|138049|989898|1|9999038049|MR|Test|E|Lead 38049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038050|138050|989898|1|9999038050|MR|Test|E|Lead 38050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038051|138051|989898|1|9999038051|MR|Test|E|Lead 38051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038052|138052|989898|1|9999038052|MR|Test|E|Lead 38052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038053|138053|989898|1|9999038053|MR|Test|E|Lead 38053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038054|138054|989898|1|9999038054|MR|Test|E|Lead 38054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038055|138055|989898|1|9999038055|MR|Test|E|Lead 38055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038056|138056|989898|1|9999038056|MR|Test|E|Lead 38056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038057|138057|989898|1|9999038057|MR|Test|E|Lead 38057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038058|138058|989898|1|9999038058|MR|Test|E|Lead 38058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038059|138059|989898|1|9999038059|MR|Test|E|Lead 38059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038060|138060|989898|1|9999038060|MR|Test|E|Lead 38060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038061|138061|989898|1|9999038061|MR|Test|E|Lead 38061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038062|138062|989898|1|9999038062|MR|Test|E|Lead 38062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038063|138063|989898|1|9999038063|MR|Test|E|Lead 38063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038064|138064|989898|1|9999038064|MR|Test|E|Lead 38064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038065|138065|989898|1|9999038065|MR|Test|E|Lead 38065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038066|138066|989898|1|9999038066|MR|Test|E|Lead 38066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038067|138067|989898|1|9999038067|MR|Test|E|Lead 38067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038068|138068|989898|1|9999038068|MR|Test|E|Lead 38068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038069|138069|989898|1|9999038069|MR|Test|E|Lead 38069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038070|138070|989898|1|9999038070|MR|Test|E|Lead 38070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038071|138071|989898|1|9999038071|MR|Test|E|Lead 38071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038072|138072|989898|1|9999038072|MR|Test|E|Lead 38072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038073|138073|989898|1|9999038073|MR|Test|E|Lead 38073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038074|138074|989898|1|9999038074|MR|Test|E|Lead 38074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038075|138075|989898|1|9999038075|MR|Test|E|Lead 38075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038076|138076|989898|1|9999038076|MR|Test|E|Lead 38076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038077|138077|989898|1|9999038077|MR|Test|E|Lead 38077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038078|138078|989898|1|9999038078|MR|Test|E|Lead 38078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038079|138079|989898|1|9999038079|MR|Test|E|Lead 38079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038080|138080|989898|1|9999038080|MR|Test|E|Lead 38080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038081|138081|989898|1|9999038081|MR|Test|E|Lead 38081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038082|138082|989898|1|9999038082|MR|Test|E|Lead 38082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038083|138083|989898|1|9999038083|MR|Test|E|Lead 38083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038084|138084|989898|1|9999038084|MR|Test|E|Lead 38084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038085|138085|989898|1|9999038085|MR|Test|E|Lead 38085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038086|138086|989898|1|9999038086|MR|Test|E|Lead 38086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038087|138087|989898|1|9999038087|MR|Test|E|Lead 38087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038088|138088|989898|1|9999038088|MR|Test|E|Lead 38088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038089|138089|989898|1|9999038089|MR|Test|E|Lead 38089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038090|138090|989898|1|9999038090|MR|Test|E|Lead 38090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038091|138091|989898|1|9999038091|MR|Test|E|Lead 38091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038092|138092|989898|1|9999038092|MR|Test|E|Lead 38092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038093|138093|989898|1|9999038093|MR|Test|E|Lead 38093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038094|138094|989898|1|9999038094|MR|Test|E|Lead 38094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038095|138095|989898|1|9999038095|MR|Test|E|Lead 38095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038096|138096|989898|1|9999038096|MR|Test|E|Lead 38096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038097|138097|989898|1|9999038097|MR|Test|E|Lead 38097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038098|138098|989898|1|9999038098|MR|Test|E|Lead 38098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038099|138099|989898|1|9999038099|MR|Test|E|Lead 38099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038100|138100|989898|1|9999038100|MR|Test|E|Lead 38100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038101|138101|989898|1|9999038101|MR|Test|E|Lead 38101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038102|138102|989898|1|9999038102|MR|Test|E|Lead 38102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038103|138103|989898|1|9999038103|MR|Test|E|Lead 38103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038104|138104|989898|1|9999038104|MR|Test|E|Lead 38104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038105|138105|989898|1|9999038105|MR|Test|E|Lead 38105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038106|138106|989898|1|9999038106|MR|Test|E|Lead 38106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038107|138107|989898|1|9999038107|MR|Test|E|Lead 38107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038108|138108|989898|1|9999038108|MR|Test|E|Lead 38108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038109|138109|989898|1|9999038109|MR|Test|E|Lead 38109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038110|138110|989898|1|9999038110|MR|Test|E|Lead 38110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038111|138111|989898|1|9999038111|MR|Test|E|Lead 38111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038112|138112|989898|1|9999038112|MR|Test|E|Lead 38112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038113|138113|989898|1|9999038113|MR|Test|E|Lead 38113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038114|138114|989898|1|9999038114|MR|Test|E|Lead 38114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038115|138115|989898|1|9999038115|MR|Test|E|Lead 38115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038116|138116|989898|1|9999038116|MR|Test|E|Lead 38116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038117|138117|989898|1|9999038117|MR|Test|E|Lead 38117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038118|138118|989898|1|9999038118|MR|Test|E|Lead 38118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038119|138119|989898|1|9999038119|MR|Test|E|Lead 38119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038120|138120|989898|1|9999038120|MR|Test|E|Lead 38120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038121|138121|989898|1|9999038121|MR|Test|E|Lead 38121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038122|138122|989898|1|9999038122|MR|Test|E|Lead 38122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038123|138123|989898|1|9999038123|MR|Test|E|Lead 38123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038124|138124|989898|1|9999038124|MR|Test|E|Lead 38124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038125|138125|989898|1|9999038125|MR|Test|E|Lead 38125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038126|138126|989898|1|9999038126|MR|Test|E|Lead 38126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038127|138127|989898|1|9999038127|MR|Test|E|Lead 38127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038128|138128|989898|1|9999038128|MR|Test|E|Lead 38128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038129|138129|989898|1|9999038129|MR|Test|E|Lead 38129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038130|138130|989898|1|9999038130|MR|Test|E|Lead 38130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038131|138131|989898|1|9999038131|MR|Test|E|Lead 38131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038132|138132|989898|1|9999038132|MR|Test|E|Lead 38132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038133|138133|989898|1|9999038133|MR|Test|E|Lead 38133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038134|138134|989898|1|9999038134|MR|Test|E|Lead 38134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038135|138135|989898|1|9999038135|MR|Test|E|Lead 38135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038136|138136|989898|1|9999038136|MR|Test|E|Lead 38136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038137|138137|989898|1|9999038137|MR|Test|E|Lead 38137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038138|138138|989898|1|9999038138|MR|Test|E|Lead 38138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038139|138139|989898|1|9999038139|MR|Test|E|Lead 38139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038140|138140|989898|1|9999038140|MR|Test|E|Lead 38140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038141|138141|989898|1|9999038141|MR|Test|E|Lead 38141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038142|138142|989898|1|9999038142|MR|Test|E|Lead 38142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038143|138143|989898|1|9999038143|MR|Test|E|Lead 38143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038144|138144|989898|1|9999038144|MR|Test|E|Lead 38144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038145|138145|989898|1|9999038145|MR|Test|E|Lead 38145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038146|138146|989898|1|9999038146|MR|Test|E|Lead 38146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038147|138147|989898|1|9999038147|MR|Test|E|Lead 38147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038148|138148|989898|1|9999038148|MR|Test|E|Lead 38148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038149|138149|989898|1|9999038149|MR|Test|E|Lead 38149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038150|138150|989898|1|9999038150|MR|Test|E|Lead 38150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038151|138151|989898|1|9999038151|MR|Test|E|Lead 38151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038152|138152|989898|1|9999038152|MR|Test|E|Lead 38152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038153|138153|989898|1|9999038153|MR|Test|E|Lead 38153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038154|138154|989898|1|9999038154|MR|Test|E|Lead 38154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038155|138155|989898|1|9999038155|MR|Test|E|Lead 38155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038156|138156|989898|1|9999038156|MR|Test|E|Lead 38156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038157|138157|989898|1|9999038157|MR|Test|E|Lead 38157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038158|138158|989898|1|9999038158|MR|Test|E|Lead 38158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038159|138159|989898|1|9999038159|MR|Test|E|Lead 38159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038160|138160|989898|1|9999038160|MR|Test|E|Lead 38160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038161|138161|989898|1|9999038161|MR|Test|E|Lead 38161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038162|138162|989898|1|9999038162|MR|Test|E|Lead 38162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038163|138163|989898|1|9999038163|MR|Test|E|Lead 38163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038164|138164|989898|1|9999038164|MR|Test|E|Lead 38164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038165|138165|989898|1|9999038165|MR|Test|E|Lead 38165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038166|138166|989898|1|9999038166|MR|Test|E|Lead 38166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038167|138167|989898|1|9999038167|MR|Test|E|Lead 38167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038168|138168|989898|1|9999038168|MR|Test|E|Lead 38168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038169|138169|989898|1|9999038169|MR|Test|E|Lead 38169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038170|138170|989898|1|9999038170|MR|Test|E|Lead 38170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038171|138171|989898|1|9999038171|MR|Test|E|Lead 38171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038172|138172|989898|1|9999038172|MR|Test|E|Lead 38172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038173|138173|989898|1|9999038173|MR|Test|E|Lead 38173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038174|138174|989898|1|9999038174|MR|Test|E|Lead 38174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038175|138175|989898|1|9999038175|MR|Test|E|Lead 38175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038176|138176|989898|1|9999038176|MR|Test|E|Lead 38176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038177|138177|989898|1|9999038177|MR|Test|E|Lead 38177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038178|138178|989898|1|9999038178|MR|Test|E|Lead 38178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038179|138179|989898|1|9999038179|MR|Test|E|Lead 38179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038180|138180|989898|1|9999038180|MR|Test|E|Lead 38180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038181|138181|989898|1|9999038181|MR|Test|E|Lead 38181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038182|138182|989898|1|9999038182|MR|Test|E|Lead 38182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038183|138183|989898|1|9999038183|MR|Test|E|Lead 38183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038184|138184|989898|1|9999038184|MR|Test|E|Lead 38184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038185|138185|989898|1|9999038185|MR|Test|E|Lead 38185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038186|138186|989898|1|9999038186|MR|Test|E|Lead 38186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038187|138187|989898|1|9999038187|MR|Test|E|Lead 38187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038188|138188|989898|1|9999038188|MR|Test|E|Lead 38188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038189|138189|989898|1|9999038189|MR|Test|E|Lead 38189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038190|138190|989898|1|9999038190|MR|Test|E|Lead 38190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038191|138191|989898|1|9999038191|MR|Test|E|Lead 38191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038192|138192|989898|1|9999038192|MR|Test|E|Lead 38192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038193|138193|989898|1|9999038193|MR|Test|E|Lead 38193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038194|138194|989898|1|9999038194|MR|Test|E|Lead 38194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038195|138195|989898|1|9999038195|MR|Test|E|Lead 38195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038196|138196|989898|1|9999038196|MR|Test|E|Lead 38196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038197|138197|989898|1|9999038197|MR|Test|E|Lead 38197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038198|138198|989898|1|9999038198|MR|Test|E|Lead 38198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038199|138199|989898|1|9999038199|MR|Test|E|Lead 38199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038200|138200|989898|1|9999038200|MR|Test|E|Lead 38200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038201|138201|989898|1|9999038201|MR|Test|E|Lead 38201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038202|138202|989898|1|9999038202|MR|Test|E|Lead 38202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038203|138203|989898|1|9999038203|MR|Test|E|Lead 38203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038204|138204|989898|1|9999038204|MR|Test|E|Lead 38204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038205|138205|989898|1|9999038205|MR|Test|E|Lead 38205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038206|138206|989898|1|9999038206|MR|Test|E|Lead 38206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038207|138207|989898|1|9999038207|MR|Test|E|Lead 38207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038208|138208|989898|1|9999038208|MR|Test|E|Lead 38208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038209|138209|989898|1|9999038209|MR|Test|E|Lead 38209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038210|138210|989898|1|9999038210|MR|Test|E|Lead 38210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038211|138211|989898|1|9999038211|MR|Test|E|Lead 38211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038212|138212|989898|1|9999038212|MR|Test|E|Lead 38212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038213|138213|989898|1|9999038213|MR|Test|E|Lead 38213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038214|138214|989898|1|9999038214|MR|Test|E|Lead 38214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038215|138215|989898|1|9999038215|MR|Test|E|Lead 38215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038216|138216|989898|1|9999038216|MR|Test|E|Lead 38216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038217|138217|989898|1|9999038217|MR|Test|E|Lead 38217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038218|138218|989898|1|9999038218|MR|Test|E|Lead 38218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038219|138219|989898|1|9999038219|MR|Test|E|Lead 38219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038220|138220|989898|1|9999038220|MR|Test|E|Lead 38220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038221|138221|989898|1|9999038221|MR|Test|E|Lead 38221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038222|138222|989898|1|9999038222|MR|Test|E|Lead 38222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038223|138223|989898|1|9999038223|MR|Test|E|Lead 38223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038224|138224|989898|1|9999038224|MR|Test|E|Lead 38224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038225|138225|989898|1|9999038225|MR|Test|E|Lead 38225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038226|138226|989898|1|9999038226|MR|Test|E|Lead 38226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038227|138227|989898|1|9999038227|MR|Test|E|Lead 38227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038228|138228|989898|1|9999038228|MR|Test|E|Lead 38228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038229|138229|989898|1|9999038229|MR|Test|E|Lead 38229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038230|138230|989898|1|9999038230|MR|Test|E|Lead 38230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038231|138231|989898|1|9999038231|MR|Test|E|Lead 38231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038232|138232|989898|1|9999038232|MR|Test|E|Lead 38232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038233|138233|989898|1|9999038233|MR|Test|E|Lead 38233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038234|138234|989898|1|9999038234|MR|Test|E|Lead 38234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038235|138235|989898|1|9999038235|MR|Test|E|Lead 38235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038236|138236|989898|1|9999038236|MR|Test|E|Lead 38236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038237|138237|989898|1|9999038237|MR|Test|E|Lead 38237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038238|138238|989898|1|9999038238|MR|Test|E|Lead 38238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038239|138239|989898|1|9999038239|MR|Test|E|Lead 38239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038240|138240|989898|1|9999038240|MR|Test|E|Lead 38240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038241|138241|989898|1|9999038241|MR|Test|E|Lead 38241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038242|138242|989898|1|9999038242|MR|Test|E|Lead 38242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038243|138243|989898|1|9999038243|MR|Test|E|Lead 38243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038244|138244|989898|1|9999038244|MR|Test|E|Lead 38244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038245|138245|989898|1|9999038245|MR|Test|E|Lead 38245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038246|138246|989898|1|9999038246|MR|Test|E|Lead 38246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038247|138247|989898|1|9999038247|MR|Test|E|Lead 38247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038248|138248|989898|1|9999038248|MR|Test|E|Lead 38248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038249|138249|989898|1|9999038249|MR|Test|E|Lead 38249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038250|138250|989898|1|9999038250|MR|Test|E|Lead 38250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038251|138251|989898|1|9999038251|MR|Test|E|Lead 38251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038252|138252|989898|1|9999038252|MR|Test|E|Lead 38252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038253|138253|989898|1|9999038253|MR|Test|E|Lead 38253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038254|138254|989898|1|9999038254|MR|Test|E|Lead 38254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038255|138255|989898|1|9999038255|MR|Test|E|Lead 38255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038256|138256|989898|1|9999038256|MR|Test|E|Lead 38256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038257|138257|989898|1|9999038257|MR|Test|E|Lead 38257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038258|138258|989898|1|9999038258|MR|Test|E|Lead 38258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038259|138259|989898|1|9999038259|MR|Test|E|Lead 38259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038260|138260|989898|1|9999038260|MR|Test|E|Lead 38260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038261|138261|989898|1|9999038261|MR|Test|E|Lead 38261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038262|138262|989898|1|9999038262|MR|Test|E|Lead 38262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038263|138263|989898|1|9999038263|MR|Test|E|Lead 38263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038264|138264|989898|1|9999038264|MR|Test|E|Lead 38264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038265|138265|989898|1|9999038265|MR|Test|E|Lead 38265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038266|138266|989898|1|9999038266|MR|Test|E|Lead 38266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038267|138267|989898|1|9999038267|MR|Test|E|Lead 38267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038268|138268|989898|1|9999038268|MR|Test|E|Lead 38268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038269|138269|989898|1|9999038269|MR|Test|E|Lead 38269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038270|138270|989898|1|9999038270|MR|Test|E|Lead 38270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038271|138271|989898|1|9999038271|MR|Test|E|Lead 38271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038272|138272|989898|1|9999038272|MR|Test|E|Lead 38272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038273|138273|989898|1|9999038273|MR|Test|E|Lead 38273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038274|138274|989898|1|9999038274|MR|Test|E|Lead 38274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038275|138275|989898|1|9999038275|MR|Test|E|Lead 38275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038276|138276|989898|1|9999038276|MR|Test|E|Lead 38276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038277|138277|989898|1|9999038277|MR|Test|E|Lead 38277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038278|138278|989898|1|9999038278|MR|Test|E|Lead 38278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038279|138279|989898|1|9999038279|MR|Test|E|Lead 38279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038280|138280|989898|1|9999038280|MR|Test|E|Lead 38280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038281|138281|989898|1|9999038281|MR|Test|E|Lead 38281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038282|138282|989898|1|9999038282|MR|Test|E|Lead 38282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038283|138283|989898|1|9999038283|MR|Test|E|Lead 38283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038284|138284|989898|1|9999038284|MR|Test|E|Lead 38284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038285|138285|989898|1|9999038285|MR|Test|E|Lead 38285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038286|138286|989898|1|9999038286|MR|Test|E|Lead 38286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038287|138287|989898|1|9999038287|MR|Test|E|Lead 38287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038288|138288|989898|1|9999038288|MR|Test|E|Lead 38288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038289|138289|989898|1|9999038289|MR|Test|E|Lead 38289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038290|138290|989898|1|9999038290|MR|Test|E|Lead 38290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038291|138291|989898|1|9999038291|MR|Test|E|Lead 38291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038292|138292|989898|1|9999038292|MR|Test|E|Lead 38292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038293|138293|989898|1|9999038293|MR|Test|E|Lead 38293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038294|138294|989898|1|9999038294|MR|Test|E|Lead 38294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038295|138295|989898|1|9999038295|MR|Test|E|Lead 38295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038296|138296|989898|1|9999038296|MR|Test|E|Lead 38296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038297|138297|989898|1|9999038297|MR|Test|E|Lead 38297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038298|138298|989898|1|9999038298|MR|Test|E|Lead 38298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038299|138299|989898|1|9999038299|MR|Test|E|Lead 38299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038300|138300|989898|1|9999038300|MR|Test|E|Lead 38300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038301|138301|989898|1|9999038301|MR|Test|E|Lead 38301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038302|138302|989898|1|9999038302|MR|Test|E|Lead 38302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038303|138303|989898|1|9999038303|MR|Test|E|Lead 38303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038304|138304|989898|1|9999038304|MR|Test|E|Lead 38304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038305|138305|989898|1|9999038305|MR|Test|E|Lead 38305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038306|138306|989898|1|9999038306|MR|Test|E|Lead 38306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038307|138307|989898|1|9999038307|MR|Test|E|Lead 38307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038308|138308|989898|1|9999038308|MR|Test|E|Lead 38308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038309|138309|989898|1|9999038309|MR|Test|E|Lead 38309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038310|138310|989898|1|9999038310|MR|Test|E|Lead 38310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038311|138311|989898|1|9999038311|MR|Test|E|Lead 38311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038312|138312|989898|1|9999038312|MR|Test|E|Lead 38312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038313|138313|989898|1|9999038313|MR|Test|E|Lead 38313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038314|138314|989898|1|9999038314|MR|Test|E|Lead 38314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038315|138315|989898|1|9999038315|MR|Test|E|Lead 38315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038316|138316|989898|1|9999038316|MR|Test|E|Lead 38316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038317|138317|989898|1|9999038317|MR|Test|E|Lead 38317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038318|138318|989898|1|9999038318|MR|Test|E|Lead 38318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038319|138319|989898|1|9999038319|MR|Test|E|Lead 38319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038320|138320|989898|1|9999038320|MR|Test|E|Lead 38320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038321|138321|989898|1|9999038321|MR|Test|E|Lead 38321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038322|138322|989898|1|9999038322|MR|Test|E|Lead 38322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038323|138323|989898|1|9999038323|MR|Test|E|Lead 38323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038324|138324|989898|1|9999038324|MR|Test|E|Lead 38324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038325|138325|989898|1|9999038325|MR|Test|E|Lead 38325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038326|138326|989898|1|9999038326|MR|Test|E|Lead 38326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038327|138327|989898|1|9999038327|MR|Test|E|Lead 38327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038328|138328|989898|1|9999038328|MR|Test|E|Lead 38328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038329|138329|989898|1|9999038329|MR|Test|E|Lead 38329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038330|138330|989898|1|9999038330|MR|Test|E|Lead 38330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038331|138331|989898|1|9999038331|MR|Test|E|Lead 38331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038332|138332|989898|1|9999038332|MR|Test|E|Lead 38332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038333|138333|989898|1|9999038333|MR|Test|E|Lead 38333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038334|138334|989898|1|9999038334|MR|Test|E|Lead 38334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038335|138335|989898|1|9999038335|MR|Test|E|Lead 38335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038336|138336|989898|1|9999038336|MR|Test|E|Lead 38336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038337|138337|989898|1|9999038337|MR|Test|E|Lead 38337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038338|138338|989898|1|9999038338|MR|Test|E|Lead 38338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038339|138339|989898|1|9999038339|MR|Test|E|Lead 38339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038340|138340|989898|1|9999038340|MR|Test|E|Lead 38340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038341|138341|989898|1|9999038341|MR|Test|E|Lead 38341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038342|138342|989898|1|9999038342|MR|Test|E|Lead 38342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038343|138343|989898|1|9999038343|MR|Test|E|Lead 38343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038344|138344|989898|1|9999038344|MR|Test|E|Lead 38344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038345|138345|989898|1|9999038345|MR|Test|E|Lead 38345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038346|138346|989898|1|9999038346|MR|Test|E|Lead 38346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038347|138347|989898|1|9999038347|MR|Test|E|Lead 38347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038348|138348|989898|1|9999038348|MR|Test|E|Lead 38348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038349|138349|989898|1|9999038349|MR|Test|E|Lead 38349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038350|138350|989898|1|9999038350|MR|Test|E|Lead 38350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038351|138351|989898|1|9999038351|MR|Test|E|Lead 38351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038352|138352|989898|1|9999038352|MR|Test|E|Lead 38352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038353|138353|989898|1|9999038353|MR|Test|E|Lead 38353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038354|138354|989898|1|9999038354|MR|Test|E|Lead 38354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038355|138355|989898|1|9999038355|MR|Test|E|Lead 38355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038356|138356|989898|1|9999038356|MR|Test|E|Lead 38356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038357|138357|989898|1|9999038357|MR|Test|E|Lead 38357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038358|138358|989898|1|9999038358|MR|Test|E|Lead 38358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038359|138359|989898|1|9999038359|MR|Test|E|Lead 38359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038360|138360|989898|1|9999038360|MR|Test|E|Lead 38360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038361|138361|989898|1|9999038361|MR|Test|E|Lead 38361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038362|138362|989898|1|9999038362|MR|Test|E|Lead 38362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038363|138363|989898|1|9999038363|MR|Test|E|Lead 38363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038364|138364|989898|1|9999038364|MR|Test|E|Lead 38364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038365|138365|989898|1|9999038365|MR|Test|E|Lead 38365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038366|138366|989898|1|9999038366|MR|Test|E|Lead 38366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038367|138367|989898|1|9999038367|MR|Test|E|Lead 38367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038368|138368|989898|1|9999038368|MR|Test|E|Lead 38368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038369|138369|989898|1|9999038369|MR|Test|E|Lead 38369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038370|138370|989898|1|9999038370|MR|Test|E|Lead 38370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038371|138371|989898|1|9999038371|MR|Test|E|Lead 38371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038372|138372|989898|1|9999038372|MR|Test|E|Lead 38372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038373|138373|989898|1|9999038373|MR|Test|E|Lead 38373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038374|138374|989898|1|9999038374|MR|Test|E|Lead 38374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038375|138375|989898|1|9999038375|MR|Test|E|Lead 38375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038376|138376|989898|1|9999038376|MR|Test|E|Lead 38376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038377|138377|989898|1|9999038377|MR|Test|E|Lead 38377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038378|138378|989898|1|9999038378|MR|Test|E|Lead 38378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038379|138379|989898|1|9999038379|MR|Test|E|Lead 38379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038380|138380|989898|1|9999038380|MR|Test|E|Lead 38380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038381|138381|989898|1|9999038381|MR|Test|E|Lead 38381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038382|138382|989898|1|9999038382|MR|Test|E|Lead 38382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038383|138383|989898|1|9999038383|MR|Test|E|Lead 38383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038384|138384|989898|1|9999038384|MR|Test|E|Lead 38384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038385|138385|989898|1|9999038385|MR|Test|E|Lead 38385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038386|138386|989898|1|9999038386|MR|Test|E|Lead 38386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038387|138387|989898|1|9999038387|MR|Test|E|Lead 38387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038388|138388|989898|1|9999038388|MR|Test|E|Lead 38388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038389|138389|989898|1|9999038389|MR|Test|E|Lead 38389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038390|138390|989898|1|9999038390|MR|Test|E|Lead 38390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038391|138391|989898|1|9999038391|MR|Test|E|Lead 38391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038392|138392|989898|1|9999038392|MR|Test|E|Lead 38392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038393|138393|989898|1|9999038393|MR|Test|E|Lead 38393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038394|138394|989898|1|9999038394|MR|Test|E|Lead 38394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038395|138395|989898|1|9999038395|MR|Test|E|Lead 38395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038396|138396|989898|1|9999038396|MR|Test|E|Lead 38396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038397|138397|989898|1|9999038397|MR|Test|E|Lead 38397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038398|138398|989898|1|9999038398|MR|Test|E|Lead 38398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038399|138399|989898|1|9999038399|MR|Test|E|Lead 38399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038400|138400|989898|1|9999038400|MR|Test|E|Lead 38400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038401|138401|989898|1|9999038401|MR|Test|E|Lead 38401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038402|138402|989898|1|9999038402|MR|Test|E|Lead 38402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038403|138403|989898|1|9999038403|MR|Test|E|Lead 38403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038404|138404|989898|1|9999038404|MR|Test|E|Lead 38404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038405|138405|989898|1|9999038405|MR|Test|E|Lead 38405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038406|138406|989898|1|9999038406|MR|Test|E|Lead 38406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038407|138407|989898|1|9999038407|MR|Test|E|Lead 38407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038408|138408|989898|1|9999038408|MR|Test|E|Lead 38408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038409|138409|989898|1|9999038409|MR|Test|E|Lead 38409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038410|138410|989898|1|9999038410|MR|Test|E|Lead 38410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038411|138411|989898|1|9999038411|MR|Test|E|Lead 38411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038412|138412|989898|1|9999038412|MR|Test|E|Lead 38412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038413|138413|989898|1|9999038413|MR|Test|E|Lead 38413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038414|138414|989898|1|9999038414|MR|Test|E|Lead 38414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038415|138415|989898|1|9999038415|MR|Test|E|Lead 38415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038416|138416|989898|1|9999038416|MR|Test|E|Lead 38416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038417|138417|989898|1|9999038417|MR|Test|E|Lead 38417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038418|138418|989898|1|9999038418|MR|Test|E|Lead 38418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038419|138419|989898|1|9999038419|MR|Test|E|Lead 38419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038420|138420|989898|1|9999038420|MR|Test|E|Lead 38420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038421|138421|989898|1|9999038421|MR|Test|E|Lead 38421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038422|138422|989898|1|9999038422|MR|Test|E|Lead 38422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038423|138423|989898|1|9999038423|MR|Test|E|Lead 38423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038424|138424|989898|1|9999038424|MR|Test|E|Lead 38424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038425|138425|989898|1|9999038425|MR|Test|E|Lead 38425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038426|138426|989898|1|9999038426|MR|Test|E|Lead 38426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038427|138427|989898|1|9999038427|MR|Test|E|Lead 38427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038428|138428|989898|1|9999038428|MR|Test|E|Lead 38428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038429|138429|989898|1|9999038429|MR|Test|E|Lead 38429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038430|138430|989898|1|9999038430|MR|Test|E|Lead 38430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038431|138431|989898|1|9999038431|MR|Test|E|Lead 38431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038432|138432|989898|1|9999038432|MR|Test|E|Lead 38432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038433|138433|989898|1|9999038433|MR|Test|E|Lead 38433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038434|138434|989898|1|9999038434|MR|Test|E|Lead 38434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038435|138435|989898|1|9999038435|MR|Test|E|Lead 38435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038436|138436|989898|1|9999038436|MR|Test|E|Lead 38436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038437|138437|989898|1|9999038437|MR|Test|E|Lead 38437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038438|138438|989898|1|9999038438|MR|Test|E|Lead 38438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038439|138439|989898|1|9999038439|MR|Test|E|Lead 38439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038440|138440|989898|1|9999038440|MR|Test|E|Lead 38440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038441|138441|989898|1|9999038441|MR|Test|E|Lead 38441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038442|138442|989898|1|9999038442|MR|Test|E|Lead 38442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038443|138443|989898|1|9999038443|MR|Test|E|Lead 38443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038444|138444|989898|1|9999038444|MR|Test|E|Lead 38444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038445|138445|989898|1|9999038445|MR|Test|E|Lead 38445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038446|138446|989898|1|9999038446|MR|Test|E|Lead 38446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038447|138447|989898|1|9999038447|MR|Test|E|Lead 38447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038448|138448|989898|1|9999038448|MR|Test|E|Lead 38448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038449|138449|989898|1|9999038449|MR|Test|E|Lead 38449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038450|138450|989898|1|9999038450|MR|Test|E|Lead 38450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038451|138451|989898|1|9999038451|MR|Test|E|Lead 38451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038452|138452|989898|1|9999038452|MR|Test|E|Lead 38452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038453|138453|989898|1|9999038453|MR|Test|E|Lead 38453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038454|138454|989898|1|9999038454|MR|Test|E|Lead 38454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038455|138455|989898|1|9999038455|MR|Test|E|Lead 38455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038456|138456|989898|1|9999038456|MR|Test|E|Lead 38456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038457|138457|989898|1|9999038457|MR|Test|E|Lead 38457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038458|138458|989898|1|9999038458|MR|Test|E|Lead 38458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038459|138459|989898|1|9999038459|MR|Test|E|Lead 38459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038460|138460|989898|1|9999038460|MR|Test|E|Lead 38460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038461|138461|989898|1|9999038461|MR|Test|E|Lead 38461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038462|138462|989898|1|9999038462|MR|Test|E|Lead 38462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038463|138463|989898|1|9999038463|MR|Test|E|Lead 38463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038464|138464|989898|1|9999038464|MR|Test|E|Lead 38464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038465|138465|989898|1|9999038465|MR|Test|E|Lead 38465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038466|138466|989898|1|9999038466|MR|Test|E|Lead 38466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038467|138467|989898|1|9999038467|MR|Test|E|Lead 38467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038468|138468|989898|1|9999038468|MR|Test|E|Lead 38468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038469|138469|989898|1|9999038469|MR|Test|E|Lead 38469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038470|138470|989898|1|9999038470|MR|Test|E|Lead 38470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038471|138471|989898|1|9999038471|MR|Test|E|Lead 38471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038472|138472|989898|1|9999038472|MR|Test|E|Lead 38472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038473|138473|989898|1|9999038473|MR|Test|E|Lead 38473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038474|138474|989898|1|9999038474|MR|Test|E|Lead 38474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038475|138475|989898|1|9999038475|MR|Test|E|Lead 38475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038476|138476|989898|1|9999038476|MR|Test|E|Lead 38476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038477|138477|989898|1|9999038477|MR|Test|E|Lead 38477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038478|138478|989898|1|9999038478|MR|Test|E|Lead 38478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038479|138479|989898|1|9999038479|MR|Test|E|Lead 38479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038480|138480|989898|1|9999038480|MR|Test|E|Lead 38480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038481|138481|989898|1|9999038481|MR|Test|E|Lead 38481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038482|138482|989898|1|9999038482|MR|Test|E|Lead 38482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038483|138483|989898|1|9999038483|MR|Test|E|Lead 38483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038484|138484|989898|1|9999038484|MR|Test|E|Lead 38484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038485|138485|989898|1|9999038485|MR|Test|E|Lead 38485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038486|138486|989898|1|9999038486|MR|Test|E|Lead 38486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038487|138487|989898|1|9999038487|MR|Test|E|Lead 38487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038488|138488|989898|1|9999038488|MR|Test|E|Lead 38488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038489|138489|989898|1|9999038489|MR|Test|E|Lead 38489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038490|138490|989898|1|9999038490|MR|Test|E|Lead 38490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038491|138491|989898|1|9999038491|MR|Test|E|Lead 38491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038492|138492|989898|1|9999038492|MR|Test|E|Lead 38492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038493|138493|989898|1|9999038493|MR|Test|E|Lead 38493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038494|138494|989898|1|9999038494|MR|Test|E|Lead 38494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038495|138495|989898|1|9999038495|MR|Test|E|Lead 38495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038496|138496|989898|1|9999038496|MR|Test|E|Lead 38496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038497|138497|989898|1|9999038497|MR|Test|E|Lead 38497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038498|138498|989898|1|9999038498|MR|Test|E|Lead 38498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038499|138499|989898|1|9999038499|MR|Test|E|Lead 38499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038500|138500|989898|1|9999038500|MR|Test|E|Lead 38500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038501|138501|989898|1|9999038501|MR|Test|E|Lead 38501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038502|138502|989898|1|9999038502|MR|Test|E|Lead 38502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038503|138503|989898|1|9999038503|MR|Test|E|Lead 38503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038504|138504|989898|1|9999038504|MR|Test|E|Lead 38504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038505|138505|989898|1|9999038505|MR|Test|E|Lead 38505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038506|138506|989898|1|9999038506|MR|Test|E|Lead 38506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038507|138507|989898|1|9999038507|MR|Test|E|Lead 38507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038508|138508|989898|1|9999038508|MR|Test|E|Lead 38508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038509|138509|989898|1|9999038509|MR|Test|E|Lead 38509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038510|138510|989898|1|9999038510|MR|Test|E|Lead 38510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038511|138511|989898|1|9999038511|MR|Test|E|Lead 38511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038512|138512|989898|1|9999038512|MR|Test|E|Lead 38512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038513|138513|989898|1|9999038513|MR|Test|E|Lead 38513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038514|138514|989898|1|9999038514|MR|Test|E|Lead 38514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038515|138515|989898|1|9999038515|MR|Test|E|Lead 38515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038516|138516|989898|1|9999038516|MR|Test|E|Lead 38516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038517|138517|989898|1|9999038517|MR|Test|E|Lead 38517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038518|138518|989898|1|9999038518|MR|Test|E|Lead 38518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038519|138519|989898|1|9999038519|MR|Test|E|Lead 38519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038520|138520|989898|1|9999038520|MR|Test|E|Lead 38520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038521|138521|989898|1|9999038521|MR|Test|E|Lead 38521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038522|138522|989898|1|9999038522|MR|Test|E|Lead 38522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038523|138523|989898|1|9999038523|MR|Test|E|Lead 38523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038524|138524|989898|1|9999038524|MR|Test|E|Lead 38524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038525|138525|989898|1|9999038525|MR|Test|E|Lead 38525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038526|138526|989898|1|9999038526|MR|Test|E|Lead 38526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038527|138527|989898|1|9999038527|MR|Test|E|Lead 38527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038528|138528|989898|1|9999038528|MR|Test|E|Lead 38528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038529|138529|989898|1|9999038529|MR|Test|E|Lead 38529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038530|138530|989898|1|9999038530|MR|Test|E|Lead 38530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038531|138531|989898|1|9999038531|MR|Test|E|Lead 38531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038532|138532|989898|1|9999038532|MR|Test|E|Lead 38532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038533|138533|989898|1|9999038533|MR|Test|E|Lead 38533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038534|138534|989898|1|9999038534|MR|Test|E|Lead 38534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038535|138535|989898|1|9999038535|MR|Test|E|Lead 38535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038536|138536|989898|1|9999038536|MR|Test|E|Lead 38536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038537|138537|989898|1|9999038537|MR|Test|E|Lead 38537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038538|138538|989898|1|9999038538|MR|Test|E|Lead 38538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038539|138539|989898|1|9999038539|MR|Test|E|Lead 38539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038540|138540|989898|1|9999038540|MR|Test|E|Lead 38540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038541|138541|989898|1|9999038541|MR|Test|E|Lead 38541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038542|138542|989898|1|9999038542|MR|Test|E|Lead 38542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038543|138543|989898|1|9999038543|MR|Test|E|Lead 38543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038544|138544|989898|1|9999038544|MR|Test|E|Lead 38544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038545|138545|989898|1|9999038545|MR|Test|E|Lead 38545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038546|138546|989898|1|9999038546|MR|Test|E|Lead 38546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038547|138547|989898|1|9999038547|MR|Test|E|Lead 38547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038548|138548|989898|1|9999038548|MR|Test|E|Lead 38548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038549|138549|989898|1|9999038549|MR|Test|E|Lead 38549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038550|138550|989898|1|9999038550|MR|Test|E|Lead 38550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038551|138551|989898|1|9999038551|MR|Test|E|Lead 38551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038552|138552|989898|1|9999038552|MR|Test|E|Lead 38552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038553|138553|989898|1|9999038553|MR|Test|E|Lead 38553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038554|138554|989898|1|9999038554|MR|Test|E|Lead 38554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038555|138555|989898|1|9999038555|MR|Test|E|Lead 38555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038556|138556|989898|1|9999038556|MR|Test|E|Lead 38556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038557|138557|989898|1|9999038557|MR|Test|E|Lead 38557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038558|138558|989898|1|9999038558|MR|Test|E|Lead 38558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038559|138559|989898|1|9999038559|MR|Test|E|Lead 38559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038560|138560|989898|1|9999038560|MR|Test|E|Lead 38560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038561|138561|989898|1|9999038561|MR|Test|E|Lead 38561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038562|138562|989898|1|9999038562|MR|Test|E|Lead 38562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038563|138563|989898|1|9999038563|MR|Test|E|Lead 38563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038564|138564|989898|1|9999038564|MR|Test|E|Lead 38564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038565|138565|989898|1|9999038565|MR|Test|E|Lead 38565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038566|138566|989898|1|9999038566|MR|Test|E|Lead 38566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038567|138567|989898|1|9999038567|MR|Test|E|Lead 38567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038568|138568|989898|1|9999038568|MR|Test|E|Lead 38568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038569|138569|989898|1|9999038569|MR|Test|E|Lead 38569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038570|138570|989898|1|9999038570|MR|Test|E|Lead 38570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038571|138571|989898|1|9999038571|MR|Test|E|Lead 38571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038572|138572|989898|1|9999038572|MR|Test|E|Lead 38572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038573|138573|989898|1|9999038573|MR|Test|E|Lead 38573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038574|138574|989898|1|9999038574|MR|Test|E|Lead 38574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038575|138575|989898|1|9999038575|MR|Test|E|Lead 38575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038576|138576|989898|1|9999038576|MR|Test|E|Lead 38576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038577|138577|989898|1|9999038577|MR|Test|E|Lead 38577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038578|138578|989898|1|9999038578|MR|Test|E|Lead 38578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038579|138579|989898|1|9999038579|MR|Test|E|Lead 38579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038580|138580|989898|1|9999038580|MR|Test|E|Lead 38580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038581|138581|989898|1|9999038581|MR|Test|E|Lead 38581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038582|138582|989898|1|9999038582|MR|Test|E|Lead 38582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038583|138583|989898|1|9999038583|MR|Test|E|Lead 38583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038584|138584|989898|1|9999038584|MR|Test|E|Lead 38584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038585|138585|989898|1|9999038585|MR|Test|E|Lead 38585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038586|138586|989898|1|9999038586|MR|Test|E|Lead 38586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038587|138587|989898|1|9999038587|MR|Test|E|Lead 38587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038588|138588|989898|1|9999038588|MR|Test|E|Lead 38588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038589|138589|989898|1|9999038589|MR|Test|E|Lead 38589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038590|138590|989898|1|9999038590|MR|Test|E|Lead 38590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038591|138591|989898|1|9999038591|MR|Test|E|Lead 38591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038592|138592|989898|1|9999038592|MR|Test|E|Lead 38592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038593|138593|989898|1|9999038593|MR|Test|E|Lead 38593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038594|138594|989898|1|9999038594|MR|Test|E|Lead 38594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038595|138595|989898|1|9999038595|MR|Test|E|Lead 38595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038596|138596|989898|1|9999038596|MR|Test|E|Lead 38596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038597|138597|989898|1|9999038597|MR|Test|E|Lead 38597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038598|138598|989898|1|9999038598|MR|Test|E|Lead 38598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038599|138599|989898|1|9999038599|MR|Test|E|Lead 38599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038600|138600|989898|1|9999038600|MR|Test|E|Lead 38600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038601|138601|989898|1|9999038601|MR|Test|E|Lead 38601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038602|138602|989898|1|9999038602|MR|Test|E|Lead 38602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038603|138603|989898|1|9999038603|MR|Test|E|Lead 38603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038604|138604|989898|1|9999038604|MR|Test|E|Lead 38604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038605|138605|989898|1|9999038605|MR|Test|E|Lead 38605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038606|138606|989898|1|9999038606|MR|Test|E|Lead 38606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038607|138607|989898|1|9999038607|MR|Test|E|Lead 38607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038608|138608|989898|1|9999038608|MR|Test|E|Lead 38608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038609|138609|989898|1|9999038609|MR|Test|E|Lead 38609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038610|138610|989898|1|9999038610|MR|Test|E|Lead 38610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038611|138611|989898|1|9999038611|MR|Test|E|Lead 38611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038612|138612|989898|1|9999038612|MR|Test|E|Lead 38612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038613|138613|989898|1|9999038613|MR|Test|E|Lead 38613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038614|138614|989898|1|9999038614|MR|Test|E|Lead 38614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038615|138615|989898|1|9999038615|MR|Test|E|Lead 38615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038616|138616|989898|1|9999038616|MR|Test|E|Lead 38616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038617|138617|989898|1|9999038617|MR|Test|E|Lead 38617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038618|138618|989898|1|9999038618|MR|Test|E|Lead 38618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038619|138619|989898|1|9999038619|MR|Test|E|Lead 38619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038620|138620|989898|1|9999038620|MR|Test|E|Lead 38620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038621|138621|989898|1|9999038621|MR|Test|E|Lead 38621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038622|138622|989898|1|9999038622|MR|Test|E|Lead 38622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038623|138623|989898|1|9999038623|MR|Test|E|Lead 38623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038624|138624|989898|1|9999038624|MR|Test|E|Lead 38624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038625|138625|989898|1|9999038625|MR|Test|E|Lead 38625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038626|138626|989898|1|9999038626|MR|Test|E|Lead 38626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038627|138627|989898|1|9999038627|MR|Test|E|Lead 38627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038628|138628|989898|1|9999038628|MR|Test|E|Lead 38628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038629|138629|989898|1|9999038629|MR|Test|E|Lead 38629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038630|138630|989898|1|9999038630|MR|Test|E|Lead 38630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038631|138631|989898|1|9999038631|MR|Test|E|Lead 38631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038632|138632|989898|1|9999038632|MR|Test|E|Lead 38632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038633|138633|989898|1|9999038633|MR|Test|E|Lead 38633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038634|138634|989898|1|9999038634|MR|Test|E|Lead 38634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038635|138635|989898|1|9999038635|MR|Test|E|Lead 38635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038636|138636|989898|1|9999038636|MR|Test|E|Lead 38636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038637|138637|989898|1|9999038637|MR|Test|E|Lead 38637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038638|138638|989898|1|9999038638|MR|Test|E|Lead 38638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038639|138639|989898|1|9999038639|MR|Test|E|Lead 38639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038640|138640|989898|1|9999038640|MR|Test|E|Lead 38640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038641|138641|989898|1|9999038641|MR|Test|E|Lead 38641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038642|138642|989898|1|9999038642|MR|Test|E|Lead 38642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038643|138643|989898|1|9999038643|MR|Test|E|Lead 38643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038644|138644|989898|1|9999038644|MR|Test|E|Lead 38644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038645|138645|989898|1|9999038645|MR|Test|E|Lead 38645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038646|138646|989898|1|9999038646|MR|Test|E|Lead 38646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038647|138647|989898|1|9999038647|MR|Test|E|Lead 38647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038648|138648|989898|1|9999038648|MR|Test|E|Lead 38648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038649|138649|989898|1|9999038649|MR|Test|E|Lead 38649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038650|138650|989898|1|9999038650|MR|Test|E|Lead 38650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038651|138651|989898|1|9999038651|MR|Test|E|Lead 38651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038652|138652|989898|1|9999038652|MR|Test|E|Lead 38652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038653|138653|989898|1|9999038653|MR|Test|E|Lead 38653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038654|138654|989898|1|9999038654|MR|Test|E|Lead 38654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038655|138655|989898|1|9999038655|MR|Test|E|Lead 38655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038656|138656|989898|1|9999038656|MR|Test|E|Lead 38656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038657|138657|989898|1|9999038657|MR|Test|E|Lead 38657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038658|138658|989898|1|9999038658|MR|Test|E|Lead 38658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038659|138659|989898|1|9999038659|MR|Test|E|Lead 38659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038660|138660|989898|1|9999038660|MR|Test|E|Lead 38660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038661|138661|989898|1|9999038661|MR|Test|E|Lead 38661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038662|138662|989898|1|9999038662|MR|Test|E|Lead 38662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038663|138663|989898|1|9999038663|MR|Test|E|Lead 38663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038664|138664|989898|1|9999038664|MR|Test|E|Lead 38664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038665|138665|989898|1|9999038665|MR|Test|E|Lead 38665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038666|138666|989898|1|9999038666|MR|Test|E|Lead 38666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038667|138667|989898|1|9999038667|MR|Test|E|Lead 38667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038668|138668|989898|1|9999038668|MR|Test|E|Lead 38668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038669|138669|989898|1|9999038669|MR|Test|E|Lead 38669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038670|138670|989898|1|9999038670|MR|Test|E|Lead 38670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038671|138671|989898|1|9999038671|MR|Test|E|Lead 38671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038672|138672|989898|1|9999038672|MR|Test|E|Lead 38672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038673|138673|989898|1|9999038673|MR|Test|E|Lead 38673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038674|138674|989898|1|9999038674|MR|Test|E|Lead 38674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038675|138675|989898|1|9999038675|MR|Test|E|Lead 38675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038676|138676|989898|1|9999038676|MR|Test|E|Lead 38676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038677|138677|989898|1|9999038677|MR|Test|E|Lead 38677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038678|138678|989898|1|9999038678|MR|Test|E|Lead 38678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038679|138679|989898|1|9999038679|MR|Test|E|Lead 38679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038680|138680|989898|1|9999038680|MR|Test|E|Lead 38680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038681|138681|989898|1|9999038681|MR|Test|E|Lead 38681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038682|138682|989898|1|9999038682|MR|Test|E|Lead 38682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038683|138683|989898|1|9999038683|MR|Test|E|Lead 38683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038684|138684|989898|1|9999038684|MR|Test|E|Lead 38684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038685|138685|989898|1|9999038685|MR|Test|E|Lead 38685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038686|138686|989898|1|9999038686|MR|Test|E|Lead 38686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038687|138687|989898|1|9999038687|MR|Test|E|Lead 38687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038688|138688|989898|1|9999038688|MR|Test|E|Lead 38688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038689|138689|989898|1|9999038689|MR|Test|E|Lead 38689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038690|138690|989898|1|9999038690|MR|Test|E|Lead 38690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038691|138691|989898|1|9999038691|MR|Test|E|Lead 38691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038692|138692|989898|1|9999038692|MR|Test|E|Lead 38692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038693|138693|989898|1|9999038693|MR|Test|E|Lead 38693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038694|138694|989898|1|9999038694|MR|Test|E|Lead 38694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038695|138695|989898|1|9999038695|MR|Test|E|Lead 38695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038696|138696|989898|1|9999038696|MR|Test|E|Lead 38696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038697|138697|989898|1|9999038697|MR|Test|E|Lead 38697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038698|138698|989898|1|9999038698|MR|Test|E|Lead 38698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038699|138699|989898|1|9999038699|MR|Test|E|Lead 38699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038700|138700|989898|1|9999038700|MR|Test|E|Lead 38700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038701|138701|989898|1|9999038701|MR|Test|E|Lead 38701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038702|138702|989898|1|9999038702|MR|Test|E|Lead 38702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038703|138703|989898|1|9999038703|MR|Test|E|Lead 38703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038704|138704|989898|1|9999038704|MR|Test|E|Lead 38704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038705|138705|989898|1|9999038705|MR|Test|E|Lead 38705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038706|138706|989898|1|9999038706|MR|Test|E|Lead 38706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038707|138707|989898|1|9999038707|MR|Test|E|Lead 38707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038708|138708|989898|1|9999038708|MR|Test|E|Lead 38708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038709|138709|989898|1|9999038709|MR|Test|E|Lead 38709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038710|138710|989898|1|9999038710|MR|Test|E|Lead 38710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038711|138711|989898|1|9999038711|MR|Test|E|Lead 38711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038712|138712|989898|1|9999038712|MR|Test|E|Lead 38712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038713|138713|989898|1|9999038713|MR|Test|E|Lead 38713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038714|138714|989898|1|9999038714|MR|Test|E|Lead 38714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038715|138715|989898|1|9999038715|MR|Test|E|Lead 38715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038716|138716|989898|1|9999038716|MR|Test|E|Lead 38716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038717|138717|989898|1|9999038717|MR|Test|E|Lead 38717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038718|138718|989898|1|9999038718|MR|Test|E|Lead 38718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038719|138719|989898|1|9999038719|MR|Test|E|Lead 38719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038720|138720|989898|1|9999038720|MR|Test|E|Lead 38720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038721|138721|989898|1|9999038721|MR|Test|E|Lead 38721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038722|138722|989898|1|9999038722|MR|Test|E|Lead 38722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038723|138723|989898|1|9999038723|MR|Test|E|Lead 38723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038724|138724|989898|1|9999038724|MR|Test|E|Lead 38724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038725|138725|989898|1|9999038725|MR|Test|E|Lead 38725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038726|138726|989898|1|9999038726|MR|Test|E|Lead 38726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038727|138727|989898|1|9999038727|MR|Test|E|Lead 38727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038728|138728|989898|1|9999038728|MR|Test|E|Lead 38728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038729|138729|989898|1|9999038729|MR|Test|E|Lead 38729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038730|138730|989898|1|9999038730|MR|Test|E|Lead 38730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038731|138731|989898|1|9999038731|MR|Test|E|Lead 38731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038732|138732|989898|1|9999038732|MR|Test|E|Lead 38732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038733|138733|989898|1|9999038733|MR|Test|E|Lead 38733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038734|138734|989898|1|9999038734|MR|Test|E|Lead 38734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038735|138735|989898|1|9999038735|MR|Test|E|Lead 38735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038736|138736|989898|1|9999038736|MR|Test|E|Lead 38736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038737|138737|989898|1|9999038737|MR|Test|E|Lead 38737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038738|138738|989898|1|9999038738|MR|Test|E|Lead 38738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038739|138739|989898|1|9999038739|MR|Test|E|Lead 38739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038740|138740|989898|1|9999038740|MR|Test|E|Lead 38740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038741|138741|989898|1|9999038741|MR|Test|E|Lead 38741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038742|138742|989898|1|9999038742|MR|Test|E|Lead 38742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038743|138743|989898|1|9999038743|MR|Test|E|Lead 38743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038744|138744|989898|1|9999038744|MR|Test|E|Lead 38744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038745|138745|989898|1|9999038745|MR|Test|E|Lead 38745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038746|138746|989898|1|9999038746|MR|Test|E|Lead 38746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038747|138747|989898|1|9999038747|MR|Test|E|Lead 38747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038748|138748|989898|1|9999038748|MR|Test|E|Lead 38748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038749|138749|989898|1|9999038749|MR|Test|E|Lead 38749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038750|138750|989898|1|9999038750|MR|Test|E|Lead 38750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038751|138751|989898|1|9999038751|MR|Test|E|Lead 38751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038752|138752|989898|1|9999038752|MR|Test|E|Lead 38752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038753|138753|989898|1|9999038753|MR|Test|E|Lead 38753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038754|138754|989898|1|9999038754|MR|Test|E|Lead 38754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038755|138755|989898|1|9999038755|MR|Test|E|Lead 38755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038756|138756|989898|1|9999038756|MR|Test|E|Lead 38756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038757|138757|989898|1|9999038757|MR|Test|E|Lead 38757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038758|138758|989898|1|9999038758|MR|Test|E|Lead 38758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038759|138759|989898|1|9999038759|MR|Test|E|Lead 38759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038760|138760|989898|1|9999038760|MR|Test|E|Lead 38760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038761|138761|989898|1|9999038761|MR|Test|E|Lead 38761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038762|138762|989898|1|9999038762|MR|Test|E|Lead 38762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038763|138763|989898|1|9999038763|MR|Test|E|Lead 38763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038764|138764|989898|1|9999038764|MR|Test|E|Lead 38764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038765|138765|989898|1|9999038765|MR|Test|E|Lead 38765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038766|138766|989898|1|9999038766|MR|Test|E|Lead 38766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038767|138767|989898|1|9999038767|MR|Test|E|Lead 38767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038768|138768|989898|1|9999038768|MR|Test|E|Lead 38768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038769|138769|989898|1|9999038769|MR|Test|E|Lead 38769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038770|138770|989898|1|9999038770|MR|Test|E|Lead 38770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038771|138771|989898|1|9999038771|MR|Test|E|Lead 38771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038772|138772|989898|1|9999038772|MR|Test|E|Lead 38772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038773|138773|989898|1|9999038773|MR|Test|E|Lead 38773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038774|138774|989898|1|9999038774|MR|Test|E|Lead 38774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038775|138775|989898|1|9999038775|MR|Test|E|Lead 38775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038776|138776|989898|1|9999038776|MR|Test|E|Lead 38776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038777|138777|989898|1|9999038777|MR|Test|E|Lead 38777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038778|138778|989898|1|9999038778|MR|Test|E|Lead 38778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038779|138779|989898|1|9999038779|MR|Test|E|Lead 38779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038780|138780|989898|1|9999038780|MR|Test|E|Lead 38780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038781|138781|989898|1|9999038781|MR|Test|E|Lead 38781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038782|138782|989898|1|9999038782|MR|Test|E|Lead 38782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038783|138783|989898|1|9999038783|MR|Test|E|Lead 38783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038784|138784|989898|1|9999038784|MR|Test|E|Lead 38784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038785|138785|989898|1|9999038785|MR|Test|E|Lead 38785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038786|138786|989898|1|9999038786|MR|Test|E|Lead 38786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038787|138787|989898|1|9999038787|MR|Test|E|Lead 38787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038788|138788|989898|1|9999038788|MR|Test|E|Lead 38788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038789|138789|989898|1|9999038789|MR|Test|E|Lead 38789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038790|138790|989898|1|9999038790|MR|Test|E|Lead 38790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038791|138791|989898|1|9999038791|MR|Test|E|Lead 38791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038792|138792|989898|1|9999038792|MR|Test|E|Lead 38792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038793|138793|989898|1|9999038793|MR|Test|E|Lead 38793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038794|138794|989898|1|9999038794|MR|Test|E|Lead 38794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038795|138795|989898|1|9999038795|MR|Test|E|Lead 38795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038796|138796|989898|1|9999038796|MR|Test|E|Lead 38796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038797|138797|989898|1|9999038797|MR|Test|E|Lead 38797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038798|138798|989898|1|9999038798|MR|Test|E|Lead 38798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038799|138799|989898|1|9999038799|MR|Test|E|Lead 38799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038800|138800|989898|1|9999038800|MR|Test|E|Lead 38800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038801|138801|989898|1|9999038801|MR|Test|E|Lead 38801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038802|138802|989898|1|9999038802|MR|Test|E|Lead 38802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038803|138803|989898|1|9999038803|MR|Test|E|Lead 38803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038804|138804|989898|1|9999038804|MR|Test|E|Lead 38804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038805|138805|989898|1|9999038805|MR|Test|E|Lead 38805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038806|138806|989898|1|9999038806|MR|Test|E|Lead 38806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038807|138807|989898|1|9999038807|MR|Test|E|Lead 38807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038808|138808|989898|1|9999038808|MR|Test|E|Lead 38808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038809|138809|989898|1|9999038809|MR|Test|E|Lead 38809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038810|138810|989898|1|9999038810|MR|Test|E|Lead 38810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038811|138811|989898|1|9999038811|MR|Test|E|Lead 38811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038812|138812|989898|1|9999038812|MR|Test|E|Lead 38812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038813|138813|989898|1|9999038813|MR|Test|E|Lead 38813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038814|138814|989898|1|9999038814|MR|Test|E|Lead 38814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038815|138815|989898|1|9999038815|MR|Test|E|Lead 38815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038816|138816|989898|1|9999038816|MR|Test|E|Lead 38816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038817|138817|989898|1|9999038817|MR|Test|E|Lead 38817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038818|138818|989898|1|9999038818|MR|Test|E|Lead 38818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038819|138819|989898|1|9999038819|MR|Test|E|Lead 38819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038820|138820|989898|1|9999038820|MR|Test|E|Lead 38820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038821|138821|989898|1|9999038821|MR|Test|E|Lead 38821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038822|138822|989898|1|9999038822|MR|Test|E|Lead 38822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038823|138823|989898|1|9999038823|MR|Test|E|Lead 38823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038824|138824|989898|1|9999038824|MR|Test|E|Lead 38824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038825|138825|989898|1|9999038825|MR|Test|E|Lead 38825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038826|138826|989898|1|9999038826|MR|Test|E|Lead 38826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038827|138827|989898|1|9999038827|MR|Test|E|Lead 38827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038828|138828|989898|1|9999038828|MR|Test|E|Lead 38828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038829|138829|989898|1|9999038829|MR|Test|E|Lead 38829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038830|138830|989898|1|9999038830|MR|Test|E|Lead 38830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038831|138831|989898|1|9999038831|MR|Test|E|Lead 38831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038832|138832|989898|1|9999038832|MR|Test|E|Lead 38832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038833|138833|989898|1|9999038833|MR|Test|E|Lead 38833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038834|138834|989898|1|9999038834|MR|Test|E|Lead 38834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038835|138835|989898|1|9999038835|MR|Test|E|Lead 38835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038836|138836|989898|1|9999038836|MR|Test|E|Lead 38836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038837|138837|989898|1|9999038837|MR|Test|E|Lead 38837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038838|138838|989898|1|9999038838|MR|Test|E|Lead 38838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038839|138839|989898|1|9999038839|MR|Test|E|Lead 38839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038840|138840|989898|1|9999038840|MR|Test|E|Lead 38840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038841|138841|989898|1|9999038841|MR|Test|E|Lead 38841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038842|138842|989898|1|9999038842|MR|Test|E|Lead 38842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038843|138843|989898|1|9999038843|MR|Test|E|Lead 38843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038844|138844|989898|1|9999038844|MR|Test|E|Lead 38844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038845|138845|989898|1|9999038845|MR|Test|E|Lead 38845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038846|138846|989898|1|9999038846|MR|Test|E|Lead 38846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038847|138847|989898|1|9999038847|MR|Test|E|Lead 38847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038848|138848|989898|1|9999038848|MR|Test|E|Lead 38848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038849|138849|989898|1|9999038849|MR|Test|E|Lead 38849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038850|138850|989898|1|9999038850|MR|Test|E|Lead 38850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038851|138851|989898|1|9999038851|MR|Test|E|Lead 38851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038852|138852|989898|1|9999038852|MR|Test|E|Lead 38852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038853|138853|989898|1|9999038853|MR|Test|E|Lead 38853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038854|138854|989898|1|9999038854|MR|Test|E|Lead 38854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038855|138855|989898|1|9999038855|MR|Test|E|Lead 38855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038856|138856|989898|1|9999038856|MR|Test|E|Lead 38856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038857|138857|989898|1|9999038857|MR|Test|E|Lead 38857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038858|138858|989898|1|9999038858|MR|Test|E|Lead 38858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038859|138859|989898|1|9999038859|MR|Test|E|Lead 38859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038860|138860|989898|1|9999038860|MR|Test|E|Lead 38860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038861|138861|989898|1|9999038861|MR|Test|E|Lead 38861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038862|138862|989898|1|9999038862|MR|Test|E|Lead 38862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038863|138863|989898|1|9999038863|MR|Test|E|Lead 38863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038864|138864|989898|1|9999038864|MR|Test|E|Lead 38864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038865|138865|989898|1|9999038865|MR|Test|E|Lead 38865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038866|138866|989898|1|9999038866|MR|Test|E|Lead 38866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038867|138867|989898|1|9999038867|MR|Test|E|Lead 38867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038868|138868|989898|1|9999038868|MR|Test|E|Lead 38868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038869|138869|989898|1|9999038869|MR|Test|E|Lead 38869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038870|138870|989898|1|9999038870|MR|Test|E|Lead 38870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038871|138871|989898|1|9999038871|MR|Test|E|Lead 38871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038872|138872|989898|1|9999038872|MR|Test|E|Lead 38872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038873|138873|989898|1|9999038873|MR|Test|E|Lead 38873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038874|138874|989898|1|9999038874|MR|Test|E|Lead 38874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038875|138875|989898|1|9999038875|MR|Test|E|Lead 38875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038876|138876|989898|1|9999038876|MR|Test|E|Lead 38876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038877|138877|989898|1|9999038877|MR|Test|E|Lead 38877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038878|138878|989898|1|9999038878|MR|Test|E|Lead 38878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038879|138879|989898|1|9999038879|MR|Test|E|Lead 38879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038880|138880|989898|1|9999038880|MR|Test|E|Lead 38880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038881|138881|989898|1|9999038881|MR|Test|E|Lead 38881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038882|138882|989898|1|9999038882|MR|Test|E|Lead 38882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038883|138883|989898|1|9999038883|MR|Test|E|Lead 38883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038884|138884|989898|1|9999038884|MR|Test|E|Lead 38884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038885|138885|989898|1|9999038885|MR|Test|E|Lead 38885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038886|138886|989898|1|9999038886|MR|Test|E|Lead 38886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038887|138887|989898|1|9999038887|MR|Test|E|Lead 38887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038888|138888|989898|1|9999038888|MR|Test|E|Lead 38888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038889|138889|989898|1|9999038889|MR|Test|E|Lead 38889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038890|138890|989898|1|9999038890|MR|Test|E|Lead 38890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038891|138891|989898|1|9999038891|MR|Test|E|Lead 38891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038892|138892|989898|1|9999038892|MR|Test|E|Lead 38892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038893|138893|989898|1|9999038893|MR|Test|E|Lead 38893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038894|138894|989898|1|9999038894|MR|Test|E|Lead 38894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038895|138895|989898|1|9999038895|MR|Test|E|Lead 38895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038896|138896|989898|1|9999038896|MR|Test|E|Lead 38896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038897|138897|989898|1|9999038897|MR|Test|E|Lead 38897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038898|138898|989898|1|9999038898|MR|Test|E|Lead 38898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038899|138899|989898|1|9999038899|MR|Test|E|Lead 38899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038900|138900|989898|1|9999038900|MR|Test|E|Lead 38900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038901|138901|989898|1|9999038901|MR|Test|E|Lead 38901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038902|138902|989898|1|9999038902|MR|Test|E|Lead 38902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038903|138903|989898|1|9999038903|MR|Test|E|Lead 38903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038904|138904|989898|1|9999038904|MR|Test|E|Lead 38904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038905|138905|989898|1|9999038905|MR|Test|E|Lead 38905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038906|138906|989898|1|9999038906|MR|Test|E|Lead 38906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038907|138907|989898|1|9999038907|MR|Test|E|Lead 38907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038908|138908|989898|1|9999038908|MR|Test|E|Lead 38908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038909|138909|989898|1|9999038909|MR|Test|E|Lead 38909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038910|138910|989898|1|9999038910|MR|Test|E|Lead 38910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038911|138911|989898|1|9999038911|MR|Test|E|Lead 38911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038912|138912|989898|1|9999038912|MR|Test|E|Lead 38912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038913|138913|989898|1|9999038913|MR|Test|E|Lead 38913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038914|138914|989898|1|9999038914|MR|Test|E|Lead 38914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038915|138915|989898|1|9999038915|MR|Test|E|Lead 38915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038916|138916|989898|1|9999038916|MR|Test|E|Lead 38916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038917|138917|989898|1|9999038917|MR|Test|E|Lead 38917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038918|138918|989898|1|9999038918|MR|Test|E|Lead 38918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038919|138919|989898|1|9999038919|MR|Test|E|Lead 38919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038920|138920|989898|1|9999038920|MR|Test|E|Lead 38920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038921|138921|989898|1|9999038921|MR|Test|E|Lead 38921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038922|138922|989898|1|9999038922|MR|Test|E|Lead 38922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038923|138923|989898|1|9999038923|MR|Test|E|Lead 38923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038924|138924|989898|1|9999038924|MR|Test|E|Lead 38924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038925|138925|989898|1|9999038925|MR|Test|E|Lead 38925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038926|138926|989898|1|9999038926|MR|Test|E|Lead 38926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038927|138927|989898|1|9999038927|MR|Test|E|Lead 38927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038928|138928|989898|1|9999038928|MR|Test|E|Lead 38928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038929|138929|989898|1|9999038929|MR|Test|E|Lead 38929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038930|138930|989898|1|9999038930|MR|Test|E|Lead 38930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038931|138931|989898|1|9999038931|MR|Test|E|Lead 38931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038932|138932|989898|1|9999038932|MR|Test|E|Lead 38932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038933|138933|989898|1|9999038933|MR|Test|E|Lead 38933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038934|138934|989898|1|9999038934|MR|Test|E|Lead 38934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038935|138935|989898|1|9999038935|MR|Test|E|Lead 38935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038936|138936|989898|1|9999038936|MR|Test|E|Lead 38936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038937|138937|989898|1|9999038937|MR|Test|E|Lead 38937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038938|138938|989898|1|9999038938|MR|Test|E|Lead 38938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038939|138939|989898|1|9999038939|MR|Test|E|Lead 38939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038940|138940|989898|1|9999038940|MR|Test|E|Lead 38940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038941|138941|989898|1|9999038941|MR|Test|E|Lead 38941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038942|138942|989898|1|9999038942|MR|Test|E|Lead 38942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038943|138943|989898|1|9999038943|MR|Test|E|Lead 38943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038944|138944|989898|1|9999038944|MR|Test|E|Lead 38944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038945|138945|989898|1|9999038945|MR|Test|E|Lead 38945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038946|138946|989898|1|9999038946|MR|Test|E|Lead 38946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038947|138947|989898|1|9999038947|MR|Test|E|Lead 38947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038948|138948|989898|1|9999038948|MR|Test|E|Lead 38948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038949|138949|989898|1|9999038949|MR|Test|E|Lead 38949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038950|138950|989898|1|9999038950|MR|Test|E|Lead 38950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038951|138951|989898|1|9999038951|MR|Test|E|Lead 38951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038952|138952|989898|1|9999038952|MR|Test|E|Lead 38952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038953|138953|989898|1|9999038953|MR|Test|E|Lead 38953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038954|138954|989898|1|9999038954|MR|Test|E|Lead 38954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038955|138955|989898|1|9999038955|MR|Test|E|Lead 38955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038956|138956|989898|1|9999038956|MR|Test|E|Lead 38956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038957|138957|989898|1|9999038957|MR|Test|E|Lead 38957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038958|138958|989898|1|9999038958|MR|Test|E|Lead 38958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038959|138959|989898|1|9999038959|MR|Test|E|Lead 38959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038960|138960|989898|1|9999038960|MR|Test|E|Lead 38960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038961|138961|989898|1|9999038961|MR|Test|E|Lead 38961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038962|138962|989898|1|9999038962|MR|Test|E|Lead 38962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038963|138963|989898|1|9999038963|MR|Test|E|Lead 38963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038964|138964|989898|1|9999038964|MR|Test|E|Lead 38964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038965|138965|989898|1|9999038965|MR|Test|E|Lead 38965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038966|138966|989898|1|9999038966|MR|Test|E|Lead 38966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038967|138967|989898|1|9999038967|MR|Test|E|Lead 38967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038968|138968|989898|1|9999038968|MR|Test|E|Lead 38968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038969|138969|989898|1|9999038969|MR|Test|E|Lead 38969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038970|138970|989898|1|9999038970|MR|Test|E|Lead 38970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038971|138971|989898|1|9999038971|MR|Test|E|Lead 38971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038972|138972|989898|1|9999038972|MR|Test|E|Lead 38972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038973|138973|989898|1|9999038973|MR|Test|E|Lead 38973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038974|138974|989898|1|9999038974|MR|Test|E|Lead 38974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038975|138975|989898|1|9999038975|MR|Test|E|Lead 38975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038976|138976|989898|1|9999038976|MR|Test|E|Lead 38976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038977|138977|989898|1|9999038977|MR|Test|E|Lead 38977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038978|138978|989898|1|9999038978|MR|Test|E|Lead 38978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038979|138979|989898|1|9999038979|MR|Test|E|Lead 38979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038980|138980|989898|1|9999038980|MR|Test|E|Lead 38980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038981|138981|989898|1|9999038981|MR|Test|E|Lead 38981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038982|138982|989898|1|9999038982|MR|Test|E|Lead 38982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038983|138983|989898|1|9999038983|MR|Test|E|Lead 38983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038984|138984|989898|1|9999038984|MR|Test|E|Lead 38984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038985|138985|989898|1|9999038985|MR|Test|E|Lead 38985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038986|138986|989898|1|9999038986|MR|Test|E|Lead 38986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038987|138987|989898|1|9999038987|MR|Test|E|Lead 38987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038988|138988|989898|1|9999038988|MR|Test|E|Lead 38988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038989|138989|989898|1|9999038989|MR|Test|E|Lead 38989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038990|138990|989898|1|9999038990|MR|Test|E|Lead 38990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038991|138991|989898|1|9999038991|MR|Test|E|Lead 38991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038992|138992|989898|1|9999038992|MR|Test|E|Lead 38992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038993|138993|989898|1|9999038993|MR|Test|E|Lead 38993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038994|138994|989898|1|9999038994|MR|Test|E|Lead 38994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038995|138995|989898|1|9999038995|MR|Test|E|Lead 38995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038996|138996|989898|1|9999038996|MR|Test|E|Lead 38996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038997|138997|989898|1|9999038997|MR|Test|E|Lead 38997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038998|138998|989898|1|9999038998|MR|Test|E|Lead 38998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1038999|138999|989898|1|9999038999|MR|Test|E|Lead 38999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039000|139000|989898|1|9999039000|MR|Test|E|Lead 39000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039001|139001|989898|1|9999039001|MR|Test|E|Lead 39001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039002|139002|989898|1|9999039002|MR|Test|E|Lead 39002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039003|139003|989898|1|9999039003|MR|Test|E|Lead 39003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039004|139004|989898|1|9999039004|MR|Test|E|Lead 39004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039005|139005|989898|1|9999039005|MR|Test|E|Lead 39005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039006|139006|989898|1|9999039006|MR|Test|E|Lead 39006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039007|139007|989898|1|9999039007|MR|Test|E|Lead 39007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039008|139008|989898|1|9999039008|MR|Test|E|Lead 39008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039009|139009|989898|1|9999039009|MR|Test|E|Lead 39009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039010|139010|989898|1|9999039010|MR|Test|E|Lead 39010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039011|139011|989898|1|9999039011|MR|Test|E|Lead 39011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039012|139012|989898|1|9999039012|MR|Test|E|Lead 39012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039013|139013|989898|1|9999039013|MR|Test|E|Lead 39013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039014|139014|989898|1|9999039014|MR|Test|E|Lead 39014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039015|139015|989898|1|9999039015|MR|Test|E|Lead 39015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039016|139016|989898|1|9999039016|MR|Test|E|Lead 39016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039017|139017|989898|1|9999039017|MR|Test|E|Lead 39017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039018|139018|989898|1|9999039018|MR|Test|E|Lead 39018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039019|139019|989898|1|9999039019|MR|Test|E|Lead 39019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039020|139020|989898|1|9999039020|MR|Test|E|Lead 39020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039021|139021|989898|1|9999039021|MR|Test|E|Lead 39021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039022|139022|989898|1|9999039022|MR|Test|E|Lead 39022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039023|139023|989898|1|9999039023|MR|Test|E|Lead 39023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039024|139024|989898|1|9999039024|MR|Test|E|Lead 39024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039025|139025|989898|1|9999039025|MR|Test|E|Lead 39025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039026|139026|989898|1|9999039026|MR|Test|E|Lead 39026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039027|139027|989898|1|9999039027|MR|Test|E|Lead 39027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039028|139028|989898|1|9999039028|MR|Test|E|Lead 39028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039029|139029|989898|1|9999039029|MR|Test|E|Lead 39029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039030|139030|989898|1|9999039030|MR|Test|E|Lead 39030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039031|139031|989898|1|9999039031|MR|Test|E|Lead 39031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039032|139032|989898|1|9999039032|MR|Test|E|Lead 39032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039033|139033|989898|1|9999039033|MR|Test|E|Lead 39033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039034|139034|989898|1|9999039034|MR|Test|E|Lead 39034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039035|139035|989898|1|9999039035|MR|Test|E|Lead 39035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039036|139036|989898|1|9999039036|MR|Test|E|Lead 39036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039037|139037|989898|1|9999039037|MR|Test|E|Lead 39037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039038|139038|989898|1|9999039038|MR|Test|E|Lead 39038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039039|139039|989898|1|9999039039|MR|Test|E|Lead 39039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039040|139040|989898|1|9999039040|MR|Test|E|Lead 39040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039041|139041|989898|1|9999039041|MR|Test|E|Lead 39041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039042|139042|989898|1|9999039042|MR|Test|E|Lead 39042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039043|139043|989898|1|9999039043|MR|Test|E|Lead 39043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039044|139044|989898|1|9999039044|MR|Test|E|Lead 39044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039045|139045|989898|1|9999039045|MR|Test|E|Lead 39045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039046|139046|989898|1|9999039046|MR|Test|E|Lead 39046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039047|139047|989898|1|9999039047|MR|Test|E|Lead 39047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039048|139048|989898|1|9999039048|MR|Test|E|Lead 39048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039049|139049|989898|1|9999039049|MR|Test|E|Lead 39049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039050|139050|989898|1|9999039050|MR|Test|E|Lead 39050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039051|139051|989898|1|9999039051|MR|Test|E|Lead 39051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039052|139052|989898|1|9999039052|MR|Test|E|Lead 39052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039053|139053|989898|1|9999039053|MR|Test|E|Lead 39053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039054|139054|989898|1|9999039054|MR|Test|E|Lead 39054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039055|139055|989898|1|9999039055|MR|Test|E|Lead 39055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039056|139056|989898|1|9999039056|MR|Test|E|Lead 39056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039057|139057|989898|1|9999039057|MR|Test|E|Lead 39057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039058|139058|989898|1|9999039058|MR|Test|E|Lead 39058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039059|139059|989898|1|9999039059|MR|Test|E|Lead 39059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039060|139060|989898|1|9999039060|MR|Test|E|Lead 39060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039061|139061|989898|1|9999039061|MR|Test|E|Lead 39061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039062|139062|989898|1|9999039062|MR|Test|E|Lead 39062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039063|139063|989898|1|9999039063|MR|Test|E|Lead 39063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039064|139064|989898|1|9999039064|MR|Test|E|Lead 39064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039065|139065|989898|1|9999039065|MR|Test|E|Lead 39065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039066|139066|989898|1|9999039066|MR|Test|E|Lead 39066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039067|139067|989898|1|9999039067|MR|Test|E|Lead 39067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039068|139068|989898|1|9999039068|MR|Test|E|Lead 39068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039069|139069|989898|1|9999039069|MR|Test|E|Lead 39069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039070|139070|989898|1|9999039070|MR|Test|E|Lead 39070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039071|139071|989898|1|9999039071|MR|Test|E|Lead 39071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039072|139072|989898|1|9999039072|MR|Test|E|Lead 39072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039073|139073|989898|1|9999039073|MR|Test|E|Lead 39073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039074|139074|989898|1|9999039074|MR|Test|E|Lead 39074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039075|139075|989898|1|9999039075|MR|Test|E|Lead 39075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039076|139076|989898|1|9999039076|MR|Test|E|Lead 39076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039077|139077|989898|1|9999039077|MR|Test|E|Lead 39077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039078|139078|989898|1|9999039078|MR|Test|E|Lead 39078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039079|139079|989898|1|9999039079|MR|Test|E|Lead 39079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039080|139080|989898|1|9999039080|MR|Test|E|Lead 39080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039081|139081|989898|1|9999039081|MR|Test|E|Lead 39081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039082|139082|989898|1|9999039082|MR|Test|E|Lead 39082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039083|139083|989898|1|9999039083|MR|Test|E|Lead 39083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039084|139084|989898|1|9999039084|MR|Test|E|Lead 39084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039085|139085|989898|1|9999039085|MR|Test|E|Lead 39085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039086|139086|989898|1|9999039086|MR|Test|E|Lead 39086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039087|139087|989898|1|9999039087|MR|Test|E|Lead 39087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039088|139088|989898|1|9999039088|MR|Test|E|Lead 39088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039089|139089|989898|1|9999039089|MR|Test|E|Lead 39089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039090|139090|989898|1|9999039090|MR|Test|E|Lead 39090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039091|139091|989898|1|9999039091|MR|Test|E|Lead 39091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039092|139092|989898|1|9999039092|MR|Test|E|Lead 39092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039093|139093|989898|1|9999039093|MR|Test|E|Lead 39093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039094|139094|989898|1|9999039094|MR|Test|E|Lead 39094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039095|139095|989898|1|9999039095|MR|Test|E|Lead 39095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039096|139096|989898|1|9999039096|MR|Test|E|Lead 39096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039097|139097|989898|1|9999039097|MR|Test|E|Lead 39097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039098|139098|989898|1|9999039098|MR|Test|E|Lead 39098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039099|139099|989898|1|9999039099|MR|Test|E|Lead 39099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039100|139100|989898|1|9999039100|MR|Test|E|Lead 39100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039101|139101|989898|1|9999039101|MR|Test|E|Lead 39101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039102|139102|989898|1|9999039102|MR|Test|E|Lead 39102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039103|139103|989898|1|9999039103|MR|Test|E|Lead 39103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039104|139104|989898|1|9999039104|MR|Test|E|Lead 39104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039105|139105|989898|1|9999039105|MR|Test|E|Lead 39105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039106|139106|989898|1|9999039106|MR|Test|E|Lead 39106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039107|139107|989898|1|9999039107|MR|Test|E|Lead 39107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039108|139108|989898|1|9999039108|MR|Test|E|Lead 39108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039109|139109|989898|1|9999039109|MR|Test|E|Lead 39109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039110|139110|989898|1|9999039110|MR|Test|E|Lead 39110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039111|139111|989898|1|9999039111|MR|Test|E|Lead 39111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039112|139112|989898|1|9999039112|MR|Test|E|Lead 39112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039113|139113|989898|1|9999039113|MR|Test|E|Lead 39113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039114|139114|989898|1|9999039114|MR|Test|E|Lead 39114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039115|139115|989898|1|9999039115|MR|Test|E|Lead 39115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039116|139116|989898|1|9999039116|MR|Test|E|Lead 39116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039117|139117|989898|1|9999039117|MR|Test|E|Lead 39117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039118|139118|989898|1|9999039118|MR|Test|E|Lead 39118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039119|139119|989898|1|9999039119|MR|Test|E|Lead 39119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039120|139120|989898|1|9999039120|MR|Test|E|Lead 39120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039121|139121|989898|1|9999039121|MR|Test|E|Lead 39121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039122|139122|989898|1|9999039122|MR|Test|E|Lead 39122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039123|139123|989898|1|9999039123|MR|Test|E|Lead 39123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039124|139124|989898|1|9999039124|MR|Test|E|Lead 39124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039125|139125|989898|1|9999039125|MR|Test|E|Lead 39125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039126|139126|989898|1|9999039126|MR|Test|E|Lead 39126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039127|139127|989898|1|9999039127|MR|Test|E|Lead 39127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039128|139128|989898|1|9999039128|MR|Test|E|Lead 39128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039129|139129|989898|1|9999039129|MR|Test|E|Lead 39129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039130|139130|989898|1|9999039130|MR|Test|E|Lead 39130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039131|139131|989898|1|9999039131|MR|Test|E|Lead 39131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039132|139132|989898|1|9999039132|MR|Test|E|Lead 39132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039133|139133|989898|1|9999039133|MR|Test|E|Lead 39133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039134|139134|989898|1|9999039134|MR|Test|E|Lead 39134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039135|139135|989898|1|9999039135|MR|Test|E|Lead 39135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039136|139136|989898|1|9999039136|MR|Test|E|Lead 39136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039137|139137|989898|1|9999039137|MR|Test|E|Lead 39137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039138|139138|989898|1|9999039138|MR|Test|E|Lead 39138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039139|139139|989898|1|9999039139|MR|Test|E|Lead 39139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039140|139140|989898|1|9999039140|MR|Test|E|Lead 39140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039141|139141|989898|1|9999039141|MR|Test|E|Lead 39141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039142|139142|989898|1|9999039142|MR|Test|E|Lead 39142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039143|139143|989898|1|9999039143|MR|Test|E|Lead 39143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039144|139144|989898|1|9999039144|MR|Test|E|Lead 39144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039145|139145|989898|1|9999039145|MR|Test|E|Lead 39145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039146|139146|989898|1|9999039146|MR|Test|E|Lead 39146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039147|139147|989898|1|9999039147|MR|Test|E|Lead 39147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039148|139148|989898|1|9999039148|MR|Test|E|Lead 39148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039149|139149|989898|1|9999039149|MR|Test|E|Lead 39149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039150|139150|989898|1|9999039150|MR|Test|E|Lead 39150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039151|139151|989898|1|9999039151|MR|Test|E|Lead 39151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039152|139152|989898|1|9999039152|MR|Test|E|Lead 39152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039153|139153|989898|1|9999039153|MR|Test|E|Lead 39153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039154|139154|989898|1|9999039154|MR|Test|E|Lead 39154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039155|139155|989898|1|9999039155|MR|Test|E|Lead 39155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039156|139156|989898|1|9999039156|MR|Test|E|Lead 39156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039157|139157|989898|1|9999039157|MR|Test|E|Lead 39157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039158|139158|989898|1|9999039158|MR|Test|E|Lead 39158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039159|139159|989898|1|9999039159|MR|Test|E|Lead 39159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039160|139160|989898|1|9999039160|MR|Test|E|Lead 39160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039161|139161|989898|1|9999039161|MR|Test|E|Lead 39161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039162|139162|989898|1|9999039162|MR|Test|E|Lead 39162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039163|139163|989898|1|9999039163|MR|Test|E|Lead 39163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039164|139164|989898|1|9999039164|MR|Test|E|Lead 39164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039165|139165|989898|1|9999039165|MR|Test|E|Lead 39165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039166|139166|989898|1|9999039166|MR|Test|E|Lead 39166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039167|139167|989898|1|9999039167|MR|Test|E|Lead 39167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039168|139168|989898|1|9999039168|MR|Test|E|Lead 39168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039169|139169|989898|1|9999039169|MR|Test|E|Lead 39169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039170|139170|989898|1|9999039170|MR|Test|E|Lead 39170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039171|139171|989898|1|9999039171|MR|Test|E|Lead 39171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039172|139172|989898|1|9999039172|MR|Test|E|Lead 39172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039173|139173|989898|1|9999039173|MR|Test|E|Lead 39173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039174|139174|989898|1|9999039174|MR|Test|E|Lead 39174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039175|139175|989898|1|9999039175|MR|Test|E|Lead 39175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039176|139176|989898|1|9999039176|MR|Test|E|Lead 39176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039177|139177|989898|1|9999039177|MR|Test|E|Lead 39177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039178|139178|989898|1|9999039178|MR|Test|E|Lead 39178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039179|139179|989898|1|9999039179|MR|Test|E|Lead 39179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039180|139180|989898|1|9999039180|MR|Test|E|Lead 39180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039181|139181|989898|1|9999039181|MR|Test|E|Lead 39181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039182|139182|989898|1|9999039182|MR|Test|E|Lead 39182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039183|139183|989898|1|9999039183|MR|Test|E|Lead 39183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039184|139184|989898|1|9999039184|MR|Test|E|Lead 39184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039185|139185|989898|1|9999039185|MR|Test|E|Lead 39185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039186|139186|989898|1|9999039186|MR|Test|E|Lead 39186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039187|139187|989898|1|9999039187|MR|Test|E|Lead 39187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039188|139188|989898|1|9999039188|MR|Test|E|Lead 39188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039189|139189|989898|1|9999039189|MR|Test|E|Lead 39189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039190|139190|989898|1|9999039190|MR|Test|E|Lead 39190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039191|139191|989898|1|9999039191|MR|Test|E|Lead 39191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039192|139192|989898|1|9999039192|MR|Test|E|Lead 39192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039193|139193|989898|1|9999039193|MR|Test|E|Lead 39193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039194|139194|989898|1|9999039194|MR|Test|E|Lead 39194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039195|139195|989898|1|9999039195|MR|Test|E|Lead 39195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039196|139196|989898|1|9999039196|MR|Test|E|Lead 39196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039197|139197|989898|1|9999039197|MR|Test|E|Lead 39197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039198|139198|989898|1|9999039198|MR|Test|E|Lead 39198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039199|139199|989898|1|9999039199|MR|Test|E|Lead 39199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039200|139200|989898|1|9999039200|MR|Test|E|Lead 39200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039201|139201|989898|1|9999039201|MR|Test|E|Lead 39201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039202|139202|989898|1|9999039202|MR|Test|E|Lead 39202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039203|139203|989898|1|9999039203|MR|Test|E|Lead 39203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039204|139204|989898|1|9999039204|MR|Test|E|Lead 39204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039205|139205|989898|1|9999039205|MR|Test|E|Lead 39205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039206|139206|989898|1|9999039206|MR|Test|E|Lead 39206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039207|139207|989898|1|9999039207|MR|Test|E|Lead 39207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039208|139208|989898|1|9999039208|MR|Test|E|Lead 39208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039209|139209|989898|1|9999039209|MR|Test|E|Lead 39209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039210|139210|989898|1|9999039210|MR|Test|E|Lead 39210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039211|139211|989898|1|9999039211|MR|Test|E|Lead 39211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039212|139212|989898|1|9999039212|MR|Test|E|Lead 39212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039213|139213|989898|1|9999039213|MR|Test|E|Lead 39213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039214|139214|989898|1|9999039214|MR|Test|E|Lead 39214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039215|139215|989898|1|9999039215|MR|Test|E|Lead 39215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039216|139216|989898|1|9999039216|MR|Test|E|Lead 39216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039217|139217|989898|1|9999039217|MR|Test|E|Lead 39217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039218|139218|989898|1|9999039218|MR|Test|E|Lead 39218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039219|139219|989898|1|9999039219|MR|Test|E|Lead 39219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039220|139220|989898|1|9999039220|MR|Test|E|Lead 39220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039221|139221|989898|1|9999039221|MR|Test|E|Lead 39221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039222|139222|989898|1|9999039222|MR|Test|E|Lead 39222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039223|139223|989898|1|9999039223|MR|Test|E|Lead 39223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039224|139224|989898|1|9999039224|MR|Test|E|Lead 39224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039225|139225|989898|1|9999039225|MR|Test|E|Lead 39225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039226|139226|989898|1|9999039226|MR|Test|E|Lead 39226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039227|139227|989898|1|9999039227|MR|Test|E|Lead 39227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039228|139228|989898|1|9999039228|MR|Test|E|Lead 39228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039229|139229|989898|1|9999039229|MR|Test|E|Lead 39229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039230|139230|989898|1|9999039230|MR|Test|E|Lead 39230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039231|139231|989898|1|9999039231|MR|Test|E|Lead 39231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039232|139232|989898|1|9999039232|MR|Test|E|Lead 39232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039233|139233|989898|1|9999039233|MR|Test|E|Lead 39233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039234|139234|989898|1|9999039234|MR|Test|E|Lead 39234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039235|139235|989898|1|9999039235|MR|Test|E|Lead 39235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039236|139236|989898|1|9999039236|MR|Test|E|Lead 39236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039237|139237|989898|1|9999039237|MR|Test|E|Lead 39237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039238|139238|989898|1|9999039238|MR|Test|E|Lead 39238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039239|139239|989898|1|9999039239|MR|Test|E|Lead 39239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039240|139240|989898|1|9999039240|MR|Test|E|Lead 39240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039241|139241|989898|1|9999039241|MR|Test|E|Lead 39241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039242|139242|989898|1|9999039242|MR|Test|E|Lead 39242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039243|139243|989898|1|9999039243|MR|Test|E|Lead 39243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039244|139244|989898|1|9999039244|MR|Test|E|Lead 39244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039245|139245|989898|1|9999039245|MR|Test|E|Lead 39245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039246|139246|989898|1|9999039246|MR|Test|E|Lead 39246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039247|139247|989898|1|9999039247|MR|Test|E|Lead 39247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039248|139248|989898|1|9999039248|MR|Test|E|Lead 39248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039249|139249|989898|1|9999039249|MR|Test|E|Lead 39249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039250|139250|989898|1|9999039250|MR|Test|E|Lead 39250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039251|139251|989898|1|9999039251|MR|Test|E|Lead 39251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039252|139252|989898|1|9999039252|MR|Test|E|Lead 39252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039253|139253|989898|1|9999039253|MR|Test|E|Lead 39253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039254|139254|989898|1|9999039254|MR|Test|E|Lead 39254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039255|139255|989898|1|9999039255|MR|Test|E|Lead 39255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039256|139256|989898|1|9999039256|MR|Test|E|Lead 39256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039257|139257|989898|1|9999039257|MR|Test|E|Lead 39257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039258|139258|989898|1|9999039258|MR|Test|E|Lead 39258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039259|139259|989898|1|9999039259|MR|Test|E|Lead 39259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039260|139260|989898|1|9999039260|MR|Test|E|Lead 39260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039261|139261|989898|1|9999039261|MR|Test|E|Lead 39261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039262|139262|989898|1|9999039262|MR|Test|E|Lead 39262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039263|139263|989898|1|9999039263|MR|Test|E|Lead 39263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039264|139264|989898|1|9999039264|MR|Test|E|Lead 39264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039265|139265|989898|1|9999039265|MR|Test|E|Lead 39265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039266|139266|989898|1|9999039266|MR|Test|E|Lead 39266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039267|139267|989898|1|9999039267|MR|Test|E|Lead 39267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039268|139268|989898|1|9999039268|MR|Test|E|Lead 39268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039269|139269|989898|1|9999039269|MR|Test|E|Lead 39269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039270|139270|989898|1|9999039270|MR|Test|E|Lead 39270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039271|139271|989898|1|9999039271|MR|Test|E|Lead 39271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039272|139272|989898|1|9999039272|MR|Test|E|Lead 39272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039273|139273|989898|1|9999039273|MR|Test|E|Lead 39273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039274|139274|989898|1|9999039274|MR|Test|E|Lead 39274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039275|139275|989898|1|9999039275|MR|Test|E|Lead 39275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039276|139276|989898|1|9999039276|MR|Test|E|Lead 39276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039277|139277|989898|1|9999039277|MR|Test|E|Lead 39277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039278|139278|989898|1|9999039278|MR|Test|E|Lead 39278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039279|139279|989898|1|9999039279|MR|Test|E|Lead 39279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039280|139280|989898|1|9999039280|MR|Test|E|Lead 39280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039281|139281|989898|1|9999039281|MR|Test|E|Lead 39281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039282|139282|989898|1|9999039282|MR|Test|E|Lead 39282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039283|139283|989898|1|9999039283|MR|Test|E|Lead 39283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039284|139284|989898|1|9999039284|MR|Test|E|Lead 39284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039285|139285|989898|1|9999039285|MR|Test|E|Lead 39285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039286|139286|989898|1|9999039286|MR|Test|E|Lead 39286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039287|139287|989898|1|9999039287|MR|Test|E|Lead 39287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039288|139288|989898|1|9999039288|MR|Test|E|Lead 39288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039289|139289|989898|1|9999039289|MR|Test|E|Lead 39289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039290|139290|989898|1|9999039290|MR|Test|E|Lead 39290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039291|139291|989898|1|9999039291|MR|Test|E|Lead 39291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039292|139292|989898|1|9999039292|MR|Test|E|Lead 39292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039293|139293|989898|1|9999039293|MR|Test|E|Lead 39293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039294|139294|989898|1|9999039294|MR|Test|E|Lead 39294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039295|139295|989898|1|9999039295|MR|Test|E|Lead 39295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039296|139296|989898|1|9999039296|MR|Test|E|Lead 39296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039297|139297|989898|1|9999039297|MR|Test|E|Lead 39297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039298|139298|989898|1|9999039298|MR|Test|E|Lead 39298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039299|139299|989898|1|9999039299|MR|Test|E|Lead 39299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039300|139300|989898|1|9999039300|MR|Test|E|Lead 39300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039301|139301|989898|1|9999039301|MR|Test|E|Lead 39301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039302|139302|989898|1|9999039302|MR|Test|E|Lead 39302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039303|139303|989898|1|9999039303|MR|Test|E|Lead 39303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039304|139304|989898|1|9999039304|MR|Test|E|Lead 39304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039305|139305|989898|1|9999039305|MR|Test|E|Lead 39305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039306|139306|989898|1|9999039306|MR|Test|E|Lead 39306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039307|139307|989898|1|9999039307|MR|Test|E|Lead 39307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039308|139308|989898|1|9999039308|MR|Test|E|Lead 39308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039309|139309|989898|1|9999039309|MR|Test|E|Lead 39309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039310|139310|989898|1|9999039310|MR|Test|E|Lead 39310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039311|139311|989898|1|9999039311|MR|Test|E|Lead 39311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039312|139312|989898|1|9999039312|MR|Test|E|Lead 39312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039313|139313|989898|1|9999039313|MR|Test|E|Lead 39313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039314|139314|989898|1|9999039314|MR|Test|E|Lead 39314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039315|139315|989898|1|9999039315|MR|Test|E|Lead 39315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039316|139316|989898|1|9999039316|MR|Test|E|Lead 39316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039317|139317|989898|1|9999039317|MR|Test|E|Lead 39317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039318|139318|989898|1|9999039318|MR|Test|E|Lead 39318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039319|139319|989898|1|9999039319|MR|Test|E|Lead 39319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039320|139320|989898|1|9999039320|MR|Test|E|Lead 39320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039321|139321|989898|1|9999039321|MR|Test|E|Lead 39321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039322|139322|989898|1|9999039322|MR|Test|E|Lead 39322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039323|139323|989898|1|9999039323|MR|Test|E|Lead 39323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039324|139324|989898|1|9999039324|MR|Test|E|Lead 39324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039325|139325|989898|1|9999039325|MR|Test|E|Lead 39325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039326|139326|989898|1|9999039326|MR|Test|E|Lead 39326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039327|139327|989898|1|9999039327|MR|Test|E|Lead 39327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039328|139328|989898|1|9999039328|MR|Test|E|Lead 39328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039329|139329|989898|1|9999039329|MR|Test|E|Lead 39329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039330|139330|989898|1|9999039330|MR|Test|E|Lead 39330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039331|139331|989898|1|9999039331|MR|Test|E|Lead 39331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039332|139332|989898|1|9999039332|MR|Test|E|Lead 39332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039333|139333|989898|1|9999039333|MR|Test|E|Lead 39333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039334|139334|989898|1|9999039334|MR|Test|E|Lead 39334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039335|139335|989898|1|9999039335|MR|Test|E|Lead 39335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039336|139336|989898|1|9999039336|MR|Test|E|Lead 39336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039337|139337|989898|1|9999039337|MR|Test|E|Lead 39337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039338|139338|989898|1|9999039338|MR|Test|E|Lead 39338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039339|139339|989898|1|9999039339|MR|Test|E|Lead 39339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039340|139340|989898|1|9999039340|MR|Test|E|Lead 39340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039341|139341|989898|1|9999039341|MR|Test|E|Lead 39341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039342|139342|989898|1|9999039342|MR|Test|E|Lead 39342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039343|139343|989898|1|9999039343|MR|Test|E|Lead 39343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039344|139344|989898|1|9999039344|MR|Test|E|Lead 39344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039345|139345|989898|1|9999039345|MR|Test|E|Lead 39345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039346|139346|989898|1|9999039346|MR|Test|E|Lead 39346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039347|139347|989898|1|9999039347|MR|Test|E|Lead 39347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039348|139348|989898|1|9999039348|MR|Test|E|Lead 39348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039349|139349|989898|1|9999039349|MR|Test|E|Lead 39349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039350|139350|989898|1|9999039350|MR|Test|E|Lead 39350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039351|139351|989898|1|9999039351|MR|Test|E|Lead 39351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039352|139352|989898|1|9999039352|MR|Test|E|Lead 39352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039353|139353|989898|1|9999039353|MR|Test|E|Lead 39353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039354|139354|989898|1|9999039354|MR|Test|E|Lead 39354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039355|139355|989898|1|9999039355|MR|Test|E|Lead 39355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039356|139356|989898|1|9999039356|MR|Test|E|Lead 39356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039357|139357|989898|1|9999039357|MR|Test|E|Lead 39357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039358|139358|989898|1|9999039358|MR|Test|E|Lead 39358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039359|139359|989898|1|9999039359|MR|Test|E|Lead 39359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039360|139360|989898|1|9999039360|MR|Test|E|Lead 39360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039361|139361|989898|1|9999039361|MR|Test|E|Lead 39361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039362|139362|989898|1|9999039362|MR|Test|E|Lead 39362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039363|139363|989898|1|9999039363|MR|Test|E|Lead 39363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039364|139364|989898|1|9999039364|MR|Test|E|Lead 39364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039365|139365|989898|1|9999039365|MR|Test|E|Lead 39365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039366|139366|989898|1|9999039366|MR|Test|E|Lead 39366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039367|139367|989898|1|9999039367|MR|Test|E|Lead 39367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039368|139368|989898|1|9999039368|MR|Test|E|Lead 39368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039369|139369|989898|1|9999039369|MR|Test|E|Lead 39369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039370|139370|989898|1|9999039370|MR|Test|E|Lead 39370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039371|139371|989898|1|9999039371|MR|Test|E|Lead 39371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039372|139372|989898|1|9999039372|MR|Test|E|Lead 39372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039373|139373|989898|1|9999039373|MR|Test|E|Lead 39373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039374|139374|989898|1|9999039374|MR|Test|E|Lead 39374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039375|139375|989898|1|9999039375|MR|Test|E|Lead 39375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039376|139376|989898|1|9999039376|MR|Test|E|Lead 39376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039377|139377|989898|1|9999039377|MR|Test|E|Lead 39377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039378|139378|989898|1|9999039378|MR|Test|E|Lead 39378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039379|139379|989898|1|9999039379|MR|Test|E|Lead 39379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039380|139380|989898|1|9999039380|MR|Test|E|Lead 39380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039381|139381|989898|1|9999039381|MR|Test|E|Lead 39381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039382|139382|989898|1|9999039382|MR|Test|E|Lead 39382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039383|139383|989898|1|9999039383|MR|Test|E|Lead 39383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039384|139384|989898|1|9999039384|MR|Test|E|Lead 39384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039385|139385|989898|1|9999039385|MR|Test|E|Lead 39385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039386|139386|989898|1|9999039386|MR|Test|E|Lead 39386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039387|139387|989898|1|9999039387|MR|Test|E|Lead 39387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039388|139388|989898|1|9999039388|MR|Test|E|Lead 39388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039389|139389|989898|1|9999039389|MR|Test|E|Lead 39389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039390|139390|989898|1|9999039390|MR|Test|E|Lead 39390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039391|139391|989898|1|9999039391|MR|Test|E|Lead 39391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039392|139392|989898|1|9999039392|MR|Test|E|Lead 39392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039393|139393|989898|1|9999039393|MR|Test|E|Lead 39393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039394|139394|989898|1|9999039394|MR|Test|E|Lead 39394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039395|139395|989898|1|9999039395|MR|Test|E|Lead 39395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039396|139396|989898|1|9999039396|MR|Test|E|Lead 39396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039397|139397|989898|1|9999039397|MR|Test|E|Lead 39397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039398|139398|989898|1|9999039398|MR|Test|E|Lead 39398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039399|139399|989898|1|9999039399|MR|Test|E|Lead 39399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039400|139400|989898|1|9999039400|MR|Test|E|Lead 39400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039401|139401|989898|1|9999039401|MR|Test|E|Lead 39401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039402|139402|989898|1|9999039402|MR|Test|E|Lead 39402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039403|139403|989898|1|9999039403|MR|Test|E|Lead 39403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039404|139404|989898|1|9999039404|MR|Test|E|Lead 39404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039405|139405|989898|1|9999039405|MR|Test|E|Lead 39405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039406|139406|989898|1|9999039406|MR|Test|E|Lead 39406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039407|139407|989898|1|9999039407|MR|Test|E|Lead 39407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039408|139408|989898|1|9999039408|MR|Test|E|Lead 39408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039409|139409|989898|1|9999039409|MR|Test|E|Lead 39409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039410|139410|989898|1|9999039410|MR|Test|E|Lead 39410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039411|139411|989898|1|9999039411|MR|Test|E|Lead 39411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039412|139412|989898|1|9999039412|MR|Test|E|Lead 39412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039413|139413|989898|1|9999039413|MR|Test|E|Lead 39413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039414|139414|989898|1|9999039414|MR|Test|E|Lead 39414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039415|139415|989898|1|9999039415|MR|Test|E|Lead 39415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039416|139416|989898|1|9999039416|MR|Test|E|Lead 39416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039417|139417|989898|1|9999039417|MR|Test|E|Lead 39417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039418|139418|989898|1|9999039418|MR|Test|E|Lead 39418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039419|139419|989898|1|9999039419|MR|Test|E|Lead 39419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039420|139420|989898|1|9999039420|MR|Test|E|Lead 39420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039421|139421|989898|1|9999039421|MR|Test|E|Lead 39421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039422|139422|989898|1|9999039422|MR|Test|E|Lead 39422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039423|139423|989898|1|9999039423|MR|Test|E|Lead 39423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039424|139424|989898|1|9999039424|MR|Test|E|Lead 39424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039425|139425|989898|1|9999039425|MR|Test|E|Lead 39425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039426|139426|989898|1|9999039426|MR|Test|E|Lead 39426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039427|139427|989898|1|9999039427|MR|Test|E|Lead 39427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039428|139428|989898|1|9999039428|MR|Test|E|Lead 39428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039429|139429|989898|1|9999039429|MR|Test|E|Lead 39429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039430|139430|989898|1|9999039430|MR|Test|E|Lead 39430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039431|139431|989898|1|9999039431|MR|Test|E|Lead 39431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039432|139432|989898|1|9999039432|MR|Test|E|Lead 39432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039433|139433|989898|1|9999039433|MR|Test|E|Lead 39433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039434|139434|989898|1|9999039434|MR|Test|E|Lead 39434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039435|139435|989898|1|9999039435|MR|Test|E|Lead 39435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039436|139436|989898|1|9999039436|MR|Test|E|Lead 39436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039437|139437|989898|1|9999039437|MR|Test|E|Lead 39437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039438|139438|989898|1|9999039438|MR|Test|E|Lead 39438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039439|139439|989898|1|9999039439|MR|Test|E|Lead 39439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039440|139440|989898|1|9999039440|MR|Test|E|Lead 39440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039441|139441|989898|1|9999039441|MR|Test|E|Lead 39441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039442|139442|989898|1|9999039442|MR|Test|E|Lead 39442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039443|139443|989898|1|9999039443|MR|Test|E|Lead 39443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039444|139444|989898|1|9999039444|MR|Test|E|Lead 39444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039445|139445|989898|1|9999039445|MR|Test|E|Lead 39445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039446|139446|989898|1|9999039446|MR|Test|E|Lead 39446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039447|139447|989898|1|9999039447|MR|Test|E|Lead 39447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039448|139448|989898|1|9999039448|MR|Test|E|Lead 39448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039449|139449|989898|1|9999039449|MR|Test|E|Lead 39449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039450|139450|989898|1|9999039450|MR|Test|E|Lead 39450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039451|139451|989898|1|9999039451|MR|Test|E|Lead 39451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039452|139452|989898|1|9999039452|MR|Test|E|Lead 39452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039453|139453|989898|1|9999039453|MR|Test|E|Lead 39453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039454|139454|989898|1|9999039454|MR|Test|E|Lead 39454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039455|139455|989898|1|9999039455|MR|Test|E|Lead 39455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039456|139456|989898|1|9999039456|MR|Test|E|Lead 39456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039457|139457|989898|1|9999039457|MR|Test|E|Lead 39457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039458|139458|989898|1|9999039458|MR|Test|E|Lead 39458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039459|139459|989898|1|9999039459|MR|Test|E|Lead 39459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039460|139460|989898|1|9999039460|MR|Test|E|Lead 39460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039461|139461|989898|1|9999039461|MR|Test|E|Lead 39461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039462|139462|989898|1|9999039462|MR|Test|E|Lead 39462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039463|139463|989898|1|9999039463|MR|Test|E|Lead 39463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039464|139464|989898|1|9999039464|MR|Test|E|Lead 39464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039465|139465|989898|1|9999039465|MR|Test|E|Lead 39465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039466|139466|989898|1|9999039466|MR|Test|E|Lead 39466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039467|139467|989898|1|9999039467|MR|Test|E|Lead 39467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039468|139468|989898|1|9999039468|MR|Test|E|Lead 39468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039469|139469|989898|1|9999039469|MR|Test|E|Lead 39469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039470|139470|989898|1|9999039470|MR|Test|E|Lead 39470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039471|139471|989898|1|9999039471|MR|Test|E|Lead 39471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039472|139472|989898|1|9999039472|MR|Test|E|Lead 39472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039473|139473|989898|1|9999039473|MR|Test|E|Lead 39473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039474|139474|989898|1|9999039474|MR|Test|E|Lead 39474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039475|139475|989898|1|9999039475|MR|Test|E|Lead 39475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039476|139476|989898|1|9999039476|MR|Test|E|Lead 39476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039477|139477|989898|1|9999039477|MR|Test|E|Lead 39477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039478|139478|989898|1|9999039478|MR|Test|E|Lead 39478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039479|139479|989898|1|9999039479|MR|Test|E|Lead 39479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039480|139480|989898|1|9999039480|MR|Test|E|Lead 39480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039481|139481|989898|1|9999039481|MR|Test|E|Lead 39481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039482|139482|989898|1|9999039482|MR|Test|E|Lead 39482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039483|139483|989898|1|9999039483|MR|Test|E|Lead 39483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039484|139484|989898|1|9999039484|MR|Test|E|Lead 39484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039485|139485|989898|1|9999039485|MR|Test|E|Lead 39485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039486|139486|989898|1|9999039486|MR|Test|E|Lead 39486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039487|139487|989898|1|9999039487|MR|Test|E|Lead 39487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039488|139488|989898|1|9999039488|MR|Test|E|Lead 39488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039489|139489|989898|1|9999039489|MR|Test|E|Lead 39489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039490|139490|989898|1|9999039490|MR|Test|E|Lead 39490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039491|139491|989898|1|9999039491|MR|Test|E|Lead 39491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039492|139492|989898|1|9999039492|MR|Test|E|Lead 39492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039493|139493|989898|1|9999039493|MR|Test|E|Lead 39493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039494|139494|989898|1|9999039494|MR|Test|E|Lead 39494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039495|139495|989898|1|9999039495|MR|Test|E|Lead 39495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039496|139496|989898|1|9999039496|MR|Test|E|Lead 39496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039497|139497|989898|1|9999039497|MR|Test|E|Lead 39497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039498|139498|989898|1|9999039498|MR|Test|E|Lead 39498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039499|139499|989898|1|9999039499|MR|Test|E|Lead 39499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039500|139500|989898|1|9999039500|MR|Test|E|Lead 39500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039501|139501|989898|1|9999039501|MR|Test|E|Lead 39501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039502|139502|989898|1|9999039502|MR|Test|E|Lead 39502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039503|139503|989898|1|9999039503|MR|Test|E|Lead 39503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039504|139504|989898|1|9999039504|MR|Test|E|Lead 39504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039505|139505|989898|1|9999039505|MR|Test|E|Lead 39505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039506|139506|989898|1|9999039506|MR|Test|E|Lead 39506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039507|139507|989898|1|9999039507|MR|Test|E|Lead 39507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039508|139508|989898|1|9999039508|MR|Test|E|Lead 39508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039509|139509|989898|1|9999039509|MR|Test|E|Lead 39509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039510|139510|989898|1|9999039510|MR|Test|E|Lead 39510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039511|139511|989898|1|9999039511|MR|Test|E|Lead 39511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039512|139512|989898|1|9999039512|MR|Test|E|Lead 39512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039513|139513|989898|1|9999039513|MR|Test|E|Lead 39513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039514|139514|989898|1|9999039514|MR|Test|E|Lead 39514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039515|139515|989898|1|9999039515|MR|Test|E|Lead 39515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039516|139516|989898|1|9999039516|MR|Test|E|Lead 39516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039517|139517|989898|1|9999039517|MR|Test|E|Lead 39517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039518|139518|989898|1|9999039518|MR|Test|E|Lead 39518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039519|139519|989898|1|9999039519|MR|Test|E|Lead 39519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039520|139520|989898|1|9999039520|MR|Test|E|Lead 39520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039521|139521|989898|1|9999039521|MR|Test|E|Lead 39521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039522|139522|989898|1|9999039522|MR|Test|E|Lead 39522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039523|139523|989898|1|9999039523|MR|Test|E|Lead 39523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039524|139524|989898|1|9999039524|MR|Test|E|Lead 39524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039525|139525|989898|1|9999039525|MR|Test|E|Lead 39525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039526|139526|989898|1|9999039526|MR|Test|E|Lead 39526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039527|139527|989898|1|9999039527|MR|Test|E|Lead 39527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039528|139528|989898|1|9999039528|MR|Test|E|Lead 39528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039529|139529|989898|1|9999039529|MR|Test|E|Lead 39529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039530|139530|989898|1|9999039530|MR|Test|E|Lead 39530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039531|139531|989898|1|9999039531|MR|Test|E|Lead 39531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039532|139532|989898|1|9999039532|MR|Test|E|Lead 39532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039533|139533|989898|1|9999039533|MR|Test|E|Lead 39533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039534|139534|989898|1|9999039534|MR|Test|E|Lead 39534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039535|139535|989898|1|9999039535|MR|Test|E|Lead 39535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039536|139536|989898|1|9999039536|MR|Test|E|Lead 39536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039537|139537|989898|1|9999039537|MR|Test|E|Lead 39537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039538|139538|989898|1|9999039538|MR|Test|E|Lead 39538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039539|139539|989898|1|9999039539|MR|Test|E|Lead 39539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039540|139540|989898|1|9999039540|MR|Test|E|Lead 39540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039541|139541|989898|1|9999039541|MR|Test|E|Lead 39541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039542|139542|989898|1|9999039542|MR|Test|E|Lead 39542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039543|139543|989898|1|9999039543|MR|Test|E|Lead 39543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039544|139544|989898|1|9999039544|MR|Test|E|Lead 39544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039545|139545|989898|1|9999039545|MR|Test|E|Lead 39545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039546|139546|989898|1|9999039546|MR|Test|E|Lead 39546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039547|139547|989898|1|9999039547|MR|Test|E|Lead 39547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039548|139548|989898|1|9999039548|MR|Test|E|Lead 39548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039549|139549|989898|1|9999039549|MR|Test|E|Lead 39549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039550|139550|989898|1|9999039550|MR|Test|E|Lead 39550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039551|139551|989898|1|9999039551|MR|Test|E|Lead 39551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039552|139552|989898|1|9999039552|MR|Test|E|Lead 39552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039553|139553|989898|1|9999039553|MR|Test|E|Lead 39553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039554|139554|989898|1|9999039554|MR|Test|E|Lead 39554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039555|139555|989898|1|9999039555|MR|Test|E|Lead 39555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039556|139556|989898|1|9999039556|MR|Test|E|Lead 39556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039557|139557|989898|1|9999039557|MR|Test|E|Lead 39557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039558|139558|989898|1|9999039558|MR|Test|E|Lead 39558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039559|139559|989898|1|9999039559|MR|Test|E|Lead 39559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039560|139560|989898|1|9999039560|MR|Test|E|Lead 39560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039561|139561|989898|1|9999039561|MR|Test|E|Lead 39561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039562|139562|989898|1|9999039562|MR|Test|E|Lead 39562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039563|139563|989898|1|9999039563|MR|Test|E|Lead 39563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039564|139564|989898|1|9999039564|MR|Test|E|Lead 39564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039565|139565|989898|1|9999039565|MR|Test|E|Lead 39565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039566|139566|989898|1|9999039566|MR|Test|E|Lead 39566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039567|139567|989898|1|9999039567|MR|Test|E|Lead 39567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039568|139568|989898|1|9999039568|MR|Test|E|Lead 39568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039569|139569|989898|1|9999039569|MR|Test|E|Lead 39569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039570|139570|989898|1|9999039570|MR|Test|E|Lead 39570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039571|139571|989898|1|9999039571|MR|Test|E|Lead 39571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039572|139572|989898|1|9999039572|MR|Test|E|Lead 39572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039573|139573|989898|1|9999039573|MR|Test|E|Lead 39573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039574|139574|989898|1|9999039574|MR|Test|E|Lead 39574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039575|139575|989898|1|9999039575|MR|Test|E|Lead 39575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039576|139576|989898|1|9999039576|MR|Test|E|Lead 39576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039577|139577|989898|1|9999039577|MR|Test|E|Lead 39577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039578|139578|989898|1|9999039578|MR|Test|E|Lead 39578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039579|139579|989898|1|9999039579|MR|Test|E|Lead 39579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039580|139580|989898|1|9999039580|MR|Test|E|Lead 39580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039581|139581|989898|1|9999039581|MR|Test|E|Lead 39581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039582|139582|989898|1|9999039582|MR|Test|E|Lead 39582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039583|139583|989898|1|9999039583|MR|Test|E|Lead 39583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039584|139584|989898|1|9999039584|MR|Test|E|Lead 39584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039585|139585|989898|1|9999039585|MR|Test|E|Lead 39585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039586|139586|989898|1|9999039586|MR|Test|E|Lead 39586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039587|139587|989898|1|9999039587|MR|Test|E|Lead 39587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039588|139588|989898|1|9999039588|MR|Test|E|Lead 39588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039589|139589|989898|1|9999039589|MR|Test|E|Lead 39589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039590|139590|989898|1|9999039590|MR|Test|E|Lead 39590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039591|139591|989898|1|9999039591|MR|Test|E|Lead 39591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039592|139592|989898|1|9999039592|MR|Test|E|Lead 39592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039593|139593|989898|1|9999039593|MR|Test|E|Lead 39593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039594|139594|989898|1|9999039594|MR|Test|E|Lead 39594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039595|139595|989898|1|9999039595|MR|Test|E|Lead 39595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039596|139596|989898|1|9999039596|MR|Test|E|Lead 39596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039597|139597|989898|1|9999039597|MR|Test|E|Lead 39597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039598|139598|989898|1|9999039598|MR|Test|E|Lead 39598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039599|139599|989898|1|9999039599|MR|Test|E|Lead 39599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039600|139600|989898|1|9999039600|MR|Test|E|Lead 39600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039601|139601|989898|1|9999039601|MR|Test|E|Lead 39601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039602|139602|989898|1|9999039602|MR|Test|E|Lead 39602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039603|139603|989898|1|9999039603|MR|Test|E|Lead 39603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039604|139604|989898|1|9999039604|MR|Test|E|Lead 39604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039605|139605|989898|1|9999039605|MR|Test|E|Lead 39605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039606|139606|989898|1|9999039606|MR|Test|E|Lead 39606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039607|139607|989898|1|9999039607|MR|Test|E|Lead 39607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039608|139608|989898|1|9999039608|MR|Test|E|Lead 39608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039609|139609|989898|1|9999039609|MR|Test|E|Lead 39609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039610|139610|989898|1|9999039610|MR|Test|E|Lead 39610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039611|139611|989898|1|9999039611|MR|Test|E|Lead 39611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039612|139612|989898|1|9999039612|MR|Test|E|Lead 39612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039613|139613|989898|1|9999039613|MR|Test|E|Lead 39613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039614|139614|989898|1|9999039614|MR|Test|E|Lead 39614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039615|139615|989898|1|9999039615|MR|Test|E|Lead 39615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039616|139616|989898|1|9999039616|MR|Test|E|Lead 39616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039617|139617|989898|1|9999039617|MR|Test|E|Lead 39617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039618|139618|989898|1|9999039618|MR|Test|E|Lead 39618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039619|139619|989898|1|9999039619|MR|Test|E|Lead 39619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039620|139620|989898|1|9999039620|MR|Test|E|Lead 39620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039621|139621|989898|1|9999039621|MR|Test|E|Lead 39621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039622|139622|989898|1|9999039622|MR|Test|E|Lead 39622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039623|139623|989898|1|9999039623|MR|Test|E|Lead 39623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039624|139624|989898|1|9999039624|MR|Test|E|Lead 39624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039625|139625|989898|1|9999039625|MR|Test|E|Lead 39625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039626|139626|989898|1|9999039626|MR|Test|E|Lead 39626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039627|139627|989898|1|9999039627|MR|Test|E|Lead 39627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039628|139628|989898|1|9999039628|MR|Test|E|Lead 39628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039629|139629|989898|1|9999039629|MR|Test|E|Lead 39629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039630|139630|989898|1|9999039630|MR|Test|E|Lead 39630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039631|139631|989898|1|9999039631|MR|Test|E|Lead 39631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039632|139632|989898|1|9999039632|MR|Test|E|Lead 39632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039633|139633|989898|1|9999039633|MR|Test|E|Lead 39633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039634|139634|989898|1|9999039634|MR|Test|E|Lead 39634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039635|139635|989898|1|9999039635|MR|Test|E|Lead 39635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039636|139636|989898|1|9999039636|MR|Test|E|Lead 39636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039637|139637|989898|1|9999039637|MR|Test|E|Lead 39637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039638|139638|989898|1|9999039638|MR|Test|E|Lead 39638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039639|139639|989898|1|9999039639|MR|Test|E|Lead 39639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039640|139640|989898|1|9999039640|MR|Test|E|Lead 39640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039641|139641|989898|1|9999039641|MR|Test|E|Lead 39641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039642|139642|989898|1|9999039642|MR|Test|E|Lead 39642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039643|139643|989898|1|9999039643|MR|Test|E|Lead 39643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039644|139644|989898|1|9999039644|MR|Test|E|Lead 39644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039645|139645|989898|1|9999039645|MR|Test|E|Lead 39645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039646|139646|989898|1|9999039646|MR|Test|E|Lead 39646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039647|139647|989898|1|9999039647|MR|Test|E|Lead 39647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039648|139648|989898|1|9999039648|MR|Test|E|Lead 39648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039649|139649|989898|1|9999039649|MR|Test|E|Lead 39649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039650|139650|989898|1|9999039650|MR|Test|E|Lead 39650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039651|139651|989898|1|9999039651|MR|Test|E|Lead 39651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039652|139652|989898|1|9999039652|MR|Test|E|Lead 39652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039653|139653|989898|1|9999039653|MR|Test|E|Lead 39653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039654|139654|989898|1|9999039654|MR|Test|E|Lead 39654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039655|139655|989898|1|9999039655|MR|Test|E|Lead 39655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039656|139656|989898|1|9999039656|MR|Test|E|Lead 39656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039657|139657|989898|1|9999039657|MR|Test|E|Lead 39657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039658|139658|989898|1|9999039658|MR|Test|E|Lead 39658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039659|139659|989898|1|9999039659|MR|Test|E|Lead 39659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039660|139660|989898|1|9999039660|MR|Test|E|Lead 39660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039661|139661|989898|1|9999039661|MR|Test|E|Lead 39661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039662|139662|989898|1|9999039662|MR|Test|E|Lead 39662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039663|139663|989898|1|9999039663|MR|Test|E|Lead 39663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039664|139664|989898|1|9999039664|MR|Test|E|Lead 39664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039665|139665|989898|1|9999039665|MR|Test|E|Lead 39665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039666|139666|989898|1|9999039666|MR|Test|E|Lead 39666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039667|139667|989898|1|9999039667|MR|Test|E|Lead 39667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039668|139668|989898|1|9999039668|MR|Test|E|Lead 39668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039669|139669|989898|1|9999039669|MR|Test|E|Lead 39669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039670|139670|989898|1|9999039670|MR|Test|E|Lead 39670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039671|139671|989898|1|9999039671|MR|Test|E|Lead 39671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039672|139672|989898|1|9999039672|MR|Test|E|Lead 39672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039673|139673|989898|1|9999039673|MR|Test|E|Lead 39673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039674|139674|989898|1|9999039674|MR|Test|E|Lead 39674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039675|139675|989898|1|9999039675|MR|Test|E|Lead 39675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039676|139676|989898|1|9999039676|MR|Test|E|Lead 39676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039677|139677|989898|1|9999039677|MR|Test|E|Lead 39677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039678|139678|989898|1|9999039678|MR|Test|E|Lead 39678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039679|139679|989898|1|9999039679|MR|Test|E|Lead 39679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039680|139680|989898|1|9999039680|MR|Test|E|Lead 39680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039681|139681|989898|1|9999039681|MR|Test|E|Lead 39681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039682|139682|989898|1|9999039682|MR|Test|E|Lead 39682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039683|139683|989898|1|9999039683|MR|Test|E|Lead 39683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039684|139684|989898|1|9999039684|MR|Test|E|Lead 39684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039685|139685|989898|1|9999039685|MR|Test|E|Lead 39685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039686|139686|989898|1|9999039686|MR|Test|E|Lead 39686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039687|139687|989898|1|9999039687|MR|Test|E|Lead 39687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039688|139688|989898|1|9999039688|MR|Test|E|Lead 39688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039689|139689|989898|1|9999039689|MR|Test|E|Lead 39689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039690|139690|989898|1|9999039690|MR|Test|E|Lead 39690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039691|139691|989898|1|9999039691|MR|Test|E|Lead 39691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039692|139692|989898|1|9999039692|MR|Test|E|Lead 39692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039693|139693|989898|1|9999039693|MR|Test|E|Lead 39693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039694|139694|989898|1|9999039694|MR|Test|E|Lead 39694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039695|139695|989898|1|9999039695|MR|Test|E|Lead 39695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039696|139696|989898|1|9999039696|MR|Test|E|Lead 39696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039697|139697|989898|1|9999039697|MR|Test|E|Lead 39697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039698|139698|989898|1|9999039698|MR|Test|E|Lead 39698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039699|139699|989898|1|9999039699|MR|Test|E|Lead 39699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039700|139700|989898|1|9999039700|MR|Test|E|Lead 39700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039701|139701|989898|1|9999039701|MR|Test|E|Lead 39701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039702|139702|989898|1|9999039702|MR|Test|E|Lead 39702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039703|139703|989898|1|9999039703|MR|Test|E|Lead 39703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039704|139704|989898|1|9999039704|MR|Test|E|Lead 39704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039705|139705|989898|1|9999039705|MR|Test|E|Lead 39705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039706|139706|989898|1|9999039706|MR|Test|E|Lead 39706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039707|139707|989898|1|9999039707|MR|Test|E|Lead 39707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039708|139708|989898|1|9999039708|MR|Test|E|Lead 39708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039709|139709|989898|1|9999039709|MR|Test|E|Lead 39709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039710|139710|989898|1|9999039710|MR|Test|E|Lead 39710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039711|139711|989898|1|9999039711|MR|Test|E|Lead 39711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039712|139712|989898|1|9999039712|MR|Test|E|Lead 39712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039713|139713|989898|1|9999039713|MR|Test|E|Lead 39713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039714|139714|989898|1|9999039714|MR|Test|E|Lead 39714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039715|139715|989898|1|9999039715|MR|Test|E|Lead 39715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039716|139716|989898|1|9999039716|MR|Test|E|Lead 39716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039717|139717|989898|1|9999039717|MR|Test|E|Lead 39717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039718|139718|989898|1|9999039718|MR|Test|E|Lead 39718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039719|139719|989898|1|9999039719|MR|Test|E|Lead 39719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039720|139720|989898|1|9999039720|MR|Test|E|Lead 39720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039721|139721|989898|1|9999039721|MR|Test|E|Lead 39721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039722|139722|989898|1|9999039722|MR|Test|E|Lead 39722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039723|139723|989898|1|9999039723|MR|Test|E|Lead 39723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039724|139724|989898|1|9999039724|MR|Test|E|Lead 39724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039725|139725|989898|1|9999039725|MR|Test|E|Lead 39725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039726|139726|989898|1|9999039726|MR|Test|E|Lead 39726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039727|139727|989898|1|9999039727|MR|Test|E|Lead 39727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039728|139728|989898|1|9999039728|MR|Test|E|Lead 39728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039729|139729|989898|1|9999039729|MR|Test|E|Lead 39729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039730|139730|989898|1|9999039730|MR|Test|E|Lead 39730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039731|139731|989898|1|9999039731|MR|Test|E|Lead 39731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039732|139732|989898|1|9999039732|MR|Test|E|Lead 39732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039733|139733|989898|1|9999039733|MR|Test|E|Lead 39733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039734|139734|989898|1|9999039734|MR|Test|E|Lead 39734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039735|139735|989898|1|9999039735|MR|Test|E|Lead 39735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039736|139736|989898|1|9999039736|MR|Test|E|Lead 39736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039737|139737|989898|1|9999039737|MR|Test|E|Lead 39737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039738|139738|989898|1|9999039738|MR|Test|E|Lead 39738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039739|139739|989898|1|9999039739|MR|Test|E|Lead 39739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039740|139740|989898|1|9999039740|MR|Test|E|Lead 39740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039741|139741|989898|1|9999039741|MR|Test|E|Lead 39741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039742|139742|989898|1|9999039742|MR|Test|E|Lead 39742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039743|139743|989898|1|9999039743|MR|Test|E|Lead 39743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039744|139744|989898|1|9999039744|MR|Test|E|Lead 39744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039745|139745|989898|1|9999039745|MR|Test|E|Lead 39745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039746|139746|989898|1|9999039746|MR|Test|E|Lead 39746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039747|139747|989898|1|9999039747|MR|Test|E|Lead 39747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039748|139748|989898|1|9999039748|MR|Test|E|Lead 39748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039749|139749|989898|1|9999039749|MR|Test|E|Lead 39749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039750|139750|989898|1|9999039750|MR|Test|E|Lead 39750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039751|139751|989898|1|9999039751|MR|Test|E|Lead 39751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039752|139752|989898|1|9999039752|MR|Test|E|Lead 39752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039753|139753|989898|1|9999039753|MR|Test|E|Lead 39753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039754|139754|989898|1|9999039754|MR|Test|E|Lead 39754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039755|139755|989898|1|9999039755|MR|Test|E|Lead 39755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039756|139756|989898|1|9999039756|MR|Test|E|Lead 39756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039757|139757|989898|1|9999039757|MR|Test|E|Lead 39757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039758|139758|989898|1|9999039758|MR|Test|E|Lead 39758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039759|139759|989898|1|9999039759|MR|Test|E|Lead 39759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039760|139760|989898|1|9999039760|MR|Test|E|Lead 39760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039761|139761|989898|1|9999039761|MR|Test|E|Lead 39761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039762|139762|989898|1|9999039762|MR|Test|E|Lead 39762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039763|139763|989898|1|9999039763|MR|Test|E|Lead 39763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039764|139764|989898|1|9999039764|MR|Test|E|Lead 39764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039765|139765|989898|1|9999039765|MR|Test|E|Lead 39765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039766|139766|989898|1|9999039766|MR|Test|E|Lead 39766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039767|139767|989898|1|9999039767|MR|Test|E|Lead 39767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039768|139768|989898|1|9999039768|MR|Test|E|Lead 39768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039769|139769|989898|1|9999039769|MR|Test|E|Lead 39769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039770|139770|989898|1|9999039770|MR|Test|E|Lead 39770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039771|139771|989898|1|9999039771|MR|Test|E|Lead 39771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039772|139772|989898|1|9999039772|MR|Test|E|Lead 39772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039773|139773|989898|1|9999039773|MR|Test|E|Lead 39773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039774|139774|989898|1|9999039774|MR|Test|E|Lead 39774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039775|139775|989898|1|9999039775|MR|Test|E|Lead 39775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039776|139776|989898|1|9999039776|MR|Test|E|Lead 39776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039777|139777|989898|1|9999039777|MR|Test|E|Lead 39777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039778|139778|989898|1|9999039778|MR|Test|E|Lead 39778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039779|139779|989898|1|9999039779|MR|Test|E|Lead 39779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039780|139780|989898|1|9999039780|MR|Test|E|Lead 39780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039781|139781|989898|1|9999039781|MR|Test|E|Lead 39781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039782|139782|989898|1|9999039782|MR|Test|E|Lead 39782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039783|139783|989898|1|9999039783|MR|Test|E|Lead 39783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039784|139784|989898|1|9999039784|MR|Test|E|Lead 39784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039785|139785|989898|1|9999039785|MR|Test|E|Lead 39785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039786|139786|989898|1|9999039786|MR|Test|E|Lead 39786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039787|139787|989898|1|9999039787|MR|Test|E|Lead 39787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039788|139788|989898|1|9999039788|MR|Test|E|Lead 39788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039789|139789|989898|1|9999039789|MR|Test|E|Lead 39789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039790|139790|989898|1|9999039790|MR|Test|E|Lead 39790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039791|139791|989898|1|9999039791|MR|Test|E|Lead 39791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039792|139792|989898|1|9999039792|MR|Test|E|Lead 39792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039793|139793|989898|1|9999039793|MR|Test|E|Lead 39793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039794|139794|989898|1|9999039794|MR|Test|E|Lead 39794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039795|139795|989898|1|9999039795|MR|Test|E|Lead 39795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039796|139796|989898|1|9999039796|MR|Test|E|Lead 39796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039797|139797|989898|1|9999039797|MR|Test|E|Lead 39797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039798|139798|989898|1|9999039798|MR|Test|E|Lead 39798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039799|139799|989898|1|9999039799|MR|Test|E|Lead 39799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039800|139800|989898|1|9999039800|MR|Test|E|Lead 39800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039801|139801|989898|1|9999039801|MR|Test|E|Lead 39801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039802|139802|989898|1|9999039802|MR|Test|E|Lead 39802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039803|139803|989898|1|9999039803|MR|Test|E|Lead 39803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039804|139804|989898|1|9999039804|MR|Test|E|Lead 39804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039805|139805|989898|1|9999039805|MR|Test|E|Lead 39805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039806|139806|989898|1|9999039806|MR|Test|E|Lead 39806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039807|139807|989898|1|9999039807|MR|Test|E|Lead 39807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039808|139808|989898|1|9999039808|MR|Test|E|Lead 39808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039809|139809|989898|1|9999039809|MR|Test|E|Lead 39809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039810|139810|989898|1|9999039810|MR|Test|E|Lead 39810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039811|139811|989898|1|9999039811|MR|Test|E|Lead 39811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039812|139812|989898|1|9999039812|MR|Test|E|Lead 39812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039813|139813|989898|1|9999039813|MR|Test|E|Lead 39813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039814|139814|989898|1|9999039814|MR|Test|E|Lead 39814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039815|139815|989898|1|9999039815|MR|Test|E|Lead 39815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039816|139816|989898|1|9999039816|MR|Test|E|Lead 39816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039817|139817|989898|1|9999039817|MR|Test|E|Lead 39817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039818|139818|989898|1|9999039818|MR|Test|E|Lead 39818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039819|139819|989898|1|9999039819|MR|Test|E|Lead 39819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039820|139820|989898|1|9999039820|MR|Test|E|Lead 39820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039821|139821|989898|1|9999039821|MR|Test|E|Lead 39821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039822|139822|989898|1|9999039822|MR|Test|E|Lead 39822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039823|139823|989898|1|9999039823|MR|Test|E|Lead 39823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039824|139824|989898|1|9999039824|MR|Test|E|Lead 39824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039825|139825|989898|1|9999039825|MR|Test|E|Lead 39825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039826|139826|989898|1|9999039826|MR|Test|E|Lead 39826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039827|139827|989898|1|9999039827|MR|Test|E|Lead 39827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039828|139828|989898|1|9999039828|MR|Test|E|Lead 39828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039829|139829|989898|1|9999039829|MR|Test|E|Lead 39829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039830|139830|989898|1|9999039830|MR|Test|E|Lead 39830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039831|139831|989898|1|9999039831|MR|Test|E|Lead 39831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039832|139832|989898|1|9999039832|MR|Test|E|Lead 39832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039833|139833|989898|1|9999039833|MR|Test|E|Lead 39833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039834|139834|989898|1|9999039834|MR|Test|E|Lead 39834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039835|139835|989898|1|9999039835|MR|Test|E|Lead 39835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039836|139836|989898|1|9999039836|MR|Test|E|Lead 39836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039837|139837|989898|1|9999039837|MR|Test|E|Lead 39837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039838|139838|989898|1|9999039838|MR|Test|E|Lead 39838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039839|139839|989898|1|9999039839|MR|Test|E|Lead 39839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039840|139840|989898|1|9999039840|MR|Test|E|Lead 39840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039841|139841|989898|1|9999039841|MR|Test|E|Lead 39841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039842|139842|989898|1|9999039842|MR|Test|E|Lead 39842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039843|139843|989898|1|9999039843|MR|Test|E|Lead 39843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039844|139844|989898|1|9999039844|MR|Test|E|Lead 39844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039845|139845|989898|1|9999039845|MR|Test|E|Lead 39845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039846|139846|989898|1|9999039846|MR|Test|E|Lead 39846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039847|139847|989898|1|9999039847|MR|Test|E|Lead 39847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039848|139848|989898|1|9999039848|MR|Test|E|Lead 39848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039849|139849|989898|1|9999039849|MR|Test|E|Lead 39849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039850|139850|989898|1|9999039850|MR|Test|E|Lead 39850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039851|139851|989898|1|9999039851|MR|Test|E|Lead 39851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039852|139852|989898|1|9999039852|MR|Test|E|Lead 39852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039853|139853|989898|1|9999039853|MR|Test|E|Lead 39853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039854|139854|989898|1|9999039854|MR|Test|E|Lead 39854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039855|139855|989898|1|9999039855|MR|Test|E|Lead 39855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039856|139856|989898|1|9999039856|MR|Test|E|Lead 39856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039857|139857|989898|1|9999039857|MR|Test|E|Lead 39857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039858|139858|989898|1|9999039858|MR|Test|E|Lead 39858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039859|139859|989898|1|9999039859|MR|Test|E|Lead 39859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039860|139860|989898|1|9999039860|MR|Test|E|Lead 39860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039861|139861|989898|1|9999039861|MR|Test|E|Lead 39861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039862|139862|989898|1|9999039862|MR|Test|E|Lead 39862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039863|139863|989898|1|9999039863|MR|Test|E|Lead 39863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039864|139864|989898|1|9999039864|MR|Test|E|Lead 39864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039865|139865|989898|1|9999039865|MR|Test|E|Lead 39865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039866|139866|989898|1|9999039866|MR|Test|E|Lead 39866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039867|139867|989898|1|9999039867|MR|Test|E|Lead 39867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039868|139868|989898|1|9999039868|MR|Test|E|Lead 39868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039869|139869|989898|1|9999039869|MR|Test|E|Lead 39869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039870|139870|989898|1|9999039870|MR|Test|E|Lead 39870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039871|139871|989898|1|9999039871|MR|Test|E|Lead 39871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039872|139872|989898|1|9999039872|MR|Test|E|Lead 39872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039873|139873|989898|1|9999039873|MR|Test|E|Lead 39873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039874|139874|989898|1|9999039874|MR|Test|E|Lead 39874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039875|139875|989898|1|9999039875|MR|Test|E|Lead 39875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039876|139876|989898|1|9999039876|MR|Test|E|Lead 39876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039877|139877|989898|1|9999039877|MR|Test|E|Lead 39877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039878|139878|989898|1|9999039878|MR|Test|E|Lead 39878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039879|139879|989898|1|9999039879|MR|Test|E|Lead 39879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039880|139880|989898|1|9999039880|MR|Test|E|Lead 39880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039881|139881|989898|1|9999039881|MR|Test|E|Lead 39881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039882|139882|989898|1|9999039882|MR|Test|E|Lead 39882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039883|139883|989898|1|9999039883|MR|Test|E|Lead 39883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039884|139884|989898|1|9999039884|MR|Test|E|Lead 39884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039885|139885|989898|1|9999039885|MR|Test|E|Lead 39885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039886|139886|989898|1|9999039886|MR|Test|E|Lead 39886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039887|139887|989898|1|9999039887|MR|Test|E|Lead 39887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039888|139888|989898|1|9999039888|MR|Test|E|Lead 39888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039889|139889|989898|1|9999039889|MR|Test|E|Lead 39889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039890|139890|989898|1|9999039890|MR|Test|E|Lead 39890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039891|139891|989898|1|9999039891|MR|Test|E|Lead 39891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039892|139892|989898|1|9999039892|MR|Test|E|Lead 39892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039893|139893|989898|1|9999039893|MR|Test|E|Lead 39893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039894|139894|989898|1|9999039894|MR|Test|E|Lead 39894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039895|139895|989898|1|9999039895|MR|Test|E|Lead 39895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039896|139896|989898|1|9999039896|MR|Test|E|Lead 39896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039897|139897|989898|1|9999039897|MR|Test|E|Lead 39897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039898|139898|989898|1|9999039898|MR|Test|E|Lead 39898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039899|139899|989898|1|9999039899|MR|Test|E|Lead 39899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039900|139900|989898|1|9999039900|MR|Test|E|Lead 39900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039901|139901|989898|1|9999039901|MR|Test|E|Lead 39901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039902|139902|989898|1|9999039902|MR|Test|E|Lead 39902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039903|139903|989898|1|9999039903|MR|Test|E|Lead 39903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039904|139904|989898|1|9999039904|MR|Test|E|Lead 39904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039905|139905|989898|1|9999039905|MR|Test|E|Lead 39905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039906|139906|989898|1|9999039906|MR|Test|E|Lead 39906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039907|139907|989898|1|9999039907|MR|Test|E|Lead 39907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039908|139908|989898|1|9999039908|MR|Test|E|Lead 39908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039909|139909|989898|1|9999039909|MR|Test|E|Lead 39909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039910|139910|989898|1|9999039910|MR|Test|E|Lead 39910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039911|139911|989898|1|9999039911|MR|Test|E|Lead 39911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039912|139912|989898|1|9999039912|MR|Test|E|Lead 39912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039913|139913|989898|1|9999039913|MR|Test|E|Lead 39913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039914|139914|989898|1|9999039914|MR|Test|E|Lead 39914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039915|139915|989898|1|9999039915|MR|Test|E|Lead 39915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039916|139916|989898|1|9999039916|MR|Test|E|Lead 39916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039917|139917|989898|1|9999039917|MR|Test|E|Lead 39917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039918|139918|989898|1|9999039918|MR|Test|E|Lead 39918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039919|139919|989898|1|9999039919|MR|Test|E|Lead 39919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039920|139920|989898|1|9999039920|MR|Test|E|Lead 39920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039921|139921|989898|1|9999039921|MR|Test|E|Lead 39921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039922|139922|989898|1|9999039922|MR|Test|E|Lead 39922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039923|139923|989898|1|9999039923|MR|Test|E|Lead 39923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039924|139924|989898|1|9999039924|MR|Test|E|Lead 39924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039925|139925|989898|1|9999039925|MR|Test|E|Lead 39925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039926|139926|989898|1|9999039926|MR|Test|E|Lead 39926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039927|139927|989898|1|9999039927|MR|Test|E|Lead 39927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039928|139928|989898|1|9999039928|MR|Test|E|Lead 39928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039929|139929|989898|1|9999039929|MR|Test|E|Lead 39929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039930|139930|989898|1|9999039930|MR|Test|E|Lead 39930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039931|139931|989898|1|9999039931|MR|Test|E|Lead 39931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039932|139932|989898|1|9999039932|MR|Test|E|Lead 39932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039933|139933|989898|1|9999039933|MR|Test|E|Lead 39933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039934|139934|989898|1|9999039934|MR|Test|E|Lead 39934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039935|139935|989898|1|9999039935|MR|Test|E|Lead 39935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039936|139936|989898|1|9999039936|MR|Test|E|Lead 39936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039937|139937|989898|1|9999039937|MR|Test|E|Lead 39937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039938|139938|989898|1|9999039938|MR|Test|E|Lead 39938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039939|139939|989898|1|9999039939|MR|Test|E|Lead 39939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039940|139940|989898|1|9999039940|MR|Test|E|Lead 39940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039941|139941|989898|1|9999039941|MR|Test|E|Lead 39941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039942|139942|989898|1|9999039942|MR|Test|E|Lead 39942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039943|139943|989898|1|9999039943|MR|Test|E|Lead 39943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039944|139944|989898|1|9999039944|MR|Test|E|Lead 39944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039945|139945|989898|1|9999039945|MR|Test|E|Lead 39945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039946|139946|989898|1|9999039946|MR|Test|E|Lead 39946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039947|139947|989898|1|9999039947|MR|Test|E|Lead 39947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039948|139948|989898|1|9999039948|MR|Test|E|Lead 39948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039949|139949|989898|1|9999039949|MR|Test|E|Lead 39949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039950|139950|989898|1|9999039950|MR|Test|E|Lead 39950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039951|139951|989898|1|9999039951|MR|Test|E|Lead 39951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039952|139952|989898|1|9999039952|MR|Test|E|Lead 39952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039953|139953|989898|1|9999039953|MR|Test|E|Lead 39953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039954|139954|989898|1|9999039954|MR|Test|E|Lead 39954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039955|139955|989898|1|9999039955|MR|Test|E|Lead 39955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039956|139956|989898|1|9999039956|MR|Test|E|Lead 39956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039957|139957|989898|1|9999039957|MR|Test|E|Lead 39957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039958|139958|989898|1|9999039958|MR|Test|E|Lead 39958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039959|139959|989898|1|9999039959|MR|Test|E|Lead 39959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039960|139960|989898|1|9999039960|MR|Test|E|Lead 39960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039961|139961|989898|1|9999039961|MR|Test|E|Lead 39961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039962|139962|989898|1|9999039962|MR|Test|E|Lead 39962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039963|139963|989898|1|9999039963|MR|Test|E|Lead 39963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039964|139964|989898|1|9999039964|MR|Test|E|Lead 39964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039965|139965|989898|1|9999039965|MR|Test|E|Lead 39965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039966|139966|989898|1|9999039966|MR|Test|E|Lead 39966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039967|139967|989898|1|9999039967|MR|Test|E|Lead 39967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039968|139968|989898|1|9999039968|MR|Test|E|Lead 39968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039969|139969|989898|1|9999039969|MR|Test|E|Lead 39969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039970|139970|989898|1|9999039970|MR|Test|E|Lead 39970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039971|139971|989898|1|9999039971|MR|Test|E|Lead 39971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039972|139972|989898|1|9999039972|MR|Test|E|Lead 39972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039973|139973|989898|1|9999039973|MR|Test|E|Lead 39973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039974|139974|989898|1|9999039974|MR|Test|E|Lead 39974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039975|139975|989898|1|9999039975|MR|Test|E|Lead 39975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039976|139976|989898|1|9999039976|MR|Test|E|Lead 39976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039977|139977|989898|1|9999039977|MR|Test|E|Lead 39977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039978|139978|989898|1|9999039978|MR|Test|E|Lead 39978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039979|139979|989898|1|9999039979|MR|Test|E|Lead 39979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039980|139980|989898|1|9999039980|MR|Test|E|Lead 39980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039981|139981|989898|1|9999039981|MR|Test|E|Lead 39981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039982|139982|989898|1|9999039982|MR|Test|E|Lead 39982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039983|139983|989898|1|9999039983|MR|Test|E|Lead 39983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039984|139984|989898|1|9999039984|MR|Test|E|Lead 39984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039985|139985|989898|1|9999039985|MR|Test|E|Lead 39985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039986|139986|989898|1|9999039986|MR|Test|E|Lead 39986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039987|139987|989898|1|9999039987|MR|Test|E|Lead 39987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039988|139988|989898|1|9999039988|MR|Test|E|Lead 39988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039989|139989|989898|1|9999039989|MR|Test|E|Lead 39989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039990|139990|989898|1|9999039990|MR|Test|E|Lead 39990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039991|139991|989898|1|9999039991|MR|Test|E|Lead 39991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039992|139992|989898|1|9999039992|MR|Test|E|Lead 39992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039993|139993|989898|1|9999039993|MR|Test|E|Lead 39993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039994|139994|989898|1|9999039994|MR|Test|E|Lead 39994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039995|139995|989898|1|9999039995|MR|Test|E|Lead 39995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039996|139996|989898|1|9999039996|MR|Test|E|Lead 39996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039997|139997|989898|1|9999039997|MR|Test|E|Lead 39997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039998|139998|989898|1|9999039998|MR|Test|E|Lead 39998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1039999|139999|989898|1|9999039999|MR|Test|E|Lead 39999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040000|140000|989898|1|9999040000|MR|Test|E|Lead 40000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040001|140001|989898|1|9999040001|MR|Test|E|Lead 40001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040002|140002|989898|1|9999040002|MR|Test|E|Lead 40002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040003|140003|989898|1|9999040003|MR|Test|E|Lead 40003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040004|140004|989898|1|9999040004|MR|Test|E|Lead 40004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040005|140005|989898|1|9999040005|MR|Test|E|Lead 40005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040006|140006|989898|1|9999040006|MR|Test|E|Lead 40006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040007|140007|989898|1|9999040007|MR|Test|E|Lead 40007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040008|140008|989898|1|9999040008|MR|Test|E|Lead 40008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040009|140009|989898|1|9999040009|MR|Test|E|Lead 40009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040010|140010|989898|1|9999040010|MR|Test|E|Lead 40010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040011|140011|989898|1|9999040011|MR|Test|E|Lead 40011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040012|140012|989898|1|9999040012|MR|Test|E|Lead 40012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040013|140013|989898|1|9999040013|MR|Test|E|Lead 40013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040014|140014|989898|1|9999040014|MR|Test|E|Lead 40014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040015|140015|989898|1|9999040015|MR|Test|E|Lead 40015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040016|140016|989898|1|9999040016|MR|Test|E|Lead 40016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040017|140017|989898|1|9999040017|MR|Test|E|Lead 40017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040018|140018|989898|1|9999040018|MR|Test|E|Lead 40018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040019|140019|989898|1|9999040019|MR|Test|E|Lead 40019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040020|140020|989898|1|9999040020|MR|Test|E|Lead 40020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040021|140021|989898|1|9999040021|MR|Test|E|Lead 40021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040022|140022|989898|1|9999040022|MR|Test|E|Lead 40022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040023|140023|989898|1|9999040023|MR|Test|E|Lead 40023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040024|140024|989898|1|9999040024|MR|Test|E|Lead 40024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040025|140025|989898|1|9999040025|MR|Test|E|Lead 40025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040026|140026|989898|1|9999040026|MR|Test|E|Lead 40026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040027|140027|989898|1|9999040027|MR|Test|E|Lead 40027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040028|140028|989898|1|9999040028|MR|Test|E|Lead 40028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040029|140029|989898|1|9999040029|MR|Test|E|Lead 40029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040030|140030|989898|1|9999040030|MR|Test|E|Lead 40030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040031|140031|989898|1|9999040031|MR|Test|E|Lead 40031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040032|140032|989898|1|9999040032|MR|Test|E|Lead 40032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040033|140033|989898|1|9999040033|MR|Test|E|Lead 40033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040034|140034|989898|1|9999040034|MR|Test|E|Lead 40034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040035|140035|989898|1|9999040035|MR|Test|E|Lead 40035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040036|140036|989898|1|9999040036|MR|Test|E|Lead 40036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040037|140037|989898|1|9999040037|MR|Test|E|Lead 40037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040038|140038|989898|1|9999040038|MR|Test|E|Lead 40038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040039|140039|989898|1|9999040039|MR|Test|E|Lead 40039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040040|140040|989898|1|9999040040|MR|Test|E|Lead 40040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040041|140041|989898|1|9999040041|MR|Test|E|Lead 40041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040042|140042|989898|1|9999040042|MR|Test|E|Lead 40042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040043|140043|989898|1|9999040043|MR|Test|E|Lead 40043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040044|140044|989898|1|9999040044|MR|Test|E|Lead 40044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040045|140045|989898|1|9999040045|MR|Test|E|Lead 40045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040046|140046|989898|1|9999040046|MR|Test|E|Lead 40046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040047|140047|989898|1|9999040047|MR|Test|E|Lead 40047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040048|140048|989898|1|9999040048|MR|Test|E|Lead 40048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040049|140049|989898|1|9999040049|MR|Test|E|Lead 40049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040050|140050|989898|1|9999040050|MR|Test|E|Lead 40050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040051|140051|989898|1|9999040051|MR|Test|E|Lead 40051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040052|140052|989898|1|9999040052|MR|Test|E|Lead 40052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040053|140053|989898|1|9999040053|MR|Test|E|Lead 40053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040054|140054|989898|1|9999040054|MR|Test|E|Lead 40054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040055|140055|989898|1|9999040055|MR|Test|E|Lead 40055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040056|140056|989898|1|9999040056|MR|Test|E|Lead 40056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040057|140057|989898|1|9999040057|MR|Test|E|Lead 40057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040058|140058|989898|1|9999040058|MR|Test|E|Lead 40058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040059|140059|989898|1|9999040059|MR|Test|E|Lead 40059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040060|140060|989898|1|9999040060|MR|Test|E|Lead 40060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040061|140061|989898|1|9999040061|MR|Test|E|Lead 40061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040062|140062|989898|1|9999040062|MR|Test|E|Lead 40062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040063|140063|989898|1|9999040063|MR|Test|E|Lead 40063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040064|140064|989898|1|9999040064|MR|Test|E|Lead 40064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040065|140065|989898|1|9999040065|MR|Test|E|Lead 40065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040066|140066|989898|1|9999040066|MR|Test|E|Lead 40066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040067|140067|989898|1|9999040067|MR|Test|E|Lead 40067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040068|140068|989898|1|9999040068|MR|Test|E|Lead 40068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040069|140069|989898|1|9999040069|MR|Test|E|Lead 40069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040070|140070|989898|1|9999040070|MR|Test|E|Lead 40070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040071|140071|989898|1|9999040071|MR|Test|E|Lead 40071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040072|140072|989898|1|9999040072|MR|Test|E|Lead 40072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040073|140073|989898|1|9999040073|MR|Test|E|Lead 40073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040074|140074|989898|1|9999040074|MR|Test|E|Lead 40074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040075|140075|989898|1|9999040075|MR|Test|E|Lead 40075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040076|140076|989898|1|9999040076|MR|Test|E|Lead 40076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040077|140077|989898|1|9999040077|MR|Test|E|Lead 40077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040078|140078|989898|1|9999040078|MR|Test|E|Lead 40078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040079|140079|989898|1|9999040079|MR|Test|E|Lead 40079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040080|140080|989898|1|9999040080|MR|Test|E|Lead 40080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040081|140081|989898|1|9999040081|MR|Test|E|Lead 40081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040082|140082|989898|1|9999040082|MR|Test|E|Lead 40082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040083|140083|989898|1|9999040083|MR|Test|E|Lead 40083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040084|140084|989898|1|9999040084|MR|Test|E|Lead 40084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040085|140085|989898|1|9999040085|MR|Test|E|Lead 40085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040086|140086|989898|1|9999040086|MR|Test|E|Lead 40086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040087|140087|989898|1|9999040087|MR|Test|E|Lead 40087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040088|140088|989898|1|9999040088|MR|Test|E|Lead 40088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040089|140089|989898|1|9999040089|MR|Test|E|Lead 40089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040090|140090|989898|1|9999040090|MR|Test|E|Lead 40090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040091|140091|989898|1|9999040091|MR|Test|E|Lead 40091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040092|140092|989898|1|9999040092|MR|Test|E|Lead 40092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040093|140093|989898|1|9999040093|MR|Test|E|Lead 40093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040094|140094|989898|1|9999040094|MR|Test|E|Lead 40094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040095|140095|989898|1|9999040095|MR|Test|E|Lead 40095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040096|140096|989898|1|9999040096|MR|Test|E|Lead 40096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040097|140097|989898|1|9999040097|MR|Test|E|Lead 40097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040098|140098|989898|1|9999040098|MR|Test|E|Lead 40098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040099|140099|989898|1|9999040099|MR|Test|E|Lead 40099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040100|140100|989898|1|9999040100|MR|Test|E|Lead 40100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040101|140101|989898|1|9999040101|MR|Test|E|Lead 40101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040102|140102|989898|1|9999040102|MR|Test|E|Lead 40102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040103|140103|989898|1|9999040103|MR|Test|E|Lead 40103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040104|140104|989898|1|9999040104|MR|Test|E|Lead 40104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040105|140105|989898|1|9999040105|MR|Test|E|Lead 40105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040106|140106|989898|1|9999040106|MR|Test|E|Lead 40106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040107|140107|989898|1|9999040107|MR|Test|E|Lead 40107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040108|140108|989898|1|9999040108|MR|Test|E|Lead 40108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040109|140109|989898|1|9999040109|MR|Test|E|Lead 40109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040110|140110|989898|1|9999040110|MR|Test|E|Lead 40110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040111|140111|989898|1|9999040111|MR|Test|E|Lead 40111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040112|140112|989898|1|9999040112|MR|Test|E|Lead 40112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040113|140113|989898|1|9999040113|MR|Test|E|Lead 40113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040114|140114|989898|1|9999040114|MR|Test|E|Lead 40114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040115|140115|989898|1|9999040115|MR|Test|E|Lead 40115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040116|140116|989898|1|9999040116|MR|Test|E|Lead 40116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040117|140117|989898|1|9999040117|MR|Test|E|Lead 40117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040118|140118|989898|1|9999040118|MR|Test|E|Lead 40118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040119|140119|989898|1|9999040119|MR|Test|E|Lead 40119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040120|140120|989898|1|9999040120|MR|Test|E|Lead 40120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040121|140121|989898|1|9999040121|MR|Test|E|Lead 40121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040122|140122|989898|1|9999040122|MR|Test|E|Lead 40122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040123|140123|989898|1|9999040123|MR|Test|E|Lead 40123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040124|140124|989898|1|9999040124|MR|Test|E|Lead 40124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040125|140125|989898|1|9999040125|MR|Test|E|Lead 40125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040126|140126|989898|1|9999040126|MR|Test|E|Lead 40126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040127|140127|989898|1|9999040127|MR|Test|E|Lead 40127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040128|140128|989898|1|9999040128|MR|Test|E|Lead 40128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040129|140129|989898|1|9999040129|MR|Test|E|Lead 40129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040130|140130|989898|1|9999040130|MR|Test|E|Lead 40130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040131|140131|989898|1|9999040131|MR|Test|E|Lead 40131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040132|140132|989898|1|9999040132|MR|Test|E|Lead 40132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040133|140133|989898|1|9999040133|MR|Test|E|Lead 40133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040134|140134|989898|1|9999040134|MR|Test|E|Lead 40134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040135|140135|989898|1|9999040135|MR|Test|E|Lead 40135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040136|140136|989898|1|9999040136|MR|Test|E|Lead 40136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040137|140137|989898|1|9999040137|MR|Test|E|Lead 40137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040138|140138|989898|1|9999040138|MR|Test|E|Lead 40138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040139|140139|989898|1|9999040139|MR|Test|E|Lead 40139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040140|140140|989898|1|9999040140|MR|Test|E|Lead 40140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040141|140141|989898|1|9999040141|MR|Test|E|Lead 40141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040142|140142|989898|1|9999040142|MR|Test|E|Lead 40142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040143|140143|989898|1|9999040143|MR|Test|E|Lead 40143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040144|140144|989898|1|9999040144|MR|Test|E|Lead 40144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040145|140145|989898|1|9999040145|MR|Test|E|Lead 40145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040146|140146|989898|1|9999040146|MR|Test|E|Lead 40146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040147|140147|989898|1|9999040147|MR|Test|E|Lead 40147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040148|140148|989898|1|9999040148|MR|Test|E|Lead 40148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040149|140149|989898|1|9999040149|MR|Test|E|Lead 40149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040150|140150|989898|1|9999040150|MR|Test|E|Lead 40150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040151|140151|989898|1|9999040151|MR|Test|E|Lead 40151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040152|140152|989898|1|9999040152|MR|Test|E|Lead 40152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040153|140153|989898|1|9999040153|MR|Test|E|Lead 40153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040154|140154|989898|1|9999040154|MR|Test|E|Lead 40154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040155|140155|989898|1|9999040155|MR|Test|E|Lead 40155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040156|140156|989898|1|9999040156|MR|Test|E|Lead 40156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040157|140157|989898|1|9999040157|MR|Test|E|Lead 40157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040158|140158|989898|1|9999040158|MR|Test|E|Lead 40158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040159|140159|989898|1|9999040159|MR|Test|E|Lead 40159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040160|140160|989898|1|9999040160|MR|Test|E|Lead 40160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040161|140161|989898|1|9999040161|MR|Test|E|Lead 40161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040162|140162|989898|1|9999040162|MR|Test|E|Lead 40162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040163|140163|989898|1|9999040163|MR|Test|E|Lead 40163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040164|140164|989898|1|9999040164|MR|Test|E|Lead 40164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040165|140165|989898|1|9999040165|MR|Test|E|Lead 40165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040166|140166|989898|1|9999040166|MR|Test|E|Lead 40166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040167|140167|989898|1|9999040167|MR|Test|E|Lead 40167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040168|140168|989898|1|9999040168|MR|Test|E|Lead 40168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040169|140169|989898|1|9999040169|MR|Test|E|Lead 40169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040170|140170|989898|1|9999040170|MR|Test|E|Lead 40170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040171|140171|989898|1|9999040171|MR|Test|E|Lead 40171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040172|140172|989898|1|9999040172|MR|Test|E|Lead 40172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040173|140173|989898|1|9999040173|MR|Test|E|Lead 40173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040174|140174|989898|1|9999040174|MR|Test|E|Lead 40174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040175|140175|989898|1|9999040175|MR|Test|E|Lead 40175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040176|140176|989898|1|9999040176|MR|Test|E|Lead 40176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040177|140177|989898|1|9999040177|MR|Test|E|Lead 40177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040178|140178|989898|1|9999040178|MR|Test|E|Lead 40178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040179|140179|989898|1|9999040179|MR|Test|E|Lead 40179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040180|140180|989898|1|9999040180|MR|Test|E|Lead 40180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040181|140181|989898|1|9999040181|MR|Test|E|Lead 40181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040182|140182|989898|1|9999040182|MR|Test|E|Lead 40182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040183|140183|989898|1|9999040183|MR|Test|E|Lead 40183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040184|140184|989898|1|9999040184|MR|Test|E|Lead 40184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040185|140185|989898|1|9999040185|MR|Test|E|Lead 40185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040186|140186|989898|1|9999040186|MR|Test|E|Lead 40186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040187|140187|989898|1|9999040187|MR|Test|E|Lead 40187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040188|140188|989898|1|9999040188|MR|Test|E|Lead 40188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040189|140189|989898|1|9999040189|MR|Test|E|Lead 40189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040190|140190|989898|1|9999040190|MR|Test|E|Lead 40190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040191|140191|989898|1|9999040191|MR|Test|E|Lead 40191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040192|140192|989898|1|9999040192|MR|Test|E|Lead 40192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040193|140193|989898|1|9999040193|MR|Test|E|Lead 40193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040194|140194|989898|1|9999040194|MR|Test|E|Lead 40194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040195|140195|989898|1|9999040195|MR|Test|E|Lead 40195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040196|140196|989898|1|9999040196|MR|Test|E|Lead 40196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040197|140197|989898|1|9999040197|MR|Test|E|Lead 40197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040198|140198|989898|1|9999040198|MR|Test|E|Lead 40198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040199|140199|989898|1|9999040199|MR|Test|E|Lead 40199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040200|140200|989898|1|9999040200|MR|Test|E|Lead 40200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040201|140201|989898|1|9999040201|MR|Test|E|Lead 40201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040202|140202|989898|1|9999040202|MR|Test|E|Lead 40202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040203|140203|989898|1|9999040203|MR|Test|E|Lead 40203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040204|140204|989898|1|9999040204|MR|Test|E|Lead 40204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040205|140205|989898|1|9999040205|MR|Test|E|Lead 40205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040206|140206|989898|1|9999040206|MR|Test|E|Lead 40206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040207|140207|989898|1|9999040207|MR|Test|E|Lead 40207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040208|140208|989898|1|9999040208|MR|Test|E|Lead 40208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040209|140209|989898|1|9999040209|MR|Test|E|Lead 40209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040210|140210|989898|1|9999040210|MR|Test|E|Lead 40210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040211|140211|989898|1|9999040211|MR|Test|E|Lead 40211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040212|140212|989898|1|9999040212|MR|Test|E|Lead 40212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040213|140213|989898|1|9999040213|MR|Test|E|Lead 40213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040214|140214|989898|1|9999040214|MR|Test|E|Lead 40214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040215|140215|989898|1|9999040215|MR|Test|E|Lead 40215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040216|140216|989898|1|9999040216|MR|Test|E|Lead 40216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040217|140217|989898|1|9999040217|MR|Test|E|Lead 40217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040218|140218|989898|1|9999040218|MR|Test|E|Lead 40218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040219|140219|989898|1|9999040219|MR|Test|E|Lead 40219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040220|140220|989898|1|9999040220|MR|Test|E|Lead 40220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040221|140221|989898|1|9999040221|MR|Test|E|Lead 40221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040222|140222|989898|1|9999040222|MR|Test|E|Lead 40222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040223|140223|989898|1|9999040223|MR|Test|E|Lead 40223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040224|140224|989898|1|9999040224|MR|Test|E|Lead 40224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040225|140225|989898|1|9999040225|MR|Test|E|Lead 40225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040226|140226|989898|1|9999040226|MR|Test|E|Lead 40226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040227|140227|989898|1|9999040227|MR|Test|E|Lead 40227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040228|140228|989898|1|9999040228|MR|Test|E|Lead 40228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040229|140229|989898|1|9999040229|MR|Test|E|Lead 40229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040230|140230|989898|1|9999040230|MR|Test|E|Lead 40230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040231|140231|989898|1|9999040231|MR|Test|E|Lead 40231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040232|140232|989898|1|9999040232|MR|Test|E|Lead 40232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040233|140233|989898|1|9999040233|MR|Test|E|Lead 40233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040234|140234|989898|1|9999040234|MR|Test|E|Lead 40234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040235|140235|989898|1|9999040235|MR|Test|E|Lead 40235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040236|140236|989898|1|9999040236|MR|Test|E|Lead 40236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040237|140237|989898|1|9999040237|MR|Test|E|Lead 40237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040238|140238|989898|1|9999040238|MR|Test|E|Lead 40238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040239|140239|989898|1|9999040239|MR|Test|E|Lead 40239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040240|140240|989898|1|9999040240|MR|Test|E|Lead 40240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040241|140241|989898|1|9999040241|MR|Test|E|Lead 40241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040242|140242|989898|1|9999040242|MR|Test|E|Lead 40242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040243|140243|989898|1|9999040243|MR|Test|E|Lead 40243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040244|140244|989898|1|9999040244|MR|Test|E|Lead 40244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040245|140245|989898|1|9999040245|MR|Test|E|Lead 40245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040246|140246|989898|1|9999040246|MR|Test|E|Lead 40246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040247|140247|989898|1|9999040247|MR|Test|E|Lead 40247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040248|140248|989898|1|9999040248|MR|Test|E|Lead 40248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040249|140249|989898|1|9999040249|MR|Test|E|Lead 40249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040250|140250|989898|1|9999040250|MR|Test|E|Lead 40250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040251|140251|989898|1|9999040251|MR|Test|E|Lead 40251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040252|140252|989898|1|9999040252|MR|Test|E|Lead 40252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040253|140253|989898|1|9999040253|MR|Test|E|Lead 40253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040254|140254|989898|1|9999040254|MR|Test|E|Lead 40254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040255|140255|989898|1|9999040255|MR|Test|E|Lead 40255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040256|140256|989898|1|9999040256|MR|Test|E|Lead 40256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040257|140257|989898|1|9999040257|MR|Test|E|Lead 40257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040258|140258|989898|1|9999040258|MR|Test|E|Lead 40258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040259|140259|989898|1|9999040259|MR|Test|E|Lead 40259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040260|140260|989898|1|9999040260|MR|Test|E|Lead 40260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040261|140261|989898|1|9999040261|MR|Test|E|Lead 40261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040262|140262|989898|1|9999040262|MR|Test|E|Lead 40262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040263|140263|989898|1|9999040263|MR|Test|E|Lead 40263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040264|140264|989898|1|9999040264|MR|Test|E|Lead 40264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040265|140265|989898|1|9999040265|MR|Test|E|Lead 40265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040266|140266|989898|1|9999040266|MR|Test|E|Lead 40266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040267|140267|989898|1|9999040267|MR|Test|E|Lead 40267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040268|140268|989898|1|9999040268|MR|Test|E|Lead 40268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040269|140269|989898|1|9999040269|MR|Test|E|Lead 40269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040270|140270|989898|1|9999040270|MR|Test|E|Lead 40270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040271|140271|989898|1|9999040271|MR|Test|E|Lead 40271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040272|140272|989898|1|9999040272|MR|Test|E|Lead 40272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040273|140273|989898|1|9999040273|MR|Test|E|Lead 40273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040274|140274|989898|1|9999040274|MR|Test|E|Lead 40274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040275|140275|989898|1|9999040275|MR|Test|E|Lead 40275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040276|140276|989898|1|9999040276|MR|Test|E|Lead 40276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040277|140277|989898|1|9999040277|MR|Test|E|Lead 40277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040278|140278|989898|1|9999040278|MR|Test|E|Lead 40278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040279|140279|989898|1|9999040279|MR|Test|E|Lead 40279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040280|140280|989898|1|9999040280|MR|Test|E|Lead 40280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040281|140281|989898|1|9999040281|MR|Test|E|Lead 40281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040282|140282|989898|1|9999040282|MR|Test|E|Lead 40282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040283|140283|989898|1|9999040283|MR|Test|E|Lead 40283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040284|140284|989898|1|9999040284|MR|Test|E|Lead 40284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040285|140285|989898|1|9999040285|MR|Test|E|Lead 40285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040286|140286|989898|1|9999040286|MR|Test|E|Lead 40286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040287|140287|989898|1|9999040287|MR|Test|E|Lead 40287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040288|140288|989898|1|9999040288|MR|Test|E|Lead 40288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040289|140289|989898|1|9999040289|MR|Test|E|Lead 40289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040290|140290|989898|1|9999040290|MR|Test|E|Lead 40290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040291|140291|989898|1|9999040291|MR|Test|E|Lead 40291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040292|140292|989898|1|9999040292|MR|Test|E|Lead 40292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040293|140293|989898|1|9999040293|MR|Test|E|Lead 40293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040294|140294|989898|1|9999040294|MR|Test|E|Lead 40294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040295|140295|989898|1|9999040295|MR|Test|E|Lead 40295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040296|140296|989898|1|9999040296|MR|Test|E|Lead 40296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040297|140297|989898|1|9999040297|MR|Test|E|Lead 40297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040298|140298|989898|1|9999040298|MR|Test|E|Lead 40298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040299|140299|989898|1|9999040299|MR|Test|E|Lead 40299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040300|140300|989898|1|9999040300|MR|Test|E|Lead 40300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040301|140301|989898|1|9999040301|MR|Test|E|Lead 40301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040302|140302|989898|1|9999040302|MR|Test|E|Lead 40302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040303|140303|989898|1|9999040303|MR|Test|E|Lead 40303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040304|140304|989898|1|9999040304|MR|Test|E|Lead 40304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040305|140305|989898|1|9999040305|MR|Test|E|Lead 40305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040306|140306|989898|1|9999040306|MR|Test|E|Lead 40306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040307|140307|989898|1|9999040307|MR|Test|E|Lead 40307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040308|140308|989898|1|9999040308|MR|Test|E|Lead 40308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040309|140309|989898|1|9999040309|MR|Test|E|Lead 40309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040310|140310|989898|1|9999040310|MR|Test|E|Lead 40310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040311|140311|989898|1|9999040311|MR|Test|E|Lead 40311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040312|140312|989898|1|9999040312|MR|Test|E|Lead 40312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040313|140313|989898|1|9999040313|MR|Test|E|Lead 40313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040314|140314|989898|1|9999040314|MR|Test|E|Lead 40314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040315|140315|989898|1|9999040315|MR|Test|E|Lead 40315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040316|140316|989898|1|9999040316|MR|Test|E|Lead 40316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040317|140317|989898|1|9999040317|MR|Test|E|Lead 40317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040318|140318|989898|1|9999040318|MR|Test|E|Lead 40318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040319|140319|989898|1|9999040319|MR|Test|E|Lead 40319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040320|140320|989898|1|9999040320|MR|Test|E|Lead 40320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040321|140321|989898|1|9999040321|MR|Test|E|Lead 40321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040322|140322|989898|1|9999040322|MR|Test|E|Lead 40322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040323|140323|989898|1|9999040323|MR|Test|E|Lead 40323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040324|140324|989898|1|9999040324|MR|Test|E|Lead 40324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040325|140325|989898|1|9999040325|MR|Test|E|Lead 40325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040326|140326|989898|1|9999040326|MR|Test|E|Lead 40326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040327|140327|989898|1|9999040327|MR|Test|E|Lead 40327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040328|140328|989898|1|9999040328|MR|Test|E|Lead 40328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040329|140329|989898|1|9999040329|MR|Test|E|Lead 40329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040330|140330|989898|1|9999040330|MR|Test|E|Lead 40330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040331|140331|989898|1|9999040331|MR|Test|E|Lead 40331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040332|140332|989898|1|9999040332|MR|Test|E|Lead 40332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040333|140333|989898|1|9999040333|MR|Test|E|Lead 40333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040334|140334|989898|1|9999040334|MR|Test|E|Lead 40334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040335|140335|989898|1|9999040335|MR|Test|E|Lead 40335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040336|140336|989898|1|9999040336|MR|Test|E|Lead 40336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040337|140337|989898|1|9999040337|MR|Test|E|Lead 40337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040338|140338|989898|1|9999040338|MR|Test|E|Lead 40338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040339|140339|989898|1|9999040339|MR|Test|E|Lead 40339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040340|140340|989898|1|9999040340|MR|Test|E|Lead 40340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040341|140341|989898|1|9999040341|MR|Test|E|Lead 40341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040342|140342|989898|1|9999040342|MR|Test|E|Lead 40342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040343|140343|989898|1|9999040343|MR|Test|E|Lead 40343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040344|140344|989898|1|9999040344|MR|Test|E|Lead 40344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040345|140345|989898|1|9999040345|MR|Test|E|Lead 40345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040346|140346|989898|1|9999040346|MR|Test|E|Lead 40346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040347|140347|989898|1|9999040347|MR|Test|E|Lead 40347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040348|140348|989898|1|9999040348|MR|Test|E|Lead 40348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040349|140349|989898|1|9999040349|MR|Test|E|Lead 40349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040350|140350|989898|1|9999040350|MR|Test|E|Lead 40350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040351|140351|989898|1|9999040351|MR|Test|E|Lead 40351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040352|140352|989898|1|9999040352|MR|Test|E|Lead 40352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040353|140353|989898|1|9999040353|MR|Test|E|Lead 40353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040354|140354|989898|1|9999040354|MR|Test|E|Lead 40354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040355|140355|989898|1|9999040355|MR|Test|E|Lead 40355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040356|140356|989898|1|9999040356|MR|Test|E|Lead 40356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040357|140357|989898|1|9999040357|MR|Test|E|Lead 40357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040358|140358|989898|1|9999040358|MR|Test|E|Lead 40358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040359|140359|989898|1|9999040359|MR|Test|E|Lead 40359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040360|140360|989898|1|9999040360|MR|Test|E|Lead 40360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040361|140361|989898|1|9999040361|MR|Test|E|Lead 40361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040362|140362|989898|1|9999040362|MR|Test|E|Lead 40362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040363|140363|989898|1|9999040363|MR|Test|E|Lead 40363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040364|140364|989898|1|9999040364|MR|Test|E|Lead 40364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040365|140365|989898|1|9999040365|MR|Test|E|Lead 40365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040366|140366|989898|1|9999040366|MR|Test|E|Lead 40366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040367|140367|989898|1|9999040367|MR|Test|E|Lead 40367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040368|140368|989898|1|9999040368|MR|Test|E|Lead 40368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040369|140369|989898|1|9999040369|MR|Test|E|Lead 40369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040370|140370|989898|1|9999040370|MR|Test|E|Lead 40370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040371|140371|989898|1|9999040371|MR|Test|E|Lead 40371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040372|140372|989898|1|9999040372|MR|Test|E|Lead 40372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040373|140373|989898|1|9999040373|MR|Test|E|Lead 40373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040374|140374|989898|1|9999040374|MR|Test|E|Lead 40374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040375|140375|989898|1|9999040375|MR|Test|E|Lead 40375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040376|140376|989898|1|9999040376|MR|Test|E|Lead 40376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040377|140377|989898|1|9999040377|MR|Test|E|Lead 40377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040378|140378|989898|1|9999040378|MR|Test|E|Lead 40378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040379|140379|989898|1|9999040379|MR|Test|E|Lead 40379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040380|140380|989898|1|9999040380|MR|Test|E|Lead 40380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040381|140381|989898|1|9999040381|MR|Test|E|Lead 40381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040382|140382|989898|1|9999040382|MR|Test|E|Lead 40382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040383|140383|989898|1|9999040383|MR|Test|E|Lead 40383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040384|140384|989898|1|9999040384|MR|Test|E|Lead 40384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040385|140385|989898|1|9999040385|MR|Test|E|Lead 40385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040386|140386|989898|1|9999040386|MR|Test|E|Lead 40386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040387|140387|989898|1|9999040387|MR|Test|E|Lead 40387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040388|140388|989898|1|9999040388|MR|Test|E|Lead 40388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040389|140389|989898|1|9999040389|MR|Test|E|Lead 40389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040390|140390|989898|1|9999040390|MR|Test|E|Lead 40390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040391|140391|989898|1|9999040391|MR|Test|E|Lead 40391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040392|140392|989898|1|9999040392|MR|Test|E|Lead 40392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040393|140393|989898|1|9999040393|MR|Test|E|Lead 40393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040394|140394|989898|1|9999040394|MR|Test|E|Lead 40394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040395|140395|989898|1|9999040395|MR|Test|E|Lead 40395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040396|140396|989898|1|9999040396|MR|Test|E|Lead 40396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040397|140397|989898|1|9999040397|MR|Test|E|Lead 40397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040398|140398|989898|1|9999040398|MR|Test|E|Lead 40398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040399|140399|989898|1|9999040399|MR|Test|E|Lead 40399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040400|140400|989898|1|9999040400|MR|Test|E|Lead 40400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040401|140401|989898|1|9999040401|MR|Test|E|Lead 40401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040402|140402|989898|1|9999040402|MR|Test|E|Lead 40402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040403|140403|989898|1|9999040403|MR|Test|E|Lead 40403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040404|140404|989898|1|9999040404|MR|Test|E|Lead 40404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040405|140405|989898|1|9999040405|MR|Test|E|Lead 40405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040406|140406|989898|1|9999040406|MR|Test|E|Lead 40406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040407|140407|989898|1|9999040407|MR|Test|E|Lead 40407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040408|140408|989898|1|9999040408|MR|Test|E|Lead 40408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040409|140409|989898|1|9999040409|MR|Test|E|Lead 40409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040410|140410|989898|1|9999040410|MR|Test|E|Lead 40410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040411|140411|989898|1|9999040411|MR|Test|E|Lead 40411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040412|140412|989898|1|9999040412|MR|Test|E|Lead 40412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040413|140413|989898|1|9999040413|MR|Test|E|Lead 40413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040414|140414|989898|1|9999040414|MR|Test|E|Lead 40414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040415|140415|989898|1|9999040415|MR|Test|E|Lead 40415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040416|140416|989898|1|9999040416|MR|Test|E|Lead 40416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040417|140417|989898|1|9999040417|MR|Test|E|Lead 40417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040418|140418|989898|1|9999040418|MR|Test|E|Lead 40418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040419|140419|989898|1|9999040419|MR|Test|E|Lead 40419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040420|140420|989898|1|9999040420|MR|Test|E|Lead 40420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040421|140421|989898|1|9999040421|MR|Test|E|Lead 40421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040422|140422|989898|1|9999040422|MR|Test|E|Lead 40422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040423|140423|989898|1|9999040423|MR|Test|E|Lead 40423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040424|140424|989898|1|9999040424|MR|Test|E|Lead 40424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040425|140425|989898|1|9999040425|MR|Test|E|Lead 40425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040426|140426|989898|1|9999040426|MR|Test|E|Lead 40426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040427|140427|989898|1|9999040427|MR|Test|E|Lead 40427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040428|140428|989898|1|9999040428|MR|Test|E|Lead 40428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040429|140429|989898|1|9999040429|MR|Test|E|Lead 40429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040430|140430|989898|1|9999040430|MR|Test|E|Lead 40430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040431|140431|989898|1|9999040431|MR|Test|E|Lead 40431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040432|140432|989898|1|9999040432|MR|Test|E|Lead 40432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040433|140433|989898|1|9999040433|MR|Test|E|Lead 40433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040434|140434|989898|1|9999040434|MR|Test|E|Lead 40434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040435|140435|989898|1|9999040435|MR|Test|E|Lead 40435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040436|140436|989898|1|9999040436|MR|Test|E|Lead 40436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040437|140437|989898|1|9999040437|MR|Test|E|Lead 40437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040438|140438|989898|1|9999040438|MR|Test|E|Lead 40438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040439|140439|989898|1|9999040439|MR|Test|E|Lead 40439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040440|140440|989898|1|9999040440|MR|Test|E|Lead 40440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040441|140441|989898|1|9999040441|MR|Test|E|Lead 40441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040442|140442|989898|1|9999040442|MR|Test|E|Lead 40442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040443|140443|989898|1|9999040443|MR|Test|E|Lead 40443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040444|140444|989898|1|9999040444|MR|Test|E|Lead 40444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040445|140445|989898|1|9999040445|MR|Test|E|Lead 40445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040446|140446|989898|1|9999040446|MR|Test|E|Lead 40446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040447|140447|989898|1|9999040447|MR|Test|E|Lead 40447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040448|140448|989898|1|9999040448|MR|Test|E|Lead 40448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040449|140449|989898|1|9999040449|MR|Test|E|Lead 40449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040450|140450|989898|1|9999040450|MR|Test|E|Lead 40450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040451|140451|989898|1|9999040451|MR|Test|E|Lead 40451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040452|140452|989898|1|9999040452|MR|Test|E|Lead 40452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040453|140453|989898|1|9999040453|MR|Test|E|Lead 40453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040454|140454|989898|1|9999040454|MR|Test|E|Lead 40454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040455|140455|989898|1|9999040455|MR|Test|E|Lead 40455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040456|140456|989898|1|9999040456|MR|Test|E|Lead 40456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040457|140457|989898|1|9999040457|MR|Test|E|Lead 40457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040458|140458|989898|1|9999040458|MR|Test|E|Lead 40458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040459|140459|989898|1|9999040459|MR|Test|E|Lead 40459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040460|140460|989898|1|9999040460|MR|Test|E|Lead 40460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040461|140461|989898|1|9999040461|MR|Test|E|Lead 40461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040462|140462|989898|1|9999040462|MR|Test|E|Lead 40462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040463|140463|989898|1|9999040463|MR|Test|E|Lead 40463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040464|140464|989898|1|9999040464|MR|Test|E|Lead 40464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040465|140465|989898|1|9999040465|MR|Test|E|Lead 40465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040466|140466|989898|1|9999040466|MR|Test|E|Lead 40466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040467|140467|989898|1|9999040467|MR|Test|E|Lead 40467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040468|140468|989898|1|9999040468|MR|Test|E|Lead 40468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040469|140469|989898|1|9999040469|MR|Test|E|Lead 40469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040470|140470|989898|1|9999040470|MR|Test|E|Lead 40470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040471|140471|989898|1|9999040471|MR|Test|E|Lead 40471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040472|140472|989898|1|9999040472|MR|Test|E|Lead 40472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040473|140473|989898|1|9999040473|MR|Test|E|Lead 40473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040474|140474|989898|1|9999040474|MR|Test|E|Lead 40474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040475|140475|989898|1|9999040475|MR|Test|E|Lead 40475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040476|140476|989898|1|9999040476|MR|Test|E|Lead 40476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040477|140477|989898|1|9999040477|MR|Test|E|Lead 40477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040478|140478|989898|1|9999040478|MR|Test|E|Lead 40478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040479|140479|989898|1|9999040479|MR|Test|E|Lead 40479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040480|140480|989898|1|9999040480|MR|Test|E|Lead 40480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040481|140481|989898|1|9999040481|MR|Test|E|Lead 40481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040482|140482|989898|1|9999040482|MR|Test|E|Lead 40482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040483|140483|989898|1|9999040483|MR|Test|E|Lead 40483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040484|140484|989898|1|9999040484|MR|Test|E|Lead 40484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040485|140485|989898|1|9999040485|MR|Test|E|Lead 40485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040486|140486|989898|1|9999040486|MR|Test|E|Lead 40486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040487|140487|989898|1|9999040487|MR|Test|E|Lead 40487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040488|140488|989898|1|9999040488|MR|Test|E|Lead 40488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040489|140489|989898|1|9999040489|MR|Test|E|Lead 40489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040490|140490|989898|1|9999040490|MR|Test|E|Lead 40490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040491|140491|989898|1|9999040491|MR|Test|E|Lead 40491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040492|140492|989898|1|9999040492|MR|Test|E|Lead 40492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040493|140493|989898|1|9999040493|MR|Test|E|Lead 40493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040494|140494|989898|1|9999040494|MR|Test|E|Lead 40494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040495|140495|989898|1|9999040495|MR|Test|E|Lead 40495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040496|140496|989898|1|9999040496|MR|Test|E|Lead 40496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040497|140497|989898|1|9999040497|MR|Test|E|Lead 40497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040498|140498|989898|1|9999040498|MR|Test|E|Lead 40498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040499|140499|989898|1|9999040499|MR|Test|E|Lead 40499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040500|140500|989898|1|9999040500|MR|Test|E|Lead 40500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040501|140501|989898|1|9999040501|MR|Test|E|Lead 40501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040502|140502|989898|1|9999040502|MR|Test|E|Lead 40502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040503|140503|989898|1|9999040503|MR|Test|E|Lead 40503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040504|140504|989898|1|9999040504|MR|Test|E|Lead 40504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040505|140505|989898|1|9999040505|MR|Test|E|Lead 40505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040506|140506|989898|1|9999040506|MR|Test|E|Lead 40506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040507|140507|989898|1|9999040507|MR|Test|E|Lead 40507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040508|140508|989898|1|9999040508|MR|Test|E|Lead 40508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040509|140509|989898|1|9999040509|MR|Test|E|Lead 40509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040510|140510|989898|1|9999040510|MR|Test|E|Lead 40510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040511|140511|989898|1|9999040511|MR|Test|E|Lead 40511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040512|140512|989898|1|9999040512|MR|Test|E|Lead 40512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040513|140513|989898|1|9999040513|MR|Test|E|Lead 40513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040514|140514|989898|1|9999040514|MR|Test|E|Lead 40514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040515|140515|989898|1|9999040515|MR|Test|E|Lead 40515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040516|140516|989898|1|9999040516|MR|Test|E|Lead 40516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040517|140517|989898|1|9999040517|MR|Test|E|Lead 40517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040518|140518|989898|1|9999040518|MR|Test|E|Lead 40518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040519|140519|989898|1|9999040519|MR|Test|E|Lead 40519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040520|140520|989898|1|9999040520|MR|Test|E|Lead 40520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040521|140521|989898|1|9999040521|MR|Test|E|Lead 40521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040522|140522|989898|1|9999040522|MR|Test|E|Lead 40522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040523|140523|989898|1|9999040523|MR|Test|E|Lead 40523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040524|140524|989898|1|9999040524|MR|Test|E|Lead 40524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040525|140525|989898|1|9999040525|MR|Test|E|Lead 40525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040526|140526|989898|1|9999040526|MR|Test|E|Lead 40526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040527|140527|989898|1|9999040527|MR|Test|E|Lead 40527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040528|140528|989898|1|9999040528|MR|Test|E|Lead 40528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040529|140529|989898|1|9999040529|MR|Test|E|Lead 40529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040530|140530|989898|1|9999040530|MR|Test|E|Lead 40530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040531|140531|989898|1|9999040531|MR|Test|E|Lead 40531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040532|140532|989898|1|9999040532|MR|Test|E|Lead 40532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040533|140533|989898|1|9999040533|MR|Test|E|Lead 40533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040534|140534|989898|1|9999040534|MR|Test|E|Lead 40534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040535|140535|989898|1|9999040535|MR|Test|E|Lead 40535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040536|140536|989898|1|9999040536|MR|Test|E|Lead 40536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040537|140537|989898|1|9999040537|MR|Test|E|Lead 40537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040538|140538|989898|1|9999040538|MR|Test|E|Lead 40538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040539|140539|989898|1|9999040539|MR|Test|E|Lead 40539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040540|140540|989898|1|9999040540|MR|Test|E|Lead 40540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040541|140541|989898|1|9999040541|MR|Test|E|Lead 40541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040542|140542|989898|1|9999040542|MR|Test|E|Lead 40542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040543|140543|989898|1|9999040543|MR|Test|E|Lead 40543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040544|140544|989898|1|9999040544|MR|Test|E|Lead 40544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040545|140545|989898|1|9999040545|MR|Test|E|Lead 40545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040546|140546|989898|1|9999040546|MR|Test|E|Lead 40546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040547|140547|989898|1|9999040547|MR|Test|E|Lead 40547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040548|140548|989898|1|9999040548|MR|Test|E|Lead 40548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040549|140549|989898|1|9999040549|MR|Test|E|Lead 40549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040550|140550|989898|1|9999040550|MR|Test|E|Lead 40550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040551|140551|989898|1|9999040551|MR|Test|E|Lead 40551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040552|140552|989898|1|9999040552|MR|Test|E|Lead 40552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040553|140553|989898|1|9999040553|MR|Test|E|Lead 40553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040554|140554|989898|1|9999040554|MR|Test|E|Lead 40554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040555|140555|989898|1|9999040555|MR|Test|E|Lead 40555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040556|140556|989898|1|9999040556|MR|Test|E|Lead 40556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040557|140557|989898|1|9999040557|MR|Test|E|Lead 40557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040558|140558|989898|1|9999040558|MR|Test|E|Lead 40558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040559|140559|989898|1|9999040559|MR|Test|E|Lead 40559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040560|140560|989898|1|9999040560|MR|Test|E|Lead 40560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040561|140561|989898|1|9999040561|MR|Test|E|Lead 40561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040562|140562|989898|1|9999040562|MR|Test|E|Lead 40562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040563|140563|989898|1|9999040563|MR|Test|E|Lead 40563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040564|140564|989898|1|9999040564|MR|Test|E|Lead 40564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040565|140565|989898|1|9999040565|MR|Test|E|Lead 40565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040566|140566|989898|1|9999040566|MR|Test|E|Lead 40566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040567|140567|989898|1|9999040567|MR|Test|E|Lead 40567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040568|140568|989898|1|9999040568|MR|Test|E|Lead 40568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040569|140569|989898|1|9999040569|MR|Test|E|Lead 40569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040570|140570|989898|1|9999040570|MR|Test|E|Lead 40570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040571|140571|989898|1|9999040571|MR|Test|E|Lead 40571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040572|140572|989898|1|9999040572|MR|Test|E|Lead 40572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040573|140573|989898|1|9999040573|MR|Test|E|Lead 40573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040574|140574|989898|1|9999040574|MR|Test|E|Lead 40574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040575|140575|989898|1|9999040575|MR|Test|E|Lead 40575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040576|140576|989898|1|9999040576|MR|Test|E|Lead 40576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040577|140577|989898|1|9999040577|MR|Test|E|Lead 40577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040578|140578|989898|1|9999040578|MR|Test|E|Lead 40578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040579|140579|989898|1|9999040579|MR|Test|E|Lead 40579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040580|140580|989898|1|9999040580|MR|Test|E|Lead 40580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040581|140581|989898|1|9999040581|MR|Test|E|Lead 40581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040582|140582|989898|1|9999040582|MR|Test|E|Lead 40582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040583|140583|989898|1|9999040583|MR|Test|E|Lead 40583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040584|140584|989898|1|9999040584|MR|Test|E|Lead 40584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040585|140585|989898|1|9999040585|MR|Test|E|Lead 40585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040586|140586|989898|1|9999040586|MR|Test|E|Lead 40586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040587|140587|989898|1|9999040587|MR|Test|E|Lead 40587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040588|140588|989898|1|9999040588|MR|Test|E|Lead 40588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040589|140589|989898|1|9999040589|MR|Test|E|Lead 40589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040590|140590|989898|1|9999040590|MR|Test|E|Lead 40590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040591|140591|989898|1|9999040591|MR|Test|E|Lead 40591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040592|140592|989898|1|9999040592|MR|Test|E|Lead 40592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040593|140593|989898|1|9999040593|MR|Test|E|Lead 40593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040594|140594|989898|1|9999040594|MR|Test|E|Lead 40594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040595|140595|989898|1|9999040595|MR|Test|E|Lead 40595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040596|140596|989898|1|9999040596|MR|Test|E|Lead 40596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040597|140597|989898|1|9999040597|MR|Test|E|Lead 40597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040598|140598|989898|1|9999040598|MR|Test|E|Lead 40598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040599|140599|989898|1|9999040599|MR|Test|E|Lead 40599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040600|140600|989898|1|9999040600|MR|Test|E|Lead 40600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040601|140601|989898|1|9999040601|MR|Test|E|Lead 40601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040602|140602|989898|1|9999040602|MR|Test|E|Lead 40602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040603|140603|989898|1|9999040603|MR|Test|E|Lead 40603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040604|140604|989898|1|9999040604|MR|Test|E|Lead 40604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040605|140605|989898|1|9999040605|MR|Test|E|Lead 40605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040606|140606|989898|1|9999040606|MR|Test|E|Lead 40606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040607|140607|989898|1|9999040607|MR|Test|E|Lead 40607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040608|140608|989898|1|9999040608|MR|Test|E|Lead 40608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040609|140609|989898|1|9999040609|MR|Test|E|Lead 40609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040610|140610|989898|1|9999040610|MR|Test|E|Lead 40610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040611|140611|989898|1|9999040611|MR|Test|E|Lead 40611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040612|140612|989898|1|9999040612|MR|Test|E|Lead 40612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040613|140613|989898|1|9999040613|MR|Test|E|Lead 40613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040614|140614|989898|1|9999040614|MR|Test|E|Lead 40614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040615|140615|989898|1|9999040615|MR|Test|E|Lead 40615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040616|140616|989898|1|9999040616|MR|Test|E|Lead 40616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040617|140617|989898|1|9999040617|MR|Test|E|Lead 40617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040618|140618|989898|1|9999040618|MR|Test|E|Lead 40618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040619|140619|989898|1|9999040619|MR|Test|E|Lead 40619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040620|140620|989898|1|9999040620|MR|Test|E|Lead 40620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040621|140621|989898|1|9999040621|MR|Test|E|Lead 40621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040622|140622|989898|1|9999040622|MR|Test|E|Lead 40622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040623|140623|989898|1|9999040623|MR|Test|E|Lead 40623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040624|140624|989898|1|9999040624|MR|Test|E|Lead 40624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040625|140625|989898|1|9999040625|MR|Test|E|Lead 40625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040626|140626|989898|1|9999040626|MR|Test|E|Lead 40626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040627|140627|989898|1|9999040627|MR|Test|E|Lead 40627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040628|140628|989898|1|9999040628|MR|Test|E|Lead 40628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040629|140629|989898|1|9999040629|MR|Test|E|Lead 40629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040630|140630|989898|1|9999040630|MR|Test|E|Lead 40630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040631|140631|989898|1|9999040631|MR|Test|E|Lead 40631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040632|140632|989898|1|9999040632|MR|Test|E|Lead 40632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040633|140633|989898|1|9999040633|MR|Test|E|Lead 40633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040634|140634|989898|1|9999040634|MR|Test|E|Lead 40634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040635|140635|989898|1|9999040635|MR|Test|E|Lead 40635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040636|140636|989898|1|9999040636|MR|Test|E|Lead 40636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040637|140637|989898|1|9999040637|MR|Test|E|Lead 40637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040638|140638|989898|1|9999040638|MR|Test|E|Lead 40638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040639|140639|989898|1|9999040639|MR|Test|E|Lead 40639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040640|140640|989898|1|9999040640|MR|Test|E|Lead 40640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040641|140641|989898|1|9999040641|MR|Test|E|Lead 40641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040642|140642|989898|1|9999040642|MR|Test|E|Lead 40642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040643|140643|989898|1|9999040643|MR|Test|E|Lead 40643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040644|140644|989898|1|9999040644|MR|Test|E|Lead 40644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040645|140645|989898|1|9999040645|MR|Test|E|Lead 40645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040646|140646|989898|1|9999040646|MR|Test|E|Lead 40646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040647|140647|989898|1|9999040647|MR|Test|E|Lead 40647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040648|140648|989898|1|9999040648|MR|Test|E|Lead 40648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040649|140649|989898|1|9999040649|MR|Test|E|Lead 40649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040650|140650|989898|1|9999040650|MR|Test|E|Lead 40650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040651|140651|989898|1|9999040651|MR|Test|E|Lead 40651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040652|140652|989898|1|9999040652|MR|Test|E|Lead 40652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040653|140653|989898|1|9999040653|MR|Test|E|Lead 40653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040654|140654|989898|1|9999040654|MR|Test|E|Lead 40654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040655|140655|989898|1|9999040655|MR|Test|E|Lead 40655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040656|140656|989898|1|9999040656|MR|Test|E|Lead 40656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040657|140657|989898|1|9999040657|MR|Test|E|Lead 40657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040658|140658|989898|1|9999040658|MR|Test|E|Lead 40658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040659|140659|989898|1|9999040659|MR|Test|E|Lead 40659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040660|140660|989898|1|9999040660|MR|Test|E|Lead 40660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040661|140661|989898|1|9999040661|MR|Test|E|Lead 40661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040662|140662|989898|1|9999040662|MR|Test|E|Lead 40662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040663|140663|989898|1|9999040663|MR|Test|E|Lead 40663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040664|140664|989898|1|9999040664|MR|Test|E|Lead 40664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040665|140665|989898|1|9999040665|MR|Test|E|Lead 40665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040666|140666|989898|1|9999040666|MR|Test|E|Lead 40666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040667|140667|989898|1|9999040667|MR|Test|E|Lead 40667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040668|140668|989898|1|9999040668|MR|Test|E|Lead 40668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040669|140669|989898|1|9999040669|MR|Test|E|Lead 40669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040670|140670|989898|1|9999040670|MR|Test|E|Lead 40670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040671|140671|989898|1|9999040671|MR|Test|E|Lead 40671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040672|140672|989898|1|9999040672|MR|Test|E|Lead 40672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040673|140673|989898|1|9999040673|MR|Test|E|Lead 40673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040674|140674|989898|1|9999040674|MR|Test|E|Lead 40674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040675|140675|989898|1|9999040675|MR|Test|E|Lead 40675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040676|140676|989898|1|9999040676|MR|Test|E|Lead 40676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040677|140677|989898|1|9999040677|MR|Test|E|Lead 40677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040678|140678|989898|1|9999040678|MR|Test|E|Lead 40678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040679|140679|989898|1|9999040679|MR|Test|E|Lead 40679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040680|140680|989898|1|9999040680|MR|Test|E|Lead 40680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040681|140681|989898|1|9999040681|MR|Test|E|Lead 40681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040682|140682|989898|1|9999040682|MR|Test|E|Lead 40682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040683|140683|989898|1|9999040683|MR|Test|E|Lead 40683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040684|140684|989898|1|9999040684|MR|Test|E|Lead 40684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040685|140685|989898|1|9999040685|MR|Test|E|Lead 40685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040686|140686|989898|1|9999040686|MR|Test|E|Lead 40686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040687|140687|989898|1|9999040687|MR|Test|E|Lead 40687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040688|140688|989898|1|9999040688|MR|Test|E|Lead 40688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040689|140689|989898|1|9999040689|MR|Test|E|Lead 40689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040690|140690|989898|1|9999040690|MR|Test|E|Lead 40690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040691|140691|989898|1|9999040691|MR|Test|E|Lead 40691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040692|140692|989898|1|9999040692|MR|Test|E|Lead 40692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040693|140693|989898|1|9999040693|MR|Test|E|Lead 40693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040694|140694|989898|1|9999040694|MR|Test|E|Lead 40694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040695|140695|989898|1|9999040695|MR|Test|E|Lead 40695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040696|140696|989898|1|9999040696|MR|Test|E|Lead 40696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040697|140697|989898|1|9999040697|MR|Test|E|Lead 40697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040698|140698|989898|1|9999040698|MR|Test|E|Lead 40698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040699|140699|989898|1|9999040699|MR|Test|E|Lead 40699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040700|140700|989898|1|9999040700|MR|Test|E|Lead 40700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040701|140701|989898|1|9999040701|MR|Test|E|Lead 40701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040702|140702|989898|1|9999040702|MR|Test|E|Lead 40702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040703|140703|989898|1|9999040703|MR|Test|E|Lead 40703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040704|140704|989898|1|9999040704|MR|Test|E|Lead 40704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040705|140705|989898|1|9999040705|MR|Test|E|Lead 40705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040706|140706|989898|1|9999040706|MR|Test|E|Lead 40706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040707|140707|989898|1|9999040707|MR|Test|E|Lead 40707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040708|140708|989898|1|9999040708|MR|Test|E|Lead 40708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040709|140709|989898|1|9999040709|MR|Test|E|Lead 40709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040710|140710|989898|1|9999040710|MR|Test|E|Lead 40710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040711|140711|989898|1|9999040711|MR|Test|E|Lead 40711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040712|140712|989898|1|9999040712|MR|Test|E|Lead 40712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040713|140713|989898|1|9999040713|MR|Test|E|Lead 40713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040714|140714|989898|1|9999040714|MR|Test|E|Lead 40714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040715|140715|989898|1|9999040715|MR|Test|E|Lead 40715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040716|140716|989898|1|9999040716|MR|Test|E|Lead 40716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040717|140717|989898|1|9999040717|MR|Test|E|Lead 40717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040718|140718|989898|1|9999040718|MR|Test|E|Lead 40718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040719|140719|989898|1|9999040719|MR|Test|E|Lead 40719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040720|140720|989898|1|9999040720|MR|Test|E|Lead 40720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040721|140721|989898|1|9999040721|MR|Test|E|Lead 40721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040722|140722|989898|1|9999040722|MR|Test|E|Lead 40722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040723|140723|989898|1|9999040723|MR|Test|E|Lead 40723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040724|140724|989898|1|9999040724|MR|Test|E|Lead 40724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040725|140725|989898|1|9999040725|MR|Test|E|Lead 40725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040726|140726|989898|1|9999040726|MR|Test|E|Lead 40726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040727|140727|989898|1|9999040727|MR|Test|E|Lead 40727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040728|140728|989898|1|9999040728|MR|Test|E|Lead 40728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040729|140729|989898|1|9999040729|MR|Test|E|Lead 40729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040730|140730|989898|1|9999040730|MR|Test|E|Lead 40730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040731|140731|989898|1|9999040731|MR|Test|E|Lead 40731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040732|140732|989898|1|9999040732|MR|Test|E|Lead 40732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040733|140733|989898|1|9999040733|MR|Test|E|Lead 40733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040734|140734|989898|1|9999040734|MR|Test|E|Lead 40734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040735|140735|989898|1|9999040735|MR|Test|E|Lead 40735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040736|140736|989898|1|9999040736|MR|Test|E|Lead 40736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040737|140737|989898|1|9999040737|MR|Test|E|Lead 40737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040738|140738|989898|1|9999040738|MR|Test|E|Lead 40738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040739|140739|989898|1|9999040739|MR|Test|E|Lead 40739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040740|140740|989898|1|9999040740|MR|Test|E|Lead 40740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040741|140741|989898|1|9999040741|MR|Test|E|Lead 40741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040742|140742|989898|1|9999040742|MR|Test|E|Lead 40742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040743|140743|989898|1|9999040743|MR|Test|E|Lead 40743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040744|140744|989898|1|9999040744|MR|Test|E|Lead 40744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040745|140745|989898|1|9999040745|MR|Test|E|Lead 40745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040746|140746|989898|1|9999040746|MR|Test|E|Lead 40746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040747|140747|989898|1|9999040747|MR|Test|E|Lead 40747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040748|140748|989898|1|9999040748|MR|Test|E|Lead 40748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040749|140749|989898|1|9999040749|MR|Test|E|Lead 40749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040750|140750|989898|1|9999040750|MR|Test|E|Lead 40750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040751|140751|989898|1|9999040751|MR|Test|E|Lead 40751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040752|140752|989898|1|9999040752|MR|Test|E|Lead 40752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040753|140753|989898|1|9999040753|MR|Test|E|Lead 40753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040754|140754|989898|1|9999040754|MR|Test|E|Lead 40754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040755|140755|989898|1|9999040755|MR|Test|E|Lead 40755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040756|140756|989898|1|9999040756|MR|Test|E|Lead 40756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040757|140757|989898|1|9999040757|MR|Test|E|Lead 40757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040758|140758|989898|1|9999040758|MR|Test|E|Lead 40758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040759|140759|989898|1|9999040759|MR|Test|E|Lead 40759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040760|140760|989898|1|9999040760|MR|Test|E|Lead 40760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040761|140761|989898|1|9999040761|MR|Test|E|Lead 40761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040762|140762|989898|1|9999040762|MR|Test|E|Lead 40762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040763|140763|989898|1|9999040763|MR|Test|E|Lead 40763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040764|140764|989898|1|9999040764|MR|Test|E|Lead 40764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040765|140765|989898|1|9999040765|MR|Test|E|Lead 40765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040766|140766|989898|1|9999040766|MR|Test|E|Lead 40766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040767|140767|989898|1|9999040767|MR|Test|E|Lead 40767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040768|140768|989898|1|9999040768|MR|Test|E|Lead 40768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040769|140769|989898|1|9999040769|MR|Test|E|Lead 40769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040770|140770|989898|1|9999040770|MR|Test|E|Lead 40770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040771|140771|989898|1|9999040771|MR|Test|E|Lead 40771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040772|140772|989898|1|9999040772|MR|Test|E|Lead 40772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040773|140773|989898|1|9999040773|MR|Test|E|Lead 40773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040774|140774|989898|1|9999040774|MR|Test|E|Lead 40774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040775|140775|989898|1|9999040775|MR|Test|E|Lead 40775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040776|140776|989898|1|9999040776|MR|Test|E|Lead 40776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040777|140777|989898|1|9999040777|MR|Test|E|Lead 40777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040778|140778|989898|1|9999040778|MR|Test|E|Lead 40778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040779|140779|989898|1|9999040779|MR|Test|E|Lead 40779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040780|140780|989898|1|9999040780|MR|Test|E|Lead 40780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040781|140781|989898|1|9999040781|MR|Test|E|Lead 40781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040782|140782|989898|1|9999040782|MR|Test|E|Lead 40782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040783|140783|989898|1|9999040783|MR|Test|E|Lead 40783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040784|140784|989898|1|9999040784|MR|Test|E|Lead 40784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040785|140785|989898|1|9999040785|MR|Test|E|Lead 40785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040786|140786|989898|1|9999040786|MR|Test|E|Lead 40786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040787|140787|989898|1|9999040787|MR|Test|E|Lead 40787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040788|140788|989898|1|9999040788|MR|Test|E|Lead 40788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040789|140789|989898|1|9999040789|MR|Test|E|Lead 40789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040790|140790|989898|1|9999040790|MR|Test|E|Lead 40790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040791|140791|989898|1|9999040791|MR|Test|E|Lead 40791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040792|140792|989898|1|9999040792|MR|Test|E|Lead 40792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040793|140793|989898|1|9999040793|MR|Test|E|Lead 40793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040794|140794|989898|1|9999040794|MR|Test|E|Lead 40794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040795|140795|989898|1|9999040795|MR|Test|E|Lead 40795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040796|140796|989898|1|9999040796|MR|Test|E|Lead 40796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040797|140797|989898|1|9999040797|MR|Test|E|Lead 40797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040798|140798|989898|1|9999040798|MR|Test|E|Lead 40798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040799|140799|989898|1|9999040799|MR|Test|E|Lead 40799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040800|140800|989898|1|9999040800|MR|Test|E|Lead 40800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040801|140801|989898|1|9999040801|MR|Test|E|Lead 40801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040802|140802|989898|1|9999040802|MR|Test|E|Lead 40802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040803|140803|989898|1|9999040803|MR|Test|E|Lead 40803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040804|140804|989898|1|9999040804|MR|Test|E|Lead 40804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040805|140805|989898|1|9999040805|MR|Test|E|Lead 40805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040806|140806|989898|1|9999040806|MR|Test|E|Lead 40806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040807|140807|989898|1|9999040807|MR|Test|E|Lead 40807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040808|140808|989898|1|9999040808|MR|Test|E|Lead 40808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040809|140809|989898|1|9999040809|MR|Test|E|Lead 40809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040810|140810|989898|1|9999040810|MR|Test|E|Lead 40810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040811|140811|989898|1|9999040811|MR|Test|E|Lead 40811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040812|140812|989898|1|9999040812|MR|Test|E|Lead 40812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040813|140813|989898|1|9999040813|MR|Test|E|Lead 40813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040814|140814|989898|1|9999040814|MR|Test|E|Lead 40814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040815|140815|989898|1|9999040815|MR|Test|E|Lead 40815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040816|140816|989898|1|9999040816|MR|Test|E|Lead 40816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040817|140817|989898|1|9999040817|MR|Test|E|Lead 40817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040818|140818|989898|1|9999040818|MR|Test|E|Lead 40818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040819|140819|989898|1|9999040819|MR|Test|E|Lead 40819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040820|140820|989898|1|9999040820|MR|Test|E|Lead 40820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040821|140821|989898|1|9999040821|MR|Test|E|Lead 40821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040822|140822|989898|1|9999040822|MR|Test|E|Lead 40822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040823|140823|989898|1|9999040823|MR|Test|E|Lead 40823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040824|140824|989898|1|9999040824|MR|Test|E|Lead 40824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040825|140825|989898|1|9999040825|MR|Test|E|Lead 40825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040826|140826|989898|1|9999040826|MR|Test|E|Lead 40826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040827|140827|989898|1|9999040827|MR|Test|E|Lead 40827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040828|140828|989898|1|9999040828|MR|Test|E|Lead 40828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040829|140829|989898|1|9999040829|MR|Test|E|Lead 40829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040830|140830|989898|1|9999040830|MR|Test|E|Lead 40830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040831|140831|989898|1|9999040831|MR|Test|E|Lead 40831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040832|140832|989898|1|9999040832|MR|Test|E|Lead 40832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040833|140833|989898|1|9999040833|MR|Test|E|Lead 40833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040834|140834|989898|1|9999040834|MR|Test|E|Lead 40834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040835|140835|989898|1|9999040835|MR|Test|E|Lead 40835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040836|140836|989898|1|9999040836|MR|Test|E|Lead 40836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040837|140837|989898|1|9999040837|MR|Test|E|Lead 40837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040838|140838|989898|1|9999040838|MR|Test|E|Lead 40838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040839|140839|989898|1|9999040839|MR|Test|E|Lead 40839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040840|140840|989898|1|9999040840|MR|Test|E|Lead 40840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040841|140841|989898|1|9999040841|MR|Test|E|Lead 40841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040842|140842|989898|1|9999040842|MR|Test|E|Lead 40842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040843|140843|989898|1|9999040843|MR|Test|E|Lead 40843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040844|140844|989898|1|9999040844|MR|Test|E|Lead 40844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040845|140845|989898|1|9999040845|MR|Test|E|Lead 40845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040846|140846|989898|1|9999040846|MR|Test|E|Lead 40846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040847|140847|989898|1|9999040847|MR|Test|E|Lead 40847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040848|140848|989898|1|9999040848|MR|Test|E|Lead 40848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040849|140849|989898|1|9999040849|MR|Test|E|Lead 40849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040850|140850|989898|1|9999040850|MR|Test|E|Lead 40850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040851|140851|989898|1|9999040851|MR|Test|E|Lead 40851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040852|140852|989898|1|9999040852|MR|Test|E|Lead 40852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040853|140853|989898|1|9999040853|MR|Test|E|Lead 40853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040854|140854|989898|1|9999040854|MR|Test|E|Lead 40854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040855|140855|989898|1|9999040855|MR|Test|E|Lead 40855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040856|140856|989898|1|9999040856|MR|Test|E|Lead 40856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040857|140857|989898|1|9999040857|MR|Test|E|Lead 40857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040858|140858|989898|1|9999040858|MR|Test|E|Lead 40858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040859|140859|989898|1|9999040859|MR|Test|E|Lead 40859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040860|140860|989898|1|9999040860|MR|Test|E|Lead 40860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040861|140861|989898|1|9999040861|MR|Test|E|Lead 40861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040862|140862|989898|1|9999040862|MR|Test|E|Lead 40862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040863|140863|989898|1|9999040863|MR|Test|E|Lead 40863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040864|140864|989898|1|9999040864|MR|Test|E|Lead 40864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040865|140865|989898|1|9999040865|MR|Test|E|Lead 40865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040866|140866|989898|1|9999040866|MR|Test|E|Lead 40866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040867|140867|989898|1|9999040867|MR|Test|E|Lead 40867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040868|140868|989898|1|9999040868|MR|Test|E|Lead 40868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040869|140869|989898|1|9999040869|MR|Test|E|Lead 40869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040870|140870|989898|1|9999040870|MR|Test|E|Lead 40870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040871|140871|989898|1|9999040871|MR|Test|E|Lead 40871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040872|140872|989898|1|9999040872|MR|Test|E|Lead 40872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040873|140873|989898|1|9999040873|MR|Test|E|Lead 40873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040874|140874|989898|1|9999040874|MR|Test|E|Lead 40874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040875|140875|989898|1|9999040875|MR|Test|E|Lead 40875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040876|140876|989898|1|9999040876|MR|Test|E|Lead 40876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040877|140877|989898|1|9999040877|MR|Test|E|Lead 40877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040878|140878|989898|1|9999040878|MR|Test|E|Lead 40878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040879|140879|989898|1|9999040879|MR|Test|E|Lead 40879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040880|140880|989898|1|9999040880|MR|Test|E|Lead 40880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040881|140881|989898|1|9999040881|MR|Test|E|Lead 40881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040882|140882|989898|1|9999040882|MR|Test|E|Lead 40882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040883|140883|989898|1|9999040883|MR|Test|E|Lead 40883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040884|140884|989898|1|9999040884|MR|Test|E|Lead 40884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040885|140885|989898|1|9999040885|MR|Test|E|Lead 40885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040886|140886|989898|1|9999040886|MR|Test|E|Lead 40886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040887|140887|989898|1|9999040887|MR|Test|E|Lead 40887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040888|140888|989898|1|9999040888|MR|Test|E|Lead 40888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040889|140889|989898|1|9999040889|MR|Test|E|Lead 40889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040890|140890|989898|1|9999040890|MR|Test|E|Lead 40890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040891|140891|989898|1|9999040891|MR|Test|E|Lead 40891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040892|140892|989898|1|9999040892|MR|Test|E|Lead 40892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040893|140893|989898|1|9999040893|MR|Test|E|Lead 40893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040894|140894|989898|1|9999040894|MR|Test|E|Lead 40894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040895|140895|989898|1|9999040895|MR|Test|E|Lead 40895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040896|140896|989898|1|9999040896|MR|Test|E|Lead 40896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040897|140897|989898|1|9999040897|MR|Test|E|Lead 40897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040898|140898|989898|1|9999040898|MR|Test|E|Lead 40898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040899|140899|989898|1|9999040899|MR|Test|E|Lead 40899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040900|140900|989898|1|9999040900|MR|Test|E|Lead 40900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040901|140901|989898|1|9999040901|MR|Test|E|Lead 40901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040902|140902|989898|1|9999040902|MR|Test|E|Lead 40902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040903|140903|989898|1|9999040903|MR|Test|E|Lead 40903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040904|140904|989898|1|9999040904|MR|Test|E|Lead 40904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040905|140905|989898|1|9999040905|MR|Test|E|Lead 40905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040906|140906|989898|1|9999040906|MR|Test|E|Lead 40906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040907|140907|989898|1|9999040907|MR|Test|E|Lead 40907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040908|140908|989898|1|9999040908|MR|Test|E|Lead 40908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040909|140909|989898|1|9999040909|MR|Test|E|Lead 40909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040910|140910|989898|1|9999040910|MR|Test|E|Lead 40910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040911|140911|989898|1|9999040911|MR|Test|E|Lead 40911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040912|140912|989898|1|9999040912|MR|Test|E|Lead 40912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040913|140913|989898|1|9999040913|MR|Test|E|Lead 40913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040914|140914|989898|1|9999040914|MR|Test|E|Lead 40914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040915|140915|989898|1|9999040915|MR|Test|E|Lead 40915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040916|140916|989898|1|9999040916|MR|Test|E|Lead 40916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040917|140917|989898|1|9999040917|MR|Test|E|Lead 40917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040918|140918|989898|1|9999040918|MR|Test|E|Lead 40918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040919|140919|989898|1|9999040919|MR|Test|E|Lead 40919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040920|140920|989898|1|9999040920|MR|Test|E|Lead 40920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040921|140921|989898|1|9999040921|MR|Test|E|Lead 40921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040922|140922|989898|1|9999040922|MR|Test|E|Lead 40922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040923|140923|989898|1|9999040923|MR|Test|E|Lead 40923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040924|140924|989898|1|9999040924|MR|Test|E|Lead 40924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040925|140925|989898|1|9999040925|MR|Test|E|Lead 40925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040926|140926|989898|1|9999040926|MR|Test|E|Lead 40926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040927|140927|989898|1|9999040927|MR|Test|E|Lead 40927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040928|140928|989898|1|9999040928|MR|Test|E|Lead 40928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040929|140929|989898|1|9999040929|MR|Test|E|Lead 40929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040930|140930|989898|1|9999040930|MR|Test|E|Lead 40930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040931|140931|989898|1|9999040931|MR|Test|E|Lead 40931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040932|140932|989898|1|9999040932|MR|Test|E|Lead 40932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040933|140933|989898|1|9999040933|MR|Test|E|Lead 40933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040934|140934|989898|1|9999040934|MR|Test|E|Lead 40934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040935|140935|989898|1|9999040935|MR|Test|E|Lead 40935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040936|140936|989898|1|9999040936|MR|Test|E|Lead 40936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040937|140937|989898|1|9999040937|MR|Test|E|Lead 40937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040938|140938|989898|1|9999040938|MR|Test|E|Lead 40938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040939|140939|989898|1|9999040939|MR|Test|E|Lead 40939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040940|140940|989898|1|9999040940|MR|Test|E|Lead 40940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040941|140941|989898|1|9999040941|MR|Test|E|Lead 40941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040942|140942|989898|1|9999040942|MR|Test|E|Lead 40942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040943|140943|989898|1|9999040943|MR|Test|E|Lead 40943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040944|140944|989898|1|9999040944|MR|Test|E|Lead 40944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040945|140945|989898|1|9999040945|MR|Test|E|Lead 40945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040946|140946|989898|1|9999040946|MR|Test|E|Lead 40946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040947|140947|989898|1|9999040947|MR|Test|E|Lead 40947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040948|140948|989898|1|9999040948|MR|Test|E|Lead 40948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040949|140949|989898|1|9999040949|MR|Test|E|Lead 40949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040950|140950|989898|1|9999040950|MR|Test|E|Lead 40950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040951|140951|989898|1|9999040951|MR|Test|E|Lead 40951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040952|140952|989898|1|9999040952|MR|Test|E|Lead 40952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040953|140953|989898|1|9999040953|MR|Test|E|Lead 40953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040954|140954|989898|1|9999040954|MR|Test|E|Lead 40954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040955|140955|989898|1|9999040955|MR|Test|E|Lead 40955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040956|140956|989898|1|9999040956|MR|Test|E|Lead 40956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040957|140957|989898|1|9999040957|MR|Test|E|Lead 40957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040958|140958|989898|1|9999040958|MR|Test|E|Lead 40958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040959|140959|989898|1|9999040959|MR|Test|E|Lead 40959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040960|140960|989898|1|9999040960|MR|Test|E|Lead 40960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040961|140961|989898|1|9999040961|MR|Test|E|Lead 40961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040962|140962|989898|1|9999040962|MR|Test|E|Lead 40962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040963|140963|989898|1|9999040963|MR|Test|E|Lead 40963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040964|140964|989898|1|9999040964|MR|Test|E|Lead 40964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040965|140965|989898|1|9999040965|MR|Test|E|Lead 40965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040966|140966|989898|1|9999040966|MR|Test|E|Lead 40966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040967|140967|989898|1|9999040967|MR|Test|E|Lead 40967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040968|140968|989898|1|9999040968|MR|Test|E|Lead 40968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040969|140969|989898|1|9999040969|MR|Test|E|Lead 40969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040970|140970|989898|1|9999040970|MR|Test|E|Lead 40970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040971|140971|989898|1|9999040971|MR|Test|E|Lead 40971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040972|140972|989898|1|9999040972|MR|Test|E|Lead 40972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040973|140973|989898|1|9999040973|MR|Test|E|Lead 40973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040974|140974|989898|1|9999040974|MR|Test|E|Lead 40974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040975|140975|989898|1|9999040975|MR|Test|E|Lead 40975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040976|140976|989898|1|9999040976|MR|Test|E|Lead 40976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040977|140977|989898|1|9999040977|MR|Test|E|Lead 40977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040978|140978|989898|1|9999040978|MR|Test|E|Lead 40978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040979|140979|989898|1|9999040979|MR|Test|E|Lead 40979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040980|140980|989898|1|9999040980|MR|Test|E|Lead 40980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040981|140981|989898|1|9999040981|MR|Test|E|Lead 40981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040982|140982|989898|1|9999040982|MR|Test|E|Lead 40982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040983|140983|989898|1|9999040983|MR|Test|E|Lead 40983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040984|140984|989898|1|9999040984|MR|Test|E|Lead 40984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040985|140985|989898|1|9999040985|MR|Test|E|Lead 40985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040986|140986|989898|1|9999040986|MR|Test|E|Lead 40986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040987|140987|989898|1|9999040987|MR|Test|E|Lead 40987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040988|140988|989898|1|9999040988|MR|Test|E|Lead 40988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040989|140989|989898|1|9999040989|MR|Test|E|Lead 40989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040990|140990|989898|1|9999040990|MR|Test|E|Lead 40990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040991|140991|989898|1|9999040991|MR|Test|E|Lead 40991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040992|140992|989898|1|9999040992|MR|Test|E|Lead 40992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040993|140993|989898|1|9999040993|MR|Test|E|Lead 40993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040994|140994|989898|1|9999040994|MR|Test|E|Lead 40994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040995|140995|989898|1|9999040995|MR|Test|E|Lead 40995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040996|140996|989898|1|9999040996|MR|Test|E|Lead 40996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040997|140997|989898|1|9999040997|MR|Test|E|Lead 40997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040998|140998|989898|1|9999040998|MR|Test|E|Lead 40998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1040999|140999|989898|1|9999040999|MR|Test|E|Lead 40999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041000|141000|989898|1|9999041000|MR|Test|E|Lead 41000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041001|141001|989898|1|9999041001|MR|Test|E|Lead 41001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041002|141002|989898|1|9999041002|MR|Test|E|Lead 41002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041003|141003|989898|1|9999041003|MR|Test|E|Lead 41003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041004|141004|989898|1|9999041004|MR|Test|E|Lead 41004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041005|141005|989898|1|9999041005|MR|Test|E|Lead 41005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041006|141006|989898|1|9999041006|MR|Test|E|Lead 41006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041007|141007|989898|1|9999041007|MR|Test|E|Lead 41007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041008|141008|989898|1|9999041008|MR|Test|E|Lead 41008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041009|141009|989898|1|9999041009|MR|Test|E|Lead 41009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041010|141010|989898|1|9999041010|MR|Test|E|Lead 41010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041011|141011|989898|1|9999041011|MR|Test|E|Lead 41011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041012|141012|989898|1|9999041012|MR|Test|E|Lead 41012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041013|141013|989898|1|9999041013|MR|Test|E|Lead 41013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041014|141014|989898|1|9999041014|MR|Test|E|Lead 41014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041015|141015|989898|1|9999041015|MR|Test|E|Lead 41015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041016|141016|989898|1|9999041016|MR|Test|E|Lead 41016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041017|141017|989898|1|9999041017|MR|Test|E|Lead 41017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041018|141018|989898|1|9999041018|MR|Test|E|Lead 41018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041019|141019|989898|1|9999041019|MR|Test|E|Lead 41019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041020|141020|989898|1|9999041020|MR|Test|E|Lead 41020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041021|141021|989898|1|9999041021|MR|Test|E|Lead 41021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041022|141022|989898|1|9999041022|MR|Test|E|Lead 41022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041023|141023|989898|1|9999041023|MR|Test|E|Lead 41023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041024|141024|989898|1|9999041024|MR|Test|E|Lead 41024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041025|141025|989898|1|9999041025|MR|Test|E|Lead 41025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041026|141026|989898|1|9999041026|MR|Test|E|Lead 41026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041027|141027|989898|1|9999041027|MR|Test|E|Lead 41027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041028|141028|989898|1|9999041028|MR|Test|E|Lead 41028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041029|141029|989898|1|9999041029|MR|Test|E|Lead 41029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041030|141030|989898|1|9999041030|MR|Test|E|Lead 41030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041031|141031|989898|1|9999041031|MR|Test|E|Lead 41031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041032|141032|989898|1|9999041032|MR|Test|E|Lead 41032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041033|141033|989898|1|9999041033|MR|Test|E|Lead 41033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041034|141034|989898|1|9999041034|MR|Test|E|Lead 41034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041035|141035|989898|1|9999041035|MR|Test|E|Lead 41035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041036|141036|989898|1|9999041036|MR|Test|E|Lead 41036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041037|141037|989898|1|9999041037|MR|Test|E|Lead 41037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041038|141038|989898|1|9999041038|MR|Test|E|Lead 41038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041039|141039|989898|1|9999041039|MR|Test|E|Lead 41039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041040|141040|989898|1|9999041040|MR|Test|E|Lead 41040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041041|141041|989898|1|9999041041|MR|Test|E|Lead 41041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041042|141042|989898|1|9999041042|MR|Test|E|Lead 41042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041043|141043|989898|1|9999041043|MR|Test|E|Lead 41043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041044|141044|989898|1|9999041044|MR|Test|E|Lead 41044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041045|141045|989898|1|9999041045|MR|Test|E|Lead 41045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041046|141046|989898|1|9999041046|MR|Test|E|Lead 41046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041047|141047|989898|1|9999041047|MR|Test|E|Lead 41047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041048|141048|989898|1|9999041048|MR|Test|E|Lead 41048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041049|141049|989898|1|9999041049|MR|Test|E|Lead 41049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041050|141050|989898|1|9999041050|MR|Test|E|Lead 41050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041051|141051|989898|1|9999041051|MR|Test|E|Lead 41051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041052|141052|989898|1|9999041052|MR|Test|E|Lead 41052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041053|141053|989898|1|9999041053|MR|Test|E|Lead 41053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041054|141054|989898|1|9999041054|MR|Test|E|Lead 41054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041055|141055|989898|1|9999041055|MR|Test|E|Lead 41055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041056|141056|989898|1|9999041056|MR|Test|E|Lead 41056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041057|141057|989898|1|9999041057|MR|Test|E|Lead 41057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041058|141058|989898|1|9999041058|MR|Test|E|Lead 41058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041059|141059|989898|1|9999041059|MR|Test|E|Lead 41059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041060|141060|989898|1|9999041060|MR|Test|E|Lead 41060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041061|141061|989898|1|9999041061|MR|Test|E|Lead 41061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041062|141062|989898|1|9999041062|MR|Test|E|Lead 41062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041063|141063|989898|1|9999041063|MR|Test|E|Lead 41063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041064|141064|989898|1|9999041064|MR|Test|E|Lead 41064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041065|141065|989898|1|9999041065|MR|Test|E|Lead 41065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041066|141066|989898|1|9999041066|MR|Test|E|Lead 41066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041067|141067|989898|1|9999041067|MR|Test|E|Lead 41067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041068|141068|989898|1|9999041068|MR|Test|E|Lead 41068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041069|141069|989898|1|9999041069|MR|Test|E|Lead 41069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041070|141070|989898|1|9999041070|MR|Test|E|Lead 41070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041071|141071|989898|1|9999041071|MR|Test|E|Lead 41071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041072|141072|989898|1|9999041072|MR|Test|E|Lead 41072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041073|141073|989898|1|9999041073|MR|Test|E|Lead 41073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041074|141074|989898|1|9999041074|MR|Test|E|Lead 41074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041075|141075|989898|1|9999041075|MR|Test|E|Lead 41075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041076|141076|989898|1|9999041076|MR|Test|E|Lead 41076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041077|141077|989898|1|9999041077|MR|Test|E|Lead 41077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041078|141078|989898|1|9999041078|MR|Test|E|Lead 41078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041079|141079|989898|1|9999041079|MR|Test|E|Lead 41079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041080|141080|989898|1|9999041080|MR|Test|E|Lead 41080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041081|141081|989898|1|9999041081|MR|Test|E|Lead 41081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041082|141082|989898|1|9999041082|MR|Test|E|Lead 41082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041083|141083|989898|1|9999041083|MR|Test|E|Lead 41083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041084|141084|989898|1|9999041084|MR|Test|E|Lead 41084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041085|141085|989898|1|9999041085|MR|Test|E|Lead 41085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041086|141086|989898|1|9999041086|MR|Test|E|Lead 41086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041087|141087|989898|1|9999041087|MR|Test|E|Lead 41087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041088|141088|989898|1|9999041088|MR|Test|E|Lead 41088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041089|141089|989898|1|9999041089|MR|Test|E|Lead 41089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041090|141090|989898|1|9999041090|MR|Test|E|Lead 41090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041091|141091|989898|1|9999041091|MR|Test|E|Lead 41091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041092|141092|989898|1|9999041092|MR|Test|E|Lead 41092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041093|141093|989898|1|9999041093|MR|Test|E|Lead 41093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041094|141094|989898|1|9999041094|MR|Test|E|Lead 41094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041095|141095|989898|1|9999041095|MR|Test|E|Lead 41095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041096|141096|989898|1|9999041096|MR|Test|E|Lead 41096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041097|141097|989898|1|9999041097|MR|Test|E|Lead 41097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041098|141098|989898|1|9999041098|MR|Test|E|Lead 41098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041099|141099|989898|1|9999041099|MR|Test|E|Lead 41099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041100|141100|989898|1|9999041100|MR|Test|E|Lead 41100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041101|141101|989898|1|9999041101|MR|Test|E|Lead 41101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041102|141102|989898|1|9999041102|MR|Test|E|Lead 41102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041103|141103|989898|1|9999041103|MR|Test|E|Lead 41103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041104|141104|989898|1|9999041104|MR|Test|E|Lead 41104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041105|141105|989898|1|9999041105|MR|Test|E|Lead 41105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041106|141106|989898|1|9999041106|MR|Test|E|Lead 41106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041107|141107|989898|1|9999041107|MR|Test|E|Lead 41107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041108|141108|989898|1|9999041108|MR|Test|E|Lead 41108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041109|141109|989898|1|9999041109|MR|Test|E|Lead 41109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041110|141110|989898|1|9999041110|MR|Test|E|Lead 41110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041111|141111|989898|1|9999041111|MR|Test|E|Lead 41111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041112|141112|989898|1|9999041112|MR|Test|E|Lead 41112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041113|141113|989898|1|9999041113|MR|Test|E|Lead 41113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041114|141114|989898|1|9999041114|MR|Test|E|Lead 41114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041115|141115|989898|1|9999041115|MR|Test|E|Lead 41115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041116|141116|989898|1|9999041116|MR|Test|E|Lead 41116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041117|141117|989898|1|9999041117|MR|Test|E|Lead 41117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041118|141118|989898|1|9999041118|MR|Test|E|Lead 41118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041119|141119|989898|1|9999041119|MR|Test|E|Lead 41119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041120|141120|989898|1|9999041120|MR|Test|E|Lead 41120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041121|141121|989898|1|9999041121|MR|Test|E|Lead 41121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041122|141122|989898|1|9999041122|MR|Test|E|Lead 41122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041123|141123|989898|1|9999041123|MR|Test|E|Lead 41123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041124|141124|989898|1|9999041124|MR|Test|E|Lead 41124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041125|141125|989898|1|9999041125|MR|Test|E|Lead 41125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041126|141126|989898|1|9999041126|MR|Test|E|Lead 41126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041127|141127|989898|1|9999041127|MR|Test|E|Lead 41127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041128|141128|989898|1|9999041128|MR|Test|E|Lead 41128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041129|141129|989898|1|9999041129|MR|Test|E|Lead 41129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041130|141130|989898|1|9999041130|MR|Test|E|Lead 41130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041131|141131|989898|1|9999041131|MR|Test|E|Lead 41131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041132|141132|989898|1|9999041132|MR|Test|E|Lead 41132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041133|141133|989898|1|9999041133|MR|Test|E|Lead 41133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041134|141134|989898|1|9999041134|MR|Test|E|Lead 41134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041135|141135|989898|1|9999041135|MR|Test|E|Lead 41135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041136|141136|989898|1|9999041136|MR|Test|E|Lead 41136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041137|141137|989898|1|9999041137|MR|Test|E|Lead 41137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041138|141138|989898|1|9999041138|MR|Test|E|Lead 41138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041139|141139|989898|1|9999041139|MR|Test|E|Lead 41139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041140|141140|989898|1|9999041140|MR|Test|E|Lead 41140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041141|141141|989898|1|9999041141|MR|Test|E|Lead 41141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041142|141142|989898|1|9999041142|MR|Test|E|Lead 41142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041143|141143|989898|1|9999041143|MR|Test|E|Lead 41143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041144|141144|989898|1|9999041144|MR|Test|E|Lead 41144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041145|141145|989898|1|9999041145|MR|Test|E|Lead 41145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041146|141146|989898|1|9999041146|MR|Test|E|Lead 41146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041147|141147|989898|1|9999041147|MR|Test|E|Lead 41147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041148|141148|989898|1|9999041148|MR|Test|E|Lead 41148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041149|141149|989898|1|9999041149|MR|Test|E|Lead 41149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041150|141150|989898|1|9999041150|MR|Test|E|Lead 41150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041151|141151|989898|1|9999041151|MR|Test|E|Lead 41151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041152|141152|989898|1|9999041152|MR|Test|E|Lead 41152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041153|141153|989898|1|9999041153|MR|Test|E|Lead 41153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041154|141154|989898|1|9999041154|MR|Test|E|Lead 41154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041155|141155|989898|1|9999041155|MR|Test|E|Lead 41155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041156|141156|989898|1|9999041156|MR|Test|E|Lead 41156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041157|141157|989898|1|9999041157|MR|Test|E|Lead 41157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041158|141158|989898|1|9999041158|MR|Test|E|Lead 41158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041159|141159|989898|1|9999041159|MR|Test|E|Lead 41159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041160|141160|989898|1|9999041160|MR|Test|E|Lead 41160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041161|141161|989898|1|9999041161|MR|Test|E|Lead 41161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041162|141162|989898|1|9999041162|MR|Test|E|Lead 41162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041163|141163|989898|1|9999041163|MR|Test|E|Lead 41163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041164|141164|989898|1|9999041164|MR|Test|E|Lead 41164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041165|141165|989898|1|9999041165|MR|Test|E|Lead 41165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041166|141166|989898|1|9999041166|MR|Test|E|Lead 41166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041167|141167|989898|1|9999041167|MR|Test|E|Lead 41167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041168|141168|989898|1|9999041168|MR|Test|E|Lead 41168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041169|141169|989898|1|9999041169|MR|Test|E|Lead 41169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041170|141170|989898|1|9999041170|MR|Test|E|Lead 41170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041171|141171|989898|1|9999041171|MR|Test|E|Lead 41171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041172|141172|989898|1|9999041172|MR|Test|E|Lead 41172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041173|141173|989898|1|9999041173|MR|Test|E|Lead 41173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041174|141174|989898|1|9999041174|MR|Test|E|Lead 41174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041175|141175|989898|1|9999041175|MR|Test|E|Lead 41175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041176|141176|989898|1|9999041176|MR|Test|E|Lead 41176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041177|141177|989898|1|9999041177|MR|Test|E|Lead 41177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041178|141178|989898|1|9999041178|MR|Test|E|Lead 41178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041179|141179|989898|1|9999041179|MR|Test|E|Lead 41179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041180|141180|989898|1|9999041180|MR|Test|E|Lead 41180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041181|141181|989898|1|9999041181|MR|Test|E|Lead 41181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041182|141182|989898|1|9999041182|MR|Test|E|Lead 41182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041183|141183|989898|1|9999041183|MR|Test|E|Lead 41183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041184|141184|989898|1|9999041184|MR|Test|E|Lead 41184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041185|141185|989898|1|9999041185|MR|Test|E|Lead 41185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041186|141186|989898|1|9999041186|MR|Test|E|Lead 41186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041187|141187|989898|1|9999041187|MR|Test|E|Lead 41187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041188|141188|989898|1|9999041188|MR|Test|E|Lead 41188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041189|141189|989898|1|9999041189|MR|Test|E|Lead 41189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041190|141190|989898|1|9999041190|MR|Test|E|Lead 41190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041191|141191|989898|1|9999041191|MR|Test|E|Lead 41191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041192|141192|989898|1|9999041192|MR|Test|E|Lead 41192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041193|141193|989898|1|9999041193|MR|Test|E|Lead 41193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041194|141194|989898|1|9999041194|MR|Test|E|Lead 41194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041195|141195|989898|1|9999041195|MR|Test|E|Lead 41195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041196|141196|989898|1|9999041196|MR|Test|E|Lead 41196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041197|141197|989898|1|9999041197|MR|Test|E|Lead 41197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041198|141198|989898|1|9999041198|MR|Test|E|Lead 41198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041199|141199|989898|1|9999041199|MR|Test|E|Lead 41199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041200|141200|989898|1|9999041200|MR|Test|E|Lead 41200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041201|141201|989898|1|9999041201|MR|Test|E|Lead 41201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041202|141202|989898|1|9999041202|MR|Test|E|Lead 41202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041203|141203|989898|1|9999041203|MR|Test|E|Lead 41203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041204|141204|989898|1|9999041204|MR|Test|E|Lead 41204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041205|141205|989898|1|9999041205|MR|Test|E|Lead 41205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041206|141206|989898|1|9999041206|MR|Test|E|Lead 41206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041207|141207|989898|1|9999041207|MR|Test|E|Lead 41207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041208|141208|989898|1|9999041208|MR|Test|E|Lead 41208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041209|141209|989898|1|9999041209|MR|Test|E|Lead 41209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041210|141210|989898|1|9999041210|MR|Test|E|Lead 41210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041211|141211|989898|1|9999041211|MR|Test|E|Lead 41211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041212|141212|989898|1|9999041212|MR|Test|E|Lead 41212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041213|141213|989898|1|9999041213|MR|Test|E|Lead 41213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041214|141214|989898|1|9999041214|MR|Test|E|Lead 41214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041215|141215|989898|1|9999041215|MR|Test|E|Lead 41215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041216|141216|989898|1|9999041216|MR|Test|E|Lead 41216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041217|141217|989898|1|9999041217|MR|Test|E|Lead 41217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041218|141218|989898|1|9999041218|MR|Test|E|Lead 41218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041219|141219|989898|1|9999041219|MR|Test|E|Lead 41219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041220|141220|989898|1|9999041220|MR|Test|E|Lead 41220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041221|141221|989898|1|9999041221|MR|Test|E|Lead 41221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041222|141222|989898|1|9999041222|MR|Test|E|Lead 41222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041223|141223|989898|1|9999041223|MR|Test|E|Lead 41223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041224|141224|989898|1|9999041224|MR|Test|E|Lead 41224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041225|141225|989898|1|9999041225|MR|Test|E|Lead 41225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041226|141226|989898|1|9999041226|MR|Test|E|Lead 41226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041227|141227|989898|1|9999041227|MR|Test|E|Lead 41227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041228|141228|989898|1|9999041228|MR|Test|E|Lead 41228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041229|141229|989898|1|9999041229|MR|Test|E|Lead 41229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041230|141230|989898|1|9999041230|MR|Test|E|Lead 41230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041231|141231|989898|1|9999041231|MR|Test|E|Lead 41231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041232|141232|989898|1|9999041232|MR|Test|E|Lead 41232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041233|141233|989898|1|9999041233|MR|Test|E|Lead 41233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041234|141234|989898|1|9999041234|MR|Test|E|Lead 41234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041235|141235|989898|1|9999041235|MR|Test|E|Lead 41235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041236|141236|989898|1|9999041236|MR|Test|E|Lead 41236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041237|141237|989898|1|9999041237|MR|Test|E|Lead 41237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041238|141238|989898|1|9999041238|MR|Test|E|Lead 41238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041239|141239|989898|1|9999041239|MR|Test|E|Lead 41239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041240|141240|989898|1|9999041240|MR|Test|E|Lead 41240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041241|141241|989898|1|9999041241|MR|Test|E|Lead 41241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041242|141242|989898|1|9999041242|MR|Test|E|Lead 41242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041243|141243|989898|1|9999041243|MR|Test|E|Lead 41243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041244|141244|989898|1|9999041244|MR|Test|E|Lead 41244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041245|141245|989898|1|9999041245|MR|Test|E|Lead 41245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041246|141246|989898|1|9999041246|MR|Test|E|Lead 41246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041247|141247|989898|1|9999041247|MR|Test|E|Lead 41247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041248|141248|989898|1|9999041248|MR|Test|E|Lead 41248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041249|141249|989898|1|9999041249|MR|Test|E|Lead 41249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041250|141250|989898|1|9999041250|MR|Test|E|Lead 41250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041251|141251|989898|1|9999041251|MR|Test|E|Lead 41251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041252|141252|989898|1|9999041252|MR|Test|E|Lead 41252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041253|141253|989898|1|9999041253|MR|Test|E|Lead 41253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041254|141254|989898|1|9999041254|MR|Test|E|Lead 41254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041255|141255|989898|1|9999041255|MR|Test|E|Lead 41255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041256|141256|989898|1|9999041256|MR|Test|E|Lead 41256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041257|141257|989898|1|9999041257|MR|Test|E|Lead 41257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041258|141258|989898|1|9999041258|MR|Test|E|Lead 41258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041259|141259|989898|1|9999041259|MR|Test|E|Lead 41259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041260|141260|989898|1|9999041260|MR|Test|E|Lead 41260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041261|141261|989898|1|9999041261|MR|Test|E|Lead 41261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041262|141262|989898|1|9999041262|MR|Test|E|Lead 41262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041263|141263|989898|1|9999041263|MR|Test|E|Lead 41263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041264|141264|989898|1|9999041264|MR|Test|E|Lead 41264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041265|141265|989898|1|9999041265|MR|Test|E|Lead 41265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041266|141266|989898|1|9999041266|MR|Test|E|Lead 41266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041267|141267|989898|1|9999041267|MR|Test|E|Lead 41267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041268|141268|989898|1|9999041268|MR|Test|E|Lead 41268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041269|141269|989898|1|9999041269|MR|Test|E|Lead 41269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041270|141270|989898|1|9999041270|MR|Test|E|Lead 41270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041271|141271|989898|1|9999041271|MR|Test|E|Lead 41271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041272|141272|989898|1|9999041272|MR|Test|E|Lead 41272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041273|141273|989898|1|9999041273|MR|Test|E|Lead 41273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041274|141274|989898|1|9999041274|MR|Test|E|Lead 41274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041275|141275|989898|1|9999041275|MR|Test|E|Lead 41275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041276|141276|989898|1|9999041276|MR|Test|E|Lead 41276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041277|141277|989898|1|9999041277|MR|Test|E|Lead 41277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041278|141278|989898|1|9999041278|MR|Test|E|Lead 41278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041279|141279|989898|1|9999041279|MR|Test|E|Lead 41279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041280|141280|989898|1|9999041280|MR|Test|E|Lead 41280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041281|141281|989898|1|9999041281|MR|Test|E|Lead 41281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041282|141282|989898|1|9999041282|MR|Test|E|Lead 41282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041283|141283|989898|1|9999041283|MR|Test|E|Lead 41283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041284|141284|989898|1|9999041284|MR|Test|E|Lead 41284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041285|141285|989898|1|9999041285|MR|Test|E|Lead 41285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041286|141286|989898|1|9999041286|MR|Test|E|Lead 41286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041287|141287|989898|1|9999041287|MR|Test|E|Lead 41287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041288|141288|989898|1|9999041288|MR|Test|E|Lead 41288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041289|141289|989898|1|9999041289|MR|Test|E|Lead 41289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041290|141290|989898|1|9999041290|MR|Test|E|Lead 41290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041291|141291|989898|1|9999041291|MR|Test|E|Lead 41291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041292|141292|989898|1|9999041292|MR|Test|E|Lead 41292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041293|141293|989898|1|9999041293|MR|Test|E|Lead 41293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041294|141294|989898|1|9999041294|MR|Test|E|Lead 41294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041295|141295|989898|1|9999041295|MR|Test|E|Lead 41295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041296|141296|989898|1|9999041296|MR|Test|E|Lead 41296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041297|141297|989898|1|9999041297|MR|Test|E|Lead 41297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041298|141298|989898|1|9999041298|MR|Test|E|Lead 41298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041299|141299|989898|1|9999041299|MR|Test|E|Lead 41299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041300|141300|989898|1|9999041300|MR|Test|E|Lead 41300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041301|141301|989898|1|9999041301|MR|Test|E|Lead 41301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041302|141302|989898|1|9999041302|MR|Test|E|Lead 41302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041303|141303|989898|1|9999041303|MR|Test|E|Lead 41303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041304|141304|989898|1|9999041304|MR|Test|E|Lead 41304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041305|141305|989898|1|9999041305|MR|Test|E|Lead 41305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041306|141306|989898|1|9999041306|MR|Test|E|Lead 41306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041307|141307|989898|1|9999041307|MR|Test|E|Lead 41307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041308|141308|989898|1|9999041308|MR|Test|E|Lead 41308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041309|141309|989898|1|9999041309|MR|Test|E|Lead 41309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041310|141310|989898|1|9999041310|MR|Test|E|Lead 41310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041311|141311|989898|1|9999041311|MR|Test|E|Lead 41311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041312|141312|989898|1|9999041312|MR|Test|E|Lead 41312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041313|141313|989898|1|9999041313|MR|Test|E|Lead 41313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041314|141314|989898|1|9999041314|MR|Test|E|Lead 41314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041315|141315|989898|1|9999041315|MR|Test|E|Lead 41315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041316|141316|989898|1|9999041316|MR|Test|E|Lead 41316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041317|141317|989898|1|9999041317|MR|Test|E|Lead 41317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041318|141318|989898|1|9999041318|MR|Test|E|Lead 41318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041319|141319|989898|1|9999041319|MR|Test|E|Lead 41319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041320|141320|989898|1|9999041320|MR|Test|E|Lead 41320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041321|141321|989898|1|9999041321|MR|Test|E|Lead 41321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041322|141322|989898|1|9999041322|MR|Test|E|Lead 41322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041323|141323|989898|1|9999041323|MR|Test|E|Lead 41323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041324|141324|989898|1|9999041324|MR|Test|E|Lead 41324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041325|141325|989898|1|9999041325|MR|Test|E|Lead 41325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041326|141326|989898|1|9999041326|MR|Test|E|Lead 41326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041327|141327|989898|1|9999041327|MR|Test|E|Lead 41327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041328|141328|989898|1|9999041328|MR|Test|E|Lead 41328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041329|141329|989898|1|9999041329|MR|Test|E|Lead 41329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041330|141330|989898|1|9999041330|MR|Test|E|Lead 41330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041331|141331|989898|1|9999041331|MR|Test|E|Lead 41331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041332|141332|989898|1|9999041332|MR|Test|E|Lead 41332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041333|141333|989898|1|9999041333|MR|Test|E|Lead 41333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041334|141334|989898|1|9999041334|MR|Test|E|Lead 41334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041335|141335|989898|1|9999041335|MR|Test|E|Lead 41335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041336|141336|989898|1|9999041336|MR|Test|E|Lead 41336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041337|141337|989898|1|9999041337|MR|Test|E|Lead 41337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041338|141338|989898|1|9999041338|MR|Test|E|Lead 41338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041339|141339|989898|1|9999041339|MR|Test|E|Lead 41339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041340|141340|989898|1|9999041340|MR|Test|E|Lead 41340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041341|141341|989898|1|9999041341|MR|Test|E|Lead 41341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041342|141342|989898|1|9999041342|MR|Test|E|Lead 41342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041343|141343|989898|1|9999041343|MR|Test|E|Lead 41343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041344|141344|989898|1|9999041344|MR|Test|E|Lead 41344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041345|141345|989898|1|9999041345|MR|Test|E|Lead 41345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041346|141346|989898|1|9999041346|MR|Test|E|Lead 41346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041347|141347|989898|1|9999041347|MR|Test|E|Lead 41347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041348|141348|989898|1|9999041348|MR|Test|E|Lead 41348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041349|141349|989898|1|9999041349|MR|Test|E|Lead 41349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041350|141350|989898|1|9999041350|MR|Test|E|Lead 41350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041351|141351|989898|1|9999041351|MR|Test|E|Lead 41351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041352|141352|989898|1|9999041352|MR|Test|E|Lead 41352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041353|141353|989898|1|9999041353|MR|Test|E|Lead 41353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041354|141354|989898|1|9999041354|MR|Test|E|Lead 41354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041355|141355|989898|1|9999041355|MR|Test|E|Lead 41355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041356|141356|989898|1|9999041356|MR|Test|E|Lead 41356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041357|141357|989898|1|9999041357|MR|Test|E|Lead 41357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041358|141358|989898|1|9999041358|MR|Test|E|Lead 41358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041359|141359|989898|1|9999041359|MR|Test|E|Lead 41359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041360|141360|989898|1|9999041360|MR|Test|E|Lead 41360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041361|141361|989898|1|9999041361|MR|Test|E|Lead 41361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041362|141362|989898|1|9999041362|MR|Test|E|Lead 41362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041363|141363|989898|1|9999041363|MR|Test|E|Lead 41363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041364|141364|989898|1|9999041364|MR|Test|E|Lead 41364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041365|141365|989898|1|9999041365|MR|Test|E|Lead 41365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041366|141366|989898|1|9999041366|MR|Test|E|Lead 41366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041367|141367|989898|1|9999041367|MR|Test|E|Lead 41367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041368|141368|989898|1|9999041368|MR|Test|E|Lead 41368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041369|141369|989898|1|9999041369|MR|Test|E|Lead 41369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041370|141370|989898|1|9999041370|MR|Test|E|Lead 41370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041371|141371|989898|1|9999041371|MR|Test|E|Lead 41371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041372|141372|989898|1|9999041372|MR|Test|E|Lead 41372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041373|141373|989898|1|9999041373|MR|Test|E|Lead 41373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041374|141374|989898|1|9999041374|MR|Test|E|Lead 41374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041375|141375|989898|1|9999041375|MR|Test|E|Lead 41375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041376|141376|989898|1|9999041376|MR|Test|E|Lead 41376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041377|141377|989898|1|9999041377|MR|Test|E|Lead 41377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041378|141378|989898|1|9999041378|MR|Test|E|Lead 41378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041379|141379|989898|1|9999041379|MR|Test|E|Lead 41379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041380|141380|989898|1|9999041380|MR|Test|E|Lead 41380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041381|141381|989898|1|9999041381|MR|Test|E|Lead 41381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041382|141382|989898|1|9999041382|MR|Test|E|Lead 41382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041383|141383|989898|1|9999041383|MR|Test|E|Lead 41383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041384|141384|989898|1|9999041384|MR|Test|E|Lead 41384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041385|141385|989898|1|9999041385|MR|Test|E|Lead 41385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041386|141386|989898|1|9999041386|MR|Test|E|Lead 41386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041387|141387|989898|1|9999041387|MR|Test|E|Lead 41387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041388|141388|989898|1|9999041388|MR|Test|E|Lead 41388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041389|141389|989898|1|9999041389|MR|Test|E|Lead 41389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041390|141390|989898|1|9999041390|MR|Test|E|Lead 41390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041391|141391|989898|1|9999041391|MR|Test|E|Lead 41391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041392|141392|989898|1|9999041392|MR|Test|E|Lead 41392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041393|141393|989898|1|9999041393|MR|Test|E|Lead 41393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041394|141394|989898|1|9999041394|MR|Test|E|Lead 41394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041395|141395|989898|1|9999041395|MR|Test|E|Lead 41395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041396|141396|989898|1|9999041396|MR|Test|E|Lead 41396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041397|141397|989898|1|9999041397|MR|Test|E|Lead 41397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041398|141398|989898|1|9999041398|MR|Test|E|Lead 41398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041399|141399|989898|1|9999041399|MR|Test|E|Lead 41399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041400|141400|989898|1|9999041400|MR|Test|E|Lead 41400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041401|141401|989898|1|9999041401|MR|Test|E|Lead 41401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041402|141402|989898|1|9999041402|MR|Test|E|Lead 41402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041403|141403|989898|1|9999041403|MR|Test|E|Lead 41403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041404|141404|989898|1|9999041404|MR|Test|E|Lead 41404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041405|141405|989898|1|9999041405|MR|Test|E|Lead 41405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041406|141406|989898|1|9999041406|MR|Test|E|Lead 41406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041407|141407|989898|1|9999041407|MR|Test|E|Lead 41407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041408|141408|989898|1|9999041408|MR|Test|E|Lead 41408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041409|141409|989898|1|9999041409|MR|Test|E|Lead 41409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041410|141410|989898|1|9999041410|MR|Test|E|Lead 41410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041411|141411|989898|1|9999041411|MR|Test|E|Lead 41411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041412|141412|989898|1|9999041412|MR|Test|E|Lead 41412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041413|141413|989898|1|9999041413|MR|Test|E|Lead 41413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041414|141414|989898|1|9999041414|MR|Test|E|Lead 41414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041415|141415|989898|1|9999041415|MR|Test|E|Lead 41415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041416|141416|989898|1|9999041416|MR|Test|E|Lead 41416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041417|141417|989898|1|9999041417|MR|Test|E|Lead 41417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041418|141418|989898|1|9999041418|MR|Test|E|Lead 41418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041419|141419|989898|1|9999041419|MR|Test|E|Lead 41419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041420|141420|989898|1|9999041420|MR|Test|E|Lead 41420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041421|141421|989898|1|9999041421|MR|Test|E|Lead 41421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041422|141422|989898|1|9999041422|MR|Test|E|Lead 41422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041423|141423|989898|1|9999041423|MR|Test|E|Lead 41423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041424|141424|989898|1|9999041424|MR|Test|E|Lead 41424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041425|141425|989898|1|9999041425|MR|Test|E|Lead 41425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041426|141426|989898|1|9999041426|MR|Test|E|Lead 41426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041427|141427|989898|1|9999041427|MR|Test|E|Lead 41427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041428|141428|989898|1|9999041428|MR|Test|E|Lead 41428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041429|141429|989898|1|9999041429|MR|Test|E|Lead 41429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041430|141430|989898|1|9999041430|MR|Test|E|Lead 41430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041431|141431|989898|1|9999041431|MR|Test|E|Lead 41431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041432|141432|989898|1|9999041432|MR|Test|E|Lead 41432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041433|141433|989898|1|9999041433|MR|Test|E|Lead 41433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041434|141434|989898|1|9999041434|MR|Test|E|Lead 41434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041435|141435|989898|1|9999041435|MR|Test|E|Lead 41435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041436|141436|989898|1|9999041436|MR|Test|E|Lead 41436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041437|141437|989898|1|9999041437|MR|Test|E|Lead 41437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041438|141438|989898|1|9999041438|MR|Test|E|Lead 41438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041439|141439|989898|1|9999041439|MR|Test|E|Lead 41439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041440|141440|989898|1|9999041440|MR|Test|E|Lead 41440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041441|141441|989898|1|9999041441|MR|Test|E|Lead 41441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041442|141442|989898|1|9999041442|MR|Test|E|Lead 41442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041443|141443|989898|1|9999041443|MR|Test|E|Lead 41443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041444|141444|989898|1|9999041444|MR|Test|E|Lead 41444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041445|141445|989898|1|9999041445|MR|Test|E|Lead 41445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041446|141446|989898|1|9999041446|MR|Test|E|Lead 41446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041447|141447|989898|1|9999041447|MR|Test|E|Lead 41447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041448|141448|989898|1|9999041448|MR|Test|E|Lead 41448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041449|141449|989898|1|9999041449|MR|Test|E|Lead 41449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041450|141450|989898|1|9999041450|MR|Test|E|Lead 41450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041451|141451|989898|1|9999041451|MR|Test|E|Lead 41451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041452|141452|989898|1|9999041452|MR|Test|E|Lead 41452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041453|141453|989898|1|9999041453|MR|Test|E|Lead 41453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041454|141454|989898|1|9999041454|MR|Test|E|Lead 41454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041455|141455|989898|1|9999041455|MR|Test|E|Lead 41455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041456|141456|989898|1|9999041456|MR|Test|E|Lead 41456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041457|141457|989898|1|9999041457|MR|Test|E|Lead 41457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041458|141458|989898|1|9999041458|MR|Test|E|Lead 41458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041459|141459|989898|1|9999041459|MR|Test|E|Lead 41459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041460|141460|989898|1|9999041460|MR|Test|E|Lead 41460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041461|141461|989898|1|9999041461|MR|Test|E|Lead 41461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041462|141462|989898|1|9999041462|MR|Test|E|Lead 41462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041463|141463|989898|1|9999041463|MR|Test|E|Lead 41463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041464|141464|989898|1|9999041464|MR|Test|E|Lead 41464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041465|141465|989898|1|9999041465|MR|Test|E|Lead 41465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041466|141466|989898|1|9999041466|MR|Test|E|Lead 41466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041467|141467|989898|1|9999041467|MR|Test|E|Lead 41467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041468|141468|989898|1|9999041468|MR|Test|E|Lead 41468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041469|141469|989898|1|9999041469|MR|Test|E|Lead 41469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041470|141470|989898|1|9999041470|MR|Test|E|Lead 41470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041471|141471|989898|1|9999041471|MR|Test|E|Lead 41471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041472|141472|989898|1|9999041472|MR|Test|E|Lead 41472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041473|141473|989898|1|9999041473|MR|Test|E|Lead 41473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041474|141474|989898|1|9999041474|MR|Test|E|Lead 41474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041475|141475|989898|1|9999041475|MR|Test|E|Lead 41475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041476|141476|989898|1|9999041476|MR|Test|E|Lead 41476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041477|141477|989898|1|9999041477|MR|Test|E|Lead 41477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041478|141478|989898|1|9999041478|MR|Test|E|Lead 41478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041479|141479|989898|1|9999041479|MR|Test|E|Lead 41479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041480|141480|989898|1|9999041480|MR|Test|E|Lead 41480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041481|141481|989898|1|9999041481|MR|Test|E|Lead 41481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041482|141482|989898|1|9999041482|MR|Test|E|Lead 41482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041483|141483|989898|1|9999041483|MR|Test|E|Lead 41483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041484|141484|989898|1|9999041484|MR|Test|E|Lead 41484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041485|141485|989898|1|9999041485|MR|Test|E|Lead 41485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041486|141486|989898|1|9999041486|MR|Test|E|Lead 41486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041487|141487|989898|1|9999041487|MR|Test|E|Lead 41487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041488|141488|989898|1|9999041488|MR|Test|E|Lead 41488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041489|141489|989898|1|9999041489|MR|Test|E|Lead 41489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041490|141490|989898|1|9999041490|MR|Test|E|Lead 41490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041491|141491|989898|1|9999041491|MR|Test|E|Lead 41491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041492|141492|989898|1|9999041492|MR|Test|E|Lead 41492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041493|141493|989898|1|9999041493|MR|Test|E|Lead 41493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041494|141494|989898|1|9999041494|MR|Test|E|Lead 41494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041495|141495|989898|1|9999041495|MR|Test|E|Lead 41495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041496|141496|989898|1|9999041496|MR|Test|E|Lead 41496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041497|141497|989898|1|9999041497|MR|Test|E|Lead 41497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041498|141498|989898|1|9999041498|MR|Test|E|Lead 41498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041499|141499|989898|1|9999041499|MR|Test|E|Lead 41499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041500|141500|989898|1|9999041500|MR|Test|E|Lead 41500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041501|141501|989898|1|9999041501|MR|Test|E|Lead 41501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041502|141502|989898|1|9999041502|MR|Test|E|Lead 41502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041503|141503|989898|1|9999041503|MR|Test|E|Lead 41503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041504|141504|989898|1|9999041504|MR|Test|E|Lead 41504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041505|141505|989898|1|9999041505|MR|Test|E|Lead 41505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041506|141506|989898|1|9999041506|MR|Test|E|Lead 41506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041507|141507|989898|1|9999041507|MR|Test|E|Lead 41507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041508|141508|989898|1|9999041508|MR|Test|E|Lead 41508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041509|141509|989898|1|9999041509|MR|Test|E|Lead 41509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041510|141510|989898|1|9999041510|MR|Test|E|Lead 41510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041511|141511|989898|1|9999041511|MR|Test|E|Lead 41511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041512|141512|989898|1|9999041512|MR|Test|E|Lead 41512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041513|141513|989898|1|9999041513|MR|Test|E|Lead 41513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041514|141514|989898|1|9999041514|MR|Test|E|Lead 41514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041515|141515|989898|1|9999041515|MR|Test|E|Lead 41515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041516|141516|989898|1|9999041516|MR|Test|E|Lead 41516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041517|141517|989898|1|9999041517|MR|Test|E|Lead 41517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041518|141518|989898|1|9999041518|MR|Test|E|Lead 41518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041519|141519|989898|1|9999041519|MR|Test|E|Lead 41519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041520|141520|989898|1|9999041520|MR|Test|E|Lead 41520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041521|141521|989898|1|9999041521|MR|Test|E|Lead 41521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041522|141522|989898|1|9999041522|MR|Test|E|Lead 41522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041523|141523|989898|1|9999041523|MR|Test|E|Lead 41523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041524|141524|989898|1|9999041524|MR|Test|E|Lead 41524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041525|141525|989898|1|9999041525|MR|Test|E|Lead 41525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041526|141526|989898|1|9999041526|MR|Test|E|Lead 41526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041527|141527|989898|1|9999041527|MR|Test|E|Lead 41527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041528|141528|989898|1|9999041528|MR|Test|E|Lead 41528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041529|141529|989898|1|9999041529|MR|Test|E|Lead 41529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041530|141530|989898|1|9999041530|MR|Test|E|Lead 41530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041531|141531|989898|1|9999041531|MR|Test|E|Lead 41531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041532|141532|989898|1|9999041532|MR|Test|E|Lead 41532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041533|141533|989898|1|9999041533|MR|Test|E|Lead 41533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041534|141534|989898|1|9999041534|MR|Test|E|Lead 41534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041535|141535|989898|1|9999041535|MR|Test|E|Lead 41535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041536|141536|989898|1|9999041536|MR|Test|E|Lead 41536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041537|141537|989898|1|9999041537|MR|Test|E|Lead 41537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041538|141538|989898|1|9999041538|MR|Test|E|Lead 41538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041539|141539|989898|1|9999041539|MR|Test|E|Lead 41539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041540|141540|989898|1|9999041540|MR|Test|E|Lead 41540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041541|141541|989898|1|9999041541|MR|Test|E|Lead 41541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041542|141542|989898|1|9999041542|MR|Test|E|Lead 41542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041543|141543|989898|1|9999041543|MR|Test|E|Lead 41543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041544|141544|989898|1|9999041544|MR|Test|E|Lead 41544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041545|141545|989898|1|9999041545|MR|Test|E|Lead 41545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041546|141546|989898|1|9999041546|MR|Test|E|Lead 41546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041547|141547|989898|1|9999041547|MR|Test|E|Lead 41547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041548|141548|989898|1|9999041548|MR|Test|E|Lead 41548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041549|141549|989898|1|9999041549|MR|Test|E|Lead 41549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041550|141550|989898|1|9999041550|MR|Test|E|Lead 41550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041551|141551|989898|1|9999041551|MR|Test|E|Lead 41551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041552|141552|989898|1|9999041552|MR|Test|E|Lead 41552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041553|141553|989898|1|9999041553|MR|Test|E|Lead 41553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041554|141554|989898|1|9999041554|MR|Test|E|Lead 41554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041555|141555|989898|1|9999041555|MR|Test|E|Lead 41555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041556|141556|989898|1|9999041556|MR|Test|E|Lead 41556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041557|141557|989898|1|9999041557|MR|Test|E|Lead 41557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041558|141558|989898|1|9999041558|MR|Test|E|Lead 41558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041559|141559|989898|1|9999041559|MR|Test|E|Lead 41559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041560|141560|989898|1|9999041560|MR|Test|E|Lead 41560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041561|141561|989898|1|9999041561|MR|Test|E|Lead 41561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041562|141562|989898|1|9999041562|MR|Test|E|Lead 41562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041563|141563|989898|1|9999041563|MR|Test|E|Lead 41563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041564|141564|989898|1|9999041564|MR|Test|E|Lead 41564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041565|141565|989898|1|9999041565|MR|Test|E|Lead 41565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041566|141566|989898|1|9999041566|MR|Test|E|Lead 41566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041567|141567|989898|1|9999041567|MR|Test|E|Lead 41567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041568|141568|989898|1|9999041568|MR|Test|E|Lead 41568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041569|141569|989898|1|9999041569|MR|Test|E|Lead 41569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041570|141570|989898|1|9999041570|MR|Test|E|Lead 41570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041571|141571|989898|1|9999041571|MR|Test|E|Lead 41571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041572|141572|989898|1|9999041572|MR|Test|E|Lead 41572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041573|141573|989898|1|9999041573|MR|Test|E|Lead 41573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041574|141574|989898|1|9999041574|MR|Test|E|Lead 41574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041575|141575|989898|1|9999041575|MR|Test|E|Lead 41575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041576|141576|989898|1|9999041576|MR|Test|E|Lead 41576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041577|141577|989898|1|9999041577|MR|Test|E|Lead 41577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041578|141578|989898|1|9999041578|MR|Test|E|Lead 41578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041579|141579|989898|1|9999041579|MR|Test|E|Lead 41579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041580|141580|989898|1|9999041580|MR|Test|E|Lead 41580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041581|141581|989898|1|9999041581|MR|Test|E|Lead 41581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041582|141582|989898|1|9999041582|MR|Test|E|Lead 41582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041583|141583|989898|1|9999041583|MR|Test|E|Lead 41583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041584|141584|989898|1|9999041584|MR|Test|E|Lead 41584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041585|141585|989898|1|9999041585|MR|Test|E|Lead 41585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041586|141586|989898|1|9999041586|MR|Test|E|Lead 41586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041587|141587|989898|1|9999041587|MR|Test|E|Lead 41587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041588|141588|989898|1|9999041588|MR|Test|E|Lead 41588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041589|141589|989898|1|9999041589|MR|Test|E|Lead 41589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041590|141590|989898|1|9999041590|MR|Test|E|Lead 41590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041591|141591|989898|1|9999041591|MR|Test|E|Lead 41591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041592|141592|989898|1|9999041592|MR|Test|E|Lead 41592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041593|141593|989898|1|9999041593|MR|Test|E|Lead 41593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041594|141594|989898|1|9999041594|MR|Test|E|Lead 41594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041595|141595|989898|1|9999041595|MR|Test|E|Lead 41595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041596|141596|989898|1|9999041596|MR|Test|E|Lead 41596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041597|141597|989898|1|9999041597|MR|Test|E|Lead 41597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041598|141598|989898|1|9999041598|MR|Test|E|Lead 41598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041599|141599|989898|1|9999041599|MR|Test|E|Lead 41599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041600|141600|989898|1|9999041600|MR|Test|E|Lead 41600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041601|141601|989898|1|9999041601|MR|Test|E|Lead 41601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041602|141602|989898|1|9999041602|MR|Test|E|Lead 41602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041603|141603|989898|1|9999041603|MR|Test|E|Lead 41603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041604|141604|989898|1|9999041604|MR|Test|E|Lead 41604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041605|141605|989898|1|9999041605|MR|Test|E|Lead 41605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041606|141606|989898|1|9999041606|MR|Test|E|Lead 41606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041607|141607|989898|1|9999041607|MR|Test|E|Lead 41607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041608|141608|989898|1|9999041608|MR|Test|E|Lead 41608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041609|141609|989898|1|9999041609|MR|Test|E|Lead 41609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041610|141610|989898|1|9999041610|MR|Test|E|Lead 41610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041611|141611|989898|1|9999041611|MR|Test|E|Lead 41611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041612|141612|989898|1|9999041612|MR|Test|E|Lead 41612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041613|141613|989898|1|9999041613|MR|Test|E|Lead 41613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041614|141614|989898|1|9999041614|MR|Test|E|Lead 41614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041615|141615|989898|1|9999041615|MR|Test|E|Lead 41615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041616|141616|989898|1|9999041616|MR|Test|E|Lead 41616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041617|141617|989898|1|9999041617|MR|Test|E|Lead 41617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041618|141618|989898|1|9999041618|MR|Test|E|Lead 41618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041619|141619|989898|1|9999041619|MR|Test|E|Lead 41619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041620|141620|989898|1|9999041620|MR|Test|E|Lead 41620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041621|141621|989898|1|9999041621|MR|Test|E|Lead 41621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041622|141622|989898|1|9999041622|MR|Test|E|Lead 41622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041623|141623|989898|1|9999041623|MR|Test|E|Lead 41623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041624|141624|989898|1|9999041624|MR|Test|E|Lead 41624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041625|141625|989898|1|9999041625|MR|Test|E|Lead 41625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041626|141626|989898|1|9999041626|MR|Test|E|Lead 41626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041627|141627|989898|1|9999041627|MR|Test|E|Lead 41627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041628|141628|989898|1|9999041628|MR|Test|E|Lead 41628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041629|141629|989898|1|9999041629|MR|Test|E|Lead 41629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041630|141630|989898|1|9999041630|MR|Test|E|Lead 41630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041631|141631|989898|1|9999041631|MR|Test|E|Lead 41631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041632|141632|989898|1|9999041632|MR|Test|E|Lead 41632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041633|141633|989898|1|9999041633|MR|Test|E|Lead 41633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041634|141634|989898|1|9999041634|MR|Test|E|Lead 41634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041635|141635|989898|1|9999041635|MR|Test|E|Lead 41635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041636|141636|989898|1|9999041636|MR|Test|E|Lead 41636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041637|141637|989898|1|9999041637|MR|Test|E|Lead 41637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041638|141638|989898|1|9999041638|MR|Test|E|Lead 41638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041639|141639|989898|1|9999041639|MR|Test|E|Lead 41639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041640|141640|989898|1|9999041640|MR|Test|E|Lead 41640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041641|141641|989898|1|9999041641|MR|Test|E|Lead 41641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041642|141642|989898|1|9999041642|MR|Test|E|Lead 41642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041643|141643|989898|1|9999041643|MR|Test|E|Lead 41643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041644|141644|989898|1|9999041644|MR|Test|E|Lead 41644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041645|141645|989898|1|9999041645|MR|Test|E|Lead 41645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041646|141646|989898|1|9999041646|MR|Test|E|Lead 41646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041647|141647|989898|1|9999041647|MR|Test|E|Lead 41647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041648|141648|989898|1|9999041648|MR|Test|E|Lead 41648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041649|141649|989898|1|9999041649|MR|Test|E|Lead 41649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041650|141650|989898|1|9999041650|MR|Test|E|Lead 41650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041651|141651|989898|1|9999041651|MR|Test|E|Lead 41651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041652|141652|989898|1|9999041652|MR|Test|E|Lead 41652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041653|141653|989898|1|9999041653|MR|Test|E|Lead 41653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041654|141654|989898|1|9999041654|MR|Test|E|Lead 41654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041655|141655|989898|1|9999041655|MR|Test|E|Lead 41655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041656|141656|989898|1|9999041656|MR|Test|E|Lead 41656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041657|141657|989898|1|9999041657|MR|Test|E|Lead 41657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041658|141658|989898|1|9999041658|MR|Test|E|Lead 41658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041659|141659|989898|1|9999041659|MR|Test|E|Lead 41659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041660|141660|989898|1|9999041660|MR|Test|E|Lead 41660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041661|141661|989898|1|9999041661|MR|Test|E|Lead 41661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041662|141662|989898|1|9999041662|MR|Test|E|Lead 41662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041663|141663|989898|1|9999041663|MR|Test|E|Lead 41663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041664|141664|989898|1|9999041664|MR|Test|E|Lead 41664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041665|141665|989898|1|9999041665|MR|Test|E|Lead 41665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041666|141666|989898|1|9999041666|MR|Test|E|Lead 41666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041667|141667|989898|1|9999041667|MR|Test|E|Lead 41667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041668|141668|989898|1|9999041668|MR|Test|E|Lead 41668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041669|141669|989898|1|9999041669|MR|Test|E|Lead 41669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041670|141670|989898|1|9999041670|MR|Test|E|Lead 41670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041671|141671|989898|1|9999041671|MR|Test|E|Lead 41671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041672|141672|989898|1|9999041672|MR|Test|E|Lead 41672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041673|141673|989898|1|9999041673|MR|Test|E|Lead 41673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041674|141674|989898|1|9999041674|MR|Test|E|Lead 41674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041675|141675|989898|1|9999041675|MR|Test|E|Lead 41675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041676|141676|989898|1|9999041676|MR|Test|E|Lead 41676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041677|141677|989898|1|9999041677|MR|Test|E|Lead 41677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041678|141678|989898|1|9999041678|MR|Test|E|Lead 41678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041679|141679|989898|1|9999041679|MR|Test|E|Lead 41679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041680|141680|989898|1|9999041680|MR|Test|E|Lead 41680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041681|141681|989898|1|9999041681|MR|Test|E|Lead 41681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041682|141682|989898|1|9999041682|MR|Test|E|Lead 41682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041683|141683|989898|1|9999041683|MR|Test|E|Lead 41683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041684|141684|989898|1|9999041684|MR|Test|E|Lead 41684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041685|141685|989898|1|9999041685|MR|Test|E|Lead 41685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041686|141686|989898|1|9999041686|MR|Test|E|Lead 41686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041687|141687|989898|1|9999041687|MR|Test|E|Lead 41687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041688|141688|989898|1|9999041688|MR|Test|E|Lead 41688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041689|141689|989898|1|9999041689|MR|Test|E|Lead 41689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041690|141690|989898|1|9999041690|MR|Test|E|Lead 41690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041691|141691|989898|1|9999041691|MR|Test|E|Lead 41691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041692|141692|989898|1|9999041692|MR|Test|E|Lead 41692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041693|141693|989898|1|9999041693|MR|Test|E|Lead 41693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041694|141694|989898|1|9999041694|MR|Test|E|Lead 41694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041695|141695|989898|1|9999041695|MR|Test|E|Lead 41695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041696|141696|989898|1|9999041696|MR|Test|E|Lead 41696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041697|141697|989898|1|9999041697|MR|Test|E|Lead 41697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041698|141698|989898|1|9999041698|MR|Test|E|Lead 41698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041699|141699|989898|1|9999041699|MR|Test|E|Lead 41699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041700|141700|989898|1|9999041700|MR|Test|E|Lead 41700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041701|141701|989898|1|9999041701|MR|Test|E|Lead 41701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041702|141702|989898|1|9999041702|MR|Test|E|Lead 41702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041703|141703|989898|1|9999041703|MR|Test|E|Lead 41703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041704|141704|989898|1|9999041704|MR|Test|E|Lead 41704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041705|141705|989898|1|9999041705|MR|Test|E|Lead 41705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041706|141706|989898|1|9999041706|MR|Test|E|Lead 41706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041707|141707|989898|1|9999041707|MR|Test|E|Lead 41707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041708|141708|989898|1|9999041708|MR|Test|E|Lead 41708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041709|141709|989898|1|9999041709|MR|Test|E|Lead 41709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041710|141710|989898|1|9999041710|MR|Test|E|Lead 41710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041711|141711|989898|1|9999041711|MR|Test|E|Lead 41711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041712|141712|989898|1|9999041712|MR|Test|E|Lead 41712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041713|141713|989898|1|9999041713|MR|Test|E|Lead 41713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041714|141714|989898|1|9999041714|MR|Test|E|Lead 41714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041715|141715|989898|1|9999041715|MR|Test|E|Lead 41715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041716|141716|989898|1|9999041716|MR|Test|E|Lead 41716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041717|141717|989898|1|9999041717|MR|Test|E|Lead 41717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041718|141718|989898|1|9999041718|MR|Test|E|Lead 41718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041719|141719|989898|1|9999041719|MR|Test|E|Lead 41719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041720|141720|989898|1|9999041720|MR|Test|E|Lead 41720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041721|141721|989898|1|9999041721|MR|Test|E|Lead 41721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041722|141722|989898|1|9999041722|MR|Test|E|Lead 41722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041723|141723|989898|1|9999041723|MR|Test|E|Lead 41723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041724|141724|989898|1|9999041724|MR|Test|E|Lead 41724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041725|141725|989898|1|9999041725|MR|Test|E|Lead 41725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041726|141726|989898|1|9999041726|MR|Test|E|Lead 41726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041727|141727|989898|1|9999041727|MR|Test|E|Lead 41727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041728|141728|989898|1|9999041728|MR|Test|E|Lead 41728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041729|141729|989898|1|9999041729|MR|Test|E|Lead 41729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041730|141730|989898|1|9999041730|MR|Test|E|Lead 41730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041731|141731|989898|1|9999041731|MR|Test|E|Lead 41731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041732|141732|989898|1|9999041732|MR|Test|E|Lead 41732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041733|141733|989898|1|9999041733|MR|Test|E|Lead 41733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041734|141734|989898|1|9999041734|MR|Test|E|Lead 41734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041735|141735|989898|1|9999041735|MR|Test|E|Lead 41735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041736|141736|989898|1|9999041736|MR|Test|E|Lead 41736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041737|141737|989898|1|9999041737|MR|Test|E|Lead 41737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041738|141738|989898|1|9999041738|MR|Test|E|Lead 41738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041739|141739|989898|1|9999041739|MR|Test|E|Lead 41739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041740|141740|989898|1|9999041740|MR|Test|E|Lead 41740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041741|141741|989898|1|9999041741|MR|Test|E|Lead 41741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041742|141742|989898|1|9999041742|MR|Test|E|Lead 41742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041743|141743|989898|1|9999041743|MR|Test|E|Lead 41743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041744|141744|989898|1|9999041744|MR|Test|E|Lead 41744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041745|141745|989898|1|9999041745|MR|Test|E|Lead 41745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041746|141746|989898|1|9999041746|MR|Test|E|Lead 41746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041747|141747|989898|1|9999041747|MR|Test|E|Lead 41747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041748|141748|989898|1|9999041748|MR|Test|E|Lead 41748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041749|141749|989898|1|9999041749|MR|Test|E|Lead 41749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041750|141750|989898|1|9999041750|MR|Test|E|Lead 41750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041751|141751|989898|1|9999041751|MR|Test|E|Lead 41751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041752|141752|989898|1|9999041752|MR|Test|E|Lead 41752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041753|141753|989898|1|9999041753|MR|Test|E|Lead 41753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041754|141754|989898|1|9999041754|MR|Test|E|Lead 41754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041755|141755|989898|1|9999041755|MR|Test|E|Lead 41755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041756|141756|989898|1|9999041756|MR|Test|E|Lead 41756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041757|141757|989898|1|9999041757|MR|Test|E|Lead 41757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041758|141758|989898|1|9999041758|MR|Test|E|Lead 41758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041759|141759|989898|1|9999041759|MR|Test|E|Lead 41759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041760|141760|989898|1|9999041760|MR|Test|E|Lead 41760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041761|141761|989898|1|9999041761|MR|Test|E|Lead 41761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041762|141762|989898|1|9999041762|MR|Test|E|Lead 41762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041763|141763|989898|1|9999041763|MR|Test|E|Lead 41763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041764|141764|989898|1|9999041764|MR|Test|E|Lead 41764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041765|141765|989898|1|9999041765|MR|Test|E|Lead 41765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041766|141766|989898|1|9999041766|MR|Test|E|Lead 41766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041767|141767|989898|1|9999041767|MR|Test|E|Lead 41767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041768|141768|989898|1|9999041768|MR|Test|E|Lead 41768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041769|141769|989898|1|9999041769|MR|Test|E|Lead 41769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041770|141770|989898|1|9999041770|MR|Test|E|Lead 41770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041771|141771|989898|1|9999041771|MR|Test|E|Lead 41771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041772|141772|989898|1|9999041772|MR|Test|E|Lead 41772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041773|141773|989898|1|9999041773|MR|Test|E|Lead 41773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041774|141774|989898|1|9999041774|MR|Test|E|Lead 41774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041775|141775|989898|1|9999041775|MR|Test|E|Lead 41775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041776|141776|989898|1|9999041776|MR|Test|E|Lead 41776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041777|141777|989898|1|9999041777|MR|Test|E|Lead 41777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041778|141778|989898|1|9999041778|MR|Test|E|Lead 41778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041779|141779|989898|1|9999041779|MR|Test|E|Lead 41779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041780|141780|989898|1|9999041780|MR|Test|E|Lead 41780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041781|141781|989898|1|9999041781|MR|Test|E|Lead 41781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041782|141782|989898|1|9999041782|MR|Test|E|Lead 41782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041783|141783|989898|1|9999041783|MR|Test|E|Lead 41783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041784|141784|989898|1|9999041784|MR|Test|E|Lead 41784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041785|141785|989898|1|9999041785|MR|Test|E|Lead 41785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041786|141786|989898|1|9999041786|MR|Test|E|Lead 41786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041787|141787|989898|1|9999041787|MR|Test|E|Lead 41787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041788|141788|989898|1|9999041788|MR|Test|E|Lead 41788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041789|141789|989898|1|9999041789|MR|Test|E|Lead 41789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041790|141790|989898|1|9999041790|MR|Test|E|Lead 41790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041791|141791|989898|1|9999041791|MR|Test|E|Lead 41791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041792|141792|989898|1|9999041792|MR|Test|E|Lead 41792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041793|141793|989898|1|9999041793|MR|Test|E|Lead 41793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041794|141794|989898|1|9999041794|MR|Test|E|Lead 41794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041795|141795|989898|1|9999041795|MR|Test|E|Lead 41795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041796|141796|989898|1|9999041796|MR|Test|E|Lead 41796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041797|141797|989898|1|9999041797|MR|Test|E|Lead 41797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041798|141798|989898|1|9999041798|MR|Test|E|Lead 41798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041799|141799|989898|1|9999041799|MR|Test|E|Lead 41799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041800|141800|989898|1|9999041800|MR|Test|E|Lead 41800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041801|141801|989898|1|9999041801|MR|Test|E|Lead 41801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041802|141802|989898|1|9999041802|MR|Test|E|Lead 41802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041803|141803|989898|1|9999041803|MR|Test|E|Lead 41803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041804|141804|989898|1|9999041804|MR|Test|E|Lead 41804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041805|141805|989898|1|9999041805|MR|Test|E|Lead 41805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041806|141806|989898|1|9999041806|MR|Test|E|Lead 41806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041807|141807|989898|1|9999041807|MR|Test|E|Lead 41807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041808|141808|989898|1|9999041808|MR|Test|E|Lead 41808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041809|141809|989898|1|9999041809|MR|Test|E|Lead 41809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041810|141810|989898|1|9999041810|MR|Test|E|Lead 41810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041811|141811|989898|1|9999041811|MR|Test|E|Lead 41811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041812|141812|989898|1|9999041812|MR|Test|E|Lead 41812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041813|141813|989898|1|9999041813|MR|Test|E|Lead 41813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041814|141814|989898|1|9999041814|MR|Test|E|Lead 41814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041815|141815|989898|1|9999041815|MR|Test|E|Lead 41815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041816|141816|989898|1|9999041816|MR|Test|E|Lead 41816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041817|141817|989898|1|9999041817|MR|Test|E|Lead 41817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041818|141818|989898|1|9999041818|MR|Test|E|Lead 41818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041819|141819|989898|1|9999041819|MR|Test|E|Lead 41819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041820|141820|989898|1|9999041820|MR|Test|E|Lead 41820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041821|141821|989898|1|9999041821|MR|Test|E|Lead 41821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041822|141822|989898|1|9999041822|MR|Test|E|Lead 41822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041823|141823|989898|1|9999041823|MR|Test|E|Lead 41823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041824|141824|989898|1|9999041824|MR|Test|E|Lead 41824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041825|141825|989898|1|9999041825|MR|Test|E|Lead 41825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041826|141826|989898|1|9999041826|MR|Test|E|Lead 41826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041827|141827|989898|1|9999041827|MR|Test|E|Lead 41827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041828|141828|989898|1|9999041828|MR|Test|E|Lead 41828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041829|141829|989898|1|9999041829|MR|Test|E|Lead 41829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041830|141830|989898|1|9999041830|MR|Test|E|Lead 41830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041831|141831|989898|1|9999041831|MR|Test|E|Lead 41831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041832|141832|989898|1|9999041832|MR|Test|E|Lead 41832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041833|141833|989898|1|9999041833|MR|Test|E|Lead 41833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041834|141834|989898|1|9999041834|MR|Test|E|Lead 41834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041835|141835|989898|1|9999041835|MR|Test|E|Lead 41835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041836|141836|989898|1|9999041836|MR|Test|E|Lead 41836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041837|141837|989898|1|9999041837|MR|Test|E|Lead 41837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041838|141838|989898|1|9999041838|MR|Test|E|Lead 41838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041839|141839|989898|1|9999041839|MR|Test|E|Lead 41839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041840|141840|989898|1|9999041840|MR|Test|E|Lead 41840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041841|141841|989898|1|9999041841|MR|Test|E|Lead 41841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041842|141842|989898|1|9999041842|MR|Test|E|Lead 41842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041843|141843|989898|1|9999041843|MR|Test|E|Lead 41843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041844|141844|989898|1|9999041844|MR|Test|E|Lead 41844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041845|141845|989898|1|9999041845|MR|Test|E|Lead 41845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041846|141846|989898|1|9999041846|MR|Test|E|Lead 41846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041847|141847|989898|1|9999041847|MR|Test|E|Lead 41847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041848|141848|989898|1|9999041848|MR|Test|E|Lead 41848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041849|141849|989898|1|9999041849|MR|Test|E|Lead 41849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041850|141850|989898|1|9999041850|MR|Test|E|Lead 41850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041851|141851|989898|1|9999041851|MR|Test|E|Lead 41851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041852|141852|989898|1|9999041852|MR|Test|E|Lead 41852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041853|141853|989898|1|9999041853|MR|Test|E|Lead 41853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041854|141854|989898|1|9999041854|MR|Test|E|Lead 41854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041855|141855|989898|1|9999041855|MR|Test|E|Lead 41855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041856|141856|989898|1|9999041856|MR|Test|E|Lead 41856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041857|141857|989898|1|9999041857|MR|Test|E|Lead 41857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041858|141858|989898|1|9999041858|MR|Test|E|Lead 41858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041859|141859|989898|1|9999041859|MR|Test|E|Lead 41859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041860|141860|989898|1|9999041860|MR|Test|E|Lead 41860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041861|141861|989898|1|9999041861|MR|Test|E|Lead 41861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041862|141862|989898|1|9999041862|MR|Test|E|Lead 41862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041863|141863|989898|1|9999041863|MR|Test|E|Lead 41863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041864|141864|989898|1|9999041864|MR|Test|E|Lead 41864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041865|141865|989898|1|9999041865|MR|Test|E|Lead 41865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041866|141866|989898|1|9999041866|MR|Test|E|Lead 41866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041867|141867|989898|1|9999041867|MR|Test|E|Lead 41867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041868|141868|989898|1|9999041868|MR|Test|E|Lead 41868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041869|141869|989898|1|9999041869|MR|Test|E|Lead 41869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041870|141870|989898|1|9999041870|MR|Test|E|Lead 41870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041871|141871|989898|1|9999041871|MR|Test|E|Lead 41871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041872|141872|989898|1|9999041872|MR|Test|E|Lead 41872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041873|141873|989898|1|9999041873|MR|Test|E|Lead 41873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041874|141874|989898|1|9999041874|MR|Test|E|Lead 41874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041875|141875|989898|1|9999041875|MR|Test|E|Lead 41875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041876|141876|989898|1|9999041876|MR|Test|E|Lead 41876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041877|141877|989898|1|9999041877|MR|Test|E|Lead 41877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041878|141878|989898|1|9999041878|MR|Test|E|Lead 41878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041879|141879|989898|1|9999041879|MR|Test|E|Lead 41879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041880|141880|989898|1|9999041880|MR|Test|E|Lead 41880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041881|141881|989898|1|9999041881|MR|Test|E|Lead 41881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041882|141882|989898|1|9999041882|MR|Test|E|Lead 41882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041883|141883|989898|1|9999041883|MR|Test|E|Lead 41883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041884|141884|989898|1|9999041884|MR|Test|E|Lead 41884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041885|141885|989898|1|9999041885|MR|Test|E|Lead 41885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041886|141886|989898|1|9999041886|MR|Test|E|Lead 41886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041887|141887|989898|1|9999041887|MR|Test|E|Lead 41887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041888|141888|989898|1|9999041888|MR|Test|E|Lead 41888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041889|141889|989898|1|9999041889|MR|Test|E|Lead 41889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041890|141890|989898|1|9999041890|MR|Test|E|Lead 41890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041891|141891|989898|1|9999041891|MR|Test|E|Lead 41891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041892|141892|989898|1|9999041892|MR|Test|E|Lead 41892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041893|141893|989898|1|9999041893|MR|Test|E|Lead 41893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041894|141894|989898|1|9999041894|MR|Test|E|Lead 41894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041895|141895|989898|1|9999041895|MR|Test|E|Lead 41895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041896|141896|989898|1|9999041896|MR|Test|E|Lead 41896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041897|141897|989898|1|9999041897|MR|Test|E|Lead 41897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041898|141898|989898|1|9999041898|MR|Test|E|Lead 41898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041899|141899|989898|1|9999041899|MR|Test|E|Lead 41899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041900|141900|989898|1|9999041900|MR|Test|E|Lead 41900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041901|141901|989898|1|9999041901|MR|Test|E|Lead 41901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041902|141902|989898|1|9999041902|MR|Test|E|Lead 41902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041903|141903|989898|1|9999041903|MR|Test|E|Lead 41903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041904|141904|989898|1|9999041904|MR|Test|E|Lead 41904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041905|141905|989898|1|9999041905|MR|Test|E|Lead 41905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041906|141906|989898|1|9999041906|MR|Test|E|Lead 41906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041907|141907|989898|1|9999041907|MR|Test|E|Lead 41907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041908|141908|989898|1|9999041908|MR|Test|E|Lead 41908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041909|141909|989898|1|9999041909|MR|Test|E|Lead 41909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041910|141910|989898|1|9999041910|MR|Test|E|Lead 41910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041911|141911|989898|1|9999041911|MR|Test|E|Lead 41911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041912|141912|989898|1|9999041912|MR|Test|E|Lead 41912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041913|141913|989898|1|9999041913|MR|Test|E|Lead 41913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041914|141914|989898|1|9999041914|MR|Test|E|Lead 41914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041915|141915|989898|1|9999041915|MR|Test|E|Lead 41915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041916|141916|989898|1|9999041916|MR|Test|E|Lead 41916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041917|141917|989898|1|9999041917|MR|Test|E|Lead 41917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041918|141918|989898|1|9999041918|MR|Test|E|Lead 41918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041919|141919|989898|1|9999041919|MR|Test|E|Lead 41919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041920|141920|989898|1|9999041920|MR|Test|E|Lead 41920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041921|141921|989898|1|9999041921|MR|Test|E|Lead 41921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041922|141922|989898|1|9999041922|MR|Test|E|Lead 41922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041923|141923|989898|1|9999041923|MR|Test|E|Lead 41923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041924|141924|989898|1|9999041924|MR|Test|E|Lead 41924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041925|141925|989898|1|9999041925|MR|Test|E|Lead 41925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041926|141926|989898|1|9999041926|MR|Test|E|Lead 41926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041927|141927|989898|1|9999041927|MR|Test|E|Lead 41927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041928|141928|989898|1|9999041928|MR|Test|E|Lead 41928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041929|141929|989898|1|9999041929|MR|Test|E|Lead 41929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041930|141930|989898|1|9999041930|MR|Test|E|Lead 41930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041931|141931|989898|1|9999041931|MR|Test|E|Lead 41931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041932|141932|989898|1|9999041932|MR|Test|E|Lead 41932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041933|141933|989898|1|9999041933|MR|Test|E|Lead 41933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041934|141934|989898|1|9999041934|MR|Test|E|Lead 41934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041935|141935|989898|1|9999041935|MR|Test|E|Lead 41935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041936|141936|989898|1|9999041936|MR|Test|E|Lead 41936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041937|141937|989898|1|9999041937|MR|Test|E|Lead 41937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041938|141938|989898|1|9999041938|MR|Test|E|Lead 41938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041939|141939|989898|1|9999041939|MR|Test|E|Lead 41939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041940|141940|989898|1|9999041940|MR|Test|E|Lead 41940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041941|141941|989898|1|9999041941|MR|Test|E|Lead 41941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041942|141942|989898|1|9999041942|MR|Test|E|Lead 41942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041943|141943|989898|1|9999041943|MR|Test|E|Lead 41943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041944|141944|989898|1|9999041944|MR|Test|E|Lead 41944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041945|141945|989898|1|9999041945|MR|Test|E|Lead 41945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041946|141946|989898|1|9999041946|MR|Test|E|Lead 41946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041947|141947|989898|1|9999041947|MR|Test|E|Lead 41947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041948|141948|989898|1|9999041948|MR|Test|E|Lead 41948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041949|141949|989898|1|9999041949|MR|Test|E|Lead 41949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041950|141950|989898|1|9999041950|MR|Test|E|Lead 41950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041951|141951|989898|1|9999041951|MR|Test|E|Lead 41951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041952|141952|989898|1|9999041952|MR|Test|E|Lead 41952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041953|141953|989898|1|9999041953|MR|Test|E|Lead 41953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041954|141954|989898|1|9999041954|MR|Test|E|Lead 41954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041955|141955|989898|1|9999041955|MR|Test|E|Lead 41955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041956|141956|989898|1|9999041956|MR|Test|E|Lead 41956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041957|141957|989898|1|9999041957|MR|Test|E|Lead 41957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041958|141958|989898|1|9999041958|MR|Test|E|Lead 41958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041959|141959|989898|1|9999041959|MR|Test|E|Lead 41959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041960|141960|989898|1|9999041960|MR|Test|E|Lead 41960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041961|141961|989898|1|9999041961|MR|Test|E|Lead 41961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041962|141962|989898|1|9999041962|MR|Test|E|Lead 41962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041963|141963|989898|1|9999041963|MR|Test|E|Lead 41963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041964|141964|989898|1|9999041964|MR|Test|E|Lead 41964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041965|141965|989898|1|9999041965|MR|Test|E|Lead 41965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041966|141966|989898|1|9999041966|MR|Test|E|Lead 41966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041967|141967|989898|1|9999041967|MR|Test|E|Lead 41967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041968|141968|989898|1|9999041968|MR|Test|E|Lead 41968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041969|141969|989898|1|9999041969|MR|Test|E|Lead 41969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041970|141970|989898|1|9999041970|MR|Test|E|Lead 41970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041971|141971|989898|1|9999041971|MR|Test|E|Lead 41971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041972|141972|989898|1|9999041972|MR|Test|E|Lead 41972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041973|141973|989898|1|9999041973|MR|Test|E|Lead 41973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041974|141974|989898|1|9999041974|MR|Test|E|Lead 41974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041975|141975|989898|1|9999041975|MR|Test|E|Lead 41975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041976|141976|989898|1|9999041976|MR|Test|E|Lead 41976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041977|141977|989898|1|9999041977|MR|Test|E|Lead 41977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041978|141978|989898|1|9999041978|MR|Test|E|Lead 41978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041979|141979|989898|1|9999041979|MR|Test|E|Lead 41979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041980|141980|989898|1|9999041980|MR|Test|E|Lead 41980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041981|141981|989898|1|9999041981|MR|Test|E|Lead 41981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041982|141982|989898|1|9999041982|MR|Test|E|Lead 41982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041983|141983|989898|1|9999041983|MR|Test|E|Lead 41983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041984|141984|989898|1|9999041984|MR|Test|E|Lead 41984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041985|141985|989898|1|9999041985|MR|Test|E|Lead 41985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041986|141986|989898|1|9999041986|MR|Test|E|Lead 41986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041987|141987|989898|1|9999041987|MR|Test|E|Lead 41987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041988|141988|989898|1|9999041988|MR|Test|E|Lead 41988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041989|141989|989898|1|9999041989|MR|Test|E|Lead 41989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041990|141990|989898|1|9999041990|MR|Test|E|Lead 41990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041991|141991|989898|1|9999041991|MR|Test|E|Lead 41991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041992|141992|989898|1|9999041992|MR|Test|E|Lead 41992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041993|141993|989898|1|9999041993|MR|Test|E|Lead 41993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041994|141994|989898|1|9999041994|MR|Test|E|Lead 41994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041995|141995|989898|1|9999041995|MR|Test|E|Lead 41995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041996|141996|989898|1|9999041996|MR|Test|E|Lead 41996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041997|141997|989898|1|9999041997|MR|Test|E|Lead 41997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041998|141998|989898|1|9999041998|MR|Test|E|Lead 41998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1041999|141999|989898|1|9999041999|MR|Test|E|Lead 41999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042000|142000|989898|1|9999042000|MR|Test|E|Lead 42000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042001|142001|989898|1|9999042001|MR|Test|E|Lead 42001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042002|142002|989898|1|9999042002|MR|Test|E|Lead 42002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042003|142003|989898|1|9999042003|MR|Test|E|Lead 42003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042004|142004|989898|1|9999042004|MR|Test|E|Lead 42004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042005|142005|989898|1|9999042005|MR|Test|E|Lead 42005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042006|142006|989898|1|9999042006|MR|Test|E|Lead 42006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042007|142007|989898|1|9999042007|MR|Test|E|Lead 42007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042008|142008|989898|1|9999042008|MR|Test|E|Lead 42008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042009|142009|989898|1|9999042009|MR|Test|E|Lead 42009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042010|142010|989898|1|9999042010|MR|Test|E|Lead 42010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042011|142011|989898|1|9999042011|MR|Test|E|Lead 42011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042012|142012|989898|1|9999042012|MR|Test|E|Lead 42012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042013|142013|989898|1|9999042013|MR|Test|E|Lead 42013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042014|142014|989898|1|9999042014|MR|Test|E|Lead 42014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042015|142015|989898|1|9999042015|MR|Test|E|Lead 42015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042016|142016|989898|1|9999042016|MR|Test|E|Lead 42016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042017|142017|989898|1|9999042017|MR|Test|E|Lead 42017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042018|142018|989898|1|9999042018|MR|Test|E|Lead 42018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042019|142019|989898|1|9999042019|MR|Test|E|Lead 42019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042020|142020|989898|1|9999042020|MR|Test|E|Lead 42020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042021|142021|989898|1|9999042021|MR|Test|E|Lead 42021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042022|142022|989898|1|9999042022|MR|Test|E|Lead 42022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042023|142023|989898|1|9999042023|MR|Test|E|Lead 42023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042024|142024|989898|1|9999042024|MR|Test|E|Lead 42024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042025|142025|989898|1|9999042025|MR|Test|E|Lead 42025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042026|142026|989898|1|9999042026|MR|Test|E|Lead 42026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042027|142027|989898|1|9999042027|MR|Test|E|Lead 42027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042028|142028|989898|1|9999042028|MR|Test|E|Lead 42028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042029|142029|989898|1|9999042029|MR|Test|E|Lead 42029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042030|142030|989898|1|9999042030|MR|Test|E|Lead 42030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042031|142031|989898|1|9999042031|MR|Test|E|Lead 42031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042032|142032|989898|1|9999042032|MR|Test|E|Lead 42032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042033|142033|989898|1|9999042033|MR|Test|E|Lead 42033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042034|142034|989898|1|9999042034|MR|Test|E|Lead 42034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042035|142035|989898|1|9999042035|MR|Test|E|Lead 42035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042036|142036|989898|1|9999042036|MR|Test|E|Lead 42036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042037|142037|989898|1|9999042037|MR|Test|E|Lead 42037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042038|142038|989898|1|9999042038|MR|Test|E|Lead 42038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042039|142039|989898|1|9999042039|MR|Test|E|Lead 42039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042040|142040|989898|1|9999042040|MR|Test|E|Lead 42040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042041|142041|989898|1|9999042041|MR|Test|E|Lead 42041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042042|142042|989898|1|9999042042|MR|Test|E|Lead 42042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042043|142043|989898|1|9999042043|MR|Test|E|Lead 42043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042044|142044|989898|1|9999042044|MR|Test|E|Lead 42044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042045|142045|989898|1|9999042045|MR|Test|E|Lead 42045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042046|142046|989898|1|9999042046|MR|Test|E|Lead 42046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042047|142047|989898|1|9999042047|MR|Test|E|Lead 42047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042048|142048|989898|1|9999042048|MR|Test|E|Lead 42048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042049|142049|989898|1|9999042049|MR|Test|E|Lead 42049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042050|142050|989898|1|9999042050|MR|Test|E|Lead 42050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042051|142051|989898|1|9999042051|MR|Test|E|Lead 42051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042052|142052|989898|1|9999042052|MR|Test|E|Lead 42052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042053|142053|989898|1|9999042053|MR|Test|E|Lead 42053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042054|142054|989898|1|9999042054|MR|Test|E|Lead 42054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042055|142055|989898|1|9999042055|MR|Test|E|Lead 42055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042056|142056|989898|1|9999042056|MR|Test|E|Lead 42056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042057|142057|989898|1|9999042057|MR|Test|E|Lead 42057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042058|142058|989898|1|9999042058|MR|Test|E|Lead 42058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042059|142059|989898|1|9999042059|MR|Test|E|Lead 42059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042060|142060|989898|1|9999042060|MR|Test|E|Lead 42060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042061|142061|989898|1|9999042061|MR|Test|E|Lead 42061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042062|142062|989898|1|9999042062|MR|Test|E|Lead 42062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042063|142063|989898|1|9999042063|MR|Test|E|Lead 42063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042064|142064|989898|1|9999042064|MR|Test|E|Lead 42064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042065|142065|989898|1|9999042065|MR|Test|E|Lead 42065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042066|142066|989898|1|9999042066|MR|Test|E|Lead 42066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042067|142067|989898|1|9999042067|MR|Test|E|Lead 42067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042068|142068|989898|1|9999042068|MR|Test|E|Lead 42068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042069|142069|989898|1|9999042069|MR|Test|E|Lead 42069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042070|142070|989898|1|9999042070|MR|Test|E|Lead 42070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042071|142071|989898|1|9999042071|MR|Test|E|Lead 42071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042072|142072|989898|1|9999042072|MR|Test|E|Lead 42072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042073|142073|989898|1|9999042073|MR|Test|E|Lead 42073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042074|142074|989898|1|9999042074|MR|Test|E|Lead 42074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042075|142075|989898|1|9999042075|MR|Test|E|Lead 42075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042076|142076|989898|1|9999042076|MR|Test|E|Lead 42076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042077|142077|989898|1|9999042077|MR|Test|E|Lead 42077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042078|142078|989898|1|9999042078|MR|Test|E|Lead 42078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042079|142079|989898|1|9999042079|MR|Test|E|Lead 42079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042080|142080|989898|1|9999042080|MR|Test|E|Lead 42080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042081|142081|989898|1|9999042081|MR|Test|E|Lead 42081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042082|142082|989898|1|9999042082|MR|Test|E|Lead 42082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042083|142083|989898|1|9999042083|MR|Test|E|Lead 42083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042084|142084|989898|1|9999042084|MR|Test|E|Lead 42084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042085|142085|989898|1|9999042085|MR|Test|E|Lead 42085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042086|142086|989898|1|9999042086|MR|Test|E|Lead 42086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042087|142087|989898|1|9999042087|MR|Test|E|Lead 42087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042088|142088|989898|1|9999042088|MR|Test|E|Lead 42088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042089|142089|989898|1|9999042089|MR|Test|E|Lead 42089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042090|142090|989898|1|9999042090|MR|Test|E|Lead 42090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042091|142091|989898|1|9999042091|MR|Test|E|Lead 42091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042092|142092|989898|1|9999042092|MR|Test|E|Lead 42092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042093|142093|989898|1|9999042093|MR|Test|E|Lead 42093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042094|142094|989898|1|9999042094|MR|Test|E|Lead 42094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042095|142095|989898|1|9999042095|MR|Test|E|Lead 42095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042096|142096|989898|1|9999042096|MR|Test|E|Lead 42096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042097|142097|989898|1|9999042097|MR|Test|E|Lead 42097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042098|142098|989898|1|9999042098|MR|Test|E|Lead 42098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042099|142099|989898|1|9999042099|MR|Test|E|Lead 42099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042100|142100|989898|1|9999042100|MR|Test|E|Lead 42100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042101|142101|989898|1|9999042101|MR|Test|E|Lead 42101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042102|142102|989898|1|9999042102|MR|Test|E|Lead 42102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042103|142103|989898|1|9999042103|MR|Test|E|Lead 42103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042104|142104|989898|1|9999042104|MR|Test|E|Lead 42104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042105|142105|989898|1|9999042105|MR|Test|E|Lead 42105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042106|142106|989898|1|9999042106|MR|Test|E|Lead 42106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042107|142107|989898|1|9999042107|MR|Test|E|Lead 42107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042108|142108|989898|1|9999042108|MR|Test|E|Lead 42108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042109|142109|989898|1|9999042109|MR|Test|E|Lead 42109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042110|142110|989898|1|9999042110|MR|Test|E|Lead 42110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042111|142111|989898|1|9999042111|MR|Test|E|Lead 42111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042112|142112|989898|1|9999042112|MR|Test|E|Lead 42112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042113|142113|989898|1|9999042113|MR|Test|E|Lead 42113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042114|142114|989898|1|9999042114|MR|Test|E|Lead 42114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042115|142115|989898|1|9999042115|MR|Test|E|Lead 42115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042116|142116|989898|1|9999042116|MR|Test|E|Lead 42116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042117|142117|989898|1|9999042117|MR|Test|E|Lead 42117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042118|142118|989898|1|9999042118|MR|Test|E|Lead 42118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042119|142119|989898|1|9999042119|MR|Test|E|Lead 42119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042120|142120|989898|1|9999042120|MR|Test|E|Lead 42120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042121|142121|989898|1|9999042121|MR|Test|E|Lead 42121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042122|142122|989898|1|9999042122|MR|Test|E|Lead 42122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042123|142123|989898|1|9999042123|MR|Test|E|Lead 42123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042124|142124|989898|1|9999042124|MR|Test|E|Lead 42124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042125|142125|989898|1|9999042125|MR|Test|E|Lead 42125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042126|142126|989898|1|9999042126|MR|Test|E|Lead 42126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042127|142127|989898|1|9999042127|MR|Test|E|Lead 42127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042128|142128|989898|1|9999042128|MR|Test|E|Lead 42128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042129|142129|989898|1|9999042129|MR|Test|E|Lead 42129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042130|142130|989898|1|9999042130|MR|Test|E|Lead 42130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042131|142131|989898|1|9999042131|MR|Test|E|Lead 42131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042132|142132|989898|1|9999042132|MR|Test|E|Lead 42132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042133|142133|989898|1|9999042133|MR|Test|E|Lead 42133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042134|142134|989898|1|9999042134|MR|Test|E|Lead 42134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042135|142135|989898|1|9999042135|MR|Test|E|Lead 42135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042136|142136|989898|1|9999042136|MR|Test|E|Lead 42136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042137|142137|989898|1|9999042137|MR|Test|E|Lead 42137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042138|142138|989898|1|9999042138|MR|Test|E|Lead 42138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042139|142139|989898|1|9999042139|MR|Test|E|Lead 42139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042140|142140|989898|1|9999042140|MR|Test|E|Lead 42140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042141|142141|989898|1|9999042141|MR|Test|E|Lead 42141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042142|142142|989898|1|9999042142|MR|Test|E|Lead 42142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042143|142143|989898|1|9999042143|MR|Test|E|Lead 42143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042144|142144|989898|1|9999042144|MR|Test|E|Lead 42144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042145|142145|989898|1|9999042145|MR|Test|E|Lead 42145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042146|142146|989898|1|9999042146|MR|Test|E|Lead 42146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042147|142147|989898|1|9999042147|MR|Test|E|Lead 42147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042148|142148|989898|1|9999042148|MR|Test|E|Lead 42148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042149|142149|989898|1|9999042149|MR|Test|E|Lead 42149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042150|142150|989898|1|9999042150|MR|Test|E|Lead 42150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042151|142151|989898|1|9999042151|MR|Test|E|Lead 42151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042152|142152|989898|1|9999042152|MR|Test|E|Lead 42152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042153|142153|989898|1|9999042153|MR|Test|E|Lead 42153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042154|142154|989898|1|9999042154|MR|Test|E|Lead 42154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042155|142155|989898|1|9999042155|MR|Test|E|Lead 42155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042156|142156|989898|1|9999042156|MR|Test|E|Lead 42156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042157|142157|989898|1|9999042157|MR|Test|E|Lead 42157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042158|142158|989898|1|9999042158|MR|Test|E|Lead 42158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042159|142159|989898|1|9999042159|MR|Test|E|Lead 42159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042160|142160|989898|1|9999042160|MR|Test|E|Lead 42160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042161|142161|989898|1|9999042161|MR|Test|E|Lead 42161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042162|142162|989898|1|9999042162|MR|Test|E|Lead 42162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042163|142163|989898|1|9999042163|MR|Test|E|Lead 42163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042164|142164|989898|1|9999042164|MR|Test|E|Lead 42164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042165|142165|989898|1|9999042165|MR|Test|E|Lead 42165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042166|142166|989898|1|9999042166|MR|Test|E|Lead 42166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042167|142167|989898|1|9999042167|MR|Test|E|Lead 42167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042168|142168|989898|1|9999042168|MR|Test|E|Lead 42168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042169|142169|989898|1|9999042169|MR|Test|E|Lead 42169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042170|142170|989898|1|9999042170|MR|Test|E|Lead 42170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042171|142171|989898|1|9999042171|MR|Test|E|Lead 42171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042172|142172|989898|1|9999042172|MR|Test|E|Lead 42172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042173|142173|989898|1|9999042173|MR|Test|E|Lead 42173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042174|142174|989898|1|9999042174|MR|Test|E|Lead 42174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042175|142175|989898|1|9999042175|MR|Test|E|Lead 42175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042176|142176|989898|1|9999042176|MR|Test|E|Lead 42176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042177|142177|989898|1|9999042177|MR|Test|E|Lead 42177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042178|142178|989898|1|9999042178|MR|Test|E|Lead 42178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042179|142179|989898|1|9999042179|MR|Test|E|Lead 42179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042180|142180|989898|1|9999042180|MR|Test|E|Lead 42180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042181|142181|989898|1|9999042181|MR|Test|E|Lead 42181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042182|142182|989898|1|9999042182|MR|Test|E|Lead 42182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042183|142183|989898|1|9999042183|MR|Test|E|Lead 42183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042184|142184|989898|1|9999042184|MR|Test|E|Lead 42184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042185|142185|989898|1|9999042185|MR|Test|E|Lead 42185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042186|142186|989898|1|9999042186|MR|Test|E|Lead 42186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042187|142187|989898|1|9999042187|MR|Test|E|Lead 42187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042188|142188|989898|1|9999042188|MR|Test|E|Lead 42188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042189|142189|989898|1|9999042189|MR|Test|E|Lead 42189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042190|142190|989898|1|9999042190|MR|Test|E|Lead 42190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042191|142191|989898|1|9999042191|MR|Test|E|Lead 42191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042192|142192|989898|1|9999042192|MR|Test|E|Lead 42192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042193|142193|989898|1|9999042193|MR|Test|E|Lead 42193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042194|142194|989898|1|9999042194|MR|Test|E|Lead 42194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042195|142195|989898|1|9999042195|MR|Test|E|Lead 42195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042196|142196|989898|1|9999042196|MR|Test|E|Lead 42196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042197|142197|989898|1|9999042197|MR|Test|E|Lead 42197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042198|142198|989898|1|9999042198|MR|Test|E|Lead 42198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042199|142199|989898|1|9999042199|MR|Test|E|Lead 42199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042200|142200|989898|1|9999042200|MR|Test|E|Lead 42200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042201|142201|989898|1|9999042201|MR|Test|E|Lead 42201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042202|142202|989898|1|9999042202|MR|Test|E|Lead 42202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042203|142203|989898|1|9999042203|MR|Test|E|Lead 42203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042204|142204|989898|1|9999042204|MR|Test|E|Lead 42204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042205|142205|989898|1|9999042205|MR|Test|E|Lead 42205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042206|142206|989898|1|9999042206|MR|Test|E|Lead 42206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042207|142207|989898|1|9999042207|MR|Test|E|Lead 42207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042208|142208|989898|1|9999042208|MR|Test|E|Lead 42208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042209|142209|989898|1|9999042209|MR|Test|E|Lead 42209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042210|142210|989898|1|9999042210|MR|Test|E|Lead 42210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042211|142211|989898|1|9999042211|MR|Test|E|Lead 42211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042212|142212|989898|1|9999042212|MR|Test|E|Lead 42212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042213|142213|989898|1|9999042213|MR|Test|E|Lead 42213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042214|142214|989898|1|9999042214|MR|Test|E|Lead 42214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042215|142215|989898|1|9999042215|MR|Test|E|Lead 42215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042216|142216|989898|1|9999042216|MR|Test|E|Lead 42216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042217|142217|989898|1|9999042217|MR|Test|E|Lead 42217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042218|142218|989898|1|9999042218|MR|Test|E|Lead 42218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042219|142219|989898|1|9999042219|MR|Test|E|Lead 42219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042220|142220|989898|1|9999042220|MR|Test|E|Lead 42220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042221|142221|989898|1|9999042221|MR|Test|E|Lead 42221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042222|142222|989898|1|9999042222|MR|Test|E|Lead 42222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042223|142223|989898|1|9999042223|MR|Test|E|Lead 42223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042224|142224|989898|1|9999042224|MR|Test|E|Lead 42224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042225|142225|989898|1|9999042225|MR|Test|E|Lead 42225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042226|142226|989898|1|9999042226|MR|Test|E|Lead 42226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042227|142227|989898|1|9999042227|MR|Test|E|Lead 42227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042228|142228|989898|1|9999042228|MR|Test|E|Lead 42228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042229|142229|989898|1|9999042229|MR|Test|E|Lead 42229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042230|142230|989898|1|9999042230|MR|Test|E|Lead 42230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042231|142231|989898|1|9999042231|MR|Test|E|Lead 42231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042232|142232|989898|1|9999042232|MR|Test|E|Lead 42232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042233|142233|989898|1|9999042233|MR|Test|E|Lead 42233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042234|142234|989898|1|9999042234|MR|Test|E|Lead 42234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042235|142235|989898|1|9999042235|MR|Test|E|Lead 42235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042236|142236|989898|1|9999042236|MR|Test|E|Lead 42236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042237|142237|989898|1|9999042237|MR|Test|E|Lead 42237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042238|142238|989898|1|9999042238|MR|Test|E|Lead 42238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042239|142239|989898|1|9999042239|MR|Test|E|Lead 42239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042240|142240|989898|1|9999042240|MR|Test|E|Lead 42240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042241|142241|989898|1|9999042241|MR|Test|E|Lead 42241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042242|142242|989898|1|9999042242|MR|Test|E|Lead 42242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042243|142243|989898|1|9999042243|MR|Test|E|Lead 42243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042244|142244|989898|1|9999042244|MR|Test|E|Lead 42244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042245|142245|989898|1|9999042245|MR|Test|E|Lead 42245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042246|142246|989898|1|9999042246|MR|Test|E|Lead 42246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042247|142247|989898|1|9999042247|MR|Test|E|Lead 42247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042248|142248|989898|1|9999042248|MR|Test|E|Lead 42248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042249|142249|989898|1|9999042249|MR|Test|E|Lead 42249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042250|142250|989898|1|9999042250|MR|Test|E|Lead 42250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042251|142251|989898|1|9999042251|MR|Test|E|Lead 42251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042252|142252|989898|1|9999042252|MR|Test|E|Lead 42252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042253|142253|989898|1|9999042253|MR|Test|E|Lead 42253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042254|142254|989898|1|9999042254|MR|Test|E|Lead 42254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042255|142255|989898|1|9999042255|MR|Test|E|Lead 42255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042256|142256|989898|1|9999042256|MR|Test|E|Lead 42256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042257|142257|989898|1|9999042257|MR|Test|E|Lead 42257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042258|142258|989898|1|9999042258|MR|Test|E|Lead 42258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042259|142259|989898|1|9999042259|MR|Test|E|Lead 42259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042260|142260|989898|1|9999042260|MR|Test|E|Lead 42260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042261|142261|989898|1|9999042261|MR|Test|E|Lead 42261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042262|142262|989898|1|9999042262|MR|Test|E|Lead 42262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042263|142263|989898|1|9999042263|MR|Test|E|Lead 42263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042264|142264|989898|1|9999042264|MR|Test|E|Lead 42264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042265|142265|989898|1|9999042265|MR|Test|E|Lead 42265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042266|142266|989898|1|9999042266|MR|Test|E|Lead 42266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042267|142267|989898|1|9999042267|MR|Test|E|Lead 42267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042268|142268|989898|1|9999042268|MR|Test|E|Lead 42268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042269|142269|989898|1|9999042269|MR|Test|E|Lead 42269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042270|142270|989898|1|9999042270|MR|Test|E|Lead 42270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042271|142271|989898|1|9999042271|MR|Test|E|Lead 42271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042272|142272|989898|1|9999042272|MR|Test|E|Lead 42272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042273|142273|989898|1|9999042273|MR|Test|E|Lead 42273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042274|142274|989898|1|9999042274|MR|Test|E|Lead 42274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042275|142275|989898|1|9999042275|MR|Test|E|Lead 42275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042276|142276|989898|1|9999042276|MR|Test|E|Lead 42276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042277|142277|989898|1|9999042277|MR|Test|E|Lead 42277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042278|142278|989898|1|9999042278|MR|Test|E|Lead 42278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042279|142279|989898|1|9999042279|MR|Test|E|Lead 42279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042280|142280|989898|1|9999042280|MR|Test|E|Lead 42280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042281|142281|989898|1|9999042281|MR|Test|E|Lead 42281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042282|142282|989898|1|9999042282|MR|Test|E|Lead 42282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042283|142283|989898|1|9999042283|MR|Test|E|Lead 42283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042284|142284|989898|1|9999042284|MR|Test|E|Lead 42284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042285|142285|989898|1|9999042285|MR|Test|E|Lead 42285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042286|142286|989898|1|9999042286|MR|Test|E|Lead 42286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042287|142287|989898|1|9999042287|MR|Test|E|Lead 42287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042288|142288|989898|1|9999042288|MR|Test|E|Lead 42288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042289|142289|989898|1|9999042289|MR|Test|E|Lead 42289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042290|142290|989898|1|9999042290|MR|Test|E|Lead 42290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042291|142291|989898|1|9999042291|MR|Test|E|Lead 42291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042292|142292|989898|1|9999042292|MR|Test|E|Lead 42292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042293|142293|989898|1|9999042293|MR|Test|E|Lead 42293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042294|142294|989898|1|9999042294|MR|Test|E|Lead 42294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042295|142295|989898|1|9999042295|MR|Test|E|Lead 42295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042296|142296|989898|1|9999042296|MR|Test|E|Lead 42296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042297|142297|989898|1|9999042297|MR|Test|E|Lead 42297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042298|142298|989898|1|9999042298|MR|Test|E|Lead 42298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042299|142299|989898|1|9999042299|MR|Test|E|Lead 42299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042300|142300|989898|1|9999042300|MR|Test|E|Lead 42300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042301|142301|989898|1|9999042301|MR|Test|E|Lead 42301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042302|142302|989898|1|9999042302|MR|Test|E|Lead 42302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042303|142303|989898|1|9999042303|MR|Test|E|Lead 42303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042304|142304|989898|1|9999042304|MR|Test|E|Lead 42304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042305|142305|989898|1|9999042305|MR|Test|E|Lead 42305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042306|142306|989898|1|9999042306|MR|Test|E|Lead 42306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042307|142307|989898|1|9999042307|MR|Test|E|Lead 42307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042308|142308|989898|1|9999042308|MR|Test|E|Lead 42308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042309|142309|989898|1|9999042309|MR|Test|E|Lead 42309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042310|142310|989898|1|9999042310|MR|Test|E|Lead 42310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042311|142311|989898|1|9999042311|MR|Test|E|Lead 42311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042312|142312|989898|1|9999042312|MR|Test|E|Lead 42312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042313|142313|989898|1|9999042313|MR|Test|E|Lead 42313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042314|142314|989898|1|9999042314|MR|Test|E|Lead 42314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042315|142315|989898|1|9999042315|MR|Test|E|Lead 42315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042316|142316|989898|1|9999042316|MR|Test|E|Lead 42316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042317|142317|989898|1|9999042317|MR|Test|E|Lead 42317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042318|142318|989898|1|9999042318|MR|Test|E|Lead 42318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042319|142319|989898|1|9999042319|MR|Test|E|Lead 42319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042320|142320|989898|1|9999042320|MR|Test|E|Lead 42320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042321|142321|989898|1|9999042321|MR|Test|E|Lead 42321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042322|142322|989898|1|9999042322|MR|Test|E|Lead 42322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042323|142323|989898|1|9999042323|MR|Test|E|Lead 42323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042324|142324|989898|1|9999042324|MR|Test|E|Lead 42324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042325|142325|989898|1|9999042325|MR|Test|E|Lead 42325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042326|142326|989898|1|9999042326|MR|Test|E|Lead 42326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042327|142327|989898|1|9999042327|MR|Test|E|Lead 42327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042328|142328|989898|1|9999042328|MR|Test|E|Lead 42328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042329|142329|989898|1|9999042329|MR|Test|E|Lead 42329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042330|142330|989898|1|9999042330|MR|Test|E|Lead 42330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042331|142331|989898|1|9999042331|MR|Test|E|Lead 42331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042332|142332|989898|1|9999042332|MR|Test|E|Lead 42332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042333|142333|989898|1|9999042333|MR|Test|E|Lead 42333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042334|142334|989898|1|9999042334|MR|Test|E|Lead 42334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042335|142335|989898|1|9999042335|MR|Test|E|Lead 42335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042336|142336|989898|1|9999042336|MR|Test|E|Lead 42336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042337|142337|989898|1|9999042337|MR|Test|E|Lead 42337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042338|142338|989898|1|9999042338|MR|Test|E|Lead 42338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042339|142339|989898|1|9999042339|MR|Test|E|Lead 42339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042340|142340|989898|1|9999042340|MR|Test|E|Lead 42340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042341|142341|989898|1|9999042341|MR|Test|E|Lead 42341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042342|142342|989898|1|9999042342|MR|Test|E|Lead 42342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042343|142343|989898|1|9999042343|MR|Test|E|Lead 42343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042344|142344|989898|1|9999042344|MR|Test|E|Lead 42344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042345|142345|989898|1|9999042345|MR|Test|E|Lead 42345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042346|142346|989898|1|9999042346|MR|Test|E|Lead 42346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042347|142347|989898|1|9999042347|MR|Test|E|Lead 42347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042348|142348|989898|1|9999042348|MR|Test|E|Lead 42348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042349|142349|989898|1|9999042349|MR|Test|E|Lead 42349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042350|142350|989898|1|9999042350|MR|Test|E|Lead 42350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042351|142351|989898|1|9999042351|MR|Test|E|Lead 42351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042352|142352|989898|1|9999042352|MR|Test|E|Lead 42352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042353|142353|989898|1|9999042353|MR|Test|E|Lead 42353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042354|142354|989898|1|9999042354|MR|Test|E|Lead 42354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042355|142355|989898|1|9999042355|MR|Test|E|Lead 42355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042356|142356|989898|1|9999042356|MR|Test|E|Lead 42356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042357|142357|989898|1|9999042357|MR|Test|E|Lead 42357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042358|142358|989898|1|9999042358|MR|Test|E|Lead 42358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042359|142359|989898|1|9999042359|MR|Test|E|Lead 42359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042360|142360|989898|1|9999042360|MR|Test|E|Lead 42360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042361|142361|989898|1|9999042361|MR|Test|E|Lead 42361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042362|142362|989898|1|9999042362|MR|Test|E|Lead 42362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042363|142363|989898|1|9999042363|MR|Test|E|Lead 42363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042364|142364|989898|1|9999042364|MR|Test|E|Lead 42364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042365|142365|989898|1|9999042365|MR|Test|E|Lead 42365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042366|142366|989898|1|9999042366|MR|Test|E|Lead 42366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042367|142367|989898|1|9999042367|MR|Test|E|Lead 42367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042368|142368|989898|1|9999042368|MR|Test|E|Lead 42368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042369|142369|989898|1|9999042369|MR|Test|E|Lead 42369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042370|142370|989898|1|9999042370|MR|Test|E|Lead 42370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042371|142371|989898|1|9999042371|MR|Test|E|Lead 42371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042372|142372|989898|1|9999042372|MR|Test|E|Lead 42372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042373|142373|989898|1|9999042373|MR|Test|E|Lead 42373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042374|142374|989898|1|9999042374|MR|Test|E|Lead 42374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042375|142375|989898|1|9999042375|MR|Test|E|Lead 42375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042376|142376|989898|1|9999042376|MR|Test|E|Lead 42376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042377|142377|989898|1|9999042377|MR|Test|E|Lead 42377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042378|142378|989898|1|9999042378|MR|Test|E|Lead 42378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042379|142379|989898|1|9999042379|MR|Test|E|Lead 42379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042380|142380|989898|1|9999042380|MR|Test|E|Lead 42380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042381|142381|989898|1|9999042381|MR|Test|E|Lead 42381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042382|142382|989898|1|9999042382|MR|Test|E|Lead 42382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042383|142383|989898|1|9999042383|MR|Test|E|Lead 42383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042384|142384|989898|1|9999042384|MR|Test|E|Lead 42384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042385|142385|989898|1|9999042385|MR|Test|E|Lead 42385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042386|142386|989898|1|9999042386|MR|Test|E|Lead 42386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042387|142387|989898|1|9999042387|MR|Test|E|Lead 42387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042388|142388|989898|1|9999042388|MR|Test|E|Lead 42388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042389|142389|989898|1|9999042389|MR|Test|E|Lead 42389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042390|142390|989898|1|9999042390|MR|Test|E|Lead 42390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042391|142391|989898|1|9999042391|MR|Test|E|Lead 42391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042392|142392|989898|1|9999042392|MR|Test|E|Lead 42392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042393|142393|989898|1|9999042393|MR|Test|E|Lead 42393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042394|142394|989898|1|9999042394|MR|Test|E|Lead 42394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042395|142395|989898|1|9999042395|MR|Test|E|Lead 42395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042396|142396|989898|1|9999042396|MR|Test|E|Lead 42396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042397|142397|989898|1|9999042397|MR|Test|E|Lead 42397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042398|142398|989898|1|9999042398|MR|Test|E|Lead 42398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042399|142399|989898|1|9999042399|MR|Test|E|Lead 42399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042400|142400|989898|1|9999042400|MR|Test|E|Lead 42400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042401|142401|989898|1|9999042401|MR|Test|E|Lead 42401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042402|142402|989898|1|9999042402|MR|Test|E|Lead 42402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042403|142403|989898|1|9999042403|MR|Test|E|Lead 42403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042404|142404|989898|1|9999042404|MR|Test|E|Lead 42404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042405|142405|989898|1|9999042405|MR|Test|E|Lead 42405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042406|142406|989898|1|9999042406|MR|Test|E|Lead 42406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042407|142407|989898|1|9999042407|MR|Test|E|Lead 42407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042408|142408|989898|1|9999042408|MR|Test|E|Lead 42408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042409|142409|989898|1|9999042409|MR|Test|E|Lead 42409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042410|142410|989898|1|9999042410|MR|Test|E|Lead 42410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042411|142411|989898|1|9999042411|MR|Test|E|Lead 42411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042412|142412|989898|1|9999042412|MR|Test|E|Lead 42412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042413|142413|989898|1|9999042413|MR|Test|E|Lead 42413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042414|142414|989898|1|9999042414|MR|Test|E|Lead 42414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042415|142415|989898|1|9999042415|MR|Test|E|Lead 42415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042416|142416|989898|1|9999042416|MR|Test|E|Lead 42416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042417|142417|989898|1|9999042417|MR|Test|E|Lead 42417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042418|142418|989898|1|9999042418|MR|Test|E|Lead 42418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042419|142419|989898|1|9999042419|MR|Test|E|Lead 42419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042420|142420|989898|1|9999042420|MR|Test|E|Lead 42420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042421|142421|989898|1|9999042421|MR|Test|E|Lead 42421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042422|142422|989898|1|9999042422|MR|Test|E|Lead 42422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042423|142423|989898|1|9999042423|MR|Test|E|Lead 42423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042424|142424|989898|1|9999042424|MR|Test|E|Lead 42424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042425|142425|989898|1|9999042425|MR|Test|E|Lead 42425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042426|142426|989898|1|9999042426|MR|Test|E|Lead 42426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042427|142427|989898|1|9999042427|MR|Test|E|Lead 42427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042428|142428|989898|1|9999042428|MR|Test|E|Lead 42428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042429|142429|989898|1|9999042429|MR|Test|E|Lead 42429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042430|142430|989898|1|9999042430|MR|Test|E|Lead 42430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042431|142431|989898|1|9999042431|MR|Test|E|Lead 42431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042432|142432|989898|1|9999042432|MR|Test|E|Lead 42432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042433|142433|989898|1|9999042433|MR|Test|E|Lead 42433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042434|142434|989898|1|9999042434|MR|Test|E|Lead 42434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042435|142435|989898|1|9999042435|MR|Test|E|Lead 42435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042436|142436|989898|1|9999042436|MR|Test|E|Lead 42436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042437|142437|989898|1|9999042437|MR|Test|E|Lead 42437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042438|142438|989898|1|9999042438|MR|Test|E|Lead 42438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042439|142439|989898|1|9999042439|MR|Test|E|Lead 42439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042440|142440|989898|1|9999042440|MR|Test|E|Lead 42440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042441|142441|989898|1|9999042441|MR|Test|E|Lead 42441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042442|142442|989898|1|9999042442|MR|Test|E|Lead 42442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042443|142443|989898|1|9999042443|MR|Test|E|Lead 42443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042444|142444|989898|1|9999042444|MR|Test|E|Lead 42444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042445|142445|989898|1|9999042445|MR|Test|E|Lead 42445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042446|142446|989898|1|9999042446|MR|Test|E|Lead 42446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042447|142447|989898|1|9999042447|MR|Test|E|Lead 42447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042448|142448|989898|1|9999042448|MR|Test|E|Lead 42448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042449|142449|989898|1|9999042449|MR|Test|E|Lead 42449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042450|142450|989898|1|9999042450|MR|Test|E|Lead 42450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042451|142451|989898|1|9999042451|MR|Test|E|Lead 42451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042452|142452|989898|1|9999042452|MR|Test|E|Lead 42452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042453|142453|989898|1|9999042453|MR|Test|E|Lead 42453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042454|142454|989898|1|9999042454|MR|Test|E|Lead 42454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042455|142455|989898|1|9999042455|MR|Test|E|Lead 42455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042456|142456|989898|1|9999042456|MR|Test|E|Lead 42456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042457|142457|989898|1|9999042457|MR|Test|E|Lead 42457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042458|142458|989898|1|9999042458|MR|Test|E|Lead 42458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042459|142459|989898|1|9999042459|MR|Test|E|Lead 42459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042460|142460|989898|1|9999042460|MR|Test|E|Lead 42460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042461|142461|989898|1|9999042461|MR|Test|E|Lead 42461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042462|142462|989898|1|9999042462|MR|Test|E|Lead 42462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042463|142463|989898|1|9999042463|MR|Test|E|Lead 42463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042464|142464|989898|1|9999042464|MR|Test|E|Lead 42464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042465|142465|989898|1|9999042465|MR|Test|E|Lead 42465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042466|142466|989898|1|9999042466|MR|Test|E|Lead 42466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042467|142467|989898|1|9999042467|MR|Test|E|Lead 42467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042468|142468|989898|1|9999042468|MR|Test|E|Lead 42468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042469|142469|989898|1|9999042469|MR|Test|E|Lead 42469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042470|142470|989898|1|9999042470|MR|Test|E|Lead 42470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042471|142471|989898|1|9999042471|MR|Test|E|Lead 42471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042472|142472|989898|1|9999042472|MR|Test|E|Lead 42472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042473|142473|989898|1|9999042473|MR|Test|E|Lead 42473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042474|142474|989898|1|9999042474|MR|Test|E|Lead 42474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042475|142475|989898|1|9999042475|MR|Test|E|Lead 42475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042476|142476|989898|1|9999042476|MR|Test|E|Lead 42476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042477|142477|989898|1|9999042477|MR|Test|E|Lead 42477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042478|142478|989898|1|9999042478|MR|Test|E|Lead 42478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042479|142479|989898|1|9999042479|MR|Test|E|Lead 42479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042480|142480|989898|1|9999042480|MR|Test|E|Lead 42480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042481|142481|989898|1|9999042481|MR|Test|E|Lead 42481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042482|142482|989898|1|9999042482|MR|Test|E|Lead 42482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042483|142483|989898|1|9999042483|MR|Test|E|Lead 42483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042484|142484|989898|1|9999042484|MR|Test|E|Lead 42484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042485|142485|989898|1|9999042485|MR|Test|E|Lead 42485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042486|142486|989898|1|9999042486|MR|Test|E|Lead 42486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042487|142487|989898|1|9999042487|MR|Test|E|Lead 42487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042488|142488|989898|1|9999042488|MR|Test|E|Lead 42488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042489|142489|989898|1|9999042489|MR|Test|E|Lead 42489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042490|142490|989898|1|9999042490|MR|Test|E|Lead 42490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042491|142491|989898|1|9999042491|MR|Test|E|Lead 42491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042492|142492|989898|1|9999042492|MR|Test|E|Lead 42492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042493|142493|989898|1|9999042493|MR|Test|E|Lead 42493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042494|142494|989898|1|9999042494|MR|Test|E|Lead 42494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042495|142495|989898|1|9999042495|MR|Test|E|Lead 42495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042496|142496|989898|1|9999042496|MR|Test|E|Lead 42496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042497|142497|989898|1|9999042497|MR|Test|E|Lead 42497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042498|142498|989898|1|9999042498|MR|Test|E|Lead 42498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042499|142499|989898|1|9999042499|MR|Test|E|Lead 42499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042500|142500|989898|1|9999042500|MR|Test|E|Lead 42500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042501|142501|989898|1|9999042501|MR|Test|E|Lead 42501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042502|142502|989898|1|9999042502|MR|Test|E|Lead 42502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042503|142503|989898|1|9999042503|MR|Test|E|Lead 42503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042504|142504|989898|1|9999042504|MR|Test|E|Lead 42504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042505|142505|989898|1|9999042505|MR|Test|E|Lead 42505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042506|142506|989898|1|9999042506|MR|Test|E|Lead 42506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042507|142507|989898|1|9999042507|MR|Test|E|Lead 42507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042508|142508|989898|1|9999042508|MR|Test|E|Lead 42508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042509|142509|989898|1|9999042509|MR|Test|E|Lead 42509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042510|142510|989898|1|9999042510|MR|Test|E|Lead 42510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042511|142511|989898|1|9999042511|MR|Test|E|Lead 42511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042512|142512|989898|1|9999042512|MR|Test|E|Lead 42512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042513|142513|989898|1|9999042513|MR|Test|E|Lead 42513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042514|142514|989898|1|9999042514|MR|Test|E|Lead 42514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042515|142515|989898|1|9999042515|MR|Test|E|Lead 42515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042516|142516|989898|1|9999042516|MR|Test|E|Lead 42516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042517|142517|989898|1|9999042517|MR|Test|E|Lead 42517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042518|142518|989898|1|9999042518|MR|Test|E|Lead 42518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042519|142519|989898|1|9999042519|MR|Test|E|Lead 42519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042520|142520|989898|1|9999042520|MR|Test|E|Lead 42520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042521|142521|989898|1|9999042521|MR|Test|E|Lead 42521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042522|142522|989898|1|9999042522|MR|Test|E|Lead 42522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042523|142523|989898|1|9999042523|MR|Test|E|Lead 42523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042524|142524|989898|1|9999042524|MR|Test|E|Lead 42524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042525|142525|989898|1|9999042525|MR|Test|E|Lead 42525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042526|142526|989898|1|9999042526|MR|Test|E|Lead 42526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042527|142527|989898|1|9999042527|MR|Test|E|Lead 42527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042528|142528|989898|1|9999042528|MR|Test|E|Lead 42528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042529|142529|989898|1|9999042529|MR|Test|E|Lead 42529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042530|142530|989898|1|9999042530|MR|Test|E|Lead 42530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042531|142531|989898|1|9999042531|MR|Test|E|Lead 42531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042532|142532|989898|1|9999042532|MR|Test|E|Lead 42532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042533|142533|989898|1|9999042533|MR|Test|E|Lead 42533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042534|142534|989898|1|9999042534|MR|Test|E|Lead 42534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042535|142535|989898|1|9999042535|MR|Test|E|Lead 42535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042536|142536|989898|1|9999042536|MR|Test|E|Lead 42536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042537|142537|989898|1|9999042537|MR|Test|E|Lead 42537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042538|142538|989898|1|9999042538|MR|Test|E|Lead 42538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042539|142539|989898|1|9999042539|MR|Test|E|Lead 42539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042540|142540|989898|1|9999042540|MR|Test|E|Lead 42540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042541|142541|989898|1|9999042541|MR|Test|E|Lead 42541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042542|142542|989898|1|9999042542|MR|Test|E|Lead 42542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042543|142543|989898|1|9999042543|MR|Test|E|Lead 42543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042544|142544|989898|1|9999042544|MR|Test|E|Lead 42544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042545|142545|989898|1|9999042545|MR|Test|E|Lead 42545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042546|142546|989898|1|9999042546|MR|Test|E|Lead 42546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042547|142547|989898|1|9999042547|MR|Test|E|Lead 42547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042548|142548|989898|1|9999042548|MR|Test|E|Lead 42548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042549|142549|989898|1|9999042549|MR|Test|E|Lead 42549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042550|142550|989898|1|9999042550|MR|Test|E|Lead 42550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042551|142551|989898|1|9999042551|MR|Test|E|Lead 42551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042552|142552|989898|1|9999042552|MR|Test|E|Lead 42552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042553|142553|989898|1|9999042553|MR|Test|E|Lead 42553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042554|142554|989898|1|9999042554|MR|Test|E|Lead 42554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042555|142555|989898|1|9999042555|MR|Test|E|Lead 42555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042556|142556|989898|1|9999042556|MR|Test|E|Lead 42556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042557|142557|989898|1|9999042557|MR|Test|E|Lead 42557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042558|142558|989898|1|9999042558|MR|Test|E|Lead 42558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042559|142559|989898|1|9999042559|MR|Test|E|Lead 42559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042560|142560|989898|1|9999042560|MR|Test|E|Lead 42560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042561|142561|989898|1|9999042561|MR|Test|E|Lead 42561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042562|142562|989898|1|9999042562|MR|Test|E|Lead 42562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042563|142563|989898|1|9999042563|MR|Test|E|Lead 42563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042564|142564|989898|1|9999042564|MR|Test|E|Lead 42564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042565|142565|989898|1|9999042565|MR|Test|E|Lead 42565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042566|142566|989898|1|9999042566|MR|Test|E|Lead 42566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042567|142567|989898|1|9999042567|MR|Test|E|Lead 42567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042568|142568|989898|1|9999042568|MR|Test|E|Lead 42568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042569|142569|989898|1|9999042569|MR|Test|E|Lead 42569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042570|142570|989898|1|9999042570|MR|Test|E|Lead 42570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042571|142571|989898|1|9999042571|MR|Test|E|Lead 42571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042572|142572|989898|1|9999042572|MR|Test|E|Lead 42572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042573|142573|989898|1|9999042573|MR|Test|E|Lead 42573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042574|142574|989898|1|9999042574|MR|Test|E|Lead 42574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042575|142575|989898|1|9999042575|MR|Test|E|Lead 42575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042576|142576|989898|1|9999042576|MR|Test|E|Lead 42576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042577|142577|989898|1|9999042577|MR|Test|E|Lead 42577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042578|142578|989898|1|9999042578|MR|Test|E|Lead 42578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042579|142579|989898|1|9999042579|MR|Test|E|Lead 42579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042580|142580|989898|1|9999042580|MR|Test|E|Lead 42580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042581|142581|989898|1|9999042581|MR|Test|E|Lead 42581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042582|142582|989898|1|9999042582|MR|Test|E|Lead 42582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042583|142583|989898|1|9999042583|MR|Test|E|Lead 42583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042584|142584|989898|1|9999042584|MR|Test|E|Lead 42584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042585|142585|989898|1|9999042585|MR|Test|E|Lead 42585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042586|142586|989898|1|9999042586|MR|Test|E|Lead 42586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042587|142587|989898|1|9999042587|MR|Test|E|Lead 42587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042588|142588|989898|1|9999042588|MR|Test|E|Lead 42588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042589|142589|989898|1|9999042589|MR|Test|E|Lead 42589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042590|142590|989898|1|9999042590|MR|Test|E|Lead 42590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042591|142591|989898|1|9999042591|MR|Test|E|Lead 42591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042592|142592|989898|1|9999042592|MR|Test|E|Lead 42592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042593|142593|989898|1|9999042593|MR|Test|E|Lead 42593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042594|142594|989898|1|9999042594|MR|Test|E|Lead 42594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042595|142595|989898|1|9999042595|MR|Test|E|Lead 42595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042596|142596|989898|1|9999042596|MR|Test|E|Lead 42596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042597|142597|989898|1|9999042597|MR|Test|E|Lead 42597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042598|142598|989898|1|9999042598|MR|Test|E|Lead 42598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042599|142599|989898|1|9999042599|MR|Test|E|Lead 42599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042600|142600|989898|1|9999042600|MR|Test|E|Lead 42600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042601|142601|989898|1|9999042601|MR|Test|E|Lead 42601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042602|142602|989898|1|9999042602|MR|Test|E|Lead 42602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042603|142603|989898|1|9999042603|MR|Test|E|Lead 42603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042604|142604|989898|1|9999042604|MR|Test|E|Lead 42604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042605|142605|989898|1|9999042605|MR|Test|E|Lead 42605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042606|142606|989898|1|9999042606|MR|Test|E|Lead 42606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042607|142607|989898|1|9999042607|MR|Test|E|Lead 42607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042608|142608|989898|1|9999042608|MR|Test|E|Lead 42608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042609|142609|989898|1|9999042609|MR|Test|E|Lead 42609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042610|142610|989898|1|9999042610|MR|Test|E|Lead 42610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042611|142611|989898|1|9999042611|MR|Test|E|Lead 42611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042612|142612|989898|1|9999042612|MR|Test|E|Lead 42612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042613|142613|989898|1|9999042613|MR|Test|E|Lead 42613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042614|142614|989898|1|9999042614|MR|Test|E|Lead 42614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042615|142615|989898|1|9999042615|MR|Test|E|Lead 42615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042616|142616|989898|1|9999042616|MR|Test|E|Lead 42616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042617|142617|989898|1|9999042617|MR|Test|E|Lead 42617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042618|142618|989898|1|9999042618|MR|Test|E|Lead 42618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042619|142619|989898|1|9999042619|MR|Test|E|Lead 42619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042620|142620|989898|1|9999042620|MR|Test|E|Lead 42620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042621|142621|989898|1|9999042621|MR|Test|E|Lead 42621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042622|142622|989898|1|9999042622|MR|Test|E|Lead 42622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042623|142623|989898|1|9999042623|MR|Test|E|Lead 42623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042624|142624|989898|1|9999042624|MR|Test|E|Lead 42624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042625|142625|989898|1|9999042625|MR|Test|E|Lead 42625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042626|142626|989898|1|9999042626|MR|Test|E|Lead 42626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042627|142627|989898|1|9999042627|MR|Test|E|Lead 42627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042628|142628|989898|1|9999042628|MR|Test|E|Lead 42628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042629|142629|989898|1|9999042629|MR|Test|E|Lead 42629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042630|142630|989898|1|9999042630|MR|Test|E|Lead 42630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042631|142631|989898|1|9999042631|MR|Test|E|Lead 42631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042632|142632|989898|1|9999042632|MR|Test|E|Lead 42632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042633|142633|989898|1|9999042633|MR|Test|E|Lead 42633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042634|142634|989898|1|9999042634|MR|Test|E|Lead 42634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042635|142635|989898|1|9999042635|MR|Test|E|Lead 42635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042636|142636|989898|1|9999042636|MR|Test|E|Lead 42636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042637|142637|989898|1|9999042637|MR|Test|E|Lead 42637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042638|142638|989898|1|9999042638|MR|Test|E|Lead 42638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042639|142639|989898|1|9999042639|MR|Test|E|Lead 42639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042640|142640|989898|1|9999042640|MR|Test|E|Lead 42640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042641|142641|989898|1|9999042641|MR|Test|E|Lead 42641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042642|142642|989898|1|9999042642|MR|Test|E|Lead 42642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042643|142643|989898|1|9999042643|MR|Test|E|Lead 42643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042644|142644|989898|1|9999042644|MR|Test|E|Lead 42644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042645|142645|989898|1|9999042645|MR|Test|E|Lead 42645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042646|142646|989898|1|9999042646|MR|Test|E|Lead 42646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042647|142647|989898|1|9999042647|MR|Test|E|Lead 42647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042648|142648|989898|1|9999042648|MR|Test|E|Lead 42648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042649|142649|989898|1|9999042649|MR|Test|E|Lead 42649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042650|142650|989898|1|9999042650|MR|Test|E|Lead 42650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042651|142651|989898|1|9999042651|MR|Test|E|Lead 42651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042652|142652|989898|1|9999042652|MR|Test|E|Lead 42652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042653|142653|989898|1|9999042653|MR|Test|E|Lead 42653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042654|142654|989898|1|9999042654|MR|Test|E|Lead 42654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042655|142655|989898|1|9999042655|MR|Test|E|Lead 42655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042656|142656|989898|1|9999042656|MR|Test|E|Lead 42656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042657|142657|989898|1|9999042657|MR|Test|E|Lead 42657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042658|142658|989898|1|9999042658|MR|Test|E|Lead 42658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042659|142659|989898|1|9999042659|MR|Test|E|Lead 42659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042660|142660|989898|1|9999042660|MR|Test|E|Lead 42660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042661|142661|989898|1|9999042661|MR|Test|E|Lead 42661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042662|142662|989898|1|9999042662|MR|Test|E|Lead 42662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042663|142663|989898|1|9999042663|MR|Test|E|Lead 42663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042664|142664|989898|1|9999042664|MR|Test|E|Lead 42664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042665|142665|989898|1|9999042665|MR|Test|E|Lead 42665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042666|142666|989898|1|9999042666|MR|Test|E|Lead 42666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042667|142667|989898|1|9999042667|MR|Test|E|Lead 42667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042668|142668|989898|1|9999042668|MR|Test|E|Lead 42668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042669|142669|989898|1|9999042669|MR|Test|E|Lead 42669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042670|142670|989898|1|9999042670|MR|Test|E|Lead 42670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042671|142671|989898|1|9999042671|MR|Test|E|Lead 42671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042672|142672|989898|1|9999042672|MR|Test|E|Lead 42672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042673|142673|989898|1|9999042673|MR|Test|E|Lead 42673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042674|142674|989898|1|9999042674|MR|Test|E|Lead 42674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042675|142675|989898|1|9999042675|MR|Test|E|Lead 42675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042676|142676|989898|1|9999042676|MR|Test|E|Lead 42676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042677|142677|989898|1|9999042677|MR|Test|E|Lead 42677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042678|142678|989898|1|9999042678|MR|Test|E|Lead 42678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042679|142679|989898|1|9999042679|MR|Test|E|Lead 42679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042680|142680|989898|1|9999042680|MR|Test|E|Lead 42680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042681|142681|989898|1|9999042681|MR|Test|E|Lead 42681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042682|142682|989898|1|9999042682|MR|Test|E|Lead 42682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042683|142683|989898|1|9999042683|MR|Test|E|Lead 42683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042684|142684|989898|1|9999042684|MR|Test|E|Lead 42684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042685|142685|989898|1|9999042685|MR|Test|E|Lead 42685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042686|142686|989898|1|9999042686|MR|Test|E|Lead 42686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042687|142687|989898|1|9999042687|MR|Test|E|Lead 42687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042688|142688|989898|1|9999042688|MR|Test|E|Lead 42688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042689|142689|989898|1|9999042689|MR|Test|E|Lead 42689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042690|142690|989898|1|9999042690|MR|Test|E|Lead 42690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042691|142691|989898|1|9999042691|MR|Test|E|Lead 42691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042692|142692|989898|1|9999042692|MR|Test|E|Lead 42692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042693|142693|989898|1|9999042693|MR|Test|E|Lead 42693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042694|142694|989898|1|9999042694|MR|Test|E|Lead 42694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042695|142695|989898|1|9999042695|MR|Test|E|Lead 42695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042696|142696|989898|1|9999042696|MR|Test|E|Lead 42696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042697|142697|989898|1|9999042697|MR|Test|E|Lead 42697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042698|142698|989898|1|9999042698|MR|Test|E|Lead 42698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042699|142699|989898|1|9999042699|MR|Test|E|Lead 42699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042700|142700|989898|1|9999042700|MR|Test|E|Lead 42700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042701|142701|989898|1|9999042701|MR|Test|E|Lead 42701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042702|142702|989898|1|9999042702|MR|Test|E|Lead 42702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042703|142703|989898|1|9999042703|MR|Test|E|Lead 42703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042704|142704|989898|1|9999042704|MR|Test|E|Lead 42704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042705|142705|989898|1|9999042705|MR|Test|E|Lead 42705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042706|142706|989898|1|9999042706|MR|Test|E|Lead 42706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042707|142707|989898|1|9999042707|MR|Test|E|Lead 42707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042708|142708|989898|1|9999042708|MR|Test|E|Lead 42708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042709|142709|989898|1|9999042709|MR|Test|E|Lead 42709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042710|142710|989898|1|9999042710|MR|Test|E|Lead 42710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042711|142711|989898|1|9999042711|MR|Test|E|Lead 42711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042712|142712|989898|1|9999042712|MR|Test|E|Lead 42712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042713|142713|989898|1|9999042713|MR|Test|E|Lead 42713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042714|142714|989898|1|9999042714|MR|Test|E|Lead 42714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042715|142715|989898|1|9999042715|MR|Test|E|Lead 42715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042716|142716|989898|1|9999042716|MR|Test|E|Lead 42716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042717|142717|989898|1|9999042717|MR|Test|E|Lead 42717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042718|142718|989898|1|9999042718|MR|Test|E|Lead 42718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042719|142719|989898|1|9999042719|MR|Test|E|Lead 42719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042720|142720|989898|1|9999042720|MR|Test|E|Lead 42720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042721|142721|989898|1|9999042721|MR|Test|E|Lead 42721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042722|142722|989898|1|9999042722|MR|Test|E|Lead 42722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042723|142723|989898|1|9999042723|MR|Test|E|Lead 42723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042724|142724|989898|1|9999042724|MR|Test|E|Lead 42724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042725|142725|989898|1|9999042725|MR|Test|E|Lead 42725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042726|142726|989898|1|9999042726|MR|Test|E|Lead 42726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042727|142727|989898|1|9999042727|MR|Test|E|Lead 42727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042728|142728|989898|1|9999042728|MR|Test|E|Lead 42728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042729|142729|989898|1|9999042729|MR|Test|E|Lead 42729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042730|142730|989898|1|9999042730|MR|Test|E|Lead 42730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042731|142731|989898|1|9999042731|MR|Test|E|Lead 42731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042732|142732|989898|1|9999042732|MR|Test|E|Lead 42732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042733|142733|989898|1|9999042733|MR|Test|E|Lead 42733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042734|142734|989898|1|9999042734|MR|Test|E|Lead 42734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042735|142735|989898|1|9999042735|MR|Test|E|Lead 42735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042736|142736|989898|1|9999042736|MR|Test|E|Lead 42736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042737|142737|989898|1|9999042737|MR|Test|E|Lead 42737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042738|142738|989898|1|9999042738|MR|Test|E|Lead 42738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042739|142739|989898|1|9999042739|MR|Test|E|Lead 42739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042740|142740|989898|1|9999042740|MR|Test|E|Lead 42740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042741|142741|989898|1|9999042741|MR|Test|E|Lead 42741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042742|142742|989898|1|9999042742|MR|Test|E|Lead 42742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042743|142743|989898|1|9999042743|MR|Test|E|Lead 42743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042744|142744|989898|1|9999042744|MR|Test|E|Lead 42744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042745|142745|989898|1|9999042745|MR|Test|E|Lead 42745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042746|142746|989898|1|9999042746|MR|Test|E|Lead 42746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042747|142747|989898|1|9999042747|MR|Test|E|Lead 42747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042748|142748|989898|1|9999042748|MR|Test|E|Lead 42748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042749|142749|989898|1|9999042749|MR|Test|E|Lead 42749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042750|142750|989898|1|9999042750|MR|Test|E|Lead 42750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042751|142751|989898|1|9999042751|MR|Test|E|Lead 42751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042752|142752|989898|1|9999042752|MR|Test|E|Lead 42752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042753|142753|989898|1|9999042753|MR|Test|E|Lead 42753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042754|142754|989898|1|9999042754|MR|Test|E|Lead 42754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042755|142755|989898|1|9999042755|MR|Test|E|Lead 42755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042756|142756|989898|1|9999042756|MR|Test|E|Lead 42756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042757|142757|989898|1|9999042757|MR|Test|E|Lead 42757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042758|142758|989898|1|9999042758|MR|Test|E|Lead 42758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042759|142759|989898|1|9999042759|MR|Test|E|Lead 42759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042760|142760|989898|1|9999042760|MR|Test|E|Lead 42760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042761|142761|989898|1|9999042761|MR|Test|E|Lead 42761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042762|142762|989898|1|9999042762|MR|Test|E|Lead 42762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042763|142763|989898|1|9999042763|MR|Test|E|Lead 42763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042764|142764|989898|1|9999042764|MR|Test|E|Lead 42764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042765|142765|989898|1|9999042765|MR|Test|E|Lead 42765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042766|142766|989898|1|9999042766|MR|Test|E|Lead 42766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042767|142767|989898|1|9999042767|MR|Test|E|Lead 42767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042768|142768|989898|1|9999042768|MR|Test|E|Lead 42768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042769|142769|989898|1|9999042769|MR|Test|E|Lead 42769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042770|142770|989898|1|9999042770|MR|Test|E|Lead 42770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042771|142771|989898|1|9999042771|MR|Test|E|Lead 42771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042772|142772|989898|1|9999042772|MR|Test|E|Lead 42772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042773|142773|989898|1|9999042773|MR|Test|E|Lead 42773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042774|142774|989898|1|9999042774|MR|Test|E|Lead 42774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042775|142775|989898|1|9999042775|MR|Test|E|Lead 42775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042776|142776|989898|1|9999042776|MR|Test|E|Lead 42776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042777|142777|989898|1|9999042777|MR|Test|E|Lead 42777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042778|142778|989898|1|9999042778|MR|Test|E|Lead 42778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042779|142779|989898|1|9999042779|MR|Test|E|Lead 42779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042780|142780|989898|1|9999042780|MR|Test|E|Lead 42780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042781|142781|989898|1|9999042781|MR|Test|E|Lead 42781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042782|142782|989898|1|9999042782|MR|Test|E|Lead 42782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042783|142783|989898|1|9999042783|MR|Test|E|Lead 42783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042784|142784|989898|1|9999042784|MR|Test|E|Lead 42784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042785|142785|989898|1|9999042785|MR|Test|E|Lead 42785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042786|142786|989898|1|9999042786|MR|Test|E|Lead 42786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042787|142787|989898|1|9999042787|MR|Test|E|Lead 42787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042788|142788|989898|1|9999042788|MR|Test|E|Lead 42788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042789|142789|989898|1|9999042789|MR|Test|E|Lead 42789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042790|142790|989898|1|9999042790|MR|Test|E|Lead 42790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042791|142791|989898|1|9999042791|MR|Test|E|Lead 42791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042792|142792|989898|1|9999042792|MR|Test|E|Lead 42792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042793|142793|989898|1|9999042793|MR|Test|E|Lead 42793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042794|142794|989898|1|9999042794|MR|Test|E|Lead 42794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042795|142795|989898|1|9999042795|MR|Test|E|Lead 42795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042796|142796|989898|1|9999042796|MR|Test|E|Lead 42796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042797|142797|989898|1|9999042797|MR|Test|E|Lead 42797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042798|142798|989898|1|9999042798|MR|Test|E|Lead 42798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042799|142799|989898|1|9999042799|MR|Test|E|Lead 42799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042800|142800|989898|1|9999042800|MR|Test|E|Lead 42800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042801|142801|989898|1|9999042801|MR|Test|E|Lead 42801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042802|142802|989898|1|9999042802|MR|Test|E|Lead 42802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042803|142803|989898|1|9999042803|MR|Test|E|Lead 42803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042804|142804|989898|1|9999042804|MR|Test|E|Lead 42804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042805|142805|989898|1|9999042805|MR|Test|E|Lead 42805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042806|142806|989898|1|9999042806|MR|Test|E|Lead 42806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042807|142807|989898|1|9999042807|MR|Test|E|Lead 42807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042808|142808|989898|1|9999042808|MR|Test|E|Lead 42808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042809|142809|989898|1|9999042809|MR|Test|E|Lead 42809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042810|142810|989898|1|9999042810|MR|Test|E|Lead 42810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042811|142811|989898|1|9999042811|MR|Test|E|Lead 42811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042812|142812|989898|1|9999042812|MR|Test|E|Lead 42812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042813|142813|989898|1|9999042813|MR|Test|E|Lead 42813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042814|142814|989898|1|9999042814|MR|Test|E|Lead 42814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042815|142815|989898|1|9999042815|MR|Test|E|Lead 42815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042816|142816|989898|1|9999042816|MR|Test|E|Lead 42816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042817|142817|989898|1|9999042817|MR|Test|E|Lead 42817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042818|142818|989898|1|9999042818|MR|Test|E|Lead 42818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042819|142819|989898|1|9999042819|MR|Test|E|Lead 42819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042820|142820|989898|1|9999042820|MR|Test|E|Lead 42820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042821|142821|989898|1|9999042821|MR|Test|E|Lead 42821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042822|142822|989898|1|9999042822|MR|Test|E|Lead 42822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042823|142823|989898|1|9999042823|MR|Test|E|Lead 42823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042824|142824|989898|1|9999042824|MR|Test|E|Lead 42824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042825|142825|989898|1|9999042825|MR|Test|E|Lead 42825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042826|142826|989898|1|9999042826|MR|Test|E|Lead 42826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042827|142827|989898|1|9999042827|MR|Test|E|Lead 42827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042828|142828|989898|1|9999042828|MR|Test|E|Lead 42828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042829|142829|989898|1|9999042829|MR|Test|E|Lead 42829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042830|142830|989898|1|9999042830|MR|Test|E|Lead 42830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042831|142831|989898|1|9999042831|MR|Test|E|Lead 42831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042832|142832|989898|1|9999042832|MR|Test|E|Lead 42832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042833|142833|989898|1|9999042833|MR|Test|E|Lead 42833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042834|142834|989898|1|9999042834|MR|Test|E|Lead 42834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042835|142835|989898|1|9999042835|MR|Test|E|Lead 42835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042836|142836|989898|1|9999042836|MR|Test|E|Lead 42836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042837|142837|989898|1|9999042837|MR|Test|E|Lead 42837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042838|142838|989898|1|9999042838|MR|Test|E|Lead 42838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042839|142839|989898|1|9999042839|MR|Test|E|Lead 42839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042840|142840|989898|1|9999042840|MR|Test|E|Lead 42840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042841|142841|989898|1|9999042841|MR|Test|E|Lead 42841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042842|142842|989898|1|9999042842|MR|Test|E|Lead 42842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042843|142843|989898|1|9999042843|MR|Test|E|Lead 42843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042844|142844|989898|1|9999042844|MR|Test|E|Lead 42844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042845|142845|989898|1|9999042845|MR|Test|E|Lead 42845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042846|142846|989898|1|9999042846|MR|Test|E|Lead 42846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042847|142847|989898|1|9999042847|MR|Test|E|Lead 42847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042848|142848|989898|1|9999042848|MR|Test|E|Lead 42848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042849|142849|989898|1|9999042849|MR|Test|E|Lead 42849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042850|142850|989898|1|9999042850|MR|Test|E|Lead 42850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042851|142851|989898|1|9999042851|MR|Test|E|Lead 42851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042852|142852|989898|1|9999042852|MR|Test|E|Lead 42852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042853|142853|989898|1|9999042853|MR|Test|E|Lead 42853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042854|142854|989898|1|9999042854|MR|Test|E|Lead 42854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042855|142855|989898|1|9999042855|MR|Test|E|Lead 42855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042856|142856|989898|1|9999042856|MR|Test|E|Lead 42856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042857|142857|989898|1|9999042857|MR|Test|E|Lead 42857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042858|142858|989898|1|9999042858|MR|Test|E|Lead 42858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042859|142859|989898|1|9999042859|MR|Test|E|Lead 42859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042860|142860|989898|1|9999042860|MR|Test|E|Lead 42860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042861|142861|989898|1|9999042861|MR|Test|E|Lead 42861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042862|142862|989898|1|9999042862|MR|Test|E|Lead 42862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042863|142863|989898|1|9999042863|MR|Test|E|Lead 42863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042864|142864|989898|1|9999042864|MR|Test|E|Lead 42864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042865|142865|989898|1|9999042865|MR|Test|E|Lead 42865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042866|142866|989898|1|9999042866|MR|Test|E|Lead 42866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042867|142867|989898|1|9999042867|MR|Test|E|Lead 42867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042868|142868|989898|1|9999042868|MR|Test|E|Lead 42868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042869|142869|989898|1|9999042869|MR|Test|E|Lead 42869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042870|142870|989898|1|9999042870|MR|Test|E|Lead 42870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042871|142871|989898|1|9999042871|MR|Test|E|Lead 42871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042872|142872|989898|1|9999042872|MR|Test|E|Lead 42872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042873|142873|989898|1|9999042873|MR|Test|E|Lead 42873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042874|142874|989898|1|9999042874|MR|Test|E|Lead 42874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042875|142875|989898|1|9999042875|MR|Test|E|Lead 42875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042876|142876|989898|1|9999042876|MR|Test|E|Lead 42876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042877|142877|989898|1|9999042877|MR|Test|E|Lead 42877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042878|142878|989898|1|9999042878|MR|Test|E|Lead 42878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042879|142879|989898|1|9999042879|MR|Test|E|Lead 42879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042880|142880|989898|1|9999042880|MR|Test|E|Lead 42880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042881|142881|989898|1|9999042881|MR|Test|E|Lead 42881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042882|142882|989898|1|9999042882|MR|Test|E|Lead 42882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042883|142883|989898|1|9999042883|MR|Test|E|Lead 42883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042884|142884|989898|1|9999042884|MR|Test|E|Lead 42884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042885|142885|989898|1|9999042885|MR|Test|E|Lead 42885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042886|142886|989898|1|9999042886|MR|Test|E|Lead 42886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042887|142887|989898|1|9999042887|MR|Test|E|Lead 42887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042888|142888|989898|1|9999042888|MR|Test|E|Lead 42888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042889|142889|989898|1|9999042889|MR|Test|E|Lead 42889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042890|142890|989898|1|9999042890|MR|Test|E|Lead 42890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042891|142891|989898|1|9999042891|MR|Test|E|Lead 42891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042892|142892|989898|1|9999042892|MR|Test|E|Lead 42892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042893|142893|989898|1|9999042893|MR|Test|E|Lead 42893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042894|142894|989898|1|9999042894|MR|Test|E|Lead 42894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042895|142895|989898|1|9999042895|MR|Test|E|Lead 42895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042896|142896|989898|1|9999042896|MR|Test|E|Lead 42896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042897|142897|989898|1|9999042897|MR|Test|E|Lead 42897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042898|142898|989898|1|9999042898|MR|Test|E|Lead 42898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042899|142899|989898|1|9999042899|MR|Test|E|Lead 42899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042900|142900|989898|1|9999042900|MR|Test|E|Lead 42900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042901|142901|989898|1|9999042901|MR|Test|E|Lead 42901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042902|142902|989898|1|9999042902|MR|Test|E|Lead 42902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042903|142903|989898|1|9999042903|MR|Test|E|Lead 42903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042904|142904|989898|1|9999042904|MR|Test|E|Lead 42904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042905|142905|989898|1|9999042905|MR|Test|E|Lead 42905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042906|142906|989898|1|9999042906|MR|Test|E|Lead 42906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042907|142907|989898|1|9999042907|MR|Test|E|Lead 42907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042908|142908|989898|1|9999042908|MR|Test|E|Lead 42908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042909|142909|989898|1|9999042909|MR|Test|E|Lead 42909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042910|142910|989898|1|9999042910|MR|Test|E|Lead 42910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042911|142911|989898|1|9999042911|MR|Test|E|Lead 42911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042912|142912|989898|1|9999042912|MR|Test|E|Lead 42912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042913|142913|989898|1|9999042913|MR|Test|E|Lead 42913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042914|142914|989898|1|9999042914|MR|Test|E|Lead 42914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042915|142915|989898|1|9999042915|MR|Test|E|Lead 42915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042916|142916|989898|1|9999042916|MR|Test|E|Lead 42916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042917|142917|989898|1|9999042917|MR|Test|E|Lead 42917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042918|142918|989898|1|9999042918|MR|Test|E|Lead 42918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042919|142919|989898|1|9999042919|MR|Test|E|Lead 42919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042920|142920|989898|1|9999042920|MR|Test|E|Lead 42920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042921|142921|989898|1|9999042921|MR|Test|E|Lead 42921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042922|142922|989898|1|9999042922|MR|Test|E|Lead 42922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042923|142923|989898|1|9999042923|MR|Test|E|Lead 42923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042924|142924|989898|1|9999042924|MR|Test|E|Lead 42924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042925|142925|989898|1|9999042925|MR|Test|E|Lead 42925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042926|142926|989898|1|9999042926|MR|Test|E|Lead 42926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042927|142927|989898|1|9999042927|MR|Test|E|Lead 42927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042928|142928|989898|1|9999042928|MR|Test|E|Lead 42928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042929|142929|989898|1|9999042929|MR|Test|E|Lead 42929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042930|142930|989898|1|9999042930|MR|Test|E|Lead 42930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042931|142931|989898|1|9999042931|MR|Test|E|Lead 42931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042932|142932|989898|1|9999042932|MR|Test|E|Lead 42932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042933|142933|989898|1|9999042933|MR|Test|E|Lead 42933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042934|142934|989898|1|9999042934|MR|Test|E|Lead 42934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042935|142935|989898|1|9999042935|MR|Test|E|Lead 42935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042936|142936|989898|1|9999042936|MR|Test|E|Lead 42936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042937|142937|989898|1|9999042937|MR|Test|E|Lead 42937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042938|142938|989898|1|9999042938|MR|Test|E|Lead 42938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042939|142939|989898|1|9999042939|MR|Test|E|Lead 42939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042940|142940|989898|1|9999042940|MR|Test|E|Lead 42940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042941|142941|989898|1|9999042941|MR|Test|E|Lead 42941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042942|142942|989898|1|9999042942|MR|Test|E|Lead 42942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042943|142943|989898|1|9999042943|MR|Test|E|Lead 42943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042944|142944|989898|1|9999042944|MR|Test|E|Lead 42944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042945|142945|989898|1|9999042945|MR|Test|E|Lead 42945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042946|142946|989898|1|9999042946|MR|Test|E|Lead 42946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042947|142947|989898|1|9999042947|MR|Test|E|Lead 42947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042948|142948|989898|1|9999042948|MR|Test|E|Lead 42948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042949|142949|989898|1|9999042949|MR|Test|E|Lead 42949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042950|142950|989898|1|9999042950|MR|Test|E|Lead 42950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042951|142951|989898|1|9999042951|MR|Test|E|Lead 42951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042952|142952|989898|1|9999042952|MR|Test|E|Lead 42952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042953|142953|989898|1|9999042953|MR|Test|E|Lead 42953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042954|142954|989898|1|9999042954|MR|Test|E|Lead 42954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042955|142955|989898|1|9999042955|MR|Test|E|Lead 42955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042956|142956|989898|1|9999042956|MR|Test|E|Lead 42956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042957|142957|989898|1|9999042957|MR|Test|E|Lead 42957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042958|142958|989898|1|9999042958|MR|Test|E|Lead 42958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042959|142959|989898|1|9999042959|MR|Test|E|Lead 42959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042960|142960|989898|1|9999042960|MR|Test|E|Lead 42960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042961|142961|989898|1|9999042961|MR|Test|E|Lead 42961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042962|142962|989898|1|9999042962|MR|Test|E|Lead 42962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042963|142963|989898|1|9999042963|MR|Test|E|Lead 42963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042964|142964|989898|1|9999042964|MR|Test|E|Lead 42964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042965|142965|989898|1|9999042965|MR|Test|E|Lead 42965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042966|142966|989898|1|9999042966|MR|Test|E|Lead 42966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042967|142967|989898|1|9999042967|MR|Test|E|Lead 42967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042968|142968|989898|1|9999042968|MR|Test|E|Lead 42968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042969|142969|989898|1|9999042969|MR|Test|E|Lead 42969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042970|142970|989898|1|9999042970|MR|Test|E|Lead 42970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042971|142971|989898|1|9999042971|MR|Test|E|Lead 42971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042972|142972|989898|1|9999042972|MR|Test|E|Lead 42972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042973|142973|989898|1|9999042973|MR|Test|E|Lead 42973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042974|142974|989898|1|9999042974|MR|Test|E|Lead 42974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042975|142975|989898|1|9999042975|MR|Test|E|Lead 42975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042976|142976|989898|1|9999042976|MR|Test|E|Lead 42976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042977|142977|989898|1|9999042977|MR|Test|E|Lead 42977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042978|142978|989898|1|9999042978|MR|Test|E|Lead 42978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042979|142979|989898|1|9999042979|MR|Test|E|Lead 42979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042980|142980|989898|1|9999042980|MR|Test|E|Lead 42980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042981|142981|989898|1|9999042981|MR|Test|E|Lead 42981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042982|142982|989898|1|9999042982|MR|Test|E|Lead 42982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042983|142983|989898|1|9999042983|MR|Test|E|Lead 42983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042984|142984|989898|1|9999042984|MR|Test|E|Lead 42984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042985|142985|989898|1|9999042985|MR|Test|E|Lead 42985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042986|142986|989898|1|9999042986|MR|Test|E|Lead 42986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042987|142987|989898|1|9999042987|MR|Test|E|Lead 42987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042988|142988|989898|1|9999042988|MR|Test|E|Lead 42988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042989|142989|989898|1|9999042989|MR|Test|E|Lead 42989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042990|142990|989898|1|9999042990|MR|Test|E|Lead 42990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042991|142991|989898|1|9999042991|MR|Test|E|Lead 42991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042992|142992|989898|1|9999042992|MR|Test|E|Lead 42992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042993|142993|989898|1|9999042993|MR|Test|E|Lead 42993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042994|142994|989898|1|9999042994|MR|Test|E|Lead 42994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042995|142995|989898|1|9999042995|MR|Test|E|Lead 42995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042996|142996|989898|1|9999042996|MR|Test|E|Lead 42996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042997|142997|989898|1|9999042997|MR|Test|E|Lead 42997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042998|142998|989898|1|9999042998|MR|Test|E|Lead 42998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1042999|142999|989898|1|9999042999|MR|Test|E|Lead 42999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043000|143000|989898|1|9999043000|MR|Test|E|Lead 43000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043001|143001|989898|1|9999043001|MR|Test|E|Lead 43001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043002|143002|989898|1|9999043002|MR|Test|E|Lead 43002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043003|143003|989898|1|9999043003|MR|Test|E|Lead 43003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043004|143004|989898|1|9999043004|MR|Test|E|Lead 43004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043005|143005|989898|1|9999043005|MR|Test|E|Lead 43005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043006|143006|989898|1|9999043006|MR|Test|E|Lead 43006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043007|143007|989898|1|9999043007|MR|Test|E|Lead 43007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043008|143008|989898|1|9999043008|MR|Test|E|Lead 43008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043009|143009|989898|1|9999043009|MR|Test|E|Lead 43009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043010|143010|989898|1|9999043010|MR|Test|E|Lead 43010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043011|143011|989898|1|9999043011|MR|Test|E|Lead 43011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043012|143012|989898|1|9999043012|MR|Test|E|Lead 43012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043013|143013|989898|1|9999043013|MR|Test|E|Lead 43013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043014|143014|989898|1|9999043014|MR|Test|E|Lead 43014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043015|143015|989898|1|9999043015|MR|Test|E|Lead 43015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043016|143016|989898|1|9999043016|MR|Test|E|Lead 43016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043017|143017|989898|1|9999043017|MR|Test|E|Lead 43017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043018|143018|989898|1|9999043018|MR|Test|E|Lead 43018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043019|143019|989898|1|9999043019|MR|Test|E|Lead 43019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043020|143020|989898|1|9999043020|MR|Test|E|Lead 43020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043021|143021|989898|1|9999043021|MR|Test|E|Lead 43021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043022|143022|989898|1|9999043022|MR|Test|E|Lead 43022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043023|143023|989898|1|9999043023|MR|Test|E|Lead 43023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043024|143024|989898|1|9999043024|MR|Test|E|Lead 43024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043025|143025|989898|1|9999043025|MR|Test|E|Lead 43025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043026|143026|989898|1|9999043026|MR|Test|E|Lead 43026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043027|143027|989898|1|9999043027|MR|Test|E|Lead 43027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043028|143028|989898|1|9999043028|MR|Test|E|Lead 43028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043029|143029|989898|1|9999043029|MR|Test|E|Lead 43029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043030|143030|989898|1|9999043030|MR|Test|E|Lead 43030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043031|143031|989898|1|9999043031|MR|Test|E|Lead 43031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043032|143032|989898|1|9999043032|MR|Test|E|Lead 43032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043033|143033|989898|1|9999043033|MR|Test|E|Lead 43033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043034|143034|989898|1|9999043034|MR|Test|E|Lead 43034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043035|143035|989898|1|9999043035|MR|Test|E|Lead 43035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043036|143036|989898|1|9999043036|MR|Test|E|Lead 43036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043037|143037|989898|1|9999043037|MR|Test|E|Lead 43037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043038|143038|989898|1|9999043038|MR|Test|E|Lead 43038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043039|143039|989898|1|9999043039|MR|Test|E|Lead 43039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043040|143040|989898|1|9999043040|MR|Test|E|Lead 43040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043041|143041|989898|1|9999043041|MR|Test|E|Lead 43041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043042|143042|989898|1|9999043042|MR|Test|E|Lead 43042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043043|143043|989898|1|9999043043|MR|Test|E|Lead 43043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043044|143044|989898|1|9999043044|MR|Test|E|Lead 43044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043045|143045|989898|1|9999043045|MR|Test|E|Lead 43045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043046|143046|989898|1|9999043046|MR|Test|E|Lead 43046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043047|143047|989898|1|9999043047|MR|Test|E|Lead 43047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043048|143048|989898|1|9999043048|MR|Test|E|Lead 43048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043049|143049|989898|1|9999043049|MR|Test|E|Lead 43049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043050|143050|989898|1|9999043050|MR|Test|E|Lead 43050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043051|143051|989898|1|9999043051|MR|Test|E|Lead 43051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043052|143052|989898|1|9999043052|MR|Test|E|Lead 43052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043053|143053|989898|1|9999043053|MR|Test|E|Lead 43053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043054|143054|989898|1|9999043054|MR|Test|E|Lead 43054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043055|143055|989898|1|9999043055|MR|Test|E|Lead 43055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043056|143056|989898|1|9999043056|MR|Test|E|Lead 43056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043057|143057|989898|1|9999043057|MR|Test|E|Lead 43057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043058|143058|989898|1|9999043058|MR|Test|E|Lead 43058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043059|143059|989898|1|9999043059|MR|Test|E|Lead 43059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043060|143060|989898|1|9999043060|MR|Test|E|Lead 43060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043061|143061|989898|1|9999043061|MR|Test|E|Lead 43061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043062|143062|989898|1|9999043062|MR|Test|E|Lead 43062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043063|143063|989898|1|9999043063|MR|Test|E|Lead 43063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043064|143064|989898|1|9999043064|MR|Test|E|Lead 43064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043065|143065|989898|1|9999043065|MR|Test|E|Lead 43065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043066|143066|989898|1|9999043066|MR|Test|E|Lead 43066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043067|143067|989898|1|9999043067|MR|Test|E|Lead 43067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043068|143068|989898|1|9999043068|MR|Test|E|Lead 43068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043069|143069|989898|1|9999043069|MR|Test|E|Lead 43069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043070|143070|989898|1|9999043070|MR|Test|E|Lead 43070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043071|143071|989898|1|9999043071|MR|Test|E|Lead 43071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043072|143072|989898|1|9999043072|MR|Test|E|Lead 43072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043073|143073|989898|1|9999043073|MR|Test|E|Lead 43073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043074|143074|989898|1|9999043074|MR|Test|E|Lead 43074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043075|143075|989898|1|9999043075|MR|Test|E|Lead 43075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043076|143076|989898|1|9999043076|MR|Test|E|Lead 43076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043077|143077|989898|1|9999043077|MR|Test|E|Lead 43077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043078|143078|989898|1|9999043078|MR|Test|E|Lead 43078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043079|143079|989898|1|9999043079|MR|Test|E|Lead 43079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043080|143080|989898|1|9999043080|MR|Test|E|Lead 43080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043081|143081|989898|1|9999043081|MR|Test|E|Lead 43081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043082|143082|989898|1|9999043082|MR|Test|E|Lead 43082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043083|143083|989898|1|9999043083|MR|Test|E|Lead 43083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043084|143084|989898|1|9999043084|MR|Test|E|Lead 43084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043085|143085|989898|1|9999043085|MR|Test|E|Lead 43085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043086|143086|989898|1|9999043086|MR|Test|E|Lead 43086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043087|143087|989898|1|9999043087|MR|Test|E|Lead 43087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043088|143088|989898|1|9999043088|MR|Test|E|Lead 43088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043089|143089|989898|1|9999043089|MR|Test|E|Lead 43089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043090|143090|989898|1|9999043090|MR|Test|E|Lead 43090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043091|143091|989898|1|9999043091|MR|Test|E|Lead 43091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043092|143092|989898|1|9999043092|MR|Test|E|Lead 43092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043093|143093|989898|1|9999043093|MR|Test|E|Lead 43093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043094|143094|989898|1|9999043094|MR|Test|E|Lead 43094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043095|143095|989898|1|9999043095|MR|Test|E|Lead 43095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043096|143096|989898|1|9999043096|MR|Test|E|Lead 43096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043097|143097|989898|1|9999043097|MR|Test|E|Lead 43097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043098|143098|989898|1|9999043098|MR|Test|E|Lead 43098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043099|143099|989898|1|9999043099|MR|Test|E|Lead 43099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043100|143100|989898|1|9999043100|MR|Test|E|Lead 43100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043101|143101|989898|1|9999043101|MR|Test|E|Lead 43101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043102|143102|989898|1|9999043102|MR|Test|E|Lead 43102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043103|143103|989898|1|9999043103|MR|Test|E|Lead 43103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043104|143104|989898|1|9999043104|MR|Test|E|Lead 43104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043105|143105|989898|1|9999043105|MR|Test|E|Lead 43105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043106|143106|989898|1|9999043106|MR|Test|E|Lead 43106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043107|143107|989898|1|9999043107|MR|Test|E|Lead 43107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043108|143108|989898|1|9999043108|MR|Test|E|Lead 43108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043109|143109|989898|1|9999043109|MR|Test|E|Lead 43109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043110|143110|989898|1|9999043110|MR|Test|E|Lead 43110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043111|143111|989898|1|9999043111|MR|Test|E|Lead 43111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043112|143112|989898|1|9999043112|MR|Test|E|Lead 43112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043113|143113|989898|1|9999043113|MR|Test|E|Lead 43113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043114|143114|989898|1|9999043114|MR|Test|E|Lead 43114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043115|143115|989898|1|9999043115|MR|Test|E|Lead 43115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043116|143116|989898|1|9999043116|MR|Test|E|Lead 43116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043117|143117|989898|1|9999043117|MR|Test|E|Lead 43117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043118|143118|989898|1|9999043118|MR|Test|E|Lead 43118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043119|143119|989898|1|9999043119|MR|Test|E|Lead 43119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043120|143120|989898|1|9999043120|MR|Test|E|Lead 43120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043121|143121|989898|1|9999043121|MR|Test|E|Lead 43121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043122|143122|989898|1|9999043122|MR|Test|E|Lead 43122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043123|143123|989898|1|9999043123|MR|Test|E|Lead 43123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043124|143124|989898|1|9999043124|MR|Test|E|Lead 43124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043125|143125|989898|1|9999043125|MR|Test|E|Lead 43125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043126|143126|989898|1|9999043126|MR|Test|E|Lead 43126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043127|143127|989898|1|9999043127|MR|Test|E|Lead 43127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043128|143128|989898|1|9999043128|MR|Test|E|Lead 43128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043129|143129|989898|1|9999043129|MR|Test|E|Lead 43129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043130|143130|989898|1|9999043130|MR|Test|E|Lead 43130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043131|143131|989898|1|9999043131|MR|Test|E|Lead 43131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043132|143132|989898|1|9999043132|MR|Test|E|Lead 43132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043133|143133|989898|1|9999043133|MR|Test|E|Lead 43133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043134|143134|989898|1|9999043134|MR|Test|E|Lead 43134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043135|143135|989898|1|9999043135|MR|Test|E|Lead 43135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043136|143136|989898|1|9999043136|MR|Test|E|Lead 43136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043137|143137|989898|1|9999043137|MR|Test|E|Lead 43137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043138|143138|989898|1|9999043138|MR|Test|E|Lead 43138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043139|143139|989898|1|9999043139|MR|Test|E|Lead 43139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043140|143140|989898|1|9999043140|MR|Test|E|Lead 43140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043141|143141|989898|1|9999043141|MR|Test|E|Lead 43141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043142|143142|989898|1|9999043142|MR|Test|E|Lead 43142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043143|143143|989898|1|9999043143|MR|Test|E|Lead 43143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043144|143144|989898|1|9999043144|MR|Test|E|Lead 43144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043145|143145|989898|1|9999043145|MR|Test|E|Lead 43145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043146|143146|989898|1|9999043146|MR|Test|E|Lead 43146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043147|143147|989898|1|9999043147|MR|Test|E|Lead 43147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043148|143148|989898|1|9999043148|MR|Test|E|Lead 43148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043149|143149|989898|1|9999043149|MR|Test|E|Lead 43149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043150|143150|989898|1|9999043150|MR|Test|E|Lead 43150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043151|143151|989898|1|9999043151|MR|Test|E|Lead 43151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043152|143152|989898|1|9999043152|MR|Test|E|Lead 43152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043153|143153|989898|1|9999043153|MR|Test|E|Lead 43153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043154|143154|989898|1|9999043154|MR|Test|E|Lead 43154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043155|143155|989898|1|9999043155|MR|Test|E|Lead 43155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043156|143156|989898|1|9999043156|MR|Test|E|Lead 43156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043157|143157|989898|1|9999043157|MR|Test|E|Lead 43157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043158|143158|989898|1|9999043158|MR|Test|E|Lead 43158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043159|143159|989898|1|9999043159|MR|Test|E|Lead 43159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043160|143160|989898|1|9999043160|MR|Test|E|Lead 43160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043161|143161|989898|1|9999043161|MR|Test|E|Lead 43161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043162|143162|989898|1|9999043162|MR|Test|E|Lead 43162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043163|143163|989898|1|9999043163|MR|Test|E|Lead 43163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043164|143164|989898|1|9999043164|MR|Test|E|Lead 43164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043165|143165|989898|1|9999043165|MR|Test|E|Lead 43165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043166|143166|989898|1|9999043166|MR|Test|E|Lead 43166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043167|143167|989898|1|9999043167|MR|Test|E|Lead 43167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043168|143168|989898|1|9999043168|MR|Test|E|Lead 43168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043169|143169|989898|1|9999043169|MR|Test|E|Lead 43169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043170|143170|989898|1|9999043170|MR|Test|E|Lead 43170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043171|143171|989898|1|9999043171|MR|Test|E|Lead 43171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043172|143172|989898|1|9999043172|MR|Test|E|Lead 43172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043173|143173|989898|1|9999043173|MR|Test|E|Lead 43173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043174|143174|989898|1|9999043174|MR|Test|E|Lead 43174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043175|143175|989898|1|9999043175|MR|Test|E|Lead 43175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043176|143176|989898|1|9999043176|MR|Test|E|Lead 43176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043177|143177|989898|1|9999043177|MR|Test|E|Lead 43177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043178|143178|989898|1|9999043178|MR|Test|E|Lead 43178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043179|143179|989898|1|9999043179|MR|Test|E|Lead 43179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043180|143180|989898|1|9999043180|MR|Test|E|Lead 43180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043181|143181|989898|1|9999043181|MR|Test|E|Lead 43181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043182|143182|989898|1|9999043182|MR|Test|E|Lead 43182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043183|143183|989898|1|9999043183|MR|Test|E|Lead 43183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043184|143184|989898|1|9999043184|MR|Test|E|Lead 43184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043185|143185|989898|1|9999043185|MR|Test|E|Lead 43185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043186|143186|989898|1|9999043186|MR|Test|E|Lead 43186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043187|143187|989898|1|9999043187|MR|Test|E|Lead 43187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043188|143188|989898|1|9999043188|MR|Test|E|Lead 43188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043189|143189|989898|1|9999043189|MR|Test|E|Lead 43189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043190|143190|989898|1|9999043190|MR|Test|E|Lead 43190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043191|143191|989898|1|9999043191|MR|Test|E|Lead 43191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043192|143192|989898|1|9999043192|MR|Test|E|Lead 43192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043193|143193|989898|1|9999043193|MR|Test|E|Lead 43193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043194|143194|989898|1|9999043194|MR|Test|E|Lead 43194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043195|143195|989898|1|9999043195|MR|Test|E|Lead 43195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043196|143196|989898|1|9999043196|MR|Test|E|Lead 43196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043197|143197|989898|1|9999043197|MR|Test|E|Lead 43197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043198|143198|989898|1|9999043198|MR|Test|E|Lead 43198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043199|143199|989898|1|9999043199|MR|Test|E|Lead 43199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043200|143200|989898|1|9999043200|MR|Test|E|Lead 43200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043201|143201|989898|1|9999043201|MR|Test|E|Lead 43201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043202|143202|989898|1|9999043202|MR|Test|E|Lead 43202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043203|143203|989898|1|9999043203|MR|Test|E|Lead 43203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043204|143204|989898|1|9999043204|MR|Test|E|Lead 43204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043205|143205|989898|1|9999043205|MR|Test|E|Lead 43205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043206|143206|989898|1|9999043206|MR|Test|E|Lead 43206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043207|143207|989898|1|9999043207|MR|Test|E|Lead 43207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043208|143208|989898|1|9999043208|MR|Test|E|Lead 43208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043209|143209|989898|1|9999043209|MR|Test|E|Lead 43209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043210|143210|989898|1|9999043210|MR|Test|E|Lead 43210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043211|143211|989898|1|9999043211|MR|Test|E|Lead 43211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043212|143212|989898|1|9999043212|MR|Test|E|Lead 43212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043213|143213|989898|1|9999043213|MR|Test|E|Lead 43213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043214|143214|989898|1|9999043214|MR|Test|E|Lead 43214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043215|143215|989898|1|9999043215|MR|Test|E|Lead 43215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043216|143216|989898|1|9999043216|MR|Test|E|Lead 43216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043217|143217|989898|1|9999043217|MR|Test|E|Lead 43217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043218|143218|989898|1|9999043218|MR|Test|E|Lead 43218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043219|143219|989898|1|9999043219|MR|Test|E|Lead 43219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043220|143220|989898|1|9999043220|MR|Test|E|Lead 43220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043221|143221|989898|1|9999043221|MR|Test|E|Lead 43221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043222|143222|989898|1|9999043222|MR|Test|E|Lead 43222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043223|143223|989898|1|9999043223|MR|Test|E|Lead 43223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043224|143224|989898|1|9999043224|MR|Test|E|Lead 43224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043225|143225|989898|1|9999043225|MR|Test|E|Lead 43225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043226|143226|989898|1|9999043226|MR|Test|E|Lead 43226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043227|143227|989898|1|9999043227|MR|Test|E|Lead 43227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043228|143228|989898|1|9999043228|MR|Test|E|Lead 43228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043229|143229|989898|1|9999043229|MR|Test|E|Lead 43229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043230|143230|989898|1|9999043230|MR|Test|E|Lead 43230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043231|143231|989898|1|9999043231|MR|Test|E|Lead 43231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043232|143232|989898|1|9999043232|MR|Test|E|Lead 43232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043233|143233|989898|1|9999043233|MR|Test|E|Lead 43233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043234|143234|989898|1|9999043234|MR|Test|E|Lead 43234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043235|143235|989898|1|9999043235|MR|Test|E|Lead 43235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043236|143236|989898|1|9999043236|MR|Test|E|Lead 43236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043237|143237|989898|1|9999043237|MR|Test|E|Lead 43237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043238|143238|989898|1|9999043238|MR|Test|E|Lead 43238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043239|143239|989898|1|9999043239|MR|Test|E|Lead 43239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043240|143240|989898|1|9999043240|MR|Test|E|Lead 43240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043241|143241|989898|1|9999043241|MR|Test|E|Lead 43241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043242|143242|989898|1|9999043242|MR|Test|E|Lead 43242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043243|143243|989898|1|9999043243|MR|Test|E|Lead 43243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043244|143244|989898|1|9999043244|MR|Test|E|Lead 43244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043245|143245|989898|1|9999043245|MR|Test|E|Lead 43245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043246|143246|989898|1|9999043246|MR|Test|E|Lead 43246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043247|143247|989898|1|9999043247|MR|Test|E|Lead 43247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043248|143248|989898|1|9999043248|MR|Test|E|Lead 43248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043249|143249|989898|1|9999043249|MR|Test|E|Lead 43249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043250|143250|989898|1|9999043250|MR|Test|E|Lead 43250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043251|143251|989898|1|9999043251|MR|Test|E|Lead 43251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043252|143252|989898|1|9999043252|MR|Test|E|Lead 43252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043253|143253|989898|1|9999043253|MR|Test|E|Lead 43253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043254|143254|989898|1|9999043254|MR|Test|E|Lead 43254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043255|143255|989898|1|9999043255|MR|Test|E|Lead 43255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043256|143256|989898|1|9999043256|MR|Test|E|Lead 43256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043257|143257|989898|1|9999043257|MR|Test|E|Lead 43257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043258|143258|989898|1|9999043258|MR|Test|E|Lead 43258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043259|143259|989898|1|9999043259|MR|Test|E|Lead 43259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043260|143260|989898|1|9999043260|MR|Test|E|Lead 43260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043261|143261|989898|1|9999043261|MR|Test|E|Lead 43261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043262|143262|989898|1|9999043262|MR|Test|E|Lead 43262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043263|143263|989898|1|9999043263|MR|Test|E|Lead 43263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043264|143264|989898|1|9999043264|MR|Test|E|Lead 43264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043265|143265|989898|1|9999043265|MR|Test|E|Lead 43265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043266|143266|989898|1|9999043266|MR|Test|E|Lead 43266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043267|143267|989898|1|9999043267|MR|Test|E|Lead 43267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043268|143268|989898|1|9999043268|MR|Test|E|Lead 43268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043269|143269|989898|1|9999043269|MR|Test|E|Lead 43269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043270|143270|989898|1|9999043270|MR|Test|E|Lead 43270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043271|143271|989898|1|9999043271|MR|Test|E|Lead 43271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043272|143272|989898|1|9999043272|MR|Test|E|Lead 43272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043273|143273|989898|1|9999043273|MR|Test|E|Lead 43273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043274|143274|989898|1|9999043274|MR|Test|E|Lead 43274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043275|143275|989898|1|9999043275|MR|Test|E|Lead 43275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043276|143276|989898|1|9999043276|MR|Test|E|Lead 43276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043277|143277|989898|1|9999043277|MR|Test|E|Lead 43277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043278|143278|989898|1|9999043278|MR|Test|E|Lead 43278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043279|143279|989898|1|9999043279|MR|Test|E|Lead 43279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043280|143280|989898|1|9999043280|MR|Test|E|Lead 43280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043281|143281|989898|1|9999043281|MR|Test|E|Lead 43281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043282|143282|989898|1|9999043282|MR|Test|E|Lead 43282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043283|143283|989898|1|9999043283|MR|Test|E|Lead 43283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043284|143284|989898|1|9999043284|MR|Test|E|Lead 43284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043285|143285|989898|1|9999043285|MR|Test|E|Lead 43285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043286|143286|989898|1|9999043286|MR|Test|E|Lead 43286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043287|143287|989898|1|9999043287|MR|Test|E|Lead 43287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043288|143288|989898|1|9999043288|MR|Test|E|Lead 43288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043289|143289|989898|1|9999043289|MR|Test|E|Lead 43289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043290|143290|989898|1|9999043290|MR|Test|E|Lead 43290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043291|143291|989898|1|9999043291|MR|Test|E|Lead 43291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043292|143292|989898|1|9999043292|MR|Test|E|Lead 43292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043293|143293|989898|1|9999043293|MR|Test|E|Lead 43293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043294|143294|989898|1|9999043294|MR|Test|E|Lead 43294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043295|143295|989898|1|9999043295|MR|Test|E|Lead 43295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043296|143296|989898|1|9999043296|MR|Test|E|Lead 43296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043297|143297|989898|1|9999043297|MR|Test|E|Lead 43297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043298|143298|989898|1|9999043298|MR|Test|E|Lead 43298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043299|143299|989898|1|9999043299|MR|Test|E|Lead 43299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043300|143300|989898|1|9999043300|MR|Test|E|Lead 43300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043301|143301|989898|1|9999043301|MR|Test|E|Lead 43301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043302|143302|989898|1|9999043302|MR|Test|E|Lead 43302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043303|143303|989898|1|9999043303|MR|Test|E|Lead 43303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043304|143304|989898|1|9999043304|MR|Test|E|Lead 43304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043305|143305|989898|1|9999043305|MR|Test|E|Lead 43305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043306|143306|989898|1|9999043306|MR|Test|E|Lead 43306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043307|143307|989898|1|9999043307|MR|Test|E|Lead 43307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043308|143308|989898|1|9999043308|MR|Test|E|Lead 43308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043309|143309|989898|1|9999043309|MR|Test|E|Lead 43309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043310|143310|989898|1|9999043310|MR|Test|E|Lead 43310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043311|143311|989898|1|9999043311|MR|Test|E|Lead 43311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043312|143312|989898|1|9999043312|MR|Test|E|Lead 43312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043313|143313|989898|1|9999043313|MR|Test|E|Lead 43313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043314|143314|989898|1|9999043314|MR|Test|E|Lead 43314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043315|143315|989898|1|9999043315|MR|Test|E|Lead 43315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043316|143316|989898|1|9999043316|MR|Test|E|Lead 43316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043317|143317|989898|1|9999043317|MR|Test|E|Lead 43317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043318|143318|989898|1|9999043318|MR|Test|E|Lead 43318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043319|143319|989898|1|9999043319|MR|Test|E|Lead 43319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043320|143320|989898|1|9999043320|MR|Test|E|Lead 43320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043321|143321|989898|1|9999043321|MR|Test|E|Lead 43321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043322|143322|989898|1|9999043322|MR|Test|E|Lead 43322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043323|143323|989898|1|9999043323|MR|Test|E|Lead 43323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043324|143324|989898|1|9999043324|MR|Test|E|Lead 43324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043325|143325|989898|1|9999043325|MR|Test|E|Lead 43325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043326|143326|989898|1|9999043326|MR|Test|E|Lead 43326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043327|143327|989898|1|9999043327|MR|Test|E|Lead 43327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043328|143328|989898|1|9999043328|MR|Test|E|Lead 43328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043329|143329|989898|1|9999043329|MR|Test|E|Lead 43329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043330|143330|989898|1|9999043330|MR|Test|E|Lead 43330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043331|143331|989898|1|9999043331|MR|Test|E|Lead 43331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043332|143332|989898|1|9999043332|MR|Test|E|Lead 43332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043333|143333|989898|1|9999043333|MR|Test|E|Lead 43333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043334|143334|989898|1|9999043334|MR|Test|E|Lead 43334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043335|143335|989898|1|9999043335|MR|Test|E|Lead 43335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043336|143336|989898|1|9999043336|MR|Test|E|Lead 43336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043337|143337|989898|1|9999043337|MR|Test|E|Lead 43337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043338|143338|989898|1|9999043338|MR|Test|E|Lead 43338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043339|143339|989898|1|9999043339|MR|Test|E|Lead 43339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043340|143340|989898|1|9999043340|MR|Test|E|Lead 43340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043341|143341|989898|1|9999043341|MR|Test|E|Lead 43341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043342|143342|989898|1|9999043342|MR|Test|E|Lead 43342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043343|143343|989898|1|9999043343|MR|Test|E|Lead 43343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043344|143344|989898|1|9999043344|MR|Test|E|Lead 43344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043345|143345|989898|1|9999043345|MR|Test|E|Lead 43345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043346|143346|989898|1|9999043346|MR|Test|E|Lead 43346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043347|143347|989898|1|9999043347|MR|Test|E|Lead 43347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043348|143348|989898|1|9999043348|MR|Test|E|Lead 43348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043349|143349|989898|1|9999043349|MR|Test|E|Lead 43349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043350|143350|989898|1|9999043350|MR|Test|E|Lead 43350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043351|143351|989898|1|9999043351|MR|Test|E|Lead 43351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043352|143352|989898|1|9999043352|MR|Test|E|Lead 43352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043353|143353|989898|1|9999043353|MR|Test|E|Lead 43353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043354|143354|989898|1|9999043354|MR|Test|E|Lead 43354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043355|143355|989898|1|9999043355|MR|Test|E|Lead 43355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043356|143356|989898|1|9999043356|MR|Test|E|Lead 43356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043357|143357|989898|1|9999043357|MR|Test|E|Lead 43357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043358|143358|989898|1|9999043358|MR|Test|E|Lead 43358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043359|143359|989898|1|9999043359|MR|Test|E|Lead 43359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043360|143360|989898|1|9999043360|MR|Test|E|Lead 43360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043361|143361|989898|1|9999043361|MR|Test|E|Lead 43361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043362|143362|989898|1|9999043362|MR|Test|E|Lead 43362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043363|143363|989898|1|9999043363|MR|Test|E|Lead 43363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043364|143364|989898|1|9999043364|MR|Test|E|Lead 43364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043365|143365|989898|1|9999043365|MR|Test|E|Lead 43365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043366|143366|989898|1|9999043366|MR|Test|E|Lead 43366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043367|143367|989898|1|9999043367|MR|Test|E|Lead 43367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043368|143368|989898|1|9999043368|MR|Test|E|Lead 43368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043369|143369|989898|1|9999043369|MR|Test|E|Lead 43369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043370|143370|989898|1|9999043370|MR|Test|E|Lead 43370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043371|143371|989898|1|9999043371|MR|Test|E|Lead 43371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043372|143372|989898|1|9999043372|MR|Test|E|Lead 43372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043373|143373|989898|1|9999043373|MR|Test|E|Lead 43373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043374|143374|989898|1|9999043374|MR|Test|E|Lead 43374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043375|143375|989898|1|9999043375|MR|Test|E|Lead 43375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043376|143376|989898|1|9999043376|MR|Test|E|Lead 43376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043377|143377|989898|1|9999043377|MR|Test|E|Lead 43377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043378|143378|989898|1|9999043378|MR|Test|E|Lead 43378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043379|143379|989898|1|9999043379|MR|Test|E|Lead 43379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043380|143380|989898|1|9999043380|MR|Test|E|Lead 43380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043381|143381|989898|1|9999043381|MR|Test|E|Lead 43381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043382|143382|989898|1|9999043382|MR|Test|E|Lead 43382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043383|143383|989898|1|9999043383|MR|Test|E|Lead 43383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043384|143384|989898|1|9999043384|MR|Test|E|Lead 43384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043385|143385|989898|1|9999043385|MR|Test|E|Lead 43385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043386|143386|989898|1|9999043386|MR|Test|E|Lead 43386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043387|143387|989898|1|9999043387|MR|Test|E|Lead 43387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043388|143388|989898|1|9999043388|MR|Test|E|Lead 43388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043389|143389|989898|1|9999043389|MR|Test|E|Lead 43389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043390|143390|989898|1|9999043390|MR|Test|E|Lead 43390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043391|143391|989898|1|9999043391|MR|Test|E|Lead 43391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043392|143392|989898|1|9999043392|MR|Test|E|Lead 43392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043393|143393|989898|1|9999043393|MR|Test|E|Lead 43393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043394|143394|989898|1|9999043394|MR|Test|E|Lead 43394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043395|143395|989898|1|9999043395|MR|Test|E|Lead 43395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043396|143396|989898|1|9999043396|MR|Test|E|Lead 43396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043397|143397|989898|1|9999043397|MR|Test|E|Lead 43397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043398|143398|989898|1|9999043398|MR|Test|E|Lead 43398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043399|143399|989898|1|9999043399|MR|Test|E|Lead 43399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043400|143400|989898|1|9999043400|MR|Test|E|Lead 43400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043401|143401|989898|1|9999043401|MR|Test|E|Lead 43401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043402|143402|989898|1|9999043402|MR|Test|E|Lead 43402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043403|143403|989898|1|9999043403|MR|Test|E|Lead 43403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043404|143404|989898|1|9999043404|MR|Test|E|Lead 43404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043405|143405|989898|1|9999043405|MR|Test|E|Lead 43405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043406|143406|989898|1|9999043406|MR|Test|E|Lead 43406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043407|143407|989898|1|9999043407|MR|Test|E|Lead 43407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043408|143408|989898|1|9999043408|MR|Test|E|Lead 43408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043409|143409|989898|1|9999043409|MR|Test|E|Lead 43409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043410|143410|989898|1|9999043410|MR|Test|E|Lead 43410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043411|143411|989898|1|9999043411|MR|Test|E|Lead 43411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043412|143412|989898|1|9999043412|MR|Test|E|Lead 43412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043413|143413|989898|1|9999043413|MR|Test|E|Lead 43413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043414|143414|989898|1|9999043414|MR|Test|E|Lead 43414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043415|143415|989898|1|9999043415|MR|Test|E|Lead 43415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043416|143416|989898|1|9999043416|MR|Test|E|Lead 43416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043417|143417|989898|1|9999043417|MR|Test|E|Lead 43417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043418|143418|989898|1|9999043418|MR|Test|E|Lead 43418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043419|143419|989898|1|9999043419|MR|Test|E|Lead 43419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043420|143420|989898|1|9999043420|MR|Test|E|Lead 43420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043421|143421|989898|1|9999043421|MR|Test|E|Lead 43421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043422|143422|989898|1|9999043422|MR|Test|E|Lead 43422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043423|143423|989898|1|9999043423|MR|Test|E|Lead 43423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043424|143424|989898|1|9999043424|MR|Test|E|Lead 43424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043425|143425|989898|1|9999043425|MR|Test|E|Lead 43425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043426|143426|989898|1|9999043426|MR|Test|E|Lead 43426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043427|143427|989898|1|9999043427|MR|Test|E|Lead 43427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043428|143428|989898|1|9999043428|MR|Test|E|Lead 43428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043429|143429|989898|1|9999043429|MR|Test|E|Lead 43429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043430|143430|989898|1|9999043430|MR|Test|E|Lead 43430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043431|143431|989898|1|9999043431|MR|Test|E|Lead 43431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043432|143432|989898|1|9999043432|MR|Test|E|Lead 43432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043433|143433|989898|1|9999043433|MR|Test|E|Lead 43433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043434|143434|989898|1|9999043434|MR|Test|E|Lead 43434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043435|143435|989898|1|9999043435|MR|Test|E|Lead 43435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043436|143436|989898|1|9999043436|MR|Test|E|Lead 43436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043437|143437|989898|1|9999043437|MR|Test|E|Lead 43437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043438|143438|989898|1|9999043438|MR|Test|E|Lead 43438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043439|143439|989898|1|9999043439|MR|Test|E|Lead 43439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043440|143440|989898|1|9999043440|MR|Test|E|Lead 43440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043441|143441|989898|1|9999043441|MR|Test|E|Lead 43441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043442|143442|989898|1|9999043442|MR|Test|E|Lead 43442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043443|143443|989898|1|9999043443|MR|Test|E|Lead 43443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043444|143444|989898|1|9999043444|MR|Test|E|Lead 43444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043445|143445|989898|1|9999043445|MR|Test|E|Lead 43445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043446|143446|989898|1|9999043446|MR|Test|E|Lead 43446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043447|143447|989898|1|9999043447|MR|Test|E|Lead 43447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043448|143448|989898|1|9999043448|MR|Test|E|Lead 43448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043449|143449|989898|1|9999043449|MR|Test|E|Lead 43449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043450|143450|989898|1|9999043450|MR|Test|E|Lead 43450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043451|143451|989898|1|9999043451|MR|Test|E|Lead 43451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043452|143452|989898|1|9999043452|MR|Test|E|Lead 43452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043453|143453|989898|1|9999043453|MR|Test|E|Lead 43453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043454|143454|989898|1|9999043454|MR|Test|E|Lead 43454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043455|143455|989898|1|9999043455|MR|Test|E|Lead 43455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043456|143456|989898|1|9999043456|MR|Test|E|Lead 43456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043457|143457|989898|1|9999043457|MR|Test|E|Lead 43457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043458|143458|989898|1|9999043458|MR|Test|E|Lead 43458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043459|143459|989898|1|9999043459|MR|Test|E|Lead 43459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043460|143460|989898|1|9999043460|MR|Test|E|Lead 43460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043461|143461|989898|1|9999043461|MR|Test|E|Lead 43461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043462|143462|989898|1|9999043462|MR|Test|E|Lead 43462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043463|143463|989898|1|9999043463|MR|Test|E|Lead 43463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043464|143464|989898|1|9999043464|MR|Test|E|Lead 43464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043465|143465|989898|1|9999043465|MR|Test|E|Lead 43465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043466|143466|989898|1|9999043466|MR|Test|E|Lead 43466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043467|143467|989898|1|9999043467|MR|Test|E|Lead 43467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043468|143468|989898|1|9999043468|MR|Test|E|Lead 43468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043469|143469|989898|1|9999043469|MR|Test|E|Lead 43469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043470|143470|989898|1|9999043470|MR|Test|E|Lead 43470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043471|143471|989898|1|9999043471|MR|Test|E|Lead 43471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043472|143472|989898|1|9999043472|MR|Test|E|Lead 43472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043473|143473|989898|1|9999043473|MR|Test|E|Lead 43473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043474|143474|989898|1|9999043474|MR|Test|E|Lead 43474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043475|143475|989898|1|9999043475|MR|Test|E|Lead 43475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043476|143476|989898|1|9999043476|MR|Test|E|Lead 43476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043477|143477|989898|1|9999043477|MR|Test|E|Lead 43477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043478|143478|989898|1|9999043478|MR|Test|E|Lead 43478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043479|143479|989898|1|9999043479|MR|Test|E|Lead 43479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043480|143480|989898|1|9999043480|MR|Test|E|Lead 43480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043481|143481|989898|1|9999043481|MR|Test|E|Lead 43481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043482|143482|989898|1|9999043482|MR|Test|E|Lead 43482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043483|143483|989898|1|9999043483|MR|Test|E|Lead 43483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043484|143484|989898|1|9999043484|MR|Test|E|Lead 43484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043485|143485|989898|1|9999043485|MR|Test|E|Lead 43485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043486|143486|989898|1|9999043486|MR|Test|E|Lead 43486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043487|143487|989898|1|9999043487|MR|Test|E|Lead 43487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043488|143488|989898|1|9999043488|MR|Test|E|Lead 43488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043489|143489|989898|1|9999043489|MR|Test|E|Lead 43489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043490|143490|989898|1|9999043490|MR|Test|E|Lead 43490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043491|143491|989898|1|9999043491|MR|Test|E|Lead 43491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043492|143492|989898|1|9999043492|MR|Test|E|Lead 43492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043493|143493|989898|1|9999043493|MR|Test|E|Lead 43493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043494|143494|989898|1|9999043494|MR|Test|E|Lead 43494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043495|143495|989898|1|9999043495|MR|Test|E|Lead 43495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043496|143496|989898|1|9999043496|MR|Test|E|Lead 43496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043497|143497|989898|1|9999043497|MR|Test|E|Lead 43497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043498|143498|989898|1|9999043498|MR|Test|E|Lead 43498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043499|143499|989898|1|9999043499|MR|Test|E|Lead 43499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043500|143500|989898|1|9999043500|MR|Test|E|Lead 43500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043501|143501|989898|1|9999043501|MR|Test|E|Lead 43501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043502|143502|989898|1|9999043502|MR|Test|E|Lead 43502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043503|143503|989898|1|9999043503|MR|Test|E|Lead 43503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043504|143504|989898|1|9999043504|MR|Test|E|Lead 43504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043505|143505|989898|1|9999043505|MR|Test|E|Lead 43505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043506|143506|989898|1|9999043506|MR|Test|E|Lead 43506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043507|143507|989898|1|9999043507|MR|Test|E|Lead 43507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043508|143508|989898|1|9999043508|MR|Test|E|Lead 43508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043509|143509|989898|1|9999043509|MR|Test|E|Lead 43509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043510|143510|989898|1|9999043510|MR|Test|E|Lead 43510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043511|143511|989898|1|9999043511|MR|Test|E|Lead 43511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043512|143512|989898|1|9999043512|MR|Test|E|Lead 43512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043513|143513|989898|1|9999043513|MR|Test|E|Lead 43513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043514|143514|989898|1|9999043514|MR|Test|E|Lead 43514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043515|143515|989898|1|9999043515|MR|Test|E|Lead 43515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043516|143516|989898|1|9999043516|MR|Test|E|Lead 43516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043517|143517|989898|1|9999043517|MR|Test|E|Lead 43517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043518|143518|989898|1|9999043518|MR|Test|E|Lead 43518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043519|143519|989898|1|9999043519|MR|Test|E|Lead 43519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043520|143520|989898|1|9999043520|MR|Test|E|Lead 43520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043521|143521|989898|1|9999043521|MR|Test|E|Lead 43521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043522|143522|989898|1|9999043522|MR|Test|E|Lead 43522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043523|143523|989898|1|9999043523|MR|Test|E|Lead 43523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043524|143524|989898|1|9999043524|MR|Test|E|Lead 43524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043525|143525|989898|1|9999043525|MR|Test|E|Lead 43525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043526|143526|989898|1|9999043526|MR|Test|E|Lead 43526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043527|143527|989898|1|9999043527|MR|Test|E|Lead 43527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043528|143528|989898|1|9999043528|MR|Test|E|Lead 43528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043529|143529|989898|1|9999043529|MR|Test|E|Lead 43529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043530|143530|989898|1|9999043530|MR|Test|E|Lead 43530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043531|143531|989898|1|9999043531|MR|Test|E|Lead 43531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043532|143532|989898|1|9999043532|MR|Test|E|Lead 43532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043533|143533|989898|1|9999043533|MR|Test|E|Lead 43533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043534|143534|989898|1|9999043534|MR|Test|E|Lead 43534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043535|143535|989898|1|9999043535|MR|Test|E|Lead 43535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043536|143536|989898|1|9999043536|MR|Test|E|Lead 43536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043537|143537|989898|1|9999043537|MR|Test|E|Lead 43537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043538|143538|989898|1|9999043538|MR|Test|E|Lead 43538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043539|143539|989898|1|9999043539|MR|Test|E|Lead 43539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043540|143540|989898|1|9999043540|MR|Test|E|Lead 43540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043541|143541|989898|1|9999043541|MR|Test|E|Lead 43541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043542|143542|989898|1|9999043542|MR|Test|E|Lead 43542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043543|143543|989898|1|9999043543|MR|Test|E|Lead 43543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043544|143544|989898|1|9999043544|MR|Test|E|Lead 43544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043545|143545|989898|1|9999043545|MR|Test|E|Lead 43545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043546|143546|989898|1|9999043546|MR|Test|E|Lead 43546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043547|143547|989898|1|9999043547|MR|Test|E|Lead 43547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043548|143548|989898|1|9999043548|MR|Test|E|Lead 43548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043549|143549|989898|1|9999043549|MR|Test|E|Lead 43549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043550|143550|989898|1|9999043550|MR|Test|E|Lead 43550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043551|143551|989898|1|9999043551|MR|Test|E|Lead 43551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043552|143552|989898|1|9999043552|MR|Test|E|Lead 43552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043553|143553|989898|1|9999043553|MR|Test|E|Lead 43553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043554|143554|989898|1|9999043554|MR|Test|E|Lead 43554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043555|143555|989898|1|9999043555|MR|Test|E|Lead 43555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043556|143556|989898|1|9999043556|MR|Test|E|Lead 43556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043557|143557|989898|1|9999043557|MR|Test|E|Lead 43557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043558|143558|989898|1|9999043558|MR|Test|E|Lead 43558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043559|143559|989898|1|9999043559|MR|Test|E|Lead 43559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043560|143560|989898|1|9999043560|MR|Test|E|Lead 43560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043561|143561|989898|1|9999043561|MR|Test|E|Lead 43561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043562|143562|989898|1|9999043562|MR|Test|E|Lead 43562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043563|143563|989898|1|9999043563|MR|Test|E|Lead 43563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043564|143564|989898|1|9999043564|MR|Test|E|Lead 43564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043565|143565|989898|1|9999043565|MR|Test|E|Lead 43565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043566|143566|989898|1|9999043566|MR|Test|E|Lead 43566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043567|143567|989898|1|9999043567|MR|Test|E|Lead 43567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043568|143568|989898|1|9999043568|MR|Test|E|Lead 43568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043569|143569|989898|1|9999043569|MR|Test|E|Lead 43569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043570|143570|989898|1|9999043570|MR|Test|E|Lead 43570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043571|143571|989898|1|9999043571|MR|Test|E|Lead 43571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043572|143572|989898|1|9999043572|MR|Test|E|Lead 43572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043573|143573|989898|1|9999043573|MR|Test|E|Lead 43573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043574|143574|989898|1|9999043574|MR|Test|E|Lead 43574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043575|143575|989898|1|9999043575|MR|Test|E|Lead 43575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043576|143576|989898|1|9999043576|MR|Test|E|Lead 43576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043577|143577|989898|1|9999043577|MR|Test|E|Lead 43577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043578|143578|989898|1|9999043578|MR|Test|E|Lead 43578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043579|143579|989898|1|9999043579|MR|Test|E|Lead 43579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043580|143580|989898|1|9999043580|MR|Test|E|Lead 43580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043581|143581|989898|1|9999043581|MR|Test|E|Lead 43581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043582|143582|989898|1|9999043582|MR|Test|E|Lead 43582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043583|143583|989898|1|9999043583|MR|Test|E|Lead 43583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043584|143584|989898|1|9999043584|MR|Test|E|Lead 43584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043585|143585|989898|1|9999043585|MR|Test|E|Lead 43585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043586|143586|989898|1|9999043586|MR|Test|E|Lead 43586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043587|143587|989898|1|9999043587|MR|Test|E|Lead 43587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043588|143588|989898|1|9999043588|MR|Test|E|Lead 43588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043589|143589|989898|1|9999043589|MR|Test|E|Lead 43589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043590|143590|989898|1|9999043590|MR|Test|E|Lead 43590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043591|143591|989898|1|9999043591|MR|Test|E|Lead 43591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043592|143592|989898|1|9999043592|MR|Test|E|Lead 43592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043593|143593|989898|1|9999043593|MR|Test|E|Lead 43593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043594|143594|989898|1|9999043594|MR|Test|E|Lead 43594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043595|143595|989898|1|9999043595|MR|Test|E|Lead 43595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043596|143596|989898|1|9999043596|MR|Test|E|Lead 43596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043597|143597|989898|1|9999043597|MR|Test|E|Lead 43597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043598|143598|989898|1|9999043598|MR|Test|E|Lead 43598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043599|143599|989898|1|9999043599|MR|Test|E|Lead 43599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043600|143600|989898|1|9999043600|MR|Test|E|Lead 43600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043601|143601|989898|1|9999043601|MR|Test|E|Lead 43601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043602|143602|989898|1|9999043602|MR|Test|E|Lead 43602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043603|143603|989898|1|9999043603|MR|Test|E|Lead 43603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043604|143604|989898|1|9999043604|MR|Test|E|Lead 43604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043605|143605|989898|1|9999043605|MR|Test|E|Lead 43605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043606|143606|989898|1|9999043606|MR|Test|E|Lead 43606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043607|143607|989898|1|9999043607|MR|Test|E|Lead 43607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043608|143608|989898|1|9999043608|MR|Test|E|Lead 43608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043609|143609|989898|1|9999043609|MR|Test|E|Lead 43609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043610|143610|989898|1|9999043610|MR|Test|E|Lead 43610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043611|143611|989898|1|9999043611|MR|Test|E|Lead 43611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043612|143612|989898|1|9999043612|MR|Test|E|Lead 43612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043613|143613|989898|1|9999043613|MR|Test|E|Lead 43613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043614|143614|989898|1|9999043614|MR|Test|E|Lead 43614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043615|143615|989898|1|9999043615|MR|Test|E|Lead 43615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043616|143616|989898|1|9999043616|MR|Test|E|Lead 43616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043617|143617|989898|1|9999043617|MR|Test|E|Lead 43617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043618|143618|989898|1|9999043618|MR|Test|E|Lead 43618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043619|143619|989898|1|9999043619|MR|Test|E|Lead 43619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043620|143620|989898|1|9999043620|MR|Test|E|Lead 43620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043621|143621|989898|1|9999043621|MR|Test|E|Lead 43621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043622|143622|989898|1|9999043622|MR|Test|E|Lead 43622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043623|143623|989898|1|9999043623|MR|Test|E|Lead 43623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043624|143624|989898|1|9999043624|MR|Test|E|Lead 43624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043625|143625|989898|1|9999043625|MR|Test|E|Lead 43625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043626|143626|989898|1|9999043626|MR|Test|E|Lead 43626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043627|143627|989898|1|9999043627|MR|Test|E|Lead 43627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043628|143628|989898|1|9999043628|MR|Test|E|Lead 43628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043629|143629|989898|1|9999043629|MR|Test|E|Lead 43629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043630|143630|989898|1|9999043630|MR|Test|E|Lead 43630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043631|143631|989898|1|9999043631|MR|Test|E|Lead 43631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043632|143632|989898|1|9999043632|MR|Test|E|Lead 43632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043633|143633|989898|1|9999043633|MR|Test|E|Lead 43633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043634|143634|989898|1|9999043634|MR|Test|E|Lead 43634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043635|143635|989898|1|9999043635|MR|Test|E|Lead 43635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043636|143636|989898|1|9999043636|MR|Test|E|Lead 43636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043637|143637|989898|1|9999043637|MR|Test|E|Lead 43637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043638|143638|989898|1|9999043638|MR|Test|E|Lead 43638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043639|143639|989898|1|9999043639|MR|Test|E|Lead 43639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043640|143640|989898|1|9999043640|MR|Test|E|Lead 43640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043641|143641|989898|1|9999043641|MR|Test|E|Lead 43641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043642|143642|989898|1|9999043642|MR|Test|E|Lead 43642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043643|143643|989898|1|9999043643|MR|Test|E|Lead 43643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043644|143644|989898|1|9999043644|MR|Test|E|Lead 43644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043645|143645|989898|1|9999043645|MR|Test|E|Lead 43645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043646|143646|989898|1|9999043646|MR|Test|E|Lead 43646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043647|143647|989898|1|9999043647|MR|Test|E|Lead 43647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043648|143648|989898|1|9999043648|MR|Test|E|Lead 43648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043649|143649|989898|1|9999043649|MR|Test|E|Lead 43649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043650|143650|989898|1|9999043650|MR|Test|E|Lead 43650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043651|143651|989898|1|9999043651|MR|Test|E|Lead 43651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043652|143652|989898|1|9999043652|MR|Test|E|Lead 43652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043653|143653|989898|1|9999043653|MR|Test|E|Lead 43653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043654|143654|989898|1|9999043654|MR|Test|E|Lead 43654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043655|143655|989898|1|9999043655|MR|Test|E|Lead 43655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043656|143656|989898|1|9999043656|MR|Test|E|Lead 43656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043657|143657|989898|1|9999043657|MR|Test|E|Lead 43657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043658|143658|989898|1|9999043658|MR|Test|E|Lead 43658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043659|143659|989898|1|9999043659|MR|Test|E|Lead 43659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043660|143660|989898|1|9999043660|MR|Test|E|Lead 43660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043661|143661|989898|1|9999043661|MR|Test|E|Lead 43661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043662|143662|989898|1|9999043662|MR|Test|E|Lead 43662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043663|143663|989898|1|9999043663|MR|Test|E|Lead 43663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043664|143664|989898|1|9999043664|MR|Test|E|Lead 43664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043665|143665|989898|1|9999043665|MR|Test|E|Lead 43665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043666|143666|989898|1|9999043666|MR|Test|E|Lead 43666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043667|143667|989898|1|9999043667|MR|Test|E|Lead 43667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043668|143668|989898|1|9999043668|MR|Test|E|Lead 43668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043669|143669|989898|1|9999043669|MR|Test|E|Lead 43669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043670|143670|989898|1|9999043670|MR|Test|E|Lead 43670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043671|143671|989898|1|9999043671|MR|Test|E|Lead 43671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043672|143672|989898|1|9999043672|MR|Test|E|Lead 43672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043673|143673|989898|1|9999043673|MR|Test|E|Lead 43673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043674|143674|989898|1|9999043674|MR|Test|E|Lead 43674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043675|143675|989898|1|9999043675|MR|Test|E|Lead 43675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043676|143676|989898|1|9999043676|MR|Test|E|Lead 43676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043677|143677|989898|1|9999043677|MR|Test|E|Lead 43677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043678|143678|989898|1|9999043678|MR|Test|E|Lead 43678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043679|143679|989898|1|9999043679|MR|Test|E|Lead 43679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043680|143680|989898|1|9999043680|MR|Test|E|Lead 43680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043681|143681|989898|1|9999043681|MR|Test|E|Lead 43681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043682|143682|989898|1|9999043682|MR|Test|E|Lead 43682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043683|143683|989898|1|9999043683|MR|Test|E|Lead 43683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043684|143684|989898|1|9999043684|MR|Test|E|Lead 43684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043685|143685|989898|1|9999043685|MR|Test|E|Lead 43685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043686|143686|989898|1|9999043686|MR|Test|E|Lead 43686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043687|143687|989898|1|9999043687|MR|Test|E|Lead 43687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043688|143688|989898|1|9999043688|MR|Test|E|Lead 43688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043689|143689|989898|1|9999043689|MR|Test|E|Lead 43689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043690|143690|989898|1|9999043690|MR|Test|E|Lead 43690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043691|143691|989898|1|9999043691|MR|Test|E|Lead 43691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043692|143692|989898|1|9999043692|MR|Test|E|Lead 43692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043693|143693|989898|1|9999043693|MR|Test|E|Lead 43693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043694|143694|989898|1|9999043694|MR|Test|E|Lead 43694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043695|143695|989898|1|9999043695|MR|Test|E|Lead 43695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043696|143696|989898|1|9999043696|MR|Test|E|Lead 43696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043697|143697|989898|1|9999043697|MR|Test|E|Lead 43697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043698|143698|989898|1|9999043698|MR|Test|E|Lead 43698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043699|143699|989898|1|9999043699|MR|Test|E|Lead 43699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043700|143700|989898|1|9999043700|MR|Test|E|Lead 43700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043701|143701|989898|1|9999043701|MR|Test|E|Lead 43701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043702|143702|989898|1|9999043702|MR|Test|E|Lead 43702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043703|143703|989898|1|9999043703|MR|Test|E|Lead 43703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043704|143704|989898|1|9999043704|MR|Test|E|Lead 43704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043705|143705|989898|1|9999043705|MR|Test|E|Lead 43705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043706|143706|989898|1|9999043706|MR|Test|E|Lead 43706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043707|143707|989898|1|9999043707|MR|Test|E|Lead 43707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043708|143708|989898|1|9999043708|MR|Test|E|Lead 43708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043709|143709|989898|1|9999043709|MR|Test|E|Lead 43709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043710|143710|989898|1|9999043710|MR|Test|E|Lead 43710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043711|143711|989898|1|9999043711|MR|Test|E|Lead 43711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043712|143712|989898|1|9999043712|MR|Test|E|Lead 43712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043713|143713|989898|1|9999043713|MR|Test|E|Lead 43713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043714|143714|989898|1|9999043714|MR|Test|E|Lead 43714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043715|143715|989898|1|9999043715|MR|Test|E|Lead 43715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043716|143716|989898|1|9999043716|MR|Test|E|Lead 43716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043717|143717|989898|1|9999043717|MR|Test|E|Lead 43717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043718|143718|989898|1|9999043718|MR|Test|E|Lead 43718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043719|143719|989898|1|9999043719|MR|Test|E|Lead 43719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043720|143720|989898|1|9999043720|MR|Test|E|Lead 43720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043721|143721|989898|1|9999043721|MR|Test|E|Lead 43721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043722|143722|989898|1|9999043722|MR|Test|E|Lead 43722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043723|143723|989898|1|9999043723|MR|Test|E|Lead 43723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043724|143724|989898|1|9999043724|MR|Test|E|Lead 43724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043725|143725|989898|1|9999043725|MR|Test|E|Lead 43725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043726|143726|989898|1|9999043726|MR|Test|E|Lead 43726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043727|143727|989898|1|9999043727|MR|Test|E|Lead 43727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043728|143728|989898|1|9999043728|MR|Test|E|Lead 43728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043729|143729|989898|1|9999043729|MR|Test|E|Lead 43729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043730|143730|989898|1|9999043730|MR|Test|E|Lead 43730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043731|143731|989898|1|9999043731|MR|Test|E|Lead 43731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043732|143732|989898|1|9999043732|MR|Test|E|Lead 43732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043733|143733|989898|1|9999043733|MR|Test|E|Lead 43733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043734|143734|989898|1|9999043734|MR|Test|E|Lead 43734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043735|143735|989898|1|9999043735|MR|Test|E|Lead 43735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043736|143736|989898|1|9999043736|MR|Test|E|Lead 43736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043737|143737|989898|1|9999043737|MR|Test|E|Lead 43737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043738|143738|989898|1|9999043738|MR|Test|E|Lead 43738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043739|143739|989898|1|9999043739|MR|Test|E|Lead 43739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043740|143740|989898|1|9999043740|MR|Test|E|Lead 43740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043741|143741|989898|1|9999043741|MR|Test|E|Lead 43741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043742|143742|989898|1|9999043742|MR|Test|E|Lead 43742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043743|143743|989898|1|9999043743|MR|Test|E|Lead 43743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043744|143744|989898|1|9999043744|MR|Test|E|Lead 43744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043745|143745|989898|1|9999043745|MR|Test|E|Lead 43745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043746|143746|989898|1|9999043746|MR|Test|E|Lead 43746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043747|143747|989898|1|9999043747|MR|Test|E|Lead 43747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043748|143748|989898|1|9999043748|MR|Test|E|Lead 43748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043749|143749|989898|1|9999043749|MR|Test|E|Lead 43749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043750|143750|989898|1|9999043750|MR|Test|E|Lead 43750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043751|143751|989898|1|9999043751|MR|Test|E|Lead 43751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043752|143752|989898|1|9999043752|MR|Test|E|Lead 43752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043753|143753|989898|1|9999043753|MR|Test|E|Lead 43753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043754|143754|989898|1|9999043754|MR|Test|E|Lead 43754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043755|143755|989898|1|9999043755|MR|Test|E|Lead 43755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043756|143756|989898|1|9999043756|MR|Test|E|Lead 43756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043757|143757|989898|1|9999043757|MR|Test|E|Lead 43757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043758|143758|989898|1|9999043758|MR|Test|E|Lead 43758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043759|143759|989898|1|9999043759|MR|Test|E|Lead 43759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043760|143760|989898|1|9999043760|MR|Test|E|Lead 43760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043761|143761|989898|1|9999043761|MR|Test|E|Lead 43761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043762|143762|989898|1|9999043762|MR|Test|E|Lead 43762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043763|143763|989898|1|9999043763|MR|Test|E|Lead 43763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043764|143764|989898|1|9999043764|MR|Test|E|Lead 43764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043765|143765|989898|1|9999043765|MR|Test|E|Lead 43765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043766|143766|989898|1|9999043766|MR|Test|E|Lead 43766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043767|143767|989898|1|9999043767|MR|Test|E|Lead 43767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043768|143768|989898|1|9999043768|MR|Test|E|Lead 43768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043769|143769|989898|1|9999043769|MR|Test|E|Lead 43769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043770|143770|989898|1|9999043770|MR|Test|E|Lead 43770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043771|143771|989898|1|9999043771|MR|Test|E|Lead 43771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043772|143772|989898|1|9999043772|MR|Test|E|Lead 43772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043773|143773|989898|1|9999043773|MR|Test|E|Lead 43773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043774|143774|989898|1|9999043774|MR|Test|E|Lead 43774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043775|143775|989898|1|9999043775|MR|Test|E|Lead 43775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043776|143776|989898|1|9999043776|MR|Test|E|Lead 43776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043777|143777|989898|1|9999043777|MR|Test|E|Lead 43777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043778|143778|989898|1|9999043778|MR|Test|E|Lead 43778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043779|143779|989898|1|9999043779|MR|Test|E|Lead 43779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043780|143780|989898|1|9999043780|MR|Test|E|Lead 43780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043781|143781|989898|1|9999043781|MR|Test|E|Lead 43781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043782|143782|989898|1|9999043782|MR|Test|E|Lead 43782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043783|143783|989898|1|9999043783|MR|Test|E|Lead 43783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043784|143784|989898|1|9999043784|MR|Test|E|Lead 43784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043785|143785|989898|1|9999043785|MR|Test|E|Lead 43785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043786|143786|989898|1|9999043786|MR|Test|E|Lead 43786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043787|143787|989898|1|9999043787|MR|Test|E|Lead 43787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043788|143788|989898|1|9999043788|MR|Test|E|Lead 43788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043789|143789|989898|1|9999043789|MR|Test|E|Lead 43789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043790|143790|989898|1|9999043790|MR|Test|E|Lead 43790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043791|143791|989898|1|9999043791|MR|Test|E|Lead 43791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043792|143792|989898|1|9999043792|MR|Test|E|Lead 43792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043793|143793|989898|1|9999043793|MR|Test|E|Lead 43793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043794|143794|989898|1|9999043794|MR|Test|E|Lead 43794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043795|143795|989898|1|9999043795|MR|Test|E|Lead 43795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043796|143796|989898|1|9999043796|MR|Test|E|Lead 43796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043797|143797|989898|1|9999043797|MR|Test|E|Lead 43797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043798|143798|989898|1|9999043798|MR|Test|E|Lead 43798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043799|143799|989898|1|9999043799|MR|Test|E|Lead 43799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043800|143800|989898|1|9999043800|MR|Test|E|Lead 43800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043801|143801|989898|1|9999043801|MR|Test|E|Lead 43801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043802|143802|989898|1|9999043802|MR|Test|E|Lead 43802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043803|143803|989898|1|9999043803|MR|Test|E|Lead 43803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043804|143804|989898|1|9999043804|MR|Test|E|Lead 43804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043805|143805|989898|1|9999043805|MR|Test|E|Lead 43805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043806|143806|989898|1|9999043806|MR|Test|E|Lead 43806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043807|143807|989898|1|9999043807|MR|Test|E|Lead 43807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043808|143808|989898|1|9999043808|MR|Test|E|Lead 43808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043809|143809|989898|1|9999043809|MR|Test|E|Lead 43809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043810|143810|989898|1|9999043810|MR|Test|E|Lead 43810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043811|143811|989898|1|9999043811|MR|Test|E|Lead 43811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043812|143812|989898|1|9999043812|MR|Test|E|Lead 43812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043813|143813|989898|1|9999043813|MR|Test|E|Lead 43813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043814|143814|989898|1|9999043814|MR|Test|E|Lead 43814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043815|143815|989898|1|9999043815|MR|Test|E|Lead 43815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043816|143816|989898|1|9999043816|MR|Test|E|Lead 43816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043817|143817|989898|1|9999043817|MR|Test|E|Lead 43817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043818|143818|989898|1|9999043818|MR|Test|E|Lead 43818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043819|143819|989898|1|9999043819|MR|Test|E|Lead 43819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043820|143820|989898|1|9999043820|MR|Test|E|Lead 43820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043821|143821|989898|1|9999043821|MR|Test|E|Lead 43821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043822|143822|989898|1|9999043822|MR|Test|E|Lead 43822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043823|143823|989898|1|9999043823|MR|Test|E|Lead 43823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043824|143824|989898|1|9999043824|MR|Test|E|Lead 43824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043825|143825|989898|1|9999043825|MR|Test|E|Lead 43825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043826|143826|989898|1|9999043826|MR|Test|E|Lead 43826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043827|143827|989898|1|9999043827|MR|Test|E|Lead 43827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043828|143828|989898|1|9999043828|MR|Test|E|Lead 43828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043829|143829|989898|1|9999043829|MR|Test|E|Lead 43829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043830|143830|989898|1|9999043830|MR|Test|E|Lead 43830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043831|143831|989898|1|9999043831|MR|Test|E|Lead 43831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043832|143832|989898|1|9999043832|MR|Test|E|Lead 43832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043833|143833|989898|1|9999043833|MR|Test|E|Lead 43833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043834|143834|989898|1|9999043834|MR|Test|E|Lead 43834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043835|143835|989898|1|9999043835|MR|Test|E|Lead 43835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043836|143836|989898|1|9999043836|MR|Test|E|Lead 43836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043837|143837|989898|1|9999043837|MR|Test|E|Lead 43837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043838|143838|989898|1|9999043838|MR|Test|E|Lead 43838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043839|143839|989898|1|9999043839|MR|Test|E|Lead 43839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043840|143840|989898|1|9999043840|MR|Test|E|Lead 43840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043841|143841|989898|1|9999043841|MR|Test|E|Lead 43841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043842|143842|989898|1|9999043842|MR|Test|E|Lead 43842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043843|143843|989898|1|9999043843|MR|Test|E|Lead 43843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043844|143844|989898|1|9999043844|MR|Test|E|Lead 43844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043845|143845|989898|1|9999043845|MR|Test|E|Lead 43845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043846|143846|989898|1|9999043846|MR|Test|E|Lead 43846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043847|143847|989898|1|9999043847|MR|Test|E|Lead 43847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043848|143848|989898|1|9999043848|MR|Test|E|Lead 43848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043849|143849|989898|1|9999043849|MR|Test|E|Lead 43849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043850|143850|989898|1|9999043850|MR|Test|E|Lead 43850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043851|143851|989898|1|9999043851|MR|Test|E|Lead 43851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043852|143852|989898|1|9999043852|MR|Test|E|Lead 43852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043853|143853|989898|1|9999043853|MR|Test|E|Lead 43853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043854|143854|989898|1|9999043854|MR|Test|E|Lead 43854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043855|143855|989898|1|9999043855|MR|Test|E|Lead 43855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043856|143856|989898|1|9999043856|MR|Test|E|Lead 43856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043857|143857|989898|1|9999043857|MR|Test|E|Lead 43857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043858|143858|989898|1|9999043858|MR|Test|E|Lead 43858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043859|143859|989898|1|9999043859|MR|Test|E|Lead 43859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043860|143860|989898|1|9999043860|MR|Test|E|Lead 43860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043861|143861|989898|1|9999043861|MR|Test|E|Lead 43861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043862|143862|989898|1|9999043862|MR|Test|E|Lead 43862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043863|143863|989898|1|9999043863|MR|Test|E|Lead 43863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043864|143864|989898|1|9999043864|MR|Test|E|Lead 43864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043865|143865|989898|1|9999043865|MR|Test|E|Lead 43865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043866|143866|989898|1|9999043866|MR|Test|E|Lead 43866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043867|143867|989898|1|9999043867|MR|Test|E|Lead 43867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043868|143868|989898|1|9999043868|MR|Test|E|Lead 43868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043869|143869|989898|1|9999043869|MR|Test|E|Lead 43869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043870|143870|989898|1|9999043870|MR|Test|E|Lead 43870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043871|143871|989898|1|9999043871|MR|Test|E|Lead 43871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043872|143872|989898|1|9999043872|MR|Test|E|Lead 43872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043873|143873|989898|1|9999043873|MR|Test|E|Lead 43873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043874|143874|989898|1|9999043874|MR|Test|E|Lead 43874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043875|143875|989898|1|9999043875|MR|Test|E|Lead 43875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043876|143876|989898|1|9999043876|MR|Test|E|Lead 43876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043877|143877|989898|1|9999043877|MR|Test|E|Lead 43877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043878|143878|989898|1|9999043878|MR|Test|E|Lead 43878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043879|143879|989898|1|9999043879|MR|Test|E|Lead 43879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043880|143880|989898|1|9999043880|MR|Test|E|Lead 43880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043881|143881|989898|1|9999043881|MR|Test|E|Lead 43881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043882|143882|989898|1|9999043882|MR|Test|E|Lead 43882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043883|143883|989898|1|9999043883|MR|Test|E|Lead 43883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043884|143884|989898|1|9999043884|MR|Test|E|Lead 43884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043885|143885|989898|1|9999043885|MR|Test|E|Lead 43885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043886|143886|989898|1|9999043886|MR|Test|E|Lead 43886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043887|143887|989898|1|9999043887|MR|Test|E|Lead 43887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043888|143888|989898|1|9999043888|MR|Test|E|Lead 43888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043889|143889|989898|1|9999043889|MR|Test|E|Lead 43889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043890|143890|989898|1|9999043890|MR|Test|E|Lead 43890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043891|143891|989898|1|9999043891|MR|Test|E|Lead 43891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043892|143892|989898|1|9999043892|MR|Test|E|Lead 43892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043893|143893|989898|1|9999043893|MR|Test|E|Lead 43893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043894|143894|989898|1|9999043894|MR|Test|E|Lead 43894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043895|143895|989898|1|9999043895|MR|Test|E|Lead 43895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043896|143896|989898|1|9999043896|MR|Test|E|Lead 43896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043897|143897|989898|1|9999043897|MR|Test|E|Lead 43897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043898|143898|989898|1|9999043898|MR|Test|E|Lead 43898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043899|143899|989898|1|9999043899|MR|Test|E|Lead 43899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043900|143900|989898|1|9999043900|MR|Test|E|Lead 43900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043901|143901|989898|1|9999043901|MR|Test|E|Lead 43901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043902|143902|989898|1|9999043902|MR|Test|E|Lead 43902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043903|143903|989898|1|9999043903|MR|Test|E|Lead 43903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043904|143904|989898|1|9999043904|MR|Test|E|Lead 43904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043905|143905|989898|1|9999043905|MR|Test|E|Lead 43905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043906|143906|989898|1|9999043906|MR|Test|E|Lead 43906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043907|143907|989898|1|9999043907|MR|Test|E|Lead 43907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043908|143908|989898|1|9999043908|MR|Test|E|Lead 43908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043909|143909|989898|1|9999043909|MR|Test|E|Lead 43909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043910|143910|989898|1|9999043910|MR|Test|E|Lead 43910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043911|143911|989898|1|9999043911|MR|Test|E|Lead 43911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043912|143912|989898|1|9999043912|MR|Test|E|Lead 43912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043913|143913|989898|1|9999043913|MR|Test|E|Lead 43913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043914|143914|989898|1|9999043914|MR|Test|E|Lead 43914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043915|143915|989898|1|9999043915|MR|Test|E|Lead 43915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043916|143916|989898|1|9999043916|MR|Test|E|Lead 43916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043917|143917|989898|1|9999043917|MR|Test|E|Lead 43917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043918|143918|989898|1|9999043918|MR|Test|E|Lead 43918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043919|143919|989898|1|9999043919|MR|Test|E|Lead 43919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043920|143920|989898|1|9999043920|MR|Test|E|Lead 43920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043921|143921|989898|1|9999043921|MR|Test|E|Lead 43921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043922|143922|989898|1|9999043922|MR|Test|E|Lead 43922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043923|143923|989898|1|9999043923|MR|Test|E|Lead 43923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043924|143924|989898|1|9999043924|MR|Test|E|Lead 43924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043925|143925|989898|1|9999043925|MR|Test|E|Lead 43925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043926|143926|989898|1|9999043926|MR|Test|E|Lead 43926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043927|143927|989898|1|9999043927|MR|Test|E|Lead 43927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043928|143928|989898|1|9999043928|MR|Test|E|Lead 43928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043929|143929|989898|1|9999043929|MR|Test|E|Lead 43929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043930|143930|989898|1|9999043930|MR|Test|E|Lead 43930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043931|143931|989898|1|9999043931|MR|Test|E|Lead 43931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043932|143932|989898|1|9999043932|MR|Test|E|Lead 43932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043933|143933|989898|1|9999043933|MR|Test|E|Lead 43933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043934|143934|989898|1|9999043934|MR|Test|E|Lead 43934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043935|143935|989898|1|9999043935|MR|Test|E|Lead 43935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043936|143936|989898|1|9999043936|MR|Test|E|Lead 43936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043937|143937|989898|1|9999043937|MR|Test|E|Lead 43937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043938|143938|989898|1|9999043938|MR|Test|E|Lead 43938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043939|143939|989898|1|9999043939|MR|Test|E|Lead 43939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043940|143940|989898|1|9999043940|MR|Test|E|Lead 43940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043941|143941|989898|1|9999043941|MR|Test|E|Lead 43941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043942|143942|989898|1|9999043942|MR|Test|E|Lead 43942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043943|143943|989898|1|9999043943|MR|Test|E|Lead 43943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043944|143944|989898|1|9999043944|MR|Test|E|Lead 43944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043945|143945|989898|1|9999043945|MR|Test|E|Lead 43945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043946|143946|989898|1|9999043946|MR|Test|E|Lead 43946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043947|143947|989898|1|9999043947|MR|Test|E|Lead 43947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043948|143948|989898|1|9999043948|MR|Test|E|Lead 43948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043949|143949|989898|1|9999043949|MR|Test|E|Lead 43949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043950|143950|989898|1|9999043950|MR|Test|E|Lead 43950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043951|143951|989898|1|9999043951|MR|Test|E|Lead 43951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043952|143952|989898|1|9999043952|MR|Test|E|Lead 43952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043953|143953|989898|1|9999043953|MR|Test|E|Lead 43953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043954|143954|989898|1|9999043954|MR|Test|E|Lead 43954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043955|143955|989898|1|9999043955|MR|Test|E|Lead 43955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043956|143956|989898|1|9999043956|MR|Test|E|Lead 43956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043957|143957|989898|1|9999043957|MR|Test|E|Lead 43957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043958|143958|989898|1|9999043958|MR|Test|E|Lead 43958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043959|143959|989898|1|9999043959|MR|Test|E|Lead 43959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043960|143960|989898|1|9999043960|MR|Test|E|Lead 43960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043961|143961|989898|1|9999043961|MR|Test|E|Lead 43961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043962|143962|989898|1|9999043962|MR|Test|E|Lead 43962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043963|143963|989898|1|9999043963|MR|Test|E|Lead 43963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043964|143964|989898|1|9999043964|MR|Test|E|Lead 43964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043965|143965|989898|1|9999043965|MR|Test|E|Lead 43965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043966|143966|989898|1|9999043966|MR|Test|E|Lead 43966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043967|143967|989898|1|9999043967|MR|Test|E|Lead 43967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043968|143968|989898|1|9999043968|MR|Test|E|Lead 43968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043969|143969|989898|1|9999043969|MR|Test|E|Lead 43969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043970|143970|989898|1|9999043970|MR|Test|E|Lead 43970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043971|143971|989898|1|9999043971|MR|Test|E|Lead 43971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043972|143972|989898|1|9999043972|MR|Test|E|Lead 43972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043973|143973|989898|1|9999043973|MR|Test|E|Lead 43973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043974|143974|989898|1|9999043974|MR|Test|E|Lead 43974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043975|143975|989898|1|9999043975|MR|Test|E|Lead 43975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043976|143976|989898|1|9999043976|MR|Test|E|Lead 43976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043977|143977|989898|1|9999043977|MR|Test|E|Lead 43977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043978|143978|989898|1|9999043978|MR|Test|E|Lead 43978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043979|143979|989898|1|9999043979|MR|Test|E|Lead 43979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043980|143980|989898|1|9999043980|MR|Test|E|Lead 43980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043981|143981|989898|1|9999043981|MR|Test|E|Lead 43981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043982|143982|989898|1|9999043982|MR|Test|E|Lead 43982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043983|143983|989898|1|9999043983|MR|Test|E|Lead 43983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043984|143984|989898|1|9999043984|MR|Test|E|Lead 43984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043985|143985|989898|1|9999043985|MR|Test|E|Lead 43985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043986|143986|989898|1|9999043986|MR|Test|E|Lead 43986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043987|143987|989898|1|9999043987|MR|Test|E|Lead 43987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043988|143988|989898|1|9999043988|MR|Test|E|Lead 43988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043989|143989|989898|1|9999043989|MR|Test|E|Lead 43989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043990|143990|989898|1|9999043990|MR|Test|E|Lead 43990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043991|143991|989898|1|9999043991|MR|Test|E|Lead 43991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043992|143992|989898|1|9999043992|MR|Test|E|Lead 43992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043993|143993|989898|1|9999043993|MR|Test|E|Lead 43993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043994|143994|989898|1|9999043994|MR|Test|E|Lead 43994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043995|143995|989898|1|9999043995|MR|Test|E|Lead 43995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043996|143996|989898|1|9999043996|MR|Test|E|Lead 43996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043997|143997|989898|1|9999043997|MR|Test|E|Lead 43997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043998|143998|989898|1|9999043998|MR|Test|E|Lead 43998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1043999|143999|989898|1|9999043999|MR|Test|E|Lead 43999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044000|144000|989898|1|9999044000|MR|Test|E|Lead 44000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044001|144001|989898|1|9999044001|MR|Test|E|Lead 44001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044002|144002|989898|1|9999044002|MR|Test|E|Lead 44002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044003|144003|989898|1|9999044003|MR|Test|E|Lead 44003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044004|144004|989898|1|9999044004|MR|Test|E|Lead 44004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044005|144005|989898|1|9999044005|MR|Test|E|Lead 44005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044006|144006|989898|1|9999044006|MR|Test|E|Lead 44006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044007|144007|989898|1|9999044007|MR|Test|E|Lead 44007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044008|144008|989898|1|9999044008|MR|Test|E|Lead 44008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044009|144009|989898|1|9999044009|MR|Test|E|Lead 44009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044010|144010|989898|1|9999044010|MR|Test|E|Lead 44010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044011|144011|989898|1|9999044011|MR|Test|E|Lead 44011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044012|144012|989898|1|9999044012|MR|Test|E|Lead 44012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044013|144013|989898|1|9999044013|MR|Test|E|Lead 44013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044014|144014|989898|1|9999044014|MR|Test|E|Lead 44014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044015|144015|989898|1|9999044015|MR|Test|E|Lead 44015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044016|144016|989898|1|9999044016|MR|Test|E|Lead 44016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044017|144017|989898|1|9999044017|MR|Test|E|Lead 44017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044018|144018|989898|1|9999044018|MR|Test|E|Lead 44018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044019|144019|989898|1|9999044019|MR|Test|E|Lead 44019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044020|144020|989898|1|9999044020|MR|Test|E|Lead 44020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044021|144021|989898|1|9999044021|MR|Test|E|Lead 44021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044022|144022|989898|1|9999044022|MR|Test|E|Lead 44022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044023|144023|989898|1|9999044023|MR|Test|E|Lead 44023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044024|144024|989898|1|9999044024|MR|Test|E|Lead 44024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044025|144025|989898|1|9999044025|MR|Test|E|Lead 44025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044026|144026|989898|1|9999044026|MR|Test|E|Lead 44026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044027|144027|989898|1|9999044027|MR|Test|E|Lead 44027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044028|144028|989898|1|9999044028|MR|Test|E|Lead 44028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044029|144029|989898|1|9999044029|MR|Test|E|Lead 44029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044030|144030|989898|1|9999044030|MR|Test|E|Lead 44030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044031|144031|989898|1|9999044031|MR|Test|E|Lead 44031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044032|144032|989898|1|9999044032|MR|Test|E|Lead 44032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044033|144033|989898|1|9999044033|MR|Test|E|Lead 44033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044034|144034|989898|1|9999044034|MR|Test|E|Lead 44034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044035|144035|989898|1|9999044035|MR|Test|E|Lead 44035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044036|144036|989898|1|9999044036|MR|Test|E|Lead 44036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044037|144037|989898|1|9999044037|MR|Test|E|Lead 44037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044038|144038|989898|1|9999044038|MR|Test|E|Lead 44038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044039|144039|989898|1|9999044039|MR|Test|E|Lead 44039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044040|144040|989898|1|9999044040|MR|Test|E|Lead 44040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044041|144041|989898|1|9999044041|MR|Test|E|Lead 44041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044042|144042|989898|1|9999044042|MR|Test|E|Lead 44042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044043|144043|989898|1|9999044043|MR|Test|E|Lead 44043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044044|144044|989898|1|9999044044|MR|Test|E|Lead 44044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044045|144045|989898|1|9999044045|MR|Test|E|Lead 44045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044046|144046|989898|1|9999044046|MR|Test|E|Lead 44046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044047|144047|989898|1|9999044047|MR|Test|E|Lead 44047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044048|144048|989898|1|9999044048|MR|Test|E|Lead 44048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044049|144049|989898|1|9999044049|MR|Test|E|Lead 44049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044050|144050|989898|1|9999044050|MR|Test|E|Lead 44050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044051|144051|989898|1|9999044051|MR|Test|E|Lead 44051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044052|144052|989898|1|9999044052|MR|Test|E|Lead 44052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044053|144053|989898|1|9999044053|MR|Test|E|Lead 44053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044054|144054|989898|1|9999044054|MR|Test|E|Lead 44054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044055|144055|989898|1|9999044055|MR|Test|E|Lead 44055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044056|144056|989898|1|9999044056|MR|Test|E|Lead 44056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044057|144057|989898|1|9999044057|MR|Test|E|Lead 44057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044058|144058|989898|1|9999044058|MR|Test|E|Lead 44058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044059|144059|989898|1|9999044059|MR|Test|E|Lead 44059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044060|144060|989898|1|9999044060|MR|Test|E|Lead 44060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044061|144061|989898|1|9999044061|MR|Test|E|Lead 44061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044062|144062|989898|1|9999044062|MR|Test|E|Lead 44062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044063|144063|989898|1|9999044063|MR|Test|E|Lead 44063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044064|144064|989898|1|9999044064|MR|Test|E|Lead 44064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044065|144065|989898|1|9999044065|MR|Test|E|Lead 44065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044066|144066|989898|1|9999044066|MR|Test|E|Lead 44066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044067|144067|989898|1|9999044067|MR|Test|E|Lead 44067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044068|144068|989898|1|9999044068|MR|Test|E|Lead 44068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044069|144069|989898|1|9999044069|MR|Test|E|Lead 44069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044070|144070|989898|1|9999044070|MR|Test|E|Lead 44070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044071|144071|989898|1|9999044071|MR|Test|E|Lead 44071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044072|144072|989898|1|9999044072|MR|Test|E|Lead 44072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044073|144073|989898|1|9999044073|MR|Test|E|Lead 44073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044074|144074|989898|1|9999044074|MR|Test|E|Lead 44074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044075|144075|989898|1|9999044075|MR|Test|E|Lead 44075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044076|144076|989898|1|9999044076|MR|Test|E|Lead 44076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044077|144077|989898|1|9999044077|MR|Test|E|Lead 44077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044078|144078|989898|1|9999044078|MR|Test|E|Lead 44078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044079|144079|989898|1|9999044079|MR|Test|E|Lead 44079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044080|144080|989898|1|9999044080|MR|Test|E|Lead 44080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044081|144081|989898|1|9999044081|MR|Test|E|Lead 44081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044082|144082|989898|1|9999044082|MR|Test|E|Lead 44082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044083|144083|989898|1|9999044083|MR|Test|E|Lead 44083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044084|144084|989898|1|9999044084|MR|Test|E|Lead 44084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044085|144085|989898|1|9999044085|MR|Test|E|Lead 44085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044086|144086|989898|1|9999044086|MR|Test|E|Lead 44086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044087|144087|989898|1|9999044087|MR|Test|E|Lead 44087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044088|144088|989898|1|9999044088|MR|Test|E|Lead 44088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044089|144089|989898|1|9999044089|MR|Test|E|Lead 44089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044090|144090|989898|1|9999044090|MR|Test|E|Lead 44090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044091|144091|989898|1|9999044091|MR|Test|E|Lead 44091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044092|144092|989898|1|9999044092|MR|Test|E|Lead 44092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044093|144093|989898|1|9999044093|MR|Test|E|Lead 44093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044094|144094|989898|1|9999044094|MR|Test|E|Lead 44094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044095|144095|989898|1|9999044095|MR|Test|E|Lead 44095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044096|144096|989898|1|9999044096|MR|Test|E|Lead 44096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044097|144097|989898|1|9999044097|MR|Test|E|Lead 44097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044098|144098|989898|1|9999044098|MR|Test|E|Lead 44098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044099|144099|989898|1|9999044099|MR|Test|E|Lead 44099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044100|144100|989898|1|9999044100|MR|Test|E|Lead 44100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044101|144101|989898|1|9999044101|MR|Test|E|Lead 44101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044102|144102|989898|1|9999044102|MR|Test|E|Lead 44102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044103|144103|989898|1|9999044103|MR|Test|E|Lead 44103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044104|144104|989898|1|9999044104|MR|Test|E|Lead 44104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044105|144105|989898|1|9999044105|MR|Test|E|Lead 44105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044106|144106|989898|1|9999044106|MR|Test|E|Lead 44106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044107|144107|989898|1|9999044107|MR|Test|E|Lead 44107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044108|144108|989898|1|9999044108|MR|Test|E|Lead 44108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044109|144109|989898|1|9999044109|MR|Test|E|Lead 44109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044110|144110|989898|1|9999044110|MR|Test|E|Lead 44110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044111|144111|989898|1|9999044111|MR|Test|E|Lead 44111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044112|144112|989898|1|9999044112|MR|Test|E|Lead 44112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044113|144113|989898|1|9999044113|MR|Test|E|Lead 44113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044114|144114|989898|1|9999044114|MR|Test|E|Lead 44114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044115|144115|989898|1|9999044115|MR|Test|E|Lead 44115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044116|144116|989898|1|9999044116|MR|Test|E|Lead 44116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044117|144117|989898|1|9999044117|MR|Test|E|Lead 44117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044118|144118|989898|1|9999044118|MR|Test|E|Lead 44118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044119|144119|989898|1|9999044119|MR|Test|E|Lead 44119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044120|144120|989898|1|9999044120|MR|Test|E|Lead 44120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044121|144121|989898|1|9999044121|MR|Test|E|Lead 44121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044122|144122|989898|1|9999044122|MR|Test|E|Lead 44122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044123|144123|989898|1|9999044123|MR|Test|E|Lead 44123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044124|144124|989898|1|9999044124|MR|Test|E|Lead 44124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044125|144125|989898|1|9999044125|MR|Test|E|Lead 44125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044126|144126|989898|1|9999044126|MR|Test|E|Lead 44126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044127|144127|989898|1|9999044127|MR|Test|E|Lead 44127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044128|144128|989898|1|9999044128|MR|Test|E|Lead 44128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044129|144129|989898|1|9999044129|MR|Test|E|Lead 44129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044130|144130|989898|1|9999044130|MR|Test|E|Lead 44130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044131|144131|989898|1|9999044131|MR|Test|E|Lead 44131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044132|144132|989898|1|9999044132|MR|Test|E|Lead 44132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044133|144133|989898|1|9999044133|MR|Test|E|Lead 44133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044134|144134|989898|1|9999044134|MR|Test|E|Lead 44134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044135|144135|989898|1|9999044135|MR|Test|E|Lead 44135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044136|144136|989898|1|9999044136|MR|Test|E|Lead 44136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044137|144137|989898|1|9999044137|MR|Test|E|Lead 44137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044138|144138|989898|1|9999044138|MR|Test|E|Lead 44138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044139|144139|989898|1|9999044139|MR|Test|E|Lead 44139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044140|144140|989898|1|9999044140|MR|Test|E|Lead 44140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044141|144141|989898|1|9999044141|MR|Test|E|Lead 44141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044142|144142|989898|1|9999044142|MR|Test|E|Lead 44142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044143|144143|989898|1|9999044143|MR|Test|E|Lead 44143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044144|144144|989898|1|9999044144|MR|Test|E|Lead 44144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044145|144145|989898|1|9999044145|MR|Test|E|Lead 44145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044146|144146|989898|1|9999044146|MR|Test|E|Lead 44146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044147|144147|989898|1|9999044147|MR|Test|E|Lead 44147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044148|144148|989898|1|9999044148|MR|Test|E|Lead 44148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044149|144149|989898|1|9999044149|MR|Test|E|Lead 44149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044150|144150|989898|1|9999044150|MR|Test|E|Lead 44150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044151|144151|989898|1|9999044151|MR|Test|E|Lead 44151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044152|144152|989898|1|9999044152|MR|Test|E|Lead 44152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044153|144153|989898|1|9999044153|MR|Test|E|Lead 44153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044154|144154|989898|1|9999044154|MR|Test|E|Lead 44154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044155|144155|989898|1|9999044155|MR|Test|E|Lead 44155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044156|144156|989898|1|9999044156|MR|Test|E|Lead 44156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044157|144157|989898|1|9999044157|MR|Test|E|Lead 44157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044158|144158|989898|1|9999044158|MR|Test|E|Lead 44158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044159|144159|989898|1|9999044159|MR|Test|E|Lead 44159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044160|144160|989898|1|9999044160|MR|Test|E|Lead 44160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044161|144161|989898|1|9999044161|MR|Test|E|Lead 44161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044162|144162|989898|1|9999044162|MR|Test|E|Lead 44162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044163|144163|989898|1|9999044163|MR|Test|E|Lead 44163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044164|144164|989898|1|9999044164|MR|Test|E|Lead 44164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044165|144165|989898|1|9999044165|MR|Test|E|Lead 44165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044166|144166|989898|1|9999044166|MR|Test|E|Lead 44166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044167|144167|989898|1|9999044167|MR|Test|E|Lead 44167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044168|144168|989898|1|9999044168|MR|Test|E|Lead 44168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044169|144169|989898|1|9999044169|MR|Test|E|Lead 44169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044170|144170|989898|1|9999044170|MR|Test|E|Lead 44170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044171|144171|989898|1|9999044171|MR|Test|E|Lead 44171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044172|144172|989898|1|9999044172|MR|Test|E|Lead 44172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044173|144173|989898|1|9999044173|MR|Test|E|Lead 44173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044174|144174|989898|1|9999044174|MR|Test|E|Lead 44174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044175|144175|989898|1|9999044175|MR|Test|E|Lead 44175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044176|144176|989898|1|9999044176|MR|Test|E|Lead 44176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044177|144177|989898|1|9999044177|MR|Test|E|Lead 44177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044178|144178|989898|1|9999044178|MR|Test|E|Lead 44178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044179|144179|989898|1|9999044179|MR|Test|E|Lead 44179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044180|144180|989898|1|9999044180|MR|Test|E|Lead 44180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044181|144181|989898|1|9999044181|MR|Test|E|Lead 44181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044182|144182|989898|1|9999044182|MR|Test|E|Lead 44182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044183|144183|989898|1|9999044183|MR|Test|E|Lead 44183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044184|144184|989898|1|9999044184|MR|Test|E|Lead 44184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044185|144185|989898|1|9999044185|MR|Test|E|Lead 44185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044186|144186|989898|1|9999044186|MR|Test|E|Lead 44186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044187|144187|989898|1|9999044187|MR|Test|E|Lead 44187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044188|144188|989898|1|9999044188|MR|Test|E|Lead 44188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044189|144189|989898|1|9999044189|MR|Test|E|Lead 44189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044190|144190|989898|1|9999044190|MR|Test|E|Lead 44190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044191|144191|989898|1|9999044191|MR|Test|E|Lead 44191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044192|144192|989898|1|9999044192|MR|Test|E|Lead 44192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044193|144193|989898|1|9999044193|MR|Test|E|Lead 44193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044194|144194|989898|1|9999044194|MR|Test|E|Lead 44194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044195|144195|989898|1|9999044195|MR|Test|E|Lead 44195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044196|144196|989898|1|9999044196|MR|Test|E|Lead 44196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044197|144197|989898|1|9999044197|MR|Test|E|Lead 44197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044198|144198|989898|1|9999044198|MR|Test|E|Lead 44198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044199|144199|989898|1|9999044199|MR|Test|E|Lead 44199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044200|144200|989898|1|9999044200|MR|Test|E|Lead 44200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044201|144201|989898|1|9999044201|MR|Test|E|Lead 44201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044202|144202|989898|1|9999044202|MR|Test|E|Lead 44202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044203|144203|989898|1|9999044203|MR|Test|E|Lead 44203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044204|144204|989898|1|9999044204|MR|Test|E|Lead 44204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044205|144205|989898|1|9999044205|MR|Test|E|Lead 44205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044206|144206|989898|1|9999044206|MR|Test|E|Lead 44206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044207|144207|989898|1|9999044207|MR|Test|E|Lead 44207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044208|144208|989898|1|9999044208|MR|Test|E|Lead 44208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044209|144209|989898|1|9999044209|MR|Test|E|Lead 44209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044210|144210|989898|1|9999044210|MR|Test|E|Lead 44210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044211|144211|989898|1|9999044211|MR|Test|E|Lead 44211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044212|144212|989898|1|9999044212|MR|Test|E|Lead 44212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044213|144213|989898|1|9999044213|MR|Test|E|Lead 44213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044214|144214|989898|1|9999044214|MR|Test|E|Lead 44214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044215|144215|989898|1|9999044215|MR|Test|E|Lead 44215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044216|144216|989898|1|9999044216|MR|Test|E|Lead 44216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044217|144217|989898|1|9999044217|MR|Test|E|Lead 44217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044218|144218|989898|1|9999044218|MR|Test|E|Lead 44218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044219|144219|989898|1|9999044219|MR|Test|E|Lead 44219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044220|144220|989898|1|9999044220|MR|Test|E|Lead 44220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044221|144221|989898|1|9999044221|MR|Test|E|Lead 44221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044222|144222|989898|1|9999044222|MR|Test|E|Lead 44222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044223|144223|989898|1|9999044223|MR|Test|E|Lead 44223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044224|144224|989898|1|9999044224|MR|Test|E|Lead 44224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044225|144225|989898|1|9999044225|MR|Test|E|Lead 44225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044226|144226|989898|1|9999044226|MR|Test|E|Lead 44226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044227|144227|989898|1|9999044227|MR|Test|E|Lead 44227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044228|144228|989898|1|9999044228|MR|Test|E|Lead 44228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044229|144229|989898|1|9999044229|MR|Test|E|Lead 44229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044230|144230|989898|1|9999044230|MR|Test|E|Lead 44230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044231|144231|989898|1|9999044231|MR|Test|E|Lead 44231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044232|144232|989898|1|9999044232|MR|Test|E|Lead 44232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044233|144233|989898|1|9999044233|MR|Test|E|Lead 44233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044234|144234|989898|1|9999044234|MR|Test|E|Lead 44234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044235|144235|989898|1|9999044235|MR|Test|E|Lead 44235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044236|144236|989898|1|9999044236|MR|Test|E|Lead 44236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044237|144237|989898|1|9999044237|MR|Test|E|Lead 44237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044238|144238|989898|1|9999044238|MR|Test|E|Lead 44238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044239|144239|989898|1|9999044239|MR|Test|E|Lead 44239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044240|144240|989898|1|9999044240|MR|Test|E|Lead 44240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044241|144241|989898|1|9999044241|MR|Test|E|Lead 44241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044242|144242|989898|1|9999044242|MR|Test|E|Lead 44242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044243|144243|989898|1|9999044243|MR|Test|E|Lead 44243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044244|144244|989898|1|9999044244|MR|Test|E|Lead 44244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044245|144245|989898|1|9999044245|MR|Test|E|Lead 44245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044246|144246|989898|1|9999044246|MR|Test|E|Lead 44246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044247|144247|989898|1|9999044247|MR|Test|E|Lead 44247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044248|144248|989898|1|9999044248|MR|Test|E|Lead 44248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044249|144249|989898|1|9999044249|MR|Test|E|Lead 44249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044250|144250|989898|1|9999044250|MR|Test|E|Lead 44250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044251|144251|989898|1|9999044251|MR|Test|E|Lead 44251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044252|144252|989898|1|9999044252|MR|Test|E|Lead 44252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044253|144253|989898|1|9999044253|MR|Test|E|Lead 44253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044254|144254|989898|1|9999044254|MR|Test|E|Lead 44254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044255|144255|989898|1|9999044255|MR|Test|E|Lead 44255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044256|144256|989898|1|9999044256|MR|Test|E|Lead 44256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044257|144257|989898|1|9999044257|MR|Test|E|Lead 44257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044258|144258|989898|1|9999044258|MR|Test|E|Lead 44258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044259|144259|989898|1|9999044259|MR|Test|E|Lead 44259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044260|144260|989898|1|9999044260|MR|Test|E|Lead 44260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044261|144261|989898|1|9999044261|MR|Test|E|Lead 44261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044262|144262|989898|1|9999044262|MR|Test|E|Lead 44262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044263|144263|989898|1|9999044263|MR|Test|E|Lead 44263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044264|144264|989898|1|9999044264|MR|Test|E|Lead 44264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044265|144265|989898|1|9999044265|MR|Test|E|Lead 44265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044266|144266|989898|1|9999044266|MR|Test|E|Lead 44266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044267|144267|989898|1|9999044267|MR|Test|E|Lead 44267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044268|144268|989898|1|9999044268|MR|Test|E|Lead 44268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044269|144269|989898|1|9999044269|MR|Test|E|Lead 44269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044270|144270|989898|1|9999044270|MR|Test|E|Lead 44270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044271|144271|989898|1|9999044271|MR|Test|E|Lead 44271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044272|144272|989898|1|9999044272|MR|Test|E|Lead 44272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044273|144273|989898|1|9999044273|MR|Test|E|Lead 44273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044274|144274|989898|1|9999044274|MR|Test|E|Lead 44274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044275|144275|989898|1|9999044275|MR|Test|E|Lead 44275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044276|144276|989898|1|9999044276|MR|Test|E|Lead 44276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044277|144277|989898|1|9999044277|MR|Test|E|Lead 44277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044278|144278|989898|1|9999044278|MR|Test|E|Lead 44278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044279|144279|989898|1|9999044279|MR|Test|E|Lead 44279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044280|144280|989898|1|9999044280|MR|Test|E|Lead 44280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044281|144281|989898|1|9999044281|MR|Test|E|Lead 44281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044282|144282|989898|1|9999044282|MR|Test|E|Lead 44282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044283|144283|989898|1|9999044283|MR|Test|E|Lead 44283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044284|144284|989898|1|9999044284|MR|Test|E|Lead 44284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044285|144285|989898|1|9999044285|MR|Test|E|Lead 44285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044286|144286|989898|1|9999044286|MR|Test|E|Lead 44286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044287|144287|989898|1|9999044287|MR|Test|E|Lead 44287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044288|144288|989898|1|9999044288|MR|Test|E|Lead 44288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044289|144289|989898|1|9999044289|MR|Test|E|Lead 44289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044290|144290|989898|1|9999044290|MR|Test|E|Lead 44290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044291|144291|989898|1|9999044291|MR|Test|E|Lead 44291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044292|144292|989898|1|9999044292|MR|Test|E|Lead 44292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044293|144293|989898|1|9999044293|MR|Test|E|Lead 44293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044294|144294|989898|1|9999044294|MR|Test|E|Lead 44294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044295|144295|989898|1|9999044295|MR|Test|E|Lead 44295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044296|144296|989898|1|9999044296|MR|Test|E|Lead 44296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044297|144297|989898|1|9999044297|MR|Test|E|Lead 44297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044298|144298|989898|1|9999044298|MR|Test|E|Lead 44298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044299|144299|989898|1|9999044299|MR|Test|E|Lead 44299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044300|144300|989898|1|9999044300|MR|Test|E|Lead 44300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044301|144301|989898|1|9999044301|MR|Test|E|Lead 44301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044302|144302|989898|1|9999044302|MR|Test|E|Lead 44302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044303|144303|989898|1|9999044303|MR|Test|E|Lead 44303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044304|144304|989898|1|9999044304|MR|Test|E|Lead 44304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044305|144305|989898|1|9999044305|MR|Test|E|Lead 44305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044306|144306|989898|1|9999044306|MR|Test|E|Lead 44306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044307|144307|989898|1|9999044307|MR|Test|E|Lead 44307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044308|144308|989898|1|9999044308|MR|Test|E|Lead 44308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044309|144309|989898|1|9999044309|MR|Test|E|Lead 44309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044310|144310|989898|1|9999044310|MR|Test|E|Lead 44310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044311|144311|989898|1|9999044311|MR|Test|E|Lead 44311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044312|144312|989898|1|9999044312|MR|Test|E|Lead 44312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044313|144313|989898|1|9999044313|MR|Test|E|Lead 44313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044314|144314|989898|1|9999044314|MR|Test|E|Lead 44314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044315|144315|989898|1|9999044315|MR|Test|E|Lead 44315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044316|144316|989898|1|9999044316|MR|Test|E|Lead 44316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044317|144317|989898|1|9999044317|MR|Test|E|Lead 44317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044318|144318|989898|1|9999044318|MR|Test|E|Lead 44318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044319|144319|989898|1|9999044319|MR|Test|E|Lead 44319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044320|144320|989898|1|9999044320|MR|Test|E|Lead 44320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044321|144321|989898|1|9999044321|MR|Test|E|Lead 44321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044322|144322|989898|1|9999044322|MR|Test|E|Lead 44322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044323|144323|989898|1|9999044323|MR|Test|E|Lead 44323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044324|144324|989898|1|9999044324|MR|Test|E|Lead 44324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044325|144325|989898|1|9999044325|MR|Test|E|Lead 44325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044326|144326|989898|1|9999044326|MR|Test|E|Lead 44326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044327|144327|989898|1|9999044327|MR|Test|E|Lead 44327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044328|144328|989898|1|9999044328|MR|Test|E|Lead 44328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044329|144329|989898|1|9999044329|MR|Test|E|Lead 44329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044330|144330|989898|1|9999044330|MR|Test|E|Lead 44330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044331|144331|989898|1|9999044331|MR|Test|E|Lead 44331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044332|144332|989898|1|9999044332|MR|Test|E|Lead 44332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044333|144333|989898|1|9999044333|MR|Test|E|Lead 44333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044334|144334|989898|1|9999044334|MR|Test|E|Lead 44334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044335|144335|989898|1|9999044335|MR|Test|E|Lead 44335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044336|144336|989898|1|9999044336|MR|Test|E|Lead 44336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044337|144337|989898|1|9999044337|MR|Test|E|Lead 44337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044338|144338|989898|1|9999044338|MR|Test|E|Lead 44338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044339|144339|989898|1|9999044339|MR|Test|E|Lead 44339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044340|144340|989898|1|9999044340|MR|Test|E|Lead 44340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044341|144341|989898|1|9999044341|MR|Test|E|Lead 44341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044342|144342|989898|1|9999044342|MR|Test|E|Lead 44342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044343|144343|989898|1|9999044343|MR|Test|E|Lead 44343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044344|144344|989898|1|9999044344|MR|Test|E|Lead 44344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044345|144345|989898|1|9999044345|MR|Test|E|Lead 44345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044346|144346|989898|1|9999044346|MR|Test|E|Lead 44346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044347|144347|989898|1|9999044347|MR|Test|E|Lead 44347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044348|144348|989898|1|9999044348|MR|Test|E|Lead 44348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044349|144349|989898|1|9999044349|MR|Test|E|Lead 44349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044350|144350|989898|1|9999044350|MR|Test|E|Lead 44350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044351|144351|989898|1|9999044351|MR|Test|E|Lead 44351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044352|144352|989898|1|9999044352|MR|Test|E|Lead 44352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044353|144353|989898|1|9999044353|MR|Test|E|Lead 44353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044354|144354|989898|1|9999044354|MR|Test|E|Lead 44354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044355|144355|989898|1|9999044355|MR|Test|E|Lead 44355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044356|144356|989898|1|9999044356|MR|Test|E|Lead 44356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044357|144357|989898|1|9999044357|MR|Test|E|Lead 44357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044358|144358|989898|1|9999044358|MR|Test|E|Lead 44358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044359|144359|989898|1|9999044359|MR|Test|E|Lead 44359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044360|144360|989898|1|9999044360|MR|Test|E|Lead 44360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044361|144361|989898|1|9999044361|MR|Test|E|Lead 44361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044362|144362|989898|1|9999044362|MR|Test|E|Lead 44362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044363|144363|989898|1|9999044363|MR|Test|E|Lead 44363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044364|144364|989898|1|9999044364|MR|Test|E|Lead 44364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044365|144365|989898|1|9999044365|MR|Test|E|Lead 44365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044366|144366|989898|1|9999044366|MR|Test|E|Lead 44366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044367|144367|989898|1|9999044367|MR|Test|E|Lead 44367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044368|144368|989898|1|9999044368|MR|Test|E|Lead 44368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044369|144369|989898|1|9999044369|MR|Test|E|Lead 44369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044370|144370|989898|1|9999044370|MR|Test|E|Lead 44370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044371|144371|989898|1|9999044371|MR|Test|E|Lead 44371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044372|144372|989898|1|9999044372|MR|Test|E|Lead 44372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044373|144373|989898|1|9999044373|MR|Test|E|Lead 44373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044374|144374|989898|1|9999044374|MR|Test|E|Lead 44374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044375|144375|989898|1|9999044375|MR|Test|E|Lead 44375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044376|144376|989898|1|9999044376|MR|Test|E|Lead 44376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044377|144377|989898|1|9999044377|MR|Test|E|Lead 44377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044378|144378|989898|1|9999044378|MR|Test|E|Lead 44378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044379|144379|989898|1|9999044379|MR|Test|E|Lead 44379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044380|144380|989898|1|9999044380|MR|Test|E|Lead 44380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044381|144381|989898|1|9999044381|MR|Test|E|Lead 44381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044382|144382|989898|1|9999044382|MR|Test|E|Lead 44382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044383|144383|989898|1|9999044383|MR|Test|E|Lead 44383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044384|144384|989898|1|9999044384|MR|Test|E|Lead 44384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044385|144385|989898|1|9999044385|MR|Test|E|Lead 44385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044386|144386|989898|1|9999044386|MR|Test|E|Lead 44386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044387|144387|989898|1|9999044387|MR|Test|E|Lead 44387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044388|144388|989898|1|9999044388|MR|Test|E|Lead 44388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044389|144389|989898|1|9999044389|MR|Test|E|Lead 44389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044390|144390|989898|1|9999044390|MR|Test|E|Lead 44390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044391|144391|989898|1|9999044391|MR|Test|E|Lead 44391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044392|144392|989898|1|9999044392|MR|Test|E|Lead 44392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044393|144393|989898|1|9999044393|MR|Test|E|Lead 44393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044394|144394|989898|1|9999044394|MR|Test|E|Lead 44394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044395|144395|989898|1|9999044395|MR|Test|E|Lead 44395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044396|144396|989898|1|9999044396|MR|Test|E|Lead 44396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044397|144397|989898|1|9999044397|MR|Test|E|Lead 44397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044398|144398|989898|1|9999044398|MR|Test|E|Lead 44398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044399|144399|989898|1|9999044399|MR|Test|E|Lead 44399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044400|144400|989898|1|9999044400|MR|Test|E|Lead 44400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044401|144401|989898|1|9999044401|MR|Test|E|Lead 44401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044402|144402|989898|1|9999044402|MR|Test|E|Lead 44402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044403|144403|989898|1|9999044403|MR|Test|E|Lead 44403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044404|144404|989898|1|9999044404|MR|Test|E|Lead 44404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044405|144405|989898|1|9999044405|MR|Test|E|Lead 44405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044406|144406|989898|1|9999044406|MR|Test|E|Lead 44406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044407|144407|989898|1|9999044407|MR|Test|E|Lead 44407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044408|144408|989898|1|9999044408|MR|Test|E|Lead 44408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044409|144409|989898|1|9999044409|MR|Test|E|Lead 44409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044410|144410|989898|1|9999044410|MR|Test|E|Lead 44410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044411|144411|989898|1|9999044411|MR|Test|E|Lead 44411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044412|144412|989898|1|9999044412|MR|Test|E|Lead 44412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044413|144413|989898|1|9999044413|MR|Test|E|Lead 44413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044414|144414|989898|1|9999044414|MR|Test|E|Lead 44414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044415|144415|989898|1|9999044415|MR|Test|E|Lead 44415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044416|144416|989898|1|9999044416|MR|Test|E|Lead 44416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044417|144417|989898|1|9999044417|MR|Test|E|Lead 44417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044418|144418|989898|1|9999044418|MR|Test|E|Lead 44418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044419|144419|989898|1|9999044419|MR|Test|E|Lead 44419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044420|144420|989898|1|9999044420|MR|Test|E|Lead 44420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044421|144421|989898|1|9999044421|MR|Test|E|Lead 44421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044422|144422|989898|1|9999044422|MR|Test|E|Lead 44422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044423|144423|989898|1|9999044423|MR|Test|E|Lead 44423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044424|144424|989898|1|9999044424|MR|Test|E|Lead 44424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044425|144425|989898|1|9999044425|MR|Test|E|Lead 44425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044426|144426|989898|1|9999044426|MR|Test|E|Lead 44426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044427|144427|989898|1|9999044427|MR|Test|E|Lead 44427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044428|144428|989898|1|9999044428|MR|Test|E|Lead 44428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044429|144429|989898|1|9999044429|MR|Test|E|Lead 44429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044430|144430|989898|1|9999044430|MR|Test|E|Lead 44430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044431|144431|989898|1|9999044431|MR|Test|E|Lead 44431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044432|144432|989898|1|9999044432|MR|Test|E|Lead 44432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044433|144433|989898|1|9999044433|MR|Test|E|Lead 44433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044434|144434|989898|1|9999044434|MR|Test|E|Lead 44434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044435|144435|989898|1|9999044435|MR|Test|E|Lead 44435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044436|144436|989898|1|9999044436|MR|Test|E|Lead 44436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044437|144437|989898|1|9999044437|MR|Test|E|Lead 44437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044438|144438|989898|1|9999044438|MR|Test|E|Lead 44438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044439|144439|989898|1|9999044439|MR|Test|E|Lead 44439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044440|144440|989898|1|9999044440|MR|Test|E|Lead 44440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044441|144441|989898|1|9999044441|MR|Test|E|Lead 44441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044442|144442|989898|1|9999044442|MR|Test|E|Lead 44442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044443|144443|989898|1|9999044443|MR|Test|E|Lead 44443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044444|144444|989898|1|9999044444|MR|Test|E|Lead 44444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044445|144445|989898|1|9999044445|MR|Test|E|Lead 44445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044446|144446|989898|1|9999044446|MR|Test|E|Lead 44446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044447|144447|989898|1|9999044447|MR|Test|E|Lead 44447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044448|144448|989898|1|9999044448|MR|Test|E|Lead 44448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044449|144449|989898|1|9999044449|MR|Test|E|Lead 44449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044450|144450|989898|1|9999044450|MR|Test|E|Lead 44450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044451|144451|989898|1|9999044451|MR|Test|E|Lead 44451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044452|144452|989898|1|9999044452|MR|Test|E|Lead 44452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044453|144453|989898|1|9999044453|MR|Test|E|Lead 44453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044454|144454|989898|1|9999044454|MR|Test|E|Lead 44454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044455|144455|989898|1|9999044455|MR|Test|E|Lead 44455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044456|144456|989898|1|9999044456|MR|Test|E|Lead 44456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044457|144457|989898|1|9999044457|MR|Test|E|Lead 44457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044458|144458|989898|1|9999044458|MR|Test|E|Lead 44458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044459|144459|989898|1|9999044459|MR|Test|E|Lead 44459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044460|144460|989898|1|9999044460|MR|Test|E|Lead 44460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044461|144461|989898|1|9999044461|MR|Test|E|Lead 44461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044462|144462|989898|1|9999044462|MR|Test|E|Lead 44462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044463|144463|989898|1|9999044463|MR|Test|E|Lead 44463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044464|144464|989898|1|9999044464|MR|Test|E|Lead 44464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044465|144465|989898|1|9999044465|MR|Test|E|Lead 44465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044466|144466|989898|1|9999044466|MR|Test|E|Lead 44466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044467|144467|989898|1|9999044467|MR|Test|E|Lead 44467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044468|144468|989898|1|9999044468|MR|Test|E|Lead 44468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044469|144469|989898|1|9999044469|MR|Test|E|Lead 44469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044470|144470|989898|1|9999044470|MR|Test|E|Lead 44470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044471|144471|989898|1|9999044471|MR|Test|E|Lead 44471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044472|144472|989898|1|9999044472|MR|Test|E|Lead 44472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044473|144473|989898|1|9999044473|MR|Test|E|Lead 44473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044474|144474|989898|1|9999044474|MR|Test|E|Lead 44474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044475|144475|989898|1|9999044475|MR|Test|E|Lead 44475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044476|144476|989898|1|9999044476|MR|Test|E|Lead 44476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044477|144477|989898|1|9999044477|MR|Test|E|Lead 44477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044478|144478|989898|1|9999044478|MR|Test|E|Lead 44478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044479|144479|989898|1|9999044479|MR|Test|E|Lead 44479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044480|144480|989898|1|9999044480|MR|Test|E|Lead 44480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044481|144481|989898|1|9999044481|MR|Test|E|Lead 44481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044482|144482|989898|1|9999044482|MR|Test|E|Lead 44482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044483|144483|989898|1|9999044483|MR|Test|E|Lead 44483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044484|144484|989898|1|9999044484|MR|Test|E|Lead 44484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044485|144485|989898|1|9999044485|MR|Test|E|Lead 44485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044486|144486|989898|1|9999044486|MR|Test|E|Lead 44486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044487|144487|989898|1|9999044487|MR|Test|E|Lead 44487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044488|144488|989898|1|9999044488|MR|Test|E|Lead 44488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044489|144489|989898|1|9999044489|MR|Test|E|Lead 44489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044490|144490|989898|1|9999044490|MR|Test|E|Lead 44490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044491|144491|989898|1|9999044491|MR|Test|E|Lead 44491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044492|144492|989898|1|9999044492|MR|Test|E|Lead 44492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044493|144493|989898|1|9999044493|MR|Test|E|Lead 44493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044494|144494|989898|1|9999044494|MR|Test|E|Lead 44494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044495|144495|989898|1|9999044495|MR|Test|E|Lead 44495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044496|144496|989898|1|9999044496|MR|Test|E|Lead 44496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044497|144497|989898|1|9999044497|MR|Test|E|Lead 44497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044498|144498|989898|1|9999044498|MR|Test|E|Lead 44498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044499|144499|989898|1|9999044499|MR|Test|E|Lead 44499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044500|144500|989898|1|9999044500|MR|Test|E|Lead 44500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044501|144501|989898|1|9999044501|MR|Test|E|Lead 44501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044502|144502|989898|1|9999044502|MR|Test|E|Lead 44502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044503|144503|989898|1|9999044503|MR|Test|E|Lead 44503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044504|144504|989898|1|9999044504|MR|Test|E|Lead 44504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044505|144505|989898|1|9999044505|MR|Test|E|Lead 44505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044506|144506|989898|1|9999044506|MR|Test|E|Lead 44506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044507|144507|989898|1|9999044507|MR|Test|E|Lead 44507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044508|144508|989898|1|9999044508|MR|Test|E|Lead 44508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044509|144509|989898|1|9999044509|MR|Test|E|Lead 44509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044510|144510|989898|1|9999044510|MR|Test|E|Lead 44510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044511|144511|989898|1|9999044511|MR|Test|E|Lead 44511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044512|144512|989898|1|9999044512|MR|Test|E|Lead 44512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044513|144513|989898|1|9999044513|MR|Test|E|Lead 44513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044514|144514|989898|1|9999044514|MR|Test|E|Lead 44514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044515|144515|989898|1|9999044515|MR|Test|E|Lead 44515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044516|144516|989898|1|9999044516|MR|Test|E|Lead 44516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044517|144517|989898|1|9999044517|MR|Test|E|Lead 44517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044518|144518|989898|1|9999044518|MR|Test|E|Lead 44518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044519|144519|989898|1|9999044519|MR|Test|E|Lead 44519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044520|144520|989898|1|9999044520|MR|Test|E|Lead 44520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044521|144521|989898|1|9999044521|MR|Test|E|Lead 44521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044522|144522|989898|1|9999044522|MR|Test|E|Lead 44522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044523|144523|989898|1|9999044523|MR|Test|E|Lead 44523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044524|144524|989898|1|9999044524|MR|Test|E|Lead 44524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044525|144525|989898|1|9999044525|MR|Test|E|Lead 44525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044526|144526|989898|1|9999044526|MR|Test|E|Lead 44526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044527|144527|989898|1|9999044527|MR|Test|E|Lead 44527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044528|144528|989898|1|9999044528|MR|Test|E|Lead 44528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044529|144529|989898|1|9999044529|MR|Test|E|Lead 44529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044530|144530|989898|1|9999044530|MR|Test|E|Lead 44530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044531|144531|989898|1|9999044531|MR|Test|E|Lead 44531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044532|144532|989898|1|9999044532|MR|Test|E|Lead 44532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044533|144533|989898|1|9999044533|MR|Test|E|Lead 44533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044534|144534|989898|1|9999044534|MR|Test|E|Lead 44534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044535|144535|989898|1|9999044535|MR|Test|E|Lead 44535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044536|144536|989898|1|9999044536|MR|Test|E|Lead 44536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044537|144537|989898|1|9999044537|MR|Test|E|Lead 44537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044538|144538|989898|1|9999044538|MR|Test|E|Lead 44538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044539|144539|989898|1|9999044539|MR|Test|E|Lead 44539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044540|144540|989898|1|9999044540|MR|Test|E|Lead 44540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044541|144541|989898|1|9999044541|MR|Test|E|Lead 44541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044542|144542|989898|1|9999044542|MR|Test|E|Lead 44542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044543|144543|989898|1|9999044543|MR|Test|E|Lead 44543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044544|144544|989898|1|9999044544|MR|Test|E|Lead 44544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044545|144545|989898|1|9999044545|MR|Test|E|Lead 44545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044546|144546|989898|1|9999044546|MR|Test|E|Lead 44546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044547|144547|989898|1|9999044547|MR|Test|E|Lead 44547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044548|144548|989898|1|9999044548|MR|Test|E|Lead 44548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044549|144549|989898|1|9999044549|MR|Test|E|Lead 44549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044550|144550|989898|1|9999044550|MR|Test|E|Lead 44550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044551|144551|989898|1|9999044551|MR|Test|E|Lead 44551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044552|144552|989898|1|9999044552|MR|Test|E|Lead 44552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044553|144553|989898|1|9999044553|MR|Test|E|Lead 44553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044554|144554|989898|1|9999044554|MR|Test|E|Lead 44554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044555|144555|989898|1|9999044555|MR|Test|E|Lead 44555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044556|144556|989898|1|9999044556|MR|Test|E|Lead 44556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044557|144557|989898|1|9999044557|MR|Test|E|Lead 44557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044558|144558|989898|1|9999044558|MR|Test|E|Lead 44558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044559|144559|989898|1|9999044559|MR|Test|E|Lead 44559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044560|144560|989898|1|9999044560|MR|Test|E|Lead 44560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044561|144561|989898|1|9999044561|MR|Test|E|Lead 44561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044562|144562|989898|1|9999044562|MR|Test|E|Lead 44562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044563|144563|989898|1|9999044563|MR|Test|E|Lead 44563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044564|144564|989898|1|9999044564|MR|Test|E|Lead 44564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044565|144565|989898|1|9999044565|MR|Test|E|Lead 44565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044566|144566|989898|1|9999044566|MR|Test|E|Lead 44566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044567|144567|989898|1|9999044567|MR|Test|E|Lead 44567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044568|144568|989898|1|9999044568|MR|Test|E|Lead 44568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044569|144569|989898|1|9999044569|MR|Test|E|Lead 44569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044570|144570|989898|1|9999044570|MR|Test|E|Lead 44570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044571|144571|989898|1|9999044571|MR|Test|E|Lead 44571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044572|144572|989898|1|9999044572|MR|Test|E|Lead 44572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044573|144573|989898|1|9999044573|MR|Test|E|Lead 44573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044574|144574|989898|1|9999044574|MR|Test|E|Lead 44574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044575|144575|989898|1|9999044575|MR|Test|E|Lead 44575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044576|144576|989898|1|9999044576|MR|Test|E|Lead 44576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044577|144577|989898|1|9999044577|MR|Test|E|Lead 44577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044578|144578|989898|1|9999044578|MR|Test|E|Lead 44578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044579|144579|989898|1|9999044579|MR|Test|E|Lead 44579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044580|144580|989898|1|9999044580|MR|Test|E|Lead 44580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044581|144581|989898|1|9999044581|MR|Test|E|Lead 44581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044582|144582|989898|1|9999044582|MR|Test|E|Lead 44582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044583|144583|989898|1|9999044583|MR|Test|E|Lead 44583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044584|144584|989898|1|9999044584|MR|Test|E|Lead 44584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044585|144585|989898|1|9999044585|MR|Test|E|Lead 44585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044586|144586|989898|1|9999044586|MR|Test|E|Lead 44586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044587|144587|989898|1|9999044587|MR|Test|E|Lead 44587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044588|144588|989898|1|9999044588|MR|Test|E|Lead 44588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044589|144589|989898|1|9999044589|MR|Test|E|Lead 44589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044590|144590|989898|1|9999044590|MR|Test|E|Lead 44590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044591|144591|989898|1|9999044591|MR|Test|E|Lead 44591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044592|144592|989898|1|9999044592|MR|Test|E|Lead 44592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044593|144593|989898|1|9999044593|MR|Test|E|Lead 44593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044594|144594|989898|1|9999044594|MR|Test|E|Lead 44594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044595|144595|989898|1|9999044595|MR|Test|E|Lead 44595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044596|144596|989898|1|9999044596|MR|Test|E|Lead 44596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044597|144597|989898|1|9999044597|MR|Test|E|Lead 44597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044598|144598|989898|1|9999044598|MR|Test|E|Lead 44598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044599|144599|989898|1|9999044599|MR|Test|E|Lead 44599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044600|144600|989898|1|9999044600|MR|Test|E|Lead 44600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044601|144601|989898|1|9999044601|MR|Test|E|Lead 44601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044602|144602|989898|1|9999044602|MR|Test|E|Lead 44602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044603|144603|989898|1|9999044603|MR|Test|E|Lead 44603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044604|144604|989898|1|9999044604|MR|Test|E|Lead 44604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044605|144605|989898|1|9999044605|MR|Test|E|Lead 44605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044606|144606|989898|1|9999044606|MR|Test|E|Lead 44606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044607|144607|989898|1|9999044607|MR|Test|E|Lead 44607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044608|144608|989898|1|9999044608|MR|Test|E|Lead 44608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044609|144609|989898|1|9999044609|MR|Test|E|Lead 44609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044610|144610|989898|1|9999044610|MR|Test|E|Lead 44610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044611|144611|989898|1|9999044611|MR|Test|E|Lead 44611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044612|144612|989898|1|9999044612|MR|Test|E|Lead 44612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044613|144613|989898|1|9999044613|MR|Test|E|Lead 44613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044614|144614|989898|1|9999044614|MR|Test|E|Lead 44614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044615|144615|989898|1|9999044615|MR|Test|E|Lead 44615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044616|144616|989898|1|9999044616|MR|Test|E|Lead 44616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044617|144617|989898|1|9999044617|MR|Test|E|Lead 44617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044618|144618|989898|1|9999044618|MR|Test|E|Lead 44618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044619|144619|989898|1|9999044619|MR|Test|E|Lead 44619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044620|144620|989898|1|9999044620|MR|Test|E|Lead 44620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044621|144621|989898|1|9999044621|MR|Test|E|Lead 44621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044622|144622|989898|1|9999044622|MR|Test|E|Lead 44622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044623|144623|989898|1|9999044623|MR|Test|E|Lead 44623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044624|144624|989898|1|9999044624|MR|Test|E|Lead 44624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044625|144625|989898|1|9999044625|MR|Test|E|Lead 44625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044626|144626|989898|1|9999044626|MR|Test|E|Lead 44626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044627|144627|989898|1|9999044627|MR|Test|E|Lead 44627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044628|144628|989898|1|9999044628|MR|Test|E|Lead 44628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044629|144629|989898|1|9999044629|MR|Test|E|Lead 44629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044630|144630|989898|1|9999044630|MR|Test|E|Lead 44630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044631|144631|989898|1|9999044631|MR|Test|E|Lead 44631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044632|144632|989898|1|9999044632|MR|Test|E|Lead 44632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044633|144633|989898|1|9999044633|MR|Test|E|Lead 44633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044634|144634|989898|1|9999044634|MR|Test|E|Lead 44634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044635|144635|989898|1|9999044635|MR|Test|E|Lead 44635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044636|144636|989898|1|9999044636|MR|Test|E|Lead 44636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044637|144637|989898|1|9999044637|MR|Test|E|Lead 44637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044638|144638|989898|1|9999044638|MR|Test|E|Lead 44638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044639|144639|989898|1|9999044639|MR|Test|E|Lead 44639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044640|144640|989898|1|9999044640|MR|Test|E|Lead 44640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044641|144641|989898|1|9999044641|MR|Test|E|Lead 44641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044642|144642|989898|1|9999044642|MR|Test|E|Lead 44642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044643|144643|989898|1|9999044643|MR|Test|E|Lead 44643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044644|144644|989898|1|9999044644|MR|Test|E|Lead 44644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044645|144645|989898|1|9999044645|MR|Test|E|Lead 44645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044646|144646|989898|1|9999044646|MR|Test|E|Lead 44646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044647|144647|989898|1|9999044647|MR|Test|E|Lead 44647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044648|144648|989898|1|9999044648|MR|Test|E|Lead 44648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044649|144649|989898|1|9999044649|MR|Test|E|Lead 44649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044650|144650|989898|1|9999044650|MR|Test|E|Lead 44650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044651|144651|989898|1|9999044651|MR|Test|E|Lead 44651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044652|144652|989898|1|9999044652|MR|Test|E|Lead 44652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044653|144653|989898|1|9999044653|MR|Test|E|Lead 44653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044654|144654|989898|1|9999044654|MR|Test|E|Lead 44654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044655|144655|989898|1|9999044655|MR|Test|E|Lead 44655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044656|144656|989898|1|9999044656|MR|Test|E|Lead 44656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044657|144657|989898|1|9999044657|MR|Test|E|Lead 44657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044658|144658|989898|1|9999044658|MR|Test|E|Lead 44658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044659|144659|989898|1|9999044659|MR|Test|E|Lead 44659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044660|144660|989898|1|9999044660|MR|Test|E|Lead 44660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044661|144661|989898|1|9999044661|MR|Test|E|Lead 44661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044662|144662|989898|1|9999044662|MR|Test|E|Lead 44662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044663|144663|989898|1|9999044663|MR|Test|E|Lead 44663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044664|144664|989898|1|9999044664|MR|Test|E|Lead 44664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044665|144665|989898|1|9999044665|MR|Test|E|Lead 44665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044666|144666|989898|1|9999044666|MR|Test|E|Lead 44666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044667|144667|989898|1|9999044667|MR|Test|E|Lead 44667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044668|144668|989898|1|9999044668|MR|Test|E|Lead 44668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044669|144669|989898|1|9999044669|MR|Test|E|Lead 44669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044670|144670|989898|1|9999044670|MR|Test|E|Lead 44670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044671|144671|989898|1|9999044671|MR|Test|E|Lead 44671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044672|144672|989898|1|9999044672|MR|Test|E|Lead 44672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044673|144673|989898|1|9999044673|MR|Test|E|Lead 44673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044674|144674|989898|1|9999044674|MR|Test|E|Lead 44674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044675|144675|989898|1|9999044675|MR|Test|E|Lead 44675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044676|144676|989898|1|9999044676|MR|Test|E|Lead 44676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044677|144677|989898|1|9999044677|MR|Test|E|Lead 44677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044678|144678|989898|1|9999044678|MR|Test|E|Lead 44678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044679|144679|989898|1|9999044679|MR|Test|E|Lead 44679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044680|144680|989898|1|9999044680|MR|Test|E|Lead 44680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044681|144681|989898|1|9999044681|MR|Test|E|Lead 44681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044682|144682|989898|1|9999044682|MR|Test|E|Lead 44682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044683|144683|989898|1|9999044683|MR|Test|E|Lead 44683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044684|144684|989898|1|9999044684|MR|Test|E|Lead 44684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044685|144685|989898|1|9999044685|MR|Test|E|Lead 44685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044686|144686|989898|1|9999044686|MR|Test|E|Lead 44686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044687|144687|989898|1|9999044687|MR|Test|E|Lead 44687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044688|144688|989898|1|9999044688|MR|Test|E|Lead 44688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044689|144689|989898|1|9999044689|MR|Test|E|Lead 44689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044690|144690|989898|1|9999044690|MR|Test|E|Lead 44690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044691|144691|989898|1|9999044691|MR|Test|E|Lead 44691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044692|144692|989898|1|9999044692|MR|Test|E|Lead 44692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044693|144693|989898|1|9999044693|MR|Test|E|Lead 44693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044694|144694|989898|1|9999044694|MR|Test|E|Lead 44694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044695|144695|989898|1|9999044695|MR|Test|E|Lead 44695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044696|144696|989898|1|9999044696|MR|Test|E|Lead 44696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044697|144697|989898|1|9999044697|MR|Test|E|Lead 44697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044698|144698|989898|1|9999044698|MR|Test|E|Lead 44698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044699|144699|989898|1|9999044699|MR|Test|E|Lead 44699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044700|144700|989898|1|9999044700|MR|Test|E|Lead 44700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044701|144701|989898|1|9999044701|MR|Test|E|Lead 44701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044702|144702|989898|1|9999044702|MR|Test|E|Lead 44702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044703|144703|989898|1|9999044703|MR|Test|E|Lead 44703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044704|144704|989898|1|9999044704|MR|Test|E|Lead 44704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044705|144705|989898|1|9999044705|MR|Test|E|Lead 44705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044706|144706|989898|1|9999044706|MR|Test|E|Lead 44706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044707|144707|989898|1|9999044707|MR|Test|E|Lead 44707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044708|144708|989898|1|9999044708|MR|Test|E|Lead 44708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044709|144709|989898|1|9999044709|MR|Test|E|Lead 44709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044710|144710|989898|1|9999044710|MR|Test|E|Lead 44710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044711|144711|989898|1|9999044711|MR|Test|E|Lead 44711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044712|144712|989898|1|9999044712|MR|Test|E|Lead 44712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044713|144713|989898|1|9999044713|MR|Test|E|Lead 44713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044714|144714|989898|1|9999044714|MR|Test|E|Lead 44714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044715|144715|989898|1|9999044715|MR|Test|E|Lead 44715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044716|144716|989898|1|9999044716|MR|Test|E|Lead 44716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044717|144717|989898|1|9999044717|MR|Test|E|Lead 44717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044718|144718|989898|1|9999044718|MR|Test|E|Lead 44718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044719|144719|989898|1|9999044719|MR|Test|E|Lead 44719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044720|144720|989898|1|9999044720|MR|Test|E|Lead 44720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044721|144721|989898|1|9999044721|MR|Test|E|Lead 44721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044722|144722|989898|1|9999044722|MR|Test|E|Lead 44722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044723|144723|989898|1|9999044723|MR|Test|E|Lead 44723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044724|144724|989898|1|9999044724|MR|Test|E|Lead 44724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044725|144725|989898|1|9999044725|MR|Test|E|Lead 44725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044726|144726|989898|1|9999044726|MR|Test|E|Lead 44726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044727|144727|989898|1|9999044727|MR|Test|E|Lead 44727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044728|144728|989898|1|9999044728|MR|Test|E|Lead 44728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044729|144729|989898|1|9999044729|MR|Test|E|Lead 44729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044730|144730|989898|1|9999044730|MR|Test|E|Lead 44730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044731|144731|989898|1|9999044731|MR|Test|E|Lead 44731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044732|144732|989898|1|9999044732|MR|Test|E|Lead 44732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044733|144733|989898|1|9999044733|MR|Test|E|Lead 44733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044734|144734|989898|1|9999044734|MR|Test|E|Lead 44734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044735|144735|989898|1|9999044735|MR|Test|E|Lead 44735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044736|144736|989898|1|9999044736|MR|Test|E|Lead 44736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044737|144737|989898|1|9999044737|MR|Test|E|Lead 44737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044738|144738|989898|1|9999044738|MR|Test|E|Lead 44738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044739|144739|989898|1|9999044739|MR|Test|E|Lead 44739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044740|144740|989898|1|9999044740|MR|Test|E|Lead 44740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044741|144741|989898|1|9999044741|MR|Test|E|Lead 44741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044742|144742|989898|1|9999044742|MR|Test|E|Lead 44742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044743|144743|989898|1|9999044743|MR|Test|E|Lead 44743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044744|144744|989898|1|9999044744|MR|Test|E|Lead 44744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044745|144745|989898|1|9999044745|MR|Test|E|Lead 44745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044746|144746|989898|1|9999044746|MR|Test|E|Lead 44746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044747|144747|989898|1|9999044747|MR|Test|E|Lead 44747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044748|144748|989898|1|9999044748|MR|Test|E|Lead 44748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044749|144749|989898|1|9999044749|MR|Test|E|Lead 44749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044750|144750|989898|1|9999044750|MR|Test|E|Lead 44750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044751|144751|989898|1|9999044751|MR|Test|E|Lead 44751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044752|144752|989898|1|9999044752|MR|Test|E|Lead 44752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044753|144753|989898|1|9999044753|MR|Test|E|Lead 44753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044754|144754|989898|1|9999044754|MR|Test|E|Lead 44754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044755|144755|989898|1|9999044755|MR|Test|E|Lead 44755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044756|144756|989898|1|9999044756|MR|Test|E|Lead 44756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044757|144757|989898|1|9999044757|MR|Test|E|Lead 44757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044758|144758|989898|1|9999044758|MR|Test|E|Lead 44758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044759|144759|989898|1|9999044759|MR|Test|E|Lead 44759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044760|144760|989898|1|9999044760|MR|Test|E|Lead 44760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044761|144761|989898|1|9999044761|MR|Test|E|Lead 44761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044762|144762|989898|1|9999044762|MR|Test|E|Lead 44762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044763|144763|989898|1|9999044763|MR|Test|E|Lead 44763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044764|144764|989898|1|9999044764|MR|Test|E|Lead 44764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044765|144765|989898|1|9999044765|MR|Test|E|Lead 44765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044766|144766|989898|1|9999044766|MR|Test|E|Lead 44766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044767|144767|989898|1|9999044767|MR|Test|E|Lead 44767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044768|144768|989898|1|9999044768|MR|Test|E|Lead 44768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044769|144769|989898|1|9999044769|MR|Test|E|Lead 44769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044770|144770|989898|1|9999044770|MR|Test|E|Lead 44770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044771|144771|989898|1|9999044771|MR|Test|E|Lead 44771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044772|144772|989898|1|9999044772|MR|Test|E|Lead 44772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044773|144773|989898|1|9999044773|MR|Test|E|Lead 44773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044774|144774|989898|1|9999044774|MR|Test|E|Lead 44774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044775|144775|989898|1|9999044775|MR|Test|E|Lead 44775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044776|144776|989898|1|9999044776|MR|Test|E|Lead 44776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044777|144777|989898|1|9999044777|MR|Test|E|Lead 44777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044778|144778|989898|1|9999044778|MR|Test|E|Lead 44778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044779|144779|989898|1|9999044779|MR|Test|E|Lead 44779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044780|144780|989898|1|9999044780|MR|Test|E|Lead 44780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044781|144781|989898|1|9999044781|MR|Test|E|Lead 44781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044782|144782|989898|1|9999044782|MR|Test|E|Lead 44782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044783|144783|989898|1|9999044783|MR|Test|E|Lead 44783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044784|144784|989898|1|9999044784|MR|Test|E|Lead 44784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044785|144785|989898|1|9999044785|MR|Test|E|Lead 44785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044786|144786|989898|1|9999044786|MR|Test|E|Lead 44786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044787|144787|989898|1|9999044787|MR|Test|E|Lead 44787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044788|144788|989898|1|9999044788|MR|Test|E|Lead 44788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044789|144789|989898|1|9999044789|MR|Test|E|Lead 44789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044790|144790|989898|1|9999044790|MR|Test|E|Lead 44790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044791|144791|989898|1|9999044791|MR|Test|E|Lead 44791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044792|144792|989898|1|9999044792|MR|Test|E|Lead 44792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044793|144793|989898|1|9999044793|MR|Test|E|Lead 44793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044794|144794|989898|1|9999044794|MR|Test|E|Lead 44794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044795|144795|989898|1|9999044795|MR|Test|E|Lead 44795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044796|144796|989898|1|9999044796|MR|Test|E|Lead 44796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044797|144797|989898|1|9999044797|MR|Test|E|Lead 44797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044798|144798|989898|1|9999044798|MR|Test|E|Lead 44798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044799|144799|989898|1|9999044799|MR|Test|E|Lead 44799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044800|144800|989898|1|9999044800|MR|Test|E|Lead 44800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044801|144801|989898|1|9999044801|MR|Test|E|Lead 44801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044802|144802|989898|1|9999044802|MR|Test|E|Lead 44802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044803|144803|989898|1|9999044803|MR|Test|E|Lead 44803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044804|144804|989898|1|9999044804|MR|Test|E|Lead 44804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044805|144805|989898|1|9999044805|MR|Test|E|Lead 44805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044806|144806|989898|1|9999044806|MR|Test|E|Lead 44806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044807|144807|989898|1|9999044807|MR|Test|E|Lead 44807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044808|144808|989898|1|9999044808|MR|Test|E|Lead 44808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044809|144809|989898|1|9999044809|MR|Test|E|Lead 44809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044810|144810|989898|1|9999044810|MR|Test|E|Lead 44810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044811|144811|989898|1|9999044811|MR|Test|E|Lead 44811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044812|144812|989898|1|9999044812|MR|Test|E|Lead 44812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044813|144813|989898|1|9999044813|MR|Test|E|Lead 44813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044814|144814|989898|1|9999044814|MR|Test|E|Lead 44814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044815|144815|989898|1|9999044815|MR|Test|E|Lead 44815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044816|144816|989898|1|9999044816|MR|Test|E|Lead 44816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044817|144817|989898|1|9999044817|MR|Test|E|Lead 44817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044818|144818|989898|1|9999044818|MR|Test|E|Lead 44818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044819|144819|989898|1|9999044819|MR|Test|E|Lead 44819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044820|144820|989898|1|9999044820|MR|Test|E|Lead 44820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044821|144821|989898|1|9999044821|MR|Test|E|Lead 44821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044822|144822|989898|1|9999044822|MR|Test|E|Lead 44822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044823|144823|989898|1|9999044823|MR|Test|E|Lead 44823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044824|144824|989898|1|9999044824|MR|Test|E|Lead 44824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044825|144825|989898|1|9999044825|MR|Test|E|Lead 44825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044826|144826|989898|1|9999044826|MR|Test|E|Lead 44826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044827|144827|989898|1|9999044827|MR|Test|E|Lead 44827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044828|144828|989898|1|9999044828|MR|Test|E|Lead 44828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044829|144829|989898|1|9999044829|MR|Test|E|Lead 44829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044830|144830|989898|1|9999044830|MR|Test|E|Lead 44830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044831|144831|989898|1|9999044831|MR|Test|E|Lead 44831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044832|144832|989898|1|9999044832|MR|Test|E|Lead 44832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044833|144833|989898|1|9999044833|MR|Test|E|Lead 44833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044834|144834|989898|1|9999044834|MR|Test|E|Lead 44834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044835|144835|989898|1|9999044835|MR|Test|E|Lead 44835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044836|144836|989898|1|9999044836|MR|Test|E|Lead 44836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044837|144837|989898|1|9999044837|MR|Test|E|Lead 44837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044838|144838|989898|1|9999044838|MR|Test|E|Lead 44838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044839|144839|989898|1|9999044839|MR|Test|E|Lead 44839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044840|144840|989898|1|9999044840|MR|Test|E|Lead 44840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044841|144841|989898|1|9999044841|MR|Test|E|Lead 44841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044842|144842|989898|1|9999044842|MR|Test|E|Lead 44842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044843|144843|989898|1|9999044843|MR|Test|E|Lead 44843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044844|144844|989898|1|9999044844|MR|Test|E|Lead 44844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044845|144845|989898|1|9999044845|MR|Test|E|Lead 44845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044846|144846|989898|1|9999044846|MR|Test|E|Lead 44846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044847|144847|989898|1|9999044847|MR|Test|E|Lead 44847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044848|144848|989898|1|9999044848|MR|Test|E|Lead 44848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044849|144849|989898|1|9999044849|MR|Test|E|Lead 44849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044850|144850|989898|1|9999044850|MR|Test|E|Lead 44850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044851|144851|989898|1|9999044851|MR|Test|E|Lead 44851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044852|144852|989898|1|9999044852|MR|Test|E|Lead 44852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044853|144853|989898|1|9999044853|MR|Test|E|Lead 44853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044854|144854|989898|1|9999044854|MR|Test|E|Lead 44854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044855|144855|989898|1|9999044855|MR|Test|E|Lead 44855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044856|144856|989898|1|9999044856|MR|Test|E|Lead 44856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044857|144857|989898|1|9999044857|MR|Test|E|Lead 44857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044858|144858|989898|1|9999044858|MR|Test|E|Lead 44858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044859|144859|989898|1|9999044859|MR|Test|E|Lead 44859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044860|144860|989898|1|9999044860|MR|Test|E|Lead 44860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044861|144861|989898|1|9999044861|MR|Test|E|Lead 44861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044862|144862|989898|1|9999044862|MR|Test|E|Lead 44862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044863|144863|989898|1|9999044863|MR|Test|E|Lead 44863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044864|144864|989898|1|9999044864|MR|Test|E|Lead 44864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044865|144865|989898|1|9999044865|MR|Test|E|Lead 44865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044866|144866|989898|1|9999044866|MR|Test|E|Lead 44866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044867|144867|989898|1|9999044867|MR|Test|E|Lead 44867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044868|144868|989898|1|9999044868|MR|Test|E|Lead 44868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044869|144869|989898|1|9999044869|MR|Test|E|Lead 44869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044870|144870|989898|1|9999044870|MR|Test|E|Lead 44870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044871|144871|989898|1|9999044871|MR|Test|E|Lead 44871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044872|144872|989898|1|9999044872|MR|Test|E|Lead 44872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044873|144873|989898|1|9999044873|MR|Test|E|Lead 44873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044874|144874|989898|1|9999044874|MR|Test|E|Lead 44874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044875|144875|989898|1|9999044875|MR|Test|E|Lead 44875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044876|144876|989898|1|9999044876|MR|Test|E|Lead 44876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044877|144877|989898|1|9999044877|MR|Test|E|Lead 44877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044878|144878|989898|1|9999044878|MR|Test|E|Lead 44878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044879|144879|989898|1|9999044879|MR|Test|E|Lead 44879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044880|144880|989898|1|9999044880|MR|Test|E|Lead 44880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044881|144881|989898|1|9999044881|MR|Test|E|Lead 44881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044882|144882|989898|1|9999044882|MR|Test|E|Lead 44882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044883|144883|989898|1|9999044883|MR|Test|E|Lead 44883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044884|144884|989898|1|9999044884|MR|Test|E|Lead 44884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044885|144885|989898|1|9999044885|MR|Test|E|Lead 44885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044886|144886|989898|1|9999044886|MR|Test|E|Lead 44886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044887|144887|989898|1|9999044887|MR|Test|E|Lead 44887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044888|144888|989898|1|9999044888|MR|Test|E|Lead 44888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044889|144889|989898|1|9999044889|MR|Test|E|Lead 44889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044890|144890|989898|1|9999044890|MR|Test|E|Lead 44890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044891|144891|989898|1|9999044891|MR|Test|E|Lead 44891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044892|144892|989898|1|9999044892|MR|Test|E|Lead 44892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044893|144893|989898|1|9999044893|MR|Test|E|Lead 44893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044894|144894|989898|1|9999044894|MR|Test|E|Lead 44894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044895|144895|989898|1|9999044895|MR|Test|E|Lead 44895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044896|144896|989898|1|9999044896|MR|Test|E|Lead 44896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044897|144897|989898|1|9999044897|MR|Test|E|Lead 44897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044898|144898|989898|1|9999044898|MR|Test|E|Lead 44898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044899|144899|989898|1|9999044899|MR|Test|E|Lead 44899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044900|144900|989898|1|9999044900|MR|Test|E|Lead 44900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044901|144901|989898|1|9999044901|MR|Test|E|Lead 44901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044902|144902|989898|1|9999044902|MR|Test|E|Lead 44902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044903|144903|989898|1|9999044903|MR|Test|E|Lead 44903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044904|144904|989898|1|9999044904|MR|Test|E|Lead 44904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044905|144905|989898|1|9999044905|MR|Test|E|Lead 44905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044906|144906|989898|1|9999044906|MR|Test|E|Lead 44906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044907|144907|989898|1|9999044907|MR|Test|E|Lead 44907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044908|144908|989898|1|9999044908|MR|Test|E|Lead 44908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044909|144909|989898|1|9999044909|MR|Test|E|Lead 44909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044910|144910|989898|1|9999044910|MR|Test|E|Lead 44910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044911|144911|989898|1|9999044911|MR|Test|E|Lead 44911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044912|144912|989898|1|9999044912|MR|Test|E|Lead 44912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044913|144913|989898|1|9999044913|MR|Test|E|Lead 44913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044914|144914|989898|1|9999044914|MR|Test|E|Lead 44914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044915|144915|989898|1|9999044915|MR|Test|E|Lead 44915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044916|144916|989898|1|9999044916|MR|Test|E|Lead 44916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044917|144917|989898|1|9999044917|MR|Test|E|Lead 44917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044918|144918|989898|1|9999044918|MR|Test|E|Lead 44918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044919|144919|989898|1|9999044919|MR|Test|E|Lead 44919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044920|144920|989898|1|9999044920|MR|Test|E|Lead 44920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044921|144921|989898|1|9999044921|MR|Test|E|Lead 44921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044922|144922|989898|1|9999044922|MR|Test|E|Lead 44922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044923|144923|989898|1|9999044923|MR|Test|E|Lead 44923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044924|144924|989898|1|9999044924|MR|Test|E|Lead 44924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044925|144925|989898|1|9999044925|MR|Test|E|Lead 44925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044926|144926|989898|1|9999044926|MR|Test|E|Lead 44926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044927|144927|989898|1|9999044927|MR|Test|E|Lead 44927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044928|144928|989898|1|9999044928|MR|Test|E|Lead 44928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044929|144929|989898|1|9999044929|MR|Test|E|Lead 44929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044930|144930|989898|1|9999044930|MR|Test|E|Lead 44930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044931|144931|989898|1|9999044931|MR|Test|E|Lead 44931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044932|144932|989898|1|9999044932|MR|Test|E|Lead 44932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044933|144933|989898|1|9999044933|MR|Test|E|Lead 44933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044934|144934|989898|1|9999044934|MR|Test|E|Lead 44934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044935|144935|989898|1|9999044935|MR|Test|E|Lead 44935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044936|144936|989898|1|9999044936|MR|Test|E|Lead 44936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044937|144937|989898|1|9999044937|MR|Test|E|Lead 44937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044938|144938|989898|1|9999044938|MR|Test|E|Lead 44938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044939|144939|989898|1|9999044939|MR|Test|E|Lead 44939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044940|144940|989898|1|9999044940|MR|Test|E|Lead 44940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044941|144941|989898|1|9999044941|MR|Test|E|Lead 44941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044942|144942|989898|1|9999044942|MR|Test|E|Lead 44942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044943|144943|989898|1|9999044943|MR|Test|E|Lead 44943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044944|144944|989898|1|9999044944|MR|Test|E|Lead 44944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044945|144945|989898|1|9999044945|MR|Test|E|Lead 44945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044946|144946|989898|1|9999044946|MR|Test|E|Lead 44946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044947|144947|989898|1|9999044947|MR|Test|E|Lead 44947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044948|144948|989898|1|9999044948|MR|Test|E|Lead 44948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044949|144949|989898|1|9999044949|MR|Test|E|Lead 44949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044950|144950|989898|1|9999044950|MR|Test|E|Lead 44950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044951|144951|989898|1|9999044951|MR|Test|E|Lead 44951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044952|144952|989898|1|9999044952|MR|Test|E|Lead 44952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044953|144953|989898|1|9999044953|MR|Test|E|Lead 44953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044954|144954|989898|1|9999044954|MR|Test|E|Lead 44954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044955|144955|989898|1|9999044955|MR|Test|E|Lead 44955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044956|144956|989898|1|9999044956|MR|Test|E|Lead 44956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044957|144957|989898|1|9999044957|MR|Test|E|Lead 44957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044958|144958|989898|1|9999044958|MR|Test|E|Lead 44958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044959|144959|989898|1|9999044959|MR|Test|E|Lead 44959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044960|144960|989898|1|9999044960|MR|Test|E|Lead 44960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044961|144961|989898|1|9999044961|MR|Test|E|Lead 44961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044962|144962|989898|1|9999044962|MR|Test|E|Lead 44962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044963|144963|989898|1|9999044963|MR|Test|E|Lead 44963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044964|144964|989898|1|9999044964|MR|Test|E|Lead 44964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044965|144965|989898|1|9999044965|MR|Test|E|Lead 44965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044966|144966|989898|1|9999044966|MR|Test|E|Lead 44966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044967|144967|989898|1|9999044967|MR|Test|E|Lead 44967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044968|144968|989898|1|9999044968|MR|Test|E|Lead 44968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044969|144969|989898|1|9999044969|MR|Test|E|Lead 44969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044970|144970|989898|1|9999044970|MR|Test|E|Lead 44970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044971|144971|989898|1|9999044971|MR|Test|E|Lead 44971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044972|144972|989898|1|9999044972|MR|Test|E|Lead 44972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044973|144973|989898|1|9999044973|MR|Test|E|Lead 44973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044974|144974|989898|1|9999044974|MR|Test|E|Lead 44974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044975|144975|989898|1|9999044975|MR|Test|E|Lead 44975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044976|144976|989898|1|9999044976|MR|Test|E|Lead 44976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044977|144977|989898|1|9999044977|MR|Test|E|Lead 44977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044978|144978|989898|1|9999044978|MR|Test|E|Lead 44978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044979|144979|989898|1|9999044979|MR|Test|E|Lead 44979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044980|144980|989898|1|9999044980|MR|Test|E|Lead 44980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044981|144981|989898|1|9999044981|MR|Test|E|Lead 44981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044982|144982|989898|1|9999044982|MR|Test|E|Lead 44982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044983|144983|989898|1|9999044983|MR|Test|E|Lead 44983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044984|144984|989898|1|9999044984|MR|Test|E|Lead 44984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044985|144985|989898|1|9999044985|MR|Test|E|Lead 44985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044986|144986|989898|1|9999044986|MR|Test|E|Lead 44986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044987|144987|989898|1|9999044987|MR|Test|E|Lead 44987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044988|144988|989898|1|9999044988|MR|Test|E|Lead 44988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044989|144989|989898|1|9999044989|MR|Test|E|Lead 44989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044990|144990|989898|1|9999044990|MR|Test|E|Lead 44990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044991|144991|989898|1|9999044991|MR|Test|E|Lead 44991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044992|144992|989898|1|9999044992|MR|Test|E|Lead 44992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044993|144993|989898|1|9999044993|MR|Test|E|Lead 44993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044994|144994|989898|1|9999044994|MR|Test|E|Lead 44994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044995|144995|989898|1|9999044995|MR|Test|E|Lead 44995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044996|144996|989898|1|9999044996|MR|Test|E|Lead 44996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044997|144997|989898|1|9999044997|MR|Test|E|Lead 44997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044998|144998|989898|1|9999044998|MR|Test|E|Lead 44998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1044999|144999|989898|1|9999044999|MR|Test|E|Lead 44999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045000|145000|989898|1|9999045000|MR|Test|E|Lead 45000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045001|145001|989898|1|9999045001|MR|Test|E|Lead 45001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045002|145002|989898|1|9999045002|MR|Test|E|Lead 45002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045003|145003|989898|1|9999045003|MR|Test|E|Lead 45003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045004|145004|989898|1|9999045004|MR|Test|E|Lead 45004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045005|145005|989898|1|9999045005|MR|Test|E|Lead 45005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045006|145006|989898|1|9999045006|MR|Test|E|Lead 45006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045007|145007|989898|1|9999045007|MR|Test|E|Lead 45007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045008|145008|989898|1|9999045008|MR|Test|E|Lead 45008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045009|145009|989898|1|9999045009|MR|Test|E|Lead 45009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045010|145010|989898|1|9999045010|MR|Test|E|Lead 45010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045011|145011|989898|1|9999045011|MR|Test|E|Lead 45011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045012|145012|989898|1|9999045012|MR|Test|E|Lead 45012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045013|145013|989898|1|9999045013|MR|Test|E|Lead 45013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045014|145014|989898|1|9999045014|MR|Test|E|Lead 45014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045015|145015|989898|1|9999045015|MR|Test|E|Lead 45015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045016|145016|989898|1|9999045016|MR|Test|E|Lead 45016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045017|145017|989898|1|9999045017|MR|Test|E|Lead 45017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045018|145018|989898|1|9999045018|MR|Test|E|Lead 45018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045019|145019|989898|1|9999045019|MR|Test|E|Lead 45019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045020|145020|989898|1|9999045020|MR|Test|E|Lead 45020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045021|145021|989898|1|9999045021|MR|Test|E|Lead 45021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045022|145022|989898|1|9999045022|MR|Test|E|Lead 45022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045023|145023|989898|1|9999045023|MR|Test|E|Lead 45023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045024|145024|989898|1|9999045024|MR|Test|E|Lead 45024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045025|145025|989898|1|9999045025|MR|Test|E|Lead 45025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045026|145026|989898|1|9999045026|MR|Test|E|Lead 45026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045027|145027|989898|1|9999045027|MR|Test|E|Lead 45027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045028|145028|989898|1|9999045028|MR|Test|E|Lead 45028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045029|145029|989898|1|9999045029|MR|Test|E|Lead 45029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045030|145030|989898|1|9999045030|MR|Test|E|Lead 45030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045031|145031|989898|1|9999045031|MR|Test|E|Lead 45031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045032|145032|989898|1|9999045032|MR|Test|E|Lead 45032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045033|145033|989898|1|9999045033|MR|Test|E|Lead 45033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045034|145034|989898|1|9999045034|MR|Test|E|Lead 45034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045035|145035|989898|1|9999045035|MR|Test|E|Lead 45035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045036|145036|989898|1|9999045036|MR|Test|E|Lead 45036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045037|145037|989898|1|9999045037|MR|Test|E|Lead 45037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045038|145038|989898|1|9999045038|MR|Test|E|Lead 45038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045039|145039|989898|1|9999045039|MR|Test|E|Lead 45039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045040|145040|989898|1|9999045040|MR|Test|E|Lead 45040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045041|145041|989898|1|9999045041|MR|Test|E|Lead 45041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045042|145042|989898|1|9999045042|MR|Test|E|Lead 45042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045043|145043|989898|1|9999045043|MR|Test|E|Lead 45043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045044|145044|989898|1|9999045044|MR|Test|E|Lead 45044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045045|145045|989898|1|9999045045|MR|Test|E|Lead 45045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045046|145046|989898|1|9999045046|MR|Test|E|Lead 45046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045047|145047|989898|1|9999045047|MR|Test|E|Lead 45047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045048|145048|989898|1|9999045048|MR|Test|E|Lead 45048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045049|145049|989898|1|9999045049|MR|Test|E|Lead 45049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045050|145050|989898|1|9999045050|MR|Test|E|Lead 45050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045051|145051|989898|1|9999045051|MR|Test|E|Lead 45051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045052|145052|989898|1|9999045052|MR|Test|E|Lead 45052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045053|145053|989898|1|9999045053|MR|Test|E|Lead 45053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045054|145054|989898|1|9999045054|MR|Test|E|Lead 45054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045055|145055|989898|1|9999045055|MR|Test|E|Lead 45055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045056|145056|989898|1|9999045056|MR|Test|E|Lead 45056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045057|145057|989898|1|9999045057|MR|Test|E|Lead 45057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045058|145058|989898|1|9999045058|MR|Test|E|Lead 45058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045059|145059|989898|1|9999045059|MR|Test|E|Lead 45059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045060|145060|989898|1|9999045060|MR|Test|E|Lead 45060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045061|145061|989898|1|9999045061|MR|Test|E|Lead 45061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045062|145062|989898|1|9999045062|MR|Test|E|Lead 45062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045063|145063|989898|1|9999045063|MR|Test|E|Lead 45063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045064|145064|989898|1|9999045064|MR|Test|E|Lead 45064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045065|145065|989898|1|9999045065|MR|Test|E|Lead 45065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045066|145066|989898|1|9999045066|MR|Test|E|Lead 45066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045067|145067|989898|1|9999045067|MR|Test|E|Lead 45067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045068|145068|989898|1|9999045068|MR|Test|E|Lead 45068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045069|145069|989898|1|9999045069|MR|Test|E|Lead 45069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045070|145070|989898|1|9999045070|MR|Test|E|Lead 45070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045071|145071|989898|1|9999045071|MR|Test|E|Lead 45071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045072|145072|989898|1|9999045072|MR|Test|E|Lead 45072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045073|145073|989898|1|9999045073|MR|Test|E|Lead 45073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045074|145074|989898|1|9999045074|MR|Test|E|Lead 45074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045075|145075|989898|1|9999045075|MR|Test|E|Lead 45075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045076|145076|989898|1|9999045076|MR|Test|E|Lead 45076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045077|145077|989898|1|9999045077|MR|Test|E|Lead 45077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045078|145078|989898|1|9999045078|MR|Test|E|Lead 45078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045079|145079|989898|1|9999045079|MR|Test|E|Lead 45079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045080|145080|989898|1|9999045080|MR|Test|E|Lead 45080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045081|145081|989898|1|9999045081|MR|Test|E|Lead 45081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045082|145082|989898|1|9999045082|MR|Test|E|Lead 45082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045083|145083|989898|1|9999045083|MR|Test|E|Lead 45083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045084|145084|989898|1|9999045084|MR|Test|E|Lead 45084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045085|145085|989898|1|9999045085|MR|Test|E|Lead 45085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045086|145086|989898|1|9999045086|MR|Test|E|Lead 45086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045087|145087|989898|1|9999045087|MR|Test|E|Lead 45087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045088|145088|989898|1|9999045088|MR|Test|E|Lead 45088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045089|145089|989898|1|9999045089|MR|Test|E|Lead 45089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045090|145090|989898|1|9999045090|MR|Test|E|Lead 45090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045091|145091|989898|1|9999045091|MR|Test|E|Lead 45091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045092|145092|989898|1|9999045092|MR|Test|E|Lead 45092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045093|145093|989898|1|9999045093|MR|Test|E|Lead 45093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045094|145094|989898|1|9999045094|MR|Test|E|Lead 45094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045095|145095|989898|1|9999045095|MR|Test|E|Lead 45095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045096|145096|989898|1|9999045096|MR|Test|E|Lead 45096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045097|145097|989898|1|9999045097|MR|Test|E|Lead 45097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045098|145098|989898|1|9999045098|MR|Test|E|Lead 45098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045099|145099|989898|1|9999045099|MR|Test|E|Lead 45099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045100|145100|989898|1|9999045100|MR|Test|E|Lead 45100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045101|145101|989898|1|9999045101|MR|Test|E|Lead 45101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045102|145102|989898|1|9999045102|MR|Test|E|Lead 45102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045103|145103|989898|1|9999045103|MR|Test|E|Lead 45103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045104|145104|989898|1|9999045104|MR|Test|E|Lead 45104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045105|145105|989898|1|9999045105|MR|Test|E|Lead 45105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045106|145106|989898|1|9999045106|MR|Test|E|Lead 45106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045107|145107|989898|1|9999045107|MR|Test|E|Lead 45107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045108|145108|989898|1|9999045108|MR|Test|E|Lead 45108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045109|145109|989898|1|9999045109|MR|Test|E|Lead 45109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045110|145110|989898|1|9999045110|MR|Test|E|Lead 45110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045111|145111|989898|1|9999045111|MR|Test|E|Lead 45111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045112|145112|989898|1|9999045112|MR|Test|E|Lead 45112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045113|145113|989898|1|9999045113|MR|Test|E|Lead 45113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045114|145114|989898|1|9999045114|MR|Test|E|Lead 45114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045115|145115|989898|1|9999045115|MR|Test|E|Lead 45115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045116|145116|989898|1|9999045116|MR|Test|E|Lead 45116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045117|145117|989898|1|9999045117|MR|Test|E|Lead 45117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045118|145118|989898|1|9999045118|MR|Test|E|Lead 45118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045119|145119|989898|1|9999045119|MR|Test|E|Lead 45119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045120|145120|989898|1|9999045120|MR|Test|E|Lead 45120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045121|145121|989898|1|9999045121|MR|Test|E|Lead 45121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045122|145122|989898|1|9999045122|MR|Test|E|Lead 45122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045123|145123|989898|1|9999045123|MR|Test|E|Lead 45123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045124|145124|989898|1|9999045124|MR|Test|E|Lead 45124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045125|145125|989898|1|9999045125|MR|Test|E|Lead 45125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045126|145126|989898|1|9999045126|MR|Test|E|Lead 45126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045127|145127|989898|1|9999045127|MR|Test|E|Lead 45127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045128|145128|989898|1|9999045128|MR|Test|E|Lead 45128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045129|145129|989898|1|9999045129|MR|Test|E|Lead 45129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045130|145130|989898|1|9999045130|MR|Test|E|Lead 45130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045131|145131|989898|1|9999045131|MR|Test|E|Lead 45131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045132|145132|989898|1|9999045132|MR|Test|E|Lead 45132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045133|145133|989898|1|9999045133|MR|Test|E|Lead 45133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045134|145134|989898|1|9999045134|MR|Test|E|Lead 45134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045135|145135|989898|1|9999045135|MR|Test|E|Lead 45135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045136|145136|989898|1|9999045136|MR|Test|E|Lead 45136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045137|145137|989898|1|9999045137|MR|Test|E|Lead 45137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045138|145138|989898|1|9999045138|MR|Test|E|Lead 45138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045139|145139|989898|1|9999045139|MR|Test|E|Lead 45139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045140|145140|989898|1|9999045140|MR|Test|E|Lead 45140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045141|145141|989898|1|9999045141|MR|Test|E|Lead 45141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045142|145142|989898|1|9999045142|MR|Test|E|Lead 45142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045143|145143|989898|1|9999045143|MR|Test|E|Lead 45143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045144|145144|989898|1|9999045144|MR|Test|E|Lead 45144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045145|145145|989898|1|9999045145|MR|Test|E|Lead 45145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045146|145146|989898|1|9999045146|MR|Test|E|Lead 45146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045147|145147|989898|1|9999045147|MR|Test|E|Lead 45147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045148|145148|989898|1|9999045148|MR|Test|E|Lead 45148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045149|145149|989898|1|9999045149|MR|Test|E|Lead 45149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045150|145150|989898|1|9999045150|MR|Test|E|Lead 45150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045151|145151|989898|1|9999045151|MR|Test|E|Lead 45151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045152|145152|989898|1|9999045152|MR|Test|E|Lead 45152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045153|145153|989898|1|9999045153|MR|Test|E|Lead 45153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045154|145154|989898|1|9999045154|MR|Test|E|Lead 45154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045155|145155|989898|1|9999045155|MR|Test|E|Lead 45155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045156|145156|989898|1|9999045156|MR|Test|E|Lead 45156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045157|145157|989898|1|9999045157|MR|Test|E|Lead 45157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045158|145158|989898|1|9999045158|MR|Test|E|Lead 45158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045159|145159|989898|1|9999045159|MR|Test|E|Lead 45159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045160|145160|989898|1|9999045160|MR|Test|E|Lead 45160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045161|145161|989898|1|9999045161|MR|Test|E|Lead 45161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045162|145162|989898|1|9999045162|MR|Test|E|Lead 45162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045163|145163|989898|1|9999045163|MR|Test|E|Lead 45163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045164|145164|989898|1|9999045164|MR|Test|E|Lead 45164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045165|145165|989898|1|9999045165|MR|Test|E|Lead 45165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045166|145166|989898|1|9999045166|MR|Test|E|Lead 45166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045167|145167|989898|1|9999045167|MR|Test|E|Lead 45167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045168|145168|989898|1|9999045168|MR|Test|E|Lead 45168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045169|145169|989898|1|9999045169|MR|Test|E|Lead 45169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045170|145170|989898|1|9999045170|MR|Test|E|Lead 45170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045171|145171|989898|1|9999045171|MR|Test|E|Lead 45171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045172|145172|989898|1|9999045172|MR|Test|E|Lead 45172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045173|145173|989898|1|9999045173|MR|Test|E|Lead 45173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045174|145174|989898|1|9999045174|MR|Test|E|Lead 45174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045175|145175|989898|1|9999045175|MR|Test|E|Lead 45175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045176|145176|989898|1|9999045176|MR|Test|E|Lead 45176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045177|145177|989898|1|9999045177|MR|Test|E|Lead 45177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045178|145178|989898|1|9999045178|MR|Test|E|Lead 45178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045179|145179|989898|1|9999045179|MR|Test|E|Lead 45179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045180|145180|989898|1|9999045180|MR|Test|E|Lead 45180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045181|145181|989898|1|9999045181|MR|Test|E|Lead 45181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045182|145182|989898|1|9999045182|MR|Test|E|Lead 45182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045183|145183|989898|1|9999045183|MR|Test|E|Lead 45183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045184|145184|989898|1|9999045184|MR|Test|E|Lead 45184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045185|145185|989898|1|9999045185|MR|Test|E|Lead 45185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045186|145186|989898|1|9999045186|MR|Test|E|Lead 45186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045187|145187|989898|1|9999045187|MR|Test|E|Lead 45187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045188|145188|989898|1|9999045188|MR|Test|E|Lead 45188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045189|145189|989898|1|9999045189|MR|Test|E|Lead 45189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045190|145190|989898|1|9999045190|MR|Test|E|Lead 45190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045191|145191|989898|1|9999045191|MR|Test|E|Lead 45191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045192|145192|989898|1|9999045192|MR|Test|E|Lead 45192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045193|145193|989898|1|9999045193|MR|Test|E|Lead 45193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045194|145194|989898|1|9999045194|MR|Test|E|Lead 45194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045195|145195|989898|1|9999045195|MR|Test|E|Lead 45195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045196|145196|989898|1|9999045196|MR|Test|E|Lead 45196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045197|145197|989898|1|9999045197|MR|Test|E|Lead 45197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045198|145198|989898|1|9999045198|MR|Test|E|Lead 45198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045199|145199|989898|1|9999045199|MR|Test|E|Lead 45199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045200|145200|989898|1|9999045200|MR|Test|E|Lead 45200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045201|145201|989898|1|9999045201|MR|Test|E|Lead 45201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045202|145202|989898|1|9999045202|MR|Test|E|Lead 45202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045203|145203|989898|1|9999045203|MR|Test|E|Lead 45203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045204|145204|989898|1|9999045204|MR|Test|E|Lead 45204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045205|145205|989898|1|9999045205|MR|Test|E|Lead 45205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045206|145206|989898|1|9999045206|MR|Test|E|Lead 45206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045207|145207|989898|1|9999045207|MR|Test|E|Lead 45207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045208|145208|989898|1|9999045208|MR|Test|E|Lead 45208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045209|145209|989898|1|9999045209|MR|Test|E|Lead 45209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045210|145210|989898|1|9999045210|MR|Test|E|Lead 45210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045211|145211|989898|1|9999045211|MR|Test|E|Lead 45211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045212|145212|989898|1|9999045212|MR|Test|E|Lead 45212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045213|145213|989898|1|9999045213|MR|Test|E|Lead 45213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045214|145214|989898|1|9999045214|MR|Test|E|Lead 45214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045215|145215|989898|1|9999045215|MR|Test|E|Lead 45215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045216|145216|989898|1|9999045216|MR|Test|E|Lead 45216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045217|145217|989898|1|9999045217|MR|Test|E|Lead 45217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045218|145218|989898|1|9999045218|MR|Test|E|Lead 45218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045219|145219|989898|1|9999045219|MR|Test|E|Lead 45219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045220|145220|989898|1|9999045220|MR|Test|E|Lead 45220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045221|145221|989898|1|9999045221|MR|Test|E|Lead 45221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045222|145222|989898|1|9999045222|MR|Test|E|Lead 45222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045223|145223|989898|1|9999045223|MR|Test|E|Lead 45223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045224|145224|989898|1|9999045224|MR|Test|E|Lead 45224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045225|145225|989898|1|9999045225|MR|Test|E|Lead 45225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045226|145226|989898|1|9999045226|MR|Test|E|Lead 45226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045227|145227|989898|1|9999045227|MR|Test|E|Lead 45227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045228|145228|989898|1|9999045228|MR|Test|E|Lead 45228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045229|145229|989898|1|9999045229|MR|Test|E|Lead 45229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045230|145230|989898|1|9999045230|MR|Test|E|Lead 45230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045231|145231|989898|1|9999045231|MR|Test|E|Lead 45231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045232|145232|989898|1|9999045232|MR|Test|E|Lead 45232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045233|145233|989898|1|9999045233|MR|Test|E|Lead 45233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045234|145234|989898|1|9999045234|MR|Test|E|Lead 45234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045235|145235|989898|1|9999045235|MR|Test|E|Lead 45235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045236|145236|989898|1|9999045236|MR|Test|E|Lead 45236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045237|145237|989898|1|9999045237|MR|Test|E|Lead 45237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045238|145238|989898|1|9999045238|MR|Test|E|Lead 45238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045239|145239|989898|1|9999045239|MR|Test|E|Lead 45239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045240|145240|989898|1|9999045240|MR|Test|E|Lead 45240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045241|145241|989898|1|9999045241|MR|Test|E|Lead 45241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045242|145242|989898|1|9999045242|MR|Test|E|Lead 45242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045243|145243|989898|1|9999045243|MR|Test|E|Lead 45243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045244|145244|989898|1|9999045244|MR|Test|E|Lead 45244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045245|145245|989898|1|9999045245|MR|Test|E|Lead 45245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045246|145246|989898|1|9999045246|MR|Test|E|Lead 45246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045247|145247|989898|1|9999045247|MR|Test|E|Lead 45247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045248|145248|989898|1|9999045248|MR|Test|E|Lead 45248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045249|145249|989898|1|9999045249|MR|Test|E|Lead 45249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045250|145250|989898|1|9999045250|MR|Test|E|Lead 45250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045251|145251|989898|1|9999045251|MR|Test|E|Lead 45251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045252|145252|989898|1|9999045252|MR|Test|E|Lead 45252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045253|145253|989898|1|9999045253|MR|Test|E|Lead 45253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045254|145254|989898|1|9999045254|MR|Test|E|Lead 45254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045255|145255|989898|1|9999045255|MR|Test|E|Lead 45255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045256|145256|989898|1|9999045256|MR|Test|E|Lead 45256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045257|145257|989898|1|9999045257|MR|Test|E|Lead 45257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045258|145258|989898|1|9999045258|MR|Test|E|Lead 45258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045259|145259|989898|1|9999045259|MR|Test|E|Lead 45259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045260|145260|989898|1|9999045260|MR|Test|E|Lead 45260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045261|145261|989898|1|9999045261|MR|Test|E|Lead 45261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045262|145262|989898|1|9999045262|MR|Test|E|Lead 45262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045263|145263|989898|1|9999045263|MR|Test|E|Lead 45263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045264|145264|989898|1|9999045264|MR|Test|E|Lead 45264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045265|145265|989898|1|9999045265|MR|Test|E|Lead 45265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045266|145266|989898|1|9999045266|MR|Test|E|Lead 45266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045267|145267|989898|1|9999045267|MR|Test|E|Lead 45267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045268|145268|989898|1|9999045268|MR|Test|E|Lead 45268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045269|145269|989898|1|9999045269|MR|Test|E|Lead 45269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045270|145270|989898|1|9999045270|MR|Test|E|Lead 45270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045271|145271|989898|1|9999045271|MR|Test|E|Lead 45271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045272|145272|989898|1|9999045272|MR|Test|E|Lead 45272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045273|145273|989898|1|9999045273|MR|Test|E|Lead 45273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045274|145274|989898|1|9999045274|MR|Test|E|Lead 45274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045275|145275|989898|1|9999045275|MR|Test|E|Lead 45275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045276|145276|989898|1|9999045276|MR|Test|E|Lead 45276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045277|145277|989898|1|9999045277|MR|Test|E|Lead 45277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045278|145278|989898|1|9999045278|MR|Test|E|Lead 45278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045279|145279|989898|1|9999045279|MR|Test|E|Lead 45279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045280|145280|989898|1|9999045280|MR|Test|E|Lead 45280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045281|145281|989898|1|9999045281|MR|Test|E|Lead 45281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045282|145282|989898|1|9999045282|MR|Test|E|Lead 45282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045283|145283|989898|1|9999045283|MR|Test|E|Lead 45283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045284|145284|989898|1|9999045284|MR|Test|E|Lead 45284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045285|145285|989898|1|9999045285|MR|Test|E|Lead 45285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045286|145286|989898|1|9999045286|MR|Test|E|Lead 45286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045287|145287|989898|1|9999045287|MR|Test|E|Lead 45287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045288|145288|989898|1|9999045288|MR|Test|E|Lead 45288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045289|145289|989898|1|9999045289|MR|Test|E|Lead 45289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045290|145290|989898|1|9999045290|MR|Test|E|Lead 45290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045291|145291|989898|1|9999045291|MR|Test|E|Lead 45291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045292|145292|989898|1|9999045292|MR|Test|E|Lead 45292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045293|145293|989898|1|9999045293|MR|Test|E|Lead 45293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045294|145294|989898|1|9999045294|MR|Test|E|Lead 45294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045295|145295|989898|1|9999045295|MR|Test|E|Lead 45295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045296|145296|989898|1|9999045296|MR|Test|E|Lead 45296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045297|145297|989898|1|9999045297|MR|Test|E|Lead 45297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045298|145298|989898|1|9999045298|MR|Test|E|Lead 45298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045299|145299|989898|1|9999045299|MR|Test|E|Lead 45299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045300|145300|989898|1|9999045300|MR|Test|E|Lead 45300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045301|145301|989898|1|9999045301|MR|Test|E|Lead 45301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045302|145302|989898|1|9999045302|MR|Test|E|Lead 45302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045303|145303|989898|1|9999045303|MR|Test|E|Lead 45303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045304|145304|989898|1|9999045304|MR|Test|E|Lead 45304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045305|145305|989898|1|9999045305|MR|Test|E|Lead 45305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045306|145306|989898|1|9999045306|MR|Test|E|Lead 45306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045307|145307|989898|1|9999045307|MR|Test|E|Lead 45307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045308|145308|989898|1|9999045308|MR|Test|E|Lead 45308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045309|145309|989898|1|9999045309|MR|Test|E|Lead 45309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045310|145310|989898|1|9999045310|MR|Test|E|Lead 45310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045311|145311|989898|1|9999045311|MR|Test|E|Lead 45311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045312|145312|989898|1|9999045312|MR|Test|E|Lead 45312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045313|145313|989898|1|9999045313|MR|Test|E|Lead 45313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045314|145314|989898|1|9999045314|MR|Test|E|Lead 45314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045315|145315|989898|1|9999045315|MR|Test|E|Lead 45315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045316|145316|989898|1|9999045316|MR|Test|E|Lead 45316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045317|145317|989898|1|9999045317|MR|Test|E|Lead 45317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045318|145318|989898|1|9999045318|MR|Test|E|Lead 45318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045319|145319|989898|1|9999045319|MR|Test|E|Lead 45319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045320|145320|989898|1|9999045320|MR|Test|E|Lead 45320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045321|145321|989898|1|9999045321|MR|Test|E|Lead 45321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045322|145322|989898|1|9999045322|MR|Test|E|Lead 45322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045323|145323|989898|1|9999045323|MR|Test|E|Lead 45323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045324|145324|989898|1|9999045324|MR|Test|E|Lead 45324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045325|145325|989898|1|9999045325|MR|Test|E|Lead 45325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045326|145326|989898|1|9999045326|MR|Test|E|Lead 45326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045327|145327|989898|1|9999045327|MR|Test|E|Lead 45327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045328|145328|989898|1|9999045328|MR|Test|E|Lead 45328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045329|145329|989898|1|9999045329|MR|Test|E|Lead 45329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045330|145330|989898|1|9999045330|MR|Test|E|Lead 45330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045331|145331|989898|1|9999045331|MR|Test|E|Lead 45331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045332|145332|989898|1|9999045332|MR|Test|E|Lead 45332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045333|145333|989898|1|9999045333|MR|Test|E|Lead 45333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045334|145334|989898|1|9999045334|MR|Test|E|Lead 45334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045335|145335|989898|1|9999045335|MR|Test|E|Lead 45335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045336|145336|989898|1|9999045336|MR|Test|E|Lead 45336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045337|145337|989898|1|9999045337|MR|Test|E|Lead 45337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045338|145338|989898|1|9999045338|MR|Test|E|Lead 45338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045339|145339|989898|1|9999045339|MR|Test|E|Lead 45339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045340|145340|989898|1|9999045340|MR|Test|E|Lead 45340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045341|145341|989898|1|9999045341|MR|Test|E|Lead 45341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045342|145342|989898|1|9999045342|MR|Test|E|Lead 45342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045343|145343|989898|1|9999045343|MR|Test|E|Lead 45343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045344|145344|989898|1|9999045344|MR|Test|E|Lead 45344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045345|145345|989898|1|9999045345|MR|Test|E|Lead 45345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045346|145346|989898|1|9999045346|MR|Test|E|Lead 45346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045347|145347|989898|1|9999045347|MR|Test|E|Lead 45347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045348|145348|989898|1|9999045348|MR|Test|E|Lead 45348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045349|145349|989898|1|9999045349|MR|Test|E|Lead 45349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045350|145350|989898|1|9999045350|MR|Test|E|Lead 45350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045351|145351|989898|1|9999045351|MR|Test|E|Lead 45351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045352|145352|989898|1|9999045352|MR|Test|E|Lead 45352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045353|145353|989898|1|9999045353|MR|Test|E|Lead 45353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045354|145354|989898|1|9999045354|MR|Test|E|Lead 45354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045355|145355|989898|1|9999045355|MR|Test|E|Lead 45355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045356|145356|989898|1|9999045356|MR|Test|E|Lead 45356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045357|145357|989898|1|9999045357|MR|Test|E|Lead 45357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045358|145358|989898|1|9999045358|MR|Test|E|Lead 45358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045359|145359|989898|1|9999045359|MR|Test|E|Lead 45359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045360|145360|989898|1|9999045360|MR|Test|E|Lead 45360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045361|145361|989898|1|9999045361|MR|Test|E|Lead 45361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045362|145362|989898|1|9999045362|MR|Test|E|Lead 45362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045363|145363|989898|1|9999045363|MR|Test|E|Lead 45363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045364|145364|989898|1|9999045364|MR|Test|E|Lead 45364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045365|145365|989898|1|9999045365|MR|Test|E|Lead 45365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045366|145366|989898|1|9999045366|MR|Test|E|Lead 45366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045367|145367|989898|1|9999045367|MR|Test|E|Lead 45367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045368|145368|989898|1|9999045368|MR|Test|E|Lead 45368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045369|145369|989898|1|9999045369|MR|Test|E|Lead 45369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045370|145370|989898|1|9999045370|MR|Test|E|Lead 45370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045371|145371|989898|1|9999045371|MR|Test|E|Lead 45371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045372|145372|989898|1|9999045372|MR|Test|E|Lead 45372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045373|145373|989898|1|9999045373|MR|Test|E|Lead 45373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045374|145374|989898|1|9999045374|MR|Test|E|Lead 45374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045375|145375|989898|1|9999045375|MR|Test|E|Lead 45375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045376|145376|989898|1|9999045376|MR|Test|E|Lead 45376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045377|145377|989898|1|9999045377|MR|Test|E|Lead 45377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045378|145378|989898|1|9999045378|MR|Test|E|Lead 45378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045379|145379|989898|1|9999045379|MR|Test|E|Lead 45379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045380|145380|989898|1|9999045380|MR|Test|E|Lead 45380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045381|145381|989898|1|9999045381|MR|Test|E|Lead 45381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045382|145382|989898|1|9999045382|MR|Test|E|Lead 45382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045383|145383|989898|1|9999045383|MR|Test|E|Lead 45383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045384|145384|989898|1|9999045384|MR|Test|E|Lead 45384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045385|145385|989898|1|9999045385|MR|Test|E|Lead 45385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045386|145386|989898|1|9999045386|MR|Test|E|Lead 45386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045387|145387|989898|1|9999045387|MR|Test|E|Lead 45387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045388|145388|989898|1|9999045388|MR|Test|E|Lead 45388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045389|145389|989898|1|9999045389|MR|Test|E|Lead 45389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045390|145390|989898|1|9999045390|MR|Test|E|Lead 45390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045391|145391|989898|1|9999045391|MR|Test|E|Lead 45391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045392|145392|989898|1|9999045392|MR|Test|E|Lead 45392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045393|145393|989898|1|9999045393|MR|Test|E|Lead 45393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045394|145394|989898|1|9999045394|MR|Test|E|Lead 45394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045395|145395|989898|1|9999045395|MR|Test|E|Lead 45395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045396|145396|989898|1|9999045396|MR|Test|E|Lead 45396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045397|145397|989898|1|9999045397|MR|Test|E|Lead 45397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045398|145398|989898|1|9999045398|MR|Test|E|Lead 45398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045399|145399|989898|1|9999045399|MR|Test|E|Lead 45399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045400|145400|989898|1|9999045400|MR|Test|E|Lead 45400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045401|145401|989898|1|9999045401|MR|Test|E|Lead 45401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045402|145402|989898|1|9999045402|MR|Test|E|Lead 45402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045403|145403|989898|1|9999045403|MR|Test|E|Lead 45403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045404|145404|989898|1|9999045404|MR|Test|E|Lead 45404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045405|145405|989898|1|9999045405|MR|Test|E|Lead 45405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045406|145406|989898|1|9999045406|MR|Test|E|Lead 45406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045407|145407|989898|1|9999045407|MR|Test|E|Lead 45407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045408|145408|989898|1|9999045408|MR|Test|E|Lead 45408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045409|145409|989898|1|9999045409|MR|Test|E|Lead 45409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045410|145410|989898|1|9999045410|MR|Test|E|Lead 45410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045411|145411|989898|1|9999045411|MR|Test|E|Lead 45411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045412|145412|989898|1|9999045412|MR|Test|E|Lead 45412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045413|145413|989898|1|9999045413|MR|Test|E|Lead 45413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045414|145414|989898|1|9999045414|MR|Test|E|Lead 45414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045415|145415|989898|1|9999045415|MR|Test|E|Lead 45415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045416|145416|989898|1|9999045416|MR|Test|E|Lead 45416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045417|145417|989898|1|9999045417|MR|Test|E|Lead 45417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045418|145418|989898|1|9999045418|MR|Test|E|Lead 45418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045419|145419|989898|1|9999045419|MR|Test|E|Lead 45419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045420|145420|989898|1|9999045420|MR|Test|E|Lead 45420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045421|145421|989898|1|9999045421|MR|Test|E|Lead 45421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045422|145422|989898|1|9999045422|MR|Test|E|Lead 45422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045423|145423|989898|1|9999045423|MR|Test|E|Lead 45423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045424|145424|989898|1|9999045424|MR|Test|E|Lead 45424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045425|145425|989898|1|9999045425|MR|Test|E|Lead 45425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045426|145426|989898|1|9999045426|MR|Test|E|Lead 45426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045427|145427|989898|1|9999045427|MR|Test|E|Lead 45427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045428|145428|989898|1|9999045428|MR|Test|E|Lead 45428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045429|145429|989898|1|9999045429|MR|Test|E|Lead 45429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045430|145430|989898|1|9999045430|MR|Test|E|Lead 45430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045431|145431|989898|1|9999045431|MR|Test|E|Lead 45431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045432|145432|989898|1|9999045432|MR|Test|E|Lead 45432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045433|145433|989898|1|9999045433|MR|Test|E|Lead 45433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045434|145434|989898|1|9999045434|MR|Test|E|Lead 45434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045435|145435|989898|1|9999045435|MR|Test|E|Lead 45435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045436|145436|989898|1|9999045436|MR|Test|E|Lead 45436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045437|145437|989898|1|9999045437|MR|Test|E|Lead 45437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045438|145438|989898|1|9999045438|MR|Test|E|Lead 45438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045439|145439|989898|1|9999045439|MR|Test|E|Lead 45439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045440|145440|989898|1|9999045440|MR|Test|E|Lead 45440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045441|145441|989898|1|9999045441|MR|Test|E|Lead 45441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045442|145442|989898|1|9999045442|MR|Test|E|Lead 45442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045443|145443|989898|1|9999045443|MR|Test|E|Lead 45443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045444|145444|989898|1|9999045444|MR|Test|E|Lead 45444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045445|145445|989898|1|9999045445|MR|Test|E|Lead 45445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045446|145446|989898|1|9999045446|MR|Test|E|Lead 45446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045447|145447|989898|1|9999045447|MR|Test|E|Lead 45447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045448|145448|989898|1|9999045448|MR|Test|E|Lead 45448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045449|145449|989898|1|9999045449|MR|Test|E|Lead 45449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045450|145450|989898|1|9999045450|MR|Test|E|Lead 45450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045451|145451|989898|1|9999045451|MR|Test|E|Lead 45451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045452|145452|989898|1|9999045452|MR|Test|E|Lead 45452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045453|145453|989898|1|9999045453|MR|Test|E|Lead 45453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045454|145454|989898|1|9999045454|MR|Test|E|Lead 45454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045455|145455|989898|1|9999045455|MR|Test|E|Lead 45455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045456|145456|989898|1|9999045456|MR|Test|E|Lead 45456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045457|145457|989898|1|9999045457|MR|Test|E|Lead 45457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045458|145458|989898|1|9999045458|MR|Test|E|Lead 45458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045459|145459|989898|1|9999045459|MR|Test|E|Lead 45459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045460|145460|989898|1|9999045460|MR|Test|E|Lead 45460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045461|145461|989898|1|9999045461|MR|Test|E|Lead 45461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045462|145462|989898|1|9999045462|MR|Test|E|Lead 45462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045463|145463|989898|1|9999045463|MR|Test|E|Lead 45463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045464|145464|989898|1|9999045464|MR|Test|E|Lead 45464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045465|145465|989898|1|9999045465|MR|Test|E|Lead 45465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045466|145466|989898|1|9999045466|MR|Test|E|Lead 45466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045467|145467|989898|1|9999045467|MR|Test|E|Lead 45467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045468|145468|989898|1|9999045468|MR|Test|E|Lead 45468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045469|145469|989898|1|9999045469|MR|Test|E|Lead 45469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045470|145470|989898|1|9999045470|MR|Test|E|Lead 45470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045471|145471|989898|1|9999045471|MR|Test|E|Lead 45471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045472|145472|989898|1|9999045472|MR|Test|E|Lead 45472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045473|145473|989898|1|9999045473|MR|Test|E|Lead 45473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045474|145474|989898|1|9999045474|MR|Test|E|Lead 45474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045475|145475|989898|1|9999045475|MR|Test|E|Lead 45475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045476|145476|989898|1|9999045476|MR|Test|E|Lead 45476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045477|145477|989898|1|9999045477|MR|Test|E|Lead 45477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045478|145478|989898|1|9999045478|MR|Test|E|Lead 45478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045479|145479|989898|1|9999045479|MR|Test|E|Lead 45479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045480|145480|989898|1|9999045480|MR|Test|E|Lead 45480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045481|145481|989898|1|9999045481|MR|Test|E|Lead 45481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045482|145482|989898|1|9999045482|MR|Test|E|Lead 45482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045483|145483|989898|1|9999045483|MR|Test|E|Lead 45483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045484|145484|989898|1|9999045484|MR|Test|E|Lead 45484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045485|145485|989898|1|9999045485|MR|Test|E|Lead 45485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045486|145486|989898|1|9999045486|MR|Test|E|Lead 45486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045487|145487|989898|1|9999045487|MR|Test|E|Lead 45487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045488|145488|989898|1|9999045488|MR|Test|E|Lead 45488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045489|145489|989898|1|9999045489|MR|Test|E|Lead 45489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045490|145490|989898|1|9999045490|MR|Test|E|Lead 45490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045491|145491|989898|1|9999045491|MR|Test|E|Lead 45491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045492|145492|989898|1|9999045492|MR|Test|E|Lead 45492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045493|145493|989898|1|9999045493|MR|Test|E|Lead 45493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045494|145494|989898|1|9999045494|MR|Test|E|Lead 45494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045495|145495|989898|1|9999045495|MR|Test|E|Lead 45495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045496|145496|989898|1|9999045496|MR|Test|E|Lead 45496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045497|145497|989898|1|9999045497|MR|Test|E|Lead 45497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045498|145498|989898|1|9999045498|MR|Test|E|Lead 45498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045499|145499|989898|1|9999045499|MR|Test|E|Lead 45499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045500|145500|989898|1|9999045500|MR|Test|E|Lead 45500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045501|145501|989898|1|9999045501|MR|Test|E|Lead 45501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045502|145502|989898|1|9999045502|MR|Test|E|Lead 45502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045503|145503|989898|1|9999045503|MR|Test|E|Lead 45503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045504|145504|989898|1|9999045504|MR|Test|E|Lead 45504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045505|145505|989898|1|9999045505|MR|Test|E|Lead 45505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045506|145506|989898|1|9999045506|MR|Test|E|Lead 45506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045507|145507|989898|1|9999045507|MR|Test|E|Lead 45507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045508|145508|989898|1|9999045508|MR|Test|E|Lead 45508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045509|145509|989898|1|9999045509|MR|Test|E|Lead 45509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045510|145510|989898|1|9999045510|MR|Test|E|Lead 45510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045511|145511|989898|1|9999045511|MR|Test|E|Lead 45511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045512|145512|989898|1|9999045512|MR|Test|E|Lead 45512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045513|145513|989898|1|9999045513|MR|Test|E|Lead 45513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045514|145514|989898|1|9999045514|MR|Test|E|Lead 45514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045515|145515|989898|1|9999045515|MR|Test|E|Lead 45515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045516|145516|989898|1|9999045516|MR|Test|E|Lead 45516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045517|145517|989898|1|9999045517|MR|Test|E|Lead 45517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045518|145518|989898|1|9999045518|MR|Test|E|Lead 45518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045519|145519|989898|1|9999045519|MR|Test|E|Lead 45519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045520|145520|989898|1|9999045520|MR|Test|E|Lead 45520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045521|145521|989898|1|9999045521|MR|Test|E|Lead 45521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045522|145522|989898|1|9999045522|MR|Test|E|Lead 45522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045523|145523|989898|1|9999045523|MR|Test|E|Lead 45523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045524|145524|989898|1|9999045524|MR|Test|E|Lead 45524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045525|145525|989898|1|9999045525|MR|Test|E|Lead 45525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045526|145526|989898|1|9999045526|MR|Test|E|Lead 45526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045527|145527|989898|1|9999045527|MR|Test|E|Lead 45527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045528|145528|989898|1|9999045528|MR|Test|E|Lead 45528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045529|145529|989898|1|9999045529|MR|Test|E|Lead 45529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045530|145530|989898|1|9999045530|MR|Test|E|Lead 45530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045531|145531|989898|1|9999045531|MR|Test|E|Lead 45531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045532|145532|989898|1|9999045532|MR|Test|E|Lead 45532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045533|145533|989898|1|9999045533|MR|Test|E|Lead 45533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045534|145534|989898|1|9999045534|MR|Test|E|Lead 45534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045535|145535|989898|1|9999045535|MR|Test|E|Lead 45535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045536|145536|989898|1|9999045536|MR|Test|E|Lead 45536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045537|145537|989898|1|9999045537|MR|Test|E|Lead 45537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045538|145538|989898|1|9999045538|MR|Test|E|Lead 45538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045539|145539|989898|1|9999045539|MR|Test|E|Lead 45539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045540|145540|989898|1|9999045540|MR|Test|E|Lead 45540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045541|145541|989898|1|9999045541|MR|Test|E|Lead 45541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045542|145542|989898|1|9999045542|MR|Test|E|Lead 45542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045543|145543|989898|1|9999045543|MR|Test|E|Lead 45543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045544|145544|989898|1|9999045544|MR|Test|E|Lead 45544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045545|145545|989898|1|9999045545|MR|Test|E|Lead 45545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045546|145546|989898|1|9999045546|MR|Test|E|Lead 45546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045547|145547|989898|1|9999045547|MR|Test|E|Lead 45547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045548|145548|989898|1|9999045548|MR|Test|E|Lead 45548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045549|145549|989898|1|9999045549|MR|Test|E|Lead 45549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045550|145550|989898|1|9999045550|MR|Test|E|Lead 45550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045551|145551|989898|1|9999045551|MR|Test|E|Lead 45551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045552|145552|989898|1|9999045552|MR|Test|E|Lead 45552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045553|145553|989898|1|9999045553|MR|Test|E|Lead 45553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045554|145554|989898|1|9999045554|MR|Test|E|Lead 45554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045555|145555|989898|1|9999045555|MR|Test|E|Lead 45555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045556|145556|989898|1|9999045556|MR|Test|E|Lead 45556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045557|145557|989898|1|9999045557|MR|Test|E|Lead 45557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045558|145558|989898|1|9999045558|MR|Test|E|Lead 45558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045559|145559|989898|1|9999045559|MR|Test|E|Lead 45559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045560|145560|989898|1|9999045560|MR|Test|E|Lead 45560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045561|145561|989898|1|9999045561|MR|Test|E|Lead 45561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045562|145562|989898|1|9999045562|MR|Test|E|Lead 45562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045563|145563|989898|1|9999045563|MR|Test|E|Lead 45563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045564|145564|989898|1|9999045564|MR|Test|E|Lead 45564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045565|145565|989898|1|9999045565|MR|Test|E|Lead 45565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045566|145566|989898|1|9999045566|MR|Test|E|Lead 45566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045567|145567|989898|1|9999045567|MR|Test|E|Lead 45567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045568|145568|989898|1|9999045568|MR|Test|E|Lead 45568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045569|145569|989898|1|9999045569|MR|Test|E|Lead 45569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045570|145570|989898|1|9999045570|MR|Test|E|Lead 45570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045571|145571|989898|1|9999045571|MR|Test|E|Lead 45571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045572|145572|989898|1|9999045572|MR|Test|E|Lead 45572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045573|145573|989898|1|9999045573|MR|Test|E|Lead 45573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045574|145574|989898|1|9999045574|MR|Test|E|Lead 45574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045575|145575|989898|1|9999045575|MR|Test|E|Lead 45575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045576|145576|989898|1|9999045576|MR|Test|E|Lead 45576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045577|145577|989898|1|9999045577|MR|Test|E|Lead 45577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045578|145578|989898|1|9999045578|MR|Test|E|Lead 45578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045579|145579|989898|1|9999045579|MR|Test|E|Lead 45579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045580|145580|989898|1|9999045580|MR|Test|E|Lead 45580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045581|145581|989898|1|9999045581|MR|Test|E|Lead 45581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045582|145582|989898|1|9999045582|MR|Test|E|Lead 45582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045583|145583|989898|1|9999045583|MR|Test|E|Lead 45583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045584|145584|989898|1|9999045584|MR|Test|E|Lead 45584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045585|145585|989898|1|9999045585|MR|Test|E|Lead 45585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045586|145586|989898|1|9999045586|MR|Test|E|Lead 45586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045587|145587|989898|1|9999045587|MR|Test|E|Lead 45587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045588|145588|989898|1|9999045588|MR|Test|E|Lead 45588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045589|145589|989898|1|9999045589|MR|Test|E|Lead 45589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045590|145590|989898|1|9999045590|MR|Test|E|Lead 45590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045591|145591|989898|1|9999045591|MR|Test|E|Lead 45591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045592|145592|989898|1|9999045592|MR|Test|E|Lead 45592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045593|145593|989898|1|9999045593|MR|Test|E|Lead 45593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045594|145594|989898|1|9999045594|MR|Test|E|Lead 45594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045595|145595|989898|1|9999045595|MR|Test|E|Lead 45595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045596|145596|989898|1|9999045596|MR|Test|E|Lead 45596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045597|145597|989898|1|9999045597|MR|Test|E|Lead 45597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045598|145598|989898|1|9999045598|MR|Test|E|Lead 45598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045599|145599|989898|1|9999045599|MR|Test|E|Lead 45599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045600|145600|989898|1|9999045600|MR|Test|E|Lead 45600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045601|145601|989898|1|9999045601|MR|Test|E|Lead 45601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045602|145602|989898|1|9999045602|MR|Test|E|Lead 45602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045603|145603|989898|1|9999045603|MR|Test|E|Lead 45603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045604|145604|989898|1|9999045604|MR|Test|E|Lead 45604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045605|145605|989898|1|9999045605|MR|Test|E|Lead 45605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045606|145606|989898|1|9999045606|MR|Test|E|Lead 45606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045607|145607|989898|1|9999045607|MR|Test|E|Lead 45607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045608|145608|989898|1|9999045608|MR|Test|E|Lead 45608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045609|145609|989898|1|9999045609|MR|Test|E|Lead 45609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045610|145610|989898|1|9999045610|MR|Test|E|Lead 45610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045611|145611|989898|1|9999045611|MR|Test|E|Lead 45611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045612|145612|989898|1|9999045612|MR|Test|E|Lead 45612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045613|145613|989898|1|9999045613|MR|Test|E|Lead 45613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045614|145614|989898|1|9999045614|MR|Test|E|Lead 45614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045615|145615|989898|1|9999045615|MR|Test|E|Lead 45615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045616|145616|989898|1|9999045616|MR|Test|E|Lead 45616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045617|145617|989898|1|9999045617|MR|Test|E|Lead 45617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045618|145618|989898|1|9999045618|MR|Test|E|Lead 45618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045619|145619|989898|1|9999045619|MR|Test|E|Lead 45619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045620|145620|989898|1|9999045620|MR|Test|E|Lead 45620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045621|145621|989898|1|9999045621|MR|Test|E|Lead 45621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045622|145622|989898|1|9999045622|MR|Test|E|Lead 45622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045623|145623|989898|1|9999045623|MR|Test|E|Lead 45623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045624|145624|989898|1|9999045624|MR|Test|E|Lead 45624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045625|145625|989898|1|9999045625|MR|Test|E|Lead 45625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045626|145626|989898|1|9999045626|MR|Test|E|Lead 45626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045627|145627|989898|1|9999045627|MR|Test|E|Lead 45627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045628|145628|989898|1|9999045628|MR|Test|E|Lead 45628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045629|145629|989898|1|9999045629|MR|Test|E|Lead 45629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045630|145630|989898|1|9999045630|MR|Test|E|Lead 45630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045631|145631|989898|1|9999045631|MR|Test|E|Lead 45631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045632|145632|989898|1|9999045632|MR|Test|E|Lead 45632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045633|145633|989898|1|9999045633|MR|Test|E|Lead 45633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045634|145634|989898|1|9999045634|MR|Test|E|Lead 45634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045635|145635|989898|1|9999045635|MR|Test|E|Lead 45635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045636|145636|989898|1|9999045636|MR|Test|E|Lead 45636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045637|145637|989898|1|9999045637|MR|Test|E|Lead 45637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045638|145638|989898|1|9999045638|MR|Test|E|Lead 45638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045639|145639|989898|1|9999045639|MR|Test|E|Lead 45639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045640|145640|989898|1|9999045640|MR|Test|E|Lead 45640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045641|145641|989898|1|9999045641|MR|Test|E|Lead 45641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045642|145642|989898|1|9999045642|MR|Test|E|Lead 45642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045643|145643|989898|1|9999045643|MR|Test|E|Lead 45643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045644|145644|989898|1|9999045644|MR|Test|E|Lead 45644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045645|145645|989898|1|9999045645|MR|Test|E|Lead 45645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045646|145646|989898|1|9999045646|MR|Test|E|Lead 45646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045647|145647|989898|1|9999045647|MR|Test|E|Lead 45647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045648|145648|989898|1|9999045648|MR|Test|E|Lead 45648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045649|145649|989898|1|9999045649|MR|Test|E|Lead 45649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045650|145650|989898|1|9999045650|MR|Test|E|Lead 45650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045651|145651|989898|1|9999045651|MR|Test|E|Lead 45651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045652|145652|989898|1|9999045652|MR|Test|E|Lead 45652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045653|145653|989898|1|9999045653|MR|Test|E|Lead 45653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045654|145654|989898|1|9999045654|MR|Test|E|Lead 45654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045655|145655|989898|1|9999045655|MR|Test|E|Lead 45655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045656|145656|989898|1|9999045656|MR|Test|E|Lead 45656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045657|145657|989898|1|9999045657|MR|Test|E|Lead 45657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045658|145658|989898|1|9999045658|MR|Test|E|Lead 45658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045659|145659|989898|1|9999045659|MR|Test|E|Lead 45659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045660|145660|989898|1|9999045660|MR|Test|E|Lead 45660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045661|145661|989898|1|9999045661|MR|Test|E|Lead 45661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045662|145662|989898|1|9999045662|MR|Test|E|Lead 45662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045663|145663|989898|1|9999045663|MR|Test|E|Lead 45663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045664|145664|989898|1|9999045664|MR|Test|E|Lead 45664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045665|145665|989898|1|9999045665|MR|Test|E|Lead 45665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045666|145666|989898|1|9999045666|MR|Test|E|Lead 45666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045667|145667|989898|1|9999045667|MR|Test|E|Lead 45667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045668|145668|989898|1|9999045668|MR|Test|E|Lead 45668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045669|145669|989898|1|9999045669|MR|Test|E|Lead 45669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045670|145670|989898|1|9999045670|MR|Test|E|Lead 45670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045671|145671|989898|1|9999045671|MR|Test|E|Lead 45671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045672|145672|989898|1|9999045672|MR|Test|E|Lead 45672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045673|145673|989898|1|9999045673|MR|Test|E|Lead 45673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045674|145674|989898|1|9999045674|MR|Test|E|Lead 45674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045675|145675|989898|1|9999045675|MR|Test|E|Lead 45675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045676|145676|989898|1|9999045676|MR|Test|E|Lead 45676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045677|145677|989898|1|9999045677|MR|Test|E|Lead 45677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045678|145678|989898|1|9999045678|MR|Test|E|Lead 45678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045679|145679|989898|1|9999045679|MR|Test|E|Lead 45679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045680|145680|989898|1|9999045680|MR|Test|E|Lead 45680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045681|145681|989898|1|9999045681|MR|Test|E|Lead 45681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045682|145682|989898|1|9999045682|MR|Test|E|Lead 45682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045683|145683|989898|1|9999045683|MR|Test|E|Lead 45683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045684|145684|989898|1|9999045684|MR|Test|E|Lead 45684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045685|145685|989898|1|9999045685|MR|Test|E|Lead 45685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045686|145686|989898|1|9999045686|MR|Test|E|Lead 45686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045687|145687|989898|1|9999045687|MR|Test|E|Lead 45687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045688|145688|989898|1|9999045688|MR|Test|E|Lead 45688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045689|145689|989898|1|9999045689|MR|Test|E|Lead 45689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045690|145690|989898|1|9999045690|MR|Test|E|Lead 45690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045691|145691|989898|1|9999045691|MR|Test|E|Lead 45691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045692|145692|989898|1|9999045692|MR|Test|E|Lead 45692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045693|145693|989898|1|9999045693|MR|Test|E|Lead 45693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045694|145694|989898|1|9999045694|MR|Test|E|Lead 45694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045695|145695|989898|1|9999045695|MR|Test|E|Lead 45695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045696|145696|989898|1|9999045696|MR|Test|E|Lead 45696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045697|145697|989898|1|9999045697|MR|Test|E|Lead 45697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045698|145698|989898|1|9999045698|MR|Test|E|Lead 45698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045699|145699|989898|1|9999045699|MR|Test|E|Lead 45699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045700|145700|989898|1|9999045700|MR|Test|E|Lead 45700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045701|145701|989898|1|9999045701|MR|Test|E|Lead 45701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045702|145702|989898|1|9999045702|MR|Test|E|Lead 45702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045703|145703|989898|1|9999045703|MR|Test|E|Lead 45703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045704|145704|989898|1|9999045704|MR|Test|E|Lead 45704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045705|145705|989898|1|9999045705|MR|Test|E|Lead 45705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045706|145706|989898|1|9999045706|MR|Test|E|Lead 45706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045707|145707|989898|1|9999045707|MR|Test|E|Lead 45707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045708|145708|989898|1|9999045708|MR|Test|E|Lead 45708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045709|145709|989898|1|9999045709|MR|Test|E|Lead 45709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045710|145710|989898|1|9999045710|MR|Test|E|Lead 45710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045711|145711|989898|1|9999045711|MR|Test|E|Lead 45711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045712|145712|989898|1|9999045712|MR|Test|E|Lead 45712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045713|145713|989898|1|9999045713|MR|Test|E|Lead 45713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045714|145714|989898|1|9999045714|MR|Test|E|Lead 45714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045715|145715|989898|1|9999045715|MR|Test|E|Lead 45715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045716|145716|989898|1|9999045716|MR|Test|E|Lead 45716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045717|145717|989898|1|9999045717|MR|Test|E|Lead 45717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045718|145718|989898|1|9999045718|MR|Test|E|Lead 45718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045719|145719|989898|1|9999045719|MR|Test|E|Lead 45719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045720|145720|989898|1|9999045720|MR|Test|E|Lead 45720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045721|145721|989898|1|9999045721|MR|Test|E|Lead 45721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045722|145722|989898|1|9999045722|MR|Test|E|Lead 45722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045723|145723|989898|1|9999045723|MR|Test|E|Lead 45723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045724|145724|989898|1|9999045724|MR|Test|E|Lead 45724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045725|145725|989898|1|9999045725|MR|Test|E|Lead 45725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045726|145726|989898|1|9999045726|MR|Test|E|Lead 45726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045727|145727|989898|1|9999045727|MR|Test|E|Lead 45727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045728|145728|989898|1|9999045728|MR|Test|E|Lead 45728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045729|145729|989898|1|9999045729|MR|Test|E|Lead 45729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045730|145730|989898|1|9999045730|MR|Test|E|Lead 45730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045731|145731|989898|1|9999045731|MR|Test|E|Lead 45731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045732|145732|989898|1|9999045732|MR|Test|E|Lead 45732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045733|145733|989898|1|9999045733|MR|Test|E|Lead 45733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045734|145734|989898|1|9999045734|MR|Test|E|Lead 45734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045735|145735|989898|1|9999045735|MR|Test|E|Lead 45735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045736|145736|989898|1|9999045736|MR|Test|E|Lead 45736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045737|145737|989898|1|9999045737|MR|Test|E|Lead 45737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045738|145738|989898|1|9999045738|MR|Test|E|Lead 45738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045739|145739|989898|1|9999045739|MR|Test|E|Lead 45739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045740|145740|989898|1|9999045740|MR|Test|E|Lead 45740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045741|145741|989898|1|9999045741|MR|Test|E|Lead 45741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045742|145742|989898|1|9999045742|MR|Test|E|Lead 45742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045743|145743|989898|1|9999045743|MR|Test|E|Lead 45743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045744|145744|989898|1|9999045744|MR|Test|E|Lead 45744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045745|145745|989898|1|9999045745|MR|Test|E|Lead 45745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045746|145746|989898|1|9999045746|MR|Test|E|Lead 45746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045747|145747|989898|1|9999045747|MR|Test|E|Lead 45747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045748|145748|989898|1|9999045748|MR|Test|E|Lead 45748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045749|145749|989898|1|9999045749|MR|Test|E|Lead 45749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045750|145750|989898|1|9999045750|MR|Test|E|Lead 45750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045751|145751|989898|1|9999045751|MR|Test|E|Lead 45751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045752|145752|989898|1|9999045752|MR|Test|E|Lead 45752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045753|145753|989898|1|9999045753|MR|Test|E|Lead 45753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045754|145754|989898|1|9999045754|MR|Test|E|Lead 45754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045755|145755|989898|1|9999045755|MR|Test|E|Lead 45755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045756|145756|989898|1|9999045756|MR|Test|E|Lead 45756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045757|145757|989898|1|9999045757|MR|Test|E|Lead 45757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045758|145758|989898|1|9999045758|MR|Test|E|Lead 45758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045759|145759|989898|1|9999045759|MR|Test|E|Lead 45759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045760|145760|989898|1|9999045760|MR|Test|E|Lead 45760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045761|145761|989898|1|9999045761|MR|Test|E|Lead 45761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045762|145762|989898|1|9999045762|MR|Test|E|Lead 45762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045763|145763|989898|1|9999045763|MR|Test|E|Lead 45763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045764|145764|989898|1|9999045764|MR|Test|E|Lead 45764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045765|145765|989898|1|9999045765|MR|Test|E|Lead 45765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045766|145766|989898|1|9999045766|MR|Test|E|Lead 45766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045767|145767|989898|1|9999045767|MR|Test|E|Lead 45767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045768|145768|989898|1|9999045768|MR|Test|E|Lead 45768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045769|145769|989898|1|9999045769|MR|Test|E|Lead 45769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045770|145770|989898|1|9999045770|MR|Test|E|Lead 45770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045771|145771|989898|1|9999045771|MR|Test|E|Lead 45771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045772|145772|989898|1|9999045772|MR|Test|E|Lead 45772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045773|145773|989898|1|9999045773|MR|Test|E|Lead 45773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045774|145774|989898|1|9999045774|MR|Test|E|Lead 45774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045775|145775|989898|1|9999045775|MR|Test|E|Lead 45775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045776|145776|989898|1|9999045776|MR|Test|E|Lead 45776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045777|145777|989898|1|9999045777|MR|Test|E|Lead 45777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045778|145778|989898|1|9999045778|MR|Test|E|Lead 45778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045779|145779|989898|1|9999045779|MR|Test|E|Lead 45779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045780|145780|989898|1|9999045780|MR|Test|E|Lead 45780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045781|145781|989898|1|9999045781|MR|Test|E|Lead 45781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045782|145782|989898|1|9999045782|MR|Test|E|Lead 45782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045783|145783|989898|1|9999045783|MR|Test|E|Lead 45783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045784|145784|989898|1|9999045784|MR|Test|E|Lead 45784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045785|145785|989898|1|9999045785|MR|Test|E|Lead 45785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045786|145786|989898|1|9999045786|MR|Test|E|Lead 45786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045787|145787|989898|1|9999045787|MR|Test|E|Lead 45787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045788|145788|989898|1|9999045788|MR|Test|E|Lead 45788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045789|145789|989898|1|9999045789|MR|Test|E|Lead 45789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045790|145790|989898|1|9999045790|MR|Test|E|Lead 45790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045791|145791|989898|1|9999045791|MR|Test|E|Lead 45791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045792|145792|989898|1|9999045792|MR|Test|E|Lead 45792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045793|145793|989898|1|9999045793|MR|Test|E|Lead 45793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045794|145794|989898|1|9999045794|MR|Test|E|Lead 45794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045795|145795|989898|1|9999045795|MR|Test|E|Lead 45795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045796|145796|989898|1|9999045796|MR|Test|E|Lead 45796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045797|145797|989898|1|9999045797|MR|Test|E|Lead 45797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045798|145798|989898|1|9999045798|MR|Test|E|Lead 45798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045799|145799|989898|1|9999045799|MR|Test|E|Lead 45799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045800|145800|989898|1|9999045800|MR|Test|E|Lead 45800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045801|145801|989898|1|9999045801|MR|Test|E|Lead 45801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045802|145802|989898|1|9999045802|MR|Test|E|Lead 45802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045803|145803|989898|1|9999045803|MR|Test|E|Lead 45803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045804|145804|989898|1|9999045804|MR|Test|E|Lead 45804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045805|145805|989898|1|9999045805|MR|Test|E|Lead 45805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045806|145806|989898|1|9999045806|MR|Test|E|Lead 45806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045807|145807|989898|1|9999045807|MR|Test|E|Lead 45807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045808|145808|989898|1|9999045808|MR|Test|E|Lead 45808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045809|145809|989898|1|9999045809|MR|Test|E|Lead 45809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045810|145810|989898|1|9999045810|MR|Test|E|Lead 45810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045811|145811|989898|1|9999045811|MR|Test|E|Lead 45811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045812|145812|989898|1|9999045812|MR|Test|E|Lead 45812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045813|145813|989898|1|9999045813|MR|Test|E|Lead 45813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045814|145814|989898|1|9999045814|MR|Test|E|Lead 45814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045815|145815|989898|1|9999045815|MR|Test|E|Lead 45815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045816|145816|989898|1|9999045816|MR|Test|E|Lead 45816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045817|145817|989898|1|9999045817|MR|Test|E|Lead 45817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045818|145818|989898|1|9999045818|MR|Test|E|Lead 45818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045819|145819|989898|1|9999045819|MR|Test|E|Lead 45819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045820|145820|989898|1|9999045820|MR|Test|E|Lead 45820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045821|145821|989898|1|9999045821|MR|Test|E|Lead 45821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045822|145822|989898|1|9999045822|MR|Test|E|Lead 45822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045823|145823|989898|1|9999045823|MR|Test|E|Lead 45823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045824|145824|989898|1|9999045824|MR|Test|E|Lead 45824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045825|145825|989898|1|9999045825|MR|Test|E|Lead 45825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045826|145826|989898|1|9999045826|MR|Test|E|Lead 45826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045827|145827|989898|1|9999045827|MR|Test|E|Lead 45827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045828|145828|989898|1|9999045828|MR|Test|E|Lead 45828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045829|145829|989898|1|9999045829|MR|Test|E|Lead 45829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045830|145830|989898|1|9999045830|MR|Test|E|Lead 45830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045831|145831|989898|1|9999045831|MR|Test|E|Lead 45831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045832|145832|989898|1|9999045832|MR|Test|E|Lead 45832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045833|145833|989898|1|9999045833|MR|Test|E|Lead 45833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045834|145834|989898|1|9999045834|MR|Test|E|Lead 45834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045835|145835|989898|1|9999045835|MR|Test|E|Lead 45835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045836|145836|989898|1|9999045836|MR|Test|E|Lead 45836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045837|145837|989898|1|9999045837|MR|Test|E|Lead 45837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045838|145838|989898|1|9999045838|MR|Test|E|Lead 45838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045839|145839|989898|1|9999045839|MR|Test|E|Lead 45839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045840|145840|989898|1|9999045840|MR|Test|E|Lead 45840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045841|145841|989898|1|9999045841|MR|Test|E|Lead 45841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045842|145842|989898|1|9999045842|MR|Test|E|Lead 45842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045843|145843|989898|1|9999045843|MR|Test|E|Lead 45843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045844|145844|989898|1|9999045844|MR|Test|E|Lead 45844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045845|145845|989898|1|9999045845|MR|Test|E|Lead 45845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045846|145846|989898|1|9999045846|MR|Test|E|Lead 45846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045847|145847|989898|1|9999045847|MR|Test|E|Lead 45847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045848|145848|989898|1|9999045848|MR|Test|E|Lead 45848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045849|145849|989898|1|9999045849|MR|Test|E|Lead 45849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045850|145850|989898|1|9999045850|MR|Test|E|Lead 45850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045851|145851|989898|1|9999045851|MR|Test|E|Lead 45851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045852|145852|989898|1|9999045852|MR|Test|E|Lead 45852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045853|145853|989898|1|9999045853|MR|Test|E|Lead 45853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045854|145854|989898|1|9999045854|MR|Test|E|Lead 45854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045855|145855|989898|1|9999045855|MR|Test|E|Lead 45855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045856|145856|989898|1|9999045856|MR|Test|E|Lead 45856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045857|145857|989898|1|9999045857|MR|Test|E|Lead 45857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045858|145858|989898|1|9999045858|MR|Test|E|Lead 45858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045859|145859|989898|1|9999045859|MR|Test|E|Lead 45859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045860|145860|989898|1|9999045860|MR|Test|E|Lead 45860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045861|145861|989898|1|9999045861|MR|Test|E|Lead 45861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045862|145862|989898|1|9999045862|MR|Test|E|Lead 45862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045863|145863|989898|1|9999045863|MR|Test|E|Lead 45863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045864|145864|989898|1|9999045864|MR|Test|E|Lead 45864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045865|145865|989898|1|9999045865|MR|Test|E|Lead 45865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045866|145866|989898|1|9999045866|MR|Test|E|Lead 45866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045867|145867|989898|1|9999045867|MR|Test|E|Lead 45867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045868|145868|989898|1|9999045868|MR|Test|E|Lead 45868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045869|145869|989898|1|9999045869|MR|Test|E|Lead 45869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045870|145870|989898|1|9999045870|MR|Test|E|Lead 45870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045871|145871|989898|1|9999045871|MR|Test|E|Lead 45871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045872|145872|989898|1|9999045872|MR|Test|E|Lead 45872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045873|145873|989898|1|9999045873|MR|Test|E|Lead 45873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045874|145874|989898|1|9999045874|MR|Test|E|Lead 45874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045875|145875|989898|1|9999045875|MR|Test|E|Lead 45875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045876|145876|989898|1|9999045876|MR|Test|E|Lead 45876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045877|145877|989898|1|9999045877|MR|Test|E|Lead 45877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045878|145878|989898|1|9999045878|MR|Test|E|Lead 45878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045879|145879|989898|1|9999045879|MR|Test|E|Lead 45879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045880|145880|989898|1|9999045880|MR|Test|E|Lead 45880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045881|145881|989898|1|9999045881|MR|Test|E|Lead 45881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045882|145882|989898|1|9999045882|MR|Test|E|Lead 45882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045883|145883|989898|1|9999045883|MR|Test|E|Lead 45883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045884|145884|989898|1|9999045884|MR|Test|E|Lead 45884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045885|145885|989898|1|9999045885|MR|Test|E|Lead 45885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045886|145886|989898|1|9999045886|MR|Test|E|Lead 45886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045887|145887|989898|1|9999045887|MR|Test|E|Lead 45887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045888|145888|989898|1|9999045888|MR|Test|E|Lead 45888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045889|145889|989898|1|9999045889|MR|Test|E|Lead 45889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045890|145890|989898|1|9999045890|MR|Test|E|Lead 45890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045891|145891|989898|1|9999045891|MR|Test|E|Lead 45891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045892|145892|989898|1|9999045892|MR|Test|E|Lead 45892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045893|145893|989898|1|9999045893|MR|Test|E|Lead 45893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045894|145894|989898|1|9999045894|MR|Test|E|Lead 45894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045895|145895|989898|1|9999045895|MR|Test|E|Lead 45895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045896|145896|989898|1|9999045896|MR|Test|E|Lead 45896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045897|145897|989898|1|9999045897|MR|Test|E|Lead 45897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045898|145898|989898|1|9999045898|MR|Test|E|Lead 45898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045899|145899|989898|1|9999045899|MR|Test|E|Lead 45899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045900|145900|989898|1|9999045900|MR|Test|E|Lead 45900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045901|145901|989898|1|9999045901|MR|Test|E|Lead 45901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045902|145902|989898|1|9999045902|MR|Test|E|Lead 45902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045903|145903|989898|1|9999045903|MR|Test|E|Lead 45903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045904|145904|989898|1|9999045904|MR|Test|E|Lead 45904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045905|145905|989898|1|9999045905|MR|Test|E|Lead 45905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045906|145906|989898|1|9999045906|MR|Test|E|Lead 45906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045907|145907|989898|1|9999045907|MR|Test|E|Lead 45907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045908|145908|989898|1|9999045908|MR|Test|E|Lead 45908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045909|145909|989898|1|9999045909|MR|Test|E|Lead 45909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045910|145910|989898|1|9999045910|MR|Test|E|Lead 45910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045911|145911|989898|1|9999045911|MR|Test|E|Lead 45911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045912|145912|989898|1|9999045912|MR|Test|E|Lead 45912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045913|145913|989898|1|9999045913|MR|Test|E|Lead 45913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045914|145914|989898|1|9999045914|MR|Test|E|Lead 45914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045915|145915|989898|1|9999045915|MR|Test|E|Lead 45915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045916|145916|989898|1|9999045916|MR|Test|E|Lead 45916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045917|145917|989898|1|9999045917|MR|Test|E|Lead 45917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045918|145918|989898|1|9999045918|MR|Test|E|Lead 45918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045919|145919|989898|1|9999045919|MR|Test|E|Lead 45919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045920|145920|989898|1|9999045920|MR|Test|E|Lead 45920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045921|145921|989898|1|9999045921|MR|Test|E|Lead 45921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045922|145922|989898|1|9999045922|MR|Test|E|Lead 45922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045923|145923|989898|1|9999045923|MR|Test|E|Lead 45923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045924|145924|989898|1|9999045924|MR|Test|E|Lead 45924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045925|145925|989898|1|9999045925|MR|Test|E|Lead 45925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045926|145926|989898|1|9999045926|MR|Test|E|Lead 45926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045927|145927|989898|1|9999045927|MR|Test|E|Lead 45927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045928|145928|989898|1|9999045928|MR|Test|E|Lead 45928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045929|145929|989898|1|9999045929|MR|Test|E|Lead 45929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045930|145930|989898|1|9999045930|MR|Test|E|Lead 45930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045931|145931|989898|1|9999045931|MR|Test|E|Lead 45931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045932|145932|989898|1|9999045932|MR|Test|E|Lead 45932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045933|145933|989898|1|9999045933|MR|Test|E|Lead 45933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045934|145934|989898|1|9999045934|MR|Test|E|Lead 45934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045935|145935|989898|1|9999045935|MR|Test|E|Lead 45935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045936|145936|989898|1|9999045936|MR|Test|E|Lead 45936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045937|145937|989898|1|9999045937|MR|Test|E|Lead 45937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045938|145938|989898|1|9999045938|MR|Test|E|Lead 45938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045939|145939|989898|1|9999045939|MR|Test|E|Lead 45939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045940|145940|989898|1|9999045940|MR|Test|E|Lead 45940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045941|145941|989898|1|9999045941|MR|Test|E|Lead 45941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045942|145942|989898|1|9999045942|MR|Test|E|Lead 45942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045943|145943|989898|1|9999045943|MR|Test|E|Lead 45943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045944|145944|989898|1|9999045944|MR|Test|E|Lead 45944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045945|145945|989898|1|9999045945|MR|Test|E|Lead 45945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045946|145946|989898|1|9999045946|MR|Test|E|Lead 45946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045947|145947|989898|1|9999045947|MR|Test|E|Lead 45947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045948|145948|989898|1|9999045948|MR|Test|E|Lead 45948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045949|145949|989898|1|9999045949|MR|Test|E|Lead 45949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045950|145950|989898|1|9999045950|MR|Test|E|Lead 45950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045951|145951|989898|1|9999045951|MR|Test|E|Lead 45951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045952|145952|989898|1|9999045952|MR|Test|E|Lead 45952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045953|145953|989898|1|9999045953|MR|Test|E|Lead 45953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045954|145954|989898|1|9999045954|MR|Test|E|Lead 45954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045955|145955|989898|1|9999045955|MR|Test|E|Lead 45955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045956|145956|989898|1|9999045956|MR|Test|E|Lead 45956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045957|145957|989898|1|9999045957|MR|Test|E|Lead 45957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045958|145958|989898|1|9999045958|MR|Test|E|Lead 45958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045959|145959|989898|1|9999045959|MR|Test|E|Lead 45959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045960|145960|989898|1|9999045960|MR|Test|E|Lead 45960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045961|145961|989898|1|9999045961|MR|Test|E|Lead 45961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045962|145962|989898|1|9999045962|MR|Test|E|Lead 45962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045963|145963|989898|1|9999045963|MR|Test|E|Lead 45963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045964|145964|989898|1|9999045964|MR|Test|E|Lead 45964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045965|145965|989898|1|9999045965|MR|Test|E|Lead 45965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045966|145966|989898|1|9999045966|MR|Test|E|Lead 45966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045967|145967|989898|1|9999045967|MR|Test|E|Lead 45967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045968|145968|989898|1|9999045968|MR|Test|E|Lead 45968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045969|145969|989898|1|9999045969|MR|Test|E|Lead 45969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045970|145970|989898|1|9999045970|MR|Test|E|Lead 45970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045971|145971|989898|1|9999045971|MR|Test|E|Lead 45971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045972|145972|989898|1|9999045972|MR|Test|E|Lead 45972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045973|145973|989898|1|9999045973|MR|Test|E|Lead 45973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045974|145974|989898|1|9999045974|MR|Test|E|Lead 45974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045975|145975|989898|1|9999045975|MR|Test|E|Lead 45975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045976|145976|989898|1|9999045976|MR|Test|E|Lead 45976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045977|145977|989898|1|9999045977|MR|Test|E|Lead 45977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045978|145978|989898|1|9999045978|MR|Test|E|Lead 45978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045979|145979|989898|1|9999045979|MR|Test|E|Lead 45979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045980|145980|989898|1|9999045980|MR|Test|E|Lead 45980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045981|145981|989898|1|9999045981|MR|Test|E|Lead 45981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045982|145982|989898|1|9999045982|MR|Test|E|Lead 45982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045983|145983|989898|1|9999045983|MR|Test|E|Lead 45983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045984|145984|989898|1|9999045984|MR|Test|E|Lead 45984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045985|145985|989898|1|9999045985|MR|Test|E|Lead 45985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045986|145986|989898|1|9999045986|MR|Test|E|Lead 45986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045987|145987|989898|1|9999045987|MR|Test|E|Lead 45987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045988|145988|989898|1|9999045988|MR|Test|E|Lead 45988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045989|145989|989898|1|9999045989|MR|Test|E|Lead 45989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045990|145990|989898|1|9999045990|MR|Test|E|Lead 45990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045991|145991|989898|1|9999045991|MR|Test|E|Lead 45991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045992|145992|989898|1|9999045992|MR|Test|E|Lead 45992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045993|145993|989898|1|9999045993|MR|Test|E|Lead 45993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045994|145994|989898|1|9999045994|MR|Test|E|Lead 45994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045995|145995|989898|1|9999045995|MR|Test|E|Lead 45995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045996|145996|989898|1|9999045996|MR|Test|E|Lead 45996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045997|145997|989898|1|9999045997|MR|Test|E|Lead 45997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045998|145998|989898|1|9999045998|MR|Test|E|Lead 45998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1045999|145999|989898|1|9999045999|MR|Test|E|Lead 45999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046000|146000|989898|1|9999046000|MR|Test|E|Lead 46000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046001|146001|989898|1|9999046001|MR|Test|E|Lead 46001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046002|146002|989898|1|9999046002|MR|Test|E|Lead 46002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046003|146003|989898|1|9999046003|MR|Test|E|Lead 46003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046004|146004|989898|1|9999046004|MR|Test|E|Lead 46004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046005|146005|989898|1|9999046005|MR|Test|E|Lead 46005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046006|146006|989898|1|9999046006|MR|Test|E|Lead 46006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046007|146007|989898|1|9999046007|MR|Test|E|Lead 46007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046008|146008|989898|1|9999046008|MR|Test|E|Lead 46008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046009|146009|989898|1|9999046009|MR|Test|E|Lead 46009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046010|146010|989898|1|9999046010|MR|Test|E|Lead 46010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046011|146011|989898|1|9999046011|MR|Test|E|Lead 46011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046012|146012|989898|1|9999046012|MR|Test|E|Lead 46012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046013|146013|989898|1|9999046013|MR|Test|E|Lead 46013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046014|146014|989898|1|9999046014|MR|Test|E|Lead 46014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046015|146015|989898|1|9999046015|MR|Test|E|Lead 46015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046016|146016|989898|1|9999046016|MR|Test|E|Lead 46016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046017|146017|989898|1|9999046017|MR|Test|E|Lead 46017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046018|146018|989898|1|9999046018|MR|Test|E|Lead 46018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046019|146019|989898|1|9999046019|MR|Test|E|Lead 46019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046020|146020|989898|1|9999046020|MR|Test|E|Lead 46020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046021|146021|989898|1|9999046021|MR|Test|E|Lead 46021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046022|146022|989898|1|9999046022|MR|Test|E|Lead 46022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046023|146023|989898|1|9999046023|MR|Test|E|Lead 46023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046024|146024|989898|1|9999046024|MR|Test|E|Lead 46024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046025|146025|989898|1|9999046025|MR|Test|E|Lead 46025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046026|146026|989898|1|9999046026|MR|Test|E|Lead 46026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046027|146027|989898|1|9999046027|MR|Test|E|Lead 46027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046028|146028|989898|1|9999046028|MR|Test|E|Lead 46028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046029|146029|989898|1|9999046029|MR|Test|E|Lead 46029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046030|146030|989898|1|9999046030|MR|Test|E|Lead 46030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046031|146031|989898|1|9999046031|MR|Test|E|Lead 46031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046032|146032|989898|1|9999046032|MR|Test|E|Lead 46032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046033|146033|989898|1|9999046033|MR|Test|E|Lead 46033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046034|146034|989898|1|9999046034|MR|Test|E|Lead 46034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046035|146035|989898|1|9999046035|MR|Test|E|Lead 46035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046036|146036|989898|1|9999046036|MR|Test|E|Lead 46036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046037|146037|989898|1|9999046037|MR|Test|E|Lead 46037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046038|146038|989898|1|9999046038|MR|Test|E|Lead 46038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046039|146039|989898|1|9999046039|MR|Test|E|Lead 46039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046040|146040|989898|1|9999046040|MR|Test|E|Lead 46040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046041|146041|989898|1|9999046041|MR|Test|E|Lead 46041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046042|146042|989898|1|9999046042|MR|Test|E|Lead 46042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046043|146043|989898|1|9999046043|MR|Test|E|Lead 46043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046044|146044|989898|1|9999046044|MR|Test|E|Lead 46044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046045|146045|989898|1|9999046045|MR|Test|E|Lead 46045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046046|146046|989898|1|9999046046|MR|Test|E|Lead 46046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046047|146047|989898|1|9999046047|MR|Test|E|Lead 46047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046048|146048|989898|1|9999046048|MR|Test|E|Lead 46048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046049|146049|989898|1|9999046049|MR|Test|E|Lead 46049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046050|146050|989898|1|9999046050|MR|Test|E|Lead 46050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046051|146051|989898|1|9999046051|MR|Test|E|Lead 46051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046052|146052|989898|1|9999046052|MR|Test|E|Lead 46052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046053|146053|989898|1|9999046053|MR|Test|E|Lead 46053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046054|146054|989898|1|9999046054|MR|Test|E|Lead 46054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046055|146055|989898|1|9999046055|MR|Test|E|Lead 46055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046056|146056|989898|1|9999046056|MR|Test|E|Lead 46056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046057|146057|989898|1|9999046057|MR|Test|E|Lead 46057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046058|146058|989898|1|9999046058|MR|Test|E|Lead 46058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046059|146059|989898|1|9999046059|MR|Test|E|Lead 46059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046060|146060|989898|1|9999046060|MR|Test|E|Lead 46060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046061|146061|989898|1|9999046061|MR|Test|E|Lead 46061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046062|146062|989898|1|9999046062|MR|Test|E|Lead 46062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046063|146063|989898|1|9999046063|MR|Test|E|Lead 46063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046064|146064|989898|1|9999046064|MR|Test|E|Lead 46064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046065|146065|989898|1|9999046065|MR|Test|E|Lead 46065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046066|146066|989898|1|9999046066|MR|Test|E|Lead 46066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046067|146067|989898|1|9999046067|MR|Test|E|Lead 46067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046068|146068|989898|1|9999046068|MR|Test|E|Lead 46068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046069|146069|989898|1|9999046069|MR|Test|E|Lead 46069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046070|146070|989898|1|9999046070|MR|Test|E|Lead 46070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046071|146071|989898|1|9999046071|MR|Test|E|Lead 46071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046072|146072|989898|1|9999046072|MR|Test|E|Lead 46072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046073|146073|989898|1|9999046073|MR|Test|E|Lead 46073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046074|146074|989898|1|9999046074|MR|Test|E|Lead 46074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046075|146075|989898|1|9999046075|MR|Test|E|Lead 46075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046076|146076|989898|1|9999046076|MR|Test|E|Lead 46076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046077|146077|989898|1|9999046077|MR|Test|E|Lead 46077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046078|146078|989898|1|9999046078|MR|Test|E|Lead 46078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046079|146079|989898|1|9999046079|MR|Test|E|Lead 46079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046080|146080|989898|1|9999046080|MR|Test|E|Lead 46080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046081|146081|989898|1|9999046081|MR|Test|E|Lead 46081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046082|146082|989898|1|9999046082|MR|Test|E|Lead 46082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046083|146083|989898|1|9999046083|MR|Test|E|Lead 46083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046084|146084|989898|1|9999046084|MR|Test|E|Lead 46084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046085|146085|989898|1|9999046085|MR|Test|E|Lead 46085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046086|146086|989898|1|9999046086|MR|Test|E|Lead 46086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046087|146087|989898|1|9999046087|MR|Test|E|Lead 46087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046088|146088|989898|1|9999046088|MR|Test|E|Lead 46088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046089|146089|989898|1|9999046089|MR|Test|E|Lead 46089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046090|146090|989898|1|9999046090|MR|Test|E|Lead 46090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046091|146091|989898|1|9999046091|MR|Test|E|Lead 46091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046092|146092|989898|1|9999046092|MR|Test|E|Lead 46092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046093|146093|989898|1|9999046093|MR|Test|E|Lead 46093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046094|146094|989898|1|9999046094|MR|Test|E|Lead 46094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046095|146095|989898|1|9999046095|MR|Test|E|Lead 46095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046096|146096|989898|1|9999046096|MR|Test|E|Lead 46096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046097|146097|989898|1|9999046097|MR|Test|E|Lead 46097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046098|146098|989898|1|9999046098|MR|Test|E|Lead 46098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046099|146099|989898|1|9999046099|MR|Test|E|Lead 46099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046100|146100|989898|1|9999046100|MR|Test|E|Lead 46100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046101|146101|989898|1|9999046101|MR|Test|E|Lead 46101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046102|146102|989898|1|9999046102|MR|Test|E|Lead 46102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046103|146103|989898|1|9999046103|MR|Test|E|Lead 46103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046104|146104|989898|1|9999046104|MR|Test|E|Lead 46104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046105|146105|989898|1|9999046105|MR|Test|E|Lead 46105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046106|146106|989898|1|9999046106|MR|Test|E|Lead 46106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046107|146107|989898|1|9999046107|MR|Test|E|Lead 46107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046108|146108|989898|1|9999046108|MR|Test|E|Lead 46108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046109|146109|989898|1|9999046109|MR|Test|E|Lead 46109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046110|146110|989898|1|9999046110|MR|Test|E|Lead 46110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046111|146111|989898|1|9999046111|MR|Test|E|Lead 46111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046112|146112|989898|1|9999046112|MR|Test|E|Lead 46112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046113|146113|989898|1|9999046113|MR|Test|E|Lead 46113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046114|146114|989898|1|9999046114|MR|Test|E|Lead 46114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046115|146115|989898|1|9999046115|MR|Test|E|Lead 46115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046116|146116|989898|1|9999046116|MR|Test|E|Lead 46116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046117|146117|989898|1|9999046117|MR|Test|E|Lead 46117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046118|146118|989898|1|9999046118|MR|Test|E|Lead 46118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046119|146119|989898|1|9999046119|MR|Test|E|Lead 46119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046120|146120|989898|1|9999046120|MR|Test|E|Lead 46120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046121|146121|989898|1|9999046121|MR|Test|E|Lead 46121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046122|146122|989898|1|9999046122|MR|Test|E|Lead 46122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046123|146123|989898|1|9999046123|MR|Test|E|Lead 46123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046124|146124|989898|1|9999046124|MR|Test|E|Lead 46124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046125|146125|989898|1|9999046125|MR|Test|E|Lead 46125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046126|146126|989898|1|9999046126|MR|Test|E|Lead 46126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046127|146127|989898|1|9999046127|MR|Test|E|Lead 46127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046128|146128|989898|1|9999046128|MR|Test|E|Lead 46128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046129|146129|989898|1|9999046129|MR|Test|E|Lead 46129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046130|146130|989898|1|9999046130|MR|Test|E|Lead 46130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046131|146131|989898|1|9999046131|MR|Test|E|Lead 46131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046132|146132|989898|1|9999046132|MR|Test|E|Lead 46132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046133|146133|989898|1|9999046133|MR|Test|E|Lead 46133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046134|146134|989898|1|9999046134|MR|Test|E|Lead 46134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046135|146135|989898|1|9999046135|MR|Test|E|Lead 46135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046136|146136|989898|1|9999046136|MR|Test|E|Lead 46136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046137|146137|989898|1|9999046137|MR|Test|E|Lead 46137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046138|146138|989898|1|9999046138|MR|Test|E|Lead 46138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046139|146139|989898|1|9999046139|MR|Test|E|Lead 46139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046140|146140|989898|1|9999046140|MR|Test|E|Lead 46140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046141|146141|989898|1|9999046141|MR|Test|E|Lead 46141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046142|146142|989898|1|9999046142|MR|Test|E|Lead 46142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046143|146143|989898|1|9999046143|MR|Test|E|Lead 46143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046144|146144|989898|1|9999046144|MR|Test|E|Lead 46144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046145|146145|989898|1|9999046145|MR|Test|E|Lead 46145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046146|146146|989898|1|9999046146|MR|Test|E|Lead 46146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046147|146147|989898|1|9999046147|MR|Test|E|Lead 46147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046148|146148|989898|1|9999046148|MR|Test|E|Lead 46148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046149|146149|989898|1|9999046149|MR|Test|E|Lead 46149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046150|146150|989898|1|9999046150|MR|Test|E|Lead 46150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046151|146151|989898|1|9999046151|MR|Test|E|Lead 46151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046152|146152|989898|1|9999046152|MR|Test|E|Lead 46152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046153|146153|989898|1|9999046153|MR|Test|E|Lead 46153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046154|146154|989898|1|9999046154|MR|Test|E|Lead 46154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046155|146155|989898|1|9999046155|MR|Test|E|Lead 46155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046156|146156|989898|1|9999046156|MR|Test|E|Lead 46156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046157|146157|989898|1|9999046157|MR|Test|E|Lead 46157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046158|146158|989898|1|9999046158|MR|Test|E|Lead 46158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046159|146159|989898|1|9999046159|MR|Test|E|Lead 46159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046160|146160|989898|1|9999046160|MR|Test|E|Lead 46160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046161|146161|989898|1|9999046161|MR|Test|E|Lead 46161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046162|146162|989898|1|9999046162|MR|Test|E|Lead 46162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046163|146163|989898|1|9999046163|MR|Test|E|Lead 46163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046164|146164|989898|1|9999046164|MR|Test|E|Lead 46164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046165|146165|989898|1|9999046165|MR|Test|E|Lead 46165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046166|146166|989898|1|9999046166|MR|Test|E|Lead 46166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046167|146167|989898|1|9999046167|MR|Test|E|Lead 46167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046168|146168|989898|1|9999046168|MR|Test|E|Lead 46168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046169|146169|989898|1|9999046169|MR|Test|E|Lead 46169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046170|146170|989898|1|9999046170|MR|Test|E|Lead 46170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046171|146171|989898|1|9999046171|MR|Test|E|Lead 46171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046172|146172|989898|1|9999046172|MR|Test|E|Lead 46172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046173|146173|989898|1|9999046173|MR|Test|E|Lead 46173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046174|146174|989898|1|9999046174|MR|Test|E|Lead 46174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046175|146175|989898|1|9999046175|MR|Test|E|Lead 46175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046176|146176|989898|1|9999046176|MR|Test|E|Lead 46176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046177|146177|989898|1|9999046177|MR|Test|E|Lead 46177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046178|146178|989898|1|9999046178|MR|Test|E|Lead 46178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046179|146179|989898|1|9999046179|MR|Test|E|Lead 46179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046180|146180|989898|1|9999046180|MR|Test|E|Lead 46180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046181|146181|989898|1|9999046181|MR|Test|E|Lead 46181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046182|146182|989898|1|9999046182|MR|Test|E|Lead 46182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046183|146183|989898|1|9999046183|MR|Test|E|Lead 46183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046184|146184|989898|1|9999046184|MR|Test|E|Lead 46184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046185|146185|989898|1|9999046185|MR|Test|E|Lead 46185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046186|146186|989898|1|9999046186|MR|Test|E|Lead 46186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046187|146187|989898|1|9999046187|MR|Test|E|Lead 46187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046188|146188|989898|1|9999046188|MR|Test|E|Lead 46188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046189|146189|989898|1|9999046189|MR|Test|E|Lead 46189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046190|146190|989898|1|9999046190|MR|Test|E|Lead 46190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046191|146191|989898|1|9999046191|MR|Test|E|Lead 46191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046192|146192|989898|1|9999046192|MR|Test|E|Lead 46192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046193|146193|989898|1|9999046193|MR|Test|E|Lead 46193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046194|146194|989898|1|9999046194|MR|Test|E|Lead 46194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046195|146195|989898|1|9999046195|MR|Test|E|Lead 46195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046196|146196|989898|1|9999046196|MR|Test|E|Lead 46196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046197|146197|989898|1|9999046197|MR|Test|E|Lead 46197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046198|146198|989898|1|9999046198|MR|Test|E|Lead 46198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046199|146199|989898|1|9999046199|MR|Test|E|Lead 46199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046200|146200|989898|1|9999046200|MR|Test|E|Lead 46200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046201|146201|989898|1|9999046201|MR|Test|E|Lead 46201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046202|146202|989898|1|9999046202|MR|Test|E|Lead 46202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046203|146203|989898|1|9999046203|MR|Test|E|Lead 46203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046204|146204|989898|1|9999046204|MR|Test|E|Lead 46204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046205|146205|989898|1|9999046205|MR|Test|E|Lead 46205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046206|146206|989898|1|9999046206|MR|Test|E|Lead 46206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046207|146207|989898|1|9999046207|MR|Test|E|Lead 46207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046208|146208|989898|1|9999046208|MR|Test|E|Lead 46208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046209|146209|989898|1|9999046209|MR|Test|E|Lead 46209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046210|146210|989898|1|9999046210|MR|Test|E|Lead 46210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046211|146211|989898|1|9999046211|MR|Test|E|Lead 46211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046212|146212|989898|1|9999046212|MR|Test|E|Lead 46212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046213|146213|989898|1|9999046213|MR|Test|E|Lead 46213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046214|146214|989898|1|9999046214|MR|Test|E|Lead 46214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046215|146215|989898|1|9999046215|MR|Test|E|Lead 46215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046216|146216|989898|1|9999046216|MR|Test|E|Lead 46216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046217|146217|989898|1|9999046217|MR|Test|E|Lead 46217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046218|146218|989898|1|9999046218|MR|Test|E|Lead 46218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046219|146219|989898|1|9999046219|MR|Test|E|Lead 46219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046220|146220|989898|1|9999046220|MR|Test|E|Lead 46220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046221|146221|989898|1|9999046221|MR|Test|E|Lead 46221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046222|146222|989898|1|9999046222|MR|Test|E|Lead 46222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046223|146223|989898|1|9999046223|MR|Test|E|Lead 46223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046224|146224|989898|1|9999046224|MR|Test|E|Lead 46224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046225|146225|989898|1|9999046225|MR|Test|E|Lead 46225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046226|146226|989898|1|9999046226|MR|Test|E|Lead 46226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046227|146227|989898|1|9999046227|MR|Test|E|Lead 46227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046228|146228|989898|1|9999046228|MR|Test|E|Lead 46228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046229|146229|989898|1|9999046229|MR|Test|E|Lead 46229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046230|146230|989898|1|9999046230|MR|Test|E|Lead 46230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046231|146231|989898|1|9999046231|MR|Test|E|Lead 46231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046232|146232|989898|1|9999046232|MR|Test|E|Lead 46232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046233|146233|989898|1|9999046233|MR|Test|E|Lead 46233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046234|146234|989898|1|9999046234|MR|Test|E|Lead 46234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046235|146235|989898|1|9999046235|MR|Test|E|Lead 46235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046236|146236|989898|1|9999046236|MR|Test|E|Lead 46236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046237|146237|989898|1|9999046237|MR|Test|E|Lead 46237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046238|146238|989898|1|9999046238|MR|Test|E|Lead 46238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046239|146239|989898|1|9999046239|MR|Test|E|Lead 46239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046240|146240|989898|1|9999046240|MR|Test|E|Lead 46240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046241|146241|989898|1|9999046241|MR|Test|E|Lead 46241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046242|146242|989898|1|9999046242|MR|Test|E|Lead 46242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046243|146243|989898|1|9999046243|MR|Test|E|Lead 46243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046244|146244|989898|1|9999046244|MR|Test|E|Lead 46244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046245|146245|989898|1|9999046245|MR|Test|E|Lead 46245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046246|146246|989898|1|9999046246|MR|Test|E|Lead 46246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046247|146247|989898|1|9999046247|MR|Test|E|Lead 46247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046248|146248|989898|1|9999046248|MR|Test|E|Lead 46248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046249|146249|989898|1|9999046249|MR|Test|E|Lead 46249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046250|146250|989898|1|9999046250|MR|Test|E|Lead 46250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046251|146251|989898|1|9999046251|MR|Test|E|Lead 46251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046252|146252|989898|1|9999046252|MR|Test|E|Lead 46252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046253|146253|989898|1|9999046253|MR|Test|E|Lead 46253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046254|146254|989898|1|9999046254|MR|Test|E|Lead 46254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046255|146255|989898|1|9999046255|MR|Test|E|Lead 46255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046256|146256|989898|1|9999046256|MR|Test|E|Lead 46256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046257|146257|989898|1|9999046257|MR|Test|E|Lead 46257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046258|146258|989898|1|9999046258|MR|Test|E|Lead 46258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046259|146259|989898|1|9999046259|MR|Test|E|Lead 46259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046260|146260|989898|1|9999046260|MR|Test|E|Lead 46260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046261|146261|989898|1|9999046261|MR|Test|E|Lead 46261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046262|146262|989898|1|9999046262|MR|Test|E|Lead 46262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046263|146263|989898|1|9999046263|MR|Test|E|Lead 46263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046264|146264|989898|1|9999046264|MR|Test|E|Lead 46264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046265|146265|989898|1|9999046265|MR|Test|E|Lead 46265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046266|146266|989898|1|9999046266|MR|Test|E|Lead 46266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046267|146267|989898|1|9999046267|MR|Test|E|Lead 46267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046268|146268|989898|1|9999046268|MR|Test|E|Lead 46268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046269|146269|989898|1|9999046269|MR|Test|E|Lead 46269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046270|146270|989898|1|9999046270|MR|Test|E|Lead 46270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046271|146271|989898|1|9999046271|MR|Test|E|Lead 46271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046272|146272|989898|1|9999046272|MR|Test|E|Lead 46272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046273|146273|989898|1|9999046273|MR|Test|E|Lead 46273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046274|146274|989898|1|9999046274|MR|Test|E|Lead 46274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046275|146275|989898|1|9999046275|MR|Test|E|Lead 46275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046276|146276|989898|1|9999046276|MR|Test|E|Lead 46276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046277|146277|989898|1|9999046277|MR|Test|E|Lead 46277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046278|146278|989898|1|9999046278|MR|Test|E|Lead 46278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046279|146279|989898|1|9999046279|MR|Test|E|Lead 46279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046280|146280|989898|1|9999046280|MR|Test|E|Lead 46280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046281|146281|989898|1|9999046281|MR|Test|E|Lead 46281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046282|146282|989898|1|9999046282|MR|Test|E|Lead 46282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046283|146283|989898|1|9999046283|MR|Test|E|Lead 46283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046284|146284|989898|1|9999046284|MR|Test|E|Lead 46284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046285|146285|989898|1|9999046285|MR|Test|E|Lead 46285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046286|146286|989898|1|9999046286|MR|Test|E|Lead 46286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046287|146287|989898|1|9999046287|MR|Test|E|Lead 46287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046288|146288|989898|1|9999046288|MR|Test|E|Lead 46288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046289|146289|989898|1|9999046289|MR|Test|E|Lead 46289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046290|146290|989898|1|9999046290|MR|Test|E|Lead 46290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046291|146291|989898|1|9999046291|MR|Test|E|Lead 46291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046292|146292|989898|1|9999046292|MR|Test|E|Lead 46292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046293|146293|989898|1|9999046293|MR|Test|E|Lead 46293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046294|146294|989898|1|9999046294|MR|Test|E|Lead 46294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046295|146295|989898|1|9999046295|MR|Test|E|Lead 46295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046296|146296|989898|1|9999046296|MR|Test|E|Lead 46296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046297|146297|989898|1|9999046297|MR|Test|E|Lead 46297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046298|146298|989898|1|9999046298|MR|Test|E|Lead 46298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046299|146299|989898|1|9999046299|MR|Test|E|Lead 46299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046300|146300|989898|1|9999046300|MR|Test|E|Lead 46300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046301|146301|989898|1|9999046301|MR|Test|E|Lead 46301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046302|146302|989898|1|9999046302|MR|Test|E|Lead 46302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046303|146303|989898|1|9999046303|MR|Test|E|Lead 46303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046304|146304|989898|1|9999046304|MR|Test|E|Lead 46304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046305|146305|989898|1|9999046305|MR|Test|E|Lead 46305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046306|146306|989898|1|9999046306|MR|Test|E|Lead 46306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046307|146307|989898|1|9999046307|MR|Test|E|Lead 46307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046308|146308|989898|1|9999046308|MR|Test|E|Lead 46308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046309|146309|989898|1|9999046309|MR|Test|E|Lead 46309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046310|146310|989898|1|9999046310|MR|Test|E|Lead 46310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046311|146311|989898|1|9999046311|MR|Test|E|Lead 46311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046312|146312|989898|1|9999046312|MR|Test|E|Lead 46312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046313|146313|989898|1|9999046313|MR|Test|E|Lead 46313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046314|146314|989898|1|9999046314|MR|Test|E|Lead 46314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046315|146315|989898|1|9999046315|MR|Test|E|Lead 46315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046316|146316|989898|1|9999046316|MR|Test|E|Lead 46316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046317|146317|989898|1|9999046317|MR|Test|E|Lead 46317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046318|146318|989898|1|9999046318|MR|Test|E|Lead 46318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046319|146319|989898|1|9999046319|MR|Test|E|Lead 46319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046320|146320|989898|1|9999046320|MR|Test|E|Lead 46320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046321|146321|989898|1|9999046321|MR|Test|E|Lead 46321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046322|146322|989898|1|9999046322|MR|Test|E|Lead 46322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046323|146323|989898|1|9999046323|MR|Test|E|Lead 46323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046324|146324|989898|1|9999046324|MR|Test|E|Lead 46324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046325|146325|989898|1|9999046325|MR|Test|E|Lead 46325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046326|146326|989898|1|9999046326|MR|Test|E|Lead 46326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046327|146327|989898|1|9999046327|MR|Test|E|Lead 46327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046328|146328|989898|1|9999046328|MR|Test|E|Lead 46328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046329|146329|989898|1|9999046329|MR|Test|E|Lead 46329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046330|146330|989898|1|9999046330|MR|Test|E|Lead 46330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046331|146331|989898|1|9999046331|MR|Test|E|Lead 46331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046332|146332|989898|1|9999046332|MR|Test|E|Lead 46332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046333|146333|989898|1|9999046333|MR|Test|E|Lead 46333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046334|146334|989898|1|9999046334|MR|Test|E|Lead 46334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046335|146335|989898|1|9999046335|MR|Test|E|Lead 46335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046336|146336|989898|1|9999046336|MR|Test|E|Lead 46336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046337|146337|989898|1|9999046337|MR|Test|E|Lead 46337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046338|146338|989898|1|9999046338|MR|Test|E|Lead 46338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046339|146339|989898|1|9999046339|MR|Test|E|Lead 46339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046340|146340|989898|1|9999046340|MR|Test|E|Lead 46340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046341|146341|989898|1|9999046341|MR|Test|E|Lead 46341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046342|146342|989898|1|9999046342|MR|Test|E|Lead 46342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046343|146343|989898|1|9999046343|MR|Test|E|Lead 46343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046344|146344|989898|1|9999046344|MR|Test|E|Lead 46344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046345|146345|989898|1|9999046345|MR|Test|E|Lead 46345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046346|146346|989898|1|9999046346|MR|Test|E|Lead 46346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046347|146347|989898|1|9999046347|MR|Test|E|Lead 46347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046348|146348|989898|1|9999046348|MR|Test|E|Lead 46348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046349|146349|989898|1|9999046349|MR|Test|E|Lead 46349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046350|146350|989898|1|9999046350|MR|Test|E|Lead 46350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046351|146351|989898|1|9999046351|MR|Test|E|Lead 46351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046352|146352|989898|1|9999046352|MR|Test|E|Lead 46352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046353|146353|989898|1|9999046353|MR|Test|E|Lead 46353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046354|146354|989898|1|9999046354|MR|Test|E|Lead 46354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046355|146355|989898|1|9999046355|MR|Test|E|Lead 46355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046356|146356|989898|1|9999046356|MR|Test|E|Lead 46356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046357|146357|989898|1|9999046357|MR|Test|E|Lead 46357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046358|146358|989898|1|9999046358|MR|Test|E|Lead 46358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046359|146359|989898|1|9999046359|MR|Test|E|Lead 46359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046360|146360|989898|1|9999046360|MR|Test|E|Lead 46360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046361|146361|989898|1|9999046361|MR|Test|E|Lead 46361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046362|146362|989898|1|9999046362|MR|Test|E|Lead 46362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046363|146363|989898|1|9999046363|MR|Test|E|Lead 46363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046364|146364|989898|1|9999046364|MR|Test|E|Lead 46364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046365|146365|989898|1|9999046365|MR|Test|E|Lead 46365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046366|146366|989898|1|9999046366|MR|Test|E|Lead 46366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046367|146367|989898|1|9999046367|MR|Test|E|Lead 46367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046368|146368|989898|1|9999046368|MR|Test|E|Lead 46368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046369|146369|989898|1|9999046369|MR|Test|E|Lead 46369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046370|146370|989898|1|9999046370|MR|Test|E|Lead 46370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046371|146371|989898|1|9999046371|MR|Test|E|Lead 46371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046372|146372|989898|1|9999046372|MR|Test|E|Lead 46372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046373|146373|989898|1|9999046373|MR|Test|E|Lead 46373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046374|146374|989898|1|9999046374|MR|Test|E|Lead 46374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046375|146375|989898|1|9999046375|MR|Test|E|Lead 46375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046376|146376|989898|1|9999046376|MR|Test|E|Lead 46376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046377|146377|989898|1|9999046377|MR|Test|E|Lead 46377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046378|146378|989898|1|9999046378|MR|Test|E|Lead 46378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046379|146379|989898|1|9999046379|MR|Test|E|Lead 46379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046380|146380|989898|1|9999046380|MR|Test|E|Lead 46380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046381|146381|989898|1|9999046381|MR|Test|E|Lead 46381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046382|146382|989898|1|9999046382|MR|Test|E|Lead 46382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046383|146383|989898|1|9999046383|MR|Test|E|Lead 46383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046384|146384|989898|1|9999046384|MR|Test|E|Lead 46384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046385|146385|989898|1|9999046385|MR|Test|E|Lead 46385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046386|146386|989898|1|9999046386|MR|Test|E|Lead 46386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046387|146387|989898|1|9999046387|MR|Test|E|Lead 46387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046388|146388|989898|1|9999046388|MR|Test|E|Lead 46388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046389|146389|989898|1|9999046389|MR|Test|E|Lead 46389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046390|146390|989898|1|9999046390|MR|Test|E|Lead 46390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046391|146391|989898|1|9999046391|MR|Test|E|Lead 46391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046392|146392|989898|1|9999046392|MR|Test|E|Lead 46392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046393|146393|989898|1|9999046393|MR|Test|E|Lead 46393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046394|146394|989898|1|9999046394|MR|Test|E|Lead 46394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046395|146395|989898|1|9999046395|MR|Test|E|Lead 46395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046396|146396|989898|1|9999046396|MR|Test|E|Lead 46396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046397|146397|989898|1|9999046397|MR|Test|E|Lead 46397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046398|146398|989898|1|9999046398|MR|Test|E|Lead 46398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046399|146399|989898|1|9999046399|MR|Test|E|Lead 46399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046400|146400|989898|1|9999046400|MR|Test|E|Lead 46400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046401|146401|989898|1|9999046401|MR|Test|E|Lead 46401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046402|146402|989898|1|9999046402|MR|Test|E|Lead 46402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046403|146403|989898|1|9999046403|MR|Test|E|Lead 46403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046404|146404|989898|1|9999046404|MR|Test|E|Lead 46404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046405|146405|989898|1|9999046405|MR|Test|E|Lead 46405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046406|146406|989898|1|9999046406|MR|Test|E|Lead 46406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046407|146407|989898|1|9999046407|MR|Test|E|Lead 46407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046408|146408|989898|1|9999046408|MR|Test|E|Lead 46408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046409|146409|989898|1|9999046409|MR|Test|E|Lead 46409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046410|146410|989898|1|9999046410|MR|Test|E|Lead 46410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046411|146411|989898|1|9999046411|MR|Test|E|Lead 46411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046412|146412|989898|1|9999046412|MR|Test|E|Lead 46412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046413|146413|989898|1|9999046413|MR|Test|E|Lead 46413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046414|146414|989898|1|9999046414|MR|Test|E|Lead 46414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046415|146415|989898|1|9999046415|MR|Test|E|Lead 46415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046416|146416|989898|1|9999046416|MR|Test|E|Lead 46416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046417|146417|989898|1|9999046417|MR|Test|E|Lead 46417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046418|146418|989898|1|9999046418|MR|Test|E|Lead 46418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046419|146419|989898|1|9999046419|MR|Test|E|Lead 46419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046420|146420|989898|1|9999046420|MR|Test|E|Lead 46420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046421|146421|989898|1|9999046421|MR|Test|E|Lead 46421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046422|146422|989898|1|9999046422|MR|Test|E|Lead 46422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046423|146423|989898|1|9999046423|MR|Test|E|Lead 46423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046424|146424|989898|1|9999046424|MR|Test|E|Lead 46424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046425|146425|989898|1|9999046425|MR|Test|E|Lead 46425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046426|146426|989898|1|9999046426|MR|Test|E|Lead 46426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046427|146427|989898|1|9999046427|MR|Test|E|Lead 46427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046428|146428|989898|1|9999046428|MR|Test|E|Lead 46428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046429|146429|989898|1|9999046429|MR|Test|E|Lead 46429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046430|146430|989898|1|9999046430|MR|Test|E|Lead 46430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046431|146431|989898|1|9999046431|MR|Test|E|Lead 46431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046432|146432|989898|1|9999046432|MR|Test|E|Lead 46432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046433|146433|989898|1|9999046433|MR|Test|E|Lead 46433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046434|146434|989898|1|9999046434|MR|Test|E|Lead 46434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046435|146435|989898|1|9999046435|MR|Test|E|Lead 46435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046436|146436|989898|1|9999046436|MR|Test|E|Lead 46436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046437|146437|989898|1|9999046437|MR|Test|E|Lead 46437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046438|146438|989898|1|9999046438|MR|Test|E|Lead 46438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046439|146439|989898|1|9999046439|MR|Test|E|Lead 46439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046440|146440|989898|1|9999046440|MR|Test|E|Lead 46440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046441|146441|989898|1|9999046441|MR|Test|E|Lead 46441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046442|146442|989898|1|9999046442|MR|Test|E|Lead 46442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046443|146443|989898|1|9999046443|MR|Test|E|Lead 46443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046444|146444|989898|1|9999046444|MR|Test|E|Lead 46444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046445|146445|989898|1|9999046445|MR|Test|E|Lead 46445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046446|146446|989898|1|9999046446|MR|Test|E|Lead 46446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046447|146447|989898|1|9999046447|MR|Test|E|Lead 46447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046448|146448|989898|1|9999046448|MR|Test|E|Lead 46448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046449|146449|989898|1|9999046449|MR|Test|E|Lead 46449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046450|146450|989898|1|9999046450|MR|Test|E|Lead 46450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046451|146451|989898|1|9999046451|MR|Test|E|Lead 46451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046452|146452|989898|1|9999046452|MR|Test|E|Lead 46452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046453|146453|989898|1|9999046453|MR|Test|E|Lead 46453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046454|146454|989898|1|9999046454|MR|Test|E|Lead 46454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046455|146455|989898|1|9999046455|MR|Test|E|Lead 46455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046456|146456|989898|1|9999046456|MR|Test|E|Lead 46456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046457|146457|989898|1|9999046457|MR|Test|E|Lead 46457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046458|146458|989898|1|9999046458|MR|Test|E|Lead 46458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046459|146459|989898|1|9999046459|MR|Test|E|Lead 46459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046460|146460|989898|1|9999046460|MR|Test|E|Lead 46460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046461|146461|989898|1|9999046461|MR|Test|E|Lead 46461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046462|146462|989898|1|9999046462|MR|Test|E|Lead 46462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046463|146463|989898|1|9999046463|MR|Test|E|Lead 46463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046464|146464|989898|1|9999046464|MR|Test|E|Lead 46464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046465|146465|989898|1|9999046465|MR|Test|E|Lead 46465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046466|146466|989898|1|9999046466|MR|Test|E|Lead 46466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046467|146467|989898|1|9999046467|MR|Test|E|Lead 46467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046468|146468|989898|1|9999046468|MR|Test|E|Lead 46468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046469|146469|989898|1|9999046469|MR|Test|E|Lead 46469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046470|146470|989898|1|9999046470|MR|Test|E|Lead 46470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046471|146471|989898|1|9999046471|MR|Test|E|Lead 46471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046472|146472|989898|1|9999046472|MR|Test|E|Lead 46472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046473|146473|989898|1|9999046473|MR|Test|E|Lead 46473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046474|146474|989898|1|9999046474|MR|Test|E|Lead 46474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046475|146475|989898|1|9999046475|MR|Test|E|Lead 46475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046476|146476|989898|1|9999046476|MR|Test|E|Lead 46476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046477|146477|989898|1|9999046477|MR|Test|E|Lead 46477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046478|146478|989898|1|9999046478|MR|Test|E|Lead 46478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046479|146479|989898|1|9999046479|MR|Test|E|Lead 46479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046480|146480|989898|1|9999046480|MR|Test|E|Lead 46480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046481|146481|989898|1|9999046481|MR|Test|E|Lead 46481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046482|146482|989898|1|9999046482|MR|Test|E|Lead 46482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046483|146483|989898|1|9999046483|MR|Test|E|Lead 46483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046484|146484|989898|1|9999046484|MR|Test|E|Lead 46484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046485|146485|989898|1|9999046485|MR|Test|E|Lead 46485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046486|146486|989898|1|9999046486|MR|Test|E|Lead 46486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046487|146487|989898|1|9999046487|MR|Test|E|Lead 46487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046488|146488|989898|1|9999046488|MR|Test|E|Lead 46488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046489|146489|989898|1|9999046489|MR|Test|E|Lead 46489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046490|146490|989898|1|9999046490|MR|Test|E|Lead 46490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046491|146491|989898|1|9999046491|MR|Test|E|Lead 46491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046492|146492|989898|1|9999046492|MR|Test|E|Lead 46492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046493|146493|989898|1|9999046493|MR|Test|E|Lead 46493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046494|146494|989898|1|9999046494|MR|Test|E|Lead 46494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046495|146495|989898|1|9999046495|MR|Test|E|Lead 46495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046496|146496|989898|1|9999046496|MR|Test|E|Lead 46496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046497|146497|989898|1|9999046497|MR|Test|E|Lead 46497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046498|146498|989898|1|9999046498|MR|Test|E|Lead 46498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046499|146499|989898|1|9999046499|MR|Test|E|Lead 46499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046500|146500|989898|1|9999046500|MR|Test|E|Lead 46500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046501|146501|989898|1|9999046501|MR|Test|E|Lead 46501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046502|146502|989898|1|9999046502|MR|Test|E|Lead 46502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046503|146503|989898|1|9999046503|MR|Test|E|Lead 46503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046504|146504|989898|1|9999046504|MR|Test|E|Lead 46504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046505|146505|989898|1|9999046505|MR|Test|E|Lead 46505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046506|146506|989898|1|9999046506|MR|Test|E|Lead 46506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046507|146507|989898|1|9999046507|MR|Test|E|Lead 46507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046508|146508|989898|1|9999046508|MR|Test|E|Lead 46508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046509|146509|989898|1|9999046509|MR|Test|E|Lead 46509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046510|146510|989898|1|9999046510|MR|Test|E|Lead 46510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046511|146511|989898|1|9999046511|MR|Test|E|Lead 46511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046512|146512|989898|1|9999046512|MR|Test|E|Lead 46512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046513|146513|989898|1|9999046513|MR|Test|E|Lead 46513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046514|146514|989898|1|9999046514|MR|Test|E|Lead 46514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046515|146515|989898|1|9999046515|MR|Test|E|Lead 46515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046516|146516|989898|1|9999046516|MR|Test|E|Lead 46516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046517|146517|989898|1|9999046517|MR|Test|E|Lead 46517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046518|146518|989898|1|9999046518|MR|Test|E|Lead 46518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046519|146519|989898|1|9999046519|MR|Test|E|Lead 46519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046520|146520|989898|1|9999046520|MR|Test|E|Lead 46520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046521|146521|989898|1|9999046521|MR|Test|E|Lead 46521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046522|146522|989898|1|9999046522|MR|Test|E|Lead 46522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046523|146523|989898|1|9999046523|MR|Test|E|Lead 46523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046524|146524|989898|1|9999046524|MR|Test|E|Lead 46524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046525|146525|989898|1|9999046525|MR|Test|E|Lead 46525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046526|146526|989898|1|9999046526|MR|Test|E|Lead 46526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046527|146527|989898|1|9999046527|MR|Test|E|Lead 46527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046528|146528|989898|1|9999046528|MR|Test|E|Lead 46528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046529|146529|989898|1|9999046529|MR|Test|E|Lead 46529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046530|146530|989898|1|9999046530|MR|Test|E|Lead 46530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046531|146531|989898|1|9999046531|MR|Test|E|Lead 46531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046532|146532|989898|1|9999046532|MR|Test|E|Lead 46532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046533|146533|989898|1|9999046533|MR|Test|E|Lead 46533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046534|146534|989898|1|9999046534|MR|Test|E|Lead 46534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046535|146535|989898|1|9999046535|MR|Test|E|Lead 46535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046536|146536|989898|1|9999046536|MR|Test|E|Lead 46536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046537|146537|989898|1|9999046537|MR|Test|E|Lead 46537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046538|146538|989898|1|9999046538|MR|Test|E|Lead 46538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046539|146539|989898|1|9999046539|MR|Test|E|Lead 46539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046540|146540|989898|1|9999046540|MR|Test|E|Lead 46540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046541|146541|989898|1|9999046541|MR|Test|E|Lead 46541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046542|146542|989898|1|9999046542|MR|Test|E|Lead 46542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046543|146543|989898|1|9999046543|MR|Test|E|Lead 46543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046544|146544|989898|1|9999046544|MR|Test|E|Lead 46544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046545|146545|989898|1|9999046545|MR|Test|E|Lead 46545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046546|146546|989898|1|9999046546|MR|Test|E|Lead 46546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046547|146547|989898|1|9999046547|MR|Test|E|Lead 46547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046548|146548|989898|1|9999046548|MR|Test|E|Lead 46548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046549|146549|989898|1|9999046549|MR|Test|E|Lead 46549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046550|146550|989898|1|9999046550|MR|Test|E|Lead 46550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046551|146551|989898|1|9999046551|MR|Test|E|Lead 46551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046552|146552|989898|1|9999046552|MR|Test|E|Lead 46552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046553|146553|989898|1|9999046553|MR|Test|E|Lead 46553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046554|146554|989898|1|9999046554|MR|Test|E|Lead 46554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046555|146555|989898|1|9999046555|MR|Test|E|Lead 46555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046556|146556|989898|1|9999046556|MR|Test|E|Lead 46556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046557|146557|989898|1|9999046557|MR|Test|E|Lead 46557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046558|146558|989898|1|9999046558|MR|Test|E|Lead 46558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046559|146559|989898|1|9999046559|MR|Test|E|Lead 46559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046560|146560|989898|1|9999046560|MR|Test|E|Lead 46560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046561|146561|989898|1|9999046561|MR|Test|E|Lead 46561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046562|146562|989898|1|9999046562|MR|Test|E|Lead 46562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046563|146563|989898|1|9999046563|MR|Test|E|Lead 46563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046564|146564|989898|1|9999046564|MR|Test|E|Lead 46564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046565|146565|989898|1|9999046565|MR|Test|E|Lead 46565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046566|146566|989898|1|9999046566|MR|Test|E|Lead 46566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046567|146567|989898|1|9999046567|MR|Test|E|Lead 46567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046568|146568|989898|1|9999046568|MR|Test|E|Lead 46568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046569|146569|989898|1|9999046569|MR|Test|E|Lead 46569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046570|146570|989898|1|9999046570|MR|Test|E|Lead 46570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046571|146571|989898|1|9999046571|MR|Test|E|Lead 46571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046572|146572|989898|1|9999046572|MR|Test|E|Lead 46572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046573|146573|989898|1|9999046573|MR|Test|E|Lead 46573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046574|146574|989898|1|9999046574|MR|Test|E|Lead 46574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046575|146575|989898|1|9999046575|MR|Test|E|Lead 46575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046576|146576|989898|1|9999046576|MR|Test|E|Lead 46576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046577|146577|989898|1|9999046577|MR|Test|E|Lead 46577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046578|146578|989898|1|9999046578|MR|Test|E|Lead 46578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046579|146579|989898|1|9999046579|MR|Test|E|Lead 46579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046580|146580|989898|1|9999046580|MR|Test|E|Lead 46580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046581|146581|989898|1|9999046581|MR|Test|E|Lead 46581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046582|146582|989898|1|9999046582|MR|Test|E|Lead 46582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046583|146583|989898|1|9999046583|MR|Test|E|Lead 46583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046584|146584|989898|1|9999046584|MR|Test|E|Lead 46584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046585|146585|989898|1|9999046585|MR|Test|E|Lead 46585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046586|146586|989898|1|9999046586|MR|Test|E|Lead 46586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046587|146587|989898|1|9999046587|MR|Test|E|Lead 46587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046588|146588|989898|1|9999046588|MR|Test|E|Lead 46588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046589|146589|989898|1|9999046589|MR|Test|E|Lead 46589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046590|146590|989898|1|9999046590|MR|Test|E|Lead 46590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046591|146591|989898|1|9999046591|MR|Test|E|Lead 46591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046592|146592|989898|1|9999046592|MR|Test|E|Lead 46592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046593|146593|989898|1|9999046593|MR|Test|E|Lead 46593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046594|146594|989898|1|9999046594|MR|Test|E|Lead 46594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046595|146595|989898|1|9999046595|MR|Test|E|Lead 46595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046596|146596|989898|1|9999046596|MR|Test|E|Lead 46596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046597|146597|989898|1|9999046597|MR|Test|E|Lead 46597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046598|146598|989898|1|9999046598|MR|Test|E|Lead 46598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046599|146599|989898|1|9999046599|MR|Test|E|Lead 46599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046600|146600|989898|1|9999046600|MR|Test|E|Lead 46600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046601|146601|989898|1|9999046601|MR|Test|E|Lead 46601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046602|146602|989898|1|9999046602|MR|Test|E|Lead 46602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046603|146603|989898|1|9999046603|MR|Test|E|Lead 46603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046604|146604|989898|1|9999046604|MR|Test|E|Lead 46604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046605|146605|989898|1|9999046605|MR|Test|E|Lead 46605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046606|146606|989898|1|9999046606|MR|Test|E|Lead 46606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046607|146607|989898|1|9999046607|MR|Test|E|Lead 46607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046608|146608|989898|1|9999046608|MR|Test|E|Lead 46608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046609|146609|989898|1|9999046609|MR|Test|E|Lead 46609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046610|146610|989898|1|9999046610|MR|Test|E|Lead 46610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046611|146611|989898|1|9999046611|MR|Test|E|Lead 46611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046612|146612|989898|1|9999046612|MR|Test|E|Lead 46612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046613|146613|989898|1|9999046613|MR|Test|E|Lead 46613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046614|146614|989898|1|9999046614|MR|Test|E|Lead 46614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046615|146615|989898|1|9999046615|MR|Test|E|Lead 46615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046616|146616|989898|1|9999046616|MR|Test|E|Lead 46616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046617|146617|989898|1|9999046617|MR|Test|E|Lead 46617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046618|146618|989898|1|9999046618|MR|Test|E|Lead 46618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046619|146619|989898|1|9999046619|MR|Test|E|Lead 46619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046620|146620|989898|1|9999046620|MR|Test|E|Lead 46620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046621|146621|989898|1|9999046621|MR|Test|E|Lead 46621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046622|146622|989898|1|9999046622|MR|Test|E|Lead 46622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046623|146623|989898|1|9999046623|MR|Test|E|Lead 46623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046624|146624|989898|1|9999046624|MR|Test|E|Lead 46624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046625|146625|989898|1|9999046625|MR|Test|E|Lead 46625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046626|146626|989898|1|9999046626|MR|Test|E|Lead 46626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046627|146627|989898|1|9999046627|MR|Test|E|Lead 46627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046628|146628|989898|1|9999046628|MR|Test|E|Lead 46628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046629|146629|989898|1|9999046629|MR|Test|E|Lead 46629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046630|146630|989898|1|9999046630|MR|Test|E|Lead 46630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046631|146631|989898|1|9999046631|MR|Test|E|Lead 46631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046632|146632|989898|1|9999046632|MR|Test|E|Lead 46632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046633|146633|989898|1|9999046633|MR|Test|E|Lead 46633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046634|146634|989898|1|9999046634|MR|Test|E|Lead 46634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046635|146635|989898|1|9999046635|MR|Test|E|Lead 46635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046636|146636|989898|1|9999046636|MR|Test|E|Lead 46636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046637|146637|989898|1|9999046637|MR|Test|E|Lead 46637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046638|146638|989898|1|9999046638|MR|Test|E|Lead 46638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046639|146639|989898|1|9999046639|MR|Test|E|Lead 46639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046640|146640|989898|1|9999046640|MR|Test|E|Lead 46640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046641|146641|989898|1|9999046641|MR|Test|E|Lead 46641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046642|146642|989898|1|9999046642|MR|Test|E|Lead 46642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046643|146643|989898|1|9999046643|MR|Test|E|Lead 46643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046644|146644|989898|1|9999046644|MR|Test|E|Lead 46644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046645|146645|989898|1|9999046645|MR|Test|E|Lead 46645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046646|146646|989898|1|9999046646|MR|Test|E|Lead 46646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046647|146647|989898|1|9999046647|MR|Test|E|Lead 46647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046648|146648|989898|1|9999046648|MR|Test|E|Lead 46648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046649|146649|989898|1|9999046649|MR|Test|E|Lead 46649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046650|146650|989898|1|9999046650|MR|Test|E|Lead 46650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046651|146651|989898|1|9999046651|MR|Test|E|Lead 46651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046652|146652|989898|1|9999046652|MR|Test|E|Lead 46652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046653|146653|989898|1|9999046653|MR|Test|E|Lead 46653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046654|146654|989898|1|9999046654|MR|Test|E|Lead 46654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046655|146655|989898|1|9999046655|MR|Test|E|Lead 46655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046656|146656|989898|1|9999046656|MR|Test|E|Lead 46656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046657|146657|989898|1|9999046657|MR|Test|E|Lead 46657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046658|146658|989898|1|9999046658|MR|Test|E|Lead 46658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046659|146659|989898|1|9999046659|MR|Test|E|Lead 46659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046660|146660|989898|1|9999046660|MR|Test|E|Lead 46660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046661|146661|989898|1|9999046661|MR|Test|E|Lead 46661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046662|146662|989898|1|9999046662|MR|Test|E|Lead 46662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046663|146663|989898|1|9999046663|MR|Test|E|Lead 46663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046664|146664|989898|1|9999046664|MR|Test|E|Lead 46664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046665|146665|989898|1|9999046665|MR|Test|E|Lead 46665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046666|146666|989898|1|9999046666|MR|Test|E|Lead 46666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046667|146667|989898|1|9999046667|MR|Test|E|Lead 46667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046668|146668|989898|1|9999046668|MR|Test|E|Lead 46668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046669|146669|989898|1|9999046669|MR|Test|E|Lead 46669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046670|146670|989898|1|9999046670|MR|Test|E|Lead 46670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046671|146671|989898|1|9999046671|MR|Test|E|Lead 46671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046672|146672|989898|1|9999046672|MR|Test|E|Lead 46672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046673|146673|989898|1|9999046673|MR|Test|E|Lead 46673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046674|146674|989898|1|9999046674|MR|Test|E|Lead 46674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046675|146675|989898|1|9999046675|MR|Test|E|Lead 46675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046676|146676|989898|1|9999046676|MR|Test|E|Lead 46676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046677|146677|989898|1|9999046677|MR|Test|E|Lead 46677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046678|146678|989898|1|9999046678|MR|Test|E|Lead 46678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046679|146679|989898|1|9999046679|MR|Test|E|Lead 46679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046680|146680|989898|1|9999046680|MR|Test|E|Lead 46680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046681|146681|989898|1|9999046681|MR|Test|E|Lead 46681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046682|146682|989898|1|9999046682|MR|Test|E|Lead 46682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046683|146683|989898|1|9999046683|MR|Test|E|Lead 46683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046684|146684|989898|1|9999046684|MR|Test|E|Lead 46684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046685|146685|989898|1|9999046685|MR|Test|E|Lead 46685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046686|146686|989898|1|9999046686|MR|Test|E|Lead 46686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046687|146687|989898|1|9999046687|MR|Test|E|Lead 46687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046688|146688|989898|1|9999046688|MR|Test|E|Lead 46688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046689|146689|989898|1|9999046689|MR|Test|E|Lead 46689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046690|146690|989898|1|9999046690|MR|Test|E|Lead 46690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046691|146691|989898|1|9999046691|MR|Test|E|Lead 46691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046692|146692|989898|1|9999046692|MR|Test|E|Lead 46692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046693|146693|989898|1|9999046693|MR|Test|E|Lead 46693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046694|146694|989898|1|9999046694|MR|Test|E|Lead 46694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046695|146695|989898|1|9999046695|MR|Test|E|Lead 46695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046696|146696|989898|1|9999046696|MR|Test|E|Lead 46696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046697|146697|989898|1|9999046697|MR|Test|E|Lead 46697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046698|146698|989898|1|9999046698|MR|Test|E|Lead 46698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046699|146699|989898|1|9999046699|MR|Test|E|Lead 46699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046700|146700|989898|1|9999046700|MR|Test|E|Lead 46700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046701|146701|989898|1|9999046701|MR|Test|E|Lead 46701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046702|146702|989898|1|9999046702|MR|Test|E|Lead 46702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046703|146703|989898|1|9999046703|MR|Test|E|Lead 46703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046704|146704|989898|1|9999046704|MR|Test|E|Lead 46704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046705|146705|989898|1|9999046705|MR|Test|E|Lead 46705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046706|146706|989898|1|9999046706|MR|Test|E|Lead 46706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046707|146707|989898|1|9999046707|MR|Test|E|Lead 46707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046708|146708|989898|1|9999046708|MR|Test|E|Lead 46708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046709|146709|989898|1|9999046709|MR|Test|E|Lead 46709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046710|146710|989898|1|9999046710|MR|Test|E|Lead 46710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046711|146711|989898|1|9999046711|MR|Test|E|Lead 46711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046712|146712|989898|1|9999046712|MR|Test|E|Lead 46712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046713|146713|989898|1|9999046713|MR|Test|E|Lead 46713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046714|146714|989898|1|9999046714|MR|Test|E|Lead 46714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046715|146715|989898|1|9999046715|MR|Test|E|Lead 46715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046716|146716|989898|1|9999046716|MR|Test|E|Lead 46716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046717|146717|989898|1|9999046717|MR|Test|E|Lead 46717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046718|146718|989898|1|9999046718|MR|Test|E|Lead 46718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046719|146719|989898|1|9999046719|MR|Test|E|Lead 46719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046720|146720|989898|1|9999046720|MR|Test|E|Lead 46720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046721|146721|989898|1|9999046721|MR|Test|E|Lead 46721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046722|146722|989898|1|9999046722|MR|Test|E|Lead 46722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046723|146723|989898|1|9999046723|MR|Test|E|Lead 46723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046724|146724|989898|1|9999046724|MR|Test|E|Lead 46724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046725|146725|989898|1|9999046725|MR|Test|E|Lead 46725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046726|146726|989898|1|9999046726|MR|Test|E|Lead 46726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046727|146727|989898|1|9999046727|MR|Test|E|Lead 46727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046728|146728|989898|1|9999046728|MR|Test|E|Lead 46728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046729|146729|989898|1|9999046729|MR|Test|E|Lead 46729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046730|146730|989898|1|9999046730|MR|Test|E|Lead 46730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046731|146731|989898|1|9999046731|MR|Test|E|Lead 46731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046732|146732|989898|1|9999046732|MR|Test|E|Lead 46732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046733|146733|989898|1|9999046733|MR|Test|E|Lead 46733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046734|146734|989898|1|9999046734|MR|Test|E|Lead 46734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046735|146735|989898|1|9999046735|MR|Test|E|Lead 46735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046736|146736|989898|1|9999046736|MR|Test|E|Lead 46736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046737|146737|989898|1|9999046737|MR|Test|E|Lead 46737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046738|146738|989898|1|9999046738|MR|Test|E|Lead 46738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046739|146739|989898|1|9999046739|MR|Test|E|Lead 46739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046740|146740|989898|1|9999046740|MR|Test|E|Lead 46740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046741|146741|989898|1|9999046741|MR|Test|E|Lead 46741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046742|146742|989898|1|9999046742|MR|Test|E|Lead 46742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046743|146743|989898|1|9999046743|MR|Test|E|Lead 46743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046744|146744|989898|1|9999046744|MR|Test|E|Lead 46744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046745|146745|989898|1|9999046745|MR|Test|E|Lead 46745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046746|146746|989898|1|9999046746|MR|Test|E|Lead 46746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046747|146747|989898|1|9999046747|MR|Test|E|Lead 46747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046748|146748|989898|1|9999046748|MR|Test|E|Lead 46748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046749|146749|989898|1|9999046749|MR|Test|E|Lead 46749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046750|146750|989898|1|9999046750|MR|Test|E|Lead 46750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046751|146751|989898|1|9999046751|MR|Test|E|Lead 46751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046752|146752|989898|1|9999046752|MR|Test|E|Lead 46752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046753|146753|989898|1|9999046753|MR|Test|E|Lead 46753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046754|146754|989898|1|9999046754|MR|Test|E|Lead 46754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046755|146755|989898|1|9999046755|MR|Test|E|Lead 46755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046756|146756|989898|1|9999046756|MR|Test|E|Lead 46756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046757|146757|989898|1|9999046757|MR|Test|E|Lead 46757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046758|146758|989898|1|9999046758|MR|Test|E|Lead 46758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046759|146759|989898|1|9999046759|MR|Test|E|Lead 46759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046760|146760|989898|1|9999046760|MR|Test|E|Lead 46760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046761|146761|989898|1|9999046761|MR|Test|E|Lead 46761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046762|146762|989898|1|9999046762|MR|Test|E|Lead 46762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046763|146763|989898|1|9999046763|MR|Test|E|Lead 46763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046764|146764|989898|1|9999046764|MR|Test|E|Lead 46764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046765|146765|989898|1|9999046765|MR|Test|E|Lead 46765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046766|146766|989898|1|9999046766|MR|Test|E|Lead 46766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046767|146767|989898|1|9999046767|MR|Test|E|Lead 46767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046768|146768|989898|1|9999046768|MR|Test|E|Lead 46768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046769|146769|989898|1|9999046769|MR|Test|E|Lead 46769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046770|146770|989898|1|9999046770|MR|Test|E|Lead 46770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046771|146771|989898|1|9999046771|MR|Test|E|Lead 46771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046772|146772|989898|1|9999046772|MR|Test|E|Lead 46772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046773|146773|989898|1|9999046773|MR|Test|E|Lead 46773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046774|146774|989898|1|9999046774|MR|Test|E|Lead 46774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046775|146775|989898|1|9999046775|MR|Test|E|Lead 46775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046776|146776|989898|1|9999046776|MR|Test|E|Lead 46776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046777|146777|989898|1|9999046777|MR|Test|E|Lead 46777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046778|146778|989898|1|9999046778|MR|Test|E|Lead 46778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046779|146779|989898|1|9999046779|MR|Test|E|Lead 46779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046780|146780|989898|1|9999046780|MR|Test|E|Lead 46780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046781|146781|989898|1|9999046781|MR|Test|E|Lead 46781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046782|146782|989898|1|9999046782|MR|Test|E|Lead 46782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046783|146783|989898|1|9999046783|MR|Test|E|Lead 46783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046784|146784|989898|1|9999046784|MR|Test|E|Lead 46784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046785|146785|989898|1|9999046785|MR|Test|E|Lead 46785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046786|146786|989898|1|9999046786|MR|Test|E|Lead 46786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046787|146787|989898|1|9999046787|MR|Test|E|Lead 46787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046788|146788|989898|1|9999046788|MR|Test|E|Lead 46788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046789|146789|989898|1|9999046789|MR|Test|E|Lead 46789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046790|146790|989898|1|9999046790|MR|Test|E|Lead 46790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046791|146791|989898|1|9999046791|MR|Test|E|Lead 46791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046792|146792|989898|1|9999046792|MR|Test|E|Lead 46792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046793|146793|989898|1|9999046793|MR|Test|E|Lead 46793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046794|146794|989898|1|9999046794|MR|Test|E|Lead 46794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046795|146795|989898|1|9999046795|MR|Test|E|Lead 46795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046796|146796|989898|1|9999046796|MR|Test|E|Lead 46796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046797|146797|989898|1|9999046797|MR|Test|E|Lead 46797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046798|146798|989898|1|9999046798|MR|Test|E|Lead 46798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046799|146799|989898|1|9999046799|MR|Test|E|Lead 46799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046800|146800|989898|1|9999046800|MR|Test|E|Lead 46800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046801|146801|989898|1|9999046801|MR|Test|E|Lead 46801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046802|146802|989898|1|9999046802|MR|Test|E|Lead 46802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046803|146803|989898|1|9999046803|MR|Test|E|Lead 46803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046804|146804|989898|1|9999046804|MR|Test|E|Lead 46804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046805|146805|989898|1|9999046805|MR|Test|E|Lead 46805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046806|146806|989898|1|9999046806|MR|Test|E|Lead 46806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046807|146807|989898|1|9999046807|MR|Test|E|Lead 46807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046808|146808|989898|1|9999046808|MR|Test|E|Lead 46808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046809|146809|989898|1|9999046809|MR|Test|E|Lead 46809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046810|146810|989898|1|9999046810|MR|Test|E|Lead 46810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046811|146811|989898|1|9999046811|MR|Test|E|Lead 46811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046812|146812|989898|1|9999046812|MR|Test|E|Lead 46812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046813|146813|989898|1|9999046813|MR|Test|E|Lead 46813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046814|146814|989898|1|9999046814|MR|Test|E|Lead 46814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046815|146815|989898|1|9999046815|MR|Test|E|Lead 46815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046816|146816|989898|1|9999046816|MR|Test|E|Lead 46816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046817|146817|989898|1|9999046817|MR|Test|E|Lead 46817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046818|146818|989898|1|9999046818|MR|Test|E|Lead 46818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046819|146819|989898|1|9999046819|MR|Test|E|Lead 46819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046820|146820|989898|1|9999046820|MR|Test|E|Lead 46820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046821|146821|989898|1|9999046821|MR|Test|E|Lead 46821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046822|146822|989898|1|9999046822|MR|Test|E|Lead 46822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046823|146823|989898|1|9999046823|MR|Test|E|Lead 46823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046824|146824|989898|1|9999046824|MR|Test|E|Lead 46824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046825|146825|989898|1|9999046825|MR|Test|E|Lead 46825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046826|146826|989898|1|9999046826|MR|Test|E|Lead 46826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046827|146827|989898|1|9999046827|MR|Test|E|Lead 46827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046828|146828|989898|1|9999046828|MR|Test|E|Lead 46828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046829|146829|989898|1|9999046829|MR|Test|E|Lead 46829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046830|146830|989898|1|9999046830|MR|Test|E|Lead 46830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046831|146831|989898|1|9999046831|MR|Test|E|Lead 46831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046832|146832|989898|1|9999046832|MR|Test|E|Lead 46832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046833|146833|989898|1|9999046833|MR|Test|E|Lead 46833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046834|146834|989898|1|9999046834|MR|Test|E|Lead 46834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046835|146835|989898|1|9999046835|MR|Test|E|Lead 46835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046836|146836|989898|1|9999046836|MR|Test|E|Lead 46836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046837|146837|989898|1|9999046837|MR|Test|E|Lead 46837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046838|146838|989898|1|9999046838|MR|Test|E|Lead 46838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046839|146839|989898|1|9999046839|MR|Test|E|Lead 46839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046840|146840|989898|1|9999046840|MR|Test|E|Lead 46840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046841|146841|989898|1|9999046841|MR|Test|E|Lead 46841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046842|146842|989898|1|9999046842|MR|Test|E|Lead 46842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046843|146843|989898|1|9999046843|MR|Test|E|Lead 46843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046844|146844|989898|1|9999046844|MR|Test|E|Lead 46844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046845|146845|989898|1|9999046845|MR|Test|E|Lead 46845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046846|146846|989898|1|9999046846|MR|Test|E|Lead 46846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046847|146847|989898|1|9999046847|MR|Test|E|Lead 46847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046848|146848|989898|1|9999046848|MR|Test|E|Lead 46848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046849|146849|989898|1|9999046849|MR|Test|E|Lead 46849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046850|146850|989898|1|9999046850|MR|Test|E|Lead 46850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046851|146851|989898|1|9999046851|MR|Test|E|Lead 46851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046852|146852|989898|1|9999046852|MR|Test|E|Lead 46852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046853|146853|989898|1|9999046853|MR|Test|E|Lead 46853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046854|146854|989898|1|9999046854|MR|Test|E|Lead 46854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046855|146855|989898|1|9999046855|MR|Test|E|Lead 46855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046856|146856|989898|1|9999046856|MR|Test|E|Lead 46856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046857|146857|989898|1|9999046857|MR|Test|E|Lead 46857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046858|146858|989898|1|9999046858|MR|Test|E|Lead 46858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046859|146859|989898|1|9999046859|MR|Test|E|Lead 46859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046860|146860|989898|1|9999046860|MR|Test|E|Lead 46860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046861|146861|989898|1|9999046861|MR|Test|E|Lead 46861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046862|146862|989898|1|9999046862|MR|Test|E|Lead 46862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046863|146863|989898|1|9999046863|MR|Test|E|Lead 46863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046864|146864|989898|1|9999046864|MR|Test|E|Lead 46864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046865|146865|989898|1|9999046865|MR|Test|E|Lead 46865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046866|146866|989898|1|9999046866|MR|Test|E|Lead 46866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046867|146867|989898|1|9999046867|MR|Test|E|Lead 46867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046868|146868|989898|1|9999046868|MR|Test|E|Lead 46868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046869|146869|989898|1|9999046869|MR|Test|E|Lead 46869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046870|146870|989898|1|9999046870|MR|Test|E|Lead 46870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046871|146871|989898|1|9999046871|MR|Test|E|Lead 46871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046872|146872|989898|1|9999046872|MR|Test|E|Lead 46872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046873|146873|989898|1|9999046873|MR|Test|E|Lead 46873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046874|146874|989898|1|9999046874|MR|Test|E|Lead 46874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046875|146875|989898|1|9999046875|MR|Test|E|Lead 46875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046876|146876|989898|1|9999046876|MR|Test|E|Lead 46876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046877|146877|989898|1|9999046877|MR|Test|E|Lead 46877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046878|146878|989898|1|9999046878|MR|Test|E|Lead 46878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046879|146879|989898|1|9999046879|MR|Test|E|Lead 46879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046880|146880|989898|1|9999046880|MR|Test|E|Lead 46880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046881|146881|989898|1|9999046881|MR|Test|E|Lead 46881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046882|146882|989898|1|9999046882|MR|Test|E|Lead 46882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046883|146883|989898|1|9999046883|MR|Test|E|Lead 46883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046884|146884|989898|1|9999046884|MR|Test|E|Lead 46884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046885|146885|989898|1|9999046885|MR|Test|E|Lead 46885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046886|146886|989898|1|9999046886|MR|Test|E|Lead 46886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046887|146887|989898|1|9999046887|MR|Test|E|Lead 46887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046888|146888|989898|1|9999046888|MR|Test|E|Lead 46888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046889|146889|989898|1|9999046889|MR|Test|E|Lead 46889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046890|146890|989898|1|9999046890|MR|Test|E|Lead 46890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046891|146891|989898|1|9999046891|MR|Test|E|Lead 46891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046892|146892|989898|1|9999046892|MR|Test|E|Lead 46892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046893|146893|989898|1|9999046893|MR|Test|E|Lead 46893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046894|146894|989898|1|9999046894|MR|Test|E|Lead 46894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046895|146895|989898|1|9999046895|MR|Test|E|Lead 46895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046896|146896|989898|1|9999046896|MR|Test|E|Lead 46896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046897|146897|989898|1|9999046897|MR|Test|E|Lead 46897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046898|146898|989898|1|9999046898|MR|Test|E|Lead 46898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046899|146899|989898|1|9999046899|MR|Test|E|Lead 46899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046900|146900|989898|1|9999046900|MR|Test|E|Lead 46900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046901|146901|989898|1|9999046901|MR|Test|E|Lead 46901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046902|146902|989898|1|9999046902|MR|Test|E|Lead 46902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046903|146903|989898|1|9999046903|MR|Test|E|Lead 46903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046904|146904|989898|1|9999046904|MR|Test|E|Lead 46904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046905|146905|989898|1|9999046905|MR|Test|E|Lead 46905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046906|146906|989898|1|9999046906|MR|Test|E|Lead 46906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046907|146907|989898|1|9999046907|MR|Test|E|Lead 46907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046908|146908|989898|1|9999046908|MR|Test|E|Lead 46908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046909|146909|989898|1|9999046909|MR|Test|E|Lead 46909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046910|146910|989898|1|9999046910|MR|Test|E|Lead 46910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046911|146911|989898|1|9999046911|MR|Test|E|Lead 46911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046912|146912|989898|1|9999046912|MR|Test|E|Lead 46912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046913|146913|989898|1|9999046913|MR|Test|E|Lead 46913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046914|146914|989898|1|9999046914|MR|Test|E|Lead 46914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046915|146915|989898|1|9999046915|MR|Test|E|Lead 46915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046916|146916|989898|1|9999046916|MR|Test|E|Lead 46916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046917|146917|989898|1|9999046917|MR|Test|E|Lead 46917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046918|146918|989898|1|9999046918|MR|Test|E|Lead 46918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046919|146919|989898|1|9999046919|MR|Test|E|Lead 46919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046920|146920|989898|1|9999046920|MR|Test|E|Lead 46920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046921|146921|989898|1|9999046921|MR|Test|E|Lead 46921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046922|146922|989898|1|9999046922|MR|Test|E|Lead 46922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046923|146923|989898|1|9999046923|MR|Test|E|Lead 46923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046924|146924|989898|1|9999046924|MR|Test|E|Lead 46924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046925|146925|989898|1|9999046925|MR|Test|E|Lead 46925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046926|146926|989898|1|9999046926|MR|Test|E|Lead 46926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046927|146927|989898|1|9999046927|MR|Test|E|Lead 46927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046928|146928|989898|1|9999046928|MR|Test|E|Lead 46928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046929|146929|989898|1|9999046929|MR|Test|E|Lead 46929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046930|146930|989898|1|9999046930|MR|Test|E|Lead 46930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046931|146931|989898|1|9999046931|MR|Test|E|Lead 46931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046932|146932|989898|1|9999046932|MR|Test|E|Lead 46932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046933|146933|989898|1|9999046933|MR|Test|E|Lead 46933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046934|146934|989898|1|9999046934|MR|Test|E|Lead 46934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046935|146935|989898|1|9999046935|MR|Test|E|Lead 46935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046936|146936|989898|1|9999046936|MR|Test|E|Lead 46936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046937|146937|989898|1|9999046937|MR|Test|E|Lead 46937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046938|146938|989898|1|9999046938|MR|Test|E|Lead 46938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046939|146939|989898|1|9999046939|MR|Test|E|Lead 46939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046940|146940|989898|1|9999046940|MR|Test|E|Lead 46940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046941|146941|989898|1|9999046941|MR|Test|E|Lead 46941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046942|146942|989898|1|9999046942|MR|Test|E|Lead 46942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046943|146943|989898|1|9999046943|MR|Test|E|Lead 46943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046944|146944|989898|1|9999046944|MR|Test|E|Lead 46944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046945|146945|989898|1|9999046945|MR|Test|E|Lead 46945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046946|146946|989898|1|9999046946|MR|Test|E|Lead 46946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046947|146947|989898|1|9999046947|MR|Test|E|Lead 46947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046948|146948|989898|1|9999046948|MR|Test|E|Lead 46948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046949|146949|989898|1|9999046949|MR|Test|E|Lead 46949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046950|146950|989898|1|9999046950|MR|Test|E|Lead 46950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046951|146951|989898|1|9999046951|MR|Test|E|Lead 46951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046952|146952|989898|1|9999046952|MR|Test|E|Lead 46952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046953|146953|989898|1|9999046953|MR|Test|E|Lead 46953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046954|146954|989898|1|9999046954|MR|Test|E|Lead 46954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046955|146955|989898|1|9999046955|MR|Test|E|Lead 46955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046956|146956|989898|1|9999046956|MR|Test|E|Lead 46956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046957|146957|989898|1|9999046957|MR|Test|E|Lead 46957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046958|146958|989898|1|9999046958|MR|Test|E|Lead 46958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046959|146959|989898|1|9999046959|MR|Test|E|Lead 46959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046960|146960|989898|1|9999046960|MR|Test|E|Lead 46960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046961|146961|989898|1|9999046961|MR|Test|E|Lead 46961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046962|146962|989898|1|9999046962|MR|Test|E|Lead 46962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046963|146963|989898|1|9999046963|MR|Test|E|Lead 46963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046964|146964|989898|1|9999046964|MR|Test|E|Lead 46964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046965|146965|989898|1|9999046965|MR|Test|E|Lead 46965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046966|146966|989898|1|9999046966|MR|Test|E|Lead 46966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046967|146967|989898|1|9999046967|MR|Test|E|Lead 46967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046968|146968|989898|1|9999046968|MR|Test|E|Lead 46968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046969|146969|989898|1|9999046969|MR|Test|E|Lead 46969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046970|146970|989898|1|9999046970|MR|Test|E|Lead 46970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046971|146971|989898|1|9999046971|MR|Test|E|Lead 46971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046972|146972|989898|1|9999046972|MR|Test|E|Lead 46972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046973|146973|989898|1|9999046973|MR|Test|E|Lead 46973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046974|146974|989898|1|9999046974|MR|Test|E|Lead 46974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046975|146975|989898|1|9999046975|MR|Test|E|Lead 46975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046976|146976|989898|1|9999046976|MR|Test|E|Lead 46976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046977|146977|989898|1|9999046977|MR|Test|E|Lead 46977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046978|146978|989898|1|9999046978|MR|Test|E|Lead 46978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046979|146979|989898|1|9999046979|MR|Test|E|Lead 46979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046980|146980|989898|1|9999046980|MR|Test|E|Lead 46980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046981|146981|989898|1|9999046981|MR|Test|E|Lead 46981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046982|146982|989898|1|9999046982|MR|Test|E|Lead 46982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046983|146983|989898|1|9999046983|MR|Test|E|Lead 46983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046984|146984|989898|1|9999046984|MR|Test|E|Lead 46984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046985|146985|989898|1|9999046985|MR|Test|E|Lead 46985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046986|146986|989898|1|9999046986|MR|Test|E|Lead 46986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046987|146987|989898|1|9999046987|MR|Test|E|Lead 46987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046988|146988|989898|1|9999046988|MR|Test|E|Lead 46988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046989|146989|989898|1|9999046989|MR|Test|E|Lead 46989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046990|146990|989898|1|9999046990|MR|Test|E|Lead 46990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046991|146991|989898|1|9999046991|MR|Test|E|Lead 46991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046992|146992|989898|1|9999046992|MR|Test|E|Lead 46992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046993|146993|989898|1|9999046993|MR|Test|E|Lead 46993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046994|146994|989898|1|9999046994|MR|Test|E|Lead 46994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046995|146995|989898|1|9999046995|MR|Test|E|Lead 46995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046996|146996|989898|1|9999046996|MR|Test|E|Lead 46996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046997|146997|989898|1|9999046997|MR|Test|E|Lead 46997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046998|146998|989898|1|9999046998|MR|Test|E|Lead 46998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1046999|146999|989898|1|9999046999|MR|Test|E|Lead 46999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047000|147000|989898|1|9999047000|MR|Test|E|Lead 47000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047001|147001|989898|1|9999047001|MR|Test|E|Lead 47001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047002|147002|989898|1|9999047002|MR|Test|E|Lead 47002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047003|147003|989898|1|9999047003|MR|Test|E|Lead 47003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047004|147004|989898|1|9999047004|MR|Test|E|Lead 47004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047005|147005|989898|1|9999047005|MR|Test|E|Lead 47005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047006|147006|989898|1|9999047006|MR|Test|E|Lead 47006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047007|147007|989898|1|9999047007|MR|Test|E|Lead 47007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047008|147008|989898|1|9999047008|MR|Test|E|Lead 47008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047009|147009|989898|1|9999047009|MR|Test|E|Lead 47009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047010|147010|989898|1|9999047010|MR|Test|E|Lead 47010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047011|147011|989898|1|9999047011|MR|Test|E|Lead 47011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047012|147012|989898|1|9999047012|MR|Test|E|Lead 47012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047013|147013|989898|1|9999047013|MR|Test|E|Lead 47013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047014|147014|989898|1|9999047014|MR|Test|E|Lead 47014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047015|147015|989898|1|9999047015|MR|Test|E|Lead 47015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047016|147016|989898|1|9999047016|MR|Test|E|Lead 47016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047017|147017|989898|1|9999047017|MR|Test|E|Lead 47017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047018|147018|989898|1|9999047018|MR|Test|E|Lead 47018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047019|147019|989898|1|9999047019|MR|Test|E|Lead 47019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047020|147020|989898|1|9999047020|MR|Test|E|Lead 47020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047021|147021|989898|1|9999047021|MR|Test|E|Lead 47021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047022|147022|989898|1|9999047022|MR|Test|E|Lead 47022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047023|147023|989898|1|9999047023|MR|Test|E|Lead 47023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047024|147024|989898|1|9999047024|MR|Test|E|Lead 47024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047025|147025|989898|1|9999047025|MR|Test|E|Lead 47025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047026|147026|989898|1|9999047026|MR|Test|E|Lead 47026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047027|147027|989898|1|9999047027|MR|Test|E|Lead 47027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047028|147028|989898|1|9999047028|MR|Test|E|Lead 47028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047029|147029|989898|1|9999047029|MR|Test|E|Lead 47029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047030|147030|989898|1|9999047030|MR|Test|E|Lead 47030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047031|147031|989898|1|9999047031|MR|Test|E|Lead 47031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047032|147032|989898|1|9999047032|MR|Test|E|Lead 47032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047033|147033|989898|1|9999047033|MR|Test|E|Lead 47033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047034|147034|989898|1|9999047034|MR|Test|E|Lead 47034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047035|147035|989898|1|9999047035|MR|Test|E|Lead 47035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047036|147036|989898|1|9999047036|MR|Test|E|Lead 47036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047037|147037|989898|1|9999047037|MR|Test|E|Lead 47037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047038|147038|989898|1|9999047038|MR|Test|E|Lead 47038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047039|147039|989898|1|9999047039|MR|Test|E|Lead 47039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047040|147040|989898|1|9999047040|MR|Test|E|Lead 47040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047041|147041|989898|1|9999047041|MR|Test|E|Lead 47041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047042|147042|989898|1|9999047042|MR|Test|E|Lead 47042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047043|147043|989898|1|9999047043|MR|Test|E|Lead 47043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047044|147044|989898|1|9999047044|MR|Test|E|Lead 47044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047045|147045|989898|1|9999047045|MR|Test|E|Lead 47045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047046|147046|989898|1|9999047046|MR|Test|E|Lead 47046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047047|147047|989898|1|9999047047|MR|Test|E|Lead 47047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047048|147048|989898|1|9999047048|MR|Test|E|Lead 47048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047049|147049|989898|1|9999047049|MR|Test|E|Lead 47049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047050|147050|989898|1|9999047050|MR|Test|E|Lead 47050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047051|147051|989898|1|9999047051|MR|Test|E|Lead 47051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047052|147052|989898|1|9999047052|MR|Test|E|Lead 47052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047053|147053|989898|1|9999047053|MR|Test|E|Lead 47053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047054|147054|989898|1|9999047054|MR|Test|E|Lead 47054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047055|147055|989898|1|9999047055|MR|Test|E|Lead 47055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047056|147056|989898|1|9999047056|MR|Test|E|Lead 47056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047057|147057|989898|1|9999047057|MR|Test|E|Lead 47057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047058|147058|989898|1|9999047058|MR|Test|E|Lead 47058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047059|147059|989898|1|9999047059|MR|Test|E|Lead 47059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047060|147060|989898|1|9999047060|MR|Test|E|Lead 47060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047061|147061|989898|1|9999047061|MR|Test|E|Lead 47061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047062|147062|989898|1|9999047062|MR|Test|E|Lead 47062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047063|147063|989898|1|9999047063|MR|Test|E|Lead 47063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047064|147064|989898|1|9999047064|MR|Test|E|Lead 47064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047065|147065|989898|1|9999047065|MR|Test|E|Lead 47065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047066|147066|989898|1|9999047066|MR|Test|E|Lead 47066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047067|147067|989898|1|9999047067|MR|Test|E|Lead 47067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047068|147068|989898|1|9999047068|MR|Test|E|Lead 47068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047069|147069|989898|1|9999047069|MR|Test|E|Lead 47069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047070|147070|989898|1|9999047070|MR|Test|E|Lead 47070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047071|147071|989898|1|9999047071|MR|Test|E|Lead 47071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047072|147072|989898|1|9999047072|MR|Test|E|Lead 47072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047073|147073|989898|1|9999047073|MR|Test|E|Lead 47073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047074|147074|989898|1|9999047074|MR|Test|E|Lead 47074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047075|147075|989898|1|9999047075|MR|Test|E|Lead 47075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047076|147076|989898|1|9999047076|MR|Test|E|Lead 47076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047077|147077|989898|1|9999047077|MR|Test|E|Lead 47077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047078|147078|989898|1|9999047078|MR|Test|E|Lead 47078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047079|147079|989898|1|9999047079|MR|Test|E|Lead 47079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047080|147080|989898|1|9999047080|MR|Test|E|Lead 47080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047081|147081|989898|1|9999047081|MR|Test|E|Lead 47081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047082|147082|989898|1|9999047082|MR|Test|E|Lead 47082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047083|147083|989898|1|9999047083|MR|Test|E|Lead 47083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047084|147084|989898|1|9999047084|MR|Test|E|Lead 47084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047085|147085|989898|1|9999047085|MR|Test|E|Lead 47085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047086|147086|989898|1|9999047086|MR|Test|E|Lead 47086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047087|147087|989898|1|9999047087|MR|Test|E|Lead 47087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047088|147088|989898|1|9999047088|MR|Test|E|Lead 47088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047089|147089|989898|1|9999047089|MR|Test|E|Lead 47089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047090|147090|989898|1|9999047090|MR|Test|E|Lead 47090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047091|147091|989898|1|9999047091|MR|Test|E|Lead 47091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047092|147092|989898|1|9999047092|MR|Test|E|Lead 47092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047093|147093|989898|1|9999047093|MR|Test|E|Lead 47093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047094|147094|989898|1|9999047094|MR|Test|E|Lead 47094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047095|147095|989898|1|9999047095|MR|Test|E|Lead 47095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047096|147096|989898|1|9999047096|MR|Test|E|Lead 47096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047097|147097|989898|1|9999047097|MR|Test|E|Lead 47097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047098|147098|989898|1|9999047098|MR|Test|E|Lead 47098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047099|147099|989898|1|9999047099|MR|Test|E|Lead 47099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047100|147100|989898|1|9999047100|MR|Test|E|Lead 47100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047101|147101|989898|1|9999047101|MR|Test|E|Lead 47101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047102|147102|989898|1|9999047102|MR|Test|E|Lead 47102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047103|147103|989898|1|9999047103|MR|Test|E|Lead 47103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047104|147104|989898|1|9999047104|MR|Test|E|Lead 47104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047105|147105|989898|1|9999047105|MR|Test|E|Lead 47105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047106|147106|989898|1|9999047106|MR|Test|E|Lead 47106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047107|147107|989898|1|9999047107|MR|Test|E|Lead 47107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047108|147108|989898|1|9999047108|MR|Test|E|Lead 47108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047109|147109|989898|1|9999047109|MR|Test|E|Lead 47109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047110|147110|989898|1|9999047110|MR|Test|E|Lead 47110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047111|147111|989898|1|9999047111|MR|Test|E|Lead 47111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047112|147112|989898|1|9999047112|MR|Test|E|Lead 47112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047113|147113|989898|1|9999047113|MR|Test|E|Lead 47113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047114|147114|989898|1|9999047114|MR|Test|E|Lead 47114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047115|147115|989898|1|9999047115|MR|Test|E|Lead 47115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047116|147116|989898|1|9999047116|MR|Test|E|Lead 47116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047117|147117|989898|1|9999047117|MR|Test|E|Lead 47117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047118|147118|989898|1|9999047118|MR|Test|E|Lead 47118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047119|147119|989898|1|9999047119|MR|Test|E|Lead 47119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047120|147120|989898|1|9999047120|MR|Test|E|Lead 47120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047121|147121|989898|1|9999047121|MR|Test|E|Lead 47121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047122|147122|989898|1|9999047122|MR|Test|E|Lead 47122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047123|147123|989898|1|9999047123|MR|Test|E|Lead 47123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047124|147124|989898|1|9999047124|MR|Test|E|Lead 47124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047125|147125|989898|1|9999047125|MR|Test|E|Lead 47125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047126|147126|989898|1|9999047126|MR|Test|E|Lead 47126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047127|147127|989898|1|9999047127|MR|Test|E|Lead 47127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047128|147128|989898|1|9999047128|MR|Test|E|Lead 47128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047129|147129|989898|1|9999047129|MR|Test|E|Lead 47129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047130|147130|989898|1|9999047130|MR|Test|E|Lead 47130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047131|147131|989898|1|9999047131|MR|Test|E|Lead 47131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047132|147132|989898|1|9999047132|MR|Test|E|Lead 47132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047133|147133|989898|1|9999047133|MR|Test|E|Lead 47133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047134|147134|989898|1|9999047134|MR|Test|E|Lead 47134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047135|147135|989898|1|9999047135|MR|Test|E|Lead 47135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047136|147136|989898|1|9999047136|MR|Test|E|Lead 47136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047137|147137|989898|1|9999047137|MR|Test|E|Lead 47137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047138|147138|989898|1|9999047138|MR|Test|E|Lead 47138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047139|147139|989898|1|9999047139|MR|Test|E|Lead 47139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047140|147140|989898|1|9999047140|MR|Test|E|Lead 47140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047141|147141|989898|1|9999047141|MR|Test|E|Lead 47141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047142|147142|989898|1|9999047142|MR|Test|E|Lead 47142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047143|147143|989898|1|9999047143|MR|Test|E|Lead 47143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047144|147144|989898|1|9999047144|MR|Test|E|Lead 47144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047145|147145|989898|1|9999047145|MR|Test|E|Lead 47145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047146|147146|989898|1|9999047146|MR|Test|E|Lead 47146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047147|147147|989898|1|9999047147|MR|Test|E|Lead 47147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047148|147148|989898|1|9999047148|MR|Test|E|Lead 47148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047149|147149|989898|1|9999047149|MR|Test|E|Lead 47149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047150|147150|989898|1|9999047150|MR|Test|E|Lead 47150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047151|147151|989898|1|9999047151|MR|Test|E|Lead 47151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047152|147152|989898|1|9999047152|MR|Test|E|Lead 47152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047153|147153|989898|1|9999047153|MR|Test|E|Lead 47153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047154|147154|989898|1|9999047154|MR|Test|E|Lead 47154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047155|147155|989898|1|9999047155|MR|Test|E|Lead 47155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047156|147156|989898|1|9999047156|MR|Test|E|Lead 47156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047157|147157|989898|1|9999047157|MR|Test|E|Lead 47157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047158|147158|989898|1|9999047158|MR|Test|E|Lead 47158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047159|147159|989898|1|9999047159|MR|Test|E|Lead 47159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047160|147160|989898|1|9999047160|MR|Test|E|Lead 47160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047161|147161|989898|1|9999047161|MR|Test|E|Lead 47161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047162|147162|989898|1|9999047162|MR|Test|E|Lead 47162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047163|147163|989898|1|9999047163|MR|Test|E|Lead 47163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047164|147164|989898|1|9999047164|MR|Test|E|Lead 47164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047165|147165|989898|1|9999047165|MR|Test|E|Lead 47165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047166|147166|989898|1|9999047166|MR|Test|E|Lead 47166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047167|147167|989898|1|9999047167|MR|Test|E|Lead 47167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047168|147168|989898|1|9999047168|MR|Test|E|Lead 47168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047169|147169|989898|1|9999047169|MR|Test|E|Lead 47169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047170|147170|989898|1|9999047170|MR|Test|E|Lead 47170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047171|147171|989898|1|9999047171|MR|Test|E|Lead 47171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047172|147172|989898|1|9999047172|MR|Test|E|Lead 47172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047173|147173|989898|1|9999047173|MR|Test|E|Lead 47173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047174|147174|989898|1|9999047174|MR|Test|E|Lead 47174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047175|147175|989898|1|9999047175|MR|Test|E|Lead 47175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047176|147176|989898|1|9999047176|MR|Test|E|Lead 47176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047177|147177|989898|1|9999047177|MR|Test|E|Lead 47177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047178|147178|989898|1|9999047178|MR|Test|E|Lead 47178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047179|147179|989898|1|9999047179|MR|Test|E|Lead 47179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047180|147180|989898|1|9999047180|MR|Test|E|Lead 47180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047181|147181|989898|1|9999047181|MR|Test|E|Lead 47181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047182|147182|989898|1|9999047182|MR|Test|E|Lead 47182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047183|147183|989898|1|9999047183|MR|Test|E|Lead 47183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047184|147184|989898|1|9999047184|MR|Test|E|Lead 47184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047185|147185|989898|1|9999047185|MR|Test|E|Lead 47185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047186|147186|989898|1|9999047186|MR|Test|E|Lead 47186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047187|147187|989898|1|9999047187|MR|Test|E|Lead 47187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047188|147188|989898|1|9999047188|MR|Test|E|Lead 47188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047189|147189|989898|1|9999047189|MR|Test|E|Lead 47189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047190|147190|989898|1|9999047190|MR|Test|E|Lead 47190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047191|147191|989898|1|9999047191|MR|Test|E|Lead 47191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047192|147192|989898|1|9999047192|MR|Test|E|Lead 47192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047193|147193|989898|1|9999047193|MR|Test|E|Lead 47193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047194|147194|989898|1|9999047194|MR|Test|E|Lead 47194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047195|147195|989898|1|9999047195|MR|Test|E|Lead 47195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047196|147196|989898|1|9999047196|MR|Test|E|Lead 47196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047197|147197|989898|1|9999047197|MR|Test|E|Lead 47197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047198|147198|989898|1|9999047198|MR|Test|E|Lead 47198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047199|147199|989898|1|9999047199|MR|Test|E|Lead 47199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047200|147200|989898|1|9999047200|MR|Test|E|Lead 47200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047201|147201|989898|1|9999047201|MR|Test|E|Lead 47201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047202|147202|989898|1|9999047202|MR|Test|E|Lead 47202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047203|147203|989898|1|9999047203|MR|Test|E|Lead 47203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047204|147204|989898|1|9999047204|MR|Test|E|Lead 47204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047205|147205|989898|1|9999047205|MR|Test|E|Lead 47205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047206|147206|989898|1|9999047206|MR|Test|E|Lead 47206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047207|147207|989898|1|9999047207|MR|Test|E|Lead 47207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047208|147208|989898|1|9999047208|MR|Test|E|Lead 47208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047209|147209|989898|1|9999047209|MR|Test|E|Lead 47209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047210|147210|989898|1|9999047210|MR|Test|E|Lead 47210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047211|147211|989898|1|9999047211|MR|Test|E|Lead 47211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047212|147212|989898|1|9999047212|MR|Test|E|Lead 47212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047213|147213|989898|1|9999047213|MR|Test|E|Lead 47213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047214|147214|989898|1|9999047214|MR|Test|E|Lead 47214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047215|147215|989898|1|9999047215|MR|Test|E|Lead 47215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047216|147216|989898|1|9999047216|MR|Test|E|Lead 47216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047217|147217|989898|1|9999047217|MR|Test|E|Lead 47217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047218|147218|989898|1|9999047218|MR|Test|E|Lead 47218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047219|147219|989898|1|9999047219|MR|Test|E|Lead 47219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047220|147220|989898|1|9999047220|MR|Test|E|Lead 47220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047221|147221|989898|1|9999047221|MR|Test|E|Lead 47221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047222|147222|989898|1|9999047222|MR|Test|E|Lead 47222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047223|147223|989898|1|9999047223|MR|Test|E|Lead 47223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047224|147224|989898|1|9999047224|MR|Test|E|Lead 47224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047225|147225|989898|1|9999047225|MR|Test|E|Lead 47225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047226|147226|989898|1|9999047226|MR|Test|E|Lead 47226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047227|147227|989898|1|9999047227|MR|Test|E|Lead 47227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047228|147228|989898|1|9999047228|MR|Test|E|Lead 47228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047229|147229|989898|1|9999047229|MR|Test|E|Lead 47229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047230|147230|989898|1|9999047230|MR|Test|E|Lead 47230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047231|147231|989898|1|9999047231|MR|Test|E|Lead 47231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047232|147232|989898|1|9999047232|MR|Test|E|Lead 47232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047233|147233|989898|1|9999047233|MR|Test|E|Lead 47233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047234|147234|989898|1|9999047234|MR|Test|E|Lead 47234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047235|147235|989898|1|9999047235|MR|Test|E|Lead 47235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047236|147236|989898|1|9999047236|MR|Test|E|Lead 47236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047237|147237|989898|1|9999047237|MR|Test|E|Lead 47237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047238|147238|989898|1|9999047238|MR|Test|E|Lead 47238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047239|147239|989898|1|9999047239|MR|Test|E|Lead 47239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047240|147240|989898|1|9999047240|MR|Test|E|Lead 47240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047241|147241|989898|1|9999047241|MR|Test|E|Lead 47241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047242|147242|989898|1|9999047242|MR|Test|E|Lead 47242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047243|147243|989898|1|9999047243|MR|Test|E|Lead 47243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047244|147244|989898|1|9999047244|MR|Test|E|Lead 47244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047245|147245|989898|1|9999047245|MR|Test|E|Lead 47245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047246|147246|989898|1|9999047246|MR|Test|E|Lead 47246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047247|147247|989898|1|9999047247|MR|Test|E|Lead 47247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047248|147248|989898|1|9999047248|MR|Test|E|Lead 47248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047249|147249|989898|1|9999047249|MR|Test|E|Lead 47249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047250|147250|989898|1|9999047250|MR|Test|E|Lead 47250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047251|147251|989898|1|9999047251|MR|Test|E|Lead 47251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047252|147252|989898|1|9999047252|MR|Test|E|Lead 47252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047253|147253|989898|1|9999047253|MR|Test|E|Lead 47253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047254|147254|989898|1|9999047254|MR|Test|E|Lead 47254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047255|147255|989898|1|9999047255|MR|Test|E|Lead 47255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047256|147256|989898|1|9999047256|MR|Test|E|Lead 47256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047257|147257|989898|1|9999047257|MR|Test|E|Lead 47257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047258|147258|989898|1|9999047258|MR|Test|E|Lead 47258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047259|147259|989898|1|9999047259|MR|Test|E|Lead 47259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047260|147260|989898|1|9999047260|MR|Test|E|Lead 47260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047261|147261|989898|1|9999047261|MR|Test|E|Lead 47261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047262|147262|989898|1|9999047262|MR|Test|E|Lead 47262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047263|147263|989898|1|9999047263|MR|Test|E|Lead 47263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047264|147264|989898|1|9999047264|MR|Test|E|Lead 47264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047265|147265|989898|1|9999047265|MR|Test|E|Lead 47265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047266|147266|989898|1|9999047266|MR|Test|E|Lead 47266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047267|147267|989898|1|9999047267|MR|Test|E|Lead 47267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047268|147268|989898|1|9999047268|MR|Test|E|Lead 47268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047269|147269|989898|1|9999047269|MR|Test|E|Lead 47269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047270|147270|989898|1|9999047270|MR|Test|E|Lead 47270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047271|147271|989898|1|9999047271|MR|Test|E|Lead 47271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047272|147272|989898|1|9999047272|MR|Test|E|Lead 47272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047273|147273|989898|1|9999047273|MR|Test|E|Lead 47273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047274|147274|989898|1|9999047274|MR|Test|E|Lead 47274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047275|147275|989898|1|9999047275|MR|Test|E|Lead 47275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047276|147276|989898|1|9999047276|MR|Test|E|Lead 47276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047277|147277|989898|1|9999047277|MR|Test|E|Lead 47277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047278|147278|989898|1|9999047278|MR|Test|E|Lead 47278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047279|147279|989898|1|9999047279|MR|Test|E|Lead 47279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047280|147280|989898|1|9999047280|MR|Test|E|Lead 47280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047281|147281|989898|1|9999047281|MR|Test|E|Lead 47281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047282|147282|989898|1|9999047282|MR|Test|E|Lead 47282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047283|147283|989898|1|9999047283|MR|Test|E|Lead 47283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047284|147284|989898|1|9999047284|MR|Test|E|Lead 47284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047285|147285|989898|1|9999047285|MR|Test|E|Lead 47285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047286|147286|989898|1|9999047286|MR|Test|E|Lead 47286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047287|147287|989898|1|9999047287|MR|Test|E|Lead 47287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047288|147288|989898|1|9999047288|MR|Test|E|Lead 47288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047289|147289|989898|1|9999047289|MR|Test|E|Lead 47289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047290|147290|989898|1|9999047290|MR|Test|E|Lead 47290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047291|147291|989898|1|9999047291|MR|Test|E|Lead 47291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047292|147292|989898|1|9999047292|MR|Test|E|Lead 47292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047293|147293|989898|1|9999047293|MR|Test|E|Lead 47293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047294|147294|989898|1|9999047294|MR|Test|E|Lead 47294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047295|147295|989898|1|9999047295|MR|Test|E|Lead 47295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047296|147296|989898|1|9999047296|MR|Test|E|Lead 47296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047297|147297|989898|1|9999047297|MR|Test|E|Lead 47297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047298|147298|989898|1|9999047298|MR|Test|E|Lead 47298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047299|147299|989898|1|9999047299|MR|Test|E|Lead 47299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047300|147300|989898|1|9999047300|MR|Test|E|Lead 47300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047301|147301|989898|1|9999047301|MR|Test|E|Lead 47301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047302|147302|989898|1|9999047302|MR|Test|E|Lead 47302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047303|147303|989898|1|9999047303|MR|Test|E|Lead 47303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047304|147304|989898|1|9999047304|MR|Test|E|Lead 47304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047305|147305|989898|1|9999047305|MR|Test|E|Lead 47305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047306|147306|989898|1|9999047306|MR|Test|E|Lead 47306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047307|147307|989898|1|9999047307|MR|Test|E|Lead 47307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047308|147308|989898|1|9999047308|MR|Test|E|Lead 47308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047309|147309|989898|1|9999047309|MR|Test|E|Lead 47309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047310|147310|989898|1|9999047310|MR|Test|E|Lead 47310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047311|147311|989898|1|9999047311|MR|Test|E|Lead 47311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047312|147312|989898|1|9999047312|MR|Test|E|Lead 47312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047313|147313|989898|1|9999047313|MR|Test|E|Lead 47313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047314|147314|989898|1|9999047314|MR|Test|E|Lead 47314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047315|147315|989898|1|9999047315|MR|Test|E|Lead 47315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047316|147316|989898|1|9999047316|MR|Test|E|Lead 47316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047317|147317|989898|1|9999047317|MR|Test|E|Lead 47317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047318|147318|989898|1|9999047318|MR|Test|E|Lead 47318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047319|147319|989898|1|9999047319|MR|Test|E|Lead 47319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047320|147320|989898|1|9999047320|MR|Test|E|Lead 47320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047321|147321|989898|1|9999047321|MR|Test|E|Lead 47321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047322|147322|989898|1|9999047322|MR|Test|E|Lead 47322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047323|147323|989898|1|9999047323|MR|Test|E|Lead 47323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047324|147324|989898|1|9999047324|MR|Test|E|Lead 47324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047325|147325|989898|1|9999047325|MR|Test|E|Lead 47325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047326|147326|989898|1|9999047326|MR|Test|E|Lead 47326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047327|147327|989898|1|9999047327|MR|Test|E|Lead 47327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047328|147328|989898|1|9999047328|MR|Test|E|Lead 47328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047329|147329|989898|1|9999047329|MR|Test|E|Lead 47329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047330|147330|989898|1|9999047330|MR|Test|E|Lead 47330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047331|147331|989898|1|9999047331|MR|Test|E|Lead 47331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047332|147332|989898|1|9999047332|MR|Test|E|Lead 47332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047333|147333|989898|1|9999047333|MR|Test|E|Lead 47333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047334|147334|989898|1|9999047334|MR|Test|E|Lead 47334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047335|147335|989898|1|9999047335|MR|Test|E|Lead 47335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047336|147336|989898|1|9999047336|MR|Test|E|Lead 47336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047337|147337|989898|1|9999047337|MR|Test|E|Lead 47337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047338|147338|989898|1|9999047338|MR|Test|E|Lead 47338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047339|147339|989898|1|9999047339|MR|Test|E|Lead 47339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047340|147340|989898|1|9999047340|MR|Test|E|Lead 47340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047341|147341|989898|1|9999047341|MR|Test|E|Lead 47341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047342|147342|989898|1|9999047342|MR|Test|E|Lead 47342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047343|147343|989898|1|9999047343|MR|Test|E|Lead 47343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047344|147344|989898|1|9999047344|MR|Test|E|Lead 47344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047345|147345|989898|1|9999047345|MR|Test|E|Lead 47345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047346|147346|989898|1|9999047346|MR|Test|E|Lead 47346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047347|147347|989898|1|9999047347|MR|Test|E|Lead 47347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047348|147348|989898|1|9999047348|MR|Test|E|Lead 47348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047349|147349|989898|1|9999047349|MR|Test|E|Lead 47349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047350|147350|989898|1|9999047350|MR|Test|E|Lead 47350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047351|147351|989898|1|9999047351|MR|Test|E|Lead 47351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047352|147352|989898|1|9999047352|MR|Test|E|Lead 47352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047353|147353|989898|1|9999047353|MR|Test|E|Lead 47353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047354|147354|989898|1|9999047354|MR|Test|E|Lead 47354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047355|147355|989898|1|9999047355|MR|Test|E|Lead 47355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047356|147356|989898|1|9999047356|MR|Test|E|Lead 47356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047357|147357|989898|1|9999047357|MR|Test|E|Lead 47357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047358|147358|989898|1|9999047358|MR|Test|E|Lead 47358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047359|147359|989898|1|9999047359|MR|Test|E|Lead 47359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047360|147360|989898|1|9999047360|MR|Test|E|Lead 47360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047361|147361|989898|1|9999047361|MR|Test|E|Lead 47361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047362|147362|989898|1|9999047362|MR|Test|E|Lead 47362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047363|147363|989898|1|9999047363|MR|Test|E|Lead 47363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047364|147364|989898|1|9999047364|MR|Test|E|Lead 47364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047365|147365|989898|1|9999047365|MR|Test|E|Lead 47365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047366|147366|989898|1|9999047366|MR|Test|E|Lead 47366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047367|147367|989898|1|9999047367|MR|Test|E|Lead 47367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047368|147368|989898|1|9999047368|MR|Test|E|Lead 47368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047369|147369|989898|1|9999047369|MR|Test|E|Lead 47369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047370|147370|989898|1|9999047370|MR|Test|E|Lead 47370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047371|147371|989898|1|9999047371|MR|Test|E|Lead 47371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047372|147372|989898|1|9999047372|MR|Test|E|Lead 47372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047373|147373|989898|1|9999047373|MR|Test|E|Lead 47373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047374|147374|989898|1|9999047374|MR|Test|E|Lead 47374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047375|147375|989898|1|9999047375|MR|Test|E|Lead 47375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047376|147376|989898|1|9999047376|MR|Test|E|Lead 47376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047377|147377|989898|1|9999047377|MR|Test|E|Lead 47377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047378|147378|989898|1|9999047378|MR|Test|E|Lead 47378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047379|147379|989898|1|9999047379|MR|Test|E|Lead 47379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047380|147380|989898|1|9999047380|MR|Test|E|Lead 47380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047381|147381|989898|1|9999047381|MR|Test|E|Lead 47381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047382|147382|989898|1|9999047382|MR|Test|E|Lead 47382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047383|147383|989898|1|9999047383|MR|Test|E|Lead 47383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047384|147384|989898|1|9999047384|MR|Test|E|Lead 47384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047385|147385|989898|1|9999047385|MR|Test|E|Lead 47385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047386|147386|989898|1|9999047386|MR|Test|E|Lead 47386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047387|147387|989898|1|9999047387|MR|Test|E|Lead 47387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047388|147388|989898|1|9999047388|MR|Test|E|Lead 47388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047389|147389|989898|1|9999047389|MR|Test|E|Lead 47389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047390|147390|989898|1|9999047390|MR|Test|E|Lead 47390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047391|147391|989898|1|9999047391|MR|Test|E|Lead 47391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047392|147392|989898|1|9999047392|MR|Test|E|Lead 47392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047393|147393|989898|1|9999047393|MR|Test|E|Lead 47393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047394|147394|989898|1|9999047394|MR|Test|E|Lead 47394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047395|147395|989898|1|9999047395|MR|Test|E|Lead 47395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047396|147396|989898|1|9999047396|MR|Test|E|Lead 47396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047397|147397|989898|1|9999047397|MR|Test|E|Lead 47397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047398|147398|989898|1|9999047398|MR|Test|E|Lead 47398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047399|147399|989898|1|9999047399|MR|Test|E|Lead 47399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047400|147400|989898|1|9999047400|MR|Test|E|Lead 47400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047401|147401|989898|1|9999047401|MR|Test|E|Lead 47401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047402|147402|989898|1|9999047402|MR|Test|E|Lead 47402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047403|147403|989898|1|9999047403|MR|Test|E|Lead 47403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047404|147404|989898|1|9999047404|MR|Test|E|Lead 47404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047405|147405|989898|1|9999047405|MR|Test|E|Lead 47405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047406|147406|989898|1|9999047406|MR|Test|E|Lead 47406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047407|147407|989898|1|9999047407|MR|Test|E|Lead 47407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047408|147408|989898|1|9999047408|MR|Test|E|Lead 47408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047409|147409|989898|1|9999047409|MR|Test|E|Lead 47409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047410|147410|989898|1|9999047410|MR|Test|E|Lead 47410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047411|147411|989898|1|9999047411|MR|Test|E|Lead 47411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047412|147412|989898|1|9999047412|MR|Test|E|Lead 47412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047413|147413|989898|1|9999047413|MR|Test|E|Lead 47413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047414|147414|989898|1|9999047414|MR|Test|E|Lead 47414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047415|147415|989898|1|9999047415|MR|Test|E|Lead 47415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047416|147416|989898|1|9999047416|MR|Test|E|Lead 47416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047417|147417|989898|1|9999047417|MR|Test|E|Lead 47417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047418|147418|989898|1|9999047418|MR|Test|E|Lead 47418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047419|147419|989898|1|9999047419|MR|Test|E|Lead 47419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047420|147420|989898|1|9999047420|MR|Test|E|Lead 47420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047421|147421|989898|1|9999047421|MR|Test|E|Lead 47421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047422|147422|989898|1|9999047422|MR|Test|E|Lead 47422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047423|147423|989898|1|9999047423|MR|Test|E|Lead 47423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047424|147424|989898|1|9999047424|MR|Test|E|Lead 47424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047425|147425|989898|1|9999047425|MR|Test|E|Lead 47425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047426|147426|989898|1|9999047426|MR|Test|E|Lead 47426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047427|147427|989898|1|9999047427|MR|Test|E|Lead 47427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047428|147428|989898|1|9999047428|MR|Test|E|Lead 47428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047429|147429|989898|1|9999047429|MR|Test|E|Lead 47429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047430|147430|989898|1|9999047430|MR|Test|E|Lead 47430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047431|147431|989898|1|9999047431|MR|Test|E|Lead 47431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047432|147432|989898|1|9999047432|MR|Test|E|Lead 47432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047433|147433|989898|1|9999047433|MR|Test|E|Lead 47433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047434|147434|989898|1|9999047434|MR|Test|E|Lead 47434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047435|147435|989898|1|9999047435|MR|Test|E|Lead 47435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047436|147436|989898|1|9999047436|MR|Test|E|Lead 47436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047437|147437|989898|1|9999047437|MR|Test|E|Lead 47437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047438|147438|989898|1|9999047438|MR|Test|E|Lead 47438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047439|147439|989898|1|9999047439|MR|Test|E|Lead 47439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047440|147440|989898|1|9999047440|MR|Test|E|Lead 47440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047441|147441|989898|1|9999047441|MR|Test|E|Lead 47441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047442|147442|989898|1|9999047442|MR|Test|E|Lead 47442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047443|147443|989898|1|9999047443|MR|Test|E|Lead 47443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047444|147444|989898|1|9999047444|MR|Test|E|Lead 47444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047445|147445|989898|1|9999047445|MR|Test|E|Lead 47445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047446|147446|989898|1|9999047446|MR|Test|E|Lead 47446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047447|147447|989898|1|9999047447|MR|Test|E|Lead 47447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047448|147448|989898|1|9999047448|MR|Test|E|Lead 47448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047449|147449|989898|1|9999047449|MR|Test|E|Lead 47449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047450|147450|989898|1|9999047450|MR|Test|E|Lead 47450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047451|147451|989898|1|9999047451|MR|Test|E|Lead 47451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047452|147452|989898|1|9999047452|MR|Test|E|Lead 47452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047453|147453|989898|1|9999047453|MR|Test|E|Lead 47453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047454|147454|989898|1|9999047454|MR|Test|E|Lead 47454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047455|147455|989898|1|9999047455|MR|Test|E|Lead 47455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047456|147456|989898|1|9999047456|MR|Test|E|Lead 47456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047457|147457|989898|1|9999047457|MR|Test|E|Lead 47457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047458|147458|989898|1|9999047458|MR|Test|E|Lead 47458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047459|147459|989898|1|9999047459|MR|Test|E|Lead 47459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047460|147460|989898|1|9999047460|MR|Test|E|Lead 47460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047461|147461|989898|1|9999047461|MR|Test|E|Lead 47461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047462|147462|989898|1|9999047462|MR|Test|E|Lead 47462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047463|147463|989898|1|9999047463|MR|Test|E|Lead 47463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047464|147464|989898|1|9999047464|MR|Test|E|Lead 47464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047465|147465|989898|1|9999047465|MR|Test|E|Lead 47465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047466|147466|989898|1|9999047466|MR|Test|E|Lead 47466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047467|147467|989898|1|9999047467|MR|Test|E|Lead 47467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047468|147468|989898|1|9999047468|MR|Test|E|Lead 47468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047469|147469|989898|1|9999047469|MR|Test|E|Lead 47469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047470|147470|989898|1|9999047470|MR|Test|E|Lead 47470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047471|147471|989898|1|9999047471|MR|Test|E|Lead 47471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047472|147472|989898|1|9999047472|MR|Test|E|Lead 47472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047473|147473|989898|1|9999047473|MR|Test|E|Lead 47473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047474|147474|989898|1|9999047474|MR|Test|E|Lead 47474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047475|147475|989898|1|9999047475|MR|Test|E|Lead 47475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047476|147476|989898|1|9999047476|MR|Test|E|Lead 47476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047477|147477|989898|1|9999047477|MR|Test|E|Lead 47477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047478|147478|989898|1|9999047478|MR|Test|E|Lead 47478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047479|147479|989898|1|9999047479|MR|Test|E|Lead 47479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047480|147480|989898|1|9999047480|MR|Test|E|Lead 47480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047481|147481|989898|1|9999047481|MR|Test|E|Lead 47481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047482|147482|989898|1|9999047482|MR|Test|E|Lead 47482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047483|147483|989898|1|9999047483|MR|Test|E|Lead 47483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047484|147484|989898|1|9999047484|MR|Test|E|Lead 47484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047485|147485|989898|1|9999047485|MR|Test|E|Lead 47485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047486|147486|989898|1|9999047486|MR|Test|E|Lead 47486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047487|147487|989898|1|9999047487|MR|Test|E|Lead 47487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047488|147488|989898|1|9999047488|MR|Test|E|Lead 47488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047489|147489|989898|1|9999047489|MR|Test|E|Lead 47489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047490|147490|989898|1|9999047490|MR|Test|E|Lead 47490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047491|147491|989898|1|9999047491|MR|Test|E|Lead 47491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047492|147492|989898|1|9999047492|MR|Test|E|Lead 47492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047493|147493|989898|1|9999047493|MR|Test|E|Lead 47493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047494|147494|989898|1|9999047494|MR|Test|E|Lead 47494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047495|147495|989898|1|9999047495|MR|Test|E|Lead 47495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047496|147496|989898|1|9999047496|MR|Test|E|Lead 47496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047497|147497|989898|1|9999047497|MR|Test|E|Lead 47497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047498|147498|989898|1|9999047498|MR|Test|E|Lead 47498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047499|147499|989898|1|9999047499|MR|Test|E|Lead 47499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047500|147500|989898|1|9999047500|MR|Test|E|Lead 47500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047501|147501|989898|1|9999047501|MR|Test|E|Lead 47501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047502|147502|989898|1|9999047502|MR|Test|E|Lead 47502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047503|147503|989898|1|9999047503|MR|Test|E|Lead 47503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047504|147504|989898|1|9999047504|MR|Test|E|Lead 47504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047505|147505|989898|1|9999047505|MR|Test|E|Lead 47505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047506|147506|989898|1|9999047506|MR|Test|E|Lead 47506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047507|147507|989898|1|9999047507|MR|Test|E|Lead 47507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047508|147508|989898|1|9999047508|MR|Test|E|Lead 47508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047509|147509|989898|1|9999047509|MR|Test|E|Lead 47509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047510|147510|989898|1|9999047510|MR|Test|E|Lead 47510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047511|147511|989898|1|9999047511|MR|Test|E|Lead 47511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047512|147512|989898|1|9999047512|MR|Test|E|Lead 47512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047513|147513|989898|1|9999047513|MR|Test|E|Lead 47513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047514|147514|989898|1|9999047514|MR|Test|E|Lead 47514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047515|147515|989898|1|9999047515|MR|Test|E|Lead 47515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047516|147516|989898|1|9999047516|MR|Test|E|Lead 47516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047517|147517|989898|1|9999047517|MR|Test|E|Lead 47517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047518|147518|989898|1|9999047518|MR|Test|E|Lead 47518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047519|147519|989898|1|9999047519|MR|Test|E|Lead 47519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047520|147520|989898|1|9999047520|MR|Test|E|Lead 47520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047521|147521|989898|1|9999047521|MR|Test|E|Lead 47521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047522|147522|989898|1|9999047522|MR|Test|E|Lead 47522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047523|147523|989898|1|9999047523|MR|Test|E|Lead 47523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047524|147524|989898|1|9999047524|MR|Test|E|Lead 47524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047525|147525|989898|1|9999047525|MR|Test|E|Lead 47525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047526|147526|989898|1|9999047526|MR|Test|E|Lead 47526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047527|147527|989898|1|9999047527|MR|Test|E|Lead 47527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047528|147528|989898|1|9999047528|MR|Test|E|Lead 47528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047529|147529|989898|1|9999047529|MR|Test|E|Lead 47529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047530|147530|989898|1|9999047530|MR|Test|E|Lead 47530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047531|147531|989898|1|9999047531|MR|Test|E|Lead 47531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047532|147532|989898|1|9999047532|MR|Test|E|Lead 47532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047533|147533|989898|1|9999047533|MR|Test|E|Lead 47533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047534|147534|989898|1|9999047534|MR|Test|E|Lead 47534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047535|147535|989898|1|9999047535|MR|Test|E|Lead 47535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047536|147536|989898|1|9999047536|MR|Test|E|Lead 47536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047537|147537|989898|1|9999047537|MR|Test|E|Lead 47537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047538|147538|989898|1|9999047538|MR|Test|E|Lead 47538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047539|147539|989898|1|9999047539|MR|Test|E|Lead 47539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047540|147540|989898|1|9999047540|MR|Test|E|Lead 47540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047541|147541|989898|1|9999047541|MR|Test|E|Lead 47541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047542|147542|989898|1|9999047542|MR|Test|E|Lead 47542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047543|147543|989898|1|9999047543|MR|Test|E|Lead 47543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047544|147544|989898|1|9999047544|MR|Test|E|Lead 47544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047545|147545|989898|1|9999047545|MR|Test|E|Lead 47545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047546|147546|989898|1|9999047546|MR|Test|E|Lead 47546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047547|147547|989898|1|9999047547|MR|Test|E|Lead 47547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047548|147548|989898|1|9999047548|MR|Test|E|Lead 47548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047549|147549|989898|1|9999047549|MR|Test|E|Lead 47549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047550|147550|989898|1|9999047550|MR|Test|E|Lead 47550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047551|147551|989898|1|9999047551|MR|Test|E|Lead 47551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047552|147552|989898|1|9999047552|MR|Test|E|Lead 47552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047553|147553|989898|1|9999047553|MR|Test|E|Lead 47553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047554|147554|989898|1|9999047554|MR|Test|E|Lead 47554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047555|147555|989898|1|9999047555|MR|Test|E|Lead 47555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047556|147556|989898|1|9999047556|MR|Test|E|Lead 47556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047557|147557|989898|1|9999047557|MR|Test|E|Lead 47557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047558|147558|989898|1|9999047558|MR|Test|E|Lead 47558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047559|147559|989898|1|9999047559|MR|Test|E|Lead 47559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047560|147560|989898|1|9999047560|MR|Test|E|Lead 47560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047561|147561|989898|1|9999047561|MR|Test|E|Lead 47561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047562|147562|989898|1|9999047562|MR|Test|E|Lead 47562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047563|147563|989898|1|9999047563|MR|Test|E|Lead 47563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047564|147564|989898|1|9999047564|MR|Test|E|Lead 47564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047565|147565|989898|1|9999047565|MR|Test|E|Lead 47565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047566|147566|989898|1|9999047566|MR|Test|E|Lead 47566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047567|147567|989898|1|9999047567|MR|Test|E|Lead 47567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047568|147568|989898|1|9999047568|MR|Test|E|Lead 47568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047569|147569|989898|1|9999047569|MR|Test|E|Lead 47569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047570|147570|989898|1|9999047570|MR|Test|E|Lead 47570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047571|147571|989898|1|9999047571|MR|Test|E|Lead 47571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047572|147572|989898|1|9999047572|MR|Test|E|Lead 47572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047573|147573|989898|1|9999047573|MR|Test|E|Lead 47573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047574|147574|989898|1|9999047574|MR|Test|E|Lead 47574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047575|147575|989898|1|9999047575|MR|Test|E|Lead 47575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047576|147576|989898|1|9999047576|MR|Test|E|Lead 47576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047577|147577|989898|1|9999047577|MR|Test|E|Lead 47577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047578|147578|989898|1|9999047578|MR|Test|E|Lead 47578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047579|147579|989898|1|9999047579|MR|Test|E|Lead 47579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047580|147580|989898|1|9999047580|MR|Test|E|Lead 47580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047581|147581|989898|1|9999047581|MR|Test|E|Lead 47581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047582|147582|989898|1|9999047582|MR|Test|E|Lead 47582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047583|147583|989898|1|9999047583|MR|Test|E|Lead 47583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047584|147584|989898|1|9999047584|MR|Test|E|Lead 47584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047585|147585|989898|1|9999047585|MR|Test|E|Lead 47585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047586|147586|989898|1|9999047586|MR|Test|E|Lead 47586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047587|147587|989898|1|9999047587|MR|Test|E|Lead 47587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047588|147588|989898|1|9999047588|MR|Test|E|Lead 47588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047589|147589|989898|1|9999047589|MR|Test|E|Lead 47589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047590|147590|989898|1|9999047590|MR|Test|E|Lead 47590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047591|147591|989898|1|9999047591|MR|Test|E|Lead 47591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047592|147592|989898|1|9999047592|MR|Test|E|Lead 47592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047593|147593|989898|1|9999047593|MR|Test|E|Lead 47593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047594|147594|989898|1|9999047594|MR|Test|E|Lead 47594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047595|147595|989898|1|9999047595|MR|Test|E|Lead 47595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047596|147596|989898|1|9999047596|MR|Test|E|Lead 47596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047597|147597|989898|1|9999047597|MR|Test|E|Lead 47597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047598|147598|989898|1|9999047598|MR|Test|E|Lead 47598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047599|147599|989898|1|9999047599|MR|Test|E|Lead 47599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047600|147600|989898|1|9999047600|MR|Test|E|Lead 47600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047601|147601|989898|1|9999047601|MR|Test|E|Lead 47601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047602|147602|989898|1|9999047602|MR|Test|E|Lead 47602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047603|147603|989898|1|9999047603|MR|Test|E|Lead 47603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047604|147604|989898|1|9999047604|MR|Test|E|Lead 47604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047605|147605|989898|1|9999047605|MR|Test|E|Lead 47605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047606|147606|989898|1|9999047606|MR|Test|E|Lead 47606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047607|147607|989898|1|9999047607|MR|Test|E|Lead 47607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047608|147608|989898|1|9999047608|MR|Test|E|Lead 47608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047609|147609|989898|1|9999047609|MR|Test|E|Lead 47609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047610|147610|989898|1|9999047610|MR|Test|E|Lead 47610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047611|147611|989898|1|9999047611|MR|Test|E|Lead 47611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047612|147612|989898|1|9999047612|MR|Test|E|Lead 47612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047613|147613|989898|1|9999047613|MR|Test|E|Lead 47613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047614|147614|989898|1|9999047614|MR|Test|E|Lead 47614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047615|147615|989898|1|9999047615|MR|Test|E|Lead 47615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047616|147616|989898|1|9999047616|MR|Test|E|Lead 47616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047617|147617|989898|1|9999047617|MR|Test|E|Lead 47617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047618|147618|989898|1|9999047618|MR|Test|E|Lead 47618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047619|147619|989898|1|9999047619|MR|Test|E|Lead 47619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047620|147620|989898|1|9999047620|MR|Test|E|Lead 47620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047621|147621|989898|1|9999047621|MR|Test|E|Lead 47621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047622|147622|989898|1|9999047622|MR|Test|E|Lead 47622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047623|147623|989898|1|9999047623|MR|Test|E|Lead 47623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047624|147624|989898|1|9999047624|MR|Test|E|Lead 47624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047625|147625|989898|1|9999047625|MR|Test|E|Lead 47625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047626|147626|989898|1|9999047626|MR|Test|E|Lead 47626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047627|147627|989898|1|9999047627|MR|Test|E|Lead 47627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047628|147628|989898|1|9999047628|MR|Test|E|Lead 47628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047629|147629|989898|1|9999047629|MR|Test|E|Lead 47629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047630|147630|989898|1|9999047630|MR|Test|E|Lead 47630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047631|147631|989898|1|9999047631|MR|Test|E|Lead 47631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047632|147632|989898|1|9999047632|MR|Test|E|Lead 47632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047633|147633|989898|1|9999047633|MR|Test|E|Lead 47633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047634|147634|989898|1|9999047634|MR|Test|E|Lead 47634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047635|147635|989898|1|9999047635|MR|Test|E|Lead 47635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047636|147636|989898|1|9999047636|MR|Test|E|Lead 47636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047637|147637|989898|1|9999047637|MR|Test|E|Lead 47637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047638|147638|989898|1|9999047638|MR|Test|E|Lead 47638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047639|147639|989898|1|9999047639|MR|Test|E|Lead 47639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047640|147640|989898|1|9999047640|MR|Test|E|Lead 47640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047641|147641|989898|1|9999047641|MR|Test|E|Lead 47641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047642|147642|989898|1|9999047642|MR|Test|E|Lead 47642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047643|147643|989898|1|9999047643|MR|Test|E|Lead 47643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047644|147644|989898|1|9999047644|MR|Test|E|Lead 47644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047645|147645|989898|1|9999047645|MR|Test|E|Lead 47645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047646|147646|989898|1|9999047646|MR|Test|E|Lead 47646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047647|147647|989898|1|9999047647|MR|Test|E|Lead 47647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047648|147648|989898|1|9999047648|MR|Test|E|Lead 47648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047649|147649|989898|1|9999047649|MR|Test|E|Lead 47649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047650|147650|989898|1|9999047650|MR|Test|E|Lead 47650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047651|147651|989898|1|9999047651|MR|Test|E|Lead 47651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047652|147652|989898|1|9999047652|MR|Test|E|Lead 47652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047653|147653|989898|1|9999047653|MR|Test|E|Lead 47653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047654|147654|989898|1|9999047654|MR|Test|E|Lead 47654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047655|147655|989898|1|9999047655|MR|Test|E|Lead 47655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047656|147656|989898|1|9999047656|MR|Test|E|Lead 47656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047657|147657|989898|1|9999047657|MR|Test|E|Lead 47657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047658|147658|989898|1|9999047658|MR|Test|E|Lead 47658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047659|147659|989898|1|9999047659|MR|Test|E|Lead 47659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047660|147660|989898|1|9999047660|MR|Test|E|Lead 47660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047661|147661|989898|1|9999047661|MR|Test|E|Lead 47661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047662|147662|989898|1|9999047662|MR|Test|E|Lead 47662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047663|147663|989898|1|9999047663|MR|Test|E|Lead 47663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047664|147664|989898|1|9999047664|MR|Test|E|Lead 47664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047665|147665|989898|1|9999047665|MR|Test|E|Lead 47665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047666|147666|989898|1|9999047666|MR|Test|E|Lead 47666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047667|147667|989898|1|9999047667|MR|Test|E|Lead 47667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047668|147668|989898|1|9999047668|MR|Test|E|Lead 47668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047669|147669|989898|1|9999047669|MR|Test|E|Lead 47669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047670|147670|989898|1|9999047670|MR|Test|E|Lead 47670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047671|147671|989898|1|9999047671|MR|Test|E|Lead 47671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047672|147672|989898|1|9999047672|MR|Test|E|Lead 47672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047673|147673|989898|1|9999047673|MR|Test|E|Lead 47673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047674|147674|989898|1|9999047674|MR|Test|E|Lead 47674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047675|147675|989898|1|9999047675|MR|Test|E|Lead 47675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047676|147676|989898|1|9999047676|MR|Test|E|Lead 47676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047677|147677|989898|1|9999047677|MR|Test|E|Lead 47677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047678|147678|989898|1|9999047678|MR|Test|E|Lead 47678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047679|147679|989898|1|9999047679|MR|Test|E|Lead 47679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047680|147680|989898|1|9999047680|MR|Test|E|Lead 47680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047681|147681|989898|1|9999047681|MR|Test|E|Lead 47681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047682|147682|989898|1|9999047682|MR|Test|E|Lead 47682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047683|147683|989898|1|9999047683|MR|Test|E|Lead 47683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047684|147684|989898|1|9999047684|MR|Test|E|Lead 47684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047685|147685|989898|1|9999047685|MR|Test|E|Lead 47685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047686|147686|989898|1|9999047686|MR|Test|E|Lead 47686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047687|147687|989898|1|9999047687|MR|Test|E|Lead 47687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047688|147688|989898|1|9999047688|MR|Test|E|Lead 47688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047689|147689|989898|1|9999047689|MR|Test|E|Lead 47689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047690|147690|989898|1|9999047690|MR|Test|E|Lead 47690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047691|147691|989898|1|9999047691|MR|Test|E|Lead 47691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047692|147692|989898|1|9999047692|MR|Test|E|Lead 47692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047693|147693|989898|1|9999047693|MR|Test|E|Lead 47693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047694|147694|989898|1|9999047694|MR|Test|E|Lead 47694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047695|147695|989898|1|9999047695|MR|Test|E|Lead 47695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047696|147696|989898|1|9999047696|MR|Test|E|Lead 47696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047697|147697|989898|1|9999047697|MR|Test|E|Lead 47697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047698|147698|989898|1|9999047698|MR|Test|E|Lead 47698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047699|147699|989898|1|9999047699|MR|Test|E|Lead 47699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047700|147700|989898|1|9999047700|MR|Test|E|Lead 47700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047701|147701|989898|1|9999047701|MR|Test|E|Lead 47701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047702|147702|989898|1|9999047702|MR|Test|E|Lead 47702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047703|147703|989898|1|9999047703|MR|Test|E|Lead 47703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047704|147704|989898|1|9999047704|MR|Test|E|Lead 47704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047705|147705|989898|1|9999047705|MR|Test|E|Lead 47705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047706|147706|989898|1|9999047706|MR|Test|E|Lead 47706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047707|147707|989898|1|9999047707|MR|Test|E|Lead 47707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047708|147708|989898|1|9999047708|MR|Test|E|Lead 47708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047709|147709|989898|1|9999047709|MR|Test|E|Lead 47709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047710|147710|989898|1|9999047710|MR|Test|E|Lead 47710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047711|147711|989898|1|9999047711|MR|Test|E|Lead 47711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047712|147712|989898|1|9999047712|MR|Test|E|Lead 47712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047713|147713|989898|1|9999047713|MR|Test|E|Lead 47713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047714|147714|989898|1|9999047714|MR|Test|E|Lead 47714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047715|147715|989898|1|9999047715|MR|Test|E|Lead 47715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047716|147716|989898|1|9999047716|MR|Test|E|Lead 47716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047717|147717|989898|1|9999047717|MR|Test|E|Lead 47717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047718|147718|989898|1|9999047718|MR|Test|E|Lead 47718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047719|147719|989898|1|9999047719|MR|Test|E|Lead 47719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047720|147720|989898|1|9999047720|MR|Test|E|Lead 47720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047721|147721|989898|1|9999047721|MR|Test|E|Lead 47721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047722|147722|989898|1|9999047722|MR|Test|E|Lead 47722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047723|147723|989898|1|9999047723|MR|Test|E|Lead 47723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047724|147724|989898|1|9999047724|MR|Test|E|Lead 47724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047725|147725|989898|1|9999047725|MR|Test|E|Lead 47725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047726|147726|989898|1|9999047726|MR|Test|E|Lead 47726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047727|147727|989898|1|9999047727|MR|Test|E|Lead 47727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047728|147728|989898|1|9999047728|MR|Test|E|Lead 47728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047729|147729|989898|1|9999047729|MR|Test|E|Lead 47729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047730|147730|989898|1|9999047730|MR|Test|E|Lead 47730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047731|147731|989898|1|9999047731|MR|Test|E|Lead 47731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047732|147732|989898|1|9999047732|MR|Test|E|Lead 47732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047733|147733|989898|1|9999047733|MR|Test|E|Lead 47733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047734|147734|989898|1|9999047734|MR|Test|E|Lead 47734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047735|147735|989898|1|9999047735|MR|Test|E|Lead 47735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047736|147736|989898|1|9999047736|MR|Test|E|Lead 47736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047737|147737|989898|1|9999047737|MR|Test|E|Lead 47737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047738|147738|989898|1|9999047738|MR|Test|E|Lead 47738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047739|147739|989898|1|9999047739|MR|Test|E|Lead 47739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047740|147740|989898|1|9999047740|MR|Test|E|Lead 47740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047741|147741|989898|1|9999047741|MR|Test|E|Lead 47741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047742|147742|989898|1|9999047742|MR|Test|E|Lead 47742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047743|147743|989898|1|9999047743|MR|Test|E|Lead 47743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047744|147744|989898|1|9999047744|MR|Test|E|Lead 47744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047745|147745|989898|1|9999047745|MR|Test|E|Lead 47745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047746|147746|989898|1|9999047746|MR|Test|E|Lead 47746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047747|147747|989898|1|9999047747|MR|Test|E|Lead 47747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047748|147748|989898|1|9999047748|MR|Test|E|Lead 47748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047749|147749|989898|1|9999047749|MR|Test|E|Lead 47749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047750|147750|989898|1|9999047750|MR|Test|E|Lead 47750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047751|147751|989898|1|9999047751|MR|Test|E|Lead 47751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047752|147752|989898|1|9999047752|MR|Test|E|Lead 47752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047753|147753|989898|1|9999047753|MR|Test|E|Lead 47753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047754|147754|989898|1|9999047754|MR|Test|E|Lead 47754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047755|147755|989898|1|9999047755|MR|Test|E|Lead 47755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047756|147756|989898|1|9999047756|MR|Test|E|Lead 47756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047757|147757|989898|1|9999047757|MR|Test|E|Lead 47757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047758|147758|989898|1|9999047758|MR|Test|E|Lead 47758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047759|147759|989898|1|9999047759|MR|Test|E|Lead 47759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047760|147760|989898|1|9999047760|MR|Test|E|Lead 47760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047761|147761|989898|1|9999047761|MR|Test|E|Lead 47761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047762|147762|989898|1|9999047762|MR|Test|E|Lead 47762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047763|147763|989898|1|9999047763|MR|Test|E|Lead 47763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047764|147764|989898|1|9999047764|MR|Test|E|Lead 47764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047765|147765|989898|1|9999047765|MR|Test|E|Lead 47765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047766|147766|989898|1|9999047766|MR|Test|E|Lead 47766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047767|147767|989898|1|9999047767|MR|Test|E|Lead 47767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047768|147768|989898|1|9999047768|MR|Test|E|Lead 47768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047769|147769|989898|1|9999047769|MR|Test|E|Lead 47769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047770|147770|989898|1|9999047770|MR|Test|E|Lead 47770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047771|147771|989898|1|9999047771|MR|Test|E|Lead 47771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047772|147772|989898|1|9999047772|MR|Test|E|Lead 47772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047773|147773|989898|1|9999047773|MR|Test|E|Lead 47773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047774|147774|989898|1|9999047774|MR|Test|E|Lead 47774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047775|147775|989898|1|9999047775|MR|Test|E|Lead 47775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047776|147776|989898|1|9999047776|MR|Test|E|Lead 47776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047777|147777|989898|1|9999047777|MR|Test|E|Lead 47777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047778|147778|989898|1|9999047778|MR|Test|E|Lead 47778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047779|147779|989898|1|9999047779|MR|Test|E|Lead 47779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047780|147780|989898|1|9999047780|MR|Test|E|Lead 47780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047781|147781|989898|1|9999047781|MR|Test|E|Lead 47781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047782|147782|989898|1|9999047782|MR|Test|E|Lead 47782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047783|147783|989898|1|9999047783|MR|Test|E|Lead 47783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047784|147784|989898|1|9999047784|MR|Test|E|Lead 47784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047785|147785|989898|1|9999047785|MR|Test|E|Lead 47785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047786|147786|989898|1|9999047786|MR|Test|E|Lead 47786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047787|147787|989898|1|9999047787|MR|Test|E|Lead 47787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047788|147788|989898|1|9999047788|MR|Test|E|Lead 47788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047789|147789|989898|1|9999047789|MR|Test|E|Lead 47789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047790|147790|989898|1|9999047790|MR|Test|E|Lead 47790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047791|147791|989898|1|9999047791|MR|Test|E|Lead 47791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047792|147792|989898|1|9999047792|MR|Test|E|Lead 47792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047793|147793|989898|1|9999047793|MR|Test|E|Lead 47793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047794|147794|989898|1|9999047794|MR|Test|E|Lead 47794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047795|147795|989898|1|9999047795|MR|Test|E|Lead 47795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047796|147796|989898|1|9999047796|MR|Test|E|Lead 47796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047797|147797|989898|1|9999047797|MR|Test|E|Lead 47797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047798|147798|989898|1|9999047798|MR|Test|E|Lead 47798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047799|147799|989898|1|9999047799|MR|Test|E|Lead 47799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047800|147800|989898|1|9999047800|MR|Test|E|Lead 47800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047801|147801|989898|1|9999047801|MR|Test|E|Lead 47801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047802|147802|989898|1|9999047802|MR|Test|E|Lead 47802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047803|147803|989898|1|9999047803|MR|Test|E|Lead 47803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047804|147804|989898|1|9999047804|MR|Test|E|Lead 47804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047805|147805|989898|1|9999047805|MR|Test|E|Lead 47805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047806|147806|989898|1|9999047806|MR|Test|E|Lead 47806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047807|147807|989898|1|9999047807|MR|Test|E|Lead 47807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047808|147808|989898|1|9999047808|MR|Test|E|Lead 47808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047809|147809|989898|1|9999047809|MR|Test|E|Lead 47809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047810|147810|989898|1|9999047810|MR|Test|E|Lead 47810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047811|147811|989898|1|9999047811|MR|Test|E|Lead 47811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047812|147812|989898|1|9999047812|MR|Test|E|Lead 47812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047813|147813|989898|1|9999047813|MR|Test|E|Lead 47813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047814|147814|989898|1|9999047814|MR|Test|E|Lead 47814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047815|147815|989898|1|9999047815|MR|Test|E|Lead 47815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047816|147816|989898|1|9999047816|MR|Test|E|Lead 47816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047817|147817|989898|1|9999047817|MR|Test|E|Lead 47817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047818|147818|989898|1|9999047818|MR|Test|E|Lead 47818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047819|147819|989898|1|9999047819|MR|Test|E|Lead 47819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047820|147820|989898|1|9999047820|MR|Test|E|Lead 47820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047821|147821|989898|1|9999047821|MR|Test|E|Lead 47821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047822|147822|989898|1|9999047822|MR|Test|E|Lead 47822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047823|147823|989898|1|9999047823|MR|Test|E|Lead 47823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047824|147824|989898|1|9999047824|MR|Test|E|Lead 47824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047825|147825|989898|1|9999047825|MR|Test|E|Lead 47825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047826|147826|989898|1|9999047826|MR|Test|E|Lead 47826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047827|147827|989898|1|9999047827|MR|Test|E|Lead 47827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047828|147828|989898|1|9999047828|MR|Test|E|Lead 47828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047829|147829|989898|1|9999047829|MR|Test|E|Lead 47829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047830|147830|989898|1|9999047830|MR|Test|E|Lead 47830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047831|147831|989898|1|9999047831|MR|Test|E|Lead 47831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047832|147832|989898|1|9999047832|MR|Test|E|Lead 47832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047833|147833|989898|1|9999047833|MR|Test|E|Lead 47833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047834|147834|989898|1|9999047834|MR|Test|E|Lead 47834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047835|147835|989898|1|9999047835|MR|Test|E|Lead 47835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047836|147836|989898|1|9999047836|MR|Test|E|Lead 47836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047837|147837|989898|1|9999047837|MR|Test|E|Lead 47837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047838|147838|989898|1|9999047838|MR|Test|E|Lead 47838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047839|147839|989898|1|9999047839|MR|Test|E|Lead 47839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047840|147840|989898|1|9999047840|MR|Test|E|Lead 47840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047841|147841|989898|1|9999047841|MR|Test|E|Lead 47841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047842|147842|989898|1|9999047842|MR|Test|E|Lead 47842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047843|147843|989898|1|9999047843|MR|Test|E|Lead 47843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047844|147844|989898|1|9999047844|MR|Test|E|Lead 47844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047845|147845|989898|1|9999047845|MR|Test|E|Lead 47845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047846|147846|989898|1|9999047846|MR|Test|E|Lead 47846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047847|147847|989898|1|9999047847|MR|Test|E|Lead 47847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047848|147848|989898|1|9999047848|MR|Test|E|Lead 47848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047849|147849|989898|1|9999047849|MR|Test|E|Lead 47849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047850|147850|989898|1|9999047850|MR|Test|E|Lead 47850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047851|147851|989898|1|9999047851|MR|Test|E|Lead 47851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047852|147852|989898|1|9999047852|MR|Test|E|Lead 47852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047853|147853|989898|1|9999047853|MR|Test|E|Lead 47853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047854|147854|989898|1|9999047854|MR|Test|E|Lead 47854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047855|147855|989898|1|9999047855|MR|Test|E|Lead 47855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047856|147856|989898|1|9999047856|MR|Test|E|Lead 47856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047857|147857|989898|1|9999047857|MR|Test|E|Lead 47857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047858|147858|989898|1|9999047858|MR|Test|E|Lead 47858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047859|147859|989898|1|9999047859|MR|Test|E|Lead 47859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047860|147860|989898|1|9999047860|MR|Test|E|Lead 47860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047861|147861|989898|1|9999047861|MR|Test|E|Lead 47861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047862|147862|989898|1|9999047862|MR|Test|E|Lead 47862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047863|147863|989898|1|9999047863|MR|Test|E|Lead 47863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047864|147864|989898|1|9999047864|MR|Test|E|Lead 47864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047865|147865|989898|1|9999047865|MR|Test|E|Lead 47865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047866|147866|989898|1|9999047866|MR|Test|E|Lead 47866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047867|147867|989898|1|9999047867|MR|Test|E|Lead 47867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047868|147868|989898|1|9999047868|MR|Test|E|Lead 47868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047869|147869|989898|1|9999047869|MR|Test|E|Lead 47869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047870|147870|989898|1|9999047870|MR|Test|E|Lead 47870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047871|147871|989898|1|9999047871|MR|Test|E|Lead 47871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047872|147872|989898|1|9999047872|MR|Test|E|Lead 47872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047873|147873|989898|1|9999047873|MR|Test|E|Lead 47873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047874|147874|989898|1|9999047874|MR|Test|E|Lead 47874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047875|147875|989898|1|9999047875|MR|Test|E|Lead 47875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047876|147876|989898|1|9999047876|MR|Test|E|Lead 47876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047877|147877|989898|1|9999047877|MR|Test|E|Lead 47877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047878|147878|989898|1|9999047878|MR|Test|E|Lead 47878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047879|147879|989898|1|9999047879|MR|Test|E|Lead 47879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047880|147880|989898|1|9999047880|MR|Test|E|Lead 47880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047881|147881|989898|1|9999047881|MR|Test|E|Lead 47881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047882|147882|989898|1|9999047882|MR|Test|E|Lead 47882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047883|147883|989898|1|9999047883|MR|Test|E|Lead 47883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047884|147884|989898|1|9999047884|MR|Test|E|Lead 47884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047885|147885|989898|1|9999047885|MR|Test|E|Lead 47885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047886|147886|989898|1|9999047886|MR|Test|E|Lead 47886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047887|147887|989898|1|9999047887|MR|Test|E|Lead 47887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047888|147888|989898|1|9999047888|MR|Test|E|Lead 47888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047889|147889|989898|1|9999047889|MR|Test|E|Lead 47889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047890|147890|989898|1|9999047890|MR|Test|E|Lead 47890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047891|147891|989898|1|9999047891|MR|Test|E|Lead 47891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047892|147892|989898|1|9999047892|MR|Test|E|Lead 47892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047893|147893|989898|1|9999047893|MR|Test|E|Lead 47893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047894|147894|989898|1|9999047894|MR|Test|E|Lead 47894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047895|147895|989898|1|9999047895|MR|Test|E|Lead 47895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047896|147896|989898|1|9999047896|MR|Test|E|Lead 47896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047897|147897|989898|1|9999047897|MR|Test|E|Lead 47897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047898|147898|989898|1|9999047898|MR|Test|E|Lead 47898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047899|147899|989898|1|9999047899|MR|Test|E|Lead 47899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047900|147900|989898|1|9999047900|MR|Test|E|Lead 47900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047901|147901|989898|1|9999047901|MR|Test|E|Lead 47901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047902|147902|989898|1|9999047902|MR|Test|E|Lead 47902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047903|147903|989898|1|9999047903|MR|Test|E|Lead 47903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047904|147904|989898|1|9999047904|MR|Test|E|Lead 47904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047905|147905|989898|1|9999047905|MR|Test|E|Lead 47905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047906|147906|989898|1|9999047906|MR|Test|E|Lead 47906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047907|147907|989898|1|9999047907|MR|Test|E|Lead 47907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047908|147908|989898|1|9999047908|MR|Test|E|Lead 47908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047909|147909|989898|1|9999047909|MR|Test|E|Lead 47909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047910|147910|989898|1|9999047910|MR|Test|E|Lead 47910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047911|147911|989898|1|9999047911|MR|Test|E|Lead 47911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047912|147912|989898|1|9999047912|MR|Test|E|Lead 47912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047913|147913|989898|1|9999047913|MR|Test|E|Lead 47913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047914|147914|989898|1|9999047914|MR|Test|E|Lead 47914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047915|147915|989898|1|9999047915|MR|Test|E|Lead 47915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047916|147916|989898|1|9999047916|MR|Test|E|Lead 47916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047917|147917|989898|1|9999047917|MR|Test|E|Lead 47917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047918|147918|989898|1|9999047918|MR|Test|E|Lead 47918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047919|147919|989898|1|9999047919|MR|Test|E|Lead 47919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047920|147920|989898|1|9999047920|MR|Test|E|Lead 47920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047921|147921|989898|1|9999047921|MR|Test|E|Lead 47921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047922|147922|989898|1|9999047922|MR|Test|E|Lead 47922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047923|147923|989898|1|9999047923|MR|Test|E|Lead 47923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047924|147924|989898|1|9999047924|MR|Test|E|Lead 47924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047925|147925|989898|1|9999047925|MR|Test|E|Lead 47925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047926|147926|989898|1|9999047926|MR|Test|E|Lead 47926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047927|147927|989898|1|9999047927|MR|Test|E|Lead 47927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047928|147928|989898|1|9999047928|MR|Test|E|Lead 47928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047929|147929|989898|1|9999047929|MR|Test|E|Lead 47929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047930|147930|989898|1|9999047930|MR|Test|E|Lead 47930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047931|147931|989898|1|9999047931|MR|Test|E|Lead 47931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047932|147932|989898|1|9999047932|MR|Test|E|Lead 47932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047933|147933|989898|1|9999047933|MR|Test|E|Lead 47933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047934|147934|989898|1|9999047934|MR|Test|E|Lead 47934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047935|147935|989898|1|9999047935|MR|Test|E|Lead 47935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047936|147936|989898|1|9999047936|MR|Test|E|Lead 47936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047937|147937|989898|1|9999047937|MR|Test|E|Lead 47937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047938|147938|989898|1|9999047938|MR|Test|E|Lead 47938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047939|147939|989898|1|9999047939|MR|Test|E|Lead 47939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047940|147940|989898|1|9999047940|MR|Test|E|Lead 47940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047941|147941|989898|1|9999047941|MR|Test|E|Lead 47941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047942|147942|989898|1|9999047942|MR|Test|E|Lead 47942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047943|147943|989898|1|9999047943|MR|Test|E|Lead 47943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047944|147944|989898|1|9999047944|MR|Test|E|Lead 47944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047945|147945|989898|1|9999047945|MR|Test|E|Lead 47945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047946|147946|989898|1|9999047946|MR|Test|E|Lead 47946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047947|147947|989898|1|9999047947|MR|Test|E|Lead 47947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047948|147948|989898|1|9999047948|MR|Test|E|Lead 47948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047949|147949|989898|1|9999047949|MR|Test|E|Lead 47949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047950|147950|989898|1|9999047950|MR|Test|E|Lead 47950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047951|147951|989898|1|9999047951|MR|Test|E|Lead 47951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047952|147952|989898|1|9999047952|MR|Test|E|Lead 47952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047953|147953|989898|1|9999047953|MR|Test|E|Lead 47953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047954|147954|989898|1|9999047954|MR|Test|E|Lead 47954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047955|147955|989898|1|9999047955|MR|Test|E|Lead 47955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047956|147956|989898|1|9999047956|MR|Test|E|Lead 47956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047957|147957|989898|1|9999047957|MR|Test|E|Lead 47957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047958|147958|989898|1|9999047958|MR|Test|E|Lead 47958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047959|147959|989898|1|9999047959|MR|Test|E|Lead 47959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047960|147960|989898|1|9999047960|MR|Test|E|Lead 47960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047961|147961|989898|1|9999047961|MR|Test|E|Lead 47961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047962|147962|989898|1|9999047962|MR|Test|E|Lead 47962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047963|147963|989898|1|9999047963|MR|Test|E|Lead 47963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047964|147964|989898|1|9999047964|MR|Test|E|Lead 47964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047965|147965|989898|1|9999047965|MR|Test|E|Lead 47965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047966|147966|989898|1|9999047966|MR|Test|E|Lead 47966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047967|147967|989898|1|9999047967|MR|Test|E|Lead 47967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047968|147968|989898|1|9999047968|MR|Test|E|Lead 47968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047969|147969|989898|1|9999047969|MR|Test|E|Lead 47969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047970|147970|989898|1|9999047970|MR|Test|E|Lead 47970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047971|147971|989898|1|9999047971|MR|Test|E|Lead 47971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047972|147972|989898|1|9999047972|MR|Test|E|Lead 47972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047973|147973|989898|1|9999047973|MR|Test|E|Lead 47973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047974|147974|989898|1|9999047974|MR|Test|E|Lead 47974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047975|147975|989898|1|9999047975|MR|Test|E|Lead 47975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047976|147976|989898|1|9999047976|MR|Test|E|Lead 47976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047977|147977|989898|1|9999047977|MR|Test|E|Lead 47977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047978|147978|989898|1|9999047978|MR|Test|E|Lead 47978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047979|147979|989898|1|9999047979|MR|Test|E|Lead 47979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047980|147980|989898|1|9999047980|MR|Test|E|Lead 47980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047981|147981|989898|1|9999047981|MR|Test|E|Lead 47981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047982|147982|989898|1|9999047982|MR|Test|E|Lead 47982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047983|147983|989898|1|9999047983|MR|Test|E|Lead 47983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047984|147984|989898|1|9999047984|MR|Test|E|Lead 47984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047985|147985|989898|1|9999047985|MR|Test|E|Lead 47985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047986|147986|989898|1|9999047986|MR|Test|E|Lead 47986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047987|147987|989898|1|9999047987|MR|Test|E|Lead 47987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047988|147988|989898|1|9999047988|MR|Test|E|Lead 47988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047989|147989|989898|1|9999047989|MR|Test|E|Lead 47989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047990|147990|989898|1|9999047990|MR|Test|E|Lead 47990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047991|147991|989898|1|9999047991|MR|Test|E|Lead 47991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047992|147992|989898|1|9999047992|MR|Test|E|Lead 47992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047993|147993|989898|1|9999047993|MR|Test|E|Lead 47993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047994|147994|989898|1|9999047994|MR|Test|E|Lead 47994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047995|147995|989898|1|9999047995|MR|Test|E|Lead 47995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047996|147996|989898|1|9999047996|MR|Test|E|Lead 47996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047997|147997|989898|1|9999047997|MR|Test|E|Lead 47997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047998|147998|989898|1|9999047998|MR|Test|E|Lead 47998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1047999|147999|989898|1|9999047999|MR|Test|E|Lead 47999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048000|148000|989898|1|9999048000|MR|Test|E|Lead 48000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048001|148001|989898|1|9999048001|MR|Test|E|Lead 48001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048002|148002|989898|1|9999048002|MR|Test|E|Lead 48002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048003|148003|989898|1|9999048003|MR|Test|E|Lead 48003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048004|148004|989898|1|9999048004|MR|Test|E|Lead 48004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048005|148005|989898|1|9999048005|MR|Test|E|Lead 48005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048006|148006|989898|1|9999048006|MR|Test|E|Lead 48006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048007|148007|989898|1|9999048007|MR|Test|E|Lead 48007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048008|148008|989898|1|9999048008|MR|Test|E|Lead 48008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048009|148009|989898|1|9999048009|MR|Test|E|Lead 48009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048010|148010|989898|1|9999048010|MR|Test|E|Lead 48010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048011|148011|989898|1|9999048011|MR|Test|E|Lead 48011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048012|148012|989898|1|9999048012|MR|Test|E|Lead 48012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048013|148013|989898|1|9999048013|MR|Test|E|Lead 48013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048014|148014|989898|1|9999048014|MR|Test|E|Lead 48014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048015|148015|989898|1|9999048015|MR|Test|E|Lead 48015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048016|148016|989898|1|9999048016|MR|Test|E|Lead 48016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048017|148017|989898|1|9999048017|MR|Test|E|Lead 48017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048018|148018|989898|1|9999048018|MR|Test|E|Lead 48018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048019|148019|989898|1|9999048019|MR|Test|E|Lead 48019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048020|148020|989898|1|9999048020|MR|Test|E|Lead 48020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048021|148021|989898|1|9999048021|MR|Test|E|Lead 48021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048022|148022|989898|1|9999048022|MR|Test|E|Lead 48022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048023|148023|989898|1|9999048023|MR|Test|E|Lead 48023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048024|148024|989898|1|9999048024|MR|Test|E|Lead 48024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048025|148025|989898|1|9999048025|MR|Test|E|Lead 48025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048026|148026|989898|1|9999048026|MR|Test|E|Lead 48026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048027|148027|989898|1|9999048027|MR|Test|E|Lead 48027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048028|148028|989898|1|9999048028|MR|Test|E|Lead 48028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048029|148029|989898|1|9999048029|MR|Test|E|Lead 48029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048030|148030|989898|1|9999048030|MR|Test|E|Lead 48030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048031|148031|989898|1|9999048031|MR|Test|E|Lead 48031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048032|148032|989898|1|9999048032|MR|Test|E|Lead 48032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048033|148033|989898|1|9999048033|MR|Test|E|Lead 48033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048034|148034|989898|1|9999048034|MR|Test|E|Lead 48034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048035|148035|989898|1|9999048035|MR|Test|E|Lead 48035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048036|148036|989898|1|9999048036|MR|Test|E|Lead 48036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048037|148037|989898|1|9999048037|MR|Test|E|Lead 48037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048038|148038|989898|1|9999048038|MR|Test|E|Lead 48038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048039|148039|989898|1|9999048039|MR|Test|E|Lead 48039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048040|148040|989898|1|9999048040|MR|Test|E|Lead 48040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048041|148041|989898|1|9999048041|MR|Test|E|Lead 48041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048042|148042|989898|1|9999048042|MR|Test|E|Lead 48042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048043|148043|989898|1|9999048043|MR|Test|E|Lead 48043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048044|148044|989898|1|9999048044|MR|Test|E|Lead 48044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048045|148045|989898|1|9999048045|MR|Test|E|Lead 48045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048046|148046|989898|1|9999048046|MR|Test|E|Lead 48046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048047|148047|989898|1|9999048047|MR|Test|E|Lead 48047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048048|148048|989898|1|9999048048|MR|Test|E|Lead 48048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048049|148049|989898|1|9999048049|MR|Test|E|Lead 48049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048050|148050|989898|1|9999048050|MR|Test|E|Lead 48050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048051|148051|989898|1|9999048051|MR|Test|E|Lead 48051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048052|148052|989898|1|9999048052|MR|Test|E|Lead 48052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048053|148053|989898|1|9999048053|MR|Test|E|Lead 48053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048054|148054|989898|1|9999048054|MR|Test|E|Lead 48054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048055|148055|989898|1|9999048055|MR|Test|E|Lead 48055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048056|148056|989898|1|9999048056|MR|Test|E|Lead 48056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048057|148057|989898|1|9999048057|MR|Test|E|Lead 48057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048058|148058|989898|1|9999048058|MR|Test|E|Lead 48058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048059|148059|989898|1|9999048059|MR|Test|E|Lead 48059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048060|148060|989898|1|9999048060|MR|Test|E|Lead 48060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048061|148061|989898|1|9999048061|MR|Test|E|Lead 48061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048062|148062|989898|1|9999048062|MR|Test|E|Lead 48062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048063|148063|989898|1|9999048063|MR|Test|E|Lead 48063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048064|148064|989898|1|9999048064|MR|Test|E|Lead 48064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048065|148065|989898|1|9999048065|MR|Test|E|Lead 48065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048066|148066|989898|1|9999048066|MR|Test|E|Lead 48066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048067|148067|989898|1|9999048067|MR|Test|E|Lead 48067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048068|148068|989898|1|9999048068|MR|Test|E|Lead 48068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048069|148069|989898|1|9999048069|MR|Test|E|Lead 48069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048070|148070|989898|1|9999048070|MR|Test|E|Lead 48070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048071|148071|989898|1|9999048071|MR|Test|E|Lead 48071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048072|148072|989898|1|9999048072|MR|Test|E|Lead 48072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048073|148073|989898|1|9999048073|MR|Test|E|Lead 48073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048074|148074|989898|1|9999048074|MR|Test|E|Lead 48074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048075|148075|989898|1|9999048075|MR|Test|E|Lead 48075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048076|148076|989898|1|9999048076|MR|Test|E|Lead 48076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048077|148077|989898|1|9999048077|MR|Test|E|Lead 48077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048078|148078|989898|1|9999048078|MR|Test|E|Lead 48078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048079|148079|989898|1|9999048079|MR|Test|E|Lead 48079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048080|148080|989898|1|9999048080|MR|Test|E|Lead 48080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048081|148081|989898|1|9999048081|MR|Test|E|Lead 48081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048082|148082|989898|1|9999048082|MR|Test|E|Lead 48082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048083|148083|989898|1|9999048083|MR|Test|E|Lead 48083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048084|148084|989898|1|9999048084|MR|Test|E|Lead 48084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048085|148085|989898|1|9999048085|MR|Test|E|Lead 48085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048086|148086|989898|1|9999048086|MR|Test|E|Lead 48086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048087|148087|989898|1|9999048087|MR|Test|E|Lead 48087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048088|148088|989898|1|9999048088|MR|Test|E|Lead 48088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048089|148089|989898|1|9999048089|MR|Test|E|Lead 48089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048090|148090|989898|1|9999048090|MR|Test|E|Lead 48090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048091|148091|989898|1|9999048091|MR|Test|E|Lead 48091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048092|148092|989898|1|9999048092|MR|Test|E|Lead 48092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048093|148093|989898|1|9999048093|MR|Test|E|Lead 48093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048094|148094|989898|1|9999048094|MR|Test|E|Lead 48094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048095|148095|989898|1|9999048095|MR|Test|E|Lead 48095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048096|148096|989898|1|9999048096|MR|Test|E|Lead 48096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048097|148097|989898|1|9999048097|MR|Test|E|Lead 48097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048098|148098|989898|1|9999048098|MR|Test|E|Lead 48098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048099|148099|989898|1|9999048099|MR|Test|E|Lead 48099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048100|148100|989898|1|9999048100|MR|Test|E|Lead 48100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048101|148101|989898|1|9999048101|MR|Test|E|Lead 48101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048102|148102|989898|1|9999048102|MR|Test|E|Lead 48102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048103|148103|989898|1|9999048103|MR|Test|E|Lead 48103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048104|148104|989898|1|9999048104|MR|Test|E|Lead 48104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048105|148105|989898|1|9999048105|MR|Test|E|Lead 48105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048106|148106|989898|1|9999048106|MR|Test|E|Lead 48106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048107|148107|989898|1|9999048107|MR|Test|E|Lead 48107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048108|148108|989898|1|9999048108|MR|Test|E|Lead 48108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048109|148109|989898|1|9999048109|MR|Test|E|Lead 48109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048110|148110|989898|1|9999048110|MR|Test|E|Lead 48110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048111|148111|989898|1|9999048111|MR|Test|E|Lead 48111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048112|148112|989898|1|9999048112|MR|Test|E|Lead 48112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048113|148113|989898|1|9999048113|MR|Test|E|Lead 48113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048114|148114|989898|1|9999048114|MR|Test|E|Lead 48114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048115|148115|989898|1|9999048115|MR|Test|E|Lead 48115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048116|148116|989898|1|9999048116|MR|Test|E|Lead 48116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048117|148117|989898|1|9999048117|MR|Test|E|Lead 48117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048118|148118|989898|1|9999048118|MR|Test|E|Lead 48118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048119|148119|989898|1|9999048119|MR|Test|E|Lead 48119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048120|148120|989898|1|9999048120|MR|Test|E|Lead 48120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048121|148121|989898|1|9999048121|MR|Test|E|Lead 48121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048122|148122|989898|1|9999048122|MR|Test|E|Lead 48122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048123|148123|989898|1|9999048123|MR|Test|E|Lead 48123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048124|148124|989898|1|9999048124|MR|Test|E|Lead 48124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048125|148125|989898|1|9999048125|MR|Test|E|Lead 48125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048126|148126|989898|1|9999048126|MR|Test|E|Lead 48126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048127|148127|989898|1|9999048127|MR|Test|E|Lead 48127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048128|148128|989898|1|9999048128|MR|Test|E|Lead 48128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048129|148129|989898|1|9999048129|MR|Test|E|Lead 48129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048130|148130|989898|1|9999048130|MR|Test|E|Lead 48130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048131|148131|989898|1|9999048131|MR|Test|E|Lead 48131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048132|148132|989898|1|9999048132|MR|Test|E|Lead 48132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048133|148133|989898|1|9999048133|MR|Test|E|Lead 48133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048134|148134|989898|1|9999048134|MR|Test|E|Lead 48134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048135|148135|989898|1|9999048135|MR|Test|E|Lead 48135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048136|148136|989898|1|9999048136|MR|Test|E|Lead 48136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048137|148137|989898|1|9999048137|MR|Test|E|Lead 48137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048138|148138|989898|1|9999048138|MR|Test|E|Lead 48138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048139|148139|989898|1|9999048139|MR|Test|E|Lead 48139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048140|148140|989898|1|9999048140|MR|Test|E|Lead 48140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048141|148141|989898|1|9999048141|MR|Test|E|Lead 48141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048142|148142|989898|1|9999048142|MR|Test|E|Lead 48142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048143|148143|989898|1|9999048143|MR|Test|E|Lead 48143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048144|148144|989898|1|9999048144|MR|Test|E|Lead 48144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048145|148145|989898|1|9999048145|MR|Test|E|Lead 48145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048146|148146|989898|1|9999048146|MR|Test|E|Lead 48146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048147|148147|989898|1|9999048147|MR|Test|E|Lead 48147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048148|148148|989898|1|9999048148|MR|Test|E|Lead 48148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048149|148149|989898|1|9999048149|MR|Test|E|Lead 48149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048150|148150|989898|1|9999048150|MR|Test|E|Lead 48150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048151|148151|989898|1|9999048151|MR|Test|E|Lead 48151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048152|148152|989898|1|9999048152|MR|Test|E|Lead 48152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048153|148153|989898|1|9999048153|MR|Test|E|Lead 48153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048154|148154|989898|1|9999048154|MR|Test|E|Lead 48154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048155|148155|989898|1|9999048155|MR|Test|E|Lead 48155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048156|148156|989898|1|9999048156|MR|Test|E|Lead 48156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048157|148157|989898|1|9999048157|MR|Test|E|Lead 48157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048158|148158|989898|1|9999048158|MR|Test|E|Lead 48158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048159|148159|989898|1|9999048159|MR|Test|E|Lead 48159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048160|148160|989898|1|9999048160|MR|Test|E|Lead 48160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048161|148161|989898|1|9999048161|MR|Test|E|Lead 48161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048162|148162|989898|1|9999048162|MR|Test|E|Lead 48162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048163|148163|989898|1|9999048163|MR|Test|E|Lead 48163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048164|148164|989898|1|9999048164|MR|Test|E|Lead 48164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048165|148165|989898|1|9999048165|MR|Test|E|Lead 48165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048166|148166|989898|1|9999048166|MR|Test|E|Lead 48166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048167|148167|989898|1|9999048167|MR|Test|E|Lead 48167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048168|148168|989898|1|9999048168|MR|Test|E|Lead 48168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048169|148169|989898|1|9999048169|MR|Test|E|Lead 48169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048170|148170|989898|1|9999048170|MR|Test|E|Lead 48170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048171|148171|989898|1|9999048171|MR|Test|E|Lead 48171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048172|148172|989898|1|9999048172|MR|Test|E|Lead 48172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048173|148173|989898|1|9999048173|MR|Test|E|Lead 48173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048174|148174|989898|1|9999048174|MR|Test|E|Lead 48174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048175|148175|989898|1|9999048175|MR|Test|E|Lead 48175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048176|148176|989898|1|9999048176|MR|Test|E|Lead 48176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048177|148177|989898|1|9999048177|MR|Test|E|Lead 48177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048178|148178|989898|1|9999048178|MR|Test|E|Lead 48178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048179|148179|989898|1|9999048179|MR|Test|E|Lead 48179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048180|148180|989898|1|9999048180|MR|Test|E|Lead 48180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048181|148181|989898|1|9999048181|MR|Test|E|Lead 48181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048182|148182|989898|1|9999048182|MR|Test|E|Lead 48182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048183|148183|989898|1|9999048183|MR|Test|E|Lead 48183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048184|148184|989898|1|9999048184|MR|Test|E|Lead 48184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048185|148185|989898|1|9999048185|MR|Test|E|Lead 48185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048186|148186|989898|1|9999048186|MR|Test|E|Lead 48186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048187|148187|989898|1|9999048187|MR|Test|E|Lead 48187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048188|148188|989898|1|9999048188|MR|Test|E|Lead 48188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048189|148189|989898|1|9999048189|MR|Test|E|Lead 48189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048190|148190|989898|1|9999048190|MR|Test|E|Lead 48190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048191|148191|989898|1|9999048191|MR|Test|E|Lead 48191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048192|148192|989898|1|9999048192|MR|Test|E|Lead 48192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048193|148193|989898|1|9999048193|MR|Test|E|Lead 48193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048194|148194|989898|1|9999048194|MR|Test|E|Lead 48194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048195|148195|989898|1|9999048195|MR|Test|E|Lead 48195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048196|148196|989898|1|9999048196|MR|Test|E|Lead 48196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048197|148197|989898|1|9999048197|MR|Test|E|Lead 48197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048198|148198|989898|1|9999048198|MR|Test|E|Lead 48198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048199|148199|989898|1|9999048199|MR|Test|E|Lead 48199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048200|148200|989898|1|9999048200|MR|Test|E|Lead 48200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048201|148201|989898|1|9999048201|MR|Test|E|Lead 48201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048202|148202|989898|1|9999048202|MR|Test|E|Lead 48202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048203|148203|989898|1|9999048203|MR|Test|E|Lead 48203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048204|148204|989898|1|9999048204|MR|Test|E|Lead 48204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048205|148205|989898|1|9999048205|MR|Test|E|Lead 48205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048206|148206|989898|1|9999048206|MR|Test|E|Lead 48206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048207|148207|989898|1|9999048207|MR|Test|E|Lead 48207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048208|148208|989898|1|9999048208|MR|Test|E|Lead 48208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048209|148209|989898|1|9999048209|MR|Test|E|Lead 48209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048210|148210|989898|1|9999048210|MR|Test|E|Lead 48210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048211|148211|989898|1|9999048211|MR|Test|E|Lead 48211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048212|148212|989898|1|9999048212|MR|Test|E|Lead 48212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048213|148213|989898|1|9999048213|MR|Test|E|Lead 48213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048214|148214|989898|1|9999048214|MR|Test|E|Lead 48214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048215|148215|989898|1|9999048215|MR|Test|E|Lead 48215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048216|148216|989898|1|9999048216|MR|Test|E|Lead 48216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048217|148217|989898|1|9999048217|MR|Test|E|Lead 48217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048218|148218|989898|1|9999048218|MR|Test|E|Lead 48218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048219|148219|989898|1|9999048219|MR|Test|E|Lead 48219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048220|148220|989898|1|9999048220|MR|Test|E|Lead 48220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048221|148221|989898|1|9999048221|MR|Test|E|Lead 48221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048222|148222|989898|1|9999048222|MR|Test|E|Lead 48222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048223|148223|989898|1|9999048223|MR|Test|E|Lead 48223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048224|148224|989898|1|9999048224|MR|Test|E|Lead 48224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048225|148225|989898|1|9999048225|MR|Test|E|Lead 48225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048226|148226|989898|1|9999048226|MR|Test|E|Lead 48226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048227|148227|989898|1|9999048227|MR|Test|E|Lead 48227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048228|148228|989898|1|9999048228|MR|Test|E|Lead 48228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048229|148229|989898|1|9999048229|MR|Test|E|Lead 48229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048230|148230|989898|1|9999048230|MR|Test|E|Lead 48230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048231|148231|989898|1|9999048231|MR|Test|E|Lead 48231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048232|148232|989898|1|9999048232|MR|Test|E|Lead 48232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048233|148233|989898|1|9999048233|MR|Test|E|Lead 48233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048234|148234|989898|1|9999048234|MR|Test|E|Lead 48234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048235|148235|989898|1|9999048235|MR|Test|E|Lead 48235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048236|148236|989898|1|9999048236|MR|Test|E|Lead 48236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048237|148237|989898|1|9999048237|MR|Test|E|Lead 48237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048238|148238|989898|1|9999048238|MR|Test|E|Lead 48238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048239|148239|989898|1|9999048239|MR|Test|E|Lead 48239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048240|148240|989898|1|9999048240|MR|Test|E|Lead 48240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048241|148241|989898|1|9999048241|MR|Test|E|Lead 48241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048242|148242|989898|1|9999048242|MR|Test|E|Lead 48242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048243|148243|989898|1|9999048243|MR|Test|E|Lead 48243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048244|148244|989898|1|9999048244|MR|Test|E|Lead 48244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048245|148245|989898|1|9999048245|MR|Test|E|Lead 48245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048246|148246|989898|1|9999048246|MR|Test|E|Lead 48246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048247|148247|989898|1|9999048247|MR|Test|E|Lead 48247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048248|148248|989898|1|9999048248|MR|Test|E|Lead 48248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048249|148249|989898|1|9999048249|MR|Test|E|Lead 48249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048250|148250|989898|1|9999048250|MR|Test|E|Lead 48250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048251|148251|989898|1|9999048251|MR|Test|E|Lead 48251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048252|148252|989898|1|9999048252|MR|Test|E|Lead 48252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048253|148253|989898|1|9999048253|MR|Test|E|Lead 48253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048254|148254|989898|1|9999048254|MR|Test|E|Lead 48254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048255|148255|989898|1|9999048255|MR|Test|E|Lead 48255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048256|148256|989898|1|9999048256|MR|Test|E|Lead 48256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048257|148257|989898|1|9999048257|MR|Test|E|Lead 48257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048258|148258|989898|1|9999048258|MR|Test|E|Lead 48258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048259|148259|989898|1|9999048259|MR|Test|E|Lead 48259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048260|148260|989898|1|9999048260|MR|Test|E|Lead 48260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048261|148261|989898|1|9999048261|MR|Test|E|Lead 48261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048262|148262|989898|1|9999048262|MR|Test|E|Lead 48262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048263|148263|989898|1|9999048263|MR|Test|E|Lead 48263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048264|148264|989898|1|9999048264|MR|Test|E|Lead 48264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048265|148265|989898|1|9999048265|MR|Test|E|Lead 48265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048266|148266|989898|1|9999048266|MR|Test|E|Lead 48266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048267|148267|989898|1|9999048267|MR|Test|E|Lead 48267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048268|148268|989898|1|9999048268|MR|Test|E|Lead 48268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048269|148269|989898|1|9999048269|MR|Test|E|Lead 48269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048270|148270|989898|1|9999048270|MR|Test|E|Lead 48270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048271|148271|989898|1|9999048271|MR|Test|E|Lead 48271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048272|148272|989898|1|9999048272|MR|Test|E|Lead 48272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048273|148273|989898|1|9999048273|MR|Test|E|Lead 48273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048274|148274|989898|1|9999048274|MR|Test|E|Lead 48274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048275|148275|989898|1|9999048275|MR|Test|E|Lead 48275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048276|148276|989898|1|9999048276|MR|Test|E|Lead 48276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048277|148277|989898|1|9999048277|MR|Test|E|Lead 48277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048278|148278|989898|1|9999048278|MR|Test|E|Lead 48278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048279|148279|989898|1|9999048279|MR|Test|E|Lead 48279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048280|148280|989898|1|9999048280|MR|Test|E|Lead 48280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048281|148281|989898|1|9999048281|MR|Test|E|Lead 48281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048282|148282|989898|1|9999048282|MR|Test|E|Lead 48282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048283|148283|989898|1|9999048283|MR|Test|E|Lead 48283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048284|148284|989898|1|9999048284|MR|Test|E|Lead 48284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048285|148285|989898|1|9999048285|MR|Test|E|Lead 48285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048286|148286|989898|1|9999048286|MR|Test|E|Lead 48286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048287|148287|989898|1|9999048287|MR|Test|E|Lead 48287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048288|148288|989898|1|9999048288|MR|Test|E|Lead 48288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048289|148289|989898|1|9999048289|MR|Test|E|Lead 48289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048290|148290|989898|1|9999048290|MR|Test|E|Lead 48290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048291|148291|989898|1|9999048291|MR|Test|E|Lead 48291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048292|148292|989898|1|9999048292|MR|Test|E|Lead 48292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048293|148293|989898|1|9999048293|MR|Test|E|Lead 48293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048294|148294|989898|1|9999048294|MR|Test|E|Lead 48294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048295|148295|989898|1|9999048295|MR|Test|E|Lead 48295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048296|148296|989898|1|9999048296|MR|Test|E|Lead 48296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048297|148297|989898|1|9999048297|MR|Test|E|Lead 48297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048298|148298|989898|1|9999048298|MR|Test|E|Lead 48298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048299|148299|989898|1|9999048299|MR|Test|E|Lead 48299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048300|148300|989898|1|9999048300|MR|Test|E|Lead 48300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048301|148301|989898|1|9999048301|MR|Test|E|Lead 48301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048302|148302|989898|1|9999048302|MR|Test|E|Lead 48302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048303|148303|989898|1|9999048303|MR|Test|E|Lead 48303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048304|148304|989898|1|9999048304|MR|Test|E|Lead 48304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048305|148305|989898|1|9999048305|MR|Test|E|Lead 48305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048306|148306|989898|1|9999048306|MR|Test|E|Lead 48306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048307|148307|989898|1|9999048307|MR|Test|E|Lead 48307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048308|148308|989898|1|9999048308|MR|Test|E|Lead 48308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048309|148309|989898|1|9999048309|MR|Test|E|Lead 48309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048310|148310|989898|1|9999048310|MR|Test|E|Lead 48310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048311|148311|989898|1|9999048311|MR|Test|E|Lead 48311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048312|148312|989898|1|9999048312|MR|Test|E|Lead 48312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048313|148313|989898|1|9999048313|MR|Test|E|Lead 48313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048314|148314|989898|1|9999048314|MR|Test|E|Lead 48314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048315|148315|989898|1|9999048315|MR|Test|E|Lead 48315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048316|148316|989898|1|9999048316|MR|Test|E|Lead 48316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048317|148317|989898|1|9999048317|MR|Test|E|Lead 48317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048318|148318|989898|1|9999048318|MR|Test|E|Lead 48318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048319|148319|989898|1|9999048319|MR|Test|E|Lead 48319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048320|148320|989898|1|9999048320|MR|Test|E|Lead 48320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048321|148321|989898|1|9999048321|MR|Test|E|Lead 48321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048322|148322|989898|1|9999048322|MR|Test|E|Lead 48322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048323|148323|989898|1|9999048323|MR|Test|E|Lead 48323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048324|148324|989898|1|9999048324|MR|Test|E|Lead 48324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048325|148325|989898|1|9999048325|MR|Test|E|Lead 48325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048326|148326|989898|1|9999048326|MR|Test|E|Lead 48326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048327|148327|989898|1|9999048327|MR|Test|E|Lead 48327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048328|148328|989898|1|9999048328|MR|Test|E|Lead 48328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048329|148329|989898|1|9999048329|MR|Test|E|Lead 48329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048330|148330|989898|1|9999048330|MR|Test|E|Lead 48330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048331|148331|989898|1|9999048331|MR|Test|E|Lead 48331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048332|148332|989898|1|9999048332|MR|Test|E|Lead 48332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048333|148333|989898|1|9999048333|MR|Test|E|Lead 48333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048334|148334|989898|1|9999048334|MR|Test|E|Lead 48334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048335|148335|989898|1|9999048335|MR|Test|E|Lead 48335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048336|148336|989898|1|9999048336|MR|Test|E|Lead 48336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048337|148337|989898|1|9999048337|MR|Test|E|Lead 48337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048338|148338|989898|1|9999048338|MR|Test|E|Lead 48338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048339|148339|989898|1|9999048339|MR|Test|E|Lead 48339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048340|148340|989898|1|9999048340|MR|Test|E|Lead 48340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048341|148341|989898|1|9999048341|MR|Test|E|Lead 48341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048342|148342|989898|1|9999048342|MR|Test|E|Lead 48342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048343|148343|989898|1|9999048343|MR|Test|E|Lead 48343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048344|148344|989898|1|9999048344|MR|Test|E|Lead 48344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048345|148345|989898|1|9999048345|MR|Test|E|Lead 48345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048346|148346|989898|1|9999048346|MR|Test|E|Lead 48346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048347|148347|989898|1|9999048347|MR|Test|E|Lead 48347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048348|148348|989898|1|9999048348|MR|Test|E|Lead 48348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048349|148349|989898|1|9999048349|MR|Test|E|Lead 48349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048350|148350|989898|1|9999048350|MR|Test|E|Lead 48350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048351|148351|989898|1|9999048351|MR|Test|E|Lead 48351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048352|148352|989898|1|9999048352|MR|Test|E|Lead 48352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048353|148353|989898|1|9999048353|MR|Test|E|Lead 48353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048354|148354|989898|1|9999048354|MR|Test|E|Lead 48354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048355|148355|989898|1|9999048355|MR|Test|E|Lead 48355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048356|148356|989898|1|9999048356|MR|Test|E|Lead 48356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048357|148357|989898|1|9999048357|MR|Test|E|Lead 48357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048358|148358|989898|1|9999048358|MR|Test|E|Lead 48358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048359|148359|989898|1|9999048359|MR|Test|E|Lead 48359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048360|148360|989898|1|9999048360|MR|Test|E|Lead 48360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048361|148361|989898|1|9999048361|MR|Test|E|Lead 48361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048362|148362|989898|1|9999048362|MR|Test|E|Lead 48362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048363|148363|989898|1|9999048363|MR|Test|E|Lead 48363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048364|148364|989898|1|9999048364|MR|Test|E|Lead 48364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048365|148365|989898|1|9999048365|MR|Test|E|Lead 48365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048366|148366|989898|1|9999048366|MR|Test|E|Lead 48366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048367|148367|989898|1|9999048367|MR|Test|E|Lead 48367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048368|148368|989898|1|9999048368|MR|Test|E|Lead 48368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048369|148369|989898|1|9999048369|MR|Test|E|Lead 48369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048370|148370|989898|1|9999048370|MR|Test|E|Lead 48370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048371|148371|989898|1|9999048371|MR|Test|E|Lead 48371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048372|148372|989898|1|9999048372|MR|Test|E|Lead 48372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048373|148373|989898|1|9999048373|MR|Test|E|Lead 48373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048374|148374|989898|1|9999048374|MR|Test|E|Lead 48374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048375|148375|989898|1|9999048375|MR|Test|E|Lead 48375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048376|148376|989898|1|9999048376|MR|Test|E|Lead 48376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048377|148377|989898|1|9999048377|MR|Test|E|Lead 48377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048378|148378|989898|1|9999048378|MR|Test|E|Lead 48378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048379|148379|989898|1|9999048379|MR|Test|E|Lead 48379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048380|148380|989898|1|9999048380|MR|Test|E|Lead 48380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048381|148381|989898|1|9999048381|MR|Test|E|Lead 48381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048382|148382|989898|1|9999048382|MR|Test|E|Lead 48382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048383|148383|989898|1|9999048383|MR|Test|E|Lead 48383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048384|148384|989898|1|9999048384|MR|Test|E|Lead 48384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048385|148385|989898|1|9999048385|MR|Test|E|Lead 48385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048386|148386|989898|1|9999048386|MR|Test|E|Lead 48386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048387|148387|989898|1|9999048387|MR|Test|E|Lead 48387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048388|148388|989898|1|9999048388|MR|Test|E|Lead 48388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048389|148389|989898|1|9999048389|MR|Test|E|Lead 48389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048390|148390|989898|1|9999048390|MR|Test|E|Lead 48390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048391|148391|989898|1|9999048391|MR|Test|E|Lead 48391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048392|148392|989898|1|9999048392|MR|Test|E|Lead 48392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048393|148393|989898|1|9999048393|MR|Test|E|Lead 48393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048394|148394|989898|1|9999048394|MR|Test|E|Lead 48394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048395|148395|989898|1|9999048395|MR|Test|E|Lead 48395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048396|148396|989898|1|9999048396|MR|Test|E|Lead 48396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048397|148397|989898|1|9999048397|MR|Test|E|Lead 48397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048398|148398|989898|1|9999048398|MR|Test|E|Lead 48398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048399|148399|989898|1|9999048399|MR|Test|E|Lead 48399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048400|148400|989898|1|9999048400|MR|Test|E|Lead 48400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048401|148401|989898|1|9999048401|MR|Test|E|Lead 48401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048402|148402|989898|1|9999048402|MR|Test|E|Lead 48402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048403|148403|989898|1|9999048403|MR|Test|E|Lead 48403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048404|148404|989898|1|9999048404|MR|Test|E|Lead 48404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048405|148405|989898|1|9999048405|MR|Test|E|Lead 48405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048406|148406|989898|1|9999048406|MR|Test|E|Lead 48406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048407|148407|989898|1|9999048407|MR|Test|E|Lead 48407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048408|148408|989898|1|9999048408|MR|Test|E|Lead 48408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048409|148409|989898|1|9999048409|MR|Test|E|Lead 48409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048410|148410|989898|1|9999048410|MR|Test|E|Lead 48410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048411|148411|989898|1|9999048411|MR|Test|E|Lead 48411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048412|148412|989898|1|9999048412|MR|Test|E|Lead 48412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048413|148413|989898|1|9999048413|MR|Test|E|Lead 48413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048414|148414|989898|1|9999048414|MR|Test|E|Lead 48414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048415|148415|989898|1|9999048415|MR|Test|E|Lead 48415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048416|148416|989898|1|9999048416|MR|Test|E|Lead 48416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048417|148417|989898|1|9999048417|MR|Test|E|Lead 48417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048418|148418|989898|1|9999048418|MR|Test|E|Lead 48418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048419|148419|989898|1|9999048419|MR|Test|E|Lead 48419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048420|148420|989898|1|9999048420|MR|Test|E|Lead 48420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048421|148421|989898|1|9999048421|MR|Test|E|Lead 48421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048422|148422|989898|1|9999048422|MR|Test|E|Lead 48422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048423|148423|989898|1|9999048423|MR|Test|E|Lead 48423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048424|148424|989898|1|9999048424|MR|Test|E|Lead 48424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048425|148425|989898|1|9999048425|MR|Test|E|Lead 48425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048426|148426|989898|1|9999048426|MR|Test|E|Lead 48426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048427|148427|989898|1|9999048427|MR|Test|E|Lead 48427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048428|148428|989898|1|9999048428|MR|Test|E|Lead 48428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048429|148429|989898|1|9999048429|MR|Test|E|Lead 48429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048430|148430|989898|1|9999048430|MR|Test|E|Lead 48430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048431|148431|989898|1|9999048431|MR|Test|E|Lead 48431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048432|148432|989898|1|9999048432|MR|Test|E|Lead 48432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048433|148433|989898|1|9999048433|MR|Test|E|Lead 48433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048434|148434|989898|1|9999048434|MR|Test|E|Lead 48434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048435|148435|989898|1|9999048435|MR|Test|E|Lead 48435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048436|148436|989898|1|9999048436|MR|Test|E|Lead 48436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048437|148437|989898|1|9999048437|MR|Test|E|Lead 48437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048438|148438|989898|1|9999048438|MR|Test|E|Lead 48438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048439|148439|989898|1|9999048439|MR|Test|E|Lead 48439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048440|148440|989898|1|9999048440|MR|Test|E|Lead 48440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048441|148441|989898|1|9999048441|MR|Test|E|Lead 48441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048442|148442|989898|1|9999048442|MR|Test|E|Lead 48442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048443|148443|989898|1|9999048443|MR|Test|E|Lead 48443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048444|148444|989898|1|9999048444|MR|Test|E|Lead 48444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048445|148445|989898|1|9999048445|MR|Test|E|Lead 48445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048446|148446|989898|1|9999048446|MR|Test|E|Lead 48446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048447|148447|989898|1|9999048447|MR|Test|E|Lead 48447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048448|148448|989898|1|9999048448|MR|Test|E|Lead 48448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048449|148449|989898|1|9999048449|MR|Test|E|Lead 48449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048450|148450|989898|1|9999048450|MR|Test|E|Lead 48450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048451|148451|989898|1|9999048451|MR|Test|E|Lead 48451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048452|148452|989898|1|9999048452|MR|Test|E|Lead 48452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048453|148453|989898|1|9999048453|MR|Test|E|Lead 48453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048454|148454|989898|1|9999048454|MR|Test|E|Lead 48454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048455|148455|989898|1|9999048455|MR|Test|E|Lead 48455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048456|148456|989898|1|9999048456|MR|Test|E|Lead 48456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048457|148457|989898|1|9999048457|MR|Test|E|Lead 48457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048458|148458|989898|1|9999048458|MR|Test|E|Lead 48458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048459|148459|989898|1|9999048459|MR|Test|E|Lead 48459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048460|148460|989898|1|9999048460|MR|Test|E|Lead 48460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048461|148461|989898|1|9999048461|MR|Test|E|Lead 48461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048462|148462|989898|1|9999048462|MR|Test|E|Lead 48462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048463|148463|989898|1|9999048463|MR|Test|E|Lead 48463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048464|148464|989898|1|9999048464|MR|Test|E|Lead 48464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048465|148465|989898|1|9999048465|MR|Test|E|Lead 48465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048466|148466|989898|1|9999048466|MR|Test|E|Lead 48466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048467|148467|989898|1|9999048467|MR|Test|E|Lead 48467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048468|148468|989898|1|9999048468|MR|Test|E|Lead 48468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048469|148469|989898|1|9999048469|MR|Test|E|Lead 48469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048470|148470|989898|1|9999048470|MR|Test|E|Lead 48470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048471|148471|989898|1|9999048471|MR|Test|E|Lead 48471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048472|148472|989898|1|9999048472|MR|Test|E|Lead 48472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048473|148473|989898|1|9999048473|MR|Test|E|Lead 48473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048474|148474|989898|1|9999048474|MR|Test|E|Lead 48474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048475|148475|989898|1|9999048475|MR|Test|E|Lead 48475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048476|148476|989898|1|9999048476|MR|Test|E|Lead 48476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048477|148477|989898|1|9999048477|MR|Test|E|Lead 48477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048478|148478|989898|1|9999048478|MR|Test|E|Lead 48478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048479|148479|989898|1|9999048479|MR|Test|E|Lead 48479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048480|148480|989898|1|9999048480|MR|Test|E|Lead 48480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048481|148481|989898|1|9999048481|MR|Test|E|Lead 48481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048482|148482|989898|1|9999048482|MR|Test|E|Lead 48482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048483|148483|989898|1|9999048483|MR|Test|E|Lead 48483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048484|148484|989898|1|9999048484|MR|Test|E|Lead 48484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048485|148485|989898|1|9999048485|MR|Test|E|Lead 48485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048486|148486|989898|1|9999048486|MR|Test|E|Lead 48486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048487|148487|989898|1|9999048487|MR|Test|E|Lead 48487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048488|148488|989898|1|9999048488|MR|Test|E|Lead 48488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048489|148489|989898|1|9999048489|MR|Test|E|Lead 48489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048490|148490|989898|1|9999048490|MR|Test|E|Lead 48490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048491|148491|989898|1|9999048491|MR|Test|E|Lead 48491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048492|148492|989898|1|9999048492|MR|Test|E|Lead 48492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048493|148493|989898|1|9999048493|MR|Test|E|Lead 48493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048494|148494|989898|1|9999048494|MR|Test|E|Lead 48494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048495|148495|989898|1|9999048495|MR|Test|E|Lead 48495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048496|148496|989898|1|9999048496|MR|Test|E|Lead 48496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048497|148497|989898|1|9999048497|MR|Test|E|Lead 48497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048498|148498|989898|1|9999048498|MR|Test|E|Lead 48498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048499|148499|989898|1|9999048499|MR|Test|E|Lead 48499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048500|148500|989898|1|9999048500|MR|Test|E|Lead 48500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048501|148501|989898|1|9999048501|MR|Test|E|Lead 48501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048502|148502|989898|1|9999048502|MR|Test|E|Lead 48502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048503|148503|989898|1|9999048503|MR|Test|E|Lead 48503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048504|148504|989898|1|9999048504|MR|Test|E|Lead 48504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048505|148505|989898|1|9999048505|MR|Test|E|Lead 48505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048506|148506|989898|1|9999048506|MR|Test|E|Lead 48506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048507|148507|989898|1|9999048507|MR|Test|E|Lead 48507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048508|148508|989898|1|9999048508|MR|Test|E|Lead 48508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048509|148509|989898|1|9999048509|MR|Test|E|Lead 48509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048510|148510|989898|1|9999048510|MR|Test|E|Lead 48510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048511|148511|989898|1|9999048511|MR|Test|E|Lead 48511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048512|148512|989898|1|9999048512|MR|Test|E|Lead 48512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048513|148513|989898|1|9999048513|MR|Test|E|Lead 48513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048514|148514|989898|1|9999048514|MR|Test|E|Lead 48514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048515|148515|989898|1|9999048515|MR|Test|E|Lead 48515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048516|148516|989898|1|9999048516|MR|Test|E|Lead 48516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048517|148517|989898|1|9999048517|MR|Test|E|Lead 48517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048518|148518|989898|1|9999048518|MR|Test|E|Lead 48518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048519|148519|989898|1|9999048519|MR|Test|E|Lead 48519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048520|148520|989898|1|9999048520|MR|Test|E|Lead 48520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048521|148521|989898|1|9999048521|MR|Test|E|Lead 48521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048522|148522|989898|1|9999048522|MR|Test|E|Lead 48522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048523|148523|989898|1|9999048523|MR|Test|E|Lead 48523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048524|148524|989898|1|9999048524|MR|Test|E|Lead 48524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048525|148525|989898|1|9999048525|MR|Test|E|Lead 48525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048526|148526|989898|1|9999048526|MR|Test|E|Lead 48526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048527|148527|989898|1|9999048527|MR|Test|E|Lead 48527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048528|148528|989898|1|9999048528|MR|Test|E|Lead 48528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048529|148529|989898|1|9999048529|MR|Test|E|Lead 48529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048530|148530|989898|1|9999048530|MR|Test|E|Lead 48530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048531|148531|989898|1|9999048531|MR|Test|E|Lead 48531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048532|148532|989898|1|9999048532|MR|Test|E|Lead 48532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048533|148533|989898|1|9999048533|MR|Test|E|Lead 48533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048534|148534|989898|1|9999048534|MR|Test|E|Lead 48534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048535|148535|989898|1|9999048535|MR|Test|E|Lead 48535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048536|148536|989898|1|9999048536|MR|Test|E|Lead 48536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048537|148537|989898|1|9999048537|MR|Test|E|Lead 48537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048538|148538|989898|1|9999048538|MR|Test|E|Lead 48538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048539|148539|989898|1|9999048539|MR|Test|E|Lead 48539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048540|148540|989898|1|9999048540|MR|Test|E|Lead 48540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048541|148541|989898|1|9999048541|MR|Test|E|Lead 48541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048542|148542|989898|1|9999048542|MR|Test|E|Lead 48542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048543|148543|989898|1|9999048543|MR|Test|E|Lead 48543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048544|148544|989898|1|9999048544|MR|Test|E|Lead 48544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048545|148545|989898|1|9999048545|MR|Test|E|Lead 48545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048546|148546|989898|1|9999048546|MR|Test|E|Lead 48546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048547|148547|989898|1|9999048547|MR|Test|E|Lead 48547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048548|148548|989898|1|9999048548|MR|Test|E|Lead 48548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048549|148549|989898|1|9999048549|MR|Test|E|Lead 48549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048550|148550|989898|1|9999048550|MR|Test|E|Lead 48550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048551|148551|989898|1|9999048551|MR|Test|E|Lead 48551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048552|148552|989898|1|9999048552|MR|Test|E|Lead 48552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048553|148553|989898|1|9999048553|MR|Test|E|Lead 48553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048554|148554|989898|1|9999048554|MR|Test|E|Lead 48554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048555|148555|989898|1|9999048555|MR|Test|E|Lead 48555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048556|148556|989898|1|9999048556|MR|Test|E|Lead 48556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048557|148557|989898|1|9999048557|MR|Test|E|Lead 48557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048558|148558|989898|1|9999048558|MR|Test|E|Lead 48558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048559|148559|989898|1|9999048559|MR|Test|E|Lead 48559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048560|148560|989898|1|9999048560|MR|Test|E|Lead 48560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048561|148561|989898|1|9999048561|MR|Test|E|Lead 48561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048562|148562|989898|1|9999048562|MR|Test|E|Lead 48562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048563|148563|989898|1|9999048563|MR|Test|E|Lead 48563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048564|148564|989898|1|9999048564|MR|Test|E|Lead 48564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048565|148565|989898|1|9999048565|MR|Test|E|Lead 48565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048566|148566|989898|1|9999048566|MR|Test|E|Lead 48566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048567|148567|989898|1|9999048567|MR|Test|E|Lead 48567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048568|148568|989898|1|9999048568|MR|Test|E|Lead 48568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048569|148569|989898|1|9999048569|MR|Test|E|Lead 48569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048570|148570|989898|1|9999048570|MR|Test|E|Lead 48570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048571|148571|989898|1|9999048571|MR|Test|E|Lead 48571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048572|148572|989898|1|9999048572|MR|Test|E|Lead 48572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048573|148573|989898|1|9999048573|MR|Test|E|Lead 48573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048574|148574|989898|1|9999048574|MR|Test|E|Lead 48574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048575|148575|989898|1|9999048575|MR|Test|E|Lead 48575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048576|148576|989898|1|9999048576|MR|Test|E|Lead 48576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048577|148577|989898|1|9999048577|MR|Test|E|Lead 48577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048578|148578|989898|1|9999048578|MR|Test|E|Lead 48578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048579|148579|989898|1|9999048579|MR|Test|E|Lead 48579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048580|148580|989898|1|9999048580|MR|Test|E|Lead 48580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048581|148581|989898|1|9999048581|MR|Test|E|Lead 48581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048582|148582|989898|1|9999048582|MR|Test|E|Lead 48582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048583|148583|989898|1|9999048583|MR|Test|E|Lead 48583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048584|148584|989898|1|9999048584|MR|Test|E|Lead 48584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048585|148585|989898|1|9999048585|MR|Test|E|Lead 48585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048586|148586|989898|1|9999048586|MR|Test|E|Lead 48586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048587|148587|989898|1|9999048587|MR|Test|E|Lead 48587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048588|148588|989898|1|9999048588|MR|Test|E|Lead 48588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048589|148589|989898|1|9999048589|MR|Test|E|Lead 48589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048590|148590|989898|1|9999048590|MR|Test|E|Lead 48590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048591|148591|989898|1|9999048591|MR|Test|E|Lead 48591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048592|148592|989898|1|9999048592|MR|Test|E|Lead 48592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048593|148593|989898|1|9999048593|MR|Test|E|Lead 48593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048594|148594|989898|1|9999048594|MR|Test|E|Lead 48594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048595|148595|989898|1|9999048595|MR|Test|E|Lead 48595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048596|148596|989898|1|9999048596|MR|Test|E|Lead 48596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048597|148597|989898|1|9999048597|MR|Test|E|Lead 48597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048598|148598|989898|1|9999048598|MR|Test|E|Lead 48598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048599|148599|989898|1|9999048599|MR|Test|E|Lead 48599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048600|148600|989898|1|9999048600|MR|Test|E|Lead 48600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048601|148601|989898|1|9999048601|MR|Test|E|Lead 48601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048602|148602|989898|1|9999048602|MR|Test|E|Lead 48602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048603|148603|989898|1|9999048603|MR|Test|E|Lead 48603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048604|148604|989898|1|9999048604|MR|Test|E|Lead 48604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048605|148605|989898|1|9999048605|MR|Test|E|Lead 48605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048606|148606|989898|1|9999048606|MR|Test|E|Lead 48606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048607|148607|989898|1|9999048607|MR|Test|E|Lead 48607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048608|148608|989898|1|9999048608|MR|Test|E|Lead 48608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048609|148609|989898|1|9999048609|MR|Test|E|Lead 48609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048610|148610|989898|1|9999048610|MR|Test|E|Lead 48610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048611|148611|989898|1|9999048611|MR|Test|E|Lead 48611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048612|148612|989898|1|9999048612|MR|Test|E|Lead 48612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048613|148613|989898|1|9999048613|MR|Test|E|Lead 48613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048614|148614|989898|1|9999048614|MR|Test|E|Lead 48614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048615|148615|989898|1|9999048615|MR|Test|E|Lead 48615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048616|148616|989898|1|9999048616|MR|Test|E|Lead 48616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048617|148617|989898|1|9999048617|MR|Test|E|Lead 48617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048618|148618|989898|1|9999048618|MR|Test|E|Lead 48618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048619|148619|989898|1|9999048619|MR|Test|E|Lead 48619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048620|148620|989898|1|9999048620|MR|Test|E|Lead 48620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048621|148621|989898|1|9999048621|MR|Test|E|Lead 48621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048622|148622|989898|1|9999048622|MR|Test|E|Lead 48622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048623|148623|989898|1|9999048623|MR|Test|E|Lead 48623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048624|148624|989898|1|9999048624|MR|Test|E|Lead 48624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048625|148625|989898|1|9999048625|MR|Test|E|Lead 48625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048626|148626|989898|1|9999048626|MR|Test|E|Lead 48626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048627|148627|989898|1|9999048627|MR|Test|E|Lead 48627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048628|148628|989898|1|9999048628|MR|Test|E|Lead 48628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048629|148629|989898|1|9999048629|MR|Test|E|Lead 48629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048630|148630|989898|1|9999048630|MR|Test|E|Lead 48630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048631|148631|989898|1|9999048631|MR|Test|E|Lead 48631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048632|148632|989898|1|9999048632|MR|Test|E|Lead 48632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048633|148633|989898|1|9999048633|MR|Test|E|Lead 48633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048634|148634|989898|1|9999048634|MR|Test|E|Lead 48634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048635|148635|989898|1|9999048635|MR|Test|E|Lead 48635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048636|148636|989898|1|9999048636|MR|Test|E|Lead 48636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048637|148637|989898|1|9999048637|MR|Test|E|Lead 48637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048638|148638|989898|1|9999048638|MR|Test|E|Lead 48638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048639|148639|989898|1|9999048639|MR|Test|E|Lead 48639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048640|148640|989898|1|9999048640|MR|Test|E|Lead 48640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048641|148641|989898|1|9999048641|MR|Test|E|Lead 48641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048642|148642|989898|1|9999048642|MR|Test|E|Lead 48642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048643|148643|989898|1|9999048643|MR|Test|E|Lead 48643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048644|148644|989898|1|9999048644|MR|Test|E|Lead 48644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048645|148645|989898|1|9999048645|MR|Test|E|Lead 48645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048646|148646|989898|1|9999048646|MR|Test|E|Lead 48646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048647|148647|989898|1|9999048647|MR|Test|E|Lead 48647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048648|148648|989898|1|9999048648|MR|Test|E|Lead 48648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048649|148649|989898|1|9999048649|MR|Test|E|Lead 48649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048650|148650|989898|1|9999048650|MR|Test|E|Lead 48650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048651|148651|989898|1|9999048651|MR|Test|E|Lead 48651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048652|148652|989898|1|9999048652|MR|Test|E|Lead 48652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048653|148653|989898|1|9999048653|MR|Test|E|Lead 48653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048654|148654|989898|1|9999048654|MR|Test|E|Lead 48654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048655|148655|989898|1|9999048655|MR|Test|E|Lead 48655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048656|148656|989898|1|9999048656|MR|Test|E|Lead 48656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048657|148657|989898|1|9999048657|MR|Test|E|Lead 48657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048658|148658|989898|1|9999048658|MR|Test|E|Lead 48658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048659|148659|989898|1|9999048659|MR|Test|E|Lead 48659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048660|148660|989898|1|9999048660|MR|Test|E|Lead 48660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048661|148661|989898|1|9999048661|MR|Test|E|Lead 48661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048662|148662|989898|1|9999048662|MR|Test|E|Lead 48662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048663|148663|989898|1|9999048663|MR|Test|E|Lead 48663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048664|148664|989898|1|9999048664|MR|Test|E|Lead 48664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048665|148665|989898|1|9999048665|MR|Test|E|Lead 48665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048666|148666|989898|1|9999048666|MR|Test|E|Lead 48666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048667|148667|989898|1|9999048667|MR|Test|E|Lead 48667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048668|148668|989898|1|9999048668|MR|Test|E|Lead 48668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048669|148669|989898|1|9999048669|MR|Test|E|Lead 48669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048670|148670|989898|1|9999048670|MR|Test|E|Lead 48670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048671|148671|989898|1|9999048671|MR|Test|E|Lead 48671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048672|148672|989898|1|9999048672|MR|Test|E|Lead 48672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048673|148673|989898|1|9999048673|MR|Test|E|Lead 48673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048674|148674|989898|1|9999048674|MR|Test|E|Lead 48674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048675|148675|989898|1|9999048675|MR|Test|E|Lead 48675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048676|148676|989898|1|9999048676|MR|Test|E|Lead 48676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048677|148677|989898|1|9999048677|MR|Test|E|Lead 48677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048678|148678|989898|1|9999048678|MR|Test|E|Lead 48678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048679|148679|989898|1|9999048679|MR|Test|E|Lead 48679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048680|148680|989898|1|9999048680|MR|Test|E|Lead 48680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048681|148681|989898|1|9999048681|MR|Test|E|Lead 48681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048682|148682|989898|1|9999048682|MR|Test|E|Lead 48682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048683|148683|989898|1|9999048683|MR|Test|E|Lead 48683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048684|148684|989898|1|9999048684|MR|Test|E|Lead 48684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048685|148685|989898|1|9999048685|MR|Test|E|Lead 48685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048686|148686|989898|1|9999048686|MR|Test|E|Lead 48686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048687|148687|989898|1|9999048687|MR|Test|E|Lead 48687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048688|148688|989898|1|9999048688|MR|Test|E|Lead 48688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048689|148689|989898|1|9999048689|MR|Test|E|Lead 48689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048690|148690|989898|1|9999048690|MR|Test|E|Lead 48690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048691|148691|989898|1|9999048691|MR|Test|E|Lead 48691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048692|148692|989898|1|9999048692|MR|Test|E|Lead 48692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048693|148693|989898|1|9999048693|MR|Test|E|Lead 48693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048694|148694|989898|1|9999048694|MR|Test|E|Lead 48694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048695|148695|989898|1|9999048695|MR|Test|E|Lead 48695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048696|148696|989898|1|9999048696|MR|Test|E|Lead 48696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048697|148697|989898|1|9999048697|MR|Test|E|Lead 48697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048698|148698|989898|1|9999048698|MR|Test|E|Lead 48698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048699|148699|989898|1|9999048699|MR|Test|E|Lead 48699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048700|148700|989898|1|9999048700|MR|Test|E|Lead 48700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048701|148701|989898|1|9999048701|MR|Test|E|Lead 48701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048702|148702|989898|1|9999048702|MR|Test|E|Lead 48702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048703|148703|989898|1|9999048703|MR|Test|E|Lead 48703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048704|148704|989898|1|9999048704|MR|Test|E|Lead 48704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048705|148705|989898|1|9999048705|MR|Test|E|Lead 48705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048706|148706|989898|1|9999048706|MR|Test|E|Lead 48706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048707|148707|989898|1|9999048707|MR|Test|E|Lead 48707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048708|148708|989898|1|9999048708|MR|Test|E|Lead 48708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048709|148709|989898|1|9999048709|MR|Test|E|Lead 48709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048710|148710|989898|1|9999048710|MR|Test|E|Lead 48710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048711|148711|989898|1|9999048711|MR|Test|E|Lead 48711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048712|148712|989898|1|9999048712|MR|Test|E|Lead 48712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048713|148713|989898|1|9999048713|MR|Test|E|Lead 48713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048714|148714|989898|1|9999048714|MR|Test|E|Lead 48714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048715|148715|989898|1|9999048715|MR|Test|E|Lead 48715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048716|148716|989898|1|9999048716|MR|Test|E|Lead 48716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048717|148717|989898|1|9999048717|MR|Test|E|Lead 48717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048718|148718|989898|1|9999048718|MR|Test|E|Lead 48718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048719|148719|989898|1|9999048719|MR|Test|E|Lead 48719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048720|148720|989898|1|9999048720|MR|Test|E|Lead 48720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048721|148721|989898|1|9999048721|MR|Test|E|Lead 48721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048722|148722|989898|1|9999048722|MR|Test|E|Lead 48722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048723|148723|989898|1|9999048723|MR|Test|E|Lead 48723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048724|148724|989898|1|9999048724|MR|Test|E|Lead 48724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048725|148725|989898|1|9999048725|MR|Test|E|Lead 48725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048726|148726|989898|1|9999048726|MR|Test|E|Lead 48726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048727|148727|989898|1|9999048727|MR|Test|E|Lead 48727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048728|148728|989898|1|9999048728|MR|Test|E|Lead 48728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048729|148729|989898|1|9999048729|MR|Test|E|Lead 48729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048730|148730|989898|1|9999048730|MR|Test|E|Lead 48730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048731|148731|989898|1|9999048731|MR|Test|E|Lead 48731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048732|148732|989898|1|9999048732|MR|Test|E|Lead 48732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048733|148733|989898|1|9999048733|MR|Test|E|Lead 48733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048734|148734|989898|1|9999048734|MR|Test|E|Lead 48734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048735|148735|989898|1|9999048735|MR|Test|E|Lead 48735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048736|148736|989898|1|9999048736|MR|Test|E|Lead 48736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048737|148737|989898|1|9999048737|MR|Test|E|Lead 48737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048738|148738|989898|1|9999048738|MR|Test|E|Lead 48738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048739|148739|989898|1|9999048739|MR|Test|E|Lead 48739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048740|148740|989898|1|9999048740|MR|Test|E|Lead 48740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048741|148741|989898|1|9999048741|MR|Test|E|Lead 48741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048742|148742|989898|1|9999048742|MR|Test|E|Lead 48742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048743|148743|989898|1|9999048743|MR|Test|E|Lead 48743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048744|148744|989898|1|9999048744|MR|Test|E|Lead 48744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048745|148745|989898|1|9999048745|MR|Test|E|Lead 48745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048746|148746|989898|1|9999048746|MR|Test|E|Lead 48746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048747|148747|989898|1|9999048747|MR|Test|E|Lead 48747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048748|148748|989898|1|9999048748|MR|Test|E|Lead 48748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048749|148749|989898|1|9999048749|MR|Test|E|Lead 48749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048750|148750|989898|1|9999048750|MR|Test|E|Lead 48750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048751|148751|989898|1|9999048751|MR|Test|E|Lead 48751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048752|148752|989898|1|9999048752|MR|Test|E|Lead 48752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048753|148753|989898|1|9999048753|MR|Test|E|Lead 48753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048754|148754|989898|1|9999048754|MR|Test|E|Lead 48754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048755|148755|989898|1|9999048755|MR|Test|E|Lead 48755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048756|148756|989898|1|9999048756|MR|Test|E|Lead 48756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048757|148757|989898|1|9999048757|MR|Test|E|Lead 48757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048758|148758|989898|1|9999048758|MR|Test|E|Lead 48758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048759|148759|989898|1|9999048759|MR|Test|E|Lead 48759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048760|148760|989898|1|9999048760|MR|Test|E|Lead 48760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048761|148761|989898|1|9999048761|MR|Test|E|Lead 48761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048762|148762|989898|1|9999048762|MR|Test|E|Lead 48762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048763|148763|989898|1|9999048763|MR|Test|E|Lead 48763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048764|148764|989898|1|9999048764|MR|Test|E|Lead 48764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048765|148765|989898|1|9999048765|MR|Test|E|Lead 48765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048766|148766|989898|1|9999048766|MR|Test|E|Lead 48766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048767|148767|989898|1|9999048767|MR|Test|E|Lead 48767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048768|148768|989898|1|9999048768|MR|Test|E|Lead 48768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048769|148769|989898|1|9999048769|MR|Test|E|Lead 48769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048770|148770|989898|1|9999048770|MR|Test|E|Lead 48770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048771|148771|989898|1|9999048771|MR|Test|E|Lead 48771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048772|148772|989898|1|9999048772|MR|Test|E|Lead 48772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048773|148773|989898|1|9999048773|MR|Test|E|Lead 48773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048774|148774|989898|1|9999048774|MR|Test|E|Lead 48774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048775|148775|989898|1|9999048775|MR|Test|E|Lead 48775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048776|148776|989898|1|9999048776|MR|Test|E|Lead 48776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048777|148777|989898|1|9999048777|MR|Test|E|Lead 48777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048778|148778|989898|1|9999048778|MR|Test|E|Lead 48778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048779|148779|989898|1|9999048779|MR|Test|E|Lead 48779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048780|148780|989898|1|9999048780|MR|Test|E|Lead 48780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048781|148781|989898|1|9999048781|MR|Test|E|Lead 48781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048782|148782|989898|1|9999048782|MR|Test|E|Lead 48782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048783|148783|989898|1|9999048783|MR|Test|E|Lead 48783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048784|148784|989898|1|9999048784|MR|Test|E|Lead 48784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048785|148785|989898|1|9999048785|MR|Test|E|Lead 48785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048786|148786|989898|1|9999048786|MR|Test|E|Lead 48786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048787|148787|989898|1|9999048787|MR|Test|E|Lead 48787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048788|148788|989898|1|9999048788|MR|Test|E|Lead 48788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048789|148789|989898|1|9999048789|MR|Test|E|Lead 48789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048790|148790|989898|1|9999048790|MR|Test|E|Lead 48790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048791|148791|989898|1|9999048791|MR|Test|E|Lead 48791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048792|148792|989898|1|9999048792|MR|Test|E|Lead 48792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048793|148793|989898|1|9999048793|MR|Test|E|Lead 48793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048794|148794|989898|1|9999048794|MR|Test|E|Lead 48794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048795|148795|989898|1|9999048795|MR|Test|E|Lead 48795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048796|148796|989898|1|9999048796|MR|Test|E|Lead 48796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048797|148797|989898|1|9999048797|MR|Test|E|Lead 48797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048798|148798|989898|1|9999048798|MR|Test|E|Lead 48798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048799|148799|989898|1|9999048799|MR|Test|E|Lead 48799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048800|148800|989898|1|9999048800|MR|Test|E|Lead 48800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048801|148801|989898|1|9999048801|MR|Test|E|Lead 48801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048802|148802|989898|1|9999048802|MR|Test|E|Lead 48802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048803|148803|989898|1|9999048803|MR|Test|E|Lead 48803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048804|148804|989898|1|9999048804|MR|Test|E|Lead 48804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048805|148805|989898|1|9999048805|MR|Test|E|Lead 48805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048806|148806|989898|1|9999048806|MR|Test|E|Lead 48806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048807|148807|989898|1|9999048807|MR|Test|E|Lead 48807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048808|148808|989898|1|9999048808|MR|Test|E|Lead 48808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048809|148809|989898|1|9999048809|MR|Test|E|Lead 48809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048810|148810|989898|1|9999048810|MR|Test|E|Lead 48810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048811|148811|989898|1|9999048811|MR|Test|E|Lead 48811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048812|148812|989898|1|9999048812|MR|Test|E|Lead 48812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048813|148813|989898|1|9999048813|MR|Test|E|Lead 48813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048814|148814|989898|1|9999048814|MR|Test|E|Lead 48814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048815|148815|989898|1|9999048815|MR|Test|E|Lead 48815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048816|148816|989898|1|9999048816|MR|Test|E|Lead 48816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048817|148817|989898|1|9999048817|MR|Test|E|Lead 48817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048818|148818|989898|1|9999048818|MR|Test|E|Lead 48818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048819|148819|989898|1|9999048819|MR|Test|E|Lead 48819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048820|148820|989898|1|9999048820|MR|Test|E|Lead 48820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048821|148821|989898|1|9999048821|MR|Test|E|Lead 48821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048822|148822|989898|1|9999048822|MR|Test|E|Lead 48822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048823|148823|989898|1|9999048823|MR|Test|E|Lead 48823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048824|148824|989898|1|9999048824|MR|Test|E|Lead 48824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048825|148825|989898|1|9999048825|MR|Test|E|Lead 48825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048826|148826|989898|1|9999048826|MR|Test|E|Lead 48826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048827|148827|989898|1|9999048827|MR|Test|E|Lead 48827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048828|148828|989898|1|9999048828|MR|Test|E|Lead 48828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048829|148829|989898|1|9999048829|MR|Test|E|Lead 48829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048830|148830|989898|1|9999048830|MR|Test|E|Lead 48830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048831|148831|989898|1|9999048831|MR|Test|E|Lead 48831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048832|148832|989898|1|9999048832|MR|Test|E|Lead 48832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048833|148833|989898|1|9999048833|MR|Test|E|Lead 48833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048834|148834|989898|1|9999048834|MR|Test|E|Lead 48834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048835|148835|989898|1|9999048835|MR|Test|E|Lead 48835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048836|148836|989898|1|9999048836|MR|Test|E|Lead 48836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048837|148837|989898|1|9999048837|MR|Test|E|Lead 48837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048838|148838|989898|1|9999048838|MR|Test|E|Lead 48838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048839|148839|989898|1|9999048839|MR|Test|E|Lead 48839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048840|148840|989898|1|9999048840|MR|Test|E|Lead 48840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048841|148841|989898|1|9999048841|MR|Test|E|Lead 48841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048842|148842|989898|1|9999048842|MR|Test|E|Lead 48842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048843|148843|989898|1|9999048843|MR|Test|E|Lead 48843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048844|148844|989898|1|9999048844|MR|Test|E|Lead 48844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048845|148845|989898|1|9999048845|MR|Test|E|Lead 48845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048846|148846|989898|1|9999048846|MR|Test|E|Lead 48846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048847|148847|989898|1|9999048847|MR|Test|E|Lead 48847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048848|148848|989898|1|9999048848|MR|Test|E|Lead 48848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048849|148849|989898|1|9999048849|MR|Test|E|Lead 48849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048850|148850|989898|1|9999048850|MR|Test|E|Lead 48850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048851|148851|989898|1|9999048851|MR|Test|E|Lead 48851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048852|148852|989898|1|9999048852|MR|Test|E|Lead 48852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048853|148853|989898|1|9999048853|MR|Test|E|Lead 48853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048854|148854|989898|1|9999048854|MR|Test|E|Lead 48854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048855|148855|989898|1|9999048855|MR|Test|E|Lead 48855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048856|148856|989898|1|9999048856|MR|Test|E|Lead 48856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048857|148857|989898|1|9999048857|MR|Test|E|Lead 48857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048858|148858|989898|1|9999048858|MR|Test|E|Lead 48858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048859|148859|989898|1|9999048859|MR|Test|E|Lead 48859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048860|148860|989898|1|9999048860|MR|Test|E|Lead 48860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048861|148861|989898|1|9999048861|MR|Test|E|Lead 48861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048862|148862|989898|1|9999048862|MR|Test|E|Lead 48862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048863|148863|989898|1|9999048863|MR|Test|E|Lead 48863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048864|148864|989898|1|9999048864|MR|Test|E|Lead 48864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048865|148865|989898|1|9999048865|MR|Test|E|Lead 48865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048866|148866|989898|1|9999048866|MR|Test|E|Lead 48866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048867|148867|989898|1|9999048867|MR|Test|E|Lead 48867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048868|148868|989898|1|9999048868|MR|Test|E|Lead 48868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048869|148869|989898|1|9999048869|MR|Test|E|Lead 48869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048870|148870|989898|1|9999048870|MR|Test|E|Lead 48870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048871|148871|989898|1|9999048871|MR|Test|E|Lead 48871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048872|148872|989898|1|9999048872|MR|Test|E|Lead 48872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048873|148873|989898|1|9999048873|MR|Test|E|Lead 48873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048874|148874|989898|1|9999048874|MR|Test|E|Lead 48874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048875|148875|989898|1|9999048875|MR|Test|E|Lead 48875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048876|148876|989898|1|9999048876|MR|Test|E|Lead 48876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048877|148877|989898|1|9999048877|MR|Test|E|Lead 48877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048878|148878|989898|1|9999048878|MR|Test|E|Lead 48878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048879|148879|989898|1|9999048879|MR|Test|E|Lead 48879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048880|148880|989898|1|9999048880|MR|Test|E|Lead 48880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048881|148881|989898|1|9999048881|MR|Test|E|Lead 48881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048882|148882|989898|1|9999048882|MR|Test|E|Lead 48882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048883|148883|989898|1|9999048883|MR|Test|E|Lead 48883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048884|148884|989898|1|9999048884|MR|Test|E|Lead 48884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048885|148885|989898|1|9999048885|MR|Test|E|Lead 48885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048886|148886|989898|1|9999048886|MR|Test|E|Lead 48886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048887|148887|989898|1|9999048887|MR|Test|E|Lead 48887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048888|148888|989898|1|9999048888|MR|Test|E|Lead 48888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048889|148889|989898|1|9999048889|MR|Test|E|Lead 48889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048890|148890|989898|1|9999048890|MR|Test|E|Lead 48890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048891|148891|989898|1|9999048891|MR|Test|E|Lead 48891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048892|148892|989898|1|9999048892|MR|Test|E|Lead 48892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048893|148893|989898|1|9999048893|MR|Test|E|Lead 48893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048894|148894|989898|1|9999048894|MR|Test|E|Lead 48894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048895|148895|989898|1|9999048895|MR|Test|E|Lead 48895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048896|148896|989898|1|9999048896|MR|Test|E|Lead 48896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048897|148897|989898|1|9999048897|MR|Test|E|Lead 48897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048898|148898|989898|1|9999048898|MR|Test|E|Lead 48898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048899|148899|989898|1|9999048899|MR|Test|E|Lead 48899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048900|148900|989898|1|9999048900|MR|Test|E|Lead 48900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048901|148901|989898|1|9999048901|MR|Test|E|Lead 48901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048902|148902|989898|1|9999048902|MR|Test|E|Lead 48902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048903|148903|989898|1|9999048903|MR|Test|E|Lead 48903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048904|148904|989898|1|9999048904|MR|Test|E|Lead 48904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048905|148905|989898|1|9999048905|MR|Test|E|Lead 48905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048906|148906|989898|1|9999048906|MR|Test|E|Lead 48906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048907|148907|989898|1|9999048907|MR|Test|E|Lead 48907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048908|148908|989898|1|9999048908|MR|Test|E|Lead 48908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048909|148909|989898|1|9999048909|MR|Test|E|Lead 48909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048910|148910|989898|1|9999048910|MR|Test|E|Lead 48910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048911|148911|989898|1|9999048911|MR|Test|E|Lead 48911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048912|148912|989898|1|9999048912|MR|Test|E|Lead 48912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048913|148913|989898|1|9999048913|MR|Test|E|Lead 48913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048914|148914|989898|1|9999048914|MR|Test|E|Lead 48914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048915|148915|989898|1|9999048915|MR|Test|E|Lead 48915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048916|148916|989898|1|9999048916|MR|Test|E|Lead 48916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048917|148917|989898|1|9999048917|MR|Test|E|Lead 48917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048918|148918|989898|1|9999048918|MR|Test|E|Lead 48918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048919|148919|989898|1|9999048919|MR|Test|E|Lead 48919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048920|148920|989898|1|9999048920|MR|Test|E|Lead 48920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048921|148921|989898|1|9999048921|MR|Test|E|Lead 48921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048922|148922|989898|1|9999048922|MR|Test|E|Lead 48922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048923|148923|989898|1|9999048923|MR|Test|E|Lead 48923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048924|148924|989898|1|9999048924|MR|Test|E|Lead 48924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048925|148925|989898|1|9999048925|MR|Test|E|Lead 48925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048926|148926|989898|1|9999048926|MR|Test|E|Lead 48926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048927|148927|989898|1|9999048927|MR|Test|E|Lead 48927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048928|148928|989898|1|9999048928|MR|Test|E|Lead 48928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048929|148929|989898|1|9999048929|MR|Test|E|Lead 48929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048930|148930|989898|1|9999048930|MR|Test|E|Lead 48930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048931|148931|989898|1|9999048931|MR|Test|E|Lead 48931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048932|148932|989898|1|9999048932|MR|Test|E|Lead 48932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048933|148933|989898|1|9999048933|MR|Test|E|Lead 48933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048934|148934|989898|1|9999048934|MR|Test|E|Lead 48934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048935|148935|989898|1|9999048935|MR|Test|E|Lead 48935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048936|148936|989898|1|9999048936|MR|Test|E|Lead 48936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048937|148937|989898|1|9999048937|MR|Test|E|Lead 48937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048938|148938|989898|1|9999048938|MR|Test|E|Lead 48938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048939|148939|989898|1|9999048939|MR|Test|E|Lead 48939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048940|148940|989898|1|9999048940|MR|Test|E|Lead 48940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048941|148941|989898|1|9999048941|MR|Test|E|Lead 48941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048942|148942|989898|1|9999048942|MR|Test|E|Lead 48942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048943|148943|989898|1|9999048943|MR|Test|E|Lead 48943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048944|148944|989898|1|9999048944|MR|Test|E|Lead 48944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048945|148945|989898|1|9999048945|MR|Test|E|Lead 48945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048946|148946|989898|1|9999048946|MR|Test|E|Lead 48946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048947|148947|989898|1|9999048947|MR|Test|E|Lead 48947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048948|148948|989898|1|9999048948|MR|Test|E|Lead 48948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048949|148949|989898|1|9999048949|MR|Test|E|Lead 48949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048950|148950|989898|1|9999048950|MR|Test|E|Lead 48950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048951|148951|989898|1|9999048951|MR|Test|E|Lead 48951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048952|148952|989898|1|9999048952|MR|Test|E|Lead 48952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048953|148953|989898|1|9999048953|MR|Test|E|Lead 48953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048954|148954|989898|1|9999048954|MR|Test|E|Lead 48954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048955|148955|989898|1|9999048955|MR|Test|E|Lead 48955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048956|148956|989898|1|9999048956|MR|Test|E|Lead 48956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048957|148957|989898|1|9999048957|MR|Test|E|Lead 48957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048958|148958|989898|1|9999048958|MR|Test|E|Lead 48958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048959|148959|989898|1|9999048959|MR|Test|E|Lead 48959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048960|148960|989898|1|9999048960|MR|Test|E|Lead 48960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048961|148961|989898|1|9999048961|MR|Test|E|Lead 48961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048962|148962|989898|1|9999048962|MR|Test|E|Lead 48962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048963|148963|989898|1|9999048963|MR|Test|E|Lead 48963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048964|148964|989898|1|9999048964|MR|Test|E|Lead 48964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048965|148965|989898|1|9999048965|MR|Test|E|Lead 48965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048966|148966|989898|1|9999048966|MR|Test|E|Lead 48966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048967|148967|989898|1|9999048967|MR|Test|E|Lead 48967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048968|148968|989898|1|9999048968|MR|Test|E|Lead 48968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048969|148969|989898|1|9999048969|MR|Test|E|Lead 48969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048970|148970|989898|1|9999048970|MR|Test|E|Lead 48970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048971|148971|989898|1|9999048971|MR|Test|E|Lead 48971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048972|148972|989898|1|9999048972|MR|Test|E|Lead 48972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048973|148973|989898|1|9999048973|MR|Test|E|Lead 48973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048974|148974|989898|1|9999048974|MR|Test|E|Lead 48974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048975|148975|989898|1|9999048975|MR|Test|E|Lead 48975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048976|148976|989898|1|9999048976|MR|Test|E|Lead 48976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048977|148977|989898|1|9999048977|MR|Test|E|Lead 48977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048978|148978|989898|1|9999048978|MR|Test|E|Lead 48978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048979|148979|989898|1|9999048979|MR|Test|E|Lead 48979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048980|148980|989898|1|9999048980|MR|Test|E|Lead 48980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048981|148981|989898|1|9999048981|MR|Test|E|Lead 48981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048982|148982|989898|1|9999048982|MR|Test|E|Lead 48982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048983|148983|989898|1|9999048983|MR|Test|E|Lead 48983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048984|148984|989898|1|9999048984|MR|Test|E|Lead 48984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048985|148985|989898|1|9999048985|MR|Test|E|Lead 48985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048986|148986|989898|1|9999048986|MR|Test|E|Lead 48986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048987|148987|989898|1|9999048987|MR|Test|E|Lead 48987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048988|148988|989898|1|9999048988|MR|Test|E|Lead 48988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048989|148989|989898|1|9999048989|MR|Test|E|Lead 48989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048990|148990|989898|1|9999048990|MR|Test|E|Lead 48990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048991|148991|989898|1|9999048991|MR|Test|E|Lead 48991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048992|148992|989898|1|9999048992|MR|Test|E|Lead 48992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048993|148993|989898|1|9999048993|MR|Test|E|Lead 48993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048994|148994|989898|1|9999048994|MR|Test|E|Lead 48994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048995|148995|989898|1|9999048995|MR|Test|E|Lead 48995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048996|148996|989898|1|9999048996|MR|Test|E|Lead 48996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048997|148997|989898|1|9999048997|MR|Test|E|Lead 48997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048998|148998|989898|1|9999048998|MR|Test|E|Lead 48998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1048999|148999|989898|1|9999048999|MR|Test|E|Lead 48999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049000|149000|989898|1|9999049000|MR|Test|E|Lead 49000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049001|149001|989898|1|9999049001|MR|Test|E|Lead 49001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049002|149002|989898|1|9999049002|MR|Test|E|Lead 49002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049003|149003|989898|1|9999049003|MR|Test|E|Lead 49003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049004|149004|989898|1|9999049004|MR|Test|E|Lead 49004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049005|149005|989898|1|9999049005|MR|Test|E|Lead 49005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049006|149006|989898|1|9999049006|MR|Test|E|Lead 49006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049007|149007|989898|1|9999049007|MR|Test|E|Lead 49007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049008|149008|989898|1|9999049008|MR|Test|E|Lead 49008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049009|149009|989898|1|9999049009|MR|Test|E|Lead 49009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049010|149010|989898|1|9999049010|MR|Test|E|Lead 49010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049011|149011|989898|1|9999049011|MR|Test|E|Lead 49011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049012|149012|989898|1|9999049012|MR|Test|E|Lead 49012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049013|149013|989898|1|9999049013|MR|Test|E|Lead 49013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049014|149014|989898|1|9999049014|MR|Test|E|Lead 49014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049015|149015|989898|1|9999049015|MR|Test|E|Lead 49015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049016|149016|989898|1|9999049016|MR|Test|E|Lead 49016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049017|149017|989898|1|9999049017|MR|Test|E|Lead 49017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049018|149018|989898|1|9999049018|MR|Test|E|Lead 49018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049019|149019|989898|1|9999049019|MR|Test|E|Lead 49019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049020|149020|989898|1|9999049020|MR|Test|E|Lead 49020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049021|149021|989898|1|9999049021|MR|Test|E|Lead 49021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049022|149022|989898|1|9999049022|MR|Test|E|Lead 49022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049023|149023|989898|1|9999049023|MR|Test|E|Lead 49023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049024|149024|989898|1|9999049024|MR|Test|E|Lead 49024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049025|149025|989898|1|9999049025|MR|Test|E|Lead 49025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049026|149026|989898|1|9999049026|MR|Test|E|Lead 49026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049027|149027|989898|1|9999049027|MR|Test|E|Lead 49027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049028|149028|989898|1|9999049028|MR|Test|E|Lead 49028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049029|149029|989898|1|9999049029|MR|Test|E|Lead 49029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049030|149030|989898|1|9999049030|MR|Test|E|Lead 49030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049031|149031|989898|1|9999049031|MR|Test|E|Lead 49031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049032|149032|989898|1|9999049032|MR|Test|E|Lead 49032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049033|149033|989898|1|9999049033|MR|Test|E|Lead 49033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049034|149034|989898|1|9999049034|MR|Test|E|Lead 49034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049035|149035|989898|1|9999049035|MR|Test|E|Lead 49035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049036|149036|989898|1|9999049036|MR|Test|E|Lead 49036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049037|149037|989898|1|9999049037|MR|Test|E|Lead 49037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049038|149038|989898|1|9999049038|MR|Test|E|Lead 49038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049039|149039|989898|1|9999049039|MR|Test|E|Lead 49039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049040|149040|989898|1|9999049040|MR|Test|E|Lead 49040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049041|149041|989898|1|9999049041|MR|Test|E|Lead 49041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049042|149042|989898|1|9999049042|MR|Test|E|Lead 49042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049043|149043|989898|1|9999049043|MR|Test|E|Lead 49043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049044|149044|989898|1|9999049044|MR|Test|E|Lead 49044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049045|149045|989898|1|9999049045|MR|Test|E|Lead 49045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049046|149046|989898|1|9999049046|MR|Test|E|Lead 49046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049047|149047|989898|1|9999049047|MR|Test|E|Lead 49047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049048|149048|989898|1|9999049048|MR|Test|E|Lead 49048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049049|149049|989898|1|9999049049|MR|Test|E|Lead 49049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049050|149050|989898|1|9999049050|MR|Test|E|Lead 49050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049051|149051|989898|1|9999049051|MR|Test|E|Lead 49051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049052|149052|989898|1|9999049052|MR|Test|E|Lead 49052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049053|149053|989898|1|9999049053|MR|Test|E|Lead 49053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049054|149054|989898|1|9999049054|MR|Test|E|Lead 49054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049055|149055|989898|1|9999049055|MR|Test|E|Lead 49055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049056|149056|989898|1|9999049056|MR|Test|E|Lead 49056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049057|149057|989898|1|9999049057|MR|Test|E|Lead 49057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049058|149058|989898|1|9999049058|MR|Test|E|Lead 49058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049059|149059|989898|1|9999049059|MR|Test|E|Lead 49059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049060|149060|989898|1|9999049060|MR|Test|E|Lead 49060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049061|149061|989898|1|9999049061|MR|Test|E|Lead 49061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049062|149062|989898|1|9999049062|MR|Test|E|Lead 49062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049063|149063|989898|1|9999049063|MR|Test|E|Lead 49063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049064|149064|989898|1|9999049064|MR|Test|E|Lead 49064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049065|149065|989898|1|9999049065|MR|Test|E|Lead 49065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049066|149066|989898|1|9999049066|MR|Test|E|Lead 49066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049067|149067|989898|1|9999049067|MR|Test|E|Lead 49067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049068|149068|989898|1|9999049068|MR|Test|E|Lead 49068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049069|149069|989898|1|9999049069|MR|Test|E|Lead 49069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049070|149070|989898|1|9999049070|MR|Test|E|Lead 49070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049071|149071|989898|1|9999049071|MR|Test|E|Lead 49071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049072|149072|989898|1|9999049072|MR|Test|E|Lead 49072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049073|149073|989898|1|9999049073|MR|Test|E|Lead 49073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049074|149074|989898|1|9999049074|MR|Test|E|Lead 49074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049075|149075|989898|1|9999049075|MR|Test|E|Lead 49075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049076|149076|989898|1|9999049076|MR|Test|E|Lead 49076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049077|149077|989898|1|9999049077|MR|Test|E|Lead 49077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049078|149078|989898|1|9999049078|MR|Test|E|Lead 49078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049079|149079|989898|1|9999049079|MR|Test|E|Lead 49079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049080|149080|989898|1|9999049080|MR|Test|E|Lead 49080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049081|149081|989898|1|9999049081|MR|Test|E|Lead 49081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049082|149082|989898|1|9999049082|MR|Test|E|Lead 49082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049083|149083|989898|1|9999049083|MR|Test|E|Lead 49083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049084|149084|989898|1|9999049084|MR|Test|E|Lead 49084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049085|149085|989898|1|9999049085|MR|Test|E|Lead 49085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049086|149086|989898|1|9999049086|MR|Test|E|Lead 49086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049087|149087|989898|1|9999049087|MR|Test|E|Lead 49087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049088|149088|989898|1|9999049088|MR|Test|E|Lead 49088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049089|149089|989898|1|9999049089|MR|Test|E|Lead 49089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049090|149090|989898|1|9999049090|MR|Test|E|Lead 49090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049091|149091|989898|1|9999049091|MR|Test|E|Lead 49091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049092|149092|989898|1|9999049092|MR|Test|E|Lead 49092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049093|149093|989898|1|9999049093|MR|Test|E|Lead 49093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049094|149094|989898|1|9999049094|MR|Test|E|Lead 49094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049095|149095|989898|1|9999049095|MR|Test|E|Lead 49095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049096|149096|989898|1|9999049096|MR|Test|E|Lead 49096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049097|149097|989898|1|9999049097|MR|Test|E|Lead 49097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049098|149098|989898|1|9999049098|MR|Test|E|Lead 49098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049099|149099|989898|1|9999049099|MR|Test|E|Lead 49099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049100|149100|989898|1|9999049100|MR|Test|E|Lead 49100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049101|149101|989898|1|9999049101|MR|Test|E|Lead 49101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049102|149102|989898|1|9999049102|MR|Test|E|Lead 49102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049103|149103|989898|1|9999049103|MR|Test|E|Lead 49103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049104|149104|989898|1|9999049104|MR|Test|E|Lead 49104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049105|149105|989898|1|9999049105|MR|Test|E|Lead 49105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049106|149106|989898|1|9999049106|MR|Test|E|Lead 49106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049107|149107|989898|1|9999049107|MR|Test|E|Lead 49107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049108|149108|989898|1|9999049108|MR|Test|E|Lead 49108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049109|149109|989898|1|9999049109|MR|Test|E|Lead 49109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049110|149110|989898|1|9999049110|MR|Test|E|Lead 49110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049111|149111|989898|1|9999049111|MR|Test|E|Lead 49111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049112|149112|989898|1|9999049112|MR|Test|E|Lead 49112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049113|149113|989898|1|9999049113|MR|Test|E|Lead 49113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049114|149114|989898|1|9999049114|MR|Test|E|Lead 49114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049115|149115|989898|1|9999049115|MR|Test|E|Lead 49115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049116|149116|989898|1|9999049116|MR|Test|E|Lead 49116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049117|149117|989898|1|9999049117|MR|Test|E|Lead 49117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049118|149118|989898|1|9999049118|MR|Test|E|Lead 49118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049119|149119|989898|1|9999049119|MR|Test|E|Lead 49119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049120|149120|989898|1|9999049120|MR|Test|E|Lead 49120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049121|149121|989898|1|9999049121|MR|Test|E|Lead 49121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049122|149122|989898|1|9999049122|MR|Test|E|Lead 49122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049123|149123|989898|1|9999049123|MR|Test|E|Lead 49123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049124|149124|989898|1|9999049124|MR|Test|E|Lead 49124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049125|149125|989898|1|9999049125|MR|Test|E|Lead 49125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049126|149126|989898|1|9999049126|MR|Test|E|Lead 49126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049127|149127|989898|1|9999049127|MR|Test|E|Lead 49127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049128|149128|989898|1|9999049128|MR|Test|E|Lead 49128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049129|149129|989898|1|9999049129|MR|Test|E|Lead 49129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049130|149130|989898|1|9999049130|MR|Test|E|Lead 49130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049131|149131|989898|1|9999049131|MR|Test|E|Lead 49131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049132|149132|989898|1|9999049132|MR|Test|E|Lead 49132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049133|149133|989898|1|9999049133|MR|Test|E|Lead 49133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049134|149134|989898|1|9999049134|MR|Test|E|Lead 49134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049135|149135|989898|1|9999049135|MR|Test|E|Lead 49135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049136|149136|989898|1|9999049136|MR|Test|E|Lead 49136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049137|149137|989898|1|9999049137|MR|Test|E|Lead 49137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049138|149138|989898|1|9999049138|MR|Test|E|Lead 49138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049139|149139|989898|1|9999049139|MR|Test|E|Lead 49139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049140|149140|989898|1|9999049140|MR|Test|E|Lead 49140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049141|149141|989898|1|9999049141|MR|Test|E|Lead 49141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049142|149142|989898|1|9999049142|MR|Test|E|Lead 49142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049143|149143|989898|1|9999049143|MR|Test|E|Lead 49143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049144|149144|989898|1|9999049144|MR|Test|E|Lead 49144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049145|149145|989898|1|9999049145|MR|Test|E|Lead 49145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049146|149146|989898|1|9999049146|MR|Test|E|Lead 49146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049147|149147|989898|1|9999049147|MR|Test|E|Lead 49147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049148|149148|989898|1|9999049148|MR|Test|E|Lead 49148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049149|149149|989898|1|9999049149|MR|Test|E|Lead 49149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049150|149150|989898|1|9999049150|MR|Test|E|Lead 49150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049151|149151|989898|1|9999049151|MR|Test|E|Lead 49151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049152|149152|989898|1|9999049152|MR|Test|E|Lead 49152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049153|149153|989898|1|9999049153|MR|Test|E|Lead 49153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049154|149154|989898|1|9999049154|MR|Test|E|Lead 49154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049155|149155|989898|1|9999049155|MR|Test|E|Lead 49155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049156|149156|989898|1|9999049156|MR|Test|E|Lead 49156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049157|149157|989898|1|9999049157|MR|Test|E|Lead 49157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049158|149158|989898|1|9999049158|MR|Test|E|Lead 49158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049159|149159|989898|1|9999049159|MR|Test|E|Lead 49159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049160|149160|989898|1|9999049160|MR|Test|E|Lead 49160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049161|149161|989898|1|9999049161|MR|Test|E|Lead 49161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049162|149162|989898|1|9999049162|MR|Test|E|Lead 49162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049163|149163|989898|1|9999049163|MR|Test|E|Lead 49163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049164|149164|989898|1|9999049164|MR|Test|E|Lead 49164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049165|149165|989898|1|9999049165|MR|Test|E|Lead 49165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049166|149166|989898|1|9999049166|MR|Test|E|Lead 49166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049167|149167|989898|1|9999049167|MR|Test|E|Lead 49167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049168|149168|989898|1|9999049168|MR|Test|E|Lead 49168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049169|149169|989898|1|9999049169|MR|Test|E|Lead 49169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049170|149170|989898|1|9999049170|MR|Test|E|Lead 49170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049171|149171|989898|1|9999049171|MR|Test|E|Lead 49171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049172|149172|989898|1|9999049172|MR|Test|E|Lead 49172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049173|149173|989898|1|9999049173|MR|Test|E|Lead 49173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049174|149174|989898|1|9999049174|MR|Test|E|Lead 49174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049175|149175|989898|1|9999049175|MR|Test|E|Lead 49175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049176|149176|989898|1|9999049176|MR|Test|E|Lead 49176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049177|149177|989898|1|9999049177|MR|Test|E|Lead 49177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049178|149178|989898|1|9999049178|MR|Test|E|Lead 49178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049179|149179|989898|1|9999049179|MR|Test|E|Lead 49179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049180|149180|989898|1|9999049180|MR|Test|E|Lead 49180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049181|149181|989898|1|9999049181|MR|Test|E|Lead 49181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049182|149182|989898|1|9999049182|MR|Test|E|Lead 49182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049183|149183|989898|1|9999049183|MR|Test|E|Lead 49183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049184|149184|989898|1|9999049184|MR|Test|E|Lead 49184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049185|149185|989898|1|9999049185|MR|Test|E|Lead 49185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049186|149186|989898|1|9999049186|MR|Test|E|Lead 49186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049187|149187|989898|1|9999049187|MR|Test|E|Lead 49187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049188|149188|989898|1|9999049188|MR|Test|E|Lead 49188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049189|149189|989898|1|9999049189|MR|Test|E|Lead 49189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049190|149190|989898|1|9999049190|MR|Test|E|Lead 49190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049191|149191|989898|1|9999049191|MR|Test|E|Lead 49191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049192|149192|989898|1|9999049192|MR|Test|E|Lead 49192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049193|149193|989898|1|9999049193|MR|Test|E|Lead 49193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049194|149194|989898|1|9999049194|MR|Test|E|Lead 49194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049195|149195|989898|1|9999049195|MR|Test|E|Lead 49195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049196|149196|989898|1|9999049196|MR|Test|E|Lead 49196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049197|149197|989898|1|9999049197|MR|Test|E|Lead 49197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049198|149198|989898|1|9999049198|MR|Test|E|Lead 49198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049199|149199|989898|1|9999049199|MR|Test|E|Lead 49199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049200|149200|989898|1|9999049200|MR|Test|E|Lead 49200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049201|149201|989898|1|9999049201|MR|Test|E|Lead 49201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049202|149202|989898|1|9999049202|MR|Test|E|Lead 49202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049203|149203|989898|1|9999049203|MR|Test|E|Lead 49203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049204|149204|989898|1|9999049204|MR|Test|E|Lead 49204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049205|149205|989898|1|9999049205|MR|Test|E|Lead 49205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049206|149206|989898|1|9999049206|MR|Test|E|Lead 49206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049207|149207|989898|1|9999049207|MR|Test|E|Lead 49207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049208|149208|989898|1|9999049208|MR|Test|E|Lead 49208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049209|149209|989898|1|9999049209|MR|Test|E|Lead 49209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049210|149210|989898|1|9999049210|MR|Test|E|Lead 49210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049211|149211|989898|1|9999049211|MR|Test|E|Lead 49211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049212|149212|989898|1|9999049212|MR|Test|E|Lead 49212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049213|149213|989898|1|9999049213|MR|Test|E|Lead 49213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049214|149214|989898|1|9999049214|MR|Test|E|Lead 49214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049215|149215|989898|1|9999049215|MR|Test|E|Lead 49215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049216|149216|989898|1|9999049216|MR|Test|E|Lead 49216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049217|149217|989898|1|9999049217|MR|Test|E|Lead 49217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049218|149218|989898|1|9999049218|MR|Test|E|Lead 49218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049219|149219|989898|1|9999049219|MR|Test|E|Lead 49219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049220|149220|989898|1|9999049220|MR|Test|E|Lead 49220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049221|149221|989898|1|9999049221|MR|Test|E|Lead 49221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049222|149222|989898|1|9999049222|MR|Test|E|Lead 49222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049223|149223|989898|1|9999049223|MR|Test|E|Lead 49223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049224|149224|989898|1|9999049224|MR|Test|E|Lead 49224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049225|149225|989898|1|9999049225|MR|Test|E|Lead 49225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049226|149226|989898|1|9999049226|MR|Test|E|Lead 49226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049227|149227|989898|1|9999049227|MR|Test|E|Lead 49227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049228|149228|989898|1|9999049228|MR|Test|E|Lead 49228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049229|149229|989898|1|9999049229|MR|Test|E|Lead 49229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049230|149230|989898|1|9999049230|MR|Test|E|Lead 49230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049231|149231|989898|1|9999049231|MR|Test|E|Lead 49231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049232|149232|989898|1|9999049232|MR|Test|E|Lead 49232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049233|149233|989898|1|9999049233|MR|Test|E|Lead 49233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049234|149234|989898|1|9999049234|MR|Test|E|Lead 49234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049235|149235|989898|1|9999049235|MR|Test|E|Lead 49235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049236|149236|989898|1|9999049236|MR|Test|E|Lead 49236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049237|149237|989898|1|9999049237|MR|Test|E|Lead 49237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049238|149238|989898|1|9999049238|MR|Test|E|Lead 49238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049239|149239|989898|1|9999049239|MR|Test|E|Lead 49239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049240|149240|989898|1|9999049240|MR|Test|E|Lead 49240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049241|149241|989898|1|9999049241|MR|Test|E|Lead 49241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049242|149242|989898|1|9999049242|MR|Test|E|Lead 49242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049243|149243|989898|1|9999049243|MR|Test|E|Lead 49243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049244|149244|989898|1|9999049244|MR|Test|E|Lead 49244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049245|149245|989898|1|9999049245|MR|Test|E|Lead 49245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049246|149246|989898|1|9999049246|MR|Test|E|Lead 49246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049247|149247|989898|1|9999049247|MR|Test|E|Lead 49247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049248|149248|989898|1|9999049248|MR|Test|E|Lead 49248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049249|149249|989898|1|9999049249|MR|Test|E|Lead 49249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049250|149250|989898|1|9999049250|MR|Test|E|Lead 49250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049251|149251|989898|1|9999049251|MR|Test|E|Lead 49251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049252|149252|989898|1|9999049252|MR|Test|E|Lead 49252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049253|149253|989898|1|9999049253|MR|Test|E|Lead 49253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049254|149254|989898|1|9999049254|MR|Test|E|Lead 49254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049255|149255|989898|1|9999049255|MR|Test|E|Lead 49255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049256|149256|989898|1|9999049256|MR|Test|E|Lead 49256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049257|149257|989898|1|9999049257|MR|Test|E|Lead 49257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049258|149258|989898|1|9999049258|MR|Test|E|Lead 49258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049259|149259|989898|1|9999049259|MR|Test|E|Lead 49259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049260|149260|989898|1|9999049260|MR|Test|E|Lead 49260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049261|149261|989898|1|9999049261|MR|Test|E|Lead 49261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049262|149262|989898|1|9999049262|MR|Test|E|Lead 49262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049263|149263|989898|1|9999049263|MR|Test|E|Lead 49263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049264|149264|989898|1|9999049264|MR|Test|E|Lead 49264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049265|149265|989898|1|9999049265|MR|Test|E|Lead 49265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049266|149266|989898|1|9999049266|MR|Test|E|Lead 49266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049267|149267|989898|1|9999049267|MR|Test|E|Lead 49267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049268|149268|989898|1|9999049268|MR|Test|E|Lead 49268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049269|149269|989898|1|9999049269|MR|Test|E|Lead 49269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049270|149270|989898|1|9999049270|MR|Test|E|Lead 49270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049271|149271|989898|1|9999049271|MR|Test|E|Lead 49271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049272|149272|989898|1|9999049272|MR|Test|E|Lead 49272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049273|149273|989898|1|9999049273|MR|Test|E|Lead 49273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049274|149274|989898|1|9999049274|MR|Test|E|Lead 49274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049275|149275|989898|1|9999049275|MR|Test|E|Lead 49275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049276|149276|989898|1|9999049276|MR|Test|E|Lead 49276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049277|149277|989898|1|9999049277|MR|Test|E|Lead 49277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049278|149278|989898|1|9999049278|MR|Test|E|Lead 49278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049279|149279|989898|1|9999049279|MR|Test|E|Lead 49279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049280|149280|989898|1|9999049280|MR|Test|E|Lead 49280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049281|149281|989898|1|9999049281|MR|Test|E|Lead 49281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049282|149282|989898|1|9999049282|MR|Test|E|Lead 49282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049283|149283|989898|1|9999049283|MR|Test|E|Lead 49283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049284|149284|989898|1|9999049284|MR|Test|E|Lead 49284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049285|149285|989898|1|9999049285|MR|Test|E|Lead 49285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049286|149286|989898|1|9999049286|MR|Test|E|Lead 49286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049287|149287|989898|1|9999049287|MR|Test|E|Lead 49287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049288|149288|989898|1|9999049288|MR|Test|E|Lead 49288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049289|149289|989898|1|9999049289|MR|Test|E|Lead 49289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049290|149290|989898|1|9999049290|MR|Test|E|Lead 49290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049291|149291|989898|1|9999049291|MR|Test|E|Lead 49291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049292|149292|989898|1|9999049292|MR|Test|E|Lead 49292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049293|149293|989898|1|9999049293|MR|Test|E|Lead 49293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049294|149294|989898|1|9999049294|MR|Test|E|Lead 49294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049295|149295|989898|1|9999049295|MR|Test|E|Lead 49295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049296|149296|989898|1|9999049296|MR|Test|E|Lead 49296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049297|149297|989898|1|9999049297|MR|Test|E|Lead 49297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049298|149298|989898|1|9999049298|MR|Test|E|Lead 49298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049299|149299|989898|1|9999049299|MR|Test|E|Lead 49299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049300|149300|989898|1|9999049300|MR|Test|E|Lead 49300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049301|149301|989898|1|9999049301|MR|Test|E|Lead 49301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049302|149302|989898|1|9999049302|MR|Test|E|Lead 49302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049303|149303|989898|1|9999049303|MR|Test|E|Lead 49303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049304|149304|989898|1|9999049304|MR|Test|E|Lead 49304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049305|149305|989898|1|9999049305|MR|Test|E|Lead 49305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049306|149306|989898|1|9999049306|MR|Test|E|Lead 49306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049307|149307|989898|1|9999049307|MR|Test|E|Lead 49307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049308|149308|989898|1|9999049308|MR|Test|E|Lead 49308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049309|149309|989898|1|9999049309|MR|Test|E|Lead 49309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049310|149310|989898|1|9999049310|MR|Test|E|Lead 49310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049311|149311|989898|1|9999049311|MR|Test|E|Lead 49311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049312|149312|989898|1|9999049312|MR|Test|E|Lead 49312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049313|149313|989898|1|9999049313|MR|Test|E|Lead 49313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049314|149314|989898|1|9999049314|MR|Test|E|Lead 49314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049315|149315|989898|1|9999049315|MR|Test|E|Lead 49315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049316|149316|989898|1|9999049316|MR|Test|E|Lead 49316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049317|149317|989898|1|9999049317|MR|Test|E|Lead 49317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049318|149318|989898|1|9999049318|MR|Test|E|Lead 49318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049319|149319|989898|1|9999049319|MR|Test|E|Lead 49319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049320|149320|989898|1|9999049320|MR|Test|E|Lead 49320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049321|149321|989898|1|9999049321|MR|Test|E|Lead 49321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049322|149322|989898|1|9999049322|MR|Test|E|Lead 49322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049323|149323|989898|1|9999049323|MR|Test|E|Lead 49323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049324|149324|989898|1|9999049324|MR|Test|E|Lead 49324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049325|149325|989898|1|9999049325|MR|Test|E|Lead 49325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049326|149326|989898|1|9999049326|MR|Test|E|Lead 49326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049327|149327|989898|1|9999049327|MR|Test|E|Lead 49327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049328|149328|989898|1|9999049328|MR|Test|E|Lead 49328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049329|149329|989898|1|9999049329|MR|Test|E|Lead 49329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049330|149330|989898|1|9999049330|MR|Test|E|Lead 49330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049331|149331|989898|1|9999049331|MR|Test|E|Lead 49331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049332|149332|989898|1|9999049332|MR|Test|E|Lead 49332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049333|149333|989898|1|9999049333|MR|Test|E|Lead 49333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049334|149334|989898|1|9999049334|MR|Test|E|Lead 49334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049335|149335|989898|1|9999049335|MR|Test|E|Lead 49335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049336|149336|989898|1|9999049336|MR|Test|E|Lead 49336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049337|149337|989898|1|9999049337|MR|Test|E|Lead 49337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049338|149338|989898|1|9999049338|MR|Test|E|Lead 49338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049339|149339|989898|1|9999049339|MR|Test|E|Lead 49339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049340|149340|989898|1|9999049340|MR|Test|E|Lead 49340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049341|149341|989898|1|9999049341|MR|Test|E|Lead 49341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049342|149342|989898|1|9999049342|MR|Test|E|Lead 49342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049343|149343|989898|1|9999049343|MR|Test|E|Lead 49343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049344|149344|989898|1|9999049344|MR|Test|E|Lead 49344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049345|149345|989898|1|9999049345|MR|Test|E|Lead 49345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049346|149346|989898|1|9999049346|MR|Test|E|Lead 49346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049347|149347|989898|1|9999049347|MR|Test|E|Lead 49347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049348|149348|989898|1|9999049348|MR|Test|E|Lead 49348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049349|149349|989898|1|9999049349|MR|Test|E|Lead 49349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049350|149350|989898|1|9999049350|MR|Test|E|Lead 49350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049351|149351|989898|1|9999049351|MR|Test|E|Lead 49351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049352|149352|989898|1|9999049352|MR|Test|E|Lead 49352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049353|149353|989898|1|9999049353|MR|Test|E|Lead 49353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049354|149354|989898|1|9999049354|MR|Test|E|Lead 49354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049355|149355|989898|1|9999049355|MR|Test|E|Lead 49355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049356|149356|989898|1|9999049356|MR|Test|E|Lead 49356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049357|149357|989898|1|9999049357|MR|Test|E|Lead 49357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049358|149358|989898|1|9999049358|MR|Test|E|Lead 49358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049359|149359|989898|1|9999049359|MR|Test|E|Lead 49359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049360|149360|989898|1|9999049360|MR|Test|E|Lead 49360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049361|149361|989898|1|9999049361|MR|Test|E|Lead 49361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049362|149362|989898|1|9999049362|MR|Test|E|Lead 49362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049363|149363|989898|1|9999049363|MR|Test|E|Lead 49363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049364|149364|989898|1|9999049364|MR|Test|E|Lead 49364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049365|149365|989898|1|9999049365|MR|Test|E|Lead 49365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049366|149366|989898|1|9999049366|MR|Test|E|Lead 49366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049367|149367|989898|1|9999049367|MR|Test|E|Lead 49367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049368|149368|989898|1|9999049368|MR|Test|E|Lead 49368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049369|149369|989898|1|9999049369|MR|Test|E|Lead 49369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049370|149370|989898|1|9999049370|MR|Test|E|Lead 49370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049371|149371|989898|1|9999049371|MR|Test|E|Lead 49371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049372|149372|989898|1|9999049372|MR|Test|E|Lead 49372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049373|149373|989898|1|9999049373|MR|Test|E|Lead 49373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049374|149374|989898|1|9999049374|MR|Test|E|Lead 49374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049375|149375|989898|1|9999049375|MR|Test|E|Lead 49375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049376|149376|989898|1|9999049376|MR|Test|E|Lead 49376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049377|149377|989898|1|9999049377|MR|Test|E|Lead 49377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049378|149378|989898|1|9999049378|MR|Test|E|Lead 49378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049379|149379|989898|1|9999049379|MR|Test|E|Lead 49379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049380|149380|989898|1|9999049380|MR|Test|E|Lead 49380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049381|149381|989898|1|9999049381|MR|Test|E|Lead 49381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049382|149382|989898|1|9999049382|MR|Test|E|Lead 49382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049383|149383|989898|1|9999049383|MR|Test|E|Lead 49383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049384|149384|989898|1|9999049384|MR|Test|E|Lead 49384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049385|149385|989898|1|9999049385|MR|Test|E|Lead 49385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049386|149386|989898|1|9999049386|MR|Test|E|Lead 49386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049387|149387|989898|1|9999049387|MR|Test|E|Lead 49387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049388|149388|989898|1|9999049388|MR|Test|E|Lead 49388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049389|149389|989898|1|9999049389|MR|Test|E|Lead 49389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049390|149390|989898|1|9999049390|MR|Test|E|Lead 49390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049391|149391|989898|1|9999049391|MR|Test|E|Lead 49391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049392|149392|989898|1|9999049392|MR|Test|E|Lead 49392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049393|149393|989898|1|9999049393|MR|Test|E|Lead 49393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049394|149394|989898|1|9999049394|MR|Test|E|Lead 49394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049395|149395|989898|1|9999049395|MR|Test|E|Lead 49395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049396|149396|989898|1|9999049396|MR|Test|E|Lead 49396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049397|149397|989898|1|9999049397|MR|Test|E|Lead 49397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049398|149398|989898|1|9999049398|MR|Test|E|Lead 49398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049399|149399|989898|1|9999049399|MR|Test|E|Lead 49399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049400|149400|989898|1|9999049400|MR|Test|E|Lead 49400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049401|149401|989898|1|9999049401|MR|Test|E|Lead 49401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049402|149402|989898|1|9999049402|MR|Test|E|Lead 49402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049403|149403|989898|1|9999049403|MR|Test|E|Lead 49403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049404|149404|989898|1|9999049404|MR|Test|E|Lead 49404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049405|149405|989898|1|9999049405|MR|Test|E|Lead 49405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049406|149406|989898|1|9999049406|MR|Test|E|Lead 49406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049407|149407|989898|1|9999049407|MR|Test|E|Lead 49407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049408|149408|989898|1|9999049408|MR|Test|E|Lead 49408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049409|149409|989898|1|9999049409|MR|Test|E|Lead 49409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049410|149410|989898|1|9999049410|MR|Test|E|Lead 49410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049411|149411|989898|1|9999049411|MR|Test|E|Lead 49411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049412|149412|989898|1|9999049412|MR|Test|E|Lead 49412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049413|149413|989898|1|9999049413|MR|Test|E|Lead 49413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049414|149414|989898|1|9999049414|MR|Test|E|Lead 49414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049415|149415|989898|1|9999049415|MR|Test|E|Lead 49415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049416|149416|989898|1|9999049416|MR|Test|E|Lead 49416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049417|149417|989898|1|9999049417|MR|Test|E|Lead 49417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049418|149418|989898|1|9999049418|MR|Test|E|Lead 49418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049419|149419|989898|1|9999049419|MR|Test|E|Lead 49419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049420|149420|989898|1|9999049420|MR|Test|E|Lead 49420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049421|149421|989898|1|9999049421|MR|Test|E|Lead 49421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049422|149422|989898|1|9999049422|MR|Test|E|Lead 49422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049423|149423|989898|1|9999049423|MR|Test|E|Lead 49423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049424|149424|989898|1|9999049424|MR|Test|E|Lead 49424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049425|149425|989898|1|9999049425|MR|Test|E|Lead 49425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049426|149426|989898|1|9999049426|MR|Test|E|Lead 49426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049427|149427|989898|1|9999049427|MR|Test|E|Lead 49427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049428|149428|989898|1|9999049428|MR|Test|E|Lead 49428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049429|149429|989898|1|9999049429|MR|Test|E|Lead 49429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049430|149430|989898|1|9999049430|MR|Test|E|Lead 49430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049431|149431|989898|1|9999049431|MR|Test|E|Lead 49431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049432|149432|989898|1|9999049432|MR|Test|E|Lead 49432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049433|149433|989898|1|9999049433|MR|Test|E|Lead 49433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049434|149434|989898|1|9999049434|MR|Test|E|Lead 49434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049435|149435|989898|1|9999049435|MR|Test|E|Lead 49435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049436|149436|989898|1|9999049436|MR|Test|E|Lead 49436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049437|149437|989898|1|9999049437|MR|Test|E|Lead 49437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049438|149438|989898|1|9999049438|MR|Test|E|Lead 49438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049439|149439|989898|1|9999049439|MR|Test|E|Lead 49439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049440|149440|989898|1|9999049440|MR|Test|E|Lead 49440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049441|149441|989898|1|9999049441|MR|Test|E|Lead 49441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049442|149442|989898|1|9999049442|MR|Test|E|Lead 49442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049443|149443|989898|1|9999049443|MR|Test|E|Lead 49443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049444|149444|989898|1|9999049444|MR|Test|E|Lead 49444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049445|149445|989898|1|9999049445|MR|Test|E|Lead 49445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049446|149446|989898|1|9999049446|MR|Test|E|Lead 49446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049447|149447|989898|1|9999049447|MR|Test|E|Lead 49447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049448|149448|989898|1|9999049448|MR|Test|E|Lead 49448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049449|149449|989898|1|9999049449|MR|Test|E|Lead 49449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049450|149450|989898|1|9999049450|MR|Test|E|Lead 49450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049451|149451|989898|1|9999049451|MR|Test|E|Lead 49451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049452|149452|989898|1|9999049452|MR|Test|E|Lead 49452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049453|149453|989898|1|9999049453|MR|Test|E|Lead 49453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049454|149454|989898|1|9999049454|MR|Test|E|Lead 49454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049455|149455|989898|1|9999049455|MR|Test|E|Lead 49455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049456|149456|989898|1|9999049456|MR|Test|E|Lead 49456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049457|149457|989898|1|9999049457|MR|Test|E|Lead 49457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049458|149458|989898|1|9999049458|MR|Test|E|Lead 49458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049459|149459|989898|1|9999049459|MR|Test|E|Lead 49459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049460|149460|989898|1|9999049460|MR|Test|E|Lead 49460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049461|149461|989898|1|9999049461|MR|Test|E|Lead 49461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049462|149462|989898|1|9999049462|MR|Test|E|Lead 49462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049463|149463|989898|1|9999049463|MR|Test|E|Lead 49463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049464|149464|989898|1|9999049464|MR|Test|E|Lead 49464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049465|149465|989898|1|9999049465|MR|Test|E|Lead 49465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049466|149466|989898|1|9999049466|MR|Test|E|Lead 49466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049467|149467|989898|1|9999049467|MR|Test|E|Lead 49467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049468|149468|989898|1|9999049468|MR|Test|E|Lead 49468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049469|149469|989898|1|9999049469|MR|Test|E|Lead 49469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049470|149470|989898|1|9999049470|MR|Test|E|Lead 49470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049471|149471|989898|1|9999049471|MR|Test|E|Lead 49471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049472|149472|989898|1|9999049472|MR|Test|E|Lead 49472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049473|149473|989898|1|9999049473|MR|Test|E|Lead 49473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049474|149474|989898|1|9999049474|MR|Test|E|Lead 49474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049475|149475|989898|1|9999049475|MR|Test|E|Lead 49475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049476|149476|989898|1|9999049476|MR|Test|E|Lead 49476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049477|149477|989898|1|9999049477|MR|Test|E|Lead 49477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049478|149478|989898|1|9999049478|MR|Test|E|Lead 49478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049479|149479|989898|1|9999049479|MR|Test|E|Lead 49479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049480|149480|989898|1|9999049480|MR|Test|E|Lead 49480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049481|149481|989898|1|9999049481|MR|Test|E|Lead 49481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049482|149482|989898|1|9999049482|MR|Test|E|Lead 49482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049483|149483|989898|1|9999049483|MR|Test|E|Lead 49483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049484|149484|989898|1|9999049484|MR|Test|E|Lead 49484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049485|149485|989898|1|9999049485|MR|Test|E|Lead 49485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049486|149486|989898|1|9999049486|MR|Test|E|Lead 49486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049487|149487|989898|1|9999049487|MR|Test|E|Lead 49487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049488|149488|989898|1|9999049488|MR|Test|E|Lead 49488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049489|149489|989898|1|9999049489|MR|Test|E|Lead 49489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049490|149490|989898|1|9999049490|MR|Test|E|Lead 49490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049491|149491|989898|1|9999049491|MR|Test|E|Lead 49491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049492|149492|989898|1|9999049492|MR|Test|E|Lead 49492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049493|149493|989898|1|9999049493|MR|Test|E|Lead 49493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049494|149494|989898|1|9999049494|MR|Test|E|Lead 49494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049495|149495|989898|1|9999049495|MR|Test|E|Lead 49495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049496|149496|989898|1|9999049496|MR|Test|E|Lead 49496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049497|149497|989898|1|9999049497|MR|Test|E|Lead 49497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049498|149498|989898|1|9999049498|MR|Test|E|Lead 49498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049499|149499|989898|1|9999049499|MR|Test|E|Lead 49499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049500|149500|989898|1|9999049500|MR|Test|E|Lead 49500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049501|149501|989898|1|9999049501|MR|Test|E|Lead 49501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049502|149502|989898|1|9999049502|MR|Test|E|Lead 49502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049503|149503|989898|1|9999049503|MR|Test|E|Lead 49503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049504|149504|989898|1|9999049504|MR|Test|E|Lead 49504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049505|149505|989898|1|9999049505|MR|Test|E|Lead 49505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049506|149506|989898|1|9999049506|MR|Test|E|Lead 49506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049507|149507|989898|1|9999049507|MR|Test|E|Lead 49507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049508|149508|989898|1|9999049508|MR|Test|E|Lead 49508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049509|149509|989898|1|9999049509|MR|Test|E|Lead 49509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049510|149510|989898|1|9999049510|MR|Test|E|Lead 49510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049511|149511|989898|1|9999049511|MR|Test|E|Lead 49511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049512|149512|989898|1|9999049512|MR|Test|E|Lead 49512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049513|149513|989898|1|9999049513|MR|Test|E|Lead 49513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049514|149514|989898|1|9999049514|MR|Test|E|Lead 49514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049515|149515|989898|1|9999049515|MR|Test|E|Lead 49515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049516|149516|989898|1|9999049516|MR|Test|E|Lead 49516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049517|149517|989898|1|9999049517|MR|Test|E|Lead 49517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049518|149518|989898|1|9999049518|MR|Test|E|Lead 49518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049519|149519|989898|1|9999049519|MR|Test|E|Lead 49519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049520|149520|989898|1|9999049520|MR|Test|E|Lead 49520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049521|149521|989898|1|9999049521|MR|Test|E|Lead 49521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049522|149522|989898|1|9999049522|MR|Test|E|Lead 49522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049523|149523|989898|1|9999049523|MR|Test|E|Lead 49523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049524|149524|989898|1|9999049524|MR|Test|E|Lead 49524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049525|149525|989898|1|9999049525|MR|Test|E|Lead 49525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049526|149526|989898|1|9999049526|MR|Test|E|Lead 49526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049527|149527|989898|1|9999049527|MR|Test|E|Lead 49527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049528|149528|989898|1|9999049528|MR|Test|E|Lead 49528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049529|149529|989898|1|9999049529|MR|Test|E|Lead 49529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049530|149530|989898|1|9999049530|MR|Test|E|Lead 49530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049531|149531|989898|1|9999049531|MR|Test|E|Lead 49531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049532|149532|989898|1|9999049532|MR|Test|E|Lead 49532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049533|149533|989898|1|9999049533|MR|Test|E|Lead 49533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049534|149534|989898|1|9999049534|MR|Test|E|Lead 49534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049535|149535|989898|1|9999049535|MR|Test|E|Lead 49535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049536|149536|989898|1|9999049536|MR|Test|E|Lead 49536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049537|149537|989898|1|9999049537|MR|Test|E|Lead 49537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049538|149538|989898|1|9999049538|MR|Test|E|Lead 49538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049539|149539|989898|1|9999049539|MR|Test|E|Lead 49539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049540|149540|989898|1|9999049540|MR|Test|E|Lead 49540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049541|149541|989898|1|9999049541|MR|Test|E|Lead 49541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049542|149542|989898|1|9999049542|MR|Test|E|Lead 49542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049543|149543|989898|1|9999049543|MR|Test|E|Lead 49543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049544|149544|989898|1|9999049544|MR|Test|E|Lead 49544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049545|149545|989898|1|9999049545|MR|Test|E|Lead 49545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049546|149546|989898|1|9999049546|MR|Test|E|Lead 49546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049547|149547|989898|1|9999049547|MR|Test|E|Lead 49547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049548|149548|989898|1|9999049548|MR|Test|E|Lead 49548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049549|149549|989898|1|9999049549|MR|Test|E|Lead 49549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049550|149550|989898|1|9999049550|MR|Test|E|Lead 49550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049551|149551|989898|1|9999049551|MR|Test|E|Lead 49551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049552|149552|989898|1|9999049552|MR|Test|E|Lead 49552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049553|149553|989898|1|9999049553|MR|Test|E|Lead 49553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049554|149554|989898|1|9999049554|MR|Test|E|Lead 49554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049555|149555|989898|1|9999049555|MR|Test|E|Lead 49555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049556|149556|989898|1|9999049556|MR|Test|E|Lead 49556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049557|149557|989898|1|9999049557|MR|Test|E|Lead 49557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049558|149558|989898|1|9999049558|MR|Test|E|Lead 49558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049559|149559|989898|1|9999049559|MR|Test|E|Lead 49559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049560|149560|989898|1|9999049560|MR|Test|E|Lead 49560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049561|149561|989898|1|9999049561|MR|Test|E|Lead 49561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049562|149562|989898|1|9999049562|MR|Test|E|Lead 49562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049563|149563|989898|1|9999049563|MR|Test|E|Lead 49563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049564|149564|989898|1|9999049564|MR|Test|E|Lead 49564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049565|149565|989898|1|9999049565|MR|Test|E|Lead 49565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049566|149566|989898|1|9999049566|MR|Test|E|Lead 49566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049567|149567|989898|1|9999049567|MR|Test|E|Lead 49567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049568|149568|989898|1|9999049568|MR|Test|E|Lead 49568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049569|149569|989898|1|9999049569|MR|Test|E|Lead 49569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049570|149570|989898|1|9999049570|MR|Test|E|Lead 49570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049571|149571|989898|1|9999049571|MR|Test|E|Lead 49571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049572|149572|989898|1|9999049572|MR|Test|E|Lead 49572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049573|149573|989898|1|9999049573|MR|Test|E|Lead 49573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049574|149574|989898|1|9999049574|MR|Test|E|Lead 49574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049575|149575|989898|1|9999049575|MR|Test|E|Lead 49575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049576|149576|989898|1|9999049576|MR|Test|E|Lead 49576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049577|149577|989898|1|9999049577|MR|Test|E|Lead 49577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049578|149578|989898|1|9999049578|MR|Test|E|Lead 49578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049579|149579|989898|1|9999049579|MR|Test|E|Lead 49579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049580|149580|989898|1|9999049580|MR|Test|E|Lead 49580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049581|149581|989898|1|9999049581|MR|Test|E|Lead 49581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049582|149582|989898|1|9999049582|MR|Test|E|Lead 49582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049583|149583|989898|1|9999049583|MR|Test|E|Lead 49583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049584|149584|989898|1|9999049584|MR|Test|E|Lead 49584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049585|149585|989898|1|9999049585|MR|Test|E|Lead 49585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049586|149586|989898|1|9999049586|MR|Test|E|Lead 49586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049587|149587|989898|1|9999049587|MR|Test|E|Lead 49587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049588|149588|989898|1|9999049588|MR|Test|E|Lead 49588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049589|149589|989898|1|9999049589|MR|Test|E|Lead 49589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049590|149590|989898|1|9999049590|MR|Test|E|Lead 49590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049591|149591|989898|1|9999049591|MR|Test|E|Lead 49591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049592|149592|989898|1|9999049592|MR|Test|E|Lead 49592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049593|149593|989898|1|9999049593|MR|Test|E|Lead 49593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049594|149594|989898|1|9999049594|MR|Test|E|Lead 49594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049595|149595|989898|1|9999049595|MR|Test|E|Lead 49595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049596|149596|989898|1|9999049596|MR|Test|E|Lead 49596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049597|149597|989898|1|9999049597|MR|Test|E|Lead 49597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049598|149598|989898|1|9999049598|MR|Test|E|Lead 49598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049599|149599|989898|1|9999049599|MR|Test|E|Lead 49599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049600|149600|989898|1|9999049600|MR|Test|E|Lead 49600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049601|149601|989898|1|9999049601|MR|Test|E|Lead 49601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049602|149602|989898|1|9999049602|MR|Test|E|Lead 49602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049603|149603|989898|1|9999049603|MR|Test|E|Lead 49603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049604|149604|989898|1|9999049604|MR|Test|E|Lead 49604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049605|149605|989898|1|9999049605|MR|Test|E|Lead 49605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049606|149606|989898|1|9999049606|MR|Test|E|Lead 49606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049607|149607|989898|1|9999049607|MR|Test|E|Lead 49607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049608|149608|989898|1|9999049608|MR|Test|E|Lead 49608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049609|149609|989898|1|9999049609|MR|Test|E|Lead 49609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049610|149610|989898|1|9999049610|MR|Test|E|Lead 49610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049611|149611|989898|1|9999049611|MR|Test|E|Lead 49611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049612|149612|989898|1|9999049612|MR|Test|E|Lead 49612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049613|149613|989898|1|9999049613|MR|Test|E|Lead 49613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049614|149614|989898|1|9999049614|MR|Test|E|Lead 49614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049615|149615|989898|1|9999049615|MR|Test|E|Lead 49615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049616|149616|989898|1|9999049616|MR|Test|E|Lead 49616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049617|149617|989898|1|9999049617|MR|Test|E|Lead 49617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049618|149618|989898|1|9999049618|MR|Test|E|Lead 49618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049619|149619|989898|1|9999049619|MR|Test|E|Lead 49619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049620|149620|989898|1|9999049620|MR|Test|E|Lead 49620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049621|149621|989898|1|9999049621|MR|Test|E|Lead 49621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049622|149622|989898|1|9999049622|MR|Test|E|Lead 49622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049623|149623|989898|1|9999049623|MR|Test|E|Lead 49623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049624|149624|989898|1|9999049624|MR|Test|E|Lead 49624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049625|149625|989898|1|9999049625|MR|Test|E|Lead 49625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049626|149626|989898|1|9999049626|MR|Test|E|Lead 49626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049627|149627|989898|1|9999049627|MR|Test|E|Lead 49627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049628|149628|989898|1|9999049628|MR|Test|E|Lead 49628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049629|149629|989898|1|9999049629|MR|Test|E|Lead 49629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049630|149630|989898|1|9999049630|MR|Test|E|Lead 49630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049631|149631|989898|1|9999049631|MR|Test|E|Lead 49631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049632|149632|989898|1|9999049632|MR|Test|E|Lead 49632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049633|149633|989898|1|9999049633|MR|Test|E|Lead 49633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049634|149634|989898|1|9999049634|MR|Test|E|Lead 49634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049635|149635|989898|1|9999049635|MR|Test|E|Lead 49635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049636|149636|989898|1|9999049636|MR|Test|E|Lead 49636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049637|149637|989898|1|9999049637|MR|Test|E|Lead 49637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049638|149638|989898|1|9999049638|MR|Test|E|Lead 49638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049639|149639|989898|1|9999049639|MR|Test|E|Lead 49639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049640|149640|989898|1|9999049640|MR|Test|E|Lead 49640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049641|149641|989898|1|9999049641|MR|Test|E|Lead 49641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049642|149642|989898|1|9999049642|MR|Test|E|Lead 49642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049643|149643|989898|1|9999049643|MR|Test|E|Lead 49643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049644|149644|989898|1|9999049644|MR|Test|E|Lead 49644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049645|149645|989898|1|9999049645|MR|Test|E|Lead 49645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049646|149646|989898|1|9999049646|MR|Test|E|Lead 49646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049647|149647|989898|1|9999049647|MR|Test|E|Lead 49647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049648|149648|989898|1|9999049648|MR|Test|E|Lead 49648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049649|149649|989898|1|9999049649|MR|Test|E|Lead 49649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049650|149650|989898|1|9999049650|MR|Test|E|Lead 49650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049651|149651|989898|1|9999049651|MR|Test|E|Lead 49651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049652|149652|989898|1|9999049652|MR|Test|E|Lead 49652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049653|149653|989898|1|9999049653|MR|Test|E|Lead 49653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049654|149654|989898|1|9999049654|MR|Test|E|Lead 49654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049655|149655|989898|1|9999049655|MR|Test|E|Lead 49655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049656|149656|989898|1|9999049656|MR|Test|E|Lead 49656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049657|149657|989898|1|9999049657|MR|Test|E|Lead 49657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049658|149658|989898|1|9999049658|MR|Test|E|Lead 49658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049659|149659|989898|1|9999049659|MR|Test|E|Lead 49659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049660|149660|989898|1|9999049660|MR|Test|E|Lead 49660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049661|149661|989898|1|9999049661|MR|Test|E|Lead 49661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049662|149662|989898|1|9999049662|MR|Test|E|Lead 49662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049663|149663|989898|1|9999049663|MR|Test|E|Lead 49663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049664|149664|989898|1|9999049664|MR|Test|E|Lead 49664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049665|149665|989898|1|9999049665|MR|Test|E|Lead 49665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049666|149666|989898|1|9999049666|MR|Test|E|Lead 49666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049667|149667|989898|1|9999049667|MR|Test|E|Lead 49667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049668|149668|989898|1|9999049668|MR|Test|E|Lead 49668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049669|149669|989898|1|9999049669|MR|Test|E|Lead 49669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049670|149670|989898|1|9999049670|MR|Test|E|Lead 49670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049671|149671|989898|1|9999049671|MR|Test|E|Lead 49671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049672|149672|989898|1|9999049672|MR|Test|E|Lead 49672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049673|149673|989898|1|9999049673|MR|Test|E|Lead 49673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049674|149674|989898|1|9999049674|MR|Test|E|Lead 49674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049675|149675|989898|1|9999049675|MR|Test|E|Lead 49675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049676|149676|989898|1|9999049676|MR|Test|E|Lead 49676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049677|149677|989898|1|9999049677|MR|Test|E|Lead 49677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049678|149678|989898|1|9999049678|MR|Test|E|Lead 49678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049679|149679|989898|1|9999049679|MR|Test|E|Lead 49679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049680|149680|989898|1|9999049680|MR|Test|E|Lead 49680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049681|149681|989898|1|9999049681|MR|Test|E|Lead 49681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049682|149682|989898|1|9999049682|MR|Test|E|Lead 49682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049683|149683|989898|1|9999049683|MR|Test|E|Lead 49683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049684|149684|989898|1|9999049684|MR|Test|E|Lead 49684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049685|149685|989898|1|9999049685|MR|Test|E|Lead 49685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049686|149686|989898|1|9999049686|MR|Test|E|Lead 49686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049687|149687|989898|1|9999049687|MR|Test|E|Lead 49687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049688|149688|989898|1|9999049688|MR|Test|E|Lead 49688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049689|149689|989898|1|9999049689|MR|Test|E|Lead 49689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049690|149690|989898|1|9999049690|MR|Test|E|Lead 49690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049691|149691|989898|1|9999049691|MR|Test|E|Lead 49691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049692|149692|989898|1|9999049692|MR|Test|E|Lead 49692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049693|149693|989898|1|9999049693|MR|Test|E|Lead 49693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049694|149694|989898|1|9999049694|MR|Test|E|Lead 49694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049695|149695|989898|1|9999049695|MR|Test|E|Lead 49695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049696|149696|989898|1|9999049696|MR|Test|E|Lead 49696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049697|149697|989898|1|9999049697|MR|Test|E|Lead 49697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049698|149698|989898|1|9999049698|MR|Test|E|Lead 49698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049699|149699|989898|1|9999049699|MR|Test|E|Lead 49699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049700|149700|989898|1|9999049700|MR|Test|E|Lead 49700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049701|149701|989898|1|9999049701|MR|Test|E|Lead 49701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049702|149702|989898|1|9999049702|MR|Test|E|Lead 49702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049703|149703|989898|1|9999049703|MR|Test|E|Lead 49703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049704|149704|989898|1|9999049704|MR|Test|E|Lead 49704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049705|149705|989898|1|9999049705|MR|Test|E|Lead 49705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049706|149706|989898|1|9999049706|MR|Test|E|Lead 49706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049707|149707|989898|1|9999049707|MR|Test|E|Lead 49707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049708|149708|989898|1|9999049708|MR|Test|E|Lead 49708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049709|149709|989898|1|9999049709|MR|Test|E|Lead 49709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049710|149710|989898|1|9999049710|MR|Test|E|Lead 49710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049711|149711|989898|1|9999049711|MR|Test|E|Lead 49711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049712|149712|989898|1|9999049712|MR|Test|E|Lead 49712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049713|149713|989898|1|9999049713|MR|Test|E|Lead 49713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049714|149714|989898|1|9999049714|MR|Test|E|Lead 49714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049715|149715|989898|1|9999049715|MR|Test|E|Lead 49715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049716|149716|989898|1|9999049716|MR|Test|E|Lead 49716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049717|149717|989898|1|9999049717|MR|Test|E|Lead 49717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049718|149718|989898|1|9999049718|MR|Test|E|Lead 49718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049719|149719|989898|1|9999049719|MR|Test|E|Lead 49719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049720|149720|989898|1|9999049720|MR|Test|E|Lead 49720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049721|149721|989898|1|9999049721|MR|Test|E|Lead 49721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049722|149722|989898|1|9999049722|MR|Test|E|Lead 49722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049723|149723|989898|1|9999049723|MR|Test|E|Lead 49723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049724|149724|989898|1|9999049724|MR|Test|E|Lead 49724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049725|149725|989898|1|9999049725|MR|Test|E|Lead 49725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049726|149726|989898|1|9999049726|MR|Test|E|Lead 49726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049727|149727|989898|1|9999049727|MR|Test|E|Lead 49727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049728|149728|989898|1|9999049728|MR|Test|E|Lead 49728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049729|149729|989898|1|9999049729|MR|Test|E|Lead 49729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049730|149730|989898|1|9999049730|MR|Test|E|Lead 49730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049731|149731|989898|1|9999049731|MR|Test|E|Lead 49731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049732|149732|989898|1|9999049732|MR|Test|E|Lead 49732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049733|149733|989898|1|9999049733|MR|Test|E|Lead 49733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049734|149734|989898|1|9999049734|MR|Test|E|Lead 49734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049735|149735|989898|1|9999049735|MR|Test|E|Lead 49735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049736|149736|989898|1|9999049736|MR|Test|E|Lead 49736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049737|149737|989898|1|9999049737|MR|Test|E|Lead 49737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049738|149738|989898|1|9999049738|MR|Test|E|Lead 49738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049739|149739|989898|1|9999049739|MR|Test|E|Lead 49739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049740|149740|989898|1|9999049740|MR|Test|E|Lead 49740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049741|149741|989898|1|9999049741|MR|Test|E|Lead 49741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049742|149742|989898|1|9999049742|MR|Test|E|Lead 49742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049743|149743|989898|1|9999049743|MR|Test|E|Lead 49743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049744|149744|989898|1|9999049744|MR|Test|E|Lead 49744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049745|149745|989898|1|9999049745|MR|Test|E|Lead 49745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049746|149746|989898|1|9999049746|MR|Test|E|Lead 49746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049747|149747|989898|1|9999049747|MR|Test|E|Lead 49747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049748|149748|989898|1|9999049748|MR|Test|E|Lead 49748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049749|149749|989898|1|9999049749|MR|Test|E|Lead 49749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049750|149750|989898|1|9999049750|MR|Test|E|Lead 49750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049751|149751|989898|1|9999049751|MR|Test|E|Lead 49751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049752|149752|989898|1|9999049752|MR|Test|E|Lead 49752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049753|149753|989898|1|9999049753|MR|Test|E|Lead 49753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049754|149754|989898|1|9999049754|MR|Test|E|Lead 49754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049755|149755|989898|1|9999049755|MR|Test|E|Lead 49755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049756|149756|989898|1|9999049756|MR|Test|E|Lead 49756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049757|149757|989898|1|9999049757|MR|Test|E|Lead 49757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049758|149758|989898|1|9999049758|MR|Test|E|Lead 49758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049759|149759|989898|1|9999049759|MR|Test|E|Lead 49759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049760|149760|989898|1|9999049760|MR|Test|E|Lead 49760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049761|149761|989898|1|9999049761|MR|Test|E|Lead 49761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049762|149762|989898|1|9999049762|MR|Test|E|Lead 49762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049763|149763|989898|1|9999049763|MR|Test|E|Lead 49763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049764|149764|989898|1|9999049764|MR|Test|E|Lead 49764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049765|149765|989898|1|9999049765|MR|Test|E|Lead 49765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049766|149766|989898|1|9999049766|MR|Test|E|Lead 49766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049767|149767|989898|1|9999049767|MR|Test|E|Lead 49767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049768|149768|989898|1|9999049768|MR|Test|E|Lead 49768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049769|149769|989898|1|9999049769|MR|Test|E|Lead 49769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049770|149770|989898|1|9999049770|MR|Test|E|Lead 49770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049771|149771|989898|1|9999049771|MR|Test|E|Lead 49771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049772|149772|989898|1|9999049772|MR|Test|E|Lead 49772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049773|149773|989898|1|9999049773|MR|Test|E|Lead 49773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049774|149774|989898|1|9999049774|MR|Test|E|Lead 49774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049775|149775|989898|1|9999049775|MR|Test|E|Lead 49775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049776|149776|989898|1|9999049776|MR|Test|E|Lead 49776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049777|149777|989898|1|9999049777|MR|Test|E|Lead 49777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049778|149778|989898|1|9999049778|MR|Test|E|Lead 49778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049779|149779|989898|1|9999049779|MR|Test|E|Lead 49779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049780|149780|989898|1|9999049780|MR|Test|E|Lead 49780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049781|149781|989898|1|9999049781|MR|Test|E|Lead 49781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049782|149782|989898|1|9999049782|MR|Test|E|Lead 49782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049783|149783|989898|1|9999049783|MR|Test|E|Lead 49783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049784|149784|989898|1|9999049784|MR|Test|E|Lead 49784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049785|149785|989898|1|9999049785|MR|Test|E|Lead 49785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049786|149786|989898|1|9999049786|MR|Test|E|Lead 49786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049787|149787|989898|1|9999049787|MR|Test|E|Lead 49787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049788|149788|989898|1|9999049788|MR|Test|E|Lead 49788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049789|149789|989898|1|9999049789|MR|Test|E|Lead 49789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049790|149790|989898|1|9999049790|MR|Test|E|Lead 49790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049791|149791|989898|1|9999049791|MR|Test|E|Lead 49791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049792|149792|989898|1|9999049792|MR|Test|E|Lead 49792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049793|149793|989898|1|9999049793|MR|Test|E|Lead 49793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049794|149794|989898|1|9999049794|MR|Test|E|Lead 49794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049795|149795|989898|1|9999049795|MR|Test|E|Lead 49795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049796|149796|989898|1|9999049796|MR|Test|E|Lead 49796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049797|149797|989898|1|9999049797|MR|Test|E|Lead 49797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049798|149798|989898|1|9999049798|MR|Test|E|Lead 49798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049799|149799|989898|1|9999049799|MR|Test|E|Lead 49799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049800|149800|989898|1|9999049800|MR|Test|E|Lead 49800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049801|149801|989898|1|9999049801|MR|Test|E|Lead 49801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049802|149802|989898|1|9999049802|MR|Test|E|Lead 49802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049803|149803|989898|1|9999049803|MR|Test|E|Lead 49803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049804|149804|989898|1|9999049804|MR|Test|E|Lead 49804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049805|149805|989898|1|9999049805|MR|Test|E|Lead 49805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049806|149806|989898|1|9999049806|MR|Test|E|Lead 49806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049807|149807|989898|1|9999049807|MR|Test|E|Lead 49807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049808|149808|989898|1|9999049808|MR|Test|E|Lead 49808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049809|149809|989898|1|9999049809|MR|Test|E|Lead 49809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049810|149810|989898|1|9999049810|MR|Test|E|Lead 49810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049811|149811|989898|1|9999049811|MR|Test|E|Lead 49811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049812|149812|989898|1|9999049812|MR|Test|E|Lead 49812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049813|149813|989898|1|9999049813|MR|Test|E|Lead 49813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049814|149814|989898|1|9999049814|MR|Test|E|Lead 49814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049815|149815|989898|1|9999049815|MR|Test|E|Lead 49815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049816|149816|989898|1|9999049816|MR|Test|E|Lead 49816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049817|149817|989898|1|9999049817|MR|Test|E|Lead 49817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049818|149818|989898|1|9999049818|MR|Test|E|Lead 49818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049819|149819|989898|1|9999049819|MR|Test|E|Lead 49819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049820|149820|989898|1|9999049820|MR|Test|E|Lead 49820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049821|149821|989898|1|9999049821|MR|Test|E|Lead 49821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049822|149822|989898|1|9999049822|MR|Test|E|Lead 49822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049823|149823|989898|1|9999049823|MR|Test|E|Lead 49823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049824|149824|989898|1|9999049824|MR|Test|E|Lead 49824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049825|149825|989898|1|9999049825|MR|Test|E|Lead 49825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049826|149826|989898|1|9999049826|MR|Test|E|Lead 49826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049827|149827|989898|1|9999049827|MR|Test|E|Lead 49827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049828|149828|989898|1|9999049828|MR|Test|E|Lead 49828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049829|149829|989898|1|9999049829|MR|Test|E|Lead 49829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049830|149830|989898|1|9999049830|MR|Test|E|Lead 49830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049831|149831|989898|1|9999049831|MR|Test|E|Lead 49831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049832|149832|989898|1|9999049832|MR|Test|E|Lead 49832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049833|149833|989898|1|9999049833|MR|Test|E|Lead 49833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049834|149834|989898|1|9999049834|MR|Test|E|Lead 49834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049835|149835|989898|1|9999049835|MR|Test|E|Lead 49835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049836|149836|989898|1|9999049836|MR|Test|E|Lead 49836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049837|149837|989898|1|9999049837|MR|Test|E|Lead 49837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049838|149838|989898|1|9999049838|MR|Test|E|Lead 49838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049839|149839|989898|1|9999049839|MR|Test|E|Lead 49839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049840|149840|989898|1|9999049840|MR|Test|E|Lead 49840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049841|149841|989898|1|9999049841|MR|Test|E|Lead 49841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049842|149842|989898|1|9999049842|MR|Test|E|Lead 49842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049843|149843|989898|1|9999049843|MR|Test|E|Lead 49843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049844|149844|989898|1|9999049844|MR|Test|E|Lead 49844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049845|149845|989898|1|9999049845|MR|Test|E|Lead 49845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049846|149846|989898|1|9999049846|MR|Test|E|Lead 49846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049847|149847|989898|1|9999049847|MR|Test|E|Lead 49847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049848|149848|989898|1|9999049848|MR|Test|E|Lead 49848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049849|149849|989898|1|9999049849|MR|Test|E|Lead 49849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049850|149850|989898|1|9999049850|MR|Test|E|Lead 49850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049851|149851|989898|1|9999049851|MR|Test|E|Lead 49851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049852|149852|989898|1|9999049852|MR|Test|E|Lead 49852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049853|149853|989898|1|9999049853|MR|Test|E|Lead 49853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049854|149854|989898|1|9999049854|MR|Test|E|Lead 49854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049855|149855|989898|1|9999049855|MR|Test|E|Lead 49855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049856|149856|989898|1|9999049856|MR|Test|E|Lead 49856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049857|149857|989898|1|9999049857|MR|Test|E|Lead 49857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049858|149858|989898|1|9999049858|MR|Test|E|Lead 49858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049859|149859|989898|1|9999049859|MR|Test|E|Lead 49859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049860|149860|989898|1|9999049860|MR|Test|E|Lead 49860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049861|149861|989898|1|9999049861|MR|Test|E|Lead 49861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049862|149862|989898|1|9999049862|MR|Test|E|Lead 49862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049863|149863|989898|1|9999049863|MR|Test|E|Lead 49863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049864|149864|989898|1|9999049864|MR|Test|E|Lead 49864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049865|149865|989898|1|9999049865|MR|Test|E|Lead 49865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049866|149866|989898|1|9999049866|MR|Test|E|Lead 49866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049867|149867|989898|1|9999049867|MR|Test|E|Lead 49867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049868|149868|989898|1|9999049868|MR|Test|E|Lead 49868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049869|149869|989898|1|9999049869|MR|Test|E|Lead 49869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049870|149870|989898|1|9999049870|MR|Test|E|Lead 49870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049871|149871|989898|1|9999049871|MR|Test|E|Lead 49871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049872|149872|989898|1|9999049872|MR|Test|E|Lead 49872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049873|149873|989898|1|9999049873|MR|Test|E|Lead 49873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049874|149874|989898|1|9999049874|MR|Test|E|Lead 49874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049875|149875|989898|1|9999049875|MR|Test|E|Lead 49875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049876|149876|989898|1|9999049876|MR|Test|E|Lead 49876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049877|149877|989898|1|9999049877|MR|Test|E|Lead 49877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049878|149878|989898|1|9999049878|MR|Test|E|Lead 49878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049879|149879|989898|1|9999049879|MR|Test|E|Lead 49879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049880|149880|989898|1|9999049880|MR|Test|E|Lead 49880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049881|149881|989898|1|9999049881|MR|Test|E|Lead 49881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049882|149882|989898|1|9999049882|MR|Test|E|Lead 49882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049883|149883|989898|1|9999049883|MR|Test|E|Lead 49883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049884|149884|989898|1|9999049884|MR|Test|E|Lead 49884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049885|149885|989898|1|9999049885|MR|Test|E|Lead 49885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049886|149886|989898|1|9999049886|MR|Test|E|Lead 49886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049887|149887|989898|1|9999049887|MR|Test|E|Lead 49887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049888|149888|989898|1|9999049888|MR|Test|E|Lead 49888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049889|149889|989898|1|9999049889|MR|Test|E|Lead 49889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049890|149890|989898|1|9999049890|MR|Test|E|Lead 49890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049891|149891|989898|1|9999049891|MR|Test|E|Lead 49891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049892|149892|989898|1|9999049892|MR|Test|E|Lead 49892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049893|149893|989898|1|9999049893|MR|Test|E|Lead 49893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049894|149894|989898|1|9999049894|MR|Test|E|Lead 49894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049895|149895|989898|1|9999049895|MR|Test|E|Lead 49895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049896|149896|989898|1|9999049896|MR|Test|E|Lead 49896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049897|149897|989898|1|9999049897|MR|Test|E|Lead 49897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049898|149898|989898|1|9999049898|MR|Test|E|Lead 49898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049899|149899|989898|1|9999049899|MR|Test|E|Lead 49899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049900|149900|989898|1|9999049900|MR|Test|E|Lead 49900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049901|149901|989898|1|9999049901|MR|Test|E|Lead 49901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049902|149902|989898|1|9999049902|MR|Test|E|Lead 49902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049903|149903|989898|1|9999049903|MR|Test|E|Lead 49903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049904|149904|989898|1|9999049904|MR|Test|E|Lead 49904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049905|149905|989898|1|9999049905|MR|Test|E|Lead 49905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049906|149906|989898|1|9999049906|MR|Test|E|Lead 49906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049907|149907|989898|1|9999049907|MR|Test|E|Lead 49907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049908|149908|989898|1|9999049908|MR|Test|E|Lead 49908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049909|149909|989898|1|9999049909|MR|Test|E|Lead 49909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049910|149910|989898|1|9999049910|MR|Test|E|Lead 49910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049911|149911|989898|1|9999049911|MR|Test|E|Lead 49911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049912|149912|989898|1|9999049912|MR|Test|E|Lead 49912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049913|149913|989898|1|9999049913|MR|Test|E|Lead 49913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049914|149914|989898|1|9999049914|MR|Test|E|Lead 49914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049915|149915|989898|1|9999049915|MR|Test|E|Lead 49915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049916|149916|989898|1|9999049916|MR|Test|E|Lead 49916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049917|149917|989898|1|9999049917|MR|Test|E|Lead 49917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049918|149918|989898|1|9999049918|MR|Test|E|Lead 49918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049919|149919|989898|1|9999049919|MR|Test|E|Lead 49919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049920|149920|989898|1|9999049920|MR|Test|E|Lead 49920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049921|149921|989898|1|9999049921|MR|Test|E|Lead 49921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049922|149922|989898|1|9999049922|MR|Test|E|Lead 49922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049923|149923|989898|1|9999049923|MR|Test|E|Lead 49923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049924|149924|989898|1|9999049924|MR|Test|E|Lead 49924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049925|149925|989898|1|9999049925|MR|Test|E|Lead 49925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049926|149926|989898|1|9999049926|MR|Test|E|Lead 49926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049927|149927|989898|1|9999049927|MR|Test|E|Lead 49927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049928|149928|989898|1|9999049928|MR|Test|E|Lead 49928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049929|149929|989898|1|9999049929|MR|Test|E|Lead 49929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049930|149930|989898|1|9999049930|MR|Test|E|Lead 49930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049931|149931|989898|1|9999049931|MR|Test|E|Lead 49931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049932|149932|989898|1|9999049932|MR|Test|E|Lead 49932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049933|149933|989898|1|9999049933|MR|Test|E|Lead 49933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049934|149934|989898|1|9999049934|MR|Test|E|Lead 49934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049935|149935|989898|1|9999049935|MR|Test|E|Lead 49935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049936|149936|989898|1|9999049936|MR|Test|E|Lead 49936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049937|149937|989898|1|9999049937|MR|Test|E|Lead 49937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049938|149938|989898|1|9999049938|MR|Test|E|Lead 49938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049939|149939|989898|1|9999049939|MR|Test|E|Lead 49939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049940|149940|989898|1|9999049940|MR|Test|E|Lead 49940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049941|149941|989898|1|9999049941|MR|Test|E|Lead 49941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049942|149942|989898|1|9999049942|MR|Test|E|Lead 49942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049943|149943|989898|1|9999049943|MR|Test|E|Lead 49943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049944|149944|989898|1|9999049944|MR|Test|E|Lead 49944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049945|149945|989898|1|9999049945|MR|Test|E|Lead 49945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049946|149946|989898|1|9999049946|MR|Test|E|Lead 49946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049947|149947|989898|1|9999049947|MR|Test|E|Lead 49947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049948|149948|989898|1|9999049948|MR|Test|E|Lead 49948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049949|149949|989898|1|9999049949|MR|Test|E|Lead 49949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049950|149950|989898|1|9999049950|MR|Test|E|Lead 49950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049951|149951|989898|1|9999049951|MR|Test|E|Lead 49951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049952|149952|989898|1|9999049952|MR|Test|E|Lead 49952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049953|149953|989898|1|9999049953|MR|Test|E|Lead 49953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049954|149954|989898|1|9999049954|MR|Test|E|Lead 49954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049955|149955|989898|1|9999049955|MR|Test|E|Lead 49955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049956|149956|989898|1|9999049956|MR|Test|E|Lead 49956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049957|149957|989898|1|9999049957|MR|Test|E|Lead 49957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049958|149958|989898|1|9999049958|MR|Test|E|Lead 49958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049959|149959|989898|1|9999049959|MR|Test|E|Lead 49959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049960|149960|989898|1|9999049960|MR|Test|E|Lead 49960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049961|149961|989898|1|9999049961|MR|Test|E|Lead 49961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049962|149962|989898|1|9999049962|MR|Test|E|Lead 49962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049963|149963|989898|1|9999049963|MR|Test|E|Lead 49963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049964|149964|989898|1|9999049964|MR|Test|E|Lead 49964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049965|149965|989898|1|9999049965|MR|Test|E|Lead 49965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049966|149966|989898|1|9999049966|MR|Test|E|Lead 49966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049967|149967|989898|1|9999049967|MR|Test|E|Lead 49967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049968|149968|989898|1|9999049968|MR|Test|E|Lead 49968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049969|149969|989898|1|9999049969|MR|Test|E|Lead 49969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049970|149970|989898|1|9999049970|MR|Test|E|Lead 49970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049971|149971|989898|1|9999049971|MR|Test|E|Lead 49971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049972|149972|989898|1|9999049972|MR|Test|E|Lead 49972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049973|149973|989898|1|9999049973|MR|Test|E|Lead 49973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049974|149974|989898|1|9999049974|MR|Test|E|Lead 49974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049975|149975|989898|1|9999049975|MR|Test|E|Lead 49975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049976|149976|989898|1|9999049976|MR|Test|E|Lead 49976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049977|149977|989898|1|9999049977|MR|Test|E|Lead 49977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049978|149978|989898|1|9999049978|MR|Test|E|Lead 49978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049979|149979|989898|1|9999049979|MR|Test|E|Lead 49979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049980|149980|989898|1|9999049980|MR|Test|E|Lead 49980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049981|149981|989898|1|9999049981|MR|Test|E|Lead 49981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049982|149982|989898|1|9999049982|MR|Test|E|Lead 49982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049983|149983|989898|1|9999049983|MR|Test|E|Lead 49983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049984|149984|989898|1|9999049984|MR|Test|E|Lead 49984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049985|149985|989898|1|9999049985|MR|Test|E|Lead 49985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049986|149986|989898|1|9999049986|MR|Test|E|Lead 49986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049987|149987|989898|1|9999049987|MR|Test|E|Lead 49987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049988|149988|989898|1|9999049988|MR|Test|E|Lead 49988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049989|149989|989898|1|9999049989|MR|Test|E|Lead 49989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049990|149990|989898|1|9999049990|MR|Test|E|Lead 49990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049991|149991|989898|1|9999049991|MR|Test|E|Lead 49991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049992|149992|989898|1|9999049992|MR|Test|E|Lead 49992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049993|149993|989898|1|9999049993|MR|Test|E|Lead 49993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049994|149994|989898|1|9999049994|MR|Test|E|Lead 49994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049995|149995|989898|1|9999049995|MR|Test|E|Lead 49995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049996|149996|989898|1|9999049996|MR|Test|E|Lead 49996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049997|149997|989898|1|9999049997|MR|Test|E|Lead 49997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049998|149998|989898|1|9999049998|MR|Test|E|Lead 49998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1049999|149999|989898|1|9999049999|MR|Test|E|Lead 49999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050000|150000|989898|1|9999050000|MR|Test|E|Lead 50000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050001|150001|989898|1|9999050001|MR|Test|E|Lead 50001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050002|150002|989898|1|9999050002|MR|Test|E|Lead 50002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050003|150003|989898|1|9999050003|MR|Test|E|Lead 50003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050004|150004|989898|1|9999050004|MR|Test|E|Lead 50004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050005|150005|989898|1|9999050005|MR|Test|E|Lead 50005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050006|150006|989898|1|9999050006|MR|Test|E|Lead 50006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050007|150007|989898|1|9999050007|MR|Test|E|Lead 50007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050008|150008|989898|1|9999050008|MR|Test|E|Lead 50008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050009|150009|989898|1|9999050009|MR|Test|E|Lead 50009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050010|150010|989898|1|9999050010|MR|Test|E|Lead 50010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050011|150011|989898|1|9999050011|MR|Test|E|Lead 50011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050012|150012|989898|1|9999050012|MR|Test|E|Lead 50012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050013|150013|989898|1|9999050013|MR|Test|E|Lead 50013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050014|150014|989898|1|9999050014|MR|Test|E|Lead 50014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050015|150015|989898|1|9999050015|MR|Test|E|Lead 50015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050016|150016|989898|1|9999050016|MR|Test|E|Lead 50016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050017|150017|989898|1|9999050017|MR|Test|E|Lead 50017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050018|150018|989898|1|9999050018|MR|Test|E|Lead 50018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050019|150019|989898|1|9999050019|MR|Test|E|Lead 50019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050020|150020|989898|1|9999050020|MR|Test|E|Lead 50020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050021|150021|989898|1|9999050021|MR|Test|E|Lead 50021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050022|150022|989898|1|9999050022|MR|Test|E|Lead 50022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050023|150023|989898|1|9999050023|MR|Test|E|Lead 50023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050024|150024|989898|1|9999050024|MR|Test|E|Lead 50024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050025|150025|989898|1|9999050025|MR|Test|E|Lead 50025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050026|150026|989898|1|9999050026|MR|Test|E|Lead 50026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050027|150027|989898|1|9999050027|MR|Test|E|Lead 50027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050028|150028|989898|1|9999050028|MR|Test|E|Lead 50028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050029|150029|989898|1|9999050029|MR|Test|E|Lead 50029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050030|150030|989898|1|9999050030|MR|Test|E|Lead 50030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050031|150031|989898|1|9999050031|MR|Test|E|Lead 50031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050032|150032|989898|1|9999050032|MR|Test|E|Lead 50032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050033|150033|989898|1|9999050033|MR|Test|E|Lead 50033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050034|150034|989898|1|9999050034|MR|Test|E|Lead 50034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050035|150035|989898|1|9999050035|MR|Test|E|Lead 50035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050036|150036|989898|1|9999050036|MR|Test|E|Lead 50036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050037|150037|989898|1|9999050037|MR|Test|E|Lead 50037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050038|150038|989898|1|9999050038|MR|Test|E|Lead 50038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050039|150039|989898|1|9999050039|MR|Test|E|Lead 50039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050040|150040|989898|1|9999050040|MR|Test|E|Lead 50040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050041|150041|989898|1|9999050041|MR|Test|E|Lead 50041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050042|150042|989898|1|9999050042|MR|Test|E|Lead 50042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050043|150043|989898|1|9999050043|MR|Test|E|Lead 50043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050044|150044|989898|1|9999050044|MR|Test|E|Lead 50044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050045|150045|989898|1|9999050045|MR|Test|E|Lead 50045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050046|150046|989898|1|9999050046|MR|Test|E|Lead 50046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050047|150047|989898|1|9999050047|MR|Test|E|Lead 50047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050048|150048|989898|1|9999050048|MR|Test|E|Lead 50048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050049|150049|989898|1|9999050049|MR|Test|E|Lead 50049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050050|150050|989898|1|9999050050|MR|Test|E|Lead 50050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050051|150051|989898|1|9999050051|MR|Test|E|Lead 50051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050052|150052|989898|1|9999050052|MR|Test|E|Lead 50052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050053|150053|989898|1|9999050053|MR|Test|E|Lead 50053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050054|150054|989898|1|9999050054|MR|Test|E|Lead 50054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050055|150055|989898|1|9999050055|MR|Test|E|Lead 50055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050056|150056|989898|1|9999050056|MR|Test|E|Lead 50056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050057|150057|989898|1|9999050057|MR|Test|E|Lead 50057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050058|150058|989898|1|9999050058|MR|Test|E|Lead 50058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050059|150059|989898|1|9999050059|MR|Test|E|Lead 50059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050060|150060|989898|1|9999050060|MR|Test|E|Lead 50060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050061|150061|989898|1|9999050061|MR|Test|E|Lead 50061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050062|150062|989898|1|9999050062|MR|Test|E|Lead 50062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050063|150063|989898|1|9999050063|MR|Test|E|Lead 50063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050064|150064|989898|1|9999050064|MR|Test|E|Lead 50064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050065|150065|989898|1|9999050065|MR|Test|E|Lead 50065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050066|150066|989898|1|9999050066|MR|Test|E|Lead 50066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050067|150067|989898|1|9999050067|MR|Test|E|Lead 50067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050068|150068|989898|1|9999050068|MR|Test|E|Lead 50068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050069|150069|989898|1|9999050069|MR|Test|E|Lead 50069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050070|150070|989898|1|9999050070|MR|Test|E|Lead 50070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050071|150071|989898|1|9999050071|MR|Test|E|Lead 50071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050072|150072|989898|1|9999050072|MR|Test|E|Lead 50072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050073|150073|989898|1|9999050073|MR|Test|E|Lead 50073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050074|150074|989898|1|9999050074|MR|Test|E|Lead 50074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050075|150075|989898|1|9999050075|MR|Test|E|Lead 50075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050076|150076|989898|1|9999050076|MR|Test|E|Lead 50076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050077|150077|989898|1|9999050077|MR|Test|E|Lead 50077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050078|150078|989898|1|9999050078|MR|Test|E|Lead 50078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050079|150079|989898|1|9999050079|MR|Test|E|Lead 50079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050080|150080|989898|1|9999050080|MR|Test|E|Lead 50080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050081|150081|989898|1|9999050081|MR|Test|E|Lead 50081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050082|150082|989898|1|9999050082|MR|Test|E|Lead 50082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050083|150083|989898|1|9999050083|MR|Test|E|Lead 50083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050084|150084|989898|1|9999050084|MR|Test|E|Lead 50084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050085|150085|989898|1|9999050085|MR|Test|E|Lead 50085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050086|150086|989898|1|9999050086|MR|Test|E|Lead 50086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050087|150087|989898|1|9999050087|MR|Test|E|Lead 50087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050088|150088|989898|1|9999050088|MR|Test|E|Lead 50088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050089|150089|989898|1|9999050089|MR|Test|E|Lead 50089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050090|150090|989898|1|9999050090|MR|Test|E|Lead 50090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050091|150091|989898|1|9999050091|MR|Test|E|Lead 50091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050092|150092|989898|1|9999050092|MR|Test|E|Lead 50092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050093|150093|989898|1|9999050093|MR|Test|E|Lead 50093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050094|150094|989898|1|9999050094|MR|Test|E|Lead 50094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050095|150095|989898|1|9999050095|MR|Test|E|Lead 50095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050096|150096|989898|1|9999050096|MR|Test|E|Lead 50096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050097|150097|989898|1|9999050097|MR|Test|E|Lead 50097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050098|150098|989898|1|9999050098|MR|Test|E|Lead 50098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050099|150099|989898|1|9999050099|MR|Test|E|Lead 50099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050100|150100|989898|1|9999050100|MR|Test|E|Lead 50100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050101|150101|989898|1|9999050101|MR|Test|E|Lead 50101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050102|150102|989898|1|9999050102|MR|Test|E|Lead 50102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050103|150103|989898|1|9999050103|MR|Test|E|Lead 50103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050104|150104|989898|1|9999050104|MR|Test|E|Lead 50104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050105|150105|989898|1|9999050105|MR|Test|E|Lead 50105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050106|150106|989898|1|9999050106|MR|Test|E|Lead 50106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050107|150107|989898|1|9999050107|MR|Test|E|Lead 50107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050108|150108|989898|1|9999050108|MR|Test|E|Lead 50108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050109|150109|989898|1|9999050109|MR|Test|E|Lead 50109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050110|150110|989898|1|9999050110|MR|Test|E|Lead 50110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050111|150111|989898|1|9999050111|MR|Test|E|Lead 50111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050112|150112|989898|1|9999050112|MR|Test|E|Lead 50112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050113|150113|989898|1|9999050113|MR|Test|E|Lead 50113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050114|150114|989898|1|9999050114|MR|Test|E|Lead 50114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050115|150115|989898|1|9999050115|MR|Test|E|Lead 50115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050116|150116|989898|1|9999050116|MR|Test|E|Lead 50116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050117|150117|989898|1|9999050117|MR|Test|E|Lead 50117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050118|150118|989898|1|9999050118|MR|Test|E|Lead 50118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050119|150119|989898|1|9999050119|MR|Test|E|Lead 50119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050120|150120|989898|1|9999050120|MR|Test|E|Lead 50120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050121|150121|989898|1|9999050121|MR|Test|E|Lead 50121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050122|150122|989898|1|9999050122|MR|Test|E|Lead 50122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050123|150123|989898|1|9999050123|MR|Test|E|Lead 50123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050124|150124|989898|1|9999050124|MR|Test|E|Lead 50124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050125|150125|989898|1|9999050125|MR|Test|E|Lead 50125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050126|150126|989898|1|9999050126|MR|Test|E|Lead 50126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050127|150127|989898|1|9999050127|MR|Test|E|Lead 50127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050128|150128|989898|1|9999050128|MR|Test|E|Lead 50128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050129|150129|989898|1|9999050129|MR|Test|E|Lead 50129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050130|150130|989898|1|9999050130|MR|Test|E|Lead 50130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050131|150131|989898|1|9999050131|MR|Test|E|Lead 50131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050132|150132|989898|1|9999050132|MR|Test|E|Lead 50132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050133|150133|989898|1|9999050133|MR|Test|E|Lead 50133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050134|150134|989898|1|9999050134|MR|Test|E|Lead 50134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050135|150135|989898|1|9999050135|MR|Test|E|Lead 50135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050136|150136|989898|1|9999050136|MR|Test|E|Lead 50136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050137|150137|989898|1|9999050137|MR|Test|E|Lead 50137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050138|150138|989898|1|9999050138|MR|Test|E|Lead 50138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050139|150139|989898|1|9999050139|MR|Test|E|Lead 50139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050140|150140|989898|1|9999050140|MR|Test|E|Lead 50140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050141|150141|989898|1|9999050141|MR|Test|E|Lead 50141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050142|150142|989898|1|9999050142|MR|Test|E|Lead 50142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050143|150143|989898|1|9999050143|MR|Test|E|Lead 50143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050144|150144|989898|1|9999050144|MR|Test|E|Lead 50144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050145|150145|989898|1|9999050145|MR|Test|E|Lead 50145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050146|150146|989898|1|9999050146|MR|Test|E|Lead 50146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050147|150147|989898|1|9999050147|MR|Test|E|Lead 50147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050148|150148|989898|1|9999050148|MR|Test|E|Lead 50148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050149|150149|989898|1|9999050149|MR|Test|E|Lead 50149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050150|150150|989898|1|9999050150|MR|Test|E|Lead 50150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050151|150151|989898|1|9999050151|MR|Test|E|Lead 50151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050152|150152|989898|1|9999050152|MR|Test|E|Lead 50152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050153|150153|989898|1|9999050153|MR|Test|E|Lead 50153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050154|150154|989898|1|9999050154|MR|Test|E|Lead 50154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050155|150155|989898|1|9999050155|MR|Test|E|Lead 50155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050156|150156|989898|1|9999050156|MR|Test|E|Lead 50156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050157|150157|989898|1|9999050157|MR|Test|E|Lead 50157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050158|150158|989898|1|9999050158|MR|Test|E|Lead 50158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050159|150159|989898|1|9999050159|MR|Test|E|Lead 50159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050160|150160|989898|1|9999050160|MR|Test|E|Lead 50160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050161|150161|989898|1|9999050161|MR|Test|E|Lead 50161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050162|150162|989898|1|9999050162|MR|Test|E|Lead 50162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050163|150163|989898|1|9999050163|MR|Test|E|Lead 50163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050164|150164|989898|1|9999050164|MR|Test|E|Lead 50164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050165|150165|989898|1|9999050165|MR|Test|E|Lead 50165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050166|150166|989898|1|9999050166|MR|Test|E|Lead 50166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050167|150167|989898|1|9999050167|MR|Test|E|Lead 50167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050168|150168|989898|1|9999050168|MR|Test|E|Lead 50168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050169|150169|989898|1|9999050169|MR|Test|E|Lead 50169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050170|150170|989898|1|9999050170|MR|Test|E|Lead 50170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050171|150171|989898|1|9999050171|MR|Test|E|Lead 50171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050172|150172|989898|1|9999050172|MR|Test|E|Lead 50172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050173|150173|989898|1|9999050173|MR|Test|E|Lead 50173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050174|150174|989898|1|9999050174|MR|Test|E|Lead 50174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050175|150175|989898|1|9999050175|MR|Test|E|Lead 50175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050176|150176|989898|1|9999050176|MR|Test|E|Lead 50176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050177|150177|989898|1|9999050177|MR|Test|E|Lead 50177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050178|150178|989898|1|9999050178|MR|Test|E|Lead 50178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050179|150179|989898|1|9999050179|MR|Test|E|Lead 50179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050180|150180|989898|1|9999050180|MR|Test|E|Lead 50180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050181|150181|989898|1|9999050181|MR|Test|E|Lead 50181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050182|150182|989898|1|9999050182|MR|Test|E|Lead 50182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050183|150183|989898|1|9999050183|MR|Test|E|Lead 50183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050184|150184|989898|1|9999050184|MR|Test|E|Lead 50184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050185|150185|989898|1|9999050185|MR|Test|E|Lead 50185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050186|150186|989898|1|9999050186|MR|Test|E|Lead 50186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050187|150187|989898|1|9999050187|MR|Test|E|Lead 50187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050188|150188|989898|1|9999050188|MR|Test|E|Lead 50188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050189|150189|989898|1|9999050189|MR|Test|E|Lead 50189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050190|150190|989898|1|9999050190|MR|Test|E|Lead 50190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050191|150191|989898|1|9999050191|MR|Test|E|Lead 50191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050192|150192|989898|1|9999050192|MR|Test|E|Lead 50192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050193|150193|989898|1|9999050193|MR|Test|E|Lead 50193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050194|150194|989898|1|9999050194|MR|Test|E|Lead 50194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050195|150195|989898|1|9999050195|MR|Test|E|Lead 50195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050196|150196|989898|1|9999050196|MR|Test|E|Lead 50196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050197|150197|989898|1|9999050197|MR|Test|E|Lead 50197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050198|150198|989898|1|9999050198|MR|Test|E|Lead 50198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050199|150199|989898|1|9999050199|MR|Test|E|Lead 50199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050200|150200|989898|1|9999050200|MR|Test|E|Lead 50200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050201|150201|989898|1|9999050201|MR|Test|E|Lead 50201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050202|150202|989898|1|9999050202|MR|Test|E|Lead 50202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050203|150203|989898|1|9999050203|MR|Test|E|Lead 50203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050204|150204|989898|1|9999050204|MR|Test|E|Lead 50204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050205|150205|989898|1|9999050205|MR|Test|E|Lead 50205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050206|150206|989898|1|9999050206|MR|Test|E|Lead 50206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050207|150207|989898|1|9999050207|MR|Test|E|Lead 50207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050208|150208|989898|1|9999050208|MR|Test|E|Lead 50208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050209|150209|989898|1|9999050209|MR|Test|E|Lead 50209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050210|150210|989898|1|9999050210|MR|Test|E|Lead 50210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050211|150211|989898|1|9999050211|MR|Test|E|Lead 50211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050212|150212|989898|1|9999050212|MR|Test|E|Lead 50212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050213|150213|989898|1|9999050213|MR|Test|E|Lead 50213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050214|150214|989898|1|9999050214|MR|Test|E|Lead 50214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050215|150215|989898|1|9999050215|MR|Test|E|Lead 50215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050216|150216|989898|1|9999050216|MR|Test|E|Lead 50216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050217|150217|989898|1|9999050217|MR|Test|E|Lead 50217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050218|150218|989898|1|9999050218|MR|Test|E|Lead 50218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050219|150219|989898|1|9999050219|MR|Test|E|Lead 50219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050220|150220|989898|1|9999050220|MR|Test|E|Lead 50220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050221|150221|989898|1|9999050221|MR|Test|E|Lead 50221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050222|150222|989898|1|9999050222|MR|Test|E|Lead 50222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050223|150223|989898|1|9999050223|MR|Test|E|Lead 50223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050224|150224|989898|1|9999050224|MR|Test|E|Lead 50224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050225|150225|989898|1|9999050225|MR|Test|E|Lead 50225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050226|150226|989898|1|9999050226|MR|Test|E|Lead 50226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050227|150227|989898|1|9999050227|MR|Test|E|Lead 50227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050228|150228|989898|1|9999050228|MR|Test|E|Lead 50228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050229|150229|989898|1|9999050229|MR|Test|E|Lead 50229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050230|150230|989898|1|9999050230|MR|Test|E|Lead 50230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050231|150231|989898|1|9999050231|MR|Test|E|Lead 50231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050232|150232|989898|1|9999050232|MR|Test|E|Lead 50232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050233|150233|989898|1|9999050233|MR|Test|E|Lead 50233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050234|150234|989898|1|9999050234|MR|Test|E|Lead 50234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050235|150235|989898|1|9999050235|MR|Test|E|Lead 50235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050236|150236|989898|1|9999050236|MR|Test|E|Lead 50236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050237|150237|989898|1|9999050237|MR|Test|E|Lead 50237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050238|150238|989898|1|9999050238|MR|Test|E|Lead 50238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050239|150239|989898|1|9999050239|MR|Test|E|Lead 50239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050240|150240|989898|1|9999050240|MR|Test|E|Lead 50240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050241|150241|989898|1|9999050241|MR|Test|E|Lead 50241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050242|150242|989898|1|9999050242|MR|Test|E|Lead 50242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050243|150243|989898|1|9999050243|MR|Test|E|Lead 50243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050244|150244|989898|1|9999050244|MR|Test|E|Lead 50244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050245|150245|989898|1|9999050245|MR|Test|E|Lead 50245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050246|150246|989898|1|9999050246|MR|Test|E|Lead 50246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050247|150247|989898|1|9999050247|MR|Test|E|Lead 50247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050248|150248|989898|1|9999050248|MR|Test|E|Lead 50248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050249|150249|989898|1|9999050249|MR|Test|E|Lead 50249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050250|150250|989898|1|9999050250|MR|Test|E|Lead 50250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050251|150251|989898|1|9999050251|MR|Test|E|Lead 50251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050252|150252|989898|1|9999050252|MR|Test|E|Lead 50252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050253|150253|989898|1|9999050253|MR|Test|E|Lead 50253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050254|150254|989898|1|9999050254|MR|Test|E|Lead 50254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050255|150255|989898|1|9999050255|MR|Test|E|Lead 50255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050256|150256|989898|1|9999050256|MR|Test|E|Lead 50256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050257|150257|989898|1|9999050257|MR|Test|E|Lead 50257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050258|150258|989898|1|9999050258|MR|Test|E|Lead 50258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050259|150259|989898|1|9999050259|MR|Test|E|Lead 50259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050260|150260|989898|1|9999050260|MR|Test|E|Lead 50260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050261|150261|989898|1|9999050261|MR|Test|E|Lead 50261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050262|150262|989898|1|9999050262|MR|Test|E|Lead 50262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050263|150263|989898|1|9999050263|MR|Test|E|Lead 50263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050264|150264|989898|1|9999050264|MR|Test|E|Lead 50264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050265|150265|989898|1|9999050265|MR|Test|E|Lead 50265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050266|150266|989898|1|9999050266|MR|Test|E|Lead 50266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050267|150267|989898|1|9999050267|MR|Test|E|Lead 50267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050268|150268|989898|1|9999050268|MR|Test|E|Lead 50268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050269|150269|989898|1|9999050269|MR|Test|E|Lead 50269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050270|150270|989898|1|9999050270|MR|Test|E|Lead 50270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050271|150271|989898|1|9999050271|MR|Test|E|Lead 50271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050272|150272|989898|1|9999050272|MR|Test|E|Lead 50272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050273|150273|989898|1|9999050273|MR|Test|E|Lead 50273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050274|150274|989898|1|9999050274|MR|Test|E|Lead 50274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050275|150275|989898|1|9999050275|MR|Test|E|Lead 50275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050276|150276|989898|1|9999050276|MR|Test|E|Lead 50276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050277|150277|989898|1|9999050277|MR|Test|E|Lead 50277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050278|150278|989898|1|9999050278|MR|Test|E|Lead 50278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050279|150279|989898|1|9999050279|MR|Test|E|Lead 50279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050280|150280|989898|1|9999050280|MR|Test|E|Lead 50280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050281|150281|989898|1|9999050281|MR|Test|E|Lead 50281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050282|150282|989898|1|9999050282|MR|Test|E|Lead 50282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050283|150283|989898|1|9999050283|MR|Test|E|Lead 50283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050284|150284|989898|1|9999050284|MR|Test|E|Lead 50284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050285|150285|989898|1|9999050285|MR|Test|E|Lead 50285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050286|150286|989898|1|9999050286|MR|Test|E|Lead 50286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050287|150287|989898|1|9999050287|MR|Test|E|Lead 50287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050288|150288|989898|1|9999050288|MR|Test|E|Lead 50288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050289|150289|989898|1|9999050289|MR|Test|E|Lead 50289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050290|150290|989898|1|9999050290|MR|Test|E|Lead 50290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050291|150291|989898|1|9999050291|MR|Test|E|Lead 50291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050292|150292|989898|1|9999050292|MR|Test|E|Lead 50292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050293|150293|989898|1|9999050293|MR|Test|E|Lead 50293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050294|150294|989898|1|9999050294|MR|Test|E|Lead 50294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050295|150295|989898|1|9999050295|MR|Test|E|Lead 50295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050296|150296|989898|1|9999050296|MR|Test|E|Lead 50296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050297|150297|989898|1|9999050297|MR|Test|E|Lead 50297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050298|150298|989898|1|9999050298|MR|Test|E|Lead 50298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050299|150299|989898|1|9999050299|MR|Test|E|Lead 50299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050300|150300|989898|1|9999050300|MR|Test|E|Lead 50300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050301|150301|989898|1|9999050301|MR|Test|E|Lead 50301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050302|150302|989898|1|9999050302|MR|Test|E|Lead 50302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050303|150303|989898|1|9999050303|MR|Test|E|Lead 50303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050304|150304|989898|1|9999050304|MR|Test|E|Lead 50304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050305|150305|989898|1|9999050305|MR|Test|E|Lead 50305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050306|150306|989898|1|9999050306|MR|Test|E|Lead 50306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050307|150307|989898|1|9999050307|MR|Test|E|Lead 50307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050308|150308|989898|1|9999050308|MR|Test|E|Lead 50308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050309|150309|989898|1|9999050309|MR|Test|E|Lead 50309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050310|150310|989898|1|9999050310|MR|Test|E|Lead 50310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050311|150311|989898|1|9999050311|MR|Test|E|Lead 50311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050312|150312|989898|1|9999050312|MR|Test|E|Lead 50312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050313|150313|989898|1|9999050313|MR|Test|E|Lead 50313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050314|150314|989898|1|9999050314|MR|Test|E|Lead 50314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050315|150315|989898|1|9999050315|MR|Test|E|Lead 50315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050316|150316|989898|1|9999050316|MR|Test|E|Lead 50316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050317|150317|989898|1|9999050317|MR|Test|E|Lead 50317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050318|150318|989898|1|9999050318|MR|Test|E|Lead 50318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050319|150319|989898|1|9999050319|MR|Test|E|Lead 50319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050320|150320|989898|1|9999050320|MR|Test|E|Lead 50320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050321|150321|989898|1|9999050321|MR|Test|E|Lead 50321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050322|150322|989898|1|9999050322|MR|Test|E|Lead 50322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050323|150323|989898|1|9999050323|MR|Test|E|Lead 50323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050324|150324|989898|1|9999050324|MR|Test|E|Lead 50324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050325|150325|989898|1|9999050325|MR|Test|E|Lead 50325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050326|150326|989898|1|9999050326|MR|Test|E|Lead 50326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050327|150327|989898|1|9999050327|MR|Test|E|Lead 50327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050328|150328|989898|1|9999050328|MR|Test|E|Lead 50328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050329|150329|989898|1|9999050329|MR|Test|E|Lead 50329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050330|150330|989898|1|9999050330|MR|Test|E|Lead 50330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050331|150331|989898|1|9999050331|MR|Test|E|Lead 50331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050332|150332|989898|1|9999050332|MR|Test|E|Lead 50332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050333|150333|989898|1|9999050333|MR|Test|E|Lead 50333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050334|150334|989898|1|9999050334|MR|Test|E|Lead 50334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050335|150335|989898|1|9999050335|MR|Test|E|Lead 50335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050336|150336|989898|1|9999050336|MR|Test|E|Lead 50336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050337|150337|989898|1|9999050337|MR|Test|E|Lead 50337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050338|150338|989898|1|9999050338|MR|Test|E|Lead 50338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050339|150339|989898|1|9999050339|MR|Test|E|Lead 50339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050340|150340|989898|1|9999050340|MR|Test|E|Lead 50340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050341|150341|989898|1|9999050341|MR|Test|E|Lead 50341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050342|150342|989898|1|9999050342|MR|Test|E|Lead 50342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050343|150343|989898|1|9999050343|MR|Test|E|Lead 50343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050344|150344|989898|1|9999050344|MR|Test|E|Lead 50344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050345|150345|989898|1|9999050345|MR|Test|E|Lead 50345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050346|150346|989898|1|9999050346|MR|Test|E|Lead 50346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050347|150347|989898|1|9999050347|MR|Test|E|Lead 50347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050348|150348|989898|1|9999050348|MR|Test|E|Lead 50348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050349|150349|989898|1|9999050349|MR|Test|E|Lead 50349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050350|150350|989898|1|9999050350|MR|Test|E|Lead 50350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050351|150351|989898|1|9999050351|MR|Test|E|Lead 50351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050352|150352|989898|1|9999050352|MR|Test|E|Lead 50352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050353|150353|989898|1|9999050353|MR|Test|E|Lead 50353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050354|150354|989898|1|9999050354|MR|Test|E|Lead 50354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050355|150355|989898|1|9999050355|MR|Test|E|Lead 50355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050356|150356|989898|1|9999050356|MR|Test|E|Lead 50356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050357|150357|989898|1|9999050357|MR|Test|E|Lead 50357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050358|150358|989898|1|9999050358|MR|Test|E|Lead 50358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050359|150359|989898|1|9999050359|MR|Test|E|Lead 50359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050360|150360|989898|1|9999050360|MR|Test|E|Lead 50360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050361|150361|989898|1|9999050361|MR|Test|E|Lead 50361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050362|150362|989898|1|9999050362|MR|Test|E|Lead 50362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050363|150363|989898|1|9999050363|MR|Test|E|Lead 50363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050364|150364|989898|1|9999050364|MR|Test|E|Lead 50364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050365|150365|989898|1|9999050365|MR|Test|E|Lead 50365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050366|150366|989898|1|9999050366|MR|Test|E|Lead 50366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050367|150367|989898|1|9999050367|MR|Test|E|Lead 50367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050368|150368|989898|1|9999050368|MR|Test|E|Lead 50368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050369|150369|989898|1|9999050369|MR|Test|E|Lead 50369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050370|150370|989898|1|9999050370|MR|Test|E|Lead 50370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050371|150371|989898|1|9999050371|MR|Test|E|Lead 50371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050372|150372|989898|1|9999050372|MR|Test|E|Lead 50372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050373|150373|989898|1|9999050373|MR|Test|E|Lead 50373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050374|150374|989898|1|9999050374|MR|Test|E|Lead 50374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050375|150375|989898|1|9999050375|MR|Test|E|Lead 50375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050376|150376|989898|1|9999050376|MR|Test|E|Lead 50376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050377|150377|989898|1|9999050377|MR|Test|E|Lead 50377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050378|150378|989898|1|9999050378|MR|Test|E|Lead 50378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050379|150379|989898|1|9999050379|MR|Test|E|Lead 50379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050380|150380|989898|1|9999050380|MR|Test|E|Lead 50380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050381|150381|989898|1|9999050381|MR|Test|E|Lead 50381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050382|150382|989898|1|9999050382|MR|Test|E|Lead 50382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050383|150383|989898|1|9999050383|MR|Test|E|Lead 50383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050384|150384|989898|1|9999050384|MR|Test|E|Lead 50384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050385|150385|989898|1|9999050385|MR|Test|E|Lead 50385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050386|150386|989898|1|9999050386|MR|Test|E|Lead 50386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050387|150387|989898|1|9999050387|MR|Test|E|Lead 50387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050388|150388|989898|1|9999050388|MR|Test|E|Lead 50388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050389|150389|989898|1|9999050389|MR|Test|E|Lead 50389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050390|150390|989898|1|9999050390|MR|Test|E|Lead 50390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050391|150391|989898|1|9999050391|MR|Test|E|Lead 50391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050392|150392|989898|1|9999050392|MR|Test|E|Lead 50392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050393|150393|989898|1|9999050393|MR|Test|E|Lead 50393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050394|150394|989898|1|9999050394|MR|Test|E|Lead 50394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050395|150395|989898|1|9999050395|MR|Test|E|Lead 50395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050396|150396|989898|1|9999050396|MR|Test|E|Lead 50396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050397|150397|989898|1|9999050397|MR|Test|E|Lead 50397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050398|150398|989898|1|9999050398|MR|Test|E|Lead 50398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050399|150399|989898|1|9999050399|MR|Test|E|Lead 50399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050400|150400|989898|1|9999050400|MR|Test|E|Lead 50400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050401|150401|989898|1|9999050401|MR|Test|E|Lead 50401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050402|150402|989898|1|9999050402|MR|Test|E|Lead 50402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050403|150403|989898|1|9999050403|MR|Test|E|Lead 50403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050404|150404|989898|1|9999050404|MR|Test|E|Lead 50404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050405|150405|989898|1|9999050405|MR|Test|E|Lead 50405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050406|150406|989898|1|9999050406|MR|Test|E|Lead 50406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050407|150407|989898|1|9999050407|MR|Test|E|Lead 50407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050408|150408|989898|1|9999050408|MR|Test|E|Lead 50408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050409|150409|989898|1|9999050409|MR|Test|E|Lead 50409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050410|150410|989898|1|9999050410|MR|Test|E|Lead 50410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050411|150411|989898|1|9999050411|MR|Test|E|Lead 50411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050412|150412|989898|1|9999050412|MR|Test|E|Lead 50412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050413|150413|989898|1|9999050413|MR|Test|E|Lead 50413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050414|150414|989898|1|9999050414|MR|Test|E|Lead 50414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050415|150415|989898|1|9999050415|MR|Test|E|Lead 50415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050416|150416|989898|1|9999050416|MR|Test|E|Lead 50416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050417|150417|989898|1|9999050417|MR|Test|E|Lead 50417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050418|150418|989898|1|9999050418|MR|Test|E|Lead 50418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050419|150419|989898|1|9999050419|MR|Test|E|Lead 50419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050420|150420|989898|1|9999050420|MR|Test|E|Lead 50420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050421|150421|989898|1|9999050421|MR|Test|E|Lead 50421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050422|150422|989898|1|9999050422|MR|Test|E|Lead 50422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050423|150423|989898|1|9999050423|MR|Test|E|Lead 50423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050424|150424|989898|1|9999050424|MR|Test|E|Lead 50424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050425|150425|989898|1|9999050425|MR|Test|E|Lead 50425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050426|150426|989898|1|9999050426|MR|Test|E|Lead 50426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050427|150427|989898|1|9999050427|MR|Test|E|Lead 50427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050428|150428|989898|1|9999050428|MR|Test|E|Lead 50428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050429|150429|989898|1|9999050429|MR|Test|E|Lead 50429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050430|150430|989898|1|9999050430|MR|Test|E|Lead 50430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050431|150431|989898|1|9999050431|MR|Test|E|Lead 50431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050432|150432|989898|1|9999050432|MR|Test|E|Lead 50432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050433|150433|989898|1|9999050433|MR|Test|E|Lead 50433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050434|150434|989898|1|9999050434|MR|Test|E|Lead 50434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050435|150435|989898|1|9999050435|MR|Test|E|Lead 50435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050436|150436|989898|1|9999050436|MR|Test|E|Lead 50436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050437|150437|989898|1|9999050437|MR|Test|E|Lead 50437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050438|150438|989898|1|9999050438|MR|Test|E|Lead 50438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050439|150439|989898|1|9999050439|MR|Test|E|Lead 50439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050440|150440|989898|1|9999050440|MR|Test|E|Lead 50440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050441|150441|989898|1|9999050441|MR|Test|E|Lead 50441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050442|150442|989898|1|9999050442|MR|Test|E|Lead 50442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050443|150443|989898|1|9999050443|MR|Test|E|Lead 50443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050444|150444|989898|1|9999050444|MR|Test|E|Lead 50444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050445|150445|989898|1|9999050445|MR|Test|E|Lead 50445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050446|150446|989898|1|9999050446|MR|Test|E|Lead 50446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050447|150447|989898|1|9999050447|MR|Test|E|Lead 50447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050448|150448|989898|1|9999050448|MR|Test|E|Lead 50448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050449|150449|989898|1|9999050449|MR|Test|E|Lead 50449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050450|150450|989898|1|9999050450|MR|Test|E|Lead 50450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050451|150451|989898|1|9999050451|MR|Test|E|Lead 50451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050452|150452|989898|1|9999050452|MR|Test|E|Lead 50452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050453|150453|989898|1|9999050453|MR|Test|E|Lead 50453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050454|150454|989898|1|9999050454|MR|Test|E|Lead 50454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050455|150455|989898|1|9999050455|MR|Test|E|Lead 50455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050456|150456|989898|1|9999050456|MR|Test|E|Lead 50456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050457|150457|989898|1|9999050457|MR|Test|E|Lead 50457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050458|150458|989898|1|9999050458|MR|Test|E|Lead 50458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050459|150459|989898|1|9999050459|MR|Test|E|Lead 50459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050460|150460|989898|1|9999050460|MR|Test|E|Lead 50460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050461|150461|989898|1|9999050461|MR|Test|E|Lead 50461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050462|150462|989898|1|9999050462|MR|Test|E|Lead 50462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050463|150463|989898|1|9999050463|MR|Test|E|Lead 50463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050464|150464|989898|1|9999050464|MR|Test|E|Lead 50464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050465|150465|989898|1|9999050465|MR|Test|E|Lead 50465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050466|150466|989898|1|9999050466|MR|Test|E|Lead 50466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050467|150467|989898|1|9999050467|MR|Test|E|Lead 50467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050468|150468|989898|1|9999050468|MR|Test|E|Lead 50468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050469|150469|989898|1|9999050469|MR|Test|E|Lead 50469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050470|150470|989898|1|9999050470|MR|Test|E|Lead 50470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050471|150471|989898|1|9999050471|MR|Test|E|Lead 50471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050472|150472|989898|1|9999050472|MR|Test|E|Lead 50472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050473|150473|989898|1|9999050473|MR|Test|E|Lead 50473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050474|150474|989898|1|9999050474|MR|Test|E|Lead 50474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050475|150475|989898|1|9999050475|MR|Test|E|Lead 50475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050476|150476|989898|1|9999050476|MR|Test|E|Lead 50476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050477|150477|989898|1|9999050477|MR|Test|E|Lead 50477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050478|150478|989898|1|9999050478|MR|Test|E|Lead 50478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050479|150479|989898|1|9999050479|MR|Test|E|Lead 50479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050480|150480|989898|1|9999050480|MR|Test|E|Lead 50480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050481|150481|989898|1|9999050481|MR|Test|E|Lead 50481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050482|150482|989898|1|9999050482|MR|Test|E|Lead 50482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050483|150483|989898|1|9999050483|MR|Test|E|Lead 50483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050484|150484|989898|1|9999050484|MR|Test|E|Lead 50484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050485|150485|989898|1|9999050485|MR|Test|E|Lead 50485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050486|150486|989898|1|9999050486|MR|Test|E|Lead 50486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050487|150487|989898|1|9999050487|MR|Test|E|Lead 50487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050488|150488|989898|1|9999050488|MR|Test|E|Lead 50488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050489|150489|989898|1|9999050489|MR|Test|E|Lead 50489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050490|150490|989898|1|9999050490|MR|Test|E|Lead 50490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050491|150491|989898|1|9999050491|MR|Test|E|Lead 50491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050492|150492|989898|1|9999050492|MR|Test|E|Lead 50492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050493|150493|989898|1|9999050493|MR|Test|E|Lead 50493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050494|150494|989898|1|9999050494|MR|Test|E|Lead 50494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050495|150495|989898|1|9999050495|MR|Test|E|Lead 50495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050496|150496|989898|1|9999050496|MR|Test|E|Lead 50496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050497|150497|989898|1|9999050497|MR|Test|E|Lead 50497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050498|150498|989898|1|9999050498|MR|Test|E|Lead 50498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050499|150499|989898|1|9999050499|MR|Test|E|Lead 50499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050500|150500|989898|1|9999050500|MR|Test|E|Lead 50500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050501|150501|989898|1|9999050501|MR|Test|E|Lead 50501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050502|150502|989898|1|9999050502|MR|Test|E|Lead 50502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050503|150503|989898|1|9999050503|MR|Test|E|Lead 50503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050504|150504|989898|1|9999050504|MR|Test|E|Lead 50504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050505|150505|989898|1|9999050505|MR|Test|E|Lead 50505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050506|150506|989898|1|9999050506|MR|Test|E|Lead 50506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050507|150507|989898|1|9999050507|MR|Test|E|Lead 50507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050508|150508|989898|1|9999050508|MR|Test|E|Lead 50508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050509|150509|989898|1|9999050509|MR|Test|E|Lead 50509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050510|150510|989898|1|9999050510|MR|Test|E|Lead 50510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050511|150511|989898|1|9999050511|MR|Test|E|Lead 50511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050512|150512|989898|1|9999050512|MR|Test|E|Lead 50512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050513|150513|989898|1|9999050513|MR|Test|E|Lead 50513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050514|150514|989898|1|9999050514|MR|Test|E|Lead 50514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050515|150515|989898|1|9999050515|MR|Test|E|Lead 50515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050516|150516|989898|1|9999050516|MR|Test|E|Lead 50516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050517|150517|989898|1|9999050517|MR|Test|E|Lead 50517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050518|150518|989898|1|9999050518|MR|Test|E|Lead 50518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050519|150519|989898|1|9999050519|MR|Test|E|Lead 50519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050520|150520|989898|1|9999050520|MR|Test|E|Lead 50520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050521|150521|989898|1|9999050521|MR|Test|E|Lead 50521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050522|150522|989898|1|9999050522|MR|Test|E|Lead 50522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050523|150523|989898|1|9999050523|MR|Test|E|Lead 50523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050524|150524|989898|1|9999050524|MR|Test|E|Lead 50524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050525|150525|989898|1|9999050525|MR|Test|E|Lead 50525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050526|150526|989898|1|9999050526|MR|Test|E|Lead 50526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050527|150527|989898|1|9999050527|MR|Test|E|Lead 50527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050528|150528|989898|1|9999050528|MR|Test|E|Lead 50528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050529|150529|989898|1|9999050529|MR|Test|E|Lead 50529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050530|150530|989898|1|9999050530|MR|Test|E|Lead 50530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050531|150531|989898|1|9999050531|MR|Test|E|Lead 50531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050532|150532|989898|1|9999050532|MR|Test|E|Lead 50532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050533|150533|989898|1|9999050533|MR|Test|E|Lead 50533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050534|150534|989898|1|9999050534|MR|Test|E|Lead 50534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050535|150535|989898|1|9999050535|MR|Test|E|Lead 50535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050536|150536|989898|1|9999050536|MR|Test|E|Lead 50536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050537|150537|989898|1|9999050537|MR|Test|E|Lead 50537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050538|150538|989898|1|9999050538|MR|Test|E|Lead 50538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050539|150539|989898|1|9999050539|MR|Test|E|Lead 50539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050540|150540|989898|1|9999050540|MR|Test|E|Lead 50540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050541|150541|989898|1|9999050541|MR|Test|E|Lead 50541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050542|150542|989898|1|9999050542|MR|Test|E|Lead 50542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050543|150543|989898|1|9999050543|MR|Test|E|Lead 50543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050544|150544|989898|1|9999050544|MR|Test|E|Lead 50544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050545|150545|989898|1|9999050545|MR|Test|E|Lead 50545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050546|150546|989898|1|9999050546|MR|Test|E|Lead 50546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050547|150547|989898|1|9999050547|MR|Test|E|Lead 50547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050548|150548|989898|1|9999050548|MR|Test|E|Lead 50548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050549|150549|989898|1|9999050549|MR|Test|E|Lead 50549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050550|150550|989898|1|9999050550|MR|Test|E|Lead 50550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050551|150551|989898|1|9999050551|MR|Test|E|Lead 50551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050552|150552|989898|1|9999050552|MR|Test|E|Lead 50552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050553|150553|989898|1|9999050553|MR|Test|E|Lead 50553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050554|150554|989898|1|9999050554|MR|Test|E|Lead 50554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050555|150555|989898|1|9999050555|MR|Test|E|Lead 50555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050556|150556|989898|1|9999050556|MR|Test|E|Lead 50556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050557|150557|989898|1|9999050557|MR|Test|E|Lead 50557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050558|150558|989898|1|9999050558|MR|Test|E|Lead 50558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050559|150559|989898|1|9999050559|MR|Test|E|Lead 50559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050560|150560|989898|1|9999050560|MR|Test|E|Lead 50560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050561|150561|989898|1|9999050561|MR|Test|E|Lead 50561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050562|150562|989898|1|9999050562|MR|Test|E|Lead 50562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050563|150563|989898|1|9999050563|MR|Test|E|Lead 50563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050564|150564|989898|1|9999050564|MR|Test|E|Lead 50564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050565|150565|989898|1|9999050565|MR|Test|E|Lead 50565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050566|150566|989898|1|9999050566|MR|Test|E|Lead 50566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050567|150567|989898|1|9999050567|MR|Test|E|Lead 50567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050568|150568|989898|1|9999050568|MR|Test|E|Lead 50568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050569|150569|989898|1|9999050569|MR|Test|E|Lead 50569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050570|150570|989898|1|9999050570|MR|Test|E|Lead 50570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050571|150571|989898|1|9999050571|MR|Test|E|Lead 50571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050572|150572|989898|1|9999050572|MR|Test|E|Lead 50572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050573|150573|989898|1|9999050573|MR|Test|E|Lead 50573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050574|150574|989898|1|9999050574|MR|Test|E|Lead 50574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050575|150575|989898|1|9999050575|MR|Test|E|Lead 50575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050576|150576|989898|1|9999050576|MR|Test|E|Lead 50576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050577|150577|989898|1|9999050577|MR|Test|E|Lead 50577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050578|150578|989898|1|9999050578|MR|Test|E|Lead 50578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050579|150579|989898|1|9999050579|MR|Test|E|Lead 50579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050580|150580|989898|1|9999050580|MR|Test|E|Lead 50580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050581|150581|989898|1|9999050581|MR|Test|E|Lead 50581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050582|150582|989898|1|9999050582|MR|Test|E|Lead 50582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050583|150583|989898|1|9999050583|MR|Test|E|Lead 50583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050584|150584|989898|1|9999050584|MR|Test|E|Lead 50584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050585|150585|989898|1|9999050585|MR|Test|E|Lead 50585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050586|150586|989898|1|9999050586|MR|Test|E|Lead 50586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050587|150587|989898|1|9999050587|MR|Test|E|Lead 50587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050588|150588|989898|1|9999050588|MR|Test|E|Lead 50588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050589|150589|989898|1|9999050589|MR|Test|E|Lead 50589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050590|150590|989898|1|9999050590|MR|Test|E|Lead 50590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050591|150591|989898|1|9999050591|MR|Test|E|Lead 50591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050592|150592|989898|1|9999050592|MR|Test|E|Lead 50592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050593|150593|989898|1|9999050593|MR|Test|E|Lead 50593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050594|150594|989898|1|9999050594|MR|Test|E|Lead 50594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050595|150595|989898|1|9999050595|MR|Test|E|Lead 50595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050596|150596|989898|1|9999050596|MR|Test|E|Lead 50596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050597|150597|989898|1|9999050597|MR|Test|E|Lead 50597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050598|150598|989898|1|9999050598|MR|Test|E|Lead 50598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050599|150599|989898|1|9999050599|MR|Test|E|Lead 50599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050600|150600|989898|1|9999050600|MR|Test|E|Lead 50600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050601|150601|989898|1|9999050601|MR|Test|E|Lead 50601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050602|150602|989898|1|9999050602|MR|Test|E|Lead 50602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050603|150603|989898|1|9999050603|MR|Test|E|Lead 50603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050604|150604|989898|1|9999050604|MR|Test|E|Lead 50604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050605|150605|989898|1|9999050605|MR|Test|E|Lead 50605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050606|150606|989898|1|9999050606|MR|Test|E|Lead 50606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050607|150607|989898|1|9999050607|MR|Test|E|Lead 50607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050608|150608|989898|1|9999050608|MR|Test|E|Lead 50608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050609|150609|989898|1|9999050609|MR|Test|E|Lead 50609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050610|150610|989898|1|9999050610|MR|Test|E|Lead 50610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050611|150611|989898|1|9999050611|MR|Test|E|Lead 50611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050612|150612|989898|1|9999050612|MR|Test|E|Lead 50612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050613|150613|989898|1|9999050613|MR|Test|E|Lead 50613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050614|150614|989898|1|9999050614|MR|Test|E|Lead 50614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050615|150615|989898|1|9999050615|MR|Test|E|Lead 50615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050616|150616|989898|1|9999050616|MR|Test|E|Lead 50616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050617|150617|989898|1|9999050617|MR|Test|E|Lead 50617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050618|150618|989898|1|9999050618|MR|Test|E|Lead 50618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050619|150619|989898|1|9999050619|MR|Test|E|Lead 50619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050620|150620|989898|1|9999050620|MR|Test|E|Lead 50620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050621|150621|989898|1|9999050621|MR|Test|E|Lead 50621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050622|150622|989898|1|9999050622|MR|Test|E|Lead 50622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050623|150623|989898|1|9999050623|MR|Test|E|Lead 50623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050624|150624|989898|1|9999050624|MR|Test|E|Lead 50624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050625|150625|989898|1|9999050625|MR|Test|E|Lead 50625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050626|150626|989898|1|9999050626|MR|Test|E|Lead 50626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050627|150627|989898|1|9999050627|MR|Test|E|Lead 50627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050628|150628|989898|1|9999050628|MR|Test|E|Lead 50628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050629|150629|989898|1|9999050629|MR|Test|E|Lead 50629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050630|150630|989898|1|9999050630|MR|Test|E|Lead 50630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050631|150631|989898|1|9999050631|MR|Test|E|Lead 50631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050632|150632|989898|1|9999050632|MR|Test|E|Lead 50632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050633|150633|989898|1|9999050633|MR|Test|E|Lead 50633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050634|150634|989898|1|9999050634|MR|Test|E|Lead 50634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050635|150635|989898|1|9999050635|MR|Test|E|Lead 50635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050636|150636|989898|1|9999050636|MR|Test|E|Lead 50636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050637|150637|989898|1|9999050637|MR|Test|E|Lead 50637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050638|150638|989898|1|9999050638|MR|Test|E|Lead 50638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050639|150639|989898|1|9999050639|MR|Test|E|Lead 50639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050640|150640|989898|1|9999050640|MR|Test|E|Lead 50640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050641|150641|989898|1|9999050641|MR|Test|E|Lead 50641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050642|150642|989898|1|9999050642|MR|Test|E|Lead 50642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050643|150643|989898|1|9999050643|MR|Test|E|Lead 50643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050644|150644|989898|1|9999050644|MR|Test|E|Lead 50644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050645|150645|989898|1|9999050645|MR|Test|E|Lead 50645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050646|150646|989898|1|9999050646|MR|Test|E|Lead 50646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050647|150647|989898|1|9999050647|MR|Test|E|Lead 50647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050648|150648|989898|1|9999050648|MR|Test|E|Lead 50648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050649|150649|989898|1|9999050649|MR|Test|E|Lead 50649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050650|150650|989898|1|9999050650|MR|Test|E|Lead 50650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050651|150651|989898|1|9999050651|MR|Test|E|Lead 50651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050652|150652|989898|1|9999050652|MR|Test|E|Lead 50652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050653|150653|989898|1|9999050653|MR|Test|E|Lead 50653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050654|150654|989898|1|9999050654|MR|Test|E|Lead 50654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050655|150655|989898|1|9999050655|MR|Test|E|Lead 50655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050656|150656|989898|1|9999050656|MR|Test|E|Lead 50656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050657|150657|989898|1|9999050657|MR|Test|E|Lead 50657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050658|150658|989898|1|9999050658|MR|Test|E|Lead 50658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050659|150659|989898|1|9999050659|MR|Test|E|Lead 50659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050660|150660|989898|1|9999050660|MR|Test|E|Lead 50660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050661|150661|989898|1|9999050661|MR|Test|E|Lead 50661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050662|150662|989898|1|9999050662|MR|Test|E|Lead 50662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050663|150663|989898|1|9999050663|MR|Test|E|Lead 50663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050664|150664|989898|1|9999050664|MR|Test|E|Lead 50664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050665|150665|989898|1|9999050665|MR|Test|E|Lead 50665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050666|150666|989898|1|9999050666|MR|Test|E|Lead 50666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050667|150667|989898|1|9999050667|MR|Test|E|Lead 50667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050668|150668|989898|1|9999050668|MR|Test|E|Lead 50668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050669|150669|989898|1|9999050669|MR|Test|E|Lead 50669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050670|150670|989898|1|9999050670|MR|Test|E|Lead 50670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050671|150671|989898|1|9999050671|MR|Test|E|Lead 50671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050672|150672|989898|1|9999050672|MR|Test|E|Lead 50672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050673|150673|989898|1|9999050673|MR|Test|E|Lead 50673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050674|150674|989898|1|9999050674|MR|Test|E|Lead 50674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050675|150675|989898|1|9999050675|MR|Test|E|Lead 50675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050676|150676|989898|1|9999050676|MR|Test|E|Lead 50676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050677|150677|989898|1|9999050677|MR|Test|E|Lead 50677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050678|150678|989898|1|9999050678|MR|Test|E|Lead 50678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050679|150679|989898|1|9999050679|MR|Test|E|Lead 50679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050680|150680|989898|1|9999050680|MR|Test|E|Lead 50680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050681|150681|989898|1|9999050681|MR|Test|E|Lead 50681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050682|150682|989898|1|9999050682|MR|Test|E|Lead 50682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050683|150683|989898|1|9999050683|MR|Test|E|Lead 50683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050684|150684|989898|1|9999050684|MR|Test|E|Lead 50684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050685|150685|989898|1|9999050685|MR|Test|E|Lead 50685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050686|150686|989898|1|9999050686|MR|Test|E|Lead 50686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050687|150687|989898|1|9999050687|MR|Test|E|Lead 50687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050688|150688|989898|1|9999050688|MR|Test|E|Lead 50688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050689|150689|989898|1|9999050689|MR|Test|E|Lead 50689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050690|150690|989898|1|9999050690|MR|Test|E|Lead 50690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050691|150691|989898|1|9999050691|MR|Test|E|Lead 50691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050692|150692|989898|1|9999050692|MR|Test|E|Lead 50692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050693|150693|989898|1|9999050693|MR|Test|E|Lead 50693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050694|150694|989898|1|9999050694|MR|Test|E|Lead 50694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050695|150695|989898|1|9999050695|MR|Test|E|Lead 50695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050696|150696|989898|1|9999050696|MR|Test|E|Lead 50696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050697|150697|989898|1|9999050697|MR|Test|E|Lead 50697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050698|150698|989898|1|9999050698|MR|Test|E|Lead 50698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050699|150699|989898|1|9999050699|MR|Test|E|Lead 50699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050700|150700|989898|1|9999050700|MR|Test|E|Lead 50700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050701|150701|989898|1|9999050701|MR|Test|E|Lead 50701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050702|150702|989898|1|9999050702|MR|Test|E|Lead 50702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050703|150703|989898|1|9999050703|MR|Test|E|Lead 50703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050704|150704|989898|1|9999050704|MR|Test|E|Lead 50704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050705|150705|989898|1|9999050705|MR|Test|E|Lead 50705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050706|150706|989898|1|9999050706|MR|Test|E|Lead 50706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050707|150707|989898|1|9999050707|MR|Test|E|Lead 50707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050708|150708|989898|1|9999050708|MR|Test|E|Lead 50708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050709|150709|989898|1|9999050709|MR|Test|E|Lead 50709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050710|150710|989898|1|9999050710|MR|Test|E|Lead 50710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050711|150711|989898|1|9999050711|MR|Test|E|Lead 50711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050712|150712|989898|1|9999050712|MR|Test|E|Lead 50712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050713|150713|989898|1|9999050713|MR|Test|E|Lead 50713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050714|150714|989898|1|9999050714|MR|Test|E|Lead 50714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050715|150715|989898|1|9999050715|MR|Test|E|Lead 50715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050716|150716|989898|1|9999050716|MR|Test|E|Lead 50716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050717|150717|989898|1|9999050717|MR|Test|E|Lead 50717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050718|150718|989898|1|9999050718|MR|Test|E|Lead 50718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050719|150719|989898|1|9999050719|MR|Test|E|Lead 50719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050720|150720|989898|1|9999050720|MR|Test|E|Lead 50720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050721|150721|989898|1|9999050721|MR|Test|E|Lead 50721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050722|150722|989898|1|9999050722|MR|Test|E|Lead 50722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050723|150723|989898|1|9999050723|MR|Test|E|Lead 50723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050724|150724|989898|1|9999050724|MR|Test|E|Lead 50724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050725|150725|989898|1|9999050725|MR|Test|E|Lead 50725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050726|150726|989898|1|9999050726|MR|Test|E|Lead 50726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050727|150727|989898|1|9999050727|MR|Test|E|Lead 50727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050728|150728|989898|1|9999050728|MR|Test|E|Lead 50728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050729|150729|989898|1|9999050729|MR|Test|E|Lead 50729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050730|150730|989898|1|9999050730|MR|Test|E|Lead 50730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050731|150731|989898|1|9999050731|MR|Test|E|Lead 50731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050732|150732|989898|1|9999050732|MR|Test|E|Lead 50732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050733|150733|989898|1|9999050733|MR|Test|E|Lead 50733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050734|150734|989898|1|9999050734|MR|Test|E|Lead 50734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050735|150735|989898|1|9999050735|MR|Test|E|Lead 50735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050736|150736|989898|1|9999050736|MR|Test|E|Lead 50736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050737|150737|989898|1|9999050737|MR|Test|E|Lead 50737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050738|150738|989898|1|9999050738|MR|Test|E|Lead 50738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050739|150739|989898|1|9999050739|MR|Test|E|Lead 50739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050740|150740|989898|1|9999050740|MR|Test|E|Lead 50740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050741|150741|989898|1|9999050741|MR|Test|E|Lead 50741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050742|150742|989898|1|9999050742|MR|Test|E|Lead 50742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050743|150743|989898|1|9999050743|MR|Test|E|Lead 50743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050744|150744|989898|1|9999050744|MR|Test|E|Lead 50744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050745|150745|989898|1|9999050745|MR|Test|E|Lead 50745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050746|150746|989898|1|9999050746|MR|Test|E|Lead 50746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050747|150747|989898|1|9999050747|MR|Test|E|Lead 50747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050748|150748|989898|1|9999050748|MR|Test|E|Lead 50748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050749|150749|989898|1|9999050749|MR|Test|E|Lead 50749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050750|150750|989898|1|9999050750|MR|Test|E|Lead 50750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050751|150751|989898|1|9999050751|MR|Test|E|Lead 50751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050752|150752|989898|1|9999050752|MR|Test|E|Lead 50752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050753|150753|989898|1|9999050753|MR|Test|E|Lead 50753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050754|150754|989898|1|9999050754|MR|Test|E|Lead 50754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050755|150755|989898|1|9999050755|MR|Test|E|Lead 50755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050756|150756|989898|1|9999050756|MR|Test|E|Lead 50756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050757|150757|989898|1|9999050757|MR|Test|E|Lead 50757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050758|150758|989898|1|9999050758|MR|Test|E|Lead 50758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050759|150759|989898|1|9999050759|MR|Test|E|Lead 50759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050760|150760|989898|1|9999050760|MR|Test|E|Lead 50760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050761|150761|989898|1|9999050761|MR|Test|E|Lead 50761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050762|150762|989898|1|9999050762|MR|Test|E|Lead 50762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050763|150763|989898|1|9999050763|MR|Test|E|Lead 50763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050764|150764|989898|1|9999050764|MR|Test|E|Lead 50764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050765|150765|989898|1|9999050765|MR|Test|E|Lead 50765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050766|150766|989898|1|9999050766|MR|Test|E|Lead 50766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050767|150767|989898|1|9999050767|MR|Test|E|Lead 50767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050768|150768|989898|1|9999050768|MR|Test|E|Lead 50768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050769|150769|989898|1|9999050769|MR|Test|E|Lead 50769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050770|150770|989898|1|9999050770|MR|Test|E|Lead 50770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050771|150771|989898|1|9999050771|MR|Test|E|Lead 50771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050772|150772|989898|1|9999050772|MR|Test|E|Lead 50772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050773|150773|989898|1|9999050773|MR|Test|E|Lead 50773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050774|150774|989898|1|9999050774|MR|Test|E|Lead 50774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050775|150775|989898|1|9999050775|MR|Test|E|Lead 50775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050776|150776|989898|1|9999050776|MR|Test|E|Lead 50776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050777|150777|989898|1|9999050777|MR|Test|E|Lead 50777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050778|150778|989898|1|9999050778|MR|Test|E|Lead 50778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050779|150779|989898|1|9999050779|MR|Test|E|Lead 50779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050780|150780|989898|1|9999050780|MR|Test|E|Lead 50780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050781|150781|989898|1|9999050781|MR|Test|E|Lead 50781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050782|150782|989898|1|9999050782|MR|Test|E|Lead 50782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050783|150783|989898|1|9999050783|MR|Test|E|Lead 50783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050784|150784|989898|1|9999050784|MR|Test|E|Lead 50784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050785|150785|989898|1|9999050785|MR|Test|E|Lead 50785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050786|150786|989898|1|9999050786|MR|Test|E|Lead 50786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050787|150787|989898|1|9999050787|MR|Test|E|Lead 50787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050788|150788|989898|1|9999050788|MR|Test|E|Lead 50788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050789|150789|989898|1|9999050789|MR|Test|E|Lead 50789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050790|150790|989898|1|9999050790|MR|Test|E|Lead 50790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050791|150791|989898|1|9999050791|MR|Test|E|Lead 50791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050792|150792|989898|1|9999050792|MR|Test|E|Lead 50792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050793|150793|989898|1|9999050793|MR|Test|E|Lead 50793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050794|150794|989898|1|9999050794|MR|Test|E|Lead 50794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050795|150795|989898|1|9999050795|MR|Test|E|Lead 50795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050796|150796|989898|1|9999050796|MR|Test|E|Lead 50796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050797|150797|989898|1|9999050797|MR|Test|E|Lead 50797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050798|150798|989898|1|9999050798|MR|Test|E|Lead 50798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050799|150799|989898|1|9999050799|MR|Test|E|Lead 50799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050800|150800|989898|1|9999050800|MR|Test|E|Lead 50800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050801|150801|989898|1|9999050801|MR|Test|E|Lead 50801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050802|150802|989898|1|9999050802|MR|Test|E|Lead 50802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050803|150803|989898|1|9999050803|MR|Test|E|Lead 50803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050804|150804|989898|1|9999050804|MR|Test|E|Lead 50804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050805|150805|989898|1|9999050805|MR|Test|E|Lead 50805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050806|150806|989898|1|9999050806|MR|Test|E|Lead 50806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050807|150807|989898|1|9999050807|MR|Test|E|Lead 50807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050808|150808|989898|1|9999050808|MR|Test|E|Lead 50808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050809|150809|989898|1|9999050809|MR|Test|E|Lead 50809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050810|150810|989898|1|9999050810|MR|Test|E|Lead 50810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050811|150811|989898|1|9999050811|MR|Test|E|Lead 50811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050812|150812|989898|1|9999050812|MR|Test|E|Lead 50812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050813|150813|989898|1|9999050813|MR|Test|E|Lead 50813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050814|150814|989898|1|9999050814|MR|Test|E|Lead 50814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050815|150815|989898|1|9999050815|MR|Test|E|Lead 50815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050816|150816|989898|1|9999050816|MR|Test|E|Lead 50816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050817|150817|989898|1|9999050817|MR|Test|E|Lead 50817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050818|150818|989898|1|9999050818|MR|Test|E|Lead 50818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050819|150819|989898|1|9999050819|MR|Test|E|Lead 50819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050820|150820|989898|1|9999050820|MR|Test|E|Lead 50820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050821|150821|989898|1|9999050821|MR|Test|E|Lead 50821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050822|150822|989898|1|9999050822|MR|Test|E|Lead 50822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050823|150823|989898|1|9999050823|MR|Test|E|Lead 50823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050824|150824|989898|1|9999050824|MR|Test|E|Lead 50824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050825|150825|989898|1|9999050825|MR|Test|E|Lead 50825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050826|150826|989898|1|9999050826|MR|Test|E|Lead 50826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050827|150827|989898|1|9999050827|MR|Test|E|Lead 50827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050828|150828|989898|1|9999050828|MR|Test|E|Lead 50828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050829|150829|989898|1|9999050829|MR|Test|E|Lead 50829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050830|150830|989898|1|9999050830|MR|Test|E|Lead 50830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050831|150831|989898|1|9999050831|MR|Test|E|Lead 50831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050832|150832|989898|1|9999050832|MR|Test|E|Lead 50832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050833|150833|989898|1|9999050833|MR|Test|E|Lead 50833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050834|150834|989898|1|9999050834|MR|Test|E|Lead 50834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050835|150835|989898|1|9999050835|MR|Test|E|Lead 50835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050836|150836|989898|1|9999050836|MR|Test|E|Lead 50836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050837|150837|989898|1|9999050837|MR|Test|E|Lead 50837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050838|150838|989898|1|9999050838|MR|Test|E|Lead 50838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050839|150839|989898|1|9999050839|MR|Test|E|Lead 50839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050840|150840|989898|1|9999050840|MR|Test|E|Lead 50840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050841|150841|989898|1|9999050841|MR|Test|E|Lead 50841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050842|150842|989898|1|9999050842|MR|Test|E|Lead 50842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050843|150843|989898|1|9999050843|MR|Test|E|Lead 50843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050844|150844|989898|1|9999050844|MR|Test|E|Lead 50844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050845|150845|989898|1|9999050845|MR|Test|E|Lead 50845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050846|150846|989898|1|9999050846|MR|Test|E|Lead 50846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050847|150847|989898|1|9999050847|MR|Test|E|Lead 50847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050848|150848|989898|1|9999050848|MR|Test|E|Lead 50848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050849|150849|989898|1|9999050849|MR|Test|E|Lead 50849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050850|150850|989898|1|9999050850|MR|Test|E|Lead 50850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050851|150851|989898|1|9999050851|MR|Test|E|Lead 50851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050852|150852|989898|1|9999050852|MR|Test|E|Lead 50852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050853|150853|989898|1|9999050853|MR|Test|E|Lead 50853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050854|150854|989898|1|9999050854|MR|Test|E|Lead 50854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050855|150855|989898|1|9999050855|MR|Test|E|Lead 50855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050856|150856|989898|1|9999050856|MR|Test|E|Lead 50856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050857|150857|989898|1|9999050857|MR|Test|E|Lead 50857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050858|150858|989898|1|9999050858|MR|Test|E|Lead 50858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050859|150859|989898|1|9999050859|MR|Test|E|Lead 50859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050860|150860|989898|1|9999050860|MR|Test|E|Lead 50860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050861|150861|989898|1|9999050861|MR|Test|E|Lead 50861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050862|150862|989898|1|9999050862|MR|Test|E|Lead 50862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050863|150863|989898|1|9999050863|MR|Test|E|Lead 50863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050864|150864|989898|1|9999050864|MR|Test|E|Lead 50864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050865|150865|989898|1|9999050865|MR|Test|E|Lead 50865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050866|150866|989898|1|9999050866|MR|Test|E|Lead 50866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050867|150867|989898|1|9999050867|MR|Test|E|Lead 50867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050868|150868|989898|1|9999050868|MR|Test|E|Lead 50868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050869|150869|989898|1|9999050869|MR|Test|E|Lead 50869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050870|150870|989898|1|9999050870|MR|Test|E|Lead 50870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050871|150871|989898|1|9999050871|MR|Test|E|Lead 50871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050872|150872|989898|1|9999050872|MR|Test|E|Lead 50872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050873|150873|989898|1|9999050873|MR|Test|E|Lead 50873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050874|150874|989898|1|9999050874|MR|Test|E|Lead 50874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050875|150875|989898|1|9999050875|MR|Test|E|Lead 50875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050876|150876|989898|1|9999050876|MR|Test|E|Lead 50876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050877|150877|989898|1|9999050877|MR|Test|E|Lead 50877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050878|150878|989898|1|9999050878|MR|Test|E|Lead 50878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050879|150879|989898|1|9999050879|MR|Test|E|Lead 50879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050880|150880|989898|1|9999050880|MR|Test|E|Lead 50880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050881|150881|989898|1|9999050881|MR|Test|E|Lead 50881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050882|150882|989898|1|9999050882|MR|Test|E|Lead 50882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050883|150883|989898|1|9999050883|MR|Test|E|Lead 50883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050884|150884|989898|1|9999050884|MR|Test|E|Lead 50884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050885|150885|989898|1|9999050885|MR|Test|E|Lead 50885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050886|150886|989898|1|9999050886|MR|Test|E|Lead 50886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050887|150887|989898|1|9999050887|MR|Test|E|Lead 50887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050888|150888|989898|1|9999050888|MR|Test|E|Lead 50888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050889|150889|989898|1|9999050889|MR|Test|E|Lead 50889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050890|150890|989898|1|9999050890|MR|Test|E|Lead 50890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050891|150891|989898|1|9999050891|MR|Test|E|Lead 50891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050892|150892|989898|1|9999050892|MR|Test|E|Lead 50892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050893|150893|989898|1|9999050893|MR|Test|E|Lead 50893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050894|150894|989898|1|9999050894|MR|Test|E|Lead 50894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050895|150895|989898|1|9999050895|MR|Test|E|Lead 50895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050896|150896|989898|1|9999050896|MR|Test|E|Lead 50896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050897|150897|989898|1|9999050897|MR|Test|E|Lead 50897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050898|150898|989898|1|9999050898|MR|Test|E|Lead 50898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050899|150899|989898|1|9999050899|MR|Test|E|Lead 50899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050900|150900|989898|1|9999050900|MR|Test|E|Lead 50900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050901|150901|989898|1|9999050901|MR|Test|E|Lead 50901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050902|150902|989898|1|9999050902|MR|Test|E|Lead 50902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050903|150903|989898|1|9999050903|MR|Test|E|Lead 50903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050904|150904|989898|1|9999050904|MR|Test|E|Lead 50904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050905|150905|989898|1|9999050905|MR|Test|E|Lead 50905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050906|150906|989898|1|9999050906|MR|Test|E|Lead 50906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050907|150907|989898|1|9999050907|MR|Test|E|Lead 50907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050908|150908|989898|1|9999050908|MR|Test|E|Lead 50908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050909|150909|989898|1|9999050909|MR|Test|E|Lead 50909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050910|150910|989898|1|9999050910|MR|Test|E|Lead 50910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050911|150911|989898|1|9999050911|MR|Test|E|Lead 50911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050912|150912|989898|1|9999050912|MR|Test|E|Lead 50912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050913|150913|989898|1|9999050913|MR|Test|E|Lead 50913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050914|150914|989898|1|9999050914|MR|Test|E|Lead 50914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050915|150915|989898|1|9999050915|MR|Test|E|Lead 50915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050916|150916|989898|1|9999050916|MR|Test|E|Lead 50916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050917|150917|989898|1|9999050917|MR|Test|E|Lead 50917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050918|150918|989898|1|9999050918|MR|Test|E|Lead 50918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050919|150919|989898|1|9999050919|MR|Test|E|Lead 50919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050920|150920|989898|1|9999050920|MR|Test|E|Lead 50920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050921|150921|989898|1|9999050921|MR|Test|E|Lead 50921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050922|150922|989898|1|9999050922|MR|Test|E|Lead 50922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050923|150923|989898|1|9999050923|MR|Test|E|Lead 50923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050924|150924|989898|1|9999050924|MR|Test|E|Lead 50924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050925|150925|989898|1|9999050925|MR|Test|E|Lead 50925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050926|150926|989898|1|9999050926|MR|Test|E|Lead 50926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050927|150927|989898|1|9999050927|MR|Test|E|Lead 50927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050928|150928|989898|1|9999050928|MR|Test|E|Lead 50928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050929|150929|989898|1|9999050929|MR|Test|E|Lead 50929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050930|150930|989898|1|9999050930|MR|Test|E|Lead 50930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050931|150931|989898|1|9999050931|MR|Test|E|Lead 50931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050932|150932|989898|1|9999050932|MR|Test|E|Lead 50932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050933|150933|989898|1|9999050933|MR|Test|E|Lead 50933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050934|150934|989898|1|9999050934|MR|Test|E|Lead 50934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050935|150935|989898|1|9999050935|MR|Test|E|Lead 50935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050936|150936|989898|1|9999050936|MR|Test|E|Lead 50936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050937|150937|989898|1|9999050937|MR|Test|E|Lead 50937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050938|150938|989898|1|9999050938|MR|Test|E|Lead 50938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050939|150939|989898|1|9999050939|MR|Test|E|Lead 50939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050940|150940|989898|1|9999050940|MR|Test|E|Lead 50940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050941|150941|989898|1|9999050941|MR|Test|E|Lead 50941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050942|150942|989898|1|9999050942|MR|Test|E|Lead 50942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050943|150943|989898|1|9999050943|MR|Test|E|Lead 50943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050944|150944|989898|1|9999050944|MR|Test|E|Lead 50944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050945|150945|989898|1|9999050945|MR|Test|E|Lead 50945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050946|150946|989898|1|9999050946|MR|Test|E|Lead 50946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050947|150947|989898|1|9999050947|MR|Test|E|Lead 50947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050948|150948|989898|1|9999050948|MR|Test|E|Lead 50948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050949|150949|989898|1|9999050949|MR|Test|E|Lead 50949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050950|150950|989898|1|9999050950|MR|Test|E|Lead 50950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050951|150951|989898|1|9999050951|MR|Test|E|Lead 50951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050952|150952|989898|1|9999050952|MR|Test|E|Lead 50952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050953|150953|989898|1|9999050953|MR|Test|E|Lead 50953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050954|150954|989898|1|9999050954|MR|Test|E|Lead 50954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050955|150955|989898|1|9999050955|MR|Test|E|Lead 50955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050956|150956|989898|1|9999050956|MR|Test|E|Lead 50956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050957|150957|989898|1|9999050957|MR|Test|E|Lead 50957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050958|150958|989898|1|9999050958|MR|Test|E|Lead 50958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050959|150959|989898|1|9999050959|MR|Test|E|Lead 50959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050960|150960|989898|1|9999050960|MR|Test|E|Lead 50960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050961|150961|989898|1|9999050961|MR|Test|E|Lead 50961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050962|150962|989898|1|9999050962|MR|Test|E|Lead 50962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050963|150963|989898|1|9999050963|MR|Test|E|Lead 50963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050964|150964|989898|1|9999050964|MR|Test|E|Lead 50964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050965|150965|989898|1|9999050965|MR|Test|E|Lead 50965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050966|150966|989898|1|9999050966|MR|Test|E|Lead 50966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050967|150967|989898|1|9999050967|MR|Test|E|Lead 50967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050968|150968|989898|1|9999050968|MR|Test|E|Lead 50968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050969|150969|989898|1|9999050969|MR|Test|E|Lead 50969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050970|150970|989898|1|9999050970|MR|Test|E|Lead 50970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050971|150971|989898|1|9999050971|MR|Test|E|Lead 50971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050972|150972|989898|1|9999050972|MR|Test|E|Lead 50972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050973|150973|989898|1|9999050973|MR|Test|E|Lead 50973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050974|150974|989898|1|9999050974|MR|Test|E|Lead 50974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050975|150975|989898|1|9999050975|MR|Test|E|Lead 50975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050976|150976|989898|1|9999050976|MR|Test|E|Lead 50976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050977|150977|989898|1|9999050977|MR|Test|E|Lead 50977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050978|150978|989898|1|9999050978|MR|Test|E|Lead 50978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050979|150979|989898|1|9999050979|MR|Test|E|Lead 50979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050980|150980|989898|1|9999050980|MR|Test|E|Lead 50980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050981|150981|989898|1|9999050981|MR|Test|E|Lead 50981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050982|150982|989898|1|9999050982|MR|Test|E|Lead 50982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050983|150983|989898|1|9999050983|MR|Test|E|Lead 50983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050984|150984|989898|1|9999050984|MR|Test|E|Lead 50984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050985|150985|989898|1|9999050985|MR|Test|E|Lead 50985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050986|150986|989898|1|9999050986|MR|Test|E|Lead 50986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050987|150987|989898|1|9999050987|MR|Test|E|Lead 50987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050988|150988|989898|1|9999050988|MR|Test|E|Lead 50988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050989|150989|989898|1|9999050989|MR|Test|E|Lead 50989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050990|150990|989898|1|9999050990|MR|Test|E|Lead 50990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050991|150991|989898|1|9999050991|MR|Test|E|Lead 50991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050992|150992|989898|1|9999050992|MR|Test|E|Lead 50992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050993|150993|989898|1|9999050993|MR|Test|E|Lead 50993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050994|150994|989898|1|9999050994|MR|Test|E|Lead 50994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050995|150995|989898|1|9999050995|MR|Test|E|Lead 50995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050996|150996|989898|1|9999050996|MR|Test|E|Lead 50996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050997|150997|989898|1|9999050997|MR|Test|E|Lead 50997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050998|150998|989898|1|9999050998|MR|Test|E|Lead 50998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1050999|150999|989898|1|9999050999|MR|Test|E|Lead 50999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051000|151000|989898|1|9999051000|MR|Test|E|Lead 51000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051001|151001|989898|1|9999051001|MR|Test|E|Lead 51001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051002|151002|989898|1|9999051002|MR|Test|E|Lead 51002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051003|151003|989898|1|9999051003|MR|Test|E|Lead 51003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051004|151004|989898|1|9999051004|MR|Test|E|Lead 51004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051005|151005|989898|1|9999051005|MR|Test|E|Lead 51005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051006|151006|989898|1|9999051006|MR|Test|E|Lead 51006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051007|151007|989898|1|9999051007|MR|Test|E|Lead 51007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051008|151008|989898|1|9999051008|MR|Test|E|Lead 51008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051009|151009|989898|1|9999051009|MR|Test|E|Lead 51009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051010|151010|989898|1|9999051010|MR|Test|E|Lead 51010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051011|151011|989898|1|9999051011|MR|Test|E|Lead 51011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051012|151012|989898|1|9999051012|MR|Test|E|Lead 51012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051013|151013|989898|1|9999051013|MR|Test|E|Lead 51013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051014|151014|989898|1|9999051014|MR|Test|E|Lead 51014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051015|151015|989898|1|9999051015|MR|Test|E|Lead 51015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051016|151016|989898|1|9999051016|MR|Test|E|Lead 51016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051017|151017|989898|1|9999051017|MR|Test|E|Lead 51017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051018|151018|989898|1|9999051018|MR|Test|E|Lead 51018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051019|151019|989898|1|9999051019|MR|Test|E|Lead 51019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051020|151020|989898|1|9999051020|MR|Test|E|Lead 51020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051021|151021|989898|1|9999051021|MR|Test|E|Lead 51021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051022|151022|989898|1|9999051022|MR|Test|E|Lead 51022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051023|151023|989898|1|9999051023|MR|Test|E|Lead 51023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051024|151024|989898|1|9999051024|MR|Test|E|Lead 51024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051025|151025|989898|1|9999051025|MR|Test|E|Lead 51025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051026|151026|989898|1|9999051026|MR|Test|E|Lead 51026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051027|151027|989898|1|9999051027|MR|Test|E|Lead 51027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051028|151028|989898|1|9999051028|MR|Test|E|Lead 51028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051029|151029|989898|1|9999051029|MR|Test|E|Lead 51029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051030|151030|989898|1|9999051030|MR|Test|E|Lead 51030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051031|151031|989898|1|9999051031|MR|Test|E|Lead 51031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051032|151032|989898|1|9999051032|MR|Test|E|Lead 51032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051033|151033|989898|1|9999051033|MR|Test|E|Lead 51033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051034|151034|989898|1|9999051034|MR|Test|E|Lead 51034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051035|151035|989898|1|9999051035|MR|Test|E|Lead 51035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051036|151036|989898|1|9999051036|MR|Test|E|Lead 51036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051037|151037|989898|1|9999051037|MR|Test|E|Lead 51037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051038|151038|989898|1|9999051038|MR|Test|E|Lead 51038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051039|151039|989898|1|9999051039|MR|Test|E|Lead 51039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051040|151040|989898|1|9999051040|MR|Test|E|Lead 51040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051041|151041|989898|1|9999051041|MR|Test|E|Lead 51041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051042|151042|989898|1|9999051042|MR|Test|E|Lead 51042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051043|151043|989898|1|9999051043|MR|Test|E|Lead 51043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051044|151044|989898|1|9999051044|MR|Test|E|Lead 51044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051045|151045|989898|1|9999051045|MR|Test|E|Lead 51045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051046|151046|989898|1|9999051046|MR|Test|E|Lead 51046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051047|151047|989898|1|9999051047|MR|Test|E|Lead 51047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051048|151048|989898|1|9999051048|MR|Test|E|Lead 51048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051049|151049|989898|1|9999051049|MR|Test|E|Lead 51049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051050|151050|989898|1|9999051050|MR|Test|E|Lead 51050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051051|151051|989898|1|9999051051|MR|Test|E|Lead 51051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051052|151052|989898|1|9999051052|MR|Test|E|Lead 51052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051053|151053|989898|1|9999051053|MR|Test|E|Lead 51053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051054|151054|989898|1|9999051054|MR|Test|E|Lead 51054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051055|151055|989898|1|9999051055|MR|Test|E|Lead 51055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051056|151056|989898|1|9999051056|MR|Test|E|Lead 51056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051057|151057|989898|1|9999051057|MR|Test|E|Lead 51057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051058|151058|989898|1|9999051058|MR|Test|E|Lead 51058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051059|151059|989898|1|9999051059|MR|Test|E|Lead 51059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051060|151060|989898|1|9999051060|MR|Test|E|Lead 51060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051061|151061|989898|1|9999051061|MR|Test|E|Lead 51061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051062|151062|989898|1|9999051062|MR|Test|E|Lead 51062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051063|151063|989898|1|9999051063|MR|Test|E|Lead 51063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051064|151064|989898|1|9999051064|MR|Test|E|Lead 51064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051065|151065|989898|1|9999051065|MR|Test|E|Lead 51065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051066|151066|989898|1|9999051066|MR|Test|E|Lead 51066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051067|151067|989898|1|9999051067|MR|Test|E|Lead 51067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051068|151068|989898|1|9999051068|MR|Test|E|Lead 51068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051069|151069|989898|1|9999051069|MR|Test|E|Lead 51069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051070|151070|989898|1|9999051070|MR|Test|E|Lead 51070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051071|151071|989898|1|9999051071|MR|Test|E|Lead 51071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051072|151072|989898|1|9999051072|MR|Test|E|Lead 51072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051073|151073|989898|1|9999051073|MR|Test|E|Lead 51073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051074|151074|989898|1|9999051074|MR|Test|E|Lead 51074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051075|151075|989898|1|9999051075|MR|Test|E|Lead 51075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051076|151076|989898|1|9999051076|MR|Test|E|Lead 51076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051077|151077|989898|1|9999051077|MR|Test|E|Lead 51077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051078|151078|989898|1|9999051078|MR|Test|E|Lead 51078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051079|151079|989898|1|9999051079|MR|Test|E|Lead 51079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051080|151080|989898|1|9999051080|MR|Test|E|Lead 51080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051081|151081|989898|1|9999051081|MR|Test|E|Lead 51081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051082|151082|989898|1|9999051082|MR|Test|E|Lead 51082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051083|151083|989898|1|9999051083|MR|Test|E|Lead 51083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051084|151084|989898|1|9999051084|MR|Test|E|Lead 51084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051085|151085|989898|1|9999051085|MR|Test|E|Lead 51085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051086|151086|989898|1|9999051086|MR|Test|E|Lead 51086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051087|151087|989898|1|9999051087|MR|Test|E|Lead 51087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051088|151088|989898|1|9999051088|MR|Test|E|Lead 51088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051089|151089|989898|1|9999051089|MR|Test|E|Lead 51089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051090|151090|989898|1|9999051090|MR|Test|E|Lead 51090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051091|151091|989898|1|9999051091|MR|Test|E|Lead 51091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051092|151092|989898|1|9999051092|MR|Test|E|Lead 51092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051093|151093|989898|1|9999051093|MR|Test|E|Lead 51093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051094|151094|989898|1|9999051094|MR|Test|E|Lead 51094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051095|151095|989898|1|9999051095|MR|Test|E|Lead 51095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051096|151096|989898|1|9999051096|MR|Test|E|Lead 51096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051097|151097|989898|1|9999051097|MR|Test|E|Lead 51097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051098|151098|989898|1|9999051098|MR|Test|E|Lead 51098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051099|151099|989898|1|9999051099|MR|Test|E|Lead 51099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051100|151100|989898|1|9999051100|MR|Test|E|Lead 51100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051101|151101|989898|1|9999051101|MR|Test|E|Lead 51101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051102|151102|989898|1|9999051102|MR|Test|E|Lead 51102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051103|151103|989898|1|9999051103|MR|Test|E|Lead 51103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051104|151104|989898|1|9999051104|MR|Test|E|Lead 51104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051105|151105|989898|1|9999051105|MR|Test|E|Lead 51105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051106|151106|989898|1|9999051106|MR|Test|E|Lead 51106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051107|151107|989898|1|9999051107|MR|Test|E|Lead 51107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051108|151108|989898|1|9999051108|MR|Test|E|Lead 51108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051109|151109|989898|1|9999051109|MR|Test|E|Lead 51109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051110|151110|989898|1|9999051110|MR|Test|E|Lead 51110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051111|151111|989898|1|9999051111|MR|Test|E|Lead 51111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051112|151112|989898|1|9999051112|MR|Test|E|Lead 51112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051113|151113|989898|1|9999051113|MR|Test|E|Lead 51113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051114|151114|989898|1|9999051114|MR|Test|E|Lead 51114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051115|151115|989898|1|9999051115|MR|Test|E|Lead 51115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051116|151116|989898|1|9999051116|MR|Test|E|Lead 51116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051117|151117|989898|1|9999051117|MR|Test|E|Lead 51117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051118|151118|989898|1|9999051118|MR|Test|E|Lead 51118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051119|151119|989898|1|9999051119|MR|Test|E|Lead 51119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051120|151120|989898|1|9999051120|MR|Test|E|Lead 51120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051121|151121|989898|1|9999051121|MR|Test|E|Lead 51121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051122|151122|989898|1|9999051122|MR|Test|E|Lead 51122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051123|151123|989898|1|9999051123|MR|Test|E|Lead 51123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051124|151124|989898|1|9999051124|MR|Test|E|Lead 51124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051125|151125|989898|1|9999051125|MR|Test|E|Lead 51125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051126|151126|989898|1|9999051126|MR|Test|E|Lead 51126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051127|151127|989898|1|9999051127|MR|Test|E|Lead 51127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051128|151128|989898|1|9999051128|MR|Test|E|Lead 51128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051129|151129|989898|1|9999051129|MR|Test|E|Lead 51129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051130|151130|989898|1|9999051130|MR|Test|E|Lead 51130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051131|151131|989898|1|9999051131|MR|Test|E|Lead 51131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051132|151132|989898|1|9999051132|MR|Test|E|Lead 51132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051133|151133|989898|1|9999051133|MR|Test|E|Lead 51133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051134|151134|989898|1|9999051134|MR|Test|E|Lead 51134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051135|151135|989898|1|9999051135|MR|Test|E|Lead 51135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051136|151136|989898|1|9999051136|MR|Test|E|Lead 51136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051137|151137|989898|1|9999051137|MR|Test|E|Lead 51137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051138|151138|989898|1|9999051138|MR|Test|E|Lead 51138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051139|151139|989898|1|9999051139|MR|Test|E|Lead 51139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051140|151140|989898|1|9999051140|MR|Test|E|Lead 51140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051141|151141|989898|1|9999051141|MR|Test|E|Lead 51141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051142|151142|989898|1|9999051142|MR|Test|E|Lead 51142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051143|151143|989898|1|9999051143|MR|Test|E|Lead 51143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051144|151144|989898|1|9999051144|MR|Test|E|Lead 51144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051145|151145|989898|1|9999051145|MR|Test|E|Lead 51145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051146|151146|989898|1|9999051146|MR|Test|E|Lead 51146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051147|151147|989898|1|9999051147|MR|Test|E|Lead 51147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051148|151148|989898|1|9999051148|MR|Test|E|Lead 51148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051149|151149|989898|1|9999051149|MR|Test|E|Lead 51149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051150|151150|989898|1|9999051150|MR|Test|E|Lead 51150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051151|151151|989898|1|9999051151|MR|Test|E|Lead 51151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051152|151152|989898|1|9999051152|MR|Test|E|Lead 51152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051153|151153|989898|1|9999051153|MR|Test|E|Lead 51153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051154|151154|989898|1|9999051154|MR|Test|E|Lead 51154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051155|151155|989898|1|9999051155|MR|Test|E|Lead 51155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051156|151156|989898|1|9999051156|MR|Test|E|Lead 51156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051157|151157|989898|1|9999051157|MR|Test|E|Lead 51157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051158|151158|989898|1|9999051158|MR|Test|E|Lead 51158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051159|151159|989898|1|9999051159|MR|Test|E|Lead 51159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051160|151160|989898|1|9999051160|MR|Test|E|Lead 51160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051161|151161|989898|1|9999051161|MR|Test|E|Lead 51161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051162|151162|989898|1|9999051162|MR|Test|E|Lead 51162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051163|151163|989898|1|9999051163|MR|Test|E|Lead 51163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051164|151164|989898|1|9999051164|MR|Test|E|Lead 51164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051165|151165|989898|1|9999051165|MR|Test|E|Lead 51165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051166|151166|989898|1|9999051166|MR|Test|E|Lead 51166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051167|151167|989898|1|9999051167|MR|Test|E|Lead 51167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051168|151168|989898|1|9999051168|MR|Test|E|Lead 51168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051169|151169|989898|1|9999051169|MR|Test|E|Lead 51169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051170|151170|989898|1|9999051170|MR|Test|E|Lead 51170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051171|151171|989898|1|9999051171|MR|Test|E|Lead 51171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051172|151172|989898|1|9999051172|MR|Test|E|Lead 51172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051173|151173|989898|1|9999051173|MR|Test|E|Lead 51173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051174|151174|989898|1|9999051174|MR|Test|E|Lead 51174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051175|151175|989898|1|9999051175|MR|Test|E|Lead 51175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051176|151176|989898|1|9999051176|MR|Test|E|Lead 51176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051177|151177|989898|1|9999051177|MR|Test|E|Lead 51177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051178|151178|989898|1|9999051178|MR|Test|E|Lead 51178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051179|151179|989898|1|9999051179|MR|Test|E|Lead 51179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051180|151180|989898|1|9999051180|MR|Test|E|Lead 51180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051181|151181|989898|1|9999051181|MR|Test|E|Lead 51181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051182|151182|989898|1|9999051182|MR|Test|E|Lead 51182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051183|151183|989898|1|9999051183|MR|Test|E|Lead 51183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051184|151184|989898|1|9999051184|MR|Test|E|Lead 51184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051185|151185|989898|1|9999051185|MR|Test|E|Lead 51185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051186|151186|989898|1|9999051186|MR|Test|E|Lead 51186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051187|151187|989898|1|9999051187|MR|Test|E|Lead 51187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051188|151188|989898|1|9999051188|MR|Test|E|Lead 51188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051189|151189|989898|1|9999051189|MR|Test|E|Lead 51189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051190|151190|989898|1|9999051190|MR|Test|E|Lead 51190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051191|151191|989898|1|9999051191|MR|Test|E|Lead 51191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051192|151192|989898|1|9999051192|MR|Test|E|Lead 51192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051193|151193|989898|1|9999051193|MR|Test|E|Lead 51193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051194|151194|989898|1|9999051194|MR|Test|E|Lead 51194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051195|151195|989898|1|9999051195|MR|Test|E|Lead 51195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051196|151196|989898|1|9999051196|MR|Test|E|Lead 51196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051197|151197|989898|1|9999051197|MR|Test|E|Lead 51197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051198|151198|989898|1|9999051198|MR|Test|E|Lead 51198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051199|151199|989898|1|9999051199|MR|Test|E|Lead 51199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051200|151200|989898|1|9999051200|MR|Test|E|Lead 51200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051201|151201|989898|1|9999051201|MR|Test|E|Lead 51201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051202|151202|989898|1|9999051202|MR|Test|E|Lead 51202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051203|151203|989898|1|9999051203|MR|Test|E|Lead 51203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051204|151204|989898|1|9999051204|MR|Test|E|Lead 51204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051205|151205|989898|1|9999051205|MR|Test|E|Lead 51205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051206|151206|989898|1|9999051206|MR|Test|E|Lead 51206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051207|151207|989898|1|9999051207|MR|Test|E|Lead 51207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051208|151208|989898|1|9999051208|MR|Test|E|Lead 51208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051209|151209|989898|1|9999051209|MR|Test|E|Lead 51209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051210|151210|989898|1|9999051210|MR|Test|E|Lead 51210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051211|151211|989898|1|9999051211|MR|Test|E|Lead 51211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051212|151212|989898|1|9999051212|MR|Test|E|Lead 51212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051213|151213|989898|1|9999051213|MR|Test|E|Lead 51213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051214|151214|989898|1|9999051214|MR|Test|E|Lead 51214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051215|151215|989898|1|9999051215|MR|Test|E|Lead 51215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051216|151216|989898|1|9999051216|MR|Test|E|Lead 51216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051217|151217|989898|1|9999051217|MR|Test|E|Lead 51217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051218|151218|989898|1|9999051218|MR|Test|E|Lead 51218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051219|151219|989898|1|9999051219|MR|Test|E|Lead 51219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051220|151220|989898|1|9999051220|MR|Test|E|Lead 51220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051221|151221|989898|1|9999051221|MR|Test|E|Lead 51221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051222|151222|989898|1|9999051222|MR|Test|E|Lead 51222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051223|151223|989898|1|9999051223|MR|Test|E|Lead 51223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051224|151224|989898|1|9999051224|MR|Test|E|Lead 51224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051225|151225|989898|1|9999051225|MR|Test|E|Lead 51225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051226|151226|989898|1|9999051226|MR|Test|E|Lead 51226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051227|151227|989898|1|9999051227|MR|Test|E|Lead 51227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051228|151228|989898|1|9999051228|MR|Test|E|Lead 51228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051229|151229|989898|1|9999051229|MR|Test|E|Lead 51229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051230|151230|989898|1|9999051230|MR|Test|E|Lead 51230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051231|151231|989898|1|9999051231|MR|Test|E|Lead 51231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051232|151232|989898|1|9999051232|MR|Test|E|Lead 51232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051233|151233|989898|1|9999051233|MR|Test|E|Lead 51233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051234|151234|989898|1|9999051234|MR|Test|E|Lead 51234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051235|151235|989898|1|9999051235|MR|Test|E|Lead 51235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051236|151236|989898|1|9999051236|MR|Test|E|Lead 51236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051237|151237|989898|1|9999051237|MR|Test|E|Lead 51237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051238|151238|989898|1|9999051238|MR|Test|E|Lead 51238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051239|151239|989898|1|9999051239|MR|Test|E|Lead 51239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051240|151240|989898|1|9999051240|MR|Test|E|Lead 51240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051241|151241|989898|1|9999051241|MR|Test|E|Lead 51241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051242|151242|989898|1|9999051242|MR|Test|E|Lead 51242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051243|151243|989898|1|9999051243|MR|Test|E|Lead 51243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051244|151244|989898|1|9999051244|MR|Test|E|Lead 51244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051245|151245|989898|1|9999051245|MR|Test|E|Lead 51245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051246|151246|989898|1|9999051246|MR|Test|E|Lead 51246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051247|151247|989898|1|9999051247|MR|Test|E|Lead 51247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051248|151248|989898|1|9999051248|MR|Test|E|Lead 51248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051249|151249|989898|1|9999051249|MR|Test|E|Lead 51249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051250|151250|989898|1|9999051250|MR|Test|E|Lead 51250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051251|151251|989898|1|9999051251|MR|Test|E|Lead 51251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051252|151252|989898|1|9999051252|MR|Test|E|Lead 51252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051253|151253|989898|1|9999051253|MR|Test|E|Lead 51253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051254|151254|989898|1|9999051254|MR|Test|E|Lead 51254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051255|151255|989898|1|9999051255|MR|Test|E|Lead 51255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051256|151256|989898|1|9999051256|MR|Test|E|Lead 51256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051257|151257|989898|1|9999051257|MR|Test|E|Lead 51257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051258|151258|989898|1|9999051258|MR|Test|E|Lead 51258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051259|151259|989898|1|9999051259|MR|Test|E|Lead 51259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051260|151260|989898|1|9999051260|MR|Test|E|Lead 51260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051261|151261|989898|1|9999051261|MR|Test|E|Lead 51261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051262|151262|989898|1|9999051262|MR|Test|E|Lead 51262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051263|151263|989898|1|9999051263|MR|Test|E|Lead 51263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051264|151264|989898|1|9999051264|MR|Test|E|Lead 51264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051265|151265|989898|1|9999051265|MR|Test|E|Lead 51265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051266|151266|989898|1|9999051266|MR|Test|E|Lead 51266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051267|151267|989898|1|9999051267|MR|Test|E|Lead 51267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051268|151268|989898|1|9999051268|MR|Test|E|Lead 51268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051269|151269|989898|1|9999051269|MR|Test|E|Lead 51269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051270|151270|989898|1|9999051270|MR|Test|E|Lead 51270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051271|151271|989898|1|9999051271|MR|Test|E|Lead 51271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051272|151272|989898|1|9999051272|MR|Test|E|Lead 51272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051273|151273|989898|1|9999051273|MR|Test|E|Lead 51273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051274|151274|989898|1|9999051274|MR|Test|E|Lead 51274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051275|151275|989898|1|9999051275|MR|Test|E|Lead 51275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051276|151276|989898|1|9999051276|MR|Test|E|Lead 51276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051277|151277|989898|1|9999051277|MR|Test|E|Lead 51277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051278|151278|989898|1|9999051278|MR|Test|E|Lead 51278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051279|151279|989898|1|9999051279|MR|Test|E|Lead 51279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051280|151280|989898|1|9999051280|MR|Test|E|Lead 51280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051281|151281|989898|1|9999051281|MR|Test|E|Lead 51281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051282|151282|989898|1|9999051282|MR|Test|E|Lead 51282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051283|151283|989898|1|9999051283|MR|Test|E|Lead 51283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051284|151284|989898|1|9999051284|MR|Test|E|Lead 51284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051285|151285|989898|1|9999051285|MR|Test|E|Lead 51285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051286|151286|989898|1|9999051286|MR|Test|E|Lead 51286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051287|151287|989898|1|9999051287|MR|Test|E|Lead 51287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051288|151288|989898|1|9999051288|MR|Test|E|Lead 51288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051289|151289|989898|1|9999051289|MR|Test|E|Lead 51289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051290|151290|989898|1|9999051290|MR|Test|E|Lead 51290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051291|151291|989898|1|9999051291|MR|Test|E|Lead 51291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051292|151292|989898|1|9999051292|MR|Test|E|Lead 51292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051293|151293|989898|1|9999051293|MR|Test|E|Lead 51293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051294|151294|989898|1|9999051294|MR|Test|E|Lead 51294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051295|151295|989898|1|9999051295|MR|Test|E|Lead 51295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051296|151296|989898|1|9999051296|MR|Test|E|Lead 51296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051297|151297|989898|1|9999051297|MR|Test|E|Lead 51297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051298|151298|989898|1|9999051298|MR|Test|E|Lead 51298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051299|151299|989898|1|9999051299|MR|Test|E|Lead 51299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051300|151300|989898|1|9999051300|MR|Test|E|Lead 51300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051301|151301|989898|1|9999051301|MR|Test|E|Lead 51301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051302|151302|989898|1|9999051302|MR|Test|E|Lead 51302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051303|151303|989898|1|9999051303|MR|Test|E|Lead 51303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051304|151304|989898|1|9999051304|MR|Test|E|Lead 51304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051305|151305|989898|1|9999051305|MR|Test|E|Lead 51305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051306|151306|989898|1|9999051306|MR|Test|E|Lead 51306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051307|151307|989898|1|9999051307|MR|Test|E|Lead 51307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051308|151308|989898|1|9999051308|MR|Test|E|Lead 51308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051309|151309|989898|1|9999051309|MR|Test|E|Lead 51309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051310|151310|989898|1|9999051310|MR|Test|E|Lead 51310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051311|151311|989898|1|9999051311|MR|Test|E|Lead 51311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051312|151312|989898|1|9999051312|MR|Test|E|Lead 51312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051313|151313|989898|1|9999051313|MR|Test|E|Lead 51313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051314|151314|989898|1|9999051314|MR|Test|E|Lead 51314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051315|151315|989898|1|9999051315|MR|Test|E|Lead 51315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051316|151316|989898|1|9999051316|MR|Test|E|Lead 51316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051317|151317|989898|1|9999051317|MR|Test|E|Lead 51317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051318|151318|989898|1|9999051318|MR|Test|E|Lead 51318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051319|151319|989898|1|9999051319|MR|Test|E|Lead 51319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051320|151320|989898|1|9999051320|MR|Test|E|Lead 51320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051321|151321|989898|1|9999051321|MR|Test|E|Lead 51321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051322|151322|989898|1|9999051322|MR|Test|E|Lead 51322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051323|151323|989898|1|9999051323|MR|Test|E|Lead 51323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051324|151324|989898|1|9999051324|MR|Test|E|Lead 51324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051325|151325|989898|1|9999051325|MR|Test|E|Lead 51325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051326|151326|989898|1|9999051326|MR|Test|E|Lead 51326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051327|151327|989898|1|9999051327|MR|Test|E|Lead 51327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051328|151328|989898|1|9999051328|MR|Test|E|Lead 51328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051329|151329|989898|1|9999051329|MR|Test|E|Lead 51329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051330|151330|989898|1|9999051330|MR|Test|E|Lead 51330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051331|151331|989898|1|9999051331|MR|Test|E|Lead 51331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051332|151332|989898|1|9999051332|MR|Test|E|Lead 51332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051333|151333|989898|1|9999051333|MR|Test|E|Lead 51333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051334|151334|989898|1|9999051334|MR|Test|E|Lead 51334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051335|151335|989898|1|9999051335|MR|Test|E|Lead 51335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051336|151336|989898|1|9999051336|MR|Test|E|Lead 51336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051337|151337|989898|1|9999051337|MR|Test|E|Lead 51337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051338|151338|989898|1|9999051338|MR|Test|E|Lead 51338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051339|151339|989898|1|9999051339|MR|Test|E|Lead 51339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051340|151340|989898|1|9999051340|MR|Test|E|Lead 51340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051341|151341|989898|1|9999051341|MR|Test|E|Lead 51341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051342|151342|989898|1|9999051342|MR|Test|E|Lead 51342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051343|151343|989898|1|9999051343|MR|Test|E|Lead 51343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051344|151344|989898|1|9999051344|MR|Test|E|Lead 51344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051345|151345|989898|1|9999051345|MR|Test|E|Lead 51345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051346|151346|989898|1|9999051346|MR|Test|E|Lead 51346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051347|151347|989898|1|9999051347|MR|Test|E|Lead 51347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051348|151348|989898|1|9999051348|MR|Test|E|Lead 51348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051349|151349|989898|1|9999051349|MR|Test|E|Lead 51349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051350|151350|989898|1|9999051350|MR|Test|E|Lead 51350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051351|151351|989898|1|9999051351|MR|Test|E|Lead 51351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051352|151352|989898|1|9999051352|MR|Test|E|Lead 51352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051353|151353|989898|1|9999051353|MR|Test|E|Lead 51353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051354|151354|989898|1|9999051354|MR|Test|E|Lead 51354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051355|151355|989898|1|9999051355|MR|Test|E|Lead 51355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051356|151356|989898|1|9999051356|MR|Test|E|Lead 51356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051357|151357|989898|1|9999051357|MR|Test|E|Lead 51357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051358|151358|989898|1|9999051358|MR|Test|E|Lead 51358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051359|151359|989898|1|9999051359|MR|Test|E|Lead 51359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051360|151360|989898|1|9999051360|MR|Test|E|Lead 51360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051361|151361|989898|1|9999051361|MR|Test|E|Lead 51361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051362|151362|989898|1|9999051362|MR|Test|E|Lead 51362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051363|151363|989898|1|9999051363|MR|Test|E|Lead 51363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051364|151364|989898|1|9999051364|MR|Test|E|Lead 51364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051365|151365|989898|1|9999051365|MR|Test|E|Lead 51365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051366|151366|989898|1|9999051366|MR|Test|E|Lead 51366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051367|151367|989898|1|9999051367|MR|Test|E|Lead 51367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051368|151368|989898|1|9999051368|MR|Test|E|Lead 51368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051369|151369|989898|1|9999051369|MR|Test|E|Lead 51369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051370|151370|989898|1|9999051370|MR|Test|E|Lead 51370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051371|151371|989898|1|9999051371|MR|Test|E|Lead 51371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051372|151372|989898|1|9999051372|MR|Test|E|Lead 51372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051373|151373|989898|1|9999051373|MR|Test|E|Lead 51373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051374|151374|989898|1|9999051374|MR|Test|E|Lead 51374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051375|151375|989898|1|9999051375|MR|Test|E|Lead 51375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051376|151376|989898|1|9999051376|MR|Test|E|Lead 51376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051377|151377|989898|1|9999051377|MR|Test|E|Lead 51377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051378|151378|989898|1|9999051378|MR|Test|E|Lead 51378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051379|151379|989898|1|9999051379|MR|Test|E|Lead 51379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051380|151380|989898|1|9999051380|MR|Test|E|Lead 51380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051381|151381|989898|1|9999051381|MR|Test|E|Lead 51381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051382|151382|989898|1|9999051382|MR|Test|E|Lead 51382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051383|151383|989898|1|9999051383|MR|Test|E|Lead 51383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051384|151384|989898|1|9999051384|MR|Test|E|Lead 51384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051385|151385|989898|1|9999051385|MR|Test|E|Lead 51385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051386|151386|989898|1|9999051386|MR|Test|E|Lead 51386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051387|151387|989898|1|9999051387|MR|Test|E|Lead 51387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051388|151388|989898|1|9999051388|MR|Test|E|Lead 51388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051389|151389|989898|1|9999051389|MR|Test|E|Lead 51389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051390|151390|989898|1|9999051390|MR|Test|E|Lead 51390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051391|151391|989898|1|9999051391|MR|Test|E|Lead 51391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051392|151392|989898|1|9999051392|MR|Test|E|Lead 51392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051393|151393|989898|1|9999051393|MR|Test|E|Lead 51393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051394|151394|989898|1|9999051394|MR|Test|E|Lead 51394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051395|151395|989898|1|9999051395|MR|Test|E|Lead 51395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051396|151396|989898|1|9999051396|MR|Test|E|Lead 51396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051397|151397|989898|1|9999051397|MR|Test|E|Lead 51397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051398|151398|989898|1|9999051398|MR|Test|E|Lead 51398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051399|151399|989898|1|9999051399|MR|Test|E|Lead 51399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051400|151400|989898|1|9999051400|MR|Test|E|Lead 51400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051401|151401|989898|1|9999051401|MR|Test|E|Lead 51401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051402|151402|989898|1|9999051402|MR|Test|E|Lead 51402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051403|151403|989898|1|9999051403|MR|Test|E|Lead 51403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051404|151404|989898|1|9999051404|MR|Test|E|Lead 51404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051405|151405|989898|1|9999051405|MR|Test|E|Lead 51405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051406|151406|989898|1|9999051406|MR|Test|E|Lead 51406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051407|151407|989898|1|9999051407|MR|Test|E|Lead 51407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051408|151408|989898|1|9999051408|MR|Test|E|Lead 51408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051409|151409|989898|1|9999051409|MR|Test|E|Lead 51409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051410|151410|989898|1|9999051410|MR|Test|E|Lead 51410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051411|151411|989898|1|9999051411|MR|Test|E|Lead 51411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051412|151412|989898|1|9999051412|MR|Test|E|Lead 51412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051413|151413|989898|1|9999051413|MR|Test|E|Lead 51413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051414|151414|989898|1|9999051414|MR|Test|E|Lead 51414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051415|151415|989898|1|9999051415|MR|Test|E|Lead 51415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051416|151416|989898|1|9999051416|MR|Test|E|Lead 51416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051417|151417|989898|1|9999051417|MR|Test|E|Lead 51417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051418|151418|989898|1|9999051418|MR|Test|E|Lead 51418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051419|151419|989898|1|9999051419|MR|Test|E|Lead 51419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051420|151420|989898|1|9999051420|MR|Test|E|Lead 51420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051421|151421|989898|1|9999051421|MR|Test|E|Lead 51421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051422|151422|989898|1|9999051422|MR|Test|E|Lead 51422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051423|151423|989898|1|9999051423|MR|Test|E|Lead 51423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051424|151424|989898|1|9999051424|MR|Test|E|Lead 51424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051425|151425|989898|1|9999051425|MR|Test|E|Lead 51425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051426|151426|989898|1|9999051426|MR|Test|E|Lead 51426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051427|151427|989898|1|9999051427|MR|Test|E|Lead 51427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051428|151428|989898|1|9999051428|MR|Test|E|Lead 51428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051429|151429|989898|1|9999051429|MR|Test|E|Lead 51429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051430|151430|989898|1|9999051430|MR|Test|E|Lead 51430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051431|151431|989898|1|9999051431|MR|Test|E|Lead 51431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051432|151432|989898|1|9999051432|MR|Test|E|Lead 51432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051433|151433|989898|1|9999051433|MR|Test|E|Lead 51433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051434|151434|989898|1|9999051434|MR|Test|E|Lead 51434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051435|151435|989898|1|9999051435|MR|Test|E|Lead 51435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051436|151436|989898|1|9999051436|MR|Test|E|Lead 51436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051437|151437|989898|1|9999051437|MR|Test|E|Lead 51437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051438|151438|989898|1|9999051438|MR|Test|E|Lead 51438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051439|151439|989898|1|9999051439|MR|Test|E|Lead 51439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051440|151440|989898|1|9999051440|MR|Test|E|Lead 51440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051441|151441|989898|1|9999051441|MR|Test|E|Lead 51441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051442|151442|989898|1|9999051442|MR|Test|E|Lead 51442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051443|151443|989898|1|9999051443|MR|Test|E|Lead 51443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051444|151444|989898|1|9999051444|MR|Test|E|Lead 51444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051445|151445|989898|1|9999051445|MR|Test|E|Lead 51445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051446|151446|989898|1|9999051446|MR|Test|E|Lead 51446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051447|151447|989898|1|9999051447|MR|Test|E|Lead 51447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051448|151448|989898|1|9999051448|MR|Test|E|Lead 51448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051449|151449|989898|1|9999051449|MR|Test|E|Lead 51449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051450|151450|989898|1|9999051450|MR|Test|E|Lead 51450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051451|151451|989898|1|9999051451|MR|Test|E|Lead 51451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051452|151452|989898|1|9999051452|MR|Test|E|Lead 51452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051453|151453|989898|1|9999051453|MR|Test|E|Lead 51453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051454|151454|989898|1|9999051454|MR|Test|E|Lead 51454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051455|151455|989898|1|9999051455|MR|Test|E|Lead 51455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051456|151456|989898|1|9999051456|MR|Test|E|Lead 51456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051457|151457|989898|1|9999051457|MR|Test|E|Lead 51457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051458|151458|989898|1|9999051458|MR|Test|E|Lead 51458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051459|151459|989898|1|9999051459|MR|Test|E|Lead 51459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051460|151460|989898|1|9999051460|MR|Test|E|Lead 51460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051461|151461|989898|1|9999051461|MR|Test|E|Lead 51461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051462|151462|989898|1|9999051462|MR|Test|E|Lead 51462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051463|151463|989898|1|9999051463|MR|Test|E|Lead 51463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051464|151464|989898|1|9999051464|MR|Test|E|Lead 51464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051465|151465|989898|1|9999051465|MR|Test|E|Lead 51465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051466|151466|989898|1|9999051466|MR|Test|E|Lead 51466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051467|151467|989898|1|9999051467|MR|Test|E|Lead 51467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051468|151468|989898|1|9999051468|MR|Test|E|Lead 51468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051469|151469|989898|1|9999051469|MR|Test|E|Lead 51469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051470|151470|989898|1|9999051470|MR|Test|E|Lead 51470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051471|151471|989898|1|9999051471|MR|Test|E|Lead 51471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051472|151472|989898|1|9999051472|MR|Test|E|Lead 51472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051473|151473|989898|1|9999051473|MR|Test|E|Lead 51473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051474|151474|989898|1|9999051474|MR|Test|E|Lead 51474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051475|151475|989898|1|9999051475|MR|Test|E|Lead 51475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051476|151476|989898|1|9999051476|MR|Test|E|Lead 51476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051477|151477|989898|1|9999051477|MR|Test|E|Lead 51477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051478|151478|989898|1|9999051478|MR|Test|E|Lead 51478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051479|151479|989898|1|9999051479|MR|Test|E|Lead 51479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051480|151480|989898|1|9999051480|MR|Test|E|Lead 51480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051481|151481|989898|1|9999051481|MR|Test|E|Lead 51481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051482|151482|989898|1|9999051482|MR|Test|E|Lead 51482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051483|151483|989898|1|9999051483|MR|Test|E|Lead 51483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051484|151484|989898|1|9999051484|MR|Test|E|Lead 51484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051485|151485|989898|1|9999051485|MR|Test|E|Lead 51485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051486|151486|989898|1|9999051486|MR|Test|E|Lead 51486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051487|151487|989898|1|9999051487|MR|Test|E|Lead 51487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051488|151488|989898|1|9999051488|MR|Test|E|Lead 51488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051489|151489|989898|1|9999051489|MR|Test|E|Lead 51489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051490|151490|989898|1|9999051490|MR|Test|E|Lead 51490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051491|151491|989898|1|9999051491|MR|Test|E|Lead 51491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051492|151492|989898|1|9999051492|MR|Test|E|Lead 51492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051493|151493|989898|1|9999051493|MR|Test|E|Lead 51493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051494|151494|989898|1|9999051494|MR|Test|E|Lead 51494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051495|151495|989898|1|9999051495|MR|Test|E|Lead 51495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051496|151496|989898|1|9999051496|MR|Test|E|Lead 51496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051497|151497|989898|1|9999051497|MR|Test|E|Lead 51497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051498|151498|989898|1|9999051498|MR|Test|E|Lead 51498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051499|151499|989898|1|9999051499|MR|Test|E|Lead 51499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051500|151500|989898|1|9999051500|MR|Test|E|Lead 51500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051501|151501|989898|1|9999051501|MR|Test|E|Lead 51501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051502|151502|989898|1|9999051502|MR|Test|E|Lead 51502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051503|151503|989898|1|9999051503|MR|Test|E|Lead 51503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051504|151504|989898|1|9999051504|MR|Test|E|Lead 51504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051505|151505|989898|1|9999051505|MR|Test|E|Lead 51505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051506|151506|989898|1|9999051506|MR|Test|E|Lead 51506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051507|151507|989898|1|9999051507|MR|Test|E|Lead 51507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051508|151508|989898|1|9999051508|MR|Test|E|Lead 51508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051509|151509|989898|1|9999051509|MR|Test|E|Lead 51509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051510|151510|989898|1|9999051510|MR|Test|E|Lead 51510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051511|151511|989898|1|9999051511|MR|Test|E|Lead 51511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051512|151512|989898|1|9999051512|MR|Test|E|Lead 51512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051513|151513|989898|1|9999051513|MR|Test|E|Lead 51513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051514|151514|989898|1|9999051514|MR|Test|E|Lead 51514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051515|151515|989898|1|9999051515|MR|Test|E|Lead 51515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051516|151516|989898|1|9999051516|MR|Test|E|Lead 51516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051517|151517|989898|1|9999051517|MR|Test|E|Lead 51517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051518|151518|989898|1|9999051518|MR|Test|E|Lead 51518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051519|151519|989898|1|9999051519|MR|Test|E|Lead 51519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051520|151520|989898|1|9999051520|MR|Test|E|Lead 51520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051521|151521|989898|1|9999051521|MR|Test|E|Lead 51521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051522|151522|989898|1|9999051522|MR|Test|E|Lead 51522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051523|151523|989898|1|9999051523|MR|Test|E|Lead 51523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051524|151524|989898|1|9999051524|MR|Test|E|Lead 51524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051525|151525|989898|1|9999051525|MR|Test|E|Lead 51525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051526|151526|989898|1|9999051526|MR|Test|E|Lead 51526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051527|151527|989898|1|9999051527|MR|Test|E|Lead 51527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051528|151528|989898|1|9999051528|MR|Test|E|Lead 51528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051529|151529|989898|1|9999051529|MR|Test|E|Lead 51529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051530|151530|989898|1|9999051530|MR|Test|E|Lead 51530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051531|151531|989898|1|9999051531|MR|Test|E|Lead 51531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051532|151532|989898|1|9999051532|MR|Test|E|Lead 51532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051533|151533|989898|1|9999051533|MR|Test|E|Lead 51533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051534|151534|989898|1|9999051534|MR|Test|E|Lead 51534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051535|151535|989898|1|9999051535|MR|Test|E|Lead 51535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051536|151536|989898|1|9999051536|MR|Test|E|Lead 51536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051537|151537|989898|1|9999051537|MR|Test|E|Lead 51537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051538|151538|989898|1|9999051538|MR|Test|E|Lead 51538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051539|151539|989898|1|9999051539|MR|Test|E|Lead 51539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051540|151540|989898|1|9999051540|MR|Test|E|Lead 51540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051541|151541|989898|1|9999051541|MR|Test|E|Lead 51541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051542|151542|989898|1|9999051542|MR|Test|E|Lead 51542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051543|151543|989898|1|9999051543|MR|Test|E|Lead 51543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051544|151544|989898|1|9999051544|MR|Test|E|Lead 51544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051545|151545|989898|1|9999051545|MR|Test|E|Lead 51545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051546|151546|989898|1|9999051546|MR|Test|E|Lead 51546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051547|151547|989898|1|9999051547|MR|Test|E|Lead 51547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051548|151548|989898|1|9999051548|MR|Test|E|Lead 51548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051549|151549|989898|1|9999051549|MR|Test|E|Lead 51549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051550|151550|989898|1|9999051550|MR|Test|E|Lead 51550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051551|151551|989898|1|9999051551|MR|Test|E|Lead 51551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051552|151552|989898|1|9999051552|MR|Test|E|Lead 51552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051553|151553|989898|1|9999051553|MR|Test|E|Lead 51553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051554|151554|989898|1|9999051554|MR|Test|E|Lead 51554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051555|151555|989898|1|9999051555|MR|Test|E|Lead 51555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051556|151556|989898|1|9999051556|MR|Test|E|Lead 51556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051557|151557|989898|1|9999051557|MR|Test|E|Lead 51557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051558|151558|989898|1|9999051558|MR|Test|E|Lead 51558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051559|151559|989898|1|9999051559|MR|Test|E|Lead 51559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051560|151560|989898|1|9999051560|MR|Test|E|Lead 51560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051561|151561|989898|1|9999051561|MR|Test|E|Lead 51561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051562|151562|989898|1|9999051562|MR|Test|E|Lead 51562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051563|151563|989898|1|9999051563|MR|Test|E|Lead 51563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051564|151564|989898|1|9999051564|MR|Test|E|Lead 51564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051565|151565|989898|1|9999051565|MR|Test|E|Lead 51565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051566|151566|989898|1|9999051566|MR|Test|E|Lead 51566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051567|151567|989898|1|9999051567|MR|Test|E|Lead 51567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051568|151568|989898|1|9999051568|MR|Test|E|Lead 51568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051569|151569|989898|1|9999051569|MR|Test|E|Lead 51569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051570|151570|989898|1|9999051570|MR|Test|E|Lead 51570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051571|151571|989898|1|9999051571|MR|Test|E|Lead 51571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051572|151572|989898|1|9999051572|MR|Test|E|Lead 51572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051573|151573|989898|1|9999051573|MR|Test|E|Lead 51573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051574|151574|989898|1|9999051574|MR|Test|E|Lead 51574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051575|151575|989898|1|9999051575|MR|Test|E|Lead 51575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051576|151576|989898|1|9999051576|MR|Test|E|Lead 51576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051577|151577|989898|1|9999051577|MR|Test|E|Lead 51577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051578|151578|989898|1|9999051578|MR|Test|E|Lead 51578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051579|151579|989898|1|9999051579|MR|Test|E|Lead 51579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051580|151580|989898|1|9999051580|MR|Test|E|Lead 51580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051581|151581|989898|1|9999051581|MR|Test|E|Lead 51581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051582|151582|989898|1|9999051582|MR|Test|E|Lead 51582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051583|151583|989898|1|9999051583|MR|Test|E|Lead 51583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051584|151584|989898|1|9999051584|MR|Test|E|Lead 51584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051585|151585|989898|1|9999051585|MR|Test|E|Lead 51585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051586|151586|989898|1|9999051586|MR|Test|E|Lead 51586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051587|151587|989898|1|9999051587|MR|Test|E|Lead 51587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051588|151588|989898|1|9999051588|MR|Test|E|Lead 51588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051589|151589|989898|1|9999051589|MR|Test|E|Lead 51589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051590|151590|989898|1|9999051590|MR|Test|E|Lead 51590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051591|151591|989898|1|9999051591|MR|Test|E|Lead 51591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051592|151592|989898|1|9999051592|MR|Test|E|Lead 51592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051593|151593|989898|1|9999051593|MR|Test|E|Lead 51593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051594|151594|989898|1|9999051594|MR|Test|E|Lead 51594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051595|151595|989898|1|9999051595|MR|Test|E|Lead 51595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051596|151596|989898|1|9999051596|MR|Test|E|Lead 51596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051597|151597|989898|1|9999051597|MR|Test|E|Lead 51597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051598|151598|989898|1|9999051598|MR|Test|E|Lead 51598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051599|151599|989898|1|9999051599|MR|Test|E|Lead 51599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051600|151600|989898|1|9999051600|MR|Test|E|Lead 51600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051601|151601|989898|1|9999051601|MR|Test|E|Lead 51601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051602|151602|989898|1|9999051602|MR|Test|E|Lead 51602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051603|151603|989898|1|9999051603|MR|Test|E|Lead 51603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051604|151604|989898|1|9999051604|MR|Test|E|Lead 51604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051605|151605|989898|1|9999051605|MR|Test|E|Lead 51605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051606|151606|989898|1|9999051606|MR|Test|E|Lead 51606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051607|151607|989898|1|9999051607|MR|Test|E|Lead 51607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051608|151608|989898|1|9999051608|MR|Test|E|Lead 51608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051609|151609|989898|1|9999051609|MR|Test|E|Lead 51609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051610|151610|989898|1|9999051610|MR|Test|E|Lead 51610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051611|151611|989898|1|9999051611|MR|Test|E|Lead 51611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051612|151612|989898|1|9999051612|MR|Test|E|Lead 51612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051613|151613|989898|1|9999051613|MR|Test|E|Lead 51613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051614|151614|989898|1|9999051614|MR|Test|E|Lead 51614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051615|151615|989898|1|9999051615|MR|Test|E|Lead 51615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051616|151616|989898|1|9999051616|MR|Test|E|Lead 51616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051617|151617|989898|1|9999051617|MR|Test|E|Lead 51617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051618|151618|989898|1|9999051618|MR|Test|E|Lead 51618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051619|151619|989898|1|9999051619|MR|Test|E|Lead 51619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051620|151620|989898|1|9999051620|MR|Test|E|Lead 51620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051621|151621|989898|1|9999051621|MR|Test|E|Lead 51621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051622|151622|989898|1|9999051622|MR|Test|E|Lead 51622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051623|151623|989898|1|9999051623|MR|Test|E|Lead 51623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051624|151624|989898|1|9999051624|MR|Test|E|Lead 51624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051625|151625|989898|1|9999051625|MR|Test|E|Lead 51625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051626|151626|989898|1|9999051626|MR|Test|E|Lead 51626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051627|151627|989898|1|9999051627|MR|Test|E|Lead 51627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051628|151628|989898|1|9999051628|MR|Test|E|Lead 51628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051629|151629|989898|1|9999051629|MR|Test|E|Lead 51629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051630|151630|989898|1|9999051630|MR|Test|E|Lead 51630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051631|151631|989898|1|9999051631|MR|Test|E|Lead 51631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051632|151632|989898|1|9999051632|MR|Test|E|Lead 51632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051633|151633|989898|1|9999051633|MR|Test|E|Lead 51633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051634|151634|989898|1|9999051634|MR|Test|E|Lead 51634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051635|151635|989898|1|9999051635|MR|Test|E|Lead 51635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051636|151636|989898|1|9999051636|MR|Test|E|Lead 51636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051637|151637|989898|1|9999051637|MR|Test|E|Lead 51637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051638|151638|989898|1|9999051638|MR|Test|E|Lead 51638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051639|151639|989898|1|9999051639|MR|Test|E|Lead 51639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051640|151640|989898|1|9999051640|MR|Test|E|Lead 51640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051641|151641|989898|1|9999051641|MR|Test|E|Lead 51641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051642|151642|989898|1|9999051642|MR|Test|E|Lead 51642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051643|151643|989898|1|9999051643|MR|Test|E|Lead 51643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051644|151644|989898|1|9999051644|MR|Test|E|Lead 51644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051645|151645|989898|1|9999051645|MR|Test|E|Lead 51645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051646|151646|989898|1|9999051646|MR|Test|E|Lead 51646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051647|151647|989898|1|9999051647|MR|Test|E|Lead 51647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051648|151648|989898|1|9999051648|MR|Test|E|Lead 51648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051649|151649|989898|1|9999051649|MR|Test|E|Lead 51649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051650|151650|989898|1|9999051650|MR|Test|E|Lead 51650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051651|151651|989898|1|9999051651|MR|Test|E|Lead 51651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051652|151652|989898|1|9999051652|MR|Test|E|Lead 51652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051653|151653|989898|1|9999051653|MR|Test|E|Lead 51653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051654|151654|989898|1|9999051654|MR|Test|E|Lead 51654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051655|151655|989898|1|9999051655|MR|Test|E|Lead 51655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051656|151656|989898|1|9999051656|MR|Test|E|Lead 51656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051657|151657|989898|1|9999051657|MR|Test|E|Lead 51657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051658|151658|989898|1|9999051658|MR|Test|E|Lead 51658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051659|151659|989898|1|9999051659|MR|Test|E|Lead 51659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051660|151660|989898|1|9999051660|MR|Test|E|Lead 51660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051661|151661|989898|1|9999051661|MR|Test|E|Lead 51661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051662|151662|989898|1|9999051662|MR|Test|E|Lead 51662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051663|151663|989898|1|9999051663|MR|Test|E|Lead 51663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051664|151664|989898|1|9999051664|MR|Test|E|Lead 51664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051665|151665|989898|1|9999051665|MR|Test|E|Lead 51665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051666|151666|989898|1|9999051666|MR|Test|E|Lead 51666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051667|151667|989898|1|9999051667|MR|Test|E|Lead 51667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051668|151668|989898|1|9999051668|MR|Test|E|Lead 51668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051669|151669|989898|1|9999051669|MR|Test|E|Lead 51669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051670|151670|989898|1|9999051670|MR|Test|E|Lead 51670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051671|151671|989898|1|9999051671|MR|Test|E|Lead 51671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051672|151672|989898|1|9999051672|MR|Test|E|Lead 51672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051673|151673|989898|1|9999051673|MR|Test|E|Lead 51673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051674|151674|989898|1|9999051674|MR|Test|E|Lead 51674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051675|151675|989898|1|9999051675|MR|Test|E|Lead 51675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051676|151676|989898|1|9999051676|MR|Test|E|Lead 51676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051677|151677|989898|1|9999051677|MR|Test|E|Lead 51677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051678|151678|989898|1|9999051678|MR|Test|E|Lead 51678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051679|151679|989898|1|9999051679|MR|Test|E|Lead 51679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051680|151680|989898|1|9999051680|MR|Test|E|Lead 51680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051681|151681|989898|1|9999051681|MR|Test|E|Lead 51681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051682|151682|989898|1|9999051682|MR|Test|E|Lead 51682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051683|151683|989898|1|9999051683|MR|Test|E|Lead 51683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051684|151684|989898|1|9999051684|MR|Test|E|Lead 51684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051685|151685|989898|1|9999051685|MR|Test|E|Lead 51685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051686|151686|989898|1|9999051686|MR|Test|E|Lead 51686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051687|151687|989898|1|9999051687|MR|Test|E|Lead 51687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051688|151688|989898|1|9999051688|MR|Test|E|Lead 51688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051689|151689|989898|1|9999051689|MR|Test|E|Lead 51689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051690|151690|989898|1|9999051690|MR|Test|E|Lead 51690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051691|151691|989898|1|9999051691|MR|Test|E|Lead 51691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051692|151692|989898|1|9999051692|MR|Test|E|Lead 51692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051693|151693|989898|1|9999051693|MR|Test|E|Lead 51693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051694|151694|989898|1|9999051694|MR|Test|E|Lead 51694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051695|151695|989898|1|9999051695|MR|Test|E|Lead 51695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051696|151696|989898|1|9999051696|MR|Test|E|Lead 51696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051697|151697|989898|1|9999051697|MR|Test|E|Lead 51697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051698|151698|989898|1|9999051698|MR|Test|E|Lead 51698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051699|151699|989898|1|9999051699|MR|Test|E|Lead 51699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051700|151700|989898|1|9999051700|MR|Test|E|Lead 51700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051701|151701|989898|1|9999051701|MR|Test|E|Lead 51701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051702|151702|989898|1|9999051702|MR|Test|E|Lead 51702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051703|151703|989898|1|9999051703|MR|Test|E|Lead 51703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051704|151704|989898|1|9999051704|MR|Test|E|Lead 51704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051705|151705|989898|1|9999051705|MR|Test|E|Lead 51705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051706|151706|989898|1|9999051706|MR|Test|E|Lead 51706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051707|151707|989898|1|9999051707|MR|Test|E|Lead 51707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051708|151708|989898|1|9999051708|MR|Test|E|Lead 51708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051709|151709|989898|1|9999051709|MR|Test|E|Lead 51709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051710|151710|989898|1|9999051710|MR|Test|E|Lead 51710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051711|151711|989898|1|9999051711|MR|Test|E|Lead 51711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051712|151712|989898|1|9999051712|MR|Test|E|Lead 51712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051713|151713|989898|1|9999051713|MR|Test|E|Lead 51713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051714|151714|989898|1|9999051714|MR|Test|E|Lead 51714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051715|151715|989898|1|9999051715|MR|Test|E|Lead 51715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051716|151716|989898|1|9999051716|MR|Test|E|Lead 51716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051717|151717|989898|1|9999051717|MR|Test|E|Lead 51717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051718|151718|989898|1|9999051718|MR|Test|E|Lead 51718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051719|151719|989898|1|9999051719|MR|Test|E|Lead 51719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051720|151720|989898|1|9999051720|MR|Test|E|Lead 51720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051721|151721|989898|1|9999051721|MR|Test|E|Lead 51721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051722|151722|989898|1|9999051722|MR|Test|E|Lead 51722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051723|151723|989898|1|9999051723|MR|Test|E|Lead 51723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051724|151724|989898|1|9999051724|MR|Test|E|Lead 51724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051725|151725|989898|1|9999051725|MR|Test|E|Lead 51725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051726|151726|989898|1|9999051726|MR|Test|E|Lead 51726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051727|151727|989898|1|9999051727|MR|Test|E|Lead 51727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051728|151728|989898|1|9999051728|MR|Test|E|Lead 51728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051729|151729|989898|1|9999051729|MR|Test|E|Lead 51729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051730|151730|989898|1|9999051730|MR|Test|E|Lead 51730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051731|151731|989898|1|9999051731|MR|Test|E|Lead 51731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051732|151732|989898|1|9999051732|MR|Test|E|Lead 51732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051733|151733|989898|1|9999051733|MR|Test|E|Lead 51733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051734|151734|989898|1|9999051734|MR|Test|E|Lead 51734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051735|151735|989898|1|9999051735|MR|Test|E|Lead 51735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051736|151736|989898|1|9999051736|MR|Test|E|Lead 51736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051737|151737|989898|1|9999051737|MR|Test|E|Lead 51737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051738|151738|989898|1|9999051738|MR|Test|E|Lead 51738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051739|151739|989898|1|9999051739|MR|Test|E|Lead 51739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051740|151740|989898|1|9999051740|MR|Test|E|Lead 51740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051741|151741|989898|1|9999051741|MR|Test|E|Lead 51741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051742|151742|989898|1|9999051742|MR|Test|E|Lead 51742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051743|151743|989898|1|9999051743|MR|Test|E|Lead 51743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051744|151744|989898|1|9999051744|MR|Test|E|Lead 51744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051745|151745|989898|1|9999051745|MR|Test|E|Lead 51745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051746|151746|989898|1|9999051746|MR|Test|E|Lead 51746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051747|151747|989898|1|9999051747|MR|Test|E|Lead 51747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051748|151748|989898|1|9999051748|MR|Test|E|Lead 51748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051749|151749|989898|1|9999051749|MR|Test|E|Lead 51749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051750|151750|989898|1|9999051750|MR|Test|E|Lead 51750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051751|151751|989898|1|9999051751|MR|Test|E|Lead 51751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051752|151752|989898|1|9999051752|MR|Test|E|Lead 51752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051753|151753|989898|1|9999051753|MR|Test|E|Lead 51753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051754|151754|989898|1|9999051754|MR|Test|E|Lead 51754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051755|151755|989898|1|9999051755|MR|Test|E|Lead 51755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051756|151756|989898|1|9999051756|MR|Test|E|Lead 51756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051757|151757|989898|1|9999051757|MR|Test|E|Lead 51757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051758|151758|989898|1|9999051758|MR|Test|E|Lead 51758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051759|151759|989898|1|9999051759|MR|Test|E|Lead 51759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051760|151760|989898|1|9999051760|MR|Test|E|Lead 51760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051761|151761|989898|1|9999051761|MR|Test|E|Lead 51761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051762|151762|989898|1|9999051762|MR|Test|E|Lead 51762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051763|151763|989898|1|9999051763|MR|Test|E|Lead 51763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051764|151764|989898|1|9999051764|MR|Test|E|Lead 51764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051765|151765|989898|1|9999051765|MR|Test|E|Lead 51765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051766|151766|989898|1|9999051766|MR|Test|E|Lead 51766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051767|151767|989898|1|9999051767|MR|Test|E|Lead 51767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051768|151768|989898|1|9999051768|MR|Test|E|Lead 51768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051769|151769|989898|1|9999051769|MR|Test|E|Lead 51769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051770|151770|989898|1|9999051770|MR|Test|E|Lead 51770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051771|151771|989898|1|9999051771|MR|Test|E|Lead 51771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051772|151772|989898|1|9999051772|MR|Test|E|Lead 51772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051773|151773|989898|1|9999051773|MR|Test|E|Lead 51773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051774|151774|989898|1|9999051774|MR|Test|E|Lead 51774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051775|151775|989898|1|9999051775|MR|Test|E|Lead 51775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051776|151776|989898|1|9999051776|MR|Test|E|Lead 51776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051777|151777|989898|1|9999051777|MR|Test|E|Lead 51777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051778|151778|989898|1|9999051778|MR|Test|E|Lead 51778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051779|151779|989898|1|9999051779|MR|Test|E|Lead 51779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051780|151780|989898|1|9999051780|MR|Test|E|Lead 51780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051781|151781|989898|1|9999051781|MR|Test|E|Lead 51781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051782|151782|989898|1|9999051782|MR|Test|E|Lead 51782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051783|151783|989898|1|9999051783|MR|Test|E|Lead 51783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051784|151784|989898|1|9999051784|MR|Test|E|Lead 51784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051785|151785|989898|1|9999051785|MR|Test|E|Lead 51785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051786|151786|989898|1|9999051786|MR|Test|E|Lead 51786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051787|151787|989898|1|9999051787|MR|Test|E|Lead 51787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051788|151788|989898|1|9999051788|MR|Test|E|Lead 51788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051789|151789|989898|1|9999051789|MR|Test|E|Lead 51789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051790|151790|989898|1|9999051790|MR|Test|E|Lead 51790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051791|151791|989898|1|9999051791|MR|Test|E|Lead 51791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051792|151792|989898|1|9999051792|MR|Test|E|Lead 51792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051793|151793|989898|1|9999051793|MR|Test|E|Lead 51793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051794|151794|989898|1|9999051794|MR|Test|E|Lead 51794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051795|151795|989898|1|9999051795|MR|Test|E|Lead 51795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051796|151796|989898|1|9999051796|MR|Test|E|Lead 51796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051797|151797|989898|1|9999051797|MR|Test|E|Lead 51797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051798|151798|989898|1|9999051798|MR|Test|E|Lead 51798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051799|151799|989898|1|9999051799|MR|Test|E|Lead 51799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051800|151800|989898|1|9999051800|MR|Test|E|Lead 51800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051801|151801|989898|1|9999051801|MR|Test|E|Lead 51801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051802|151802|989898|1|9999051802|MR|Test|E|Lead 51802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051803|151803|989898|1|9999051803|MR|Test|E|Lead 51803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051804|151804|989898|1|9999051804|MR|Test|E|Lead 51804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051805|151805|989898|1|9999051805|MR|Test|E|Lead 51805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051806|151806|989898|1|9999051806|MR|Test|E|Lead 51806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051807|151807|989898|1|9999051807|MR|Test|E|Lead 51807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051808|151808|989898|1|9999051808|MR|Test|E|Lead 51808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051809|151809|989898|1|9999051809|MR|Test|E|Lead 51809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051810|151810|989898|1|9999051810|MR|Test|E|Lead 51810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051811|151811|989898|1|9999051811|MR|Test|E|Lead 51811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051812|151812|989898|1|9999051812|MR|Test|E|Lead 51812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051813|151813|989898|1|9999051813|MR|Test|E|Lead 51813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051814|151814|989898|1|9999051814|MR|Test|E|Lead 51814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051815|151815|989898|1|9999051815|MR|Test|E|Lead 51815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051816|151816|989898|1|9999051816|MR|Test|E|Lead 51816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051817|151817|989898|1|9999051817|MR|Test|E|Lead 51817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051818|151818|989898|1|9999051818|MR|Test|E|Lead 51818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051819|151819|989898|1|9999051819|MR|Test|E|Lead 51819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051820|151820|989898|1|9999051820|MR|Test|E|Lead 51820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051821|151821|989898|1|9999051821|MR|Test|E|Lead 51821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051822|151822|989898|1|9999051822|MR|Test|E|Lead 51822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051823|151823|989898|1|9999051823|MR|Test|E|Lead 51823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051824|151824|989898|1|9999051824|MR|Test|E|Lead 51824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051825|151825|989898|1|9999051825|MR|Test|E|Lead 51825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051826|151826|989898|1|9999051826|MR|Test|E|Lead 51826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051827|151827|989898|1|9999051827|MR|Test|E|Lead 51827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051828|151828|989898|1|9999051828|MR|Test|E|Lead 51828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051829|151829|989898|1|9999051829|MR|Test|E|Lead 51829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051830|151830|989898|1|9999051830|MR|Test|E|Lead 51830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051831|151831|989898|1|9999051831|MR|Test|E|Lead 51831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051832|151832|989898|1|9999051832|MR|Test|E|Lead 51832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051833|151833|989898|1|9999051833|MR|Test|E|Lead 51833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051834|151834|989898|1|9999051834|MR|Test|E|Lead 51834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051835|151835|989898|1|9999051835|MR|Test|E|Lead 51835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051836|151836|989898|1|9999051836|MR|Test|E|Lead 51836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051837|151837|989898|1|9999051837|MR|Test|E|Lead 51837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051838|151838|989898|1|9999051838|MR|Test|E|Lead 51838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051839|151839|989898|1|9999051839|MR|Test|E|Lead 51839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051840|151840|989898|1|9999051840|MR|Test|E|Lead 51840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051841|151841|989898|1|9999051841|MR|Test|E|Lead 51841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051842|151842|989898|1|9999051842|MR|Test|E|Lead 51842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051843|151843|989898|1|9999051843|MR|Test|E|Lead 51843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051844|151844|989898|1|9999051844|MR|Test|E|Lead 51844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051845|151845|989898|1|9999051845|MR|Test|E|Lead 51845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051846|151846|989898|1|9999051846|MR|Test|E|Lead 51846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051847|151847|989898|1|9999051847|MR|Test|E|Lead 51847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051848|151848|989898|1|9999051848|MR|Test|E|Lead 51848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051849|151849|989898|1|9999051849|MR|Test|E|Lead 51849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051850|151850|989898|1|9999051850|MR|Test|E|Lead 51850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051851|151851|989898|1|9999051851|MR|Test|E|Lead 51851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051852|151852|989898|1|9999051852|MR|Test|E|Lead 51852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051853|151853|989898|1|9999051853|MR|Test|E|Lead 51853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051854|151854|989898|1|9999051854|MR|Test|E|Lead 51854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051855|151855|989898|1|9999051855|MR|Test|E|Lead 51855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051856|151856|989898|1|9999051856|MR|Test|E|Lead 51856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051857|151857|989898|1|9999051857|MR|Test|E|Lead 51857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051858|151858|989898|1|9999051858|MR|Test|E|Lead 51858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051859|151859|989898|1|9999051859|MR|Test|E|Lead 51859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051860|151860|989898|1|9999051860|MR|Test|E|Lead 51860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051861|151861|989898|1|9999051861|MR|Test|E|Lead 51861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051862|151862|989898|1|9999051862|MR|Test|E|Lead 51862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051863|151863|989898|1|9999051863|MR|Test|E|Lead 51863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051864|151864|989898|1|9999051864|MR|Test|E|Lead 51864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051865|151865|989898|1|9999051865|MR|Test|E|Lead 51865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051866|151866|989898|1|9999051866|MR|Test|E|Lead 51866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051867|151867|989898|1|9999051867|MR|Test|E|Lead 51867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051868|151868|989898|1|9999051868|MR|Test|E|Lead 51868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051869|151869|989898|1|9999051869|MR|Test|E|Lead 51869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051870|151870|989898|1|9999051870|MR|Test|E|Lead 51870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051871|151871|989898|1|9999051871|MR|Test|E|Lead 51871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051872|151872|989898|1|9999051872|MR|Test|E|Lead 51872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051873|151873|989898|1|9999051873|MR|Test|E|Lead 51873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051874|151874|989898|1|9999051874|MR|Test|E|Lead 51874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051875|151875|989898|1|9999051875|MR|Test|E|Lead 51875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051876|151876|989898|1|9999051876|MR|Test|E|Lead 51876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051877|151877|989898|1|9999051877|MR|Test|E|Lead 51877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051878|151878|989898|1|9999051878|MR|Test|E|Lead 51878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051879|151879|989898|1|9999051879|MR|Test|E|Lead 51879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051880|151880|989898|1|9999051880|MR|Test|E|Lead 51880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051881|151881|989898|1|9999051881|MR|Test|E|Lead 51881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051882|151882|989898|1|9999051882|MR|Test|E|Lead 51882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051883|151883|989898|1|9999051883|MR|Test|E|Lead 51883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051884|151884|989898|1|9999051884|MR|Test|E|Lead 51884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051885|151885|989898|1|9999051885|MR|Test|E|Lead 51885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051886|151886|989898|1|9999051886|MR|Test|E|Lead 51886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051887|151887|989898|1|9999051887|MR|Test|E|Lead 51887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051888|151888|989898|1|9999051888|MR|Test|E|Lead 51888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051889|151889|989898|1|9999051889|MR|Test|E|Lead 51889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051890|151890|989898|1|9999051890|MR|Test|E|Lead 51890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051891|151891|989898|1|9999051891|MR|Test|E|Lead 51891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051892|151892|989898|1|9999051892|MR|Test|E|Lead 51892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051893|151893|989898|1|9999051893|MR|Test|E|Lead 51893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051894|151894|989898|1|9999051894|MR|Test|E|Lead 51894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051895|151895|989898|1|9999051895|MR|Test|E|Lead 51895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051896|151896|989898|1|9999051896|MR|Test|E|Lead 51896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051897|151897|989898|1|9999051897|MR|Test|E|Lead 51897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051898|151898|989898|1|9999051898|MR|Test|E|Lead 51898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051899|151899|989898|1|9999051899|MR|Test|E|Lead 51899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051900|151900|989898|1|9999051900|MR|Test|E|Lead 51900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051901|151901|989898|1|9999051901|MR|Test|E|Lead 51901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051902|151902|989898|1|9999051902|MR|Test|E|Lead 51902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051903|151903|989898|1|9999051903|MR|Test|E|Lead 51903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051904|151904|989898|1|9999051904|MR|Test|E|Lead 51904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051905|151905|989898|1|9999051905|MR|Test|E|Lead 51905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051906|151906|989898|1|9999051906|MR|Test|E|Lead 51906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051907|151907|989898|1|9999051907|MR|Test|E|Lead 51907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051908|151908|989898|1|9999051908|MR|Test|E|Lead 51908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051909|151909|989898|1|9999051909|MR|Test|E|Lead 51909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051910|151910|989898|1|9999051910|MR|Test|E|Lead 51910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051911|151911|989898|1|9999051911|MR|Test|E|Lead 51911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051912|151912|989898|1|9999051912|MR|Test|E|Lead 51912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051913|151913|989898|1|9999051913|MR|Test|E|Lead 51913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051914|151914|989898|1|9999051914|MR|Test|E|Lead 51914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051915|151915|989898|1|9999051915|MR|Test|E|Lead 51915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051916|151916|989898|1|9999051916|MR|Test|E|Lead 51916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051917|151917|989898|1|9999051917|MR|Test|E|Lead 51917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051918|151918|989898|1|9999051918|MR|Test|E|Lead 51918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051919|151919|989898|1|9999051919|MR|Test|E|Lead 51919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051920|151920|989898|1|9999051920|MR|Test|E|Lead 51920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051921|151921|989898|1|9999051921|MR|Test|E|Lead 51921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051922|151922|989898|1|9999051922|MR|Test|E|Lead 51922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051923|151923|989898|1|9999051923|MR|Test|E|Lead 51923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051924|151924|989898|1|9999051924|MR|Test|E|Lead 51924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051925|151925|989898|1|9999051925|MR|Test|E|Lead 51925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051926|151926|989898|1|9999051926|MR|Test|E|Lead 51926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051927|151927|989898|1|9999051927|MR|Test|E|Lead 51927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051928|151928|989898|1|9999051928|MR|Test|E|Lead 51928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051929|151929|989898|1|9999051929|MR|Test|E|Lead 51929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051930|151930|989898|1|9999051930|MR|Test|E|Lead 51930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051931|151931|989898|1|9999051931|MR|Test|E|Lead 51931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051932|151932|989898|1|9999051932|MR|Test|E|Lead 51932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051933|151933|989898|1|9999051933|MR|Test|E|Lead 51933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051934|151934|989898|1|9999051934|MR|Test|E|Lead 51934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051935|151935|989898|1|9999051935|MR|Test|E|Lead 51935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051936|151936|989898|1|9999051936|MR|Test|E|Lead 51936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051937|151937|989898|1|9999051937|MR|Test|E|Lead 51937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051938|151938|989898|1|9999051938|MR|Test|E|Lead 51938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051939|151939|989898|1|9999051939|MR|Test|E|Lead 51939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051940|151940|989898|1|9999051940|MR|Test|E|Lead 51940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051941|151941|989898|1|9999051941|MR|Test|E|Lead 51941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051942|151942|989898|1|9999051942|MR|Test|E|Lead 51942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051943|151943|989898|1|9999051943|MR|Test|E|Lead 51943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051944|151944|989898|1|9999051944|MR|Test|E|Lead 51944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051945|151945|989898|1|9999051945|MR|Test|E|Lead 51945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051946|151946|989898|1|9999051946|MR|Test|E|Lead 51946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051947|151947|989898|1|9999051947|MR|Test|E|Lead 51947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051948|151948|989898|1|9999051948|MR|Test|E|Lead 51948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051949|151949|989898|1|9999051949|MR|Test|E|Lead 51949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051950|151950|989898|1|9999051950|MR|Test|E|Lead 51950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051951|151951|989898|1|9999051951|MR|Test|E|Lead 51951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051952|151952|989898|1|9999051952|MR|Test|E|Lead 51952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051953|151953|989898|1|9999051953|MR|Test|E|Lead 51953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051954|151954|989898|1|9999051954|MR|Test|E|Lead 51954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051955|151955|989898|1|9999051955|MR|Test|E|Lead 51955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051956|151956|989898|1|9999051956|MR|Test|E|Lead 51956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051957|151957|989898|1|9999051957|MR|Test|E|Lead 51957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051958|151958|989898|1|9999051958|MR|Test|E|Lead 51958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051959|151959|989898|1|9999051959|MR|Test|E|Lead 51959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051960|151960|989898|1|9999051960|MR|Test|E|Lead 51960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051961|151961|989898|1|9999051961|MR|Test|E|Lead 51961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051962|151962|989898|1|9999051962|MR|Test|E|Lead 51962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051963|151963|989898|1|9999051963|MR|Test|E|Lead 51963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051964|151964|989898|1|9999051964|MR|Test|E|Lead 51964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051965|151965|989898|1|9999051965|MR|Test|E|Lead 51965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051966|151966|989898|1|9999051966|MR|Test|E|Lead 51966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051967|151967|989898|1|9999051967|MR|Test|E|Lead 51967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051968|151968|989898|1|9999051968|MR|Test|E|Lead 51968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051969|151969|989898|1|9999051969|MR|Test|E|Lead 51969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051970|151970|989898|1|9999051970|MR|Test|E|Lead 51970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051971|151971|989898|1|9999051971|MR|Test|E|Lead 51971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051972|151972|989898|1|9999051972|MR|Test|E|Lead 51972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051973|151973|989898|1|9999051973|MR|Test|E|Lead 51973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051974|151974|989898|1|9999051974|MR|Test|E|Lead 51974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051975|151975|989898|1|9999051975|MR|Test|E|Lead 51975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051976|151976|989898|1|9999051976|MR|Test|E|Lead 51976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051977|151977|989898|1|9999051977|MR|Test|E|Lead 51977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051978|151978|989898|1|9999051978|MR|Test|E|Lead 51978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051979|151979|989898|1|9999051979|MR|Test|E|Lead 51979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051980|151980|989898|1|9999051980|MR|Test|E|Lead 51980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051981|151981|989898|1|9999051981|MR|Test|E|Lead 51981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051982|151982|989898|1|9999051982|MR|Test|E|Lead 51982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051983|151983|989898|1|9999051983|MR|Test|E|Lead 51983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051984|151984|989898|1|9999051984|MR|Test|E|Lead 51984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051985|151985|989898|1|9999051985|MR|Test|E|Lead 51985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051986|151986|989898|1|9999051986|MR|Test|E|Lead 51986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051987|151987|989898|1|9999051987|MR|Test|E|Lead 51987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051988|151988|989898|1|9999051988|MR|Test|E|Lead 51988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051989|151989|989898|1|9999051989|MR|Test|E|Lead 51989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051990|151990|989898|1|9999051990|MR|Test|E|Lead 51990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051991|151991|989898|1|9999051991|MR|Test|E|Lead 51991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051992|151992|989898|1|9999051992|MR|Test|E|Lead 51992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051993|151993|989898|1|9999051993|MR|Test|E|Lead 51993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051994|151994|989898|1|9999051994|MR|Test|E|Lead 51994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051995|151995|989898|1|9999051995|MR|Test|E|Lead 51995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051996|151996|989898|1|9999051996|MR|Test|E|Lead 51996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051997|151997|989898|1|9999051997|MR|Test|E|Lead 51997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051998|151998|989898|1|9999051998|MR|Test|E|Lead 51998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1051999|151999|989898|1|9999051999|MR|Test|E|Lead 51999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052000|152000|989898|1|9999052000|MR|Test|E|Lead 52000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052001|152001|989898|1|9999052001|MR|Test|E|Lead 52001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052002|152002|989898|1|9999052002|MR|Test|E|Lead 52002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052003|152003|989898|1|9999052003|MR|Test|E|Lead 52003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052004|152004|989898|1|9999052004|MR|Test|E|Lead 52004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052005|152005|989898|1|9999052005|MR|Test|E|Lead 52005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052006|152006|989898|1|9999052006|MR|Test|E|Lead 52006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052007|152007|989898|1|9999052007|MR|Test|E|Lead 52007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052008|152008|989898|1|9999052008|MR|Test|E|Lead 52008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052009|152009|989898|1|9999052009|MR|Test|E|Lead 52009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052010|152010|989898|1|9999052010|MR|Test|E|Lead 52010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052011|152011|989898|1|9999052011|MR|Test|E|Lead 52011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052012|152012|989898|1|9999052012|MR|Test|E|Lead 52012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052013|152013|989898|1|9999052013|MR|Test|E|Lead 52013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052014|152014|989898|1|9999052014|MR|Test|E|Lead 52014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052015|152015|989898|1|9999052015|MR|Test|E|Lead 52015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052016|152016|989898|1|9999052016|MR|Test|E|Lead 52016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052017|152017|989898|1|9999052017|MR|Test|E|Lead 52017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052018|152018|989898|1|9999052018|MR|Test|E|Lead 52018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052019|152019|989898|1|9999052019|MR|Test|E|Lead 52019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052020|152020|989898|1|9999052020|MR|Test|E|Lead 52020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052021|152021|989898|1|9999052021|MR|Test|E|Lead 52021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052022|152022|989898|1|9999052022|MR|Test|E|Lead 52022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052023|152023|989898|1|9999052023|MR|Test|E|Lead 52023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052024|152024|989898|1|9999052024|MR|Test|E|Lead 52024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052025|152025|989898|1|9999052025|MR|Test|E|Lead 52025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052026|152026|989898|1|9999052026|MR|Test|E|Lead 52026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052027|152027|989898|1|9999052027|MR|Test|E|Lead 52027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052028|152028|989898|1|9999052028|MR|Test|E|Lead 52028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052029|152029|989898|1|9999052029|MR|Test|E|Lead 52029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052030|152030|989898|1|9999052030|MR|Test|E|Lead 52030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052031|152031|989898|1|9999052031|MR|Test|E|Lead 52031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052032|152032|989898|1|9999052032|MR|Test|E|Lead 52032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052033|152033|989898|1|9999052033|MR|Test|E|Lead 52033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052034|152034|989898|1|9999052034|MR|Test|E|Lead 52034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052035|152035|989898|1|9999052035|MR|Test|E|Lead 52035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052036|152036|989898|1|9999052036|MR|Test|E|Lead 52036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052037|152037|989898|1|9999052037|MR|Test|E|Lead 52037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052038|152038|989898|1|9999052038|MR|Test|E|Lead 52038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052039|152039|989898|1|9999052039|MR|Test|E|Lead 52039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052040|152040|989898|1|9999052040|MR|Test|E|Lead 52040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052041|152041|989898|1|9999052041|MR|Test|E|Lead 52041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052042|152042|989898|1|9999052042|MR|Test|E|Lead 52042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052043|152043|989898|1|9999052043|MR|Test|E|Lead 52043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052044|152044|989898|1|9999052044|MR|Test|E|Lead 52044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052045|152045|989898|1|9999052045|MR|Test|E|Lead 52045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052046|152046|989898|1|9999052046|MR|Test|E|Lead 52046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052047|152047|989898|1|9999052047|MR|Test|E|Lead 52047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052048|152048|989898|1|9999052048|MR|Test|E|Lead 52048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052049|152049|989898|1|9999052049|MR|Test|E|Lead 52049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052050|152050|989898|1|9999052050|MR|Test|E|Lead 52050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052051|152051|989898|1|9999052051|MR|Test|E|Lead 52051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052052|152052|989898|1|9999052052|MR|Test|E|Lead 52052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052053|152053|989898|1|9999052053|MR|Test|E|Lead 52053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052054|152054|989898|1|9999052054|MR|Test|E|Lead 52054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052055|152055|989898|1|9999052055|MR|Test|E|Lead 52055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052056|152056|989898|1|9999052056|MR|Test|E|Lead 52056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052057|152057|989898|1|9999052057|MR|Test|E|Lead 52057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052058|152058|989898|1|9999052058|MR|Test|E|Lead 52058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052059|152059|989898|1|9999052059|MR|Test|E|Lead 52059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052060|152060|989898|1|9999052060|MR|Test|E|Lead 52060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052061|152061|989898|1|9999052061|MR|Test|E|Lead 52061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052062|152062|989898|1|9999052062|MR|Test|E|Lead 52062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052063|152063|989898|1|9999052063|MR|Test|E|Lead 52063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052064|152064|989898|1|9999052064|MR|Test|E|Lead 52064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052065|152065|989898|1|9999052065|MR|Test|E|Lead 52065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052066|152066|989898|1|9999052066|MR|Test|E|Lead 52066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052067|152067|989898|1|9999052067|MR|Test|E|Lead 52067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052068|152068|989898|1|9999052068|MR|Test|E|Lead 52068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052069|152069|989898|1|9999052069|MR|Test|E|Lead 52069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052070|152070|989898|1|9999052070|MR|Test|E|Lead 52070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052071|152071|989898|1|9999052071|MR|Test|E|Lead 52071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052072|152072|989898|1|9999052072|MR|Test|E|Lead 52072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052073|152073|989898|1|9999052073|MR|Test|E|Lead 52073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052074|152074|989898|1|9999052074|MR|Test|E|Lead 52074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052075|152075|989898|1|9999052075|MR|Test|E|Lead 52075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052076|152076|989898|1|9999052076|MR|Test|E|Lead 52076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052077|152077|989898|1|9999052077|MR|Test|E|Lead 52077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052078|152078|989898|1|9999052078|MR|Test|E|Lead 52078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052079|152079|989898|1|9999052079|MR|Test|E|Lead 52079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052080|152080|989898|1|9999052080|MR|Test|E|Lead 52080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052081|152081|989898|1|9999052081|MR|Test|E|Lead 52081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052082|152082|989898|1|9999052082|MR|Test|E|Lead 52082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052083|152083|989898|1|9999052083|MR|Test|E|Lead 52083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052084|152084|989898|1|9999052084|MR|Test|E|Lead 52084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052085|152085|989898|1|9999052085|MR|Test|E|Lead 52085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052086|152086|989898|1|9999052086|MR|Test|E|Lead 52086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052087|152087|989898|1|9999052087|MR|Test|E|Lead 52087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052088|152088|989898|1|9999052088|MR|Test|E|Lead 52088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052089|152089|989898|1|9999052089|MR|Test|E|Lead 52089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052090|152090|989898|1|9999052090|MR|Test|E|Lead 52090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052091|152091|989898|1|9999052091|MR|Test|E|Lead 52091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052092|152092|989898|1|9999052092|MR|Test|E|Lead 52092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052093|152093|989898|1|9999052093|MR|Test|E|Lead 52093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052094|152094|989898|1|9999052094|MR|Test|E|Lead 52094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052095|152095|989898|1|9999052095|MR|Test|E|Lead 52095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052096|152096|989898|1|9999052096|MR|Test|E|Lead 52096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052097|152097|989898|1|9999052097|MR|Test|E|Lead 52097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052098|152098|989898|1|9999052098|MR|Test|E|Lead 52098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052099|152099|989898|1|9999052099|MR|Test|E|Lead 52099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052100|152100|989898|1|9999052100|MR|Test|E|Lead 52100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052101|152101|989898|1|9999052101|MR|Test|E|Lead 52101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052102|152102|989898|1|9999052102|MR|Test|E|Lead 52102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052103|152103|989898|1|9999052103|MR|Test|E|Lead 52103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052104|152104|989898|1|9999052104|MR|Test|E|Lead 52104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052105|152105|989898|1|9999052105|MR|Test|E|Lead 52105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052106|152106|989898|1|9999052106|MR|Test|E|Lead 52106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052107|152107|989898|1|9999052107|MR|Test|E|Lead 52107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052108|152108|989898|1|9999052108|MR|Test|E|Lead 52108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052109|152109|989898|1|9999052109|MR|Test|E|Lead 52109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052110|152110|989898|1|9999052110|MR|Test|E|Lead 52110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052111|152111|989898|1|9999052111|MR|Test|E|Lead 52111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052112|152112|989898|1|9999052112|MR|Test|E|Lead 52112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052113|152113|989898|1|9999052113|MR|Test|E|Lead 52113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052114|152114|989898|1|9999052114|MR|Test|E|Lead 52114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052115|152115|989898|1|9999052115|MR|Test|E|Lead 52115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052116|152116|989898|1|9999052116|MR|Test|E|Lead 52116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052117|152117|989898|1|9999052117|MR|Test|E|Lead 52117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052118|152118|989898|1|9999052118|MR|Test|E|Lead 52118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052119|152119|989898|1|9999052119|MR|Test|E|Lead 52119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052120|152120|989898|1|9999052120|MR|Test|E|Lead 52120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052121|152121|989898|1|9999052121|MR|Test|E|Lead 52121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052122|152122|989898|1|9999052122|MR|Test|E|Lead 52122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052123|152123|989898|1|9999052123|MR|Test|E|Lead 52123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052124|152124|989898|1|9999052124|MR|Test|E|Lead 52124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052125|152125|989898|1|9999052125|MR|Test|E|Lead 52125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052126|152126|989898|1|9999052126|MR|Test|E|Lead 52126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052127|152127|989898|1|9999052127|MR|Test|E|Lead 52127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052128|152128|989898|1|9999052128|MR|Test|E|Lead 52128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052129|152129|989898|1|9999052129|MR|Test|E|Lead 52129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052130|152130|989898|1|9999052130|MR|Test|E|Lead 52130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052131|152131|989898|1|9999052131|MR|Test|E|Lead 52131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052132|152132|989898|1|9999052132|MR|Test|E|Lead 52132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052133|152133|989898|1|9999052133|MR|Test|E|Lead 52133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052134|152134|989898|1|9999052134|MR|Test|E|Lead 52134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052135|152135|989898|1|9999052135|MR|Test|E|Lead 52135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052136|152136|989898|1|9999052136|MR|Test|E|Lead 52136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052137|152137|989898|1|9999052137|MR|Test|E|Lead 52137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052138|152138|989898|1|9999052138|MR|Test|E|Lead 52138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052139|152139|989898|1|9999052139|MR|Test|E|Lead 52139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052140|152140|989898|1|9999052140|MR|Test|E|Lead 52140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052141|152141|989898|1|9999052141|MR|Test|E|Lead 52141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052142|152142|989898|1|9999052142|MR|Test|E|Lead 52142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052143|152143|989898|1|9999052143|MR|Test|E|Lead 52143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052144|152144|989898|1|9999052144|MR|Test|E|Lead 52144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052145|152145|989898|1|9999052145|MR|Test|E|Lead 52145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052146|152146|989898|1|9999052146|MR|Test|E|Lead 52146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052147|152147|989898|1|9999052147|MR|Test|E|Lead 52147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052148|152148|989898|1|9999052148|MR|Test|E|Lead 52148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052149|152149|989898|1|9999052149|MR|Test|E|Lead 52149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052150|152150|989898|1|9999052150|MR|Test|E|Lead 52150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052151|152151|989898|1|9999052151|MR|Test|E|Lead 52151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052152|152152|989898|1|9999052152|MR|Test|E|Lead 52152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052153|152153|989898|1|9999052153|MR|Test|E|Lead 52153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052154|152154|989898|1|9999052154|MR|Test|E|Lead 52154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052155|152155|989898|1|9999052155|MR|Test|E|Lead 52155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052156|152156|989898|1|9999052156|MR|Test|E|Lead 52156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052157|152157|989898|1|9999052157|MR|Test|E|Lead 52157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052158|152158|989898|1|9999052158|MR|Test|E|Lead 52158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052159|152159|989898|1|9999052159|MR|Test|E|Lead 52159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052160|152160|989898|1|9999052160|MR|Test|E|Lead 52160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052161|152161|989898|1|9999052161|MR|Test|E|Lead 52161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052162|152162|989898|1|9999052162|MR|Test|E|Lead 52162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052163|152163|989898|1|9999052163|MR|Test|E|Lead 52163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052164|152164|989898|1|9999052164|MR|Test|E|Lead 52164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052165|152165|989898|1|9999052165|MR|Test|E|Lead 52165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052166|152166|989898|1|9999052166|MR|Test|E|Lead 52166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052167|152167|989898|1|9999052167|MR|Test|E|Lead 52167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052168|152168|989898|1|9999052168|MR|Test|E|Lead 52168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052169|152169|989898|1|9999052169|MR|Test|E|Lead 52169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052170|152170|989898|1|9999052170|MR|Test|E|Lead 52170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052171|152171|989898|1|9999052171|MR|Test|E|Lead 52171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052172|152172|989898|1|9999052172|MR|Test|E|Lead 52172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052173|152173|989898|1|9999052173|MR|Test|E|Lead 52173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052174|152174|989898|1|9999052174|MR|Test|E|Lead 52174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052175|152175|989898|1|9999052175|MR|Test|E|Lead 52175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052176|152176|989898|1|9999052176|MR|Test|E|Lead 52176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052177|152177|989898|1|9999052177|MR|Test|E|Lead 52177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052178|152178|989898|1|9999052178|MR|Test|E|Lead 52178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052179|152179|989898|1|9999052179|MR|Test|E|Lead 52179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052180|152180|989898|1|9999052180|MR|Test|E|Lead 52180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052181|152181|989898|1|9999052181|MR|Test|E|Lead 52181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052182|152182|989898|1|9999052182|MR|Test|E|Lead 52182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052183|152183|989898|1|9999052183|MR|Test|E|Lead 52183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052184|152184|989898|1|9999052184|MR|Test|E|Lead 52184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052185|152185|989898|1|9999052185|MR|Test|E|Lead 52185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052186|152186|989898|1|9999052186|MR|Test|E|Lead 52186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052187|152187|989898|1|9999052187|MR|Test|E|Lead 52187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052188|152188|989898|1|9999052188|MR|Test|E|Lead 52188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052189|152189|989898|1|9999052189|MR|Test|E|Lead 52189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052190|152190|989898|1|9999052190|MR|Test|E|Lead 52190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052191|152191|989898|1|9999052191|MR|Test|E|Lead 52191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052192|152192|989898|1|9999052192|MR|Test|E|Lead 52192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052193|152193|989898|1|9999052193|MR|Test|E|Lead 52193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052194|152194|989898|1|9999052194|MR|Test|E|Lead 52194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052195|152195|989898|1|9999052195|MR|Test|E|Lead 52195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052196|152196|989898|1|9999052196|MR|Test|E|Lead 52196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052197|152197|989898|1|9999052197|MR|Test|E|Lead 52197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052198|152198|989898|1|9999052198|MR|Test|E|Lead 52198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052199|152199|989898|1|9999052199|MR|Test|E|Lead 52199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052200|152200|989898|1|9999052200|MR|Test|E|Lead 52200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052201|152201|989898|1|9999052201|MR|Test|E|Lead 52201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052202|152202|989898|1|9999052202|MR|Test|E|Lead 52202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052203|152203|989898|1|9999052203|MR|Test|E|Lead 52203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052204|152204|989898|1|9999052204|MR|Test|E|Lead 52204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052205|152205|989898|1|9999052205|MR|Test|E|Lead 52205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052206|152206|989898|1|9999052206|MR|Test|E|Lead 52206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052207|152207|989898|1|9999052207|MR|Test|E|Lead 52207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052208|152208|989898|1|9999052208|MR|Test|E|Lead 52208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052209|152209|989898|1|9999052209|MR|Test|E|Lead 52209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052210|152210|989898|1|9999052210|MR|Test|E|Lead 52210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052211|152211|989898|1|9999052211|MR|Test|E|Lead 52211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052212|152212|989898|1|9999052212|MR|Test|E|Lead 52212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052213|152213|989898|1|9999052213|MR|Test|E|Lead 52213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052214|152214|989898|1|9999052214|MR|Test|E|Lead 52214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052215|152215|989898|1|9999052215|MR|Test|E|Lead 52215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052216|152216|989898|1|9999052216|MR|Test|E|Lead 52216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052217|152217|989898|1|9999052217|MR|Test|E|Lead 52217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052218|152218|989898|1|9999052218|MR|Test|E|Lead 52218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052219|152219|989898|1|9999052219|MR|Test|E|Lead 52219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052220|152220|989898|1|9999052220|MR|Test|E|Lead 52220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052221|152221|989898|1|9999052221|MR|Test|E|Lead 52221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052222|152222|989898|1|9999052222|MR|Test|E|Lead 52222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052223|152223|989898|1|9999052223|MR|Test|E|Lead 52223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052224|152224|989898|1|9999052224|MR|Test|E|Lead 52224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052225|152225|989898|1|9999052225|MR|Test|E|Lead 52225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052226|152226|989898|1|9999052226|MR|Test|E|Lead 52226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052227|152227|989898|1|9999052227|MR|Test|E|Lead 52227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052228|152228|989898|1|9999052228|MR|Test|E|Lead 52228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052229|152229|989898|1|9999052229|MR|Test|E|Lead 52229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052230|152230|989898|1|9999052230|MR|Test|E|Lead 52230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052231|152231|989898|1|9999052231|MR|Test|E|Lead 52231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052232|152232|989898|1|9999052232|MR|Test|E|Lead 52232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052233|152233|989898|1|9999052233|MR|Test|E|Lead 52233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052234|152234|989898|1|9999052234|MR|Test|E|Lead 52234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052235|152235|989898|1|9999052235|MR|Test|E|Lead 52235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052236|152236|989898|1|9999052236|MR|Test|E|Lead 52236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052237|152237|989898|1|9999052237|MR|Test|E|Lead 52237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052238|152238|989898|1|9999052238|MR|Test|E|Lead 52238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052239|152239|989898|1|9999052239|MR|Test|E|Lead 52239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052240|152240|989898|1|9999052240|MR|Test|E|Lead 52240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052241|152241|989898|1|9999052241|MR|Test|E|Lead 52241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052242|152242|989898|1|9999052242|MR|Test|E|Lead 52242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052243|152243|989898|1|9999052243|MR|Test|E|Lead 52243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052244|152244|989898|1|9999052244|MR|Test|E|Lead 52244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052245|152245|989898|1|9999052245|MR|Test|E|Lead 52245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052246|152246|989898|1|9999052246|MR|Test|E|Lead 52246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052247|152247|989898|1|9999052247|MR|Test|E|Lead 52247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052248|152248|989898|1|9999052248|MR|Test|E|Lead 52248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052249|152249|989898|1|9999052249|MR|Test|E|Lead 52249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052250|152250|989898|1|9999052250|MR|Test|E|Lead 52250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052251|152251|989898|1|9999052251|MR|Test|E|Lead 52251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052252|152252|989898|1|9999052252|MR|Test|E|Lead 52252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052253|152253|989898|1|9999052253|MR|Test|E|Lead 52253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052254|152254|989898|1|9999052254|MR|Test|E|Lead 52254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052255|152255|989898|1|9999052255|MR|Test|E|Lead 52255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052256|152256|989898|1|9999052256|MR|Test|E|Lead 52256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052257|152257|989898|1|9999052257|MR|Test|E|Lead 52257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052258|152258|989898|1|9999052258|MR|Test|E|Lead 52258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052259|152259|989898|1|9999052259|MR|Test|E|Lead 52259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052260|152260|989898|1|9999052260|MR|Test|E|Lead 52260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052261|152261|989898|1|9999052261|MR|Test|E|Lead 52261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052262|152262|989898|1|9999052262|MR|Test|E|Lead 52262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052263|152263|989898|1|9999052263|MR|Test|E|Lead 52263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052264|152264|989898|1|9999052264|MR|Test|E|Lead 52264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052265|152265|989898|1|9999052265|MR|Test|E|Lead 52265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052266|152266|989898|1|9999052266|MR|Test|E|Lead 52266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052267|152267|989898|1|9999052267|MR|Test|E|Lead 52267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052268|152268|989898|1|9999052268|MR|Test|E|Lead 52268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052269|152269|989898|1|9999052269|MR|Test|E|Lead 52269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052270|152270|989898|1|9999052270|MR|Test|E|Lead 52270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052271|152271|989898|1|9999052271|MR|Test|E|Lead 52271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052272|152272|989898|1|9999052272|MR|Test|E|Lead 52272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052273|152273|989898|1|9999052273|MR|Test|E|Lead 52273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052274|152274|989898|1|9999052274|MR|Test|E|Lead 52274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052275|152275|989898|1|9999052275|MR|Test|E|Lead 52275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052276|152276|989898|1|9999052276|MR|Test|E|Lead 52276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052277|152277|989898|1|9999052277|MR|Test|E|Lead 52277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052278|152278|989898|1|9999052278|MR|Test|E|Lead 52278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052279|152279|989898|1|9999052279|MR|Test|E|Lead 52279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052280|152280|989898|1|9999052280|MR|Test|E|Lead 52280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052281|152281|989898|1|9999052281|MR|Test|E|Lead 52281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052282|152282|989898|1|9999052282|MR|Test|E|Lead 52282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052283|152283|989898|1|9999052283|MR|Test|E|Lead 52283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052284|152284|989898|1|9999052284|MR|Test|E|Lead 52284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052285|152285|989898|1|9999052285|MR|Test|E|Lead 52285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052286|152286|989898|1|9999052286|MR|Test|E|Lead 52286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052287|152287|989898|1|9999052287|MR|Test|E|Lead 52287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052288|152288|989898|1|9999052288|MR|Test|E|Lead 52288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052289|152289|989898|1|9999052289|MR|Test|E|Lead 52289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052290|152290|989898|1|9999052290|MR|Test|E|Lead 52290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052291|152291|989898|1|9999052291|MR|Test|E|Lead 52291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052292|152292|989898|1|9999052292|MR|Test|E|Lead 52292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052293|152293|989898|1|9999052293|MR|Test|E|Lead 52293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052294|152294|989898|1|9999052294|MR|Test|E|Lead 52294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052295|152295|989898|1|9999052295|MR|Test|E|Lead 52295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052296|152296|989898|1|9999052296|MR|Test|E|Lead 52296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052297|152297|989898|1|9999052297|MR|Test|E|Lead 52297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052298|152298|989898|1|9999052298|MR|Test|E|Lead 52298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052299|152299|989898|1|9999052299|MR|Test|E|Lead 52299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052300|152300|989898|1|9999052300|MR|Test|E|Lead 52300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052301|152301|989898|1|9999052301|MR|Test|E|Lead 52301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052302|152302|989898|1|9999052302|MR|Test|E|Lead 52302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052303|152303|989898|1|9999052303|MR|Test|E|Lead 52303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052304|152304|989898|1|9999052304|MR|Test|E|Lead 52304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052305|152305|989898|1|9999052305|MR|Test|E|Lead 52305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052306|152306|989898|1|9999052306|MR|Test|E|Lead 52306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052307|152307|989898|1|9999052307|MR|Test|E|Lead 52307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052308|152308|989898|1|9999052308|MR|Test|E|Lead 52308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052309|152309|989898|1|9999052309|MR|Test|E|Lead 52309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052310|152310|989898|1|9999052310|MR|Test|E|Lead 52310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052311|152311|989898|1|9999052311|MR|Test|E|Lead 52311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052312|152312|989898|1|9999052312|MR|Test|E|Lead 52312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052313|152313|989898|1|9999052313|MR|Test|E|Lead 52313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052314|152314|989898|1|9999052314|MR|Test|E|Lead 52314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052315|152315|989898|1|9999052315|MR|Test|E|Lead 52315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052316|152316|989898|1|9999052316|MR|Test|E|Lead 52316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052317|152317|989898|1|9999052317|MR|Test|E|Lead 52317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052318|152318|989898|1|9999052318|MR|Test|E|Lead 52318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052319|152319|989898|1|9999052319|MR|Test|E|Lead 52319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052320|152320|989898|1|9999052320|MR|Test|E|Lead 52320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052321|152321|989898|1|9999052321|MR|Test|E|Lead 52321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052322|152322|989898|1|9999052322|MR|Test|E|Lead 52322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052323|152323|989898|1|9999052323|MR|Test|E|Lead 52323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052324|152324|989898|1|9999052324|MR|Test|E|Lead 52324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052325|152325|989898|1|9999052325|MR|Test|E|Lead 52325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052326|152326|989898|1|9999052326|MR|Test|E|Lead 52326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052327|152327|989898|1|9999052327|MR|Test|E|Lead 52327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052328|152328|989898|1|9999052328|MR|Test|E|Lead 52328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052329|152329|989898|1|9999052329|MR|Test|E|Lead 52329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052330|152330|989898|1|9999052330|MR|Test|E|Lead 52330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052331|152331|989898|1|9999052331|MR|Test|E|Lead 52331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052332|152332|989898|1|9999052332|MR|Test|E|Lead 52332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052333|152333|989898|1|9999052333|MR|Test|E|Lead 52333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052334|152334|989898|1|9999052334|MR|Test|E|Lead 52334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052335|152335|989898|1|9999052335|MR|Test|E|Lead 52335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052336|152336|989898|1|9999052336|MR|Test|E|Lead 52336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052337|152337|989898|1|9999052337|MR|Test|E|Lead 52337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052338|152338|989898|1|9999052338|MR|Test|E|Lead 52338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052339|152339|989898|1|9999052339|MR|Test|E|Lead 52339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052340|152340|989898|1|9999052340|MR|Test|E|Lead 52340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052341|152341|989898|1|9999052341|MR|Test|E|Lead 52341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052342|152342|989898|1|9999052342|MR|Test|E|Lead 52342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052343|152343|989898|1|9999052343|MR|Test|E|Lead 52343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052344|152344|989898|1|9999052344|MR|Test|E|Lead 52344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052345|152345|989898|1|9999052345|MR|Test|E|Lead 52345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052346|152346|989898|1|9999052346|MR|Test|E|Lead 52346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052347|152347|989898|1|9999052347|MR|Test|E|Lead 52347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052348|152348|989898|1|9999052348|MR|Test|E|Lead 52348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052349|152349|989898|1|9999052349|MR|Test|E|Lead 52349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052350|152350|989898|1|9999052350|MR|Test|E|Lead 52350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052351|152351|989898|1|9999052351|MR|Test|E|Lead 52351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052352|152352|989898|1|9999052352|MR|Test|E|Lead 52352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052353|152353|989898|1|9999052353|MR|Test|E|Lead 52353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052354|152354|989898|1|9999052354|MR|Test|E|Lead 52354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052355|152355|989898|1|9999052355|MR|Test|E|Lead 52355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052356|152356|989898|1|9999052356|MR|Test|E|Lead 52356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052357|152357|989898|1|9999052357|MR|Test|E|Lead 52357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052358|152358|989898|1|9999052358|MR|Test|E|Lead 52358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052359|152359|989898|1|9999052359|MR|Test|E|Lead 52359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052360|152360|989898|1|9999052360|MR|Test|E|Lead 52360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052361|152361|989898|1|9999052361|MR|Test|E|Lead 52361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052362|152362|989898|1|9999052362|MR|Test|E|Lead 52362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052363|152363|989898|1|9999052363|MR|Test|E|Lead 52363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052364|152364|989898|1|9999052364|MR|Test|E|Lead 52364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052365|152365|989898|1|9999052365|MR|Test|E|Lead 52365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052366|152366|989898|1|9999052366|MR|Test|E|Lead 52366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052367|152367|989898|1|9999052367|MR|Test|E|Lead 52367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052368|152368|989898|1|9999052368|MR|Test|E|Lead 52368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052369|152369|989898|1|9999052369|MR|Test|E|Lead 52369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052370|152370|989898|1|9999052370|MR|Test|E|Lead 52370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052371|152371|989898|1|9999052371|MR|Test|E|Lead 52371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052372|152372|989898|1|9999052372|MR|Test|E|Lead 52372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052373|152373|989898|1|9999052373|MR|Test|E|Lead 52373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052374|152374|989898|1|9999052374|MR|Test|E|Lead 52374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052375|152375|989898|1|9999052375|MR|Test|E|Lead 52375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052376|152376|989898|1|9999052376|MR|Test|E|Lead 52376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052377|152377|989898|1|9999052377|MR|Test|E|Lead 52377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052378|152378|989898|1|9999052378|MR|Test|E|Lead 52378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052379|152379|989898|1|9999052379|MR|Test|E|Lead 52379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052380|152380|989898|1|9999052380|MR|Test|E|Lead 52380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052381|152381|989898|1|9999052381|MR|Test|E|Lead 52381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052382|152382|989898|1|9999052382|MR|Test|E|Lead 52382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052383|152383|989898|1|9999052383|MR|Test|E|Lead 52383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052384|152384|989898|1|9999052384|MR|Test|E|Lead 52384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052385|152385|989898|1|9999052385|MR|Test|E|Lead 52385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052386|152386|989898|1|9999052386|MR|Test|E|Lead 52386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052387|152387|989898|1|9999052387|MR|Test|E|Lead 52387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052388|152388|989898|1|9999052388|MR|Test|E|Lead 52388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052389|152389|989898|1|9999052389|MR|Test|E|Lead 52389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052390|152390|989898|1|9999052390|MR|Test|E|Lead 52390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052391|152391|989898|1|9999052391|MR|Test|E|Lead 52391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052392|152392|989898|1|9999052392|MR|Test|E|Lead 52392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052393|152393|989898|1|9999052393|MR|Test|E|Lead 52393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052394|152394|989898|1|9999052394|MR|Test|E|Lead 52394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052395|152395|989898|1|9999052395|MR|Test|E|Lead 52395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052396|152396|989898|1|9999052396|MR|Test|E|Lead 52396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052397|152397|989898|1|9999052397|MR|Test|E|Lead 52397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052398|152398|989898|1|9999052398|MR|Test|E|Lead 52398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052399|152399|989898|1|9999052399|MR|Test|E|Lead 52399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052400|152400|989898|1|9999052400|MR|Test|E|Lead 52400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052401|152401|989898|1|9999052401|MR|Test|E|Lead 52401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052402|152402|989898|1|9999052402|MR|Test|E|Lead 52402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052403|152403|989898|1|9999052403|MR|Test|E|Lead 52403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052404|152404|989898|1|9999052404|MR|Test|E|Lead 52404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052405|152405|989898|1|9999052405|MR|Test|E|Lead 52405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052406|152406|989898|1|9999052406|MR|Test|E|Lead 52406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052407|152407|989898|1|9999052407|MR|Test|E|Lead 52407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052408|152408|989898|1|9999052408|MR|Test|E|Lead 52408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052409|152409|989898|1|9999052409|MR|Test|E|Lead 52409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052410|152410|989898|1|9999052410|MR|Test|E|Lead 52410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052411|152411|989898|1|9999052411|MR|Test|E|Lead 52411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052412|152412|989898|1|9999052412|MR|Test|E|Lead 52412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052413|152413|989898|1|9999052413|MR|Test|E|Lead 52413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052414|152414|989898|1|9999052414|MR|Test|E|Lead 52414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052415|152415|989898|1|9999052415|MR|Test|E|Lead 52415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052416|152416|989898|1|9999052416|MR|Test|E|Lead 52416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052417|152417|989898|1|9999052417|MR|Test|E|Lead 52417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052418|152418|989898|1|9999052418|MR|Test|E|Lead 52418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052419|152419|989898|1|9999052419|MR|Test|E|Lead 52419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052420|152420|989898|1|9999052420|MR|Test|E|Lead 52420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052421|152421|989898|1|9999052421|MR|Test|E|Lead 52421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052422|152422|989898|1|9999052422|MR|Test|E|Lead 52422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052423|152423|989898|1|9999052423|MR|Test|E|Lead 52423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052424|152424|989898|1|9999052424|MR|Test|E|Lead 52424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052425|152425|989898|1|9999052425|MR|Test|E|Lead 52425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052426|152426|989898|1|9999052426|MR|Test|E|Lead 52426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052427|152427|989898|1|9999052427|MR|Test|E|Lead 52427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052428|152428|989898|1|9999052428|MR|Test|E|Lead 52428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052429|152429|989898|1|9999052429|MR|Test|E|Lead 52429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052430|152430|989898|1|9999052430|MR|Test|E|Lead 52430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052431|152431|989898|1|9999052431|MR|Test|E|Lead 52431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052432|152432|989898|1|9999052432|MR|Test|E|Lead 52432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052433|152433|989898|1|9999052433|MR|Test|E|Lead 52433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052434|152434|989898|1|9999052434|MR|Test|E|Lead 52434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052435|152435|989898|1|9999052435|MR|Test|E|Lead 52435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052436|152436|989898|1|9999052436|MR|Test|E|Lead 52436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052437|152437|989898|1|9999052437|MR|Test|E|Lead 52437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052438|152438|989898|1|9999052438|MR|Test|E|Lead 52438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052439|152439|989898|1|9999052439|MR|Test|E|Lead 52439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052440|152440|989898|1|9999052440|MR|Test|E|Lead 52440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052441|152441|989898|1|9999052441|MR|Test|E|Lead 52441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052442|152442|989898|1|9999052442|MR|Test|E|Lead 52442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052443|152443|989898|1|9999052443|MR|Test|E|Lead 52443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052444|152444|989898|1|9999052444|MR|Test|E|Lead 52444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052445|152445|989898|1|9999052445|MR|Test|E|Lead 52445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052446|152446|989898|1|9999052446|MR|Test|E|Lead 52446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052447|152447|989898|1|9999052447|MR|Test|E|Lead 52447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052448|152448|989898|1|9999052448|MR|Test|E|Lead 52448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052449|152449|989898|1|9999052449|MR|Test|E|Lead 52449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052450|152450|989898|1|9999052450|MR|Test|E|Lead 52450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052451|152451|989898|1|9999052451|MR|Test|E|Lead 52451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052452|152452|989898|1|9999052452|MR|Test|E|Lead 52452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052453|152453|989898|1|9999052453|MR|Test|E|Lead 52453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052454|152454|989898|1|9999052454|MR|Test|E|Lead 52454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052455|152455|989898|1|9999052455|MR|Test|E|Lead 52455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052456|152456|989898|1|9999052456|MR|Test|E|Lead 52456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052457|152457|989898|1|9999052457|MR|Test|E|Lead 52457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052458|152458|989898|1|9999052458|MR|Test|E|Lead 52458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052459|152459|989898|1|9999052459|MR|Test|E|Lead 52459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052460|152460|989898|1|9999052460|MR|Test|E|Lead 52460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052461|152461|989898|1|9999052461|MR|Test|E|Lead 52461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052462|152462|989898|1|9999052462|MR|Test|E|Lead 52462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052463|152463|989898|1|9999052463|MR|Test|E|Lead 52463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052464|152464|989898|1|9999052464|MR|Test|E|Lead 52464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052465|152465|989898|1|9999052465|MR|Test|E|Lead 52465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052466|152466|989898|1|9999052466|MR|Test|E|Lead 52466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052467|152467|989898|1|9999052467|MR|Test|E|Lead 52467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052468|152468|989898|1|9999052468|MR|Test|E|Lead 52468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052469|152469|989898|1|9999052469|MR|Test|E|Lead 52469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052470|152470|989898|1|9999052470|MR|Test|E|Lead 52470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052471|152471|989898|1|9999052471|MR|Test|E|Lead 52471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052472|152472|989898|1|9999052472|MR|Test|E|Lead 52472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052473|152473|989898|1|9999052473|MR|Test|E|Lead 52473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052474|152474|989898|1|9999052474|MR|Test|E|Lead 52474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052475|152475|989898|1|9999052475|MR|Test|E|Lead 52475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052476|152476|989898|1|9999052476|MR|Test|E|Lead 52476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052477|152477|989898|1|9999052477|MR|Test|E|Lead 52477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052478|152478|989898|1|9999052478|MR|Test|E|Lead 52478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052479|152479|989898|1|9999052479|MR|Test|E|Lead 52479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052480|152480|989898|1|9999052480|MR|Test|E|Lead 52480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052481|152481|989898|1|9999052481|MR|Test|E|Lead 52481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052482|152482|989898|1|9999052482|MR|Test|E|Lead 52482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052483|152483|989898|1|9999052483|MR|Test|E|Lead 52483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052484|152484|989898|1|9999052484|MR|Test|E|Lead 52484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052485|152485|989898|1|9999052485|MR|Test|E|Lead 52485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052486|152486|989898|1|9999052486|MR|Test|E|Lead 52486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052487|152487|989898|1|9999052487|MR|Test|E|Lead 52487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052488|152488|989898|1|9999052488|MR|Test|E|Lead 52488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052489|152489|989898|1|9999052489|MR|Test|E|Lead 52489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052490|152490|989898|1|9999052490|MR|Test|E|Lead 52490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052491|152491|989898|1|9999052491|MR|Test|E|Lead 52491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052492|152492|989898|1|9999052492|MR|Test|E|Lead 52492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052493|152493|989898|1|9999052493|MR|Test|E|Lead 52493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052494|152494|989898|1|9999052494|MR|Test|E|Lead 52494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052495|152495|989898|1|9999052495|MR|Test|E|Lead 52495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052496|152496|989898|1|9999052496|MR|Test|E|Lead 52496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052497|152497|989898|1|9999052497|MR|Test|E|Lead 52497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052498|152498|989898|1|9999052498|MR|Test|E|Lead 52498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052499|152499|989898|1|9999052499|MR|Test|E|Lead 52499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052500|152500|989898|1|9999052500|MR|Test|E|Lead 52500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052501|152501|989898|1|9999052501|MR|Test|E|Lead 52501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052502|152502|989898|1|9999052502|MR|Test|E|Lead 52502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052503|152503|989898|1|9999052503|MR|Test|E|Lead 52503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052504|152504|989898|1|9999052504|MR|Test|E|Lead 52504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052505|152505|989898|1|9999052505|MR|Test|E|Lead 52505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052506|152506|989898|1|9999052506|MR|Test|E|Lead 52506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052507|152507|989898|1|9999052507|MR|Test|E|Lead 52507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052508|152508|989898|1|9999052508|MR|Test|E|Lead 52508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052509|152509|989898|1|9999052509|MR|Test|E|Lead 52509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052510|152510|989898|1|9999052510|MR|Test|E|Lead 52510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052511|152511|989898|1|9999052511|MR|Test|E|Lead 52511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052512|152512|989898|1|9999052512|MR|Test|E|Lead 52512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052513|152513|989898|1|9999052513|MR|Test|E|Lead 52513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052514|152514|989898|1|9999052514|MR|Test|E|Lead 52514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052515|152515|989898|1|9999052515|MR|Test|E|Lead 52515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052516|152516|989898|1|9999052516|MR|Test|E|Lead 52516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052517|152517|989898|1|9999052517|MR|Test|E|Lead 52517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052518|152518|989898|1|9999052518|MR|Test|E|Lead 52518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052519|152519|989898|1|9999052519|MR|Test|E|Lead 52519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052520|152520|989898|1|9999052520|MR|Test|E|Lead 52520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052521|152521|989898|1|9999052521|MR|Test|E|Lead 52521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052522|152522|989898|1|9999052522|MR|Test|E|Lead 52522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052523|152523|989898|1|9999052523|MR|Test|E|Lead 52523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052524|152524|989898|1|9999052524|MR|Test|E|Lead 52524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052525|152525|989898|1|9999052525|MR|Test|E|Lead 52525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052526|152526|989898|1|9999052526|MR|Test|E|Lead 52526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052527|152527|989898|1|9999052527|MR|Test|E|Lead 52527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052528|152528|989898|1|9999052528|MR|Test|E|Lead 52528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052529|152529|989898|1|9999052529|MR|Test|E|Lead 52529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052530|152530|989898|1|9999052530|MR|Test|E|Lead 52530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052531|152531|989898|1|9999052531|MR|Test|E|Lead 52531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052532|152532|989898|1|9999052532|MR|Test|E|Lead 52532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052533|152533|989898|1|9999052533|MR|Test|E|Lead 52533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052534|152534|989898|1|9999052534|MR|Test|E|Lead 52534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052535|152535|989898|1|9999052535|MR|Test|E|Lead 52535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052536|152536|989898|1|9999052536|MR|Test|E|Lead 52536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052537|152537|989898|1|9999052537|MR|Test|E|Lead 52537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052538|152538|989898|1|9999052538|MR|Test|E|Lead 52538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052539|152539|989898|1|9999052539|MR|Test|E|Lead 52539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052540|152540|989898|1|9999052540|MR|Test|E|Lead 52540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052541|152541|989898|1|9999052541|MR|Test|E|Lead 52541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052542|152542|989898|1|9999052542|MR|Test|E|Lead 52542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052543|152543|989898|1|9999052543|MR|Test|E|Lead 52543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052544|152544|989898|1|9999052544|MR|Test|E|Lead 52544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052545|152545|989898|1|9999052545|MR|Test|E|Lead 52545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052546|152546|989898|1|9999052546|MR|Test|E|Lead 52546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052547|152547|989898|1|9999052547|MR|Test|E|Lead 52547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052548|152548|989898|1|9999052548|MR|Test|E|Lead 52548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052549|152549|989898|1|9999052549|MR|Test|E|Lead 52549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052550|152550|989898|1|9999052550|MR|Test|E|Lead 52550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052551|152551|989898|1|9999052551|MR|Test|E|Lead 52551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052552|152552|989898|1|9999052552|MR|Test|E|Lead 52552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052553|152553|989898|1|9999052553|MR|Test|E|Lead 52553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052554|152554|989898|1|9999052554|MR|Test|E|Lead 52554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052555|152555|989898|1|9999052555|MR|Test|E|Lead 52555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052556|152556|989898|1|9999052556|MR|Test|E|Lead 52556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052557|152557|989898|1|9999052557|MR|Test|E|Lead 52557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052558|152558|989898|1|9999052558|MR|Test|E|Lead 52558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052559|152559|989898|1|9999052559|MR|Test|E|Lead 52559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052560|152560|989898|1|9999052560|MR|Test|E|Lead 52560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052561|152561|989898|1|9999052561|MR|Test|E|Lead 52561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052562|152562|989898|1|9999052562|MR|Test|E|Lead 52562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052563|152563|989898|1|9999052563|MR|Test|E|Lead 52563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052564|152564|989898|1|9999052564|MR|Test|E|Lead 52564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052565|152565|989898|1|9999052565|MR|Test|E|Lead 52565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052566|152566|989898|1|9999052566|MR|Test|E|Lead 52566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052567|152567|989898|1|9999052567|MR|Test|E|Lead 52567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052568|152568|989898|1|9999052568|MR|Test|E|Lead 52568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052569|152569|989898|1|9999052569|MR|Test|E|Lead 52569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052570|152570|989898|1|9999052570|MR|Test|E|Lead 52570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052571|152571|989898|1|9999052571|MR|Test|E|Lead 52571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052572|152572|989898|1|9999052572|MR|Test|E|Lead 52572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052573|152573|989898|1|9999052573|MR|Test|E|Lead 52573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052574|152574|989898|1|9999052574|MR|Test|E|Lead 52574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052575|152575|989898|1|9999052575|MR|Test|E|Lead 52575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052576|152576|989898|1|9999052576|MR|Test|E|Lead 52576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052577|152577|989898|1|9999052577|MR|Test|E|Lead 52577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052578|152578|989898|1|9999052578|MR|Test|E|Lead 52578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052579|152579|989898|1|9999052579|MR|Test|E|Lead 52579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052580|152580|989898|1|9999052580|MR|Test|E|Lead 52580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052581|152581|989898|1|9999052581|MR|Test|E|Lead 52581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052582|152582|989898|1|9999052582|MR|Test|E|Lead 52582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052583|152583|989898|1|9999052583|MR|Test|E|Lead 52583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052584|152584|989898|1|9999052584|MR|Test|E|Lead 52584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052585|152585|989898|1|9999052585|MR|Test|E|Lead 52585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052586|152586|989898|1|9999052586|MR|Test|E|Lead 52586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052587|152587|989898|1|9999052587|MR|Test|E|Lead 52587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052588|152588|989898|1|9999052588|MR|Test|E|Lead 52588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052589|152589|989898|1|9999052589|MR|Test|E|Lead 52589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052590|152590|989898|1|9999052590|MR|Test|E|Lead 52590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052591|152591|989898|1|9999052591|MR|Test|E|Lead 52591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052592|152592|989898|1|9999052592|MR|Test|E|Lead 52592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052593|152593|989898|1|9999052593|MR|Test|E|Lead 52593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052594|152594|989898|1|9999052594|MR|Test|E|Lead 52594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052595|152595|989898|1|9999052595|MR|Test|E|Lead 52595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052596|152596|989898|1|9999052596|MR|Test|E|Lead 52596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052597|152597|989898|1|9999052597|MR|Test|E|Lead 52597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052598|152598|989898|1|9999052598|MR|Test|E|Lead 52598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052599|152599|989898|1|9999052599|MR|Test|E|Lead 52599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052600|152600|989898|1|9999052600|MR|Test|E|Lead 52600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052601|152601|989898|1|9999052601|MR|Test|E|Lead 52601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052602|152602|989898|1|9999052602|MR|Test|E|Lead 52602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052603|152603|989898|1|9999052603|MR|Test|E|Lead 52603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052604|152604|989898|1|9999052604|MR|Test|E|Lead 52604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052605|152605|989898|1|9999052605|MR|Test|E|Lead 52605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052606|152606|989898|1|9999052606|MR|Test|E|Lead 52606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052607|152607|989898|1|9999052607|MR|Test|E|Lead 52607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052608|152608|989898|1|9999052608|MR|Test|E|Lead 52608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052609|152609|989898|1|9999052609|MR|Test|E|Lead 52609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052610|152610|989898|1|9999052610|MR|Test|E|Lead 52610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052611|152611|989898|1|9999052611|MR|Test|E|Lead 52611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052612|152612|989898|1|9999052612|MR|Test|E|Lead 52612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052613|152613|989898|1|9999052613|MR|Test|E|Lead 52613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052614|152614|989898|1|9999052614|MR|Test|E|Lead 52614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052615|152615|989898|1|9999052615|MR|Test|E|Lead 52615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052616|152616|989898|1|9999052616|MR|Test|E|Lead 52616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052617|152617|989898|1|9999052617|MR|Test|E|Lead 52617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052618|152618|989898|1|9999052618|MR|Test|E|Lead 52618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052619|152619|989898|1|9999052619|MR|Test|E|Lead 52619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052620|152620|989898|1|9999052620|MR|Test|E|Lead 52620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052621|152621|989898|1|9999052621|MR|Test|E|Lead 52621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052622|152622|989898|1|9999052622|MR|Test|E|Lead 52622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052623|152623|989898|1|9999052623|MR|Test|E|Lead 52623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052624|152624|989898|1|9999052624|MR|Test|E|Lead 52624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052625|152625|989898|1|9999052625|MR|Test|E|Lead 52625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052626|152626|989898|1|9999052626|MR|Test|E|Lead 52626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052627|152627|989898|1|9999052627|MR|Test|E|Lead 52627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052628|152628|989898|1|9999052628|MR|Test|E|Lead 52628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052629|152629|989898|1|9999052629|MR|Test|E|Lead 52629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052630|152630|989898|1|9999052630|MR|Test|E|Lead 52630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052631|152631|989898|1|9999052631|MR|Test|E|Lead 52631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052632|152632|989898|1|9999052632|MR|Test|E|Lead 52632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052633|152633|989898|1|9999052633|MR|Test|E|Lead 52633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052634|152634|989898|1|9999052634|MR|Test|E|Lead 52634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052635|152635|989898|1|9999052635|MR|Test|E|Lead 52635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052636|152636|989898|1|9999052636|MR|Test|E|Lead 52636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052637|152637|989898|1|9999052637|MR|Test|E|Lead 52637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052638|152638|989898|1|9999052638|MR|Test|E|Lead 52638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052639|152639|989898|1|9999052639|MR|Test|E|Lead 52639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052640|152640|989898|1|9999052640|MR|Test|E|Lead 52640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052641|152641|989898|1|9999052641|MR|Test|E|Lead 52641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052642|152642|989898|1|9999052642|MR|Test|E|Lead 52642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052643|152643|989898|1|9999052643|MR|Test|E|Lead 52643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052644|152644|989898|1|9999052644|MR|Test|E|Lead 52644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052645|152645|989898|1|9999052645|MR|Test|E|Lead 52645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052646|152646|989898|1|9999052646|MR|Test|E|Lead 52646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052647|152647|989898|1|9999052647|MR|Test|E|Lead 52647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052648|152648|989898|1|9999052648|MR|Test|E|Lead 52648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052649|152649|989898|1|9999052649|MR|Test|E|Lead 52649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052650|152650|989898|1|9999052650|MR|Test|E|Lead 52650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052651|152651|989898|1|9999052651|MR|Test|E|Lead 52651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052652|152652|989898|1|9999052652|MR|Test|E|Lead 52652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052653|152653|989898|1|9999052653|MR|Test|E|Lead 52653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052654|152654|989898|1|9999052654|MR|Test|E|Lead 52654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052655|152655|989898|1|9999052655|MR|Test|E|Lead 52655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052656|152656|989898|1|9999052656|MR|Test|E|Lead 52656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052657|152657|989898|1|9999052657|MR|Test|E|Lead 52657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052658|152658|989898|1|9999052658|MR|Test|E|Lead 52658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052659|152659|989898|1|9999052659|MR|Test|E|Lead 52659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052660|152660|989898|1|9999052660|MR|Test|E|Lead 52660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052661|152661|989898|1|9999052661|MR|Test|E|Lead 52661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052662|152662|989898|1|9999052662|MR|Test|E|Lead 52662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052663|152663|989898|1|9999052663|MR|Test|E|Lead 52663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052664|152664|989898|1|9999052664|MR|Test|E|Lead 52664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052665|152665|989898|1|9999052665|MR|Test|E|Lead 52665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052666|152666|989898|1|9999052666|MR|Test|E|Lead 52666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052667|152667|989898|1|9999052667|MR|Test|E|Lead 52667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052668|152668|989898|1|9999052668|MR|Test|E|Lead 52668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052669|152669|989898|1|9999052669|MR|Test|E|Lead 52669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052670|152670|989898|1|9999052670|MR|Test|E|Lead 52670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052671|152671|989898|1|9999052671|MR|Test|E|Lead 52671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052672|152672|989898|1|9999052672|MR|Test|E|Lead 52672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052673|152673|989898|1|9999052673|MR|Test|E|Lead 52673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052674|152674|989898|1|9999052674|MR|Test|E|Lead 52674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052675|152675|989898|1|9999052675|MR|Test|E|Lead 52675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052676|152676|989898|1|9999052676|MR|Test|E|Lead 52676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052677|152677|989898|1|9999052677|MR|Test|E|Lead 52677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052678|152678|989898|1|9999052678|MR|Test|E|Lead 52678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052679|152679|989898|1|9999052679|MR|Test|E|Lead 52679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052680|152680|989898|1|9999052680|MR|Test|E|Lead 52680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052681|152681|989898|1|9999052681|MR|Test|E|Lead 52681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052682|152682|989898|1|9999052682|MR|Test|E|Lead 52682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052683|152683|989898|1|9999052683|MR|Test|E|Lead 52683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052684|152684|989898|1|9999052684|MR|Test|E|Lead 52684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052685|152685|989898|1|9999052685|MR|Test|E|Lead 52685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052686|152686|989898|1|9999052686|MR|Test|E|Lead 52686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052687|152687|989898|1|9999052687|MR|Test|E|Lead 52687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052688|152688|989898|1|9999052688|MR|Test|E|Lead 52688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052689|152689|989898|1|9999052689|MR|Test|E|Lead 52689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052690|152690|989898|1|9999052690|MR|Test|E|Lead 52690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052691|152691|989898|1|9999052691|MR|Test|E|Lead 52691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052692|152692|989898|1|9999052692|MR|Test|E|Lead 52692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052693|152693|989898|1|9999052693|MR|Test|E|Lead 52693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052694|152694|989898|1|9999052694|MR|Test|E|Lead 52694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052695|152695|989898|1|9999052695|MR|Test|E|Lead 52695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052696|152696|989898|1|9999052696|MR|Test|E|Lead 52696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052697|152697|989898|1|9999052697|MR|Test|E|Lead 52697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052698|152698|989898|1|9999052698|MR|Test|E|Lead 52698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052699|152699|989898|1|9999052699|MR|Test|E|Lead 52699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052700|152700|989898|1|9999052700|MR|Test|E|Lead 52700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052701|152701|989898|1|9999052701|MR|Test|E|Lead 52701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052702|152702|989898|1|9999052702|MR|Test|E|Lead 52702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052703|152703|989898|1|9999052703|MR|Test|E|Lead 52703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052704|152704|989898|1|9999052704|MR|Test|E|Lead 52704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052705|152705|989898|1|9999052705|MR|Test|E|Lead 52705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052706|152706|989898|1|9999052706|MR|Test|E|Lead 52706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052707|152707|989898|1|9999052707|MR|Test|E|Lead 52707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052708|152708|989898|1|9999052708|MR|Test|E|Lead 52708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052709|152709|989898|1|9999052709|MR|Test|E|Lead 52709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052710|152710|989898|1|9999052710|MR|Test|E|Lead 52710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052711|152711|989898|1|9999052711|MR|Test|E|Lead 52711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052712|152712|989898|1|9999052712|MR|Test|E|Lead 52712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052713|152713|989898|1|9999052713|MR|Test|E|Lead 52713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052714|152714|989898|1|9999052714|MR|Test|E|Lead 52714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052715|152715|989898|1|9999052715|MR|Test|E|Lead 52715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052716|152716|989898|1|9999052716|MR|Test|E|Lead 52716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052717|152717|989898|1|9999052717|MR|Test|E|Lead 52717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052718|152718|989898|1|9999052718|MR|Test|E|Lead 52718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052719|152719|989898|1|9999052719|MR|Test|E|Lead 52719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052720|152720|989898|1|9999052720|MR|Test|E|Lead 52720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052721|152721|989898|1|9999052721|MR|Test|E|Lead 52721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052722|152722|989898|1|9999052722|MR|Test|E|Lead 52722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052723|152723|989898|1|9999052723|MR|Test|E|Lead 52723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052724|152724|989898|1|9999052724|MR|Test|E|Lead 52724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052725|152725|989898|1|9999052725|MR|Test|E|Lead 52725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052726|152726|989898|1|9999052726|MR|Test|E|Lead 52726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052727|152727|989898|1|9999052727|MR|Test|E|Lead 52727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052728|152728|989898|1|9999052728|MR|Test|E|Lead 52728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052729|152729|989898|1|9999052729|MR|Test|E|Lead 52729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052730|152730|989898|1|9999052730|MR|Test|E|Lead 52730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052731|152731|989898|1|9999052731|MR|Test|E|Lead 52731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052732|152732|989898|1|9999052732|MR|Test|E|Lead 52732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052733|152733|989898|1|9999052733|MR|Test|E|Lead 52733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052734|152734|989898|1|9999052734|MR|Test|E|Lead 52734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052735|152735|989898|1|9999052735|MR|Test|E|Lead 52735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052736|152736|989898|1|9999052736|MR|Test|E|Lead 52736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052737|152737|989898|1|9999052737|MR|Test|E|Lead 52737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052738|152738|989898|1|9999052738|MR|Test|E|Lead 52738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052739|152739|989898|1|9999052739|MR|Test|E|Lead 52739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052740|152740|989898|1|9999052740|MR|Test|E|Lead 52740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052741|152741|989898|1|9999052741|MR|Test|E|Lead 52741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052742|152742|989898|1|9999052742|MR|Test|E|Lead 52742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052743|152743|989898|1|9999052743|MR|Test|E|Lead 52743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052744|152744|989898|1|9999052744|MR|Test|E|Lead 52744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052745|152745|989898|1|9999052745|MR|Test|E|Lead 52745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052746|152746|989898|1|9999052746|MR|Test|E|Lead 52746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052747|152747|989898|1|9999052747|MR|Test|E|Lead 52747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052748|152748|989898|1|9999052748|MR|Test|E|Lead 52748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052749|152749|989898|1|9999052749|MR|Test|E|Lead 52749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052750|152750|989898|1|9999052750|MR|Test|E|Lead 52750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052751|152751|989898|1|9999052751|MR|Test|E|Lead 52751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052752|152752|989898|1|9999052752|MR|Test|E|Lead 52752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052753|152753|989898|1|9999052753|MR|Test|E|Lead 52753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052754|152754|989898|1|9999052754|MR|Test|E|Lead 52754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052755|152755|989898|1|9999052755|MR|Test|E|Lead 52755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052756|152756|989898|1|9999052756|MR|Test|E|Lead 52756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052757|152757|989898|1|9999052757|MR|Test|E|Lead 52757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052758|152758|989898|1|9999052758|MR|Test|E|Lead 52758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052759|152759|989898|1|9999052759|MR|Test|E|Lead 52759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052760|152760|989898|1|9999052760|MR|Test|E|Lead 52760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052761|152761|989898|1|9999052761|MR|Test|E|Lead 52761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052762|152762|989898|1|9999052762|MR|Test|E|Lead 52762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052763|152763|989898|1|9999052763|MR|Test|E|Lead 52763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052764|152764|989898|1|9999052764|MR|Test|E|Lead 52764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052765|152765|989898|1|9999052765|MR|Test|E|Lead 52765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052766|152766|989898|1|9999052766|MR|Test|E|Lead 52766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052767|152767|989898|1|9999052767|MR|Test|E|Lead 52767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052768|152768|989898|1|9999052768|MR|Test|E|Lead 52768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052769|152769|989898|1|9999052769|MR|Test|E|Lead 52769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052770|152770|989898|1|9999052770|MR|Test|E|Lead 52770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052771|152771|989898|1|9999052771|MR|Test|E|Lead 52771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052772|152772|989898|1|9999052772|MR|Test|E|Lead 52772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052773|152773|989898|1|9999052773|MR|Test|E|Lead 52773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052774|152774|989898|1|9999052774|MR|Test|E|Lead 52774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052775|152775|989898|1|9999052775|MR|Test|E|Lead 52775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052776|152776|989898|1|9999052776|MR|Test|E|Lead 52776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052777|152777|989898|1|9999052777|MR|Test|E|Lead 52777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052778|152778|989898|1|9999052778|MR|Test|E|Lead 52778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052779|152779|989898|1|9999052779|MR|Test|E|Lead 52779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052780|152780|989898|1|9999052780|MR|Test|E|Lead 52780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052781|152781|989898|1|9999052781|MR|Test|E|Lead 52781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052782|152782|989898|1|9999052782|MR|Test|E|Lead 52782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052783|152783|989898|1|9999052783|MR|Test|E|Lead 52783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052784|152784|989898|1|9999052784|MR|Test|E|Lead 52784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052785|152785|989898|1|9999052785|MR|Test|E|Lead 52785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052786|152786|989898|1|9999052786|MR|Test|E|Lead 52786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052787|152787|989898|1|9999052787|MR|Test|E|Lead 52787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052788|152788|989898|1|9999052788|MR|Test|E|Lead 52788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052789|152789|989898|1|9999052789|MR|Test|E|Lead 52789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052790|152790|989898|1|9999052790|MR|Test|E|Lead 52790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052791|152791|989898|1|9999052791|MR|Test|E|Lead 52791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052792|152792|989898|1|9999052792|MR|Test|E|Lead 52792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052793|152793|989898|1|9999052793|MR|Test|E|Lead 52793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052794|152794|989898|1|9999052794|MR|Test|E|Lead 52794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052795|152795|989898|1|9999052795|MR|Test|E|Lead 52795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052796|152796|989898|1|9999052796|MR|Test|E|Lead 52796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052797|152797|989898|1|9999052797|MR|Test|E|Lead 52797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052798|152798|989898|1|9999052798|MR|Test|E|Lead 52798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052799|152799|989898|1|9999052799|MR|Test|E|Lead 52799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052800|152800|989898|1|9999052800|MR|Test|E|Lead 52800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052801|152801|989898|1|9999052801|MR|Test|E|Lead 52801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052802|152802|989898|1|9999052802|MR|Test|E|Lead 52802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052803|152803|989898|1|9999052803|MR|Test|E|Lead 52803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052804|152804|989898|1|9999052804|MR|Test|E|Lead 52804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052805|152805|989898|1|9999052805|MR|Test|E|Lead 52805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052806|152806|989898|1|9999052806|MR|Test|E|Lead 52806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052807|152807|989898|1|9999052807|MR|Test|E|Lead 52807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052808|152808|989898|1|9999052808|MR|Test|E|Lead 52808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052809|152809|989898|1|9999052809|MR|Test|E|Lead 52809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052810|152810|989898|1|9999052810|MR|Test|E|Lead 52810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052811|152811|989898|1|9999052811|MR|Test|E|Lead 52811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052812|152812|989898|1|9999052812|MR|Test|E|Lead 52812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052813|152813|989898|1|9999052813|MR|Test|E|Lead 52813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052814|152814|989898|1|9999052814|MR|Test|E|Lead 52814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052815|152815|989898|1|9999052815|MR|Test|E|Lead 52815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052816|152816|989898|1|9999052816|MR|Test|E|Lead 52816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052817|152817|989898|1|9999052817|MR|Test|E|Lead 52817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052818|152818|989898|1|9999052818|MR|Test|E|Lead 52818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052819|152819|989898|1|9999052819|MR|Test|E|Lead 52819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052820|152820|989898|1|9999052820|MR|Test|E|Lead 52820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052821|152821|989898|1|9999052821|MR|Test|E|Lead 52821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052822|152822|989898|1|9999052822|MR|Test|E|Lead 52822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052823|152823|989898|1|9999052823|MR|Test|E|Lead 52823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052824|152824|989898|1|9999052824|MR|Test|E|Lead 52824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052825|152825|989898|1|9999052825|MR|Test|E|Lead 52825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052826|152826|989898|1|9999052826|MR|Test|E|Lead 52826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052827|152827|989898|1|9999052827|MR|Test|E|Lead 52827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052828|152828|989898|1|9999052828|MR|Test|E|Lead 52828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052829|152829|989898|1|9999052829|MR|Test|E|Lead 52829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052830|152830|989898|1|9999052830|MR|Test|E|Lead 52830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052831|152831|989898|1|9999052831|MR|Test|E|Lead 52831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052832|152832|989898|1|9999052832|MR|Test|E|Lead 52832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052833|152833|989898|1|9999052833|MR|Test|E|Lead 52833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052834|152834|989898|1|9999052834|MR|Test|E|Lead 52834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052835|152835|989898|1|9999052835|MR|Test|E|Lead 52835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052836|152836|989898|1|9999052836|MR|Test|E|Lead 52836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052837|152837|989898|1|9999052837|MR|Test|E|Lead 52837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052838|152838|989898|1|9999052838|MR|Test|E|Lead 52838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052839|152839|989898|1|9999052839|MR|Test|E|Lead 52839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052840|152840|989898|1|9999052840|MR|Test|E|Lead 52840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052841|152841|989898|1|9999052841|MR|Test|E|Lead 52841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052842|152842|989898|1|9999052842|MR|Test|E|Lead 52842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052843|152843|989898|1|9999052843|MR|Test|E|Lead 52843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052844|152844|989898|1|9999052844|MR|Test|E|Lead 52844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052845|152845|989898|1|9999052845|MR|Test|E|Lead 52845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052846|152846|989898|1|9999052846|MR|Test|E|Lead 52846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052847|152847|989898|1|9999052847|MR|Test|E|Lead 52847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052848|152848|989898|1|9999052848|MR|Test|E|Lead 52848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052849|152849|989898|1|9999052849|MR|Test|E|Lead 52849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052850|152850|989898|1|9999052850|MR|Test|E|Lead 52850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052851|152851|989898|1|9999052851|MR|Test|E|Lead 52851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052852|152852|989898|1|9999052852|MR|Test|E|Lead 52852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052853|152853|989898|1|9999052853|MR|Test|E|Lead 52853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052854|152854|989898|1|9999052854|MR|Test|E|Lead 52854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052855|152855|989898|1|9999052855|MR|Test|E|Lead 52855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052856|152856|989898|1|9999052856|MR|Test|E|Lead 52856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052857|152857|989898|1|9999052857|MR|Test|E|Lead 52857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052858|152858|989898|1|9999052858|MR|Test|E|Lead 52858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052859|152859|989898|1|9999052859|MR|Test|E|Lead 52859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052860|152860|989898|1|9999052860|MR|Test|E|Lead 52860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052861|152861|989898|1|9999052861|MR|Test|E|Lead 52861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052862|152862|989898|1|9999052862|MR|Test|E|Lead 52862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052863|152863|989898|1|9999052863|MR|Test|E|Lead 52863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052864|152864|989898|1|9999052864|MR|Test|E|Lead 52864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052865|152865|989898|1|9999052865|MR|Test|E|Lead 52865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052866|152866|989898|1|9999052866|MR|Test|E|Lead 52866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052867|152867|989898|1|9999052867|MR|Test|E|Lead 52867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052868|152868|989898|1|9999052868|MR|Test|E|Lead 52868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052869|152869|989898|1|9999052869|MR|Test|E|Lead 52869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052870|152870|989898|1|9999052870|MR|Test|E|Lead 52870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052871|152871|989898|1|9999052871|MR|Test|E|Lead 52871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052872|152872|989898|1|9999052872|MR|Test|E|Lead 52872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052873|152873|989898|1|9999052873|MR|Test|E|Lead 52873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052874|152874|989898|1|9999052874|MR|Test|E|Lead 52874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052875|152875|989898|1|9999052875|MR|Test|E|Lead 52875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052876|152876|989898|1|9999052876|MR|Test|E|Lead 52876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052877|152877|989898|1|9999052877|MR|Test|E|Lead 52877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052878|152878|989898|1|9999052878|MR|Test|E|Lead 52878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052879|152879|989898|1|9999052879|MR|Test|E|Lead 52879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052880|152880|989898|1|9999052880|MR|Test|E|Lead 52880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052881|152881|989898|1|9999052881|MR|Test|E|Lead 52881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052882|152882|989898|1|9999052882|MR|Test|E|Lead 52882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052883|152883|989898|1|9999052883|MR|Test|E|Lead 52883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052884|152884|989898|1|9999052884|MR|Test|E|Lead 52884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052885|152885|989898|1|9999052885|MR|Test|E|Lead 52885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052886|152886|989898|1|9999052886|MR|Test|E|Lead 52886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052887|152887|989898|1|9999052887|MR|Test|E|Lead 52887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052888|152888|989898|1|9999052888|MR|Test|E|Lead 52888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052889|152889|989898|1|9999052889|MR|Test|E|Lead 52889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052890|152890|989898|1|9999052890|MR|Test|E|Lead 52890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052891|152891|989898|1|9999052891|MR|Test|E|Lead 52891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052892|152892|989898|1|9999052892|MR|Test|E|Lead 52892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052893|152893|989898|1|9999052893|MR|Test|E|Lead 52893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052894|152894|989898|1|9999052894|MR|Test|E|Lead 52894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052895|152895|989898|1|9999052895|MR|Test|E|Lead 52895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052896|152896|989898|1|9999052896|MR|Test|E|Lead 52896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052897|152897|989898|1|9999052897|MR|Test|E|Lead 52897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052898|152898|989898|1|9999052898|MR|Test|E|Lead 52898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052899|152899|989898|1|9999052899|MR|Test|E|Lead 52899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052900|152900|989898|1|9999052900|MR|Test|E|Lead 52900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052901|152901|989898|1|9999052901|MR|Test|E|Lead 52901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052902|152902|989898|1|9999052902|MR|Test|E|Lead 52902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052903|152903|989898|1|9999052903|MR|Test|E|Lead 52903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052904|152904|989898|1|9999052904|MR|Test|E|Lead 52904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052905|152905|989898|1|9999052905|MR|Test|E|Lead 52905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052906|152906|989898|1|9999052906|MR|Test|E|Lead 52906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052907|152907|989898|1|9999052907|MR|Test|E|Lead 52907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052908|152908|989898|1|9999052908|MR|Test|E|Lead 52908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052909|152909|989898|1|9999052909|MR|Test|E|Lead 52909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052910|152910|989898|1|9999052910|MR|Test|E|Lead 52910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052911|152911|989898|1|9999052911|MR|Test|E|Lead 52911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052912|152912|989898|1|9999052912|MR|Test|E|Lead 52912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052913|152913|989898|1|9999052913|MR|Test|E|Lead 52913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052914|152914|989898|1|9999052914|MR|Test|E|Lead 52914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052915|152915|989898|1|9999052915|MR|Test|E|Lead 52915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052916|152916|989898|1|9999052916|MR|Test|E|Lead 52916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052917|152917|989898|1|9999052917|MR|Test|E|Lead 52917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052918|152918|989898|1|9999052918|MR|Test|E|Lead 52918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052919|152919|989898|1|9999052919|MR|Test|E|Lead 52919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052920|152920|989898|1|9999052920|MR|Test|E|Lead 52920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052921|152921|989898|1|9999052921|MR|Test|E|Lead 52921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052922|152922|989898|1|9999052922|MR|Test|E|Lead 52922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052923|152923|989898|1|9999052923|MR|Test|E|Lead 52923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052924|152924|989898|1|9999052924|MR|Test|E|Lead 52924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052925|152925|989898|1|9999052925|MR|Test|E|Lead 52925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052926|152926|989898|1|9999052926|MR|Test|E|Lead 52926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052927|152927|989898|1|9999052927|MR|Test|E|Lead 52927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052928|152928|989898|1|9999052928|MR|Test|E|Lead 52928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052929|152929|989898|1|9999052929|MR|Test|E|Lead 52929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052930|152930|989898|1|9999052930|MR|Test|E|Lead 52930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052931|152931|989898|1|9999052931|MR|Test|E|Lead 52931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052932|152932|989898|1|9999052932|MR|Test|E|Lead 52932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052933|152933|989898|1|9999052933|MR|Test|E|Lead 52933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052934|152934|989898|1|9999052934|MR|Test|E|Lead 52934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052935|152935|989898|1|9999052935|MR|Test|E|Lead 52935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052936|152936|989898|1|9999052936|MR|Test|E|Lead 52936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052937|152937|989898|1|9999052937|MR|Test|E|Lead 52937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052938|152938|989898|1|9999052938|MR|Test|E|Lead 52938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052939|152939|989898|1|9999052939|MR|Test|E|Lead 52939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052940|152940|989898|1|9999052940|MR|Test|E|Lead 52940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052941|152941|989898|1|9999052941|MR|Test|E|Lead 52941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052942|152942|989898|1|9999052942|MR|Test|E|Lead 52942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052943|152943|989898|1|9999052943|MR|Test|E|Lead 52943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052944|152944|989898|1|9999052944|MR|Test|E|Lead 52944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052945|152945|989898|1|9999052945|MR|Test|E|Lead 52945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052946|152946|989898|1|9999052946|MR|Test|E|Lead 52946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052947|152947|989898|1|9999052947|MR|Test|E|Lead 52947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052948|152948|989898|1|9999052948|MR|Test|E|Lead 52948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052949|152949|989898|1|9999052949|MR|Test|E|Lead 52949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052950|152950|989898|1|9999052950|MR|Test|E|Lead 52950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052951|152951|989898|1|9999052951|MR|Test|E|Lead 52951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052952|152952|989898|1|9999052952|MR|Test|E|Lead 52952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052953|152953|989898|1|9999052953|MR|Test|E|Lead 52953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052954|152954|989898|1|9999052954|MR|Test|E|Lead 52954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052955|152955|989898|1|9999052955|MR|Test|E|Lead 52955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052956|152956|989898|1|9999052956|MR|Test|E|Lead 52956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052957|152957|989898|1|9999052957|MR|Test|E|Lead 52957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052958|152958|989898|1|9999052958|MR|Test|E|Lead 52958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052959|152959|989898|1|9999052959|MR|Test|E|Lead 52959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052960|152960|989898|1|9999052960|MR|Test|E|Lead 52960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052961|152961|989898|1|9999052961|MR|Test|E|Lead 52961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052962|152962|989898|1|9999052962|MR|Test|E|Lead 52962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052963|152963|989898|1|9999052963|MR|Test|E|Lead 52963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052964|152964|989898|1|9999052964|MR|Test|E|Lead 52964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052965|152965|989898|1|9999052965|MR|Test|E|Lead 52965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052966|152966|989898|1|9999052966|MR|Test|E|Lead 52966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052967|152967|989898|1|9999052967|MR|Test|E|Lead 52967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052968|152968|989898|1|9999052968|MR|Test|E|Lead 52968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052969|152969|989898|1|9999052969|MR|Test|E|Lead 52969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052970|152970|989898|1|9999052970|MR|Test|E|Lead 52970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052971|152971|989898|1|9999052971|MR|Test|E|Lead 52971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052972|152972|989898|1|9999052972|MR|Test|E|Lead 52972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052973|152973|989898|1|9999052973|MR|Test|E|Lead 52973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052974|152974|989898|1|9999052974|MR|Test|E|Lead 52974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052975|152975|989898|1|9999052975|MR|Test|E|Lead 52975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052976|152976|989898|1|9999052976|MR|Test|E|Lead 52976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052977|152977|989898|1|9999052977|MR|Test|E|Lead 52977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052978|152978|989898|1|9999052978|MR|Test|E|Lead 52978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052979|152979|989898|1|9999052979|MR|Test|E|Lead 52979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052980|152980|989898|1|9999052980|MR|Test|E|Lead 52980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052981|152981|989898|1|9999052981|MR|Test|E|Lead 52981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052982|152982|989898|1|9999052982|MR|Test|E|Lead 52982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052983|152983|989898|1|9999052983|MR|Test|E|Lead 52983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052984|152984|989898|1|9999052984|MR|Test|E|Lead 52984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052985|152985|989898|1|9999052985|MR|Test|E|Lead 52985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052986|152986|989898|1|9999052986|MR|Test|E|Lead 52986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052987|152987|989898|1|9999052987|MR|Test|E|Lead 52987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052988|152988|989898|1|9999052988|MR|Test|E|Lead 52988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052989|152989|989898|1|9999052989|MR|Test|E|Lead 52989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052990|152990|989898|1|9999052990|MR|Test|E|Lead 52990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052991|152991|989898|1|9999052991|MR|Test|E|Lead 52991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052992|152992|989898|1|9999052992|MR|Test|E|Lead 52992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052993|152993|989898|1|9999052993|MR|Test|E|Lead 52993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052994|152994|989898|1|9999052994|MR|Test|E|Lead 52994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052995|152995|989898|1|9999052995|MR|Test|E|Lead 52995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052996|152996|989898|1|9999052996|MR|Test|E|Lead 52996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052997|152997|989898|1|9999052997|MR|Test|E|Lead 52997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052998|152998|989898|1|9999052998|MR|Test|E|Lead 52998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1052999|152999|989898|1|9999052999|MR|Test|E|Lead 52999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053000|153000|989898|1|9999053000|MR|Test|E|Lead 53000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053001|153001|989898|1|9999053001|MR|Test|E|Lead 53001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053002|153002|989898|1|9999053002|MR|Test|E|Lead 53002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053003|153003|989898|1|9999053003|MR|Test|E|Lead 53003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053004|153004|989898|1|9999053004|MR|Test|E|Lead 53004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053005|153005|989898|1|9999053005|MR|Test|E|Lead 53005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053006|153006|989898|1|9999053006|MR|Test|E|Lead 53006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053007|153007|989898|1|9999053007|MR|Test|E|Lead 53007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053008|153008|989898|1|9999053008|MR|Test|E|Lead 53008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053009|153009|989898|1|9999053009|MR|Test|E|Lead 53009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053010|153010|989898|1|9999053010|MR|Test|E|Lead 53010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053011|153011|989898|1|9999053011|MR|Test|E|Lead 53011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053012|153012|989898|1|9999053012|MR|Test|E|Lead 53012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053013|153013|989898|1|9999053013|MR|Test|E|Lead 53013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053014|153014|989898|1|9999053014|MR|Test|E|Lead 53014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053015|153015|989898|1|9999053015|MR|Test|E|Lead 53015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053016|153016|989898|1|9999053016|MR|Test|E|Lead 53016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053017|153017|989898|1|9999053017|MR|Test|E|Lead 53017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053018|153018|989898|1|9999053018|MR|Test|E|Lead 53018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053019|153019|989898|1|9999053019|MR|Test|E|Lead 53019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053020|153020|989898|1|9999053020|MR|Test|E|Lead 53020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053021|153021|989898|1|9999053021|MR|Test|E|Lead 53021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053022|153022|989898|1|9999053022|MR|Test|E|Lead 53022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053023|153023|989898|1|9999053023|MR|Test|E|Lead 53023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053024|153024|989898|1|9999053024|MR|Test|E|Lead 53024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053025|153025|989898|1|9999053025|MR|Test|E|Lead 53025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053026|153026|989898|1|9999053026|MR|Test|E|Lead 53026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053027|153027|989898|1|9999053027|MR|Test|E|Lead 53027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053028|153028|989898|1|9999053028|MR|Test|E|Lead 53028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053029|153029|989898|1|9999053029|MR|Test|E|Lead 53029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053030|153030|989898|1|9999053030|MR|Test|E|Lead 53030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053031|153031|989898|1|9999053031|MR|Test|E|Lead 53031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053032|153032|989898|1|9999053032|MR|Test|E|Lead 53032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053033|153033|989898|1|9999053033|MR|Test|E|Lead 53033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053034|153034|989898|1|9999053034|MR|Test|E|Lead 53034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053035|153035|989898|1|9999053035|MR|Test|E|Lead 53035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053036|153036|989898|1|9999053036|MR|Test|E|Lead 53036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053037|153037|989898|1|9999053037|MR|Test|E|Lead 53037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053038|153038|989898|1|9999053038|MR|Test|E|Lead 53038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053039|153039|989898|1|9999053039|MR|Test|E|Lead 53039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053040|153040|989898|1|9999053040|MR|Test|E|Lead 53040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053041|153041|989898|1|9999053041|MR|Test|E|Lead 53041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053042|153042|989898|1|9999053042|MR|Test|E|Lead 53042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053043|153043|989898|1|9999053043|MR|Test|E|Lead 53043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053044|153044|989898|1|9999053044|MR|Test|E|Lead 53044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053045|153045|989898|1|9999053045|MR|Test|E|Lead 53045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053046|153046|989898|1|9999053046|MR|Test|E|Lead 53046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053047|153047|989898|1|9999053047|MR|Test|E|Lead 53047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053048|153048|989898|1|9999053048|MR|Test|E|Lead 53048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053049|153049|989898|1|9999053049|MR|Test|E|Lead 53049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053050|153050|989898|1|9999053050|MR|Test|E|Lead 53050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053051|153051|989898|1|9999053051|MR|Test|E|Lead 53051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053052|153052|989898|1|9999053052|MR|Test|E|Lead 53052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053053|153053|989898|1|9999053053|MR|Test|E|Lead 53053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053054|153054|989898|1|9999053054|MR|Test|E|Lead 53054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053055|153055|989898|1|9999053055|MR|Test|E|Lead 53055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053056|153056|989898|1|9999053056|MR|Test|E|Lead 53056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053057|153057|989898|1|9999053057|MR|Test|E|Lead 53057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053058|153058|989898|1|9999053058|MR|Test|E|Lead 53058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053059|153059|989898|1|9999053059|MR|Test|E|Lead 53059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053060|153060|989898|1|9999053060|MR|Test|E|Lead 53060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053061|153061|989898|1|9999053061|MR|Test|E|Lead 53061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053062|153062|989898|1|9999053062|MR|Test|E|Lead 53062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053063|153063|989898|1|9999053063|MR|Test|E|Lead 53063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053064|153064|989898|1|9999053064|MR|Test|E|Lead 53064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053065|153065|989898|1|9999053065|MR|Test|E|Lead 53065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053066|153066|989898|1|9999053066|MR|Test|E|Lead 53066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053067|153067|989898|1|9999053067|MR|Test|E|Lead 53067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053068|153068|989898|1|9999053068|MR|Test|E|Lead 53068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053069|153069|989898|1|9999053069|MR|Test|E|Lead 53069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053070|153070|989898|1|9999053070|MR|Test|E|Lead 53070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053071|153071|989898|1|9999053071|MR|Test|E|Lead 53071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053072|153072|989898|1|9999053072|MR|Test|E|Lead 53072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053073|153073|989898|1|9999053073|MR|Test|E|Lead 53073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053074|153074|989898|1|9999053074|MR|Test|E|Lead 53074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053075|153075|989898|1|9999053075|MR|Test|E|Lead 53075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053076|153076|989898|1|9999053076|MR|Test|E|Lead 53076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053077|153077|989898|1|9999053077|MR|Test|E|Lead 53077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053078|153078|989898|1|9999053078|MR|Test|E|Lead 53078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053079|153079|989898|1|9999053079|MR|Test|E|Lead 53079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053080|153080|989898|1|9999053080|MR|Test|E|Lead 53080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053081|153081|989898|1|9999053081|MR|Test|E|Lead 53081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053082|153082|989898|1|9999053082|MR|Test|E|Lead 53082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053083|153083|989898|1|9999053083|MR|Test|E|Lead 53083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053084|153084|989898|1|9999053084|MR|Test|E|Lead 53084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053085|153085|989898|1|9999053085|MR|Test|E|Lead 53085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053086|153086|989898|1|9999053086|MR|Test|E|Lead 53086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053087|153087|989898|1|9999053087|MR|Test|E|Lead 53087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053088|153088|989898|1|9999053088|MR|Test|E|Lead 53088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053089|153089|989898|1|9999053089|MR|Test|E|Lead 53089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053090|153090|989898|1|9999053090|MR|Test|E|Lead 53090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053091|153091|989898|1|9999053091|MR|Test|E|Lead 53091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053092|153092|989898|1|9999053092|MR|Test|E|Lead 53092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053093|153093|989898|1|9999053093|MR|Test|E|Lead 53093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053094|153094|989898|1|9999053094|MR|Test|E|Lead 53094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053095|153095|989898|1|9999053095|MR|Test|E|Lead 53095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053096|153096|989898|1|9999053096|MR|Test|E|Lead 53096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053097|153097|989898|1|9999053097|MR|Test|E|Lead 53097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053098|153098|989898|1|9999053098|MR|Test|E|Lead 53098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053099|153099|989898|1|9999053099|MR|Test|E|Lead 53099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053100|153100|989898|1|9999053100|MR|Test|E|Lead 53100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053101|153101|989898|1|9999053101|MR|Test|E|Lead 53101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053102|153102|989898|1|9999053102|MR|Test|E|Lead 53102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053103|153103|989898|1|9999053103|MR|Test|E|Lead 53103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053104|153104|989898|1|9999053104|MR|Test|E|Lead 53104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053105|153105|989898|1|9999053105|MR|Test|E|Lead 53105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053106|153106|989898|1|9999053106|MR|Test|E|Lead 53106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053107|153107|989898|1|9999053107|MR|Test|E|Lead 53107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053108|153108|989898|1|9999053108|MR|Test|E|Lead 53108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053109|153109|989898|1|9999053109|MR|Test|E|Lead 53109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053110|153110|989898|1|9999053110|MR|Test|E|Lead 53110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053111|153111|989898|1|9999053111|MR|Test|E|Lead 53111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053112|153112|989898|1|9999053112|MR|Test|E|Lead 53112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053113|153113|989898|1|9999053113|MR|Test|E|Lead 53113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053114|153114|989898|1|9999053114|MR|Test|E|Lead 53114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053115|153115|989898|1|9999053115|MR|Test|E|Lead 53115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053116|153116|989898|1|9999053116|MR|Test|E|Lead 53116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053117|153117|989898|1|9999053117|MR|Test|E|Lead 53117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053118|153118|989898|1|9999053118|MR|Test|E|Lead 53118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053119|153119|989898|1|9999053119|MR|Test|E|Lead 53119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053120|153120|989898|1|9999053120|MR|Test|E|Lead 53120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053121|153121|989898|1|9999053121|MR|Test|E|Lead 53121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053122|153122|989898|1|9999053122|MR|Test|E|Lead 53122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053123|153123|989898|1|9999053123|MR|Test|E|Lead 53123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053124|153124|989898|1|9999053124|MR|Test|E|Lead 53124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053125|153125|989898|1|9999053125|MR|Test|E|Lead 53125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053126|153126|989898|1|9999053126|MR|Test|E|Lead 53126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053127|153127|989898|1|9999053127|MR|Test|E|Lead 53127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053128|153128|989898|1|9999053128|MR|Test|E|Lead 53128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053129|153129|989898|1|9999053129|MR|Test|E|Lead 53129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053130|153130|989898|1|9999053130|MR|Test|E|Lead 53130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053131|153131|989898|1|9999053131|MR|Test|E|Lead 53131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053132|153132|989898|1|9999053132|MR|Test|E|Lead 53132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053133|153133|989898|1|9999053133|MR|Test|E|Lead 53133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053134|153134|989898|1|9999053134|MR|Test|E|Lead 53134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053135|153135|989898|1|9999053135|MR|Test|E|Lead 53135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053136|153136|989898|1|9999053136|MR|Test|E|Lead 53136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053137|153137|989898|1|9999053137|MR|Test|E|Lead 53137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053138|153138|989898|1|9999053138|MR|Test|E|Lead 53138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053139|153139|989898|1|9999053139|MR|Test|E|Lead 53139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053140|153140|989898|1|9999053140|MR|Test|E|Lead 53140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053141|153141|989898|1|9999053141|MR|Test|E|Lead 53141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053142|153142|989898|1|9999053142|MR|Test|E|Lead 53142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053143|153143|989898|1|9999053143|MR|Test|E|Lead 53143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053144|153144|989898|1|9999053144|MR|Test|E|Lead 53144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053145|153145|989898|1|9999053145|MR|Test|E|Lead 53145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053146|153146|989898|1|9999053146|MR|Test|E|Lead 53146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053147|153147|989898|1|9999053147|MR|Test|E|Lead 53147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053148|153148|989898|1|9999053148|MR|Test|E|Lead 53148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053149|153149|989898|1|9999053149|MR|Test|E|Lead 53149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053150|153150|989898|1|9999053150|MR|Test|E|Lead 53150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053151|153151|989898|1|9999053151|MR|Test|E|Lead 53151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053152|153152|989898|1|9999053152|MR|Test|E|Lead 53152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053153|153153|989898|1|9999053153|MR|Test|E|Lead 53153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053154|153154|989898|1|9999053154|MR|Test|E|Lead 53154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053155|153155|989898|1|9999053155|MR|Test|E|Lead 53155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053156|153156|989898|1|9999053156|MR|Test|E|Lead 53156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053157|153157|989898|1|9999053157|MR|Test|E|Lead 53157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053158|153158|989898|1|9999053158|MR|Test|E|Lead 53158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053159|153159|989898|1|9999053159|MR|Test|E|Lead 53159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053160|153160|989898|1|9999053160|MR|Test|E|Lead 53160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053161|153161|989898|1|9999053161|MR|Test|E|Lead 53161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053162|153162|989898|1|9999053162|MR|Test|E|Lead 53162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053163|153163|989898|1|9999053163|MR|Test|E|Lead 53163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053164|153164|989898|1|9999053164|MR|Test|E|Lead 53164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053165|153165|989898|1|9999053165|MR|Test|E|Lead 53165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053166|153166|989898|1|9999053166|MR|Test|E|Lead 53166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053167|153167|989898|1|9999053167|MR|Test|E|Lead 53167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053168|153168|989898|1|9999053168|MR|Test|E|Lead 53168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053169|153169|989898|1|9999053169|MR|Test|E|Lead 53169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053170|153170|989898|1|9999053170|MR|Test|E|Lead 53170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053171|153171|989898|1|9999053171|MR|Test|E|Lead 53171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053172|153172|989898|1|9999053172|MR|Test|E|Lead 53172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053173|153173|989898|1|9999053173|MR|Test|E|Lead 53173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053174|153174|989898|1|9999053174|MR|Test|E|Lead 53174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053175|153175|989898|1|9999053175|MR|Test|E|Lead 53175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053176|153176|989898|1|9999053176|MR|Test|E|Lead 53176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053177|153177|989898|1|9999053177|MR|Test|E|Lead 53177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053178|153178|989898|1|9999053178|MR|Test|E|Lead 53178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053179|153179|989898|1|9999053179|MR|Test|E|Lead 53179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053180|153180|989898|1|9999053180|MR|Test|E|Lead 53180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053181|153181|989898|1|9999053181|MR|Test|E|Lead 53181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053182|153182|989898|1|9999053182|MR|Test|E|Lead 53182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053183|153183|989898|1|9999053183|MR|Test|E|Lead 53183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053184|153184|989898|1|9999053184|MR|Test|E|Lead 53184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053185|153185|989898|1|9999053185|MR|Test|E|Lead 53185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053186|153186|989898|1|9999053186|MR|Test|E|Lead 53186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053187|153187|989898|1|9999053187|MR|Test|E|Lead 53187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053188|153188|989898|1|9999053188|MR|Test|E|Lead 53188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053189|153189|989898|1|9999053189|MR|Test|E|Lead 53189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053190|153190|989898|1|9999053190|MR|Test|E|Lead 53190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053191|153191|989898|1|9999053191|MR|Test|E|Lead 53191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053192|153192|989898|1|9999053192|MR|Test|E|Lead 53192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053193|153193|989898|1|9999053193|MR|Test|E|Lead 53193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053194|153194|989898|1|9999053194|MR|Test|E|Lead 53194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053195|153195|989898|1|9999053195|MR|Test|E|Lead 53195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053196|153196|989898|1|9999053196|MR|Test|E|Lead 53196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053197|153197|989898|1|9999053197|MR|Test|E|Lead 53197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053198|153198|989898|1|9999053198|MR|Test|E|Lead 53198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053199|153199|989898|1|9999053199|MR|Test|E|Lead 53199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053200|153200|989898|1|9999053200|MR|Test|E|Lead 53200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053201|153201|989898|1|9999053201|MR|Test|E|Lead 53201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053202|153202|989898|1|9999053202|MR|Test|E|Lead 53202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053203|153203|989898|1|9999053203|MR|Test|E|Lead 53203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053204|153204|989898|1|9999053204|MR|Test|E|Lead 53204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053205|153205|989898|1|9999053205|MR|Test|E|Lead 53205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053206|153206|989898|1|9999053206|MR|Test|E|Lead 53206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053207|153207|989898|1|9999053207|MR|Test|E|Lead 53207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053208|153208|989898|1|9999053208|MR|Test|E|Lead 53208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053209|153209|989898|1|9999053209|MR|Test|E|Lead 53209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053210|153210|989898|1|9999053210|MR|Test|E|Lead 53210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053211|153211|989898|1|9999053211|MR|Test|E|Lead 53211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053212|153212|989898|1|9999053212|MR|Test|E|Lead 53212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053213|153213|989898|1|9999053213|MR|Test|E|Lead 53213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053214|153214|989898|1|9999053214|MR|Test|E|Lead 53214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053215|153215|989898|1|9999053215|MR|Test|E|Lead 53215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053216|153216|989898|1|9999053216|MR|Test|E|Lead 53216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053217|153217|989898|1|9999053217|MR|Test|E|Lead 53217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053218|153218|989898|1|9999053218|MR|Test|E|Lead 53218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053219|153219|989898|1|9999053219|MR|Test|E|Lead 53219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053220|153220|989898|1|9999053220|MR|Test|E|Lead 53220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053221|153221|989898|1|9999053221|MR|Test|E|Lead 53221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053222|153222|989898|1|9999053222|MR|Test|E|Lead 53222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053223|153223|989898|1|9999053223|MR|Test|E|Lead 53223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053224|153224|989898|1|9999053224|MR|Test|E|Lead 53224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053225|153225|989898|1|9999053225|MR|Test|E|Lead 53225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053226|153226|989898|1|9999053226|MR|Test|E|Lead 53226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053227|153227|989898|1|9999053227|MR|Test|E|Lead 53227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053228|153228|989898|1|9999053228|MR|Test|E|Lead 53228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053229|153229|989898|1|9999053229|MR|Test|E|Lead 53229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053230|153230|989898|1|9999053230|MR|Test|E|Lead 53230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053231|153231|989898|1|9999053231|MR|Test|E|Lead 53231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053232|153232|989898|1|9999053232|MR|Test|E|Lead 53232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053233|153233|989898|1|9999053233|MR|Test|E|Lead 53233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053234|153234|989898|1|9999053234|MR|Test|E|Lead 53234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053235|153235|989898|1|9999053235|MR|Test|E|Lead 53235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053236|153236|989898|1|9999053236|MR|Test|E|Lead 53236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053237|153237|989898|1|9999053237|MR|Test|E|Lead 53237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053238|153238|989898|1|9999053238|MR|Test|E|Lead 53238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053239|153239|989898|1|9999053239|MR|Test|E|Lead 53239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053240|153240|989898|1|9999053240|MR|Test|E|Lead 53240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053241|153241|989898|1|9999053241|MR|Test|E|Lead 53241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053242|153242|989898|1|9999053242|MR|Test|E|Lead 53242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053243|153243|989898|1|9999053243|MR|Test|E|Lead 53243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053244|153244|989898|1|9999053244|MR|Test|E|Lead 53244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053245|153245|989898|1|9999053245|MR|Test|E|Lead 53245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053246|153246|989898|1|9999053246|MR|Test|E|Lead 53246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053247|153247|989898|1|9999053247|MR|Test|E|Lead 53247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053248|153248|989898|1|9999053248|MR|Test|E|Lead 53248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053249|153249|989898|1|9999053249|MR|Test|E|Lead 53249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053250|153250|989898|1|9999053250|MR|Test|E|Lead 53250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053251|153251|989898|1|9999053251|MR|Test|E|Lead 53251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053252|153252|989898|1|9999053252|MR|Test|E|Lead 53252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053253|153253|989898|1|9999053253|MR|Test|E|Lead 53253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053254|153254|989898|1|9999053254|MR|Test|E|Lead 53254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053255|153255|989898|1|9999053255|MR|Test|E|Lead 53255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053256|153256|989898|1|9999053256|MR|Test|E|Lead 53256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053257|153257|989898|1|9999053257|MR|Test|E|Lead 53257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053258|153258|989898|1|9999053258|MR|Test|E|Lead 53258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053259|153259|989898|1|9999053259|MR|Test|E|Lead 53259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053260|153260|989898|1|9999053260|MR|Test|E|Lead 53260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053261|153261|989898|1|9999053261|MR|Test|E|Lead 53261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053262|153262|989898|1|9999053262|MR|Test|E|Lead 53262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053263|153263|989898|1|9999053263|MR|Test|E|Lead 53263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053264|153264|989898|1|9999053264|MR|Test|E|Lead 53264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053265|153265|989898|1|9999053265|MR|Test|E|Lead 53265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053266|153266|989898|1|9999053266|MR|Test|E|Lead 53266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053267|153267|989898|1|9999053267|MR|Test|E|Lead 53267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053268|153268|989898|1|9999053268|MR|Test|E|Lead 53268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053269|153269|989898|1|9999053269|MR|Test|E|Lead 53269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053270|153270|989898|1|9999053270|MR|Test|E|Lead 53270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053271|153271|989898|1|9999053271|MR|Test|E|Lead 53271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053272|153272|989898|1|9999053272|MR|Test|E|Lead 53272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053273|153273|989898|1|9999053273|MR|Test|E|Lead 53273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053274|153274|989898|1|9999053274|MR|Test|E|Lead 53274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053275|153275|989898|1|9999053275|MR|Test|E|Lead 53275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053276|153276|989898|1|9999053276|MR|Test|E|Lead 53276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053277|153277|989898|1|9999053277|MR|Test|E|Lead 53277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053278|153278|989898|1|9999053278|MR|Test|E|Lead 53278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053279|153279|989898|1|9999053279|MR|Test|E|Lead 53279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053280|153280|989898|1|9999053280|MR|Test|E|Lead 53280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053281|153281|989898|1|9999053281|MR|Test|E|Lead 53281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053282|153282|989898|1|9999053282|MR|Test|E|Lead 53282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053283|153283|989898|1|9999053283|MR|Test|E|Lead 53283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053284|153284|989898|1|9999053284|MR|Test|E|Lead 53284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053285|153285|989898|1|9999053285|MR|Test|E|Lead 53285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053286|153286|989898|1|9999053286|MR|Test|E|Lead 53286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053287|153287|989898|1|9999053287|MR|Test|E|Lead 53287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053288|153288|989898|1|9999053288|MR|Test|E|Lead 53288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053289|153289|989898|1|9999053289|MR|Test|E|Lead 53289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053290|153290|989898|1|9999053290|MR|Test|E|Lead 53290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053291|153291|989898|1|9999053291|MR|Test|E|Lead 53291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053292|153292|989898|1|9999053292|MR|Test|E|Lead 53292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053293|153293|989898|1|9999053293|MR|Test|E|Lead 53293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053294|153294|989898|1|9999053294|MR|Test|E|Lead 53294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053295|153295|989898|1|9999053295|MR|Test|E|Lead 53295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053296|153296|989898|1|9999053296|MR|Test|E|Lead 53296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053297|153297|989898|1|9999053297|MR|Test|E|Lead 53297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053298|153298|989898|1|9999053298|MR|Test|E|Lead 53298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053299|153299|989898|1|9999053299|MR|Test|E|Lead 53299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053300|153300|989898|1|9999053300|MR|Test|E|Lead 53300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053301|153301|989898|1|9999053301|MR|Test|E|Lead 53301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053302|153302|989898|1|9999053302|MR|Test|E|Lead 53302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053303|153303|989898|1|9999053303|MR|Test|E|Lead 53303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053304|153304|989898|1|9999053304|MR|Test|E|Lead 53304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053305|153305|989898|1|9999053305|MR|Test|E|Lead 53305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053306|153306|989898|1|9999053306|MR|Test|E|Lead 53306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053307|153307|989898|1|9999053307|MR|Test|E|Lead 53307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053308|153308|989898|1|9999053308|MR|Test|E|Lead 53308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053309|153309|989898|1|9999053309|MR|Test|E|Lead 53309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053310|153310|989898|1|9999053310|MR|Test|E|Lead 53310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053311|153311|989898|1|9999053311|MR|Test|E|Lead 53311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053312|153312|989898|1|9999053312|MR|Test|E|Lead 53312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053313|153313|989898|1|9999053313|MR|Test|E|Lead 53313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053314|153314|989898|1|9999053314|MR|Test|E|Lead 53314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053315|153315|989898|1|9999053315|MR|Test|E|Lead 53315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053316|153316|989898|1|9999053316|MR|Test|E|Lead 53316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053317|153317|989898|1|9999053317|MR|Test|E|Lead 53317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053318|153318|989898|1|9999053318|MR|Test|E|Lead 53318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053319|153319|989898|1|9999053319|MR|Test|E|Lead 53319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053320|153320|989898|1|9999053320|MR|Test|E|Lead 53320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053321|153321|989898|1|9999053321|MR|Test|E|Lead 53321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053322|153322|989898|1|9999053322|MR|Test|E|Lead 53322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053323|153323|989898|1|9999053323|MR|Test|E|Lead 53323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053324|153324|989898|1|9999053324|MR|Test|E|Lead 53324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053325|153325|989898|1|9999053325|MR|Test|E|Lead 53325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053326|153326|989898|1|9999053326|MR|Test|E|Lead 53326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053327|153327|989898|1|9999053327|MR|Test|E|Lead 53327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053328|153328|989898|1|9999053328|MR|Test|E|Lead 53328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053329|153329|989898|1|9999053329|MR|Test|E|Lead 53329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053330|153330|989898|1|9999053330|MR|Test|E|Lead 53330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053331|153331|989898|1|9999053331|MR|Test|E|Lead 53331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053332|153332|989898|1|9999053332|MR|Test|E|Lead 53332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053333|153333|989898|1|9999053333|MR|Test|E|Lead 53333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053334|153334|989898|1|9999053334|MR|Test|E|Lead 53334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053335|153335|989898|1|9999053335|MR|Test|E|Lead 53335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053336|153336|989898|1|9999053336|MR|Test|E|Lead 53336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053337|153337|989898|1|9999053337|MR|Test|E|Lead 53337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053338|153338|989898|1|9999053338|MR|Test|E|Lead 53338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053339|153339|989898|1|9999053339|MR|Test|E|Lead 53339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053340|153340|989898|1|9999053340|MR|Test|E|Lead 53340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053341|153341|989898|1|9999053341|MR|Test|E|Lead 53341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053342|153342|989898|1|9999053342|MR|Test|E|Lead 53342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053343|153343|989898|1|9999053343|MR|Test|E|Lead 53343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053344|153344|989898|1|9999053344|MR|Test|E|Lead 53344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053345|153345|989898|1|9999053345|MR|Test|E|Lead 53345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053346|153346|989898|1|9999053346|MR|Test|E|Lead 53346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053347|153347|989898|1|9999053347|MR|Test|E|Lead 53347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053348|153348|989898|1|9999053348|MR|Test|E|Lead 53348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053349|153349|989898|1|9999053349|MR|Test|E|Lead 53349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053350|153350|989898|1|9999053350|MR|Test|E|Lead 53350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053351|153351|989898|1|9999053351|MR|Test|E|Lead 53351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053352|153352|989898|1|9999053352|MR|Test|E|Lead 53352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053353|153353|989898|1|9999053353|MR|Test|E|Lead 53353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053354|153354|989898|1|9999053354|MR|Test|E|Lead 53354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053355|153355|989898|1|9999053355|MR|Test|E|Lead 53355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053356|153356|989898|1|9999053356|MR|Test|E|Lead 53356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053357|153357|989898|1|9999053357|MR|Test|E|Lead 53357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053358|153358|989898|1|9999053358|MR|Test|E|Lead 53358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053359|153359|989898|1|9999053359|MR|Test|E|Lead 53359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053360|153360|989898|1|9999053360|MR|Test|E|Lead 53360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053361|153361|989898|1|9999053361|MR|Test|E|Lead 53361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053362|153362|989898|1|9999053362|MR|Test|E|Lead 53362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053363|153363|989898|1|9999053363|MR|Test|E|Lead 53363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053364|153364|989898|1|9999053364|MR|Test|E|Lead 53364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053365|153365|989898|1|9999053365|MR|Test|E|Lead 53365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053366|153366|989898|1|9999053366|MR|Test|E|Lead 53366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053367|153367|989898|1|9999053367|MR|Test|E|Lead 53367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053368|153368|989898|1|9999053368|MR|Test|E|Lead 53368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053369|153369|989898|1|9999053369|MR|Test|E|Lead 53369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053370|153370|989898|1|9999053370|MR|Test|E|Lead 53370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053371|153371|989898|1|9999053371|MR|Test|E|Lead 53371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053372|153372|989898|1|9999053372|MR|Test|E|Lead 53372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053373|153373|989898|1|9999053373|MR|Test|E|Lead 53373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053374|153374|989898|1|9999053374|MR|Test|E|Lead 53374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053375|153375|989898|1|9999053375|MR|Test|E|Lead 53375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053376|153376|989898|1|9999053376|MR|Test|E|Lead 53376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053377|153377|989898|1|9999053377|MR|Test|E|Lead 53377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053378|153378|989898|1|9999053378|MR|Test|E|Lead 53378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053379|153379|989898|1|9999053379|MR|Test|E|Lead 53379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053380|153380|989898|1|9999053380|MR|Test|E|Lead 53380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053381|153381|989898|1|9999053381|MR|Test|E|Lead 53381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053382|153382|989898|1|9999053382|MR|Test|E|Lead 53382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053383|153383|989898|1|9999053383|MR|Test|E|Lead 53383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053384|153384|989898|1|9999053384|MR|Test|E|Lead 53384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053385|153385|989898|1|9999053385|MR|Test|E|Lead 53385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053386|153386|989898|1|9999053386|MR|Test|E|Lead 53386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053387|153387|989898|1|9999053387|MR|Test|E|Lead 53387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053388|153388|989898|1|9999053388|MR|Test|E|Lead 53388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053389|153389|989898|1|9999053389|MR|Test|E|Lead 53389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053390|153390|989898|1|9999053390|MR|Test|E|Lead 53390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053391|153391|989898|1|9999053391|MR|Test|E|Lead 53391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053392|153392|989898|1|9999053392|MR|Test|E|Lead 53392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053393|153393|989898|1|9999053393|MR|Test|E|Lead 53393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053394|153394|989898|1|9999053394|MR|Test|E|Lead 53394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053395|153395|989898|1|9999053395|MR|Test|E|Lead 53395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053396|153396|989898|1|9999053396|MR|Test|E|Lead 53396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053397|153397|989898|1|9999053397|MR|Test|E|Lead 53397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053398|153398|989898|1|9999053398|MR|Test|E|Lead 53398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053399|153399|989898|1|9999053399|MR|Test|E|Lead 53399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053400|153400|989898|1|9999053400|MR|Test|E|Lead 53400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053401|153401|989898|1|9999053401|MR|Test|E|Lead 53401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053402|153402|989898|1|9999053402|MR|Test|E|Lead 53402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053403|153403|989898|1|9999053403|MR|Test|E|Lead 53403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053404|153404|989898|1|9999053404|MR|Test|E|Lead 53404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053405|153405|989898|1|9999053405|MR|Test|E|Lead 53405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053406|153406|989898|1|9999053406|MR|Test|E|Lead 53406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053407|153407|989898|1|9999053407|MR|Test|E|Lead 53407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053408|153408|989898|1|9999053408|MR|Test|E|Lead 53408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053409|153409|989898|1|9999053409|MR|Test|E|Lead 53409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053410|153410|989898|1|9999053410|MR|Test|E|Lead 53410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053411|153411|989898|1|9999053411|MR|Test|E|Lead 53411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053412|153412|989898|1|9999053412|MR|Test|E|Lead 53412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053413|153413|989898|1|9999053413|MR|Test|E|Lead 53413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053414|153414|989898|1|9999053414|MR|Test|E|Lead 53414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053415|153415|989898|1|9999053415|MR|Test|E|Lead 53415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053416|153416|989898|1|9999053416|MR|Test|E|Lead 53416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053417|153417|989898|1|9999053417|MR|Test|E|Lead 53417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053418|153418|989898|1|9999053418|MR|Test|E|Lead 53418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053419|153419|989898|1|9999053419|MR|Test|E|Lead 53419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053420|153420|989898|1|9999053420|MR|Test|E|Lead 53420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053421|153421|989898|1|9999053421|MR|Test|E|Lead 53421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053422|153422|989898|1|9999053422|MR|Test|E|Lead 53422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053423|153423|989898|1|9999053423|MR|Test|E|Lead 53423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053424|153424|989898|1|9999053424|MR|Test|E|Lead 53424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053425|153425|989898|1|9999053425|MR|Test|E|Lead 53425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053426|153426|989898|1|9999053426|MR|Test|E|Lead 53426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053427|153427|989898|1|9999053427|MR|Test|E|Lead 53427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053428|153428|989898|1|9999053428|MR|Test|E|Lead 53428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053429|153429|989898|1|9999053429|MR|Test|E|Lead 53429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053430|153430|989898|1|9999053430|MR|Test|E|Lead 53430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053431|153431|989898|1|9999053431|MR|Test|E|Lead 53431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053432|153432|989898|1|9999053432|MR|Test|E|Lead 53432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053433|153433|989898|1|9999053433|MR|Test|E|Lead 53433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053434|153434|989898|1|9999053434|MR|Test|E|Lead 53434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053435|153435|989898|1|9999053435|MR|Test|E|Lead 53435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053436|153436|989898|1|9999053436|MR|Test|E|Lead 53436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053437|153437|989898|1|9999053437|MR|Test|E|Lead 53437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053438|153438|989898|1|9999053438|MR|Test|E|Lead 53438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053439|153439|989898|1|9999053439|MR|Test|E|Lead 53439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053440|153440|989898|1|9999053440|MR|Test|E|Lead 53440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053441|153441|989898|1|9999053441|MR|Test|E|Lead 53441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053442|153442|989898|1|9999053442|MR|Test|E|Lead 53442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053443|153443|989898|1|9999053443|MR|Test|E|Lead 53443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053444|153444|989898|1|9999053444|MR|Test|E|Lead 53444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053445|153445|989898|1|9999053445|MR|Test|E|Lead 53445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053446|153446|989898|1|9999053446|MR|Test|E|Lead 53446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053447|153447|989898|1|9999053447|MR|Test|E|Lead 53447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053448|153448|989898|1|9999053448|MR|Test|E|Lead 53448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053449|153449|989898|1|9999053449|MR|Test|E|Lead 53449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053450|153450|989898|1|9999053450|MR|Test|E|Lead 53450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053451|153451|989898|1|9999053451|MR|Test|E|Lead 53451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053452|153452|989898|1|9999053452|MR|Test|E|Lead 53452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053453|153453|989898|1|9999053453|MR|Test|E|Lead 53453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053454|153454|989898|1|9999053454|MR|Test|E|Lead 53454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053455|153455|989898|1|9999053455|MR|Test|E|Lead 53455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053456|153456|989898|1|9999053456|MR|Test|E|Lead 53456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053457|153457|989898|1|9999053457|MR|Test|E|Lead 53457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053458|153458|989898|1|9999053458|MR|Test|E|Lead 53458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053459|153459|989898|1|9999053459|MR|Test|E|Lead 53459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053460|153460|989898|1|9999053460|MR|Test|E|Lead 53460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053461|153461|989898|1|9999053461|MR|Test|E|Lead 53461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053462|153462|989898|1|9999053462|MR|Test|E|Lead 53462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053463|153463|989898|1|9999053463|MR|Test|E|Lead 53463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053464|153464|989898|1|9999053464|MR|Test|E|Lead 53464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053465|153465|989898|1|9999053465|MR|Test|E|Lead 53465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053466|153466|989898|1|9999053466|MR|Test|E|Lead 53466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053467|153467|989898|1|9999053467|MR|Test|E|Lead 53467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053468|153468|989898|1|9999053468|MR|Test|E|Lead 53468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053469|153469|989898|1|9999053469|MR|Test|E|Lead 53469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053470|153470|989898|1|9999053470|MR|Test|E|Lead 53470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053471|153471|989898|1|9999053471|MR|Test|E|Lead 53471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053472|153472|989898|1|9999053472|MR|Test|E|Lead 53472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053473|153473|989898|1|9999053473|MR|Test|E|Lead 53473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053474|153474|989898|1|9999053474|MR|Test|E|Lead 53474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053475|153475|989898|1|9999053475|MR|Test|E|Lead 53475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053476|153476|989898|1|9999053476|MR|Test|E|Lead 53476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053477|153477|989898|1|9999053477|MR|Test|E|Lead 53477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053478|153478|989898|1|9999053478|MR|Test|E|Lead 53478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053479|153479|989898|1|9999053479|MR|Test|E|Lead 53479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053480|153480|989898|1|9999053480|MR|Test|E|Lead 53480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053481|153481|989898|1|9999053481|MR|Test|E|Lead 53481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053482|153482|989898|1|9999053482|MR|Test|E|Lead 53482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053483|153483|989898|1|9999053483|MR|Test|E|Lead 53483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053484|153484|989898|1|9999053484|MR|Test|E|Lead 53484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053485|153485|989898|1|9999053485|MR|Test|E|Lead 53485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053486|153486|989898|1|9999053486|MR|Test|E|Lead 53486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053487|153487|989898|1|9999053487|MR|Test|E|Lead 53487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053488|153488|989898|1|9999053488|MR|Test|E|Lead 53488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053489|153489|989898|1|9999053489|MR|Test|E|Lead 53489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053490|153490|989898|1|9999053490|MR|Test|E|Lead 53490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053491|153491|989898|1|9999053491|MR|Test|E|Lead 53491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053492|153492|989898|1|9999053492|MR|Test|E|Lead 53492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053493|153493|989898|1|9999053493|MR|Test|E|Lead 53493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053494|153494|989898|1|9999053494|MR|Test|E|Lead 53494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053495|153495|989898|1|9999053495|MR|Test|E|Lead 53495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053496|153496|989898|1|9999053496|MR|Test|E|Lead 53496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053497|153497|989898|1|9999053497|MR|Test|E|Lead 53497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053498|153498|989898|1|9999053498|MR|Test|E|Lead 53498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053499|153499|989898|1|9999053499|MR|Test|E|Lead 53499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053500|153500|989898|1|9999053500|MR|Test|E|Lead 53500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053501|153501|989898|1|9999053501|MR|Test|E|Lead 53501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053502|153502|989898|1|9999053502|MR|Test|E|Lead 53502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053503|153503|989898|1|9999053503|MR|Test|E|Lead 53503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053504|153504|989898|1|9999053504|MR|Test|E|Lead 53504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053505|153505|989898|1|9999053505|MR|Test|E|Lead 53505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053506|153506|989898|1|9999053506|MR|Test|E|Lead 53506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053507|153507|989898|1|9999053507|MR|Test|E|Lead 53507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053508|153508|989898|1|9999053508|MR|Test|E|Lead 53508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053509|153509|989898|1|9999053509|MR|Test|E|Lead 53509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053510|153510|989898|1|9999053510|MR|Test|E|Lead 53510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053511|153511|989898|1|9999053511|MR|Test|E|Lead 53511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053512|153512|989898|1|9999053512|MR|Test|E|Lead 53512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053513|153513|989898|1|9999053513|MR|Test|E|Lead 53513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053514|153514|989898|1|9999053514|MR|Test|E|Lead 53514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053515|153515|989898|1|9999053515|MR|Test|E|Lead 53515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053516|153516|989898|1|9999053516|MR|Test|E|Lead 53516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053517|153517|989898|1|9999053517|MR|Test|E|Lead 53517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053518|153518|989898|1|9999053518|MR|Test|E|Lead 53518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053519|153519|989898|1|9999053519|MR|Test|E|Lead 53519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053520|153520|989898|1|9999053520|MR|Test|E|Lead 53520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053521|153521|989898|1|9999053521|MR|Test|E|Lead 53521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053522|153522|989898|1|9999053522|MR|Test|E|Lead 53522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053523|153523|989898|1|9999053523|MR|Test|E|Lead 53523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053524|153524|989898|1|9999053524|MR|Test|E|Lead 53524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053525|153525|989898|1|9999053525|MR|Test|E|Lead 53525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053526|153526|989898|1|9999053526|MR|Test|E|Lead 53526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053527|153527|989898|1|9999053527|MR|Test|E|Lead 53527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053528|153528|989898|1|9999053528|MR|Test|E|Lead 53528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053529|153529|989898|1|9999053529|MR|Test|E|Lead 53529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053530|153530|989898|1|9999053530|MR|Test|E|Lead 53530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053531|153531|989898|1|9999053531|MR|Test|E|Lead 53531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053532|153532|989898|1|9999053532|MR|Test|E|Lead 53532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053533|153533|989898|1|9999053533|MR|Test|E|Lead 53533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053534|153534|989898|1|9999053534|MR|Test|E|Lead 53534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053535|153535|989898|1|9999053535|MR|Test|E|Lead 53535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053536|153536|989898|1|9999053536|MR|Test|E|Lead 53536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053537|153537|989898|1|9999053537|MR|Test|E|Lead 53537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053538|153538|989898|1|9999053538|MR|Test|E|Lead 53538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053539|153539|989898|1|9999053539|MR|Test|E|Lead 53539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053540|153540|989898|1|9999053540|MR|Test|E|Lead 53540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053541|153541|989898|1|9999053541|MR|Test|E|Lead 53541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053542|153542|989898|1|9999053542|MR|Test|E|Lead 53542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053543|153543|989898|1|9999053543|MR|Test|E|Lead 53543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053544|153544|989898|1|9999053544|MR|Test|E|Lead 53544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053545|153545|989898|1|9999053545|MR|Test|E|Lead 53545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053546|153546|989898|1|9999053546|MR|Test|E|Lead 53546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053547|153547|989898|1|9999053547|MR|Test|E|Lead 53547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053548|153548|989898|1|9999053548|MR|Test|E|Lead 53548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053549|153549|989898|1|9999053549|MR|Test|E|Lead 53549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053550|153550|989898|1|9999053550|MR|Test|E|Lead 53550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053551|153551|989898|1|9999053551|MR|Test|E|Lead 53551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053552|153552|989898|1|9999053552|MR|Test|E|Lead 53552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053553|153553|989898|1|9999053553|MR|Test|E|Lead 53553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053554|153554|989898|1|9999053554|MR|Test|E|Lead 53554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053555|153555|989898|1|9999053555|MR|Test|E|Lead 53555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053556|153556|989898|1|9999053556|MR|Test|E|Lead 53556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053557|153557|989898|1|9999053557|MR|Test|E|Lead 53557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053558|153558|989898|1|9999053558|MR|Test|E|Lead 53558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053559|153559|989898|1|9999053559|MR|Test|E|Lead 53559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053560|153560|989898|1|9999053560|MR|Test|E|Lead 53560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053561|153561|989898|1|9999053561|MR|Test|E|Lead 53561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053562|153562|989898|1|9999053562|MR|Test|E|Lead 53562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053563|153563|989898|1|9999053563|MR|Test|E|Lead 53563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053564|153564|989898|1|9999053564|MR|Test|E|Lead 53564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053565|153565|989898|1|9999053565|MR|Test|E|Lead 53565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053566|153566|989898|1|9999053566|MR|Test|E|Lead 53566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053567|153567|989898|1|9999053567|MR|Test|E|Lead 53567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053568|153568|989898|1|9999053568|MR|Test|E|Lead 53568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053569|153569|989898|1|9999053569|MR|Test|E|Lead 53569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053570|153570|989898|1|9999053570|MR|Test|E|Lead 53570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053571|153571|989898|1|9999053571|MR|Test|E|Lead 53571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053572|153572|989898|1|9999053572|MR|Test|E|Lead 53572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053573|153573|989898|1|9999053573|MR|Test|E|Lead 53573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053574|153574|989898|1|9999053574|MR|Test|E|Lead 53574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053575|153575|989898|1|9999053575|MR|Test|E|Lead 53575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053576|153576|989898|1|9999053576|MR|Test|E|Lead 53576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053577|153577|989898|1|9999053577|MR|Test|E|Lead 53577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053578|153578|989898|1|9999053578|MR|Test|E|Lead 53578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053579|153579|989898|1|9999053579|MR|Test|E|Lead 53579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053580|153580|989898|1|9999053580|MR|Test|E|Lead 53580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053581|153581|989898|1|9999053581|MR|Test|E|Lead 53581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053582|153582|989898|1|9999053582|MR|Test|E|Lead 53582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053583|153583|989898|1|9999053583|MR|Test|E|Lead 53583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053584|153584|989898|1|9999053584|MR|Test|E|Lead 53584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053585|153585|989898|1|9999053585|MR|Test|E|Lead 53585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053586|153586|989898|1|9999053586|MR|Test|E|Lead 53586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053587|153587|989898|1|9999053587|MR|Test|E|Lead 53587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053588|153588|989898|1|9999053588|MR|Test|E|Lead 53588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053589|153589|989898|1|9999053589|MR|Test|E|Lead 53589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053590|153590|989898|1|9999053590|MR|Test|E|Lead 53590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053591|153591|989898|1|9999053591|MR|Test|E|Lead 53591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053592|153592|989898|1|9999053592|MR|Test|E|Lead 53592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053593|153593|989898|1|9999053593|MR|Test|E|Lead 53593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053594|153594|989898|1|9999053594|MR|Test|E|Lead 53594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053595|153595|989898|1|9999053595|MR|Test|E|Lead 53595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053596|153596|989898|1|9999053596|MR|Test|E|Lead 53596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053597|153597|989898|1|9999053597|MR|Test|E|Lead 53597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053598|153598|989898|1|9999053598|MR|Test|E|Lead 53598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053599|153599|989898|1|9999053599|MR|Test|E|Lead 53599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053600|153600|989898|1|9999053600|MR|Test|E|Lead 53600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053601|153601|989898|1|9999053601|MR|Test|E|Lead 53601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053602|153602|989898|1|9999053602|MR|Test|E|Lead 53602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053603|153603|989898|1|9999053603|MR|Test|E|Lead 53603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053604|153604|989898|1|9999053604|MR|Test|E|Lead 53604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053605|153605|989898|1|9999053605|MR|Test|E|Lead 53605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053606|153606|989898|1|9999053606|MR|Test|E|Lead 53606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053607|153607|989898|1|9999053607|MR|Test|E|Lead 53607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053608|153608|989898|1|9999053608|MR|Test|E|Lead 53608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053609|153609|989898|1|9999053609|MR|Test|E|Lead 53609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053610|153610|989898|1|9999053610|MR|Test|E|Lead 53610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053611|153611|989898|1|9999053611|MR|Test|E|Lead 53611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053612|153612|989898|1|9999053612|MR|Test|E|Lead 53612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053613|153613|989898|1|9999053613|MR|Test|E|Lead 53613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053614|153614|989898|1|9999053614|MR|Test|E|Lead 53614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053615|153615|989898|1|9999053615|MR|Test|E|Lead 53615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053616|153616|989898|1|9999053616|MR|Test|E|Lead 53616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053617|153617|989898|1|9999053617|MR|Test|E|Lead 53617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053618|153618|989898|1|9999053618|MR|Test|E|Lead 53618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053619|153619|989898|1|9999053619|MR|Test|E|Lead 53619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053620|153620|989898|1|9999053620|MR|Test|E|Lead 53620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053621|153621|989898|1|9999053621|MR|Test|E|Lead 53621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053622|153622|989898|1|9999053622|MR|Test|E|Lead 53622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053623|153623|989898|1|9999053623|MR|Test|E|Lead 53623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053624|153624|989898|1|9999053624|MR|Test|E|Lead 53624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053625|153625|989898|1|9999053625|MR|Test|E|Lead 53625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053626|153626|989898|1|9999053626|MR|Test|E|Lead 53626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053627|153627|989898|1|9999053627|MR|Test|E|Lead 53627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053628|153628|989898|1|9999053628|MR|Test|E|Lead 53628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053629|153629|989898|1|9999053629|MR|Test|E|Lead 53629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053630|153630|989898|1|9999053630|MR|Test|E|Lead 53630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053631|153631|989898|1|9999053631|MR|Test|E|Lead 53631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053632|153632|989898|1|9999053632|MR|Test|E|Lead 53632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053633|153633|989898|1|9999053633|MR|Test|E|Lead 53633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053634|153634|989898|1|9999053634|MR|Test|E|Lead 53634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053635|153635|989898|1|9999053635|MR|Test|E|Lead 53635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053636|153636|989898|1|9999053636|MR|Test|E|Lead 53636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053637|153637|989898|1|9999053637|MR|Test|E|Lead 53637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053638|153638|989898|1|9999053638|MR|Test|E|Lead 53638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053639|153639|989898|1|9999053639|MR|Test|E|Lead 53639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053640|153640|989898|1|9999053640|MR|Test|E|Lead 53640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053641|153641|989898|1|9999053641|MR|Test|E|Lead 53641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053642|153642|989898|1|9999053642|MR|Test|E|Lead 53642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053643|153643|989898|1|9999053643|MR|Test|E|Lead 53643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053644|153644|989898|1|9999053644|MR|Test|E|Lead 53644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053645|153645|989898|1|9999053645|MR|Test|E|Lead 53645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053646|153646|989898|1|9999053646|MR|Test|E|Lead 53646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053647|153647|989898|1|9999053647|MR|Test|E|Lead 53647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053648|153648|989898|1|9999053648|MR|Test|E|Lead 53648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053649|153649|989898|1|9999053649|MR|Test|E|Lead 53649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053650|153650|989898|1|9999053650|MR|Test|E|Lead 53650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053651|153651|989898|1|9999053651|MR|Test|E|Lead 53651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053652|153652|989898|1|9999053652|MR|Test|E|Lead 53652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053653|153653|989898|1|9999053653|MR|Test|E|Lead 53653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053654|153654|989898|1|9999053654|MR|Test|E|Lead 53654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053655|153655|989898|1|9999053655|MR|Test|E|Lead 53655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053656|153656|989898|1|9999053656|MR|Test|E|Lead 53656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053657|153657|989898|1|9999053657|MR|Test|E|Lead 53657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053658|153658|989898|1|9999053658|MR|Test|E|Lead 53658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053659|153659|989898|1|9999053659|MR|Test|E|Lead 53659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053660|153660|989898|1|9999053660|MR|Test|E|Lead 53660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053661|153661|989898|1|9999053661|MR|Test|E|Lead 53661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053662|153662|989898|1|9999053662|MR|Test|E|Lead 53662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053663|153663|989898|1|9999053663|MR|Test|E|Lead 53663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053664|153664|989898|1|9999053664|MR|Test|E|Lead 53664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053665|153665|989898|1|9999053665|MR|Test|E|Lead 53665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053666|153666|989898|1|9999053666|MR|Test|E|Lead 53666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053667|153667|989898|1|9999053667|MR|Test|E|Lead 53667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053668|153668|989898|1|9999053668|MR|Test|E|Lead 53668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053669|153669|989898|1|9999053669|MR|Test|E|Lead 53669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053670|153670|989898|1|9999053670|MR|Test|E|Lead 53670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053671|153671|989898|1|9999053671|MR|Test|E|Lead 53671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053672|153672|989898|1|9999053672|MR|Test|E|Lead 53672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053673|153673|989898|1|9999053673|MR|Test|E|Lead 53673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053674|153674|989898|1|9999053674|MR|Test|E|Lead 53674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053675|153675|989898|1|9999053675|MR|Test|E|Lead 53675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053676|153676|989898|1|9999053676|MR|Test|E|Lead 53676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053677|153677|989898|1|9999053677|MR|Test|E|Lead 53677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053678|153678|989898|1|9999053678|MR|Test|E|Lead 53678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053679|153679|989898|1|9999053679|MR|Test|E|Lead 53679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053680|153680|989898|1|9999053680|MR|Test|E|Lead 53680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053681|153681|989898|1|9999053681|MR|Test|E|Lead 53681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053682|153682|989898|1|9999053682|MR|Test|E|Lead 53682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053683|153683|989898|1|9999053683|MR|Test|E|Lead 53683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053684|153684|989898|1|9999053684|MR|Test|E|Lead 53684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053685|153685|989898|1|9999053685|MR|Test|E|Lead 53685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053686|153686|989898|1|9999053686|MR|Test|E|Lead 53686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053687|153687|989898|1|9999053687|MR|Test|E|Lead 53687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053688|153688|989898|1|9999053688|MR|Test|E|Lead 53688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053689|153689|989898|1|9999053689|MR|Test|E|Lead 53689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053690|153690|989898|1|9999053690|MR|Test|E|Lead 53690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053691|153691|989898|1|9999053691|MR|Test|E|Lead 53691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053692|153692|989898|1|9999053692|MR|Test|E|Lead 53692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053693|153693|989898|1|9999053693|MR|Test|E|Lead 53693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053694|153694|989898|1|9999053694|MR|Test|E|Lead 53694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053695|153695|989898|1|9999053695|MR|Test|E|Lead 53695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053696|153696|989898|1|9999053696|MR|Test|E|Lead 53696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053697|153697|989898|1|9999053697|MR|Test|E|Lead 53697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053698|153698|989898|1|9999053698|MR|Test|E|Lead 53698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053699|153699|989898|1|9999053699|MR|Test|E|Lead 53699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053700|153700|989898|1|9999053700|MR|Test|E|Lead 53700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053701|153701|989898|1|9999053701|MR|Test|E|Lead 53701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053702|153702|989898|1|9999053702|MR|Test|E|Lead 53702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053703|153703|989898|1|9999053703|MR|Test|E|Lead 53703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053704|153704|989898|1|9999053704|MR|Test|E|Lead 53704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053705|153705|989898|1|9999053705|MR|Test|E|Lead 53705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053706|153706|989898|1|9999053706|MR|Test|E|Lead 53706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053707|153707|989898|1|9999053707|MR|Test|E|Lead 53707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053708|153708|989898|1|9999053708|MR|Test|E|Lead 53708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053709|153709|989898|1|9999053709|MR|Test|E|Lead 53709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053710|153710|989898|1|9999053710|MR|Test|E|Lead 53710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053711|153711|989898|1|9999053711|MR|Test|E|Lead 53711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053712|153712|989898|1|9999053712|MR|Test|E|Lead 53712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053713|153713|989898|1|9999053713|MR|Test|E|Lead 53713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053714|153714|989898|1|9999053714|MR|Test|E|Lead 53714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053715|153715|989898|1|9999053715|MR|Test|E|Lead 53715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053716|153716|989898|1|9999053716|MR|Test|E|Lead 53716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053717|153717|989898|1|9999053717|MR|Test|E|Lead 53717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053718|153718|989898|1|9999053718|MR|Test|E|Lead 53718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053719|153719|989898|1|9999053719|MR|Test|E|Lead 53719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053720|153720|989898|1|9999053720|MR|Test|E|Lead 53720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053721|153721|989898|1|9999053721|MR|Test|E|Lead 53721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053722|153722|989898|1|9999053722|MR|Test|E|Lead 53722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053723|153723|989898|1|9999053723|MR|Test|E|Lead 53723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053724|153724|989898|1|9999053724|MR|Test|E|Lead 53724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053725|153725|989898|1|9999053725|MR|Test|E|Lead 53725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053726|153726|989898|1|9999053726|MR|Test|E|Lead 53726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053727|153727|989898|1|9999053727|MR|Test|E|Lead 53727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053728|153728|989898|1|9999053728|MR|Test|E|Lead 53728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053729|153729|989898|1|9999053729|MR|Test|E|Lead 53729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053730|153730|989898|1|9999053730|MR|Test|E|Lead 53730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053731|153731|989898|1|9999053731|MR|Test|E|Lead 53731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053732|153732|989898|1|9999053732|MR|Test|E|Lead 53732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053733|153733|989898|1|9999053733|MR|Test|E|Lead 53733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053734|153734|989898|1|9999053734|MR|Test|E|Lead 53734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053735|153735|989898|1|9999053735|MR|Test|E|Lead 53735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053736|153736|989898|1|9999053736|MR|Test|E|Lead 53736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053737|153737|989898|1|9999053737|MR|Test|E|Lead 53737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053738|153738|989898|1|9999053738|MR|Test|E|Lead 53738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053739|153739|989898|1|9999053739|MR|Test|E|Lead 53739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053740|153740|989898|1|9999053740|MR|Test|E|Lead 53740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053741|153741|989898|1|9999053741|MR|Test|E|Lead 53741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053742|153742|989898|1|9999053742|MR|Test|E|Lead 53742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053743|153743|989898|1|9999053743|MR|Test|E|Lead 53743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053744|153744|989898|1|9999053744|MR|Test|E|Lead 53744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053745|153745|989898|1|9999053745|MR|Test|E|Lead 53745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053746|153746|989898|1|9999053746|MR|Test|E|Lead 53746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053747|153747|989898|1|9999053747|MR|Test|E|Lead 53747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053748|153748|989898|1|9999053748|MR|Test|E|Lead 53748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053749|153749|989898|1|9999053749|MR|Test|E|Lead 53749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053750|153750|989898|1|9999053750|MR|Test|E|Lead 53750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053751|153751|989898|1|9999053751|MR|Test|E|Lead 53751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053752|153752|989898|1|9999053752|MR|Test|E|Lead 53752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053753|153753|989898|1|9999053753|MR|Test|E|Lead 53753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053754|153754|989898|1|9999053754|MR|Test|E|Lead 53754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053755|153755|989898|1|9999053755|MR|Test|E|Lead 53755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053756|153756|989898|1|9999053756|MR|Test|E|Lead 53756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053757|153757|989898|1|9999053757|MR|Test|E|Lead 53757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053758|153758|989898|1|9999053758|MR|Test|E|Lead 53758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053759|153759|989898|1|9999053759|MR|Test|E|Lead 53759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053760|153760|989898|1|9999053760|MR|Test|E|Lead 53760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053761|153761|989898|1|9999053761|MR|Test|E|Lead 53761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053762|153762|989898|1|9999053762|MR|Test|E|Lead 53762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053763|153763|989898|1|9999053763|MR|Test|E|Lead 53763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053764|153764|989898|1|9999053764|MR|Test|E|Lead 53764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053765|153765|989898|1|9999053765|MR|Test|E|Lead 53765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053766|153766|989898|1|9999053766|MR|Test|E|Lead 53766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053767|153767|989898|1|9999053767|MR|Test|E|Lead 53767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053768|153768|989898|1|9999053768|MR|Test|E|Lead 53768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053769|153769|989898|1|9999053769|MR|Test|E|Lead 53769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053770|153770|989898|1|9999053770|MR|Test|E|Lead 53770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053771|153771|989898|1|9999053771|MR|Test|E|Lead 53771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053772|153772|989898|1|9999053772|MR|Test|E|Lead 53772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053773|153773|989898|1|9999053773|MR|Test|E|Lead 53773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053774|153774|989898|1|9999053774|MR|Test|E|Lead 53774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053775|153775|989898|1|9999053775|MR|Test|E|Lead 53775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053776|153776|989898|1|9999053776|MR|Test|E|Lead 53776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053777|153777|989898|1|9999053777|MR|Test|E|Lead 53777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053778|153778|989898|1|9999053778|MR|Test|E|Lead 53778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053779|153779|989898|1|9999053779|MR|Test|E|Lead 53779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053780|153780|989898|1|9999053780|MR|Test|E|Lead 53780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053781|153781|989898|1|9999053781|MR|Test|E|Lead 53781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053782|153782|989898|1|9999053782|MR|Test|E|Lead 53782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053783|153783|989898|1|9999053783|MR|Test|E|Lead 53783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053784|153784|989898|1|9999053784|MR|Test|E|Lead 53784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053785|153785|989898|1|9999053785|MR|Test|E|Lead 53785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053786|153786|989898|1|9999053786|MR|Test|E|Lead 53786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053787|153787|989898|1|9999053787|MR|Test|E|Lead 53787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053788|153788|989898|1|9999053788|MR|Test|E|Lead 53788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053789|153789|989898|1|9999053789|MR|Test|E|Lead 53789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053790|153790|989898|1|9999053790|MR|Test|E|Lead 53790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053791|153791|989898|1|9999053791|MR|Test|E|Lead 53791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053792|153792|989898|1|9999053792|MR|Test|E|Lead 53792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053793|153793|989898|1|9999053793|MR|Test|E|Lead 53793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053794|153794|989898|1|9999053794|MR|Test|E|Lead 53794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053795|153795|989898|1|9999053795|MR|Test|E|Lead 53795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053796|153796|989898|1|9999053796|MR|Test|E|Lead 53796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053797|153797|989898|1|9999053797|MR|Test|E|Lead 53797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053798|153798|989898|1|9999053798|MR|Test|E|Lead 53798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053799|153799|989898|1|9999053799|MR|Test|E|Lead 53799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053800|153800|989898|1|9999053800|MR|Test|E|Lead 53800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053801|153801|989898|1|9999053801|MR|Test|E|Lead 53801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053802|153802|989898|1|9999053802|MR|Test|E|Lead 53802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053803|153803|989898|1|9999053803|MR|Test|E|Lead 53803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053804|153804|989898|1|9999053804|MR|Test|E|Lead 53804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053805|153805|989898|1|9999053805|MR|Test|E|Lead 53805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053806|153806|989898|1|9999053806|MR|Test|E|Lead 53806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053807|153807|989898|1|9999053807|MR|Test|E|Lead 53807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053808|153808|989898|1|9999053808|MR|Test|E|Lead 53808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053809|153809|989898|1|9999053809|MR|Test|E|Lead 53809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053810|153810|989898|1|9999053810|MR|Test|E|Lead 53810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053811|153811|989898|1|9999053811|MR|Test|E|Lead 53811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053812|153812|989898|1|9999053812|MR|Test|E|Lead 53812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053813|153813|989898|1|9999053813|MR|Test|E|Lead 53813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053814|153814|989898|1|9999053814|MR|Test|E|Lead 53814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053815|153815|989898|1|9999053815|MR|Test|E|Lead 53815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053816|153816|989898|1|9999053816|MR|Test|E|Lead 53816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053817|153817|989898|1|9999053817|MR|Test|E|Lead 53817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053818|153818|989898|1|9999053818|MR|Test|E|Lead 53818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053819|153819|989898|1|9999053819|MR|Test|E|Lead 53819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053820|153820|989898|1|9999053820|MR|Test|E|Lead 53820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053821|153821|989898|1|9999053821|MR|Test|E|Lead 53821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053822|153822|989898|1|9999053822|MR|Test|E|Lead 53822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053823|153823|989898|1|9999053823|MR|Test|E|Lead 53823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053824|153824|989898|1|9999053824|MR|Test|E|Lead 53824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053825|153825|989898|1|9999053825|MR|Test|E|Lead 53825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053826|153826|989898|1|9999053826|MR|Test|E|Lead 53826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053827|153827|989898|1|9999053827|MR|Test|E|Lead 53827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053828|153828|989898|1|9999053828|MR|Test|E|Lead 53828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053829|153829|989898|1|9999053829|MR|Test|E|Lead 53829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053830|153830|989898|1|9999053830|MR|Test|E|Lead 53830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053831|153831|989898|1|9999053831|MR|Test|E|Lead 53831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053832|153832|989898|1|9999053832|MR|Test|E|Lead 53832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053833|153833|989898|1|9999053833|MR|Test|E|Lead 53833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053834|153834|989898|1|9999053834|MR|Test|E|Lead 53834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053835|153835|989898|1|9999053835|MR|Test|E|Lead 53835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053836|153836|989898|1|9999053836|MR|Test|E|Lead 53836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053837|153837|989898|1|9999053837|MR|Test|E|Lead 53837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053838|153838|989898|1|9999053838|MR|Test|E|Lead 53838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053839|153839|989898|1|9999053839|MR|Test|E|Lead 53839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053840|153840|989898|1|9999053840|MR|Test|E|Lead 53840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053841|153841|989898|1|9999053841|MR|Test|E|Lead 53841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053842|153842|989898|1|9999053842|MR|Test|E|Lead 53842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053843|153843|989898|1|9999053843|MR|Test|E|Lead 53843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053844|153844|989898|1|9999053844|MR|Test|E|Lead 53844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053845|153845|989898|1|9999053845|MR|Test|E|Lead 53845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053846|153846|989898|1|9999053846|MR|Test|E|Lead 53846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053847|153847|989898|1|9999053847|MR|Test|E|Lead 53847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053848|153848|989898|1|9999053848|MR|Test|E|Lead 53848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053849|153849|989898|1|9999053849|MR|Test|E|Lead 53849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053850|153850|989898|1|9999053850|MR|Test|E|Lead 53850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053851|153851|989898|1|9999053851|MR|Test|E|Lead 53851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053852|153852|989898|1|9999053852|MR|Test|E|Lead 53852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053853|153853|989898|1|9999053853|MR|Test|E|Lead 53853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053854|153854|989898|1|9999053854|MR|Test|E|Lead 53854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053855|153855|989898|1|9999053855|MR|Test|E|Lead 53855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053856|153856|989898|1|9999053856|MR|Test|E|Lead 53856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053857|153857|989898|1|9999053857|MR|Test|E|Lead 53857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053858|153858|989898|1|9999053858|MR|Test|E|Lead 53858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053859|153859|989898|1|9999053859|MR|Test|E|Lead 53859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053860|153860|989898|1|9999053860|MR|Test|E|Lead 53860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053861|153861|989898|1|9999053861|MR|Test|E|Lead 53861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053862|153862|989898|1|9999053862|MR|Test|E|Lead 53862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053863|153863|989898|1|9999053863|MR|Test|E|Lead 53863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053864|153864|989898|1|9999053864|MR|Test|E|Lead 53864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053865|153865|989898|1|9999053865|MR|Test|E|Lead 53865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053866|153866|989898|1|9999053866|MR|Test|E|Lead 53866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053867|153867|989898|1|9999053867|MR|Test|E|Lead 53867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053868|153868|989898|1|9999053868|MR|Test|E|Lead 53868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053869|153869|989898|1|9999053869|MR|Test|E|Lead 53869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053870|153870|989898|1|9999053870|MR|Test|E|Lead 53870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053871|153871|989898|1|9999053871|MR|Test|E|Lead 53871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053872|153872|989898|1|9999053872|MR|Test|E|Lead 53872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053873|153873|989898|1|9999053873|MR|Test|E|Lead 53873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053874|153874|989898|1|9999053874|MR|Test|E|Lead 53874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053875|153875|989898|1|9999053875|MR|Test|E|Lead 53875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053876|153876|989898|1|9999053876|MR|Test|E|Lead 53876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053877|153877|989898|1|9999053877|MR|Test|E|Lead 53877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053878|153878|989898|1|9999053878|MR|Test|E|Lead 53878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053879|153879|989898|1|9999053879|MR|Test|E|Lead 53879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053880|153880|989898|1|9999053880|MR|Test|E|Lead 53880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053881|153881|989898|1|9999053881|MR|Test|E|Lead 53881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053882|153882|989898|1|9999053882|MR|Test|E|Lead 53882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053883|153883|989898|1|9999053883|MR|Test|E|Lead 53883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053884|153884|989898|1|9999053884|MR|Test|E|Lead 53884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053885|153885|989898|1|9999053885|MR|Test|E|Lead 53885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053886|153886|989898|1|9999053886|MR|Test|E|Lead 53886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053887|153887|989898|1|9999053887|MR|Test|E|Lead 53887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053888|153888|989898|1|9999053888|MR|Test|E|Lead 53888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053889|153889|989898|1|9999053889|MR|Test|E|Lead 53889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053890|153890|989898|1|9999053890|MR|Test|E|Lead 53890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053891|153891|989898|1|9999053891|MR|Test|E|Lead 53891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053892|153892|989898|1|9999053892|MR|Test|E|Lead 53892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053893|153893|989898|1|9999053893|MR|Test|E|Lead 53893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053894|153894|989898|1|9999053894|MR|Test|E|Lead 53894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053895|153895|989898|1|9999053895|MR|Test|E|Lead 53895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053896|153896|989898|1|9999053896|MR|Test|E|Lead 53896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053897|153897|989898|1|9999053897|MR|Test|E|Lead 53897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053898|153898|989898|1|9999053898|MR|Test|E|Lead 53898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053899|153899|989898|1|9999053899|MR|Test|E|Lead 53899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053900|153900|989898|1|9999053900|MR|Test|E|Lead 53900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053901|153901|989898|1|9999053901|MR|Test|E|Lead 53901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053902|153902|989898|1|9999053902|MR|Test|E|Lead 53902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053903|153903|989898|1|9999053903|MR|Test|E|Lead 53903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053904|153904|989898|1|9999053904|MR|Test|E|Lead 53904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053905|153905|989898|1|9999053905|MR|Test|E|Lead 53905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053906|153906|989898|1|9999053906|MR|Test|E|Lead 53906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053907|153907|989898|1|9999053907|MR|Test|E|Lead 53907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053908|153908|989898|1|9999053908|MR|Test|E|Lead 53908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053909|153909|989898|1|9999053909|MR|Test|E|Lead 53909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053910|153910|989898|1|9999053910|MR|Test|E|Lead 53910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053911|153911|989898|1|9999053911|MR|Test|E|Lead 53911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053912|153912|989898|1|9999053912|MR|Test|E|Lead 53912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053913|153913|989898|1|9999053913|MR|Test|E|Lead 53913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053914|153914|989898|1|9999053914|MR|Test|E|Lead 53914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053915|153915|989898|1|9999053915|MR|Test|E|Lead 53915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053916|153916|989898|1|9999053916|MR|Test|E|Lead 53916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053917|153917|989898|1|9999053917|MR|Test|E|Lead 53917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053918|153918|989898|1|9999053918|MR|Test|E|Lead 53918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053919|153919|989898|1|9999053919|MR|Test|E|Lead 53919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053920|153920|989898|1|9999053920|MR|Test|E|Lead 53920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053921|153921|989898|1|9999053921|MR|Test|E|Lead 53921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053922|153922|989898|1|9999053922|MR|Test|E|Lead 53922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053923|153923|989898|1|9999053923|MR|Test|E|Lead 53923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053924|153924|989898|1|9999053924|MR|Test|E|Lead 53924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053925|153925|989898|1|9999053925|MR|Test|E|Lead 53925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053926|153926|989898|1|9999053926|MR|Test|E|Lead 53926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053927|153927|989898|1|9999053927|MR|Test|E|Lead 53927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053928|153928|989898|1|9999053928|MR|Test|E|Lead 53928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053929|153929|989898|1|9999053929|MR|Test|E|Lead 53929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053930|153930|989898|1|9999053930|MR|Test|E|Lead 53930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053931|153931|989898|1|9999053931|MR|Test|E|Lead 53931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053932|153932|989898|1|9999053932|MR|Test|E|Lead 53932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053933|153933|989898|1|9999053933|MR|Test|E|Lead 53933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053934|153934|989898|1|9999053934|MR|Test|E|Lead 53934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053935|153935|989898|1|9999053935|MR|Test|E|Lead 53935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053936|153936|989898|1|9999053936|MR|Test|E|Lead 53936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053937|153937|989898|1|9999053937|MR|Test|E|Lead 53937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053938|153938|989898|1|9999053938|MR|Test|E|Lead 53938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053939|153939|989898|1|9999053939|MR|Test|E|Lead 53939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053940|153940|989898|1|9999053940|MR|Test|E|Lead 53940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053941|153941|989898|1|9999053941|MR|Test|E|Lead 53941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053942|153942|989898|1|9999053942|MR|Test|E|Lead 53942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053943|153943|989898|1|9999053943|MR|Test|E|Lead 53943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053944|153944|989898|1|9999053944|MR|Test|E|Lead 53944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053945|153945|989898|1|9999053945|MR|Test|E|Lead 53945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053946|153946|989898|1|9999053946|MR|Test|E|Lead 53946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053947|153947|989898|1|9999053947|MR|Test|E|Lead 53947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053948|153948|989898|1|9999053948|MR|Test|E|Lead 53948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053949|153949|989898|1|9999053949|MR|Test|E|Lead 53949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053950|153950|989898|1|9999053950|MR|Test|E|Lead 53950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053951|153951|989898|1|9999053951|MR|Test|E|Lead 53951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053952|153952|989898|1|9999053952|MR|Test|E|Lead 53952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053953|153953|989898|1|9999053953|MR|Test|E|Lead 53953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053954|153954|989898|1|9999053954|MR|Test|E|Lead 53954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053955|153955|989898|1|9999053955|MR|Test|E|Lead 53955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053956|153956|989898|1|9999053956|MR|Test|E|Lead 53956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053957|153957|989898|1|9999053957|MR|Test|E|Lead 53957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053958|153958|989898|1|9999053958|MR|Test|E|Lead 53958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053959|153959|989898|1|9999053959|MR|Test|E|Lead 53959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053960|153960|989898|1|9999053960|MR|Test|E|Lead 53960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053961|153961|989898|1|9999053961|MR|Test|E|Lead 53961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053962|153962|989898|1|9999053962|MR|Test|E|Lead 53962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053963|153963|989898|1|9999053963|MR|Test|E|Lead 53963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053964|153964|989898|1|9999053964|MR|Test|E|Lead 53964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053965|153965|989898|1|9999053965|MR|Test|E|Lead 53965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053966|153966|989898|1|9999053966|MR|Test|E|Lead 53966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053967|153967|989898|1|9999053967|MR|Test|E|Lead 53967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053968|153968|989898|1|9999053968|MR|Test|E|Lead 53968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053969|153969|989898|1|9999053969|MR|Test|E|Lead 53969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053970|153970|989898|1|9999053970|MR|Test|E|Lead 53970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053971|153971|989898|1|9999053971|MR|Test|E|Lead 53971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053972|153972|989898|1|9999053972|MR|Test|E|Lead 53972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053973|153973|989898|1|9999053973|MR|Test|E|Lead 53973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053974|153974|989898|1|9999053974|MR|Test|E|Lead 53974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053975|153975|989898|1|9999053975|MR|Test|E|Lead 53975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053976|153976|989898|1|9999053976|MR|Test|E|Lead 53976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053977|153977|989898|1|9999053977|MR|Test|E|Lead 53977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053978|153978|989898|1|9999053978|MR|Test|E|Lead 53978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053979|153979|989898|1|9999053979|MR|Test|E|Lead 53979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053980|153980|989898|1|9999053980|MR|Test|E|Lead 53980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053981|153981|989898|1|9999053981|MR|Test|E|Lead 53981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053982|153982|989898|1|9999053982|MR|Test|E|Lead 53982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053983|153983|989898|1|9999053983|MR|Test|E|Lead 53983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053984|153984|989898|1|9999053984|MR|Test|E|Lead 53984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053985|153985|989898|1|9999053985|MR|Test|E|Lead 53985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053986|153986|989898|1|9999053986|MR|Test|E|Lead 53986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053987|153987|989898|1|9999053987|MR|Test|E|Lead 53987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053988|153988|989898|1|9999053988|MR|Test|E|Lead 53988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053989|153989|989898|1|9999053989|MR|Test|E|Lead 53989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053990|153990|989898|1|9999053990|MR|Test|E|Lead 53990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053991|153991|989898|1|9999053991|MR|Test|E|Lead 53991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053992|153992|989898|1|9999053992|MR|Test|E|Lead 53992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053993|153993|989898|1|9999053993|MR|Test|E|Lead 53993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053994|153994|989898|1|9999053994|MR|Test|E|Lead 53994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053995|153995|989898|1|9999053995|MR|Test|E|Lead 53995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053996|153996|989898|1|9999053996|MR|Test|E|Lead 53996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053997|153997|989898|1|9999053997|MR|Test|E|Lead 53997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053998|153998|989898|1|9999053998|MR|Test|E|Lead 53998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1053999|153999|989898|1|9999053999|MR|Test|E|Lead 53999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054000|154000|989898|1|9999054000|MR|Test|E|Lead 54000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054001|154001|989898|1|9999054001|MR|Test|E|Lead 54001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054002|154002|989898|1|9999054002|MR|Test|E|Lead 54002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054003|154003|989898|1|9999054003|MR|Test|E|Lead 54003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054004|154004|989898|1|9999054004|MR|Test|E|Lead 54004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054005|154005|989898|1|9999054005|MR|Test|E|Lead 54005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054006|154006|989898|1|9999054006|MR|Test|E|Lead 54006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054007|154007|989898|1|9999054007|MR|Test|E|Lead 54007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054008|154008|989898|1|9999054008|MR|Test|E|Lead 54008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054009|154009|989898|1|9999054009|MR|Test|E|Lead 54009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054010|154010|989898|1|9999054010|MR|Test|E|Lead 54010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054011|154011|989898|1|9999054011|MR|Test|E|Lead 54011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054012|154012|989898|1|9999054012|MR|Test|E|Lead 54012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054013|154013|989898|1|9999054013|MR|Test|E|Lead 54013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054014|154014|989898|1|9999054014|MR|Test|E|Lead 54014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054015|154015|989898|1|9999054015|MR|Test|E|Lead 54015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054016|154016|989898|1|9999054016|MR|Test|E|Lead 54016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054017|154017|989898|1|9999054017|MR|Test|E|Lead 54017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054018|154018|989898|1|9999054018|MR|Test|E|Lead 54018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054019|154019|989898|1|9999054019|MR|Test|E|Lead 54019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054020|154020|989898|1|9999054020|MR|Test|E|Lead 54020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054021|154021|989898|1|9999054021|MR|Test|E|Lead 54021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054022|154022|989898|1|9999054022|MR|Test|E|Lead 54022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054023|154023|989898|1|9999054023|MR|Test|E|Lead 54023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054024|154024|989898|1|9999054024|MR|Test|E|Lead 54024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054025|154025|989898|1|9999054025|MR|Test|E|Lead 54025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054026|154026|989898|1|9999054026|MR|Test|E|Lead 54026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054027|154027|989898|1|9999054027|MR|Test|E|Lead 54027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054028|154028|989898|1|9999054028|MR|Test|E|Lead 54028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054029|154029|989898|1|9999054029|MR|Test|E|Lead 54029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054030|154030|989898|1|9999054030|MR|Test|E|Lead 54030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054031|154031|989898|1|9999054031|MR|Test|E|Lead 54031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054032|154032|989898|1|9999054032|MR|Test|E|Lead 54032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054033|154033|989898|1|9999054033|MR|Test|E|Lead 54033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054034|154034|989898|1|9999054034|MR|Test|E|Lead 54034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054035|154035|989898|1|9999054035|MR|Test|E|Lead 54035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054036|154036|989898|1|9999054036|MR|Test|E|Lead 54036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054037|154037|989898|1|9999054037|MR|Test|E|Lead 54037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054038|154038|989898|1|9999054038|MR|Test|E|Lead 54038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054039|154039|989898|1|9999054039|MR|Test|E|Lead 54039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054040|154040|989898|1|9999054040|MR|Test|E|Lead 54040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054041|154041|989898|1|9999054041|MR|Test|E|Lead 54041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054042|154042|989898|1|9999054042|MR|Test|E|Lead 54042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054043|154043|989898|1|9999054043|MR|Test|E|Lead 54043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054044|154044|989898|1|9999054044|MR|Test|E|Lead 54044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054045|154045|989898|1|9999054045|MR|Test|E|Lead 54045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054046|154046|989898|1|9999054046|MR|Test|E|Lead 54046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054047|154047|989898|1|9999054047|MR|Test|E|Lead 54047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054048|154048|989898|1|9999054048|MR|Test|E|Lead 54048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054049|154049|989898|1|9999054049|MR|Test|E|Lead 54049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054050|154050|989898|1|9999054050|MR|Test|E|Lead 54050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054051|154051|989898|1|9999054051|MR|Test|E|Lead 54051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054052|154052|989898|1|9999054052|MR|Test|E|Lead 54052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054053|154053|989898|1|9999054053|MR|Test|E|Lead 54053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054054|154054|989898|1|9999054054|MR|Test|E|Lead 54054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054055|154055|989898|1|9999054055|MR|Test|E|Lead 54055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054056|154056|989898|1|9999054056|MR|Test|E|Lead 54056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054057|154057|989898|1|9999054057|MR|Test|E|Lead 54057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054058|154058|989898|1|9999054058|MR|Test|E|Lead 54058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054059|154059|989898|1|9999054059|MR|Test|E|Lead 54059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054060|154060|989898|1|9999054060|MR|Test|E|Lead 54060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054061|154061|989898|1|9999054061|MR|Test|E|Lead 54061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054062|154062|989898|1|9999054062|MR|Test|E|Lead 54062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054063|154063|989898|1|9999054063|MR|Test|E|Lead 54063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054064|154064|989898|1|9999054064|MR|Test|E|Lead 54064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054065|154065|989898|1|9999054065|MR|Test|E|Lead 54065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054066|154066|989898|1|9999054066|MR|Test|E|Lead 54066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054067|154067|989898|1|9999054067|MR|Test|E|Lead 54067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054068|154068|989898|1|9999054068|MR|Test|E|Lead 54068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054069|154069|989898|1|9999054069|MR|Test|E|Lead 54069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054070|154070|989898|1|9999054070|MR|Test|E|Lead 54070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054071|154071|989898|1|9999054071|MR|Test|E|Lead 54071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054072|154072|989898|1|9999054072|MR|Test|E|Lead 54072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054073|154073|989898|1|9999054073|MR|Test|E|Lead 54073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054074|154074|989898|1|9999054074|MR|Test|E|Lead 54074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054075|154075|989898|1|9999054075|MR|Test|E|Lead 54075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054076|154076|989898|1|9999054076|MR|Test|E|Lead 54076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054077|154077|989898|1|9999054077|MR|Test|E|Lead 54077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054078|154078|989898|1|9999054078|MR|Test|E|Lead 54078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054079|154079|989898|1|9999054079|MR|Test|E|Lead 54079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054080|154080|989898|1|9999054080|MR|Test|E|Lead 54080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054081|154081|989898|1|9999054081|MR|Test|E|Lead 54081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054082|154082|989898|1|9999054082|MR|Test|E|Lead 54082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054083|154083|989898|1|9999054083|MR|Test|E|Lead 54083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054084|154084|989898|1|9999054084|MR|Test|E|Lead 54084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054085|154085|989898|1|9999054085|MR|Test|E|Lead 54085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054086|154086|989898|1|9999054086|MR|Test|E|Lead 54086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054087|154087|989898|1|9999054087|MR|Test|E|Lead 54087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054088|154088|989898|1|9999054088|MR|Test|E|Lead 54088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054089|154089|989898|1|9999054089|MR|Test|E|Lead 54089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054090|154090|989898|1|9999054090|MR|Test|E|Lead 54090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054091|154091|989898|1|9999054091|MR|Test|E|Lead 54091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054092|154092|989898|1|9999054092|MR|Test|E|Lead 54092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054093|154093|989898|1|9999054093|MR|Test|E|Lead 54093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054094|154094|989898|1|9999054094|MR|Test|E|Lead 54094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054095|154095|989898|1|9999054095|MR|Test|E|Lead 54095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054096|154096|989898|1|9999054096|MR|Test|E|Lead 54096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054097|154097|989898|1|9999054097|MR|Test|E|Lead 54097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054098|154098|989898|1|9999054098|MR|Test|E|Lead 54098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054099|154099|989898|1|9999054099|MR|Test|E|Lead 54099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054100|154100|989898|1|9999054100|MR|Test|E|Lead 54100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054101|154101|989898|1|9999054101|MR|Test|E|Lead 54101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054102|154102|989898|1|9999054102|MR|Test|E|Lead 54102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054103|154103|989898|1|9999054103|MR|Test|E|Lead 54103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054104|154104|989898|1|9999054104|MR|Test|E|Lead 54104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054105|154105|989898|1|9999054105|MR|Test|E|Lead 54105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054106|154106|989898|1|9999054106|MR|Test|E|Lead 54106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054107|154107|989898|1|9999054107|MR|Test|E|Lead 54107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054108|154108|989898|1|9999054108|MR|Test|E|Lead 54108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054109|154109|989898|1|9999054109|MR|Test|E|Lead 54109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054110|154110|989898|1|9999054110|MR|Test|E|Lead 54110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054111|154111|989898|1|9999054111|MR|Test|E|Lead 54111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054112|154112|989898|1|9999054112|MR|Test|E|Lead 54112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054113|154113|989898|1|9999054113|MR|Test|E|Lead 54113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054114|154114|989898|1|9999054114|MR|Test|E|Lead 54114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054115|154115|989898|1|9999054115|MR|Test|E|Lead 54115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054116|154116|989898|1|9999054116|MR|Test|E|Lead 54116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054117|154117|989898|1|9999054117|MR|Test|E|Lead 54117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054118|154118|989898|1|9999054118|MR|Test|E|Lead 54118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054119|154119|989898|1|9999054119|MR|Test|E|Lead 54119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054120|154120|989898|1|9999054120|MR|Test|E|Lead 54120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054121|154121|989898|1|9999054121|MR|Test|E|Lead 54121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054122|154122|989898|1|9999054122|MR|Test|E|Lead 54122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054123|154123|989898|1|9999054123|MR|Test|E|Lead 54123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054124|154124|989898|1|9999054124|MR|Test|E|Lead 54124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054125|154125|989898|1|9999054125|MR|Test|E|Lead 54125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054126|154126|989898|1|9999054126|MR|Test|E|Lead 54126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054127|154127|989898|1|9999054127|MR|Test|E|Lead 54127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054128|154128|989898|1|9999054128|MR|Test|E|Lead 54128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054129|154129|989898|1|9999054129|MR|Test|E|Lead 54129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054130|154130|989898|1|9999054130|MR|Test|E|Lead 54130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054131|154131|989898|1|9999054131|MR|Test|E|Lead 54131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054132|154132|989898|1|9999054132|MR|Test|E|Lead 54132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054133|154133|989898|1|9999054133|MR|Test|E|Lead 54133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054134|154134|989898|1|9999054134|MR|Test|E|Lead 54134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054135|154135|989898|1|9999054135|MR|Test|E|Lead 54135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054136|154136|989898|1|9999054136|MR|Test|E|Lead 54136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054137|154137|989898|1|9999054137|MR|Test|E|Lead 54137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054138|154138|989898|1|9999054138|MR|Test|E|Lead 54138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054139|154139|989898|1|9999054139|MR|Test|E|Lead 54139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054140|154140|989898|1|9999054140|MR|Test|E|Lead 54140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054141|154141|989898|1|9999054141|MR|Test|E|Lead 54141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054142|154142|989898|1|9999054142|MR|Test|E|Lead 54142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054143|154143|989898|1|9999054143|MR|Test|E|Lead 54143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054144|154144|989898|1|9999054144|MR|Test|E|Lead 54144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054145|154145|989898|1|9999054145|MR|Test|E|Lead 54145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054146|154146|989898|1|9999054146|MR|Test|E|Lead 54146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054147|154147|989898|1|9999054147|MR|Test|E|Lead 54147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054148|154148|989898|1|9999054148|MR|Test|E|Lead 54148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054149|154149|989898|1|9999054149|MR|Test|E|Lead 54149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054150|154150|989898|1|9999054150|MR|Test|E|Lead 54150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054151|154151|989898|1|9999054151|MR|Test|E|Lead 54151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054152|154152|989898|1|9999054152|MR|Test|E|Lead 54152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054153|154153|989898|1|9999054153|MR|Test|E|Lead 54153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054154|154154|989898|1|9999054154|MR|Test|E|Lead 54154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054155|154155|989898|1|9999054155|MR|Test|E|Lead 54155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054156|154156|989898|1|9999054156|MR|Test|E|Lead 54156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054157|154157|989898|1|9999054157|MR|Test|E|Lead 54157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054158|154158|989898|1|9999054158|MR|Test|E|Lead 54158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054159|154159|989898|1|9999054159|MR|Test|E|Lead 54159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054160|154160|989898|1|9999054160|MR|Test|E|Lead 54160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054161|154161|989898|1|9999054161|MR|Test|E|Lead 54161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054162|154162|989898|1|9999054162|MR|Test|E|Lead 54162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054163|154163|989898|1|9999054163|MR|Test|E|Lead 54163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054164|154164|989898|1|9999054164|MR|Test|E|Lead 54164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054165|154165|989898|1|9999054165|MR|Test|E|Lead 54165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054166|154166|989898|1|9999054166|MR|Test|E|Lead 54166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054167|154167|989898|1|9999054167|MR|Test|E|Lead 54167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054168|154168|989898|1|9999054168|MR|Test|E|Lead 54168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054169|154169|989898|1|9999054169|MR|Test|E|Lead 54169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054170|154170|989898|1|9999054170|MR|Test|E|Lead 54170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054171|154171|989898|1|9999054171|MR|Test|E|Lead 54171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054172|154172|989898|1|9999054172|MR|Test|E|Lead 54172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054173|154173|989898|1|9999054173|MR|Test|E|Lead 54173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054174|154174|989898|1|9999054174|MR|Test|E|Lead 54174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054175|154175|989898|1|9999054175|MR|Test|E|Lead 54175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054176|154176|989898|1|9999054176|MR|Test|E|Lead 54176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054177|154177|989898|1|9999054177|MR|Test|E|Lead 54177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054178|154178|989898|1|9999054178|MR|Test|E|Lead 54178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054179|154179|989898|1|9999054179|MR|Test|E|Lead 54179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054180|154180|989898|1|9999054180|MR|Test|E|Lead 54180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054181|154181|989898|1|9999054181|MR|Test|E|Lead 54181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054182|154182|989898|1|9999054182|MR|Test|E|Lead 54182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054183|154183|989898|1|9999054183|MR|Test|E|Lead 54183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054184|154184|989898|1|9999054184|MR|Test|E|Lead 54184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054185|154185|989898|1|9999054185|MR|Test|E|Lead 54185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054186|154186|989898|1|9999054186|MR|Test|E|Lead 54186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054187|154187|989898|1|9999054187|MR|Test|E|Lead 54187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054188|154188|989898|1|9999054188|MR|Test|E|Lead 54188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054189|154189|989898|1|9999054189|MR|Test|E|Lead 54189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054190|154190|989898|1|9999054190|MR|Test|E|Lead 54190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054191|154191|989898|1|9999054191|MR|Test|E|Lead 54191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054192|154192|989898|1|9999054192|MR|Test|E|Lead 54192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054193|154193|989898|1|9999054193|MR|Test|E|Lead 54193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054194|154194|989898|1|9999054194|MR|Test|E|Lead 54194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054195|154195|989898|1|9999054195|MR|Test|E|Lead 54195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054196|154196|989898|1|9999054196|MR|Test|E|Lead 54196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054197|154197|989898|1|9999054197|MR|Test|E|Lead 54197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054198|154198|989898|1|9999054198|MR|Test|E|Lead 54198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054199|154199|989898|1|9999054199|MR|Test|E|Lead 54199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054200|154200|989898|1|9999054200|MR|Test|E|Lead 54200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054201|154201|989898|1|9999054201|MR|Test|E|Lead 54201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054202|154202|989898|1|9999054202|MR|Test|E|Lead 54202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054203|154203|989898|1|9999054203|MR|Test|E|Lead 54203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054204|154204|989898|1|9999054204|MR|Test|E|Lead 54204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054205|154205|989898|1|9999054205|MR|Test|E|Lead 54205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054206|154206|989898|1|9999054206|MR|Test|E|Lead 54206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054207|154207|989898|1|9999054207|MR|Test|E|Lead 54207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054208|154208|989898|1|9999054208|MR|Test|E|Lead 54208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054209|154209|989898|1|9999054209|MR|Test|E|Lead 54209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054210|154210|989898|1|9999054210|MR|Test|E|Lead 54210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054211|154211|989898|1|9999054211|MR|Test|E|Lead 54211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054212|154212|989898|1|9999054212|MR|Test|E|Lead 54212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054213|154213|989898|1|9999054213|MR|Test|E|Lead 54213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054214|154214|989898|1|9999054214|MR|Test|E|Lead 54214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054215|154215|989898|1|9999054215|MR|Test|E|Lead 54215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054216|154216|989898|1|9999054216|MR|Test|E|Lead 54216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054217|154217|989898|1|9999054217|MR|Test|E|Lead 54217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054218|154218|989898|1|9999054218|MR|Test|E|Lead 54218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054219|154219|989898|1|9999054219|MR|Test|E|Lead 54219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054220|154220|989898|1|9999054220|MR|Test|E|Lead 54220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054221|154221|989898|1|9999054221|MR|Test|E|Lead 54221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054222|154222|989898|1|9999054222|MR|Test|E|Lead 54222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054223|154223|989898|1|9999054223|MR|Test|E|Lead 54223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054224|154224|989898|1|9999054224|MR|Test|E|Lead 54224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054225|154225|989898|1|9999054225|MR|Test|E|Lead 54225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054226|154226|989898|1|9999054226|MR|Test|E|Lead 54226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054227|154227|989898|1|9999054227|MR|Test|E|Lead 54227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054228|154228|989898|1|9999054228|MR|Test|E|Lead 54228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054229|154229|989898|1|9999054229|MR|Test|E|Lead 54229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054230|154230|989898|1|9999054230|MR|Test|E|Lead 54230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054231|154231|989898|1|9999054231|MR|Test|E|Lead 54231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054232|154232|989898|1|9999054232|MR|Test|E|Lead 54232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054233|154233|989898|1|9999054233|MR|Test|E|Lead 54233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054234|154234|989898|1|9999054234|MR|Test|E|Lead 54234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054235|154235|989898|1|9999054235|MR|Test|E|Lead 54235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054236|154236|989898|1|9999054236|MR|Test|E|Lead 54236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054237|154237|989898|1|9999054237|MR|Test|E|Lead 54237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054238|154238|989898|1|9999054238|MR|Test|E|Lead 54238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054239|154239|989898|1|9999054239|MR|Test|E|Lead 54239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054240|154240|989898|1|9999054240|MR|Test|E|Lead 54240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054241|154241|989898|1|9999054241|MR|Test|E|Lead 54241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054242|154242|989898|1|9999054242|MR|Test|E|Lead 54242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054243|154243|989898|1|9999054243|MR|Test|E|Lead 54243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054244|154244|989898|1|9999054244|MR|Test|E|Lead 54244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054245|154245|989898|1|9999054245|MR|Test|E|Lead 54245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054246|154246|989898|1|9999054246|MR|Test|E|Lead 54246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054247|154247|989898|1|9999054247|MR|Test|E|Lead 54247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054248|154248|989898|1|9999054248|MR|Test|E|Lead 54248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054249|154249|989898|1|9999054249|MR|Test|E|Lead 54249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054250|154250|989898|1|9999054250|MR|Test|E|Lead 54250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054251|154251|989898|1|9999054251|MR|Test|E|Lead 54251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054252|154252|989898|1|9999054252|MR|Test|E|Lead 54252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054253|154253|989898|1|9999054253|MR|Test|E|Lead 54253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054254|154254|989898|1|9999054254|MR|Test|E|Lead 54254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054255|154255|989898|1|9999054255|MR|Test|E|Lead 54255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054256|154256|989898|1|9999054256|MR|Test|E|Lead 54256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054257|154257|989898|1|9999054257|MR|Test|E|Lead 54257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054258|154258|989898|1|9999054258|MR|Test|E|Lead 54258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054259|154259|989898|1|9999054259|MR|Test|E|Lead 54259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054260|154260|989898|1|9999054260|MR|Test|E|Lead 54260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054261|154261|989898|1|9999054261|MR|Test|E|Lead 54261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054262|154262|989898|1|9999054262|MR|Test|E|Lead 54262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054263|154263|989898|1|9999054263|MR|Test|E|Lead 54263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054264|154264|989898|1|9999054264|MR|Test|E|Lead 54264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054265|154265|989898|1|9999054265|MR|Test|E|Lead 54265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054266|154266|989898|1|9999054266|MR|Test|E|Lead 54266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054267|154267|989898|1|9999054267|MR|Test|E|Lead 54267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054268|154268|989898|1|9999054268|MR|Test|E|Lead 54268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054269|154269|989898|1|9999054269|MR|Test|E|Lead 54269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054270|154270|989898|1|9999054270|MR|Test|E|Lead 54270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054271|154271|989898|1|9999054271|MR|Test|E|Lead 54271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054272|154272|989898|1|9999054272|MR|Test|E|Lead 54272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054273|154273|989898|1|9999054273|MR|Test|E|Lead 54273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054274|154274|989898|1|9999054274|MR|Test|E|Lead 54274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054275|154275|989898|1|9999054275|MR|Test|E|Lead 54275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054276|154276|989898|1|9999054276|MR|Test|E|Lead 54276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054277|154277|989898|1|9999054277|MR|Test|E|Lead 54277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054278|154278|989898|1|9999054278|MR|Test|E|Lead 54278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054279|154279|989898|1|9999054279|MR|Test|E|Lead 54279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054280|154280|989898|1|9999054280|MR|Test|E|Lead 54280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054281|154281|989898|1|9999054281|MR|Test|E|Lead 54281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054282|154282|989898|1|9999054282|MR|Test|E|Lead 54282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054283|154283|989898|1|9999054283|MR|Test|E|Lead 54283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054284|154284|989898|1|9999054284|MR|Test|E|Lead 54284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054285|154285|989898|1|9999054285|MR|Test|E|Lead 54285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054286|154286|989898|1|9999054286|MR|Test|E|Lead 54286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054287|154287|989898|1|9999054287|MR|Test|E|Lead 54287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054288|154288|989898|1|9999054288|MR|Test|E|Lead 54288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054289|154289|989898|1|9999054289|MR|Test|E|Lead 54289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054290|154290|989898|1|9999054290|MR|Test|E|Lead 54290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054291|154291|989898|1|9999054291|MR|Test|E|Lead 54291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054292|154292|989898|1|9999054292|MR|Test|E|Lead 54292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054293|154293|989898|1|9999054293|MR|Test|E|Lead 54293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054294|154294|989898|1|9999054294|MR|Test|E|Lead 54294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054295|154295|989898|1|9999054295|MR|Test|E|Lead 54295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054296|154296|989898|1|9999054296|MR|Test|E|Lead 54296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054297|154297|989898|1|9999054297|MR|Test|E|Lead 54297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054298|154298|989898|1|9999054298|MR|Test|E|Lead 54298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054299|154299|989898|1|9999054299|MR|Test|E|Lead 54299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054300|154300|989898|1|9999054300|MR|Test|E|Lead 54300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054301|154301|989898|1|9999054301|MR|Test|E|Lead 54301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054302|154302|989898|1|9999054302|MR|Test|E|Lead 54302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054303|154303|989898|1|9999054303|MR|Test|E|Lead 54303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054304|154304|989898|1|9999054304|MR|Test|E|Lead 54304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054305|154305|989898|1|9999054305|MR|Test|E|Lead 54305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054306|154306|989898|1|9999054306|MR|Test|E|Lead 54306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054307|154307|989898|1|9999054307|MR|Test|E|Lead 54307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054308|154308|989898|1|9999054308|MR|Test|E|Lead 54308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054309|154309|989898|1|9999054309|MR|Test|E|Lead 54309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054310|154310|989898|1|9999054310|MR|Test|E|Lead 54310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054311|154311|989898|1|9999054311|MR|Test|E|Lead 54311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054312|154312|989898|1|9999054312|MR|Test|E|Lead 54312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054313|154313|989898|1|9999054313|MR|Test|E|Lead 54313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054314|154314|989898|1|9999054314|MR|Test|E|Lead 54314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054315|154315|989898|1|9999054315|MR|Test|E|Lead 54315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054316|154316|989898|1|9999054316|MR|Test|E|Lead 54316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054317|154317|989898|1|9999054317|MR|Test|E|Lead 54317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054318|154318|989898|1|9999054318|MR|Test|E|Lead 54318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054319|154319|989898|1|9999054319|MR|Test|E|Lead 54319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054320|154320|989898|1|9999054320|MR|Test|E|Lead 54320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054321|154321|989898|1|9999054321|MR|Test|E|Lead 54321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054322|154322|989898|1|9999054322|MR|Test|E|Lead 54322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054323|154323|989898|1|9999054323|MR|Test|E|Lead 54323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054324|154324|989898|1|9999054324|MR|Test|E|Lead 54324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054325|154325|989898|1|9999054325|MR|Test|E|Lead 54325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054326|154326|989898|1|9999054326|MR|Test|E|Lead 54326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054327|154327|989898|1|9999054327|MR|Test|E|Lead 54327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054328|154328|989898|1|9999054328|MR|Test|E|Lead 54328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054329|154329|989898|1|9999054329|MR|Test|E|Lead 54329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054330|154330|989898|1|9999054330|MR|Test|E|Lead 54330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054331|154331|989898|1|9999054331|MR|Test|E|Lead 54331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054332|154332|989898|1|9999054332|MR|Test|E|Lead 54332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054333|154333|989898|1|9999054333|MR|Test|E|Lead 54333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054334|154334|989898|1|9999054334|MR|Test|E|Lead 54334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054335|154335|989898|1|9999054335|MR|Test|E|Lead 54335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054336|154336|989898|1|9999054336|MR|Test|E|Lead 54336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054337|154337|989898|1|9999054337|MR|Test|E|Lead 54337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054338|154338|989898|1|9999054338|MR|Test|E|Lead 54338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054339|154339|989898|1|9999054339|MR|Test|E|Lead 54339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054340|154340|989898|1|9999054340|MR|Test|E|Lead 54340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054341|154341|989898|1|9999054341|MR|Test|E|Lead 54341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054342|154342|989898|1|9999054342|MR|Test|E|Lead 54342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054343|154343|989898|1|9999054343|MR|Test|E|Lead 54343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054344|154344|989898|1|9999054344|MR|Test|E|Lead 54344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054345|154345|989898|1|9999054345|MR|Test|E|Lead 54345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054346|154346|989898|1|9999054346|MR|Test|E|Lead 54346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054347|154347|989898|1|9999054347|MR|Test|E|Lead 54347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054348|154348|989898|1|9999054348|MR|Test|E|Lead 54348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054349|154349|989898|1|9999054349|MR|Test|E|Lead 54349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054350|154350|989898|1|9999054350|MR|Test|E|Lead 54350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054351|154351|989898|1|9999054351|MR|Test|E|Lead 54351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054352|154352|989898|1|9999054352|MR|Test|E|Lead 54352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054353|154353|989898|1|9999054353|MR|Test|E|Lead 54353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054354|154354|989898|1|9999054354|MR|Test|E|Lead 54354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054355|154355|989898|1|9999054355|MR|Test|E|Lead 54355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054356|154356|989898|1|9999054356|MR|Test|E|Lead 54356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054357|154357|989898|1|9999054357|MR|Test|E|Lead 54357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054358|154358|989898|1|9999054358|MR|Test|E|Lead 54358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054359|154359|989898|1|9999054359|MR|Test|E|Lead 54359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054360|154360|989898|1|9999054360|MR|Test|E|Lead 54360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054361|154361|989898|1|9999054361|MR|Test|E|Lead 54361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054362|154362|989898|1|9999054362|MR|Test|E|Lead 54362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054363|154363|989898|1|9999054363|MR|Test|E|Lead 54363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054364|154364|989898|1|9999054364|MR|Test|E|Lead 54364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054365|154365|989898|1|9999054365|MR|Test|E|Lead 54365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054366|154366|989898|1|9999054366|MR|Test|E|Lead 54366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054367|154367|989898|1|9999054367|MR|Test|E|Lead 54367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054368|154368|989898|1|9999054368|MR|Test|E|Lead 54368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054369|154369|989898|1|9999054369|MR|Test|E|Lead 54369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054370|154370|989898|1|9999054370|MR|Test|E|Lead 54370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054371|154371|989898|1|9999054371|MR|Test|E|Lead 54371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054372|154372|989898|1|9999054372|MR|Test|E|Lead 54372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054373|154373|989898|1|9999054373|MR|Test|E|Lead 54373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054374|154374|989898|1|9999054374|MR|Test|E|Lead 54374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054375|154375|989898|1|9999054375|MR|Test|E|Lead 54375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054376|154376|989898|1|9999054376|MR|Test|E|Lead 54376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054377|154377|989898|1|9999054377|MR|Test|E|Lead 54377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054378|154378|989898|1|9999054378|MR|Test|E|Lead 54378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054379|154379|989898|1|9999054379|MR|Test|E|Lead 54379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054380|154380|989898|1|9999054380|MR|Test|E|Lead 54380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054381|154381|989898|1|9999054381|MR|Test|E|Lead 54381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054382|154382|989898|1|9999054382|MR|Test|E|Lead 54382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054383|154383|989898|1|9999054383|MR|Test|E|Lead 54383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054384|154384|989898|1|9999054384|MR|Test|E|Lead 54384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054385|154385|989898|1|9999054385|MR|Test|E|Lead 54385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054386|154386|989898|1|9999054386|MR|Test|E|Lead 54386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054387|154387|989898|1|9999054387|MR|Test|E|Lead 54387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054388|154388|989898|1|9999054388|MR|Test|E|Lead 54388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054389|154389|989898|1|9999054389|MR|Test|E|Lead 54389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054390|154390|989898|1|9999054390|MR|Test|E|Lead 54390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054391|154391|989898|1|9999054391|MR|Test|E|Lead 54391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054392|154392|989898|1|9999054392|MR|Test|E|Lead 54392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054393|154393|989898|1|9999054393|MR|Test|E|Lead 54393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054394|154394|989898|1|9999054394|MR|Test|E|Lead 54394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054395|154395|989898|1|9999054395|MR|Test|E|Lead 54395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054396|154396|989898|1|9999054396|MR|Test|E|Lead 54396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054397|154397|989898|1|9999054397|MR|Test|E|Lead 54397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054398|154398|989898|1|9999054398|MR|Test|E|Lead 54398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054399|154399|989898|1|9999054399|MR|Test|E|Lead 54399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054400|154400|989898|1|9999054400|MR|Test|E|Lead 54400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054401|154401|989898|1|9999054401|MR|Test|E|Lead 54401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054402|154402|989898|1|9999054402|MR|Test|E|Lead 54402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054403|154403|989898|1|9999054403|MR|Test|E|Lead 54403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054404|154404|989898|1|9999054404|MR|Test|E|Lead 54404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054405|154405|989898|1|9999054405|MR|Test|E|Lead 54405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054406|154406|989898|1|9999054406|MR|Test|E|Lead 54406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054407|154407|989898|1|9999054407|MR|Test|E|Lead 54407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054408|154408|989898|1|9999054408|MR|Test|E|Lead 54408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054409|154409|989898|1|9999054409|MR|Test|E|Lead 54409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054410|154410|989898|1|9999054410|MR|Test|E|Lead 54410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054411|154411|989898|1|9999054411|MR|Test|E|Lead 54411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054412|154412|989898|1|9999054412|MR|Test|E|Lead 54412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054413|154413|989898|1|9999054413|MR|Test|E|Lead 54413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054414|154414|989898|1|9999054414|MR|Test|E|Lead 54414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054415|154415|989898|1|9999054415|MR|Test|E|Lead 54415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054416|154416|989898|1|9999054416|MR|Test|E|Lead 54416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054417|154417|989898|1|9999054417|MR|Test|E|Lead 54417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054418|154418|989898|1|9999054418|MR|Test|E|Lead 54418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054419|154419|989898|1|9999054419|MR|Test|E|Lead 54419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054420|154420|989898|1|9999054420|MR|Test|E|Lead 54420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054421|154421|989898|1|9999054421|MR|Test|E|Lead 54421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054422|154422|989898|1|9999054422|MR|Test|E|Lead 54422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054423|154423|989898|1|9999054423|MR|Test|E|Lead 54423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054424|154424|989898|1|9999054424|MR|Test|E|Lead 54424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054425|154425|989898|1|9999054425|MR|Test|E|Lead 54425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054426|154426|989898|1|9999054426|MR|Test|E|Lead 54426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054427|154427|989898|1|9999054427|MR|Test|E|Lead 54427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054428|154428|989898|1|9999054428|MR|Test|E|Lead 54428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054429|154429|989898|1|9999054429|MR|Test|E|Lead 54429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054430|154430|989898|1|9999054430|MR|Test|E|Lead 54430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054431|154431|989898|1|9999054431|MR|Test|E|Lead 54431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054432|154432|989898|1|9999054432|MR|Test|E|Lead 54432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054433|154433|989898|1|9999054433|MR|Test|E|Lead 54433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054434|154434|989898|1|9999054434|MR|Test|E|Lead 54434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054435|154435|989898|1|9999054435|MR|Test|E|Lead 54435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054436|154436|989898|1|9999054436|MR|Test|E|Lead 54436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054437|154437|989898|1|9999054437|MR|Test|E|Lead 54437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054438|154438|989898|1|9999054438|MR|Test|E|Lead 54438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054439|154439|989898|1|9999054439|MR|Test|E|Lead 54439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054440|154440|989898|1|9999054440|MR|Test|E|Lead 54440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054441|154441|989898|1|9999054441|MR|Test|E|Lead 54441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054442|154442|989898|1|9999054442|MR|Test|E|Lead 54442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054443|154443|989898|1|9999054443|MR|Test|E|Lead 54443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054444|154444|989898|1|9999054444|MR|Test|E|Lead 54444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054445|154445|989898|1|9999054445|MR|Test|E|Lead 54445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054446|154446|989898|1|9999054446|MR|Test|E|Lead 54446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054447|154447|989898|1|9999054447|MR|Test|E|Lead 54447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054448|154448|989898|1|9999054448|MR|Test|E|Lead 54448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054449|154449|989898|1|9999054449|MR|Test|E|Lead 54449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054450|154450|989898|1|9999054450|MR|Test|E|Lead 54450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054451|154451|989898|1|9999054451|MR|Test|E|Lead 54451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054452|154452|989898|1|9999054452|MR|Test|E|Lead 54452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054453|154453|989898|1|9999054453|MR|Test|E|Lead 54453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054454|154454|989898|1|9999054454|MR|Test|E|Lead 54454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054455|154455|989898|1|9999054455|MR|Test|E|Lead 54455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054456|154456|989898|1|9999054456|MR|Test|E|Lead 54456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054457|154457|989898|1|9999054457|MR|Test|E|Lead 54457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054458|154458|989898|1|9999054458|MR|Test|E|Lead 54458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054459|154459|989898|1|9999054459|MR|Test|E|Lead 54459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054460|154460|989898|1|9999054460|MR|Test|E|Lead 54460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054461|154461|989898|1|9999054461|MR|Test|E|Lead 54461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054462|154462|989898|1|9999054462|MR|Test|E|Lead 54462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054463|154463|989898|1|9999054463|MR|Test|E|Lead 54463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054464|154464|989898|1|9999054464|MR|Test|E|Lead 54464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054465|154465|989898|1|9999054465|MR|Test|E|Lead 54465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054466|154466|989898|1|9999054466|MR|Test|E|Lead 54466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054467|154467|989898|1|9999054467|MR|Test|E|Lead 54467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054468|154468|989898|1|9999054468|MR|Test|E|Lead 54468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054469|154469|989898|1|9999054469|MR|Test|E|Lead 54469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054470|154470|989898|1|9999054470|MR|Test|E|Lead 54470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054471|154471|989898|1|9999054471|MR|Test|E|Lead 54471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054472|154472|989898|1|9999054472|MR|Test|E|Lead 54472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054473|154473|989898|1|9999054473|MR|Test|E|Lead 54473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054474|154474|989898|1|9999054474|MR|Test|E|Lead 54474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054475|154475|989898|1|9999054475|MR|Test|E|Lead 54475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054476|154476|989898|1|9999054476|MR|Test|E|Lead 54476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054477|154477|989898|1|9999054477|MR|Test|E|Lead 54477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054478|154478|989898|1|9999054478|MR|Test|E|Lead 54478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054479|154479|989898|1|9999054479|MR|Test|E|Lead 54479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054480|154480|989898|1|9999054480|MR|Test|E|Lead 54480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054481|154481|989898|1|9999054481|MR|Test|E|Lead 54481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054482|154482|989898|1|9999054482|MR|Test|E|Lead 54482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054483|154483|989898|1|9999054483|MR|Test|E|Lead 54483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054484|154484|989898|1|9999054484|MR|Test|E|Lead 54484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054485|154485|989898|1|9999054485|MR|Test|E|Lead 54485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054486|154486|989898|1|9999054486|MR|Test|E|Lead 54486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054487|154487|989898|1|9999054487|MR|Test|E|Lead 54487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054488|154488|989898|1|9999054488|MR|Test|E|Lead 54488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054489|154489|989898|1|9999054489|MR|Test|E|Lead 54489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054490|154490|989898|1|9999054490|MR|Test|E|Lead 54490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054491|154491|989898|1|9999054491|MR|Test|E|Lead 54491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054492|154492|989898|1|9999054492|MR|Test|E|Lead 54492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054493|154493|989898|1|9999054493|MR|Test|E|Lead 54493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054494|154494|989898|1|9999054494|MR|Test|E|Lead 54494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054495|154495|989898|1|9999054495|MR|Test|E|Lead 54495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054496|154496|989898|1|9999054496|MR|Test|E|Lead 54496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054497|154497|989898|1|9999054497|MR|Test|E|Lead 54497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054498|154498|989898|1|9999054498|MR|Test|E|Lead 54498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054499|154499|989898|1|9999054499|MR|Test|E|Lead 54499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054500|154500|989898|1|9999054500|MR|Test|E|Lead 54500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054501|154501|989898|1|9999054501|MR|Test|E|Lead 54501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054502|154502|989898|1|9999054502|MR|Test|E|Lead 54502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054503|154503|989898|1|9999054503|MR|Test|E|Lead 54503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054504|154504|989898|1|9999054504|MR|Test|E|Lead 54504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054505|154505|989898|1|9999054505|MR|Test|E|Lead 54505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054506|154506|989898|1|9999054506|MR|Test|E|Lead 54506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054507|154507|989898|1|9999054507|MR|Test|E|Lead 54507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054508|154508|989898|1|9999054508|MR|Test|E|Lead 54508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054509|154509|989898|1|9999054509|MR|Test|E|Lead 54509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054510|154510|989898|1|9999054510|MR|Test|E|Lead 54510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054511|154511|989898|1|9999054511|MR|Test|E|Lead 54511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054512|154512|989898|1|9999054512|MR|Test|E|Lead 54512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054513|154513|989898|1|9999054513|MR|Test|E|Lead 54513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054514|154514|989898|1|9999054514|MR|Test|E|Lead 54514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054515|154515|989898|1|9999054515|MR|Test|E|Lead 54515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054516|154516|989898|1|9999054516|MR|Test|E|Lead 54516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054517|154517|989898|1|9999054517|MR|Test|E|Lead 54517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054518|154518|989898|1|9999054518|MR|Test|E|Lead 54518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054519|154519|989898|1|9999054519|MR|Test|E|Lead 54519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054520|154520|989898|1|9999054520|MR|Test|E|Lead 54520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054521|154521|989898|1|9999054521|MR|Test|E|Lead 54521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054522|154522|989898|1|9999054522|MR|Test|E|Lead 54522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054523|154523|989898|1|9999054523|MR|Test|E|Lead 54523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054524|154524|989898|1|9999054524|MR|Test|E|Lead 54524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054525|154525|989898|1|9999054525|MR|Test|E|Lead 54525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054526|154526|989898|1|9999054526|MR|Test|E|Lead 54526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054527|154527|989898|1|9999054527|MR|Test|E|Lead 54527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054528|154528|989898|1|9999054528|MR|Test|E|Lead 54528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054529|154529|989898|1|9999054529|MR|Test|E|Lead 54529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054530|154530|989898|1|9999054530|MR|Test|E|Lead 54530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054531|154531|989898|1|9999054531|MR|Test|E|Lead 54531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054532|154532|989898|1|9999054532|MR|Test|E|Lead 54532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054533|154533|989898|1|9999054533|MR|Test|E|Lead 54533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054534|154534|989898|1|9999054534|MR|Test|E|Lead 54534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054535|154535|989898|1|9999054535|MR|Test|E|Lead 54535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054536|154536|989898|1|9999054536|MR|Test|E|Lead 54536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054537|154537|989898|1|9999054537|MR|Test|E|Lead 54537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054538|154538|989898|1|9999054538|MR|Test|E|Lead 54538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054539|154539|989898|1|9999054539|MR|Test|E|Lead 54539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054540|154540|989898|1|9999054540|MR|Test|E|Lead 54540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054541|154541|989898|1|9999054541|MR|Test|E|Lead 54541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054542|154542|989898|1|9999054542|MR|Test|E|Lead 54542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054543|154543|989898|1|9999054543|MR|Test|E|Lead 54543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054544|154544|989898|1|9999054544|MR|Test|E|Lead 54544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054545|154545|989898|1|9999054545|MR|Test|E|Lead 54545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054546|154546|989898|1|9999054546|MR|Test|E|Lead 54546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054547|154547|989898|1|9999054547|MR|Test|E|Lead 54547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054548|154548|989898|1|9999054548|MR|Test|E|Lead 54548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054549|154549|989898|1|9999054549|MR|Test|E|Lead 54549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054550|154550|989898|1|9999054550|MR|Test|E|Lead 54550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054551|154551|989898|1|9999054551|MR|Test|E|Lead 54551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054552|154552|989898|1|9999054552|MR|Test|E|Lead 54552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054553|154553|989898|1|9999054553|MR|Test|E|Lead 54553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054554|154554|989898|1|9999054554|MR|Test|E|Lead 54554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054555|154555|989898|1|9999054555|MR|Test|E|Lead 54555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054556|154556|989898|1|9999054556|MR|Test|E|Lead 54556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054557|154557|989898|1|9999054557|MR|Test|E|Lead 54557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054558|154558|989898|1|9999054558|MR|Test|E|Lead 54558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054559|154559|989898|1|9999054559|MR|Test|E|Lead 54559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054560|154560|989898|1|9999054560|MR|Test|E|Lead 54560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054561|154561|989898|1|9999054561|MR|Test|E|Lead 54561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054562|154562|989898|1|9999054562|MR|Test|E|Lead 54562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054563|154563|989898|1|9999054563|MR|Test|E|Lead 54563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054564|154564|989898|1|9999054564|MR|Test|E|Lead 54564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054565|154565|989898|1|9999054565|MR|Test|E|Lead 54565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054566|154566|989898|1|9999054566|MR|Test|E|Lead 54566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054567|154567|989898|1|9999054567|MR|Test|E|Lead 54567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054568|154568|989898|1|9999054568|MR|Test|E|Lead 54568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054569|154569|989898|1|9999054569|MR|Test|E|Lead 54569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054570|154570|989898|1|9999054570|MR|Test|E|Lead 54570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054571|154571|989898|1|9999054571|MR|Test|E|Lead 54571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054572|154572|989898|1|9999054572|MR|Test|E|Lead 54572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054573|154573|989898|1|9999054573|MR|Test|E|Lead 54573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054574|154574|989898|1|9999054574|MR|Test|E|Lead 54574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054575|154575|989898|1|9999054575|MR|Test|E|Lead 54575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054576|154576|989898|1|9999054576|MR|Test|E|Lead 54576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054577|154577|989898|1|9999054577|MR|Test|E|Lead 54577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054578|154578|989898|1|9999054578|MR|Test|E|Lead 54578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054579|154579|989898|1|9999054579|MR|Test|E|Lead 54579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054580|154580|989898|1|9999054580|MR|Test|E|Lead 54580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054581|154581|989898|1|9999054581|MR|Test|E|Lead 54581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054582|154582|989898|1|9999054582|MR|Test|E|Lead 54582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054583|154583|989898|1|9999054583|MR|Test|E|Lead 54583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054584|154584|989898|1|9999054584|MR|Test|E|Lead 54584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054585|154585|989898|1|9999054585|MR|Test|E|Lead 54585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054586|154586|989898|1|9999054586|MR|Test|E|Lead 54586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054587|154587|989898|1|9999054587|MR|Test|E|Lead 54587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054588|154588|989898|1|9999054588|MR|Test|E|Lead 54588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054589|154589|989898|1|9999054589|MR|Test|E|Lead 54589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054590|154590|989898|1|9999054590|MR|Test|E|Lead 54590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054591|154591|989898|1|9999054591|MR|Test|E|Lead 54591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054592|154592|989898|1|9999054592|MR|Test|E|Lead 54592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054593|154593|989898|1|9999054593|MR|Test|E|Lead 54593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054594|154594|989898|1|9999054594|MR|Test|E|Lead 54594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054595|154595|989898|1|9999054595|MR|Test|E|Lead 54595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054596|154596|989898|1|9999054596|MR|Test|E|Lead 54596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054597|154597|989898|1|9999054597|MR|Test|E|Lead 54597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054598|154598|989898|1|9999054598|MR|Test|E|Lead 54598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054599|154599|989898|1|9999054599|MR|Test|E|Lead 54599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054600|154600|989898|1|9999054600|MR|Test|E|Lead 54600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054601|154601|989898|1|9999054601|MR|Test|E|Lead 54601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054602|154602|989898|1|9999054602|MR|Test|E|Lead 54602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054603|154603|989898|1|9999054603|MR|Test|E|Lead 54603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054604|154604|989898|1|9999054604|MR|Test|E|Lead 54604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054605|154605|989898|1|9999054605|MR|Test|E|Lead 54605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054606|154606|989898|1|9999054606|MR|Test|E|Lead 54606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054607|154607|989898|1|9999054607|MR|Test|E|Lead 54607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054608|154608|989898|1|9999054608|MR|Test|E|Lead 54608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054609|154609|989898|1|9999054609|MR|Test|E|Lead 54609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054610|154610|989898|1|9999054610|MR|Test|E|Lead 54610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054611|154611|989898|1|9999054611|MR|Test|E|Lead 54611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054612|154612|989898|1|9999054612|MR|Test|E|Lead 54612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054613|154613|989898|1|9999054613|MR|Test|E|Lead 54613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054614|154614|989898|1|9999054614|MR|Test|E|Lead 54614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054615|154615|989898|1|9999054615|MR|Test|E|Lead 54615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054616|154616|989898|1|9999054616|MR|Test|E|Lead 54616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054617|154617|989898|1|9999054617|MR|Test|E|Lead 54617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054618|154618|989898|1|9999054618|MR|Test|E|Lead 54618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054619|154619|989898|1|9999054619|MR|Test|E|Lead 54619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054620|154620|989898|1|9999054620|MR|Test|E|Lead 54620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054621|154621|989898|1|9999054621|MR|Test|E|Lead 54621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054622|154622|989898|1|9999054622|MR|Test|E|Lead 54622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054623|154623|989898|1|9999054623|MR|Test|E|Lead 54623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054624|154624|989898|1|9999054624|MR|Test|E|Lead 54624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054625|154625|989898|1|9999054625|MR|Test|E|Lead 54625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054626|154626|989898|1|9999054626|MR|Test|E|Lead 54626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054627|154627|989898|1|9999054627|MR|Test|E|Lead 54627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054628|154628|989898|1|9999054628|MR|Test|E|Lead 54628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054629|154629|989898|1|9999054629|MR|Test|E|Lead 54629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054630|154630|989898|1|9999054630|MR|Test|E|Lead 54630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054631|154631|989898|1|9999054631|MR|Test|E|Lead 54631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054632|154632|989898|1|9999054632|MR|Test|E|Lead 54632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054633|154633|989898|1|9999054633|MR|Test|E|Lead 54633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054634|154634|989898|1|9999054634|MR|Test|E|Lead 54634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054635|154635|989898|1|9999054635|MR|Test|E|Lead 54635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054636|154636|989898|1|9999054636|MR|Test|E|Lead 54636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054637|154637|989898|1|9999054637|MR|Test|E|Lead 54637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054638|154638|989898|1|9999054638|MR|Test|E|Lead 54638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054639|154639|989898|1|9999054639|MR|Test|E|Lead 54639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054640|154640|989898|1|9999054640|MR|Test|E|Lead 54640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054641|154641|989898|1|9999054641|MR|Test|E|Lead 54641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054642|154642|989898|1|9999054642|MR|Test|E|Lead 54642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054643|154643|989898|1|9999054643|MR|Test|E|Lead 54643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054644|154644|989898|1|9999054644|MR|Test|E|Lead 54644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054645|154645|989898|1|9999054645|MR|Test|E|Lead 54645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054646|154646|989898|1|9999054646|MR|Test|E|Lead 54646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054647|154647|989898|1|9999054647|MR|Test|E|Lead 54647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054648|154648|989898|1|9999054648|MR|Test|E|Lead 54648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054649|154649|989898|1|9999054649|MR|Test|E|Lead 54649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054650|154650|989898|1|9999054650|MR|Test|E|Lead 54650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054651|154651|989898|1|9999054651|MR|Test|E|Lead 54651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054652|154652|989898|1|9999054652|MR|Test|E|Lead 54652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054653|154653|989898|1|9999054653|MR|Test|E|Lead 54653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054654|154654|989898|1|9999054654|MR|Test|E|Lead 54654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054655|154655|989898|1|9999054655|MR|Test|E|Lead 54655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054656|154656|989898|1|9999054656|MR|Test|E|Lead 54656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054657|154657|989898|1|9999054657|MR|Test|E|Lead 54657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054658|154658|989898|1|9999054658|MR|Test|E|Lead 54658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054659|154659|989898|1|9999054659|MR|Test|E|Lead 54659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054660|154660|989898|1|9999054660|MR|Test|E|Lead 54660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054661|154661|989898|1|9999054661|MR|Test|E|Lead 54661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054662|154662|989898|1|9999054662|MR|Test|E|Lead 54662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054663|154663|989898|1|9999054663|MR|Test|E|Lead 54663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054664|154664|989898|1|9999054664|MR|Test|E|Lead 54664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054665|154665|989898|1|9999054665|MR|Test|E|Lead 54665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054666|154666|989898|1|9999054666|MR|Test|E|Lead 54666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054667|154667|989898|1|9999054667|MR|Test|E|Lead 54667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054668|154668|989898|1|9999054668|MR|Test|E|Lead 54668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054669|154669|989898|1|9999054669|MR|Test|E|Lead 54669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054670|154670|989898|1|9999054670|MR|Test|E|Lead 54670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054671|154671|989898|1|9999054671|MR|Test|E|Lead 54671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054672|154672|989898|1|9999054672|MR|Test|E|Lead 54672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054673|154673|989898|1|9999054673|MR|Test|E|Lead 54673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054674|154674|989898|1|9999054674|MR|Test|E|Lead 54674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054675|154675|989898|1|9999054675|MR|Test|E|Lead 54675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054676|154676|989898|1|9999054676|MR|Test|E|Lead 54676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054677|154677|989898|1|9999054677|MR|Test|E|Lead 54677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054678|154678|989898|1|9999054678|MR|Test|E|Lead 54678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054679|154679|989898|1|9999054679|MR|Test|E|Lead 54679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054680|154680|989898|1|9999054680|MR|Test|E|Lead 54680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054681|154681|989898|1|9999054681|MR|Test|E|Lead 54681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054682|154682|989898|1|9999054682|MR|Test|E|Lead 54682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054683|154683|989898|1|9999054683|MR|Test|E|Lead 54683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054684|154684|989898|1|9999054684|MR|Test|E|Lead 54684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054685|154685|989898|1|9999054685|MR|Test|E|Lead 54685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054686|154686|989898|1|9999054686|MR|Test|E|Lead 54686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054687|154687|989898|1|9999054687|MR|Test|E|Lead 54687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054688|154688|989898|1|9999054688|MR|Test|E|Lead 54688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054689|154689|989898|1|9999054689|MR|Test|E|Lead 54689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054690|154690|989898|1|9999054690|MR|Test|E|Lead 54690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054691|154691|989898|1|9999054691|MR|Test|E|Lead 54691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054692|154692|989898|1|9999054692|MR|Test|E|Lead 54692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054693|154693|989898|1|9999054693|MR|Test|E|Lead 54693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054694|154694|989898|1|9999054694|MR|Test|E|Lead 54694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054695|154695|989898|1|9999054695|MR|Test|E|Lead 54695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054696|154696|989898|1|9999054696|MR|Test|E|Lead 54696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054697|154697|989898|1|9999054697|MR|Test|E|Lead 54697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054698|154698|989898|1|9999054698|MR|Test|E|Lead 54698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054699|154699|989898|1|9999054699|MR|Test|E|Lead 54699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054700|154700|989898|1|9999054700|MR|Test|E|Lead 54700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054701|154701|989898|1|9999054701|MR|Test|E|Lead 54701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054702|154702|989898|1|9999054702|MR|Test|E|Lead 54702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054703|154703|989898|1|9999054703|MR|Test|E|Lead 54703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054704|154704|989898|1|9999054704|MR|Test|E|Lead 54704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054705|154705|989898|1|9999054705|MR|Test|E|Lead 54705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054706|154706|989898|1|9999054706|MR|Test|E|Lead 54706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054707|154707|989898|1|9999054707|MR|Test|E|Lead 54707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054708|154708|989898|1|9999054708|MR|Test|E|Lead 54708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054709|154709|989898|1|9999054709|MR|Test|E|Lead 54709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054710|154710|989898|1|9999054710|MR|Test|E|Lead 54710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054711|154711|989898|1|9999054711|MR|Test|E|Lead 54711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054712|154712|989898|1|9999054712|MR|Test|E|Lead 54712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054713|154713|989898|1|9999054713|MR|Test|E|Lead 54713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054714|154714|989898|1|9999054714|MR|Test|E|Lead 54714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054715|154715|989898|1|9999054715|MR|Test|E|Lead 54715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054716|154716|989898|1|9999054716|MR|Test|E|Lead 54716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054717|154717|989898|1|9999054717|MR|Test|E|Lead 54717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054718|154718|989898|1|9999054718|MR|Test|E|Lead 54718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054719|154719|989898|1|9999054719|MR|Test|E|Lead 54719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054720|154720|989898|1|9999054720|MR|Test|E|Lead 54720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054721|154721|989898|1|9999054721|MR|Test|E|Lead 54721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054722|154722|989898|1|9999054722|MR|Test|E|Lead 54722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054723|154723|989898|1|9999054723|MR|Test|E|Lead 54723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054724|154724|989898|1|9999054724|MR|Test|E|Lead 54724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054725|154725|989898|1|9999054725|MR|Test|E|Lead 54725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054726|154726|989898|1|9999054726|MR|Test|E|Lead 54726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054727|154727|989898|1|9999054727|MR|Test|E|Lead 54727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054728|154728|989898|1|9999054728|MR|Test|E|Lead 54728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054729|154729|989898|1|9999054729|MR|Test|E|Lead 54729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054730|154730|989898|1|9999054730|MR|Test|E|Lead 54730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054731|154731|989898|1|9999054731|MR|Test|E|Lead 54731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054732|154732|989898|1|9999054732|MR|Test|E|Lead 54732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054733|154733|989898|1|9999054733|MR|Test|E|Lead 54733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054734|154734|989898|1|9999054734|MR|Test|E|Lead 54734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054735|154735|989898|1|9999054735|MR|Test|E|Lead 54735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054736|154736|989898|1|9999054736|MR|Test|E|Lead 54736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054737|154737|989898|1|9999054737|MR|Test|E|Lead 54737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054738|154738|989898|1|9999054738|MR|Test|E|Lead 54738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054739|154739|989898|1|9999054739|MR|Test|E|Lead 54739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054740|154740|989898|1|9999054740|MR|Test|E|Lead 54740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054741|154741|989898|1|9999054741|MR|Test|E|Lead 54741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054742|154742|989898|1|9999054742|MR|Test|E|Lead 54742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054743|154743|989898|1|9999054743|MR|Test|E|Lead 54743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054744|154744|989898|1|9999054744|MR|Test|E|Lead 54744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054745|154745|989898|1|9999054745|MR|Test|E|Lead 54745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054746|154746|989898|1|9999054746|MR|Test|E|Lead 54746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054747|154747|989898|1|9999054747|MR|Test|E|Lead 54747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054748|154748|989898|1|9999054748|MR|Test|E|Lead 54748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054749|154749|989898|1|9999054749|MR|Test|E|Lead 54749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054750|154750|989898|1|9999054750|MR|Test|E|Lead 54750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054751|154751|989898|1|9999054751|MR|Test|E|Lead 54751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054752|154752|989898|1|9999054752|MR|Test|E|Lead 54752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054753|154753|989898|1|9999054753|MR|Test|E|Lead 54753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054754|154754|989898|1|9999054754|MR|Test|E|Lead 54754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054755|154755|989898|1|9999054755|MR|Test|E|Lead 54755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054756|154756|989898|1|9999054756|MR|Test|E|Lead 54756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054757|154757|989898|1|9999054757|MR|Test|E|Lead 54757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054758|154758|989898|1|9999054758|MR|Test|E|Lead 54758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054759|154759|989898|1|9999054759|MR|Test|E|Lead 54759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054760|154760|989898|1|9999054760|MR|Test|E|Lead 54760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054761|154761|989898|1|9999054761|MR|Test|E|Lead 54761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054762|154762|989898|1|9999054762|MR|Test|E|Lead 54762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054763|154763|989898|1|9999054763|MR|Test|E|Lead 54763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054764|154764|989898|1|9999054764|MR|Test|E|Lead 54764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054765|154765|989898|1|9999054765|MR|Test|E|Lead 54765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054766|154766|989898|1|9999054766|MR|Test|E|Lead 54766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054767|154767|989898|1|9999054767|MR|Test|E|Lead 54767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054768|154768|989898|1|9999054768|MR|Test|E|Lead 54768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054769|154769|989898|1|9999054769|MR|Test|E|Lead 54769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054770|154770|989898|1|9999054770|MR|Test|E|Lead 54770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054771|154771|989898|1|9999054771|MR|Test|E|Lead 54771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054772|154772|989898|1|9999054772|MR|Test|E|Lead 54772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054773|154773|989898|1|9999054773|MR|Test|E|Lead 54773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054774|154774|989898|1|9999054774|MR|Test|E|Lead 54774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054775|154775|989898|1|9999054775|MR|Test|E|Lead 54775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054776|154776|989898|1|9999054776|MR|Test|E|Lead 54776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054777|154777|989898|1|9999054777|MR|Test|E|Lead 54777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054778|154778|989898|1|9999054778|MR|Test|E|Lead 54778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054779|154779|989898|1|9999054779|MR|Test|E|Lead 54779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054780|154780|989898|1|9999054780|MR|Test|E|Lead 54780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054781|154781|989898|1|9999054781|MR|Test|E|Lead 54781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054782|154782|989898|1|9999054782|MR|Test|E|Lead 54782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054783|154783|989898|1|9999054783|MR|Test|E|Lead 54783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054784|154784|989898|1|9999054784|MR|Test|E|Lead 54784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054785|154785|989898|1|9999054785|MR|Test|E|Lead 54785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054786|154786|989898|1|9999054786|MR|Test|E|Lead 54786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054787|154787|989898|1|9999054787|MR|Test|E|Lead 54787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054788|154788|989898|1|9999054788|MR|Test|E|Lead 54788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054789|154789|989898|1|9999054789|MR|Test|E|Lead 54789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054790|154790|989898|1|9999054790|MR|Test|E|Lead 54790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054791|154791|989898|1|9999054791|MR|Test|E|Lead 54791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054792|154792|989898|1|9999054792|MR|Test|E|Lead 54792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054793|154793|989898|1|9999054793|MR|Test|E|Lead 54793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054794|154794|989898|1|9999054794|MR|Test|E|Lead 54794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054795|154795|989898|1|9999054795|MR|Test|E|Lead 54795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054796|154796|989898|1|9999054796|MR|Test|E|Lead 54796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054797|154797|989898|1|9999054797|MR|Test|E|Lead 54797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054798|154798|989898|1|9999054798|MR|Test|E|Lead 54798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054799|154799|989898|1|9999054799|MR|Test|E|Lead 54799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054800|154800|989898|1|9999054800|MR|Test|E|Lead 54800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054801|154801|989898|1|9999054801|MR|Test|E|Lead 54801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054802|154802|989898|1|9999054802|MR|Test|E|Lead 54802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054803|154803|989898|1|9999054803|MR|Test|E|Lead 54803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054804|154804|989898|1|9999054804|MR|Test|E|Lead 54804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054805|154805|989898|1|9999054805|MR|Test|E|Lead 54805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054806|154806|989898|1|9999054806|MR|Test|E|Lead 54806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054807|154807|989898|1|9999054807|MR|Test|E|Lead 54807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054808|154808|989898|1|9999054808|MR|Test|E|Lead 54808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054809|154809|989898|1|9999054809|MR|Test|E|Lead 54809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054810|154810|989898|1|9999054810|MR|Test|E|Lead 54810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054811|154811|989898|1|9999054811|MR|Test|E|Lead 54811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054812|154812|989898|1|9999054812|MR|Test|E|Lead 54812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054813|154813|989898|1|9999054813|MR|Test|E|Lead 54813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054814|154814|989898|1|9999054814|MR|Test|E|Lead 54814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054815|154815|989898|1|9999054815|MR|Test|E|Lead 54815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054816|154816|989898|1|9999054816|MR|Test|E|Lead 54816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054817|154817|989898|1|9999054817|MR|Test|E|Lead 54817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054818|154818|989898|1|9999054818|MR|Test|E|Lead 54818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054819|154819|989898|1|9999054819|MR|Test|E|Lead 54819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054820|154820|989898|1|9999054820|MR|Test|E|Lead 54820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054821|154821|989898|1|9999054821|MR|Test|E|Lead 54821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054822|154822|989898|1|9999054822|MR|Test|E|Lead 54822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054823|154823|989898|1|9999054823|MR|Test|E|Lead 54823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054824|154824|989898|1|9999054824|MR|Test|E|Lead 54824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054825|154825|989898|1|9999054825|MR|Test|E|Lead 54825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054826|154826|989898|1|9999054826|MR|Test|E|Lead 54826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054827|154827|989898|1|9999054827|MR|Test|E|Lead 54827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054828|154828|989898|1|9999054828|MR|Test|E|Lead 54828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054829|154829|989898|1|9999054829|MR|Test|E|Lead 54829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054830|154830|989898|1|9999054830|MR|Test|E|Lead 54830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054831|154831|989898|1|9999054831|MR|Test|E|Lead 54831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054832|154832|989898|1|9999054832|MR|Test|E|Lead 54832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054833|154833|989898|1|9999054833|MR|Test|E|Lead 54833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054834|154834|989898|1|9999054834|MR|Test|E|Lead 54834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054835|154835|989898|1|9999054835|MR|Test|E|Lead 54835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054836|154836|989898|1|9999054836|MR|Test|E|Lead 54836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054837|154837|989898|1|9999054837|MR|Test|E|Lead 54837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054838|154838|989898|1|9999054838|MR|Test|E|Lead 54838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054839|154839|989898|1|9999054839|MR|Test|E|Lead 54839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054840|154840|989898|1|9999054840|MR|Test|E|Lead 54840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054841|154841|989898|1|9999054841|MR|Test|E|Lead 54841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054842|154842|989898|1|9999054842|MR|Test|E|Lead 54842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054843|154843|989898|1|9999054843|MR|Test|E|Lead 54843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054844|154844|989898|1|9999054844|MR|Test|E|Lead 54844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054845|154845|989898|1|9999054845|MR|Test|E|Lead 54845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054846|154846|989898|1|9999054846|MR|Test|E|Lead 54846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054847|154847|989898|1|9999054847|MR|Test|E|Lead 54847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054848|154848|989898|1|9999054848|MR|Test|E|Lead 54848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054849|154849|989898|1|9999054849|MR|Test|E|Lead 54849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054850|154850|989898|1|9999054850|MR|Test|E|Lead 54850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054851|154851|989898|1|9999054851|MR|Test|E|Lead 54851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054852|154852|989898|1|9999054852|MR|Test|E|Lead 54852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054853|154853|989898|1|9999054853|MR|Test|E|Lead 54853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054854|154854|989898|1|9999054854|MR|Test|E|Lead 54854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054855|154855|989898|1|9999054855|MR|Test|E|Lead 54855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054856|154856|989898|1|9999054856|MR|Test|E|Lead 54856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054857|154857|989898|1|9999054857|MR|Test|E|Lead 54857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054858|154858|989898|1|9999054858|MR|Test|E|Lead 54858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054859|154859|989898|1|9999054859|MR|Test|E|Lead 54859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054860|154860|989898|1|9999054860|MR|Test|E|Lead 54860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054861|154861|989898|1|9999054861|MR|Test|E|Lead 54861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054862|154862|989898|1|9999054862|MR|Test|E|Lead 54862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054863|154863|989898|1|9999054863|MR|Test|E|Lead 54863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054864|154864|989898|1|9999054864|MR|Test|E|Lead 54864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054865|154865|989898|1|9999054865|MR|Test|E|Lead 54865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054866|154866|989898|1|9999054866|MR|Test|E|Lead 54866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054867|154867|989898|1|9999054867|MR|Test|E|Lead 54867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054868|154868|989898|1|9999054868|MR|Test|E|Lead 54868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054869|154869|989898|1|9999054869|MR|Test|E|Lead 54869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054870|154870|989898|1|9999054870|MR|Test|E|Lead 54870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054871|154871|989898|1|9999054871|MR|Test|E|Lead 54871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054872|154872|989898|1|9999054872|MR|Test|E|Lead 54872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054873|154873|989898|1|9999054873|MR|Test|E|Lead 54873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054874|154874|989898|1|9999054874|MR|Test|E|Lead 54874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054875|154875|989898|1|9999054875|MR|Test|E|Lead 54875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054876|154876|989898|1|9999054876|MR|Test|E|Lead 54876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054877|154877|989898|1|9999054877|MR|Test|E|Lead 54877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054878|154878|989898|1|9999054878|MR|Test|E|Lead 54878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054879|154879|989898|1|9999054879|MR|Test|E|Lead 54879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054880|154880|989898|1|9999054880|MR|Test|E|Lead 54880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054881|154881|989898|1|9999054881|MR|Test|E|Lead 54881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054882|154882|989898|1|9999054882|MR|Test|E|Lead 54882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054883|154883|989898|1|9999054883|MR|Test|E|Lead 54883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054884|154884|989898|1|9999054884|MR|Test|E|Lead 54884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054885|154885|989898|1|9999054885|MR|Test|E|Lead 54885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054886|154886|989898|1|9999054886|MR|Test|E|Lead 54886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054887|154887|989898|1|9999054887|MR|Test|E|Lead 54887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054888|154888|989898|1|9999054888|MR|Test|E|Lead 54888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054889|154889|989898|1|9999054889|MR|Test|E|Lead 54889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054890|154890|989898|1|9999054890|MR|Test|E|Lead 54890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054891|154891|989898|1|9999054891|MR|Test|E|Lead 54891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054892|154892|989898|1|9999054892|MR|Test|E|Lead 54892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054893|154893|989898|1|9999054893|MR|Test|E|Lead 54893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054894|154894|989898|1|9999054894|MR|Test|E|Lead 54894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054895|154895|989898|1|9999054895|MR|Test|E|Lead 54895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054896|154896|989898|1|9999054896|MR|Test|E|Lead 54896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054897|154897|989898|1|9999054897|MR|Test|E|Lead 54897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054898|154898|989898|1|9999054898|MR|Test|E|Lead 54898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054899|154899|989898|1|9999054899|MR|Test|E|Lead 54899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054900|154900|989898|1|9999054900|MR|Test|E|Lead 54900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054901|154901|989898|1|9999054901|MR|Test|E|Lead 54901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054902|154902|989898|1|9999054902|MR|Test|E|Lead 54902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054903|154903|989898|1|9999054903|MR|Test|E|Lead 54903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054904|154904|989898|1|9999054904|MR|Test|E|Lead 54904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054905|154905|989898|1|9999054905|MR|Test|E|Lead 54905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054906|154906|989898|1|9999054906|MR|Test|E|Lead 54906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054907|154907|989898|1|9999054907|MR|Test|E|Lead 54907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054908|154908|989898|1|9999054908|MR|Test|E|Lead 54908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054909|154909|989898|1|9999054909|MR|Test|E|Lead 54909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054910|154910|989898|1|9999054910|MR|Test|E|Lead 54910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054911|154911|989898|1|9999054911|MR|Test|E|Lead 54911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054912|154912|989898|1|9999054912|MR|Test|E|Lead 54912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054913|154913|989898|1|9999054913|MR|Test|E|Lead 54913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054914|154914|989898|1|9999054914|MR|Test|E|Lead 54914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054915|154915|989898|1|9999054915|MR|Test|E|Lead 54915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054916|154916|989898|1|9999054916|MR|Test|E|Lead 54916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054917|154917|989898|1|9999054917|MR|Test|E|Lead 54917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054918|154918|989898|1|9999054918|MR|Test|E|Lead 54918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054919|154919|989898|1|9999054919|MR|Test|E|Lead 54919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054920|154920|989898|1|9999054920|MR|Test|E|Lead 54920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054921|154921|989898|1|9999054921|MR|Test|E|Lead 54921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054922|154922|989898|1|9999054922|MR|Test|E|Lead 54922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054923|154923|989898|1|9999054923|MR|Test|E|Lead 54923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054924|154924|989898|1|9999054924|MR|Test|E|Lead 54924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054925|154925|989898|1|9999054925|MR|Test|E|Lead 54925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054926|154926|989898|1|9999054926|MR|Test|E|Lead 54926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054927|154927|989898|1|9999054927|MR|Test|E|Lead 54927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054928|154928|989898|1|9999054928|MR|Test|E|Lead 54928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054929|154929|989898|1|9999054929|MR|Test|E|Lead 54929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054930|154930|989898|1|9999054930|MR|Test|E|Lead 54930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054931|154931|989898|1|9999054931|MR|Test|E|Lead 54931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054932|154932|989898|1|9999054932|MR|Test|E|Lead 54932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054933|154933|989898|1|9999054933|MR|Test|E|Lead 54933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054934|154934|989898|1|9999054934|MR|Test|E|Lead 54934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054935|154935|989898|1|9999054935|MR|Test|E|Lead 54935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054936|154936|989898|1|9999054936|MR|Test|E|Lead 54936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054937|154937|989898|1|9999054937|MR|Test|E|Lead 54937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054938|154938|989898|1|9999054938|MR|Test|E|Lead 54938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054939|154939|989898|1|9999054939|MR|Test|E|Lead 54939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054940|154940|989898|1|9999054940|MR|Test|E|Lead 54940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054941|154941|989898|1|9999054941|MR|Test|E|Lead 54941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054942|154942|989898|1|9999054942|MR|Test|E|Lead 54942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054943|154943|989898|1|9999054943|MR|Test|E|Lead 54943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054944|154944|989898|1|9999054944|MR|Test|E|Lead 54944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054945|154945|989898|1|9999054945|MR|Test|E|Lead 54945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054946|154946|989898|1|9999054946|MR|Test|E|Lead 54946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054947|154947|989898|1|9999054947|MR|Test|E|Lead 54947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054948|154948|989898|1|9999054948|MR|Test|E|Lead 54948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054949|154949|989898|1|9999054949|MR|Test|E|Lead 54949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054950|154950|989898|1|9999054950|MR|Test|E|Lead 54950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054951|154951|989898|1|9999054951|MR|Test|E|Lead 54951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054952|154952|989898|1|9999054952|MR|Test|E|Lead 54952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054953|154953|989898|1|9999054953|MR|Test|E|Lead 54953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054954|154954|989898|1|9999054954|MR|Test|E|Lead 54954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054955|154955|989898|1|9999054955|MR|Test|E|Lead 54955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054956|154956|989898|1|9999054956|MR|Test|E|Lead 54956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054957|154957|989898|1|9999054957|MR|Test|E|Lead 54957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054958|154958|989898|1|9999054958|MR|Test|E|Lead 54958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054959|154959|989898|1|9999054959|MR|Test|E|Lead 54959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054960|154960|989898|1|9999054960|MR|Test|E|Lead 54960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054961|154961|989898|1|9999054961|MR|Test|E|Lead 54961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054962|154962|989898|1|9999054962|MR|Test|E|Lead 54962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054963|154963|989898|1|9999054963|MR|Test|E|Lead 54963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054964|154964|989898|1|9999054964|MR|Test|E|Lead 54964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054965|154965|989898|1|9999054965|MR|Test|E|Lead 54965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054966|154966|989898|1|9999054966|MR|Test|E|Lead 54966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054967|154967|989898|1|9999054967|MR|Test|E|Lead 54967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054968|154968|989898|1|9999054968|MR|Test|E|Lead 54968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054969|154969|989898|1|9999054969|MR|Test|E|Lead 54969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054970|154970|989898|1|9999054970|MR|Test|E|Lead 54970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054971|154971|989898|1|9999054971|MR|Test|E|Lead 54971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054972|154972|989898|1|9999054972|MR|Test|E|Lead 54972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054973|154973|989898|1|9999054973|MR|Test|E|Lead 54973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054974|154974|989898|1|9999054974|MR|Test|E|Lead 54974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054975|154975|989898|1|9999054975|MR|Test|E|Lead 54975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054976|154976|989898|1|9999054976|MR|Test|E|Lead 54976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054977|154977|989898|1|9999054977|MR|Test|E|Lead 54977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054978|154978|989898|1|9999054978|MR|Test|E|Lead 54978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054979|154979|989898|1|9999054979|MR|Test|E|Lead 54979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054980|154980|989898|1|9999054980|MR|Test|E|Lead 54980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054981|154981|989898|1|9999054981|MR|Test|E|Lead 54981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054982|154982|989898|1|9999054982|MR|Test|E|Lead 54982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054983|154983|989898|1|9999054983|MR|Test|E|Lead 54983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054984|154984|989898|1|9999054984|MR|Test|E|Lead 54984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054985|154985|989898|1|9999054985|MR|Test|E|Lead 54985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054986|154986|989898|1|9999054986|MR|Test|E|Lead 54986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054987|154987|989898|1|9999054987|MR|Test|E|Lead 54987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054988|154988|989898|1|9999054988|MR|Test|E|Lead 54988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054989|154989|989898|1|9999054989|MR|Test|E|Lead 54989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054990|154990|989898|1|9999054990|MR|Test|E|Lead 54990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054991|154991|989898|1|9999054991|MR|Test|E|Lead 54991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054992|154992|989898|1|9999054992|MR|Test|E|Lead 54992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054993|154993|989898|1|9999054993|MR|Test|E|Lead 54993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054994|154994|989898|1|9999054994|MR|Test|E|Lead 54994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054995|154995|989898|1|9999054995|MR|Test|E|Lead 54995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054996|154996|989898|1|9999054996|MR|Test|E|Lead 54996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054997|154997|989898|1|9999054997|MR|Test|E|Lead 54997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054998|154998|989898|1|9999054998|MR|Test|E|Lead 54998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1054999|154999|989898|1|9999054999|MR|Test|E|Lead 54999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055000|155000|989898|1|9999055000|MR|Test|E|Lead 55000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055001|155001|989898|1|9999055001|MR|Test|E|Lead 55001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055002|155002|989898|1|9999055002|MR|Test|E|Lead 55002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055003|155003|989898|1|9999055003|MR|Test|E|Lead 55003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055004|155004|989898|1|9999055004|MR|Test|E|Lead 55004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055005|155005|989898|1|9999055005|MR|Test|E|Lead 55005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055006|155006|989898|1|9999055006|MR|Test|E|Lead 55006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055007|155007|989898|1|9999055007|MR|Test|E|Lead 55007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055008|155008|989898|1|9999055008|MR|Test|E|Lead 55008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055009|155009|989898|1|9999055009|MR|Test|E|Lead 55009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055010|155010|989898|1|9999055010|MR|Test|E|Lead 55010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055011|155011|989898|1|9999055011|MR|Test|E|Lead 55011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055012|155012|989898|1|9999055012|MR|Test|E|Lead 55012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055013|155013|989898|1|9999055013|MR|Test|E|Lead 55013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055014|155014|989898|1|9999055014|MR|Test|E|Lead 55014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055015|155015|989898|1|9999055015|MR|Test|E|Lead 55015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055016|155016|989898|1|9999055016|MR|Test|E|Lead 55016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055017|155017|989898|1|9999055017|MR|Test|E|Lead 55017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055018|155018|989898|1|9999055018|MR|Test|E|Lead 55018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055019|155019|989898|1|9999055019|MR|Test|E|Lead 55019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055020|155020|989898|1|9999055020|MR|Test|E|Lead 55020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055021|155021|989898|1|9999055021|MR|Test|E|Lead 55021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055022|155022|989898|1|9999055022|MR|Test|E|Lead 55022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055023|155023|989898|1|9999055023|MR|Test|E|Lead 55023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055024|155024|989898|1|9999055024|MR|Test|E|Lead 55024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055025|155025|989898|1|9999055025|MR|Test|E|Lead 55025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055026|155026|989898|1|9999055026|MR|Test|E|Lead 55026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055027|155027|989898|1|9999055027|MR|Test|E|Lead 55027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055028|155028|989898|1|9999055028|MR|Test|E|Lead 55028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055029|155029|989898|1|9999055029|MR|Test|E|Lead 55029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055030|155030|989898|1|9999055030|MR|Test|E|Lead 55030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055031|155031|989898|1|9999055031|MR|Test|E|Lead 55031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055032|155032|989898|1|9999055032|MR|Test|E|Lead 55032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055033|155033|989898|1|9999055033|MR|Test|E|Lead 55033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055034|155034|989898|1|9999055034|MR|Test|E|Lead 55034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055035|155035|989898|1|9999055035|MR|Test|E|Lead 55035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055036|155036|989898|1|9999055036|MR|Test|E|Lead 55036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055037|155037|989898|1|9999055037|MR|Test|E|Lead 55037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055038|155038|989898|1|9999055038|MR|Test|E|Lead 55038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055039|155039|989898|1|9999055039|MR|Test|E|Lead 55039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055040|155040|989898|1|9999055040|MR|Test|E|Lead 55040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055041|155041|989898|1|9999055041|MR|Test|E|Lead 55041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055042|155042|989898|1|9999055042|MR|Test|E|Lead 55042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055043|155043|989898|1|9999055043|MR|Test|E|Lead 55043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055044|155044|989898|1|9999055044|MR|Test|E|Lead 55044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055045|155045|989898|1|9999055045|MR|Test|E|Lead 55045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055046|155046|989898|1|9999055046|MR|Test|E|Lead 55046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055047|155047|989898|1|9999055047|MR|Test|E|Lead 55047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055048|155048|989898|1|9999055048|MR|Test|E|Lead 55048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055049|155049|989898|1|9999055049|MR|Test|E|Lead 55049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055050|155050|989898|1|9999055050|MR|Test|E|Lead 55050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055051|155051|989898|1|9999055051|MR|Test|E|Lead 55051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055052|155052|989898|1|9999055052|MR|Test|E|Lead 55052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055053|155053|989898|1|9999055053|MR|Test|E|Lead 55053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055054|155054|989898|1|9999055054|MR|Test|E|Lead 55054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055055|155055|989898|1|9999055055|MR|Test|E|Lead 55055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055056|155056|989898|1|9999055056|MR|Test|E|Lead 55056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055057|155057|989898|1|9999055057|MR|Test|E|Lead 55057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055058|155058|989898|1|9999055058|MR|Test|E|Lead 55058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055059|155059|989898|1|9999055059|MR|Test|E|Lead 55059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055060|155060|989898|1|9999055060|MR|Test|E|Lead 55060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055061|155061|989898|1|9999055061|MR|Test|E|Lead 55061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055062|155062|989898|1|9999055062|MR|Test|E|Lead 55062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055063|155063|989898|1|9999055063|MR|Test|E|Lead 55063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055064|155064|989898|1|9999055064|MR|Test|E|Lead 55064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055065|155065|989898|1|9999055065|MR|Test|E|Lead 55065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055066|155066|989898|1|9999055066|MR|Test|E|Lead 55066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055067|155067|989898|1|9999055067|MR|Test|E|Lead 55067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055068|155068|989898|1|9999055068|MR|Test|E|Lead 55068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055069|155069|989898|1|9999055069|MR|Test|E|Lead 55069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055070|155070|989898|1|9999055070|MR|Test|E|Lead 55070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055071|155071|989898|1|9999055071|MR|Test|E|Lead 55071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055072|155072|989898|1|9999055072|MR|Test|E|Lead 55072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055073|155073|989898|1|9999055073|MR|Test|E|Lead 55073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055074|155074|989898|1|9999055074|MR|Test|E|Lead 55074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055075|155075|989898|1|9999055075|MR|Test|E|Lead 55075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055076|155076|989898|1|9999055076|MR|Test|E|Lead 55076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055077|155077|989898|1|9999055077|MR|Test|E|Lead 55077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055078|155078|989898|1|9999055078|MR|Test|E|Lead 55078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055079|155079|989898|1|9999055079|MR|Test|E|Lead 55079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055080|155080|989898|1|9999055080|MR|Test|E|Lead 55080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055081|155081|989898|1|9999055081|MR|Test|E|Lead 55081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055082|155082|989898|1|9999055082|MR|Test|E|Lead 55082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055083|155083|989898|1|9999055083|MR|Test|E|Lead 55083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055084|155084|989898|1|9999055084|MR|Test|E|Lead 55084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055085|155085|989898|1|9999055085|MR|Test|E|Lead 55085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055086|155086|989898|1|9999055086|MR|Test|E|Lead 55086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055087|155087|989898|1|9999055087|MR|Test|E|Lead 55087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055088|155088|989898|1|9999055088|MR|Test|E|Lead 55088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055089|155089|989898|1|9999055089|MR|Test|E|Lead 55089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055090|155090|989898|1|9999055090|MR|Test|E|Lead 55090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055091|155091|989898|1|9999055091|MR|Test|E|Lead 55091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055092|155092|989898|1|9999055092|MR|Test|E|Lead 55092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055093|155093|989898|1|9999055093|MR|Test|E|Lead 55093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055094|155094|989898|1|9999055094|MR|Test|E|Lead 55094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055095|155095|989898|1|9999055095|MR|Test|E|Lead 55095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055096|155096|989898|1|9999055096|MR|Test|E|Lead 55096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055097|155097|989898|1|9999055097|MR|Test|E|Lead 55097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055098|155098|989898|1|9999055098|MR|Test|E|Lead 55098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055099|155099|989898|1|9999055099|MR|Test|E|Lead 55099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055100|155100|989898|1|9999055100|MR|Test|E|Lead 55100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055101|155101|989898|1|9999055101|MR|Test|E|Lead 55101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055102|155102|989898|1|9999055102|MR|Test|E|Lead 55102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055103|155103|989898|1|9999055103|MR|Test|E|Lead 55103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055104|155104|989898|1|9999055104|MR|Test|E|Lead 55104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055105|155105|989898|1|9999055105|MR|Test|E|Lead 55105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055106|155106|989898|1|9999055106|MR|Test|E|Lead 55106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055107|155107|989898|1|9999055107|MR|Test|E|Lead 55107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055108|155108|989898|1|9999055108|MR|Test|E|Lead 55108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055109|155109|989898|1|9999055109|MR|Test|E|Lead 55109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055110|155110|989898|1|9999055110|MR|Test|E|Lead 55110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055111|155111|989898|1|9999055111|MR|Test|E|Lead 55111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055112|155112|989898|1|9999055112|MR|Test|E|Lead 55112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055113|155113|989898|1|9999055113|MR|Test|E|Lead 55113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055114|155114|989898|1|9999055114|MR|Test|E|Lead 55114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055115|155115|989898|1|9999055115|MR|Test|E|Lead 55115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055116|155116|989898|1|9999055116|MR|Test|E|Lead 55116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055117|155117|989898|1|9999055117|MR|Test|E|Lead 55117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055118|155118|989898|1|9999055118|MR|Test|E|Lead 55118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055119|155119|989898|1|9999055119|MR|Test|E|Lead 55119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055120|155120|989898|1|9999055120|MR|Test|E|Lead 55120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055121|155121|989898|1|9999055121|MR|Test|E|Lead 55121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055122|155122|989898|1|9999055122|MR|Test|E|Lead 55122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055123|155123|989898|1|9999055123|MR|Test|E|Lead 55123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055124|155124|989898|1|9999055124|MR|Test|E|Lead 55124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055125|155125|989898|1|9999055125|MR|Test|E|Lead 55125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055126|155126|989898|1|9999055126|MR|Test|E|Lead 55126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055127|155127|989898|1|9999055127|MR|Test|E|Lead 55127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055128|155128|989898|1|9999055128|MR|Test|E|Lead 55128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055129|155129|989898|1|9999055129|MR|Test|E|Lead 55129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055130|155130|989898|1|9999055130|MR|Test|E|Lead 55130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055131|155131|989898|1|9999055131|MR|Test|E|Lead 55131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055132|155132|989898|1|9999055132|MR|Test|E|Lead 55132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055133|155133|989898|1|9999055133|MR|Test|E|Lead 55133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055134|155134|989898|1|9999055134|MR|Test|E|Lead 55134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055135|155135|989898|1|9999055135|MR|Test|E|Lead 55135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055136|155136|989898|1|9999055136|MR|Test|E|Lead 55136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055137|155137|989898|1|9999055137|MR|Test|E|Lead 55137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055138|155138|989898|1|9999055138|MR|Test|E|Lead 55138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055139|155139|989898|1|9999055139|MR|Test|E|Lead 55139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055140|155140|989898|1|9999055140|MR|Test|E|Lead 55140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055141|155141|989898|1|9999055141|MR|Test|E|Lead 55141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055142|155142|989898|1|9999055142|MR|Test|E|Lead 55142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055143|155143|989898|1|9999055143|MR|Test|E|Lead 55143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055144|155144|989898|1|9999055144|MR|Test|E|Lead 55144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055145|155145|989898|1|9999055145|MR|Test|E|Lead 55145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055146|155146|989898|1|9999055146|MR|Test|E|Lead 55146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055147|155147|989898|1|9999055147|MR|Test|E|Lead 55147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055148|155148|989898|1|9999055148|MR|Test|E|Lead 55148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055149|155149|989898|1|9999055149|MR|Test|E|Lead 55149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055150|155150|989898|1|9999055150|MR|Test|E|Lead 55150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055151|155151|989898|1|9999055151|MR|Test|E|Lead 55151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055152|155152|989898|1|9999055152|MR|Test|E|Lead 55152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055153|155153|989898|1|9999055153|MR|Test|E|Lead 55153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055154|155154|989898|1|9999055154|MR|Test|E|Lead 55154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055155|155155|989898|1|9999055155|MR|Test|E|Lead 55155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055156|155156|989898|1|9999055156|MR|Test|E|Lead 55156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055157|155157|989898|1|9999055157|MR|Test|E|Lead 55157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055158|155158|989898|1|9999055158|MR|Test|E|Lead 55158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055159|155159|989898|1|9999055159|MR|Test|E|Lead 55159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055160|155160|989898|1|9999055160|MR|Test|E|Lead 55160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055161|155161|989898|1|9999055161|MR|Test|E|Lead 55161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055162|155162|989898|1|9999055162|MR|Test|E|Lead 55162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055163|155163|989898|1|9999055163|MR|Test|E|Lead 55163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055164|155164|989898|1|9999055164|MR|Test|E|Lead 55164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055165|155165|989898|1|9999055165|MR|Test|E|Lead 55165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055166|155166|989898|1|9999055166|MR|Test|E|Lead 55166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055167|155167|989898|1|9999055167|MR|Test|E|Lead 55167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055168|155168|989898|1|9999055168|MR|Test|E|Lead 55168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055169|155169|989898|1|9999055169|MR|Test|E|Lead 55169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055170|155170|989898|1|9999055170|MR|Test|E|Lead 55170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055171|155171|989898|1|9999055171|MR|Test|E|Lead 55171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055172|155172|989898|1|9999055172|MR|Test|E|Lead 55172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055173|155173|989898|1|9999055173|MR|Test|E|Lead 55173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055174|155174|989898|1|9999055174|MR|Test|E|Lead 55174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055175|155175|989898|1|9999055175|MR|Test|E|Lead 55175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055176|155176|989898|1|9999055176|MR|Test|E|Lead 55176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055177|155177|989898|1|9999055177|MR|Test|E|Lead 55177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055178|155178|989898|1|9999055178|MR|Test|E|Lead 55178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055179|155179|989898|1|9999055179|MR|Test|E|Lead 55179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055180|155180|989898|1|9999055180|MR|Test|E|Lead 55180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055181|155181|989898|1|9999055181|MR|Test|E|Lead 55181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055182|155182|989898|1|9999055182|MR|Test|E|Lead 55182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055183|155183|989898|1|9999055183|MR|Test|E|Lead 55183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055184|155184|989898|1|9999055184|MR|Test|E|Lead 55184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055185|155185|989898|1|9999055185|MR|Test|E|Lead 55185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055186|155186|989898|1|9999055186|MR|Test|E|Lead 55186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055187|155187|989898|1|9999055187|MR|Test|E|Lead 55187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055188|155188|989898|1|9999055188|MR|Test|E|Lead 55188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055189|155189|989898|1|9999055189|MR|Test|E|Lead 55189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055190|155190|989898|1|9999055190|MR|Test|E|Lead 55190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055191|155191|989898|1|9999055191|MR|Test|E|Lead 55191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055192|155192|989898|1|9999055192|MR|Test|E|Lead 55192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055193|155193|989898|1|9999055193|MR|Test|E|Lead 55193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055194|155194|989898|1|9999055194|MR|Test|E|Lead 55194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055195|155195|989898|1|9999055195|MR|Test|E|Lead 55195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055196|155196|989898|1|9999055196|MR|Test|E|Lead 55196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055197|155197|989898|1|9999055197|MR|Test|E|Lead 55197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055198|155198|989898|1|9999055198|MR|Test|E|Lead 55198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055199|155199|989898|1|9999055199|MR|Test|E|Lead 55199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055200|155200|989898|1|9999055200|MR|Test|E|Lead 55200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055201|155201|989898|1|9999055201|MR|Test|E|Lead 55201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055202|155202|989898|1|9999055202|MR|Test|E|Lead 55202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055203|155203|989898|1|9999055203|MR|Test|E|Lead 55203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055204|155204|989898|1|9999055204|MR|Test|E|Lead 55204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055205|155205|989898|1|9999055205|MR|Test|E|Lead 55205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055206|155206|989898|1|9999055206|MR|Test|E|Lead 55206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055207|155207|989898|1|9999055207|MR|Test|E|Lead 55207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055208|155208|989898|1|9999055208|MR|Test|E|Lead 55208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055209|155209|989898|1|9999055209|MR|Test|E|Lead 55209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055210|155210|989898|1|9999055210|MR|Test|E|Lead 55210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055211|155211|989898|1|9999055211|MR|Test|E|Lead 55211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055212|155212|989898|1|9999055212|MR|Test|E|Lead 55212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055213|155213|989898|1|9999055213|MR|Test|E|Lead 55213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055214|155214|989898|1|9999055214|MR|Test|E|Lead 55214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055215|155215|989898|1|9999055215|MR|Test|E|Lead 55215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055216|155216|989898|1|9999055216|MR|Test|E|Lead 55216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055217|155217|989898|1|9999055217|MR|Test|E|Lead 55217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055218|155218|989898|1|9999055218|MR|Test|E|Lead 55218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055219|155219|989898|1|9999055219|MR|Test|E|Lead 55219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055220|155220|989898|1|9999055220|MR|Test|E|Lead 55220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055221|155221|989898|1|9999055221|MR|Test|E|Lead 55221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055222|155222|989898|1|9999055222|MR|Test|E|Lead 55222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055223|155223|989898|1|9999055223|MR|Test|E|Lead 55223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055224|155224|989898|1|9999055224|MR|Test|E|Lead 55224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055225|155225|989898|1|9999055225|MR|Test|E|Lead 55225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055226|155226|989898|1|9999055226|MR|Test|E|Lead 55226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055227|155227|989898|1|9999055227|MR|Test|E|Lead 55227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055228|155228|989898|1|9999055228|MR|Test|E|Lead 55228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055229|155229|989898|1|9999055229|MR|Test|E|Lead 55229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055230|155230|989898|1|9999055230|MR|Test|E|Lead 55230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055231|155231|989898|1|9999055231|MR|Test|E|Lead 55231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055232|155232|989898|1|9999055232|MR|Test|E|Lead 55232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055233|155233|989898|1|9999055233|MR|Test|E|Lead 55233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055234|155234|989898|1|9999055234|MR|Test|E|Lead 55234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055235|155235|989898|1|9999055235|MR|Test|E|Lead 55235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055236|155236|989898|1|9999055236|MR|Test|E|Lead 55236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055237|155237|989898|1|9999055237|MR|Test|E|Lead 55237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055238|155238|989898|1|9999055238|MR|Test|E|Lead 55238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055239|155239|989898|1|9999055239|MR|Test|E|Lead 55239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055240|155240|989898|1|9999055240|MR|Test|E|Lead 55240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055241|155241|989898|1|9999055241|MR|Test|E|Lead 55241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055242|155242|989898|1|9999055242|MR|Test|E|Lead 55242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055243|155243|989898|1|9999055243|MR|Test|E|Lead 55243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055244|155244|989898|1|9999055244|MR|Test|E|Lead 55244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055245|155245|989898|1|9999055245|MR|Test|E|Lead 55245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055246|155246|989898|1|9999055246|MR|Test|E|Lead 55246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055247|155247|989898|1|9999055247|MR|Test|E|Lead 55247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055248|155248|989898|1|9999055248|MR|Test|E|Lead 55248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055249|155249|989898|1|9999055249|MR|Test|E|Lead 55249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055250|155250|989898|1|9999055250|MR|Test|E|Lead 55250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055251|155251|989898|1|9999055251|MR|Test|E|Lead 55251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055252|155252|989898|1|9999055252|MR|Test|E|Lead 55252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055253|155253|989898|1|9999055253|MR|Test|E|Lead 55253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055254|155254|989898|1|9999055254|MR|Test|E|Lead 55254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055255|155255|989898|1|9999055255|MR|Test|E|Lead 55255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055256|155256|989898|1|9999055256|MR|Test|E|Lead 55256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055257|155257|989898|1|9999055257|MR|Test|E|Lead 55257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055258|155258|989898|1|9999055258|MR|Test|E|Lead 55258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055259|155259|989898|1|9999055259|MR|Test|E|Lead 55259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055260|155260|989898|1|9999055260|MR|Test|E|Lead 55260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055261|155261|989898|1|9999055261|MR|Test|E|Lead 55261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055262|155262|989898|1|9999055262|MR|Test|E|Lead 55262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055263|155263|989898|1|9999055263|MR|Test|E|Lead 55263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055264|155264|989898|1|9999055264|MR|Test|E|Lead 55264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055265|155265|989898|1|9999055265|MR|Test|E|Lead 55265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055266|155266|989898|1|9999055266|MR|Test|E|Lead 55266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055267|155267|989898|1|9999055267|MR|Test|E|Lead 55267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055268|155268|989898|1|9999055268|MR|Test|E|Lead 55268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055269|155269|989898|1|9999055269|MR|Test|E|Lead 55269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055270|155270|989898|1|9999055270|MR|Test|E|Lead 55270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055271|155271|989898|1|9999055271|MR|Test|E|Lead 55271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055272|155272|989898|1|9999055272|MR|Test|E|Lead 55272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055273|155273|989898|1|9999055273|MR|Test|E|Lead 55273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055274|155274|989898|1|9999055274|MR|Test|E|Lead 55274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055275|155275|989898|1|9999055275|MR|Test|E|Lead 55275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055276|155276|989898|1|9999055276|MR|Test|E|Lead 55276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055277|155277|989898|1|9999055277|MR|Test|E|Lead 55277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055278|155278|989898|1|9999055278|MR|Test|E|Lead 55278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055279|155279|989898|1|9999055279|MR|Test|E|Lead 55279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055280|155280|989898|1|9999055280|MR|Test|E|Lead 55280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055281|155281|989898|1|9999055281|MR|Test|E|Lead 55281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055282|155282|989898|1|9999055282|MR|Test|E|Lead 55282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055283|155283|989898|1|9999055283|MR|Test|E|Lead 55283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055284|155284|989898|1|9999055284|MR|Test|E|Lead 55284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055285|155285|989898|1|9999055285|MR|Test|E|Lead 55285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055286|155286|989898|1|9999055286|MR|Test|E|Lead 55286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055287|155287|989898|1|9999055287|MR|Test|E|Lead 55287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055288|155288|989898|1|9999055288|MR|Test|E|Lead 55288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055289|155289|989898|1|9999055289|MR|Test|E|Lead 55289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055290|155290|989898|1|9999055290|MR|Test|E|Lead 55290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055291|155291|989898|1|9999055291|MR|Test|E|Lead 55291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055292|155292|989898|1|9999055292|MR|Test|E|Lead 55292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055293|155293|989898|1|9999055293|MR|Test|E|Lead 55293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055294|155294|989898|1|9999055294|MR|Test|E|Lead 55294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055295|155295|989898|1|9999055295|MR|Test|E|Lead 55295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055296|155296|989898|1|9999055296|MR|Test|E|Lead 55296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055297|155297|989898|1|9999055297|MR|Test|E|Lead 55297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055298|155298|989898|1|9999055298|MR|Test|E|Lead 55298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055299|155299|989898|1|9999055299|MR|Test|E|Lead 55299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055300|155300|989898|1|9999055300|MR|Test|E|Lead 55300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055301|155301|989898|1|9999055301|MR|Test|E|Lead 55301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055302|155302|989898|1|9999055302|MR|Test|E|Lead 55302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055303|155303|989898|1|9999055303|MR|Test|E|Lead 55303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055304|155304|989898|1|9999055304|MR|Test|E|Lead 55304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055305|155305|989898|1|9999055305|MR|Test|E|Lead 55305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055306|155306|989898|1|9999055306|MR|Test|E|Lead 55306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055307|155307|989898|1|9999055307|MR|Test|E|Lead 55307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055308|155308|989898|1|9999055308|MR|Test|E|Lead 55308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055309|155309|989898|1|9999055309|MR|Test|E|Lead 55309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055310|155310|989898|1|9999055310|MR|Test|E|Lead 55310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055311|155311|989898|1|9999055311|MR|Test|E|Lead 55311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055312|155312|989898|1|9999055312|MR|Test|E|Lead 55312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055313|155313|989898|1|9999055313|MR|Test|E|Lead 55313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055314|155314|989898|1|9999055314|MR|Test|E|Lead 55314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055315|155315|989898|1|9999055315|MR|Test|E|Lead 55315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055316|155316|989898|1|9999055316|MR|Test|E|Lead 55316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055317|155317|989898|1|9999055317|MR|Test|E|Lead 55317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055318|155318|989898|1|9999055318|MR|Test|E|Lead 55318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055319|155319|989898|1|9999055319|MR|Test|E|Lead 55319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055320|155320|989898|1|9999055320|MR|Test|E|Lead 55320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055321|155321|989898|1|9999055321|MR|Test|E|Lead 55321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055322|155322|989898|1|9999055322|MR|Test|E|Lead 55322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055323|155323|989898|1|9999055323|MR|Test|E|Lead 55323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055324|155324|989898|1|9999055324|MR|Test|E|Lead 55324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055325|155325|989898|1|9999055325|MR|Test|E|Lead 55325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055326|155326|989898|1|9999055326|MR|Test|E|Lead 55326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055327|155327|989898|1|9999055327|MR|Test|E|Lead 55327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055328|155328|989898|1|9999055328|MR|Test|E|Lead 55328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055329|155329|989898|1|9999055329|MR|Test|E|Lead 55329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055330|155330|989898|1|9999055330|MR|Test|E|Lead 55330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055331|155331|989898|1|9999055331|MR|Test|E|Lead 55331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055332|155332|989898|1|9999055332|MR|Test|E|Lead 55332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055333|155333|989898|1|9999055333|MR|Test|E|Lead 55333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055334|155334|989898|1|9999055334|MR|Test|E|Lead 55334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055335|155335|989898|1|9999055335|MR|Test|E|Lead 55335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055336|155336|989898|1|9999055336|MR|Test|E|Lead 55336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055337|155337|989898|1|9999055337|MR|Test|E|Lead 55337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055338|155338|989898|1|9999055338|MR|Test|E|Lead 55338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055339|155339|989898|1|9999055339|MR|Test|E|Lead 55339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055340|155340|989898|1|9999055340|MR|Test|E|Lead 55340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055341|155341|989898|1|9999055341|MR|Test|E|Lead 55341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055342|155342|989898|1|9999055342|MR|Test|E|Lead 55342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055343|155343|989898|1|9999055343|MR|Test|E|Lead 55343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055344|155344|989898|1|9999055344|MR|Test|E|Lead 55344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055345|155345|989898|1|9999055345|MR|Test|E|Lead 55345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055346|155346|989898|1|9999055346|MR|Test|E|Lead 55346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055347|155347|989898|1|9999055347|MR|Test|E|Lead 55347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055348|155348|989898|1|9999055348|MR|Test|E|Lead 55348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055349|155349|989898|1|9999055349|MR|Test|E|Lead 55349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055350|155350|989898|1|9999055350|MR|Test|E|Lead 55350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055351|155351|989898|1|9999055351|MR|Test|E|Lead 55351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055352|155352|989898|1|9999055352|MR|Test|E|Lead 55352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055353|155353|989898|1|9999055353|MR|Test|E|Lead 55353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055354|155354|989898|1|9999055354|MR|Test|E|Lead 55354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055355|155355|989898|1|9999055355|MR|Test|E|Lead 55355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055356|155356|989898|1|9999055356|MR|Test|E|Lead 55356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055357|155357|989898|1|9999055357|MR|Test|E|Lead 55357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055358|155358|989898|1|9999055358|MR|Test|E|Lead 55358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055359|155359|989898|1|9999055359|MR|Test|E|Lead 55359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055360|155360|989898|1|9999055360|MR|Test|E|Lead 55360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055361|155361|989898|1|9999055361|MR|Test|E|Lead 55361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055362|155362|989898|1|9999055362|MR|Test|E|Lead 55362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055363|155363|989898|1|9999055363|MR|Test|E|Lead 55363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055364|155364|989898|1|9999055364|MR|Test|E|Lead 55364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055365|155365|989898|1|9999055365|MR|Test|E|Lead 55365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055366|155366|989898|1|9999055366|MR|Test|E|Lead 55366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055367|155367|989898|1|9999055367|MR|Test|E|Lead 55367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055368|155368|989898|1|9999055368|MR|Test|E|Lead 55368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055369|155369|989898|1|9999055369|MR|Test|E|Lead 55369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055370|155370|989898|1|9999055370|MR|Test|E|Lead 55370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055371|155371|989898|1|9999055371|MR|Test|E|Lead 55371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055372|155372|989898|1|9999055372|MR|Test|E|Lead 55372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055373|155373|989898|1|9999055373|MR|Test|E|Lead 55373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055374|155374|989898|1|9999055374|MR|Test|E|Lead 55374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055375|155375|989898|1|9999055375|MR|Test|E|Lead 55375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055376|155376|989898|1|9999055376|MR|Test|E|Lead 55376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055377|155377|989898|1|9999055377|MR|Test|E|Lead 55377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055378|155378|989898|1|9999055378|MR|Test|E|Lead 55378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055379|155379|989898|1|9999055379|MR|Test|E|Lead 55379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055380|155380|989898|1|9999055380|MR|Test|E|Lead 55380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055381|155381|989898|1|9999055381|MR|Test|E|Lead 55381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055382|155382|989898|1|9999055382|MR|Test|E|Lead 55382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055383|155383|989898|1|9999055383|MR|Test|E|Lead 55383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055384|155384|989898|1|9999055384|MR|Test|E|Lead 55384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055385|155385|989898|1|9999055385|MR|Test|E|Lead 55385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055386|155386|989898|1|9999055386|MR|Test|E|Lead 55386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055387|155387|989898|1|9999055387|MR|Test|E|Lead 55387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055388|155388|989898|1|9999055388|MR|Test|E|Lead 55388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055389|155389|989898|1|9999055389|MR|Test|E|Lead 55389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055390|155390|989898|1|9999055390|MR|Test|E|Lead 55390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055391|155391|989898|1|9999055391|MR|Test|E|Lead 55391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055392|155392|989898|1|9999055392|MR|Test|E|Lead 55392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055393|155393|989898|1|9999055393|MR|Test|E|Lead 55393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055394|155394|989898|1|9999055394|MR|Test|E|Lead 55394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055395|155395|989898|1|9999055395|MR|Test|E|Lead 55395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055396|155396|989898|1|9999055396|MR|Test|E|Lead 55396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055397|155397|989898|1|9999055397|MR|Test|E|Lead 55397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055398|155398|989898|1|9999055398|MR|Test|E|Lead 55398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055399|155399|989898|1|9999055399|MR|Test|E|Lead 55399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055400|155400|989898|1|9999055400|MR|Test|E|Lead 55400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055401|155401|989898|1|9999055401|MR|Test|E|Lead 55401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055402|155402|989898|1|9999055402|MR|Test|E|Lead 55402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055403|155403|989898|1|9999055403|MR|Test|E|Lead 55403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055404|155404|989898|1|9999055404|MR|Test|E|Lead 55404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055405|155405|989898|1|9999055405|MR|Test|E|Lead 55405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055406|155406|989898|1|9999055406|MR|Test|E|Lead 55406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055407|155407|989898|1|9999055407|MR|Test|E|Lead 55407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055408|155408|989898|1|9999055408|MR|Test|E|Lead 55408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055409|155409|989898|1|9999055409|MR|Test|E|Lead 55409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055410|155410|989898|1|9999055410|MR|Test|E|Lead 55410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055411|155411|989898|1|9999055411|MR|Test|E|Lead 55411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055412|155412|989898|1|9999055412|MR|Test|E|Lead 55412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055413|155413|989898|1|9999055413|MR|Test|E|Lead 55413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055414|155414|989898|1|9999055414|MR|Test|E|Lead 55414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055415|155415|989898|1|9999055415|MR|Test|E|Lead 55415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055416|155416|989898|1|9999055416|MR|Test|E|Lead 55416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055417|155417|989898|1|9999055417|MR|Test|E|Lead 55417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055418|155418|989898|1|9999055418|MR|Test|E|Lead 55418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055419|155419|989898|1|9999055419|MR|Test|E|Lead 55419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055420|155420|989898|1|9999055420|MR|Test|E|Lead 55420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055421|155421|989898|1|9999055421|MR|Test|E|Lead 55421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055422|155422|989898|1|9999055422|MR|Test|E|Lead 55422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055423|155423|989898|1|9999055423|MR|Test|E|Lead 55423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055424|155424|989898|1|9999055424|MR|Test|E|Lead 55424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055425|155425|989898|1|9999055425|MR|Test|E|Lead 55425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055426|155426|989898|1|9999055426|MR|Test|E|Lead 55426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055427|155427|989898|1|9999055427|MR|Test|E|Lead 55427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055428|155428|989898|1|9999055428|MR|Test|E|Lead 55428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055429|155429|989898|1|9999055429|MR|Test|E|Lead 55429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055430|155430|989898|1|9999055430|MR|Test|E|Lead 55430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055431|155431|989898|1|9999055431|MR|Test|E|Lead 55431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055432|155432|989898|1|9999055432|MR|Test|E|Lead 55432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055433|155433|989898|1|9999055433|MR|Test|E|Lead 55433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055434|155434|989898|1|9999055434|MR|Test|E|Lead 55434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055435|155435|989898|1|9999055435|MR|Test|E|Lead 55435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055436|155436|989898|1|9999055436|MR|Test|E|Lead 55436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055437|155437|989898|1|9999055437|MR|Test|E|Lead 55437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055438|155438|989898|1|9999055438|MR|Test|E|Lead 55438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055439|155439|989898|1|9999055439|MR|Test|E|Lead 55439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055440|155440|989898|1|9999055440|MR|Test|E|Lead 55440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055441|155441|989898|1|9999055441|MR|Test|E|Lead 55441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055442|155442|989898|1|9999055442|MR|Test|E|Lead 55442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055443|155443|989898|1|9999055443|MR|Test|E|Lead 55443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055444|155444|989898|1|9999055444|MR|Test|E|Lead 55444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055445|155445|989898|1|9999055445|MR|Test|E|Lead 55445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055446|155446|989898|1|9999055446|MR|Test|E|Lead 55446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055447|155447|989898|1|9999055447|MR|Test|E|Lead 55447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055448|155448|989898|1|9999055448|MR|Test|E|Lead 55448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055449|155449|989898|1|9999055449|MR|Test|E|Lead 55449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055450|155450|989898|1|9999055450|MR|Test|E|Lead 55450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055451|155451|989898|1|9999055451|MR|Test|E|Lead 55451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055452|155452|989898|1|9999055452|MR|Test|E|Lead 55452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055453|155453|989898|1|9999055453|MR|Test|E|Lead 55453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055454|155454|989898|1|9999055454|MR|Test|E|Lead 55454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055455|155455|989898|1|9999055455|MR|Test|E|Lead 55455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055456|155456|989898|1|9999055456|MR|Test|E|Lead 55456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055457|155457|989898|1|9999055457|MR|Test|E|Lead 55457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055458|155458|989898|1|9999055458|MR|Test|E|Lead 55458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055459|155459|989898|1|9999055459|MR|Test|E|Lead 55459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055460|155460|989898|1|9999055460|MR|Test|E|Lead 55460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055461|155461|989898|1|9999055461|MR|Test|E|Lead 55461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055462|155462|989898|1|9999055462|MR|Test|E|Lead 55462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055463|155463|989898|1|9999055463|MR|Test|E|Lead 55463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055464|155464|989898|1|9999055464|MR|Test|E|Lead 55464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055465|155465|989898|1|9999055465|MR|Test|E|Lead 55465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055466|155466|989898|1|9999055466|MR|Test|E|Lead 55466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055467|155467|989898|1|9999055467|MR|Test|E|Lead 55467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055468|155468|989898|1|9999055468|MR|Test|E|Lead 55468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055469|155469|989898|1|9999055469|MR|Test|E|Lead 55469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055470|155470|989898|1|9999055470|MR|Test|E|Lead 55470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055471|155471|989898|1|9999055471|MR|Test|E|Lead 55471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055472|155472|989898|1|9999055472|MR|Test|E|Lead 55472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055473|155473|989898|1|9999055473|MR|Test|E|Lead 55473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055474|155474|989898|1|9999055474|MR|Test|E|Lead 55474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055475|155475|989898|1|9999055475|MR|Test|E|Lead 55475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055476|155476|989898|1|9999055476|MR|Test|E|Lead 55476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055477|155477|989898|1|9999055477|MR|Test|E|Lead 55477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055478|155478|989898|1|9999055478|MR|Test|E|Lead 55478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055479|155479|989898|1|9999055479|MR|Test|E|Lead 55479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055480|155480|989898|1|9999055480|MR|Test|E|Lead 55480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055481|155481|989898|1|9999055481|MR|Test|E|Lead 55481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055482|155482|989898|1|9999055482|MR|Test|E|Lead 55482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055483|155483|989898|1|9999055483|MR|Test|E|Lead 55483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055484|155484|989898|1|9999055484|MR|Test|E|Lead 55484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055485|155485|989898|1|9999055485|MR|Test|E|Lead 55485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055486|155486|989898|1|9999055486|MR|Test|E|Lead 55486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055487|155487|989898|1|9999055487|MR|Test|E|Lead 55487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055488|155488|989898|1|9999055488|MR|Test|E|Lead 55488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055489|155489|989898|1|9999055489|MR|Test|E|Lead 55489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055490|155490|989898|1|9999055490|MR|Test|E|Lead 55490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055491|155491|989898|1|9999055491|MR|Test|E|Lead 55491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055492|155492|989898|1|9999055492|MR|Test|E|Lead 55492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055493|155493|989898|1|9999055493|MR|Test|E|Lead 55493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055494|155494|989898|1|9999055494|MR|Test|E|Lead 55494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055495|155495|989898|1|9999055495|MR|Test|E|Lead 55495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055496|155496|989898|1|9999055496|MR|Test|E|Lead 55496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055497|155497|989898|1|9999055497|MR|Test|E|Lead 55497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055498|155498|989898|1|9999055498|MR|Test|E|Lead 55498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055499|155499|989898|1|9999055499|MR|Test|E|Lead 55499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055500|155500|989898|1|9999055500|MR|Test|E|Lead 55500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055501|155501|989898|1|9999055501|MR|Test|E|Lead 55501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055502|155502|989898|1|9999055502|MR|Test|E|Lead 55502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055503|155503|989898|1|9999055503|MR|Test|E|Lead 55503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055504|155504|989898|1|9999055504|MR|Test|E|Lead 55504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055505|155505|989898|1|9999055505|MR|Test|E|Lead 55505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055506|155506|989898|1|9999055506|MR|Test|E|Lead 55506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055507|155507|989898|1|9999055507|MR|Test|E|Lead 55507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055508|155508|989898|1|9999055508|MR|Test|E|Lead 55508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055509|155509|989898|1|9999055509|MR|Test|E|Lead 55509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055510|155510|989898|1|9999055510|MR|Test|E|Lead 55510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055511|155511|989898|1|9999055511|MR|Test|E|Lead 55511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055512|155512|989898|1|9999055512|MR|Test|E|Lead 55512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055513|155513|989898|1|9999055513|MR|Test|E|Lead 55513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055514|155514|989898|1|9999055514|MR|Test|E|Lead 55514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055515|155515|989898|1|9999055515|MR|Test|E|Lead 55515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055516|155516|989898|1|9999055516|MR|Test|E|Lead 55516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055517|155517|989898|1|9999055517|MR|Test|E|Lead 55517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055518|155518|989898|1|9999055518|MR|Test|E|Lead 55518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055519|155519|989898|1|9999055519|MR|Test|E|Lead 55519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055520|155520|989898|1|9999055520|MR|Test|E|Lead 55520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055521|155521|989898|1|9999055521|MR|Test|E|Lead 55521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055522|155522|989898|1|9999055522|MR|Test|E|Lead 55522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055523|155523|989898|1|9999055523|MR|Test|E|Lead 55523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055524|155524|989898|1|9999055524|MR|Test|E|Lead 55524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055525|155525|989898|1|9999055525|MR|Test|E|Lead 55525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055526|155526|989898|1|9999055526|MR|Test|E|Lead 55526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055527|155527|989898|1|9999055527|MR|Test|E|Lead 55527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055528|155528|989898|1|9999055528|MR|Test|E|Lead 55528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055529|155529|989898|1|9999055529|MR|Test|E|Lead 55529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055530|155530|989898|1|9999055530|MR|Test|E|Lead 55530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055531|155531|989898|1|9999055531|MR|Test|E|Lead 55531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055532|155532|989898|1|9999055532|MR|Test|E|Lead 55532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055533|155533|989898|1|9999055533|MR|Test|E|Lead 55533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055534|155534|989898|1|9999055534|MR|Test|E|Lead 55534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055535|155535|989898|1|9999055535|MR|Test|E|Lead 55535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055536|155536|989898|1|9999055536|MR|Test|E|Lead 55536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055537|155537|989898|1|9999055537|MR|Test|E|Lead 55537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055538|155538|989898|1|9999055538|MR|Test|E|Lead 55538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055539|155539|989898|1|9999055539|MR|Test|E|Lead 55539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055540|155540|989898|1|9999055540|MR|Test|E|Lead 55540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055541|155541|989898|1|9999055541|MR|Test|E|Lead 55541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055542|155542|989898|1|9999055542|MR|Test|E|Lead 55542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055543|155543|989898|1|9999055543|MR|Test|E|Lead 55543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055544|155544|989898|1|9999055544|MR|Test|E|Lead 55544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055545|155545|989898|1|9999055545|MR|Test|E|Lead 55545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055546|155546|989898|1|9999055546|MR|Test|E|Lead 55546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055547|155547|989898|1|9999055547|MR|Test|E|Lead 55547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055548|155548|989898|1|9999055548|MR|Test|E|Lead 55548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055549|155549|989898|1|9999055549|MR|Test|E|Lead 55549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055550|155550|989898|1|9999055550|MR|Test|E|Lead 55550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055551|155551|989898|1|9999055551|MR|Test|E|Lead 55551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055552|155552|989898|1|9999055552|MR|Test|E|Lead 55552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055553|155553|989898|1|9999055553|MR|Test|E|Lead 55553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055554|155554|989898|1|9999055554|MR|Test|E|Lead 55554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055555|155555|989898|1|9999055555|MR|Test|E|Lead 55555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055556|155556|989898|1|9999055556|MR|Test|E|Lead 55556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055557|155557|989898|1|9999055557|MR|Test|E|Lead 55557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055558|155558|989898|1|9999055558|MR|Test|E|Lead 55558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055559|155559|989898|1|9999055559|MR|Test|E|Lead 55559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055560|155560|989898|1|9999055560|MR|Test|E|Lead 55560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055561|155561|989898|1|9999055561|MR|Test|E|Lead 55561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055562|155562|989898|1|9999055562|MR|Test|E|Lead 55562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055563|155563|989898|1|9999055563|MR|Test|E|Lead 55563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055564|155564|989898|1|9999055564|MR|Test|E|Lead 55564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055565|155565|989898|1|9999055565|MR|Test|E|Lead 55565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055566|155566|989898|1|9999055566|MR|Test|E|Lead 55566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055567|155567|989898|1|9999055567|MR|Test|E|Lead 55567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055568|155568|989898|1|9999055568|MR|Test|E|Lead 55568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055569|155569|989898|1|9999055569|MR|Test|E|Lead 55569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055570|155570|989898|1|9999055570|MR|Test|E|Lead 55570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055571|155571|989898|1|9999055571|MR|Test|E|Lead 55571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055572|155572|989898|1|9999055572|MR|Test|E|Lead 55572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055573|155573|989898|1|9999055573|MR|Test|E|Lead 55573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055574|155574|989898|1|9999055574|MR|Test|E|Lead 55574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055575|155575|989898|1|9999055575|MR|Test|E|Lead 55575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055576|155576|989898|1|9999055576|MR|Test|E|Lead 55576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055577|155577|989898|1|9999055577|MR|Test|E|Lead 55577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055578|155578|989898|1|9999055578|MR|Test|E|Lead 55578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055579|155579|989898|1|9999055579|MR|Test|E|Lead 55579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055580|155580|989898|1|9999055580|MR|Test|E|Lead 55580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055581|155581|989898|1|9999055581|MR|Test|E|Lead 55581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055582|155582|989898|1|9999055582|MR|Test|E|Lead 55582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055583|155583|989898|1|9999055583|MR|Test|E|Lead 55583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055584|155584|989898|1|9999055584|MR|Test|E|Lead 55584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055585|155585|989898|1|9999055585|MR|Test|E|Lead 55585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055586|155586|989898|1|9999055586|MR|Test|E|Lead 55586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055587|155587|989898|1|9999055587|MR|Test|E|Lead 55587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055588|155588|989898|1|9999055588|MR|Test|E|Lead 55588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055589|155589|989898|1|9999055589|MR|Test|E|Lead 55589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055590|155590|989898|1|9999055590|MR|Test|E|Lead 55590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055591|155591|989898|1|9999055591|MR|Test|E|Lead 55591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055592|155592|989898|1|9999055592|MR|Test|E|Lead 55592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055593|155593|989898|1|9999055593|MR|Test|E|Lead 55593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055594|155594|989898|1|9999055594|MR|Test|E|Lead 55594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055595|155595|989898|1|9999055595|MR|Test|E|Lead 55595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055596|155596|989898|1|9999055596|MR|Test|E|Lead 55596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055597|155597|989898|1|9999055597|MR|Test|E|Lead 55597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055598|155598|989898|1|9999055598|MR|Test|E|Lead 55598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055599|155599|989898|1|9999055599|MR|Test|E|Lead 55599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055600|155600|989898|1|9999055600|MR|Test|E|Lead 55600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055601|155601|989898|1|9999055601|MR|Test|E|Lead 55601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055602|155602|989898|1|9999055602|MR|Test|E|Lead 55602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055603|155603|989898|1|9999055603|MR|Test|E|Lead 55603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055604|155604|989898|1|9999055604|MR|Test|E|Lead 55604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055605|155605|989898|1|9999055605|MR|Test|E|Lead 55605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055606|155606|989898|1|9999055606|MR|Test|E|Lead 55606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055607|155607|989898|1|9999055607|MR|Test|E|Lead 55607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055608|155608|989898|1|9999055608|MR|Test|E|Lead 55608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055609|155609|989898|1|9999055609|MR|Test|E|Lead 55609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055610|155610|989898|1|9999055610|MR|Test|E|Lead 55610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055611|155611|989898|1|9999055611|MR|Test|E|Lead 55611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055612|155612|989898|1|9999055612|MR|Test|E|Lead 55612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055613|155613|989898|1|9999055613|MR|Test|E|Lead 55613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055614|155614|989898|1|9999055614|MR|Test|E|Lead 55614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055615|155615|989898|1|9999055615|MR|Test|E|Lead 55615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055616|155616|989898|1|9999055616|MR|Test|E|Lead 55616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055617|155617|989898|1|9999055617|MR|Test|E|Lead 55617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055618|155618|989898|1|9999055618|MR|Test|E|Lead 55618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055619|155619|989898|1|9999055619|MR|Test|E|Lead 55619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055620|155620|989898|1|9999055620|MR|Test|E|Lead 55620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055621|155621|989898|1|9999055621|MR|Test|E|Lead 55621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055622|155622|989898|1|9999055622|MR|Test|E|Lead 55622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055623|155623|989898|1|9999055623|MR|Test|E|Lead 55623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055624|155624|989898|1|9999055624|MR|Test|E|Lead 55624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055625|155625|989898|1|9999055625|MR|Test|E|Lead 55625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055626|155626|989898|1|9999055626|MR|Test|E|Lead 55626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055627|155627|989898|1|9999055627|MR|Test|E|Lead 55627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055628|155628|989898|1|9999055628|MR|Test|E|Lead 55628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055629|155629|989898|1|9999055629|MR|Test|E|Lead 55629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055630|155630|989898|1|9999055630|MR|Test|E|Lead 55630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055631|155631|989898|1|9999055631|MR|Test|E|Lead 55631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055632|155632|989898|1|9999055632|MR|Test|E|Lead 55632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055633|155633|989898|1|9999055633|MR|Test|E|Lead 55633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055634|155634|989898|1|9999055634|MR|Test|E|Lead 55634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055635|155635|989898|1|9999055635|MR|Test|E|Lead 55635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055636|155636|989898|1|9999055636|MR|Test|E|Lead 55636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055637|155637|989898|1|9999055637|MR|Test|E|Lead 55637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055638|155638|989898|1|9999055638|MR|Test|E|Lead 55638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055639|155639|989898|1|9999055639|MR|Test|E|Lead 55639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055640|155640|989898|1|9999055640|MR|Test|E|Lead 55640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055641|155641|989898|1|9999055641|MR|Test|E|Lead 55641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055642|155642|989898|1|9999055642|MR|Test|E|Lead 55642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055643|155643|989898|1|9999055643|MR|Test|E|Lead 55643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055644|155644|989898|1|9999055644|MR|Test|E|Lead 55644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055645|155645|989898|1|9999055645|MR|Test|E|Lead 55645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055646|155646|989898|1|9999055646|MR|Test|E|Lead 55646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055647|155647|989898|1|9999055647|MR|Test|E|Lead 55647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055648|155648|989898|1|9999055648|MR|Test|E|Lead 55648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055649|155649|989898|1|9999055649|MR|Test|E|Lead 55649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055650|155650|989898|1|9999055650|MR|Test|E|Lead 55650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055651|155651|989898|1|9999055651|MR|Test|E|Lead 55651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055652|155652|989898|1|9999055652|MR|Test|E|Lead 55652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055653|155653|989898|1|9999055653|MR|Test|E|Lead 55653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055654|155654|989898|1|9999055654|MR|Test|E|Lead 55654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055655|155655|989898|1|9999055655|MR|Test|E|Lead 55655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055656|155656|989898|1|9999055656|MR|Test|E|Lead 55656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055657|155657|989898|1|9999055657|MR|Test|E|Lead 55657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055658|155658|989898|1|9999055658|MR|Test|E|Lead 55658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055659|155659|989898|1|9999055659|MR|Test|E|Lead 55659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055660|155660|989898|1|9999055660|MR|Test|E|Lead 55660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055661|155661|989898|1|9999055661|MR|Test|E|Lead 55661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055662|155662|989898|1|9999055662|MR|Test|E|Lead 55662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055663|155663|989898|1|9999055663|MR|Test|E|Lead 55663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055664|155664|989898|1|9999055664|MR|Test|E|Lead 55664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055665|155665|989898|1|9999055665|MR|Test|E|Lead 55665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055666|155666|989898|1|9999055666|MR|Test|E|Lead 55666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055667|155667|989898|1|9999055667|MR|Test|E|Lead 55667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055668|155668|989898|1|9999055668|MR|Test|E|Lead 55668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055669|155669|989898|1|9999055669|MR|Test|E|Lead 55669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055670|155670|989898|1|9999055670|MR|Test|E|Lead 55670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055671|155671|989898|1|9999055671|MR|Test|E|Lead 55671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055672|155672|989898|1|9999055672|MR|Test|E|Lead 55672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055673|155673|989898|1|9999055673|MR|Test|E|Lead 55673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055674|155674|989898|1|9999055674|MR|Test|E|Lead 55674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055675|155675|989898|1|9999055675|MR|Test|E|Lead 55675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055676|155676|989898|1|9999055676|MR|Test|E|Lead 55676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055677|155677|989898|1|9999055677|MR|Test|E|Lead 55677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055678|155678|989898|1|9999055678|MR|Test|E|Lead 55678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055679|155679|989898|1|9999055679|MR|Test|E|Lead 55679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055680|155680|989898|1|9999055680|MR|Test|E|Lead 55680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055681|155681|989898|1|9999055681|MR|Test|E|Lead 55681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055682|155682|989898|1|9999055682|MR|Test|E|Lead 55682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055683|155683|989898|1|9999055683|MR|Test|E|Lead 55683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055684|155684|989898|1|9999055684|MR|Test|E|Lead 55684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055685|155685|989898|1|9999055685|MR|Test|E|Lead 55685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055686|155686|989898|1|9999055686|MR|Test|E|Lead 55686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055687|155687|989898|1|9999055687|MR|Test|E|Lead 55687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055688|155688|989898|1|9999055688|MR|Test|E|Lead 55688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055689|155689|989898|1|9999055689|MR|Test|E|Lead 55689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055690|155690|989898|1|9999055690|MR|Test|E|Lead 55690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055691|155691|989898|1|9999055691|MR|Test|E|Lead 55691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055692|155692|989898|1|9999055692|MR|Test|E|Lead 55692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055693|155693|989898|1|9999055693|MR|Test|E|Lead 55693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055694|155694|989898|1|9999055694|MR|Test|E|Lead 55694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055695|155695|989898|1|9999055695|MR|Test|E|Lead 55695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055696|155696|989898|1|9999055696|MR|Test|E|Lead 55696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055697|155697|989898|1|9999055697|MR|Test|E|Lead 55697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055698|155698|989898|1|9999055698|MR|Test|E|Lead 55698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055699|155699|989898|1|9999055699|MR|Test|E|Lead 55699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055700|155700|989898|1|9999055700|MR|Test|E|Lead 55700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055701|155701|989898|1|9999055701|MR|Test|E|Lead 55701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055702|155702|989898|1|9999055702|MR|Test|E|Lead 55702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055703|155703|989898|1|9999055703|MR|Test|E|Lead 55703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055704|155704|989898|1|9999055704|MR|Test|E|Lead 55704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055705|155705|989898|1|9999055705|MR|Test|E|Lead 55705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055706|155706|989898|1|9999055706|MR|Test|E|Lead 55706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055707|155707|989898|1|9999055707|MR|Test|E|Lead 55707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055708|155708|989898|1|9999055708|MR|Test|E|Lead 55708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055709|155709|989898|1|9999055709|MR|Test|E|Lead 55709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055710|155710|989898|1|9999055710|MR|Test|E|Lead 55710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055711|155711|989898|1|9999055711|MR|Test|E|Lead 55711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055712|155712|989898|1|9999055712|MR|Test|E|Lead 55712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055713|155713|989898|1|9999055713|MR|Test|E|Lead 55713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055714|155714|989898|1|9999055714|MR|Test|E|Lead 55714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055715|155715|989898|1|9999055715|MR|Test|E|Lead 55715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055716|155716|989898|1|9999055716|MR|Test|E|Lead 55716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055717|155717|989898|1|9999055717|MR|Test|E|Lead 55717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055718|155718|989898|1|9999055718|MR|Test|E|Lead 55718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055719|155719|989898|1|9999055719|MR|Test|E|Lead 55719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055720|155720|989898|1|9999055720|MR|Test|E|Lead 55720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055721|155721|989898|1|9999055721|MR|Test|E|Lead 55721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055722|155722|989898|1|9999055722|MR|Test|E|Lead 55722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055723|155723|989898|1|9999055723|MR|Test|E|Lead 55723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055724|155724|989898|1|9999055724|MR|Test|E|Lead 55724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055725|155725|989898|1|9999055725|MR|Test|E|Lead 55725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055726|155726|989898|1|9999055726|MR|Test|E|Lead 55726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055727|155727|989898|1|9999055727|MR|Test|E|Lead 55727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055728|155728|989898|1|9999055728|MR|Test|E|Lead 55728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055729|155729|989898|1|9999055729|MR|Test|E|Lead 55729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055730|155730|989898|1|9999055730|MR|Test|E|Lead 55730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055731|155731|989898|1|9999055731|MR|Test|E|Lead 55731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055732|155732|989898|1|9999055732|MR|Test|E|Lead 55732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055733|155733|989898|1|9999055733|MR|Test|E|Lead 55733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055734|155734|989898|1|9999055734|MR|Test|E|Lead 55734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055735|155735|989898|1|9999055735|MR|Test|E|Lead 55735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055736|155736|989898|1|9999055736|MR|Test|E|Lead 55736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055737|155737|989898|1|9999055737|MR|Test|E|Lead 55737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055738|155738|989898|1|9999055738|MR|Test|E|Lead 55738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055739|155739|989898|1|9999055739|MR|Test|E|Lead 55739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055740|155740|989898|1|9999055740|MR|Test|E|Lead 55740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055741|155741|989898|1|9999055741|MR|Test|E|Lead 55741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055742|155742|989898|1|9999055742|MR|Test|E|Lead 55742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055743|155743|989898|1|9999055743|MR|Test|E|Lead 55743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055744|155744|989898|1|9999055744|MR|Test|E|Lead 55744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055745|155745|989898|1|9999055745|MR|Test|E|Lead 55745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055746|155746|989898|1|9999055746|MR|Test|E|Lead 55746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055747|155747|989898|1|9999055747|MR|Test|E|Lead 55747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055748|155748|989898|1|9999055748|MR|Test|E|Lead 55748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055749|155749|989898|1|9999055749|MR|Test|E|Lead 55749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055750|155750|989898|1|9999055750|MR|Test|E|Lead 55750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055751|155751|989898|1|9999055751|MR|Test|E|Lead 55751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055752|155752|989898|1|9999055752|MR|Test|E|Lead 55752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055753|155753|989898|1|9999055753|MR|Test|E|Lead 55753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055754|155754|989898|1|9999055754|MR|Test|E|Lead 55754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055755|155755|989898|1|9999055755|MR|Test|E|Lead 55755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055756|155756|989898|1|9999055756|MR|Test|E|Lead 55756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055757|155757|989898|1|9999055757|MR|Test|E|Lead 55757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055758|155758|989898|1|9999055758|MR|Test|E|Lead 55758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055759|155759|989898|1|9999055759|MR|Test|E|Lead 55759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055760|155760|989898|1|9999055760|MR|Test|E|Lead 55760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055761|155761|989898|1|9999055761|MR|Test|E|Lead 55761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055762|155762|989898|1|9999055762|MR|Test|E|Lead 55762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055763|155763|989898|1|9999055763|MR|Test|E|Lead 55763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055764|155764|989898|1|9999055764|MR|Test|E|Lead 55764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055765|155765|989898|1|9999055765|MR|Test|E|Lead 55765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055766|155766|989898|1|9999055766|MR|Test|E|Lead 55766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055767|155767|989898|1|9999055767|MR|Test|E|Lead 55767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055768|155768|989898|1|9999055768|MR|Test|E|Lead 55768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055769|155769|989898|1|9999055769|MR|Test|E|Lead 55769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055770|155770|989898|1|9999055770|MR|Test|E|Lead 55770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055771|155771|989898|1|9999055771|MR|Test|E|Lead 55771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055772|155772|989898|1|9999055772|MR|Test|E|Lead 55772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055773|155773|989898|1|9999055773|MR|Test|E|Lead 55773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055774|155774|989898|1|9999055774|MR|Test|E|Lead 55774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055775|155775|989898|1|9999055775|MR|Test|E|Lead 55775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055776|155776|989898|1|9999055776|MR|Test|E|Lead 55776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055777|155777|989898|1|9999055777|MR|Test|E|Lead 55777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055778|155778|989898|1|9999055778|MR|Test|E|Lead 55778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055779|155779|989898|1|9999055779|MR|Test|E|Lead 55779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055780|155780|989898|1|9999055780|MR|Test|E|Lead 55780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055781|155781|989898|1|9999055781|MR|Test|E|Lead 55781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055782|155782|989898|1|9999055782|MR|Test|E|Lead 55782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055783|155783|989898|1|9999055783|MR|Test|E|Lead 55783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055784|155784|989898|1|9999055784|MR|Test|E|Lead 55784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055785|155785|989898|1|9999055785|MR|Test|E|Lead 55785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055786|155786|989898|1|9999055786|MR|Test|E|Lead 55786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055787|155787|989898|1|9999055787|MR|Test|E|Lead 55787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055788|155788|989898|1|9999055788|MR|Test|E|Lead 55788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055789|155789|989898|1|9999055789|MR|Test|E|Lead 55789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055790|155790|989898|1|9999055790|MR|Test|E|Lead 55790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055791|155791|989898|1|9999055791|MR|Test|E|Lead 55791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055792|155792|989898|1|9999055792|MR|Test|E|Lead 55792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055793|155793|989898|1|9999055793|MR|Test|E|Lead 55793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055794|155794|989898|1|9999055794|MR|Test|E|Lead 55794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055795|155795|989898|1|9999055795|MR|Test|E|Lead 55795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055796|155796|989898|1|9999055796|MR|Test|E|Lead 55796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055797|155797|989898|1|9999055797|MR|Test|E|Lead 55797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055798|155798|989898|1|9999055798|MR|Test|E|Lead 55798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055799|155799|989898|1|9999055799|MR|Test|E|Lead 55799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055800|155800|989898|1|9999055800|MR|Test|E|Lead 55800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055801|155801|989898|1|9999055801|MR|Test|E|Lead 55801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055802|155802|989898|1|9999055802|MR|Test|E|Lead 55802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055803|155803|989898|1|9999055803|MR|Test|E|Lead 55803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055804|155804|989898|1|9999055804|MR|Test|E|Lead 55804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055805|155805|989898|1|9999055805|MR|Test|E|Lead 55805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055806|155806|989898|1|9999055806|MR|Test|E|Lead 55806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055807|155807|989898|1|9999055807|MR|Test|E|Lead 55807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055808|155808|989898|1|9999055808|MR|Test|E|Lead 55808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055809|155809|989898|1|9999055809|MR|Test|E|Lead 55809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055810|155810|989898|1|9999055810|MR|Test|E|Lead 55810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055811|155811|989898|1|9999055811|MR|Test|E|Lead 55811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055812|155812|989898|1|9999055812|MR|Test|E|Lead 55812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055813|155813|989898|1|9999055813|MR|Test|E|Lead 55813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055814|155814|989898|1|9999055814|MR|Test|E|Lead 55814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055815|155815|989898|1|9999055815|MR|Test|E|Lead 55815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055816|155816|989898|1|9999055816|MR|Test|E|Lead 55816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055817|155817|989898|1|9999055817|MR|Test|E|Lead 55817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055818|155818|989898|1|9999055818|MR|Test|E|Lead 55818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055819|155819|989898|1|9999055819|MR|Test|E|Lead 55819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055820|155820|989898|1|9999055820|MR|Test|E|Lead 55820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055821|155821|989898|1|9999055821|MR|Test|E|Lead 55821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055822|155822|989898|1|9999055822|MR|Test|E|Lead 55822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055823|155823|989898|1|9999055823|MR|Test|E|Lead 55823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055824|155824|989898|1|9999055824|MR|Test|E|Lead 55824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055825|155825|989898|1|9999055825|MR|Test|E|Lead 55825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055826|155826|989898|1|9999055826|MR|Test|E|Lead 55826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055827|155827|989898|1|9999055827|MR|Test|E|Lead 55827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055828|155828|989898|1|9999055828|MR|Test|E|Lead 55828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055829|155829|989898|1|9999055829|MR|Test|E|Lead 55829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055830|155830|989898|1|9999055830|MR|Test|E|Lead 55830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055831|155831|989898|1|9999055831|MR|Test|E|Lead 55831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055832|155832|989898|1|9999055832|MR|Test|E|Lead 55832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055833|155833|989898|1|9999055833|MR|Test|E|Lead 55833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055834|155834|989898|1|9999055834|MR|Test|E|Lead 55834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055835|155835|989898|1|9999055835|MR|Test|E|Lead 55835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055836|155836|989898|1|9999055836|MR|Test|E|Lead 55836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055837|155837|989898|1|9999055837|MR|Test|E|Lead 55837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055838|155838|989898|1|9999055838|MR|Test|E|Lead 55838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055839|155839|989898|1|9999055839|MR|Test|E|Lead 55839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055840|155840|989898|1|9999055840|MR|Test|E|Lead 55840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055841|155841|989898|1|9999055841|MR|Test|E|Lead 55841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055842|155842|989898|1|9999055842|MR|Test|E|Lead 55842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055843|155843|989898|1|9999055843|MR|Test|E|Lead 55843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055844|155844|989898|1|9999055844|MR|Test|E|Lead 55844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055845|155845|989898|1|9999055845|MR|Test|E|Lead 55845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055846|155846|989898|1|9999055846|MR|Test|E|Lead 55846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055847|155847|989898|1|9999055847|MR|Test|E|Lead 55847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055848|155848|989898|1|9999055848|MR|Test|E|Lead 55848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055849|155849|989898|1|9999055849|MR|Test|E|Lead 55849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055850|155850|989898|1|9999055850|MR|Test|E|Lead 55850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055851|155851|989898|1|9999055851|MR|Test|E|Lead 55851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055852|155852|989898|1|9999055852|MR|Test|E|Lead 55852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055853|155853|989898|1|9999055853|MR|Test|E|Lead 55853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055854|155854|989898|1|9999055854|MR|Test|E|Lead 55854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055855|155855|989898|1|9999055855|MR|Test|E|Lead 55855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055856|155856|989898|1|9999055856|MR|Test|E|Lead 55856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055857|155857|989898|1|9999055857|MR|Test|E|Lead 55857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055858|155858|989898|1|9999055858|MR|Test|E|Lead 55858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055859|155859|989898|1|9999055859|MR|Test|E|Lead 55859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055860|155860|989898|1|9999055860|MR|Test|E|Lead 55860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055861|155861|989898|1|9999055861|MR|Test|E|Lead 55861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055862|155862|989898|1|9999055862|MR|Test|E|Lead 55862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055863|155863|989898|1|9999055863|MR|Test|E|Lead 55863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055864|155864|989898|1|9999055864|MR|Test|E|Lead 55864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055865|155865|989898|1|9999055865|MR|Test|E|Lead 55865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055866|155866|989898|1|9999055866|MR|Test|E|Lead 55866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055867|155867|989898|1|9999055867|MR|Test|E|Lead 55867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055868|155868|989898|1|9999055868|MR|Test|E|Lead 55868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055869|155869|989898|1|9999055869|MR|Test|E|Lead 55869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055870|155870|989898|1|9999055870|MR|Test|E|Lead 55870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055871|155871|989898|1|9999055871|MR|Test|E|Lead 55871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055872|155872|989898|1|9999055872|MR|Test|E|Lead 55872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055873|155873|989898|1|9999055873|MR|Test|E|Lead 55873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055874|155874|989898|1|9999055874|MR|Test|E|Lead 55874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055875|155875|989898|1|9999055875|MR|Test|E|Lead 55875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055876|155876|989898|1|9999055876|MR|Test|E|Lead 55876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055877|155877|989898|1|9999055877|MR|Test|E|Lead 55877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055878|155878|989898|1|9999055878|MR|Test|E|Lead 55878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055879|155879|989898|1|9999055879|MR|Test|E|Lead 55879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055880|155880|989898|1|9999055880|MR|Test|E|Lead 55880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055881|155881|989898|1|9999055881|MR|Test|E|Lead 55881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055882|155882|989898|1|9999055882|MR|Test|E|Lead 55882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055883|155883|989898|1|9999055883|MR|Test|E|Lead 55883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055884|155884|989898|1|9999055884|MR|Test|E|Lead 55884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055885|155885|989898|1|9999055885|MR|Test|E|Lead 55885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055886|155886|989898|1|9999055886|MR|Test|E|Lead 55886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055887|155887|989898|1|9999055887|MR|Test|E|Lead 55887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055888|155888|989898|1|9999055888|MR|Test|E|Lead 55888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055889|155889|989898|1|9999055889|MR|Test|E|Lead 55889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055890|155890|989898|1|9999055890|MR|Test|E|Lead 55890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055891|155891|989898|1|9999055891|MR|Test|E|Lead 55891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055892|155892|989898|1|9999055892|MR|Test|E|Lead 55892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055893|155893|989898|1|9999055893|MR|Test|E|Lead 55893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055894|155894|989898|1|9999055894|MR|Test|E|Lead 55894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055895|155895|989898|1|9999055895|MR|Test|E|Lead 55895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055896|155896|989898|1|9999055896|MR|Test|E|Lead 55896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055897|155897|989898|1|9999055897|MR|Test|E|Lead 55897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055898|155898|989898|1|9999055898|MR|Test|E|Lead 55898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055899|155899|989898|1|9999055899|MR|Test|E|Lead 55899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055900|155900|989898|1|9999055900|MR|Test|E|Lead 55900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055901|155901|989898|1|9999055901|MR|Test|E|Lead 55901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055902|155902|989898|1|9999055902|MR|Test|E|Lead 55902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055903|155903|989898|1|9999055903|MR|Test|E|Lead 55903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055904|155904|989898|1|9999055904|MR|Test|E|Lead 55904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055905|155905|989898|1|9999055905|MR|Test|E|Lead 55905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055906|155906|989898|1|9999055906|MR|Test|E|Lead 55906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055907|155907|989898|1|9999055907|MR|Test|E|Lead 55907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055908|155908|989898|1|9999055908|MR|Test|E|Lead 55908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055909|155909|989898|1|9999055909|MR|Test|E|Lead 55909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055910|155910|989898|1|9999055910|MR|Test|E|Lead 55910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055911|155911|989898|1|9999055911|MR|Test|E|Lead 55911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055912|155912|989898|1|9999055912|MR|Test|E|Lead 55912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055913|155913|989898|1|9999055913|MR|Test|E|Lead 55913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055914|155914|989898|1|9999055914|MR|Test|E|Lead 55914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055915|155915|989898|1|9999055915|MR|Test|E|Lead 55915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055916|155916|989898|1|9999055916|MR|Test|E|Lead 55916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055917|155917|989898|1|9999055917|MR|Test|E|Lead 55917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055918|155918|989898|1|9999055918|MR|Test|E|Lead 55918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055919|155919|989898|1|9999055919|MR|Test|E|Lead 55919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055920|155920|989898|1|9999055920|MR|Test|E|Lead 55920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055921|155921|989898|1|9999055921|MR|Test|E|Lead 55921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055922|155922|989898|1|9999055922|MR|Test|E|Lead 55922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055923|155923|989898|1|9999055923|MR|Test|E|Lead 55923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055924|155924|989898|1|9999055924|MR|Test|E|Lead 55924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055925|155925|989898|1|9999055925|MR|Test|E|Lead 55925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055926|155926|989898|1|9999055926|MR|Test|E|Lead 55926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055927|155927|989898|1|9999055927|MR|Test|E|Lead 55927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055928|155928|989898|1|9999055928|MR|Test|E|Lead 55928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055929|155929|989898|1|9999055929|MR|Test|E|Lead 55929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055930|155930|989898|1|9999055930|MR|Test|E|Lead 55930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055931|155931|989898|1|9999055931|MR|Test|E|Lead 55931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055932|155932|989898|1|9999055932|MR|Test|E|Lead 55932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055933|155933|989898|1|9999055933|MR|Test|E|Lead 55933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055934|155934|989898|1|9999055934|MR|Test|E|Lead 55934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055935|155935|989898|1|9999055935|MR|Test|E|Lead 55935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055936|155936|989898|1|9999055936|MR|Test|E|Lead 55936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055937|155937|989898|1|9999055937|MR|Test|E|Lead 55937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055938|155938|989898|1|9999055938|MR|Test|E|Lead 55938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055939|155939|989898|1|9999055939|MR|Test|E|Lead 55939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055940|155940|989898|1|9999055940|MR|Test|E|Lead 55940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055941|155941|989898|1|9999055941|MR|Test|E|Lead 55941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055942|155942|989898|1|9999055942|MR|Test|E|Lead 55942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055943|155943|989898|1|9999055943|MR|Test|E|Lead 55943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055944|155944|989898|1|9999055944|MR|Test|E|Lead 55944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055945|155945|989898|1|9999055945|MR|Test|E|Lead 55945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055946|155946|989898|1|9999055946|MR|Test|E|Lead 55946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055947|155947|989898|1|9999055947|MR|Test|E|Lead 55947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055948|155948|989898|1|9999055948|MR|Test|E|Lead 55948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055949|155949|989898|1|9999055949|MR|Test|E|Lead 55949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055950|155950|989898|1|9999055950|MR|Test|E|Lead 55950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055951|155951|989898|1|9999055951|MR|Test|E|Lead 55951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055952|155952|989898|1|9999055952|MR|Test|E|Lead 55952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055953|155953|989898|1|9999055953|MR|Test|E|Lead 55953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055954|155954|989898|1|9999055954|MR|Test|E|Lead 55954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055955|155955|989898|1|9999055955|MR|Test|E|Lead 55955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055956|155956|989898|1|9999055956|MR|Test|E|Lead 55956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055957|155957|989898|1|9999055957|MR|Test|E|Lead 55957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055958|155958|989898|1|9999055958|MR|Test|E|Lead 55958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055959|155959|989898|1|9999055959|MR|Test|E|Lead 55959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055960|155960|989898|1|9999055960|MR|Test|E|Lead 55960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055961|155961|989898|1|9999055961|MR|Test|E|Lead 55961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055962|155962|989898|1|9999055962|MR|Test|E|Lead 55962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055963|155963|989898|1|9999055963|MR|Test|E|Lead 55963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055964|155964|989898|1|9999055964|MR|Test|E|Lead 55964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055965|155965|989898|1|9999055965|MR|Test|E|Lead 55965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055966|155966|989898|1|9999055966|MR|Test|E|Lead 55966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055967|155967|989898|1|9999055967|MR|Test|E|Lead 55967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055968|155968|989898|1|9999055968|MR|Test|E|Lead 55968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055969|155969|989898|1|9999055969|MR|Test|E|Lead 55969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055970|155970|989898|1|9999055970|MR|Test|E|Lead 55970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055971|155971|989898|1|9999055971|MR|Test|E|Lead 55971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055972|155972|989898|1|9999055972|MR|Test|E|Lead 55972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055973|155973|989898|1|9999055973|MR|Test|E|Lead 55973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055974|155974|989898|1|9999055974|MR|Test|E|Lead 55974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055975|155975|989898|1|9999055975|MR|Test|E|Lead 55975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055976|155976|989898|1|9999055976|MR|Test|E|Lead 55976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055977|155977|989898|1|9999055977|MR|Test|E|Lead 55977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055978|155978|989898|1|9999055978|MR|Test|E|Lead 55978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055979|155979|989898|1|9999055979|MR|Test|E|Lead 55979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055980|155980|989898|1|9999055980|MR|Test|E|Lead 55980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055981|155981|989898|1|9999055981|MR|Test|E|Lead 55981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055982|155982|989898|1|9999055982|MR|Test|E|Lead 55982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055983|155983|989898|1|9999055983|MR|Test|E|Lead 55983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055984|155984|989898|1|9999055984|MR|Test|E|Lead 55984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055985|155985|989898|1|9999055985|MR|Test|E|Lead 55985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055986|155986|989898|1|9999055986|MR|Test|E|Lead 55986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055987|155987|989898|1|9999055987|MR|Test|E|Lead 55987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055988|155988|989898|1|9999055988|MR|Test|E|Lead 55988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055989|155989|989898|1|9999055989|MR|Test|E|Lead 55989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055990|155990|989898|1|9999055990|MR|Test|E|Lead 55990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055991|155991|989898|1|9999055991|MR|Test|E|Lead 55991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055992|155992|989898|1|9999055992|MR|Test|E|Lead 55992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055993|155993|989898|1|9999055993|MR|Test|E|Lead 55993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055994|155994|989898|1|9999055994|MR|Test|E|Lead 55994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055995|155995|989898|1|9999055995|MR|Test|E|Lead 55995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055996|155996|989898|1|9999055996|MR|Test|E|Lead 55996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055997|155997|989898|1|9999055997|MR|Test|E|Lead 55997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055998|155998|989898|1|9999055998|MR|Test|E|Lead 55998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1055999|155999|989898|1|9999055999|MR|Test|E|Lead 55999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056000|156000|989898|1|9999056000|MR|Test|E|Lead 56000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056001|156001|989898|1|9999056001|MR|Test|E|Lead 56001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056002|156002|989898|1|9999056002|MR|Test|E|Lead 56002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056003|156003|989898|1|9999056003|MR|Test|E|Lead 56003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056004|156004|989898|1|9999056004|MR|Test|E|Lead 56004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056005|156005|989898|1|9999056005|MR|Test|E|Lead 56005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056006|156006|989898|1|9999056006|MR|Test|E|Lead 56006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056007|156007|989898|1|9999056007|MR|Test|E|Lead 56007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056008|156008|989898|1|9999056008|MR|Test|E|Lead 56008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056009|156009|989898|1|9999056009|MR|Test|E|Lead 56009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056010|156010|989898|1|9999056010|MR|Test|E|Lead 56010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056011|156011|989898|1|9999056011|MR|Test|E|Lead 56011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056012|156012|989898|1|9999056012|MR|Test|E|Lead 56012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056013|156013|989898|1|9999056013|MR|Test|E|Lead 56013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056014|156014|989898|1|9999056014|MR|Test|E|Lead 56014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056015|156015|989898|1|9999056015|MR|Test|E|Lead 56015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056016|156016|989898|1|9999056016|MR|Test|E|Lead 56016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056017|156017|989898|1|9999056017|MR|Test|E|Lead 56017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056018|156018|989898|1|9999056018|MR|Test|E|Lead 56018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056019|156019|989898|1|9999056019|MR|Test|E|Lead 56019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056020|156020|989898|1|9999056020|MR|Test|E|Lead 56020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056021|156021|989898|1|9999056021|MR|Test|E|Lead 56021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056022|156022|989898|1|9999056022|MR|Test|E|Lead 56022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056023|156023|989898|1|9999056023|MR|Test|E|Lead 56023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056024|156024|989898|1|9999056024|MR|Test|E|Lead 56024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056025|156025|989898|1|9999056025|MR|Test|E|Lead 56025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056026|156026|989898|1|9999056026|MR|Test|E|Lead 56026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056027|156027|989898|1|9999056027|MR|Test|E|Lead 56027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056028|156028|989898|1|9999056028|MR|Test|E|Lead 56028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056029|156029|989898|1|9999056029|MR|Test|E|Lead 56029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056030|156030|989898|1|9999056030|MR|Test|E|Lead 56030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056031|156031|989898|1|9999056031|MR|Test|E|Lead 56031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056032|156032|989898|1|9999056032|MR|Test|E|Lead 56032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056033|156033|989898|1|9999056033|MR|Test|E|Lead 56033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056034|156034|989898|1|9999056034|MR|Test|E|Lead 56034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056035|156035|989898|1|9999056035|MR|Test|E|Lead 56035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056036|156036|989898|1|9999056036|MR|Test|E|Lead 56036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056037|156037|989898|1|9999056037|MR|Test|E|Lead 56037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056038|156038|989898|1|9999056038|MR|Test|E|Lead 56038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056039|156039|989898|1|9999056039|MR|Test|E|Lead 56039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056040|156040|989898|1|9999056040|MR|Test|E|Lead 56040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056041|156041|989898|1|9999056041|MR|Test|E|Lead 56041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056042|156042|989898|1|9999056042|MR|Test|E|Lead 56042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056043|156043|989898|1|9999056043|MR|Test|E|Lead 56043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056044|156044|989898|1|9999056044|MR|Test|E|Lead 56044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056045|156045|989898|1|9999056045|MR|Test|E|Lead 56045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056046|156046|989898|1|9999056046|MR|Test|E|Lead 56046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056047|156047|989898|1|9999056047|MR|Test|E|Lead 56047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056048|156048|989898|1|9999056048|MR|Test|E|Lead 56048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056049|156049|989898|1|9999056049|MR|Test|E|Lead 56049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056050|156050|989898|1|9999056050|MR|Test|E|Lead 56050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056051|156051|989898|1|9999056051|MR|Test|E|Lead 56051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056052|156052|989898|1|9999056052|MR|Test|E|Lead 56052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056053|156053|989898|1|9999056053|MR|Test|E|Lead 56053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056054|156054|989898|1|9999056054|MR|Test|E|Lead 56054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056055|156055|989898|1|9999056055|MR|Test|E|Lead 56055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056056|156056|989898|1|9999056056|MR|Test|E|Lead 56056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056057|156057|989898|1|9999056057|MR|Test|E|Lead 56057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056058|156058|989898|1|9999056058|MR|Test|E|Lead 56058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056059|156059|989898|1|9999056059|MR|Test|E|Lead 56059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056060|156060|989898|1|9999056060|MR|Test|E|Lead 56060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056061|156061|989898|1|9999056061|MR|Test|E|Lead 56061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056062|156062|989898|1|9999056062|MR|Test|E|Lead 56062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056063|156063|989898|1|9999056063|MR|Test|E|Lead 56063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056064|156064|989898|1|9999056064|MR|Test|E|Lead 56064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056065|156065|989898|1|9999056065|MR|Test|E|Lead 56065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056066|156066|989898|1|9999056066|MR|Test|E|Lead 56066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056067|156067|989898|1|9999056067|MR|Test|E|Lead 56067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056068|156068|989898|1|9999056068|MR|Test|E|Lead 56068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056069|156069|989898|1|9999056069|MR|Test|E|Lead 56069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056070|156070|989898|1|9999056070|MR|Test|E|Lead 56070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056071|156071|989898|1|9999056071|MR|Test|E|Lead 56071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056072|156072|989898|1|9999056072|MR|Test|E|Lead 56072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056073|156073|989898|1|9999056073|MR|Test|E|Lead 56073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056074|156074|989898|1|9999056074|MR|Test|E|Lead 56074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056075|156075|989898|1|9999056075|MR|Test|E|Lead 56075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056076|156076|989898|1|9999056076|MR|Test|E|Lead 56076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056077|156077|989898|1|9999056077|MR|Test|E|Lead 56077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056078|156078|989898|1|9999056078|MR|Test|E|Lead 56078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056079|156079|989898|1|9999056079|MR|Test|E|Lead 56079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056080|156080|989898|1|9999056080|MR|Test|E|Lead 56080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056081|156081|989898|1|9999056081|MR|Test|E|Lead 56081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056082|156082|989898|1|9999056082|MR|Test|E|Lead 56082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056083|156083|989898|1|9999056083|MR|Test|E|Lead 56083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056084|156084|989898|1|9999056084|MR|Test|E|Lead 56084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056085|156085|989898|1|9999056085|MR|Test|E|Lead 56085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056086|156086|989898|1|9999056086|MR|Test|E|Lead 56086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056087|156087|989898|1|9999056087|MR|Test|E|Lead 56087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056088|156088|989898|1|9999056088|MR|Test|E|Lead 56088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056089|156089|989898|1|9999056089|MR|Test|E|Lead 56089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056090|156090|989898|1|9999056090|MR|Test|E|Lead 56090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056091|156091|989898|1|9999056091|MR|Test|E|Lead 56091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056092|156092|989898|1|9999056092|MR|Test|E|Lead 56092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056093|156093|989898|1|9999056093|MR|Test|E|Lead 56093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056094|156094|989898|1|9999056094|MR|Test|E|Lead 56094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056095|156095|989898|1|9999056095|MR|Test|E|Lead 56095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056096|156096|989898|1|9999056096|MR|Test|E|Lead 56096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056097|156097|989898|1|9999056097|MR|Test|E|Lead 56097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056098|156098|989898|1|9999056098|MR|Test|E|Lead 56098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056099|156099|989898|1|9999056099|MR|Test|E|Lead 56099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056100|156100|989898|1|9999056100|MR|Test|E|Lead 56100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056101|156101|989898|1|9999056101|MR|Test|E|Lead 56101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056102|156102|989898|1|9999056102|MR|Test|E|Lead 56102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056103|156103|989898|1|9999056103|MR|Test|E|Lead 56103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056104|156104|989898|1|9999056104|MR|Test|E|Lead 56104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056105|156105|989898|1|9999056105|MR|Test|E|Lead 56105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056106|156106|989898|1|9999056106|MR|Test|E|Lead 56106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056107|156107|989898|1|9999056107|MR|Test|E|Lead 56107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056108|156108|989898|1|9999056108|MR|Test|E|Lead 56108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056109|156109|989898|1|9999056109|MR|Test|E|Lead 56109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056110|156110|989898|1|9999056110|MR|Test|E|Lead 56110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056111|156111|989898|1|9999056111|MR|Test|E|Lead 56111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056112|156112|989898|1|9999056112|MR|Test|E|Lead 56112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056113|156113|989898|1|9999056113|MR|Test|E|Lead 56113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056114|156114|989898|1|9999056114|MR|Test|E|Lead 56114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056115|156115|989898|1|9999056115|MR|Test|E|Lead 56115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056116|156116|989898|1|9999056116|MR|Test|E|Lead 56116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056117|156117|989898|1|9999056117|MR|Test|E|Lead 56117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056118|156118|989898|1|9999056118|MR|Test|E|Lead 56118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056119|156119|989898|1|9999056119|MR|Test|E|Lead 56119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056120|156120|989898|1|9999056120|MR|Test|E|Lead 56120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056121|156121|989898|1|9999056121|MR|Test|E|Lead 56121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056122|156122|989898|1|9999056122|MR|Test|E|Lead 56122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056123|156123|989898|1|9999056123|MR|Test|E|Lead 56123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056124|156124|989898|1|9999056124|MR|Test|E|Lead 56124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056125|156125|989898|1|9999056125|MR|Test|E|Lead 56125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056126|156126|989898|1|9999056126|MR|Test|E|Lead 56126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056127|156127|989898|1|9999056127|MR|Test|E|Lead 56127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056128|156128|989898|1|9999056128|MR|Test|E|Lead 56128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056129|156129|989898|1|9999056129|MR|Test|E|Lead 56129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056130|156130|989898|1|9999056130|MR|Test|E|Lead 56130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056131|156131|989898|1|9999056131|MR|Test|E|Lead 56131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056132|156132|989898|1|9999056132|MR|Test|E|Lead 56132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056133|156133|989898|1|9999056133|MR|Test|E|Lead 56133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056134|156134|989898|1|9999056134|MR|Test|E|Lead 56134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056135|156135|989898|1|9999056135|MR|Test|E|Lead 56135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056136|156136|989898|1|9999056136|MR|Test|E|Lead 56136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056137|156137|989898|1|9999056137|MR|Test|E|Lead 56137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056138|156138|989898|1|9999056138|MR|Test|E|Lead 56138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056139|156139|989898|1|9999056139|MR|Test|E|Lead 56139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056140|156140|989898|1|9999056140|MR|Test|E|Lead 56140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056141|156141|989898|1|9999056141|MR|Test|E|Lead 56141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056142|156142|989898|1|9999056142|MR|Test|E|Lead 56142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056143|156143|989898|1|9999056143|MR|Test|E|Lead 56143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056144|156144|989898|1|9999056144|MR|Test|E|Lead 56144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056145|156145|989898|1|9999056145|MR|Test|E|Lead 56145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056146|156146|989898|1|9999056146|MR|Test|E|Lead 56146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056147|156147|989898|1|9999056147|MR|Test|E|Lead 56147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056148|156148|989898|1|9999056148|MR|Test|E|Lead 56148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056149|156149|989898|1|9999056149|MR|Test|E|Lead 56149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056150|156150|989898|1|9999056150|MR|Test|E|Lead 56150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056151|156151|989898|1|9999056151|MR|Test|E|Lead 56151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056152|156152|989898|1|9999056152|MR|Test|E|Lead 56152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056153|156153|989898|1|9999056153|MR|Test|E|Lead 56153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056154|156154|989898|1|9999056154|MR|Test|E|Lead 56154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056155|156155|989898|1|9999056155|MR|Test|E|Lead 56155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056156|156156|989898|1|9999056156|MR|Test|E|Lead 56156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056157|156157|989898|1|9999056157|MR|Test|E|Lead 56157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056158|156158|989898|1|9999056158|MR|Test|E|Lead 56158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056159|156159|989898|1|9999056159|MR|Test|E|Lead 56159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056160|156160|989898|1|9999056160|MR|Test|E|Lead 56160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056161|156161|989898|1|9999056161|MR|Test|E|Lead 56161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056162|156162|989898|1|9999056162|MR|Test|E|Lead 56162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056163|156163|989898|1|9999056163|MR|Test|E|Lead 56163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056164|156164|989898|1|9999056164|MR|Test|E|Lead 56164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056165|156165|989898|1|9999056165|MR|Test|E|Lead 56165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056166|156166|989898|1|9999056166|MR|Test|E|Lead 56166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056167|156167|989898|1|9999056167|MR|Test|E|Lead 56167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056168|156168|989898|1|9999056168|MR|Test|E|Lead 56168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056169|156169|989898|1|9999056169|MR|Test|E|Lead 56169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056170|156170|989898|1|9999056170|MR|Test|E|Lead 56170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056171|156171|989898|1|9999056171|MR|Test|E|Lead 56171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056172|156172|989898|1|9999056172|MR|Test|E|Lead 56172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056173|156173|989898|1|9999056173|MR|Test|E|Lead 56173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056174|156174|989898|1|9999056174|MR|Test|E|Lead 56174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056175|156175|989898|1|9999056175|MR|Test|E|Lead 56175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056176|156176|989898|1|9999056176|MR|Test|E|Lead 56176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056177|156177|989898|1|9999056177|MR|Test|E|Lead 56177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056178|156178|989898|1|9999056178|MR|Test|E|Lead 56178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056179|156179|989898|1|9999056179|MR|Test|E|Lead 56179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056180|156180|989898|1|9999056180|MR|Test|E|Lead 56180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056181|156181|989898|1|9999056181|MR|Test|E|Lead 56181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056182|156182|989898|1|9999056182|MR|Test|E|Lead 56182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056183|156183|989898|1|9999056183|MR|Test|E|Lead 56183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056184|156184|989898|1|9999056184|MR|Test|E|Lead 56184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056185|156185|989898|1|9999056185|MR|Test|E|Lead 56185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056186|156186|989898|1|9999056186|MR|Test|E|Lead 56186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056187|156187|989898|1|9999056187|MR|Test|E|Lead 56187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056188|156188|989898|1|9999056188|MR|Test|E|Lead 56188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056189|156189|989898|1|9999056189|MR|Test|E|Lead 56189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056190|156190|989898|1|9999056190|MR|Test|E|Lead 56190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056191|156191|989898|1|9999056191|MR|Test|E|Lead 56191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056192|156192|989898|1|9999056192|MR|Test|E|Lead 56192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056193|156193|989898|1|9999056193|MR|Test|E|Lead 56193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056194|156194|989898|1|9999056194|MR|Test|E|Lead 56194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056195|156195|989898|1|9999056195|MR|Test|E|Lead 56195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056196|156196|989898|1|9999056196|MR|Test|E|Lead 56196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056197|156197|989898|1|9999056197|MR|Test|E|Lead 56197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056198|156198|989898|1|9999056198|MR|Test|E|Lead 56198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056199|156199|989898|1|9999056199|MR|Test|E|Lead 56199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056200|156200|989898|1|9999056200|MR|Test|E|Lead 56200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056201|156201|989898|1|9999056201|MR|Test|E|Lead 56201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056202|156202|989898|1|9999056202|MR|Test|E|Lead 56202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056203|156203|989898|1|9999056203|MR|Test|E|Lead 56203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056204|156204|989898|1|9999056204|MR|Test|E|Lead 56204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056205|156205|989898|1|9999056205|MR|Test|E|Lead 56205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056206|156206|989898|1|9999056206|MR|Test|E|Lead 56206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056207|156207|989898|1|9999056207|MR|Test|E|Lead 56207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056208|156208|989898|1|9999056208|MR|Test|E|Lead 56208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056209|156209|989898|1|9999056209|MR|Test|E|Lead 56209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056210|156210|989898|1|9999056210|MR|Test|E|Lead 56210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056211|156211|989898|1|9999056211|MR|Test|E|Lead 56211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056212|156212|989898|1|9999056212|MR|Test|E|Lead 56212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056213|156213|989898|1|9999056213|MR|Test|E|Lead 56213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056214|156214|989898|1|9999056214|MR|Test|E|Lead 56214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056215|156215|989898|1|9999056215|MR|Test|E|Lead 56215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056216|156216|989898|1|9999056216|MR|Test|E|Lead 56216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056217|156217|989898|1|9999056217|MR|Test|E|Lead 56217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056218|156218|989898|1|9999056218|MR|Test|E|Lead 56218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056219|156219|989898|1|9999056219|MR|Test|E|Lead 56219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056220|156220|989898|1|9999056220|MR|Test|E|Lead 56220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056221|156221|989898|1|9999056221|MR|Test|E|Lead 56221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056222|156222|989898|1|9999056222|MR|Test|E|Lead 56222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056223|156223|989898|1|9999056223|MR|Test|E|Lead 56223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056224|156224|989898|1|9999056224|MR|Test|E|Lead 56224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056225|156225|989898|1|9999056225|MR|Test|E|Lead 56225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056226|156226|989898|1|9999056226|MR|Test|E|Lead 56226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056227|156227|989898|1|9999056227|MR|Test|E|Lead 56227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056228|156228|989898|1|9999056228|MR|Test|E|Lead 56228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056229|156229|989898|1|9999056229|MR|Test|E|Lead 56229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056230|156230|989898|1|9999056230|MR|Test|E|Lead 56230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056231|156231|989898|1|9999056231|MR|Test|E|Lead 56231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056232|156232|989898|1|9999056232|MR|Test|E|Lead 56232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056233|156233|989898|1|9999056233|MR|Test|E|Lead 56233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056234|156234|989898|1|9999056234|MR|Test|E|Lead 56234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056235|156235|989898|1|9999056235|MR|Test|E|Lead 56235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056236|156236|989898|1|9999056236|MR|Test|E|Lead 56236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056237|156237|989898|1|9999056237|MR|Test|E|Lead 56237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056238|156238|989898|1|9999056238|MR|Test|E|Lead 56238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056239|156239|989898|1|9999056239|MR|Test|E|Lead 56239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056240|156240|989898|1|9999056240|MR|Test|E|Lead 56240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056241|156241|989898|1|9999056241|MR|Test|E|Lead 56241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056242|156242|989898|1|9999056242|MR|Test|E|Lead 56242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056243|156243|989898|1|9999056243|MR|Test|E|Lead 56243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056244|156244|989898|1|9999056244|MR|Test|E|Lead 56244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056245|156245|989898|1|9999056245|MR|Test|E|Lead 56245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056246|156246|989898|1|9999056246|MR|Test|E|Lead 56246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056247|156247|989898|1|9999056247|MR|Test|E|Lead 56247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056248|156248|989898|1|9999056248|MR|Test|E|Lead 56248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056249|156249|989898|1|9999056249|MR|Test|E|Lead 56249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056250|156250|989898|1|9999056250|MR|Test|E|Lead 56250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056251|156251|989898|1|9999056251|MR|Test|E|Lead 56251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056252|156252|989898|1|9999056252|MR|Test|E|Lead 56252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056253|156253|989898|1|9999056253|MR|Test|E|Lead 56253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056254|156254|989898|1|9999056254|MR|Test|E|Lead 56254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056255|156255|989898|1|9999056255|MR|Test|E|Lead 56255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056256|156256|989898|1|9999056256|MR|Test|E|Lead 56256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056257|156257|989898|1|9999056257|MR|Test|E|Lead 56257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056258|156258|989898|1|9999056258|MR|Test|E|Lead 56258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056259|156259|989898|1|9999056259|MR|Test|E|Lead 56259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056260|156260|989898|1|9999056260|MR|Test|E|Lead 56260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056261|156261|989898|1|9999056261|MR|Test|E|Lead 56261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056262|156262|989898|1|9999056262|MR|Test|E|Lead 56262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056263|156263|989898|1|9999056263|MR|Test|E|Lead 56263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056264|156264|989898|1|9999056264|MR|Test|E|Lead 56264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056265|156265|989898|1|9999056265|MR|Test|E|Lead 56265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056266|156266|989898|1|9999056266|MR|Test|E|Lead 56266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056267|156267|989898|1|9999056267|MR|Test|E|Lead 56267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056268|156268|989898|1|9999056268|MR|Test|E|Lead 56268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056269|156269|989898|1|9999056269|MR|Test|E|Lead 56269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056270|156270|989898|1|9999056270|MR|Test|E|Lead 56270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056271|156271|989898|1|9999056271|MR|Test|E|Lead 56271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056272|156272|989898|1|9999056272|MR|Test|E|Lead 56272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056273|156273|989898|1|9999056273|MR|Test|E|Lead 56273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056274|156274|989898|1|9999056274|MR|Test|E|Lead 56274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056275|156275|989898|1|9999056275|MR|Test|E|Lead 56275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056276|156276|989898|1|9999056276|MR|Test|E|Lead 56276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056277|156277|989898|1|9999056277|MR|Test|E|Lead 56277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056278|156278|989898|1|9999056278|MR|Test|E|Lead 56278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056279|156279|989898|1|9999056279|MR|Test|E|Lead 56279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056280|156280|989898|1|9999056280|MR|Test|E|Lead 56280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056281|156281|989898|1|9999056281|MR|Test|E|Lead 56281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056282|156282|989898|1|9999056282|MR|Test|E|Lead 56282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056283|156283|989898|1|9999056283|MR|Test|E|Lead 56283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056284|156284|989898|1|9999056284|MR|Test|E|Lead 56284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056285|156285|989898|1|9999056285|MR|Test|E|Lead 56285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056286|156286|989898|1|9999056286|MR|Test|E|Lead 56286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056287|156287|989898|1|9999056287|MR|Test|E|Lead 56287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056288|156288|989898|1|9999056288|MR|Test|E|Lead 56288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056289|156289|989898|1|9999056289|MR|Test|E|Lead 56289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056290|156290|989898|1|9999056290|MR|Test|E|Lead 56290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056291|156291|989898|1|9999056291|MR|Test|E|Lead 56291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056292|156292|989898|1|9999056292|MR|Test|E|Lead 56292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056293|156293|989898|1|9999056293|MR|Test|E|Lead 56293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056294|156294|989898|1|9999056294|MR|Test|E|Lead 56294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056295|156295|989898|1|9999056295|MR|Test|E|Lead 56295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056296|156296|989898|1|9999056296|MR|Test|E|Lead 56296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056297|156297|989898|1|9999056297|MR|Test|E|Lead 56297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056298|156298|989898|1|9999056298|MR|Test|E|Lead 56298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056299|156299|989898|1|9999056299|MR|Test|E|Lead 56299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056300|156300|989898|1|9999056300|MR|Test|E|Lead 56300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056301|156301|989898|1|9999056301|MR|Test|E|Lead 56301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056302|156302|989898|1|9999056302|MR|Test|E|Lead 56302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056303|156303|989898|1|9999056303|MR|Test|E|Lead 56303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056304|156304|989898|1|9999056304|MR|Test|E|Lead 56304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056305|156305|989898|1|9999056305|MR|Test|E|Lead 56305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056306|156306|989898|1|9999056306|MR|Test|E|Lead 56306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056307|156307|989898|1|9999056307|MR|Test|E|Lead 56307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056308|156308|989898|1|9999056308|MR|Test|E|Lead 56308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056309|156309|989898|1|9999056309|MR|Test|E|Lead 56309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056310|156310|989898|1|9999056310|MR|Test|E|Lead 56310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056311|156311|989898|1|9999056311|MR|Test|E|Lead 56311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056312|156312|989898|1|9999056312|MR|Test|E|Lead 56312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056313|156313|989898|1|9999056313|MR|Test|E|Lead 56313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056314|156314|989898|1|9999056314|MR|Test|E|Lead 56314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056315|156315|989898|1|9999056315|MR|Test|E|Lead 56315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056316|156316|989898|1|9999056316|MR|Test|E|Lead 56316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056317|156317|989898|1|9999056317|MR|Test|E|Lead 56317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056318|156318|989898|1|9999056318|MR|Test|E|Lead 56318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056319|156319|989898|1|9999056319|MR|Test|E|Lead 56319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056320|156320|989898|1|9999056320|MR|Test|E|Lead 56320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056321|156321|989898|1|9999056321|MR|Test|E|Lead 56321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056322|156322|989898|1|9999056322|MR|Test|E|Lead 56322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056323|156323|989898|1|9999056323|MR|Test|E|Lead 56323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056324|156324|989898|1|9999056324|MR|Test|E|Lead 56324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056325|156325|989898|1|9999056325|MR|Test|E|Lead 56325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056326|156326|989898|1|9999056326|MR|Test|E|Lead 56326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056327|156327|989898|1|9999056327|MR|Test|E|Lead 56327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056328|156328|989898|1|9999056328|MR|Test|E|Lead 56328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056329|156329|989898|1|9999056329|MR|Test|E|Lead 56329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056330|156330|989898|1|9999056330|MR|Test|E|Lead 56330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056331|156331|989898|1|9999056331|MR|Test|E|Lead 56331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056332|156332|989898|1|9999056332|MR|Test|E|Lead 56332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056333|156333|989898|1|9999056333|MR|Test|E|Lead 56333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056334|156334|989898|1|9999056334|MR|Test|E|Lead 56334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056335|156335|989898|1|9999056335|MR|Test|E|Lead 56335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056336|156336|989898|1|9999056336|MR|Test|E|Lead 56336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056337|156337|989898|1|9999056337|MR|Test|E|Lead 56337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056338|156338|989898|1|9999056338|MR|Test|E|Lead 56338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056339|156339|989898|1|9999056339|MR|Test|E|Lead 56339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056340|156340|989898|1|9999056340|MR|Test|E|Lead 56340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056341|156341|989898|1|9999056341|MR|Test|E|Lead 56341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056342|156342|989898|1|9999056342|MR|Test|E|Lead 56342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056343|156343|989898|1|9999056343|MR|Test|E|Lead 56343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056344|156344|989898|1|9999056344|MR|Test|E|Lead 56344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056345|156345|989898|1|9999056345|MR|Test|E|Lead 56345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056346|156346|989898|1|9999056346|MR|Test|E|Lead 56346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056347|156347|989898|1|9999056347|MR|Test|E|Lead 56347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056348|156348|989898|1|9999056348|MR|Test|E|Lead 56348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056349|156349|989898|1|9999056349|MR|Test|E|Lead 56349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056350|156350|989898|1|9999056350|MR|Test|E|Lead 56350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056351|156351|989898|1|9999056351|MR|Test|E|Lead 56351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056352|156352|989898|1|9999056352|MR|Test|E|Lead 56352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056353|156353|989898|1|9999056353|MR|Test|E|Lead 56353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056354|156354|989898|1|9999056354|MR|Test|E|Lead 56354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056355|156355|989898|1|9999056355|MR|Test|E|Lead 56355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056356|156356|989898|1|9999056356|MR|Test|E|Lead 56356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056357|156357|989898|1|9999056357|MR|Test|E|Lead 56357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056358|156358|989898|1|9999056358|MR|Test|E|Lead 56358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056359|156359|989898|1|9999056359|MR|Test|E|Lead 56359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056360|156360|989898|1|9999056360|MR|Test|E|Lead 56360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056361|156361|989898|1|9999056361|MR|Test|E|Lead 56361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056362|156362|989898|1|9999056362|MR|Test|E|Lead 56362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056363|156363|989898|1|9999056363|MR|Test|E|Lead 56363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056364|156364|989898|1|9999056364|MR|Test|E|Lead 56364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056365|156365|989898|1|9999056365|MR|Test|E|Lead 56365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056366|156366|989898|1|9999056366|MR|Test|E|Lead 56366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056367|156367|989898|1|9999056367|MR|Test|E|Lead 56367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056368|156368|989898|1|9999056368|MR|Test|E|Lead 56368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056369|156369|989898|1|9999056369|MR|Test|E|Lead 56369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056370|156370|989898|1|9999056370|MR|Test|E|Lead 56370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056371|156371|989898|1|9999056371|MR|Test|E|Lead 56371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056372|156372|989898|1|9999056372|MR|Test|E|Lead 56372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056373|156373|989898|1|9999056373|MR|Test|E|Lead 56373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056374|156374|989898|1|9999056374|MR|Test|E|Lead 56374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056375|156375|989898|1|9999056375|MR|Test|E|Lead 56375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056376|156376|989898|1|9999056376|MR|Test|E|Lead 56376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056377|156377|989898|1|9999056377|MR|Test|E|Lead 56377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056378|156378|989898|1|9999056378|MR|Test|E|Lead 56378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056379|156379|989898|1|9999056379|MR|Test|E|Lead 56379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056380|156380|989898|1|9999056380|MR|Test|E|Lead 56380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056381|156381|989898|1|9999056381|MR|Test|E|Lead 56381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056382|156382|989898|1|9999056382|MR|Test|E|Lead 56382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056383|156383|989898|1|9999056383|MR|Test|E|Lead 56383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056384|156384|989898|1|9999056384|MR|Test|E|Lead 56384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056385|156385|989898|1|9999056385|MR|Test|E|Lead 56385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056386|156386|989898|1|9999056386|MR|Test|E|Lead 56386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056387|156387|989898|1|9999056387|MR|Test|E|Lead 56387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056388|156388|989898|1|9999056388|MR|Test|E|Lead 56388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056389|156389|989898|1|9999056389|MR|Test|E|Lead 56389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056390|156390|989898|1|9999056390|MR|Test|E|Lead 56390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056391|156391|989898|1|9999056391|MR|Test|E|Lead 56391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056392|156392|989898|1|9999056392|MR|Test|E|Lead 56392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056393|156393|989898|1|9999056393|MR|Test|E|Lead 56393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056394|156394|989898|1|9999056394|MR|Test|E|Lead 56394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056395|156395|989898|1|9999056395|MR|Test|E|Lead 56395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056396|156396|989898|1|9999056396|MR|Test|E|Lead 56396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056397|156397|989898|1|9999056397|MR|Test|E|Lead 56397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056398|156398|989898|1|9999056398|MR|Test|E|Lead 56398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056399|156399|989898|1|9999056399|MR|Test|E|Lead 56399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056400|156400|989898|1|9999056400|MR|Test|E|Lead 56400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056401|156401|989898|1|9999056401|MR|Test|E|Lead 56401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056402|156402|989898|1|9999056402|MR|Test|E|Lead 56402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056403|156403|989898|1|9999056403|MR|Test|E|Lead 56403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056404|156404|989898|1|9999056404|MR|Test|E|Lead 56404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056405|156405|989898|1|9999056405|MR|Test|E|Lead 56405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056406|156406|989898|1|9999056406|MR|Test|E|Lead 56406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056407|156407|989898|1|9999056407|MR|Test|E|Lead 56407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056408|156408|989898|1|9999056408|MR|Test|E|Lead 56408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056409|156409|989898|1|9999056409|MR|Test|E|Lead 56409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056410|156410|989898|1|9999056410|MR|Test|E|Lead 56410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056411|156411|989898|1|9999056411|MR|Test|E|Lead 56411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056412|156412|989898|1|9999056412|MR|Test|E|Lead 56412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056413|156413|989898|1|9999056413|MR|Test|E|Lead 56413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056414|156414|989898|1|9999056414|MR|Test|E|Lead 56414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056415|156415|989898|1|9999056415|MR|Test|E|Lead 56415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056416|156416|989898|1|9999056416|MR|Test|E|Lead 56416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056417|156417|989898|1|9999056417|MR|Test|E|Lead 56417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056418|156418|989898|1|9999056418|MR|Test|E|Lead 56418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056419|156419|989898|1|9999056419|MR|Test|E|Lead 56419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056420|156420|989898|1|9999056420|MR|Test|E|Lead 56420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056421|156421|989898|1|9999056421|MR|Test|E|Lead 56421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056422|156422|989898|1|9999056422|MR|Test|E|Lead 56422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056423|156423|989898|1|9999056423|MR|Test|E|Lead 56423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056424|156424|989898|1|9999056424|MR|Test|E|Lead 56424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056425|156425|989898|1|9999056425|MR|Test|E|Lead 56425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056426|156426|989898|1|9999056426|MR|Test|E|Lead 56426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056427|156427|989898|1|9999056427|MR|Test|E|Lead 56427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056428|156428|989898|1|9999056428|MR|Test|E|Lead 56428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056429|156429|989898|1|9999056429|MR|Test|E|Lead 56429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056430|156430|989898|1|9999056430|MR|Test|E|Lead 56430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056431|156431|989898|1|9999056431|MR|Test|E|Lead 56431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056432|156432|989898|1|9999056432|MR|Test|E|Lead 56432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056433|156433|989898|1|9999056433|MR|Test|E|Lead 56433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056434|156434|989898|1|9999056434|MR|Test|E|Lead 56434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056435|156435|989898|1|9999056435|MR|Test|E|Lead 56435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056436|156436|989898|1|9999056436|MR|Test|E|Lead 56436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056437|156437|989898|1|9999056437|MR|Test|E|Lead 56437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056438|156438|989898|1|9999056438|MR|Test|E|Lead 56438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056439|156439|989898|1|9999056439|MR|Test|E|Lead 56439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056440|156440|989898|1|9999056440|MR|Test|E|Lead 56440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056441|156441|989898|1|9999056441|MR|Test|E|Lead 56441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056442|156442|989898|1|9999056442|MR|Test|E|Lead 56442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056443|156443|989898|1|9999056443|MR|Test|E|Lead 56443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056444|156444|989898|1|9999056444|MR|Test|E|Lead 56444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056445|156445|989898|1|9999056445|MR|Test|E|Lead 56445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056446|156446|989898|1|9999056446|MR|Test|E|Lead 56446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056447|156447|989898|1|9999056447|MR|Test|E|Lead 56447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056448|156448|989898|1|9999056448|MR|Test|E|Lead 56448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056449|156449|989898|1|9999056449|MR|Test|E|Lead 56449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056450|156450|989898|1|9999056450|MR|Test|E|Lead 56450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056451|156451|989898|1|9999056451|MR|Test|E|Lead 56451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056452|156452|989898|1|9999056452|MR|Test|E|Lead 56452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056453|156453|989898|1|9999056453|MR|Test|E|Lead 56453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056454|156454|989898|1|9999056454|MR|Test|E|Lead 56454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056455|156455|989898|1|9999056455|MR|Test|E|Lead 56455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056456|156456|989898|1|9999056456|MR|Test|E|Lead 56456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056457|156457|989898|1|9999056457|MR|Test|E|Lead 56457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056458|156458|989898|1|9999056458|MR|Test|E|Lead 56458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056459|156459|989898|1|9999056459|MR|Test|E|Lead 56459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056460|156460|989898|1|9999056460|MR|Test|E|Lead 56460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056461|156461|989898|1|9999056461|MR|Test|E|Lead 56461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056462|156462|989898|1|9999056462|MR|Test|E|Lead 56462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056463|156463|989898|1|9999056463|MR|Test|E|Lead 56463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056464|156464|989898|1|9999056464|MR|Test|E|Lead 56464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056465|156465|989898|1|9999056465|MR|Test|E|Lead 56465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056466|156466|989898|1|9999056466|MR|Test|E|Lead 56466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056467|156467|989898|1|9999056467|MR|Test|E|Lead 56467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056468|156468|989898|1|9999056468|MR|Test|E|Lead 56468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056469|156469|989898|1|9999056469|MR|Test|E|Lead 56469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056470|156470|989898|1|9999056470|MR|Test|E|Lead 56470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056471|156471|989898|1|9999056471|MR|Test|E|Lead 56471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056472|156472|989898|1|9999056472|MR|Test|E|Lead 56472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056473|156473|989898|1|9999056473|MR|Test|E|Lead 56473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056474|156474|989898|1|9999056474|MR|Test|E|Lead 56474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056475|156475|989898|1|9999056475|MR|Test|E|Lead 56475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056476|156476|989898|1|9999056476|MR|Test|E|Lead 56476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056477|156477|989898|1|9999056477|MR|Test|E|Lead 56477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056478|156478|989898|1|9999056478|MR|Test|E|Lead 56478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056479|156479|989898|1|9999056479|MR|Test|E|Lead 56479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056480|156480|989898|1|9999056480|MR|Test|E|Lead 56480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056481|156481|989898|1|9999056481|MR|Test|E|Lead 56481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056482|156482|989898|1|9999056482|MR|Test|E|Lead 56482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056483|156483|989898|1|9999056483|MR|Test|E|Lead 56483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056484|156484|989898|1|9999056484|MR|Test|E|Lead 56484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056485|156485|989898|1|9999056485|MR|Test|E|Lead 56485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056486|156486|989898|1|9999056486|MR|Test|E|Lead 56486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056487|156487|989898|1|9999056487|MR|Test|E|Lead 56487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056488|156488|989898|1|9999056488|MR|Test|E|Lead 56488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056489|156489|989898|1|9999056489|MR|Test|E|Lead 56489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056490|156490|989898|1|9999056490|MR|Test|E|Lead 56490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056491|156491|989898|1|9999056491|MR|Test|E|Lead 56491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056492|156492|989898|1|9999056492|MR|Test|E|Lead 56492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056493|156493|989898|1|9999056493|MR|Test|E|Lead 56493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056494|156494|989898|1|9999056494|MR|Test|E|Lead 56494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056495|156495|989898|1|9999056495|MR|Test|E|Lead 56495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056496|156496|989898|1|9999056496|MR|Test|E|Lead 56496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056497|156497|989898|1|9999056497|MR|Test|E|Lead 56497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056498|156498|989898|1|9999056498|MR|Test|E|Lead 56498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056499|156499|989898|1|9999056499|MR|Test|E|Lead 56499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056500|156500|989898|1|9999056500|MR|Test|E|Lead 56500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056501|156501|989898|1|9999056501|MR|Test|E|Lead 56501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056502|156502|989898|1|9999056502|MR|Test|E|Lead 56502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056503|156503|989898|1|9999056503|MR|Test|E|Lead 56503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056504|156504|989898|1|9999056504|MR|Test|E|Lead 56504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056505|156505|989898|1|9999056505|MR|Test|E|Lead 56505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056506|156506|989898|1|9999056506|MR|Test|E|Lead 56506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056507|156507|989898|1|9999056507|MR|Test|E|Lead 56507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056508|156508|989898|1|9999056508|MR|Test|E|Lead 56508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056509|156509|989898|1|9999056509|MR|Test|E|Lead 56509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056510|156510|989898|1|9999056510|MR|Test|E|Lead 56510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056511|156511|989898|1|9999056511|MR|Test|E|Lead 56511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056512|156512|989898|1|9999056512|MR|Test|E|Lead 56512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056513|156513|989898|1|9999056513|MR|Test|E|Lead 56513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056514|156514|989898|1|9999056514|MR|Test|E|Lead 56514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056515|156515|989898|1|9999056515|MR|Test|E|Lead 56515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056516|156516|989898|1|9999056516|MR|Test|E|Lead 56516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056517|156517|989898|1|9999056517|MR|Test|E|Lead 56517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056518|156518|989898|1|9999056518|MR|Test|E|Lead 56518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056519|156519|989898|1|9999056519|MR|Test|E|Lead 56519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056520|156520|989898|1|9999056520|MR|Test|E|Lead 56520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056521|156521|989898|1|9999056521|MR|Test|E|Lead 56521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056522|156522|989898|1|9999056522|MR|Test|E|Lead 56522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056523|156523|989898|1|9999056523|MR|Test|E|Lead 56523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056524|156524|989898|1|9999056524|MR|Test|E|Lead 56524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056525|156525|989898|1|9999056525|MR|Test|E|Lead 56525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056526|156526|989898|1|9999056526|MR|Test|E|Lead 56526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056527|156527|989898|1|9999056527|MR|Test|E|Lead 56527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056528|156528|989898|1|9999056528|MR|Test|E|Lead 56528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056529|156529|989898|1|9999056529|MR|Test|E|Lead 56529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056530|156530|989898|1|9999056530|MR|Test|E|Lead 56530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056531|156531|989898|1|9999056531|MR|Test|E|Lead 56531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056532|156532|989898|1|9999056532|MR|Test|E|Lead 56532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056533|156533|989898|1|9999056533|MR|Test|E|Lead 56533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056534|156534|989898|1|9999056534|MR|Test|E|Lead 56534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056535|156535|989898|1|9999056535|MR|Test|E|Lead 56535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056536|156536|989898|1|9999056536|MR|Test|E|Lead 56536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056537|156537|989898|1|9999056537|MR|Test|E|Lead 56537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056538|156538|989898|1|9999056538|MR|Test|E|Lead 56538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056539|156539|989898|1|9999056539|MR|Test|E|Lead 56539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056540|156540|989898|1|9999056540|MR|Test|E|Lead 56540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056541|156541|989898|1|9999056541|MR|Test|E|Lead 56541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056542|156542|989898|1|9999056542|MR|Test|E|Lead 56542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056543|156543|989898|1|9999056543|MR|Test|E|Lead 56543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056544|156544|989898|1|9999056544|MR|Test|E|Lead 56544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056545|156545|989898|1|9999056545|MR|Test|E|Lead 56545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056546|156546|989898|1|9999056546|MR|Test|E|Lead 56546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056547|156547|989898|1|9999056547|MR|Test|E|Lead 56547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056548|156548|989898|1|9999056548|MR|Test|E|Lead 56548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056549|156549|989898|1|9999056549|MR|Test|E|Lead 56549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056550|156550|989898|1|9999056550|MR|Test|E|Lead 56550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056551|156551|989898|1|9999056551|MR|Test|E|Lead 56551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056552|156552|989898|1|9999056552|MR|Test|E|Lead 56552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056553|156553|989898|1|9999056553|MR|Test|E|Lead 56553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056554|156554|989898|1|9999056554|MR|Test|E|Lead 56554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056555|156555|989898|1|9999056555|MR|Test|E|Lead 56555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056556|156556|989898|1|9999056556|MR|Test|E|Lead 56556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056557|156557|989898|1|9999056557|MR|Test|E|Lead 56557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056558|156558|989898|1|9999056558|MR|Test|E|Lead 56558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056559|156559|989898|1|9999056559|MR|Test|E|Lead 56559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056560|156560|989898|1|9999056560|MR|Test|E|Lead 56560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056561|156561|989898|1|9999056561|MR|Test|E|Lead 56561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056562|156562|989898|1|9999056562|MR|Test|E|Lead 56562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056563|156563|989898|1|9999056563|MR|Test|E|Lead 56563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056564|156564|989898|1|9999056564|MR|Test|E|Lead 56564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056565|156565|989898|1|9999056565|MR|Test|E|Lead 56565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056566|156566|989898|1|9999056566|MR|Test|E|Lead 56566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056567|156567|989898|1|9999056567|MR|Test|E|Lead 56567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056568|156568|989898|1|9999056568|MR|Test|E|Lead 56568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056569|156569|989898|1|9999056569|MR|Test|E|Lead 56569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056570|156570|989898|1|9999056570|MR|Test|E|Lead 56570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056571|156571|989898|1|9999056571|MR|Test|E|Lead 56571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056572|156572|989898|1|9999056572|MR|Test|E|Lead 56572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056573|156573|989898|1|9999056573|MR|Test|E|Lead 56573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056574|156574|989898|1|9999056574|MR|Test|E|Lead 56574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056575|156575|989898|1|9999056575|MR|Test|E|Lead 56575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056576|156576|989898|1|9999056576|MR|Test|E|Lead 56576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056577|156577|989898|1|9999056577|MR|Test|E|Lead 56577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056578|156578|989898|1|9999056578|MR|Test|E|Lead 56578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056579|156579|989898|1|9999056579|MR|Test|E|Lead 56579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056580|156580|989898|1|9999056580|MR|Test|E|Lead 56580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056581|156581|989898|1|9999056581|MR|Test|E|Lead 56581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056582|156582|989898|1|9999056582|MR|Test|E|Lead 56582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056583|156583|989898|1|9999056583|MR|Test|E|Lead 56583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056584|156584|989898|1|9999056584|MR|Test|E|Lead 56584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056585|156585|989898|1|9999056585|MR|Test|E|Lead 56585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056586|156586|989898|1|9999056586|MR|Test|E|Lead 56586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056587|156587|989898|1|9999056587|MR|Test|E|Lead 56587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056588|156588|989898|1|9999056588|MR|Test|E|Lead 56588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056589|156589|989898|1|9999056589|MR|Test|E|Lead 56589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056590|156590|989898|1|9999056590|MR|Test|E|Lead 56590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056591|156591|989898|1|9999056591|MR|Test|E|Lead 56591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056592|156592|989898|1|9999056592|MR|Test|E|Lead 56592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056593|156593|989898|1|9999056593|MR|Test|E|Lead 56593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056594|156594|989898|1|9999056594|MR|Test|E|Lead 56594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056595|156595|989898|1|9999056595|MR|Test|E|Lead 56595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056596|156596|989898|1|9999056596|MR|Test|E|Lead 56596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056597|156597|989898|1|9999056597|MR|Test|E|Lead 56597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056598|156598|989898|1|9999056598|MR|Test|E|Lead 56598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056599|156599|989898|1|9999056599|MR|Test|E|Lead 56599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056600|156600|989898|1|9999056600|MR|Test|E|Lead 56600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056601|156601|989898|1|9999056601|MR|Test|E|Lead 56601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056602|156602|989898|1|9999056602|MR|Test|E|Lead 56602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056603|156603|989898|1|9999056603|MR|Test|E|Lead 56603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056604|156604|989898|1|9999056604|MR|Test|E|Lead 56604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056605|156605|989898|1|9999056605|MR|Test|E|Lead 56605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056606|156606|989898|1|9999056606|MR|Test|E|Lead 56606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056607|156607|989898|1|9999056607|MR|Test|E|Lead 56607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056608|156608|989898|1|9999056608|MR|Test|E|Lead 56608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056609|156609|989898|1|9999056609|MR|Test|E|Lead 56609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056610|156610|989898|1|9999056610|MR|Test|E|Lead 56610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056611|156611|989898|1|9999056611|MR|Test|E|Lead 56611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056612|156612|989898|1|9999056612|MR|Test|E|Lead 56612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056613|156613|989898|1|9999056613|MR|Test|E|Lead 56613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056614|156614|989898|1|9999056614|MR|Test|E|Lead 56614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056615|156615|989898|1|9999056615|MR|Test|E|Lead 56615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056616|156616|989898|1|9999056616|MR|Test|E|Lead 56616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056617|156617|989898|1|9999056617|MR|Test|E|Lead 56617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056618|156618|989898|1|9999056618|MR|Test|E|Lead 56618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056619|156619|989898|1|9999056619|MR|Test|E|Lead 56619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056620|156620|989898|1|9999056620|MR|Test|E|Lead 56620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056621|156621|989898|1|9999056621|MR|Test|E|Lead 56621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056622|156622|989898|1|9999056622|MR|Test|E|Lead 56622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056623|156623|989898|1|9999056623|MR|Test|E|Lead 56623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056624|156624|989898|1|9999056624|MR|Test|E|Lead 56624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056625|156625|989898|1|9999056625|MR|Test|E|Lead 56625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056626|156626|989898|1|9999056626|MR|Test|E|Lead 56626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056627|156627|989898|1|9999056627|MR|Test|E|Lead 56627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056628|156628|989898|1|9999056628|MR|Test|E|Lead 56628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056629|156629|989898|1|9999056629|MR|Test|E|Lead 56629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056630|156630|989898|1|9999056630|MR|Test|E|Lead 56630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056631|156631|989898|1|9999056631|MR|Test|E|Lead 56631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056632|156632|989898|1|9999056632|MR|Test|E|Lead 56632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056633|156633|989898|1|9999056633|MR|Test|E|Lead 56633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056634|156634|989898|1|9999056634|MR|Test|E|Lead 56634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056635|156635|989898|1|9999056635|MR|Test|E|Lead 56635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056636|156636|989898|1|9999056636|MR|Test|E|Lead 56636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056637|156637|989898|1|9999056637|MR|Test|E|Lead 56637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056638|156638|989898|1|9999056638|MR|Test|E|Lead 56638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056639|156639|989898|1|9999056639|MR|Test|E|Lead 56639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056640|156640|989898|1|9999056640|MR|Test|E|Lead 56640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056641|156641|989898|1|9999056641|MR|Test|E|Lead 56641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056642|156642|989898|1|9999056642|MR|Test|E|Lead 56642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056643|156643|989898|1|9999056643|MR|Test|E|Lead 56643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056644|156644|989898|1|9999056644|MR|Test|E|Lead 56644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056645|156645|989898|1|9999056645|MR|Test|E|Lead 56645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056646|156646|989898|1|9999056646|MR|Test|E|Lead 56646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056647|156647|989898|1|9999056647|MR|Test|E|Lead 56647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056648|156648|989898|1|9999056648|MR|Test|E|Lead 56648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056649|156649|989898|1|9999056649|MR|Test|E|Lead 56649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056650|156650|989898|1|9999056650|MR|Test|E|Lead 56650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056651|156651|989898|1|9999056651|MR|Test|E|Lead 56651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056652|156652|989898|1|9999056652|MR|Test|E|Lead 56652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056653|156653|989898|1|9999056653|MR|Test|E|Lead 56653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056654|156654|989898|1|9999056654|MR|Test|E|Lead 56654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056655|156655|989898|1|9999056655|MR|Test|E|Lead 56655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056656|156656|989898|1|9999056656|MR|Test|E|Lead 56656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056657|156657|989898|1|9999056657|MR|Test|E|Lead 56657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056658|156658|989898|1|9999056658|MR|Test|E|Lead 56658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056659|156659|989898|1|9999056659|MR|Test|E|Lead 56659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056660|156660|989898|1|9999056660|MR|Test|E|Lead 56660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056661|156661|989898|1|9999056661|MR|Test|E|Lead 56661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056662|156662|989898|1|9999056662|MR|Test|E|Lead 56662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056663|156663|989898|1|9999056663|MR|Test|E|Lead 56663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056664|156664|989898|1|9999056664|MR|Test|E|Lead 56664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056665|156665|989898|1|9999056665|MR|Test|E|Lead 56665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056666|156666|989898|1|9999056666|MR|Test|E|Lead 56666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056667|156667|989898|1|9999056667|MR|Test|E|Lead 56667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056668|156668|989898|1|9999056668|MR|Test|E|Lead 56668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056669|156669|989898|1|9999056669|MR|Test|E|Lead 56669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056670|156670|989898|1|9999056670|MR|Test|E|Lead 56670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056671|156671|989898|1|9999056671|MR|Test|E|Lead 56671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056672|156672|989898|1|9999056672|MR|Test|E|Lead 56672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056673|156673|989898|1|9999056673|MR|Test|E|Lead 56673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056674|156674|989898|1|9999056674|MR|Test|E|Lead 56674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056675|156675|989898|1|9999056675|MR|Test|E|Lead 56675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056676|156676|989898|1|9999056676|MR|Test|E|Lead 56676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056677|156677|989898|1|9999056677|MR|Test|E|Lead 56677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056678|156678|989898|1|9999056678|MR|Test|E|Lead 56678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056679|156679|989898|1|9999056679|MR|Test|E|Lead 56679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056680|156680|989898|1|9999056680|MR|Test|E|Lead 56680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056681|156681|989898|1|9999056681|MR|Test|E|Lead 56681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056682|156682|989898|1|9999056682|MR|Test|E|Lead 56682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056683|156683|989898|1|9999056683|MR|Test|E|Lead 56683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056684|156684|989898|1|9999056684|MR|Test|E|Lead 56684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056685|156685|989898|1|9999056685|MR|Test|E|Lead 56685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056686|156686|989898|1|9999056686|MR|Test|E|Lead 56686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056687|156687|989898|1|9999056687|MR|Test|E|Lead 56687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056688|156688|989898|1|9999056688|MR|Test|E|Lead 56688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056689|156689|989898|1|9999056689|MR|Test|E|Lead 56689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056690|156690|989898|1|9999056690|MR|Test|E|Lead 56690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056691|156691|989898|1|9999056691|MR|Test|E|Lead 56691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056692|156692|989898|1|9999056692|MR|Test|E|Lead 56692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056693|156693|989898|1|9999056693|MR|Test|E|Lead 56693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056694|156694|989898|1|9999056694|MR|Test|E|Lead 56694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056695|156695|989898|1|9999056695|MR|Test|E|Lead 56695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056696|156696|989898|1|9999056696|MR|Test|E|Lead 56696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056697|156697|989898|1|9999056697|MR|Test|E|Lead 56697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056698|156698|989898|1|9999056698|MR|Test|E|Lead 56698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056699|156699|989898|1|9999056699|MR|Test|E|Lead 56699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056700|156700|989898|1|9999056700|MR|Test|E|Lead 56700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056701|156701|989898|1|9999056701|MR|Test|E|Lead 56701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056702|156702|989898|1|9999056702|MR|Test|E|Lead 56702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056703|156703|989898|1|9999056703|MR|Test|E|Lead 56703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056704|156704|989898|1|9999056704|MR|Test|E|Lead 56704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056705|156705|989898|1|9999056705|MR|Test|E|Lead 56705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056706|156706|989898|1|9999056706|MR|Test|E|Lead 56706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056707|156707|989898|1|9999056707|MR|Test|E|Lead 56707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056708|156708|989898|1|9999056708|MR|Test|E|Lead 56708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056709|156709|989898|1|9999056709|MR|Test|E|Lead 56709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056710|156710|989898|1|9999056710|MR|Test|E|Lead 56710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056711|156711|989898|1|9999056711|MR|Test|E|Lead 56711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056712|156712|989898|1|9999056712|MR|Test|E|Lead 56712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056713|156713|989898|1|9999056713|MR|Test|E|Lead 56713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056714|156714|989898|1|9999056714|MR|Test|E|Lead 56714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056715|156715|989898|1|9999056715|MR|Test|E|Lead 56715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056716|156716|989898|1|9999056716|MR|Test|E|Lead 56716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056717|156717|989898|1|9999056717|MR|Test|E|Lead 56717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056718|156718|989898|1|9999056718|MR|Test|E|Lead 56718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056719|156719|989898|1|9999056719|MR|Test|E|Lead 56719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056720|156720|989898|1|9999056720|MR|Test|E|Lead 56720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056721|156721|989898|1|9999056721|MR|Test|E|Lead 56721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056722|156722|989898|1|9999056722|MR|Test|E|Lead 56722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056723|156723|989898|1|9999056723|MR|Test|E|Lead 56723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056724|156724|989898|1|9999056724|MR|Test|E|Lead 56724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056725|156725|989898|1|9999056725|MR|Test|E|Lead 56725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056726|156726|989898|1|9999056726|MR|Test|E|Lead 56726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056727|156727|989898|1|9999056727|MR|Test|E|Lead 56727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056728|156728|989898|1|9999056728|MR|Test|E|Lead 56728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056729|156729|989898|1|9999056729|MR|Test|E|Lead 56729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056730|156730|989898|1|9999056730|MR|Test|E|Lead 56730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056731|156731|989898|1|9999056731|MR|Test|E|Lead 56731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056732|156732|989898|1|9999056732|MR|Test|E|Lead 56732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056733|156733|989898|1|9999056733|MR|Test|E|Lead 56733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056734|156734|989898|1|9999056734|MR|Test|E|Lead 56734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056735|156735|989898|1|9999056735|MR|Test|E|Lead 56735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056736|156736|989898|1|9999056736|MR|Test|E|Lead 56736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056737|156737|989898|1|9999056737|MR|Test|E|Lead 56737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056738|156738|989898|1|9999056738|MR|Test|E|Lead 56738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056739|156739|989898|1|9999056739|MR|Test|E|Lead 56739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056740|156740|989898|1|9999056740|MR|Test|E|Lead 56740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056741|156741|989898|1|9999056741|MR|Test|E|Lead 56741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056742|156742|989898|1|9999056742|MR|Test|E|Lead 56742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056743|156743|989898|1|9999056743|MR|Test|E|Lead 56743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056744|156744|989898|1|9999056744|MR|Test|E|Lead 56744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056745|156745|989898|1|9999056745|MR|Test|E|Lead 56745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056746|156746|989898|1|9999056746|MR|Test|E|Lead 56746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056747|156747|989898|1|9999056747|MR|Test|E|Lead 56747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056748|156748|989898|1|9999056748|MR|Test|E|Lead 56748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056749|156749|989898|1|9999056749|MR|Test|E|Lead 56749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056750|156750|989898|1|9999056750|MR|Test|E|Lead 56750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056751|156751|989898|1|9999056751|MR|Test|E|Lead 56751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056752|156752|989898|1|9999056752|MR|Test|E|Lead 56752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056753|156753|989898|1|9999056753|MR|Test|E|Lead 56753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056754|156754|989898|1|9999056754|MR|Test|E|Lead 56754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056755|156755|989898|1|9999056755|MR|Test|E|Lead 56755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056756|156756|989898|1|9999056756|MR|Test|E|Lead 56756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056757|156757|989898|1|9999056757|MR|Test|E|Lead 56757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056758|156758|989898|1|9999056758|MR|Test|E|Lead 56758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056759|156759|989898|1|9999056759|MR|Test|E|Lead 56759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056760|156760|989898|1|9999056760|MR|Test|E|Lead 56760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056761|156761|989898|1|9999056761|MR|Test|E|Lead 56761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056762|156762|989898|1|9999056762|MR|Test|E|Lead 56762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056763|156763|989898|1|9999056763|MR|Test|E|Lead 56763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056764|156764|989898|1|9999056764|MR|Test|E|Lead 56764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056765|156765|989898|1|9999056765|MR|Test|E|Lead 56765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056766|156766|989898|1|9999056766|MR|Test|E|Lead 56766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056767|156767|989898|1|9999056767|MR|Test|E|Lead 56767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056768|156768|989898|1|9999056768|MR|Test|E|Lead 56768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056769|156769|989898|1|9999056769|MR|Test|E|Lead 56769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056770|156770|989898|1|9999056770|MR|Test|E|Lead 56770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056771|156771|989898|1|9999056771|MR|Test|E|Lead 56771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056772|156772|989898|1|9999056772|MR|Test|E|Lead 56772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056773|156773|989898|1|9999056773|MR|Test|E|Lead 56773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056774|156774|989898|1|9999056774|MR|Test|E|Lead 56774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056775|156775|989898|1|9999056775|MR|Test|E|Lead 56775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056776|156776|989898|1|9999056776|MR|Test|E|Lead 56776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056777|156777|989898|1|9999056777|MR|Test|E|Lead 56777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056778|156778|989898|1|9999056778|MR|Test|E|Lead 56778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056779|156779|989898|1|9999056779|MR|Test|E|Lead 56779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056780|156780|989898|1|9999056780|MR|Test|E|Lead 56780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056781|156781|989898|1|9999056781|MR|Test|E|Lead 56781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056782|156782|989898|1|9999056782|MR|Test|E|Lead 56782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056783|156783|989898|1|9999056783|MR|Test|E|Lead 56783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056784|156784|989898|1|9999056784|MR|Test|E|Lead 56784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056785|156785|989898|1|9999056785|MR|Test|E|Lead 56785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056786|156786|989898|1|9999056786|MR|Test|E|Lead 56786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056787|156787|989898|1|9999056787|MR|Test|E|Lead 56787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056788|156788|989898|1|9999056788|MR|Test|E|Lead 56788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056789|156789|989898|1|9999056789|MR|Test|E|Lead 56789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056790|156790|989898|1|9999056790|MR|Test|E|Lead 56790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056791|156791|989898|1|9999056791|MR|Test|E|Lead 56791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056792|156792|989898|1|9999056792|MR|Test|E|Lead 56792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056793|156793|989898|1|9999056793|MR|Test|E|Lead 56793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056794|156794|989898|1|9999056794|MR|Test|E|Lead 56794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056795|156795|989898|1|9999056795|MR|Test|E|Lead 56795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056796|156796|989898|1|9999056796|MR|Test|E|Lead 56796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056797|156797|989898|1|9999056797|MR|Test|E|Lead 56797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056798|156798|989898|1|9999056798|MR|Test|E|Lead 56798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056799|156799|989898|1|9999056799|MR|Test|E|Lead 56799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056800|156800|989898|1|9999056800|MR|Test|E|Lead 56800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056801|156801|989898|1|9999056801|MR|Test|E|Lead 56801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056802|156802|989898|1|9999056802|MR|Test|E|Lead 56802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056803|156803|989898|1|9999056803|MR|Test|E|Lead 56803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056804|156804|989898|1|9999056804|MR|Test|E|Lead 56804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056805|156805|989898|1|9999056805|MR|Test|E|Lead 56805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056806|156806|989898|1|9999056806|MR|Test|E|Lead 56806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056807|156807|989898|1|9999056807|MR|Test|E|Lead 56807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056808|156808|989898|1|9999056808|MR|Test|E|Lead 56808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056809|156809|989898|1|9999056809|MR|Test|E|Lead 56809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056810|156810|989898|1|9999056810|MR|Test|E|Lead 56810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056811|156811|989898|1|9999056811|MR|Test|E|Lead 56811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056812|156812|989898|1|9999056812|MR|Test|E|Lead 56812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056813|156813|989898|1|9999056813|MR|Test|E|Lead 56813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056814|156814|989898|1|9999056814|MR|Test|E|Lead 56814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056815|156815|989898|1|9999056815|MR|Test|E|Lead 56815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056816|156816|989898|1|9999056816|MR|Test|E|Lead 56816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056817|156817|989898|1|9999056817|MR|Test|E|Lead 56817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056818|156818|989898|1|9999056818|MR|Test|E|Lead 56818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056819|156819|989898|1|9999056819|MR|Test|E|Lead 56819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056820|156820|989898|1|9999056820|MR|Test|E|Lead 56820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056821|156821|989898|1|9999056821|MR|Test|E|Lead 56821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056822|156822|989898|1|9999056822|MR|Test|E|Lead 56822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056823|156823|989898|1|9999056823|MR|Test|E|Lead 56823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056824|156824|989898|1|9999056824|MR|Test|E|Lead 56824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056825|156825|989898|1|9999056825|MR|Test|E|Lead 56825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056826|156826|989898|1|9999056826|MR|Test|E|Lead 56826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056827|156827|989898|1|9999056827|MR|Test|E|Lead 56827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056828|156828|989898|1|9999056828|MR|Test|E|Lead 56828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056829|156829|989898|1|9999056829|MR|Test|E|Lead 56829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056830|156830|989898|1|9999056830|MR|Test|E|Lead 56830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056831|156831|989898|1|9999056831|MR|Test|E|Lead 56831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056832|156832|989898|1|9999056832|MR|Test|E|Lead 56832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056833|156833|989898|1|9999056833|MR|Test|E|Lead 56833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056834|156834|989898|1|9999056834|MR|Test|E|Lead 56834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056835|156835|989898|1|9999056835|MR|Test|E|Lead 56835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056836|156836|989898|1|9999056836|MR|Test|E|Lead 56836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056837|156837|989898|1|9999056837|MR|Test|E|Lead 56837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056838|156838|989898|1|9999056838|MR|Test|E|Lead 56838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056839|156839|989898|1|9999056839|MR|Test|E|Lead 56839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056840|156840|989898|1|9999056840|MR|Test|E|Lead 56840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056841|156841|989898|1|9999056841|MR|Test|E|Lead 56841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056842|156842|989898|1|9999056842|MR|Test|E|Lead 56842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056843|156843|989898|1|9999056843|MR|Test|E|Lead 56843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056844|156844|989898|1|9999056844|MR|Test|E|Lead 56844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056845|156845|989898|1|9999056845|MR|Test|E|Lead 56845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056846|156846|989898|1|9999056846|MR|Test|E|Lead 56846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056847|156847|989898|1|9999056847|MR|Test|E|Lead 56847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056848|156848|989898|1|9999056848|MR|Test|E|Lead 56848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056849|156849|989898|1|9999056849|MR|Test|E|Lead 56849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056850|156850|989898|1|9999056850|MR|Test|E|Lead 56850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056851|156851|989898|1|9999056851|MR|Test|E|Lead 56851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056852|156852|989898|1|9999056852|MR|Test|E|Lead 56852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056853|156853|989898|1|9999056853|MR|Test|E|Lead 56853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056854|156854|989898|1|9999056854|MR|Test|E|Lead 56854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056855|156855|989898|1|9999056855|MR|Test|E|Lead 56855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056856|156856|989898|1|9999056856|MR|Test|E|Lead 56856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056857|156857|989898|1|9999056857|MR|Test|E|Lead 56857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056858|156858|989898|1|9999056858|MR|Test|E|Lead 56858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056859|156859|989898|1|9999056859|MR|Test|E|Lead 56859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056860|156860|989898|1|9999056860|MR|Test|E|Lead 56860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056861|156861|989898|1|9999056861|MR|Test|E|Lead 56861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056862|156862|989898|1|9999056862|MR|Test|E|Lead 56862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056863|156863|989898|1|9999056863|MR|Test|E|Lead 56863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056864|156864|989898|1|9999056864|MR|Test|E|Lead 56864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056865|156865|989898|1|9999056865|MR|Test|E|Lead 56865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056866|156866|989898|1|9999056866|MR|Test|E|Lead 56866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056867|156867|989898|1|9999056867|MR|Test|E|Lead 56867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056868|156868|989898|1|9999056868|MR|Test|E|Lead 56868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056869|156869|989898|1|9999056869|MR|Test|E|Lead 56869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056870|156870|989898|1|9999056870|MR|Test|E|Lead 56870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056871|156871|989898|1|9999056871|MR|Test|E|Lead 56871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056872|156872|989898|1|9999056872|MR|Test|E|Lead 56872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056873|156873|989898|1|9999056873|MR|Test|E|Lead 56873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056874|156874|989898|1|9999056874|MR|Test|E|Lead 56874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056875|156875|989898|1|9999056875|MR|Test|E|Lead 56875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056876|156876|989898|1|9999056876|MR|Test|E|Lead 56876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056877|156877|989898|1|9999056877|MR|Test|E|Lead 56877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056878|156878|989898|1|9999056878|MR|Test|E|Lead 56878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056879|156879|989898|1|9999056879|MR|Test|E|Lead 56879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056880|156880|989898|1|9999056880|MR|Test|E|Lead 56880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056881|156881|989898|1|9999056881|MR|Test|E|Lead 56881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056882|156882|989898|1|9999056882|MR|Test|E|Lead 56882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056883|156883|989898|1|9999056883|MR|Test|E|Lead 56883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056884|156884|989898|1|9999056884|MR|Test|E|Lead 56884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056885|156885|989898|1|9999056885|MR|Test|E|Lead 56885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056886|156886|989898|1|9999056886|MR|Test|E|Lead 56886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056887|156887|989898|1|9999056887|MR|Test|E|Lead 56887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056888|156888|989898|1|9999056888|MR|Test|E|Lead 56888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056889|156889|989898|1|9999056889|MR|Test|E|Lead 56889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056890|156890|989898|1|9999056890|MR|Test|E|Lead 56890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056891|156891|989898|1|9999056891|MR|Test|E|Lead 56891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056892|156892|989898|1|9999056892|MR|Test|E|Lead 56892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056893|156893|989898|1|9999056893|MR|Test|E|Lead 56893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056894|156894|989898|1|9999056894|MR|Test|E|Lead 56894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056895|156895|989898|1|9999056895|MR|Test|E|Lead 56895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056896|156896|989898|1|9999056896|MR|Test|E|Lead 56896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056897|156897|989898|1|9999056897|MR|Test|E|Lead 56897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056898|156898|989898|1|9999056898|MR|Test|E|Lead 56898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056899|156899|989898|1|9999056899|MR|Test|E|Lead 56899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056900|156900|989898|1|9999056900|MR|Test|E|Lead 56900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056901|156901|989898|1|9999056901|MR|Test|E|Lead 56901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056902|156902|989898|1|9999056902|MR|Test|E|Lead 56902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056903|156903|989898|1|9999056903|MR|Test|E|Lead 56903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056904|156904|989898|1|9999056904|MR|Test|E|Lead 56904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056905|156905|989898|1|9999056905|MR|Test|E|Lead 56905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056906|156906|989898|1|9999056906|MR|Test|E|Lead 56906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056907|156907|989898|1|9999056907|MR|Test|E|Lead 56907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056908|156908|989898|1|9999056908|MR|Test|E|Lead 56908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056909|156909|989898|1|9999056909|MR|Test|E|Lead 56909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056910|156910|989898|1|9999056910|MR|Test|E|Lead 56910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056911|156911|989898|1|9999056911|MR|Test|E|Lead 56911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056912|156912|989898|1|9999056912|MR|Test|E|Lead 56912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056913|156913|989898|1|9999056913|MR|Test|E|Lead 56913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056914|156914|989898|1|9999056914|MR|Test|E|Lead 56914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056915|156915|989898|1|9999056915|MR|Test|E|Lead 56915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056916|156916|989898|1|9999056916|MR|Test|E|Lead 56916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056917|156917|989898|1|9999056917|MR|Test|E|Lead 56917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056918|156918|989898|1|9999056918|MR|Test|E|Lead 56918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056919|156919|989898|1|9999056919|MR|Test|E|Lead 56919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056920|156920|989898|1|9999056920|MR|Test|E|Lead 56920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056921|156921|989898|1|9999056921|MR|Test|E|Lead 56921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056922|156922|989898|1|9999056922|MR|Test|E|Lead 56922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056923|156923|989898|1|9999056923|MR|Test|E|Lead 56923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056924|156924|989898|1|9999056924|MR|Test|E|Lead 56924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056925|156925|989898|1|9999056925|MR|Test|E|Lead 56925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056926|156926|989898|1|9999056926|MR|Test|E|Lead 56926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056927|156927|989898|1|9999056927|MR|Test|E|Lead 56927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056928|156928|989898|1|9999056928|MR|Test|E|Lead 56928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056929|156929|989898|1|9999056929|MR|Test|E|Lead 56929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056930|156930|989898|1|9999056930|MR|Test|E|Lead 56930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056931|156931|989898|1|9999056931|MR|Test|E|Lead 56931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056932|156932|989898|1|9999056932|MR|Test|E|Lead 56932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056933|156933|989898|1|9999056933|MR|Test|E|Lead 56933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056934|156934|989898|1|9999056934|MR|Test|E|Lead 56934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056935|156935|989898|1|9999056935|MR|Test|E|Lead 56935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056936|156936|989898|1|9999056936|MR|Test|E|Lead 56936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056937|156937|989898|1|9999056937|MR|Test|E|Lead 56937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056938|156938|989898|1|9999056938|MR|Test|E|Lead 56938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056939|156939|989898|1|9999056939|MR|Test|E|Lead 56939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056940|156940|989898|1|9999056940|MR|Test|E|Lead 56940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056941|156941|989898|1|9999056941|MR|Test|E|Lead 56941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056942|156942|989898|1|9999056942|MR|Test|E|Lead 56942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056943|156943|989898|1|9999056943|MR|Test|E|Lead 56943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056944|156944|989898|1|9999056944|MR|Test|E|Lead 56944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056945|156945|989898|1|9999056945|MR|Test|E|Lead 56945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056946|156946|989898|1|9999056946|MR|Test|E|Lead 56946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056947|156947|989898|1|9999056947|MR|Test|E|Lead 56947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056948|156948|989898|1|9999056948|MR|Test|E|Lead 56948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056949|156949|989898|1|9999056949|MR|Test|E|Lead 56949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056950|156950|989898|1|9999056950|MR|Test|E|Lead 56950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056951|156951|989898|1|9999056951|MR|Test|E|Lead 56951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056952|156952|989898|1|9999056952|MR|Test|E|Lead 56952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056953|156953|989898|1|9999056953|MR|Test|E|Lead 56953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056954|156954|989898|1|9999056954|MR|Test|E|Lead 56954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056955|156955|989898|1|9999056955|MR|Test|E|Lead 56955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056956|156956|989898|1|9999056956|MR|Test|E|Lead 56956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056957|156957|989898|1|9999056957|MR|Test|E|Lead 56957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056958|156958|989898|1|9999056958|MR|Test|E|Lead 56958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056959|156959|989898|1|9999056959|MR|Test|E|Lead 56959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056960|156960|989898|1|9999056960|MR|Test|E|Lead 56960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056961|156961|989898|1|9999056961|MR|Test|E|Lead 56961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056962|156962|989898|1|9999056962|MR|Test|E|Lead 56962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056963|156963|989898|1|9999056963|MR|Test|E|Lead 56963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056964|156964|989898|1|9999056964|MR|Test|E|Lead 56964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056965|156965|989898|1|9999056965|MR|Test|E|Lead 56965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056966|156966|989898|1|9999056966|MR|Test|E|Lead 56966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056967|156967|989898|1|9999056967|MR|Test|E|Lead 56967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056968|156968|989898|1|9999056968|MR|Test|E|Lead 56968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056969|156969|989898|1|9999056969|MR|Test|E|Lead 56969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056970|156970|989898|1|9999056970|MR|Test|E|Lead 56970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056971|156971|989898|1|9999056971|MR|Test|E|Lead 56971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056972|156972|989898|1|9999056972|MR|Test|E|Lead 56972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056973|156973|989898|1|9999056973|MR|Test|E|Lead 56973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056974|156974|989898|1|9999056974|MR|Test|E|Lead 56974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056975|156975|989898|1|9999056975|MR|Test|E|Lead 56975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056976|156976|989898|1|9999056976|MR|Test|E|Lead 56976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056977|156977|989898|1|9999056977|MR|Test|E|Lead 56977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056978|156978|989898|1|9999056978|MR|Test|E|Lead 56978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056979|156979|989898|1|9999056979|MR|Test|E|Lead 56979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056980|156980|989898|1|9999056980|MR|Test|E|Lead 56980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056981|156981|989898|1|9999056981|MR|Test|E|Lead 56981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056982|156982|989898|1|9999056982|MR|Test|E|Lead 56982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056983|156983|989898|1|9999056983|MR|Test|E|Lead 56983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056984|156984|989898|1|9999056984|MR|Test|E|Lead 56984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056985|156985|989898|1|9999056985|MR|Test|E|Lead 56985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056986|156986|989898|1|9999056986|MR|Test|E|Lead 56986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056987|156987|989898|1|9999056987|MR|Test|E|Lead 56987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056988|156988|989898|1|9999056988|MR|Test|E|Lead 56988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056989|156989|989898|1|9999056989|MR|Test|E|Lead 56989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056990|156990|989898|1|9999056990|MR|Test|E|Lead 56990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056991|156991|989898|1|9999056991|MR|Test|E|Lead 56991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056992|156992|989898|1|9999056992|MR|Test|E|Lead 56992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056993|156993|989898|1|9999056993|MR|Test|E|Lead 56993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056994|156994|989898|1|9999056994|MR|Test|E|Lead 56994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056995|156995|989898|1|9999056995|MR|Test|E|Lead 56995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056996|156996|989898|1|9999056996|MR|Test|E|Lead 56996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056997|156997|989898|1|9999056997|MR|Test|E|Lead 56997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056998|156998|989898|1|9999056998|MR|Test|E|Lead 56998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1056999|156999|989898|1|9999056999|MR|Test|E|Lead 56999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057000|157000|989898|1|9999057000|MR|Test|E|Lead 57000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057001|157001|989898|1|9999057001|MR|Test|E|Lead 57001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057002|157002|989898|1|9999057002|MR|Test|E|Lead 57002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057003|157003|989898|1|9999057003|MR|Test|E|Lead 57003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057004|157004|989898|1|9999057004|MR|Test|E|Lead 57004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057005|157005|989898|1|9999057005|MR|Test|E|Lead 57005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057006|157006|989898|1|9999057006|MR|Test|E|Lead 57006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057007|157007|989898|1|9999057007|MR|Test|E|Lead 57007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057008|157008|989898|1|9999057008|MR|Test|E|Lead 57008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057009|157009|989898|1|9999057009|MR|Test|E|Lead 57009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057010|157010|989898|1|9999057010|MR|Test|E|Lead 57010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057011|157011|989898|1|9999057011|MR|Test|E|Lead 57011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057012|157012|989898|1|9999057012|MR|Test|E|Lead 57012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057013|157013|989898|1|9999057013|MR|Test|E|Lead 57013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057014|157014|989898|1|9999057014|MR|Test|E|Lead 57014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057015|157015|989898|1|9999057015|MR|Test|E|Lead 57015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057016|157016|989898|1|9999057016|MR|Test|E|Lead 57016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057017|157017|989898|1|9999057017|MR|Test|E|Lead 57017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057018|157018|989898|1|9999057018|MR|Test|E|Lead 57018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057019|157019|989898|1|9999057019|MR|Test|E|Lead 57019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057020|157020|989898|1|9999057020|MR|Test|E|Lead 57020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057021|157021|989898|1|9999057021|MR|Test|E|Lead 57021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057022|157022|989898|1|9999057022|MR|Test|E|Lead 57022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057023|157023|989898|1|9999057023|MR|Test|E|Lead 57023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057024|157024|989898|1|9999057024|MR|Test|E|Lead 57024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057025|157025|989898|1|9999057025|MR|Test|E|Lead 57025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057026|157026|989898|1|9999057026|MR|Test|E|Lead 57026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057027|157027|989898|1|9999057027|MR|Test|E|Lead 57027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057028|157028|989898|1|9999057028|MR|Test|E|Lead 57028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057029|157029|989898|1|9999057029|MR|Test|E|Lead 57029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057030|157030|989898|1|9999057030|MR|Test|E|Lead 57030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057031|157031|989898|1|9999057031|MR|Test|E|Lead 57031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057032|157032|989898|1|9999057032|MR|Test|E|Lead 57032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057033|157033|989898|1|9999057033|MR|Test|E|Lead 57033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057034|157034|989898|1|9999057034|MR|Test|E|Lead 57034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057035|157035|989898|1|9999057035|MR|Test|E|Lead 57035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057036|157036|989898|1|9999057036|MR|Test|E|Lead 57036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057037|157037|989898|1|9999057037|MR|Test|E|Lead 57037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057038|157038|989898|1|9999057038|MR|Test|E|Lead 57038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057039|157039|989898|1|9999057039|MR|Test|E|Lead 57039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057040|157040|989898|1|9999057040|MR|Test|E|Lead 57040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057041|157041|989898|1|9999057041|MR|Test|E|Lead 57041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057042|157042|989898|1|9999057042|MR|Test|E|Lead 57042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057043|157043|989898|1|9999057043|MR|Test|E|Lead 57043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057044|157044|989898|1|9999057044|MR|Test|E|Lead 57044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057045|157045|989898|1|9999057045|MR|Test|E|Lead 57045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057046|157046|989898|1|9999057046|MR|Test|E|Lead 57046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057047|157047|989898|1|9999057047|MR|Test|E|Lead 57047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057048|157048|989898|1|9999057048|MR|Test|E|Lead 57048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057049|157049|989898|1|9999057049|MR|Test|E|Lead 57049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057050|157050|989898|1|9999057050|MR|Test|E|Lead 57050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057051|157051|989898|1|9999057051|MR|Test|E|Lead 57051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057052|157052|989898|1|9999057052|MR|Test|E|Lead 57052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057053|157053|989898|1|9999057053|MR|Test|E|Lead 57053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057054|157054|989898|1|9999057054|MR|Test|E|Lead 57054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057055|157055|989898|1|9999057055|MR|Test|E|Lead 57055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057056|157056|989898|1|9999057056|MR|Test|E|Lead 57056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057057|157057|989898|1|9999057057|MR|Test|E|Lead 57057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057058|157058|989898|1|9999057058|MR|Test|E|Lead 57058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057059|157059|989898|1|9999057059|MR|Test|E|Lead 57059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057060|157060|989898|1|9999057060|MR|Test|E|Lead 57060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057061|157061|989898|1|9999057061|MR|Test|E|Lead 57061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057062|157062|989898|1|9999057062|MR|Test|E|Lead 57062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057063|157063|989898|1|9999057063|MR|Test|E|Lead 57063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057064|157064|989898|1|9999057064|MR|Test|E|Lead 57064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057065|157065|989898|1|9999057065|MR|Test|E|Lead 57065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057066|157066|989898|1|9999057066|MR|Test|E|Lead 57066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057067|157067|989898|1|9999057067|MR|Test|E|Lead 57067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057068|157068|989898|1|9999057068|MR|Test|E|Lead 57068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057069|157069|989898|1|9999057069|MR|Test|E|Lead 57069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057070|157070|989898|1|9999057070|MR|Test|E|Lead 57070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057071|157071|989898|1|9999057071|MR|Test|E|Lead 57071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057072|157072|989898|1|9999057072|MR|Test|E|Lead 57072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057073|157073|989898|1|9999057073|MR|Test|E|Lead 57073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057074|157074|989898|1|9999057074|MR|Test|E|Lead 57074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057075|157075|989898|1|9999057075|MR|Test|E|Lead 57075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057076|157076|989898|1|9999057076|MR|Test|E|Lead 57076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057077|157077|989898|1|9999057077|MR|Test|E|Lead 57077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057078|157078|989898|1|9999057078|MR|Test|E|Lead 57078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057079|157079|989898|1|9999057079|MR|Test|E|Lead 57079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057080|157080|989898|1|9999057080|MR|Test|E|Lead 57080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057081|157081|989898|1|9999057081|MR|Test|E|Lead 57081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057082|157082|989898|1|9999057082|MR|Test|E|Lead 57082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057083|157083|989898|1|9999057083|MR|Test|E|Lead 57083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057084|157084|989898|1|9999057084|MR|Test|E|Lead 57084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057085|157085|989898|1|9999057085|MR|Test|E|Lead 57085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057086|157086|989898|1|9999057086|MR|Test|E|Lead 57086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057087|157087|989898|1|9999057087|MR|Test|E|Lead 57087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057088|157088|989898|1|9999057088|MR|Test|E|Lead 57088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057089|157089|989898|1|9999057089|MR|Test|E|Lead 57089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057090|157090|989898|1|9999057090|MR|Test|E|Lead 57090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057091|157091|989898|1|9999057091|MR|Test|E|Lead 57091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057092|157092|989898|1|9999057092|MR|Test|E|Lead 57092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057093|157093|989898|1|9999057093|MR|Test|E|Lead 57093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057094|157094|989898|1|9999057094|MR|Test|E|Lead 57094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057095|157095|989898|1|9999057095|MR|Test|E|Lead 57095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057096|157096|989898|1|9999057096|MR|Test|E|Lead 57096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057097|157097|989898|1|9999057097|MR|Test|E|Lead 57097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057098|157098|989898|1|9999057098|MR|Test|E|Lead 57098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057099|157099|989898|1|9999057099|MR|Test|E|Lead 57099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057100|157100|989898|1|9999057100|MR|Test|E|Lead 57100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057101|157101|989898|1|9999057101|MR|Test|E|Lead 57101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057102|157102|989898|1|9999057102|MR|Test|E|Lead 57102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057103|157103|989898|1|9999057103|MR|Test|E|Lead 57103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057104|157104|989898|1|9999057104|MR|Test|E|Lead 57104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057105|157105|989898|1|9999057105|MR|Test|E|Lead 57105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057106|157106|989898|1|9999057106|MR|Test|E|Lead 57106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057107|157107|989898|1|9999057107|MR|Test|E|Lead 57107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057108|157108|989898|1|9999057108|MR|Test|E|Lead 57108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057109|157109|989898|1|9999057109|MR|Test|E|Lead 57109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057110|157110|989898|1|9999057110|MR|Test|E|Lead 57110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057111|157111|989898|1|9999057111|MR|Test|E|Lead 57111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057112|157112|989898|1|9999057112|MR|Test|E|Lead 57112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057113|157113|989898|1|9999057113|MR|Test|E|Lead 57113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057114|157114|989898|1|9999057114|MR|Test|E|Lead 57114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057115|157115|989898|1|9999057115|MR|Test|E|Lead 57115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057116|157116|989898|1|9999057116|MR|Test|E|Lead 57116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057117|157117|989898|1|9999057117|MR|Test|E|Lead 57117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057118|157118|989898|1|9999057118|MR|Test|E|Lead 57118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057119|157119|989898|1|9999057119|MR|Test|E|Lead 57119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057120|157120|989898|1|9999057120|MR|Test|E|Lead 57120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057121|157121|989898|1|9999057121|MR|Test|E|Lead 57121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057122|157122|989898|1|9999057122|MR|Test|E|Lead 57122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057123|157123|989898|1|9999057123|MR|Test|E|Lead 57123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057124|157124|989898|1|9999057124|MR|Test|E|Lead 57124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057125|157125|989898|1|9999057125|MR|Test|E|Lead 57125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057126|157126|989898|1|9999057126|MR|Test|E|Lead 57126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057127|157127|989898|1|9999057127|MR|Test|E|Lead 57127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057128|157128|989898|1|9999057128|MR|Test|E|Lead 57128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057129|157129|989898|1|9999057129|MR|Test|E|Lead 57129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057130|157130|989898|1|9999057130|MR|Test|E|Lead 57130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057131|157131|989898|1|9999057131|MR|Test|E|Lead 57131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057132|157132|989898|1|9999057132|MR|Test|E|Lead 57132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057133|157133|989898|1|9999057133|MR|Test|E|Lead 57133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057134|157134|989898|1|9999057134|MR|Test|E|Lead 57134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057135|157135|989898|1|9999057135|MR|Test|E|Lead 57135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057136|157136|989898|1|9999057136|MR|Test|E|Lead 57136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057137|157137|989898|1|9999057137|MR|Test|E|Lead 57137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057138|157138|989898|1|9999057138|MR|Test|E|Lead 57138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057139|157139|989898|1|9999057139|MR|Test|E|Lead 57139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057140|157140|989898|1|9999057140|MR|Test|E|Lead 57140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057141|157141|989898|1|9999057141|MR|Test|E|Lead 57141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057142|157142|989898|1|9999057142|MR|Test|E|Lead 57142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057143|157143|989898|1|9999057143|MR|Test|E|Lead 57143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057144|157144|989898|1|9999057144|MR|Test|E|Lead 57144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057145|157145|989898|1|9999057145|MR|Test|E|Lead 57145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057146|157146|989898|1|9999057146|MR|Test|E|Lead 57146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057147|157147|989898|1|9999057147|MR|Test|E|Lead 57147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057148|157148|989898|1|9999057148|MR|Test|E|Lead 57148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057149|157149|989898|1|9999057149|MR|Test|E|Lead 57149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057150|157150|989898|1|9999057150|MR|Test|E|Lead 57150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057151|157151|989898|1|9999057151|MR|Test|E|Lead 57151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057152|157152|989898|1|9999057152|MR|Test|E|Lead 57152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057153|157153|989898|1|9999057153|MR|Test|E|Lead 57153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057154|157154|989898|1|9999057154|MR|Test|E|Lead 57154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057155|157155|989898|1|9999057155|MR|Test|E|Lead 57155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057156|157156|989898|1|9999057156|MR|Test|E|Lead 57156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057157|157157|989898|1|9999057157|MR|Test|E|Lead 57157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057158|157158|989898|1|9999057158|MR|Test|E|Lead 57158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057159|157159|989898|1|9999057159|MR|Test|E|Lead 57159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057160|157160|989898|1|9999057160|MR|Test|E|Lead 57160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057161|157161|989898|1|9999057161|MR|Test|E|Lead 57161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057162|157162|989898|1|9999057162|MR|Test|E|Lead 57162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057163|157163|989898|1|9999057163|MR|Test|E|Lead 57163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057164|157164|989898|1|9999057164|MR|Test|E|Lead 57164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057165|157165|989898|1|9999057165|MR|Test|E|Lead 57165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057166|157166|989898|1|9999057166|MR|Test|E|Lead 57166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057167|157167|989898|1|9999057167|MR|Test|E|Lead 57167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057168|157168|989898|1|9999057168|MR|Test|E|Lead 57168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057169|157169|989898|1|9999057169|MR|Test|E|Lead 57169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057170|157170|989898|1|9999057170|MR|Test|E|Lead 57170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057171|157171|989898|1|9999057171|MR|Test|E|Lead 57171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057172|157172|989898|1|9999057172|MR|Test|E|Lead 57172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057173|157173|989898|1|9999057173|MR|Test|E|Lead 57173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057174|157174|989898|1|9999057174|MR|Test|E|Lead 57174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057175|157175|989898|1|9999057175|MR|Test|E|Lead 57175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057176|157176|989898|1|9999057176|MR|Test|E|Lead 57176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057177|157177|989898|1|9999057177|MR|Test|E|Lead 57177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057178|157178|989898|1|9999057178|MR|Test|E|Lead 57178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057179|157179|989898|1|9999057179|MR|Test|E|Lead 57179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057180|157180|989898|1|9999057180|MR|Test|E|Lead 57180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057181|157181|989898|1|9999057181|MR|Test|E|Lead 57181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057182|157182|989898|1|9999057182|MR|Test|E|Lead 57182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057183|157183|989898|1|9999057183|MR|Test|E|Lead 57183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057184|157184|989898|1|9999057184|MR|Test|E|Lead 57184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057185|157185|989898|1|9999057185|MR|Test|E|Lead 57185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057186|157186|989898|1|9999057186|MR|Test|E|Lead 57186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057187|157187|989898|1|9999057187|MR|Test|E|Lead 57187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057188|157188|989898|1|9999057188|MR|Test|E|Lead 57188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057189|157189|989898|1|9999057189|MR|Test|E|Lead 57189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057190|157190|989898|1|9999057190|MR|Test|E|Lead 57190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057191|157191|989898|1|9999057191|MR|Test|E|Lead 57191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057192|157192|989898|1|9999057192|MR|Test|E|Lead 57192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057193|157193|989898|1|9999057193|MR|Test|E|Lead 57193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057194|157194|989898|1|9999057194|MR|Test|E|Lead 57194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057195|157195|989898|1|9999057195|MR|Test|E|Lead 57195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057196|157196|989898|1|9999057196|MR|Test|E|Lead 57196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057197|157197|989898|1|9999057197|MR|Test|E|Lead 57197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057198|157198|989898|1|9999057198|MR|Test|E|Lead 57198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057199|157199|989898|1|9999057199|MR|Test|E|Lead 57199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057200|157200|989898|1|9999057200|MR|Test|E|Lead 57200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057201|157201|989898|1|9999057201|MR|Test|E|Lead 57201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057202|157202|989898|1|9999057202|MR|Test|E|Lead 57202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057203|157203|989898|1|9999057203|MR|Test|E|Lead 57203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057204|157204|989898|1|9999057204|MR|Test|E|Lead 57204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057205|157205|989898|1|9999057205|MR|Test|E|Lead 57205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057206|157206|989898|1|9999057206|MR|Test|E|Lead 57206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057207|157207|989898|1|9999057207|MR|Test|E|Lead 57207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057208|157208|989898|1|9999057208|MR|Test|E|Lead 57208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057209|157209|989898|1|9999057209|MR|Test|E|Lead 57209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057210|157210|989898|1|9999057210|MR|Test|E|Lead 57210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057211|157211|989898|1|9999057211|MR|Test|E|Lead 57211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057212|157212|989898|1|9999057212|MR|Test|E|Lead 57212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057213|157213|989898|1|9999057213|MR|Test|E|Lead 57213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057214|157214|989898|1|9999057214|MR|Test|E|Lead 57214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057215|157215|989898|1|9999057215|MR|Test|E|Lead 57215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057216|157216|989898|1|9999057216|MR|Test|E|Lead 57216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057217|157217|989898|1|9999057217|MR|Test|E|Lead 57217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057218|157218|989898|1|9999057218|MR|Test|E|Lead 57218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057219|157219|989898|1|9999057219|MR|Test|E|Lead 57219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057220|157220|989898|1|9999057220|MR|Test|E|Lead 57220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057221|157221|989898|1|9999057221|MR|Test|E|Lead 57221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057222|157222|989898|1|9999057222|MR|Test|E|Lead 57222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057223|157223|989898|1|9999057223|MR|Test|E|Lead 57223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057224|157224|989898|1|9999057224|MR|Test|E|Lead 57224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057225|157225|989898|1|9999057225|MR|Test|E|Lead 57225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057226|157226|989898|1|9999057226|MR|Test|E|Lead 57226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057227|157227|989898|1|9999057227|MR|Test|E|Lead 57227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057228|157228|989898|1|9999057228|MR|Test|E|Lead 57228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057229|157229|989898|1|9999057229|MR|Test|E|Lead 57229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057230|157230|989898|1|9999057230|MR|Test|E|Lead 57230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057231|157231|989898|1|9999057231|MR|Test|E|Lead 57231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057232|157232|989898|1|9999057232|MR|Test|E|Lead 57232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057233|157233|989898|1|9999057233|MR|Test|E|Lead 57233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057234|157234|989898|1|9999057234|MR|Test|E|Lead 57234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057235|157235|989898|1|9999057235|MR|Test|E|Lead 57235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057236|157236|989898|1|9999057236|MR|Test|E|Lead 57236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057237|157237|989898|1|9999057237|MR|Test|E|Lead 57237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057238|157238|989898|1|9999057238|MR|Test|E|Lead 57238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057239|157239|989898|1|9999057239|MR|Test|E|Lead 57239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057240|157240|989898|1|9999057240|MR|Test|E|Lead 57240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057241|157241|989898|1|9999057241|MR|Test|E|Lead 57241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057242|157242|989898|1|9999057242|MR|Test|E|Lead 57242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057243|157243|989898|1|9999057243|MR|Test|E|Lead 57243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057244|157244|989898|1|9999057244|MR|Test|E|Lead 57244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057245|157245|989898|1|9999057245|MR|Test|E|Lead 57245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057246|157246|989898|1|9999057246|MR|Test|E|Lead 57246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057247|157247|989898|1|9999057247|MR|Test|E|Lead 57247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057248|157248|989898|1|9999057248|MR|Test|E|Lead 57248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057249|157249|989898|1|9999057249|MR|Test|E|Lead 57249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057250|157250|989898|1|9999057250|MR|Test|E|Lead 57250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057251|157251|989898|1|9999057251|MR|Test|E|Lead 57251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057252|157252|989898|1|9999057252|MR|Test|E|Lead 57252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057253|157253|989898|1|9999057253|MR|Test|E|Lead 57253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057254|157254|989898|1|9999057254|MR|Test|E|Lead 57254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057255|157255|989898|1|9999057255|MR|Test|E|Lead 57255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057256|157256|989898|1|9999057256|MR|Test|E|Lead 57256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057257|157257|989898|1|9999057257|MR|Test|E|Lead 57257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057258|157258|989898|1|9999057258|MR|Test|E|Lead 57258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057259|157259|989898|1|9999057259|MR|Test|E|Lead 57259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057260|157260|989898|1|9999057260|MR|Test|E|Lead 57260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057261|157261|989898|1|9999057261|MR|Test|E|Lead 57261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057262|157262|989898|1|9999057262|MR|Test|E|Lead 57262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057263|157263|989898|1|9999057263|MR|Test|E|Lead 57263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057264|157264|989898|1|9999057264|MR|Test|E|Lead 57264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057265|157265|989898|1|9999057265|MR|Test|E|Lead 57265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057266|157266|989898|1|9999057266|MR|Test|E|Lead 57266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057267|157267|989898|1|9999057267|MR|Test|E|Lead 57267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057268|157268|989898|1|9999057268|MR|Test|E|Lead 57268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057269|157269|989898|1|9999057269|MR|Test|E|Lead 57269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057270|157270|989898|1|9999057270|MR|Test|E|Lead 57270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057271|157271|989898|1|9999057271|MR|Test|E|Lead 57271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057272|157272|989898|1|9999057272|MR|Test|E|Lead 57272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057273|157273|989898|1|9999057273|MR|Test|E|Lead 57273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057274|157274|989898|1|9999057274|MR|Test|E|Lead 57274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057275|157275|989898|1|9999057275|MR|Test|E|Lead 57275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057276|157276|989898|1|9999057276|MR|Test|E|Lead 57276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057277|157277|989898|1|9999057277|MR|Test|E|Lead 57277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057278|157278|989898|1|9999057278|MR|Test|E|Lead 57278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057279|157279|989898|1|9999057279|MR|Test|E|Lead 57279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057280|157280|989898|1|9999057280|MR|Test|E|Lead 57280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057281|157281|989898|1|9999057281|MR|Test|E|Lead 57281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057282|157282|989898|1|9999057282|MR|Test|E|Lead 57282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057283|157283|989898|1|9999057283|MR|Test|E|Lead 57283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057284|157284|989898|1|9999057284|MR|Test|E|Lead 57284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057285|157285|989898|1|9999057285|MR|Test|E|Lead 57285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057286|157286|989898|1|9999057286|MR|Test|E|Lead 57286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057287|157287|989898|1|9999057287|MR|Test|E|Lead 57287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057288|157288|989898|1|9999057288|MR|Test|E|Lead 57288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057289|157289|989898|1|9999057289|MR|Test|E|Lead 57289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057290|157290|989898|1|9999057290|MR|Test|E|Lead 57290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057291|157291|989898|1|9999057291|MR|Test|E|Lead 57291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057292|157292|989898|1|9999057292|MR|Test|E|Lead 57292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057293|157293|989898|1|9999057293|MR|Test|E|Lead 57293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057294|157294|989898|1|9999057294|MR|Test|E|Lead 57294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057295|157295|989898|1|9999057295|MR|Test|E|Lead 57295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057296|157296|989898|1|9999057296|MR|Test|E|Lead 57296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057297|157297|989898|1|9999057297|MR|Test|E|Lead 57297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057298|157298|989898|1|9999057298|MR|Test|E|Lead 57298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057299|157299|989898|1|9999057299|MR|Test|E|Lead 57299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057300|157300|989898|1|9999057300|MR|Test|E|Lead 57300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057301|157301|989898|1|9999057301|MR|Test|E|Lead 57301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057302|157302|989898|1|9999057302|MR|Test|E|Lead 57302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057303|157303|989898|1|9999057303|MR|Test|E|Lead 57303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057304|157304|989898|1|9999057304|MR|Test|E|Lead 57304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057305|157305|989898|1|9999057305|MR|Test|E|Lead 57305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057306|157306|989898|1|9999057306|MR|Test|E|Lead 57306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057307|157307|989898|1|9999057307|MR|Test|E|Lead 57307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057308|157308|989898|1|9999057308|MR|Test|E|Lead 57308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057309|157309|989898|1|9999057309|MR|Test|E|Lead 57309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057310|157310|989898|1|9999057310|MR|Test|E|Lead 57310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057311|157311|989898|1|9999057311|MR|Test|E|Lead 57311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057312|157312|989898|1|9999057312|MR|Test|E|Lead 57312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057313|157313|989898|1|9999057313|MR|Test|E|Lead 57313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057314|157314|989898|1|9999057314|MR|Test|E|Lead 57314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057315|157315|989898|1|9999057315|MR|Test|E|Lead 57315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057316|157316|989898|1|9999057316|MR|Test|E|Lead 57316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057317|157317|989898|1|9999057317|MR|Test|E|Lead 57317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057318|157318|989898|1|9999057318|MR|Test|E|Lead 57318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057319|157319|989898|1|9999057319|MR|Test|E|Lead 57319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057320|157320|989898|1|9999057320|MR|Test|E|Lead 57320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057321|157321|989898|1|9999057321|MR|Test|E|Lead 57321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057322|157322|989898|1|9999057322|MR|Test|E|Lead 57322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057323|157323|989898|1|9999057323|MR|Test|E|Lead 57323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057324|157324|989898|1|9999057324|MR|Test|E|Lead 57324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057325|157325|989898|1|9999057325|MR|Test|E|Lead 57325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057326|157326|989898|1|9999057326|MR|Test|E|Lead 57326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057327|157327|989898|1|9999057327|MR|Test|E|Lead 57327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057328|157328|989898|1|9999057328|MR|Test|E|Lead 57328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057329|157329|989898|1|9999057329|MR|Test|E|Lead 57329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057330|157330|989898|1|9999057330|MR|Test|E|Lead 57330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057331|157331|989898|1|9999057331|MR|Test|E|Lead 57331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057332|157332|989898|1|9999057332|MR|Test|E|Lead 57332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057333|157333|989898|1|9999057333|MR|Test|E|Lead 57333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057334|157334|989898|1|9999057334|MR|Test|E|Lead 57334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057335|157335|989898|1|9999057335|MR|Test|E|Lead 57335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057336|157336|989898|1|9999057336|MR|Test|E|Lead 57336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057337|157337|989898|1|9999057337|MR|Test|E|Lead 57337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057338|157338|989898|1|9999057338|MR|Test|E|Lead 57338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057339|157339|989898|1|9999057339|MR|Test|E|Lead 57339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057340|157340|989898|1|9999057340|MR|Test|E|Lead 57340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057341|157341|989898|1|9999057341|MR|Test|E|Lead 57341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057342|157342|989898|1|9999057342|MR|Test|E|Lead 57342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057343|157343|989898|1|9999057343|MR|Test|E|Lead 57343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057344|157344|989898|1|9999057344|MR|Test|E|Lead 57344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057345|157345|989898|1|9999057345|MR|Test|E|Lead 57345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057346|157346|989898|1|9999057346|MR|Test|E|Lead 57346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057347|157347|989898|1|9999057347|MR|Test|E|Lead 57347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057348|157348|989898|1|9999057348|MR|Test|E|Lead 57348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057349|157349|989898|1|9999057349|MR|Test|E|Lead 57349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057350|157350|989898|1|9999057350|MR|Test|E|Lead 57350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057351|157351|989898|1|9999057351|MR|Test|E|Lead 57351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057352|157352|989898|1|9999057352|MR|Test|E|Lead 57352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057353|157353|989898|1|9999057353|MR|Test|E|Lead 57353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057354|157354|989898|1|9999057354|MR|Test|E|Lead 57354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057355|157355|989898|1|9999057355|MR|Test|E|Lead 57355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057356|157356|989898|1|9999057356|MR|Test|E|Lead 57356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057357|157357|989898|1|9999057357|MR|Test|E|Lead 57357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057358|157358|989898|1|9999057358|MR|Test|E|Lead 57358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057359|157359|989898|1|9999057359|MR|Test|E|Lead 57359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057360|157360|989898|1|9999057360|MR|Test|E|Lead 57360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057361|157361|989898|1|9999057361|MR|Test|E|Lead 57361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057362|157362|989898|1|9999057362|MR|Test|E|Lead 57362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057363|157363|989898|1|9999057363|MR|Test|E|Lead 57363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057364|157364|989898|1|9999057364|MR|Test|E|Lead 57364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057365|157365|989898|1|9999057365|MR|Test|E|Lead 57365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057366|157366|989898|1|9999057366|MR|Test|E|Lead 57366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057367|157367|989898|1|9999057367|MR|Test|E|Lead 57367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057368|157368|989898|1|9999057368|MR|Test|E|Lead 57368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057369|157369|989898|1|9999057369|MR|Test|E|Lead 57369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057370|157370|989898|1|9999057370|MR|Test|E|Lead 57370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057371|157371|989898|1|9999057371|MR|Test|E|Lead 57371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057372|157372|989898|1|9999057372|MR|Test|E|Lead 57372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057373|157373|989898|1|9999057373|MR|Test|E|Lead 57373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057374|157374|989898|1|9999057374|MR|Test|E|Lead 57374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057375|157375|989898|1|9999057375|MR|Test|E|Lead 57375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057376|157376|989898|1|9999057376|MR|Test|E|Lead 57376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057377|157377|989898|1|9999057377|MR|Test|E|Lead 57377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057378|157378|989898|1|9999057378|MR|Test|E|Lead 57378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057379|157379|989898|1|9999057379|MR|Test|E|Lead 57379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057380|157380|989898|1|9999057380|MR|Test|E|Lead 57380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057381|157381|989898|1|9999057381|MR|Test|E|Lead 57381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057382|157382|989898|1|9999057382|MR|Test|E|Lead 57382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057383|157383|989898|1|9999057383|MR|Test|E|Lead 57383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057384|157384|989898|1|9999057384|MR|Test|E|Lead 57384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057385|157385|989898|1|9999057385|MR|Test|E|Lead 57385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057386|157386|989898|1|9999057386|MR|Test|E|Lead 57386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057387|157387|989898|1|9999057387|MR|Test|E|Lead 57387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057388|157388|989898|1|9999057388|MR|Test|E|Lead 57388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057389|157389|989898|1|9999057389|MR|Test|E|Lead 57389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057390|157390|989898|1|9999057390|MR|Test|E|Lead 57390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057391|157391|989898|1|9999057391|MR|Test|E|Lead 57391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057392|157392|989898|1|9999057392|MR|Test|E|Lead 57392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057393|157393|989898|1|9999057393|MR|Test|E|Lead 57393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057394|157394|989898|1|9999057394|MR|Test|E|Lead 57394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057395|157395|989898|1|9999057395|MR|Test|E|Lead 57395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057396|157396|989898|1|9999057396|MR|Test|E|Lead 57396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057397|157397|989898|1|9999057397|MR|Test|E|Lead 57397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057398|157398|989898|1|9999057398|MR|Test|E|Lead 57398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057399|157399|989898|1|9999057399|MR|Test|E|Lead 57399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057400|157400|989898|1|9999057400|MR|Test|E|Lead 57400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057401|157401|989898|1|9999057401|MR|Test|E|Lead 57401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057402|157402|989898|1|9999057402|MR|Test|E|Lead 57402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057403|157403|989898|1|9999057403|MR|Test|E|Lead 57403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057404|157404|989898|1|9999057404|MR|Test|E|Lead 57404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057405|157405|989898|1|9999057405|MR|Test|E|Lead 57405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057406|157406|989898|1|9999057406|MR|Test|E|Lead 57406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057407|157407|989898|1|9999057407|MR|Test|E|Lead 57407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057408|157408|989898|1|9999057408|MR|Test|E|Lead 57408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057409|157409|989898|1|9999057409|MR|Test|E|Lead 57409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057410|157410|989898|1|9999057410|MR|Test|E|Lead 57410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057411|157411|989898|1|9999057411|MR|Test|E|Lead 57411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057412|157412|989898|1|9999057412|MR|Test|E|Lead 57412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057413|157413|989898|1|9999057413|MR|Test|E|Lead 57413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057414|157414|989898|1|9999057414|MR|Test|E|Lead 57414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057415|157415|989898|1|9999057415|MR|Test|E|Lead 57415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057416|157416|989898|1|9999057416|MR|Test|E|Lead 57416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057417|157417|989898|1|9999057417|MR|Test|E|Lead 57417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057418|157418|989898|1|9999057418|MR|Test|E|Lead 57418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057419|157419|989898|1|9999057419|MR|Test|E|Lead 57419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057420|157420|989898|1|9999057420|MR|Test|E|Lead 57420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057421|157421|989898|1|9999057421|MR|Test|E|Lead 57421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057422|157422|989898|1|9999057422|MR|Test|E|Lead 57422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057423|157423|989898|1|9999057423|MR|Test|E|Lead 57423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057424|157424|989898|1|9999057424|MR|Test|E|Lead 57424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057425|157425|989898|1|9999057425|MR|Test|E|Lead 57425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057426|157426|989898|1|9999057426|MR|Test|E|Lead 57426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057427|157427|989898|1|9999057427|MR|Test|E|Lead 57427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057428|157428|989898|1|9999057428|MR|Test|E|Lead 57428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057429|157429|989898|1|9999057429|MR|Test|E|Lead 57429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057430|157430|989898|1|9999057430|MR|Test|E|Lead 57430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057431|157431|989898|1|9999057431|MR|Test|E|Lead 57431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057432|157432|989898|1|9999057432|MR|Test|E|Lead 57432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057433|157433|989898|1|9999057433|MR|Test|E|Lead 57433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057434|157434|989898|1|9999057434|MR|Test|E|Lead 57434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057435|157435|989898|1|9999057435|MR|Test|E|Lead 57435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057436|157436|989898|1|9999057436|MR|Test|E|Lead 57436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057437|157437|989898|1|9999057437|MR|Test|E|Lead 57437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057438|157438|989898|1|9999057438|MR|Test|E|Lead 57438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057439|157439|989898|1|9999057439|MR|Test|E|Lead 57439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057440|157440|989898|1|9999057440|MR|Test|E|Lead 57440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057441|157441|989898|1|9999057441|MR|Test|E|Lead 57441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057442|157442|989898|1|9999057442|MR|Test|E|Lead 57442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057443|157443|989898|1|9999057443|MR|Test|E|Lead 57443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057444|157444|989898|1|9999057444|MR|Test|E|Lead 57444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057445|157445|989898|1|9999057445|MR|Test|E|Lead 57445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057446|157446|989898|1|9999057446|MR|Test|E|Lead 57446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057447|157447|989898|1|9999057447|MR|Test|E|Lead 57447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057448|157448|989898|1|9999057448|MR|Test|E|Lead 57448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057449|157449|989898|1|9999057449|MR|Test|E|Lead 57449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057450|157450|989898|1|9999057450|MR|Test|E|Lead 57450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057451|157451|989898|1|9999057451|MR|Test|E|Lead 57451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057452|157452|989898|1|9999057452|MR|Test|E|Lead 57452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057453|157453|989898|1|9999057453|MR|Test|E|Lead 57453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057454|157454|989898|1|9999057454|MR|Test|E|Lead 57454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057455|157455|989898|1|9999057455|MR|Test|E|Lead 57455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057456|157456|989898|1|9999057456|MR|Test|E|Lead 57456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057457|157457|989898|1|9999057457|MR|Test|E|Lead 57457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057458|157458|989898|1|9999057458|MR|Test|E|Lead 57458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057459|157459|989898|1|9999057459|MR|Test|E|Lead 57459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057460|157460|989898|1|9999057460|MR|Test|E|Lead 57460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057461|157461|989898|1|9999057461|MR|Test|E|Lead 57461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057462|157462|989898|1|9999057462|MR|Test|E|Lead 57462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057463|157463|989898|1|9999057463|MR|Test|E|Lead 57463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057464|157464|989898|1|9999057464|MR|Test|E|Lead 57464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057465|157465|989898|1|9999057465|MR|Test|E|Lead 57465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057466|157466|989898|1|9999057466|MR|Test|E|Lead 57466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057467|157467|989898|1|9999057467|MR|Test|E|Lead 57467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057468|157468|989898|1|9999057468|MR|Test|E|Lead 57468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057469|157469|989898|1|9999057469|MR|Test|E|Lead 57469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057470|157470|989898|1|9999057470|MR|Test|E|Lead 57470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057471|157471|989898|1|9999057471|MR|Test|E|Lead 57471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057472|157472|989898|1|9999057472|MR|Test|E|Lead 57472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057473|157473|989898|1|9999057473|MR|Test|E|Lead 57473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057474|157474|989898|1|9999057474|MR|Test|E|Lead 57474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057475|157475|989898|1|9999057475|MR|Test|E|Lead 57475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057476|157476|989898|1|9999057476|MR|Test|E|Lead 57476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057477|157477|989898|1|9999057477|MR|Test|E|Lead 57477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057478|157478|989898|1|9999057478|MR|Test|E|Lead 57478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057479|157479|989898|1|9999057479|MR|Test|E|Lead 57479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057480|157480|989898|1|9999057480|MR|Test|E|Lead 57480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057481|157481|989898|1|9999057481|MR|Test|E|Lead 57481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057482|157482|989898|1|9999057482|MR|Test|E|Lead 57482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057483|157483|989898|1|9999057483|MR|Test|E|Lead 57483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057484|157484|989898|1|9999057484|MR|Test|E|Lead 57484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057485|157485|989898|1|9999057485|MR|Test|E|Lead 57485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057486|157486|989898|1|9999057486|MR|Test|E|Lead 57486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057487|157487|989898|1|9999057487|MR|Test|E|Lead 57487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057488|157488|989898|1|9999057488|MR|Test|E|Lead 57488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057489|157489|989898|1|9999057489|MR|Test|E|Lead 57489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057490|157490|989898|1|9999057490|MR|Test|E|Lead 57490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057491|157491|989898|1|9999057491|MR|Test|E|Lead 57491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057492|157492|989898|1|9999057492|MR|Test|E|Lead 57492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057493|157493|989898|1|9999057493|MR|Test|E|Lead 57493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057494|157494|989898|1|9999057494|MR|Test|E|Lead 57494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057495|157495|989898|1|9999057495|MR|Test|E|Lead 57495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057496|157496|989898|1|9999057496|MR|Test|E|Lead 57496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057497|157497|989898|1|9999057497|MR|Test|E|Lead 57497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057498|157498|989898|1|9999057498|MR|Test|E|Lead 57498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057499|157499|989898|1|9999057499|MR|Test|E|Lead 57499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057500|157500|989898|1|9999057500|MR|Test|E|Lead 57500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057501|157501|989898|1|9999057501|MR|Test|E|Lead 57501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057502|157502|989898|1|9999057502|MR|Test|E|Lead 57502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057503|157503|989898|1|9999057503|MR|Test|E|Lead 57503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057504|157504|989898|1|9999057504|MR|Test|E|Lead 57504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057505|157505|989898|1|9999057505|MR|Test|E|Lead 57505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057506|157506|989898|1|9999057506|MR|Test|E|Lead 57506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057507|157507|989898|1|9999057507|MR|Test|E|Lead 57507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057508|157508|989898|1|9999057508|MR|Test|E|Lead 57508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057509|157509|989898|1|9999057509|MR|Test|E|Lead 57509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057510|157510|989898|1|9999057510|MR|Test|E|Lead 57510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057511|157511|989898|1|9999057511|MR|Test|E|Lead 57511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057512|157512|989898|1|9999057512|MR|Test|E|Lead 57512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057513|157513|989898|1|9999057513|MR|Test|E|Lead 57513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057514|157514|989898|1|9999057514|MR|Test|E|Lead 57514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057515|157515|989898|1|9999057515|MR|Test|E|Lead 57515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057516|157516|989898|1|9999057516|MR|Test|E|Lead 57516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057517|157517|989898|1|9999057517|MR|Test|E|Lead 57517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057518|157518|989898|1|9999057518|MR|Test|E|Lead 57518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057519|157519|989898|1|9999057519|MR|Test|E|Lead 57519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057520|157520|989898|1|9999057520|MR|Test|E|Lead 57520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057521|157521|989898|1|9999057521|MR|Test|E|Lead 57521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057522|157522|989898|1|9999057522|MR|Test|E|Lead 57522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057523|157523|989898|1|9999057523|MR|Test|E|Lead 57523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057524|157524|989898|1|9999057524|MR|Test|E|Lead 57524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057525|157525|989898|1|9999057525|MR|Test|E|Lead 57525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057526|157526|989898|1|9999057526|MR|Test|E|Lead 57526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057527|157527|989898|1|9999057527|MR|Test|E|Lead 57527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057528|157528|989898|1|9999057528|MR|Test|E|Lead 57528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057529|157529|989898|1|9999057529|MR|Test|E|Lead 57529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057530|157530|989898|1|9999057530|MR|Test|E|Lead 57530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057531|157531|989898|1|9999057531|MR|Test|E|Lead 57531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057532|157532|989898|1|9999057532|MR|Test|E|Lead 57532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057533|157533|989898|1|9999057533|MR|Test|E|Lead 57533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057534|157534|989898|1|9999057534|MR|Test|E|Lead 57534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057535|157535|989898|1|9999057535|MR|Test|E|Lead 57535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057536|157536|989898|1|9999057536|MR|Test|E|Lead 57536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057537|157537|989898|1|9999057537|MR|Test|E|Lead 57537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057538|157538|989898|1|9999057538|MR|Test|E|Lead 57538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057539|157539|989898|1|9999057539|MR|Test|E|Lead 57539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057540|157540|989898|1|9999057540|MR|Test|E|Lead 57540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057541|157541|989898|1|9999057541|MR|Test|E|Lead 57541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057542|157542|989898|1|9999057542|MR|Test|E|Lead 57542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057543|157543|989898|1|9999057543|MR|Test|E|Lead 57543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057544|157544|989898|1|9999057544|MR|Test|E|Lead 57544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057545|157545|989898|1|9999057545|MR|Test|E|Lead 57545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057546|157546|989898|1|9999057546|MR|Test|E|Lead 57546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057547|157547|989898|1|9999057547|MR|Test|E|Lead 57547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057548|157548|989898|1|9999057548|MR|Test|E|Lead 57548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057549|157549|989898|1|9999057549|MR|Test|E|Lead 57549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057550|157550|989898|1|9999057550|MR|Test|E|Lead 57550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057551|157551|989898|1|9999057551|MR|Test|E|Lead 57551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057552|157552|989898|1|9999057552|MR|Test|E|Lead 57552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057553|157553|989898|1|9999057553|MR|Test|E|Lead 57553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057554|157554|989898|1|9999057554|MR|Test|E|Lead 57554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057555|157555|989898|1|9999057555|MR|Test|E|Lead 57555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057556|157556|989898|1|9999057556|MR|Test|E|Lead 57556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057557|157557|989898|1|9999057557|MR|Test|E|Lead 57557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057558|157558|989898|1|9999057558|MR|Test|E|Lead 57558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057559|157559|989898|1|9999057559|MR|Test|E|Lead 57559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057560|157560|989898|1|9999057560|MR|Test|E|Lead 57560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057561|157561|989898|1|9999057561|MR|Test|E|Lead 57561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057562|157562|989898|1|9999057562|MR|Test|E|Lead 57562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057563|157563|989898|1|9999057563|MR|Test|E|Lead 57563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057564|157564|989898|1|9999057564|MR|Test|E|Lead 57564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057565|157565|989898|1|9999057565|MR|Test|E|Lead 57565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057566|157566|989898|1|9999057566|MR|Test|E|Lead 57566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057567|157567|989898|1|9999057567|MR|Test|E|Lead 57567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057568|157568|989898|1|9999057568|MR|Test|E|Lead 57568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057569|157569|989898|1|9999057569|MR|Test|E|Lead 57569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057570|157570|989898|1|9999057570|MR|Test|E|Lead 57570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057571|157571|989898|1|9999057571|MR|Test|E|Lead 57571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057572|157572|989898|1|9999057572|MR|Test|E|Lead 57572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057573|157573|989898|1|9999057573|MR|Test|E|Lead 57573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057574|157574|989898|1|9999057574|MR|Test|E|Lead 57574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057575|157575|989898|1|9999057575|MR|Test|E|Lead 57575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057576|157576|989898|1|9999057576|MR|Test|E|Lead 57576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057577|157577|989898|1|9999057577|MR|Test|E|Lead 57577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057578|157578|989898|1|9999057578|MR|Test|E|Lead 57578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057579|157579|989898|1|9999057579|MR|Test|E|Lead 57579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057580|157580|989898|1|9999057580|MR|Test|E|Lead 57580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057581|157581|989898|1|9999057581|MR|Test|E|Lead 57581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057582|157582|989898|1|9999057582|MR|Test|E|Lead 57582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057583|157583|989898|1|9999057583|MR|Test|E|Lead 57583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057584|157584|989898|1|9999057584|MR|Test|E|Lead 57584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057585|157585|989898|1|9999057585|MR|Test|E|Lead 57585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057586|157586|989898|1|9999057586|MR|Test|E|Lead 57586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057587|157587|989898|1|9999057587|MR|Test|E|Lead 57587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057588|157588|989898|1|9999057588|MR|Test|E|Lead 57588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057589|157589|989898|1|9999057589|MR|Test|E|Lead 57589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057590|157590|989898|1|9999057590|MR|Test|E|Lead 57590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057591|157591|989898|1|9999057591|MR|Test|E|Lead 57591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057592|157592|989898|1|9999057592|MR|Test|E|Lead 57592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057593|157593|989898|1|9999057593|MR|Test|E|Lead 57593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057594|157594|989898|1|9999057594|MR|Test|E|Lead 57594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057595|157595|989898|1|9999057595|MR|Test|E|Lead 57595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057596|157596|989898|1|9999057596|MR|Test|E|Lead 57596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057597|157597|989898|1|9999057597|MR|Test|E|Lead 57597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057598|157598|989898|1|9999057598|MR|Test|E|Lead 57598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057599|157599|989898|1|9999057599|MR|Test|E|Lead 57599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057600|157600|989898|1|9999057600|MR|Test|E|Lead 57600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057601|157601|989898|1|9999057601|MR|Test|E|Lead 57601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057602|157602|989898|1|9999057602|MR|Test|E|Lead 57602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057603|157603|989898|1|9999057603|MR|Test|E|Lead 57603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057604|157604|989898|1|9999057604|MR|Test|E|Lead 57604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057605|157605|989898|1|9999057605|MR|Test|E|Lead 57605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057606|157606|989898|1|9999057606|MR|Test|E|Lead 57606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057607|157607|989898|1|9999057607|MR|Test|E|Lead 57607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057608|157608|989898|1|9999057608|MR|Test|E|Lead 57608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057609|157609|989898|1|9999057609|MR|Test|E|Lead 57609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057610|157610|989898|1|9999057610|MR|Test|E|Lead 57610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057611|157611|989898|1|9999057611|MR|Test|E|Lead 57611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057612|157612|989898|1|9999057612|MR|Test|E|Lead 57612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057613|157613|989898|1|9999057613|MR|Test|E|Lead 57613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057614|157614|989898|1|9999057614|MR|Test|E|Lead 57614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057615|157615|989898|1|9999057615|MR|Test|E|Lead 57615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057616|157616|989898|1|9999057616|MR|Test|E|Lead 57616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057617|157617|989898|1|9999057617|MR|Test|E|Lead 57617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057618|157618|989898|1|9999057618|MR|Test|E|Lead 57618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057619|157619|989898|1|9999057619|MR|Test|E|Lead 57619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057620|157620|989898|1|9999057620|MR|Test|E|Lead 57620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057621|157621|989898|1|9999057621|MR|Test|E|Lead 57621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057622|157622|989898|1|9999057622|MR|Test|E|Lead 57622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057623|157623|989898|1|9999057623|MR|Test|E|Lead 57623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057624|157624|989898|1|9999057624|MR|Test|E|Lead 57624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057625|157625|989898|1|9999057625|MR|Test|E|Lead 57625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057626|157626|989898|1|9999057626|MR|Test|E|Lead 57626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057627|157627|989898|1|9999057627|MR|Test|E|Lead 57627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057628|157628|989898|1|9999057628|MR|Test|E|Lead 57628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057629|157629|989898|1|9999057629|MR|Test|E|Lead 57629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057630|157630|989898|1|9999057630|MR|Test|E|Lead 57630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057631|157631|989898|1|9999057631|MR|Test|E|Lead 57631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057632|157632|989898|1|9999057632|MR|Test|E|Lead 57632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057633|157633|989898|1|9999057633|MR|Test|E|Lead 57633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057634|157634|989898|1|9999057634|MR|Test|E|Lead 57634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057635|157635|989898|1|9999057635|MR|Test|E|Lead 57635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057636|157636|989898|1|9999057636|MR|Test|E|Lead 57636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057637|157637|989898|1|9999057637|MR|Test|E|Lead 57637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057638|157638|989898|1|9999057638|MR|Test|E|Lead 57638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057639|157639|989898|1|9999057639|MR|Test|E|Lead 57639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057640|157640|989898|1|9999057640|MR|Test|E|Lead 57640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057641|157641|989898|1|9999057641|MR|Test|E|Lead 57641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057642|157642|989898|1|9999057642|MR|Test|E|Lead 57642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057643|157643|989898|1|9999057643|MR|Test|E|Lead 57643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057644|157644|989898|1|9999057644|MR|Test|E|Lead 57644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057645|157645|989898|1|9999057645|MR|Test|E|Lead 57645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057646|157646|989898|1|9999057646|MR|Test|E|Lead 57646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057647|157647|989898|1|9999057647|MR|Test|E|Lead 57647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057648|157648|989898|1|9999057648|MR|Test|E|Lead 57648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057649|157649|989898|1|9999057649|MR|Test|E|Lead 57649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057650|157650|989898|1|9999057650|MR|Test|E|Lead 57650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057651|157651|989898|1|9999057651|MR|Test|E|Lead 57651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057652|157652|989898|1|9999057652|MR|Test|E|Lead 57652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057653|157653|989898|1|9999057653|MR|Test|E|Lead 57653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057654|157654|989898|1|9999057654|MR|Test|E|Lead 57654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057655|157655|989898|1|9999057655|MR|Test|E|Lead 57655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057656|157656|989898|1|9999057656|MR|Test|E|Lead 57656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057657|157657|989898|1|9999057657|MR|Test|E|Lead 57657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057658|157658|989898|1|9999057658|MR|Test|E|Lead 57658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057659|157659|989898|1|9999057659|MR|Test|E|Lead 57659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057660|157660|989898|1|9999057660|MR|Test|E|Lead 57660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057661|157661|989898|1|9999057661|MR|Test|E|Lead 57661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057662|157662|989898|1|9999057662|MR|Test|E|Lead 57662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057663|157663|989898|1|9999057663|MR|Test|E|Lead 57663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057664|157664|989898|1|9999057664|MR|Test|E|Lead 57664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057665|157665|989898|1|9999057665|MR|Test|E|Lead 57665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057666|157666|989898|1|9999057666|MR|Test|E|Lead 57666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057667|157667|989898|1|9999057667|MR|Test|E|Lead 57667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057668|157668|989898|1|9999057668|MR|Test|E|Lead 57668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057669|157669|989898|1|9999057669|MR|Test|E|Lead 57669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057670|157670|989898|1|9999057670|MR|Test|E|Lead 57670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057671|157671|989898|1|9999057671|MR|Test|E|Lead 57671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057672|157672|989898|1|9999057672|MR|Test|E|Lead 57672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057673|157673|989898|1|9999057673|MR|Test|E|Lead 57673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057674|157674|989898|1|9999057674|MR|Test|E|Lead 57674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057675|157675|989898|1|9999057675|MR|Test|E|Lead 57675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057676|157676|989898|1|9999057676|MR|Test|E|Lead 57676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057677|157677|989898|1|9999057677|MR|Test|E|Lead 57677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057678|157678|989898|1|9999057678|MR|Test|E|Lead 57678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057679|157679|989898|1|9999057679|MR|Test|E|Lead 57679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057680|157680|989898|1|9999057680|MR|Test|E|Lead 57680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057681|157681|989898|1|9999057681|MR|Test|E|Lead 57681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057682|157682|989898|1|9999057682|MR|Test|E|Lead 57682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057683|157683|989898|1|9999057683|MR|Test|E|Lead 57683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057684|157684|989898|1|9999057684|MR|Test|E|Lead 57684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057685|157685|989898|1|9999057685|MR|Test|E|Lead 57685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057686|157686|989898|1|9999057686|MR|Test|E|Lead 57686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057687|157687|989898|1|9999057687|MR|Test|E|Lead 57687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057688|157688|989898|1|9999057688|MR|Test|E|Lead 57688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057689|157689|989898|1|9999057689|MR|Test|E|Lead 57689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057690|157690|989898|1|9999057690|MR|Test|E|Lead 57690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057691|157691|989898|1|9999057691|MR|Test|E|Lead 57691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057692|157692|989898|1|9999057692|MR|Test|E|Lead 57692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057693|157693|989898|1|9999057693|MR|Test|E|Lead 57693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057694|157694|989898|1|9999057694|MR|Test|E|Lead 57694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057695|157695|989898|1|9999057695|MR|Test|E|Lead 57695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057696|157696|989898|1|9999057696|MR|Test|E|Lead 57696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057697|157697|989898|1|9999057697|MR|Test|E|Lead 57697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057698|157698|989898|1|9999057698|MR|Test|E|Lead 57698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057699|157699|989898|1|9999057699|MR|Test|E|Lead 57699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057700|157700|989898|1|9999057700|MR|Test|E|Lead 57700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057701|157701|989898|1|9999057701|MR|Test|E|Lead 57701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057702|157702|989898|1|9999057702|MR|Test|E|Lead 57702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057703|157703|989898|1|9999057703|MR|Test|E|Lead 57703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057704|157704|989898|1|9999057704|MR|Test|E|Lead 57704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057705|157705|989898|1|9999057705|MR|Test|E|Lead 57705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057706|157706|989898|1|9999057706|MR|Test|E|Lead 57706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057707|157707|989898|1|9999057707|MR|Test|E|Lead 57707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057708|157708|989898|1|9999057708|MR|Test|E|Lead 57708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057709|157709|989898|1|9999057709|MR|Test|E|Lead 57709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057710|157710|989898|1|9999057710|MR|Test|E|Lead 57710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057711|157711|989898|1|9999057711|MR|Test|E|Lead 57711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057712|157712|989898|1|9999057712|MR|Test|E|Lead 57712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057713|157713|989898|1|9999057713|MR|Test|E|Lead 57713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057714|157714|989898|1|9999057714|MR|Test|E|Lead 57714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057715|157715|989898|1|9999057715|MR|Test|E|Lead 57715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057716|157716|989898|1|9999057716|MR|Test|E|Lead 57716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057717|157717|989898|1|9999057717|MR|Test|E|Lead 57717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057718|157718|989898|1|9999057718|MR|Test|E|Lead 57718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057719|157719|989898|1|9999057719|MR|Test|E|Lead 57719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057720|157720|989898|1|9999057720|MR|Test|E|Lead 57720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057721|157721|989898|1|9999057721|MR|Test|E|Lead 57721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057722|157722|989898|1|9999057722|MR|Test|E|Lead 57722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057723|157723|989898|1|9999057723|MR|Test|E|Lead 57723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057724|157724|989898|1|9999057724|MR|Test|E|Lead 57724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057725|157725|989898|1|9999057725|MR|Test|E|Lead 57725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057726|157726|989898|1|9999057726|MR|Test|E|Lead 57726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057727|157727|989898|1|9999057727|MR|Test|E|Lead 57727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057728|157728|989898|1|9999057728|MR|Test|E|Lead 57728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057729|157729|989898|1|9999057729|MR|Test|E|Lead 57729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057730|157730|989898|1|9999057730|MR|Test|E|Lead 57730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057731|157731|989898|1|9999057731|MR|Test|E|Lead 57731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057732|157732|989898|1|9999057732|MR|Test|E|Lead 57732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057733|157733|989898|1|9999057733|MR|Test|E|Lead 57733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057734|157734|989898|1|9999057734|MR|Test|E|Lead 57734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057735|157735|989898|1|9999057735|MR|Test|E|Lead 57735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057736|157736|989898|1|9999057736|MR|Test|E|Lead 57736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057737|157737|989898|1|9999057737|MR|Test|E|Lead 57737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057738|157738|989898|1|9999057738|MR|Test|E|Lead 57738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057739|157739|989898|1|9999057739|MR|Test|E|Lead 57739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057740|157740|989898|1|9999057740|MR|Test|E|Lead 57740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057741|157741|989898|1|9999057741|MR|Test|E|Lead 57741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057742|157742|989898|1|9999057742|MR|Test|E|Lead 57742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057743|157743|989898|1|9999057743|MR|Test|E|Lead 57743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057744|157744|989898|1|9999057744|MR|Test|E|Lead 57744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057745|157745|989898|1|9999057745|MR|Test|E|Lead 57745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057746|157746|989898|1|9999057746|MR|Test|E|Lead 57746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057747|157747|989898|1|9999057747|MR|Test|E|Lead 57747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057748|157748|989898|1|9999057748|MR|Test|E|Lead 57748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057749|157749|989898|1|9999057749|MR|Test|E|Lead 57749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057750|157750|989898|1|9999057750|MR|Test|E|Lead 57750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057751|157751|989898|1|9999057751|MR|Test|E|Lead 57751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057752|157752|989898|1|9999057752|MR|Test|E|Lead 57752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057753|157753|989898|1|9999057753|MR|Test|E|Lead 57753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057754|157754|989898|1|9999057754|MR|Test|E|Lead 57754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057755|157755|989898|1|9999057755|MR|Test|E|Lead 57755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057756|157756|989898|1|9999057756|MR|Test|E|Lead 57756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057757|157757|989898|1|9999057757|MR|Test|E|Lead 57757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057758|157758|989898|1|9999057758|MR|Test|E|Lead 57758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057759|157759|989898|1|9999057759|MR|Test|E|Lead 57759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057760|157760|989898|1|9999057760|MR|Test|E|Lead 57760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057761|157761|989898|1|9999057761|MR|Test|E|Lead 57761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057762|157762|989898|1|9999057762|MR|Test|E|Lead 57762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057763|157763|989898|1|9999057763|MR|Test|E|Lead 57763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057764|157764|989898|1|9999057764|MR|Test|E|Lead 57764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057765|157765|989898|1|9999057765|MR|Test|E|Lead 57765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057766|157766|989898|1|9999057766|MR|Test|E|Lead 57766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057767|157767|989898|1|9999057767|MR|Test|E|Lead 57767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057768|157768|989898|1|9999057768|MR|Test|E|Lead 57768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057769|157769|989898|1|9999057769|MR|Test|E|Lead 57769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057770|157770|989898|1|9999057770|MR|Test|E|Lead 57770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057771|157771|989898|1|9999057771|MR|Test|E|Lead 57771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057772|157772|989898|1|9999057772|MR|Test|E|Lead 57772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057773|157773|989898|1|9999057773|MR|Test|E|Lead 57773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057774|157774|989898|1|9999057774|MR|Test|E|Lead 57774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057775|157775|989898|1|9999057775|MR|Test|E|Lead 57775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057776|157776|989898|1|9999057776|MR|Test|E|Lead 57776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057777|157777|989898|1|9999057777|MR|Test|E|Lead 57777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057778|157778|989898|1|9999057778|MR|Test|E|Lead 57778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057779|157779|989898|1|9999057779|MR|Test|E|Lead 57779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057780|157780|989898|1|9999057780|MR|Test|E|Lead 57780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057781|157781|989898|1|9999057781|MR|Test|E|Lead 57781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057782|157782|989898|1|9999057782|MR|Test|E|Lead 57782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057783|157783|989898|1|9999057783|MR|Test|E|Lead 57783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057784|157784|989898|1|9999057784|MR|Test|E|Lead 57784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057785|157785|989898|1|9999057785|MR|Test|E|Lead 57785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057786|157786|989898|1|9999057786|MR|Test|E|Lead 57786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057787|157787|989898|1|9999057787|MR|Test|E|Lead 57787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057788|157788|989898|1|9999057788|MR|Test|E|Lead 57788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057789|157789|989898|1|9999057789|MR|Test|E|Lead 57789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057790|157790|989898|1|9999057790|MR|Test|E|Lead 57790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057791|157791|989898|1|9999057791|MR|Test|E|Lead 57791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057792|157792|989898|1|9999057792|MR|Test|E|Lead 57792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057793|157793|989898|1|9999057793|MR|Test|E|Lead 57793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057794|157794|989898|1|9999057794|MR|Test|E|Lead 57794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057795|157795|989898|1|9999057795|MR|Test|E|Lead 57795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057796|157796|989898|1|9999057796|MR|Test|E|Lead 57796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057797|157797|989898|1|9999057797|MR|Test|E|Lead 57797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057798|157798|989898|1|9999057798|MR|Test|E|Lead 57798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057799|157799|989898|1|9999057799|MR|Test|E|Lead 57799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057800|157800|989898|1|9999057800|MR|Test|E|Lead 57800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057801|157801|989898|1|9999057801|MR|Test|E|Lead 57801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057802|157802|989898|1|9999057802|MR|Test|E|Lead 57802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057803|157803|989898|1|9999057803|MR|Test|E|Lead 57803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057804|157804|989898|1|9999057804|MR|Test|E|Lead 57804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057805|157805|989898|1|9999057805|MR|Test|E|Lead 57805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057806|157806|989898|1|9999057806|MR|Test|E|Lead 57806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057807|157807|989898|1|9999057807|MR|Test|E|Lead 57807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057808|157808|989898|1|9999057808|MR|Test|E|Lead 57808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057809|157809|989898|1|9999057809|MR|Test|E|Lead 57809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057810|157810|989898|1|9999057810|MR|Test|E|Lead 57810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057811|157811|989898|1|9999057811|MR|Test|E|Lead 57811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057812|157812|989898|1|9999057812|MR|Test|E|Lead 57812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057813|157813|989898|1|9999057813|MR|Test|E|Lead 57813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057814|157814|989898|1|9999057814|MR|Test|E|Lead 57814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057815|157815|989898|1|9999057815|MR|Test|E|Lead 57815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057816|157816|989898|1|9999057816|MR|Test|E|Lead 57816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057817|157817|989898|1|9999057817|MR|Test|E|Lead 57817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057818|157818|989898|1|9999057818|MR|Test|E|Lead 57818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057819|157819|989898|1|9999057819|MR|Test|E|Lead 57819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057820|157820|989898|1|9999057820|MR|Test|E|Lead 57820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057821|157821|989898|1|9999057821|MR|Test|E|Lead 57821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057822|157822|989898|1|9999057822|MR|Test|E|Lead 57822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057823|157823|989898|1|9999057823|MR|Test|E|Lead 57823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057824|157824|989898|1|9999057824|MR|Test|E|Lead 57824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057825|157825|989898|1|9999057825|MR|Test|E|Lead 57825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057826|157826|989898|1|9999057826|MR|Test|E|Lead 57826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057827|157827|989898|1|9999057827|MR|Test|E|Lead 57827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057828|157828|989898|1|9999057828|MR|Test|E|Lead 57828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057829|157829|989898|1|9999057829|MR|Test|E|Lead 57829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057830|157830|989898|1|9999057830|MR|Test|E|Lead 57830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057831|157831|989898|1|9999057831|MR|Test|E|Lead 57831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057832|157832|989898|1|9999057832|MR|Test|E|Lead 57832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057833|157833|989898|1|9999057833|MR|Test|E|Lead 57833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057834|157834|989898|1|9999057834|MR|Test|E|Lead 57834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057835|157835|989898|1|9999057835|MR|Test|E|Lead 57835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057836|157836|989898|1|9999057836|MR|Test|E|Lead 57836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057837|157837|989898|1|9999057837|MR|Test|E|Lead 57837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057838|157838|989898|1|9999057838|MR|Test|E|Lead 57838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057839|157839|989898|1|9999057839|MR|Test|E|Lead 57839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057840|157840|989898|1|9999057840|MR|Test|E|Lead 57840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057841|157841|989898|1|9999057841|MR|Test|E|Lead 57841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057842|157842|989898|1|9999057842|MR|Test|E|Lead 57842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057843|157843|989898|1|9999057843|MR|Test|E|Lead 57843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057844|157844|989898|1|9999057844|MR|Test|E|Lead 57844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057845|157845|989898|1|9999057845|MR|Test|E|Lead 57845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057846|157846|989898|1|9999057846|MR|Test|E|Lead 57846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057847|157847|989898|1|9999057847|MR|Test|E|Lead 57847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057848|157848|989898|1|9999057848|MR|Test|E|Lead 57848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057849|157849|989898|1|9999057849|MR|Test|E|Lead 57849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057850|157850|989898|1|9999057850|MR|Test|E|Lead 57850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057851|157851|989898|1|9999057851|MR|Test|E|Lead 57851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057852|157852|989898|1|9999057852|MR|Test|E|Lead 57852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057853|157853|989898|1|9999057853|MR|Test|E|Lead 57853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057854|157854|989898|1|9999057854|MR|Test|E|Lead 57854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057855|157855|989898|1|9999057855|MR|Test|E|Lead 57855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057856|157856|989898|1|9999057856|MR|Test|E|Lead 57856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057857|157857|989898|1|9999057857|MR|Test|E|Lead 57857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057858|157858|989898|1|9999057858|MR|Test|E|Lead 57858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057859|157859|989898|1|9999057859|MR|Test|E|Lead 57859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057860|157860|989898|1|9999057860|MR|Test|E|Lead 57860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057861|157861|989898|1|9999057861|MR|Test|E|Lead 57861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057862|157862|989898|1|9999057862|MR|Test|E|Lead 57862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057863|157863|989898|1|9999057863|MR|Test|E|Lead 57863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057864|157864|989898|1|9999057864|MR|Test|E|Lead 57864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057865|157865|989898|1|9999057865|MR|Test|E|Lead 57865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057866|157866|989898|1|9999057866|MR|Test|E|Lead 57866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057867|157867|989898|1|9999057867|MR|Test|E|Lead 57867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057868|157868|989898|1|9999057868|MR|Test|E|Lead 57868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057869|157869|989898|1|9999057869|MR|Test|E|Lead 57869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057870|157870|989898|1|9999057870|MR|Test|E|Lead 57870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057871|157871|989898|1|9999057871|MR|Test|E|Lead 57871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057872|157872|989898|1|9999057872|MR|Test|E|Lead 57872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057873|157873|989898|1|9999057873|MR|Test|E|Lead 57873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057874|157874|989898|1|9999057874|MR|Test|E|Lead 57874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057875|157875|989898|1|9999057875|MR|Test|E|Lead 57875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057876|157876|989898|1|9999057876|MR|Test|E|Lead 57876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057877|157877|989898|1|9999057877|MR|Test|E|Lead 57877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057878|157878|989898|1|9999057878|MR|Test|E|Lead 57878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057879|157879|989898|1|9999057879|MR|Test|E|Lead 57879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057880|157880|989898|1|9999057880|MR|Test|E|Lead 57880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057881|157881|989898|1|9999057881|MR|Test|E|Lead 57881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057882|157882|989898|1|9999057882|MR|Test|E|Lead 57882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057883|157883|989898|1|9999057883|MR|Test|E|Lead 57883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057884|157884|989898|1|9999057884|MR|Test|E|Lead 57884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057885|157885|989898|1|9999057885|MR|Test|E|Lead 57885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057886|157886|989898|1|9999057886|MR|Test|E|Lead 57886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057887|157887|989898|1|9999057887|MR|Test|E|Lead 57887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057888|157888|989898|1|9999057888|MR|Test|E|Lead 57888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057889|157889|989898|1|9999057889|MR|Test|E|Lead 57889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057890|157890|989898|1|9999057890|MR|Test|E|Lead 57890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057891|157891|989898|1|9999057891|MR|Test|E|Lead 57891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057892|157892|989898|1|9999057892|MR|Test|E|Lead 57892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057893|157893|989898|1|9999057893|MR|Test|E|Lead 57893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057894|157894|989898|1|9999057894|MR|Test|E|Lead 57894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057895|157895|989898|1|9999057895|MR|Test|E|Lead 57895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057896|157896|989898|1|9999057896|MR|Test|E|Lead 57896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057897|157897|989898|1|9999057897|MR|Test|E|Lead 57897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057898|157898|989898|1|9999057898|MR|Test|E|Lead 57898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057899|157899|989898|1|9999057899|MR|Test|E|Lead 57899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057900|157900|989898|1|9999057900|MR|Test|E|Lead 57900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057901|157901|989898|1|9999057901|MR|Test|E|Lead 57901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057902|157902|989898|1|9999057902|MR|Test|E|Lead 57902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057903|157903|989898|1|9999057903|MR|Test|E|Lead 57903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057904|157904|989898|1|9999057904|MR|Test|E|Lead 57904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057905|157905|989898|1|9999057905|MR|Test|E|Lead 57905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057906|157906|989898|1|9999057906|MR|Test|E|Lead 57906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057907|157907|989898|1|9999057907|MR|Test|E|Lead 57907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057908|157908|989898|1|9999057908|MR|Test|E|Lead 57908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057909|157909|989898|1|9999057909|MR|Test|E|Lead 57909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057910|157910|989898|1|9999057910|MR|Test|E|Lead 57910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057911|157911|989898|1|9999057911|MR|Test|E|Lead 57911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057912|157912|989898|1|9999057912|MR|Test|E|Lead 57912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057913|157913|989898|1|9999057913|MR|Test|E|Lead 57913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057914|157914|989898|1|9999057914|MR|Test|E|Lead 57914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057915|157915|989898|1|9999057915|MR|Test|E|Lead 57915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057916|157916|989898|1|9999057916|MR|Test|E|Lead 57916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057917|157917|989898|1|9999057917|MR|Test|E|Lead 57917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057918|157918|989898|1|9999057918|MR|Test|E|Lead 57918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057919|157919|989898|1|9999057919|MR|Test|E|Lead 57919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057920|157920|989898|1|9999057920|MR|Test|E|Lead 57920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057921|157921|989898|1|9999057921|MR|Test|E|Lead 57921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057922|157922|989898|1|9999057922|MR|Test|E|Lead 57922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057923|157923|989898|1|9999057923|MR|Test|E|Lead 57923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057924|157924|989898|1|9999057924|MR|Test|E|Lead 57924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057925|157925|989898|1|9999057925|MR|Test|E|Lead 57925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057926|157926|989898|1|9999057926|MR|Test|E|Lead 57926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057927|157927|989898|1|9999057927|MR|Test|E|Lead 57927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057928|157928|989898|1|9999057928|MR|Test|E|Lead 57928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057929|157929|989898|1|9999057929|MR|Test|E|Lead 57929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057930|157930|989898|1|9999057930|MR|Test|E|Lead 57930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057931|157931|989898|1|9999057931|MR|Test|E|Lead 57931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057932|157932|989898|1|9999057932|MR|Test|E|Lead 57932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057933|157933|989898|1|9999057933|MR|Test|E|Lead 57933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057934|157934|989898|1|9999057934|MR|Test|E|Lead 57934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057935|157935|989898|1|9999057935|MR|Test|E|Lead 57935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057936|157936|989898|1|9999057936|MR|Test|E|Lead 57936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057937|157937|989898|1|9999057937|MR|Test|E|Lead 57937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057938|157938|989898|1|9999057938|MR|Test|E|Lead 57938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057939|157939|989898|1|9999057939|MR|Test|E|Lead 57939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057940|157940|989898|1|9999057940|MR|Test|E|Lead 57940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057941|157941|989898|1|9999057941|MR|Test|E|Lead 57941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057942|157942|989898|1|9999057942|MR|Test|E|Lead 57942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057943|157943|989898|1|9999057943|MR|Test|E|Lead 57943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057944|157944|989898|1|9999057944|MR|Test|E|Lead 57944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057945|157945|989898|1|9999057945|MR|Test|E|Lead 57945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057946|157946|989898|1|9999057946|MR|Test|E|Lead 57946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057947|157947|989898|1|9999057947|MR|Test|E|Lead 57947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057948|157948|989898|1|9999057948|MR|Test|E|Lead 57948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057949|157949|989898|1|9999057949|MR|Test|E|Lead 57949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057950|157950|989898|1|9999057950|MR|Test|E|Lead 57950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057951|157951|989898|1|9999057951|MR|Test|E|Lead 57951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057952|157952|989898|1|9999057952|MR|Test|E|Lead 57952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057953|157953|989898|1|9999057953|MR|Test|E|Lead 57953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057954|157954|989898|1|9999057954|MR|Test|E|Lead 57954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057955|157955|989898|1|9999057955|MR|Test|E|Lead 57955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057956|157956|989898|1|9999057956|MR|Test|E|Lead 57956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057957|157957|989898|1|9999057957|MR|Test|E|Lead 57957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057958|157958|989898|1|9999057958|MR|Test|E|Lead 57958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057959|157959|989898|1|9999057959|MR|Test|E|Lead 57959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057960|157960|989898|1|9999057960|MR|Test|E|Lead 57960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057961|157961|989898|1|9999057961|MR|Test|E|Lead 57961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057962|157962|989898|1|9999057962|MR|Test|E|Lead 57962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057963|157963|989898|1|9999057963|MR|Test|E|Lead 57963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057964|157964|989898|1|9999057964|MR|Test|E|Lead 57964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057965|157965|989898|1|9999057965|MR|Test|E|Lead 57965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057966|157966|989898|1|9999057966|MR|Test|E|Lead 57966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057967|157967|989898|1|9999057967|MR|Test|E|Lead 57967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057968|157968|989898|1|9999057968|MR|Test|E|Lead 57968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057969|157969|989898|1|9999057969|MR|Test|E|Lead 57969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057970|157970|989898|1|9999057970|MR|Test|E|Lead 57970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057971|157971|989898|1|9999057971|MR|Test|E|Lead 57971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057972|157972|989898|1|9999057972|MR|Test|E|Lead 57972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057973|157973|989898|1|9999057973|MR|Test|E|Lead 57973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057974|157974|989898|1|9999057974|MR|Test|E|Lead 57974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057975|157975|989898|1|9999057975|MR|Test|E|Lead 57975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057976|157976|989898|1|9999057976|MR|Test|E|Lead 57976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057977|157977|989898|1|9999057977|MR|Test|E|Lead 57977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057978|157978|989898|1|9999057978|MR|Test|E|Lead 57978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057979|157979|989898|1|9999057979|MR|Test|E|Lead 57979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057980|157980|989898|1|9999057980|MR|Test|E|Lead 57980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057981|157981|989898|1|9999057981|MR|Test|E|Lead 57981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057982|157982|989898|1|9999057982|MR|Test|E|Lead 57982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057983|157983|989898|1|9999057983|MR|Test|E|Lead 57983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057984|157984|989898|1|9999057984|MR|Test|E|Lead 57984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057985|157985|989898|1|9999057985|MR|Test|E|Lead 57985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057986|157986|989898|1|9999057986|MR|Test|E|Lead 57986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057987|157987|989898|1|9999057987|MR|Test|E|Lead 57987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057988|157988|989898|1|9999057988|MR|Test|E|Lead 57988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057989|157989|989898|1|9999057989|MR|Test|E|Lead 57989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057990|157990|989898|1|9999057990|MR|Test|E|Lead 57990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057991|157991|989898|1|9999057991|MR|Test|E|Lead 57991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057992|157992|989898|1|9999057992|MR|Test|E|Lead 57992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057993|157993|989898|1|9999057993|MR|Test|E|Lead 57993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057994|157994|989898|1|9999057994|MR|Test|E|Lead 57994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057995|157995|989898|1|9999057995|MR|Test|E|Lead 57995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057996|157996|989898|1|9999057996|MR|Test|E|Lead 57996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057997|157997|989898|1|9999057997|MR|Test|E|Lead 57997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057998|157998|989898|1|9999057998|MR|Test|E|Lead 57998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1057999|157999|989898|1|9999057999|MR|Test|E|Lead 57999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058000|158000|989898|1|9999058000|MR|Test|E|Lead 58000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058001|158001|989898|1|9999058001|MR|Test|E|Lead 58001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058002|158002|989898|1|9999058002|MR|Test|E|Lead 58002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058003|158003|989898|1|9999058003|MR|Test|E|Lead 58003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058004|158004|989898|1|9999058004|MR|Test|E|Lead 58004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058005|158005|989898|1|9999058005|MR|Test|E|Lead 58005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058006|158006|989898|1|9999058006|MR|Test|E|Lead 58006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058007|158007|989898|1|9999058007|MR|Test|E|Lead 58007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058008|158008|989898|1|9999058008|MR|Test|E|Lead 58008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058009|158009|989898|1|9999058009|MR|Test|E|Lead 58009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058010|158010|989898|1|9999058010|MR|Test|E|Lead 58010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058011|158011|989898|1|9999058011|MR|Test|E|Lead 58011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058012|158012|989898|1|9999058012|MR|Test|E|Lead 58012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058013|158013|989898|1|9999058013|MR|Test|E|Lead 58013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058014|158014|989898|1|9999058014|MR|Test|E|Lead 58014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058015|158015|989898|1|9999058015|MR|Test|E|Lead 58015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058016|158016|989898|1|9999058016|MR|Test|E|Lead 58016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058017|158017|989898|1|9999058017|MR|Test|E|Lead 58017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058018|158018|989898|1|9999058018|MR|Test|E|Lead 58018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058019|158019|989898|1|9999058019|MR|Test|E|Lead 58019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058020|158020|989898|1|9999058020|MR|Test|E|Lead 58020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058021|158021|989898|1|9999058021|MR|Test|E|Lead 58021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058022|158022|989898|1|9999058022|MR|Test|E|Lead 58022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058023|158023|989898|1|9999058023|MR|Test|E|Lead 58023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058024|158024|989898|1|9999058024|MR|Test|E|Lead 58024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058025|158025|989898|1|9999058025|MR|Test|E|Lead 58025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058026|158026|989898|1|9999058026|MR|Test|E|Lead 58026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058027|158027|989898|1|9999058027|MR|Test|E|Lead 58027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058028|158028|989898|1|9999058028|MR|Test|E|Lead 58028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058029|158029|989898|1|9999058029|MR|Test|E|Lead 58029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058030|158030|989898|1|9999058030|MR|Test|E|Lead 58030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058031|158031|989898|1|9999058031|MR|Test|E|Lead 58031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058032|158032|989898|1|9999058032|MR|Test|E|Lead 58032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058033|158033|989898|1|9999058033|MR|Test|E|Lead 58033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058034|158034|989898|1|9999058034|MR|Test|E|Lead 58034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058035|158035|989898|1|9999058035|MR|Test|E|Lead 58035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058036|158036|989898|1|9999058036|MR|Test|E|Lead 58036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058037|158037|989898|1|9999058037|MR|Test|E|Lead 58037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058038|158038|989898|1|9999058038|MR|Test|E|Lead 58038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058039|158039|989898|1|9999058039|MR|Test|E|Lead 58039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058040|158040|989898|1|9999058040|MR|Test|E|Lead 58040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058041|158041|989898|1|9999058041|MR|Test|E|Lead 58041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058042|158042|989898|1|9999058042|MR|Test|E|Lead 58042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058043|158043|989898|1|9999058043|MR|Test|E|Lead 58043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058044|158044|989898|1|9999058044|MR|Test|E|Lead 58044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058045|158045|989898|1|9999058045|MR|Test|E|Lead 58045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058046|158046|989898|1|9999058046|MR|Test|E|Lead 58046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058047|158047|989898|1|9999058047|MR|Test|E|Lead 58047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058048|158048|989898|1|9999058048|MR|Test|E|Lead 58048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058049|158049|989898|1|9999058049|MR|Test|E|Lead 58049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058050|158050|989898|1|9999058050|MR|Test|E|Lead 58050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058051|158051|989898|1|9999058051|MR|Test|E|Lead 58051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058052|158052|989898|1|9999058052|MR|Test|E|Lead 58052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058053|158053|989898|1|9999058053|MR|Test|E|Lead 58053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058054|158054|989898|1|9999058054|MR|Test|E|Lead 58054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058055|158055|989898|1|9999058055|MR|Test|E|Lead 58055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058056|158056|989898|1|9999058056|MR|Test|E|Lead 58056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058057|158057|989898|1|9999058057|MR|Test|E|Lead 58057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058058|158058|989898|1|9999058058|MR|Test|E|Lead 58058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058059|158059|989898|1|9999058059|MR|Test|E|Lead 58059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058060|158060|989898|1|9999058060|MR|Test|E|Lead 58060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058061|158061|989898|1|9999058061|MR|Test|E|Lead 58061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058062|158062|989898|1|9999058062|MR|Test|E|Lead 58062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058063|158063|989898|1|9999058063|MR|Test|E|Lead 58063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058064|158064|989898|1|9999058064|MR|Test|E|Lead 58064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058065|158065|989898|1|9999058065|MR|Test|E|Lead 58065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058066|158066|989898|1|9999058066|MR|Test|E|Lead 58066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058067|158067|989898|1|9999058067|MR|Test|E|Lead 58067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058068|158068|989898|1|9999058068|MR|Test|E|Lead 58068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058069|158069|989898|1|9999058069|MR|Test|E|Lead 58069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058070|158070|989898|1|9999058070|MR|Test|E|Lead 58070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058071|158071|989898|1|9999058071|MR|Test|E|Lead 58071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058072|158072|989898|1|9999058072|MR|Test|E|Lead 58072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058073|158073|989898|1|9999058073|MR|Test|E|Lead 58073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058074|158074|989898|1|9999058074|MR|Test|E|Lead 58074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058075|158075|989898|1|9999058075|MR|Test|E|Lead 58075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058076|158076|989898|1|9999058076|MR|Test|E|Lead 58076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058077|158077|989898|1|9999058077|MR|Test|E|Lead 58077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058078|158078|989898|1|9999058078|MR|Test|E|Lead 58078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058079|158079|989898|1|9999058079|MR|Test|E|Lead 58079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058080|158080|989898|1|9999058080|MR|Test|E|Lead 58080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058081|158081|989898|1|9999058081|MR|Test|E|Lead 58081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058082|158082|989898|1|9999058082|MR|Test|E|Lead 58082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058083|158083|989898|1|9999058083|MR|Test|E|Lead 58083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058084|158084|989898|1|9999058084|MR|Test|E|Lead 58084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058085|158085|989898|1|9999058085|MR|Test|E|Lead 58085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058086|158086|989898|1|9999058086|MR|Test|E|Lead 58086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058087|158087|989898|1|9999058087|MR|Test|E|Lead 58087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058088|158088|989898|1|9999058088|MR|Test|E|Lead 58088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058089|158089|989898|1|9999058089|MR|Test|E|Lead 58089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058090|158090|989898|1|9999058090|MR|Test|E|Lead 58090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058091|158091|989898|1|9999058091|MR|Test|E|Lead 58091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058092|158092|989898|1|9999058092|MR|Test|E|Lead 58092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058093|158093|989898|1|9999058093|MR|Test|E|Lead 58093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058094|158094|989898|1|9999058094|MR|Test|E|Lead 58094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058095|158095|989898|1|9999058095|MR|Test|E|Lead 58095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058096|158096|989898|1|9999058096|MR|Test|E|Lead 58096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058097|158097|989898|1|9999058097|MR|Test|E|Lead 58097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058098|158098|989898|1|9999058098|MR|Test|E|Lead 58098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058099|158099|989898|1|9999058099|MR|Test|E|Lead 58099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058100|158100|989898|1|9999058100|MR|Test|E|Lead 58100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058101|158101|989898|1|9999058101|MR|Test|E|Lead 58101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058102|158102|989898|1|9999058102|MR|Test|E|Lead 58102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058103|158103|989898|1|9999058103|MR|Test|E|Lead 58103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058104|158104|989898|1|9999058104|MR|Test|E|Lead 58104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058105|158105|989898|1|9999058105|MR|Test|E|Lead 58105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058106|158106|989898|1|9999058106|MR|Test|E|Lead 58106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058107|158107|989898|1|9999058107|MR|Test|E|Lead 58107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058108|158108|989898|1|9999058108|MR|Test|E|Lead 58108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058109|158109|989898|1|9999058109|MR|Test|E|Lead 58109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058110|158110|989898|1|9999058110|MR|Test|E|Lead 58110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058111|158111|989898|1|9999058111|MR|Test|E|Lead 58111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058112|158112|989898|1|9999058112|MR|Test|E|Lead 58112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058113|158113|989898|1|9999058113|MR|Test|E|Lead 58113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058114|158114|989898|1|9999058114|MR|Test|E|Lead 58114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058115|158115|989898|1|9999058115|MR|Test|E|Lead 58115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058116|158116|989898|1|9999058116|MR|Test|E|Lead 58116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058117|158117|989898|1|9999058117|MR|Test|E|Lead 58117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058118|158118|989898|1|9999058118|MR|Test|E|Lead 58118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058119|158119|989898|1|9999058119|MR|Test|E|Lead 58119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058120|158120|989898|1|9999058120|MR|Test|E|Lead 58120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058121|158121|989898|1|9999058121|MR|Test|E|Lead 58121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058122|158122|989898|1|9999058122|MR|Test|E|Lead 58122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058123|158123|989898|1|9999058123|MR|Test|E|Lead 58123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058124|158124|989898|1|9999058124|MR|Test|E|Lead 58124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058125|158125|989898|1|9999058125|MR|Test|E|Lead 58125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058126|158126|989898|1|9999058126|MR|Test|E|Lead 58126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058127|158127|989898|1|9999058127|MR|Test|E|Lead 58127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058128|158128|989898|1|9999058128|MR|Test|E|Lead 58128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058129|158129|989898|1|9999058129|MR|Test|E|Lead 58129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058130|158130|989898|1|9999058130|MR|Test|E|Lead 58130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058131|158131|989898|1|9999058131|MR|Test|E|Lead 58131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058132|158132|989898|1|9999058132|MR|Test|E|Lead 58132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058133|158133|989898|1|9999058133|MR|Test|E|Lead 58133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058134|158134|989898|1|9999058134|MR|Test|E|Lead 58134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058135|158135|989898|1|9999058135|MR|Test|E|Lead 58135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058136|158136|989898|1|9999058136|MR|Test|E|Lead 58136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058137|158137|989898|1|9999058137|MR|Test|E|Lead 58137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058138|158138|989898|1|9999058138|MR|Test|E|Lead 58138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058139|158139|989898|1|9999058139|MR|Test|E|Lead 58139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058140|158140|989898|1|9999058140|MR|Test|E|Lead 58140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058141|158141|989898|1|9999058141|MR|Test|E|Lead 58141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058142|158142|989898|1|9999058142|MR|Test|E|Lead 58142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058143|158143|989898|1|9999058143|MR|Test|E|Lead 58143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058144|158144|989898|1|9999058144|MR|Test|E|Lead 58144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058145|158145|989898|1|9999058145|MR|Test|E|Lead 58145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058146|158146|989898|1|9999058146|MR|Test|E|Lead 58146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058147|158147|989898|1|9999058147|MR|Test|E|Lead 58147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058148|158148|989898|1|9999058148|MR|Test|E|Lead 58148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058149|158149|989898|1|9999058149|MR|Test|E|Lead 58149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058150|158150|989898|1|9999058150|MR|Test|E|Lead 58150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058151|158151|989898|1|9999058151|MR|Test|E|Lead 58151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058152|158152|989898|1|9999058152|MR|Test|E|Lead 58152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058153|158153|989898|1|9999058153|MR|Test|E|Lead 58153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058154|158154|989898|1|9999058154|MR|Test|E|Lead 58154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058155|158155|989898|1|9999058155|MR|Test|E|Lead 58155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058156|158156|989898|1|9999058156|MR|Test|E|Lead 58156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058157|158157|989898|1|9999058157|MR|Test|E|Lead 58157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058158|158158|989898|1|9999058158|MR|Test|E|Lead 58158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058159|158159|989898|1|9999058159|MR|Test|E|Lead 58159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058160|158160|989898|1|9999058160|MR|Test|E|Lead 58160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058161|158161|989898|1|9999058161|MR|Test|E|Lead 58161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058162|158162|989898|1|9999058162|MR|Test|E|Lead 58162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058163|158163|989898|1|9999058163|MR|Test|E|Lead 58163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058164|158164|989898|1|9999058164|MR|Test|E|Lead 58164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058165|158165|989898|1|9999058165|MR|Test|E|Lead 58165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058166|158166|989898|1|9999058166|MR|Test|E|Lead 58166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058167|158167|989898|1|9999058167|MR|Test|E|Lead 58167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058168|158168|989898|1|9999058168|MR|Test|E|Lead 58168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058169|158169|989898|1|9999058169|MR|Test|E|Lead 58169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058170|158170|989898|1|9999058170|MR|Test|E|Lead 58170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058171|158171|989898|1|9999058171|MR|Test|E|Lead 58171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058172|158172|989898|1|9999058172|MR|Test|E|Lead 58172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058173|158173|989898|1|9999058173|MR|Test|E|Lead 58173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058174|158174|989898|1|9999058174|MR|Test|E|Lead 58174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058175|158175|989898|1|9999058175|MR|Test|E|Lead 58175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058176|158176|989898|1|9999058176|MR|Test|E|Lead 58176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058177|158177|989898|1|9999058177|MR|Test|E|Lead 58177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058178|158178|989898|1|9999058178|MR|Test|E|Lead 58178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058179|158179|989898|1|9999058179|MR|Test|E|Lead 58179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058180|158180|989898|1|9999058180|MR|Test|E|Lead 58180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058181|158181|989898|1|9999058181|MR|Test|E|Lead 58181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058182|158182|989898|1|9999058182|MR|Test|E|Lead 58182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058183|158183|989898|1|9999058183|MR|Test|E|Lead 58183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058184|158184|989898|1|9999058184|MR|Test|E|Lead 58184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058185|158185|989898|1|9999058185|MR|Test|E|Lead 58185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058186|158186|989898|1|9999058186|MR|Test|E|Lead 58186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058187|158187|989898|1|9999058187|MR|Test|E|Lead 58187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058188|158188|989898|1|9999058188|MR|Test|E|Lead 58188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058189|158189|989898|1|9999058189|MR|Test|E|Lead 58189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058190|158190|989898|1|9999058190|MR|Test|E|Lead 58190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058191|158191|989898|1|9999058191|MR|Test|E|Lead 58191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058192|158192|989898|1|9999058192|MR|Test|E|Lead 58192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058193|158193|989898|1|9999058193|MR|Test|E|Lead 58193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058194|158194|989898|1|9999058194|MR|Test|E|Lead 58194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058195|158195|989898|1|9999058195|MR|Test|E|Lead 58195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058196|158196|989898|1|9999058196|MR|Test|E|Lead 58196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058197|158197|989898|1|9999058197|MR|Test|E|Lead 58197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058198|158198|989898|1|9999058198|MR|Test|E|Lead 58198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058199|158199|989898|1|9999058199|MR|Test|E|Lead 58199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058200|158200|989898|1|9999058200|MR|Test|E|Lead 58200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058201|158201|989898|1|9999058201|MR|Test|E|Lead 58201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058202|158202|989898|1|9999058202|MR|Test|E|Lead 58202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058203|158203|989898|1|9999058203|MR|Test|E|Lead 58203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058204|158204|989898|1|9999058204|MR|Test|E|Lead 58204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058205|158205|989898|1|9999058205|MR|Test|E|Lead 58205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058206|158206|989898|1|9999058206|MR|Test|E|Lead 58206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058207|158207|989898|1|9999058207|MR|Test|E|Lead 58207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058208|158208|989898|1|9999058208|MR|Test|E|Lead 58208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058209|158209|989898|1|9999058209|MR|Test|E|Lead 58209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058210|158210|989898|1|9999058210|MR|Test|E|Lead 58210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058211|158211|989898|1|9999058211|MR|Test|E|Lead 58211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058212|158212|989898|1|9999058212|MR|Test|E|Lead 58212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058213|158213|989898|1|9999058213|MR|Test|E|Lead 58213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058214|158214|989898|1|9999058214|MR|Test|E|Lead 58214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058215|158215|989898|1|9999058215|MR|Test|E|Lead 58215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058216|158216|989898|1|9999058216|MR|Test|E|Lead 58216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058217|158217|989898|1|9999058217|MR|Test|E|Lead 58217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058218|158218|989898|1|9999058218|MR|Test|E|Lead 58218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058219|158219|989898|1|9999058219|MR|Test|E|Lead 58219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058220|158220|989898|1|9999058220|MR|Test|E|Lead 58220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058221|158221|989898|1|9999058221|MR|Test|E|Lead 58221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058222|158222|989898|1|9999058222|MR|Test|E|Lead 58222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058223|158223|989898|1|9999058223|MR|Test|E|Lead 58223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058224|158224|989898|1|9999058224|MR|Test|E|Lead 58224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058225|158225|989898|1|9999058225|MR|Test|E|Lead 58225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058226|158226|989898|1|9999058226|MR|Test|E|Lead 58226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058227|158227|989898|1|9999058227|MR|Test|E|Lead 58227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058228|158228|989898|1|9999058228|MR|Test|E|Lead 58228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058229|158229|989898|1|9999058229|MR|Test|E|Lead 58229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058230|158230|989898|1|9999058230|MR|Test|E|Lead 58230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058231|158231|989898|1|9999058231|MR|Test|E|Lead 58231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058232|158232|989898|1|9999058232|MR|Test|E|Lead 58232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058233|158233|989898|1|9999058233|MR|Test|E|Lead 58233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058234|158234|989898|1|9999058234|MR|Test|E|Lead 58234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058235|158235|989898|1|9999058235|MR|Test|E|Lead 58235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058236|158236|989898|1|9999058236|MR|Test|E|Lead 58236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058237|158237|989898|1|9999058237|MR|Test|E|Lead 58237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058238|158238|989898|1|9999058238|MR|Test|E|Lead 58238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058239|158239|989898|1|9999058239|MR|Test|E|Lead 58239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058240|158240|989898|1|9999058240|MR|Test|E|Lead 58240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058241|158241|989898|1|9999058241|MR|Test|E|Lead 58241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058242|158242|989898|1|9999058242|MR|Test|E|Lead 58242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058243|158243|989898|1|9999058243|MR|Test|E|Lead 58243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058244|158244|989898|1|9999058244|MR|Test|E|Lead 58244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058245|158245|989898|1|9999058245|MR|Test|E|Lead 58245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058246|158246|989898|1|9999058246|MR|Test|E|Lead 58246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058247|158247|989898|1|9999058247|MR|Test|E|Lead 58247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058248|158248|989898|1|9999058248|MR|Test|E|Lead 58248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058249|158249|989898|1|9999058249|MR|Test|E|Lead 58249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058250|158250|989898|1|9999058250|MR|Test|E|Lead 58250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058251|158251|989898|1|9999058251|MR|Test|E|Lead 58251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058252|158252|989898|1|9999058252|MR|Test|E|Lead 58252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058253|158253|989898|1|9999058253|MR|Test|E|Lead 58253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058254|158254|989898|1|9999058254|MR|Test|E|Lead 58254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058255|158255|989898|1|9999058255|MR|Test|E|Lead 58255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058256|158256|989898|1|9999058256|MR|Test|E|Lead 58256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058257|158257|989898|1|9999058257|MR|Test|E|Lead 58257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058258|158258|989898|1|9999058258|MR|Test|E|Lead 58258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058259|158259|989898|1|9999058259|MR|Test|E|Lead 58259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058260|158260|989898|1|9999058260|MR|Test|E|Lead 58260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058261|158261|989898|1|9999058261|MR|Test|E|Lead 58261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058262|158262|989898|1|9999058262|MR|Test|E|Lead 58262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058263|158263|989898|1|9999058263|MR|Test|E|Lead 58263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058264|158264|989898|1|9999058264|MR|Test|E|Lead 58264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058265|158265|989898|1|9999058265|MR|Test|E|Lead 58265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058266|158266|989898|1|9999058266|MR|Test|E|Lead 58266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058267|158267|989898|1|9999058267|MR|Test|E|Lead 58267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058268|158268|989898|1|9999058268|MR|Test|E|Lead 58268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058269|158269|989898|1|9999058269|MR|Test|E|Lead 58269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058270|158270|989898|1|9999058270|MR|Test|E|Lead 58270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058271|158271|989898|1|9999058271|MR|Test|E|Lead 58271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058272|158272|989898|1|9999058272|MR|Test|E|Lead 58272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058273|158273|989898|1|9999058273|MR|Test|E|Lead 58273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058274|158274|989898|1|9999058274|MR|Test|E|Lead 58274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058275|158275|989898|1|9999058275|MR|Test|E|Lead 58275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058276|158276|989898|1|9999058276|MR|Test|E|Lead 58276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058277|158277|989898|1|9999058277|MR|Test|E|Lead 58277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058278|158278|989898|1|9999058278|MR|Test|E|Lead 58278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058279|158279|989898|1|9999058279|MR|Test|E|Lead 58279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058280|158280|989898|1|9999058280|MR|Test|E|Lead 58280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058281|158281|989898|1|9999058281|MR|Test|E|Lead 58281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058282|158282|989898|1|9999058282|MR|Test|E|Lead 58282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058283|158283|989898|1|9999058283|MR|Test|E|Lead 58283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058284|158284|989898|1|9999058284|MR|Test|E|Lead 58284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058285|158285|989898|1|9999058285|MR|Test|E|Lead 58285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058286|158286|989898|1|9999058286|MR|Test|E|Lead 58286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058287|158287|989898|1|9999058287|MR|Test|E|Lead 58287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058288|158288|989898|1|9999058288|MR|Test|E|Lead 58288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058289|158289|989898|1|9999058289|MR|Test|E|Lead 58289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058290|158290|989898|1|9999058290|MR|Test|E|Lead 58290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058291|158291|989898|1|9999058291|MR|Test|E|Lead 58291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058292|158292|989898|1|9999058292|MR|Test|E|Lead 58292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058293|158293|989898|1|9999058293|MR|Test|E|Lead 58293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058294|158294|989898|1|9999058294|MR|Test|E|Lead 58294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058295|158295|989898|1|9999058295|MR|Test|E|Lead 58295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058296|158296|989898|1|9999058296|MR|Test|E|Lead 58296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058297|158297|989898|1|9999058297|MR|Test|E|Lead 58297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058298|158298|989898|1|9999058298|MR|Test|E|Lead 58298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058299|158299|989898|1|9999058299|MR|Test|E|Lead 58299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058300|158300|989898|1|9999058300|MR|Test|E|Lead 58300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058301|158301|989898|1|9999058301|MR|Test|E|Lead 58301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058302|158302|989898|1|9999058302|MR|Test|E|Lead 58302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058303|158303|989898|1|9999058303|MR|Test|E|Lead 58303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058304|158304|989898|1|9999058304|MR|Test|E|Lead 58304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058305|158305|989898|1|9999058305|MR|Test|E|Lead 58305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058306|158306|989898|1|9999058306|MR|Test|E|Lead 58306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058307|158307|989898|1|9999058307|MR|Test|E|Lead 58307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058308|158308|989898|1|9999058308|MR|Test|E|Lead 58308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058309|158309|989898|1|9999058309|MR|Test|E|Lead 58309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058310|158310|989898|1|9999058310|MR|Test|E|Lead 58310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058311|158311|989898|1|9999058311|MR|Test|E|Lead 58311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058312|158312|989898|1|9999058312|MR|Test|E|Lead 58312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058313|158313|989898|1|9999058313|MR|Test|E|Lead 58313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058314|158314|989898|1|9999058314|MR|Test|E|Lead 58314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058315|158315|989898|1|9999058315|MR|Test|E|Lead 58315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058316|158316|989898|1|9999058316|MR|Test|E|Lead 58316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058317|158317|989898|1|9999058317|MR|Test|E|Lead 58317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058318|158318|989898|1|9999058318|MR|Test|E|Lead 58318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058319|158319|989898|1|9999058319|MR|Test|E|Lead 58319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058320|158320|989898|1|9999058320|MR|Test|E|Lead 58320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058321|158321|989898|1|9999058321|MR|Test|E|Lead 58321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058322|158322|989898|1|9999058322|MR|Test|E|Lead 58322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058323|158323|989898|1|9999058323|MR|Test|E|Lead 58323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058324|158324|989898|1|9999058324|MR|Test|E|Lead 58324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058325|158325|989898|1|9999058325|MR|Test|E|Lead 58325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058326|158326|989898|1|9999058326|MR|Test|E|Lead 58326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058327|158327|989898|1|9999058327|MR|Test|E|Lead 58327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058328|158328|989898|1|9999058328|MR|Test|E|Lead 58328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058329|158329|989898|1|9999058329|MR|Test|E|Lead 58329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058330|158330|989898|1|9999058330|MR|Test|E|Lead 58330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058331|158331|989898|1|9999058331|MR|Test|E|Lead 58331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058332|158332|989898|1|9999058332|MR|Test|E|Lead 58332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058333|158333|989898|1|9999058333|MR|Test|E|Lead 58333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058334|158334|989898|1|9999058334|MR|Test|E|Lead 58334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058335|158335|989898|1|9999058335|MR|Test|E|Lead 58335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058336|158336|989898|1|9999058336|MR|Test|E|Lead 58336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058337|158337|989898|1|9999058337|MR|Test|E|Lead 58337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058338|158338|989898|1|9999058338|MR|Test|E|Lead 58338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058339|158339|989898|1|9999058339|MR|Test|E|Lead 58339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058340|158340|989898|1|9999058340|MR|Test|E|Lead 58340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058341|158341|989898|1|9999058341|MR|Test|E|Lead 58341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058342|158342|989898|1|9999058342|MR|Test|E|Lead 58342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058343|158343|989898|1|9999058343|MR|Test|E|Lead 58343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058344|158344|989898|1|9999058344|MR|Test|E|Lead 58344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058345|158345|989898|1|9999058345|MR|Test|E|Lead 58345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058346|158346|989898|1|9999058346|MR|Test|E|Lead 58346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058347|158347|989898|1|9999058347|MR|Test|E|Lead 58347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058348|158348|989898|1|9999058348|MR|Test|E|Lead 58348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058349|158349|989898|1|9999058349|MR|Test|E|Lead 58349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058350|158350|989898|1|9999058350|MR|Test|E|Lead 58350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058351|158351|989898|1|9999058351|MR|Test|E|Lead 58351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058352|158352|989898|1|9999058352|MR|Test|E|Lead 58352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058353|158353|989898|1|9999058353|MR|Test|E|Lead 58353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058354|158354|989898|1|9999058354|MR|Test|E|Lead 58354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058355|158355|989898|1|9999058355|MR|Test|E|Lead 58355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058356|158356|989898|1|9999058356|MR|Test|E|Lead 58356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058357|158357|989898|1|9999058357|MR|Test|E|Lead 58357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058358|158358|989898|1|9999058358|MR|Test|E|Lead 58358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058359|158359|989898|1|9999058359|MR|Test|E|Lead 58359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058360|158360|989898|1|9999058360|MR|Test|E|Lead 58360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058361|158361|989898|1|9999058361|MR|Test|E|Lead 58361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058362|158362|989898|1|9999058362|MR|Test|E|Lead 58362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058363|158363|989898|1|9999058363|MR|Test|E|Lead 58363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058364|158364|989898|1|9999058364|MR|Test|E|Lead 58364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058365|158365|989898|1|9999058365|MR|Test|E|Lead 58365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058366|158366|989898|1|9999058366|MR|Test|E|Lead 58366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058367|158367|989898|1|9999058367|MR|Test|E|Lead 58367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058368|158368|989898|1|9999058368|MR|Test|E|Lead 58368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058369|158369|989898|1|9999058369|MR|Test|E|Lead 58369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058370|158370|989898|1|9999058370|MR|Test|E|Lead 58370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058371|158371|989898|1|9999058371|MR|Test|E|Lead 58371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058372|158372|989898|1|9999058372|MR|Test|E|Lead 58372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058373|158373|989898|1|9999058373|MR|Test|E|Lead 58373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058374|158374|989898|1|9999058374|MR|Test|E|Lead 58374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058375|158375|989898|1|9999058375|MR|Test|E|Lead 58375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058376|158376|989898|1|9999058376|MR|Test|E|Lead 58376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058377|158377|989898|1|9999058377|MR|Test|E|Lead 58377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058378|158378|989898|1|9999058378|MR|Test|E|Lead 58378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058379|158379|989898|1|9999058379|MR|Test|E|Lead 58379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058380|158380|989898|1|9999058380|MR|Test|E|Lead 58380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058381|158381|989898|1|9999058381|MR|Test|E|Lead 58381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058382|158382|989898|1|9999058382|MR|Test|E|Lead 58382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058383|158383|989898|1|9999058383|MR|Test|E|Lead 58383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058384|158384|989898|1|9999058384|MR|Test|E|Lead 58384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058385|158385|989898|1|9999058385|MR|Test|E|Lead 58385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058386|158386|989898|1|9999058386|MR|Test|E|Lead 58386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058387|158387|989898|1|9999058387|MR|Test|E|Lead 58387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058388|158388|989898|1|9999058388|MR|Test|E|Lead 58388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058389|158389|989898|1|9999058389|MR|Test|E|Lead 58389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058390|158390|989898|1|9999058390|MR|Test|E|Lead 58390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058391|158391|989898|1|9999058391|MR|Test|E|Lead 58391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058392|158392|989898|1|9999058392|MR|Test|E|Lead 58392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058393|158393|989898|1|9999058393|MR|Test|E|Lead 58393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058394|158394|989898|1|9999058394|MR|Test|E|Lead 58394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058395|158395|989898|1|9999058395|MR|Test|E|Lead 58395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058396|158396|989898|1|9999058396|MR|Test|E|Lead 58396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058397|158397|989898|1|9999058397|MR|Test|E|Lead 58397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058398|158398|989898|1|9999058398|MR|Test|E|Lead 58398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058399|158399|989898|1|9999058399|MR|Test|E|Lead 58399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058400|158400|989898|1|9999058400|MR|Test|E|Lead 58400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058401|158401|989898|1|9999058401|MR|Test|E|Lead 58401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058402|158402|989898|1|9999058402|MR|Test|E|Lead 58402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058403|158403|989898|1|9999058403|MR|Test|E|Lead 58403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058404|158404|989898|1|9999058404|MR|Test|E|Lead 58404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058405|158405|989898|1|9999058405|MR|Test|E|Lead 58405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058406|158406|989898|1|9999058406|MR|Test|E|Lead 58406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058407|158407|989898|1|9999058407|MR|Test|E|Lead 58407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058408|158408|989898|1|9999058408|MR|Test|E|Lead 58408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058409|158409|989898|1|9999058409|MR|Test|E|Lead 58409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058410|158410|989898|1|9999058410|MR|Test|E|Lead 58410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058411|158411|989898|1|9999058411|MR|Test|E|Lead 58411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058412|158412|989898|1|9999058412|MR|Test|E|Lead 58412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058413|158413|989898|1|9999058413|MR|Test|E|Lead 58413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058414|158414|989898|1|9999058414|MR|Test|E|Lead 58414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058415|158415|989898|1|9999058415|MR|Test|E|Lead 58415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058416|158416|989898|1|9999058416|MR|Test|E|Lead 58416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058417|158417|989898|1|9999058417|MR|Test|E|Lead 58417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058418|158418|989898|1|9999058418|MR|Test|E|Lead 58418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058419|158419|989898|1|9999058419|MR|Test|E|Lead 58419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058420|158420|989898|1|9999058420|MR|Test|E|Lead 58420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058421|158421|989898|1|9999058421|MR|Test|E|Lead 58421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058422|158422|989898|1|9999058422|MR|Test|E|Lead 58422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058423|158423|989898|1|9999058423|MR|Test|E|Lead 58423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058424|158424|989898|1|9999058424|MR|Test|E|Lead 58424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058425|158425|989898|1|9999058425|MR|Test|E|Lead 58425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058426|158426|989898|1|9999058426|MR|Test|E|Lead 58426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058427|158427|989898|1|9999058427|MR|Test|E|Lead 58427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058428|158428|989898|1|9999058428|MR|Test|E|Lead 58428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058429|158429|989898|1|9999058429|MR|Test|E|Lead 58429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058430|158430|989898|1|9999058430|MR|Test|E|Lead 58430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058431|158431|989898|1|9999058431|MR|Test|E|Lead 58431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058432|158432|989898|1|9999058432|MR|Test|E|Lead 58432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058433|158433|989898|1|9999058433|MR|Test|E|Lead 58433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058434|158434|989898|1|9999058434|MR|Test|E|Lead 58434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058435|158435|989898|1|9999058435|MR|Test|E|Lead 58435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058436|158436|989898|1|9999058436|MR|Test|E|Lead 58436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058437|158437|989898|1|9999058437|MR|Test|E|Lead 58437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058438|158438|989898|1|9999058438|MR|Test|E|Lead 58438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058439|158439|989898|1|9999058439|MR|Test|E|Lead 58439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058440|158440|989898|1|9999058440|MR|Test|E|Lead 58440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058441|158441|989898|1|9999058441|MR|Test|E|Lead 58441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058442|158442|989898|1|9999058442|MR|Test|E|Lead 58442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058443|158443|989898|1|9999058443|MR|Test|E|Lead 58443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058444|158444|989898|1|9999058444|MR|Test|E|Lead 58444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058445|158445|989898|1|9999058445|MR|Test|E|Lead 58445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058446|158446|989898|1|9999058446|MR|Test|E|Lead 58446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058447|158447|989898|1|9999058447|MR|Test|E|Lead 58447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058448|158448|989898|1|9999058448|MR|Test|E|Lead 58448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058449|158449|989898|1|9999058449|MR|Test|E|Lead 58449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058450|158450|989898|1|9999058450|MR|Test|E|Lead 58450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058451|158451|989898|1|9999058451|MR|Test|E|Lead 58451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058452|158452|989898|1|9999058452|MR|Test|E|Lead 58452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058453|158453|989898|1|9999058453|MR|Test|E|Lead 58453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058454|158454|989898|1|9999058454|MR|Test|E|Lead 58454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058455|158455|989898|1|9999058455|MR|Test|E|Lead 58455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058456|158456|989898|1|9999058456|MR|Test|E|Lead 58456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058457|158457|989898|1|9999058457|MR|Test|E|Lead 58457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058458|158458|989898|1|9999058458|MR|Test|E|Lead 58458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058459|158459|989898|1|9999058459|MR|Test|E|Lead 58459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058460|158460|989898|1|9999058460|MR|Test|E|Lead 58460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058461|158461|989898|1|9999058461|MR|Test|E|Lead 58461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058462|158462|989898|1|9999058462|MR|Test|E|Lead 58462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058463|158463|989898|1|9999058463|MR|Test|E|Lead 58463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058464|158464|989898|1|9999058464|MR|Test|E|Lead 58464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058465|158465|989898|1|9999058465|MR|Test|E|Lead 58465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058466|158466|989898|1|9999058466|MR|Test|E|Lead 58466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058467|158467|989898|1|9999058467|MR|Test|E|Lead 58467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058468|158468|989898|1|9999058468|MR|Test|E|Lead 58468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058469|158469|989898|1|9999058469|MR|Test|E|Lead 58469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058470|158470|989898|1|9999058470|MR|Test|E|Lead 58470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058471|158471|989898|1|9999058471|MR|Test|E|Lead 58471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058472|158472|989898|1|9999058472|MR|Test|E|Lead 58472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058473|158473|989898|1|9999058473|MR|Test|E|Lead 58473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058474|158474|989898|1|9999058474|MR|Test|E|Lead 58474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058475|158475|989898|1|9999058475|MR|Test|E|Lead 58475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058476|158476|989898|1|9999058476|MR|Test|E|Lead 58476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058477|158477|989898|1|9999058477|MR|Test|E|Lead 58477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058478|158478|989898|1|9999058478|MR|Test|E|Lead 58478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058479|158479|989898|1|9999058479|MR|Test|E|Lead 58479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058480|158480|989898|1|9999058480|MR|Test|E|Lead 58480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058481|158481|989898|1|9999058481|MR|Test|E|Lead 58481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058482|158482|989898|1|9999058482|MR|Test|E|Lead 58482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058483|158483|989898|1|9999058483|MR|Test|E|Lead 58483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058484|158484|989898|1|9999058484|MR|Test|E|Lead 58484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058485|158485|989898|1|9999058485|MR|Test|E|Lead 58485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058486|158486|989898|1|9999058486|MR|Test|E|Lead 58486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058487|158487|989898|1|9999058487|MR|Test|E|Lead 58487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058488|158488|989898|1|9999058488|MR|Test|E|Lead 58488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058489|158489|989898|1|9999058489|MR|Test|E|Lead 58489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058490|158490|989898|1|9999058490|MR|Test|E|Lead 58490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058491|158491|989898|1|9999058491|MR|Test|E|Lead 58491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058492|158492|989898|1|9999058492|MR|Test|E|Lead 58492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058493|158493|989898|1|9999058493|MR|Test|E|Lead 58493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058494|158494|989898|1|9999058494|MR|Test|E|Lead 58494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058495|158495|989898|1|9999058495|MR|Test|E|Lead 58495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058496|158496|989898|1|9999058496|MR|Test|E|Lead 58496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058497|158497|989898|1|9999058497|MR|Test|E|Lead 58497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058498|158498|989898|1|9999058498|MR|Test|E|Lead 58498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058499|158499|989898|1|9999058499|MR|Test|E|Lead 58499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058500|158500|989898|1|9999058500|MR|Test|E|Lead 58500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058501|158501|989898|1|9999058501|MR|Test|E|Lead 58501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058502|158502|989898|1|9999058502|MR|Test|E|Lead 58502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058503|158503|989898|1|9999058503|MR|Test|E|Lead 58503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058504|158504|989898|1|9999058504|MR|Test|E|Lead 58504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058505|158505|989898|1|9999058505|MR|Test|E|Lead 58505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058506|158506|989898|1|9999058506|MR|Test|E|Lead 58506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058507|158507|989898|1|9999058507|MR|Test|E|Lead 58507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058508|158508|989898|1|9999058508|MR|Test|E|Lead 58508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058509|158509|989898|1|9999058509|MR|Test|E|Lead 58509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058510|158510|989898|1|9999058510|MR|Test|E|Lead 58510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058511|158511|989898|1|9999058511|MR|Test|E|Lead 58511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058512|158512|989898|1|9999058512|MR|Test|E|Lead 58512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058513|158513|989898|1|9999058513|MR|Test|E|Lead 58513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058514|158514|989898|1|9999058514|MR|Test|E|Lead 58514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058515|158515|989898|1|9999058515|MR|Test|E|Lead 58515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058516|158516|989898|1|9999058516|MR|Test|E|Lead 58516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058517|158517|989898|1|9999058517|MR|Test|E|Lead 58517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058518|158518|989898|1|9999058518|MR|Test|E|Lead 58518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058519|158519|989898|1|9999058519|MR|Test|E|Lead 58519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058520|158520|989898|1|9999058520|MR|Test|E|Lead 58520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058521|158521|989898|1|9999058521|MR|Test|E|Lead 58521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058522|158522|989898|1|9999058522|MR|Test|E|Lead 58522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058523|158523|989898|1|9999058523|MR|Test|E|Lead 58523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058524|158524|989898|1|9999058524|MR|Test|E|Lead 58524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058525|158525|989898|1|9999058525|MR|Test|E|Lead 58525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058526|158526|989898|1|9999058526|MR|Test|E|Lead 58526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058527|158527|989898|1|9999058527|MR|Test|E|Lead 58527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058528|158528|989898|1|9999058528|MR|Test|E|Lead 58528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058529|158529|989898|1|9999058529|MR|Test|E|Lead 58529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058530|158530|989898|1|9999058530|MR|Test|E|Lead 58530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058531|158531|989898|1|9999058531|MR|Test|E|Lead 58531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058532|158532|989898|1|9999058532|MR|Test|E|Lead 58532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058533|158533|989898|1|9999058533|MR|Test|E|Lead 58533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058534|158534|989898|1|9999058534|MR|Test|E|Lead 58534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058535|158535|989898|1|9999058535|MR|Test|E|Lead 58535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058536|158536|989898|1|9999058536|MR|Test|E|Lead 58536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058537|158537|989898|1|9999058537|MR|Test|E|Lead 58537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058538|158538|989898|1|9999058538|MR|Test|E|Lead 58538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058539|158539|989898|1|9999058539|MR|Test|E|Lead 58539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058540|158540|989898|1|9999058540|MR|Test|E|Lead 58540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058541|158541|989898|1|9999058541|MR|Test|E|Lead 58541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058542|158542|989898|1|9999058542|MR|Test|E|Lead 58542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058543|158543|989898|1|9999058543|MR|Test|E|Lead 58543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058544|158544|989898|1|9999058544|MR|Test|E|Lead 58544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058545|158545|989898|1|9999058545|MR|Test|E|Lead 58545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058546|158546|989898|1|9999058546|MR|Test|E|Lead 58546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058547|158547|989898|1|9999058547|MR|Test|E|Lead 58547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058548|158548|989898|1|9999058548|MR|Test|E|Lead 58548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058549|158549|989898|1|9999058549|MR|Test|E|Lead 58549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058550|158550|989898|1|9999058550|MR|Test|E|Lead 58550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058551|158551|989898|1|9999058551|MR|Test|E|Lead 58551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058552|158552|989898|1|9999058552|MR|Test|E|Lead 58552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058553|158553|989898|1|9999058553|MR|Test|E|Lead 58553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058554|158554|989898|1|9999058554|MR|Test|E|Lead 58554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058555|158555|989898|1|9999058555|MR|Test|E|Lead 58555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058556|158556|989898|1|9999058556|MR|Test|E|Lead 58556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058557|158557|989898|1|9999058557|MR|Test|E|Lead 58557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058558|158558|989898|1|9999058558|MR|Test|E|Lead 58558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058559|158559|989898|1|9999058559|MR|Test|E|Lead 58559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058560|158560|989898|1|9999058560|MR|Test|E|Lead 58560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058561|158561|989898|1|9999058561|MR|Test|E|Lead 58561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058562|158562|989898|1|9999058562|MR|Test|E|Lead 58562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058563|158563|989898|1|9999058563|MR|Test|E|Lead 58563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058564|158564|989898|1|9999058564|MR|Test|E|Lead 58564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058565|158565|989898|1|9999058565|MR|Test|E|Lead 58565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058566|158566|989898|1|9999058566|MR|Test|E|Lead 58566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058567|158567|989898|1|9999058567|MR|Test|E|Lead 58567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058568|158568|989898|1|9999058568|MR|Test|E|Lead 58568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058569|158569|989898|1|9999058569|MR|Test|E|Lead 58569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058570|158570|989898|1|9999058570|MR|Test|E|Lead 58570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058571|158571|989898|1|9999058571|MR|Test|E|Lead 58571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058572|158572|989898|1|9999058572|MR|Test|E|Lead 58572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058573|158573|989898|1|9999058573|MR|Test|E|Lead 58573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058574|158574|989898|1|9999058574|MR|Test|E|Lead 58574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058575|158575|989898|1|9999058575|MR|Test|E|Lead 58575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058576|158576|989898|1|9999058576|MR|Test|E|Lead 58576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058577|158577|989898|1|9999058577|MR|Test|E|Lead 58577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058578|158578|989898|1|9999058578|MR|Test|E|Lead 58578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058579|158579|989898|1|9999058579|MR|Test|E|Lead 58579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058580|158580|989898|1|9999058580|MR|Test|E|Lead 58580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058581|158581|989898|1|9999058581|MR|Test|E|Lead 58581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058582|158582|989898|1|9999058582|MR|Test|E|Lead 58582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058583|158583|989898|1|9999058583|MR|Test|E|Lead 58583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058584|158584|989898|1|9999058584|MR|Test|E|Lead 58584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058585|158585|989898|1|9999058585|MR|Test|E|Lead 58585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058586|158586|989898|1|9999058586|MR|Test|E|Lead 58586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058587|158587|989898|1|9999058587|MR|Test|E|Lead 58587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058588|158588|989898|1|9999058588|MR|Test|E|Lead 58588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058589|158589|989898|1|9999058589|MR|Test|E|Lead 58589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058590|158590|989898|1|9999058590|MR|Test|E|Lead 58590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058591|158591|989898|1|9999058591|MR|Test|E|Lead 58591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058592|158592|989898|1|9999058592|MR|Test|E|Lead 58592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058593|158593|989898|1|9999058593|MR|Test|E|Lead 58593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058594|158594|989898|1|9999058594|MR|Test|E|Lead 58594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058595|158595|989898|1|9999058595|MR|Test|E|Lead 58595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058596|158596|989898|1|9999058596|MR|Test|E|Lead 58596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058597|158597|989898|1|9999058597|MR|Test|E|Lead 58597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058598|158598|989898|1|9999058598|MR|Test|E|Lead 58598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058599|158599|989898|1|9999058599|MR|Test|E|Lead 58599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058600|158600|989898|1|9999058600|MR|Test|E|Lead 58600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058601|158601|989898|1|9999058601|MR|Test|E|Lead 58601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058602|158602|989898|1|9999058602|MR|Test|E|Lead 58602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058603|158603|989898|1|9999058603|MR|Test|E|Lead 58603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058604|158604|989898|1|9999058604|MR|Test|E|Lead 58604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058605|158605|989898|1|9999058605|MR|Test|E|Lead 58605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058606|158606|989898|1|9999058606|MR|Test|E|Lead 58606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058607|158607|989898|1|9999058607|MR|Test|E|Lead 58607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058608|158608|989898|1|9999058608|MR|Test|E|Lead 58608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058609|158609|989898|1|9999058609|MR|Test|E|Lead 58609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058610|158610|989898|1|9999058610|MR|Test|E|Lead 58610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058611|158611|989898|1|9999058611|MR|Test|E|Lead 58611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058612|158612|989898|1|9999058612|MR|Test|E|Lead 58612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058613|158613|989898|1|9999058613|MR|Test|E|Lead 58613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058614|158614|989898|1|9999058614|MR|Test|E|Lead 58614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058615|158615|989898|1|9999058615|MR|Test|E|Lead 58615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058616|158616|989898|1|9999058616|MR|Test|E|Lead 58616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058617|158617|989898|1|9999058617|MR|Test|E|Lead 58617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058618|158618|989898|1|9999058618|MR|Test|E|Lead 58618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058619|158619|989898|1|9999058619|MR|Test|E|Lead 58619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058620|158620|989898|1|9999058620|MR|Test|E|Lead 58620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058621|158621|989898|1|9999058621|MR|Test|E|Lead 58621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058622|158622|989898|1|9999058622|MR|Test|E|Lead 58622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058623|158623|989898|1|9999058623|MR|Test|E|Lead 58623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058624|158624|989898|1|9999058624|MR|Test|E|Lead 58624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058625|158625|989898|1|9999058625|MR|Test|E|Lead 58625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058626|158626|989898|1|9999058626|MR|Test|E|Lead 58626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058627|158627|989898|1|9999058627|MR|Test|E|Lead 58627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058628|158628|989898|1|9999058628|MR|Test|E|Lead 58628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058629|158629|989898|1|9999058629|MR|Test|E|Lead 58629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058630|158630|989898|1|9999058630|MR|Test|E|Lead 58630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058631|158631|989898|1|9999058631|MR|Test|E|Lead 58631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058632|158632|989898|1|9999058632|MR|Test|E|Lead 58632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058633|158633|989898|1|9999058633|MR|Test|E|Lead 58633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058634|158634|989898|1|9999058634|MR|Test|E|Lead 58634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058635|158635|989898|1|9999058635|MR|Test|E|Lead 58635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058636|158636|989898|1|9999058636|MR|Test|E|Lead 58636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058637|158637|989898|1|9999058637|MR|Test|E|Lead 58637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058638|158638|989898|1|9999058638|MR|Test|E|Lead 58638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058639|158639|989898|1|9999058639|MR|Test|E|Lead 58639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058640|158640|989898|1|9999058640|MR|Test|E|Lead 58640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058641|158641|989898|1|9999058641|MR|Test|E|Lead 58641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058642|158642|989898|1|9999058642|MR|Test|E|Lead 58642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058643|158643|989898|1|9999058643|MR|Test|E|Lead 58643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058644|158644|989898|1|9999058644|MR|Test|E|Lead 58644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058645|158645|989898|1|9999058645|MR|Test|E|Lead 58645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058646|158646|989898|1|9999058646|MR|Test|E|Lead 58646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058647|158647|989898|1|9999058647|MR|Test|E|Lead 58647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058648|158648|989898|1|9999058648|MR|Test|E|Lead 58648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058649|158649|989898|1|9999058649|MR|Test|E|Lead 58649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058650|158650|989898|1|9999058650|MR|Test|E|Lead 58650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058651|158651|989898|1|9999058651|MR|Test|E|Lead 58651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058652|158652|989898|1|9999058652|MR|Test|E|Lead 58652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058653|158653|989898|1|9999058653|MR|Test|E|Lead 58653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058654|158654|989898|1|9999058654|MR|Test|E|Lead 58654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058655|158655|989898|1|9999058655|MR|Test|E|Lead 58655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058656|158656|989898|1|9999058656|MR|Test|E|Lead 58656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058657|158657|989898|1|9999058657|MR|Test|E|Lead 58657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058658|158658|989898|1|9999058658|MR|Test|E|Lead 58658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058659|158659|989898|1|9999058659|MR|Test|E|Lead 58659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058660|158660|989898|1|9999058660|MR|Test|E|Lead 58660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058661|158661|989898|1|9999058661|MR|Test|E|Lead 58661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058662|158662|989898|1|9999058662|MR|Test|E|Lead 58662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058663|158663|989898|1|9999058663|MR|Test|E|Lead 58663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058664|158664|989898|1|9999058664|MR|Test|E|Lead 58664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058665|158665|989898|1|9999058665|MR|Test|E|Lead 58665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058666|158666|989898|1|9999058666|MR|Test|E|Lead 58666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058667|158667|989898|1|9999058667|MR|Test|E|Lead 58667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058668|158668|989898|1|9999058668|MR|Test|E|Lead 58668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058669|158669|989898|1|9999058669|MR|Test|E|Lead 58669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058670|158670|989898|1|9999058670|MR|Test|E|Lead 58670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058671|158671|989898|1|9999058671|MR|Test|E|Lead 58671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058672|158672|989898|1|9999058672|MR|Test|E|Lead 58672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058673|158673|989898|1|9999058673|MR|Test|E|Lead 58673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058674|158674|989898|1|9999058674|MR|Test|E|Lead 58674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058675|158675|989898|1|9999058675|MR|Test|E|Lead 58675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058676|158676|989898|1|9999058676|MR|Test|E|Lead 58676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058677|158677|989898|1|9999058677|MR|Test|E|Lead 58677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058678|158678|989898|1|9999058678|MR|Test|E|Lead 58678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058679|158679|989898|1|9999058679|MR|Test|E|Lead 58679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058680|158680|989898|1|9999058680|MR|Test|E|Lead 58680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058681|158681|989898|1|9999058681|MR|Test|E|Lead 58681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058682|158682|989898|1|9999058682|MR|Test|E|Lead 58682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058683|158683|989898|1|9999058683|MR|Test|E|Lead 58683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058684|158684|989898|1|9999058684|MR|Test|E|Lead 58684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058685|158685|989898|1|9999058685|MR|Test|E|Lead 58685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058686|158686|989898|1|9999058686|MR|Test|E|Lead 58686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058687|158687|989898|1|9999058687|MR|Test|E|Lead 58687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058688|158688|989898|1|9999058688|MR|Test|E|Lead 58688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058689|158689|989898|1|9999058689|MR|Test|E|Lead 58689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058690|158690|989898|1|9999058690|MR|Test|E|Lead 58690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058691|158691|989898|1|9999058691|MR|Test|E|Lead 58691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058692|158692|989898|1|9999058692|MR|Test|E|Lead 58692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058693|158693|989898|1|9999058693|MR|Test|E|Lead 58693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058694|158694|989898|1|9999058694|MR|Test|E|Lead 58694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058695|158695|989898|1|9999058695|MR|Test|E|Lead 58695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058696|158696|989898|1|9999058696|MR|Test|E|Lead 58696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058697|158697|989898|1|9999058697|MR|Test|E|Lead 58697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058698|158698|989898|1|9999058698|MR|Test|E|Lead 58698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058699|158699|989898|1|9999058699|MR|Test|E|Lead 58699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058700|158700|989898|1|9999058700|MR|Test|E|Lead 58700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058701|158701|989898|1|9999058701|MR|Test|E|Lead 58701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058702|158702|989898|1|9999058702|MR|Test|E|Lead 58702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058703|158703|989898|1|9999058703|MR|Test|E|Lead 58703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058704|158704|989898|1|9999058704|MR|Test|E|Lead 58704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058705|158705|989898|1|9999058705|MR|Test|E|Lead 58705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058706|158706|989898|1|9999058706|MR|Test|E|Lead 58706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058707|158707|989898|1|9999058707|MR|Test|E|Lead 58707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058708|158708|989898|1|9999058708|MR|Test|E|Lead 58708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058709|158709|989898|1|9999058709|MR|Test|E|Lead 58709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058710|158710|989898|1|9999058710|MR|Test|E|Lead 58710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058711|158711|989898|1|9999058711|MR|Test|E|Lead 58711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058712|158712|989898|1|9999058712|MR|Test|E|Lead 58712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058713|158713|989898|1|9999058713|MR|Test|E|Lead 58713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058714|158714|989898|1|9999058714|MR|Test|E|Lead 58714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058715|158715|989898|1|9999058715|MR|Test|E|Lead 58715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058716|158716|989898|1|9999058716|MR|Test|E|Lead 58716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058717|158717|989898|1|9999058717|MR|Test|E|Lead 58717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058718|158718|989898|1|9999058718|MR|Test|E|Lead 58718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058719|158719|989898|1|9999058719|MR|Test|E|Lead 58719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058720|158720|989898|1|9999058720|MR|Test|E|Lead 58720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058721|158721|989898|1|9999058721|MR|Test|E|Lead 58721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058722|158722|989898|1|9999058722|MR|Test|E|Lead 58722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058723|158723|989898|1|9999058723|MR|Test|E|Lead 58723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058724|158724|989898|1|9999058724|MR|Test|E|Lead 58724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058725|158725|989898|1|9999058725|MR|Test|E|Lead 58725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058726|158726|989898|1|9999058726|MR|Test|E|Lead 58726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058727|158727|989898|1|9999058727|MR|Test|E|Lead 58727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058728|158728|989898|1|9999058728|MR|Test|E|Lead 58728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058729|158729|989898|1|9999058729|MR|Test|E|Lead 58729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058730|158730|989898|1|9999058730|MR|Test|E|Lead 58730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058731|158731|989898|1|9999058731|MR|Test|E|Lead 58731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058732|158732|989898|1|9999058732|MR|Test|E|Lead 58732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058733|158733|989898|1|9999058733|MR|Test|E|Lead 58733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058734|158734|989898|1|9999058734|MR|Test|E|Lead 58734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058735|158735|989898|1|9999058735|MR|Test|E|Lead 58735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058736|158736|989898|1|9999058736|MR|Test|E|Lead 58736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058737|158737|989898|1|9999058737|MR|Test|E|Lead 58737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058738|158738|989898|1|9999058738|MR|Test|E|Lead 58738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058739|158739|989898|1|9999058739|MR|Test|E|Lead 58739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058740|158740|989898|1|9999058740|MR|Test|E|Lead 58740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058741|158741|989898|1|9999058741|MR|Test|E|Lead 58741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058742|158742|989898|1|9999058742|MR|Test|E|Lead 58742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058743|158743|989898|1|9999058743|MR|Test|E|Lead 58743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058744|158744|989898|1|9999058744|MR|Test|E|Lead 58744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058745|158745|989898|1|9999058745|MR|Test|E|Lead 58745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058746|158746|989898|1|9999058746|MR|Test|E|Lead 58746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058747|158747|989898|1|9999058747|MR|Test|E|Lead 58747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058748|158748|989898|1|9999058748|MR|Test|E|Lead 58748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058749|158749|989898|1|9999058749|MR|Test|E|Lead 58749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058750|158750|989898|1|9999058750|MR|Test|E|Lead 58750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058751|158751|989898|1|9999058751|MR|Test|E|Lead 58751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058752|158752|989898|1|9999058752|MR|Test|E|Lead 58752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058753|158753|989898|1|9999058753|MR|Test|E|Lead 58753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058754|158754|989898|1|9999058754|MR|Test|E|Lead 58754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058755|158755|989898|1|9999058755|MR|Test|E|Lead 58755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058756|158756|989898|1|9999058756|MR|Test|E|Lead 58756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058757|158757|989898|1|9999058757|MR|Test|E|Lead 58757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058758|158758|989898|1|9999058758|MR|Test|E|Lead 58758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058759|158759|989898|1|9999058759|MR|Test|E|Lead 58759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058760|158760|989898|1|9999058760|MR|Test|E|Lead 58760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058761|158761|989898|1|9999058761|MR|Test|E|Lead 58761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058762|158762|989898|1|9999058762|MR|Test|E|Lead 58762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058763|158763|989898|1|9999058763|MR|Test|E|Lead 58763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058764|158764|989898|1|9999058764|MR|Test|E|Lead 58764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058765|158765|989898|1|9999058765|MR|Test|E|Lead 58765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058766|158766|989898|1|9999058766|MR|Test|E|Lead 58766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058767|158767|989898|1|9999058767|MR|Test|E|Lead 58767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058768|158768|989898|1|9999058768|MR|Test|E|Lead 58768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058769|158769|989898|1|9999058769|MR|Test|E|Lead 58769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058770|158770|989898|1|9999058770|MR|Test|E|Lead 58770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058771|158771|989898|1|9999058771|MR|Test|E|Lead 58771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058772|158772|989898|1|9999058772|MR|Test|E|Lead 58772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058773|158773|989898|1|9999058773|MR|Test|E|Lead 58773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058774|158774|989898|1|9999058774|MR|Test|E|Lead 58774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058775|158775|989898|1|9999058775|MR|Test|E|Lead 58775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058776|158776|989898|1|9999058776|MR|Test|E|Lead 58776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058777|158777|989898|1|9999058777|MR|Test|E|Lead 58777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058778|158778|989898|1|9999058778|MR|Test|E|Lead 58778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058779|158779|989898|1|9999058779|MR|Test|E|Lead 58779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058780|158780|989898|1|9999058780|MR|Test|E|Lead 58780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058781|158781|989898|1|9999058781|MR|Test|E|Lead 58781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058782|158782|989898|1|9999058782|MR|Test|E|Lead 58782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058783|158783|989898|1|9999058783|MR|Test|E|Lead 58783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058784|158784|989898|1|9999058784|MR|Test|E|Lead 58784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058785|158785|989898|1|9999058785|MR|Test|E|Lead 58785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058786|158786|989898|1|9999058786|MR|Test|E|Lead 58786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058787|158787|989898|1|9999058787|MR|Test|E|Lead 58787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058788|158788|989898|1|9999058788|MR|Test|E|Lead 58788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058789|158789|989898|1|9999058789|MR|Test|E|Lead 58789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058790|158790|989898|1|9999058790|MR|Test|E|Lead 58790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058791|158791|989898|1|9999058791|MR|Test|E|Lead 58791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058792|158792|989898|1|9999058792|MR|Test|E|Lead 58792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058793|158793|989898|1|9999058793|MR|Test|E|Lead 58793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058794|158794|989898|1|9999058794|MR|Test|E|Lead 58794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058795|158795|989898|1|9999058795|MR|Test|E|Lead 58795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058796|158796|989898|1|9999058796|MR|Test|E|Lead 58796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058797|158797|989898|1|9999058797|MR|Test|E|Lead 58797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058798|158798|989898|1|9999058798|MR|Test|E|Lead 58798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058799|158799|989898|1|9999058799|MR|Test|E|Lead 58799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058800|158800|989898|1|9999058800|MR|Test|E|Lead 58800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058801|158801|989898|1|9999058801|MR|Test|E|Lead 58801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058802|158802|989898|1|9999058802|MR|Test|E|Lead 58802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058803|158803|989898|1|9999058803|MR|Test|E|Lead 58803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058804|158804|989898|1|9999058804|MR|Test|E|Lead 58804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058805|158805|989898|1|9999058805|MR|Test|E|Lead 58805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058806|158806|989898|1|9999058806|MR|Test|E|Lead 58806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058807|158807|989898|1|9999058807|MR|Test|E|Lead 58807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058808|158808|989898|1|9999058808|MR|Test|E|Lead 58808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058809|158809|989898|1|9999058809|MR|Test|E|Lead 58809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058810|158810|989898|1|9999058810|MR|Test|E|Lead 58810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058811|158811|989898|1|9999058811|MR|Test|E|Lead 58811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058812|158812|989898|1|9999058812|MR|Test|E|Lead 58812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058813|158813|989898|1|9999058813|MR|Test|E|Lead 58813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058814|158814|989898|1|9999058814|MR|Test|E|Lead 58814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058815|158815|989898|1|9999058815|MR|Test|E|Lead 58815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058816|158816|989898|1|9999058816|MR|Test|E|Lead 58816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058817|158817|989898|1|9999058817|MR|Test|E|Lead 58817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058818|158818|989898|1|9999058818|MR|Test|E|Lead 58818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058819|158819|989898|1|9999058819|MR|Test|E|Lead 58819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058820|158820|989898|1|9999058820|MR|Test|E|Lead 58820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058821|158821|989898|1|9999058821|MR|Test|E|Lead 58821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058822|158822|989898|1|9999058822|MR|Test|E|Lead 58822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058823|158823|989898|1|9999058823|MR|Test|E|Lead 58823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058824|158824|989898|1|9999058824|MR|Test|E|Lead 58824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058825|158825|989898|1|9999058825|MR|Test|E|Lead 58825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058826|158826|989898|1|9999058826|MR|Test|E|Lead 58826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058827|158827|989898|1|9999058827|MR|Test|E|Lead 58827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058828|158828|989898|1|9999058828|MR|Test|E|Lead 58828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058829|158829|989898|1|9999058829|MR|Test|E|Lead 58829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058830|158830|989898|1|9999058830|MR|Test|E|Lead 58830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058831|158831|989898|1|9999058831|MR|Test|E|Lead 58831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058832|158832|989898|1|9999058832|MR|Test|E|Lead 58832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058833|158833|989898|1|9999058833|MR|Test|E|Lead 58833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058834|158834|989898|1|9999058834|MR|Test|E|Lead 58834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058835|158835|989898|1|9999058835|MR|Test|E|Lead 58835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058836|158836|989898|1|9999058836|MR|Test|E|Lead 58836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058837|158837|989898|1|9999058837|MR|Test|E|Lead 58837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058838|158838|989898|1|9999058838|MR|Test|E|Lead 58838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058839|158839|989898|1|9999058839|MR|Test|E|Lead 58839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058840|158840|989898|1|9999058840|MR|Test|E|Lead 58840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058841|158841|989898|1|9999058841|MR|Test|E|Lead 58841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058842|158842|989898|1|9999058842|MR|Test|E|Lead 58842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058843|158843|989898|1|9999058843|MR|Test|E|Lead 58843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058844|158844|989898|1|9999058844|MR|Test|E|Lead 58844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058845|158845|989898|1|9999058845|MR|Test|E|Lead 58845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058846|158846|989898|1|9999058846|MR|Test|E|Lead 58846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058847|158847|989898|1|9999058847|MR|Test|E|Lead 58847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058848|158848|989898|1|9999058848|MR|Test|E|Lead 58848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058849|158849|989898|1|9999058849|MR|Test|E|Lead 58849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058850|158850|989898|1|9999058850|MR|Test|E|Lead 58850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058851|158851|989898|1|9999058851|MR|Test|E|Lead 58851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058852|158852|989898|1|9999058852|MR|Test|E|Lead 58852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058853|158853|989898|1|9999058853|MR|Test|E|Lead 58853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058854|158854|989898|1|9999058854|MR|Test|E|Lead 58854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058855|158855|989898|1|9999058855|MR|Test|E|Lead 58855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058856|158856|989898|1|9999058856|MR|Test|E|Lead 58856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058857|158857|989898|1|9999058857|MR|Test|E|Lead 58857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058858|158858|989898|1|9999058858|MR|Test|E|Lead 58858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058859|158859|989898|1|9999058859|MR|Test|E|Lead 58859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058860|158860|989898|1|9999058860|MR|Test|E|Lead 58860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058861|158861|989898|1|9999058861|MR|Test|E|Lead 58861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058862|158862|989898|1|9999058862|MR|Test|E|Lead 58862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058863|158863|989898|1|9999058863|MR|Test|E|Lead 58863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058864|158864|989898|1|9999058864|MR|Test|E|Lead 58864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058865|158865|989898|1|9999058865|MR|Test|E|Lead 58865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058866|158866|989898|1|9999058866|MR|Test|E|Lead 58866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058867|158867|989898|1|9999058867|MR|Test|E|Lead 58867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058868|158868|989898|1|9999058868|MR|Test|E|Lead 58868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058869|158869|989898|1|9999058869|MR|Test|E|Lead 58869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058870|158870|989898|1|9999058870|MR|Test|E|Lead 58870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058871|158871|989898|1|9999058871|MR|Test|E|Lead 58871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058872|158872|989898|1|9999058872|MR|Test|E|Lead 58872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058873|158873|989898|1|9999058873|MR|Test|E|Lead 58873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058874|158874|989898|1|9999058874|MR|Test|E|Lead 58874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058875|158875|989898|1|9999058875|MR|Test|E|Lead 58875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058876|158876|989898|1|9999058876|MR|Test|E|Lead 58876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058877|158877|989898|1|9999058877|MR|Test|E|Lead 58877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058878|158878|989898|1|9999058878|MR|Test|E|Lead 58878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058879|158879|989898|1|9999058879|MR|Test|E|Lead 58879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058880|158880|989898|1|9999058880|MR|Test|E|Lead 58880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058881|158881|989898|1|9999058881|MR|Test|E|Lead 58881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058882|158882|989898|1|9999058882|MR|Test|E|Lead 58882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058883|158883|989898|1|9999058883|MR|Test|E|Lead 58883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058884|158884|989898|1|9999058884|MR|Test|E|Lead 58884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058885|158885|989898|1|9999058885|MR|Test|E|Lead 58885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058886|158886|989898|1|9999058886|MR|Test|E|Lead 58886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058887|158887|989898|1|9999058887|MR|Test|E|Lead 58887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058888|158888|989898|1|9999058888|MR|Test|E|Lead 58888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058889|158889|989898|1|9999058889|MR|Test|E|Lead 58889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058890|158890|989898|1|9999058890|MR|Test|E|Lead 58890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058891|158891|989898|1|9999058891|MR|Test|E|Lead 58891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058892|158892|989898|1|9999058892|MR|Test|E|Lead 58892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058893|158893|989898|1|9999058893|MR|Test|E|Lead 58893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058894|158894|989898|1|9999058894|MR|Test|E|Lead 58894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058895|158895|989898|1|9999058895|MR|Test|E|Lead 58895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058896|158896|989898|1|9999058896|MR|Test|E|Lead 58896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058897|158897|989898|1|9999058897|MR|Test|E|Lead 58897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058898|158898|989898|1|9999058898|MR|Test|E|Lead 58898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058899|158899|989898|1|9999058899|MR|Test|E|Lead 58899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058900|158900|989898|1|9999058900|MR|Test|E|Lead 58900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058901|158901|989898|1|9999058901|MR|Test|E|Lead 58901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058902|158902|989898|1|9999058902|MR|Test|E|Lead 58902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058903|158903|989898|1|9999058903|MR|Test|E|Lead 58903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058904|158904|989898|1|9999058904|MR|Test|E|Lead 58904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058905|158905|989898|1|9999058905|MR|Test|E|Lead 58905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058906|158906|989898|1|9999058906|MR|Test|E|Lead 58906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058907|158907|989898|1|9999058907|MR|Test|E|Lead 58907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058908|158908|989898|1|9999058908|MR|Test|E|Lead 58908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058909|158909|989898|1|9999058909|MR|Test|E|Lead 58909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058910|158910|989898|1|9999058910|MR|Test|E|Lead 58910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058911|158911|989898|1|9999058911|MR|Test|E|Lead 58911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058912|158912|989898|1|9999058912|MR|Test|E|Lead 58912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058913|158913|989898|1|9999058913|MR|Test|E|Lead 58913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058914|158914|989898|1|9999058914|MR|Test|E|Lead 58914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058915|158915|989898|1|9999058915|MR|Test|E|Lead 58915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058916|158916|989898|1|9999058916|MR|Test|E|Lead 58916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058917|158917|989898|1|9999058917|MR|Test|E|Lead 58917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058918|158918|989898|1|9999058918|MR|Test|E|Lead 58918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058919|158919|989898|1|9999058919|MR|Test|E|Lead 58919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058920|158920|989898|1|9999058920|MR|Test|E|Lead 58920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058921|158921|989898|1|9999058921|MR|Test|E|Lead 58921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058922|158922|989898|1|9999058922|MR|Test|E|Lead 58922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058923|158923|989898|1|9999058923|MR|Test|E|Lead 58923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058924|158924|989898|1|9999058924|MR|Test|E|Lead 58924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058925|158925|989898|1|9999058925|MR|Test|E|Lead 58925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058926|158926|989898|1|9999058926|MR|Test|E|Lead 58926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058927|158927|989898|1|9999058927|MR|Test|E|Lead 58927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058928|158928|989898|1|9999058928|MR|Test|E|Lead 58928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058929|158929|989898|1|9999058929|MR|Test|E|Lead 58929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058930|158930|989898|1|9999058930|MR|Test|E|Lead 58930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058931|158931|989898|1|9999058931|MR|Test|E|Lead 58931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058932|158932|989898|1|9999058932|MR|Test|E|Lead 58932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058933|158933|989898|1|9999058933|MR|Test|E|Lead 58933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058934|158934|989898|1|9999058934|MR|Test|E|Lead 58934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058935|158935|989898|1|9999058935|MR|Test|E|Lead 58935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058936|158936|989898|1|9999058936|MR|Test|E|Lead 58936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058937|158937|989898|1|9999058937|MR|Test|E|Lead 58937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058938|158938|989898|1|9999058938|MR|Test|E|Lead 58938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058939|158939|989898|1|9999058939|MR|Test|E|Lead 58939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058940|158940|989898|1|9999058940|MR|Test|E|Lead 58940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058941|158941|989898|1|9999058941|MR|Test|E|Lead 58941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058942|158942|989898|1|9999058942|MR|Test|E|Lead 58942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058943|158943|989898|1|9999058943|MR|Test|E|Lead 58943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058944|158944|989898|1|9999058944|MR|Test|E|Lead 58944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058945|158945|989898|1|9999058945|MR|Test|E|Lead 58945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058946|158946|989898|1|9999058946|MR|Test|E|Lead 58946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058947|158947|989898|1|9999058947|MR|Test|E|Lead 58947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058948|158948|989898|1|9999058948|MR|Test|E|Lead 58948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058949|158949|989898|1|9999058949|MR|Test|E|Lead 58949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058950|158950|989898|1|9999058950|MR|Test|E|Lead 58950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058951|158951|989898|1|9999058951|MR|Test|E|Lead 58951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058952|158952|989898|1|9999058952|MR|Test|E|Lead 58952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058953|158953|989898|1|9999058953|MR|Test|E|Lead 58953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058954|158954|989898|1|9999058954|MR|Test|E|Lead 58954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058955|158955|989898|1|9999058955|MR|Test|E|Lead 58955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058956|158956|989898|1|9999058956|MR|Test|E|Lead 58956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058957|158957|989898|1|9999058957|MR|Test|E|Lead 58957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058958|158958|989898|1|9999058958|MR|Test|E|Lead 58958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058959|158959|989898|1|9999058959|MR|Test|E|Lead 58959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058960|158960|989898|1|9999058960|MR|Test|E|Lead 58960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058961|158961|989898|1|9999058961|MR|Test|E|Lead 58961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058962|158962|989898|1|9999058962|MR|Test|E|Lead 58962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058963|158963|989898|1|9999058963|MR|Test|E|Lead 58963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058964|158964|989898|1|9999058964|MR|Test|E|Lead 58964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058965|158965|989898|1|9999058965|MR|Test|E|Lead 58965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058966|158966|989898|1|9999058966|MR|Test|E|Lead 58966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058967|158967|989898|1|9999058967|MR|Test|E|Lead 58967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058968|158968|989898|1|9999058968|MR|Test|E|Lead 58968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058969|158969|989898|1|9999058969|MR|Test|E|Lead 58969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058970|158970|989898|1|9999058970|MR|Test|E|Lead 58970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058971|158971|989898|1|9999058971|MR|Test|E|Lead 58971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058972|158972|989898|1|9999058972|MR|Test|E|Lead 58972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058973|158973|989898|1|9999058973|MR|Test|E|Lead 58973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058974|158974|989898|1|9999058974|MR|Test|E|Lead 58974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058975|158975|989898|1|9999058975|MR|Test|E|Lead 58975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058976|158976|989898|1|9999058976|MR|Test|E|Lead 58976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058977|158977|989898|1|9999058977|MR|Test|E|Lead 58977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058978|158978|989898|1|9999058978|MR|Test|E|Lead 58978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058979|158979|989898|1|9999058979|MR|Test|E|Lead 58979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058980|158980|989898|1|9999058980|MR|Test|E|Lead 58980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058981|158981|989898|1|9999058981|MR|Test|E|Lead 58981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058982|158982|989898|1|9999058982|MR|Test|E|Lead 58982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058983|158983|989898|1|9999058983|MR|Test|E|Lead 58983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058984|158984|989898|1|9999058984|MR|Test|E|Lead 58984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058985|158985|989898|1|9999058985|MR|Test|E|Lead 58985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058986|158986|989898|1|9999058986|MR|Test|E|Lead 58986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058987|158987|989898|1|9999058987|MR|Test|E|Lead 58987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058988|158988|989898|1|9999058988|MR|Test|E|Lead 58988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058989|158989|989898|1|9999058989|MR|Test|E|Lead 58989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058990|158990|989898|1|9999058990|MR|Test|E|Lead 58990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058991|158991|989898|1|9999058991|MR|Test|E|Lead 58991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058992|158992|989898|1|9999058992|MR|Test|E|Lead 58992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058993|158993|989898|1|9999058993|MR|Test|E|Lead 58993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058994|158994|989898|1|9999058994|MR|Test|E|Lead 58994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058995|158995|989898|1|9999058995|MR|Test|E|Lead 58995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058996|158996|989898|1|9999058996|MR|Test|E|Lead 58996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058997|158997|989898|1|9999058997|MR|Test|E|Lead 58997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058998|158998|989898|1|9999058998|MR|Test|E|Lead 58998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1058999|158999|989898|1|9999058999|MR|Test|E|Lead 58999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059000|159000|989898|1|9999059000|MR|Test|E|Lead 59000|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059001|159001|989898|1|9999059001|MR|Test|E|Lead 59001|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059002|159002|989898|1|9999059002|MR|Test|E|Lead 59002|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059003|159003|989898|1|9999059003|MR|Test|E|Lead 59003|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059004|159004|989898|1|9999059004|MR|Test|E|Lead 59004|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059005|159005|989898|1|9999059005|MR|Test|E|Lead 59005|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059006|159006|989898|1|9999059006|MR|Test|E|Lead 59006|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059007|159007|989898|1|9999059007|MR|Test|E|Lead 59007|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059008|159008|989898|1|9999059008|MR|Test|E|Lead 59008|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059009|159009|989898|1|9999059009|MR|Test|E|Lead 59009|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059010|159010|989898|1|9999059010|MR|Test|E|Lead 59010|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059011|159011|989898|1|9999059011|MR|Test|E|Lead 59011|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059012|159012|989898|1|9999059012|MR|Test|E|Lead 59012|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059013|159013|989898|1|9999059013|MR|Test|E|Lead 59013|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059014|159014|989898|1|9999059014|MR|Test|E|Lead 59014|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059015|159015|989898|1|9999059015|MR|Test|E|Lead 59015|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059016|159016|989898|1|9999059016|MR|Test|E|Lead 59016|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059017|159017|989898|1|9999059017|MR|Test|E|Lead 59017|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059018|159018|989898|1|9999059018|MR|Test|E|Lead 59018|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059019|159019|989898|1|9999059019|MR|Test|E|Lead 59019|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059020|159020|989898|1|9999059020|MR|Test|E|Lead 59020|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059021|159021|989898|1|9999059021|MR|Test|E|Lead 59021|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059022|159022|989898|1|9999059022|MR|Test|E|Lead 59022|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059023|159023|989898|1|9999059023|MR|Test|E|Lead 59023|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059024|159024|989898|1|9999059024|MR|Test|E|Lead 59024|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059025|159025|989898|1|9999059025|MR|Test|E|Lead 59025|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059026|159026|989898|1|9999059026|MR|Test|E|Lead 59026|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059027|159027|989898|1|9999059027|MR|Test|E|Lead 59027|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059028|159028|989898|1|9999059028|MR|Test|E|Lead 59028|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059029|159029|989898|1|9999059029|MR|Test|E|Lead 59029|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059030|159030|989898|1|9999059030|MR|Test|E|Lead 59030|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059031|159031|989898|1|9999059031|MR|Test|E|Lead 59031|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059032|159032|989898|1|9999059032|MR|Test|E|Lead 59032|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059033|159033|989898|1|9999059033|MR|Test|E|Lead 59033|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059034|159034|989898|1|9999059034|MR|Test|E|Lead 59034|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059035|159035|989898|1|9999059035|MR|Test|E|Lead 59035|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059036|159036|989898|1|9999059036|MR|Test|E|Lead 59036|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059037|159037|989898|1|9999059037|MR|Test|E|Lead 59037|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059038|159038|989898|1|9999059038|MR|Test|E|Lead 59038|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059039|159039|989898|1|9999059039|MR|Test|E|Lead 59039|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059040|159040|989898|1|9999059040|MR|Test|E|Lead 59040|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059041|159041|989898|1|9999059041|MR|Test|E|Lead 59041|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059042|159042|989898|1|9999059042|MR|Test|E|Lead 59042|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059043|159043|989898|1|9999059043|MR|Test|E|Lead 59043|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059044|159044|989898|1|9999059044|MR|Test|E|Lead 59044|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059045|159045|989898|1|9999059045|MR|Test|E|Lead 59045|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059046|159046|989898|1|9999059046|MR|Test|E|Lead 59046|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059047|159047|989898|1|9999059047|MR|Test|E|Lead 59047|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059048|159048|989898|1|9999059048|MR|Test|E|Lead 59048|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059049|159049|989898|1|9999059049|MR|Test|E|Lead 59049|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059050|159050|989898|1|9999059050|MR|Test|E|Lead 59050|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059051|159051|989898|1|9999059051|MR|Test|E|Lead 59051|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059052|159052|989898|1|9999059052|MR|Test|E|Lead 59052|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059053|159053|989898|1|9999059053|MR|Test|E|Lead 59053|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059054|159054|989898|1|9999059054|MR|Test|E|Lead 59054|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059055|159055|989898|1|9999059055|MR|Test|E|Lead 59055|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059056|159056|989898|1|9999059056|MR|Test|E|Lead 59056|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059057|159057|989898|1|9999059057|MR|Test|E|Lead 59057|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059058|159058|989898|1|9999059058|MR|Test|E|Lead 59058|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059059|159059|989898|1|9999059059|MR|Test|E|Lead 59059|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059060|159060|989898|1|9999059060|MR|Test|E|Lead 59060|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059061|159061|989898|1|9999059061|MR|Test|E|Lead 59061|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059062|159062|989898|1|9999059062|MR|Test|E|Lead 59062|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059063|159063|989898|1|9999059063|MR|Test|E|Lead 59063|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059064|159064|989898|1|9999059064|MR|Test|E|Lead 59064|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059065|159065|989898|1|9999059065|MR|Test|E|Lead 59065|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059066|159066|989898|1|9999059066|MR|Test|E|Lead 59066|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059067|159067|989898|1|9999059067|MR|Test|E|Lead 59067|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059068|159068|989898|1|9999059068|MR|Test|E|Lead 59068|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059069|159069|989898|1|9999059069|MR|Test|E|Lead 59069|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059070|159070|989898|1|9999059070|MR|Test|E|Lead 59070|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059071|159071|989898|1|9999059071|MR|Test|E|Lead 59071|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059072|159072|989898|1|9999059072|MR|Test|E|Lead 59072|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059073|159073|989898|1|9999059073|MR|Test|E|Lead 59073|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059074|159074|989898|1|9999059074|MR|Test|E|Lead 59074|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059075|159075|989898|1|9999059075|MR|Test|E|Lead 59075|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059076|159076|989898|1|9999059076|MR|Test|E|Lead 59076|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059077|159077|989898|1|9999059077|MR|Test|E|Lead 59077|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059078|159078|989898|1|9999059078|MR|Test|E|Lead 59078|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059079|159079|989898|1|9999059079|MR|Test|E|Lead 59079|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059080|159080|989898|1|9999059080|MR|Test|E|Lead 59080|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059081|159081|989898|1|9999059081|MR|Test|E|Lead 59081|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059082|159082|989898|1|9999059082|MR|Test|E|Lead 59082|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059083|159083|989898|1|9999059083|MR|Test|E|Lead 59083|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059084|159084|989898|1|9999059084|MR|Test|E|Lead 59084|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059085|159085|989898|1|9999059085|MR|Test|E|Lead 59085|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059086|159086|989898|1|9999059086|MR|Test|E|Lead 59086|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059087|159087|989898|1|9999059087|MR|Test|E|Lead 59087|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059088|159088|989898|1|9999059088|MR|Test|E|Lead 59088|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059089|159089|989898|1|9999059089|MR|Test|E|Lead 59089|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059090|159090|989898|1|9999059090|MR|Test|E|Lead 59090|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059091|159091|989898|1|9999059091|MR|Test|E|Lead 59091|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059092|159092|989898|1|9999059092|MR|Test|E|Lead 59092|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059093|159093|989898|1|9999059093|MR|Test|E|Lead 59093|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059094|159094|989898|1|9999059094|MR|Test|E|Lead 59094|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059095|159095|989898|1|9999059095|MR|Test|E|Lead 59095|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059096|159096|989898|1|9999059096|MR|Test|E|Lead 59096|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059097|159097|989898|1|9999059097|MR|Test|E|Lead 59097|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059098|159098|989898|1|9999059098|MR|Test|E|Lead 59098|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059099|159099|989898|1|9999059099|MR|Test|E|Lead 59099|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059100|159100|989898|1|9999059100|MR|Test|E|Lead 59100|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059101|159101|989898|1|9999059101|MR|Test|E|Lead 59101|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059102|159102|989898|1|9999059102|MR|Test|E|Lead 59102|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059103|159103|989898|1|9999059103|MR|Test|E|Lead 59103|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059104|159104|989898|1|9999059104|MR|Test|E|Lead 59104|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059105|159105|989898|1|9999059105|MR|Test|E|Lead 59105|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059106|159106|989898|1|9999059106|MR|Test|E|Lead 59106|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059107|159107|989898|1|9999059107|MR|Test|E|Lead 59107|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059108|159108|989898|1|9999059108|MR|Test|E|Lead 59108|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059109|159109|989898|1|9999059109|MR|Test|E|Lead 59109|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059110|159110|989898|1|9999059110|MR|Test|E|Lead 59110|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059111|159111|989898|1|9999059111|MR|Test|E|Lead 59111|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059112|159112|989898|1|9999059112|MR|Test|E|Lead 59112|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059113|159113|989898|1|9999059113|MR|Test|E|Lead 59113|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059114|159114|989898|1|9999059114|MR|Test|E|Lead 59114|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059115|159115|989898|1|9999059115|MR|Test|E|Lead 59115|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059116|159116|989898|1|9999059116|MR|Test|E|Lead 59116|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059117|159117|989898|1|9999059117|MR|Test|E|Lead 59117|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059118|159118|989898|1|9999059118|MR|Test|E|Lead 59118|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059119|159119|989898|1|9999059119|MR|Test|E|Lead 59119|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059120|159120|989898|1|9999059120|MR|Test|E|Lead 59120|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059121|159121|989898|1|9999059121|MR|Test|E|Lead 59121|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059122|159122|989898|1|9999059122|MR|Test|E|Lead 59122|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059123|159123|989898|1|9999059123|MR|Test|E|Lead 59123|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059124|159124|989898|1|9999059124|MR|Test|E|Lead 59124|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059125|159125|989898|1|9999059125|MR|Test|E|Lead 59125|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059126|159126|989898|1|9999059126|MR|Test|E|Lead 59126|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059127|159127|989898|1|9999059127|MR|Test|E|Lead 59127|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059128|159128|989898|1|9999059128|MR|Test|E|Lead 59128|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059129|159129|989898|1|9999059129|MR|Test|E|Lead 59129|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059130|159130|989898|1|9999059130|MR|Test|E|Lead 59130|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059131|159131|989898|1|9999059131|MR|Test|E|Lead 59131|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059132|159132|989898|1|9999059132|MR|Test|E|Lead 59132|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059133|159133|989898|1|9999059133|MR|Test|E|Lead 59133|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059134|159134|989898|1|9999059134|MR|Test|E|Lead 59134|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059135|159135|989898|1|9999059135|MR|Test|E|Lead 59135|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059136|159136|989898|1|9999059136|MR|Test|E|Lead 59136|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059137|159137|989898|1|9999059137|MR|Test|E|Lead 59137|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059138|159138|989898|1|9999059138|MR|Test|E|Lead 59138|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059139|159139|989898|1|9999059139|MR|Test|E|Lead 59139|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059140|159140|989898|1|9999059140|MR|Test|E|Lead 59140|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059141|159141|989898|1|9999059141|MR|Test|E|Lead 59141|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059142|159142|989898|1|9999059142|MR|Test|E|Lead 59142|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059143|159143|989898|1|9999059143|MR|Test|E|Lead 59143|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059144|159144|989898|1|9999059144|MR|Test|E|Lead 59144|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059145|159145|989898|1|9999059145|MR|Test|E|Lead 59145|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059146|159146|989898|1|9999059146|MR|Test|E|Lead 59146|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059147|159147|989898|1|9999059147|MR|Test|E|Lead 59147|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059148|159148|989898|1|9999059148|MR|Test|E|Lead 59148|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059149|159149|989898|1|9999059149|MR|Test|E|Lead 59149|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059150|159150|989898|1|9999059150|MR|Test|E|Lead 59150|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059151|159151|989898|1|9999059151|MR|Test|E|Lead 59151|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059152|159152|989898|1|9999059152|MR|Test|E|Lead 59152|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059153|159153|989898|1|9999059153|MR|Test|E|Lead 59153|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059154|159154|989898|1|9999059154|MR|Test|E|Lead 59154|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059155|159155|989898|1|9999059155|MR|Test|E|Lead 59155|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059156|159156|989898|1|9999059156|MR|Test|E|Lead 59156|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059157|159157|989898|1|9999059157|MR|Test|E|Lead 59157|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059158|159158|989898|1|9999059158|MR|Test|E|Lead 59158|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059159|159159|989898|1|9999059159|MR|Test|E|Lead 59159|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059160|159160|989898|1|9999059160|MR|Test|E|Lead 59160|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059161|159161|989898|1|9999059161|MR|Test|E|Lead 59161|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059162|159162|989898|1|9999059162|MR|Test|E|Lead 59162|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059163|159163|989898|1|9999059163|MR|Test|E|Lead 59163|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059164|159164|989898|1|9999059164|MR|Test|E|Lead 59164|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059165|159165|989898|1|9999059165|MR|Test|E|Lead 59165|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059166|159166|989898|1|9999059166|MR|Test|E|Lead 59166|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059167|159167|989898|1|9999059167|MR|Test|E|Lead 59167|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059168|159168|989898|1|9999059168|MR|Test|E|Lead 59168|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059169|159169|989898|1|9999059169|MR|Test|E|Lead 59169|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059170|159170|989898|1|9999059170|MR|Test|E|Lead 59170|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059171|159171|989898|1|9999059171|MR|Test|E|Lead 59171|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059172|159172|989898|1|9999059172|MR|Test|E|Lead 59172|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059173|159173|989898|1|9999059173|MR|Test|E|Lead 59173|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059174|159174|989898|1|9999059174|MR|Test|E|Lead 59174|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059175|159175|989898|1|9999059175|MR|Test|E|Lead 59175|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059176|159176|989898|1|9999059176|MR|Test|E|Lead 59176|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059177|159177|989898|1|9999059177|MR|Test|E|Lead 59177|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059178|159178|989898|1|9999059178|MR|Test|E|Lead 59178|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059179|159179|989898|1|9999059179|MR|Test|E|Lead 59179|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059180|159180|989898|1|9999059180|MR|Test|E|Lead 59180|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059181|159181|989898|1|9999059181|MR|Test|E|Lead 59181|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059182|159182|989898|1|9999059182|MR|Test|E|Lead 59182|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059183|159183|989898|1|9999059183|MR|Test|E|Lead 59183|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059184|159184|989898|1|9999059184|MR|Test|E|Lead 59184|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059185|159185|989898|1|9999059185|MR|Test|E|Lead 59185|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059186|159186|989898|1|9999059186|MR|Test|E|Lead 59186|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059187|159187|989898|1|9999059187|MR|Test|E|Lead 59187|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059188|159188|989898|1|9999059188|MR|Test|E|Lead 59188|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059189|159189|989898|1|9999059189|MR|Test|E|Lead 59189|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059190|159190|989898|1|9999059190|MR|Test|E|Lead 59190|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059191|159191|989898|1|9999059191|MR|Test|E|Lead 59191|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059192|159192|989898|1|9999059192|MR|Test|E|Lead 59192|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059193|159193|989898|1|9999059193|MR|Test|E|Lead 59193|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059194|159194|989898|1|9999059194|MR|Test|E|Lead 59194|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059195|159195|989898|1|9999059195|MR|Test|E|Lead 59195|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059196|159196|989898|1|9999059196|MR|Test|E|Lead 59196|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059197|159197|989898|1|9999059197|MR|Test|E|Lead 59197|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059198|159198|989898|1|9999059198|MR|Test|E|Lead 59198|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059199|159199|989898|1|9999059199|MR|Test|E|Lead 59199|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059200|159200|989898|1|9999059200|MR|Test|E|Lead 59200|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059201|159201|989898|1|9999059201|MR|Test|E|Lead 59201|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059202|159202|989898|1|9999059202|MR|Test|E|Lead 59202|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059203|159203|989898|1|9999059203|MR|Test|E|Lead 59203|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059204|159204|989898|1|9999059204|MR|Test|E|Lead 59204|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059205|159205|989898|1|9999059205|MR|Test|E|Lead 59205|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059206|159206|989898|1|9999059206|MR|Test|E|Lead 59206|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059207|159207|989898|1|9999059207|MR|Test|E|Lead 59207|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059208|159208|989898|1|9999059208|MR|Test|E|Lead 59208|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059209|159209|989898|1|9999059209|MR|Test|E|Lead 59209|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059210|159210|989898|1|9999059210|MR|Test|E|Lead 59210|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059211|159211|989898|1|9999059211|MR|Test|E|Lead 59211|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059212|159212|989898|1|9999059212|MR|Test|E|Lead 59212|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059213|159213|989898|1|9999059213|MR|Test|E|Lead 59213|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059214|159214|989898|1|9999059214|MR|Test|E|Lead 59214|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059215|159215|989898|1|9999059215|MR|Test|E|Lead 59215|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059216|159216|989898|1|9999059216|MR|Test|E|Lead 59216|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059217|159217|989898|1|9999059217|MR|Test|E|Lead 59217|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059218|159218|989898|1|9999059218|MR|Test|E|Lead 59218|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059219|159219|989898|1|9999059219|MR|Test|E|Lead 59219|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059220|159220|989898|1|9999059220|MR|Test|E|Lead 59220|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059221|159221|989898|1|9999059221|MR|Test|E|Lead 59221|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059222|159222|989898|1|9999059222|MR|Test|E|Lead 59222|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059223|159223|989898|1|9999059223|MR|Test|E|Lead 59223|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059224|159224|989898|1|9999059224|MR|Test|E|Lead 59224|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059225|159225|989898|1|9999059225|MR|Test|E|Lead 59225|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059226|159226|989898|1|9999059226|MR|Test|E|Lead 59226|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059227|159227|989898|1|9999059227|MR|Test|E|Lead 59227|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059228|159228|989898|1|9999059228|MR|Test|E|Lead 59228|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059229|159229|989898|1|9999059229|MR|Test|E|Lead 59229|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059230|159230|989898|1|9999059230|MR|Test|E|Lead 59230|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059231|159231|989898|1|9999059231|MR|Test|E|Lead 59231|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059232|159232|989898|1|9999059232|MR|Test|E|Lead 59232|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059233|159233|989898|1|9999059233|MR|Test|E|Lead 59233|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059234|159234|989898|1|9999059234|MR|Test|E|Lead 59234|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059235|159235|989898|1|9999059235|MR|Test|E|Lead 59235|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059236|159236|989898|1|9999059236|MR|Test|E|Lead 59236|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059237|159237|989898|1|9999059237|MR|Test|E|Lead 59237|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059238|159238|989898|1|9999059238|MR|Test|E|Lead 59238|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059239|159239|989898|1|9999059239|MR|Test|E|Lead 59239|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059240|159240|989898|1|9999059240|MR|Test|E|Lead 59240|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059241|159241|989898|1|9999059241|MR|Test|E|Lead 59241|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059242|159242|989898|1|9999059242|MR|Test|E|Lead 59242|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059243|159243|989898|1|9999059243|MR|Test|E|Lead 59243|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059244|159244|989898|1|9999059244|MR|Test|E|Lead 59244|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059245|159245|989898|1|9999059245|MR|Test|E|Lead 59245|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059246|159246|989898|1|9999059246|MR|Test|E|Lead 59246|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059247|159247|989898|1|9999059247|MR|Test|E|Lead 59247|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059248|159248|989898|1|9999059248|MR|Test|E|Lead 59248|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059249|159249|989898|1|9999059249|MR|Test|E|Lead 59249|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059250|159250|989898|1|9999059250|MR|Test|E|Lead 59250|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059251|159251|989898|1|9999059251|MR|Test|E|Lead 59251|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059252|159252|989898|1|9999059252|MR|Test|E|Lead 59252|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059253|159253|989898|1|9999059253|MR|Test|E|Lead 59253|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059254|159254|989898|1|9999059254|MR|Test|E|Lead 59254|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059255|159255|989898|1|9999059255|MR|Test|E|Lead 59255|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059256|159256|989898|1|9999059256|MR|Test|E|Lead 59256|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059257|159257|989898|1|9999059257|MR|Test|E|Lead 59257|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059258|159258|989898|1|9999059258|MR|Test|E|Lead 59258|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059259|159259|989898|1|9999059259|MR|Test|E|Lead 59259|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059260|159260|989898|1|9999059260|MR|Test|E|Lead 59260|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059261|159261|989898|1|9999059261|MR|Test|E|Lead 59261|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059262|159262|989898|1|9999059262|MR|Test|E|Lead 59262|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059263|159263|989898|1|9999059263|MR|Test|E|Lead 59263|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059264|159264|989898|1|9999059264|MR|Test|E|Lead 59264|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059265|159265|989898|1|9999059265|MR|Test|E|Lead 59265|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059266|159266|989898|1|9999059266|MR|Test|E|Lead 59266|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059267|159267|989898|1|9999059267|MR|Test|E|Lead 59267|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059268|159268|989898|1|9999059268|MR|Test|E|Lead 59268|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059269|159269|989898|1|9999059269|MR|Test|E|Lead 59269|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059270|159270|989898|1|9999059270|MR|Test|E|Lead 59270|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059271|159271|989898|1|9999059271|MR|Test|E|Lead 59271|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059272|159272|989898|1|9999059272|MR|Test|E|Lead 59272|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059273|159273|989898|1|9999059273|MR|Test|E|Lead 59273|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059274|159274|989898|1|9999059274|MR|Test|E|Lead 59274|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059275|159275|989898|1|9999059275|MR|Test|E|Lead 59275|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059276|159276|989898|1|9999059276|MR|Test|E|Lead 59276|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059277|159277|989898|1|9999059277|MR|Test|E|Lead 59277|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059278|159278|989898|1|9999059278|MR|Test|E|Lead 59278|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059279|159279|989898|1|9999059279|MR|Test|E|Lead 59279|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059280|159280|989898|1|9999059280|MR|Test|E|Lead 59280|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059281|159281|989898|1|9999059281|MR|Test|E|Lead 59281|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059282|159282|989898|1|9999059282|MR|Test|E|Lead 59282|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059283|159283|989898|1|9999059283|MR|Test|E|Lead 59283|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059284|159284|989898|1|9999059284|MR|Test|E|Lead 59284|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059285|159285|989898|1|9999059285|MR|Test|E|Lead 59285|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059286|159286|989898|1|9999059286|MR|Test|E|Lead 59286|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059287|159287|989898|1|9999059287|MR|Test|E|Lead 59287|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059288|159288|989898|1|9999059288|MR|Test|E|Lead 59288|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059289|159289|989898|1|9999059289|MR|Test|E|Lead 59289|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059290|159290|989898|1|9999059290|MR|Test|E|Lead 59290|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059291|159291|989898|1|9999059291|MR|Test|E|Lead 59291|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059292|159292|989898|1|9999059292|MR|Test|E|Lead 59292|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059293|159293|989898|1|9999059293|MR|Test|E|Lead 59293|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059294|159294|989898|1|9999059294|MR|Test|E|Lead 59294|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059295|159295|989898|1|9999059295|MR|Test|E|Lead 59295|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059296|159296|989898|1|9999059296|MR|Test|E|Lead 59296|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059297|159297|989898|1|9999059297|MR|Test|E|Lead 59297|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059298|159298|989898|1|9999059298|MR|Test|E|Lead 59298|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059299|159299|989898|1|9999059299|MR|Test|E|Lead 59299|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059300|159300|989898|1|9999059300|MR|Test|E|Lead 59300|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059301|159301|989898|1|9999059301|MR|Test|E|Lead 59301|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059302|159302|989898|1|9999059302|MR|Test|E|Lead 59302|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059303|159303|989898|1|9999059303|MR|Test|E|Lead 59303|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059304|159304|989898|1|9999059304|MR|Test|E|Lead 59304|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059305|159305|989898|1|9999059305|MR|Test|E|Lead 59305|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059306|159306|989898|1|9999059306|MR|Test|E|Lead 59306|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059307|159307|989898|1|9999059307|MR|Test|E|Lead 59307|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059308|159308|989898|1|9999059308|MR|Test|E|Lead 59308|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059309|159309|989898|1|9999059309|MR|Test|E|Lead 59309|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059310|159310|989898|1|9999059310|MR|Test|E|Lead 59310|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059311|159311|989898|1|9999059311|MR|Test|E|Lead 59311|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059312|159312|989898|1|9999059312|MR|Test|E|Lead 59312|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059313|159313|989898|1|9999059313|MR|Test|E|Lead 59313|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059314|159314|989898|1|9999059314|MR|Test|E|Lead 59314|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059315|159315|989898|1|9999059315|MR|Test|E|Lead 59315|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059316|159316|989898|1|9999059316|MR|Test|E|Lead 59316|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059317|159317|989898|1|9999059317|MR|Test|E|Lead 59317|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059318|159318|989898|1|9999059318|MR|Test|E|Lead 59318|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059319|159319|989898|1|9999059319|MR|Test|E|Lead 59319|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059320|159320|989898|1|9999059320|MR|Test|E|Lead 59320|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059321|159321|989898|1|9999059321|MR|Test|E|Lead 59321|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059322|159322|989898|1|9999059322|MR|Test|E|Lead 59322|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059323|159323|989898|1|9999059323|MR|Test|E|Lead 59323|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059324|159324|989898|1|9999059324|MR|Test|E|Lead 59324|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059325|159325|989898|1|9999059325|MR|Test|E|Lead 59325|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059326|159326|989898|1|9999059326|MR|Test|E|Lead 59326|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059327|159327|989898|1|9999059327|MR|Test|E|Lead 59327|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059328|159328|989898|1|9999059328|MR|Test|E|Lead 59328|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059329|159329|989898|1|9999059329|MR|Test|E|Lead 59329|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059330|159330|989898|1|9999059330|MR|Test|E|Lead 59330|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059331|159331|989898|1|9999059331|MR|Test|E|Lead 59331|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059332|159332|989898|1|9999059332|MR|Test|E|Lead 59332|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059333|159333|989898|1|9999059333|MR|Test|E|Lead 59333|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059334|159334|989898|1|9999059334|MR|Test|E|Lead 59334|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059335|159335|989898|1|9999059335|MR|Test|E|Lead 59335|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059336|159336|989898|1|9999059336|MR|Test|E|Lead 59336|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059337|159337|989898|1|9999059337|MR|Test|E|Lead 59337|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059338|159338|989898|1|9999059338|MR|Test|E|Lead 59338|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059339|159339|989898|1|9999059339|MR|Test|E|Lead 59339|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059340|159340|989898|1|9999059340|MR|Test|E|Lead 59340|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059341|159341|989898|1|9999059341|MR|Test|E|Lead 59341|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059342|159342|989898|1|9999059342|MR|Test|E|Lead 59342|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059343|159343|989898|1|9999059343|MR|Test|E|Lead 59343|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059344|159344|989898|1|9999059344|MR|Test|E|Lead 59344|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059345|159345|989898|1|9999059345|MR|Test|E|Lead 59345|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059346|159346|989898|1|9999059346|MR|Test|E|Lead 59346|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059347|159347|989898|1|9999059347|MR|Test|E|Lead 59347|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059348|159348|989898|1|9999059348|MR|Test|E|Lead 59348|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059349|159349|989898|1|9999059349|MR|Test|E|Lead 59349|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059350|159350|989898|1|9999059350|MR|Test|E|Lead 59350|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059351|159351|989898|1|9999059351|MR|Test|E|Lead 59351|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059352|159352|989898|1|9999059352|MR|Test|E|Lead 59352|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059353|159353|989898|1|9999059353|MR|Test|E|Lead 59353|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059354|159354|989898|1|9999059354|MR|Test|E|Lead 59354|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059355|159355|989898|1|9999059355|MR|Test|E|Lead 59355|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059356|159356|989898|1|9999059356|MR|Test|E|Lead 59356|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059357|159357|989898|1|9999059357|MR|Test|E|Lead 59357|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059358|159358|989898|1|9999059358|MR|Test|E|Lead 59358|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059359|159359|989898|1|9999059359|MR|Test|E|Lead 59359|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059360|159360|989898|1|9999059360|MR|Test|E|Lead 59360|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059361|159361|989898|1|9999059361|MR|Test|E|Lead 59361|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059362|159362|989898|1|9999059362|MR|Test|E|Lead 59362|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059363|159363|989898|1|9999059363|MR|Test|E|Lead 59363|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059364|159364|989898|1|9999059364|MR|Test|E|Lead 59364|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059365|159365|989898|1|9999059365|MR|Test|E|Lead 59365|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059366|159366|989898|1|9999059366|MR|Test|E|Lead 59366|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059367|159367|989898|1|9999059367|MR|Test|E|Lead 59367|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059368|159368|989898|1|9999059368|MR|Test|E|Lead 59368|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059369|159369|989898|1|9999059369|MR|Test|E|Lead 59369|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059370|159370|989898|1|9999059370|MR|Test|E|Lead 59370|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059371|159371|989898|1|9999059371|MR|Test|E|Lead 59371|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059372|159372|989898|1|9999059372|MR|Test|E|Lead 59372|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059373|159373|989898|1|9999059373|MR|Test|E|Lead 59373|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059374|159374|989898|1|9999059374|MR|Test|E|Lead 59374|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059375|159375|989898|1|9999059375|MR|Test|E|Lead 59375|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059376|159376|989898|1|9999059376|MR|Test|E|Lead 59376|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059377|159377|989898|1|9999059377|MR|Test|E|Lead 59377|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059378|159378|989898|1|9999059378|MR|Test|E|Lead 59378|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059379|159379|989898|1|9999059379|MR|Test|E|Lead 59379|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059380|159380|989898|1|9999059380|MR|Test|E|Lead 59380|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059381|159381|989898|1|9999059381|MR|Test|E|Lead 59381|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059382|159382|989898|1|9999059382|MR|Test|E|Lead 59382|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059383|159383|989898|1|9999059383|MR|Test|E|Lead 59383|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059384|159384|989898|1|9999059384|MR|Test|E|Lead 59384|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059385|159385|989898|1|9999059385|MR|Test|E|Lead 59385|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059386|159386|989898|1|9999059386|MR|Test|E|Lead 59386|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059387|159387|989898|1|9999059387|MR|Test|E|Lead 59387|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059388|159388|989898|1|9999059388|MR|Test|E|Lead 59388|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059389|159389|989898|1|9999059389|MR|Test|E|Lead 59389|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059390|159390|989898|1|9999059390|MR|Test|E|Lead 59390|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059391|159391|989898|1|9999059391|MR|Test|E|Lead 59391|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059392|159392|989898|1|9999059392|MR|Test|E|Lead 59392|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059393|159393|989898|1|9999059393|MR|Test|E|Lead 59393|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059394|159394|989898|1|9999059394|MR|Test|E|Lead 59394|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059395|159395|989898|1|9999059395|MR|Test|E|Lead 59395|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059396|159396|989898|1|9999059396|MR|Test|E|Lead 59396|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059397|159397|989898|1|9999059397|MR|Test|E|Lead 59397|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059398|159398|989898|1|9999059398|MR|Test|E|Lead 59398|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059399|159399|989898|1|9999059399|MR|Test|E|Lead 59399|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059400|159400|989898|1|9999059400|MR|Test|E|Lead 59400|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059401|159401|989898|1|9999059401|MR|Test|E|Lead 59401|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059402|159402|989898|1|9999059402|MR|Test|E|Lead 59402|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059403|159403|989898|1|9999059403|MR|Test|E|Lead 59403|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059404|159404|989898|1|9999059404|MR|Test|E|Lead 59404|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059405|159405|989898|1|9999059405|MR|Test|E|Lead 59405|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059406|159406|989898|1|9999059406|MR|Test|E|Lead 59406|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059407|159407|989898|1|9999059407|MR|Test|E|Lead 59407|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059408|159408|989898|1|9999059408|MR|Test|E|Lead 59408|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059409|159409|989898|1|9999059409|MR|Test|E|Lead 59409|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059410|159410|989898|1|9999059410|MR|Test|E|Lead 59410|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059411|159411|989898|1|9999059411|MR|Test|E|Lead 59411|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059412|159412|989898|1|9999059412|MR|Test|E|Lead 59412|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059413|159413|989898|1|9999059413|MR|Test|E|Lead 59413|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059414|159414|989898|1|9999059414|MR|Test|E|Lead 59414|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059415|159415|989898|1|9999059415|MR|Test|E|Lead 59415|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059416|159416|989898|1|9999059416|MR|Test|E|Lead 59416|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059417|159417|989898|1|9999059417|MR|Test|E|Lead 59417|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059418|159418|989898|1|9999059418|MR|Test|E|Lead 59418|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059419|159419|989898|1|9999059419|MR|Test|E|Lead 59419|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059420|159420|989898|1|9999059420|MR|Test|E|Lead 59420|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059421|159421|989898|1|9999059421|MR|Test|E|Lead 59421|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059422|159422|989898|1|9999059422|MR|Test|E|Lead 59422|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059423|159423|989898|1|9999059423|MR|Test|E|Lead 59423|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059424|159424|989898|1|9999059424|MR|Test|E|Lead 59424|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059425|159425|989898|1|9999059425|MR|Test|E|Lead 59425|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059426|159426|989898|1|9999059426|MR|Test|E|Lead 59426|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059427|159427|989898|1|9999059427|MR|Test|E|Lead 59427|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059428|159428|989898|1|9999059428|MR|Test|E|Lead 59428|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059429|159429|989898|1|9999059429|MR|Test|E|Lead 59429|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059430|159430|989898|1|9999059430|MR|Test|E|Lead 59430|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059431|159431|989898|1|9999059431|MR|Test|E|Lead 59431|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059432|159432|989898|1|9999059432|MR|Test|E|Lead 59432|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059433|159433|989898|1|9999059433|MR|Test|E|Lead 59433|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059434|159434|989898|1|9999059434|MR|Test|E|Lead 59434|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059435|159435|989898|1|9999059435|MR|Test|E|Lead 59435|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059436|159436|989898|1|9999059436|MR|Test|E|Lead 59436|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059437|159437|989898|1|9999059437|MR|Test|E|Lead 59437|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059438|159438|989898|1|9999059438|MR|Test|E|Lead 59438|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059439|159439|989898|1|9999059439|MR|Test|E|Lead 59439|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059440|159440|989898|1|9999059440|MR|Test|E|Lead 59440|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059441|159441|989898|1|9999059441|MR|Test|E|Lead 59441|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059442|159442|989898|1|9999059442|MR|Test|E|Lead 59442|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059443|159443|989898|1|9999059443|MR|Test|E|Lead 59443|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059444|159444|989898|1|9999059444|MR|Test|E|Lead 59444|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059445|159445|989898|1|9999059445|MR|Test|E|Lead 59445|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059446|159446|989898|1|9999059446|MR|Test|E|Lead 59446|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059447|159447|989898|1|9999059447|MR|Test|E|Lead 59447|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059448|159448|989898|1|9999059448|MR|Test|E|Lead 59448|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059449|159449|989898|1|9999059449|MR|Test|E|Lead 59449|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059450|159450|989898|1|9999059450|MR|Test|E|Lead 59450|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059451|159451|989898|1|9999059451|MR|Test|E|Lead 59451|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059452|159452|989898|1|9999059452|MR|Test|E|Lead 59452|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059453|159453|989898|1|9999059453|MR|Test|E|Lead 59453|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059454|159454|989898|1|9999059454|MR|Test|E|Lead 59454|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059455|159455|989898|1|9999059455|MR|Test|E|Lead 59455|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059456|159456|989898|1|9999059456|MR|Test|E|Lead 59456|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059457|159457|989898|1|9999059457|MR|Test|E|Lead 59457|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059458|159458|989898|1|9999059458|MR|Test|E|Lead 59458|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059459|159459|989898|1|9999059459|MR|Test|E|Lead 59459|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059460|159460|989898|1|9999059460|MR|Test|E|Lead 59460|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059461|159461|989898|1|9999059461|MR|Test|E|Lead 59461|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059462|159462|989898|1|9999059462|MR|Test|E|Lead 59462|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059463|159463|989898|1|9999059463|MR|Test|E|Lead 59463|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059464|159464|989898|1|9999059464|MR|Test|E|Lead 59464|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059465|159465|989898|1|9999059465|MR|Test|E|Lead 59465|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059466|159466|989898|1|9999059466|MR|Test|E|Lead 59466|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059467|159467|989898|1|9999059467|MR|Test|E|Lead 59467|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059468|159468|989898|1|9999059468|MR|Test|E|Lead 59468|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059469|159469|989898|1|9999059469|MR|Test|E|Lead 59469|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059470|159470|989898|1|9999059470|MR|Test|E|Lead 59470|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059471|159471|989898|1|9999059471|MR|Test|E|Lead 59471|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059472|159472|989898|1|9999059472|MR|Test|E|Lead 59472|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059473|159473|989898|1|9999059473|MR|Test|E|Lead 59473|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059474|159474|989898|1|9999059474|MR|Test|E|Lead 59474|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059475|159475|989898|1|9999059475|MR|Test|E|Lead 59475|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059476|159476|989898|1|9999059476|MR|Test|E|Lead 59476|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059477|159477|989898|1|9999059477|MR|Test|E|Lead 59477|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059478|159478|989898|1|9999059478|MR|Test|E|Lead 59478|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059479|159479|989898|1|9999059479|MR|Test|E|Lead 59479|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059480|159480|989898|1|9999059480|MR|Test|E|Lead 59480|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059481|159481|989898|1|9999059481|MR|Test|E|Lead 59481|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059482|159482|989898|1|9999059482|MR|Test|E|Lead 59482|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059483|159483|989898|1|9999059483|MR|Test|E|Lead 59483|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059484|159484|989898|1|9999059484|MR|Test|E|Lead 59484|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059485|159485|989898|1|9999059485|MR|Test|E|Lead 59485|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059486|159486|989898|1|9999059486|MR|Test|E|Lead 59486|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059487|159487|989898|1|9999059487|MR|Test|E|Lead 59487|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059488|159488|989898|1|9999059488|MR|Test|E|Lead 59488|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059489|159489|989898|1|9999059489|MR|Test|E|Lead 59489|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059490|159490|989898|1|9999059490|MR|Test|E|Lead 59490|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059491|159491|989898|1|9999059491|MR|Test|E|Lead 59491|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059492|159492|989898|1|9999059492|MR|Test|E|Lead 59492|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059493|159493|989898|1|9999059493|MR|Test|E|Lead 59493|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059494|159494|989898|1|9999059494|MR|Test|E|Lead 59494|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059495|159495|989898|1|9999059495|MR|Test|E|Lead 59495|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059496|159496|989898|1|9999059496|MR|Test|E|Lead 59496|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059497|159497|989898|1|9999059497|MR|Test|E|Lead 59497|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059498|159498|989898|1|9999059498|MR|Test|E|Lead 59498|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059499|159499|989898|1|9999059499|MR|Test|E|Lead 59499|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059500|159500|989898|1|9999059500|MR|Test|E|Lead 59500|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059501|159501|989898|1|9999059501|MR|Test|E|Lead 59501|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059502|159502|989898|1|9999059502|MR|Test|E|Lead 59502|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059503|159503|989898|1|9999059503|MR|Test|E|Lead 59503|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059504|159504|989898|1|9999059504|MR|Test|E|Lead 59504|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059505|159505|989898|1|9999059505|MR|Test|E|Lead 59505|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059506|159506|989898|1|9999059506|MR|Test|E|Lead 59506|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059507|159507|989898|1|9999059507|MR|Test|E|Lead 59507|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059508|159508|989898|1|9999059508|MR|Test|E|Lead 59508|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059509|159509|989898|1|9999059509|MR|Test|E|Lead 59509|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059510|159510|989898|1|9999059510|MR|Test|E|Lead 59510|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059511|159511|989898|1|9999059511|MR|Test|E|Lead 59511|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059512|159512|989898|1|9999059512|MR|Test|E|Lead 59512|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059513|159513|989898|1|9999059513|MR|Test|E|Lead 59513|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059514|159514|989898|1|9999059514|MR|Test|E|Lead 59514|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059515|159515|989898|1|9999059515|MR|Test|E|Lead 59515|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059516|159516|989898|1|9999059516|MR|Test|E|Lead 59516|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059517|159517|989898|1|9999059517|MR|Test|E|Lead 59517|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059518|159518|989898|1|9999059518|MR|Test|E|Lead 59518|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059519|159519|989898|1|9999059519|MR|Test|E|Lead 59519|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059520|159520|989898|1|9999059520|MR|Test|E|Lead 59520|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059521|159521|989898|1|9999059521|MR|Test|E|Lead 59521|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059522|159522|989898|1|9999059522|MR|Test|E|Lead 59522|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059523|159523|989898|1|9999059523|MR|Test|E|Lead 59523|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059524|159524|989898|1|9999059524|MR|Test|E|Lead 59524|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059525|159525|989898|1|9999059525|MR|Test|E|Lead 59525|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059526|159526|989898|1|9999059526|MR|Test|E|Lead 59526|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059527|159527|989898|1|9999059527|MR|Test|E|Lead 59527|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059528|159528|989898|1|9999059528|MR|Test|E|Lead 59528|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059529|159529|989898|1|9999059529|MR|Test|E|Lead 59529|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059530|159530|989898|1|9999059530|MR|Test|E|Lead 59530|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059531|159531|989898|1|9999059531|MR|Test|E|Lead 59531|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059532|159532|989898|1|9999059532|MR|Test|E|Lead 59532|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059533|159533|989898|1|9999059533|MR|Test|E|Lead 59533|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059534|159534|989898|1|9999059534|MR|Test|E|Lead 59534|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059535|159535|989898|1|9999059535|MR|Test|E|Lead 59535|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059536|159536|989898|1|9999059536|MR|Test|E|Lead 59536|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059537|159537|989898|1|9999059537|MR|Test|E|Lead 59537|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059538|159538|989898|1|9999059538|MR|Test|E|Lead 59538|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059539|159539|989898|1|9999059539|MR|Test|E|Lead 59539|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059540|159540|989898|1|9999059540|MR|Test|E|Lead 59540|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059541|159541|989898|1|9999059541|MR|Test|E|Lead 59541|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059542|159542|989898|1|9999059542|MR|Test|E|Lead 59542|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059543|159543|989898|1|9999059543|MR|Test|E|Lead 59543|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059544|159544|989898|1|9999059544|MR|Test|E|Lead 59544|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059545|159545|989898|1|9999059545|MR|Test|E|Lead 59545|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059546|159546|989898|1|9999059546|MR|Test|E|Lead 59546|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059547|159547|989898|1|9999059547|MR|Test|E|Lead 59547|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059548|159548|989898|1|9999059548|MR|Test|E|Lead 59548|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059549|159549|989898|1|9999059549|MR|Test|E|Lead 59549|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059550|159550|989898|1|9999059550|MR|Test|E|Lead 59550|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059551|159551|989898|1|9999059551|MR|Test|E|Lead 59551|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059552|159552|989898|1|9999059552|MR|Test|E|Lead 59552|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059553|159553|989898|1|9999059553|MR|Test|E|Lead 59553|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059554|159554|989898|1|9999059554|MR|Test|E|Lead 59554|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059555|159555|989898|1|9999059555|MR|Test|E|Lead 59555|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059556|159556|989898|1|9999059556|MR|Test|E|Lead 59556|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059557|159557|989898|1|9999059557|MR|Test|E|Lead 59557|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059558|159558|989898|1|9999059558|MR|Test|E|Lead 59558|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059559|159559|989898|1|9999059559|MR|Test|E|Lead 59559|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059560|159560|989898|1|9999059560|MR|Test|E|Lead 59560|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059561|159561|989898|1|9999059561|MR|Test|E|Lead 59561|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059562|159562|989898|1|9999059562|MR|Test|E|Lead 59562|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059563|159563|989898|1|9999059563|MR|Test|E|Lead 59563|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059564|159564|989898|1|9999059564|MR|Test|E|Lead 59564|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059565|159565|989898|1|9999059565|MR|Test|E|Lead 59565|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059566|159566|989898|1|9999059566|MR|Test|E|Lead 59566|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059567|159567|989898|1|9999059567|MR|Test|E|Lead 59567|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059568|159568|989898|1|9999059568|MR|Test|E|Lead 59568|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059569|159569|989898|1|9999059569|MR|Test|E|Lead 59569|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059570|159570|989898|1|9999059570|MR|Test|E|Lead 59570|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059571|159571|989898|1|9999059571|MR|Test|E|Lead 59571|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059572|159572|989898|1|9999059572|MR|Test|E|Lead 59572|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059573|159573|989898|1|9999059573|MR|Test|E|Lead 59573|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059574|159574|989898|1|9999059574|MR|Test|E|Lead 59574|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059575|159575|989898|1|9999059575|MR|Test|E|Lead 59575|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059576|159576|989898|1|9999059576|MR|Test|E|Lead 59576|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059577|159577|989898|1|9999059577|MR|Test|E|Lead 59577|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059578|159578|989898|1|9999059578|MR|Test|E|Lead 59578|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059579|159579|989898|1|9999059579|MR|Test|E|Lead 59579|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059580|159580|989898|1|9999059580|MR|Test|E|Lead 59580|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059581|159581|989898|1|9999059581|MR|Test|E|Lead 59581|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059582|159582|989898|1|9999059582|MR|Test|E|Lead 59582|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059583|159583|989898|1|9999059583|MR|Test|E|Lead 59583|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059584|159584|989898|1|9999059584|MR|Test|E|Lead 59584|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059585|159585|989898|1|9999059585|MR|Test|E|Lead 59585|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059586|159586|989898|1|9999059586|MR|Test|E|Lead 59586|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059587|159587|989898|1|9999059587|MR|Test|E|Lead 59587|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059588|159588|989898|1|9999059588|MR|Test|E|Lead 59588|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059589|159589|989898|1|9999059589|MR|Test|E|Lead 59589|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059590|159590|989898|1|9999059590|MR|Test|E|Lead 59590|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059591|159591|989898|1|9999059591|MR|Test|E|Lead 59591|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059592|159592|989898|1|9999059592|MR|Test|E|Lead 59592|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059593|159593|989898|1|9999059593|MR|Test|E|Lead 59593|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059594|159594|989898|1|9999059594|MR|Test|E|Lead 59594|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059595|159595|989898|1|9999059595|MR|Test|E|Lead 59595|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059596|159596|989898|1|9999059596|MR|Test|E|Lead 59596|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059597|159597|989898|1|9999059597|MR|Test|E|Lead 59597|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059598|159598|989898|1|9999059598|MR|Test|E|Lead 59598|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059599|159599|989898|1|9999059599|MR|Test|E|Lead 59599|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059600|159600|989898|1|9999059600|MR|Test|E|Lead 59600|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059601|159601|989898|1|9999059601|MR|Test|E|Lead 59601|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059602|159602|989898|1|9999059602|MR|Test|E|Lead 59602|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059603|159603|989898|1|9999059603|MR|Test|E|Lead 59603|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059604|159604|989898|1|9999059604|MR|Test|E|Lead 59604|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059605|159605|989898|1|9999059605|MR|Test|E|Lead 59605|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059606|159606|989898|1|9999059606|MR|Test|E|Lead 59606|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059607|159607|989898|1|9999059607|MR|Test|E|Lead 59607|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059608|159608|989898|1|9999059608|MR|Test|E|Lead 59608|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059609|159609|989898|1|9999059609|MR|Test|E|Lead 59609|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059610|159610|989898|1|9999059610|MR|Test|E|Lead 59610|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059611|159611|989898|1|9999059611|MR|Test|E|Lead 59611|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059612|159612|989898|1|9999059612|MR|Test|E|Lead 59612|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059613|159613|989898|1|9999059613|MR|Test|E|Lead 59613|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059614|159614|989898|1|9999059614|MR|Test|E|Lead 59614|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059615|159615|989898|1|9999059615|MR|Test|E|Lead 59615|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059616|159616|989898|1|9999059616|MR|Test|E|Lead 59616|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059617|159617|989898|1|9999059617|MR|Test|E|Lead 59617|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059618|159618|989898|1|9999059618|MR|Test|E|Lead 59618|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059619|159619|989898|1|9999059619|MR|Test|E|Lead 59619|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059620|159620|989898|1|9999059620|MR|Test|E|Lead 59620|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059621|159621|989898|1|9999059621|MR|Test|E|Lead 59621|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059622|159622|989898|1|9999059622|MR|Test|E|Lead 59622|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059623|159623|989898|1|9999059623|MR|Test|E|Lead 59623|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059624|159624|989898|1|9999059624|MR|Test|E|Lead 59624|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059625|159625|989898|1|9999059625|MR|Test|E|Lead 59625|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059626|159626|989898|1|9999059626|MR|Test|E|Lead 59626|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059627|159627|989898|1|9999059627|MR|Test|E|Lead 59627|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059628|159628|989898|1|9999059628|MR|Test|E|Lead 59628|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059629|159629|989898|1|9999059629|MR|Test|E|Lead 59629|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059630|159630|989898|1|9999059630|MR|Test|E|Lead 59630|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059631|159631|989898|1|9999059631|MR|Test|E|Lead 59631|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059632|159632|989898|1|9999059632|MR|Test|E|Lead 59632|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059633|159633|989898|1|9999059633|MR|Test|E|Lead 59633|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059634|159634|989898|1|9999059634|MR|Test|E|Lead 59634|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059635|159635|989898|1|9999059635|MR|Test|E|Lead 59635|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059636|159636|989898|1|9999059636|MR|Test|E|Lead 59636|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059637|159637|989898|1|9999059637|MR|Test|E|Lead 59637|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059638|159638|989898|1|9999059638|MR|Test|E|Lead 59638|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059639|159639|989898|1|9999059639|MR|Test|E|Lead 59639|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059640|159640|989898|1|9999059640|MR|Test|E|Lead 59640|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059641|159641|989898|1|9999059641|MR|Test|E|Lead 59641|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059642|159642|989898|1|9999059642|MR|Test|E|Lead 59642|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059643|159643|989898|1|9999059643|MR|Test|E|Lead 59643|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059644|159644|989898|1|9999059644|MR|Test|E|Lead 59644|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059645|159645|989898|1|9999059645|MR|Test|E|Lead 59645|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059646|159646|989898|1|9999059646|MR|Test|E|Lead 59646|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059647|159647|989898|1|9999059647|MR|Test|E|Lead 59647|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059648|159648|989898|1|9999059648|MR|Test|E|Lead 59648|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059649|159649|989898|1|9999059649|MR|Test|E|Lead 59649|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059650|159650|989898|1|9999059650|MR|Test|E|Lead 59650|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059651|159651|989898|1|9999059651|MR|Test|E|Lead 59651|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059652|159652|989898|1|9999059652|MR|Test|E|Lead 59652|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059653|159653|989898|1|9999059653|MR|Test|E|Lead 59653|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059654|159654|989898|1|9999059654|MR|Test|E|Lead 59654|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059655|159655|989898|1|9999059655|MR|Test|E|Lead 59655|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059656|159656|989898|1|9999059656|MR|Test|E|Lead 59656|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059657|159657|989898|1|9999059657|MR|Test|E|Lead 59657|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059658|159658|989898|1|9999059658|MR|Test|E|Lead 59658|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059659|159659|989898|1|9999059659|MR|Test|E|Lead 59659|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059660|159660|989898|1|9999059660|MR|Test|E|Lead 59660|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059661|159661|989898|1|9999059661|MR|Test|E|Lead 59661|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059662|159662|989898|1|9999059662|MR|Test|E|Lead 59662|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059663|159663|989898|1|9999059663|MR|Test|E|Lead 59663|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059664|159664|989898|1|9999059664|MR|Test|E|Lead 59664|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059665|159665|989898|1|9999059665|MR|Test|E|Lead 59665|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059666|159666|989898|1|9999059666|MR|Test|E|Lead 59666|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059667|159667|989898|1|9999059667|MR|Test|E|Lead 59667|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059668|159668|989898|1|9999059668|MR|Test|E|Lead 59668|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059669|159669|989898|1|9999059669|MR|Test|E|Lead 59669|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059670|159670|989898|1|9999059670|MR|Test|E|Lead 59670|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059671|159671|989898|1|9999059671|MR|Test|E|Lead 59671|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059672|159672|989898|1|9999059672|MR|Test|E|Lead 59672|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059673|159673|989898|1|9999059673|MR|Test|E|Lead 59673|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059674|159674|989898|1|9999059674|MR|Test|E|Lead 59674|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059675|159675|989898|1|9999059675|MR|Test|E|Lead 59675|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059676|159676|989898|1|9999059676|MR|Test|E|Lead 59676|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059677|159677|989898|1|9999059677|MR|Test|E|Lead 59677|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059678|159678|989898|1|9999059678|MR|Test|E|Lead 59678|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059679|159679|989898|1|9999059679|MR|Test|E|Lead 59679|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059680|159680|989898|1|9999059680|MR|Test|E|Lead 59680|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059681|159681|989898|1|9999059681|MR|Test|E|Lead 59681|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059682|159682|989898|1|9999059682|MR|Test|E|Lead 59682|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059683|159683|989898|1|9999059683|MR|Test|E|Lead 59683|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059684|159684|989898|1|9999059684|MR|Test|E|Lead 59684|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059685|159685|989898|1|9999059685|MR|Test|E|Lead 59685|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059686|159686|989898|1|9999059686|MR|Test|E|Lead 59686|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059687|159687|989898|1|9999059687|MR|Test|E|Lead 59687|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059688|159688|989898|1|9999059688|MR|Test|E|Lead 59688|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059689|159689|989898|1|9999059689|MR|Test|E|Lead 59689|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059690|159690|989898|1|9999059690|MR|Test|E|Lead 59690|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059691|159691|989898|1|9999059691|MR|Test|E|Lead 59691|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059692|159692|989898|1|9999059692|MR|Test|E|Lead 59692|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059693|159693|989898|1|9999059693|MR|Test|E|Lead 59693|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059694|159694|989898|1|9999059694|MR|Test|E|Lead 59694|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059695|159695|989898|1|9999059695|MR|Test|E|Lead 59695|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059696|159696|989898|1|9999059696|MR|Test|E|Lead 59696|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059697|159697|989898|1|9999059697|MR|Test|E|Lead 59697|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059698|159698|989898|1|9999059698|MR|Test|E|Lead 59698|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059699|159699|989898|1|9999059699|MR|Test|E|Lead 59699|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059700|159700|989898|1|9999059700|MR|Test|E|Lead 59700|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059701|159701|989898|1|9999059701|MR|Test|E|Lead 59701|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059702|159702|989898|1|9999059702|MR|Test|E|Lead 59702|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059703|159703|989898|1|9999059703|MR|Test|E|Lead 59703|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059704|159704|989898|1|9999059704|MR|Test|E|Lead 59704|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059705|159705|989898|1|9999059705|MR|Test|E|Lead 59705|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059706|159706|989898|1|9999059706|MR|Test|E|Lead 59706|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059707|159707|989898|1|9999059707|MR|Test|E|Lead 59707|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059708|159708|989898|1|9999059708|MR|Test|E|Lead 59708|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059709|159709|989898|1|9999059709|MR|Test|E|Lead 59709|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059710|159710|989898|1|9999059710|MR|Test|E|Lead 59710|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059711|159711|989898|1|9999059711|MR|Test|E|Lead 59711|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059712|159712|989898|1|9999059712|MR|Test|E|Lead 59712|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059713|159713|989898|1|9999059713|MR|Test|E|Lead 59713|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059714|159714|989898|1|9999059714|MR|Test|E|Lead 59714|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059715|159715|989898|1|9999059715|MR|Test|E|Lead 59715|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059716|159716|989898|1|9999059716|MR|Test|E|Lead 59716|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059717|159717|989898|1|9999059717|MR|Test|E|Lead 59717|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059718|159718|989898|1|9999059718|MR|Test|E|Lead 59718|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059719|159719|989898|1|9999059719|MR|Test|E|Lead 59719|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059720|159720|989898|1|9999059720|MR|Test|E|Lead 59720|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059721|159721|989898|1|9999059721|MR|Test|E|Lead 59721|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059722|159722|989898|1|9999059722|MR|Test|E|Lead 59722|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059723|159723|989898|1|9999059723|MR|Test|E|Lead 59723|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059724|159724|989898|1|9999059724|MR|Test|E|Lead 59724|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059725|159725|989898|1|9999059725|MR|Test|E|Lead 59725|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059726|159726|989898|1|9999059726|MR|Test|E|Lead 59726|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059727|159727|989898|1|9999059727|MR|Test|E|Lead 59727|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059728|159728|989898|1|9999059728|MR|Test|E|Lead 59728|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059729|159729|989898|1|9999059729|MR|Test|E|Lead 59729|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059730|159730|989898|1|9999059730|MR|Test|E|Lead 59730|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059731|159731|989898|1|9999059731|MR|Test|E|Lead 59731|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059732|159732|989898|1|9999059732|MR|Test|E|Lead 59732|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059733|159733|989898|1|9999059733|MR|Test|E|Lead 59733|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059734|159734|989898|1|9999059734|MR|Test|E|Lead 59734|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059735|159735|989898|1|9999059735|MR|Test|E|Lead 59735|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059736|159736|989898|1|9999059736|MR|Test|E|Lead 59736|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059737|159737|989898|1|9999059737|MR|Test|E|Lead 59737|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059738|159738|989898|1|9999059738|MR|Test|E|Lead 59738|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059739|159739|989898|1|9999059739|MR|Test|E|Lead 59739|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059740|159740|989898|1|9999059740|MR|Test|E|Lead 59740|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059741|159741|989898|1|9999059741|MR|Test|E|Lead 59741|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059742|159742|989898|1|9999059742|MR|Test|E|Lead 59742|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059743|159743|989898|1|9999059743|MR|Test|E|Lead 59743|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059744|159744|989898|1|9999059744|MR|Test|E|Lead 59744|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059745|159745|989898|1|9999059745|MR|Test|E|Lead 59745|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059746|159746|989898|1|9999059746|MR|Test|E|Lead 59746|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059747|159747|989898|1|9999059747|MR|Test|E|Lead 59747|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059748|159748|989898|1|9999059748|MR|Test|E|Lead 59748|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059749|159749|989898|1|9999059749|MR|Test|E|Lead 59749|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059750|159750|989898|1|9999059750|MR|Test|E|Lead 59750|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059751|159751|989898|1|9999059751|MR|Test|E|Lead 59751|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059752|159752|989898|1|9999059752|MR|Test|E|Lead 59752|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059753|159753|989898|1|9999059753|MR|Test|E|Lead 59753|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059754|159754|989898|1|9999059754|MR|Test|E|Lead 59754|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059755|159755|989898|1|9999059755|MR|Test|E|Lead 59755|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059756|159756|989898|1|9999059756|MR|Test|E|Lead 59756|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059757|159757|989898|1|9999059757|MR|Test|E|Lead 59757|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059758|159758|989898|1|9999059758|MR|Test|E|Lead 59758|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059759|159759|989898|1|9999059759|MR|Test|E|Lead 59759|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059760|159760|989898|1|9999059760|MR|Test|E|Lead 59760|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059761|159761|989898|1|9999059761|MR|Test|E|Lead 59761|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059762|159762|989898|1|9999059762|MR|Test|E|Lead 59762|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059763|159763|989898|1|9999059763|MR|Test|E|Lead 59763|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059764|159764|989898|1|9999059764|MR|Test|E|Lead 59764|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059765|159765|989898|1|9999059765|MR|Test|E|Lead 59765|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059766|159766|989898|1|9999059766|MR|Test|E|Lead 59766|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059767|159767|989898|1|9999059767|MR|Test|E|Lead 59767|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059768|159768|989898|1|9999059768|MR|Test|E|Lead 59768|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059769|159769|989898|1|9999059769|MR|Test|E|Lead 59769|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059770|159770|989898|1|9999059770|MR|Test|E|Lead 59770|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059771|159771|989898|1|9999059771|MR|Test|E|Lead 59771|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059772|159772|989898|1|9999059772|MR|Test|E|Lead 59772|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059773|159773|989898|1|9999059773|MR|Test|E|Lead 59773|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059774|159774|989898|1|9999059774|MR|Test|E|Lead 59774|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059775|159775|989898|1|9999059775|MR|Test|E|Lead 59775|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059776|159776|989898|1|9999059776|MR|Test|E|Lead 59776|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059777|159777|989898|1|9999059777|MR|Test|E|Lead 59777|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059778|159778|989898|1|9999059778|MR|Test|E|Lead 59778|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059779|159779|989898|1|9999059779|MR|Test|E|Lead 59779|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059780|159780|989898|1|9999059780|MR|Test|E|Lead 59780|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059781|159781|989898|1|9999059781|MR|Test|E|Lead 59781|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059782|159782|989898|1|9999059782|MR|Test|E|Lead 59782|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059783|159783|989898|1|9999059783|MR|Test|E|Lead 59783|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059784|159784|989898|1|9999059784|MR|Test|E|Lead 59784|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059785|159785|989898|1|9999059785|MR|Test|E|Lead 59785|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059786|159786|989898|1|9999059786|MR|Test|E|Lead 59786|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059787|159787|989898|1|9999059787|MR|Test|E|Lead 59787|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059788|159788|989898|1|9999059788|MR|Test|E|Lead 59788|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059789|159789|989898|1|9999059789|MR|Test|E|Lead 59789|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059790|159790|989898|1|9999059790|MR|Test|E|Lead 59790|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059791|159791|989898|1|9999059791|MR|Test|E|Lead 59791|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059792|159792|989898|1|9999059792|MR|Test|E|Lead 59792|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059793|159793|989898|1|9999059793|MR|Test|E|Lead 59793|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059794|159794|989898|1|9999059794|MR|Test|E|Lead 59794|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059795|159795|989898|1|9999059795|MR|Test|E|Lead 59795|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059796|159796|989898|1|9999059796|MR|Test|E|Lead 59796|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059797|159797|989898|1|9999059797|MR|Test|E|Lead 59797|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059798|159798|989898|1|9999059798|MR|Test|E|Lead 59798|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059799|159799|989898|1|9999059799|MR|Test|E|Lead 59799|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059800|159800|989898|1|9999059800|MR|Test|E|Lead 59800|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059801|159801|989898|1|9999059801|MR|Test|E|Lead 59801|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059802|159802|989898|1|9999059802|MR|Test|E|Lead 59802|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059803|159803|989898|1|9999059803|MR|Test|E|Lead 59803|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059804|159804|989898|1|9999059804|MR|Test|E|Lead 59804|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059805|159805|989898|1|9999059805|MR|Test|E|Lead 59805|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059806|159806|989898|1|9999059806|MR|Test|E|Lead 59806|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059807|159807|989898|1|9999059807|MR|Test|E|Lead 59807|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059808|159808|989898|1|9999059808|MR|Test|E|Lead 59808|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059809|159809|989898|1|9999059809|MR|Test|E|Lead 59809|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059810|159810|989898|1|9999059810|MR|Test|E|Lead 59810|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059811|159811|989898|1|9999059811|MR|Test|E|Lead 59811|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059812|159812|989898|1|9999059812|MR|Test|E|Lead 59812|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059813|159813|989898|1|9999059813|MR|Test|E|Lead 59813|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059814|159814|989898|1|9999059814|MR|Test|E|Lead 59814|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059815|159815|989898|1|9999059815|MR|Test|E|Lead 59815|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059816|159816|989898|1|9999059816|MR|Test|E|Lead 59816|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059817|159817|989898|1|9999059817|MR|Test|E|Lead 59817|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059818|159818|989898|1|9999059818|MR|Test|E|Lead 59818|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059819|159819|989898|1|9999059819|MR|Test|E|Lead 59819|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059820|159820|989898|1|9999059820|MR|Test|E|Lead 59820|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059821|159821|989898|1|9999059821|MR|Test|E|Lead 59821|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059822|159822|989898|1|9999059822|MR|Test|E|Lead 59822|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059823|159823|989898|1|9999059823|MR|Test|E|Lead 59823|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059824|159824|989898|1|9999059824|MR|Test|E|Lead 59824|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059825|159825|989898|1|9999059825|MR|Test|E|Lead 59825|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059826|159826|989898|1|9999059826|MR|Test|E|Lead 59826|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059827|159827|989898|1|9999059827|MR|Test|E|Lead 59827|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059828|159828|989898|1|9999059828|MR|Test|E|Lead 59828|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059829|159829|989898|1|9999059829|MR|Test|E|Lead 59829|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059830|159830|989898|1|9999059830|MR|Test|E|Lead 59830|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059831|159831|989898|1|9999059831|MR|Test|E|Lead 59831|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059832|159832|989898|1|9999059832|MR|Test|E|Lead 59832|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059833|159833|989898|1|9999059833|MR|Test|E|Lead 59833|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059834|159834|989898|1|9999059834|MR|Test|E|Lead 59834|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059835|159835|989898|1|9999059835|MR|Test|E|Lead 59835|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059836|159836|989898|1|9999059836|MR|Test|E|Lead 59836|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059837|159837|989898|1|9999059837|MR|Test|E|Lead 59837|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059838|159838|989898|1|9999059838|MR|Test|E|Lead 59838|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059839|159839|989898|1|9999059839|MR|Test|E|Lead 59839|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059840|159840|989898|1|9999059840|MR|Test|E|Lead 59840|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059841|159841|989898|1|9999059841|MR|Test|E|Lead 59841|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059842|159842|989898|1|9999059842|MR|Test|E|Lead 59842|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059843|159843|989898|1|9999059843|MR|Test|E|Lead 59843|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059844|159844|989898|1|9999059844|MR|Test|E|Lead 59844|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059845|159845|989898|1|9999059845|MR|Test|E|Lead 59845|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059846|159846|989898|1|9999059846|MR|Test|E|Lead 59846|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059847|159847|989898|1|9999059847|MR|Test|E|Lead 59847|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059848|159848|989898|1|9999059848|MR|Test|E|Lead 59848|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059849|159849|989898|1|9999059849|MR|Test|E|Lead 59849|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059850|159850|989898|1|9999059850|MR|Test|E|Lead 59850|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059851|159851|989898|1|9999059851|MR|Test|E|Lead 59851|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059852|159852|989898|1|9999059852|MR|Test|E|Lead 59852|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059853|159853|989898|1|9999059853|MR|Test|E|Lead 59853|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059854|159854|989898|1|9999059854|MR|Test|E|Lead 59854|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059855|159855|989898|1|9999059855|MR|Test|E|Lead 59855|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059856|159856|989898|1|9999059856|MR|Test|E|Lead 59856|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059857|159857|989898|1|9999059857|MR|Test|E|Lead 59857|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059858|159858|989898|1|9999059858|MR|Test|E|Lead 59858|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059859|159859|989898|1|9999059859|MR|Test|E|Lead 59859|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059860|159860|989898|1|9999059860|MR|Test|E|Lead 59860|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059861|159861|989898|1|9999059861|MR|Test|E|Lead 59861|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059862|159862|989898|1|9999059862|MR|Test|E|Lead 59862|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059863|159863|989898|1|9999059863|MR|Test|E|Lead 59863|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059864|159864|989898|1|9999059864|MR|Test|E|Lead 59864|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059865|159865|989898|1|9999059865|MR|Test|E|Lead 59865|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059866|159866|989898|1|9999059866|MR|Test|E|Lead 59866|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059867|159867|989898|1|9999059867|MR|Test|E|Lead 59867|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059868|159868|989898|1|9999059868|MR|Test|E|Lead 59868|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059869|159869|989898|1|9999059869|MR|Test|E|Lead 59869|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059870|159870|989898|1|9999059870|MR|Test|E|Lead 59870|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059871|159871|989898|1|9999059871|MR|Test|E|Lead 59871|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059872|159872|989898|1|9999059872|MR|Test|E|Lead 59872|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059873|159873|989898|1|9999059873|MR|Test|E|Lead 59873|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059874|159874|989898|1|9999059874|MR|Test|E|Lead 59874|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059875|159875|989898|1|9999059875|MR|Test|E|Lead 59875|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059876|159876|989898|1|9999059876|MR|Test|E|Lead 59876|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059877|159877|989898|1|9999059877|MR|Test|E|Lead 59877|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059878|159878|989898|1|9999059878|MR|Test|E|Lead 59878|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059879|159879|989898|1|9999059879|MR|Test|E|Lead 59879|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059880|159880|989898|1|9999059880|MR|Test|E|Lead 59880|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059881|159881|989898|1|9999059881|MR|Test|E|Lead 59881|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059882|159882|989898|1|9999059882|MR|Test|E|Lead 59882|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059883|159883|989898|1|9999059883|MR|Test|E|Lead 59883|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059884|159884|989898|1|9999059884|MR|Test|E|Lead 59884|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059885|159885|989898|1|9999059885|MR|Test|E|Lead 59885|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059886|159886|989898|1|9999059886|MR|Test|E|Lead 59886|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059887|159887|989898|1|9999059887|MR|Test|E|Lead 59887|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059888|159888|989898|1|9999059888|MR|Test|E|Lead 59888|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059889|159889|989898|1|9999059889|MR|Test|E|Lead 59889|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059890|159890|989898|1|9999059890|MR|Test|E|Lead 59890|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059891|159891|989898|1|9999059891|MR|Test|E|Lead 59891|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059892|159892|989898|1|9999059892|MR|Test|E|Lead 59892|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059893|159893|989898|1|9999059893|MR|Test|E|Lead 59893|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059894|159894|989898|1|9999059894|MR|Test|E|Lead 59894|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059895|159895|989898|1|9999059895|MR|Test|E|Lead 59895|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059896|159896|989898|1|9999059896|MR|Test|E|Lead 59896|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059897|159897|989898|1|9999059897|MR|Test|E|Lead 59897|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059898|159898|989898|1|9999059898|MR|Test|E|Lead 59898|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059899|159899|989898|1|9999059899|MR|Test|E|Lead 59899|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059900|159900|989898|1|9999059900|MR|Test|E|Lead 59900|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059901|159901|989898|1|9999059901|MR|Test|E|Lead 59901|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059902|159902|989898|1|9999059902|MR|Test|E|Lead 59902|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059903|159903|989898|1|9999059903|MR|Test|E|Lead 59903|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059904|159904|989898|1|9999059904|MR|Test|E|Lead 59904|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059905|159905|989898|1|9999059905|MR|Test|E|Lead 59905|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059906|159906|989898|1|9999059906|MR|Test|E|Lead 59906|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059907|159907|989898|1|9999059907|MR|Test|E|Lead 59907|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059908|159908|989898|1|9999059908|MR|Test|E|Lead 59908|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059909|159909|989898|1|9999059909|MR|Test|E|Lead 59909|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059910|159910|989898|1|9999059910|MR|Test|E|Lead 59910|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059911|159911|989898|1|9999059911|MR|Test|E|Lead 59911|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059912|159912|989898|1|9999059912|MR|Test|E|Lead 59912|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059913|159913|989898|1|9999059913|MR|Test|E|Lead 59913|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059914|159914|989898|1|9999059914|MR|Test|E|Lead 59914|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059915|159915|989898|1|9999059915|MR|Test|E|Lead 59915|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059916|159916|989898|1|9999059916|MR|Test|E|Lead 59916|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059917|159917|989898|1|9999059917|MR|Test|E|Lead 59917|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059918|159918|989898|1|9999059918|MR|Test|E|Lead 59918|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059919|159919|989898|1|9999059919|MR|Test|E|Lead 59919|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059920|159920|989898|1|9999059920|MR|Test|E|Lead 59920|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059921|159921|989898|1|9999059921|MR|Test|E|Lead 59921|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059922|159922|989898|1|9999059922|MR|Test|E|Lead 59922|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059923|159923|989898|1|9999059923|MR|Test|E|Lead 59923|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059924|159924|989898|1|9999059924|MR|Test|E|Lead 59924|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059925|159925|989898|1|9999059925|MR|Test|E|Lead 59925|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059926|159926|989898|1|9999059926|MR|Test|E|Lead 59926|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059927|159927|989898|1|9999059927|MR|Test|E|Lead 59927|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059928|159928|989898|1|9999059928|MR|Test|E|Lead 59928|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059929|159929|989898|1|9999059929|MR|Test|E|Lead 59929|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059930|159930|989898|1|9999059930|MR|Test|E|Lead 59930|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059931|159931|989898|1|9999059931|MR|Test|E|Lead 59931|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059932|159932|989898|1|9999059932|MR|Test|E|Lead 59932|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059933|159933|989898|1|9999059933|MR|Test|E|Lead 59933|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059934|159934|989898|1|9999059934|MR|Test|E|Lead 59934|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059935|159935|989898|1|9999059935|MR|Test|E|Lead 59935|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059936|159936|989898|1|9999059936|MR|Test|E|Lead 59936|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059937|159937|989898|1|9999059937|MR|Test|E|Lead 59937|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059938|159938|989898|1|9999059938|MR|Test|E|Lead 59938|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059939|159939|989898|1|9999059939|MR|Test|E|Lead 59939|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059940|159940|989898|1|9999059940|MR|Test|E|Lead 59940|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059941|159941|989898|1|9999059941|MR|Test|E|Lead 59941|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059942|159942|989898|1|9999059942|MR|Test|E|Lead 59942|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059943|159943|989898|1|9999059943|MR|Test|E|Lead 59943|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059944|159944|989898|1|9999059944|MR|Test|E|Lead 59944|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059945|159945|989898|1|9999059945|MR|Test|E|Lead 59945|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059946|159946|989898|1|9999059946|MR|Test|E|Lead 59946|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059947|159947|989898|1|9999059947|MR|Test|E|Lead 59947|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059948|159948|989898|1|9999059948|MR|Test|E|Lead 59948|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059949|159949|989898|1|9999059949|MR|Test|E|Lead 59949|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059950|159950|989898|1|9999059950|MR|Test|E|Lead 59950|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059951|159951|989898|1|9999059951|MR|Test|E|Lead 59951|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059952|159952|989898|1|9999059952|MR|Test|E|Lead 59952|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059953|159953|989898|1|9999059953|MR|Test|E|Lead 59953|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059954|159954|989898|1|9999059954|MR|Test|E|Lead 59954|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059955|159955|989898|1|9999059955|MR|Test|E|Lead 59955|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059956|159956|989898|1|9999059956|MR|Test|E|Lead 59956|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059957|159957|989898|1|9999059957|MR|Test|E|Lead 59957|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059958|159958|989898|1|9999059958|MR|Test|E|Lead 59958|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059959|159959|989898|1|9999059959|MR|Test|E|Lead 59959|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059960|159960|989898|1|9999059960|MR|Test|E|Lead 59960|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059961|159961|989898|1|9999059961|MR|Test|E|Lead 59961|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059962|159962|989898|1|9999059962|MR|Test|E|Lead 59962|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059963|159963|989898|1|9999059963|MR|Test|E|Lead 59963|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059964|159964|989898|1|9999059964|MR|Test|E|Lead 59964|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059965|159965|989898|1|9999059965|MR|Test|E|Lead 59965|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059966|159966|989898|1|9999059966|MR|Test|E|Lead 59966|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059967|159967|989898|1|9999059967|MR|Test|E|Lead 59967|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059968|159968|989898|1|9999059968|MR|Test|E|Lead 59968|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059969|159969|989898|1|9999059969|MR|Test|E|Lead 59969|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059970|159970|989898|1|9999059970|MR|Test|E|Lead 59970|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059971|159971|989898|1|9999059971|MR|Test|E|Lead 59971|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059972|159972|989898|1|9999059972|MR|Test|E|Lead 59972|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059973|159973|989898|1|9999059973|MR|Test|E|Lead 59973|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059974|159974|989898|1|9999059974|MR|Test|E|Lead 59974|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059975|159975|989898|1|9999059975|MR|Test|E|Lead 59975|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059976|159976|989898|1|9999059976|MR|Test|E|Lead 59976|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059977|159977|989898|1|9999059977|MR|Test|E|Lead 59977|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059978|159978|989898|1|9999059978|MR|Test|E|Lead 59978|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059979|159979|989898|1|9999059979|MR|Test|E|Lead 59979|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059980|159980|989898|1|9999059980|MR|Test|E|Lead 59980|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059981|159981|989898|1|9999059981|MR|Test|E|Lead 59981|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059982|159982|989898|1|9999059982|MR|Test|E|Lead 59982|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059983|159983|989898|1|9999059983|MR|Test|E|Lead 59983|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059984|159984|989898|1|9999059984|MR|Test|E|Lead 59984|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059985|159985|989898|1|9999059985|MR|Test|E|Lead 59985|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059986|159986|989898|1|9999059986|MR|Test|E|Lead 59986|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059987|159987|989898|1|9999059987|MR|Test|E|Lead 59987|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059988|159988|989898|1|9999059988|MR|Test|E|Lead 59988|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059989|159989|989898|1|9999059989|MR|Test|E|Lead 59989|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059990|159990|989898|1|9999059990|MR|Test|E|Lead 59990|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059991|159991|989898|1|9999059991|MR|Test|E|Lead 59991|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059992|159992|989898|1|9999059992|MR|Test|E|Lead 59992|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059993|159993|989898|1|9999059993|MR|Test|E|Lead 59993|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059994|159994|989898|1|9999059994|MR|Test|E|Lead 59994|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059995|159995|989898|1|9999059995|MR|Test|E|Lead 59995|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059996|159996|989898|1|9999059996|MR|Test|E|Lead 59996|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059997|159997|989898|1|9999059997|MR|Test|E|Lead 59997|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059998|159998|989898|1|9999059998|MR|Test|E|Lead 59998|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments +1059999|159999|989898|1|9999059999|MR|Test|E|Lead 59999|123 Main St|||New York|NY||10110|USA|M|1970-01-01||test@test.com|none|comments diff --git a/agc_2-X/branches/agc_2.0.5/extras/second_server_install.sql b/agc_2-X/branches/agc_2.0.5/extras/second_server_install.sql new file mode 100644 index 00000000..a04332a0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/second_server_install.sql @@ -0,0 +1,303 @@ +INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version)values('TESTast','Test install of Asterisk server', '10.10.10.16','Y','1.2.26.2'); + +INSERT INTO server_updater SET server_ip='10.10.10.16', last_update=''; + +INSERT INTO conferences values('8600001','10.10.10.16',''); +INSERT INTO conferences values('8600002','10.10.10.16',''); +INSERT INTO conferences values('8600003','10.10.10.16',''); +INSERT INTO conferences values('8600004','10.10.10.16',''); +INSERT INTO conferences values('8600005','10.10.10.16',''); +INSERT INTO conferences values('8600006','10.10.10.16',''); +INSERT INTO conferences values('8600007','10.10.10.16',''); +INSERT INTO conferences values('8600008','10.10.10.16',''); +INSERT INTO conferences values('8600009','10.10.10.16',''); +INSERT INTO conferences values('8600010','10.10.10.16',''); +INSERT INTO conferences values('8600011','10.10.10.16',''); +INSERT INTO conferences values('8600012','10.10.10.16',''); +INSERT INTO conferences values('8600013','10.10.10.16',''); +INSERT INTO conferences values('8600014','10.10.10.16',''); +INSERT INTO conferences values('8600015','10.10.10.16',''); +INSERT INTO conferences values('8600016','10.10.10.16',''); +INSERT INTO conferences values('8600017','10.10.10.16',''); +INSERT INTO conferences values('8600018','10.10.10.16',''); +INSERT INTO conferences values('8600019','10.10.10.16',''); +INSERT INTO conferences values('8600020','10.10.10.16',''); +INSERT INTO conferences values('8600021','10.10.10.16',''); +INSERT INTO conferences values('8600022','10.10.10.16',''); +INSERT INTO conferences values('8600023','10.10.10.16',''); +INSERT INTO conferences values('8600024','10.10.10.16',''); +INSERT INTO conferences values('8600025','10.10.10.16',''); +INSERT INTO conferences values('8600026','10.10.10.16',''); +INSERT INTO conferences values('8600027','10.10.10.16',''); +INSERT INTO conferences values('8600028','10.10.10.16',''); +INSERT INTO conferences values('8600029','10.10.10.16',''); +INSERT INTO conferences values('8600030','10.10.10.16',''); +INSERT INTO conferences values('8600031','10.10.10.16',''); +INSERT INTO conferences values('8600032','10.10.10.16',''); +INSERT INTO conferences values('8600033','10.10.10.16',''); +INSERT INTO conferences values('8600034','10.10.10.16',''); +INSERT INTO conferences values('8600035','10.10.10.16',''); +INSERT INTO conferences values('8600036','10.10.10.16',''); +INSERT INTO conferences values('8600037','10.10.10.16',''); +INSERT INTO conferences values('8600038','10.10.10.16',''); +INSERT INTO conferences values('8600039','10.10.10.16',''); +INSERT INTO conferences values('8600040','10.10.10.16',''); +INSERT INTO conferences values('8600041','10.10.10.16',''); +INSERT INTO conferences values('8600042','10.10.10.16',''); +INSERT INTO conferences values('8600043','10.10.10.16',''); +INSERT INTO conferences values('8600044','10.10.10.16',''); +INSERT INTO conferences values('8600045','10.10.10.16',''); +INSERT INTO conferences values('8600046','10.10.10.16',''); +INSERT INTO conferences values('8600047','10.10.10.16',''); +INSERT INTO conferences values('8600048','10.10.10.16',''); +INSERT INTO conferences values('8600049','10.10.10.16',''); + +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600051','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600052','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600053','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600054','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600055','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600056','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600057','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600058','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600059','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600060','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600061','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600062','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600063','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600064','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600065','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600066','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600067','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600068','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600069','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600070','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600071','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600072','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600073','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600074','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600075','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600076','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600077','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600078','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600079','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600080','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600081','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600082','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600083','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600084','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600085','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600086','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600087','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600088','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600089','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600090','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600091','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600092','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600093','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600094','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600095','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600096','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600097','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600098','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600099','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600100','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600101','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600102','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600103','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600104','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600105','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600106','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600107','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600108','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600109','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600110','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600111','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600112','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600113','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600114','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600115','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600116','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600117','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600118','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600119','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600120','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600121','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600122','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600123','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600124','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600125','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600126','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600127','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600128','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600129','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600130','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600131','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600132','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600133','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600134','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600135','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600136','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600137','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600138','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600139','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600140','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600141','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600142','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600143','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600144','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600145','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600146','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600147','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600148','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600149','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600150','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600151','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600152','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600153','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600154','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600155','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600156','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600157','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600158','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600159','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600160','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600161','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600162','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600163','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600164','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600165','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600166','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600167','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600168','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600169','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600170','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600171','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600172','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600173','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600174','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600175','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600176','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600177','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600178','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600179','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600180','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600181','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600182','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600183','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600184','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600185','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600186','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600187','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600188','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600189','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600190','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600191','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600192','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600193','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600194','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600195','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600196','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600197','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600198','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600199','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600200','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600201','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600202','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600203','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600204','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600205','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600206','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600207','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600208','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600209','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600210','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600211','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600212','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600213','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600214','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600215','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600216','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600217','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600218','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600219','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600220','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600221','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600222','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600223','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600224','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600225','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600226','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600227','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600228','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600229','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600230','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600231','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600232','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600233','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600234','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600235','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600236','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600237','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600238','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600239','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600240','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600241','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600242','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600243','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600244','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600245','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600246','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600247','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600248','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600249','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600250','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600251','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600252','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600253','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600254','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600255','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600256','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600257','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600258','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600259','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600260','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600261','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600262','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600263','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600264','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600265','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600266','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600267','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600268','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600269','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600270','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600271','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600272','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600273','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600274','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600275','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600276','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600277','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600278','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600279','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600280','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600281','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600282','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600283','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600284','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600285','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600286','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600287','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600288','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600289','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600290','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600291','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600292','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600293','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600294','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600295','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600296','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600297','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600298','10.10.10.16'); +INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600299','10.10.10.16'); diff --git a/agc_2-X/branches/agc_2.0.5/extras/single_channelbank_phones.sql b/agc_2-X/branches/agc_2.0.5/extras/single_channelbank_phones.sql new file mode 100644 index 00000000..0c1dbb14 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/single_channelbank_phones.sql @@ -0,0 +1,49 @@ +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('1-1','1901','1901','10.10.10.15','1901','test','ACTIVE','Y','Chanelbank','station 1','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('2-1','1902','1902','10.10.10.15','1902','test','ACTIVE','Y','Chanelbank','station 2','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('3-1','1903','1903','10.10.10.15','1903','test','ACTIVE','Y','Chanelbank','station 3','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('4-1','1904','1904','10.10.10.15','1904','test','ACTIVE','Y','Chanelbank','station 4','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('5-1','1905','1905','10.10.10.15','1905','test','ACTIVE','Y','Chanelbank','station 5','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('6-1','1906','1906','10.10.10.15','1906','test','ACTIVE','Y','Chanelbank','station 6','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('7-1','1907','1907','10.10.10.15','1907','test','ACTIVE','Y','Chanelbank','station 7','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('8-1','1908','1908','10.10.10.15','1908','test','ACTIVE','Y','Chanelbank','station 8','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('9-1','1909','1909','10.10.10.15','1909','test','ACTIVE','Y','Chanelbank','station 9','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('10-1','1910','1910','10.10.10.15','1910','test','ACTIVE','Y','Chanelbank','station 10','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('11-1','1911','1911','10.10.10.15','1911','test','ACTIVE','Y','Chanelbank','station 11','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('12-1','1912','1912','10.10.10.15','1912','test','ACTIVE','Y','Chanelbank','station 12','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('13-1','1913','1913','10.10.10.15','1913','test','ACTIVE','Y','Chanelbank','station 13','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('14-1','1914','1914','10.10.10.15','1914','test','ACTIVE','Y','Chanelbank','station 14','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('15-1','1915','1915','10.10.10.15','1915','test','ACTIVE','Y','Chanelbank','station 15','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('16-1','1916','1916','10.10.10.15','1916','test','ACTIVE','Y','Chanelbank','station 16','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('17-1','1917','1917','10.10.10.15','1917','test','ACTIVE','Y','Chanelbank','station 17','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('18-1','1918','1918','10.10.10.15','1918','test','ACTIVE','Y','Chanelbank','station 18','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('19-1','1919','1919','10.10.10.15','1919','test','ACTIVE','Y','Chanelbank','station 19','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('20-1','1920','1920','10.10.10.15','1920','test','ACTIVE','Y','Chanelbank','station 20','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('21-1','1921','1921','10.10.10.15','1921','test','ACTIVE','Y','Chanelbank','station 21','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('22-1','1922','1922','10.10.10.15','1922','test','ACTIVE','Y','Chanelbank','station 22','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('23-1','1923','1923','10.10.10.15','1923','test','ACTIVE','Y','Chanelbank','station 23','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('24-1','1924','1924','10.10.10.15','1924','test','ACTIVE','Y','Chanelbank','station 24','Zap','-5','0000000000'); + +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('25-1','1925','1925','10.10.10.15','1925','test','ACTIVE','Y','Chanelbank','station 25','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('26-1','1926','1926','10.10.10.15','1926','test','ACTIVE','Y','Chanelbank','station 26','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('27-1','1927','1927','10.10.10.15','1927','test','ACTIVE','Y','Chanelbank','station 27','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('28-1','1928','1928','10.10.10.15','1928','test','ACTIVE','Y','Chanelbank','station 28','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('29-1','1929','1929','10.10.10.15','1929','test','ACTIVE','Y','Chanelbank','station 29','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('30-1','1930','1930','10.10.10.15','1930','test','ACTIVE','Y','Chanelbank','station 30','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('31-1','1931','1931','10.10.10.15','1931','test','ACTIVE','Y','Chanelbank','station 31','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('32-1','1932','1932','10.10.10.15','1932','test','ACTIVE','Y','Chanelbank','station 32','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('33-1','1933','1933','10.10.10.15','1933','test','ACTIVE','Y','Chanelbank','station 33','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('34-1','1934','1934','10.10.10.15','1934','test','ACTIVE','Y','Chanelbank','station 34','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('35-1','1935','1935','10.10.10.15','1935','test','ACTIVE','Y','Chanelbank','station 35','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('36-1','1936','1936','10.10.10.15','1936','test','ACTIVE','Y','Chanelbank','station 36','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('37-1','1937','1937','10.10.10.15','1937','test','ACTIVE','Y','Chanelbank','station 37','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('38-1','1938','1938','10.10.10.15','1938','test','ACTIVE','Y','Chanelbank','station 38','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('39-1','1939','1939','10.10.10.15','1939','test','ACTIVE','Y','Chanelbank','station 39','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('40-1','1940','1940','10.10.10.15','1940','test','ACTIVE','Y','Chanelbank','station 40','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('41-1','1941','1941','10.10.10.15','1941','test','ACTIVE','Y','Chanelbank','station 41','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('42-1','1942','1942','10.10.10.15','1942','test','ACTIVE','Y','Chanelbank','station 42','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('43-1','1943','1943','10.10.10.15','1943','test','ACTIVE','Y','Chanelbank','station 43','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('44-1','1944','1944','10.10.10.15','1944','test','ACTIVE','Y','Chanelbank','station 44','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('45-1','1945','1945','10.10.10.15','1945','test','ACTIVE','Y','Chanelbank','station 45','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('46-1','1946','1946','10.10.10.15','1946','test','ACTIVE','Y','Chanelbank','station 46','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('47-1','1947','1947','10.10.10.15','1947','test','ACTIVE','Y','Chanelbank','station 47','Zap','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('48-1','1948','1948','10.10.10.15','1948','test','ACTIVE','Y','Chanelbank','station 48','Zap','-5','0000000000'); diff --git a/agc_2-X/branches/agc_2.0.5/extras/sip-iax_phones.sql b/agc_2-X/branches/agc_2.0.5/extras/sip-iax_phones.sql new file mode 100644 index 00000000..5a8c36dc --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/sip-iax_phones.sql @@ -0,0 +1,106 @@ +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc100','100','100','10.10.10.15','100','test','ACTIVE','Y','CCagent','station 100','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc101','101','101','10.10.10.15','101','test','ACTIVE','Y','CCagent','station 101','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc102','102','102','10.10.10.15','102','test','ACTIVE','Y','CCagent','station 102','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc103','103','103','10.10.10.15','103','test','ACTIVE','Y','CCagent','station 103','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc104','104','104','10.10.10.15','104','test','ACTIVE','Y','CCagent','station 104','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc105','105','105','10.10.10.15','105','test','ACTIVE','Y','CCagent','station 105','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc106','106','106','10.10.10.15','106','test','ACTIVE','Y','CCagent','station 106','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc107','107','107','10.10.10.15','107','test','ACTIVE','Y','CCagent','station 107','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc108','108','108','10.10.10.15','108','test','ACTIVE','Y','CCagent','station 108','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc109','109','109','10.10.10.15','109','test','ACTIVE','Y','CCagent','station 109','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc110','110','110','10.10.10.15','110','test','ACTIVE','Y','CCagent','station 110','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc111','111','111','10.10.10.15','111','test','ACTIVE','Y','CCagent','station 111','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc112','112','112','10.10.10.15','112','test','ACTIVE','Y','CCagent','station 112','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc113','113','113','10.10.10.15','113','test','ACTIVE','Y','CCagent','station 113','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc114','114','114','10.10.10.15','114','test','ACTIVE','Y','CCagent','station 114','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc115','115','115','10.10.10.15','115','test','ACTIVE','Y','CCagent','station 115','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc116','116','116','10.10.10.15','116','test','ACTIVE','Y','CCagent','station 116','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc117','117','117','10.10.10.15','117','test','ACTIVE','Y','CCagent','station 117','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc118','118','118','10.10.10.15','118','test','ACTIVE','Y','CCagent','station 118','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc119','119','119','10.10.10.15','119','test','ACTIVE','Y','CCagent','station 119','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc120','120','120','10.10.10.15','120','test','ACTIVE','Y','CCagent','station 120','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc121','121','121','10.10.10.15','121','test','ACTIVE','Y','CCagent','station 121','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc122','122','122','10.10.10.15','122','test','ACTIVE','Y','CCagent','station 122','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc123','123','123','10.10.10.15','123','test','ACTIVE','Y','CCagent','station 123','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc124','124','124','10.10.10.15','124','test','ACTIVE','Y','CCagent','station 124','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc125','125','125','10.10.10.15','125','test','ACTIVE','Y','CCagent','station 125','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc126','126','126','10.10.10.15','126','test','ACTIVE','Y','CCagent','station 126','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc127','127','127','10.10.10.15','127','test','ACTIVE','Y','CCagent','station 127','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc128','128','128','10.10.10.15','128','test','ACTIVE','Y','CCagent','station 128','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc129','129','129','10.10.10.15','129','test','ACTIVE','Y','CCagent','station 129','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc130','130','130','10.10.10.15','130','test','ACTIVE','Y','CCagent','station 130','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc131','131','131','10.10.10.15','131','test','ACTIVE','Y','CCagent','station 131','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc132','132','132','10.10.10.15','132','test','ACTIVE','Y','CCagent','station 132','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc133','133','133','10.10.10.15','133','test','ACTIVE','Y','CCagent','station 133','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc134','134','134','10.10.10.15','134','test','ACTIVE','Y','CCagent','station 134','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc135','135','135','10.10.10.15','135','test','ACTIVE','Y','CCagent','station 135','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc136','136','136','10.10.10.15','136','test','ACTIVE','Y','CCagent','station 136','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc137','137','137','10.10.10.15','137','test','ACTIVE','Y','CCagent','station 137','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc138','138','138','10.10.10.15','138','test','ACTIVE','Y','CCagent','station 138','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc139','139','139','10.10.10.15','139','test','ACTIVE','Y','CCagent','station 139','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc140','140','140','10.10.10.15','140','test','ACTIVE','Y','CCagent','station 140','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc141','141','141','10.10.10.15','141','test','ACTIVE','Y','CCagent','station 141','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc142','142','142','10.10.10.15','142','test','ACTIVE','Y','CCagent','station 142','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc143','143','143','10.10.10.15','143','test','ACTIVE','Y','CCagent','station 143','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc144','144','144','10.10.10.15','144','test','ACTIVE','Y','CCagent','station 144','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc145','145','145','10.10.10.15','145','test','ACTIVE','Y','CCagent','station 145','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc146','146','146','10.10.10.15','146','test','ACTIVE','Y','CCagent','station 146','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc147','147','147','10.10.10.15','147','test','ACTIVE','Y','CCagent','station 147','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc148','148','148','10.10.10.15','148','test','ACTIVE','Y','CCagent','station 148','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc149','149','149','10.10.10.15','149','test','ACTIVE','Y','CCagent','station 149','SIP','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc150','150','150','10.10.10.15','150','test','ACTIVE','Y','CCagent','station 150','SIP','-5','0000000000'); + + +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc300','300','300','10.10.10.15','300','test','ACTIVE','Y','CCagent','station 300','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc301','301','301','10.10.10.15','301','test','ACTIVE','Y','CCagent','station 301','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc302','302','302','10.10.10.15','302','test','ACTIVE','Y','CCagent','station 302','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc303','303','303','10.10.10.15','303','test','ACTIVE','Y','CCagent','station 303','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc304','304','304','10.10.10.15','304','test','ACTIVE','Y','CCagent','station 304','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc305','305','305','10.10.10.15','305','test','ACTIVE','Y','CCagent','station 305','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc306','306','306','10.10.10.15','306','test','ACTIVE','Y','CCagent','station 306','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc307','307','307','10.10.10.15','307','test','ACTIVE','Y','CCagent','station 307','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc308','308','308','10.10.10.15','308','test','ACTIVE','Y','CCagent','station 308','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc309','309','309','10.10.10.15','309','test','ACTIVE','Y','CCagent','station 309','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc310','310','310','10.10.10.15','310','test','ACTIVE','Y','CCagent','station 310','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc311','311','311','10.10.10.15','311','test','ACTIVE','Y','CCagent','station 311','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc312','312','312','10.10.10.15','312','test','ACTIVE','Y','CCagent','station 312','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc313','313','313','10.10.10.15','313','test','ACTIVE','Y','CCagent','station 313','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc314','314','314','10.10.10.15','314','test','ACTIVE','Y','CCagent','station 314','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc315','315','315','10.10.10.15','315','test','ACTIVE','Y','CCagent','station 315','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc316','316','316','10.10.10.15','316','test','ACTIVE','Y','CCagent','station 316','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc317','317','317','10.10.10.15','317','test','ACTIVE','Y','CCagent','station 317','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc318','318','318','10.10.10.15','318','test','ACTIVE','Y','CCagent','station 318','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc319','319','319','10.10.10.15','319','test','ACTIVE','Y','CCagent','station 319','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc320','320','320','10.10.10.15','320','test','ACTIVE','Y','CCagent','station 320','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc321','321','321','10.10.10.15','321','test','ACTIVE','Y','CCagent','station 321','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc322','322','322','10.10.10.15','322','test','ACTIVE','Y','CCagent','station 322','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc323','323','323','10.10.10.15','323','test','ACTIVE','Y','CCagent','station 323','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc324','324','324','10.10.10.15','324','test','ACTIVE','Y','CCagent','station 324','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc325','325','325','10.10.10.15','325','test','ACTIVE','Y','CCagent','station 325','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc326','326','326','10.10.10.15','326','test','ACTIVE','Y','CCagent','station 326','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc327','327','327','10.10.10.15','327','test','ACTIVE','Y','CCagent','station 327','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc328','328','328','10.10.10.15','328','test','ACTIVE','Y','CCagent','station 328','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc329','329','329','10.10.10.15','329','test','ACTIVE','Y','CCagent','station 329','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc330','330','330','10.10.10.15','330','test','ACTIVE','Y','CCagent','station 330','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc331','331','331','10.10.10.15','331','test','ACTIVE','Y','CCagent','station 331','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc332','332','332','10.10.10.15','332','test','ACTIVE','Y','CCagent','station 332','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc333','333','333','10.10.10.15','333','test','ACTIVE','Y','CCagent','station 333','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc334','334','334','10.10.10.15','334','test','ACTIVE','Y','CCagent','station 334','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc335','335','335','10.10.10.15','335','test','ACTIVE','Y','CCagent','station 335','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc336','336','336','10.10.10.15','336','test','ACTIVE','Y','CCagent','station 336','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc337','337','337','10.10.10.15','337','test','ACTIVE','Y','CCagent','station 337','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc338','338','338','10.10.10.15','338','test','ACTIVE','Y','CCagent','station 338','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc339','339','339','10.10.10.15','339','test','ACTIVE','Y','CCagent','station 339','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc340','340','340','10.10.10.15','340','test','ACTIVE','Y','CCagent','station 340','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc341','341','341','10.10.10.15','341','test','ACTIVE','Y','CCagent','station 341','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc342','342','342','10.10.10.15','342','test','ACTIVE','Y','CCagent','station 342','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc343','343','343','10.10.10.15','343','test','ACTIVE','Y','CCagent','station 343','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc344','344','344','10.10.10.15','344','test','ACTIVE','Y','CCagent','station 344','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc345','345','345','10.10.10.15','345','test','ACTIVE','Y','CCagent','station 345','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc346','346','346','10.10.10.15','346','test','ACTIVE','Y','CCagent','station 346','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc347','347','347','10.10.10.15','347','test','ACTIVE','Y','CCagent','station 347','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc348','348','348','10.10.10.15','348','test','ACTIVE','Y','CCagent','station 348','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc349','349','349','10.10.10.15','349','test','ACTIVE','Y','CCagent','station 349','IAX2','-5','0000000000'); +INSERT INTO phones (extension,dialplan_number,voicemail_id,server_ip,login,pass,status,active,phone_type,fullname,protocol,local_gmt,outbound_cid) values('cc350','350','350','10.10.10.15','350','test','ACTIVE','Y','CCagent','station 350','IAX2','-5','0000000000'); + + diff --git a/agc_2-X/branches/agc_2.0.5/extras/sphinxNA.zip b/agc_2-X/branches/agc_2.0.5/extras/sphinxNA.zip new file mode 100644 index 0000000000000000000000000000000000000000..08b5356232aed54e7fa8d4587328c181c6977b05 GIT binary patch literal 27727 zcmeFZW02_X*7n)lZQHhO+qP}nwr$(CyLVf=ZQHhHpJ%4#JkLAlozGJ>|9nVNsdXn+ z>q=IBSFJmdmjVWX1o+qD5GcX?UpxQT3gYk9$==+;)?HSBPX7N6dp7u=VX*%_jG38{ z^}k|~{~iSgfbbS&m{i*M2?hiJsQU!~fbsu`{nr3mBRfZX7pEm<3ELrh=lAR6o7*5riBfSUH6AW>-;r$KqGePlE1G>nGJ$I7Ij`8P~intEdtv5x7qvo9qFv{Fc1(?e8 zb78P4>IUV#VC;IBX358PJw1L%-07G}k?u)t7&fj^kWk5k%p+6Y<`4H$`=CA97wu$zj3+guPcE zq1>$!PD!d8%Cd}U)nxJfSe`i6tSi0LngEJ|$7<`k{`*Wna{BS1K376Ue558o98a2?@PIpEQD^NW@f{)DYO^}$CcE0i5o(I=bf(-6jtXM32lsz zI(j#~{{ek-wKc&o9k4skP{Q^VBeh$){IqQc!WJdTU^F0x*TdOEA@i5^ z&lA@rs?G_Ar%{JKT@Z-h>VDZ3Yd9S4C5qbFPsq&})M~lqE3C?b)`&b>OGBaaXyQGP zTbC!vQVr*u63GKM1bWI8iQ=z`PgVdc0nk$siO)^4Kc&7}N%f|nKi%Zzu->ERz>dQo zLLtMV8zpBwC(&NzU}U!q9$GxNBYXt?~qG5+`|3a`O z1Sb*=gEvDoc$HYALB7eTO+$AB_f~M-Vnk?X{CdNM-v(!(tGR_I|CpB}L2`b#3-Ng= z5faUjeowR`)JrD99c}tqI;DaG@&_Vb5R?W&7r*^q>Yg6yVr=%`8VXMY0D$tJA0BI) z5Opc14R*xd3$ag-^D@PwsF7v%TA4$N$?cra4^T`PXEt#& zxz@g4STVkS+m~^0bsu3uk6&lsw=|tzyq9{gFLQW&g*$q9H{U%S(Ydj6uTLzNx_E`; zamshR<2z&$i?t)<5eL={-tQNq4+ldlX{Re)JA^7L!(1_=QAgiz?(Xi~!f9c4JI#p~ z2M2zzvt^@ccyr(Gcq}`xeiwORC*@pGp(`Iny;q}#48A_x1vGw_a_fj+N4%Y0p5GTw z$UI*d72KRSv2mYY;+beBi`g$LL=?ZNGM6f` zx_mdRtIH>1#7iEI66cK=3BLDk*w8OvAhKnKI~xH59~rO($J=#jk@-6f%0hR z){n?y*B7>4hXYAG4A$zZOH9UXyS8J#Ot?N94-!B~s!ZJsuF9$We3v-tu-Yn`Ix8gs za%?07Av+6nV!v)fnor^8SH0`Co;PYzTL~F&HMpR^^!diE;%YZshw?y{tGk{~aVD#^ zwLq^q;-xMw47$z1Br&3=M1r^jtUM zK7GehZL4ZJt)=(ZKM*BrZM_z(J5hKruTHBiRAjf$gn9ZWS$kw-3=$jCrpcra5)B(| z__R_|?)NsHxgi9OTJgxG=;+*k0`LJNJyexJxq2?cP(mkqkZG~kcj`8_#4Q4bTdl&fX4a;3 zyR7Vt5e56*zWginNGI}eHYTfl%|mS;LN@G7I>-3#h{M#)oewcGEnF~vgQ#$Dg}*7T zEJBV%71(&>HM6;-(ZF@`tUs`+r}Vm?fv#{@?3Uzh=>2j4EC1NM`!0A8sUUox-hT?B&>mIyx$67A!TgmiWTj_;6>RBr)B%wIo z*7qsEZOlOHV3`3rHcF=Pm;q3PnDu`7E}5z0*rpUsiE(4o8h#1wBMgZt%e|^qRn~4i z!eiDNZn<%OB7G{sOp3RJjQ#*7z|ry}R?BBsO*QQ#SX^kWC>zg$-^HXf;pT=ZM-v*O zFmoelE|KWybiiZLZ*toT7nV)1H%y}Lg@#$U38Nk+ zCN=@!9?yKJ$A*}jxGmxf%Jq4{KYv!>!Ik#u(m=7E5SYwu{(d zqK;8~fwJH-j{aU6+gu3%ZUK2HqE(EDWzt-|PcE6dXA_0CONg!e zv@%e6+i1zKHUupx4WW%HMQkR#ZS~lVHlWve8pL2mVTSZd#+d2-DFi1{%^&Zi&jv}Q z&*k)l5sW~V;?v^!W$_cq1)VV`Mq?ZA@K&~A9pnUHNo1h}Y1 z_ZpnMnTaT!-BiX&hQBsWuo-m=n3aR z5W)7?B2gVMD^i~VX#m8`mbsUaU0V9s#SOO>PC8JngA{mjXrDF5NNZQvnOWNUt@4hZ}pKwu;$|jq10B4EF58=E`XnH9pH{dq@74G0O(L) zpb7_uaSngxP$C``DdC}fIy&Q^GuTZ2n|Gkl9XUZj;Ykug6*B-(1X02e9I=Kc5NjZ% z9bP&jVF4(}k8=B&58*ke`>v+-6e@I%(v7YeB~%ZBlBH{7mXUJn$oqhl)r61{7z|^N zBb7o^5NBYY;ovZmXXk zToJUMja}6a?y+f1pS#8+1Pd_fx*AR#!>gMyF z%zhzRkk=e&;1!ic0QR2$ohME~fQg~>bX^slJ#=8p6V_$oOtFozM}$NK7$&^fuGLOK zA}^+X2a53Q5r_&N(R{Pm0ge0!adv>1UDUcCp@aFiVW>c%o!~DE(HCqV6Q2Ik4TQQJpYlg&BhAUCohvDOCoJZSFmvtq0z(i)63=OP_Hg|lQs#5qmq z;bOl@4Oa@ra0e-M1#xMl!Z%7ADiO~q!Uk@_%A_|$=RFQMT>4g_m zh-nK#^1`#Y#}b5(ff|wI)cPO_%{Vi#Is$URt!y&8YZ8Oy1=;Aop@IDn8IUpVNvV)6 z1e585&9Zmb^20Mv0zYE_5rq378B#c>A{f=OA@=vPN;>ev?_mXCyK0j07mV-|1jp(B zx<5C-S%?xlY$D{Uh`pc_-;M)mcqx;>hcb3g@D-2b1pZXV+@AuVSHCi^q zOnA*()mRwok0tM0`|duSPq=@3A;`Zr77wn&CiSn4Wd;KPK>N=)=VW5*yreQM``5(w zJ|Oox2#aHvN!ae!F3-EOTa@vPZtD$7aIyZ%j6_G=%v}EV{YsOX|FW_J=V$G{>KP-c8`6HdMR}JRBG%5VAgct7#LZ6|>ddp+Ehf|&kpo@PE0 z^lNSi9@`4&6k{NZ05n8(t{Iy5^(Dq^xhH)4|5p(`O0d5`;xD3e0|5Y_|7WgqwzD#^#Zi!QJ)noyl0rLcwOq(p zn@7ZX5J6=^zUtomAq4GV5D&-mr>!_lw0)B+{LC?*8%j{J+Aj?9{FZPg!w4uEUP-@K zE95ZYjG0Jq?pQ&9Ks`3ETI4GCk67=VYj+wN>~!z}A^MKxw3*Y4JL_!n z5q2o*2(SVo@T21=GiRu+eV+M&pRF{)@5^14hG}OUT~<+r!wBd1D|@2fSryzCWlF=^ zg@$T8R!kHwiLUI5=Hedb-;i~PEXN>ov6v$%ki|yo8kDu(JVOZj)rapwo*U{3f4(??S1iD5aI}_TI@KR>f$CYidk;EfNuvz<@w0ozzGuu;GO|XRSMMRE z1Y<@q?%`LNAkoK&{RJq(FAjM~)n)x^icO^btbR?fRYw5!tM_#%&=+9dN7yOmrf0KS!J0k-_5_z4O1A1`pyr{>wq-UVtq%f66o&1VV-)L)h zZHX9geuleXe)#dzb%BqzCcGy6xrRuLT*S$5(vyj6$b+3))?=*5SgcDCq(+~Dg*c3P z>u*+G1sXnc-Bjx-M`a^Kb0l!i2g#t-SE%a~2U4liC&i=nqVD=?IIA{wEarLvROf&C z2_(8uT7xugSov&tCDdIeG=o1=4RBKH2kj-HvhNk8zw|lvXo~!Du$*9b_N?S&Jr8)4 z6$g--5BL<(hCLryC?9W1G{j>zR+BuHj6LmB<{z#I41%)7JZPu`=gZ4tH{+%rdKM7_uvq^eb(7%2X3IG7}zu&C?XUmmQ&)(YE#L1b~-a19q z#tw@O`aAmrCEJJpvZcYAZF;@~Hnqb7tKTAwbFB<0)SK)h_*525BG#yR%?_`^%cT|2 zidTC~EKWRGFJG|6J|$cJ$LAx;60DmVrkXS1#}mPv_YkKwr6YSA9#M z9f&v-u<3)aY21NHZFaqFd{L0{sNnFtcK=2?m#(<%i6l38h~c4faa%?gzE(3->5t{< zqqFy~%K$9x1x*Iq9Qyg~CS|jEiy>aWj_>|&Z@0HtpVz5t)HG;Oddzt|jct-a@Y?}n z?x(#@VgIxz%x6z4e(qyfcT^<234MY+)N0Y?SiXKu$^a~ubemuA0_cVNtOy;DI#@ZL z3)^V<5Za5Tc)_6bpjl%rS=cx@E(SF)xfn-CqJy3(^lCbVtVSlfPa-s)eFB;hn3);ZA7N9LuclU%E>hr34 zu`qXdhH(HS3x{4dMo#X6Uy>kc7rhuAHUC90Eo5Aarisu4t(4INjnr+0Y}7kiC#p}! z4#Wj_`K7kL+R2-%cNR`XrZiV1hgX$1*8Ybo7>(XDNS4gGYb^>biI6gx;V=O%^pL_i zl-Rkle%xaSza&3j*@=8A^8jU*prV0DE7tf(oHh1#ktM)bjz0igz&v=kt4WH|O0&>W z!?#0obJ`9~%8x&CJuKwvMkmRIkzXmF>5kRWMq8m^lzKqcAYl%JYI--iA9sLuj`A0^ znig~TNCh!dZNI3f;flwtqgBqHA_6)D0@)0$=h65VOX%m)jcSix}j{Iac zmbD?Z?Brl)ADHW<$;F$K99`gsL%r>{sepws3yTs<=7HoOZCzH`R~66lPVmmTjhq0NRSlwL861^)P*P-2;;ZoP zZ`+Xuyh3(+q8yH*6fxkOsA@3t7ZPV$$`72=p_d!>Bv5BlZZ1(FajsQxmNZ>XZ?9C} zWN;=NS)fN^_hkO?nid7mr3>YQj4$qfe@>svCIEAvcQk#T)G9p;qa@Vtlrazj)v3W$ zqMbVC@z~DqSvm9U$s;3!oGI2_wLl_%x7YEQ-w5FWLS)*0!`EcD6#l?n%sIJ%;uch% z;#W!!`%ZcLL1G?tRY}(ndaWq;`j;%YV(ePBeVaNemF~{pK;pwtnr7~KCfm7`@^vf7 zZ}sz099z=XfmNe5zDM0(GRgO&BYFF4rYF1Bx9e3GI^C+96*$>x;IR$izB8A*G7;7m zL-p(aIC3l8h-5{Cm{dIU*wA61BBreXGmtntgyy*Ahz*2VS;)FA&T08KAhNy%P!F$? zx5y*=!M+v>11GZpO8|9J{AQLn0+D6HOtt*;bi-3p(i%YHoGbq87>@d z5=pBcD%~;gl1@qOPgcKSaoIBQUE}x?=5#K73bgx1;Jxkls04wD1v8<*l|=yY98LarZ(<|;)=t}vjv z9HK%n@xn*Ybj5$?a$Rc!O2X@FX9r^gN-FD7Mn0*MpzGj{iI4jsn(6!1m;HS)v}$jz zp6@cJzZ^`Atmp1;&y@RI2YOc2p7-=g4(v9m&b4W+f=%mbx$3Lut0yXio*sz;Ol4JB z+*ZFpRUZX8bckIK+ymGK9?>vGCd62k9D>RKE#ITsnecGaKQmwi&V`Cmwo%2OK}yMq zUGXWGnW}cW>6f)HU@6BcDBQXSkR6nhR*=&?sY(t<112_;5t-79C3zY(iUiF2;BQGu zTrKSpV<5a1^~P6J*$iW++OL`N91U?~agzaiiNaksFrwqc5@YLG_1cgQ+jzN9#QWso z>?uiPLJCl)8be!X9tlXsRe>G#*!!s~Ny;+pRphToJepB4szC=Dc!0*;^^#&{Cqr&?Dt#+q z!uh7&&RF@NN@Gq;+RA$6f?1)n;IRp84X7O~xXABJJzs-c&kRl8waxi@W$8?}oey~O zm@b-&LahkpjMw@5t6q>zp*Ht}_C3ND%mNay5Ki^xdq-f3t{m4K)W}dq<8UJ;hFG3O zzOSFyzoBha6h>SJQfX5d7tfdDZ7PnbJFc#8YL2l*s;9dYh=~bPsO^X?hVr)<#9n4R zgdDL{eB<`3Z?!}WUOb!b8VxdRr}{2$rlHH8ZO0MZ6b1=DCh{yca3ZW zq%N(Jez)XF7oYi{SWl~SP8k~sIK@9p8p(EB5^$cF{9T!-gK zk4J*t!{t@&?fhmCMl!ddgNhU5sZZYpt#j3AP39KuD%dWiD||3Y zhxy{F(ImyWSE+Lkk#?0R-)?;U14!76P`T&e9!y`Ts^-8{OIg$ms~ZZ*$x)=JD5x^_mAyr zOPTp+OVy7eK@blR+2N7XwAudg^gvZ!-L0XqXScrNwZxGppQ9WUEO3Y5_HIqqYuW%- z$q@wy)>_79wV!CD*L;UiB9ivSE?cTp5Cap;c^EBvEL{qMfka@Q+Ns}#XKc}Q^HP;R z+Aw(latYdqHx>WIZvMeHh$Fd(7{Uwks;S8(IhP`RFiDj41j{%mlF>>i4!`>YnzU}8 zWel&+px>j4)sp8;Xc#e*#8UUbapCjh#qPqe{^Ql!SJirplAkN=3F*g+f!W2`O40WC z_^$UV-jggC-@bcpk==YMH|PrEm}4t@#L%NYkxlJ?-3{pUNmjuBLRmXh~-lE05BEJ&}KUy ze^T<1!Mb#`Tg)aG+G>krky(|}sJ>bHDlcXa|156H^o;^l<6z{5)4?3*L$A&E18ofU zty|$HqL8^+C3jM5gM8RzccjXhBy`1#T@BbZXAzCc-TAX8Fgy| zcYmtv6Gd*vS}N!IfUKT56>?$N1A-&M4LgjbYaLkmp^B zS(LQ}OV=!#SNG1ol|WZ4U$-5U>$jpF`5*1;lNRt5jY03Dg&`I)l7ur)@>L+Vh$h3y zKRc|UDrI_b=Pkfb@4oW3598%#*rlF>Wy9Ftm618wJy>E`3|>Z3yR@I-RgdS%8dGhM zznIC7q;d@n$l{T);XHD%PK80%uUobL2<5*Py%GJ%_e(5G#ggLRYQ85w_lMV%dG8!z zuk)K{bPXikGTGzQ8@#)}de-e?VH2^WV93m|t-6vP!pre8q{o)A7m1aLl}G20N=Tp&A)>)ZAI z#a4c@3Q7G5#U_0)!Wr~_nRfZMm!LKO;xN{PMa1 z+~Y{FJo|l`251(OzWMj-3~xN9^sPJ1#fN|jge!{xT7>c=j@zp?{=(?AOJkuWQWdq> zFFurt`fJW8#wb{rt28vsNqRPz(>-g2poaHmTj!Ju%F7pS5mO$QFF?RuK2_V4U4zIv z3`ec`&W>978KPew=AFHF_q+n#1(#r6ZCSS;4+FaeHmf_&?IR&UK$VLdG#T-=H`lCj zR<*N#R2*4Yo#~o7M7`a$3c=h#7$|SuZYK1!!m<<`C61hB?S{5ox`;uRq&=ze=&^as zJz!l+PM4j=^K3lsUoY>ou{(4~#z=ZQ-62ue$zzfQ`j>F-r8Jn>qOFy{FzxrSWsXKp zf<*35W88p2O)ic(SGb^_Ahev)s$y#rCKX4&y_@~a&syMR^$NRP2j!R$IGM7`;<0L9 zXIZ4$DbhML#Rsb3VGmApQNfhvwIqL>v$|CdDG)R5-l9`n)Vnyqtei@jaWL3CXx?x( zgWniv{2@y`Hz--fX3k;6d%lw_mZ_4)hvGt>qt(<*+!9+N| zk)DE@etBVZ#rdYAd1a~3JJ8MPGO+7g5AE?)3%JVV0bun(^QcUpJwT&dr(+0M_zlYa zn?ng=^l`PAq!4aHzq@eolw2iU5aq;;u#H@@Y3#rjN* z_p{K!E{&zD7^!xhB+q`079wO)w72*(XgH`uw1z7DrZo#TIELng()@-V^>MI z2%);BkZkhN8O<$-7w!1d2wGAVFI9DA5E?lgkiulLz?yj8s{UO9v zD34d*)WhUln4JQ^qK#jbOD4-xQVN}=QPsWwm2ZRW6%VOs z0+*fVpnG1E>-|z|)irCWOB%z5F1bMHz*Li68jg|(5t>QJD2^#^g|W|vMY<>QRD^|v z$`sn|4p7`J^hwpP>@>%$gB#a@4F1MwJ5e}jOF`}K_8b>~lz@)p&WdofHu>YQq9)?3383 zTA{yejMQD8pYnCN7Qgq-W&dj5!51uiwP76GQQ8J z|D3yW-?$yc;|d8dvpnN4ErE5Prt3LQ!yH{Czh#@Jam>N# zctd!U0#)F6&ejIbZPot=@qp`t-;#ddpr!f-Ooe212}FlTan5aX&nZ9}k8Nc*PME2lQ}=ENd#u(e4%qrrM9Ym=K(q6Y4HgR#Q#UVLnSbb zqStiHM&jbQQ;;JL{j%uneZ_s-%IUhiAy^gNt&|k$s_BgcAJ!-{B-f?J>bw> zQ0j@kTI4l%+UHs-S==n`?0CY4N}%?BRaBXNLCm~328i|+L0>Y9)6f{JOFkgl%$%~V zH?KNz+_pQLynL%Ity52vd|o|^Tg&+>W(T#)<*e98SgJ16-XqC`71<{qHLG|AuHkT7kcCuWaq z$hpA*S*JZxfIDjAfZ9xvhsoDY9_>_1^Is^21g5F!wXo6ee*ea-TN4T9m1XL5;J=*{ zZ^QqkC7>!SAgpI>;bd>8CoACewt-;oAVgUc?J1d-MM^vEXSok zP;wGBl?jU-_vX6u02a#yo$fY3+S|k8@Qzo8wA?0IguhYSh~GSD5pRUn%T_7?m~sTW zI`+W(>vHg6?Kh;*h8r-duBQJ=8^UaVuf4Wce{Ig~yo1L=2veiRX~Uns0Xo85Ku$~S zwPk-m23J1pE%@yy3wBWBg?>`k^XKL0ltzx({zoV>BYG z_HiICVMHk5aHwX*ja676D|4`{>VrV|^d-0)sw_}80rR*37%~9gfW(5U^NV#4pHje}S9xr8w%e7UNUV*(NUO^Bf<9S#@Ih>RbPxKbV9+0Y(!kJE zYC3Mi;j$1QmTq4hyLG_|r6eanm%=wSRqDglG;q%z{D})MJwPb=$J2yMU_NCqY9wZ4 z@MIx?9t803zwg{g|9B%%XYoF8NGXuvO9g!^n?=N!J#%IDL`bnBpx`R}dTDt1UFrft zID6lMOyMAE_y~FvZ)xFCF8@v&YyVPT5D@_%QWgRwe>?O|pka2nKasQ;nn>oN?iNfJ z+_$3nSlxima}Wzyyr*oe?M?E4%Y5JgWLU@7^k4e9KPMIY4v8zhbACFSebT?U@MfehqmhapegaYd#_wwG?1stHwxgFI}^TF9}V;#}hC-x$FPX*Pm7o41MZ55q(M3cXr z;QZlkMR+RAIAy)au{|jN+MMEJi{m(~(3pP7G^Hc@MX_Z9e;MPO;(@dgGP5>Rr0Rqu z9C&bS5V~-Qp<1x=M1U;;Z!Ru`U0?HUk_vn{53kl+9MWVzrt*g@ZCxJE)shwKvVOrt zoZ)tWwONky36xu6_tS!CGKA-@h}h2`5H#287<%T{^BAdKkN|;6aPQGCbPq&L4gsPK zoX|9lAaNff_8Z4b0BtwgoI!>nfhMg0W8Od!2J2!)?L58!QaSHY7(iJ8`q*8X4k>^m zTmr363}gQvC}YaaX9n-k)+kkXKv4>6UX;6c9p>ci&g@8LFjLG~>#H4VJDHg7BqP4B zVA`DaR=$YZLe{_?u-6}-jM<~ZKTfNm1FyWNirSYHz)INZj2uY~ndM|Hrwio%_?|aS z^GJ_0l^cB;@jHReh971J&qo^rpMBoGr}|@(CF#%+Rj#p}6SM<(cF}P+@#+c;lfi{3 zjo?#A92|kyNF8<&Cq6iOBg}dGjKIoo0&a0gM!L~kf{N~szEnT{v@05vjB2n`ea#U(ul`0FGN7p zLG^$Jc>mbOEsMicOly@Cf`Kbds(QPaE_6j<9<7I*SVIv?sgMVarSwa=;>A*oYw7VM*~l+$^YDvwCVo;8f}5PxbM3!pMc0J3(bXiN3e1Wm z832)CWl3ty4CJsRqIEy>-zXfDD!SfWHt1fp_ihHK**$Xl_(gM>gQ+jak|Y2m^r*Dx zyOg+#e1or^O3^SSUUaDYfD|Yliy6cP4fCbIkn$x4(VDmiMpKZLK~~SqfF?hG97vXf z$L@fL^^##V5{7NdB{1-jgk7i&6!^dk#f_IraT-=0InO4}zH#%s(!z{Fgbzj^;cG;G zq~Dy?_n_l3rG+0PdaS%P?mJ=}t;TBEZOgY%YpRS&bx7vTj8vULPz`bS z3#VE=yxzb3o_Lwtwvd#cq+o~?r};rF7~YyV4v?^b2Lgo^;!oWJ?Fsr~kAp4&(($)3 zERb}j5c@R{c)!7YbpGJ9usf-dbY}SNAX`Hu^K@F8UA)E~;O>*Ec3u%X41N`ri zeWV_ARXnLPs4RuR!|OlT2a?VRG7O~2@5F|sf1o9(gp^E}Lja2rfE#99gyJ-+;Rei4 z-`JY{2~!rMyTbQ)CVbcS6jm-9k|>QY+cC@qJHtN8fT52V>w^0w;P#t~IflpM7vher zo5OH*y(%C6WP+SJ?qV?yWPv1yjAPRlN*`Kd34Y-_CwBxDf-Yuzy{Ecmy2$SAW%bTD zesp^hmWV`0jfM(d$2;GLC0~A$(t^HmJBmQ?Q%4c^*Q8+pjjpXiexwnm5mT)Ln=W;*jhDvmZ7H=QH_)OGn!0~#N!Dy^6-{Q?H+C@`>gc`T*u8V5mTx| zglJ-UxF|I(Msry-XPoM|C}*+!dEcF_O8Cly#FC6$L3D>lDuF5HL;^kLq?sQpA`}P} z-^@HJ+F+G5t-2AU#tV5KjS`v{Qolv%;Yp}m@@*VQ#zR}XkQ}0iP(N^wP3V6c?iXIvTLHw z+7q=E&rLoDiE_^TM5mIZV(xsLVs7Gmu3|ASiHzU8 z#aqcqj%m|&z>^U5T`|b~`AgYj%O zEE^gb7&qhWQHGlYLT~BG+wZi+eoIjwx!!#ju;o1BMqG;HEp;#wYq~!I=Hkb^0!SMr zc8zkdMlP%a%aBYdV@I;{%{L<+bbJwviq&%q{w9O!*k2x}IZ3~D9R0=N6F#(cFiUa< zyO}3Sh%I)BKGI1qrzDG-6PZ&(SP_(uK^)t_%d$k{a9S{Wfn0vC35YvL1 z5HPT4Oq*jqv56M-@-xPG78=JNX^b0tUVe{LsJ&N2Z1!=TmQ9r?vbPgLu*~(}jUAr^f`&>=!yB5K zQB-tQ)h|_7j||NGiCXpOL>^k;;yUb8ob}a++`ArM{qmroD>;OXIN}RT+bTi7&h7t9 z>8`eQ;LA*#SCqVtSO11NKKk%@Bb%N)&y^=m{i&a7{QSxw>4p3$T=(6!u75sru=z%b z={im`^r}Igj%cl7(|faG_CXA3jZ@o{$o^=5r&;dRn1ZOd2s{j~k~PSM zlf0M3MbcD;Z{@68D@tZrGpvCnc?uK4C`Pzmv{C!upnAOEj^u>p=zO{O7X$=}#}*x@ zgj6sxkxn+KQp;8!p3oKw#V=NHXR#8O}0*-c!_Hv|5N zUT)gW%#V|g>|wc@J@5O*(0r49onk~-0tVdBzTz9L(1K`3oA3T9x@~C^V4v$qE{CMe zK?9dB=1(GC1*rqb9{cYP@?|+W%q3l?Ql!8C1t3ronVl*$TKg?yDhKYFpYwh^6#lTw zH^Hzu7fV>Nvye}&u$As|U~FP;Oz|aS%6&qX1TbM_6zT@nbzs_+xKv~6oH<>fou;9^ zxtrXRAra3&rF0Wd=Pha%Nj5t35 z9GcNod-HNC?#WpQ8Cuy|RkL!Okg?47!uy$Z`&M99IDPK-RABx<04t)WrACz-Nn4>b zSMgoKmTP=QwgnK1i@2il8k2_9p3B!N>i%e$H!LS_7XlqR?6mM;RxuC`KDUfwR1%aI zc~g{tEEowppSG`J=WOYLic51YA?m=Ma2cdsMaVl4J#0r1f8IV%ixC;vPlAQ`EB)8%U-!xCR1S%HRs}}u%O;L zuy24Shs~r?gHua2x5sI@+n`Xo^ z&#(U~r~<0TYgi47W6&@&6$#kesl>oZEX-SIzj|6WZ^2;SW|7N-EGtv$ zb2^1h$6J@%ug8rvt-gkL`n8T*)j7~|HThrZ9i0~HM znd*GH&fKmbWFMaSOMAfp?#|h!8hBhD5RX)-Nl`=~&2YDbeT#t0F~i~`{%I}wX5X9q zR`d(&53>a%w(r^Plhh>6I`DFC>}-d;g)NFZ52;X#dK|tq%<7^6SNy;`0|F*aj}Eo> zf+*g@6#01ao4hPsO*w7pI_vMQPE9e>y20klil102b<2)W2lN!w79;fLYluiv&S^t( zA0&}thjDVtD0*UZ1IEyy5OTz1Cxpn5XyS5f##m9G2I}KSMhwu?6GCjUYZMUw^jgw` za=Pp#5EnU71KPoOeV}o4&cB1vMHxf4388yr>((`+0p%Yl?!9HK5aQVGK+u}(!(l$f z(th%-!rzz6`EcgekqZ%V4<5^Cq27C$_PQRL1gs3kI{o?)nWF@*W?lUx(by41VySKx z%5Q0Z^Y-PcsNUfxxAJlA=~6SumVFO);oR8A6}8Kptx3#&W3SV0qhg1DXvli1;iALq zW=Bbps!-K+tDtO~+p{V`NS&=!%2pxNNs?^?myNA1itQ-BT%HHrVeOw%HuGN!*h}Pc zBz;8}OgQswwq1uBHN)#&skUcO?e%)#VIS#thVKZYZ_~76&ZH;&NT&ry?MIv2rtZ;E znCqlU{Yeu61MOe=&>J=}*~}z5N<_15Y&Zfk-PF79Ig5{7Xm?F#wf_Pz?Vm0bOQH56 zv?bc2NY1mKuZ5>hmecnoQ_dN;`}sVsxvPr-7Jqxd0G%s{N;*OYeg0j@QAnF1)6I;i zy2?&Ku)W2Un;p|_;JUS2%gL)bsphPDyU)@sw2zF8yan)@ShuP0MQU0x7!d5f63Gb+@_qJUhlX6#x4MP_cU$Joy;irePe_ zmjRwSCw0E$rt?fUwr=StHZ$}gp?ib@5IgPI=Hp#mSrxq+@+?s%aE0gC@R20K7Z-cZ zO*F{(@ljbvS9Pe4p*RcmD2dXiwiW%4Zb!}mz;ZJ^CG%9QOqG_y3xS^^CK(K!#8MB6 zuDH~!@=5w`yn|fGpE>T43foN6r;c{ikepT#+`e&4oNn8;t+SqfyUxIu;e_$nDzO^P zlN5Y5l2*&5Mh{aa?O@DJP_+VTrcoW!q+vlr)7Yw?EY9t9NbhuBZZ4n_c`Mj_SCZ39 z=*E>GA#LrTK>nN@%gVJPk22c z;E?F~?&QM729Pu1nKVX z7(k?3S_CAe>&4$W&%xv4^UnNnuUTvM=iamKJ!|i^zx%o_LbeSrlG1nY-l3KfEK6}n zD4ktjf5;uw#OCIIs+GmnrU^e`!iMk|=_CE-x+e2m1UyM_x}?S9^=61#7tXu9ZwK~k z2){|1(Jkb88bqn|+wYa>RQJ;K|2hZzPwBwI+RohA%+B1@;l6fIqI>5&Cj-1Az9C?j zeE!UgwY}v9TF-NsNrojE10bL&iJp#2-y}aqd#Y4vk@jYOzr|3#|MmF5u(wG0yQ@== zo85U2o7MxTB-c9OLydT8?Qxq(s{u>|_q2&aA<;&Pq3f6q09l;Ym$1k4Rre9S&=IyDbHH)?J}4yJX_Oct&l; zxZ3B|x=MwWoxuxf&smELQiT_r*7+8jGW!xP!Le-riV@}n z{wwMLC6KBrb^87AL|_m@e^)L#uT_;rZSpX^{xKwr&PE+>UX<-9jnD2~`77&ZH+g)OuznKTffgLy!V6g1Y%! zfs7$MOx49?pv2=u4CK4j=hdI>?GrWRuy;7#T7hbuh&kg|+plW_;gscOLdXWm`{V6j zMFyBUNK|De^XE+jJvHH_6~v~cm zPV2ioD-!RWi4`V$S-eE8zh6VY7l~B!aI4f?9N@kagEl>rm1j4`WNYnZBI}AA-Kky4 zA&+d|8*3-`d_trKOZO#5M~h%4=c-z57*$OUmT{A4&I?XRJ~zT^G~^uBK))% zzGD0892wN=9q4$lat9D+7Qq*7^9jB~V(RWZoC=Ur##%lzC9uvM6_ zAs+}vq5ddTjP&vg{WI3tPbE94%It(~(64o>ZuUDloDRD=TGqXIfU1kPTxmWx@lT3k z*VEV11T6SDN7kSRPdIyz)CtwA=ErKrT#{*VRb-bBYA4TwjuW{HT1F9b##Z(p+ZbzX z9jFp~%~!xOukmggWaS3mA(f5KRx+NTy2wO@6Pi|Zoubgdojl5%glmKDE#*khU~!nI z6Ns?ThxSD+Zjw^RiG0zHXW8bRUbiYl$D=wEf})5jiGDW2+A5S znH&?@^^Xw@4f3d;BVB;`ZPHSq#x5`v*U93Y!;W9Tdx1gw85WXw!HjrZ&$>pP5ch!PidGd(UA%VoPJZCox>qEz{&#$!SQoYu#>Q*(-5WVkgqK5&up{d{}V$wDlt zA+^O*A-jLV>g}5j?PL{ow8LK9uyQwui-VaF78hukr%e`qO0I!N zoGz&~D46)sKXxv{-eAhRgZ9lKV^9P!@kH9&j(4aDrS9y9{Mo!wLWI=2mTY6L(I$eL zjUafLGKDGZ4`qZTZjN^pESLMJ_`o4GXA&cmqze~Ok)|X=6OW9risg2`ucP)7SD*J# zi2*KcQQPBXXl2Uq<2bgX(sCP>L-4rNL+k+*OjrJ@7Pm;>U7nS0)m~a3K5@VO=1O|2 znQ9PjEU6>AGV5)QB9AR{t=_6lEM9|TGlg$zy@fk1&;ldwoK9CRW%%aIc&%qi9dHDi zk1_h(?f`ogNr)g@q5*}K&Vp$j5QC)|JGZ+#%>!JAB|)5s_G3d8t6`{n1gjKfxdD#y z-0;AxEYoM(PX13Nzdr|w^>koHtmJcy$BZ!9Q9+IJ-!%1i8@JOIttvM4-V&%_c;*QisIzD`sHNwrFRqf2a1S|Z1wJI>Z*Q1xMtak+Q}?u7bAj&jycpt^fH_JhjF*`k|L+BVg1QD(~*X^#&az# zdK3yp#htZB2mwGyT21M5drK~eWA5V%v!(nYErAvD6OJ=sjF`&hHECs2;o1G4$G?d# zM?B?uO0r}zVCZmgz07cM_eO&chOPfh{PHTsPUiQ=1{|EtjsK-9yk7t;lGwhP>pkMW z4&j_)8zn*$a!?8NReeb-lnQ172-uT+!zBie21k|C?$-C5)qPD`oJ2&7h|P<1tH6>I zsybepO^U0nn{dT1OeifI(cK~lo$s-?0#wb9f>gnuste1F%ft}*omYuenkiqVqkJw~ z^cI4G_IuuL*Dvi+CX&N@3jT;UJq<%nZQXvcPg9cZWYJdAW*ZL+d<&}RU?26HNvl*K zKw;*o%uzCYFPnsPjLjZ6!sdy>{|ZJ%R=53q*CDV zgBf7|v>u7-VSRQSswYJV2wIqtW}+nWE|BIx^<|=6l4;K%)~Ot>%H>G zeoH$P;3Krczk0e!2yR?$mD=M^a5t!D0irFuM>rA7oU*~&9M+VVoEtf8UPi|7!j&}Y z?DfYwsC|8c+3;f65Ey!uxMv3J8AI&PYi|yM#GG9iLX7UK5KqsrQ$}@iNh)C%{DFlO zj@{wTR<-R4GzBsg^INm_$N1;U)HLdiEK39pnQaW}Ybai5(Cu@ngZ}AYTk0`_{6&Zu z7n0bPw0`?Bj{Zj_h(DTsQiaK8#qAKW`>S5o?WV3&fzSs#0 z(_3k8cGLa#ocnN-3k~wradT8JQf*%t5=D6D3*sObkb0;=N*W;8h1zuq%8f;ovX!F#Z@E8qi0;PP_pl|x? ziY92Fr3`?n(uK4UFHALKDkF}w1wX$o6P=xbq%gx;L+EH$*&O#-#eSw(vaA(HDoMpb zvj0brxUEov$_I%Uc)u*=PH3vbE4$5SUoc8npsC1KWab0C2YH(QV0h){M2+YQB_?|q zH%>~87k1dk>r?_yDPtemL=j5945kjikx3xcR+$5tF+c>8iyyIDeF|g_93rM?tmea) zt)Jxgm6tZr46Scb6AfDUN+eBSj^SCAv9Nqg01ySNM7bu;Foq2x1xfWqroy|L0hl#p zV^aB96xg-+eGn_)tO4{&EH#YLqFr<%-It3RrK2@Ylje^oH;oU{^3;NadoAKTL|G=6 zBh{7&VH8qwU?~;6nNH}DV^dL53trCrQ>YT_!7yJC^#`y{Oc2qc$zv{nstjObqVi|- zBbokDOaa!l5P4P&i62E~Z`ii7E9*Z!c>)X#4ejx7tY>6@qJZ|a1CyBZ6D_j5Ui@p` z8M#qo8iGIsCn`N^O-+Otn$&t&qXl@uPgjODSVB~sDk35m9IVP)rOI)OJwGB+o2FX%!yTjc zRHXKlVRp{gx5P8Dd%tFqnA#m^XCA+^g7hf?1HN_!YF(O>PPYpsjWq5E$!e5aOH z95`5aQJ=lhj%EsmVGj%Qm6~YJdy_Fu5T89SM%=XGDzvQ4ufFy#b{drS-=r13U@Z_& z-|Ty$CZfK;EvQG881U?D(d6fcC#UJp14#xuQHH8t!C@c6Q(>EGIZ zCcMj2j%2T}3%@y&DBmn9K~}7Q1)z=yQCqgh@O&xfOMM{kk*pz?+y93TY!f}@0Av|^CFuE zhxfaa9Z~tCS0qZQ#2coTew^Nm$V;+`CJ?{13Mvi0@Qf?<-R|R0Oxv>`SzR(agI$(B z`fKYVgS-^5v5Da@v35i>AsLD4UJ<7okxgmf1w zf0#5Y6`w57CyY|e<7%G9XK)ks!VD~im0PBkkZKwape1&jWKDqstBI)$QCF1LD$2;w zZWq??f?#`Jyn7#^k<8xucVL)&TLPu?eZ-&L)jcCf#^RMT*YDThctILTlx(6?19gN&KXPESVmy>@(<&n%It^ z|2}14H02Bb>yCo0CIV$Sjmm^ke1Rt%co4-Ttv%Curq`#RV&3e6q{f-FGJQ#57Q-hS z7p1~!Uvado^BV(w0 zJTbi|Zp8R|vi(Ae6r1PjDG%cy>E~2TXPa3`HWlOTCg>m?<>ZE>`@0(xs`QYkskI{> z|Gs3p#iRE?=mnxm3fv^k?Y0as^o^}=^!7O`Wl0$*fcRpALut$9cz8-ol(&u#IbX>s zgeFI^xubpjm0?zX*g(f(DZe$WOF$B6ghSdq&_YBT=(%CpNv4f>d!&ZRtL)Y0b6ITE zqnU~+o4Wr=<8pfM_ER+t{E@ic;7{6{(P(O~S+(*I5eG)yn4J=22Mi)&j2_&;h*U2q z_4}`WJL$spc>6p&N9@}_?S@77CHBTEN0fyk!N{2xUog-}ABTW9SNdiOc#iPP3;MfU z_+qfuX4RInMq%h+tE*8nssI$*eg}cbFUkD3i5MO0>dc(+R@FDQea?Xb0#@VA`7-kq zNYAG!__)xITPa0aujruoELeo{`oyEr4er}mafI?Rdhdc65-gEd^{iHKfS4^1HL7VJAXC_->YXp3|d**q$kSNq93{kMBeSR8^v3b2g|0Ftej01ha zbOQT%ecY(^aUz}6crLDi&RGAM!1?jau1mSyL5tkt8~1S>#~XN&WoF>4ET7Es``_XU zMwE~_TL94;jrZm=o{#>BE6|pgl4s-kpO}d_MW=ZV^nkPULr^)ak-G)%nGbz0{z}Y; z7iYI9OyUFK&)pVsPiViZxWnC{V0$qSf9Nm^9|cqS(1;NDFn>&i22!f7i33!)ye*a1 zy;)wRb5;aOQ5PdUiJ3o}*L~CxoPTW2w9G+g2y{}OV451NF@2ru&=|e;dK*EO7aiVZ zb@eqKKhI?~G=cFo86RbYQ8OhMi9O=r(8`}kx6+G#S}0@b%Wsys321FLO5gm!rPI5P2NH1|aZ z&C2Of&6F_Bbk=@Hyh*eenKcPiph`ZW=KQcD;Fhb{*io@L6oYnrj=JUzbYmY|7sCg> zHb>l|<;XXLwW1crD3s^GM?P?botM2DA4F;1-5WEEYPs$wm3?KGCQU$?jyb9xW}Rh_ zm=WwC24fM2LrI!zTFE@KLr)Y9>6f0sHEc?XuzXCX%i_{4qW49SCJOHQ6+TVHFut;FQNn?WXI{`v{-wH_5Usx5lwA#Clrbt+{qy;9uoD$q)=WUec{i z$#^&|zvB(yoJV#hslRu6D!UgZ{)(*lPgKdTr~NAHGg` zXA5@b(HDV~2kFgkO4HINW}{VdWu(>$il?HhNxGhSK!R*0MpmAVB_d`D(xp_M(!f6t zlSzqOT?Pw;Wx^4M<5#6|->bzI13SlM_BFr3O^H<6L3=edqz1b4INxF!PYU>)NHi=H zvii3@gVgQ5d(xlO-(qfw$lXo4`tqjJ0-wf&BDd%UYFv7x-{k-p4XwR>-~YV|y;X4g zE4p~vByxf;>UPTI6Tpjj@;MDmmL3$9BS;REP(JU3EIVQf#GW0qs^#0Jw9{BecjQjt z3<+7W(^)OvWJBn&9;PZ4oL`<**q;*=;lG?2zoNSW6pu;G98q+h@aWOooISn%Vr6G9 z1b}`=UakQdodnnGNzxNon2W*ZEYz{RSAcpgQi|I*laa{UgV#eTeX!7;(4G#FUY=`@UWb_ls+=--o=3#` z?1Hf~>UuK6>IGxj*H4|$?bb>2xsnSL)FhsE$Y=pysw&mK$qFTFO14)@f>?PMT&5PnUcXP?9)l+2HSqM%i8+zF zc%&Dpqq_;977@^X-P;)1t4!F~&iQVX+8El2#?NFD(Pipgv;J2uQh86OI>aD_aM--{+0BOs-wLO|9i93zr^(X`trY;G2CDO)9l}&J-=@Gkp1#! zY|pQj@NkrHUf$3DSKHr0eE!vi2h5)lG7lKc`~U8Lci|t*eW1*rjNkowemH*`YSHbmn(BHOfA3zma ze}ewHf%{*;zpQ&6fGzh*vj2>w|5^q8&iLDG`oJi9`3K|QbE}#n;64@#4i4x3or?qq K7ianF)BgiNJd3;l literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/extras/testMULTI_VICIDIAL_lead_file.csv b/agc_2-X/branches/agc_2.0.5/extras/testMULTI_VICIDIAL_lead_file.csv new file mode 100644 index 00000000..cccbfd2e --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/testMULTI_VICIDIAL_lead_file.csv @@ -0,0 +1,14 @@ +100001,10001,129,1,7275551213,MR,John,Q,Public01,249 MUNDON ROAD,,,MALDON,FL,,33709,USA,M,1970-01-01,7275551212,test@test.com,nothing,COMMENTS +100002,10002,129,1,3125551213,MR,John,Q,Public02,249 MUNDON ROAD,,,MALDON,FL,,33709,USA,M,1970-01-01,3125551212,test@test.com,nothing,COMMENTS +100003,10003,129,1,3035551213,MR,John,Q,Public03,249 MUNDON ROAD,,,MALDON,FL,,33709,USA,M,1970-01-01,3035551212,test@test.com,nothing,COMMENTS +100004,10004,129,1,8585551213,MR,John,Q,Public04,249 MUNDON ROAD,,,MALDON,FL,,33709,USA,M,1970-01-01,7275551212,test@test.com,nothing,COMMENTS +100005,10005,129,44,7275551213,MR,John,Q,Public05,249 MUNDON ROAD,,,MALDON,FL,,33709,USA,M,1970-01-01,7275551212,test@test.com,nothing,COMMENTS +100006,10006,129,61,727555121,MR,John,Q,Public06,249 MUNDON ROAD,,,MALDON,NT,,33709,USA,M,1970-01-01,7275551212,test@test.com,nothing,COMMENTS +100007,10007,129,61,727555121,MR,John,Q,Public07,249 MUNDON ROAD,,,MALDON,NS,,33709,USA,M,1970-01-01,7275551212,test@test.com,nothing,COMMENTS +100008,10008,129,52,2485551213,MR,John,Q,Public08,249 MUNDON ROAD,,,MALDON,FL,,33709,USA,M,1970-01-01,7275551212,test@test.com,nothing,COMMENTS +100009,10009,129,1,7275551213,MR,John,Q,Public09,249 MUNDON ROAD,,,MALDON,FL,,33709,USA,M,1970-01-01,7275551212,test@test.com,nothing,COMMENTS +100010,10010,129,1,8585551213,MR,John,Q,Public10,249 MUNDON ROAD,,,MALDON,FL,,33709,USA,M,1970-01-01,7275551212,test@test.com,nothing,COMMENTS +100011,10011,129,1,3035551213,MR,John,Q,Public11,249 MUNDON ROAD,,,MALDON,FL,,33709,USA,M,1970-01-01,3035551212,test@test.com,nothing,COMMENTS +100012,10012,129,1,3125551213,MR,John,Q,Public12,249 MUNDON ROAD,,,MALDON,FL,,33709,USA,M,1970-01-01,3125551212,test@test.com,nothing,COMMENTS +100013,10013,129,1,7275551213,MR,John,Q,Public13,249 MUNDON ROAD,,,MALDON,FL,,33709,USA,M,1970-01-01,7275551212,test@test.com,nothing,COMMENTS +100014,10014,129,1,7275551213,MR,John,Q,Public14,249 MUNDON ROAD,,,MALDON,FL,,33709,USA,M,1970-01-01,7275551212,test@test.com,nothing,COMMENTS diff --git a/agc_2-X/branches/agc_2.0.5/extras/testMULTI_VICIDIAL_lead_file.txt b/agc_2-X/branches/agc_2.0.5/extras/testMULTI_VICIDIAL_lead_file.txt new file mode 100644 index 00000000..8c1cb742 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/testMULTI_VICIDIAL_lead_file.txt @@ -0,0 +1,14 @@ +100001|10001|129|1|7275551213|MR|John|Q|Public01|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS +100002|10002|129|1|3125551213|MR|John|Q|Public02|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|3125551212|test@test.com|nothing|COMMENTS +100003|10003|129|1|3035551213|MR|John|Q|Public03|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|3035551212|test@test.com|nothing|COMMENTS +100004|10004|129|1|8585551213|MR|John|Q|Public04|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS +100005|10005|129|44|7275551213|MR|John|Q|Public05|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS +100006|10006|129|61|727555121|MR|John|Q|Public06|249 MUNDON ROAD|||MALDON|NT||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS +100007|10007|129|61|727555121|MR|John|Q|Public07|249 MUNDON ROAD|||MALDON|NS||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS +100008|10008|129|52|2485551213|MR|John|Q|Public08|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS +100009|10009|129|1|7275551213|MR|John|Q|Public09|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS +100010|10010|129|1|8585551213|MR|John|Q|Public10|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS +100011|10011|129|1|3035551213|MR|John|Q|Public11|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|3035551212|test@test.com|nothing|COMMENTS +100012|10012|129|1|3125551213|MR|John|Q|Public12|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|3125551212|test@test.com|nothing|COMMENTS +100013|10013|129|1|7275551213|MR|John|Q|Public13|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS +100014|10014|129|1|7275551213|MR|John|Q|Public14|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS diff --git a/agc_2-X/branches/agc_2.0.5/extras/testMULTI_VICIDIAL_lead_file.xls b/agc_2-X/branches/agc_2.0.5/extras/testMULTI_VICIDIAL_lead_file.xls new file mode 100644 index 0000000000000000000000000000000000000000..332ac3c14e8916917cb2d221e1b182936925ac6f GIT binary patch literal 77312 zcmeI5X{;s3Rmb~o@7=fAvp9ai3C>G^cpE#jc)So2&v<=fX7L&V7`%?-Nyal_d_xkz zWRlo8KmrK{Az3X!B=Z3wfe?~EMQZ08`G7z{`2b(qi7X)`L;%5uNZ6O(sq^l+)pe`i zEYJA%8&}(>Z`J8KRj2-^mjA8WGxHCBzxB0m{`Fyf?44akkiO~}p2Pa_{jeg^pn@=@d#WFN90xfQt$xgEI!xf8hy zSw#*YcOyTG97GNwhmj-5J;=SteaQXD1IUBO$B>^xK92l6@(ai>A`c$ub=aFAS zejWJ@`(Y&ZhjC%B1$k2%HHk zdG6ys*JqaZdfD;0@63LmXW!1++zaGYh*5U{UT<()UeIn zx4ZjC$hm7@wjy&!JQg2vpbLw6On-HsOq;LOG#p&K|dk06K860}>-~$I9 z{@8)r4%~iV|G|fkAAR(Rho3xl{HSb*I&rqRiL>Me?jrXm*cfFHZ}|B|yAZL42)y64>egVgiG zf0yfDZn?rsUrG8OuXy&mS3LW}Tdwlb-(-_*xeZ2IYG*rIJ6emcJhJf0Bd^^u`fRaz zwb|&ObsK$_y)-MEylfeZ&cByt#`!iSU+RwY9q8gqopHWPpYnxqzQ;B(@XF6XGG^Q3 z=d%!wA9(pbzP~;{em(~g`Ox-pejY#n%Bz17A3r-ce!c`z+2OT!5et)F{$k?f_h$>S z8uZ5YTZ!P+UVpZ+gcY7Y+q3PJ{$0Xy_4?A-{#_6uAHPc>MfWa_pF@vYBY(2Cj3*&g zXtRD>XtktUEthCr>~xY@&K4^=8DpVNMsKK-aTe-?=!LqOh;BBbW6PMZ6`~l{C;bX_ zLL@_-5X(>}MAO%G+k%h~%$aQ0POe?uwv=h1={XGwsl1J%lkM7lbGI!%b;!0dp2;56 zB{QGhxckPvd-v|zy=za`LEl5$&JNwzZHpr_dtGkOln#m6BKZsh}T0+y#?mVc@Urer- z?b&nVPP`T8x1i``58l6D+ulmHl^s&&w~?98cHMmA&TDt>;(yg{cUtSx?rvKs_$6qU zGFij+$?dwwPd?ps(@O^CY;X+`=pAtHZg4KOW9B$ZV*`xy9tK;@qP1W1L%r zr-E~}Ib1#Z>uMTJFX@GMtg0m1J z!}&&Wb;iRP#R7^7&NCI9XJR=O=nG5NKPaHfhg4K7o>7U!7>oM%Qjv#*Qu z0nRg3oM(KTXQDXIL~)*}!&&+k;5-w-SxBbge3Q63>*0)I0YwGp*)^Q^vO#R)p)MS| zulHBz*$U9J0nqZ5!+@Tx0!@p{Jgxb3cl6KZh;F*^EL-7tBb*O#p7(K< z!SCTrgUd8ni}U;h&hr(V=R=(5t2od5IL}9Mo?pXx&!|g|LC@FWJdgVU&hrtR<-4ij zOpQyNzl?E4v4En2vruYd(8BvFU!NS#LQ=*!%U0@-XIb)XeO{>IOoPibSc~(*1kMW; zoEJiz7pgcf_&6^_ab6hVJo=LBa9*gxd4awJI4?wSmIDaG8IYFf$QWl7(z6QAi$2ba z(e-(;g7ad4^P-RQViji^2^pzU!?U zG`LKIwc}ZaK^13lSlZH)q@@t&r7F%#KF&)~oR^|FFV*2Jtp_+S1vq~cYVe9MX!(JV zAAT>+I&!chM|SdGzb}h-x~7YO{1zz3Q1U5X-{mu1?;Hd;>Xq=H_tj#=bePD3*p|Ll z^{Uo(r@ZfR=-A_@PCj$;$-&AUpL_i1@s+*T?Y#DZM;|+S{P(BC?jt`!7NiA3=o3 z97klMmG@A#BF`ZsY%gC+%lkX~kkPeI5`Vh&h4=Fz>C<0%@p!i5J1t3%^mmcmi61iN zWIwqQc|jf{Ef-A^jEnG+^66?A0uripH4lLlm*&MpJW6p%acL$3&GahGmlT&~BG62) z(tJsAX(j^A^eWAl6qjZq&`ht=d`WR>CIZd$D$SP^mu4c+Os~>>NpWc=0?qU)&6gCH zW+Ko`uhM);acL$3&GahGmlT&~BG62)(tJsAX(j^A^eWAl6qjZq&`ht=d`WR>CIZd$ zD$SP^mu4c+Os~>>NpWc=0?qU)&6gCHW+Ko`uhM);acL$3&GahGmlT&~BG62)(tJsA zX(j^A^eWAl6qjZq&`ht=d`WR>CIZd$D$SP^mu4c+Os~>>NpWc=0?qU)&6gCHW+Ko` zuhM);acL$3&GahGmlT&~BG62)(tJsAX(j^A^eWAl6qjZq&`ht=d`WR>CIZd$D$SP^ zmu4c+Os~>>NpWc=0?qU)&6gCHW+Ko`uhM);acL$3&GahGmlT&~BG62)(tJsAX(j^A z^eWAl6qjZq&`ht=d`WR>CIZd$O6N;al*3`UnwMl(SLGkv9u@=5lHh4Ego&{BI|rCvO$5Ncva%^IIDWAQ+*g0cBL)rSDxomSDCMp$n%^^ z2L+9-^^``k)qFs`19#)IpkH!fV)bB)Az6LumsdkqKQ)W<;5#gHJS=KZr5=iLr%XvF zUG4emDh(7|c}}9_vnU6vR9T=NRMIeefh zO_1i&h&%8L9^xS5o5BPrm*z^!0H>uTTaPMFC47`$#S^TGyey@vvc!4K%5&$^fWcpl zOVm)yQ(M8{sWAZozaiYP%jz_ZpU|$Ud+5mmCvA}~3hrd(Zk6P&N9K}d0hID~F+Auj zcKLuVOKo`}H!DB_4K)qGI+qd3Q+EsJi;Fo*seyu$z|7StmE`5>VBmBNk3k)(+OEwP zsib67&?my=>U3H3qb_4nsFmIIQDCS_DJ{iC{EMf#YeMhT?>{AN=Dwan3=kQC%tM*c zrDko_U0XohY9p&$fyG*ntPARA(4yi@X+~n*d;w=F8w$2kFHHw?s&2mE2`1WNPKSqu z*{X+8h-gUTLLyy_LLkMZQQG755F$Zn)@DP!bEO@_Gjj^|_RpsI0Uw4afWDTA6| zG7-ZwksmS9+Kl+&hF#{2Y5W9RCsZ?cbP+w-Vl(rxD5~0Dn=dkk9RZ`)lYGpSK1!qs z`lO++ zte8-&&V+h+bgt)P<%r<<_2(trep8;0X)mG>0UdEM3Pc&YX*5Z*%CD3;a4h5pC2AP( zv8c)U@iFyh6~6AB<|#$NEA6J<1IGfFCRk;GlLegTZ9gB2qN)hnd>Jx^8_dV>)=sz9 zMw;^$K&1=CU^AYNF$-*5`2(J`#wAdu?9>rRahZAuq7L}$m=dt)`53F5t{y=pww_au z8Cpq8_*N*-?|e+zl(iBNupp~V8vzTlzCUbR)8b=wsN$Z*r92ZKs{=VOBz{)X5IKE_6wyYn$3 zOM(rbDA9y=Q18~XmNAz!+Z;X?MOERl`9km3;bT12F8d%G8iApew1jVkGB1UP=$)GV zr&ed6BpbA%*-g#I>QJS#8kb2Bl4iOHq_|8M|GL)wb&QpTtPvi~>fsVAp_DwA-z&{L zXqt6wBYX@u)RTaK1zB2Qm1sC0t3wsUq>pDhAIpof$OqETqM)#U(fty2o)@hD?!`08 zn6j)fL5&4oozwecfXq8tM!puz#>Z+EbvDWw)p}Y0ZH()Agm-!t?aHi zL`$lYYOSy)Fwxqgb?Pw}>(ZpTX^MiH2)fK=J1*N?=VR)86ahs^+}F3pLB z?}@*T`Lv3a#LpJ|j8Yc9p{7}sSgHJy#>d=~xXC(vOsk@G>etG(A<33BwW0GdtIAL0 z)8k`xsN$Z*rCgVf{9O%kRB@Ar7@|I1v7<0? zc*L?`EUu;k6T6~@W=^p>lXdtQ?|&CV{v&E@URiTm;YQBK{HiPsU8i?U#01>liB$StC?_)|7#{E;Z4Ts#Ip>TVay; znEqZ_hbnMcT-XsH2?d+ABUJDc%c3M)N_%{SNdvNP=$rGheVqxr22D+#kCpEvJ_c5G zr~<4^kP-6%tGq(M##y4GGzk;CqK3xDj9FQE5^9q8n4XVCQB}BXzQ`E%XjPCchWt#- zcfG;~nY6BBz9Eri#$is;Iuk8pCH*>mE3I6gmJFc{|6b`gWa(+~F;J>Q72h;2=447V z1c4Nnh6EyTBgG{Eq#;>mD(kg$uuO$p9_w9c}=a%-fveii< zpWeA;9jbUGXiw1HQZ!?pOqL&T>qu|u5$s|_vrDW?Dwj9zsNcVIHwTRh%E5qXok{%Gy9A<;>0yi*Zi9MX067FKt*FtSlTUX0$R3~-t>H1k3hRAwR3|%Y^JTa$ALpq|m)Lv>3<;&t|2h*b zWrgQgo!8mM?-Hh*b)}cy&H7=7NB+YaYNO74i{&lVU>ln*2StC?_7Cjd% zD5yu*9KWQQ8yA{1S?4_h3fHY;T47MXIi^o7tCg4!LDqLEpB^7GZ+(9>EoeI^%6dLl zN`c~R{@sjX#K+i;u&OhWE$Q6(7!?vwPSi+P{hRvF+0>yrJZnCtEDL&viCqEh(K5!z zKt6{=$4oZD$MmGoj&F^g>5R~O;8Cy2^gd$$l7k}*RM*y zq@7<;tj^^8&c_@JyP)15G@|H3s%eW$>CviEAYEf%#;@u?_6>_FAFDHw&FkFx7?op& z+t`xSEW6C6=3`Na=p%7aj^sKmCt3la(yWwnui#-~SJcqV?WvU~p~~~)W0>bTk-2c* zAB>`^aM^s3xOfC?G8>JoDt$vDYs{_AM9cUk{n$mVN`}w{_x_;Fdbc|J-M6?9nsg-u zDhS+{o#ekkwvyeEo#69S_W8>5Gi5H#dh-3tT`dZ4>9?K9t7>?sepK&U$?lWFT(`RR zKc$)TxX)*8{>!osB2Ju56;l56Wm>Y89m$SoN6*GAT1MK}-s?SDD5AV%P1nor&pwkq z&3}(N><D(+sj>q)$ZbN2)7nze}cvoNfQNQTE?j8h}=I8!bGYeHt7d%RV`( z_N+g*ok#zr<-6Bf=w-Ll{^JgVqizJA8y+{ENBc5X*zMo4>s;giCI)X=<5aYf_Wuv{ CJ$^U< literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/extras/test_VICIDIAL_lead_file.txt b/agc_2-X/branches/agc_2.0.5/extras/test_VICIDIAL_lead_file.txt new file mode 100644 index 00000000..04ecc30f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/test_VICIDIAL_lead_file.txt @@ -0,0 +1,14 @@ +100001|10001|107|1|7275551213|MR|I|Q|SMITH01|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS|||| +100002|10002|107|1|7275551213|MR|I|Q|SMITH02|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS||||7275551212_1_work!7275551213_61_sister house!7275551214_44_neighbor +100003|10003|107|1|7275551213|MR|I|Q|SMITH03|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS||||7275551212_1_work +100004|10004|107|1|7275551213|MR|I|Q|SMITH04|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS||||7275551212_1_work!7275551213_61_sister house +100005|10005|107|1|7275551213|MR|I|Q|SMITH05|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS||||7275551212__airport +100006|10006|107|1|7275551213|MR|I|Q|SMITH06|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS||||7275551212__!7275551213__summer home +100007|10007|107|1|7275551213|MR|I|Q|SMITH07|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS|||| +100008|10008|107|1|7275551213|MR|I|Q|SMITH08|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS||||7275551212_1_!7275551213_1_garage +100009|10009|107|1|7275551213|MR|I|Q|SMITH09|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS|||| +100010|10010|107|1|7275551213|MR|I|Q|SMITH10|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS|||| +100011|10011|107|1|7275551213|MR|I|Q|SMITH11|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS|||| +100012|10012|107|1|7275551213|MR|I|Q|SMITH12|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS|||| +100013|10013|107|1|7275551213|MR|I|Q|SMITH13|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS|||| +100014|10014|107|1|7275551213|MR|I|Q|SMITH14|249 MUNDON ROAD|||MALDON|FL||33709|USA|M|1970-01-01|7275551212|test@test.com|nothing|COMMENTS|||| diff --git a/agc_2-X/branches/agc_2.0.5/extras/test_call.pl b/agc_2-X/branches/agc_2.0.5/extras/test_call.pl new file mode 100644 index 00000000..8f9474de --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/test_call.pl @@ -0,0 +1,68 @@ +#!/usr/bin/perl + +use DBI; + +# command line arguments +my $phone_number = shift; +my $exten = shift; +my $cid_name = shift; +my $cid_num = shift; + +# check if they typed --help +if (($phone_number eq "--help") || ($exten eq "--help") || ($cid_name eq "--help") || ( $cid_num eq "--help")) { + print "useage: test_call.pl phone_number extension caller_id_name caller_id_number\n"; + print "example: test_call.pl 917275551212 600 test 7775551212\n"; + exit; +} + +# get the current time +my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +my $date = "$year-$mon-$mday $hour:$min:$sec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +# read in the conf file +open(CONFIG, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@config = ; +close(CONFIG); +$i=0; +foreach(@config) { + $line = $config[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ($line =~ /^VARserver_ip/) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ($line =~ /^VARDB_server/) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ($line =~ /^VARDB_database/) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ($line =~ /^VARDB_user/) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ($line =~ /^VARDB_pass/) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ($line =~ /^VARDB_port/) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; +} + +$dbhB = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +# Insert our call record +$stmtB = "INSERT INTO vicidial_manager values( '', '', '$date', 'NEW', 'N', '$VARserver_ip', '', 'Originate', 'TESTCIDBLASTCALL0124', 'Channel: Local/$phone_number@default', 'Context; default', 'Exten: $exten', 'Priority: 1', 'Callerid: \"$cid_name\" <$cid_num>', '', '', '', '', '' );"; +print $stmtB . "\n"; +$sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; +$sthB->execute or die "executing: $stmtB ", $dbhB->errstr; +$sthB->finish(); +$dbhB->disconnect(); + + diff --git a/agc_2-X/branches/agc_2.0.5/extras/upgrade_2.0.5.sql b/agc_2-X/branches/agc_2.0.5/extras/upgrade_2.0.5.sql new file mode 100644 index 00000000..feed338f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/upgrade_2.0.5.sql @@ -0,0 +1,796 @@ +ALTER TABLE vicidial_closer_log ADD xfercallid INT(9) UNSIGNED; + +ALTER TABLE vicidial_campaign_server_stats ENGINE=HEAP; + +ALTER TABLE live_channels ENGINE=HEAP; + +ALTER TABLE live_sip_channels ENGINE=HEAP; + +ALTER TABLE parked_channels ENGINE=HEAP; + +ALTER TABLE server_updater ENGINE=HEAP; + +ALTER TABLE web_client_sessions ENGINE=HEAP; + + +ALTER TABLE vicidial_campaigns MODIFY lead_order VARCHAR(30); + +DROP index user on vicidial_users; +ALTER TABLE vicidial_users MODIFY user VARCHAR(20) NOT NULL; +CREATE UNIQUE INDEX user ON vicidial_users (user); +ALTER TABLE vicidial_users MODIFY pass VARCHAR(20) NOT NULL; +ALTER TABLE vicidial_users MODIFY user_level TINYINT(2) NOT NULL default '1'; + + CREATE TABLE vicidial_user_closer_log ( +user VARCHAR(20), +campaign_id VARCHAR(20), +event_date DATETIME, +blended ENUM('1','0') default '0', +closer_campaigns TEXT, +index (user), +index (event_date) +); + +ALTER TABLE vicidial_users ADD qc_enabled ENUM('1','0') default '0'; +ALTER TABLE vicidial_users ADD qc_user_level INT(2) default '1'; +ALTER TABLE vicidial_users ADD qc_pass ENUM('1','0') default '0'; +ALTER TABLE vicidial_users ADD qc_finish ENUM('1','0') default '0'; +ALTER TABLE vicidial_users ADD qc_commit ENUM('1','0') default '0'; + +ALTER TABLE vicidial_user_groups ADD qc_allowed_campaigns TEXT; +ALTER TABLE vicidial_user_groups ADD qc_allowed_inbound_groups TEXT; + +ALTER TABLE system_settings ADD db_schema_version INT(8) UNSIGNED default '0'; + +UPDATE system_settings SET db_schema_version='1074', version='2.0.5b0.5'; + +ALTER TABLE live_inbound MODIFY uniqueid VARCHAR(20) NOT NULL; +ALTER TABLE live_inbound_log MODIFY uniqueid VARCHAR(20) NOT NULL; +ALTER TABLE live_inbound_log MODIFY uniqueid VARCHAR(20) NOT NULL; +ALTER TABLE vicidial_manager MODIFY uniqueid VARCHAR(20) NOT NULL; +ALTER TABLE vicidial_live_agents MODIFY uniqueid VARCHAR(20) NOT NULL; +ALTER TABLE vicidial_auto_calls MODIFY uniqueid VARCHAR(20) NOT NULL; +ALTER TABLE call_log DROP PRIMARY KEY; +ALTER TABLE call_log DROP INDEX uniqueid; +ALTER TABLE call_log MODIFY uniqueid VARCHAR(20) PRIMARY KEY UNIQUE NOT NULL; +ALTER TABLE park_log DROP PRIMARY KEY; +ALTER TABLE park_log DROP INDEX uniqueid; +ALTER TABLE park_log MODIFY uniqueid VARCHAR(20) PRIMARY KEY UNIQUE NOT NULL; +ALTER TABLE vicidial_log DROP PRIMARY KEY; +ALTER TABLE vicidial_log DROP INDEX uniqueid; +ALTER TABLE vicidial_log MODIFY uniqueid VARCHAR(20) PRIMARY KEY UNIQUE NOT NULL; + +UPDATE system_settings SET db_schema_version='1075'; + +ALTER TABLE vicidial_auto_calls ADD queue_priority TINYINT(2) default '0'; +ALTER TABLE vicidial_campaigns ADD queue_priority TINYINT(2) default '50'; +ALTER TABLE vicidial_inbound_groups ADD queue_priority TINYINT(2) default '0'; + +UPDATE system_settings SET db_schema_version='1076'; + +ALTER TABLE vicidial_inbound_groups CHANGE drop_message drop_action ENUM('HANGUP','MESSAGE','VOICEMAIL','IN_GROUP') default 'MESSAGE'; +ALTER TABLE vicidial_inbound_groups ADD drop_inbound_group VARCHAR(20) default '---NONE---'; +UPDATE vicidial_inbound_groups SET drop_action='MESSAGE'; + +ALTER TABLE vicidial_campaigns CHANGE safe_harbor_message drop_action ENUM('HANGUP','MESSAGE','VOICEMAIL','IN_GROUP') default 'MESSAGE'; +ALTER TABLE vicidial_campaigns ADD drop_inbound_group VARCHAR(20) default '---NONE---'; +UPDATE vicidial_campaigns SET drop_action='MESSAGE'; + +UPDATE system_settings SET db_schema_version='1077'; + +ALTER TABLE vicidial_campaigns ADD qc_enabled ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_campaigns ADD qc_statuses TEXT; +ALTER TABLE vicidial_campaigns ADD qc_lists TEXT; +ALTER TABLE vicidial_campaigns ADD campaign_shift_start_time VARCHAR(4) default '0900'; +ALTER TABLE vicidial_campaigns ADD campaign_shift_length VARCHAR(5) default '16:00'; +ALTER TABLE vicidial_campaigns ADD campaign_day_start_time VARCHAR(4) default '0100'; + +UPDATE system_settings SET db_schema_version='1078'; + +ALTER TABLE vicidial_campaigns ADD qc_web_form_address VARCHAR(255); +ALTER TABLE vicidial_campaigns ADD qc_script VARCHAR(10); + +UPDATE system_settings SET db_schema_version='1079'; + +ALTER TABLE vicidial_inbound_groups ADD ingroup_recording_override ENUM('DISABLED','NEVER','ONDEMAND','ALLCALLS','ALLFORCE') default 'DISABLED'; +ALTER TABLE vicidial_inbound_groups ADD ingroup_rec_filename VARCHAR(50) default 'NONE'; + +UPDATE system_settings SET db_schema_version='1080'; + + CREATE TABLE vicidial_qc_codes ( +code VARCHAR(8) PRIMARY KEY NOT NULL, +code_name VARCHAR(30) +); + +UPDATE system_settings SET db_schema_version='1081'; + + CREATE TABLE vicidial_agent_sph ( +campaign_group_id VARCHAR(20) NOT NULL, +stat_date DATE NOT NULL, +shift VARCHAR(20) NOT NULL, +role ENUM('FRONTER','CLOSER') default 'FRONTER', +user VARCHAR(20) NOT NULL, +calls MEDIUMINT(8) UNSIGNED default '0', +sales MEDIUMINT(8) UNSIGNED default '0', +login_sec MEDIUMINT(8) UNSIGNED default '0', +login_hours DECIMAL(5,2) DEFAULT '0.00', +sph DECIMAL(6,2) DEFAULT '0.00', +index (campaign_group_id), +index (stat_date) +); + +ALTER TABLE vicidial_log ADD term_reason ENUM('CALLER','AGENT','QUEUETIMEOUT','ABANDON','AFTERHOURS','NONE') default 'NONE'; +ALTER TABLE vicidial_closer_log ADD term_reason ENUM('CALLER','AGENT','QUEUETIMEOUT','ABANDON','AFTERHOURS','NONE') default 'NONE'; + +ALTER TABLE vicidial_inbound_groups MODIFY after_hours_action ENUM('HANGUP','MESSAGE','EXTENSION','VOICEMAIL','IN_GROUP') default 'MESSAGE'; +ALTER TABLE vicidial_inbound_groups ADD afterhours_xfer_group VARCHAR(20) default '---NONE---'; + +UPDATE system_settings SET db_schema_version='1082'; + + CREATE TABLE phones_alias ( +alias_id VARCHAR(20) NOT NULL UNIQUE PRIMARY KEY, +alias_name VARCHAR(50), +logins_list VARCHAR(255) +); + +UPDATE system_settings SET db_schema_version='1083'; + +ALTER TABLE system_settings ADD auto_user_add_value INT(9) UNSIGNED default '101'; +UPDATE system_settings SET auto_user_add_value='1101'; + + CREATE TABLE vicidial_shifts ( +shift_id VARCHAR(20) NOT NULL, +shift_name VARCHAR(50), +shift_start_time VARCHAR(4) default '0900', +shift_length VARCHAR(5) default '16:00', +shift_weekdays VARCHAR(7) default '0123456', +index (shift_id) +); + +ALTER TABLE vicidial_user_groups ADD group_shifts TEXT; + +UPDATE system_settings SET db_schema_version='1084'; + +CREATE INDEX lead_id ON vicidial_agent_log (lead_id); + +UPDATE system_settings SET db_schema_version='1085'; + + CREATE TABLE vicidial_timeclock_log ( +timeclock_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +event_epoch INT(10) UNSIGNED NOT NULL, +event_date DATETIME NOT NULL, +login_sec INT(10) UNSIGNED, +event VARCHAR(50) NOT NULL, +user VARCHAR(20) NOT NULL, +user_group VARCHAR(20) NOT NULL, +ip_address VARCHAR(15), +shift_id VARCHAR(20), +notes VARCHAR(255), +manager_user VARCHAR(20), +manager_ip VARCHAR(15), +event_datestamp TIMESTAMP NOT NULL, +tcid_link INT(9) UNSIGNED, +index (user) +); + + CREATE TABLE vicidial_timeclock_status ( +user VARCHAR(20) UNIQUE NOT NULL, +user_group VARCHAR(20) NOT NULL, +event_epoch INT(10) UNSIGNED, +event_date TIMESTAMP, +status VARCHAR(50), +ip_address VARCHAR(15), +shift_id VARCHAR(20), +index (user) +); + +UPDATE system_settings SET db_schema_version='1086'; + +ALTER TABLE vicidial_timeclock_log MODIFY event_date DATETIME; +ALTER TABLE vicidial_timeclock_log ADD event_datestamp TIMESTAMP NOT NULL; +ALTER TABLE vicidial_timeclock_log ADD tcid_link INT(9) UNSIGNED; + +UPDATE system_settings SET db_schema_version='1087'; + +ALTER TABLE vicidial_auto_calls MODIFY status ENUM('SENT','RINGING','LIVE','XFER','PAUSED','CLOSER','BUSY','DISCONNECT','IVR') default 'PAUSED'; + +UPDATE system_settings SET db_schema_version='1088'; + + CREATE TABLE vicidial_timeclock_audit_log ( +timeclock_id INT(9) UNSIGNED NOT NULL, +event_epoch INT(10) UNSIGNED NOT NULL, +event_date DATETIME NOT NULL, +login_sec INT(10) UNSIGNED, +event VARCHAR(50) NOT NULL, +user VARCHAR(20) NOT NULL, +user_group VARCHAR(20) NOT NULL, +ip_address VARCHAR(15), +shift_id VARCHAR(20), +event_datestamp TIMESTAMP NOT NULL, +tcid_link INT(9) UNSIGNED, +index (timeclock_id), +index (user) +); + +UPDATE system_settings SET db_schema_version='1089'; + +ALTER TABLE system_settings ADD timeclock_end_of_day VARCHAR(4) default '0000'; +ALTER TABLE system_settings ADD timeclock_last_reset_date DATE; + +UPDATE system_settings SET db_schema_version='1090'; + +ALTER TABLE vicidial_campaigns ADD survey_first_audio_file VARCHAR(50) default 'US_pol_survey_hello'; +ALTER TABLE vicidial_campaigns ADD survey_dtmf_digits VARCHAR(16) default '1238'; +ALTER TABLE vicidial_campaigns ADD survey_ni_digit VARCHAR(1) default '8'; +ALTER TABLE vicidial_campaigns ADD survey_opt_in_audio_file VARCHAR(50) default 'US_pol_survey_transfer'; +ALTER TABLE vicidial_campaigns ADD survey_ni_audio_file VARCHAR(50) default 'US_thanks_no_contact'; +ALTER TABLE vicidial_campaigns ADD survey_method ENUM('AGENT_XFER','VOICEMAIL','EXTENSION','HANGUP','CAMPREC_60_WAV') default 'AGENT_XFER'; +ALTER TABLE vicidial_campaigns ADD survey_no_response_action ENUM('OPTIN','OPTOUT') default 'OPTIN'; +ALTER TABLE vicidial_campaigns ADD survey_ni_status VARCHAR(6) default 'NI'; +ALTER TABLE vicidial_campaigns ADD survey_response_digit_map VARCHAR(255) default '1-DEMOCRAT|2-REPUBLICAN|3-INDEPENDANT|8-OPTOUT|X-NO RESPONSE|'; +ALTER TABLE vicidial_campaigns ADD survey_xfer_exten VARCHAR(20) default '8300'; +ALTER TABLE vicidial_campaigns ADD survey_camp_record_dir VARCHAR(255) default '/home/survey'; + +INSERT INTO vicidial_statuses values('SVYEXT','Survey sent to Extension','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('SVYVM','Survey sent to Voicemail','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('SVYHU','Survey Hungup','N','N','UNDEFINED'); +INSERT INTO vicidial_statuses values('SVYREC','Survey sent to Record','N','N','UNDEFINED'); + +ALTER TABLE vicidial_users ADD add_timeclock_log ENUM('1','0') default '0'; +ALTER TABLE vicidial_users ADD modify_timeclock_log ENUM('1','0') default '0'; +ALTER TABLE vicidial_users ADD delete_timeclock_log ENUM('1','0') default '0'; + +UPDATE system_settings SET db_schema_version='1091'; + +CREATE INDEX user ON vicidial_agent_log (user); + +UPDATE system_settings SET db_schema_version='1092'; + +DROP TABLE vicidial_admin_log; + + CREATE TABLE vicidial_admin_log ( +admin_log_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +event_date DATETIME NOT NULL, +user VARCHAR(20) NOT NULL, +ip_address VARCHAR(15) NOT NULL, +event_section VARCHAR(30) NOT NULL, +event_type ENUM('ADD','COPY','LOAD','RESET','MODIFY','DELETE','SEARCH','LOGIN','LOGOUT','CLEAR','OTHER') default 'OTHER', +record_id VARCHAR(50) NOT NULL, +event_code VARCHAR(255) NOT NULL, +event_sql TEXT, +event_notes TEXT, +index (user), +index (event_section), +index (record_id) +); + +UPDATE system_settings SET db_schema_version='1093'; + +ALTER TABLE vicidial_live_agents ADD external_hangup VARCHAR(1) default ''; +ALTER TABLE vicidial_live_agents ADD external_status VARCHAR(6) default ''; + +ALTER TABLE vicidial_list MODIFY gender ENUM('M','F','U') default 'U'; + +ALTER TABLE system_settings ADD vdc_header_date_format VARCHAR(50) default 'MS_DASH_24HR 2008-06-24 23:59:59'; +ALTER TABLE system_settings ADD vdc_customer_date_format VARCHAR(50) default 'AL_TEXT_AMPM OCT 24, 2008 11:59:59 PM'; +ALTER TABLE system_settings ADD vdc_header_phone_format VARCHAR(50) default 'US_PARN (000)000-0000'; + +UPDATE system_settings SET db_schema_version='1094'; + +ALTER TABLE vicidial_campaigns MODIFY campaign_cid VARCHAR(20) default '0000000000'; + +UPDATE system_settings SET db_schema_version='1095'; + +ALTER TABLE vicidial_campaigns ADD disable_alter_custphone ENUM('Y','N') default 'Y'; + +ALTER TABLE vicidial_users ADD alter_custphone_override ENUM('NOT_ACTIVE','ALLOW_ALTER') default 'NOT_ACTIVE'; +ALTER TABLE vicidial_users ADD vdc_agent_api_access ENUM('0','1') default '0'; + +ALTER TABLE system_settings ADD vdc_agent_api_active ENUM('0','1') default '0'; + +UPDATE system_settings SET db_schema_version='1096'; + +ALTER TABLE vicidial_campaigns ADD display_queue_count ENUM('Y','N') default 'Y'; + +UPDATE system_settings SET db_schema_version='1097'; + +ALTER TABLE vicidial_list MODIFY source_id VARCHAR(50); + +ALTER TABLE recording_log ADD vicidial_id VARCHAR(20); +CREATE INDEX vicidial_id ON recording_log (vicidial_id); +ALTER TABLE recording_log MODIFY start_epoch INT(10) UNSIGNED; +ALTER TABLE recording_log MODIFY end_epoch INT(10) UNSIGNED; +ALTER TABLE recording_log MODIFY length_in_sec MEDIUMINT(8) UNSIGNED; + +ALTER TABLE system_settings ADD qc_last_pull_time DATETIME; + +UPDATE system_settings SET db_schema_version='1098'; + +ALTER TABLE vicidial_campaigns MODIFY manual_dial_list_id BIGINT(14) UNSIGNED default '998'; + +UPDATE system_settings SET db_schema_version='1099'; + +ALTER TABLE vicidial_list ADD last_local_call_time DATETIME; +CREATE INDEX last_local_call_time ON vicidial_list (last_local_call_time); + +UPDATE system_settings SET db_schema_version='1100'; + +INSERT INTO vicidial_shifts SET shift_id='24HRMIDNIGHT',shift_name='24 hours 7 days a week',shift_start_time='0000',shift_length='24:00',shift_weekdays='0123456'; + +ALTER TABLE vicidial_campaigns CHANGE campaign_shift_start_time qc_shift_id VARCHAR(20) default '24HRMIDNIGHT'; +ALTER TABLE vicidial_campaigns CHANGE campaign_shift_length qc_get_record_launch ENUM('NONE','SCRIPT','WEBFORM','QCSCRIPT','QCWEBFORM') default 'NONE'; +ALTER TABLE vicidial_campaigns CHANGE campaign_day_start_time qc_show_recording ENUM('Y','N') default 'Y'; +UPDATE vicidial_campaigns SET qc_shift_id='24HRMIDNIGHT'; +UPDATE vicidial_campaigns SET qc_get_record_launch='NONE'; +UPDATE vicidial_campaigns SET qc_show_recording='Y'; + +ALTER TABLE vicidial_inbound_groups ADD qc_enabled ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_inbound_groups ADD qc_statuses TEXT; +ALTER TABLE vicidial_inbound_groups ADD qc_shift_id VARCHAR(20) default '24HRMIDNIGHT'; +ALTER TABLE vicidial_inbound_groups ADD qc_get_record_launch ENUM('NONE','SCRIPT','WEBFORM','QCSCRIPT','QCWEBFORM') default 'NONE'; +ALTER TABLE vicidial_inbound_groups ADD qc_show_recording ENUM('Y','N') default 'Y'; +ALTER TABLE vicidial_inbound_groups ADD qc_web_form_address VARCHAR(255); +ALTER TABLE vicidial_inbound_groups ADD qc_script VARCHAR(10); + +UPDATE system_settings SET qc_last_pull_time="2008-01-01"; + +UPDATE system_settings SET db_schema_version='1101'; + +ALTER TABLE vicidial_status_categories ADD sale_category ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_status_categories ADD dead_lead_category ENUM('Y','N') default 'N'; + +UPDATE system_settings SET db_schema_version='1102'; + +ALTER TABLE vicidial_campaigns ADD manual_dial_filter VARCHAR(50) default 'NONE'; +ALTER TABLE vicidial_campaigns ADD agent_clipboard_copy VARCHAR(50) default 'NONE'; + +UPDATE system_settings SET db_schema_version='1103'; + +CREATE TABLE vicidial_list_alt_phones ( +alt_phone_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +lead_id INT(9) UNSIGNED NOT NULL, +phone_code VARCHAR(10), +phone_number VARCHAR(18), +alt_phone_note VARCHAR(30), +alt_phone_count SMALLINT(5) UNSIGNED, +active ENUM('Y','N') default 'Y', +index (lead_id), +index (phone_number) +); + +ALTER TABLE vicidial_hopper MODIFY alt_dial VARCHAR(6) default 'NONE'; + +ALTER TABLE vicidial_auto_calls MODIFY alt_dial VARCHAR(6) default 'NONE'; + +ALTER TABLE vicidial_campaigns MODIFY auto_alt_dial ENUM('NONE','ALT_ONLY','ADDR3_ONLY','ALT_AND_ADDR3','ALT_AND_EXTENDED','ALT_AND_ADDR3_AND_EXTENDED','EXTENDED_ONLY') default 'NONE'; + +ALTER TABLE vicidial_log ADD alt_dial VARCHAR(6) default 'NONE'; + +ALTER TABLE vicidial_campaigns ADD agent_extended_alt_dial ENUM('Y','N') default 'N'; + +UPDATE system_settings SET db_schema_version='1104'; + +GRANT RELOAD ON *.* TO cron@'%'; +GRANT RELOAD ON *.* TO cron@localhost; + +flush privileges; + +ALTER TABLE vicidial_dnc MODIFY phone_number VARCHAR(18) NOT NULL; + +ALTER TABLE vicidial_list MODIFY phone_number VARCHAR(18) NOT NULL; + +ALTER TABLE vicidial_auto_calls MODIFY phone_number VARCHAR(18); + +ALTER TABLE vicidial_log MODIFY phone_number VARCHAR(18); + +ALTER TABLE vicidial_closer_log MODIFY phone_number VARCHAR(18); + +ALTER TABLE vicidial_xfer_log MODIFY phone_number VARCHAR(18); + +ALTER TABLE vicidial_list_pins MODIFY phone_number VARCHAR(18); + +ALTER TABLE vicidial_ivr MODIFY phone_number VARCHAR(18); + +ALTER TABLE vicidial_campaigns ADD use_campaign_dnc ENUM('Y','N') default 'N'; + +CREATE TABLE vicidial_campaign_dnc ( +phone_number VARCHAR(18) NOT NULL, +campaign_id VARCHAR(8) NOT NULL, +index (phone_number), +UNIQUE INDEX phonecamp (phone_number, campaign_id) +); + +UPDATE system_settings SET db_schema_version='1105'; + +ALTER TABLE vicidial_conferences ADD leave_3way ENUM('0','1') default '0'; +ALTER TABLE vicidial_conferences ADD leave_3way_datetime DATETIME; + +UPDATE system_settings SET db_schema_version='1106'; + +CREATE UNIQUE INDEX serverconf on vicidial_conferences (server_ip, conf_exten); + +CREATE INDEX campaign_id on vicidial_closer_log (campaign_id); + +ALTER TABLE vicidial_inbound_groups ADD play_place_in_line ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_inbound_groups ADD play_estimate_hold_time ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_inbound_groups ADD hold_time_option ENUM('NONE','EXTENSION','VOICEMAIL','IN_GROUP','CALLERID_CALLBACK','DROP_ACTION') default 'NONE'; +ALTER TABLE vicidial_inbound_groups ADD hold_time_option_seconds SMALLINT(5) default '360'; +ALTER TABLE vicidial_inbound_groups ADD hold_time_option_exten VARCHAR(20) default '8300'; +ALTER TABLE vicidial_inbound_groups ADD hold_time_option_voicemail VARCHAR(20) default ''; +ALTER TABLE vicidial_inbound_groups ADD hold_time_option_xfer_group VARCHAR(20) default '---NONE---'; +ALTER TABLE vicidial_inbound_groups ADD hold_time_option_callback_filename VARCHAR(50) default 'vm-hangup'; +ALTER TABLE vicidial_inbound_groups ADD hold_time_option_callback_list_id BIGINT(14) UNSIGNED default '999'; +ALTER TABLE vicidial_inbound_groups ADD hold_recall_xfer_group VARCHAR(20) default '---NONE---'; +ALTER TABLE vicidial_inbound_groups ADD no_delay_call_route ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_inbound_groups ADD play_welcome_message ENUM('ALWAYS','NEVER','IF_WAIT_ONLY','YES_UNLESS_NODELAY') default 'ALWAYS'; + +INSERT INTO vicidial_inbound_groups(group_id,group_name,group_color,active) values('AGENTDIRECT','Single Agent Direct Queue','white','Y'); + +CREATE TABLE vicidial_inbound_dids ( +did_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +did_pattern VARCHAR(50) NOT NULL, +did_description VARCHAR(50), +did_active ENUM('Y','N') default 'Y', +did_route ENUM('EXTEN','VOICEMAIL','AGENT','PHONE','IN_GROUP') default 'EXTEN', +extension VARCHAR(50) default '9998811112', +exten_context VARCHAR(50) default 'default', +voicemail_ext VARCHAR(10), +phone VARCHAR(100), +server_ip VARCHAR(15), +user VARCHAR(20), +user_unavailable_action ENUM('IN_GROUP','EXTEN','VOICEMAIL','PHONE') default 'VOICEMAIL', +user_route_settings_ingroup VARCHAR(20) default 'AGENTDIRECT', +group_id VARCHAR(20), +call_handle_method VARCHAR(20) default 'CID', +agent_search_method ENUM('LO','LB','SO') default 'LB', +list_id BIGINT(14) UNSIGNED default '999', +campaign_id VARCHAR(8), +phone_code VARCHAR(10) default '1', +unique index (did_pattern), +index (group_id) +); + +ALTER TABLE vicidial_auto_calls ADD agent_only VARCHAR(20) default ''; + +ALTER TABLE phones ADD email VARCHAR(100); + +ALTER TABLE vicidial_users ADD modify_inbound_dids ENUM('1','0') default '0'; +ALTER TABLE vicidial_users ADD delete_inbound_dids ENUM('1','0') default '0'; + +UPDATE system_settings SET db_schema_version='1107'; + +ALTER TABLE vicidial_campaigns ADD three_way_call_cid ENUM('CAMPAIGN','CUSTOMER','AGENT_PHONE') default 'CAMPAIGN'; + +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','USA','227','MD','-5','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','CAN','343','ON','-5','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','USA','364','KY','-6','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','USA','447','IL','-6','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','USA','575','NM','-7','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','CAN','581','QC','-5','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','CAN','587','AB','-7','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','USA','659','AL','-6','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','USA','667','MD','-5','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','USA','681','WV','-5','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','USA','730','IL','-6','Y','SSM-FSN',''); +INSERT INTO vicidial_phone_codes (country_code, country, areacode, state, GMT_offset, DST, DST_range, geographic_description) VALUES ('1','DOM','829','','-4','N','','Dominican Republic'); + +UPDATE system_settings SET db_schema_version='1108'; + +INSERT INTO vicidial_statuses values('QVMAIL','Queue Abandon Voicemail Left','N','N','UNDEFINED'); + +ALTER TABLE vicidial_inbound_groups MODIFY hold_time_option ENUM('NONE','EXTENSION','VOICEMAIL','IN_GROUP','CALLERID_CALLBACK','DROP_ACTION','PRESS_VMAIL') default 'NONE'; + +UPDATE system_settings SET db_schema_version='1109'; + +ALTER TABLE vicidial_campaigns MODIFY dial_method ENUM('MANUAL','RATIO','ADAPT_HARD_LIMIT','ADAPT_TAPERED','ADAPT_AVERAGE','INBOUND_MAN') default 'MANUAL'; + +UPDATE system_settings SET db_schema_version='1110'; + +CREATE UNIQUE INDEX server_id on servers (server_id); + +UPDATE system_settings SET db_schema_version='1111'; + +ALTER TABLE vicidial_closer_log ADD uniqueid VARCHAR(20) NOT NULL default ''; + +CREATE INDEX uniqueid on vicidial_closer_log (uniqueid); + +UPDATE system_settings SET db_schema_version='1112'; + +CREATE INDEX country_postal_code on vicidial_postal_codes (country_code,postal_code); +CREATE INDEX country_area_code on vicidial_phone_codes (country_code,areacode); +CREATE INDEX country_state on vicidial_phone_codes (country_code,state); +CREATE INDEX country_code on vicidial_phone_codes (country_code); +CREATE INDEX phone_list on vicidial_list (phone_number,list_id); +CREATE INDEX list_phone on vicidial_list (list_id,phone_number); +CREATE INDEX start_time on call_log (start_time); +CREATE INDEX end_time on call_log (end_time); +CREATE INDEX time on call_log (start_time,end_time); +CREATE INDEX list_status on vicidial_list (list_id,status); +CREATE INDEX time_user on vicidial_agent_log (event_time,user); +CREATE INDEX date_user on vicidial_xfer_log (call_date,user); +CREATE INDEX date_closer on vicidial_xfer_log (call_date,closer); +CREATE INDEX phone_number on vicidial_xfer_log (phone_number); +CREATE INDEX phone_number on vicidial_closer_log (phone_number); +CREATE INDEX date_user on vicidial_closer_log (call_date,user); + +UPDATE system_settings SET db_schema_version='1113'; + +CREATE INDEX event_time on vicidial_agent_log (event_time); + +UPDATE system_settings SET db_schema_version='1114'; + +ALTER TABLE vicidial_campaigns MODIFY agent_pause_codes_active ENUM('Y','N','FORCE') default 'N'; + +UPDATE system_settings SET db_schema_version='1115'; + +ALTER TABLE vicidial_campaigns ADD three_way_dial_prefix VARCHAR(20) default ''; + +UPDATE system_settings SET db_schema_version='1116'; + +ALTER TABLE vicidial_user_groups ADD forced_timeclock_login ENUM('Y','N','ADMIN_EXEMPT') default 'N'; + +UPDATE system_settings SET db_schema_version='1117'; + +ALTER TABLE vicidial_inbound_groups ADD answer_sec_pct_rt_stat_one SMALLINT(5) UNSIGNED default '20'; +ALTER TABLE vicidial_inbound_groups ADD answer_sec_pct_rt_stat_two SMALLINT(5) UNSIGNED default '30'; + +ALTER TABLE vicidial_campaign_stats ADD hold_sec_stat_one MEDIUMINT(8) UNSIGNED default '0'; +ALTER TABLE vicidial_campaign_stats ADD hold_sec_stat_two MEDIUMINT(8) UNSIGNED default '0'; +ALTER TABLE vicidial_campaign_stats ADD agent_non_pause_sec MEDIUMINT(8) UNSIGNED default '0'; +ALTER TABLE vicidial_campaign_stats ADD hold_sec_answer_calls MEDIUMINT(8) UNSIGNED default '0'; +ALTER TABLE vicidial_campaign_stats ADD hold_sec_drop_calls MEDIUMINT(8) UNSIGNED default '0'; +ALTER TABLE vicidial_campaign_stats ADD hold_sec_queue_calls MEDIUMINT(8) UNSIGNED default '0'; + +CREATE INDEX comment_a on live_inbound_log (comment_a); + +UPDATE system_settings SET db_schema_version='1118'; + +ALTER TABLE vicidial_campaigns ADD web_form_target VARCHAR(100) NOT NULL default 'vdcwebform'; + +UPDATE system_settings SET db_schema_version='1119'; + +ALTER TABLE servers ADD recording_web_link ENUM('SERVER_IP','ALT_IP') default 'SERVER_IP'; +ALTER TABLE servers ADD alt_server_ip VARCHAR(100) default ''; + +UPDATE system_settings SET db_schema_version='1120'; + +ALTER TABLE vicidial_campaigns MODIFY campaign_vdad_exten VARCHAR(20) default '8368'; + +UPDATE system_settings SET db_schema_version='1121'; + +ALTER TABLE system_settings ADD enable_vtiger_integration ENUM('0','1') default '0'; +ALTER TABLE system_settings ADD vtiger_server_ip VARCHAR(15); +ALTER TABLE system_settings ADD vtiger_dbname VARCHAR(50); +ALTER TABLE system_settings ADD vtiger_login VARCHAR(50); +ALTER TABLE system_settings ADD vtiger_pass VARCHAR(50); +ALTER TABLE system_settings ADD vtiger_url VARCHAR(255); + +ALTER TABLE vicidial_users ADD active ENUM('Y','N') default 'Y'; + +ALTER TABLE vicidial_campaigns ADD vtiger_search_category VARCHAR(100) default 'LEAD'; + +ALTER TABLE server_updater ADD db_time TIMESTAMP; + +ALTER TABLE vicidial_ivr ADD prompt_audio_11 VARCHAR(20); +ALTER TABLE vicidial_ivr ADD prompt_response_11 TINYINT(1) UNSIGNED default '0'; +ALTER TABLE vicidial_ivr ADD prompt_audio_12 VARCHAR(20); +ALTER TABLE vicidial_ivr ADD prompt_response_12 TINYINT(1) UNSIGNED default '0'; +ALTER TABLE vicidial_ivr ADD prompt_audio_13 VARCHAR(20); +ALTER TABLE vicidial_ivr ADD prompt_response_13 TINYINT(1) UNSIGNED default '0'; +ALTER TABLE vicidial_ivr ADD prompt_audio_14 VARCHAR(20); +ALTER TABLE vicidial_ivr ADD prompt_response_14 TINYINT(1) UNSIGNED default '0'; +ALTER TABLE vicidial_ivr ADD prompt_audio_15 VARCHAR(20); +ALTER TABLE vicidial_ivr ADD prompt_response_15 TINYINT(1) UNSIGNED default '0'; +ALTER TABLE vicidial_ivr ADD prompt_audio_16 VARCHAR(20); +ALTER TABLE vicidial_ivr ADD prompt_response_16 TINYINT(1) UNSIGNED default '0'; +ALTER TABLE vicidial_ivr ADD prompt_audio_17 VARCHAR(20); +ALTER TABLE vicidial_ivr ADD prompt_response_17 TINYINT(1) UNSIGNED default '0'; +ALTER TABLE vicidial_ivr ADD prompt_audio_18 VARCHAR(20); +ALTER TABLE vicidial_ivr ADD prompt_response_18 TINYINT(1) UNSIGNED default '0'; +ALTER TABLE vicidial_ivr ADD prompt_audio_19 VARCHAR(20); +ALTER TABLE vicidial_ivr ADD prompt_response_19 TINYINT(1) UNSIGNED default '0'; +ALTER TABLE vicidial_ivr ADD prompt_audio_20 VARCHAR(20); +ALTER TABLE vicidial_ivr ADD prompt_response_20 TINYINT(1) UNSIGNED default '0'; + +ALTER TABLE system_settings MODIFY vicidial_agent_disable ENUM('NOT_ACTIVE','LIVE_AGENT','EXTERNAL','ALL') default 'ALL'; + +UPDATE system_settings SET db_schema_version='1122'; + +ALTER TABLE vicidial_campaigns ADD vtiger_create_call_record ENUM('Y','N') default 'Y'; +ALTER TABLE vicidial_campaigns ADD vtiger_create_lead_record ENUM('Y','N') default 'Y'; + +UPDATE system_settings SET db_schema_version='1123'; + +ALTER TABLE vicidial_closer_log ADD agent_only VARCHAR(20) default ''; + +UPDATE system_settings SET db_schema_version='1124'; + +ALTER TABLE vicidial_live_agents ADD external_pause VARCHAR(20) default ''; +ALTER TABLE vicidial_live_agents ADD external_dial VARCHAR(100) default ''; + +CREATE TABLE vicidial_did_log ( +uniqueid VARCHAR(20) NOT NULL, +channel VARCHAR(100) NOT NULL, +server_ip VARCHAR(15) NOT NULL, +caller_id_number VARCHAR(18), +caller_id_name VARCHAR(20), +extension VARCHAR(100), +call_date DATETIME, +did_id VARCHAR(9) default '', +did_route VARCHAR(9) default '', +index (uniqueid), +index (caller_id_number), +index (extension), +index (call_date) +); + +CREATE TABLE vicidial_api_log ( +api_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +user VARCHAR(20) NOT NULL, +api_date DATETIME, +api_script VARCHAR(10), +function VARCHAR(20) NOT NULL, +agent_user VARCHAR(20), +value VARCHAR(255), +result VARCHAR(10), +result_reason VARCHAR(255), +source VARCHAR(20), +data TEXT, +index(api_date) +); + +UPDATE system_settings SET db_schema_version='1125'; + +ALTER TABLE vicidial_campaigns ADD vtiger_screen_login ENUM('Y','N') default 'Y'; + +ALTER TABLE vicidial_users ADD alert_enabled ENUM('1','0') default '0'; + +UPDATE system_settings SET db_schema_version='1126'; + +CREATE TABLE vicidial_nanpa_prefix_codes ( +areacode CHAR(3), +prefix CHAR(3), +GMT_offset VARCHAR(6), +DST enum('Y','N'), +latitude VARCHAR(17), +longitude VARCHAR(17) +); + +CREATE INDEX areaprefix on vicidial_nanpa_prefix_codes (areacode,prefix); + +UPDATE system_settings SET db_schema_version='1127'; + +ALTER TABLE system_settings ADD qc_features_active ENUM('1','0') default '0'; +ALTER TABLE system_settings ADD outbound_autodial_active ENUM('1','0') default '1'; + +CREATE TABLE vicidial_cpd_log ( +cpd_id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +channel VARCHAR(100) NOT NULL, +uniqueid VARCHAR(20), +callerid VARCHAR(20), +server_ip VARCHAR(15) NOT NULL, +lead_id INT(9) UNSIGNED, +event_date DATETIME, +result VARCHAR(20), +status ENUM('NEW','PROCESSED') default 'NEW', +cpd_seconds DECIMAL(7,2) default '0', +index(uniqueid), +index(callerid), +index(lead_id) +); + +ALTER TABLE vicidial_campaigns ADD cpd_amd_action ENUM('DISABLED','DISPO','MESSAGE') default 'DISABLED'; + +UPDATE system_settings SET db_schema_version='1128'; + +ALTER TABLE vicidial_users ADD download_lists ENUM('1','0') default '0'; + +UPDATE system_settings SET db_schema_version='1129'; + +ALTER TABLE servers ADD active_asterisk_server ENUM('Y','N') default 'Y'; +ALTER TABLE servers ADD generate_vicidial_conf ENUM('Y','N') default 'Y'; +ALTER TABLE servers ADD rebuild_conf_files ENUM('Y','N') default 'Y'; + +CREATE TABLE vicidial_conf_templates ( +template_id VARCHAR(15) NOT NULL, +template_name VARCHAR(50) NOT NULL, +template_contents TEXT, +unique index (template_id) +); + +CREATE TABLE vicidial_server_carriers ( +carrier_id VARCHAR(15) NOT NULL, +carrier_name VARCHAR(50) NOT NULL, +registration_string VARCHAR(255), +template_id VARCHAR(15) NOT NULL, +account_entry TEXT, +protocol ENUM('SIP','Zap','IAX2','EXTERNAL') default 'SIP', +globals_string VARCHAR(255), +dialplan_entry TEXT, +server_ip VARCHAR(15) NOT NULL, +active ENUM('Y','N') default 'Y', +unique index(carrier_id), +index (server_ip) +); + +ALTER TABLE phones ADD template_id VARCHAR(15) NOT NULL; +ALTER TABLE phones ADD conf_override TEXT; + +INSERT INTO vicidial_conf_templates SET template_id='SIP_generic',template_name='SIP phone generic',template_contents="type=friend\nhost=dynamic\ncanreinvite=no\ncontext=default"; +INSERT INTO vicidial_conf_templates SET template_id='IAX_generic',template_name='IAX phone generic',template_contents="type=friend\nhost=dynamic\nmaxauthreq=10\nauth=md5,plaintext,rsa\ncontext=default"; + +INSERT INTO vicidial_server_carriers SET carrier_id='PARAXIP', carrier_name='TEST ParaXip CPD example',registration_string='', template_id='--NONE--', account_entry="[paraxip]\ndisallow=all\nallow=ulaw\ntype=peer\nusername=paraxip\nfromuser=paraxip\nsecret=test\nfromdomain=10.10.10.16\nhost=10.10.10.15\ninsecure=port,invite\noutboundproxy=10.0.0.7", protocol='SIP', globals_string='TESTSIPTRUNKP = SIP/paraxip', dialplan_entry="exten => _5591999NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)\nexten => _5591999NXXXXXX,2,Dial(${TESTSIPTRUNKP}/${EXTEN:4},,tTor)\nexten => _5591999NXXXXXX,3,Hangup", server_ip='10.10.10.15', active='N'; +INSERT INTO vicidial_server_carriers SET carrier_id='SIPEXAMPLE', carrier_name='TEST SIP carrier example',registration_string='register => testcarrier:test@10.10.10.15:5060', template_id='--NONE--', account_entry="[testcarrier]\ndisallow=all\nallow=ulaw\ntype=friend\nusername=testcarrier\nsecret=test\nhost=dynamic\ndtmfmode=rfc2833\ncontext=trunkinbound\n", protocol='SIP', globals_string='TESTSIPTRUNK = SIP/testcarrier', dialplan_entry="exten => _91999NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)\nexten => _91999NXXXXXX,2,Dial(${TESTSIPTRUNK}/${EXTEN:2},,tTor)\nexten => _91999NXXXXXX,3,Hangup\n", server_ip='10.10.10.15', active='N'; +INSERT INTO vicidial_server_carriers SET carrier_id='IAXEXAMPLE', carrier_name='TEST IAX carrier example',registration_string='register => testcarrier:test@10.10.10.15:4569', template_id='--NONE--', account_entry="[testcarrier]\ndisallow=all\nallow=ulaw\ntype=friend\naccountcode=testcarrier\nsecret=test\nhost=dynamic\ncontext=trunkinbound\n", protocol='IAX2', globals_string='TESTIAXTRUNK = IAX2/testcarrier', dialplan_entry="exten => _71999NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)\nexten => _71999NXXXXXX,2,Dial(${TESTIAXTRUNK}/${EXTEN:2},,tTor)\nexten => _71999NXXXXXX,3,Hangup\n", server_ip='10.10.10.15', active='N'; + +UPDATE system_settings SET db_schema_version='1130'; + +INSERT INTO vicidial_inbound_dids SET did_pattern='default', did_description='Default DID', did_active='Y', did_route='EXTEN', extension='9998811112', exten_context='default'; + +UPDATE system_settings SET db_schema_version='1131'; + +ALTER TABLE vicidial_campaign_agents ADD group_web_vars VARCHAR(255) default ''; + +ALTER TABLE vicidial_inbound_group_agents ADD group_web_vars VARCHAR(255) default ''; + +CREATE TABLE groups_alias ( +group_alias_id VARCHAR(30) NOT NULL UNIQUE PRIMARY KEY, +group_alias_name VARCHAR(50), +caller_id_number VARCHAR(20), +caller_id_name VARCHAR(20), +active ENUM('Y','N') default 'N' +); + +CREATE TABLE user_call_log ( +user_call_log_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +user VARCHAR(20), +call_date DATETIME, +call_type VARCHAR(20), +server_ip VARCHAR(15) NOT NULL, +phone_number VARCHAR(20), +number_dialed VARCHAR(30), +lead_id INT(9) UNSIGNED, +callerid VARCHAR(20), +group_alias_id VARCHAR(30), +index (user), +index (call_date) +); + +ALTER TABLE vicidial_campaigns ADD agent_allow_group_alias ENUM('Y','N') default 'N'; +ALTER TABLE vicidial_campaigns ADD default_group_alias VARCHAR(30) default ''; +ALTER TABLE vicidial_campaigns MODIFY three_way_call_cid ENUM('CAMPAIGN','CUSTOMER','AGENT_PHONE','AGENT_CHOOSE') default 'CAMPAIGN'; + +ALTER TABLE vicidial_inbound_groups ADD default_group_alias VARCHAR(30) default ''; + +UPDATE system_settings SET db_schema_version='1132'; + +ALTER TABLE servers ADD outbound_calls_per_second SMALLINT(3) UNSIGNED default '20'; +ALTER TABLE servers ADD sysload INT(6) NOT NULL default '0'; +ALTER TABLE servers ADD channels_total SMALLINT(4) UNSIGNED NOT NULL default '0'; +ALTER TABLE servers ADD cpu_idle_percent SMALLINT(3) UNSIGNED NOT NULL default '0'; +ALTER TABLE servers ADD disk_usage VARCHAR(255) default '1'; + +ALTER TABLE system_settings ADD outbound_calls_per_second SMALLINT(3) UNSIGNED default '40'; + +ALTER TABLE vicidial_user_groups ADD shift_enforcement ENUM('OFF','START','ALL') default 'OFF'; + +ALTER TABLE vicidial_users ADD agent_shift_enforcement_override ENUM('DISABLED','OFF','START','ALL') default 'DISABLED'; +ALTER TABLE vicidial_users ADD manager_shift_enforcement_override ENUM('0','1') default '0'; +ALTER TABLE vicidial_users ADD shift_override_flag ENUM('0','1') default '0'; + +ALTER TABLE vicidial_admin_log MODIFY event_type ENUM('ADD','COPY','LOAD','RESET','MODIFY','DELETE','SEARCH','LOGIN','LOGOUT','CLEAR','OVERRIDE','OTHER') default 'OTHER'; + +UPDATE system_settings SET db_schema_version='1133'; + +ALTER TABLE vicidial_users ADD export_reports ENUM('1','0') default '0'; + +ALTER TABLE vicidial_admin_log MODIFY event_type ENUM('ADD','COPY','LOAD','RESET','MODIFY','DELETE','SEARCH','LOGIN','LOGOUT','CLEAR','OVERRIDE','EXPORT','OTHER') default 'OTHER'; + +UPDATE system_settings SET db_schema_version='1134'; + + + + +ALTER TABLE vicidial_campaigns DROP campaign_shift_start_time; +ALTER TABLE vicidial_campaigns DROP campaign_shift_length; +ALTER TABLE vicidial_campaigns DROP campaign_day_start_time; diff --git a/agc_2-X/branches/agc_2.0.5/extras/vicidial_modules.sh b/agc_2-X/branches/agc_2.0.5/extras/vicidial_modules.sh new file mode 100644 index 00000000..0c86d4fb --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/vicidial_modules.sh @@ -0,0 +1,158 @@ +#!/bin/sh + +# +# perl_modules.sh +# +# Developed by Vivian Alan +# Copyright (c) 2008 International Telnet Inc. +# Licensed under terms of GNU General Public License. +# All rights reserved. +# +# Changelog: +# 2008-01-23 - created +# + +# $Platon$ + +echo "Step 1 : Install Perl Modules Accept defaults in most cases" +echo "" + +cpan -if MD5 +cpan -if Digest::MD5 +cpan -if Digest::SHA1 +cpan -if readline +cpan -if Bundle::CPAN +# reload CPAN +# cpan ?? +cpan reload +cpan -if DBI +cpan -if DBD::mysql +cpan -if Net::Telnet +cpan -if Time::HiRes +cpan -if Net::Server +cpan -if Unicode::Map +cpan -if Jcode +cpan -if Spreadsheet::WriteExcel +cpan -if OLE::Storage_Lite +cpan -if Proc::ProcessTable +cpan -if IO::Scalar +cpan -if Spreadsheet::ParseExcel + +echo "Download and install asterisk-perl......" +echo "" + +cd /usr/src/vicidial + +wget http://asterisk.gnuinter.net/files/asterisk-perl-0.10.tar.gz + +tar -xvzf asterisk-perl-0.10.tar.gz + +cd asterisk-perl-0.10 + +perl Makefile.PL + +make + +make install + +cd /usr/src/vicidial + + +echo "Download and install sox mix source......" +echo "" + +wget http://easynews.dl.sourceforge.net/sourceforge/sox/sox-12.17.9.tar.gz + +tar -xvzf sox-12.17.9.tar.gz + +cd sox-12.17.9 + +./configure + +make + +make install + +cd /usr/src/vicidial + +echo "Dowload and install ttyload...." +echo "" + +wget http://www.daveltd.com/src/util/ttyload/ttyload-0.4.4.tar.gz + +tar -xvzf ttyload-0.4.4.tar.gz + +cd ttyload-0.4.4 + +make + +make install + +cd /usr/src/vicidial + +echo "Update ntpd libraries....." +echo "" + +yum install ntp.i386 + +echo "Download and install iftop and dependencies...." +echo "" + +wget http://www.tcpdump.org/release/libpcap-0.9.8.tar.gz + +tar -xvzf libpcap-0.9.8.tar.gz + +cd libpcap-0.9.8 + +./configure + +make + +make install + +cd /usr/src/vicidial + +wget http://www.ex-parrot.com/~pdw/iftop/download/iftop-0.17.tar.gz + + +tar -xvzf iftop-0.17.tar.gz + +cd iftop-0.17 + +./configure + +make + +make install + +echo "Download and install ploticus, needs X11 installed....." +echo "" + +cd /usr/src/vicidial + +wget http://internap.dl.sourceforge.net/sourceforge/ploticus/pl240src.tar.gz + +tar -xvzf pl240src.tar.gz + +cd pl240src/src + +make clean + +make + +make install + +echo "Download and install balance from inlab.de........" +echo "" + +cd /usr/src/vicidial + +wget http://www.inlab.de/balance-3.40.tar.gz + +tar -xvzf balance-3.40.tar.gz + +cd balance-3.40 + +make + +make install diff --git a/agc_2-X/branches/agc_2.0.5/extras/vicidial_paraxip_chan_sip-1.2.patch b/agc_2-X/branches/agc_2.0.5/extras/vicidial_paraxip_chan_sip-1.2.patch new file mode 100644 index 00000000..342cfcee --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/vicidial_paraxip_chan_sip-1.2.patch @@ -0,0 +1,36 @@ +--- chan_sip.c.old 2009-02-03 12:02:35.000000000 -0500 ++++ chan_sip.c 2009-02-03 11:58:47.000000000 -0500 +@@ -4969,6 +4969,7 @@ + char *l = NULL, *n = NULL; + int x; + char urioptions[256]=""; ++ char *paraxipcpd = ";cpd=on"; + + if (ast_test_flag(p, SIP_USEREQPHONE)) { + char onlydigits = 1; +@@ -5059,8 +5060,13 @@ + if (p->options && p->options->uri_options) + ast_build_string(&invite, &invite_max, ";%s", p->options->uri_options); + ++ /* Tell ParaXip to enable CPD */ ++ ast_build_string(&invite, &invite_max, "%s", paraxipcpd); ++ + ast_copy_string(p->uri, invite_buf, sizeof(p->uri)); + ++ ++ + if (sipmethod == SIP_NOTIFY && !ast_strlen_zero(p->theirtag)) { + /* If this is a NOTIFY, use the From: tag in the subscribe (RFC 3265) */ + snprintf(to, sizeof(to), ";tag=%s", p->uri, p->theirtag); +@@ -9831,6 +9837,11 @@ + process_sdp(p, req); + } + ++ /* See what ParaXip had to say */ ++ char cpd_result[512]; ++ ast_copy_string(cpd_result, get_header(req, "CPD-Result"), sizeof(cpd_result)); ++ manager_event(EVENT_FLAG_SYSTEM, "CPD-Result", "ChannelDriver: SIP\r\nChannel: %s\r\nCallerIDName: %s\r\nUniqueid: %s\r\nResult: %s\r\n", p->owner->name, p->owner->cid.cid_name, p->owner->uniqueid, cpd_result); ++ + /* Parse contact header for continued conversation */ + /* When we get 200 OK, we know which device (and IP) to contact for this call */ + /* This is important when we have a SIP proxy between us and the phone */ diff --git a/agc_2-X/branches/agc_2.0.5/extras/vicidial_paraxip_chan_sip-1.4.patch b/agc_2-X/branches/agc_2.0.5/extras/vicidial_paraxip_chan_sip-1.4.patch new file mode 100644 index 00000000..d7e301ab --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/extras/vicidial_paraxip_chan_sip-1.4.patch @@ -0,0 +1,32 @@ +--- ./channels/chan_sip.c.old 2008-12-23 11:33:09.000000000 -0500 ++++ ./channels/chan_sip.c 2009-02-02 03:43:48.000000000 -0500 +@@ -6964,6 +6964,7 @@ + char tmp2[SIPBUFSIZE/2]; + const char *l = NULL, *n = NULL; + const char *urioptions = ""; ++ const char *paraxipcpd = ";cpd=on"; /* string used to enable ParaXip's CPD */ + + if (ast_test_flag(&p->flags[0], SIP_USEREQPHONE)) { + const char *s = p->username; /* being a string field, cannot be NULL */ +@@ -7050,6 +7051,9 @@ + if (p->options && !ast_strlen_zero(p->options->uri_options)) + ast_build_string(&invite, &invite_max, ";%s", p->options->uri_options); + ++ /* Tell ParaXip to enable CPD */ ++ ast_build_string(&invite, &invite_max, "%s", paraxipcpd); ++ + ast_string_field_set(p, uri, invite_buf); + + if (sipmethod == SIP_NOTIFY && !ast_strlen_zero(p->theirtag)) { +@@ -12214,6 +12218,11 @@ + ast_set_flag(&p->flags[0], SIP_PENDINGBYE); + } + ++ /* See what ParaXip had to say */ ++ char cpd_result[SIPBUFSIZE]; ++ ast_copy_string(cpd_result, get_header(req, "CPD-Result"), sizeof(cpd_result)); ++ manager_event(EVENT_FLAG_SYSTEM, "CPD-Result", "ChannelDriver: SIP\r\nChannel: %s\r\nCallerIDName: %s\r\nUniqueid: %s\r\nResult: %s\r\n", p->owner->name, p->owner->cid.cid_name, p->owner->uniqueid, cpd_result); ++ + /* Parse contact header for continued conversation */ + /* When we get 200 OK, we know which device (and IP) to contact for this call */ + /* This is important when we have a SIP proxy between us and the phone */ diff --git a/agc_2-X/branches/agc_2.0.5/install.pl b/agc_2-X/branches/agc_2.0.5/install.pl new file mode 100644 index 00000000..8b65ad56 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/install.pl @@ -0,0 +1,2302 @@ +#!/usr/bin/perl + +# install.pl version 2.0.5 +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# + +# CHANGES +# 71004-1155 - Added FTP and REPORT connection variables +# 71012-1251 - Added PATHDONEmonitor setting +# 71121-1048 - Added -p flag to mkdir to not show errors +# 80107-2341 - Added --build_multiserver_conf flag to generate dynamic multi-server conf sections +# 80115-1426 - Added ip_relay scripts for port forwarding +# 80122-0320 - Added build_phones_conf flag to generate phones conf entries from phones table records +# 80227-1536 - Added ip_relay to keepalive list +# 80316-2208 - Added $PATHlogs/archive for backups +# 80526-1345 - Added Timeclock auto-logout option 9 +# 90210-0319 - Added option to prompt for Asterisk version +# 90312-1256 - Added CLI flag for automatic configuration +# + +############################################ +# install.pl - puts server files in the right places and creates conf file +# +# default paths. +# +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; +# default path to home directory: +$PATHhome = '/usr/share/astguiclient'; +# default path to astguiclient logs directory: +$PATHlogs = '/var/log/astguiclient'; +# default path to asterisk agi-bin directory: +$PATHagi = '/var/lib/asterisk/agi-bin'; +# default path to web root directory: +#$PATHweb = '/var/www/html'; +#$PATHweb = '/home/www/htdocs'; +$PATHweb = '/usr/local/apache2/htdocs'; +# default path to asterisk sounds directory: +$PATHsounds = '/var/lib/asterisk/sounds'; +# default path to asterisk recordings directory: +$PATHmonitor = '/var/spool/asterisk/monitor'; +# default path to asterisk recordings DONE directory: +$PATHDONEmonitor = '/var/spool/asterisk/monitorDONE'; +# default database server variables: +$VARDB_server = 'localhost'; +$VARDB_database = 'asterisk'; +$VARDB_user = 'cron'; +$VARDB_pass = '1234'; +$VARDB_port = '3306'; +# default keepalive processes: +$VARactive_keepalives = '1234568'; +# default Asterisk version: +$VARasterisk_version = '1.2'; +# default recording FTP archive variables: +$VARFTP_host = '10.0.0.4'; +$VARFTP_user = 'cron'; +$VARFTP_pass = 'test'; +$VARFTP_port = '21'; +$VARFTP_dir = 'RECORDINGS'; +$VARHTTP_path = 'http://10.0.0.4'; +# default report FTP variables: +$VARREPORT_host = '10.0.0.4'; +$VARREPORT_user = 'cron'; +$VARREPORT_pass = 'test'; +$VARREPORT_port = '21'; +$VARREPORT_dir = 'REPORTS'; +# defaults for FastAGI Server PreFork +$VARfastagi_log_min_servers = '3'; +$VARfastagi_log_max_servers = '16'; +$VARfastagi_log_min_spare_servers = '2'; +$VARfastagi_log_max_spare_servers = '8'; +$VARfastagi_log_max_requests = '1000'; +$VARfastagi_log_checkfordead = '30'; +$VARfastagi_log_checkforwait = '60'; + +############################################ + +$CLIhome=0; +$CLIlogs=0; +$CLIagi=0; +$CLIweb=0; +$CLIsounds=0; +$CLImonitor=0; +$CLIserver_ip=0; +$CLIDB_server=0; +$CLIDB_database=0; +$CLIDB_user=0; +$CLIDB_pass=0; +$CLIDB_port=0; +$CLIVARactive_keepalives=0; +$CLIVARasterisk_version=0; +$CLIFTP_host=0; +$CLIFTP_user=0; +$CLIFTP_pass=0; +$CLIFTP_port=0; +$CLIFTP_dir=0; +$CLIHTTP_path=0; +$CLIREPORT_host=0; +$CLIREPORT_user=0; +$CLIREPORT_pass=0; +$CLIREPORT_port=0; +$CLIREPORT_dir=0; +$CLIVARfastagi_log_min_servers=0; +$CLIVARfastagi_log_max_servers=0; +$CLIVARfastagi_log_min_spare_servers=0; +$CLIVARfastagi_log_max_spare_servers=0; +$CLIVARfastagi_log_max_requests=0; +$CLIVARfastagi_log_checkfordead=0; +$CLIVARfastagi_log_checkforwait=0; + +$COPYhome=0; +$COPYlogs=0; +$COPYagi=0; +$COPYweb=0; +$COPYsounds=0; +$COPYmonitor=0; + +$secX = time(); + +# constants +$DB=1; # Debug flag, set to 0 for no debug messages, lots of output +$US='_'; +$MT[0]=''; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "install.pl - installs astGUIclient server files in the proper places, this\n"; + print "script will look for an /etc/astguiclient.conf file for existing settings, and\n"; + print "if not present will prompt for proper information then copy files.\n"; + print "\n"; + print "installation options:\n"; + print " [--help] = this help screen\n"; + print " [--test] = test (will not copy files)\n"; + print " [--debug] = verbose debug messages\n"; + print " [--no-prompt] = do not ask questions, just install\n"; + print " [--web-only] = only copy files/directories for web server install\n"; + print " [--without-web] = do not copy web files/directories\n\n"; + print "configuration options:\n"; + print " [--home=/path/from/root] = define home path from root at runtime\n"; + print " [--logs=/path/from/root] = define logs path from root at runtime\n"; + print " [--agi=/path/from/root] = define agi-bin path from root at runtime\n"; + print " [--web=/path/from/root] = define webroot path from root at runtime\n"; + print " [--sounds=/path/from/root] = define sounds path from root at runtime\n"; + print " [--monitor=/path/from/root] = define monitor path from root at runtime\n"; + print " [--DONEmonitor=/path/from/root] = define monitor DONE path from root at runtime\n"; + print " [--server_ip=192.168.0.1] = define server IP address at runtime\n"; + print " [--DB_server=localhost] = define database server IP address at runtime\n"; + print " [--DB_database=asterisk] = define database name at runtime\n"; + print " [--DB_user=cron] = define database user login at runtime\n"; + print " [--DB_pass=1234] = define database user password at runtime\n"; + print " [--DB_port=3306] = define database connection port at runtime\n"; + print " [--active_keepalives=123456] = define processes to keepalive\n"; + print " X - NO KEEPALIVE PROCESSES (use only if you want none to be keepalive)\n"; + print " 1 - AST_update\n"; + print " 2 - AST_send_listen\n"; + print " 3 - AST_VDauto_dial\n"; + print " 4 - AST_VDremote_agents\n"; + print " 5 - AST_VDadapt (If multi-server system, this must only be on one server)\n"; + print " 6 - FastAGI_log\n"; + print " 7 - AST_VDauto_dial_FILL (only for multi-server, this must only be on one server)\n"; + print " 8 - ip_relay (used for blind agent monitoring)\n"; + print " 9 - Timeclock auto-logout\n"; + print " [--asterisk_version] = set the asterisk version you want to install for\n"; + print " [--copy_sample_conf_files] = copies the sample conf files to /etc/asterisk/\n"; + print " [--FTP_host=192.168.0.2] = define recording archive server IP address at runtime\n"; + print " [--FTP_user=cron] = define archive server name at runtime\n"; + print " [--FTP_pass=test] = define archive server user login at runtime\n"; + print " [--FTP_port=21] = define archive server user password at runtime\n"; + print " [--FTP_dir=RECORDINGS] = define archive server connection port at runtime\n"; + print " [--HTTP_path=http://192.168.0.2] = define archive web root at runtime\n"; + print " [--REPORT_host=192.168.0.2] = define report server IP address at runtime\n"; + print " [--REPORT_user=cron] = define report server name at runtime\n"; + print " [--REPORT_pass=test] = define report server user login at runtime\n"; + print " [--REPORT_port=21] = define report server user password at runtime\n"; + print " [--REPORT_dir=REPORTS] = define report server connection port at runtime\n"; + print " [--fastagi_log_min_servers=3] = define FastAGI log min servers\n"; + print " [--fastagi_log_max_servers=16] = define FastAGI log max servers\n"; + print " [--fastagi_log_min_spare_servers=2] = define FastAGI log min spare servers\n"; + print " [--fastagi_log_max_spare_servers=8] = define FastAGI log max spare servers\n"; + print " [--fastagi_log_max_requests=1000] = define FastAGI log max requests\n"; + print " [--fastagi_log_checkfordead=30] = define FastAGI log check-for-dead seconds\n"; + print " [--fastagi_log_checkforwait=60] = define FastAGI log check-for-wait seconds\n"; + print " [--build_multiserver_conf] = generates conf file examples for extensions.conf and iax.conf\n"; + print " [--build_phones_conf] = generates conf file examples for extensions.conf, sip.conf and iax.conf\n"; + print "\n"; + + exit; + } + else + { + if ($args =~ /--debug/i) # Debug flag + {$DB=1;} + if ($args =~ /--test/i) # test flag + {$TEST=1; $T=1;} + if ($args =~ /--web-only/i) # web-only flag + {$WEBONLY=1; } + if ($args =~ /--without-web/i) # without web flag + {$NOWEB=1;} + else + {$NOWEB=0;} + if ($args =~ /--no-prompt/i) # do not ask questions + {$NOPROMPT=1;} + if ($args =~ /--home=/i) # CLI defined home path + { + @CLIhomeARY = split(/--home=/,$args); + @CLIhomeARX = split(/ /,$CLIhomeARY[1]); + if (length($CLIhomeARX[0])>2) + { + $PATHhome = $CLIhomeARX[0]; + $PATHhome =~ s/\/$| |\r|\n|\t//gi; + $CLIhome=1; + print " CLI defined home path: $PATHhome\n"; + } + } + if ($args =~ /--logs=/i) # CLI defined logs path + { + @CLIlogsARY = split(/--logs=/,$args); + @CLIlogsARX = split(/ /,$CLIlogsARY[1]); + if (length($CLIlogsARX[0])>2) + { + $PATHlogs = $CLIlogsARX[0]; + $PATHlogs =~ s/\/$| |\r|\n|\t//gi; + $CLIlogs=1; + print " CLI defined logs path: $PATHlogs\n"; + } + } + if ($args =~ /--agi=/i) # CLI defined agi-bin path + { + @CLIagiARY = split(/--agi=/,$args); + @CLIagiARX = split(/ /,$CLIagiARY[1]); + if (length($CLIagiARX[0])>2) + { + $PATHagi = $CLIagiARX[0]; + $PATHagi =~ s/\/$| |\r|\n|\t//gi; + $CLIagi=1; + print " CLI defined agi-bin path: $PATHagi\n"; + } + } + if ($args =~ /--web=/i) # CLI defined webroot path + { + @CLIwebARY = split(/--web=/,$args); + @CLIwebARX = split(/ /,$CLIwebARY[1]); + if (length($CLIwebARX[0])>2) + { + $PATHweb = $CLIwebARX[0]; + $PATHweb =~ s/\/$| |\r|\n|\t//gi; + $CLIweb=1; + print " CLI defined webroot path: $PATHweb\n"; + } + } + if ($args =~ /--sounds=/i) # CLI defined sounds path + { + @CLIsoundsARY = split(/--sounds=/,$args); + @CLIsoundsARX = split(/ /,$CLIsoundsARY[1]); + if (length($CLIsoundsARX[0])>2) + { + $PATHsounds = $CLIsoundsARX[0]; + $PATHsounds =~ s/\/$| |\r|\n|\t//gi; + $CLIsounds=1; + print " CLI defined sounds path: $PATHsounds\n"; + } + } + if ($args =~ /--monitor=/i) # CLI defined monitor path + { + @CLImonitorARY = split(/--monitor=/,$args); + @CLImonitorARX = split(/ /,$CLImonitorARY[1]); + if (length($CLImonitorARX[0])>2) + { + $PATHmonitor = $CLImonitorARX[0]; + $PATHmonitor =~ s/\/$| |\r|\n|\t//gi; + $CLImonitor=1; + print " CLI defined monitor path: $PATHmonitor\n"; + } + } + if ($args =~ /--DONEmonitor=/i) # CLI defined DONEmonitor path + { + @CLIDONEmonitorARY = split(/--DONEmonitor=/,$args); + @CLIDONEmonitorARX = split(/ /,$CLIDONEmonitorARY[1]); + if (length($CLIDONEmonitorARX[0])>2) + { + $PATHDONEmonitor = $CLIDONEmonitorARX[0]; + $PATHDONEmonitor =~ s/\/$| |\r|\n|\t//gi; + $CLIDONEmonitor=1; + print " CLI defined DONEmonitor: $PATHDONEmonitor\n"; + } + } + if ($args =~ /--server_ip=/i) # CLI defined server IP address + { + @CLIserver_ipARY = split(/--server_ip=/,$args); + @CLIserver_ipARX = split(/ /,$CLIserver_ipARY[1]); + if (length($CLIserver_ipARX[0])>2) + { + $VARserver_ip = $CLIserver_ipARX[0]; + $VARserver_ip =~ s/\/$| |\r|\n|\t//gi; + $CLIserver_ip=1; + print " CLI defined server IP: $VARserver_ip\n"; + } + } + if ($args =~ /--DB_server=/i) # CLI defined Database server address + { + @CLIDB_serverARY = split(/--DB_server=/,$args); + @CLIDB_serverARX = split(/ /,$CLIDB_serverARY[1]); + if (length($CLIDB_serverARX[0])>2) + { + $VARDB_server = $CLIDB_serverARX[0]; + $VARDB_server =~ s/\/$| |\r|\n|\t//gi; + $CLIDB_server=1; + print " CLI defined DB server: $VARDB_server\n"; + } + } + if ($args =~ /--DB_database=/i) # CLI defined Database name + { + @CLIDB_databaseARY = split(/--DB_database=/,$args); + @CLIDB_databaseARX = split(/ /,$CLIDB_databaseARY[1]); + if (length($CLIDB_databaseARX[0])>1) + { + $VARDB_database = $CLIDB_databaseARX[0]; + $VARDB_database =~ s/ |\r|\n|\t//gi; + $CLIDB_database=1; + print " CLI defined DB database: $VARDB_database\n"; + } + } + if ($args =~ /--DB_user=/i) # CLI defined Database user login + { + @CLIDB_userARY = split(/--DB_user=/,$args); + @CLIDB_userARX = split(/ /,$CLIDB_userARY[1]); + if (length($CLIDB_userARX[0])>1) + { + $VARDB_user = $CLIDB_userARX[0]; + $VARDB_user =~ s/ |\r|\n|\t//gi; + $CLIDB_user=1; + print " CLI defined DB user: $VARDB_user\n"; + } + } + if ($args =~ /--DB_pass=/i) # CLI defined Database user password + { + @CLIDB_passARY = split(/--DB_pass=/,$args); + @CLIDB_passARX = split(/ /,$CLIDB_passARY[1]); + if (length($CLIDB_passARX[0])>1) + { + $VARDB_pass = $CLIDB_passARX[0]; + $VARDB_pass =~ s/ |\r|\n|\t//gi; + $CLIDB_pass=1; + print " CLI defined DB password: $VARDB_pass\n"; + } + } + if ($args =~ /--DB_port=/i) # CLI defined Database connection port + { + @CLIDB_portARY = split(/--DB_port=/,$args); + @CLIDB_portARX = split(/ /,$CLIDB_portARY[1]); + if (length($CLIDB_portARX[0])>1) + { + $VARDB_port = $CLIDB_portARX[0]; + $VARDB_port =~ s/ |\r|\n|\t//gi; + $CLIDB_port=1; + print " CLI defined DB port: $VARDB_port\n"; + } + } + if ($args =~ /--active_keepalives=/i) # CLI defined keepalive processes + { + @CLIkeepaliveARY = split(/--active_keepalives=/,$args); + @CLIkeepaliveARX = split(/ /,$CLIkeepaliveARY[1]); + if (length($CLIkeepaliveARX[0])>1) + { + $VARactive_keepalives = $CLIkeepaliveARX[0]; + $VARactive_keepalives =~ s/ |\r|\n|\t//gi; + $CLIactive_keepalives=1; + print " CLI active keepalive procs: $VARactive_keepalives\n"; + } + } + if ($args =~ /--asterisk_version=/i) # CLI defined asterisk version + { + @CLIastversionARY = split(/--asterisk_version=/,$args); + @CLIastversionARX = split(/ /,$CLIastversionARY[1]); + if (length($CLIastversionARX[0])>1) + { + $VARasterisk_version = $CLIastversionARX[0]; + $VARasterisk_version =~ s/ |\r|\n|\t//gi; + $CLIasterisk_version=1; + print " CLI asterisk version: $VARasterisk_version\n"; + } + } + if ($args =~ /--FTP_host=/i) # CLI defined archive server address + { + @CLIFTP_hostARY = split(/--FTP_host=/,$args); + @CLIFTP_hostARX = split(/ /,$CLIFTP_hostARY[1]); + if (length($CLIFTP_hostARX[0])>2) + { + $VARFTP_host = $CLIFTP_hostARX[0]; + $VARFTP_host =~ s/\/$| |\r|\n|\t//gi; + $CLIFTP_host=1; + print " CLI defined FTP host: $VARFTP_host\n"; + } + } + if ($args =~ /--FTP_user=/i) # CLI defined archive FTP user + { + @CLIFTP_userARY = split(/--FTP_user=/,$args); + @CLIFTP_userARX = split(/ /,$CLIFTP_userARY[1]); + if (length($CLIFTP_userARX[0])>2) + { + $VARFTP_user = $CLIFTP_userARX[0]; + $VARFTP_user =~ s/\/$| |\r|\n|\t//gi; + $CLIFTP_user=1; + print " CLI defined FTP user: $VARFTP_user\n"; + } + } + if ($args =~ /--FTP_pass=/i) # CLI defined archive FTP pass + { + @CLIFTP_passARY = split(/--FTP_pass=/,$args); + @CLIFTP_passARX = split(/ /,$CLIFTP_passARY[1]); + if (length($CLIFTP_passARX[0])>2) + { + $VARFTP_pass = $CLIFTP_passARX[0]; + $VARFTP_pass =~ s/\/$| |\r|\n|\t//gi; + $CLIFTP_pass=1; + print " CLI defined FTP pass: $VARFTP_pass\n"; + } + } + if ($args =~ /--FTP_port=/i) # CLI defined archive FTP port + { + @CLIFTP_portARY = split(/--FTP_port=/,$args); + @CLIFTP_portARX = split(/ /,$CLIFTP_portARY[1]); + if (length($CLIFTP_portARX[0])>2) + { + $VARFTP_port = $CLIFTP_portARX[0]; + $VARFTP_port =~ s/\/$| |\r|\n|\t//gi; + $CLIFTP_port=1; + print " CLI defined FTP port: $VARFTP_port\n"; + } + } + if ($args =~ /--FTP_dir=/i) # CLI defined archive FTP directory + { + @CLIFTP_dirARY = split(/--FTP_dir=/,$args); + @CLIFTP_dirARX = split(/ /,$CLIFTP_dirARY[1]); + if (length($CLIFTP_dirARX[0])>2) + { + $VARFTP_dir = $CLIFTP_dirARX[0]; + $VARFTP_dir =~ s/\/$| |\r|\n|\t//gi; + $CLIFTP_dir=1; + print " CLI defined FTP dir: $VARFTP_dir\n"; + } + } + if ($args =~ /--HTTP_path=/i) # CLI defined archive HTTP path + { + @CLIHTTP_pathARY = split(/--HTTP_path=/,$args); + @CLIHTTP_pathARX = split(/ /,$CLIHTTP_pathARY[1]); + if (length($CLIHTTP_pathARX[0])>2) + { + $VARHTTP_path = $CLIHTTP_pathARX[0]; + $VARHTTP_path =~ s/\/$| |\r|\n|\t//gi; + $CLIHTTP_path=1; + print " CLI defined HTTP path: $VARHTTP_path\n"; + } + } + if ($args =~ /--REPORT_host=/i) # CLI defined archive server address + { + @CLIREPORT_hostARY = split(/--REPORT_host=/,$args); + @CLIREPORT_hostARX = split(/ /,$CLIREPORT_hostARY[1]); + if (length($CLIREPORT_hostARX[0])>2) + { + $VARREPORT_host = $CLIREPORT_hostARX[0]; + $VARREPORT_host =~ s/\/$| |\r|\n|\t//gi; + $CLIREPORT_host=1; + print " CLI defined REPORT host: $VARREPORT_host\n"; + } + } + if ($args =~ /--REPORT_user=/i) # CLI defined archive REPORT user + { + @CLIREPORT_userARY = split(/--REPORT_user=/,$args); + @CLIREPORT_userARX = split(/ /,$CLIREPORT_userARY[1]); + if (length($CLIREPORT_userARX[0])>2) + { + $VARREPORT_user = $CLIREPORT_userARX[0]; + $VARREPORT_user =~ s/\/$| |\r|\n|\t//gi; + $CLIREPORT_user=1; + print " CLI defined REPORT user: $VARREPORT_user\n"; + } + } + if ($args =~ /--REPORT_pass=/i) # CLI defined archive REPORT pass + { + @CLIREPORT_passARY = split(/--REPORT_pass=/,$args); + @CLIREPORT_passARX = split(/ /,$CLIREPORT_passARY[1]); + if (length($CLIREPORT_passARX[0])>2) + { + $VARREPORT_pass = $CLIREPORT_passARX[0]; + $VARREPORT_pass =~ s/\/$| |\r|\n|\t//gi; + $CLIREPORT_pass=1; + print " CLI defined REPORT pass: $VARREPORT_pass\n"; + } + } + if ($args =~ /--REPORT_port=/i) # CLI defined archive REPORT port + { + @CLIREPORT_portARY = split(/--REPORT_port=/,$args); + @CLIREPORT_portARX = split(/ /,$CLIREPORT_portARY[1]); + if (length($CLIREPORT_portARX[0])>2) + { + $VARREPORT_port = $CLIREPORT_portARX[0]; + $VARREPORT_port =~ s/\/$| |\r|\n|\t//gi; + $CLIREPORT_port=1; + print " CLI defined REPORT port: $VARREPORT_port\n"; + } + } + if ($args =~ /--REPORT_dir=/i) # CLI defined archive REPORT directory + { + @CLIREPORT_dirARY = split(/--REPORT_dir=/,$args); + @CLIREPORT_dirARX = split(/ /,$CLIREPORT_dirARY[1]); + if (length($CLIREPORT_dirARX[0])>2) + { + $VARREPORT_dir = $CLIREPORT_dirARX[0]; + $VARREPORT_dir =~ s/\/$| |\r|\n|\t//gi; + $CLIREPORT_dir=1; + print " CLI defined REPORT dir: $VARREPORT_dir\n"; + } + } + + if ($args =~ /--copy_sample_conf_files/i) # CLI defined conf files + { + $CLIcopy_conf_files='y'; + print " CLI copy conf files: YES\n"; + } + else + { + $CLIcopy_conf_files='n'; + } + + if ($args =~ /--fastagi_log_min_servers=/i) # CLI defined fastagi min servers + { + @CLIDB_minserARY = split(/--fastagi_log_min_servers=/,$args); + @CLIDB_minserARX = split(/ /,$CLIDB_minserARY[1]); + if (length($CLIDB_minserARX[0])>1) + { + $VARfastagi_log_min_servers = $CLIDB_minserARX[0]; + $VARfastagi_log_min_servers =~ s/ |\r|\n|\t//gi; + $CLIfastagi_log_min_servers=1; + print " CLI defined log min server: $VARfastagi_log_min_servers\n"; + } + } + if ($args =~ /--fastagi_log_max_servers=/i) # CLI defined fastagi max servers + { + @CLIDB_maxserARY = split(/--fastagi_log_max_servers=/,$args); + @CLIDB_maxserARX = split(/ /,$CLIDB_maxserARY[1]); + if (length($CLIDB_maxserARX[0])>1) + { + $VARfastagi_log_max_servers = $CLIDB_maxserARX[0]; + $VARfastagi_log_max_servers =~ s/ |\r|\n|\t//gi; + $CLIfastagi_log_max_servers=1; + print " CLI defined log max server: $VARfastagi_log_max_servers\n"; + } + } + if ($args =~ /--fastagi_log_min_spare_servers=/i) # CLI defined fastagi min spare servers + { + @CLIDB_minspaARY = split(/--fastagi_log_min_spare_servers=/,$args); + @CLIDB_minspaARX = split(/ /,$CLIDB_minspaARY[1]); + if (length($CLIDB_minspaARX[0])>1) + { + $VARfastagi_log_min_spare_servers = $CLIDB_minspaARX[0]; + $VARfastagi_log_min_spare_servers =~ s/ |\r|\n|\t//gi; + $CLIfastagi_log_min_spare_servers=1; + print " CLI defined log min spare: $VARfastagi_log_min_spare_servers\n"; + } + } + if ($args =~ /--fastagi_log_max_spare_servers=/i) # CLI defined fastagi max spare servers + { + @CLIDB_maxspaARY = split(/--fastagi_log_max_spare_servers=/,$args); + @CLIDB_maxspaARX = split(/ /,$CLIDB_maxspaARY[1]); + if (length($CLIDB_maxspaARX[0])>1) + { + $VARfastagi_log_max_spare_servers = $CLIDB_maxspaARX[0]; + $VARfastagi_log_max_spare_servers =~ s/ |\r|\n|\t//gi; + $CLIfastagi_log_max_spare_servers=1; + print " CLI defined log max spare: $VARfastagi_log_max_spare_servers\n"; + } + } + if ($args =~ /--fastagi_log_max_requests=/i) # CLI defined fastagi max requests + { + @CLIDB_maxreqARY = split(/--fastagi_log_max_requests=/,$args); + @CLIDB_maxreqARX = split(/ /,$CLIDB_maxreqARY[1]); + if (length($CLIDB_maxreqARX[0])>1) + { + $VARfastagi_log_max_requests = $CLIDB_maxreqARX[0]; + $VARfastagi_log_max_requests =~ s/ |\r|\n|\t//gi; + $CLIfastagi_log_max_requests=1; + print " CLI defined log max request:$VARfastagi_log_max_requests\n"; + } + } + if ($args =~ /--fastagi_log_checkfordead=/i) # CLI defined fastagi check-for-dead seconds + { + @CLIDB_ckdeadARY = split(/--fastagi_log_checkfordead=/,$args); + @CLIDB_ckdeadARX = split(/ /,$CLIDB_ckdeadARY[1]); + if (length($CLIDB_ckdeadARX[0])>1) + { + $VARfastagi_log_checkfordead = $CLIDB_ckdeadARX[0]; + $VARfastagi_log_checkfordead =~ s/ |\r|\n|\t//gi; + $CLIfastagi_log_checkfordead=1; + print " CLI defined log ckdead sec: $VARfastagi_log_checkfordead\n"; + } + } + if ($args =~ /--fastagi_log_checkforwait=/i) # CLI defined fastagi check-for-wait seconds + { + @CLIDB_ckwaitARY = split(/--fastagi_log_checkforwait=/,$args); + @CLIDB_ckwaitARX = split(/ /,$CLIDB_ckwaitARY[1]); + if (length($CLIDB_ckwaitARX[0])>1) + { + $VARfastagi_log_checkforwait = $CLIDB_ckwaitARX[0]; + $VARfastagi_log_checkforwait =~ s/ |\r|\n|\t//gi; + $CLIfastagi_log_checkforwait=1; + print " CLI defined log ckwait sec: $VARfastagi_log_checkforwait\n"; + } + } + + if ($args =~ /--build_multiserver_conf/i) # CLI defined conf files + { + $build_multiserver_conf='y'; + print " CLI multiserver conf gen: YES\n"; + + # default path to astguiclient configuration file: + $PATHconf = '/etc/astguiclient.conf'; + + open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; + @conf = ; + close(conf); + $i=0; + foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + + # Customized Variables + $server_ip = $VARserver_ip; # Asterisk server IP + if (!$VARDB_port) {$VARDB_port='3306';} + + use DBI; + + $dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + ### format the new server_ip dialstring for example to use with extensions.conf + $S='*'; + if( $VARserver_ip =~ m/(\S+)\.(\S+)\.(\S+)\.(\S+)/ ) + { + $a = leading_zero($1); + $b = leading_zero($2); + $c = leading_zero($3); + $d = leading_zero($4); + $VARremDIALstr = "$a$S$b$S$c$S$d"; + } + + $ext = "\nAdd the following lines to your extensions.conf file:\n"; + $ext .= "TRUNKloop = IAX2/ASTloop:test\@127.0.0.1:40569\n"; + $ext .= "TRUNKblind = IAX2/ASTblind:test\@127.0.0.1:41569\n"; + + $iax = "\nAdd the following lines to your iax.conf file:\n"; + $iax .= "register => ASTloop:test\@127.0.0.1:40569\n"; + $iax .= "register => ASTblind:test\@127.0.0.1:41569\n"; + + $Lext = "\n"; + $Lext .= "; Local Server: $server_ip\n"; + $Lext .= "exten => _$VARremDIALstr*.,1,Goto(default,\${EXTEN:16},1)\n"; + $Lext .= "exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi)\n"; + $Lext .= "exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi)\n"; + $Lext .= "; Local blind monitoring\n"; + $Lext .= "exten => _08600XXX,1,Dial(\${TRUNKblind}/6\${EXTEN:1},55,o)\n"; + + $Liax .= "\n"; + $Liax .= "[ASTloop]\n"; + $Liax .= "type=friend\n"; + $Liax .= "accountcode=IAXASTloop\n"; + $Liax .= "context=default\n"; + $Liax .= "auth=plaintext\n"; + $Liax .= "host=dynamic\n"; + $Liax .= "permit=0.0.0.0/0.0.0.0\n"; + $Liax .= "secret=test\n"; + $Liax .= "disallow=all\n"; + $Liax .= "allow=ulaw\n"; + $Liax .= "qualify=yes\n"; + + $Liax .= "\n"; + $Liax .= "[ASTblind]\n"; + $Liax .= "type=friend\n"; + $Liax .= "accountcode=IAXASTblind\n"; + $Liax .= "context=default\n"; + $Liax .= "auth=plaintext\n"; + $Liax .= "host=dynamic\n"; + $Liax .= "permit=0.0.0.0/0.0.0.0\n"; + $Liax .= "secret=test\n"; + $Liax .= "disallow=all\n"; + $Liax .= "allow=ulaw\n"; + $Liax .= "qualify=yes\n"; + + ##### Get the server_id for this server's server_ip ##### + $stmtA = "SELECT server_id FROM servers where server_ip='$server_ip';"; + print "$stmtA\n"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $server_id = "$aryA[0]"; + $i++; + } + $sthA->finish(); + + ##### Get the server_ips and server_ids of all VICIDIAL servers on the network ##### + $stmtA = "SELECT server_ip,server_id FROM servers where server_ip!='$server_ip';"; + print "$stmtA\n"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $i=0; + while ($sthArows > $i) + { + @aryA = $sthA->fetchrow_array; + $server_ip[$i] = "$aryA[0]"; + $server_id[$i] = "$aryA[1]"; + + if( $server_ip[$i] =~ m/(\S+)\.(\S+)\.(\S+)\.(\S+)/ ) + { + $a = leading_zero($1); + $b = leading_zero($2); + $c = leading_zero($3); + $d = leading_zero($4); + $VARremDIALstr = "$a$S$b$S$c$S$d"; + } + $ext .= "TRUNK$server_id[$i] = IAX2/$server_id:test\@$server_ip[$i]:4569\n"; + + $iax .= "register => $server_id:test\@$server_ip[$i]:4569\n"; + + $Lext .= "; Remote Server VDAD extens: $server_id[$i] $server_ip[$i]\n"; + $Lext .= "exten => _$VARremDIALstr*.,1,Dial(\${TRUNK$server_id[$i]}/\${EXTEN:16},55,o)\n"; + + $Liax .= "\n"; + $Liax .= "[$server_id[$i]]\n"; + $Liax .= "type=friend\n"; + $Liax .= "accountcode=IAX$server_id[$i]\n"; + $Liax .= "context=default\n"; + $Liax .= "auth=plaintext\n"; + $Liax .= "host=dynamic\n"; + $Liax .= "permit=0.0.0.0/0.0.0.0\n"; + $Liax .= "secret=test\n"; + $Liax .= "disallow=all\n"; + $Liax .= "allow=ulaw\n"; + $Liax .= "qualify=yes\n"; + + $i++; + } + $sthA->finish(); + + + print "$ext$Lext\n$iax$Liax\n"; + exit; + } + + + if ($args =~ /--build_phones_conf/i) # CLI defined conf files + { + $build_phones_conf='y'; + print " CLI phones conf gen: YES\n"; + + # default path to astguiclient configuration file: + $PATHconf = '/etc/astguiclient.conf'; + + open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; + @conf = ; + close(conf); + $i=0; + foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + + # Customized Variables + $server_ip = $VARserver_ip; # Asterisk server IP + if (!$VARDB_port) {$VARDB_port='3306';} + + use DBI; + + $dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + $ext = "\nAdd the following lines to your extensions.conf file:\n"; + + $sip = "\nAdd the following lines to your sip.conf file:\n"; + + $iax = "\nAdd the following lines to your iax.conf file:\n"; + + $vm = "\nAdd the following lines to your voicemail.conf file:\n"; + + ##### Get the SIP phone entries ##### + $stmtA = "SELECT extension,dialplan_number,voicemail_id,pass FROM phones where server_ip='$server_ip' and protocol='SIP';"; + print "$stmtA\n"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $i=0; + while ($sthArows > $i) + { + @aryA = $sthA->fetchrow_array; + $extension[$i] = "$aryA[0]"; + $dialplan[$i] = "$aryA[1]"; + $voicemail[$i] = "$aryA[2]"; + $pass[$i] = "$aryA[3]"; + + $ext .= "exten => $dialplan[$i],1,Dial(SIP/$extension[$i])\n"; + $ext .= "exten => $dialplan[$i],2,Voicemail,u$voicemail[$i]\n"; + + $sip .= "\[$extension[$i]\]\n"; + $sip .= "disallow=all\n"; + $sip .= "allow=ulaw\n"; + $sip .= "type=friend\n"; + $sip .= "username=$extension[$i]\n"; + $sip .= "secret=$pass[$i]\n"; + $sip .= "host=dynamic\n"; + $sip .= "dtmfmode=rfc2833\n"; + $sip .= "qualify=1000\n"; + $sip .= "mailbox=$voicemail[$i]\n\n"; + + $vm .= "$voicemail[$i] => $voicemail[$i],$extension[$i] Mailbox\n"; + + $i++; + } + $sthA->finish(); + + ##### Get the IAX phone entries ##### + $stmtA = "SELECT extension,dialplan_number,voicemail_id,pass FROM phones where server_ip='$server_ip' and protocol='IAX2';"; + print "$stmtA\n"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $i=0; + while ($sthArows > $i) + { + @aryA = $sthA->fetchrow_array; + $extension[$i] = "$aryA[0]"; + $dialplan[$i] = "$aryA[1]"; + $voicemail[$i] = "$aryA[2]"; + $pass[$i] = "$aryA[3]"; + + $ext .= "exten => $dialplan[$i],1,Dial(IAX2/$extension[$i])\n"; + $ext .= "exten => $dialplan[$i],2,Voicemail,u$voicemail[$i]\n"; + + $iax .= "\[$extension[$i]\]\n"; + $iax .= "disallow=all\n"; + $iax .= "allow=ulaw\n"; + $iax .= "context=default\n"; + $iax .= "type=friend\n"; + $iax .= "accountcode=$extension[$i]\n"; + $iax .= "secret=$pass[$i]\n"; + $iax .= "auth=md5\n"; + $iax .= "host=dynamic\n"; + $iax .= "permit=0.0.0.0/0.0.0.0\n"; + $iax .= "qualify=1000\n"; + $iax .= "mailbox=$voicemail[$i]\n\n"; + + $vm .= "$voicemail[$i] => $voicemail[$i],$extension[$i] Mailbox\n"; + + $i++; + } + $sthA->finish(); + + + print "$ext\n$sip\n$iax\n$vm\n"; + exit; + } + } +} +else +{ +# print "no command line options set\n"; +$CLIcopy_conf_files='n'; +} +### end parsing run-time options ### + +if (-e "$PATHconf") + { + print "Previous astGUIclient configuration file found at: $PATHconf\n"; + open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; + @conf = ; + close(conf); + $i=0; + foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^PATHDONEmonitor/) && ($CLIDONEmonitor < 1) ) + {$PATHDONEmonitor = $line; $PATHDONEmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + if ( ($line =~ /^VARactive_keepalives/) && ($CLIactive_keepalives < 1) ) + {$VARactive_keepalives = $line; $VARactive_keepalives =~ s/.*=//gi;} + if ( ($line =~ /^VARasterisk_version/) && ($CLIasterisk_version < 1) ) + {$VARasterisk_version = $line; $VARasterisk_version =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_host/) && ($CLIFTP_host < 1) ) + {$VARFTP_host = $line; $VARFTP_host =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_user/) && ($CLIFTP_user < 1) ) + {$VARFTP_user = $line; $VARFTP_user =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_pass/) && ($CLIFTP_pass < 1) ) + {$VARFTP_pass = $line; $VARFTP_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_port/) && ($CLIFTP_port < 1) ) + {$VARFTP_port = $line; $VARFTP_port =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_dir/) && ($CLIFTP_dir < 1) ) + {$VARFTP_dir = $line; $VARFTP_dir =~ s/.*=//gi;} + if ( ($line =~ /^VARHTTP_path/) && ($CLIHTTP_path < 1) ) + {$VARHTTP_path = $line; $VARHTTP_path =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_host/) && ($CLIREPORT_host < 1) ) + {$VARREPORT_host = $line; $VARREPORT_host =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_user/) && ($CLIREPORT_user < 1) ) + {$VARREPORT_user = $line; $VARREPORT_user =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_pass/) && ($CLIREPORT_pass < 1) ) + {$VARREPORT_pass = $line; $VARREPORT_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_port/) && ($CLIREPORT_port < 1) ) + {$VARREPORT_port = $line; $VARREPORT_port =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_dir/) && ($CLIREPORT_dir < 1) ) + {$VARREPORT_dir = $line; $VARREPORT_dir =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_min_servers/) && ($CLIVARfastagi_log_min_servers < 1) ) + {$VARfastagi_log_min_servers = $line; $VARfastagi_log_min_servers =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_max_servers/) && ($CLIVARfastagi_log_max_servers < 1) ) + {$VARfastagi_log_max_servers = $line; $VARfastagi_log_max_servers =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_min_spare_servers/) && ($CLIVARfastagi_log_min_spare_servers < 1) ) + {$VARfastagi_log_min_spare_servers = $line; $VARfastagi_log_min_spare_servers =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_max_spare_servers/) && ($CLIVARfastagi_log_max_spare_servers < 1) ) + {$VARfastagi_log_max_spare_servers = $line; $VARfastagi_log_max_spare_servers =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_max_requests/) && ($CLIVARfastagi_log_max_requests < 1) ) + {$VARfastagi_log_max_requests = $line; $VARfastagi_log_max_requests =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_checkfordead/) && ($CLIVARfastagi_log_checkfordead < 1) ) + {$VARfastagi_log_checkfordead = $line; $VARfastagi_log_checkfordead =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_checkforwait/) && ($CLIVARfastagi_log_checkforwait < 1) ) + {$VARfastagi_log_checkforwait = $line; $VARfastagi_log_checkforwait =~ s/.*=//gi;} + $i++; + } + } + +if (!$NOPROMPT) + { + print("\nWould you like to use manual configuration and installation(y/n): [y] "); + $manual = ; + chomp($manual); + } +if ( ($manual =~ /n/i) || ($NOPROMPT > 0) ) + { + $manual=0; + } +else + { + $config_finished='NO'; + while ($config_finished =~/NO/) + { + print "\nSTARTING ASTGUICLIENT MANUAL CONFIGURATION PHASE...\n"; + ##### BEGIN astguiclient home directory prompting and existence check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nastguiclient home path or press enter for default: [$PATHhome] "); + $PROMPThome = ; + chomp($PROMPThome); + if (length($PROMPThome)>2) + { + $PROMPThome =~ s/ |\n|\r|\t|\/$//gi; + if (!-e "$PROMPThome") + { + print("$PROMPThome does not exist, would you like me to create it?(y/n) [y] "); + $createPROMPThome = ; + chomp($createPROMPThome); + if ($createPROMPThome =~ /n/i) + { + $continue='NO'; + } + else + { + `mkdir -p $PROMPThome`; + print " $PROMPThome directory created\n"; + $PATHhome=$PROMPThome; + $continue='YES'; + } + } + else + { + $PATHhome=$PROMPThome; + $continue='YES'; + } + } + else + { + if (!-e "$PATHhome") + { + print("$PATHhome does not exist, would you like me to create it?(y/n) [y] "); + $createPATHhome = ; + chomp($createPATHhome); + if ($createPATHhome =~ /n/i) + { + $continue='NO'; + } + else + { + `mkdir -p $PATHhome`; + print " $PATHhome directory created\n"; + $continue='YES'; + } + } + else + { + $continue='YES'; + } + } + } + ##### END astguiclient home directory prompting and existence check ##### + + ##### BEGIN astguiclient logs directory prompting and existence check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nastguiclient logs path or press enter for default: [$PATHlogs] "); + $PROMPTlogs = ; + chomp($PROMPTlogs); + if (length($PROMPTlogs)>2) + { + $PROMPTlogs =~ s/ |\n|\r|\t|\/$//gi; + if (!-e "$PROMPTlogs") + { + print("$PROMPTlogs does not exist, would you like me to create it?(y/n) [y] "); + $createPROMPTlogs = ; + chomp($createPROMPTlogs); + if ($createPROMPTlogs =~ /n/i) + { + $continue='NO'; + } + else + { + `mkdir -p $PROMPTlogs`; + print " $PROMPTlogs directory created\n"; + $PATHlogs=$PROMPTlogs; + $continue='YES'; + } + } + else + { + $PATHlogs=$PROMPTlogs; + $continue='YES'; + } + } + else + { + if (!-e "$PATHlogs") + { + print("$PATHlogs does not exist, would you like me to create it?(y/n) [y] "); + $createPATHlogs = ; + chomp($createPATHlogs); + if ($createPATHlogs =~ /n/i) + { + $continue='NO'; + } + else + { + `mkdir -p --mode=0666 $PATHlogs`; + print " $PATHlogs directory created\n"; + $continue='YES'; + } + } + else + { + $continue='YES'; + } + } + } + ##### END astguiclient logs directory prompting and existence check ##### + + ##### BEGIN asterisk agi-bin directory prompting and existence check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nasterisk agi-bin path or press enter for default: [$PATHagi] "); + $PROMPTagi = ; + chomp($PROMPTagi); + if (length($PROMPTagi)>2) + { + $PROMPTagi =~ s/ |\n|\r|\t|\/$//gi; + if (!-e "$PROMPTagi") + { + print("$PROMPTagi does not exist, would you like me to create it?(y/n) [y] "); + $createPROMPTagi = ; + chomp($createPROMPTagi); + if ($createPROMPTagi =~ /n/i) + { + $continue='NO'; + } + else + { + `mkdir -p $PROMPTagi`; + print " $PROMPTagi directory created\n"; + $PATHagi=$PROMPTagi; + $continue='YES'; + } + } + else + { + $PATHagi=$PROMPTagi; + $continue='YES'; + } + } + else + { + if (!-e "$PATHagi") + { + print("$PATHagi does not exist, would you like me to create it?(y/n) [y] "); + $createPATHagi = ; + chomp($createPATHagi); + if ($createPATHagi =~ /n/i) + { + $continue='NO'; + } + else + { + `mkdir -p $PATHagi`; + print " $PATHagi directory created\n"; + $continue='YES'; + } + } + else + { + $continue='YES'; + } + } + } + ##### END asterisk agi-bin directory prompting and existence check ##### + + ##### BEGIN server webroot directory prompting and existence check ##### + $continue='NO'; + while ( ($continue =~/NO/) && ($NOWEB < 1) ) + { + print("\nserver webroot path or press enter for default: [$PATHweb] "); + $PROMPTweb = ; + chomp($PROMPTweb); + if (length($PROMPTweb)>2) + { + $PROMPTweb =~ s/ |\n|\r|\t|\/$//gi; + if (!-e "$PROMPTweb") + { + print("$PROMPTweb does not exist, would you like me to create it?(y/n) [y] "); + $createPROMPTweb = ; + chomp($createPROMPTweb); + if ($createPROMPTweb =~ /n/i) + { + $continue='NO'; + } + else + { + `mkdir -p $PROMPTweb`; + print " $PROMPTweb directory created\n"; + $PATHweb=$PROMPTweb; + $continue='YES'; + } + } + else + { + $PATHweb=$PROMPTweb; + $continue='YES'; + } + } + else + { + if (!-e "$PATHweb") + { + print("$PATHweb does not exist, would you like me to create it?(y/n) [y] "); + $createPATHweb = ; + chomp($createPATHweb); + if ($createPATHweb =~ /n/i) + { + $continue='NO'; + } + else + { + `mkdir -p $PATHweb`; + print " $PATHweb directory created\n"; + $continue='YES'; + } + } + else + { + $continue='YES'; + } + } + } + ##### END server webroot directory prompting and existence check ##### + + ##### BEGIN asterisk sounds directory prompting and existence check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nasterisk sounds path or press enter for default: [$PATHsounds] "); + $PROMPTsounds = ; + chomp($PROMPTsounds); + if (length($PROMPTsounds)>2) + { + $PROMPTsounds =~ s/ |\n|\r|\t|\/$//gi; + if (!-e "$PROMPTsounds") + { + print("$PROMPTsounds does not exist, would you like me to create it?(y/n) [y] "); + $createPROMPTsounds = ; + chomp($createPROMPTsounds); + if ($createPROMPTsounds =~ /n/i) + { + $continue='NO'; + } + else + { + `mkdir -p $PROMPTsounds`; + print " $PROMPTsounds directory created\n"; + $PATHsounds=$PROMPTsounds; + $continue='YES'; + } + } + else + { + $PATHsounds=$PROMPTsounds; + $continue='YES'; + } + } + else + { + if (!-e "$PATHsounds") + { + print("$PATHsounds does not exist, would you like me to create it?(y/n) [y] "); + $createPATHsounds = ; + chomp($createPATHsounds); + if ($createPATHsounds =~ /n/i) + { + $continue='NO'; + } + else + { + `mkdir -p $PATHsounds`; + print " $PATHsounds directory created\n"; + $continue='YES'; + } + } + else + { + $continue='YES'; + } + } + } + ##### END asterisk sounds directory prompting and existence check ##### + + ##### BEGIN asterisk monitor directory prompting and existence check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nasterisk monitor path or press enter for default: [$PATHmonitor] "); + $PROMPTmonitor = ; + chomp($PROMPTmonitor); + if (length($PROMPTmonitor)>2) + { + $PROMPTmonitor =~ s/ |\n|\r|\t|\/$//gi; + if (!-e "$PROMPTmonitor") + { + print("$PROMPTmonitor does not exist, would you like me to create it?(y/n) [y] "); + $createPROMPTmonitor = ; + chomp($createPROMPTmonitor); + if ($createPROMPTmonitor =~ /n/i) + { + $continue='NO'; + } + else + { + `mkdir -p $PROMPTmonitor`; + print " $PROMPTmonitor directory created\n"; + $PATHmonitor=$PROMPTmonitor; + $continue='YES'; + } + } + else + { + $PATHmonitor=$PROMPTmonitor; + $continue='YES'; + } + } + else + { + if (!-e "$PATHmonitor") + { + print("$PATHmonitor does not exist, would you like me to create it?(y/n) [y] "); + $createPATHmonitor = ; + chomp($createPATHmonitor); + if ($createPATHmonitor =~ /n/i) + { + $continue='NO'; + } + else + { + `mkdir -p $PATHmonitor`; + print " $PATHmonitor directory created\n"; + $continue='YES'; + } + } + else + { + $continue='YES'; + } + } + } + ##### END asterisk monitor directory prompting and existence check ##### + + ##### BEGIN asterisk DONEmonitor directory prompting and existence check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nasterisk DONEmonitor path or press enter for default: [$PATHDONEmonitor] "); + $PROMPTDONEmonitor = ; + chomp($PROMPTDONEmonitor); + if (length($PROMPTDONEmonitor)>2) + { + $PROMPTDONEmonitor =~ s/ |\n|\r|\t|\/$//gi; + if (!-e "$PROMPTDONEmonitor") + { + print("$PROMPTDONEmonitor does not exist, would you like me to create it?(y/n) [y] "); + $createPROMPTDONEmonitor = ; + chomp($createPROMPTDONEmonitor); + if ($createPROMPTDONEmonitor =~ /n/i) + { + $continue='NO'; + } + else + { + `mkdir -p $PROMPTDONEmonitor`; + print " $PROMPTDONEmonitor directory created\n"; + $PATHDONEmonitor=$PROMPTDONEmonitor; + $continue='YES'; + } + } + else + { + $PATHDONEmonitor=$PROMPTDONEmonitor; + $continue='YES'; + } + } + else + { + if (!-e "$PATHDONEmonitor") + { + print("$PATHDONEmonitor does not exist, would you like me to create it?(y/n) [y] "); + $createPATHDONEmonitor = ; + chomp($createPATHDONEmonitor); + if ($createPATHDONEmonitor =~ /n/i) + { + $continue='NO'; + } + else + { + `mkdir -p $PATHDONEmonitor`; + print " $PATHDONEmonitor directory created\n"; + $continue='YES'; + } + } + else + { + $continue='YES'; + } + } + } + ##### END asterisk DONEmonitor directory prompting and existence check ##### + + ##### BEGIN server_ip prompting and check ##### + if (length($VARserver_ip)<7) + { + ### get best guess of IP address from ifconfig output ### + # inet addr:10.10.11.17 Bcast:10.10.255.255 Mask:255.255.0.0 + @ip = `/sbin/ifconfig`; + $j=0; + while($#ip>=$j) + { + if ($ip[$j] =~ /inet addr/) {$VARserver_ip = $ip[$j]; $j=1000;} + $j++; + } + $VARserver_ip =~ s/.*addr:| Bcast.*|\r|\n|\t| //gi; + } + + $continue='NO'; + while ($continue =~/NO/) + { + print("\nserver IP address or press enter for default: [$VARserver_ip] "); + $PROMPTserver_ip = ; + chomp($PROMPTserver_ip); + if (length($PROMPTserver_ip)>6) + { + $PROMPTserver_ip =~ s/ |\n|\r|\t|\/$//gi; + $VARserver_ip=$PROMPTserver_ip; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END server_ip prompting and check ##### + + + ##### BEGIN DB_server prompting and check ##### + if (length($VARDB_server)<7) + { + $VARDB_server = 'localhost'; + } + $continue='NO'; + while ($continue =~/NO/) + { + print("\nDB server address or press enter for default: [$VARDB_server] "); + $PROMPTDB_server = ; + chomp($PROMPTDB_server); + if (length($PROMPTDB_server)>6) + { + $PROMPTDB_server =~ s/ |\n|\r|\t|\/$//gi; + $VARDB_server=$PROMPTDB_server; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END DB_server prompting and check ##### + + ##### BEGIN DB_database prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nDB database name or press enter for default: [$VARDB_database] "); + $PROMPTDB_database = ; + chomp($PROMPTDB_database); + if (length($PROMPTDB_database)>1) + { + $PROMPTDB_database =~ s/ |\n|\r|\t|\/$//gi; + $VARDB_database=$PROMPTDB_database; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END DB_database prompting and check ##### + + ##### BEGIN DB_user prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nDB user login or press enter for default: [$VARDB_user] "); + $PROMPTDB_user = ; + chomp($PROMPTDB_user); + if (length($PROMPTDB_user)>1) + { + $PROMPTDB_user =~ s/ |\n|\r|\t|\/$//gi; + $VARDB_user=$PROMPTDB_user; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END DB_user prompting and check ##### + + ##### BEGIN DB_pass prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nDB user password or press enter for default: [$VARDB_pass] "); + $PROMPTDB_pass = ; + chomp($PROMPTDB_pass); + if (length($PROMPTDB_pass)>1) + { + $PROMPTDB_pass =~ s/ |\n|\r|\t|\/$//gi; + $VARDB_pass=$PROMPTDB_pass; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END DB_pass prompting and check ##### + + ##### BEGIN DB_port prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nDB connection port or press enter for default: [$VARDB_port] "); + $PROMPTDB_port = ; + chomp($PROMPTDB_port); + if (length($PROMPTDB_port)>1) + { + $PROMPTDB_port =~ s/ |\n|\r|\t|\/$//gi; + $VARDB_port=$PROMPTDB_port; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END DB_port prompting and check ##### + + ##### BEGIN active_keepalives prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print "\nNumeric list of the astGUIclient processes to be kept running\n"; + print "(value should be listing of characters with no spaces: 123456)\n"; + print " X - NO KEEPALIVE PROCESSES (use only if you want none to be keepalive)\n"; + print " 1 - AST_update\n"; + print " 2 - AST_send_listen\n"; + print " 3 - AST_VDauto_dial\n"; + print " 4 - AST_VDremote_agents\n"; + print " 5 - AST_VDadapt (If multi-server system, this must only be on one server)\n"; + print " 6 - FastAGI_log\n"; + print " 7 - AST_VDauto_dial_FILL (only for multi-server, this must only be on one server)\n"; + print " 8 - ip_relay (used for blind agent monitoring)\n"; + print " 9 - Timeclock auto logout\n"; + print "Enter active keepalives or press enter for default: [$VARactive_keepalives] "; + $PROMPTactive_keepalives = ; + chomp($PROMPTactive_keepalives); + if (length($PROMPTactive_keepalives)>0) + { + $PROMPTactive_keepalives =~ s/ |\n|\r|\t|\/$//gi; + $VARactive_keepalives=$PROMPTactive_keepalives; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END active_keepalives prompting and check ##### + + ##### BEGIN asterisk_version prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print "\nEnter the Asterisk version that you are installing VICIDIAL for\n"; + print "(value should be listing of characters with no spaces: 123456)\n"; + print " 1.2\n"; + print " 1.4\n"; + print "Enter asterisk version or press enter for default: [$VARasterisk_version] "; + $PROMPTasterisk_version = ; + chomp($PROMPTasterisk_version); + if (length($PROMPTasterisk_version)>0) + { + $PROMPTasterisk_version =~ s/ |\n|\r|\t|\/$//gi; + $VARasterisk_version=$PROMPTasterisk_version; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END asterisk_version prompting and check ##### + + ##### BEGIN copy asterisk sample conf files prompt ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nCopy sample configuration files to /etc/asterisk/ ? [$CLIcopy_conf_files] "); + $PROMPTcopy_conf_files = ; + chomp($PROMPTcopy_conf_files); + if (length($PROMPTcopy_conf_files)<1) + {$PROMPTcopy_conf_files = $CLIcopy_conf_files;} + if ($PROMPTcopy_conf_files =~ /y/i) + { + if (!-e "/etc/asterisk") + { + print("/etc/asterisk does not exist, would you like me to create it?(y/n) [y] "); + $createPROMPTmonitor = ; + chomp($createPROMPTmonitor); + if ($createPROMPTmonitor =~ /n/i) + { + $continue='NO'; + } + else + { + `mkdir -p /etc/asterisk`; + print " /etc/asterisk directory created\n"; + $continue='YES'; + } + } + else + { + $continue='YES'; + } + } + else + { + $continue='YES'; + } + } + ##### END copy asterisk sample conf files prompt ##### + + ##### BEGIN FTP_host prompting and check ##### + if (length($VARFTP_host)<7) + { + $VARFTP_host = 'localhost'; + } + $continue='NO'; + while ($continue =~/NO/) + { + print("\nFTP host address or press enter for default: [$VARFTP_host] "); + $PROMPTFTP_host = ; + chomp($PROMPTFTP_host); + if (length($PROMPTFTP_host)>6) + { + $PROMPTFTP_host =~ s/ |\n|\r|\t|\/$//gi; + $VARFTP_host=$PROMPTFTP_host; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END FTP_host prompting and check ##### + + ##### BEGIN FTP_user prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nFTP user login or press enter for default: [$VARFTP_user] "); + $PROMPTFTP_user = ; + chomp($PROMPTFTP_user); + if (length($PROMPTFTP_user)>1) + { + $PROMPTFTP_user =~ s/ |\n|\r|\t|\/$//gi; + $VARFTP_user=$PROMPTFTP_user; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END FTP_user prompting and check ##### + + ##### BEGIN FTP_pass prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nFTP user password or press enter for default: [$VARFTP_pass] "); + $PROMPTFTP_pass = ; + chomp($PROMPTFTP_pass); + if (length($PROMPTFTP_pass)>1) + { + $PROMPTFTP_pass =~ s/ |\n|\r|\t|\/$//gi; + $VARFTP_pass=$PROMPTFTP_pass; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END FTP_pass prompting and check ##### + + ##### BEGIN FTP_port prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nFTP connection port or press enter for default: [$VARFTP_port] "); + $PROMPTFTP_port = ; + chomp($PROMPTFTP_port); + if (length($PROMPTFTP_port)>1) + { + $PROMPTFTP_port =~ s/ |\n|\r|\t|\/$//gi; + $VARFTP_port=$PROMPTFTP_port; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END FTP_port prompting and check ##### + + ##### BEGIN FTP_dir prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nFTP directory or press enter for default: [$VARFTP_dir] "); + $PROMPTFTP_dir = ; + chomp($PROMPTFTP_dir); + if (length($PROMPTFTP_dir)>1) + { + $PROMPTFTP_dir =~ s/ |\n|\r|\t|\/$//gi; + $VARFTP_dir=$PROMPTFTP_dir; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END FTP_dir prompting and check ##### + + ##### BEGIN HTTP_path prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nHTTP path for archive or press enter for default: [$VARHTTP_path] "); + $PROMPTHTTP_path = ; + chomp($PROMPTHTTP_path); + if (length($PROMPTHTTP_path)>1) + { + $PROMPTHTTP_path =~ s/ |\n|\r|\t|\/$//gi; + $VARHTTP_path=$PROMPTHTTP_path; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END HTTP_path prompting and check ##### + + ##### BEGIN REPORT_host prompting and check ##### + if (length($VARREPORT_host)<7) + { + $VARREPORT_host = 'localhost'; + } + $continue='NO'; + while ($continue =~/NO/) + { + print("\nREPORT host address or press enter for default: [$VARREPORT_host] "); + $PROMPTREPORT_host = ; + chomp($PROMPTREPORT_host); + if (length($PROMPTREPORT_host)>6) + { + $PROMPTREPORT_host =~ s/ |\n|\r|\t|\/$//gi; + $VARREPORT_host=$PROMPTREPORT_host; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END REPORT_host prompting and check ##### + + ##### BEGIN REPORT_user prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nREPORT user login or press enter for default: [$VARREPORT_user] "); + $PROMPTREPORT_user = ; + chomp($PROMPTREPORT_user); + if (length($PROMPTREPORT_user)>1) + { + $PROMPTREPORT_user =~ s/ |\n|\r|\t|\/$//gi; + $VARREPORT_user=$PROMPTREPORT_user; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END REPORT_user prompting and check ##### + + ##### BEGIN REPORT_pass prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nREPORT user password or press enter for default: [$VARREPORT_pass] "); + $PROMPTREPORT_pass = ; + chomp($PROMPTREPORT_pass); + if (length($PROMPTREPORT_pass)>1) + { + $PROMPTREPORT_pass =~ s/ |\n|\r|\t|\/$//gi; + $VARREPORT_pass=$PROMPTREPORT_pass; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END REPORT_pass prompting and check ##### + + ##### BEGIN REPORT_port prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nREPORT connection port or press enter for default: [$VARREPORT_port] "); + $PROMPTREPORT_port = ; + chomp($PROMPTREPORT_port); + if (length($PROMPTREPORT_port)>1) + { + $PROMPTREPORT_port =~ s/ |\n|\r|\t|\/$//gi; + $VARREPORT_port=$PROMPTREPORT_port; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END REPORT_port prompting and check ##### + + ##### BEGIN REPORT_dir prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nREPORT directory or press enter for default: [$VARREPORT_dir] "); + $PROMPTREPORT_dir = ; + chomp($PROMPTREPORT_dir); + if (length($PROMPTREPORT_dir)>1) + { + $PROMPTREPORT_dir =~ s/ |\n|\r|\t|\/$//gi; + $VARREPORT_dir=$PROMPTREPORT_dir; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END REPORT_dir prompting and check ##### + + ##### BEGIN fastagi_log_min_servers prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nFastAGI log minimum child servers: [$VARfastagi_log_min_servers] "); + $PROMPTfastagi_log_min_servers = ; + chomp($PROMPTfastagi_log_min_servers); + if (length($PROMPTfastagi_log_min_servers)>0) + { + $PROMPTfastagi_log_min_servers =~ s/ |\n|\r|\t|\/$//gi; + $VARfastagi_log_min_servers=$PROMPTfastagi_log_min_servers; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END fastagi_log_min_servers prompting and check ##### + + ##### BEGIN fastagi_log_max_servers prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nFastAGI log maximum child servers: [$VARfastagi_log_max_servers] "); + $PROMPTfastagi_log_max_servers = ; + chomp($PROMPTfastagi_log_max_servers); + if (length($PROMPTfastagi_log_max_servers)>0) + { + $PROMPTfastagi_log_max_servers =~ s/ |\n|\r|\t|\/$//gi; + $VARfastagi_log_max_servers=$PROMPTfastagi_log_max_servers; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END fastagi_log_max_servers prompting and check ##### + + ##### BEGIN fastagi_log_min_spare_servers prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nFastAGI log minimum spare child servers: [$VARfastagi_log_min_spare_servers] "); + $PROMPTfastagi_log_min_spare_servers = ; + chomp($PROMPTfastagi_log_min_spare_servers); + if (length($PROMPTfastagi_log_min_spare_servers)>0) + { + $PROMPTfastagi_log_min_spare_servers =~ s/ |\n|\r|\t|\/$//gi; + $VARfastagi_log_min_spare_servers=$PROMPTfastagi_log_min_spare_servers; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END fastagi_log_min_spare_servers prompting and check ##### + + ##### BEGIN fastagi_log_max_spare_servers prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nFastAGI log maximum spare child servers: [$VARfastagi_log_max_spare_servers] "); + $PROMPTfastagi_log_max_spare_servers = ; + chomp($PROMPTfastagi_log_max_spare_servers); + if (length($PROMPTfastagi_log_max_spare_servers)>0) + { + $PROMPTfastagi_log_max_spare_servers =~ s/ |\n|\r|\t|\/$//gi; + $VARfastagi_log_max_spare_servers=$PROMPTfastagi_log_max_spare_servers; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END fastagi_log_max_spare_servers prompting and check ##### + + ##### BEGIN fastagi_log_max_requests prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nFastAGI log maximum requests per child server: [$VARfastagi_log_max_requests] "); + $PROMPTfastagi_log_max_requests = ; + chomp($PROMPTfastagi_log_max_requests); + if (length($PROMPTfastagi_log_max_requests)>0) + { + $PROMPTfastagi_log_max_requests =~ s/ |\n|\r|\t|\/$//gi; + $VARfastagi_log_max_requests=$PROMPTfastagi_log_max_requests; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END fastagi_log_max_requests prompting and check ##### + + ##### BEGIN fastagi_log_checkfordead prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nFastAGI log check-for-dead seconds: [$VARfastagi_log_checkfordead] "); + $PROMPTfastagi_log_checkfordead = ; + chomp($PROMPTfastagi_log_checkfordead); + if (length($PROMPTfastagi_log_checkfordead)>0) + { + $PROMPTfastagi_log_checkfordead =~ s/ |\n|\r|\t|\/$//gi; + $VARfastagi_log_checkfordead=$PROMPTfastagi_log_checkfordead; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END fastagi_log_checkfordead prompting and check ##### + + ##### BEGIN fastagi_log_checkforwait prompting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nFastAGI log check-for-wait seconds: [$VARfastagi_log_checkforwait] "); + $PROMPTfastagi_log_checkforwait = ; + chomp($PROMPTfastagi_log_checkforwait); + if (length($PROMPTfastagi_log_checkforwait)>0) + { + $PROMPTfastagi_log_checkforwait =~ s/ |\n|\r|\t|\/$//gi; + $VARfastagi_log_checkforwait=$PROMPTfastagi_log_checkforwait; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END fastagi_log_checkforwait prompting and check ##### + + + print "\n"; + print " defined home path: $PATHhome\n"; + print " defined logs path: $PATHlogs\n"; + print " defined agi-bin path: $PATHagi\n"; + print " defined webroot path: $PATHweb\n"; + print " defined sounds path: $PATHsounds\n"; + print " defined monitor path: $PATHmonitor\n"; + print " defined DONEmonitor path: $PATHDONEmonitor\n"; + print " defined server_ip: $VARserver_ip\n"; + print " defined DB_server: $VARDB_server\n"; + print " defined DB_database: $VARDB_database\n"; + print " defined DB_user: $VARDB_user\n"; + print " defined DB_pass: $VARDB_pass\n"; + print " defined DB_port: $VARDB_port\n"; + print " defined active_keepalives: $VARactive_keepalives\n"; + print " defined asterisk_version: $VARasterisk_version\n"; + print " defined copying conf files: $PROMPTcopy_conf_files\n"; + print " defined FTP_host: $VARFTP_host\n"; + print " defined FTP_user: $VARFTP_user\n"; + print " defined FTP_pass: $VARFTP_pass\n"; + print " defined FTP_port: $VARFTP_port\n"; + print " defined FTP_dir: $VARFTP_dir\n"; + print " defined HTTP_path: $VARHTTP_path\n"; + print " defined REPORT_host: $VARREPORT_host\n"; + print " defined REPORT_user: $VARREPORT_user\n"; + print " defined REPORT_pass: $VARREPORT_pass\n"; + print " defined REPORT_port: $VARREPORT_port\n"; + print " defined REPORT_dir: $VARREPORT_dir\n"; + print " defined fastagi_log_min_servers: $VARfastagi_log_min_servers\n"; + print " defined fastagi_log_max_servers: $VARfastagi_log_max_servers\n"; + print " defined fastagi_log_min_spare_servers: $VARfastagi_log_min_spare_servers\n"; + print " defined fastagi_log_max_spare_servers: $VARfastagi_log_max_spare_servers\n"; + print " defined fastagi_log_max_requests: $VARfastagi_log_max_requests\n"; + print " defined fastagi_log_checkfordead: $VARfastagi_log_checkfordead\n"; + print " defined fastagi_log_checkforwait: $VARfastagi_log_checkforwait\n"; + print "\n"; + + print("Are these settings correct?(y/n): [y] "); + $PROMPTconfig = ; + chomp($PROMPTconfig); + if ( (length($PROMPTconfig)<1) or ($PROMPTconfig =~ /y/i) ) + { + $config_finished='YES'; + } + } + } + +print "Writing to astguiclient.conf file: $PATHconf\n"; + +open(conf, ">$PATHconf") || die "can't open $PATHconf: $!\n"; +print conf "# astguiclient.conf - configuration elements for the astguiclient package\n"; +print conf "# this is the astguiclient configuration file \n"; +print conf "# all comments will be lost if you run install.pl again\n"; +print conf "\n"; +print conf "# Paths used by astGUIclient\n"; +print conf "PATHhome => $PATHhome\n"; +print conf "PATHlogs => $PATHlogs\n"; +print conf "PATHagi => $PATHagi\n"; +print conf "PATHweb => $PATHweb\n"; +print conf "PATHsounds => $PATHsounds\n"; +print conf "PATHmonitor => $PATHmonitor\n"; +print conf "PATHDONEmonitor => $PATHDONEmonitor\n"; +print conf "\n"; +print conf "# The IP address of this machine\n"; +print conf "VARserver_ip => $VARserver_ip\n"; +print conf "\n"; +print conf "# Database connection information\n"; +print conf "VARDB_server => $VARDB_server\n"; +print conf "VARDB_database => $VARDB_database\n"; +print conf "VARDB_user => $VARDB_user\n"; +print conf "VARDB_pass => $VARDB_pass\n"; +print conf "VARDB_port => $VARDB_port\n"; +print conf "\n"; +print conf "# Alpha-Numeric list of the astGUIclient processes to be kept running\n"; +print conf "# (value should be listing of characters with no spaces: 1234568)\n"; +print conf "# X - NO KEEPALIVE PROCESSES (use only if you want none to be keepalive)\n"; +print conf "# 1 - AST_update\n"; +print conf "# 2 - AST_send_listen\n"; +print conf "# 3 - AST_VDauto_dial\n"; +print conf "# 4 - AST_VDremote_agents\n"; +print conf "# 5 - AST_VDadapt (If multi-server system, this must only be on one server)\n"; +print conf "# 6 - FastAGI_log\n"; +print conf "# 7 - AST_VDauto_dial_FILL (only for multi-server, this must only be on one server)\n"; +print conf "# 8 - ip_relay (used for blind agent monitoring)\n"; +print conf "# 9 - Timeclock auto logout\n"; +print conf "VARactive_keepalives => $VARactive_keepalives\n"; +print conf "\n"; +print conf "# Asterisk version VICIDIAL is installed for\n"; +print conf "VARasterisk_version => $VARasterisk_version\n"; +print conf "\n"; +print conf "# FTP recording archive connection information\n"; +print conf "VARFTP_host => $VARFTP_host\n"; +print conf "VARFTP_user => $VARFTP_user\n"; +print conf "VARFTP_pass => $VARFTP_pass\n"; +print conf "VARFTP_port => $VARFTP_port\n"; +print conf "VARFTP_dir => $VARFTP_dir\n"; +print conf "VARHTTP_path => $VARHTTP_path\n"; +print conf "\n"; +print conf "# REPORT server connection information\n"; +print conf "VARREPORT_host => $VARREPORT_host\n"; +print conf "VARREPORT_user => $VARREPORT_user\n"; +print conf "VARREPORT_pass => $VARREPORT_pass\n"; +print conf "VARREPORT_port => $VARREPORT_port\n"; +print conf "VARREPORT_dir => $VARREPORT_dir\n"; +print conf "\n"; +print conf "# Settings for FastAGI logging server\n"; +print conf "VARfastagi_log_min_servers => $VARfastagi_log_min_servers\n"; +print conf "VARfastagi_log_max_servers => $VARfastagi_log_max_servers\n"; +print conf "VARfastagi_log_min_spare_servers => $VARfastagi_log_min_spare_servers\n"; +print conf "VARfastagi_log_max_spare_servers => $VARfastagi_log_max_spare_servers\n"; +print conf "VARfastagi_log_max_requests => $VARfastagi_log_max_requests\n"; +print conf "VARfastagi_log_checkfordead => $VARfastagi_log_checkfordead\n"; +print conf "VARfastagi_log_checkforwait => $VARfastagi_log_checkforwait\n"; +close(conf); + + +print "\nSTARTING ASTGUICLIENT INSTALLATION PHASE...\n"; + +if ($WEBONLY < 1) + { + print "Creating $PATHhome/LEADS_IN/DONE directories...\n"; + `mkdir -p $PATHhome/libs`; + `mkdir -p $PATHhome/libs/Asterisk`; + `mkdir -p $PATHhome/LEADS_IN`; + `mkdir -p $PATHhome/LEADS_IN/DONE`; + `chmod -R 0766 $PATHhome/LEADS_IN`; + `mkdir -p $PATHhome/VTIGER_IN`; + `mkdir -p $PATHhome/VTIGER_IN/DONE`; + `chmod -R 0766 $PATHhome/VTIGER_IN`; + + print "Creating $PATHmonitor directories...\n"; + `mkdir -p $PATHmonitor`; + `mkdir -p $PATHDONEmonitor`; + `mkdir -p $PATHDONEmonitor/ORIG`; + `mkdir -p $PATHDONEmonitor/GSM`; + `mkdir -p $PATHDONEmonitor/MP3`; + `mkdir -p $PATHDONEmonitor/OGG`; + `mkdir -p $PATHDONEmonitor/FTP`; + `chmod -R 0766 $PATHmonitor`; + `chmod -R 0766 $PATHDONEmonitor`; + + print "Creating $PATHlogs/archive directory for backups...\n"; + `mkdir -p $PATHlogs/archive`; + + print "Copying bin scripts to $PATHhome ...\n"; + `cp -f ./bin/* $PATHhome/`; + + print "Copying libs to $PATHhome ...\n"; + `cp -f ./libs/* $PATHhome/libs`; + `cp -f ./extras/Asterisk.pm $PATHhome/libs/`; + `cp -f ./extras/Asterisk/* $PATHhome/libs/Asterisk/`; + + print "setting cron scripts to executable...\n"; + `chmod 0755 $PATHhome/*`; + + print "Copying extras files to $PATHhome ...\n"; +# `cp -f ./extras/GMT_USA_zip.txt $PATHhome/`; +# `cp -f ./extras/phone_codes_GMT.txt $PATHhome/`; + `cp -f ./extras/MySQL_AST_CREATE_tables.sql $PATHhome/`; + + print "Copying agi-bin scripts to $PATHagi ...\n"; + `cp -f ./agi/* $PATHagi/`; + + print "setting agi-bin scripts to executable...\n"; + `chmod 0755 $PATHagi/*`; + + print "Copying sounds to $PATHsounds...\n"; + `cp -f ./sounds/* $PATHsounds/`; + + print "Copying ip_relay scripts to $PATHhome...\n"; + `cp -fR ./extras/ip_relay $PATHhome/`; + + print "Setting ip_relay scripts to executable...\n"; + `chmod 0755 $PATHhome/ip_relay/relay_control`; + `chmod 0755 $PATHhome/ip_relay/ip_relay_linux_i386`; + `ln -s $PATHhome/ip_relay/ip_relay_linux_i386 $PATHhome/ip_relay/ip_relay`; + `ln -s $PATHhome/ip_relay/ip_relay_linux_i386 /usr/bin/ip_relay`; + `ln -s $PATHhome/ip_relay/ip_relay_linux_i386 /usr/local/bin/ip_relay`; + + print "Starting ip_relay port forwarding for IAX on 40569 and 41569\n"; + `$PATHhome/ip_relay/relay_control start 2>/dev/null 1>&2`; + } +if ($NOWEB < 1) + { + print "Creating $PATHweb web directories...\n"; + `mkdir -p $PATHweb/agc/`; + `mkdir -p $PATHweb/astguiclient/`; + `mkdir -p $PATHweb/vicidial/`; + `mkdir -p $PATHweb/vicidial/ploticus/`; + `mkdir -p $PATHweb/vicidial/agent_reports/`; + `mkdir -p $PATHweb/vicidial/server_reports/`; + + print "Copying web files...\n"; + `cp -f -R ./www/* $PATHweb/`; + + print "setting web scripts to executable...\n"; + `chmod -R 0755 $PATHweb/agc/`; + `chmod -R 0755 $PATHweb/astguiclient/`; + `chmod -R 0755 $PATHweb/vicidial/`; + `chmod 0777 $PATHweb/agc/`; + `chmod 0777 $PATHweb/astguiclient/`; + `chmod 0777 $PATHweb/vicidial/`; + `chmod 0777 $PATHweb/vicidial/ploticus/`; + `chmod 0777 $PATHweb/vicidial/agent_reports/`; + `chmod 0777 $PATHweb/vicidial/server_reports/`; + } + +if ( ($PROMPTcopy_conf_files =~ /y/i) || ($CLIcopy_conf_files =~ /y/i) ) + { + print "Copying sample conf files to /etc/asterisk/...\n"; + `mkdir -p /etc/asterisk`; + if ($VARasterisk_version =~ /^1.2/) + { + `cp -f ./docs/conf_examples/extensions.conf.sample /etc/asterisk/extensions.conf`; + `cp -f ./docs/conf_examples/iax.conf.sample /etc/asterisk/iax.conf`; + `cp -f ./docs/conf_examples/sip.conf.sample /etc/asterisk/sip.conf`; + } + else + { + `cp -f ./docs/conf_examples/extensions.conf.sample-1.4 /etc/asterisk/extensions.conf`; + `cp -f ./docs/conf_examples/iax.conf.sample-1.4 /etc/asterisk/iax.conf`; + `cp -f ./docs/conf_examples/sip.conf.sample-1.4 /etc/asterisk/sip.conf`; + } + `cp -f ./docs/conf_examples/meetme.conf.sample /etc/asterisk/meetme.conf`; + `cp -f ./docs/conf_examples/manager.conf.sample /etc/asterisk/manager.conf`; + `cp -f ./docs/conf_examples/musiconhold.conf.sample /etc/asterisk/musiconhold.conf`; + `cp -f ./docs/conf_examples/voicemail.conf.sample /etc/asterisk/voicemail.conf`; + `cp -f ./docs/conf_examples/logger.conf.sample /etc/asterisk/logger.conf`; + `cp -f ./docs/conf_examples/dnsmgr.conf.sample /etc/asterisk/dnsmgr.conf`; + `cp -f ./docs/conf_examples/features.conf.sample /etc/asterisk/features.conf`; + } + +print "Creating auto-generated placeholder conf files in /etc/asterisk/...\n"; +`echo "[vicidial-auto] ;placeholder for auto-generated extensions conf" > /etc/asterisk/extensions-vicidial.conf`; +`echo "[vicidial-auto] ;placeholder for auto-generated iax conf" > /etc/asterisk/iax-vicidial.conf`; +`echo "[vicidial-auto] ;placeholder for auto-generated sip conf" > /etc/asterisk/sip-vicidial.conf`; +`echo "[vicidial-auto] ;placeholder for auto-generated voicemail conf" > /etc/asterisk/voicemail-vicidial.conf`; + + +### format the new server_ip dialstring for example to use with extensions.conf +$S='*'; +if( $VARserver_ip =~ m/(\S+)\.(\S+)\.(\S+)\.(\S+)/ ) + { + $a = leading_zero($1); + $b = leading_zero($2); + $c = leading_zero($3); + $d = leading_zero($4); + $VARremDIALstr = "$a$S$b$S$c$S$d"; + } + +# print "\nIMPORTANT NOTE!\n"; +# print "\nPlease remember to put these lines in your extensions.conf file:\n"; +# print "exten => _$VARremDIALstr*.,1,Goto(default,\${EXTEN:16},1)\n"; +# print "exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi)\n"; +# print "exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi)\n"; + +print "\nASTGUICLIENT INSTALLATION FINISHED! ENJOY!\n"; + +$secy = time(); $secz = ($secy - $secX); $minz = ($secz/60); # calculate script runtime so far +print "\n - process runtime ($secz sec) ($minz minutes)\n"; + + +exit; + + + +sub leading_zero($) +{ + $_ = $_[0]; + s/^(\d)$/0$1/; + s/^(\d\d)$/0$1/; + return $_; +} # End of the leading_zero() routine. diff --git a/agc_2-X/branches/agc_2.0.5/libs/viciagi.pm b/agc_2-X/branches/agc_2.0.5/libs/viciagi.pm new file mode 100644 index 00000000..60db6af9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/libs/viciagi.pm @@ -0,0 +1,62 @@ +package vicidial; + +# viciagi.pm version 2.0.5 +# +# Experimental library for general vicidial things +# +# This library has not been tested in a production level enviroment. +# +# Copyright (C) 2008 VICIDIAL-GROUP LICENSE: AGPLv2 +# +# CHANGELOG: +# 80326-1115 - First test build + +# Export our symbols +require Exporter; +@ISA = qw(Exporter); +@EXPORT = qw(agi_log); + +# USE FLAGS +use 5.008; +use strict; +use warnings; + +use Asterisk::AGI; + +# function to perform logging for agi scripts +# ARG0 is the logging level of the script (0-3) +# ARG1 is the time stamp to go along with this log +# ARG2 is the name of the script that is currently logging +# ARG3 is the stage that script is currently in +# ARG4 is the log file's name +# ARG5 is the string that is going into the log +# this function does not return a value +sub agi_output { + my $agi_log_level = $_[0]; + my $now_date = $_[1]; + my $script_name = $_[2]; + my $process_stage = $_[3]; + my $log_file_name = $_[4]; + my $log_string = $_[5]; + + my $write_string = "$now_date|$script_name|$process_stage|$log_string"; + + # loggin to STDERR + if ( ( $agi_log_level == '1' ) || ( $agi_log_level == '3' ) ) { + print STDERR "$write_string\n"; + } + + # logging to file + if ( $agi_log_level >= 2 ) { + + # open the log file for writing + my $file_opened = 1; + (open( Lout, ">>$log_file_name" )) || ($file_opened = 0); + if ( $file_opened ) { # if the file was opened print to it and then close + print Lout "$write_string\n"; + close(Lout); + } else { # else print a message to STDERR + print STDERR "Can't open $log_file_name to write $write_string: $!\n"; + } + } +} diff --git a/agc_2-X/branches/agc_2.0.5/libs/vicidial.pm b/agc_2-X/branches/agc_2.0.5/libs/vicidial.pm new file mode 100644 index 00000000..cb2cf6ee --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/libs/vicidial.pm @@ -0,0 +1,682 @@ +package vicidial; + +# vicidial.pm version 2.0.5 +# +# Experimental library for general vicidial things +# +# This library has not been tested in a production level enviroment. +# +# Copyright (C) 2008 VICIDIAL-GROUP LICENSE: AGPLv2 +# +# CHANGELOG: +# 80311-1611 - First test build +# 80324-1435 - Fixed minor issues and tested all functions. +# 80326-1113 - Moved agi_log to the new viciagi.pm library + +# Export our symbols +require Exporter; +@ISA = qw(Exporter); +@EXPORT = qw(get_date_hash_current get_date_hash_value get_now_date load_config_file load_sys_config_db load_server_config_db load_all_servers_config_db); + +# USE FLAGS +use 5.008; +use strict; +use warnings; +use Switch; +use DBI; + +# function to get a date hash that represents the current time +# this function does not take any arguments +# this function returns a reference to a hash with the localtime in it +# the has has the following values: +# 'sec' = the seconds +# 'min' = the minutes +# 'hour' = the hours +# 'Fhour' = the hours with a 0 infront if it it less than 10 +# 'mday' = the day of the month +# 'mon' = the month of the year +# 'year' = the year +# 'wday' = the day of the week +# 'yday' = the day of the year +# 'isdst' = if day light savings time is in effect +sub get_date_hash_current { + return get_date_hash_value(time()); +} + + +# function to get a date hash that represents a time value +# ARG1 a time value in seconds since epoch +# this function returns a reference to a hash with the localtime in it +# the has has the following values: +# 'sec' = the seconds +# 'min' = the minutes +# 'hour' = the hours +# 'Fhour' = the hours with a 0 infront if it it less than 10 +# 'mday' = the day of the month +# 'mon' = the month of the year +# 'year' = the year +# 'wday' = the day of the week +# 'yday' = the day of the year +# 'isdst' = if day light savings time is in effect +sub get_date_hash_value { + # the time to compute + my $time_val = $_[0]; + + # init the hash + my %date_hash = (); + + # assign the values + ( + $date_hash{ 'sec' }, + $date_hash{ 'min' }, + $date_hash{ 'hour' }, + $date_hash{ 'mday' }, + $date_hash{ 'month' }, + $date_hash{ 'year' }, + $date_hash{ 'wday' }, + $date_hash{ 'yday' }, + $date_hash{ 'isdst' } + ) = localtime( $time_val ); + + # make the values more useful + $date_hash{ 'year' } = ( $date_hash{ 'year' } + 1900 ); + $date_hash{ 'month' }++; + if ( $date_hash{ 'month' } < 10 ) { + $date_hash{ 'month' } = "0$date_hash{ 'month' }"; + } + if ( $date_hash{ 'mday' } < 10 ) { + $date_hash{ 'mday' } = "0$date_hash{ 'mday' }"; + } + if ( $date_hash{ 'min' } < 10 ) { + $date_hash{ 'min' } = "0$date_hash{ 'min' }"; + } + if ( $date_hash{ 'sec' } < 10 ) { + $date_hash{ 'sec' } = "0$date_hash{ 'sec' }"; + } + if ( $date_hash{ 'hour' } < 10 ) { + $date_hash{ 'Fhour' } = "0$date_hash{ 'hour' }"; + } else { + $date_hash{ 'Fhour' } = $date_hash{ 'hour' }; + } + + # return the hash + return \%date_hash; +} + + +# function to convert a date hash to a date string +# ARG1 is a reference to a date_hash to convert +# this function returns a reference to a date string +sub get_now_date { + my $date_hash_ref = $_[0]; + my %date_hash = %$date_hash_ref; + + # build the string + my $now_date = + "$date_hash{ 'year' }-$date_hash{ 'month' }-$date_hash{ 'mday' } $date_hash{ 'Fhour' }:$date_hash{ 'min' }:$date_hash{ 'sec' }"; + + return \$now_date; +} + +# function to load the astguicleint config file +# ARG0 the path to the astguiclient config file +# this function returns a reference to a hash with all of the config file values +# the has has the following values: +# 'logs_path' = the path to the log directory +# 'home_path' = the location of the astguiclient scripts +# 'agi_path' = the path to the asteirsk agi directory +# 'web_path' = the path to the apache web directory vicidial is in +# 'sounds_path' = the path to the asterisk sounds directory +# 'monitor_path' = the path to where asterisk stores the recordings +# 'done_monitor_path' = the path to put the recordings after where done compressing them +# 'fagi_log_min_servers' = minimum number of server threads for the FAGI +# 'fagi_log_max_servers' = maximum number of server threads for the FAGI +# 'fagi_log_min_spare_servers' = minimum number of spare server threads for the FAGI +# 'fagi_log_max_spare_servers' = maximum number of spare server threads for the FAGI +# 'fagi_log_max_requests' = maximum number of requests a thread should handle before dieing +# 'fagi_log_checkfordead' = seconds before looking for dead threads to kill +# 'fagi_log_checkforwait' = seconds before looking if the FAGI can kill some waitng threads +# 'server_ip' = IP address of the server +# 'active_keepalives' = which processes should be check to see if they are alive +# 'db_server' = the IP or Hostname of the database server +# 'db_database' = the database that vicidial uses +# 'db_user' = the username that is used to connect to the database +# 'db_pass' = the password that is used to connect to the database +# 'db_port' = the port number to connect to the database +# 'ftp_host' = the IP or Hostname of the ftp server to store the recordings on +# 'ftp_user' = the username that is used to connect to the recording ftp server +# 'ftp_pass' = the password that is used to connect to the recording ftp server +# 'ftp_port' = the port number to connect to the recording ftp server +# 'ftp_dir' = the directory to place the recording into on the recording ftp server +# 'ftp_http_path' = the web address to access the recording that are on the recording ftp server +# 'report_host' = the IP or Hostname of the ftp server to store the reports on +# 'report_user' = the username that is used to connect to the report ftp server +# 'report_pass' = the password that is used to connect to the report ftp server +# 'report_port' = the port number to connect to the report ftp server +# 'report_dir' = the directory to place the reports into on the report ftp server +sub load_config_file { + my $file_path = $_[0]; + + # init the hash + my %config_hash = (); + + $config_hash{ 'logs_path' } = ""; + $config_hash{ 'home_path' } = ""; + $config_hash{ 'agi_path' } = ""; + $config_hash{ 'web_path' } = ""; + $config_hash{ 'sounds_path' } = ""; + $config_hash{ 'monitor_path' } = ""; + $config_hash{ 'done_monitor_path' } = ""; + $config_hash{ 'fagi_log_server-port' } = "4577"; + $config_hash{ 'fagi_log_min_servers' } = ""; + $config_hash{ 'fagi_log_max_servers' } = ""; + $config_hash{ 'fagi_log_min_spare_servers' } = ""; + $config_hash{ 'fagi_log_max_spare_servers' } = ""; + $config_hash{ 'fagi_log_max_requests' } = ""; + $config_hash{ 'fagi_log_checkfordead' } = ""; + $config_hash{ 'fagi_log_checkforwait' } = ""; + $config_hash{ 'fagi_in_server_port' } = "4578"; + $config_hash{ 'fagi_in_min_servers' } = ""; + $config_hash{ 'fagi_in_max_servers' } = ""; + $config_hash{ 'fagi_in_min_spare_servers' } = ""; + $config_hash{ 'fagi_in_max_spare_servers' } = ""; + $config_hash{ 'fagi_in_max_requests' } = ""; + $config_hash{ 'fagi_in_checkfordead' } = ""; + $config_hash{ 'fagi_in_checkforwait' } = ""; + $config_hash{ 'fagi_out_server-port' } = "4579"; + $config_hash{ 'fagi_out_min_servers' } = ""; + $config_hash{ 'fagi_out_max_servers' } = ""; + $config_hash{ 'fagi_out_min_spare_servers' } = ""; + $config_hash{ 'fagi_out_max_spare_servers' } = ""; + $config_hash{ 'fagi_out_max_requests' } = ""; + $config_hash{ 'fagi_out_checkfordead' } = ""; + $config_hash{ 'fagi_out_checkforwait' } = ""; + $config_hash{ 'server_ip' } = ""; + $config_hash{ 'active_keepalives' } = ""; + $config_hash{ 'db_server' } = ""; + $config_hash{ 'db_database' } = ""; + $config_hash{ 'db_user' } = ""; + $config_hash{ 'db_pass' } = ""; + $config_hash{ 'db_port' } = ""; + $config_hash{ 'ftp_host' } = ""; + $config_hash{ 'ftp_user' } = ""; + $config_hash{ 'ftp_pass' } = ""; + $config_hash{ 'ftp_port' } = ""; + $config_hash{ 'ftp_dir' } = ""; + $config_hash{ 'ftp_http_path' } = ""; + $config_hash{ 'report_host' } = ""; + $config_hash{ 'report_user' } = ""; + $config_hash{ 'report_pass' } = ""; + $config_hash{ 'report_port' } = ""; + $config_hash{ 'report_dir' } = ""; + + + # open the config file and read it in + open( CONFIG, "$file_path" ) || die "can't open $file_path: $!\n"; + my @conf = ; + close(CONFIG); + + # loop through the configs and set the apportiate value in the config_hash + my $i = 0; + foreach (@conf) { + my $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + + switch ( $line ) { + # Paths to various directories + case qr/^PATHlogs/ { + $config_hash{ 'logs_path' } = $line; + $config_hash{ 'logs_path' } =~ s/.*=//gi; + } + case qr/^PATHhome/ { + $config_hash{ 'home_path' } = $line; + $config_hash{ 'home_path' } =~ s/.*=//gi; + } + case qr/^PATHagi/ { + $config_hash{ 'agi_path' } = $line; + $config_hash{ 'agi_path' } =~ s/.*=//gi; + } + case qr/^PATHweb/ { + $config_hash{ 'web_path' } = $line; + $config_hash{ 'web_path' } =~ s/.*=//gi; + } + case qr/^PATHsounds/ { + $config_hash{ 'sounds_path' } = $line; + $config_hash{ 'sounds_path' } =~ s/.*=//gi; + } + case qr/^PATHmonitor/ { + $config_hash{ 'monitor_path' } = $line; + $config_hash{ 'monitor_path' } =~ s/.*=//gi; + } + case qr/^PATHDONEmonitor/ { + $config_hash{ 'done_monitor_path' } = $line; + $config_hash{ 'done_monitor_path' } =~ s/.*=//gi; + } + + # FAGI log server settings + case qr/^VARfastagi_log_server_port/ { + $config_hash{ 'fagi_log_server_port' } = $line; + $config_hash{ 'fagi_log_server_port' } =~ s/.*=//gi; + } + case qr/^VARfastagi_log_min_servers/ { + $config_hash{ 'fagi_log_min_servers' } = $line; + $config_hash{ 'fagi_log_min_servers' } =~ s/.*=//gi; + } + case qr/^VARfastagi_log_max_servers/ { + $config_hash{ 'fagi_log_max_servers' } = $line; + $config_hash{ 'fagi_log_max_servers' } =~ s/.*=//gi; + } + case qr/^VARfastagi_log_min_spare_servers/ { + $config_hash{ 'fagi_log_min_spare_servers' } = $line; + $config_hash{ 'fagi_log_min_spare_servers' } =~ s/.*=//gi; + } + case qr/^VARfastagi_log_max_spare_servers/ { + $config_hash{ 'fagi_log_max_spare_servers' } = $line; + $config_hash{ 'fagi_log_max_spare_servers' } =~ s/.*=//gi; + } + case qr/^VARfastagi_log_max_requests/ { + $config_hash{ 'fagi_log_max_requests' } = $line; + $config_hash{ 'fagi_log_max_requests' } =~ s/.*=//gi; + } + case qr/^VARfastagi_log_checkfordead/ { + $config_hash{ 'fagi_log_checkfordead' } = $line; + $config_hash{ 'fagi_log_checkfordead' } =~ s/.*=//gi; + } + case qr/^VARfastagi_log_checkforwait/ { + $config_hash{ 'fagi_log_checkforwait' } = $line; + $config_hash{ 'fagi_log_checkforwait' } =~ s/.*=//gi; + } + + # FAGI inbound server settings + case qr/^VARfastagi_in_server_port/ { + $config_hash{ 'fagi_in_server_port' } = $line; + $config_hash{ 'fagi_in_server_port' } =~ s/.*=//gi; + } + case qr/^VARfastagi_in_min_servers/ { + $config_hash{ 'fagi_in_min_servers' } = $line; + $config_hash{ 'fagi_in_min_servers' } =~ s/.*=//gi; + } + case qr/^VARfastagi_in_max_servers/ { + $config_hash{ 'fagi_in_max_servers' } = $line; + $config_hash{ 'fagi_in_max_servers' } =~ s/.*=//gi; + } + case qr/^VARfastagi_in_min_spare_servers/ { + $config_hash{ 'fagi_in_min_spare_servers' } = $line; + $config_hash{ 'fagi_in_min_spare_servers' } =~ s/.*=//gi; + } + case qr/^VARfastagi_in_max_spare_servers/ { + $config_hash{ 'fagi_in_max_spare_servers' } = $line; + $config_hash{ 'fagi_in_max_spare_servers' } =~ s/.*=//gi; + } + case qr/^VARfastagi_in_max_requests/ { + $config_hash{ 'fagi_in_max_requests' } = $line; + $config_hash{ 'fagi_in_max_requests' } =~ s/.*=//gi; + } + case qr/^VARfastagi_in_checkfordead/ { + $config_hash{ 'fagi_in_checkfordead' } = $line; + $config_hash{ 'fagi_in_checkfordead' } =~ s/.*=//gi; + } + case qr/^VARfastagi_in_checkforwait/ { + $config_hash{ 'fagi_in_checkforwait' } = $line; + $config_hash{ 'fagi_in_checkforwait' } =~ s/.*=//gi; + } + + # FAGI outbound server settings + case qr/^VARfastagi_out_server_port/ { + $config_hash{ 'fagi_out_server_port' } = $line; + $config_hash{ 'fagi_out_server_port' } =~ s/.*=//gi; + } + case qr/^VARfastagi_out_min_servers/ { + $config_hash{ 'fagi_out_min_servers' } = $line; + $config_hash{ 'fagi_out_min_servers' } =~ s/.*=//gi; + } + case qr/^VARfastagi_out_max_servers/ { + $config_hash{ 'fagi_out_max_servers' } = $line; + $config_hash{ 'fagi_out_max_servers' } =~ s/.*=//gi; + } + case qr/^VARfastagi_out_min_spare_servers/ { + $config_hash{ 'fagi_out_min_spare_servers' } = $line; + $config_hash{ 'fagi_out_min_spare_servers' } =~ s/.*=//gi; + } + case qr/^VARfastagi_out_max_spare_servers/ { + $config_hash{ 'fagi_out_max_spare_servers' } = $line; + $config_hash{ 'fagi_out_max_spare_servers' } =~ s/.*=//gi; + } + case qr/^VARfastagi_out_max_requests/ { + $config_hash{ 'fagi_out_max_requests' } = $line; + $config_hash{ 'fagi_out_max_requests' } =~ s/.*=//gi; + } + case qr/^VARfastagi_out_checkfordead/ { + $config_hash{ 'fagi_out_checkfordead' } = $line; + $config_hash{ 'fagi_out_checkfordead' } =~ s/.*=//gi; + } + case qr/^VARfastagi_out_checkforwait/ { + $config_hash{ 'fagi_out_checkforwait' } = $line; + $config_hash{ 'fagi_out_checkforwait' } =~ s/.*=//gi; + } + + # general server settings + case qr/^VARserver_ip/ { + $config_hash{ 'server_ip' } = $line; + $config_hash{ 'server_ip' } =~ s/.*=//gi; + } + case qr/^VARactive_keepalives/ { + $config_hash{ 'active_keepalives' } = $line; + $config_hash{ 'active_keepalives' } =~ s/.*=//gi; + } + + # Database server connection information + case qr/^VARDB_server/ { + $config_hash{ 'db_server' } = $line; + $config_hash{ 'db_server' } =~ s/.*=//gi; + } + case qr/^VARDB_database/ { + $config_hash{ 'db_database' } = $line; + $config_hash{ 'db_database' } =~ s/.*=//gi; + } + case qr/^VARDB_user/ { + $config_hash{ 'db_user' } = $line; + $config_hash{ 'db_user' } =~ s/.*=//gi; + } + case qr/^VARDB_pass/ { + $config_hash{ 'db_pass' } = $line; + $config_hash{ 'db_pass' } =~ s/.*=//gi; + } + case qr/^VARDB_port/ { + $config_hash{ 'db_port' } = $line; + $config_hash{ 'db_port' } =~ s/.*=//gi; + } + + # FTP recording archive connection information + case qr/^VARFTP_host/ { + $config_hash{ 'ftp_host' } = $line; + $config_hash{ 'ftp_host' } =~ s/.*=//gi; + } + case qr/^VARFTP_user/ { + $config_hash{ 'ftp_user' } = $line; + $config_hash{ 'ftp_user' } =~ s/.*=//gi; + } + case qr/^VARFTP_pass/ { + $config_hash{ 'ftp_pass' } = $line; + $config_hash{ 'ftp_pass' } =~ s/.*=//gi; + } + case qr/^VARFTP_port/ { + $config_hash{ 'ftp_port' } = $line; + $config_hash{ 'ftp_port' } =~ s/.*=//gi; + } + case qr/^VARFTP_dir/ { + $config_hash{ 'ftp_dir' } = $line; + $config_hash{ 'ftp_dir' } =~ s/.*=//gi; + } + case qr/^VARHTTP_path/ { + $config_hash{ 'ftp_http_path' } = $line; + $config_hash{ 'ftp_http_path' } =~ s/.*=//gi; + } + + # REPORT server connection information + case qr/^VARREPORT_host/ { + $config_hash{ 'report_host' } = $line; + $config_hash{ 'report_host' } =~ s/.*=//gi; + } + case qr/^VARREPORT_user/ { + $config_hash{ 'report_user' } = $line; + $config_hash{ 'report_user' } =~ s/.*=//gi; + } + case qr/^VARREPORT_pass/ { + $config_hash{ 'report_pass' } = $line; + $config_hash{ 'report_pass' } =~ s/.*=//gi; + } + case qr/^VARREPORT_port/ { + $config_hash{ 'report_port' } = $line; + $config_hash{ 'report_port' } =~ s/.*=//gi; + } + case qr/^VARREPORT_dir/ { + $config_hash{ 'report_dir' } = $line; + $config_hash{ 'report_dir' } =~ s/.*=//gi; + } + } + $i++; + } + + # return the hash + return \%config_hash; +} + + +# function to load the system configs from the db +# ARG0 is an already connected database handle +# this function returns a hash with the servers configs in it +# the hash has the following values: +# version = the version of astguiclient that is being used +# install_date = the date that the orginal installation was done +# use_utf8 = if to use UTF8 instead of latin characters +# webroot_writable = if to place temp files in the webroot directory +# enable_qm_logging = if to use QueueMetrics +# qm_server_ip = QM servers ip address +# qm_dbname = QM DB name +# qm_login = QM DB username +# qm_pass = QM DB password +# qm_url = url to get to QM +# qm_log_id = the server ID that all VICIDIAL logs will use as an id for each record in QM +# qm_eq_prepend = field from vicidial_list to prepend to the cust. phone number in QM +# vd_agent_disable = if to disable manager actions on agents screens +# allow_sipsak_msgs = if to use sipsak +# admin_home_url = url to go to if you click the HOME link on the top of the admin page +# agent_xfer_weblog = log to a text logfile on the webserver every time call is xfered to agent +sub load_sys_config_db { + my $dbh = $_[0]; + + # init the hash + my %system_hash = (); + + # fetch data from db + my $stmt = +"SELECT version, install_date, use_non_latin, webroot_writable, enable_queuemetrics_logging, queuemetrics_server_ip, queuemetrics_dbname, queuemetrics_login, queuemetrics_pass, queuemetrics_url, queuemetrics_log_id, queuemetrics_eq_prepend, vicidial_agent_disable, allow_sipsak_messages, admin_home_url, enable_agc_xfer_log FROM system_settings LIMIT 1;"; + my $sth = $dbh->prepare($stmt) or die "preparing: ", $dbh->errstr; + $sth->execute or die "executing: $stmt ", $dbh->errstr; + my @ary = $sth->fetchrow_array; + $sth->finish(); + + # assign the hash values + $system_hash{ 'version' } = $ary[0]; # version db field + $system_hash{ 'install_date' } = $ary[1]; # install_date db field + $system_hash{ 'use_utf8' } = $ary[2]; # use_non_latin db field + $system_hash{ 'webroot_writable' } = $ary[3]; # webroot_writable db field + $system_hash{ 'enable_qm_log' } = $ary[4]; # enable_queuemetrics_logging db field + $system_hash{ 'qm_server_ip' } = $ary[5]; # queuemetrics_server_ip db field + $system_hash{ 'qm_dbname' } = $ary[6]; # queuemetrics_dbname db field + $system_hash{ 'qm_login' } = $ary[7]; # queuemetrics_login db field + $system_hash{ 'qm_pass' } = $ary[8]; # queuemetrics_pass db field + $system_hash{ 'qm_url' } = $ary[9]; # queuemetrics_url db field + $system_hash{ 'qm_log_id' } = $ary[10]; # queuemetrics_log_id db field + $system_hash{ 'qm_eq_prepend' } = $ary[11]; # queuemetrics_eq_prepend db field + $system_hash{ 'vd_agent_disable' } = $ary[12]; # vicidial_agent_disable db field + $system_hash{ 'allow_sipsak_msgs' } = $ary[13]; # allow_sipsak_messages db field + $system_hash{ 'admin_home_url' } = $ary[14]; # admin_home_url db field + $system_hash{ 'agent_xfer_weblog' } = $ary[15]; # enable_agc_xfer_log db field + + # run through the hash and set any non-defined keys to "" + for my $sys_key ( keys %system_hash ) { + if ( !defined( $system_hash{ $sys_key } ) ) { + $system_hash{ $sys_key } = ""; + } + } + + # return the hash + return \%system_hash; +} + + +# function to load a servers configs from the db +# ARG0 is the ip of the server to load configs for +# ARG1 is an already connected database handle +# this function returns a reference to a hash with the servers configs in it +# the hash has the following values: +# server_id = the id for the server in the DB +# server_desc = the description of the server +# server_ip = the IP address of the server +# active = if the server is active or not +# ast_version = the version of asterisk used on the server +# max_vd_trunks = the maximum number of trunks vicidial can use on this server +# ast_mgr_host = the telnet host to connect to this servers Asterisk Manager interface +# localhost = what this server thinks localhost should be (usually 127.0.0.1) +# ast_mgr_port = the telnet port to connect to this servers Asterisk Manager interface +# ast_mgr_user = the username for the general connection to the manager interface +# ast_mgr_pass = the secret used to connect to the manager inferface for all of the usernames +# ast_mgr_update_user = the username to run updates from on the manager interface +# ast_mgr_listen_user = the username to listen on the manager interface +# ast_mgr_send_user = the username to send actions on the manager interface +# local_gmt = the gmt offset for this server +# vm_dump_exten = the extension to send voicemail to on this server +# dft_xfer_exten = default extension to send calls to for VICIDIAL auto dialing +# ext_context = the context where to find the vicidial extension +# sys_perf_log = if vicidial should do performance logging for this server +# vd_server_logs = if vicidial should do normal logging for this server +# agi_output = what style of logging should be done for this server +# vd_balance_active = if vicidial should do balanced dialing with this server +# vd_balance_free_trunks = the number of trunks balanced dialing must keep free +sub load_server_config_db { + my $server_ip = $_[0]; + my $dbh = $_[1]; + + # init the hash + my %server_hash = (); + + # fetch data from the DB + my $stmt = "SELECT server_id, server_description, server_ip, active, asterisk_version, max_vicidial_trunks, telnet_host, telnet_port, ASTmgrUSERNAME, ASTmgrSECRET, ASTmgrUSERNAMEupdate, ASTmgrUSERNAMElisten, ASTmgrUSERNAMEsend, local_gmt, voicemail_dump_exten, answer_transfer_agent, ext_context, sys_perf_log, vd_server_logs, agi_output, vicidial_balance_active, balance_trunks_offlimits FROM servers WHERE server_ip = '$server_ip' LIMIT 1;"; + + my $sth = $dbh->prepare($stmt) or die "preparing: ", $dbh->errstr; + $sth->execute or die "executing: $stmt ", $dbh->errstr; + my @ary = $sth->fetchrow_array; + $sth->finish(); + + # assign the hash values + $server_hash{ 'server_id' } = "$ary[0]"; # server_id db field + $server_hash{ 'server_desc' } = "$ary[1]"; # server_description db field + $server_hash{ 'server_ip' } = "$ary[2]"; # server_ip db field + $server_hash{ 'active' } = "$ary[3]"; # active db field + $server_hash{ 'ast_version' } = "$ary[4]"; # asterisk_version db field + $server_hash{ 'max_vd_trunks' } = "$ary[5]"; # max_vicidial_trunks db field + $server_hash{ 'ast_mgr_host' } = "$ary[6]"; # telnet_host db field + $server_hash{ 'ast_mgr_port' } = "$ary[7]"; # telnet_port db field + $server_hash{ 'ast_mgr_user' } = "$ary[8]"; # ASTmgrUSERNAME db field + $server_hash{ 'ast_mgr_pass' } = "$ary[9]"; # ASTmgrSECRET db field + $server_hash{ 'ast_mgr_update_user' } = "$ary[10]"; # ASTmgrUSERNAMEupdate db field + $server_hash{ 'ast_mgr_listen_user' } = "$ary[11]"; # ASTmgrUSERNAMElisten db field + $server_hash{ 'ast_mgr_send_user' } = "$ary[12]"; # ASTmgrUSERNAMEsend db field + $server_hash{ 'local_gmt' } = "$ary[13]"; # local_gmt db field + $server_hash{ 'vm_dump_exten' } = "$ary[14]"; # voicemail_dump_exten db field + $server_hash{ 'dft_xfer_exten' } = "$ary[15]"; # answer_transfer_agent db field + $server_hash{ 'ext_context' } = "$ary[16]"; # ext_context db field + $server_hash{ 'sys_perf_log' } = "$ary[17]"; # sys_perf_log db field + $server_hash{ 'vd_server_logs' } = "$ary[18]"; # vd_server_logs db field + $server_hash{ 'agi_output' } = "$ary[19]"; # agi_output db field + $server_hash{ 'vd_balance_active' } = "$ary[20]"; # vicidial_balance_active db field + $server_hash{ 'vd_balance_free_trunks' } = "$ary[21]"; # balance_trunks_offlimits db field + + # run through the hash and set any non-defined keys to "" + for my $serv_key ( keys %server_hash ) { + if ( !defined( $server_hash{ $serv_key } ) ) { + $server_hash{ $serv_key } = ""; + } + } + + #return the hash + return \%server_hash; +} + + +# function to load all servers configs from the db +# ARG0 is an already connected database handle +# this function returns a reference to a hash of hashes with the servers configs in them +# the first level hash is referneced by the servers IP address +# the second level hash has the following values: +# server_id = the id for the server in the DB +# server_desc = the description of the server +# server_ip = the IP address of the server +# active = if the server is active or not +# ast_version = the version of asterisk used on the server +# max_vd_trunks = the maximum number of trunks vicidial can use on this server +# ast_mgr_host = the telnet host to connect to this servers Asterisk Manager interface +# localhost = what this server thinks localhost should be (usually 127.0.0.1) +# ast_mgr_port = the telnet port to connect to this servers Asterisk Manager interface +# ast_mgr_user = the username for the general connection to the manager interface +# ast_mgr_pass = the secret used to connect to the manager inferface for all of the usernames +# ast_mgr_update_user = the username to run updates from on the manager interface +# ast_mgr_listen_user = the username to listen on the manager interface +# ast_mgr_send_user = the username to send actions on the manager interface +# local_gmt = the gmt offset for this server +# vm_dump_exten = the extension to send voicemail to on this server +# dft_xfer_exten = default extension to send calls to for VICIDIAL auto dialing +# ext_context = the context where to find the vicidial extension +# sys_perf_log = if vicidial should do performance logging for this server +# vd_server_logs = if vicidial should do normal logging for this server +# agi_output = what style of logging should be done for this server +# vd_balance_active = if vicidial should do balanced dialing with this server +# vd_balance_free_trunks = the number of trunks balanced dialing must keep free +sub load_all_servers_config_db { + my $dbh = $_[0]; + + # init the hash + my %all_servers_hash = (); + + # fetch data from the DB + my $stmt = +"SELECT server_id, server_description, server_ip, active, asterisk_version, max_vicidial_trunks, telnet_host, telnet_port, ASTmgrUSERNAME, ASTmgrSECRET, ASTmgrUSERNAMEupdate, ASTmgrUSERNAMElisten, ASTmgrUSERNAMEsend, local_gmt, voicemail_dump_exten, answer_transfer_agent, ext_context, sys_perf_log, vd_server_logs, agi_output, vicidial_balance_active, balance_trunks_offlimits FROM servers;"; + my $sth = $dbh->prepare($stmt) or die "preparing: ", $dbh->errstr; + $sth->execute or die "executing: $stmt ", $dbh->errstr; + + # loop through each of the servers + my $sthrows = $sth->rows; + my $rec_count = 0; + while ( $sthrows > $rec_count ) { + my @ary = $sth->fetchrow_array; + + # get the ip address of the server for refernecing + my $server_ip = "$ary[2]"; + + # assign the hash values + $all_servers_hash{ $server_ip }{ 'server_id' } = "$ary[0]"; # server_id db field + $all_servers_hash{ $server_ip }{ 'server_desc' } = "$ary[1]"; # server_description db field + $all_servers_hash{ $server_ip }{ 'server_ip' } = "$ary[2]"; # server_ip db field + $all_servers_hash{ $server_ip }{ 'active' } = "$ary[3]"; # active db field + $all_servers_hash{ $server_ip }{ 'ast_version' } = "$ary[4]"; # asterisk_version db field + $all_servers_hash{ $server_ip }{ 'max_vd_trunks' } = "$ary[5]"; # max_vicidial_trunks db field + $all_servers_hash{ $server_ip }{ 'ast_mgr_host' } = "$ary[6]"; # telnet_host db field + $all_servers_hash{ $server_ip }{ 'ast_mgr_port' } = "$ary[7]"; # telnet_port db field + $all_servers_hash{ $server_ip }{ 'ast_mgr_user' } = "$ary[8]"; # ASTmgrUSERNAME db field + $all_servers_hash{ $server_ip }{ 'ast_mgr_pass' } = "$ary[9]"; # ASTmgrSECRET db field + $all_servers_hash{ $server_ip }{ 'ast_mgr_update_user' } = "$ary[10]"; # ASTmgrUSERNAMEupdate db field + $all_servers_hash{ $server_ip }{ 'ast_mgr_listen_user' } = "$ary[11]"; # ASTmgrUSERNAMElisten db field + $all_servers_hash{ $server_ip }{ 'ast_mgr_send_user' } = "$ary[12]"; # ASTmgrUSERNAMEsend db field + $all_servers_hash{ $server_ip }{ 'local_gmt' } = "$ary[13]"; # local_gmt db field + $all_servers_hash{ $server_ip }{ 'vm_dump_exten' } = "$ary[14]"; # voicemail_dump_exten db field + $all_servers_hash{ $server_ip }{ 'dft_xfer_exten' } = "$ary[15]"; # answer_transfer_agent db field + $all_servers_hash{ $server_ip }{ 'ext_context' } = "$ary[16]"; # ext_context db field + $all_servers_hash{ $server_ip }{ 'sys_perf_log' } = "$ary[17]"; # sys_perf_log db field + $all_servers_hash{ $server_ip }{ 'vd_server_logs' } = "$ary[18]"; # vd_server_logs db field + $all_servers_hash{ $server_ip }{ 'agi_output' } = "$ary[19]"; # agi_output db field + $all_servers_hash{ $server_ip }{ 'vd_balance_active' } = "$ary[20]"; # vicidial_balance_active db field + $all_servers_hash{ $server_ip }{ 'vd_balance_free_trunks' } = "$ary[21]"; # balance_trunks_offlimits db field + + $rec_count++; + } + + my $all_servers_hash_ref = \%all_servers_hash; + + # run through the hash and set any non-defined keys to "" + for my $serv_ip_key ( keys %$all_servers_hash_ref ) { + for my $serv_key ( keys %{$all_servers_hash_ref->{ $serv_ip_key }} ) { + if ( !defined( $all_servers_hash{ $serv_ip_key }{ $serv_key } ) ) { + $all_servers_hash{ $serv_ip_key }{ $serv_key } = ""; + } + } + } + + $sth->finish(); + + # return the hash of hashes + return \%all_servers_hash; +} + +1; diff --git a/agc_2-X/branches/agc_2.0.5/libs/vicilib-testcode.pl b/agc_2-X/branches/agc_2.0.5/libs/vicilib-testcode.pl new file mode 100644 index 00000000..9ceb06f8 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/libs/vicilib-testcode.pl @@ -0,0 +1,217 @@ +#!/usr/bin/perl + + +# vicilib-testcode.pl version 2.0.5 +# +# This script is designed to test the vicidial.pm library. +# It gets it's settings from the local /etc/astguiclient.conf file. +# and connects the the database specified there in. +# +# This script should be updated anytime anything new is added to the +# vicidial.pm library and should throughly test each functon +# +# Copyright (C) 2008 VICIDIAL-GROUP LICENSE: AGPLv2 +# +# CHANGELOG: +# 80324-1435 - First fully successful run + + +use strict; +use warnings; + +use vicidial; +use viciagi; +use DBI; + +# Test if get_date_hash_current is working +print "Test if get_date_hash_current is working\n"; +print "printing the current time\n"; +my $cur_date_hash_ref = get_date_hash_current(); +my %cur_date_hash = %$cur_date_hash_ref; + +print "cur_date_hash{ 'sec' } = $cur_date_hash{ 'sec' }\n"; +print "cur_date_hash{ 'min' } = $cur_date_hash{ 'min' }\n"; +print "cur_date_hash{ 'hour' } = $cur_date_hash{ 'hour' }\n"; +print "cur_date_hash{ 'mday' } = $cur_date_hash{ 'mday' }\n"; +print "cur_date_hash{ 'month' } = $cur_date_hash{ 'month' }\n"; +print "cur_date_hash{ 'year' } = $cur_date_hash{ 'year' }\n"; +print "cur_date_hash{ 'wday' } = $cur_date_hash{ 'wday' }\n"; +print "cur_date_hash{ 'yday' } = $cur_date_hash{ 'yday' }\n"; +print "cur_date_hash{ 'isdst' } = $cur_date_hash{ 'isdst' }\n"; +print "cur_date_hash{ 'Fhour' } = $cur_date_hash{ 'Fhour' }\n\n"; + + + +# Test if get_date_hash_value is working +print "Test if get_date_hash_value is working\n"; +print "printing the time at the epoch\n"; +my $epoch_date_hash_ref = get_date_hash_value(0); +my %epoch_date_hash = %$epoch_date_hash_ref; + +print "epoch_date_hash{ 'sec' } = $epoch_date_hash{ 'sec' }\n"; +print "epoch_date_hash{ 'min' } = $epoch_date_hash{ 'min' }\n"; +print "epoch_date_hash{ 'hour' } = $epoch_date_hash{ 'hour' }\n"; +print "epoch_date_hash{ 'mday' } = $epoch_date_hash{ 'mday' }\n"; +print "epoch_date_hash{ 'month' } = $epoch_date_hash{ 'month' }\n"; +print "epoch_date_hash{ 'year' } = $epoch_date_hash{ 'year' }\n"; +print "epoch_date_hash{ 'wday' } = $epoch_date_hash{ 'wday' }\n"; +print "epoch_date_hash{ 'yday' } = $epoch_date_hash{ 'yday' }\n"; +print "epoch_date_hash{ 'isdst' } = $epoch_date_hash{ 'isdst' }\n"; +print "epoch_date_hash{ 'Fhour' } = $epoch_date_hash{ 'Fhour' }\n\n"; + + + +# Test if get_now_date is working +print "Test if get_now_date is working\n"; +print "printing the current time as a now_date string\n"; + +my $now_date_str_ref = get_now_date( \%cur_date_hash ); +my $now_date_str = $$now_date_str_ref; + +print "$now_date_str\n\n"; + + +# Test if agi_log is working +agi_output(3, $now_date_str, $0, "test agi_log", "./agi_log_test", "Test if agi_log is working"); + + +# Test if load_config_file is working +print "Test if load_config_file is working\n"; +print "printing the config_hash loaded from /etc/astguiclient.conf\n"; + +my $file_path = "/etc/astguiclient.conf"; + +my $config_hash_ref = load_config_file( $file_path ); +my %config_hash = %$config_hash_ref; + +print "config_hash{ 'logs_path' } = $config_hash{ 'logs_path' }\n"; +print "config_hash{ 'home_path' } = $config_hash{ 'home_path' }\n"; +print "config_hash{ 'agi_path' } = $config_hash{ 'agi_path' }\n"; +print "config_hash{ 'web_path' } = $config_hash{ 'web_path' }\n"; +print "config_hash{ 'sounds_path' } = $config_hash{ 'sounds_path' }\n"; +print "config_hash{ 'monitor_path' } = $config_hash{ 'monitor_path' }\n"; +print "config_hash{ 'done_monitor_path' } = $config_hash{ 'done_monitor_path' }\n"; +print "config_hash{ 'fagi_log_min_servers' } = $config_hash{ 'fagi_log_min_servers' }\n"; +print "config_hash{ 'fagi_log_max_servers' } = $config_hash{ 'fagi_log_max_servers' }\n"; +print "config_hash{ 'fagi_log_min_spare_servers' } = $config_hash{ 'fagi_log_min_spare_servers' }\n"; +print "config_hash{ 'fagi_log_max_spare_servers' } = $config_hash{ 'fagi_log_max_spare_servers' }\n"; +print "config_hash{ 'fagi_log_max_requests' } = $config_hash{ 'fagi_log_max_requests' }\n"; +print "config_hash{ 'fagi_log_checkfordead' } = $config_hash{ 'fagi_log_checkfordead' }\n"; +print "config_hash{ 'fastagi_log_checkforwait' } = $config_hash{ 'fastagi_log_checkforwait' }\n"; +print "config_hash{ 'server_ip' } = $config_hash{ 'server_ip' }\n"; +print "config_hash{ 'active_keepalives' } = $config_hash{ 'active_keepalives' }\n"; +print "config_hash{ 'db_server' } = $config_hash{ 'db_server' }\n"; +print "config_hash{ 'db_database' } = $config_hash{ 'db_database' }\n"; +print "config_hash{ 'db_user' } = $config_hash{ 'db_user' }\n"; +print "config_hash{ 'db_pass' } = $config_hash{ 'db_pass' }\n"; +print "config_hash{ 'db_port' } = $config_hash{ 'db_port' }\n"; +print "config_hash{ 'ftp_host' } = $config_hash{ 'ftp_host' }\n"; +print "config_hash{ 'ftp_user' } = $config_hash{ 'ftp_user' }\n"; +print "config_hash{ 'ftp_pass' } = $config_hash{ 'ftp_pass' }\n"; +print "config_hash{ 'ftp_port' } = $config_hash{ 'ftp_port' }\n"; +print "config_hash{ 'ftp_dir' } = $config_hash{ 'ftp_dir' }\n"; +print "config_hash{ 'ftp_http_path' } = $config_hash{ 'report_host' }\n"; +print "config_hash{ 'report_host' } = $config_hash{ 'report_host' }\n"; +print "config_hash{ 'report_user' } = $config_hash{ 'report_user' }\n"; +print "config_hash{ 'report_pass' } = $config_hash{ 'report_pass' }\n"; +print "config_hash{ 'report_port' } = $config_hash{ 'report_port' }\n"; +print "config_hash{ 'report_dir' } = $config_hash{ 'report_dir' }\n\n"; + +# get a dbconnection for the rest of these routines +my $dbh = DBI->connect( + "DBI:mysql:$config_hash{ 'db_database' }:$config_hash{ 'db_server' }:$config_hash{ 'db_port' }", + "$config_hash{ 'db_user' }", + "$config_hash{ 'db_pass' }" + ) or die "Couldn't connect to database: " . DBI->errstr; + + +# Test if load_sys_config_db is working +print "Test if load_sys_config_db is working\n"; + +my $system_hash_ref = load_sys_config_db( $dbh ); +my %system_hash = %$system_hash_ref; + +print "system_hash{ 'version' } = $system_hash{ 'version' }\n"; +print "system_hash{ 'install_date' } = $system_hash{ 'install_date' }\n"; +print "system_hash{ 'use_utf8' } = $system_hash{ 'use_utf8' }\n"; +print "system_hash{ 'webroot_writable' } = $system_hash{ 'webroot_writable' }\n"; +print "system_hash{ 'enable_qm_log' } = $system_hash{ 'enable_qm_log' }\n"; +print "system_hash{ 'qm_server_ip' } = $system_hash{ 'qm_server_ip' }\n"; +print "system_hash{ 'qm_dbname' } = $system_hash{ 'qm_dbname' }\n"; +print "system_hash{ 'qm_login' } = $system_hash{ 'qm_login' }\n"; +print "system_hash{ 'qm_pass' } = $system_hash{ 'qm_pass' }\n"; +print "system_hash{ 'qm_url' } = $system_hash{ 'qm_url' }\n"; +print "system_hash{ 'qm_log_id' } = $system_hash{ 'qm_log_id' }\n"; +print "system_hash{ 'qm_eq_prepend' } = $system_hash{ 'qm_eq_prepend' }\n"; +print "system_hash{ 'vd_agent_disable' } = $system_hash{ 'vd_agent_disable' }\n"; +print "system_hash{ 'allow_sipsak_msgs' } = $system_hash{ 'allow_sipsak_msgs' }\n"; +print "system_hash{ 'admin_home_url' } = $system_hash{ 'admin_home_url' }\n"; +print "system_hash{ 'agent_xfer_weblog' } = $system_hash{ 'agent_xfer_weblog' }\n\n"; + + + +# Test if load_server_config_db is working +print "Test if load_server_config_db is working\n"; + +my $server_hash_ref = load_server_config_db( $config_hash{ 'server_ip' } , $dbh ); +my %server_hash = %$server_hash_ref; + +print "server_hash{ 'server_id' } = $server_hash{ 'server_id' }\n"; +print "server_hash{ 'server_desc' } = $server_hash{ 'server_desc' }\n"; +print "server_hash{ 'server_ip' } = $server_hash{ 'server_ip' }\n"; +print "server_hash{ 'active' } = $server_hash{ 'active' }\n"; +print "server_hash{ 'ast_version' } = $server_hash{ 'ast_version' }\n"; +print "server_hash{ 'max_vd_trunks' } = $server_hash{ 'max_vd_trunks' }\n"; +print "server_hash{ 'ast_mgr_host' } = $server_hash{ 'ast_mgr_host' }\n"; +print "server_hash{ 'ast_mgr_port' } = $server_hash{ 'ast_mgr_port' }\n"; +print "server_hash{ 'ast_mgr_user' } = $server_hash{ 'ast_mgr_user' }\n"; +print "server_hash{ 'ast_mgr_pass' } = $server_hash{ 'ast_mgr_pass' }\n"; +print "server_hash{ 'ast_mgr_update_user' } = $server_hash{ 'ast_mgr_update_user' }\n"; +print "server_hash{ 'ast_mgr_listen_user' } = $server_hash{ 'ast_mgr_listen_user' }\n"; +print "server_hash{ 'ast_mgr_send_user' } = $server_hash{ 'ast_mgr_send_user' }\n"; +print "server_hash{ 'local_gmt' } = $server_hash{ 'local_gmt' }\n"; +print "server_hash{ 'vm_dump_exten' } = $server_hash{ 'vm_dump_exten' }\n"; +print "server_hash{ 'dft_xfer_exten' } = $server_hash{ 'dft_xfer_exten' }\n"; +print "server_hash{ 'ext_context' } = $server_hash{ 'ext_context' }\n"; +print "server_hash{ 'sys_perf_log' } = $server_hash{ 'sys_perf_log' }\n"; +print "server_hash{ 'vd_server_logs' } = $server_hash{ 'vd_server_logs' }\n"; +print "server_hash{ 'agi_output' } = $server_hash{ 'agi_output' }\n"; +print "server_hash{ 'vd_balance_active' } = $server_hash{ 'vd_balance_active' }\n"; +print "server_hash{ 'vd_balance_free_trunks' } = $server_hash{ 'vd_balance_free_trunks' }\n\n"; + + +print "Test if load_all_servers_config_db is working\n"; + +my $all_servers_hash_ref = load_all_servers_config_db( $dbh ); +my %all_servers_hash = %$all_servers_hash_ref; + +my $hash_size = %all_servers_hash; + +for my $server_ip ( keys %all_servers_hash ) { + # assign the hash values + print "all_servers_hash{ $server_ip }{ 'server_id' } = $all_servers_hash{ $server_ip }{ 'server_id' }\n"; + print "all_servers_hash{ $server_ip }{ 'server_desc' } = $all_servers_hash{ $server_ip }{ 'server_desc' }\n"; + print "all_servers_hash{ $server_ip }{ 'server_ip' } = $all_servers_hash{ $server_ip }{ 'server_ip' }\n"; + print "all_servers_hash{ $server_ip }{ 'active' } = $all_servers_hash{ $server_ip }{ 'active' }\n"; + print "all_servers_hash{ $server_ip }{ 'ast_version' } = $all_servers_hash{ $server_ip }{ 'ast_version' }\n"; + print "all_servers_hash{ $server_ip }{ 'max_vd_trunks' } = $all_servers_hash{ $server_ip }{ 'max_vd_trunks' }\n"; + print "all_servers_hash{ $server_ip }{ 'ast_mgr_host' } = $all_servers_hash{ $server_ip }{ 'ast_mgr_host' }\n"; + print "all_servers_hash{ $server_ip }{ 'ast_mgr_port' } = $all_servers_hash{ $server_ip }{ 'ast_mgr_port' }\n"; + print "all_servers_hash{ $server_ip }{ 'ast_mgr_user' } = $all_servers_hash{ $server_ip }{ 'ast_mgr_user' }\n"; + print "all_servers_hash{ $server_ip }{ 'ast_mgr_pass' } = $all_servers_hash{ $server_ip }{ 'ast_mgr_pass' }\n"; + print "all_servers_hash{ $server_ip }{ 'ast_mgr_update_user' } = $all_servers_hash{ $server_ip }{ 'ast_mgr_update_user' }\n"; + print "all_servers_hash{ $server_ip }{ 'ast_mgr_listen_user' } = $all_servers_hash{ $server_ip }{ 'ast_mgr_listen_user' }\n"; + print "all_servers_hash{ $server_ip }{ 'ast_mgr_send_user' } = $all_servers_hash{ $server_ip }{ 'ast_mgr_send_user' }\n"; + print "all_servers_hash{ $server_ip }{ 'local_gmt' } = $all_servers_hash{ $server_ip }{ 'local_gmt' }\n"; + print "all_servers_hash{ $server_ip }{ 'vm_dump_exten' } = $all_servers_hash{ $server_ip }{ 'vm_dump_exten' }\n"; + print "all_servers_hash{ $server_ip }{ 'dft_xfer_exten' } = $all_servers_hash{ $server_ip }{ 'dft_xfer_exten' }\n"; + print "all_servers_hash{ $server_ip }{ 'ext_context' } = $all_servers_hash{ $server_ip }{ 'ext_context' }\n"; + print "all_servers_hash{ $server_ip }{ 'sys_perf_log' } = $all_servers_hash{ $server_ip }{ 'sys_perf_log' }\n"; + print "all_servers_hash{ $server_ip }{ 'vd_server_logs' } = $all_servers_hash{ $server_ip }{ 'vd_server_logs' }\n"; + print "all_servers_hash{ $server_ip }{ 'agi_output' } = $all_servers_hash{ $server_ip }{ 'agi_output' }\n"; + print "all_servers_hash{ $server_ip }{ 'vd_balance_active' } = $all_servers_hash{ $server_ip }{ 'vd_balance_active' }\n"; + print "all_servers_hash{ $server_ip }{ 'vd_balance_free_trunks' } = $all_servers_hash{ $server_ip }{ 'vd_balance_free_trunks' }\n\n"; + +} + + diff --git a/agc_2-X/branches/agc_2.0.5/sounds/,.wav b/agc_2-X/branches/agc_2.0.5/sounds/,.wav new file mode 100644 index 0000000000000000000000000000000000000000..62565704f20a3de39d1f4e87e150f31e795e70b5 GIT binary patch literal 8044 zcmeIuu?;{_00huu0vj-iP>^U9)RG^a&HzTo9`CNYE8n`zb7_-(+@|xoyCzBXb@;xg vPwF%&$9?=;2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+0D( literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/sounds/0.gsm b/agc_2-X/branches/agc_2.0.5/sounds/0.gsm new file mode 100644 index 0000000000000000000000000000000000000000..8c57c4117ffddedb818b6b0e6b4e15364ce9ea05 GIT binary patch literal 429 zcmV;e0aE_ec#AgtP%`nIJarvX3!dC=Hygf02+C$7Qtm@g*lbiN)p&b5Gw{PSTNpT( zsUwQagC!bO!lPN~;^|d_K3+1L4%K;M{_=SO8q|WPA@L!ZQ^PYT?_trIuwtss;dJ9% zX6My-p#5M?F!<|ASQS*wpO`{5=B9fOL!x^;k(!K+w*$>jzdKhABj3EyYpIJ zN{j8k##CptM-;e@YBS8`h%9_EoZ)Qo9SzUnU7^$rS2Zv1d50FHpU&cv*XhUPW`iCJ zvaS+y`~}`J>_svekPOxKs75}gF|y#KNO(YgUYatxpZP=LB}N-G%Y0}2FknO8vR@q@ zfS3`dlO4=u=AIAx+up+|$vvV!sj`s~rO0Fk<`D}}=RH^9hOl2FcjJ8ezhwd4BuaJm zec@BU-t)bz&m^F%jb2ANJ8^5Ag~Sj>11pT*s>57+*efzMG2SteR3Ni^PQ+eG9ibN4 ztp>Y&7Ep~o<8B&r1xh2!;*Obwh;N|cV>;bRNA5X-D zLxFN_Rp%Z{edM^fG9k}>Pe6=7P8vjw zhr3>*si`y42%)Uu6Kanw5<45e*{5_ZL+O~CqauO*eT~h_h7K_1h|?fy|ZFb*+uLtBV`g@dnK&o|0E!XqHKIqsCN!#N04Y! zSZ)B5c*_!w;Zyr=H^yrggr#OJOQ}b_QlD4dbbK2UBwh-Zd+4Zhv@#lVV!0~VzR^+7 zEzGUq&9W(5Iy)Q?hW#iy2Fx9=94`fy;Lk#6!y|(SNlrke?oO>io-e6%+5vzG%|+ZG zZ6n%Un^YCOVF6^~?(8y#*ibK7s%QZCaRa;|tYnODiwa)Cj6%c_$LL&efj}e(2ex$Y zY?K%_G5ndF_$;_mt<}DOQbY3bM(=gc1AI$l8I3Yd=+w0@f!-u6$gO2>HcgUUP~Hr@ zioC(v3=E9xd?K(F_lsklT4uP7Bd0zPE&zX2;u`a{E6L>4WjsIPf5Ww=a#)FJ@^2i| zI~k-e;udh|9%S3P=4g8_FCk}R^j62C?kDOm{SZYKx&jt?i?Jr!wa`xMnywSQ6~M~0 zCE5MtaLxV?Th+hgcg9Arvye1E5~Ip_t0>#n$vza%UraIHgH^gU&U+ZOzxN1F~2P!>$CnJQq=C zNOYr>CjMEv5;$FFZ%_&VA?Wr+AA%;3 z?PD>b<8s2z83|2)bWcOy6VA_)kp}b+JIahj*vWJ?f$jUm_XfO4?L?UjgH=J`}djK_AW^r=u&8QpZJ0IASXkGJp$`?u#5r&@1Uc>=M*jN%V4&A0`At}(_?1p~1~>8bRe47VD-=-Pw^QW{b|4aplhsC(u#VahShp4HCl z0GHhz?M1b!wl%#PoWYcf?MdB!QqO27%h5=wWz57jK+|DG$fu;~-hA~!l@mJ7AJ6`g z{d%P4LqmrSE{+Yv83?CsN{io@hPmWdnd{B3&|mP6B|gOO?`>;{*W9J7$lRX9Kt0qJ z^&fH-5^fM6|8dWAG>UbYL7$l3Q`{Eoc*t|*QhC>Hd9C`c{E57Xf7p4rShp79W52*p za~JEV1An1166a+cB_C9ezxSz@g4rqC6ZT?&k#6H=?_4Y$amGI1@f>X9?TI-K8#X!_c^EtrbA;%zej=3GP;2#RAcp8D3qO>b=Lcr{`Pr^xX} zq1H`?dF1ur#fcr>OQ4-)?(Zn~i`Z%jYe7 zJDTCLl&{4g-8{6Y{k47p@Q6M@iiDHA3$X#p6zr4{VmEuxOnNRlo3;!X??irhU~Hjo z6L2GJK7wWC_-o)Us?q+H@zi)FV<@GFqp|I2`n=_=r$7EsW;CzFl^yA|1l1KgM_O9k!D}_Z~nv?ypTkNAL$yEkxn35o;}9Rwmp{mTW@*{ zF~<|%l0%$J%x|D<%*&v0Ol#^xER1=WSW0ARvm2i(?-AZ*V1yNTlzyp-Yx@kpjmSc5 z@hFhXX-dZJ0Iu&ddEICUdu?u9LagUgxx8(%i^ObN;!jMW<(B@cpv^# zfmYNxndB$odO!mig0slA+Y=79fGU1?xzl$1hINg@fgP=81ZxTk>AaE;!#?ns;>Qpnok)posU zt+4BPzvfnR*V`w{H}-6sILYL)R%70~ss0~9E7rTkTT9&bWm<8l2L>k*ZBsqts$1{}&HVY3X0@{ezT4oE$)T zW3fKkRq`aq;jXEQzy3SJU&Lg_UV}qAuDT3ZW7^m)z#~VJ=RVqxdF_0nZ!oP1Igm1t z!~^bhY8yfaJ@kr<+q`Ff>_FL2ntvv~4$<#i>X}L8a4#?+$5(QJyw3A5;YJR?E*$-> zt+xN?;01;}YK>CU0)SH&JU+V3k%SCG z%g5ghcRPL$t4#Wb%k%szb4wrFSiGLB>6{d2es8G(hH1nh%m8#~Vl>nkIh}OO49U+a zr=Tl^@3S4`Qti8DmhL?6GUo{Walqwz3GW7H0?C$n>VnZ-)WnRXiFo+F9F{yVDh2X|BQWT6m-5Cm`3i&qzPjISy!<%Y50EFuW=Cly6@ze5emWjkd4+ihE?Mo%$Bsb zoO+u~s%*LIX^Be_RWjPgzE+Q#w8)3x>p-pRDttLSDQ0Vk)-bu**?WhuDs!G_7U6Us zOCB=3AmoS0{Uog~=-GprPjn)_9U`a{)(+OutZ(A?x@%kBH=FDuQ8mf!G{-n)q|em~ zY(w##W#$ooMdV;&Y%d}IS%f(wwk8X@&(YN=v(nRVu{mgsq%GUM&M)S`jG*|K3;Un zZIWBFs$s5bKOs6DPI-YVG+gU%win@Q2o8UNdmXTtc{QRmU{PkZP8!`9H7(Z`f5#nc zyW6pJ{5(C6O$Oh3?s+9x0pSPeJKbH496lG%$~;ML8bCCj?1q55f=2=ue)*_ics=w2 z;|#vF7uh(t6}+|ly{Hq4a}t?B%)BM$CmQ@Xl~+j~Ur9Poeu`KFZACqx{vD=pi4lWw5#L5KHl*J%bHNBxuvx4$# z`o4tiNZG)=0Ty%^e+0eCo#r0FKjrjASRhk}zU3qPd7e6VGS^}|&^}A~W&+1(p}j(t zdnO0_L$48}ju)yBO(|eV9?B$8wy5Vf^7=|Zp5Q)j0{~c*Rzh$C=6kQvG}%@iI+{=w zy91uuPWkZMlpe(ri(^?(T<;96bix~Y5p0~e3&D7H#N05gEwQ7zTLT|UF3*|4Ko8Do z-r08nkaGTtV58Q!u1|#GAOAP16`J1RS)t)+p5!Fpqb_^H$Aey4iSPoq#9ut99C-)p zu(j~_cD83Rc>}*V;x9);>!a3do}GfcoY|54MjJY~+Unp8S`$eH|LFB%mQf4A2ctK- zZfQ4xc^UQ$Cs?3L{cuEYB%0!Fk=FvZtOesmz;1x$Bn@qMIH_@|4|s3gb7im;w6Ev3 oWdc!0oOS(TqcBJf5u?_-xxQQEe$GMibklv=GsS9jmC%&+|5D}*g#Z8m literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/sounds/1.gsm b/agc_2-X/branches/agc_2.0.5/sounds/1.gsm new file mode 100644 index 00000000..7f6c842f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/sounds/1.gsm @@ -0,0 +1 @@ +8z*PScOȪP,r)" +E<7j2h#8誙B,65Cb (Ra.4WFR2) 8z.hK]%Mq]ͷM] %ty\ ,Yc:Sd<,iUK:B.eZ%Vn*䡝QE!t+DC5сWETbok]bcCzՔ.46_M]]Dbv])`]kʜ_uY]UU2Fr.]MtZld]C]6]Y[.jR=_a 뭺_ܭ1Z]r2բ)6A]](,Q]\gS4a&Q2c>v\udI$P`u \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/sounds/1.wav b/agc_2-X/branches/agc_2.0.5/sounds/1.wav new file mode 100644 index 0000000000000000000000000000000000000000..e5f5359a294a5900b1b74f9df930ece805b3e34b GIT binary patch literal 4100 zcmWN{XIN8*0)XL@y%Q3W03jq{g%uLO09C1qs4aC?oGlKlIBK=lxaETG_pAy`{S$SG5H{Jz+e@j5*^rc?M9ClozOeow9R^=z+z} zcqYtBm*C3{^M}2L??VE_QTMOv1*%zrIL=4msuU*_8~|FXq%PkhvN#L`Y_5XPBif7j z-=nU$&WK9tK1mNFP>JV~Ux(YliMFgjIc_|r#eP#P6G^o#_!Mqwp3oe(G)&J4EBv29e zir>l%g)W)oHXYP~KJ80V9_hWTI)trDFUeWVI_hc>?-z%epTJk5SNhJHZaMA|?k0P9 ze^Rz+YMT;UUAhY5C~F!WfU-OgNOpKwqy!$LoY&mb`N46IwLj|&_Y~^9@uGI7rxo!6 zGS&21+N&T!_1yWnnnZD6)&N6PrP>0VBs@l3bfr6^s=Uo?YI(=yWO*^T=?flhm=%xHy75=6ilEsn(=doHf>l9B{L{NVQ0L7o5*}Arz$D zL@ts~Y;78N?ERVa7ij|U+1VA`LtCE+V?OcnyU*3dOO8Nu;!=~v;WvFQTWat!J{Onh zY!lz_IHi`8oEb^Nqmd8ov*Z?~&YgoQ zw@-Rfa=^3!whSfr#v2XRDfo%WW&AvPfgz!#w8fy=i~G!!P#;17&oPK4d;;S-im&Qw z&TFSxI~i9qOL^hX(CDMY%PWQRc5S!MX9tF zkLXRwKqq{I`{_vZ@M=#r^RaMT`fChhcwgJ!k~;S%0*fdPzHt-=_tAE9FR(uO^Ltfa zuJoM?_OJ)I+o`<3w+?EkjG)1DWi9}#@2=w^~cs3doK8-%+kbfX<0$1!yD=)J|gyeT#~1)6Ngr!U+~I= z8Yap+Pw{00bni!837s(NlMsLI%2!KbGvaNHj~+v|6Ph_vE-I5w05nNqxr2$5fvv-Hr5}xaXeZ*T zN2gt8I*5)+x}RCb#M`kQ+NS3tlaQRK?cu|aah|zQ3oU_Fj<3}gxA0rm>K;(t=?zJP z_%F70qYI2hKZ5m{8pZPm;=L7|E4lqV82XV?+@n_>@>gTppb&e9=`Ns;spmU5U-_ALZeQd(lFT+N>TEiyyhb>m{zhqplduncQ2O75yX2iMas1eu(tbVVMKGvVK#sacYv-6EH(lgz8ymH#6nNd zd)RA9WW(33f~J?FzmUiC4kT|T?r~O`)jknA0AFT4AkG!%I&Z|B&RNTc;Kr*@_Z2HI z`ts1*A*HrE#>mjOF;fMj@$z77Ut|4mVqQQQX^KYU62PfGHBKLuMLF;I(q(Og4^?B* z(u{)V5w|@^-8gF*qySmuaSd-6C^Iu??O8EnTEj_tLU*QQgI$b1iT&9>WMP6u;nm6W zxSNp+Wl!svqJ7Rw5!2$A(|jSc`zd4sc@brv|ATa(xm;2M`IK~A_?B}jcv1Zyb&_Wo zUK&yv-VdJF*WsV?W@JmEake9(q0X1Obx0_=4;kgjcFQo0oXLra1gUCAqq6zAflWP= zw3+;+7)rU6{Dc(do@eRu7hD=<;?O8}`X+koc6hg7Z;rAV=R}eFU*0KY0=r(*Bu-D9XgFtHR<4 zk?BB>N^G*aP=%OZeBW459v;P-aw=JfT``o>!0Fgw>!xzzCedyKU2Y6?1!W!edQdF0 zH$CYC16LA@gfrsmfoSa!O}&SY5CT6MHpwL#5oRaPl0A;S&PnV^79G>L;PXh|BmZ?> zaV@|EIJ=Tgg#p^QCQFk-JBJ*_?PFD=(p{^(x6r|`R#^6EamSzC_0DGYhwOy31?bC&}JyaB}9&?`M&MpIuy zB2r6pPR4?s&wblOM@H{KtpqG$yerO$LVp)ql(IHF$xzc=*Z7ATPaK<|VC_U7cR%%( zU>;KhNQ`z(N2Msu_Kf*X*q2s;lk3k6Up5T^2*g&`Z>pmzK?sa}m#t6Q45^WDTW`oW z2X2xtlZrw_*LvXVh&u_KNUlTGA+Osik3}UUu1z{j=7T~zDs%$B8?)ZFqW`MsYkecN zbj-S}iPS0PEz&`Tdz~z=gCDfOZ|H8P#c}3h7}kUs)328Ogo*$rz>j?G<~aLQjT-rIFa{X2v}$cINb-`L+HOJdKY zMn`B&yjDizIVBrc6t|!C8NJfu1>3OSQlFw<=vH^k>0p`1MOBaK;vFN*Fnv(^OiLlJ z;o+{IM)oRee9t)3vS+3K3jbRsZ-vV;e9uW|2`_^h=U_-f=Ww&5-?&eScGfME0`Nm| z=eTz%a?ov`6rvLGxKH-9{t2D&niFJIX5^T#hDl<(o>;qpTn;{qU8zjeuYk(76XReH! z1Q29Z-M_1?p)0sZ*j@+UwhZx_vy+Eo?6Fzewl&la7of?U)|h+@*Sp?Vj!U9X!d4mn z>Uh!iQO~D;$-JKai4&+VPJ9 zZH`r;g%Nv`Ud8A^LQip>vwu6##JQb#lalB6IQ|9J6Bpp2&Ma|3J6(01C=vW9Oo&?R zm_Jmj+TmS**bxK`8%M$&PiVI?iZcqr>QvP&k=YG5%X}_{?m##qKcs=#Mfz~IZ1IbzUA^7=>hX3*j>aFw^J8w zEyr(5u?Y4=w+Y56|tfM5-mjmfj3 zjZHo=Y9sWW{-78y-y2w;@HzKWiVnJKu(~H%y(yT19f7>E&9_X4k8*tJA*S0Y?HH-& z4f^0EF;|%%Ff+V&d}iF~2rC{iP3ttaXh+K^?2Ov@B&8QUQlP`JOrAHdoDAMMov13fwUAjcor-$$sM+_y9^hs90I4Zq@_ptBL`1OA(66Ym)=>&Fu4T%?k=he&NnIu8 zx47!?^C-3Fq4#fmc*JW*C<-UO|I1MW7>anq03p?ir5Jqxqk?6L77zFQx*2E~W-L*;vv4Y#```$Cc!^r4fa- +wCY 藡J,FsͮZx<>_"q- ) *Ƭs Psv_cgβrG$R 埗Y \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/sounds/2.wav b/agc_2-X/branches/agc_2.0.5/sounds/2.wav new file mode 100644 index 0000000000000000000000000000000000000000..c3e9edd97f771d36d77ca1a4cd0958b628209a3f GIT binary patch literal 4018 zcmWNRS6GvW0zk9=Y{-HPLJ|lGAqkMM#aTrhwRKk9RuAMmaaUT=I*L`R zIB`^5xENst5)wuN2>}9u?7eTl^LD=Td=}20G2;#n1X?n+Ab-PmJL8BT5D5GqpRquo zLz6)u2nhe5`DX3TwLkw?y$r{*i_%?mdO$ul(|ZH89r)JpdAq$+1e(Ne$W+JpUFAao zTRSWXx@HtmwrezqDXG+~N=kv{R$rX)JXi;rXxgBDs2`4qNH=F(A@mFvcGV8Q1ucYe z?T>U}({Yj@10~MFME1{ z(@KJkauYN9RoojK;7<&!#V0Vqkq7nT8&X>#gQ`G*&kiD_6P0fOogb4m{IRh z%S7<9IFG21e!x`TyjFVB!j61E5Q2P;XsCo)DX1b9>$f&A+r~M6j>@CnhkbJY0l7yP zax9qH+7Gn{WNKdv9n74DGJ4*E^2u8mi-40VeJxk{60Bk0PN>IN-PGVpd^|ZXe4zWE z`mfc;QIUdEJU+(cz(Ouf69_7(W zGLP_2!>1V_qo0SCBaXQbs&^@u*ppe4b7myzKzQBdff{c$km_yIPVTk)syNo1W1Io+ z_o}SEH?C}WTHvGJJ;(*O^VVdCnB_K6hpLj2vrsP()Hsnz)7x}A~?;zPHacr9R9AAScbwH5XLtSf}i zO-adC(tb7H>DoHDAh;FS;<_|IHO#|)FLGwUNcZ$M*$yos2th>#_K%*hyvK<}>QpDj z(YL>4ye1+1F(M8!!}^(PA+b7nCLa%*(luXlR&yJAnxscga$~$?BA9=cjSj@fPS*SS z=b=`|#7DCH?|oQ&e?m`8w)1Jrs`?bY1NR}WnY1a`qv#W ziWW-Wk%SAcQ3hL=3`+n5wmh)iJnFwle=b6?11?S*wK>o56`D^pKsKlwz(H=7pc#*HOP!@sF|_x!?Fiow=QRt)C$d zLT6Z&22+@y@Iz)fYnSa_+cNnh>ml?t)LHjL%PQ#R1iUz!`q;3ti6>j&*p92gT@R9- znZSK(Oo#f=b*@ho;5e37RTQa}yG zE&;>3&eoQ84*}aa)$!d(iaQvZMVu222|QJNQGZF=Wb`F`wDwQ zj*7E9IJrMKBns33F4uewR1*w!@se|n$9?14*Rxprz&jNl;&RCKdK zzY(dJzdY%#A0sLgYZB+c-gXM>>r`cs^VDO6?}CxuF-#eI4=X2_D6gp1^rfS8tf!QF zAdWW=)e_5~qFjB_+M#jWXo6*_19!QV?VgSek1e< zH;8_36i8F0&Gu?meHx#2F|^;b&9eigh8K;&WXBXv|G~s1ncp&wdhx?Its}5)FsKo# zY*5!jTZERZ#WB_)>kdHcVH3;vFgfWZSLQj1!T+>{!XzLQjLT{c|f zE2DV6Oq3W5dXDUo~TK<{K{G&*-Rc`)o{)_=G0=V$Il4 zBy)=RI`c2vnbs4nH;rg)96=14=#YWZ89w136#S@4vZ?if^)T@sB@QliUjyHbxx>xE z#SDI5_du#}-KRA&PoXuQdEvz9M&<`(R$q1PTKV?iiMYoJ*%3hxFCf6Lp!9*Ys@HX- z?t{QiUU8BoVyJpS=rB=LkHuP`IQs0Z72dzeZeUvZ# zU*RbfbnFkqir_dT&ihlZy(4J0(C=qY7OaL%8vJ`;ndc@T_bK~Nspq=W<7ea~^L`1k zdrNz_INt%Qg1-%~9iW8t9C%JV`<#oa{HLqg&P3?IIP>p@V(7}mx{TNK-%S0|I|{9X zh^a!9JKHQ(a8_cYNKInt=QZx@*y8r!nu;VqH`V$IPKt?7<<$?0t z#}LO@H`u#jqVC+ z71|}N^;s7Z)`mNV`%Og<3B2DL(*^6E?w_7W$k`Ns*lX7QJF+;006Ogvy=@vD?)wp3k4ctqY44#q}ah7JLP5 z4Q|9A_SQrSIA<6lFRIN~CmMK)CC3#;RfoRvp2OgoSIF0GzGivDqY)WtQ{pn}u`u6# z5B@8q8h6cjxcPFE%A%mpNv6?DLk9b1FrQ#Y%`|j3)7o(!ctVp{PXEhKG3k73F{^-; zBjmP%t~3yj|1jf7%ng@K&vht)j}XZSUD4CmiCB_)I+H@7TTW;-rUQ`M5b2nu=Ysx7 zHfAVAEDWfh(XmZm3??C{ZtXDJIi8Y{P85!Z zHg&_Lj-dc_8g^mut{LphrX`C#oPB@Ud5cAgcZ*iyZ=3T+c)k(DoZ!9w*pBnV@lg{qpNsBdUW`=qTOFqXP4Lao zfu3>;HYPcHD7hARt~IN8);q9LQ0nNo{)z6JOhI-l{2LLclzXjz;|Xd@Nq z&o_MAmgj6CrIN2hDQ+!Pz*xeyV$_;fwOeJiz8myov1sIa&j)ZH039pe^p&;A;Yj(h-{11+E`d*-=06qY@vWbDgKXb(l_ko^NC4myON3eS|MXtCJ?6 zc3FvbIdBCt%RR4)Ae}PSOs&b-%%{Uiqa9;!!@Y=CuJx)Bh0lJAm6-F9R|0Aocsz8& z{{p~zc5AxSF5fneECS1_g1_Lu%J@LJZ1A;~cWw7P$6N$7whHS%sH!A}C>fut%Wr(rnc?3{pkkMK7dp9^ zyu^)3ImoFhU!A-wCH$09Li{_l+oMBAu^-3Z0^L`fsYR)G0@cha%0}=>&opFRY;KIw zOO!R&y0k&8k=q=59vbWBLD!QHlG+?bX}DqMFgki_GAHgeq|u%nnv4r!t1R=|a4m4l zh1dmY!MIbP95dPzM!rTqH08?b>%on K2d#)V-v0w3v(Uo; literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/sounds/3.gsm b/agc_2-X/branches/agc_2.0.5/sounds/3.gsm new file mode 100644 index 00000000..a41d6679 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/sounds/3.gsm @@ -0,0 +1,2 @@ +;=PW1W#X [r)d[K%7 +$c#2+)UBV4F¬SC{4[Hnpޥꕷbªσ`gC?=W n(*En,{Q6qR=!Ʈ\b#V) h~R=ѓ \%.kn\R=pzr>ܙ=$u R=ρfGϠȵj&ayC<·+61㍂aϣpK;WClRLJ$=Rf%>##xwb LM}bj&V:3k+[? kS%vAbÝ97qݑ \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/sounds/3.wav b/agc_2-X/branches/agc_2.0.5/sounds/3.wav new file mode 100644 index 0000000000000000000000000000000000000000..bc37ff5d389bdaf8bb4566cfaaba19a938ba7bb1 GIT binary patch literal 4046 zcmW-hcUaVg~*~xpT43r^`ZY($E-xI0rc#_&vwNIA)uw zlIl!Iv=Apu#}}dzq`7i8r`hsz9b{OA*0WAU4!9;^%?$6@DS~VZsuncSTzevv!CM?= z>`(sAlyV_vap)5|jGiHa06jbO1GYqZBcn{T$(GohI4UgPSMf^jP{jd#dK3Rs$aqQKhp&|3O2;U=f?M&w8=$j4lQ_%6-Tp`PX1C zBF@K7;E!0kR7;GfFbRDx@mFXUc8lXoj1Wn!vvu^=CGJ8}t@qT(2JEs(njR^hZ2Px? z+%xEV6nw|Av9B1ND0eAmh}aIWZPrLgP=h~q@Lc;7WM@=Q#&!V}nAblUz8_lbQnizt z0+D|ew^A2#9AK$cANYp!9;$2T(o5k(a#cbltpJ{ZouTAK<~U`#MBOJaRq|DogV>5J z58B6D##(RRrc!Bp;4r>~zdCR=x{f@mDC3n_X{w`!VI+%LK~-W>>;`jH!V%#W>pP9T zslwGy`7|ie&cVtA#i`ZeskWkeerJStcGz6_`rs+_f^@p_g?NSCZGs1DahZY7KLVXN z^i#!BWvFPtS=r5WZVcY!`Nv$^JPT$;Y0_8m3c>XsCwuFO#}T$Ew_X6RQyfZK##F+O z!B>Pm)H^_&VV$lR@<>*WX{9g_w!etEhaqyDS2MIfLP^30;`t$dq>_*$iRA9K%~LJc zmB9t<`HU(r8EcHJ9`jH@uqoB=jCW93q&5r!@Ypi$+T`Qna@+s(?$%%27m4wnFF(#h zbHr0Jc1jM|3!2({pZjj(m)VFtXAz40iBcq<>|EAaKYAf3&|loYw>1@3D~2=lg1f-x z!A0n)u$Nd(o1&o$TA?7NF65{nspBEOg8T~FZJexEKql$C_{FpinB+D`7-(Ca8?`1) z2UsCmD$gS(qT_=L1tVAeze( zjf)d|Y}2*3n*YXTkYD3oTL5I6fRI)z`QAQkoZ2Px9t<4|Uhd~0mn3(UJ0-K6tJ?@e z(g0#$-q7-nE$}gUt#Y!+2psC24Mc?mdlI^4HgTZ^3Ss&_-eG9f=yrd5xC6nOnhbw~ zuVio{gBgKLhcih-5e&%^-TE zH+b=mx2hT)0P$I8X=G0}%BADRP7r-(-=ulaun?6*0KsWa33`#+mwZ{W*ukuCZ5!); zOW2D+L;DfA_=}7~Qj(Ktn$kbrZwgAZcA60=UG|IePcZ|0-PL8if-m;1>h+i~5S6db z*d~|>6%LJettQlCyIOh1Ss+(VN-?tM!DF0%gp8x^hUCWg+ElPpa%Ak=h-*l-=Q`~) z;}c+x_PVA4&Gng<80R7=E+(p?Z;by`e8zEK>u9)zlvCpIf7@>%T;9ag zds4iUVl=dGbf*vi#5_0!-Yha_R7tad87)ZzxBZf!<)ive6X=mr#&4Dopv&DpTV8OD zx1&3``6{qRW=<~`OoZPI(>>M1tyoFRdc$sKyHt@}$gV(CKyO$lbv;~KpRYaYyd*w6 zW>JI$HF;YY51F;V4sDYfbq4YCB_&}Zv?x?8dCt>0`_wI(R^S!ucjg4&RP-hF@t6UT z$hlT?zupI_BbF1~U5Op z)DSe4&L9rPofBA&&Lb(JRl@7eBbwFvLfQ)JbTApU%F*E&``&|{Soj+KXj_4N~4k6~{J(e7hIo1k8SJAJPF9eB`m zqSxv*;GbIOm=^}={|3`!XNTmc44)_!**r8ITSw?}f7*V{ z@RcK2`YOfG-HX&aLPDNWNvNYCU-Q(?5w(o%p!K7d+*cyMWzL1j`b%nyoyLD5yF|=F zAv|7a;cWxmnm%=fb0TX3XJWtsG>3d7=AzgDBx_gb&w!I6^GF1w2R_M&O6-yqf)4$- zrX9!v(t!W((d$qSuOm&V7zV#-%IcDO@@Am8oj&X+d2!YqaTqQ-3gXlUR4HpOW zimA#S(pp40xC-77_MNx9Q*3->`yl=)b+h0Wdd4;waFX%{`=zN_W3$c` z)g-u>2x>t8qI59sAa27Z)oj~M-k7KoayS+r_!lpiR}Sm7|Ejq5-&nu$nD}O-ikKQz zC9Z)gwG~>vb1bc!+KQ>+x3tWJ^JJ8Rn{>#{C*_VNVyI50jzagt{bR(N6e*_D9Vwdl;jVk>vBktEtSmKV@s-e|3)xD&Pub zd)P}L6*|U@PKFg#Fx`00WJ2~4Xr7@VDbUL6Pya1y8$xes>{fdo;xE{-F1KTh@U`-& zVkVksP8j_;a1QR-K)mUw?TtvRTq%8u_J1%S*9bn(+m3(q`>YQ|?i8-zYmDXi5&WWL69E@@;f>p6Pf&|i1bn#tWS?+a&Qok4j5mS8-xRJTO6-xk1p z%$XHffV>Z%8_krmkW8IJ+wD+9l#p}K&*4^D_PFPYQY5cFztIY937-{^V(A6MoQSmE zs5{7^rd=JiE@OxtlJ_Z{(E?Y-x6wz@)g8DGS-4k$<3B!a{le}NZd9t}IP9N(rE^C} zzi(^zZsRxB0@0kbUePKn!P4o=Cx7ie-GXYqu=oW2aTT0p*l+N(@Ue^-?3B?|x8G90 z6UID`$iU9{FR_QXcI248tZvkTu-*#~hUk&?Vcjx~cn)$~m#Rs%ucn!4(>yh>k6Jpm zS`H%b^&$02U<3J1$T`P3a11j$#UGW8E^RDn$wuFY<+yS`oN;FJ#%2^pBk1|o!rpD( z1$c(-Rp(}Vm0-29TCp7a*nQtJ17Cp4?4Qu|)cQgAEWK1pa$On@brlgiJeS&M>TRRZ z!j;K4`Bj+Dc{8LUveWfv<5|@YqeuDPxcQ7XSf6_p4Po2S-G;2X+ZF>mNcMr4fYO3b ziZVpU(VuiPRYA6B#%%U>+?U8jQcCP1*+z7)euHkG!$t8Bm%!gbPiO&2JEG2`V~pO$ zB&eJy^ZzwsagO6urx9bwn838B%jgOWxd}|`G1wpTF=ckN3L|#?GK33A417E!ZNaR3 zVT|%;d7^9Hpbeykedil*K2`4=O%(Q}UKhz+8*O<35M_gVm+5!)XQKxG_;H==wXRH* zNy%p}aGf#c*AarW8LTh!SCs(r1xFZ zM((;_gs<_QXv@{2BP0A{NvZq-mlWI`mO#&Omo%oRz8l%b?T9U*f5hZoJhO=V8}_9k zvMz2kmenlYK==~99jp=eh_kR!-AmO%>%WoPncMvP;1V)r3@D$0ePtl%*EvA)r-Yxt z3*bijgru|4h1m0kGtEBeFTxJ*hT#>Ces*rUF{Z%fY1v{HxyysQ95l1u=HvYzIe|t* literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/sounds/4.gsm b/agc_2-X/branches/agc_2.0.5/sounds/4.gsm new file mode 100644 index 00000000..d2bae3f8 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/sounds/4.gsm @@ -0,0 +1,2 @@ +8PRW\-elG'XVb,b*V rK"bTJ5~aȋf9ZTȁ`IZ^8nYZ2!Qhzk*"xS8nƸ*"fsSzCdփHΡQTmqZsb=iB +Vbc #meTQJeS;4UQ\H'k JX+ 82U" #9k:'Q "I.Sc"7оRr%ڜD~V΢e Vqr!EKi}9EiUELyXz9#3ȭrQ Ysq[HܘaM2 \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/sounds/4.wav b/agc_2-X/branches/agc_2.0.5/sounds/4.wav new file mode 100644 index 0000000000000000000000000000000000000000..05f1adf82f2799a28bc85b85eee27935ab5975da GIT binary patch literal 3990 zcmWNSXsYmF%T+Twwpy*#R%^9Z z+P%tVsjXaXohsmkqTm4vawrIL$_?*+&$s9Ie1D4P&zW-?4+1SO`f&EA+xMgrK_C$L zKi*9NfeuXvf#N{%|Cx;&_H5YvU-f%zGiyshGkbL$-%vKR%W(*j2=5FO*uHhwV777= zWUa(4GbA;)wnAJ*iDKTvloOCayI~v|mBFt@xz_Krz}PJ84*n5gI%St7Dxcea)258C zO35V$K{>u7Q43}z-WM_t=5-#?HzMcfN+fJXp6hERu_u3=kE|sa;hzT{2XfG4#(RmX zsJ(BV^t)aPWFTvwSd=^?&^T1CyXVov{)J9Vi0w%KUqnI{CnE*6rQiDYq|z4pnkD6R zCZ3MejVT?KF*^M7&@J=vp)^-JnUjAgcQ-~c)F7?tT06m^wx(_-+=*PCxB&`bN6?iM z|MZ{iI%26va0{OZX$gYSQpLXBe>{(|F9~~~OZ?2pGu(XUQu4NmIo%bq>$-AmdEO); zKsoLFUXyJ|52OP2IEN=;e0pRrEtX|XSs%((LL2M*v*1~oALk5`YJAz&s4D_q2D{>m z8m14g3yw0TiSBX_fTyXaHm~X9#f~u)DFawVfa*g*mfTZU5VXnd2iqY^WTwg5JAuZ zx4`)}PRl%+1)>!@r?eF}-!ja=-^pp`&c}sZ$rhg{1nGuM^?WeA+SdCVeZGsn*|6u>3CIG=V9&gMaHNQhnDlvOU39pY*%2F_AGbB(2OK3P z@t=wFk+PG{Bgm$`t*M<0yg=&5lE>VYP=sM)|4eHhcpSlv0j`(snaCcVyIxBP(EMW$k(hfV$r_*v>w+OJ^5Akb2* zw#OjcKmjl9Wyq=R9@yx33UwhahtE0>`%E}3+nqiOsM3m>iaVSA!qji`Zl*+H4VGG~ zF$je(jNP?qhl`v~3GedpxwG)IhNnvZ>VUZ6)LgcM5{td#$qG3Ur_etK&J8v9a7Gu$ z>jfh5Qp!|ob-P|!=QLq=Q_M(8C?Uv4`ly>p+CV`4T7GAci+YoLQH)M}*L|`dHu%g_ z0ce0klEzo#)nwI*y~Twpg6t3rSW7lEM;B50nc0~PA)j$*n_+>=*=nWp!*8hU+x7I7>2 z0lXowGW;4dKs$lI?UZ$STX~~jkamcU=l@8UYW<)3s$LOLBL9N_?qB4x$7*QjIo0%K zo|=xlW|BT0TgdyK2M`yz7n`cacY-Qlpa5euVMH4}mmn&XSZ~ut zup9k_r_A#kxCK=P_Kga9 zAL*t+zUQ_`5NTU{IAwNQlBo_}M>|TK1}6K3;6B1;N)@DPIMi09x*4wE6cx_SD2awN zZR%p{DF_>LF|OD9dcuHgPqCzxBdhcj>A&p+FFYlZA5K38L65F9DZSI7<#DO*AIygx z_pzev+x**ve@!1sQ``O>-%VMZxr>2>TysUeDp4sdv?rrPc>zD_KG1oy&9&oT3 zSIc^ytODKd6E`KP+F~a;Kj#0+TphY)WQ;uW?}U8|n&K!QK~5x)SM$@el)!w=)yAz| zb^i5CF!yJwFiLY?@zue|h@<|6`ak+skH14cFB}paz)vyEZdu-a-n$}UQ{sBeq0s)o zR$v$D3jUJ!pn7HdBhya855lveF4EW-w1=QsGC@Y|Mkhw$-pWWY;Xzt4J>CDTE6^k! z+>P4IqY99eT2I;Vozc(3wXo9YL)&i4_VBu-aCBSuD z30#AJ34iI{Gk8|B*XL*6Dma#7g0AVWlCA3B9yw24OSdB~1uBDoBZZ_e>JNKcS6!!P z{8Hj-$k%mUatx0n4nke zhJrb4WYDUtmG9S0f{i7u_fgn}TAW8FnS{v()YATc#rUj&`RL%RD7Ilz9(!W~5qI>(GEF!}NZo^&dwWauMef zULc`(bc4(;uO9P}rewnTj`>3lML%y3myx@7JrIbla^N@D_Xtyuts#KNoeGd7QZs za$U=lPU^lLUX}4yq+#Ks^9(!mF?SWT1p3DN*2?#;h=0U=!d-@%KNR1zNYUf1WKeU4 z85ck+#%ZojP$xVue9dgqK1eBYC0Xcc+~wOGXmQqU(HRU6n}{iYYkN2Jzg9I|{G&R~aBf zW1g$@T+tUiGtjHKD_x@+49=%5NfzV&4yk-aP=5Rj^c?qgbxYS0+al^gF+TqwZrCX3 z{CdFP@5Zgidq7Kk+oDwB+T_UzWv=+nW|_$dA_N77yeL6!&({8Aj)hRb1(3y=VxI>} zVASMHW|mBpE9N(y96W_g<_fYtAiVS{tS`O$p>Ws=Po`crJR{;uT_!HiD2+6B7fDIl z49G>sJZ20zGqA@$2Fr@CgWniacfVB)Oq@yGRQM=oD-^9=q4-S4i2WNc#Uf&vzO`{v z$Y+^MEYD(VZEADapCrB~7Uq18Tt8B->9IVD)dEYRfJ5xehUc=*XU`@#j0NR3Y3&F* zVGd85aR9Z&`Nmq|N5WRb{pz@?t2AGOZOObZ8fOyR&Fwqob;gsZnw0890(_<~HCT;M z;EsXyCTCZs=4TL%D=fU7{$=olO0B3iOQC`UKe{hW_Zwg;>cOOoup9b~a*1+QU}?Im z;6z3Y^uE4FQ#EdgI{-9=J{~{n;b21S*O{r~@+Nos_bj!z{$ zfENWkq5GKM6U!3TOw@PFofsj`fS&N9qCk92;%ltNhF93z zOA7#^VMNYrj z=9(GzA=K?P7&ndFiaVU1EqsvT@R~c|(yO{mWP}Ax%|SIx{OSECPKmC8?6bzJO&VF` zIa?$7ljDyJsVdtD!?PjjluZN%`0#%(-c9_S_6(q!=d}ISbznls8kYcBs)Vsi9 z0+pg}f){(*Jt9PF%JGbPT+q}m)wN6==Oq>h$}+NnOJn2a@4WM&in#l(YsQN<5$YnB zESN#97?a2wF)Z#ZJ;MXg=8Sg&Ryu z<=ms)0y$hW{5JR~k{n#B7pl>gjQDy%muN59IGWU^=z8JA;D4fpF}(1{fiS$CTuS^V zu(B_u6``Y{Pv^HZrZ@su&1~ZKr9q!@`vqI* zI{zQWla`*49VU&CYljK4UiR2EAIe!hd0tE*GceWux)B^({r}?0_r5OU*#e2y#MCk$IHeIKIoPG`4q)7LiHfck-9VKOHSp zy+8C_K!=(@OazyBLa|KhJM3iYh?}6;*DTkc!A1Ck{B8o=#WsL#r=xdazXhjSr&@He zhsh$rd{%2f-MPJKgEkX5onFYkiEH&uIKK)%M3h2n9YX`ZXthBD%T-XxodUkDu9us% z$3YF$cus-gW4!1xya6gh{vGz>}J8!i7A8z^7f&c&j literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/sounds/5.gsm b/agc_2-X/branches/agc_2.0.5/sounds/5.gsm new file mode 100644 index 00000000..239c7aca --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/sounds/5.gsm @@ -0,0 +1 @@ +xj=P3cWcT qFܚ$DVD%CHxS&TxD?4A9E'ڸU2r [Syqxb)FoZaXVJGsdKb;$j)}V7_ZNLPDB~2J|!9&-DEZT`mx0 z-DIq^9#FB(2B-*re&U~zFDyr>CqBZ~||P_yhZk=Xl@}8Ns0wYP4U9bGs^h`}xO&Q)zi%qpGP6mCP&BEJgpE(ilvJJiI(9Dyleb2;vMD_ z`L-)#WNPjWbpcdgS`<`2q zAAZ6ksb*Ocn{*j!ydXg z;0^RULWXaWVn@fYekXlJ_65Na0H_*d$Z6gx94i z67o^irU=Vj$Z1rUt5i8v(eC}5UzW?_=XaJm^Ns6iNcPR(iR0V61>SEt3(y77k#+LZ{REKpJ{NDoKfR{8c3~Mo~QkIMEkW8arv?dH33{WX*{9T{JEx=1- zV%Q1~sq0y5`2pbIRlo|3-kz?;OsbMn~->=^?W)lL2;WVx3! zR%x*l)(IC13((sK>cwqJC?b(L7On_1da`g??BleBwySNQx0p=Y$dt6a=(OOF=_eP6 zL;(*>d3|SxrXX8|>$CUKv&LmT-;c%wNf>)TY~JjwCZ9{W6Tc?(uA9-M9jU-YaOP64 z24!v{W^)9JINMkuY3fJ?&&O&q6s&vhqxyW?$A}8pBU9_ZK^=~O$k;EMO;|p%v-9w% z6tX1j5;V)6?Wv;XCQ~?zT=i{X;tIn|%0a$_c0OaY$-%edbxl z&ov z-=yvzTUQ&B@Fa#7jrP!kwUoEqDuPX$CU$mg@B*=?Q>v(cfsZWfgZnXqyOvMVY~?c4B6m(G=A3iHVR0e&T-pnB(Eg*%_qq^)@vN#9S!_R;+rGQ z19uqqXn2S3{6Knpg8nMqn8i!kge=p{A1QP016~J~j%hXbg5i8oRwo;3DQ>&jJk0aM4-iYtU_SvbiptAnGD^M)n6K&dlp_^yf!>rH~@ zDk6uCmd@1!iJnzq{m9F%B&P#+Bko4rA23Mow1!WW$(V^)e-st*k!vdCX87M>={8B% zqYkqT7xQKIblx%FtkGo#Phcug;)1D{>EEK~39~Xw$XC^GCCLh7z)$)IH{UzSy&>!a z@B8T8UT#-?BT}=BbUJBX^j_Fh`%iuVKNYjUOp`ifxBS}@*X7)0Uw6D5T&&#{U?Ev< zu3l$m5pz=~r!K+dC|qLL&^T-ZqmJ;>@AQcAif9}|W!v1gsd>maCvtJ>Y4*n8u=%`u zIl35lYg{9P4^;z0!VlR4^sD2Yy*t#U!D(ot&u%>HKv0xIRAMl6QMyeWJ^BPoWnUwQ z0vA1G+=a+B#C+rNR&o1j*Hhk;jBBhCkIWG5i~t5j zpgH)5q3^5*J#T2U1$xd_m%r`4IMR?sKF#}*$_o7Met-&4<1zPj0?BOIrO@w5+cOIp z(e?}K_14w!ZLr@>M~50r+o{_#YlUUV^8+RA6PgRa#qfjhW6lo$K{_L$Fv4rP-;8cO zX9XhfCCsLs_9Z*V;CsSr;4{^qv|kxSV!G146&)hW$0iJ4mx zlKfvt1#PzsP1tbS2=Wa`4bGx*d1j(pYiY{wSnhcjQy>si4!QSP7eeZByF+QCC%cuJ zUrEJTY`So z{~ey+1)50W$~Y!cEA8gKb$p%VfOwYIn1{0H+`PNP5sd#n)j?l%KS0s1>|uO$y+ ziPj1Ij4flsVo?Xi`7Gi@^fO$MXJ=p&(M9J$V+JdmHOl4qV`;aAQ}FvtMS7>3jojo9 zsx5;zU9sF5xhe6dJVQO4o|_X)tQkl3Ke8`@Cvr*?RfJn34Go&^0l$aS%{zvB2(I&% z;wni>-%7bsV%2V>~Zz! zvJ|GVE}`PN=K%f)@R9SqV+p<`{#1MyT-Tf4aA;7En!)>u^#NvbeFuF)?kB|B{GF3J zWVX%Rxa?5O*Zwq3{g^)Z6QbJ@Kf=?sqv^uROfH42akbSbz6{(8zlHhU{TiH3Xybp* zIp?Kz9cWysmWKxt;@AObmSaxvWY~L5oEhjYlWBZU6Xxc8%AV{zp=9Wb100~`zQ#Tc{k+Y*~q#x+bpXpj0KxMJdt_XXxI zfHVqvQU*f^rf^^Od`6rpp}$u1G$;B8+p}Z7&Ewd$T3*)IH!NRW_B1_v>>yPcwbGI{;QdQ zB;tetg9YzdN>5MO9%FayYkwd{#NYJF621Yna7BPNgPCC!R#bbQ(ZQ7QR`F-KK6Q4e!L#pYF`M;!FX;;dVVw*wC8 zt~Qn7XY2z?HgEwf4OY?pv2VkNwELTQ9jiPqxfhZ!l#}jyTQAImSA{^8wR5`W3)11t zgXwtOUd<%M3o{C_6JBF&&=Y+dqM4#TuF&zkjo8*@-WAS?n1hb;d>rbc9*!PBcMaPb zlVvp6?ZjJxrf{`=re!FYhPmQLjNp4qO?Awla#B;+@STIp`rKv~G6i|t=`%frWOBJ_ z6hkYOi zeP#V;TI)4bno~4IfIz|Y%QXu<5@5Y=m9}fd7WkHbCHqs3YC_(@>ESz$5b6j^1B+c$ zEEH8WKxjDBKM6p@6~^wxtaM&<$6(9CQo+Z4`#YyvnCx{qf<$L%ovL``0(c%^ z23C$4^@WJy#LJ@7^c8w>%Qo3M&uZ!&@(W0|yBql~s*YU~Tq0Z5m_A%V*dQq6n~<5- z5r+|2iuuIxjr>S&zPpJJ{m9SLfy?CuL$AOf>Rt#myUoWiGn3W{&0*A`iAH>Xb!c*= zm!1t<;=T>skC4#!f>mADo9+5@3|;yZ{tg(!_;g|`Yz6X=ovJ8QUV(r~X}KZR74tXJ zs=@VMIrcPszWtd!CG2qG?gR)T(EFj`@ZcHLE3TJmhq}N$a4z*!c(t{x6WKn+x|yTN zw8bp+=V?2Qn;`Xwop$E%kmg79Z$d|AEybhpwI3Zk6Znz%3>9#(-1~^^_(pE657{-| s7#P(MYvO-q6+){VF_1c<2wP#g*NN{r|i761SM literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/sounds/6.gsm b/agc_2-X/branches/agc_2.0.5/sounds/6.gsm new file mode 100644 index 00000000..2a25381f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/sounds/6.gsm @@ -0,0 +1 @@ +D;3P2FXLQEFFFyD֟-~ㄧ(;Em3ڵ<\ԬKida1s 5~yjXWQW™䢤V=?4B2%XWjfRyUB]i‰ΝD=':WBax"t )硺,NSWXWlK%a.Ռ̩ح4+Mv_dȗ˱.#IZAY \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/sounds/6.wav b/agc_2-X/branches/agc_2.0.5/sounds/6.wav new file mode 100644 index 0000000000000000000000000000000000000000..7c32ca3622960600b4a58cd647f297a98a22a74a GIT binary patch literal 4046 zcmWN{d0di*$cl9tF^9g_ql$p zYnHBB>(264L{wA|K~&@rko)2M?e+QZ{rW7NIc-`E832||S^D|<&D;4@003bBHJJwh z`zHbb9EkW&)~(*Y`o@3P{qW~;CdnBp;5cE!B5Bwc)*Siqo~bB9+7IG?ut`R@nFC*j z{LYlx88Rvj6LYgZ&@q<)-#Fv z40p@T@(o6XlQ~gOhK6f*ca_8PqCXKALs6lt(f`JcV$|KD8j+SnD(C-7GC-YSe^f4K zlRs8gQ-5V7fxRLABvI;NhXavUs4J|Sn(np!7@!Ix5-r$&oM5m#q8=+9ifP)V+=`D( zYZbx~3oYY(`|$%Xmu9N8ZTKQfl>JPQ5;5m}XNMzQg=}S3 zp`gU(Z0%Hj2yzIUf|-`m;N%!EeJSmrwx{8qrWlz?^etE`maXShcL>M~4AUI%d?%rjzGjnnmC$vDTdVNDR zVH6^2WUZ#s^GocU+?AZG=8=vy`Ymuh0&O+w!|)p-ZssvkYoA`W)Tlvm(JK3DE0TCE z^|eSJ_Q>_p1-2a00bGxJpF2Q(lA_=pv9TLJwmpRI(N~b>LMi?Sj9(J%l*|47HDFIU zlFt1mVzU2>P;^wPpbfNl*3~>8z)>g1?T#4lI~{sXFJ-Rx_Dd}dDEr@IaEW(GP42;KkEScs9l`9BRHREWU-dQg zsGMt2Y5w5QTuWhOPv(N8ZN3K`#ocw@er$HoWSZ`I!fR>3*JghEayI%I`pFUSmzw1UHD{-7FOaeLGNW$gL>8Xbu0RLkwo!3PC-Cs zw}6<4fPaqSddrY4MIcLm8}-zQv1G#vaKAd=c9=RbKyFHR`cGuPNoL@LPoloI)hqV& zA0?g0DocHdF!r;Dpx`qE(JJWu&O&8h&y9{3yAO5$GLR4+3mUAmHIy9@2FiIY;?!brcVl_woz?~bq&yCA@; zq@ERZv%WB6>(|L=1QpE9lsZ2?P(+^`UqqVM7y7hDRf)CmyQzY}l;HJ9Cbt(j*O6Eo zIXs84E@2s!4WR-TDV>oxSBX^Coar8lF^evfqFg;tfcTKWH}^F!Qb#7dAi}= zTi5KaSgtZd(F&V9+)XsI62_(o}geV`J+jn3CVCI7T2gj>~9Ubj&98U8C~KI*8) z2X5de##9Clvt)y*f)`rZ^*{!5(c+I~mNN3~ zO~ycQ6^8H3@4_mlfyHT8-=}DT>60Si`It0C!hek(M_;O(H){^sW{Yg zg|Ru(6u{pnZh?%>gQO**nAk**y*W<$#>tCRQ;r96AvE=2LQ&K|!-KVo_F(uFXG`St z;3IzlZHM3q?uCk0lcU~8+!8mLJ}yw^@1+2&_d$3&v3|1YHfyZNK)vEU1MMKKqa-;t zNhh@OeP0O&QxK#(_FL}bxJ%fV#z|7Dl8HMkp(JaOc_yd56GcR@heB;1^%!P<_WAft z{tW{h+kLPx{9<5J_hT0j*Pr{0eaafwn{6e6L&3-)ix!WFOr4%3BqMasyF|8k$lpVE z40)zWq`VAH>h~~g7p3!+BNA5x<5OI-g(BQKPS+)G@ zn5UjUK>}+JEo{0_|F`U?@Xh#!m=nk}_i4mddL4$=AF6w$;*egYwhLwfEu%Ytmt-=a zRwgwknl^K8W@tHIdO7C0pc&ijUDjESvdB@aK4^?&Y{@~2Tz-u5f@XJsglcsZ52)N9d4J|C8&fngziqB|Kj6ar z=B_d-f%!sD`b5gZK3{X*;4tbL;T*JU^mj~qQj#bF-Xw=N8_Y!VR?6+bCHEeZJu#2> z+J3F^khIFPh#83dD^w1ZMzI7e`G>wkH_SU#55HvS_1{NJ7~UZdT=x6Z8Drf(JZUg^tPe?7hQydd*{N^ zx$M}V;PczJ)gIEP)9&*WxJEAozsho+G6TQ$qzB(LX#~^f~f>3xJ{MXy4~8(CuYy&l)Cl} zkM~K@Ro?HE8C{GJEakVXV(NRNLMMRcqi(vE_FmSVCm=E_(~QV6jkk{mH6j0WnYAR# zKvZVVw+TOZ|Lt6=o)~zAUhF{+KZK-wc6JO~XXutr)6~P(oG@ z^H#_8m>%&Z+V9Rqj%@S}`~q8n>}$nF#4oA!;vD=tbD?!QScY6S!sFzUW3gx zzcOere~70_=Aq-1zse<6Kjsy<)7CY5n(9eAEBxNOyVcRws9rx|6lo zFt&b%VsZE*BM<*SPee$`3M5qH*Q=^(+WG>xDcpWS6U2di$NHJKG}IuwS~uP#iOP-L zPZ;zbfr*)IbhU$VkwXwI(yAS2{R1W@VpU*1F4#jSD9FvoKVZoc& z1Yd#aliw!5WnO0_4K8hVYHlN{NjHP5NB4u)_^~NPm@8e}hHU+OLN)Dc!0Ot7HO4Dr zc0>4IWVnp{x&v*SLT((ge>0K%OOfrGGe^hG?AQ0Fp zYnEKzvjpu=s}V29&NGZP%U~dK)O5FVm3}Y%P0sto!$Fuf*>C{}!&aM!y;jFW0hq_+ z1*{*tRt`&HE8!o_)WM~|JW+HukGfY^C|4N!kn_Mi8#rC`kU1b2Av>VxUh@X9kNE@l97o z?vJ5MN|{=B^yoeiAY`~S?Hk%N0~FD*^oj_FrOZ46%tGI`Qah1-hw!?LHDUmDZ;(4& z5bi_Njx=;%GwGOu+>Ht6pkYl7>n-JjP_jHL~Ql ld?9)gd4lg-|8fRB@e_sA|F(wR<3OI_@+r~&h)^@*{{hWN-?jh% literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/sounds/7.gsm b/agc_2-X/branches/agc_2.0.5/sounds/7.gsm new file mode 100644 index 00000000..0260531d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/sounds/7.gsm @@ -0,0 +1,2 @@ +8PR=:^ +r(۞fM[E88vG(QE!f݅ Q[O*֩r<HWSwt8Dx"IGDL4:RīUXj]H䋨L~rA fa֮2_(9FܗL]ëRQh_7#uGB.Vi]McjE2[vADyac]loHtRFz􇁗Hy!Aq8!QȤc=6 B)SdޭU9"<55c=ۉmbSc_ܩHUD{7=_!1֥!S왩n:5P!ku \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/sounds/7.wav b/agc_2-X/branches/agc_2.0.5/sounds/7.wav new file mode 100644 index 0000000000000000000000000000000000000000..6cdce5c18b06074dd3b0a8261c857002298e3a5a GIT binary patch literal 4072 zcmWNSd0f(m!+_z-eIF_yf+FIH;(?m2W3_czvvpXeX_sxYa;slvEz7O7?n67a%5|^o zuxoFJ9X4w#6>kF%zykyk1(ZYJ%gwvb^WXD%{(n|vE?A%>K_EGESI__U`&}F=1OkEn z$DA+-V>eLHB;Gx`j&vpYhR{J-t%0=`bhE%640E_RpvzNiCOO97Afg0(qG4!Q?mX6=#NKeS zt5|%jalJARUmD*SuOMYl<|*&!;Jz&MS3tBq!CDDd1?$89#I4i{+F24Mm=|$*+ECO9 zZ@EnJsZnb~w$e{iQP2W#$h!#FO4#V7jzFcAW1)l|!51lZYL2Es#P}q$hJ_@>CNS6g zZt9(rJG^eh79ZJ|t^3&}q8G(J2U=~{5{tgvcU7KFQ-MM z_z^#q)GDL|A@z1iLq7-fla2<~qgbv5?g%uV+JVV5Ii-(ei6D%#GhG>->|5D$L3B}Z z7}XT9k9!3--RhpGaZJLaVBi#2J2^1}Jtq>%H&LpzmCgJP+*DWSW+BMKL2s(`gZ4=g z`~z+#;IprBc3{exzti7%*9@F%|6N&*i%Kd?>!+3J=5}81Nwc<7+gJ}s_dN<*vF|hN zIBJ{in6i8b0fHf`QjSL#`Iq&aZ|oj;h*}-JDAq>)e9AeRWt{ROkmVkok!1b|4-EB0 z%E*hxliQ{`_F4KuooRJ3XP~ncYkLomorhtme0-00kK;4g2n7)^(@#^eB!^VN*v|w* zsnh9>@p*0kb`dRGf`q(6`T;-RTx^2^w~$X=55}5Dj)7=~Eddwl_ZRo>Zamq)5+#c3 z6GR8iGaD6UqfXZjj2HgV5oIMoYiKLN?vSn;raJq&mRgR5cBem$TLQb)U)04_OJExq zn}X`$d5-h$$7mhlHH0#DP_{;sg}%rCR#;76uG`#F-tIQOr1RpeY&GT>-L$L!9r9DWP&i0;m~v%@h9bZVI4PkWI^RL^#t`Q*vIq_% zvxnck+>*yWl>UsL3uDWpTjvciU~k#C*=w;;;Mi1&e=E8WC^W7e){oU7-$gN#Hqj60 zftEL|e@re7u1Gw>^TQ-stx9NVh9#h$x&JY5b4=hloFCcakhA?eTQ>ABMq(50q@7@9 zm|k?h>Qh+y2r;x$?0|c^^9B4i*?}#!8v36}k6LWZ3#s*d87x6|y@}R86F9{EDzb|d zZ+~K#WdmTf@EKs{_+7(g*bR;`4h(8HRJZ=t8Zhy9uuvEm>qf{&s{2>#6M*}86XKxr zj-w9QM*oH3h7y#2cEAU3A?7C-)3>nxXRPh=e9AH|CWGv%0Equ9TdjLPDj$P(n$^Ui zucwUk^GTN2<8Zc&)>ti-LKC9&{Kz1VJ#{qSFx`6s3G*MdR0JNL{Iz3k zTazJ+c_ob*G-6p?wsYIZATB^O9k4@S^nRf>r2+iu#TZL&yCm=@bSHb=fiB z8G%?rsD<4%!1_VeBiQli8sRQhwu#*Syv00T6_6jdi~9=k@5J!9*1i*d1sJ!L8Rpt* zi5lLDi2p;-205ZTy=l;Eu>omYSfANA^1}WHmYG-wX(fWIu#6Abia?UMBu7_t%RjGSN8=x<_gNfB44pU8ATJwpq z`9Us$I=UEb7~eW+V)>x`Ks+&{B;)0+lz42nKWz;SU)-Lgn;SZxT+-pHR>_Z?u zxBy`txzYKxT;qQn^M2Z?@I2c`ac<{;ZWTckdVrPzplmN4rx4pPf4l9Y{-Gh`2(?tu z5Pt|;Ftoq1th>(xawQ2l!RgKh&6%+Uu3JbZP;R?uYWC*S;JnxL57t!iZ!Mi#NKkR= zPl+S=$&q!ExymH(Y^s`)1>-n3dp)>jY8xU+m)JXR@DG1wRBC!__2pCu|{yfH=Cw~CofB5{OA&wG{vvU8j<%Gt{8)*j?b z%xm9XTeCZyWMl0QoMlh%^|Zg%UJ6hN!;@=?i`5k!_vJp&MTqY#8>OFX#Q45LfL^u{qQB>< zW)#Ghu+5-Qj1r}&g2;koNn#}VH(j)>K~3}|5OQ%#ecysjkO*oW<086fe4V(UFVWS_ z!(`lz+~+Fl&TQYQxsG`f3TM_KHrT$m*8~0NzkL6_PFZ8PK&awJ3+|ELssC;|*rm27 zbK(*=gdX$)qw%B9>= z0}!Y7XqzTaV#Se)*uA8@k=r6y=jV10XP>Z{3-M``%E5c400asj2IPRxoL}O2Aw(L} zy<9%CBSU?cSeZN_d>imyEA7zritWn4`>Y>{?e1+ht1layg7QpdD7zFsXJzQUl*~w| z$0epUl_`?3yJOGCd?GG4ZyBYUW7EtF9`i1wH*|zoNW7tKX<5~E)du1IoE{!^ z&DS#^=-sN@kC;u3#IN(7b@1VzC@zZGb4vMzgrM=`MTzmLiGj$@Z)T%?(y4SWFG3zoXqV`2%#{t)eX zS(p}wD~eyALJf)@`@EUgdCii_d>{7<%jUnSKVjJJ`UAm%8z0&GXv>&9N+P;$7}V zXqGlgeR`@Ez8#tCR+*1GGl<7H-?1uvX!-e;yrJV5k3f@3VIU`7Nwm_ZRtu?swj5jG z{?+*b@sQkwS#Md{A1~iwt6*?C_TepG4yW- zS<#0+B4|r{#CT&^+!-U0m={v(*d5fHzF^yH_arJ4y&Wu4-%?cDl);STt1)k&=srke zrThS*Bs!kIF<_H5TvK9@d#@qW{PQi*W+i|QdBdAV%`ud;A8Eg9EMPB8e;xN7{E*^P z_qx#>V0J(u@rb|5aS)P0dP&7V_l^up%7&Xz!~B%A`e2a(-JaFC&iFWROJo642z_f} zPJQ9$BP%^ly-+i0!w2EwM4fA%vAcgRV*5JTe_w z8oO9n7CdL7ytSnDrQs-THouwk0fsTC$De^K;J*S3ZOaX2`)}m3NI3Tta6%p9Xfg9Vfv7KGg%*PfJ(de!#>-6148Al$Yins?7(UYTlVnlfAYY8l7`|r| z0b9`xz5wfOa3^+d=n{4|tbQn=^-K9IAxno*F*v{Y(c6v3S4cbpQ zk0XPdhTKxRc^LyEj7vCyl*sFv?n)t$i{X2tUs1C`uKtV#53PfTxZdi8hDqq-(8{DuUn!nU~As7wt_eq@XUJwymZ|L8se?u1VS4by92d)3y?kO37?8@FH@ zC$!nTzbn4$fMG6)6;?po1KnyJcDzEoN8{XGqgxa$=A(fLiQmOdAff%?jc0q?{4aSl zfrNe-yfM-~e#PB^Tn%7t3(OV%k8~0bPP=Me(RHY;RQCg2o4QNz7p7iSFBT6k@sCqy zQBq+(@Rk>X&!SS`17o_Lbwgt4)|jw#dnmzz=v>n_Tepz%DDp0QCp^%cW+HflkxhP> zkv!_NRFa`_SEDzhmJKF19qtkMUq`PtqN6=meP?5yr5y`v zvXkYPW$R33m>(!-P*``b^F3-!U=4`@zLMJ|9r}ksS|KB80>@HDw4Ckha%)2V;uew5 XJKve|ofrfSA+R6T_(p5}Ih_9o9Fpc= literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/sounds/8.gsm b/agc_2-X/branches/agc_2.0.5/sounds/8.gsm new file mode 100644 index 0000000000000000000000000000000000000000..e931896ab9637a44a609d6c40288acf63742874d GIT binary patch literal 429 zcmV;e0aE_ecw=`xP%`mW9Mw)<4T~d@xZJ2Di429(vEoEzWD*xc)p%3?JcVN;T98DR z%|jO%#Yj3~f-MDYVIqaW^qn=j&eeE&_dQ`@!&x;d#hW5P=~YNnzaga}NBI=JWLDGeya_c=V)zx@< z_dMg_i5St&VqxHe+O43yP)TfaT4VXE=Mh)O7Ga^> zGLjtJse$DOD$%0Vcuccel&OPw<8C)&)p%RF^6{fZ zF__L@g`z&4hQ#@W;#N9RykcJ>wz;w%Y}I&Me>~0NDa5UG?(rfY2cqF=so}P}S`7u| z;+qAAQ!3SXV|zS>0nwV2ROIDh)f_d)N8@3ru&y4Wse#ue6}3gxw92M^VTUBK&Ymk_ X$DTE77g=$vWfnC>dsM88B$3G+CN0|n literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/sounds/8.wav b/agc_2-X/branches/agc_2.0.5/sounds/8.wav new file mode 100644 index 0000000000000000000000000000000000000000..3ed04b3b11351fd161c39e8a4390f79746826e1e GIT binary patch literal 4018 zcmWNTXH=61!-k)XCwmV9gq08ofdC0ptJZ4Wt6H~KtFKnYy>X${s^HhUTer2fu8L?; z>L`v@D;p9LAS4hH0@-^{lCS6fcb)6+bZGghi9rZP}eh0RRB<-#$wP zfNwtq04PBEkE~t2d-d`EENKkSsVZtoG`cShu#C0Q7=jntY$f}UwEpZBX>wm}M|txD z%jksN{J#_X!#S4K-UxgdY{*7epRg8CnZiXma>&c>q8Ga(Za9ePL)5V*zhCVWDkli?(f^_d(k6+!Kt~zFOl+?>4vy_{&Pu*j*j*h=THr zmViQZqm^k1g5|BvylM+uQdFT`BlZIEL`M4yX9uG61`UdKjv4ypA4B6muh#jk=9Z*3QfkbtXBF zOsR8v^jKd#{Aw&}xiTyZGE?3Oe@mI`nA_Uee%$>>;vG&I$rX6(ISh+nt46MArpc)G z?!<(Wmsx@Ej;;^lMYb5>K-^)ZC@?KLlYEx31#(dNy6v_`PQFyMI`25*yn2ef+-^Zk zMGM0xT`ovrQf5XLHlUi>Sk~K)5a*Qf-{A;Wp6*lMTlkS!jYX;F$L6y~34UOB^sAbl zNbuoUs*l6MU-2&VU|?o+YKSzrqwk3i%lfCJirwkDBDyExc(zc-#%mC_0^4FM$qp(# zlB)njM@_kjw@Xg)L{W5Kt=!;hN6)~tgzkHB;J3*D>uVTZL2o*w8cX~}5aQ91^?IDP z(!T{Pj!v~+G%tkj%P7blL-eX{G!)BPVEZy=aU|$A7ul_V)*{dQ=d0(cvZKMwwZ*lG zA(OIod-tf&qqTa{EkH&ryPV%on zl_e{a8Y21KqULyeD=qtF#Wmms3@Ng6J==l>dHpQP! zCkFmOT2gPvZ-HpNMS4 z*!FuJ(9UrIMrK9vfuuUugZ}GUM05!%J^HhQ>+dIXvk0l6Z%s#G%T#M9aZldvE^f@(LRqUb_e$u4mZ(zYBYG=e`2c;cD<9^8K6UII{@T;bU<=N2Mg?YzCbhsVgt!og zM>mBJxz_>(*e4LZ?nl`fV*_=1Q6M)CZtPvq@r(Wx<~8GgSTNKQ{(z4%o*;G)Eo$%R zCu3m3KH+FWiFT7rW#qse7;JQg8x?)eaB!?7mfqLIk!D9%W}V6ZggWGyseRCF_8*9W?t$71=IucDROm^{OAHL(%_aqwhn1BxnSJ+MH zwd(0jU&_;v*K+;2zv5A5&JfAd3O^5lJG`d+*poD3-r6{W?rG!U&RgM!tf!f70?oU@ zc{9d9T@J4v;wp8%scE;153|Z$M?2n%1MVBNCCu~aF~QDAE54IFE#m2WF1~DDnAlg6 z$g_+rlKj`$oh*U@9; z!mp=q$RQGT*3~D=@g5`85_+O)zZ)!1tVo<6f%Me2 z`1LR2PZ!m4*8;Bw(=}8-1K9=~b5fic=zAHbxz9nWoX{Xu{(=+aC^(Z5Wmc=L5TGJN zzK8~@n+i_P-Yc|_%LivP0rCrwq?EVJv*0ctIC2}e20PBp>zykXheKRqX<5=E>jLp| z#pj{X6ayhM`Yu32)g_#!@A7Vx+-&v7zK}E_yNT9!ILqe$VEuI}Z zz_Fi9%v-{X#TIsJE?Go~fq~WL`@Pbk`M4Behj0ih9O!L3IamQ= z;%^d{kCcS)n5~R2uosQ1MM_x{hZd=k? z-(mD3(sv1eN?7XMJWRDSAqDVkPlln?Yl$15|B7AhALf!f z=OE9F6BT);YU<%a4WAA>AzRgUM)wF?%zQ=Y4}Tp(VEnWS#5}F4LpZPsBNLu1u;Jeg z9q9hjupQ1IT!pZ`bt5*-nZmkUL^^`XBqJIjM=i7Cqr^3`sh#x7S#264QQfr8u^l!=`^b|ig z^fmevuHB#7|FGwyN6H#3{WQJ8S^CblX!ye>|sn zYu04IF_5LA`$|z!SdHhMYYDQJ{e8x4@Tz=i!`^`aZbPmq^8jMM`I$K!`4vP4H|j`+ zZ^8e|`b4md{6T%KaY64jXekSy`X}O!=X8*YCSi7X4k}!V_Yo_%z9hgrX)$zM>)jWc zNZUqP2iy&O0S?8rQ1#w=>2lE&=e@ML5-FPzh$=X$ssIL)318r)dMmIM>D_6mBUh#3 z#)&#ReX$^clL>L@@0l-+DB%|a6#aTj95$ByfIk-%k@q%02CC7gIZu-RfIV|r1BX%9 zk>?%n6*^S`d>Oy4Xqft7xVsJA4+E48kh(pV96W+B)A__1j#&~^*S%oMfA!u>df|93 z%N{%tX~BBnOMO53^9b+R<;;WLEuvd3qixHQPZr!x<%d2FZ!?Rc$soo5*noF>N$>e` z?yi_d`lwMl%qFw5+{~phw_{##J90AIZf)xOUYm$Z6<~!U*cD1)YnK|2n9R(ebVTO| zREQAuDCUq!FPl3V~>49C<4oTuR>zdB6bcv-*&DoT}1bnbN(ne zl33*#GkDo-h!udXzHZY4ZxP+ZA7l~yl^vbUJ1nE(B|KOHJFKxe16srcXp`C8ztQ|D z_49(u{B6)(J%$#pt^i+~JdwOHG9&N@Vg}_ccvm;Avs!f%+brZ2*5glV3=)!VEc`Rl zO7NDyETX5Rq>UvO>APC^T@|tM+0=qvv`X71)dH&rA_XD-j}}>|HX)lonAl`{(Q>w3 z=-HEcFDEW;wSUBNHDCdwu`<(a)p*x|gtEf&OdyokIiYQh`*nOiD}^8lobm(6TD&N7TwT>2u-;5Glz6h9L}J~iB;)OTd;;wlJS$KS zOrg~!5TL92<68R$bIEfHx8>#`EgEfKhSLY0Mf~g!I}k8bsxz|?cU*P5VYI9UT%Y|o zI~h0Iw$r#a_#J4Bc#LZ8i|E+&PGL#>F~g>&cM@p0Af=im!fy1H`6nZO!I}fh2ln>9 z@qS=2OTBD?XIAIxuInB)C7%w3?+jdkG*eH-JrCdN&2E<(kqN6xUS;i$omOi5c6;|;$Dv!o3=0gUwDn2)F@OfB$VY9WN8ourfNf7XbD&o9&fs1ECq>NXugAZQ@y<5 zh3seOrt~8$E=uRl_T?f>sHk_Z@5@hyV(z0Kca-WtwNb0w@c3l|wUw9m0J?d>> zc>s<7ByD%X3U874L#y8ANX8V^rAdOu!DWWd2pwSzoiML-<&yfceHm+FmC`>O&BJk& z@3VKNj0Y~;#NIIcD7?ebqvY!Ia4YjK3Dg*F|K;YhsxOg|2a)aIkhf&d;F+=(Ot3gCZw{spN8*q1J3x z8HCmMTYr6n;^CTgN;;*avCFMWGlRq)D{j+bnWN<$9Xj0A_gjB`gQM{&dMcdHq6<>g z^H!OnX5MQLD}$okC2y&e)%Rn6ePg5-%Z*m@V*_H#k-9RiLkMe;MNH*F)nkhcVb%9z zKYfFOb=7UWWNqR{7fsbVgTeH(iv?lNf@HdmmlM_ZQ~xuAqI2q8EOTMwPHaxM#e;*c z)T(zY&x3a!GfAA)_f!8fgM&o6S)T@jqqWnmW^>QNuB2}@+L@vmB9uv0)%Zm|>S03D zhKfkCtpW8_s$}xwf}Yie;Zo(|7n11cHP!e%{;JR6s~fFWd4oYr)PqF1&jGq+XQt}U z!ARsCtYp>rHa@9?p!1rl*bj7iZt+r X>`0?>I5fHd-L3Zfc3dF6ZMNI4W0~m? literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/sounds/9.wav b/agc_2-X/branches/agc_2.0.5/sounds/9.wav new file mode 100644 index 0000000000000000000000000000000000000000..1439a5954012827576236c3e07e7f2273bc4c8d1 GIT binary patch literal 4018 zcmWNTXIqm8!$7m{>`j1#5dwq|Ru}=IJk`3eQi@=uTC2rbY^_M0wQfMgibbqiN9(I~ zAdWg(C)O=HKv-dfKtgs1WG8p_+v|Kg*ZBeG^Sp%%Z<8R9<#U(imX_^cQ6Ufr^grfA zK_G`_Lm)5+`9HH^?T)pF|EpdHX2zXOuP5)H_Gt5bSAb*I)G@SvA8mP740qJIwbwpe z>bXD+MqIb4e8my!_`k4^hO3&%ioMiNIdbYw7u?l>drm@FANJ-B9ERre)}|Y<6m`B5 z?U@5yupL#X%|l_+nGLLMQ!e3!k^2w~jfZwRDOGA`d0ED* z{)N%WDXsXuBkNnvC{B>@teJ#z*JHmqh!%9uyrk<|??;d=$^YZs!LHL!Odf}PhuAxP zRC?dIJ^~{MkER>1i!P3hKvog!APg%WeuDLc^Er&r&u=Z6d`o}KE+pnUgS>KL9sayQ z*j+iY87s*6GPwZ$wIW}m@-q+>CdovNQyLA;I!tG&P6-p`UcehfLcDe)AWkw{n3r8A zx-NGV*>*wKZL5^at3wGz)RZ zXnPx6^*4SyV~pQo=_*CX%3JGJz|xl_v`RtjE6 zE6hdWY~{C5B&G!98eW|Z3N)W(4#ub=ogMVu^hoY#&Zp{XTS0Wpu^wus;qEyMw}-m)?L`Or-NbpEOK5< z6FS!MH1G!{7IRJYyi+Hm2HnY&bEw{rC+a49pw-Z8h6cs2ekwPOZzpAp)eFyR%CIHW z^N=@=rI>G{uZCSSZEsHyt@KIb$Z@U6CQE~djE5iy%4;usm)+!08tA)W3 zUzvQmwE#JBEpGxiJ%AHd8TL@pL%)EZ2VH1HWPFfDJF`t9-i@**m&dihc1|5}vd}+3 zE-G>d%~nV34M9!VE4_I@r@e+4Ku+1>Ov%^>3AZ@;p84HRgt^v2Mp{G_A{VqH{|rsU z?N8r71u>ryN zVHQKTDY(aup5f(>FBs-~S0^&EQ>i7&Y4K;%vr&17F!Ln~jr>tcOY{ZHyY^i@zj$~N zSLiz+Bo`j{f?fjvQb}92TF&Urutb(R8#Rf}8f2aul)sW?0)*5@>2J}2k=gyjrpvfv z=uM6pPHs?8;w%P6x4DHOjzlbreG;}i@XEnMHB)f`;>ci^*rbbz&pN^=Ha?yxux$f4 zo<@~HqsB+1KTh87hxJwTuC#TL3kVh$*?l{xiM@^llNU7~9ig^?;&d;oJWwj z*uypbPWMlVpJuJ09@os1lC3$&eZFt>gGLkeK>9BBpVoK6OMSn(%R;}Tq?MBAwrT5IJanI5u1P4FSVf zr#J(Cu~&S+5l?u4SYf^IzDd8HD5d~%LlYpaz=_%KLO$`{1Cclmbr`(SPw9zrArsL2 z_mtwv5@o6jiag}-OpF>Nw3y6&oC^CQQHQv~BcSfaym$WYn@1mEzd$z**Ea7}>S+%X zPK21iSUUnG!>8C*4`dDf3;!+kT>1)ZsG@qD3p#;oF0OXmiVu@!_#*xKws!B(DD)(~ zgb?e_3j7kHjI0VI^yjxt7~Ao zC&(7FO0;-@2n*wZsdq5~4MCIX3k8BL|HvWUx2KNFw}TsFJF{}=2IY^P zvnPfC4dnn7;^+kM(MhcJAff9;$6vNRtW6vbmSH1!CU9jazvj4TkK!fGmZjz7xnD@# z>fQheF=5`R$qd}!NYcI{1|*1%pVfo-{h{v>T4ykFOC*}kHqGc55xM;5xLddiRJHMA z2MO(keNYz+G#Tn6O9jN}x#prlp(+$cLBZ{prhEunJU#gi{D1w6+y6A2r!9%NfQ$l< z1IOrOa;+}1W8csKW>abb_a|7d?z}~Y*aoTAq(}^Q3Y#tP)4$Qkd$cMSVi6AK9_Gg^}{JL31-B;%<93D%MP^VCx{cda2yv zhbQ1N50gF_YwW7i&cU+Dw|$EpALF>}GvT{Tk~UX2-*<|=DmDQ0TYvShBl6+n@`Iv{ z`q)T<;AXu&I1N)lXH3bpw}GFMx_G|=mj~_(2c}%)^}$%^PoNwtindtw#h4flR4*XBhgBFA>#ci92Y8xGEqO41Q7*pbH)iE5E$V)!i1W{V%zm%xXtRXLu z*YzDXl%Z#$%N=Oj05LDY&8#ya+uKC9yoD@91PVrTCL{A`MTmm2bm3;LF&vwvWWKOp zRGhQCM=bV*sOKuJ$W^>&X)VZgLt@bp<1NCE1e1F{xRV^onH{3iENfwl3CQ~R1~ZS`Fo< zkK}$p+RdU8gtFL{d}%J3mGYQb?A>R4?z@ULxw}S_hn{&8k}9&)luD&y=x5Vjb|`X2J}%pXlxJ6o$)!1O5f>c*4Q3L}0#z(pIHzXAm>?M4WTP>u0++pn5>{ z*u8NE@=R({h7DCCSv-(pabx>{+g6dImv$?O!I;wCZ7C7YK?q{@&=2@yz(d$p+9|(y zu)g!8DJAx5W@D($_(I8Zih<>>V#R9>K-`>>lf2E3?vLxoI}D`l*mq8;yEeFsqa>}A z*_!gDG~y91C+u(U273eWk~ji34ift>dM+k5XVy}f+M4kv_7A{ew^oyGyicpl$YZaz zYCBu{C7zIw6-2nF)ccmkXFWucM$%g*RnJ1BQYz^Z=Wf##C=PqX{>gB;WF`QnCT0X< z2FH6P`Su)iwqIqqU{}&Z((Z-t)djUJ8QKYNh%iy+ds*I_6lB=<{*nQGyKXum+L_iI z{K~R<(&@X5Two)Px)u9~2L7s)F9Sygi-rx(SGYXbX|u+?C0vx0L@kj`G%t`o!99sF z1R34C-R*=0L35pd^eq*A<#KV`()W_(lYgkoJUf9ywjtRe!_trqSuoBH`yZmyLwe6c z@-pN~N1q=b4&fA{FAp7TwkVedpXJ8WK7bxaBZf(MYB|)maHs*oW;*rN9eYMxP)2Awb{y;ttYw^vIuZ!(qqH?o^+qmCzCg{hJ+Q<9 zK^T`29H7f;2o8QAc^?EA6^`lLY&73(o@{cPnZKkFXw`B`D||c`b2B2EpmTj4$P133 ziyfsRZ|7XFkWs zHCVxLeM`J5lZuSd5>s4wUq4w(#+c`IGX`>CK|B@jEJmuCsT=p>5OJpd@k{2S$er1> zQLhZkyUWM^gj&d(VPm$Pudx?Wa*X;A8!Y{`u;%kZ0M!@oG>pd`wa0$D`gmswTrBU&N_+Yw_CQ^R2(B zR*_o6$(Zj!68sJQCt9sBU-(sT4diIjbfOvcw_&AOfDpi!=r#=>F>Yt#XOytMHh$9w zRVbiv+;R6U(-j2Be$UlHNquMAx()TACs?0j?>iNc_d$4Ko9=7j`VleiPP#rp1vRJ= zr&3|ru*}IV<4eHjvAAqe=q}aUE>KZ`93+tf(RLT=zYSq!f#scNI%@5FRvCK+W|#f8 zuZ1W^rK%gc7b#u^AJ6)hv)esuT%`+v>R{WZ8&z)tvUov;m+*g*OC3(lVf-B$3zqL( zggy~fOP_7zv@h!UC4k}HwSE(tvW;g?FN zOA8>j1QMzR(hF!v=*6|K>+Zdu|IaheGjraV_sltS6xb14av;c8l{Jcqdp4-38x+<7 zk*d<=p$r|RD0R?G!5U&H?x7^Acc?6O0hJ#fT0n7o02@NibGxK z32|xbc-ESBasWBa{kFTqXhFdgE>JTrv2H(~S0;ddrDS>36k5#37adYg!)(!Mefz$z zf_W@W?YfRIS-Pxt>i*r*pscCy*zuzkqcCfF>Cj09OK1yD2gO#GdZ>U)BNsLgkOyH7 z(w2$8*r=y|DFd@g>mfEZ1%zhWtX9rm>LtnFgr75PX5vs@ZGo-RgDCH)2o6QDF!_!`;5vV7kQ!#`^qDj;*V4E2nG2gM z@6G#alO+npaxW7R3Pk+wK%V(0m?_}&6WlQzPm)9eDEa*`l(!yek$IxTK7qQR!byF6i z6pK@_t*^JJcfn`UZs^#|O<$SGavLE2=y1CMWN#B}d0kOf(JxW_FoLC&0@kHYUoyP=^12)hX9e_mQt zJaAgDcb z;v~Cm78XWMvHvC3V&<%ed^fMDD!BdU$x(~yRQRf$VtJUoh5=b#OzMkm0HAHQH_$I( z2NKWs@8hBzqkOH?({T%Ta}7f2t-qve)ewjyo{M|;iPLKlnO?qHMhNKgx-odc6(l7cOmz+uPn_CrjGzO*<^|x@tg^~lx z(hnFoUSUE1CTKXge7DX3&R{EWJuB3=DA`h(RZIV~SN}UYMY=(7Ay+iD$H1oiB6Uu4pxG>m= zautsFUUIh4eDy_mO#edvmS=sQ17Vq4(seW z+~*m?*Etcx7$=8t2i8+M78P-8I9e%TK-j*itmH<{T(=9aepc^K(!VCRVD9@kCX+?6 zBQMFhaiXeI(2P+p<$s)&Q2^^dhYx8V04?a}MHA8sgjWVLT-+`@^Wp_U7}V|viO6f_ zr~0nNfESliU3Ddm8RbX7}AX+(06=w}+sECU54mhs+`9>7+9)T)!;+k`%A_QQtHqYR1)O9!tQE&HOj+Hf zO%Z5j&sw`3$C9LR-cZhAYjNyUNu1ONe!Y7@mcaT%O$x7zYlh~OxgLxgNmx88EB-#f z|Lr*YEH)KthbcT6Rmv$x3l`iTm@2sTBj3(1JBV6_Cwe2`mKK{zX!jD7|K1kUwLQNu z?5DKWaTnED7oh}bfBrL4cdlW_Hce-{i>egRTx!18jt~$z0_lNnCu5QNaRBpC!ESnx z9CDe?sc-T7!1ajM#yn&sL+}n|dSqd8%YNrEYUMuUqj{yEe=0?wBmwfZ7w(Yx>?O!% zgt;(�dW<)$nv!YX^a+JVs`^H1R%P$U5Ut&SQrKBtu2i_NIWx*x5|dLn5J-bNlL$ zS(4x$zOZ?o&IQi1`E()lqmgoeX0_SQ*PEg_s&KR5PQqX?q1OlCb^5j3)CjTbk(4_3 zGiLbd-89}FNFdHYa|P={!qf@yI$P8NBY_tNnN+_G;= z<3WphhKvhO)0074Q8=R;hjYX=@rbB9TLbo$6MAu_{Hs_Q^v{n9PBNC-*)tTOC`BGcLyzRd zjyrL6R!+`%eHeuaeT#k-%G6f|@hzW)`@a*62JqzJcdUBcHX9}GurVDtv)!?+Xu

    \n"; + echo ""; + + $stmt="SELECT * from conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
    ELENCO CONFERENZE:\n"; +echo "
    \n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
    $row[0] $row[1] $row[2]$row[4]  MODIFICA
    \n"; +} + +###################### +# ADD=10000000000000 display all vicidial conferences +###################### +if ($ADD==10000000000000) +{ +echo "
    \n"; + echo ""; + + $stmt="SELECT * from vicidial_conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + +echo "
    ELENCO CONFERENZE:\n"; +echo "
    \n"; + + $o=0; + while ($phones_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
    $row[0] $row[1] $row[2]$row[4]  MODIFICA
    \n"; +} + +###################### +# ADD=999999 display reports section +###################### +if ($ADD==999999) +{ + if ($LOGview_reports==1) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT * from vicidial_conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + + $stmt="select * from servers;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $servers_to_print = mysql_num_rows($rslt); + $i=0; + while ($i < $servers_to_print) + { + $row=mysql_fetch_row($rslt); + $server_id[$i] = $row[0]; + $server_description[$i] = $row[1]; + $server_ip[$i] = $row[2]; + $active[$i] = $row[3]; + $i++; + } + + $stmt="SELECT enable_queuemetrics_logging,queuemetrics_url from system_settings;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging_LU = $row[0]; + $queuemetrics_url_LU = $row[1]; + + ?> + + + + + + VICIDIAL: Statistiche e Report + VICIDIAL: Statistiche e Report

    + +
    
    +	
    +	 $o)
    +		{
    +		echo "\n";
    +		echo "\n";
    +		echo "\n";
    +		echo "\n";
    +		echo "\n";
    +		echo "\n";
    +		echo "\n";
    +		echo "\n";
    +		echo "\n";
    +		$o++;
    +		}
    +
    +	echo "
    SERVERDESCRIZIONEINDIRIZZO IPATTIVOVDAD timePARK timeCLOSER/INBOUND time
    $server_id[$o]$server_description[$o]$server_ip[$o]$active[$o]LINKLINKLINK
    \n"; + } + else + { + echo "Non hai l`autorizzazione per accedere a questa pagina\n"; + exit; + } +} + + + + + +echo "
    \n"; + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n
    \n"; + + +echo "\n\n\n


    \nTempo Esecuzione Script: $RUNtime seconds"; +echo "                   VERSIONE: $admin_version"; +echo "                   BUILD: $build
    \n"; + + +?> + + +
    + + + +1) + { + if (strlen($dial_statuses)>2) + { + $g=0; + $p='13'; + $GMT_gmt[0] = ''; + $GMT_hour[0] = ''; + $GMT_day[0] = ''; + while ($p > -13) + { + $pzone=3600 * $p; + $pmin=(gmdate("i", time() + $pzone)); + $phour=( (gmdate("G", time() + $pzone)) * 100); + $pday=gmdate("w", time() + $pzone); + $tz = sprintf("%.2f", $p); + $GMT_gmt[$g] = "$tz"; + $GMT_day[$g] = "$pday"; + $GMT_hour[$g] = ($phour + $pmin); + $p = ($p - 0.25); + $g++; + } + + $stmt="SELECT * FROM vicidial_call_times where call_time_id='$local_call_time';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $Gct_default_start = "$rowx[3]"; + $Gct_default_stop = "$rowx[4]"; + $Gct_sunday_start = "$rowx[5]"; + $Gct_sunday_stop = "$rowx[6]"; + $Gct_monday_start = "$rowx[7]"; + $Gct_monday_stop = "$rowx[8]"; + $Gct_tuesday_start = "$rowx[9]"; + $Gct_tuesday_stop = "$rowx[10]"; + $Gct_wednesday_start = "$rowx[11]"; + $Gct_wednesday_stop = "$rowx[12]"; + $Gct_thursday_start = "$rowx[13]"; + $Gct_thursday_stop = "$rowx[14]"; + $Gct_friday_start = "$rowx[15]"; + $Gct_friday_stop = "$rowx[16]"; + $Gct_saturday_start = "$rowx[17]"; + $Gct_saturday_stop = "$rowx[18]"; + $Gct_state_call_times = "$rowx[19]"; + + $ct_states = ''; + $ct_state_gmt_SQL = ''; + $ct_srs=0; + $b=0; + if (strlen($Gct_state_call_times)>2) + { + $state_rules = explode('|',$Gct_state_call_times); + $ct_srs = ((count($state_rules)) - 2); + } + while($ct_srs >= $b) + { + if (strlen($state_rules[$b])>1) + { + $stmt="SELECT * from vicidial_state_call_times where state_call_time_id='$state_rules[$b]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Gstate_call_time_id = "$row[0]"; + $Gstate_call_time_state = "$row[1]"; + $Gsct_default_start = "$row[4]"; + $Gsct_default_stop = "$row[5]"; + $Gsct_sunday_start = "$row[6]"; + $Gsct_sunday_stop = "$row[7]"; + $Gsct_monday_start = "$row[8]"; + $Gsct_monday_stop = "$row[9]"; + $Gsct_tuesday_start = "$row[10]"; + $Gsct_tuesday_stop = "$row[11]"; + $Gsct_wednesday_start = "$row[12]"; + $Gsct_wednesday_stop = "$row[13]"; + $Gsct_thursday_start = "$row[14]"; + $Gsct_thursday_stop = "$row[15]"; + $Gsct_friday_start = "$row[16]"; + $Gsct_friday_stop = "$row[17]"; + $Gsct_saturday_start = "$row[18]"; + $Gsct_saturday_stop = "$row[19]"; + + $ct_states .="'$Gstate_call_time_state',"; + + $r=0; + $state_gmt=''; + while($r < $g) + { + if ($GMT_day[$r]==0) #### Sunday ora locale + { + if (($Gsct_sunday_start==0) and ($Gsct_sunday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_sunday_start) and ($GMT_hour[$r]<$Gsct_sunday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==1) #### Monday ora locale + { + if (($Gsct_monday_start==0) and ($Gsct_monday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_monday_start) and ($GMT_hour[$r]<$Gsct_monday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==2) #### Tuesday ora locale + { + if (($Gsct_tuesday_start==0) and ($Gsct_tuesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_tuesday_start) and ($GMT_hour[$r]<$Gsct_tuesday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==3) #### Wednesday ora locale + { + if (($Gsct_wednesday_start==0) and ($Gsct_wednesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_wednesday_start) and ($GMT_hour[$r]<$Gsct_wednesday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==4) #### Thursday ora locale + { + if (($Gsct_thursday_start==0) and ($Gsct_thursday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_thursday_start) and ($GMT_hour[$r]<$Gsct_thursday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==5) #### Friday ora locale + { + if (($Gsct_friday_start==0) and ($Gsct_friday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_friday_start) and ($GMT_hour[$r]<$Gsct_friday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==6) #### Saturday ora locale + { + if (($Gsct_saturday_start==0) and ($Gsct_saturday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_saturday_start) and ($GMT_hour[$r]<$Gsct_saturday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + $r++; + } + $state_gmt = "$state_gmt'99'"; + $ct_state_gmt_SQL .= "or (state='$Gstate_call_time_state' and gmt_offset_now IN($state_gmt)) "; + } + + $b++; + } + if (strlen($ct_states)>2) + { + $ct_states = eregi_replace(",$",'',$ct_states); + $ct_statesSQL = "and state NOT IN($ct_states)"; + } + else + { + $ct_statesSQL = ""; + } + + $r=0; + $default_gmt=''; + while($r < $g) + { + if ($GMT_day[$r]==0) #### Sunday ora locale + { + if (($Gct_sunday_start==0) and ($Gct_sunday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_sunday_start) and ($GMT_hour[$r]<$Gct_sunday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==1) #### Monday ora locale + { + if (($Gct_monday_start==0) and ($Gct_monday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_monday_start) and ($GMT_hour[$r]<$Gct_monday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==2) #### Tuesday ora locale + { + if (($Gct_tuesday_start==0) and ($Gct_tuesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_tuesday_start) and ($GMT_hour[$r]<$Gct_tuesday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==3) #### Wednesday ora locale + { + if (($Gct_wednesday_start==0) and ($Gct_wednesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_wednesday_start) and ($GMT_hour[$r]<$Gct_wednesday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==4) #### Thursday ora locale + { + if (($Gct_thursday_start==0) and ($Gct_thursday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_thursday_start) and ($GMT_hour[$r]<$Gct_thursday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==5) #### Friday ora locale + { + if (($Gct_friday_start==0) and ($Gct_friday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_friday_start) and ($GMT_hour[$r]<$Gct_friday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==6) #### Saturday ora locale + { + if (($Gct_saturday_start==0) and ($Gct_saturday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_saturday_start) and ($GMT_hour[$r]<$Gct_saturday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + $r++; + } + + $default_gmt = "$default_gmt'99'"; + $all_gmtSQL = "(gmt_offset_now IN($default_gmt) $ct_statesSQL) $ct_state_gmt_SQL"; + + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) - 0); + $Dsql = ''; + $o=0; + while ($Ds_to_print > $o) + { + $o++; + $Dsql .= "'$Dstatuses[$o]',"; + } + $Dsql = preg_replace("/,$/","",$Dsql); + + $stmt="SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $fSQL"; + #$DB=1; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rslt_rows = mysql_num_rows($rslt); + if ($rslt_rows) + { + $rowx=mysql_fetch_row($rslt); + $active_leads = "$rowx[0]"; + } + else {$active_leads = '0';} + + echo "|$DB|\n"; + echo "Questa campagna ha $active_leads contatti da chiamare in queste liste\n"; + } + else + { + echo "nessun esito di chiamata selezionato per questa campagna\n"; + } + } + else + { + echo "nessuna lista attiva selezionata per questa campagna\n"; + } + } +else + { + echo "nessuna lista attiva selezionata per questa campagna\n"; + } +##### END calculate what gmt_offset_now values are within the allowed local_call_time setting ### +} +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/admin_modify_lead.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/admin_modify_lead.php new file mode 100644 index 00000000..2934eb75 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/admin_modify_lead.php @@ -0,0 +1,711 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 60419-1705 - Added ability to change lead callback record from USERONLY to ANYONE or USERONLY-user +# 60421-1459 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60609-1112 - Added DNC list addition if status changed to DNC +# 60619-1539 - Added variable filtering to eliminate SQL injection attack threat +# 61130-1639 - Added recording_log lookup and list for this lead_id +# 61201-1136 - Added recording_log user(TSR) display and link +# 70305-1133 - Changed to default CHECKED modify logs upon status change +# 70424-1128 - Added campaign-specific statuses, reformatted recordings list +# 70702-1259 - Added recording location link and truncation +# 70906-2132 - Added closer_log records display +# 80428-0144 - UTF8 cleanup +# 80501-0454 - Added Hangup Reason to logs display +# 80516-0936 - Cleanup of logging changes, added vicidial_agent_log display +# 80701-0832 - Changed to allow for altering of main phone number +# 80805-2106 - Changed comments to TEXTAREA +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["old_phone"])) {$old_phone=$_GET["old_phone"];} + elseif (isset($_POST["old_phone"])) {$old_phone=$_POST["old_phone"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];} + elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];} + elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];} + elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];} + elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];} +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["security"])) {$security=$_GET["security"];} + elseif (isset($_POST["security"])) {$security=$_POST["security"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} +if (isset($_GET["CBchangeUSERtoANY"])) {$CBchangeUSERtoANY=$_GET["CBchangeUSERtoANY"];} + elseif (isset($_POST["CBchangeUSERtoANY"])) {$CBchangeUSERtoANY=$_POST["CBchangeUSERtoANY"];} +if (isset($_GET["CBchangeUSERtoUSER"])) {$CBchangeUSERtoUSER=$_GET["CBchangeUSERtoUSER"];} + elseif (isset($_POST["CBchangeUSERtoUSER"])) {$CBchangeUSERtoUSER=$_POST["CBchangeUSERtoUSER"];} +if (isset($_GET["CBchangeANYtoUSER"])) {$CBchangeANYtoUSER=$_GET["CBchangeANYtoUSER"];} + elseif (isset($_POST["CBchangeANYtoUSER"])) {$CBchangeANYtoUSER=$_POST["CBchangeANYtoUSER"];} +if (isset($_GET["callback_id"])) {$callback_id=$_GET["callback_id"];} + elseif (isset($_POST["callback_id"])) {$callback_id=$_POST["callback_id"];} +if (isset($_GET["CBuser"])) {$CBuser=$_GET["CBuser"];} + elseif (isset($_POST["CBuser"])) {$CBuser=$_POST["CBuser"];} +if (isset($_GET["modify_logs"])) {$modify_logs=$_GET["modify_logs"];} + elseif (isset($_POST["modify_logs"])) {$modify_logs=$_POST["modify_logs"];} +if (isset($_GET["modify_closer_logs"])) {$modify_closer_logs=$_GET["modify_closer_logs"];} + elseif (isset($_POST["modify_closer_logs"])) {$modify_closer_logs=$_POST["modify_closer_logs"];} +if (isset($_GET["modify_agent_logs"])) {$modify_agent_logs=$_GET["modify_agent_logs"];} + elseif (isset($_POST["modify_agent_logs"])) {$modify_agent_logs=$_POST["modify_agent_logs"];} +if (isset($_GET["add_closer_record"])) {$add_closer_record=$_GET["add_closer_record"];} + elseif (isset($_POST["add_closer_record"])) {$add_closer_record=$_POST["add_closer_record"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $old_phone = ereg_replace("[^0-9]","",$old_phone); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $alt_phone = ereg_replace("[^0-9]","",$alt_phone); + } +if (strlen($phone_number)<6) {$phone_number=$old_phone;} + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and modify_leads='1';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name,modify_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + + + +VICIDIAL ADMIN: Registro del Lead modificado + + +
    +VICIDIAL ADMIN: Registro del Lead modificado
    \n"; + +if ($end_call > 0) +{ + + ### update the lead record in the vicidial_list table + $stmt="UPDATE vicidial_list set status='" . mysql_real_escape_string($status) . "',first_name='" . mysql_real_escape_string($first_name) . "',last_name='" . mysql_real_escape_string($last_name) . "',address1='" . mysql_real_escape_string($address1) . "',address2='" . mysql_real_escape_string($address2) . "',address3='" . mysql_real_escape_string($address3) . "',city='" . mysql_real_escape_string($city) . "',state='" . mysql_real_escape_string($state) . "',province='" . mysql_real_escape_string($province) . "',postal_code='" . mysql_real_escape_string($postal_code) . "',country_code='" . mysql_real_escape_string($country_code) . "',alt_phone='" . mysql_real_escape_string($alt_phone) . "',phone_number='$phone_number',email='" . mysql_real_escape_string($email) . "',security_phrase='" . mysql_real_escape_string($security) . "',comments='" . mysql_real_escape_string($comments) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "informazione modificata

    \n"; + echo "\n"; + + if ( ($dispo != $status) and ($dispo == 'CBHOLD') ) + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status='ACTIVE';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + if ( ($dispo != $status) and ($dispo == 'CALLBK') ) + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + + if ( ($dispo != $status) and ($status == 'DNC') ) + { + ### add lead to the internal DNC list + $stmt="INSERT INTO vicidial_dnc (phone_number) values('" . mysql_real_escape_string($phone_number) . "');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    Lead added to DNC List: $lead_id - $phone_number
    \n"; + } + ### update last record in vicidial_log table + if (($dispo != $status) and ($modify_logs > 0)) + { + $stmt="UPDATE vicidial_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by call_date desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + ### update last record in vicidial_closer_log table + if (($dispo != $status) and ($modify_closer_logs > 0)) + { + $stmt="UPDATE vicidial_closer_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by call_date desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + ### update last record in vicidial_agent_log table + if (($dispo != $status) and ($modify_agent_logs > 0)) + { + $stmt="UPDATE vicidial_agent_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by agent_log_id desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + if ($add_closer_record > 0) + { + ### insert a NEW record to the vicidial_closer_log table + $stmt="INSERT INTO vicidial_closer_log (lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed) values('" . mysql_real_escape_string($lead_id) . "','" . mysql_real_escape_string($list_id) . "','" . mysql_real_escape_string($campaign_id) . "','" . mysql_real_escape_string($parked_time) . "','$NOW_TIME','$STARTtime','1','" . mysql_real_escape_string($status) . "','" . mysql_real_escape_string($phone_code) . "','" . mysql_real_escape_string($phone_number) . "','$PHP_AUTH_USER','" . mysql_real_escape_string($comments) . "','Y')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + +} +else +{ + + if ($CBchangeUSERtoANY == 'YES') + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set recipient='ANYONE' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record changed to ANYONE
    \n"; + } + if ($CBchangeUSERtoUSER == 'YES') + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record user changed to $CBuser
    \n"; + } + if ($CBchangeANYtoUSER == 'YES') + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "',recipient='USERONLY' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record changed to USERONLY, user: $CBuser
    \n"; + } + + + + $stmt="SELECT count(*) from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_count = $row[0]; + + if ($lead_count > 0) + { + + ##### grab vicidial_log records ##### + $stmt="select * from vicidial_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by uniqueid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + $call_log = ''; + $log_campaign = ''; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (strlen($log_campaign)<1) {$log_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + $call_log .= "
    "; + $call_log .= ""; + $call_log .= ""; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + + $campaign_id = $row[3]; + } + + ##### grab vicidial_agent_log records ##### + $stmt="select * from vicidial_agent_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by agent_log_id desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $Alogs_to_print = mysql_num_rows($rslt); + + $y=0; + $agent_log = ''; + $Alog_campaign = ''; + while ($Alogs_to_print > $y) + { + $row=mysql_fetch_row($rslt); + if (strlen($Alog_campaign)<1) {$Alog_campaign = $row[5];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + $agent_log .= ""; + $agent_log .= ""; + $agent_log .= ""; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + + $campaign_id = $row[5]; + } + + ##### grab vicidial_closer_log records ##### + $stmt="select * from vicidial_closer_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by closecallid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $Clogs_to_print = mysql_num_rows($rslt); + + $y=0; + $closer_log = ''; + $Clog_campaign = ''; + while ($Clogs_to_print > $y) + { + $row=mysql_fetch_row($rslt); + if (strlen($Clog_campaign)<1) {$Clog_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + + $campaign_id = $row[3]; + } + + ##### grab vicidial_list data for lead ##### + $stmt="SELECT * from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_id = "$row[0]"; + $dispo = "$row[3]"; + $tsr = "$row[4]"; + $vendor_id = "$row[5]"; + $list_id = "$row[7]"; + $gmt_offset_now = "$row[8]"; + $phone_code = "$row[10]"; + $phone_number = "$row[11]"; + $title = "$row[12]"; + $first_name = "$row[13]"; # + $middle_initial = "$row[14]"; + $last_name = "$row[15]"; # + $address1 = "$row[16]"; # + $address2 = "$row[17]"; # + $address3 = "$row[18]"; # + $city = "$row[19]"; # + $state = "$row[20]"; # + $province = "$row[21]"; # + $postal_code = "$row[22]"; # + $country_code = "$row[23]"; # + $gender = "$row[24]"; + $date_of_birth = "$row[25]"; + $alt_phone = "$row[26]"; # + $email = "$row[27]"; # + $security = "$row[28]"; # + $comments = "$row[29]"; # + + echo "
    Informazioni Chiamata: $first_name $last_name - $phone_number

    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    $u$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1] $row[15]
    $y$row[3] $row[5] $row[1] $row[7] $row[9] $row[11] $row[13]   $row[14]   $row[15]   $row[17]
    $y$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1]   $row[14]   $row[17]
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
    Vendor ID: $vendor_id     Lead ID: $lead_id
    Fronter: $tsr     ID Lista: $list_id
    Nome:   \n"; + echo " Cognome:
    Indirizzo 1 :
    Indirizzo 2 :
    Indirizzo 3 :
    Citta` :
    Estado:   \n"; + echo " CAP:
    Provincia :
    Stato :
    Main Phone :
    Numero Alt :
    Email :
    Seguridad:
    Note :
    Esito: (with $log_campaign statuses)
    Modify vicidial log
    Modify agent log
    Modify closer log
    Add closer log record
    \n"; + echo "


    \n"; + + if ( ($dispo == 'CALLBK') or ($dispo == 'CBHOLD') ) + { + ### find any vicidial_callback records for this lead + $stmt="select * from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CB_to_print = mysql_num_rows($rslt); + $rowx=mysql_fetch_row($rslt); + + if ($CB_to_print>0) + { + if ($rowx[9] == 'USERONLY') + { + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

    \n"; + + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UserID: \n"; + echo "

    \n"; + } + else + { + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UserID: \n"; + echo "

    \n"; + } + } + else + { + echo "
    No Callback records found
    \n"; + } + } + + + + + + + } + else + { + echo "las operaciones de búsqueda del plomo FALLARON para el lead_id $lead_id       $NOW_TIME\n

    \n"; +# echo "Close this window\n

    \n"; + } + + + +echo "

    \n"; + +echo "
    \n"; + +echo "CHIAMATE VERSO QUESTO CONTATTO:\n"; +echo "\n"; +echo "\n"; + + echo "$call_log\n"; + +echo "
    # DATE/TIME LENGTH STATUS TSR CAMPAGNA LIST LEAD HANGUP REASON
    \n"; +echo "

    \n"; + +echo "CLOSER RECORDS FOR THIS LEAD:\n"; +echo "\n"; +echo "\n"; + + echo "$closer_log\n"; + +echo "
    # DATE/TIME LENGTH STATUS TSR CAMPAGNA LIST LEAD WAIT HANGUP REASON
    \n"; +echo "

    \n"; + + +echo "AGENT LOG RECORDS FOR THIS LEAD:\n"; +echo "\n"; +echo "\n"; + + echo "$agent_log\n"; + +echo "
    # DATE/TIME CAMPAGNA TSR PAUSE WAIT TALK DISPO STATUS GROUP SUB
    \n"; +echo "

    \n"; + + +echo "RECORDINGS FOR THIS LEAD:\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from recording_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by recording_id desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $location = $row[11]; + if (strlen($location)>30) + {$locat = substr($location,0,27); $locat = "$locat...";} + else + {$locat = $location;} + if (eregi("http",$location)) + {$location = "$locat";} + else + {$location = $locat;} + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + + } + + +echo "
    # LEADDATE/TIME SECONDS   RECIDFILENAMELOCATIONTSR
    $u $row[12] $row[4] $row[8] $row[0]   $row[10] $location $row[13]
    \n"; + + + + +} + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n\n"; + + +echo "\n\n\n


    \nTempo Esecuzione Script: $RUNtime seconds
    "; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/admin_search_lead.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/admin_search_lead.php new file mode 100644 index 00000000..7f08c8c1 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/admin_search_lead.php @@ -0,0 +1,261 @@ + LICENSE: AGPLv2 +# +# AST GUI database administration search for lead info +# admin_modify_lead.php +# +# this is the administration lead information modifier screen, the administrator +# just needs to enter the leadID and then they can view and modify the information +# in the record for that lead +# +# changes: +# 60620-1055 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# - Changed results to multi-record +# 80710-0023 - Added searching by list, user, status +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and modify_leads='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name,modify_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + + + +VICIDIAL ADMIN: Ricerca Contatti + +Operaciones de búsqueda del Lead + + +VICIDIAL ADMIN: Lead search
    \n"; + + +if ( (!$vendor_id) and (!$phone) and (!$lead_id) and ( (strlen($status)<1) and (strlen($list_id)<1) and (strlen($user)<1) )) + { + echo date("l F j, Y G:i:s A"); + echo "\n

    \n"; + echo "
    \n"; + echo "\n"; + echo "Per favore, inserisci:
    Vendor ID(co`digo del vendedor del Lead): or \n"; + echo "
    un numero di telefono: or\n"; + echo "
    un ID Contatto: or\n"; + echo "
    esito:   \n"; + echo "list ID:   \n"; + echo "user:

    \n"; + echo "
    \n"; + echo "\n
    \n"; + echo "\n"; + exit; + } + +else + { + + if ($vendor_id) + { + $stmt="SELECT * from vicidial_list where vendor_lead_code='" . mysql_real_escape_string($vendor_id) . "' order by modify_date desc limit 1000"; + } + else + { + if ($phone) + { + $stmt="SELECT * from vicidial_list where phone_number='" . mysql_real_escape_string($phone) . "' order by modify_date desc limit 1000"; + } + else + { + if ($lead_id) + { + $stmt="SELECT * from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "' order by modify_date desc limit 1000"; + } + else + { + if ( (strlen($status)>0) or (strlen($list_id)>0) or (strlen($user)>0) ) + { + $statusSQL = ''; + $list_idSQL = ''; + $userSQL = ''; + if (strlen($status)>0) + { + $statusSQL = "status='" . mysql_real_escape_string($status) . "'"; $SQLctA++; + } + if (strlen($list_id)>0) + { + if ($SQLctA > 0) {$andA = 'and';} + $list_idSQL = "$andA list_id='" . mysql_real_escape_string($list_id) . "'"; $SQLctB++; + } + if (strlen($user)>0) + { + if ( ($SQLctA > 0) or ($SQLctB > 0) ) {$andB = 'and';} + $userSQL = "$andB user='" . mysql_real_escape_string($user) . "'"; + } + $stmt="SELECT * from vicidial_list where $statusSQL $list_idSQL $userSQL order by modify_date desc limit 1000"; + } + else + { + print "ERROR: you must search for something! Go back and search for something"; + exit; + } + } + } + } + if ($DB) + { + echo "\n\n$stmt\n\n"; + } + + $rslt=mysql_query($stmt, $link); + $results_to_print = mysql_num_rows($rslt); + if ($results_to_print < 1) + { + echo date("l F j, Y G:i:s A"); + echo "\n

    \n"; + echo "Le variabili di ricerca inserite non sono attive in questo sistema

    \n"; + echo "Per favore torna indietro e controlla di nuovo le informazioni inserite, quindi reinviale di nuovo\n"; + echo "
    \n"; + echo "\n"; + exit; + } + else + { + echo "RESULTS: $results_to_print

    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $o=0; + while ($results_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $o++; + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + echo "
    #LEAD IDESITOVENDOR IDLAST AGENTID LISTAPHONENOMECITYSECURITYLAST CALL
    $o$row[0]$row[3]$row[5]$row[4]$row[7]$row[11]$row[13] $row[15]$row[19]$row[28]$row[2]
    \n"; + } + } + + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \nNUOVA RICERCA"; + + +echo "\n\n\n


    \nTempo Esecuzione Script: $RUNtime seconds"; + + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/count.htm b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/count.htm new file mode 100644 index 00000000..51f8a361 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/count.htm @@ -0,0 +1 @@ + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/dbconnect.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/dbconnect.php new file mode 100644 index 00000000..dae8cc7a --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/dbconnect.php @@ -0,0 +1,60 @@ + LICENSE: AGPLv2 +# +if ( file_exists("/etc/astguiclient.conf") ) +{ +$DBCagc = file("/etc/astguiclient.conf"); +foreach ($DBCagc as $DBCline) + { + $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); + if (ereg("^PATHlogs", $DBCline)) + {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} + if (ereg("^PATHweb", $DBCline)) + {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} + if (ereg("^VARDB_server", $DBCline)) + {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} + if (ereg("^VARDB_database", $DBCline)) + {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} + if (ereg("^VARDB_user", $DBCline)) + {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} + if (ereg("^VARDB_pass", $DBCline)) + {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} + if (ereg("^VARDB_port", $DBCline)) + {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} + } + +} +else +{ +#defaults for DB connection +$VARDB_server = 'localhost'; +$VARDB_user = 'cron'; +$VARDB_pass = '1234'; +$VARDB_database = '1234'; +$WeBServeRRooT = '/usr/local/apache2/htdocs'; +} + +$link=mysql_connect("$VARDB_server", "$VARDB_user", "$VARDB_pass"); +if (!$link) { + die('MySQL connect ERROR: ' . mysql_error()); +} +mysql_select_db("$VARDB_database"); + +$local_DEF = 'Local/'; +$conf_silent_prefix = '7'; +$local_AMP = '@'; +$ext_context = 'demo'; +$recording_exten = '8309'; +$WeBRooTWritablE = '1'; +$non_latin = '0'; # set to 1 for UTF rules +$AM_shift_BEGIN = '03:45:00'; +$AM_shift_END = '17:45:00'; +$PM_shift_BEGIN = '17:45:01'; +$PM_shift_END = '23:59:59'; +$admin_qc_enabled = '0'; +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/group_hourly_stats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/group_hourly_stats.php new file mode 100644 index 00000000..85a19448 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/group_hourly_stats.php @@ -0,0 +1,252 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 60620-1014 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["date_with_hour"])) {$date_with_hour=$_GET["date_with_hour"];} + elseif (isset($_POST["date_with_hour"])) {$date_with_hour=$_POST["date_with_hour"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$date_with_hour_default = date("Y-m-d H"); +$date_no_hour_default = $TODAY; + +if (!isset($date_with_hour)) {$date_with_hour = $date_with_hour_default;} + $date_no_hour = $date_with_hour; + $date_no_hour = eregi_replace(" ([0-9]{2})",'',$date_no_hour); +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + +# $stmt="SELECT full_name from vicidial_users where user='$user';"; +# $rslt=mysql_query($stmt, $link); +# $row=mysql_fetch_row($rslt); +# $full_name = $row[0]; + + } + + + + +?> + + +VICIDIAL ADMIN: Statistiche Orarie Del Gruppo +\n"; +?> + + +
    + + + + + += '" . mysql_real_escape_string($date_with_hour) . ":00:00' and call_date <= '" . mysql_real_escape_string($date_with_hour) . ":59:59' and user='$VDuser[$o]';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VDtotal[$o] = "$row[0]"; + + $stmt="select count(*) from vicidial_log where call_date >= '" . mysql_real_escape_string($date_no_hour) . " 00:00:00' and call_date <= '" . mysql_real_escape_string($date_no_hour) . " 23:59:59' and user='$VDuser[$o]' and status='" . mysql_real_escape_string($status) . "';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VDday[$o] = "$row[0]"; + + $stmt="select count(*) from vicidial_log where call_date >= '" . mysql_real_escape_string($date_with_hour) . ":00:00' and call_date <= '" . mysql_real_escape_string($date_with_hour) . ":59:59' and user='$VDuser[$o]' and status='" . mysql_real_escape_string($status) . "';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VDcount[$o] = "$row[0]"; + $o++; + } + +echo "
    " ?>   VICIDIAL ADMIN: Statistiche Orarie Del Gruppo  
    \n"; + +echo "
    \n"; + +echo "DATI ORARI: $group | $status | $date_with_hour | $date_no_hour\n"; + +echo "
    \n"; +echo "\n"; + + $day_calls=0; + $hour_calls=0; + $total_calls=0; + $o=0; + while($o < $tsrs_to_print) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $total_calls = ($total_calls + $VDtotal[$o]); + $hour_calls = ($hour_calls + $VDcount[$o]); + $day_calls = ($day_calls + $VDday[$o]); + + $o++; + } + +echo "\n"; + + +} + +echo "
    TSR ID   $status   TOTALE CHIAMATE   $status DAY    
    $VDuser[$o] $VDname[$o] $VDcount[$o] $VDtotal[$o] $VDday[$o]MODIFICA | STATISTICHE
    TOTALE $status $hour_calls $total_calls $day_calls
    \n"; +echo "

    \n"; + + + echo "
    Per favore inserisci il gruppo per il quale vuoi le statistiche orarie:
    \n"; + echo "\n"; + echo "gruppo:
    \n"; + echo "esito:   (esempio: XFER)
    \n"; + echo "data e ora:   (esempio: 2004-06-25 14)
    \n"; + echo "\n"; + echo "


    \n"; + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n\n"; + + +echo "\n\n\n


    \nTempo Esecuzione Script: $RUNtime seconds
    "; + + +?> + + +
    + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/help.gif b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/help.gif new file mode 100644 index 0000000000000000000000000000000000000000..5575d7c8761954a943a67f99265cc408edfeca37 GIT binary patch literal 492 zcmV@K zrlzK7XlVcc{(zdZkfy!h=k1@f#?ad1KW2>Z^Y)^mqV4VLXlQ0|jj7+?-?g=~@9*#a z|NoMak9c=?>FMXq%*)5e#og%my1BWCh=?#*gAYJ&zrMYsqoV%*{r~>|{{H^||Nj6p zX13G(A^8LW002J#EC2ui02BZe000L6z@KnPEE=r$6g+ktoje(cAZZc{4nh|!Jvux)X@@=m zC21-y7sABGX&Z<(B|AJC&(S}$JRWB|DXBdgJUkNs!9S#?9v(X*xM}G+D<}p+2b5_V z8b~1O;i1q87Yz;w5oDsk4s-&2^x#n-!huJTe#ntg$k2xm+8(U%L!-zT3@08O+Yv#+ i0XJ}rR3Wh7fCU;Dx+Ew$Wrh+7CQhJ)nL_kP5CA(E_TC-< literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/listloader.pl b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/listloader.pl new file mode 100644 index 00000000..b8f9e064 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/listloader.pl @@ -0,0 +1,1102 @@ +#!/usr/bin/perl +# +# listloader.pl version 2.0.5 +# +# Copyright (C) 2008 Matt Florell,Joe Johnson LICENSE: AGPLv2 +# +# +# CHANGES +# 60616-1548 - Added listID override feature to force all leads into same list +# - Added gmt_offset_now lookup for each lead +# 60811-1232 - Changed to DBI +# 60811-1329 - changed to use /etc/astguiclient.conf for configs +# 60822-1121 - fixed for nonwritable directories +# 60906-1058 - added filter of non-digits in alt_phone field +# 61110-1229 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1215 - added postal code GMT lookup and duplicate check options +# 70205-1703 - Defaulted phone_code to 1 if not populated +# 70417-1059 - Fixed default phone_code bug +# 70510-1518 - Added campaign and system duplicate check and phonecode override +# 80428-0144 - UTF8 cleanup +# 80713-0023 - added last_local_call_time field default of 2008-01-01 +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n [-forcelistid=1234] = overrides the listID given in the file with the 1234\n [-h] = this help screen\n\n"; + + exit; + } + else + { + if ($args =~ /-duplicate-check/i) + {$dupcheck=1;} + if ($args =~ /-duplicate-campaign-check/i) + {$dupcheckcamp=1;} + if ($args =~ /-duplicate-system-check/i) + {$dupchecksys=1;} + if ($args =~ /-postal-code-gmt/i) + {$postalgmt=1;} + if ($args =~ /--forcelistid=/i) + { + @data_in = split(/--forcelistid=/,$args); + $forcelistid = $data_in[1]; + $forcelistid =~ s/ .*//gi; + print "\n----- FORCE LISTID OVERRIDE: $forcelistid -----\n\n"; + } + else + {$forcelistid = '';} + + if ($args =~ /--forcephonecode=/i) + { + @data_in = split(/--forcephonecode=/,$args); + $forcephonecode = $data_in[1]; + $forcephonecode =~ s/ .*//gi; + print "\n----- FORCE PHONECODE OVERRIDE: $forcephonecode -----\n\n"; + } + else + {$forcephonecode = '';} + + if ($args =~ /--lead-file=/i) + { + @data_in = split(/--lead-file=/,$args); + $lead_file = $data_in[1]; + $lead_file =~ s/ .*//gi; + # print "\n----- LEAD FILE: $lead_file -----\n\n"; + } + else + {$lead_file = './vicidial_temp_file.xls';} + } +} +### end parsing run-time options ### + + +use Spreadsheet::ParseExcel; +use Time::Local; +use DBI; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +$|=0; +$secX = time(); + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$pulldate="$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmtA = "SELECT use_non_latin FROM system_settings;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $non_latin = "$aryA[0]"; + } +$sthA->finish(); +##### END SETTINGS LOOKUP ##### +########################################### + + +if ($non_latin > 0) {$affected_rows = $dbhA->do("SET NAMES 'UTF8'");} + + ### Grab Server values from the database + $stmtA = "SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBSERVER_GMT = "$aryA[0]"; + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + $rec_count++; + } + $sthA->finish(); + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +if ($isdst) {$LOCAL_GMT_OFF++;} +if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + + + +$total=0; $good=0; $bad=0; +print "
    Processing Excel file...\n"; +open(STMT_FILE, "> $PATHlogs/listloader_stmts.txt"); + +$oBook = Spreadsheet::ParseExcel::Workbook->Parse("$lead_file"); +my($iR, $iC, $oWkS, $oWkC); + +foreach $oWkS (@{$oBook->{Worksheet}}) { + for($iR = 0 ; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++) { + + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user = ""; + $oWkC = $oWkS->{Cells}[$iR][0]; + if ($oWkC) {$vendor_lead_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][1]; + if ($oWkC) {$source_code=$oWkC->Value; } + $source_id=$source_code; + $oWkC = $oWkS->{Cells}[$iR][2]; + if ($oWkC) {$list_id=$oWkC->Value; } + $gmt_offset = '0'; + $called_since_last_reset='N'; + $oWkC = $oWkS->{Cells}[$iR][3]; + if ($oWkC) {$phone_code=$oWkC->Value; } + $phone_code=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][4]; + if ($oWkC) {$phone_number=$oWkC->Value; } + $phone_number=~s/[^0-9]//g; + $USarea = substr($phone_number, 0, 3); + $oWkC = $oWkS->{Cells}[$iR][5]; + if ($oWkC) {$title=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][6]; + if ($oWkC) {$first_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][7]; + if ($oWkC) {$middle_initial=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][8]; + if ($oWkC) {$last_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][9]; + if ($oWkC) {$address1=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][10]; + if ($oWkC) {$address2=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][11]; + if ($oWkC) {$address3=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][12]; + if ($oWkC) {$city=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][13]; + if ($oWkC) {$state=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][14]; + if ($oWkC) {$province=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][15]; + if ($oWkC) {$postal_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][16]; + if ($oWkC) {$country=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][17]; + if ($oWkC) {$gender=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][18]; + if ($oWkC) {$date_of_birth=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][19]; + if ($oWkC) {$alt_phone=$oWkC->Value; } + $alt_phone=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][20]; + if ($oWkC) {$email=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][21]; + if ($oWkC) {$security_phrase=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][22]; + if ($oWkC) {$comments=$oWkC->Value; } + $comments=~s/^\s*(.*?)\s*$/$1/; + + if (length($forcelistid) > 0) + { + $list_id = $forcelistid; # set list_id to override value + } + if (length($forcephonecode) > 0) + { + $phone_code = $forcephonecode; # set phone_code to override value + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if ($dupchecksys > 0) + { + $dup_lead=0; + $stmtA = "select count(*) from vicidial_list where phone_number='$phone_number';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead = $aryA[0]; + $dup_lead_list=$list_id; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if ($dupcheck > 0) + { + $dup_lead=0; + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id='$list_id' limit 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = $aryA[0]; + $dup_lead++; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if ($dupcheckcamp > 0) + { + $dup_lead=0; + $dup_lists=''; + + $stmtA = "select count(*) from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $ci_recs = $aryA[0]; + $sthA->finish(); + if ($ci_recs > 0) + { + $stmtA = "select campaign_id from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $dup_camp = $aryA[0]; + $sthA->finish(); + + $stmtA = "select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lists .= "'$aryA[0]',"; + $rec_count++; + } + $sthA->finish(); + + chop($dup_lists); + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = "'$aryA[0]',"; + $rec_count++; + $dup_lead=1; + } + $sthA->finish(); + } + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + + if ( (length($phone_number)>6) && ($dup_lead < 1) ) + { + $phone_list .= "$phone_number$US$list_id|"; + $postalgmt_found=0; + if (length($phone_code)<1) {$phone_code = '1';} + + if ( ($postalgmt > 0) && (length($postal_code)>4) ) + { + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[2]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[3]; + $dst_range = $aryA[4]; + $PC_processed++; + $rec_count++; + $postalgmt_found++; + if ($DBX) {print " Postal GMT record found for $postal_code: |$gmt_offset|$dst|$dst_range|\n";} + } + $sthA->finish(); + } + } + if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### MEXICO ### + if ($phone_code =~ /^52$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### AUSTRALIA ### + if ($phone_code =~ /^61$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + } + + ### Find out if DST to raise the gmt offset ### + $AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); + $AC_localtime = ($secX + (3600 * $AC_GMT_diff)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($AC_localtime); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + $AC_processed=0; + + if ( (!$AC_processed) && ($dst_range =~ /SSM-FSN/) ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + &USACAN_dstcalc; + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSA-LSO/) ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + &NA_dstcalc; + if ($DBX) {print " DST: $NA_DST\n";} + if ($NA_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSM-LSO/) ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + &GBR_dstcalc; + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSO-LSM/) ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + &AUS_dstcalc; + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-LSM/) ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + &AUST_dstcalc; + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-TSM/) ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + &NZL_dstcalc; + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /TSO-LSF/) ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + &BZL_dstcalc; + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$area_GMT++;} + $AC_processed++; + } + if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00');"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00'),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
    record $total BAD- PHONE: $phone_number ROW: |$row[0]| $dup_lead_list\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + sleep(1); +# flush(); + } + } +} + +if ($multi_insert_counter > 0) { + $stmtZ = "INSERT INTO vicidial_list values ".substr($multistmt, 0, -1).";"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; +} + +print "

    Done
    GOOD: $good       BAD: $bad       TOTAL: $total
    "; + +exit; + + + + + + +sub USACAN_dstcalc { +#********************************************************************** +# SSM-FSN +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on Second Sunday March to First Sunday November at 2 am. +# INPUTS: +# mm INTEGER Month. +# dd INTEGER Day of the month. +# ns INTEGER Seconds into the day. +# dow INTEGER Day of week (0=Sunday, to 6=Saturday) +# OPTIONAL INPUT: +# timezone INTEGER hour difference UTC - local standard time +# (DEFAULT is blank) +# make calculations based on UTC time, +# which means shift at 10:00 UTC in April +# and 9:00 UTC in October +# OUTPUT: +# INTEGER 1 = DST, 0 = not DST +# +# S M T W T F S +# 1 2 3 4 5 6 7 +# 8 9 10 11 12 13 14 +#15 16 17 18 19 20 21 +#22 23 24 25 26 27 28 +#29 30 31 +# +# S M T W T F S +# 1 2 3 4 5 6 +# 7 8 9 10 11 12 13 +#14 15 16 17 18 19 20 +#21 22 23 24 25 26 27 +#28 29 30 31 +# +#********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 10) { + $USACAN_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; return 1; + } elsif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } + } else { + $USACAN_DST=0; return 0; + } + } elsif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; return 0; + } elsif ($dd < ($dow+1)) { + $USACAN_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } + } else { + $USACAN_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub NA_dstcalc { +#********************************************************************** +# FSA-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in April and last Sunday in October at 2 am. +#********************************************************************** + + $NA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $NA_DST=0; return 0; + } elsif ($mm >= 5 && $mm <= 9) { + $NA_DST=1; return 1; + } elsif ($mm == 4) { + if ($dd > 7) { + $NA_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } + } else { + $NA_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $NA_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $NA_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } + } else { + $NA_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub GBR_dstcalc { +#********************************************************************** +# LSM-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in March and last Sunday in October at 1 am. +#********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 9) { + $GBR_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $GBR_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } + } else { + $GBR_DST=1; return 1; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $GBR_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } + } else { + $GBR_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub AUS_dstcalc { +#********************************************************************** +# LSO-LSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUS_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUS_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } + } else { + $AUS_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $AUS_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } + } else { + $AUS_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub AUST_dstcalc { +#********************************************************************** +# FSO-LSM +# TASMANIA ONLY +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUST_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUST_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } + } else { + $AUST_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $AUST_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } + } else { + $AUST_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub NZL_dstcalc { +#********************************************************************** +# FSO-TSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and third Sunday in March at 1 am. +#********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $NZL_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; return 1; + } elsif ($dd < ($dow+14)) { + $NZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } + } else { + $NZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $NZL_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } + } else { + $NZL_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub BZL_dstcalc { +#********************************************************************** +# TSO-LSF +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. Brazil +# Based on Third Sunday October to Last Sunday February at 1 am. +#********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; return 1; + } elsif ($mm >= 3 && $mm <= 9) { + $BZL_DST=0; return 0; + } elsif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; return 1; + } elsif ($dd < ($dow+22)) { + $BZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } + } else { + $BZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; return 0; + } elsif ($dd < ($dow+22)) { + $BZL_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } + } else { + $BZL_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/listloaderMAIN.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/listloaderMAIN.php new file mode 100644 index 00000000..f76f8e85 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/listloaderMAIN.php @@ -0,0 +1,86 @@ + LICENSE: AGPLv2 +# +# this is the main frame page for the lead loading section. This is where you +# would upload a file and have it inserted into vicidial_list +# +# changes: +# 60620-1149 - Added variable filtering to eliminate SQL injection attack threat +# 60822-1105 - fixed for nonwritable directories +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) {$fp = fopen ("./project_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-LEAD-LOADER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT load_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGload_leads =$row[0]; + + if ($LOGload_leads < 1) + { + echo "You do not have permissions to load leads\n"; + exit; + } + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + +VICIDIAL: Modulo Caricamento Contatti + + + + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/listloader_rowdisplay.pl b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/listloader_rowdisplay.pl new file mode 100644 index 00000000..bbfc8170 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/listloader_rowdisplay.pl @@ -0,0 +1,153 @@ +#!/usr/bin/perl +# +# listloader_rowdisplay.pl version 2.0.5 +# +# Copyright (C) 2008 Matt Florell,Joe Johnson LICENSE: AGPLv2 +# +# +# CHANGES +# +# 60811-1232 - Changed to DBI +# 60811-1329 - changed to use /etc/astguiclient.conf for configs +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n [-forcelistid=1234] = overrides the listID given in the file with the 1234\n [-h] = this help screen\n\n"; + + exit; + } + else + { + if ($args =~ /-duplicate-check/i) + {$dupcheck=1;} + if ($args =~ /-postal-code-gmt/i) + {$postalgmt=1;} + if ($args =~ /--lead-file=/i) + { + @data_in = split(/--lead-file=/,$args); + $lead_file = $data_in[1]; + $lead_file =~ s/ .*//gi; + # print "\n----- LEAD FILE: $lead_file -----\n\n"; + } + else + {$lead_file = './vicidial_temp_file.xls';} + } +} +### end parsing run-time options ### + +use Spreadsheet::ParseExcel; +use Time::Local; +use DBI; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +$oBook = Spreadsheet::ParseExcel::Workbook->Parse("$lead_file"); +my($iR, $iC, $oWkS, $oWkC); +$var_str=""; + +foreach $oWkS (@{$oBook->{Worksheet}}) { + for(my $iC = $oWkS->{MinCol} ; defined $oWkS->{MaxCol} && $iC <= $oWkS->{MaxCol} ; $iC++) { + $oWkC = $oWkS->{Cells}[0][$iC]; + if ($oWkC) { + $var_str.=$oWkC->Value."|"; + } else { + $var_str.="|"; + } + } +} + +@xls_row=split(/\|/, $var_str); + + +$stmtA = "select vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments from vicidial_list limit 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + my $names = $sthA->{'NAME'}; + my $numFields = $sthA->{'NUM_OF_FIELDS'}; + for (my $i = 0; $i < $numFields; $i++) + { + # printf("%s%s", $i ? "," : "", $$names[$i]); + # printf("%s%s", $i ? "," : "", $$ref[$i]); + + $field_name=uc($$names[$i]); + $field_name=~s/\_/ /g; + print "
    \r\n"; + print " \r\n"; + } + $rec_count++; + } +$sthA->finish(); + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/listloader_super.pl b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/listloader_super.pl new file mode 100644 index 00000000..3af97f37 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/listloader_super.pl @@ -0,0 +1,1104 @@ +#!/usr/bin/perl +# +# listloader_super.pl version 2.0.5 +# +# Copyright (C) 2008 Matt Florell,Joe Johnson LICENSE: AGPLv2 +# +# +# CHANGES +# 60616-1548 - Added listID override feature to force all leads into same list +# - Added gmt_offset_now lookup for each lead +# 60811-1232 - Changed to DBI +# 60811-1329 - changed to use /etc/astguiclient.conf for configs +# 60906-1056 - added filter of non-digits in alt_phone field +# 61110-1229 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1207 - added postal code GMT lookup and duplicate check options +# 70205-1703 - Defaulted phone_code to 1 if not populated +# 70417-1059 - Fixed default phone_code bug +# 70510-1518 - Added campaign and system duplicate check and phonecode override +# 80428-0144 - UTF8 cleanup +# 80713-0023 - added last_local_call_time field default of 2008-01-01 +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n [-forcelistid=1234] = overrides the listID given in the file with the 1234\n [-h] = this help screen\n\n"; + + exit; + } + else + { + if ($args =~ /-duplicate-check/i) + {$dupcheck=1;} + if ($args =~ /-duplicate-campaign-check/i) + {$dupcheckcamp=1;} + if ($args =~ /-duplicate-system-check/i) + {$dupchecksys=1;} + if ($args =~ /-postal-code-gmt/i) + {$postalgmt=1;} + if ($args =~ /--forcelistid=/i) + { + @data_in = split(/--forcelistid=/,$args); + $forcelistid = $data_in[1]; + $forcelistid =~ s/ .*//gi; + print "\n----- FORCE LISTID OVERRIDE: $forcelistid -----\n\n"; + } + else + {$forcelistid = '';} + + if ($args =~ /--forcephonecode=/i) + { + @data_in = split(/--forcephonecode=/,$args); + $forcephonecode = $data_in[1]; + $forcephonecode =~ s/ .*//gi; + print "\n----- FORCE PHONECODE OVERRIDE: $forcephonecode -----\n\n"; + } + else + {$forcephonecode = '';} + + if ($args =~ /--lead-file=/i) + { + @data_in = split(/--lead-file=/,$args); + $lead_file = $data_in[1]; + $lead_file =~ s/ .*//gi; + # print "\n----- LEAD FILE: $lead_file -----\n\n"; + } + else + {$lead_file = './vicidial_temp_file.xls';} + } +} +### end parsing run-time options ### + +use Spreadsheet::ParseExcel; +use Time::Local; +use DBI; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +$vars=$ARGV[0]; +@xls_fields=split(/\,/, $vars); + +$|=0; +$secX = time(); + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$pulldate="$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmtA = "SELECT use_non_latin FROM system_settings;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $non_latin = "$aryA[0]"; + } +$sthA->finish(); +##### END SETTINGS LOOKUP ##### +########################################### + + +if ($non_latin > 0) {$affected_rows = $dbhA->do("SET NAMES 'UTF8'");} + +### Grab Server values from the database +$stmtA = "SELECT local_gmt FROM servers where server_ip = '$server_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBSERVER_GMT = "$aryA[0]"; + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + $rec_count++; + } +$sthA->finish(); + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +if ($isdst) {$LOCAL_GMT_OFF++;} +if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + + + +$total=0; $good=0; $bad=0; +open(STMT_FILE, "> $PATHlogs/listloader_stmts.txt"); + +$oBook = Spreadsheet::ParseExcel::Workbook->Parse("$lead_file"); +my($iR, $iC, $oWkS, $oWkC); + +foreach $oWkS (@{$oBook->{Worksheet}}) { + for($iR = 0 ; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++) { + + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user = ""; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[0]]; + if ($oWkC) {$vendor_lead_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[1]]; + if ($oWkC) {$source_code=$oWkC->Value; } + $source_id=$source_code; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[2]]; + if ($oWkC) {$list_id=$oWkC->Value; } + $gmt_offset = '0'; + $called_since_last_reset='N'; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[3]]; + if ($oWkC) {$phone_code=$oWkC->Value; } + $phone_code=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[4]]; + if ($oWkC) {$phone_number=$oWkC->Value; } + $phone_number=~s/[^0-9]//g; + $USarea = substr($phone_number, 0, 3); + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[5]]; + if ($oWkC) {$title=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[6]]; + if ($oWkC) {$first_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[7]]; + if ($oWkC) {$middle_initial=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[8]]; + if ($oWkC) {$last_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[9]]; + if ($oWkC) {$address1=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[10]]; + if ($oWkC) {$address2=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[11]]; + if ($oWkC) {$address3=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[12]]; + if ($oWkC) {$city=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[13]]; + if ($oWkC) {$state=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[14]]; + if ($oWkC) {$province=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[15]]; + if ($oWkC) {$postal_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[16]]; + if ($oWkC) {$country_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[17]]; + if ($oWkC) {$gender=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[18]]; + if ($oWkC) {$date_of_birth=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[19]]; + if ($oWkC) {$alt_phone=$oWkC->Value; } + $alt_phone=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[20]]; + if ($oWkC) {$email=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[21]]; + if ($oWkC) {$security_phrase=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[22]]; + if ($oWkC) {$comments=$oWkC->Value; } + $comments=~s/^\s*(.*?)\s*$/$1/; + + + + if (length($forcelistid) > 0) + { + $list_id = $forcelistid; # set list_id to override value + } + if (length($forcephonecode) > 0) + { + $phone_code = $forcephonecode; # set phone_code to override value + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if ($dupchecksys > 0) + { + $dup_lead=0; + $stmtA = "select count(*) from vicidial_list where phone_number='$phone_number';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead = $aryA[0]; + $dup_lead_list=$list_id; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if ($dupcheck > 0) + { + $dup_lead=0; + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id='$list_id' limit 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = $aryA[0]; + $dup_lead++; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if ($dupcheckcamp > 0) + { + $dup_lead=0; + $dup_lists=''; + + $stmtA = "select count(*) from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $ci_recs = $aryA[0]; + $sthA->finish(); + if ($ci_recs > 0) + { + $stmtA = "select campaign_id from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $dup_camp = $aryA[0]; + $sthA->finish(); + + $stmtA = "select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lists .= "'$aryA[0]',"; + $rec_count++; + } + $sthA->finish(); + + chop($dup_lists); + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = "'$aryA[0]',"; + $rec_count++; + $dup_lead=1; + } + $sthA->finish(); + } + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + + if ( (length($phone_number)>6) && ($dup_lead < 1) ) + { + $phone_list .= "$phone_number$US$list_id|"; + $postalgmt_found=0; + if (length($phone_code)<1) {$phone_code = '1';} + + if ( ($postalgmt > 0) && (length($postal_code)>4) ) + { + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[2]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[3]; + $dst_range = $aryA[4]; + $PC_processed++; + $rec_count++; + $postalgmt_found++; + if ($DBX) {print " Postal GMT record found for $postal_code: |$gmt_offset|$dst|$dst_range|\n";} + } + $sthA->finish(); + } + } + if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### MEXICO ### + if ($phone_code =~ /^52$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### AUSTRALIA ### + if ($phone_code =~ /^61$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + } + + ### Find out if DST to raise the gmt offset ### + $AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); + $AC_localtime = ($secX + (3600 * $AC_GMT_diff)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($AC_localtime); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + $AC_processed=0; + + if ( (!$AC_processed) && ($dst_range =~ /SSM-FSN/) ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + &USACAN_dstcalc; + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSA-LSO/) ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + &NA_dstcalc; + if ($DBX) {print " DST: $NA_DST\n";} + if ($NA_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSM-LSO/) ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + &GBR_dstcalc; + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSO-LSM/) ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + &AUS_dstcalc; + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-LSM/) ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + &AUST_dstcalc; + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-TSM/) ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + &NZL_dstcalc; + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /TSO-LSF/) ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + &BZL_dstcalc; + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$area_GMT++;} + $AC_processed++; + } + if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00');"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00'),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
    record $total BAD- PHONE: $phone_number ROW: |$row[0]| $dup_lead_list\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + sleep(1); +# flush(); + } + } +} + +if ($multi_insert_counter > 0) { + $stmtZ = "INSERT INTO vicidial_list values ".substr($multistmt, 0, -1).";"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; +} + +print "

    Done
    GOOD: $good       BAD: $bad       TOTAL: $total"; + +exit; + + + + + + +sub USACAN_dstcalc { +#********************************************************************** +# SSM-FSN +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on Second Sunday March to First Sunday November at 2 am. +# INPUTS: +# mm INTEGER Month. +# dd INTEGER Day of the month. +# ns INTEGER Seconds into the day. +# dow INTEGER Day of week (0=Sunday, to 6=Saturday) +# OPTIONAL INPUT: +# timezone INTEGER hour difference UTC - local standard time +# (DEFAULT is blank) +# make calculations based on UTC time, +# which means shift at 10:00 UTC in April +# and 9:00 UTC in October +# OUTPUT: +# INTEGER 1 = DST, 0 = not DST +# +# S M T W T F S +# 1 2 3 4 5 6 7 +# 8 9 10 11 12 13 14 +#15 16 17 18 19 20 21 +#22 23 24 25 26 27 28 +#29 30 31 +# +# S M T W T F S +# 1 2 3 4 5 6 +# 7 8 9 10 11 12 13 +#14 15 16 17 18 19 20 +#21 22 23 24 25 26 27 +#28 29 30 31 +# +#********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 10) { + $USACAN_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; return 1; + } elsif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } + } else { + $USACAN_DST=0; return 0; + } + } elsif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; return 0; + } elsif ($dd < ($dow+1)) { + $USACAN_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } + } else { + $USACAN_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub NA_dstcalc { +#********************************************************************** +# FSA-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in April and last Sunday in October at 2 am. +#********************************************************************** + + $NA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $NA_DST=0; return 0; + } elsif ($mm >= 5 && $mm <= 9) { + $NA_DST=1; return 1; + } elsif ($mm == 4) { + if ($dd > 7) { + $NA_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } + } else { + $NA_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $NA_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $NA_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } + } else { + $NA_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub GBR_dstcalc { +#********************************************************************** +# LSM-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in March and last Sunday in October at 1 am. +#********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 9) { + $GBR_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $GBR_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } + } else { + $GBR_DST=1; return 1; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $GBR_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } + } else { + $GBR_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub AUS_dstcalc { +#********************************************************************** +# LSO-LSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUS_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUS_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } + } else { + $AUS_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $AUS_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } + } else { + $AUS_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub AUST_dstcalc { +#********************************************************************** +# FSO-LSM +# TASMANIA ONLY +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUST_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUST_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } + } else { + $AUST_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $AUST_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } + } else { + $AUST_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub NZL_dstcalc { +#********************************************************************** +# FSO-TSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and third Sunday in March at 1 am. +#********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $NZL_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; return 1; + } elsif ($dd < ($dow+14)) { + $NZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } + } else { + $NZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $NZL_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } + } else { + $NZL_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub BZL_dstcalc { +#********************************************************************** +# TSO-LSF +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. Brazil +# Based on Third Sunday October to Last Sunday February at 1 am. +#********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; return 1; + } elsif ($mm >= 3 && $mm <= 9) { + $BZL_DST=0; return 0; + } elsif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; return 1; + } elsif ($dd < ($dow+22)) { + $BZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } + } else { + $BZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; return 0; + } elsif ($dd < ($dow+22)) { + $BZL_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } + } else { + $BZL_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/new_listloader_superL.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/new_listloader_superL.php new file mode 100644 index 00000000..c6bb87d7 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/new_listloader_superL.php @@ -0,0 +1,2035 @@ + LICENSE: AGPLv2 +# +# AST GUI lead loader from formatted file +# +# CHANGES +# 50602-1640 - First version created by Joe Johnson +# 51128-1108 - Removed PHP global vars requirement +# 60113-1603 - Fixed a few bugs in Excel import +# 60421-1624 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60616-1240 - added listID override +# 60616-1604 - added gmt lookup for each lead +# 60619-1651 - Added variable filtering to eliminate SQL injection attack threat +# 60822-1121 - fixed for nonwritable directories +# 60906-1100 - added filter of non-digits in alt_phone field +# 61110-1222 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1149 - added postal code GMT lookup and duplicate check options +# 70417-1059 - Fixed default phone_code bug +# 70510-1518 - Added campaign and system duplicate check and phonecode override +# 80428-0417 - UTF8 changes +# 80514-1030 - removed filesize limit and raised number of errors to be displayed +# 80713-0023 - added last_local_call_time field default of 2008-01-01 +# 81011-2009 - a few bug fixes +# +# make sure vicidial_list exists and that your file follows the formatting correctly. This page does not dedupe or do any other lead filtering actions yet at this time. + +$version = '2.0.5-27'; +$build = '81011-2009'; + + +require("dbconnect.php"); + +### links used for testing +#$link=mysql_connect("10.10.10.15", "cron", "1234"); +#mysql_select_db("asterisk"); +#$WeBServeRRooT = '/home/www/htdocs'; + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +$leadfile=$_FILES["leadfile"]; + $LF_orig = $_FILES['leadfile']['name']; + $LF_path = $_FILES['leadfile']['tmp_name']; +if (isset($_GET["submit_file"])) {$submit_file=$_GET["submit_file"];} + elseif (isset($_POST["submit_file"])) {$submit_file=$_POST["submit_file"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} +if (isset($_GET["leadfile_name"])) {$leadfile_name=$_GET["leadfile_name"];} + elseif (isset($_POST["leadfile_name"])) {$leadfile_name=$_POST["leadfile_name"];} +if (isset($_FILES["leadfile"])) {$leadfile_name=$_FILES["leadfile"]['name'];} +if (isset($_GET["file_layout"])) {$file_layout=$_GET["file_layout"];} + elseif (isset($_POST["file_layout"])) {$file_layout=$_POST["file_layout"];} +if (isset($_GET["OK_to_process"])) {$OK_to_process=$_GET["OK_to_process"];} + elseif (isset($_POST["OK_to_process"])) {$OK_to_process=$_POST["OK_to_process"];} +if (isset($_GET["vendor_lead_code_field"])) {$vendor_lead_code_field=$_GET["vendor_lead_code_field"];} + elseif (isset($_POST["vendor_lead_code_field"])) {$vendor_lead_code_field=$_POST["vendor_lead_code_field"];} +if (isset($_GET["source_id_field"])) {$source_id_field=$_GET["source_id_field"];} + elseif (isset($_POST["source_id_field"])) {$source_id_field=$_POST["source_id_field"];} +if (isset($_GET["list_id_field"])) {$list_id_field=$_GET["list_id_field"];} + elseif (isset($_POST["list_id_field"])) {$list_id_field=$_POST["list_id_field"];} +if (isset($_GET["phone_code_field"])) {$phone_code_field=$_GET["phone_code_field"];} + elseif (isset($_POST["phone_code_field"])) {$phone_code_field=$_POST["phone_code_field"];} +if (isset($_GET["phone_number_field"])) {$phone_number_field=$_GET["phone_number_field"];} + elseif (isset($_POST["phone_number_field"])) {$phone_number_field=$_POST["phone_number_field"];} +if (isset($_GET["title_field"])) {$title_field=$_GET["title_field"];} + elseif (isset($_POST["title_field"])) {$title_field=$_POST["title_field"];} +if (isset($_GET["first_name_field"])) {$first_name_field=$_GET["first_name_field"];} + elseif (isset($_POST["first_name_field"])) {$first_name_field=$_POST["first_name_field"];} +if (isset($_GET["middle_initial_field"])) {$middle_initial_field=$_GET["middle_initial_field"];} + elseif (isset($_POST["middle_initial_field"])) {$middle_initial_field=$_POST["middle_initial_field"];} +if (isset($_GET["last_name_field"])) {$last_name_field=$_GET["last_name_field"];} + elseif (isset($_POST["last_name_field"])) {$last_name_field=$_POST["last_name_field"];} +if (isset($_GET["address1_field"])) {$address1_field=$_GET["address1_field"];} + elseif (isset($_POST["address1_field"])) {$address1_field=$_POST["address1_field"];} +if (isset($_GET["address2_field"])) {$address2_field=$_GET["address2_field"];} + elseif (isset($_POST["address2_field"])) {$address2_field=$_POST["address2_field"];} +if (isset($_GET["address3_field"])) {$address3_field=$_GET["address3_field"];} + elseif (isset($_POST["address3_field"])) {$address3_field=$_POST["address3_field"];} +if (isset($_GET["city_field"])) {$city_field=$_GET["city_field"];} + elseif (isset($_POST["city_field"])) {$city_field=$_POST["city_field"];} +if (isset($_GET["state_field"])) {$state_field=$_GET["state_field"];} + elseif (isset($_POST["state_field"])) {$state_field=$_POST["state_field"];} +if (isset($_GET["province_field"])) {$province_field=$_GET["province_field"];} + elseif (isset($_POST["province_field"])) {$province_field=$_POST["province_field"];} +if (isset($_GET["postal_code_field"])) {$postal_code_field=$_GET["postal_code_field"];} + elseif (isset($_POST["postal_code_field"])) {$postal_code_field=$_POST["postal_code_field"];} +if (isset($_GET["country_code_field"])) {$country_code_field=$_GET["country_code_field"];} + elseif (isset($_POST["country_code_field"])) {$country_code_field=$_POST["country_code_field"];} +if (isset($_GET["gender_field"])) {$gender_field=$_GET["gender_field"];} + elseif (isset($_POST["gender_field"])) {$gender_field=$_POST["gender_field"];} +if (isset($_GET["date_of_birth_field"])) {$date_of_birth_field=$_GET["date_of_birth_field"];} + elseif (isset($_POST["date_of_birth_field"])) {$date_of_birth_field=$_POST["date_of_birth_field"];} +if (isset($_GET["alt_phone_field"])) {$alt_phone_field=$_GET["alt_phone_field"];} + elseif (isset($_POST["alt_phone_field"])) {$alt_phone_field=$_POST["alt_phone_field"];} +if (isset($_GET["email_field"])) {$email_field=$_GET["email_field"];} + elseif (isset($_POST["email_field"])) {$email_field=$_POST["email_field"];} +if (isset($_GET["security_phrase_field"])) {$security_phrase_field=$_GET["security_phrase_field"];} + elseif (isset($_POST["security_phrase_field"])) {$security_phrase_field=$_POST["security_phrase_field"];} +if (isset($_GET["comments_field"])) {$comments_field=$_GET["comments_field"];} + elseif (isset($_POST["comments_field"])) {$comments_field=$_POST["comments_field"];} +if (isset($_GET["list_id_override"])) {$list_id_override=$_GET["list_id_override"];} + elseif (isset($_POST["list_id_override"])) {$list_id_override=$_POST["list_id_override"];} + $list_id_override = (preg_replace("/\D/","",$list_id_override)); +if (isset($_GET["lead_file"])) {$lead_file=$_GET["lead_file"];} + elseif (isset($_POST["lead_file"])) {$lead_file=$_POST["lead_file"];} +if (isset($_GET["dupcheck"])) {$dupcheck=$_GET["dupcheck"];} + elseif (isset($_POST["dupcheck"])) {$dupcheck=$_POST["dupcheck"];} +if (isset($_GET["postalgmt"])) {$postalgmt=$_GET["postalgmt"];} + elseif (isset($_POST["postalgmt"])) {$postalgmt=$_POST["postalgmt"];} +if (isset($_GET["phone_code_override"])) {$phone_code_override=$_GET["phone_code_override"];} + elseif (isset($_POST["phone_code_override"])) {$phone_code_override=$_POST["phone_code_override"];} + $phone_code_override = (preg_replace("/\D/","",$phone_code_override)); + +# $country_field=$_GET["country_field"]; if (!$country_field) {$country_field=$_POST["country_field"];} + + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) +{ +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$list_id_override = ereg_replace("[^0-9]","",$list_id_override); +} + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) {$fp = fopen ("./project_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-LEAD-LOADER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 + header ("Pragma: no-cache"); // HTTP/1.0 + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT load_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGload_leads =$row[0]; + + if ($LOGload_leads < 1) + { + echo "You do not have permissions to load leads\n"; + exit; + } + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + + +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +$admDIR = "$HTTPprotocol$server_name$script_name"; +$admDIR = eregi_replace('new_listloader_superL.php','',$admDIR); +$admSCR = 'admin.php'; +$NWB = "   \"AIUTO\""; + +$secX = date("U"); +$hour = date("H"); +$min = date("i"); +$sec = date("s"); +$mon = date("m"); +$mday = date("d"); +$year = date("Y"); +$isdst = date("I"); +$Shour = date("H"); +$Smin = date("i"); +$Ssec = date("s"); +$Smon = date("m"); +$Smday = date("d"); +$Syear = date("Y"); +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + ### Grab Server GMT value from the database + $stmt="SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $rslt=mysql_query($stmt, $link); + $gmt_recs = mysql_num_rows($rslt); + if ($gmt_recs > 0) + { + $row=mysql_fetch_row($rslt); + $DBSERVER_GMT = "$row[0]"; + if (strlen($DBSERVER_GMT)>0) {$SERVER_GMT = $DBSERVER_GMT;} + if ($isdst) {$SERVER_GMT++;} + } + else + { + $SERVER_GMT = date("O"); + $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = ($SERVER_GMT + 0); + $SERVER_GMT = ($SERVER_GMT / 100); + } + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +#if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + + +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +function macfontfix($fontsize) { + + $browser = getenv("HTTP_USER_AGENT"); + $pctype = explode("(", $browser); + if (ereg("Mac",$pctype[1])) { + /* Browser is a Mac. If not Netscape 6, raise fonts */ + + $blownbrowser = explode('/', $browser); + $ver = explode(' ', $blownbrowser[1]); + $ver = $ver[0]; + if ($ver >= 5.0) return $fontsize; else return ($fontsize+2); + + } else return $fontsize; /* Browser is not a Mac - don't touch fonts */ +} + +echo "\n"; + +?> + + + +VICIDIAL ADMIN: Lead Loader + + + method=post onSubmit="ParseFileName()" enctype="multipart/form-data"> + + +
    ".$field_name.": \r\n"; + print " \r\n"; + print "
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Carica Contatti Da Questo File:
    Sovrascrittura ID Lista: (solo cifre o lasciare in bianco per usare i valori contenuti nel file)
    Sovrascrittura Codice Telefono: (solo cifre o lasciare in bianco per usare i valori contenuti nel file)
    Struttura del file da usare:Standard VICIDIAL    Struttura personalizzata
    Controlla Contatti Duplicati:
    Ricerca Fusi Orari (Solo USA):
            
            TORNA AD AMMINISTRAZIONELIST LOADER-     VERSIONE:     BUILD:    
    + + +document.forms[0].leadfile.disabled=true;document.forms[0].list_id_override.disabled=true;document.forms[0].phone_code_override.disabled=true; document.forms[0].submit_file.disabled=true; document.forms[0].reload_page.disabled=true;"; + flush(); + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + + if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) { + # copy($leadfile, "./vicidial_temp_file.txt"); + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + { + $stmt_file=fopen("listloader_stmts.txt", "w"); + } + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + + if (count($field_check)>=5) { + flush(); + $file=fopen("$lead_file", "r"); + print "
    Elaborazione in corso$delim_name-delimited file...\n"; + + if (strlen($list_id_override)>0) + { + print "

    ID LISTA OVERRIDE FOR THIS FILE: $list_id_override

    "; + } + + if (strlen($phone_code_override)>0) + { + print "

    SOVRASCRITTURA DEL CODICE TELEFONO PER QUESTO FILE: $phone_code_override

    "; + } + + while (!feof($file)) { + $record++; + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + + if (strlen($buffer)>0) { + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[$vendor_lead_code_field]; + $source_code = $row[$source_id_field]; + $source_id=$source_code; + $list_id = $row[$list_id_field]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[$phone_code_field]); + $phone_number = eregi_replace("[^0-9]", "", $row[$phone_number_field]); + $USarea = substr($phone_number, 0, 3); + $title = $row[$title_field]; + $first_name = $row[$first_name_field]; + $middle_initial = $row[$middle_initial_field]; + $last_name = $row[$last_name_field]; + $address1 = $row[$address1_field]; + $address2 = $row[$address2_field]; + $address3 = $row[$address3_field]; + $city =$row[$city_field]; + $state = $row[$state_field]; + $province = $row[$province_field]; + $postal_code = $row[$postal_code_field]; + $country_code = $row[$country_code_field]; + $gender = $row[$gender_field]; + $date_of_birth = $row[$date_of_birth_field]; + $alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]); + $email = $row[$email_field]; + $security_phrase = $row[$security_phrase_field]; + $comments = trim($row[$comments_field]); + + if (strlen($list_id_override)>0) + { + # print "

    ID LISTA OVERRIDE FOR THIS FILE: $list_id_override

    "; + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + $dup_lead_list = $list_id; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00');"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00'),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 1000000) {print "
    record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead $dup_lead_list\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

    Done
    GOOD: $good       BAD: $bad       TOTAL: $total
    "; + + } else { + print "
    ERRORE: Il file non ha il numero di campi necessare per essere elaborato.
    "; + } + } else if (!eregi(".csv", $leadfile_name)) { + # copy($leadfile, "./vicidial_temp_file.xls"); + $file=fopen("$lead_file", "r"); + + print "
    Elaborazione in corsoExcel file... \n"; + if (strlen($list_id_override)>0) + { + print "

    ID LISTA OVERRIDE FOR THIS FILE: $list_id_override

    \n"; + } + if (strlen($phone_code_override)>0) + { + print "

    SOVRASCRITTURA DEL CODICE TELEFONO PER QUESTO FILE: $phone_code_override

    \n"; + } + # print "|$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override --lead_file=$lead_file|"; + $dupcheckCLI=''; $postalgmtCLI=''; + if (eregi("DUPLIST",$dupcheck)) {$dupcheckCLI='--duplicate-check';} + if (eregi("DUPCAMP",$dupcheck)) {$dupcheckCLI='--duplicate-campaign-check';} + if (eregi("DUPSYS",$dupcheck)) {$dupcheckCLI='--duplicate-system-check';} + if (eregi("POSTAL",$postalgmt)) {$postalgmtCLI='--postal-code-gmt';} + passthru("$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override --forcephonecode=$phone_code_override --lead-file=$lead_file $postalgmtCLI $dupcheckCLI"); + } else { + # copy($leadfile, "./vicidial_temp_file.csv"); + $file=fopen("$lead_file", "r"); + + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + print "
    Elaborazione in corsoCSV file... \n"; + if (strlen($list_id_override)>0) + { + print "

    ID LISTA OVERRIDE FOR THIS FILE: $list_id_override

    "; + } + + if (strlen($phone_code_override)>0) + { + print "

    SOVRASCRITTURA DEL CODICE TELEFONO PER QUESTO FILE: $phone_code_override

    "; + } + + while($row=fgetcsv($file, 1000, ",")) { + + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[$vendor_lead_code_field]; + $source_code = $row[$source_id_field]; + $source_id=$source_code; + $list_id = $row[$list_id_field]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[$phone_code_field]); + $phone_number = eregi_replace("[^0-9]", "", $row[$phone_number_field]); + $USarea = substr($phone_number, 0, 3); + $title = $row[$title_field]; + $first_name = $row[$first_name_field]; + $middle_initial = $row[$middle_initial_field]; + $last_name = $row[$last_name_field]; + $address1 = $row[$address1_field]; + $address2 = $row[$address2_field]; + $address3 = $row[$address3_field]; + $city =$row[$city_field]; + $state = $row[$state_field]; + $province = $row[$province_field]; + $postal_code = $row[$postal_code_field]; + $country_code = $row[$country_code_field]; + $gender = $row[$gender_field]; + $date_of_birth = $row[$date_of_birth_field]; + $alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]); + $email = $row[$email_field]; + $security_phrase = $row[$security_phrase_field]; + $comments = trim($row[$comments_field]); + + if (strlen($list_id_override)>0) + { + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00');"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00'),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 1000000) {print "
    record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + print "

    Done
    GOOD: $good       BAD: $bad       TOTAL: $total
    "; + } + print ""; + } + +if ($leadfile) { + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + if ($file_layout=="standard") { + + print ""; + flush(); + + if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) { + + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"); + $lead_file = "./vicidial_temp_file.txt"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.txt"); + $lead_file = "/tmp/vicidial_temp_file.txt"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + + if (count($field_check)>=5) { + flush(); + $file=fopen("$lead_file", "r"); + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + print "
    Elaborazione in corso$delim_name-delimited file... ($tab_count|$pipe_count)\n"; + if (strlen($list_id_override)>0) + { + print "

    ID LISTA OVERRIDE FOR THIS FILE: $list_id_override

    "; + } + if (strlen($phone_code_override)>0) + { + print "

    SOVRASCRITTURA DEL CODICE TELEFONO PER QUESTO FILE: $phone_code_override

    \n"; + } + while (!feof($file)) { + $record++; + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + + if (strlen($buffer)>0) { + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[0]; + $source_code = $row[1]; + $source_id=$source_code; + $list_id = $row[2]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[3]); + $phone_number = eregi_replace("[^0-9]", "", $row[4]); + $USarea = substr($phone_number, 0, 3); + $title = $row[5]; + $first_name = $row[6]; + $middle_initial = $row[7]; + $last_name = $row[8]; + $address1 = $row[9]; + $address2 = $row[10]; + $address3 = $row[11]; + $city =$row[12]; + $state = $row[13]; + $province = $row[14]; + $postal_code = $row[15]; + $country_code = $row[16]; + $gender = $row[17]; + $date_of_birth = $row[18]; + $alt_phone = eregi_replace("[^0-9]", "", $row[19]); + $email = $row[20]; + $security_phrase = $row[21]; + $comments = trim($row[22]); + + if (strlen($list_id_override)>0) + { + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00');"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00'),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 1000000) {print "
    record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

    Done
    GOOD: $good       BAD: $bad       TOTAL: $total
    "; + + } else { + print "
    ERRORE: Il file non ha il numero di campi necessare per essere elaborato.
    "; + } + } else if (!eregi(".csv", $leadfile_name)) + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.xls"); + $lead_file = "/tmp/vicidial_temp_file.xls"; + } + $file=fopen("$lead_file", "r"); + + # echo "|$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override --lead-file=$lead_file|"; + $dupcheckCLI=''; $postalgmtCLI=''; + if (eregi("DUPLIST",$dupcheck)) {$dupcheckCLI='--duplicate-check';} + if (eregi("DUPCAMP",$dupcheck)) {$dupcheckCLI='--duplicate-campaign-check';} + if (eregi("DUPSYS",$dupcheck)) {$dupcheckCLI='--duplicate-system-check';} + if (eregi("POSTAL",$postalgmt)) {$postalgmtCLI='--postal-code-gmt';} + passthru("$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override --forcephonecode=$phone_code_override --lead-file=$lead_file $postalgmtCLI $dupcheckCLI"); + + } + else + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.csv"); + $lead_file = "/tmp/vicidial_temp_file.csv"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + print "
    Elaborazione in corsoCSV file... \n"; + + if (strlen($list_id_override)>0) + { + print "

    ID LISTA OVERRIDE FOR THIS FILE: $list_id_override

    "; + } + if (strlen($phone_code_override)>0) + { + print "

    SOVRASCRITTURA DEL CODICE TELEFONO PER QUESTO FILE: $phone_code_override

    "; + } + + while($row=fgetcsv($file, 1000, ",")) { + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[0]; + $source_code = $row[1]; + $source_id=$source_code; + $list_id = $row[2]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[3]); + $phone_number = eregi_replace("[^0-9]", "", $row[4]); + $USarea = substr($phone_number, 0, 3); + $title = $row[5]; + $first_name = $row[6]; + $middle_initial = $row[7]; + $last_name = $row[8]; + $address1 = $row[9]; + $address2 = $row[10]; + $address3 = $row[11]; + $city =$row[12]; + $state = $row[13]; + $province = $row[14]; + $postal_code = $row[15]; + $country_code = $row[16]; + $gender = $row[17]; + $date_of_birth = $row[18]; + $alt_phone = eregi_replace("[^0-9]", "", $row[19]); + $email = $row[20]; + $security_phrase = $row[21]; + $comments = trim($row[22]); + + if (strlen($list_id_override)>0) + { + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00');"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00'),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 1000000) {print "
    record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

    Done
    GOOD: $good       BAD: $bad       TOTAL: $total
    "; + + } + print ""; + + } else { + print "
    "; + flush(); + print "\r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + + $rslt=mysql_query("select vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments from vicidial_list limit 1", $link); + + + if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.txt"); + $lead_file = "/tmp/vicidial_temp_file.txt"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + flush(); + $file=fopen("$lead_file", "r"); + print "
    Elaborazione in corso$delim_name-delimited file...\n"; + + if (strlen($list_id_override)>0) + { + print "

    ID LISTA OVERRIDE FOR THIS FILE: $list_id_override

    "; + } + if (strlen($phone_code_override)>0) + { + print "

    SOVRASCRITTURA DEL CODICE TELEFONO PER QUESTO FILE: $phone_code_override

    "; + } + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + + for ($i=0; $i\n"; + } else { + print "
    \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + } + + } + } + else if (!eregi(".csv", $leadfile_name)) + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.xls"); + $lead_file = "/tmp/vicidial_temp_file.xls"; + } + + # echo "|$WeBServeRRooT/vicidial/listloader_rowdisplay.pl --lead-file=$lead_file|"; + $dupcheckCLI=''; $postalgmtCLI=''; + if (eregi("DUPLIST",$dupcheck)) {$dupcheckCLI='--duplicate-check';} + if (eregi("DUPCAMP",$dupcheck)) {$dupcheckCLI='--duplicate-campaign-check';} + if (eregi("DUPSYS",$dupcheck)) {$dupcheckCLI='--duplicate-system-check';} + if (eregi("POSTAL",$postalgmt)) {$postalgmtCLI='--postal-code-gmt';} + passthru("$WeBServeRRooT/vicidial/listloader_rowdisplay.pl --lead-file=$lead_file $postalgmtCLI $dupcheckCLI"); + } + else + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.csv"); + $lead_file = "/tmp/vicidial_temp_file.csv"; + } + $file=fopen("$lead_file", "r"); + + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + print "
    Elaborazione in corsoCSV file... \n"; + + if (strlen($list_id_override)>0) + { + print "

    ID LISTA OVERRIDE FOR THIS FILE: $list_id_override

    "; + } + if (strlen($phone_code_override)>0) + { + print "

    SOVRASCRITTURA DEL CODICE TELEFONO PER QUESTO FILE: $phone_code_override

    "; + } + + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + $row=fgetcsv($file, 1000, ","); + for ($i=0; $i\n"; + } else { + print "
    \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + } + } + } + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print "
    VICIDIAL ColonnaDati File
    ".strtoupper(eregi_replace("_", " ", mysql_field_name($rslt, $i))).":
    ".strtoupper(eregi_replace("_", " ", mysql_field_name($rslt, $i))).":
            
    \r\n"; + # } + print ""; + } +#} else if (filesize($leadfile)>8388608) { +# print "
    ERROR: File exceeds the 8MB limit.
    "; +} +?> + + + + + + + + +4) ) + { + if (preg_match('/^1$/', $phone_code)) + { + $stmt="select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[3]; + $dst_range = $row[4]; + $PC_processed++; + $postalgmt_found++; + $post++; + } + } + } +if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =='1') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### MEXICO ### + if ($phone_code =='52') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### AUSTRALIA ### + if ($phone_code =='61') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $PC_processed++; + $stmt="select * from vicidial_phone_codes where country_code='$phone_code';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + } + +### Find out if DST to raise the gmt offset ### +$AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); +$AC_localtime = mktime(($Shour + $AC_GMT_diff), $Smin, $Ssec, $Smon, $Smday, $Syear); + $hour = date("H",$AC_localtime); + $min = date("i",$AC_localtime); + $sec = date("s",$AC_localtime); + $mon = date("m",$AC_localtime); + $mday = date("d",$AC_localtime); + $wday = date("w",$AC_localtime); + $year = date("Y",$AC_localtime); +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + +$AC_processed=0; +if ( (!$AC_processed) and ($dst_range == 'SSM-FSN') ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + #********************************************************************** + # SSM-FSN + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on Second Sunday March to First Sunday November at 2 am. + # INPUTS: + # mm INTEGER Month. + # dd INTEGER Day of the month. + # ns INTEGER Seconds into the day. + # dow INTEGER Day of week (0=Sunday, to 6=Saturday) + # OPTIONAL INPUT: + # timezone INTEGER hour difference UTC - local standard time + # (DEFAULT is blank) + # make calculations based on UTC time, + # which means shift at 10:00 UTC in April + # and 9:00 UTC in October + # OUTPUT: + # INTEGER 1 = DST, 0 = not DST + # + # S M T W T F S + # 1 2 3 4 5 6 7 + # 8 9 10 11 12 13 14 + #15 16 17 18 19 20 21 + #22 23 24 25 26 27 28 + #29 30 31 + # + # S M T W T F S + # 1 2 3 4 5 6 + # 7 8 9 10 11 12 13 + #14 15 16 17 18 19 20 + #21 22 23 24 25 26 27 + #28 29 30 31 + # + #********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; + } elseif ($mm >= 4 and $mm <= 10) { + $USACAN_DST=1; + } elseif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; + } elseif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } + } else { + $USACAN_DST=0; + } + } elseif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; + } elseif ($dd < ($dow+1)) { + $USACAN_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } else { # ora locale calculations + if ($ns < 7200) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } + } else { + $USACAN_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'FSA-LSO') ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + #********************************************************************** + # FSA-LSO + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in April and last Sunday in October at 2 am. + #********************************************************************** + + $USA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $USA_DST=0; + } elseif ($mm >= 5 and $mm <= 9) { + $USA_DST=1; + } elseif ($mm == 4) { + if ($dd > 7) { + $USA_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $USA_DST=0; + } else { + $USA_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $USA_DST=0; + } else { + $USA_DST=1; + } + } + } else { + $USA_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $USA_DST=1; + } elseif ($dd < ($dow+25)) { + $USA_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USA_DST=1; + } else { + $USA_DST=0; + } + } else { # ora locale calculations + if ($ns < 7200) { + $USA_DST=1; + } else { + $USA_DST=0; + } + } + } else { + $USA_DST=0; + } + } # end of month checks + + if ($DBX) {print " DST: $USA_DST\n";} + if ($USA_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'LSM-LSO') ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in March and last Sunday in October at 1 am. + #********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; + } elseif ($mm >= 4 and $mm <= 9) { + $GBR_DST=1; + } elseif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; + } elseif ($dd < ($dow+25)) { + $GBR_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } else { # ora locale calculations + if ($ns < 3600) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } + } else { + $GBR_DST=1; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; + } elseif ($dd < ($dow+25)) { + $GBR_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } else { # ora locale calculations + if ($ns < 3600) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } + } else { + $GBR_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } +if ( (!$AC_processed) and ($dst_range == 'LSO-LSM') ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUS_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; + } elseif ($dd < ($dow+25)) { + $AUS_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } else { # ora locale calculations + if ($ns < 3600) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } + } else { + $AUS_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; + } elseif ($dd < ($dow+25)) { + $AUS_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } else { # ora locale calculations + if ($ns < 3600) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } + } else { + $AUS_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'FSO-LSM') ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + #********************************************************************** + # TASMANIA ONLY + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUST_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; + } elseif ($dd < ($dow+25)) { + $AUST_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } else { # ora locale calculations + if ($ns < 3600) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } + } else { + $AUST_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $AUST_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } + } else { + $AUST_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } +if ( (!$AC_processed) and ($dst_range == 'FSO-TSM') ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and third Sunday in March at 1 am. + #********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $NZL_DST=0; + } elseif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; + } elseif ($dd < ($dow+14)) { + $NZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } else { # ora locale calculations + if ($ns < 3600) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } + } else { + $NZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $NZL_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } + } else { + $NZL_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'TSO-LSF') ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + #********************************************************************** + # TSO-LSF + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. Brazil + # Based on Third Sunday October to Last Sunday February at 1 am. + #********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; + } elseif ($mm >= 3 and $mm <= 9) { + $BZL_DST=0; + } elseif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; + } elseif ($dd < ($dow+22)) { + $BZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } else { # ora locale calculations + if ($ns < 3600) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } + } else { + $BZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; + } elseif ($dd < ($dow+22)) { + $BZL_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } else { # ora locale calculations + if ($ns < 3600) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } + } else { + $BZL_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$gmt_offset++;} + $AC_processed++; + } + +if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + +return $gmt_offset; +} + +?> diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/remote_dispo.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/remote_dispo.php new file mode 100644 index 00000000..86a988be --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/remote_dispo.php @@ -0,0 +1,329 @@ + LICENSE: AGPLv2 +# +# this is the remote agent disposition screen for calls sent to remote agents. +# This allows the remote agent to modify customer information and disposition +# the call +# +# CHANGES +# +# 60619-1626 - Added variable filtering to eliminate SQL injection attack threat +# + + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];} + elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["channel_group"])) {$channel_group=$_GET["channel_group"];} + elseif (isset($_POST["channel_group"])) {$channel_group=$_POST["channel_group"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["customer_zap_channel"])) {$customer_zap_channel=$_GET["customer_zap_channel"];} + elseif (isset($_POST["customer_zap_channel"])) {$customer_zap_channel=$_POST["customer_zap_channel"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];} + elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];} + elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["security"])) {$security=$_GET["security"];} + elseif (isset($_POST["security"])) {$security=$_POST["security"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_id"])) {$session_id=$_GET["session_id"];} + elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];} + elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$ext_context = 'demo'; +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 2;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-CLOSER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $fullname = $row[0]; + fwrite ($fp, "VD_CLOSER|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + + } + else + { + fwrite ($fp, "VD_CLOSER|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +?> + + +REMOTE VICIDIAL: disposicion De la Llamada +\n"; +?> + + +
    + +"; + +if ($end_call > 0) +{ + +$call_length = ($STARTtime - $call_began); + + ### insert a NEW record to the vicidial_closer_log table + $stmt="UPDATE vicidial_closer_log set end_epoch='$STARTtime', length_in_sec='" . mysql_real_escape_string($call_length) . "', status='" . mysql_real_escape_string($status) . "', user='$PHP_AUTH_USER' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by start_epoch desc limit 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + ### update the lead record in the vicidial_list table + $stmt="UPDATE vicidial_list set status='" . mysql_real_escape_string($status) . "',first_name='" . mysql_real_escape_string($first_name) . "',last_name='" . mysql_real_escape_string($last_name) . "',address1='" . mysql_real_escape_string($address1) . "',address2='" . mysql_real_escape_string($address2) . "',address3='" . mysql_real_escape_string($address3) . "',city='" . mysql_real_escape_string($city) . "',state='" . mysql_real_escape_string($state) . "',province='" . mysql_real_escape_string($province) . "',postal_code='" . mysql_real_escape_string($postal_code) . "',country_code='" . mysql_real_escape_string($country_code) . "',alt_phone='" . mysql_real_escape_string($alt_phone) . "',email='" . mysql_real_escape_string($email) . "',security_phrase='" . mysql_real_escape_string($security) . "',comments='" . mysql_real_escape_string($comments) . "',user='$PHP_AUTH_USER' where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "La Chiamata Ha Avuto Un Esito       $NOW_TIME\n

    \n"; + + echo "
    \n"; + +} +else +{ + $stmt="SELECT count(*) from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_count = $row[0]; + + if ($lead_count > 0) + { + + $stmt="SELECT * from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_id = "$row[0]"; + $tsr = "$row[4]"; + $vendor_id = "$row[5]"; + $list_id = "$row[7]"; + $campaign_id = "$row[8]"; + $phone_code = "$row[10]"; + $phone_number = "$row[11]"; + $title = "$row[12]"; + $first_name = "$row[13]"; # + $middle_initial = "$row[14]"; + $last_name = "$row[15]"; # + $address1 = "$row[16]"; # + $address2 = "$row[17]"; # + $address3 = "$row[18]"; # + $city = "$row[19]"; # + $state = "$row[20]"; # + $province = "$row[21]"; # + $postal_code = "$row[22]"; # + $country_code = "$row[23]"; # + $gender = "$row[24]"; + $date_of_birth = "$row[25]"; + $alt_phone = "$row[26]"; # + $email = "$row[27]"; # + $security = "$row[28]"; # + $comments = "$row[29]"; # + + echo "
    Informazioni Chiamata: $first_name $last_name - $phone_number

    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
    Vendor ID: $vendor_id     ID Campagna: $campaign_id
    Fronter: $tsr     ID Lista: $list_id
    Nome:   \n"; + echo " Cognome:
    Indirizzo 1 :
    Indirizzo 2 :
    Indirizzo 3 :
    Citta` :
    Estado:   \n"; + echo " CAP:
    Provincia :
    Stato :
    Numero Alt :
    Email :
    Seguridad:
    Note :
    Esito:
    \n"; + echo "


    \n"; + + } + else + { + echo "las operaciones de búsqueda del plomo FALLARON para el lead_id $lead_id       $NOW_TIME\n

    \n"; +# echo "Close this window\n

    \n"; + } + + + + + + +} + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n\n"; + + +echo "\n\n\n


    \nTempo Esecuzione Script: $RUNtime seconds
    "; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/user_stats.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/user_stats.php new file mode 100644 index 00000000..5a3c99fc --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/user_stats.php @@ -0,0 +1,558 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 60619-1743 - Added variable filtering to eliminate SQL injection attack threat +# 61201-1136 - Added recordings display and changed calls to time range with 10000 limit +# 70118-1605 - Added user group column to login/out and calls lists +# 70702-1231 - Added recording location link and truncation +# 80117-0316 - Added vicidial_user_closer_log entries to display +# 80501-0506 - Added Hangup Reason to logs display +# 80523-2012 - Added vicidial timeclock records display +# 80617-1402 - Fixed timeclock total logged-in time +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["begin_date"])) {$begin_date=$_GET["begin_date"];} + elseif (isset($_POST["begin_date"])) {$begin_date=$_POST["begin_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); + +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and view_reports='1';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + + $stmt="SELECT full_name from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + + } + + + + +?> + + +VICIDIAL ADMIN: User Stats +\n"; +?> + + +
    + + + + + +\n"; +echo "
    " ?>   VICIDIAL ADMIN: User Stats for  
      \n"; + +echo "
    \n"; +echo "\n"; +echo "\n"; +echo " to \n"; +echo "  \n"; +echo "\n"; + + +echo "           $user - $full_name\n"; + +echo " - VICIDIAL Time Sheet\n"; +echo " - User Status\n"; +echo " - Modifica Utente\n"; + + +echo "
    \n"; + + + $stmt="SELECT count(*),status, sum(length_in_sec) from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' group by status order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + +echo "
    \n"; + +##### vicidial agent talk time and status ##### + +echo "VICIDIAL TEMPO DI CHIAMATA E ESITO:\n"; + +echo "
    \n"; +echo "\n"; + + $total_calls=0; + $o=0; + while ($statuses_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $call_seconds = $row[2]; + $call_hours = ($call_seconds / 3600); + $call_hours_int = round($call_hours, 2); + $call_hours_int = intval("$call_hours_int"); + $call_minutes = ($call_hours - $call_hours_int); + $call_minutes = ($call_minutes * 60); + $call_minutes_int = round($call_minutes, 0); + if ($call_minutes_int < 10) {$call_minutes_int = "0$call_minutes_int";} + + echo ""; + echo "\n"; + echo "\n"; + $total_calls = ($total_calls + $row[0]); + + $call_seconds=0; + $o++; + } + + $stmt="SELECT sum(length_in_sec) from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59'"; + $rslt=mysql_query($stmt, $link); + $counts_to_print = mysql_num_rows($rslt); + $row=mysql_fetch_row($rslt); + $call_seconds = $row[0]; + $call_hours = ($call_seconds / 3600); + $call_hours_int = round($call_hours, 2); + $call_hours_int = intval("$call_hours_int"); + $call_minutes = ($call_hours - $call_hours_int); + $call_minutes = ($call_minutes * 60); + $call_minutes_int = round($call_minutes, 0); + if ($call_minutes_int < 10) {$call_minutes_int = "0$call_minutes_int";} + +echo "\n"; +echo "
    ESITOCUENTAORE:MINUTI
    $row[1] $row[0] $call_hours_int:$call_minutes_int
    TOTALE CHIAMATE $total_calls $call_hours_int:$call_minutes_int
    \n"; + + +##### Login and Logout time from vicidial agent interface ##### + +echo "

    \n"; + +echo "
    \n"; + +echo "VICIDIAL AGENT TIEMPO LOGIN/LOGOUT:\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT event,event_epoch,event_date,campaign_id,user_group from vicidial_user_log where user='" . mysql_real_escape_string($user) . "' and event_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and event_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59'"; + $rslt=mysql_query($stmt, $link); + $events_to_print = mysql_num_rows($rslt); + + $total_calls=0; + $o=0; + $event_start_seconds=''; + $event_stop_seconds=''; + while ($events_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("LOGIN", $row[0])) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + if (ereg("LOGIN", $row[0])) + { + $event_start_seconds = $row[1]; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + if (ereg("LOGOUT", $row[0])) + { + if ($event_start_seconds) + { + $event_stop_seconds = $row[1]; + $event_seconds = ($event_stop_seconds - $event_start_seconds); + $total_login_time = ($total_login_time + $event_seconds); + $event_hours = ($event_seconds / 3600); + $event_hours_int = round($event_hours, 2); + $event_hours_int = intval("$event_hours_int"); + $event_minutes = ($event_hours - $event_hours_int); + $event_minutes = ($event_minutes * 60); + $event_minutes_int = round($event_minutes, 0); + if ($event_minutes_int < 10) {$event_minutes_int = "0$event_minutes_int";} + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $event_start_seconds=''; + $event_stop_seconds=''; + } + else + { + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + } + } + + $total_calls = ($total_calls + $row[0]); + + $call_seconds=0; + $o++; + } + +$total_login_hours = ($total_login_time / 3600); +$total_login_hours_int = round($total_login_hours, 2); +$total_login_hours_int = intval("$total_login_hours_int"); +$total_login_minutes = ($total_login_hours - $total_login_hours_int); +$total_login_minutes = ($total_login_minutes * 60); +$total_login_minutes_int = round($total_login_minutes, 0); +if ($total_login_minutes_int < 10) {$total_login_minutes_int = "0$total_login_minutes_int";} + +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +echo "
    EVENTO DATA CAMPAGNA GROUPORE:MINUTI
    $row[0] $row[2] $row[3] $row[4]
    $row[0] $row[2] $row[3] $row[4] $event_hours_int:$event_minutes_int
    $row[0] $row[2] $row[3]
    TOTALE $total_login_hours_int:$total_login_minutes_int
    \n"; + + + + + +##### vicidial_timeclock log records for user ##### + +$total_login_time=0; +$SQday_ARY = explode('-',$begin_date); +$EQday_ARY = explode('-',$end_date); +$SQepoch = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); +$EQepoch = mktime(23, 59, 59, $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); + +echo "

    \n"; + +echo "
    \n"; + +echo "TIMECLOCK TIEMPO LOGIN/LOGOUT:\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT event,event_epoch,user_group,login_sec,ip_address,timeclock_id,manager_user from vicidial_timeclock_log where user='" . mysql_real_escape_string($user) . "' and event_epoch >= '$SQepoch' and event_epoch <= '$EQepoch';"; + if ($DB>0) {echo "|$stmt|";} + $rslt=mysql_query($stmt, $link); + $events_to_print = mysql_num_rows($rslt); + + $total_logs=0; + $o=0; + while ($events_to_print > $o) { + $row=mysql_fetch_row($rslt); + if ( ($row[0]=='START') or ($row[0]=='LOGIN') ) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $TC_log_date = date("Y-m-d H:i:s", $row[1]); + + $manager_edit=''; + if (strlen($row[6])>0) {$manager_edit = ' * ';} + + if (ereg("LOGIN", $row[0])) + { + $login_sec=''; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + if (ereg("LOGOUT", $row[0])) + { + $login_sec = $row[3]; + $total_login_time = ($total_login_time + $login_sec); + $event_hours = ($login_sec / 3600); + $event_hours_int = round($event_hours, 2); + $event_hours_int = intval("$event_hours_int"); + $event_minutes = ($event_hours - $event_hours_int); + $event_minutes = ($event_minutes * 60); + $event_minutes_int = round($event_minutes, 0); + if ($event_minutes_int < 10) {$event_minutes_int = "0$event_minutes_int";} + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + $o++; + } +if (strlen($login_sec)<1) + { + $login_sec = ($STARTtime - $row[1]); + $total_login_time = ($total_login_time + $login_sec); + if ($DB) {echo "LOGIN ONLY - $total_login_time - $login_sec";} + } +$total_login_hours = ($total_login_time / 3600); +$total_login_hours_int = round($total_login_hours, 2); +$total_login_hours_int = intval("$total_login_hours_int"); +$total_login_minutes = ($total_login_hours - $total_login_hours_int); +$total_login_minutes = ($total_login_minutes * 60); +$total_login_minutes_int = round($total_login_minutes, 0); +if ($total_login_minutes_int < 10) {$total_login_minutes_int = "0$total_login_minutes_int";} + + if ($DB) {echo " - $total_login_time - $login_sec";} + +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +echo "
    ID EDIT EVENTO DATA IP ADDRESS GROUPORE:MINUTI
    $row[5]$manager_edit$row[0] $TC_log_date $row[4] $row[2]
    $row[5]$manager_edit$row[0] $TC_log_date $row[4] $row[2] $event_hours_int:$event_minutes_int"; + if ($DB) {echo " - $total_login_time - $login_sec";} + echo "
    TOTALE $total_login_hours_int:$total_login_minutes_int
    \n"; + + +##### closer in-group selection logs ##### + +echo "

    \n"; + +echo "
    \n"; + +echo "CLOSER IN-GROUP SELECTION LOGS:\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from vicidial_user_closer_log where user='" . mysql_real_escape_string($user) . "' and event_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and event_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by event_date desc limit 1000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + } + + +echo "
    # DATE/TIME CAMPAGNABLEND GROUPS
    $u$row[2] $row[1] $row[3] $row[4]


    \n"; + + +##### vicidial agent outbound calls for this time period ##### + +echo "OUTBOUND CALLS FOR THIS TIME PERIOD: (10000 record limit)\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + } + + +echo "
    # DATE/TIME LENGTH STATUS PHONE CAMPAGNA GROUP LIST LEAD HANGUP REASON
    $u$row[4] $row[7] $row[8] $row[10] $row[3] $row[14] $row[2] $row[1] $row[15]


    \n"; + + +##### vicidial agent inbound calls for this time period ##### + +echo "INBOUND/CLOSER CALLS FOR THIS TIME PERIOD: (10000 record limit)\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from vicidial_closer_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + } + + +echo "
    # DATE/TIME LENGTH STATUS PHONE CAMPAGNA WAIT (S) LIST LEAD HANGUP REASON
    $u$row[4] $row[7] $row[8] $row[10] $row[3] $row[14] $row[2] $row[1] $row[17]


    \n"; + + +##### vicidial recordings for this time period ##### + +echo "RECORDINGS FOR THIS TIME PERIOD: (10000 record limit)\n"; +echo "\n"; +echo "\n"; + + $stmt="select * from recording_log where user='" . mysql_real_escape_string($user) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by recording_id desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $location = $row[11]; + if (strlen($location)>30) + {$locat = substr($location,0,27); $locat = "$locat...";} + else + {$locat = $location;} + if (eregi("http",$location)) + {$location = "$locat";} + else + {$location = $locat;} + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + } + + +echo "
    # LEADDATE/TIME SECONDS   RECIDFILENAMELOCATION  
    $u $row[12] $row[4] $row[8] $row[0] $row[10] $location  
    \n"; + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n\n"; + + +echo "\n\n\n


    \nTempo Esecuzione Script: $RUNtime seconds
    "; + + +?> + + +
    + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/user_status.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/user_status.php new file mode 100644 index 00000000..43212f77 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/user_status.php @@ -0,0 +1,477 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 60619-1738 - Added variable filtering to eliminate SQL injection attack threat +# 80603-1452 - Added manager timeclock force login/logout of user +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["begin_date"])) {$begin_date=$_GET["begin_date"];} + elseif (isset($_POST["begin_date"])) {$begin_date=$_POST["begin_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,webroot_writable FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $webroot_writable = $row[1]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$StarTtimE = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$ip = getenv("REMOTE_ADDR"); + +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and view_reports='1';"; + if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name,change_agent_campaign,modify_timeclock_log from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname = $row[0]; + $change_agent_campaign = $row[1]; + $modify_timeclock_log = $row[2]; + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + + $stmt="SELECT full_name,user_group from vicidial_users where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + $user_group = $row[1]; + + $stmt="SELECT * from vicidial_live_agents where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $agents_to_print = mysql_num_rows($rslt); + $i=0; + while ($i < $agents_to_print) + { + $row=mysql_fetch_row($rslt); + $Aserver_ip = $row[2]; + $Asession_id = $row[3]; + $Aextension = $row[4]; + $Astatus = $row[5]; + $Acampaign = $row[7]; + $Alast_call = $row[14]; + $Acl_campaigns = $row[15]; + $i++; + } + + $stmt="SELECT event_date,status,ip_address from vicidial_timeclock_status where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $tc_logs_to_print = mysql_num_rows($rslt); + if ($tc_logs_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $Tevent_date = $row[0]; + $Tstatus = $row[1]; + $Tip_address = $row[2]; + $i++; + } + + } + +$stmt="select * from vicidial_campaigns;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + + + +?> + + +VICIDIAL ADMIN: User Status +\n"; +?> + + +
    +
    + + + + +\n"; +echo "
    " ?>   VICIDIAL ADMIN: User Status for  
      \n"; + +##### EMERGENCY CAMPAIGN CHANGE FOR AN AGENT ##### +if ($stage == "live_campaign_change") + { + $stmt="UPDATE vicidial_live_agents set campaign_id='" . mysql_real_escape_string($group) . "' where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + + echo "Agent $user - $full_name changed to $group campaign
    \n"; + + exit; + } + +##### EMERGENCY LOGOUT OF AN AGENT ##### +if ($stage == "log_agent_out") + { + $stmt="DELETE from vicidial_live_agents where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + + echo "Agent $user - $full_name has been emergency logged out, make sure they close their web browser
    \n"; + + exit; + } + + + + + +##### BEGIN TIMECLOCK LOGOUT OF A USER ##### +if ( ( ($stage == "tc_log_user_OUT") or ($stage == "tc_log_user_IN") ) and ($modify_timeclock_log > 0) ) + { + ### get vicidial_timeclock_status record count for this user + $stmt="SELECT count(*) from vicidial_timeclock_status where user='$user';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $vts_count = $row[0]; + + $LOG_run=0; + $last_action_sec=99; + + if ($vts_count > 0) + { + ### vicidial_timeclock_status record found, grab status and date of last activity + $stmt="SELECT status,event_epoch from vicidial_timeclock_status where user='$user';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $status = $row[0]; + $event_epoch = $row[1]; + $last_action_date = date("Y-m-d H:i:s", $event_epoch); + $last_action_sec = ($StarTtimE - $event_epoch); + + if ($last_action_sec > 0) + { + $totTIME_H = ($last_action_sec / 3600); + $totTIME_H_int = round($totTIME_H, 2); + $totTIME_H_int = intval("$totTIME_H"); + $totTIME_M = ($totTIME_H - $totTIME_H_int); + $totTIME_M = ($totTIME_M * 60); + $totTIME_M_int = round($totTIME_M, 2); + $totTIME_M_int = intval("$totTIME_M"); + $totTIME_S = ($totTIME_M - $totTIME_M_int); + $totTIME_S = ($totTIME_S * 60); + $totTIME_S = round($totTIME_S, 0); + if (strlen($totTIME_H_int) < 1) {$totTIME_H_int = "0";} + if ($totTIME_M_int < 10) {$totTIME_M_int = "0$totTIME_M_int";} + if ($totTIME_S < 10) {$totTIME_S = "0$totTIME_S";} + $totTIME_HMS = "$totTIME_H_int:$totTIME_M_int:$totTIME_S"; + } + else + { + $totTIME_HMS='0:00:00'; + } + } + + else + { + ### No vicidial_timeclock_status record found, insert one + $stmt="INSERT INTO vicidial_timeclock_status set status='START', user='$user', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $status='START'; + $totTIME_HMS='0:00:00'; + $affected_rows = mysql_affected_rows($link); + print "\n"; + } + + + ##### Run timeclock login queries ##### + if ( ( ($status=='AUTOLOGOUT') or ($status=='START') or ($status=='LOGOUT') ) and ($stage == "tc_log_user_IN") ) + { + ### Add a record to the timeclock log + $stmtA="INSERT INTO vicidial_timeclock_log set event='LOGIN', user='$user', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip', event_date='$NOW_TIME', manager_user='$PHP_AUTH_USER', manager_ip='$ip', notes='Manager LOGIN of user from user status page';"; + if ($DB) {echo "$stmtA\n";} + $rslt=mysql_query($stmtA, $link); + $affected_rows = mysql_affected_rows($link); + $timeclock_id = mysql_insert_id($link); + print "\n"; + + ### Update the user's timeclock status record + $stmtB="UPDATE vicidial_timeclock_status set status='LOGIN', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip' where user='$user';"; + if ($DB) {echo "$stmtB\n";} + $rslt=mysql_query($stmtB, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + ### Add a record to the timeclock audit log + $stmtC="INSERT INTO vicidial_timeclock_audit_log set timeclock_id='$timeclock_id', event='LOGIN', user='$user', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip', event_date='$NOW_TIME';"; + if ($DB) {echo "$stmtC\n";} + $rslt=mysql_query($stmtC, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + ### Add a record to the vicidial_admin_log + $SQL_log = "$stmtA|$stmtB|$stmtC|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='TIMECLOCK', event_type='LOGIN', record_id='$user', event_code='USER FORCED LOGIN FROM STATUS PAGE', event_sql=\"$SQL_log\", event_notes='Timeclock ID: $timeclock_id|';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $LOG_run++; + $VDdisplayMESSAGE = "You have now logged-in the user: $user - $full_name"; + } + + ##### Run timeclock logout queries ##### + if ( ( ($status=='LOGIN') or ($status=='START') ) and ($stage == "tc_log_user_OUT") ) + { + ### Add a record to the timeclock log + $stmtA="INSERT INTO vicidial_timeclock_log set event='LOGOUT', user='$user', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip', login_sec='$last_action_sec', event_date='$NOW_TIME', manager_user='$PHP_AUTH_USER', manager_ip='$ip', notes='Manager LOGOUT of user from user status page';"; + if ($DB) {echo "$stmtA\n";} + $rslt=mysql_query($stmtA, $link); + $affected_rows = mysql_affected_rows($link); + $timeclock_id = mysql_insert_id($link); + print "\n"; + + ### Update last login record in the timeclock log + $stmtB="UPDATE vicidial_timeclock_log set login_sec='$last_action_sec',tcid_link='$timeclock_id' where event='LOGIN' and user='$user' order by timeclock_id desc limit 1;"; + if ($DB) {echo "$stmtB\n";} + $rslt=mysql_query($stmtB, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + ### Update the user's timeclock status record + $stmtC="UPDATE vicidial_timeclock_status set status='LOGOUT', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip' where user='$user';"; + if ($DB) {echo "$stmtC\n";} + $rslt=mysql_query($stmtC, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + ### Add a record to the timeclock audit log + $stmtD="INSERT INTO vicidial_timeclock_audit_log set timeclock_id='$timeclock_id', event='LOGOUT', user='$user', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip', login_sec='$last_action_sec', event_date='$NOW_TIME';"; + if ($DB) {echo "$stmtD\n";} + $rslt=mysql_query($stmtD, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + ### Update last login record in the timeclock audit log + $stmtE="UPDATE vicidial_timeclock_audit_log set login_sec='$last_action_sec',tcid_link='$timeclock_id' where event='LOGIN' and user='$user' order by timeclock_id desc limit 1;"; + if ($DB) {echo "$stmtE\n";} + $rslt=mysql_query($stmtE, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + ### Add a record to the vicidial_admin_log + $SQL_log = "$stmtA|$stmtB|$stmtC|$stmtD|$stmtE|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='TIMECLOCK', event_type='LOGOUT', record_id='$user', event_code='USER FORCED LOGOUT FROM STATUS PAGE', event_sql=\"$SQL_log\", event_notes='User login time: $last_action_sec|Timeclock ID: $timeclock_id|';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $LOG_run++; + $VDdisplayMESSAGE = "You have now logged-out the user: $user - $full_name
    Amount of time user was logged-in: $totTIME_HMS"; + } + + if ($LOG_run < 1) + {$VDdisplayMESSAGE = "ERROR: timeclock log problem, could not process: $status|$stage";} + + echo "$VDdisplayMESSAGE\n"; + + exit; + } + +##### END TIMECLOCK LOGOUT OF A USER ##### + +if ($agents_to_print > 0) + { + echo "
    \n"; + echo "$user - $full_name \n"; + echo "       GROUP: $user_group
    \n"; + + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Agent Logged in at server:   $Aserver_ip
    in session:   $Asession_id
    from phone:   $Aextension
    Agent is in campaign:   $Acampaign
    esito:   $Astatus
    hungup last call at:   $Alast_call
    Closer groups:   $Acl_campaigns
    \n
    \n"; + + + if ($change_agent_campaign > 0) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Current Campagna: \n"; + echo "
    \n"; + + + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + } + } + +else + { + echo "Agent is not logged in to VICIDIAL\n
    "; + } + +echo "\n
    "; + +if ( ($Tstatus == "LOGIN") or ($Tstatus == "START") ) + { + echo "User $user($full_name) - is logged in to the timeclock.
    Login time: $Tevent_date from $Tip_address
    \n"; + $TC_log_change_stage = 'tc_log_user_OUT'; + $TC_log_change_button = 'TIMECLOCK LOG THIS USER OUT'; + } +else + { + echo "User $user($full_name) - is NOT logged in to the timeclock.
    Last logout time: $Tevent_date from $Tip_address
    \n"; + $TC_log_change_stage = 'tc_log_user_IN'; + $TC_log_change_button = 'TIMECLOCK LOG THIS USER IN'; + } + +if ($modify_timeclock_log > 0) + { + echo "

    \n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "

    \n"; + } + + +echo "VICIDIAL Time Sheet\n"; +echo " - User Stats\n"; +echo " - Modifica Utente\n"; + +echo "
    \n"; + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $StarTtimE); + +echo "\n\n\n


    \n\n"; + + +echo "\n\n\n


    \nTempo Esecuzione Script: $RUNtime seconds
    "; + +echo "|$stage|$group|"; + +?> + + +
    + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/vdremote.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/vdremote.php new file mode 100644 index 00000000..4afc0ba5 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/vdremote.php @@ -0,0 +1,604 @@ + LICENSE: AGPLv2 +# +# Changes +# 50307-1721 - First version +# 51123-1502 - removed requirement of PHP Globals=on +# 60421-1229 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1603 - Added variable filtering to eliminate SQL injection attack threat +# + +$version = '1.1.12'; +$build = '60619-1603'; + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["force_logout"])) {$force_logout=$_GET["force_logout"];} + elseif (isset($_POST["force_logout"])) {$force_logout=$_POST["force_logout"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["remote_agent_id"])) {$remote_agent_id=$_GET["remote_agent_id"];} + elseif (isset($_POST["remote_agent_id"])) {$remote_agent_id=$_POST["remote_agent_id"];} +if (isset($_GET["user_start"])) {$user_start=$_GET["user_start"];} + elseif (isset($_POST["user_start"])) {$user_start=$_POST["user_start"];} +if (isset($_GET["number_of_lines"])) {$number_of_lines=$_GET["number_of_lines"];} + elseif (isset($_POST["number_of_lines"])) {$number_of_lines=$_POST["number_of_lines"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["INVIA"])) {$INVIA=$_GET["INVIA"];} + elseif (isset($_POST["INVIA"])) {$INVIA=$_POST["INVIA"];} + +if (!isset($force_logout)) {$force_logout = 0;} + +if ($force_logout) +{ + if( (strlen($PHP_AUTH_USER)>0) or (strlen($PHP_AUTH_PW)>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "Ora non sei collegato. Grazie\n"; + exit; +} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + +$popup_page = './closer_popup.php'; +$STARTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 3;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Username/Password non validi: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + + $stmt="SELECT count(*) from vicidial_remote_agents where user_start='$PHP_AUTH_USER';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $authx=$row[0]; + + if($authx>0) + { + $stmt="SELECT remote_agent_id,server_ip,number_of_lines from vicidial_remote_agents where user_start='$PHP_AUTH_USER';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id=$row[0]; + $server_ip=$row[1]; + if (!$number_of_lines) {$number_of_lines=$row[2];} + + fwrite ($fp, "VDremote|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VDremote|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + echo "This remote agent does not exist: |$PHP_AUTH_USER|\n"; + exit; + } + } + else + { + fwrite ($fp, "VDremote|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +echo "\n"; +echo "\n"; +echo "\n"; +if ($ADD==61111) + { + echo"\n"; + } +echo "\n"; +?> + +VICIDIAL, AGENTES REMOTOS: $LOGfullname - $PHP_AUTH_USER "; + +if (!$ADD) {$ADD="31111";} +if ($ADD==31111) {echo "Modifica Operatori Remoti";} +if ($ADD==41111) {echo "Modifica Operatori Remoti";} +if ($ADD==61111) {echo "Remote Agent Status";} +if ($ADD==71111) {echo "Remote Agent Closer Stats";} + + +if (strlen($ADD)>4) + { + ##### get server listing for dynamic pulldown + $stmt="SELECT server_ip,server_description from servers order by server_ip"; + $rslt=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rslt); + $servers_list=''; + + $o=0; + while ($servers_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $servers_list .= "\n"; + $o++; + } + + ##### get campaigns listing for dynamic pulldown + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "\n"; + $o++; + } + + ##### get inbound groups listing for checkboxes + if ( (($ADD==31111) or ($ADD==31111)) and (count($groups)<1) ) + { + $stmt="SELECT closer_campaigns from vicidial_remote_agents where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $groups_list=''; + $groups_value=''; + + $o=0; + while ($groups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $group_id_value = $rowx[0]; + $group_name_value = $rowx[1]; + $groups_list .= "2) {$groups_value .= " -";} + } + +?> + + + +
    +
    + + + +
      VICIDIAL, AGENTES REMOTOS:   Logout  
      MODIFICA | ">ESITO | ">STATISTICHE INBOUND
    +"; + + $stmt="SELECT * from vicidial_remote_agents where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id = $row[0]; + $user_start = $row[1]; + $number_of_lines = $row[2]; + $server_ip = $row[3]; + $conf_exten = $row[4]; + $status = $row[5]; + $campaign_id = $row[6]; + +echo "
    MODIFICAR UNA ENTRADA DE LOS AGENTES REMOTOS: $row[0]
    \n"; +echo "\n"; +echo "\n"; +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    Inizio ID Utente: $user_start
    Numero di Linee: (solo cifre)
    IP Server: $row[3]
    Numero Di Interno Remoto: (number dialed to reach agents [i.e. 913125551212])
    Esito:
    Campagna: $campaign_id
    Gruppi Inbound: \n"; +echo "$groups_list"; +echo "
    \n"; +echo "NOTA: Potrebbero passare fino a 30 secondi prima che le modifiche qui effettuate possano essere accettate\n"; + +} + + + + +###################### +# ADD=41111 modify remote agents info in the system +###################### + +if ($ADD==41111) +{ + echo ""; + + if ( (strlen($number_of_lines) < 1) or (strlen($conf_exten) < 2) ) + {echo "
    AGENTES ALEJADOS NO MODIFICADOS - Per favore torna indietro e ricontrolla i dati inseriti\n";} + else + { + $stmt="UPDATE vicidial_remote_agents set number_of_lines='" . mysql_real_escape_string($number_of_lines) . "', conf_exten='" . mysql_real_escape_string($conf_exten) . "', status='" . mysql_real_escape_string($status) . "', closer_campaigns='" . mysql_real_escape_string($groups_value) . "' where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + +# echo "$stmt\n"; + echo "
    LOS AGENTES ALEJADOS SE MODIFICARON\n"; + + ### LOG CHANGES TO LOG FILE ### + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY OPERATORI REMOTI ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + + } + + $stmt="SELECT * from vicidial_remote_agents where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id = $row[0]; + $user_start = $row[1]; + $number_of_lines = $row[2]; + $server_ip = $row[3]; + $conf_exten = $row[4]; + $status = $row[5]; + $campaign_id = $row[6]; + +echo "
    MODIFICAR UNA ENTRADA DE LOS AGENTES REMOTOS: $row[0]\n"; +echo "\n"; +echo "\n"; +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    Inizio ID Utente: $user_start
    Numero di Linee: (solo cifre)
    IP Server: $row[3]
    Numero Di Interno Remoto: (number dialed to reach agents [i.e. 913125551212])
    Esito:
    Campagna: $campaign_id
    Gruppi Inbound: \n"; +echo "$groups_list"; +echo "
    \n"; +echo "NOTA: Potrebbero passare fino a 30 secondi prima che le modifiche qui effettuate possano essere accettate\n"; + +} + + + + +###################### +# ADD=61111 status of remote agent in the system and active calls and queue +###################### + +if ($ADD==61111) +{ + echo "
    ";
    +
    +	 if ( (strlen($server_ip) < 2) or (strlen($user) < 2) )
    +		{echo "
    ERROR AGENTES REMOTOS – Por favor, vuelva atrás y compruebe los datos que introdujo\n";} + else + { + + $users_list = ''; + $k=0; + while($k < $number_of_lines) + { + $nextuser=($user + $k); + $users_list .= "'" . mysql_real_escape_string($nextuser) . "',"; + $k++; + } + $users_list = preg_replace("/.$/","",$users_list); + + echo "VICIDIAL: Remote Agent Time On Calls $NOW_TIME\n\n"; + echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n"; + echo "| STATION | USER | LEADID | CHANNEL | STATUS | START TIME | MINUTES |\n"; + echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n"; + + + $stmt="select extension,user,lead_id,channel,status,last_call_time,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish) from vicidial_live_agents where status NOT IN('PAUSED') and server_ip='" . mysql_real_escape_string($server_ip) . "' and user IN($users_list) order by extension;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + while ($i < $talking_to_print) + { + $leadlink=0; + $row=mysql_fetch_row($rslt); + if (eregi("READY|PAUSED",$row[4])) + { + $row[3]=''; + $row[5]='- IN ATTESA -'; + $row[6]=$row[7]; + } + $extension = sprintf("%-10s", $row[0]); + $user = sprintf("%-6s", $row[1]); + $leadid = sprintf("%-12s", $row[2]); + if ($row[2] > 0) + { + $leadidLINK=$row[2]; + $leadlink++; + if ( eregi("QUEUE",$row[4]) ) {$row[6]=$STARTtime;} + $leadid = "$leadid"; + } + $channel = sprintf("%-10s", $row[3]); + $cc=0; + while ( (strlen($channel) > 10) and ($cc < 100) ) + { + $channel = eregi_replace(".$","",$channel); + $cc++; + if (strlen($channel) <= 10) {$cc=101;} + } + $status = sprintf("%-6s", $row[4]); + $start_time = sprintf("%-19s", $row[5]); + $call_time_S = ($STARTtime - $row[6]); + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + if ($call_time_M_int >= 5) {$G=''; $EG='';} + if ($call_time_M_int >= 10) {$G=''; $EG='';} + + echo "| $G$extension$EG | $G$user$EG | $G$leadid$EG | $G$channel$EG | $G$status$EG | $G$start_time$EG | $G$call_time_MS$EG |\n"; + + $i++; + } + + echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n"; + echo " $i Operatori collegati al server $server_ip\n\n"; + + echo " - 5 o piu` minuti in conversazione\n"; + echo " - Oltre 10 minuti in conversazione\n"; + + } + else + { + echo "**************************************************************************************\n"; + echo "********************************* NESSUN OPERATORE IN CONVERSAZIONE *********************************\n"; + echo "**************************************************************************************\n"; + } + } + +echo "
    \n\n"; + +} + + +###################### +# ADD=71111 stats for remote agents from closer logs(vicidial_closer_log) +###################### + +if ($ADD==71111) +{ + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n\n"; + echo "
    ";
    +
    +	 if ( (strlen($server_ip) < 2) or (strlen($user) < 2) )
    +		{echo "
    ERROR AGENTES REMOTOS – Por favor, vuelva atrás y compruebe los datos que introdujo\n";} + else + { + + $users_list = ''; + $k=0; + while($k < $number_of_lines) + { + $nextuser=($user + $k); + $users_list .= "'$nextuser',"; + $k++; + } + $users_list = preg_replace("/.$/","",$users_list); + + $stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date 00:00:01' and call_date <= '$query_date 23:59:59' and user IN($users_list);"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $in_calls = $row[0]; + $in_time = $row[1]; + $in_time_M = ($in_time / 60); + $in_time_M = round($in_time_M, 2); + $in_time_M_int = intval("$in_time_M"); + $in_time_SEC = ($in_time_M - $in_time_M_int); + $in_time_SEC = ($in_time_SEC * 60); + $in_time_SEC = round($in_time_SEC, 0); + if ($in_time_SEC < 10) {$in_time_SEC = "0$in_time_SEC";} + $in_time_MS = "$in_time_M_int:$in_time_SEC"; + $in_time_MS = sprintf("%7s", $in_time_MS); + + echo "VICIDIAL: Stats de entrada del agente alejado $NOW_TIME\n\n"; + echo "\n"; + echo "Llamadas totales tomadas $query_date: $in_calls\n"; + echo "Tiempo total de conversacion$query_date: $in_time_MS (minutes:seconds)\n"; + echo "\n"; + echo "\n"; + echo "Lista la llamada para $query_date:\n"; + echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n"; + echo "| USER | LEADID | GROUP | PHONE NUM | STATUS | CALL TIME | MINUTES |\n"; + echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n"; + + + $stmt="select user,lead_id,campaign_id,phone_number,status,call_date,length_in_sec from vicidial_closer_log where call_date >= '$query_date 00:00:01' and call_date <= '$query_date 23:59:59' and user IN($users_list) order by call_date;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + while ($i < $talking_to_print) + { + $row=mysql_fetch_row($rslt); + $user = sprintf("%-8s", $row[0]); + $leadid = sprintf("%-10s", $row[1]); + $group = sprintf("%-14s", $row[2]); + $phone = sprintf("%-10s", $row[3]); + $status = sprintf("%-6s", $row[4]); + $start_time = sprintf("%-19s", $row[5]); + $call_time_S = $row[6]; + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + # if ($call_time_M_int >= 5) {$G=''; $EG='';} + # if ($call_time_M_int >= 10) {$G=''; $EG='';} + + echo "| $G$user$EG | $G$leadid$EG | $G$group$EG | $G$phone$EG | $G$status$EG | $G$start_time$EG | $G$call_time_MS$EG |\n"; + + $i++; + } + + echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n"; + # echo " $i Operatori collegati al server $server_ip\n\n"; + + # echo " - 5 o piu` minuti in conversazione\n"; + # echo " - Oltre 10 minuti in conversazione\n"; + + } + else + { + echo "**************************************************************************************\n"; + echo "*********************************NESSUNA CHIAMATA IN QUESTO GIORNO*******************************\n"; + echo "**************************************************************************************\n"; + } + } + +echo "
    \n\n"; + +} + + + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n\n"; + + +echo "\n\n\n


    \nTempo Esecuzione Script: $RUNtime seconds
    "; + + +?> + + +
    + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/welcome.php b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/welcome.php new file mode 100644 index 00000000..cee85355 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/LANG_www/vicidial_it/welcome.php @@ -0,0 +1,26 @@ + LICENSE: AGPLv2 +# + +echo "VICIDIAL Benvenuto\n"; +echo "\n"; +echo "\n"; +echo "




    "; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    Benvenuti
     
    Agent Login
     
    Timeclock
     
    Administration
     
    \n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; + +?> \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/Makefile b/agc_2-X/branches/agc_2.0.5/Makefile new file mode 100644 index 00000000..00c7ec22 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/Makefile @@ -0,0 +1,151 @@ +# +# Makefile +# +# Copyright (C) 2007 VICIDIAL-astGUIclient LICENSE: GPLv2 +# +# CHANGES +# 71121-1430 - Initial release. +# 71130-2137 - Remove install-VDconfig section and replace with install-common. +# 71201-0358 - Use sh to run VDconfig. +# +# +# methods: +# make menuconfig +# Runs graphical configuration. +# +# make defaultconfig +# Creates a default install config file. +# +# make clean +# Removes previous install config. +# +# make install +# Install Non-Web, Web and documents. +# +# make install-nonweb +# Only install executables and other Non-Web components. +# +# make install-web +# Only install Web components. +# +# make install-docs +# Installs documents to /usr/share/doc/astGUIclient-(version) +# +# make install-asterisk-sample-config +# Installs sample configs in /etc/asterisk, backing-up existing files. + + +.PHONY : defaultconfig menuconfig .install .install-nonweb install-web install install-nonweb install-web install-docs install-asterisk-sample-config clean .install-complete .install-common install-asterisk-sample-configs +VDconfig := VDconfig +version := $(shell cat version) + +menuconfig: + @sh $(VDconfig) + +clean: + rm -f .agc.config + +.agc.config: + @echo "########################################################" + @echo "###" + @echo "### \".agc.config\" file not found." + @echo "### Running configuration and just using defaults." + @echo "###" + @echo "########################################################" + @sh $(VDconfig) --no-menu + +defaultconfig: .agc_config + @sh $(VDconfig) --no-menu + +# The following, install, install-nonweb and install-web shell-out to +# run VDconfig which set the path variables and runs make with .install* +install: .agc.config + @sh $(VDconfig) --env-make .$@ + +install-nonweb: .agc.config + @sh $(VDconfig) --env-make .$@ + +install-web: .agc.config + @sh $(VDconfig) --env-make .$@ + + +# The following, .install, .install-nonweb and .install-web are the actual +# methods used to install +.install: .install-nonweb .install-web install-docs .install-common .install-complete + +.install-common: + @echo "Installing VDconfig script..." + @install -d -m 755 $(DESTDIR)$(PATHhome) + @install -p -m 755 $(VDconfig) $(DESTDIR)$(PATHhome)/VDconfig + @install -d -m 755 $(DESTDIR)/usr/bin + @ln -fs $(PATHhome)/VDconfig $(DESTDIR)/usr/bin/VDconfig + @echo "Installing astGUIclient configuration to $(DESTDIR)/etc/astguiclient.conf..." + @install -d -m 755 $(DESTDIR)/etc + @install -p -m 644 ./.agc.config $(DESTDIR)/etc/astguiclient.conf + @echo "Creating log directory $(DESTDIR)$(PATHlogs)..." + @install -d -m 755 $(DESTDIR)$(PATHlogs) + +.install-nonweb: .install-common + @echo "Installing non-web components..." + @install -d -m 755 $(DESTDIR)$(PATHhome)/libs/Asterisk + @install -d -m 755 $(DESTDIR)$(PATHhome)/LEADS_IN/DONE + @install -d -m 755 $(DESTDIR)$(PATHmonitor) + @install -d -m 755 $(DESTDIR)$(PATHDONEmonitor)/ORIG + @install -d -m 755 $(DESTDIR)$(PATHagi) + @install -d -m 755 $(DESTDIR)$(PATHsounds) + @install -p -m 755 ./bin/* $(DESTDIR)$(PATHhome) + @install -p -m 755 ./extras/Asterisk.pm $(DESTDIR)$(PATHhome)/libs + @install -p -m 755 ./extras/Asterisk/* $(DESTDIR)$(PATHhome)/libs/Asterisk + @install -p -m 644 ./extras/GMT_USA_zip.txt $(DESTDIR)$(PATHhome) + @install -p -m 644 ./extras/phone_codes_GMT.txt $(DESTDIR)$(PATHhome) + @install -p -m 644 ./extras/MySQL_AST_CREATE_tables.sql $(DESTDIR)$(PATHhome) + @install -p -m 755 ./agi/* $(DESTDIR)$(PATHagi) + @install -p -m 644 ./sounds/* $(DESTDIR)$(PATHsounds) + +.install-web: .install-common + @echo "Installing web components in $(DESTDIR)$(PATHweb)..." + @install -d -m 777 $(DESTDIR)$(PATHweb)/agc/images + @install -d -m 777 $(DESTDIR)$(PATHweb)/vicidial/ploticus + @install -d -m 777 $(DESTDIR)$(PATHweb)/vicidial/agent_reports + @install -d -m 777 $(DESTDIR)$(PATHweb)/vicidial/server_reports + @install -p -m 755 ./www/agc/*.php $(DESTDIR)$(PATHweb)/agc + @install -p -m 644 ./www/agc/images/* $(DESTDIR)$(PATHweb)/agc/images + @install -p -m 755 ./www/vicidial/*.php $(DESTDIR)$(PATHweb)/vicidial + @install -p -m 755 ./www/vicidial/*.pl $(DESTDIR)$(PATHweb)/vicidial + @install -p -m 644 ./www/vicidial/*.gif $(DESTDIR)$(PATHweb)/vicidial + +install-asterisk-sample-configs: install-asterisk-sample-config + +install-asterisk-sample-config: + @echo "Installing sample configs in $(DESTDIR)/etc/asterisk..." + @install -d -m 777 $(DESTDIR)/etc/asterisk + @install -b -p -m 644 ./docs/conf_examples/extensions.conf.sample $(DESTDIR)/etc/asterisk/extensions.conf + @install -b -p -m 644 ./docs/conf_examples/meetme.conf.sample $(DESTDIR)/etc/asterisk/meetme.conf + @install -b -p -m 644 ./docs/conf_examples/manager.conf.sample $(DESTDIR)/etc/asterisk/manager.conf + @install -b -p -m 644 ./docs/conf_examples/musiconhold.conf.sample $(DESTDIR)/etc/asterisk/musiconhold.conf + @install -b -p -m 644 ./docs/conf_examples/voicemail.conf.sample $(DESTDIR)/etc/asterisk/voicemail.conf + @install -b -p -m 644 ./docs/conf_examples/sip.conf.sample $(DESTDIR)/etc/asterisk/sip.conf + @install -b -p -m 644 ./docs/conf_examples/logger.conf.sample $(DESTDIR)/etc/asterisk/logger.conf + @install -b -p -m 644 ./docs/conf_examples/iax.conf.sample $(DESTDIR)/etc/asterisk/iax.conf + @install -b -p -m 644 ./docs/conf_examples/dnsmgr.conf.sample $(DESTDIR)/etc/asterisk/dnsmgr.conf + +install-docs: + @echo "Installing documents in $(DESTDIR)/usr/share/doc/astGUIclient-$(version)..." + @install -d -m 755 $(DESTDIR)/usr/share/doc/astGUIclient-$(version)/conf_examples + @install -p -m 644 ./docs/*.txt $(DESTDIR)/usr/share/doc/astGUIclient-$(version) + @install -p -m 644 ./docs/conf_examples/* $(DESTDIR)/usr/share/doc/astGUIclient-$(version)/conf_examples + +.install-complete: + @echo + @echo + @echo + @echo "#################################################################" + @echo "### ####" + @echo "### VICIDIAL-astGUIclient ####" + @echo "### INSTALLATION COMPLETE ####" + @echo "### ####" + @echo "### Please continue with the steps in SCRATH_INSTALL.txt ####" + @echo "### ####" + @echo "### Run /usr/bin/VDconfig to modify the configuration. ####" + @echo "### ####" + @echo "#################################################################" diff --git a/agc_2-X/branches/agc_2.0.5/SuSE/get_sources.sh b/agc_2-X/branches/agc_2.0.5/SuSE/get_sources.sh new file mode 100644 index 00000000..72dd0cc9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/SuSE/get_sources.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +cd /usr/src + +wget http://www.daveltd.com/src/util/ttyload/ttyload-0.4.4.tar.gz +wget http://superb-west.dl.sourceforge.net/sourceforge/ploticus/pl240src.tar.gz +wget http://bart.eaccelerator.net/source/0.9.5.2/eaccelerator-0.9.5.2.tar.bz2 +wget http://superb-east.dl.sourceforge.net/sourceforge/mtop/mtop-0.6.6.tar.gz +wget http://download.berlios.de/sipsak/sipsak-0.9.6-1.tar.gz +wget http://ftp.digium.com/pub/asterisk/releases/asterisk-1.2.29.tar.gz +wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.2.24.tar.gz +#wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.2.26.tar.gz +wget http://ftp.digium.com/pub/libpri/releases/libpri-1.2.7.tar.gz +#wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.4.19.1.tar.gz +#wget http://downloads.digium.com/pub/libpri/libpri-1.4.3.tar.gz +#wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.10.tar.gz + +mkdir patches +cd patches + +wget http://www.eflo.net/files/app_amd2.c +wget http://www.eflo.net/files/amd2.conf +wget http://www.eflo.net/files/meetme_DTMF_passthru-1.2.23.patch +wget http://www.eflo.net/files/meetme_volume_control_1.2.16.patch +wget http://www.eflo.net/files/cli_chan_concise_delimiter.patch +wget http://www.eflo.net/files/app_waitforsilence.c +wget http://www.eflo.net/files/enter.h +wget http://www.eflo.net/files/leave.h + diff --git a/agc_2-X/branches/agc_2.0.5/UPGRADE b/agc_2-X/branches/agc_2.0.5/UPGRADE new file mode 100644 index 00000000..223a34fa --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/UPGRADE @@ -0,0 +1,640 @@ +################ UPGRADE + +NOTE: Upgrading from 2.0.3 to 2.0.4 is below the first section +NOTE: Upgrading from 2.0.2 to 2.0.3 is below the second section +NOTE: Upgrading from 2.0.1 to 2.0.2 is in the next section +NOTE: Upgrading from 1.1.12-3 to 2.0.1 is at the bottom + +########## UPGRADING FROM 2.0.4 TO 2.0.5 ########## + +1. Note the license change from GPLv2 to AGPLv2. This change was made to close + the ASP loophole for code distribution that was present in the GPLv2 + license. Please read the docs/LICENSE.txt file for more information + +2. install new files: + perl ./install.pl + NOTES: If you have customized any scripts in the bin or agi folders, + then make sure you back them up before running the install.pl script. + This script will replace existing files in the astguiclient installation. + +3. upgrade the MySQL asterisk database: + mysql + use asterisk + \. /path/from/root/extras/upgrade_2.0.5.sql + quit + +4. Several of the MySQL tables have been changed to a HEAP type to reside in + memory to improve performance. + +5. Added the ability for inbound and blended agents to choose their selected + in-groups without logging out. The new GROUPS link at the top of the + agent screen(vicidial.php) can be used when an agent is Paused to + change their selected groups and whether they are set to do Blended + calling or not. There is also a new log with the details of what + groups an agent has selected each time in the user stats page. + +6. Queue Priority has been added allowing for the prioritization of one in-group + over another in-group or outbound campaign(when in blended mode) + +7. Drop call action has been added to both inbound and outbound calling. You + can now send a call that would drop into an inbound group. The call will + still be recorded as a DROP in it's original in-group or campaign, but + the lead information will move on to the drop in-group. + +8. Audio recording mixing/compression/ftping scripts have been completely + rewritten and separated into different scripts for better fault + tolerance. Also, you have the option of compression in to the following + formats: WAV, GSM, MP3 and OGG + - AST_CRON_audio_1_move_mix.pl + - AST_CRON_audio_1_move_VDonly.pl + - AST_CRON_audio_2_compress.pl + - AST_CRON_audio_3_ftp.pl + +9. Created a new script to backup a VICIDIAL setup, including the Asterisk conf + files, prompt recordings, bin, agi and web files: + ADMIN_backup.pl + +10. Added ability to override recording options of a campaign for individual + inbound-groups + +11. The 8 outbound agi-VDADtransfer scripts are in process of being consolidated + into a single AGI script: agi-VDAD_ALL_outbound.agi + All older outbound scripts are depricated and do not function any more + +12. The start of a new QC (Quality Control) feature [non functional right now] + +13. Install the Switch perl module from CPAN + perl -MCPAN -e shell + - install Switch + +14. Recording to RAM now uses tmpfs it is usually included in all kernels if you want + to check in in menuconfig you will find it under + File Systems --> Pseudo filesystems --> [*] Virtual memory file system support. + It does not hurt to enable + [*] Tmpfs POSIX Access Control Lists + as well. + The following line should be added to /etc/fstab: + tmpfs /var/spool/asterisk/monitor tmpfs rw 0 0 + Mounting the ramdisk in rc.local should be remove: + # mke2fs -m 0 /dev/ram0 + # mount /dev/ram0 /var/spool/asterisk/monitor + This allows for a more efficient use of memory and recording to RAM with less RAM + available. + +15. The following should be added to the [featuremap] section of /etc/asterisk/features.conf + to prevent agents and called parties from being able to "transfer" a call to any + number possible in your Asterisk dialplan. + [featuremap] + blindxfer => D + +16. Added ip_relay to allow for loopback IAX trunks that make true blind + monitoring possible for all agents no matter their phone type 0860XXXX. + +17. Added the ability to load balance the logins to vicidial.php for phones + that are registered to multiple servers on a multi-server system. + Simply put multiple phone_login values in the phone login field at + login separated by a comma and the vicidial.php script will pick the + server that has the fewest agents logged into it at the moment of login. + +18. Added ability for vicidial.php to populate the phones.computer_ip field upon + agent login. Options set in the vicidial.php file to allow for overwrite + every login or only if field is empty. + +19. Several code changes for better UTF8 compatibility with the database as well + as special character leads in the agent screen, lead loading + +20. Added after hours redirect of calls to an in-group to another in-group + +21. Added collection of hangup reasons for inbound and outbound calls in the + vicidial_log and vicidial_closer_log tables + +22. Added a new timeclock feature w/ audit and log, including the addition + of shifts to VICIDIAL user groups and the ability to auto-generate + user IDs as you are adding users to the system. timeclock.php user login + page created and linked to from admin/agent/welcome screens + +23. Added a new inbound/closer(queues) report for showing service levels + +24. Added Calls in Queue counter to agent vicidial.php screen + +25. Added ability to use calltime scheme for calls not yet in an in-group(queue) + as well as display in real-time stats. See Inbound_VDAC_IVR.txt doc for + more information + +26. Auto-dial survey broadcast campaigns can now be fully configured within the + admin.php interface and they have new options shown in the Survey sub- + section + +27. Changed add-to-DNC list to allow for multiple phone numbers per submission + +28. Date/time and phone formats that appear in the VICIDIAL agent screen are now + customizable as defined in the Admin -> System Settings screen. + +29. Added manual dial and inbound queue_log logging capability for better + QueueMetrics compatibility + +30. Added some basic agent interface API functions and an agc/api.php script + +31. A field has been added to vicidial_list(last_local_call_time) to sort by + the last time a lead was called as well as for lead recycling changes. + +32. IMPORTANT FOR RECORDINGS!!! + The recording extensions have been changed within VICIDIAL so you need to + add the following lines to your extensions.conf + ; quiet monitor-only entry and leaving conferences for VICIDIAL (recording) + exten => _58600XXX,1,Meetme,${EXTEN:1}|Fmq + +33. Added option (for Internet Explorer users only) to copy a field to the + clipboard of the agent computer upon a call being sent to the agent. + +34. Added new alternate number dialing method which allows for over 65,000 alt + phone numbers per lead. Currently these extra numbers are only available for + auto dialing, not manual dial. These extra alternate number leads must be + imported either with the CLI lead loader(VICIDIAL_IN_new_leads_file.pl) or + the non-agent API script. + +35. Added campaign-specific DNC filtering lists to the system + +36. Added optional dialplan entries to sample extensions.conf to play a not-in- + service message for invalid phone numbers that cannot be dialing in North + America + +37. Rewrote Leave-3way function for conference calling to work more reliably on + high load systems. + Need to add more vicidial_conferences entries and meetme.conf entries + for this, see the meetme.conf.sample file and the + first_server_install.sql file for more information + +38. Added several new features to inbound call handling including: + - announce place in line + - announce estimated hold time + - welcome message options + - options for call routing when estimated hold time is too high + - press 1 to leave a voicemail for customers if wait time too high + +39. Added DID call routing to allow for basic routing of calls to phones, + extensions, voicemail and VICIDIAL inbound groups without editing the + extensions.conf dialplan. + *requires initial adding one line to dialplan of inbound context: + exten => _X.,1,AGI(agi-DID_route.agi) + *as well as a few more lines in your VICIDIAL default context: + ; DID forwarded calls + exten => _99909*.,1,Answer + exten => _99909*.,2,AGI(agi-VDAD_ALL_inbound.agi) + exten => _99909*.,3,Hangup + +40. Added ability to set callerID number on outgoing conference calls to + CAMPAIGN, CUSTOMER or AGENT_PHONE callerID settings. + +41. New Slovak translation for the agent screen, as well as new German agent + screen translation and new German buttons for the agent screen + +42. New Welcome demo and languages screens with links to all translations of + agent and admin screens + +43. Added INBOUND_MAN dial method to allow for inbound call handling by agents + that are also placing manual dial list calls through their campaign lists + +44. Added option to see the inbound group call stats in the Real-time screen + +45. Added ability for agents to dial in to an AGI script(agi-AGENT_dial_in.agi) + to log their phone into the session instead of having VICIDIAL call them. + The user ID and password for the agent must be digits only for this to work! + This requires the following to be added to the dialplan on the dial-in DID + or extension that you want to use: + exten => 2345,1,Answer ; Answer the line + exten => 2345,2,AGI(agi-AGENT_dial_in.agi) + exten => 2345,3,Hangup + +46. Added pause codes display to the Real-time report as well as pause code + statistics to the agent performance detail report. Also added an option to + force agents to enter a pause code(this is a campaign option) + +47. Added full MySQL error logging to vicidial agent web interface. Logs are + written to the webserver. + +48. Added new inbound-only reporting to Real-time report as well as many new + features to existing inbound report. Created IVR stats report to show stats + on Asterisk IVRs + +49. Updated Vtiger integration to version 5.0.4 and allow searching by + leads/accounts/vendors. Also added user synchronization with vicidial_users. + Also added click-to-dial from Vtiger sending call to vicidial agent screen. + Also added batch synchronization of Accounts between Vtiger and VICIDIAL. + +50. Added notification of time synchronization problems in the vicidial.php page + +51. Added AGENTDIRECT queueing to be able to send calls to only one agent + without having to create a new in-group for each agent. You can configure + DIDs to use AGENTDIRECT, and you can have VICIDIAL agents send calls to + specific agents using the AGENTDIRECT transfer group with LOCAL CLOSER button + and putting the agent to send the call to in the Number To Dial field. + +52. Added agent alert option to agent screen. sends browser alert prompt when + a call is send to the agent screen. + +53. Added option for using North American NANPA prefix timezone encoding for + more accurate time zone encoding. The data is NOT included but can be + purchased from the VICIDIAL Group. + +54. Added System Settings option to disable auto-dialing(list dialing) from the + system to simplify administration for inbound-only call centers + +55. Added patch and configuration options to allow VICIDIAL to work with Sangoma + ParaXip CPD(Call Progress Detection) + +56. Added list_download.php that allows you to download the entire contents of + vicidial lists from the admin.php interface. You must set the download_lists + permission in vicidial_users to 1 for this to work. + +57. Small redesign of the agent interface to use grey backgrounds and new tabs + +58. Added Asterisk version prompt to the install.pl script to allow for the + copying of the proper conf files for the installed Asterisk version + +59. Added auto-generation of SIP and IAX phones and carriers into the Asterisk + conf files so that you can fully configure them using only the admin.php + web interface. See the ASTERISK_CONF-GEN.txt file for more information + +60. Added group alias option for selecting callerID on manual and 3rd-party + calls + +61. Added options for custom web variables for each agent per in-group and + camaign. This is definable in the user modification page + +62. Added Agent Shift enforcement options to restrict logins and vicidial + agent activity + +63. Added Server vital statistics(load/CPU/disk) to the reports screen and the + server modification screen + +64. Removed the admin_changes flat text log file and now put all administrative + actions into the vicidial_admin_log table in MySQL. These logs are displayed + to user_level 9 users in admin.php through a link on the REPORTS screen, and + at the bottom of the other screens (USERS, CAMPAIGNS, LISTS, etc...)you can + click on the "Click here to see Admin chages to this record" link to find out + the most recent changes to that record. + +65. Added uniform admin headers to all administrative pages and reports + +66. Added Calls Export Utility allowing exporting of call and lead data by + defining the following parameters: date range, campaigns, in-groups, statuses, + lists and user groups. A flat tab-delimited text file is exported. + +67. Added new monitoring functionality to allow monitoring from one agent to + another without hanging up + + + + + +########## UPGRADING FROM 2.0.3 TO 2.0.4 ########## + +1. install new files: + perl ./install.pl + NOTES: If you have customized any scripts in the bin or agi folders, + then make sure you back them up before running the install.pl script. + This script will replace existing files in the astguiclient installation. + +2. upgrade the MySQL asterisk database: + mysql + use asterisk + \. /path/from/root/extras/upgrade_2.0.4.sql + quit + NOTE: If you do not use the standard "cron" database login, you will + need to add "LOCK TABLES" to the permissions to your db login + +3. add the "server_reports" directory to your Web Path: + mkdir $PATHweb/vicidial/server_reports/ + chmod 0777 $PATHweb/vicidial/server_reports/ + +4. A new set of changes have been made to the statuses sections in the admin.php + pages allowing for categorizing statues and modifying them without delete. + Also, the gathering of a tally of the statuses in these categories is + now available on the timeonVDADall scripts. + +5. The admin.php interface has had more sections broken into sub-sections for + easier management and rapid modifications. + +6. Added option for shorter enter and leave sounds(done during Asterisk build) + BASE/SCRATCH_INSTALL or extras/Changed_meetme_sounds for more details + +7. Added optional patch to meetme in Asterisk 1.2.X that will allow for better + DTMF passthru. Need to use the "F" flag to enable on Meetme in + extensiosn.conf. Feature is backported from Asterisk 1.4.X + +8. REQUIRED! Changed the FastAGI_log process to consolidate the "h" exten hangup + process into one executed function instead of two. Because of this, the + h exten needs to be changed to only the following: + exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME})) + +9. Moved the audio transfer script and report generating scripts settings to + /etc/astguiclient.conf settings file. FTP and reports login info. + +10. Added agent alert, music-on-hold and several other parameters to inbound + groups. Make sure you have musiconhold working properly before using + in production. + +11. REQUIRED CHANGE! in your dialplan you must now add lines for load balancing + even if you only have one server, and you must also have lines with the + 7 prefix for silent insertion into the meetme conference: + exten => _010*010*010*015*8600XXX,... + exten => _010*010*010*015*8600XXX*.,... + exten => _010*010*010*015*78600XXX,... + exten => _010*010*010*015*78600XXX*.,... + exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi) + See LOAD_BALANCING.txt and extensions.conf.sample for more information + +12. Inbound, Blended and Closer-type campaigns are no longer required to have + campaign_id incude specific words or characters to be treated as such. + There is now a new campaign_allow_inbound field where this is set. + +13. Call distribution by agent ranking per in-group and total calls to in-group + +14. Added ability to copy the settings campaigns, users and in-groups to new records + +15. REQUIRED CHANGE! Old inbound and Closer AGI scripts have all been consolidated + into a single script: agi-VDAD_ALL_inbound.agi + Please look at the script header or the SCRATCH_INSTALL doc for more + info on how to alter your extenions.conf to use the new script. + The old agi-VDAD_closer... scripts have all been depricated and moved + to the extras/old_agi/ directory. + +16. AST_agent_performance_detail.php report script has been completely rewritten + +17. REQUIRED CHANGE! If you use Fronter/Closer campaigns where an agent is sending + calls to a closer, you will need to define the new "Default Transfer Group" + field with the inbound group that you want to take the calls. Transfers + are now allowed from a list of definable in-groups that you have to set + in the campaign detail screen. + +18. In the vicidial.php code, you can now modify the size of the elements on the + screen using the BROWSER_HEIGHT and BROWSER_WIDTH variables. + + + + + +########## UPGRADING FROM 2.0.2 TO 2.0.3 ########## + +1. install new files: + perl ./install.pl + NOTES: If you have customized any scripts in the bin or agi folders, + then make sure you back them up before running the install.pl script. + This script will replace existing files in the astguiclient installation. + +2. upgrade the MySQL asterisk database: + mysql + use asterisk + \. /path/from/root/extras/upgrade_2.0.3.sql + quit + +3. The server_stats.php has been merged into the vicidial/admin.php page + +4. Width of the admin.php screen, and the color and size of the headers are all + now definable by variables at top of the admin.php script. + +5. Dial Override checkbox added to the campaign modification screen of admin.php + to force manual dial_level changes in ADAPT dialing modes. + +6. Behaviour of HotKeys in manual dial mode has changed to automatically go on + to the next lead when a HotKey is pressed. + +7. It is now possible for agents to dial alternate phone numbers using only + HotKeys if ALTPH2 and/or ADDR3 are added to a campaign's hotkeys. + +8. You can now use BLEND/INBND/*_C/*_B/*_I to define a campaign a a CLOSER + campaign capable of taking inbound calls. + +9. In Auto-dialing campaigns(RATIO and ADAPT) you can now configure the dialer + to dial up to two alternate numbers per lead automatically, as well as + defining the statuses that you want to do this for. More info about + this feature in the ALTERNATE_NUMBER_DIALING.txt doc. + +10. Added ability to send multiple concurrent transfers at once to agents in + outbound campaigns. This will greatly benefit larger VICIDIAL + installations by decreasing the time it takes for a call to get to an + agent once answered after a large queue backup. This is defaulted to + AUTO, but can be forced to a set number. This is the Concurrent + Transfers option in the Campaign Modification page. + +11. New optimized code for AST_manager_send.pl and AST_send_action_child.pl. + Thanks to Lott Caskey for the code contribution + +12. The field user_group has been added to several log tables to allow for + better tracking of stats by user groups. Several reports now offer + user group display options. + +13. VERY IMPORTANT!!! Make sure the php.ini setting for memory_limit is set to + a minimum of 12M, we recommend 48M: + memory_limit = 48M + Some of the scripts have grown in size and need more memory to run + properly on some systems. + +14. Added ability to control access to each admin section by vicidial_users. + This includes a view_reports settings to restrict access to all of the + reports scripts. + +15. Added Agent Pause Codes that are definable per campaign and allows the + agent to select what they are doing when they are in pause time. + +16. Added optional Asterisk-compatible queue_log logging for QueueMetrics + compatibility. See the QUEUEMETRICS.txt doc for more information + +17. RECOMMENDATION - If you are calling in the USA, you should add the + "--postal-code-gmt" flag to your adjust GMT script in the crontab to + more accurately assign timezones to your leads. + +18. Changed dial statuses to use dynamic number of dial statuses instead of + static dial_status_x fields. + +19. Added Mute/UnMute ability to vicidial.php agent screen. To use, you must + have the _X18600XXX and _X28600XXX entries in your extensions.conf + +20. Added basic sipsak display on compatible SIP devices for VICIDIAL activity. + +21. Tested with Asterisk 1.2.16 and 1.2.17, new patch for meetme volume controls + for those two versions, see SCRATCH_INSTALL for more info. + +22. Added HOME link to the admin web page that goes to a configurable web address. + + + + + + +########## UPGRADING FROM 2.0.1 TO 2.0.2 ########## + +1. install new files: + perl ./install.pl + NOTES: If you have customized any scripts in the bin or agi folders, + then make sure you back them up before running the install.pl script. + This script will replace existing files in the astguiclient installation. + + /etc/astguiclient.conf has new variables for new functionality including: + - new ADMIN_keepalive_ALL process settings + - FastAGI_log server settings + and comments are added to the astguiclient.conf file + +2. upgrade the MySQL asterisk database: + mysql + use asterisk + \. /path/from/root/extras/upgrade_2.0.2.sql + quit + /usr/share/astguiclient/ADMIN_area_code_populate.pl + The Daylight Savings Time scheme for the USA and Canada has been + updated for the 2007 changes. Also, Brazil DST has been added. + Another addition on this topic is the addition of USA zipcode + GMT offset list that allows for more accurate timezone lookups. + +3. The astguiclient web directory has been removed and the + astguiclient/admin.php functions have been merged into the + vicidial/admin.php page + +4. You can now define trunks for use only by specific campaigns. See the help + in the vicidial/admin.php server modification page under the + VICIDIAL SERVER TRUNKS section. + +5. Agents now have the ability to control volume levels for any call in their + meetme room directly from the vicidial.php page. This only works on + Asterisk 1.2.7.1, 1.2.12.1, 1.2.13 or SVN_1.2 and the meetmeadmin_volume_control.patch + patch must be applied as described in the SCRATCH_INSTALL. Also, a few + lines must be added to the extensions.conf for this to work: + (_X48600XXX, _X38600XXX, 8300 [see docs/conf_examples/extensions.conf.sample]) + +6. Multiple ADMIN_keepalive scripts have been replaced with a single script + ADMIN_keepalive_ALL.pl + Remove all other ADMIN keepalive entries in your crontab and replace + with this one: + ### keepalive script for astguiclient processes + * * * * * /usr/share/astguiclient/ADMIN_keepalive_ALL.pl + + NOTE: the scripts to be kept alive are to be defined in the astguiclient.conf file + +7. FastAGI replacement for call_log and VD_hangup AGI scripts: + FastAGI_log.pl - requires cpan module Net::Server to run + If you want to use it, read the comments at the top of the script + Look at the docs/conf_examples/extensions.conf.sample file for examples + of how to use this new feature in your dialplan + - cpan + - install Net::Server + +8. Fix for unregistered SIP trunks (thanks to Chris Doyle): + look at the bottom of the docs/conf_examples/extensions.conf.sample + file for examples of what to put in your extensions.conf file to get + VICIDIAL auto dialing to work with non-registered SIP trunks. remember + to put sip-silence.gsm in your /var/lib/asterisk/sounds/ directory. + +9. Added new campaign summary screen and reformatted the timeonVDADall report: + A summary screen with all of the call information for every active + campaign for the day. reformatted campaign Realtime report with new + colors and other display options. + +10. Added new script to change the server_ip entries when a machine changes IPs + The ADMIN_update_server_ip.pl script can be used to update your server's + IP address within all vicidial database tables and config files from + this one script. This can even be run in the crontab if you are on + a DHCP service and need to modify your IP address often + +11. Added new script to allow for dial-out-only(no agents on the server) + VICIDIAL servers as well as balance dialing where a server with + available trunk lines can dial lines for another server that does not + have enough lines to dial for it's dial_level. AST_VDauto_dial_FILL.pl + script is only for multi-server systems and is started from new + ADMIN_keepalive_ALL.pl script with option 7 in astguiclient.conf + +12. Added the ability to restrict agent logins by user group to a specific set + of campaigns. This is definable in the USER GROUPS section of admin.php. + You must make sure that your admin login is in a user group and that + the selected user group has the allowable campaigns set to ALL + CAMPAIGNS to be able to view and modify all campaigns in the system. + +13. Added lead_id and user fields to the recording_log, along with cross- + reference links in several admin web pages for these. + +14. Changed Drop percentage to be out of Answered calls for FTC compliance. + +15. Tested new asterisk-perl module (0.09) and found that it is NOT compatible. + Please make sure you use asterisk-perl-0.08 ONLY. + + + + + +########## UPGRADING FROM 1.1.12-3 TO 2.0.1 ########## + +If you are upgrading to the 2.0 code tree from the 1.1.12-3 release there have +been several changes made to the code base and to where some files are stored in +the release as well as on your machine. + +1. upgrade the MySQL Asterisk database: + mysql + use asterisk + \. /path/from/root/extras/upgrade_2.0.1.sql + quit + + +2. use the new installer for astguiclient-VICIDIAL files: + NOTE: this new script is interactive with prompts. this script will + create the new /etc/astguiclient.conf settings file that replaces the + old AST_SERVER_conf.pl file that has been removed. Also, this settings + file is used by dbconnect.php scripts so no need to manually edit them + + perl install.pl + + +3. Make sure you have MySQL clientlibs installed: +Because all perl script now use DBI instead of Net::MySQL you need to make sure +that you have at least the MySQL client installed on all VICIDIAL servers even +if the MySQL server is installed on another machine. You can skip this step if +MySQL server is already on your VICIDIAL server: + Go to http://www.mysql.com/ and download the mysql package + - to install this directly on the command line type: + - cd /usr/local + - wget http://mirror.trouble-free.net/mysql_mirror/Downloads/MySQL-4.0/mysql-4.0.27.tar.gz + - gunzip mysql-4.0.27.tar.gz + - tar xvf mysql-4.0.27.tar + - cd mysql-4.0.27 + - groupadd mysql + - useradd -g mysql mysql + - "./configure --prefix=/usr/local/mysql --without-server --enable-shared=yes --with-readline" + - make + - make install + - you are done + + +4. New MySQL perl modules: +You will need to make sure that you have installed the following perl modules: +DBI (top-level Database interface module "install DBI") +DBD::mysql (MySQL-specific interface through DBI "force install DBD::mysql") + + +5. new predictive dialing crontab entry: +If you will be using the new predictive dialing functions you need to make sure +you have the keepalive for this function loaded in your crontab: +NOTE: this only needs to be on a single server if you are in a multiple +VICIDIAL server setup. +### keepalive script for VICIDIAL predictive script +* * * * * /usr/share/astguiclient/ADMIN_keepalive_AST_VDadapt.pl + + +6. all old crontab entries and /home/cron files +All of your old crontab entries need to be changed from /home/cron to +/usr/share/astguiclient if you choose the default installation path. You can +manually set the path to /home/cron if you like though since the home path is +now dynamic in all vicidial perl(.pl) scripts. If you do choose to use the new +default path, you can delete everything in the /home/cron directory if you like + + +7. old /etc/rc.d/rc.local entries +Be sure to change your /etc/rc.d/rc.local entries(the commands that are run at +system boot to start asterisk and other scripts like log rolling) and change the +/home/cron path to the new /usr/share/astguiclient path. + + +8. other notes: +- there is a new DIAL METHOD field and several other new dial-control fields +in campaign modification page, please take a minute to read the help +documentation for these new features. + + diff --git a/agc_2-X/branches/agc_2.0.5/VDconfig b/agc_2-X/branches/agc_2.0.5/VDconfig new file mode 100644 index 00000000..ffcd643e --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/VDconfig @@ -0,0 +1,924 @@ +#!/bin/sh +# +# VDconfig +# +# Copyright (C) 2007 VICIDIAL-astGUIclient LICENSE: GPLv2 +# + +# CHANGES +# 71120-0000 - Iniitial release +# 71121-1220 - Added --no-menu to merge in astguiclient.conf and save config. +# 71121-1334 - Added --env-make [make_option] to set environment before make. +# 71129-1947 - Fixed .agc-config load problem, fixed duplicate save issue. + + + +SetDefaults () +{ + # default path to astguicient configuration file: + PATHconf="/etc/astguiclient.conf" + # default path to home direct: + PATHhome="/usr/share/astguiclient" + # default path to astguiclient logs directory: + PATHlogs="/var/log/astguiclient" + # default path to asterisk agi-bin directory: + PATHagi="/var/lib/asterisk/agi-bin" + # default path to web root directory (Best guess): + PATHweb="/var/www/html" + if [ -e "/usr/apache2/htdocs" ]; then + PATHweb="/usr/apache2/htdocs" + elif [ -e "/usr/local/apache2/htdocs" ]; then + PATHweb="/usr/local/apache2/htdocs" + fi + # default path to asterisk sounds directory: + PATHsounds="/var/lib/asterisk/sounds" + # default path to asterisk recording directory: + PATHmonitor="/var/spool/asterisk/monitor" + # default path to asterisk recording DONE directory: + PATHDONEmonitor="/var/spool/asterisk/monitorDONE" + # the IP address of this machine. default to best guess: + VARserver_ip=`/sbin/ifconfig eth0 | grep 'inet addr' | awk -F: '{ print $2 }' | awk '{ print $1 }'` + # default database server variables: + VARDB_server="localhost" + VARDB_database="asterisk" + VARDB_user="cron" + VARDB_pass="1234" + VARDB_port="3306" + # default keepalive processes: + VARactive_keepalives="123456" + # default recording FTP archive variables: + VARFTP_host=$VARserver_ip + VARFTP_user="cron" + VARFTP_pass="test" + VARFTP_port="21" + VARFTP_dir="RECORDINGS" + VARHTTP_path="http://$VARserver_ip" + # default report FTP variables: + VARREPORT_host=$VARserver_ip + VARREPORT_user="cron" + VARREPORT_pass="test" + VARREPORT_port="21" + VARREPORT_dir="REPORTS" + # defaults for FastAGI Server PreFork + VARfastagi_log_min_servers="3" + VARfastagi_log_max_servers="16" + VARfastagi_log_min_spare_servers="2" + VARfastagi_log_max_spare_servers="8" + VARfastagi_log_max_requests="1000" + VARfastagi_log_checkfordead="30" + VARfastagi_log_checkforwait="60" +} + +FileLocationConfig () +{ + DONE=no + while [ "$DONE" != "yes" ]; do + { + $DIALOG --clear --ok-label "Edit" --cancel-label "Done" \ + --backtitle "$BACKTITLE" \ + --item-help \ + --title "General Configuration Menu" \ + --menu "General configuration and file location menu.\n" \ + 15 74 8 \ + 1 "This server's IP address" "This server's IP address: $VARserver_ip" \ + 2 "Home directory" "Home directory: $PATHhome" \ + 3 "Log directory" "Log directory: $PATHlogs" \ + 4 "Web root directory" "Web root directory: $PATHweb" \ + 5 "Asterisk AGI-bin directory" "Asterisk AGI-bin direcory: $PATHagi" \ + 6 "Asterisk sounds directory" "Asterisk sounds directory: $PATHsounds" \ + 7 "Asterisk recordings directory" "Asterisk recordings directory: $PATHmonitor" \ + 8 "Asterisk recordings DONE directory" "Asterisk recordings DONE directory $PATHDONEmonitor" 2>$TEMP + + if [ "$?" != "0" ]; then + { + DONE=yes + } + else + { + set `cat $TEMP` + if [ "$1" = "1" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "Server IP Address" \ + --inputbox "Enter this server's IP address:" 9 74 "$VARserver_ip" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARserver_ip=$1 + } + fi + } + elif [ "$1" = "2" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "Home Directory" \ + --inputbox "Enter the astguiclient home directory" 9 74 "$PATHhome" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + PATHhome=$1 + } + fi + } + elif [ "$1" = "3" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "Log Directory" \ + --inputbox "Enter the log directory" 9 74 "$PATHlogs" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + PATHlogs=$1 + } + fi + } + elif [ "$1" = "4" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "Web Root Directory" \ + --inputbox "Enter the web root directory:" 9 74 "$PATHweb" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + PATHweb=$1 + } + fi + } + elif [ "$1" = "5" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "Asterisk AGI-bin Directory" \ + --inputbox "Enter the location of Asterisk's AGI-bin directory:" 9 74 "$PATHagi" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + PATHagi=$1 + } + fi + } + elif [ "$1" = "6" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "Asterisk Sound Directory" \ + --inputbox "Enter the location of Asterisk's sounds directory:" 9 74 "$PATHsounds" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + PATHsounds=$1 + } + fi + } + elif [ "$1" = "7" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "Asterisk Recording Directory" \ + --inputbox "Enter the location of Asterisk's recordings directory:" 9 74 "$PATHmonitor" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + PATHmonitor=$1 + } + fi + } + elif [ "$1" = "8" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "Asterisk Recording Completed Directory" \ + --inputbox "Enter the location of Asterisk's recording completion directory:" 9 74 "$PATHDONEmonitor" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + PATHDONEmonitor=$1 + } + fi + } + fi + } + fi + } + done + return 0 +} + +DatabaseConfig () +{ + DONE=no + while [ "$DONE" != "yes" ]; do + { + $DIALOG --clear --ok-label "Edit" --cancel-label "Done" \ + --backtitle "$BACKTITLE" \ + --item-help \ + --title "Database Configuration Menu" \ + --menu "Setup database access parameters.\n" \ + 12 74 5 \ + 1 "MySQL server" "MySQL server: $VARDB_server" \ + 2 "MySQL port" "MySQL port: $VARDB_port" \ + 3 "MySQL database" "MySQL database: $VARDB_database" \ + 4 "MySQL user" "MySQL user: $VARDB_user" \ + 5 "MySQL password" "MySQL password: $VARDB_pass" \ + 2> $TEMP + + if [ "$?" != "0" ]; then + { + DONE=yes + } + else + { + set `cat $TEMP` + if [ "$1" = "1" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "MySQL Server Address" \ + --inputbox "Enter server's IP address or hostname:" 9 74 "$VARDB_server" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARDB_server=$1 + } + fi + } + elif [ "$1" = "2" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "MySQL Port" \ + --inputbox "Enter port of the MySQL server:" 9 74 "$VARDB_port" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARDB_port=$1 + } + fi + } + elif [ "$1" = "3" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "MySQL Database" \ + --inputbox "Enter database name to use:" 9 74 "$VARDB_database" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARDB_database=$1 + } + fi + } + elif [ "$1" = "4" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "MySQL Username" \ + --inputbox "Enter the username:" 9 74 "$VARDB_user" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARDB_user=$1 + } + fi + } + elif [ "$1" = "5" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "MySQL Password" \ + --inputbox "Enter the password for the above user:" 9 74 "$VARDB_pass" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARDB_pass=$1 + } + fi + } + fi + } + fi + } + done + return 0 +} + +RecordingConfig () +{ + DONE=no + while [ "$DONE" != "yes" ]; do + { + $DIALOG --clear --ok-label "Edit" --cancel-label "Done" \ + --backtitle "$BACKTITLE" \ + --item-help \ + --title "Recording Configuration Menu" \ + --menu "Setup recording FTP/HTTP access.\n" \ + 13 74 6 \ + 1 "FTP host" "FTP host: $VARFTP_host" \ + 2 "FTP port" "FTP port: $VARFTP_port" \ + 3 "FTP user" "FTP user: $VARFTP_user" \ + 4 "FTP password" "FTP password: $VARFTP_pass" \ + 5 "FTP directory" "FTP directory: $VARFTP_dir" \ + 6 "HTTP path" "HTTP path: $VARHTTP_path" \ + 2> $TEMP + + if [ "$?" != "0" ]; then + { + DONE=yes + } + else + { + set `cat $TEMP` + if [ "$1" = "1" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "FTP Server Address" \ + --inputbox "Enter server's IP address or hostname:" 9 74 "$VARFTP_host" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARFTP_host=$1 + } + fi + } + elif [ "$1" = "2" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "FTP Port" \ + --inputbox "Enter port of the FTP server:" 9 74 "$VARFTP_port" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARFTP_port=$1 + } + fi + } + elif [ "$1" = "3" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "FTP Username" \ + --inputbox "Enter username:" 9 74 "$VARFTP_user" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARFTP_user=$1 + } + fi + } + elif [ "$1" = "4" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "FTP Password" \ + --inputbox "Enter the password:" 9 74 "$VARFTP_pass" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARFTP_pass=$1 + } + fi + } + elif [ "$1" = "5" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "FTP Directory" \ + --inputbox "Enter the directory to upload to:" 9 74 "$VARFTP_dir" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARFTP_dir=$1 + } + fi + } + elif [ "$1" = "6" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "HTTP Path" \ + --inputbox "Enter the HTTP path to the FTP uploads:" 9 74 "$VARHTTP_path" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARHTTP_path=$1 + } + fi + } + fi + } + fi + } + done + return 0 +} + +ReportingConfig () +{ + DONE=no + while [ "$DONE" != "yes" ]; do + { + $DIALOG --clear --ok-label "Edit" --cancel-label "Done" \ + --backtitle "$BACKTITLE" \ + --item-help \ + --title "Reporting Configuration Menu" \ + --menu "Setup reporting FTP access.\n" \ + 12 74 5 \ + 1 "FTP host" "FTP host: $VARREPORT_host" \ + 2 "FTP port" "FTP port: $VARREPORT_port" \ + 3 "FTP user" "FTP user: $VARREPORT_user" \ + 4 "FTP password" "FTP password: $VARREPORT_pass" \ + 5 "FTP directory" "FTP directory: $VARREPORT_dir" \ + 2> $TEMP + + if [ "$?" != "0" ]; then + { + DONE=yes + } + else + { + set `cat $TEMP` + if [ "$1" = "1" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "FTP Server Address" \ + --inputbox "Enter server's IP address or hostname:" 9 74 "$VARFTP_host" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARFTP_host=$1 + } + fi + } + elif [ "$1" = "2" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "FTP Port" \ + --inputbox "Enter port of the FTP server:" 9 74 "$VARFTP_port" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARFTP_port=$1 + } + fi + } + elif [ "$1" = "3" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "FTP Username" \ + --inputbox "Enter username:" 9 74 "$VARFTP_user" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARFTP_user=$1 + } + fi + } + elif [ "$1" = "4" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "FTP Password" \ + --inputbox "Enter the password:" 9 74 "$VARFTP_pass" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARFTP_pass=$1 + } + fi + } + elif [ "$1" = "5" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "FTP Directory" \ + --inputbox "Enter the directory to upload to:" 9 74 "$VARFTP_dir" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARFTP_dir=$1 + } + fi + } + fi + } + fi + } + done + return 0 +} + +FastAGIConfig () +{ + DONE=no + while [ "$DONE" != "yes" ]; do + { + $DIALOG --clear --ok-label "Edit" --cancel-label "Done" \ + --backtitle "$BACKTITLE" \ + --item-help \ + --title "FastAGI Configuration Menu" \ + --menu "Settings for FastAGI logging server.\n" \ + 14 74 7 \ + 1 "Minimum Servers ($VARfastagi_log_min_servers)" "Minimum Servers: $VARfastagi_log_min_servers" \ + 2 "Maximum Servers ($VARfastagi_log_max_servers)" "Maximum Servers: $VARfastagi_log_max_servers" \ + 3 "Minimum Spares ($VARfastagi_log_min_spare_servers)" "Minimum Spares: $VARfastagi_log_min_spare_servers" \ + 4 "Maximum Spares ($VARfastagi_log_max_spare_servers)" "Maximum Spares: $VARfastagi_log_max_spare_servers" \ + 5 "Maximum Requests ($VARfastagi_log_max_requests)" "Maximum Requests: $VARfastagi_log_max_requests" \ + 6 "Check for Dead ($VARfastagi_log_checkfordead)" "Check for Dead: $VARfastagi_log_checkfordead" \ + 7 "Check for Wait ($VARfastagi_log_checkforwait)" "Check for Wait: $VARfastagi_log_checkforwait" \ + 2> $TEMP + + if [ "$?" != "0" ]; then + { + DONE=yes + } + else + { + set `cat $TEMP` + if [ "$1" = "1" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "FastAGI Logger Minimum Servers" \ + --inputbox "Enter the minimum servers to run:" 9 74 "$VARfastagi_log_min_servers" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARfastagi_log_min_servers=$1 + } + fi + } + elif [ "$1" = "2" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "FastAGI Logger Maximum Servers" \ + --inputbox "Enter the maximum number of servers to run:" 9 74 "$VARfastagi_log_max_servers" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARfastagi_log_max_servers=$1 + } + fi + } + elif [ "$1" = "3" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "FastAGI Logger Minimum Spare Servers" \ + --inputbox "Enter the minimum number of spares:" 9 74 "$VARfastagi_log_min_spare_servers" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARfastagi_log_min_spare_servers=$1 + } + fi + } + elif [ "$1" = "4" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "FastAGI Logger Maximum Spare Servers" \ + --inputbox "Enter the maximum number of spares:" 9 74 "$VARfastagi_log_max_spare_servers" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARfastagi_log_max_spare_servers=$1 + } + fi + } + elif [ "$1" = "5" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "FastAGI Logger Maximum Requests" \ + --inputbox "Enter the maximum requests before killing server:" 9 74 "$VARfastagi_log_max_requests" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARfastagi_log_max_requests=$1 + } + fi + } + elif [ "$1" = "6" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "FastAGI Logger Check for Dead" \ + --inputbox "Enter the check for dead time:" 9 74 "$VARfastagi_log_checkfordead" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARfastagi_log_cheackfordead=$1 + } + fi + } + elif [ "$1" = "7" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "FastAGI Logger Check for Wait" \ + --inputbox "Enter the check for wait time:" 9 74 "$VARfastagi_log_checkforwait" \ + 2> $TEMP + if [ "$?" = "0" ]; then + { + set `cat $TEMP` + VARfastagi_log_checkforwait=$1 + } + fi + } + fi + } + fi + } + done + return 0 +} + +RunPerlKeepAliveSep () +{ + KATMP="/tmp/.agc.conf.katmp.$$" + KAPTMP="/tmp/.agc.conf.kaptmp.$$" + echo '$k1 = "off"; $k2 = "off"; $k3 = "off"; $k4 = "off"; $k5 = "off"; $k6 = "off"; $k7 = "off";' > $KAPTMP + echo 'foreach $i (split //, $ARGV[0]) {' >> $KAPTMP + echo ' if ($i eq "1") { $k1 = "on"; } elsif ($i eq "2") { $k2 = "on";' >> $KAPTMP + echo ' } elsif ($i eq "3") { $k3 = "on"; } elsif ($i eq "4") { $k4 = "on";' >> $KAPTMP + echo ' } elsif ($i eq "5") { $k5 = "on"; } elsif ($i eq "6") { $k6 = "on";' >> $KAPTMP + echo ' } elsif ($i eq "7") { $k7 = "on"; }' >> $KAPTMP + echo '}' >> $KAPTMP + echo 'print "K1=$k1\nK2=$k2\nK3=$k3\nK4=$k4\nK5=$k5\nK6=$k6\nK7=$k7\n";' >> $KAPTMP + perl $KAPTMP $VARactive_keepalives >> $KATMP + . $KATMP + rm -f $KAPTMP + rm -f $KATMP +} + +KeepaliveConfig () +{ + RunPerlKeepAliveSep + DONE=no + while [ "$DONE" != "yes" ]; do + { + $DIALOG --clear --ok-label "Done" \ + --backtitle "$BACKTITLE" \ + --no-cancel \ + --item-help \ + --title "Keepalive Configuration Menu" \ + --checklist "Settings for keepalive processes.\nDeselect all items if you do not want any keepalive processes running.\n\nUse (Space) to select/deselect items." \ + 17 74 7 \ + 1 "AST_update" "$K1" "" \ + 2 "AST_send_listen" "$K2" "" \ + 3 "AST_VDauto_dial" "$K3" "" \ + 4 "AST_VDremote_agents" "$K4" "" \ + 5 "AST_VDadapt" "$K5" "If multi-server system, this must only be on one server." \ + 6 "FastAGI Logger" "$K6" "" \ + 7 "AST_VDauto_dial_FILL" "$K7" "Only for multi-server, this must only be on one server." \ + 2> $TEMP + + if [ "$?" = "0" ]; then + { + DONE=yes + VARactive_keepalives=`cat $TEMP | tr -d '"' | tr -d ' '` + if [ "$VARactive_keepalives" = "" ]; then + { + VARactive_keepalives="X" + } + fi + } + fi + } + done + return 0 +} + + +SaveConfig () + { + echo "# astguiclient.conf - configuration elements for the astguiclient package" > $PATHconf + echo "# this is the astguiclient configuration file" >> $PATHconf + echo "# all comments will be lost if you run install.pl again" >> $PATHconf + echo "AGCversion => $AGCversion" >> $PATHconf + echo "" >> $PATHconf + echo "# Paths used by astGUIclient" >> $PATHconf + echo "PATHhome => $PATHhome" >> $PATHconf + echo "PATHlogs => $PATHlogs" >> $PATHconf + echo "PATHagi => $PATHagi" >> $PATHconf + echo "PATHweb => $PATHweb" >> $PATHconf + echo "PATHsounds => $PATHsounds" >> $PATHconf + echo "PATHmonitor => $PATHmonitor" >> $PATHconf + echo "" >> $PATHconf + echo "# The IP address of this machine" >> $PATHconf + echo "VARserver_ip => $VARserver_ip" >> $PATHconf + echo "" >> $PATHconf + echo "# Database connection information" >> $PATHconf + echo "VARDB_server => $VARDB_server" >> $PATHconf + echo "VARDB_database => $VARDB_database" >> $PATHconf + echo "VARDB_user => $VARDB_user" >> $PATHconf + echo "VARDB_pass => $VARDB_pass" >> $PATHconf + echo "VARDB_port => $VARDB_port" >> $PATHconf + echo "" >> $PATHconf + echo "# Alpha-Numeric list of the astGUIclient processes to be kept running" >> $PATHconf + echo "# (value should be listing of characters with no spaces: 123456)" >> $PATHconf + echo "# X - NO KEEPALIVE PROCESSES (use only if you want none to be keepalive)" >> $PATHconf + echo "# 1 - AST_update" >> $PATHconf + echo "# 2 - AST_send_listen" >> $PATHconf + echo "# 3 - AST_VDauto_dial" >> $PATHconf + echo "# 4 - AST_VDremote_agents" >> $PATHconf + echo "# 5 - AST_VDadapt (If multi-server system, this must only be on one server)" >> $PATHconf + echo "# 6 - FastAGI_log" >> $PATHconf + echo "# 7 - AST_VDauto_dial_FILL (only for multi-server, this must only be on one server)" >> $PATHconf + echo "VARactive_keepalives => $VARactive_keepalives" >> $PATHconf + echo "" >> $PATHconf + echo "# Settings for FastAGI logging server" >> $PATHconf + echo "VARfastagi_log_min_servers => $VARfastagi_log_min_servers" >> $PATHconf + echo "VARfastagi_log_max_servers => $VARfastagi_log_max_servers" >> $PATHconf + echo "VARfastagi_log_min_spare_servers => $VARfastagi_log_min_spare_servers" >> $PATHconf + echo "VARfastagi_log_max_spare_servers => $VARfastagi_log_max_spare_servers" >> $PATHconf + echo "VARfastagi_log_max_requests => $VARfastagi_log_max_requests" >> $PATHconf + echo "VARfastagi_log_checkfordead => $VARfastagi_log_checkfordead" >> $PATHconf + echo "VARfastagi_log_checkforwait => $VARfastagi_log_checkforwait" >> $PATHconf + echo "" >> $PATHconf + echo "# Recording FTP archive variables" >> $PATHconf + echo "VARFTP_host => $VARFTP_host" >> $PATHconf + echo "VARFTP_user => $VARFTP_user" >> $PATHconf + echo "VARFTP_pass => $VARFTP_pass" >> $PATHconf + echo "VARFTP_port => $VARFTP_port" >> $PATHconf + echo "VARFTP_dir => $VARFTP_dir" >> $PATHconf + echo "VARHTTP_path => $VARHTTP_path" >> $PATHconf + echo "" >> $PATHconf + echo "# Report FTP variables" >> $PATHconf + echo "VARREPORT_host => $VARREPORT_host" >> $PATHconf + echo "VARREPORT_user => $VARREPORT_user" >> $PATHconf + echo "VARREPORT_pass => $VARREPORT_pass" >> $PATHconf + echo "VARREPORT_port => $VARREPORT_port" >> $PATHconf + echo "VARREPORT_dir => $VARREPORT_dir" >> $PATHconf + + chmod 644 $PATHconf + + MESSAGE="Configuration: $PATHconf" + EXIT="yes" + } + +############################################################################# +## Main Program +if ! which dialog > /dev/null; then +{ + echo "dialog not found!" + exit 1 +} +fi + +DIALOG="dialog" +TEMP="/tmp/.agc.tmp.$$" +EXIT="no" +MESSAGE="Abnormal Termination" + +# Source to environment and do not print messages. +if [ "$1" = "--env-make" ]; then + EXIT="yes" + OUTPUT="no" +fi + +if [ "$1" = "--no-menu" ]; then + EXIT="yes" + MENU="no" +fi + +# If a config for install is in current directory, use that. +if [ -f ".agc.config" ]; then +{ + PATHconf=".agc.config" +} +fi + +# Set defaults and load configuration. +SetDefaults +if [ -f "version" ]; then +{ + AGCversion=`cat version` + INSTALL="yes" + PATHconf=".agc.config" +} +fi +if [ -f "$PATHconf" ]; then +{ + CONFIG="/tmp/.agc.conf.$$" + if [ "$OUTPUT" != "no" ]; then + echo "Loading saved configuration from $PATHconf" + sleep 1 + fi + sed 's/[ |>|\t]//g' $PATHconf > $CONFIG + . $CONFIG + rm -f $CONFIG +} +fi + +# If version is blank, assume 2.0.3" +if [ "$AGCversion" = "" ]; then +{ + AGCversion="2.0.3" +} +fi + +while [ "$EXIT" != "yes" ]; do + { + BACKTITLE="VICIDIAL-astGUIclient $AGCversion Configuration" + MM_TEXT="Welcome to the VICIDIAL-astGUIclient Configuration Menu." + MM_TEXT="$MM_TEXT\nHere can configure the default settings for" + MM_TEXT="$MM_TEXT VICIDIAL-astGUIclient." + if [ "$INSTALL" = "yes" ]; then + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "Main Configuration Menu" \ + --menu "$MM_TEXT" 18 74 10 \ + 1 "General configuration & file locations" \ + 2 "Database configuration" \ + 3 "Recording (FTP) configuration" \ + 4 "Reporting (FTP) configuration" \ + 5 "FastAGI server configuration" \ + 6 "Active Keepalives" \ + - "---------------------------------------" \ + 7 "Save configuration & exit" \ + 8 "Exit WITHOUT saving" \ + 9 "Save configuration & install" \ + 2>$TEMP + } + else + { + $DIALOG --clear --backtitle "$BACKTITLE" \ + --title "Main Configuration Menu" \ + --menu "$MM_TEXT" 17 74 9 \ + 1 "General configuration & file locations" \ + 2 "Database configuration" \ + 3 "Recording (FTP) configuration" \ + 4 "Reporting (FTP) configuration" \ + 5 "FastAGI server configuration" \ + 6 "Active Keepalives" \ + - "--------------------------------------" \ + 7 "Save configuration & exit" \ + 8 "Exit WITHOUT saving" \ + 2>$TEMP + } + fi + + if [ "$?" != "0" ]; then + { + MESSAGE="Configuration cancelled!" + EXIT="yes" + } + else + { + set `cat $TEMP` + if [ "$1" = "1" ]; then FileLocationConfig + elif [ "$1" = "2" ]; then DatabaseConfig + elif [ "$1" = "3" ]; then RecordingConfig + elif [ "$1" = "4" ]; then ReportingConfig + elif [ "$1" = "5" ]; then FastAGIConfig + elif [ "$1" = "6" ]; then KeepaliveConfig + elif [ "$1" = "7" ]; then SaveConfig + elif [ "$1" = "8" ]; then + { + MESSAGE="Configuration NOT saved!" + EXIT=yes + } + elif [ "$1" = "9" ]; then + { + SaveConfig + RUNINSTALL=yes + } + fi + } + fi +} +done + +if [ "$MENU" = "no" ]; then + SaveConfig +fi + +rm -f $TEMP +if [ "$OUTPUT" != "no" ]; then + echo "$0 written by Lott Caskey, 2007-11-19." + echo + echo + echo $MESSAGE +fi + +if [ "$1" = "--env-make" ]; then + export PATHconf PATHhome PATHlogs PATHagi PATHweb PATHsounds + export PATHmonitor PATHDONEmonitor DESTDIR + make $2 +fi + +if [ "$RUNINSTALL" = "yes" ]; then + export PATHconf PATHhome PATHlogs PATHagi PATHweb PATHsounds + export PATHmonitor PATHDONEmonitor DESTDIR + make install +fi diff --git a/agc_2-X/branches/agc_2.0.5/agi/VDL_CID_lookup.agi b/agc_2-X/branches/agc_2.0.5/agi/VDL_CID_lookup.agi new file mode 100644 index 00000000..f3c626a6 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/VDL_CID_lookup.agi @@ -0,0 +1,405 @@ +#!/usr/bin/perl +# +# VDL_CID_lookup.agi version 0.1 *DBI-version* +# +# runs after a call goes through AMD in extensions.conf to send the call on to +# it's proper destination +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ; VICIDIAL_auto_dialer transfer script AMD with Load Balanced: +# exten => 8369,1,Ringing +# exten => 8369,2,Wait(1) +# exten => 8369,3,Answer +# exten => 8369,4,AGI(VDL_CID_lookup.agi) +# exten => 8369,5,AGI(agi-VDAD_ALL_inbound.agi,CID-----LB-----IN_TEST-----7275551212-----Closer-----park----------999-----1) +# exten => 8369,6,Hangup +# exten => 8369,7,AGI(call_logCID.agi,${EXTEN}-----${CALLERID}-----${CALLERIDNUM}-----${CALLERIDNAME}) +# exten => 8369,8,AGI(agi-VDADinbound_NI_DNC_CIDlookup.agi) +# exten => 8369,9,Hangup +# +# +# Copyright (C) 2008 Matt Florell LICENSE: GPLv2 +# +# changes: +# 80930-0226 - first build +# 81015-1702 - added filter stats +# + +$filter_stats = 1; +$script = 'VDL_CID_lookup.agi'; + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + + +$|=1; +while() +{ + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_priority\:\s+(.*)$/) {$priority = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1; $calleridnum = $callerid;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} +} + +if ( (length($callerid)>20) && ($callerid =~ /\"\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S/) ) + { + $callerid =~ s/^\"//gi; + $callerid =~ s/\".*$//gi; + } +if ( ( +(length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) +) or ( (length($calleridname)>17) && ($calleridname =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) ) ) + { + $callerid = $calleridname; + } + + +if ($AGILOG) {$agi_string = "AGI Environment Dump:"; &agi_output;} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|BUS: $business_hours|"; &agi_output;} + +$callerid =~ s/\"//gi; + + + + + + + + + + + + + +if ($filter_stats > 0) + { + ### find out if phone number exists in the vicidial_list table + $stmtA = "SELECT count(*) FROM vicidial_list where phone_number = '$callerid';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VDL_count = "$aryA[0]"; + } + $sthA->finish(); + + if ($VDL_count < 1) + { + $priority = ($priority + 3); + $stmtA = "INSERT INTO live_inbound_log (uniqueid,channel,server_ip,caller_id,extension,start_time,comment_a,comment_b) values('$uniqueid','$channel','$VARserver_ip','$callerid','$extension','$SQLdate','INBOUND_IVR_FILTER','NOT_FOUND')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- cid_lookup finish: : |$affected_rows|$callerid|$priority|NOT_FOUND|"; &agi_output;} + + print "SET PRIORITY $priority\n"; + checkresult($result); + + $dbhA->disconnect(); + + exit; + } + else ################# LEAD IN SYSTEM, FILTER FURTHER ######################### + { + $stmtA = "SELECT count(*) FROM vicidial_list where phone_number = '$callerid' and status IN('A1','A2','A3','A4','SALE');"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $sales_count = "$aryA[0]"; + } + $sthA->finish(); + + if ($sales_count > 0) + { + $priority = ($priority + 3); + $stmtA = "INSERT INTO live_inbound_log (uniqueid,channel,server_ip,caller_id,extension,start_time,comment_a,comment_b,comment_c) values('$uniqueid','$channel','$VARserver_ip','$callerid','$extension','$SQLdate','INBOUND_IVR_FILTER','EXISTING','SALE')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- cid_lookup finish: : |$affected_rows|$callerid|$priority|EXISTING|SALE|"; &agi_output;} + + print "SET PRIORITY $priority\n"; + checkresult($result); + + $dbhA->disconnect(); + + exit; + } + + $stmtA = "SELECT count(*) FROM vicidial_list where phone_number = '$callerid' and status IN('DNC');"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dnc_count = "$aryA[0]"; + } + $sthA->finish(); + + if ($dnc_count > 0) + { + $priority = ($priority + 3); + $stmtA = "INSERT INTO live_inbound_log (uniqueid,channel,server_ip,caller_id,extension,start_time,comment_a,comment_b,comment_c) values('$uniqueid','$channel','$VARserver_ip','$callerid','$extension','$SQLdate','INBOUND_IVR_FILTER','EXISTING','DNC')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- cid_lookup finish: : |$affected_rows|$callerid|$priority|EXISTING|DNC|"; &agi_output;} + + print "SET PRIORITY $priority\n"; + checkresult($result); + + $dbhA->disconnect(); + + exit; + } + + $stmtA = "SELECT count(*) FROM vicidial_list where phone_number = '$callerid' and list_id NOT IN('999999');"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $archive_count = "$aryA[0]"; + } + $sthA->finish(); + + if ($archive_count < 1) + { + $priority = ($priority + 3); + $stmtA = "INSERT INTO live_inbound_log (uniqueid,channel,server_ip,caller_id,extension,start_time,comment_a,comment_b,comment_c) values('$uniqueid','$channel','$VARserver_ip','$callerid','$extension','$SQLdate','INBOUND_IVR_FILTER','EXISTING','ARCHIVE')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- cid_lookup finish: : |$affected_rows|$callerid|$priority|EXISTING|ARCHIVE|"; &agi_output;} + + print "SET PRIORITY $priority\n"; + checkresult($result); + + $dbhA->disconnect(); + + exit; + } + + $stmtA = "INSERT INTO live_inbound_log (uniqueid,channel,server_ip,caller_id,extension,start_time,comment_a,comment_b,comment_c) values('$uniqueid','$channel','$VARserver_ip','$callerid','$extension','$SQLdate','INBOUND_IVR_FILTER','CLEAN','TO_AGENT')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- cid_lookup finish: : |$affected_rows|$callerid|$priority|EXISTING|CLEAN|"; &agi_output;} + + exit; + } + + } + +else + { + ### find out if phone number exists in the vicidial_list table + $stmtA = "SELECT count(*) FROM vicidial_list where phone_number = '$callerid' and list_id NOT IN('999999');"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VDL_count = "$aryA[0]"; + } + $sthA->finish(); + + if ($VDL_count < 1) + { + $priority = ($priority + 3); + if ($AGILOG) {$agi_string = "-- cid_lookup finish: |$priority|$callerid"; &agi_output;} + print "SET PRIORITY $priority\n"; + checkresult($result); + } + + } + +$dbhA->disconnect(); + +exit; + + + + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/agi/VD_amd.agi b/agc_2-X/branches/agc_2.0.5/agi/VD_amd.agi new file mode 100644 index 00000000..1b467b64 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/VD_amd.agi @@ -0,0 +1,448 @@ +#!/usr/bin/perl +# +# VD_amd.agi version 2.0.4 *DBI-version* +# +# NOTE: This script is only needed with app_amd enabled systems +# +# runs after a call goes through AMD in extensions.conf to send the call on to +# it's proper destination +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ; VICIDIAL_auto_dialer transfer script AMD with Load Balanced: +# exten => 8369,1,AGI(call_log.agi,${EXTEN}) +# exten => 8369,2,(AMD),AMD +# exten => 8369,3,AGI(VD_amd.agi,${EXTEN}) +# exten => 8369,4,AGI(agi-VDAD_LB_transfer.agi,${EXTEN}) +# exten => 8369,5,AGI(agi-VDAD_LB_transfer.agi,${EXTEN}) +# exten => 8369,6,AGI(agi-VDAD_LB_transfer.agi,${EXTEN}) +# exten => 8369,7,Hangup +# +# Copyright (C) 2007 Matt Florell LICENSE: AGPLv2 +# +# changes: +# 60206-1434 first build +# 60207-1205 added database records entries/modifications +# 60207-1507 added ability to send AMs to campaign-defined message to leave +# 60731-1407 - changed to use DBI-DBD::mysql +# - changed to use /etc/astguiclient.conf for configs +# 60815-1310 - added output options check from database +# 71118-0252 - compatibility with Asterisk 1.4, added AA and AM statuses +# + +$script = 'VD_amd.agi'; + +$A = 1; # set to 1 for AMD output messages mode +$AMD_LOG = 1; # set to 1 for logfile + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + + +$|=1; +while() +{ + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_priority\:\s+(.*)$/) {$priority = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1; $calleridnum = $callerid;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} +} + +if ( (length($callerid)>20) && ($callerid =~ /\"\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S/) ) + { + $callerid =~ s/^\"//gi; + $callerid =~ s/\".*$//gi; +# ### set the callerid to the ACQS value(calleridname) +# print "SET CALLERID $callerid\n"; +# checkresult($result); +# print STDERR "callerID changed: $callerid\n"; + + } +if ( ( +(length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) +) or ( (length($calleridname)>17) && ($calleridname =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) ) ) + { + $callerid = $calleridname; +# ### set the callerid to the ACQS value(calleridname) +# print "SET CALLERID $callerid\n"; +# checkresult($result); +# print STDERR "callerID changed: $callerid\n"; + } + + +if ($AGILOG) {$agi_string = "AGI Environment Dump:"; &agi_output;} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + +$VDADcampaign=''; +$VDADphone=''; +$VDADphone_code=''; + +$callerid =~ s/\"//gi; +$CIDlead_id = $callerid; +$CIDlead_id = substr($CIDlead_id, 11, 9); +$CIDlead_id = ($CIDlead_id + 0); +$VD_lead_id = $CIDlead_id; + +if ($AGILOG) {$agi_string = "+++++ VD amd START : |$CIDlead_id|$now_date|$AST_ver|$priority|$calleridname|"; &agi_output;} + + +if ( ($channel =~ /Local/i) && ($AST_ver !~ /^1\.0\.8|^1\.0\.9/) ) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +if ($priority > 2) {sleep(1);} +exit; +} + + + +$AMDSTATUS = $AGI->get_variable(AMDSTATUS); +$AMDCAUSE = $AGI->get_variable(AMDCAUSE); + +if ($A) +{ +if ($AGILOG) {$agi_string = "AAAAA AMD results: |$AMDSTATUS|$AMDCAUSE|"; &agi_output;} +} + +# Asterisk 1.2.X +# AAAAA AMD results: |AMD_PERSON|AMD_HUMAN-300-300| +# AAAAA AMD results: |AMD_MACHINE|AMD_LONGGREETING-1500-1500| +# Asterisk 1.4.X: +# AAAAA AMD results: |HUMAN|HUMAN-1000-1000|0000000000| +# AAAAA AMD results: |MACHINE|MAXWORDS-4-4|0000000000| + +if ($AMD_LOG) + { + open(Lout, ">>$PATHlogs/AMD_log.txt") + || die "Can't open $PATHlogs/AMD_log.txt: $!\n"; + print Lout "$now_date|$VD_lead_id| |$AMDSTATUS|$AMDCAUSE|$calleridnum|\n"; + close(Lout); + } + + +################################################################################## +########## AMD says it's a person so exit and go on to transfer scripts ########## +if ($AMDSTATUS =~ /PERSON|HUMAN|NOTSURE|HANGUP/) +{ + if ($A) + { + if ($AGILOG) {$agi_string = " AMD exiting"; &agi_output;} + } + exit; +} + +else +{ +################################################################################ +########## AMD says it's a machine so modify statuses and hangup call ########## +########## something will go here later for leaving a message on AMs ########## + + +########## FIND ext_context from the servers table ########## +$stmtA = "SELECT ext_context FROM servers where server_ip = '$VARserver_ip';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBext_context = "$aryA[0]"; + if ($DBext_context) {$ext_context = $DBext_context;} + $rec_count++; + } +$sthA->finish(); + + +########## FIND vicidial_auto_calls record ########## +$stmtA = "SELECT campaign_id,phone_code,phone_number FROM vicidial_auto_calls where callerid='$callerid' order by auto_call_id desc limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VD_campaign_id = "$aryA[0]"; + $VD_phone_code = "$aryA[1]"; + $VD_phone_number = "$aryA[2]"; + $rec_count++; + } +$sthA->finish(); + + +########## UPDATE vicidial_list ########## +$stmtA = "UPDATE vicidial_list set status='AA' where lead_id = '$VD_lead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$VD_lead_id"; &agi_output;} + +########## DELETE vicidial_auto_calls entry ########## +$stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' order by auto_call_id desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAC record deleted: |$affected_rows| |$VD_lead_id|$uniqueid|$VD_callerid"; &agi_output;} + +########## FIND AND UPDATE vicidial_log ########## +$stmtA = "SELECT start_epoch FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$VD_lead_id' order by call_date desc limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $epc_countCUSTDATA=0; +while ($sthArows > $epc_countCUSTDATA) + { + @aryA = $sthA->fetchrow_array; + $VD_start_epoch = "$aryA[0]"; + $epc_countCUSTDATA++; + } +$sthA->finish(); + +if (!$epc_countCUSTDATA) + { + if ($AGILOG) {$agi_string = "no VDL record found: $uniqueid $calleridname $VD_lead_id $uniqueid"; &agi_output;} + $end_epoch = ($now_date_epoch + 3); + $stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed,length_in_sec,end_epoch) values('$uniqueid','$VD_lead_id','$VD_campaign_id','$now_date','$now_date_epoch','AA','$VD_phone_code','$VD_phone_number','VDAD','N','3','$end_epoch')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + } +else + { + $VD_seconds = ($now_date_epoch - $VD_start_epoch); + $stmtA = "UPDATE vicidial_log set status='AA',end_epoch='$now_date_epoch',length_in_sec='$VD_seconds' where uniqueid='$uniqueid' and lead_id='$VD_lead_id' order by call_date desc limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_log update: |$affected_rows|$uniqueid|"; &agi_output;} + } + + +### Grab vmail forward message values from the database +$stmtA = "SELECT am_message_exten,amd_send_to_vmx FROM vicidial_campaigns where campaign_id = '$VD_campaign_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $epc_countCUSTDATA=0; +while ($sthArows > $epc_countCUSTDATA) + { + @aryA = $sthA->fetchrow_array; + $DB_am_message_exten = "$aryA[0]"; + $DB_amd_send_to_vmx = "$aryA[1]"; + $epc_countCUSTDATA++; + } +$sthA->finish(); + +if ($AGILOG) {$agi_string = "-- AMD campaign values: |$VD_campaign_id|$DB_am_message_exten|$DB_amd_send_to_vmx|"; &agi_output;} + +if ( ($DB_amd_send_to_vmx =~ /Y/) && (length($DB_am_message_exten) > 0) ) + { + $stmtA = "UPDATE vicidial_log set status='AM' where uniqueid='$uniqueid' and lead_id='$VD_lead_id' order by call_date desc limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_log AM update: |$affected_rows|$uniqueid|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='AM' where lead_id='$VD_lead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list AM update: |$affected_rows|$uniqueid|"; &agi_output;} + + if ($AGILOG) {$agi_string = "exiting the AMD app, transferring call to $DB_am_message_exten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DB_am_message_exten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + exit; + } + +$dbhA->disconnect(); + +$AGI->hangup($channel); + +exit; +} + + + + + +exit; + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/agi/VD_amd_post.agi b/agc_2-X/branches/agc_2.0.5/agi/VD_amd_post.agi new file mode 100644 index 00000000..07bfbb67 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/VD_amd_post.agi @@ -0,0 +1,311 @@ +#!/usr/bin/perl +# +# VD_amd_post.agi version 2.0.4 *DBI-version* +# +# NOTE: This script is only needed with app_amd enabled systems +# +# runs after a call goes through AMD in extensions.conf to send the call on to +# it's proper destination +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ; VICIDIAL_auto_dialer transfer script AMD with Load Balanced: +# exten => 8369,1,AGI(call_log.agi,${EXTEN}) +# exten => 8369,2,(AMD),AMD +# exten => 8369,3,AGI(VD_amd.agi,${EXTEN}) +# exten => 8369,4,AGI(agi-VDAD_LB_transfer.agi,${EXTEN}) +# exten => 8369,5,AGI(agi-VDAD_LB_transfer.agi,${EXTEN}) +# exten => 8369,6,AGI(agi-VDAD_LB_transfer.agi,${EXTEN}) +# exten => 8369,7,Hangup +# +# ; this is used for playing a message to an answering machine forwarded from AMD in VICIDIAL +# ; replace conf with the message file you want to leave +# exten => 8320,1,WaitForSilence(2000,2) ; AMD got machine. leave message after recording +# exten => 8320,2,Playback(conf) +# exten => 8320,3,AGI(VD_amd_post.agi,${EXTEN}) +# exten => 8320,4,Hangup +# +# Copyright (C) 2007 Matt Florell LICENSE: AGPLv2 +# +# changes: +# 60217-1119 first build +# 60731-1403 - changed to use DBI-DBD::mysql +# - changed to use /etc/astguiclient.conf for configs +# 60817-1025 - added output options check from database +# 71118-0257 - updated comments +# + +$script = 'VD_amd_post.agi'; + +$A = 1; # set to 1 for AMD output messages mode +$AMD_LOG = 0; # set to 1 for logfile + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() +{ + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_priority\:\s+(.*)$/) {$priority = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} +} + +if ( (length($callerid)>20) && ($callerid =~ /\"\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S/) ) + { + $callerid =~ s/^\"//gi; + $callerid =~ s/\".*$//gi; +# ### set the callerid to the ACQS value(calleridname) +# print "SET CALLERID $callerid\n"; +# checkresult($result); +# print STDERR "callerID changed: $callerid\n"; + + } +if ( ( +(length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) +) or ( (length($calleridname)>17) && ($calleridname =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) ) ) + { + $callerid = $calleridname; +# ### set the callerid to the ACQS value(calleridname) +# print "SET CALLERID $callerid\n"; +# checkresult($result); +# print STDERR "callerID changed: $callerid\n"; + } + + +if ($AGILOG) {$agi_string = "AGI Environment Dump:"; &agi_output;} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|$calleridname|$priority|"; &agi_output;} + +$VDADcampaign=''; +$VDADphone=''; +$VDADphone_code=''; + + +$callerid =~ s/\"//gi; +$CIDlead_id = $callerid; +$CIDlead_id = substr($CIDlead_id, 11, 9); +$CIDlead_id = ($CIDlead_id + 0); +$VD_lead_id = $CIDlead_id; + +if ($AGILOG) {$agi_string = "+++++ VD amd START: |$CIDlead_id|$now_date|$AST_ver|"; &agi_output;} + +if ( ($channel =~ /Local/i) && ($AST_ver !~ /^1\.0\.8|^1\.0\.9/) ) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +if ($priority > 2) {sleep(1);} +exit; +} + + + + + + + + + + + + +################################################################################ +########## AMD says it's a machine so modify statuses and hangup call ########## +########## something will go here later for leaving a message on AMs ########## + +$stmtA = "UPDATE vicidial_log set status='AL' where lead_id='$VD_lead_id' order by call_date desc limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD vicidial_log AL update: |$affected_rows|$uniqueid|"; &agi_output;} + +$stmtA = "UPDATE vicidial_list set status='AL' where lead_id='$VD_lead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD vicidial_list AL update: |$affected_rows|$uniqueid|"; &agi_output;} + + +$dbhA->disconnect(); + + + + +exit; + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/agi/VD_auto_post_VERIFY.agi b/agc_2-X/branches/agc_2.0.5/agi/VD_auto_post_VERIFY.agi new file mode 100644 index 00000000..3d937289 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/VD_auto_post_VERIFY.agi @@ -0,0 +1,392 @@ +#!/usr/bin/perl +# +# VD_auto_post_VERIFY.agi version 2.0.5 *DBI-version* +# +# NOTE: This script is only used with auto-message campaigns with dynamic data +# +# runs after a call is answered +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ; VICIDIAL_auto_dialer transfer script AMD with Load Balanced: +#exten => 8320,1,WaitForSilence(2000,2) ; wait for 2 seconds of silence +#exten => 8320,2,AGI(VD_auto_post_VERIFY.agi,${EXTEN}) +#exten => 8320,3,Hangup +# +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# changes: +# 60915-1616 - first build +# + +$script = 'VD_auto_post_VERIFY.agi'; + +### files to play for message of not interested or DNC and your request has been processed +$goodbye_audio_file = 'US_reminder_goodbye'; +$mc_one_file = '85100019'; +$mc_two_file = '85100021'; +$visa_one_file = '85100018'; +$visa_two_file = '85100020'; + + +#$A = 1; # set to 1 for AMD output messages mode +$AMD_LOG = 0; # set to 1 for logfile + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() +{ + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_priority\:\s+(.*)$/) {$priority = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} +} + +if ( (length($callerid)>20) && ($callerid =~ /\"\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S/) ) + { + $callerid =~ s/^\"//gi; + $callerid =~ s/\".*$//gi; +# ### set the callerid to the ACQS value(calleridname) +# print "SET CALLERID $callerid\n"; +# checkresult($result); +# print STDERR "callerID changed: $callerid\n"; + + } +if ( ( +(length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) +) or ( (length($calleridname)>17) && ($calleridname =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) ) ) + { + $callerid = $calleridname; +# ### set the callerid to the ACQS value(calleridname) +# print "SET CALLERID $callerid\n"; +# checkresult($result); +# print STDERR "callerID changed: $callerid\n"; + } + + +if ($AGILOG) {$agi_string = "AGI Environment Dump:"; &agi_output;} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|$calleridname|$priority|"; &agi_output;} + +$VDADcampaign=''; +$VDADphone=''; +$VDADphone_code=''; + + +$callerid =~ s/\"//gi; +$CIDlead_id = $callerid; +$CIDlead_id = substr($CIDlead_id, 11, 9); +$CIDlead_id = ($CIDlead_id + 0); +$VD_lead_id = $CIDlead_id; + +if ($AGILOG) {$agi_string = "+++++ VD amd START: |$CIDlead_id|$now_date|$AST_ver|"; &agi_output;} + +if ( ($channel =~ /Local/i) && ($AST_ver !~ /^1\.0\.8|^1\.0\.9/) ) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +if ($priority > 2) {sleep(1);} +exit; +} + + +# Thank you for your recent purchase of ACME Sprockets, we have +# confirmed your enrollment in the + +# [Verified by Visa| MasterCard SecureCode] + +# program. Please go to www.iconfirm.net and enter your name and +# verification code + +# [verification code] + +# within the next (x amount of hours) to +# complete + +# [Verified by Visa|MasterCard SecureCode] + +# authentication. Your +# participation is optional and does not effect the processing of your +# purchase. Thank you." + + +$AGI->stream_file('beep'); + +$stmtA = "UPDATE vicidial_log set status='PU' where lead_id='$VD_lead_id' order by call_date desc limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD vicidial_log PU update: |$affected_rows|$uniqueid|"; &agi_output;} + +$stmtA = "UPDATE vicidial_list set status='PU' where lead_id='$VD_lead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD vicidial_list PU update: |$affected_rows|$uniqueid|"; &agi_output;} + +### Check to see if the number is in the system ### +$stmtA= "SELECT security_phrase,comments from vicidial_list where lead_id='$VD_lead_id';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $security_phrase = "$aryA[0]"; + $comments = "$aryA[1]"; + $sthA->finish(); + } +else + { + $AGI->stream_file("$goodbye_audio_file"); + } + +### first read of the message +if ($comments =~ /Master/i) + { + $message_one = $mc_one_file; + $message_two = $mc_two_file; + } +else + { + $message_one = $visa_one_file; + $message_two = $visa_two_file; + } + +if ($AGILOG) {$agi_string = "Verify message playing: |$VD_lead_id|$security_phrase|$comments|$message_one|$message_two|"; &agi_output;} + +$AGI->stream_file("$message_one"); + + sleep(1); + +$AGI->stream_file("letters/v"); +$AGI->say_digits("$security_phrase"); + + sleep(1); + + +$AGI->stream_file("$message_two"); + + + + + +$stmtA = "UPDATE vicidial_log set status='AL' where lead_id='$VD_lead_id' order by call_date desc limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD vicidial_log AM update: |$affected_rows|$uniqueid|"; &agi_output;} + +$stmtA = "UPDATE vicidial_list set status='AL' where lead_id='$VD_lead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD vicidial_list AM update: |$affected_rows|$uniqueid|"; &agi_output;} + +$dbhA->disconnect(); + + + + +### second read of the message + +$AGI->stream_file("$message_one"); + + sleep(1); + +$AGI->stream_file("letters/v"); +$AGI->say_digits("$security_phrase"); + + sleep(1); + + +$AGI->stream_file("$message_two"); + + + $AGI->stream_file("$goodbye_audio_file"); + + + + + + + + +exit; + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/agi/agi-AGENT_dial_in.agi b/agc_2-X/branches/agc_2.0.5/agi/agi-AGENT_dial_in.agi new file mode 100644 index 00000000..aae8bf06 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/agi-AGENT_dial_in.agi @@ -0,0 +1,463 @@ +#!/usr/bin/perl +# +# agi-AGENT_dial_in.agi version 0.1 +# +# This script is designed to allow agents the ability to dial in to an extension +# to establish the phone connection to their VICIDIAL session. The user login +# and password must be only digits and nothing but digits to use this utility. +# +# user is prompted for their user ID then press # +# user is prompted for their passcode then press # +# then the user is forwarded to the active vicidial agent session +# +# ;agent dial-in: +#exten => 2345,1,Answer ; Answer the line +#exten => 2345,2,AGI(agi-AGENT_dial_in.agi) +#exten => 2345,3,Hangup +# +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGELOG +# 81022-2115 - First build +# + +&get_time_now; + $start_epoch = $now_date_epoch; + +$script = 'agi-AGENT_dial_in.agi'; + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$US='_'; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/ivrout.$year-$mon-$mday";} + +use DBI; +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +$|=1; +while() +{ + chomp; + last unless length($_); + if ($V) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} +} + +if ( ($callerid =~ /\".*\"/) && ( (!$calleridname) or ($calleridname =~ /unknown/) ) ) + { + $calleridname = $callerid; + $calleridname =~ s/\<\d\d\d\d\d\d\d\d\d\d\>//gi; + $calleridname =~ s/\"|\" //gi; + } + + $callerid =~ s/\D//gi; + $calleridname =~ s/unknown//gi; +if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} +$phone_number=$callerid; + +### Grab Server values from the database +$stmtA = "SELECT ext_context,agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBext_context = "$aryA[0]"; + $DBagi_output = "$aryA[1]"; + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + + +$AGI->stream_file('sip-silence'); +$AGI->stream_file('sip-silence'); + + +$entry_chances=0; +$VALID_login=0; +$ACTIVE_login=0; +$VDADremDIALstr=''; +while ( ($entry_chances < 3) && ($VALID_login < 1) ) + { + $entry_chances++; + + + &user_password_gather; + + + ###### Check userID and password against vicidial_users table + $stmtA = "SELECT count(*) FROM vicidial_users where user='$PIN_number' and pass='$PASS_word';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VALID_login = "$aryA[0]"; + } + $sthA->finish(); + + + if ($VALID_login > 0) + { + $AGI->stream_file('pin-number-accepted'); + } + else + { + $AGI->stream_file('pin-invalid'); + } + } + + + +if ($VALID_login < 1) + { + if ($AGILOG) {$agi_string = "DIAL-IN END: Invalid Login |$VALID_login|$PIN_number|$PASS_word|"; &agi_output;} + + $AGI->stream_file('vm-goodbye'); + + $AGI->hangup(); + + $dbhA->disconnect(); + exit; + } +else + { + $secX = time(); + $PDtarget = ($secX - 30); + ($Psec,$Pmin,$Phour,$Pmday,$Pmon,$Pyear,$Pwday,$Pyday,$Pisdst) = localtime($PDtarget); + $Pyear = ($Pyear + 1900); + $Pmon++; + if ($Pmon < 10) {$Pmon = "0$Pmon";} + if ($Pmday < 10) {$Pmday = "0$Pmday";} + if ($Phour < 10) {$Phour = "0$Phour";} + if ($Pmin < 10) {$Pmin = "0$Pmin";} + if ($Psec < 10) {$Psec = "0$Psec";} + $PDtsSQLdate = "$Pyear$Pmon$Pmday$Phour$Pmin$Psec"; + + ###### Check if user is logged in, vicidial_live_agents table + $stmtA = "SELECT count(*) FROM vicidial_live_agents where user='$PIN_number' and last_update_time > \"$PDtsSQLdate\";"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $ACTIVE_login = "$aryA[0]"; + } + $sthA->finish(); + + if ($ACTIVE_login < 1) + { + if ($AGILOG) {$agi_string = "DIAL-IN END: Inactive Login |$VALID_login|$PIN_number|$PASS_word| |$ACTIVE_login|$PDtsSQLdate|"; &agi_output;} + + $AGI->stream_file('login-fail'); + $AGI->stream_file('you-must-be-logged-in'); + $AGI->stream_file('vm-goodbye'); + + $AGI->hangup(); + + $dbhA->disconnect(); + exit; + } + else + { + $stmtA = "SELECT conf_exten,extension,server_ip from vicidial_live_agents WHERE user='$PIN_number' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + + $VDADconf_exten = "$aryA[0]"; + $VDADextension = "$aryA[1]"; + $VDADserver_ip = "$aryA[2]"; + } + $sthA->finish(); + + ### format the remote server dialstring to get the call to the overflow agent meetme room + $S='*'; + if( $VDADserver_ip =~ m/(\S+)\.(\S+)\.(\S+)\.(\S+)/ ) + { + $a = leading_zero($1); + $b = leading_zero($2); + $c = leading_zero($3); + $d = leading_zero($4); + $VDADremDIALstr = "$a$S$b$S$c$S$d$S"; + } + $VDADremDIALstr .= "$VDADconf_exten"; + + if ($AGILOG) {$agi_string = "Agent $PIN_number sent to $VDADremDIALstr"; &agi_output;} + + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADremDIALstr\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + } + + + +$dbhA->disconnect(); + +exit; + + + + + +################################################################################ +##### SUBROUTINES ############################################################## +################################################################################ + + +##### BEGIN collect the user and password ###################################### +sub user_password_gather +{ +################################################################################ +# please enter the pin number followed by the pound key + +$interrupt_digit=''; + +$interrupt_digit = $AGI->stream_file('ld_welcome_pin_number','0123456789'); + + print STDERR "interrupt_digit |$interrupt_digit|\n"; + +$digits_being_entered=1; +$PIN_number=''; +if ($interrupt_digit > 0) + { +# if ($interrupt_digit == 35) {$interrupt_digit='#';} +# if ($interrupt_digit == 42) {$interrupt_digit='*';} + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + + $PIN_number=$interrupt_digit; + } + +$digit_loop_counter=0; +while ( ($digits_being_entered > 0) && ($digit_loop_counter < 20) ) + { + $digit = chr($AGI->wait_for_digit('10000')); # wait 10 seconds for input or until the pound key is pressed + if ($digit =~ /\d/) + { + $PIN_number = "$PIN_number$digit"; + print STDERR "digit |$digit| PIN_number |$PIN_number|\n"; +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digits_being_entered=0; + } + + $digit_loop_counter++; + } + +$PIN_number =~ s/\D//gi; +if ($PIN_number) {print STDERR "digit |$digit| PIN_number |$PIN_number|\n";} + + + +################################################################################ +# please enter your password followed by the pound key + +$interrupt_digit=''; + +$interrupt_digit = $AGI->stream_file('enter-password','0123456789'); + + print STDERR "interrupt_digit |$interrupt_digit|\n"; + +$digits_being_entered=1; +$PASS_word=''; +if ($interrupt_digit > 0) + { +# if ($interrupt_digit == 35) {$interrupt_digit='#';} +# if ($interrupt_digit == 42) {$interrupt_digit='*';} + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + + $PASS_word=$interrupt_digit; + } + +$digit_loop_counter=0; +while ( ($digits_being_entered > 0) && ($digit_loop_counter < 20) ) + { + $digit = chr($AGI->wait_for_digit('10000')); # wait 10 seconds for input or until the pound key is pressed + if ($digit =~ /\d/) + { + $PASS_word = "$PASS_word$digit"; + print STDERR "digit |$digit| PASS_word |$PASS_word|\n"; +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digits_being_entered=0; + } + + $digit_loop_counter++; + } + +$PASS_word =~ s/\D//gi; +if ($PASS_word) {print STDERR "digit |$digit| PASS_word |$PASS_word| PIN_number |$PIN_number|\n";} + +} +##### END collect the user and password ############################################### + + + + + +sub get_time_now #get the current date and time and epoch for logging call lengths and datetimes +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$filedate = "$year$mon$mday$hour$min$sec"; +} + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + print STDERR "FAIL ($res)\n"; + $fail++; + } else { + print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} + +sub leading_zero($) +{ + $_ = $_[0]; + s/^(\d)$/0$1/; + s/^(\d\d)$/0$1/; + return $_; +} # End of the leading_zero() routine. diff --git a/agc_2-X/branches/agc_2.0.5/agi/agi-CANADA_PRI_CIDname.agi b/agc_2-X/branches/agc_2.0.5/agi/agi-CANADA_PRI_CIDname.agi new file mode 100644 index 00000000..34d3ca77 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/agi-CANADA_PRI_CIDname.agi @@ -0,0 +1,261 @@ +#!/usr/bin/perl +# +# agi-CANADA_PRI_CIDname.agi version 0.1 +# +# Runs after call goes through IAX loop to send out custom CallerIDname on +# Canadian PRIs that allow dynamic setting of CIDname with call initiation +# +# You need to have lines similar to those below in your extensions.conf file: +# +# ;outbound VICIDIAL calls: +#exten => _91NXXNXXXXXX,1,AGI(call_log.agi,${EXTEN}) +#exten => _91NXXNXXXXXX,2,AGI(agi-CANADA_PRI_CIDname.agi,${EXTEN}) +#exten => _91NXXNXXXXXX,3,Dial(${TRUNKX}/${EXTEN:1},55,tTo) +#exten => _91NXXNXXXXXX,4,Hangup +# +# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# +# changes: +# 90305-2136 - First build +# + +$script = 'agi-CANADA_PRI_CIDname.agi'; + +$AGILOG=0; +$FD=0; # force debug for testing + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) + { + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + } + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} +if (!$DIDLOGfile) {$DIDLOGfile = "$PATHlogs/didin.$year-$mon-$mday";} + + +$|=1; +while() + { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + } + +if ( ($callerid =~ /\".*\"/) && ( (!$calleridname) or ($calleridname =~ /unknown/) ) ) + { + $calleridname = $callerid; + $calleridname =~ s/\<\d\d\d\d\d\d\d\d\d\d\>//gi; + $calleridname =~ s/\"|\" //gi; + } + + $callerid =~ s/\D//gi; + $calleridname =~ s/unknown//gi; +if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + +if (length($callerid)>0) {$phone_number = $callerid;} + else {$phone_number = '';} +if (length($calleridname)>0) {$VLcomments = $calleridname;} + else {$VLcomments = '';} + +foreach $i (sort keys %AGI) + { + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} + } + +if ( (length($callerid)>20) && ($callerid =~ /\"\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S/) ) + { + $calleridname =~ s/^\"//gi; + $calleridname =~ s/\".*$//gi; + } + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output,local_gmt FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + $local_gmt = "$aryA[1]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### Grab Server values from the database +$stmtA = "SELECT cmd_line_g,cmd_line_h,cmd_line_i,cmd_line_j FROM vicidial_manager where callerid = '$calleridname' limit 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $sthA->finish(); + $account_check = "|$aryA[0]|$aryA[1]|$aryA[2]|$aryA[3]"; + if ($account_check =~ /usegroupalias=1/) + { + @data = split(/Account: /,$account_check); + $data[1] =~ s/\|.*//gi; + $account = $data[1]; + + ### Grab callerIDname and number from the database + $stmtA = "SELECT caller_id_name,caller_id_number FROM groups_alias where group_alias_id = '$account' limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $sthA->finish(); + $caller_id_name = "$aryA[0]"; + $caller_id_number = "$aryA[1]"; + + ### set the callerid to the ACQS value(calleridname) + ## use these two lines for Asterisk 1.2 tree + $newcallerid = "\"$caller_id_name <$caller_id_number>\""; + $AGI->set_callerid($newcallerid); + ## use these two lines for Asterisk 1.0 tree + # print "SET CALLERID \"$calleridname\" <0000000000>\n"; + # print "SET CALLERIDNAME \"$calleridname\"\n"; + + print STDERR "Setting CID \"$newcallerid\"\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: newcallerid; &agi_output";} + + if ($FD > 0) {print STDERR "callerID changed: newcallerid\n";} + + + if ($AGILOG) {$agi_string = "AGI Variables: |$extension|$areacode|$callerid|$calleridname|newcallerid|"; &agi_output;} + } + } + } + + +exit; + + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/agi/agi-DID_route.agi b/agc_2-X/branches/agc_2.0.5/agi/agi-DID_route.agi new file mode 100644 index 00000000..83d58164 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/agi-DID_route.agi @@ -0,0 +1,406 @@ +#!/usr/bin/perl +# +# agi-DID_route.agi version 2.0.5 +# +# runs when a call comes into an inbound context on a trunk. This script will +# send the calls to various places depending on the settings for each DID. +# +# +# You need to put a line similar to this below in your extensions.conf file: +# ;inbound DID catch-all: +#exten => _X.,1,AGI(agi-DID_route.agi) +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# changes: +# 81007-0324 - First Build +# 90115-0645 - Activated AGENT call routing +# 90117-0756 - Added vicidial_did_log logging to database +# 90214-0217 - Added 'default' did option, to send all non-matching calls to, enforced did_active setting +# + +$script = 'agi-DID_route.agi'; +$dtmf_silent_prefix = '7'; +$at='@'; +$S='*'; + + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$hm = "$hour$min"; +$hm = ($hm + 0); + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$CLInow_date = "$year-$mon-$mday\\ $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} +if (!$DIDLOGfile) {$DIDLOGfile = "$PATHlogs/didin.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output,local_gmt FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + $local_gmt = "$aryA[1]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + +$|=1; +while() +{ + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} +} + + +if ( ($callerid =~ /\".*\"/) && ( (!$calleridname) or ($calleridname =~ /unknown/) ) ) + { + $calleridname = $callerid; + $calleridname =~ s/\<\d\d\d\d\d\d\d\d\d\d\>//gi; + $calleridname =~ s/\"|\" //gi; + } + + $callerid =~ s/\D//gi; + $calleridname =~ s/unknown//gi; +if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + + +### Grab DID values from the database +$stmtA = "SELECT did_id,did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup FROM vicidial_inbound_dids where did_pattern = '$extension' and did_active='Y';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $did_id = $aryA[0]; + $did_pattern = $aryA[1]; + $did_description = $aryA[2]; + $did_active = $aryA[3]; + $did_route = $aryA[4]; + $did_extension = $aryA[5]; + $exten_context = $aryA[6]; + $voicemail_ext = $aryA[7]; + $phone = $aryA[8]; + $did_server_ip = $aryA[9]; + $user = $aryA[10]; + $user_unavailable_action = $aryA[11]; + $user_route_settings_ingroup = $aryA[12]; + } +$sthA->finish(); + +$stmtA = "INSERT INTO vicidial_did_log SET uniqueid='$uniqueid',channel='$channel',server_ip='$VARserver_ip',caller_id_number='$callerid',caller_id_name='$calleridname',extension='$extension',call_date='$SQLdate',did_id='$did_id',did_route='$did_route';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rowsL = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- DID LOG : |$affected_rowsL|$stmtA|"; &agi_output;} + +if ($AGILOG) {$did_string = "$SQLdate|$uniqueid|$channel|$extension|$callerid|$calleridname|$did_id|$did_route|"; &did_output;} + +if ($sthArows < 1) + { + ### Grab DID values from the database for a default DID pattern if there is one + $stmtA = "SELECT did_id,did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup FROM vicidial_inbound_dids where did_pattern = 'default' and did_active='Y';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $did_id = $aryA[0]; + $did_pattern = $aryA[1]; + $did_description = $aryA[2]; + $did_active = $aryA[3]; + $did_route = $aryA[4]; + $did_extension = $aryA[5]; + $exten_context = $aryA[6]; + $voicemail_ext = $aryA[7]; + $phone = $aryA[8]; + $did_server_ip = $aryA[9]; + $user = $aryA[10]; + $user_unavailable_action = $aryA[11]; + $user_route_settings_ingroup = $aryA[12]; + } + $sthA->finish(); + + if ($sthArows < 1) + { + ### if nothing found, exit script + exit; + } + } + +### Grab Server values from the database +$cbc=0; +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + $cbc++; + } +$sthA->finish(); + + + + + +### Route call to a VICIDIAL-defined phone +if ($did_route =~ /PHONE/) + { + $stmtA = "SELECT dialplan_number,voicemail_id,protocol,ext_context FROM phones where server_ip = '$did_server_ip' and extension='$phone';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dialplan_number = "$aryA[0]"; + $voicemail_id = "$aryA[1]"; + $protocol = "$aryA[2]"; + $ext_context = "$aryA[3]"; + } + $sthA->finish(); + + if ($protocol =~ /EXTERNAL/) + { + ### format the remote server dialstring to get the call to the overflow agent meetme room + if( $did_server_ip =~ m/(\S+)\.(\S+)\.(\S+)\.(\S+)/ ) + { + $a = leading_zero($1); + $b = leading_zero($2); + $c = leading_zero($3); + $d = leading_zero($4); + $ServerString = "$a$S$b$S$c$S$d$S"; + } + + $did_extension = "$ServerString$dialplan_number"; + $did_route = 'EXTEN'; + } + else + { + #$AGI->exec("Dial", "$protocol/$phone|30"); + print "EXEC Dial \"$protocol/$phone|30\"\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "Done dialing $protocol/$phone |$result|$pass|$fail|$stmtA|"; &agi_output;} + + exit; + } + } + + +### Route call to a voicemail box on the system +if ($did_route =~ /VOICEMAIL/) + { + ### format the remote server dialstring to get the call to the overflow agent meetme room + if( $did_server_ip =~ m/(\S+)\.(\S+)\.(\S+)\.(\S+)/ ) + { + $a = leading_zero($1); + $b = leading_zero($2); + $c = leading_zero($3); + $d = leading_zero($4); + $ServerString = "$a$S$b$S$c$S$d$S"; + } + $did_extension = "$ServerString$voicemail_dump_exten$voicemail_ext"; + $did_route = 'EXTEN'; + } + + +### Route call to a VICIDIAL Inbound Group +if ($did_route =~ /IN_GROUP/) + { + $did_extension = "99909$S$did_id$S"; + $exten_context = $ext_context; + $did_route = 'EXTEN'; + } + + +### Route call to a logged-in VICIDIAL agent +if ($did_route =~ /AGENT/) + { + $did_extension = "99909$S$did_id$S"; + $exten_context = $ext_context; + $did_route = 'EXTEN'; + } + + +### Route call to an extension on the system +if ($did_route =~ /EXTEN/) + { + $XFERexten = "$did_extension"; + if ($AGILOG) {$agi_string = "exiting the DID app, transferring call to $XFERexten @ $exten_context"; &agi_output;} + print "SET CONTEXT $exten_context\n"; + checkresult($result); + print "SET EXTENSION $XFERexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + exit; + } + + + + + + + +######### SUBROUTINES ################# + +sub checkresult +{ + $pass=0; $fail=0; + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + +sub leading_zero($) +{ + $_ = $_[0]; + s/^(\d)$/0$1/; + s/^(\d\d)$/0$1/; + return $_; +} # End of the leading_zero() routine. + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} + +sub did_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Dout, ">>$DIDLOGfile") + || die "Can't open $DIDLOGfile: $!\n"; + print Dout "$did_string\n"; + close(Dout); + } +$did_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/agi/agi-IVR_recording_verification.agi b/agc_2-X/branches/agc_2.0.5/agi/agi-IVR_recording_verification.agi new file mode 100644 index 00000000..2b378c5d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/agi-IVR_recording_verification.agi @@ -0,0 +1,738 @@ +#!/usr/bin/perl +# +# agi-IVR_recording_verification.agi version 0.1 +# +# This script is designed to function as a complete automated 3rd party +# verification IVR recording system. This script will work by optionally asking +# for a company ID and/or a customer phone number, then it will play through the +# listed prompts asking for a single digit press (i.e. 1 for a yes or a 3 for a +# no, hash/pound/star/zero/0 are not accepted only 1-9 is valid for these steps). +# All data for these calls will be logged to the vicidial_ivr table as well as +# optionally to a log file in the standard astguiclient log file directory +# and/or STDERR output on the asterisk process. This script uses the +# /etc/astguiclient.conf file for database connection settings, logging data and +# for logfile path information only. +# +# With a modified VDAD agi transfer script, this script could also be used to do +# automated outbound surveys as well. Feature under development. +# +# ; 1. the DNIS or inbound number called +# ; 2. play the recording ID (Y|N) with prompt leading up to it +# ; 3. record this call(Y|N) +# ; 4. ask for a company code(Y|N) with the number of digits in that company code and the prompt +# ; 5. ask for a user code(Y|N) with the number of digits in that user code and the prompt +# ; 6. ask for the customer phone number(Y|N) with the number of digits in that phone number and the prompt (Y-10-85100001) +# ; 7. speak the current date (Y|N) with prompt announcing the date +# ; 8. a dash-delimited list of prompts that expect responses(85100002-85100003) +# ; 9. a "your recording ID is..." prompt (85100004) +# ; 10. logging/output (FILE|STDERR|BOTH|NONE) +# +# ;inbound IVR call: +#exten => 1234,1,Ringing ; call ringing +#exten => 1234,2,Wait(1) ; Wait 1 second for CID delivery from PRI +#exten => 1234,3,Answer ; Answer the line +#exten => 1234,4,AGI(agi-IVR_recording_verification.agi,7274506620---Y-85100004---Y---Y-1-85100016---N---N---Y-85100007---85100009-600--85100012-30--85100013---85100004---BOTH) +#exten => 1234,5,Hangup +# +# ;inbound IVR call from a VICIDIAL transfer: +#exten => _83002*.,1,Ringing ; call ringing +#exten => _83002*.,2,Wait(1) ; Wait 1 second for CID delivery +#exten => _83002*.,3,Answer ; Answer the line +#exten => _83002*.,4,AGI(agi-IVR_recording_verification.agi,7275551234---N---Y---N---N---Y-10-85100001---N---85100002-85100003---85100004---BOTH) +#exten => _83002*.,5,Hangup +# +# +# Copyright (C) 2007 Matt Florell LICENSE: AGPLv2 +# +# CHANGELOG +# 70912-1105 - First build, non-functional +# 70916-2331 - functional alpha version, reads all prompts and logs data, no recording yet +# 70921-1110 - full beta version with recording working +# 71028-1122 - added say datetime as an option +# 71112-0238 - added prompt delays and date announcement message +# 71120-1337 - added playing of recording ID at beginning of session +# + +&get_time_now; + $start_epoch = $now_date_epoch; + +$script = 'agi-IVR_recording_verification.agi'; + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$US='_'; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/ivrout.$year-$mon-$mday";} + +use DBI; +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($ARGV[0] =~ /---/) + { + ### list of command-line array arguments: + @ARGV_vars = split(/---/, $ARGV[0]); + + $inbound_number = $ARGV_vars[0]; + $play_ID = $ARGV_vars[1]; + $record_call = $ARGV_vars[2]; + $company_ID_ask = $ARGV_vars[3]; + $user_ID_ask = $ARGV_vars[4]; + $cust_phone_ask = $ARGV_vars[5]; + $say_date = $ARGV_vars[6]; + $prompts = $ARGV_vars[7]; + $last_prompt = $ARGV_vars[8]; + $AGI_output = $ARGV_vars[9]; + @prompts_list = split(/-/, $prompts); + $prompts_count = $#prompts_list; + if ($play_ID =~ /Y/) + { + @play_IDary = split(/-/, $play_ID); + $play_ID_prompt = $play_IDary[1]; + } + if ($company_ID_ask =~ /Y/) + { + @company_ID = split(/-/, $company_ID_ask); + $company_ID_length = $company_ID[1]; + $company_ID_prompt = $company_ID[2]; + } + if ($user_ID_ask =~ /Y/) + { + @user_ID = split(/-/, $user_ID_ask); + $user_ID_length = $user_ID[1]; + $user_ID_prompt = $user_ID[2]; + } + if ($cust_phone_ask =~ /Y/) + { + @cust_phone_ID = split(/-/, $cust_phone_ask); + $cust_phone_length = $cust_phone_ID[1]; + $cust_phone_prompt = $cust_phone_ID[2]; + } + if ($say_date =~ /Y/) + { + @say_date_ID = split(/-/, $say_date); + $say_date_prompt = $say_date_ID[1]; + } + if ($AGI_output =~ /STDERR/) {$AGILOG = '1';} + if ($AGI_output =~ /FILE/) {$AGILOG = '2';} + if ($AGI_output =~ /BOTH/) {$AGILOG = '3';} + + } +} + + +$|=1; +while() +{ + chomp; + last unless length($_); + if ($V) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} +} + +if ( ($callerid =~ /\".*\"/) && ( (!$calleridname) or ($calleridname =~ /unknown/) ) ) + { + $calleridname = $callerid; + $calleridname =~ s/\<\d\d\d\d\d\d\d\d\d\d\>//gi; + $calleridname =~ s/\"|\" //gi; + } + + $callerid =~ s/\D//gi; + $calleridname =~ s/unknown//gi; +if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + +$phone_number=$callerid; + + +### allow for VICIDIAL transfer data string "83002*3125551212*10000123*TESTCAMP*ABC*1234*" +if ($extension =~ /^832\d\d\*|^833\d\d\*/) + { + @EXT_vars = split(/\*/, $extension); + + $referring_extension = $EXT_vars[0]; # initial extension sent + $phone_number = $EXT_vars[1]; # phone number + $lead_id = $EXT_vars[2]; # lead_id in vicidial_list + $campaign_id = $EXT_vars[3]; # campaign id + $product_code = $EXT_vars[4]; # product code + $user = $EXT_vars[5]; # vicidial_user that sent the call here + } + + +### table structure for data ### +# CREATE TABLE vicidial_ivr ( +# ivr_id INT(9) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, +# entry_time DATETIME, +# length_in_sec SMALLINT(5) UNSIGNED default '0', +# inbound_number VARCHAR(12), +# recording_id INT(9) UNSIGNED, +# recording_filename VARCHAR(50), +# company_id VARCHAR(12), +# phone_number VARCHAR(12), +# lead_id INT(9) UNSIGNED, +# campaign_id VARCHAR(20), +# product_code VARCHAR(20), +# user VARCHAR(20), +# prompt_audio_1 VARCHAR(20), +# prompt_response_1 TINYINT(1) UNSIGNED default '0', +# prompt_audio_2 VARCHAR(20), +# prompt_response_2 TINYINT(1) UNSIGNED default '0', +# prompt_audio_3 VARCHAR(20), +# prompt_response_3 TINYINT(1) UNSIGNED default '0', +# prompt_audio_4 VARCHAR(20), +# prompt_response_4 TINYINT(1) UNSIGNED default '0', +# prompt_audio_5 VARCHAR(20), +# prompt_response_5 TINYINT(1) UNSIGNED default '0', +# prompt_audio_6 VARCHAR(20), +# prompt_response_6 TINYINT(1) UNSIGNED default '0', +# prompt_audio_7 VARCHAR(20), +# prompt_response_7 TINYINT(1) UNSIGNED default '0', +# prompt_audio_8 VARCHAR(20), +# prompt_response_8 TINYINT(1) UNSIGNED default '0', +# prompt_audio_9 VARCHAR(20), +# prompt_response_9 TINYINT(1) UNSIGNED default '0', +# prompt_audio_10 VARCHAR(20), +# prompt_response_10 TINYINT(1) UNSIGNED default '0', +# prompt_audio_11 VARCHAR(20), +# prompt_response_11 TINYINT(1) UNSIGNED default '0', +# prompt_audio_12 VARCHAR(20), +# prompt_response_12 TINYINT(1) UNSIGNED default '0', +# prompt_audio_13 VARCHAR(20), +# prompt_response_13 TINYINT(1) UNSIGNED default '0', +# prompt_audio_14 VARCHAR(20), +# prompt_response_14 TINYINT(1) UNSIGNED default '0', +# prompt_audio_15 VARCHAR(20), +# prompt_response_15 TINYINT(1) UNSIGNED default '0', +# prompt_audio_16 VARCHAR(20), +# prompt_response_16 TINYINT(1) UNSIGNED default '0', +# prompt_audio_17 VARCHAR(20), +# prompt_response_17 TINYINT(1) UNSIGNED default '0', +# prompt_audio_18 VARCHAR(20), +# prompt_response_18 TINYINT(1) UNSIGNED default '0', +# prompt_audio_19 VARCHAR(20), +# prompt_response_19 TINYINT(1) UNSIGNED default '0', +# prompt_audio_20 VARCHAR(20), +# prompt_response_20 TINYINT(1) UNSIGNED default '0', +# index (phone_number), +# index (entry_time) +# ); + +### insert record into vicidial_ivr table ### +$stmtA = "INSERT INTO vicidial_ivr (entry_time,length_in_sec,inbound_number,phone_number,lead_id,campaign_id,product_code,user) values('$now_date','0','$inbound_number','$phone_number','$lead_id','$campaign_id','$product_code','$user');"; +$affected_rows = $dbhA->do($stmtA); +$cbc=0; +$stmtA = "select LAST_INSERT_ID() LIMIT 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $ivr_id = "$aryA[0]"; + $cbc++; + } +$sthA->finish(); + + +if ($AGILOG) {$agi_string = "IVR START- $ivr_id $inbound_number|$record_call|$company_ID_ask|$cust_phone_ask|$prompts|$last_prompt|$AGI_output"; &agi_output;} + + +$AGI->stream_file('beep'); + +### if set to play ID at beginning of session ### +if ($play_ID =~ /Y/) +{ +$AGI->stream_file("$play_ID_prompt"); +$AGI->say_digits("$ivr_id"); +sleep(1); +$AGI->stream_file('beep'); +$AGI->say_digits("$ivr_id"); +sleep(1); +} + +### if set to ask for company ID, run that subroutine ### +if ($company_ID_ask =~ /Y/) +{ +&company_ID_gather_response; + $company_ID = $totalDTMF; +&get_time_now; + $length_in_sec = ($now_date_epoch - $start_epoch); +$stmtA = "UPDATE vicidial_ivr SET company_id='$company_ID', length_in_sec='$length_in_sec' where ivr_id='$ivr_id';"; + if ($AGILOG) {$agi_string = "IVR- $ivr_id company: $company_ID length: $length_in_sec"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +} + + +### if set to ask for user ID, run that subroutine ### +if ($user_ID_ask =~ /Y/) +{ +&user_ID_gather_response; + $user_ID = $totalDTMF; +&get_time_now; + $length_in_sec = ($now_date_epoch - $start_epoch); +$stmtA = "UPDATE vicidial_ivr SET user='$user_ID', length_in_sec='$length_in_sec' where ivr_id='$ivr_id';"; + if ($AGILOG) {$agi_string = "IVR- $ivr_id user: $user_ID length: $length_in_sec"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +} + + +### if set to ask for customer phone number, run that subroutine ### +if ($cust_phone_ask =~ /Y/) +{ +&cust_phone_gather_response; + $phone_number = $totalDTMF; +&get_time_now; + $length_in_sec = ($now_date_epoch - $start_epoch); +$stmtA = "UPDATE vicidial_ivr SET phone_number='$phone_number', length_in_sec='$length_in_sec' where ivr_id='$ivr_id';"; + if ($AGILOG) {$agi_string = "IVR- $ivr_id phone: $phone_number length: $length_in_sec"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +} + + +### if set to record this session, start recording ### +if ($record_call =~ /Y/) +{ +#$filename = "$inbound_number$US$phone_number$US$ivr_id"; +$filename = "$ivr_id"; +### code to record call goes here ### + +$AGI->exec("Monitor wav|/var/spool/asterisk/monitor/$filename|m"); + +### insert record into recording_log table ### +$stmtA = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,length_in_sec,filename,lead_id,user,location) values('$channel','$server_ip','$inbound_number','$now_date','start_epoch','0','$filename','$lead_id','$user','$ivr_id');"; +$affected_rows = $dbhA->do($stmtA); +$cbc=0; +$stmtA = "select LAST_INSERT_ID() LIMIT 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $recording_id = "$aryA[0]"; + $cbc++; + } +$sthA->finish(); + +$stmtA = "UPDATE vicidial_ivr SET recording_id='$recording_id', recording_filename='$filename' where ivr_id='$ivr_id';"; + if ($AGILOG) {$agi_string = "RECORDING- $recording_id $ivr_id START filename: $filename"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); + +} + + +### if set, say the current date ### +if ($say_date =~ /Y/) +{ + if ($AGILOG) {$agi_string = "SAYING DATETIME $now_date_epoch"; &agi_output;} + if (length($say_date_prompt)>0) {$AGI->stream_file("$say_date_prompt");} + sleep(1); + $AGI->exec("SayUnixtime"); + sleep(1); +} + + +##### Go through the propmts one at a time until done ##### + @prompts_list = split(/--/, $prompts); + $prompts_count = $#prompts_list; + +$i=0; +$j=1; +while($prompts_count >= $i) +{ + $prompt_ary = $prompts_list[$i]; + @prompts_specs = split(/-/, $prompt_ary); + $prompt = $prompts_specs[0]; + $wait_sec = $prompts_specs[1]; + if ($wait_sec < 1) {$wait_sec=10;} + $response = ''; + $prompt_name = "prompt_audio_$j"; + $response_name = "prompt_response_$j"; + + sleep(1); + + &prompt_gather_response; + $response = $totalDTMF; + + &get_time_now; + $length_in_sec = ($now_date_epoch - $start_epoch); + + $stmtA = "UPDATE vicidial_ivr SET $prompt_name='$prompt', $response_name='$response', length_in_sec='$length_in_sec' where ivr_id='$ivr_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "IVR- $ivr_id $i prompt: $prompt - $wait_sec response: $response length: $length_in_sec"; &agi_output;} + + $i++; + $j++; +} + +##### Play the last prompt and say the IVR number ##### + $AGI->stream_file("$last_prompt"); + $AGI->say_digits("$ivr_id"); + + &get_time_now; + $length_in_sec = ($now_date_epoch - $start_epoch); + + $stmtA = "UPDATE vicidial_ivr SET length_in_sec='$length_in_sec' where ivr_id='$ivr_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "IVR- $ivr_id END prompt: $last_prompt length: $length_in_sec"; &agi_output;} + + if ($record_call =~ /Y/) + { + $stmtA = "UPDATE recording_log SET length_in_sec='$length_in_sec' where recording_id='$recording_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "RECORDING- $recording_id length: $length_in_sec"; &agi_output;} + } + + sleep(1); + $AGI->stream_file('beep'); + $AGI->say_digits("$ivr_id"); + sleep(1); + $AGI->stream_file('vm-goodbye'); + + +if ($AGILOG) {$agi_string = "IVR- ID: $ivr_id DONE Exiting"; &agi_output;} + +exit; + + + + +################################################################################ +##### SUBROUTINES ############################################################## +################################################################################ + + +##### BEGIN collect the company ID ############################################# +sub company_ID_gather_response +{ +$digit=''; +$interrupt_digit=''; + +$interrupt_digit = $AGI->stream_file("$company_ID_prompt",'1234567890'); + + print STDERR "interrupt_digit |$interrupt_digit|\n"; + +$digits_being_entered=1; +$digit_loop_counter=0; +$totalDTMF=''; +if ($interrupt_digit > 1) + { +# if ($interrupt_digit == 35) {$interrupt_digit='#';} +# if ($interrupt_digit == 42) {$interrupt_digit='*';} + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + + $totalDTMF=$interrupt_digit; + $digit_loop_counter++; + } + +while ($digit_loop_counter < $company_ID_length) + { + $digit = chr($AGI->wait_for_digit('100000')); # wait 100 seconds for input + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + print STDERR "digit |$digit| TotalDTMF |$totalDTMF|\n"; +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digit_loop_counter=$company_ID_length; + } + + $digit_loop_counter++; + } +} +##### END collect the company ID ############################################### + + + +##### BEGIN collect the user ID ################################################ +sub user_ID_gather_response +{ +$digit=''; +$interrupt_digit=''; + +$interrupt_digit = $AGI->stream_file("$user_ID_prompt",'1234567890'); + + print STDERR "interrupt_digit |$interrupt_digit|\n"; + +$digits_being_entered=1; +$digit_loop_counter=0; +$totalDTMF=''; +if ($interrupt_digit > 1) + { +# if ($interrupt_digit == 35) {$interrupt_digit='#';} +# if ($interrupt_digit == 42) {$interrupt_digit='*';} + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + + $totalDTMF=$interrupt_digit; + $digit_loop_counter++; + } + +while ($digit_loop_counter < $user_ID_length) + { + $digit = chr($AGI->wait_for_digit('100000')); # wait 100 seconds for input + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + print STDERR "digit |$digit| TotalDTMF |$totalDTMF|\n"; +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digit_loop_counter=$user_ID_length; + } + + $digit_loop_counter++; + } +} +##### END collect the user ID ################################################## + + + +##### BEGIN collect the customer phone number ################################## +sub cust_phone_gather_response +{ +$digit=''; +$interrupt_digit=''; + +$interrupt_digit = $AGI->stream_file("$cust_phone_prompt",'1234567890'); + + print STDERR "interrupt_digit |$interrupt_digit|\n"; + +$digits_being_entered=1; +$digit_loop_counter=0; +$totalDTMF=''; +if ($interrupt_digit > 1) + { + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + + $totalDTMF=$interrupt_digit; + $digit_loop_counter++; + } + +while ($digit_loop_counter < $cust_phone_length) + { + $digit = chr($AGI->wait_for_digit('100000')); # wait 100 seconds for input + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + print STDERR "digit |$digit| TotalDTMF |$totalDTMF|\n"; +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digit_loop_counter=$cust_phone_length; + } + + $digit_loop_counter++; + } +} +##### END collect the customer phone number #################################### + + + +##### BEGIN collect the response to a prompt ################################### +sub prompt_gather_response +{ +$digit=''; +$interrupt_digit=''; + +$interrupt_digit = $AGI->stream_file("$prompt",'123456789'); + + print STDERR "interrupt_digit |$interrupt_digit|\n"; + +$digits_being_entered=1; +$digit_loop_counter=0; +$totalDTMF=''; +if ($interrupt_digit > 1) + { +# if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + + $totalDTMF=$interrupt_digit; + $digit_loop_counter++; + } + +while ($digit_loop_counter < 1) + { + $wait_ms = ($wait_sec * 1000); + $digit = chr($AGI->wait_for_digit("$wait_ms")); # wait number of milli-seconds for input + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + print STDERR "digit |$digit| TotalDTMF |$totalDTMF|\n"; +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digit_loop_counter=-1; + } + + $digit_loop_counter++; + } +} +##### END collect the response to a prompt ##################################### + + + + + +sub get_time_now #get the current date and time and epoch for logging call lengths and datetimes +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$filedate = "$year$mon$mday$hour$min$sec"; +} + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + print STDERR "FAIL ($res)\n"; + $fail++; + } else { + print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/agi/agi-VDAD_ALL_inbound.agi b/agc_2-X/branches/agc_2.0.5/agi/agi-VDAD_ALL_inbound.agi new file mode 100644 index 00000000..63ea49d7 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/agi-VDAD_ALL_inbound.agi @@ -0,0 +1,2631 @@ +#!/usr/bin/perl +# +# agi-VDAD_ALL_inbound.agi version 2.0.5 *DBI-version* +# +# runs when a call comes in from an inbound call. This script will +# send the calls out to the closers that are logged in. +# ## THIS SCRIPT CONSOLIDATES THIRTEEN SEPARATE VDAD closer inbound SCRIPTS ## +# +# +# You need to put lines similar to those below in your extensions.conf file: +# ; Below are the parameters needed for the script to be run properly +# ; 1. the method of call handling for the script: +# ; - CID - CID received, add record with phone number +# ; - CIDLOOKUP - Lookup CID to find record in whole system +# ; - CIDLOOKUPRL - Restrict lookup to one list +# ; - CIDLOOKUPRC - Restrict lookup to one campaign's lists +# ; - CLOSER - Closer calls from VICIDIAL fronters +# ; - ANI - ANI received, add record with phone number +# ; - ANILOOKUP - Lookup ANI to find record in whole system +# ; - ANILOOKUPRL - Restrict lookup to one list +# ; - 3DIGITID - Enter 3 digit code to go to agent +# ; - 4DIGITID - Enter 4 digit code to go to agent +# ; - 5DIGITID - Enter 5 digit code to go to agent +# ; - 10DIGITID - Enter 10 digit code to go to agent +# ; 2. the method of searching for an available agent: +# ; - LO - Load Balance Overflow only (priority to home server) +# ; - LB - Load Balance total system +# ; - SO - Home server only +# ; 3. the full name of the IN GROUP to be used in vicidial for the inbound call +# ; 4. the phone number that was called, for the log entry +# ; 5. the callerID or lead_id of the person that called(usually overridden) +# ; 6. the park extension audio file name if used +# ; 7. the status of the call initially(usually not used) +# ; 8. the list_id to insert the new lead under if it is new (and CID/ANI available) +# ; 9. the phone dialing code to insert with the new lead if new (and CID/ANI available) +# ; 10. the campaign_id to search within lists if CIDLOOKUPRC +# ; 11. the user to queue the call to for AGENTDIRECT in-group calls +# +# ;inbound VICIDIAL calls: +#exten => 1234,1,Answer ; Answer the line +#exten => 1234,2,AGI(agi-VDAD_ALL_inbound.agi,CID-----LB-----INB-----7274515134-----Closer-----park----------999-----1-----OUTB) +#exten => 1234,3,Hangup +# +# ;inbound with removal of first digit of callerID on all calls: +#exten => 1234,1,Answer ; Answer the line +#exten => 1234,n,set(CALLERID(num)=${CALLERID(num):1}) +#exten => 1234,n,AGI(agi-VDAD_ALL_inbound.agi,CID-----LB-----INB-----7274515134-----Closer-----park----------999-----1-----OUTB) +#exten => 1234,n,Hangup +# +#; inbound VICIDIAL transfer calls [can arrive through PRI T1 crossover, IAX or SIP channel] +#exten => _90009.,1,Answer ; Answer the line +#exten => _90009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1) +#exten => _90009.,3,Hangup +#exten => _990009.,1,Answer ; Answer the line +#exten => _990009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1) +#exten => _990009.,3,Hangup +#; DID forwarded calls +#exten => _99909*.,1,Answer +#exten => _99909*.,2,AGI(agi-VDAD_ALL_inbound.agi) +#exten => _99909*.,3,Hangup +# +# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# +# changes: +# 70828-0924 - First Build +# 71013-0310 - Added use of default Music-on-hold instead of generic on-hold message +# 71020-1714 - fixed issues with MoH and stream_file messages +# 71024-2153 - Added CLOSER functionality for calls coming from VICIDIAL fronters +# 71029-1726 - Changed CLOSER-type campaigns to use new campaign_allow_inbound field +# 71030-0713 - fixed after-hours logging +# 71030-0939 - fixed issue where MoH was still playing, added ding and wait before transfer +# 71103-2305 - added group rank and fewest calls options to next_agent_call +# 71112-0058 - fixed multi-logging bug on CLOSER calls +# 71116-1045 - added fewest_calls_campaign agent call routing option +# 71128-1758 - added CIDLOOKUPRC method to search all lists within a campaign +# 80109-2348 - added option to trigger a system process when the call is sent to an agent +# 80227-0335 - added queue priority functionality +# 80302-0232 - added drop_action and transfer to in-group +# 80402-0142 - added code for manual dial transfer duplicate check +# 80430-1144 - added term_reason to vicidial_closer_log, QUEUETIMEOUT, AFTERHOURS +# 80501-0515 - added after hours transfer in-group +# 80525-1040 - added ability to convert IVR status inbound calls to LIVE in-group calls +# 80630-2232 - added queue_log logging of inbound calls +# 80821-0133 - fixed non-play issue with hold message +# 80918-0505 - Added place in line and estimated time on hold +# 81002-1120 - Added processing for DID forwarded calls +# 81011-1019 - Added option for press 1 to leave voicemail if wait time > hold-time-option-seconds +# 81020-0237 - Added term_reason logging for all possible exits of the script +# 81021-2315 - Changed and add queue_log logging +# 81024-0006 - Changed LOOKUP to insert new lead if phone_number < 3 digits, changed queue_sec calculation +# 81104-0301 - Changed code to alter callerIDnumber for remote agents to the number of the caller +# 81105-0248 - Added MySQL error logging +# 90103-0311 - Added sip-silences before transfers to fix rare MoH issues +# 90115-0601 - Added AGENTDIRECT functionality +# + +$script = 'agi-VDAD_ALL_inbound.agi'; +$dtmf_silent_prefix = '7'; + +$DROP_TIME = 720; ### default number of seconds to wait until you drop a waiting call +$start_moh=1; +$at='@'; +$mel=1; # Mysql Error Log enabled = 1 +$mysql_log_count=103; +$one_mysql_log=0; + + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$hm = "$hour$min"; +$hm = ($hm + 0); + +$now_date_epoch = time(); +$start_epoch = $now_date_epoch; +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$CLInow_date = "$year-$mon-$mday\\ $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +$BDtarget = ($now_date_epoch - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} +if (!$PRSLOGfile) {$PRSLOGfile = "$PATHlogs/prsout.$year-$mon-$mday";} +if (!$PRSTESTfile) {$PRSTESTfile = "$PATHlogs/prstest.$year-$mon-$mday";} +if (!$ERRLOGfile) {$ERRLOGfile = "$PATHlogs/MySQLerror.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output,local_gmt FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02001'; $MEL_aff_rows=$sthArows; &mysql_error_logging; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + $local_gmt = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + ### list of command-line array arguments: + @ARGV_vars = split(/-----/, $ARGV[0]); + + $call_handle_method = $ARGV_vars[0]; + $agent_search_method = $ARGV_vars[1]; + $channel_group = $ARGV_vars[2]; + $inbound_number = $ARGV_vars[3]; + $parked_by = $ARGV_vars[4]; + $park_extension = $ARGV_vars[5]; + $status = $ARGV_vars[6]; + $list_id = $ARGV_vars[7]; + $phone_code = $ARGV_vars[8]; + $Scampaign_id = $ARGV_vars[9]; + $agent_only = $ARGV_vars[10]; +} + +$|=1; +while() +{ + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} +} + + +if ( ($callerid =~ /\".*\"/) && ( (!$calleridname) or ($calleridname =~ /unknown/) ) ) + { + $calleridname = $callerid; + $calleridname =~ s/\<\d\d\d\d\d\d\d\d\d\d\>//gi; + $calleridname =~ s/\"|\" //gi; + } + + $callerid =~ s/\D//gi; + $calleridname =~ s/unknown//gi; +if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + + +$user_unavailable_action=''; +##### special processing for DID forwarded calls "99909*1*" +if ($extension =~ /^999\d\d\*/) + { + @EXT_vars = split(/\*/, $extension); + + $referring_extension = $EXT_vars[0]; # initial extension sent + $did_id = $EXT_vars[1]; # the DID ID to grab settings from + + ### Grab DID values from the database + $stmtA = "SELECT call_handle_method,agent_search_method,group_id,did_pattern,list_id,phone_code,campaign_id,user,user_unavailable_action,user_route_settings_ingroup,did_route,voicemail_ext,extension,exten_context,phone,server_ip FROM vicidial_inbound_dids where did_id = '$did_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02002'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $call_handle_method = $aryA[0]; + $agent_search_method = $aryA[1]; + $did_in_group = $aryA[2]; + $inbound_number = $aryA[3]; + $list_id = $aryA[4]; + $phone_code = $aryA[5]; + $Scampaign_id = $aryA[6]; + $agent_only = $aryA[7]; + $user_unavailable_action = $aryA[8]; + $user_route_settings_ingroup = $aryA[9]; + $did_route = $aryA[10]; + $did_voicemail_ext = $aryA[11]; + $did_extension = $aryA[12]; + $did_exten_context = $aryA[13]; + $did_phone = $aryA[14]; + $did_phone_server_ip = $aryA[15]; + if ($did_route =~ /AGENT/) + {$channel_group = $user_route_settings_ingroup;} + else + {$channel_group = $did_in_group;} + } + $sthA->finish(); + } + +if ($call_handle_method =~ /^CLOSER/) +{ + ### allow for internal PRI/IAX/SIP transfer data string "90009*CL_uk3survy_*8301*10000123*universal*7275551212*1234*" + if ($extension =~ /^900\d\d\*|^9900\d\d\*/) + { + @EXT_vars = split(/\*/, $extension); + + $referring_extension = $EXT_vars[0]; # initial extension sent + $channel_group = $EXT_vars[1]; # name of the parked group "In-group" + $inbound_number = $EXT_vars[2]; # extension to send call to after parsing + $parked_by = $EXT_vars[3]; # leadID + $park_extension = $EXT_vars[4]; # filename of the on-hold music file + $phone_number = $EXT_vars[5]; # phone number of customer + $fronter = $EXT_vars[6]; # user of the fronter that transferred the call + if ($channel_group =~ /AGENTDIRECT/) + { + $agent_only = $EXT_vars[7]; # optional AGENTDIRECT user to queue call for + } + $CIDlead_id = $parked_by; + + $PADlead_id = sprintf("%09s", $parked_by); while (length($PADlead_id) > 9) {chop($PADlead_id);} + # JmmddhhmmssLLLLLLLLL + $JqueryCID = "J$CIDdate$PADlead_id"; + $callerid = $JqueryCID; + ### set the new call callerid to track the call + print "SET CALLERID $JqueryCID\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $JqueryCID"; &agi_output;} + } +} + +if ($call_handle_method =~ /^CID/) +{ + if (length($callerid)>0) {$phone_number = $callerid;} + else {$phone_number = '';} + if (length($calleridname)>0) {$VLcomments = $calleridname;} + else {$VLcomments = '';} +} + +# if ($channel =~ /^SIP/) {$channel =~ s/-.*//gi;} +# if ($channel =~ /^Zap\//) {$channel =~ s/-\d$//gi;} + if (length($callerid)<10) {$callerid = $parked_by;} + if (length($pin)>0) {$callerid = $pin;} + + +if ($call_handle_method =~ /^ANI/) + { + $phone_number=''; + ### allow for external ANI to be collected on older RBS T1 circuits + if ($extension =~ /\*\d\d\d\d\d\d\d\d\d\d\*/) + { + @EXT_vars = split(/\*/, $extension); + $phone_number = $EXT_vars[1]; + if ($AGILOG) {$agi_string = "ANI found: |$phone_number|"; &agi_output;} + } + } + +foreach $i (sort keys %AGI) + { + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} + } + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + +if (length($pin) < 1) {$pin=$inbound_number;} + +$fronter = $pin; + +if ($AGILOG) {$agi_string = "+++++ INBOUND CALL VDCL STARTED : |$channel_group|$callerid-$pin|$now_date"; &agi_output;} + +$VDADphone=''; +$VDADphone_code=''; + +if ($channel =~ /Local/i) + { + if ( ($inbound_number =~ /CXFER/) || ($call_handle_method =~ /^CLOSER/) ) + { + if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: CXFER OVERRIDE- $priority"; &agi_output;} + if ($call_handle_method =~ /^CLOSER/) + { + sleep(1); + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where lead_id='$CIDlead_id' and call_type='IN' and campaign_id='$channel_group' and channel NOT LIKE \"Local%\";"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02003'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $Pseudo_duplicate_count = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + + if ($Pseudo_duplicate_count > 0) + { + if ($AGILOG) {$agi_string = "+++++ INBOUND LOCAL DUPLICATE: EXITING- $priority"; &agi_output;} + exit; + } + } + } + else + { + if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} + exit; + } + } + +### Grab Server values from the database +$cbc=0; +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02004'; $MEL_aff_rows=$sthArows; &mysql_error_logging; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + $cbc++; + } +$sthA->finish(); + + + +### Grab inbound groups values from the database +$cbc=0; +$stmtA = "SELECT call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,drop_call_seconds,drop_action,drop_exten,next_agent_call,voicemail_ext,queue_priority,drop_inbound_group,afterhours_xfer_group,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message FROM vicidial_inbound_groups where group_id = '$channel_group';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02005'; $MEL_aff_rows=$sthArows; &mysql_error_logging; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $call_time_id = "$aryA[0]"; + $after_hours_action = "$aryA[1]"; + $after_hours_message_filename = "$aryA[2]"; + $after_hours_exten = "$aryA[3]"; + $after_hours_voicemail = "$aryA[4]"; + $welcome_message_filename = "$aryA[5]"; + $moh_context = "$aryA[6]"; + $onhold_prompt_filename = "$aryA[7]"; + $prompt_interval = "$aryA[8]"; + $agent_alert_exten = "$aryA[9]"; + $agent_alert_delay = "$aryA[10]"; + $drop_call_seconds = "$aryA[11]"; + $DROP_TIME = $drop_call_seconds; + $drop_action = "$aryA[12]"; + $drop_exten = "$aryA[13]"; + $CAMP_callorder = "$aryA[14]"; + $VDADvoicemail_ext = "$aryA[15]"; + $VDADvoicemail_ext =~ s/\D//gi; + $queue_priority = "$aryA[16]"; + $drop_inbound_group = "$aryA[17]"; + $afterhours_xfer_group = "$aryA[18]"; + $play_place_in_line = "$aryA[19]"; + $play_estimate_hold_time = "$aryA[20]"; + $hold_time_option = "$aryA[21]"; + $hold_time_option_seconds = "$aryA[22]"; + $hold_time_option_exten = "$aryA[23]"; + $hold_time_option_voicemail = "$aryA[24]"; + $hold_time_option_xfer_group = "$aryA[25]"; + $hold_time_option_callback_filename = "$aryA[26]"; + $hold_time_option_callback_list_id = "$aryA[27]"; + $hold_recall_xfer_group = "$aryA[28]"; + $no_delay_call_route = "$aryA[29]"; + if ($hold_time_option =~ /DROP_ACTION/) + {$hold_time_option = $drop_action;} + $play_welcome_message = "$aryA[30]"; + + $cbc++; + } +$sthA->finish(); + +if ($wday==0) {$daySQL=',ct_sunday_start,ct_sunday_stop';} +if ($wday==1) {$daySQL=',ct_monday_start,ct_monday_stop';} +if ($wday==2) {$daySQL=',ct_tuesday_start,ct_tuesday_stop';} +if ($wday==3) {$daySQL=',ct_wednesday_start,ct_wednesday_stop';} +if ($wday==4) {$daySQL=',ct_thursday_start,ct_thursday_stop';} +if ($wday==5) {$daySQL=',ct_friday_start,ct_friday_stop';} +if ($wday==6) {$daySQL=',ct_saturday_start,ct_saturday_stop';} + +### Grab call_times values from the database +$stmtA = "SELECT ct_default_start,ct_default_stop $daySQL FROM vicidial_call_times where call_time_id = '$call_time_id';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02006'; $MEL_aff_rows=$sthArows; &mysql_error_logging; +@aryA = $sthA->fetchrow_array; +$ct_default_start = "$aryA[0]"; +$ct_default_stop = "$aryA[1]"; +$ct_day_start = "$aryA[2]"; +$ct_day_stop = "$aryA[3]"; +$sthA->finish(); + +if ( ($ct_day_start > 0) || ($ct_day_stop > 0) ) + { + $ct_default_start = $ct_day_start; + $ct_default_stop = $ct_day_stop; + } + +$AGI->stream_file('sip-silence'); +$AGI->stream_file('sip-silence'); + +if ($call_handle_method =~ /DIGITID$/) + { + &enter_pin_number; + } + +if ($call_handle_method =~ /LOOKUP/) + { + if (length($phone_number) < 3) + { + ### insert a record into the vicidial_list table + $stmtA = "INSERT INTO vicidial_list (entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,called_since_last_reset,phone_code,phone_number,security_phrase,called_count,gmt_offset_now,comments) values('$SQLdate','$tsSQLdate','INBND','$fronter','$inbound_number','VDCL','$list_id','Y','$phone_code','$phone_number','$channel_group','1','$local_gmt','$VLcomments');"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02007'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + $cbc=0; + $stmtB = "select LAST_INSERT_ID() LIMIT 1;"; + $sthA = $dbhA->prepare($stmtB) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $stmtA=$stmtB; $mysql_count='02008'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $insert_lead_id = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($AGILOG) {$agi_string = "VDAD vicidial_list insert |$insert_lead_id|$stmtA|"; &agi_output;} + } + else + { + $listSQL = ''; + if ($call_handle_method =~ /LOOKUPRL$/) + {$listSQL = "and list_id='$list_id'";} + else + { + if ($call_handle_method =~ /LOOKUPRC$/) + { + ### Grab all lists associated with Scampaign_id + $cbc=0; + $SlistsSQL=''; + $stmtA = "SELECT list_id FROM vicidial_lists where campaign_id='$Scampaign_id' limit 100;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02009'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $SlistsSQL .= "'$aryA[0]',"; + $cbc++; + } + $sthA->finish(); + chop($SlistsSQL); + + if (length($SlistsSQL)>3) + {$listSQL = "and list_id IN($SlistsSQL)";} + } + } + + $cbc=0; + $stmtA= "SELECT lead_id from vicidial_list where phone_number='$phone_number' $listSQL order by last_local_call_time desc limit 1;"; + if ($AGILOG) {$agi_string = "VDAD vicidial_list search |$phone_number|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02010'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + if ($sthArows > 0) + { + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $insert_lead_id = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($AGILOG) {$agi_string = "VDAD vicidial_list found |$insert_lead_id|$stmtA|"; &agi_output;} + } + else + { + ### insert a record into the vicidial_list table + $stmtA = "INSERT INTO vicidial_list (entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,called_since_last_reset,phone_code,phone_number,security_phrase,called_count,gmt_offset_now,comments) values('$SQLdate','$tsSQLdate','INBND','$fronter','$inbound_number','VDCL','$list_id','Y','$phone_code','$phone_number','$channel_group','1','$local_gmt','$VLcomments');"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02011'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + $cbc=0; + $stmtB = "select LAST_INSERT_ID() LIMIT 1;"; + $sthA = $dbhA->prepare($stmtB) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $stmtA=$stmtB; $mysql_count='02012'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $insert_lead_id = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($AGILOG) {$agi_string = "VDAD vicidial_list insert |$insert_lead_id|$stmtA|"; &agi_output;} + } + } + } + +else + { + if ($call_handle_method =~ /CLOSER/) + { + ### Grab call lead parameters from vicidial_list table + $cbc=0; + $stmtA = "SELECT phone_number,phone_code,user FROM vicidial_list where lead_id='$CIDlead_id' limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02013'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $campaign = "$channel_group"; + $phone_number = "$aryA[0]"; + $phone_code = "$aryA[1]"; + $insert_lead_id = "$CIDlead_id"; + $fronter = "$aryA[2]"; + $cbc++; + } + $sthA->finish(); + } + + else + { + ### insert a record into the vicidial_list table if no record was found above + $stmtA = "INSERT INTO vicidial_list (entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,called_since_last_reset,phone_code,phone_number,security_phrase,called_count,gmt_offset_now,comments) values('$SQLdate','$tsSQLdate','INBND','$fronter','$inbound_number','VDCL','$list_id','Y','$phone_code','$phone_number','$channel_group','1','-5.00','$VLcomments');"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02014'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + $cbc=0; + $stmtA = "select LAST_INSERT_ID() LIMIT 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02015'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $insert_lead_id = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + } + } + + + +##### BEGIN AFTER HOURS CHECK ##### +if ( ($hm < $ct_default_start) || ($hm > $ct_default_stop) ) + { + $VHqueryCID = "VA$CIDdate$hour$min$sec$sec"; + + $stmtA = "INSERT INTO vicidial_closer_log set status='DROP',start_epoch='$now_date_epoch',end_epoch='$now_date_epoch',length_in_sec='1',queue_seconds='0',lead_id = '$insert_lead_id',campaign_id='$channel_group',user='VDCL',list_id='$list_id',call_date='$now_date',phone_code='$phone_code',phone_number='$phone_number',comments='AFTER HOURS DROP',term_reason='AFTERHOURS',uniqueid='$uniqueid';"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02016'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + $stmtB = "select LAST_INSERT_ID() LIMIT 1;"; + $sthA = $dbhA->prepare($stmtB) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtB ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $stmtA=$stmtB; $mysql_count='02017'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $insert_close_id = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + if ($AGILOG) {$agi_string = "-- VDCL vcl insert: |$affected_rows|$insert_lead_id|$insert_close_id|\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='DROP' where lead_id = '$insert_lead_id';"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02018'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL vl update: |$affected_rows|$insert_lead_id|\n|$stmtA|"; &agi_output;} + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' and server_ip='$VARserver_ip' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02019'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL vac record deleted: |$affected_rows| $VDADcampaign|"; &agi_output;} + + if ($after_hours_action =~ /EXTENSION|VOICEMAIL|IN_GROUP/) + { + if ($after_hours_action =~ /EXTENSION/) + { + $DROPexten = "$after_hours_exten"; + } + if ($after_hours_action =~ /VOICEMAIL/) + { + $DROPexten = "$voicemail_dump_exten$after_hours_voicemail"; + } + if ($after_hours_action =~ /IN_GROUP/) + { # 90009*CL_uk3survy_*8301*10000123*universal*7275551212*1234*" + $S='*'; + $DROPexten = "90009*$afterhours_xfer_group$S$S$insert_lead_id$S$S$phone_number$S$fronter$S"; + } + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + if ($no_delay_call_route =~ /N/) + { + $AGI->stream_file('ding'); # stop music-on-hold process + + sleep(1); + } + + if ($AGILOG) {$agi_string = "exiting the VDAD app after hours, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + } + + if ($after_hours_action =~ /HANGUP/) + { + ### insert a NEW record to the vicidial_manager table to hangup the channel + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02020'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL call_hungup after hours: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + if ($after_hours_action =~ /MESSAGE/) + { + $AGI->stream_file('sip-silence'); + $AGI->stream_file('sip-silence'); + $AGI->stream_file("$after_hours_message_filename"); + sleep(1); + + ### insert a NEW record to the vicidial_manager table to hangup the channel + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02021'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL call_hungup after hours: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $dbhA->disconnect(); + + exit; + + } +##### END AFTER HOURS CHECK ##### + + + + +##### PLAY WELCOME MESSAGE ##### +if ( ($welcome_message_filename !~ /---NONE---/) && ( ($play_welcome_message =~ /ALWAYS/) || ( ($no_delay_call_route =~ /N/) && ($play_welcome_message =~ /YES_UNLESS_NODELAY/) ) ) ) + { + $AGI->stream_file("$welcome_message_filename"); + } +if ($play_welcome_message =~ /IF_WAIT_ONLY/) + {$if_wait_play_welcome=1;} +else + {$if_wait_play_welcome=0;} + + +$vci=0; +$INBOUNDcampsSQL=''; +$stmtA = "SELECT campaign_id FROM vicidial_campaigns where active='Y' and campaign_allow_inbound='Y';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02022'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + while ($sthArows > $vci) + { + @aryA = $sthA->fetchrow_array; + if ($vci==0) {$INBOUNDcampsSQL .= "'$aryA[0]'";} + else {$INBOUNDcampsSQL .= ",'$aryA[0]'";} + $vci++; + } +$sthA->finish(); + +if ($AGILOG) {$agi_string = "|$stmtA|$insert_lead_id|"; &agi_output;} + +$PADlead_id = sprintf("%09s", $insert_lead_id); while (length($PADlead_id) > 9) {chop($PADlead_id);} +# YmmddhhmmssLLLLLLLLL + $YqueryCID = "Y$CIDdate$PADlead_id"; + $callerid = $YqueryCID; +### set the callerid +print "SET CALLERID $YqueryCID\n"; +checkresult($result); +if ($AGILOG) {$agi_string = "callerID changed: $YqueryCID"; &agi_output;} + +if ($call_handle_method =~ /DIGITID$/) + { + $stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$uniqueid','$insert_lead_id','$channel_group','$SQLdate','$now_date_epoch','XFER','$phone_code','$phone_number','$fronter','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02023'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDAD : |$insert_lead_id|$fronter|insert to vicidial_log: $uniqueid"; &agi_output;} + } +$insert_xfer_id=0; +if ($call_handle_method =~ /CLOSER|DIGITID$/) + { + $stmtA = "INSERT INTO vicidial_xfer_log (lead_id,campaign_id,call_date,phone_code,phone_number,user,closer) values('$insert_lead_id','$channel_group','$SQLdate','$phone_code','$phone_number','$fronter','VDXL')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02024'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + $stmtB = "select LAST_INSERT_ID() LIMIT 1;"; + $sthA = $dbhA->prepare($stmtB) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtB ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $stmtA=$stmtB; $mysql_count='02025'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $insert_xfer_id = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($AGILOG) {$agi_string = "-- VDXL : |$insert_lead_id|$insert_xfer_id|insert to vicidial_xfer_log"; &agi_output;} + } + +############################################# +##### START QUEUEMETRICS LOGGING LOOKUP ##### +$stmtA = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_eq_prepend FROM system_settings;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02026'; $MEL_aff_rows=$sthArows; &mysql_error_logging; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $enable_queuemetrics_logging = "$aryA[0]"; + $queuemetrics_server_ip = "$aryA[1]"; + $queuemetrics_dbname = "$aryA[2]"; + $queuemetrics_login= "$aryA[3]"; + $queuemetrics_pass = "$aryA[4]"; + $queuemetrics_log_id = "$aryA[5]"; + $queuemetrics_eq_prepend = "$aryA[6]"; + $rec_count++; + } +$sthA->finish(); +##### END QUEUEMETRICS LOGGING LOOKUP ##### +########################################### +if ($enable_queuemetrics_logging > 0) + { + $data2 = "$phone_number"; + + if ( (length($queuemetrics_eq_prepend) > 0) && ($queuemetrics_eq_prepend !~ /NONE/) ) + { + $stmtA = "SELECT $queuemetrics_eq_prepend FROM vicidial_list where lead_id='$CIDlead_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02027'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $rec_count=0; + while ($sthArows > $rec_count) + { + $DASH='-'; + @aryA = $sthA->fetchrow_array; + $QMprepend = "$aryA[0]"; + $rec_count++; + $data2 = "$QMprepend$DASH$phone_number"; + } + $sthA->finish(); + } + + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$now_date_epoch',call_id='$YqueryCID',queue='$channel_group',agent='NONE',verb='ENTERQUEUE',data2='$data2',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + $dbhP=$dbhB; $stmtA=$stmtB; $mysql_count='02028'; $MEL_aff_rows=$Baffected_rows; &mysql_error_logging; + $dbhB->disconnect(); + } + + +### If AGENTDIRECT set variable accordingly ### +$adSQL=''; +if ($channel_group =~ /AGENTDIRECT/) + {$adSQL = ",agent_only='$agent_only'";} + +### check for an IVR status record in vicidial_auto_calls +$Uaffected_rows=0; +$stmtA = "select auto_call_id from vicidial_auto_calls where uniqueid='$uniqueid' and server_ip='$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02029'; $MEL_aff_rows=$sthArows; &mysql_error_logging; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $auto_call_id = "$aryA[0]"; + + ### UPDATE existing record to LIVE in the vicidial_auto_calls table + $stmtA = "UPDATE vicidial_auto_calls SET campaign_id='$channel_group',status='LIVE',lead_id='$insert_lead_id',callerid='$callerid',channel='$channel',phone_code='$phone_code',phone_number='$phone_number',call_time='$SQLdate',call_type='IN',stage='LIVE-0',queue_priority='$queue_priority' $adSQL WHERE auto_call_id='$auto_call_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $Uaffected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02029'; $MEL_aff_rows=$Uaffected_rows; &mysql_error_logging; + } +$sthA->finish(); + +if ($Uaffected_rows < 1) + { + ### insert a LIVE record to the vicidial_auto_calls table + $stmtA = "INSERT INTO vicidial_auto_calls SET server_ip='$VARserver_ip', campaign_id='$channel_group', status='LIVE', lead_id='$insert_lead_id', uniqueid='$uniqueid', callerid='$callerid', channel='$channel', phone_code='$phone_code', phone_number='$phone_number', call_time='$SQLdate', call_type='IN', stage='LIVE-0', queue_priority='$queue_priority' $adSQL;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02030'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + } + +$stmtA = "INSERT INTO vicidial_closer_log SET lead_id='$insert_lead_id', campaign_id='$channel_group', call_date='$SQLdate', start_epoch='$now_date_epoch', status='QUEUE', phone_code='$phone_code', phone_number='$phone_number', user='VDCL', processed='N', xfercallid='$insert_xfer_id', uniqueid='$uniqueid' $adSQL;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02031'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; +$stmtB = "select LAST_INSERT_ID() LIMIT 1;"; +$sthA = $dbhA->prepare($stmtB) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtB ", $dbhA->errstr; +$sthArows=$sthA->rows; + $dbhP=$dbhA; $stmtA=$stmtB; $mysql_count='02032'; $MEL_aff_rows=$sthArows; &mysql_error_logging; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $insert_close_id = "$aryA[0]"; + $cbc++; + } +$sthA->finish(); +if ($AGILOG) {$agi_string = "-- VDCL : |$insert_lead_id|$insert_xfer_id|$insert_close_id|insert to vicidial_closer_log"; &agi_output;} + + + + +$wait_in_queue=1; +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=($prompt_interval - 10); +$hold_tone_counter=0; +$skipLOSO=0; +$ADfindSQL=''; +$ADUfindSQL=''; + +########################################################## +### For AGENTDIRECT calls try to send call to an agent ### +if ( ($channel_group =~ /AGENTDIRECT/) && (length($agent_only) > 1) ) + { + $skipLOSO=1; + $ADfindSQL = "and agent_only='$agent_only'"; + $ADUfindSQL = "and vicidial_live_agents.user='$agent_only'"; + } + + + +############################################ +### Loop to try to send call to an agent ### +while ( ($drop_timer <= $DROP_TIME) && ($wait_in_queue > 0) ) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < 720) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + 720); + } + } + + $rec_countCUSTDATA=0; + $rec_countWAIT=0; + $gsp_countWAIT=0; + $qp_countWAIT=0; + $cbc=0; + $aco_sub=0; + $agent_call_order='order by last_call_finish'; + if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} + if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} + if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} + if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} + if ($CAMP_callorder =~ /campaign_rank/i) {$agent_call_order = 'order by campaign_weight desc,last_call_finish';} + if ($CAMP_callorder =~ /fewest_calls_campaign/i) {$agent_call_order = 'order by vicidial_live_agents.calls_today,vicidial_live_agents.last_call_finish';} + if ($CAMP_callorder =~ /inbound_group_rank/i) {$aco_sub=1; $agent_call_order = 'order by group_weight desc';} + if ($CAMP_callorder =~ /fewest_calls/i) {$aco_sub=1; $agent_call_order = 'order by vicidial_live_inbound_agents.calls_today,vicidial_live_inbound_agents.last_call_finish';} + + +$vci=0; +$INBOUNDcampsSQL="''"; +$stmtA = "SELECT campaign_id FROM vicidial_campaigns where active='Y' and campaign_allow_inbound='Y';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02033'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + while ($sthArows > $vci) + { + @aryA = $sthA->fetchrow_array; + if ($vci < 1) {$INBOUNDcampsSQL = "'$aryA[0]'";} + else {$INBOUNDcampsSQL .= ",'$aryA[0]'";} + $vci++; + } +$sthA->finish(); + +################################################################ +##### Attempt to send call to an agent on this server only ##### +if ( ($agent_search_method =~ /^SO|^LO/) && ($skipLOSO < 1) ) +{ + ### Get count of number of calls in this group that are ahead of this call + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and campaign_id = '$channel_group' and call_time < \"$SQLdateBEGIN\" and lead_id != '$insert_lead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02034'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($rec_countWAIT < 1) + { + $qp_countWAIT=0; + ### Get count of number of waiting calls in higher priority groups than this call or the same priority with longer wait time + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and lead_id != '$insert_lead_id' and ( (queue_priority > '$queue_priority') or (queue_priority = '$queue_priority' and call_time < \"$SQLdateBEGIN\"));"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02035'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $qp_countWAIT = "$aryA[0]"; + } + $sthA->finish(); + + $qp_groupWAIT=''; + $qp_groupWAIT_SQL=''; + $qp_groupWAIT_aco=''; + $qp_groupWAIT_aco_SQL=''; + $qp_groupWAIT_camp_SQL=''; + if ($qp_countWAIT > 0) + { + ### Get group/campaign ids of calls in higher priority groups than this call or the same priority with longer wait time + $stmtA = "SELECT distinct campaign_id FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and lead_id != '$insert_lead_id' and ( (queue_priority > '$queue_priority') or (queue_priority = '$queue_priority' and call_time < \"$SQLdateBEGIN\") );"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02036'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $dbc=0; + $qp_groupWAIT=''; + while ($sthArows > $dbc) + { + @aryA = $sthA->fetchrow_array; + $qp_groupWAIT_aco .= "'$aryA[0]',"; + if ($dbc > 0) + { + $qp_groupWAIT .= "and "; + } + $qp_groupWAIT .= "closer_campaigns NOT LIKE \"% $aryA[0] %\" "; + $dbc++; + } + chop($qp_groupWAIT_aco); + + $qp_groupWAIT_SQL = "and ($qp_groupWAIT)"; + $qp_groupWAIT_aco_SQL = "and vicidial_live_inbound_agents.group_id NOT IN($qp_groupWAIT_aco)"; + $qp_groupWAIT_camp_SQL = "and campaign_id NOT IN($qp_groupWAIT_aco)"; + + $sthA->finish(); + } + + if ($aco_sub>0) + { + $stmtA = "LOCK TABLES vicidial_live_agents WRITE, vicidial_live_inbound_agents WRITE;"; + my $LOCKaffected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02037'; $MEL_aff_rows=$LOCKaffected_rows; &mysql_error_logging; + + $stmtA = "SELECT vicidial_live_agents.conf_exten,vicidial_live_agents.user,vicidial_live_agents.extension from vicidial_live_agents JOIN vicidial_live_inbound_agents ON vicidial_live_agents.user=vicidial_live_inbound_agents.user WHERE status IN('CLOSER','READY') and lead_id<1 and server_ip='$VARserver_ip' and vicidial_live_inbound_agents.group_id='$channel_group' and last_update_time > '$BDtsSQLdate' $qp_groupWAIT_aco_SQL $qp_groupWAIT_camp_SQL $agent_call_order limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02038'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + } + $sthA->finish(); + + if ($sthArows > 0) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$insert_lead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid',comments='INBOUND' where user='$VDADuser';"; + $Faffected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02039'; $MEL_aff_rows=$Faffected_rows; &mysql_error_logging; + $found_agents=$Faffected_rows; + } + else + { + $Faffected_rows=0; + } + + $stmtA = "UNLOCK TABLES;"; + $LOCKaffected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02040'; $MEL_aff_rows=$LOCKaffected_rows; &mysql_error_logging; + } + else + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$insert_lead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid',comments='INBOUND' where status IN('CLOSER','READY') and lead_id<1 and server_ip='$VARserver_ip' and campaign_id IN($INBOUNDcampsSQL) and closer_campaigns LIKE \"% $channel_group %\" and last_update_time > '$BDtsSQLdate' $qp_groupWAIT_SQL $qp_groupWAIT_camp_SQL $agent_call_order limit 1;"; + $Faffected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02041'; $MEL_aff_rows=$Faffected_rows; &mysql_error_logging; + $found_agents=$Faffected_rows; + } + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$Faffected_rows|$channel_group|$stmtA|"; &agi_output;} + if ($found_agents > 0) + { + if ($aco_sub<1) + { + $cbc=0; + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where status IN('QUEUE','INCALL') and server_ip='$VARserver_ip' and campaign_id IN($INBOUNDcampsSQL) and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02042'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $rec_countCUSTDATA=0; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + + $cbc++; + } + $sthA->finish(); + } + + $stmtA = "UPDATE vicidial_auto_calls set status='CLOSER', stage='CLOSER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02043'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL XFER : |$affected_rows|$callerid\n|$stmtA|"; &agi_output;} + if ($affected_rows < 1) + { + $stmtA = "INSERT INTO vicidial_auto_calls SET server_ip='$VARserver_ip',campaign_id='$channel_group',status='CLOSER',lead_id='$insert_lead_id',uniqueid='$uniqueid',callerid='$callerid',channel='$channel',phone_code='$phone_code',phone_number='$phone_number',call_time='$SQLdate',call_type='IN',stage='CLOSER-$drop_timer',queue_priority='$queue_priority' $adSQL;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02044'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "$affected_rows|VDAC-reinsert|$stmtA|"; &agi_output;} + } + + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + $now_date_epoch = time(); + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$now_date_epoch',call_id='$YqueryCID',queue='$channel_group',agent='Agent/$VDADuser',verb='CONNECT',data1='$drop_timer',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + $dbhP=$dbhB; $stmtA=$stmtB; $mysql_count='02045'; $MEL_aff_rows=$Baffected_rows; &mysql_error_logging; + + $dbhB->disconnect(); + } + + if ($call_handle_method =~ /CLOSER|DIGITID$/) + { + $stmtA = "UPDATE vicidial_xfer_log set closer='$VDADuser' where lead_id = '$insert_lead_id' order by call_date desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02046'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDXL XFER vicidial_xfer_log update: |$affected_rows|$insert_lead_id|$VDADuser\n|$stmtA|"; &agi_output;} + } + + $stmtA = "UPDATE vicidial_closer_log set user='$VDADuser' where lead_id='$insert_lead_id' order by call_date desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02047'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- closer log : |$affected_rows|$insert_lead_id|$insert_close_id|\n|$stmtA|"; &agi_output;} + + ### if agent alert exten is not disabled, then trigger the alert and wait + if ( ($agent_alert_exten !~ /X/i) && ($no_delay_call_route !~ /Y/i) ) + { + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + ### insert a NEW record to the vicidial_manager table to play the alert message to the agent + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Originate','$VHqueryCID','Exten: $agent_alert_exten','Context: $ext_context','Channel: Local/$dtmf_silent_prefix$VDADconf_exten$at$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: 10','','','','')"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02048'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL agent alert: |$VHqueryCID|7$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + + usleep(1 * $agent_alert_delay * 1000); + } + + if ($AGILOG) {$agi_string = "exiting VDAD app, transferring call to $VDADconf_exten"; &agi_output;} + + if ($no_delay_call_route =~ /N/) + { + $AGI->stream_file('ding'); # stop music-on-hold process + } + + ### update calls_today for vicidial_live_inbound_agents ### + $stmtA = "SELECT calls_today from vicidial_inbound_group_agents WHERE user='$VDADuser' and group_id='$channel_group';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02049'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $calls_today = "$aryA[0]"; + $calls_today++; + } + $sthA->finish(); + + if ($sthArows > 0) + { + $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today' WHERE user='$VDADuser' and group_id='$channel_group';"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02050'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + $stmtA = "UPDATE vicidial_inbound_group_agents set calls_today='$calls_today' WHERE user='$VDADuser' and group_id='$channel_group';"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02051'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDLIA agent calls: |$calls_today|$VDADuser|$channel_group|"; &agi_output;} + } + + &trigger_transfer_process; + + if ($no_delay_call_route !~ /Y/i) + {usleep(1*500*1000);} + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + if ($VDADextension =~ /^R\//) + { + ### set the callerid to the ACQS value(calleridname) + ## use these two lines for Asterisk 1.2 tree + $newcallerid = "\"$callerid <$phone_number>\""; + $AGI->set_callerid($newcallerid); + ## use these two lines for Asterisk 1.0 tree + # print "SET CALLERID \"$calleridname\" <0000000000>\n"; + # print "SET CALLERIDNAME \"$calleridname\"\n"; + + print STDERR "Setting CID \"$newcallerid\"\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: \"$callerid\" \<$phone_number\>"; &agi_output;} + } + + $stmtA = "UPDATE vicidial_closer_log set queue_seconds='$drop_timer' where lead_id = '$insert_lead_id' and call_date='$SQLdate';"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02052'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$insert_lead_id|$insert_close_id|\n|$stmtA|"; &agi_output;} + + $AGI->stream_file('sip-silence'); + $AGI->stream_file('sip-silence'); + + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADconf_exten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + $dbhA->disconnect(); + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNN No available local agent found"; &agi_output;} + } + } + else + { + ### For Debugging purposes display the call ahead of this call + if ( ($rec_countWAIT == '1') && ($drop_timer > 3) && ($AGILOG) ) + { + $stmtA = "SELECT call_time,campaign_id,last_update_time,callerid,status,channel FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and campaign_id = '$channel_group' and call_time < \"$SQLdateBEGIN\" and lead_id != '$insert_lead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02053'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $r=0; + $agi_string="\n"; + while ($sthArows > $r) + { + @aryA = $sthA->fetchrow_array; + $agi_string .= "|$aryA[0]|$aryA[1]|$aryA[2]|$aryA[3]|$aryA[4]|$aryA[5]|\n"; + $r++; + } + $sthA->finish(); + &agi_output; + } + if ($AGILOG) {$agi_string = "WWWWW VDAD XFER LOCAL WAIT: |$rec_countWAIT|$channel_group|$channel|$callerid|$uniqueid|$drop_timer|"; &agi_output;} + } +} + +if ($agent_search_method =~ /^LO|^LB/) +{ + +################################################################################################### +##### Attempt to send call to an agent on any server ##### + $cbc=0; + $rec_countWAITrem=0; + ### Get count of number of calls in this group that are ahead of this call + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and campaign_id = '$channel_group' and call_time < \"$SQLdateBEGIN\" and lead_id != '$insert_lead_id' $ADfindSQL;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02054'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAITrem = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($rec_countWAITrem < 1) + { + $qp_countWAIT=0; + ### Get count of number of waiting calls in higher priority groups than this call or the same priority with longer wait time + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and lead_id != '$insert_lead_id' $ADfindSQL and ( (queue_priority > '$queue_priority') or (queue_priority = '$queue_priority' and call_time < \"$SQLdateBEGIN\") );"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02055'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $qp_countWAIT = "$aryA[0]"; + } + $sthA->finish(); + + $qp_groupWAIT=''; + $qp_groupWAIT_SQL=''; + $qp_groupWAIT_aco=''; + $qp_groupWAIT_aco_SQL=''; + $qp_groupWAIT_camp_SQL=''; + if ($qp_countWAIT > 0) + { + ### Get group/campaign ids of calls in higher priority groups than this call or the same priority with longer wait time + $stmtA = "SELECT distinct campaign_id FROM vicidial_auto_calls where status = 'LIVE' and lead_id != '$insert_lead_id' $ADfindSQL and ( (queue_priority > '$queue_priority') or (queue_priority = '$queue_priority' and call_time < \"$SQLdateBEGIN\") );"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02056'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $dbc=0; + $qp_groupWAIT=''; + while ($sthArows > $dbc) + { + @aryA = $sthA->fetchrow_array; + $qp_groupWAIT_aco .= "'$aryA[0]',"; + if ($dbc > 0) + { + $qp_groupWAIT .= "and "; + } + $qp_groupWAIT .= "closer_campaigns NOT LIKE \"% $aryA[0] %\" "; + $dbc++; + } + chop($qp_groupWAIT_aco); + + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + + $qp_groupWAIT_SQL = "and ($qp_groupWAIT)"; + $qp_groupWAIT_aco_SQL = "and vicidial_live_inbound_agents.group_id NOT IN($qp_groupWAIT_aco)"; + $qp_groupWAIT_camp_SQL = "and campaign_id NOT IN($qp_groupWAIT_aco)"; + + $sthA->finish(); + } + + if ($aco_sub>0) + { + $stmtA = "LOCK TABLES vicidial_live_agents WRITE, vicidial_live_inbound_agents WRITE;"; + my $LOCKaffected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02057'; $MEL_aff_rows=$LOCKaffected_rows; &mysql_error_logging; + + $stmtA = "SELECT vicidial_live_agents.conf_exten,vicidial_live_agents.user,vicidial_live_agents.extension,vicidial_live_agents.server_ip from vicidial_live_agents JOIN vicidial_live_inbound_agents ON vicidial_live_agents.user=vicidial_live_inbound_agents.user WHERE status IN('CLOSER','READY') and lead_id<1 $ADUfindSQL and vicidial_live_inbound_agents.group_id='$channel_group' and last_update_time > '$BDtsSQLdate' $qp_groupWAIT_aco_SQL $qp_groupWAIT_camp_SQL $agent_call_order limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + $dbhP=$dbhA; $mysql_count='02058'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $VDADserver_ip = "$aryA[3]"; + } + $sthA->finish(); + if ($AGILOG) {$agi_string = "$VDADuser|$stmtA|"; &agi_output;} + + if ($sthArows > 0) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$insert_lead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid', call_server_ip='$VARserver_ip',comments='INBOUND' where user='$VDADuser';"; + $Faffected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02059'; $MEL_aff_rows=$Faffected_rows; &mysql_error_logging; + $found_agents=$Faffected_rows; + } + else + { + $Faffected_rows=0; + } + + $stmtA = "UNLOCK TABLES;"; + my $LOCKaffected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02060'; $MEL_aff_rows=$LOCKaffected_rows; &mysql_error_logging; + } + else + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$insert_lead_id',uniqueid='$unique_id', channel='$channel', callerid='$callerid', call_server_ip='$VARserver_ip',comments='INBOUND' where status IN('CLOSER','READY') and lead_id<1 $ADUfindSQL and campaign_id IN($INBOUNDcampsSQL) and closer_campaigns LIKE \"% $channel_group %\" and last_update_time > '$BDtsSQLdate' $qp_groupWAIT_SQL $qp_groupWAIT_camp_SQL $agent_call_order limit 1;"; + $Faffected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02061'; $MEL_aff_rows=$Faffected_rows; &mysql_error_logging; + $found_agents=$Faffected_rows; + if ($AGILOG) {$agi_string = "$Faffected_rows|$stmtA|"; &agi_output;} + } + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$DROP_TIME|$drop_timer|$Faffected_rows|$found_agents|update of vla table: $channel_group|\n|$stmtA|"; &agi_output;} + if ($found_agents > 0) + { + if ($aco_sub<1) + { + $cbc=0; + $stmtA = "SELECT conf_exten,user,extension,server_ip,last_call_time FROM vicidial_live_agents where status IN('QUEUE','INCALL') and campaign_id IN($INBOUNDcampsSQL) and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02062'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $rec_countCUSTDATA=0; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $VDADserver_ip = "$aryA[3]"; + $VDADlast_call_time="$aryA[4]"; + $cbc++; + } + $sthA->finish(); + if ($AGILOG) {$agi_string = "$VDADuser|$VDADlast_call_time|$stmtA|"; &agi_output;} + } + $stmtA = "UPDATE vicidial_auto_calls set status='CLOSER', stage='CLOSER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02063'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL XFER REMOTE: |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + if ($affected_rows < 1) + { + $stmtA = "INSERT INTO vicidial_auto_calls SET server_ip='$VARserver_ip',campaign_id='$channel_group',status='CLOSER',lead_id='$insert_lead_id',uniqueid='$uniqueid',callerid='$callerid',channel='$channel',phone_code='$phone_code',phone_number='$phone_number',call_time='$SQLdate',call_type='IN',stage='CLOSER-$drop_timer',queue_priority='$queue_priority' $adSQL;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02064'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "$affected_rows|VDAC-reinsert|$stmtA|"; &agi_output;} + } + + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + $now_date_epoch = time(); + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$now_date_epoch',call_id='$YqueryCID',queue='$channel_group',agent='Agent/$VDADuser',verb='CONNECT',data1='$drop_timer',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + $dbhP=$dbhB; $stmtA=$stmtB; $mysql_count='02065'; $MEL_aff_rows=$Baffected_rows; &mysql_error_logging; + + $dbhB->disconnect(); + } + + $stmtA = "UPDATE vicidial_xfer_log set closer='$VDADuser' where lead_id = '$insert_lead_id' order by call_date desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02066'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDXL vicidial_xfer_log update: |$affected_rows|$insert_lead_id|$VDADuser\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set user='$VDADuser' where lead_id='$insert_lead_id' order by call_date desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02067'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- closer log : |$affected_rows|update of vcl table: $insert_lead_id\n|$stmtA|"; &agi_output;} + + ### format the remote server dialstring to get the call to the overflow agent meetme room + $S='*'; + if( $VDADserver_ip =~ m/(\S+)\.(\S+)\.(\S+)\.(\S+)/ ) + { + $a = leading_zero($1); + $b = leading_zero($2); + $c = leading_zero($3); + $d = leading_zero($4); + $VDADremDIALstr = "$a$S$b$S$c$S$d$S"; + } + $alertVDADremDIALstr = "$VDADremDIALstr"; + $alertVDADremDIALstr .= "$dtmf_silent_prefix$VDADconf_exten"; + $VDADremDIALstr .= "$VDADconf_exten"; + + ### if agent alert exten is not disabled, then trigger the alert and wait + if ( ($agent_alert_exten !~ /X/i) && ($no_delay_call_route !~ /Y/i) ) + { + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + ### insert a NEW record to the vicidial_manager table to play the alert message to the agent + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Originate','$VHqueryCID','Exten: $agent_alert_exten','Context: $ext_context','Channel: Local/$alertVDADremDIALstr$at$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: 10','','','','')"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02068'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL agent alert: |$VHqueryCID|$alertVDADremDIALstr|$channel|insert to vicidial_manager"; &agi_output;} + + usleep(1 * $agent_alert_delay * 1000); + } + + if ($AGILOG) {$agi_string = "exiting VDAD app, transferring call to $VDADremDIALstr"; &agi_output;} + + if ($no_delay_call_route =~ /N/) + { + $AGI->stream_file('ding'); # stop music-on-hold process + } + + ### update calls_today for vicidial_live_inbound_agents ### + $stmtA = "SELECT calls_today from vicidial_inbound_group_agents WHERE user='$VDADuser' and group_id='$channel_group';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02069'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $calls_today = "$aryA[0]"; + $calls_today++; + } + $sthA->finish(); + + if ($sthArows > 0) + { + $stmtA = "UPDATE vicidial_live_inbound_agents set calls_today='$calls_today' WHERE user='$VDADuser' and group_id='$channel_group';"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02070'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + $stmtA = "UPDATE vicidial_inbound_group_agents set calls_today='$calls_today' WHERE user='$VDADuser' and group_id='$channel_group';"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02071'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDLIA agent calls: |$calls_today|$VDADuser|$channel_group|"; &agi_output;} + } + + &trigger_transfer_process; + + if ($no_delay_call_route !~ /Y/i) + {usleep(1*500*1000);} + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + if ($VDADextension =~ /^R\//) + { + ### set the callerid to the ACQS value(calleridname) + ## use these two lines for Asterisk 1.2 tree + $newcallerid = "\"$callerid <$phone_number>\""; + $AGI->set_callerid($newcallerid); + ## use these two lines for Asterisk 1.0 tree + # print "SET CALLERID \"$calleridname\" <0000000000>\n"; + # print "SET CALLERIDNAME \"$calleridname\"\n"; + + print STDERR "Setting CID \"$newcallerid\"\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: \"$callerid\" \<$phone_number\>"; &agi_output;} + } + + $stmtA = "UPDATE vicidial_closer_log set queue_seconds='$drop_timer' where lead_id = '$insert_lead_id' and call_date='$SQLdate';"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02072'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$insert_lead_id|\n|$stmtA|"; &agi_output;} + + $AGI->stream_file('sip-silence'); + $AGI->stream_file('sip-silence'); + + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADremDIALstr\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + $dbhA->disconnect(); + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNN No available balance agent found"; &agi_output;} + } + } + else + { + if ( ($rec_countWAITrem == '1') && ($drop_timer > 3) && ($AGILOG) ) + { + $stmtA = "SELECT call_time,campaign_id,last_update_time,callerid,status,channel FROM vicidial_auto_calls where status = 'LIVE' and campaign_id = '$channel_group' and call_time < \"$SQLdateBEGIN\" and lead_id != '$insert_lead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02073'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $r=0; + $agi_string="\n"; + while ($sthArows > $r) + { + @aryA = $sthA->fetchrow_array; + $agi_string .= "|$aryA[0]|$aryA[1]|$aryA[2]|$aryA[3]|$aryA[4]|$aryA[5]|\n"; + $r++; + } + $sthA->finish(); + &agi_output; + } + + if ($AGILOG) {$agi_string = "WWWWW VDAD XFER BALANCE WAIT: |$rec_countWAITrem|$channel_group|$channel|$callerid|$uniqueid|$drop_timer|"; &agi_output;} + } + +} + +if ($hold_recall_xfer_group !~ /NONE/) + { + $now_date_epoch = time(); + $FDtarget = ($now_date_epoch - 86400); + ($Fsec,$Fmin,$Fhour,$Fmday,$Fmon,$Fyear,$Fwday,$Fyday,$Fisdst) = localtime($FDtarget); + $Fyear = ($Fyear + 1900); + $Fmon++; + if ($Fmon < 10) {$Fmon = "0$Fmon";} + if ($Fmday < 10) {$Fmday = "0$Fmday";} + if ($Fhour < 10) {$Fhour = "0$Fhour";} + if ($Fmin < 10) {$Fmin = "0$Fmin";} + if ($Fsec < 10) {$Fsec = "0$Fsec";} + $hrxgSQLdate = "$Fyear-$Fmon-$Fmday $Fhour:$Fmin:$Fsec"; + + $stmtA = "SELECT count(*) FROM vicidial_closer_log where call_date > \"$hrxgSQLdate\" and phone_number='$phone_number';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02074'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $hrxg_count = "$aryA[0]"; + } + $sthA->finish(); + + if ($hrxg_count > 1) + { + $S='*'; + $DROPexten = "90009*$hold_recall_xfer_group$S$S$insert_lead_id$S$S$phone_number$S$fronter$S"; + + if ($no_delay_call_route =~ /N/) + { + $AGI->stream_file('ding'); # stop music-on-hold process + sleep(1); + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' and server_ip='$VARserver_ip' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02075'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL vac record deleted: |$affected_rows| $VDADcampaign|"; &agi_output;} + + if ($drop_seconds < 1) {$drop_seconds = $drop_timer;} + + $stmtA = "UPDATE vicidial_closer_log set status='HXFER',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds',queue_seconds='$drop_seconds',term_reason='HOLDRECALLXFER' where lead_id = '$insert_lead_id' order by start_epoch desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02076'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$insert_lead_id|\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='HXFER' where lead_id = '$insert_lead_id';"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02077'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL vl update: |$affected_rows|$insert_lead_id|\n|$stmtA|"; &agi_output;} + + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $place=0; + if ($rec_countWAIT > 0) {$place = $rec_countWAIT;} + if ($rec_countWAITrem > 0) {$place = $rec_countWAITrem;} + $place++; + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$now_date_epoch',call_id='$YqueryCID',queue='$channel_group',agent='NONE',verb='EXITWITHKEY',data1='3',data2='$place',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + $dbhP=$dbhB; $stmtA=$stmtB; $mysql_count='02078'; $MEL_aff_rows=$Baffected_rows; &mysql_error_logging; + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$now_date_epoch',call_id='$YqueryCID',queue='$channel_group',agent='NONE',verb='CALLSTATUS',data1='HXFER',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + $dbhP=$dbhB; $stmtA=$stmtB; $mysql_count='02079'; $MEL_aff_rows=$Baffected_rows; &mysql_error_logging; + + $dbhB->disconnect(); + } + + $AGI->stream_file('sip-silence'); + $AGI->stream_file('sip-silence'); + + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + $dbhA->disconnect(); + + exit; + } + } + +if ($if_wait_play_welcome > 0) + { + $if_wait_play_welcome=0; + + $now_date_epoch = time(); + $FDtarget = ($now_date_epoch + 20); + ($Fsec,$Fmin,$Fhour,$Fmday,$Fmon,$Fyear,$Fwday,$Fyday,$Fisdst) = localtime($FDtarget); + $Fyear = ($Fyear + 1900); + $Fmon++; + if ($Fmon < 10) {$Fmon = "0$Fmon";} + if ($Fmday < 10) {$Fmday = "0$Fmday";} + if ($Fhour < 10) {$Fhour = "0$Fhour";} + if ($Fmin < 10) {$Fmin = "0$Fmin";} + if ($Fsec < 10) {$Fsec = "0$Fsec";} + $FDtsSQLdate = "$Fyear$Fmon$Fmday$Fhour$Fmin$Fsec"; + + $stmtA = "UPDATE vicidial_auto_calls set last_update_time='$FDtsSQLdate' where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02080'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDAC posttime record: |$affected_rows|$FDtsSQLdate|$callerid|"; &agi_output;} + + $AGI->stream_file('sip-silence'); # stop music-on-hold process + $AGI->stream_file('sip-silence'); # stop music-on-hold process + $AGI->stream_file("$welcome_message_filename"); + } + + +if ( ($hold_message_counter > $prompt_interval) && ($prompt_interval > 0) ) + { + $now_date_epoch = time(); + $FDtarget = ($now_date_epoch + 10); + ($Fsec,$Fmin,$Fhour,$Fmday,$Fmon,$Fyear,$Fwday,$Fyday,$Fisdst) = localtime($FDtarget); + $Fyear = ($Fyear + 1900); + $Fmon++; + if ($Fmon < 10) {$Fmon = "0$Fmon";} + if ($Fmday < 10) {$Fmday = "0$Fmday";} + if ($Fhour < 10) {$Fhour = "0$Fhour";} + if ($Fmin < 10) {$Fmin = "0$Fmin";} + if ($Fsec < 10) {$Fsec = "0$Fsec";} + $FDtsSQLdate = "$Fyear$Fmon$Fmday$Fhour$Fmin$Fsec"; + + $stmtA = "UPDATE vicidial_auto_calls set last_update_time='$FDtsSQLdate' where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02081'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDAC posttime record: |$affected_rows|$FDtsSQLdate|$callerid|"; &agi_output;} + + $AGI->stream_file('sip-silence'); # stop music-on-hold process + $AGI->stream_file('sip-silence'); # stop music-on-hold process + $AGI->stream_file("$onhold_prompt_filename"); # this prompt must be less than 10 seconds long + $hold_message_counter = 0; + $start_moh=1; + $moh_delay=1; + if ($play_place_in_line =~ /Y/i) {$start_place_in_line=1; $moh_delay=2;} + if ($play_estimate_hold_time =~ /Y/i) {$start_hold_estimate=1; $moh_delay=2;} + if ($hold_time_option !~ /NONE/) {$start_hold_estimate=1; $moh_delay=2;}; + if ($drop_timer >= 3) {$drop_timer = ($drop_timer + 5);} # add prompt play time to total queue time + } + else {$hold_message_counter++;} +if ($hold_tone_counter > 3) + { + $hold_tone_counter = 0; + } + else {$hold_tone_counter++;} + +##### play the place in line of the caller if option is set +if ( ($start_place_in_line > 0) && ($moh_delay == '1') ) + { + $now_date_epoch = time(); + $FDtarget = ($now_date_epoch + 5); + ($Fsec,$Fmin,$Fhour,$Fmday,$Fmon,$Fyear,$Fwday,$Fyday,$Fisdst) = localtime($FDtarget); + $Fyear = ($Fyear + 1900); + $Fmon++; + if ($Fmon < 10) {$Fmon = "0$Fmon";} + if ($Fmday < 10) {$Fmday = "0$Fmday";} + if ($Fhour < 10) {$Fhour = "0$Fhour";} + if ($Fmin < 10) {$Fmin = "0$Fmin";} + if ($Fsec < 10) {$Fsec = "0$Fsec";} + $FDtsSQLdate = "$Fyear$Fmon$Fmday$Fhour$Fmin$Fsec"; + + $stmtA = "UPDATE vicidial_auto_calls set last_update_time='$FDtsSQLdate' where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02082'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDAC posttime record: |$affected_rows|$FDtsSQLdate|$callerid|"; &agi_output;} + + $place=0; + if ($rec_countWAIT > 0) {$place = $rec_countWAIT;} + if ($rec_countWAITrem > 0) {$place = $rec_countWAITrem;} + $place++; + if ($AGILOG) {$agi_string = "-- PLACE IN LINE: |$campaign_id|$place|"; &agi_output;} + + $AGI->stream_file('sip-silence'); # stop music-on-hold process + $AGI->stream_file('sip-silence'); # stop music-on-hold process + if ($place > 1) + { + $AGI->stream_file('queue-thereare'); # you are currently caller number + $AGI->say_number("$place"); + if ($drop_timer >= 3) {$drop_timer = ($drop_timer + 2);} # add prompt play time to total queue time + } + else + { + $AGI->stream_file('queue-youarenext'); # your call is now first in line + if ($drop_timer >= 3) {$drop_timer = ($drop_timer + 5);} # add prompt play time to total queue time + } + + $start_place_in_line=0; + } + +##### calculate hold time estimate if needed +$holdtime_estimate=1; $holdtime_estimate_sec=0; $livetime_estimate_sec=0; # Make hold time estimate available to other sections +if ( ($start_hold_estimate > 0) && ($moh_delay == '1') ) + { + $now_date_epoch = time(); + $FDtarget = ($now_date_epoch + 5); + ($Fsec,$Fmin,$Fhour,$Fmday,$Fmon,$Fyear,$Fwday,$Fyday,$Fisdst) = localtime($FDtarget); + $Fyear = ($Fyear + 1900); + $Fmon++; + if ($Fmon < 10) {$Fmon = "0$Fmon";} + if ($Fmday < 10) {$Fmday = "0$Fmday";} + if ($Fhour < 10) {$Fhour = "0$Fhour";} + if ($Fmin < 10) {$Fmin = "0$Fmin";} + if ($Fsec < 10) {$Fsec = "0$Fsec";} + $FDtsSQLdate = "$Fyear$Fmon$Fmday$Fhour$Fmin$Fsec"; + + $stmtA = "UPDATE vicidial_auto_calls set last_update_time='$FDtsSQLdate' where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02083'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDAC posttime record: |$affected_rows|$FDtsSQLdate|$callerid|"; &agi_output;} + + $stmtA = "SELECT queue_seconds FROM vicidial_closer_log where campaign_id = '$channel_group' order by call_date desc limit 5;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02084'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $r=0; + $agi_string="\n"; + while ($sthArows > $r) + { + @aryA = $sthA->fetchrow_array; + $holdtime_estimate_sec = ($holdtime_estimate_sec + $aryA[0]); + $r++; + } + $sthA->finish(); + $holdtime_estimate_sec = int( ($holdtime_estimate_sec / $r) + 1); + + $stmtA = "SELECT stage FROM vicidial_auto_calls where status = 'LIVE' and campaign_id = '$channel_group' and call_time <= \"$SQLdateBEGIN\";"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02085'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $s=0; $t=0; + $agi_string="\n"; + while ($sthArows > $s) + { + @aryA = $sthA->fetchrow_array; + $stage_wait_sec = $aryA[0]; + $stage_wait_sec =~ s/LIVE-|CLOSE-|CLOSER-//gi; + if ($stage_wait_sec >= $holdtime_estimate_sec) + { + $livetime_estimate_sec = ($livetime_estimate_sec + $stage_wait_sec); + $t++; + } + $s++; + } + $sthA->finish(); + + if ( ($livetime_estimate_sec > 0) && ($t > 0) ) + { + $livetime_estimate_sec = int( ($livetime_estimate_sec / $t) + 1); + $avgtime_estimate_sec = int( ($livetime_estimate_sec + $holdtime_estimate_sec) / 2); + } + else + {$avgtime_estimate_sec = $holdtime_estimate_sec;} + + $holdtime_estimate_sec_diff = ($avgtime_estimate_sec - $drop_timer); + if ($holdtime_estimate_sec_diff < 10) {$holdtime_estimate_sec_diff=10;} + $holdtime_estimate = int($holdtime_estimate_sec_diff / 60); + $holdtime_estimate_sec_rem = ( $holdtime_estimate_sec_diff - ($holdtime_estimate * 60) ); + if ($AGILOG) {$agi_string = "-- HOLD ESTIMATE: |$campaign_id|$holdtime_estimate|$holdtime_estimate_sec_rem|$holdtime_estimate_sec_diff| |$holdtime_estimate_sec|$livetime_estimate_sec|$avgtime_estimate_sec|"; &agi_output;} + +##### play the hold time estimate to the caller if option is set + if ($play_estimate_hold_time =~ /Y/i) + { + $AGI->stream_file('sip-silence'); # stop music-on-hold process + $AGI->stream_file('sip-silence'); # stop music-on-hold process + + if ($pretend_every_call_is_next > 0) + { + $AGI->stream_file('queue-youarenext'); # you are next in line + } + else + { + $AGI->stream_file('queue-holdtime'); # the estimated hold time is currently + if ($holdtime_estimate > 0) + { + $AGI->say_number("$holdtime_estimate"); + $AGI->stream_file('queue-minutes'); # minutes + } + if ($holdtime_estimate < 2) + { + my $roundto = 5; # sensible values 5, 10, 15, ( 20, 30) + my $rounded_time = $holdtime_estimate_sec_diff - ( $holdtime_estimate_sec_diff % $roundto ) + $roundto; + $AGI->say_number("$rounded_time"); + $AGI->stream_file('queue-seconds'); # seconds + } + } + } + if ($drop_timer >= 3) {$drop_timer = ($drop_timer + 3);} # add prompt play time to total queue time + + $start_hold_estimate=0; + $wait_in_queue = 1; # trigger hold-time-option is applicable + } + +##### check if hold_time_option is set to leave Queue +if ( ($hold_time_option !~ /NONE/ ) && ( $holdtime_estimate_sec_diff > $hold_time_option_second ) && ($wait_in_queue < 2) ) +{ +$wait_in_queue=0; # exits wait loop +$DROPexten = ''; +$exitwithkey=0; +if ($hold_time_option =~ /EXTENSION/) + { + if (length($hold_time_option_exten)>0) + {$DROPexten = "$hold_time_option_exten";} + } +if ($hold_time_option =~ /PRESS_VMAIL/) + { + $now_date_epoch = time(); + $FDtarget = ($now_date_epoch + 8); + ($Fsec,$Fmin,$Fhour,$Fmday,$Fmon,$Fyear,$Fwday,$Fyday,$Fisdst) = localtime($FDtarget); + $Fyear = ($Fyear + 1900); + $Fmon++; + if ($Fmon < 10) {$Fmon = "0$Fmon";} + if ($Fmday < 10) {$Fmday = "0$Fmday";} + if ($Fhour < 10) {$Fhour = "0$Fhour";} + if ($Fmin < 10) {$Fmin = "0$Fmin";} + if ($Fsec < 10) {$Fsec = "0$Fsec";} + $FDtsSQLdate = "$Fyear$Fmon$Fmday$Fhour$Fmin$Fsec"; + + $stmtA = "UPDATE vicidial_auto_calls set last_update_time='$FDtsSQLdate' where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02086'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDAC posttime record: |$affected_rows|$FDtsSQLdate|$callerid|"; &agi_output;} + + if ($drop_timer >= 3) {$drop_timer = ($drop_timer + 8);} # add prompt play time to total queue time + + $AGI->stream_file('sip-silence'); # stop music-on-hold process + $AGI->stream_file('sip-silence'); # stop music-on-hold process + + &press_one_to_leave_voicemail; + + if ($pin =~ /1/) + { + $DROPexten = "$voicemail_dump_exten$hold_time_option_voicemail"; + $HT_status='QVMAIL'; + + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $place=0; + if ($rec_countWAIT > 0) {$place = $rec_countWAIT;} + if ($rec_countWAITrem > 0) {$place = $rec_countWAITrem;} + $place++; + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$now_date_epoch',call_id='$YqueryCID',queue='$channel_group',agent='NONE',verb='EXITWITHKEY',data1='1',data2='$place',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + $dbhP=$dbhB; $stmtA=$stmtB; $mysql_count='02087'; $MEL_aff_rows=$Baffected_rows; &mysql_error_logging; + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$now_date_epoch',call_id='$YqueryCID',queue='$channel_group',agent='NONE',verb='CALLSTATUS',data1='QVMAIL',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + $dbhP=$dbhB; $stmtA=$stmtB; $mysql_count='02088'; $MEL_aff_rows=$Baffected_rows; &mysql_error_logging; + + $exitwithkey++; + + $dbhB->disconnect(); + } + } + else + { + $DROPexten=''; + $wait_in_queue = 2; #continue waiting on hold + } + } +if ($hold_time_option =~ /VOICEMAIL/) + { + if (length($hold_time_option_voicemail)>0) + {$DROPexten = "$voicemail_dump_exten$hold_time_option_voicemail";} + } +if ($hold_time_option =~ /IN_GROUP/) + { # 90009*CL_uk3survy_*8301*10000123*universal*7275551212*1234*" + $S='*'; + $DROPexten = "90009*$hold_time_option_xfer_group$S$S$insert_lead_id$S$S$phone_number$S$fronter$S"; + } +if ($hold_time_option =~ /CALLERID_CALLBACK/) + { + if (length($hold_time_option_exten)>0) + {$DROPexten = "$hold_time_option_exten";} + # if callerid is not valid do not execute + if ( ( length($phone_number) > 6 ) && ( $phone_number > 0) ) + { + ### insert a record into the vicidial_list table + $stmtA = "INSERT INTO vicidial_list (entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,called_since_last_reset,phone_code,phone_number,security_phrase,called_count,gmt_offset_now,comments) values('$SQLdate','$tsSQLdate','INBND','$fronter','$inbound_number','VDCL','$hold_time_option_callback_list_id','N','$phone_code','$phone_number','$channel_group','1','$local_gmt','$VLcomments');"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02089'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + $cbc=0; + $stmtB = "select LAST_INSERT_ID() LIMIT 1;"; + $sthA = $dbhA->prepare($stmtB) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $stmtA=$stmtB; $mysql_count='02103'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $insert_lead_id = "$aryA[0]"; + $cbc++; + } + $sthA->finish(); + + if ($AGILOG) {$agi_string = "VDAD vicidial_list insert |$insert_lead_id|$stmtA|"; &agi_output;} + + $DROPexten = "8300"; + + $AGI->stream_file('sip-silence'); # stop music-on-hold process + $AGI->stream_file('sip-silence'); # stop music-on-hold process + $AGI->stream_file("$hold_time_option_callback_filename"); + } + else + { + $wait_in_queue = 2; #continue waiting + } + + } + +if ($AGILOG) {$agi_string = "-- VDCL HOLD TIME OPT: |$hold_time_option|$DROPexten|$wait_in_queue|"; &agi_output;} + +if ($wait_in_queue < 1) + { + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if ($no_delay_call_route =~ /N/) + { + $AGI->stream_file('ding'); # stop music-on-hold process + sleep(1); + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' and server_ip='$VARserver_ip' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02090'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL vac record deleted: |$affected_rows| $VDADcampaign|"; &agi_output;} + + if ($drop_seconds < 1) {$drop_seconds = $drop_timer;} + + if (length($HT_status)<1) {$HT_status='HOLDTO';} + $stmtA = "UPDATE vicidial_closer_log set status='$HT_status',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds',queue_seconds='$drop_seconds',term_reason='HOLDTIME' where lead_id = '$insert_lead_id' order by start_epoch desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02091'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$insert_lead_id|\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='HOLDTO' where lead_id = '$insert_lead_id';"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02092'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL vl update: |$affected_rows|$insert_lead_id|\n|$stmtA|"; &agi_output;} + + if ( ($enable_queuemetrics_logging > 0) && ($exitwithkey < 1) ) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $place=0; + if ($rec_countWAIT > 0) {$place = $rec_countWAIT;} + if ($rec_countWAITrem > 0) {$place = $rec_countWAITrem;} + $place++; + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$now_date_epoch',call_id='$YqueryCID',queue='$channel_group',agent='NONE',verb='EXITWITHKEY',data1='2',data2='$place',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + $dbhP=$dbhB; $stmtA=$stmtB; $mysql_count='02093'; $MEL_aff_rows=$Baffected_rows; &mysql_error_logging; + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$now_date_epoch',call_id='$YqueryCID',queue='$channel_group',agent='NONE',verb='CALLSTATUS',data1='HOLDTO',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + $dbhP=$dbhB; $stmtA=$stmtB; $mysql_count='02094'; $MEL_aff_rows=$Baffected_rows; &mysql_error_logging; + + $dbhB->disconnect(); + } + + $AGI->stream_file('sip-silence'); + $AGI->stream_file('sip-silence'); + + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + $dbhA->disconnect(); + + exit; + } + + + } +} + + + +##### wait before looking again for an agent to take the call +if ($wait_in_queue > 0) + { + if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + if ($moh_delay > 0) + {$moh_delay = ($moh_delay - 1);} + } + else + { + if ( ($start_moh > 0) && ($moh_delay < 1) ) + { + $start_moh=0; + print "SET MUSIC ON $moh_context\n"; + checkresult($result); + } + if ($moh_delay > 0) + {$moh_delay = ($moh_delay - 1);} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + # $drop_timer++; + $NOWsec = time(); + $drop_timer = ($NOWsec - $start_epoch); + } + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02095'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; +if ($affected_rows < 1) + { + $stmtA = "INSERT INTO vicidial_auto_calls SET server_ip='$VARserver_ip',campaign_id='$channel_group',status='LIVE',lead_id='$insert_lead_id',uniqueid='$uniqueid',callerid='$callerid',channel='$channel',phone_code='$phone_code',phone_number='$phone_number',call_time='$SQLdate',call_type='IN',stage='LIVE-$drop_timer',queue_priority='$queue_priority' $adSQL;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02096'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "$affected_rows|VDAC-reinsert|$stmtA|"; &agi_output;} + } +else + { +# if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update vac table: $callerid\n|$stmtA|$drop_timer ($NOWsec - $start_epoch)|"; &agi_output;} + } +} + +################################################### +### End of Loop to try to send call to an agent ### +### Time to figure out where to drop the call ### + +if ($drop_timer > $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; +# $VDADvoicemail_ext = ''; + +if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $place=0; + if ($rec_countWAIT > 0) {$place = $rec_countWAIT;} + if ($rec_countWAITrem > 0) {$place = $rec_countWAITrem;} + $place++; + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$now_date_epoch',call_id='$YqueryCID',queue='$channel_group',agent='NONE',verb='EXITWITHTIMEOUT',data1='$place',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + $dbhP=$dbhB; $stmtA=$stmtB; $mysql_count='02097'; $MEL_aff_rows=$Baffected_rows; &mysql_error_logging; + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$now_date_epoch',call_id='$YqueryCID',queue='$channel_group',agent='NONE',verb='CALLSTATUS',data1='DROP',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + $dbhP=$dbhB; $stmtA=$stmtB; $mysql_count='02098'; $MEL_aff_rows=$Baffected_rows; &mysql_error_logging; + + $dbhB->disconnect(); + } + +$DROPexten = ''; +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + } + +if ( ($channel_group =~ /AGENTDIRECT/) && (length($agent_only) > 1) && (length($user_unavailable_action) > 1) ) + { + $drop_action = $user_unavailable_action; + $drop_inbound_group = $did_in_group; + $VDADvoicemail_ext = $did_voicemail_ext; + } + +if ($drop_action =~ /MESSAGE|EXTEN/) + { + if ( ($channel_group =~ /AGENTDIRECT/) && (length($agent_only) > 1) && (length($user_unavailable_action) > 1) ) + { + $drop_exten = $did_extension; + $ext_context = $did_exten_context; + } + if (length($drop_exten)>0) + {$DROPexten = "$drop_exten";} + } +if ($drop_action =~ /VOICEMAIL/) + { + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + } +if ($drop_action =~ /IN_GROUP/) + { # 90009*CL_uk3survy_*8301*10000123*universal*7275551212*1234*" + $S='*'; + $DROPexten = "90009*$drop_inbound_group$S$S$insert_lead_id$S$S$phone_number$S$fronter$S"; + } +if ($drop_action =~ /PHONE/) + { + ### Grab phone dialplan number value from the database + $stmtA = "SELECT dialplan_number FROM phones where server_ip='$did_phone_server_ip' and extension='$did_phone';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='02002'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $did_phone_dialplan_number = $aryA[0]; + } + $sthA->finish(); + + ### format the remote server dialstring to get the call to the overflow agent meetme room + $S='*'; + if( $did_phone_server_ip =~ m/(\S+)\.(\S+)\.(\S+)\.(\S+)/ ) + { + $a = leading_zero($1); + $b = leading_zero($2); + $c = leading_zero($3); + $d = leading_zero($4); + $DIDphoneDIALstr = "$a$S$b$S$c$S$d$S"; + } + $DROPexten = "$DIDphoneDIALstr$did_phone_dialplan_number"; + } + +if ($AGILOG) {$agi_string = "-- VDCL DROP: |$drop_action|$DROPexten|"; &agi_output;} + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' and server_ip='$VARserver_ip' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02099'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL vac record deleted: |$affected_rows| $VDADcampaign|"; &agi_output;} + + $stmtA = "UPDATE vicidial_closer_log set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds',queue_seconds='$drop_seconds',term_reason='QUEUETIMEOUT' where lead_id = '$insert_lead_id' order by start_epoch desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02100'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL vcl update: |$affected_rows|$insert_lead_id|\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='XDROP' where lead_id = '$insert_lead_id';"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02101'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL vl update: |$affected_rows|$insert_lead_id|\n|$stmtA|"; &agi_output;} + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + + if ($no_delay_call_route =~ /N/) + { + $AGI->stream_file('ding'); # stop music-on-hold process + sleep(1); + } + + $AGI->stream_file('sip-silence'); + $AGI->stream_file('sip-silence'); + + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='02102'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL call_hungup timeout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } +} + +$dbhA->disconnect(); + +exit; + + + + + + +sub enter_pin_number +{ + +$digits_to_collect =~ s/DIGITID//gi; + +# please enter the pin number followed by the pound key +# please enter your X digit pin number + +$digit=''; +undef $digit; +$interrupt_digit=''; +undef $interrupt_digit; + +$interrupt_digit = $AGI->stream_file('four_digit_id','123456789'); + + if ($AGILOG) {$agi_string = "interrupt_digit |$interrupt_digit|"; &agi_output;} + +$digits_being_entered=1; +$totalDTMF=''; +if ($interrupt_digit > 1) + { + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + + $totalDTMF=$interrupt_digit; + } + +$digit_loop_counter=0; + +while ( ($digit_loop_counter < $digits_to_collect) ) + { + $digit = chr($AGI->wait_for_digit('10000')); # wait 10 seconds for input or until the pound key is pressed + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digit_loop_counter=$digits_to_collect; + } + + $digit_loop_counter++; + } + +$totalDTMF =~ s/\D//gi; +$pin = $totalDTMF; +if ($totalDTMF) {if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;}} +} + + + +sub press_one_to_leave_voicemail +{ + +$digits_to_collect = 1; + +# To be called back when a representative is available, press 1 + +$digit=''; +undef $digit; +$interrupt_digit=''; +undef $interrupt_digit; +$digit_loop_counter=0; + +$interrupt_digit = $AGI->stream_file('to-be-called-back','1'); +if ($interrupt_digit < 2) + {$interrupt_digit = $AGI->stream_file('digits/1','1');} + + if ($AGILOG) {$agi_string = "interrupt_digit |$interrupt_digit|"; &agi_output;} + +$digits_being_entered=1; +$totalDTMF=''; +if ($interrupt_digit > 1) + { + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + + $totalDTMF=$interrupt_digit; + $digit_loop_counter++; + } + + +while ( ($digit_loop_counter < $digits_to_collect) ) + { + $digit = chr($AGI->wait_for_digit('4000')); # wait 4 seconds for input or until the key is pressed + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digit_loop_counter=$digits_to_collect; + } + + $digit_loop_counter++; + } + +$totalDTMF =~ s/\D//gi; +$pin = $totalDTMF; +if ($totalDTMF) {if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;}} +} + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + +sub leading_zero($) +{ + $_ = $_[0]; + s/^(\d)$/0$1/; + s/^(\d\d)$/0$1/; + return $_; +} # End of the leading_zero() routine. + + + +### you're call is very important to us, please stay on the line and you will be transferred to the next available agent + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} + + +sub mysql_error_logging +{ + $errno=''; + $error=''; + if ( ($mel > 0) || ($one_mysql_log > 0) ) + { + $errno = $dbhP->err(); + if ( ($errno > 0) || ($mel > 1) || ($one_mysql_log > 0) ) + { + $error = $dbhP->errstr(); + ### open the log file for writing ### + open(Eout, ">>$ERRLOGfile") + || die "Can't open $ERRLOGfile: $!\n"; + print Eout "$now_date|$script|$mysql_count|$MEL_aff_rows|$errno|$error|$stmtA|$callerid|$insert_lead_id|\n"; + close(Eout); + } + } + $one_mysql_log=0; +} + + +sub trigger_transfer_process +{ +# $DS='--'; +# $BEGIN='BEGIN'; +# +# $CLI = "/usr/bin/date >> $PRSTESTfile &"; +# $CLI = "/root/phone.pl $insert_lead_id$DS$insert_close_id$DS$CLInow_date$DS$VDADuser$DS$phone_number$DS$DS$BEGIN$DS >> $PRSTESTfile &"; +# +# `$CLI`; +# +# if ($AGILOG >=2) +# { +# ### open the log file for writing ### +# open(Pout, ">>$PRSLOGfile") +# || die "Can't open $AGILOGfile: $!\n"; +# print Pout "$now_date|$VDADconf_exten|$VDADuser|$VDADextension|$insert_lead_id|$phone_number|$insert_close_id|$channel_group|$drop_timer|$CLI|\n"; +# close(Pout); +# } +} diff --git a/agc_2-X/branches/agc_2.0.5/agi/agi-VDAD_ALL_outbound.agi b/agc_2-X/branches/agc_2.0.5/agi/agi-VDAD_ALL_outbound.agi new file mode 100644 index 00000000..5e676d75 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/agi-VDAD_ALL_outbound.agi @@ -0,0 +1,1761 @@ +#!/usr/bin/perl +# +# agi-VDAD_ALL_outbound.agi version 2.0.5 +# +# runs when an outbound call is answered. This script will +# send the calls out to the agents that are logged in. +# ## THIS SCRIPT CONSOLIDATES EIGHT SEPARATE VDAD outbound transfer SCRIPTS ## +# +# +# You need to put lines similar to those below in your extensions.conf file: +# ; Below are the parameters needed for the script to be run properly +# ; 1. the method of call handling for the script: +# ; - NORMAL - Standard outbound routing to agent +# ; - TEST - For performance testing only +# ; - BROADCAST - For no-agent broadcast dialing +# ; - SURVEY - For survery question then on to agent +# ; - SURVEYCAMP - For survery question using campaign settings +# ; - REMINDER - Reminder campaign +# ; - REMINDX - Reminder with transfer to agent +# ; 2. the method of searching for an available agent: +# ; - LB - Load Balance total system +# ; - LO - Load Balance Overflow only (priority to home server) +# ; - SO - Home server only +# ; 3. the sound file to play when doing a SURVEY, REMINDER, REMINDX campaign +# ; 4. the acceptible dtmf digits for a SURVEY +# ; 5. the out-opt digit for a SURVEY (must be in the digit map) +# ; 6. the sound file to play for a SURVEY when transfering to an agent +# ; 7. the sound file to play for a SURVEY when DNCing the call +# ; 8. OPTIN or OPTOUT: if OPTIN call is only sent to agent with button press +# ; if OPTOUT call is sent to agent if no button press at all +# ; 9. the status that is use for a SURVEY when someone opts out +# ; if the status is DNC it will also add them to the internal dnc table +# +# ;outbound VICIDIAL calls: +#exten => 8368,1,AGI(agi://127.0.0.1:4577/call_log) +#exten => 8368,2,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +#exten => 8368,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +#exten => 8368,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB) +#exten => 8368,5,Hangup +# +# ;outbound VICIDIAL SURVEY calls: +#exten => 8366,1,AGI(agi://127.0.0.1:4577/call_log) +#exten => 8366,2,AGI(agi-VDAD_ALL_outbound.agi,SURVEY-----LB-----US_pol_survey_hello-----1238-----8-----US_pol_survey_transfer-----US_thanks_no_contact-----OPTOUT-----DNC) +#exten => 8366,3,AGI(agi-VDAD_ALL_outbound.agi,SURVEY-----LB-----US_pol_survey_hello-----1238-----8-----US_pol_survey_transfer-----US_thanks_no_contact-----OPTOUT-----DNC) +#exten => 8366,4,AGI(agi-VDAD_ALL_outbound.agi,SURVEY-----LB-----US_pol_survey_hello-----1238-----8-----US_pol_survey_transfer-----US_thanks_no_contact-----OPTOUT-----DNC) +#exten => 8366,5,Hangup +# +# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# +# changes: +# 80218-2027 - First Build +# 80302-0232 - Added drop_action and transfer to in-group +# 80430-1144 - Added term_reason to vicidial_log, QUEUETIMEOUT +# 80520-0059 - Added SURVEY ability and digit maps +# 80527-2329 - Added SURVEYCAMP ability to pull settings from database +# 80831-0353 - Added logging of alt_dial field +# 80909-0603 - Added campaign-specific dnc option for outbound survey +# 81020-0235 - Fixed Drop hangup bug and other small bugs +# 81104-0255 - Changed code to alter callerIDnumber for remote agents to the number of the caller +# 81105-0424 - Added MySQL error logging +# 90202-0505 - Added CPD AMD detection and routing options +# 90214-0831 - Added CPD Fax detection option +# + +$script = 'agi-VDAD_ALL_outbound.agi'; +$AGILOG = '0'; +$mel=1; # Mysql Error Log enabled = 1 +$mysql_log_count=56; +$one_mysql_log=0; + + +$DROP_TIME = 9; ### default number of seconds to wait until you drop a waiting call +$at='@'; +$US='_'; + + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$CLInow_date = "$year-$mon-$mday\\ $hour:$min:$sec"; +$start_time_epoch = $now_date_epoch; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $filedate = "$US$year-$mon-$mday$US$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +$BDtarget = ($now_date_epoch - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +$FDtarget = ($now_date_epoch + 120); +($Fsec,$Fmin,$Fhour,$Fmday,$Fmon,$Fyear,$Fwday,$Fyday,$Fisdst) = localtime($FDtarget); +$Fyear = ($Fyear + 1900); +$Fmon++; +if ($Fmon < 10) {$Fmon = "0$Fmon";} +if ($Fmday < 10) {$Fmday = "0$Fmday";} +if ($Fhour < 10) {$Fhour = "0$Fhour";} +if ($Fmin < 10) {$Fmin = "0$Fmin";} +if ($Fsec < 10) {$Fsec = "0$Fsec";} + $FDtsSQLdate = "$Fyear$Fmon$Fmday$Fhour$Fmin$Fsec"; + + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} +if (!$PRSLOGfile) {$PRSLOGfile = "$PATHlogs/prsout.$year-$mon-$mday";} +if (!$PRSTESTfile) {$PRSTESTfile = "$PATHlogs/prstest.$year-$mon-$mday";} +if (!$ERRLOGfile) {$ERRLOGfile = "$PATHlogs/MySQLerror.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks,agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01001'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + $DBagi_output = "$aryA[6]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + ### list of command-line array arguments: + @ARGV_vars = split(/-----/, $ARGV[0]); + + $call_handle_method = $ARGV_vars[0]; + $agent_search_method = $ARGV_vars[1]; + $survey_first_audio_file = $ARGV_vars[2]; + $survey_dtmf_digits = $ARGV_vars[3]; + $survey_ni_digit = $ARGV_vars[4]; + $survey_opt_in_audio_file = $ARGV_vars[5]; + $survey_ni_audio_file = $ARGV_vars[6]; + $survey_no_response_action =$ARGV_vars[7]; + $survey_ni_status = $ARGV_vars[8]; +} + +if ($call_handle_method !~ /NORMAL|TEST|BROADCAST|SURVEY|REMIND/) {$call_handle_method='NORMAL';} +if ($agent_search_method !~ /LB|LO|SO/) {$agent_search_method='LB';} + +if ($call_handle_method =~ /BROADCAST|SURVEY|REMIND/) {$vdlog_status='PU';} +else {$vdlog_status='QUEUE';} + +$|=1; +while() +{ + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_priority\:\s+(.*)$/) {$priority = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} +} + +if ( (length($callerid)>20) && ($callerid =~ /\"\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S/) ) + { + $callerid =~ s/^\"//gi; + $callerid =~ s/\".*$//gi; + ### set the callerid to the ACQS value(calleridname) + print "SET CALLERID $callerid\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $callerid"; &agi_output;} + } +if ( ( +(length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) +) or ( (length($calleridname)>17) && ($calleridname =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) ) ) + { + $callerid = $calleridname; + ### set the callerid to the ACQS value(calleridname) + print "SET CALLERID $callerid\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $callerid"; &agi_output;} + } + + +if ($AGILOG) {$agi_string = "AGI Environment Dump:"; &agi_output;} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|$calleridname|$priority|"; &agi_output;} + +$VDADcampaign=''; +$VDADphone=''; +$VDADphone_code=''; + +$callerid =~ s/\"//gi; +$CIDlead_id = $callerid; +$CIDlead_id = substr($CIDlead_id, 11, 9); +$CIDlead_id = ($CIDlead_id + 0); + +if ($AGILOG) {$agi_string = "+++++ VDAD START : |$CIDlead_id|$now_date|$AST_ver|$priority|"; &agi_output;} + +if ( ($channel =~ /Local/i) && ($AST_ver !~ /^1\.0\.8|^1\.0\.9/) ) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +if ($priority > 2) {sleep(1);} +exit; +} + +$stmtA = "SELECT count(*) FROM vicidial_live_agents where callerid='$callerid';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01002'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $Pseudo_duplicate_count = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); +if ($AGILOG) {$agi_string = "$Pseudo_duplicate_count|$stmtA|"; &agi_output;} + +if ($Pseudo_duplicate_count > 0) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START PSEUDO DUPLICATE: EXITING- $priority"; &agi_output;} +exit; +} + +$stmtA = "SELECT count(*) FROM vicidial_auto_calls where callerid='$callerid' and status IN('LIVE','XFER');"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01003'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dialplan_duplicate_count = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); +if ($AGILOG) {$agi_string = "$dialplan_duplicate_count|$stmtA|"; &agi_output;} + +if ($dialplan_duplicate_count > 0) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START DIALPLAN DUPLICATE: EXITING- $priority"; &agi_output;} +exit; +} + + +### Grab call parameters from vicidial_auto_calls table +$stmtA = "UPDATE vicidial_auto_calls set uniqueid='$unique_id', channel='$channel',status='LIVE',stage='LIVE-0' where callerid='$callerid' order by call_time desc limit 1;"; +$affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01004'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; +if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} +if ($affected_rows > 0) + { + # flag the lead as being Answered or Picked up + $stmtA = "UPDATE vicidial_list set status='PU' where lead_id='$CIDlead_id' and status NOT IN('CALLBK');"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01005'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list PU update: |$affected_rows|$uniqueid|"; &agi_output;} + + $stmtA = "SELECT campaign_id,phone_number,phone_code,lead_id,call_time,alt_dial FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01006'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADcampaign = "$aryA[0]"; + $VDADphone = "$aryA[1]"; + $VDADphone_code = "$aryA[2]"; + $VDADlead_id = "$aryA[3]"; + $VDADcall_time = "$aryA[4]"; + $VDADalt_dial = "$aryA[5]"; + $rec_count++; + } + $sthA->finish(); + + ### Grab campaign values from the database + $stmtA = "SELECT drop_call_seconds,drop_action,safe_harbor_exten,concurrent_transfers,next_agent_call,voicemail_ext,drop_inbound_group,use_internal_dnc,use_campaign_dnc,cpd_amd_action,am_message_exten FROM vicidial_campaigns where campaign_id = '$VDADcampaign';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01007'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBdrop_call_seconds = "$aryA[0]"; + $DBdrop_action = "$aryA[1]"; + $DBsafe_harbor_exten = "$aryA[2]"; + $DBconcurrent_transfers = "$aryA[3]"; + if ($DBdrop_call_seconds) {$DROP_TIME = $DBdrop_call_seconds;} + if ($DBdrop_action) {$drop_action = $DBdrop_action;} + if ($DBsafe_harbor_exten) {$safe_harbor_exten = $DBsafe_harbor_exten;} + $CAMP_callorder = "$aryA[4]"; + $VDADvoicemail_ext = "$aryA[5]"; + $drop_inbound_group = "$aryA[6]"; + $use_internal_dnc = "$aryA[7]"; + $use_campaign_dnc = "$aryA[8]"; + $cpd_amd_action = "$aryA[9]"; + $am_message_exten = "$aryA[10]"; + $rec_count++; + } + $sthA->finish(); + + $stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed,alt_dial) values('$uniqueid','$CIDlead_id','$VDADcampaign','$SQLdate','$now_date_epoch','$vdlog_status','$VDADphone_code','$VDADphone','VDAD','N','$VDADalt_dial')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01008'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + + if ($AGILOG) {$agi_string = "-- VDAD : |$VDADlead_id|$CIDlead_id|insert to vicidial_log: $uniqueid"; &agi_output;} + + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmtA = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_eq_prepend FROM system_settings;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01009'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $enable_queuemetrics_logging = "$aryA[0]"; + $queuemetrics_server_ip = "$aryA[1]"; + $queuemetrics_dbname = "$aryA[2]"; + $queuemetrics_login= "$aryA[3]"; + $queuemetrics_pass = "$aryA[4]"; + $queuemetrics_log_id = "$aryA[5]"; + $queuemetrics_eq_prepend = "$aryA[6]"; + $rec_count++; + } + $sthA->finish(); + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $stmtA = "SELECT phone_number FROM vicidial_auto_calls where lead_id='$CIDlead_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01010'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $phone_number = "$aryA[0]"; + $data2 = "$phone_number"; + $rec_count++; + } + $sthA->finish(); + + if ( (length($queuemetrics_eq_prepend) > 0) && ($queuemetrics_eq_prepend !~ /NONE/) ) + { + $stmtA = "SELECT $queuemetrics_eq_prepend FROM vicidial_list where lead_id='$CIDlead_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01011'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $rec_count=0; + while ($sthArows > $rec_count) + { + $DASH='-'; + @aryA = $sthA->fetchrow_array; + $QMprepend = "$aryA[0]"; + $rec_count++; + $data2 = "$QMprepend$DASH$phone_number"; + } + $sthA->finish(); + } + + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$now_date_epoch',call_id='$callerid',queue='$VDADcampaign',agent='NONE',verb='ENTERQUEUE',data2='$data2',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + $dbhP=$dbhB; $stmtA=$stmtB; $mysql_count='01012'; $MEL_aff_rows=$Baffected_rows; &mysql_error_logging; + $dbhB->disconnect(); + } + } + + +################################################################################ +##### PLAY REMINDER MESSAGE ##### +if ($call_handle_method =~ /REMIND/) + { + $AGI->stream_file('sip-silence'); + + ############# BEGIN CPD AMD SECTION ############################ + if ($cpd_amd_action =~ /DISPO|MESSAGE/) + { + $stmtA = "SELECT count(*) FROM vicidial_cpd_log where callerid='$callerid' and result IN('Answering-Machine','Fax') and status='NEW';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01054'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $cpd_amd = "$aryA[0]"; + } + $sthA->finish(); + + if ($cpd_amd > 0) + { + &cpd_end_call; + } + } + ############# END CPD AMD SECTION ############################ + + $stmtA = "UPDATE vicidial_auto_calls set last_update_time='$FDtsSQLdate',stage='REMIND-0' where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01013'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDAC posttime record: |$affected_rows|$FDtsSQLdate|$callerid|REMIND|"; &agi_output;} + + $AGI->stream_file("$survey_first_audio_file"); + } + + + + + +################################################################################ +##### START DO THE SURVEY ##### +if ($call_handle_method =~ /SURVEY/) + { + $AGI->stream_file('sip-silence'); + + ############# BEGIN CPD AMD SECTION ############################ + if ($cpd_amd_action =~ /DISPO|MESSAGE/) + { + $stmtA = "SELECT count(*) FROM vicidial_cpd_log where callerid='$callerid' and result IN('Answering-Machine','Fax') and status='NEW';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01054'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $cpd_amd = "$aryA[0]"; + } + $sthA->finish(); + + if ($cpd_amd > 0) + { + &cpd_end_call; + } + } + ############# END CPD AMD SECTION ############################ + + $stmtA = "UPDATE vicidial_auto_calls set last_update_time='$FDtsSQLdate',stage='SURVEY-0' where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01014'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDAC posttime record: |$affected_rows|$FDtsSQLdate|$callerid|SURVEY|"; &agi_output;} + + ### check to see if the SURVEY settings should be pulled from the campaign settings in the database + if ($call_handle_method =~ /SURVEYCAMP/) + { + $stmtA = "SELECT survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir FROM vicidial_campaigns where campaign_id='$VDADcampaign';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01015'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + + $survey_first_audio_file = "$aryA[0]"; + $survey_dtmf_digits = "$aryA[1]"; + $survey_ni_digit = "$aryA[2]"; + $survey_opt_in_audio_file = "$aryA[3]"; + $survey_ni_audio_file = "$aryA[4]"; + $survey_method = "$aryA[5]"; + $survey_no_response_action = "$aryA[6]"; + $survey_ni_status = "$aryA[7]"; + $survey_response_digit_map = "$aryA[8]"; + $survey_xfer_exten = "$aryA[9]"; + $survey_camp_record_dir = "$aryA[10]"; + + @digit_map = split(/\|/,$survey_response_digit_map); + + $rec_count++; + } + $sthA->finish(); + } + + # play the message and let them press a number + $digits_to_collect = '1'; + $opt_code = enter_pin_number($survey_first_audio_file,$survey_dtmf_digits); + if (length($opt_code) < 1) {$opt_code = 'X';} + $opt_description = $opt_code; + + $w=0; + foreach (@digit_map) + { + if ($digit_map[$w] =~ /^$opt_code/) {$opt_description = $digit_map[$w]} + $w++; + } + + # record what they entered + $stmtA = "UPDATE vicidial_list set security_phrase='$opt_description',status='PM' where lead_id = '$CIDlead_id';"; + if ($AGILOG) { $agi_string = "|$stmtA|"; &agi_output; } + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01016'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) + { + $agi_string = "-- VDAD vicidial_list OPT_CODE update: |$affected_rows|$CIDlead_id|$opt_code|"; + &agi_output; + } + + # they opted out + if ($opt_code =~ /$survey_ni_digit/) + { + if ( $survey_ni_audio_file ne "") + { + $AGI->stream_file($survey_ni_audio_file); + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01017'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) + { + $agi_string = "-- VDAD vac record deleted: |$affected_rows|$VDADcampaign|"; + &agi_output; + } + + $Euniqueid=$uniqueid; + $Euniqueid =~ s/\.\d+//gi; + $now_date_epoch = time(); + $drop_seconds = $now_date_epoch - $start_time_epoch; + $stmtA = "UPDATE vicidial_log FORCE INDEX(lead_id) set status='$survey_ni_status', end_epoch='$now_date_epoch', length_in_sec='$drop_seconds', term_reason='CALLER' where lead_id = '$CIDlead_id' and uniqueid LIKE \"$Euniqueid%\";"; + if ($AGILOG) { $agi_string = "|$stmtA|"; &agi_output; } + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01018'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) + { + $agi_string = "-- VDAD vicidial_log update: $survey_ni_status|$affected_rows|$uniqueid|$drop_seconds|"; + &agi_output; + } + + $stmtA = "UPDATE vicidial_list set status='$survey_ni_status' where lead_id = '$CIDlead_id';"; + if ($AGILOG) { $agi_string = "|$stmtA|"; &agi_output; } + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01019'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) + { + $agi_string = "-- VDAD vicidial_list update: $survey_ni_status|$affected_rows|$CIDlead_id"; + &agi_output; + } + + if (($use_internal_dnc =~ /Y/) && ($survey_ni_status eq "DNC")) + { + $stmtA = "INSERT INTO vicidial_dnc set phone_number='$VDADphone';"; + if ($AGILOG) { $agi_string = "|$stmtA|"; &agi_output; } + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01020'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) + { + $agi_string = "-- VDAD vicidial_dnc insert: $affected_rows|$VDADphone"; + &agi_output; + } + } + if (($use_campaign_dnc =~ /Y/) && ($survey_ni_status eq "DNC")) + { + $stmtA = "INSERT INTO vicidial_campaign_dnc set phone_number='$VDADphone', campaign_id='$VDADcampaign';"; + if ($AGILOG) { $agi_string = "|$stmtA|"; &agi_output; } + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01021'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) + { + $agi_string = "-- VDAD vicidial_campaign_dnc insert: $affected_rows|$VDADphone|$VDADcampaign"; + &agi_output; + } + } + + $AGI->hangup(); + + exit; + } + else + { + # they opted in + if ( ($opt_code =~ /\d/) || ($survey_no_response_action =~ /OPTOUT/) ) + { + $now_date_epoch = time(); + $FDtarget = ($now_date_epoch + 60); + ($Fsec,$Fmin,$Fhour,$Fmday,$Fmon,$Fyear,$Fwday,$Fyday,$Fisdst) = localtime($FDtarget); + $Fyear = ($Fyear + 1900); + $Fmon++; + if ($Fmon < 10) {$Fmon = "0$Fmon";} + if ($Fmday < 10) {$Fmday = "0$Fmday";} + if ($Fhour < 10) {$Fhour = "0$Fhour";} + if ($Fmin < 10) {$Fmin = "0$Fmin";} + if ($Fsec < 10) {$Fsec = "0$Fsec";} + $FDtsSQLdate = "$Fyear$Fmon$Fmday$Fhour$Fmin$Fsec"; + + $stmtA = "UPDATE vicidial_auto_calls set last_update_time='$FDtsSQLdate' where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01022'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDAC posttime record: |$affected_rows|$FDtsSQLdate|$callerid|"; &agi_output;} + + if ( $survey_opt_in_audio_file ne "") + { + $AGI->stream_file($survey_opt_in_audio_file); + } + + if ($survey_method =~ /VOICEMAIL|EXTENSION|HANGUP/) + { + $DROPexten=''; + if ($survey_method =~ /VOICEMAIL/) + { + $survey_status='SVYVM'; + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + } + if ($survey_method =~ /EXTENSION/) + { + $survey_status='SVYEXT'; + if (length($survey_xfer_exten)>0) + {$DROPexten = "$survey_xfer_exten";} + } + if ($survey_method =~ /HANGUP/) + { + $survey_status='SVYHU'; + } + + $Euniqueid=$uniqueid; + $Euniqueid =~ s/\.\d+//gi; + $now_date_epoch = time(); + $drop_seconds = $now_date_epoch - $start_time_epoch; + $stmtA = "UPDATE vicidial_log FORCE INDEX(lead_id) set status='$survey_status', end_epoch='$now_date_epoch', length_in_sec='$drop_seconds', term_reason='CALLER' where lead_id = '$CIDlead_id' and uniqueid LIKE \"$Euniqueid%\";"; + if ($AGILOG) { $agi_string = "|$stmtA|"; &agi_output; } + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01023'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) + { + $agi_string = "-- VDAD vicidial_log update: $survey_status|$affected_rows|$uniqueid|$drop_seconds|"; + &agi_output; + } + + $stmtA = "UPDATE vicidial_list set status='$survey_status' where lead_id = '$CIDlead_id';"; + if ($AGILOG) { $agi_string = "|$stmtA|"; &agi_output; } + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01024'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) + { + $agi_string = "-- VDAD vicidial_list update: $survey_status|$affected_rows|$CIDlead_id"; + &agi_output; + } + + if (length($DROPexten) > 0) + { + $stmtA = "UPDATE vicidial_auto_calls set status='XFER',stage='XFER-0' where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01025'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDAC XFER status: |$affected_rows|$FDtsSQLdate|$callerid|"; &agi_output;} + + if ($AGILOG) {$agi_string = "exiting the VDAD SURVEY app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + exit; + } + + if ($survey_method =~ /HANGUP/) + { + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01026'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) + { + $agi_string = "-- VDAD vac record deleted: |$affected_rows|$VDADcampaign|"; + &agi_output; + } + + $AGI->hangup(); + + exit; + } + } + + if ($survey_method =~ /CAMPREC/) + { + if ($survey_method =~ /60/) + {$timeout=60000;} + if ($survey_method =~ /WAV/) + {$format='WAV';} + if ($survey_method =~ /GSM/) + {$format='GSM';} + + $survey_status='SVYREC'; + + $Euniqueid=$uniqueid; + $Euniqueid =~ s/\.\d+//gi; + $now_date_epoch = time(); + $drop_seconds = $now_date_epoch - $start_time_epoch; + $stmtA = "UPDATE vicidial_log FORCE INDEX(lead_id) set status='$survey_status', end_epoch='$now_date_epoch', length_in_sec='$drop_seconds', term_reason='CALLER' where lead_id = '$CIDlead_id' and uniqueid LIKE \"$Euniqueid%\";"; + if ($AGILOG) { $agi_string = "|$stmtA|"; &agi_output; } + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01027'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) + { + $agi_string = "-- VDAD vicidial_log update: $survey_status|$affected_rows|$uniqueid|$drop_seconds|"; + &agi_output; + } + + $stmtA = "UPDATE vicidial_list set status='$survey_status' where lead_id = '$CIDlead_id';"; + if ($AGILOG) { $agi_string = "|$stmtA|"; &agi_output; } + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01028'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) + { + $agi_string = "-- VDAD vicidial_list update: $survey_status|$affected_rows|$CIDlead_id"; + &agi_output; + } + + if ( -e ('$survey_camp_record_dir/$VDADcampaign')) + {$do_nothing=1;} + else + {`mkdir -p --mode=0666 $survey_camp_record_dir/$VDADcampaign`;} + + $AGI->stream_file('beep'); + + $interrupt_digit = $AGI->record_file("$survey_camp_record_dir/$VDADcampaign/$VDADphone$filedate", "$format", '123456789*#', "$timeout", '0', 1, '10'); + if ($AGILOG) + { + $agi_string = "RECORDING FINISHED: $interrupt_digit|$survey_camp_record_dir/$VDADcampaign/$VDADphone$filedate|"; + &agi_output; + } + + $now_date_epoch = time(); + $drop_seconds = $now_date_epoch - $start_time_epoch; + $stmtA = "UPDATE vicidial_log FORCE INDEX(lead_id) set status='$survey_status', end_epoch='$now_date_epoch', length_in_sec='$drop_seconds', term_reason='CALLER' where lead_id = '$CIDlead_id' and uniqueid LIKE \"$Euniqueid%\";"; + if ($AGILOG) { $agi_string = "|$stmtA|"; &agi_output; } + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01029'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) + { + $agi_string = "-- VDAD vicidial_log update: $survey_status|$affected_rows|$uniqueid|$drop_seconds|"; + &agi_output; + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01030'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) + { + $agi_string = "-- VDAD vac record deleted: |$affected_rows|$VDADcampaign|"; + &agi_output; + } + + $AGI->hangup(); + + exit; + } + } + else + { + $Euniqueid=$uniqueid; + $Euniqueid =~ s/\.\d+//gi; + $now_date_epoch = time(); + $drop_seconds = $now_date_epoch - $start_time_epoch; + $stmtA = "UPDATE vicidial_log FORCE INDEX(lead_id) set status='PM', end_epoch='$now_date_epoch', length_in_sec='$drop_seconds', term_reason='CALLER' where lead_id = '$CIDlead_id' and uniqueid LIKE \"$Euniqueid%\";"; + if ($AGILOG) { $agi_string = "|$stmtA|"; &agi_output; } + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01031'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) + { + $agi_string = "-- VDAD vicidial_log update: PM|$affected_rows|$uniqueid|$drop_seconds|"; + &agi_output; + } + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01032'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) + { + $agi_string = "-- VDAD vac record deleted: |$affected_rows|$VDADcampaign|"; + &agi_output; + } + + $AGI->hangup(); + + exit; + } + } + } +################################################################################ +##### END DO THE SURVEY ##### + + + + + +$drop_timer=0; +$drop_seconds=0; +$hold_message_counter=25; +$hold_tone_counter=0; + +while ($drop_timer <= $DROP_TIME) +{ +$channel_status = $AGI->channel_status("$channel"); +if ($channel_status < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer CHECKING AGAIN"; &agi_output;} + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $channel_status_DC = $AGI->channel_status("$channel"); + + if ($channel_status_DC < 1) + { + if ($AGILOG) {$agi_string = "CHANNEL $channel DOWN $channel_status $DROP_TIME|$drop_timer"; &agi_output;} + if ($drop_timer < $DROP_TIME) {$drop_seconds = $drop_timer;} + $drop_timer = ($drop_timer + $DROP_TIME); + } + } + + ############# BEGIN CPD AMD SECTION ############################ + if ($cpd_amd_action =~ /DISPO|MESSAGE/) + { + $stmtA = "SELECT count(*) FROM vicidial_cpd_log where callerid='$callerid' and result IN('Answering-Machine','Fax') and status='NEW';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01054'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $cpd_amd = "$aryA[0]"; + } + $sthA->finish(); + + if ($cpd_amd > 0) + { + &cpd_end_call; + } + } + ############# END CPD AMD SECTION ############################ + + +$rec_countCUSTDATA=0; +$rec_countWAIT=0; +$cbc=0; +$aco_sub=0; +$agent_call_order='order by last_call_finish'; +if ($CAMP_callorder =~ /overall_user_level/i) {$agent_call_order = 'order by user_level desc,last_call_finish';} +if ($CAMP_callorder =~ /oldest_call_start/i) {$agent_call_order = 'order by last_call_time';} +if ($CAMP_callorder =~ /oldest_call_finish/i) {$agent_call_order = 'order by last_call_finish';} +if ($CAMP_callorder =~ /random/i) {$agent_call_order = 'order by random_id';} +if ($CAMP_callorder =~ /campaign_rank/i) {$agent_call_order = 'order by campaign_weight desc,last_call_finish';} +if ($CAMP_callorder =~ /fewest_calls/i) {$aco_sub=1; $agent_call_order = 'order by calls_today';} + + +##### Attempt to send call to an agent on this server only ##### +if ($agent_search_method =~ /^SO|^LO/) +{ + $rec_countWAIT=0; + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and server_ip='$VARserver_ip' and campaign_id = '$VDADcampaign' and call_time < \"$VDADcall_time\" and lead_id != '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01033'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAIT = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + if ($DBconcurrent_transfers =~ /AUTO/) + { + $active_agents=1; + $stmtA = "SELECT count(*) FROM vicidial_live_agents where server_ip='$VARserver_ip' and campaign_id = '$VDADcampaign' and last_update_time > '$BDtsSQLdate';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01034'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $active_agents = "$aryA[0]"; + $rec_count++; + } + + $concurrent_transfers = ($active_agents / 10); + $concurrent_transfers = sprintf("%.0f", $concurrent_transfers); + $concurrent_transfers++; + if ($AGILOG) {$agi_string = "|CONCURRENT TRANSFERS AUTO SETTING: $concurrent_transfers ($active_agents)|"; &agi_output;} + } + else {$concurrent_transfers = $DBconcurrent_transfers;} + $sthA->finish(); + if ($rec_countWAIT < $concurrent_transfers) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$CIDlead_id',uniqueid='$unique_id', channel='$channel', call_server_ip='$VARserver_ip', callerid='$callerid',comments='AUTO' where status = 'READY' and lead_id<1 and server_ip='$VARserver_ip' and campaign_id='$VDADcampaign' and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01035'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|update of vla table: $VDADcampaign|$VARserver_ip\n|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $r=0; + $VDADuser=''; + while ( (length($VDADuser)<1) && ($r<3) ) + { + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where status IN('QUEUE','INCALL') and server_ip='$VARserver_ip' and campaign_id='$VDADcampaign' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01036'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $rec_count++; + } + $sthA->finish(); + $r++; + if ($r > 1) + { + if ($AGILOG) {$agi_string = "EEEEEEEEEE vla UPDATE DELAY!!! |$callerid|$r|"; &agi_output;} + + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } + if ($r > 2) + { + $stmtA = "SELECT conf_exten,user,extension FROM vicidial_live_agents where callerid='$callerid' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01037'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $rec_count++; + } + $sthA->finish(); + + if ($AGILOG) {$agi_string = "FFFFFFFFFF vla OR SELECT |$callerid|$VDADuser|"; &agi_output;} + } + } + + if ($VDADextension =~ /^R\//) + { + ### set the callerid to the ACQS value(calleridname) + ## use these two lines for Asterisk 1.2 tree + $newcallerid = "\"$calleridname <$VDADphone>\""; + $AGI->set_callerid($newcallerid); + ## use these two lines for Asterisk 1.0 tree + # print "SET CALLERID \"$calleridname\" <0000000000>\n"; + # print "SET CALLERIDNAME \"$calleridname\"\n"; + + print STDERR "Setting CID \"$newcallerid\"\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: \"$calleridname\" \<$VDADphone\>"; &agi_output;} + } + + $stmtA = "UPDATE vicidial_auto_calls set status='XFER', stage='XFER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01038'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDAD XFER : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + + $dbhA->disconnect(); + + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$now_date_epoch',call_id='$callerid',queue='$VDADcampaign',agent='Agent/$VDADuser',verb='CONNECT',data1='$drop_timer',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + $dbhP=$dbhB; $stmtA=$stmtB; $mysql_count='01039'; $MEL_aff_rows=$Baffected_rows; &mysql_error_logging; + + $dbhB->disconnect(); + } + + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $VDADconf_exten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADconf_exten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXXXXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNNNNNNN No agent record found!!!"; &agi_output;} + } + } + else + { + if ($AGILOG) {$agi_string = "WWWWWWWW VDAD XFER WAIT: |$rec_countWAIT|$VDADcampaign|$channel|$callerid|$uniqueid|"; &agi_output;} + } +} + +if ($agent_search_method =~ /^LO|^LB/) +{ +################################################################################################### +##### Attempt to send call to an agent on any server ##### + $cbc=0; + $rec_countWAITrem=0; +$stmtA = "SELECT count(*) FROM vicidial_auto_calls where status = 'LIVE' and campaign_id = '$VDADcampaign' and call_time < \"$VDADcall_time\" and lead_id != '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01040'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $rec_countWAITrem = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); +if ($DBconcurrent_transfers =~ /AUTO/) + { + $active_agents=1; + $stmtA = "SELECT count(*) FROM vicidial_live_agents where campaign_id = '$VDADcampaign' and last_update_time > '$BDtsSQLdate';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01041'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $active_agents = "$aryA[0]"; + $rec_count++; + } + + $concurrent_transfers = ($active_agents / 10); + $concurrent_transfers = sprintf("%.0f", $concurrent_transfers); + $concurrent_transfers++; + if ($AGILOG) {$agi_string = "|CONCURRENT TRANSFERS AUTO SETTING: $concurrent_transfers ($active_agents)|"; &agi_output;} + } +else {$concurrent_transfers = $DBconcurrent_transfers;} +$sthA->finish(); +if ($rec_countWAITrem < $concurrent_transfers) + { + $stmtA = "UPDATE vicidial_live_agents set status='QUEUE',lead_id='$CIDlead_id',uniqueid='$unique_id', channel='$channel', call_server_ip='$VARserver_ip', callerid='$callerid',comments='AUTO' where status = 'READY' and lead_id<1 and campaign_id='$VDADcampaign' and last_update_time > '$BDtsSQLdate' $agent_call_order limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01042'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + + if ($AGILOG) {$agi_string = "-- VDAD get agent: |$affected_rows|update of vla table: $VDADcampaign|$VARserver_ip\n|$stmtA|"; &agi_output;} + if ($affected_rows > 0) + { + $r=0; + $VDADuser=''; + while ( (length($VDADuser)<1) && ($r<3) ) + { + $stmtA = "SELECT conf_exten,user,extension,server_ip FROM vicidial_live_agents where status IN('QUEUE','INCALL') and campaign_id='$VDADcampaign' and callerid='$callerid' and channel='$channel' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01043'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $VDADserver_ip = "$aryA[3]"; + $rec_count++; + } + $sthA->finish(); + $r++; + if ($r > 1) + { + if ($AGILOG) {$agi_string = "EEEEEEEEEE vla UPDATE DELAY!!! |$callerid|$r|"; &agi_output;} + + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } + if ($r > 2) + { + $stmtA = "SELECT conf_exten,user,extension,server_ip FROM vicidial_live_agents where callerid='$callerid' order by last_call_time limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01044'; $MEL_aff_rows=$sthArows; &mysql_error_logging; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADconf_exten = "$aryA[0]"; + $VDADuser = "$aryA[1]"; + $VDADextension = "$aryA[2]"; + $VDADserver_ip = "$aryA[3]"; + $rec_count++; + } + $sthA->finish(); + + if ($AGILOG) {$agi_string = "FFFFFFFFFF vla OR SELECT |$callerid|$VDADuser|"; &agi_output;} + } + } + + $stmtA = "UPDATE vicidial_auto_calls set status='XFER', stage='XFER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01045'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDAD XFER REMOTE: |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + + if ($VDADextension =~ /^R\//) + { + ### set the callerid to the ACQS value(calleridname) + ## use these two lines for Asterisk 1.2 tree + $newcallerid = "\"$calleridname <$VDADphone>\""; + $AGI->set_callerid($newcallerid); + ## use these two lines for Asterisk 1.0 tree + # print "SET CALLERID \"$calleridname\" <0000000000>\n"; + # print "SET CALLERIDNAME \"$calleridname\"\n"; + + print STDERR "Setting CID \"$newcallerid\"\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: \"$calleridname\" \<$VDADphone\>"; &agi_output;} + } + + $dbhA->disconnect(); + + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$now_date_epoch',call_id='$callerid',queue='$VDADcampaign',agent='Agent/$VDADuser',verb='CONNECT',data1='$drop_timer',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + $dbhP=$dbhB; $stmtA=$stmtB; $mysql_count='01046'; $MEL_aff_rows=$Baffected_rows; &mysql_error_logging; + + $dbhB->disconnect(); + } + + ### format the remote server dialstring to get the call to the overflow agent meetme room + $S='*'; + if( $VDADserver_ip =~ m/(\S+)\.(\S+)\.(\S+)\.(\S+)/ ) + { + $a = leading_zero($1); + $b = leading_zero($2); + $c = leading_zero($3); + $d = leading_zero($4); + $VDADremDIALstr = "$a$S$b$S$c$S$d$S"; + } + $VDADremDIALstr .= "$VDADconf_exten"; + + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $VDADremDIALstr"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $VDADremDIALstr\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXXXXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + exit; + } + else + { + if ($AGILOG) {$agi_string = "NNNNNNNNNN No agent record found!!!"; &agi_output;} + } + } +else + { + if ($AGILOG) {$agi_string = "WWWWWWWW VDAD XFER BALANCE WAIT: |$rec_countWAIT|$VDADcampaign|$channel|$callerid|$uniqueid|"; &agi_output;} + } + +} + +if ($drop_timer < 3) + { + ### sleep for 23 hundredths of a second + usleep(1*230*1000); + $drop_timer = ($drop_timer + 0.25); + } +else + { + ### sleep for 99 hundredths of a second + usleep(1*990*1000); + + $drop_timer++; + } + +$stmtA = "UPDATE vicidial_auto_calls set stage='LIVE-$drop_timer' where callerid='$callerid';"; +$affected_rows = $dbhA->do($stmtA); +if ($affected_rows < 1) + { + $stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,uniqueid,callerid,channel,phone_code,phone_number,call_time,call_type,stage) values('$VARserver_ip','$channel_group','CLOSER','$CIDlead_id','$uniqueid','$callerid','$channel','$phone_code','$phone_number','$SQLdate','IN','CLOSER-$drop_timer')"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01047'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "$affected_rows|VDAC-reinsert|$stmtA|"; &agi_output;} + } +#if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + +} + + + + + + + + + + + + + +if ($drop_timer > $DROP_TIME) +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + +if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$now_date_epoch',call_id='$callerid',queue='$VDADcampaign',agent='NONE',verb='EXITWITHTIMEOUT',data1='1',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + $dbhP=$dbhB; $stmtA=$stmtB; $mysql_count='01048'; $MEL_aff_rows=$Baffected_rows; &mysql_error_logging; + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$now_date_epoch',call_id='$callerid',queue='$VDADcampaign',agent='NONE',verb='CALLSTATUS',data1='DROP',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + $dbhP=$dbhB; $stmtA=$stmtB; $mysql_count='01049'; $MEL_aff_rows=$Baffected_rows; &mysql_error_logging; + + $dbhB->disconnect(); + } + +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + } + +if ($drop_action =~ /MESSAGE/) + { + if (length($safe_harbor_exten)>0) + {$DROPexten = "$safe_harbor_exten";} + } +if ($drop_action =~ /VOICEMAIL/) + { + if (length($VDADvoicemail_ext)>0) + {$DROPexten = "$voicemail_dump_exten$VDADvoicemail_ext";} + } +if ($drop_action =~ /IN_GROUP/) + { # 90009*CL_uk3survy_*8301*10000123*universal*7275551212*1234*" + $S='*'; + $DROPexten = "90009*$drop_inbound_group$S$S$CIDlead_id$S$S$VDADphone$S$fronter$S"; + } + + + $Euniqueid=$uniqueid; + $Euniqueid =~ s/\.\d+//gi; + $stmtA = "UPDATE vicidial_log FORCE INDEX(lead_id) set status='DROP',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds',term_reason='QUEUETIMEOUT' where lead_id = '$CIDlead_id' and uniqueid LIKE \"$Euniqueid%\";"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01050'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDAD vicidial_log update: |$affected_rows|$uniqueid"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='DROP' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01051'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$CIDlead_id"; &agi_output;} + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01052'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDAD vac record deleted: |$affected_rows|$VDADcampaign|"; &agi_output;} + + + ### use STDOUT to send call to proper DROP location + $VHqueryCID = "VH$CIDdate$VDADconf_exten"; + + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + + $AGI->stream_file('ding'); # stop music-on-hold process + + sleep(1); + + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01053'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL call_hungup timout: |$CIDlead_id|$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + + $AGI->hangup(); + } + +} + + + + $dbhA->disconnect(); + +exit; + +sub enter_pin_number +{ + +$sound = $_[0]; +$survey_dtmf_digits = $_[1]; + +$digits_to_collect =~ s/DIGITID//gi; + +# please enter the pin number followed by the pound key +# please enter your X digit pin number + +$digit=''; +undef $digit; +$interrupt_digit=''; +undef $interrupt_digit; + +$interrupt_digit = $AGI->stream_file("$sound","$survey_dtmf_digits"); + + if ($AGILOG) {$agi_string = "interrupt_digit |$interrupt_digit|"; &agi_output;} + +$digits_being_entered=1; +$totalDTMF=''; +if ($interrupt_digit > 1) + { + + $interrupt_digit = $interrupt_digit - 48; + + $totalDTMF=$interrupt_digit; + } + +$digit_loop_counter = length($totalDTMF); + +while ( ($digit_loop_counter < $digits_to_collect) ) + { + $digit = chr($AGI->wait_for_digit('10000')); # wait 10 seconds for input or until the pound key is pressed + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digit_loop_counter=$digits_to_collect; + } + + $digit_loop_counter++; + } + +$totalDTMF =~ s/\D//gi; +$pin = $totalDTMF; +if ($totalDTMF) {if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;}} + +return $pin; +} + + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + +sub leading_zero($) +{ + $_ = $_[0]; + s/^(\d)$/0$1/; + s/^(\d\d)$/0$1/; + return $_; +} # End of the leading_zero() routine. + + + +### you're call is very important to us, please stay on the line and you will be transferred to the next available agent + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} + + +sub mysql_error_logging +{ + $errno=''; + $error=''; + if ( ($mel > 0) || ($one_mysql_log > 0) ) + { + $errno = $dbhP->err(); + if ( ($errno > 0) || ($mel > 1) || ($one_mysql_log > 0) ) + { + $error = $dbhP->errstr(); + ### open the log file for writing ### + open(Eout, ">>$ERRLOGfile") + || die "Can't open $ERRLOGfile: $!\n"; + print Eout "$now_date|$script|$mysql_count|$MEL_aff_rows|$errno|$error|$stmtA|$callerid|$CIDlead_id|\n"; + close(Eout); + } + } + $one_mysql_log=0; +} + + + +##### CPD call progress AMD end call process ##### +sub cpd_end_call +{ +$stmtA = "SELECT result FROM vicidial_cpd_log where callerid='$callerid';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $dbhP=$dbhA; $mysql_count='01056'; $MEL_aff_rows=$sthArows; &mysql_error_logging; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $cpd_result = "$aryA[0]"; + } +$sthA->finish(); +if ($cpd_result =~ /Fax/i) + {$vdad_result='AFAX';} +else + {$vdad_result='AA';} + +if ($AGILOG) {$agi_string = "CALL CPD AMD Detected $channel $callerid|$drop_timer|$cpd_result"; &agi_output;} + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + +if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$now_date_epoch',call_id='$callerid',queue='$VDADcampaign',agent='NONE',verb='EXITWITHTIMEOUT',data1='1',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + $dbhP=$dbhB; $stmtA=$stmtB; $mysql_count='01048'; $MEL_aff_rows=$Baffected_rows; &mysql_error_logging; + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$now_date_epoch',call_id='$callerid',queue='$VDADcampaign',agent='NONE',verb='CALLSTATUS',data1='$vdad_result',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + $dbhP=$dbhB; $stmtA=$stmtB; $mysql_count='01049'; $MEL_aff_rows=$Baffected_rows; &mysql_error_logging; + + $dbhB->disconnect(); + } + +if ($drop_seconds < 1) + { + $drop_seconds = $DROP_TIME; + } + +if ( ($cpd_amd_action =~ /MESSAGE/) && ($cpd_result !~ /Fax/i) ) + { + if (length($am_message_exten)>0) + {$DROPexten = "$am_message_exten";} + } + + $Euniqueid=$uniqueid; + $Euniqueid =~ s/\.\d+//gi; +$stmtA = "UPDATE vicidial_log FORCE INDEX(lead_id) set status='$vdad_result',end_epoch='$now_date_epoch',length_in_sec='$drop_seconds',term_reason='AGENT' where lead_id = '$CIDlead_id' and uniqueid LIKE \"$Euniqueid%\";"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01050'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; +if ($AGILOG) {$agi_string = "-- VDAD CPD vicidial_log update: |$affected_rows|$uniqueid"; &agi_output;} + +$stmtA = "UPDATE vicidial_list set status='$vdad_result' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01051'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; +if ($AGILOG) {$agi_string = "-- VDAD CPD vicidial_list update: |$affected_rows|$CIDlead_id"; &agi_output;} + +$stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; +$affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01052'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; +if ($AGILOG) {$agi_string = "-- VDAD CPD vac record deleted: |$affected_rows|$VDADcampaign|"; &agi_output;} + +$stmtA = "UPDATE vicidial_cpd_log SET status='PROCESSED',cpd_seconds='$drop_timer' where callerid='$callerid' and result IN('Answering-Machine','Fax') and status='NEW';"; +$affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01055'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + + +### use STDOUT to send call to proper DROP location +$VHqueryCID = "VH$CIDdate$VDADconf_exten"; + +if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + + $AGI->stream_file('ding'); # stop music-on-hold process + + sleep(1); + + if ($AGILOG) {$agi_string = "exiting the VDAD app, CPD transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + exit; + } +else + { + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + $dbhP=$dbhA; $mysql_count='01053'; $MEL_aff_rows=$affected_rows; &mysql_error_logging; + if ($AGILOG) {$agi_string = "-- VDCL call_hungup CPD timout: |$CIDlead_id|$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + + $AGI->hangup(); + + exit; + } + +} + + +sub trigger_transfer_process +{ +# $DS='--'; +# $BEGIN='BEGIN'; +# +# $CLI = "/usr/bin/date >> $PRSTESTfile &"; +# $CLI = "/root/phone.pl $insert_lead_id$DS$insert_close_id$DS$CLInow_date$DS$VDADuser$DS$phone_number$DS$DS$BEGIN$DS >> $PRSTESTfile &"; +# +# `$CLI`; +# +# if ($AGILOG >=2) +# { +# ### open the log file for writing ### +# open(Pout, ">>$PRSLOGfile") +# || die "Can't open $AGILOGfile: $!\n"; +# print Pout "$now_date|$VDADconf_exten|$VDADuser|$VDADextension|$insert_lead_id|$phone_number|$insert_close_id|$channel_group|$drop_timer|$CLI|\n"; +# close(Pout); +# } +} diff --git a/agc_2-X/branches/agc_2.0.5/agi/agi-VDAD_inbound_calltime_check.agi b/agc_2-X/branches/agc_2.0.5/agi/agi-VDAD_inbound_calltime_check.agi new file mode 100644 index 00000000..2200a160 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/agi-VDAD_inbound_calltime_check.agi @@ -0,0 +1,480 @@ +#!/usr/bin/perl +# +# agi-VDAD_inbound_calltime_check.agi version 2.0.5 +# +# runs when a call comes in from an inbound call. This script will check the +# settings of the defined calltime scheme in VICIDIAL and either send the call +# to the after-hours method for the defined IN-GROUP or exit to let the call +# continue +# +# You need to put lines similar to those below in your extensions.conf file: +# ; Below are the parameters needed for the script to be run properly +# ; 1. the in-group to take settings from +# ; 2. whether to log the call into the vicidial_auto_calls table: +# ; - YES - insert the call as status IVR +# ; - NO - do not insert call into vac table +# ; 3. note to put in the comment_b field when record inserted into the +# ; live_inbound_log table, no spaces in this field, use underscore '_' +# ; default if not populated is NONE +# ; +# ;inbound calls check calltime: +#exten => 1234,1,Answer ; Answer the line +#exten => 1234,2,AGI(agi-VDAD_inbound_calltime_check.agi,INBOUND-----YES-----START) +#exten => 1234,3,Hangup +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# changes: +# 80525-0144 - First Build +# 81015-0305 - Added drop logging +# 81015-2009 - Added more logging and NOTE option +# 81017-0238 - Fixed duplication bug for vac in multi-entry dialplans +# + +$script = 'agi-VDAD_inbound_calltime_check.agi'; + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$hm = "$hour$min"; +$hm = ($hm + 0); + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$CLInow_date = "$year-$mon-$mday\\ $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +$BDtarget = ($now_date_epoch + 600); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $last_update_time = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} +if (!$PRSLOGfile) {$PRSLOGfile = "$PATHlogs/prsout.$year-$mon-$mday";} +if (!$PRSTESTfile) {$PRSTESTfile = "$PATHlogs/prstest.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + ### list of command-line array arguments: + @ARGV_vars = split(/-----/, $ARGV[0]); + + $channel_group = $ARGV_vars[0]; + $log_to_vac = $ARGV_vars[1]; + $note = $ARGV_vars[2]; + if (length($note)<1) {$note = 'NONE';} +} + +$|=1; +while() +{ + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_context\:\s+(.*)$/) {$context = $1;} + if (/^agi_priority\:\s+(.*)$/) {$priority = $1;} + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} +} + + +if ( ($callerid =~ /\".*\"/) && ( (!$calleridname) or ($calleridname =~ /unknown/) ) ) + { + $calleridname = $callerid; + $calleridname =~ s/\<\d\d\d\d\d\d\d\d\d\d\>//gi; + $calleridname =~ s/\"|\" //gi; + } + + $callerid =~ s/\D//gi; + $calleridname =~ s/unknown//gi; +if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + + +if (length($callerid)>0) {$phone_number = $callerid;} + else {$phone_number = '';} +if (length($calleridname)>0) {$VLcomments = $calleridname;} + else {$VLcomments = '';} +if (length($callerid)<8) {$callerid = $parked_by;} +if (length($pin)>0) {$callerid = $pin;} + + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + +if (length($pin) < 1) {$pin=$inbound_number;} + +$fronter = $pin; + +if ($AGILOG) {$agi_string = "+++++ INBOUND CALL VDCL STARTED : |$channel_group|$callerid-$pin|$now_date"; &agi_output;} + +$VDADphone=''; +$VDADphone_code=''; + +if ($channel =~ /Local/i) +{ + if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} + exit; +} + +### Grab Server values from the database +$cbc=0; +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + $cbc++; + } +$sthA->finish(); + +### Grab inbound groups values from the database +$cbc=0; +$stmtA = "SELECT call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,drop_call_seconds,drop_action,drop_exten,next_agent_call,voicemail_ext,queue_priority,drop_inbound_group,afterhours_xfer_group FROM vicidial_inbound_groups where group_id = '$channel_group';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + + $call_time_id = "$aryA[0]"; + $after_hours_action = "$aryA[1]"; + $after_hours_message_filename = "$aryA[2]"; + $after_hours_exten = "$aryA[3]"; + $after_hours_voicemail = "$aryA[4]"; + $welcome_message_filename = "$aryA[5]"; + $moh_context = "$aryA[6]"; + $onhold_prompt_filename = "$aryA[7]"; + $prompt_interval = "$aryA[8]"; + $agent_alert_exten = "$aryA[9]"; + $agent_alert_delay = "$aryA[10]"; + $drop_call_seconds = "$aryA[11]"; + $DROP_TIME = $drop_call_seconds; + $drop_action = "$aryA[12]"; + $drop_exten = "$aryA[13]"; + $CAMP_callorder = "$aryA[14]"; + $VDADvoicemail_ext = "$aryA[15]"; + $VDADvoicemail_ext =~ s/\D//gi; + $queue_priority = "$aryA[16]"; + $drop_inbound_group = "$aryA[17]"; + $afterhours_xfer_group = "$aryA[18]"; + $cbc++; + } +$sthA->finish(); + +if ($wday==0) {$daySQL=',ct_sunday_start,ct_sunday_stop';} +if ($wday==1) {$daySQL=',ct_monday_start,ct_monday_stop';} +if ($wday==2) {$daySQL=',ct_tuesday_start,ct_tuesday_stop';} +if ($wday==3) {$daySQL=',ct_wednesday_start,ct_wednesday_stop';} +if ($wday==4) {$daySQL=',ct_thursday_start,ct_thursday_stop';} +if ($wday==5) {$daySQL=',ct_friday_start,ct_friday_stop';} +if ($wday==6) {$daySQL=',ct_saturday_start,ct_saturday_stop';} + +### Grab call_times values from the database +$stmtA = "SELECT ct_default_start,ct_default_stop $daySQL FROM vicidial_call_times where call_time_id = '$call_time_id';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +@aryA = $sthA->fetchrow_array; +$ct_default_start = "$aryA[0]"; +$ct_default_stop = "$aryA[1]"; +$ct_day_start = "$aryA[2]"; +$ct_day_stop = "$aryA[3]"; +$sthA->finish(); + +if ( ($ct_day_start > 0) || ($ct_day_stop > 0) ) + { + $ct_default_start = $ct_day_start; + $ct_default_stop = $ct_day_stop; + } + +$AGI->stream_file('sip-silence'); +$AGI->stream_file('sip-silence'); + + + + +##### BEGIN AFTER HOURS CHECK ##### +if ( ($hm < $ct_default_start) || ($hm > $ct_default_stop) ) + { + $VHqueryCID = "VA$CIDdate$hour$min$sec$sec"; + + if ($after_hours_action =~ /EXTENSION|VOICEMAIL|IN_GROUP/) + { + if ($after_hours_action =~ /EXTENSION/) + { + $DROPexten = "$after_hours_exten"; + } + if ($after_hours_action =~ /VOICEMAIL/) + { + $DROPexten = "$voicemail_dump_exten$after_hours_voicemail"; + } + if ($after_hours_action =~ /IN_GROUP/) + { # 90009*CL_uk3survy_*8301*10000123*universal*7275551212*1234*" + $S='*'; + $DROPexten = "90009*$afterhours_xfer_group$S$S$insert_lead_id$S$S$phone_number$S$fronter$S"; + } + if (length($DROPexten)>0) + { ### if DROP extension is defined then send the dropped call there instead of hangup + + $AGI->stream_file('sip-silence'); # stop music-on-hold process + $AGI->stream_file('sip-silence'); # stop music-on-hold process + + sleep(1); + + if ($AGILOG) {$agi_string = "exiting the VDAD app after hours, transferring call to $DROPexten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $DROPexten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + } + } + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' and uniqueid='$uniqueid' and server_ip='$VARserver_ip' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vac record deleted: |$affected_rows| $uniqueid|$callerid|"; &agi_output;} + + $stmtA = "INSERT INTO live_inbound_log (uniqueid,channel,server_ip,caller_id,extension,phone_ext,start_time,comment_a,comment_b,comment_c,comment_d,comment_e) values('$uniqueid','$channel','$VARserver_ip','$callerid','$extension','$phone_number','$SQLdate','$channel_group','$note','AFTERHOURSDROP','$context','$priority')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rowsL = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- LIL : |$affected_rowsL|$uniqueid|$callerid|$extension|"; &agi_output;} + + if ($after_hours_action =~ /HANGUP/) + { + ### insert a NEW record to the vicidial_manager table to hangup the channel + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL call_hungup after hours: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + if ($after_hours_action =~ /MESSAGE/) + { + $AGI->stream_file('sip-silence'); + $AGI->stream_file('sip-silence'); + $AGI->stream_file("$after_hours_message_filename"); + sleep(1); + + ### insert a NEW record to the vicidial_manager table to hangup the channel + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL call_hungup after hours: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + } + + $dbhA->disconnect(); + + exit; + + } +##### END AFTER HOURS CHECK ##### + + + +### insert an IVR record to the vicidial_auto_calls table +if ($log_to_vac == 'YES') + { + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' and uniqueid='$uniqueid' and server_ip='$VARserver_ip';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL vac record deleted: |$affected_rows| $uniqueid|$callerid|"; &agi_output;} + + $stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,lead_id,status,uniqueid,callerid,channel,phone_code,phone_number,call_time,call_type,stage,queue_priority,last_update_time) values('$VARserver_ip','$channel_group','0','IVR','$uniqueid','$callerid','$channel','$phone_code','$phone_number','$SQLdate','IN','IVR-0','$queue_priority','$last_update_time')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rowsV = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VAC : |$affected_rowsV|$uniqueid|$callerid|$extension|"; &agi_output;} + } + +$stmtA = "INSERT INTO live_inbound_log (uniqueid,channel,server_ip,caller_id,extension,phone_ext,start_time,comment_a,comment_b,comment_d,comment_e) values('$uniqueid','$channel','$VARserver_ip','$callerid','$extension','$phone_number','$SQLdate','$channel_group','$note','$context','$priority')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rowsL = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- LIL : |$affected_rowsL|$uniqueid|$callerid|$extension|"; &agi_output;} + + +$dbhA->disconnect(); + +exit; + + + + + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} + + +sub trigger_transfer_process +{ +# $DS='--'; +# $BEGIN='BEGIN'; +# +# $CLI = "/usr/bin/date >> $PRSTESTfile &"; +# $CLI = "/root/phone.pl $insert_lead_id$DS$insert_close_id$DS$CLInow_date$DS$VDADuser$DS$phone_number$DS$DS$BEGIN$DS >> $PRSTESTfile &"; +# +# `$CLI`; +# +# if ($AGILOG >=2) +# { +# ### open the log file for writing ### +# open(Pout, ">>$PRSLOGfile") +# || die "Can't open $AGILOGfile: $!\n"; +# print Pout "$now_date|$VDADconf_exten|$VDADuser|$VDADextension|$insert_lead_id|$phone_number|$insert_close_id|$channel_group|$drop_timer|$CLI|\n"; +# close(Pout); +# } +} diff --git a/agc_2-X/branches/agc_2.0.5/agi/agi-VDAD_pin_IVR.agi b/agc_2-X/branches/agc_2.0.5/agi/agi-VDAD_pin_IVR.agi new file mode 100644 index 00000000..4310ceb4 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/agi-VDAD_pin_IVR.agi @@ -0,0 +1,240 @@ +#!/usr/bin/perl +# +# agi-VDAD_pin_IVR.agi version 2.0.5 *DBI-version* +# +# At the end of a call, the agent transfers customer to this script +# +# This script plays a beep then plays the first portion of the message +# then logs the portion as listened to in the vicidial_list_pins table +# then plays second portion and hangs up. +# +# IN THE CAMPAIGN OR IN-GROUP NUMBER PRESET FIELD: +# AXFER83209 +# +# ON THE SERVER ORIGINATING THE CALL: +#;outbound IVR play VICIDIAL calls: +#exten => _983209.,1,AGI(call_log.agi,${EXTEN}) +#exten => _983209.,2,Dial(${TRUNKY}/${EXTEN:1},60) +#exten => _983209.,3,Hangup +# +# ON THE SERVER THAT HAS THIS SCRIPT: +#;inbound IVR play VICIDIAL calls: +#exten => _83209.,1,Answer +#exten => _83209.,2,AGI(agi-VDAD_pin_IVR.agi,${EXTEN}) +#exten => _83209.,3,Hangup +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# changes: +# 60802-1304 - first build +# 60817-1113 - added output options check from database +# + +$script = 'agi-VDAD_pin_IVR.agi'; + +$first_audio_file = '85100003'; +$second_audio_file = '85100004'; +$goodbye_audio_file = 'US_reminder_goodbye'; + +#$first_audio_file = 'US_reminder_message'; +#$second_audio_file = 'US_reminder_options'; +#$goodbye_audio_file = 'US_reminder_goodbye'; + + +### set defaults for testing +$referring_extension = '83209'; +$phone_number = '9999999999'; +$lead_id = '999999999'; +$campaign_id = 'TESTCAMP'; +$product_code = 'ABC'; +$user = '1234'; +$pin = '0'; + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + ### allow for internal transfer data string "83009*3125551212*10000123*TESTCAMP*ABC*1234*" + if ($extension =~ /^8320\d\*/) + { + @EXT_vars = split(/\*/, $extension); + + $referring_extension = $EXT_vars[0]; # initial extension sent + $phone_number = $EXT_vars[1]; # phone number + $lead_id = $EXT_vars[2]; # lead_id in vicidial_list + $campaign_id = $EXT_vars[3]; # campaign id + $product_code = $EXT_vars[4]; # product code + $user = $EXT_vars[5]; # vicidial_user that sent the call here + } +} + + if ($AGILOG) {$agi_string = "INBOUND IVR PLAY CALL VDCL STARTED"; &agi_output;} + + +$AGI->stream_file('beep'); + +sleep(1); + +$AGI->stream_file("$first_audio_file"); + +### insert a record into the vicidial_list_pins table +$stmtA = "INSERT INTO vicidial_list_pins (entry_time,phone_number,lead_id,campaign_id,product_code,user,digits) values('$SQLdate','$phone_number','$lead_id','$campaign_id','$product_code','$user','IVR');"; + +$affected_rows = $dbhA->do($stmtA); + +$insert_pin_id = $dbhA->{'mysql_insertid'}; + +if ($AGILOG) {$agi_string = "|$stmtA|$insert_pin_id|$affected_rows|"; &agi_output;} + +$dbhA->disconnect(); + +$AGI->stream_file("$second_audio_file"); + +sleep(1); + +$AGI->stream_file("$goodbye_audio_file"); + + +exit; + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/agi/agi-VDADautoREMINDER.agi b/agc_2-X/branches/agc_2.0.5/agi/agi-VDADautoREMINDER.agi new file mode 100644 index 00000000..18854310 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/agi-VDADautoREMINDER.agi @@ -0,0 +1,667 @@ +#!/usr/bin/perl +# +# agi-VDADautoREMINDER.agi version 0.4 *DBI-version* +# +# runs when a call comes in from the VICIDIAL auto_dialer. This script will +# send the calls out to specified voicemail boxes in if called person presses key. +# The voicemail box is defined per-lead in the vicidial_list.security_phrase field +# This campaign does not send calls to live agents. +# +# Call statuses from this script: +# N- Call was picked up, didn't finish initial message +# MP- Initial message was played +# VM- call was sent to voicemail +# CALLBK- customer selected to be called back +# +# It is recommended that you run this campaign at a dial level of 1.0 +# It is recommended that you use remote_agents for activation of this script +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;VICIDIAL_auto_dialer transfer script: +# exten => 8372,1,AGI(call_log.agi,${EXTEN}) +# exten => 8372,2,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# +# CHANGES +# 60313-1626 - First build +# 60810-1729 - Changed to DBI +# - changed to use /etc/astguiclient.conf for configs +# 60818-1144 - added output options check from database +# + +$script = 'agi-VDADautoREMINDER.agi'; + +##### AUDIO FILES IN THIS PROGRAM ##### +$message_audio_file = 'US_reminder_message'; +$options_audio_file = 'US_reminder_options'; +# $voicemail_xfer_file = 'US_reminder_voicemail'; not used +$callback_audio_file = 'US_reminder_callback'; +$goodbye_audio_file = 'US_reminder_goodbye'; + + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; #20060310100402 + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_priority\:\s+(.*)$/) {$priority = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} +} + +if ( (length($callerid)>20) && ($callerid =~ /\"\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S/) ) + { + $callerid =~ s/^\"//gi; + $callerid =~ s/\".*$//gi; + ### set the callerid to the ACQS value(calleridname) + print "SET CALLERID $callerid\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $callerid"; &agi_output;} + } +if ( ( +(length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) +) or ( (length($calleridname)>17) && ($calleridname =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) ) ) + { + $callerid = $calleridname; + ### set the callerid to the ACQS value(calleridname) + print "SET CALLERID $callerid\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $callerid"; &agi_output;} + } + + +if ($AGILOG) {$agi_string = "AGI Environment Dump:"; &agi_output;} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + +$VDADcampaign=''; +$VDADphone=''; +$VDADphone_code=''; + +$callerid =~ s/\"//gi; +$CIDlead_id = $callerid; +$CIDlead_id = substr($CIDlead_id, 11, 9); +$CIDlead_id = ($CIDlead_id + 0); + +if ($AGILOG) {$agi_string = "+++++ VDAD START : |$CIDlead_id|$now_date|"; &agi_output;} + +if ( ($channel =~ /Local/i) && ($AST_ver !~ /^1\.0\.8|^1\.0\.9/) ) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +if ($priority > 2) {sleep(1);} +exit; +} + + + +sleep(1); + +$AGI->stream_file('beep'); + + +### Grab Server values from the database +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + $rec_count++; + } +$sthA->finish(); + +### Grab call parameters from vicidial_auto_calls table +$stmtA = "UPDATE vicidial_auto_calls set uniqueid='$unique_id', channel='$channel',status='LIVE',stage='LIVE-0' where callerid='$callerid' order by call_time desc limit 1;"; +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} +if ($affected_rows > 0) + { + $stmtA = "SELECT campaign_id,phone_number,phone_code,lead_id,call_time FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADcampaign = "$aryA[0]"; + $VDADphone = "$aryA[1]"; + $VDADphone_code = "$aryA[2]"; + $VDADlead_id = "$aryA[3]"; + $VDADcall_time = "$aryA[4]"; + $rec_count++; + } + $sthA->finish(); + + $stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$uniqueid','$CIDlead_id','$VDADcampaign','$SQLdate','$now_date_epoch','N','$VDADphone_code','$VDADphone','VDAD','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + + if ($AGILOG) {$agi_string = "-- VDAD : |$VDADlead_id|$CIDlead_id|insert to vicidial_log: $uniqueid"; &agi_output;} + } + + + + +######### REMINDER CHOICE FROM RECORDINGS ######## +&reminder_choice; + +if ($pin < 1) + { + &reminder_choice; + + if ($pin < 1) + { + $AGI->stream_file("$goodbye_audio_file"); + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vac record deleted: |$affected_rows|$VDADcampaign|"; &agi_output;} + + $end_date_epoch = time(); + $length_in_sec = ($end_date_epoch - $now_date_epoch); + + $stmtA = "UPDATE vicidial_log set end_epoch='$end_date_epoch', length_in_sec='$length_in_sec' where uniqueid='$uniqueid' and lead_id='$CIDlead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vac record deleted: |$affected_rows|$VDADcampaign|$end_date_epoch|$now_date_epoch|$length_in_sec|"; &agi_output;} + + $VHqueryCID = "VHNGUP$tsSQLdate"; + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + + sleep(1); + + exit; + } + } + +if ($AGILOG) {$agi_string = "+++++ VDAD STATUS : pressed $pin|$unique_id|$channel|$extension|$type|$callerid|$CIDlead_id|$now_date"; &agi_output;} + +if ($pin !~ /^1|^2/) {exit;} + +if (!$DB_port) {$DB_port='3306';} + + + + + +if ($pin =~ /^1|^2/) +{ + +if ($pin == "1") ### send call to voicemail + { +# message can be left on agent vmail box +# # Thank you for your response, we will now transfer you to your agent's voicemail box. +# $AGI->stream_file("$voicemail_xfer_file"); + + $stmtA = "UPDATE vicidial_auto_calls set status='XFER', stage='XFER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD XFER : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='VM' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$CIDlead_id|XFER"; &agi_output;} + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $end_date_epoch = time(); + $length_in_sec = ($end_date_epoch - $now_date_epoch); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXXXXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + $stmtA = "UPDATE vicidial_log set status='VM', end_epoch='$end_date_epoch', length_in_sec='$length_in_sec' where uniqueid='$uniqueid' and lead_id='$CIDlead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vac record updated: |$affected_rows|$VDADcampaign|"; &agi_output;} + + $VMAIL_box=0; + ### Grab Server values from the database + $stmtA = "SELECT security_phrase FROM vicidial_list where lead_id = '$CIDlead_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VMAIL_box = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + + ### SEND CALL TO VOICEMAIL BOX ### + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $voicemail_dump_exten$VMAIL_box"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $voicemail_dump_exten$VMAIL_box\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + + } + +if ($pin == "2") ### mark call as a CALLBK + { + + # Thank you for your response, your agent will be contacting you shortly. + $stmtA = "DELETE from vicidial_auto_calls where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD DONE : |$affected_rows|delete of vac table: $callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='CALLBK' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$CIDlead_id|XFER"; &agi_output;} + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $end_date_epoch = time(); + $length_in_sec = ($end_date_epoch - $now_date_epoch); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXXXXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + $stmtA = "UPDATE vicidial_log set status='CALLBK', end_epoch='$end_date_epoch', length_in_sec='$length_in_sec' where uniqueid='$uniqueid' and lead_id='$CIDlead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vac record updated: |$affected_rows|$VDADcampaign|"; &agi_output;} + + $AGI->stream_file("$callback_audio_file"); + + $VHqueryCID = "VHNGUP$tsSQLdate"; + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + + sleep(1); + + exit; + } + +} ### end if pressed 1,2 + + + + + +else ### user pressed digit other than 1 or 2 +{ + +exit; +} + +$dbhA->close; + + + +exit; + + + + + + + + + + + +sub reminder_choice +{ +$digit=''; +undef $digit; +$interrupt_digit=''; +undef $interrupt_digit; + +# Hello, this is a courtesy call from ACME Industries reminding you that the deadline for the submission of orders for the June 5th batch delivery is tomorrow, March 10th: + # second audio file +# If you would like to leave a message for your agent please press 1. +# If you would like to have your agent call you back please press 2. + # third audio file +# Thank you, Goodbye + + +######### PLAY THE MESSAGE FILE THEN WAIT 2 SECONDS FOR DIGITS ############ +$interrupt_digit = $AGI->stream_file("$message_audio_file",'12'); + if ($AGILOG) {$agi_string = "interrupt_digit |$interrupt_digit|"; &agi_output;} +$digits_being_entered=1; +$digit_loop_counter=0; +$totalDTMF=''; +if ($interrupt_digit > 1) + { + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + $totalDTMF=$interrupt_digit; + $digit_loop_counter++; + } + +$channel_status = $AGI->channel_status("$channel"); + if ($AGILOG) {$agi_string = "SSSSSSSSSS Channel Status: $channel_status"; &agi_output;} + + if ($channel_status == 6) + { + $stmtA = "UPDATE vicidial_log set status='MP' where uniqueid = '$uniqueid' and lead_id='$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_log update: N|$affected_rows|$uniqueid"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='MP' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: N|$affected_rows|$CIDlead_id"; &agi_output;} + } + +while ($digit_loop_counter < 1) + { + $digit = chr($AGI->wait_for_digit('2000')); # wait 2 seconds for input or until digit pressed + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digit_loop_counter=1; + } + + $digit_loop_counter++; + } + +$totalDTMF =~ s/\D//gi; +$pin = $totalDTMF; +if ($totalDTMF) + { + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} + return; + } + + + +######### PLAY THE OPTIONS FILE THEN WAIT 5 SECONDS FOR DIGITS ############ +$interrupt_digit = $AGI->stream_file("$options_audio_file",'12'); + if ($AGILOG) {$agi_string = "interrupt_digit |$interrupt_digit|"; &agi_output;} +$digits_being_entered=1; +$digit_loop_counter=0; +$totalDTMF=''; +if ($interrupt_digit > 1) + { + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + $totalDTMF=$interrupt_digit; + $digit_loop_counter++; + } + +while ($digit_loop_counter < 1) + { + $digit = chr($AGI->wait_for_digit('10000')); # wait 10 seconds for input or until digit pressed + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digit_loop_counter=1; + } + + $digit_loop_counter++; + } + +$totalDTMF =~ s/\D//gi; +$pin = $totalDTMF; +if ($totalDTMF) + { + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} + return; + } +} + + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/agi/agi-VDADautoREMINDERxfer.agi b/agc_2-X/branches/agc_2.0.5/agi/agi-VDADautoREMINDERxfer.agi new file mode 100644 index 00000000..da391cc1 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/agi-VDADautoREMINDERxfer.agi @@ -0,0 +1,729 @@ +#!/usr/bin/perl +# +# agi-VDADautoREMINDERxfer.agi version 0.3 *DBI-version* +# +# runs when a call comes in from the VICIDIAL auto_dialer. This script will +# send the calls out to specified voicemail boxes or specified extensions if +# called person presses specified key(1,2,3). +# The voicemail box is defined per-lead in the vicidial_list.security_phrase field +# The exten xfer number is defined per-lead in the vicidial_list.comments field +# +# Call statuses from this script: +# N- Call was picked up, didn't finish initial message +# MP- Initial message was played +# VM- call was sent to voicemail +# XFER- call was sent to specified extension +# CALLBK- customer selected to be called back +# +# It is recommended that you run this campaign at a dial level of 1.0 +# It is recommended that you use remote_agents for activation of this script +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;VICIDIAL_auto_dialer transfer script: +# exten => 8372,1,AGI(call_log.agi,${EXTEN}) +# exten => 8372,2,AGI(agi-VDADautoREMINDERxfer.agi,${EXTEN}) +# +# Copyright (C) 2006 Matt Florell LICENSE: GPLv2 +# +# CHANGES +# 60511-1214 - First build +# 60810-1729 - Changed to DBI +# - changed to use /etc/astguiclient.conf for configs +# 60818-1144 - added output options check from database +# + +$script = 'agi-VDADautoREMINDERxfer.agi'; + +##### AUDIO FILES IN THIS PROGRAM ##### +$message_audio_file = 'US_reminder_message'; +$options_audio_file = 'US_reminder_options'; +# $voicemail_xfer_file = 'US_reminder_voicemail'; not used +$callback_audio_file = 'US_reminder_callback'; +$goodbye_audio_file = 'US_reminder_goodbye'; + + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; #20060310100402 + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +$BDtarget = ($secX - 5); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_priority\:\s+(.*)$/) {$priority = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} +} + +if ( (length($callerid)>20) && ($callerid =~ /\"\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S/) ) + { + $callerid =~ s/^\"//gi; + $callerid =~ s/\".*$//gi; + ### set the callerid to the ACQS value(calleridname) + print "SET CALLERID $callerid\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $callerid"; &agi_output;} + } +if ( ( +(length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) +) or ( (length($calleridname)>17) && ($calleridname =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) ) ) + { + $callerid = $calleridname; + ### set the callerid to the ACQS value(calleridname) + print "SET CALLERID $callerid\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $callerid"; &agi_output;} + } + + +if ($AGILOG) {$agi_string = "AGI Environment Dump:"; &agi_output;} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + +$VDADcampaign=''; +$VDADphone=''; +$VDADphone_code=''; + +$callerid =~ s/\"//gi; +$CIDlead_id = $callerid; +$CIDlead_id = substr($CIDlead_id, 11, 9); +$CIDlead_id = ($CIDlead_id + 0); + +if ($AGILOG) {$agi_string = "+++++ VDAD START : |$CIDlead_id|$now_date|"; &agi_output;} + +if ( ($channel =~ /Local/i) && ($AST_ver !~ /^1\.0\.8|^1\.0\.9/) ) +{ +if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} +if ($priority > 2) {sleep(1);} +exit; +} + + + +sleep(1); + +$AGI->stream_file('beep'); + + +### Grab Server values from the database +$stmtA = "SELECT voicemail_dump_exten,ext_context,answer_transfer_agent,local_gmt,asterisk_version,max_vicidial_trunks FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvoicemail_dump_exten = "$aryA[0]"; + $DBext_context = "$aryA[1]"; + $DBanswer_transfer_agent = "$aryA[2]"; + $DBSERVER_GMT = "$aryA[3]"; + $DBasterisk_version = "$aryA[4]"; + $DBmax_vicidial_trunks = "$aryA[5]"; + if ($DBvoicemail_dump_exten) {$voicemail_dump_exten = $DBvoicemail_dump_exten;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + $rec_count++; + } +$sthA->finish(); + +### Grab call parameters from vicidial_auto_calls table +$stmtA = "UPDATE vicidial_auto_calls set uniqueid='$unique_id', channel='$channel',status='LIVE',stage='LIVE-0' where callerid='$callerid' order by call_time desc limit 1;"; +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} +if ($affected_rows > 0) + { + $stmtA = "SELECT campaign_id,phone_number,phone_code,lead_id,call_time FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDADcampaign = "$aryA[0]"; + $VDADphone = "$aryA[1]"; + $VDADphone_code = "$aryA[2]"; + $VDADlead_id = "$aryA[3]"; + $VDADcall_time = "$aryA[4]"; + $rec_count++; + } + $sthA->finish(); + + $stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed) values('$uniqueid','$CIDlead_id','$VDADcampaign','$SQLdate','$now_date_epoch','N','$VDADphone_code','$VDADphone','VDAD','N')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + + if ($AGILOG) {$agi_string = "-- VDAD : |$VDADlead_id|$CIDlead_id|insert to vicidial_log: $uniqueid"; &agi_output;} + } + + + + +######### REMINDER CHOICE FROM RECORDINGS ######## +&reminder_choice; + +if ($pin < 1) + { + &reminder_choice; + + if ($pin < 1) + { + $AGI->stream_file("$goodbye_audio_file"); + + $stmtA = "DELETE FROM vicidial_auto_calls where callerid='$callerid' order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vac record deleted: |$affected_rows|$VDADcampaign|"; &agi_output;} + + $end_date_epoch = time(); + $length_in_sec = ($end_date_epoch - $now_date_epoch); + + $stmtA = "UPDATE vicidial_log set end_epoch='$end_date_epoch', length_in_sec='$length_in_sec' where uniqueid='$uniqueid' and lead_id='$CIDlead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vac record deleted: |$affected_rows|$VDADcampaign|$end_date_epoch|$now_date_epoch|$length_in_sec|"; &agi_output;} + + $VHqueryCID = "VHNGUP$tsSQLdate"; + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + + sleep(1); + + exit; + } + } + +if ($AGILOG) {$agi_string = "+++++ VDAD STATUS : pressed $pin|$unique_id|$channel|$extension|$type|$callerid|$CIDlead_id|$now_date"; &agi_output;} + +if ($pin !~ /^1|^2|^3/) {exit;} + +if (!$DB_port) {$DB_port='3306';} + + + + + +if ($pin =~ /^1|^2|^3/) +{ + +if ($pin == "1") ### send call to voicemail + { +# message can be left on agent vmail box +# # Thank you for your response, we will now transfer you to your agent's voicemail box. +# $AGI->stream_file("$voicemail_xfer_file"); + + $stmtA = "UPDATE vicidial_auto_calls set status='XFER', stage='XFER-$drop_timer' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD XFER : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='VM' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$CIDlead_id|XFER"; &agi_output;} + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $end_date_epoch = time(); + $length_in_sec = ($end_date_epoch - $now_date_epoch); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXXXXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + $stmtA = "UPDATE vicidial_log set status='VM', end_epoch='$end_date_epoch', length_in_sec='$length_in_sec' where uniqueid='$uniqueid' and lead_id='$CIDlead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vac record updated: |$affected_rows|$VDADcampaign|"; &agi_output;} + + $VMAIL_box=0; + ### Grab Server values from the database + $stmtA = "SELECT security_phrase FROM vicidial_list where lead_id = '$CIDlead_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VMAIL_box = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + + ### SEND CALL TO VOICEMAIL BOX ### + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $voicemail_dump_exten$VMAIL_box"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $voicemail_dump_exten$VMAIL_box\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + + } + +if ($pin == "2") ### mark call as a CALLBK + { + + # Thank you for your response, your agent will be contacting you shortly. + $stmtA = "DELETE from vicidial_auto_calls where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD DONE : |$affected_rows|delete of vac table: $callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='CALLBK' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$CIDlead_id|XFER"; &agi_output;} + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $end_date_epoch = time(); + $length_in_sec = ($end_date_epoch - $now_date_epoch); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXXXXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + $stmtA = "UPDATE vicidial_log set status='CALLBK', end_epoch='$end_date_epoch', length_in_sec='$length_in_sec' where uniqueid='$uniqueid' and lead_id='$CIDlead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vac record updated: |$affected_rows|$VDADcampaign|"; &agi_output;} + + $AGI->stream_file("$callback_audio_file"); + + $VHqueryCID = "VHNGUP$tsSQLdate"; + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$VARserver_ip','','Hangup','$VHqueryCID','Channel: $channel','','','','','','','','','')"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD call_hungup timout: |$VHqueryCID|$VDADconf_exten|$channel|insert to vicidial_manager"; &agi_output;} + + sleep(1); + + exit; + } + +if ($pin == "3") ### send call to extension + { +# call can be sent to extension +# # Thank you for your response, we will now transfer you to your agent's voicemail box. +# $AGI->stream_file("$voicemail_xfer_file"); + + $stmtA = "UPDATE vicidial_auto_calls set status='XFER' where callerid='$callerid';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD XFER : |$affected_rows|update of vac table: $callerid\n|$stmtA|"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='XFER' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$CIDlead_id|XFER"; &agi_output;} + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $end_date_epoch = time(); + $length_in_sec = ($end_date_epoch - $now_date_epoch); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + if ($AGILOG) {$agi_string = "XXXXXXXXXX VDAD transferred: start|stop $start_time|$now_date"; &agi_output;} + + $stmtA = "UPDATE vicidial_log set status='XFER', end_epoch='$end_date_epoch', length_in_sec='$length_in_sec' where uniqueid='$uniqueid' and lead_id='$CIDlead_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vac record updated: |$affected_rows|$VDADcampaign|"; &agi_output;} + + $VMAIL_box=0; + ### Grab Server values from the database + $stmtA = "SELECT comments FROM vicidial_list where lead_id = '$CIDlead_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $XFER_exten = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + + ### SEND CALL TO VOICEMAIL BOX ### + if ($AGILOG) {$agi_string = "exiting the VDAD app, transferring call to $XFER_exten"; &agi_output;} + print "SET CONTEXT $ext_context\n"; + checkresult($result); + print "SET EXTENSION $XFER_exten\n"; + checkresult($result); + print "SET PRIORITY 1\n"; + checkresult($result); + + + } + +} ### end if pressed 1,2,3 + + + + + +else ### user pressed digit other than 1 or 2 or 3 +{ + +exit; +} + +$dbhA->close; + + + +exit; + + + + + + + + + + + +sub reminder_choice +{ +$digit=''; +undef $digit; +$interrupt_digit=''; +undef $interrupt_digit; + +# Hello, this is a courtesy call from ACME Industries reminding you that the deadline for the submission of orders for the June 5th batch delivery is tomorrow, March 10th: + # second audio file +# If you would like to leave a message for your agent please press 1. +# If you would like to have your agent call you back please press 2. + # third audio file +# Thank you, Goodbye + + +######### PLAY THE MESSAGE FILE THEN WAIT 2 SECONDS FOR DIGITS ############ +$interrupt_digit = $AGI->stream_file("$message_audio_file",'123'); + if ($AGILOG) {$agi_string = "interrupt_digit |$interrupt_digit|"; &agi_output;} +$digits_being_entered=1; +$digit_loop_counter=0; +$totalDTMF=''; +if ($interrupt_digit > 1) + { + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + $totalDTMF=$interrupt_digit; + $digit_loop_counter++; + } + +$channel_status = $AGI->channel_status("$channel"); + if ($AGILOG) {$agi_string = "SSSSSSSSSS Channel Status: $channel_status"; &agi_output;} + + if ($channel_status == 6) + { + $stmtA = "UPDATE vicidial_log set status='MP' where uniqueid = '$uniqueid' and lead_id='$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_log update: N|$affected_rows|$uniqueid"; &agi_output;} + + $stmtA = "UPDATE vicidial_list set status='MP' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: N|$affected_rows|$CIDlead_id"; &agi_output;} + } + +while ($digit_loop_counter < 1) + { + $digit = chr($AGI->wait_for_digit('2000')); # wait 2 seconds for input or until digit pressed + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digit_loop_counter=1; + } + + $digit_loop_counter++; + } + +$totalDTMF =~ s/\D//gi; +$pin = $totalDTMF; +if ($totalDTMF) + { + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} + return; + } + + + +######### PLAY THE OPTIONS FILE THEN WAIT 5 SECONDS FOR DIGITS ############ +$interrupt_digit = $AGI->stream_file("$options_audio_file",'123'); + if ($AGILOG) {$agi_string = "interrupt_digit |$interrupt_digit|"; &agi_output;} +$digits_being_entered=1; +$digit_loop_counter=0; +$totalDTMF=''; +if ($interrupt_digit > 1) + { + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + $totalDTMF=$interrupt_digit; + $digit_loop_counter++; + } + +while ($digit_loop_counter < 1) + { + $digit = chr($AGI->wait_for_digit('10000')); # wait 10 seconds for input or until digit pressed + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digit_loop_counter=1; + } + + $digit_loop_counter++; + } + +$totalDTMF =~ s/\D//gi; +$pin = $totalDTMF; +if ($totalDTMF) + { + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} + return; + } +} + + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/agi/agi-VDADfixCXFER.agi b/agc_2-X/branches/agc_2.0.5/agi/agi-VDADfixCXFER.agi new file mode 100644 index 00000000..f08161f9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/agi-VDADfixCXFER.agi @@ -0,0 +1,261 @@ +#!/usr/bin/perl +# +# agi-VDADfixCXFER.agi version 2.0.5 *DBI-version* +# +# runs when a Consultative transfer is released by the vicidial fronter as the +# call arrives on another channel so that the vicidial_live_agents record is +# updated to be accurate. +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;VICIDIAL Consultative Xfer fix script: +# exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi) +# exten => _010*010*010*015*8600XXX*.,1,AGI(agi-VDADfixCXFER.agi) +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGELOG: +# 60809-1749 - First build +# 60817-1122 - Added output options check from database +# 70212-1252 - Fixed issue with Local/ channel transfers on same server +# + +$script = 'agi-VDADfixCXFER.agi'; + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + ### list of command-line array arguments: + @ARGV_vars = split(/-----/, $ARGV[0]); + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() +{ + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} +} + +# 010*010*011*011* + +$extension =~ s/^\d\d\d\*\d\d\d\*\d\d\d\*\d\d\d\*//gi; + +@EXTEN = split(/\*/, $extension); + $conf_exten = $EXTEN[0]; + $lead_id = $EXTEN[1]; + $user = $EXTEN[2]; + $phone_code = $EXTEN[3]; + $phone_number = $EXTEN[4]; + $campaign_id = $EXTEN[5]; + +if ($AGILOG) {$agi_string = "AGI Environment Dump:"; &agi_output;} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|$calleridname|$priority|"; &agi_output;} + +if ($AGILOG) {$agi_string = "CXFERfix : $lead_id $user $channel $uniqueid"; &agi_output;} + + $CIDlead = sprintf("%010s", $lead_id); + $CIDlead = "C123412345$CIDlead"; + print "SET CALLERID $CIDlead\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: $CIDlead"; &agi_output;} + +########## FIND AND UPDATE vicidial_live_agents ########## +$stmtA = "UPDATE vicidial_live_agents SET channel='$channel',call_server_ip='$VARserver_ip',uniqueid='$uniqueid' where user='$user' and lead_id='$lead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD vicidial_live_agents update: |$affected_rows|$lead_id|"; &agi_output;} + +########## INSERT NEW vicidial_auto_calls record ########## +$stmtA = "INSERT INTO vicidial_auto_calls SET channel='$channel',server_ip='$VARserver_ip',uniqueid='$uniqueid',campaign_id='$campaign_id',status='CLOSER',lead_id='$lead_id',phone_code='$phone_code',phone_number='$phone_number',call_time='$SQLdate',call_type='IN',callerid='$CIDlead';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- VDAD vicidial_auto_calls insert: |$affected_rows|$lead_id|"; &agi_output;} + +$dbhA->disconnect(); + + +if ($AGILOG) {$agi_string = "exiting the CXFERfix app, transferring call to $conf_exten"; &agi_output;} +#print "SET CONTEXT $ext_context\n"; +# checkresult($result); +print "SET EXTENSION $conf_exten\n"; + checkresult($result); +print "SET PRIORITY 1\n"; + checkresult($result); + + + + +exit; + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/agi/agi-VDADinbound_NI_DNC_CIDlookup.agi b/agc_2-X/branches/agc_2.0.5/agi/agi-VDADinbound_NI_DNC_CIDlookup.agi new file mode 100644 index 00000000..082a1bbe --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/agi-VDADinbound_NI_DNC_CIDlookup.agi @@ -0,0 +1,445 @@ +#!/usr/bin/perl +# +# agi-VDADinbound_NI_DNC_CIDlookup.agi version 2.0.5 *DBI-version* +# +# runs when a call comes in from an inbound call. This script will +# play a message and take input to automatically change customer lead to NI or DNC. +# *** This version detects inbound callerID over PRI *** +# +# Flag Options: +# 1- default to insert into the vicidial_dnc table for DNC selections (Default=YES) +# 2- campaign to take dnc settings from(overrides option 1) +# +# ;inbound call from outbound CID callbacks from VICIDIAL calls: +#exten => 1234,1,Ringing ; call ringing +#exten => 1234,2,Wait(1) ; Wait 1 second for CID delivery from PRI +#exten => 1234,3,Answer ; Answer the line +#exten => 1234,4,AGI(agi-VDADinbound_NI_DNC_CIDlookup.agi,YES-----TESTCAMP) +#exten => 1234,5,Hangup +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# changes: +# 60914-1051 - First draft +# 80909-0614 - Added optional field for campaign so that vicidial_campaign_dnc could be used +# + +$script = 'agi-VDADinbound_NI_DNC_CIDlookup.agi'; + +### number of seconds to wait until you drop a waiting call +$DROP_TIME = 360; + +### files to play for message of not interested or DNC and your request has been processed +$prompt_file = 'not_interested_or_dnc'; +$processed_file = 'request_has_been_processed'; +$goodbye_audio_file = 'US_reminder_goodbye'; + + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$start_time=$now_date; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $SQLdateBEGIN = $SQLdate; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) + { + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + ### list of command-line array arguments: + @ARGV_vars = split(/-----/, $ARGV[0]); + + $dnc_default = $ARGV_vars[0]; + $campaign_id = $ARGV_vars[1]; + } + +if (length($dnc_default) < 2) + {$dnc_default = 'YES';} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + + if ( ($callerid =~ /\".*\"/) && ( (!$calleridname) or ($calleridname =~ /unknown/) ) ) + { + $calleridname = $callerid; + $calleridname =~ s/\<\d\d\d\d\d\d\d\d\d\d\>//gi; + $calleridname =~ s/\"|\" //gi; + } + + $callerid =~ s/\D//gi; + $calleridname =~ s/unknown//gi; + if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + + if (length($callerid)>0) {$phone_number = $callerid;} + else {$phone_number = '';} + if (length($calleridname)>0) {$VLcomments = $calleridname;} + else {$VLcomments = '';} + +# if ($channel =~ /^SIP/) {$channel =~ s/-.*//gi;} +# if ($channel =~ /^Zap\//) {$channel =~ s/-\d$//gi;} + if (length($callerid)<10) {$callerid = $parked_by;} + if (length($pin)>0) {$callerid = $pin;} + + + ### allow for external callerid to be collected +# if ($extension =~ /\*\d\d\d\d\d\d\d\d\d\d\*/) +# { +# @EXT_vars = split(/\*/, $extension); +# +# $referring_extension = $EXT_vars[0]; # initial extension sent +# $channel_group = $EXT_vars[1]; # name of the parked group +# $inbound_number = $EXT_vars[2]; # extension to send call to after parsing +# $parked_by = $EXT_vars[3]; # leadID +# $park_extension = $EXT_vars[4]; # filename of the on-hold music file +# $comment_d = $EXT_vars[5]; # N/A +# $comment_e = $EXT_vars[6]; # N/A +# +# $PADlead_id = sprintf("%09s", $parked_by); while (length($PADlead_id) > 9) {chop($PADlead_id);} +# # JmmddhhmmssLLLLLLLLL +# $JqueryCID = "J$CIDdate$PADlead_id"; +# $callerid = $JqueryCID; +# ### set the callerid to the filename of the audio for on-hold +# print "SET CALLERID $JqueryCID\n"; +# checkresult($result); +# print STDERR "callerID changed: $JqueryCID\n"; +# } +} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + +$AGI->stream_file('beep'); + +&enter_pin_number; + +if ( (length($pin)<1) || ($pin =~ /9/) ) + {&enter_pin_number;} +if ( (length($pin)<1) || ($pin =~ /9/) ) + {&enter_pin_number;} +if ( (length($pin)<1) || ($pin =~ /9/) ) + {&enter_pin_number;} +if ( (length($pin)<1) || ($pin =~ /9/) ) + {&enter_pin_number;} + +if ($pin =~ /2/) # set the phone_number to NI + { + ### Check to see if the number is in the system ### + $stmtA= "SELECT count(*) from vicidial_list where phone_number='$phone_number';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $lead_in_system = "$aryA[0]"; + $sthA->finish(); + + ### update all records for the phone_number in vicidial_list to NI (Not Interested) + $stmtA = "UPDATE vicidial_list SET status='NI' where phone_number='$phone_number';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "$affected_rows|$stmtA|"; &agi_output;} + } + $AGI->stream_file("$processed_file"); + } + +if ($pin =~ /3/) # set the phone_number to DNC + { + ### Check to see if the number is in the system ### + $stmtA= "SELECT count(*) from vicidial_list where phone_number='$phone_number';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $lead_in_system = "$aryA[0]"; + $sthA->finish(); + + ### update all records for the phone_number in vicidial_list to NI (Not Interested) + $stmtA = "UPDATE vicidial_list SET status='DNC' where phone_number='$phone_number';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "$affected_rows|$stmtA|"; &agi_output;} + } + + if (length($campaign_id)>1) + { + ### Grab DNC settings from campaign + $stmtA = "SELECT use_internal_dnc,use_campaign_dnc FROM vicidial_campaigns where campaign_id = '$campaign_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + $use_internal_dnc = "$aryA[0]"; + $use_campaign_dnc = "$aryA[1]"; + $sthA->finish(); + + if ($use_internal_dnc =~ /Y/) + { + ### add the number to the vicidial_dnc table + $stmtA = "INSERT INTO vicidial_dnc SET phone_number='$phone_number';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "$affected_rows|$stmtA|"; &agi_output;} + } + if ($use_campaign_dnc =~ /Y/) + { + ### add the number to the vicidial_campaign_dnc table + $stmtA = "INSERT INTO vicidial_campaign_dnc SET phone_number='$phone_number',campaign_id='$campaign_id';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "$affected_rows|$stmtA|"; &agi_output;} + } + } + else + { + if ($dnc_default =~ /YES/) + { + ### add the number to the vicidial_dnc table + $stmtA = "INSERT INTO vicidial_dnc SET phone_number='$phone_number';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "$affected_rows|$stmtA|"; &agi_output;} + } + } + + $AGI->stream_file("$processed_file"); + } + +$dbhA->disconnect(); + + +$AGI->stream_file("$goodbye_audio_file"); + +exit; + + + + + + + + + + + + + + + +sub enter_pin_number +{ +# if you are not interested in this program press 2 +# if you would not like to be contacted by us again press 3 +# if you would like us to try to get in contact with you hangup + +$interrupt_digit=''; +undef $interrupt_digit; + +$interrupt_digit = $AGI->stream_file("$prompt_file",'239'); + + if ($AGILOG) {$agi_string = "interrupt_digit |$interrupt_digit|"; &agi_output;} + +$digits_being_entered=1; +$totalDTMF=''; +if ($interrupt_digit > 1) + { + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + + $totalDTMF=$interrupt_digit; + } + +#$digit_loop_counter=0; +#while ( ($digits_being_entered) && ($digit_loop_counter < 20) ) +# { +# $digit = chr($AGI->wait_for_digit('30000')); # wait 30 seconds for input or until the pound key is pressed +# if ($digit =~ /\d/) +# { +# $totalDTMF = "$totalDTMF$digit"; +# print STDERR "digit |$digit| TotalDTMF |$totalDTMF|\n"; +# $AGI->say_digits("$digit"); +# undef $digit; +# } +# else +# { +# $digits_being_entered=0; +# } +# +# $digit_loop_counter++; +# } +#while ( ($digit_loop_counter < 4) ) +# { +# $digit = chr($AGI->wait_for_digit('10000')); # wait 10 seconds for input or until the pound key is pressed +# if ($digit =~ /\d/) +# { +# $totalDTMF = "$totalDTMF$digit"; +# if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} +# $AGI->say_digits("$digit"); +# undef $digit; +# } +# else +# { +# $digit_loop_counter=4; +# } +# +# $digit_loop_counter++; +# } + +$totalDTMF =~ s/\D//gi; +$pin = $totalDTMF; +if ($totalDTMF) {if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;}} +} + + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/agi/agi-VDADlisten_DTMF.agi b/agc_2-X/branches/agc_2.0.5/agi/agi-VDADlisten_DTMF.agi new file mode 100644 index 00000000..bf389c96 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/agi-VDADlisten_DTMF.agi @@ -0,0 +1,293 @@ +#!/usr/bin/perl +# +# agi-VDADlisten_DTMF.agi version 2.0.5 *DBI-version* +# +# To be initiated by an agent so during a call. Agent will click a PIN NUMBER +# link on a web form webpage that will Originate a new call to this script +# +# This script plays a beep and waits for entry of 4 digits then inserts record +# +# ***** THIS SCRIPT ONLY WORKS WITH A CROSSOVER T1 CABLE FROM ONE T1 PORT ***** +# ***** TO ANOTHER T1 PORT WHETHER ON THE SAME SERVER OR DIFFERENT ONE ***** +# +# IN THE CAMPAIGN OR IN-GROUP NUMBER PRESET FIELD: +# AXFER83009 +# +# ON THE SERVER ORIGINATING THE CALL: +#;outbound DTMF VICIDIAL calls: +#exten => _983009.,1,AGI(call_log.agi,${EXTEN}) +#exten => _983009.,2,Dial(${TRUNKY}/${EXTEN:1},60) +#exten => _983009.,3,Hangup +# +# ON THE SERVER THAT HAS THIS SCRIPT: +#;inbound DTMF VICIDIAL calls: +#exten => _83009.,1,AGI(agi-VDADlisten_DTMF.agi,${EXTEN}) +#exten => _83009.,2,Hangup +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# changes: +# 60206-1434 first build +# 60207-1205 - added database records entries/modifications +# 60207-1507 - added ability to send AMs to campaign-defined message to leave +# 60731-1536 - changed to use DBI-DBD::mysql +# - changed to use /etc/astguiclient.conf for configs +# 60817-1113 - added output options check from database +# 70806-1619 - added HeavyDTMF check and filter +# + +$script = 'agi-VDADlisten_DTMF.agi'; + +$heavyDTMFcheck = 1; # set to 1 to check for heavy DTMF double-tones + +### set defaults for testing +$referring_extension = '83009'; +$phone_number = '9999999999'; +$lead_id = '999999999'; +$campaign_id = 'TESTCAMP'; +$product_code = 'ABC'; +$user = '1234'; +$pin = '0'; + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use Time::HiRes qw(gettimeofday); +use DBI; +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + ### allow for internal transfer data string "83009*3125551212*10000123*TESTCAMP*ABC*1234*" + if ($extension =~ /^8300\d\*/) + { + @EXT_vars = split(/\*/, $extension); + + $referring_extension = $EXT_vars[0]; # initial extension sent + $phone_number = $EXT_vars[1]; # phone number + $lead_id = $EXT_vars[2]; # lead_id in vicidial_list + $campaign_id = $EXT_vars[3]; # campaign id + $product_code = $EXT_vars[4]; # product code + $user = $EXT_vars[5]; # vicidial_user that sent the call here + } +} + + if ($AGILOG) {$agi_string = "INBOUND DTMF CALL VDCL STARTED"; &agi_output;} + +&enter_pin_number; + +if (length($pin) < 4) {$AGI->stream_file('buzz');} +else {$AGI->stream_file('ding');} + +### insert a record into the vicidial_list_pins table +$stmtA = "INSERT INTO vicidial_list_pins (entry_time,phone_number,lead_id,campaign_id,product_code,user,digits) values('$SQLdate','$phone_number','$lead_id','$campaign_id','$product_code','$user','$pin');"; + +$affected_rows = $dbhA->do($stmtA); + +$insert_pin_id = $dbhA->{'mysql_insertid'}; + +if ($AGILOG) {$agi_string = "|$stmtA|$insert_pin_id|$affected_rows|"; &agi_output;} + +$dbhA->disconnect(); + +exit; + + + + + + + + +sub enter_pin_number +{ +$lastdigit=''; +$lastdigittime=''; + +$AGI->stream_file('beep'); + +while ( ($digit_loop_counter < 4) ) + { + $digit = chr($AGI->wait_for_digit('30000')); # wait 30 seconds for input or until the pound key is pressed + if ($digit =~ /\d/) + { + # get seconds and microseconds since the epoch + ($s, $usec) = gettimeofday(); + $Susec = sprintf("%06s", $usec); + $utime = "$s$Susec"; + + if (length($lastdigittime)<1) {$lastdigittime = $utime; $lastdigit = 99; $difftime = 0;} + else + { + $difftime = ($utime - $lastdigittime); + } + print STDERR "$s$Susec - $digit - $lastdigittime - $difftime\n"; + if ( ($difftime < 200000) && ($digit == $lastdigit) && ($heavyDTMFcheck>0) ) + { + print STDERR "HEAVY DTMF DETECTED AND IGNORED: $digit - $lastdigit - $difftime\n"; + $digit_loop_counter = ($digit_loop_counter - 1); + } + else + { + $totalDTMF = "$totalDTMF$digit"; + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} + # $AGI->say_digits("$digit"); + } + $lastdigittime = $utime; $lastdigit = $digit; + undef $digit; + } + else + { + $digit_loop_counter=4; + } + + $digit_loop_counter++; + } + +$totalDTMF =~ s/\D//gi; +$pin = $totalDTMF; +if ($totalDTMF) + { + if ($AGILOG) {$agi_string = "digit |$digit| TotalDTMF |$totalDTMF|"; &agi_output;} + } +# $AGI->say_digits("$pin"); +} + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/agi/agi-VDADselective_CID.agi b/agc_2-X/branches/agc_2.0.5/agi/agi-VDADselective_CID.agi new file mode 100644 index 00000000..86fc4caf --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/agi-VDADselective_CID.agi @@ -0,0 +1,175 @@ +#!/usr/bin/perl +# +# agi-VDADselective_CID.agi version 0.1 *NO DB Connection* +# +# Runs before a call is placed outbound to filter outgoing callerIDnumber +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;outbound VICIDIAL calls: +#exten => _91NXXNXXXXXX,1,AGI(call_log.agi,${EXTEN}) +#exten => _91NXXNXXXXXX,2,AGI(agi-VDADselective_CID.agi,${EXTEN}) +#exten => _91NXXNXXXXXX,3,Dial(${TRUNKX}/${EXTEN:1},55,tTo) +#exten => _91NXXNXXXXXX,4,Hangup +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# changes: +# 60918-1042 - First build +# 71012-1239 - changed method for getting areacode +# + +$script = 'agi-VDADselective_CID.agi'; + +$AGILOG=0; +$FD=0; # force debug for testing + +# CLEAR AREA CODE LISTINGS: +# Florida: 239|305|321|352|386|407|561|689|727|754|772|786|813|836|850|861|863|904|941|954 + +$clear_area_codes = '239|305|321|352|386|407|561|689|727|754|772|786|813|836|850|861|863|904|941|954'; + + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } +} + +$|=1; +while() +{ + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + + if ( ($callerid =~ /\".*\"/) && ( (!$calleridname) or ($calleridname =~ /unknown/) ) ) + { + $calleridname = $callerid; + $calleridname =~ s/\<\d\d\d\d\d\d\d\d\d\d\>//gi; + $calleridname =~ s/\"|\" //gi; + } + + $callerid =~ s/\D//gi; + $calleridname =~ s/unknown//gi; + if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + + if (length($callerid)>0) {$phone_number = $callerid;} + else {$phone_number = '';} + if (length($calleridname)>0) {$VLcomments = $calleridname;} + else {$VLcomments = '';} +} + +$areacode = substr($extension, -10, 3); + + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + + +if ($areacode !~ /$clear_area_codes/) +{ + if ( (length($callerid)>20) && ($callerid =~ /\"\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S\S/) ) + { + $calleridname =~ s/^\"//gi; + $calleridname =~ s/\".*$//gi; + } + + ### set the callerid to the ACQS value(calleridname) + ## use these two lines for Asterisk 1.2 tree + $newcallerid = "\"$calleridname <0000000000>\""; + $AGI->set_callerid($newcallerid); + ## use these two lines for Asterisk 1.0 tree +# print "SET CALLERID \"$calleridname\" <0000000000>\n"; +# print "SET CALLERIDNAME \"$calleridname\"\n"; + + print STDERR "Setting CID \"$newcallerid\"\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "callerID changed: \"$calleridname\" \<0000000000\>"; &agi_output;} + + if ($FD > 0) {print STDERR "callerID changed: \"$calleridname\" \<0000000000\> |$areacode|\n";} +} +else +{ + if ($FD > 0) {print STDERR "callerID NOT changed: \"$calleridname\" <$callerid> |$areacode|\n";} + +} +if ($AGILOG) {$agi_string = "AGI Variables: |$extension|$areacode|$callerid|$calleridname|"; &agi_output;} + +exit; + + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/agi/agi-VDADselective_CID_hangup.agi b/agc_2-X/branches/agc_2.0.5/agi/agi-VDADselective_CID_hangup.agi new file mode 100644 index 00000000..90dae7f5 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/agi-VDADselective_CID_hangup.agi @@ -0,0 +1,226 @@ +#!/usr/bin/perl +# +# agi-VDADselective_CID_hangup.agi version 2.0.5 *NO DB Connection* +# +# Will hangup a call if it is not within the specified area codes +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;outbound VICIDIAL calls: +#exten => 8352,1,AGI(agi-VDADselective_CID_hangup.agi,${EXTEN}) +#exten => 8352,2,Playback(85100001) +#exten => 8352,3,Hangup +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# changes: +# 60918-1151 - First build +# + +$script = 'agi-VDADselective_CID_hangup.agi'; + +$AGILOG=1; + +# CLEAR AREA CODE LISTINGS: +# Florida: 239|305|321|352|386|407|561|689|727|754|772|786|813|836|850|861|863|904|941|954 + +$clear_area_codes = '239|305|321|352|386|407|561|689|727|754|772|786|813|836|850|861|863|904|941|954'; + + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } +} + +$|=1; +while() +{ + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + + if ( ($callerid =~ /\".*\"/) && ( (!$calleridname) or ($calleridname =~ /unknown/) ) ) + { + $calleridname = $callerid; + $calleridname =~ s/\<\d\d\d\d\d\d\d\d\d\d\>//gi; + $calleridname =~ s/\"|\" //gi; + } + + $callerid =~ s/\D//gi; + $calleridname =~ s/unknown//gi; + if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + + if (length($callerid)>0) {$phone_number = $callerid;} + else {$phone_number = '';} +} + +$CIDlead_id = $calleridname; +$CIDlead_id = substr($CIDlead_id, 11, 9); +$CIDlead_id = ($CIDlead_id + 0); + +$stmtA = "SELECT phone_number FROM vicidial_list where lead_id = '$CIDlead_id' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $phone_number = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); + +$areacode = $phone_number; +if (length($areacode) > 10) + { + $areacode =~ s/^91|^991|^981|^971|^961|^951//gi; + $areacode =~ s/^1//gi; + } +$areacode =~ s/\d\d\d\d\d\d\d$//gi; + + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + + +if ($areacode !~ /$clear_area_codes/) +{ + print "SET HANGUP $channel\n"; + checkresult($result); + if ($AGILOG) {$agi_string = "channel Hungup: $channel"; &agi_output;} + print "SET EXTENSION $extension\n"; + checkresult($result); + print "SET PRIORITY 3\n"; + checkresult($result); + +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$extension|$areacode|$phone_number|$callerid|$calleridname|$channel|"; &agi_output;} + +exit; + + + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + # print STDERR "FAIL ($res)\n"; + $fail++; + } else { + # print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + # print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/agi/agi-dtmf.agi b/agc_2-X/branches/agc_2.0.5/agi/agi-dtmf.agi new file mode 100644 index 00000000..4311aa9e --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/agi-dtmf.agi @@ -0,0 +1,140 @@ +#!/usr/bin/perl +# +# agi-dtmf.agi - script for playing DTMF tones received as the callerid field +# +# DTMF sound files must be in /var/lib/asterisk/sounds for this to work +# +# Accepted values are: 1 2 3 4 5 6 7 8 9 0 # * , +# comma means pause for 1 second +# +# exten => 8500998,1,Answer +# exten => 8500998,2,Playback(silence) +# exten => 8500998,3,AGI(agi-dtmf.agi) +#; exten => 8500998,3,AGI(agi-dtmf.agi,signalonly) ; optional signal only DTMF +# exten => 8500998,4,Hangup +# +# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 90312-1534 - Added signalonly option +# + +$signalonly=0; +### begin parsing run-time options ### +if (length($ARGV[0])>1) + { + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($ARGV[0] =~ /signalonly/) + {$signalonly=1;} + } + +$|=1; +while() + { + chomp; + last unless length($_); + if (/^agi_(\w+)\:\s+(.*)$/) + {$AGI{$1} = $2;} + if (/^agi_callerid\:\s+(.*)$/) {$caller_id = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$caller_idname = $1;} + } + +print STDERR "AGI Environment Dump:\n"; +foreach $i (sort keys %AGI) { + print STDERR " -- $i = $AGI{$i}\n"; +} + +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second + +use Asterisk::AGI; +my $agi = new Asterisk::AGI; + +my $clid = $agi->get_variable('CALLERID'); +my $clidname = $agi->get_variable('CALLERIDNAME'); + +print STDERR "X. |$clid|$caller_id|$clidname|\n"; + + +### sleep for 5 tenths of a second +usleep(1*500*1000); + +print "STREAM FILE silence \"\"\n"; + +$caller_id = "$caller_id$caller_idname"; + +@CALLERID_DIGITS = split(//, $caller_id); + +foreach (@CALLERID_DIGITS) +{ + +if ($CALLERID_DIGITS[$g] =~ /\d/) + { + if ($signalonly > 0) + {print "EXEC SendDTMF $CALLERID_DIGITS[$g] \"\"\n";} + else + {print "STREAM FILE $CALLERID_DIGITS[$g] \"\"\n";} + print STDERR "DIGIT: $CALLERID_DIGITS[$g]\n"; + } +else + { + if ($CALLERID_DIGITS[$g] =~ /\#/) + { + if ($signalonly > 0) + {print "EXEC SendDTMF \# \"\"\n";} + else + {print "STREAM FILE hash \"\"\n";} + } + if ($CALLERID_DIGITS[$g] =~ /\*/) + { + if ($signalonly > 0) + {print "EXEC SendDTMF \* \"\"\n";} + else + {print "STREAM FILE star \"\"\n";} + } + if ($CALLERID_DIGITS[$g] =~ /\,/) + {sleep(1);} + print STDERR "NON-DIGIT: $CALLERID_DIGITS[$g]\n"; + } +$g++; + +### sleep for 20 hundredths of a second +usleep(1*150*1000); + +print "STREAM FILE silence \"\"\n"; + +### sleep for 10 hundredths of a second +usleep(1*100*1000); +} + +print "STREAM FILE silence \"\"\n"; +$result = ; +checkresult($result); + +exit; + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + print STDERR "FAIL ($res)\n"; + $fail++; + } else { + print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + diff --git a/agc_2-X/branches/agc_2.0.5/agi/agi-record_prompts.agi b/agc_2-X/branches/agc_2.0.5/agi/agi-record_prompts.agi new file mode 100644 index 00000000..465e721c --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/agi-record_prompts.agi @@ -0,0 +1,439 @@ +#!/usr/bin/perl +# +# agi-record_prompts.agi version 2.0.5-3 +# +# for recording prompts to GSM file over the phone +# Saves recordings with 8-digit filenames to be played when exten is dialed +# +# ; prompts for recording AGI script, ID is 4321 +# ; first variable is format (gsm/wav) +# ; second variable is timeout in milliseconds (default is 360000 [6 minutes]) +# exten => 8167,1,Answer +# exten => 8167,2,AGI(agi-record_prompts.agi,wav-----360000) +# exten => 8167,3,Hangup +# exten => 8168,1,Answer +# exten => 8168,2,AGI(agi-record_prompts.agi,gsm-----360000) +# exten => 8168,3,Hangup +# +# ; playback of recorded prompts +# exten => _851XXXXX,1,Answer +# exten => _851XXXXX,2,Playback(${EXTEN}) +# exten => _851XXXXX,3,Hangup +# +# GSM Sound Files used: +# - ld_welcome_pin_number +# - ld_invalid_pin_number +# - vm-rec-generic +# - auth-thankyou +# - vm-review +# - vm-msgsaved +# - vm-goodbye +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGELOG +# 71226-1303 - Added option to change format GSM/WAV and timeout through flags +# + +$US='_'; + +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + ### list of command-line array arguments: + @ARGV_vars = split(/-----/, $ARGV[0]); + + $format = $ARGV_vars[0]; + $timeout = $ARGV_vars[1]; +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($V) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1;} + +} + +if ($format =~ /WAV/i) {$format = 'wav';} +else {$format = 'gsm';} + +if ($timeout < 1) {$timeout = 360000;} # default is 6 minutes + +$unique_id_out = $unique_id; +@NEW_ID = split(/\./, $unique_id_out); +$NEW_ID_DIF = '.0'; +$unique_id_out = "$NEW_ID[0]$NEW_ID_DIF$NEW_ID[1]"; + +$pin=''; +$stop_loop=0; +$quit_program=0; +$loop_counter=0; +$REC_id = 85100000; +$REC_next = 0; + +if (-e "/prompt_count.txt") +{ + open(test, "/prompt_count.txt") || die "can't open /prompt_count.txt: $!\n"; + @test = ; + close(test); + + $REC_next = ($test[0] + 1); + $REC_id = ($REC_id + $REC_next); + + open(test, ">/prompt_count.txt") || die "can't open /prompt_count.txt: $!\n"; + print test "$REC_next"; + close(test); +} +else +{ + open(test, ">/prompt_count.txt") || die "can't open /prompt_count.txt: $!\n"; + print test "1"; + close(test); + $REC_id = ($REC_id + 1); +} + +$session_recording = "$REC_id"; +print STDERR "Recording ID: $REC_id\n"; + +&welcome_1; + + + + + +print STDERR "DONE Exiting...\n"; +exit; + + + + + +##### SUBROUTINES ######################################################## +##### steps ######################################################## + +sub welcome_1 +{ +##### Play welcome message and capture PIN ######################################################## +while ( (length($pin) ne 4) && (!$stop_loop) ) + { + &enter_pin_number; + &log_transfer; + + + $loop_counter++; + if ($loop_counter > 3) {$stop_loop++; $quit_program++;} + print STDERR "\nPIN|$pin|\n"; + + } + + +##### Check PIN account in database ######################################################## +$rec_count=0; + &lookup_account; +if (!$rec_count) + { + # please enter the pin number followed by the pound key + + $AGI->stream_file('ld_invalid_pin_number'); + + $quit_program++; + } + + +##### quit program if error ######################################################## +if ($quit_program) + { + print STDERR "\nexiting the ping app\n"; + print "SET CONTEXT demo\n"; + checkresult($result); + print "SET EXTENSION 8158\n"; + checkresult($result); + print "SET PRIORITY 3\n"; + checkresult($result); + exit; + } + +&record_prompts; + + + +} + + + + + + +sub record_prompts +{ +$AGI->stream_file('beep'); +print STDERR "\nrecord_prompts AGI welcome\n"; +$AGI->stream_file('vm-rec-generic'); +$AGI->stream_file('beep'); + +$digit=''; +$interrupt_digit=''; + +$interrupt_digit = $AGI->record_file("$session_recording", "$format", '123456789*#', "$timeout", 1); + + print STDERR "interrupt_digit |$interrupt_digit|\n"; + +$digits_being_entered=1; +$digit_loop_counter=0; +$totalDTMF=''; +if ($interrupt_digit > 1) + { + if ($interrupt_digit == 35) {$interrupt_digit='#';} + if ($interrupt_digit == 42) {$interrupt_digit='*';} + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + + $totalDTMF=$interrupt_digit; + $digit_loop_counter++; + } + +$AGI->stream_file('beep'); + +if (length($totalDTMF) > 0) {print STDERR "digit |$digit| TotalDTMF |$totalDTMF|\n";} + +&verify_recording; + +} + + + + + +sub verify_recording +{ +$digit=''; +$interrupt_digit=''; + +$interrupt_digit = $AGI->stream_file('vm-review','123456789'); + + print STDERR "interrupt_digit |$interrupt_digit|\n"; + +$digits_being_entered=1; +$digit_loop_counter=0; +$totalDTMF=''; +if ($interrupt_digit > 1) + { + if ($interrupt_digit == 35) {$interrupt_digit='#';} + if ($interrupt_digit == 42) {$interrupt_digit='*';} + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + + $totalDTMF=$interrupt_digit; + $digit_loop_counter++; + } + + +while ($digit_loop_counter < 1) + { + $digit = chr($AGI->wait_for_digit('2000000')); # wait 0.2 seconds for input or until the pound key is pressed + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + print STDERR "digit |$digit| TotalDTMF |$totalDTMF|\n"; +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digit_loop_counter=1; + } + + $digit_loop_counter++; + } + +$totalDTMF =~ s/\D//gi; +$pin = $totalDTMF; + +if (length($pin)< 1) + { + &verify_recording; + } +else + { + if ($pin == '1') + { + $AGI->stream_file('auth-thankyou'); + $AGI->say_digits("$REC_id"); + $AGI->stream_file('beep'); + $AGI->say_digits("$REC_id"); + $AGI->stream_file('vm-goodbye'); + exit; + } + if ($pin == '2') + { + $AGI->stream_file("$session_recording"); + &verify_recording; + } + if ($pin == '3') + { + &record_prompts; + } + + } +} + + + + + +##### SUBROUTINES PROCESSES ######################################################## + +sub log_transfer +{ + +} + + + + + +sub lookup_account +{ + + if ($pin eq '4321') + { + $rec_count++; + } + + +} + + + + + +sub get_time_now #get the current date and time and epoch for logging call lengths and datetimes +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +} + + + + + +sub enter_pin_number +{ +# please enter the pin number followed by the pound key + +$interrupt_digit=''; + +$interrupt_digit = $AGI->stream_file('ld_welcome_pin_number','123456789'); + + print STDERR "interrupt_digit |$interrupt_digit|\n"; + +$digits_being_entered=1; +$totalDTMF=''; +if ($interrupt_digit > 0) + { + if ($interrupt_digit == 48) {$interrupt_digit=0;} + if ($interrupt_digit == 49) {$interrupt_digit=1;} + if ($interrupt_digit == 50) {$interrupt_digit=2;} + if ($interrupt_digit == 51) {$interrupt_digit=3;} + if ($interrupt_digit == 52) {$interrupt_digit=4;} + if ($interrupt_digit == 53) {$interrupt_digit=5;} + if ($interrupt_digit == 54) {$interrupt_digit=6;} + if ($interrupt_digit == 55) {$interrupt_digit=7;} + if ($interrupt_digit == 56) {$interrupt_digit=8;} + if ($interrupt_digit == 57) {$interrupt_digit=9;} + + $totalDTMF=$interrupt_digit; + } + +$digit_loop_counter=0; +while ( ($digits_being_entered) && ($digit_loop_counter < 20) ) + { + $digit = chr($AGI->wait_for_digit('90000')); # wait 90 seconds for input or until the pound key is pressed + if ($digit =~ /\d/) + { + $totalDTMF = "$totalDTMF$digit"; + print STDERR "digit |$digit| TotalDTMF |$totalDTMF|\n"; +# $AGI->say_digits("$digit"); + undef $digit; + } + else + { + $digits_being_entered=0; + } + + $digit_loop_counter++; + } + +$totalDTMF =~ s/\D//gi; +$pin = $totalDTMF; +if ($totalDTMF) {print STDERR "digit |$digit| TotalDTMF |$totalDTMF|\n";} +} + + + + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + print STDERR "FAIL ($res)\n"; + $fail++; + } else { + print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} diff --git a/agc_2-X/branches/agc_2.0.5/agi/call_inbound.agi b/agc_2-X/branches/agc_2.0.5/agi/call_inbound.agi new file mode 100644 index 00000000..49078c0e --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/call_inbound.agi @@ -0,0 +1,292 @@ +#!/usr/bin/perl +# +# call_inbound.agi version 2.0.5 *DBI-version* +# +# runs at the beginning and ending of every inbound call received +# +# You need to put lines similar to those below in your extensions.conf file: +# +# parameters for call_inbound.agi (7 fields separated by five dashes "-----"): +# 1. the extension of the phone to ring as defined in the asterisk.phones table +# 2. the phone number that was called, for the live_inbound/_log entry +# 3. a text description of the number that was called in +# 4-7. optional fields, they are also passed as fields in the GUI to web browser +# +# ;inbound calls: +#exten => _*NXXNXXXXXX*3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w) +# +# +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# changes: +# 60731-1435 - changed to use DBI-DBD::mysql +# - changed to use /etc/astguiclient.conf for configs +# 60817-1102 - added output options check from database +# + +$script = 'call_inbound.agi'; + +$US='_'; +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$Y = substr($year, 0, 1); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$filedate = "$US$Y$mon$mday$hour$min$sec$US"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + + ### list of command-line array arguments: + @ARGV_vars = split(/-----/, $ARGV[0]); + + $phone_ext = $ARGV_vars[0]; + $inbound_number = $ARGV_vars[1]; + $comment_a = $ARGV_vars[2]; + $comment_b = $ARGV_vars[3]; + $comment_c = $ARGV_vars[4]; + $comment_d = $ARGV_vars[5]; + $comment_e = $ARGV_vars[6]; + + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + if ( $calleridname =~ /\"/) {$calleridname =~ s/\"//gi;} + if ( (length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) ) + {$callerid = $calleridname;} + + ### allow for ANI being sent with the DNIS "*3125551212*9999*" + if ($extension =~ /^\*\d\d\d\d\d\d\d\d\d\d\*/) + { + $callerid = $extension; + $callerid =~ s/\*\d\d\d\d\*$//gi; + $callerid =~ s/\*\d\d\d\d$//gi; + $callerid =~ s/^\*//gi; + $extension =~ s/^\*\d\d\d\d\d\d\d\d\d\d\*//gi; + $extension =~ s/\*$//gi; + + ### set the callerid if sent with DNIS + print "SET CALLERID $callerid\n"; + checkresult($result); + } +} + +if ($AGILOG) {$agi_string = "AGI Environment Dump:"; &agi_output;} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + + + $callerid = "\"$calleridname\" <$callerid>"; + +if ($extension =~ /h/i) {$stage = 'END';} +else {$stage = 'START';} + +### call start stage +if ($stage =~ /START/) + { + + if ($AGILOG) {$agi_string = "+++++ CALL INBOUND START : |$now_date|"; &agi_output;} + +# if ($channel =~ /^SIP/) {$channel =~ s/-.*//gi;} +# if ($channel =~ /^Zap\//) {$channel =~ s/-\d$//gi;} + + $stmtA = "INSERT INTO live_inbound (uniqueid,channel,server_ip,caller_id,extension,phone_ext,start_time,inbound_number,comment_a,comment_b,comment_c,comment_d,comment_e) values('$unique_id','$channel','$VARserver_ip','$callerid','$extension','$phone_ext','$now_date','$inbound_number','$comment_a','$comment_b','$comment_c','$comment_d','$comment_e')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + + $stmtA = "INSERT INTO live_inbound_log (uniqueid,channel,server_ip,caller_id,extension,phone_ext,start_time,inbound_number,comment_a,comment_b,comment_c,comment_d,comment_e) values('$unique_id','$channel','$VARserver_ip','$callerid','$extension','$phone_ext','$now_date','$inbound_number','$comment_a','$comment_b','$comment_c','$comment_d','$comment_e')"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + + $dbhA->disconnect(); + } + + +### call end stage +else + { + if ($AGILOG) {$agi_string = "CALL INBOUND HUNG UP; deleting live_inbound record for $unique_id"; &agi_output;} + + $stmtA = "DELETE from live_inbound where uniqueid='$unique_id' and server_ip='$VARserver_ip'"; + $affected_rows = $dbhA->do($stmtA); + + $dbhA->disconnect(); + + if ($AGILOG) {$agi_string = "+++++ CALL INBOUND HUNGUP: |$unique_id|$affected_rows|"; &agi_output;} + } + +exit; + + + + +sub checkresult { + my ($res) = @_; + my $retval; + $tests++; + chomp $res; + if ($res =~ /^200/) { + $res =~ /result=(-?\d+)/; + if (!length($1)) { + print STDERR "FAIL ($res)\n"; + $fail++; + } else { + print STDERR "PASS ($1)\n"; + $pass++; + } + } else { + print STDERR "FAIL (unexpected result '$res')\n"; + $fail++; + } +} + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/agi/debug_speak.agi b/agc_2-X/branches/agc_2.0.5/agi/debug_speak.agi new file mode 100644 index 00000000..5039bbd3 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/debug_speak.agi @@ -0,0 +1,123 @@ +#!/usr/bin/perl +# +# debug_speak.agi version 2.0.5 +# +# runs during any extension and speaks the extension sent to it while +# printing the extension as well as lots of info about the call to STDERR +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;inbound errors with speaking of extension: +#exten => _XXXX,1,AGI(debug_speak.agi,${EXTEN}) +#exten => _XXXX,3,Hangup +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# + +$V = 1; # set to 1 for verbose mode +$CLIOUT = 1; # set to 1 for printing 1 line to STDERR +$SPEAK = 1; # set to 1 for saying invalid digits + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ +if ($CLIOUT) {print STDERR "Perl Environment Dump:\n";} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($CLIOUT) {print STDERR "$i|$ARGV[$i]|\n";} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} +else +{ +if ($V) {print "no command line options set\n";} +} + +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$|=1; +while() { + chomp; + last unless length($_); + if ($V) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} +} + + if ($V) + { + + if ($V) {print STDERR "AGI Environment Dump:\n";} + foreach $i (sort keys %AGI) { + if ($V) {print STDERR " -- $i = $AGI{$i}\n";} + } + } + +if ($CLIOUT) {print STDERR "****** DEBUG: |$unique_id|$channel|$extension|$type|$callerid|$calleridname|\n";} + +if ($SPEAK) + { + $AGI->stream_file('beep'); + sleep(1); + $AGI->say_digits("$extension"); + } + + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/agi/invalid_speak.agi b/agc_2-X/branches/agc_2.0.5/agi/invalid_speak.agi new file mode 100644 index 00000000..ee7466ab --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/invalid_speak.agi @@ -0,0 +1,139 @@ +#!/usr/bin/perl +# +# invalid_speak.agi version 2.0.5 +# +# runs during an invalid extension and speaks the extension sent to it while printing to STDERR +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;inbound errors with speaking of extension: +#exten => _XXXX,1,AGI(invalid_speak.agi,${EXTEN}) +#exten => _XXXX,2,Playback(invalid) +#exten => _XXXX,3,Hangup +# +#exten => _*XXXXXXXXXX*XXXX,1,AGI(invalid_speak.agi,${EXTEN}) +#exten => _*XXXXXXXXXX*XXXX,2,Playback(invalid) +#exten => _*XXXXXXXXXX*XXXX,3,Hangup +# +#exten => _*XXXXXXXXXX*XXXX*,1,AGI(invalid_speak.agi,${EXTEN}) +#exten => _*XXXXXXXXXX*XXXX*,2,Playback(invalid) +#exten => _*XXXXXXXXXX*XXXX*,3,Hangup +# +#exten => _**XXXX,1,AGI(invalid_speak.agi,${EXTEN}) +#exten => _**XXXX,2,Playback(invalid) +#exten => _**XXXX,3,Hangup +# +#exten => _**XXXX*,1,AGI(invalid_speak.agi,${EXTEN}) +#exten => _**XXXX*,2,Playback(invalid) +#exten => _**XXXX*,3,Hangup +# +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# + +$V = 0; # set to 1 for verbose mode +$CLIOUT = 1; # set to 1 for printing 1 line to STDERR +$SPEAK = 1; # set to 1 for saying invalid digits + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ +if ($V) {print STDERR "Perl Environment Dump:\n";} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($V) {print STDERR "$i|$ARGV[$i]|\n";} + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} +else +{ +if ($V) {print "no command line options set\n";} +} + +use Asterisk::AGI; +$AGI = new Asterisk::AGI; + +$|=1; +while() { + chomp; + last unless length($_); + if ($V) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} +} + + if ($V) + { + + if ($V) {print STDERR "AGI Environment Dump:\n";} + foreach $i (sort keys %AGI) { + if ($V) {print STDERR " -- $i = $AGI{$i}\n";} + } + } + +if ($CLIOUT) {print STDERR "****** INVALID EXTENSION: |$unique_id|$channel|$extension|$type|$callerid|\n";} + +if ($SPEAK) + { + $AGI->stream_file('beep'); + sleep(1); + $AGI->say_digits("$extension"); + } + + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/agi/park_CID.agi b/agc_2-X/branches/agc_2.0.5/agi/park_CID.agi new file mode 100644 index 00000000..02b5e730 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/agi/park_CID.agi @@ -0,0 +1,229 @@ +#!/usr/bin/perl +# +# park_CID.agi version 2.0.5 *DBI-version* +# +# runs before the park extension to populate the parked_channels entry with the channel's callerid +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;outbound dialing: +# exten => 8301,1,Answer +# exten => 8301,2,AGI(park_CID.agi) +# exten => 8301,3,Playback(park) +# exten => 8301,4,Hangup +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# changes: +# 60731-1423 - changed to use DBI-DBD::mysql +# - changed to use /etc/astguiclient.conf for configs +# 60815-1256 - added output options check from database +# + +$script = 'park_CID.agi'; + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + + +if (!$VARDB_port) {$VARDB_port='3306';} +if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/agiout.$year-$mon-$mday";} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } +$sthA->finish(); + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + if ($AGILOG) {$agi_string = "Perl Environment Dump:"; &agi_output;} + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) {$agi_string = "$i|$ARGV[$i]"; &agi_output;} + $i++; + } + if ($args =~ />| |\"/i) + { + @CID = split(/-----/, $args); + $fullCID=1; + $callerid = $CID[2]; + $calleridname = $CID[3]; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-V/i) + { + $V=1; + } + if ($args =~ /-debug/i) + { + $DG=1; + } + if ($args =~ /-dbAVS/i) + { + $DGA=1; + } + if ($args =~ /-q/i) + { + $q=1; + $Q=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} + + +$|=1; +while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (!$fullCID) # if no fullCID sent + { + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + if ( $calleridname =~ /\"/) {$calleridname =~ s/\"//gi;} + if ( (!$callerid) or ($callerid =~ /unknown/) ) + {$callerid = $calleridname;} + + ### allow for ANI being sent with the DNIS "*3125551212*9999*" + if ($extension =~ /^\*\d\d\d\d\d\d\d\d\d\d\*/) + { + $callerid = $extension; + $callerid =~ s/\*\d\d\d\d\*$//gi; + $callerid =~ s/^\*//gi; + $extension =~ s/^\*\d\d\d\d\d\d\d\d\d\d\*//gi; + $extension =~ s/\*$//gi; + } + $calleridname = $callerid; + } +} + +if ($AGILOG) {$agi_string = "AGI Environment Dump:"; &agi_output;} + +foreach $i (sort keys %AGI) +{ + if ($AGILOG) {$agi_string = " -- $i = $AGI{$i}"; &agi_output;} +} + + +if ($AGILOG) {$agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; &agi_output;} + +if ($AGILOG) {$agi_string = "CALL BEING PARKED"; &agi_output;} + + +$stmtA = "UPDATE parked_channels set channel_group='$callerid' where server_ip='$VARserver_ip' and channel='$channel';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); +if ($AGILOG) {$agi_string = "-- Park record updated: |$affected_rows| |$callerid|$channel|$VARserver_ip"; &agi_output;} + +$dbhA->disconnect(); + + +exit; + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + {print STDERR "$now_date|$script|$agi_string\n";} +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/bin/ADMIN_adjust_GMTnow_on_leads.pl b/agc_2-X/branches/agc_2.0.5/bin/ADMIN_adjust_GMTnow_on_leads.pl new file mode 100644 index 00000000..aaebccdf --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/ADMIN_adjust_GMTnow_on_leads.pl @@ -0,0 +1,1506 @@ +#!/usr/bin/perl + +# ADMIN_adjust_GMTnow_on_leads.pl verison 2.0.5 +# +# program goes throught the vicidial_list table and adjusts the gmt_offset_now +# field to change it to today's offset if needed because of Daylight Saving Time +# +# run every time you load leads into the vicidial_list table +# +# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# +# +# CHANGES +# 50810-1540 - Added database server variable definitions lookup +# 60615-1717 - Added definition GMT lookup from database not flat text file +# 60717-1045 - Changed to DBI by Marin Blu +# 60717-1531 - Changed to use /etc/astguiclient.conf for configuration +# 61108-1320 - Added new DST schemes for USA/Canada change and changes in other countries +# 61110-1204 - Added new DST scheme for Brazil +# 61128-1034 - Added postal code GMT lookup option +# 61219-1106 - Fixed updating for NULL gmt_offset records +# 70823-1633 - Added ability to restrict by list_id +# 80917-2202 - Added FSO-FSA for Eastern Australia (not active) +# Added LSS-FSA for New Zealand (not active) +# 90129-1114 - Added NANPA prefix lookup option +# + +$MT[0]=''; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n"; + print " [-q] = quiet\n"; + print " [-t] = test\n"; + print " [--debug] = debugging messages\n"; + print " [--debugX] = Super debugging messages\n"; + print " [--postal-code-gmt] = Attempt postal codes lookup for timezones\n"; + print " [--nanpa-prefix-gmt] = Attempt nanpa prefix lookup for timezones\n"; + print " [--singlelistid=XXX] = Only lookup and alter leads in one list_id\n"; + print "\n"; + + exit; + } + else + { + if ($args =~ /-q/i) + { + $q=1; $Q=1; + } + if ($args =~ /-t|--test/i) + { + $T=1; $TEST=1; + print "\n-----TESTING -----\n\n"; + } + if ($args =~ /--debug/i) + { + $DB=1; + print "\n-----DEBUGGING -----\n\n"; + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n----- SUPER-DUPER DEBUGGING -----\n\n"; + } + if ($args =~ /--postal-code-gmt/i) + { + $searchPOST=1; + print "\n----- DO POSTAL CODE LOOKUP -----\n\n"; + } + if ($args =~ /--nanpa-prefix-gmt/i) + { + $searchNANPA=1; + print "\n----- DO NANPA PREFIX LOOKUP -----\n\n"; + } + if ($args =~ /-singlelistid=/i) + { + @data_in = split(/-singlelistid=/,$args); + $singlelistid = $data_in[1]; + print "\n----- SINGLE LISTID OVERRIDE: $singlelistid -----\n\n"; + } + else + {$singlelistid = '';} + + + } +} +else +{ +print "no command line options set\n"; +} + +if ($DB) {print "STARTING TIME ZONE DAYLIGHT SAVING TIME CALCULATION SCRIPT\n\n\n\n";} + +### end parsing run-time options ### + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +$secX = time(); +# $secX = '1079989363'; # epoch for March 22, 2993 +# $secX = '1097989363'; # epoch for October 17, 2004 + + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($secX); + $mon++; + $year = ($year + 1900); + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +### Grab Server values from the database +$stmtA = "SELECT telnet_host,telnet_port,ASTmgrUSERNAME,ASTmgrSECRET,ASTmgrUSERNAMEupdate,ASTmgrUSERNAMElisten,ASTmgrUSERNAMEsend,max_vicidial_trunks,answer_transfer_agent,local_gmt,ext_context FROM servers where server_ip = '$server_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_countY=0; +while ($sthArows > $rec_countY) + { + @aryA = $sthA->fetchrow_array; + $DBtelnet_host = "$aryA[0]"; + $DBtelnet_port = "$aryA[1]"; + $DBASTmgrUSERNAME = "$aryA[2]"; + $DBASTmgrSECRET = "$aryA[3]"; + $DBASTmgrUSERNAMEupdate = "$aryA[4]"; + $DBASTmgrUSERNAMElisten = "$aryA[5]"; + $DBASTmgrUSERNAMEsend = "$aryA[6]"; + $DBmax_vicidial_trunks = "$aryA[7]"; + $DBanswer_transfer_agent= "$aryA[8]"; + $DBSERVER_GMT = "$aryA[9]"; + $DBext_context = "$aryA[10]"; + if ($DBtelnet_host) {$telnet_host = $DBtelnet_host;} + if ($DBtelnet_port) {$telnet_port = $DBtelnet_port;} + if ($DBASTmgrUSERNAME) {$ASTmgrUSERNAME = $DBASTmgrUSERNAME;} + if ($DBASTmgrSECRET) {$ASTmgrSECRET = $DBASTmgrSECRET;} + if ($DBASTmgrUSERNAMEupdate) {$ASTmgrUSERNAMEupdate = $DBASTmgrUSERNAMEupdate;} + if ($DBASTmgrUSERNAMElisten) {$ASTmgrUSERNAMElisten = $DBASTmgrUSERNAMElisten;} + if ($DBASTmgrUSERNAMEsend) {$ASTmgrUSERNAMEsend = $DBASTmgrUSERNAMEsend;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBext_context) {$ext_context = $DBext_context;} + $rec_countY++; + } +$sthA->finish(); + +$LOCAL_GMT_OFF = $SERVER_GMT; +$LOCAL_GMT_OFF_STD = $SERVER_GMT; + +if ($isdst) {$LOCAL_GMT_OFF++;} +if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + +if (length($singlelistid)> 0) {$listSQL = "where list_id='$singlelistid'"; $XlistSQL=" and list_id='$singlelistid' ";} +else {$listSQL = ''; $XlistSQL='';} +$stmtA = "select distinct phone_code from vicidial_list $listSQL;"; +if($DBX){print STDERR "\n|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; + $rec_countY=0; + @phone_codes=@MT; + $phone_codes_list='|'; + +while ($sthArows > $rec_countY) + { + @aryA = $sthA->fetchrow_array; + + $phone_codes[$rec_countY] = $aryA[0]; + $phone_codes_ORIG[$rec_countY] = $aryA[0]; + $phone_codes[$rec_countY] =~ s/011|0011| |\t|\r|\n//gi; + + # if ( ($phone_codes_list !~ /\|$phone_codes[$rec_countY]\|/) && (length($phone_codes[$rec_countY]) > 0) ) + # { + # $phone_codes_list .= "$phone_codes[$rec_countY]|"; + # } + + if ($DBX) {print "|",$aryA[0],"|","\n";} + $rec_countY++; + + } + $sthA->finish(); + if ($DB) {print " - Unique Country dial codes found: $rec_countY\n";} + + + ##### Put all country/area code records into an array for speed + $stmtA = "select * from vicidial_phone_codes;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countZ=0; + @codefile=@MT; + while ($sthArows > $rec_countZ) + { + @aryA = $sthA->fetchrow_array; + $codefile[$rec_countZ] = "$aryA[0]\t$aryA[1]\t$aryA[2]\t$aryA[3]\t$aryA[4]\t$aryA[5]\t$aryA[6]\t$aryA[7]\n"; + $rec_countZ++; + } + + if ($searchPOST > 0) + { + ##### Put all postal code records into an array for speed + $stmtA = "select * from vicidial_postal_codes;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countT=0; + @postalfile=@MT; + while ($sthArows > $rec_countT) + { + @aryA = $sthA->fetchrow_array; + $postalfile[$rec_countT] = "$aryA[0]\t$aryA[1]\t$aryA[2]\t$aryA[3]\t$aryA[4]\t$aryA[5]\t$aryA[6]"; + $rec_countT++; + } + $sthA->finish(); + if ($DB) {print " - GMT postal codes records: $rec_countT\n";} + } + + if ($searchNANPA > 0) + { + ##### Put all nanpa prefix records into an array for speed + $stmtA = "select areacode,prefix,GMT_offset,DST from vicidial_nanpa_prefix_codes;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countN=0; + @nanpafile=@MT; + while ($sthArows > $rec_countN) + { + if ($aryA[3] =~ /Y/) {$DST_method = 'SSM-FSN';} + else {$DST_method = '';} + @aryA = $sthA->fetchrow_array; + $nanpafile[$rec_countN] = "$aryA[0]\t$aryA[1]\t$aryA[2]\t$DST_method"; + $rec_countN++; + } + $sthA->finish(); + if ($DB) {print " - NANPA prefix records: $rec_countN\n";} + } + +$ep=0; $ei=0; $ee=0; +$d=0; +$TOTALpostal_updated_count=0; +$TOTALarea_updated_count=0; +$TOTALnanpa_updated_count=0; + +foreach (@phone_codes) + { + $match_code = $phone_codes[$d]; + $match_code_ORIG = $phone_codes[$d]; + + if ($DB) {print "\nRUNNING LOOP FOR COUNTRY CODE: $match_code\n";} + + ##### BEGIN RUN LOOP FOR EACH COUNTRY CODE/AREA CODE RECORD THAT IS INSIDE THIS COUNTRY CODE ##### + $e=0; + $area_updated_count=0; + foreach (@codefile) + { + chomp($codefile[$e]); + if ($codefile[$e] =~ /^$match_code\t/) + { + @m = split(/\t/, $codefile[$e]); + $area_code = $m[2]; + $area_state = $m[3]; + $area_GMT = $m[4]; $area_GMT =~ s/\+//gi; $area_GMT = ($area_GMT + 0); + $area_GMT_method = $m[6]; + if ($area_code =~ /S/) # look for state override flag in areacode field + { + $area_code =~ s/\D//gi; + $AC_match = " and phone_number LIKE \"$area_code%\" and state='$area_state'"; + if ($DB) {print " AREA CODE STATE OVERRIDE: $codefile[$e]\n";} + } + else + { + if ($area_code =~ /\*/) {$AC_match = '';} + else {$AC_match = " and phone_number LIKE \"$area_code%\"";} + } + if ($DBX) {print "PROCESSING THIS LINE: $codefile[$e]\n";} + + $stmtA = "select count(*) from vicidial_list where phone_code='$match_code_ORIG' $AC_match $XlistSQL;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countZ=0; + @aryA = $sthA->fetchrow_array; + $rec_countZ = $aryA[0]; + $sthA->finish(); + + if (!$rec_countZ) + { + # if ($DB) {print " IGNORING: $codefile[$e]\n";} + $ei++; + } + else + { + $AC_GMT_diff = ($area_GMT - $LOCAL_GMT_OFF_STD); + $AC_localtime = ($secX + (3600 * $AC_GMT_diff)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($AC_localtime); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + $AC_processed=0; + + if ( (!$AC_processed) && ($area_GMT_method =~ /SSM-FSN/) ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + &USACAN_dstcalc; + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /FSA-LSO/) ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + &NA_dstcalc; + if ($DBX) {print " DST: $NA_DST\n";} + if ($NA_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /LSM-LSO/) ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + &GBR_dstcalc; + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /LSO-LSM/) ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + &AUS_dstcalc; + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /FSO-LSM/) ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + &AUST_dstcalc; + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /FSO-FSA/) ) + { + if ($DBX) {print " First Sunday October to First Sunday April\n";} + &AUSE_dstcalc; + if ($DBX) {print " DST: $AUSE_DST\n";} + if ($AUSE_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /FSO-TSM/) ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + &NZL_dstcalc; + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /LSS-FSA/) ) + { + if ($DBX) {print " Last Sunday September to First Sunday April\n";} + &NZLN_dstcalc; + if ($DBX) {print " DST: $NZLN_DST\n";} + if ($NZLN_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /TSO-LSF/) ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + &BZL_dstcalc; + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$area_GMT++;} + $AC_processed++; + } + if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + + + if ($AC_processed) + { + $stmtA = "select count(*) from vicidial_list where phone_code='$match_code_ORIG' $AC_match and (gmt_offset_now != '$area_GMT' or gmt_offset_now IS NULL) $XlistSQL;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countW=0; + @aryA = $sthA->fetchrow_array; + $rec_countW = $aryA[0]; + $sthA->finish(); + + if (!$rec_countW) + { + if ($DBX) {print " ALL GMT ALREADY CORRECT FOR : $match_code_ORIG $area_code $area_GMT\n";} + $ei++; + } + else + { + $stmtA = "update vicidial_list set gmt_offset_now='$area_GMT' where phone_code='$match_code_ORIG' $AC_match and (gmt_offset_now != '$area_GMT' or gmt_offset_now IS NULL) $XlistSQL;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + if (!$T) + { + $affected_rows = $dbhA->do($stmtA); + $area_updated_count = ($area_updated_count + $affected_rows); + } + $Prec_countW = sprintf("%8s", $rec_countW); + if ($DB) {print " $Prec_countW records in $match_code_ORIG $area_code updated to $area_GMT\n";} + $ee++; + # sleep(1); + } + } + } + + $ep++; + } + else + { + # if ($DBX) {print " IGNORING: $codefile[$e]\n";} + $ei++; + } + $e++; + } + ##### END RUN LOOP FOR EACH COUNTRY CODE/AREA CODE RECORD THAT IS INSIDE THIS COUNTRY CODE ##### + if($DB){print "Area Code Updates: $area_updated_count\n";} + $TOTALarea_updated_count = ($TOTALarea_updated_count + $area_updated_count); + + + + + + ##### BEGIN RUN LOOP FOR EACH POSTAL CODE RECORD THAT IS INSIDE THIS COUNTRY CODE ##### + $postal_updated_count=0; + if ($searchPOST > 0) + { + if ($DB) {print "POSTAL CODE RUN START...\n";} + $e=0; + foreach (@postalfile) + { + chomp($postalfile[$e]); + if ($postalfile[$e] =~ /\t$match_code$/) + { + @m = split(/\t/, $postalfile[$e]); + $postal_code = $m[0]; + $postal_state = $m[1]; + $area_GMT = $m[2]; $area_GMT =~ s/\+//gi; $area_GMT = ($area_GMT + 0); + $area_GMT_method = $m[4]; + $AC_match = " and postal_code LIKE \"$postal_code%\""; + if ($DBX) {print "PROCESSING THIS LINE: $postalfile[$e]\n";} + + $stmtA = "select count(*) from vicidial_list where phone_code='$match_code_ORIG' $AC_match $XlistSQL;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countZ=0; + @aryA = $sthA->fetchrow_array; + $rec_countZ = $aryA[0]; + $sthA->finish(); + + if (!$rec_countZ) + { + # if ($DB) {print " IGNORING: $postalfile[$e]\n";} + $ei++; + } + else + { + $AC_GMT_diff = ($area_GMT - $LOCAL_GMT_OFF_STD); + $AC_localtime = ($secX + (3600 * $AC_GMT_diff)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($AC_localtime); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + $AC_processed=0; + + if ( (!$AC_processed) && ($area_GMT_method =~ /SSM-FSN/) ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + &USACAN_dstcalc; + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /FSA-LSO/) ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + &NA_dstcalc; + if ($DBX) {print " DST: $NA_DST\n";} + if ($NA_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /LSM-LSO/) ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + &GBR_dstcalc; + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /LSO-LSM/) ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + &AUS_dstcalc; + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /FSO-LSM/) ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + &AUST_dstcalc; + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /FSO-FSA/) ) + { + if ($DBX) {print " First Sunday October to First Sunday April\n";} + &AUSE_dstcalc; + if ($DBX) {print " DST: $AUSE_DST\n";} + if ($AUSE_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /FSO-TSM/) ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + &NZL_dstcalc; + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /LSS-FSA/) ) + { + if ($DBX) {print " Last Sunday September to First Sunday April\n";} + &NZLN_dstcalc; + if ($DBX) {print " DST: $NZLN_DST\n";} + if ($NZLN_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /TSO-LSF/) ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + &BZL_dstcalc; + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$area_GMT++;} + $AC_processed++; + } + if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + + + if ($AC_processed) + { + $stmtA = "select count(*) from vicidial_list where phone_code='$match_code_ORIG' $AC_match and (gmt_offset_now != '$area_GMT' or gmt_offset_now IS NULL) $XlistSQL;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countW=0; + @aryA = $sthA->fetchrow_array; + $rec_countW = $aryA[0]; + $sthA->finish(); + + if (!$rec_countW) + { + if ($DBX) {print " ALL GMT ALREADY CORRECT FOR : $match_code_ORIG $postal_code $area_GMT\n";} + $ei++; + } + else + { + $stmtA = "update vicidial_list set gmt_offset_now='$area_GMT' where phone_code='$match_code_ORIG' $AC_match and (gmt_offset_now != '$area_GMT' or gmt_offset_now IS NULL) $XlistSQL;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + if (!$T) + { + $affected_rows = $dbhA->do($stmtA); + $postal_updated_count = ($postal_updated_count + $affected_rows); + } + $Prec_countW = sprintf("%8s", $rec_countW); + if ($DB) {print " $Prec_countW records in $match_code_ORIG $postal_code updated to $area_GMT\n";} + $ee++; + # sleep(1); + } + } + } + + $ep++; + } + else + { + # if ($DBX) {print " IGNORING: $postalfile[$e]\n";} + $ei++; + } + $e++; + } + } + ##### END RUN LOOP FOR EACH POSTAL CODE RECORD THAT IS INSIDE THIS COUNTRY CODE ##### + if($DB){print "Postal Updates: $postal_updated_count\n";} + $TOTALpostal_updated_count = ($TOTALpostal_updated_count + $postal_updated_count); + + + + + + ##### START RUN LOOP FOR EACH NANPA PREFIX RECORD ##### + # areacode,prefix,GMT_offset,DST,SSM-FSN + $nanpa_updated_count=0; + if ( ($searchNANPA > 0) && ($match_code =~ /^1$/) ) + { + if ($DB) {print "NANPA PREFIX RUN START...\n";} + $e=0; + foreach (@nanpafile) + { + chomp($nanpafile[$e]); + @m = split(/\t/, $nanpafile[$e]); + $nanpa_areacode = $m[0]; + $nanpa_prefix = $m[1]; + $area_GMT = $m[2]; $area_GMT =~ s/\+//gi; $area_GMT = ($area_GMT + 0); + $area_GMT_method = $m[3]; + $AC_match = " and phone_number LIKE \"$nanpa_areacode$nanpa_prefix%\""; + if ($DBX) {print "PROCESSING THIS LINE: $nanpafile[$e]\n";} + + $stmtA = "select count(*) from vicidial_list where phone_code='$match_code_ORIG' $AC_match $XlistSQL;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countZ=0; + @aryA = $sthA->fetchrow_array; + $rec_countZ = $aryA[0]; + $sthA->finish(); + + if (!$rec_countZ) + { + # if ($DB) {print " IGNORING: $nanpafile[$e]\n";} + $ei++; + } + else + { + $AC_GMT_diff = ($area_GMT - $LOCAL_GMT_OFF_STD); + $AC_localtime = ($secX + (3600 * $AC_GMT_diff)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($AC_localtime); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + $AC_processed=0; + + if ( (!$AC_processed) && ($area_GMT_method =~ /SSM-FSN/) ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + &USACAN_dstcalc; + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /FSA-LSO/) ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + &NA_dstcalc; + if ($DBX) {print " DST: $NA_DST\n";} + if ($NA_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /LSM-LSO/) ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + &GBR_dstcalc; + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /LSO-LSM/) ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + &AUS_dstcalc; + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /FSO-LSM/) ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + &AUST_dstcalc; + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /FSO-FSA/) ) + { + if ($DBX) {print " First Sunday October to First Sunday April\n";} + &AUSE_dstcalc; + if ($DBX) {print " DST: $AUSE_DST\n";} + if ($AUSE_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /FSO-TSM/) ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + &NZL_dstcalc; + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /LSS-FSA/) ) + { + if ($DBX) {print " Last Sunday September to First Sunday April\n";} + &NZLN_dstcalc; + if ($DBX) {print " DST: $NZLN_DST\n";} + if ($NZLN_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($area_GMT_method =~ /TSO-LSF/) ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + &BZL_dstcalc; + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$area_GMT++;} + $AC_processed++; + } + if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + + + if ($AC_processed) + { + $stmtA = "select count(*) from vicidial_list where phone_code='$match_code_ORIG' $AC_match and (gmt_offset_now != '$area_GMT' or gmt_offset_now IS NULL) $XlistSQL;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countW=0; + @aryA = $sthA->fetchrow_array; + $rec_countW = $aryA[0]; + $sthA->finish(); + + if (!$rec_countW) + { + if ($DBX) {print " ALL GMT ALREADY CORRECT FOR : $match_code_ORIG $nanpa_code $area_GMT\n";} + $ei++; + } + else + { + $stmtA = "update vicidial_list set gmt_offset_now='$area_GMT' where phone_code='$match_code_ORIG' $AC_match and (gmt_offset_now != '$area_GMT' or gmt_offset_now IS NULL) $XlistSQL;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + if (!$T) + { + $affected_rows = $dbhA->do($stmtA); + $nanpa_updated_count = ($nanpa_updated_count + $affected_rows); + } + $Prec_countW = sprintf("%8s", $rec_countW); + if ($DB) {print " $Prec_countW records in $match_code_ORIG $nanpa_areacode $nanpa_prefix updated to $area_GMT\n";} + $ee++; + # sleep(1); + } + } + } + + $ep++; + $e++; + } + } + ##### START RUN LOOP FOR EACH NANPA PREFIX RECORD ##### + if($DB){print "NANPA Updates: $nanpa_updated_count\n";} + $TOTALnanpa_updated_count = ($TOTALnanpa_updated_count + $nanpa_updated_count); + + + $d++; + } + + + +$dbhA->disconnect(); + +if($DB){print "\nGRAND TOTALS:\n";} +if($DB){print "Postal Updates: $TOTALpostal_updated_count\n";} +if($DB){print "Area Code Updates: $TOTALarea_updated_count\n";} +if($DB){print "NANPA Updates: $TOTALnanpa_updated_count\n";} +if($DB){print "\nDONE\n";} +$secy = time(); $secz = ($secy - $secX); $minz = ($secz/60); # calculate script runtime so far +print " - process runtime ($secz sec) ($minz minutes)\n"; + +exit; + + + +sub USACAN_dstcalc { +#********************************************************************** +# SSM-FSN +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on Second Sunday March to First Sunday November at 2 am. +# INPUTS: +# mm INTEGER Month. +# dd INTEGER Day of the month. +# ns INTEGER Seconds into the day. +# dow INTEGER Day of week (0=Sunday, to 6=Saturday) +# OPTIONAL INPUT: +# timezone INTEGER hour difference UTC - local standard time +# (DEFAULT is blank) +# make calculations based on UTC time, +# which means shift at 10:00 UTC in April +# and 9:00 UTC in October +# OUTPUT: +# INTEGER 1 = DST, 0 = not DST +# +# S M T W T F S +# 1 2 3 4 5 6 7 +# 8 9 10 11 12 13 14 +#15 16 17 18 19 20 21 +#22 23 24 25 26 27 28 +#29 30 31 +# +# S M T W T F S +# 1 2 3 4 5 6 +# 7 8 9 10 11 12 13 +#14 15 16 17 18 19 20 +#21 22 23 24 25 26 27 +#28 29 30 31 +# +#********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 10) { + $USACAN_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; return 1; + } elsif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } + } else { + $USACAN_DST=0; return 0; + } + } elsif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; return 0; + } elsif ($dd < ($dow+1)) { + $USACAN_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } + } else { + $USACAN_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub NA_dstcalc { +#********************************************************************** +# FSA-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in April and last Sunday in October at 2 am. +#********************************************************************** + + $NA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $NA_DST=0; return 0; + } elsif ($mm >= 5 && $mm <= 9) { + $NA_DST=1; return 1; + } elsif ($mm == 4) { + if ($dd > 7) { + $NA_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } + } else { + $NA_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $NA_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $NA_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } + } else { + $NA_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub GBR_dstcalc { +#********************************************************************** +# LSM-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in March and last Sunday in October at 1 am. +#********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 9) { + $GBR_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $GBR_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } + } else { + $GBR_DST=1; return 1; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $GBR_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } + } else { + $GBR_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub AUS_dstcalc { +#********************************************************************** +# LSO-LSM - Australia, for 2008-9 Western Australia only +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUS_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUS_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } + } else { + $AUS_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $AUS_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } + } else { + $AUS_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub AUST_dstcalc { +#********************************************************************** +# FSO-LSM +# TASMANIA ONLY +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUST_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUST_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } + } else { + $AUST_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $AUST_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } + } else { + $AUST_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub AUSE_dstcalc { +#********************************************************************** +# FSO-FSA +# 2008+ EASTERN AUSTRALIA ONLY +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and first Sunday in April at 1 am. +#********************************************************************** + + $AUSE_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $AUSE_DST=1; return 1; + } elsif ($mm >= 5 && $mm <= 9) { + $AUSE_DST=0; return 0; + } elsif ($mm == 4) { + if ($dd > 7) { + $AUSE_DST=0; return 0; + } elsif ($dd >= ($dow+0)) { + if ($timezone) { + if ($dow == 0 && $ns < (3600+$timezone*3600)) { + $AUSE_DST=1; return 1; + } else { + $AUSE_DST=0; return 0; + } + } else { + if ($dow == 0 && $ns < 3600) { + $AUSE_DST=1; return 1; + } else { + $AUSE_DST=0; return 0; + } + } + } else { + $AUSE_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $AUSE_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $AUSE_DST=0; return 0; + } else { + $AUSE_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $AUSE_DST=0; return 0; + } else { + $AUSE_DST=1; return 1; + } + } + } else { + $AUSE_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub NZL_dstcalc { +#********************************************************************** +# FSO-TSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and third Sunday in March at 1 am. +#********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $NZL_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; return 1; + } elsif ($dd < ($dow+14)) { + $NZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } + } else { + $NZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $NZL_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } + } else { + $NZL_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub NZLN_dstcalc { +#********************************************************************** +# LSS-FSA +# 2007+ NEW ZEALAND +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in September and first Sunday in April at 1 am. +#********************************************************************** + + $NZLN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 9) { + $NZLN_DST=1; return 1; + } elsif ($mm >= 5 && $mm <= 9) { + $NZLN_DST=0; return 0; + } elsif ($mm == 4) { + if ($dd > 7) { + $NZLN_DST=0; return 0; + } elsif ($dd >= ($dow+0)) { + if ($timezone) { + if ($dow == 0 && $ns < (3600+$timezone*3600)) { + $NZLN_DST=1; return 1; + } else { + $NZLN_DST=0; return 0; + } + } else { + if ($dow == 0 && $ns < 3600) { + $NZLN_DST=1; return 1; + } else { + $NZLN_DST=0; return 0; + } + } + } else { + $NZLN_DST=0; return 0; + } + } elsif ($mm == 9) { + if ($dd < 25) { + $NZLN_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $NZLN_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZLN_DST=0; return 0; + } else { + $NZLN_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $NZLN_DST=0; return 0; + } else { + $NZLN_DST=1; return 1; + } + } + } else { + $NZLN_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + + +sub BZL_dstcalc { +#********************************************************************** +# TSO-LSF +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. Brazil +# Based on Third Sunday October to Last Sunday February at 1 am. +#********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; return 1; + } elsif ($mm >= 3 && $mm <= 9) { + $BZL_DST=0; return 0; + } elsif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; return 1; + } elsif ($dd < ($dow+22)) { + $BZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } + } else { + $BZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; return 0; + } elsif ($dd < ($dow+22)) { + $BZL_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } + } else { + $BZL_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc + diff --git a/agc_2-X/branches/agc_2.0.5/bin/ADMIN_area_code_populate.pl b/agc_2-X/branches/agc_2.0.5/bin/ADMIN_area_code_populate.pl new file mode 100644 index 00000000..8a18f088 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/ADMIN_area_code_populate.pl @@ -0,0 +1,381 @@ +#!/usr/bin/perl +# +# ADMIN_area_code_populate.pl version 2.0.5 +# +# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# +# Description: +# server application that allows load areacodes into to asterisk list database +# +# CHANGES +# 60615-1514 - Changed to ignore the header row +# 60807-1003 - Changed to DBI +# - changed to use /etc/astguiclient.conf for configs +# 61122-1902 - Added GMT_USA_zip.txt data import for USA postal GMT data +# 80416-1017 - Added download of phone codes from remote host +# 90129-0932 - Added optional NANP prefix/time date import "--load-NANPA-prefix" flag +# 90131-0933 - Added purge-table option to clear out old records before adding new ones +# 90204-0806 - Added duplicate check to nanpa list loading +# + + +# default path to astguiclient configuration file: +$PATHconf = "/etc/astguiclient.conf"; +$domain = "http://phonecodes.vicidial.com"; +$URL1 = "$domain/phone_codes_GMT-latest.txt"; +$URL2 = "$domain/GMT_USA_zip-latest.txt"; + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) + { + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n"; + print " [-q] = quiet\n"; + print " [-t] = test\n"; + print " [--debug] = debug output\n"; + print " [--use-local-files] = Do not download files, use local copies\n"; + print " [--load-NANPA-prefix] = Only loads the special NANPA list into the database\n"; + print " [--purge-table] = Purges the table to be inserted before inserting\n"; + print "\n files used by this script are:\n"; + print " phone_codes_GMT-latest.txt - Phone codes and country codes with time zone data\n"; + print " GMT_USA_zip-latest.txt - USA zip code and time zone data\n"; + print " NANPA_prefix-latest.txt - North American areacode, prefix and time zone data\n"; + + exit; + } + else + { + if ($args =~ /-debug/i) + { + $DB=1; + print "\n----- DEBUGGING -----\n\n"; + } + if ($args =~ /-debugX/i) + { + $DBX=1; + print "\n----- SUPER-DUPER DEBUGGING -----\n\n"; + } + else {$DBX=0;} + + if ($args =~ /-q/i) + { + $q=1; + } + if ($args =~ /-t/i) + { + $T=1; + $TEST=1; + print "\n----- TESTING -----\n\n"; + } + if ($args =~ /--use-local-files/i) + { + $use_local_files=1; + print "\n----- USING LOCAL DATA FILES -----\n\n"; + } + if ($args =~ /--load-NANPA-prefix/i) + { + $nanpa_load=1; + print "\n----- NANPA PHONE PREFIX DATA LOAD -----\n\n"; + } + if ($args =~ /--purge-table/i) + { + $purge_table=1; + print "\n----- PURGE TABLE BEFORE DATA LOAD -----\n\n"; + } + } + } +else + { + print "no command line options set\n"; + $args = ""; + $i=0; + $forcelistid = ''; + $format='standard'; + } +### end parsing run-time options ### + + + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP +$slash_star = '\*'; + + +use Time::HiRes ('gettimeofday','usleep','sleep'); # needed to have perl sleep in increments of less than one second +use DBI; + +if (!$VARDB_port) {$VARDB_port='3306';} + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + + +if ($nanpa_load > 0) + { + #### load special North American phone code prefix table #### + # LONG # NPA,NXX,,,,,,,,,,,,,TZ,DST,,,,,,,,,,,,LATITUDE,LONGITUDE,,,,, + # SHORT # NPA,NXX,TZ,DST,LATITUDE,LONGITUDE + + #### BEGIN vicidial_nanpa_prefix_codes population from NANPA_prefix-latest.txt file #### + open(prefixfile, "$PATHhome/NANPA_prefix-latest.txt") || die "can't open $PATHhome/NANPA_prefix-latest.txt: $!\n"; + @prefixfile = ; + close(prefixfile); + if ( ($purge_table > 0) && ($#prefixfile > 10) ) + { + print "\n----- PURGING DATA IN vicidial_nanpa_prefix_codes TABLE -----\n\n"; + + $stmtA = "DELETE from vicidial_nanpa_prefix_codes;"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); + $stmtA = "OPTIMIZE table vicidial_nanpa_prefix_codes;"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); + } + $pc=0; $full_file=0; $dup_count=0; $ins_count=0; $dup_list=''; + $ins_stmt="insert into vicidial_nanpa_prefix_codes VALUES "; + foreach (@prefixfile) + { + if (length($prefixfile[$pc])>60) + {$full_file++;} + if ( ($prefixfile[$pc] !~ /XXXXX/) && ($prefixfile[$pc] !~ /^\D|^0|^1/) ) + { + $prefixfile[$pc] =~ s/\r|\n|\t| $//gi; + @row=split(/,/, $prefixfile[$pc]); + $pc++; + $temp_insert=''; + $dup_check=0; + if ($full_file > 0) + { + if ($row[14] !~ /XX/) + { + $row[14] =~ s/NT/-3.50/gi; + $row[14] =~ s/AT/-4.00/gi; + $row[14] =~ s/ET/-5.00/gi; + $row[14] =~ s/CT/-6.00/gi; + $row[14] =~ s/MT/-7.00/gi; + $row[14] =~ s/PT/-8.00/gi; + $row[14] =~ s/AK/-9.00/gi; + $row[14] =~ s/HT/-10.00/gi; + $row[14] =~ s/AS/-11.00/gi; + $row[14] =~ s/CH/10.00/gi; + $row[15] =~ s/X/N/gi; + $temp_insert="('$row[0]', '$row[1]', '$row[14]', '$row[15]', '$row[27]', '$row[28]'), "; + } + } + else + {$temp_insert="('$row[0]', '$row[1]', '$row[2]', '$row[3]', '$row[4]', '$row[5]'), ";} + + $stmtA = "SELECT count(*) FROM vicidial_nanpa_prefix_codes where areacode='$row[0]' and prefix='$row[1]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_check = "$aryA[0]"; + } + $sthA->finish(); + + if ($dup_check < 1) + { + if ($dup_list =~ /$row[0]$row[1]\|/) + {$dup_count++;} + else + { + $dup_list .= "$row[0]$row[1]|"; + $ins_stmt .= "$temp_insert"; + $ins_count++; + } + } + else + {$dup_count++;} + + if ($pc =~ /000$/) + { + chop($ins_stmt); + chop($ins_stmt); + $affected_rows = $dbhA->do($ins_stmt) || die "can't execute query: |$ins_stmt| $!\n"; + $ins_stmt="insert into vicidial_nanpa_prefix_codes VALUES "; + print STDERR "$pc Lines $ins_count Inserted $dup_count Duplicates\r"; + $dup_list=''; + } + } + else + {$pc++;} + } + + chop($ins_stmt); + chop($ins_stmt); + $affected_rows = $dbhA->do($ins_stmt); + $ins_stmt="insert into vicidial_nanpa_prefix_codes VALUES "; + print STDERR "$pc Lines $ins_count Inserted $dup_count Duplicates\n"; + #### END vicidial_nanpa_prefix_codes population #### + + } +else + { + #### download the latest phone code table #### + chdir("$PATHhome"); + + if ($use_local_files < 1) + { + $wget = `which wget`; + print "$wget\n"; + if ( $wget eq "" ) + { + print STDERR "Please install the wget command\n"; + exit(); + } + + print STDERR "Downloading latest phone codes tables\n"; + + `wget $URL1`; + `wget $URL2`; + } + + #### BEGIN vicidial_phone_codes population from phone_codes_GMT-latest.txt file #### + open(codefile, "$PATHhome/phone_codes_GMT-latest.txt") || die "can't open $PATHhome/phone_codes_GMT-latest.txt: $!\n"; + @codefile = ; + close(codefile); + if ( ($purge_table > 0) && ($#codefile > 10) ) + { + print "\n----- PURGING DATA IN vicidial_phone_codes TABLE -----\n\n"; + + $stmtA = "DELETE from vicidial_phone_codes;"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); + $stmtA = "OPTIMIZE table vicidial_phone_codes;"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); + } + $pc=0; + $ins_stmt="insert into vicidial_phone_codes VALUES "; + foreach (@codefile) + { + @row=split(/\t/, $codefile[$pc]); + if ($codefile[$pc] !~ /GEOGRAPHIC DESCRIPTION/) + { + $pc++; + $row[7] =~ s/\r|\n|\t| $//gi; + $row[6] =~ s/\r|\n|\t| $//gi; + $row[5] =~ s/\r|\n|\t| $//gi; + $row[4] =~ s/\r|\n|\t| $//gi; + $row[3] =~ s/\r|\n|\t| $//gi; + $row[2] =~ s/\r|\n|\t| $//gi; + $row[1] =~ s/\r|\n|\t| $//gi; + $row[0] =~ s/\r|\n|\t| $//gi; + $ins_stmt.="('$row[0]', '$row[1]', '$row[2]', '$row[3]', '$row[4]', '$row[5]', '$row[6]', '$row[7]'), "; + if ($pc =~ /00$/) + { + chop($ins_stmt); + chop($ins_stmt); + $affected_rows = $dbhA->do($ins_stmt) || die "can't execute query: |$ins_stmt| $!\n"; + $ins_stmt="insert into vicidial_phone_codes VALUES "; + print STDERR "$pc\r"; + } + } + else {$pc++;} + } + + chop($ins_stmt); + chop($ins_stmt); + $affected_rows = $dbhA->do($ins_stmt); + $ins_stmt="insert into vicidial_phone_codes VALUES "; + print STDERR "$pc\n"; + #### END vicidial_phone_codes population #### + + + #### BEGIN vicidial_postal_codes population from GMT_USA_zip-latest.txt file #### + open(zipfile, "$PATHhome/GMT_USA_zip-latest.txt") || die "can't open $PATHhome/GMT_USA_zip-latest.txt: $!\n"; + @zipfile = ; + close(zipfile); + if ( ($purge_table > 0) && ($#zipfile > 10) ) + { + print "\n----- PURGING DATA IN vicidial_postal_codes TABLE -----\n\n"; + + $stmtA = "DELETE from vicidial_postal_codes;"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); + $stmtA = "OPTIMIZE table vicidial_postal_codes;"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); + } + $pc=0; + $ins_stmt="insert into vicidial_postal_codes VALUES "; + foreach (@zipfile) + { + @row=split(/\t/, $zipfile[$pc]); + $pc++; + $row[0] =~ s/\r|\n|\t| $//gi; + $row[1] =~ s/\r|\n|\t| $//gi; + $row[2] =~ s/\r|\n|\t| $//gi; + $row[3] =~ s/\r|\n|\t| $//gi; + if ($row[3] =~ /Y/i) {$DST_range = 'SSM-FSN';} + else {$DST_range = '';} + $ins_stmt.="('$row[0]', '$row[1]', '$row[2]', '$row[3]', '$DST_range', 'USA', '1'), "; + if ($pc =~ /00$/) + { + chop($ins_stmt); + chop($ins_stmt); + $affected_rows = $dbhA->do($ins_stmt) || die "can't execute query: |$ins_stmt| $!\n"; + $ins_stmt="insert into vicidial_postal_codes VALUES "; + print STDERR "$pc\r"; + } + } + + chop($ins_stmt); + chop($ins_stmt); + $affected_rows = $dbhA->do($ins_stmt); + $ins_stmt="insert into vicidial_postal_codes VALUES "; + print STDERR "$pc\n"; + #### END vicidial_postal_codes population #### + } + +$dbhA->disconnect(); + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/bin/ADMIN_backup.pl b/agc_2-X/branches/agc_2.0.5/bin/ADMIN_backup.pl new file mode 100644 index 00000000..b6a541bf --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/ADMIN_backup.pl @@ -0,0 +1,374 @@ +#!/usr/bin/perl +# +# ADMIN_backup.pl version 2.0.5 +# +# DESCRIPTION: +# Backs-up the asterisk database, conf/agi/sounds/bin files +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGELOG +# +# 80316-2211 - First Build +# 80317-1609 - Added Sangoma conf file backup and changed FTP settings +# 80328-0135 - Do not attempt to archive /etc/my.cnf is --without-db flag is set +# 80611-0549 - Added DB option to backup all tables except for log tables +# + + +$secT = time(); +$secX = time(); +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +$file_date = "$year-$mon-$mday"; +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$VDL_date = "$year-$mon-$mday 00:00:01"; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n"; + print " [--db-only] = only backup the database\n"; + print " [--db-without-logs] = do not backup the log tables in the database\n"; + print " [--conf-only] = only backup the asterisk conf files\n"; + print " [--without-db] = do not backup the database\n"; + print " [--without-conf] = do not backup the conf files\n"; + print " [--without-web] = do not backup web files\n"; + print " [--without-sounds] = do not backup asterisk sounds\n"; + print " [--ftp-transfer] = Transfer backup to FTP server\n"; + print " [--debugX] = super debug\n"; + print " [--debug] = debug\n"; + print " [-t] = test\n"; + exit; + } + else + { + if ($args =~ /--debug/i) + { + $DB=1; $FTPdebug=1; + print "\n----- DEBUG -----\n\n"; + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n----- SUPER DEBUG -----\n\n"; + } + if ($args =~ /-t/i) + { + $T=1; $TEST=1; + print "\n-----TESTING -----\n\n"; + } + if ($args =~ /--db-only/i) + { + $db_only=1; + print "\n----- Backup Database Only -----\n\n"; + } + if ($args =~ /--db-without-logs/i) + { + $db_without_logs=1; + print "\n----- Backup Database Without Logs -----\n\n"; + } + if ($args =~ /--conf-only/i) + { + $conf_only=1; + print "\n----- Conf Files Backup Only -----\n\n"; + } + if ($args =~ /--without-db/i) + { + $without_db=1; + print "\n----- No Database Backup -----\n\n"; + } + if ($args =~ /--without-conf/i) + { + $without_conf=1; + print "\n----- No Conf Files Backup -----\n\n"; + } + if ($args =~ /--without-sounds/i) + { + $without_sounds=1; + print "\n----- No Sounds Backup -----\n\n"; + } + if ($args =~ /--without-web/i) + { + $without_web=1; + print "\n----- No web files Backup -----\n\n"; + } + if ($args =~ /--ftp-transfer/i) + { + $ftp_transfer=1; + print "\n----- FTP transfer -----\n\n"; + } + } +} +else +{ +print "no command line options set\n"; +} + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_host/) && ($CLIREPORT_host < 1) ) + {$VARREPORT_host = $line; $VARREPORT_host =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_user/) && ($CLIREPORT_user < 1) ) + {$VARREPORT_user = $line; $VARREPORT_user =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_pass/) && ($CLIREPORT_pass < 1) ) + {$VARREPORT_pass = $line; $VARREPORT_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_port/) && ($CLIREPORT_port < 1) ) + {$VARREPORT_port = $line; $VARREPORT_port =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_dir/) && ($CLIREPORT_dir < 1) ) + {$VARREPORT_dir = $line; $VARREPORT_dir =~ s/.*=//gi;} + + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$ARCHIVEpath) {$ARCHIVEpath = "$PATHlogs/archive";} +if (!$VARDB_port) {$VARDB_port='3306';} + +### find tar binary to do the archiving +$tarbin = ''; +if ( -e ('/usr/bin/tar')) {$tarbin = '/usr/bin/tar';} +else + { + if ( -e ('/usr/local/bin/tar')) {$tarbin = '/usr/local/bin/tar';} + else + { + if ( -e ('/bin/tar')) {$tarbin = '/bin/tar';} + else + { + print "Can't find tar binary! Exiting...\n"; + exit; + } + } + } + +### find gzip binary to do the archiving +$gzipbin = ''; +if ( -e ('/usr/bin/gzip')) {$gzipbin = '/usr/bin/gzip';} +else + { + if ( -e ('/usr/local/bin/gzip')) {$gzipbin = '/usr/local/bin/gzip';} + else + { + if ( -e ('/bin/gzip')) {$gzipbin = '/bin/gzip';} + else + { + print "Can't find gzip binary! Exiting...\n"; + exit; + } + } + } + +### find mysqldump binary to do the database dump +$mysqldumpbin = ''; +if ( -e ('/usr/bin/mysqldump')) {$mysqldumpbin = '/usr/bin/mysqldump';} +else + { + if ( -e ('/usr/local/mysql/bin/mysqldump')) {$mysqldumpbin = '/usr/local/mysql/bin/mysqldump';} + else + { + if ( -e ('/bin/mysqldump')) {$mysqldumpbin = '/bin/mysqldump';} + else + { + print "Can't find mysqldump binary! MySQL backups will not work...\n"; + } + } + } + +$conf='_CONF_'; +$sangoma='_SANGOMA_'; +$linux='_LINUX_'; +$bin='_BIN_'; +$web='_WEB_'; +$sounds='_SOUNDS_'; +$all='_ALL_'; +$tar='.tar'; +$gz='.gz'; +$sgSTRING=''; + +`cd $ARCHIVEpath`; +`mkdir $ARCHIVEpath/temp`; + +if ( ($without_db < 1) && ($conf_only < 1) ) + { + ### BACKUP THE MYSQL FILES ON THE DB SERVER ### + if ($db_without_logs) + { + use DBI; + + ### connect to MySQL database defined in the conf file + $dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + $stmtA = "show tables;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + $log_tables=''; + $archive_tables=''; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + if ($aryA[0] =~ /_log|server_performance|vicidial_ivr|vicidial_hopper|vicidial_manager|web_client_sessions|imm_outcomes/) + { + $log_tables .= " $aryA[0]"; + } + else + { + $archive_tables .= " $aryA[0]"; + } + $rec_count++; + } + $sthA->finish(); + + $dump_non_log_command = "$mysqldumpbin --user=$VARDB_user --password=$VARDB_pass --lock-tables --flush-logs $VARDB_database $archive_tables | $gzipbin > $ARCHIVEpath/temp/$VARserver_ip$VARDB_database$wday.gz"; + $dump_log_command = "$mysqldumpbin --user=$VARDB_user --password=$VARDB_pass --lock-tables --flush-logs --no-data --no-create-db $VARDB_database $log_tables | $gzipbin > $ARCHIVEpath/temp/LOGS_$VARserver_ip$VARDB_database$wday.gz"; + + if ($DBX) {print "$dump_non_log_command\n$dump_log_command";} + `$dump_non_log_command`; + `$dump_log_command`; + } + else + { + `$mysqldumpbin --user=$VARDB_user --password=$VARDB_pass --lock-tables --flush-logs $VARDB_database | $gzipbin > $ARCHIVEpath/temp/$VARserver_ip$VARDB_database$wday.gz`; + } + } + +if ( ($without_conf < 1) && ($db_only < 1) ) + { + ### BACKUP THE ASTERISK CONF FILES ON THE SERVER ### + `$tarbin cf $ARCHIVEpath/temp/$VARserver_ip$conf$wday$tar /etc/astguiclient.conf /etc/zaptel.conf /etc/asterisk`; + + ### BACKUP THE WANPIPE CONF FILES(if there are any) ### + if ( -e ('/etc/wanpipe/wanpipe1.conf')) + { + $sgSTRING = '/etc/wanpipe/wanpipe1.conf '; + if ( -e ('/etc/wanpipe/wanpipe2.conf')) {$sgSTRING .= '/etc/wanpipe/wanpipe2.conf ';} + if ( -e ('/etc/wanpipe/wanpipe3.conf')) {$sgSTRING .= '/etc/wanpipe/wanpipe3.conf ';} + if ( -e ('/etc/wanpipe/wanpipe4.conf')) {$sgSTRING .= '/etc/wanpipe/wanpipe4.conf ';} + if ( -e ('/etc/wanpipe/wanpipe5.conf')) {$sgSTRING .= '/etc/wanpipe/wanpipe5.conf ';} + if ( -e ('/etc/wanpipe/wanpipe6.conf')) {$sgSTRING .= '/etc/wanpipe/wanpipe6.conf ';} + if ( -e ('/etc/wanpipe/wanpipe7.conf')) {$sgSTRING .= '/etc/wanpipe/wanpipe7.conf ';} + if ( -e ('/etc/wanpipe/wanpipe8.conf')) {$sgSTRING .= '/etc/wanpipe/wanpipe8.conf ';} + if ( -e ('/etc/wanpipe/wanrouter.rc')) {$sgSTRING .= '/etc/wanpipe/wanrouter.rc ';} + + `$tarbin cf $ARCHIVEpath/temp/$VARserver_ip$sangoma$wday$tar $sgSTRING`; + } + + if ($without_db < 1) + { + ### BACKUP OTHER CONF FILES ON THE SERVER ### + $files = ""; + if ( -e ('/etc/my.cnf')) {$files .= "/etc/my.cnf ";} + if ( -e ('/etc/hosts')) {$files .= "/etc/hosts ";} + if ( -e ('/etc/rc.d/rc.local')) {$files .= "/etc/rc.d/rc.local ";} + if ( -e ('/etc/resolv.conf')) {$files .= "/etc/resolv.conf ";} + + `$tarbin cf $ARCHIVEpath/temp/$VARserver_ip$linux$wday$tar $files`; + } + else + { + ### BACKUP OTHER CONF FILES ON THE SERVER ### + $files = ""; + if ( -e ('/etc/hosts')) {$files += "/etc/hosts ";} + if ( -e ('/etc/rc.d/rc.local')) {$files += "/etc/rc.d/rc.local ";} + if ( -e ('/etc/resolv.conf')) {$files += "/etc/resolv.conf ";} + + `$tarbin cf $ARCHIVEpath/temp/$VARserver_ip$linux$wday$tar $files`; + } + } + +if ( ($conf_only < 1) && ($db_only < 1) && ($without_web < 1) ) + { + ### BACKUP THE WEB FILES ON THE SERVER ### + `$tarbin cf $ARCHIVEpath/temp/$VARserver_ip$web$wday$tar $PATHweb`; + } + +if ( ($conf_only < 1) && ($db_only < 1) ) + { + ### BACKUP THE ASTGUICLIENT AND AGI FILES ON THE SERVER ### + `$tarbin cf $ARCHIVEpath/temp/$VARserver_ip$bin$wday$tar $PATHagi $PATHhome`; + } + +if ( ($conf_only < 1) && ($db_only < 1) && ($without_sounds < 1) ) + { + ### BACKUP THE ASTERISK SOUNDS ON THE SERVER ### + `$tarbin cf $ARCHIVEpath/temp/$VARserver_ip$sounds$wday$tar $PATHsounds`; + } + +### PUT EVERYTHING TOGETHER TO BE COMPRESSED ### +`$tarbin cf $ARCHIVEpath/$VARserver_ip$all$wday$tar $ARCHIVEpath/temp`; + +### REMOVE OLD GZ FILE +`rm -f $ARCHIVEpath/$VARserver_ip$all$wday$tar$gz`; + +### COMPRESS THE ALL FILE ### +`$gzipbin -9 $ARCHIVEpath/$VARserver_ip$all$wday$tar`; + +### REMOVE TEMP FILES ### +`rm -fR $ARCHIVEpath/temp`; + + +#### FTP to the Backup server and upload the final file +if ($ftp_transfer > 0) + { + use Net::FTP; + $ftp = Net::FTP->new("$VARREPORT_host", Port => "$VARREPORT_port", Debug => "$FTPdebug"); + $ftp->login("$VARREPORT_user","$VARREPORT_pass"); + $ftp->cwd("$VARREPORT_dir"); + $ftp->binary(); + $ftp->put("$ARCHIVEpath/$VARserver_ip$all$wday$tar$gz", "$VARserver_ip$all$wday$tar$gz"); + $ftp->quit; + } + + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/bin/ADMIN_keepalive_ALL.pl b/agc_2-X/branches/agc_2.0.5/bin/ADMIN_keepalive_ALL.pl new file mode 100644 index 00000000..ed46931e --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/ADMIN_keepalive_ALL.pl @@ -0,0 +1,940 @@ +#!/usr/bin/perl +# +# ADMIN_keepalive_ALL.pl version 2.0.5 +# +# Designed to keep the astGUIclient processes alive and check every minute +# Replaces all other ADMIN_keepalive scripts +# Uses /etc/astguiclient.conf file to know which processes to keepalive +# +# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# +# +# 61011-1348 - First build +# 61120-2011 - Added option 7 for AST_VDauto_dial_FILL.pl +# 80227-1526 - Added option 8 for ip_relay +# 80526-1350 - Added option 9 for timeclock auto-logout +# 90211-1236 - Added auto-generation of conf files functions +# 90213-0625 - Separated the reloading of Asterisk into 4 separate steps +# + +$DB=0; # Debug flag +$MT[0]=''; $MT[1]=''; +@psline=@MT; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-t] = test\n [-debug] = verbose debug messages\n[-debugX] = Extra-verbose debug messages\n\n"; + } + else + { + if ($args =~ /-debug/i) + { + $DB=1; # Debug flag + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n----- SUPER-DUPER DEBUGGING -----\n\n"; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} +else +{ +# print "no command line options set\n"; +} +### end parsing run-time options ### + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^VARactive_keepalives/) && ($CLIactive_keepalives < 1) ) + {$VARactive_keepalives = $line; $VARactive_keepalives =~ s/.*=//gi;} + $i++; + } + +##### list of codes for active_keepalives and what processes they correspond to +# X - NO KEEPALIVE PROCESSES (use only if you want none to be keepalive)\n"; +# 1 - AST_update\n"; +# 2 - AST_send_listen\n"; +# 3 - AST_VDauto_dial\n"; +# 4 - AST_VDremote_agents\n"; +# 5 - AST_VDadapt (If multi-server system, this must only be on one server)\n"; +# 6 - FastAGI_log\n"; +# 7 - AST_VDauto_dial_FILL\n"; +# 8 - ip_relay for blind monitoring\n"; +# 9 - Timeclock auto logout\n"; + +if ($VARactive_keepalives =~ /X/) + { + if ($DB) {print "X in active_keepalives, exiting...\n";} + exit; + } + +$AST_update=0; +$AST_send_listen=0; +$AST_VDauto_dial=0; +$AST_VDremote_agents=0; +$AST_VDadapt=0; +$FastAGI_log=0; +$AST_VDauto_dial_FILL=0; +$ip_relay=0; +$timeclock_auto_logout=0; +$runningAST_update=0; +$runningAST_send=0; +$runningAST_listen=0; +$runningAST_VDauto_dial=0; +$runningAST_VDremote_agents=0; +$runningAST_VDadapt=0; +$runningFastAGI_log=0; +$runningAST_VDauto_dial_FILL=0; +$runningip_relay=0; + +if ($VARactive_keepalives =~ /1/) + { + $AST_update=1; + if ($DB) {print "AST_update set to keepalive\n";} + } +if ($VARactive_keepalives =~ /2/) + { + $AST_send_listen=1; + if ($DB) {print "AST_send_listen set to keepalive\n";} + } +if ($VARactive_keepalives =~ /3/) + { + $AST_VDauto_dial=1; + if ($DB) {print "AST_VDauto_dial set to keepalive\n";} + } +if ($VARactive_keepalives =~ /4/) + { + $AST_VDremote_agents=1; + if ($DB) {print "AST_VDremote_agents set to keepalive\n";} + } +if ($VARactive_keepalives =~ /5/) + { + $AST_VDadapt=1; + if ($DB) {print "AST_VDadapt set to keepalive\n";} + } +if ($VARactive_keepalives =~ /6/) + { + $FastAGI_log=1; + if ($DB) {print "FastAGI_log set to keepalive\n";} + } +if ($VARactive_keepalives =~ /7/) + { + $AST_VDauto_dial_FILL=1; + if ($DB) {print "AST_VDauto_dial_FILL set to keepalive\n";} + } +if ($VARactive_keepalives =~ /8/) + { + $ip_relay=1; + if ($DB) {print "ip_relay set to keepalive\n";} + } +if ($VARactive_keepalives =~ /9/) + { + $timeclock_auto_logout=1; + if ($DB) {print "Check to see if Timeclock auto logout should run\n";} + } + +$REGhome = $PATHhome; +$REGhome =~ s/\//\\\//gi; + + + + + + +##### First, check and see which processes are running ##### + +### you may have to use a different ps command if you're not using Slackware Linux +# @psoutput = `ps -f -C AST_update --no-headers`; +# @psoutput = `ps -f -C AST_updat* --no-headers`; +# @psoutput = `/bin/ps -f --no-headers -A`; +# @psoutput = `/bin/ps -o pid,args -A`; ### use this one for FreeBSD +@psoutput = `/bin/ps -o "%p %a" --no-headers -A`; + +$i=0; +foreach (@psoutput) +{ +chomp($psoutput[$i]); +if ($DBX) {print "$i|$psoutput[$i]| \n";} +@psline = split(/\/usr\/bin\/perl /,$psoutput[$i]); + + if ($psline[1] =~ /$REGhome\/AST_update\.pl/) + { + $runningAST_update++; + if ($DB) {print "AST_update RUNNING: |$psline[1]|\n";} + } + if ($psline[1] =~ /AST_manager_se/) + { + $runningAST_send++; + if ($DB) {print "AST_send RUNNING: |$psline[1]|\n";} + } + if ($psline[1] =~ /AST_manager_li/) + { + $psoutput[$i] =~ s/ .*|\n|\r|\t| //gi; + $listen_pid[$runningAST_listen] = $psoutput[$i]; + $runningAST_listen++; + if ($DB) {print "AST_listen RUNNING: |$psline[1]|\n";} + } + if ($psline[1] =~ /$REGhome\/AST_VDauto_dial\.pl/) + { + $runningAST_VDauto_dial++; + if ($DB) {print "AST_VDauto_dial RUNNING: |$psline[1]|\n";} + } + if ($psline[1] =~ /$REGhome\/AST_VDremote_agents\.pl/) + { + $runningAST_VDremote_agents++; + if ($DB) {print "AST_VDremote_agents RUNNING: |$psline[1]|\n";} + } + if ($psline[1] =~ /$REGhome\/AST_VDadapt\.pl/) + { + $runningAST_VDadapt++; + if ($DB) {print "AST_VDadapt RUNNING: |$psline[1]|\n";} + } + if ($psline[1] =~ /$REGhome\/FastAGI_log\.pl/) + { + $runningFastAGI_log++; + if ($DB) {print "FastAGI_log RUNNING: |$psline[1]|\n";} + } + if ($psline[1] =~ /$REGhome\/AST_VDauto_dial_FILL\.pl/) + { + $runningAST_VDauto_dial_FILL++; + if ($DB) {print "AST_VDauto_dial_FILL RUNNING: |$psline[1]|\n";} + } + if ($psoutput[$i] =~ / ip_relay /) + { + $runningip_relay++; + if ($DB) {print "ip_relay RUNNING: |$psoutput[$i]|\n";} + } +$i++; +} + + + + + +##### Second, IF MORE THAN ONE LISTEN INSTANCE IS RUNNING, KILL THE SECOND ONE ##### +@psline=@MT; +@psoutput=@MT; +@listen_pid=@MT; +if ($runningAST_listen > 1) +{ +$runningAST_listen=0; + + sleep(1); + +### you may have to use a different ps command if you're not using Slackware Linux +# @psoutput = `ps -f -C AST_update --no-headers`; +# @psoutput = `ps -f -C AST_updat* --no-headers`; +# @psoutput = `/bin/ps -f --no-headers -A`; +# @psoutput = `/bin/ps -o pid,args -A`; ### use this one for FreeBSD +@psoutput = `/bin/ps -o "%p %a" --no-headers -A`; + +$i=0; +foreach (@psoutput) + { + chomp($psoutput[$i]); + if ($DBX) {print "$i|$psoutput[$i]| \n";} + @psline = split(/\/usr\/bin\/perl /,$psoutput[$i]); + $psoutput[$i] =~ s/^ *//gi; + $psoutput[$i] =~ s/ .*|\n|\r|\t| //gi; + + if ($psline[1] =~ /AST_manager_li/) + { + $listen_pid[$runningAST_listen] = $psoutput[$i]; + if ($DB) {print "AST_listen RUNNING: |$psline[1]|$listen_pid[$runningAST_listen]|\n";} + $runningAST_listen++; + } + + $i++; + } + +if ($runningAST_listen > 1) + { + if ($DB) {print "Killing AST_manager_listen... |$listen_pid[1]|\n";} + `/bin/kill -s 9 $listen_pid[1]`; + } +} + + + + + + + +##### Third, double-check that non-running scripts are not running ##### +@psline=@MT; +@psoutput=@MT; + +if ( + ( ($AST_update > 0) && ($runningAST_update < 1) ) || + ( ($AST_send_listen > 0) && ($runningAST_send < 1) ) || + ( ($AST_send_listen > 0) && ($runningAST_listen < 1) ) || + ( ($AST_VDauto_dial > 0) && ($runningAST_VDauto_dial < 1) ) || + ( ($AST_VDremote_agents > 0) && ($runningAST_VDremote_agents < 1) ) || + ( ($AST_VDadapt > 0) && ($runningAST_VDadapt < 1) ) || + ( ($FastAGI_log > 0) && ($runningFastAGI_log < 1) ) || + ( ($AST_VDauto_dial_FILL > 0) && ($runningAST_VDauto_dial_FILL < 1) ) || + ( ($ip_relay > 0) && ($runningip_relay < 1) ) + ) +{ + +if ($DB) {print "double check that processes are not running...\n";} + + sleep(1); + +`PERL5LIB="$PATHhome/libs"; export PERL5LIB`; +### you may have to use a different ps command if you're not using Slackware Linux +# @psoutput = `ps -f -C AST_update --no-headers`; +# @psoutput = `ps -f -C AST_updat* --no-headers`; +# @psoutput = `/bin/ps -f --no-headers -A`; +# @psoutput = `/bin/ps -o pid,args -A`; ### use this one for FreeBSD +@psoutput2 = `/bin/ps -o "%p %a" --no-headers -A`; +$i=0; +foreach (@psoutput2) + { + chomp($psoutput2[$i]); + if ($DBX) {print "$i|$psoutput2[$i]| \n";} + @psline = split(/\/usr\/bin\/perl /,$psoutput2[$i]); + + if ($psline[1] =~ /$REGhome\/AST_update\.pl/) + { + $runningAST_update++; + if ($DB) {print "AST_update RUNNING: |$psline[1]|\n";} + } + if ($psline[1] =~ /AST_manager_se/) + { + $runningAST_send++; + if ($DB) {print "AST_send RUNNING: |$psline[1]|\n";} + } + if ($psline[1] =~ /AST_manager_li/) + { + $runningAST_listen++; + if ($DB) {print "AST_listen RUNNING: |$psline[1]|\n";} + } + if ($psline[1] =~ /$REGhome\/AST_VDauto_dial\.pl/) + { + $runningAST_VDauto_dial++; + if ($DB) {print "AST_VDauto_dial RUNNING: |$psline[1]|\n";} + } + if ($psline[1] =~ /$REGhome\/AST_VDremote_agents\.pl/) + { + $runningAST_VDremote_agents++; + if ($DB) {print "AST_VDremote_agents RUNNING: |$psline[1]|\n";} + } + if ($psline[1] =~ /$REGhome\/AST_VDadapt\.pl/) + { + $runningAST_VDadapt++; + if ($DB) {print "AST_VDadapt RUNNING: |$psline[1]|\n";} + } + if ($psline[1] =~ /$REGhome\/FastAGI_log\.pl/) + { + $runningFastAGI_log++; + if ($DB) {print "FastAGI_log RUNNING: |$psline[1]|\n";} + } + if ($psline[1] =~ /$REGhome\/AST_VDauto_dial_FILL\.pl/) + { + $runningAST_VDauto_dial_FILL++; + if ($DB) {print "AST_VDauto_dial_FILL RUNNING: |$psline[1]|\n";} + } + if ($psoutput2[$i] =~ / ip_relay /) + { + $runningip_relay++; + if ($DB) {print "ip_relay RUNNING: |$psoutput2[$i]|\n";} + } + $i++; + } + + +if ( ($AST_update > 0) && ($runningAST_update < 1) ) + { + if ($DB) {print "starting AST_update...\n";} + # add a '-L' to the command below to activate logging + `/usr/bin/screen -d -m -S ASTupdate $PATHhome/AST_update.pl`; + } +if ( ($AST_send_listen > 0) && ($runningAST_send < 1) ) + { + if ($DB) {print "starting AST_manager_send...\n";} + # add a '-L' to the command below to activate logging + `/usr/bin/screen -d -m -S ASTsend $PATHhome/AST_manager_send.pl`; + } +if ( ($AST_send_listen > 0) && ($runningAST_listen < 1) ) + { + if ($DB) {print "starting AST_manager_listen...\n";} + # add a '-L' to the command below to activate logging + `/usr/bin/screen -d -m -S ASTlisten $PATHhome/AST_manager_listen.pl`; + } +if ( ($AST_VDauto_dial > 0) && ($runningAST_VDauto_dial < 1) ) + { + if ($DB) {print "starting AST_VDauto_dial...\n";} + # add a '-L' to the command below to activate logging + `/usr/bin/screen -d -m -S ASTVDauto $PATHhome/AST_VDauto_dial.pl`; + } +if ( ($AST_VDremote_agents > 0) && ($runningAST_VDremote_agents < 1) ) + { + if ($DB) {print "starting AST_VDremote_agents...\n";} + # add a '-L' to the command below to activate logging + `/usr/bin/screen -d -m -S ASTVDremote $PATHhome/AST_VDremote_agents.pl`; + } +if ( ($AST_VDadapt > 0) && ($runningAST_VDadapt < 1) ) + { + if ($DB) {print "starting AST_VDadapt...\n";} + # add a '-L' to the command below to activate logging + `/usr/bin/screen -d -m -S ASTVDadapt $PATHhome/AST_VDadapt.pl --debug`; + } +if ( ($FastAGI_log > 0) && ($runningFastAGI_log < 1) ) + { + if ($DB) {print "starting FastAGI_log...\n";} + # add a '-L' to the command below to activate logging + `/usr/bin/screen -d -m -S ASTfastlog $PATHhome/FastAGI_log.pl --debug`; + } +if ( ($AST_VDauto_dial_FILL > 0) && ($runningAST_VDauto_dial_FILL < 1) ) + { + if ($DB) {print "starting AST_VDauto_dial_FILL...\n";} + # add a '-L' to the command below to activate logging + `/usr/bin/screen -d -m -S ASTVDautoFILL $PATHhome/AST_VDauto_dial_FILL.pl`; + } +if ( ($ip_relay > 0) && ($runningip_relay < 1) ) + { + if ($DB) {print "starting ip_relay through relay_control...\n";} + `$PATHhome/ip_relay/relay_control start 2>/dev/null 1>&2`; + } +} + + + +### run the Timeclock auto-logout process ### +if ($timeclock_auto_logout > 0) + { + if ($DB) {print "running Timeclock auto-logout process...\n";} + `/usr/bin/screen -d -m -S Timeclock $PATHhome/ADMIN_timeclock_auto_logout.pl 2>/dev/null 1>&2`; + } + + + + + + + + +################################################################################ +##### START Creation of auto-generated conf files +################################################################################ + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +##### Get the settings for this server's server_ip ##### +$stmtA = "SELECT active_asterisk_server,generate_vicidial_conf,rebuild_conf_files,asterisk_version FROM servers where server_ip='$server_ip';"; +# print "$stmtA\n"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $active_asterisk_server = "$aryA[0]"; + $generate_vicidial_conf = "$aryA[1]"; + $rebuild_conf_files = "$aryA[2]"; + $asterisk_version = "$aryA[3]"; + $i++; + } +$sthA->finish(); + + +if ( ($active_asterisk_server =~ /Y/) && ($generate_vicidial_conf =~ /Y/) && ($rebuild_conf_files =~ /Y/) ) + { + if ($DB) {print "generating new auto-gen conf files\n";} + + if (-e "/root/asterisk_command_reload_iax2") + { + $stmtA="UPDATE servers SET rebuild_conf_files='N' where server_ip='$server_ip';"; + $affected_rows = $dbhA->do($stmtA); + } + + ### format the new server_ip dialstring for example to use with extensions.conf + $S='*'; + if( $VARserver_ip =~ m/(\S+)\.(\S+)\.(\S+)\.(\S+)/ ) + { + $a = leading_zero($1); + $b = leading_zero($2); + $c = leading_zero($3); + $d = leading_zero($4); + $VARremDIALstr = "$a$S$b$S$c$S$d"; + } + + $Lext = "\n"; + $Lext .= "; Local Server: $server_ip\n"; + $Lext .= "exten => _$VARremDIALstr*.,1,Goto(default,\${EXTEN:16},1)\n"; + + ##### Get the server_id for this server's server_ip ##### + $stmtA = "SELECT server_id FROM servers where server_ip='$server_ip';"; + # print "$stmtA\n"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $server_id = "$aryA[0]"; + $i++; + } + $sthA->finish(); + + ##### Get the server_ips and server_ids of all VICIDIAL servers on the network ##### + $stmtA = "SELECT server_ip,server_id FROM servers where server_ip!='$server_ip' and active_asterisk_server='Y' order by server_ip;"; + # print "$stmtA\n"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $i=0; + while ($sthArows > $i) + { + @aryA = $sthA->fetchrow_array; + $server_ip[$i] = "$aryA[0]"; + $server_id[$i] = "$aryA[1]"; + + if( $server_ip[$i] =~ m/(\S+)\.(\S+)\.(\S+)\.(\S+)/ ) + { + $a = leading_zero($1); + $b = leading_zero($2); + $c = leading_zero($3); + $d = leading_zero($4); + $VARremDIALstr = "$a$S$b$S$c$S$d"; + } + $ext .= "TRUNK$server_id[$i] = IAX2/$server_id:test\@$server_ip[$i]:4569\n"; + + $iax .= "register => $server_id:test\@$server_ip[$i]:4569\n"; + + $Lext .= "; Remote Server VDAD extens: $server_id[$i] $server_ip[$i]\n"; + $Lext .= "exten => _$VARremDIALstr*.,1,Dial(\${TRUNK$server_id[$i]}/\${EXTEN:16},55,o)\n"; + + $Liax .= "\n"; + $Liax .= "[$server_id[$i]]\n"; + $Liax .= "accountcode=IAX$server_id[$i]\n"; + $Liax .= "secret=test\n"; + $Liax .= "type=friend\n"; + $Liax .= "context=default\n"; + $Liax .= "auth=plaintext\n"; + $Liax .= "host=dynamic\n"; + $Liax .= "permit=0.0.0.0/0.0.0.0\n"; + $Liax .= "disallow=all\n"; + $Liax .= "allow=ulaw\n"; + $Liax .= "qualify=yes\n"; + + $i++; + } + $sthA->finish(); + + + ##### Get the IAX carriers for this server_ip ##### + $stmtA = "SELECT carrier_id,carrier_name,registration_string,template_id,account_entry,globals_string,dialplan_entry FROM vicidial_server_carriers where server_ip='$server_ip' and active='Y' and protocol='IAX2' order by carrier_id;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $i=0; + while ($sthArows > $i) + { + @aryA = $sthA->fetchrow_array; + $carrier_id[$i] = "$aryA[0]"; + $carrier_name[$i] = "$aryA[1]"; + $registration_string[$i] = "$aryA[2]"; + $template_id[$i] = "$aryA[3]"; + $account_entry[$i] = "$aryA[4]"; + $globals_string[$i] = "$aryA[5]"; + $dialplan_entry[$i] = "$aryA[6]"; + $i++; + } + $sthA->finish(); + + $i=0; + while ($sthArows > $i) + { + $template_contents[$i]=''; + if ( (length($template_id[$i]) > 1) && ($template_id[$i] !~ /--NONE--/) ) + { + $stmtA = "SELECT template_contents FROM vicidial_conf_templates where template_id='$template_id[$i]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthBrows=$sthA->rows; + if ($sthBrows > 0) + { + @aryA = $sthA->fetchrow_array; + $template_contents[$i] = "$aryA[0]"; + } + $sthA->finish(); + } + $ext .= "$globals_string[$i]\n"; + + $iax .= "$registration_string[$i]\n"; + + $Lext .= "; VICIDIAL Carrier: $carrier_id[$i] - $carrier_name[$i]\n"; + $Lext .= "$dialplan_entry[$i]\n"; + + $Liax .= "; VICIDIAL Carrier: $carrier_id[$i] - $carrier_name[$i]\n"; + $Liax .= "$account_entry[$i]\n"; + $Liax .= "$template_contents[$i]\n"; + + $i++; + } + + + + ##### Get the SIP carriers for this server_ip ##### + $stmtA = "SELECT carrier_id,carrier_name,registration_string,template_id,account_entry,globals_string,dialplan_entry FROM vicidial_server_carriers where server_ip='$server_ip' and active='Y' and protocol='SIP' order by carrier_id;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $i=0; + while ($sthArows > $i) + { + @aryA = $sthA->fetchrow_array; + $carrier_id[$i] = "$aryA[0]"; + $carrier_name[$i] = "$aryA[1]"; + $registration_string[$i] = "$aryA[2]"; + $template_id[$i] = "$aryA[3]"; + $account_entry[$i] = "$aryA[4]"; + $globals_string[$i] = "$aryA[5]"; + $dialplan_entry[$i] = "$aryA[6]"; + $i++; + } + $sthA->finish(); + + $i=0; + while ($sthArows > $i) + { + $template_contents[$i]=''; + if ( (length($template_id[$i]) > 1) && ($template_id[$i] !~ /--NONE--/) ) + { + $stmtA = "SELECT template_contents FROM vicidial_conf_templates where template_id='$template_id[$i]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthBrows=$sthA->rows; + if ($sthBrows > 0) + { + @aryA = $sthA->fetchrow_array; + $template_contents[$i] = "$aryA[0]"; + } + $sthA->finish(); + } + $ext .= "$globals_string[$i]\n"; + + $sip .= "$registration_string[$i]\n"; + + $Lext .= "; VICIDIAL Carrier: $carrier_id[$i] - $carrier_name[$i]\n"; + $Lext .= "$dialplan_entry[$i]\n"; + + $Lsip .= "; VICIDIAL Carrier: $carrier_id[$i] - $carrier_name[$i]\n"; + $Lsip .= "$account_entry[$i]\n"; + $Lsip .= "$template_contents[$i]\n"; + + $i++; + } + + + + ##### Get the IAX phone entries ##### + $stmtA = "SELECT extension,dialplan_number,voicemail_id,pass,template_id,conf_override,email,template_id,conf_override FROM phones where server_ip='$server_ip' and protocol='IAX2' and active='Y' order by extension;"; + # print "$stmtA\n"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $i=0; + while ($sthArows > $i) + { + @aryA = $sthA->fetchrow_array; + $extension[$i] = "$aryA[0]"; + $dialplan[$i] = "$aryA[1]"; + $voicemail[$i] = "$aryA[2]"; + $pass[$i] = "$aryA[3]"; + $template_id[$i] = "$aryA[4]"; + $conf_override[$i] ="$aryA[5]"; + $email[$i] = "$aryA[6]"; + $template_id[$i] = "$aryA[7]"; + $conf_override[$i] ="$aryA[8]"; + $i++; + } + $sthA->finish(); + + $i=0; + while ($sthArows > $i) + { + $conf_entry_written=0; + $template_contents[$i]=''; + if ( (length($template_id[$i]) > 1) && ($template_id[$i] !~ /--NONE--/) ) + { + $stmtA = "SELECT template_contents FROM vicidial_conf_templates where template_id='$template_id[$i]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthBrows=$sthA->rows; + if ($sthBrows > 0) + { + @aryA = $sthA->fetchrow_array; + $template_contents[$i] = "$aryA[0]"; + + $Piax .= "\n\[$extension[$i]\]\n"; + $Piax .= "username=$extension[$i]\n"; + $Piax .= "secret=$pass[$i]\n"; + $Piax .= "mailbox=$voicemail[$i]\n"; + $Piax .= "$template_contents[$i]\n"; + + $conf_entry_written++; + } + $sthA->finish(); + } + if (length($conf_override[$i]) > 10) + { + $Piax .= "\n\[$extension[$i]\]\n"; + $Piax .= "$conf_override[$i]\n"; + $conf_entry_written++; + } + if ($conf_entry_written < 1) + { + $Piax .= "\n\[$extension[$i]\]\n"; + $Piax .= "username=$extension[$i]\n"; + $Piax .= "secret=$pass[$i]\n"; + $Piax .= "mailbox=$voicemail[$i]\n"; + $Piax .= "context=default\n"; + $Piax .= "type=friend\n"; + $Piax .= "auth=md5\n"; + $Piax .= "host=dynamic\n"; + } + $Pext .= "exten => $dialplan[$i],1,Dial(IAX2/$extension[$i])\n"; + $Pext .= "exten => $dialplan[$i],2,Voicemail,u$voicemail[$i]\n"; + + $vm .= "$voicemail[$i] => $voicemail[$i],$extension[$i] Mailbox,$email[$i]\n"; + + $i++; + } + + + ##### Get the SIP phone entries ##### + $stmtA = "SELECT extension,dialplan_number,voicemail_id,pass,template_id,conf_override,email,template_id,conf_override FROM phones where server_ip='$server_ip' and protocol='SIP' and active='Y' order by extension;"; + # print "$stmtA\n"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $i=0; + while ($sthArows > $i) + { + @aryA = $sthA->fetchrow_array; + $extension[$i] = "$aryA[0]"; + $dialplan[$i] = "$aryA[1]"; + $voicemail[$i] = "$aryA[2]"; + $pass[$i] = "$aryA[3]"; + $template_id[$i] = "$aryA[4]"; + $conf_override[$i] ="$aryA[5]"; + $email[$i] = "$aryA[6]"; + $template_id[$i] = "$aryA[7]"; + $conf_override[$i] ="$aryA[8]"; + $i++; + } + $sthA->finish(); + + $i=0; + while ($sthArows > $i) + { + $conf_entry_written=0; + $template_contents[$i]=''; + if ( (length($template_id[$i]) > 1) && ($template_id[$i] !~ /--NONE--/) ) + { + $stmtA = "SELECT template_contents FROM vicidial_conf_templates where template_id='$template_id[$i]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthBrows=$sthA->rows; + if ($sthBrows > 0) + { + @aryA = $sthA->fetchrow_array; + $template_contents[$i] = "$aryA[0]"; + + $Psip .= "\n\[$extension[$i]\]\n"; + $Psip .= "username=$extension[$i]\n"; + $Psip .= "secret=$pass[$i]\n"; + $Psip .= "mailbox=$voicemail[$i]\n"; + $Psip .= "$template_contents[$i]\n"; + + $conf_entry_written++; + } + $sthA->finish(); + } + if (length($conf_override[$i]) > 10) + { + $Psip .= "\n\[$extension[$i]\]\n"; + $Psip .= "$conf_override[$i]\n"; + $conf_entry_written++; + } + if ($conf_entry_written < 1) + { + $Psip .= "\n\[$extension[$i]\]\n"; + $Psip .= "username=$extension[$i]\n"; + $Psip .= "secret=$pass[$i]\n"; + $Psip .= "mailbox=$voicemail[$i]\n"; + $Psip .= "context=default\n"; + $Psip .= "type=friend\n"; + $Psip .= "host=dynamic\n"; + } + $Pext .= "exten => $dialplan[$i],1,Dial(SIP/$extension[$i])\n"; + $Pext .= "exten => $dialplan[$i],2,Voicemail,u$voicemail[$i]\n"; + + $vm .= "$voicemail[$i] => $voicemail[$i],$extension[$i] Mailbox,$email[$i]\n"; + + $i++; + } + + + if ($DB) {print "writing auto-gen conf files\n";} + + open(ext, ">/etc/asterisk/extensions-vicidial.conf") || die "can't open /etc/asterisk/extensions-vicidial.conf: $!\n"; + open(iax, ">/etc/asterisk/iax-vicidial.conf") || die "can't open /etc/asterisk/iax-vicidial.conf: $!\n"; + open(sip, ">/etc/asterisk/sip-vicidial.conf") || die "can't open /etc/asterisk/sip-vicidial.conf: $!\n"; + open(vm, ">/etc/asterisk/voicemail-vicidial.conf") || die "can't open /etc/asterisk/voicemail-vicidial.conf: $!\n"; + + print ext "; WARNING- THIS FILE IS AUTO-GENERATED BY VICIDIAL, ANY EDITS YOU MAKE WILL BE LOST\n"; + print ext "[globals]\n"; + print ext "$ext\n"; + print ext "[vicidial-auto]\n"; + print ext "exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME})\n"; + print ext "$Lext\n"; + print ext "$Pext\n"; + + print iax "; WARNING- THIS FILE IS AUTO-GENERATED BY VICIDIAL, ANY EDITS YOU MAKE WILL BE LOST\n"; + print iax "$iax\n"; + print iax "$Liax\n"; + print iax "$Piax\n"; + + print sip "; WARNING- THIS FILE IS AUTO-GENERATED BY VICIDIAL, ANY EDITS YOU MAKE WILL BE LOST\n"; + print sip "$sip\n"; + print sip "$Lsip\n"; + print sip "$Psip\n"; + + print vm "; WARNING- THIS FILE IS AUTO-GENERATED BY VICIDIAL, ANY EDITS YOU MAKE WILL BE LOST\n"; + print vm "[vicidial-auto]\n"; + print vm "$vm\n"; + + close(ext); + close(iax); + close(sip); + close(vm); + + + sleep(1); + + ### reload Asterisk + if ($DB) {print "reloading asterisk\n";} + if ($asterisk_version =~ /^1.2/) + { + `echo iax2\ reload > /root/asterisk_command_reload_iax2`; + `echo sip\ reload > /root/asterisk_command_reload_sip`; + `echo extensions\ reload > /root/asterisk_command_reload_extensions`; + `echo reload\ app_voicemail.so > /root/asterisk_command_reload_voicemail`; + } + else + { + `echo iax2\ reload > /root/asterisk_command_reload_iax2`; + `echo sip\ reload > /root/asterisk_command_reload_sip`; + `echo dialplan\ reload > /root/asterisk_command_reload_extensions`; + `echo reload\ app_voicemail.so > /root/asterisk_command_reload_voicemail`; + } + `screen -XS asterisk readbuf /root/asterisk_command_reload_iax2`; + sleep(1); + `screen -XS asterisk paste .`; + sleep(3); + `screen -XS asterisk readbuf /root/asterisk_command_reload_sip`; + sleep(1); + `screen -XS asterisk paste .`; + sleep(3); + `screen -XS asterisk readbuf /root/asterisk_command_reload_extensions`; + sleep(1); + `screen -XS asterisk paste .`; + sleep(3); + `screen -XS asterisk readbuf /root/asterisk_command_reload_voicemail`; + sleep(1); + `screen -XS asterisk paste .`; + sleep(10); + } + + + + + +################################################################################ +##### END Creation of auto-generated conf files +################################################################################ + + + + + +if ($DB) {print "DONE\n";} + +exit; + + + +sub leading_zero($) +{ + $_ = $_[0]; + s/^(\d)$/0$1/; + s/^(\d\d)$/0$1/; + return $_; +} # End of the leading_zero() routine. diff --git a/agc_2-X/branches/agc_2.0.5/bin/ADMIN_restart_roll_logs.pl b/agc_2-X/branches/agc_2.0.5/bin/ADMIN_restart_roll_logs.pl new file mode 100644 index 00000000..c7974ed9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/ADMIN_restart_roll_logs.pl @@ -0,0 +1,50 @@ +#!/usr/bin/perl +# +# ADMIN_restart_roll_logs.pl version 2.0.5 +# +# script to roll the Asterisk logs on machine restart +# +# have this run on the astersik server +# +# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# +# CHANGES: +# 90311-0921 - Added /var/log/asterisk/screenlog log rolling +# + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday---$hour$min$sec"; + + +print "rolling Asterisk messages log...\n"; +`mv -f /var/log/asterisk/messages /var/log/asterisk/messages.$now_date`; + +print "rolling Asterisk event log...\n"; +`mv -f /var/log/asterisk/event_log /var/log/asterisk/event_log.$now_date`; + +print "rolling Asterisk cdr logs...\n"; +`mv -f /var/log/asterisk/cdr-csv/Master.csv /var/log/asterisk/cdr-csv/Master.csv.$now_date`; +`mv -f /var/log/asterisk/cdr-custom/Master.csv /var/log/asterisk/cdr-custom/Master.csv.$now_date`; + +print "rolling Asterisk screen log...\n"; +`mv -f /screenlog.0 /screenlog.0.$now_date`; + +print "rolling Asterisk root screen log...\n"; +`mv -f /root/screenlog.0 /root/screenlog.0.$now_date`; + +print "rolling Asterisk var log screen log...\n"; +`mv -f /var/log/asterisk/screenlog.0 /var/log/asterisk/screenlog.0.$now_date`; + + +print "FINISHED... EXITING\n"; + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/bin/ADMIN_timeclock_auto_logout.pl b/agc_2-X/branches/agc_2.0.5/bin/ADMIN_timeclock_auto_logout.pl new file mode 100644 index 00000000..f19f0d97 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/ADMIN_timeclock_auto_logout.pl @@ -0,0 +1,275 @@ +#!/usr/bin/perl +# +# ADMIN_timeclock_auto_logout.pl version 2.0.5 *DBI-version* +# +# DESCRIPTION: +# forces logout of all users still logged into the timeclock +# +# This script is launched by the ADMIN_keepalive_ALL.pl script with the '9' flag +# defined in astguiclient.conf +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGELOG +# 80526-0958 - First Build +# 80604-0733 - fixed minor bug in update +# + +# constants +$DB=0; # Debug flag, set to 0 for no debug messages, On an active system this will generate lots of lines of output per minute +$US='__'; +$MT[0]=''; + +$secT = time(); +$now_date_epoch = $secT; +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +$file_date = "$year-$mon-$mday"; +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$VDL_date = "$year-$mon-$mday 00:00:01"; +$inactive_epoch = ($secT - 60); +$HHMM = "$hour$min"; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options(must stay in this order):\n [--debug] = debug\n [--debugX] = super debug\n [-t] = test\n [--force-run] = force run even if already run for the day\n\n"; + exit; + } + else + { + if ($args =~ /--force-run/i) + { + $force_run=1; + print "\n----- FORCE RUN -----\n\n"; + } + if ($args =~ /--debug/i) + { + $DB=1; + print "\n----- DEBUG -----\n\n"; + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n----- SUPER DEBUG -----\n\n"; + } + if ($args =~ /-t/i) + { + $T=1; $TEST=1; + print "\n-----TESTING -----\n\n"; + } + } +} +else +{ +print "no command line options set\n"; +} + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VDALOGfile) {$VDALOGfile = "$PATHlogs/timeclockautologout.$year-$mon-$mday";} +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +### Grab Server values from the database + $stmtA = "SELECT vd_server_logs,local_gmt FROM servers where server_ip = '$VARserver_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvd_server_logs = "$aryA[0]"; + $DBSERVER_GMT = "$aryA[1]"; + if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';} + else {$SYSLOG = '0';} + if (length($DBSERVER_GMT)>0) {$SERVER_GMT = $DBSERVER_GMT;} + $rec_count++; + } + $sthA->finish(); + +### Grab system_settings values from the database + $stmtA = "SELECT timeclock_end_of_day,timeclock_last_reset_date FROM system_settings;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $timeclock_end_of_day = "$aryA[0]"; + $timeclock_last_reset_date = "$aryA[1]"; + } + $sthA->finish(); + + + + +### check to see if the script should run +$nowtest = ($HHMM+0); +$logtest = ($timeclock_end_of_day+0); +if ( ($force_run > 0) || ( ($nowtest >= $logtest) && ($timeclock_last_reset_date ne "$file_date") ) ) +{ + @user=@MT; + + ### grab users that are currently logged-in to the timeclock + $stmtA = "SELECT user,user_group,event_epoch,status,ip_address,shift_id from vicidial_timeclock_status where status IN('START','LOGIN')"; + + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $user[$rec_count] = "$aryA[0]"; + $user_group[$rec_count] = "$aryA[1]"; + $event_epoch[$rec_count] = "$aryA[2]"; + $status[$rec_count] = "$aryA[3]"; + $ip_address[$rec_count] = "$aryA[4]"; + $shift_id[$rec_count] = "$aryA[5]"; + + $rec_count++; + } + $sthA->finish(); + if ($DB) {print "USERS TO LOG OUT OF THE TIMECLOCK: $rec_count\n";} + + ##### LOOP THROUGH EACH USER AND LOG THEM OUT OF THE TIMECLOCK ##### + $i=0; + while($i < $rec_count) + { + if ($DBX) {print " USER: $user[$i]\n";} + $event_string = " USER: $user[$i]"; + &event_logger; + + $last_action_sec = ($now_date_epoch - $event_epoch[$i]); + $stmtA = "INSERT INTO vicidial_timeclock_log set event='AUTOLOGOUT', user='$user[$i]', user_group='$user_group[$i]', event_epoch='$now_date_epoch', ip_address='$VARserver_ip', login_sec='$last_action_sec', event_date='$now_date';"; + $affected_rows = $dbhA->do($stmtA); + $timeclock_id = $dbhA->{'mysql_insertid'}; + if ($DBX) {print "|$affected_rows|$stmtA|\n";} + $event_string = "USER VTL INSERT|$affected_rows|$timeclock_id|$stmtA|"; + &event_logger; + + $stmtA = "UPDATE vicidial_timeclock_log set login_sec='$last_action_sec',tcid_link='$timeclock_id' where event='LOGIN' and user='$user[$i]' order by timeclock_id desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print "|$affected_rows|$stmtA|\n";} + $event_string = "USER VTL UPDATE|$affected_rows|$stmtA|"; + &event_logger; + + $stmtA = "UPDATE vicidial_timeclock_status set status='AUTOLOGOUT', user_group='$user_group[$i]', event_epoch='$now_date_epoch', ip_address='$VARserver_ip' where user='$user[$i]';"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print "|$affected_rows|$stmtA|\n";} + $event_string = "USER VTS UPDATE|$affected_rows|$stmtA|"; + &event_logger; + + $stmtA = "INSERT INTO vicidial_timeclock_audit_log set timeclock_id='$timeclock_id', event='AUTOLOGOUT', user='$user[$i]', user_group='$user_group[$i]', event_epoch='$now_date_epoch', ip_address='$VARserver_ip', login_sec='$last_action_sec', event_date='$now_date';"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print "|$affected_rows|$stmtA|\n";} + $event_string = "USER VTAL INSERT|$affected_rows|$stmtA|"; + &event_logger; + + $stmtA = "UPDATE vicidial_timeclock_audit_log set login_sec='$last_action_sec',tcid_link='$timeclock_id' where event='LOGIN' and user='$user[$i]' order by timeclock_id desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print "|$affected_rows|$stmtA|\n";} + $event_string = "USER VTAL UPDATE|$affected_rows|$stmtA|"; + &event_logger; + + $i++; + } + + $stmtA = "UPDATE system_settings set timeclock_last_reset_date='$file_date';"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print "|$affected_rows|$stmtA|\n";} + $event_string = "SYSTEM SETTINGS UPDATE|$affected_rows|$stmtA|"; + &event_logger; + +} +else +{ +print "cannot run: |$force_run|$HHMM($nowtest)|$timeclock_end_of_day($logtest)|$timeclock_last_reset_date|$file_date|\n"; +} + +if($DB) +{ +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secT); + +if (!$q) {print "DONE. Script execution time in seconds: $secZ\n";} +} + +$dbhA->disconnect(); + +exit; + + + +sub event_logger +{ +if ($SYSLOG) + { + ### open the log file for writing ### + open(Lout, ">>$VDALOGfile") + || die "Can't open $VDALOGfile: $!\n"; + print Lout "$now_date|$event_string|\n"; + close(Lout); + } +$event_string=''; +} + diff --git a/agc_2-X/branches/agc_2.0.5/bin/ADMIN_update_server_ip.pl b/agc_2-X/branches/agc_2.0.5/bin/ADMIN_update_server_ip.pl new file mode 100644 index 00000000..966b1406 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/ADMIN_update_server_ip.pl @@ -0,0 +1,484 @@ +#!/usr/bin/perl + +# ADMIN_update_server_ip.pl - updates IP address in DB and conf file +# +# This script is designed to update all database tables and the local +# astguiclient.conf file to reflect a change in IP address. The script will +# automatically default to the first eth address in the ifconfig output. +# +# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# +# CHANGELOG +# 71205-2144 - Added display of extensions.conf example for call routing +# 80321-0220 - Updated for new settings +# 90211-1247 - Added asterisk version +# +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARold_server_ip = $line; $VARold_server_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +############################################ + +$CLIold_server_ip=0; +$CLIserver_ip=0; + +$secX = time(); + +# constants +$DB=1; # Debug flag, set to 0 for no debug messages, lots of output +$US='_'; +$MT[0]=''; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "ADMIN_update_server_ip.pl - updates server_ip in the $VARDB_database\n"; + print "database and in the local /etc/astguiclient.conf file.\n"; + print "\n"; + print "command-line options:\n"; + print " [--help] = this help screen\n"; + print " [--debug] = verbose debug messages\n"; + print " [--auto] = no prompts\n"; + print "configuration options:\n"; + print " [--old-server_ip=192.168.0.1] = define old server IP address at runtime\n"; + print " [--server_ip=192.168.0.2] = define new server IP address at runtime\n"; + print "\n"; + + exit; + } + else + { + if ($args =~ /--debug/i) # Debug flag + { + $DB=1; + } + if ($args =~ /--auto/i) # no prompts flag + { + $AUTO=1; + } + if ($args =~ /--old-server_ip=/i) # CLI defined old server IP address + { + @CLIoldserver_ipARY = split(/--old-server_ip=/,$args); + @CLIoldserver_ipARX = split(/ /,$CLIoldserver_ipARY[1]); + if (length($CLIoldserver_ipARX[0])>2) + { + $VARold_server_ip = $CLIoldserver_ipARX[0]; + $VARold_server_ip =~ s/\/$| |\r|\n|\t//gi; + $CLIold_server_ip=1; + print " CLI defined old server IP: $VARold_server_ip\n"; + } + } + if ($args =~ /--server_ip=/i) # CLI defined server IP address + { + @CLIserver_ipARY = split(/--server_ip=/,$args); + @CLIserver_ipARX = split(/ /,$CLIserver_ipARY[1]); + if (length($CLIserver_ipARX[0])>2) + { + $VARserver_ip = $CLIserver_ipARX[0]; + $VARserver_ip =~ s/\/$| |\r|\n|\t//gi; + $CLIserver_ip=1; + print " CLI defined server IP: $VARserver_ip\n"; + } + } + } +} +else +{ +# print "no command line options set\n"; +} +### end parsing run-time options ### + +if (-e "$PATHconf") + { + print "Previous astGUIclient configuration file found at: $PATHconf\n"; + open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; + @conf = ; + close(conf); + $i=0; + foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^PATHDONEmonitor/) && ($CLIDONEmonitor < 1) ) + {$PATHDONEmonitor = $line; $PATHDONEmonitor =~ s/.*=//gi;} +# if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) +# {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + if ( ($line =~ /^VARactive_keepalives/) && ($CLIactive_keepalives < 1) ) + {$VARactive_keepalives = $line; $VARactive_keepalives =~ s/.*=//gi;} + if ( ($line =~ /^VARasterisk_version/) && ($CLIasterisk_version < 1) ) + {$VARasterisk_version = $line; $VARasterisk_version =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_host/) && ($CLIFTP_host < 1) ) + {$VARFTP_host = $line; $VARFTP_host =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_user/) && ($CLIFTP_user < 1) ) + {$VARFTP_user = $line; $VARFTP_user =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_pass/) && ($CLIFTP_pass < 1) ) + {$VARFTP_pass = $line; $VARFTP_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_port/) && ($CLIFTP_port < 1) ) + {$VARFTP_port = $line; $VARFTP_port =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_dir/) && ($CLIFTP_dir < 1) ) + {$VARFTP_dir = $line; $VARFTP_dir =~ s/.*=//gi;} + if ( ($line =~ /^VARHTTP_path/) && ($CLIHTTP_path < 1) ) + {$VARHTTP_path = $line; $VARHTTP_path =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_host/) && ($CLIREPORT_host < 1) ) + {$VARREPORT_host = $line; $VARREPORT_host =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_user/) && ($CLIREPORT_user < 1) ) + {$VARREPORT_user = $line; $VARREPORT_user =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_pass/) && ($CLIREPORT_pass < 1) ) + {$VARREPORT_pass = $line; $VARREPORT_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_port/) && ($CLIREPORT_port < 1) ) + {$VARREPORT_port = $line; $VARREPORT_port =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_dir/) && ($CLIREPORT_dir < 1) ) + {$VARREPORT_dir = $line; $VARREPORT_dir =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_min_servers/) && ($CLIVARfastagi_log_min_servers < 1) ) + {$VARfastagi_log_min_servers = $line; $VARfastagi_log_min_servers =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_max_servers/) && ($CLIVARfastagi_log_max_servers < 1) ) + {$VARfastagi_log_max_servers = $line; $VARfastagi_log_max_servers =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_min_spare_servers/) && ($CLIVARfastagi_log_min_spare_servers < 1) ) + {$VARfastagi_log_min_spare_servers = $line; $VARfastagi_log_min_spare_servers =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_max_spare_servers/) && ($CLIVARfastagi_log_max_spare_servers < 1) ) + {$VARfastagi_log_max_spare_servers = $line; $VARfastagi_log_max_spare_servers =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_max_requests/) && ($CLIVARfastagi_log_max_requests < 1) ) + {$VARfastagi_log_max_requests = $line; $VARfastagi_log_max_requests =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_checkfordead/) && ($CLIVARfastagi_log_checkfordead < 1) ) + {$VARfastagi_log_checkfordead = $line; $VARfastagi_log_checkfordead =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_checkforwait/) && ($CLIVARfastagi_log_checkforwait < 1) ) + {$VARfastagi_log_checkforwait = $line; $VARfastagi_log_checkforwait =~ s/.*=//gi;} + $i++; + } + } + +if ($AUTO) + { + $manual='n'; + @ip = `/sbin/ifconfig`; + $j=0; + while($#ip>=$j) + { + if ($ip[$j] =~ /inet addr/) {$VARserver_ip = $ip[$j]; $j=1000;} + $j++; + } + $VARserver_ip =~ s/.*addr:| Bcast.*|\r|\n|\t| //gi; + } +else + { + print("\nWould you like to use interactive mode (y/n): [y] "); + $manual = ; + chomp($manual); + } + +if ($manual =~ /n/i) + { + $manual=0; + } +else + { + $config_finished='NO'; + while ($config_finished =~/NO/) + { + print "\nSTARTING SERVER IP ADDRESS CHANGE FOR VICIDIAL...\n"; + + ##### BEGIN old_server_ip propmting and check ##### + $continue='NO'; + while ($continue =~/NO/) + { + print("\nOld server IP address or press enter for default: [$VARold_server_ip] "); + $PROMPTold_server_ip = ; + chomp($PROMPTold_server_ip); + if (length($PROMPTold_server_ip)>6) + { + $PROMPTold_server_ip =~ s/ |\n|\r|\t|\/$//gi; + $VARold_server_ip=$PROMPTold_server_ip; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END old_server_ip propmting and check ##### + + ##### BEGIN server_ip propmting and check ##### + if (length($VARserver_ip)<7) + { + ### get best guess of IP address from ifconfig output ### + # inet addr:10.10.11.17 Bcast:10.10.255.255 Mask:255.255.0.0 + @ip = `/sbin/ifconfig`; + $j=0; + while($#ip>=$j) + { + if ($ip[$j] =~ /inet addr/) {$VARserver_ip = $ip[$j]; $j=1000;} + $j++; + } + $VARserver_ip =~ s/.*addr:| Bcast.*|\r|\n|\t| //gi; + } + + $continue='NO'; + while ($continue =~/NO/) + { + print("\nserver IP address or press enter for default: [$VARserver_ip] "); + $PROMPTserver_ip = ; + chomp($PROMPTserver_ip); + if (length($PROMPTserver_ip)>6) + { + $PROMPTserver_ip =~ s/ |\n|\r|\t|\/$//gi; + $VARserver_ip=$PROMPTserver_ip; + $continue='YES'; + } + else + { + $continue='YES'; + } + } + ##### END server_ip propmting and check ##### + + + + print "\n"; + print " old server_ip: $VARold_server_ip\n"; + print " new server_ip: $VARserver_ip\n"; + print "\n"; + + print("Are these settings correct?(y/n): [y] "); + $PROMPTconfig = ; + chomp($PROMPTconfig); + if ( (length($PROMPTconfig)<1) or ($PROMPTconfig =~ /y/i) ) + { + $config_finished='YES'; + } + } + } + +print "Writing change to astguiclient.conf file: $PATHconf\n"; + +open(conf, ">$PATHconf") || die "can't open $PATHconf: $!\n"; +print conf "# astguiclient.conf - configuration elements for the astguiclient package\n"; +print conf "# this is the astguiclient configuration file \n"; +print conf "# all comments will be lost if you run install.pl again\n"; +print conf "\n"; +print conf "# Paths used by astGUIclient\n"; +print conf "PATHhome => $PATHhome\n"; +print conf "PATHlogs => $PATHlogs\n"; +print conf "PATHagi => $PATHagi\n"; +print conf "PATHweb => $PATHweb\n"; +print conf "PATHsounds => $PATHsounds\n"; +print conf "PATHmonitor => $PATHmonitor\n"; +print conf "PATHDONEmonitor => $PATHDONEmonitor\n"; +print conf "\n"; +print conf "# The IP address of this machine\n"; +print conf "VARserver_ip => $VARserver_ip\n"; +print conf "\n"; +print conf "# Database connection information\n"; +print conf "VARDB_server => $VARDB_server\n"; +print conf "VARDB_database => $VARDB_database\n"; +print conf "VARDB_user => $VARDB_user\n"; +print conf "VARDB_pass => $VARDB_pass\n"; +print conf "VARDB_port => $VARDB_port\n"; +print conf "\n"; +print conf "# Alpha-Numeric list of the astGUIclient processes to be kept running\n"; +print conf "# (value should be listing of characters with no spaces: 123456)\n"; +print conf "# X - NO KEEPALIVE PROCESSES (use only if you want none to be keepalive)\n"; +print conf "# 1 - AST_update\n"; +print conf "# 2 - AST_send_listen\n"; +print conf "# 3 - AST_VDauto_dial\n"; +print conf "# 4 - AST_VDremote_agents\n"; +print conf "# 5 - AST_VDadapt (If multi-server system, this must only be on one server)\n"; +print conf "# 6 - FastAGI_log\n"; +print conf "# 7 - AST_VDauto_dial_FILL (only for multi-server, this must only be on one server)\n"; +print conf "# 8 - ip_relay (used for blind agent monitoring)\n"; +print conf "# 9 - Timeclock auto logout\n"; +print conf "VARactive_keepalives => $VARactive_keepalives\n"; +print conf "\n"; +print conf "# Asterisk version VICIDIAL is installed for\n"; +print conf "VARasterisk_version => $VARasterisk_version\n"; +print conf "\n"; +print conf "# FTP recording archive connection information\n"; +print conf "VARFTP_host => $VARFTP_host\n"; +print conf "VARFTP_user => $VARFTP_user\n"; +print conf "VARFTP_pass => $VARFTP_pass\n"; +print conf "VARFTP_port => $VARFTP_port\n"; +print conf "VARFTP_dir => $VARFTP_dir\n"; +print conf "VARHTTP_path => $VARHTTP_path\n"; +print conf "\n"; +print conf "# REPORT server connection information\n"; +print conf "VARREPORT_host => $VARREPORT_host\n"; +print conf "VARREPORT_user => $VARREPORT_user\n"; +print conf "VARREPORT_pass => $VARREPORT_pass\n"; +print conf "VARREPORT_port => $VARREPORT_port\n"; +print conf "VARREPORT_dir => $VARREPORT_dir\n"; +print conf "\n"; +print conf "# Settings for FastAGI logging server\n"; +print conf "VARfastagi_log_min_servers => $VARfastagi_log_min_servers\n"; +print conf "VARfastagi_log_max_servers => $VARfastagi_log_max_servers\n"; +print conf "VARfastagi_log_min_spare_servers => $VARfastagi_log_min_spare_servers\n"; +print conf "VARfastagi_log_max_spare_servers => $VARfastagi_log_max_spare_servers\n"; +print conf "VARfastagi_log_max_requests => $VARfastagi_log_max_requests\n"; +print conf "VARfastagi_log_checkfordead => $VARfastagi_log_checkfordead\n"; +print conf "VARfastagi_log_checkforwait => $VARfastagi_log_checkforwait\n"; +close(conf); + + +print "\nSTARTING DATABASE TABLES UPDATES PHASE...\n"; + +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +print " Updating servers table...\n"; +$stmtA = "UPDATE servers SET server_ip='$VARserver_ip' where server_ip='$VARold_server_ip';"; +$affected_rows = $dbhA->do($stmtA); +if ($DB) {print " |$affected_rows|$stmtA|\n";} + +print " Updating phones table...\n"; +$stmtA = "UPDATE phones SET server_ip='$VARserver_ip' where server_ip='$VARold_server_ip';"; +$affected_rows = $dbhA->do($stmtA); +if ($DB) {print " |$affected_rows|$stmtA|\n";} + +print " Updating inbound_numbers table...\n"; +$stmtA = "UPDATE inbound_numbers SET server_ip='$VARserver_ip' where server_ip='$VARold_server_ip';"; +$affected_rows = $dbhA->do($stmtA); +if ($DB) {print " |$affected_rows|$stmtA|\n";} + +print " Updating server_updater table...\n"; +$stmtA = "UPDATE server_updater SET server_ip='$VARserver_ip' where server_ip='$VARold_server_ip';"; +$affected_rows = $dbhA->do($stmtA); +if ($DB) {print " |$affected_rows|$stmtA|\n";} + +print " Updating conferences table...\n"; +$stmtA = "UPDATE conferences SET server_ip='$VARserver_ip' where server_ip='$VARold_server_ip';"; +$affected_rows = $dbhA->do($stmtA); +if ($DB) {print " |$affected_rows|$stmtA|\n";} + +print " Updating vicidial_conferences table...\n"; +$stmtA = "UPDATE vicidial_conferences SET server_ip='$VARserver_ip' where server_ip='$VARold_server_ip';"; +$affected_rows = $dbhA->do($stmtA); +if ($DB) {print " |$affected_rows|$stmtA|\n";} + +print " Updating vicidial_stations table...\n"; +$stmtA = "UPDATE vicidial_stations SET server_ip='$VARserver_ip' where server_ip='$VARold_server_ip';"; +$affected_rows = $dbhA->do($stmtA); +if ($DB) {print " |$affected_rows|$stmtA|\n";} + +print " Updating vicidial_remote_agents table...\n"; +$stmtA = "UPDATE vicidial_remote_agents SET server_ip='$VARserver_ip' where server_ip='$VARold_server_ip';"; +$affected_rows = $dbhA->do($stmtA); +if ($DB) {print " |$affected_rows|$stmtA|\n";} + +print " Updating phone_favorites table...\n"; +$stmtA = "UPDATE phone_favorites SET server_ip='$VARserver_ip' where server_ip='$VARold_server_ip';"; +$affected_rows = $dbhA->do($stmtA); +if ($DB) {print " |$affected_rows|$stmtA|\n";} + +print " Updating vicidial_server_trunks table...\n"; +$stmtA = "UPDATE vicidial_server_trunks SET server_ip='$VARserver_ip' where server_ip='$VARold_server_ip';"; +$affected_rows = $dbhA->do($stmtA); +if ($DB) {print " |$affected_rows|$stmtA|\n";} + +print " Updating vicidial_server_carriers table...\n"; +$stmtA = "UPDATE vicidial_server_carriers SET server_ip='$VARserver_ip' where server_ip='$VARold_server_ip';"; +$affected_rows = $dbhA->do($stmtA); +if ($DB) {print " |$affected_rows|$stmtA|\n";} + +print " Updating vicidial_inbound_dids table...\n"; +$stmtA = "UPDATE vicidial_inbound_dids SET server_ip='$VARserver_ip' where server_ip='$VARold_server_ip';"; +$affected_rows = $dbhA->do($stmtA); +if ($DB) {print " |$affected_rows|$stmtA|\n";} + +print " Setting servers to rebuild conf files...\n"; +$stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y';"; +$affected_rows = $dbhA->do($stmtA); +if ($DB) {print " |$affected_rows|$stmtA|\n";} + + +$dbhA->disconnect(); + +### format the new server_ip dialstring for example to use with extensions.conf +$S='*'; +if( $VARserver_ip =~ m/(\S+)\.(\S+)\.(\S+)\.(\S+)/ ) + { + $a = leading_zero($1); + $b = leading_zero($2); + $c = leading_zero($3); + $d = leading_zero($4); + $VARremDIALstr = "$a$S$b$S$c$S$d"; + } + +print "\n"; +print "SERVER IP ADDRESS CHANGE FOR VICIDIAL FINISHED!\n"; +print "\n"; +print "If you are not having VICIDIAL auto-generate your conf files, please\n"; +print "remember to change your extensions.conf entries for the new IP address:\n"; +print "exten => _$VARremDIALstr*.,1,Goto(default,${EXTEN:16},1)\n"; +print "exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi)\n"; +print "exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi)\n"; + + +$secy = time(); $secz = ($secy - $secX); $minz = ($secz/60); # calculate script runtime so far +print "\n - process runtime ($secz sec) ($minz minutes)\n"; + + +exit; + + +sub leading_zero($) +{ + $_ = $_[0]; + s/^(\d)$/0$1/; + s/^(\d\d)$/0$1/; + return $_; +} # End of the leading_zero() routine. + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_CRON_GSM_SALE_recordings.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_CRON_GSM_SALE_recordings.pl new file mode 100644 index 00000000..75e1ae72 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_CRON_GSM_SALE_recordings.pl @@ -0,0 +1,164 @@ +#!/usr/bin/perl +# +# AST_CRON_GSM_SALE_recordings.pl version 2.0.5 +# +# IMPORTANT!!! used to delete recordings!!! +# +# runs every day, goes through all recordings to compress only the SALE recordings +# and place them in a special directory +# +# put an entry into the cron of of your asterisk archive to run this script +# every day or however often you desire +# +# This program assumes that recordings are saved as .wav +# should be easy to change this code if you use .gsm instead +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# +# 1112-1245 - first build +# + +$save_statuses = '|SALE|UPSALE|UPSELL|XFER|A1|A2|A3|A4|'; +$save_statusesSQL = "'SALE','UPSALE','UPSELL','XFER','A1','A2','A3','A4'"; +$suffix = '-all.wav'; +$local_DIR = '/home2/cron/RECORDINGS'; +$GSM_DIR = '/home/cron/GSM'; +$use_date_DIRs = 1; + +$secX = time(); + +$TDtarget = ($secX - 36000); # 10 hours ago + +($Tsec,$Tmin,$Thour,$Tmday,$Tmon,$Tyear,$Twday,$Tyday,$Tisdst) = localtime($TDtarget); +$Tyear = ($Tyear + 1900); +$Tmon++; +if ($Tmon < 10) {$Tmon = "0$Tmon";} +if ($Tmday < 10) {$Tmday = "0$Tmday";} +if ($Thour < 10) {$Thour = "0$Thour";} +if ($Tmin < 10) {$Tmin = "0$Tmin";} +if ($Tsec < 10) {$Tsec = "0$Tsec";} + $BEGINdate = "$Tyear-$Tmon-$Tmday 00:00:00"; + $ENDdate = "$Tyear-$Tmon-$Tmday 23:59:59"; + + $BEGINdate = "2007-08-01 00:00:00"; + $ENDdate = "2007-08-31 23:59:59"; + +$soxbin = ''; +if ( -e ('/usr/bin/sox')) {$soxbin = '/usr/bin/sox';} +else + { + if ( -e ('/usr/local/bin/sox')) {$soxbin = '/usr/local/bin/sox';} + else + { + print "Can't find sox binary! Exiting...\n"; + exit; + } + } + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### directory where in/out recordings are saved to by Asterisk +$dir1 = "$PATHmonitor"; + + +##### Get the lead_ids of all recordings that are not DELETED or NULL ##### +$stmtA = "SELECT recording_log.lead_id,recording_id,start_time,filename,location,status FROM recording_log,vicidial_log where start_time > '$BEGINdate' and start_time < '$ENDdate' and location IS NOT NULL and location NOT IN('','NOT_FOUND','NOT_FOUND_2','DELETED') and vicidial_log.status IN($save_statusesSQL) and call_date > '$BEGINdate' and call_date < '$ENDdate' and recording_log.lead_id=vicidial_log.lead_id and recording_log.user=vicidial_log.user order by recording_id LIMIT 500000;"; + print "$stmtA\n"; + +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$i=0; +while ($sthArows > $i) + { + @aryA = $sthA->fetchrow_array; + $lead_ids[$i] = "$aryA[0]"; + $recording_ids[$i] = "$aryA[1]"; + $start_times[$i] = "$aryA[2]"; + $filenames[$i] = "$aryA[3]"; + $locations[$i] = "$aryA[4]"; + $status[$i] = "$aryA[5]"; + $i++; + } +$sthA->finish(); + + +##### Go through the list of sales recordings and compress all of them ##### +$i=0; +$WAV='-all.wav'; +$GSM='-all.gsm'; +foreach(@lead_ids) + { + if ($use_date_DIRs) + { + $date_DIR = $start_times[$i]; + $date_DIR =~ s/ .*//gi; + $date_DIR .= "/"; + } + else {$date_DIR=''} + if ( -e ("$GSM_DIR/$date_DIR")) {$nothing=1;} + else {mkdir("$GSM_DIR/$date_DIR");} + if ( -e ("$GSM_DIR/$date_DIR$filenames[$i]$GSM")) + {print "DUPLICATE: $GSM_DIR/$date_DIR$filenames[$i]$GSM EXISTS\n";} + else + { + `$soxbin "$local_DIR/$date_DIR$filenames[$i]$WAV" "$GSM_DIR/$date_DIR$filenames[$i]$GSM"`; + print "$soxbin \"$local_DIR/$date_DIR$filenames[$i]$WAV\" \"$GSM_DIR/$date_DIR$filenames[$i]$GSM\"\n"; + } + $i++; + } + +print "TOTAL COMPRESSED: $i\n"; + +if ($v) {print "DONE... EXITING\n\n";} + +$dbhA->disconnect(); + + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_CRON_audio_1_move_VDonly.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_CRON_audio_1_move_VDonly.pl new file mode 100644 index 00000000..058a60f1 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_CRON_audio_1_move_VDonly.pl @@ -0,0 +1,227 @@ +#!/usr/bin/perl +# +# AST_CRON_audio_1_move_VDonly.pl +# +# This is a STEP-1 program in the audio archival process +# +# IMPORTANT!!! ONLY TO BE USED WHEN ONLY VICIDIAL RECORDINGS ARE ON THE SYSTEM! +# +# runs every 3 minutes and copies the -in recordings in the monitor to the DONE +# directory for further processing. Very important for RAM-drive usage +# +# put an entry into the cron of of your asterisk machine to run this script +# every 3 minutes or however often you desire +# +# ### recording mixing/compressing/ftping scripts +##0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_mix.pl +# 0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_VDonly.pl +# 1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58 * * * * /usr/share/astguiclient/AST_CRON_audio_2_compress.pl --GSM +# 2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59 * * * * /usr/share/astguiclient/AST_CRON_audio_3_ftp.pl --GSM +# +# make sure that the following directories exist: +# /var/spool/asterisk/monitor # default Asterisk recording directory +# /var/spool/asterisk/monitorDONE # where the moved -in files are put +# +# This program assumes that recordings are saved by Asterisk as .wav +# should be easy to change this code if you use .gsm instead +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# +# 80302-1958 - First Build +# 80731-2253 - Changed size comparisons for more efficiency +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [--debug] = debug\n [--debugX] = super debug\n [-t] = test\n\n"; + exit; + } + else + { + if ($args =~ /--debug/i) + { + $DB=1; + print "\n----- DEBUG -----\n\n"; + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n----- SUPER DEBUG -----\n\n"; + } + if ($args =~ /-t/i) + { + $T=1; $TEST=1; + print "\n-----TESTING -----\n\n"; + } + } +} +else +{ +#print "no command line options set\n"; +} + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^PATHDONEmonitor/) && ($CLIDONEmonitor < 1) ) + {$PATHDONEmonitor = $line; $PATHDONEmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_host/) && ($CLIFTP_host < 1) ) + {$VARFTP_host = $line; $VARFTP_host =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_user/) && ($CLIFTP_user < 1) ) + {$VARFTP_user = $line; $VARFTP_user =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_pass/) && ($CLIFTP_pass < 1) ) + {$VARFTP_pass = $line; $VARFTP_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_port/) && ($CLIFTP_port < 1) ) + {$VARFTP_port = $line; $VARFTP_port =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_dir/) && ($CLIFTP_dir < 1) ) + {$VARFTP_dir = $line; $VARFTP_dir =~ s/.*=//gi;} + if ( ($line =~ /^VARHTTP_path/) && ($CLIHTTP_path < 1) ) + {$VARHTTP_path = $line; $VARHTTP_path =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP +if (!$VARDB_port) {$VARDB_port='3306';} + +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +### directory where in/out recordings are saved to by Asterisk +$dir1 = "$PATHmonitor"; +$dir2 = "$PATHDONEmonitor"; + +opendir(FILE, "$dir1/"); +@FILES = readdir(FILE); + + +### Loop through files first to gather filesizes +$i=0; +foreach(@FILES) + { + $FILEsize1[$i] = 0; + if ( (length($FILES[$i]) > 4) && (!-d "$dir1/$FILES[$i]") ) + { + $FILEsize1[$i] = (-s "$dir1/$FILES[$i]"); + if ($DBX) {print "$FILES[$i] $FILEsize1[$i]\n";} + } + $i++; + } + +sleep(5); + + +### Loop through files a second time to gather filesizes again 5 seconds later +$i=0; +foreach(@FILES) + { + $FILEsize2[$i] = 0; + + if ( (length($FILES[$i]) > 4) && (!-d "$dir1/$FILES[$i]") ) + { + + $FILEsize2[$i] = (-s "$dir1/$FILES[$i]"); + if ($DBX) {print "$FILES[$i] $FILEsize2[$i]\n\n";} + + if ( ($FILES[$i] !~ /out\.wav|out\.gsm|lost\+found/i) && ($FILEsize1[$i] eq $FILEsize2[$i]) && (length($FILES[$i]) > 4)) + { + $INfile = $FILES[$i]; + $OUTfile = $FILES[$i]; + $OUTfile =~ s/-in\.wav/-out.wav/gi; + $OUTfile =~ s/-in\.gsm/-out.gsm/gi; + $ALLfile = $FILES[$i]; + $ALLfile =~ s/-in\.wav/-all.wav/gi; + $ALLfile =~ s/-in\.gsm/-all.gsm/gi; + $SQLFILE = $FILES[$i]; + $SQLFILE =~ s/-in\.wav|-in\.gsm//gi; + + $stmtA = "select recording_id from recording_log where filename='$SQLFILE' order by recording_id desc LIMIT 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $recording_id = "$aryA[0]"; + } + $sthA->finish(); + + if ($DB) {print "|$recording_id|$INfile| |$ALLfile|\n";} + + if (!$T) + { + `mv -f "$dir1/$INfile" "$dir2/$ALLfile"`; + `rm -f "$dir1/$OUTfile"`; + } + else + { + `cp -f "$dir1/$INfile" "$dir2/$ALLfile"`; + } + + $stmtA = "UPDATE recording_log set location='http://$server_ip/RECORDINGS/$ALLfile' where recording_id='$recording_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + + ### sleep for twenty hundredths of a second to not flood the server with disk activity + usleep(1*200*1000); + + } + } + $i++; + } + +if ($DB) {print "DONE... EXITING\n\n";} + +$dbhA->disconnect(); + + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_CRON_audio_1_move_mix.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_CRON_audio_1_move_mix.pl new file mode 100644 index 00000000..cca7e6ce --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_CRON_audio_1_move_mix.pl @@ -0,0 +1,245 @@ +#!/usr/bin/perl +# +# AST_CRON_audio_1_move_mix.pl +# +# This is a STEP-1 program in the audio archival process +# +# runs every 3 minutes and copies and mixes the -in and -out recordings in the +# monitor to the DONE directory for further processing. Very important for +# RAM-drive usage +# +# put an entry into the cron of of your asterisk machine to run this script +# every 3 minutes or however often you desire +# +# ### recording mixing/compressing/ftping scripts +# 0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_mix.pl +##0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_VDonly.pl +# 1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58 * * * * /usr/share/astguiclient/AST_CRON_audio_2_compress.pl --GSM +# 2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59 * * * * /usr/share/astguiclient/AST_CRON_audio_3_ftp.pl --GSM +# +# make sure that the following directories exist: +# /var/spool/asterisk/monitor # default Asterisk recording directory +# /var/spool/asterisk/monitorDONE # where the mixed -all files are put +# +# This program assumes that recordings are saved by Asterisk as .wav +# should be easy to change this code if you use .gsm instead +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# +# 80302-1958 - First Build +# 80731-2253 - Changed size comparisons for more efficiency +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [--debug] = debug\n [--debugX] = super debug\n [-t] = test\n\n"; + exit; + } + else + { + if ($args =~ /--debug/i) + { + $DB=1; + print "\n----- DEBUG -----\n\n"; + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n----- SUPER DEBUG -----\n\n"; + } + if ($args =~ /-t/i) + { + $T=1; $TEST=1; + print "\n-----TESTING -----\n\n"; + } + } +} +else +{ +#print "no command line options set\n"; +} + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^PATHDONEmonitor/) && ($CLIDONEmonitor < 1) ) + {$PATHDONEmonitor = $line; $PATHDONEmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_host/) && ($CLIFTP_host < 1) ) + {$VARFTP_host = $line; $VARFTP_host =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_user/) && ($CLIFTP_user < 1) ) + {$VARFTP_user = $line; $VARFTP_user =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_pass/) && ($CLIFTP_pass < 1) ) + {$VARFTP_pass = $line; $VARFTP_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_port/) && ($CLIFTP_port < 1) ) + {$VARFTP_port = $line; $VARFTP_port =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_dir/) && ($CLIFTP_dir < 1) ) + {$VARFTP_dir = $line; $VARFTP_dir =~ s/.*=//gi;} + if ( ($line =~ /^VARHTTP_path/) && ($CLIHTTP_path < 1) ) + {$VARHTTP_path = $line; $VARHTTP_path =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP +if (!$VARDB_port) {$VARDB_port='3306';} + +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +### find soxmix or sox to do the mixing +$soxmixbin = ''; +if ( -e ('/usr/bin/soxmix')) {$soxmixbin = '/usr/bin/soxmix';} +else + { + if ( -e ('/usr/local/bin/soxmix')) {$soxmixbin = '/usr/local/bin/soxmix';} + else + { + if ($DB) {print "Can't find soxmix binary! Trying sox...\n";} + if ( -e ('/usr/bin/sox')) {$soxmixbin = '/usr/bin/sox -m';} + else + { + if ( -e ('/usr/local/bin/sox')) {$soxmixbin = '/usr/local/bin/sox -m';} + else + { + print "Can't find sox binary! Exiting...\n"; + exit; + } + } + } + } + +### directory where in/out recordings are saved to by Asterisk +$dir1 = "$PATHmonitor"; +$dir2 = "$PATHDONEmonitor"; + +opendir(FILE, "$dir1/"); +@FILES = readdir(FILE); + + +### Loop through files first to gather filesizes +$i=0; +foreach(@FILES) + { + $FILEsize1[$i] = 0; + if ( (length($FILES[$i]) > 4) && (!-d "$dir1/$FILES[$i]") ) + { + $FILEsize1[$i] = (-s "$dir1/$FILES[$i]"); + if ($DBX) {print "$FILES[$i] $FILEsize1[$i]\n";} + } + $i++; + } + +sleep(5); + + +### Loop through files a second time to gather filesizes again 5 seconds later +$i=0; +foreach(@FILES) + { + $FILEsize2[$i] = 0; + + if ( (length($FILES[$i]) > 4) && (!-d "$dir1/$FILES[$i]") ) + { + + $FILEsize2[$i] = (-s "$dir1/$FILES[$i]"); + if ($DBX) {print "$FILES[$i] $FILEsize2[$i]\n\n";} + + if ( ($FILES[$i] !~ /out\.wav|out\.gsm|lost\+found/i) && ($FILEsize1[$i] eq $FILEsize2[$i]) && (length($FILES[$i]) > 4)) + { + $INfile = $FILES[$i]; + $OUTfile = $FILES[$i]; + $OUTfile =~ s/-in\.wav/-out.wav/gi; + $OUTfile =~ s/-in\.gsm/-out.gsm/gi; + $ALLfile = $FILES[$i]; + $ALLfile =~ s/-in\.wav/-all.wav/gi; + $ALLfile =~ s/-in\.gsm/-all.gsm/gi; + $SQLFILE = $FILES[$i]; + $SQLFILE =~ s/-in\.wav|-in\.gsm//gi; + + $stmtA = "select recording_id from recording_log where filename='$SQLFILE' order by recording_id desc LIMIT 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $recording_id = "$aryA[0]"; + } + $sthA->finish(); + + if ($DB) {print "|$recording_id|$INfile|$OUTfile| |$ALLfile|\n";} + + `$soxmixbin "$dir1/$INfile" "$dir1/$OUTfile" "$dir2/$ALLfile"`; + + $stmtA = "UPDATE recording_log set location='http://$server_ip/RECORDINGS/$ALLfile' where recording_id='$recording_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + + if (!$T) + { + `mv -f "$dir1/$INfile" "$dir2/ORIG/$INfile"`; + `mv -f "$dir1/$OUTfile" "$dir2/ORIG/$OUTfile"`; + } + + ### sleep for twenty hundredths of a second to not flood the server with disk activity + usleep(1*200*1000); + } + } + $i++; + } + +if ($DB) {print "DONE... EXITING\n\n";} + +$dbhA->disconnect(); + + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_CRON_audio_2_compress.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_CRON_audio_2_compress.pl new file mode 100644 index 00000000..b252b33f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_CRON_audio_2_compress.pl @@ -0,0 +1,311 @@ +#!/usr/bin/perl +# +# AST_CRON_audio_2_compress.pl +# +# This is a STEP-2 program in the audio archival process +# +# runs every 3 minutes and compresses the -all recording files to GSM format +# +# put an entry into the cron of of your asterisk machine to run this script +# every 3 minutes or however often you desire +# +# ### recording mixing/compressing/ftping scripts +##0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_mix.pl +# 0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_VDonly.pl +# 1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58 * * * * /usr/share/astguiclient/AST_CRON_audio_2_compress.pl --GSM +# 2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59 * * * * /usr/share/astguiclient/AST_CRON_audio_3_ftp.pl --GSM +# +# FLAGS FOR COMPRESSION CODECS +# --GSM = GSM 6.10 codec +# --MP3 = MPEG Layer3 codec +# --OGG = OGG Vorbis codec +# +# make sure that the following directories exist: +# /var/spool/asterisk/monitorDONE # where the mixed -all files are put +# +# This program assumes that recordings are saved by Asterisk as .wav +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# +# 80302-1958 - First Build +# 80731-2253 - Changed size comparisons for more efficiency +# + +$GSM=0; $MP3=0; $OGG=0; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [--debug] = debug\n [--debugX] = super debug\n [-t] = test\n [--GSM] = compress into GSM codec\n [--MP3] = compress into MPEG-Layer-3 codec\n [--OGG] = compress into OGG Vorbis codec\n\n"; + exit; + } + else + { + if ($args =~ /--debug/i) + { + $DB=1; + print "\n----- DEBUG -----\n\n"; + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n----- SUPER DEBUG -----\n\n"; + } + if ($args =~ /-t/i) + { + $T=1; $TEST=1; + print "\n-----TESTING -----\n\n"; + } + if ($args =~ /--GSM/i) + { + $GSM=1; + if ($DB) {print "GSM compression\n";} + } + else + { + if ($args =~ /--MP3/i) + { + $MP3=1; + if ($DB) {print "MP3 compression\n";} + } + else + { + if ($args =~ /--OGG/i) + { + $OGG=1; + if ($DB) {print "OGG compression\n";} + } + } + } + } +} +else +{ +#print "no command line options set\n"; +$GSM=1; +} + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^PATHDONEmonitor/) && ($CLIDONEmonitor < 1) ) + {$PATHDONEmonitor = $line; $PATHDONEmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_host/) && ($CLIFTP_host < 1) ) + {$VARFTP_host = $line; $VARFTP_host =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_user/) && ($CLIFTP_user < 1) ) + {$VARFTP_user = $line; $VARFTP_user =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_pass/) && ($CLIFTP_pass < 1) ) + {$VARFTP_pass = $line; $VARFTP_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_port/) && ($CLIFTP_port < 1) ) + {$VARFTP_port = $line; $VARFTP_port =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_dir/) && ($CLIFTP_dir < 1) ) + {$VARFTP_dir = $line; $VARFTP_dir =~ s/.*=//gi;} + if ( ($line =~ /^VARHTTP_path/) && ($CLIHTTP_path < 1) ) + {$VARHTTP_path = $line; $VARHTTP_path =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP +if (!$VARDB_port) {$VARDB_port='3306';} + +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +if ( ($GSM > 0) || ($OGG > 0) ) + { + ### find sox binary to do the compression + $soxbin = ''; + if ( -e ('/usr/bin/sox')) {$soxbin = '/usr/bin/sox';} + else + { + if ( -e ('/usr/local/bin/sox')) {$soxbin = '/usr/local/bin/sox';} + else + { + print "Can't find sox binary! Exiting...\n"; + exit + } + } + } + +if ($MP3 > 0) + { + ### find lame mp3 encoder binary to do the compression + $lamebin = ''; + if ( -e ('/usr/bin/lame')) {$lamebin = '/usr/bin/lame';} + else + { + if ( -e ('/usr/local/bin/lame')) {$lamebin = '/usr/local/bin/lame';} + else + { + print "Can't find lame binary! Exiting...\n"; + exit + } + } + } + + + +### directory where -all recordings are +$dir2 = "$PATHDONEmonitor"; + +opendir(FILE, "$dir2/"); +@FILES = readdir(FILE); + + +### Loop through files first to gather filesizes +$i=0; +foreach(@FILES) + { + $FILEsize1[$i] = 0; + if ( (length($FILES[$i]) > 4) && (!-d "$dir1/$FILES[$i]") ) + { + $FILEsize1[$i] = (-s "$dir1/$FILES[$i]"); + if ($DBX) {print "$FILES[$i] $FILEsize1[$i]\n";} + } + $i++; + } + +sleep(5); + + +### Loop through files a second time to gather filesizes again 5 seconds later +$i=0; +foreach(@FILES) + { + $FILEsize2[$i] = 0; + + if ( (length($FILES[$i]) > 4) && (!-d "$dir1/$FILES[$i]") ) + { + + $FILEsize2[$i] = (-s "$dir1/$FILES[$i]"); + if ($DBX) {print "$FILES[$i] $FILEsize2[$i]\n\n";} + + if ( ($FILES[$i] !~ /out\.|in\.|lost\+found/i) && ($FILEsize1[$i] eq $FILEsize2[$i]) && (length($FILES[$i]) > 4)) + { + $recording_id=''; + $ALLfile = $FILES[$i]; + $SQLFILE = $FILES[$i]; + $SQLFILE =~ s/-all\.wav|-all\.gsm//gi; + + $stmtA = "select recording_id from recording_log where filename='$SQLFILE' order by recording_id desc LIMIT 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $recording_id = "$aryA[0]"; + } + $sthA->finish(); + + + if ($GSM > 0) + { + $GSMfile = $FILES[$i]; + $GSMfile =~ s/-all\.wav/-all.gsm/gi; + + if ($DB) {print "|$recording_id|$ALLfile|$GSMfile| |$SQLfile|\n";} + + `$soxbin "$dir2/$ALLfile" "$dir2/GSM/$GSMfile"`; + + $stmtA = "UPDATE recording_log set location='http://$server_ip/RECORDINGS/GSM/$GSMfile' where recording_id='$recording_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + } + + if ($OGG > 0) + { + $OGGfile = $FILES[$i]; + $OGGfile =~ s/-all\.wav/-all.ogg/gi; + + if ($DB) {print "|$recording_id|$ALLfile|$OGGfile| |$SQLfile|\n";} + + `$soxbin "$dir2/$ALLfile" "$dir2/OGG/$OGGfile"`; + + $stmtA = "UPDATE recording_log set location='http://$server_ip/RECORDINGS/OGG/$OGGfile' where recording_id='$recording_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + } + + if ($MP3 > 0) + { + $MP3file = $FILES[$i]; + $MP3file =~ s/-all\.wav/-all.mp3/gi; + + if ($DB) {print "|$recording_id|$ALLfile|$MP3file| |$SQLfile|\n";} + + `$lamebin -b 16 -m m --silent "$dir2/$ALLfile" "$dir2/MP3/$MP3file"`; + + $stmtA = "UPDATE recording_log set location='http://$server_ip/RECORDINGS/MP3/$MP3file' where recording_id='$recording_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + } + + + if (!$T) + { + `mv -f "$dir2/$ALLfile" "$dir2/ORIG/$ALLfile"`; + } + + ### sleep for twenty hundredths of a second to not flood the server with disk activity + usleep(1*200*1000); + } + } + $i++; + } + +if ($DB) {print "DONE... EXITING\n\n";} + +$dbhA->disconnect(); + + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_CRON_audio_3_ftp.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_CRON_audio_3_ftp.pl new file mode 100644 index 00000000..31f14a79 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_CRON_audio_3_ftp.pl @@ -0,0 +1,301 @@ +#!/usr/bin/perl +# +# AST_CRON_audio_3_ftp.pl +# +# This is a STEP-3 program in the audio archival process +# +# runs every 3 minutes and copies the recording files to an FTP server +# +# put an entry into the cron of of your asterisk machine to run this script +# every 3 minutes or however often you desire +# +# ### recording mixing/compressing/ftping scripts +##0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_mix.pl +# 0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_VDonly.pl +# 1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58 * * * * /usr/share/astguiclient/AST_CRON_audio_2_compress.pl --GSM +# 2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59 * * * * /usr/share/astguiclient/AST_CRON_audio_3_ftp.pl --GSM +# +# FLAGS FOR COMPRESSION FILES TO TRANSFER +# --GSM = GSM 6.10 files +# --MP3 = MPEG Layer3 files +# --OGG = OGG Vorbis files +# --WAV = WAV files +# +# FLAG FOR NO DATE DIRECTORY ON FTP +# --NODATEDIR +# +# if pinging is not working, try the 'icmp' Ping command in the code instead +# +# make sure that the following directories exist: +# /var/spool/asterisk/monitorDONE # where the mixed -all files are put +# +# This program assumes that recordings are saved by Asterisk as .wav +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# +# 80302-1958 - First Build +# 80317-2349 - Added FTP debug if debugX +# 80731-2253 - Changed size comparisons for more efficiency +# + +$GSM=0; $MP3=0; $OGG=0; $WAV=0; $NODATEDIR=0; + +# Default variables for FTP +$VARFTP_host = '10.0.0.4'; +$VARFTP_user = 'cron'; +$VARFTP_pass = 'test'; +$VARFTP_port = '21'; +$VARFTP_dir = 'RECORDINGS'; +$VARHTTP_path = 'http://10.0.0.4'; + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [--debug] = debug\n [--debugX] = super debug\n [-t] = test\n [--GSM] = copy GSM files\n [--MP3] = copy MPEG-Layer-3 files\n [--OGG] = copy OGG Vorbis files\n [--WAV] = copy WAV files\n [--NODATEDIR] = do not put into dated directories\n\n"; + exit; + } + else + { + if ($args =~ /--debug/i) + { + $DB=1; + print "\n----- DEBUG -----\n\n"; + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n----- SUPER DEBUG -----\n\n"; + } + if ($args =~ /-t/i) + { + $T=1; $TEST=1; + print "\n----- TESTING -----\n\n"; + } + if ($args =~ /-nodatedir/i) + { + $NODATEDIR=1; + if ($DB) {print "\n----- NO DATE DIRECTORIES -----\n\n";} + } + if ($args =~ /--GSM/i) + { + $GSM=1; + if ($DB) {print "GSM audio files\n";} + } + else + { + if ($args =~ /--MP3/i) + { + $MP3=1; + if ($DB) {print "MP3 audio files\n";} + } + else + { + if ($args =~ /--OGG/i) + { + $OGG=1; + if ($DB) {print "OGG audio files\n";} + } + else + { + if ($args =~ /--WAV/i) + { + $WAV=1; + if ($DB) {print "WAV audio files\n";} + } + } + } + } + } +} +else +{ +#print "no command line options set\n"; +$WAV=1; +} + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^PATHDONEmonitor/) && ($CLIDONEmonitor < 1) ) + {$PATHDONEmonitor = $line; $PATHDONEmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_host/) && ($CLIFTP_host < 1) ) + {$VARFTP_host = $line; $VARFTP_host =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_user/) && ($CLIFTP_user < 1) ) + {$VARFTP_user = $line; $VARFTP_user =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_pass/) && ($CLIFTP_pass < 1) ) + {$VARFTP_pass = $line; $VARFTP_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_port/) && ($CLIFTP_port < 1) ) + {$VARFTP_port = $line; $VARFTP_port =~ s/.*=//gi;} + if ( ($line =~ /^VARFTP_dir/) && ($CLIFTP_dir < 1) ) + {$VARFTP_dir = $line; $VARFTP_dir =~ s/.*=//gi;} + if ( ($line =~ /^VARHTTP_path/) && ($CLIHTTP_path < 1) ) + {$VARHTTP_path = $line; $VARHTTP_path =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP +if (!$VARDB_port) {$VARDB_port='3306';} + +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +use Net::Ping; +use Net::FTP; + +### directory where -all recordings are +if ($WAV > 0) {$dir2 = "$PATHDONEmonitor";} +if ($MP3 > 0) {$dir2 = "$PATHDONEmonitor/MP3";} +if ($GSM > 0) {$dir2 = "$PATHDONEmonitor/GSM";} +if ($OGG > 0) {$dir2 = "$PATHDONEmonitor/OGG";} + +opendir(FILE, "$dir2/"); +@FILES = readdir(FILE); + +### Loop through files first to gather filesizes +$i=0; +foreach(@FILES) + { + $FILEsize1[$i] = 0; + if ( (length($FILES[$i]) > 4) && (!-d "$dir1/$FILES[$i]") ) + { + $FILEsize1[$i] = (-s "$dir1/$FILES[$i]"); + if ($DBX) {print "$FILES[$i] $FILEsize1[$i]\n";} + } + $i++; + } + +sleep(5); + + +### Loop through files a second time to gather filesizes again 5 seconds later +$i=0; +foreach(@FILES) + { + $FILEsize2[$i] = 0; + + if ( (length($FILES[$i]) > 4) && (!-d "$dir1/$FILES[$i]") ) + { + + $FILEsize2[$i] = (-s "$dir1/$FILES[$i]"); + if ($DBX) {print "$FILES[$i] $FILEsize2[$i]\n\n";} + + if ( ($FILES[$i] !~ /out\.|in\.|lost\+found/i) && ($FILEsize1[$i] eq $FILEsize2[$i]) && (length($FILES[$i]) > 4)) + { + $recording_id=''; + $ALLfile = $FILES[$i]; + $SQLFILE = $FILES[$i]; + $SQLFILE =~ s/-all\.wav|-all\.gsm|-all\.ogg|-all\.mp3//gi; + + $stmtA = "select recording_id,start_time from recording_log where filename='$SQLFILE' order by recording_id desc LIMIT 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $recording_id = "$aryA[0]"; + $start_date = "$aryA[1]"; + $start_date =~ s/ .*//gi; + } + $sthA->finish(); + + + if ($DB) {print "|$recording_id|$start_date|$ALLfile| |$SQLfile|\n";} + + ### BEGIN Remote file transfer + $p = Net::Ping->new(); + # $p = Net::Ping->new("icmp"); + $ping_good = $p->ping("$VARFTP_host"); + + if ($ping_good) + { + $start_date_PATH=''; + $FTPdb=0; + if ($DBX>0) {$FTPdb=1;} + $ftp = Net::FTP->new("$VARFTP_host", Port => $VARFTP_port, Debug => $FTPdb); + $ftp->login("$VARFTP_user","$VARFTP_pass"); + $ftp->cwd("$VARFTP_dir"); + if ($NODATEDIR < 1) + { + $ftp->mkdir("$start_date"); + $ftp->cwd("$start_date"); + $start_date_PATH = "$start_date/"; + } + $ftp->binary(); + $ftp->put("$dir2/$ALLfile", "$ALLfile"); + $ftp->quit; + + $stmtA = "UPDATE recording_log set location='$VARHTTP_path/$start_date_PATH$ALLfile' where recording_id='$recording_id';"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + + if (!$T) + { + `mv -f "$dir2/$ALLfile" "$PATHDONEmonitor/FTP/$ALLfile"`; + } + } + ### END Remote file transfer + + ### sleep for twenty hundredths of a second to not flood the server with disk activity + usleep(1*200*1000); + + } + } + $i++; + } + +if ($DB) {print "DONE... EXITING\n\n";} + +$dbhA->disconnect(); + + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_CRON_purge_recordings.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_CRON_purge_recordings.pl new file mode 100644 index 00000000..e3b25a45 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_CRON_purge_recordings.pl @@ -0,0 +1,193 @@ +#!/usr/bin/perl +# +# AST_CRON_purge_recordings.pl version 2.0.5 +# +# IMPORTANT!!! used to delete recordings!!! +# +# runs every day, goes through recordings older than a certain number of days +# and deletes those recordings that are not of a certain status +# default is 30 days old to remove non-sales +# +# put an entry into the cron of of your asterisk machine to run this script +# every day or however often you desire +# +# This program assumes that recordings are saved as .wav +# should be easy to change this code if you use .gsm instead +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# +# 70917-1339 - first build +# + +$save_statuses = '|SALE|UPSALE|UPSELL|XFER|DNC|DROP|A1|A2|A3|A4|A5|A6|A7|A8|A9|'; +$suffix = '-all.wav'; +$local_DIR = '/home2/cron/RECORDINGS'; +$use_date_DIRs = 1; + +# Customize variables for FTP +$FTP_host = '10.0.0.4'; +$FTP_user = 'cron'; +$FTP_pass = 'test'; +$FTP_dir = 'RECORDINGS'; +$HTTP_path = 'http://10.0.0.4'; + + +$secX = time(); + +$TDtarget = ($secX - 2592000); # thirty days +($Tsec,$Tmin,$Thour,$Tmday,$Tmon,$Tyear,$Twday,$Tyday,$Tisdst) = localtime($TDtarget); +$Tyear = ($Tyear + 1900); +$Tmon++; +if ($Tmon < 10) {$Tmon = "0$Tmon";} +if ($Tmday < 10) {$Tmday = "0$Tmday";} +if ($Thour < 10) {$Thour = "0$Thour";} +if ($Tmin < 10) {$Tmin = "0$Tmin";} +if ($Tsec < 10) {$Tsec = "0$Tsec";} + $TDSQLdate = "$Tyear-$Tmon-$Tmday $Thour:$Tmin:$Tsec"; + +$FDtarget = ($secX - 3456000); # forty-five days +($Fsec,$Fmin,$Fhour,$Fmday,$Fmon,$Fyear,$Fwday,$Fyday,$Fisdst) = localtime($FDtarget); +$Fyear = ($Fyear + 1900); +$Fmon++; +if ($Fmon < 10) {$Fmon = "0$Fmon";} +if ($Fmday < 10) {$Fmday = "0$Fmday";} +if ($Fhour < 10) {$Fhour = "0$Fhour";} +if ($Fmin < 10) {$Fmin = "0$Fmin";} +if ($Fsec < 10) {$Fsec = "0$Fsec";} + $FDSQLdate = "$Fyear-$Fmon-$Fmday $Fhour:$Fmin:$Fsec"; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### directory where in/out recordings are saved to by Asterisk +$dir1 = "$PATHmonitor"; + + +##### Get the lead_ids of all recordings that are not DELETED or NULL ##### +$stmtA = "SELECT lead_id,recording_id,start_time,filename,location FROM recording_log where start_time < '$TDSQLdate' and start_time > '$FDSQLdate' and location IS NOT NULL and location NOT IN('','NOT_FOUND','NOT_FOUND_2','DELETED') LIMIT 5000;"; + print "$stmtA\n"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$i=0; +while ($sthArows > $i) + { + @aryA = $sthA->fetchrow_array; + $lead_ids[$i] = "$aryA[0]"; + $recording_ids[$i] = "$aryA[1]"; + $start_times[$i] = "$aryA[2]"; + $filenames[$i] = "$aryA[3]"; + $locations[$i] = "$aryA[4]"; + $i++; + } +$sthA->finish(); + +##### Go through list of leads and find all of their statuses ##### +$i=0; +foreach(@lead_ids) + { + ### Grab status of the lead in the vicidial_list table + $stmtA = "SELECT status FROM vicidial_list where lead_id='$lead_ids[$i]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $h=0; + while ($sthArows > $h) + { + @aryA = $sthA->fetchrow_array; + $statuses[$i] = "$aryA[0]"; + $h++; + } + $sthA->finish(); + + $i++; + } + + +##### Go through list of leads and delete all recordings with no-save statuses ##### +$i=0; +$KEEP=0; +$DELETE=0; +foreach(@lead_ids) + { + if ( ($save_statuses !~ /\|$statuses[$i]\|/) && (length($statuses[$i])>0) ) + { + if ($use_date_DIRs) + { + $date_DIR = $start_times[$i]; + $date_DIR =~ s/ .*//gi; + $date_DIR .= "/"; + } + else {$date_DIR=''} + `rm -f $local_DIR/$date_DIR$filenames[$i]$suffix`; + print "rm -f $local_DIR/$date_DIR$filenames[$i]$suffix |$statuses[$i]|$lead_ids[$i]|\n"; + + $stmtA = "UPDATE recording_log set location='DELETED' where recording_id='$recording_ids[$i]';"; + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + $DELETE++; + } + else + { + print "KEEP- $filenames[$i]$suffix |$statuses[$i]|$lead_ids[$i]|\n"; + $KEEP++; + } + $i++; + } + +print "KEEP: $KEEP\n"; +print "DELETED: $DELETE\n"; +print "--------------------\n"; +print "TOTAL: $i\n"; + +if ($v) {print "DONE... EXITING\n\n";} + +$dbhA->disconnect(); + + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_DB_lead_status_change.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_DB_lead_status_change.pl new file mode 100644 index 00000000..37bb2cbb --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_DB_lead_status_change.pl @@ -0,0 +1,111 @@ +#!/usr/bin/perl +# +# AST_DB_lead_status_change.pl version 2.0.5 *DBI-version* +# +# DESCRIPTION: +# OPTIONAL!!! CUSTOMIZE THIS SCRIPT FIRST!!! +# - changes status of leads as crontab script +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 80114-1150 - first build +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-debug/i) + { + $DB=1; # Debug flag, set to 0 for no debug messages, On an active system this will generate hundreds of lines of output per minute + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} +else +{ +print "no command line options set\n"; + $loop_delay = '2500'; + $DB=1; +} +### end parsing run-time options ### + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +##### change Pacific Mountain + +$stmtA = "UPDATE vicidial_list set status='NEW' where status='NA' and called_count IN('1','2');"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $affected_rows = $dbhA->do($stmtA); + if($DB){print STDERR "\n|$affected_rows records changed|\n";} + } + +$dbhA->disconnect(); + +exit; + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_DB_optimize.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_DB_optimize.pl new file mode 100644 index 00000000..2c6cd8d1 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_DB_optimize.pl @@ -0,0 +1,381 @@ +#!/usr/bin/perl +# +# AST_DB_optimize.pl version 2.0.5 *DBI-version* +# +# DESCRIPTION: +# optimizes the tables used in the asterisk MySQL database +# +# It is recommended that you run this program on the local Asterisk machine +# +# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 60717-1242 - changed to DBI by Marin Blu +# 60718-1645 - changed to use /etc/astguiclient.conf for configs +# 71030-2020 - Added deletions of stats and inbound live agents +# 71109-1725 - fixed vicidial_campaign_stats bug +# 71215-0410 - fixed UPDATE/DELETE results +# 80909-0555 - added vicidial_campaign_dnc table +# 90307-2025 - Added several new queries and rearranged update/deletes +# + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + + + $stmtA = "UPDATE vicidial_campaign_stats SET dialable_leads='0', calls_today='0', answers_today='0', drops_today='0', drops_today_pct='0', drops_answers_today_pct='0', calls_hour='0', answers_hour='0', drops_hour='0', drops_hour_pct='0', calls_halfhour='0', answers_halfhour='0', drops_halfhour='0', drops_halfhour_pct='0', calls_fivemin='0', answers_fivemin='0', drops_fivemin='0', drops_fivemin_pct='0', calls_onemin='0', answers_onemin='0', drops_onemin='0', drops_onemin_pct='0', differential_onemin='0', agents_average_onemin='0', balance_trunk_fill='0', status_category_count_1='0', status_category_count_2='0', status_category_count_3='0', status_category_count_4='0';"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) + { + $affected_rows = $dbhA->do($stmtA); + if(!$Q){print STDERR "\n|$affected_rows vicidial_campaign_stats records reset|\n";} + } + + $stmtA = "optimize table vicidial_campaign_stats;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + $stmtA = "delete from vicidial_campaign_server_stats;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) + { + $affected_rows = $dbhA->do($stmtA); + if(!$Q){print STDERR "\n|$affected_rows vicidial_campaign_server_stats records deleted|\n";} + } + + $stmtA = "optimize table vicidial_campaign_server_stats;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + $stmtA = "delete from vicidial_live_inbound_agents;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) + { + $affected_rows = $dbhA->do($stmtA); + if(!$Q){print STDERR "\n|$affected_rows vicidial_live_inbound_agents records deleted|\n";} + } + + $stmtA = "optimize table vicidial_live_inbound_agents;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + $stmtA = "update vicidial_inbound_group_agents SET calls_today=0;;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) + { + $affected_rows = $dbhA->do($stmtA); + if(!$Q){print STDERR "\n|$affected_rows vicidial_inbound_group_agents call counts reset|\n";} + } + + $stmtA = "optimize table vicidial_inbound_group_agents;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + $stmtA = "update vicidial_campaign_agents SET calls_today=0;;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) + { + $affected_rows = $dbhA->do($stmtA); + if(!$Q){print STDERR "\n|$affected_rows vicidial_campaign_agents call counts reset|\n";} + } + + $stmtA = "optimize table vicidial_campaign_agents;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + $stmtA = "optimize table call_log;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + + $stmtA = "optimize table park_log;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + + $stmtA = "optimize table vicidial_log;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + + $stmtA = "optimize table vicidial_closer_log;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + + $stmtA = "optimize table vicidial_xfer_log;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + $stmtA = "optimize table vicidial_list;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + + $stmtA = "optimize table vicidial_manager;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + + $stmtA = "optimize table vicidial_auto_calls;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + + $stmtA = "optimize table vicidial_live_agents;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + $stmtA = "optimize table vicidial_dnc;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + $stmtA = "optimize table vicidial_campaign_dnc;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + $stmtA = "optimize table vicidial_callbacks;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + $stmtA = "optimize table vicidial_agent_log;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + $stmtA = "optimize table vicidial_conferences;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + $stmtA = "optimize table vicidial_hopper;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + $stmtA = "optimize table servers;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + $stmtA = "optimize table vicidial_timeclock_log;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + $stmtA = "optimize table vicidial_timeclock_status;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + + $dbhA->disconnect(); + + +exit; + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_DB_tz_divide.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_DB_tz_divide.pl new file mode 100644 index 00000000..81d18f38 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_DB_tz_divide.pl @@ -0,0 +1,209 @@ +#!/usr/bin/perl +# +# AST_DB_tz_divide.pl version 2.0.5 *DBI-version* +# +# DESCRIPTION: +# OPTIONAL!!! CUSTOMIZE THIS SCRIPT FIRST!!! +# - separates leads into two different lists +# - moves leads older than 30 days into 999999 list_id +# - deletes non-sale leads older than 45 days +# +# It is recommended that you run this program on the local Asterisk machine +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 71106-0250 - first build +# 71106-1235 - fixed bugs and made debug function properly +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-debug/i) + { + $DB=1; # Debug flag, set to 0 for no debug messages, On an active system this will generate hundreds of lines of output per minute + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} +else +{ +print "no command line options set\n"; + $loop_delay = '2500'; + $DB=1; +} +### end parsing run-time options ### + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + + +if ($isdst) + { + $TZmove = "'-6.00','-7.00','-8.00','-9.00','-10.00'"; + $TZback = "'-4.00','-5.00'"; + } +else + { + $TZmove = "'-7.00','-8.00','-9.00','-10.00','-11.00'"; + $TZback = "'-5.00','-6.00'"; + } + + ##### change Pacific Mountain + + $stmtA = "UPDATE vicidial_list set list_id='222' where list_id='111' and gmt_offset_now IN($TZmove);"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $affected_rows = $dbhA->do($stmtA); + if($DB){print STDERR "\n|$affected_rows records changed|\n";} + } + + $stmtA = "UPDATE vicidial_list set list_id='12021' where list_id='11315' and gmt_offset_now IN($TZmove);"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $affected_rows = $dbhA->do($stmtA); + if($DB){print STDERR "\n|$affected_rows records changed|\n";} + } + + $stmtA = "UPDATE vicidial_list set list_id='4444' where list_id='3333' and gmt_offset_now IN($TZmove);"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $affected_rows = $dbhA->do($stmtA); + if($DB){print STDERR "\n|$affected_rows records changed|\n";} + } + + ##### change back Eastern Central + + $stmtA = "UPDATE vicidial_list set list_id='111' where list_id='222' and gmt_offset_now IN($TZback);"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $affected_rows = $dbhA->do($stmtA); + if($DB){print STDERR "\n|$affected_rows records changed|\n";} + } + + $stmtA = "UPDATE vicidial_list set list_id='11315' where list_id='12021' and gmt_offset_now IN($TZback);"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $affected_rows = $dbhA->do($stmtA); + if($DB){print STDERR "\n|$affected_rows records changed|\n";} + } + + $stmtA = "UPDATE vicidial_list set list_id='3333' where list_id='4444' and gmt_offset_now IN($TZback);"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $affected_rows = $dbhA->do($stmtA); + if($DB){print STDERR "\n|$affected_rows records changed|\n";} + } + + + + +$secX = time(); + +$XDtarget = ($secX - 2678400); +($Xsec,$Xmin,$Xhour,$Xmday,$Xmon,$Xyear,$Xwday,$Xyday,$Xisdst) = localtime($XDtarget); +$Xyear = ($Xyear + 1900); +$Xmon++; +if ($Xmon < 10) {$Xmon = "0$Xmon";} +if ($Xmday < 10) {$Xmday = "0$Xmday";} +if ($Xhour < 10) {$Xhour = "0$Xhour";} +if ($Xmin < 10) {$Xmin = "0$Xmin";} +if ($Xsec < 10) {$Xsec = "0$Xsec";} + $XDSQLdate = "$Xyear-$Xmon-$Xmday $Xhour:$Xmin:$Xsec"; + +$TDtarget = ($secX - 5356800); +($Tsec,$Tmin,$Thour,$Tmday,$Tmon,$Tyear,$Twday,$Tyday,$Tisdst) = localtime($TDtarget); +$Tyear = ($Tyear + 1900); +$Tmon++; +if ($Tmon < 10) {$Tmon = "0$Tmon";} +if ($Tmday < 10) {$Tmday = "0$Tmday";} +if ($Thour < 10) {$Thour = "0$Thour";} +if ($Tmin < 10) {$Tmin = "0$Tmin";} +if ($Tsec < 10) {$Tsec = "0$Tsec";} + $TDSQLdate = "$Tyear-$Tmon-$Tmday $Thour:$Tmin:$Tsec"; + + $stmtA = "UPDATE vicidial_list set list_id='999999' where list_id IN('11315','12021','111','222','3333','4444') and entry_date < \"$XDSQLdate\";"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $affected_rows = $dbhA->do($stmtA); + if($DB){print STDERR "\n|$affected_rows records changed|\n";} + } + + $stmtA = "DELETE from vicidial_list WHERE list_id='999999' and entry_date < \"$TDSQLdate\" and status NOT IN('SALE','UPSELL','UPSALE','A1','A2','A3','A4');"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $affected_rows = $dbhA->do($stmtA); + if($DB){print STDERR "\n|$affected_rows records changed|\n";} + } + + + $dbhA->disconnect(); + +exit; + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_SWAMPauto_dial.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_SWAMPauto_dial.pl new file mode 100644 index 00000000..613f0817 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_SWAMPauto_dial.pl @@ -0,0 +1,265 @@ +#!/usr/bin/perl +# +# AST_SWAMPauto_dial.pl version 0.2 +# +# DESCRIPTION: +# uses MySQL to place auto_dial calls on the VICIDIAL dialer system +# +# SUMMARY: +# This program was designed to test inbound phone system with a set number of +# calls being launched one per second for a set time period using incrementing +# CallerID numbers +# +# # The Gettysburg address is about 100 seconds, this is a free recording +# cd /var/lib/asterisk/sounds/ +# wget http://www.eflo.net/files/gettysburgaddress.wav +# +# exten => 834562311,1,Answer +# exten => 834562311,2,Playback(gettysburgaddress) +# exten => 834562311,3,Hangup +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# changes: +# 50708-1533 - First version +# 80217-0226 - Changed to DBI and added more options +# + + +# constants + $CIDlist[0] = '9989998888'; +$dialstring_800_prefix = '91'; +$dialstring_number = '6102350343'; # number being dialed (inbound queue) + $server_ips[0] = '192.168.75.21'; + $server_ips[1] = '192.168.75.23'; +# $server_ips[2] = '192.168.75.22'; +# $server_ips[3] = '192.168.1.240'; +# $server_ips[0] = '192.168.1.106'; +# $server_ips[1] = '192.168.1.249'; +# $server_ips[2] = '192.168.1.239'; +# $server_ips[3] = '192.168.1.240'; +# $server_ips[0] = '10.10.11.11'; +# $server_ips[1] = '10.10.11.21'; +# $server_ips[2] = '10.10.11.22'; +# $server_ips[3] = '10.10.11.23'; +# $server_ips[4] = '10.10.11.24'; +# $server_ips[5] = '10.10.11.25'; +# $server_ips[6] = '10.10.11.13'; +# $server_ips[7] = '10.10.11.14'; +# $server_ips[8] = '10.10.11.15'; +# $server_ips[9] = '10.10.11.16'; +# $server_ips[10] = '10.10.11.18'; +# $server_ips[11] = '10.10.11.19'; +$exten='834562311'; # where the test audio file is located +$context='default'; +$US='_'; +$loop_delay = '1'; +$it='0'; +$total_loops='3600'; # 3600 seconds = 1 hour +#$total_loops='100'; # 3600 seconds = 1 hour +$dialstring = "$dialstring_800_prefix$dialstring_number"; +$MT[0]=''; + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-t] = test\n [-debug] = verbose debug messages\n [--delay=XXX] = delay of XXX seconds per loop, default 2.5 seconds\n\n"; + } + else + { + if ($args =~ /--delay=/i) + { + @data_in = split(/--delay=/,$args); + $loop_delay = $data_in[1]; + print " LOOP DELAY OVERRIDE!!!!! = $loop_delay seconds\n\n"; + $loop_delay = ($loop_delay * 1000); + } + else + { + $loop_delay = '1000'; + } + if ($args =~ /-debug/i) + { + $DB=1; # Debug flag, set to 0 for no debug messages, On an active system this will generate hundreds of lines of output per minute + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} +else +{ +print "no command line options set\n"; + $DB=1; + $loop_delay = '1000'; +# $loop_delay = '500'; +} +### end parsing run-time options ### + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +&get_time_now; + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +$SWAMPLOGfile = "$PATHlogs/SWAMP_LOG_$file_date$txt"; + + + $event_string='PROGRAM STARTED||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||'; + &event_logger; # writes to the log and if debug flag is set prints to STDOUT + +use lib './lib', '../lib'; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second + + +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +$event_string='LOGGED INTO MYSQL SERVER ON 1 CONNECTION|'; +&event_logger; + +$total=0; +$list_it=0; +$server_it=0; +$list_inc=0; +while($it < $total_loops) + { + &get_time_now; # update time/date variables + + $CIDtemp = ($CIDlist[$list_it] + $list_inc); + $SERVERtemp = $server_ips[$server_it]; + + $k=0; + while ($k < 1) + { + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$SERVERtemp','','Originate','TESTCIDX$CIDdate$US$it','Channel: Local/$dialstring@$context','Context; $context','Exten: $exten','Priority: 1','Callerid: \"Inbound Test Call\" <$CIDtemp>','','','','','');"; + $affected_rows = $dbhA->do($stmtA); + # print "|$stmtA|\n"; + $k++; + $total++; + + $event_string="CALL: $total TO: $dialstring CID: $CIDtemp it: $it list_it: $list_it list_inc: $list_inc server: $SERVERtemp"; + print "$event_string\n"; + &event_logger; + + } + ### sleep before beginning the loop again + usleep(1*$loop_delay*1000); + + $it++; + $list_it++; + if ($list_it > $#CIDlist) {$list_it=0; $list_inc++;} + $server_it++; + if ($server_it > $#server_ips) {$server_it=0;} + } + +exit; + + + + + + + + + + + + + +sub get_time_now #get the current date and time and epoch for logging call lengths and datetimes +{ + $secX = time(); +$secX = time(); + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$file_date = "$year-$mon-$mday_$hour$min$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + +} + + + + + +sub event_logger +{ + +#if ($DB) {print "$now_date|$event_string|\n";} + ### open the log file for writing ### + open(Lout, ">>$SWAMPLOGfile") + || die "Can't open $SWAMPLOGfile: $!\n"; + + print Lout "$now_date|$event_string|\n"; + + close(Lout); + +$event_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_VDadapt.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_VDadapt.pl new file mode 100644 index 00000000..7bae8771 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_VDadapt.pl @@ -0,0 +1,1624 @@ +#!/usr/bin/perl +# +# AST_VDadapt.pl version 2.0.5 +# +# DESCRIPTION: +# adjusts the auto_dial_level for vicidial adaptive-predictive campaigns. +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGELOG +# 60823-1302 - First build from AST_VDhopper.pl +# 60825-1734 - Functional alpha version, no loop +# 60826-0857 - Added loop and CLI flag options +# 60827-0035 - Separate Drop calculation and target dial level calculation into different subroutines +# - Alter code so that DROP percentages would calculate only about once a minute no matter he loop delay +# 60828-1149 - Add field for target dial_level difference, -1 would target one agent waiting, +1 would target 1 customer waiting +# 60919-1243 - Changed variables to use arrays for all campaign-specific values +# 61215-1110 - Added answered calls stats and use drops as percentage of answered for today +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70205-1429 - Added code for campaign_changedate and campaign_stats_refresh updates +# 70213-1221 - Added code for QueueMetrics queue_log QUEUESTART record +# 70219-1249 - Removed unused references to dial_status_x fields +# 70409-1219 - Removed CLOSER-type campaign restriction +# 70521-1038 - Fixed bug when no live campaigns are running, define $vicidial_log +# 70619-1339 - Added Status Category tally calculations +# 71029-1906 - Changed CLOSER-type campaign_id restriction +# 81021-2201 - Deactivated queue_log QUEUESTART event +# 81022-0713 - Added gathering of vicidial_inbound_groups stats(day only) +# 81108-0808 - Added more inbound stats with some debug output and added campaign agent non-pause time +# + +# constants +$DB=0; # Debug flag, set to 0 for no debug messages, On an active system this will generate lots of lines of output per minute +$US='__'; +$MT[0]=''; + +##### table definitions: + $vicidial_log = 'vicidial_log FORCE INDEX (call_date) '; +# $vicidial_log = 'vicidial_log'; + $vicidial_closer_log = 'vicidial_closer_log FORCE INDEX (call_date) '; +# $vicidial_closer_log = 'vicidial_closer_log'; + + +$i=0; +$drop_count_updater=0; +$stat_it=15; +$diff_ratio_updater=0; +$stat_count=1; +$VCScalls_today[$i]=0; +$VCSdrops_today[$i]=0; +$VCSdrops_today_pct[$i]=0; +$VCScalls_hour[$i]=0; +$VCSdrops_hour[$i]=0; +$VCSdrops_hour_pct[$i]=0; +$VCScalls_halfhour[$i]=0; +$VCSdrops_halfhour[$i]=0; +$VCSdrops_halfhour_pct[$i]=0; +$VCScalls_five[$i]=0; +$VCSdrops_five[$i]=0; +$VCSdrops_five_pct[$i]=0; +$VCScalls_one[$i]=0; +$VCSdrops_one[$i]=0; +$VCSdrops_one_pct[$i]=0; +$total_agents[$i]=0; +$ready_agents[$i]=0; +$waiting_calls[$i]=0; +$ready_diff_total[$i]=0; +$waiting_diff_total[$i]=0; +$total_agents_total[$i]=0; +$ready_diff_avg[$i]=0; +$waiting_diff_avg[$i]=0; +$total_agents_avg[$i]=0; +$stat_differential[$i]=0; +$VCSINCALL[$i]=0; +$VCSREADY[$i]=0; +$VCSCLOSER[$i]=0; +$VCSPAUSED[$i]=0; +$VCSagents[$i]=0; +$VCSagents_calc[$i]=0; +$VCSagents_active[$i]=0; + +# set to 61 initially so that a baseline drop count is pulled +$drop_count_updater=61; + +$secT = time(); + &get_time_now; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options(must stay in this order):\n [--debug] = debug\n [--debugX] = super debug\n [-t] = test\n [--loops=XXX] = force a number of loops of XXX\n [--delay=XXX] = force a loop delay of XXX seconds\n [--campaign=XXX] = run for campaign XXX only\n [-force] = force calculation of suggested predictive dial_level\n [-test] = test only, do not alter dial_level\n\n"; + } + else + { + if ($args =~ /--campaign=/i) # CLI defined campaign + { + @CLIvarARY = split(/--campaign=/,$args); + @CLIvarARX = split(/ /,$CLIvarARY[1]); + if (length($CLIvarARX[0])>2) + { + $CLIcampaign = $CLIvarARX[0]; + $CLIcampaign =~ s/\/$| |\r|\n|\t//gi; + } + else + {$CLIcampaign = '';} + @CLIvarARY=@MT; @CLIvarARY=@MT; + } + else + {$CLIcampaign = '';} + if ($args =~ /--level=/i) # CLI defined level + { + @CLIvarARY = split(/--level=/,$args); + @CLIvarARX = split(/ /,$CLIvarARY[1]); + if (length($CLIvarARX[0])>2) + { + $CLIlevel = $CLIvarARX[0]; + $CLIlevel =~ s/\/$| |\r|\n|\t//gi; + $CLIlevel =~ s/\D//gi; + } + else + {$CLIlevel = '';} + @CLIvarARY=@MT; @CLIvarARY=@MT; + } + else + {$CLIlevel = '';} + if ($args =~ /--loops=/i) # CLI defined loops + { + @CLIvarARY = split(/--loops=/,$args); + @CLIvarARX = split(/ /,$CLIvarARY[1]); + if (length($CLIvarARX[0])>2) + { + $CLIloops = $CLIvarARX[0]; + $CLIloops =~ s/\/$| |\r|\n|\t//gi; + $CLIloops =~ s/\D//gi; + } + else + {$CLIloops = '1000000';} + @CLIvarARY=@MT; @CLIvarARY=@MT; + } + else + {$CLIloops = '1000000';} + if ($args =~ /--delay=/i) # CLI defined delay + { + @CLIvarARY = split(/--delay=/,$args); + @CLIvarARX = split(/ /,$CLIvarARY[1]); + if (length($CLIvarARX[0])>2) + { + $CLIdelay = $CLIvarARX[0]; + $CLIdelay =~ s/\/$| |\r|\n|\t//gi; + $CLIdelay =~ s/\D//gi; + } + else + {$CLIdelay = '1';} + @CLIvarARY=@MT; @CLIvarARY=@MT; + } + else + {$CLIdelay = '1';} + if ($args =~ /--debug/i) + { + $DB=1; + print "\n----- DEBUG -----\n\n"; + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n"; + print "----- SUPER DEBUG -----\n"; + print "VARS-\n"; + print "CLIcampaign- $CLIcampaign\n"; + print "CLIlevel- $CLIlevel\n"; + print "CLIloops- $CLIloops\n"; + print "CLIdelay- $CLIdelay\n"; + print "\n"; + } + if ($args =~ /-force/i) + { + $force_test=1; + print "\n----- FORCE TESTING -----\n\n"; + } + if ($args =~ /-t/i) + { + $T=1; $TEST=1; + print "\n-----TESTING -----\n\n"; + } + } +} +else +{ +$CLIcampaign = ''; +$CLIlevel = ''; +$CLIloops = '1000000'; +$CLIdelay = '1'; +} + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +if ($DBX) {print "CONNECTED TO DATABASE: $VARDB_server|$VARDB_database\n";} + + +############################################# +##### START QUEUEMETRICS LOGGING LOOKUP ##### +# Disabled per Lorenzo at QueueMetrics because this event is apparently useless +#$stmtA = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; +#$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +#$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +#$sthArows=$sthA->rows; +#$rec_count=0; +#while ($sthArows > $rec_count) +# { +# @aryA = $sthA->fetchrow_array; +# $enable_queuemetrics_logging = "$aryA[0]"; +# $queuemetrics_server_ip = "$aryA[1]"; +# $queuemetrics_dbname = "$aryA[2]"; +# $queuemetrics_login = "$aryA[3]"; +# $queuemetrics_pass = "$aryA[4]"; +# $queuemetrics_log_id = "$aryA[5]"; +# $rec_count++; +# } +#$sthA->finish(); +# +#if ($enable_queuemetrics_logging > 0) +# { +# $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") +# or die "Couldn't connect to database: " . DBI->errstr; +# +# if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} +# +# $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secT',call_id='NONE',queue='NONE',agent='NONE',verb='QUEUESTART',serverid='$queuemetrics_log_id';"; +# $Baffected_rows = $dbhB->do($stmtB); +# +# $dbhB->disconnect(); +# } +##### END QUEUEMETRICS LOGGING LOOKUP ##### +########################################### + + +$master_loop=0; + +### Start master loop ### +while ($master_loop<$CLIloops) +{ + &get_time_now; + + ### Grab Server values from the database + $stmtA = "SELECT vd_server_logs,local_gmt FROM servers where server_ip = '$VARserver_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvd_server_logs = "$aryA[0]"; + $DBSERVER_GMT = "$aryA[1]"; + if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';} + else {$SYSLOG = '0';} + if (length($DBSERVER_GMT)>0) {$SERVER_GMT = $DBSERVER_GMT;} + $rec_count++; + } + $sthA->finish(); + + + + $secX = time(); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($secX); + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + if ($isdst) {$LOCAL_GMT_OFF++;} + + $GMT_now = ($secX - ($LOCAL_GMT_OFF * 3600)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($GMT_now); + $mon++; + $year = ($year + 1900); + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + +# if ($DB) {print "TIME DEBUG: $master_loop $LOCAL_GMT_OFF_STD|$LOCAL_GMT_OFF|$isdst| GMT: $hour:$min\n";} + +@campaign_id=@MT; +@lead_order=@MT; +@hopper_level=@MT; +@auto_dial_level=@MT; +@local_call_time=@MT; +@lead_filter_id=@MT; +@use_internal_dnc=@MT; +@dial_method=@MT; +@available_only_ratio_tally[$i]=@MT; +@adaptive_dropped_percentage=@MT; +@adaptive_maximum_level=@MT; +@adaptive_latest_server_time=@MT; +@adaptive_intensity=@MT; +@adaptive_dl_diff_target=@MT; +@campaign_changedate=@MT; +@campaign_stats_refresh=@MT; + +if ($CLIcampaign) + { + $stmtA = "SELECT * from vicidial_campaigns where campaign_id='$CLIcampaign'"; + } +else + { + $stmtA = "SELECT campaign_id,lead_order,hopper_level,auto_dial_level,local_call_time,lead_filter_id,use_internal_dnc,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,UNIX_TIMESTAMP(campaign_changedate),campaign_stats_refresh,campaign_allow_inbound from vicidial_campaigns where ( (active='Y') or (campaign_stats_refresh='Y') )"; + } +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $campaign_id[$rec_count] = $aryA[0]; + $lead_order[$rec_count] = $aryA[1]; + if (!$CLIlevel) + {$hopper_level[$rec_count] = $aryA[2];} + else + {$hopper_level[$rec_count] = $CLIlevel;} + $auto_dial_level[$rec_count] = $aryA[3]; + $local_call_time[$rec_count] = $aryA[4]; + $lead_filter_id[$rec_count] = $aryA[5]; + $use_internal_dnc[$rec_count] = $aryA[6]; + $dial_method[$rec_count] = $aryA[7]; + $available_only_ratio_tally[$i][$rec_count] = $aryA[8]; + $adaptive_dropped_percentage[$rec_count] = $aryA[9]; + $adaptive_maximum_level[$rec_count] = $aryA[10]; + $adaptive_latest_server_time[$rec_count] = $aryA[11]; + $adaptive_intensity[$rec_count] = $aryA[12]; + $adaptive_dl_diff_target[$rec_count] = $aryA[13]; + $campaign_changedate[$rec_count] = $aryA[14]; + $campaign_stats_refresh[$rec_count] = $aryA[15]; + $campaign_allow_inbound[$rec_count] = $aryA[16]; + + $rec_count++; + } +$sthA->finish(); +if ($DB) {print "$now_date CAMPAIGNS TO PROCESSES ADAPT FOR: $rec_count|$#campaign_id IT: $master_loop\n";} + + +##### LOOP THROUGH EACH CAMPAIGN AND PROCESS THE HOPPER ##### +$i=0; +foreach(@campaign_id) + { + ### Find out how many leads are in the hopper from a specific campaign + $hopper_ready_count=0; + $stmtA = "SELECT count(*) from vicidial_hopper where campaign_id='$campaign_id[$i]' and status='READY';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $hopper_ready_count = $aryA[0]; + if ($DB) {print " $campaign_id[$i] hopper READY count: $hopper_ready_count";} +# if ($DBX) {print " |$stmtA|\n";} + $rec_count++; + } + $sthA->finish(); + $event_string = "|$campaign_id[$i]|$hopper_level[$i]|$hopper_ready_count|$local_call_time[$i]|$diff_ratio_updater|$drop_count_updater|"; + if ($DBX) {print "$i $event_string\n";} + &event_logger; + + ##### IF THERE ARE NO LEADS IN THE HOPPER FOR THE CAMPAIGN WE DO NOT WANT TO ADJUST THE DIAL_LEVEL + if ($hopper_ready_count>0) + { + ### BEGIN - GATHER STATS FOR THE vicidial_campaign_stats TABLE ### + $differential_onemin[$i]=0; + $agents_average_onemin[$i]=0; + + # ### Grab the count of agents and lines + # if ($campaign_id[$i] !~ /(CLOSER|BLEND|INBND|_C$|_B$|_I$)/) + # { + &count_agents_lines; + # } + # else + # { + # if ($DB) {print " CLOSER CAMPAIGN\n";} + # } + + if ($total_agents_avg[$i] > 0) + { + ### Update Drop counter every 60 seconds + if ($drop_count_updater>=60) + { + &calculate_drops; + } + + ### Calculate and update Dial level every 15 seconds + if ($diff_ratio_updater>=15) + { + &calculate_dial_level; + } + } + else + { + if ($campaign_stats_refresh[$i] =~ /Y/) + { + if ($drop_count_updater>=60) + { + if ($DB) {print " REFRESH OVERRIDE: $campaign_id[$i]\n";} + + &calculate_drops; + + $RESETdrop_count_updater++; + + $stmtA = "UPDATE vicidial_campaigns SET campaign_stats_refresh='N' where campaign_id='$campaign_id[$i]';"; + $affected_rows = $dbhA->do($stmtA); + } + } + else + { + if ($campaign_changedate[$i] >= $VDL_ninty) + { + if ($drop_count_updater>=60) + { + if ($DB) {print " CHANGEDATE OVERRIDE: $campaign_id[$i]\n";} + + &calculate_drops; + + $RESETdrop_count_updater++; + } + } + } + } + } + else + { + if ($campaign_stats_refresh[$i] =~ /Y/) + { + if ($drop_count_updater>=60) + { + if ($DB) {print " REFRESH OVERRIDE: $campaign_id[$i]\n";} + + &calculate_drops; + + $RESETdrop_count_updater++; + + $stmtA = "UPDATE vicidial_campaigns SET campaign_stats_refresh='N' where campaign_id='$campaign_id[$i]';"; + $affected_rows = $dbhA->do($stmtA); + } + } + else + { + if ($campaign_changedate[$i] >= $VDL_ninty) + { + if ($drop_count_updater>=60) + { + if ($DB) {print " CHANGEDATE OVERRIDE: $campaign_id[$i]\n";} + + &calculate_drops; + + $RESETdrop_count_updater++; + } + } + } + } + $i++; + } + +if ( ($stat_count =~ /00$|50$/) || ($stat_count==1) ) + { + &launch_inbound_gather; + } + +if ($RESETdiff_ratio_updater>0) {$RESETdiff_ratio_updater=0; $diff_ratio_updater=0;} +if ($RESETdrop_count_updater>0) {$RESETdrop_count_updater=0; $drop_count_updater=0;} +$diff_ratio_updater = ($diff_ratio_updater + $CLIdelay); +$drop_count_updater = ($drop_count_updater + $CLIdelay); + + +sleep($CLIdelay); + +$stat_count++; +$master_loop++; +} + +$dbhA->disconnect(); + +if($DB) +{ +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secT); + +if (!$q) {print "DONE. Script execution time in seconds: $secZ\n";} +} + +exit; + + + + + +### SUBROUTINES ############################################################### + +sub event_logger +{ +if ($SYSLOG) + { + if (!$VDHLOGfile) {$VDHLOGfile = "$PATHlogs/adapt.$year-$mon-$mday";} + + ### open the log file for writing ### + open(Lout, ">>$VDHLOGfile") + || die "Can't open $VDHLOGfile: $!\n"; + print Lout "$now_date|$event_string|\n"; + close(Lout); + } +$event_string=''; +} + + +sub adaptive_logger +{ +if ($SYSLOG) + { + $VDHCLOGfile = "$PATHlogs/VDadaptive-$campaign_id[$i].$file_date"; + + ### open the log file for writing ### + open(Aout, ">>$VDHCLOGfile") + || die "Can't open $VDHCLOGfile: $!\n"; + print Aout "$now_date$adaptive_string\n"; + close(Aout); + } +$adaptive_string=''; +} + +sub get_time_now +{ +$secX = time(); +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +$file_date = "$year-$mon-$mday"; +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$VDL_date = "$year-$mon-$mday 00:00:01"; +$current_hourmin = "$hour$min"; + +### get date-time of one hour ago ### + $VDL_hour = ($secX - (60 * 60)); +($Vsec,$Vmin,$Vhour,$Vmday,$Vmon,$Vyear,$Vwday,$Vyday,$Visdst) = localtime($VDL_hour); +$Vyear = ($Vyear + 1900); +$Vmon++; +if ($Vmon < 10) {$Vmon = "0$Vmon";} +if ($Vmday < 10) {$Vmday = "0$Vmday";} +$VDL_hour = "$Vyear-$Vmon-$Vmday $Vhour:$Vmin:$Vsec"; + +### get date-time of half hour ago ### + $VDL_halfhour = ($secX - (30 * 60)); +($Vsec,$Vmin,$Vhour,$Vmday,$Vmon,$Vyear,$Vwday,$Vyday,$Visdst) = localtime($VDL_halfhour); +$Vyear = ($Vyear + 1900); +$Vmon++; +if ($Vmon < 10) {$Vmon = "0$Vmon";} +if ($Vmday < 10) {$Vmday = "0$Vmday";} +$VDL_halfhour = "$Vyear-$Vmon-$Vmday $Vhour:$Vmin:$Vsec"; + +### get date-time of five minutes ago ### + $VDL_five = ($secX - (5 * 60)); +($Vsec,$Vmin,$Vhour,$Vmday,$Vmon,$Vyear,$Vwday,$Vyday,$Visdst) = localtime($VDL_five); +$Vyear = ($Vyear + 1900); +$Vmon++; +if ($Vmon < 10) {$Vmon = "0$Vmon";} +if ($Vmday < 10) {$Vmday = "0$Vmday";} +$VDL_five = "$Vyear-$Vmon-$Vmday $Vhour:$Vmin:$Vsec"; + +### get epoch of ninty seconds ago ### + $VDL_ninty = ($secX - (1 * 90)); + +### get date-time of one minute ago ### + $VDL_one = ($secX - (1 * 60)); +($Vsec,$Vmin,$Vhour,$Vmday,$Vmon,$Vyear,$Vwday,$Vyday,$Visdst) = localtime($VDL_one); +$Vyear = ($Vyear + 1900); +$Vmon++; +if ($Vmon < 10) {$Vmon = "0$Vmon";} +if ($Vmday < 10) {$Vmday = "0$Vmday";} +$VDL_one = "$Vyear-$Vmon-$Vmday $Vhour:$Vmin:$Vsec"; +} + + +sub count_agents_lines +{ +### Calculate campaign-wide agent waiting and calls waiting differential +$stat_it=15; +$total_agents[$i]=0; +$ready_agents[$i]=0; +$waiting_calls[$i]=0; +$ready_diff_total[$i]=0; +$waiting_diff_total[$i]=0; +$total_agents_total[$i]=0; +$ready_diff_avg[$i]=0; +$waiting_diff_avg[$i]=0; +$total_agents_avg[$i]=0; +$stat_differential[$i]=0; + +$stmtA = "SELECT count(*),status from vicidial_live_agents where campaign_id='$campaign_id[$i]' and last_update_time > '$VDL_one' group by status;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCSagent_count[$i] = "$aryA[0]"; + $VCSagent_status[$i] = "$aryA[1]"; + $rec_count++; + if ($VCSagent_status[$i] =~ /READY|DONE/) {$ready_agents[$i] = ($ready_agents[$i] + $VCSagent_count[$i]);} + $total_agents[$i] = ($total_agents[$i] + $VCSagent_count[$i]); + } +$sthA->finish(); + +$stmtA = "SELECT count(*) FROM vicidial_auto_calls where campaign_id='$campaign_id[$i]' and status IN('LIVE');"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $waiting_calls[$i] = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); + +$stat_ready_agents[$i][$stat_count] = $ready_agents[$i]; +$stat_waiting_calls[$i][$stat_count] = $waiting_calls[$i]; +$stat_total_agents[$i][$stat_count] = $total_agents[$i]; + +if ($stat_count < 15) + { + $stat_it = $stat_count; + $stat_B = 1; + } +else + { + $stat_B = ($stat_count - 14); + } + +$it=0; +while($it < $stat_it) + { + $it_ary = ($it + $stat_B); + $ready_diff_total[$i] = ($ready_diff_total[$i] + $stat_ready_agents[$i][$it_ary]); + $waiting_diff_total[$i] = ($waiting_diff_total[$i] + $stat_waiting_calls[$i][$it_ary]); + $total_agents_total[$i] = ($total_agents_total[$i] + $stat_total_agents[$i][$it_ary]); +# $event_string="$stat_count $it_ary $stat_total_agents[$i][$it_ary]|$stat_ready_agents[$i][$it_ary]|$stat_waiting_calls[$i][$it_ary]"; +# if ($DB) {print " $event_string\n";} +# &event_logger; + $it++; + } + +if ($ready_diff_total[$i] > 0) + {$ready_diff_avg[$i] = ($ready_diff_total[$i] / $stat_it);} +if ($waiting_diff_total[$i] > 0) + {$waiting_diff_avg[$i] = ($waiting_diff_total[$i] / $stat_it);} +if ($total_agents_total[$i] > 0) + {$total_agents_avg[$i] = ($total_agents_total[$i] / $stat_it);} +$stat_differential[$i] = ($ready_diff_avg[$i] - $waiting_diff_avg[$i]); + +$event_string="CAMPAIGN DIFFERENTIAL: $total_agents_avg[$i] $stat_differential[$i] ($ready_diff_avg[$i] - $waiting_diff_avg[$i])"; +if ($DBX) {print "$campaign_id[$i]|$event_string\n";} +if ($DB) {print " $event_string\n";} + +&event_logger; + +# $stmtA = "UPDATE vicidial_campaign_stats SET differential_onemin[$i]='$stat_differential[$i]', agents_average_onemin[$i]='$total_agents_avg[$i]' where campaign_id='$DBIPcampaign[$i]';"; +# $affected_rows = $dbhA->do($stmtA); +} + + + + + +sub calculate_drops +{ +$camp_ANS_STAT_SQL=''; +# GET LIST OF HUMAN-ANSWERED STATUSES +$stmtA = "SELECT status from vicidial_statuses where human_answered='Y';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $camp_ANS_STAT_SQL .= "'$aryA[0]',"; + $rec_count++; + } +$sthA->finish(); + +$stmtA = "SELECT status from vicidial_campaign_statuses where campaign_id='$campaign_id[$i]' and human_answered='Y';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $camp_ANS_STAT_SQL .= "'$aryA[0]',"; + $rec_count++; + } +$sthA->finish(); +chop($camp_ANS_STAT_SQL); + +if ($DBX) {print " CAMPAIGN ANSWERED STATUSES: $campaign_id[$i]|$camp_ANS_STAT_SQL|\n";} + +$RESETdrop_count_updater++; +$VCScalls_today[$i]=0; +$VCSanswers_today[$i]=0; +$VCSdrops_today[$i]=0; +$VCSdrops_today_pct[$i]=0; +$VCSdrops_answers_today_pct[$i]=0; +$VCScalls_hour[$i]=0; +$VCSanswers_hour[$i]=0; +$VCSdrops_hour[$i]=0; +$VCSdrops_hour_pct[$i]=0; +$VCScalls_halfhour[$i]=0; +$VCSanswers_halfhour[$i]=0; +$VCSdrops_halfhour[$i]=0; +$VCSdrops_halfhour_pct[$i]=0; +$VCScalls_five[$i]=0; +$VCSanswers_five[$i]=0; +$VCSdrops_five[$i]=0; +$VCSdrops_five_pct[$i]=0; +$VCScalls_one[$i]=0; +$VCSanswers_one[$i]=0; +$VCSdrops_one[$i]=0; +$VCSdrops_one_pct[$i]=0; +$VCSagent_nonpause_time[$i]=0; + +# LAST ONE MINUTE CALL AND DROP STATS +$stmtA = "SELECT count(*) from $vicidial_log where campaign_id='$campaign_id[$i]' and call_date > '$VDL_one';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCScalls_one[$i] = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); +if ($VCScalls_one[$i] > 0) + { + # LAST MINUTE ANSWERS + $stmtA = "SELECT count(*) from $vicidial_log where campaign_id='$campaign_id[$i]' and call_date > '$VDL_one' and status IN($camp_ANS_STAT_SQL);"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCSanswers_one[$i] = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + # LAST MINUTE DROPS + $stmtA = "SELECT count(*) from $vicidial_log where campaign_id='$campaign_id[$i]' and call_date > '$VDL_one' and status IN('DROP','XDROP');"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCSdrops_one[$i] = "$aryA[0]"; + if ($VCSdrops_one[$i] > 0) + { + $VCSdrops_one_pct[$i] = ( ($VCSdrops_one[$i] / $VCScalls_one[$i]) * 100 ); + $VCSdrops_one_pct[$i] = sprintf("%.2f", $VCSdrops_one_pct[$i]); + } + $rec_count++; + } + $sthA->finish(); + } + +# TODAY CALL AND DROP STATS +$stmtA = "SELECT count(*) from $vicidial_log where campaign_id='$campaign_id[$i]' and call_date > '$VDL_date';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCScalls_today[$i] = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); +if ($VCScalls_today[$i] > 0) + { + # TODAY ANSWERS + $stmtA = "SELECT count(*) from $vicidial_log where campaign_id='$campaign_id[$i]' and call_date > '$VDL_date' and status IN($camp_ANS_STAT_SQL);"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCSanswers_today[$i] = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + # TODAY DROPS + $stmtA = "SELECT count(*) from $vicidial_log where campaign_id='$campaign_id[$i]' and call_date > '$VDL_date' and status IN('DROP','XDROP');"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCSdrops_today[$i] = "$aryA[0]"; + if ($VCSdrops_today[$i] > 0) + { + $VCSdrops_today_pct[$i] = ( ($VCSdrops_today[$i] / $VCScalls_today[$i]) * 100 ); + $VCSdrops_today_pct[$i] = sprintf("%.2f", $VCSdrops_today_pct[$i]); + if ($VCSanswers_today[$i] < 1) {$VCSanswers_today[$i] = 1;} + $VCSdrops_answers_today_pct[$i] = ( ($VCSdrops_today[$i] / $VCSanswers_today[$i]) * 100 ); + $VCSdrops_answers_today_pct[$i] = sprintf("%.2f", $VCSdrops_answers_today_pct[$i]); + } + $rec_count++; + } + $sthA->finish(); + } + +# LAST HOUR CALL AND DROP STATS +$stmtA = "SELECT count(*) from $vicidial_log where campaign_id='$campaign_id[$i]' and call_date > '$VDL_hour';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCScalls_hour[$i] = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); +if ($VCScalls_hour[$i] > 0) + { + # ANSWERS LAST HOUR + $stmtA = "SELECT count(*) from $vicidial_log where campaign_id='$campaign_id[$i]' and call_date > '$VDL_hour' and status IN($camp_ANS_STAT_SQL);"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCSanswers_hour[$i] = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + # DROP LAST HOUR + $stmtA = "SELECT count(*) from $vicidial_log where campaign_id='$campaign_id[$i]' and call_date > '$VDL_hour' and status IN('DROP','XDROP');"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCSdrops_hour[$i] = "$aryA[0]"; + if ($VCSdrops_hour[$i] > 0) + { + $VCSdrops_hour_pct[$i] = ( ($VCSdrops_hour[$i] / $VCScalls_hour[$i]) * 100 ); + $VCSdrops_hour_pct[$i] = sprintf("%.2f", $VCSdrops_hour_pct[$i]); + } + $rec_count++; + } + $sthA->finish(); + } + +# LAST HALFHOUR CALL AND DROP STATS +$stmtA = "SELECT count(*) from $vicidial_log where campaign_id='$campaign_id[$i]' and call_date > '$VDL_halfhour';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCScalls_halfhour[$i] = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); +if ($VCScalls_halfhour[$i] > 0) + { + # ANSWERS HALFHOUR + $stmtA = "SELECT count(*) from $vicidial_log where campaign_id='$campaign_id[$i]' and call_date > '$VDL_halfhour' and status IN($camp_ANS_STAT_SQL);"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCSanswers_halfhour[$i] = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + # DROPS HALFHOUR + $stmtA = "SELECT count(*) from $vicidial_log where campaign_id='$campaign_id[$i]' and call_date > '$VDL_halfhour' and status IN('DROP','XDROP');"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCSdrops_halfhour[$i] = "$aryA[0]"; + if ($VCSdrops_halfhour[$i] > 0) + { + $VCSdrops_halfhour_pct[$i] = ( ($VCSdrops_halfhour[$i] / $VCScalls_halfhour[$i]) * 100 ); + $VCSdrops_halfhour_pct[$i] = sprintf("%.2f", $VCSdrops_halfhour_pct[$i]); + } + $rec_count++; + } + $sthA->finish(); + } + +# LAST FIVE MINUTE CALL AND DROP STATS +$stmtA = "SELECT count(*) from $vicidial_log where campaign_id='$campaign_id[$i]' and call_date > '$VDL_five';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VCScalls_five[$i] = "$aryA[0]"; + } +$sthA->finish(); + +if ($VCScalls_five[$i] > 0) + { + # ANSWERS FIVEMINUTE + $stmtA = "SELECT count(*) from $vicidial_log where campaign_id='$campaign_id[$i]' and call_date > '$VDL_five' and status IN($camp_ANS_STAT_SQL);"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCSanswers_five[$i] = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + # DROPS FIVEMINUTE + $stmtA = "SELECT count(*) from $vicidial_log where campaign_id='$campaign_id[$i]' and call_date > '$VDL_five' and status IN('DROP','XDROP');"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCSdrops_five[$i] = "$aryA[0]"; + if ($VCSdrops_five[$i] > 0) + { + $VCSdrops_five_pct[$i] = ( ($VCSdrops_five[$i] / $VCScalls_five[$i]) * 100 ); + $VCSdrops_five_pct[$i] = sprintf("%.2f", $VCSdrops_five_pct[$i]); + } + $rec_count++; + } + $sthA->finish(); + } +if ($DBX) {print "$campaign_id[$i]|$VCSdrops_five_pct[$i]|$VCSdrops_today_pct[$i]\n";} + +# DETERMINE WHETHER TO GATHER STATUS CATEGORY STATISTICS +$VSC_categories=0; +$VSCupdateSQL=''; +$stmtA = "SELECT vsc_id from vicidial_status_categories where tovdad_display='Y' limit 4;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VSC_categories[$rec_count] = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); + +$g=0; +foreach (@VSC_categories) + { + $VSCcategory=$VSC_categories[$g]; + $VSCtally=''; + $CATstatusesSQL=''; + # FIND STATUSES IN STATUS CATEGORY + $stmtA = "SELECT status from vicidial_statuses where category='$VSCcategory';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $CATstatusesSQL .= "'$aryA[0]',"; + $rec_count++; + } + # FIND CAMPAIGN_STATUSES IN STATUS CATEGORY + $stmtA = "SELECT status from vicidial_campaign_statuses where category='$VSCcategory' and campaign_id='$campaign_id[$i]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $CATstatusesSQL .= "'$aryA[0]',"; + $rec_count++; + } + chop($CATstatusesSQL); + if (length($CATstatusesSQL)>2) + { + # FIND STATUSES IN STATUS CATEGORY + $stmtA = "SELECT count(*) from $vicidial_log where campaign_id='$campaign_id[$i]' and call_date > '$VDL_date' and status IN($CATstatusesSQL);"; + # if ($DBX) {print "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VSCtally = "$aryA[0]"; + $rec_count++; + } + } + $g++; + if ($DBX) {print " $campaign_id[$i]|$VSCcategory|$VSCtally|$CATstatusesSQL|\n";} + $VSCupdateSQL .= "status_category_$g='$VSCcategory',status_category_count_$g='$VSCtally',"; + } +while ($g < 4) + { + $g++; + $VSCupdateSQL .= "status_category_$g='',status_category_count_$g='0',"; + } +chop($VSCupdateSQL); + +# AGENT NON-PAUSE TIME PULL +$stmtA = "SELECT sum(wait_sec + talk_sec + dispo_sec) from vicidial_agent_log where campaign_id='$campaign_id[$i]' and event_time > '$VDL_date';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + if ($aryA[0] > 0) + {$VCSagent_nonpause_time[$i] = $aryA[0];} + } +$sthA->finish(); + + +$stmtA = "UPDATE vicidial_campaign_stats SET calls_today='$VCScalls_today[$i]',answers_today='$VCSanswers_today[$i]',drops_today='$VCSdrops_today[$i]',drops_today_pct='$VCSdrops_today_pct[$i]',drops_answers_today_pct='$VCSdrops_answers_today_pct[$i]',calls_hour='$VCScalls_hour[$i]',answers_hour='$VCSanswers_hour[$i]',drops_hour='$VCSdrops_hour[$i]',drops_hour_pct='$VCSdrops_hour_pct[$i]',calls_halfhour='$VCScalls_halfhour[$i]',answers_halfhour='$VCSanswers_halfhour[$i]',drops_halfhour='$VCSdrops_halfhour[$i]',drops_halfhour_pct='$VCSdrops_halfhour_pct[$i]',calls_fivemin='$VCScalls_five[$i]',answers_fivemin='$VCSanswers_five[$i]',drops_fivemin='$VCSdrops_five[$i]',drops_fivemin_pct='$VCSdrops_five_pct[$i]',calls_onemin='$VCScalls_one[$i]',answers_onemin='$VCSanswers_one[$i]',drops_onemin='$VCSdrops_one[$i]',drops_onemin_pct='$VCSdrops_one_pct[$i]',agent_non_pause_sec='$VCSagent_nonpause_time[$i]',$VSCupdateSQL where campaign_id='$campaign_id[$i]';"; +$affected_rows = $dbhA->do($stmtA); +if ($DBX) {print "$campaign_id[$i]|$stmtA|\n";} +} + + + +sub launch_inbound_gather +{ +################################################################################ +#### BEGIN gather stats for inbound groups for the real-time display +################################################################################ +$stmtA = "SELECT group_id from vicidial_inbound_groups where active='Y';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$ibg_count=0; +while ($sthArows > $ibg_count) + { + @aryA = $sthA->fetchrow_array; + $group_id[$ibg_count] = $aryA[0]; + $ibg_count++; + } +$sthA->finish(); +if ($DB) {print "$now_date INBOUND GROUPS TO GET STATS FOR: $ibg_count|$#group_id IT: $master_loop\n";} + + +##### LOOP THROUGH EACH INBOUND GROUP AND GATHER STATS ##### +$p=0; +foreach(@group_id) + { + &calculate_drops_inbound; + + $p++; + } + +################################################################################ +#### END gather stats for inbound groups for the real-time display +################################################################################ +} + + + +sub calculate_drops_inbound +{ +# GET inbound group hold stat seconds settings +$stmtA = "SELECT answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two from vicidial_inbound_groups where group_id='$group_id[$p]';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $answer_sec_pct_rt_stat_one = $aryA[0]; + $answer_sec_pct_rt_stat_two = $aryA[1]; + } +$sthA->finish(); + +$camp_ANS_STAT_SQL=''; +# GET LIST OF HUMAN-ANSWERED STATUSES +$stmtA = "SELECT status from vicidial_statuses where human_answered='Y';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $camp_ANS_STAT_SQL .= "'$aryA[0]',"; + $rec_count++; + } +$sthA->finish(); + +$stmtA = "SELECT distinct(status) from vicidial_campaign_statuses where human_answered='Y';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $camp_ANS_STAT_SQL .= "'$aryA[0]',"; + $rec_count++; + } +$sthA->finish(); +chop($camp_ANS_STAT_SQL); + +if ($DBX) {print " ANSWERED STATUSES: $group_id[$p]|$camp_ANS_STAT_SQL|\n";} + +#$RESETdrop_count_updater++; +$VCScalls_today[$p]=0; +$VCSanswers_today[$p]=0; +$VCSdrops_today[$p]=0; +$VCSdrops_today_pct[$p]=0; +$VCSdrops_answers_today_pct[$p]=0; +$answer_sec_pct_rt_stat_one_PCT[$p]=0; +$answer_sec_pct_rt_stat_two_PCT[$p]=0; +$hold_sec_answer_calls[$p]=0; +$hold_sec_drop_calls[$p]=0; +$hold_sec_queue_calls[$p]=0; + +# TODAY CALL AND DROP STATS +$stmtA = "SELECT count(*) from $vicidial_closer_log where campaign_id='$group_id[$p]' and call_date > '$VDL_date';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCScalls_today[$p] = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); +if ($VCScalls_today[$p] > 0) + { + # TODAY ANSWERS + $stmtA = "SELECT count(*) from $vicidial_closer_log where campaign_id='$group_id[$p]' and call_date > '$VDL_date' and status NOT IN('DROP','XDROP','HXFER','QVMAIL','HOLDTO','LIVE','QUEUE');"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCSanswers_today[$p] = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + # TODAY DROPS + $stmtA = "SELECT count(*) from $vicidial_closer_log where campaign_id='$group_id[$p]' and call_date > '$VDL_date' and status IN('DROP','XDROP');"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCSdrops_today[$p] = "$aryA[0]"; + if ($VCSdrops_today[$p] > 0) + { + $VCSdrops_today_pct[$p] = ( ($VCSdrops_today[$p] / $VCScalls_today[$p]) * 100 ); + $VCSdrops_today_pct[$p] = sprintf("%.2f", $VCSdrops_today_pct[$p]); + if ($VCSanswers_today[$p] < 1) {$VCSanswers_today[$p] = 1;} + $VCSdrops_answers_today_pct[$p] = ( ($VCSdrops_today[$p] / $VCSanswers_today[$p]) * 100 ); + $VCSdrops_answers_today_pct[$p] = sprintf("%.2f", $VCSdrops_answers_today_pct[$p]); + } + $rec_count++; + } + $sthA->finish(); + + # TODAY ANSWER PERCENT OF HOLD SECONDS one and two + $stmtA = "SELECT count(*) from $vicidial_closer_log where campaign_id='$group_id[$p]' and call_date > '$VDL_date' and queue_seconds <= $answer_sec_pct_rt_stat_one;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $answer_sec_pct_rt_stat_one_PCT[$p] = $aryA[0]; + } + $sthA->finish(); + $stmtA = "SELECT count(*) from $vicidial_closer_log where campaign_id='$group_id[$p]' and call_date > '$VDL_date' and queue_seconds <= $answer_sec_pct_rt_stat_two;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $answer_sec_pct_rt_stat_two_PCT[$p] = $aryA[0]; + } + + # TODAY TOTAL HOLD TIME FOR ANSWERED CALLS + $stmtA = "SELECT sum(queue_seconds) from $vicidial_closer_log where campaign_id='$group_id[$p]' and call_date > '$VDL_date' and status NOT IN('DROP','XDROP','HXFER','QVMAIL','HOLDTO','LIVE','QUEUE');"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + if ($aryA[0] > 0) + {$hold_sec_answer_calls[$p] = $aryA[0];} + } + # TODAY TOTAL HOLD TIME FOR DROP CALLS + $stmtA = "SELECT sum(queue_seconds) from $vicidial_closer_log where campaign_id='$group_id[$p]' and call_date > '$VDL_date' and status IN('DROP','XDROP');"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + if ($aryA[0] > 0) + {$hold_sec_drop_calls[$p] = $aryA[0];} + } + # TODAY TOTAL QUEUE TIME FOR QUEUE CALLS + $stmtA = "SELECT sum(queue_seconds) from $vicidial_closer_log where campaign_id='$group_id[$p]' and call_date > '$VDL_date';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + if ($aryA[0] > 0) + {$hold_sec_queue_calls[$p] = $aryA[0];} + } + } + + + + +# DETERMINE WHETHER TO GATHER STATUS CATEGORY STATISTICS +$VSC_categories=0; +$VSCupdateSQL=''; +$stmtA = "SELECT vsc_id from vicidial_status_categories where tovdad_display='Y' limit 4;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VSC_categories[$rec_count] = "$aryA[0]"; + $rec_count++; + } +$sthA->finish(); + +$g=0; +foreach (@VSC_categories) + { + $VSCcategory=$VSC_categories[$g]; + $VSCtally=''; + $CATstatusesSQL=''; + # FIND STATUSES IN STATUS CATEGORY + $stmtA = "SELECT status from vicidial_statuses where category='$VSCcategory';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $CATstatusesSQL .= "'$aryA[0]',"; + $rec_count++; + } + # FIND CAMPAIGN_STATUSES IN STATUS CATEGORY + $stmtA = "SELECT status from vicidial_campaign_statuses where category='$VSCcategory';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $CATstatusesSQL .= "'$aryA[0]',"; + $rec_count++; + } + chop($CATstatusesSQL); + if (length($CATstatusesSQL)>2) + { + # FIND STATUSES IN STATUS CATEGORY + $stmtA = "SELECT count(*) from $vicidial_closer_log where campaign_id='$group_id[$p]' and call_date > '$VDL_date' and status IN($CATstatusesSQL);"; + # if ($DBX) {print "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VSCtally = "$aryA[0]"; + $rec_count++; + } + } + $g++; + if ($DBX) {print " $group_id[$p]|$VSCcategory|$VSCtally|$CATstatusesSQL|\n";} + $VSCupdateSQL .= "status_category_$g='$VSCcategory',status_category_count_$g='$VSCtally',"; + } +while ($g < 4) + { + $g++; + $VSCupdateSQL .= "status_category_$g='',status_category_count_$g='0',"; + } +chop($VSCupdateSQL); + +$vcs_exists=1; +$stmtA = "SELECT count(*) from vicidial_campaign_stats where campaign_id='$group_id[$p]';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $vcs_exists = "$aryA[0]"; + } +$sthA->finish(); + +if ($vcs_exists < 1) + { + $stmtA = "INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id[$p]');"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print "$group_id[$p]|$stmtA|\n";} + } + +$stmtA = "UPDATE vicidial_campaign_stats SET calls_today='$VCScalls_today[$p]',answers_today='$VCSanswers_today[$p]',drops_today='$VCSdrops_today[$p]',drops_today_pct='$VCSdrops_today_pct[$p]',drops_answers_today_pct='$VCSdrops_answers_today_pct[$p]',hold_sec_stat_one='$answer_sec_pct_rt_stat_one_PCT[$p]',hold_sec_stat_two='$answer_sec_pct_rt_stat_two_PCT[$p]',hold_sec_answer_calls='$hold_sec_answer_calls[$p]',hold_sec_drop_calls='$hold_sec_drop_calls[$p]',hold_sec_queue_calls='$hold_sec_queue_calls[$p]',$VSCupdateSQL where campaign_id='$group_id[$p]';"; +$affected_rows = $dbhA->do($stmtA); +if ($DBX) {print "$group_id[$p]|$stmtA|\n";} + +print " IN-GROUP: $group_id[$p] CALLS: $VCScalls_today[$p] ANSWER: $VCSanswers_today[$p] DROPS: $VCSdrops_today[$p]\n"; +print " Stat1: $answer_sec_pct_rt_stat_one_PCT[$p] Stat2: $answer_sec_pct_rt_stat_two_PCT[$p] Hold: $hold_sec_queue_calls[$p]|$hold_sec_answer_calls[$p]|$hold_sec_drop_calls[$p]\n"; +} +##### END calculate_drops_inbound + + + + +sub calculate_dial_level +{ +$RESETdiff_ratio_updater++; +$VCSINCALL[$i]=0; +$VCSREADY[$i]=0; +$VCSCLOSER[$i]=0; +$VCSPAUSED[$i]=0; +$VCSagents[$i]=0; +$VCSagents_calc[$i]=0; +$VCSagents_active[$i]=0; + +# COUNTS OF STATUSES OF AGENTS IN THIS CAMPAIGN +$stmtA = "SELECT count(*),status from vicidial_live_agents where campaign_id='$campaign_id[$i]' and last_update_time > '$VDL_one' group by status;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCSagent_count[$i] = "$aryA[0]"; + $VCSagent_status[$i] = "$aryA[1]"; + $rec_count++; + if ($VCSagent_status[$i] =~ /INCALL|QUEUE/) {$VCSINCALL[$i] = ($VCSINCALL[$i] + $VCSagent_count[$i]);} + if ($VCSagent_status[$i] =~ /READY/) {$VCSREADY[$i] = ($VCSREADY[$i] + $VCSagent_count[$i]);} + if ($VCSagent_status[$i] =~ /CLOSER/) {$VCSCLOSER[$i] = ($VCSCLOSER[$i] + $VCSagent_count[$i]);} + if ($VCSagent_status[$i] =~ /PAUSED/) {$VCSPAUSED[$i] = ($VCSPAUSED[$i] + $VCSagent_count[$i]);} + $VCSagents[$i] = ($VCSagents[$i] + $VCSagent_count[$i]); + } +$sthA->finish(); + +if ($available_only_ratio_tally[$i] =~ /Y/) + {$VCSagents_calc[$i] = $VCSREADY[$i];} +else + {$VCSagents_calc[$i] = ($VCSINCALL[$i] + $VCSREADY[$i]);} +$VCSagents_active[$i] = ($VCSINCALL[$i] + $VCSREADY[$i] + $VCSCLOSER[$i]); + +### END - GATHER STATS FOR THE vicidial_campaign_stats TABLE ### + +if ($campaign_allow_inbound[$i] =~ /Y/) + { + # GET AVERAGES FROM THIS CAMPAIGN + $stmtA = "SELECT differential_onemin,agents_average_onemin from vicidial_campaign_stats where campaign_id='$campaign_id[$i]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $differential_onemin[$i] = "$aryA[0]"; + $agents_average_onemin[$i] = "$aryA[1]"; + $rec_count++; + } + $sthA->finish(); + } +else + { + $agents_average_onemin[$i] = $total_agents_avg[$i]; + $differential_onemin[$i] = $stat_differential[$i]; + } + +if ( ($dial_method[$i] =~ /ADAPT_HARD_LIMIT|ADAPT_AVERAGE|ADAPT_TAPERED/) || ($force_test>0) ) + { + # Calculate the optimal dial_level differential for the past minute + $differential_target[$i] = ($differential_onemin[$i] + $adaptive_dl_diff_target[$i]); + $differential_mul[$i] = ($differential_target[$i] / $agents_average_onemin[$i]); + $differential_pct_raw[$i] = ($differential_mul[$i] * 100); + $differential_pct[$i] = sprintf("%.2f", $differential_pct_raw[$i]); + + # Factor in the intensity setting + $intensity_mul[$i] = ($adaptive_intensity[$i] / 100); + if ($differential_pct_raw[$i] < 0) + { + $abs_intensity_mul[$i] = abs($intensity_mul[$i] - 1); + $intensity_diff[$i] = ($differential_pct_raw[$i] * $abs_intensity_mul[$i]); + } + else + {$intensity_diff[$i] = ($differential_pct_raw[$i] * ($intensity_mul[$i] + 1) );} + $intensity_pct[$i] = sprintf("%.2f", $intensity_diff[$i]); + $intensity_diff_mul[$i] = ($intensity_diff[$i] / 100); + + # Suggested dial_level based on differential + $suggested_dial_level[$i] = ($auto_dial_level[$i] * ($differential_mul[$i] + 1) ); + $suggested_dial_level[$i] = sprintf("%.3f", $suggested_dial_level[$i]); + + # Suggested dial_level based on differential with intensity setting + $intensity_dial_level[$i] = ($auto_dial_level[$i] * ($intensity_diff_mul[$i] + 1) ); + $intensity_dial_level[$i] = sprintf("%.3f", $intensity_dial_level[$i]); + + # Calculate last timezone target for ADAPT_TAPERED + $last_target_hour_final[$i] = $adaptive_latest_server_time[$i]; +# if ($last_target_hour_final[$i]>2400) {$last_target_hour_final[$i]=2400;} + $tapered_hours_left[$i] = ($last_target_hour_final[$i] - $current_hourmin); + if ($tapered_hours_left[$i] > 1000) + {$tapered_rate[$i] = 1;} + else + {$tapered_rate[$i] = ($tapered_hours_left[$i] / 1000);} + + $adaptive_string = "\n"; + $adaptive_string .= "CAMPAIGN: $campaign_id[$i]\n"; + $adaptive_string .= "SETTINGS-\n"; + $adaptive_string .= " DIAL LEVEL: $auto_dial_level[$i]\n"; + $adaptive_string .= " DIAL METHOD: $dial_method[$i]\n"; + $adaptive_string .= " AVAIL ONLY: $available_only_ratio_tally[$i]\n"; + $adaptive_string .= " DROP PERCENT: $adaptive_dropped_percentage[$i]\n"; + $adaptive_string .= " MAX LEVEL: $adaptive_maximum_level[$i]\n"; + $adaptive_string .= " SERVER TIME: $current_hourmin\n"; + $adaptive_string .= " LATE TARGET: $last_target_hour_final[$i] ($tapered_hours_left[$i] left|$tapered_rate[$i])\n"; + $adaptive_string .= " INTENSITY: $adaptive_intensity[$i]\n"; + $adaptive_string .= " DLDIFF TARGET: $adaptive_dl_diff_target[$i]\n"; + $adaptive_string .= "CURRENT STATS-\n"; + $adaptive_string .= " AVG AGENTS: $agents_average_onemin[$i]\n"; + $adaptive_string .= " AGENTS: $VCSagents[$i] ACTIVE: $VCSagents_active[$i] CALC: $VCSagents_calc[$i] INCALL: $VCSINCALL[$i] READY: $VCSREADY[$i]\n"; + $adaptive_string .= " DL DIFFERENTIAL: $differential_target[$i] = ($differential_onemin[$i] + $adaptive_dl_diff_target[$i])\n"; + $adaptive_string .= "DIAL LEVEL SUGGESTION-\n"; + $adaptive_string .= " PERCENT DIFF: $differential_pct[$i]\n"; + $adaptive_string .= " SUGGEST DL: $suggested_dial_level[$i] = ($auto_dial_level[$i] * ($differential_mul[$i] + 1) )\n"; + $adaptive_string .= " INTENSE DIFF: $intensity_pct[$i]\n"; + $adaptive_string .= " INTENSE DL: $intensity_dial_level[$i] = ($auto_dial_level[$i] * ($intensity_diff_mul[$i] + 1) )\n"; + if ($intensity_dial_level[$i] > $adaptive_maximum_level[$i]) + { + $adaptive_string .= " DIAL LEVEL OVER CAP! SETTING TO CAP: $adaptive_maximum_level[$i]\n"; + $intensity_dial_level[$i] = $adaptive_maximum_level[$i]; + } + if ($intensity_dial_level[$i] < 1) + { + $adaptive_string .= " DIAL LEVEL TOO LOW! SETTING TO 1\n"; + $intensity_dial_level[$i] = "1.0"; + } + $adaptive_string .= "DROP STATS-\n"; + $adaptive_string .= " TODAY DROPS: $VCScalls_today[$i] $VCSdrops_today[$i] $VCSdrops_today_pct[$i]%\n"; + $adaptive_string .= " ANSWER DROPS: $VCSanswers_today[$i] $VCSdrops_answers_today_pct[$i]%\n"; + $adaptive_string .= " ONE HOUR DROPS: $VCScalls_hour[$i]/$VCSanswers_hour[$i] $VCSdrops_hour[$i] $VCSdrops_hour_pct[$i]%\n"; + $adaptive_string .= " HALF HOUR DROPS: $VCScalls_halfhour[$i]/$VCSanswers_halfhour[$i] $VCSdrops_halfhour[$i] $VCSdrops_halfhour_pct[$i]%\n"; + $adaptive_string .= " FIVE MIN DROPS: $VCScalls_five[$i]/$VCSanswers_five[$i] $VCSdrops_five[$i] $VCSdrops_five_pct[$i]%\n"; + $adaptive_string .= " ONE MIN DROPS: $VCScalls_one[$i]/$VCSanswers_one[$i] $VCSdrops_one[$i] $VCSdrops_one_pct[$i]%\n"; + + ### DROP PERCENTAGE RULES TO LOWER DIAL_LEVEL ### + if ( ($VCScalls_one[$i] > 20) && ($VCSdrops_one_pct[$i] > 50) ) + { + $intensity_dial_level[$i] = ($intensity_dial_level[$i] / 2); + $adaptive_string .= " DROP RATE OVER 50% FOR LAST MINUTE! CUTTING DIAL LEVEL TO: $intensity_dial_level[$i]\n"; + } + if ( ($VCScalls_today[$i] > 50) && ($VCSdrops_answers_today_pct[$i] > $adaptive_dropped_percentage[$i]) ) + { + if ($dial_method[$i] =~ /ADAPT_HARD_LIMIT/) + { + $intensity_dial_level[$i] = "1.0"; + $adaptive_string .= " DROP RATE OVER HARD LIMIT FOR TODAY! HARD DIAL LEVEL TO: 1.0\n"; + } + if ($dial_method[$i] =~ /ADAPT_AVERAGE/) + { + $intensity_dial_level[$i] = ($intensity_dial_level[$i] / 2); + $adaptive_string .= " DROP RATE OVER LIMIT FOR TODAY! AVERAGING DIAL LEVEL TO: $intensity_dial_level[$i]\n"; + } + if ($dial_method[$i] =~ /ADAPT_TAPERED/) + { + if ($tapered_hours_left[$i] < 0) + { + $intensity_dial_level[$i] = "1.0"; + $adaptive_string .= " DROP RATE OVER LAST HOUR LIMIT FOR TODAY! TAPERING DIAL LEVEL TO: 1.0\n"; + } + else + { + $intensity_dial_level[$i] = ($intensity_dial_level[$i] * $tapered_rate[$i]); + $adaptive_string .= " DROP RATE OVER LIMIT FOR TODAY! TAPERING DIAL LEVEL TO: $intensity_dial_level[$i]\n"; + } + } + } + + ### ALWAYS RAISE DIAL_LEVEL TO 1.0 IF IT IS LOWER ### + if ($intensity_dial_level[$i] < 1) + { + $adaptive_string .= " DIAL LEVEL TOO LOW! SETTING TO 1\n"; + $intensity_dial_level[$i] = "1.0"; + } + + if (!$TEST) + { + $stmtA = "UPDATE vicidial_campaigns SET auto_dial_level='$intensity_dial_level[$i]' where campaign_id='$campaign_id[$i]';"; + $Uaffected_rows = $dbhA->do($stmtA); + } + + $adaptive_string .= "DIAL LEVEL UPDATED TO: $intensity_dial_level[$i] CONFIRM: $Uaffected_rows\n"; + } + +if ($DB) {print "campaign stats updated: $campaign_id[$i] $adaptive_string\n";} + + &adaptive_logger; +} diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_VDauto_dial.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_VDauto_dial.pl new file mode 100644 index 00000000..ed14b255 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_VDauto_dial.pl @@ -0,0 +1,1886 @@ +#!/usr/bin/perl +# +# AST_VDauto_dial.pl version 2.0.5 *DBI-version* +# +# DESCRIPTION: +# Places auto_dial calls on the VICIDIAL dialer system +# +# SUMMARY: +# This program was designed for people using the Asterisk PBX with VICIDIAL +# +# For the client to use VICIDIAL, this program must be in the cron constantly +# +# For this program to work you need to have the "asterisk" MySQL database +# created and create the tables listed in the CONF_MySQL.txt file, also make sure +# that the machine running this program has read/write/update/delete access +# to that database +# +# It is recommended that you run this program on the local Asterisk machine +# +# This script is to run perpetually querying every second to place new phone +# calls from the vicidial_hopper based upon how many available agents there are +# and the value of the auto_dial_level setting in the campaign screen of the +# admin web page +# +# It is good practice to keep this program running by placing the associated +# KEEPALIVE script running every minute to ensure this program is always running +# +# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# +# CHANGELOG: +# 50125-1201 - Changed dial timeout to 120 seconds from 180 seconds +# 50317-0954 - Added duplicate check per cycle to account for DB lockups +# 50322-1302 - Added campaign custom callerid feature +# 50324-1353 - Added optional variable to record ring time thru separate diap prefix +# 50606-2308 - Added code to ensure no calls placed out on inactive campaign +# 50617-1248 - Added code to place LOGOUT entry in auto-paused user logs +# 50620-1349 - Added custom vdad transfer AGI extension per campaign +# 50810-1610 - Added database server variable definitions lookup +# 50810-1630 - Added max_vicidial_trunks server limiter on active lines +# 50812-0957 - Corrected max_trunks logic, added update of server every 25 sec +# 60120-1522 - Corrected time error for hour variable, caused agi problems +# 60427-1223 - Fixed Blended in/out CLOSER campaign issue +# 60608-1134 - Altered vac table field of call_type for IN OUT distinction +# 60612-1324 - Altered dead call section to accept BUSY detection from VD_hangup +# - Altered dead call section to accept DISCONNECT detection from VD_hangup +# 60614-1142 - Added code to work with recycled leads, multi called_since_last_reset values +# - Removed gmt lead validation because it is already done by VDhopper +# 60807-1438 - Changed to DBI +# - Changed to use /etc/astguiclient.conf for configs +# 60814-1749 - Added option for no logging to file +# 60821-1546 - Added option to not dial phone_code per campaign +# 60824-1437 - Added available_only_ratio_tally option +# 61003-1353 - Added restrictions for server trunks +# 61113-1625 - Added code for clearing VDAC LIVE jams +# 61115-1725 - Added OUTBALANCE to call calculation for call_type for balance dialing +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70115-1635 - Added initial auto-alt-dial functionality +# 70116-1619 - Added VDAD Ring-No-Answer Auto Alt Dial code +# 70118-1539 - Added user_group logging to vicidial_user_log +# 70131-1550 - Fixed Manual dialing trunk shortage bug +# 70205-1414 - Added code for last called date update +# 70207-1031 - Fixed Tally-only-available bug with customer hangups +# 70215-1123 - Added queue_log ABANDON logging +# 70302-1412 - Fixed max_vicidial_trunks update if set to 0 +# 70320-1458 - Fixed several errors in calculating trunk shortage for campaigns +# 71029-1909 - Changed CLOSER-type campaign_id restriction +# 71030-2054 - Added hopper priority sorting +# 80227-0406 - added queue_priority +# 80525-1040 - Added IVR vac status compatibility for inbound calls +# 80713-0624 - Added vicidial_list_last_local_call_time field +# 80829-2359 - Added extended alt dial and dnc checkon all alt dial hopper insertions +# 80909-0845 - Added support for campaign-specific DNC lists +# 81013-2216 - Fixed improper deletion of auto_calls records +# 81020-0125 - Bug fixes from changes to auto_calls deletion changes +# 90124-0721 - Added parameter to ensure no auto-dial calls are placed for MANUAL campaigns +# 90202-0203 - Added outbound_autodial_active option to halt all dialing +# 90306-1845 - Added configurable calls-per-second option +# + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-t] = test\n [-debug] = verbose debug messages\n [--delay=XXX] = delay of XXX seconds per loop, default 2.5 seconds\n\n"; + } + else + { + if ($args =~ /--delay=/i) + { + @data_in = split(/--delay=/,$args); + $loop_delay = $data_in[1]; + print " LOOP DELAY OVERRIDE!!!!! = $loop_delay seconds\n\n"; + $loop_delay = ($loop_delay * 1000); + } + else + { + $loop_delay = '2500'; + } + if ($args =~ /-debug/i) + { + $DB=1; # Debug flag, set to 0 for no debug messages, On an active system this will generate hundreds of lines of output per minute + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} +else +{ +print "no command line options set\n"; + $loop_delay = '2500'; + $DB=1; +} +### end parsing run-time options ### + + +# constants +$US='__'; +$MT[0]=''; +$RECcount=''; ### leave blank for no REC count +$RECprefix='7'; ### leave blank for no REC prefix +$useJAMdebugFILE='1'; ### leave blank for no Jam call debug file writing +$max_vicidial_trunks=0; ### setting a default value for max_vicidial_trunks + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + + &get_time_now; # update time/date variables + +if (!$VDADLOGfile) {$VDADLOGfile = "$PATHlogs/vdautodial.$year-$mon-$mday";} +if (!$JAMdebugFILE) {$JAMdebugFILE = "$PATHlogs/vdad-JAM.$year-$mon-$mday";} + +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use DBI; + + ### connect to MySQL database defined in the conf file + $dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT telnet_host,telnet_port,ASTmgrUSERNAME,ASTmgrSECRET,ASTmgrUSERNAMEupdate,ASTmgrUSERNAMElisten,ASTmgrUSERNAMEsend,max_vicidial_trunks,answer_transfer_agent,local_gmt,ext_context,vd_server_logs FROM servers where server_ip = '$server_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBtelnet_host = "$aryA[0]"; + $DBtelnet_port = "$aryA[1]"; + $DBASTmgrUSERNAME = "$aryA[2]"; + $DBASTmgrSECRET = "$aryA[3]"; + $DBASTmgrUSERNAMEupdate = "$aryA[4]"; + $DBASTmgrUSERNAMElisten = "$aryA[5]"; + $DBASTmgrUSERNAMEsend = "$aryA[6]"; + $DBmax_vicidial_trunks = "$aryA[7]"; + $DBanswer_transfer_agent= "$aryA[8]"; + $DBSERVER_GMT = "$aryA[9]"; + $DBext_context = "$aryA[10]"; + $DBvd_server_logs = "$aryA[11]"; + if ($DBtelnet_host) {$telnet_host = $DBtelnet_host;} + if ($DBtelnet_port) {$telnet_port = $DBtelnet_port;} + if ($DBASTmgrUSERNAME) {$ASTmgrUSERNAME = $DBASTmgrUSERNAME;} + if ($DBASTmgrSECRET) {$ASTmgrSECRET = $DBASTmgrSECRET;} + if ($DBASTmgrUSERNAMEupdate) {$ASTmgrUSERNAMEupdate = $DBASTmgrUSERNAMEupdate;} + if ($DBASTmgrUSERNAMElisten) {$ASTmgrUSERNAMElisten = $DBASTmgrUSERNAMElisten;} + if ($DBASTmgrUSERNAMEsend) {$ASTmgrUSERNAMEsend = $DBASTmgrUSERNAMEsend;} + $max_vicidial_trunks = $DBmax_vicidial_trunks; + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';} + else {$SYSLOG = '0';} + $rec_count++; + } +$sthA->finish(); + + $event_string='LOGGED INTO MYSQL SERVER ON 1 CONNECTION|'; + &event_logger; + +############################################# +##### START QUEUEMETRICS LOGGING LOOKUP ##### +$stmtA = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,outbound_autodial_active FROM system_settings;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $enable_queuemetrics_logging = "$aryA[0]"; + $queuemetrics_server_ip = "$aryA[1]"; + $queuemetrics_dbname = "$aryA[2]"; + $queuemetrics_login= "$aryA[3]"; + $queuemetrics_pass = "$aryA[4]"; + $queuemetrics_log_id = "$aryA[5]"; + $outbound_autodial_active = "$aryA[6]"; + $rec_count++; + } +$sthA->finish(); +##### END QUEUEMETRICS LOGGING LOOKUP ##### +########################################### + + +$one_day_interval = 12; # 1 month loops for one year +while($one_day_interval > 0) +{ + + $endless_loop=5760000; # 30 days minutes at XXX seconds per loop + $stat_count=1; + + while($endless_loop > 0) + { + &get_time_now; + + $VDADLOGfile = "$PATHlogs/vdautodial.$year-$mon-$mday"; + + ############################################################################### + ###### first figure out how many calls should be placed for each campaign per server + ############################################################################### + @DBlive_user=@MT; + @DBlive_server_ip=@MT; + @DBlive_campaign=@MT; + @DBlive_conf_exten=@MT; + @DBlive_status=@MT; + @DBcampaigns=@MT; + @DBIPaddress=@MT; + @DBIPcampaign=@MT; + @DBIPactive=@MT; + @DBIPvdadexten=@MT; + @DBIPcount=@MT; + @DBIPACTIVEcount=@MT; + @DBIPINCALLcount=@MT; + @DBIPadlevel=@MT; + @DBIPdialtimeout=@MT; + @DBIPdialprefix=@MT; + @DBIPcampaigncid=@MT; + @DBIPexistcalls=@MT; + @DBIPgoalcalls=@MT; + @DBIPmakecalls=@MT; + @DBIPlivecalls=@MT; + @DBIPclosercamp=@MT; + @DBIPomitcode=@MT; + @DBIPautoaltdial=@MT; + @DBIPtrunk_shortage=@MT; + @DBIPold_trunk_shortage=@MT; + @DBIPserver_trunks_limit=@MT; + @DBIPserver_trunks_other=@MT; + @DBIPserver_trunks_allowed=@MT; + @DBIPqueue_priority=@MT; + @DBIPdial_method=@MT; + + $active_line_counter=0; + $user_counter=0; + $user_campaigns = '|'; + $user_campaignsSQL = "''"; + $user_campaigns_counter = 0; + $user_campaignIP = '|'; + $user_CIPct = 0; + $active_agents = "'READY','QUEUE','INCALL','DONE'"; + $lists_update = ''; + $LUcount=0; + $campaigns_update = ''; + $CPcount=0; + + ##### Get maximum calls per second that this process can send out + $stmtA = "SELECT outbound_calls_per_second FROM servers where server_ip='$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $outbound_calls_per_second = "$aryA[0]"; + } + $sthA->finish(); + + if ( ($outbound_calls_per_second > 0) && ($outbound_calls_per_second < 201) ) + {$per_call_delay = (1000 / $outbound_calls_per_second);} + else + {$per_call_delay = '25';} + + $event_string="SERVER CALLS PER SECOND MAXIMUM SET TO: $outbound_calls_per_second |$per_call_delay|"; + &event_logger; + + ############################################# + ##### Check if auto-dialing is enabled + $stmtA = "SELECT outbound_autodial_active FROM system_settings;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $outbound_autodial_active = "$aryA[0]"; + } + $sthA->finish(); + + ##### Get a listing of the users that are active and ready to take calls + ##### Also get a listing of the campaigns and campaigns/serverIP that will be used + $stmtA = "SELECT user,server_ip,campaign_id,conf_exten,status FROM vicidial_live_agents where status IN($active_agents) and server_ip='$server_ip' and last_update_time > '$BDtsSQLdate' order by last_call_time"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBlive_user[$user_counter] = "$aryA[0]"; + $DBlive_server_ip[$user_counter] = "$aryA[1]"; + $DBlive_campaign[$user_counter] = "$aryA[2]"; + $DBlive_conf_exten[$user_counter] = "$aryA[3]"; + $DBlive_status[$user_counter] = "$aryA[4]"; + + if ($user_campaigns !~ /\|$DBlive_campaign[$user_counter]\|/i) + { + if ($campaigns_update !~ /'$DBlive_campaign[$user_counter]'/) {$campaigns_update .= "'$DBlive_campaign[$user_counter]',"; $CPcount++;} + $user_campaigns .= "$DBlive_campaign[$user_counter]|"; + $user_campaignsSQL .= ",'$DBlive_campaign[$user_counter]'"; + $DBcampaigns[$user_campaigns_counter] = $DBlive_campaign[$user_counter]; + $user_campaigns_counter++; + } + if ($user_campaignIP !~ /\|$DBlive_campaign[$user_counter]__$DBlive_server_ip[$user_counter]\|/i) + { + $user_campaignIP .= "$DBlive_campaign[$user_counter]__$DBlive_server_ip[$user_counter]|"; + $DBIPcampaign[$user_CIPct] = "$DBlive_campaign[$user_counter]"; + $DBIPaddress[$user_CIPct] = "$DBlive_server_ip[$user_counter]"; + $user_CIPct++; + } + $user_counter++; + $rec_count++; + } + $sthA->finish(); + + ### see how many total VDAD calls are going on right now for max limiter + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where server_ip='$server_ip' and status IN('SENT','RINGING','LIVE','XFER','CLOSER','IVR');"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $active_line_counter = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + + $event_string="LIVE AGENTS LOGGED IN: $user_counter ACTIVE CALLS: $active_line_counter"; + &event_logger; + + $stmtA = "UPDATE vicidial_campaign_server_stats set local_trunk_shortage='0' where server_ip='$server_ip' and campaign_id NOT IN($user_campaignsSQL);"; + $UVCSSaffected_rows = $dbhA->do($stmtA); + if ($UVCSSaffected_rows > 0) + { + $event_string="OLD TRUNK SHORTS CLEARED: $UVCSSaffected_rows |$user_campaignsSQL|"; + &event_logger; + } + $user_CIPct = 0; + foreach(@DBIPcampaign) + { + $user_counter=0; + foreach(@DBlive_campaign) + { + if ( ($DBlive_campaign[$user_counter] =~ /$DBIPcampaign[$user_CIPct]/i) && (length($DBlive_campaign[$user_counter]) == length($DBIPcampaign[$user_CIPct])) && ($DBlive_server_ip[$user_counter] =~ /$DBIPaddress[$user_CIPct]/i) ) + { + $DBIPcount[$user_CIPct]++; + $DBIPACTIVEcount[$user_CIPct] = ($DBIPACTIVEcount[$user_CIPct] + 0); + $DBIPINCALLcount[$user_CIPct] = ($DBIPINCALLcount[$user_CIPct] + 0); + if ($DBlive_status[$user_counter] =~ /READY|DONE/) + { + $DBIPACTIVEcount[$user_CIPct]++; + } + else + { + $DBIPINCALLcount[$user_CIPct]++; + } + } + $user_counter++; + } + + ### check for vicidial_campaign_server_stats record, if non present then create it + $stmtA = "SELECT local_trunk_shortage FROM vicidial_campaign_server_stats where campaign_id='$DBIPcampaign[$user_CIPct]' and server_ip='$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBIPold_trunk_shortage[$user_CIPct] = "$aryA[0]"; + $rec_count++; + } + if ($rec_count < 1) + { + $stmtA = "INSERT INTO vicidial_campaign_server_stats SET local_trunk_shortage='0', server_ip='$server_ip',campaign_id='$DBIPcampaign[$user_CIPct]';"; + $affected_rows = $dbhA->do($stmtA); + + $DBIPold_trunk_shortage[$user_CIPct]=0; + + $event_string="VCSS ENTRY INSERTED: $affected_rows"; + &event_logger; + } + + $DBIPserver_trunks_limit[$user_CIPct] = ''; + $DBIPserver_trunks_other[$user_CIPct] = 0; + $DBIPserver_trunks_allowed[$user_CIPct] = $max_vicidial_trunks; + ### check for vicidial_server_trunks record + $stmtA = "SELECT dedicated_trunks FROM vicidial_server_trunks where campaign_id='$DBIPcampaign[$user_CIPct]' and server_ip='$server_ip' and trunk_restriction='MAXIMUM_LIMIT';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBIPserver_trunks_limit[$user_CIPct] = "$aryA[0]"; + $rec_count++; + } + $stmtA = "SELECT sum(dedicated_trunks) FROM vicidial_server_trunks where campaign_id NOT IN('$DBIPcampaign[$user_CIPct]') and server_ip='$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBIPserver_trunks_other[$user_CIPct] = "$aryA[0]"; + $rec_count++; + } + + $DBIPserver_trunks_allowed[$user_CIPct] = ($max_vicidial_trunks - $DBIPserver_trunks_other[$user_CIPct]); + + + ### grab the dial_level and multiply by active agents to get your goalcalls + $DBIPadlevel[$user_CIPct]=0; + $stmtA = "SELECT auto_dial_level,local_call_time,dial_timeout,dial_prefix,campaign_cid,active,campaign_vdad_exten,closer_campaigns,omit_phone_code,available_only_ratio_tally,auto_alt_dial,campaign_allow_inbound,queue_priority,dial_method FROM vicidial_campaigns where campaign_id='$DBIPcampaign[$user_CIPct]'"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + $active_only=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBIPadlevel[$user_CIPct] = "$aryA[0]"; + $DBIPcalltime[$user_CIPct] = "$aryA[1]"; + $DBIPdialtimeout[$user_CIPct] = "$aryA[2]"; + $DBIPdialprefix[$user_CIPct] = "$aryA[3]"; + $DBIPcampaigncid[$user_CIPct] = "$aryA[4]"; + $DBIPactive[$user_CIPct] = "$aryA[5]"; + $DBIPvdadexten[$user_CIPct] = "$aryA[6]"; + $DBIPclosercamp[$user_CIPct] = "$aryA[7]"; + $omit_phone_code = "$aryA[8]"; + if ($omit_phone_code =~ /Y/) {$DBIPomitcode[$user_CIPct] = 1;} + else {$DBIPomitcode[$user_CIPct] = 0;} + $available_only_ratio_tally = "$aryA[9]"; + if ($available_only_ratio_tally =~ /Y/) + { + $DBIPcount[$user_CIPct] = $DBIPACTIVEcount[$user_CIPct]; + $active_only=1; + } + $DBIPautoaltdial[$user_CIPct] = "$aryA[10]"; + $DBIPcampaign_allow_inbound[$user_CIPct] = "$aryA[11]"; + $DBIPqueue_priority[$user_CIPct] = "$aryA[12]"; + $DBIPdial_method[$user_CIPct] = "$aryA[13]"; + $rec_count++; + } + $sthA->finish(); + + $DBIPgoalcalls[$user_CIPct] = ($DBIPadlevel[$user_CIPct] * $DBIPcount[$user_CIPct]); + if ($active_only > 0) + { + $tally_xfer_line_counter=0; + ### see how many VDAD calls are live as XFERs to agents + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where server_ip='$DBIPaddress[$user_CIPct]' and campaign_id='$DBIPcampaign[$user_CIPct]' and status IN('XFER','CLOSER');"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $tally_xfer_line_counter = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + + $DBIPgoalcalls[$user_CIPct] = ($DBIPgoalcalls[$user_CIPct] + $tally_xfer_line_counter); + } + if ($DBIPactive[$user_CIPct] =~ /N/) {$DBIPgoalcalls[$user_CIPct] = 0;} + $DBIPgoalcalls[$user_CIPct] = sprintf("%.0f", $DBIPgoalcalls[$user_CIPct]); + + $event_string="$DBIPcampaign[$user_CIPct] $DBIPaddress[$user_CIPct]: agents: $DBIPcount[$user_CIPct] dial_level: $DBIPadlevel[$user_CIPct]"; + &event_logger; + + + ### see how many calls are alrady active per campaign per server and + ### subtract that number from goalcalls to determine how many new + ### calls need to be placed in this loop + if ($DBIPcampaign_allow_inbound[$user_CIPct] =~ /Y/) + { + if (length($DBIPclosercamp[$user_CIPct]) > 2) + { + $DBIPclosercamp[$user_CIPct] =~ s/^ | -$//gi; + $DBIPclosercamp[$user_CIPct] =~ s/ /','/gi; + $DBIPclosercamp[$user_CIPct] = "'$DBIPclosercamp[$user_CIPct]'"; + } + else {$DBIPclosercamp[$user_CIPct]="''";} + + $campaign_query = "( (call_type='IN' and campaign_id IN($DBIPclosercamp[$user_CIPct])) or (campaign_id='$DBIPcampaign[$user_CIPct]' and call_type IN('OUT','OUTBALANCE')) )"; + } + else {$campaign_query = "(campaign_id='$DBIPcampaign[$user_CIPct]' and call_type IN('OUT','OUTBALANCE'))";} + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where $campaign_query and server_ip='$DBIPaddress[$user_CIPct]' and status IN('SENT','RINGING','LIVE','XFER','CLOSER');"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBIPexistcalls[$user_CIPct] = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + + $active_line_goal=0; + $DBIPmakecalls[$user_CIPct] = ($DBIPgoalcalls[$user_CIPct] - $DBIPexistcalls[$user_CIPct]); + $DBIPmakecallsGOAL = $DBIPmakecalls[$user_CIPct]; + $MVT_msg = ''; + $DBIPtrunk_shortage[$user_CIPct] = 0; + $active_line_goal = ($active_line_counter + $DBIPmakecalls[$user_CIPct]); + if ($active_line_goal > $max_vicidial_trunks) + { + $NEWmakecallsgoal = ($max_vicidial_trunks - $active_line_counter); + if ($DBIPmakecalls[$user_CIPct] > $NEWmakecallsgoal) + {$DBIPmakecalls[$user_CIPct] = $NEWmakecallsgoal;} + $DBIPtrunk_shortage[$user_CIPct] = ($active_line_goal - $max_vicidial_trunks); + if ($DBIPtrunk_shortage[$user_CIPct] > $DBIPmakecallsGOAL) + {$DBIPtrunk_shortage[$user_CIPct] = $DBIPmakecallsGOAL} + $MVT_msg = "MVT override: $max_vicidial_trunks |$DBIPmakecalls[$user_CIPct] $DBIPtrunk_shortage[$user_CIPct]|"; + } + if (length($DBIPserver_trunks_limit[$user_CIPct])>0) + { + if ($DBIPserver_trunks_limit[$user_CIPct] < $active_line_goal) + { + $MVT_msg .= " TRUNK LIMIT override: $DBIPserver_trunks_limit[$user_CIPct]"; + $DBIPtrunk_shortage[$user_CIPct] = ($active_line_goal - $DBIPserver_trunks_limit[$user_CIPct]); + if ($DBIPtrunk_shortage[$user_CIPct] > $DBIPmakecallsGOAL) + {$DBIPtrunk_shortage[$user_CIPct] = $DBIPmakecallsGOAL} + $active_line_goal = $DBIPserver_trunks_limit[$user_CIPct]; + $NEWmakecallsgoal = ($active_line_goal - $active_line_counter); + if ($DBIPmakecalls[$user_CIPct] > $NEWmakecallsgoal) + {$DBIPmakecalls[$user_CIPct] = $NEWmakecallsgoal;} + } + } + else + { + if ($DBIPserver_trunks_allowed[$user_CIPct] < $active_line_goal) + { + $MVT_msg .= " OTHER LIMIT override: $DBIPserver_trunks_allowed[$user_CIPct]"; + $DBIPtrunk_shortage[$user_CIPct] = ($active_line_goal - $DBIPserver_trunks_allowed[$user_CIPct]); + if ($DBIPtrunk_shortage[$user_CIPct] > $DBIPmakecallsGOAL) + {$DBIPtrunk_shortage[$user_CIPct] = $DBIPmakecallsGOAL} + $active_line_goal = $DBIPserver_trunks_allowed[$user_CIPct]; + $NEWmakecallsgoal = ($active_line_goal - $active_line_counter); + if ($DBIPmakecalls[$user_CIPct] > $NEWmakecallsgoal) + {$DBIPmakecalls[$user_CIPct] = $NEWmakecallsgoal;} + } + } + + if ($DBIPmakecalls[$user_CIPct] > 0) + {$active_line_counter = ($DBIPmakecalls[$user_CIPct] + $active_line_counter);} + $event_string="$DBIPcampaign[$user_CIPct] $DBIPaddress[$user_CIPct]: Calls to place: $DBIPmakecalls[$user_CIPct] ($DBIPgoalcalls[$user_CIPct] - $DBIPexistcalls[$user_CIPct]) $active_line_counter $MVT_msg"; + &event_logger; + + ### Calculate campaign-wide agent waiting and calls waiting differential + ### This is used by the AST_VDadapt script to see if the current dial_level + ### should be changed at all + $total_agents=0; + $ready_agents=0; + $waiting_calls=0; + + $stmtA = "SELECT count(*),status from vicidial_live_agents where campaign_id='$DBIPcampaign[$user_CIPct]' and last_update_time > '$halfminSQLdate' group by status;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCSagent_count = "$aryA[0]"; + $VCSagent_status = "$aryA[1]"; + $rec_count++; + if ($VCSagent_status =~ /READY|DONE/) {$ready_agents = ($ready_agents + $VCSagent_count);} + $total_agents = ($total_agents + $VCSagent_count); + } + $sthA->finish(); + + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where $campaign_query and status IN('LIVE');"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $waiting_calls = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + + $stat_ready_agents[$user_CIPct][$stat_count] = $ready_agents; + $stat_waiting_calls[$user_CIPct][$stat_count] = $waiting_calls; + $stat_total_agents[$user_CIPct][$stat_count] = $total_agents; + + $stat_it=20; + $ready_diff_total=0; + $waiting_diff_total=0; + $total_agents_total=0; + $ready_diff_avg=0; + $waiting_diff_avg=0; + $total_agents_avg=0; + $stat_differential=0; + if ($stat_count < 20) + { + $stat_it = $stat_count; + $stat_B = 1; + } + else + { + $stat_B = ($stat_count - 19); + } + + $it=0; + while($it < $stat_it) + { + $it_ary = ($it + $stat_B); + $ready_diff_total = ($ready_diff_total + $stat_ready_agents[$user_CIPct][$it_ary]); + $waiting_diff_total = ($waiting_diff_total + $stat_waiting_calls[$user_CIPct][$it_ary]); + $total_agents_total = ($total_agents_total + $stat_total_agents[$user_CIPct][$it_ary]); + # $event_string="$stat_count $it_ary $stat_total_agents[$user_CIPct][$it_ary]|$stat_ready_agents[$user_CIPct][$it_ary]|$stat_waiting_calls[$user_CIPct][$it_ary]"; + # &event_logger; + $it++; + } + + if ($ready_diff_total > 0) + {$ready_diff_avg = ($ready_diff_total / $stat_it);} + if ($waiting_diff_total > 0) + {$waiting_diff_avg = ($waiting_diff_total / $stat_it);} + if ($total_agents_total > 0) + {$total_agents_avg = ($total_agents_total / $stat_it);} + $stat_differential = ($ready_diff_avg - $waiting_diff_avg); + + $event_string="CAMPAIGN DIFFERENTIAL: $total_agents_avg $stat_differential ($ready_diff_avg - $waiting_diff_avg)"; + &event_logger; + + $stmtA = "UPDATE vicidial_campaign_stats SET differential_onemin='$stat_differential', agents_average_onemin='$total_agents_avg' where campaign_id='$DBIPcampaign[$user_CIPct]';"; + $affected_rows = $dbhA->do($stmtA); + + if ( ($DBIPold_trunk_shortage[$user_CIPct] > $DBIPtrunk_shortage[$user_CIPct]) || ($DBIPold_trunk_shortage[$user_CIPct] < $DBIPtrunk_shortage[$user_CIPct]) ) + { + if ( ($DBIPadlevel[$user_CIPct] < 1) || ($DBIPdial_method[$user_CIPct] =~ /MANUAL|INBOUND_MAN/) ) + { + $event_string="Manual Dial Override for Shortage |$DBIPadlevel[$user_CIPct]|$DBIPtrunk_shortage[$user_CIPct]|"; + &event_logger; + $DBIPtrunk_shortage[$user_CIPct] = 0; + } + $stmtA = "UPDATE vicidial_campaign_server_stats SET local_trunk_shortage='$DBIPtrunk_shortage[$user_CIPct]',update_time='$now_date' where server_ip='$server_ip' and campaign_id='$DBIPcampaign[$user_CIPct]';"; + $affected_rows = $dbhA->do($stmtA); + } + + $event_string="LOCAL TRUNK SHORTAGE: $DBIPtrunk_shortage[$user_CIPct]|$DBIPold_trunk_shortage[$user_CIPct] ($active_line_goal - $max_vicidial_trunks)"; + &event_logger; + + $user_CIPct++; + } + + ############################################################################### + ###### second lookup leads and place calls for each campaign/server_ip + ###### go one lead at a time and place the call by inserting a record into vicidial_manager + ############################################################################### + + $user_CIPct = 0; + foreach(@DBIPcampaign) + { + if ( ($DBIPdial_method[$user_CIPct] =~ /MANUAL|INBOUND_MAN/) || ($outbound_autodial_active < 1) ) + { + $event_string="$DBIPcampaign[$user_CIPct] $DBIPaddress[$user_CIPct]: MANUAL DIAL CAMPAIGN, NO DIALING"; + &event_logger; + } + else + { + $event_string="$DBIPcampaign[$user_CIPct] $DBIPaddress[$user_CIPct]: CALLING"; + &event_logger; + $call_CMPIPct=0; + $lead_id_call_list='|'; + my $UDaffected_rows=0; + if ($call_CMPIPct < $DBIPmakecalls[$user_CIPct]) + { + $stmtA = "UPDATE vicidial_hopper set status='QUEUE', user='VDAD_$server_ip' where campaign_id='$DBIPcampaign[$user_CIPct]' and status='READY' order by priority desc,hopper_id LIMIT $DBIPmakecalls[$user_CIPct]"; + print "|$stmtA|\n"; + $UDaffected_rows = $dbhA->do($stmtA); + print "hopper rows updated to QUEUE: |$UDaffected_rows|\n"; + + if ($UDaffected_rows) + { + $lead_id=''; $phone_code=''; $phone_number=''; $called_count=''; + while ($call_CMPIPct < $UDaffected_rows) + { + $stmtA = "SELECT lead_id,alt_dial FROM vicidial_hopper where campaign_id='$DBIPcampaign[$user_CIPct]' and status='QUEUE' and user='VDAD_$server_ip' order by priority desc,hopper_id LIMIT 1"; + print "|$stmtA|\n"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + $rec_countCUSTDATA=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $lead_id = "$aryA[0]"; + $alt_dial = "$aryA[1]"; + $rec_count++; + } + $sthA->finish(); + + if ($lead_id_call_list =~ /\|$lead_id\|/) + { + print "!!!!!!!!!!!!!!!!duplicate lead_id for this run: |$lead_id| $lead_id_call_list\n"; + if ($SYSLOG) + { + open(DUPout, ">>$PATHlogs/VDAD_DUPLICATE.$file_date") + || die "Can't open $PATHlogs/VDAD_DUPLICATE.$file_date: $!\n"; + print DUPout "$now_date-----$lead_id_call_list-----$lead_id\n"; + close(DUPout); + } + } + else + { + $stmtA = "UPDATE vicidial_hopper set status='INCALL' where lead_id='$lead_id'"; + print "|$stmtA|\n"; + $UQaffected_rows = $dbhA->do($stmtA); + print "hopper row updated to INCALL: |$UQaffected_rows|$lead_id|\n"; + + $stmtA = "SELECT * FROM vicidial_list where lead_id='$lead_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + $rec_countCUSTDATA=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $list_id = "$aryA[7]"; + $gmt_offset_now = "$aryA[8]"; + $called_since_last_reset = "$aryA[9]"; + $phone_code = "$aryA[10]"; + $phone_number = "$aryA[11]"; + $address3 = "$aryA[18]"; + $alt_phone = "$aryA[26]"; + $called_count = "$aryA[30]"; + + $rec_countCUSTDATA++; + $rec_count++; + } + $sthA->finish(); + + if ($rec_countCUSTDATA) + { + ### update called_count + $called_count++; + if ($called_since_last_reset =~ /^Y/) + { + if ($called_since_last_reset =~ /^Y$/) {$CSLR = 'Y1';} + else + { + $called_since_last_reset =~ s/^Y//gi; + $called_since_last_reset++; + $CSLR = "Y$called_since_last_reset"; + } + } + else {$CSLR = 'Y';} + + $LLCT_DATE_offset = ($LOCAL_GMT_OFF - $gmt_offset_now); + $LLCT_DATE_offset_epoch = ( $secX - ($LLCT_DATE_offset * 3600) ); + ($Lsec,$Lmin,$Lhour,$Lmday,$Lmon,$Lyear,$Lwday,$Lyday,$Lisdst) = localtime($LLCT_DATE_offset_epoch); + $Lyear = ($Lyear + 1900); + $Lmon++; + if ($Lmon < 10) {$Lmon = "0$Lmon";} + if ($Lmday < 10) {$Lmday = "0$Lmday";} + if ($Lhour < 10) {$Lhour = "0$Lhour";} + if ($Lmin < 10) {$Lmin = "0$Lmin";} + if ($Lsec < 10) {$Lsec = "0$Lsec";} + $LLCT_DATE = "$Lyear-$Lmon-$Lmday $Lhour:$Lmin:$Lsec"; + + if ( ($alt_dial =~ /ALT|ADDR3|X/) && ($DBIPautoaltdial[$user_CIPct] =~ /ALT|ADDR|X/) ) + { + if ( ($alt_dial =~ /ALT/) && ($DBIPautoaltdial[$user_CIPct] =~ /ALT/) ) + { + $alt_phone =~ s/\D//gi; + $phone_number = $alt_phone; + } + if ( ($alt_dial =~ /ADDR3/) && ($DBIPautoaltdial[$user_CIPct] =~ /ADDR3/) ) + { + $address3 =~ s/\D//gi; + $phone_number = $address3; + } + if ( ($alt_dial =~ /X/) && ($DBIPautoaltdial[$user_CIPct] =~ /X/) ) + { + if ($alt_dial =~ /LAST/) + { + $stmtA = "SELECT phone_code,phone_number FROM vicidial_list_alt_phones where lead_id='$lead_id' order by alt_phone_count desc limit 1;"; + } + else + { + $Talt_dial = $alt_dial; + $Talt_dial =~ s/\D//gi; + $stmtA = "SELECT phone_code,phone_number FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Talt_dial';"; + } + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $phone_code = "$aryA[0]"; + $phone_number = "$aryA[1]"; + $phone_number =~ s/\D//gi; + } + $sthA->finish(); + } + + $stmtA = "UPDATE vicidial_list set called_since_last_reset='$CSLR',user='VDAD',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id'"; + } + else + { + $stmtA = "UPDATE vicidial_list set called_since_last_reset='$CSLR', called_count='$called_count',user='VDAD',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id'"; + } + $affected_rows = $dbhA->do($stmtA); + + $stmtA = "DELETE FROM vicidial_hopper where lead_id='$lead_id'"; + $affected_rows = $dbhA->do($stmtA); + + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + if ($DBIPdialtimeout[$user_CIPct] > 4) {$Local_dial_timeout = $DBIPdialtimeout[$user_CIPct];} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (length($DBIPdialprefix[$user_CIPct]) > 0) {$Local_out_prefix = "$DBIPdialprefix[$user_CIPct]";} + if (length($DBIPvdadexten[$user_CIPct]) > 0) {$VDAD_dial_exten = "$DBIPvdadexten[$user_CIPct]";} + else {$VDAD_dial_exten = "$answer_transfer_agent";} + + if (length($DBIPcampaigncid[$user_CIPct]) > 6) {$CCID = "$DBIPcampaigncid[$user_CIPct]"; $CCID_on++;} + if ($DBIPdialprefix[$user_CIPct] =~ /x/i) {$Local_out_prefix = '';} + + if ($RECcount) + { + if ( (length($RECprefix)>0) && ($called_count < $RECcount) ) + {$Local_out_prefix .= "$RECprefix";} + } + $PADlead_id = sprintf("%09s", $lead_id); while (length($PADlead_id) > 9) {chop($PADlead_id);} + + if ($lists_update !~ /'$list_id'/) {$lists_update .= "'$list_id',"; $LUcount++;} + + $lead_id_call_list .= "$lead_id|"; + + if (length($alt_dial)<1) {$alt_dial='MAIN';} + + ### whether to omit phone_code or not + if ($DBIPomitcode[$user_CIPct] > 0) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + + ### use manager middleware-app to connect the next call to the meetme room + # VmmddhhmmssLLLLLLLLL + $VqueryCID = "V$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$VqueryCID\" <$CCID>";} + else {$CIDstring = "$VqueryCID";} + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$DBIPaddress[$user_CIPct]','','Originate','$VqueryCID','Exten: $VDAD_dial_exten','Context: $ext_context','Channel: $local_DEF$Ndialstring$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','')"; + $affected_rows = $dbhA->do($stmtA); + + $event_string = "| number call dialed|$DBIPcampaign[$user_CIPct]|$VqueryCID|$stmtA|$gmt_offset_now|$alt_dial|"; + &event_logger; + + ### insert a SENT record to the vicidial_auto_calls table + $stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type,alt_dial,queue_priority) values('$DBIPaddress[$user_CIPct]','$DBIPcampaign[$user_CIPct]','SENT','$lead_id','$VqueryCID','$phone_code','$phone_number','$SQLdate','OUT','$alt_dial','$DBIPqueue_priority[$user_CIPct]')"; + $affected_rows = $dbhA->do($stmtA); + + ### sleep for a five hundredths of a second to not flood the server with new calls + # usleep(1*50*1000); + usleep(1*$per_call_delay*1000); + } + } + $call_CMPIPct++; + } + } + } + } + $user_CIPct++; + } + + + + + + + + &get_time_now; + + ############################################################################### + ###### third we will grab the callerids of the vicidial_auto_calls records and check for dead calls + ###### we also check to make sure that it isn't a call that has been transferred, + ###### if it has been we need to leave the vicidial_list status alone + ############################################################################### + + @KLcallerid = @MT; + @KLserver_ip = @MT; + @KLchannel = @MT; + $kill_vac=0; + + $stmtA = "SELECT callerid,server_ip,channel,uniqueid,status FROM vicidial_auto_calls where server_ip='$server_ip' order by call_time;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + $rec_countCUSTDATA=0; + $kill_vac=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $KLcallerid[$kill_vac] = "$aryA[0]"; + $KLserver_ip[$kill_vac] = "$aryA[1]"; + $KLchannel[$kill_vac] = "$aryA[2]"; + $KLuniqueid[$kill_vac] = "$aryA[3]"; + $KLstatus[$kill_vac] = "$aryA[4]"; + $kill_vac++; + $rec_count++; + } + $sthA->finish(); + + $kill_vac=0; + foreach(@KLcallerid) + { + if (length($KLserver_ip[$kill_vac]) > 7) + { + $end_epoch=0; $CLuniqueid=''; $start_epoch=0; $CLlast_update_time=0; + $KLcalleridCHECK[$kill_vac]=$KLcallerid[$kill_vac]; + $KLcalleridCHECK[$kill_vac] =~ s/\W//gi; + + if ( (length($KLcalleridCHECK[$kill_vac]) > 17) && ($KLcalleridCHECK[$kill_vac] =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) ) + { + $stmtA = "SELECT end_epoch,uniqueid,start_epoch FROM call_log where caller_code='$KLcallerid[$kill_vac]' and server_ip='$KLserver_ip[$kill_vac]' order by end_epoch, start_time desc limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + $rec_countCUSTDATA=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $end_epoch = "$aryA[0]"; + $CLuniqueid = "$aryA[1]"; + $start_epoch = "$aryA[2]"; + $rec_count++; + } + $sthA->finish(); + } + + if ( (length($KLuniqueid[$kill_vac]) > 11) && (length($CLuniqueid) < 12) ) + { + $stmtA = "SELECT end_epoch,uniqueid,start_epoch FROM call_log where uniqueid='$KLuniqueid[$kill_vac]' and server_ip='$KLserver_ip[$kill_vac]' order by end_epoch, start_time desc limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + $rec_countCUSTDATA=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $end_epoch = "$aryA[0]"; + $CLuniqueid = "$aryA[1]"; + $start_epoch = "$aryA[2]"; + $rec_count++; + } + $sthA->finish(); + } + + $CLlead_id=''; $auto_call_id=''; $CLstatus=''; $CLcampaign_id=''; $CLphone_number=''; $CLphone_code=''; + + $stmtA = "SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,call_type,UNIX_TIMESTAMP(last_update_time) FROM vicidial_auto_calls where callerid='$KLcallerid[$kill_vac]'"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + $rec_countCUSTDATA=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $auto_call_id = "$aryA[0]"; + $CLlead_id = "$aryA[1]"; + $CLphone_number = "$aryA[2]"; + $CLstatus = "$aryA[3]"; + $CLcampaign_id = "$aryA[4]"; + $CLphone_code = "$aryA[5]"; + $CLalt_dial = "$aryA[6]"; + $CLstage = "$aryA[7]"; + $CLcall_type = "$aryA[8]"; + $CLlast_update_time = "$aryA[9]"; + $rec_count++; + } + $sthA->finish(); + + if ($CLcall_type =~ /IN/) + { + $stmtA = "SELECT drop_call_seconds FROM vicidial_inbound_groups where group_id='$CLcampaign_id';"; + $timeout_leeway = 30; + } + else + { + $stmtA = "SELECT dial_timeout,drop_call_seconds FROM vicidial_campaigns where campaign_id='$CLcampaign_id';"; + $timeout_leeway = 7; + } + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $CLdial_timeout = "$aryA[0]"; + $CLdrop_call_seconds = "$aryA[1]"; + } + $sthA->finish(); + + $dialtime_log = ($end_epoch - $start_epoch); + $dialtime_catch = ($now_date_epoch - ($start_epoch + $timeout_leeway)); + if ($dialtime_catch > 100000) {$dialtime_catch=0;} + $call_timeout = ($CLdial_timeout + $CLdrop_call_seconds); + if ($CLstage =~ /SURVEY|REMIND/) {$call_timeout = ($call_timeout + 120);} + + if ( ($dialtime_log >= $call_timeout) || ($dialtime_catch >= $call_timeout) || ($CLstatus =~ /BUSY|DISCONNECT|XFER|CLOSER/) ) + { + if ($CLcall_type !~ /IN/) + { + if ($CLstatus !~ /XFER|CLOSER/) + { + $stmtA = "DELETE from vicidial_auto_calls where auto_call_id='$auto_call_id'"; + $affected_rows = $dbhA->do($stmtA); + + $event_string = "| dead call vac deleted|$auto_call_id|$CLlead_id|$KLcallerid[$kill_vac]|$end_epoch|$affected_rows|$KLchannel[$kill_vac]|$CLcall_type|$CLdial_timeout|$CLdrop_call_seconds|$call_timeout|$dialtime_log|$dialtime_catch|"; + &event_logger; + + $CLstage =~ s/LIVE|-//gi; + if ($CLstage < 0.25) {$CLstage=1;} + + if ($CLstatus =~ /BUSY/) {$CLnew_status = 'B';} + else + { + if ($CLstatus =~ /DISCONNECT/) {$CLnew_status = 'DC';} + else {$CLnew_status = 'NA';} + } + if ($CLstatus =~ /LIVE/) {$CLnew_status = 'DROP';} + else + { + $end_epoch = ($now_date_epoch + 1); + $stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed,length_in_sec,end_epoch,alt_dial) values('$CLuniqueid','$CLlead_id','$CLcampaign_id','$SQLdate','$now_date_epoch','$CLnew_status','$CLphone_code','$CLphone_number','VDAD','N','$CLstage','$end_epoch','$CLalt_dial')"; + if($M){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); + + $event_string = "| dead NA call added to log $CLuniqueid|$CLlead_id|$CLphone_number|$CLstatus|$CLnew_status|$affected_rows|"; + &event_logger; + + } + + if ($CLlead_id > 0) + { + $stmtA = "UPDATE vicidial_list set status='$CLnew_status' where lead_id='$CLlead_id'"; + $affected_rows = $dbhA->do($stmtA); + + $event_string = "| dead call vac lead marked $CLnew_status|$CLlead_id|$CLphone_number|$CLstatus|"; + &event_logger; + } + + $stmtA = "UPDATE vicidial_live_agents set status='PAUSED',random_id='10' where callerid='$KLcallerid[$kill_vac]';"; + $affected_rows = $dbhA->do($stmtA); + + $event_string = "| dead call vla agent PAUSED $affected_rows|$CLlead_id|$CLphone_number|$CLstatus|"; + &event_logger; + + if ( ($enable_queuemetrics_logging > 0) && ($CLstatus =~ /LIVE/) ) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$KLcallerid[$kill_vac]',queue='$CLcampaign_id',agent='NONE',verb='ABANDON',data1='1',data2='1',data3='$CLstage',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + + ##### BEGIN AUTO ALT PHONE DIAL SECTION ##### + ### check to see if campaign has alt_dial enabled + $VD_auto_alt_dial = 'NONE'; + $VD_auto_alt_dial_statuses=''; + $stmtA="SELECT auto_alt_dial,auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc FROM vicidial_campaigns where campaign_id='$CLcampaign_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $epc_countCAMPDATA=0; + while ($sthArows > $epc_countCAMPDATA) + { + @aryA = $sthA->fetchrow_array; + $VD_auto_alt_dial = "$aryA[0]"; + $VD_auto_alt_dial_statuses = "$aryA[1]"; + $VD_use_internal_dnc = "$aryA[2]"; + $VD_use_campaign_dnc = "$aryA[3]"; + $epc_countCAMPDATA++; + } + $sthA->finish(); + if ( ($VD_auto_alt_dial_statuses =~ / $CLnew_status /) && ($CLlead_id > 0) ) + { + if ( ($VD_auto_alt_dial =~ /ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED/) && ($CLalt_dial =~ /NONE|MAIN/) ) + { + $alt_dial_skip=0; + $VD_alt_phone=''; + $stmtA="SELECT alt_phone,gmt_offset_now,state,list_id FROM vicidial_list where lead_id='$CLlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $epc_countCAMPDATA=0; + while ($sthArows > $epc_countCAMPDATA) + { + @aryA = $sthA->fetchrow_array; + $VD_alt_phone = "$aryA[0]"; + $VD_alt_phone =~ s/\D//gi; + $VD_gmt_offset_now = "$aryA[1]"; + $VD_state = "$aryA[2]"; + $VD_list_id = "$aryA[3]"; + $epc_countCAMPDATA++; + } + $sthA->finish(); + if (length($VD_alt_phone)>5) + { + if ($VD_use_internal_dnc =~ /Y/) + { + $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_alt_phone';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VD_alt_dnc_count = "$aryA[0]"; + } + $sthA->finish(); + } + else {$VD_alt_dnc_count=0;} + if ($VD_use_campaign_dnc =~ /Y/) + { + $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_alt_phone' and campaign_id='$VD_campaign_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VD_alt_dnc_count = ($VD_alt_dnc_count + $aryA[0]); + } + $sthA->finish(); + } + if ($VD_alt_dnc_count < 1) + { + $stmtA = "INSERT INTO vicidial_hopper SET lead_id='$CLlead_id',campaign_id='$CLcampaign_id',status='READY',list_id='$VD_list_id',gmt_offset_now='$VD_gmt_offset_now',state='$VD_state',alt_dial='ALT',user='',priority='25';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDH record inserted: |$affected_rows| |$stmtA|"; &agi_output;} + } + else + {$alt_dial_skip=1;} + } + else + {$alt_dial_skip=1;} + if ($alt_dial_skip > 0) + {$CLalt_dial='ALT';} + } + if ( ( ($VD_auto_alt_dial =~ /ADDR3_ONLY/) && ($CLalt_dial =~ /NONE|MAIN/) ) || ( ($VD_auto_alt_dial =~ /ALT_AND_ADDR3/) && ($CLalt_dial =~ /ALT/) ) ) + { + $addr3_dial_skip=0; + $VD_address3=''; + $stmtA="SELECT address3,gmt_offset_now,state,list_id FROM vicidial_list where lead_id='$CLlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $epc_countCAMPDATA=0; + while ($sthArows > $epc_countCAMPDATA) + { + @aryA = $sthA->fetchrow_array; + $VD_address3 = "$aryA[0]"; + $VD_address3 =~ s/\D//gi; + $VD_gmt_offset_now = "$aryA[1]"; + $VD_state = "$aryA[2]"; + $VD_list_id = "$aryA[3]"; + $epc_countCAMPDATA++; + } + $sthA->finish(); + if (length($VD_address3)>5) + { + if ($VD_use_internal_dnc =~ /Y/) + { + $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_address3';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VD_alt_dnc_count = "$aryA[0]"; + } + $sthA->finish(); + } + else {$VD_alt_dnc_count=0;} + if ($VD_use_campaign_dnc =~ /Y/) + { + $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_address3' and campaign_id='$VD_campaign_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VD_alt_dnc_count = ($VD_alt_dnc_count + $aryA[0]); + } + $sthA->finish(); + } + if ($VD_alt_dnc_count < 1) + { + $stmtA = "INSERT INTO vicidial_hopper SET lead_id='$CLlead_id',campaign_id='$CLcampaign_id',status='READY',list_id='$VD_list_id',gmt_offset_now='$VD_gmt_offset_now',state='$VD_state',alt_dial='ADDR3',user='',priority='20';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDH record inserted: |$affected_rows| |$stmtA|"; &agi_output;} + } + else + {$addr3_dial_skip=1;} + } + else + {$addr3_dial_skip=1;} + if ($addr3_dial_skip > 0) + {$CLalt_dial='ADDR3';} + } + if ( ( ($VD_auto_alt_dial =~ /EXTENDED_ONLY/) && ($CLalt_dial =~ /NONE|MAIN/) ) || ( ($VD_auto_alt_dial =~ /ALT_AND_EXTENDED/) && ($CLalt_dial =~ /ALT/) ) || ( ($VD_auto_alt_dial =~ /ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED/) && ($CLalt_dial =~ /ADDR3/) ) || ( ($VD_auto_alt_dial =~ /EXTENDED/) && ($CLalt_dial =~ /^X/) && ($CLalt_dial !~ /XLAST/) ) ) + { + if ($CLalt_dial =~ /ADDR3/) {$Xlast=0;} + else + {$Xlast = $CLalt_dial;} + $Xlast =~ s/\D//gi; + if (length($Xlast)<1) + {$Xlast=0;} + $VD_altdialx=''; + $stmtA="SELECT gmt_offset_now,state,list_id FROM vicidial_list where lead_id='$CLlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $epc_countCAMPDATA=0; + while ($sthArows > $epc_countCAMPDATA) + { + @aryA = $sthA->fetchrow_array; + $VD_gmt_offset_now = "$aryA[1]"; + $VD_state = "$aryA[2]"; + $VD_list_id = "$aryA[3]"; + $epc_countCAMPDATA++; + } + $sthA->finish(); + $alt_dial_phones_count=0; + $stmtA="SELECT count(*) FROM vicidial_list_alt_phones where lead_id='$CLlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $alt_dial_phones_count = "$aryA[0]"; + } + $sthA->finish(); + + while ( ($alt_dial_phones_count > 0) && ($alt_dial_phones_count > $Xlast) ) + { + $Xlast++; + $stmtA="SELECT alt_phone_id,phone_number,active FROM vicidial_list_alt_phones where lead_id='$CLlead_id' and alt_phone_count='$Xlast';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VD_altdial_id = "$aryA[0]"; + $VD_altdial_phone = "$aryA[1]"; + $VD_altdial_active = "$aryA[2]"; + } + else + {$Xlast=9999999999;} + $sthA->finish(); + + if ($VD_altdial_active =~ /Y/) + { + if ($VD_use_internal_dnc =~ /Y/) + { + $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_altdial_phone';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VD_alt_dnc_count = "$aryA[0]"; + } + $sthA->finish(); + } + else {$VD_alt_dnc_count=0;} + if ($VD_use_campaign_dnc =~ /Y/) + { + $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$VD_campaign_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VD_alt_dnc_count = ($VD_alt_dnc_count + $aryA[0]); + } + $sthA->finish(); + } + if ($VD_alt_dnc_count < 1) + { + if ($alt_dial_phones_count == $Xlast) + {$Xlast = 'LAST';} + $stmtA = "INSERT INTO vicidial_hopper SET lead_id='$CLlead_id',campaign_id='$CLcampaign_id',status='READY',list_id='$VD_list_id',gmt_offset_now='$VD_gmt_offset_now',state='$VD_state',alt_dial='X$Xlast',user='',priority='15';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDH record inserted: |$affected_rows| |$stmtA|X$Xlast|$VD_altdial_id|"; &agi_output;} + $Xlast=9999999999; + } + else + {if ($AGILOG) {$agi_string = "-- VDH alt dial is DNC|X$Xlast|$VD_altdial_phone|"; &agi_output;}} + } + } + } + } + ##### END AUTO ALT PHONE DIAL SECTION ##### + + + + + } + else + { + if ( ($KLcallerid[$kill_vac] =~ /^M\d\d\d\d\d\d\d\d\d\d/) && ($CLlast_update_time < $TDtarget) ) + { + $stmtA = "DELETE from vicidial_auto_calls where auto_call_id='$auto_call_id'"; + $affected_rows = $dbhA->do($stmtA); + + $event_string = "| M dead call vac deleted|$auto_call_id|$CLlead_id|$KLcallerid[$kill_vac]|$end_epoch|$affected_rows|$KLchannel[$kill_vac]|$CLcall_type|$CLlast_update_time < $XDtarget|"; + &event_logger; + + } + else + { + $event_string = "| dead call vac XFERd do nothing|$CLlead_id|$CLphone_number|$CLstatus|"; + &event_logger; + } + } + } + else + { + $event_string = "| dead call vac INBOUND do nothing|$CLlead_id|$CLphone_number|$CLstatus|"; + &event_logger; + } + } + } + $kill_vac++; + } + + + + ### pause agents that have disconnected or closed their apps over 30 seconds ago + $stmtA = "UPDATE vicidial_live_agents set status='PAUSED',random_id='10' where server_ip='$server_ip' and last_update_time < '$PDtsSQLdate' and status NOT IN('PAUSED')"; + $affected_rows = $dbhA->do($stmtA); + + $event_string = "| lagged call vla agent PAUSED $affected_rows|$PDtsSQLdate|$BDtsSQLdate|$tsSQLdate|"; + &event_logger; + + if ($affected_rows > 0) + { + @VALOuser=@MT; @VALOcampaign=@MT; @VALOtimelog=@MT; @VALOextension=@MT; + $logcount=0; + $stmtA = "SELECT user,campaign_id,last_update_time,extension FROM vicidial_live_agents where server_ip='$server_ip' and status = 'PAUSED' and random_id='10' order by last_update_time desc limit $affected_rows"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + $rec_countCUSTDATA=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VALOuser[$logcount] = "$aryA[0]"; + $VALOcampaign[$logcount] = "$aryA[1]"; + $VALOtimelog[$logcount] = "$aryA[2]"; + $VALOextension[$logcount] = "$aryA[3]"; + $logcount++; + $rec_count++; + } + $sthA->finish(); + $logrun=0; + foreach(@VALOuser) + { + $VALOuser_group=''; + $stmtA = "SELECT user_group FROM vicidial_users where user='$VALOuser[$logrun]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $UGrec_count=0; + while ($sthArows > $UGrec_count) + { + @aryA = $sthA->fetchrow_array; + $VALOuser_group = "$aryA[0]"; + $UGrec_count++; + } + $sthA->finish(); + $stmtA = "INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$VALOuser[$logrun]','LOGOUT','$VALOcampaign[$logrun]','$SQLdate','$now_date_epoch','$VALOuser_group');"; + $affected_rows = $dbhA->do($stmtA); + + $event_string = "| lagged agent LOGOUT entry inserted $VALOuser[$logrun]|$VALOcampaign[$logrun]|$VALOextension[$logcount]|"; + &event_logger; + + $logrun++; + } + + } + + + ### delete call records that are SENT for over 2 minutes + $stmtA = "DELETE FROM vicidial_auto_calls where server_ip='$server_ip' and call_time < '$XDSQLdate' and status NOT IN('XFER','CLOSER','LIVE','IVR')"; + $affected_rows = $dbhA->do($stmtA); + + $event_string = "| lagged call vac agent DELETED $affected_rows|$XDSQLdate|"; + &event_logger; + + + ### For debugging purposes, try to grab Jammed calls and log them to jam logfile + if ($useJAMdebugFILE) + { + $stmtA = "SELECT * FROM vicidial_auto_calls where server_ip='$server_ip' and last_update_time < '$BDtsSQLdate' and status IN('LIVE')"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $JAMrec_count=0; + while ($sthArows > $JAMrec_count) + { + @aryA = $sthA->fetchrow_array; + $jam_string = "$JAMrec_count|$BDtsSQLdate| |$aryA[0]|$aryA[1]|$aryA[2]|$aryA[3]|$aryA[4]|$aryA[5]|$aryA[6]|$aryA[7]|$aryA[8]|$aryA[9]|$aryA[10]|$aryA[11]|$aryA[12]|$aryA[13]|$aryA[14]|"; + &jam_event_logger; + $JAMrec_count++; + } + $sthA->finish(); + } + + ### find call records that are LIVE and not updated for over 10 seconds + $stmtA = "SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where server_ip='$server_ip' and last_update_time < '$BDtsSQLdate' and status IN('LIVE','IVR');"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $auto_call_id = "$aryA[0]"; + $CLlead_id = "$aryA[1]"; + $CLphone_number = "$aryA[2]"; + $CLstatus = "$aryA[3]"; + $CLcampaign_id = "$aryA[4]"; + $CLphone_code = "$aryA[5]"; + $CLalt_dial = "$aryA[6]"; + $CLstage = "$aryA[7]"; + $CLcallerid = "$aryA[8]"; + $CLuniqueid = "$aryA[9]"; + $rec_count++; + } + $sthA->finish(); + + ### delete call records that are LIVE and not updated for over 10 seconds + $rec_count=0; + while ($sthArows > $rec_count) + { + $stmtA = "DELETE from vicidial_auto_calls where auto_call_id='$auto_call_id'"; + $affected_rows = $dbhA->do($stmtA); + + $event_string = "| lagged call vdac call DELETED $affected_rows|$BDtsSQLdate|$auto_call_id|$CLcallerid|$CLuniqueid|$CLphone_number|$CLstatus|"; + &event_logger; + + if ( ($affected_rows > 0) && ($CLlead_id > 0) ) + { + $jam_string = "| lagged call vdac call DELETED $affected_rows|$BDtsSQLdate|$auto_call_id|$CLcallerid|$CLuniqueid|$CLphone_number|$CLstatus|"; + &jam_event_logger; + + $CLstage =~ s/LIVE|-//gi; + if ($CLstage < 0.25) {$CLstage=1;} + + $end_epoch = ($now_date_epoch + 1); + $stmtA = "INSERT INTO vicidial_log (uniqueid,lead_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,processed,length_in_sec,end_epoch,alt_dial) values('$CLuniqueid','$CLlead_id','$CLcampaign_id','$SQLdate','$now_date_epoch','DROP','$CLphone_code','$CLphone_number','VDAD','N','$CLstage','$end_epoch','$CLalt_dial')"; + if($M){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); + + $event_string = "| dead NA call added to log $CLuniqueid|$CLlead_id|$CLphone_number|$CLstatus|DROP|$affected_rows|"; + &event_logger; + + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$CLcallerid',queue='$CLcampaign_id',agent='NONE',verb='ABANDON',data1='1',data2='1',data3='$CLstage',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + + } + + $rec_count++; + } + $sthA->finish(); + + + if ($LUcount > 0) + { + chop($lists_update); + $stmtA = "UPDATE vicidial_lists SET list_lastcalldate='$SQLdate' where list_id IN($lists_update);"; + $affected_rows = $dbhA->do($stmtA); + $event_string = "| lastcalldate UPDATED $affected_rows|$lists_update|"; + &event_logger; + } + + if ($CPcount > 0) + { + chop($campaigns_update); + $stmtA = "UPDATE vicidial_campaigns SET campaign_logindate='$SQLdate' where campaign_id IN($campaigns_update);"; + $affected_rows = $dbhA->do($stmtA); + $event_string = "| logindate UPDATED $affected_rows|$campaigns_update|"; + &event_logger; + } + + + ############################################################################### + ###### last, wait for a little bit and repeat the loop + ############################################################################### + + ### sleep for 2 and a half seconds before beginning the loop again + usleep(1*$loop_delay*1000); + + $endless_loop--; + if($DB){print STDERR "\nloop counter: |$endless_loop|\n";} + + ### putting a blank file called "VDAD.kill" in the directory will automatically safely kill this program + if (-e "$PATHhome/VDAD.kill") + { + unlink("$PATHhome/VDAD.kill"); + $endless_loop=0; + $one_day_interval=0; + print "\nPROCESS KILLED MANUALLY... EXITING\n\n" + } + if ($endless_loop =~ /0$/) # run every ten cycles (about 25 seconds) + { + ### Grab Server values from the database + $stmtA = "SELECT vd_server_logs FROM servers where server_ip = '$VARserver_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvd_server_logs = "$aryA[0]"; + if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';} + else {$SYSLOG = '0';} + $rec_count++; + } + $sthA->finish(); + + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmtA = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $enable_queuemetrics_logging = "$aryA[0]"; + $queuemetrics_server_ip = "$aryA[1]"; + $queuemetrics_dbname = "$aryA[2]"; + $queuemetrics_login= "$aryA[3]"; + $queuemetrics_pass = "$aryA[4]"; + $queuemetrics_log_id = "$aryA[5]"; + $rec_count++; + } + $sthA->finish(); + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + ### delete call records that are LIVE for over 100 minutes + $stmtA = "DELETE FROM vicidial_auto_calls where server_ip='$server_ip' and call_time < '$TDSQLdate' and status NOT IN('XFER','CLOSER')"; + $affected_rows = $dbhA->do($stmtA); + + $event_string = "| lagged call vac agent DELETED $affected_rows|$TDSQLdate|LIVE|"; + &event_logger; + + ### Grab Server values from the database in case they've changed + $stmtA = "SELECT max_vicidial_trunks,answer_transfer_agent,local_gmt,ext_context FROM servers where server_ip = '$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBmax_vicidial_trunks = "$aryA[0]"; + $DBanswer_transfer_agent= "$aryA[1]"; + $DBSERVER_GMT = "$aryA[2]"; + $DBext_context = "$aryA[3]"; + $max_vicidial_trunks = $DBmax_vicidial_trunks; + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBext_context) {$ext_context = $DBext_context;} + $rec_count++; + } + $sthA->finish(); + + $event_string = "| updating server parameters $max_vicidial_trunks|$answer_transfer_agent|$SERVER_GMT|$ext_context|"; + &event_logger; + + &get_time_now; + + #@psoutput = `/bin/ps -f --no-headers -A`; + @psoutput = `/bin/ps -o "%p %a" --no-headers -A`; + + $running_listen = 0; + + $i=0; + foreach (@psoutput) + { + chomp($psoutput[$i]); + + @psline = split(/\/usr\/bin\/perl /,$psoutput[$i]); + + if ($psline[1] =~ /AST_manager_li/) {$running_listen++;} + + $i++; + } + + if (!$running_listen) + { + $endless_loop=0; + $one_day_interval=0; + print "\nPROCESS KILLED NO LISTENER RUNNING... EXITING\n\n"; + } + + if($DB){print "checking to see if listener is dead |$running_listen|\n";} + } + + $bad_grabber_counter=0; + + $stat_count++; + } + + + if($DB){print "DONE... Exiting... Goodbye... See you later... Not really, initiating next loop...\n";} + + $event_string='HANGING UP|'; + &event_logger; + + $one_day_interval--; + +} + + $event_string='CLOSING DB CONNECTION|'; + &event_logger; + + + $dbhA->disconnect(); + + + if($DB){print "DONE... Exiting... Goodbye... See you later... Really I mean it this time\n";} + + +exit; + + + + + + + + + + + + + +sub get_time_now #get the current date and time and epoch for logging call lengths and datetimes +{ +$secX = time(); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($secX); + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + if ($isdst) {$LOCAL_GMT_OFF++;} + +$GMT_now = ($secX - ($LOCAL_GMT_OFF * 3600)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($GMT_now); + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + + if ($DB) {print "TIME DEBUG: $LOCAL_GMT_OFF_STD|$LOCAL_GMT_OFF|$isdst| GMT: $hour:$min\n";} + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$file_date = "$year-$mon-$mday"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + +$BDtarget = ($secX - 10); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +$PDtarget = ($secX - 30); +($Psec,$Pmin,$Phour,$Pmday,$Pmon,$Pyear,$Pwday,$Pyday,$Pisdst) = localtime($PDtarget); +$Pyear = ($Pyear + 1900); +$Pmon++; +if ($Pmon < 10) {$Pmon = "0$Pmon";} +if ($Pmday < 10) {$Pmday = "0$Pmday";} +if ($Phour < 10) {$Phour = "0$Phour";} +if ($Pmin < 10) {$Pmin = "0$Pmin";} +if ($Psec < 10) {$Psec = "0$Psec";} + $PDtsSQLdate = "$Pyear$Pmon$Pmday$Phour$Pmin$Psec"; + $halfminSQLdate = "$Pyear-$Pmon-$Pmday $Phour:$Pmin:$Psec"; + +$XDtarget = ($secX - 120); +($Xsec,$Xmin,$Xhour,$Xmday,$Xmon,$Xyear,$Xwday,$Xyday,$Xisdst) = localtime($XDtarget); +$Xyear = ($Xyear + 1900); +$Xmon++; +if ($Xmon < 10) {$Xmon = "0$Xmon";} +if ($Xmday < 10) {$Xmday = "0$Xmday";} +if ($Xhour < 10) {$Xhour = "0$Xhour";} +if ($Xmin < 10) {$Xmin = "0$Xmin";} +if ($Xsec < 10) {$Xsec = "0$Xsec";} + $XDSQLdate = "$Xyear-$Xmon-$Xmday $Xhour:$Xmin:$Xsec"; + +$TDtarget = ($secX - 6000); +($Tsec,$Tmin,$Thour,$Tmday,$Tmon,$Tyear,$Twday,$Tyday,$Tisdst) = localtime($TDtarget); +$Tyear = ($Tyear + 1900); +$Tmon++; +if ($Tmon < 10) {$Tmon = "0$Tmon";} +if ($Tmday < 10) {$Tmday = "0$Tmday";} +if ($Thour < 10) {$Thour = "0$Thour";} +if ($Tmin < 10) {$Tmin = "0$Tmin";} +if ($Tsec < 10) {$Tsec = "0$Tsec";} + $TDSQLdate = "$Tyear-$Tmon-$Tmday $Thour:$Tmin:$Tsec"; + +} + + + + + +sub event_logger +{ +if ($DB) {print "$now_date|$event_string|\n";} +if ($SYSLOG) + { + ### open the log file for writing ### + open(Lout, ">>$VDADLOGfile") + || die "Can't open $VDADLOGfile: $!\n"; + print Lout "$now_date|$event_string|\n"; + close(Lout); + } +$event_string=''; +} + +sub jam_event_logger +{ +if ($DB) {print "$now_date|$jam_string|\n";} +if ($useJAMdebugFILE) + { + ### open the log file for writing ### + open(Jout, ">>$JAMdebugFILE") + || die "Can't open $JAMdebugFILE: $!\n"; + print Jout "$now_date|$jam_string|\n"; + close(Jout); + } +$jam_string=''; +} + + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_VDauto_dial_FILL.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_VDauto_dial_FILL.pl new file mode 100644 index 00000000..160264b9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_VDauto_dial_FILL.pl @@ -0,0 +1,1032 @@ +#!/usr/bin/perl +# +# AST_VDauto_dial_FILL.pl version 2.0.5 *DBI-version* +# +# DESCRIPTION: +# Places auto_dial calls on the VICIDIAL dialer system across all servers only +# for campaigns that have a shortfall in number of lines dialed. +# +# Script needs to be started by ADMIN_keepalive_ALL.pl script (option 7) +# +# Not for use in systems with only one Asterisk/VICIDIAL server +# +# Should only be run on one server in a multi-server Asterisk/VICIDIAL cluster +# +# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# +# CHANGELOG: +# 61115-1246 - First build, framework setup, non-functional +# 61120-2008 - second alpha version, functional and tested in production +# 70205-1425 - Added code for last called date update +# 71030-2054 - Added hopper priority sorting +# 71111-2349 - fixed overdialing bug +# 80227-0406 - fixed auto-alt-dial and added queue_priority +# 80713-0624 - Added vicidial_list_last_local_call_time field +# 80831-0400 - Added new alt-dial options +# 81210-1938 - Fixed callerIDnumber bug +# 90306-1844 - Added configurable calls-per-second option +# + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-t] = test\n [-debug] = verbose debug messages\n [--delay=XXX] = delay of XXX seconds per loop, default 2.5 seconds\n\n"; + } + else + { + if ($args =~ /--delay=/i) + { + @data_in = split(/--delay=/,$args); + $loop_delay = $data_in[1]; + print " LOOP DELAY OVERRIDE!!!!! = $loop_delay seconds\n\n"; + $loop_delay = ($loop_delay * 1000); + } + else + { + $loop_delay = '2500'; + } + if ($args =~ /-debug/i) + { + $DB=1; # Debug flag, set to 0 for no debug messages + print "\n-- DEBUG --\n\n"; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} +else +{ +print "no command line options set\n"; + $loop_delay = '2500'; + $DB=1; +} +### end parsing run-time options ### + + +# constants +$US='__'; +$MT[0]=''; +$RECcount=''; ### leave blank for no REC count +$RECprefix='7'; ### leave blank for no REC prefix + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + + &get_time_now; # update time/date variables + +if (!$VDADLOGfile) {$VDADLOGfile = "$PATHlogs/vdautodial_FILL.$year-$mon-$mday";} + +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use DBI; + + ### connect to MySQL database defined in the conf file + $dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT telnet_host,telnet_port,ASTmgrUSERNAME,ASTmgrSECRET,ASTmgrUSERNAMEupdate,ASTmgrUSERNAMElisten,ASTmgrUSERNAMEsend,max_vicidial_trunks,answer_transfer_agent,local_gmt,ext_context,vd_server_logs FROM servers where server_ip = '$server_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBtelnet_host = "$aryA[0]"; + $DBtelnet_port = "$aryA[1]"; + $DBASTmgrUSERNAME = "$aryA[2]"; + $DBASTmgrSECRET = "$aryA[3]"; + $DBASTmgrUSERNAMEupdate = "$aryA[4]"; + $DBASTmgrUSERNAMElisten = "$aryA[5]"; + $DBASTmgrUSERNAMEsend = "$aryA[6]"; + $DBmax_vicidial_trunks = "$aryA[7]"; + $DBanswer_transfer_agent= "$aryA[8]"; + $DBSERVER_GMT = "$aryA[9]"; + $DBext_context = "$aryA[10]"; + $DBvd_server_logs = "$aryA[11]"; + if ($DBtelnet_host) {$telnet_host = $DBtelnet_host;} + if ($DBtelnet_port) {$telnet_port = $DBtelnet_port;} + if ($DBASTmgrUSERNAME) {$ASTmgrUSERNAME = $DBASTmgrUSERNAME;} + if ($DBASTmgrSECRET) {$ASTmgrSECRET = $DBASTmgrSECRET;} + if ($DBASTmgrUSERNAMEupdate) {$ASTmgrUSERNAMEupdate = $DBASTmgrUSERNAMEupdate;} + if ($DBASTmgrUSERNAMElisten) {$ASTmgrUSERNAMElisten = $DBASTmgrUSERNAMElisten;} + if ($DBASTmgrUSERNAMEsend) {$ASTmgrUSERNAMEsend = $DBASTmgrUSERNAMEsend;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';} + else {$SYSLOG = '0';} + $rec_count++; + } +$sthA->finish(); + + $event_string='LOGGED INTO MYSQL SERVER ON 1 CONNECTION|'; + &event_logger; + +$one_day_interval = 12; # 1 month loops for one year +while($one_day_interval > 0) +{ + + $endless_loop=5760000; # 30 days minutes at XXX seconds per loop + $stat_count=1; + + while($endless_loop > 0) + { + &get_time_now; + + $VDADLOGfile = "$PATHlogs/vdautodial_FILL.$year-$mon-$mday"; + + ############################################################################### + ###### first figure out how many calls should be placed for each campaign per server + ############################################################################### + @DBfill_campaign=@MT; + @DBfill_shortage=@MT; + @DBfill_tally=@MT; + @DBfill_needed=@MT; + @DBfill_current_balance=@MT; + @DBlive_campaign=@MT; + @DBlive_conf_exten=@MT; + @DBlive_status=@MT; + @DBcampaigns=@MT; + @DBIPaddress=@MT; + @DBIPcampaign=@MT; + @DBIPactive=@MT; + @DBIPvdadexten=@MT; + @DBIPcount=@MT; + @DBIPACTIVEcount=@MT; + @DBIPINCALLcount=@MT; + @DBIPadlevel=@MT; + @DBIPdialtimeout=@MT; + @DBIPdialprefix=@MT; + @DBIPcampaigncid=@MT; + @DBIPexistcalls=@MT; + @DBIPgoalcalls=@MT; + @DBIPmakecalls=@MT; + @DBIPlivecalls=@MT; + @DBIPclosercamp=@MT; + @DBIPomitcode=@MT; + @DBIPtrunk_shortage=@MT; + @DBIPold_trunk_shortage=@MT; + @DBIPserver_trunks_limit=@MT; + @DBIPserver_trunks_other=@MT; + @DBIPserver_trunks_allowed=@MT; + @DBIPqueue_priority=@MT; + + $active_line_counter=0; + $camp_counter=0; + $total_shortage=0; + $balance_servers=0; + $lists_update = ''; + $LUcount=0; + + $stmtA = "SELECT count(*) FROM servers where vicidial_balance_active = 'Y';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $balance_servers = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + + ##### Get a listing of the campaigns that have shortages of trunks + $stmtA = "SELECT campaign_id,sum(local_trunk_shortage) FROM vicidial_campaign_server_stats where update_time > '$XDSQLdate' and local_trunk_shortage > 0 group by campaign_id;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBfill_campaign[$camp_counter] = "$aryA[0]"; + $DBfill_shortage[$camp_counter] = "$aryA[1]"; + $total_shortage = ($total_shortage + $aryA[1]); + if($DB) {print "$DBfill_campaign[$camp_counter]: $DBfill_shortage[$camp_counter]\n";} + + $camp_counter++; + $rec_count++; + } + $sthA->finish(); + + ##### Get maximum calls per second that this process can send out + $stmtA = "SELECT outbound_calls_per_second FROM system_settings;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $outbound_calls_per_second = "$aryA[0]"; + } + $sthA->finish(); + + if ( ($outbound_calls_per_second > 0) && ($outbound_calls_per_second < 201) ) + {$per_call_delay = (1000 / $outbound_calls_per_second);} + else + {$per_call_delay = '25';} + + $event_string ="SERVER CALLS PER SECOND MAXIMUM SET TO: $outbound_calls_per_second |$per_call_delay|\n"; + $event_string.="SERVERS WITH TRUNK BALANCE: $balance_servers\n"; + $event_string.="CAMPAIGNS WITH TRUNK SHORTAGE: $camp_counter| TOTAL SHORTAGE: $total_shortage"; + &event_logger; + + + + ################################################################################## + ##### START LOOP IF THERE ARE BALANCE SERVERS AND THERE ARE SHORTAGES + ################################################################################## + if ( ($balance_servers > 0) && ($camp_counter > 0) ) + { + $camp_CIPct = 0; + foreach(@DBfill_campaign) + { + $camp_counter=0; + $DB_balance_fill=0; + $VAC_balance_fill=0; + $AVAIL_balance_servers=0; + $DBfill_tally[$camp_CIPct]=0; + + ### grab the dial_level and multiply by active agents to get your goalcalls + $DBIPadlevel[$camp_CIPct]=0; + $stmtA = "SELECT dial_timeout,dial_prefix,campaign_cid,active,campaign_vdad_exten,omit_phone_code,auto_alt_dial,queue_priority FROM vicidial_campaigns where campaign_id='$DBfill_campaign[$camp_CIPct]'"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + $active_only=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBIPdialtimeout[$camp_CIPct] = "$aryA[0]"; + $DBIPdialprefix[$camp_CIPct] = "$aryA[1]"; + $DBIPcampaigncid[$camp_CIPct] = "$aryA[2]"; + $DBIPactive[$camp_CIPct] = "$aryA[3]"; + $DBIPvdadexten[$camp_CIPct] = "$aryA[4]"; + $omit_phone_code = "$aryA[5]"; + if ($omit_phone_code =~ /Y/) {$DBIPomitcode[$camp_CIPct] = 1;} + else {$DBIPomitcode[$camp_CIPct] = 0;} + $DBIPautoaltdial[$camp_CIPct] = "$aryA[6]"; + $DBIPqueue_priority[$camp_CIPct] = "$aryA[7]"; + + $rec_count++; + } + $sthA->finish(); + + $stmtA = "SELECT balance_trunk_fill FROM vicidial_campaign_stats where campaign_id='$DBfill_campaign[$camp_CIPct]'"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DB_balance_fill = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where campaign_id='$DBfill_campaign[$camp_CIPct]' and call_type='OUTBALANCE';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VAC_balance_fill = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + $DBfill_current_balance[$camp_CIPct] = "$VAC_balance_fill"; + + $event_string=" CAMPAIGN: $DBfill_campaign[$camp_CIPct]\n"; + $event_string.="DB_balance_fill: $DB_balance_fill VAC_balance_fill: $VAC_balance_fill\n"; + + $DBfill_needed[$camp_CIPct] = ($DBfill_shortage[$camp_CIPct] - $VAC_balance_fill); + $event_string.="Additional Balance Calls Needed For This Campaign: $DBfill_needed[$camp_CIPct]\n"; + + + ##### Get a listing of the servers in the campaign that have shortages of trunks + $full_servers='|'; + $full_serversSQL=''; + $stmtA = "SELECT server_ip FROM vicidial_campaign_server_stats where update_time > '$XDSQLdate' and local_trunk_shortage > 0 and campaign_id='$DBfill_campaign[$camp_CIPct]'"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $full_servers .= "$aryA[0]|"; + $full_serversSQL .= "'$aryA[0]',"; + $rec_count++; + } + $sthA->finish(); + chop($full_serversSQL); + if (length($full_serversSQL)<6) {$full_serversSQL="''";} + $event_string.="SERVERS WITH TRUNK FULL for $DBfill_campaign[$camp_CIPct]: $full_servers |$full_serversSQL|"; + &event_logger; + + ##### Check if there are any balance-enabled servers outside of the ones with trunk shortage + $stmtA = "SELECT count(*) FROM servers where vicidial_balance_active = 'Y' and server_ip NOT IN($full_serversSQL);"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $AVAIL_balance_servers = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + + ################################################################################## + ##### CONTINUE IF THERE ARE BALANCE SERVERS AVAILABLE THAT ARE NOT IN TRUNK SHORTAGE + ################################################################################## + if ($AVAIL_balance_servers > 0) + { + $event_string="Balance Servers available: $AVAIL_balance_servers"; + &event_logger; + + $DB_camp_servers=0; + @DB_camp_server_server_ip=@MT; + @DB_camp_server_max_vicidial_trunks=@MT; + @DB_camp_server_balance_trunks_offlimits=@MT; + @DB_camp_server_dedicated_trunks=@MT; + @DB_camp_server_trunk_restriction=@MT; + @DB_NONcamp_server_dedicated_trunks=@MT; + @DB_camp_server_available=@MT; + @DB_camp_server_trunks_to_dial=@MT; + ##### Get the trunk settings for the campaign across all servers + $stmtA = "SELECT server_ip,max_vicidial_trunks,balance_trunks_offlimits FROM servers where vicidial_balance_active = 'Y' and server_ip NOT IN($full_serversSQL) order by server_ip;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DB_camp_server_server_ip[$DB_camp_servers] = "$aryA[0]"; + $DB_camp_server_max_vicidial_trunks[$DB_camp_servers] = "$aryA[1]"; + $DB_camp_server_balance_trunks_offlimits[$DB_camp_servers] = "$aryA[2]"; + $DB_camp_servers++; + $rec_count++; + } + $sthA->finish(); + + + ################################################################################## + ##### LOOP THROUGH SERVERS, CALCULATE TRUNKS FOR EACH FOR THIS CAMPAIGN + ################################################################################## + $server_CIPct = 0; + foreach(@DB_camp_server_server_ip) + { + $DB_camp_server_dedicated_trunks[$server_CIPct]=0; + $DB_camp_server_trunk_restriction[$server_CIPct]=0; + $DB_NONcamp_server_dedicated_trunks[$server_CIPct]=0; + ##### Get the campaign-specific trunk settings for the campaign on this server + $stmtA = "SELECT dedicated_trunks,trunk_restriction FROM vicidial_server_trunks where server_ip='$DB_camp_server_server_ip[$server_CIPct]' and campaign_id='$DBfill_campaign[$camp_CIPct]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DB_camp_server_dedicated_trunks[$server_CIPct] = "$aryA[0]"; + $DB_camp_server_trunk_restriction[$server_CIPct] = "$aryA[1]"; + $rec_count++; + } + $sthA->finish(); + + ##### Get the campaign-specific dedicated trunks count for other campaigns on this server + $stmtA = "SELECT sum(dedicated_trunks) FROM vicidial_server_trunks where server_ip='$DB_camp_server_server_ip[$server_CIPct]' and campaign_id NOT IN('$DBfill_campaign[$camp_CIPct]');"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DB_NONcamp_server_dedicated_trunks[$server_CIPct] = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + + $VAC_server_camp=0; + $VAC_server_NONcamp=0; + + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where server_ip='$DB_camp_server_server_ip[$server_CIPct]' and campaign_id='$DBfill_campaign[$camp_CIPct]' and call_type='OUTBALANCE';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VAC_server_BALcamp = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where server_ip='$DB_camp_server_server_ip[$server_CIPct]' and campaign_id='$DBfill_campaign[$camp_CIPct]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VAC_server_camp = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where server_ip='$DB_camp_server_server_ip[$server_CIPct]' and campaign_id!='$DBfill_campaign[$camp_CIPct]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VAC_server_NONcamp = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + + if($DB) {print "VAC CALLS: |$VAC_server_camp|$VAC_server_NONcamp|$VAC_server_BALcamp|\n";} + if($DB) {print "SETTINGS: |$DB_camp_server_dedicated_trunks[$server_CIPct]|$DB_camp_server_max_vicidial_trunks[$server_CIPct]|$DB_camp_server_balance_trunks_offlimits[$server_CIPct]||\n";} + + if ($DB_camp_server_trunk_restriction[$server_CIPct] =~ /MAXIMUM_LIMIT/) + { + $DB_camp_server_available[$server_CIPct] = $DB_camp_server_dedicated_trunks[$server_CIPct]; + } + else + { + $DB_camp_server_available[$server_CIPct] = ( ($DB_camp_server_max_vicidial_trunks[$server_CIPct] - $DB_camp_server_balance_trunks_offlimits[$server_CIPct]) - $DB_NONcamp_server_dedicated_trunks[$server_CIPct]); + } + $temp_tally = ($DBfill_needed[$camp_CIPct] - $DBfill_tally[$camp_CIPct]); + $temp_avail = ( ($DB_camp_server_max_vicidial_trunks[$server_CIPct] - $VAC_server_camp) - $VAC_server_NONcamp); + $DB_camp_server_available[$server_CIPct] = ($DB_camp_server_available[$server_CIPct] - $VAC_server_BALcamp); + if ($DB_camp_server_available[$server_CIPct] < 0) {$DB_camp_server_available[$server_CIPct]=0;} + + if($DB) {print "TEMPVALS: |$temp_tally|$temp_avail|$DB_camp_server_available[$server_CIPct]||\n";} + if ($DB_camp_server_available[$server_CIPct] >= $temp_tally) + {$DB_camp_server_trunks_to_dial[$server_CIPct] = $temp_tally;} + else + {$DB_camp_server_trunks_to_dial[$server_CIPct] = $DB_camp_server_available[$server_CIPct];} + + if ($temp_avail < $DB_camp_server_trunks_to_dial[$server_CIPct]) + {$DB_camp_server_trunks_to_dial[$server_CIPct] = $temp_avail;} + + $DBfill_tally[$camp_CIPct] = ($DBfill_tally[$camp_CIPct] + $DB_camp_server_trunks_to_dial[$server_CIPct]); + + $event_string=" Server: $DB_camp_server_server_ip[$server_CIPct] AVAIL: $DB_camp_server_available[$server_CIPct] DIAL: $DB_camp_server_trunks_to_dial[$server_CIPct]"; + $event_string.=" Campaign Dial Fill tally: $DBfill_tally[$camp_CIPct]/$DBfill_needed[$camp_CIPct]"; + &event_logger; + + + $stmtA = "SELECT count(*) FROM vicidial_live_agents where campaign_id='$DBfill_campaign[$camp_CIPct]' and status NOT IN('PAUSED');"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $LVA_count = $aryA[0]; + $rec_count++; + } + $sthA->finish(); + + if ($LVA_count > 0) + { + ################################################################################## + ##### PLACE THE CALLS + ################################################################################## + $event_string="$DBfill_campaign[$camp_CIPct] $DB_camp_server_server_ip[$server_CIPct]: CALLING"; + &event_logger; + $call_CMPIPct=0; + $lead_id_call_list='|'; + my $UDaffected_rows=0; + if ($call_CMPIPct < $DB_camp_server_trunks_to_dial[$server_CIPct]) + { + $stmtA = "UPDATE vicidial_hopper set status='QUEUE', user='VDAD_$DB_camp_server_server_ip[$server_CIPct]' where campaign_id='$DBfill_campaign[$camp_CIPct]' and status='READY' order by priority desc,hopper_id LIMIT $DB_camp_server_trunks_to_dial[$server_CIPct]"; + print "|$stmtA|\n"; + $UDaffected_rows = $dbhA->do($stmtA); + print "hopper rows updated to QUEUE: |$UDaffected_rows|\n"; + + if ($UDaffected_rows) + { + $lead_id=''; $phone_code=''; $phone_number=''; $called_count=''; + while ($call_CMPIPct < $UDaffected_rows) + { + $stmtA = "SELECT lead_id,alt_dial FROM vicidial_hopper where campaign_id='$DBfill_campaign[$camp_CIPct]' and status='QUEUE' and user='VDAD_$DB_camp_server_server_ip[$server_CIPct]' order by priority desc,hopper_id LIMIT 1"; + print "|$stmtA|\n"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + $rec_countCUSTDATA=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $lead_id = "$aryA[0]"; + $alt_dial = "$aryA[1]"; + $rec_count++; + } + $sthA->finish(); + + if ($lead_id_call_list =~ /\|$lead_id\|/) + { + print "!!!!!!!!!!!!!!!!duplicate lead_id for this run: |$lead_id| $lead_id_call_list\n"; + if ($SYSLOG) + { + open(DUPout, ">>$PATHlogs/VDAD_DUPLICATE.$file_date") + || die "Can't open $PATHlogs/VDAD_DUPLICATE.$file_date: $!\n"; + print DUPout "$now_date-----$lead_id_call_list-----$lead_id\n"; + close(DUPout); + } + } + else + { + $stmtA = "UPDATE vicidial_hopper set status='INCALL' where lead_id='$lead_id'"; + print "|$stmtA|\n"; + $UQaffected_rows = $dbhA->do($stmtA); + print "hopper row updated to INCALL: |$UQaffected_rows|$lead_id|\n"; + + $stmtA = "SELECT * FROM vicidial_list where lead_id='$lead_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + $rec_countCUSTDATA=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $list_id = "$aryA[7]"; + $gmt_offset_now = "$aryA[8]"; + $called_since_last_reset = "$aryA[9]"; + $phone_code = "$aryA[10]"; + $phone_number = "$aryA[11]"; + $address3 = "$aryA[18]"; + $alt_phone = "$aryA[26]"; + $called_count = "$aryA[30]"; + + $rec_countCUSTDATA++; + $rec_count++; + } + $sthA->finish(); + + if ($rec_countCUSTDATA) + { + ### update called_count + $called_count++; + if ($called_since_last_reset =~ /^Y/) + { + if ($called_since_last_reset =~ /^Y$/) {$CSLR = 'Y1';} + else + { + $called_since_last_reset =~ s/^Y//gi; + $called_since_last_reset++; + $CSLR = "Y$called_since_last_reset"; + } + } + else {$CSLR = 'Y';} + + $LLCT_DATE_offset = ($LOCAL_GMT_OFF - $gmt_offset_now); + $LLCT_DATE_offset_epoch = ( $secX - ($LLCT_DATE_offset * 3600) ); + ($Lsec,$Lmin,$Lhour,$Lmday,$Lmon,$Lyear,$Lwday,$Lyday,$Lisdst) = localtime($LLCT_DATE_offset_epoch); + $Lyear = ($Lyear + 1900); + $Lmon++; + if ($Lmon < 10) {$Lmon = "0$Lmon";} + if ($Lmday < 10) {$Lmday = "0$Lmday";} + if ($Lhour < 10) {$Lhour = "0$Lhour";} + if ($Lmin < 10) {$Lmin = "0$Lmin";} + if ($Lsec < 10) {$Lsec = "0$Lsec";} + $LLCT_DATE = "$Lyear-$Lmon-$Lmday $Lhour:$Lmin:$Lsec"; + + if ( ($alt_dial =~ /ALT|ADDR3|X/) && ($DBIPautoaltdial[$user_CIPct] =~ /ALT|ADDR|X/) ) + { + if ( ($alt_dial =~ /ALT/) && ($DBIPautoaltdial[$user_CIPct] =~ /ALT/) ) + { + $alt_phone =~ s/\D//gi; + $phone_number = $alt_phone; + } + if ( ($alt_dial =~ /ADDR3/) && ($DBIPautoaltdial[$user_CIPct] =~ /ADDR3/) ) + { + $address3 =~ s/\D//gi; + $phone_number = $address3; + } + if ( ($alt_dial =~ /^X/) && ($DBIPautoaltdial[$user_CIPct] =~ /^X/) ) + { + if ($alt_dial =~ /LAST/) + { + $stmtA = "SELECT phone_code,phone_number FROM vicidial_list_alt_phones where lead_id='$lead_id' order by alt_phone_count desc limit 1;"; + } + else + { + $Talt_dial = $alt_dial; + $Talt_dial =~ s/\D//gi; + $stmtA = "SELECT phone_code,phone_number FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Talt_dial';"; + } + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $phone_code = "$aryA[0]"; + $phone_number = "$aryA[1]"; + $phone_number =~ s/\D//gi; + } + $sthA->finish(); + } + + $stmtA = "UPDATE vicidial_list set called_since_last_reset='$CSLR',user='VDAD',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id'"; + } + else + { + $stmtA = "UPDATE vicidial_list set called_since_last_reset='$CSLR', called_count='$called_count',user='VDAD',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id'"; + } + $affected_rows = $dbhA->do($stmtA); + + $stmtA = "DELETE FROM vicidial_hopper where lead_id='$lead_id'"; + $affected_rows = $dbhA->do($stmtA); + + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + if ($DBIPdialtimeout[$camp_CIPct] > 4) {$Local_dial_timeout = $DBIPdialtimeout[$camp_CIPct];} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (length($DBIPdialprefix[$camp_CIPct]) > 0) {$Local_out_prefix = "$DBIPdialprefix[$camp_CIPct]";} + if (length($DBIPvdadexten[$camp_CIPct]) > 0) {$VDAD_dial_exten = "$DBIPvdadexten[$camp_CIPct]";} + else {$VDAD_dial_exten = "$answer_transfer_agent";} + + if (length($DBIPcampaigncid[$camp_CIPct]) > 6) {$CCID = "$DBIPcampaigncid[$camp_CIPct]"; $CCID_on++;} + if ($DBIPdialprefix[$camp_CIPct] =~ /x/i) {$Local_out_prefix = '';} + + if ($RECcount) + { + if ( (length($RECprefix)>0) && ($called_count < $RECcount) ) + {$Local_out_prefix .= "$RECprefix";} + } + $PADlead_id = sprintf("%09s", $lead_id); while (length($PADlead_id) > 9) {chop($PADlead_id);} + + if ($lists_update !~ /'$list_id'/) {$lists_update .= "'$list_id',"; $LUcount++;} + + $lead_id_call_list .= "$lead_id|"; + + if (length($alt_dial)<1) {$alt_dial='MAIN';} + + ### whether to omit phone_code or not + if ($DBIPomitcode[$camp_CIPct] > 0) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + + ### use manager middleware-app to connect the next call to the meetme room + # VmmddhhmmssLLLLLLLLL + $VqueryCID = "V$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$VqueryCID\" <$CCID>";} + else {$CIDstring = "$VqueryCID";} + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$DB_camp_server_server_ip[$server_CIPct]','','Originate','$VqueryCID','Exten: $VDAD_dial_exten','Context: $ext_context','Channel: $local_DEF$Ndialstring$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','')"; + $affected_rows = $dbhA->do($stmtA); + + $event_string = "| number call dialed|$DBfill_campaign[$camp_CIPct]|$VqueryCID|$stmtA|$gmt_offset_now|$alt_dial|"; + &event_logger; + + ### insert a SENT record to the vicidial_auto_calls table + $stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type,alt_dial,queue_priority) values('$DB_camp_server_server_ip[$server_CIPct]','$DBfill_campaign[$camp_CIPct]','SENT','$lead_id','$VqueryCID','$phone_code','$phone_number','$SQLdate','OUTBALANCE','$alt_dial','$DBIPqueue_priority[$camp_CIPct]')"; + $affected_rows = $dbhA->do($stmtA); + + ### sleep for 2.5 hundredths of a second to not flood the server with new calls + # usleep(1*25*1000); + usleep(1*$per_call_delay*1000); + } + } + $call_CMPIPct++; + } + } + } + } + else + { + $event_string.="No Agents logged in, not dialing"; + &event_logger; + } + + + + + + $server_CIPct++; + } + + } + else + { + $event_string.="No Balance Servers available that do not have a shortage"; + &event_logger; + } + + $temp_balance_total = ($DBfill_current_balance[$camp_CIPct] + $DBfill_tally[$camp_CIPct]); + if ($DB) {print "CURRENT FILL: $temp_balance_total = ($DBfill_current_balance[$camp_CIPct] + $DBfill_tally[$camp_CIPct])\n";} + $stmtA = "UPDATE vicidial_campaign_stats SET balance_trunk_fill='$temp_balance_total' where campaign_id='$DBfill_campaign[$camp_CIPct]';"; + $affected_rows = $dbhA->do($stmtA); + + $camp_CIPct++; + } + + } + ################################################################################## + ##### END LOOP IF THERE ARE BALANCE SERVERS AND THERE ARE SHORTAGES + ################################################################################## + else + { + if ($DB) {print "No Balance servers or no shortages\n";} + $stmtA = "UPDATE vicidial_campaign_stats SET balance_trunk_fill='0';"; + $affected_rows = $dbhA->do($stmtA); + + $event_string.="No Balance Servers available or No Shortages"; + &event_logger; + } + + +# so far we have a check of balance servers, a check of shortage servers and we begin traversing the campaigns array +#exit; + + + + + + + &get_time_now; + + + if ($LUcount > 0) + { + chop($lists_update); + $stmtA = "UPDATE vicidial_lists SET list_lastcalldate='$SQLdate' where list_id IN($lists_update);"; + $affected_rows = $dbhA->do($stmtA); + $event_string = "| lastcalldate UPDATED $affected_rows|$lists_update|"; + &event_logger; + } + + ############################################################################### + ###### last, wait for a little bit and repeat the loop + ############################################################################### + + ### sleep for 2 and a half seconds before beginning the loop again + usleep(1*$loop_delay*1000); + + $endless_loop--; + if($DB){print STDERR "\nloop counter: |$endless_loop|\n";} + + ### putting a blank file called "VDADfull.kill" in the directory will automatically safely kill this program + if (-e "$PATHhome/VDADfull.kill") + { + unlink("$PATHhome/VDADfull.kill"); + $endless_loop=0; + $one_day_interval=0; + print "\nPROCESS KILLED MANUALLY... EXITING\n\n" + } + if ($endless_loop =~ /0$/) # run every ten cycles (about 25 seconds) + { + ### Grab Server values from the database + $stmtA = "SELECT vd_server_logs FROM servers where server_ip = '$VARserver_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvd_server_logs = "$aryA[0]"; + if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';} + else {$SYSLOG = '0';} + $rec_count++; + } + $sthA->finish(); + + ### Grab Server values from the database in case they've changed + $stmtA = "SELECT max_vicidial_trunks,answer_transfer_agent,local_gmt,ext_context FROM servers where server_ip = '$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBmax_vicidial_trunks = "$aryA[0]"; + $DBanswer_transfer_agent= "$aryA[1]"; + $DBSERVER_GMT = "$aryA[2]"; + $DBext_context = "$aryA[3]"; + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBext_context) {$ext_context = $DBext_context;} + $rec_count++; + } + $sthA->finish(); + + $event_string = "| updating server parameters $max_vicidial_trunks|$answer_transfer_agent|$SERVER_GMT|$ext_context|$DBvd_server_logs|$SYSLOG|"; + &event_logger; + &get_time_now; + } + + $stat_count++; + } + + + if($DB){print "DONE... Exiting... Goodbye... See you later... Not really, initiating next loop...\n";} + + $event_string='HANGING UP|'; + &event_logger; + + $one_day_interval--; + +} + + $event_string='CLOSING DB CONNECTION|'; + &event_logger; + + + $dbhA->disconnect(); + + + if($DB){print "DONE... Exiting... Goodbye... See you later... Really I mean it this time\n";} + + +exit; + + + + + + + + + + + + + +sub get_time_now #get the current date and time and epoch for logging call lengths and datetimes +{ +$secX = time(); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($secX); + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + if ($isdst) {$LOCAL_GMT_OFF++;} + +$GMT_now = ($secX - ($LOCAL_GMT_OFF * 3600)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($GMT_now); + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + + if ($DB) {print "TIME DEBUG: $LOCAL_GMT_OFF_STD|$LOCAL_GMT_OFF|$isdst| GMT: $hour:$min\n";} + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$file_date = "$year-$mon-$mday"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + +$BDtarget = ($secX - 10); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +$PDtarget = ($secX - 30); +($Psec,$Pmin,$Phour,$Pmday,$Pmon,$Pyear,$Pwday,$Pyday,$Pisdst) = localtime($PDtarget); +$Pyear = ($Pyear + 1900); +$Pmon++; +if ($Pmon < 10) {$Pmon = "0$Pmon";} +if ($Pmday < 10) {$Pmday = "0$Pmday";} +if ($Phour < 10) {$Phour = "0$Phour";} +if ($Pmin < 10) {$Pmin = "0$Pmin";} +if ($Psec < 10) {$Psec = "0$Psec";} + $PDtsSQLdate = "$Pyear$Pmon$Pmday$Phour$Pmin$Psec"; + $halfminSQLdate = "$Pyear-$Pmon-$Pmday $Phour:$Pmin:$Psec"; + +$XDtarget = ($secX - 120); +($Xsec,$Xmin,$Xhour,$Xmday,$Xmon,$Xyear,$Xwday,$Xyday,$Xisdst) = localtime($XDtarget); +$Xyear = ($Xyear + 1900); +$Xmon++; +if ($Xmon < 10) {$Xmon = "0$Xmon";} +if ($Xmday < 10) {$Xmday = "0$Xmday";} +if ($Xhour < 10) {$Xhour = "0$Xhour";} +if ($Xmin < 10) {$Xmin = "0$Xmin";} +if ($Xsec < 10) {$Xsec = "0$Xsec";} + $XDSQLdate = "$Xyear-$Xmon-$Xmday $Xhour:$Xmin:$Xsec"; + +$TDtarget = ($secX - 600); +($Tsec,$Tmin,$Thour,$Tmday,$Tmon,$Tyear,$Twday,$Tyday,$Tisdst) = localtime($TDtarget); +$Tyear = ($Tyear + 1900); +$Tmon++; +if ($Tmon < 10) {$Tmon = "0$Tmon";} +if ($Tmday < 10) {$Tmday = "0$Tmday";} +if ($Thour < 10) {$Thour = "0$Thour";} +if ($Tmin < 10) {$Tmin = "0$Tmin";} +if ($Tsec < 10) {$Tsec = "0$Tsec";} + $TDSQLdate = "$Tyear-$Tmon-$Tmday $Thour:$Tmin:$Tsec"; + +} + + + + + +sub event_logger +{ +if ($DB) {print "$now_date|$event_string|\n";} +if ($SYSLOG) + { + ### open the log file for writing ### + open(Lout, ">>$VDADLOGfile") + || die "Can't open $VDADLOGfile: $!\n"; + print Lout "$now_date|$event_string|\n"; + close(Lout); + } +$event_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_VDhopper.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_VDhopper.pl new file mode 100644 index 00000000..913b1dba --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_VDhopper.pl @@ -0,0 +1,1539 @@ +#!/usr/bin/perl +# +# AST_VDhopper.pl version 2.0.5 *DBI-version* +# +# DESCRIPTION: +# uses DBD::MySQL to update the VICIDIAL leads hopper for the streamlined +# approach of allocating leads to client machines. +# +# SUMMARY: +# This program was designed for people using the Asterisk PBX with VICIDIAL +# +# For the client to use VICIDIAL, this program must be in the cron running +# every minute +# +# For this program to work you need to have the "asterisk" MySQL database +# created and create the tables listed in the CONF_MySQL.txt file, also make sure +# that the machine running this program has read/write/update/delete access +# to that database +# +# It is recommended that you run this program on the local Asterisk machine +# +# If this script is run ever minute and you are getting close to no leads after +# a minute, you may want to play with the variables below to streamline for +# your usage +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGELOG +# 50810-1613 - Added database server variable definitions lookup +# 60215-1106 - Added Scheduled Callback release functionality +# 60228-1623 - Change Callback activation to set the called_since_last_reset=N +# 60228-1735 - Added hopper gmt validation to remove gmt outside of time range +# 60320-0932 - Added inactive lead list hopper deletion (Thanks Vic Jolin) +# 60322-1030 - Added super debug output +# 60418-0947 - Added lead filter per campaign +# 60509-1416 - Rewrite of local_call_time functions +# 60511-1150 - Added inserts into vicidial_campaign_stats table +# 60609-1451 - Added ability to filter by DNC list vicidial_dnc +# 60614-1159 - Added campaign lead recycling ability +# 60715-2251 - Changed to use /etc/astguiclient.conf for configs +# 60801-1634 - Fixed Callback activation bug 000008 +# 60814-1720 - Added option for no logging to file +# 60822-1527 - Added campaign_stats and logging options for adaptive dialing +# 60925-1330 - Fixed recycling leads issues +# 61110-1513 - Changed Xth NEW to fill to hopper_level with standard if not enough NEW +# 70219-1247 - Changed to use dial_statuses field instead of dial_status_x fields +# 71029-1929 - Added 5th and 6th NEW to list order +# 71030-2043 - Added hopper priority for callbacks +# 80112-0221 - Added 2nd, 3rd,... NEW for LAST NAME/PHONE Sort +# 80125-0821 - Added detail logging of each lead inserted +# 80713-0028 - Changed Recycling methodology +# 80909-1901 - Added support for campaign-specific DNC lists +# + +# constants +$DB=0; # Debug flag, set to 0 for no debug messages, On an active system this will generate lots of lines of output per minute +$US='__'; +$MT[0]=''; +#$vicidial_hopper='TEST_vicidial_hopper'; # for testing +$vicidial_hopper='vicidial_hopper'; + +# options +$insert_auto_CB_to_hopper = 1; # set to 1 to automatically insert ANYONE callbacks into the hopper + + +$secT = time(); +$secX = time(); +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +$wtoday = $wday; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +$file_date = "$year-$mon-$mday"; +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$VDL_date = "$year-$mon-$mday 00:00:01"; + +### get date-time of one hour ago ### + $VDL_hour = ($secX - (60 * 60)); +($Vsec,$Vmin,$Vhour,$Vmday,$Vmon,$Vyear,$Vwday,$Vyday,$Visdst) = localtime($VDL_hour); +$Vyear = ($Vyear + 1900); +$Vmon++; +if ($Vmon < 10) {$Vmon = "0$Vmon";} +if ($Vmday < 10) {$Vmday = "0$Vmday";} +$VDL_hour = "$Vyear-$Vmon-$Vmday $Vhour:$Vmin:$Vsec"; + +### get date-time of half hour ago ### + $VDL_halfhour = ($secX - (30 * 60)); +($Vsec,$Vmin,$Vhour,$Vmday,$Vmon,$Vyear,$Vwday,$Vyday,$Visdst) = localtime($VDL_halfhour); +$Vyear = ($Vyear + 1900); +$Vmon++; +if ($Vmon < 10) {$Vmon = "0$Vmon";} +if ($Vmday < 10) {$Vmday = "0$Vmday";} +$VDL_halfhour = "$Vyear-$Vmon-$Vmday $Vhour:$Vmin:$Vsec"; + +### get date-time of five minutes ago ### + $VDL_five = ($secX - (5 * 60)); +($Vsec,$Vmin,$Vhour,$Vmday,$Vmon,$Vyear,$Vwday,$Vyday,$Visdst) = localtime($VDL_five); +$Vyear = ($Vyear + 1900); +$Vmon++; +if ($Vmon < 10) {$Vmon = "0$Vmon";} +if ($Vmday < 10) {$Vmday = "0$Vmday";} +$VDL_five = "$Vyear-$Vmon-$Vmday $Vhour:$Vmin:$Vsec"; + +### get date-time of one minute ago ### + $VDL_one = ($secX - (1 * 60)); +($Vsec,$Vmin,$Vhour,$Vmday,$Vmon,$Vyear,$Vwday,$Vyday,$Visdst) = localtime($VDL_one); +$Vyear = ($Vyear + 1900); +$Vmon++; +if ($Vmon < 10) {$Vmon = "0$Vmon";} +if ($Vmday < 10) {$Vmday = "0$Vmday";} +$VDL_one = "$Vyear-$Vmon-$Vmday $Vhour:$Vmin:$Vsec"; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options(must stay in this order):\n [--debug] = debug\n [--debugX] = super debug\n [--dbgmt] = show GMT offset of records as they are inserted into hopper\n [--dbdetail] = additional level of logging the leads that are inserted into the hopper\n [-t] = test\n [--level=XXX] = force a hopper_level of XXX\n [--campaign=XXX] = run for campaign XXX only\n\n"; + exit; + } + else + { + if ($args =~ /--campaign=/i) + { + # print "\n|$ARGS|\n\n"; + @data_in = split(/--campaign=/,$args); + $CLIcampaign = $data_in[1]; + $CLIcampaign =~ s/ .*$//gi; + } + else + {$CLIcampaign = '';} + if ($args =~ /--level=/i) + { + @data_in = split(/--level=/,$args); + $CLIlevel = $data_in[1]; + $CLIlevel =~ s/ .*$//gi; + $CLIlevel =~ s/\D//gi; + print "\n-----HOPPER LEVEL OVERRIDE: $CLIlevel -----\n\n"; + } + else + {$CLIlevel = '';} + if ($args =~ /--debug/i) + { + $DB=1; + print "\n----- DEBUG -----\n\n"; + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n----- SUPER DEBUG -----\n\n"; + } + if ($args =~ /--dbgmt/i) + { + $DB_show_offset=1; + print "\n-----DEBUG GMT -----\n\n"; + } + if ($args =~ /--dbdetail/i) + { + $DB_detail=1; +# print "\n-----DEBUG DETAIL -----\n\n"; + } + if ($args =~ /-t/i) + { + $T=1; $TEST=1; + print "\n-----TESTING -----\n\n"; + } + if ($args =~ /--wipe-hopper-clean/i) + { + $wipe_hopper_clean=1; + } + } +} +else +{ +print "no command line options set\n"; +} + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VDHLOGfile) {$VDHLOGfile = "$PATHlogs/hopper.$year-$mon-$mday";} +if (!$VDHDLOGfile) {$VDHDLOGfile = "$PATHlogs/hopper-detail.$year-$mon-$mday";} +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +### Grab Server values from the database + $stmtA = "SELECT vd_server_logs,local_gmt FROM servers where server_ip = '$VARserver_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvd_server_logs = "$aryA[0]"; + $DBSERVER_GMT = "$aryA[1]"; + if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';} + else {$SYSLOG = '0';} + if (length($DBSERVER_GMT)>0) {$SERVER_GMT = $DBSERVER_GMT;} + $rec_count++; + } + $sthA->finish(); + + + +$secX = time(); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($secX); + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + if ($isdst) {$LOCAL_GMT_OFF++;} + +$GMT_now = ($secX - ($LOCAL_GMT_OFF * 3600)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($GMT_now); + $mon++; + $year = ($year + 1900); + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + if ($DB) {print "TIME DEBUG: $LOCAL_GMT_OFF_STD|$LOCAL_GMT_OFF|$isdst| GMT: $hour:$min\n";} + +if ($wipe_hopper_clean) + { + $stmtA = "DELETE from $vicidial_hopper;"; + $affected_rows = $dbhA->do($stmtA); + if ($DB) {print "Hopper Wiped Clean: $affected_rows\n";} + $event_string = "|HOPPER WIPE CLEAN|"; + &event_logger; + + exit; + } +### Delete leads from inactive lists if there are any +$stmtA = "SELECT * FROM vicidial_lists where active='N';"; +if ($DB) {print $stmtA;} +$inactive_lists=''; +$inactive_lists_count=0; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $inactive_lists_count) + { + @aryA = $sthA->fetchrow_array; + $inactive_list = $aryA[0]; + $inactive_lists .= "'$inactive_list',"; + $inactive_lists_count++; + } +$sthA->finish(); +if ($DB) {print "Inactive Lists: $inactive_lists_count\n";} + +if ($inactive_lists_count > 0) + { + chop($inactive_lists); + $stmtA = "DELETE from $vicidial_hopper where list_id IN($inactive_lists);"; + $affected_rows = $dbhA->do($stmtA); + if ($DB) {print "Inactive List Leads Deleted: $affected_rows |$stmtA|\n";} + $event_string = "|INACTIVE LIST DEL|$affected_rows|"; + &event_logger; + } + +### BEGIN Change CBHOLD status leads to CALLBK if their vicidial_callbacks time has passed +$stmtA = "SELECT count(*) FROM vicidial_callbacks where callback_time <= '$now_date' and status='ACTIVE';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +@aryA = $sthA->fetchrow_array; +$CBHOLD_count = $aryA[0]; + if ($DB) {print "CALLBACK HOLD: $CBHOLD_count|$stmtA|\n";} +$sthA->finish(); + +if ($CBHOLD_count > 0) + { + $update_leads=''; + $cbc=0; + $cba=0; + $stmtA = "SELECT vicidial_callbacks.lead_id,recipient,campaign_id,vicidial_callbacks.list_id,gmt_offset_now,state FROM vicidial_callbacks,vicidial_list where callback_time <= '$now_date' and vicidial_callbacks.status='ACTIVE' and vicidial_callbacks.lead_id=vicidial_list.lead_id;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $lead_ids[$cbc] = $aryA[0]; + $recipient = $aryA[1]; + $update_leads .= "'$lead_ids[$cbc]',"; + if ($recipient =~ /ANYONE/) + { + $CA_lead_id[$cba] = $aryA[0]; + $CA_campaign_id[$cba] = $aryA[2]; + $CA_list_id[$cba] = $aryA[3]; + $CA_gmt_offset_now[$cba] = $aryA[4]; + $CA_state[$cba] = $aryA[5]; + $cba++; + } + $cbc++; + } + $sthA->finish(); + if ($cbc > 0) + { + chop($update_leads); + + $stmtA = "UPDATE vicidial_callbacks set status='LIVE' where lead_id IN($update_leads) and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + $affected_rows = $dbhA->do($stmtA); + if ($DB) {print "Scheduled Callbacks Activated: $affected_rows\n";} + $event_string = "|CALLBACKS CB ACT |$affected_rows|"; + &event_logger; + + } + ### INSERT ANYONE CALLBACKS INTO HOPPER DIRECTLY ### + if ( ($cba > 0) && ($insert_auto_CB_to_hopper) ) + { + if ($DB) {print "ANYONE Scheduled Callbacks to Insert into hopper: $cba\n";} + $event_string = "|ANYONE CB HOPPER |$cba|"; + &event_logger; + $CAu=0; + foreach(@CA_lead_id) + { + $stmtA = "UPDATE vicidial_list set status='CALLBK', called_since_last_reset='N' where lead_id='$CA_lead_id[$CAu]';"; + $affected_rows = $dbhA->do($stmtA); + if ($DB) {print "Scheduled Callbacks Activated: $affected_rows\n";} + $event_string = "|CALLBACKS LISTACT|$affected_rows|"; + &event_logger; + + $stmtA = "INSERT INTO $vicidial_hopper SET lead_id='$CA_lead_id[$CAu]',campaign_id='$CA_campaign_id[$CAu]',list_id='$CA_list_id[$CAu]',gmt_offset_now='$CA_gmt_offset_now[$CAu]',user='',state='$CA_state[$CAu]',priority='50';"; + $affected_rows = $dbhA->do($stmtA); + if ($DB) {print "ANYONE Scheduled Callback Inserted into hopper: $affected_rows|$CA_lead_id[$CAu]\n";} + $CAu++; + } + } + } +### END Change CBHOLD status leads to CALLBK if their vicidial_callbacks time has passed + + +@campaign_id=@MT; + +if ($CLIcampaign) + { + $stmtA = "SELECT * from vicidial_campaigns where campaign_id='$CLIcampaign'"; + } +else + { + $stmtA = "SELECT * from vicidial_campaigns where active='Y'"; + } +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $campaign_id[$rec_count] = "$aryA[0]"; + $lead_order[$rec_count] = "$aryA[8]"; + if (!$CLIlevel) + {$hopper_level[$rec_count] = "$aryA[13]";} + else + {$hopper_level[$rec_count] = "$CLIlevel";} + $auto_dial_level[$rec_count] = "$aryA[14]"; + $local_call_time[$rec_count] = "$aryA[16]"; + $lead_filter_id[$rec_count] = "$aryA[35]"; + $use_internal_dnc[$rec_count] = "$aryA[43]"; + $dial_method[$rec_count] = $aryA[46]; + $available_only_ratio_tally[$rec_count] = $aryA[47]; + $adaptive_dropped_percentage[$rec_count] = $aryA[48]; + $adaptive_maximum_level[$rec_count] = $aryA[49]; + $dial_statuses[$rec_count] = $aryA[61]; + $use_campaign_dnc[$rec_count] = $aryA[95]; + + $rec_count++; + } +$sthA->finish(); +if ($DB) {print "CAMPAIGNS TO PROCESSES HOPPER FOR: $rec_count|$#campaign_id\n";} + + +##### LOOP THROUGH EACH CAMPAIGN AND PROCESS THE HOPPER ##### +$i=0; +foreach(@campaign_id) + { + ### BEGIN - GATHER STATS FOR THE vicidial_campaign_stats TABLE ### + $vicidial_log = 'vicidial_log'; + $VCSdialable_leads[$i]=0; + + $dial_statuses[$i] =~ s/ -$//gi; + @Dstatuses = split(/ /,$dial_statuses[$i]); + $Ds_to_print = (($#Dstatuses) + 0); + $STATUSsql[$i]=''; + $o=0; + while ($Ds_to_print > $o) + { + $o++; + $STATUSsql[$i] .= "'$Dstatuses[$o]',"; + } + if (length($STATUSsql[$i])<3) {$STATUSsql[$i]="''";} + else {chop($STATUSsql[$i]);} + + $stmtA = "SELECT dialable_leads from vicidial_campaign_stats where campaign_id='$campaign_id[$i]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCSdialable_leads[$i] = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + ### END - GATHER STATS FOR THE vicidial_campaign_stats TABLE ### + + ##### BEGIN calculate what gmt_offset_now values are within the allowed local_call_time setting ### + $g=0; + $p='13'; + $GMT_gmt[0] = ''; + $GMT_hour[0] = ''; + $GMT_day[0] = ''; + if ($DBX) {print "\n |GMT-DAY-HOUR| ";} + while ($p > -13) + { + $pzone = ($GMT_now + ($p * 3600)); + ($psec,$pmin,$phour,$pmday,$pmon,$pyear,$pday,$pyday,$pisdst) = localtime($pzone); + $phour=($phour * 100); + $tz = sprintf("%.2f", $p); + $GMT_gmt[$g] = "$tz"; + $GMT_day[$g] = "$pday"; + $GMT_hour[$g] = ($phour + $pmin); + $p = ($p - 0.25); + if ($DBX) {print "|$GMT_gmt[$g]-$GMT_day[$g]-$GMT_hour[$g]|";} + $g++; + } + if ($DBX) {print "\n";} + + $stmtA = "SELECT * FROM vicidial_call_times where call_time_id='$local_call_time[$i]';"; + if ($DBX) {print " |$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $Gct_default_start = "$aryA[3]"; + $Gct_default_stop = "$aryA[4]"; + $Gct_sunday_start = "$aryA[5]"; + $Gct_sunday_stop = "$aryA[6]"; + $Gct_monday_start = "$aryA[7]"; + $Gct_monday_stop = "$aryA[8]"; + $Gct_tuesday_start = "$aryA[9]"; + $Gct_tuesday_stop = "$aryA[10]"; + $Gct_wednesday_start = "$aryA[11]"; + $Gct_wednesday_stop = "$aryA[12]"; + $Gct_thursday_start = "$aryA[13]"; + $Gct_thursday_stop = "$aryA[14]"; + $Gct_friday_start = "$aryA[15]"; + $Gct_friday_stop = "$aryA[16]"; + $Gct_saturday_start = "$aryA[17]"; + $Gct_saturday_stop = "$aryA[18]"; + $Gct_state_call_times = "$aryA[19]"; + $rec_count++; + } + $sthA->finish(); + + + ### BEGIN For lead recycling find out the no-call gap time and begin dial time for today + $lct_gap=0; # number of seconds from stopping of calling to starting of calling based on local call time + $lct_begin=0; # hour and minute of the begin time for the local call time + $lct_end=0; # hour and minute of the end time for the local call time + + $secYESTERDAY = ($secX - (24 * 3600)); + ($ksec,$kmin,$khour,$kmday,$kmon,$kyear,$wyesterday,$kyday,$kisdst) = localtime($secYESTERDAY); + + if ($wtoday < 1) #### Sunday local time + { + if (($Gct_sunday_start < 1) && ($Gct_sunday_stop < 1)) {$lct_begin = $Gct_default_start;} + else {$lct_begin = $Gct_sunday_start;} + } + if ($wtoday==1) #### Monday local time + { + if (($Gct_monday_start < 1) && ($Gct_monday_stop < 1)) {$lct_begin = $Gct_default_start;} + else {$lct_begin = $Gct_monday_start;} + } + if ($wtoday==2) #### Tuesday local time + { + if (($Gct_tuesday_start < 1) && ($Gct_tuesday_stop < 1)) {$lct_begin = $Gct_default_start;} + else {$lct_begin = $Gct_tuesday_start;} + } + if ($wtoday==3) #### Wednesday local time + { + if (($Gct_wednesday_start < 1) && ($Gct_wednesday_stop < 1)) {$lct_begin = $Gct_default_start;} + else {$lct_begin = $Gct_wednesday_start;} + } + if ($wtoday==4) #### Thursday local time + { + if (($Gct_thursday_start < 1) && ($Gct_thursday_stop < 1)) {$lct_begin = $Gct_default_start;} + else {$lct_begin = $Gct_thursday_start;} + } + if ($wtoday==5) #### Friday local time + { + if (($Gct_friday_start < 1) && ($Gct_friday_stop < 1)) {$lct_begin = $Gct_default_start;} + else {$lct_begin = $Gct_friday_start;} + } + if ($wtoday==6) #### Saturday local time + { + if (($Gct_saturday_start < 1) && ($Gct_saturday_stop < 1)) {$lct_begin = $Gct_default_start;} + else {$lct_begin = $Gct_saturday_start;} + } + + + $dayBACKsec=0; + $weekBACK=0; + while ( ($lct_end < 1) && ($weekBACK <= 1) ) + { + if ($wyesterday==6) #### Saturday local time + { + if ($Gct_saturday_start > 2399) {$wyesterday = 0; $dayBACKsec = ($dayBACKsec + 86400); if ($DBX) {print "DayBACK: $wyesterday\n";}} + else + { + if (($Gct_saturday_start < 1) && ($Gct_saturday_stop < 1)) {$lct_end = $Gct_default_stop;} + else {$lct_end = $Gct_saturday_stop;} + } + } + if ($wyesterday==5) #### Friday local time + { + if ($Gct_friday_start > 2399) {$wyesterday = 1; $dayBACKsec = ($dayBACKsec + 86400); if ($DBX) {print "DayBACK: $wyesterday\n";}} + else + { + if (($Gct_friday_start < 1) && ($Gct_friday_stop < 1)) {$lct_end = $Gct_default_stop;} + else {$lct_end = $Gct_friday_stop;} + } + } + if ($wyesterday==4) #### Thursday local time + { + if ($Gct_thursday_start > 2399) {$wyesterday = 2; $dayBACKsec = ($dayBACKsec + 86400); if ($DBX) {print "DayBACK: $wyesterday\n";}} + else + { + if (($Gct_thursday_start < 1) && ($Gct_thursday_stop < 1)) {$lct_end = $Gct_default_stop;} + else {$lct_end = $Gct_thursday_stop;} + } + } + if ($wyesterday==3) #### Wednesday local time + { + if ($Gct_wednesday_start > 2399) {$wyesterday = 3; $dayBACKsec = ($dayBACKsec + 86400); if ($DBX) {print "DayBACK: $wyesterday\n";}} + else + { + if (($Gct_wednesday_start < 1) && ($Gct_wednesday_stop < 1)) {$lct_end = $Gct_default_stop;} + else {$lct_end = $Gct_wednesday_stop;} + } + } + if ($wyesterday==2) #### Tuesday local time + { + if ($Gct_tuesday_start > 2399) {$wyesterday = 4; $dayBACKsec = ($dayBACKsec + 86400); if ($DBX) {print "DayBACK: $wyesterday\n";}} + else + { + if (($Gct_tuesday_start < 1) && ($Gct_tuesday_stop < 1)) {$lct_end = $Gct_default_stop;} + else {$lct_end = $Gct_tuesday_stop;} + } + } + if ($wyesterday==1) #### Monday local time + { + if ($Gct_monday_start > 2399) {$wyesterday = 5; $dayBACKsec = ($dayBACKsec + 86400); if ($DBX) {print "DayBACK: $wyesterday\n";}} + else + { + if (($Gct_monday_start < 1) && ($Gct_monday_stop < 1)) {$lct_end = $Gct_default_stop;} + else {$lct_end = $Gct_monday_stop;} + } + } + if ($wyesterday==0) #### Sunday local time + { + if ($Gct_sunday_start > 2399) {$wyesterday = 6; $dayBACKsec = ($dayBACKsec + 86400); if ($DBX) {print "DayBACK: $wyesterday\n";}} + else + { + if (($Gct_sunday_start < 1) && ($Gct_sunday_stop < 1)) {$lct_end = $Gct_default_stop;} + else {$lct_end = $Gct_sunday_stop;} + } + } + $weekBACK++; + } + + $lct_end = sprintf("%04d", $lct_end); + $lct_end_hour = substr($lct_end, 0, 2); + $lct_end_min = substr($lct_end, 2, 2); + $lct_begin = sprintf("%04d", $lct_begin); + $lct_begin_hour = substr($lct_begin, 0, 2); + $lct_begin_min = substr($lct_begin, 2, 2); + + $lct_gap = ( ( ( ( ( (24 - $lct_end_hour) + $lct_begin_hour) * 3600) + ($lct_begin_min * 60) ) - ($lct_end_min * 60) ) + $dayBACKsec); + + if ($DBX) {print "LocalCallTime No-Call Gap: |$lct_gap|$lct_end($lct_end_hour $lct_end_min)|$lct_begin($lct_begin_hour $lct_begin_min)|$wtoday|$wyesterday|\n";} + + ### END For lead recycling find out the no-call gap time and begin dial time for today + + + $ct_states = ''; + $ct_state_gmt_SQL = ''; + $del_state_gmt_SQL = ''; + $ct_srs=0; + $b=0; + if (length($Gct_state_call_times)>2) + { + @state_rules = split(/\|/,$Gct_state_call_times); + $ct_srs = ($#state_rules - 2); + } + while($ct_srs >= $b) + { + if (length($state_rules[$b])>1) + { + $stmtA = "SELECT * from vicidial_state_call_times where state_call_time_id='$state_rules[$b]';"; + if ($DBX) {print " |$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $Gstate_call_time_id = "$aryA[0]"; + $Gstate_call_time_state = "$aryA[1]"; + $Gsct_default_start = "$aryA[4]"; + $Gsct_default_stop = "$aryA[5]"; + $Gsct_sunday_start = "$aryA[6]"; + $Gsct_sunday_stop = "$aryA[7]"; + $Gsct_monday_start = "$aryA[8]"; + $Gsct_monday_stop = "$aryA[9]"; + $Gsct_tuesday_start = "$aryA[10]"; + $Gsct_tuesday_stop = "$aryA[11]"; + $Gsct_wednesday_start = "$aryA[12]"; + $Gsct_wednesday_stop = "$aryA[13]"; + $Gsct_thursday_start = "$aryA[14]"; + $Gsct_thursday_stop = "$aryA[15]"; + $Gsct_friday_start = "$aryA[16]"; + $Gsct_friday_stop = "$aryA[17]"; + $Gsct_saturday_start = "$aryA[18]"; + $Gsct_saturday_stop = "$aryA[19]"; + $ct_states .="'$Gstate_call_time_state',"; + $rec_count++; + } + $sthA->finish(); + + $r=0; + $state_gmt=''; + $del_state_gmt=''; + while($r < $g) + { + if ($GMT_day[$r]==0) #### Sunday local time + { + if (($Gsct_sunday_start==0) && ($Gsct_sunday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) && ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_sunday_start) && ($GMT_hour[$r]<$Gsct_sunday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==1) #### Monday local time + { + if (($Gsct_monday_start==0) && ($Gsct_monday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) && ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_monday_start) && ($GMT_hour[$r]<$Gsct_monday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==2) #### Tuesday local time + { + if (($Gsct_tuesday_start==0) && ($Gsct_tuesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) && ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_tuesday_start) && ($GMT_hour[$r]<$Gsct_tuesday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==3) #### Wednesday local time + { + if (($Gsct_wednesday_start==0) && ($Gsct_wednesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) && ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_wednesday_start) && ($GMT_hour[$r]<$Gsct_wednesday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==4) #### Thursday local time + { + if (($Gsct_thursday_start==0) && ($Gsct_thursday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) && ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_thursday_start) && ($GMT_hour[$r]<$Gsct_thursday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==5) #### Friday local time + { + if (($Gsct_friday_start==0) && ($Gsct_friday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) && ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_friday_start) && ($GMT_hour[$r]<$Gsct_friday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==6) #### Saturday local time + { + if (($Gsct_saturday_start==0) && ($Gsct_saturday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) && ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_saturday_start) && ($GMT_hour[$r]<$Gsct_saturday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + } + $r++; + } + $state_gmt = "$state_gmt'99'"; + $del_state_gmt = "$del_state_gmt'99'"; + $ct_state_gmt_SQL .= "or (state='$Gstate_call_time_state' && gmt_offset_now IN($state_gmt)) "; + $del_state_gmt_SQL .= "or (state='$Gstate_call_time_state' && gmt_offset_now IN($del_state_gmt)) "; + } + + $b++; + } + if (length($ct_states)>2) + { + $ct_states =~ s/,$//gi; + $ct_statesSQL = "and state NOT IN($ct_states)"; + } + else + { + $ct_statesSQL = ""; + } + + $r=0; + @default_gmt_ARY=@MT; + $dgA=0; + $default_gmt=''; + $del_default_gmt=''; + while($r < $g) + { + if ($GMT_day[$r]==0) #### Sunday local time + { + if (($Gct_sunday_start==0) && ($Gct_sunday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) && ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_sunday_start) && ($GMT_hour[$r]<$Gct_sunday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==1) #### Monday local time + { + if (($Gct_monday_start==0) && ($Gct_monday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) && ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_monday_start) && ($GMT_hour[$r]<$Gct_monday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==2) #### Tuesday local time + { + if (($Gct_tuesday_start==0) && ($Gct_tuesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) && ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_tuesday_start) && ($GMT_hour[$r]<$Gct_tuesday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==3) #### Wednesday local time + { + if (($Gct_wednesday_start==0) && ($Gct_wednesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) && ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_wednesday_start) && ($GMT_hour[$r]<$Gct_wednesday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==4) #### Thursday local time + { + if (($Gct_thursday_start==0) && ($Gct_thursday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) && ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_thursday_start) && ($GMT_hour[$r]<$Gct_thursday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==5) #### Friday local time + { + if (($Gct_friday_start==0) && ($Gct_friday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) && ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_friday_start) && ($GMT_hour[$r]<$Gct_friday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==6) #### Saturday local time + { + if (($Gct_saturday_start==0) && ($Gct_saturday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) && ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_saturday_start) && ($GMT_hour[$r]<$Gct_saturday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + } + $r++; + } + + $default_gmt = "$default_gmt'99'"; + $del_default_gmt = "$del_default_gmt'99'"; + $all_gmtSQL[$i] = "(gmt_offset_now IN($default_gmt) $ct_statesSQL) $ct_state_gmt_SQL"; + $del_gmtSQL[$i] = "(gmt_offset_now IN($del_default_gmt) $ct_statesSQL) $del_state_gmt_SQL"; + + ##### END calculate what gmt_offset_now values are within the allowed local_call_time setting ### + + ##### BEGIN lead recycling parsing and prep ### + + $stmtA = "SELECT * from vicidial_lead_recycle where campaign_id='$campaign_id[$i]' and active='Y';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @recycle_status=@MT; + @recycle_delay=@MT; + @recycle_maximum=@MT; + @RSQLdate=@MT; + $r_ct=0; + $rec_ct[$i]=0; + while ($sthArows > $r_ct) + { + @aryA = $sthA->fetchrow_array; + $recycle_status[$r_ct] = "$aryA[2]"; + $recycle_delay[$r_ct] = "$aryA[3]"; + $recycle_maximum[$r_ct] = "$aryA[4]"; + $r_ct++; + $rec_ct[$i]++; + } + $sthA->finish(); + + if ($rec_ct[$i] > 0) + { + $rc=0; + $recycle_SQL[$i] = "( "; + while($rc < $rec_ct[$i]) + { + $Y=1; + $recycle_Y = "'Y'"; + while ($Y < $recycle_maximum[$rc]) + { + $recycle_Y .= ",'Y$Y'"; + $Y++; + } + + if ($rc > 0) {$recycle_SQL[$i] .= " or ";} + + $recycle_SQL[$i] .= "( (called_since_last_reset IN($recycle_Y)) and (status='$recycle_status[$rc]') and ("; + + $dgA=0; + foreach(@default_gmt_ARY) + { + $secX = time(); + $LLCT_DATE_offset = ($LOCAL_GMT_OFF - $default_gmt_ARY[$dgA]); + $LLCT_DATE_offset_epoch = ( $secX - ($LLCT_DATE_offset * 3600) ); + $Rtarget = ($LLCT_DATE_offset_epoch - $recycle_delay[$rc]); + ($Rsec,$Rmin,$Rhour,$Rmday,$Rmon,$Ryear,$Rwday,$Ryday,$Risdst) = localtime($Rtarget); + $Ryear = ($Ryear + 1900); + $Rmon++; + if ($Rmon < 10) {$Rmon = "0$Rmon";} + if ($Rmday < 10) {$Rmday = "0$Rmday";} + if ($Rhour < 10) {$Rhour = "0$Rhour";} + if ($Rmin < 10) {$Rmin = "0$Rmin";} + if ($Rsec < 10) {$Rsec = "0$Rsec";} + $Rhourmin = "$Rhour$Rmin"; + if ( ($Rhourmin < $lct_begin) || ($Rhourmin > $lct_end) ) + { + $RGtarget = ($Rtarget - $lct_gap); + ($Rsec,$Rmin,$Rhour,$Rmday,$Rmon,$Ryear,$Rwday,$Ryday,$Risdst) = localtime($RGtarget); + $Ryear = ($Ryear + 1900); + $Rmon++; + if ($Rmon < 10) {$Rmon = "0$Rmon";} + if ($Rmday < 10) {$Rmday = "0$Rmday";} + if ($Rhour < 10) {$Rhour = "0$Rhour";} + if ($Rmin < 10) {$Rmin = "0$Rmin";} + if ($Rsec < 10) {$Rsec = "0$Rsec";} + if ($DBX) {print "RECYCLE DELAY GAP: |$campaign_id[$i]|$Rhourmin|$RGtarget|Rtarget|($recycle_delay[$rc] $lct_gap)\n";} + } + $RSQLdate[$rc] = "$Ryear-$Rmon-$Rmday $Rhour:$Rmin:$Rsec"; + + if ($dgA > 0) {$recycle_SQL[$i] .= " or ";} + + $recycle_SQL[$i] .= "( (gmt_offset_now='$default_gmt_ARY[$dgA]') and (last_local_call_time < \"$RSQLdate[$rc]\") )"; + + $dgA++; + } + if ($DBX) {print "RECYCLE: |$campaign_id[$i]|$recycle_status[$rc]|$recycle_delay[$rc]|$recycle_maximum[$rc]|$RSQLdate[$rc]|\n";} + + $recycle_SQL[$i] .= " ) )"; + + $rc++; + } + + $recycle_SQL[$i] .= " )"; + + if ($DBX) {print "RECYCLE SQL: |$recycle_SQL[$i]|\n";} + } + ##### END lead recycling parsing and prep ### + + if ($DB) {print "Starting hopper run for $campaign_id[$i] campaign- GMT: $local_call_time[$i] HOPPER: $hopper_level[$i] ORDER: $lead_order[$i]\n";} + + ### Delete the DONE leads if there are any + $stmtA = "DELETE from $vicidial_hopper where campaign_id='$campaign_id[$i]' and status IN('DONE');"; + $affected_rows = $dbhA->do($stmtA); + if ($DB) {print " hopper DONE cleared: $affected_rows\n";} + if ($DBX) {print " |$stmtA|\n";} + + ### Delete the leads that are out of GMT time range if there are any + $stmtA = "DELETE from $vicidial_hopper where campaign_id='$campaign_id[$i]' and ($del_gmtSQL[$i]);"; + $affected_rows = $dbhA->do($stmtA); + if ($DB) {print " hopper GMT BAD cleared: $affected_rows\n";} + if ($DBX) {print " |$stmtA|\n";} + + ### Find out how many leads are in the hopper from a specific campaign + $hopper_ready_count=0; + $stmtA = "SELECT count(*) from $vicidial_hopper where campaign_id='$campaign_id[$i]' and status='READY';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $hopper_ready_count = $aryA[0]; + if ($DB) {print " hopper READY count: $hopper_ready_count\n";} + if ($DBX) {print " |$stmtA|\n";} + $rec_count++; + } + $sthA->finish(); + $event_string = "|$campaign_id[$i]|$hopper_level[$i]|$hopper_ready_count|$local_call_time[$i]||"; + &event_logger; + + ##### IF hopper level is below set minimum, then try to add more leads ##### + if ($hopper_ready_count < $hopper_level[$i]) + { + if ($DB) {print " hopper too low ($hopper_ready_count|$hopper_level[$i]) starting hopper dump\n";} + + ### Get list of the lists in the campaign ### + $stmtA = "SELECT list_id FROM vicidial_lists where campaign_id='$campaign_id[$i]' and active='Y';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countLISTS=0; + $camp_lists[$i] = ''; + while ($sthArows > $rec_countLISTS) + { + @aryA = $sthA->fetchrow_array; + $camp_lists[$i] .= "'$aryA[0]',"; + $rec_countLISTS++; + } + $sthA->finish(); + if (length($camp_lists[$i])<3) {$camp_lists[$i]="''";} + else {chop($camp_lists[$i]);} + + if ($DB) {print " campaign lists count: $rec_countLISTS | $camp_lists[$i]\n";} + if ($DBX) {print " |$stmtA|\n";} + + if ( ($lead_filter_id[$i] !~ /NONE/) && (length($lead_filter_id[$i])>0) ) + { + ### Get SQL of lead filter for the campaign ### + $stmtA = "SELECT lead_filter_sql FROM vicidial_lead_filters where lead_filter_id='$lead_filter_id[$i]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $lead_filter_sql[$i] = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + $lead_filter_sql[$i] =~ s/^and|and$|^or|or$|^ and|and $|^ or|or $//gi; + $lead_filter_sql[$i] = "and $lead_filter_sql[$i]"; + if ($DB) {print " campaign lists count: $rec_countLISTS | $camp_lists[$i]\n";} + if ($DB) {print " lead filter $lead_filter_id[$i] defined for $campaign_id[$i]\n";} + if ($DBX) {print " |$lead_filter_sql[$i]|\n";} + } + else + { + $lead_filter_sql[$i] = ''; + if ($DB) {print " no lead filter defined for campaign: $campaign_id[$i]\n";} + if ($DBX) {print " |$lead_filter_id[$i]|\n";} + } + + $stmtA = "SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN($STATUSsql[$i]) and list_id IN($camp_lists[$i]) and ($all_gmtSQL[$i]) $lead_filter_sql[$i];"; + if ($DBX) {print " |$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $campaign_leads_to_call[$i] = "$aryA[0]"; + if ($DB) {print " leads to call count: $campaign_leads_to_call[$i]\n";} + if ($DBX) {print " |$stmtA|\n";} + $rec_count++; + } + $sthA->finish(); + + if ($lead_order[$i] =~ / 2nd NEW$| 3rd NEW$| 4th NEW$| 5th NEW$| 6th NEW$/) + { + $stmtA = "SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN('NEW') and list_id IN($camp_lists[$i]) and ($all_gmtSQL[$i]) $lead_filter_sql[$i];"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $NEW_campaign_leads_to_call[$i] = "$aryA[0]"; + if ($DB) {print " NEW leads to call count: $NEW_campaign_leads_to_call[$i]\n";} + if ($DBX) {print " |$stmtA|\n";} + $rec_count++; + } + $sthA->finish(); + } + + ##### IF no NEW leads to be called, error out of this campaign ##### + if ( ($lead_order[$i] =~ / 2nd NEW$| 3rd NEW$| 4th NEW$| 5th NEW$| 6th NEW$/) && ($NEW_campaign_leads_to_call[$i] > 0) ) {$GOOD=1;} + else + { + if ($lead_order[$i] !~ / 2nd NEW$| 3rd NEW$| 4th NEW$| 5th NEW$| 6th NEW$/) + { + if ($DB) {print " NO SHUFFLE-NEW-LEADS INTO HOPPER DEFINED FOR LEAD ORDER\n";} + } + else + { + if ($DB) {print " ERROR CANNOT ADD ANY NEW LEADS TO HOPPER\n";} + } + } + + ##### IF no leads to be called, error out of this campaign ##### + if ( ($campaign_leads_to_call[$i] < 1) && ($rec_ct[$i] < 1) ) + { + if ($DB) {print " ERROR CANNOT ADD ANY LEADS TO HOPPER\n";} + if ($VCSdialable_leads[$i] > 0) + { + $stmtA = "UPDATE vicidial_campaign_stats SET dialable_leads='0' where campaign_id='$campaign_id[$i]';"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print "CAMPAIGN STATS: $affected_rows|$stmtA|\n";} + } + } + else + { + if ($VCSdialable_leads[$i] != $campaign_leads_to_call[$i]) + { + $stmtA = "UPDATE vicidial_campaign_stats SET dialable_leads='$campaign_leads_to_call[$i]' where campaign_id='$campaign_id[$i]';"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print "CAMPAIGN STATS: $affected_rows|$stmtA|\n";} + } + if ($DB) {print " Getting Leads to add to hopper\n";} + ### grab leads already in hopper so we don't duplicate + $stmtA = "SELECT lead_id FROM $vicidial_hopper where campaign_id='$campaign_id[$i]';"; + if ($DBX) {print " |$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $lead_id_lists = ''; + $rec_countLISTS=0; + while ($sthArows > $rec_countLISTS) + { + @aryA = $sthA->fetchrow_array; + $lead_id_lists .= "'$aryA[0]',"; + $rec_countLISTS++; + } + $sthA->finish(); + $lead_id_lists .= "'0'"; + $order_stmt=''; + $NEW_count = 0; + $NEW_level = 0; + $OTHER_level = $hopper_level[$i]; + if ($lead_order[$i] =~ /^DOWN/) {$order_stmt = 'order by lead_id asc';} + if ($lead_order[$i] =~ /^UP/) {$order_stmt = 'order by lead_id desc';} + if ($lead_order[$i] =~ /^UP LAST NAME/) {$order_stmt = 'order by last_name desc, lead_id asc';} + if ($lead_order[$i] =~ /^DOWN LAST NAME/) {$order_stmt = 'order by last_name, lead_id asc';} + if ($lead_order[$i] =~ /^UP PHONE/) {$order_stmt = 'order by phone_number desc, lead_id asc';} + if ($lead_order[$i] =~ /^DOWN PHONE/) {$order_stmt = 'order by phone_number, lead_id asc';} + if ($lead_order[$i] =~ /^UP COUNT/) {$order_stmt = 'order by called_count desc, lead_id asc';} + if ($lead_order[$i] =~ /^DOWN COUNT/) {$order_stmt = 'order by called_count, lead_id asc';} + if ($lead_order[$i] =~ / 2nd NEW$/) {$NEW_count = 2;} + if ($lead_order[$i] =~ / 3rd NEW$/) {$NEW_count = 3;} + if ($lead_order[$i] =~ / 4th NEW$/) {$NEW_count = 4;} + if ($lead_order[$i] =~ / 5th NEW$/) {$NEW_count = 5;} + if ($lead_order[$i] =~ / 6th NEW$/) {$NEW_count = 6;} + + ### BEGIN recycle grab leads ### + $REC_rec_countLEADS=0; + @REC_leads_to_hopper=@MT; + @REC_lists_to_hopper=@MT; + @REC_phone_to_hopper=@MT; + @REC_gmt_to_hopper=@MT; + @REC_state_to_hopper=@MT; + @REC_status_to_hopper=@MT; + @REC_modify_to_hopper=@MT; + @REC_user_to_hopper=@MT; + if ($rec_ct[$i] > 0) + { + if ($DB) {print " looking for RECYCLE leads, maximum of $hopper_level[$i]\n";} + + $stmtA = "SELECT lead_id,list_id,gmt_offset_now,phone_number,state,status,modify_date,user FROM vicidial_list where $recycle_SQL[$i] and list_id IN($camp_lists[$i]) and lead_id NOT IN($lead_id_lists) and ($all_gmtSQL[$i]) $lead_filter_sql[$i] limit $hopper_level[$i];"; + if ($DBX) {print " |$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($DB) {print " RECYCLE leads to call count: $sthArows\n";} + if ($DBX) {print " |$stmtA|\n";} + while ($sthArows > $REC_rec_countLEADS) + { + @aryA = $sthA->fetchrow_array; + $REC_leads_to_hopper[$REC_rec_countLEADS] = "$aryA[0]"; + $REC_lists_to_hopper[$REC_rec_countLEADS] = "$aryA[1]"; + $REC_gmt_to_hopper[$REC_rec_countLEADS] = "$aryA[2]"; + $REC_phone_to_hopper[$REC_rec_countLEADS] = "$aryA[3]"; + $REC_state_to_hopper[$REC_rec_countLEADS] = "$aryA[4]"; + $REC_status_to_hopper[$REC_rec_countLEADS] = "$aryA[5]"; + $REC_modify_to_hopper[$REC_rec_countLEADS] = "$aryA[6]"; + $REC_user_to_hopper[$REC_rec_countLEADS] = "$aryA[7]"; + if ($DB_show_offset) {print "LEAD_ADD: $aryA[2] $aryA[3] $aryA[4]\n";} + $REC_rec_countLEADS++; + } + $sthA->finish(); + } + else + { + if ($DB) {print " NO RECYCLE-LEADS INTO HOPPER DEFINED\n";} + } + ### END recycle grab leads ### + + + ### BEGIN NEW grab leads ### + $NEW_rec_countLEADS=0; + @NEW_leads_to_hopper=@MT; + @NEW_lists_to_hopper=@MT; + @NEW_phone_to_hopper=@MT; + @NEW_gmt_to_hopper=@MT; + @NEW_state_to_hopper=@MT; + @NEW_status_to_hopper=@MT; + @NEW_modify_to_hopper=@MT; + @NEW_user_to_hopper=@MT; + if ($NEW_count > 0) + { + $NEW_level = int($hopper_level[$i] / $NEW_count); + $OTHER_level = ($hopper_level[$i] - $NEW_level); + # $order_stmt = 'order by called_count, lead_id asc'; + if ($DB) {print " looking for $NEW_level NEW leads mixed in with $OTHER_level other leads\n";} + + $stmtA = "SELECT lead_id,list_id,gmt_offset_now,phone_number,state,status,modify_date,user FROM vicidial_list where called_since_last_reset='N' and status IN('NEW') and list_id IN($camp_lists[$i]) and lead_id NOT IN($lead_id_lists) and ($all_gmtSQL[$i]) $lead_filter_sql[$i] $order_stmt limit $NEW_level;"; + if ($DBX) {print " |$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + while ($sthArows > $NEW_rec_countLEADS) + { + @aryA = $sthA->fetchrow_array; + $NEW_leads_to_hopper[$NEW_rec_countLEADS] = "$aryA[0]"; + $NEW_lists_to_hopper[$NEW_rec_countLEADS] = "$aryA[1]"; + $NEW_gmt_to_hopper[$NEW_rec_countLEADS] = "$aryA[2]"; + $NEW_phone_to_hopper[$NEW_rec_countLEADS] = "$aryA[3]"; + $NEW_state_to_hopper[$NEW_rec_countLEADS] = "$aryA[4]"; + $NEW_status_to_hopper[$NEW_rec_countLEADS] = "$aryA[5]"; + $NEW_modify_to_hopper[$NEW_rec_countLEADS] = "$aryA[6]"; + $NEW_user_to_hopper[$NEW_rec_countLEADS] = "$aryA[7]"; + if ($DB_show_offset) {print "LEAD_ADD: $aryA[2] $aryA[3] $aryA[4]\n";} + $NEW_rec_countLEADS++; + } + $OTHER_level = ($hopper_level[$i] - $NEW_rec_countLEADS); + $sthA->finish(); + } + + ### BEGIN standard grab leads ### + $rec_countLEADS=0; + $NEW_dec=99; + $NEW_in=0; + $rec_count=0; + $REC_insert_count=0; + @leads_to_hopper=@MT; + @lists_to_hopper=@MT; + @gmt_to_hopper=@MT; + @state_to_hopper=@MT; + @phone_to_hopper=@MT; + @status_to_hopper=@MT; + @modify_to_hopper=@MT; + @user_to_hopper=@MT; + if ($campaign_leads_to_call[$i] > 0) + { + if ($DB) {print " lead call order: $order_stmt\n";} + $stmtA = "SELECT lead_id,list_id,gmt_offset_now,phone_number,state,status,modify_date,user FROM vicidial_list where called_since_last_reset='N' and status IN($STATUSsql[$i]) and list_id IN($camp_lists[$i]) and lead_id NOT IN($lead_id_lists) and ($all_gmtSQL[$i]) $lead_filter_sql[$i] $order_stmt limit $OTHER_level;"; + if ($DBX) {print " |$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + if ( ($NEW_count > 0) && ($NEW_rec_countLEADS > $NEW_in) ) + { + if ($DB_show_offset) {print "NEW_COUNT: $NEW_count|$NEW_dec|$NEW_in|$NEW_rec_countLEADS\n";} + if ($NEW_count > $NEW_dec) + { + $NEW_dec++; + } + else + { + $leads_to_hopper[$rec_countLEADS] = "$NEW_leads_to_hopper[$NEW_in]"; + $lists_to_hopper[$rec_countLEADS] = "$NEW_lists_to_hopper[$NEW_in]"; + $gmt_to_hopper[$rec_countLEADS] = "$NEW_gmt_to_hopper[$NEW_in]"; + $state_to_hopper[$rec_countLEADS] = "$NEW_state_to_hopper[$NEW_in]"; + $phone_to_hopper[$rec_countLEADS] = "$NEW_phone_to_hopper[$NEW_in]"; + $status_to_hopper[$rec_countLEADS] = "$NEW_status_to_hopper[$NEW_in]"; + $modify_to_hopper[$rec_countLEADS] = "$NEW_modify_to_hopper[$NEW_in]"; + $user_to_hopper[$rec_countLEADS] = "$NEW_user_to_hopper[$NEW_in]"; + if ($DB_show_offset) {print "LEAD_ADD: $NEW_leads_to_hopper[$NEW_in] $NEW_phone_to_hopper[$NEW_in]\n";} + $rec_countLEADS++; + $NEW_in++; + $NEW_dec=2; + } + } + if ($REC_rec_countLEADS > $REC_insert_count) + { + $leads_to_hopper[$rec_countLEADS] = "$REC_leads_to_hopper[$REC_insert_count]"; + $lists_to_hopper[$rec_countLEADS] = "$REC_lists_to_hopper[$REC_insert_count]"; + $gmt_to_hopper[$rec_countLEADS] = "$REC_gmt_to_hopper[$REC_insert_count]"; + $state_to_hopper[$rec_countLEADS] = "$REC_state_to_hopper[$REC_insert_count]"; + $phone_to_hopper[$rec_countLEADS] = "$REC_phone_to_hopper[$REC_insert_count]"; + $status_to_hopper[$rec_countLEADS] = "$REC_status_to_hopper[$REC_insert_count]"; + $modify_to_hopper[$rec_countLEADS] = "$REC_modify_to_hopper[$REC_insert_count]"; + $user_to_hopper[$rec_countLEADS] = "$REC_user_to_hopper[$REC_insert_count]"; + $rec_countLEADS++; + $REC_insert_count++; + } + $leads_to_hopper[$rec_countLEADS] = "$aryA[0]"; + $lists_to_hopper[$rec_countLEADS] = "$aryA[1]"; + $gmt_to_hopper[$rec_countLEADS] = "$aryA[2]"; + $state_to_hopper[$rec_countLEADS] = "$aryA[4]"; + $phone_to_hopper[$rec_countLEADS] = "$aryA[3]"; + $status_to_hopper[$rec_countLEADS] = "$aryA[5]"; + $modify_to_hopper[$rec_countLEADS] = "$aryA[6]"; + $user_to_hopper[$rec_countLEADS] = "$aryA[7]"; + if ($DB_show_offset) {print "LEAD_ADD: $aryA[2] $aryA[3] $aryA[4]\n";} + $rec_countLEADS++; + $rec_count++; + } + $sthA->finish(); + } + ### finish inserting any recycled leads if any + while ($REC_rec_countLEADS > $REC_insert_count) + { + $leads_to_hopper[$rec_countLEADS] = "$REC_leads_to_hopper[$REC_insert_count]"; + $lists_to_hopper[$rec_countLEADS] = "$REC_lists_to_hopper[$REC_insert_count]"; + $gmt_to_hopper[$rec_countLEADS] = "$REC_gmt_to_hopper[$REC_insert_count]"; + $state_to_hopper[$rec_countLEADS] = "$REC_state_to_hopper[$REC_insert_count]"; + $phone_to_hopper[$rec_countLEADS] = "$REC_phone_to_hopper[$REC_insert_count]"; + $status_to_hopper[$rec_countLEADS] = "$REC_status_to_hopper[$REC_insert_count]"; + $modify_to_hopper[$rec_countLEADS] = "$REC_modify_to_hopper[$REC_insert_count]"; + $user_to_hopper[$rec_countLEADS] = "$REC_user_to_hopper[$REC_insert_count]"; + $rec_countLEADS++; + $REC_insert_count++; + } + + if ($DB) {print " Adding to hopper: $rec_countLEADS\n";} + $event_string = "|$campaign_id[$i]|Added to hopper $rec_countLEADS|"; + &event_logger; + + $h=0; + foreach(@leads_to_hopper) + { + if ($leads_to_hopper[$h] != '0') + { + $DNClead=0; + if ($use_internal_dnc[$i] =~ /Y/) + { + if ($DB) {print " Doing DNC Check: $phone_to_hopper[$h] - $use_internal_dnc[$i]\n";} + $stmtA = "SELECT count(*) from vicidial_dnc where phone_number='$phone_to_hopper[$h]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DNClead = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + if ($DNClead != '0') + { + $stmtA = "UPDATE vicidial_list SET status='DNCL' where lead_id='$leads_to_hopper[$h]';"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print "Flagging DNC lead: $affected_rows $phone_to_hopper[$h]\n";} + } + } + if ( ($use_campaign_dnc[$i] =~ /Y/) && ($DNClead == '0') ) + { + if ($DB) {print "Doing CAMP DNC Check: $phone_to_hopper[$h] - $use_campaign_dnc[$i]\n";} + $stmtA = "SELECT count(*) from vicidial_campaign_dnc where phone_number='$phone_to_hopper[$h]' and campaign_id='$campaign_id[$i]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DNClead = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + if ($DNClead != '0') + { + $stmtA = "UPDATE vicidial_list SET status='DNCC' where lead_id='$leads_to_hopper[$h]';"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print "Flagging DNC lead: $affected_rows $phone_to_hopper[$h] $campaign_id[$i]\n";} + } + } + if ($DNClead == '0') + { + $stmtA = "INSERT INTO $vicidial_hopper (lead_id,campaign_id,status,user,list_id,gmt_offset_now,state,priority) values('$leads_to_hopper[$h]','$campaign_id[$i]','READY','','$lists_to_hopper[$h]','$gmt_to_hopper[$h]','$state_to_hopper[$h]','0');"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print "LEAD INSERTED: $affected_rows|$leads_to_hopper[$h]|\n";} + if ($DB_detail) + { + $detail_string = "|$campaign_id[$i]|$leads_to_hopper[$h]|$phone_to_hopper[$h]|$state_to_hopper[$h]|$gmt_to_hopper[$h]|$status_to_hopper[$h]|$modify_to_hopper[$h]|$user_to_hopper[$h]|"; + &detail_logger; + } + } + } + $h++; + } + if ($DB) {print " DONE with this campaign\n";} + + } + } + + + $i++; + } + + +$dbhA->disconnect(); + +if($DB) +{ +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secT); + +if (!$q) {print "DONE. Script execution time in seconds: $secZ\n";} +} + +exit; + + + +sub event_logger +{ +if ($SYSLOG) + { + ### open the log file for writing ### + open(Lout, ">>$VDHLOGfile") + || die "Can't open $VDHLOGfile: $!\n"; + print Lout "$now_date|$event_string|\n"; + close(Lout); + } +$event_string=''; +} + +sub detail_logger +{ +if ($SYSLOG) + { + ### open the log file for writing ### + open(LDout, ">>$VDHDLOGfile") + || die "Can't open $VDHDLOGfile: $!\n"; + print LDout "$now_date|$detail_string|\n"; + close(LDout); + } +$detail_string=''; +} + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_VDhopper_MIXtest.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_VDhopper_MIXtest.pl new file mode 100644 index 00000000..b3e7ef11 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_VDhopper_MIXtest.pl @@ -0,0 +1,1659 @@ +#!/usr/bin/perl +# +# AST_VDhopper.pl version 2.0.5 *TEST List Mix version* +# +# DESCRIPTION: +# uses DBD::MySQL to update the VICIDIAL leads hopper for the streamlined +# approach of allocating leads to client machines. +# +# SUMMARY: +# This program was designed for people using the Asterisk PBX with VICIDIAL +# +# For the client to use VICIDIAL, this program must be in the cron running +# every minute +# +# For this program to work you need to have the "asterisk" MySQL database +# created and create the tables listed in the CONF_MySQL.txt file, also make sure +# that the machine running this program has read/write/update/delete access +# to that database +# +# It is recommended that you run this program on the local Asterisk machine +# +# If this script is run ever minute and you are getting close to no leads after +# a minute, you may want to play with the variables below to streamline for +# your usage +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGELOG +# 50810-1613 - Added database server variable definitions lookup +# 60215-1106 - Added Scheduled Callback release functionality +# 60228-1623 - Change Callback activation to set the called_since_last_reset=N +# 60228-1735 - Added hopper gmt validation to remove gmt outside of time range +# 60320-0932 - Added inactive lead list hopper deletion (Thanks Vic Jolin) +# 60322-1030 - Added super debug output +# 60418-0947 - Added lead filter per campaign +# 60509-1416 - Rewrite of local_call_time functions +# 60511-1150 - Added inserts into vicidial_campaign_stats table +# 60609-1451 - Added ability to filter by DNC list vicidial_dnc +# 60614-1159 - Added campaign lead recycling ability +# 60715-2251 - Changed to use /etc/astguiclient.conf for configs +# 60801-1634 - Fixed Callback activation bug 000008 +# 60814-1720 - Added option for no logging to file +# 60822-1527 - Added campaign_stats and logging options for adaptive dialing +# 60925-1330 - Fixed recycling leads issues +# 61110-1513 - Changed Xth NEW to fill to hopper_level with standard if not enough NEW +# 70219-1247 - Changed to use dial_statuses field instead of dial_status_x fields +# 70708-1218 - Start of List-Mix-aware version of the hopper script +# 70709-2033 - Functional Beta of List-Mix-aware version of the hopper script +# 71029-1929 - Added 5th and 6th NEW to list order +# 71030-2043 - Added hopper priority for callbacks +# 80112-0221 - Added 2nd, 3rd,... NEW for LAST NAME/PHONE Sort +# 80125-0821 - Added detail logging of each lead inserted +# 80713-0028 - Changed Recycling methodology +# 80909-1901 - Added support for campaign-specific DNC lists +# + +# constants +$DB=0; # Debug flag, set to 0 for no debug messages, On an active system this will generate lots of lines of output per minute +$US='__'; +$MT[0]=''; +#$vicidial_hopper='TEST_vicidial_hopper'; # for testing +$vicidial_hopper='vicidial_hopper'; + +# options +$insert_auto_CB_to_hopper = 1; # set to 1 to automatically insert ANYONE callbacks into the hopper + + +$secT = time(); +$secX = time(); +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +$wtoday = $wday; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +$file_date = "$year-$mon-$mday"; +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$VDL_date = "$year-$mon-$mday 00:00:01"; + +### get date-time of one hour ago ### + $VDL_hour = ($secX - (60 * 60)); +($Vsec,$Vmin,$Vhour,$Vmday,$Vmon,$Vyear,$Vwday,$Vyday,$Visdst) = localtime($VDL_hour); +$Vyear = ($Vyear + 1900); +$Vmon++; +if ($Vmon < 10) {$Vmon = "0$Vmon";} +if ($Vmday < 10) {$Vmday = "0$Vmday";} +$VDL_hour = "$Vyear-$Vmon-$Vmday $Vhour:$Vmin:$Vsec"; + +### get date-time of half hour ago ### + $VDL_halfhour = ($secX - (30 * 60)); +($Vsec,$Vmin,$Vhour,$Vmday,$Vmon,$Vyear,$Vwday,$Vyday,$Visdst) = localtime($VDL_halfhour); +$Vyear = ($Vyear + 1900); +$Vmon++; +if ($Vmon < 10) {$Vmon = "0$Vmon";} +if ($Vmday < 10) {$Vmday = "0$Vmday";} +$VDL_halfhour = "$Vyear-$Vmon-$Vmday $Vhour:$Vmin:$Vsec"; + +### get date-time of five minutes ago ### + $VDL_five = ($secX - (5 * 60)); +($Vsec,$Vmin,$Vhour,$Vmday,$Vmon,$Vyear,$Vwday,$Vyday,$Visdst) = localtime($VDL_five); +$Vyear = ($Vyear + 1900); +$Vmon++; +if ($Vmon < 10) {$Vmon = "0$Vmon";} +if ($Vmday < 10) {$Vmday = "0$Vmday";} +$VDL_five = "$Vyear-$Vmon-$Vmday $Vhour:$Vmin:$Vsec"; + +### get date-time of one minute ago ### + $VDL_one = ($secX - (1 * 60)); +($Vsec,$Vmin,$Vhour,$Vmday,$Vmon,$Vyear,$Vwday,$Vyday,$Visdst) = localtime($VDL_one); +$Vyear = ($Vyear + 1900); +$Vmon++; +if ($Vmon < 10) {$Vmon = "0$Vmon";} +if ($Vmday < 10) {$Vmday = "0$Vmday";} +$VDL_one = "$Vyear-$Vmon-$Vmday $Vhour:$Vmin:$Vsec"; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options(must stay in this order):\n [--debug] = debug\n [--debugX] = super debug\n [--dbgmt] = show GMT offset of records as they are inserted into hopper\n [--dbdetail] = additional level of logging the leads that are inserted into the hopper\n [-t] = test\n [--level=XXX] = force a hopper_level of XXX\n [--campaign=XXX] = run for campaign XXX only\n\n"; + exit; + } + else + { + if ($args =~ /--campaign=/i) + { + # print "\n|$ARGS|\n\n"; + @data_in = split(/--campaign=/,$args); + $CLIcampaign = $data_in[1]; + $CLIcampaign =~ s/ .*$//gi; + } + else + {$CLIcampaign = '';} + if ($args =~ /--level=/i) + { + @data_in = split(/--level=/,$args); + $CLIlevel = $data_in[1]; + $CLIlevel =~ s/ .*$//gi; + $CLIlevel =~ s/\D//gi; + print "\n-----HOPPER LEVEL OVERRIDE: $CLIlevel -----\n\n"; + } + else + {$CLIlevel = '';} + if ($args =~ /--debug/i) + { + $DB=1; + print "\n----- DEBUG -----\n\n"; + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n----- SUPER DEBUG -----\n\n"; + } + if ($args =~ /--dbgmt/i) + { + $DB_show_offset=1; + print "\n-----DEBUG GMT -----\n\n"; + } + if ($args =~ /--dbdetail/i) + { + $DB_detail=1; +# print "\n-----DEBUG DETAIL -----\n\n"; + } + if ($args =~ /-t/i) + { + $T=1; $TEST=1; + print "\n-----TESTING -----\n\n"; + } + if ($args =~ /--wipe-hopper-clean/i) + { + $wipe_hopper_clean=1; + } + } +} +else +{ +print "no command line options set\n"; +} + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VDHLOGfile) {$VDHLOGfile = "$PATHlogs/hopper.$year-$mon-$mday";} +if (!$VDHDLOGfile) {$VDHDLOGfile = "$PATHlogs/hopper-detail.$year-$mon-$mday";} +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +### Grab Server values from the database + $stmtA = "SELECT vd_server_logs,local_gmt FROM servers where server_ip = '$VARserver_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvd_server_logs = "$aryA[0]"; + $DBSERVER_GMT = "$aryA[1]"; + if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';} + else {$SYSLOG = '0';} + if (length($DBSERVER_GMT)>0) {$SERVER_GMT = $DBSERVER_GMT;} + $rec_count++; + } + $sthA->finish(); + + + +$secX = time(); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($secX); + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + if ($isdst) {$LOCAL_GMT_OFF++;} + +$GMT_now = ($secX - ($LOCAL_GMT_OFF * 3600)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($GMT_now); + $mon++; + $year = ($year + 1900); + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + if ($DB) {print "TIME DEBUG: $LOCAL_GMT_OFF_STD|$LOCAL_GMT_OFF|$isdst| GMT: $hour:$min\n";} + +if ($wipe_hopper_clean) + { + $stmtA = "DELETE from $vicidial_hopper;"; + $affected_rows = $dbhA->do($stmtA); + if ($DB) {print "Hopper Wiped Clean: $affected_rows\n";} + $event_string = "|HOPPER WIPE CLEAN|"; + &event_logger; + + exit; + } +### Delete leads from inactive lists if there are any +$stmtA = "SELECT * FROM vicidial_lists where active='N';"; +if ($DB) {print $stmtA;} +$inactive_lists=''; +$inactive_lists_count=0; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $inactive_lists_count) + { + @aryA = $sthA->fetchrow_array; + $inactive_list = $aryA[0]; + $inactive_lists .= "'$inactive_list',"; + $inactive_lists_count++; + } +$sthA->finish(); +if ($DB) {print "Inactive Lists: $inactive_lists_count\n";} + +if ($inactive_lists_count > 0) + { + chop($inactive_lists); + $stmtA = "DELETE from $vicidial_hopper where list_id IN($inactive_lists);"; + $affected_rows = $dbhA->do($stmtA); + if ($DB) {print "Inactive List Leads Deleted: $affected_rows |$stmtA|\n";} + $event_string = "|INACTIVE LIST DEL|$affected_rows|"; + &event_logger; + } + +### BEGIN Change CBHOLD status leads to CALLBK if their vicidial_callbacks time has passed +$stmtA = "SELECT count(*) FROM vicidial_callbacks where callback_time <= '$now_date' and status='ACTIVE';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +@aryA = $sthA->fetchrow_array; +$CBHOLD_count = $aryA[0]; + if ($DB) {print "CALLBACK HOLD: $CBHOLD_count|$stmtA|\n";} +$sthA->finish(); + +if ($CBHOLD_count > 0) + { + $update_leads=''; + $cbc=0; + $cba=0; + $stmtA = "SELECT vicidial_callbacks.lead_id,recipient,campaign_id,vicidial_callbacks.list_id,gmt_offset_now,state FROM vicidial_callbacks,vicidial_list where callback_time <= '$now_date' and vicidial_callbacks.status='ACTIVE' and vicidial_callbacks.lead_id=vicidial_list.lead_id;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + while ($sthArows > $cbc) + { + @aryA = $sthA->fetchrow_array; + $lead_ids[$cbc] = $aryA[0]; + $recipient = $aryA[1]; + $update_leads .= "'$lead_ids[$cbc]',"; + if ($recipient =~ /ANYONE/) + { + $CA_lead_id[$cba] = $aryA[0]; + $CA_campaign_id[$cba] = $aryA[2]; + $CA_list_id[$cba] = $aryA[3]; + $CA_gmt_offset_now[$cba] = $aryA[4]; + $CA_state[$cba] = $aryA[5]; + $cba++; + } + $cbc++; + } + $sthA->finish(); + if ($cbc > 0) + { + chop($update_leads); + + $stmtA = "UPDATE vicidial_callbacks set status='LIVE' where lead_id IN($update_leads) and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + $affected_rows = $dbhA->do($stmtA); + if ($DB) {print "Scheduled Callbacks Activated: $affected_rows\n";} + $event_string = "|CALLBACKS CB ACT |$affected_rows|"; + &event_logger; + + } + ### INSERT ANYONE CALLBACKS INTO HOPPER DIRECTLY ### + if ( ($cba > 0) && ($insert_auto_CB_to_hopper) ) + { + if ($DB) {print "ANYONE Scheduled Callbacks to Insert into hopper: $cba\n";} + $event_string = "|ANYONE CB HOPPER |$cba|"; + &event_logger; + $CAu=0; + foreach(@CA_lead_id) + { + $stmtA = "UPDATE vicidial_list set status='CALLBK', called_since_last_reset='N' where lead_id='$CA_lead_id[$CAu]';"; + $affected_rows = $dbhA->do($stmtA); + if ($DB) {print "Scheduled Callbacks Activated: $affected_rows\n";} + $event_string = "|CALLBACKS LISTACT|$affected_rows|"; + &event_logger; + + $stmtA = "INSERT INTO $vicidial_hopper SET lead_id='$CA_lead_id[$CAu]',campaign_id='$CA_campaign_id[$CAu]',list_id='$CA_list_id[$CAu]',gmt_offset_now='$CA_gmt_offset_now[$CAu]',user='',state='$CA_state[$CAu]',priority='50';"; + $affected_rows = $dbhA->do($stmtA); + if ($DB) {print "ANYONE Scheduled Callback Inserted into hopper: $affected_rows|$CA_lead_id[$CAu]\n";} + $CAu++; + } + } + } +### END Change CBHOLD status leads to CALLBK if their vicidial_callbacks time has passed + + +@campaign_id=@MT; + +if ($CLIcampaign) + { + $stmtA = "SELECT * from vicidial_campaigns where campaign_id='$CLIcampaign'"; + } +else + { + $stmtA = "SELECT * from vicidial_campaigns where active='Y'"; + } +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $campaign_id[$rec_count] = "$aryA[0]"; + $lead_order[$rec_count] = "$aryA[8]"; + if (!$CLIlevel) + {$hopper_level[$rec_count] = "$aryA[13]";} + else + {$hopper_level[$rec_count] = "$CLIlevel";} + $auto_dial_level[$rec_count] = "$aryA[14]"; + $local_call_time[$rec_count] = "$aryA[16]"; + $lead_filter_id[$rec_count] = "$aryA[35]"; + $use_internal_dnc[$rec_count] = "$aryA[43]"; + $dial_method[$rec_count] = $aryA[46]; + $available_only_ratio_tally[$rec_count] = $aryA[47]; + $adaptive_dropped_percentage[$rec_count] = $aryA[48]; + $adaptive_maximum_level[$rec_count] = $aryA[49]; + $dial_statuses[$rec_count] = $aryA[61]; + $list_order_mix[$rec_count] = $aryA[64]; + $use_campaign_dnc[$rec_count] = $aryA[95]; + + $rec_count++; + } +$sthA->finish(); +if ($DB) {print "CAMPAIGNS TO PROCESSES HOPPER FOR: $rec_count|$#campaign_id\n";} + + +##### LOOP THROUGH EACH CAMPAIGN AND PROCESS THE HOPPER ##### +$i=0; +foreach(@campaign_id) + { + $vicidial_log = 'vicidial_log'; + $VCSdialable_leads[$i]=0; + + if ($list_order_mix[$i] =~ /DISABLED/) + { + ### BEGIN - GATHER STATS FOR THE vicidial_campaign_stats TABLE ### + $dial_statuses[$i] =~ s/ -$//gi; + @Dstatuses = split(/ /,$dial_statuses[$i]); + $Ds_to_print = (($#Dstatuses) + 0); + $STATUSsql[$i]=''; + $o=0; + while ($Ds_to_print > $o) + { + $o++; + $STATUSsql[$i] .= "'$Dstatuses[$o]',"; + } + if (length($STATUSsql[$i])<3) {$STATUSsql[$i]="''";} + else {chop($STATUSsql[$i]);} + } + + $stmtA = "SELECT dialable_leads from vicidial_campaign_stats where campaign_id='$campaign_id[$i]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VCSdialable_leads[$i] = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + ### END - GATHER STATS FOR THE vicidial_campaign_stats TABLE ### + + ##### BEGIN calculate what gmt_offset_now values are within the allowed local_call_time setting ### + $g=0; + $p='13'; + $GMT_gmt[0] = ''; + $GMT_hour[0] = ''; + $GMT_day[0] = ''; + if ($DBX) {print "\n |GMT-DAY-HOUR| ";} + while ($p > -13) + { + $pzone = ($GMT_now + ($p * 3600)); + ($psec,$pmin,$phour,$pmday,$pmon,$pyear,$pday,$pyday,$pisdst) = localtime($pzone); + $phour=($phour * 100); + $tz = sprintf("%.2f", $p); + $GMT_gmt[$g] = "$tz"; + $GMT_day[$g] = "$pday"; + $GMT_hour[$g] = ($phour + $pmin); + $p = ($p - 0.25); + if ($DBX) {print "|$GMT_gmt[$g]-$GMT_day[$g]-$GMT_hour[$g]|";} + $g++; + } + if ($DBX) {print "\n";} + + $stmtA = "SELECT * FROM vicidial_call_times where call_time_id='$local_call_time[$i]';"; + if ($DBX) {print " |$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $Gct_default_start = "$aryA[3]"; + $Gct_default_stop = "$aryA[4]"; + $Gct_sunday_start = "$aryA[5]"; + $Gct_sunday_stop = "$aryA[6]"; + $Gct_monday_start = "$aryA[7]"; + $Gct_monday_stop = "$aryA[8]"; + $Gct_tuesday_start = "$aryA[9]"; + $Gct_tuesday_stop = "$aryA[10]"; + $Gct_wednesday_start = "$aryA[11]"; + $Gct_wednesday_stop = "$aryA[12]"; + $Gct_thursday_start = "$aryA[13]"; + $Gct_thursday_stop = "$aryA[14]"; + $Gct_friday_start = "$aryA[15]"; + $Gct_friday_stop = "$aryA[16]"; + $Gct_saturday_start = "$aryA[17]"; + $Gct_saturday_stop = "$aryA[18]"; + $Gct_state_call_times = "$aryA[19]"; + $rec_count++; + } + $sthA->finish(); + + + ### BEGIN For lead recycling find out the no-call gap time and begin dial time for today + $lct_gap=0; # number of seconds from stopping of calling to starting of calling based on local call time + $lct_begin=0; # hour and minute of the begin time for the local call time + $lct_end=0; # hour and minute of the end time for the local call time + + $secYESTERDAY = ($secX - (24 * 3600)); + ($ksec,$kmin,$khour,$kmday,$kmon,$kyear,$wyesterday,$kyday,$kisdst) = localtime($secYESTERDAY); + + if ($wtoday < 1) #### Sunday local time + { + if (($Gct_sunday_start < 1) && ($Gct_sunday_stop < 1)) {$lct_begin = $Gct_default_start;} + else {$lct_begin = $Gct_sunday_start;} + } + if ($wtoday==1) #### Monday local time + { + if (($Gct_monday_start < 1) && ($Gct_monday_stop < 1)) {$lct_begin = $Gct_default_start;} + else {$lct_begin = $Gct_monday_start;} + } + if ($wtoday==2) #### Tuesday local time + { + if (($Gct_tuesday_start < 1) && ($Gct_tuesday_stop < 1)) {$lct_begin = $Gct_default_start;} + else {$lct_begin = $Gct_tuesday_start;} + } + if ($wtoday==3) #### Wednesday local time + { + if (($Gct_wednesday_start < 1) && ($Gct_wednesday_stop < 1)) {$lct_begin = $Gct_default_start;} + else {$lct_begin = $Gct_wednesday_start;} + } + if ($wtoday==4) #### Thursday local time + { + if (($Gct_thursday_start < 1) && ($Gct_thursday_stop < 1)) {$lct_begin = $Gct_default_start;} + else {$lct_begin = $Gct_thursday_start;} + } + if ($wtoday==5) #### Friday local time + { + if (($Gct_friday_start < 1) && ($Gct_friday_stop < 1)) {$lct_begin = $Gct_default_start;} + else {$lct_begin = $Gct_friday_start;} + } + if ($wtoday==6) #### Saturday local time + { + if (($Gct_saturday_start < 1) && ($Gct_saturday_stop < 1)) {$lct_begin = $Gct_default_start;} + else {$lct_begin = $Gct_saturday_start;} + } + + + $dayBACKsec=0; + $weekBACK=0; + while ( ($lct_end < 1) && ($weekBACK <= 1) ) + { + if ($wyesterday==6) #### Saturday local time + { + if ($Gct_saturday_start > 2399) {$wyesterday = 0; $dayBACKsec = ($dayBACKsec + 86400); if ($DBX) {print "DayBACK: $wyesterday\n";}} + else + { + if (($Gct_saturday_start < 1) && ($Gct_saturday_stop < 1)) {$lct_end = $Gct_default_stop;} + else {$lct_end = $Gct_saturday_stop;} + } + } + if ($wyesterday==5) #### Friday local time + { + if ($Gct_friday_start > 2399) {$wyesterday = 1; $dayBACKsec = ($dayBACKsec + 86400); if ($DBX) {print "DayBACK: $wyesterday\n";}} + else + { + if (($Gct_friday_start < 1) && ($Gct_friday_stop < 1)) {$lct_end = $Gct_default_stop;} + else {$lct_end = $Gct_friday_stop;} + } + } + if ($wyesterday==4) #### Thursday local time + { + if ($Gct_thursday_start > 2399) {$wyesterday = 2; $dayBACKsec = ($dayBACKsec + 86400); if ($DBX) {print "DayBACK: $wyesterday\n";}} + else + { + if (($Gct_thursday_start < 1) && ($Gct_thursday_stop < 1)) {$lct_end = $Gct_default_stop;} + else {$lct_end = $Gct_thursday_stop;} + } + } + if ($wyesterday==3) #### Wednesday local time + { + if ($Gct_wednesday_start > 2399) {$wyesterday = 3; $dayBACKsec = ($dayBACKsec + 86400); if ($DBX) {print "DayBACK: $wyesterday\n";}} + else + { + if (($Gct_wednesday_start < 1) && ($Gct_wednesday_stop < 1)) {$lct_end = $Gct_default_stop;} + else {$lct_end = $Gct_wednesday_stop;} + } + } + if ($wyesterday==2) #### Tuesday local time + { + if ($Gct_tuesday_start > 2399) {$wyesterday = 4; $dayBACKsec = ($dayBACKsec + 86400); if ($DBX) {print "DayBACK: $wyesterday\n";}} + else + { + if (($Gct_tuesday_start < 1) && ($Gct_tuesday_stop < 1)) {$lct_end = $Gct_default_stop;} + else {$lct_end = $Gct_tuesday_stop;} + } + } + if ($wyesterday==1) #### Monday local time + { + if ($Gct_monday_start > 2399) {$wyesterday = 5; $dayBACKsec = ($dayBACKsec + 86400); if ($DBX) {print "DayBACK: $wyesterday\n";}} + else + { + if (($Gct_monday_start < 1) && ($Gct_monday_stop < 1)) {$lct_end = $Gct_default_stop;} + else {$lct_end = $Gct_monday_stop;} + } + } + if ($wyesterday==0) #### Sunday local time + { + if ($Gct_sunday_start > 2399) {$wyesterday = 6; $dayBACKsec = ($dayBACKsec + 86400); if ($DBX) {print "DayBACK: $wyesterday\n";}} + else + { + if (($Gct_sunday_start < 1) && ($Gct_sunday_stop < 1)) {$lct_end = $Gct_default_stop;} + else {$lct_end = $Gct_sunday_stop;} + } + } + $weekBACK++; + } + + $lct_end = sprintf("%04d", $lct_end); + $lct_end_hour = substr($lct_end, 0, 2); + $lct_end_min = substr($lct_end, 2, 2); + $lct_begin = sprintf("%04d", $lct_begin); + $lct_begin_hour = substr($lct_begin, 0, 2); + $lct_begin_min = substr($lct_begin, 2, 2); + + $lct_gap = ( ( ( ( ( (24 - $lct_end_hour) + $lct_begin_hour) * 3600) + ($lct_begin_min * 60) ) - ($lct_end_min * 60) ) + $dayBACKsec); + + if ($DBX) {print "LocalCallTime No-Call Gap: |$lct_gap|$lct_end($lct_end_hour $lct_end_min)|$lct_begin($lct_begin_hour $lct_begin_min)|$wtoday|$wyesterday|\n";} + + ### END For lead recycling find out the no-call gap time and begin dial time for today + + + $ct_states = ''; + $ct_state_gmt_SQL = ''; + $del_state_gmt_SQL = ''; + $ct_srs=0; + $b=0; + if (length($Gct_state_call_times)>2) + { + @state_rules = split(/\|/,$Gct_state_call_times); + $ct_srs = ($#state_rules - 2); + } + while($ct_srs >= $b) + { + if (length($state_rules[$b])>1) + { + $stmtA = "SELECT * from vicidial_state_call_times where state_call_time_id='$state_rules[$b]';"; + if ($DBX) {print " |$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $Gstate_call_time_id = "$aryA[0]"; + $Gstate_call_time_state = "$aryA[1]"; + $Gsct_default_start = "$aryA[4]"; + $Gsct_default_stop = "$aryA[5]"; + $Gsct_sunday_start = "$aryA[6]"; + $Gsct_sunday_stop = "$aryA[7]"; + $Gsct_monday_start = "$aryA[8]"; + $Gsct_monday_stop = "$aryA[9]"; + $Gsct_tuesday_start = "$aryA[10]"; + $Gsct_tuesday_stop = "$aryA[11]"; + $Gsct_wednesday_start = "$aryA[12]"; + $Gsct_wednesday_stop = "$aryA[13]"; + $Gsct_thursday_start = "$aryA[14]"; + $Gsct_thursday_stop = "$aryA[15]"; + $Gsct_friday_start = "$aryA[16]"; + $Gsct_friday_stop = "$aryA[17]"; + $Gsct_saturday_start = "$aryA[18]"; + $Gsct_saturday_stop = "$aryA[19]"; + $ct_states .="'$Gstate_call_time_state',"; + $rec_count++; + } + $sthA->finish(); + + $r=0; + $state_gmt=''; + $del_state_gmt=''; + while($r < $g) + { + if ($GMT_day[$r]==0) #### Sunday local time + { + if (($Gsct_sunday_start==0) && ($Gsct_sunday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) && ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_sunday_start) && ($GMT_hour[$r]<$Gsct_sunday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==1) #### Monday local time + { + if (($Gsct_monday_start==0) && ($Gsct_monday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) && ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_monday_start) && ($GMT_hour[$r]<$Gsct_monday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==2) #### Tuesday local time + { + if (($Gsct_tuesday_start==0) && ($Gsct_tuesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) && ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_tuesday_start) && ($GMT_hour[$r]<$Gsct_tuesday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==3) #### Wednesday local time + { + if (($Gsct_wednesday_start==0) && ($Gsct_wednesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) && ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_wednesday_start) && ($GMT_hour[$r]<$Gsct_wednesday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==4) #### Thursday local time + { + if (($Gsct_thursday_start==0) && ($Gsct_thursday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) && ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_thursday_start) && ($GMT_hour[$r]<$Gsct_thursday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==5) #### Friday local time + { + if (($Gsct_friday_start==0) && ($Gsct_friday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) && ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_friday_start) && ($GMT_hour[$r]<$Gsct_friday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==6) #### Saturday local time + { + if (($Gsct_saturday_start==0) && ($Gsct_saturday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) && ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_saturday_start) && ($GMT_hour[$r]<$Gsct_saturday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + else + {$del_state_gmt.="'$GMT_gmt[$r]',";} + } + } + $r++; + } + $state_gmt = "$state_gmt'99'"; + $del_state_gmt = "$del_state_gmt'99'"; + $ct_state_gmt_SQL .= "or (state='$Gstate_call_time_state' && gmt_offset_now IN($state_gmt)) "; + $del_state_gmt_SQL .= "or (state='$Gstate_call_time_state' && gmt_offset_now IN($del_state_gmt)) "; + } + + $b++; + } + if (length($ct_states)>2) + { + $ct_states =~ s/,$//gi; + $ct_statesSQL = "and state NOT IN($ct_states)"; + } + else + { + $ct_statesSQL = ""; + } + + $r=0; + @default_gmt_ARY=@MT; + $dgA=0; + $default_gmt=''; + $del_default_gmt=''; + while($r < $g) + { + if ($GMT_day[$r]==0) #### Sunday local time + { + if (($Gct_sunday_start==0) && ($Gct_sunday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) && ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_sunday_start) && ($GMT_hour[$r]<$Gct_sunday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==1) #### Monday local time + { + if (($Gct_monday_start==0) && ($Gct_monday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) && ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_monday_start) && ($GMT_hour[$r]<$Gct_monday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==2) #### Tuesday local time + { + if (($Gct_tuesday_start==0) && ($Gct_tuesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) && ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_tuesday_start) && ($GMT_hour[$r]<$Gct_tuesday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==3) #### Wednesday local time + { + if (($Gct_wednesday_start==0) && ($Gct_wednesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) && ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_wednesday_start) && ($GMT_hour[$r]<$Gct_wednesday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==4) #### Thursday local time + { + if (($Gct_thursday_start==0) && ($Gct_thursday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) && ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_thursday_start) && ($GMT_hour[$r]<$Gct_thursday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==5) #### Friday local time + { + if (($Gct_friday_start==0) && ($Gct_friday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) && ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_friday_start) && ($GMT_hour[$r]<$Gct_friday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==6) #### Saturday local time + { + if (($Gct_saturday_start==0) && ($Gct_saturday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) && ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_saturday_start) && ($GMT_hour[$r]<$Gct_saturday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',"; $default_gmt_ARY[$dgA] = "$GMT_gmt[$r]"; $dgA++;} + else + {$del_default_gmt.="'$GMT_gmt[$r]',";} + } + } + $r++; + } + + $default_gmt = "$default_gmt'99'"; + $del_default_gmt = "$del_default_gmt'99'"; + $all_gmtSQL[$i] = "(gmt_offset_now IN($default_gmt) $ct_statesSQL) $ct_state_gmt_SQL"; + $del_gmtSQL[$i] = "(gmt_offset_now IN($del_default_gmt) $ct_statesSQL) $del_state_gmt_SQL"; + + ##### END calculate what gmt_offset_now values are within the allowed local_call_time setting ### + + ##### BEGIN lead recycling parsing and prep ### + + $stmtA = "SELECT * from vicidial_lead_recycle where campaign_id='$campaign_id[$i]' and active='Y';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @recycle_status=@MT; + @recycle_delay=@MT; + @recycle_maximum=@MT; + @RSQLdate=@MT; + $r_ct=0; + $rec_ct[$i]=0; + while ($sthArows > $r_ct) + { + @aryA = $sthA->fetchrow_array; + $recycle_status[$r_ct] = "$aryA[2]"; + $recycle_delay[$r_ct] = "$aryA[3]"; + $recycle_maximum[$r_ct] = "$aryA[4]"; + $r_ct++; + $rec_ct[$i]++; + } + $sthA->finish(); + + if ($rec_ct[$i] > 0) + { + $rc=0; + $recycle_SQL[$i] = "( "; + while($rc < $rec_ct[$i]) + { + $Y=1; + $recycle_Y = "'Y'"; + while ($Y < $recycle_maximum[$rc]) + { + $recycle_Y .= ",'Y$Y'"; + $Y++; + } + + if ($rc > 0) {$recycle_SQL[$i] .= " or ";} + + $recycle_SQL[$i] .= "( (called_since_last_reset IN($recycle_Y)) and (status='$recycle_status[$rc]') and ("; + + $dgA=0; + foreach(@default_gmt_ARY) + { + $secX = time(); + $LLCT_DATE_offset = ($LOCAL_GMT_OFF - $default_gmt_ARY[$dgA]); + $LLCT_DATE_offset_epoch = ( $secX - ($LLCT_DATE_offset * 3600) ); + $Rtarget = ($LLCT_DATE_offset_epoch - $recycle_delay[$rc]); + ($Rsec,$Rmin,$Rhour,$Rmday,$Rmon,$Ryear,$Rwday,$Ryday,$Risdst) = localtime($Rtarget); + $Ryear = ($Ryear + 1900); + $Rmon++; + if ($Rmon < 10) {$Rmon = "0$Rmon";} + if ($Rmday < 10) {$Rmday = "0$Rmday";} + if ($Rhour < 10) {$Rhour = "0$Rhour";} + if ($Rmin < 10) {$Rmin = "0$Rmin";} + if ($Rsec < 10) {$Rsec = "0$Rsec";} + $Rhourmin = "$Rhour$Rmin"; + if ( ($Rhourmin < $lct_begin) || ($Rhourmin > $lct_end) ) + { + $RGtarget = ($Rtarget - $lct_gap); + ($Rsec,$Rmin,$Rhour,$Rmday,$Rmon,$Ryear,$Rwday,$Ryday,$Risdst) = localtime($RGtarget); + $Ryear = ($Ryear + 1900); + $Rmon++; + if ($Rmon < 10) {$Rmon = "0$Rmon";} + if ($Rmday < 10) {$Rmday = "0$Rmday";} + if ($Rhour < 10) {$Rhour = "0$Rhour";} + if ($Rmin < 10) {$Rmin = "0$Rmin";} + if ($Rsec < 10) {$Rsec = "0$Rsec";} + if ($DBX) {print "RECYCLE DELAY GAP: |$campaign_id[$i]|$Rhourmin|$RGtarget|Rtarget|($recycle_delay[$rc] $lct_gap)\n";} + } + $RSQLdate[$rc] = "$Ryear-$Rmon-$Rmday $Rhour:$Rmin:$Rsec"; + + if ($dgA > 0) {$recycle_SQL[$i] .= " or ";} + + $recycle_SQL[$i] .= "( (gmt_offset_now='$default_gmt_ARY[$dgA]') and (last_local_call_time < \"$RSQLdate[$rc]\") )"; + + $dgA++; + } + if ($DBX) {print "RECYCLE: |$campaign_id[$i]|$recycle_status[$rc]|$recycle_delay[$rc]|$recycle_maximum[$rc]|$RSQLdate[$rc]|\n";} + + $recycle_SQL[$i] .= " ) )"; + + $rc++; + } + + $recycle_SQL[$i] .= " )"; + + if ($DBX) {print "RECYCLE SQL: |$recycle_SQL[$i]|\n";} + } + ##### END lead recycling parsing and prep ### + + if ($DB) {print "Starting hopper run for $campaign_id[$i] campaign- GMT: $local_call_time[$i] HOPPER: $hopper_level[$i] ORDER: $lead_order[$i]\n";} + + ### Delete the DONE leads if there are any + $stmtA = "DELETE from $vicidial_hopper where campaign_id='$campaign_id[$i]' and status IN('DONE');"; + $affected_rows = $dbhA->do($stmtA); + if ($DB) {print " hopper DONE cleared: $affected_rows\n";} + if ($DBX) {print " |$stmtA|\n";} + + ### Delete the leads that are out of GMT time range if there are any + $stmtA = "DELETE from $vicidial_hopper where campaign_id='$campaign_id[$i]' and ($del_gmtSQL[$i]);"; + $affected_rows = $dbhA->do($stmtA); + if ($DB) {print " hopper GMT BAD cleared: $affected_rows\n";} + if ($DBX) {print " |$stmtA|\n";} + + ### Find out how many leads are in the hopper from a specific campaign + $hopper_ready_count=0; + $stmtA = "SELECT count(*) from $vicidial_hopper where campaign_id='$campaign_id[$i]' and status='READY';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $hopper_ready_count = $aryA[0]; + if ($DB) {print " hopper READY count: $hopper_ready_count\n";} + if ($DBX) {print " |$stmtA|\n";} + $rec_count++; + } + $sthA->finish(); + $event_string = "|$campaign_id[$i]|$hopper_level[$i]|$hopper_ready_count|$local_call_time[$i]||"; + &event_logger; + + ##### IF hopper level is below set minimum, then try to add more leads ##### + if ($hopper_ready_count < $hopper_level[$i]) + { + if ($DB) {print " hopper too low ($hopper_ready_count|$hopper_level[$i]) starting hopper dump\n";} + + ### Get list of the lists in the campaign ### + $stmtA = "SELECT list_id FROM vicidial_lists where campaign_id='$campaign_id[$i]' and active='Y';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countLISTS=0; + $camp_lists[$i] = ''; + while ($sthArows > $rec_countLISTS) + { + @aryA = $sthA->fetchrow_array; + $camp_lists[$i] .= "'$aryA[0]',"; + $rec_countLISTS++; + } + $sthA->finish(); + if (length($camp_lists[$i])<3) {$camp_lists[$i]="''";} + else {chop($camp_lists[$i]);} + + if ($DB) {print " campaign lists count: $rec_countLISTS | $camp_lists[$i]\n";} + if ($DBX) {print " |$stmtA|\n";} + + if ($list_order_mix[$i] !~ /DISABLED/) + { + $stmtA = "SELECT vcl_id,vcl_name,list_mix_container,mix_method FROM vicidial_campaigns_list_mix where campaign_id='$campaign_id[$i]' and status='ACTIVE';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $vcl_id[$i] = "$aryA[0]"; + $vcl_name[$i] = "$aryA[1]"; + $list_mix_container[$i] = "$aryA[2]"; + $mix_method[$i] = "$aryA[3]"; + $rec_count++; + } + $sthA->finish(); + + @list_mixARY=@MT; + $list_mix_dialableSQL=''; + @list_mixARY = split(/:/,$list_mix_container[$i]); + $x=0; + foreach(@list_mixARY) + { + if ($x > 0) {$list_mix_dialableSQL .= " or ";} + @list_mix_stepARY = split(/\|/,$list_mixARY[$x]); + $list_mix_stepARY[3] =~ s/ /\',\'/gi; + $list_mix_stepARY[3] =~ s/^\',|,\'-//gi; + if ($DBX) {print " LM $x ++$list_mixARY[$x]++ |$list_mix_stepARY[0]|$list_mix_stepARY[2]|$list_mix_stepARY[3]|\n";} + $list_mix_dialableSQL .= "(list_id='$list_mix_stepARY[0]' and status IN($list_mix_stepARY[3]))"; + + $x++; + } + + if ($DB) {print " campaign mix: $list_order_mix[$i] |$vcl_id[$i] - $vcl_name[$i]|$list_mix_container[$i]|$x|$mix_method[$i]|\n";} + } + + if ( ($lead_filter_id[$i] !~ /NONE/) && (length($lead_filter_id[$i])>0) ) + { + ### Get SQL of lead filter for the campaign ### + $stmtA = "SELECT lead_filter_sql FROM vicidial_lead_filters where lead_filter_id='$lead_filter_id[$i]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $lead_filter_sql[$i] = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + $lead_filter_sql[$i] =~ s/^and|and$|^or|or$|^ and|and $|^ or|or $//gi; + $lead_filter_sql[$i] = "and $lead_filter_sql[$i]"; + if ($DB) {print " lead filter $lead_filter_id[$i] defined for $campaign_id[$i]\n";} + if ($DBX) {print " |$lead_filter_sql[$i]|\n";} + } + else + { + $lead_filter_sql[$i] = ''; + if ($DB) {print " no lead filter defined for campaign: $campaign_id[$i]\n";} + if ($DBX) {print " |$lead_filter_id[$i]|\n";} + } + + ##### Get count of leads that are dialable ##### + if ($list_order_mix[$i] =~ /DISABLED/) + { + $stmtA = "SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN($STATUSsql[$i]) and list_id IN($camp_lists[$i]) and ($all_gmtSQL[$i]) $lead_filter_sql[$i];"; + } + else + { + $stmtA = "SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and ($list_mix_dialableSQL) and ($all_gmtSQL[$i]) $lead_filter_sql[$i];"; + } + if ($DBX) {print " |$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $campaign_leads_to_call[$i] = "$aryA[0]"; + if ($DB) {print " leads to call count: $campaign_leads_to_call[$i]\n";} + if ($DBX) {print " |$stmtA|\n";} + $rec_count++; + } + $sthA->finish(); + + if ( ($lead_order[$i] =~ / 2nd NEW$| 3rd NEW$| 4th NEW$| 5th NEW$| 6th NEW$/) && ($list_order_mix[$i] =~ /DISABLED/) ) + { + $stmtA = "SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN('NEW') and list_id IN($camp_lists[$i]) and ($all_gmtSQL[$i]) $lead_filter_sql[$i];"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $NEW_campaign_leads_to_call[$i] = "$aryA[0]"; + if ($DB) {print " NEW leads to call count: $NEW_campaign_leads_to_call[$i]\n";} + if ($DBX) {print " |$stmtA|\n";} + $rec_count++; + } + $sthA->finish(); + } + + ##### IF no NEW leads to be called, error out of this campaign ##### + if ( ($lead_order[$i] =~ / 2nd NEW$| 3rd NEW$| 4th NEW$| 5th NEW$| 6th NEW$/) && ($NEW_campaign_leads_to_call[$i] > 0) && ($list_order_mix[$i] =~ /DISABLED/) ) {$GOOD=1;} + else + { + if ($lead_order[$i] !~ / 2nd NEW$| 3rd NEW$| 4th NEW$| 5th NEW$| 6th NEW$/) + { + if ($DB) {print " NO SHUFFLE-NEW-LEADS INTO HOPPER DEFINED FOR LEAD ORDER\n";} + } + else + { + if ($DB) {print " ERROR CANNOT ADD ANY NEW LEADS TO HOPPER\n";} + } + } + + ##### IF no leads to be called, error out of this campaign ##### + if ( ($campaign_leads_to_call[$i] < 1) && ($rec_ct[$i] < 1) ) + { + if ($DB) {print " ERROR CANNOT ADD ANY LEADS TO HOPPER\n";} + if ($VCSdialable_leads[$i] > 0) + { + $stmtA = "UPDATE vicidial_campaign_stats SET dialable_leads='0' where campaign_id='$campaign_id[$i]';"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print "CAMPAIGN STATS: $affected_rows|$stmtA|\n";} + } + } + else + { + if ($VCSdialable_leads[$i] != $campaign_leads_to_call[$i]) + { + $stmtA = "UPDATE vicidial_campaign_stats SET dialable_leads='$campaign_leads_to_call[$i]' where campaign_id='$campaign_id[$i]';"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print "CAMPAIGN STATS: $affected_rows|$stmtA|\n";} + } + if ($DB) {print " Getting Leads to add to hopper\n";} + ### grab leads already in hopper so we don't duplicate + $stmtA = "SELECT lead_id FROM $vicidial_hopper where campaign_id='$campaign_id[$i]';"; + if ($DBX) {print " |$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $lead_id_lists = ''; + $rec_countLISTS=0; + while ($sthArows > $rec_countLISTS) + { + @aryA = $sthA->fetchrow_array; + $lead_id_lists .= "'$aryA[0]',"; + $rec_countLISTS++; + } + $sthA->finish(); + $lead_id_lists .= "'0'"; + $order_stmt=''; + $NEW_count = 0; + $NEW_level = 0; + $OTHER_level = $hopper_level[$i]; + if ($lead_order[$i] =~ /^DOWN/) {$order_stmt = 'order by lead_id asc';} + if ($lead_order[$i] =~ /^UP/) {$order_stmt = 'order by lead_id desc';} + if ($lead_order[$i] =~ /^UP LAST NAME/) {$order_stmt = 'order by last_name desc, lead_id asc';} + if ($lead_order[$i] =~ /^DOWN LAST NAME/) {$order_stmt = 'order by last_name, lead_id asc';} + if ($lead_order[$i] =~ /^UP PHONE/) {$order_stmt = 'order by phone_number desc, lead_id asc';} + if ($lead_order[$i] =~ /^DOWN PHONE/) {$order_stmt = 'order by phone_number, lead_id asc';} + if ($lead_order[$i] =~ /^UP COUNT/) {$order_stmt = 'order by called_count desc, lead_id asc';} + if ($lead_order[$i] =~ /^DOWN COUNT/) {$order_stmt = 'order by called_count, lead_id asc';} + if ($lead_order[$i] =~ / 2nd NEW$/) {$NEW_count = 2;} + if ($lead_order[$i] =~ / 3rd NEW$/) {$NEW_count = 3;} + if ($lead_order[$i] =~ / 4th NEW$/) {$NEW_count = 4;} + if ($lead_order[$i] =~ / 5th NEW$/) {$NEW_count = 5;} + if ($lead_order[$i] =~ / 6th NEW$/) {$NEW_count = 6;} + + ### BEGIN recycle grab leads ### + $REC_rec_countLEADS=0; + @REC_leads_to_hopper=@MT; + @REC_lists_to_hopper=@MT; + @REC_phone_to_hopper=@MT; + @REC_gmt_to_hopper=@MT; + @REC_state_to_hopper=@MT; + @REC_status_to_hopper=@MT; + if ($rec_ct[$i] > 0) + { + if ($DB) {print " looking for RECYCLE leads, maximum of $hopper_level[$i]\n";} + + $stmtA = "SELECT lead_id,list_id,gmt_offset_now,phone_number,state,status FROM vicidial_list where $recycle_SQL[$i] and list_id IN($camp_lists[$i]) and lead_id NOT IN($lead_id_lists) and ($all_gmtSQL[$i]) $lead_filter_sql[$i] limit $hopper_level[$i];"; + if ($DBX) {print " |$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($DB) {print " RECYCLE leads to call count: $sthArows\n";} + if ($DBX) {print " |$stmtA|\n";} + while ($sthArows > $REC_rec_countLEADS) + { + @aryA = $sthA->fetchrow_array; + $REC_leads_to_hopper[$REC_rec_countLEADS] = "$aryA[0]"; + $REC_lists_to_hopper[$REC_rec_countLEADS] = "$aryA[1]"; + $REC_gmt_to_hopper[$REC_rec_countLEADS] = "$aryA[2]"; + $REC_phone_to_hopper[$REC_rec_countLEADS] = "$aryA[3]"; + $REC_state_to_hopper[$REC_rec_countLEADS] = "$aryA[4]"; + $REC_status_to_hopper[$REC_rec_countLEADS] = "$aryA[5]"; + if ($DB_show_offset) {print "LEAD_ADD: $aryA[2] $aryA[3] $aryA[4]\n";} + $REC_rec_countLEADS++; + } + $sthA->finish(); + } + else + { + if ($DB) {print " NO RECYCLE-LEADS INTO HOPPER DEFINED\n";} + } + ### END recycle grab leads ### + + + ### BEGIN NEW grab leads ### + $NEW_rec_countLEADS=0; + @NEW_leads_to_hopper=@MT; + @NEW_lists_to_hopper=@MT; + @NEW_phone_to_hopper=@MT; + @NEW_gmt_to_hopper=@MT; + @NEW_state_to_hopper=@MT; + @NEW_status_to_hopper=@MT; + if ( ($NEW_count > 0) && ($list_order_mix[$i] =~ /DISABLED/) ) + { + $NEW_level = int($hopper_level[$i] / $NEW_count); + $OTHER_level = ($hopper_level[$i] - $NEW_level); + # $order_stmt = 'order by called_count, lead_id asc'; + if ($DB) {print " looking for $NEW_level NEW leads mixed in with $OTHER_level other leads\n";} + + $stmtA = "SELECT lead_id,list_id,gmt_offset_now,phone_number,state,status FROM vicidial_list where called_since_last_reset='N' and status IN('NEW') and list_id IN($camp_lists[$i]) and lead_id NOT IN($lead_id_lists) and ($all_gmtSQL[$i]) $lead_filter_sql[$i] $order_stmt limit $NEW_level;"; + if ($DBX) {print " |$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + while ($sthArows > $NEW_rec_countLEADS) + { + @aryA = $sthA->fetchrow_array; + $NEW_leads_to_hopper[$NEW_rec_countLEADS] = "$aryA[0]"; + $NEW_lists_to_hopper[$NEW_rec_countLEADS] = "$aryA[1]"; + $NEW_gmt_to_hopper[$NEW_rec_countLEADS] = "$aryA[2]"; + $NEW_phone_to_hopper[$NEW_rec_countLEADS] = "$aryA[3]"; + $NEW_state_to_hopper[$NEW_rec_countLEADS] = "$aryA[4]"; + $NEW_status_to_hopper[$NEW_rec_countLEADS] = "$aryA[5]"; + if ($DB_show_offset) {print "LEAD_ADD: $aryA[2] $aryA[3] $aryA[4]\n";} + $NEW_rec_countLEADS++; + } + $OTHER_level = ($hopper_level[$i] - $NEW_rec_countLEADS); + $sthA->finish(); + } + + ### BEGIN standard grab leads ### + $rec_countLEADS=0; + $NEW_dec=99; + $NEW_in=0; + $rec_count=0; + $REC_insert_count=0; + @leads_to_hopper=@MT; + @lists_to_hopper=@MT; + @gmt_to_hopper=@MT; + @state_to_hopper=@MT; + @phone_to_hopper=@MT; + @status_to_hopper=@MT; + if ($campaign_leads_to_call[$i] > 0) + { + if ($DB) {print " lead call order: $order_stmt\n";} + + if ($list_order_mix[$i] =~ /DISABLED/) + { + $stmtA = "SELECT lead_id,list_id,gmt_offset_now,phone_number,state,status FROM vicidial_list where called_since_last_reset='N' and status IN($STATUSsql[$i]) and list_id IN($camp_lists[$i]) and lead_id NOT IN($lead_id_lists) and ($all_gmtSQL[$i]) $lead_filter_sql[$i] $order_stmt limit $OTHER_level;"; + if ($DBX) {print " |$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + if ( ($NEW_count > 0) && ($NEW_rec_countLEADS > $NEW_in) ) + { + if ($DB_show_offset) {print "NEW_COUNT: $NEW_count|$NEW_dec|$NEW_in|$NEW_rec_countLEADS\n";} + if ($NEW_count > $NEW_dec) + { + $NEW_dec++; + } + else + { + $leads_to_hopper[$rec_countLEADS] = "$NEW_leads_to_hopper[$NEW_in]"; + $lists_to_hopper[$rec_countLEADS] = "$NEW_lists_to_hopper[$NEW_in]"; + $gmt_to_hopper[$rec_countLEADS] = "$NEW_gmt_to_hopper[$NEW_in]"; + $state_to_hopper[$rec_countLEADS] = "$NEW_state_to_hopper[$NEW_in]"; + $phone_to_hopper[$rec_countLEADS] = "$NEW_phone_to_hopper[$NEW_in]"; + $status_to_hopper[$rec_countLEADS] = "$NEW_status_to_hopper[$NEW_in]"; + if ($DB_show_offset) {print "LEAD_ADD: $NEW_leads_to_hopper[$NEW_in] $NEW_phone_to_hopper[$NEW_in]\n";} + $rec_countLEADS++; + $NEW_in++; + $NEW_dec=2; + } + } + if ($REC_rec_countLEADS > $REC_insert_count) + { + $leads_to_hopper[$rec_countLEADS] = "$REC_leads_to_hopper[$REC_insert_count]"; + $lists_to_hopper[$rec_countLEADS] = "$REC_lists_to_hopper[$REC_insert_count]"; + $gmt_to_hopper[$rec_countLEADS] = "$REC_gmt_to_hopper[$REC_insert_count]"; + $state_to_hopper[$rec_countLEADS] = "$REC_state_to_hopper[$REC_insert_count]"; + $phone_to_hopper[$rec_countLEADS] = "$REC_phone_to_hopper[$REC_insert_count]"; + $status_to_hopper[$rec_countLEADS] = "$REC_status_to_hopper[$REC_insert_count]"; + $rec_countLEADS++; + $REC_insert_count++; + } + $leads_to_hopper[$rec_countLEADS] = "$aryA[0]"; + $lists_to_hopper[$rec_countLEADS] = "$aryA[1]"; + $gmt_to_hopper[$rec_countLEADS] = "$aryA[2]"; + $state_to_hopper[$rec_countLEADS] = "$aryA[4]"; + $phone_to_hopper[$rec_countLEADS] = "$aryA[3]"; + $status_to_hopper[$rec_countLEADS] = "$aryA[5]"; + if ($DB_show_offset) {print "LEAD_ADD: $aryA[2] $aryA[3] $aryA[4]\n";} + $rec_countLEADS++; + $rec_count++; + } + $sthA->finish(); + } + + ##### LIST MIX LEADS GRAB ##### + else + { + $USX='_____'; + $x=0; + $z=0; + @LM_results=@MT; + foreach(@list_mixARY) + { + $rec_count=0; + @list_mix_stepARY=@MT; + + @list_mix_stepARY = split(/\|/,$list_mixARY[$x]); + $LM_step_goal[$x] = ( ($list_mix_stepARY[2] / 100) * $hopper_level[$i]); + $LM_step_even[$x] = ( (100 / $list_mix_stepARY[2]) * 100000); + $list_mix_stepARY[3] =~ s/ /','/gi; + $list_mix_stepARY[3] =~ s/^',|,'-//gi; + if ($DBX) {print " LM $x |$list_mix_stepARY[0]|$list_mix_stepARY[2]|$LM_step_goal[$x]|$list_mix_stepARY[3]|\n";} + $list_mix_dialableSQL = "(list_id='$list_mix_stepARY[0]' and status IN($list_mix_stepARY[3]))"; + + $stmtA = "SELECT lead_id,list_id,gmt_offset_now,phone_number,state,status FROM vicidial_list where called_since_last_reset='N' and $list_mix_dialableSQL and lead_id NOT IN($lead_id_lists) and ($all_gmtSQL[$i]) $lead_filter_sql[$i] $order_stmt limit $LM_step_goal[$x];"; + if ($DBX) {print " |$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + if ($mix_method[$i] =~ /RANDOM/) + { + $order = int( rand(9999999)) + 10000000; + } + else + { + if ($mix_method[$i] =~ /EVEN_MIX/) + { + $order = ( ($rec_count * $LM_step_even[$x]) + $x); + } + else + { + $order = ( ($x * 1000000) + $rec_count); + } + } + $LM_results[$z] = "$order$USX$aryA[0]$USX$aryA[1]$USX$aryA[2]$USX$aryA[3]$USX$aryA[4]$USX$aryA[5]"; + # if ($DBX) {print " $z|$LM_results[$z]\n";} + + $rec_count++; + $z++; + } + $sthA->finish(); + + $x++; + } + + @LM_results_SORT = sort { $a <=> $b } @LM_results; + + $w=0; + while ($z > $w) + { + @aryA = split(/_____/,$LM_results_SORT[$w]); + if ($REC_rec_countLEADS > $REC_insert_count) + { + $leads_to_hopper[$rec_countLEADS] = "$REC_leads_to_hopper[$REC_insert_count]"; + $lists_to_hopper[$rec_countLEADS] = "$REC_lists_to_hopper[$REC_insert_count]"; + $gmt_to_hopper[$rec_countLEADS] = "$REC_gmt_to_hopper[$REC_insert_count]"; + $state_to_hopper[$rec_countLEADS] = "$REC_state_to_hopper[$REC_insert_count]"; + $phone_to_hopper[$rec_countLEADS] = "$REC_phone_to_hopper[$REC_insert_count]"; + $status_to_hopper[$rec_countLEADS] = "$REC_status_to_hopper[$REC_insert_count]"; + $rec_countLEADS++; + $REC_insert_count++; + } + $leads_to_hopper[$rec_countLEADS] = "$aryA[1]"; + $lists_to_hopper[$rec_countLEADS] = "$aryA[2]"; + $gmt_to_hopper[$rec_countLEADS] = "$aryA[3]"; + $state_to_hopper[$rec_countLEADS] = "$aryA[4]"; + $phone_to_hopper[$rec_countLEADS] = "$aryA[5]"; + $status_to_hopper[$rec_countLEADS] = "$aryA[6]"; + if ($DB_show_offset) {print "LEAD_ADD: $aryA[3] $aryA[4] $aryA[5]\n";} + if ($DBX) {print " $w|$LM_results[$w]\n";} + $rec_countLEADS++; + $w++; + } + } + } + ### finish inserting any recycled leads if any + while ($REC_rec_countLEADS > $REC_insert_count) + { + $leads_to_hopper[$rec_countLEADS] = "$REC_leads_to_hopper[$REC_insert_count]"; + $lists_to_hopper[$rec_countLEADS] = "$REC_lists_to_hopper[$REC_insert_count]"; + $gmt_to_hopper[$rec_countLEADS] = "$REC_gmt_to_hopper[$REC_insert_count]"; + $state_to_hopper[$rec_countLEADS] = "$REC_state_to_hopper[$REC_insert_count]"; + $phone_to_hopper[$rec_countLEADS] = "$REC_phone_to_hopper[$REC_insert_count]"; + $status_to_hopper[$rec_countLEADS] = "$REC_status_to_hopper[$REC_insert_count]"; + $rec_countLEADS++; + $REC_insert_count++; + } + + if ($DB) {print " Adding to hopper: $rec_countLEADS\n";} + $event_string = "|$campaign_id[$i]|Added to hopper $rec_countLEADS|"; + &event_logger; + + $h=0; + foreach(@leads_to_hopper) + { + if ($leads_to_hopper[$h] != '0') + { + $DNClead=0; + if ($use_internal_dnc[$i] =~ /Y/) + { + if ($DB) {print " Doing DNC Check: $phone_to_hopper[$h] - $use_internal_dnc[$i]\n";} + $stmtA = "SELECT count(*) from vicidial_dnc where phone_number='$phone_to_hopper[$h]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DNClead = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + if ($DNClead != '0') + { + $stmtA = "UPDATE vicidial_list SET status='DNCL' where lead_id='$leads_to_hopper[$h]';"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print "Flagging DNC lead: $affected_rows $phone_to_hopper[$h]\n";} + } + } + if ( ($use_campaign_dnc[$i] =~ /Y/) && ($DNClead == '0') ) + { + if ($DB) {print "Doing CAMP DNC Check: $phone_to_hopper[$h] - $use_campaign_dnc[$i]\n";} + $stmtA = "SELECT count(*) from vicidial_campaign_dnc where phone_number='$phone_to_hopper[$h]' and campaign_id='$campaign_id[$i]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DNClead = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + if ($DNClead != '0') + { + $stmtA = "UPDATE vicidial_list SET status='DNCC' where lead_id='$leads_to_hopper[$h]';"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print "Flagging DNC lead: $affected_rows $phone_to_hopper[$h] $campaign_id[$i]\n";} + } + } + if ($DNClead == '0') + { + $stmtA = "INSERT INTO $vicidial_hopper (lead_id,campaign_id,status,user,list_id,gmt_offset_now,state,priority) values('$leads_to_hopper[$h]','$campaign_id[$i]','READY','','$lists_to_hopper[$h]','$gmt_to_hopper[$h]','$state_to_hopper[$h]','0');"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print "LEAD INSERTED: $affected_rows|$leads_to_hopper[$h]|\n";} + if ($DB_detail) + { + $detail_string = "|$campaign_id[$i]|$leads_to_hopper[$h]|$phone_to_hopper[$h]|$state_to_hopper[$h]|$gmt_to_hopper[$h]|$status_to_hopper[$h]|"; + &detail_logger; + } + } + } + $h++; + } + if ($DB) {print " DONE with this campaign\n";} + + } + } + + + $i++; + } + + +$dbhA->disconnect(); + +if($DB) +{ +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secT); + +if (!$q) {print "DONE. Script execution time in seconds: $secZ\n";} +} + +exit; + + + +sub event_logger +{ +if ($SYSLOG) + { + ### open the log file for writing ### + open(Lout, ">>$VDHLOGfile") + || die "Can't open $VDHLOGfile: $!\n"; + print Lout "$now_date|$event_string|\n"; + close(Lout); + } +$event_string=''; +} + +sub detail_logger +{ +if ($SYSLOG) + { + ### open the log file for writing ### + open(LDout, ">>$VDHDLOGfile") + || die "Can't open $VDHDLOGfile: $!\n"; + print LDout "$now_date|$detail_string|\n"; + close(LDout); + } +$detail_string=''; +} + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_VDlist_summary_export.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_VDlist_summary_export.pl new file mode 100644 index 00000000..8d5a41a0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_VDlist_summary_export.pl @@ -0,0 +1,472 @@ +#!/usr/bin/perl +# +# AST_VDlist_summary_export.pl version: 2.0.5 +# +# This script is designed to gather stats for the lists and write to static files +# this script should be run from the web server +# +# /usr/share/astguiclient/AST_VDlist_summary_export.pl --email-list=test@gmail.com --email-sender=test@test.com +# +# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 81214-0001 - First version +# 90106-2308 - Added email sending +# + +$txt = '.txt'; +$US = '_'; +$MT[0] = ''; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) + { + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n"; + print " [-q] = quiet\n"; + print " [-t] = test\n"; + print " [--debug] = debugging messages\n"; + print " [--debugX] = Super debugging messages\n"; + print " [--email-list=test@test.com:test2@test.com] = send email results to these addresses\n"; + print " [--email-sender=vicidial@localhost] = sender for the email results\n"; + print "\n"; + + exit; + } + else + { + if ($args =~ /--debug/i) + { + $DB=1; + print "\n----- DEBUG MODE -----\n\n"; + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n----- SUPER DEBUG MODE -----\n\n"; + } + if ($args =~ /-q/i) + { + $q=1; $Q=1; + } + if ($args =~ /--test/i) + { + $T=1; $TEST=1; + print "\n----- TESTING -----\n\n"; + } + if ($args =~ /--email-list=/i) + { + @data_in = split(/--email-list=/,$args); + $email_list = $data_in[1]; + $email_list =~ s/ .*//gi; + $email_list =~ s/:/,/gi; + print "\n----- EMAIL NOTIFICATION: $email_list -----\n\n"; + } + else + {$email_list = '';} + + if ($args =~ /--email-sender=/i) + { + @data_in = split(/--email-sender=/,$args); + $email_sender = $data_in[1]; + $email_sender =~ s/ .*//gi; + $email_sender =~ s/:/,/gi; + print "\n----- EMAIL NOTIFICATION SENDER: $email_sender -----\n\n"; + } + else + {$email_sender = 'vicidial@localhost';} + } + } +else + { + print "no command line options set, using defaults.\n"; + } +### end parsing run-time options ### + + +$secX = time(); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + +# # rerun override - Use this to override the day manually +# $year='2007'; +# $mon='5'; +# $mday='18'; + + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $timestamp = "$year-$mon-$mday $hour:$min:$sec"; + $filedate = "$year$mon$mday"; + $shipdate = "$year-$mon-$mday"; + $datestamp = "$year/$mon/$mday $hour:$min"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_host/) && ($CLIREPORT_host < 1) ) + {$VARREPORT_host = $line; $VARREPORT_host =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_user/) && ($CLIREPORT_user < 1) ) + {$VARREPORT_user = $line; $VARREPORT_user =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_pass/) && ($CLIREPORT_pass < 1) ) + {$VARREPORT_pass = $line; $VARREPORT_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_port/) && ($CLIREPORT_port < 1) ) + {$VARREPORT_port = $line; $VARREPORT_port =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_dir/) && ($CLIREPORT_dir < 1) ) + {$VARREPORT_dir = $line; $VARREPORT_dir =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if ($output_format =~ /^pipe-standard$/) + {$DLT = '|'; $txt='.txt'; print "---- pipe-standard ----\n";} +if ($output_format =~ /^csv-standard$/) + {$DLT = "','"; $txt='.csv'; print "---- csv-standard ----\n";} +if ($output_format =~ /^tab-standard$/) + {$DLT = "\t"; $txt='.txt'; print "---- tab-standard ----\n";} +if ($output_format =~ /^pipe-triplep$/) + {$DLT = ''; $txt='.txt'; print "---- pipe-triplep ----\n";} +if ($output_format =~ /^pipe-vici$/) + {$DLT = '|'; $txt='.txt'; print "---- pipe-vici ----\n";} +if ($output_format =~ /^html-rec$/) + {$DLT = ' '; $txt='.html'; print "---- html-rec ----\n";} + +if (!$Q) + { + print "\n\n\n\n\n\n\n\n\n\n\n\n-- AST_VDlist_summary_export.pl --\n\n"; + print "This program is designed to gather stats on lead lists and post them to a file. \n"; + print "\n"; + print "$timestamp LIST STATUS SUMMARY REPORT\n"; + print "\n"; + } + +$outfile = "LIST_REPORT_$filedate$txt"; + +### open the X out file for writing ### +$PATHoutfile = "$PATHweb/vicidial/server_reports/$outfile"; +open(out, ">$PATHoutfile") + || die "Can't open $PATHoutfile: $!\n"; + +$Ealert = "$timestamp LIST STATUS SUMMARY REPORT\n\n"; + + +if (!$VARDB_port) {$VARDB_port='3306';} + + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +$TOTAL_LEADS=0; + + +########################################################################### +########### CURRENT DAY SALES GATHERING outbound-only: vicidial_log ###### +########################################################################### +$stmtA = "select count(*),list_id,status from vicidial_list where list_id>99 group by list_id,status order by list_id,status;"; +if ($DB) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$i=0; +while ($sthArows > $i) + { + @aryA = $sthA->fetchrow_array; + $count[$i] = $aryA[0]; + $list_id[$i] = $aryA[1]; + $status[$i] = $aryA[2]; + $i++; + } +$sthA->finish(); + +$i=0; +$k=0; +$m=0; +$previous_list=$lists_list_id[0]; +foreach(@list_id) + { + $stmtA = "select status_name from vicidial_statuses where status='$status[$i]';"; + if ($DB) {print "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $status_name[$i] = $aryA[0]; + } + $sthA->finish(); + if (length($status_name[$i])<1) + { + $stmtA = "select status_name from vicidial_campaign_statuses where status='$status[$i]';"; + if ($DB) {print "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $status_name[$i] = $aryA[0]; + } + $sthA->finish(); + } + + $status[$i] = sprintf("%-7s", $status[$i]); + $status_name[$i] = sprintf("%-20s", $status_name[$i]); while (length($status_name[$i])>20) {$status_name[$i] =~ s/.$//gi;} + $count[$i] = sprintf("%7s", $count[$i]); + if ( ($list_id[$i] =~ /$previous_list/) && (length($list_id[$i]) == length($previous_list)) ) + { + if ($lists_line_count[$k] == 1) {$p='List Name ';} + if ($lists_line_count[$k] == 2) {$p='Campaign ID ';} + if ($lists_line_count[$k] == 3) {$p='Campaign Name ';} + if ($lists_line_count[$k] == 4) {$p=' TOTAL LEADS IN LIST ';} + if ($lists_line_count[$k] > 4) {$p=' ';} + $lists_line_output[$k] .= "$p $status[$i] $status_name[$i] $count[$i]\n"; + $lists_line_count[$k]++; + $lists_line_tally[$k] = ($lists_line_tally[$k] + $count[$i]); + $lists_list_id[$k] = $list_id[$i]; + } + else + { + if ($lists_line_count[$k] <= 1) {$lists_line_output[$k] .= "List Name \n";} + if ($lists_line_count[$k] <= 2) {$lists_line_output[$k] .= "Campaign ID \n";} + if ($lists_line_count[$k] <= 3) {$lists_line_output[$k] .= "Campaign Name \n";} + if ($lists_line_count[$k] <= 4) {$lists_line_output[$k] .= " TOTAL LEADS IN LIST \n";} + $k++; + $lists_line_output[$k] .= "List ID $status[$i] $status_name[$i] $count[$i]\n"; + $lists_line_count[$k]++; + $lists_line_tally[$k] = ($lists_line_tally[$k] + $count[$i]); + $lists_list_id[$k] = $list_id[$i]; + $previous_list=$list_id[$i]; + } + $i++; + } + + if ($lists_line_count[$k] <= 1) {$lists_line_output[$k] .= "List Name \n";} + if ($lists_line_count[$k] <= 2) {$lists_line_output[$k] .= "Campaign ID \n";} + if ($lists_line_count[$k] <= 3) {$lists_line_output[$k] .= "Campaign Name \n";} + if ($lists_line_count[$k] <= 4) {$lists_line_output[$k] .= " TOTAL LEADS IN LIST \n";} + +$i=0; +foreach(@lists_list_id) + { + if (length($lists_list_id[$i])>2) + { + $stmtA = "select list_name,vicidial_lists.campaign_id,campaign_name from vicidial_lists,vicidial_campaigns where list_id='$lists_list_id[$i]' and vicidial_lists.campaign_id=vicidial_campaigns.campaign_id;"; + if ($DB) {print "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $lists_list_name[$i] = sprintf("%-30s", $aryA[0]); while (length($lists_list_name[$i])>30) {$lists_list_name[$i] =~ s/.$//gi;} + $lists_campaign_id[$i] = sprintf("%-28s", $aryA[1]); while (length($lists_campaign_id[$i])>28) {$lists_campaign_id[$i] =~ s/.$//gi;} + $lists_campaign_name[$i] = sprintf("%-26s", $aryA[2]); while (length($lists_campaign_name[$i])>26) {$lists_campaign_name[$i] =~ s/.$//gi;} + } + $sthA->finish(); + + $lists_list_id[$i] = sprintf("%-15s", $lists_list_id[$i]); while (length($lists_list_id[$i])>15) {$lists_list_id[$i] =~ s/.$//gi;} + $lists_list_id[$i] = "$lists_list_id[$i] ($i of $k)"; + $lists_list_id[$i] = sprintf("%-32s", $lists_list_id[$i]); while (length($lists_list_id[$i])>32) {$lists_list_id[$i] =~ s/.$//gi;} + $lists_line_tally[$i] = sprintf("%-18s", $lists_line_tally[$i]); while (length($lists_line_tally[$i])>18) {$lists_line_tally[$i] =~ s/.$//gi;} + $TOTAL_LEADS = ($TOTAL_LEADS + $lists_line_tally[$i]); + + $lists_line_output[$i] =~ s/List ID/List ID: $lists_list_id[$i]/gi; + $lists_line_output[$i] =~ s/List Name/List Name: $lists_list_name[$i]/gi; + $lists_line_output[$i] =~ s/Campaign ID/Campaign ID: $lists_campaign_id[$i]/gi; + $lists_line_output[$i] =~ s/Campaign Name/Campaign Name: $lists_campaign_name[$i]/gi; + $lists_line_output[$i] =~ s/TOTAL LEADS IN LIST/TOTAL LEADS IN LIST: $lists_line_tally[$i]/gi; + + $Ealert .= "\n"; + $Ealert .= " LIST INFORMATION STATUS DESCRIPTION COUNT\n"; + $Ealert .= "-------------------------------------------------------------------------------\n"; + $Ealert .= "$lists_line_output[$i]"; + } + $i++; + } + + + + + +if ($ftp_transfer > 0) +{ + use Net::FTP; + + if (!$Q) {print "Sending File Over FTP: $outfile\n";} + $ftp = Net::FTP->new("$VARREPORT_host", Port => $VARREPORT_port); + $ftp->login("$VARREPORT_user","$VARREPORT_pass"); + $ftp->cwd("$VARREPORT_dir"); + $ftp->put("$PATHweb/vicidial/server_reports/$outfile", "$outfile"); + $ftp->quit; +} + +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secX); +$secZm = ($secZ /60); + +$Ealert .= "\n"; +$Ealert .= "-------------------------------------------------------------------------------------\n"; +$Ealert .= "LIST REPORT FOR $timestamp: $outfile\n"; +$Ealert .= "TOTAL LEADS IN SYSTEM: $TOTAL_LEADS\n"; +$Ealert .= "\n"; +$Ealert .= "TOTAL LEADS IN SYSTEM BY STATUS:\n"; + +### gather status subtotals +$stmtA = "select count(*),status from vicidial_list where list_id>99 group by status order by status;"; +if ($DB) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$i=0; +while ($sthArows > $i) + { + @aryA = $sthA->fetchrow_array; + $Tcount[$i] = $aryA[0]; + $Tstatus[$i] = $aryA[1]; + $i++; + } +$sthA->finish(); + +$i=0; +$k=0; +$m=0; +foreach(@Tstatus) + { + $stmtA = "select status_name from vicidial_statuses where status='$Tstatus[$i]';"; + if ($DB) {print "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $Tstatus_name[$i] = $aryA[0]; + } + $sthA->finish(); + if (length($Tstatus_name[$i])<1) + { + $stmtA = "select status_name from vicidial_campaign_statuses where status='$Tstatus[$i]';"; + if ($DB) {print "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $Tstatus_name[$i] = $aryA[0]; + } + $sthA->finish(); + } + + $Tstatus[$i] = sprintf("%-7s", $Tstatus[$i]); + $Tstatus_name[$i] = sprintf("%-20s", $Tstatus_name[$i]); while (length($Tstatus_name[$i])>20) {$Tstatus_name[$i] =~ s/.$//gi;} + $Tcount[$i] = sprintf("%7s", $Tcount[$i]); + + $Ealert .= "$Tstatus[$i] - $Tstatus_name[$i]: $Tcount[$i]\n"; + + $i++; + } + +print "script execution time in seconds: $secZ minutes: $secZm\n"; + +print out "$Ealert"; + +close(out); + +###### EMAIL SECTION + +if ( (length($Ealert)>5) && (length($email_list) > 3) ) + { + print "Sending email: $email_list\n"; + + use MIME::QuotedPrint; + use MIME::Base64; + use Mail::Sendmail; + + $mailsubject = "VICIDIAL Lead Lists Report $shipdate"; + + %mail = ( To => "$email_list", + From => "$email_sender", + Subject => "$mailsubject", + ); + $boundary = "====" . time() . "===="; + $mail{'content-type'} = "multipart/mixed; boundary=\"$boundary\""; + + $message = encode_qp( "VICIDIAL Lead Lists Report for $shipdate:\n\n Attachment: $outfile" ); + + $Zfile = "$PATHoutfile"; + + open (F, $Zfile) or die "Cannot read $Zfile: $!"; + binmode F; undef $/; + $attachment = encode_base64(); + close F; + + $boundary = '--'.$boundary; + $mail{body} .= "$boundary\n"; + $mail{body} .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n"; + $mail{body} .= "Content-Transfer-Encoding: quoted-printable\n\n"; + $mail{body} .= "$message\n"; + $mail{body} .= "$boundary\n"; + $mail{body} .= "Content-Type: application/octet-stream; name=\"$outfile\"\n"; + $mail{body} .= "Content-Transfer-Encoding: base64\n"; + $mail{body} .= "Content-Disposition: attachment; filename=\"$outfile\"\n\n"; + $mail{body} .= "$attachment\n"; + $mail{body} .= "$boundary"; + $mail{body} .= "--\n"; + + sendmail(%mail) or die $mail::Sendmail::error; + print "ok. log says:\n", $mail::sendmail::log; ### print mail log for status + + } + + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_VDlist_summary_export_UK.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_VDlist_summary_export_UK.pl new file mode 100644 index 00000000..a4970092 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_VDlist_summary_export_UK.pl @@ -0,0 +1,445 @@ +#!/usr/bin/perl +# +# AST_VDlist_summary_export_UK.pl version: 2.0.5 +# +# This script is designed to gather stats for the lists and write to static files +# this script should be run from the web server +# +# /usr/share/astguiclient/AST_VDlist_summary_export_UK.pl --campaign=GOODB-GROUP1 --good-statuses=NEW --filename=UNWORKED_LEADS_YYYY-MM-DD.txt --email-list=test@gmail.com --email-sender=test@test.com +# +# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 90105-2343 - First version +# 90106-2308 - Added email sending +# + +$secX = time(); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $timestamp = "$year-$mon-$mday $hour:$min:$sec"; + $filedate = "$year$mon$mday"; + $shipdate = "$year-$mon-$mday"; + $datestamp = "$year/$mon/$mday $hour:$min"; + +$txt = '.txt'; +$US = '_'; +$MT[0] = ''; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) + { + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n"; + print " [-q] = quiet\n"; + print " [-t] = test\n"; + print " [--debug] = debugging messages\n"; + print " [--debugX] = Super debugging messages\n"; + print " [--campaign=XXX] = Campaign that sales will be pulled from\n"; + print " [--good-statuses=XXX-XXY] = Statuses that are deemed to be \"Good\". Default NEW\n"; + print " [--filename=XXX] = Name to be used for file\n"; + print " [--email-list=test@test.com:test2@test.com] = send email results to these addresses\n"; + print " [--email-sender=vicidial@localhost] = sender for the email results\n"; + + print "\n"; + + exit; + } + else + { + if ($args =~ /--debug/i) + { + $DB=1; + print "\n----- DEBUG MODE -----\n\n"; + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n----- SUPER DEBUG MODE -----\n\n"; + } + if ($args =~ /-q/i) + { + $q=1; $Q=1; + } + if ($args =~ /--test/i) + { + $T=1; $TEST=1; + print "\n----- TESTING -----\n\n"; + } + if ($args =~ /--campaign=/i) + { + # print "\n|$ARGS|\n\n"; + @data_in = split(/--campaign=/,$args); + $campaign = $data_in[1]; + $campaign =~ s/ .*$//gi; + $campaignSQL = $campaign; + if ($campaignSQL =~ /-/) + { + $campaignSQL =~ s/-/','/gi; + } + $campaignSQL = "'$campaignSQL'"; + } + if ($args =~ /--good-statuses=/i) + { + @data_in = split(/--good-statuses=/,$args); + $good_statuses = $data_in[1]; + $good_statuses =~ s/ .*$//gi; + $good_statusesSQL = $good_statuses; + $good_statusesSQL =~ s/-/','/gi; + $good_statusesSQL = "'$good_statusesSQL'"; + } + if ($args =~ /--email-list=/i) + { + @data_in = split(/--email-list=/,$args); + $email_list = $data_in[1]; + $email_list =~ s/ .*//gi; + $email_list =~ s/:/,/gi; + print "\n----- EMAIL NOTIFICATION: $email_list -----\n\n"; + } + else + {$email_list = '';} + + if ($args =~ /--email-sender=/i) + { + @data_in = split(/--email-sender=/,$args); + $email_sender = $data_in[1]; + $email_sender =~ s/ .*//gi; + $email_sender =~ s/:/,/gi; + print "\n----- EMAIL NOTIFICATION SENDER: $email_sender -----\n\n"; + } + else + {$email_sender = 'vicidial@localhost';} + if ($args =~ /--filename=/i) + { + # print "\n|$ARGS|\n\n"; + @data_in = split(/--filename=/,$args); + $filename = $data_in[1]; + $filename =~ s/ .*$//gi; + $filename =~ s/YYYY/$year/gi; + $filename =~ s/MM/$mon/gi; + $filename =~ s/DD/$mday/gi; + $filename_override=1; + } + } + } +else + { + print "no command line options set, using defaults.\n"; + } +### end parsing run-time options ### + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_host/) && ($CLIREPORT_host < 1) ) + {$VARREPORT_host = $line; $VARREPORT_host =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_user/) && ($CLIREPORT_user < 1) ) + {$VARREPORT_user = $line; $VARREPORT_user =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_pass/) && ($CLIREPORT_pass < 1) ) + {$VARREPORT_pass = $line; $VARREPORT_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_port/) && ($CLIREPORT_port < 1) ) + {$VARREPORT_port = $line; $VARREPORT_port =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_dir/) && ($CLIREPORT_dir < 1) ) + {$VARREPORT_dir = $line; $VARREPORT_dir =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$Q) + { + print "\n\n\n\n\n\n\n\n\n\n\n\n-- AST_VDlist_summary_export_UK.pl --\n\n"; + print "This program is designed to gather stats on lead lists and post them to a file. \n"; + print "\n"; + print "$timestamp UK LIST STATUS SUMMARY REPORT\n"; + print "\n"; + print "================================================================================\n"; + print "Region Postal --------------------- Prioirty ----------------------\n"; + print " Code Code 1 2 7 8 5 6 Bad Total\n"; + print "--------------------------------------------------------------------------------\n"; + } + +$outfile = "UNWORKED_LEADS_$filedate$txt"; +if ($filename_override > 0) {$outfile = $filename;} + +### open the X out file for writing ### +$PATHoutfile = "$PATHweb/vicidial/server_reports/$outfile"; +open(out, ">$PATHoutfile") + || die "Can't open $PATHoutfile: $!\n"; + + +$Ealert .= "$timestamp UK REGION STATUS SUMMARY REPORT\n\n"; +$Ealert .= "================================================================================\n"; +$Ealert .= "Region Postal --------------------- Prioirty ----------------------\n"; +$Ealert .= " Code Code 1 2 7 8 5 6 Bad Total\n"; +$Ealert .= "--------------------------------------------------------------------------------\n"; + + +if (!$VARDB_port) {$VARDB_port='3306';} + + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +$TOTAL_LEADS=0; + + +########################################################################### +########### grab lists within campaigns and regions of the UK ###### +########################################################################### + +$stmtA = "select list_id from vicidial_lists where campaign_id IN($campaignSQL);"; +if ($DBX) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$i=0; +while ($sthArows > $i) + { + @aryA = $sthA->fetchrow_array; + $listSQL .= "'$aryA[0]',"; + $i++; + } +$sthA->finish(); +if ($sthArows < 1) {print "ERROR! no lists for campaigns $campaign"; exit;} +else {$listSQL =~ s/,$//gi;} + +$stmtA = "select region,region_code,post_code_prefix,country_code,list_code_id from vicidial_uk_region_codes order by region_code,post_code_prefix limit 2000;"; +if ($DBX) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$i=0; +$m=0; +while ($sthArows > $m) + { + @aryA = $sthA->fetchrow_array; + if (length($aryA[2])<3) + { + $region[$i] = $aryA[0]; + $region_code[$i] = $aryA[1]; + $post_code_prefix[$i] = $aryA[2]; if (length($post_code_prefix[$i])<2) {$post_code_prefix[$i] = "$post_code_prefix[$i] ";} + $country_code[$i] = $aryA[3]; + $list_code_id[$i] = $aryA[4]; + $i++; + } + $m++; + } +$sthA->finish(); +if ($sthArows < 1) {print "ERROR! no regions in the UK"; exit;} + +$i=0; +$k=0; +$m=0; +$previous_region_code=''; +$p1t=0; $p2t=0; $p7t=0; $p8t=0; $p5t=0; $p6t=0; $p9t=0; $pSt=0; +$p1T=0; $p2T=0; $p7T=0; $p8T=0; $p5T=0; $p6T=0; $p9T=0; $pST=0; +foreach(@region_code) + { + if ( ($region_code[$i] =~ /$previous_region_code/) && (length($region_code[$i]) == length($previous_region_code)) ) + {$do_nothing=1;} + else + { + if ($i > 0) + { + $p1T = ($p1T + $p1t); + $p2T = ($p2T + $p2t); + $p7T = ($p7T + $p7t); + $p8T = ($p8T + $p8t); + $p5T = ($p5T + $p5t); + $p6T = ($p6T + $p6t); + $p9T = ($p9T + $p9t); + $pST = ($pST + $pSt); + $p1t = sprintf("%-8s",$p1t); + $p2t = sprintf("%-8s",$p2t); + $p7t = sprintf("%-8s",$p7t); + $p8t = sprintf("%-8s",$p8t); + $p5t = sprintf("%-8s",$p5t); + $p6t = sprintf("%-8s",$p6t); + $p9t = sprintf("%-7s",$p9t); + $pSt = sprintf("%-8s",$pSt); + $previous_region_code = sprintf("%-3s",$previous_region_code); + + $Ealert .= " Subtotal: $previous_region_code $p1t$p2t$p7t$p8t$p5t$p6t$p9t$pSt\n"; + if ($DB) {print " Subtotal: $previous_region_code $p1t$p2t$p7t$p8t$p5t$p6t$p9t$pSt\n";} + $p1t=0; $p2t=0; $p7t=0; $p8t=0; $p5t=0; $p6t=0; $p9t=0; $pSt=0; + } + $Ealert .= "$region[$i] - $region_code[$i]:\n"; + if ($DB) {print "$region[$i] - $region_code[$i]:\n";} + $previous_region_code=$region_code[$i]; + } + + $p1[$i]=0; $p2[$i]=0; $p7[$i]=0; $p8[$i]=0; $p5[$i]=0; $p6[$i]=0; $p9[$i]=0; $pS[$i]=0; + $stmtA = "select count(*),list_id from vicidial_list where postal_code LIKE \"$post_code_prefix[$i]%\" and list_id IN($listSQL) and status IN($good_statusesSQL) group by list_id order by list_id,status;"; + if ($DBX) {print "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $k=0; + while ($sthArows > $k) + { + @aryA = $sthA->fetchrow_array; + $count[$k] = $aryA[0]; + $list_id[$k] = $aryA[1]; + if ($DBX) {print "$i|$k|$region_code[$i]|$post_code_prefix[$i]| |$count[$k]|$list_id[$k]|\n";} + if ($list_id[$k] =~ /1$/) {$p1[$i]=($p1[$i] + $count[$k]); $p1t=($p1t + $count[$k]);} + if ($list_id[$k] =~ /2$/) {$p2[$i]=($p2[$i] + $count[$k]); $p2t=($p2t + $count[$k]);} + if ($list_id[$k] =~ /7$/) {$p7[$i]=($p7[$i] + $count[$k]); $p7t=($p7t + $count[$k]);} + if ($list_id[$k] =~ /8$/) {$p8[$i]=($p8[$i] + $count[$k]); $p8t=($p8t + $count[$k]);} + if ($list_id[$k] =~ /5$/) {$p5[$i]=($p5[$i] + $count[$k]); $p5t=($p5t + $count[$k]);} + if ($list_id[$k] =~ /6$/) {$p6[$i]=($p6[$i] + $count[$k]); $p6t=($p6t + $count[$k]);} + if ($list_id[$k] =~ /3$|4$|9$|0$/) {$p9[$i]=($p9[$i] + $count[$k]); $p9t=($p9t + $count[$k]);} + $pS[$i] = ($pS[$i] + $count[$k]); + $pSt = ($pSt + $count[$k]); + $k++; + } + $sthA->finish(); + + $p1[$i] = sprintf("%-8s",$p1[$i]); + $p2[$i] = sprintf("%-8s",$p2[$i]); + $p7[$i] = sprintf("%-8s",$p7[$i]); + $p8[$i] = sprintf("%-8s",$p8[$i]); + $p5[$i] = sprintf("%-8s",$p5[$i]); + $p6[$i] = sprintf("%-8s",$p6[$i]); + $p9[$i] = sprintf("%-7s",$p9[$i]); + $pS[$i] = sprintf("%-8s",$pS[$i]); + $post_code_prefix[$i] = sprintf("%-5s",$post_code_prefix[$i]); + + $Ealert .= " $post_code_prefix[$i]$p1[$i]$p2[$i]$p7[$i]$p8[$i]$p5[$i]$p6[$i]$p9[$i]$pS[$i]\n"; + if ($DB) {print " $post_code_prefix[$i]$p1[$i]$p2[$i]$p7[$i]$p8[$i]$p5[$i]$p6[$i]$p9[$i]$pS[$i]\n";} + + $i++; + } + +$p1T = sprintf("%-8s",$p1T); +$p2T = sprintf("%-8s",$p2T); +$p7T = sprintf("%-8s",$p7T); +$p8T = sprintf("%-8s",$p8T); +$p5T = sprintf("%-8s",$p5T); +$p6T = sprintf("%-8s",$p6T); +$p9T = sprintf("%-7s",$p9T); +$pST = sprintf("%-8s",$pST); + +$Ealert .= "TOTAL $p1T$p2T$p7T$p8T$p5T$p6T$p9T$pST\n"; +if ($DB) {print "TOTAL $p1T$p2T$p7T$p8T$p5T$p6T$p9T$pST\n";} + + +if ($ftp_transfer > 0) +{ + use Net::FTP; + + if (!$Q) {print "Sending File Over FTP: $outfile\n";} + $ftp = Net::FTP->new("$VARREPORT_host", Port => $VARREPORT_port); + $ftp->login("$VARREPORT_user","$VARREPORT_pass"); + $ftp->cwd("$VARREPORT_dir"); + $ftp->put("$PATHweb/vicidial/server_reports/$outfile", "$outfile"); + $ftp->quit; +} + +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secX); +$secZm = ($secZ /60); + +print "script execution time in seconds: $secZ minutes: $secZm\n"; + +print out "$Ealert"; +close(out); + +###### EMAIL SECTION + +if ( (length($Ealert)>5) && (length($email_list) > 3) ) + { + print "Sending email: $email_list\n"; + + use MIME::QuotedPrint; + use MIME::Base64; + use Mail::Sendmail; + + $mailsubject = "VICIDIAL Unworked Leads $outfile"; + + %mail = ( To => "$email_list", + From => "$email_sender", + Subject => "$mailsubject", + ); + $boundary = "====" . time() . "===="; + $mail{'content-type'} = "multipart/mixed; boundary=\"$boundary\""; + + $message = encode_qp( "VICIDIAL Unworked leads Report for $shipdate:\n\n Attachment: $outfile" ); + + $Zfile = "$PATHoutfile"; + + open (F, $Zfile) or die "Cannot read $Zfile: $!"; + binmode F; undef $/; + $attachment = encode_base64(); + close F; + + $boundary = '--'.$boundary; + $mail{body} .= "$boundary\n"; + $mail{body} .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n"; + $mail{body} .= "Content-Transfer-Encoding: quoted-printable\n\n"; + $mail{body} .= "$message\n"; + $mail{body} .= "$boundary\n"; + $mail{body} .= "Content-Type: application/octet-stream; name=\"$outfile\"\n"; + $mail{body} .= "Content-Transfer-Encoding: base64\n"; + $mail{body} .= "Content-Disposition: attachment; filename=\"$outfile\"\n\n"; + $mail{body} .= "$attachment\n"; + $mail{body} .= "$boundary"; + $mail{body} .= "--\n"; + + sendmail(%mail) or die $mail::Sendmail::error; + print "ok. log says:\n", $mail::sendmail::log; ### print mail log for status + + } + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_VDremote_agents.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_VDremote_agents.pl new file mode 100644 index 00000000..f613adfa --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_VDremote_agents.pl @@ -0,0 +1,889 @@ +#!/usr/bin/perl +# +# AST_VDremote_agents.pl version 2.0.5 *DBI-version* +# +# DESCRIPTION: +# uses Net::MySQL to keep remote agents logged in to the VICIDIAL system +# +# SUMMARY: +# This program was designed for people using the Asterisk PBX with VICIDIAL +# +# For the client to use VICIDIAL with remote agents, this must always be running +# +# It is recommended that you run this program on the local Asterisk machine +# +# This script is to run perpetually querying every second to update the remote +# agents that should appear to be logged in so that the calls can be transferred +# out to them properly. +# +# It is good practice to keep this program running by placing the associated +# KEEPALIVE script running every minute to ensure this program is always running +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGELOG: +# 50215-0954 - First version of script +# 50810-1615 - Added database server variable definitions lookup +# 60807-1003 - Changed to DBI +# - Changed to use /etc/astguiclient.conf for configs +# 60814-1726 - Added option for no logging to file +# 60814-1726 - Added option for no logging to file +# 61012-1025 - Added performance testing options +# 61110-1443 - Added user_level from vicidial_user record into vicidial_live_agents +# 70213-1306 - Added queuemetrics logging +# 70214-1243 - Added queuemetrics_log_id field to queue_log logging +# 70222-1606 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70417-1346 - Fixed bug that would add unneeded simulated agent lines +# 80128-0105 - Fixed calls_today bug +# 81007-1746 - Added debugX output for count statements and changed to if from while +# 81026-1246 - Added better logging of calls and fixed the DROP bug +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-t] = test\n [-v] = verbose debug messages\n [--delay=XXX] = delay of XXX seconds per loop, default 2 seconds\n\n"; + } + else + { + if ($args =~ /--delay=/i) + { + @data_in = split(/--delay=/,$args); + $loop_delay = $data_in[1]; + print " LOOP DELAY OVERRIDE!!!!! = $loop_delay seconds\n\n"; + $loop_delay = ($loop_delay * 1000); + } + else + { + $loop_delay = '2000'; + } + if ($args =~ /--debug/i) + { + $DB=1; + print "\n-----DEBUGGING -----\n\n"; + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n----- SUPER-DUPER DEBUGGING -----\n\n"; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} +else +{ +print "no command line options set\n"; + $loop_delay = '2000'; +} +### end parsing run-time options ### + + +# constants +$US='__'; +$MT[0]=''; +$local_DEF = 'Local/'; +$conf_silent_prefix = '7'; +$local_AMP = '@'; +$agents = '@agents'; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + + + &get_time_now; # update time/date variables + +if (!$VDRLOGfile) {$VDRLOGfile = "$PATHlogs/remoteagent.$year-$mon-$mday";} +if (!$VARDB_port) {$VARDB_port='3306';} + +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database + $stmtA = "SELECT vd_server_logs,local_gmt,ext_context FROM servers where server_ip = '$VARserver_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvd_server_logs = "$aryA[0]"; + $DBSERVER_GMT = "$aryA[1]"; + $ext_context = "$aryA[2]"; + if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';} + else {$SYSLOG = '0';} + if (length($DBSERVER_GMT)>0) {$SERVER_GMT = $DBSERVER_GMT;} + $rec_count++; + } + $sthA->finish(); + + + &get_time_now; # update time/date variables + + $event_string='PROGRAM STARTED||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||'; + &event_logger; # writes to the log and if debug flag is set prints to STDOUT + + + $event_string='LOGGED INTO MYSQL SERVER ON 1 CONNECTION|'; + &event_logger; + +$one_day_interval = 12; # 1 month loops for one year +while($one_day_interval > 0) +{ + + $endless_loop=5760000; # 30 days minutes at XXX seconds per loop + + while($endless_loop > 0) + { + &get_time_now; + + $VDRLOGfile = "$PATHlogs/remoteagent.$year-$mon-$mday"; + + if ($endless_loop =~ /0$|5$/) + { + ### Grab Server values from the database + $stmtA = "SELECT vd_server_logs FROM servers where server_ip = '$VARserver_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvd_server_logs = "$aryA[0]"; + if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';} + else {$SYSLOG = '0';} + $rec_count++; + } + $sthA->finish(); + + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmtA = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $enable_queuemetrics_logging = "$aryA[0]"; + $queuemetrics_server_ip = "$aryA[1]"; + $queuemetrics_dbname = "$aryA[2]"; + $queuemetrics_login = "$aryA[3]"; + $queuemetrics_pass = "$aryA[4]"; + $queuemetrics_log_id = "$aryA[5]"; + $rec_count++; + } + $sthA->finish(); + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + + + ### delete call records that are LIVE for over 10 minutes and last_update_time < '$PDtsSQLdate' + $stmtA = "DELETE FROM vicidial_live_agents where server_ip='$server_ip' and status IN('PAUSED') and extension LIKE \"R/%\";"; + $affected_rows = $dbhA->do($stmtA); + + $event_string = "| lagged call vla agent DELETED $affected_rows"; + &event_logger; + + ##### grab number of calls today in this campaign and increment + $stmtA="SELECT calls_today FROM vicidial_live_agents WHERE extension LIKE \"R/%\";"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $vla_cc_ct=$sthA->rows; + if ($vla_cc_ct > 0) + { + @aryA = $sthA->fetchrow_array; + $calls_today = "$aryA[0]"; + $rec_count++; + } + else + {$calls_today ='0';} + $calls_today++; + $sthA->finish(); + + @QHlive_agent_id=@MT; + @QHlead_id=@MT; + @QHuniqueid=@MT; + @QHuser=@MT; + @QHcall_type=@MT; + ##### grab number of calls today in this campaign and increment + $stmtA = "SELECT vla.live_agent_id,vla.lead_id,vla.uniqueid,vla.user,vac.call_type FROM vicidial_live_agents vla,vicidial_auto_calls vac where vla.server_ip='$server_ip' and vla.status IN('QUEUE') and vla.extension LIKE \"R/%\" and vla.uniqueid=vac.uniqueid and vla.channel=vac.channel;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $vla_qh_ct=$sthA->rows; + $w=0; + while ($vla_qh_ct > $w) + { + @aryA = $sthA->fetchrow_array; + $QHlive_agent_id[$w] = "$aryA[0]"; + $QHlead_id[$w] = "$aryA[1]"; + $QHuniqueid[$w] = "$aryA[2]"; + $QHuser[$w] = "$aryA[3]"; + $QHcall_type[$w] = "$aryA[4]"; + $w++; + } + $sthA->finish(); + + $w=0; + while ($vla_qh_ct > $w) + { + $stmtA = "UPDATE vicidial_live_agents set status='INCALL', last_call_time='$SQLdate',comments='REMOTE',calls_today='$calls_today' where live_agent_id='$QHlive_agent_id[$w]';"; + $Aaffected_rows = $dbhA->do($stmtA); + + $stmtB = "UPDATE vicidial_list set status='XFER',user='$QHuser[$w]' where lead_id='$QHlead_id[$w]';"; + $Baffected_rows = $dbhA->do($stmtB); + + if ($QHcall_type[$w] =~ /IN/) + { + $stmtC = "UPDATE vicidial_closer_log set status='XFER',user='$QHuser[$w]',comments='REMOTE' where lead_id='$QHlead_id[$w]' order by call_date desc limit 1;"; + $Caffected_rows = $dbhA->do($stmtC); + } + else + { + $stmtC = "UPDATE vicidial_log set status='XFER',user='$QHuser[$w]',comments='REMOTE' where uniqueid='$QHuniqueid[$w]';"; + $Caffected_rows = $dbhA->do($stmtC); + } + + $event_string = "| QUEUEd listing UPDATEd |$Aaffected_rows|$Baffected_rows|$Caffected_rows| |$QHlive_agent_id[$w]|$QHlead_id[$w]|$QHuniqueid[$w]|$QHuser[$w]|$QHcall_type[$w]|"; + &event_logger; + + $w++; + } + + #@psoutput = `/bin/ps -f --no-headers -A`; + @psoutput = `/bin/ps -o "%p %a" --no-headers -A`; + + $running_listen = 0; + + $i=0; + foreach (@psoutput) + { + chomp($psoutput[$i]); + + @psline = split(/\/usr\/bin\/perl /,$psoutput[$i]); + + if ($psline[1] =~ /AST_manager_li/) {$running_listen++;} + + $i++; + } + + if (!$running_listen) + { + $endless_loop=0; + $one_day_interval=0; + print "\nPROCESS KILLED NO LISTENER RUNNING... EXITING\n\n"; + } + + if($DB){print "checking to see if listener is dead |$running_listen|\n";} + } + + + + $user_counter=0; + $DELusers=''; + @DBuser_start=@MT; + @DBuser_level=@MT; + @DBremote_user=@MT; + @DBremote_server_ip=@MT; + @DBremote_campaign=@MT; + @DBremote_conf_exten=@MT; + @DBremote_closer=@MT; + @DBremote_random=@MT; + @loginexistsRANDOM=@MT; + @loginexistsALL=@MT; + @VD_user=@MT; + @VD_extension=@MT; + @VD_status=@MT; + @VD_uniqueid=@MT; + @VD_callerid=@MT; + @VD_random=@MT; + @autocallexists=@MT; + @calllogfinished=@MT; + ############################################################################### + ###### first grab all of the ACTIVE remote agents information from the database + ############################################################################### + $stmtA = "SELECT * FROM vicidial_remote_agents where status IN('ACTIVE') and server_ip='$server_ip' order by user_start;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $TESTrun=0; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $user_start = "$aryA[1]"; + $number_of_lines = "$aryA[2]"; + $conf_exten = "$aryA[4]"; + $campaign_id = "$aryA[6]"; + $closer_campaigns = "$aryA[7]"; + + $y=0; + while ($y < $number_of_lines) + { + $random = int( rand(9999999)) + 10000000; + $user_id = ($user_start + $y); + $DBuser_start[$user_counter] = "$user_start"; + $DBremote_user[$user_counter] = "$user_id"; + $DBremote_server_ip[$user_counter] = "$server_ip"; + $DBremote_campaign[$user_counter] = "$campaign_id"; + $DBremote_conf_exten[$user_counter] = "$conf_exten"; + if ($conf_exten =~ /999999999999/) + { + $TESTrun++; + $DBremote_conf_exten[$user_counter] = ($user_counter + 8600051); + } + $DBremote_closer[$user_counter] = "$closer_campaigns"; + $DBremote_random[$user_counter] = "$random"; + + $y++; + $user_counter++; + } + + $rec_count++; + } + $sthA->finish(); + if ($DB) {print STDERR "$user_counter live remote agents ACTIVE\n";} + + + + ############################################################################### + ###### second grab all of the INACTIVE remote agents information from the database + ############################################################################### + $stmtA = "SELECT * FROM vicidial_remote_agents where status IN('INACTIVE') and server_ip='$server_ip' order by user_start;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $Duser_start = "$aryA[1]"; + $Dnumber_of_lines = "$aryA[2]"; + $w=0; + while ($w < $Dnumber_of_lines) + { + $Duser_id = ($Duser_start + $w); + $DELusers .= "R/$Duser_id|"; + $w++; + } + $rec_count++; + } + $sthA->finish(); +# if ($DBX) {print STDERR "INACTIVE remote agents: |$DELusers|\n";} + + + + ############################################################################### + ###### third traverse array of remote agents to be active and insert or update + ###### in vicidial_live_agents table + ############################################################################### + $h=0; + foreach(@DBremote_user) + { + if (length($DBremote_user[$h])>1) + { + ### check to see if the record exists and only needs random number update + $stmtA = "SELECT count(*) FROM vicidial_live_agents where user='$DBremote_user[$h]' and server_ip='$server_ip' and campaign_id='$DBremote_campaign[$h]' and conf_exten='$DBremote_conf_exten[$h]' and closer_campaigns='$DBremote_closer[$h]';"; + if ($DBX) {print STDERR "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $loginexistsRANDOM[$h] = "$aryA[0]"; + } + $sthA->finish(); + + if ($loginexistsRANDOM[$h] > 0) + { + $stmtA = "UPDATE vicidial_live_agents set random_id='$DBremote_random[$h]' where user='$DBremote_user[$h]' and server_ip='$server_ip' and campaign_id='$DBremote_campaign[$h]' and conf_exten='$DBremote_conf_exten[$h]' and closer_campaigns='$DBremote_closer[$h]';"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print STDERR "$DBremote_user[$h] $DBremote_campaign[$h] ONLY RANDOM ID UPDATE: $affected_rows\n";} + } + ### check if record for user on server exists at all in vicidial_live_agents + else + { + $stmtA = "SELECT count(*) FROM vicidial_live_agents where user='$DBremote_user[$h]' and server_ip='$server_ip'"; + if ($DBX) {print STDERR "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $loginexistsALL[$h] = "$aryA[0]"; + } + $sthA->finish(); + + if ($loginexistsALL[$h] > 0) + { + $stmtA = "UPDATE vicidial_live_agents set random_id='$DBremote_random[$h]',campaign_id='$DBremote_campaign[$h]',conf_exten='$DBremote_conf_exten[$h]',closer_campaigns='$DBremote_closer[$h]', status='READY' where user='$DBremote_user[$h]' and server_ip='$server_ip';"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print STDERR "$DBremote_user[$h] ALL UPDATE: $affected_rows\n";} + # if ($affected_rows>0) + # { + # if ($enable_queuemetrics_logging > 0) + # { + # $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + # or die "Couldn't connect to database: " . DBI->errstr; + + # if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + # $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='NONE',queue='$DBremote_campaign[$h]',agent='Agent/$DBremote_user[$h]',verb='UNPAUSE',serverid='1';"; + # $Baffected_rows = $dbhB->do($stmtB); + + # $dbhB->disconnect(); + # } + + # } + } + ### no records exist so insert a new one + else + { + # grab the user_level of the agent + $DBuser_level[$h]='1'; + $stmtA = "SELECT user_level FROM vicidial_users where user='$DBuser_start[$h]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBuser_level[$h] = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + + $stmtA = "INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,campaign_id,random_id,last_call_time,last_update_time,last_call_finish,closer_campaigns,channel,uniqueid,callerid,user_level,comments) values('$DBremote_user[$h]','$server_ip','$DBremote_conf_exten[$h]','R/$DBremote_user[$h]','READY','$DBremote_campaign[$h]','$DBremote_random[$h]','$SQLdate','$FDtsSQLdate','$SQLdate','$DBremote_closer[$h]','','','','$DBuser_level[$h]','REMOTE');"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print STDERR "$DBremote_user[$h] NEW INSERT\n";} + if ($TESTrun > 0) + { + $stmtA = "SELECT count(*) FROM live_sip_channels where extension LIKE \"%999999999999\" and server_ip='$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $LSC_count = "$aryA[0]"; + } + $sthA->finish(); + + if ($number_of_lines > $LSC_count) + { + $SIqueryCID = "T$CIDdate$DBremote_conf_exten[$h]"; + $stmtA="INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $local_DEF$DBremote_conf_exten[$h]$local_AMP$ext_context','Context: $ext_context','Exten: 999999999999','Priority: 1','Callerid: $SIqueryCID','','','','','');"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print STDERR " TESTrun CALL PLACED: 999999999999 $DBremote_conf_exten[$h] $DBremote_user[$h] NEW INSERT: |$affected_rows|\n";} + } + else {print STDERR "Agent test calls already adequate $number_of_lines !> $LSC_count\n";} + } + if ($affected_rows>0) + { + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='NONE',queue='$DBremote_campaign[$h]',agent='Agent/$DBremote_user[$h]',verb='AGENTLOGIN',data1='$DBremote_user[$h]$agents',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='NONE',queue='$DBremote_campaign[$h]',agent='Agent/$DBremote_user[$h]',verb='UNPAUSE',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + } + } + } + } + $h++; + } + + + ############################################################################### + ###### fourth validate that the calls that the vicidial_live_agents are on are not dead + ###### and if they are wipe out the values and set the agent record back to READY + ############################################################################### + $stmtA = "SELECT user,extension,status,uniqueid,callerid,lead_id,campaign_id FROM vicidial_live_agents where extension LIKE \"R/%\" and server_ip='$server_ip' and uniqueid > 10;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + $z=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VDuser = "$aryA[0]"; + $VDextension = "$aryA[1]"; + $VDstatus = "$aryA[2]"; + $VDuniqueid = "$aryA[3]"; + $VDcallerid = "$aryA[4]"; + $VDlead_id = "$aryA[5]"; + $VDcampaign_id = "$aryA[6]"; + $VDrandom = int( rand(9999999)) + 10000000; + + $VD_user[$z] = "$VDuser"; + $VD_extension[$z] = "$VDextension"; + $VD_status[$z] = "$VDstatus"; + $VD_uniqueid[$z] = "$VDuniqueid"; + $VD_callerid[$z] = "$VDcallerid"; + $VD_lead_id[$z] = "$VDlead_id"; + $VD_campaign_id[$z] = "$VDcampaign_id"; + $VD_random[$z] = "$VDrandom"; + + $z++; + $rec_count++; + } + $sthA->finish(); + if ($DB) {print STDERR "$z remote agents on calls\n";} + + $z=0; + foreach(@VD_user) + { + $stmtA = "SELECT count(*) FROM vicidial_auto_calls where uniqueid='$VD_uniqueid[$z]' and server_ip='$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $autocallexists[$z] = "$aryA[0]"; + } + $sthA->finish(); + + if ($autocallexists[$z] < 1) + { + if ($DELusers =~ /R\/$VD_user[$z]\|/) + { + $stmtA = "UPDATE vicidial_live_agents set random_id='$VD_random[$z]',status='PAUSED', last_call_finish='$SQLdate',lead_id='',uniqueid='',callerid='',channel='' where user='$VD_user[$z]' and server_ip='$server_ip';"; + $affected_rows = $dbhA->do($stmtA); + if ($DB) {print STDERR "$VD_user[$z] CALL WIPE UPDATE: $affected_rows|PAUSED|$VD_uniqueid[$z]|$VD_user[$z]|\n";} + if ($affected_rows>0) + { + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='NONE',queue='NONE',agent='Agent/$VD_user[$z]',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $stmtB = "SELECT time_id FROM queue_log where agent='Agent/$VD_user[$z]' and verb='AGENTLOGIN' order by time_id desc limit 1;"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $sthBrows=$sthB->rows; + $rec_count=0; + while ($sthBrows > $rec_count) + { + @aryB = $sthB->fetchrow_array; + $logintime = "$aryB[0]"; + $rec_count++; + } + $sthB->finish(); + if ($DBX) {print "LOGOFF TIME LOG: $logintime|$secX|$stmtB|\n";} + + $time_logged_in = ($secX - $logintime); + if ($time_logged_in > 1000000) {$time_logged_in=1;} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='NONE',queue='$VD_campaign_id[$z]',agent='Agent/$VD_user[$z]',verb='AGENTLOGOFF',data1='$VD_user[$z]$agents',data2='$time_logged_in',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + + } + } + else + { + $stmtA = "UPDATE vicidial_live_agents set random_id='$VD_random[$z]', last_call_finish='$SQLdate',lead_id='',uniqueid='',callerid='',channel='' where user='$VD_user[$z]' and server_ip='$server_ip';"; + $affected_rows = $dbhA->do($stmtA); + if ($DB) {print STDERR "$VD_user[$z] CALL WIPE UPDATE: $affected_rows|READY|$VD_uniqueid[$z]|$VD_user[$z]|\n";} + + $stmtA = "UPDATE vicidial_live_agents set status='READY' where user='$VD_user[$z]' and server_ip='$server_ip';"; + $affected_rows = $dbhA->do($stmtA); + if ($DB) {print STDERR "$VD_user[$z] CALL WIPE UPDATE: $affected_rows|READY|$VD_uniqueid[$z]|$VD_user[$z]|\n";} + if ($affected_rows>0) + { + if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='NONE',queue='NONE',agent='Agent/$VD_user[$z]',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='NONE',queue='NONE',agent='Agent/$VD_user[$z]',verb='UNPAUSEALL',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + + $dbhB->disconnect(); + } + + } + + } + } + ### possible future active call checker + # else + # { + # $stmtA = "SELECT count(*) FROM call_log where caller_code='$VD_callerid[$z]' and server_ip='$server_ip' and end_epoch > 10;"; + # $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + # $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + # $sthArows=$sthA->rows; + # $rec_count=0; + # while ($sthArows > $rec_count) + # { + # @aryA = $sthA->fetchrow_array; + # $calllogfinished[$z] = "$aryA[0]"; + # $rec_count++; + # } + # $sthA->finish(); + # if ($calllogfinished[$z] > 1) + # { + # $stmtA = "UPDATE vicidial_live_agents set random_id='$VD_random[$z]',status='READY', last_call_finish='$SQLdate',lead_id='',uniqueid='',callerid='',channel='' where user='$VD_user[$z]' and server_ip='$server_ip';"; + # $affected_rows = $dbhA->do($stmtA); + # if ($DB) {print STDERR "$VD_user[$z] AGENT READY UPDATE: $affected_rows|READY|$VD_uniqueid[$z]|$VD_callerid[$z]|$VD_user[$z]|\n";} + + # $stmtA = "DELETE from vicidial_auto_calls where callerid='$VD_callerid[$z]' and server_ip='$server_ip';"; + # $affected_rows = $dbhA->do($stmtA); + # if ($DB) {print STDERR "$VD_user[$z] VAC DELETE: $affected_rows|$VD_callerid[$z]|\n";} + # } + # } + + $z++; + } + + + + + + + ############################################################################### + ###### last, wait for a little bit and repeat the loop + ############################################################################### + + ### sleep for X seconds before beginning the loop again + usleep(1*$loop_delay*1000); + + $endless_loop--; + if($DB){print STDERR "\nloop counter: |$endless_loop|\n";} + + ### putting a blank file called "VDAD.kill" in the directory will automatically safely kill this program + if (-e "$PATHhome/VDAD.kill") + { + unlink("$PATHhome/VDAD.kill"); + $endless_loop=0; + $one_day_interval=0; + print "\nPROCESS KILLED MANUALLY... EXITING\n\n" + } + + $bad_grabber_counter=0; + + + } + + + if($DB){print "DONE... Exiting... Goodbye... See you later... Not really, initiating next loop...\n";} + + $event_string='HANGING UP|'; + &event_logger; + + $one_day_interval--; + +} + + $event_string='CLOSING DB CONNECTION|'; + &event_logger; + + +$dbhA->disconnect(); + + + if($DB){print "DONE... Exiting... Goodbye... See you later... Really I mean it this time\n";} + + +exit; + + + + + + + + + + + + + +sub get_time_now #get the current date and time and epoch for logging call lengths and datetimes +{ +$secX = time(); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($secX); + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + if ($isdst) {$LOCAL_GMT_OFF++;} + +$GMT_now = ($secX - ($LOCAL_GMT_OFF * 3600)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($GMT_now); + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + + if ($DB) {print "TIME DEBUG: $LOCAL_GMT_OFF_STD|$LOCAL_GMT_OFF|$isdst| GMT: $hour:$min\n";} + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + $CIDdate = "$mon$mday$hour$min$sec"; + $tsSQLdate = "$year$mon$mday$hour$min$sec"; + $SQLdate = "$year-$mon-$mday $hour:$min:$sec"; + $filedate = "$year-$mon-$mday"; + +$FDtarget = ($secX + 10); +($Fsec,$Fmin,$Fhour,$Fmday,$Fmon,$Fyear,$Fwday,$Fyday,$Fisdst) = localtime($FDtarget); +$Fyear = ($Fyear + 1900); +$Fmon++; +if ($Fmon < 10) {$Fmon = "0$Fmon";} +if ($Fmday < 10) {$Fmday = "0$Fmday";} +if ($Fhour < 10) {$Fhour = "0$Fhour";} +if ($Fmin < 10) {$Fmin = "0$Fmin";} +if ($Fsec < 10) {$Fsec = "0$Fsec";} + $FDtsSQLdate = "$Fyear$Fmon$Fmday$Fhour$Fmin$Fsec"; + +$BDtarget = ($secX - 10); +($Bsec,$Bmin,$Bhour,$Bmday,$Bmon,$Byear,$Bwday,$Byday,$Bisdst) = localtime($BDtarget); +$Byear = ($Byear + 1900); +$Bmon++; +if ($Bmon < 10) {$Bmon = "0$Bmon";} +if ($Bmday < 10) {$Bmday = "0$Bmday";} +if ($Bhour < 10) {$Bhour = "0$Bhour";} +if ($Bmin < 10) {$Bmin = "0$Bmin";} +if ($Bsec < 10) {$Bsec = "0$Bsec";} + $BDtsSQLdate = "$Byear$Bmon$Bmday$Bhour$Bmin$Bsec"; + +$PDtarget = ($secX - 30); +($Psec,$Pmin,$Phour,$Pmday,$Pmon,$Pyear,$Pwday,$Pyday,$Pisdst) = localtime($PDtarget); +$Pyear = ($Pyear + 1900); +$Pmon++; +if ($Pmon < 10) {$Pmon = "0$Pmon";} +if ($Pmday < 10) {$Pmday = "0$Pmday";} +if ($Phour < 10) {$Phour = "0$Phour";} +if ($Pmin < 10) {$Pmin = "0$Pmin";} +if ($Psec < 10) {$Psec = "0$Psec";} + $PDtsSQLdate = "$Pyear$Pmon$Pmday$Phour$Pmin$Psec"; + +$XDtarget = ($secX - 120); +($Xsec,$Xmin,$Xhour,$Xmday,$Xmon,$Xyear,$Xwday,$Xyday,$Xisdst) = localtime($XDtarget); +$Xyear = ($Xyear + 1900); +$Xmon++; +if ($Xmon < 10) {$Xmon = "0$Xmon";} +if ($Xmday < 10) {$Xmday = "0$Xmday";} +if ($Xhour < 10) {$Xhour = "0$Xhour";} +if ($Xmin < 10) {$Xmin = "0$Xmin";} +if ($Xsec < 10) {$Xsec = "0$Xsec";} + $XDSQLdate = "$Xyear-$Xmon-$Xmday $Xhour:$Xmin:$Xsec"; + +$TDtarget = ($secX - 600); +($Tsec,$Tmin,$Thour,$Tmday,$Tmon,$Tyear,$Twday,$Tyday,$Tisdst) = localtime($TDtarget); +$Tyear = ($Tyear + 1900); +$Tmon++; +if ($Tmon < 10) {$Tmon = "0$Tmon";} +if ($Tmday < 10) {$Tmday = "0$Tmday";} +if ($Thour < 10) {$Thour = "0$Thour";} +if ($Tmin < 10) {$Tmin = "0$Tmin";} +if ($Tsec < 10) {$Tsec = "0$Tsec";} + $TDSQLdate = "$Tyear-$Tmon-$Tmday $Thour:$Tmin:$Tsec"; + +} + + + + + +sub event_logger +{ +if ($DB) {print "$now_date|$event_string|\n";} +if ($SYSLOG) + { + ### open the log file for writing ### + open(Lout, ">>$VDRLOGfile") + || die "Can't open $VDRLOGfile: $!\n"; + print Lout "$now_date|$event_string|\n"; + close(Lout); + } +$event_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_VDsales_export.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_VDsales_export.pl new file mode 100644 index 00000000..b4c99111 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_VDsales_export.pl @@ -0,0 +1,703 @@ +#!/usr/bin/perl +# +# AST_VDsales_export.pl version: 2.0.5 +# +# This script is designed to gather sales for a VICIDIAL Outbound-only campaign and +# post them to a directory +# +# /usr/share/astguiclient/AST_VDsales_export.pl --campaign=GOODB-GROUP1-GROUP3-GROUP4-SPECIALS-DNC_BEDS --output-format=fixed-as400 --sale-statuses=SALE --debug --filename=BEDSsaleMMDD.txt --date=yesterday --email-list=test@gmail.com --email-sender=test@test.com +# +# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 61219-1118 - First version +# 70503-2137 - Added upsell +# 70611-1154 - Added CLI options +# 70709-1411 - Added FTP transfer option +# 71005-0054 - Altered script to use astguiclient.conf for settings +# 90105-1155 - Added AS400 export formats and changed around date override +# 90106-2309 - Added email sending +# + +$txt = '.txt'; +$US = '_'; +$MT[0] = ''; + +# Default FTP account variables +$VARREPORT_host = '10.0.0.4'; +$VARREPORT_user = 'cron'; +$VARREPORT_pass = 'test'; +$VARREPORT_port = '21'; +$VARREPORT_dir = 'REPORTS'; + +# default CLI values +$campaign = 'TESTCAMP'; +$sale_statuses = 'SALE-UPSELL'; +$output_format = 'pipe-standard'; + + +$secX = time(); +$time = $secX; + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +$timestamp = "$year-$mon-$mday $hour:$min:$sec"; +$filedate = "$year$mon$mday"; +$ABIfiledate = "$mon-$mday-$year$us$hour$min$sec"; +$shipdate = "$year-$mon-$mday"; +$datestamp = "$year/$mon/$mday $hour:$min"; + + +use Time::Local; + +### find epoch of 2AM today +$TWOAMsec = ( ($secX - ($sec + ($min * 60) + ($hour * 3600) ) ) + 7200); +### find epoch of 2AM yesterday +$TWOAMsecY = ($TWOAMsec - 86400); + +($Tsec,$Tmin,$Thour,$Tmday,$Tmon,$Tyear,$Twday,$Tyday,$Tisdst) = localtime($TWOAMsecY); +$Tyear = ($Tyear + 1900); +$Tmon++; +if ($Tmon < 10) {$Tmon = "0$Tmon";} +if ($Tmday < 10) {$Tmday = "0$Tmday";} +if ($Thour < 10) {$Thour = "0$Thour";} +if ($Tmin < 10) {$Tmin = "0$Tmin";} +if ($Tsec < 10) {$Tsec = "0$Tsec";} + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) + { + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n"; + print " [--date=YYYY-MM-DD] = date override\n"; + print " [--filename=XXX] = Name to be used for file\n"; + print " [--campaign=XXX] = Campaign that sales will be pulled from\n"; + print " [--sale-statuses=XXX-XXY] = Statuses that are deemed to be \"Sales\". Default SALE\n"; + print " NOTE: To include all statuses in the export, use \"--sale-statuses=---ALL---\"\n"; + print " [--output-format=XXX] = Format of file. Default \"pipe-standard\"\n"; + print " [--with-inbound=XXX-XXY] = include the following inbound groups\n"; + print " [--ftp-transfer] = Send results file by FTP to another server\n"; + print " [--email-list=test@test.com:test2@test.com] = send email results to these addresses\n"; + print " [--email-sender=vicidial@localhost] = sender for the email results\n"; + print " [-q] = quiet\n"; + print " [-t] = test\n"; + print " [--debug] = debugging messages\n"; + print " [--debugX] = Super debugging messages\n"; + print "\n"; + + exit; + } + else + { + if ($args =~ /--debug/i) + { + $DB=1; + print "\n----- DEBUG MODE -----\n\n"; + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n----- SUPER DEBUG MODE -----\n\n"; + } + if ($args =~ /-q/i) + { + $q=1; $Q=1; + } + + if ($args =~ /--date=/i) + { + @data_in = split(/--date=/,$args); + $shipdate = $data_in[1]; + $shipdate =~ s/ .*//gi; + if ($shipdate =~ /today/) + { + $shipdate="$year-$mon-$mday"; + $time = $TWOAMsec; + } + else + { + if ($shipdate =~ /yesterday/) + { + $shipdate="$Tyear-$Tmon-$Tmday"; + $year = $Tyear; + $mon = $Tmon; + $mday = $Tmday; + $time=$TWOAMsecY; + } + else + { + @cli_date = split("-",$shipdate); + $year = $cli_date[0]; + $mon = $cli_date[1]; + $mday = $cli_date[2]; + $cli_date[1] = ($cli_date[1] - 1); + $time = timelocal(0,0,2,$cli_date[2],$cli_date[1],$cli_date[0]); + } + } + print "\n----- DATE OVERRIDE: $shipdate -----\n\n"; + } + else + { + $time=$TWOAMsec; + } + + + if ($args =~ /--campaign=/i) + { + # print "\n|$ARGS|\n\n"; + @data_in = split(/--campaign=/,$args); + $campaign = $data_in[1]; + $campaign =~ s/ .*$//gi; + $campaignSQL = $campaign; + if ($campaignSQL =~ /-/) + { + $campaignSQL =~ s/-/','/gi; + } + $campaignSQL = "'$campaignSQL'"; + } + if ($args =~ /--filename=/i) + { + # print "\n|$ARGS|\n\n"; + @data_in = split(/--filename=/,$args); + $filename = $data_in[1]; + $filename =~ s/ .*$//gi; + $filename =~ s/YYYY/$year/gi; + $filename =~ s/MM/$mon/gi; + $filename =~ s/DD/$mday/gi; + $filename_override=1; + } + if ($args =~ /--sale-statuses=/i) + { + @data_in = split(/--sale-statuses=/,$args); + $sale_statuses = $data_in[1]; + $sale_statuses =~ s/ .*$//gi; + if ($sale_statuses =~ /---ALL---/) + {if (!$Q) {print "\n----- EXPORT ALL STATUSES -----\n\n";} } + } + if ($args =~ /--output-format=/i) + { + @data_in = split(/--output-format=/,$args); + $output_format = $data_in[1]; + $output_format =~ s/ .*$//gi; + } + if ($args =~ /--with-inbound=/i) + { + @data_in = split(/--with-inbound=/,$args); + $with_inbound = $data_in[1]; + $with_inbound =~ s/ .*$//gi; + } + if ($args =~ /-ftp-transfer/i) + { + if (!$Q) + {print "\n----- FTP TRANSFER MODE -----\n\n";} + $ftp_transfer=1; + } + if ($args =~ /--test/i) + { + $T=1; $TEST=1; + print "\n----- TESTING -----\n\n"; + } + if ($args =~ /--email-list=/i) + { + @data_in = split(/--email-list=/,$args); + $email_list = $data_in[1]; + $email_list =~ s/ .*//gi; + $email_list =~ s/:/,/gi; + print "\n----- EMAIL NOTIFICATION: $email_list -----\n\n"; + } + else + {$email_list = '';} + + if ($args =~ /--email-sender=/i) + { + @data_in = split(/--email-sender=/,$args); + $email_sender = $data_in[1]; + $email_sender =~ s/ .*//gi; + $email_sender =~ s/:/,/gi; + print "\n----- EMAIL NOTIFICATION SENDER: $email_sender -----\n\n"; + } + else + {$email_sender = 'vicidial@localhost';} + } + } +else +{ +print "no command line options set, using defaults.\n"; +} +### end parsing run-time options ### + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_host/) && ($CLIREPORT_host < 1) ) + {$VARREPORT_host = $line; $VARREPORT_host =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_user/) && ($CLIREPORT_user < 1) ) + {$VARREPORT_user = $line; $VARREPORT_user =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_pass/) && ($CLIREPORT_pass < 1) ) + {$VARREPORT_pass = $line; $VARREPORT_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_port/) && ($CLIREPORT_port < 1) ) + {$VARREPORT_port = $line; $VARREPORT_port =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_dir/) && ($CLIREPORT_dir < 1) ) + {$VARREPORT_dir = $line; $VARREPORT_dir =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if ($output_format =~ /^pipe-standard$/) + {$DLT = '|'; $txt='.txt'; print "---- pipe-standard ----\n";} +if ($output_format =~ /^csv-standard$/) + {$DLT = "','"; $txt='.csv'; print "---- csv-standard ----\n";} +if ($output_format =~ /^tab-standard$/) + {$DLT = "\t"; $txt='.txt'; print "---- tab-standard ----\n";} +if ($output_format =~ /^pipe-triplep$/) + {$DLT = ''; $txt='.txt'; print "---- pipe-triplep ----\n";} +if ($output_format =~ /^pipe-vici$/) + {$DLT = '|'; $txt='.txt'; print "---- pipe-vici ----\n";} +if ($output_format =~ /^html-rec$/) + {$DLT = ' '; $txt='.html'; print "---- html-rec ----\n";} +if ($output_format =~ /^fixed-as400$/) + {$DLT = ''; $txt='.txt'; print "---- fixed-as400 ----\n";} + + if ($sale_statuses =~ /---ALL---/) + { + $sale_statusesSQL=''; + $close_statusesSQL=''; + } + else + { + $sale_statusesSQL = $sale_statuses; + $sale_statusesSQL =~ s/-/','/gi; + $sale_statusesSQL = "'$sale_statusesSQL'"; + $close_statusesSQL = $sale_statusesSQL; + $sale_statusesSQL = " and vicidial_log.status IN($sale_statusesSQL)"; + $close_statusesSQL = " and vicidial_closer_log.status IN($close_statusesSQL)"; + } + + $with_inboundSQL = $with_inbound; + $with_inboundSQL =~ s/-/','/gi; + $with_inboundSQL = "'$with_inboundSQL'"; + +if (!$Q) + { + print "\n\n\n\n\n\n\n\n\n\n\n\n-- AST_VDsales_export.pl --\n\n"; + print "This program is designed to gather sales from a VICIDIAL outbound-only campaign and post them to a file. \n"; + print "\n"; + print "Campaign: $campaign $campaignSQL\n"; + print "Sale Statuses: $sale_statuses $sale_statusesSQL\n"; + print "Output Format: $output_format\n"; + print "With Inbound: $with_inbound $with_inboundSQL\n"; + print "\n"; + } + +$outfile = "$campaign$US$filedate$US$sale_statuses$txt"; +if ($filename_override > 0) {$outfile = $filename;} + +### open the X out file for writing ### +$PATHoutfile = "$PATHweb/vicidial/server_reports/$outfile"; +open(out, ">$PATHoutfile") + || die "Can't open $PATHoutfile: $!\n"; + +if (!$VARDB_port) {$VARDB_port='3306';} + + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +$dbhB = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +$TOTAL_SALES=0; + + +########################################################################### +########### CURRENT DAY SALES GATHERING outbound-only: vicidial_log ###### +########################################################################### +$stmtA = "select vicidial_log.user,first_name,last_name,address1,address2,city,state,postal_code,vicidial_list.phone_number,email,security_phrase,vicidial_list.comments,call_date,vicidial_list.lead_id,vicidial_users.full_name,vicidial_log.status,vicidial_list.vendor_lead_code,vicidial_list.source_id,vicidial_log.list_id,title,address3,last_local_call_time from vicidial_list,vicidial_log,vicidial_users where campaign_id IN($campaignSQL) $sale_statusesSQL and call_date > '$shipdate 00:00:01' and call_date < '$shipdate 23:59:59' and vicidial_log.lead_id=vicidial_list.lead_id and vicidial_users.user=vicidial_log.user;"; +#$stmtA = "select vicidial_users.user,first_name,last_name,address1,address2,city,state,postal_code,phone_number,email,security_phrase,comments,last_local_call_time,lead_id,vicidial_users.full_name,status,vendor_lead_code,source_id,list_id,title,address3,last_local_call_time from vicidial_list,vicidial_users where list_id NOT IN('999','998') $sale_statusesSQL and called_count > 0 and vicidial_users.user=vicidial_list.user;"; +if ($DB) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $user = $aryA[0]; + $first_name = $aryA[1]; + $last_name = $aryA[2]; + $address1 = $aryA[3]; + $address2 = $aryA[4]; + $city = $aryA[5]; + $state = $aryA[6]; + $postal_code = $aryA[7]; + $phone_number = $aryA[8]; + $email = $aryA[9]; + $security = $aryA[10]; + $comments = $aryA[11]; + $call_date = $aryA[12]; + $lead_id = $aryA[13]; + $agent_name = $aryA[14]; + $status = $aryA[15]; + $vendor_id = $aryA[16]; + $source_id = $aryA[17]; + $list_id = $aryA[18]; + $title = $aryA[19]; + $address3 = $aryA[20]; + $last_local_call_time = $aryA[21]; + + &select_format_loop; + + $TOTAL_SALES++; + } +$sthA->finish(); + +if (length($with_inboundSQL)>3) + { + ########################################################################### + ########### CURRENT DAY SALES GATHERING inbound-only: vicidial_closer_log ###### + ########################################################################### + $stmtA = "select vicidial_closer_log.user,first_name,last_name,address1,address2,city,state,postal_code,vicidial_list.phone_number,email,security_phrase,vicidial_list.comments,call_date,vicidial_list.lead_id,vicidial_users.full_name,vicidial_closer_log.status,vicidial_list.vendor_lead_code,vicidial_list.source_id,vicidial_closer_log.list_id,campaign_id,title,address3,last_local_call_time from vicidial_list,vicidial_closer_log,vicidial_users where campaign_id IN($with_inboundSQL) $close_statusesSQL and call_date > '$shipdate 00:00:01' and call_date < '$shipdate 23:59:59' and vicidial_closer_log.lead_id=vicidial_list.lead_id and vicidial_users.user=vicidial_closer_log.user;"; + if ($DB) {print "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $closer = $aryA[0]; + $first_name = $aryA[1]; + $last_name = $aryA[2]; + $address1 = $aryA[3]; + $address2 = $aryA[4]; + $city = $aryA[5]; + $state = $aryA[6]; + $postal_code = $aryA[7]; + $phone_number = $aryA[8]; + $email = $aryA[9]; + $security = $aryA[10]; + $comments = $aryA[11]; + $call_date = $aryA[12]; + $lead_id = $aryA[13]; + $closer_name = $aryA[14]; + $status = $aryA[15]; + $vendor_id = $aryA[16]; + $source_id = $aryA[17]; + $list_id = $aryA[18]; + $campaign_id = $aryA[19]; + $title = $aryA[20]; + $address3 = $aryA[21]; + $last_local_call_time = $aryA[22]; + + $user = ''; + $agent_name=''; + + $stmtB = "select vicidial_xfer_log.user,full_name from vicidial_xfer_log,vicidial_users where lead_id='$lead_id' and closer='$closer' and call_date > '$shipdate 00:00:01' and call_date < '$shipdate 23:59:59' and vicidial_users.user=vicidial_xfer_log.user order by call_date desc limit 1;"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $sthBrows=$sthB->rows; + $rec_countB=0; + while ($sthBrows > $rec_countB) + { + @aryB = $sthB->fetchrow_array; + $user = $aryB[0]; + $agent_name = $aryB[1]; + $rec_countB++; + } + $sthB->finish(); + + &select_format_loop; + + $TOTAL_SALES++; + } + $sthA->finish(); + } + + +close(out); + + +###### EMAIL SECTION + +if ( (length($Ealert)>5) && (length($email_list) > 3) ) + { + print "Sending email: $email_list\n"; + + use MIME::QuotedPrint; + use MIME::Base64; + use Mail::Sendmail; + + $mailsubject = "VICIDIAL Lead Export $outfile"; + + %mail = ( To => "$email_list", + From => "$email_sender", + Subject => "$mailsubject", + ); + $boundary = "====" . time() . "===="; + $mail{'content-type'} = "multipart/mixed; boundary=\"$boundary\""; + + $message = encode_qp( "VICIDIAL Lead Export:\n\n Attachment: $outfile\n Total Records: $TOTAL_SALES\n" ); + + $Zfile = "$PATHoutfile"; + + open (F, $Zfile) or die "Cannot read $Zfile: $!"; + binmode F; undef $/; + $attachment = encode_base64(); + close F; + + $boundary = '--'.$boundary; + $mail{body} .= "$boundary\n"; + $mail{body} .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n"; + $mail{body} .= "Content-Transfer-Encoding: quoted-printable\n\n"; + $mail{body} .= "$message\n"; + $mail{body} .= "$boundary\n"; + $mail{body} .= "Content-Type: application/octet-stream; name=\"$outfile\"\n"; + $mail{body} .= "Content-Transfer-Encoding: base64\n"; + $mail{body} .= "Content-Disposition: attachment; filename=\"$outfile\"\n\n"; + $mail{body} .= "$attachment\n"; + $mail{body} .= "$boundary"; + $mail{body} .= "--\n"; + + sendmail(%mail) or die $mail::Sendmail::error; + print "ok. log says:\n", $mail::sendmail::log; ### print mail log for status + + } + + +if ($ftp_transfer > 0) +{ + use Net::FTP; + + if (!$Q) {print "Sending File Over FTP: $outfile\n";} + $ftp = Net::FTP->new("$VARREPORT_host", Port => $VARREPORT_port); + $ftp->login("$VARREPORT_user","$VARREPORT_pass"); + $ftp->cwd("$VARREPORT_dir"); + $ftp->put("$PATHweb/vicidial/server_reports/$outfile", "$outfile"); + $ftp->quit; +} + +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secX); +$secZm = ($secZ /60); + +if (!$Q) {print "SALES EXPORT FOR $shipdate: $outfile\n";} +if (!$Q) {print "TOTAL SALES: $TOTAL_SALES\n";} +if (!$Q) {print "script execution time in seconds: $secZ minutes: $secZm\n";} + +exit; + + + + + +### Subroutine for formatting of the output ### +sub select_format_loop +{ + +if ($T) + { +# $user = '1234'; + $agent_name = 'Joe Agent'; +# $closer = '4321'; + $closer_name = 'Jane Closer'; + $security = '4111111111111111'; + $comments = 'VISA'; + $phone_number =~ s/^\d\d\d\d\d/23456/gi; + $address1 =~ s/^..../1234 /gi + } +$ivr_id = '0'; +$ivr_filename = ''; + + +$stmtB = "select recording_id,filename,location from recording_log where lead_id='$lead_id' and start_time > '$shipdate 00:00:01' and start_time < '$shipdate 23:59:59' order by length_in_sec desc limit 1;"; +$sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; +$sthB->execute or die "executing: $stmtB ", $dbhB->errstr; +$sthBrows=$sthB->rows; +$rec_countB=0; +while ($sthBrows > $rec_countB) + { + @aryB = $sthB->fetchrow_array; + $ivr_id = $aryB[0]; + $ivr_filename = $aryB[1]; + $ivr_location = $aryB[2]; + $rec_countB++; + } +$sthB->finish(); + +if (length($ivr_id)<3) + { + $stmtB = "select recording_id,filename from recording_log where lead_id='$lead_id' order by length_in_sec desc limit 1;"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $sthBrows=$sthB->rows; + $rec_countB=0; + while ($sthBrows > $rec_countB) + { + @aryB = $sthB->fetchrow_array; + $ivr_id = $aryB[0]; + $ivr_filename = $aryB[1]; + $rec_countB++; + } + $sthB->finish(); + + if (length($ivr_id)<3) + { + $stmtB = "select recording_id,filename from recording_log where filename LIKE \"%$phone_number%\" order by length_in_sec desc limit 1;"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $sthBrows=$sthB->rows; + $rec_countB=0; + while ($sthBrows > $rec_countB) + { + @aryB = $sthB->fetchrow_array; + $ivr_id = $aryB[0]; + $ivr_filename = $aryB[1]; + $rec_countB++; + } + $sthB->finish(); + } + } +if ($status =~ /UPSELL/) {$UPSELL='L5';} +else {$UPSELL='N';} + +if ($output_format =~ /^pipe-standard$/) + { + $str = "$first_name|$last_name|$address1|$address2|$city|$state|$postal_code|$phone_number|$email|$security|$comments|$call_date|$lead_id|$list_id|$user|$agent_name|$status|$vendor_id|$source_id|$campaign|$campaign_id|$ivr_id|$closer|$closer_name|\n"; + } + +if ($output_format =~ /^csv-standard$/) + { + $str = "\"$first_name\",\"$last_name\",\"$address1\",\"$address2\",\"$city\",\"$state\",\"$postal_code\",\"$phone_number\",\"$email\",\"$security\",\"$comments\",\"$call_date\",\"$lead_id\",\"$list_id\",\"$user\",\"$agent_name\",\"$status\",\"$vendor_id\",\"$source_id\",\"$campaign\",\"$campaign_id\",\"$ivr_id\",\"$closer\",\"$closer_name\"\r\n"; + } + +if ($output_format =~ /^tab-standard$/) + { + $str = "$first_name\t$last_name\t$address1\t$address2\t$city\t$state\t$postal_code\t$phone_number\t$email\t$security\t$comments\t$call_date\t$lead_id\t$list_id\t$user\t$agent_name\t$status\t$vendor_id\t$source_id\t$campaign\t$campaign_id\t$ivr_id\t$closer\t$closer_name\t\n"; + } + +if ($output_format =~ /^pipe-triplep$/) + { + $str = "$user|$agent_name|$closer|$closer_name|$call_date|$status|$first_name|$last_name|$phone_number|$address1|$address2|$city|$state|$postal_code|$comments|$security|$email|$vendor_id|$source_id|$lead_id|$list_id|$campaign|$campaign_id|$ivr_id|\n"; + } + +if ($output_format =~ /^pipe-vici$/) + { + $str = "VDAD|$agent_name|$first_name|$last_name|$address1|$address2|$city|$state|$postal_code|$phone_number|$ivr_id|DU|$UPSELL|N|||$security|$comments||||||$call_date|CBDISC|$email\r\n"; + } +if ($output_format =~ /^html-rec$/) + { + $str = "$user|$agent_name|$closer|$closer_name|$call_date|$status|$first_name|$last_name|$phone_number|$address1|$address2|$city|$state|$postal_code|$comments|$security|$email|$vendor_id|$source_id|$lead_id|$list_id|$campaign|$campaign_id|$ivr_id|\n"; + } + +if ($output_format =~ /^fixed-as400$/) + { + # 16884259 MRS. JEAN BROWN RISALPUR BROMSBERROW HEATYH LEDBURY HEREFORDSHIRE ENGLAND HR8 1PQ 01531650052 1209200809:52NI 3205UK + $vendor_id = sprintf("%-10s",$vendor_id); while(length($vendor_id)>10) {$vendor_id =~ s/.$//gi;} + $title = sprintf("%-10s",$title); while(length($title)>10) {$title =~ s/.$//gi;} + $first_name = sprintf("%-15s",$first_name); while(length($first_name)>15) {$first_name =~ s/.$//gi;} + $last_name = sprintf("%-20s",$last_name); while(length($last_name)>20) {$last_name =~ s/.$//gi;} + $address1 = sprintf("%-30s",$address1); while(length($address1)>30) {$address1 =~ s/.$//gi;} + $address2 = sprintf("%-30s",$address2); while(length($address2)>30) {$address2 =~ s/.$//gi;} + $address3 = sprintf("%-30s",$address3); while(length($address3)>30) {$address3 =~ s/.$//gi;} + $city = sprintf("%-50s",$city); while(length($city)>50) {$city =~ s/.$//gi;} + $postal_code = sprintf("%-9s",$postal_code); while(length($postal_code)>9) {$postal_code =~ s/.$//gi;} + $phone_number = sprintf("%-20s",$phone_number); while(length($phone_number)>20) {$phone_number =~ s/.$//gi;} + @dtsplit = split(" ",$last_local_call_time); + @datesplit = split("-",$dtsplit[0]); + $timesplit = substr($dtsplit[1], 0, 5); + $formatted_date = "$datesplit[1]$datesplit[2]$datesplit[0]$timesplit"; + $user = sprintf("%-4s",$user); + if ($status =~ /^AA$/) {$status = 'A';} + if ($status =~ /^A$/) {$status = 'A';} + if ($status =~ /^B$/) {$status = 'B';} + if ($status =~ /^N$/) {$status = 'N';} + if ($status =~ /^NA$/) {$status = 'N';} + if ($status =~ /^NP$/) {$status = 'N';} + if ($status =~ /^PU$/) {$status = 'N';} + if ($status =~ /^DROP$/) {$status = 'N';} + if ($status =~ /^SALE$/) {$status = 'AP';} + if ($status =~ /^A6$/) {$status = 'A6';} + if ($status =~ /^DC$/) {$status = 'D';} + if ($status =~ /^DNC$/) {$status = 'DC';} + if ($status =~ /^DNCL$/) {$status = 'DC';} + if ($status =~ /^DIED$/) {$status = 'DD';} + if ($status =~ /^COMP$/) {$status = 'DD';} + if ($status =~ /^DEC$/) {$status = 'DD';} + if ($status =~ /^ERI$/) {$status = 'DD';} + if ($status =~ /^INCALL$/) {$status = 'DD';} + if ($status =~ /^SP$/) {$status = 'DD';} + if ($status =~ /^WRON$/) {$status = 'DD';} + if ($status =~ /^HBED$/) {$status = 'DD';} + if ($status =~ /^CALLBK$/) {$status = 'A6';} + if ($status =~ /^HAP1$/) {$status = 'NI';} + if ($status =~ /^HAP2$/) {$status = 'NI';} + if ($status =~ /^NI$/) {$status = 'NI';} + + $status = sprintf("%-16s",$status); while(length($status)>16) {$status =~ s/.$//gi;} + $user =~ s/VDAD/ /gi; + $UK = 'UK'; + + $str = "$vendor_id$title$first_name$last_name$address1$address2$address3$city$postal_code$phone_number$formatted_date$status$user$UK\r\n"; + } + + +$Ealert .= "$str"; + +print out "$str"; +if ($DBX) {print "$str\n";} + +$rec_count++; + +} + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_agent_daily_SPH.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_agent_daily_SPH.pl new file mode 100644 index 00000000..a976e875 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_agent_daily_SPH.pl @@ -0,0 +1,735 @@ +#!/usr/bin/perl + +# AST_agent_daily_SPH.pl +# +# This script is designed to gather stats for all agent activity over the course +# of a week and print it in an ASCI text file to be placed +# on a web server for viewing. +# +# This script assumes a work day to be from 2AM to 2AM +# +# Place in the crontab and run every night at 02:00AM for the previous day's stats +# 0 2 * * * /home/cron/AST_agent_daily_SPH.pl +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 80114-1221 - First version +# 80116-0941 - only print agents with week and month hours of 0 to PIPE file +# 80216-2255 - Add Year-to-date on Sunday mornings only +# + +$txt = '.txt'; +$US = '_'; +$MT[0] = ''; + +$SQLrestrict = "and campaign_id IN('QRA','QRB','QRC','QRD')"; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n\n"; + exit; + } + else + { + if ($args =~ /--debug/i) + { + $DB=1; + print "\n-----DEBUG MODE-----\n\n"; + } + if ($args =~ /-q/i) + { + $q=1; $Q=1; + } + if ($args =~ /-t/i) + { + $T=1; $TEST=1; + print "\n-----TESTING-----\n\n"; + } + } +} +else +{ +print "no command line options set\n"; +} +### end parsing run-time options ### + + +$secX = time(); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $filedate = "$year$mon$mday-$hour$min$sec"; + $ABIfiledate = "$mon-$mday-$year$us$hour$min$sec"; + $shipdate = "$year-$mon-$mday"; + $datestamp = "$year/$mon/$mday $hour:$min"; + +use Time::Local; + +$YTDrun=0; + +### find epoch of 2AM today +$TWOAMsec = ( ($secX - ($sec + ($min * 60) + ($hour * 3600) ) ) + 7200); +### find epoch of 2AM yesterday +$TWOAMsecY = ($TWOAMsec - 86400); + +($Tsec,$Tmin,$Thour,$Tmday,$Tmon,$Tyear,$Twday,$Tyday,$Tisdst) = localtime($TWOAMsecY); +$Tyear = ($Tyear + 1900); +$Tmon++; +if ($Tmon < 10) {$Tmon = "0$Tmon";} +if ($Tmday < 10) {$Tmday = "0$Tmday";} +if ($Thour < 10) {$Thour = "0$Thour";} +if ($Tmin < 10) {$Tmin = "0$Tmin";} +if ($Tsec < 10) {$Tsec = "0$Tsec";} + $begindate = "$Tyear-$Tmon-$Tmday $Thour:$Tmin:$Tsec"; +if ($Twday == '6') {$YTDrun=1; print "RUNNING YTD\n";} + +### find epoch of 2AM the first day of the month +$BMONTHsec = ($TWOAMsecY - (86400 * ($Tmday - 1) ) ); +### find epoch of 2AM the first day of next month +if ($Tmon>11) {$Tmon=0; $Tyear++;} +$EMONTHsec = timelocal($Tsec,$Tmin,$Thour,1,$Tmon,$Tyear); + + if ($Twday==0) {$day='Sunday '; $SETprevday = 6;} + if ($Twday==1) {$day='Monday '; $SETprevday = 0;} + if ($Twday==2) {$day='Tuesday '; $SETprevday = 1;} + if ($Twday==3) {$day='Wednesday'; $SETprevday = 2;} + if ($Twday==4) {$day='Thursday '; $SETprevday = 3;} + if ($Twday==5) {$day='Friday '; $SETprevday = 4;} + if ($Twday==6) {$day='Saturday '; $SETprevday = 5;} + +($TMsec,$TMmin,$TMhour,$TMmday,$TMmon,$TMyear,$TMwday,$TMyday,$TMisdst) = localtime($BMONTHsec); +$TMyear = ($TMyear + 1900); +$TMmon++; +if ($TMmon < 10) {$TMmon = "0$TMmon";} +if ($TMmday < 10) {$TMmday = "0$TMmday";} +if ($TMhour < 10) {$TMhour = "0$TMhour";} +if ($TMmin < 10) {$TMmin = "0$TMmin";} +if ($TMsec < 10) {$TMsec = "0$TMsec";} + $beginmonth = "$TMyear-$TMmon-$TMmday $TMhour:$TMmin:$TMsec"; + +($TMsec,$TMmin,$TMhour,$TMmday,$TMmon,$TMyear,$TMwday,$TMyday,$TMisdst) = localtime($EMONTHsec); +$TMyear = ($TMyear + 1900); +$TMmon++; +if ($TMmon < 10) {$TMmon = "0$TMmon";} +if ($TMmday < 10) {$TMmday = "0$TMmday";} +if ($TMhour < 10) {$TMhour = "0$TMhour";} +if ($TMmin < 10) {$TMmin = "0$TMmin";} +if ($TMsec < 10) {$TMsec = "0$TMsec";} + $endmonth = "$TMyear-$TMmon-$TMmday $TMhour:$TMmin:$TMsec"; + +#print "|$ABIfiledate|$begindate|$beginmonth|$endmonth|\n"; +#exit; + +print "\n\n\n\n\n\n\n\n\n\n\n\n-- AST_agent_daily_SPH.pl --\n\n"; +print "This program is designed to print sales-per-hour(SPH) to a file for agents' activity for the current week. \n\n"; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +$outfile = "AGENT_SPH_$Tyear-$Tmon-$Tmday$txt"; +$Doutfile = "AGENT_SPH_PIPE_$Tyear-$Tmon-$Tmday$txt"; + +### open the X out file for writing ### +open(out, ">$PATHweb/vicidial/agent_reports/$outfile") + || die "Can't open $outfile: $!\n"; +open(Dout, ">$PATHweb/vicidial/agent_reports/$Doutfile") + || die "Can't open $Doutfile: $!\n"; + +if (!$VARDB_port) {$VARDB_port='3306';} + + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +$dbhB = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +#$vicidial_agent_log = 'vicidial_agent_log_archive'; +$vicidial_agent_log = 'vicidial_agent_log'; + +########################################################################### +########### PAST WEEK STAT GATHERING LOOP ################################# +########################################################################### +if ($YTDrun>0) + { + $YEARheadPIPE = 'MONTH HOURS|MONTH SPH|'; + $YEARheadFIXED = ' HRS SPH '; + $YEARhHEAD = ' YEAR'; + } +print Dout "DATE|AGENT|USER|MON HOURS|MON SPH|TUE HOURS|TUE SPH|WED HOURS|WED SPH|THU HOURS|THU SPH|FRI HOURS|FRI SPH|SAT HOURS|SAT SPH|SUN HOURS|SUN SPH|WEEK HOURS|WEEK SPH|MONTH HOURS|MONTH SPH$YEARheadPIPE|GROUP|\n"; +$outline = "REPORT: SPH $Tyear-$Tmon-$Tmday\n\n"; +$outline.= " MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY SUNDAY WEEK MONTH$YEARhHEAD\n"; +$outline.= "AGENT USER HRS SPH HRS SPH HRS SPH HRS SPH HRS SPH HRS SPH HRS SPH HRS SPH HRS SPH $YEARheadFIXED GROUP \n"; +print "$outline"; +print out "$outline"; + +### FIND ALL ACTIVE USERS IN THE SYSTEM IN('1090','1102','1245')='1090' +$stmtA = "select full_name,user,user_group from vicidial_users order by user_group,full_name limit 1000;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + + $Dname[$rec_count] = $aryA[0]; + $Duser[$rec_count] = $aryA[1]; + $Dgroup[$rec_count] = $aryA[2]; + $name[$rec_count] = sprintf("%-20s", $aryA[0]); while(length($name[$rec_count])>20) {chop($name[$rec_count]);} + $user[$rec_count] = sprintf("%-8s", $aryA[1]); + $group[$rec_count] = sprintf("%-8s", $aryA[2]); + + $rec_count++; + } +$sthA->finish(); + + +$Gsph[0]=' 0'; $Gsph[1]=' 0'; $Gsph[2]=' 0'; $Gsph[3]=' 0'; $Gsph[4]=' 0'; $Gsph[5]=' 0'; $Gsph[6]=' 0'; +$Gsales[0]=0; $Gsales[1]=0; $Gsales[2]=0; $Gsales[3]=0; $Gsales[4]=0; $Gsales[5]=0; $Gsales[6]=0; +$Ghours[0]=' 0.0'; $Ghours[1]=' 0.0'; $Ghours[2]=' 0.0'; $Ghours[3]=' 0.0'; $Ghours[4]=' 0.0'; $Ghours[5]=' 0.0'; $Ghours[6]=' 0.0'; +$GDsph[0]=0; $GDsph[1]=0; $GDsph[2]=0; $GDsph[3]=0; $GDsph[4]=0; $GDsph[5]=0; $GDsph[6]=0; +$GDsales[0]=0; $GDsales[1]=0; $GDsales[2]=0; $GDsales[3]=0; $GDsales[4]=0; $GDsales[5]=0; $GDsales[6]=0; +$GDhours[0]=0; $GDhours[1]=0; $GDhours[2]=0; $GDhours[3]=0; $GDhours[4]=0; $GDhours[5]=0; $GDhours[6]=0; +$GWEEKsph=0; $GWEEKhours=0; $GWEEKsales=0; +$GMONTHsph=0; $GMONTHhours=0; $GMONTHsales=0; +$GYEARsph=0; $GYEARhours=0; $GYEARsales=0; + +$TOTsph[0]=' 0'; $TOTsph[1]=' 0'; $TOTsph[2]=' 0'; $TOTsph[3]=' 0'; $TOTsph[4]=' 0'; $TOTsph[5]=' 0'; $TOTsph[6]=' 0'; +$TOTsales[0]=0; $TOTsales[1]=0; $TOTsales[2]=0; $TOTsales[3]=0; $TOTsales[4]=0; $TOTsales[5]=0; $TOTsales[6]=0; +$TOThours[0]=' 0.0'; $TOThours[1]=' 0.0'; $TOThours[2]=' 0.0'; $TOThours[3]=' 0.0'; $TOThours[4]=' 0.0'; $TOThours[5]=' 0.0'; $TOThours[6]=' 0.0'; +$TOTDsph[0]=0; $TOTDsph[1]=0; $TOTDsph[2]=0; $TOTDsph[3]=0; $TOTDsph[4]=0; $TOTDsph[5]=0; $TOTDsph[6]=0; +$TOTDsales[0]=0; $TOTDsales[1]=0; $TOTDsales[2]=0; $TOTDsales[3]=0; $TOTDsales[4]=0; $TOTDsales[5]=0; $TOTDsales[6]=0; +$TOTDhours[0]=0; $TOTDhours[1]=0; $TOTDhours[2]=0; $TOTDhours[3]=0; $TOTDhours[4]=0; $TOTDhours[5]=0; $TOTDhours[6]=0; +$TOTWEEKsph=0; $TOTWEEKhours=0; $TOTWEEKsales=0; +$TOTMONTHsph=0; $TOTMONTHhours=0; $TOTMONTHsales=0; +$TOTYEARsph=0; $TOTYEARhours=0; $TOTYEARsales=0; + + +### GO THROUGH EACH USER ACCOUNT AND FIND OUT THE HOURS AND SPH +$i=0; +foreach (@Duser) + { + $j=0; + $sph[0]=' 0'; $sph[1]=' 0'; $sph[2]=' 0'; $sph[3]=' 0'; $sph[4]=' 0'; $sph[5]=' 0'; $sph[6]=' 0'; + $sales[0]=0; $sales[1]=0; $sales[2]=0; $sales[3]=0; $sales[4]=0; $sales[5]=0; $sales[6]=0; + $hours[0]=' 0.0'; $hours[1]=' 0.0'; $hours[2]=' 0.0'; $hours[3]=' 0.0'; $hours[4]=' 0.0'; $hours[5]=' 0.0'; $hours[6]=' 0.0'; + $Dsph[0]=0; $Dsph[1]=0; $Dsph[2]=0; $Dsph[3]=0; $Dsph[4]=0; $Dsph[5]=0; $Dsph[6]=0; + $Dsales[0]=0; $Dsales[1]=0; $Dsales[2]=0; $Dsales[3]=0; $Dsales[4]=0; $Dsales[5]=0; $Dsales[6]=0; + $Dhours[0]=0; $Dhours[1]=0; $Dhours[2]=0; $Dhours[3]=0; $Dhours[4]=0; $Dhours[5]=0; $Dhours[6]=0; + $WEEKsph=0; $WEEKhours=0; $WEEKsales=0; + $MONTHsph=0; $MONTHhours=0; $MONTHsales=0; + $YEARsph=0; $YEARhours=0; $YEARsales=0; + + $UDtarget[0] = ($TWOAMsec - (86400 * 0) ); # X-0 days in the past + $UDtarget[1] = ($TWOAMsec - (86400 * 1) ); # X-1 days in the past + $UDtarget[2] = ($TWOAMsec - (86400 * 2) ); # X-2 days in the past + $UDtarget[3] = ($TWOAMsec - (86400 * 3) ); # X-3 days in the past + $UDtarget[4] = ($TWOAMsec - (86400 * 4) ); # X-4 days in the past + $UDtarget[5] = ($TWOAMsec - (86400 * 5) ); # X-5 days in the past + $UDtarget[6] = ($TWOAMsec - (86400 * 6) ); # X-6 days in the past + $UDtarget[7] = ($TWOAMsec - (86400 * 7) ); # X-7 days in the past + + $prevday = $SETprevday; + + ### GO THROUGH EACH DAY THIS WEEK UP TO TODAY + while ($prevday >= 0) + { + ($Tsec,$Tmin,$Thour,$Tmday,$Tmon,$Tyear,$Twday,$Tyday,$Tisdst) = localtime($UDtarget[$j]); + $Tyear = ($Tyear + 1900); + $Tmon++; + if ($Tmon < 10) {$Tmon = "0$Tmon";} + if ($Tmday < 10) {$Tmday = "0$Tmday";} + if ($Thour < 10) {$Thour = "0$Thour";} + if ($Tmin < 10) {$Tmin = "0$Tmin";} + if ($Tsec < 10) {$Tsec = "0$Tsec";} + $enddate = "$Tyear-$Tmon-$Tmday $Thour:$Tmin:$Tsec"; + + $k = ($j + 1); + ($Tsec,$Tmin,$Thour,$Tmday,$Tmon,$Tyear,$Twday,$Tyday,$Tisdst) = localtime($UDtarget[$k]); + $Tyear = ($Tyear + 1900); + $Tmon++; + if ($Tmon < 10) {$Tmon = "0$Tmon";} + if ($Tmday < 10) {$Tmday = "0$Tmday";} + if ($Thour < 10) {$Thour = "0$Thour";} + if ($Tmin < 10) {$Tmin = "0$Tmin";} + if ($Tsec < 10) {$Tsec = "0$Tsec";} + $begindate = "$Tyear-$Tmon-$Tmday $Thour:$Tmin:$Tsec"; + + $Dsales[$prevday]=0; + $Dhours[$prevday]=0; + + $stmtA = "select sum(talk_sec+pause_sec+wait_sec+dispo_sec) from vicidial_agent_log where event_time <= '$enddate' and event_time >= '$begindate' and pause_sec<48800 and wait_sec<48800 and talk_sec<48800 and dispo_sec<48800 and user='$Duser[$i]' $SQLrestrict limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $Dhours[$prevday] = ($aryA[0]/3600); + } + + $stmtA = "select count(*) from vicidial_xfer_log vx,vicidial_closer_log vc where vx.call_date <= '$enddate' and vx.call_date >= '$begindate' and vc.status IN('A1','A2','A3','A4','SALE','UPSELL') and vx.user='$Duser[$i]' and vx.xfercallid=vc.xfercallid;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $Dsales[$prevday] = $aryA[0]; + } + + $Dhours[$prevday] = sprintf("%.2f", $Dhours[$prevday]); + $hours[$prevday] = sprintf("%5s", $Dhours[$prevday]); + $sales[$prevday] = sprintf("%5s", $Dsales[$prevday]); + if ( ($Dsales[$prevday] > 0) && ($Dhours[$prevday] > 0) ) + {$Dsph[$prevday] = ($Dsales[$prevday]/$Dhours[$prevday]);} + else + {$Dsph[$prevday] = 0;} + $Dsph[$prevday] = sprintf("%.1f", $Dsph[$prevday]); + $sph[$prevday] = sprintf("%4s", $Dsph[$prevday]); + + $GDsales[$prevday] = ($GDsales[$prevday] + $Dsales[$prevday]); + $TOTDsales[$prevday] = ($TOTDsales[$prevday] + $Dsales[$prevday]); + $GDhours[$prevday] = ($GDhours[$prevday] + $Dhours[$prevday]); + $TOTDhours[$prevday] = ($TOTDhours[$prevday] + $Dhours[$prevday]); + + $WEEKhours = ($WEEKhours + $Dhours[$prevday]); + $WEEKsales = ($WEEKsales + $Dsales[$prevday]); + + if ($DB) {print STDERR "$hours[$prevday] $sales[$prevday] $sph[$prevday] $prevday $begindate\n";} + $prevday = ($prevday - 1); + $j++; + } + + $stmtA = "select sum(talk_sec+pause_sec+wait_sec+dispo_sec) from vicidial_agent_log where event_time <= '$endmonth' and event_time >= '$beginmonth' and pause_sec<48800 and wait_sec<48800 and talk_sec<48800 and dispo_sec<48800 and user='$Duser[$i]' $SQLrestrict limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $MONTHhours = ($aryA[0]/3600); + } + + $stmtA = "select count(*) from vicidial_xfer_log vx,vicidial_closer_log vc where vx.call_date <= '$endmonth' and vx.call_date >= '$beginmonth' and vc.status IN('A1','A2','A3','A4','SALE','UPSELL') and vx.user='$Duser[$i]' and vx.xfercallid=vc.xfercallid;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $MONTHsales = $aryA[0]; + } + + if ($YTDrun>0) + { + $Ybegin='-01-01 01:00:00'; + $stmtA = "select sum(talk_sec+pause_sec+wait_sec+dispo_sec) from vicidial_agent_log where event_time <= '$endmonth' and event_time >= '$TMyear$Ybegin' and pause_sec<48800 and wait_sec<48800 and talk_sec<48800 and dispo_sec<48800 and user='$Duser[$i]' $SQLrestrict limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $YEARhours = ($aryA[0]/3600); + } + + $stmtA = "select count(*) from vicidial_xfer_log vx,vicidial_closer_log vc where vx.call_date <= '$endmonth' and vx.call_date >= '$TMyear$Ybegin' and vc.status IN('A1','A2','A3','A4','SALE','UPSELL') and vx.user='$Duser[$i]' and vx.xfercallid=vc.xfercallid;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $YEARsales = $aryA[0]; + } + + if ( ($YEARsales > 0) && ($YEARhours > 0) ) + {$YEARsph = ($YEARsales/$YEARhours);} + else + {$YEARsph = 0;} + + $GYEARsales = ($GYEARsales + $YEARsales); + $TOTYEARsales = ($TOTYEARsales + $YEARsales); + $GYEARhours = ($GYEARhours + $YEARhours); + $TOTYEARhours = ($TOTYEARhours + $YEARhours); + + $YEARhours = sprintf("%.0f", $YEARhours); + $YEARhours = sprintf("%5s", $YEARhours); + $YEARsph = sprintf("%.1f", $YEARsph); + $YEARsph = sprintf("%4s", $YEARsph); + + $YEARpipe="$YEARhours|$YEARsph|"; + $YEARfixed="$YEARhours $YEARsph "; + } + + if ( ($WEEKsales > 0) && ($WEEKhours > 0) ) + {$WEEKsph = ($WEEKsales/$WEEKhours);} + else + {$WEEKsph = 0;} + + if ( ($MONTHsales > 0) && ($MONTHhours > 0) ) + {$MONTHsph = ($MONTHsales/$MONTHhours);} + else + {$MONTHsph = 0;} + + $GMONTHsales = ($GMONTHsales + $MONTHsales); + $TOTMONTHsales = ($TOTMONTHsales + $MONTHsales); + $GMONTHhours = ($GMONTHhours + $MONTHhours); + $TOTMONTHhours = ($TOTMONTHhours + $MONTHhours); + + print Dout "$shipdate|$Dname[$i]|$Duser[$i]|$Dhours[0]|$Dsph[0]|$Dhours[1]|$Dsph[1]|$Dhours[2]|$Dsph[2]|$Dhours[3]|$Dsph[3]|$Dhours[4]|$Dsph[4]|$Dhours[5]|$Dsph[5]|$Dhours[6]|$Dsph[6]|$WEEKhours|$WEEKsph|$MONTHhours|$MONTHsph|$YEARpipe$Dgroup[$i]\n"; + + ### only print to ASCII fixed-length file if week-to-date and month-to-date hours > 0 + if ( ($WEEKhours > 0) || ($MONTHhours > 0) ) + { + $WEEKhours = sprintf("%.0f", $WEEKhours); + $WEEKhours = sprintf("%5s", $WEEKhours); + $WEEKsph = sprintf("%.1f", $WEEKsph); + $WEEKsph = sprintf("%4s", $WEEKsph); + + $MONTHhours = sprintf("%.0f", $MONTHhours); + $MONTHhours = sprintf("%5s", $MONTHhours); + $MONTHsph = sprintf("%.1f", $MONTHsph); + $MONTHsph = sprintf("%4s", $MONTHsph); + + $outline = "$name[$i] $user[$i] $hours[0] $sph[0] $hours[1] $sph[1] $hours[2] $sph[2] $hours[3] $sph[3] $hours[4] $sph[4] $hours[5] $sph[5] $hours[6] $sph[6] $WEEKhours $WEEKsph $MONTHhours $MONTHsph $YEARfixed$group[$i]\n"; + print "$outline"; + print out "$outline"; + } + else + { + print "SKIPPED: $name[$i] $user[$i] $WEEKhours $MONTHhours\n"; + } + + $Dprevgroup = $Dgroup[$i]; + $prevgroup = $group[$i]; + $i++; + + ### BEGIN GROUP SUMMARY STATS + if ($Dgroup[$i] !~ /^$Dprevgroup$/) + { + $prevday = $SETprevday; + + ### GO THROUGH EACH DAY THIS WEEK UP TO TODAY + while ($prevday >= 0) + { + $GDhours[$prevday] = sprintf("%.2f", $GDhours[$prevday]); + $Ghours[$prevday] = sprintf("%5s", $GDhours[$prevday]); while(length($Ghours[$prevday])>5) {chop($Ghours[$prevday]);} + $Gsales[$prevday] = sprintf("%5s", $GDsales[$prevday]); + if ( ($GDsales[$prevday] > 0) && ($GDhours[$prevday] > 0) ) + {$GDsph[$prevday] = ($GDsales[$prevday]/$GDhours[$prevday]);} + else + {$GDsph[$prevday] = 0;} + $GDsph[$prevday] = sprintf("%.1f", $GDsph[$prevday]); + $Gsph[$prevday] = sprintf("%4s", $GDsph[$prevday]); + + $GWEEKhours = ($GWEEKhours + $GDhours[$prevday]); + $GWEEKsales = ($GWEEKsales + $GDsales[$prevday]); + + $prevday = ($prevday - 1); + } + + if ( ($GWEEKsales > 0) && ($GWEEKhours > 0) ) + {$GWEEKsph = ($GWEEKsales/$GWEEKhours);} + else + {$GWEEKsph = 0;} + + if ( ($GMONTHsales > 0) && ($GMONTHhours > 0) ) + {$GMONTHsph = ($GMONTHsales/$GMONTHhours);} + else + {$GMONTHsph = 0;} + + if ($YTDrun>0) + { + if ( ($GYEARsales > 0) && ($GYEARhours > 0) ) + {$GYEARsph = ($GYEARsales/$GYEARhours);} + else + {$GYEARsph = 0;} + + $GYEARhours = sprintf("%.0f", $GYEARhours); + $GYEARhours = sprintf("%5s", $GYEARhours); while(length($GYEARhours)>5) {chop($GYEARhours);} + $GYEARsph = sprintf("%.1f", $GYEARsph); + $GYEARsph = sprintf("%4s", $GYEARsph); + + $YEARgpipe="$GYEARhours|$GYEARsph|"; + $YEARgfixed=" $GYEARhours $GYEARsph"; + } + + print Dout "$shipdate|TOTAL $Dprevgroup||$GDhours[0]|$GDsph[0]|$GDhours[1]|$GDsph[1]|$GDhours[2]|$GDsph[2]|$GDhours[3]|$GDsph[3]|$GDhours[4]|$GDsph[4]|$GDhours[5]|$GDsph[5]|$GDhours[6]|$GDsph[6]|$GWEEKhours|$GWEEKsph|$GMONTHhours|$GMONTHsph|$YEARgpipe\n"; + + $GWEEKhours = sprintf("%.0f", $GWEEKhours); + $GWEEKhours = sprintf("%5s", $GWEEKhours); while(length($GWEEKhours)>5) {chop($GWEEKhours);} + $GWEEKsph = sprintf("%.1f", $GWEEKsph); + $GWEEKsph = sprintf("%4s", $GWEEKsph); + + $GMONTHhours = sprintf("%.0f", $GMONTHhours); + $GMONTHhours = sprintf("%5s", $GMONTHhours); while(length($GMONTHhours)>5) {chop($GMONTHhours);} + $GMONTHsph = sprintf("%.1f", $GMONTHsph); + $GMONTHsph = sprintf("%4s", $GMONTHsph); + + $outline = " GROUP TOTAL $prevgroup $Ghours[0] $Gsph[0] $Ghours[1] $Gsph[1] $Ghours[2] $Gsph[2] $Ghours[3] $Gsph[3] $Ghours[4] $Gsph[4] $Ghours[5] $Gsph[5] $Ghours[6] $Gsph[6] $GWEEKhours $GWEEKsph $GMONTHhours $GMONTHsph$YEARgfixed\n\n"; + print "$outline"; + print out "$outline"; + + $Gsph[0]=' 0'; $Gsph[1]=' 0'; $Gsph[2]=' 0'; $Gsph[3]=' 0'; $Gsph[4]=' 0'; $Gsph[5]=' 0'; $Gsph[6]=' 0'; + $Gsales[0]=0; $Gsales[1]=0; $Gsales[2]=0; $Gsales[3]=0; $Gsales[4]=0; $Gsales[5]=0; $Gsales[6]=0; + $Ghours[0]=' 0.0'; $Ghours[1]=' 0.0'; $Ghours[2]=' 0.0'; $Ghours[3]=' 0.0'; $Ghours[4]=' 0.0'; $Ghours[5]=' 0.0'; $Ghours[6]=' 0.0'; + $GDsph[0]=0; $GDsph[1]=0; $GDsph[2]=0; $GDsph[3]=0; $GDsph[4]=0; $GDsph[5]=0; $GDsph[6]=0; + $GDsales[0]=0; $GDsales[1]=0; $GDsales[2]=0; $GDsales[3]=0; $GDsales[4]=0; $GDsales[5]=0; $GDsales[6]=0; + $GDhours[0]=0; $GDhours[1]=0; $GDhours[2]=0; $GDhours[3]=0; $GDhours[4]=0; $GDhours[5]=0; $GDhours[6]=0; + $GWEEKsph=0; $GWEEKhours=0; $GWEEKsales=0; + $GMONTHsph=0; $GMONTHhours=0; $GMONTHsales=0; + $GYEARsph=0; $GYEARhours=0; $GYEARsales=0; + } + } + ### END AGENT STATS + + +### BEGIN TOTAL STATS + + +$prevday = $SETprevday; + +### GO THROUGH EACH DAY THIS WEEK UP TO TODAY +while ($prevday >= 0) + { + $TOTDhours[$prevday] = sprintf("%.0f", $TOTDhours[$prevday]); + $TOThours[$prevday] = sprintf("%5s", $TOTDhours[$prevday]); while(length($TOThours[$prevday])>5) {chop($TOThours[$prevday]);} + $TOTsales[$prevday] = sprintf("%5s", $TOTDsales[$prevday]); + if ( ($TOTDsales[$prevday] > 0) && ($TOTDhours[$prevday] > 0) ) + {$TOTDsph[$prevday] = ($TOTDsales[$prevday]/$TOTDhours[$prevday]);} + else + {$TOTDsph[$prevday] = 0;} + $TOTDsph[$prevday] = sprintf("%.1f", $TOTDsph[$prevday]); + $TOTsph[$prevday] = sprintf("%4s", $TOTDsph[$prevday]); + + $TOTWEEKhours = ($TOTWEEKhours + $TOTDhours[$prevday]); + $TOTWEEKsales = ($TOTWEEKsales + $TOTDsales[$prevday]); + + $prevday = ($prevday - 1); + } + +if ( ($TOTWEEKsales > 0) && ($TOTWEEKhours > 0) ) + {$TOTWEEKsph = ($TOTWEEKsales/$TOTWEEKhours);} +else + {$TOTWEEKsph = 0;} + +if ( ($TOTMONTHsales > 0) && ($TOTMONTHhours > 0) ) + {$TOTMONTHsph = ($TOTMONTHsales/$TOTMONTHhours);} +else + {$TOTMONTHsph = 0;} + + if ($YTDrun>0) + { + if ( ($TOTMONTHsales > 0) && ($TOTMONTHhours > 0) ) + {$TOTMONTHsph = ($TOTMONTHsales/$TOTMONTHhours);} + else + {$TOTMONTHsph = 0;} + + $TOTYEARhours = sprintf("%.0f", $TOTYEARhours); + $TOTYEARhours = sprintf("%5s", $TOTYEARhours); while(length($TOTYEARhours)>5) {chop($TOTYEARhours);} + $TOTYEARsph = sprintf("%.1f", $TOTYEARsph); + $TOTYEARsph = sprintf("%4s", $TOTYEARsph); + + $YEARtpipe="$TOTYEARhours|$TOTYEARsph|"; + $YEARtfixed=" $TOTYEARhours $TOTYEARsph"; + } + +print Dout "$shipdate|TOTAL||$TOTDhours[0]|$TOTDsph[0]|$TOTDhours[1]|$TOTDsph[1]|$TOTDhours[2]|$TOTDsph[2]|$TOTDhours[3]|$TOTDsph[3]|$TOTDhours[4]|$TOTDsph[4]|$TOTDhours[5]|$TOTDsph[5]|$TOTDhours[6]|$TOTDsph[6]|$TOTWEEKhours|$TOTWEEKsph|$TOTMONTHhours|$TOTMONTHsph|$YEARtpipe\n"; + + $TOTWEEKhours = sprintf("%.0f", $TOTWEEKhours); + $TOTWEEKhours = sprintf("%5s", $TOTWEEKhours); while(length($TOTWEEKhours)>5) {chop($TOTWEEKhours);} + $TOTWEEKsph = sprintf("%.1f", $TOTWEEKsph); + $TOTWEEKsph = sprintf("%4s", $TOTWEEKsph); + + $TOTMONTHhours = sprintf("%.0f", $TOTMONTHhours); + $TOTMONTHhours = sprintf("%5s", $TOTMONTHhours); while(length($TOTMONTHhours)>5) {chop($TOTMONTHhours);} + $TOTMONTHsph = sprintf("%.1f", $TOTMONTHsph); + $TOTMONTHsph = sprintf("%4s", $TOTMONTHsph); + +$outline = " TOTAL $TOThours[0] $TOTsph[0] $TOThours[1] $TOTsph[1] $TOThours[2] $TOTsph[2] $TOThours[3] $TOTsph[3] $TOThours[4] $TOTsph[4] $TOThours[5] $TOTsph[5] $TOThours[6] $TOTsph[6] $TOTWEEKhours $TOTWEEKsph $TOTMONTHhours $TOTMONTHsph$YEARtfixed\n"; +print "$outline"; +print out "$outline"; + + +exit; + + + + + + + ### TOTAL ACTIVE TIME + $active = ($aryA[3] + $aryA[4] + $aryA[5] + $aryA[6]); + $TIME_S = $active; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Dactive = $TIME_HMS; + $active = sprintf("%9s", $TIME_HMS); + + ### TOTAL TALK TIME + $TIME_S = $aryA[3]; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Dtalk = $TIME_HMS; + $talk = sprintf("%9s", $TIME_HMS); + + ### TOTAL PAUSE TIME + $TIME_S = $aryA[4]; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Dpause = $TIME_HMS; + $pause = sprintf("%9s", $TIME_HMS); + + ### TOTAL WAIT TIME + $TIME_S = $aryA[5]; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Dwait = $TIME_HMS; + $wait = sprintf("%9s", $TIME_HMS); + + ### TOTAL DISPO TIME + $TIME_S = $aryA[6]; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Ddispo = $TIME_HMS; + $dispo = sprintf("%9s", $TIME_HMS); + + $stmtB = "select event_time,UNIX_TIMESTAMP(event_time) from $vicidial_agent_log where event_time <= '$shipdate 23:59:59' and event_time >= '$begindate 00:00:00' and user='$aryA[2]' order by event_time limit 1;"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtA ", $dbhB->errstr; + @aryB = $sthB->fetchrow_array; + $Dfirst_time = $aryB[0]; + $first_time = sprintf("%21s", $aryB[0]); + $Dfirst_log = $aryB[1]; + $first_log = $aryB[1]; + + $stmtB = "select event_time,UNIX_TIMESTAMP(event_time) from $vicidial_agent_log where event_time <= '$shipdate 23:59:59' and event_time >= '$begindate 00:00:00' and user='$aryA[2]' order by event_time desc limit 1;"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtA ", $dbhB->errstr; + @aryB = $sthB->fetchrow_array; + $Dlast_time = $aryB[0]; + $last_time = sprintf("%21s", $aryB[0]); + $Dlast_log = $aryB[1]; + $last_log = $aryB[1]; + + $TIME_S = ($last_log - $first_log); + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $TIME_HMS = "N/A"; + $Dlogin_time = $TIME_HMS; + $login_time = sprintf("%9s", $TIME_HMS); + + + + print Dout "$shipdate|$Dname|$Duser|$Dcalls|$Dtalk|$Dpause|$Dwait|$Ddispo|$Dactive|$Dlogin_time|$Dfirst_time|$Dlast_time\n"; + print out "$name$user$calls$talk$pause$wait$dispo$active$login_time$first_time$last_time\n"; + print "$name$user$calls$talk$pause$wait$dispo$active$login_time$first_time$last_time\n"; + + + +close(Dout); +close(out); + +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secX); +$secZm = ($secZ /60); + +print "script execution time in seconds: $secZ minutes: $secZm\n"; + +exit; + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_agent_daily_SPHfront.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_agent_daily_SPHfront.pl new file mode 100644 index 00000000..13d0c07b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_agent_daily_SPHfront.pl @@ -0,0 +1,664 @@ +#!/usr/bin/perl + +# AST_agent_daily_SPH.pl +# +# This script is designed to gather stats for all agent activity over the course +# of a week and print it in an ASCI text file to be placed +# on a web server for viewing. +# +# This script assumes a work day to be from 2AM to 2AM +# +# Place in the crontab and run every night at 02:00AM for the previous day's stats +# 0 2 * * * /home/cron/AST_agent_daily_SPH.pl +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 80114-1221 - First version +# 80116-0941 - only print agents with week and month hours of 0 to PIPE file +# + +$txt = '.txt'; +$US = '_'; +$MT[0] = ''; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n\n"; + exit; + } + else + { + if ($args =~ /--debug/i) + { + $DB=1; + print "\n-----DEBUG MODE-----\n\n"; + } + if ($args =~ /-q/i) + { + $q=1; $Q=1; + } + if ($args =~ /-t/i) + { + $T=1; $TEST=1; + print "\n-----TESTING-----\n\n"; + } + } +} +else +{ +print "no command line options set\n"; +} +### end parsing run-time options ### + + +$secX = time(); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $filedate = "$year$mon$mday-$hour$min$sec"; + $ABIfiledate = "$mon-$mday-$year$us$hour$min$sec"; + $shipdate = "$year-$mon-$mday"; + $datestamp = "$year/$mon/$mday $hour:$min"; + +use Time::Local; + +### find epoch of 2AM today +$TWOAMsec = ( ($secX - ($sec + ($min * 60) + ($hour * 3600) ) ) + 7200); +### find epoch of 2AM yesterday +$TWOAMsecY = ($TWOAMsec - 86400); + +($Tsec,$Tmin,$Thour,$Tmday,$Tmon,$Tyear,$Twday,$Tyday,$Tisdst) = localtime($TWOAMsecY); +$Tyear = ($Tyear + 1900); +$Tmon++; +if ($Tmon < 10) {$Tmon = "0$Tmon";} +if ($Tmday < 10) {$Tmday = "0$Tmday";} +if ($Thour < 10) {$Thour = "0$Thour";} +if ($Tmin < 10) {$Tmin = "0$Tmin";} +if ($Tsec < 10) {$Tsec = "0$Tsec";} + $begindate = "$Tyear-$Tmon-$Tmday $Thour:$Tmin:$Tsec"; + +### find epoch of 2AM the first day of the month +$BMONTHsec = ($TWOAMsecY - (86400 * ($Tmday - 1) ) ); +### find epoch of 2AM the first day of next month +if ($Tmon>11) {$Tmon=0; $Tyear++;} +$EMONTHsec = timelocal($Tsec,$Tmin,$Thour,1,$Tmon,$Tyear); + + if ($Twday==0) {$day='Sunday '; $SETprevday = 6;} + if ($Twday==1) {$day='Monday '; $SETprevday = 0;} + if ($Twday==2) {$day='Tuesday '; $SETprevday = 1;} + if ($Twday==3) {$day='Wednesday'; $SETprevday = 2;} + if ($Twday==4) {$day='Thursday '; $SETprevday = 3;} + if ($Twday==5) {$day='Friday '; $SETprevday = 4;} + if ($Twday==6) {$day='Saturday '; $SETprevday = 5;} + +($TMsec,$TMmin,$TMhour,$TMmday,$TMmon,$TMyear,$TMwday,$TMyday,$TMisdst) = localtime($BMONTHsec); +$TMyear = ($TMyear + 1900); +$TMmon++; +if ($TMmon < 10) {$TMmon = "0$TMmon";} +if ($TMmday < 10) {$TMmday = "0$TMmday";} +if ($TMhour < 10) {$TMhour = "0$TMhour";} +if ($TMmin < 10) {$TMmin = "0$TMmin";} +if ($TMsec < 10) {$TMsec = "0$TMsec";} + $beginmonth = "$TMyear-$TMmon-$TMmday $TMhour:$TMmin:$TMsec"; + +($TMsec,$TMmin,$TMhour,$TMmday,$TMmon,$TMyear,$TMwday,$TMyday,$TMisdst) = localtime($EMONTHsec); +$TMyear = ($TMyear + 1900); +$TMmon++; +if ($TMmon < 10) {$TMmon = "0$TMmon";} +if ($TMmday < 10) {$TMmday = "0$TMmday";} +if ($TMhour < 10) {$TMhour = "0$TMhour";} +if ($TMmin < 10) {$TMmin = "0$TMmin";} +if ($TMsec < 10) {$TMsec = "0$TMsec";} + $endmonth = "$TMyear-$TMmon-$TMmday $TMhour:$TMmin:$TMsec"; + +#print "|$ABIfiledate|$begindate|$beginmonth|$endmonth|\n"; +#exit; + +print "\n\n\n\n\n\n\n\n\n\n\n\n-- AST_agent_daily_SPH.pl --\n\n"; +print "This program is designed to print sales-per-hour(SPH) to a file for agents' activity for the current week. \n\n"; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +$outfile = "AGENT_SPH_$Tyear-$Tmon-$Tmday$txt"; +$Doutfile = "AGENT_SPH_PIPE_$Tyear-$Tmon-$Tmday$txt"; + +### open the X out file for writing ### +open(out, ">$PATHweb/vicidial/agent_reports/$outfile") + || die "Can't open $outfile: $!\n"; +open(Dout, ">$PATHweb/vicidial/agent_reports/$Doutfile") + || die "Can't open $Doutfile: $!\n"; + +if (!$VARDB_port) {$VARDB_port='3306';} + + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +$dbhB = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +#$vicidial_agent_log = 'vicidial_agent_log_archive'; +$vicidial_agent_log = 'vicidial_agent_log'; + +########################################################################### +########### PAST WEEK STAT GATHERING LOOP ################################# +########################################################################### +print Dout "DATE|AGENT|USER|MON HOURS|MON SPH|TUE HOURS|TUE SPH|WED HOURS|WED SPH|THU HOURS|THU SPH|FRI HOURS|FRI SPH|SAT HOURS|SAT SPH|SUN HOURS|SUN SPH|WEEK HOURS|WEEK SPH|MONTH HOURS|MONTH SPH|GROUP|\n"; +$outline = "REPORT: SPH $Tyear-$Tmon-$Tmday\n\n"; +$outline.= " MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY SUNDAY WEEK MONTH\n"; +$outline.= "AGENT USER HRS SPH HRS SPH HRS SPH HRS SPH HRS SPH HRS SPH HRS SPH HRS SPH HRS SPH GROUP \n"; +print "$outline"; +print out "$outline"; + +### FIND ALL ACTIVE USERS IN THE SYSTEM IN('1090','1102','1245')='1090' +$stmtA = "select full_name,user,user_group from vicidial_users order by user_group,full_name limit 1000;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + + $Dname[$rec_count] = $aryA[0]; + $Duser[$rec_count] = $aryA[1]; + $Dgroup[$rec_count] = $aryA[2]; + $name[$rec_count] = sprintf("%-20s", $aryA[0]); while(length($name[$rec_count])>20) {chop($name[$rec_count]);} + $user[$rec_count] = sprintf("%-8s", $aryA[1]); + $group[$rec_count] = sprintf("%-8s", $aryA[2]); + + $rec_count++; + } +$sthA->finish(); + + +$Gsph[0]=' 0'; $Gsph[1]=' 0'; $Gsph[2]=' 0'; $Gsph[3]=' 0'; $Gsph[4]=' 0'; $Gsph[5]=' 0'; $Gsph[6]=' 0'; +$Gsales[0]=0; $Gsales[1]=0; $Gsales[2]=0; $Gsales[3]=0; $Gsales[4]=0; $Gsales[5]=0; $Gsales[6]=0; +$Ghours[0]=' 0.0'; $Ghours[1]=' 0.0'; $Ghours[2]=' 0.0'; $Ghours[3]=' 0.0'; $Ghours[4]=' 0.0'; $Ghours[5]=' 0.0'; $Ghours[6]=' 0.0'; +$GDsph[0]=0; $GDsph[1]=0; $GDsph[2]=0; $GDsph[3]=0; $GDsph[4]=0; $GDsph[5]=0; $GDsph[6]=0; +$GDsales[0]=0; $GDsales[1]=0; $GDsales[2]=0; $GDsales[3]=0; $GDsales[4]=0; $GDsales[5]=0; $GDsales[6]=0; +$GDhours[0]=0; $GDhours[1]=0; $GDhours[2]=0; $GDhours[3]=0; $GDhours[4]=0; $GDhours[5]=0; $GDhours[6]=0; +$GWEEKsph=0; $GWEEKhours=0; $GWEEKsales=0; +$GMONTHsph=0; $GMONTHhours=0; $GMONTHsales=0; + +$TOTsph[0]=' 0'; $TOTsph[1]=' 0'; $TOTsph[2]=' 0'; $TOTsph[3]=' 0'; $TOTsph[4]=' 0'; $TOTsph[5]=' 0'; $TOTsph[6]=' 0'; +$TOTsales[0]=0; $TOTsales[1]=0; $TOTsales[2]=0; $TOTsales[3]=0; $TOTsales[4]=0; $TOTsales[5]=0; $TOTsales[6]=0; +$TOThours[0]=' 0.0'; $TOThours[1]=' 0.0'; $TOThours[2]=' 0.0'; $TOThours[3]=' 0.0'; $TOThours[4]=' 0.0'; $TOThours[5]=' 0.0'; $TOThours[6]=' 0.0'; +$TOTDsph[0]=0; $TOTDsph[1]=0; $TOTDsph[2]=0; $TOTDsph[3]=0; $TOTDsph[4]=0; $TOTDsph[5]=0; $TOTDsph[6]=0; +$TOTDsales[0]=0; $TOTDsales[1]=0; $TOTDsales[2]=0; $TOTDsales[3]=0; $TOTDsales[4]=0; $TOTDsales[5]=0; $TOTDsales[6]=0; +$TOTDhours[0]=0; $TOTDhours[1]=0; $TOTDhours[2]=0; $TOTDhours[3]=0; $TOTDhours[4]=0; $TOTDhours[5]=0; $TOTDhours[6]=0; +$TOTWEEKsph=0; $TOTWEEKhours=0; $TOTWEEKsales=0; +$TOTMONTHsph=0; $TOTMONTHhours=0; $TOTMONTHsales=0; + + +### GO THROUGH EACH USER ACCOUNT AND FIND OUT THE HOURS AND SPH +$i=0; +foreach (@Duser) + { + $j=0; + $sph[0]=' 0'; $sph[1]=' 0'; $sph[2]=' 0'; $sph[3]=' 0'; $sph[4]=' 0'; $sph[5]=' 0'; $sph[6]=' 0'; + $sales[0]=0; $sales[1]=0; $sales[2]=0; $sales[3]=0; $sales[4]=0; $sales[5]=0; $sales[6]=0; + $hours[0]=' 0.0'; $hours[1]=' 0.0'; $hours[2]=' 0.0'; $hours[3]=' 0.0'; $hours[4]=' 0.0'; $hours[5]=' 0.0'; $hours[6]=' 0.0'; + $Dsph[0]=0; $Dsph[1]=0; $Dsph[2]=0; $Dsph[3]=0; $Dsph[4]=0; $Dsph[5]=0; $Dsph[6]=0; + $Dsales[0]=0; $Dsales[1]=0; $Dsales[2]=0; $Dsales[3]=0; $Dsales[4]=0; $Dsales[5]=0; $Dsales[6]=0; + $Dhours[0]=0; $Dhours[1]=0; $Dhours[2]=0; $Dhours[3]=0; $Dhours[4]=0; $Dhours[5]=0; $Dhours[6]=0; + $WEEKsph=0; $WEEKhours=0; $WEEKsales=0; + $MONTHsph=0; $MONTHhours=0; $MONTHsales=0; + + $UDtarget[0] = ($TWOAMsec - (86400 * 0) ); # X-0 days in the past + $UDtarget[1] = ($TWOAMsec - (86400 * 1) ); # X-1 days in the past + $UDtarget[2] = ($TWOAMsec - (86400 * 2) ); # X-2 days in the past + $UDtarget[3] = ($TWOAMsec - (86400 * 3) ); # X-3 days in the past + $UDtarget[4] = ($TWOAMsec - (86400 * 4) ); # X-4 days in the past + $UDtarget[5] = ($TWOAMsec - (86400 * 5) ); # X-5 days in the past + $UDtarget[6] = ($TWOAMsec - (86400 * 6) ); # X-6 days in the past + $UDtarget[7] = ($TWOAMsec - (86400 * 7) ); # X-7 days in the past + + $prevday = $SETprevday; + + ### GO THROUGH EACH DAY THIS WEEK UP TO TODAY + while ($prevday >= 0) + { + ($Tsec,$Tmin,$Thour,$Tmday,$Tmon,$Tyear,$Twday,$Tyday,$Tisdst) = localtime($UDtarget[$j]); + $Tyear = ($Tyear + 1900); + $Tmon++; + if ($Tmon < 10) {$Tmon = "0$Tmon";} + if ($Tmday < 10) {$Tmday = "0$Tmday";} + if ($Thour < 10) {$Thour = "0$Thour";} + if ($Tmin < 10) {$Tmin = "0$Tmin";} + if ($Tsec < 10) {$Tsec = "0$Tsec";} + $enddate = "$Tyear-$Tmon-$Tmday $Thour:$Tmin:$Tsec"; + + $k = ($j + 1); + ($Tsec,$Tmin,$Thour,$Tmday,$Tmon,$Tyear,$Twday,$Tyday,$Tisdst) = localtime($UDtarget[$k]); + $Tyear = ($Tyear + 1900); + $Tmon++; + if ($Tmon < 10) {$Tmon = "0$Tmon";} + if ($Tmday < 10) {$Tmday = "0$Tmday";} + if ($Thour < 10) {$Thour = "0$Thour";} + if ($Tmin < 10) {$Tmin = "0$Tmin";} + if ($Tsec < 10) {$Tsec = "0$Tsec";} + $begindate = "$Tyear-$Tmon-$Tmday $Thour:$Tmin:$Tsec"; + + $Dsales[$prevday]=0; + $Dhours[$prevday]=0; + + $stmtA = "select sum(talk_sec+pause_sec+wait_sec+dispo_sec) from vicidial_agent_log where event_time <= '$enddate' and event_time >= '$begindate' and pause_sec<48800 and wait_sec<48800 and talk_sec<48800 and dispo_sec<48800 and user='$Duser[$i]' limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $Dhours[$prevday] = ($aryA[0]/3600); + } + + $stmtA = "select count(*) from vicidial_log where call_date <= '$enddate' and call_date >= '$begindate' and status IN('A1','A2','A3','A4','SALE','UPSELL') and user='$Duser[$i]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $Dsales[$prevday] = $aryA[0]; + } + + $Dhours[$prevday] = sprintf("%.2f", $Dhours[$prevday]); + $hours[$prevday] = sprintf("%5s", $Dhours[$prevday]); + $sales[$prevday] = sprintf("%5s", $Dsales[$prevday]); + if ( ($Dsales[$prevday] > 0) && ($Dhours[$prevday] > 0) ) + {$Dsph[$prevday] = ($Dsales[$prevday]/$Dhours[$prevday]);} + else + {$Dsph[$prevday] = 0;} + $Dsph[$prevday] = sprintf("%.1f", $Dsph[$prevday]); + $sph[$prevday] = sprintf("%4s", $Dsph[$prevday]); + + $GDsales[$prevday] = ($GDsales[$prevday] + $Dsales[$prevday]); + $TOTDsales[$prevday] = ($TOTDsales[$prevday] + $Dsales[$prevday]); + $GDhours[$prevday] = ($GDhours[$prevday] + $Dhours[$prevday]); + $TOTDhours[$prevday] = ($TOTDhours[$prevday] + $Dhours[$prevday]); + + $WEEKhours = ($WEEKhours + $Dhours[$prevday]); + $WEEKsales = ($WEEKsales + $Dsales[$prevday]); + + if ($DB) {print STDERR "$hours[$prevday] $sales[$prevday] $sph[$prevday] $prevday $begindate\n";} + $prevday = ($prevday - 1); + $j++; + } + + $stmtA = "select sum(talk_sec+pause_sec+wait_sec+dispo_sec) from vicidial_agent_log where event_time <= '$endmonth' and event_time >= '$beginmonth' and pause_sec<48800 and wait_sec<48800 and talk_sec<48800 and dispo_sec<48800 and user='$Duser[$i]' limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $MONTHhours = ($aryA[0]/3600); + } + + $stmtA = "select count(*) from vicidial_log where call_date <= '$endmonth' and call_date >= '$beginmonth' and status IN('A1','A2','A3','A4','SALE','UPSELL') and user='$Duser[$i]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $MONTHsales = $aryA[0]; + } + + if ( ($WEEKsales > 0) && ($WEEKhours > 0) ) + {$WEEKsph = ($WEEKsales/$WEEKhours);} + else + {$WEEKsph = 0;} + + if ( ($MONTHsales > 0) && ($MONTHhours > 0) ) + {$MONTHsph = ($MONTHsales/$MONTHhours);} + else + {$MONTHsph = 0;} + + $GMONTHsales = ($GMONTHsales + $MONTHsales); + $TOTMONTHsales = ($TOTMONTHsales + $MONTHsales); + $GMONTHhours = ($GMONTHhours + $MONTHhours); + $TOTMONTHhours = ($TOTMONTHhours + $MONTHhours); + + print Dout "$shipdate|$Dname[$i]|$Duser[$i]|$Dhours[0]|$Dsph[0]|$Dhours[1]|$Dsph[1]|$Dhours[2]|$Dsph[2]|$Dhours[3]|$Dsph[3]|$Dhours[4]|$Dsph[4]|$Dhours[5]|$Dsph[5]|$Dhours[6]|$Dsph[6]|$WEEKhours|$WEEKsph|$MONTHhours|$MONTHsph|$Dgroup[$i]\n"; + + ### only print to ASCII fixed-length file if week-to-date and month-to-date hours > 0 + if ( ($WEEKhours > 0) || ($MONTHhours > 0) ) + { + $WEEKhours = sprintf("%.0f", $WEEKhours); + $WEEKhours = sprintf("%5s", $WEEKhours); + $WEEKsph = sprintf("%.1f", $WEEKsph); + $WEEKsph = sprintf("%4s", $WEEKsph); + + $MONTHhours = sprintf("%.0f", $MONTHhours); + $MONTHhours = sprintf("%5s", $MONTHhours); + $MONTHsph = sprintf("%.1f", $MONTHsph); + $MONTHsph = sprintf("%4s", $MONTHsph); + + $outline = "$name[$i] $user[$i] $hours[0] $sph[0] $hours[1] $sph[1] $hours[2] $sph[2] $hours[3] $sph[3] $hours[4] $sph[4] $hours[5] $sph[5] $hours[6] $sph[6] $WEEKhours $WEEKsph $MONTHhours $MONTHsph $group[$i]\n"; + print "$outline"; + print out "$outline"; + } + else + { + print "SKIPPED: $name[$i] $user[$i] $WEEKhours $MONTHhours\n"; + } + + $Dprevgroup = $Dgroup[$i]; + $prevgroup = $group[$i]; + $i++; + + ### BEGIN GROUP SUMMARY STATS + if ($Dgroup[$i] !~ /^$Dprevgroup$/) + { + $prevday = $SETprevday; + + ### GO THROUGH EACH DAY THIS WEEK UP TO TODAY + while ($prevday >= 0) + { + $GDhours[$prevday] = sprintf("%.2f", $GDhours[$prevday]); + $Ghours[$prevday] = sprintf("%5s", $GDhours[$prevday]); while(length($Ghours[$prevday])>5) {chop($Ghours[$prevday]);} + $Gsales[$prevday] = sprintf("%5s", $GDsales[$prevday]); + if ( ($GDsales[$prevday] > 0) && ($GDhours[$prevday] > 0) ) + {$GDsph[$prevday] = ($GDsales[$prevday]/$GDhours[$prevday]);} + else + {$GDsph[$prevday] = 0;} + $GDsph[$prevday] = sprintf("%.1f", $GDsph[$prevday]); + $Gsph[$prevday] = sprintf("%4s", $GDsph[$prevday]); + + $GWEEKhours = ($GWEEKhours + $GDhours[$prevday]); + $GWEEKsales = ($GWEEKsales + $GDsales[$prevday]); + + $prevday = ($prevday - 1); + } + + if ( ($GWEEKsales > 0) && ($GWEEKhours > 0) ) + {$GWEEKsph = ($GWEEKsales/$GWEEKhours);} + else + {$GWEEKsph = 0;} + + if ( ($GMONTHsales > 0) && ($GMONTHhours > 0) ) + {$GMONTHsph = ($GMONTHsales/$GMONTHhours);} + else + {$GMONTHsph = 0;} + + print Dout "$shipdate|TOTAL $Dprevgroup||$GDhours[0]|$GDsph[0]|$GDhours[1]|$GDsph[1]|$GDhours[2]|$GDsph[2]|$GDhours[3]|$GDsph[3]|$GDhours[4]|$GDsph[4]|$GDhours[5]|$GDsph[5]|$GDhours[6]|$GDsph[6]|$GWEEKhours|$GWEEKsph|$GMONTHhours|$GMONTHsph|\n"; + + $GWEEKhours = sprintf("%.0f", $GWEEKhours); + $GWEEKhours = sprintf("%5s", $GWEEKhours); while(length($GWEEKhours)>5) {chop($GWEEKhours);} + $GWEEKsph = sprintf("%.1f", $GWEEKsph); + $GWEEKsph = sprintf("%4s", $GWEEKsph); + + $GMONTHhours = sprintf("%.0f", $GMONTHhours); + $GMONTHhours = sprintf("%5s", $GMONTHhours); while(length($GMONTHhours)>5) {chop($GMONTHhours);} + $GMONTHsph = sprintf("%.1f", $GMONTHsph); + $GMONTHsph = sprintf("%4s", $GMONTHsph); + + $outline = " GROUP TOTAL $prevgroup $Ghours[0] $Gsph[0] $Ghours[1] $Gsph[1] $Ghours[2] $Gsph[2] $Ghours[3] $Gsph[3] $Ghours[4] $Gsph[4] $Ghours[5] $Gsph[5] $Ghours[6] $Gsph[6] $GWEEKhours $GWEEKsph $GMONTHhours $GMONTHsph\n\n"; + print "$outline"; + print out "$outline"; + + $Gsph[0]=' 0'; $Gsph[1]=' 0'; $Gsph[2]=' 0'; $Gsph[3]=' 0'; $Gsph[4]=' 0'; $Gsph[5]=' 0'; $Gsph[6]=' 0'; + $Gsales[0]=0; $Gsales[1]=0; $Gsales[2]=0; $Gsales[3]=0; $Gsales[4]=0; $Gsales[5]=0; $Gsales[6]=0; + $Ghours[0]=' 0.0'; $Ghours[1]=' 0.0'; $Ghours[2]=' 0.0'; $Ghours[3]=' 0.0'; $Ghours[4]=' 0.0'; $Ghours[5]=' 0.0'; $Ghours[6]=' 0.0'; + $GDsph[0]=0; $GDsph[1]=0; $GDsph[2]=0; $GDsph[3]=0; $GDsph[4]=0; $GDsph[5]=0; $GDsph[6]=0; + $GDsales[0]=0; $GDsales[1]=0; $GDsales[2]=0; $GDsales[3]=0; $GDsales[4]=0; $GDsales[5]=0; $GDsales[6]=0; + $GDhours[0]=0; $GDhours[1]=0; $GDhours[2]=0; $GDhours[3]=0; $GDhours[4]=0; $GDhours[5]=0; $GDhours[6]=0; + $GWEEKsph=0; $GWEEKhours=0; $GWEEKsales=0; + $GMONTHsph=0; $GMONTHhours=0; $GMONTHsales=0; + } + } + ### END AGENT STATS + + +### BEGIN TOTAL STATS + + +$prevday = $SETprevday; + +### GO THROUGH EACH DAY THIS WEEK UP TO TODAY +while ($prevday >= 0) + { + $TOTDhours[$prevday] = sprintf("%.0f", $TOTDhours[$prevday]); + $TOThours[$prevday] = sprintf("%5s", $TOTDhours[$prevday]); while(length($TOThours[$prevday])>5) {chop($TOThours[$prevday]);} + $TOTsales[$prevday] = sprintf("%5s", $TOTDsales[$prevday]); + if ( ($TOTDsales[$prevday] > 0) && ($TOTDhours[$prevday] > 0) ) + {$TOTDsph[$prevday] = ($TOTDsales[$prevday]/$TOTDhours[$prevday]);} + else + {$TOTDsph[$prevday] = 0;} + $TOTDsph[$prevday] = sprintf("%.1f", $TOTDsph[$prevday]); + $TOTsph[$prevday] = sprintf("%4s", $TOTDsph[$prevday]); + + $TOTWEEKhours = ($TOTWEEKhours + $TOTDhours[$prevday]); + $TOTWEEKsales = ($TOTWEEKsales + $TOTDsales[$prevday]); + + $prevday = ($prevday - 1); + } + +if ( ($TOTWEEKsales > 0) && ($TOTWEEKhours > 0) ) + {$TOTWEEKsph = ($TOTWEEKsales/$TOTWEEKhours);} +else + {$TOTWEEKsph = 0;} + +if ( ($TOTMONTHsales > 0) && ($TOTMONTHhours > 0) ) + {$TOTMONTHsph = ($TOTMONTHsales/$TOTMONTHhours);} +else + {$TOTMONTHsph = 0;} + + +print Dout "$shipdate|TOTAL||$TOTDhours[0]|$TOTDsph[0]|$TOTDhours[1]|$TOTDsph[1]|$TOTDhours[2]|$TOTDsph[2]|$TOTDhours[3]|$TOTDsph[3]|$TOTDhours[4]|$TOTDsph[4]|$TOTDhours[5]|$TOTDsph[5]|$TOTDhours[6]|$TOTDsph[6]|$TOTWEEKhours|$TOTWEEKsph|$TOTMONTHhours|$TOTMONTHsph|\n"; + + $TOTWEEKhours = sprintf("%.0f", $TOTWEEKhours); + $TOTWEEKhours = sprintf("%5s", $TOTWEEKhours); while(length($TOTWEEKhours)>5) {chop($TOTWEEKhours);} + $TOTWEEKsph = sprintf("%.1f", $TOTWEEKsph); + $TOTWEEKsph = sprintf("%4s", $TOTWEEKsph); + + $TOTMONTHhours = sprintf("%.0f", $TOTMONTHhours); + $TOTMONTHhours = sprintf("%5s", $TOTMONTHhours); while(length($TOTMONTHhours)>5) {chop($TOTMONTHhours);} + $TOTMONTHsph = sprintf("%.1f", $TOTMONTHsph); + $TOTMONTHsph = sprintf("%4s", $TOTMONTHsph); + +$outline = " TOTAL $TOThours[0] $TOTsph[0] $TOThours[1] $TOTsph[1] $TOThours[2] $TOTsph[2] $TOThours[3] $TOTsph[3] $TOThours[4] $TOTsph[4] $TOThours[5] $TOTsph[5] $TOThours[6] $TOTsph[6] $TOTWEEKhours $TOTWEEKsph $TOTMONTHhours $TOTMONTHsph\n"; +print "$outline"; +print out "$outline"; + + +exit; + + + + + + + + + + + + + + + + + + + + + + + + + ### TOTAL ACTIVE TIME + $active = ($aryA[3] + $aryA[4] + $aryA[5] + $aryA[6]); + $TIME_S = $active; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Dactive = $TIME_HMS; + $active = sprintf("%9s", $TIME_HMS); + + ### TOTAL TALK TIME + $TIME_S = $aryA[3]; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Dtalk = $TIME_HMS; + $talk = sprintf("%9s", $TIME_HMS); + + ### TOTAL PAUSE TIME + $TIME_S = $aryA[4]; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Dpause = $TIME_HMS; + $pause = sprintf("%9s", $TIME_HMS); + + ### TOTAL WAIT TIME + $TIME_S = $aryA[5]; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Dwait = $TIME_HMS; + $wait = sprintf("%9s", $TIME_HMS); + + ### TOTAL DISPO TIME + $TIME_S = $aryA[6]; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Ddispo = $TIME_HMS; + $dispo = sprintf("%9s", $TIME_HMS); + + $stmtB = "select event_time,UNIX_TIMESTAMP(event_time) from $vicidial_agent_log where event_time <= '$shipdate 23:59:59' and event_time >= '$begindate 00:00:00' and user='$aryA[2]' order by event_time limit 1;"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtA ", $dbhB->errstr; + @aryB = $sthB->fetchrow_array; + $Dfirst_time = $aryB[0]; + $first_time = sprintf("%21s", $aryB[0]); + $Dfirst_log = $aryB[1]; + $first_log = $aryB[1]; + + $stmtB = "select event_time,UNIX_TIMESTAMP(event_time) from $vicidial_agent_log where event_time <= '$shipdate 23:59:59' and event_time >= '$begindate 00:00:00' and user='$aryA[2]' order by event_time desc limit 1;"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtA ", $dbhB->errstr; + @aryB = $sthB->fetchrow_array; + $Dlast_time = $aryB[0]; + $last_time = sprintf("%21s", $aryB[0]); + $Dlast_log = $aryB[1]; + $last_log = $aryB[1]; + + $TIME_S = ($last_log - $first_log); + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $TIME_HMS = "N/A"; + $Dlogin_time = $TIME_HMS; + $login_time = sprintf("%9s", $TIME_HMS); + + + + print Dout "$shipdate|$Dname|$Duser|$Dcalls|$Dtalk|$Dpause|$Dwait|$Ddispo|$Dactive|$Dlogin_time|$Dfirst_time|$Dlast_time\n"; + print out "$name$user$calls$talk$pause$wait$dispo$active$login_time$first_time$last_time\n"; + print "$name$user$calls$talk$pause$wait$dispo$active$login_time$first_time$last_time\n"; + + + +close(Dout); +close(out); + +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secX); +$secZm = ($secZ /60); + +print "script execution time in seconds: $secZ minutes: $secZm\n"; + +exit; + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_agent_day.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_agent_day.pl new file mode 100644 index 00000000..848a7d9b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_agent_day.pl @@ -0,0 +1,300 @@ +#!/usr/bin/perl +# +# AST_agent_day.pl version 2.0.5 +# +# This script is designed to gather stats for all agent activity over the course +# of a day and print it in an ASCI text file to be placed +# on a web server for viewing. +# +# Place in the crontab and run every night at 23:59 +# 59 23 * * * /home/cron/AST_agent_day.pl +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 60517-1100 - First version +# 60715-2325 - changed to use /etc/astguiclient.conf for configs +# 71115-0231 - added Pipe-delimited file output +# + +$txt = '.txt'; +$US = '_'; +$MT[0] = ''; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n\n"; + exit; + } + else + { + if ($args =~ /--debug/i) + { + $DB=1; + print "\n-----DEBUG MODE-----\n\n"; + } + if ($args =~ /-q/i) + { + $q=1; $Q=1; + } + if ($args =~ /-t/i) + { + $T=1; $TEST=1; + print "\n-----TESTING-----\n\n"; + } + } +} +else +{ +print "no command line options set\n"; +} +### end parsing run-time options ### + + +$secX = time(); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $filedate = "$year$mon$mday-$hour$min$sec"; + $ABIfiledate = "$mon-$mday-$year$us$hour$min$sec"; + $shipdate = "$year-$mon-$mday"; + $datestamp = "$year/$mon/$mday $hour:$min"; + + if ($wday==0) {$day='Sunday ';} + if ($wday==1) {$day='Monday ';} + if ($wday==2) {$day='Tuesday ';} + if ($wday==3) {$day='Wednesday';} + if ($wday==4) {$day='Thursday ';} + if ($wday==5) {$day='Friday ';} + if ($wday==6) {$day='Saturday ';} + + + +print "\n\n\n\n\n\n\n\n\n\n\n\n-- AST_agent_day.pl --\n\n"; +print "This program is designed to print stats to a file for agents' activity for the previous day. \n\n"; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +$outfile = "AGENT_DAY_$shipdate$txt"; +$Doutfile = "AGENT_DAY_PIPE_$shipdate$txt"; + +### open the X out file for writing ### +open(out, ">$PATHweb/vicidial/agent_reports/$outfile") + || die "Can't open $outfile: $!\n"; +open(Dout, ">$PATHweb/vicidial/agent_reports/$Doutfile") + || die "Can't open $Doutfile: $!\n"; + +if (!$VARDB_port) {$VARDB_port='3306';} + + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +$dbhB = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +#$vicidial_agent_log = 'vicidial_agent_log_archive'; +$vicidial_agent_log = 'vicidial_agent_log'; + +########################################################################### +########### PAST WEEK STAT GATHERING LOOP ################################# +########################################################################### +print Dout "TODAY: $day $shipdate\n\n"; +print Dout "DATE|AGENT|USER|CALLS|TALK|PAUSE|WAIT|DISPO|ACTIVE|LOGTIME|FIRST|LAST\n"; +print out "TODAY: $day $shipdate\n\n"; +print out "AGENT USER CALLS TALK PAUSE WAIT DISPO ACTIVE LOGTIME FIRST LAST \n"; +print "TODAY: $day $shipdate\n\n"; +print "AGENT USER CALLS TALK PAUSE WAIT DISPO ACTIVE LOGTIME FIRST LAST \n"; + +$stmtA = "select count(*) as calls, full_name,vicidial_users.user,sum(talk_sec),sum(pause_sec),sum(wait_sec),sum(dispo_sec) from vicidial_users,$vicidial_agent_log where event_time <= '$shipdate 23:59:59' and event_time >= '$shipdate 00:00:00' and vicidial_users.user=$vicidial_agent_log.user and pause_sec<48800 and wait_sec<48800 and talk_sec<48800 and dispo_sec<48800 group by vicidial_users.user order by full_name limit 10000;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + + $Dcalls = $aryA[0]; + $Dname = $aryA[1]; + $Duser = $aryA[2]; + $calls = sprintf("%7s", $aryA[0]); + $name = sprintf("%-20s", $aryA[1]); while(length($name)>20) {chop($name);} + $user = sprintf("%-8s", $aryA[2]); + + ### TOTAL ACTIVE TIME + $active = ($aryA[3] + $aryA[4] + $aryA[5] + $aryA[6]); + $TIME_S = $active; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Dactive = $TIME_HMS; + $active = sprintf("%9s", $TIME_HMS); + + ### TOTAL TALK TIME + $TIME_S = $aryA[3]; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Dtalk = $TIME_HMS; + $talk = sprintf("%9s", $TIME_HMS); + + ### TOTAL PAUSE TIME + $TIME_S = $aryA[4]; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Dpause = $TIME_HMS; + $pause = sprintf("%9s", $TIME_HMS); + + ### TOTAL WAIT TIME + $TIME_S = $aryA[5]; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Dwait = $TIME_HMS; + $wait = sprintf("%9s", $TIME_HMS); + + ### TOTAL DISPO TIME + $TIME_S = $aryA[6]; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Ddispo = $TIME_HMS; + $dispo = sprintf("%9s", $TIME_HMS); + + $stmtB = "select event_time,UNIX_TIMESTAMP(event_time) from $vicidial_agent_log where event_time <= '$shipdate 23:59:59' and event_time >= '$shipdate 00:00:00' and user='$aryA[2]' order by event_time limit 1;"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtA ", $dbhB->errstr; + @aryB = $sthB->fetchrow_array; + $Dfirst_time = $aryB[0]; + $first_time = sprintf("%21s", $aryB[0]); + $Dfirst_log = $aryB[1]; + $first_log = $aryB[1]; + + $stmtB = "select event_time,UNIX_TIMESTAMP(event_time) from $vicidial_agent_log where event_time <= '$shipdate 23:59:59' and event_time >= '$shipdate 00:00:00' and user='$aryA[2]' order by event_time desc limit 1;"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtA ", $dbhB->errstr; + @aryB = $sthB->fetchrow_array; + $Dlast_time = $aryB[0]; + $last_time = sprintf("%21s", $aryB[0]); + $Dlast_log = $aryB[1]; + $last_log = $aryB[1]; + + $TIME_S = ($last_log - $first_log); + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Dlogin_time = $TIME_HMS; + $login_time = sprintf("%9s", $TIME_HMS); + + + + print Dout "$shipdate|$Dname|$Duser|$Dcalls|$Dtalk|$Dpause|$Dwait|$Ddispo|$Dactive|$Dlogin_time|$Dfirst_time|$Dlast_time\n"; + print out "$name$user$calls$talk$pause$wait$dispo$active$login_time$first_time$last_time\n"; + print "$name$user$calls$talk$pause$wait$dispo$active$login_time$first_time$last_time\n"; + + + $rec_count++; + } +$sthA->finish(); + + + +close(Dout); +close(out); + +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secX); +$secZm = ($secZ /60); + +print "script execution time in seconds: $secZ minutes: $secZm\n"; + +exit; + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_agent_logout.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_agent_logout.pl new file mode 100644 index 00000000..30ca85aa --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_agent_logout.pl @@ -0,0 +1,318 @@ +#!/usr/bin/perl +# +# AST_agent_logout.pl version 2.0.5 *DBI-version* +# +# DESCRIPTION: +# forces logout of agents in a specified campaign or all campaigns +# +# This script is meant to be used in the crontab at scheduled intervals +# +# EXAMPLE CRONTAB ENTRIES: +# +# ### Force logout at different times +# +# ## 3:15PM and 10:15PM Monday-Thursday +# 15 15,22 * * 1,2,3,4 /usr/share/astguiclient/AST_agent_logout.pl --debugX +# +# ## 8:15PM on Friday +# 15 20 * * 5 /usr/share/astguiclient/AST_agent_logout.pl --debugX +# +# ## 4:15PM on Saturday +# 15 16 * * 6 /usr/share/astguiclient/AST_agent_logout.pl --debugX +# +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGELOG +# 80112-0330 - First Build +# + +# constants +$DB=0; # Debug flag, set to 0 for no debug messages, On an active system this will generate lots of lines of output per minute +$US='__'; +$MT[0]=''; + +$secT = time(); +$now_date_epoch = $secT; +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +$file_date = "$year-$mon-$mday"; +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$VDL_date = "$year-$mon-$mday 00:00:01"; +$inactive_epoch = ($secT - 60); + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options(must stay in this order):\n [--debug] = debug\n [--debugX] = super debug\n [-t] = test\n [--campaign=XXX] = run for campaign XXX only\n\n"; + exit; + } + else + { + if ($args =~ /--campaign=/i) + { + # print "\n|$ARGS|\n\n"; + @data_in = split(/--campaign=/,$args); + $CLIcampaign = $data_in[1]; + $CLIcampaign =~ s/ .*$//gi; + } + else + {$CLIcampaign = '';} + if ($args =~ /--debug/i) + { + $DB=1; + print "\n----- DEBUG -----\n\n"; + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n----- SUPER DEBUG -----\n\n"; + } + if ($args =~ /-t/i) + { + $T=1; $TEST=1; + print "\n-----TESTING -----\n\n"; + } + } +} +else +{ +print "no command line options set\n"; +} + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +if (!$VDALOGfile) {$VDALOGfile = "$PATHlogs/agentlogout.$year-$mon-$mday";} +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +### Grab Server values from the database + $stmtA = "SELECT vd_server_logs,local_gmt FROM servers where server_ip = '$VARserver_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvd_server_logs = "$aryA[0]"; + $DBSERVER_GMT = "$aryA[1]"; + if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';} + else {$SYSLOG = '0';} + if (length($DBSERVER_GMT)>0) {$SERVER_GMT = $DBSERVER_GMT;} + $rec_count++; + } + $sthA->finish(); + + + +@user=@MT; + +if ($CLIcampaign) + { + $stmtA = "SELECT user,server_ip,status,lead_id,campaign_id,uniqueid,callerid,channel,last_call_time,UNIX_TIMESTAMP(last_update_time),last_call_finish,closer_campaigns,call_server_ip from vicidial_live_agents where campaign_id='$CLIcampaign'"; + } +else + { + $stmtA = "SELECT user,server_ip,status,lead_id,campaign_id,uniqueid,callerid,channel,last_call_time,UNIX_TIMESTAMP(last_update_time),last_call_finish,closer_campaigns,call_server_ip from vicidial_live_agents"; + } +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $user[$rec_count] = "$aryA[0]"; + $server_ip[$rec_count] = "$aryA[1]"; + $status[$rec_count] = "$aryA[2]"; + $lead_id[$rec_count] = "$aryA[3]"; + $campaign_id[$rec_count] = "$aryA[4]"; + $uniqueid[$rec_count] = "$aryA[5]"; + $callerid[$rec_count] = "$aryA[6]"; + $channel[$rec_count] = "$aryA[7]"; + $last_call_time[$rec_count] = "$aryA[8]"; + $last_update_time[$rec_count] = "$aryA[9]"; + $last_call_finish[$rec_count] = "$aryA[10]"; + $closer_campaigns[$rec_count] = "$aryA[11]"; + $call_server_ip[$rec_count] = "$aryA[12]"; + + $rec_count++; + } +$sthA->finish(); +if ($DB) {print "AGENTS TO LOGOUT: $rec_count\n";} + +##### LOOP THROUGH EACH AGENT(USER) AND LOG THEM OUT ##### +$i=0; +foreach(@user) + { + + ### attempt to gracefully update the timers in the logs before logging out the agent + if ($last_update_time[$i] > $inactive_epoch) + { + $stmtA = "SELECT * from vicidial_agent_log where user='$user[$i]' and campaign_id='$campaign_id[$i]' order by agent_log_id desc LIMIT 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $agent_log_id[$i] = "$aryA[0]"; + $pause_epoch[$i] = "$aryA[6]"; + $pause_sec[$i] = "$aryA[7]"; + $wait_epoch[$i] = "$aryA[8]"; + $wait_sec[$i] = "$aryA[9]"; + $talk_epoch[$i] = "$aryA[10]"; + $talk_sec[$i] = "$aryA[11]"; + $dispo_epoch[$i] = "$aryA[12]"; + $dispo_sec[$i] = "$aryA[13]"; + $user_group[$i] = "$aryA[15]"; + } + $sthA->finish(); + + if ( ($wait_epoch[$i] < 1) || ( ($status[$i] =~ /PAUSE/) && ($dispo_epoch[$i] < 1) ) ) + { + $pause_sec = ( ($now_date_epoch - $pause_epoch[$i]) + $pause_sec[$i]); + $stmtA = "UPDATE vicidial_agent_log SET wait_epoch='$now_date_epoch', pause_sec='$pause_sec' where agent_log_id='$agent_log_id[$i]';"; + } + else + { + if ($talk_epoch[$i] < 1) + { + $wait_sec = ( ($now_date_epoch - $wait_epoch[$i]) + $wait_sec[$i]); + $stmtA = "UPDATE vicidial_agent_log SET talk_epoch='$now_date_epoch', wait_sec='$wait_sec' where agent_log_id='$agent_log_id[$i]';"; + } + else + { + if ($dispo_epoch[$i] < 1) + { + $talk_sec = ($now_date_epoch - $talk_epoch[$i]); + $stmtA = "UPDATE vicidial_agent_log SET dispo_epoch='$now_date_epoch', talk_sec='$talk_sec' where agent_log_id='$agent_log_id[$i]';"; + } + else + { + if ($dispo_sec[$i] < 1) + { + $dispo_sec = ($now_date_epoch - $dispo_epoch[$i]); + $stmtA = "UPDATE vicidial_agent_log SET dispo_sec='$dispo_sec' where agent_log_id='$agent_log_id[$i]';"; + } + } + } + } + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print "UPDATING VAL RECORD: $affected_rows |$stmtA|\n";} + $event_string = "AGENT UPDATE|$affected_rows|$stmtA|"; + &event_logger; + } + + $stmtA = "DELETE from vicidial_live_agents where user='$user[$i]' and campaign_id='$campaign_id[$i]' order by live_agent_id LIMIT 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($DBX) {print "VLA record Deleted: $affected_rows $user[$1] $campaign_id[$i] $status[$i] $last_call_time[$i]\n";} + $event_string = "AGENT LOGOUT|$user[$1]|$campaign_id[$i]|$status[$i]|$last_call_time[$i]"; + &event_logger; + + + if (length($user_group[$i])<1) + { + $stmtA = "SELECT user_group FROM vicidial_users where user='$user[$i]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $user_group[$i] = "$aryA[0]"; + } + $sthA->finish(); + } + $stmtA = "INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$user[$i]','LOGOUT','$campaign_id[$i]','$now_date','$now_date_epoch','$user_group[$i]');"; + $affected_rows = $dbhA->do($stmtA); + + $i++; + } + + +$dbhA->disconnect(); + +if($DB) +{ +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secT); + +if (!$q) {print "DONE. Script execution time in seconds: $secZ\n";} +} + +exit; + + + +sub event_logger +{ +if ($SYSLOG) + { + ### open the log file for writing ### + open(Lout, ">>$VDALOGfile") + || die "Can't open $VDALOGfile: $!\n"; + print Lout "$now_date|$event_string|\n"; + close(Lout); + } +$event_string=''; +} + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_agent_week.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_agent_week.pl new file mode 100644 index 00000000..a00c55bb --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_agent_week.pl @@ -0,0 +1,352 @@ +#!/usr/bin/perl +# +# AST_agent_week.pl version 2.0.5 +# +# This script is designed to gather stats for all agent activity over the course +# of a week(Sunday to Saturday) and print it in an ASCI text file to be placed +# on a web server for viewing. +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 60517-1100 - First version +# 60715-2325 - changed to use /etc/astguiclient.conf for configs +# + +$txt = '.txt'; +$US = '_'; +$MT[0] = ''; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n\n"; + exit; + } + else + { + if ($args =~ /--debug/i) + { + $DB=1; + print "\n-----DEBUG MODE-----\n\n"; + } + if ($args =~ /-q/i) + { + $q=1; $Q=1; + } + if ($args =~ /-t/i) + { + $T=1; $TEST=1; + print "\n-----TESTING-----\n\n"; + } + } +} +else +{ +print "no command line options set\n"; +} +### end parsing run-time options ### + + +$secX = time(); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $filedate = "$year$mon$mday-$hour$min$sec"; + $ABIfiledate = "$mon-$mday-$year$us$hour$min$sec"; + $shipdate = "$year-$mon-$mday"; + $datestamp = "$year/$mon/$mday $hour:$min"; + + $STARTtarget = ($secX - (86400 * $wday)); + ($Ssec,$Smin,$Shour,$Smday,$Smon,$Syear,$Swday,$Syday,$Sisdst) = localtime($STARTtarget); + $Syear = ($Syear + 1900); $Smon++; + if ($Smon < 10) {$Smon = "0$Smon";} + if ($Smday < 10) {$Smday = "0$Smday";} + $START_week = (($Syday/7)+1); $START_week = sprintf("%2d", $START_week); + $STARTtarget_date = "$Syear-$Smon-$Smday"; + + $ENDtarget = ($STARTtarget + (86400 * 6)); + ($Ssec,$Smin,$Shour,$Smday,$Smon,$Syear,$Swday,$Syday,$Sisdst) = localtime($ENDtarget); + $Syear = ($Syear + 1900); $Smon++; + if ($Smon < 10) {$Smon = "0$Smon";} + if ($Smday < 10) {$Smday = "0$Smday";} + $ENDtarget_date = "$Syear-$Smon-$Smday"; + + $PAST_STARTtarget = ($STARTtarget - (86400 * 7)); + ($Ssec,$Smin,$Shour,$Smday,$Smon,$Syear,$Swday,$Syday,$Sisdst) = localtime($PAST_STARTtarget); + $Syear = ($Syear + 1900); $Smon++; + if ($Smon < 10) {$Smon = "0$Smon";} + if ($Smday < 10) {$Smday = "0$Smday";} + $PAST_START_week = (($Syday/7)+1); $PAST_START_week = sprintf("%2d", $PAST_START_week); + $PAST_STARTtarget_date = "$Syear-$Smon-$Smday"; + + $PAST_ENDtarget = ($ENDtarget - (86400 * 7)); + ($Ssec,$Smin,$Shour,$Smday,$Smon,$Syear,$Swday,$Syday,$Sisdst) = localtime($PAST_ENDtarget); + $Syear = ($Syear + 1900); $Smon++; + if ($Smon < 10) {$Smon = "0$Smon";} + if ($Smday < 10) {$Smday = "0$Smday";} + $PAST_ENDtarget_date = "$Syear-$Smon-$Smday"; + + $PAST_date[0] = $PAST_STARTtarget_date; + $PAST_day[0] = 'Sunday '; + $PAST_date[6] = $PAST_ENDtarget_date; + $PAST_day[6] = 'Saturday '; + + $PAST_Mondaytarget = ($STARTtarget - (86400 * 6)); + ($Ssec,$Smin,$Shour,$Smday,$Smon,$Syear,$Swday,$Syday,$Sisdst) = localtime($PAST_Mondaytarget); + $Syear = ($Syear + 1900); $Smon++; + if ($Smon < 10) {$Smon = "0$Smon";} + if ($Smday < 10) {$Smday = "0$Smday";} + $PAST_date[1] = "$Syear-$Smon-$Smday"; + $PAST_day[1] = 'Monday '; + + $PAST_Tuesdaytarget = ($STARTtarget - (86400 * 5)); + ($Ssec,$Smin,$Shour,$Smday,$Smon,$Syear,$Swday,$Syday,$Sisdst) = localtime($PAST_Tuesdaytarget); + $Syear = ($Syear + 1900); $Smon++; + if ($Smon < 10) {$Smon = "0$Smon";} + if ($Smday < 10) {$Smday = "0$Smday";} + $PAST_date[2] = "$Syear-$Smon-$Smday"; + $PAST_day[2] = 'Tuesday '; + + $PAST_Wednesdaytarget = ($STARTtarget - (86400 * 4)); + ($Ssec,$Smin,$Shour,$Smday,$Smon,$Syear,$Swday,$Syday,$Sisdst) = localtime($PAST_Wednesdaytarget); + $Syear = ($Syear + 1900); $Smon++; + if ($Smon < 10) {$Smon = "0$Smon";} + if ($Smday < 10) {$Smday = "0$Smday";} + $PAST_date[3] = "$Syear-$Smon-$Smday"; + $PAST_day[3] = 'Wednesday'; + + $PAST_Thursdaytarget = ($STARTtarget - (86400 * 3)); + ($Ssec,$Smin,$Shour,$Smday,$Smon,$Syear,$Swday,$Syday,$Sisdst) = localtime($PAST_Thursdaytarget); + $Syear = ($Syear + 1900); $Smon++; + if ($Smon < 10) {$Smon = "0$Smon";} + if ($Smday < 10) {$Smday = "0$Smday";} + $PAST_date[4] = "$Syear-$Smon-$Smday"; + $PAST_day[4] = 'Thursday '; + + $PAST_Fridaytarget = ($STARTtarget - (86400 * 2)); + ($Ssec,$Smin,$Shour,$Smday,$Smon,$Syear,$Swday,$Syday,$Sisdst) = localtime($PAST_Fridaytarget); + $Syear = ($Syear + 1900); $Smon++; + if ($Smon < 10) {$Smon = "0$Smon";} + if ($Smday < 10) {$Smday = "0$Smday";} + $PAST_date[5] = "$Syear-$Smon-$Smday"; + $PAST_day[5] = 'Friday '; + +print "\n\n\n\n\n\n\n\n\n\n\n\n-- AST_agent_week.pl --\n\n"; +print "This program is designed to print stats to a file for agents' activity for the previous week. \n\n"; + +$TLoutfile = ''; +$TLoutfile .= "TODAY: $shipdate\n"; +$TLoutfile .= "THIS WEEK: week $START_week $STARTtarget_date - $ENDtarget_date\n"; +$TLoutfile .= "LAST WEEK: week $PAST_START_week $PAST_STARTtarget_date - $PAST_ENDtarget_date\n\n"; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +$outfile = "AGENT_HOURS_$PAST_STARTtarget_date$US$PAST_ENDtarget_date$txt"; + +### open the X out file for writing ### +open(out, ">$PATHweb/vicidial/agent_reports/$outfile") + || die "Can't open $outfile: $!\n"; + +if (!$VARDB_port) {$VARDB_port='3306';} + + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +$dbhB = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +#$vicidial_agent_log = 'vicidial_agent_log_archive'; +$vicidial_agent_log = 'vicidial_agent_log'; + +########################################################################### +########### PAST WEEK STAT GATHERING LOOP ################################# +########################################################################### +$h=0; +foreach(@PAST_date) +{ + print out "\n$PAST_day[$h] $PAST_date[$h]\n\n"; + print out "AGENT USER CALLS TALK PAUSE WAIT DISPO ACTIVE LOGTIME FIRST LAST \n"; + print "\n$PAST_day[$h] $PAST_date[$h]\n\n"; + print "AGENT USER CALLS TALK PAUSE WAIT DISPO ACTIVE LOGTIME FIRST LAST \n"; + + $stmtA = "select count(*) as calls, full_name,vicidial_users.user,sum(talk_sec),sum(pause_sec),sum(wait_sec),sum(dispo_sec) from vicidial_users,$vicidial_agent_log where event_time <= '$PAST_date[$h] 23:59:59' and event_time >= '$PAST_date[$h] 00:00:00' and vicidial_users.user=$vicidial_agent_log.user and pause_sec<48800 and wait_sec<48800 and talk_sec<48800 and dispo_sec<48800 group by vicidial_users.user order by full_name limit 10000;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + + $calls = sprintf("%7s", $aryA[0]); + $name = sprintf("%-20s", $aryA[1]); while(length($name)>20) {chop($name);} + $user = sprintf("%-8s", $aryA[2]); + + ### TOTAL ACTIVE TIME + $active = ($aryA[3] + $aryA[4] + $aryA[5] + $aryA[6]); + $TIME_S = $active; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $active = sprintf("%9s", $TIME_HMS); + + ### TOTAL TALK TIME + $TIME_S = $aryA[3]; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $talk = sprintf("%9s", $TIME_HMS); + + ### TOTAL PAUSE TIME + $TIME_S = $aryA[4]; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $pause = sprintf("%9s", $TIME_HMS); + + ### TOTAL WAIT TIME + $TIME_S = $aryA[5]; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $wait = sprintf("%9s", $TIME_HMS); + + ### TOTAL DISPO TIME + $TIME_S = $aryA[6]; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $dispo = sprintf("%9s", $TIME_HMS); + + $stmtB = "select event_time,UNIX_TIMESTAMP(event_time) from $vicidial_agent_log where event_time <= '$PAST_date[$h] 23:59:59' and event_time >= '$PAST_date[$h] 00:00:00' and user='$aryA[2]' order by event_time limit 1;"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtA ", $dbhB->errstr; + @aryB = $sthB->fetchrow_array; + $first_time = sprintf("%21s", $aryB[0]); + $first_log = $aryB[1]; + + $stmtB = "select event_time,UNIX_TIMESTAMP(event_time) from $vicidial_agent_log where event_time <= '$PAST_date[$h] 23:59:59' and event_time >= '$PAST_date[$h] 00:00:00' and user='$aryA[2]' order by event_time desc limit 1;"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtA ", $dbhB->errstr; + @aryB = $sthB->fetchrow_array; + $last_time = sprintf("%21s", $aryB[0]); + $last_log = $aryB[1]; + + $TIME_S = ($last_log - $first_log); + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $login_time = sprintf("%9s", $TIME_HMS); + + + + print out "$name$user$calls$talk$pause$wait$dispo$active$login_time$first_time$last_time\n"; + print "$name$user$calls$talk$pause$wait$dispo$active$login_time$first_time$last_time\n"; + + + $rec_count++; + } + $sthA->finish(); + +$h++; +} + + + +close(out); + +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secX); +$secZm = ($secZ /60); + +print "script execution time in seconds: $secZ minutes: $secZm\n"; + +exit; + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_agent_week_tally.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_agent_week_tally.pl new file mode 100644 index 00000000..98bef4f5 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_agent_week_tally.pl @@ -0,0 +1,311 @@ +#!/usr/bin/perl +# +# AST_agent_week_tally.pl version 2.0.5 +# +# This script is designed to gather stats for all agent activity over the course +# of a week and print it in an ASCI text file to be placed +# on a web server for viewing. +# +# Place in the crontab and run every Saturday night at 23:59 +# 59 23 6 * * /home/cron/AST_agent_day.pl +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 60517-1100 - First version +# 60715-2325 - changed to use /etc/astguiclient.conf for configs +# 71115-0231 - added Pipe-delimited file output +# 71205-1232 - Changed to week total version +# + +$txt = '.txt'; +$US = '_'; +$MT[0] = ''; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n\n"; + exit; + } + else + { + if ($args =~ /--debug/i) + { + $DB=1; + print "\n-----DEBUG MODE-----\n\n"; + } + if ($args =~ /-q/i) + { + $q=1; $Q=1; + } + if ($args =~ /-t/i) + { + $T=1; $TEST=1; + print "\n-----TESTING-----\n\n"; + } + } +} +else +{ +print "no command line options set\n"; +} +### end parsing run-time options ### + + +$secX = time(); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $filedate = "$year$mon$mday-$hour$min$sec"; + $ABIfiledate = "$mon-$mday-$year$us$hour$min$sec"; + $shipdate = "$year-$mon-$mday"; + $datestamp = "$year/$mon/$mday $hour:$min"; + + if ($wday==0) {$day='Sunday ';} + if ($wday==1) {$day='Monday ';} + if ($wday==2) {$day='Tuesday ';} + if ($wday==3) {$day='Wednesday';} + if ($wday==4) {$day='Thursday ';} + if ($wday==5) {$day='Friday ';} + if ($wday==6) {$day='Saturday ';} + +$TDtarget = ($secX - 600000); # 6 days 10 hours 30 minutes in the past +($Tsec,$Tmin,$Thour,$Tmday,$Tmon,$Tyear,$Twday,$Tyday,$Tisdst) = localtime($TDtarget); +$Tyear = ($Tyear + 1900); +$Tmon++; +if ($Tmon < 10) {$Tmon = "0$Tmon";} +if ($Tmday < 10) {$Tmday = "0$Tmday";} +if ($Thour < 10) {$Thour = "0$Thour";} +if ($Tmin < 10) {$Tmin = "0$Tmin";} +if ($Tsec < 10) {$Tsec = "0$Tsec";} + $begindate = "$Tyear-$Tmon-$Tmday"; + + +print "\n\n\n\n\n\n\n\n\n\n\n\n-- AST_agent_week_tally.pl --\n\n"; +print "This program is designed to print stats to a file for agents' activity for the previous week. \n\n"; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +$outfile = "AGENT_TALLY_$shipdate$txt"; +$Doutfile = "AGENT_TALLY_PIPE_$shipdate$txt"; + +### open the X out file for writing ### +open(out, ">$PATHweb/vicidial/agent_reports/$outfile") + || die "Can't open $outfile: $!\n"; +open(Dout, ">$PATHweb/vicidial/agent_reports/$Doutfile") + || die "Can't open $Doutfile: $!\n"; + +if (!$VARDB_port) {$VARDB_port='3306';} + + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +$dbhB = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +#$vicidial_agent_log = 'vicidial_agent_log_archive'; +$vicidial_agent_log = 'vicidial_agent_log'; + +########################################################################### +########### PAST WEEK STAT GATHERING LOOP ################################# +########################################################################### +print Dout "DATE|AGENT|USER|CALLS|TALK|PAUSE|WAIT|DISPO|ACTIVE|LOGTIME|FIRST|LAST\n"; +print out "WEEK: $begindate through $shipdate\n\n"; +print out "AGENT USER CALLS TALK PAUSE WAIT DISPO ACTIVE LOGTIME FIRST LAST \n"; +print "WEEK: $begindate through $shipdate\n\n"; +print "AGENT USER CALLS TALK PAUSE WAIT DISPO ACTIVE LOGTIME FIRST LAST \n"; + +$stmtA = "select count(*) as calls, full_name,vicidial_users.user,sum(talk_sec),sum(pause_sec),sum(wait_sec),sum(dispo_sec) from vicidial_users,$vicidial_agent_log where event_time <= '$shipdate 23:59:59' and event_time >= '$begindate 00:00:00' and vicidial_users.user=$vicidial_agent_log.user and pause_sec<48800 and wait_sec<48800 and talk_sec<48800 and dispo_sec<48800 group by vicidial_users.user order by full_name limit 10000;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + + $Dcalls = $aryA[0]; + $Dname = $aryA[1]; + $Duser = $aryA[2]; + $calls = sprintf("%7s", $aryA[0]); + $name = sprintf("%-20s", $aryA[1]); while(length($name)>20) {chop($name);} + $user = sprintf("%-8s", $aryA[2]); + + ### TOTAL ACTIVE TIME + $active = ($aryA[3] + $aryA[4] + $aryA[5] + $aryA[6]); + $TIME_S = $active; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Dactive = $TIME_HMS; + $active = sprintf("%9s", $TIME_HMS); + + ### TOTAL TALK TIME + $TIME_S = $aryA[3]; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Dtalk = $TIME_HMS; + $talk = sprintf("%9s", $TIME_HMS); + + ### TOTAL PAUSE TIME + $TIME_S = $aryA[4]; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Dpause = $TIME_HMS; + $pause = sprintf("%9s", $TIME_HMS); + + ### TOTAL WAIT TIME + $TIME_S = $aryA[5]; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Dwait = $TIME_HMS; + $wait = sprintf("%9s", $TIME_HMS); + + ### TOTAL DISPO TIME + $TIME_S = $aryA[6]; + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $Ddispo = $TIME_HMS; + $dispo = sprintf("%9s", $TIME_HMS); + + $stmtB = "select event_time,UNIX_TIMESTAMP(event_time) from $vicidial_agent_log where event_time <= '$shipdate 23:59:59' and event_time >= '$begindate 00:00:00' and user='$aryA[2]' order by event_time limit 1;"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtA ", $dbhB->errstr; + @aryB = $sthB->fetchrow_array; + $Dfirst_time = $aryB[0]; + $first_time = sprintf("%21s", $aryB[0]); + $Dfirst_log = $aryB[1]; + $first_log = $aryB[1]; + + $stmtB = "select event_time,UNIX_TIMESTAMP(event_time) from $vicidial_agent_log where event_time <= '$shipdate 23:59:59' and event_time >= '$begindate 00:00:00' and user='$aryA[2]' order by event_time desc limit 1;"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtA ", $dbhB->errstr; + @aryB = $sthB->fetchrow_array; + $Dlast_time = $aryB[0]; + $last_time = sprintf("%21s", $aryB[0]); + $Dlast_log = $aryB[1]; + $last_log = $aryB[1]; + + $TIME_S = ($last_log - $first_log); + $TIME_H = int($TIME_S / 3600); + $TIME_S = ($TIME_S - ($TIME_H * 3600)); + $TIME_M = int($TIME_S / 60); + $TIME_S = ($TIME_S - ($TIME_M * 60)); + if ($TIME_S < 10) {$TIME_S = "0$TIME_S";} + if ($TIME_M < 10) {$TIME_M = "0$TIME_M";} + $TIME_HMS = "$TIME_H:$TIME_M:$TIME_S"; + $TIME_HMS = "N/A"; + $Dlogin_time = $TIME_HMS; + $login_time = sprintf("%9s", $TIME_HMS); + + + + print Dout "$shipdate|$Dname|$Duser|$Dcalls|$Dtalk|$Dpause|$Dwait|$Ddispo|$Dactive|$Dlogin_time|$Dfirst_time|$Dlast_time\n"; + print out "$name$user$calls$talk$pause$wait$dispo$active$login_time$first_time$last_time\n"; + print "$name$user$calls$talk$pause$wait$dispo$active$login_time$first_time$last_time\n"; + + + $rec_count++; + } +$sthA->finish(); + + + +close(Dout); +close(out); + +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secX); +$secZm = ($secZ /60); + +print "script execution time in seconds: $secZ minutes: $secZm\n"; + +exit; + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_cleanup_agent_log.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_cleanup_agent_log.pl new file mode 100644 index 00000000..c81dc524 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_cleanup_agent_log.pl @@ -0,0 +1,764 @@ +#!/usr/bin/perl +# +# AST_cleanup_agent_log.pl version 2.0.5 +# +# DESCRIPTION: +# to be run frequently to clean up the vicidial_agent_log to fix erroneous time +# calculations due to out-of-order vicidial_agent_log updates. This happens 0.5% +# of the time in our test setups, but that leads to inaccurate time logs so we +# wrote this script to fix the miscalculations +# +# This program only needs to be run by one server +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 60711-0945 - Changed to DBI by Marin Blu +# 60715-2301 - Changed to use /etc/astguiclient.conf for configs +# 81029-0124 - Added portion to clean up queue_log entries if QM enabled +# 81114-0155 - Added portion to remove queue_log COMPLETE duplicates +# 81208-0133 - Added portion to check for more missing queue_log entries +# + +# constants +$US='__'; +$MT[0]=''; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n"; + print " [-no-time-restriction] = will clean up all logs, without flag will only do last hour\n"; + print " (without time flag will do logs from 150-10 minutes ago)\n"; + print " [-last-24hours] = will clean up logs for the last 24 hours only\n"; + print " [-more-than-24hours] = will clean up logs older than 24 hours only\n"; + print " [-skip-queue-log-inserts] = will skip only the queue_log missing record checks\n"; + print " [-q] = quiet, no output\n"; + print " [-test] = test\n"; + print " [-debug] = verbose debug messages\n"; + print " [-debugX] = Extra-verbose debug messages\n\n"; + exit; + } + else + { + if ($args =~ /-q/i) + { + $Q=1; # quiet + } + if ($args =~ /-debug/i) + { + $DB=1; # Debug flag + if ($Q < 1) {print "\n----- DEBUGGING -----\n\n";} + } + if ($args =~ /--debugX/i) + { + $DBX=1; + if ($Q < 1) {print "\n----- SUPER-DUPER DEBUGGING -----\n\n";} + } + if ($args =~ /-test/i) + { + $TEST=1; + $T=1; + if ($Q < 1) {print "\n----- TEST RUN, NO UPDATES -----\n\n";} + } + if ($args =~ /-no-time-restriction/i) + { + $ALL_TIME=1; + if ($Q < 1) {print "\n----- NO TIME RESTRICTIONS -----\n\n";} + } + if ($args =~ /-last-24hours/i) + { + $TWENTYFOUR_HOURS=1; + if ($Q < 1) {print "\n----- LAST 24 HOURS ONLY -----\n\n";} + } + if ($args =~ /-more-than-24hours/i) + { + $TWENTYFOUR_OLDER=1; + if ($Q < 1) {print "\n----- MORE THAN 24 HOURS OLD ONLY -----\n\n";} + } + if ($args =~ /-skip-queue-log-inserts/i) + { + $skip_queue_log_inserts=1; + if ($Q < 1) {print "\n----- SKIPPING QUEUE_LOG INSERTS -----\n\n";} + } + } +} +else +{ +# print "no command line options set\n"; +} +### end parsing run-time options ### + +# define time restrictions for queries in script +$secX = time(); +$FDtarget = ($secX - 600); # 10 minutes in the past +($Fsec,$Fmin,$Fhour,$Fmday,$Fmon,$Fyear,$Fwday,$Fyday,$Fisdst) = localtime($FDtarget); +$Fyear = ($Fyear + 1900); +$Fmon++; +if ($Fmon < 10) {$Fmon = "0$Fmon";} +if ($Fmday < 10) {$Fmday = "0$Fmday";} +if ($Fhour < 10) {$Fhour = "0$Fhour";} +if ($Fmin < 10) {$Fmin = "0$Fmin";} +if ($Fsec < 10) {$Fsec = "0$Fsec";} + $FDSQLdate = "$Fyear-$Fmon-$Fmday $Fhour:$Fmin:$Fsec"; + +$TDtarget = ($secX - 9000); # 150 minutes in the past +($Tsec,$Tmin,$Thour,$Tmday,$Tmon,$Tyear,$Twday,$Tyday,$Tisdst) = localtime($TDtarget); +$Tyear = ($Tyear + 1900); +$Tmon++; +if ($Tmon < 10) {$Tmon = "0$Tmon";} +if ($Tmday < 10) {$Tmday = "0$Tmday";} +if ($Thour < 10) {$Thour = "0$Thour";} +if ($Tmin < 10) {$Tmin = "0$Tmin";} +if ($Tsec < 10) {$Tsec = "0$Tsec";} + $TDSQLdate = "$Tyear-$Tmon-$Tmday $Thour:$Tmin:$Tsec"; + +$VDAD_SQL_time = "and event_time > \"$TDSQLdate\" and event_time < \"$FDSQLdate\""; +$QM_SQL_time = "and time_id > $TDtarget and time_id < $FDtarget"; + +if ($ALL_TIME > 0) + { + $VDAD_SQL_time = ""; + $QM_SQL_time = ""; + } +if ($TWENTYFOUR_HOURS > 0) + { + $TDtarget = ($secX - 86400); # 24 hours in the past + ($Tsec,$Tmin,$Thour,$Tmday,$Tmon,$Tyear,$Twday,$Tyday,$Tisdst) = localtime($TDtarget); + $Tyear = ($Tyear + 1900); + $Tmon++; + if ($Tmon < 10) {$Tmon = "0$Tmon";} + if ($Tmday < 10) {$Tmday = "0$Tmday";} + if ($Thour < 10) {$Thour = "0$Thour";} + if ($Tmin < 10) {$Tmin = "0$Tmin";} + if ($Tsec < 10) {$Tsec = "0$Tsec";} + $TDSQLdate = "$Tyear-$Tmon-$Tmday $Thour:$Tmin:$Tsec"; + + $VDAD_SQL_time = "and event_time > \"$TDSQLdate\" and event_time < \"$FDSQLdate\""; + $QM_SQL_time = "and time_id > $TDtarget and time_id < $FDtarget"; + } +if ($TWENTYFOUR_OLDER > 0) + { + $TDtarget = ($secX - 86400); # 24 hours in the past + ($Tsec,$Tmin,$Thour,$Tmday,$Tmon,$Tyear,$Twday,$Tyday,$Tisdst) = localtime($TDtarget); + $Tyear = ($Tyear + 1900); + $Tmon++; + if ($Tmon < 10) {$Tmon = "0$Tmon";} + if ($Tmday < 10) {$Tmday = "0$Tmday";} + if ($Thour < 10) {$Thour = "0$Thour";} + if ($Tmin < 10) {$Tmin = "0$Tmin";} + if ($Tsec < 10) {$Tsec = "0$Tsec";} + $TDSQLdate = "$Tyear-$Tmon-$Tmday $Thour:$Tmin:$Tsec"; + + $VDAD_SQL_time = "and event_time < \"$TDSQLdate\""; + $QM_SQL_time = "and time_id < $TDtarget"; + } + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + + +if (!$VARDB_port) {$VARDB_port='3306';} + + use DBI; + + $dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + + if ($DB) {print " - cleaning up pause time\n";} + ### Grab any pause time record greater than 43999 + $stmtA = "SELECT agent_log_id,pause_epoch,wait_epoch from vicidial_agent_log where pause_sec>43999 $VDAD_SQL_time;"; + if ($DBX) {print "$stmtA\n";} + #$dbhA->query("$stmtA"); + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + + $i=0; + while ($sthArows > $i) + { + @aryA = $sthA->fetchrow_array; + $DBout = ''; + $agent_log_id[$i] = "$aryA[0]"; + $pause_epoch[$i] = "$aryA[1]"; + $wait_epoch[$i] = "$aryA[2]"; + $pause_sec[$i] = int($wait_epoch[$i] - $pause_epoch[$i]); + if ( ($pause_sec[$i] < 0) || ($pause_sec[$i] > 43999) ) + { + $DBout = "Override output: $pause_sec[$i]"; + $pause_sec[$i] = 0; + } + if ($DBX) {print "$i - $agent_log_id[$i] |$wait_epoch[$i]|$pause_epoch[$i]|$pause_sec[$i]|$DBout|\n";} + $i++; + } + + $sthA->finish(); + + $h=0; + while ($h < $i) + { + $stmtA = "UPDATE vicidial_agent_log set pause_sec='$pause_sec[$h]' where agent_log_id='$agent_log_id[$h]';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + if ($TEST < 1) {$affected_rows = $dbhA->do($stmtA); } + $h++; + } + if ($DB) {print STDERR " Pause times fixed: $h\n";} + + + @agent_log_id=@MT; + @wait_epoch=@MT; + + if ($DBX) {print "\n\n";} + if ($DB) {print " - cleaning up wait time\n";} + ### Grab any pause time record greater than 43999 + $stmtA = "SELECT agent_log_id,wait_epoch,talk_epoch from vicidial_agent_log where wait_sec>43999 $VDAD_SQL_time;"; + if ($DBX) {print "$stmtA\n";} + + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + + $i=0; + while ( $sthArows > $i) + { + @aryA = $sthA->fetchrow_array; + $DBout = ''; + $agent_log_id[$i] = "$aryA[0]"; + $wait_epoch[$i] = "$aryA[1]"; + $talk_epoch[$i] = "$aryA[2]"; + $wait_sec[$i] = int($talk_epoch[$i] - $wait_epoch[$i]); + if ( ($wait_sec[$i] < 0) || ($wait_sec[$i] > 43999) ) + { + $DBout = "Override output: $wait_sec[$i]"; + $wait_sec[$i] = 0; + } + if ($DBX) {print "$i - $agent_log_id[$i] |$talk_epoch[$i]|$wait_epoch[$i]|$wait_sec[$i]|$DBout|\n";} + $i++; + } + $sthA->finish(); + + $h=0; + while ($h < $i) + { + $stmtA = "UPDATE vicidial_agent_log set wait_sec='$wait_sec[$h]' where agent_log_id='$agent_log_id[$h]';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + if ($TEST < 1) {$affected_rows = $dbhA->do($stmtA); } + $h++; + } + if ($DB) {print STDERR " Wait times fixed: $h\n";} + + + @agent_log_id=@MT; + @talk_epoch=@MT; + + if ($DBX) {print "\n\n";} + if ($DB) {print " - cleaning up talk time\n";} + ### Grab any pause time record greater than 43999 + $stmtA = "SELECT agent_log_id,talk_epoch,dispo_epoch from vicidial_agent_log where talk_sec>43999 $VDAD_SQL_time;"; + if ($DBX) {print "$stmtA\n";} + + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + + $i=0; + while ( $sthArows > $i) + { + @aryA = $sthA->fetchrow_array; + $DBout = ''; + $agent_log_id[$i] = "$aryA[0]"; + $talk_epoch[$i] = "$aryA[1]"; + $dispo_epoch[$i] = "$aryA[2]"; + $talk_sec[$i] = int($dispo_epoch[$i] - $talk_epoch[$i]); + if ( ($talk_sec[$i] < 0) || ($talk_sec[$i] > 43999) ) + { + $DBout = "Override output: $talk_sec[$i]"; + $talk_sec[$i] = 0; + } + if ($DBX) {print "$i - $agent_log_id[$i] |$dispo_epoch[$i]|$talk_epoch[$i]|$talk_sec[$i]|$DBout|\n";} + $i++; + } + $sthA->finish(); + + $h=0; + while ($h < $i) + { + $stmtA = "UPDATE vicidial_agent_log set talk_sec='$talk_sec[$h]' where agent_log_id='$agent_log_id[$h]';"; + if($DBX){print STDERR "|$stmtA|\n";} + if ($TEST < 1) {$affected_rows = $dbhA->do($stmtA); } + $h++; + } + if ($DB) {print STDERR " Talk times fixed: $h\n";} + + + + @agent_log_id=@MT; + @dispo_epoch=@MT; + + if ($DBX) {print "\n\n";} + if ($DB) {print " - cleaning up dispo time\n";} + $stmtA = "UPDATE vicidial_agent_log set dispo_sec='0' where dispo_sec>43999 $VDAD_SQL_time;"; + if($DBX){print STDERR "|$stmtA|\n";} + if ($TEST < 1) + { + $affected_rows = $dbhA->do($stmtA); + } + if ($DB) {print STDERR " Bad Dispo times zeroed out: $affected_rows\n";} + + + + + + + + +############################################# +##### START QUEUEMETRICS LOGGING LOOKUP ##### +$stmtA = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,queuemetrics_eq_prepend FROM system_settings;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $enable_queuemetrics_logging = "$aryA[0]"; + $queuemetrics_server_ip = "$aryA[1]"; + $queuemetrics_dbname = "$aryA[2]"; + $queuemetrics_login= "$aryA[3]"; + $queuemetrics_pass = "$aryA[4]"; + $queuemetrics_log_id = "$aryA[5]"; + $queuemetrics_eq_prepend = "$aryA[6]"; + $rec_count++; + } +$sthA->finish(); +##### END QUEUEMETRICS LOGGING LOOKUP ##### +########################################### +if ($enable_queuemetrics_logging > 0) + { + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + + + if ($skip_queue_log_inserts < 1) + { + $COMPLETEinsert=0; + $COMPLETEupdate=0; + $CONNECTinsert=0; + $noCONNECT=0; + $noCALLSTATUS=0; + $noCOMPLETEinsert=0; + ############################################################## + ##### grab all queue_log entries for ENTERQUEUE verb to validate + $stmtB = "SELECT time_id,call_id,queue,agent,verb,serverid FROM queue_log where verb='ENTERQUEUE' $QM_SQL_time order by time_id;"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $EQ_records=$sthB->rows; + if ($DB) {print "ENTERQUEUE Records: $EQ_records|$stmtB|\n\n";} + $h=0; + while ($EQ_records > $h) + { + @aryB = $sthB->fetchrow_array; + $time_id[$h] = "$aryB[0]"; + $call_id[$h] = "$aryB[1]"; + $queue[$h] = "$aryB[2]"; + $agent[$h] = "$aryB[3]"; + $verb[$h] = "$aryB[4]"; + $serverid[$h] = "$aryB[5]"; + $h++; + } + $sthB->finish(); + + $h=0; + while ($EQ_records > $h) + { + ##### find the CONNECT details for calls that were sent to agents + $stmtB = "SELECT time_id,call_id,queue,agent,verb,serverid,data1 FROM queue_log where verb='CONNECT' and call_id='$call_id[$h]' $QM_SQL_time;"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $CQ_records=$sthB->rows; + if ($CQ_records > 0) + { + @aryB = $sthB->fetchrow_array; + $Ctime_id[$h] = "$aryB[0]"; + $Ccall_id[$h] = "$aryB[1]"; + $Cqueue[$h] = "$aryB[2]"; + $Cagent[$h] = "$aryB[3]"; + $Cverb[$h] = "$aryB[4]"; + $Cserverid[$h] = "$aryB[5]"; + $Cdata1[$h] = "$aryB[6]"; + } + $sthB->finish(); + + if ( ($CQ_records > 0) && ($Ctime_id[$h] > 1000) ) + { + ##### find the CALLSTATUS details for calls that were dispositioned by an agent + $stmtB = "SELECT time_id,call_id,queue,agent,verb,serverid FROM queue_log where verb='CALLSTATUS' and call_id='$call_id[$h]' and agent='$Cagent[$h]';"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $SQ_records=$sthB->rows; + if ($SQ_records > 0) + { + @aryB = $sthB->fetchrow_array; + $Stime_id[$h] = "$aryB[0]"; + $Scall_id[$h] = "$aryB[1]"; + $Squeue[$h] = "$aryB[2]"; + $Sagent[$h] = "$aryB[3]"; + $Sverb[$h] = "$aryB[4]"; + $Sserverid[$h] = "$aryB[5]"; + } + $sthB->finish(); + + if ( ($SQ_records > 0) && ($Stime_id[$h] > 1000) ) + { + ##### check if there is a COMPLETEAGENT or COMPLETECALLER record for this call_id + $stmtB = "SELECT count(*) FROM queue_log where verb IN('COMPLETEAGENT','COMPLETECALLER') and call_id='$call_id[$h]' and agent='$Cagent[$h]';"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $MQ_records=$sthB->rows; + if ($MQ_records > 0) + { + @aryB = $sthB->fetchrow_array; + $COMPLETEcount[$h] = "$aryB[0]"; + } + $sthB->finish(); + if ($COMPLETEcount[$h] > 0) + { + ##### check that the queue is set properly + $stmtB = "SELECT count(*) FROM queue_log where verb IN('COMPLETEAGENT','COMPLETECALLER') and call_id='$call_id[$h]' and agent='$Cagent[$h]' and queue='$queue[$h]';"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $QQ_records=$sthB->rows; + if ($QQ_records > 0) + { + @aryB = $sthB->fetchrow_array; + $COMPLETEqueue[$h] = "$aryB[0]"; + } + $sthB->finish(); + if ($COMPLETEqueue[$h] < 1) + { + $stmtB = "UPDATE queue_log SET queue='$queue[$h]' where verb IN('COMPLETEAGENT','COMPLETECALLER') and call_id='$call_id[$h]' and agent='$Cagent[$h]';"; + if ($TEST < 1) + { + $Baffected_rows = $dbhB->do($stmtB); + } + if ($DB) {print "MCRI: $Baffected_rows|$stmtB|\n";} + $COMPLETEupdate++; + } + } + else + { + ##### insert a COMPLETEAGENT record for this call into the queue_log + $CALLtime[$h] = ($Stime_id[$h] - $time_id[$h]); + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$Stime_id[$h]',call_id='$Scall_id[$h]',queue='$Squeue[$h]',agent='$Sagent[$h]',verb='COMPLETEAGENT',data1='$Cdata1[$h]',data2='$CALLtime[$h]',data3='1',serverid='$Sserverid[$h]';"; + if ($TEST < 1) + { + $Baffected_rows = $dbhB->do($stmtB); + } + if ($DB) {print "MCRI: $Baffected_rows|$stmtB|\n";} + $COMPLETEinsert++; + } + } + else + { + if ($DB) {print "NO CALLSTATUS: $Ctime_id[$h]|$Ccall_id[$h]|$Cagent[$h] \n";} + $noCALLSTATUS++; + ##### find the COMPLETE details for calls that were connected to an agent + $stmtB = "SELECT time_id,call_id,queue,agent,verb,serverid FROM queue_log where verb IN('COMPLETEAGENT','COMPLETECALLER') and call_id='$call_id[$h]' and agent='$Cagent[$h]';"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $SQ_records=$sthB->rows; + if ($SQ_records > 0) + { + @aryB = $sthB->fetchrow_array; + $Stime_id[$h] = "$aryB[0]"; + $Scall_id[$h] = "$aryB[1]"; + $Squeue[$h] = "$aryB[2]"; + $Sagent[$h] = "$aryB[3]"; + $Sverb[$h] = "$aryB[4]"; + $Sserverid[$h] = "$aryB[5]"; + } + $sthB->finish(); + + if ( ($SQ_records > 0) && ($Stime_id[$h] > 1000) ) + { + ##### insert a CALLSTATUS record for this call into the queue_log + $CALLtime[$h] = ($Stime_id[$h] - $time_id[$h]); + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$Stime_id[$h]',call_id='$Scall_id[$h]',queue='$Cqueue[$h]',agent='$Sagent[$h]',verb='CALLSTATUS',data1='PU',serverid='$Sserverid[$h]';"; + if ($TEST < 1) + { + $Baffected_rows = $dbhB->do($stmtB); + } + if ($DB) {print "MCSI: $Baffected_rows|$stmtB|\n";} + $CONNECTinsert++; + } + else + { + $old_call_sec = ($secX - 10800); + if ($Ctime_id[$h] < $old_call_sec) + { + $search_sec_BEGIN = ($Ctime_id[$h] - 3600); + $search_sec_END = ($Ctime_id[$h] + 3600); + $search_lead_id = substr($call_id[$h], 11, 9); + $search_lead_id = ($search_lead_id + 0); + $VALuser = $Cagent[$h]; + $VALuser =~ s/Agent\///gi; + + ##### insert a COMPLETEAGENT record for this call into the queue_log + $stmtA = "SELECT pause_epoch,wait_epoch,talk_epoch,dispo_epoch,status FROM vicidial_agent_log where lead_id='$search_lead_id' and user='$VALuser' and pause_epoch > \"$search_sec_BEGIN\" and pause_epoch < \"$search_sec_END\" order by pause_epoch desc;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $VALpause = "$aryA[0]"; + $VALwait = "$aryA[1]"; + $VALtalk = "$aryA[2]"; + $VALdispo = "$aryA[3]"; + $VALstatus ="$aryA[4]"; + $queuemetrics_log_id = "$aryA[5]"; + $queuemetrics_eq_prepend = "$aryA[6]"; + $rec_count++; + } + $sthA->finish(); + + if ($rec_count > 0) + { + $Stime_id[$h]=0; + if ($VALwait >= $Ctime_id[$h]) {$Stime_id[$h] = $VALwait;} + if ($VALtalk >= $Ctime_id[$h]) {$Stime_id[$h] = $VALtalk;} + if ($VALdispo >= $Ctime_id[$h]) {$Stime_id[$h] = $VALdispo;} + if ($Stime_id[$h] < 1) {$Stime_id[$h] = ($time_id[$h] + 1);} + $VALstatus =~ s/ //gi; + if ( ($VALstatus =~ /NULL/i) || (length($VALstatus<1)) ) {$VALstatus='ERI';} + + ##### insert a COMPLETEAGENT record for this call into the queue_log + $CALLtime[$h] = ($Stime_id[$h] - $time_id[$h]); + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$Stime_id[$h]',call_id='$Ccall_id[$h]',queue='$Cqueue[$h]',agent='$Cagent[$h]',verb='COMPLETEAGENT',data1='$Cdata1[$h]',data2='$CALLtime[$h]',data3='1',serverid='$Cserverid[$h]';"; + if ($TEST < 1) + { + $Baffected_rows = $dbhB->do($stmtB) or die "ERROR: $stmtB" . DBI->errstr; + } + if ($DB) {print "MNCI: $Baffected_rows|$stmtB|$TEST\n";} + + ##### insert a CALLSTATUS record for this call into the queue_log + $CALLtime[$h] = ($Stime_id[$h] - $time_id[$h]); + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$Stime_id[$h]',call_id='$Ccall_id[$h]',queue='$Cqueue[$h]',agent='$Cagent[$h]',verb='CALLSTATUS',data1='$VALstatus',serverid='$Cserverid[$h]';"; + if ($TEST < 1) + { + $Baffected_rows = $dbhB->do($stmtB) or die "ERROR: $stmtB" . DBI->errstr; + } + if ($DB) {print "MNCI: $Baffected_rows|$stmtB|$TEST\n";} + $noCOMPLETEinsert++; + + } + } + } + } + } + else + { + if ($DBX) {print "NO CONNECT: $time_id[$h]|$call_id[$h]|$queue[$h] \n";} + $noCONNECT++; + } + if ($DB) + { + ($Dsec,$Dmin,$Dhour,$Dmday,$Dmon,$Dyear,$Dwday,$Dyday,$Disdst) = localtime($time_id[$h]); + $Dyear = ($Dyear + 1900); + $Dmon++; + if ($Dmon < 10) {$Dmon = "0$Dmon";} + if ($Dmday < 10) {$Dmday = "0$Dmday";} + if ($Dhour < 10) {$Dhour = "0$Dhour";} + if ($Dmin < 10) {$Dmin = "0$Dmin";} + if ($Dsec < 10) {$Dsec = "0$Dsec";} + $DBSQLdate = "$Dyear-$Dmon-$Dmday $Dhour:$Dmin:$Dsec"; + + if ($h =~ /0$/) {$k='+';} + if ($h =~ /1$/) {$k='|';} + if ($h =~ /2$/) {$k='/';} + if ($h =~ /3$/) {$k='-';} + if ($h =~ /4$/) {$k="\\";} + if ($h =~ /5$/) {$k='|';} + if ($h =~ /6$/) {$k='/';} + if ($h =~ /7$/) {$k='-';} + if ($h =~ /8$/) {$k="\\";} + if ($h =~ /9$/) {$k='0';} + print STDERR "$k $noCONNECT $noCALLSTATUS $COMPLETEinsert|$COMPLETEupdate $CONNECTinsert $noCOMPLETEinsert $h/$EQ_records $DBSQLdate|$time_id[$h] $Ctime_id[$h]|$CQ_records $Stime_id[$h]|$SQ_records $call_id[$h]|$COMPLETEcount[$h]\r"; + } + $h++; + } + } + + + + ####################################################################### + ##### grab all queue_log entries with more than one COMPLETE verb to clean up + $stmtB = "SELECT call_id, count(*) FROM queue_log WHERE verb IN('COMPLETEAGENT','COMPLETECALLER','TRANSFER') GROUP BY call_id HAVING count(*)>1 ORDER BY count(*) DESC;"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $XC_records=$sthB->rows; + if ($DB) {print "Extra COMPLETE Records: $XC_records|$stmtB|\n\n";} + $h=0; + while ($XC_records > $h) + { + @aryB = $sthB->fetchrow_array; + $CDcall_id[$h] = "$aryB[0]"; + $h++; + } + $sthB->finish(); + + $h=0; + while ($XC_records > $h) + { + ##### grab oldest COMPLETE record to delete + $stmtB = "DELETE FROM queue_log WHERE call_id='$CDcall_id[$h]' and verb IN('COMPLETEAGENT','COMPLETECALLER','TRANSFER') ORDER BY unique_row_count DESC LIMIT 1;"; + if ($TEST < 1) {$Baffected_rows = $dbhB->do($stmtB); } + if ($DB) {print "Extra COMPLETE Record Deleted: $Baffected_rows|$stmtB|\n\n";} + + $h++; + } + + + ########################################################################## + ##### grab all queue_log COMPLETEAGENT entries with negative call time to clean up + $stmtB = "SELECT call_id, time_id FROM queue_log WHERE verb IN('COMPLETEAGENT') and data2 < '0';"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $XN_records=$sthB->rows; + if ($DB) {print "Negative COMPLETEAGENT Records: $XN_records|$stmtB|\n\n";} + $h=0; + while ($XN_records > $h) + { + @aryB = $sthB->fetchrow_array; + $CNcall_id[$h] = "$aryB[0]"; + $CNtime_id[$h] = "$aryB[1]"; + $h++; + } + $sthB->finish(); + + $h=0; + while ($XN_records > $h) + { + ### Get time of CONNECT + $stmtB = "SELECT time_id FROM queue_log WHERE verb IN('CONNECT') and call_id='$CNcall_id[$h]';"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $XNC_records=$sthB->rows; + if ($XNC_records < 1) + {print "ERROR! No CONNECT record for $CNcall_id[$h] $CNtime_id[$h]";} + else + { + @aryB = $sthB->fetchrow_array; + $CCNtime_id[$h] = "$aryB[0]"; + $sthB->finish(); + + ### Get time of CALLSTATUS + $stmtB = "SELECT time_id FROM queue_log WHERE verb IN('CALLSTATUS') and call_id='$CNcall_id[$h]';"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $XNS_records=$sthB->rows; + if ($XNS_records < 1) + {print "ERROR! No CALLSTATUS record for $CNcall_id[$h] $CNtime_id[$h]";} + else + { + @aryB = $sthB->fetchrow_array; + $CSNtime_id[$h] = "$aryB[0]"; + $sthB->finish(); + + if ($CSNtime_id[$h] < $CCNtime_id[$h]) + { + ##### update CALLSTATUS record to CONNECT time_id + $stmtB = "UPDATE queue_log SET time_id='$CCNtime_id[$h]' WHERE call_id='$CNcall_id[$h]' and verb IN('CALLSTAUTS') LIMIT 1;"; + if ($TEST < 1) {$Baffected_rows = $dbhB->do($stmtB); } + if ($DB) {print "CALLSTATUS time_id Record Updated: $Baffected_rows|$stmtB|\n\n";} + } + } + if ($CNtime_id[$h] < $CCNtime_id[$h]) + { + ##### update COMPLETEAGENT record to CONNECT time_id and 0 data2 + $stmtB = "UPDATE queue_log SET time_id='$CCNtime_id[$h]',data2='0' WHERE call_id='$CNcall_id[$h]' and verb IN('COMPLETEAGENT') LIMIT 1;"; + if ($TEST < 1) {$Baffected_rows = $dbhB->do($stmtB); } + if ($DB) {print "COMPLETEAGENT time_id Record Updated: $Baffected_rows|$stmtB|\n";} + if ($DB) {print "Debug: $CCNtime_id[$h]|$CSNtime_id[$h]|$CNtime_id[$h]|$CNcall_id[$h]|\n\n";} + } + } + $h++; + } + + + $dbhB->disconnect(); + } + + + + + + + + if ($DB) {print STDERR "\nDONE\n";} + + + +# $dbhA->close; + + +exit; + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_conf_update.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_conf_update.pl new file mode 100644 index 00000000..95037d23 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_conf_update.pl @@ -0,0 +1,430 @@ +#!/usr/bin/perl +# +# AST_conf_update.pl version 2.0.5 *DBI-version* +# +# This script checks if there are channels in reserved conferences +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# 50810-1532 - Added database server variable definitions lookup +# 50823-1456 - Added commandline arguments for debug at runtime +# 60717-1135 - changed to DBI by Marin Blu +# 60717-1536 - changed to use /etc/astguiclient.conf for configs +# 80506-1055 - Added check for vicidial_conferences in 3WAY +# 80914-1533 - Added kickall for leave-3way calls after one hour +# 81008-0937 - Added kickall from vicidial_conferences if only one participant +# + +# constants +$DB=0; # Debug flag, set to 0 for no debug messages per minute +$US='__'; +$MT[0]=''; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-debug/i) + { + $DB=1; # Debug flag + print "-- DEBUGGING ENABLED --\n\n"; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} +else +{ +# print "no command line options set\n"; +} +### end parsing run-time options ### + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use DBI; +use Net::Telnet (); + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT telnet_host,telnet_port,ASTmgrUSERNAME,ASTmgrSECRET,ASTmgrUSERNAMEupdate,ASTmgrUSERNAMElisten,ASTmgrUSERNAMEsend,max_vicidial_trunks,answer_transfer_agent,local_gmt,ext_context FROM servers where server_ip = '$server_ip';"; +if ($DB) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $DBtelnet_host = "$aryA[0]"; + $DBtelnet_port = "$aryA[1]"; + $DBASTmgrUSERNAME = "$aryA[2]"; + $DBASTmgrSECRET = "$aryA[3]"; + $DBASTmgrUSERNAMEupdate = "$aryA[4]"; + $DBASTmgrUSERNAMElisten = "$aryA[5]"; + $DBASTmgrUSERNAMEsend = "$aryA[6]"; + $DBmax_vicidial_trunks = "$aryA[7]"; + $DBanswer_transfer_agent= "$aryA[8]"; + $DBSERVER_GMT = "$aryA[9]"; + $DBext_context = "$aryA[10]"; + if ($DBtelnet_host) {$telnet_host = $DBtelnet_host;} + if ($DBtelnet_port) {$telnet_port = $DBtelnet_port;} + if ($DBASTmgrUSERNAME) {$ASTmgrUSERNAME = $DBASTmgrUSERNAME;} + if ($DBASTmgrSECRET) {$ASTmgrSECRET = $DBASTmgrSECRET;} + if ($DBASTmgrUSERNAMEupdate) {$ASTmgrUSERNAMEupdate = $DBASTmgrUSERNAMEupdate;} + if ($DBASTmgrUSERNAMElisten) {$ASTmgrUSERNAMElisten = $DBASTmgrUSERNAMElisten;} + if ($DBASTmgrUSERNAMEsend) {$ASTmgrUSERNAMEsend = $DBASTmgrUSERNAMEsend;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBext_context) {$ext_context = $DBext_context;} + } + $sthA->finish(); + + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; + +##### Find date-time one hour in the past +$secX = time(); +$TDtarget = ($secX - 3600); +($Tsec,$Tmin,$Thour,$Tmday,$Tmon,$Tyear,$Twday,$Tyday,$Tisdst) = localtime($TDtarget); +$Tyear = ($Tyear + 1900); +$Tmon++; +if ($Tmon < 10) {$Tmon = "0$Tmon";} +if ($Tmday < 10) {$Tmday = "0$Tmday";} +if ($Thour < 10) {$Thour = "0$Thour";} +if ($Tmin < 10) {$Tmin = "0$Tmin";} +if ($Tsec < 10) {$Tsec = "0$Tsec";} + $TDSQLdate = "$Tyear-$Tmon-$Tmday $Thour:$Tmin:$Tsec"; + $TDnum = "$Tyear$Tmon$Tmday$Thour$Tmin$Tsec"; + +###################################################################### +##### CLEAR vicidial_conferences ENTRIES IN LEAVE-3WAY FOR MORE THAN ONE HOUR +###################################################################### +@PTextensions=@MT; @PT_conf_extens=@MT; @PTmessages=@MT; @PTold_messages=@MT; @NEW_messages=@MT; @OLD_messages=@MT; +$stmtA = "SELECT conf_exten from vicidial_conferences where server_ip='$server_ip' and leave_3way='1' and leave_3way_datetime < \"$TDSQLdate\";"; +if ($DB) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $PT_conf_extens[$rec_count] = "$aryA[0]"; + if ($DB) {print "|$PT_conf_extens[$rec_count]|$PTextensions[$rec_count]|\n";} + $rec_count++; + } +$sthA->finish(); +$k=0; +while ($k < $rec_count) + { + $local_DEF = 'Local/5555'; + $local_AMP = '@'; + $kick_local_channel = "$local_DEF$PT_conf_extens[$k]$local_AMP$ext_context"; + $queryCID = "ULGC35$TDnum"; + + $stmtA="INSERT INTO vicidial_manager values('','','$now_date','NEW','N','$server_ip','','Originate','$queryCID','Channel: $kick_local_channel','Context: $ext_context','Exten: 8300','Priority: 1','Callerid: $queryCID','','','','','');"; + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + + $stmtA = "UPDATE vicidial_conferences set extension='',leave_3way='0' where server_ip='$server_ip' and conf_exten='$PT_conf_extens[$k]';"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + + $k++; + } + + + + +###################################################################### +##### CHECK vicidial_conferences TABLE ##### +###################################################################### +@PTextensions=@MT; @PT_conf_extens=@MT; @PTmessages=@MT; @PTold_messages=@MT; @NEW_messages=@MT; @OLD_messages=@MT; +$stmtA = "SELECT extension,conf_exten from vicidial_conferences where server_ip='$server_ip' and leave_3way='1';"; +if ($DB) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $PTextensions[$rec_count] = "$aryA[0]"; + $PT_conf_extens[$rec_count] = "$aryA[1]"; + if ($DB) {print "|$PT_conf_extens[$rec_count]|$PTextensions[$rec_count]|\n";} + $rec_count++; + } + $sthA->finish(); + +if (!$telnet_port) {$telnet_port = '5038';} + +### connect to asterisk manager through telnet +$t = new Net::Telnet (Port => $telnet_port, + Prompt => '/.*[\$%#>] $/', + Output_record_separator => '',); +#$fh = $t->dump_log("$telnetlog"); # uncomment for telnet log + if (length($ASTmgrUSERNAMEsend) > 3) {$telnet_login = $ASTmgrUSERNAMEsend;} + else {$telnet_login = $ASTmgrUSERNAME;} + +$t->open("$telnet_host"); +$t->waitfor('/[01]\n$/'); # print login +$t->print("Action: Login\nUsername: $telnet_login\nSecret: $ASTmgrSECRET\n\n"); +$t->waitfor('/Authentication accepted/'); # waitfor auth accepted + + +$i=0; +foreach(@PTextensions) + { + @list_channels=@MT; + $t->buffer_empty; + $COMMAND = "Action: Command\nCommand: Meetme list $PT_conf_extens[$i]\n\nAction: Ping\n\n"; + if ($DB) {print "|$PT_conf_extens[$i]|$COMMAND|\n";} + @list_channels = $t->cmd(String => "$COMMAND", Prompt => '/Response: Pong.*/'); + + + $j=0; + $conf_empty[$i]=0; + $conf_users[$i]=''; + foreach(@list_channels) + { + if($DB){print "|$list_channels[$j]|\n";} + ### mark all empty conferences and conferences with only one channel as empty + if ($list_channels[$j] =~ /No active conferences|No such conference/i) + {$conf_empty[$i]++;} + if ($list_channels[$j] =~ /1 users in that conference/i) + {$conf_empty[$i]++;} + $j++; + } + + if($DB){print "Meetme list $PT_conf_extens[$i]- Exten:|$PTextensions[$i]| Empty:|$conf_empty[$i]| ";} + if (!$conf_empty[$i]) + { + if($DB){print "CONFERENCE STILL HAS PARTICIPANTS, DOING NOTHING FOR THIS CONFERENCE\n";} + if ($PTextensions[$i] =~ /Xtimeout\d$/i) + { + $PTextensions[$i] =~ s/Xtimeout\d$//gi; + $stmtA = "UPDATE vicidial_conferences set extension='$PTextensions[$i]' where server_ip='$server_ip' and conf_exten='$PT_conf_extens[$i]';"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + } + } + else + { + $NEWexten[$i] = $PTextensions[$i]; + $leave_3waySQL='1'; + if ($PTextensions[$i] =~ /Xtimeout3$/i) {$NEWexten[$i] =~ s/Xtimeout3$/Xtimeout2/gi;} + if ($PTextensions[$i] =~ /Xtimeout2$/i) {$NEWexten[$i] =~ s/Xtimeout2$/Xtimeout1/gi;} + if ($PTextensions[$i] =~ /Xtimeout1$/i) {$NEWexten[$i] = ''; $leave_3waySQL='0';} + if ( ($PTextensions[$i] !~ /Xtimeout\d$/i) and (length($PTextensions[$i])> 0) ) {$NEWexten[$i] .= 'Xtimeout3';} + + if ($NEWexten[$i] =~ /Xtimeout1$/i) + { + ### Kick all participants if there are any left in the conference so it can be reused + $local_DEF = 'Local/5555'; + $local_AMP = '@'; + $kick_local_channel = "$local_DEF$PT_conf_extens[$i]$local_AMP$ext_context"; + $queryCID = "ULGC36$TDnum"; + + $stmtA="INSERT INTO vicidial_manager values('','','$now_date','NEW','N','$server_ip','','Originate','$queryCID','Channel: $kick_local_channel','Context: $ext_context','Exten: 8300','Priority: 1','Callerid: $queryCID','','','','','');"; + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + if($DB){print STDERR "\n|$affected_rows|$stmtA|\n";} + } + + $stmtA = "UPDATE vicidial_conferences set extension='$NEWexten[$i]',leave_3way='$leave_3waySQL' where server_ip='$server_ip' and conf_exten='$PT_conf_extens[$i]';"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + } + + $i++; + ### sleep for 10 hundredths of a second + usleep(1*100*1000); + } + +$t->buffer_empty; +@hangup = $t->cmd(String => "Action: Logoff\n\n", Prompt => "/.*/"); +$t->buffer_empty; +$ok = $t->close; + + +sleep(5); + + + + + +###################################################################### +##### CHECK conferences TABLE ##### +###################################################################### +@PTextensions=@MT; @PT_conf_extens=@MT; @PTmessages=@MT; @PTold_messages=@MT; @NEW_messages=@MT; @OLD_messages=@MT; +$stmtA = "SELECT extension,conf_exten from conferences where server_ip='$server_ip' and extension is NOT NULL and extension != '';"; +if ($DB) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $PTextensions[$rec_count] = "$aryA[0]"; + $PT_conf_extens[$rec_count] = "$aryA[1]"; + if ($DB) {print "|$PT_conf_extens[$rec_count]|$PTextensions[$rec_count]|\n";} + $rec_count++; + } + $sthA->finish(); + +if (!$telnet_port) {$telnet_port = '5038';} + +### connect to asterisk manager through telnet +$t = new Net::Telnet (Port => $telnet_port, + Prompt => '/.*[\$%#>] $/', + Output_record_separator => '',); +#$fh = $t->dump_log("$telnetlog"); # uncomment for telnet log + if (length($ASTmgrUSERNAMEsend) > 3) {$telnet_login = $ASTmgrUSERNAMEsend;} + else {$telnet_login = $ASTmgrUSERNAME;} + +$t->open("$telnet_host"); +$t->waitfor('/[01]\n$/'); # print login +$t->print("Action: Login\nUsername: $telnet_login\nSecret: $ASTmgrSECRET\n\n"); +$t->waitfor('/Authentication accepted/'); # waitfor auth accepted + + +$i=0; +foreach(@PTextensions) + { + @list_channels=@MT; + $t->buffer_empty; + $COMMAND = "Action: Command\nCommand: Meetme list $PT_conf_extens[$i]\n\nAction: Ping\n\n"; + if ($DB) {print "|$PT_conf_extens[$i]|$COMMAND|\n";} + @list_channels = $t->cmd(String => "$COMMAND", Prompt => '/Response: Pong.*/'); + + + $j=0; + $conf_empty[$i]=0; + $conf_users[$i]=''; + foreach(@list_channels) + { + if($DB){print "|$list_channels[$j]|\n";} + if ($list_channels[$j] =~ /No active conferences|No such conference/i) + {$conf_empty[$i]++;} +# if ($list_channels[$j] =~ /^User /i) +# { +# $userx = ''; +# $userx = $list_channels[$j]; +# $userx =~ s/User \#: //gi; +# $conf_users[$i] .= "$userx|"; +# } + $j++; + } + + if($DB){print "Meetme list $PT_conf_extens[$i]- Exten:|$PTextensions[$i]| Empty:|$conf_empty[$i]| ";} + if (!$conf_empty[$i]) + { + if($DB){print "CONFERENCE STILL HAS PARTICIPANTS, DOING NOTHING FOR THIS CONFERENCE\n";} + if ($PTextensions[$i] =~ /Xtimeout\d$/i) + { + $PTextensions[$i] =~ s/Xtimeout\d$//gi; + $stmtA = "UPDATE conferences set extension='$PTextensions[$i]' where server_ip='$server_ip' and conf_exten='$PT_conf_extens[$i]';"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + } + } + else + { + $NEWexten[$i] = $PTextensions[$i]; + if ($PTextensions[$i] =~ /Xtimeout3$/i) {$NEWexten[$i] =~ s/Xtimeout3$/Xtimeout2/gi;} + if ($PTextensions[$i] =~ /Xtimeout2$/i) {$NEWexten[$i] =~ s/Xtimeout2$/Xtimeout1/gi;} + if ($PTextensions[$i] =~ /Xtimeout1$/i) {$NEWexten[$i] = '';} + if ( ($PTextensions[$i] !~ /Xtimeout\d$/i) and (length($PTextensions[$i])> 0) ) {$NEWexten[$i] .= 'Xtimeout3';} + + + $stmtA = "UPDATE conferences set extension='$NEWexten[$i]' where server_ip='$server_ip' and conf_exten='$PT_conf_extens[$i]';"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + } + + $i++; + ### sleep for 10 hundredths of a second + usleep(1*100*1000); + } + + +$t->buffer_empty; +@hangup = $t->cmd(String => "Action: Logoff\n\n", Prompt => "/.*/"); +$t->buffer_empty; +$ok = $t->close; + +$dbhA->disconnect(); + +if($DB){print "DONE... Exiting... Goodbye... See you later... \n";} + +exit; + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_email_web_report.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_email_web_report.pl new file mode 100644 index 00000000..483bef2d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_email_web_report.pl @@ -0,0 +1,248 @@ +#!/usr/bin/perl +# +# AST_email_web_report.pl version: 2.0.5 +# +# This script is designed to wget a web report and then email it as an attachment +# this script should be run from the web server +# +# /usr/share/astguiclient/AST_VDlist_summary_export.pl --email-list=test@gmail.com --email-sender=test@test.com +# +# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 90225-1247 - First version +# + +$txt = '.txt'; +$html = '.html'; +$US = '_'; +$MT[0] = ''; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) + { + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n"; + print " [-q] = quiet\n"; + print " [-t] = test\n"; + print " [--debug] = debugging messages\n"; + print " [--debugX] = Super debugging messages\n"; + print " [--email-list=test@test.com:test2@test.com] = send email results to these addresses\n"; + print " [--email-sender=vicidial@localhost] = sender for the email results\n"; + print "\n"; + + exit; + } + else + { + if ($args =~ /--debug/i) + { + $DB=1; + print "\n----- DEBUG MODE -----\n\n"; + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n----- SUPER DEBUG MODE -----\n\n"; + } + if ($args =~ /-q/i) + { + $q=1; $Q=1; + } + if ($args =~ /--test/i) + { + $T=1; $TEST=1; + print "\n----- TESTING -----\n\n"; + } + if ($args =~ /--email-list=/i) + { + @data_in = split(/--email-list=/,$args); + $email_list = $data_in[1]; + $email_list =~ s/ .*//gi; + $email_list =~ s/:/,/gi; + print "\n----- EMAIL NOTIFICATION: $email_list -----\n\n"; + } + else + {$email_list = '';} + + if ($args =~ /--email-sender=/i) + { + @data_in = split(/--email-sender=/,$args); + $email_sender = $data_in[1]; + $email_sender =~ s/ .*//gi; + $email_sender =~ s/:/,/gi; + print "\n----- EMAIL NOTIFICATION SENDER: $email_sender -----\n\n"; + } + else + {$email_sender = 'vicidial@localhost';} + } + } +else + { + print "no command line options set, using defaults.\n"; + } +### end parsing run-time options ### + + +$secX = time(); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + +# # rerun override - Use this to override the day manually +# $year='2007'; +# $mon='5'; +# $mday='18'; + + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $timestamp = "$year-$mon-$mday $hour:$min:$sec"; + $filedate = "$year$mon$mday"; + $shipdate = "$year-$mon-$mday"; + $datestamp = "$year/$mon/$mday $hour:$min"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_host/) && ($CLIREPORT_host < 1) ) + {$VARREPORT_host = $line; $VARREPORT_host =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_user/) && ($CLIREPORT_user < 1) ) + {$VARREPORT_user = $line; $VARREPORT_user =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_pass/) && ($CLIREPORT_pass < 1) ) + {$VARREPORT_pass = $line; $VARREPORT_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_port/) && ($CLIREPORT_port < 1) ) + {$VARREPORT_port = $line; $VARREPORT_port =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_dir/) && ($CLIREPORT_dir < 1) ) + {$VARREPORT_dir = $line; $VARREPORT_dir =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if ($output_format =~ /^pipe-standard$/) + {$DLT = '|'; $txt='.txt'; print "---- pipe-standard ----\n";} +if ($output_format =~ /^csv-standard$/) + {$DLT = "','"; $txt='.csv'; print "---- csv-standard ----\n";} +if ($output_format =~ /^tab-standard$/) + {$DLT = "\t"; $txt='.txt'; print "---- tab-standard ----\n";} +if ($output_format =~ /^pipe-triplep$/) + {$DLT = ''; $txt='.txt'; print "---- pipe-triplep ----\n";} +if ($output_format =~ /^pipe-vici$/) + {$DLT = '|'; $txt='.txt'; print "---- pipe-vici ----\n";} +if ($output_format =~ /^html-rec$/) + {$DLT = ' '; $txt='.html'; print "---- html-rec ----\n";} + +if (!$Q) + { + print "\n\n\n\n\n\n\n\n\n\n\n\n-- AST_email_web_report.pl --\n\n"; + print "This program is designed to wget a web report and email it. \n"; + print "\n"; + } + + +$HTMLfile = "Outbound_Report_ALL_$shipdate$html"; + +#$location = "http://6666:1234\@127.0.0.1/vicidial/fcstats.php?db_log=1\\&query_date=$shipdate\\&group=$group\\&shift=$shift\\&archive=1"; +#$location = "http://6666:1234\@192.168.1.101/vicidial/AST_VDADstats.php?query_date=$shipdate\\&end_date=$shipdate\\&group[]=--ALL--\\&shift=ALL"; +$location = "http://8888:8888\@127.0.0.1/vicidial/AST_VDADstats.php?query_date=$shipdate\\&end_date=$shipdate\\&group[]=--ALL--\\&shift=ALL"; + +print "Running Report $ship_date\n$location\n"; +`/usr/bin/wget --output-document=/tmp/$HTMLfile $location `; + + + + + + +###### EMAIL SECTION + +if (length($email_list) > 3) + { + print "Sending email: $email_list\n"; + + use MIME::QuotedPrint; + use MIME::Base64; + use Mail::Sendmail; + + $mailsubject = "VICIDIAL Outbound Report $shipdate"; + + %mail = ( To => "$email_list", + From => "$email_sender", + Subject => "$mailsubject", + ); + $boundary = "====" . time() . "===="; + $mail{'content-type'} = "multipart/mixed; boundary=\"$boundary\""; + + $message = encode_qp( "VICIDIAL Outbound Report for $shipdate:\n\n Attachment: $HTMLfile" ); + + $Zfile = "/tmp/$HTMLfile"; + + open (F, $Zfile) or die "Cannot read $Zfile: $!"; + binmode F; undef $/; + $attachment = encode_base64(); + close F; + + $boundary = '--'.$boundary; + $mail{body} .= "$boundary\n"; + $mail{body} .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n"; + $mail{body} .= "Content-Transfer-Encoding: quoted-printable\n\n"; + $mail{body} .= "$message\n"; + $mail{body} .= "$boundary\n"; + $mail{body} .= "Content-Type: application/octet-stream; name=\"$HTMLfile\"\n"; + $mail{body} .= "Content-Transfer-Encoding: base64\n"; + $mail{body} .= "Content-Disposition: attachment; filename=\"$HTMLfile\"\n\n"; + $mail{body} .= "$attachment\n"; + $mail{body} .= "$boundary"; + $mail{body} .= "--\n"; + + sendmail(%mail) or die $mail::Sendmail::error; + print "ok. log says:\n", $mail::sendmail::log; ### print mail log for status + + } + + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_flush_DBqueue.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_flush_DBqueue.pl new file mode 100644 index 00000000..913bf541 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_flush_DBqueue.pl @@ -0,0 +1,235 @@ +#!/usr/bin/perl +# +# AST_flush_DBqueue.pl version 2.0.5 +# +# DESCRIPTION: +# - clears out mysql records for this server for the ACQS vicidial_manager table +# - optimizes tables used frequently by VICIDIAL +# +# It is recommended that you run this program on the local Asterisk machine +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 60717-1214 - changed to DBI by Marin Blu +# 60717-1536 - changed to use /etc/astguiclient.conf for configs +# 60910-0238 - removed park_log query +# + +$secX = time(); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $yy = $year; $yy =~ s/^..//gi; + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} +$SQLdate_NOW="$year-$mon-$mday $hour:$min:$sec"; + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time()-3600); + $year = ($year + 1900); + $yy = $year; $yy =~ s/^..//gi; + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} +$SQLdate_NEG_1hour="$year-$mon-$mday $hour:$min:$sec"; + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time()-1800); + $year = ($year + 1900); + $yy = $year; $yy =~ s/^..//gi; + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} +$SQLdate_NEG_halfhour="$year-$mon-$mday $hour:$min:$sec"; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-q] = quiet\n [-t] = test\n [--debug] = debugging messages\n\n"; + } + else + { + if ($args =~ /-q/i) + { + $q=1; $Q=1; + } + if ($args =~ /--debug/i) + { + $DB=1; + print "\n-----DEBUGGING -----\n\n"; + } + if ($args =~ /-t|--test/i) + { + $T=1; $TEST=1; + print "\n-----TESTING -----\n\n"; + } + } +} +else +{ +print "no command line options set\n"; +} +### end parsing run-time options ### + + +if (!$Q) {print "TEST\n\n";} +if (!$Q) {print "NOW DATETIME: $SQLdate_NOW\n";} +if (!$Q) {print "1 HOUR AGO DATETIME: $SQLdate_NEG_1hour\n\n";} + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database + $stmtA = "SELECT vd_server_logs FROM servers where server_ip = '$VARserver_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvd_server_logs = "$aryA[0]"; + if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';} + else {$SYSLOG = '0';} + $rec_count++; + } + $sthA->finish(); + +if ($SYSLOG) + {$flush_time = $SQLdate_NEG_1hour;} +else + {$flush_time = $SQLdate_NEG_halfhour;} + + $stmtA = "delete from vicidial_manager where server_ip='$server_ip' and entry_date < '$flush_time';"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { $affected_rows = $dbhA->do($stmtA);} + if (!$Q) {print " - vicidial_manager flush\n";} + + $stmtA = "optimize table vicidial_manager;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) + { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + if (!$Q) {print " - optimize vicidial_manager \n";} + + + $stmtA = "optimize table vicidial_live_agents;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + if (!$Q) {print " - optimize vicidial_live_agents \n";} + + + $stmtA = "optimize table vicidial_auto_calls;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $rec_countY++; + $sthA->finish(); + } + if (!$Q) {print " - optimize vicidial_auto_calls \n";} + + + $stmtA = "optimize table vicidial_hopper;"; + if($DB){print STDERR "\n|$stmtA|\n";} + if (!$T) { + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + if (!$Q) {print "|",$aryA[0],"|",$aryA[1],"|",$aryA[2],"|",$aryA[3],"|","\n";} + $sthA->finish(); + } + if (!$Q) {print " - optimize vicidial_hopper \n";} + + + + + $dbhA->disconnect(); + + +exit; + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_manager_kill_hung_congested.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_manager_kill_hung_congested.pl new file mode 100644 index 00000000..62807549 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_manager_kill_hung_congested.pl @@ -0,0 +1,377 @@ +#!/usr/bin/perl +# +# AST_manager_kill_hung_congested.pl version 2.0.5 +# +# Part of the Asterisk Central Queue System (ACQS) +# +# DESCRIPTION: +# kills CONGEST local channels every 15 seconds +# +# For the client program to work in ACQS mode, this program must be running +# +# put this in the cron to run every minute +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 50823-1525 - Added commandline debug options with debug printouts +# 60717-1247 - changed to DBI by Marin Blu +# 60717-1536 - changed to use /etc/astguiclient.conf for configs +# 60814-1706 - added option for no logging to file +# + +# constants +$DB=0; # Debug flag, set to 0 for no debug messages, On an active system this will generate thousands of lines of output per minute +$US='__'; +$MT[0]=''; + + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-t] = test\n [-debug] = verbose debug messages\n[-debugX] = Extra-verbose debug messages\n\n"; + } + else + { + if ($args =~ /-debug/i) + { + $DB=1; # Debug flag + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n----- SUPER-DUPER DEBUGGING -----\n\n"; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} +else +{ +# print "no command line options set\n"; +} +### end parsing run-time options ### + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + + &get_time_now; + +if (!$KHLOGfile) {$KHLOGfile = "$PATHlogs/congest.$year-$mon-$mday";} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database + $stmtA = "SELECT vd_server_logs FROM servers where server_ip = '$VARserver_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvd_server_logs = "$aryA[0]"; + if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';} + else {$SYSLOG = '0';} + $rec_count++; + } + $sthA->finish(); + +$stmtA = "SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = 'CONGEST' and channel LIKE \"Local%\" limit 99"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + if($DB){print STDERR $aryA[0],"\n";} + $congest_kill[$rec_count] = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + + + +$i=0; +foreach(@congest_kill) + { + $i_count = $i; + if ($i_count < 10) {$i_count = "0$i_count";} + + if (length($congest_kill[$i])>0) + { + ### use manager middleware-app to zapbarge call being placed from meetme + $KCqueryCID = "KC$i_count$CIDdate"; + + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$now_date','NEW','N','$server_ip','','Hangup','$KCqueryCID','Channel: $congest_kill[$i]','','','','','','','','','')"; + + $event_string = "SUBRT|killing_congest|KC|$KCqueryCID|$congest_kill[$i]|$stmtA|"; + event_logger; + + if ($DB) {print "KILLING $congest_kill[$i]\n";} + $affected_rows = $dbhA->do($stmtA); + } + $i++; + } + + +sleep(14); + +######## 22222 starting another loop + &get_time_now; +@congest_kill = @MT; + + + +$stmtA = "SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = 'CONGEST' and channel LIKE \"Local%\" limit 99"; +# $event_string="SQL_QUERY|$stmtA|"; +# &event_logger; + +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + if($DB){print STDERR $aryA[0],"\n";} + $congest_kill[$rec_count] = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + +$i=0; +foreach(@congest_kill) + { + $i_count = $i; + if ($i_count < 10) {$i_count = "0$i_count";} + + if (length($congest_kill[$i])>0) + { + ### use manager middleware-app to zapbarge call being placed from meetme + $KCqueryCID = "KC$i_count$CIDdate"; + + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$now_date','NEW','N','$server_ip','','Hangup','$KCqueryCID','Channel: $congest_kill[$i]','','','','','','','','','')"; + + $event_string = "SUBRT|killing_congest|KC|$KCqueryCID|$congest_kill[$i]|$stmtA|"; + event_logger; + + if ($DB) {print "KILLING $congest_kill[$i]\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:\n"; + } + $i++; + } + + +sleep(15); + +######## 33333 starting another loop + &get_time_now; +@congest_kill = @MT; + + + + +$stmtA = "SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = 'CONGEST' and channel LIKE \"Local%\" limit 99"; +# $event_string="SQL_QUERY|$stmtA|"; +# &event_logger; + +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + if($DB){print STDERR $aryA[0],"\n";} + $congest_kill[$rec_count] = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + +$i=0; +foreach(@congest_kill) + { + $i_count = $i; + if ($i_count < 10) {$i_count = "0$i_count";} + + if (length($congest_kill[$i])>0) + { + ### use manager middleware-app to zapbarge call being placed from meetme + $KCqueryCID = "KC$i_count$CIDdate"; + + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$now_date','NEW','N','$server_ip','','Hangup','$KCqueryCID','Channel: $congest_kill[$i]','','','','','','','','','')"; + + $event_string = "SUBRT|killing_congest|KC|$KCqueryCID|$congest_kill[$i]|$stmtA|"; + event_logger; + + if ($DB) {print "KILLING $congest_kill[$i]\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:\n"; + } + $i++; + } + + +sleep(15); + +######## 44444 starting another loop + &get_time_now; +@congest_kill = @MT; + + + + + +$stmtA = "SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = 'CONGEST' and channel LIKE \"Local%\" limit 99"; +# $event_string="SQL_QUERY|$stmtA|"; +# &event_logger; + +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + if($DB){print STDERR $aryA[0],"\n";} + $congest_kill[$rec_count] = "$aryA[0]"; + $rec_count++; + } + $sthA->finish(); + + +$i=0; +foreach(@congest_kill) + { + $i_count = $i; + if ($i_count < 10) {$i_count = "0$i_count";} + + if (length($congest_kill[$i])>0) + { + ### use manager middleware-app to zapbarge call being placed from meetme + $KCqueryCID = "KC$i_count$CIDdate"; + + ### insert a NEW record to the vicidial_manager table to be processed + $stmtA = "INSERT INTO vicidial_manager values('','','$now_date','NEW','N','$server_ip','','Hangup','$KCqueryCID','Channel: $congest_kill[$i]','','','','','','','','','')"; + + $event_string = "SUBRT|killing_congest|KC|$KCqueryCID|$congest_kill[$i]|$stmtA|"; + event_logger; + + if ($DB) {print "KILLING $congest_kill[$i]\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:\n"; + } + $i++; + } + + + +# $event_string='CLOSING DB CONNECTION|'; +# &event_logger; + +$dbhA->disconnect(); + + + if($DB){print "DONE... Exiting... Goodbye... See you later... \n";} + + +exit; + + + + + + + +sub get_time_now #get the current date and time and epoch for logging call lengths and datetimes +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$action_log_date = "$year-$mon-$mday"; +$CIDdate = "$year$mon$mday$hour$min$sec"; +} + + + + + +sub event_logger +{ +if ($SYSLOG) + { + ### open the log file for writing ### + open(Lout, ">>$KHLOGfile") + || die "Can't open $KHLOGfile: $!\n"; + print Lout "$now_date|$event_string|\n"; + close(Lout); + } +$event_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_manager_listen.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_manager_listen.pl new file mode 100644 index 00000000..a6b699e6 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_manager_listen.pl @@ -0,0 +1,726 @@ +#!/usr/bin/perl +# +# AST_manager_listen.pl version 2.0.5 *DBI-version* +# +# Part of the Asterisk Central Queue System (ACQS) +# +# DESCRIPTION: +# connects to the Asterisk Manager interface and updates records in the +# vicidial_manager table of the asterisk database in MySQL based upon the +# events that it receives +# +# SUMMARY: +# This program was designed as the listen-only part of the ACQS. It's job is to +# look for certain events and based upon either the uniqueid or the callerid of +# the call update the status and information of an action record in the +# vicidial_manager table of the asterisk MySQL database. +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 50322-1300 - changed callerid parsing to remove quotes and number +# 50616-1559 - Added NewCallerID parsing and updating +# 50621-1406 - Added Asterisk server shutdown and connection dead detection +# 50810-1534 - Added database server variable definitions lookup +# 50824-1606 - Altered CVS/1.2 support for different output +# 50901-2359 - Another CVS/1.2 output parsing fix +# 51222-1553 - fixed parentheses bug in manager output +# 60403-1230 - Added SVN/1.4 support for different output +# 60718-0909 - changed to DBI by Marin Blu +# 60718-0955 - changed to use /etc/astguiclient.conf for configs +# 60720-1142 - added keepalive to MySQL connection every 50 seconds +# 60814-1733 - added option for no logging to file +# 60906-1714 - added updating for special vicidial conference calls +# 71129-2004 - Fixed SQL error +# + +# constants +$DB=1; # Debug flag, set to 0 for no debug messages, lots of output +$US='__'; +$MT[0]=''; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-t] = test\n [-debug] = verbose debug messages\n[-debugX] = Extra-verbose debug messages\n\n"; + } + else + { + if ($args =~ /-debug/i) + { + $DB=1; # Debug flag + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n----- SUPER-DUPER DEBUGGING -----\n\n"; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} +else +{ +# print "no command line options set\n"; +} +### end parsing run-time options ### + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + + &get_time_now; + +#use lib './lib', '../lib'; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use DBI; +use Net::Telnet (); + + $dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT telnet_host,telnet_port,ASTmgrUSERNAME,ASTmgrSECRET,ASTmgrUSERNAMEupdate,ASTmgrUSERNAMElisten,ASTmgrUSERNAMEsend,max_vicidial_trunks,answer_transfer_agent,local_gmt,ext_context,vd_server_logs FROM servers where server_ip = '$server_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBtelnet_host = "$aryA[0]"; + $DBtelnet_port = "$aryA[1]"; + $DBASTmgrUSERNAME = "$aryA[2]"; + $DBASTmgrSECRET = "$aryA[3]"; + $DBASTmgrUSERNAMEupdate = "$aryA[4]"; + $DBASTmgrUSERNAMElisten = "$aryA[5]"; + $DBASTmgrUSERNAMEsend = "$aryA[6]"; + $DBmax_vicidial_trunks = "$aryA[7]"; + $DBanswer_transfer_agent= "$aryA[8]"; + $DBSERVER_GMT = "$aryA[9]"; + $DBext_context = "$aryA[10]"; + $DBvd_server_logs = "$aryA[11]"; + if ($DBtelnet_host) {$telnet_host = $DBtelnet_host;} + if ($DBtelnet_port) {$telnet_port = $DBtelnet_port;} + if ($DBASTmgrUSERNAME) {$ASTmgrUSERNAME = $DBASTmgrUSERNAME;} + if ($DBASTmgrSECRET) {$ASTmgrSECRET = $DBASTmgrSECRET;} + if ($DBASTmgrUSERNAMEupdate) {$ASTmgrUSERNAMEupdate = $DBASTmgrUSERNAMEupdate;} + if ($DBASTmgrUSERNAMElisten) {$ASTmgrUSERNAMElisten = $DBASTmgrUSERNAMElisten;} + if ($DBASTmgrUSERNAMEsend) {$ASTmgrUSERNAMEsend = $DBASTmgrUSERNAMEsend;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';} + else {$SYSLOG = '0';} + $rec_count++; + } +$sthA->finish(); + +if (!$telnet_port) {$telnet_port = '5038';} + + $event_string='LOGGED INTO MYSQL SERVER ON 1 CONNECTION|'; + &event_logger; + +$one_day_interval = 90; # 1 day loops for 3 months +while($one_day_interval > 0) +{ + + $event_string="STARTING NEW MANAGER TELNET CONNECTION||ATTEMPT|ONE DAY INTERVAL:$one_day_interval|"; + &event_logger; +# Errmode => Return, + + ### connect to asterisk manager through telnet + $tn = new Net::Telnet (Port => $telnet_port, + Prompt => '/.*[\$%#>] $/', + Output_record_separator => '',); + #$LItelnetlog = "$PATHlogs/listen_telnet_log.txt" # uncomment for telnet log + #$fh = $tn->dump_log("$LItelnetlog"); # uncomment for telnet log + if (length($ASTmgrUSERNAMElisten) > 3) {$telnet_login = $ASTmgrUSERNAMElisten;} + else {$telnet_login = $ASTmgrUSERNAME;} + $tn->open("$telnet_host"); + $tn->waitfor('/[01]\n$/'); # print login + $tn->print("Action: Login\nUsername: $telnet_login\nSecret: $ASTmgrSECRET\n\n"); + $tn->waitfor('/Authentication accepted/'); # waitfor auth accepted + + $tn->buffer_empty; + + $event_string="STARTING NEW MANAGER TELNET CONNECTION|$telnet_login|CONFIRMED CONNECTION|ONE DAY INTERVAL:$one_day_interval|"; + &event_logger; + + $endless_loop=864000; # 1 day at .10 seconds per loop + + while($endless_loop > 0) + { + ### sleep for 10 hundredths of a second + usleep(1*100*1000); + + $msg=''; + $read_input_buf = $tn->get(Errmode => Return, Timeout => 1,); + $input_buf_length = length($read_input_buf); + $msg = $tn->errmsg; + if ($msg =~ /filehandle isn\'t open/i) + { + $endless_loop=0; + $one_day_interval=0; + print "ERRMSG: |$msg|\n"; + print "\nAsterisk server shutting down, PROCESS KILLED... EXITING\n\n"; + $event_string="Asterisk server shutting down, PROCESS KILLED... EXITING|ONE DAY INTERVAL:$one_day_interval|$msg|"; + &event_logger; + } + + if ( ($read_input_buf !~ /\n\n/) or ($input_buf_length < 10) ) + { + # if ($read_input_buf =~ /\n/) {print "\n|||$input_buf_length|||$read_input_buf|||\n";} + $input_buf = "$input_buf$read_input_buf"; + } + else + { + $partial=0; + $partial_input_buf=''; + + if ($read_input_buf !~ /\n\n$/) + { + $read_input_buf =~ s/\(|\)/ /gi; # replace parens with space + $partial_input_buf = $read_input_buf; + $partial_input_buf =~ s/\n/-----/gi; + $partial_input_buf =~ s/\*/\\\*/gi; + $partial_input_buf =~ s/.*----------//gi; + $partial_input_buf =~ s/-----/\n/gi; + $read_input_buf =~ s/$partial_input_buf$//gi; + $partial++; + } + + $input_buf = "$input_buf$read_input_buf"; + @input_lines = split(/\n\n/, $input_buf); + + if($DB){print "input buffer: $input_buf_length lines: $#input_lines partial: $partial\n";} + if ( ($DB) && ($partial) ) {print "-----[$partial_input_buf]-----\n\n";} + if($DB){print "|$input_buf|\n";} + + $manager_string = "$input_buf"; + &manager_output_logger; + + $input_buf = "$partial_input_buf"; + + + @command_line=@MT; + $ILcount=0; + foreach(@input_lines) + { + ##### look for special vicidial conference call event ##### + if ( ($input_lines[$ILcount] =~ /CallerIDName: DCagcW/) && ($input_lines[$ILcount] =~ /Event: Dial|State: Up/) ) + { + ### BEGIN 1.2.X tree versions + $input_lines[$ILcount] =~ s/^\n|^\n\n//gi; + @command_line=split(/\n/, $input_lines[$ILcount]); + + if ($input_lines[$ILcount] =~ /Event: Dial/) + { + if ($command_line[3] =~ /Destination: /i) + { + $channel = $command_line[3]; + $channel =~ s/Destination: |\s*$//gi; + $callid = $command_line[5]; + $callid =~ s/CallerIDName: |\s*$//gi; + $callid =~ s/^\"//gi; $callid =~ s/\".*$//gi; + $uniqueid = $command_line[6]; + $uniqueid =~ s/SrcUniqueID: |\s*$//gi; + $stmtA = "UPDATE vicidial_manager set status='UPDATED', channel='$channel', uniqueid = '$uniqueid' where server_ip = '$server_ip' and callerid = '$callid'"; + if ($channel !~ /local/i) + { + print STDERR "|$stmtA|\n"; + my $affected_rows = $dbhA->do($stmtA); + if($DB){print "|$affected_rows Conference DIALs updated|\n";} + } + } + } + if ($input_lines[$ILcount] =~ /State: Up/) + { + if ($command_line[2] =~ /Channel: /i) + { + $channel = $command_line[2]; + $channel =~ s/Channel: |\s*$//gi; + $callid = $command_line[5]; + $callid =~ s/CallerIDName: |\s*$//gi; + $callid =~ s/^\"//gi; $callid =~ s/\".*$//gi; + $uniqueid = $command_line[6]; + $uniqueid =~ s/SrcUniqueID: |\s*$//gi; + $stmtA = "UPDATE vicidial_manager set status='UPDATED', channel='$channel', uniqueid = '$uniqueid' where server_ip = '$server_ip' and callerid = '$callid' and status='SENT';"; + print STDERR "|$stmtA|\n"; + my $affected_rows = $dbhA->do($stmtA); + if($DB){print "|$affected_rows Conference DIALs updated|\n";} + } + } + ### END 1.2.X tree versions + + } + + ##### parse through all other important events ##### + if ( ($input_lines[$ILcount] =~ /State: Ringing|State: Up|State: Dialing|Event: Newstate|Event: Hangup|Event: Newcallerid|Event: Shutdown|Event: CPD-Result/) && ($input_lines[$ILcount] !~ /ZOMBIE/) ) + { + $input_lines[$ILcount] =~ s/^\n|^\n\n//gi; + @command_line=split(/\n/, $input_lines[$ILcount]); + if ($input_lines[$ILcount] =~ /Event: Shutdown/) + { + $endless_loop=0; + $one_day_interval=0; + print "\nAsterisk server shutting down, PROCESS KILLED... EXITING\n\n"; + $event_string="Asterisk server shutting down, PROCESS KILLED... EXITING|ONE DAY INTERVAL:$one_day_interval|"; + &event_logger; + } + + if ($input_lines[$ILcount] =~ /Event: Hangup/) + { + if ( ($command_line[2] =~ /^Channel: /i) && ($command_line[3] =~ /^Uniqueid: /i) ) ### post 2005-08-07 CVS -- added Privilege line + { + $channel = $command_line[2]; + $channel =~ s/Channel: |\s*$//gi; + $uniqueid = $command_line[3]; + $uniqueid =~ s/Uniqueid: |\s*$//gi; + $stmtA = "UPDATE vicidial_manager set status='DEAD', channel='$channel' where server_ip = '$server_ip' and uniqueid = '$uniqueid' and callerid NOT LIKE \"DCagcW%\";"; + + print STDERR "|$stmtA|\n"; + my $affected_rows = $dbhA->do($stmtA); + + if($DB){print "|$affected_rows HANGUPS updated|\n";} + } + else + { + if ( ($command_line[3] =~ /^Channel: /i) && ($command_line[4] =~ /^Uniqueid: /i) ) ### post 2006-03-20 SVN -- Added Timestamp line + { + $channel = $command_line[3]; + $channel =~ s/Channel: |\s*$//gi; + $uniqueid = $command_line[4]; + $uniqueid =~ s/Uniqueid: |\s*$//gi; + $stmtA = "UPDATE vicidial_manager set status='DEAD', channel='$channel' where server_ip = '$server_ip' and uniqueid = '$uniqueid' and callerid NOT LIKE \"DCagcW%\";"; + + print STDERR "|$stmtA|\n"; + my $affected_rows = $dbhA->do($stmtA); + if($DB){print "|$affected_rows HANGUPS updated|\n";} + } + else + { + $channel = $command_line[1]; + $channel =~ s/Channel: |\s*$//gi; + $uniqueid = $command_line[2]; + $uniqueid =~ s/Uniqueid: |\s*$//gi; + $stmtA = "UPDATE vicidial_manager set status='DEAD', channel='$channel' where server_ip = '$server_ip' and uniqueid = '$uniqueid' and callerid NOT LIKE \"DCagcW%\";"; + + print STDERR "|$stmtA|\n"; + my $affected_rows = $dbhA->do($stmtA); + if($DB){print "|$affected_rows HANGUPS updated|\n";} + } + } + } + + if ($input_lines[$ILcount] =~ /State: Dialing/) + { + if ( ($command_line[1] =~ /^Channel: /i) && ($command_line[4] =~ /^Uniqueid: /i) ) ### pre 2004-10-07 CVS + { + $channel = $command_line[1]; + $channel =~ s/Channel: |\s*$//gi; + $callid = $command_line[3]; + $callid =~ s/Callerid: |\s*$//gi; + $callid =~ s/^\"//gi; $callid =~ s/\".*$//gi; + $uniqueid = $command_line[4]; + $uniqueid =~ s/Uniqueid: |\s*$//gi; + $stmtA = "UPDATE vicidial_manager set status='SENT', channel='$channel', uniqueid = '$uniqueid' where server_ip = '$server_ip' and callerid = '$callid'"; + print STDERR "|$stmtA|\n"; + my $affected_rows = $dbhA->do($stmtA); + + if($DB){print "|$affected_rows DIALINGs updated|\n";} + } + if ( ($command_line[1] =~ /^Channel: /i) && ($command_line[4] =~ /^CalleridName: /i) ) ### post 2004-10-07 CVS + { + $channel = $command_line[1]; + $channel =~ s/Channel: |\s*$//gi; + $callid = $command_line[4]; + $callid =~ s/CalleridName: |\s*$//gi; + $callid =~ s/^\"//gi; $callid =~ s/\".*$//gi; + $uniqueid = $command_line[5]; + $uniqueid =~ s/Uniqueid: |\s*$//gi; + $stmtA = "UPDATE vicidial_manager set status='SENT', channel='$channel', uniqueid = '$uniqueid' where server_ip = '$server_ip' and callerid = '$callid'"; + print STDERR "|$stmtA|\n"; + my $affected_rows = $dbhA->do($stmtA); + if($DB){print "|$affected_rows DIALINGs updated|\n";} + } + if ( ($command_line[2] =~ /^Channel: /i) && ($command_line[5] =~ /^CalleridName: /i) ) ### post 2005-08-07 CVS + { + $channel = $command_line[2]; + $channel =~ s/Channel: |\s*$//gi; + $callid = $command_line[5]; + $callid =~ s/CalleridName: |\s*$//gi; + $callid =~ s/^\"//gi; $callid =~ s/\".*$//gi; + $uniqueid = $command_line[6]; + $uniqueid =~ s/Uniqueid: |\s*$//gi; + $stmtA = "UPDATE vicidial_manager set status='SENT', channel='$channel', uniqueid = '$uniqueid' where server_ip = '$server_ip' and callerid = '$callid'"; + print STDERR "|$stmtA|\n"; + my $affected_rows = $dbhA->do($stmtA); + if($DB){print "|$affected_rows DIALINGs updated|\n";} + } + if ( ($command_line[3] =~ /^Channel: /i) && ($command_line[6] =~ /^CalleridName: /i) ) ### post 2006-03-20 -- Added Timestamp line + { + $channel = $command_line[3]; + $channel =~ s/Channel: |\s*$//gi; + $callid = $command_line[6]; + $callid =~ s/CalleridName: |\s*$//gi; + $callid =~ s/^\"//gi; $callid =~ s/\".*$//gi; + $uniqueid = $command_line[7]; + $uniqueid =~ s/Uniqueid: |\s*$//gi; + $stmtA = "UPDATE vicidial_manager set status='SENT', channel='$channel', uniqueid = '$uniqueid' where server_ip = '$server_ip' and callerid = '$callid'"; + print STDERR "|$stmtA|\n"; + my $affected_rows = $dbhA->do($stmtA); + if($DB){print "|$affected_rows DIALINGs updated|\n";} + } + } + if ($input_lines[$ILcount] =~ /State: Ringing|State: Up/) + { + if ( ($command_line[1] =~ /^Channel: /i) && ($command_line[4] =~ /^Uniqueid: /i) ) ### pre 2004-10-07 CVS + { + $channel = $command_line[1]; + $channel =~ s/Channel: |\s*$//gi; + $callid = $command_line[3]; + $callid =~ s/Callerid: |\s*$//gi; + $callid =~ s/^\"//gi; $callid =~ s/\".*$//gi; + $uniqueid = $command_line[4]; + $uniqueid =~ s/Uniqueid: |\s*$//gi; + $stmtA = "UPDATE vicidial_manager set status='UPDATED', channel='$channel', uniqueid = '$uniqueid' where server_ip = '$server_ip' and callerid = '$callid'"; + if ($channel !~ /local/i) + { + print STDERR "|$stmtA|\n"; + my $affected_rows = $dbhA->do($stmtA); + if($DB){print "|$affected_rows RINGINGs updated|\n";} + } + } + if ( ($command_line[1] =~ /^Channel: /i) && ($command_line[4] =~ /^CalleridName: /i) ) ### post 2004-10-07 CVS + { + $channel = $command_line[1]; + $channel =~ s/Channel: |\s*$//gi; + $callid = $command_line[4]; + $callid =~ s/CalleridName: |\s*$//gi; + $callid =~ s/^\"//gi; $callid =~ s/\".*$//gi; + $uniqueid = $command_line[5]; + $uniqueid =~ s/Uniqueid: |\s*$//gi; + $stmtA = "UPDATE vicidial_manager set status='UPDATED', channel='$channel', uniqueid = '$uniqueid' where server_ip = '$server_ip' and callerid = '$callid'"; + if ($channel !~ /local/i) + { + print STDERR "|$stmtA|\n"; + my $affected_rows = $dbhA->do($stmtA); + if($DB){print "|$affected_rows RINGINGs updated|\n";} + } + } + if ( ($command_line[2] =~ /^Channel: /i) && ($command_line[5] =~ /^CalleridName: /i) ) ### post 2005-08-07 CVS + { + $channel = $command_line[2]; + $channel =~ s/Channel: |\s*$//gi; + $callid = $command_line[5]; + $callid =~ s/CalleridName: |\s*$//gi; + $callid =~ s/^\"//gi; $callid =~ s/\".*$//gi; + $uniqueid = $command_line[6]; + $uniqueid =~ s/Uniqueid: |\s*$//gi; + $stmtA = "UPDATE vicidial_manager set status='UPDATED', channel='$channel', uniqueid = '$uniqueid' where server_ip = '$server_ip' and callerid = '$callid'"; + if ($channel !~ /local/i) + { + print STDERR "|$stmtA|\n"; + my $affected_rows = $dbhA->do($stmtA); + if($DB){print "|$affected_rows RINGINGs updated|\n";} + } + } + if ( ($command_line[3] =~ /^Channel: /i) && ($command_line[6] =~ /^CalleridName: /i) ) ### post 2006-03-20 SVN -- Added Timestamp line + { + $channel = $command_line[3]; + $channel =~ s/Channel: |\s*$//gi; + $callid = $command_line[6]; + $callid =~ s/CalleridName: |\s*$//gi; + $callid =~ s/^\"//gi; $callid =~ s/\".*$//gi; + $uniqueid = $command_line[7]; + $uniqueid =~ s/Uniqueid: |\s*$//gi; + $stmtA = "UPDATE vicidial_manager set status='UPDATED', channel='$channel', uniqueid = '$uniqueid' where server_ip = '$server_ip' and callerid = '$callid'"; + if ($channel !~ /local/i) + { + print STDERR "|$stmtA|\n"; + my $affected_rows = $dbhA->do($stmtA); + if($DB){print "|$affected_rows RINGINGs updated|\n";} + } + } + } + + if ($input_lines[$ILcount] =~ /Event: Newcallerid/) + { + if ( ($command_line[1] =~ /^Channel: /i) && ($command_line[3] =~ /^Uniqueid: /i) ) + { + $channel = $command_line[1]; + $channel =~ s/Channel: |\s*$//gi; + $callid = $command_line[2]; + $callid =~ s/Callerid: |\s*$//gi; + $callid =~ s/^\"//gi; $callid =~ s/\".*$//gi; + $uniqueid = $command_line[3]; + $uniqueid =~ s/Uniqueid: |\s*$//gi; + $stmtA = "UPDATE vicidial_manager set status='UPDATED', channel='$channel', uniqueid = '$uniqueid' where server_ip = '$server_ip' and callerid = '$callid'"; + if ($channel =~ /local/i) + { + print STDERR "|$stmtA|\n"; + my $affected_rows = $dbhA->do($stmtA); + if($DB){print "|$affected_rows RINGINGs updated|\n";} + } + } + if ( ($command_line[3] =~ /^Channel: /i) && ($command_line[6] =~ /^Uniqueid: /i) ) ### post 2006-03-20 SVN -- Added Timestamp line + { + $channel = $command_line[3]; + $channel =~ s/Channel: |\s*$//gi; + $callid = $command_line[5]; + $callid =~ s/Callerid: |\s*$//gi; + # $callid =~ s/CallerIDName: |\s*$//gi; + $callid =~ s/^\"//gi; $callid =~ s/\".*$//gi; + $uniqueid = $command_line[6]; + $uniqueid =~ s/Uniqueid: |\s*$//gi; + $stmtA = "UPDATE vicidial_manager set status='UPDATED', channel='$channel', uniqueid = '$uniqueid' where server_ip = '$server_ip' and callerid = '$callid'"; + if ($channel =~ /local/i) + { + print STDERR "|$stmtA|\n"; + my $affected_rows = $dbhA->do($stmtA); + if($DB){print "|$affected_rows RINGINGs updated|\n";} + } + } + # if ( ($command_line[2] =~ /^Channel: /i) && ($command_line[5] =~ /^Uniqueid: /i) ) ### post 2006-06-21 SVN -- Changed from CallerID to CallerIDName + # { + # $channel = $command_line[2]; + # $channel =~ s/Channel: |\s*$//gi; + # $callid = $command_line[4]; + # $callid =~ s/CallerIDName: |\s*$//gi; + # $callid =~ s/^\"//gi; $callid =~ s/\".*$//gi; + # $uniqueid = $command_line[5]; + # $uniqueid =~ s/Uniqueid: |\s*$//gi; + # $stmtA = "UPDATE vicidial_manager set status='UPDATED', channel='$channel', uniqueid = '$uniqueid' where server_ip = '$server_ip' and callerid = '$callid'"; + # if ($channel =~ /local/i) + # { + # print STDERR "|$stmtA|\n"; + # my $affected_rows = $dbhA->do($stmtA); + # if($DB){print "|$affected_rows RINGINGs updated|\n";} + # } + # } + } + if ($input_lines[$ILcount] =~ /Event: CPD-Result/) + { + # Event: CPD-Result + # Privilege: system,all + # ChannelDriver: SIP + # Channel: SIP/paraxip-out-08291448 + # CallerIDName: V0202034729000030735 + # Uniqueid: 1233564450.141 + # Result: Answering-Machine + if ( ($command_line[3] =~ /^Channel: /i) && ($command_line[5] =~ /^Uniqueid: /i) ) + { + &get_time_now; + + $channel = $command_line[3]; + $channel =~ s/Channel: |\s*$//gi; + $callid = $command_line[4]; + $callid =~ s/CallerIDName: |\s*$//gi; + $uniqueid = $command_line[5]; + $uniqueid =~ s/Uniqueid: |\s*$//gi; + $result = $command_line[6]; + $result =~ s/Result: |\s*$//gi; + if (length($result)>0) + { + $lead_id = substr($callid, 11, 9); + $lead_id = ($lead_id + 0); + $stmtA = "INSERT INTO vicidial_cpd_log set channel='$channel', uniqueid='$uniqueid', callerid='$callid', server_ip='$server_ip', lead_id='$lead_id', event_date='$now_date', result='$result';"; + print STDERR "|$stmtA|\n"; + my $affected_rows = $dbhA->do($stmtA); + if($DB){print "|$affected_rows CPD_log inserted|\n";} + } + } + } + + } + $ILcount++; + } + + } + + + $endless_loop--; + $keepalive_count_loop++; + if($DB){print STDERR "loop counter: |$endless_loop|$keepalive_count_loop|\r";} + + ### putting a blank file called "sendmgr.kill" in a directory will automatically safely kill this program + if ( (-e "$PATHhome/listenmgr.kill") or ($sendonlyone) ) + { + unlink("$PATHhome/listenmgr.kill"); + $endless_loop=0; + $one_day_interval=0; + print "\nPROCESS KILLED MANUALLY... EXITING\n\n"; + } + + ### run a keepalive command to flush whatever is in the buffer through and to keep the connection alive + ### Also, keep the MySQL connection alive by selecting the server_updater time for this server + if ($endless_loop =~ /00$|50$/) + { + &get_time_now; + + ### Grab Server values from the database + $stmtA = "SELECT vd_server_logs FROM servers where server_ip = '$VARserver_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBvd_server_logs = "$aryA[0]"; + if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';} + else {$SYSLOG = '0';} + $rec_count++; + } + $sthA->finish(); + + ### Grab Server values to keep DB connection alive + $stmtA = "SELECT last_update FROM server_updater where server_ip = '$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $last_update = "$aryA[0]"; + $sthA->finish(); + + @list_lines = $tn->cmd(String => "Action: Command\nCommand: show uptime\n\n", Prompt => '/--END COMMAND--.*/', Errmode => Return, Timeout => 1); + if($DB){print "input lines: $#list_lines\n";} + + if($DB){print "+++++++++++++++++++++++++++++++sending keepalive transmit line $endless_loop|$now_date|$last_update|\n";} + $keepalive_count_loop=0; + + } + + + } + + + if($DB){print "DONE... Exiting... Goodbye... See you later... Not really, initiating next loop...$one_day_interval left\n";} + + $event_string='HANGING UP|'; + &event_logger; + + @hangup = $tn->cmd(String => "Action: Logoff\n\n", Prompt => "/.*/", Errmode => Return, Timeout => 1); + + $ok = $tn->close; + + $one_day_interval--; + +} + + $event_string='CLOSING DB CONNECTION|'; + &event_logger; + + + $dbhA->disconnect(); + + + if($DB){print "DONE... Exiting... Goodbye... See you later... Really I mean it this time\n";} + + +exit; + + + + + + + +sub get_time_now #get the current date and time and epoch for logging call lengths and datetimes +{ +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +$now_date_epoch = time(); +$now_date = "$year-$mon-$mday $hour:$min:$sec"; +$action_log_date = "$year-$mon-$mday"; +} + + + + + +sub event_logger +{ +if ($SYSLOG) + { + ### open the log file for writing ### + open(Lout, ">>$PATHlogs/listen_process.$action_log_date") + || die "Can't open $PATHlogs/listen_process.$action_log_date: $!\n"; + print Lout "$now_date|$event_string|\n"; + close(Lout); + } +$event_string=''; +} + + + + +sub manager_output_logger +{ +if ($SYSLOG) + { + open(MOout, ">>$PATHlogs/listen.$action_log_date") + || die "Can't open $PATHlogs/listen.$action_log_date: $!\n"; + print MOout "$now_date|$manager_string|\n"; + close(MOout); + } +} diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_manager_send.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_manager_send.pl new file mode 100644 index 00000000..3d9fcd0b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_manager_send.pl @@ -0,0 +1,371 @@ +#!/usr/bin/perl +# +# AST_manager_send.pl version 2.0.5 +# +# Part of the Asterisk Central Queue System (ACQS) +# +# DESCRIPTION: +# spawns child processes (AST_send_action_child.pl) to execute action commands +# on the Asterisk manager interface from records in the vicidial_manager table +# of the asterisk database in MySQL that are marked as a status of NEW +# +# SUMMARY: +# This program was designed as the send-only part of the ACQS. It's job is to +# pick NEW actions from the vicidial_manager table and send them to be executed +# by separate child process. This allows for a higher degree of flexibility and +# scalability over just using a single process. Also, this means that a single +# action execution lock cannot bring the entire system down. +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 50823-1514 - Added commandline debug options with debug printouts +# 50902-1051 - Added extra debug output launch sub(commented out) +# 60718-0909 - changed to DBI by Marin Blu +# 60718-1005 - changed to use /etc/astguiclient.conf for configs +# 60718-1211 - removed need for ADMIN_keepalive_send_listen.at launching +# 60814-1712 - added option for no logging to file +# 60817-1211 - added more ARGS to go to child process to remove DBI from child +# 61221-1926 - optimize and clean code, lc +# 80418-0901 - reduced time between Actions being sent, raised endless loop timer +# + +$|++; +use strict; +use DBI; +use Getopt::Long; +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second + +# constants and globals +my $servConf; +my %conf; +$conf{PATHconf} = '/etc/astguiclient.conf'; # default path to astguiclient configuration file: +my $COUNTER_OUTPUT=1; # set to 1 to display the counter as the script runs +my ($CLOhelp, $sendonlyone, $TEST, $DB, $DBX, $SYSLOG); + +### begin parsing run-time options ### +if (scalar @ARGV) { + GetOptions('help!' => \$CLOhelp, + 'sendonlyone!' => \$sendonlyone, + 'counteroutput!' => \$COUNTER_OUTPUT, + 't!' => \$TEST, #Fucntionality doesn't actually exist. + 'debug!' => \$DB, + 'debugX!' => \$DBX ); + $DB = 1 if ($DBX); + if ($DB) { + print "----- DEBUGGING -----\n"; + print "----- EXTRA-VERBOSE DEBUGGING -----\n" if ($DBX); + print "COUNTER_OUTPUT: $COUNTER_OUTPUT\n"; + print "sendonlyone: $sendonlyone\n" if ($sendonlyone); + print "TEST: $TEST\n" if ($TEST); + } + if ($CLOhelp) { + print "\nAST_manager_send.pl\n"; + print "allowed run time options:\n"; + print " [--help] = This help screen.\n"; + print " [--sendonlyone] = Send only one command\n"; + print " [--nocounteroutput] = Do not display counter as script runs\n"; + print " [-t] = Test Mode\n"; + print " [--debug] or [-v] = Verbose debug messages\n"; + print " [--debugX] or [-vv] = Extra-verbose debug messages\n\n"; + exit 0; + } +} +### end parsing run-time options ### + +# Begin Parsing astguiclient config file. +open(CONF, $conf{PATHconf}) || die "can't open " . $conf{PATHconf} . ": " . $! . "\n"; +while (my $line = ) { + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + foreach my $key (qw( PATHhome PATHlogs PATHagi PATHweb PATHsounds PATHmontior + VARserver_ip VARDB_server VARDB_database VARDB_user VARDB_pass VARDB_port)) { + if ($line =~ /^$key/) { + $conf{$key} = $line; + $conf{$key} =~ s/.*=//gi; + } + } +} +$conf{VARDB_port} = '3306' unless ($conf{VARDB_port}); + +# Connect to DB +my $dbhA = DBI->connect("DBI:mysql:" . $conf{VARDB_database} . ":" . $conf{VARDB_server} . ":" . $conf{VARDB_port}, + $conf{VARDB_user}, $conf{VARDB_pass}) or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$servConf = getServerConfig($dbhA, $conf{VARserver_ip}); +$SYSLOG = 1 if ($servConf->{vd_server_logs} =~ /Y/); +my $event_string='LOGGED INTO MYSQL SERVER ON 1 CONNECTION|'; +eventLogger($conf{PATHlogs}, 'process', $event_string); + + +my $one_day_interval = 182; # 2 day loops for 12 months +while ($one_day_interval > 0) { + my $endless_loop = 1728000; # 2 days at .10 seconds per loop + my $affected_rows; + my $NEW_actions; + while ($endless_loop > 0) { + my $stmtA = "SELECT count(*) from vicidial_manager where server_ip = '" . $conf{VARserver_ip} . "' and status = 'NEW'"; + my $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + my $NEW_actions = ($sthA->fetchrow_array)[0]; + print STDERR $NEW_actions . " NEW Actions to send on server " . $conf{VARserver_ip} . " $endless_loop\n" if ($DB); + $sthA->finish(); + + if ($NEW_actions) { + my $stmtA = "UPDATE vicidial_manager set status='QUEUE' where server_ip = '" . $conf{VARserver_ip} . "' and status = 'NEW' order by entry_date limit 1"; + $affected_rows = $dbhA->do($stmtA); + print STDERR "rows updated to QUEUE: |$affected_rows|\n" if ($DB); + } else { + $affected_rows = 0; + } + + if ($affected_rows) { + my $stmtA = "SELECT * FROM vicidial_manager where server_ip = '" . $conf{VARserver_ip} . "' and status = 'QUEUE' order by entry_date desc limit 1"; + eventLogger($conf{'PATHlogs'}, 'process', "SQL_QUERY|" . $stmtA . "|"); + + my $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + + while (my $vdm = $sthA->fetchrow_hashref) { + + print STDERR $vdm->{man_id} . "|" . $vdm->{uniqueid} . "|" . $vdm->{channel} . "|" . + $vdm->{action} . "|" . $vdm->{callerid} . "\n" if ($DB); + + my $originate_command = "Action: ". $vdm->{action} . "\n"; + $originate_command .= $vdm->{cmd_line_b} . "\n" if ($vdm->{cmd_line_b}); + $originate_command .= $vdm->{cmd_line_c} . "\n" if ($vdm->{cmd_line_c}); + $originate_command .= $vdm->{cmd_line_d} . "\n" if ($vdm->{cmd_line_d}); + $originate_command .= $vdm->{cmd_line_e} . "\n" if ($vdm->{cmd_line_e}); + $originate_command .= $vdm->{cmd_line_f} . "\n" if ($vdm->{cmd_line_f}); + $originate_command .= $vdm->{cmd_line_g} . "\n" if ($vdm->{cmd_line_g}); + $originate_command .= $vdm->{cmd_line_h} . "\n" if ($vdm->{cmd_line_h}); + $originate_command .= $vdm->{cmd_line_i} . "\n" if ($vdm->{cmd_line_i}); + $originate_command .= $vdm->{cmd_line_j} . "\n" if ($vdm->{cmd_line_j}); + $originate_command .= $vdm->{cmd_line_k} . "\n" if ($vdm->{cmd_line_k}); + $originate_command .= "\n"; + + my $SENDNOW=1; + if ($originate_command =~ /Action: Hangup|Action: Redirect/) { + $SENDNOW=0; + print STDERR "\n|checking for dead call before executing|" . $vdm->{callerid} . "|" . $vdm->{uniqueid} . "|\n" if ($DB); + my $stmtB = "SELECT count(*) FROM vicidial_manager where server_ip = '" . $conf{VARserver_ip} . "' and callerid='" . $vdm->{callerid} . "' and status = 'DEAD'"; + my $sthB = $dbhA->prepare($stmtB) or die "preparing: ",$dbhA->errstr; + $sthB->execute or die "executing: $stmtA ", $dbhA->errstr; + my $dead_count = ($sthB->fetchrow_array)[0]; + $sthB->finish(); + + if ($dead_count) { + print STDERR "\n|not sending command line is dead|" . $vdm->{callerid} . "|" . $vdm->{uniqueid} . "|\n" if ($DB); + } else { + $SENDNOW=1; + } + } + + my $event_string = "----BEGIN NEW COMMAND----\nCallerID: " . $vdm->{callerid} . "\n$originate_command----END NEW COMMAND----\n"; + eventLogger($conf{'PATHlogs'}, 'process', $event_string); + + if ($SENDNOW) { + my $cPATHlogs = $conf{PATHlogs}; + $cPATHlogs =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg; + $vdm->{cmd_line_b} =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg; + $vdm->{cmd_line_c} =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg; + $vdm->{cmd_line_d} =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg; + $vdm->{cmd_line_e} =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg; + $vdm->{cmd_line_f} =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg; + $vdm->{cmd_line_g} =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg; + $vdm->{cmd_line_h} =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg; + $vdm->{cmd_line_i} =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg; + $vdm->{cmd_line_j} =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg; + $vdm->{cmd_line_k} =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg; + + my $launch = $conf{PATHhome} . "/AST_send_action_child.pl"; + $launch .= " --SYSLOG" if ($SYSLOG); + $launch .= " --PATHlogs=" . $cPATHlogs; + $launch .= " --telnet_host=" . $servConf->{telnet_host}; + $launch .= " --telnet_port=" . $servConf->{telnet_port}; + $launch .= " --ASTmgrUSERNAME=" . $servConf->{ASTmgrUSERNAME}; + $launch .= " --ASTmgrSECRET=" . $servConf->{ASTmgrSECRET}; + $launch .= " --ASTmgrUSERNAMEsend=" . $servConf->{ASTmgrUSERNAMEsend}; + $launch .= " --man_id=" . $vdm->{man_id}; + $launch .= " --action=" . $vdm->{action}; + $launch .= " --cmd_line_b=" . $vdm->{cmd_line_b} if ($vdm->{cmd_line_b}); + $launch .= " --cmd_line_c=" . $vdm->{cmd_line_c} if ($vdm->{cmd_line_c}); + $launch .= " --cmd_line_d=" . $vdm->{cmd_line_d} if ($vdm->{cmd_line_d}); + $launch .= " --cmd_line_e=" . $vdm->{cmd_line_e} if ($vdm->{cmd_line_e}); + $launch .= " --cmd_line_f=" . $vdm->{cmd_line_f} if ($vdm->{cmd_line_f}); + $launch .= " --cmd_line_g=" . $vdm->{cmd_line_g} if ($vdm->{cmd_line_g}); + $launch .= " --cmd_line_h=" . $vdm->{cmd_line_h} if ($vdm->{cmd_line_h}); + $launch .= " --cmd_line_i=" . $vdm->{cmd_line_i} if ($vdm->{cmd_line_i}); + $launch .= " --cmd_line_j=" . $vdm->{cmd_line_j} if ($vdm->{cmd_line_j}); + $launch .= " --cmd_line_k=" . $vdm->{cmd_line_k} if ($vdm->{cmd_line_k}); + eventLogger($conf{'PATHlogs'}, 'launch', $launch . " " . + $vdm->{callerid} . " " . $vdm->{uniqueid} . " " . $vdm->{channel}); + + + $launch .= " >> " . $conf{PATHlogs} . "/action_send." . logDate() if ($SYSLOG); + system($launch . ' &'); + + # $launch = "SENT " . $vdm->{man_id} . " " . $vdm->{callerid} . ' ' . $vdm->{uniqueid} . ' ' . $vdm->{channel}; + # eventLogger($conf{'PATHlogs'}, 'launch', $launch);; + + my $stmtA = "UPDATE vicidial_manager set status='SENT' where man_id='" . $vdm->{man_id} . "'"; + print STDERR "\n|$stmtA|\n" if ($DB); + $affected_rows = $dbhA->do($stmtA); + + $event_string = "SQL_QUERY|$stmtA|"; + eventLogger($conf{'PATHlogs'}, 'process', $event_string); + } else { + $stmtA = "UPDATE vicidial_manager set status='DEAD' where man_id='" . $vdm->{man_id} . "'"; + print STDERR "\n|$stmtA|\n" if ($DB); + $affected_rows = $dbhA->do($stmtA); + $event_string="COMMAND NOT SENT, SQL_QUERY|$stmtA|"; + eventLogger($conf{'PATHlogs'}, 'process', $event_string);; + } + } + $sthA->finish(); + } + + if ($affected_rows) { + ### sleep for 1 hundredth of a second if just send an ACTION + usleep(1*10*1000); + } else { + ### sleep for 10 hundredths of a second if no actions sent + usleep(1*100*1000); + } + + $endless_loop--; + print STDERR "loop counter: |$endless_loop|\r" if($COUNTER_OUTPUT or $DB); + + ### putting a blank file called "sendmgr.kill" in a directory will automatically safely kill this program + if (-e $conf{PATHhome} . "/sendmgr.kill" or $sendonlyone) { + unlink($conf{PATHhome} . "/sendmgr.kill"); + $endless_loop = 0; + $one_day_interval = 0; + print "\nPROCESS KILLED MANUALLY... EXITING\n\n"; + } + + my $running_listen = 0; + if ($endless_loop =~ /0$/) { + ### Grab Server values from the database + $servConf = getServerConfig($dbhA, $conf{VARserver_ip}); + + print "checking to see if listener is dead |$sendonlyone|$running_listen|\n" if($COUNTER_OUTPUT or $DB); + #my @psoutput = `/bin/ps -f --no-headers -A`; + my @psoutput = `/bin/ps -o "%p %a" --no-headers -A`; + foreach my $line (@psoutput) { + chomp($line); + print "|$line| \n" if ($DBX); + my @psline = split(/\/usr\/bin\/perl /,$line); + if ($psline[1] =~ /AST_manager_li/) { + $running_listen++; + print "SEND RUNNING: |$psline[1]|\n" if ($DB); + } + } + + unless ($running_listen) { + $sendonlyone++; + print "LISTENER DEAD STOPPING PROGRAM... ATTEMPTING TO START keepalive SCRIPT\n" if ($COUNTER_OUTPUT or $DB); + $event_string = 'LISTENER DEAD STOPPING PROGRAM... ATTEMPTING TO START keepalive SCRIPT|'; + eventLogger($conf{'PATHlogs'}, 'process', $event_string); + # `/usr/bin/at now < $PATHhome/ADMIN_keepalive_send_listen.at 2>/dev/null 1>&2`; + my $screencmd = "/usr/bin/screen -d -m " . $conf{PATHhome} . "/ADMIN_keepalive_AST_send_listen.pl 2>/dev/null 1>&2"; + `$screencmd`; + } + } + + } + + print "DONE... Exiting... Goodbye... See you later... Not really, initiating next loop...$one_day_interval left\n" if($COUNTER_OUTPUT or $DB); + $one_day_interval--; + +} + +$event_string='CLOSING DB CONNECTION|'; +eventLogger($conf{'PATHlogs'}, 'process', $event_string); + +$dbhA->disconnect(); + +print "DONE... Exiting... Goodbye... See you later... Really I mean it this time\n" if($COUNTER_OUTPUT or $DB); +exit 0; +# Program ends. + + +### Start of subs. + +# getServerConfig usage: +# getServerConfig($dbh, $serverIP); +# Requires: +# $dbh : Database handle to current open DB. +# $serverIP : IP of server to get config for. +# Returns: +# hashref with conents of table entry. +sub getServerConfig { + my ($dbhA, $serverip) = @_; + my $stmtA = "SELECT * FROM servers where server_ip = '" . $serverip ."';"; + my $sthA = $dbhA->prepare($stmtA) or die "preparing: " . $dbhA->errstr; + $sthA->execute or die "executing: $stmtA " . $dbhA->errstr; + my $servConf = $sthA->fetchrow_hashref; + $SYSLOG = 1 if ($servConf->{vd_server_logs} =~ /Y/); + $sthA->finish(); + return $servConf; +} + +# eventLogger usage: +# eventLgger($LogFileDir, $LogType, $EventString); +# Requires: +# $LogFilePath : Directory where log files are. +# $LogType : Type of log, ie process, send, launch, full +# $EventString : String to record in log. +sub eventLogger { + my ($path,$type,$string) = @_; + open(LOG, ">>" . $path . "/action_" . $type . "." . logDate()) + || die "Can't open " . $path . "/action_" . $type . "." . + logDate() . ": " . $! . "\n"; + print LOG nowDate() . "|" . $string . "|\n"; + close(LOG); +} + +# getTime usage: +# getTime($SecondsSinceEpoch); +# Options: +# $SecondsSinceEpoch : Request time in seconds, defaults to current date/time. +# Returns: +# ($sec, $min, $hour. $day, $mon, $year) +sub getTime { + my ($tms) = @_; + $tms = time unless ($tms); + my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime($tms); + $year += 1900; + $mon++; + $mon = "0" . $mon if ($mon < 10); + $mday = "0" . $mday if ($mday < 10); + $min = "0" . $min if ($min < 10); + $sec = "0" . $sec if ($sec < 10); + return ($sec,$min,$hour,$mday,$mon,$year); +} + +# nowDate usage: +# nowDate($SecondsSinceEpoch); +# Options: +# $SecondsSinceEpoch : Request time in seconds, defaults to current date/time. +# Returns: +# scalar date/time string (MySQL formatted) ie "2007-01-01 00:00:00" +sub nowDate { + my ($tms) = @_; + my($sec,$min,$hour,$mday,$mon,$year) = getTime($tms); + return $year.'-'.$mon.'-'.$mday.' '.$hour.':'.$min.':'.$sec; +} + +# logDate usage: +# logDate($SecondsSinceEpoch); +# Options: +# $SecondsSinceEpoch : Request time in seconds, defaults to current date/time. +# Returns: +# scalar date string ie "2007-01-01" +sub logDate { + my ($tms) = @_; + my($sec,$min,$hour,$mday,$mon,$year) = getTime($tms); + return $year . '-' . $mon . '-' . $mday; +} + +### End of subs diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_phone_update.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_phone_update.pl new file mode 100644 index 00000000..cb8f84cd --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_phone_update.pl @@ -0,0 +1,322 @@ +#!/usr/bin/perl +# +# AST_phone_update.pl version 2.0.5 *DBI-version* +# +# DESCRIPTION: +# checks the registered IP address of the phone and updates the phones table +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# 70521-1529 - first build +# + +# constants +$DB=0; # Debug flag, set to 0 for no debug messages per minute +$US='__'; +$MT[0]=''; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-debug/i) + { + $DB=1; # Debug flag + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} +else +{ +# print "no command line options set\n"; +} +### end parsing run-time options ### + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use DBI; +use Net::Telnet (); + + $dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT telnet_host,telnet_port,ASTmgrUSERNAME,ASTmgrSECRET,ASTmgrUSERNAMEupdate,ASTmgrUSERNAMElisten,ASTmgrUSERNAMEsend,max_vicidial_trunks,answer_transfer_agent,local_gmt,ext_context FROM servers where server_ip = '$server_ip';"; + +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +if ($DB) {print "|$stmtA|\n";} +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $DBtelnet_host = "$aryA[0]"; + $DBtelnet_port = "$aryA[1]"; + $DBASTmgrUSERNAME = "$aryA[2]"; + $DBASTmgrSECRET = "$aryA[3]"; + $DBASTmgrUSERNAMEupdate = "$aryA[4]"; + $DBASTmgrUSERNAMElisten = "$aryA[5]"; + $DBASTmgrUSERNAMEsend = "$aryA[6]"; + $DBmax_vicidial_trunks = "$aryA[7]"; + $DBanswer_transfer_agent= "$aryA[8]"; + $DBSERVER_GMT = "$aryA[9]"; + $DBext_context = "$aryA[10]"; + if ($DBtelnet_host) {$telnet_host = $DBtelnet_host;} + if ($DBtelnet_port) {$telnet_port = $DBtelnet_port;} + if ($DBASTmgrUSERNAME) {$ASTmgrUSERNAME = $DBASTmgrUSERNAME;} + if ($DBASTmgrSECRET) {$ASTmgrSECRET = $DBASTmgrSECRET;} + if ($DBASTmgrUSERNAMEupdate) {$ASTmgrUSERNAMEupdate = $DBASTmgrUSERNAMEupdate;} + if ($DBASTmgrUSERNAMElisten) {$ASTmgrUSERNAMElisten = $DBASTmgrUSERNAMElisten;} + if ($DBASTmgrUSERNAMEsend) {$ASTmgrUSERNAMEsend = $DBASTmgrUSERNAMEsend;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBext_context) {$ext_context = $DBext_context;} + } + $sthA->finish(); + + +############# BEGIN SIP SECTION ################################################ +if($DB){print "\n\nSIP EXTENSIONS:\n";} + + +@PTextensions=@MT; @PTphone_ips=@MT; +$stmtA = "SELECT extension,phone_ip from phones where server_ip='$server_ip' and protocol='SIP'"; +if ($DB) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $PTextensions[$rec_count] = "$aryA[0]"; + $PTphone_ips[$rec_count] = "$aryA[1]"; + $rec_count++; + } + $sthA->finish(); + + +### connect to asterisk manager through telnet +$t = new Net::Telnet (Port => 5038, + Prompt => '/.*[\$%#>] $/', + Output_record_separator => '',); +#$fh = $t->dump_log("$telnetlog"); # uncomment for telnet log + if (length($ASTmgrUSERNAMEsend) > 3) {$telnet_login = $ASTmgrUSERNAMEsend;} + else {$telnet_login = $ASTmgrUSERNAME;} + +$t->open("$telnet_host"); +$t->waitfor('/[01]\n$/'); # print login +$t->print("Action: Login\nUsername: $telnet_login\nSecret: $ASTmgrSECRET\n\n"); +$t->waitfor('/Authentication accepted/'); # waitfor auth accepted + + +$i=0; +foreach(@PTextensions) + { + @list_channels=@MT; + $t->buffer_empty; + @list_channels = $t->cmd(String => "Action: Command\nCommand: sip show peer $PTextensions[$i]\n\nAction: Ping\n\n", Prompt => '/Response: Pong.*/'); + + $j=0; + foreach(@list_channels) + { # Addr->IP : 10.10.14.25 Port 5060 + if ($list_channels[$j] =~ / Addr->IP : /) + { + $NEW_IPaddr[$i] = "$list_channels[$j]"; + $NEW_IPaddr[$i] =~ s/ Addr->IP : | Port .*|\n|\r|\t//g; + } + + $j++; + } + + if($DB){print "Phone IP- $PTextensions[$i] NEW:|$NEW_IPaddr[$i]| OLD:|$PTphone_ips[$i]| ";} + if ( ($NEW_IPaddr[$i] =~ /$PTphone_ips[$i]/) && (length($NEW_IPaddr[$i]) eq length($PTphone_ips[$i])) ) + { + if($DB){print "PHONE IP UNCHANGED, DOING NOTHING FOR THIS EXTENSION\n";} + } + else + { + if ($NEW_IPaddr[$i] =~ /Unspecified/) + { + if($DB){print "PHONE IP UNSPECIFIED, DOING NOTHING FOR THIS EXTENSION\n";} + } + else + { + $stmtA = "UPDATE phones set phone_ip='$NEW_IPaddr[$i]' where server_ip='$server_ip' and extension='$PTextensions[$i]'"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + } + } + + $i++; + ### sleep for 10 hundredths of a second + usleep(1*100*1000); + } + + +$t->buffer_empty; +@hangup = $t->cmd(String => "Action: Logoff\n\n", Prompt => "/.*/"); +$t->buffer_empty; +$ok = $t->close; + +############# END SIP SECTION ################################################ + + + +############# BEGIN IAX2 SECTION ################################################ +if($DB){print "\n\niax2 EXTENSIONS:\n";} + +@PTextensions=@MT; @PTphone_ips=@MT; +$stmtA = "SELECT extension,phone_ip from phones where server_ip='$server_ip' and protocol='IAX2'"; +if ($DB) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $PTextensions[$rec_count] = "$aryA[0]"; + $PTphone_ips[$rec_count] = "$aryA[1]"; + $rec_count++; + } + $sthA->finish(); + + +### connect to asterisk manager through telnet +$t = new Net::Telnet (Port => 5038, + Prompt => '/.*[\$%#>] $/', + Output_record_separator => '',); +#$fh = $t->dump_log("$telnetlog"); # uncomment for telnet log + if (length($ASTmgrUSERNAMEsend) > 3) {$telnet_login = $ASTmgrUSERNAMEsend;} + else {$telnet_login = $ASTmgrUSERNAME;} + +$t->open("$telnet_host"); +$t->waitfor('/[01]\n$/'); # print login +$t->print("Action: Login\nUsername: $telnet_login\nSecret: $ASTmgrSECRET\n\n"); +$t->waitfor('/Authentication accepted/'); # waitfor auth accepted + + +$i=0; +foreach(@PTextensions) + { + @list_channels=@MT; + $t->buffer_empty; + @list_channels = $t->cmd(String => "Action: Command\nCommand: iax2 show peer $PTextensions[$i]\n\nAction: Ping\n\n", Prompt => '/Response: Pong.*/'); + + $j=0; + foreach(@list_channels) + { # Addr->IP : 10.10.14.25 Port 5060 + if ($list_channels[$j] =~ / Addr->IP : /) + { + $NEW_IPaddr[$i] = "$list_channels[$j]"; + $NEW_IPaddr[$i] =~ s/ Addr->IP : | Port .*|\n|\r|\t//g; + } + + $j++; + } + + if($DB){print "Phone IP- $PTextensions[$i] NEW:|$NEW_IPaddr[$i]| OLD:|$PTphone_ips[$i]| ";} + if ( ($NEW_IPaddr[$i] =~ /$PTphone_ips[$i]/) && (length($NEW_IPaddr[$i]) eq length($PTphone_ips[$i])) ) + { + if($DB){print "PHONE IP UNCHANGED, DOING NOTHING FOR THIS EXTENSION\n";} + } + else + { + if ($NEW_IPaddr[$i] =~ /Unspecified/) + { + if($DB){print "PHONE IP UNSPECIFIED, DOING NOTHING FOR THIS EXTENSION\n";} + } + else + { + $stmtA = "UPDATE phones set phone_ip='$NEW_IPaddr[$i]' where server_ip='$server_ip' and extension='$PTextensions[$i]'"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + } + } + + $i++; + ### sleep for 10 hundredths of a second + usleep(1*100*1000); + } + + +$t->buffer_empty; +@hangup = $t->cmd(String => "Action: Logoff\n\n", Prompt => "/.*/"); +$t->buffer_empty; +$ok = $t->close; +############# END IAX2 SECTION ################################################ + + + + + +$dbhA->disconnect(); + +if($DB){print "DONE... Exiting...\n";} + +exit; + + + + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_reset_mysql_vars.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_reset_mysql_vars.pl new file mode 100644 index 00000000..1aaf33b9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_reset_mysql_vars.pl @@ -0,0 +1,123 @@ +#!/usr/bin/perl +# +# AST_reset_mysql_vars.pl version 2.0.5 +# +# !!! DO NOT RUN THIS WHILE THERE ARE ACTIVE CALLS ON THE ASTERISK SERVER !!! +# +# DESCRIPTION: +# clears out mysql records for this server +# +# It is recommended that you run this program on the local Asterisk machine +# You should place a command to run this in the /etc/rc.d/rc.local file +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 60717-1237 - changed to DBI by Marin Blu +# 60717-1536 - changed to use /etc/astguiclient.conf for configs +# + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + + $stmtA = "UPDATE conferences set extension='' where server_ip='$server_ip';"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query: |$stmtA|\n"; + print " - conferences reset\n"; + + $stmtA = "UPDATE vicidial_conferences set extension='' where server_ip='$server_ip';"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query: |$stmtA|\n"; + print " - vicidial_conferences reset\n"; + +# $stmtA = "UPDATE vicidial_manager set status='DEAD' where server_ip='$server_ip' and status='NEW';"; +# if($DB){print STDERR "\n|$stmtA|\n";} +# $dbhA->query($stmtA); # or die "Couldn't execute query: |$stmtA|\n"; +# print " - vicidial_manager queue reset\n"; + + $stmtA = "DELETE from vicidial_manager where server_ip='$server_ip';"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query: |$stmtA|\n"; + print " - vicidial_manager delete\n"; + + $stmtA = "DELETE from vicidial_auto_calls where server_ip='$server_ip';"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query: |$stmtA|\n"; + print " - vicidial_auto_calls delete\n"; + + $stmtA = "DELETE from vicidial_live_agents where server_ip='$server_ip';"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query: |$stmtA|\n"; + print " - vicidial_live_agents delete\n"; + + $stmtA = "DELETE from vicidial_users where full_name='5555';"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query: |$stmtA|\n"; + print " - vicidial__users delete\n"; + + $stmtA = "DELETE from vicidial_campaign_server_stats where server_ip='$server_ip';"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query: |$stmtA|\n"; + print " - vicidial_campaign_server_stats delete\n"; + + $stmtA = "DELETE from vicidial_hopper where user LIKE \"%_$server_ip\";"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query: |$stmtA|\n"; + print " - vicidial_hopper delete\n"; + + $dbhA->disconnect(); + + +exit; + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_send_action_child.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_send_action_child.pl new file mode 100644 index 00000000..25b233c9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_send_action_child.pl @@ -0,0 +1,330 @@ +#!/usr/bin/perl +# +# AST_send_action_child.pl version 2.0.5 *DBI-version +# +# Part of the Asterisk Central Queue System (ACQS) +# +# DESCRIPTION: +# This script is spawned every time an action is to be executed by the main +# AST_manager_send.pl script and sends actions blindly to the Asterisk manager +# +# SUMMARY: +# This program was designed as the blind-send part of the ACQS. It's job is to +# be spawned by the AST_manager_send.pl script lookup the record in the MySQL DB +# to be executed. connect to the manager interface, send the action and logoff +# then exit. +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 50810-1547 - Added database server variable definitions lookup +# 50823-1527 - Altered commandline debug options with debug printouts +# 50902-1032 - Changed default logging to fulllog +# 60718-0909 - changed to DBI by Marin Blu +# 60718-1024 - changed to use /etc/astguiclient.conf for configs +# 60814-1720 - added option for no logging to file +# 60817-1244 - removed all DB calls and config file open to reduce footprint +# 61004-1728 - added ability to parse volume control and lookup meetme IDs +# 61220-1720 - optimize and clean code, lc. +# 61221-1942 - additional modification to structure, lc. +# 80418-0927 - added man_id to logging output for better tracking, raised sleep times +# + +$|++; +use strict; +use Getopt::Long; +use Net::Telnet; + +### Initialize date/time vars ### +my $secX = time(); #Start time + +### Initialize run-time variables ### +my ($CLOhelp, $SYSLOG, $PATHlogs, $telnet_host, $telnet_port, $ASTmgrUSERNAME); +my ($ASTmgrSECRET, $ASTmgrUSERNAMEsend, $man_id, $action, $cmd_line_b, $cmd_line_c); +my ($cmd_line_d, $cmd_line_e, $cmd_line_f, $cmd_line_g, $cmd_line_h); +my ($cmd_line_i, $cmd_line_j, $cmd_line_k, $DB, $DBX); +my $FULL_LOG = 1; + +### begin parsing run-time options ### +if (scalar @ARGV) { + GetOptions('help!' => \$CLOhelp, + 'SYSLOG!' => \$SYSLOG, + 'PATHlogs=s' => \$PATHlogs, + 'telnet_host=s' => \$telnet_host, + 'telnet_port=s' => \$telnet_port, + 'ASTmgrUSERNAME=s' => \$ASTmgrUSERNAME, + 'ASTmgrSECRET=s' => \$ASTmgrSECRET, + 'ASTmgrUSERNAMEsend=s' => \$ASTmgrUSERNAMEsend, + 'man_id=s' => \$man_id, + 'action=s' => \$action, + 'cmd_line_b=s' => \$cmd_line_b, + 'cmd_line_c=s' => \$cmd_line_c, + 'cmd_line_d=s' => \$cmd_line_d, + 'cmd_line_e=s' => \$cmd_line_e, + 'cmd_line_f=s' => \$cmd_line_f, + 'cmd_line_g=s' => \$cmd_line_g, + 'cmd_line_h=s' => \$cmd_line_h, + 'cmd_line_i=s' => \$cmd_line_i, + 'cmd_line_j=s' => \$cmd_line_j, + 'cmd_line_k=s' => \$cmd_line_k, + 'debug!' => \$DB, + 'debugX!' => \$DBX, + 'fulllog!' => \$FULL_LOG); + + $DB = 1 if ($DBX); + if ($DB) { + print "\n----- DEBUGGING -----\n\n"; + print "\n----- SUPER-DUPER DEBUGGING -----\n\n" if ($DBX); + print " SYSLOG: $SYSLOG\n" if ($SYSLOG); + print " telnet_host: $telnet_host\n" if ($telnet_host); + print " telnet_port: $telnet_port\n" if ($telnet_port); + print " ASTmgrUSERNAME: $ASTmgrUSERNAME\n" if ($ASTmgrUSERNAME); + print " ASTmgrSECRET: $ASTmgrSECRET\n" if ($ASTmgrSECRET); + print " ASTmgrUSERNAMEsend: $ASTmgrUSERNAMEsend\n" if ($ASTmgrUSERNAMEsend); + print " man_id: $man_id\n" if ($man_id); + print " cmd_line_b: $cmd_line_b\n" if ($cmd_line_b); + print " cmd_line_c: $cmd_line_c\n" if ($cmd_line_c); + print " cmd_line_d: $cmd_line_d\n" if ($cmd_line_d); + print " cmd_line_e: $cmd_line_e\n" if ($cmd_line_e); + print " cmd_line_f: $cmd_line_f\n" if ($cmd_line_f); + print " cmd_line_g: $cmd_line_g\n" if ($cmd_line_g); + print " cmd_line_h: $cmd_line_h\n" if ($cmd_line_h); + print " cmd_line_i: $cmd_line_i\n" if ($cmd_line_i); + print " cmd_line_j: $cmd_line_j\n" if ($cmd_line_j); + print " cmd_line_k: $cmd_line_k\n" if ($cmd_line_k); + print "\n"; + } + if ($CLOhelp) { + print "allowed run time options:\n"; + print " [--help] = this help screen\n"; + print " [--SYSLOG] = whether to log actions or not\n"; + print "required flags:\n"; + print " [--PATHlogs] = logs directory path\n"; + print " [--telnet_host] = IP address to connect to Asterisk Manager\n"; + print " [--telnet_port] = port to connect to Asterisk Manager\n"; + print " [--ASTmgrUSERNAME] = username for Asterisk Manager login\n"; + print " [--ASTmgrSECRET] = secret or password for Asterisk Manager login\n"; + print " [--ASTmgrUSERNAMEsend] = username specific for sending actions for Asterisk Manager login\n"; + print " [--man_id] = ID of the action in the vicidial_manager table\n"; + print " [--action] = type of manager action to send\n"; + print " [--cmd_line_X] = lines to send to Manager after action\n"; + print " X replaced with b-k (10 lines)\n"; + print "\n"; + print "You may prefix an option with 'no' to disable it.\n"; + print " ie. --noSYSLOG or --noFULLLOG\n"; + + exit 0; + } +} + +if ($action) { + $PATHlogs =~ s/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg; + $cmd_line_b =~ s/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg; + $cmd_line_c =~ s/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg; + $cmd_line_d =~ s/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg; + $cmd_line_e =~ s/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg; + $cmd_line_f =~ s/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg; + $cmd_line_g =~ s/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg; + $cmd_line_h =~ s/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg; + $cmd_line_i =~ s/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg; + $cmd_line_j =~ s/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg; + $cmd_line_k =~ s/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg; + if ($DB) { + print " SYSLOG: $SYSLOG\n" if ($SYSLOG); + print " telnet_host: $telnet_host\n" if ($telnet_host); + print " telnet_port: $telnet_port\n" if ($telnet_port); + print " ASTmgrUSERNAME: $ASTmgrUSERNAME\n" if ($ASTmgrUSERNAME); + print " ASTmgrSECRET: $ASTmgrSECRET\n" if ($ASTmgrSECRET); + print " ASTmgrUSERNAMEsend: $ASTmgrUSERNAMEsend\n" if ($ASTmgrUSERNAMEsend); + print " man_id: $man_id\n" if ($man_id); + print " cmd_line_b: $cmd_line_b\n" if ($cmd_line_b); + print " cmd_line_c: $cmd_line_c\n" if ($cmd_line_c); + print " cmd_line_d: $cmd_line_d\n" if ($cmd_line_d); + print " cmd_line_e: $cmd_line_e\n" if ($cmd_line_e); + print " cmd_line_f: $cmd_line_f\n" if ($cmd_line_f); + print " cmd_line_g: $cmd_line_g\n" if ($cmd_line_g); + print " cmd_line_h: $cmd_line_h\n" if ($cmd_line_h); + print " cmd_line_i: $cmd_line_i\n" if ($cmd_line_i); + print " cmd_line_j: $cmd_line_j\n" if ($cmd_line_j); + print " cmd_line_k: $cmd_line_k\n" if ($cmd_line_k); + } + + $telnet_port = '5038' if (!$telnet_port); + + ### connect to asterisk manager through telnet + my $tn = new Net::Telnet (Port => $telnet_port, + Prompt => '/.*[\$%#>] $/', + Output_record_separator => '', + Errmode => "return"); + #$fh = $tn->dump_log("$PATHlogs/SAC_telnet_log.txt"); # uncomment for telnet log + my $telnet_login; + if ($ASTmgrUSERNAMEsend) { + $telnet_login = $ASTmgrUSERNAMEsend; + } else { + $telnet_login = $ASTmgrUSERNAME; + } + $tn->open($telnet_host); + $tn->waitfor('/[01]\n$/'); # print login + $tn->print("Action: Login\nUsername: $telnet_login\nSecret: $ASTmgrSECRET\n\n"); + $tn->waitfor('/Authentication accepted/'); # waitfor auth accepted + + $tn->buffer_empty; + + if ($cmd_line_b =~ /XXYYXXYYXXYYXX/) { + # Action: Command + # Command: meetme list 8600051 + # + # Response: Follows + # Privilege: Command + # User #: 03 261 261iax Channel: IAX2/261iax-13 (unmonitored) + # 1 users in that conference. + # --END COMMAND-- + my $meetme_command = "Action: Command\nCommand: meetme list $cmd_line_k\n\n"; + print nowDate() . "|$SYSLOG|\n$meetme_command"; + + my $participant; + my @list_meetme = $tn->cmd(String => $meetme_command, + Prompt => '/--END COMMAND-.*/'); + foreach my $meetme (@list_meetme) { + if ($meetme =~ /$cmd_line_j /i) { + $meetme =~ s/User \#: //gi; + my @participants = split(/ /, $meetme); + $participant = ($participants[0] + 0); + } + # print "$participant|$cmd_line_j|$meetme"; + } + $cmd_line_b =~ s/XXYYXXYYXXYYXX/$participant/gi if ($participant > 0); + $cmd_line_j = ''; + $cmd_line_k = ''; + } + + my $originate_command; + $originate_command .= "Action: $action\n"; + #if (length($cmd_line_b)>3) {$originate_command .= "$cmd_line_b\n";} + $originate_command .= $cmd_line_b . "\n" if ($cmd_line_b); + $originate_command .= $cmd_line_c . "\n" if ($cmd_line_c); + $originate_command .= $cmd_line_d . "\n" if ($cmd_line_d); + $originate_command .= $cmd_line_e . "\n" if ($cmd_line_e); + $originate_command .= $cmd_line_f . "\n" if ($cmd_line_f); + $originate_command .= $cmd_line_g . "\n" if ($cmd_line_g); + $originate_command .= $cmd_line_h . "\n" if ($cmd_line_h); + $originate_command .= $cmd_line_i . "\n" if ($cmd_line_i); + $originate_command .= $cmd_line_j . "\n" if ($cmd_line_j); + $originate_command .= $cmd_line_k . "\n" if ($cmd_line_k); + $originate_command .= "\n"; + + + print nowDate() . "|$SYSLOG|$man_id|\n$originate_command"; + my $event_string = $man_id . "|0|" . $SYSLOG . "|"; + $event_string .= "\n" . $originate_command; + + eventLogger($PATHlogs,'full',$event_string) if ($FULL_LOG and $SYSLOG); + + my @list_channels = $tn->cmd(String => $originate_command, + Prompt => '/.*/'); + + sleep(4); + + my $data1; # ? Useless ? + if ($FULL_LOG and $SYSLOG) { + my $event_string = $man_id . "|1|" . $data1 . "|"; + foreach my $channel (@list_channels) { + $event_string .= $channel; + } + my $read_input_buf = $tn->get(Errmode => "return", + Timeout => 1); + $event_string .= $read_input_buf; + eventLogger($PATHlogs,'full',$event_string); + } + + $tn->buffer_empty; + #@hangup = $tn->cmd(String => "Action: Logoff\n\n", Prompt => "/.*/"); + $tn->cmd(String => "Action: Logoff\n\n", Prompt => "/.*/"); + sleep(3); + + if ($FULL_LOG and $SYSLOG) { + my $event_string = $man_id . "|2|" . $data1 . "|"; + foreach my $channel (@list_channels) { + $event_string .= $channel; + } + my $read_input_buf = $tn->get(Errmode => "return", + Timeout => 1); + $event_string .= $read_input_buf; + eventLogger($PATHlogs,'full',$event_string); + } + + $tn->buffer_empty; + $tn->close; +} + +my $secZ = time(); +my $script_time = ($secZ - $secX); +print "DONE execute time: $script_time seconds\n"; + +exit 0; +# Program ends. + + +### Start of subs. + +# eventLogger usage: +# eventLgger($LogFileDir, $LogType, $EventString); +# Requires: +# $LogFilePath : Directory where log files are. +# $LogType : Type of log, ie process, send, launch, full +# $EventString : String to record in log. +sub eventLogger { + my ($path,$type,$string) = @_; + open(LOG, ">>" . $path . "/action_" . $type . "." . logDate()) + || die "Can't open " . $path . "/action_" . $type . "." . + logDate() . ": " . $! . "\n"; + print LOG nowDate() . "|" . $string . "|\n"; + close(LOG); +} + +# getTime usage: +# getTime($SecondsSinceEpoch); +# Options: +# $SecondsSinceEpoch : Request time in seconds, defaults to current date/time. +# Returns: +# ($sec, $min, $hour. $day, $mon, $year) +sub getTime { + my ($tms) = @_; + $tms = time unless ($tms); + my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime($tms); + $year += 1900; + $mon++; + $mon = "0" . $mon if ($mon < 10); + $mday = "0" . $mday if ($mday < 10); + $min = "0" . $min if ($min < 10); + $sec = "0" . $sec if ($sec < 10); + return ($sec,$min,$hour,$mday,$mon,$year); +} + +# nowDate usage: +# nowDate($SecondsSinceEpoch); +# Options: +# $SecondsSinceEpoch : Request time in seconds, defaults to current date/time. +# Returns: +# scalar date/time string (MySQL formatted) ie "2007-01-01 00:00:00" +sub nowDate { + my ($tms) = @_; + my($sec,$min,$hour,$mday,$mon,$year) = getTime($tms); + return $year.'-'.$mon.'-'.$mday.' '.$hour.':'.$min.':'.$sec; +} + +# logDate usage: +# logDate($SecondsSinceEpoch); +# Options: +# $SecondsSinceEpoch : Request time in seconds, defaults to current date/time. +# Returns: +# scalar date string ie "2007-01-01" +sub logDate { + my ($tms) = @_; + my($sec,$min,$hour,$mday,$mon,$year) = getTime($tms); + return $year . '-' . $mon . '-' . $mday; +} + +### End of subs + + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_sourceID_summary_export.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_sourceID_summary_export.pl new file mode 100644 index 00000000..c66e0c97 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_sourceID_summary_export.pl @@ -0,0 +1,348 @@ +#!/usr/bin/perl +# +# AST_sourceID_summary_export.pl version: 2.0.5 +# +# This script is designed to gather stats for all leads by source_id and +# post them to a directory +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 70905-1409 - First version +# 71005-0054 - Altered script to use astguiclient.conf for settings +# + +$txt = '.txt'; +$US = '_'; +$MT[0] = ''; + +# Default FTP account variables +$VARREPORT_host = '10.0.0.4'; +$VARREPORT_user = 'cron'; +$VARREPORT_pass = 'test'; +$VARREPORT_port = '21'; +$VARREPORT_dir = 'REPORTS'; + +# default CLI values +$sale_statuses = 'SALE-UPSELL'; +$ni_statuses = 'NI'; +$np_statuses = 'NP'; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n"; + print " [--sale-statuses=XXX-XXY] = Statuses that are deemed to be \"Sales\". Default SALE\n"; + print " [--NI-statuses=XXX-XXY] = Statuses that are deemed to be \"Not Interested\". Default NI\n"; + print " [--NP-statuses=XXX-XXY] = Statuses that are deemed to be \"No Pitch\". Default NP\n"; + print " [--ignore-lists=XXX-XXY] = lists that should be ignored in summary\n"; + print " [--ftp-transfer] = Send results file by FTP to another server\n"; + print " [-q] = quiet\n"; + print " [-t] = test\n"; + print " [--debug] = debugging messages\n"; + print " [--debugX] = Super debugging messages\n"; + print "\n"; + + exit; + } + else + { + if ($args =~ /--debug/i) + { + $DB=1; + print "\n----- DEBUG MODE -----\n\n"; + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n----- SUPER DEBUG MODE -----\n\n"; + } + if ($args =~ /-q/i) + { + $q=1; $Q=1; + } + if ($args =~ /--sale-statuses=/i) + { + @data_in = split(/--sale-statuses=/,$args); + $sale_statuses = $data_in[1]; + $sale_statuses =~ s/ .*$//gi; + } + if ($args =~ /--NI-statuses=/) + { + @data_in = split(/--NI-statuses=/,$args); + $ni_statuses = $data_in[1]; + $ni_statuses =~ s/ .*$//gi; + } + if ($args =~ /--NP-statuses=/) + { + @data_in = split(/--NP-statuses=/,$args); + $np_statuses = $data_in[1]; + $np_statuses =~ s/ .*$//gi; + } + if ($args =~ /--ignore-lists=/) + { + @data_in = split(/--ignore-lists=/,$args); + $ignore_lists = $data_in[1]; + $ignore_lists =~ s/ .*$//gi; + } + if ($args =~ /-ftp-transfer/i) + { + if (!$Q) + {print "\n----- FTP TRANSFER MODE -----\n\n";} + $ftp_transfer=1; + } + if ($args =~ /--test/i) + { + $T=1; $TEST=1; + print "\n----- TESTING -----\n\n"; + } + } +} +else +{ +print "no command line options set, using defaults.\n"; +} +### end parsing run-time options ### + + +$secX = time(); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + +# # rerun override - Use this to override the day manually +# $year='2007'; +# $mon='5'; +# $mday='18'; + + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $timestamp = "$year-$mon-$mday $hour:$min:$sec"; + $filedate = "$year$mon$mday"; + $ABIfiledate = "$mon-$mday-$year$us$hour$min$sec"; + $shipdate = "$year-$mon-$mday"; + $datestamp = "$year/$mon/$mday $hour:$min"; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_host/) && ($CLIREPORT_host < 1) ) + {$VARREPORT_host = $line; $VARREPORT_host =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_user/) && ($CLIREPORT_user < 1) ) + {$VARREPORT_user = $line; $VARREPORT_user =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_pass/) && ($CLIREPORT_pass < 1) ) + {$VARREPORT_pass = $line; $VARREPORT_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_port/) && ($CLIREPORT_port < 1) ) + {$VARREPORT_port = $line; $VARREPORT_port =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_dir/) && ($CLIREPORT_dir < 1) ) + {$VARREPORT_dir = $line; $VARREPORT_dir =~ s/.*=//gi;} + + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + + $sale_statusesSQL = $sale_statuses; + $sale_statusesSQL =~ s/-/','/gi; + $sale_statusesSQL = "'$sale_statusesSQL'"; + $ni_statusesSQL = $ni_statuses; + $ni_statusesSQL =~ s/-/','/gi; + $ni_statusesSQL = "'$ni_statusesSQL'"; + $np_statusesSQL = $np_statuses; + $np_statusesSQL =~ s/-/','/gi; + $np_statusesSQL = "'$np_statusesSQL'"; + $ignore_listsSQL = $ignore_lists; + $ignore_listsSQL =~ s/-/','/gi; + $ignore_listsSQL = "'$ignore_listsSQL'"; + +if (!$Q) + { + print "\n\n\n\n\n\n\n\n\n\n\n\n-- AST_sourceID_summary_export.pl --\n\n"; + print "This program is designed to generate a summary report of sourceIDs for VICIDIAL outbound-only campaign and post them to a file. \n"; + print "\n"; + print "Sale Statuses: $sale_statuses $sale_statusesSQL\n"; + print "NI Statuses: $ni_statuses $ni_statusesSQL\n"; + print "NP Statuses: $np_statuses $np_statusesSQL\n"; + print "Ignore Lists: $ignore_lists $ignore_listsSQL\n"; + print "\n"; + } + +$outfile = "SOURCEID_SUMMARY$filedate$txt"; + +### open the X out file for writing ### +open(out, ">$PATHweb/vicidial/server_reports/$outfile") + || die "Can't open $outfile: $!\n"; + +if (!$VARDB_port) {$VARDB_port='3306';} + + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +$dbhB = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +$w=0; + + +########################################################################### +########### SALES TOTAL IN SYSTEM BY SOURCE_ID vicidial_list ###### +########################################################################### +$stmtA = "select source_id,count(*) from vicidial_list where status IN($sale_statusesSQL) and list_id NOT IN($ignore_listsSQL) group by source_id order by source_id;"; +if ($DB) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $source_id = $aryA[0]; + $count = $aryA[1]; + + print out "ALL_SALES|$source_id|$count\r\n"; + if ($DBX) {print "$rec_count|ALL_SALES|$source_id|$count|\n";} + $rec_count++; $w++; + } +$sthA->finish(); + + +########################################################################### +########### NI TOTAL IN SYSTEM BY SOURCE_ID vicidial_list ###### +########################################################################### +$stmtA = "select source_id,count(*) from vicidial_list where status IN($ni_statusesSQL) and list_id NOT IN($ignore_listsSQL) group by source_id order by source_id;"; +if ($DB) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $source_id = $aryA[0]; + $count = $aryA[1]; + + print out "NOT_INTR|$source_id|$count\r\n"; + if ($DBX) {print "$rec_count|NOT_INTR|$source_id|$count|\n";} + $rec_count++; $w++; + } +$sthA->finish(); + + +########################################################################### +########### NP TOTAL IN SYSTEM BY SOURCE_ID vicidial_list ###### +########################################################################### +$stmtA = "select source_id,count(*) from vicidial_list where status IN($np_statusesSQL) and list_id NOT IN($ignore_listsSQL) group by source_id order by source_id;"; +if ($DB) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $source_id = $aryA[0]; + $count = $aryA[1]; + + print out "B6_NO_PTCH|$source_id|$count\r\n"; + if ($DBX) {print "$rec_count|B6_NO_PTCH|$source_id|$count|\n";} + $rec_count++; $w++; + } +$sthA->finish(); + + +########################################################################### +########### ALL TOTAL IN SYSTEM BY SOURCE_ID vicidial_list ###### +########################################################################### +$stmtA = "select source_id,count(*) from vicidial_list where list_id NOT IN($ignore_listsSQL) group by source_id order by source_id;"; +if ($DB) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $source_id = $aryA[0]; + $count = $aryA[1]; + + print out "RECD_COUNT|$source_id|$count\r\n"; + if ($DBX) {print "$rec_count|RECD_COUNT|$source_id|$count|\n";} + $rec_count++; $w++; + } +$sthA->finish(); + +close(out); + + +if ($ftp_transfer > 0) +{ + use Net::FTP; + + if (!$Q) {print "Sending File Over FTP: $outfile\n";} + $ftp = Net::FTP->new("$VARREPORT_host", Port => $VARREPORT_port); + $ftp->login("$VARREPORT_user","$VARREPORT_pass"); + $ftp->cwd("$VARREPORT_dir"); + $ftp->put("$PATHweb/vicidial/server_reports/$outfile", "$outfile"); + $ftp->quit; +} + +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secX); +$secZm = ($secZ /60); + +if (!$Q) {print "SOURCEID EXPORT FOR $timestamp: $outfile\n";} +if (!$Q) {print "TOTAL RECORDS IN FILE: $w\n";} +if (!$Q) {print "script execution time in seconds: $secZ minutes: $secZm\n";} + +exit; + + diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_update.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_update.pl new file mode 100644 index 00000000..0cc8dc16 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_update.pl @@ -0,0 +1,1300 @@ +#!/usr/bin/perl +# +# AST_update.pl version 2.0.5 *DBI-version* +# +# DESCRIPTION: +# uses the Asterisk Manager interface and Net::MySQL to update the live_channels +# tables and verify the parked_channels table in the asterisk MySQL database +# This "near-live-status of Zap/SIP/Local/IAX channels" list is used by clients +# +# SUMMARY: +# This program was designed for people using the Asterisk PBX with Digium +# Zaptel telco cards and SIP VOIP hardphones or softphones as extensions, it +# could be adapted to other functions, but I designed it specifically for +# Zap/IAX2/SIP users. The program will run on UNIX or Win32 command line +# providing the following criteria are met: +# +# Win32 - ActiveState Perl 5.8.0 +# UNIX - Gnome or KDE with Tk/Tcl and perl Tk/Tcl modules loaded +# Both - Net::MySQL, Net::Telnet and Time::HiRes perl modules loaded +# +# For the client program to work, this program must always be running +# +# For this program to work you need to have the "asterisk" MySQL database +# created and create the tables listed in the MySQL_AST_CREATE_tables.sql file, +# also make sure that the machine running this program has select/insert/update/delete +# access to that database +# +# In your Asterisk server setup you also need to have several things activated +# and defined. See the CONF_Asterisk.txt file for details +# +# It is recommended that you run this program on the local Asterisk machine +# +# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# +# version changes: +# 41228-1659 - modified to compensate for manager output response hiccups +# 50107-1611 - modified to add Zap and IAX2 clients (differentiate from trunks) +# 50117-1537 - modified to add MySQL port ($DB_port) var from conf file +# 50303-0958 - modified to compensate for Zap manager output hiccups +# 50406-1320 - added channel_data to live_channels table for more flexibility +# also added Zap/IAX client check every 100 loop instead of only once +# 50509-1047 - added collection of server_performance data with SYSPERF flag +# 50621-1307 - modified to allow for SIP trunks +# 50810-1601 - Added database server variable definitions lookup +# 50823-1625 - Altered Debug vars and initial CVS/1.2 support for changed output +# 50824-1606 - Altered CVS/1.2 support for "show channels concise" output +# 50829-1134 - Added processor percentage usage to stat collection +# 51229-1355 - Added ability to take ! as delimited for 1.2 show channels concise +# 60117-1202 - Changed IAX2 client phone channel to reflect change to '-' iteration +# 60411-1032 - Fixed bug in test section that caused crash with ** in extension +# 60807-1605 - Changed to DBI +# 60808-1005 - changed to use /etc/astguiclient.conf for configs +# 60808-1500 - Fixed another bug in that caused crash with ** in extension +# 60814-1523 - SYSLOG and SYSPERF looked up from database, dynamic settings +# 60926-1601 - validate proper binutil locations for performance gathering +# 61130-1008 - defaults show_channels_format to 1 for non 1.0 version Asterisk +# 61227-1659 - added "core show channels concise" for Asterisk 1.4 compatibility +# 80111-1850 - fixed server_updater record missing bug +# 90307-1932 - Added servers table stats updating, reformatted code to match standard +# + +$build = '90307-1932'; + +# constants +$SYSPERF=0; # system performance logging to MySQL server_performance table every 5 seconds +$SYSPERF_rec=0; # is dial-time recording turned on +$SYSLOG=0; # set to 1 to write log to a file +$DB=0; # Debug flag, set to 1 for debug messages WARNING LOTS OF OUTPUT!!! +$DBX=0; # Debug flag, set to 1 for debug messages WARNING LOTS OF OUTPUT!!! +$US='__'; +$AMP='@'; +$MT[0]=''; +$cpuUSERprev=0; +$cpuSYSTprev=0; +$cpuIDLEprev=0; + +# find proper locations of bin utils + +# cat +$bincat = "/usr/bin/cat"; +if (-e "/usr/local/bin/cat") + {$bincat = "/usr/local/bin/cat";} +else + { + if (-e "/bin/cat") + {$bincat = "/bin/cat";} + } + +# free +$binfree = "/usr/bin/free"; +if (-e "/usr/local/bin/free") + {$binfree = "/usr/local/bin/free";} +else + { + if (-e "/bin/free") + {$binfree = "/bin/free";} + } + +# ps +$binps = "/bin/ps"; +if (-e "/usr/local/bin/ps") + {$binps = "/usr/local/bin/ps";} +else + { + if (-e "/usr/bin/ps") + {$binps = "/usr/bin/ps";} + } + +### find df binary +$dfbin = ''; +if ( -e ('/bin/df')) {$dfbin = '/bin/df';} +else + { + if ( -e ('/usr/bin/df')) {$dfbin = '/usr/bin/df';} + else + { + if ( -e ('/usr/local/bin/df')) {$dfbin = '/usr/local/bin/df';} + else + { + print "Can't find df binary! Exiting...\n"; + } + } + } + + +# DB table variables for testing + $parked_channels = 'parked_channels'; + $live_channels = 'live_channels'; + $live_sip_channels = 'live_sip_channels'; + $server_updater = 'server_updater'; +# $parked_channels = 'TEST_parked_channels'; +# $live_channels = 'TEST_live_channels'; +# $live_sip_channels = 'TEST_live_sip_channels'; +# $server_updater = 'TEST_server_updater'; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) + { + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-t] = test\n [-sysperf] = system performance logging\n [-sysperfdebug] = system performance debug output\n [-debug] = verbose debug messages\n [-debugX] = Extra-verbose debug messages\n\n"; + exit; + } + else + { + if ($args =~ /-sysperf/i) + { + $SYSPERF=1; # System performance logging flag + } + if ($args =~ /-sysperfdebug/i) + { + $SYSPERFDB=1; # prints system performance data out to STDOUT + } + if ($args =~ /-debug/i) + { + $DB=1; # Debug flag + } + if ($args =~ /--debugX/i) + { + $DB=1; + $DBX=1; + print "\n----- SUPER-DUPER DEBUGGING -----\nBUILD: $build\n"; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } + } +else + { + # print "no command line options set\n"; + } +### end parsing run-time options ### + + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + + &get_time_now; + +if (!$UPLOGfile) {$UPLOGfile = "$PATHlogs/update.$year-$mon-$mday";} +if (!$VARDB_port) {$VARDB_port='3306';} + + $event_string='PROGRAM STARTED||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||'; + &event_logger; + +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use Net::Telnet (); +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + $event_string='LOGGED INTO MYSQL SERVER ON 1 CONNECTION|'; + &event_logger; + +### Grab Server values from the database +$stmtA = "SELECT telnet_host,telnet_port,ASTmgrUSERNAME,ASTmgrSECRET,ASTmgrUSERNAMEupdate,ASTmgrUSERNAMElisten,ASTmgrUSERNAMEsend,max_vicidial_trunks,answer_transfer_agent,local_gmt,ext_context,asterisk_version,sys_perf_log,vd_server_logs FROM servers where server_ip = '$server_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBtelnet_host = "$aryA[0]"; + $DBtelnet_port = "$aryA[1]"; + $DBASTmgrUSERNAME = "$aryA[2]"; + $DBASTmgrSECRET = "$aryA[3]"; + $DBASTmgrUSERNAMEupdate = "$aryA[4]"; + $DBASTmgrUSERNAMElisten = "$aryA[5]"; + $DBASTmgrUSERNAMEsend = "$aryA[6]"; + $DBmax_vicidial_trunks = "$aryA[7]"; + $DBanswer_transfer_agent= "$aryA[8]"; + $DBSERVER_GMT = "$aryA[9]"; + $DBext_context = "$aryA[10]"; + $DBasterisk_version = "$aryA[11]"; + $DBsys_perf_log = "$aryA[12]"; + $DBvd_server_logs = "$aryA[13]"; + if ($DBtelnet_host) {$telnet_host = $DBtelnet_host;} + if ($DBtelnet_port) {$telnet_port = $DBtelnet_port;} + if ($DBASTmgrUSERNAME) {$ASTmgrUSERNAME = $DBASTmgrUSERNAME;} + if ($DBASTmgrSECRET) {$ASTmgrSECRET = $DBASTmgrSECRET;} + if ($DBASTmgrUSERNAMEupdate) {$ASTmgrUSERNAMEupdate = $DBASTmgrUSERNAMEupdate;} + if ($DBASTmgrUSERNAMElisten) {$ASTmgrUSERNAMElisten = $DBASTmgrUSERNAMElisten;} + if ($DBASTmgrUSERNAMEsend) {$ASTmgrUSERNAMEsend = $DBASTmgrUSERNAMEsend;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBext_context) {$ext_context = $DBext_context;} + if ($DBasterisk_version) {$AST_ver = $DBasterisk_version;} + if ($DBsys_perf_log =~ /Y/) {$SYSPERF = '1';} + if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';} + $rec_count++; + } +$sthA->finish(); + +$show_channels_format = 1; +if ($AST_ver =~ /^1\.0/i) {$show_channels_format = 0;} +if ($AST_ver =~ /^1\.4/i) {$show_channels_format = 2;} +print STDERR "SHOW CHANNELS format: $show_channels_format\n"; + + +##### Check for a server_updater record, and if not present, insert one +$SUrec=0; +$stmtA = "SELECT count(*) FROM $server_updater where server_ip = '$server_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +@aryA = $sthA->fetchrow_array; +$SUrec = $aryA[0]; +$sthA->finish(); + if($DB){print STDERR "\n|$SUrec|$stmtA|\n";} + +if ($SUrec < 1) + { + &get_time_now; + + $stmtU = "INSERT INTO $server_updater set server_ip='$server_ip', last_update='$now_date';"; + if($DB){print STDERR "\n|$stmtU|\n";} + $affected_rows = $dbhA->do($stmtU); + } + + +##### LOOK FOR ZAP CLIENTS AS DEFINED IN THE phones TABLE SO THEY ARE NOT MISLABELED AS TRUNKS +print STDERR "LOOKING FOR Zap clients assigned to this server:\n"; +$Zap_client_count=0; +$Zap_client_list='|'; +$stmtA = "SELECT extension FROM phones where protocol = 'Zap' and server_ip='$server_ip'"; +if($DB){print STDERR "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + print STDERR $aryA[0],"\n"; + $Zap_client_list .= "$aryA[0]|"; + $Zap_client_count++; + $rec_count++; + } +$sthA->finish(); + +##### LOOK FOR IAX2 CLIENTS AS DEFINED IN THE phones TABLE SO THEY ARE NOT MISLABELED AS TRUNKS +print STDERR "LOOKING FOR IAX2 clients assigned to this server:\n"; +$IAX2_client_count=0; +$IAX2_client_list='|'; +$stmtA = "SELECT extension FROM phones where protocol = 'IAX2' and server_ip='$server_ip'"; +if($DB){print STDERR "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + print STDERR $aryA[0],"\n"; + $IAX2_client_list .= "$aryA[0]|"; + if ($aryA[0] !~ /\@/) + {$IAX2_client_list .= "$aryA[0]$AMP$aryA[0]|";} + else + { + $IAX_user = $aryA[0]; + $IAX_user =~ s/\@.*$//gi; + $IAX2_client_list .= "$IAX_user|"; + } + $IAX2_client_count++; + $rec_count++; + } +$sthA->finish(); + + +##### LOOK FOR SIP CLIENTS AS DEFINED IN THE phones TABLE SO THEY ARE NOT MISLABELED AS TRUNKS +print STDERR "LOOKING FOR SIP clients assigned to this server:\n"; +$SIP_client_count=0; +$SIP_client_list='|'; +$stmtA = "SELECT extension FROM phones where protocol = 'SIP' and server_ip='$server_ip'"; +if($DB){print STDERR "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + print STDERR $aryA[0],"\n"; + $SIP_client_list .= "$aryA[0]|"; + if ($aryA[0] !~ /\@/) + {$SIP_client_list .= "$aryA[0]$AMP$aryA[0]|";} + else + { + $SIP_user = $aryA[0]; + $SIP_user =~ s/\@.*$//gi; + $SIP_client_list .= "$SIP_user|"; + } + $SIP_client_count++; + $rec_count++; + } +$sthA->finish(); + +print STDERR "Zap Clients: $Zap_client_list\n"; +print STDERR "IAX2 Clients: $IAX2_client_list\n"; +print STDERR "SIP Clients: $SIP_client_list\n"; + +$one_day_interval = 12; # 2 hour loops for one day +while($one_day_interval > 0) + { + $event_string="STARTING NEW MANAGER TELNET CONNECTION||ATTEMPT|ONE DAY INTERVAL:$one_day_interval|"; + &event_logger; + + if (!$telnet_port) {$telnet_port = '5038';} + + ### connect to asterisk manager through telnet + $t = new Net::Telnet (Port => $telnet_port, + Prompt => '/.*[\$%#>] $/', + Output_record_separator => '',); + #$fh = $t->dump_log("$telnetlog"); # uncomment for telnet log + if (length($ASTmgrUSERNAMEupdate) > 3) {$telnet_login = $ASTmgrUSERNAMEupdate;} + else {$telnet_login = $ASTmgrUSERNAME;} + $t->open("$telnet_host"); + $t->waitfor('/[01]\n$/'); # print login + $t->print("Action: Login\nUsername: $telnet_login\nSecret: $ASTmgrSECRET\n\n"); + $t->waitfor('/Authentication accepted/'); # waitfor auth accepted + + $event_string="STARTING NEW MANAGER TELNET CONNECTION|$telnet_login|CONFIRMED CONNECTION|ONE DAY INTERVAL:$one_day_interval|"; + &event_logger; + + $gather_stats_first=1; + $endless_loop=5769999; # 30 days minutes at .45 seconds per loop + + while($endless_loop > 0) + { + @DBchannels=@MT; + @DBsips=@MT; + @list_channels=@MT; + @test_channels=@MT; + + &get_current_channels; + + &validate_parked_channels; + + $t->buffer_empty; + if ($show_channels_format < 1) + { + @list_channels = $t->cmd(String => "Action: Command\nCommand: show channels\n\n", Prompt => '/--END COMMAND-.*/'); + } + if ($show_channels_format == 1) + { + @list_channels = $t->cmd(String => "Action: Command\nCommand: show channels concise\n\n", Prompt => '/--END COMMAND-.*/'); + } + if ($show_channels_format > 1) + { + @list_channels = $t->cmd(String => "Action: Command\nCommand: core show channels concise\n\n", Prompt => '/--END COMMAND-.*/'); + } + + ##### TEST CHANNELS ZAP/IAX2/Local TO SEE IF THERE WAS A LARGE HICCUP IN OUTPUT FROM PREVIOUS OUTPUT + @test_channels=@list_channels; + $test_zap_count=0; + $test_iax_count=0; + $test_local_count=0; + $test_sip_count=0; + $s=0; + foreach(@test_channels) + { + chomp($test_channels[$s]); + if($DBX){print "$s|$test_channels[$s]\n";} + $test_channels[$s] =~ s/Congestion\s+\(Empty\)/ SIP\/CONGEST/gi; + $test_channels[$s] =~ s/\(Outgoing Line\)|\(None\)/SIP\/ring/gi; + $test_channels[$s] =~ s/\(Empty\)/SIP\/internal/gi; + if (!$show_channels_format) + { + $test_channels[$s] =~ s/^\s*|\s*$//gi; + $test_channels[$s] =~ s/\(.*\)//gi; + } + else + { + $EXcount = 0; + $EXcount = @{[$test_channels[$s] =~ /\!/g]}; + if ($EXcount > 10) + { + @test_chan_12 = split(/\!/, $test_channels[$s]); + } + else + { + @test_chan_12 = split(/:/, $test_channels[$s]); + } + # @test_chan_12 = split(/:/, $test_channels[$s]); + if (length($test_chan_12[6])<2) {$test_chan_12[6] = 'SIP/ring';} + $test_channels[$s] = "$test_chan_12[0] $test_chan_12[6]"; + } + if ($test_channels[$s] =~ /^Zap|^IAX2|^SIP|^Local/) + { + if ($test_channels[$s] =~ /^(\S+)\s+.+\s+(\S+)$/) + { + $channel = $1; + $extension = $2; + if ($show_channels_format) + {$extension =~ s/^.*\(|\).*$//gi;} + $extension =~ s/^SIP\/|-\S+$//gi; + $extension =~ s/\|.*//gi; + if ($channel =~ /^SIP/) {$test_sip_count++;} + if ($channel =~ /^Local/) {$test_local_count++;} + if ($IAX2_client_count) + { + $channel_match=$channel; + $channel_match =~ s/\/\d+$|-\d+$//gi; + $channel_match =~ s/^IAX2\///gi; + $channel_match =~ s/\*/\\\*/gi; + if ($IAX2_client_list =~ /\|$channel_match\|/i) {$test_iax_count++;} + } + if ($Zap_client_count) + { + $channel_match=$channel; + $channel_match =~ s/^Zap\///gi; + $channel_match =~ s/\*/\\\*/gi; + if ($Zap_client_list =~ /\|$channel_match\|/i) {$test_zap_count++;} + } + } + } + $s++; + } + + + + # $DB_live_lines = ($#DBchannels + $#DBsips); + $DB_live_lines = ($channel_counter + $sip_counter); + if ( (!$DB_live_lines) or ($#list_channels < 2) ) + {$PERCENT_static = 0;} + else + { + $PERCENT_static = ( ($#list_channels / $DB_live_lines) * 100); + $PERCENT_static = sprintf("%6.2f", $PERCENT_static); + } + + if ( (!$test_zap_count) or ($zap_client_counter < 2) ) + {$PERCENT_ZC_static = 0;} + else + { + $PERCENT_ZC_static = ( ($test_zap_count / $zap_client_counter) * 100); + $PERCENT_ZC_static = sprintf("%6.2f", $PERCENT_ZC_static); + } + + if ( (!$test_iax_count) or ($iax_client_counter < 2) ) + {$PERCENT_IC_static = 0;} + else + { + $PERCENT_IC_static = ( ($test_iax_count / $iax_client_counter) * 100); + $PERCENT_IC_static = sprintf("%6.2f", $PERCENT_IC_static); + } + + if ( (!$test_local_count) or ($local_client_counter < 2) ) + {$PERCENT_LC_static = 0;} + else + { + $PERCENT_LC_static = ( ($test_local_count / $local_client_counter) * 100); + $PERCENT_LC_static = sprintf("%6.2f", $PERCENT_LC_static); + } + + if ( (!$test_sip_count) or ($sip_client_counter < 2) ) + {$PERCENT_SC_static = 0;} + else + { + $PERCENT_SC_static = ( ($test_sip_count / $sip_client_counter) * 100); + $PERCENT_SC_static = sprintf("%6.2f", $PERCENT_SC_static); + } + + if ($endless_loop =~ /0$/) + {print "-$now_date $PERCENT_static $#list_channels $#DBchannels:$channel_counter $#DBsips:$sip_counter $PERCENT_ZC_static|$test_zap_count:$zap_client_counter $PERCENT_IC_static|$test_iax_count:$iax_client_counter $PERCENT_LC_static|$test_local_count:$local_client_counter $PERCENT_SC_static|$test_sip_count:$sip_client_counter\n";} + + if ( ( ($PERCENT_static < 10) && ( ($channel_counter > 3) or ($sip_counter > 4) ) ) or + ( ($PERCENT_static < 20) && ( ($channel_counter > 10) or ($sip_counter > 10) ) ) or + ( ($PERCENT_static < 30) && ( ($channel_counter > 20) or ($sip_counter > 20) ) ) or + ( ($PERCENT_static < 40) && ( ($channel_counter > 30) or ($sip_counter > 30) ) ) or + ( ($PERCENT_static < 50) && ( ($channel_counter > 40) or ($sip_counter > 40) ) ) or + ( ($PERCENT_ZC_static < 20) && ( $zap_client_counter > 3 ) ) or + ( ($PERCENT_ZC_static < 40) && ( $zap_client_counter > 9 ) ) or + ( ($PERCENT_IC_static < 20) && ( $iax_client_counter > 3 ) ) or + ( ($PERCENT_IC_static < 40) && ( $iax_client_counter > 9 ) ) or + ( ($PERCENT_SC_static < 20) && ( $sip_client_counter > 3 ) ) or + ( ($PERCENT_SC_static < 40) && ( $sip_client_counter > 9 ) ) ) + { + $UD_bad_grab++; + $event_string="------ UPDATER BAD GRAB!!! UBGcount: $UD_bad_grab\n $PERCENT_static $#list_channels $#DBchannels:$channel_counter $#DBsips:$sip_counter $PERCENT_ZC_static|$test_zap_count:$zap_client_counter $PERCENT_IC_static|$test_iax_count:$iax_client_counter $PERCENT_LC_static|$test_local_count:$local_client_counter $PERCENT_SC_static|$test_sip_count:$sip_client_counter\n"; + print "$event_string\n"; + &event_logger; + if ($UD_bad_grab > 20) {$UD_bad_grab=0;} + } + else + { + $UD_bad_grab=0; + if ( ( ($endless_loop =~ /0$/) && ($SYSPERF) ) || ($endless_loop =~ /00$/) || ($gather_stats_first >= 1) ) + { + $cpuUSERcent=0; $cpuSYSTcent=0; $cpuIDLEcent=0; + ### get processor usage seconds ### + # cpu 924841 211725 270473 6961811 + @cpuUSE = `$bincat /proc/stat`; + if ($cpuUSE[0] =~ /cpu\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/) + { + $cpuUSER = ($1 + $2); + $cpuSYST = $3; + $cpuIDLE = $4; + $cpuUSERdiff = ($cpuUSER - $cpuUSERprev); + $cpuSYSTdiff = ($cpuSYST - $cpuSYSTprev); + $cpuIDLEdiff = ($cpuIDLE - $cpuIDLEprev); + $cpuIDLEdiffTOTAL = (($cpuUSERdiff + $cpuSYSTdiff) + $cpuIDLEdiff); + if ($cpuIDLEdiffTOTAL > 0) + { + $cpuUSERcent = sprintf("%.0f", (($cpuUSERdiff / $cpuIDLEdiffTOTAL) * 100)); + $cpuSYSTcent = sprintf("%.0f", (($cpuSYSTdiff / $cpuIDLEdiffTOTAL) * 100)); + $cpuIDLEcent = sprintf("%.0f", (($cpuIDLEdiff / $cpuIDLEdiffTOTAL) * 100)); + } + $cpuUSERprev=$cpuUSER; + $cpuSYSTprev=$cpuSYST; + $cpuIDLEprev=$cpuIDLE; + } + + ### get system load ### + $serverLOAD = `$bincat /proc/loadavg`; + $serverLOAD =~ s/ .*//gi; + $serverLOAD =~ s/\D//gi; + + ### get memory usage ### + @GRABserverMEMORY = `$binfree -m -t`; + if ($GRABserverMEMORY[1] =~ /Mem:\s+(\d+)\s+(\d+)\s+(\d+)\s+/) + { + $MEMused = $2; + $MEMfree = $3; + } + ### get number of system processes ### + @GRABserverPROCESSES = `$binps -A --no-heading`; + $serverPROCESSES = $#GRABserverPROCESSES; + + if ($SYSPERF_rec) {$recording_count = ($test_local_count / 2)} + else {$recording_count=0;} + + if ($SYSPERF) + { + if ($SYSPERFDB) + {print "$serverLOAD $MEMfree $MEMused $serverPROCESSES $#list_channels $cpuUSERcent $cpuSYSTcent $cpuIDLEcent\n";} + + $stmtA = "INSERT INTO server_performance (start_time,server_ip,sysload,freeram,usedram,processes,channels_total,trunks_total,clients_total,clients_zap,clients_iax,clients_local,clients_sip,live_recordings,cpu_user_percent,cpu_system_percent,cpu_idle_percent) values('$now_date','$server_ip','$serverLOAD','$MEMfree','$MEMused','$serverPROCESSES','$#list_channels','$channel_counter','$sip_counter','$test_zap_count','$test_iax_count','$test_local_count','$test_sip_count','$recording_count','$cpuUSERcent','$cpuSYSTcent','$cpuIDLEcent')"; + if( ($DB) or ($UD_bad_grab) ){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA) or die "Couldn't execute query: |$stmtA|\n"; + } + if ( ($endless_loop =~ /00$/) || ($gather_stats_first >= 1) ) + { + ### get disk space usage ### + $disk_usage=''; + @serverDISK = `$dfbin -B 1048576`; + #Filesystem 1M-blocks Used Available Use% Mounted on + #/dev/sda1 30030 6867 21613 0% / + + $gather_stats_first=0; + $channels_total=0; + if ($#list_channels > 0) + {$channels_total = ($#list_channels - 1);} + $ct=0; $ct_PCT=0; + foreach(@serverDISK) + { + if ($serverDISK[$ct] =~ /(\d+\%)/) + { + $ct_PCT++; + $usage = $1; + $usage =~ s/\%//gi; + $disk_usage .= "$ct_PCT $usage|"; + } + $ct++; + } + + $stmtA = "UPDATE servers SET sysload='$serverLOAD',channels_total='$channels_total',cpu_idle_percent='$cpuIDLEcent',disk_usage='$disk_usage' where server_ip='$server_ip';"; + if( ($DB) or ($UD_bad_grab) ){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA) or die "Couldn't execute query: |$stmtA|\n"; + } + } + } + + if ($endless_loop =~ /00$/) + { + ##### LOOK FOR ZAP CLIENTS AS DEFINED IN THE phones TABLE SO THEY ARE NOT MISLABELED AS TRUNKS + print STDERR "LOOKING FOR Zap clients assigned to this server:\n"; + $Zap_client_count=0; + $Zap_client_list='|'; + $stmtA = "SELECT extension FROM phones where protocol = 'Zap' and server_ip='$server_ip'"; + if($DB){print STDERR "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + print STDERR $aryA[0],"\n"; + $Zap_client_list .= "$aryA[0]|"; + $Zap_client_count++; + $rec_count++; + } + $sthA->finish(); + + ##### LOOK FOR IAX2 CLIENTS AS DEFINED IN THE phones TABLE SO THEY ARE NOT MISLABELED AS TRUNKS + print STDERR "LOOKING FOR IAX2 clients assigned to this server:\n"; + $IAX2_client_count=0; + $IAX2_client_list='|'; + $stmtA = "SELECT extension FROM phones where protocol = 'IAX2' and server_ip='$server_ip'"; + if($DB){print STDERR "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + print STDERR $aryA[0],"\n"; + $IAX2_client_list .= "$aryA[0]|"; + if ($aryA[0] !~ /\@/) + {$IAX2_client_list .= "$aryA[0]$AMP$aryA[0]|";} + else + { + $IAX_user = $aryA[0]; + $IAX_user =~ s/\@.*$//gi; + $IAX2_client_list .= "$IAX_user|"; + } + $IAX2_client_count++; + $rec_count++; + } + $sthA->finish(); + + ##### LOOK FOR SIP CLIENTS AS DEFINED IN THE phones TABLE SO THEY ARE NOT MISLABELED AS TRUNKS + print STDERR "LOOKING FOR SIP clients assigned to this server:\n"; + $SIP_client_count=0; + $SIP_client_list='|'; + $stmtA = "SELECT extension FROM phones where protocol = 'SIP' and server_ip='$server_ip'"; + if($DB){print STDERR "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + print STDERR $aryA[0],"\n"; + $SIP_client_list .= "$aryA[0]|"; + if ($aryA[0] !~ /\@/) + {$SIP_client_list .= "$aryA[0]$AMP$aryA[0]|";} + else + { + $SIP_user = $aryA[0]; + $SIP_user =~ s/\@.*$//gi; + $SIP_client_list .= "$SIP_user|"; + } + $SIP_client_count++; + $rec_count++; + } + $sthA->finish(); + + print STDERR "Zap Clients: $Zap_client_list\n"; + print STDERR "IAX2 Clients: $IAX2_client_list\n"; + print STDERR "SIP Clients: $SIP_client_list\n"; + ### Grab Server values from the database + $stmtA = "SELECT sys_perf_log,vd_server_logs FROM servers where server_ip = '$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBsys_perf_log = "$aryA[0]"; + $DBvd_server_logs = "$aryA[1]"; + if ($DBsys_perf_log =~ /Y/) {$SYSPERF = '1';} + else {$SYSPERF = '0';} + if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';} + else {$SYSLOG = '0';} + $rec_count++; + } + $sthA->finish(); + if ($SYSPERFDB) + {print "SYSPERF RELOAD: $DBsys_perf_log:$SYSPERF|$DBvd_server_logs:$SYSLOG\n";} + } + + @list_chan_12=@MT; + $EXcount = 0; + $EXcount = @{[$list_channels[2] =~ /\!/g]}; + if ($EXcount > 10) + { + @list_chan_12 = split(/\!/, $list_channels[2]); + } + else + { + @list_chan_12 = split(/:/, $list_channels[2]); + } + if( ($DB) && ($show_channels_format) ) + {print "concise: $#list_chan_12 loop: $endless_loop\n";} + if ( ( ( ($list_channels[1] =~ /State Appl\./) or ($list_channels[2] =~ /State Appl\.|Application\(Data\)/) or ($list_channels[3] =~ /State Appl\.|Application\(Data\)/) ) || ($#list_chan_12 > 8) ) && (!$UD_bad_grab) ) + { + + $c=0; + if($DB){print "lines: $#list_channels\n";} + if($DB){print "DBchn: $#DBchannels\n";} + if($DB){print "DBsip: $#DBsips\n";} + foreach(@list_channels) + { + # $DBchannels =~ s/^\|//g; + + chomp($list_channels[$c]); + if( ($DB) or ($UD_bad_grab) ){print "-|$c|$list_channels[$c]|\n";} + $list_channels[$c] =~ s/Congestion\s+\(Empty\)/ SIP\/CONGEST/gi; + $list_channels[$c] =~ s/\(Outgoing Line\)|\(None\)/SIP\/ring/gi; + $list_channels[$c] =~ s/\(Empty\)/SIP\/internal/gi; + if (!$show_channels_format) + { + $list_channels[$c] =~ s/^\s*|\s*$//gi; + $list_channels[$c] =~ s/\(.*\)//gi; + } + else + { + @list_chan_12=@MT; + if ($EXcount > 10) + { + @list_chan_12 = split(/\!/, $list_channels[$c]); + } + else + { + @list_chan_12 = split(/:/, $list_channels[$c]); + } + if ($DBX) {print "EXcount: $EXcount\n";} + if (length($list_chan_12[6])<2) {$list_chan_12[6] = 'SIP/ring';} + $list_channels[$c] = "$list_chan_12[0] $list_chan_12[6]"; + } + $list_SIP[$c] = $list_channels[$c]; + if( ($DB) or ($UD_bad_grab) ){print "+|$c|$list_channels[$c]|\n\n";} + + ########## PARSE EACH LINE TO DETERMINE WHETHER IT IS TRUNK OR CLIENT AND PUT IN APPROPRIATE TABLE + if ($list_channels[$c] =~ /^Zap|^IAX2|^SIP|^Local/) + { + if ($list_channels[$c] =~ /^(\S+)\s+.+\s+(\S+)$/) + { + $line_type = ''; + $channel = $1; + $extension = $2; + $channel_data = $extension; + if ($show_channels_format) + { + $extension =~ s/^.*\(|\).*$//gi; + #### new data in 1.2 for future use + # SIP/cc160-7b91:default:917274514920:3:Up:Dial:Zap/g2/17274514920|30|o:cc160::3:9:Zap/25-1 + # Zap/30-1:demo:010*010*010*012*8600091:1:Up:Dial:IAX2/TESTast2:test@10.10.10.12:4569/8600051|25|o:::3:123:IAX2/TESTast2-29 + # Zap/9-1:demo:990009*CL_UMGCOF_L**6317906**9545541833*13678*:2:Up:Dial:Zap/r3/90009*CL_UMGCOF_L**6317906**9545541833*13678*|120|o:::3:334:Zap/82-1 + # $channel = $list_chan_12[0]; + # $channel_data = $list_chan_12[0]; + # $context = $list_chan_12[1]; + # $dialed = $list_chan_12[2]; + # $priority = $list_chan_12[3]; + # $state = $list_chan_12[4]; + # $extension = $list_chan_12[6]; + # $callerid = $list_chan_12[7]; + # $duration = $list_chan_12[10]; + # $bridged = $list_chan_12[11]; + } + $extension =~ s/^SIP\/|-\S+$//gi; + $extension =~ s/\|.*//gi; + $QRYchannel = "$channel$US$extension"; + + if( ($DB) or ($UD_bad_grab) ){print "channel: |$channel|\n";} + if( ($DB) or ($UD_bad_grab) ){print "extension: |$extension|\n";} + if( ($DB) or ($UD_bad_grab) ){print "QRYchannel:|$QRYchannel|\n";} + + if ($channel =~ /^SIP|^Zap|^IAX2/) {$line_type = 'TRUNK';} + if ($channel =~ /^Local/) {$line_type = 'CLIENT';} + if ($IAX2_client_count) + { + $channel_match=$channel; + $channel_match =~ s/\/\d+$|-\d+$//gi; + $channel_match =~ s/^IAX2\///gi; + $channel_match =~ s/\*/\\\*/gi; + # print "checking for IAX2 client: |$channel_match|\n"; + if ($IAX2_client_list =~ /\|$channel_match\|/i) {$line_type = 'CLIENT';} + } + if ($Zap_client_count) + { + $channel_match=$channel; + $channel_match =~ s/^Zap\///gi; + $channel_match =~ s/\*/\\\*/gi; + # print "checking for Zap client: |$channel_match|\n"; + if ($Zap_client_list =~ /\|$channel_match\|/i) {$line_type = 'CLIENT';} + } + if ($SIP_client_count) + { + $channel_match=$channel; + $channel_match =~ s/-\S+$//gi; + $channel_match =~ s/^SIP\///gi; + $channel_match =~ s/\*/\\\*/gi; + # print "checking for SIP client: |$channel_match|\n"; + if ($SIP_client_list =~ /\|$channel_match\|/i) {$line_type = 'CLIENT';} + } + + if ($line_type eq 'TRUNK') + { + if( ($DB) or ($UD_bad_grab) ){print "current channels: $#DBchannels\n";} + + $k=0; + $channel_in_DB=0; + foreach(@DBchannels) + { + if ( ($DBchannels[$k] eq "$QRYchannel") && (!$channel_in_DB) ) + { + $DBchannels[$k] = ''; + $channel_in_DB++; + } + if( ($DB) or ($UD_bad_grab) ){print "DB $k|$DBchannels[$k]| |";} + $k++; + } + + if ( (!$channel_in_DB) && (length($QRYchannel)>3) ) + { + $stmtA = "INSERT INTO $live_channels (channel,server_ip,extension,channel_data) values('$channel','$server_ip','$extension','$channel_data')"; + if( ($DB) or ($UD_bad_grab) ){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA) or die "Couldn't execute query: |$stmtA|\n"; + } + } + + if ($line_type eq 'CLIENT') + { + if( ($DB) or ($UD_bad_grab) ){print "current sips: $#DBsips\n";} + + $k=0; + $sipchan_in_DB=0; + foreach(@DBsips) + { + if ( ($DBsips[$k] eq "$QRYchannel") && (!$sipchan_in_DB) ) + { + $DBsips[$k] = ''; + $sipchan_in_DB++; + } + if( ($DB) or ($UD_bad_grab) ){print "DB $k|$DBsips[$k]| |";} + $k++; + } + + if ( (!$sipchan_in_DB) && (length($QRYchannel)>3) ) + { + $stmtA = "INSERT INTO $live_sip_channels (channel,server_ip,extension,channel_data) values('$channel','$server_ip','$extension','$channel_data')"; + if( ($DB) or ($UD_bad_grab) ){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA) or die "Couldn't execute query: |$stmtA|\n"; + } + } + } + } + + $c++; + } + if($DB){print "COUNT: $c|$#list_channels|$endless_loop\n";} + + if ($#DBchannels >= 0) + { + $d=0; + foreach(@DBchannels) + { + if (length($DBchannels[$d])>4) + { + ($DELchannel, $DELextension) = split(/\_\_/, $DBchannels[$d]); + $stmtB = "DELETE FROM $live_channels where server_ip='$server_ip' and channel='$DELchannel' and extension='$DELextension' limit 1"; + if( ($DB) or ($UD_bad_grab) ){print STDERR "\n|$stmtB|\n";} + $affected_rows = $dbhA->do($stmtB); + } + $d++; + } + } + + if ($#DBsips >= 0) + { + $d=0; + foreach(@DBsips) + { + if (length($DBsips[$d])>4) + { + ($DELchannel, $DELextension) = split(/\_\_/, $DBsips[$d]); + $stmtB = "DELETE FROM $live_sip_channels where server_ip='$server_ip' and channel='$DELchannel' and extension='$DELextension' limit 1"; + if( ($DB) or ($UD_bad_grab) ){print STDERR "\n|$stmtB|\n";} + $affected_rows = $dbhA->do($stmtB); + } + $d++; + } + } + + ### sleep for 45 hundredths of a second + usleep(1*450*1000); + + $endless_loop--; + if($DB){print STDERR "\nloop counter: |$endless_loop|\n";} + + ### putting a blank file called "update.kill" in a directory will automatically safely kill this program + if (-e "$PATHhome/update.kill") + { + unlink("$PATHhome/update.kill"); + $endless_loop=0; + $one_day_interval=0; + print "\nPROCESS KILLED MANUALLY... EXITING\n\n" + } + + $bad_grabber_counter=0; + $no_channels_12_counter=0; + } + + else + { + if ( ($list_channels[1] !~ /Privilege: Command/) && ($show_channels_format) ) + { + $bad_grabber_counter++; + if($DB){print STDERR "\nbad grab, trying again\n";} + ### sleep for 20 hundredths of a second + usleep(1*200*1000); + + $event_string="BAD GRAB TRYING AGAIN|BAD_GRABS: $bad_grabber_counter|$endless_loop|ONE DAY INTERVAL:$one_day_interval|"; + &event_logger; + + if ($bad_grabber_counter > 100) + { + $endless_loop=0; + $event_string="TOO MANY BAD GRABS, STARTING NEW CONNECTION|BAD_GRABS: $bad_grabber_counter|$endless_loop|ONE DAY INTERVAL:$one_day_interval|"; + &event_logger; + $bad_grabber_counter=0; + } + } + else + { + $no_channels_12_counter++; + $event_string="NO CHANNELS HERE|COUNTER: $no_channels_12_counter|$endless_loop|ONE DAY INTERVAL:$one_day_interval|$list_channels[1]"; + &event_logger; + + if($DBX) {print "*|EMPTY CHANNELS: $no_channels_12_counter|$#list_channels|$list_channels[1]";} + + $endless_loop--; + ### sleep for 40 hundredths of a second + usleep(1*400*1000); + if ($no_channels_12_counter == 3) + { + ### there are no channels, delete all from live_channels, live_sip_channels + $event_string="NO CHANNELS HERE|COUNTER: $no_channels_12_counter|$endless_loop|ONE DAY INTERVAL:$one_day_interval|$list_channels[1]"; + &event_logger; + $stmtB = "DELETE FROM $live_sip_channels where server_ip='$server_ip'"; + if( ($DB) or ($UD_bad_grab) ){print STDERR "\n|$stmtB|\n";} + $affected_rows = $dbhA->do($stmtB); + $stmtB = "DELETE FROM $live_channels where server_ip='$server_ip'"; + if( ($DB) or ($UD_bad_grab) ){print STDERR "\n|$stmtB|\n";} + $affected_rows = $dbhA->do($stmtB); + } + } + } + } + + + if($DB){print "DONE... Exiting... Goodbye... See you later... Not really, initiating next loop...\n";} + + $event_string='HANGING UP|'; + &event_logger; + + @hangup = $t->cmd(String => "Action: Logoff\n\n", Prompt => "/.*/"); + + $ok = $t->close; + + $one_day_interval--; + } + +$event_string='CLOSING DB CONNECTION|'; +&event_logger; + + +$dbhA->disconnect(); + + +if($DB){print "DONE... Exiting... Goodbye... See you later... Really I mean it this time\n";} + + +exit; + + + + + + + +####################################################################### +# This subroutine simply grabs all active channel/extension combinations from +# the asterisk MySQL database to be compared to the Asterisk Manager results +####################################################################### +sub get_current_channels + { + $channel_counter=0; + $sip_counter=0; + $zap_client_counter=0; + $iax_client_counter=0; + $local_client_counter=0; + $sip_client_counter=0; + + if($DB){print STDERR "\n|SELECT channel,extension FROM $live_channels where server_ip = '$server_ip'|\n";} + + $stmtA = "SELECT channel,extension FROM $live_channels where server_ip = '$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + if($DB){print STDERR $aryA[0],"|", $aryA[1],"\n";} + $DBchannels[$channel_counter] = "$aryA[0]$US$aryA[1]"; + $channel_counter++; + $rec_count++; + } + $sthA->finish(); + + $stmtA = "SELECT channel,extension FROM $live_sip_channels where server_ip = '$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count_sip=0; + while ($sthArows > $rec_count_sip) + { + @aryA = $sthA->fetchrow_array; + if($DB){print STDERR $aryA[0],"|", $aryA[1],"\n";} + $DBsips[$sip_counter] = "$aryA[0]$US$aryA[1]"; + + if ($aryA[0] =~ /^Zap/) {$zap_client_counter++;} + if ($aryA[0] =~ /^IAX/) {$iax_client_counter++;} + if ($aryA[0] =~ /^Local/) {$local_client_counter++;} + if ($aryA[0] =~ /^SIP/) {$sip_client_counter++;} + $sip_counter++; + $rec_count_sip++; + } + $sthA->finish(); + + &get_time_now; + + $stmtU = "UPDATE $server_updater set last_update='$now_date' where server_ip='$server_ip'"; + if($DB){print STDERR "\n|$stmtU|\n";} + $affected_rows = $dbhA->do($stmtU); + } + + + + + +####################################################################### +# The purpose of this subroutine is to make sure that the calls that are +# listed as parked in the parked_channels table are in fact live (to make +# sure the caller has not hung up) and if the channel is not live to delete +# the parked_channels entry for that specific parked channel entry +# +# Yes it does use two DB connections all by itself, I just did that for speed +# and ease of programming to be backward compatible with MySQL < 4.1 or else +# I would have used a delete with subselect and saved all of this bloated code +####################################################################### +sub validate_parked_channels + { + if (!$run_validate_parked_channels_now) + { + $parked_counter=0; + @ARchannel=@MT; @ARextension=@MT; @ARparked_time=@MT; @ARparked_time_UNIX=@MT; + $stmtA = "SELECT channel,extension,parked_time,UNIX_TIMESTAMP(parked_time) FROM $parked_channels where server_ip = '$server_ip' order by channel desc, parked_time desc;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $PQchannel = $aryA[0]; + $PQextension = $aryA[1]; + $PQparked_time = $aryA[2]; + $PQparked_time_UNIX = $aryA[3]; + if($DB){print STDERR "\n|$PQchannel|$PQextension|$PQparked_time|$PQparked_time_UNIX|\n";} + + $dbhC = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + $AR=0; + $record_deleted=0; + foreach(@ARchannel) + { + if (@ARchannel[$AR] eq "$PQchannel") + { + if (@ARparked_time_UNIX[$AR] > $PQparked_time_UNIX) + { + if($DBX){print "Duplicate parked channel delete: |$PQchannel|$PQparked_time|\n";} + $stmtPQ = "DELETE FROM $parked_channels where server_ip='$server_ip' and channel='$PQchannel' and extension='$PQextension' and parked_time='$PQparked_time' limit 1"; + if($DB){print STDERR "\n|$stmtPQ|$$DEL_chan_park_counter|$DEL_chan_park_counter|\n\n";} + $affected_rows = $dbhC->do($stmtPQ); + + $DEL_chan_park_counter = "DEL$PQchannel$PQextension"; + $$DEL_chan_park_counter=0; + $record_deleted++; + } + + } + + $AR++; + } + + + + if (!$record_deleted) + { + $ARchannel[$rec_count] = $aryA[0]; + $ARextension[$rec_count] = $aryA[1]; + $ARparked_time[$rec_count] = $aryA[2]; + $ARparked_time_UNIX[$rec_count] = $aryA[3]; + + $dbhB = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + $event_string='LOGGED INTO MYSQL SERVER ON 2 CONNECTIONS TO VALIDATE PARKED CALLS|'; + &event_logger; + + $stmtB = "SELECT count(*) FROM $live_channels where server_ip='$server_ip' and channel='$PQchannel' and extension='$PQextension';"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $sthBrows=$sthB->rows; + $rec_countB=0; + while ($sthBrows > $rec_countB) + { + @aryB = $sthB->fetchrow_array; + $PQcount = $aryB[0]; + if($DB){print STDERR "\n|$PQcount|\n";} + + $rec_countB++; + } + $sthB->finish(); + + if ($PQcount < 1) + { + $DEL_chan_park_counter = "DEL$PQchannel$PQextension"; + $$DEL_chan_park_counter++; + if($DBX){print STDERR "Parked counter down|$$DEL_chan_park_counter|$DEL_chan_park_counter|\n";} + + ### if the parked channel doesn't exist 6 times then delete it from table + if ($$DEL_chan_park_counter > 5) + { + if($DBX){print " parked channel delete: |$PQchannel|$PQparked_time|\n";} + $stmtPQ = "DELETE FROM $parked_channels where server_ip='$server_ip' and channel='$PQchannel' and extension='$PQextension' limit 1"; + if($DB){print STDERR "\n|$stmtPQ|$$DEL_chan_park_counter|$DEL_chan_park_counter|\n\n";} + $affected_rows = $dbhC->do($stmtPQ); + + $ARchannel[$rec_count] = ''; + $ARextension[$rec_count] = ''; + $ARparked_time[$rec_count] = ''; + $ARparked_time_UNIX[$rec_count] = ''; + $$DEL_chan_park_counter=0; + } + } + else + { + $DEL_chan_park_counter = "DEL$PQchannel$PQextension"; + $$DEL_chan_park_counter=0; + } + + $event_string='CLOSING MYSQL CONNECTIONS OPENED TO VALIDATE PARKED CALLS|'; + &event_logger; + + $dbhB->disconnect(); + } + + $dbhC->disconnect(); + + $parked_counter++; + $rec_count++; + } + + $sthA->finish(); + + $run_validate_parked_channels_now=5; # set to run every five times the subroutine runs + } + + $run_validate_parked_channels_now--; + } + + + + + +################################################################################ +##### get the current date and time and epoch for logging call lengths and datetimes +sub get_time_now + { + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + } + + + + + +################################################################################ +##### open the log file for writing ### +sub event_logger + { + if ($SYSLOG) + { + open(Lout, ">>$UPLOGfile") + || die "Can't open $UPLOGfile: $!\n"; + print Lout "$now_date|$event_string|\n"; + close(Lout); + } + $event_string=''; + } diff --git a/agc_2-X/branches/agc_2.0.5/bin/AST_vm_update.pl b/agc_2-X/branches/agc_2.0.5/bin/AST_vm_update.pl new file mode 100644 index 00000000..6e96cfe7 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/AST_vm_update.pl @@ -0,0 +1,247 @@ +#!/usr/bin/perl +# +# AST_vm_update.pl version 2.0.5 *DBI-version* +# +# DESCRIPTION: +# uses the Asterisk Manager interface and Net::MySQL to update the count of +# voicemail messages for each mailbox (in the phone table) in the voicemail +# table list is used by client apps for voicemail notification +# +# SUMMARY: +# This program was designed for people using the Asterisk PBX with voicemail +# +# For the client program to notify of new messaged, this program must be in the +# cron running every minute +# +# For this program to work you need to have the "asterisk" MySQL database +# created and create the tables listed in the CONF_MySQL.txt file, also make sure +# that the machine running this program has read/write/update/delete access +# to that database +# +# It is recommended that you run this program on the local Asterisk machine +# +# If this script is run ever minute there is a theoretical limit of +# 600 mailboxes that it can check due to the wait interval. If you have +# more than this either change the cron when this script is run or change the +# wait interval below +# +# Copyright (C) 2006 Matt Florell LICENSE: AGPLv2 +# +# 50823-1422 - Added database server variable definitions lookup +# 50823-1452 - Added commandline arguments for debug at runtime +# 60717-1204 - changed to DBI by Marin Blu +# 60715-2301 - changed to use /etc/astguiclient.conf for configs +# + +# constants +$DB=0; # Debug flag, set to 0 for no debug messages per minute +$US='__'; +$MT[0]=''; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-t] = test\n [-debug] = verbose debug messages\n\n"; + } + else + { + if ($args =~ /-debug/i) + { + $DB=1; # Debug flag + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} +else +{ +# print "no command line options set\n"; +} +### end parsing run-time options ### + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +use Time::HiRes ('gettimeofday','usleep','sleep'); # necessary to have perl sleep command of less than one second +use DBI; +use Net::Telnet (); + + $dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtA = "SELECT telnet_host,telnet_port,ASTmgrUSERNAME,ASTmgrSECRET,ASTmgrUSERNAMEupdate,ASTmgrUSERNAMElisten,ASTmgrUSERNAMEsend,max_vicidial_trunks,answer_transfer_agent,local_gmt,ext_context FROM servers where server_ip = '$server_ip';"; + +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +if ($DB) {print "|$stmtA|\n";} +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $DBtelnet_host = "$aryA[0]"; + $DBtelnet_port = "$aryA[1]"; + $DBASTmgrUSERNAME = "$aryA[2]"; + $DBASTmgrSECRET = "$aryA[3]"; + $DBASTmgrUSERNAMEupdate = "$aryA[4]"; + $DBASTmgrUSERNAMElisten = "$aryA[5]"; + $DBASTmgrUSERNAMEsend = "$aryA[6]"; + $DBmax_vicidial_trunks = "$aryA[7]"; + $DBanswer_transfer_agent= "$aryA[8]"; + $DBSERVER_GMT = "$aryA[9]"; + $DBext_context = "$aryA[10]"; + if ($DBtelnet_host) {$telnet_host = $DBtelnet_host;} + if ($DBtelnet_port) {$telnet_port = $DBtelnet_port;} + if ($DBASTmgrUSERNAME) {$ASTmgrUSERNAME = $DBASTmgrUSERNAME;} + if ($DBASTmgrSECRET) {$ASTmgrSECRET = $DBASTmgrSECRET;} + if ($DBASTmgrUSERNAMEupdate) {$ASTmgrUSERNAMEupdate = $DBASTmgrUSERNAMEupdate;} + if ($DBASTmgrUSERNAMElisten) {$ASTmgrUSERNAMElisten = $DBASTmgrUSERNAMElisten;} + if ($DBASTmgrUSERNAMEsend) {$ASTmgrUSERNAMEsend = $DBASTmgrUSERNAMEsend;} + if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;} + if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;} + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + if ($DBext_context) {$ext_context = $DBext_context;} + } + $sthA->finish(); + + +@PTextensions=@MT; @PTvoicemail_ids=@MT; @PTmessages=@MT; @PTold_messages=@MT; @NEW_messages=@MT; @OLD_messages=@MT; +$stmtA = "SELECT extension,voicemail_id,messages,old_messages from phones where server_ip='$server_ip'"; +if ($DB) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $PTextensions[$rec_count] = "$aryA[0]"; + $PTvoicemail_ids[$rec_count] = "$aryA[1]"; + $PTmessages[$rec_count] = "$aryA[2]"; + $PTold_messages[$rec_count] = "$aryA[3]"; + $rec_count++; + } + $sthA->finish(); + + +### connect to asterisk manager through telnet +$t = new Net::Telnet (Port => 5038, + Prompt => '/.*[\$%#>] $/', + Output_record_separator => '',); +#$fh = $t->dump_log("$telnetlog"); # uncomment for telnet log + if (length($ASTmgrUSERNAMEsend) > 3) {$telnet_login = $ASTmgrUSERNAMEsend;} + else {$telnet_login = $ASTmgrUSERNAME;} + +$t->open("$telnet_host"); +$t->waitfor('/[01]\n$/'); # print login +$t->print("Action: Login\nUsername: $telnet_login\nSecret: $ASTmgrSECRET\n\n"); +$t->waitfor('/Authentication accepted/'); # waitfor auth accepted + + +$i=0; +foreach(@PTextensions) + { + @list_channels=@MT; + $t->buffer_empty; + @list_channels = $t->cmd(String => "Action: MailboxCount\nMailbox: $PTvoicemail_ids[$i]\n\nAction: Ping\n\n", Prompt => '/Response: Pong.*/'); + + $j=0; + foreach(@list_channels) + { + if ($list_channels[$j] =~ /Mailbox: $PTvoicemail_ids[$i]/) + { + $NEW_messages[$i] = "$list_channels[$j+1]"; + $NEW_messages[$i] =~ s/NewMessages: |\n//gi; + $OLD_messages[$i] = "$list_channels[$j+2]"; + $OLD_messages[$i] =~ s/OldMessages: |\n//gi; + } + + $j++; + } + + if($DB){print "MailboxCount- $PTvoicemail_ids[$i] NEW:|$NEW_messages[$i]| OLD:|$OLD_messages[$i]| ";} + if ( ($NEW_messages[$i] eq $PTmessages[$i]) && ($OLD_messages[$i] eq $PTold_messages[$i]) ) + { + if($DB){print "MESSAGE COUNT UNCHANGED, DOING NOTHING FOR THIS MAILBOX\n";} + } + else + { + $stmtA = "UPDATE phones set messages='$NEW_messages[$i]', old_messages='$OLD_messages[$i]' where server_ip='$server_ip' and extension='$PTextensions[$i]'"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + } + + $i++; + ### sleep for 10 hundredths of a second + usleep(1*100*1000); + } + + +$t->buffer_empty; +@hangup = $t->cmd(String => "Action: Logoff\n\n", Prompt => "/.*/"); +$t->buffer_empty; +$ok = $t->close; + + +$dbhA->disconnect(); + +if($DB){print "DONE... Exiting... Goodbye... See you later... \n";} + +exit; + + + + diff --git a/agc_2-X/branches/agc_2.0.5/bin/FastAGI_log.pl b/agc_2-X/branches/agc_2.0.5/bin/FastAGI_log.pl new file mode 100644 index 00000000..e3b932a6 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/FastAGI_log.pl @@ -0,0 +1,1214 @@ +#!/usr/bin/perl +# +# FastAGI_log.pl version 2.0.5 *DBI-version* +# +# Experimental Deamon using perl Net::Server that runs as FastAGI to reduce load +# replaces the following AGI scripts: +# - call_log.agi +# - call_logCID.agi +# - VD_hangup.agi +# +# This script needs to be running all of the time for AGI requests to work +# +# You need to put lines similar to those below in your extensions.conf file: +# +# ;outbound dialing: +# exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +# +# ;inbound calls: +# exten => 101,1,AGI(agi://127.0.0.1:4577/call_log) +# or +# exten => 101,1,AGI(agi://127.0.0.1:4577/call_log--fullCID--${EXTEN}-----${CALLERID}-----${CALLERIDNUM}-----${CALLERIDNAME}) +# +# +# ;all hangups: +# exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}) +# +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGELOG: +# 61010-1007 - First test build +# 70116-1619 - Added Auto Alt Dial code +# 70215-1258 - Added queue_log entry when deleting vac record +# 70808-1425 - Moved VD_hangup section to the call_log end stage to improve efficiency +# 71030-2039 - Added priority to hopper insertions +# 80224-0040 - Fixed bugs in vicidial_log updates +# 80430-0907 - Added term_reason to vicidial_log and vicidial_closer_log +# 80507-1138 - Fixed vicidial_closer_log CALLER hangups +# 80510-0414 - Fixed crossover logging bugs +# 80510-2058 - Fixed status override bug +# 80525-1040 - Added IVR vac status compatibility for inbound calls +# 80830-0035 - Added auto alt dialing for EXTERNAL leads for each lead +# 80909-0843 - Added support for campaign-speccific DNC lists +# 81021-0306 - Added Local channel logging support and while-to-if changes +# 81026-1247 - Changed to allow for better remote agent calling +# 81029-0522 - Changed to disallow queue_log logging of IVR calls +# + + +# defaults for PreFork +$VARfastagi_log_min_servers = '3'; +$VARfastagi_log_max_servers = '16'; +$VARfastagi_log_min_spare_servers = '2'; +$VARfastagi_log_max_spare_servers = '8'; +$VARfastagi_log_max_requests = '1000'; +$VARfastagi_log_checkfordead = '30'; +$VARfastagi_log_checkforwait = '60'; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_min_servers/) && ($CLIVARfastagi_log_min_servers < 1) ) + {$VARfastagi_log_min_servers = $line; $VARfastagi_log_min_servers =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_max_servers/) && ($CLIVARfastagi_log_max_servers < 1) ) + {$VARfastagi_log_max_servers = $line; $VARfastagi_log_max_servers =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_min_spare_servers/) && ($CLIVARfastagi_log_min_spare_servers < 1) ) + {$VARfastagi_log_min_spare_servers = $line; $VARfastagi_log_min_spare_servers =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_max_spare_servers/) && ($CLIVARfastagi_log_max_spare_servers < 1) ) + {$VARfastagi_log_max_spare_servers = $line; $VARfastagi_log_max_spare_servers =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_max_requests/) && ($CLIVARfastagi_log_max_requests < 1) ) + {$VARfastagi_log_max_requests = $line; $VARfastagi_log_max_requests =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_checkfordead/) && ($CLIVARfastagi_log_checkfordead < 1) ) + {$VARfastagi_log_checkfordead = $line; $VARfastagi_log_checkfordead =~ s/.*=//gi;} + if ( ($line =~ /^VARfastagi_log_checkforwait/) && ($CLIVARfastagi_log_checkforwait < 1) ) + {$VARfastagi_log_checkforwait = $line; $VARfastagi_log_checkforwait =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +if ($hour < 10) {$Fhour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} + +if (!$VARDB_port) {$VARDB_port='3306';} + +$SERVERLOG = 'N'; +$log_level = '0'; + +use DBI; +$dbhB = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +### Grab Server values from the database +$stmtB = "SELECT vd_server_logs FROM servers where server_ip = '$VARserver_ip';"; +$sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; +$sthB->execute or die "executing: $stmtB ", $dbhB->errstr; +$sthBrows=$sthB->rows; +$rec_count=0; +while ($sthBrows > $rec_count) + { + @aryB = $sthB->fetchrow_array; + $SERVERLOG = "$aryB[0]"; + $rec_count++; + } +$sthB->finish(); +$dbhB->disconnect(); + +if ($SERVERLOG =~ /Y/) + { + $childLOGfile = "$PATHlogs/FastAGIchildLOG.$year-$mon-$mday"; + $log_level = "4"; + print "SERVER LOGGING ON: LEVEL-$log_level FILE-$childLOGfile\n"; + } + +package VDfastAGI; + +use Net::Server; +use Asterisk::AGI; +use vars qw(@ISA); +use Net::Server::PreFork; # any personality will do +@ISA = qw(Net::Server::PreFork); + + + + +sub process_request { + $process = 'begin'; + $script = 'VDfastAGI'; + ########## Get current time, parse configs, get logging preferences ########## + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$Fhour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + + $now_date_epoch = time(); + $now_date = "$year-$mon-$mday $hour:$min:$sec"; + + + # default path to astguiclient configuration file: + $PATHconf = '/etc/astguiclient.conf'; + + open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; + @conf = ; + close(conf); + $i=0; + foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + + if (!$VARDB_port) {$VARDB_port='3306';} + if (!$AGILOGfile) {$AGILOGfile = "$PATHlogs/FASTagiout.$year-$mon-$mday";} + + $dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + ### Grab Server values from the database + $stmtA = "SELECT agi_output FROM servers where server_ip = '$VARserver_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + $AGILOG = '0'; + @aryA = $sthA->fetchrow_array; + $DBagi_output = "$aryA[0]"; + if ($DBagi_output =~ /STDERR/) {$AGILOG = '1';} + if ($DBagi_output =~ /FILE/) {$AGILOG = '2';} + if ($DBagi_output =~ /BOTH/) {$AGILOG = '3';} + $rec_count++; + } + $sthA->finish(); + + + + + if ($AGILOG) + { + $agi_string = "+++++++++++++++++ FastAGI Start ++++++++++++++++++++++++++++++++++++++++"; + &agi_output; + } + + + + ### begin parsing run-time options ### + if (length($ARGV[0])>1) + { + if ($AGILOG) + { + $agi_string = "Perl Environment Dump:"; + &agi_output; + } + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + if ($AGILOG) + { + $agi_string = "$i|$ARGV[$i]"; + &agi_output; + } + $i++; + } + } + $HVcauses=0; + $fullCID=0; + $callerid=''; + $calleridname=''; + $|=1; + while() { + chomp; + last unless length($_); + if ($AGILOG) + { + if (/^agi_(\w+)\:\s+(.*)$/) + { + $AGI{$1} = $2; + } + } + + if (/^agi_uniqueid\:\s+(.*)$/) {$unique_id = $1; $uniqueid = $unique_id;} + if (/^agi_priority\:\s+(.*)$/) {$priority = $1;} + if (/^agi_channel\:\s+(.*)$/) {$channel = $1;} + if (/^agi_extension\:\s+(.*)$/) {$extension = $1;} + if (/^agi_type\:\s+(.*)$/) {$type = $1;} + if (/^agi_request\:\s+(.*)$/) {$request = $1;} + if ( ($request =~ /--fullCID--/i) && (!$fullCID) ) + { + $fullCID=1; + @CID = split(/-----/, $request); + $callerid = $CID[2]; + $calleridname = $CID[3]; + $agi_string = "URL fullCID: |$callerid|$calleridname|$request|"; + &agi_output; + } + if ( ($request =~ /--HVcauses--/i) && (!$HVcauses) ) + { + $HVcauses=1; + @ARGV_vars = split(/-----/, $request); + $PRI = $ARGV_vars[0]; + $PRI =~ s/.*--HVcauses--//gi; + $DEBUG = $ARGV_vars[1]; + $hangup_cause = $ARGV_vars[2]; + $dialstatus = $ARGV_vars[3]; + $dial_time = $ARGV_vars[4]; + $ring_time = $ARGV_vars[5]; + $agi_string = "URL HVcauses: |$PRI|$DEBUG|$hangup_cause|$dialstatus|$dial_time|$ring_time|"; + &agi_output; + } + if (!$fullCID) # if no fullCID sent + { + if (/^agi_callerid\:\s+(.*)$/) {$callerid = $1;} + if (/^agi_calleridname\:\s+(.*)$/) {$calleridname = $1;} + if ( $calleridname =~ /\"/) {$calleridname =~ s/\"//gi;} + # if ( (length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) ) + if ( ( + (length($calleridname)>5) && ( (!$callerid) or ($callerid =~ /unknown|private|00000000/i) or ($callerid =~ /5551212/) ) + ) or ( (length($calleridname)>17) && ($calleridname =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) ) ) + {$callerid = $calleridname;} + + ### allow for ANI being sent with the DNIS "*3125551212*9999*" + if ($extension =~ /^\*\d\d\d\d\d\d\d\d\d\d\*/) + { + $callerid = $extension; + $callerid =~ s/\*\d\d\d\d\*$//gi; + $callerid =~ s/^\*//gi; + $extension =~ s/^\*\d\d\d\d\d\d\d\d\d\d\*//gi; + $extension =~ s/\*$//gi; + } + $calleridname = $callerid; + } + } + + if ($AGILOG) + { + $agi_string = "AGI Environment Dump:"; + &agi_output; + } + + foreach $i (sort keys %AGI) + { + if ($AGILOG) + { + $agi_string = " -- $i = $AGI{$i}"; + &agi_output; + } + } + + + if ($AGILOG) + { + $agi_string = "AGI Variables: |$unique_id|$channel|$extension|$type|$callerid|"; + &agi_output; + } + + if ( ($extension =~ /h/i) && (length($extension) < 3)) {$stage = 'END';} + else {$stage = 'START';} + + $process = $request; + $process =~ s/agi:\/\///gi; + $process =~ s/.*\/|--.*//gi; + if ($AGILOG) + { + $agi_string = "Process to run: |$request|$process|$stage|"; + &agi_output; + } + + + ################################################################### + ##### START call_log process ###################################### + ################################################################### + if ($process =~ /^call_log/) + { + ### call start stage + if ($stage =~ /START/) + { + $channel_group=''; + + if ($AGILOG) {$agi_string = "+++++ CALL LOG START : $now_date"; &agi_output;} + + if ($channel =~ /^SIP/) {$channel =~ s/-.*//gi;} + if ($channel =~ /^IAX2/) {$channel =~ s/\/\d+$//gi;} + if ($channel =~ /^Zap\//) + { + $channel_line = $channel; + $channel_line =~ s/^Zap\///gi; + + $stmtA = "SELECT count(*) FROM phones where server_ip='$VARserver_ip' and extension='$channel_line' and protocol='Zap';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + $is_client_phone = "$aryA[0]"; + $sthA->finish(); + + if ($is_client_phone < 1) + { + $channel_group = 'Zap Trunk Line'; + $number_dialed = $extension; + } + else + { + $channel_group = 'Zap Client Phone'; + } + if ($AGILOG) {$agi_string = $channel_group . ": $aryA[0]|$channel_line|"; &agi_output;} + } + if ($channel =~ /^Local\//) + { + $channel_line = $channel; + $channel_line =~ s/^Local\/|\@.*//gi; + + $stmtA = "SELECT count(*) FROM phones where server_ip='$VARserver_ip' and dialplan_number='$channel_line' and protocol='EXTERNAL';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + @aryA = $sthA->fetchrow_array; + $is_client_phone = "$aryA[0]"; + $sthA->finish(); + + if ($is_client_phone < 1) + { + $channel_group = 'Local Channel Line'; + $number_dialed = $extension; + } + else + { + $channel_group = 'EXTERNAL Client Phone'; + } + if ($AGILOG) {$agi_string = $channel_group . ": $aryA[0]|$channel_line|"; &agi_output;} + } + ### This section breaks the outbound dialed number down(or builds it up) to a 10 digit number and gives it a description + if ( ($channel =~ /^SIP|^IAX2/) || ( ($is_client_phone > 0) && (length($channel_group) < 1) ) ) + { + if ( ($extension =~ /^901144/) && (length($extension)==16) ) #test 207 608 6400 + {$extension =~ s/^9//gi; $channel_group = 'Outbound Intl UK';} + if ( ($extension =~ /^901161/) && (length($extension)==15) ) #test 39 417 2011 + {$extension =~ s/^9//gi; $channel_group = 'Outbound Intl AUS';} + if ( ($extension =~ /^91800|^91888|^91877|^91866/) && (length($extension)==12) ) + {$extension =~ s/^91//gi; $channel_group = 'Outbound Local 800';} + if ( ($extension =~ /^9/) && (length($extension)==8) ) + {$extension =~ s/^9/727/gi; $channel_group = 'Outbound Local';} + if ( ($extension =~ /^9/) && (length($extension)==11) ) + {$extension =~ s/^9//gi; $channel_group = 'Outbound Local';} + if ( ($extension =~ /^91/) && (length($extension)==12) ) + {$extension =~ s/^91//gi; $channel_group = 'Outbound Long Distance';} + if ($is_client_phone > 0) + {$channel_group = 'Client Phone';} + + $SIP_ext = $channel; $SIP_ext =~ s/SIP\/|IAX2\/|Zap\/|Local\///gi; + + $number_dialed = $extension; + $extension = $SIP_ext; + } + + if ( ($callerid =~ /^V|^M/) && ($callerid =~ /\d\d\d\d\d\d\d\d\d/) && (length($number_dialed)<1) ) + { + $stmtA = "SELECT cmd_line_b,cmd_line_d FROM vicidial_manager where callerid='$callerid' limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $cmd_line_b = "$aryA[0]"; + $cmd_line_d = "$aryA[1]"; + $cmd_line_b =~ s/Exten: //gi; + $cmd_line_d =~ s/Channel: Local\/|@.*//gi; + $rec_count++; + } + $sthA->finish(); + if ($callerid =~ /^V/) {$number_dialed = "$cmd_line_d";} + if ($callerid =~ /^M/) {$number_dialed = "$cmd_line_b";} + $number_dialed =~ s/\D//gi; + if (length($number_dialed)<1) {$number_dialed=$extension;} + } + $stmtA = "INSERT INTO call_log (uniqueid,channel,channel_group,type,server_ip,extension,number_dialed,start_time,start_epoch,end_time,end_epoch,length_in_sec,length_in_min,caller_code) values('$unique_id','$channel','$channel_group','$type','$VARserver_ip','$extension','$number_dialed','$now_date','$now_date_epoch','','','','','$callerid')"; + + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + + $dbhA->disconnect(); + } + + + ### call end stage + else + { + if ($AGILOG) {$agi_string = "|CALL HUNG UP|"; &agi_output;} + if ($request =~ /--HVcauses--/i) + { + $HVcauses=1; + @ARGV_vars = split(/-----/, $request); + $PRI = $ARGV_vars[0]; + $PRI =~ s/.*--HVcauses--//gi; + $DEBUG = $ARGV_vars[1]; + $hangup_cause = $ARGV_vars[2]; + $dialstatus = $ARGV_vars[3]; + $dial_time = $ARGV_vars[4]; + $ring_time = $ARGV_vars[5]; + $agi_string = "URL HVcauses: |$PRI|$DEBUG|$hangup_cause|$dialstatus|$dial_time|$ring_time|"; + &agi_output; + } + + ### get uniqueid and start_epoch from the call_log table + $stmtA = "SELECT uniqueid,start_epoch FROM call_log where uniqueid='$unique_id';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $start_time = "$aryA[1]"; + if ($AGILOG) {$agi_string = "|$aryA[0]|$aryA[1]|"; &agi_output;} + $rec_count++; + } + $sthA->finish(); + + if ($rec_count) + { + $length_in_sec = ($now_date_epoch - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + if ($AGILOG) {$agi_string = "QUERY done: start time = $start_time | sec: $length_in_sec | min: $length_in_min |"; &agi_output;} + + $stmtA = "UPDATE call_log set end_time='$now_date',end_epoch='$now_date_epoch',length_in_sec=$length_in_sec,length_in_min='$length_in_min',channel='$channel' where uniqueid='$unique_id'"; + + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + } + + $stmtA = "DELETE from live_inbound where uniqueid='$unique_id' and server_ip='$VARserver_ip'"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + + ##### BEGIN Park Log entry check and update ##### + $stmtA = "SELECT UNIX_TIMESTAMP(parked_time),UNIX_TIMESTAMP(grab_time) FROM park_log where uniqueid='$unique_id' and server_ip='$VARserver_ip' LIMIT 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $parked_time = "$aryA[0]"; + $grab_time = "$aryA[1]"; + if ($AGILOG) {$agi_string = "|$aryA[0]|$aryA[1]|"; &agi_output;} + $rec_count++; + } + $sthA->finish(); + + if ($rec_count) + { + if ($AGILOG) {$agi_string = "*****Entry found for $unique_id-$VARserver_ip in park_log: $parked_time|$grab_time"; &agi_output;} + if ($parked_time > $grab_time) + { + $parked_sec=($now_date_epoch - $parked_time); + $talked_sec=0; + } + else + { + $talked_sec=($now_date_epoch - $parked_time); + $parked_sec=($grab_time - $parked_time); + } + + $stmtA = "UPDATE park_log set status='HUNGUP',hangup_time='$now_date',parked_sec='$parked_sec',talked_sec='$talked_sec' where uniqueid='$unique_id' and server_ip='$VARserver_ip'"; + $affected_rows = $dbhA->do($stmtA); + } + ##### END Park Log entry check and update ##### + + # $dbhA->disconnect(); + + if ($AGILOG) {$agi_string = "+++++ CALL LOG HUNGUP: |$unique_id|$channel|$extension|$now_date|min: $length_in_min|"; &agi_output;} + + + ##### BEGIN former VD_hangup section functions ##### + + $VDADcampaign=''; + $VDADphone=''; + $VDADphone_code=''; + + if ($DEBUG =~ /^DEBUG$/) + { + ### open the hangup cause out file for writing ### + open(out, ">>$PATHlogs/HANGUP_cause-output.txt") + || die "Can't open $PATHlogs/HANGUP_cause-output.txt: $!\n"; + + print out "$now_date|$hangup_cause|$dialstatus|$dial_time|$ring_time|$unique_id|$channel|$extension|$type|$callerid|$calleridname|$priority|\n"; + + close(out); + } + else + { + if ($AGILOG) {$agi_string = "DEBUG: $DEBUG"; &agi_output;} + } + + + $callerid =~ s/\"//gi; + $CIDlead_id = $callerid; + $CIDlead_id = substr($CIDlead_id, 11, 9); + $CIDlead_id = ($CIDlead_id + 0); + + if ($AGILOG) {$agi_string = "VD_hangup : $callerid $channel $priority $CIDlead_id"; &agi_output;} + + if ($channel =~ /^Local/) + { + if ( ($PRI =~ /^PRI$/) && ($callerid =~ /\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d/) && ( ($dialstatus =~ /BUSY/) || ( ($dialstatus =~ /CHANUNAVAIL/) && ($hangup_cause =~ /^1$|^28$/) ) ) ) + { + if ($dialstatus =~ /BUSY/) {$VDL_status = 'B'; $VDAC_status = 'BUSY';} + if ($dialstatus =~ /CHANUNAVAIL/) {$VDL_status = 'DC'; $VDAC_status = 'DISCONNECT';} + + $stmtA = "UPDATE vicidial_list set status='$VDL_status' where lead_id = '$CIDlead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $VDADaffected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$VDADaffected_rows|$CIDlead_id"; &agi_output;} + + $stmtA = "UPDATE vicidial_auto_calls set status='$VDAC_status' where callerid = '$callerid';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $VDACaffected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAC update: |$VDACaffected_rows|$CIDlead_id"; &agi_output;} + + $Euniqueid=$uniqueid; + $Euniqueid =~ s/\.\d+$//gi; + $stmtA = "UPDATE vicidial_log FORCE INDEX(lead_id) set status='$VDL_status' where lead_id = '$CIDlead_id' and uniqueid LIKE \"$Euniqueid%\";"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $VDLaffected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_log update: |$VDLaffected_rows|$uniqueid|$VDACuniqueid|"; &agi_output;} + + sleep(1); + + $dbhA->disconnect(); + } + else + { + if ($AGILOG) {$agi_string = "-- VD_hangup Local DEBUG: |$PRI|$callerid|$dialstatus|$hangup_cause|"; &agi_output;} + } + + if ($AGILOG) {$agi_string = "+++++ VDAD START LOCAL CHANNEL: EXITING- $priority"; &agi_output;} + if ($priority > 2) {sleep(1);} + } + else + { + + ########## FIND AND DELETE vicidial_auto_calls ########## + $VD_alt_dial = 'NONE'; + $stmtA = "SELECT lead_id,callerid,campaign_id,alt_dial,stage,UNIX_TIMESTAMP(call_time),uniqueid,status FROM vicidial_auto_calls where uniqueid = '$uniqueid' or callerid = '$callerid' limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_countCUSTDATA=0; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VD_lead_id = "$aryA[0]"; + $VD_callerid = "$aryA[1]"; + $VD_campaign_id = "$aryA[2]"; + $VD_alt_dial = "$aryA[3]"; + $VD_stage = "$aryA[4]"; + $VD_start_epoch = "$aryA[5]"; + $VD_uniqueid = "$aryA[6]"; + $VD_status = "$aryA[7]"; + $rec_countCUSTDATA++; + } + $sthA->finish(); + + if (!$rec_countCUSTDATA) + { + if ($AGILOG) {$agi_string = "VD hangup: no VDAC record found: $uniqueid $calleridname"; &agi_output;} + } + else + { + $stmtA = "DELETE FROM vicidial_auto_calls where ( ( (status!='IVR') and (uniqueid='$uniqueid' or callerid = '$callerid') ) or ( (status='IVR') and (uniqueid='$uniqueid') ) ) order by call_time desc limit 1;"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAC record deleted: |$affected_rows| |$VD_lead_id|$uniqueid|$VD_uniqueid|$VD_callerid|$VARserver_ip|$VD_status|"; &agi_output;} + + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmtA = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $enable_queuemetrics_logging = "$aryA[0]"; + $queuemetrics_server_ip = "$aryA[1]"; + $queuemetrics_dbname = "$aryA[2]"; + $queuemetrics_login= "$aryA[3]"; + $queuemetrics_pass = "$aryA[4]"; + $queuemetrics_log_id = "$aryA[5]"; + $rec_count++; + } + $sthA->finish(); + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_queuemetrics_logging > 0) && ($VD_status !~ /IVR/) ) + { + $VD_agent='NONE'; + $secX = time(); + $VD_call_length = ($secX - $VD_start_epoch); + $VD_stage =~ s/.*-//gi; + if ($VD_stage < 0.25) {$VD_stage=0;} + + $dbhB = DBI->connect("DBI:mysql:$queuemetrics_dbname:$queuemetrics_server_ip:3306", "$queuemetrics_login", "$queuemetrics_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + if ($DBX) {print "CONNECTED TO DATABASE: $queuemetrics_server_ip|$queuemetrics_dbname\n";} + + $stmtB = "SELECT agent from queue_log where call_id='$VD_callerid' and verb='CONNECT';"; + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $sthBrows=$sthB->rows; + $rec_count=0; + while ($sthBrows > $rec_count) + { + @aryB = $sthB->fetchrow_array; + $VD_agent = "$aryB[0]"; + $rec_count++; + } + $sthB->finish(); + + if ($rec_count < 1) + { + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$VD_callerid',queue='$VD_campaign_id',agent='$VD_agent',verb='ABANDON',data1='1',data2='1',data3='$VD_stage',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + } + else + { + $stmtB = "INSERT INTO queue_log SET partition='P01',time_id='$secX',call_id='$VD_callerid',queue='$VD_campaign_id',agent='$VD_agent',verb='COMPLETECALLER',data1='$VD_stage',data2='$VD_call_length',data3='1',serverid='$queuemetrics_log_id';"; + $Baffected_rows = $dbhB->do($stmtB); + } + + $dbhB->disconnect(); + } + + + $epc_countCUSTDATA=0; + $VD_closecallid=''; + $VDL_update=0; + $Euniqueid=$uniqueid; + $Euniqueid =~ s/\.\d+$//gi; + + if ($calleridname !~ /^Y\d\d\d\d/) + { + ########## FIND AND UPDATE vicidial_log ########## + $stmtA = "SELECT start_epoch,status,user,term_reason,comments FROM vicidial_log FORCE INDEX(lead_id) where lead_id = '$VD_lead_id' and uniqueid LIKE \"$Euniqueid%\" limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VD_start_epoch = "$aryA[0]"; + $VD_status = "$aryA[1]"; + $VD_user = "$aryA[2]"; + $VD_term_reason = "$aryA[3]"; + $VD_comments = "$aryA[4]"; + $epc_countCUSTDATA++; + } + $sthA->finish(); + } + + if ( (!$epc_countCUSTDATA) || ($calleridname =~ /^Y\d\d\d\d/) ) + { + if ($AGILOG) {$agi_string = "no VDL record found: $uniqueid $calleridname $VD_lead_id $uniqueid $VD_uniqueid"; &agi_output;} + + $secX = time(); + $Rtarget = ($secX - 21600); # look for VDCL entry within last 6 hours + ($Rsec,$Rmin,$Rhour,$Rmday,$Rmon,$Ryear,$Rwday,$Ryday,$Risdst) = localtime($Rtarget); + $Ryear = ($Ryear + 1900); + $Rmon++; + if ($Rmon < 10) {$Rmon = "0$Rmon";} + if ($Rmday < 10) {$Rmday = "0$Rmday";} + if ($Rhour < 10) {$Rhour = "0$Rhour";} + if ($Rmin < 10) {$Rmin = "0$Rmin";} + if ($Rsec < 10) {$Rsec = "0$Rsec";} + $RSQLdate = "$Ryear-$Rmon-$Rmday $Rhour:$Rmin:$Rsec"; + + $stmtA = "SELECT start_epoch,status,closecallid,user,term_reason,length_in_sec,queue_seconds,comments FROM vicidial_closer_log where lead_id = '$VD_lead_id' and call_date > \"$RSQLdate\" order by call_date desc limit 1;"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $epc_countCUSTDATA=0; + $VD_closecallid=''; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VD_start_epoch = "$aryA[0]"; + $VD_status = "$aryA[1]"; + $VD_closecallid = "$aryA[2]"; + $VD_user = "$aryA[3]"; + $VD_term_reason = "$aryA[4]"; + $VD_length_in_sec = "$aryA[5]"; + $VD_queue_seconds = "$aryA[6]"; + $VD_comments = "$aryA[7]"; + $epc_countCUSTDATA++; + } + $sthA->finish(); + } + if (!$epc_countCUSTDATA) + { + if ($AGILOG) {$agi_string = "no VDL or VDCL record found: $uniqueid $calleridname $VD_lead_id $uniqueid $VD_uniqueid"; &agi_output;} + } + else + { + $VD_seconds = ($now_date_epoch - $VD_start_epoch); + + $SQL_status=''; + if ( ($VD_status =~ /^NA$|^NEW$|^QUEUE$|^XFER$/) && ($VD_comments !~ /REMOTE/) ) + { + if ( ($VD_term_reason !~ /AGENT|CALLER|QUEUETIMEOUT/) && ( ($VD_user =~ /VDAD|VDCL/) || (length($VD_user) < 1) ) ) + {$VDLSQL_term_reason = "term_reason='ABANDON',";} + else + { + if ($VD_term_reason !~ /AGENT|CALLER|QUEUETIMEOUT/) + {$VDLSQL_term_reason = "term_reason='CALLER',";} + else + {$VDLSQL_term_reason = '';} + } + $SQL_status = "status='DROP',$VDLSQL_term_reason"; + + ########## FIND AND UPDATE vicidial_list ########## + $stmtA = "UPDATE vicidial_list set status='DROP' where lead_id = '$VD_lead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_list update: |$affected_rows|$VD_lead_id"; &agi_output;} + } + else + { + $SQL_status = "term_reason='CALLER',"; + } + + if ($calleridname !~ /^Y\d\d\d\d/) + { + $VDL_update=1; + $stmtA = "UPDATE vicidial_log FORCE INDEX(lead_id) set $SQL_status end_epoch='$now_date_epoch',length_in_sec='$VD_seconds' where lead_id = '$VD_lead_id' and uniqueid LIKE \"$Euniqueid%\";"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $VLaffected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDAD vicidial_log update: |$VLaffected_rows|$uniqueid|$VD_status|"; &agi_output;} + } + + + + ########## UPDATE vicidial_closer_log ########## + if ( (length($VD_closecallid) < 1) || ($VDL_update > 0) ) + { + if ($AGILOG) {$agi_string = "no VDCL record found: $uniqueid|$calleridname|$VD_lead_id|$uniqueid|$VD_uniqueid|$VDL_update|"; &agi_output;} + } + else + { + if ($VD_status =~ /^DONE$|^INCALL$|^XFER$/) + {$VDCLSQL_update = "term_reason='CALLER',";} + else + { + if ( ($VD_term_reason !~ /AGENT|CALLER|QUEUETIMEOUT|AFTERHOURS|HOLDRECALLXFER|HOLDTIME/) && ( ($VD_user =~ /VDAD|VDCL/) || (length($VD_user) < 1) ) ) + {$VDCLSQL_term_reason = "term_reason='ABANDON',";} + else + { + if ($VD_term_reason !~ /AGENT|CALLER|QUEUETIMEOUT|AFTERHOURS|HOLDRECALLXFER|HOLDTIME/) + {$VDCLSQL_term_reason = "term_reason='CALLER',";} + else + {$VDCLSQL_term_reason = '';} + } + if ($VD_status =~ /QUEUE/) + { + $VDCLSQL_status = "status='DROP',"; + $VDCLSQL_queue_seconds = "queue_seconds='$VD_seconds',"; + } + else + { + $VDCLSQL_status = ''; + $VDCLSQL_queue_seconds = ''; + } + + $VDCLSQL_update = "$VDCLSQL_status$VDCLSQL_term_reason$VDCLSQL_queue_seconds"; + } + + $VD_seconds = ($now_date_epoch - $VD_start_epoch); + $stmtA = "UPDATE vicidial_closer_log set $VDCLSQL_update end_epoch='$now_date_epoch',length_in_sec='$VD_seconds' where closecallid = '$VD_closecallid';"; + if ($AGILOG) {$agi_string = "|$VDCLSQL_update|$VD_status|$VD_length_in_sec|$VD_term_reason|$VD_queue_seconds|\n|$stmtA|"; &agi_output;} + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDCL update: |$affected_rows|$uniqueid|$VD_closecallid|"; &agi_output;} + + } + } + + ##### BEGIN AUTO ALT PHONE DIAL SECTION ##### + ### check to see if campaign has alt_dial enabled + $VD_auto_alt_dial = 'NONE'; + $VD_auto_alt_dial_statuses=''; + $stmtA="SELECT auto_alt_dial,auto_alt_dial_statuses,use_internal_dnc,use_campaign_dnc FROM vicidial_campaigns where campaign_id='$VD_campaign_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $epc_countCAMPDATA=0; + while ($sthArows > $epc_countCAMPDATA) + { + @aryA = $sthA->fetchrow_array; + $VD_auto_alt_dial = "$aryA[0]"; + $VD_auto_alt_dial_statuses = "$aryA[1]"; + $VD_use_internal_dnc = "$aryA[2]"; + $VD_use_campaign_dnc = "$aryA[3]"; + $epc_countCAMPDATA++; + } + $sthA->finish(); + if ($VD_auto_alt_dial_statuses =~ / $VD_status | $VDL_status /) + { + if ( ($VD_auto_alt_dial =~ /(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)/) && ($VD_alt_dial =~ /NONE|MAIN/) ) + { + $alt_dial_skip=0; + $VD_alt_phone=''; + $stmtA="SELECT alt_phone,gmt_offset_now,state,list_id FROM vicidial_list where lead_id='$VD_lead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $epc_countCAMPDATA=0; + while ($sthArows > $epc_countCAMPDATA) + { + @aryA = $sthA->fetchrow_array; + $VD_alt_phone = "$aryA[0]"; + $VD_alt_phone =~ s/\D//gi; + $VD_gmt_offset_now = "$aryA[1]"; + $VD_state = "$aryA[2]"; + $VD_list_id = "$aryA[3]"; + $epc_countCAMPDATA++; + } + $sthA->finish(); + if (length($VD_alt_phone)>5) + { + if ($VD_use_internal_dnc =~ /Y/) + { + $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_alt_phone';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VD_alt_dnc_count = "$aryA[0]"; + } + $sthA->finish(); + } + else {$VD_alt_dnc_count=0;} + if ($VD_use_campaign_dnc =~ /Y/) + { + $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_alt_phone' and campaign_id='$VD_campaign_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VD_alt_dnc_count = ($VD_alt_dnc_count + $aryA[0]); + } + $sthA->finish(); + } + if ($VD_alt_dnc_count < 1) + { + $stmtA = "INSERT INTO vicidial_hopper SET lead_id='$VD_lead_id',campaign_id='$VD_campaign_id',status='READY',list_id='$VD_list_id',gmt_offset_now='$VD_gmt_offset_now',state='$VD_state',alt_dial='ALT',user='',priority='25';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDH record inserted: |$affected_rows| |$stmtA|"; &agi_output;} + } + else + {$alt_dial_skip=1;} + } + else + {$alt_dial_skip=1;} + if ($alt_dial_skip > 0) + {$VD_alt_dial='ALT';} + } + if ( ( ($VD_auto_alt_dial =~ /(ADDR3_ONLY)/) && ($VD_alt_dial =~ /NONE|MAIN/) ) || ( ($VD_auto_alt_dial =~ /(ALT_AND_ADDR3)/) && ($VD_alt_dial =~ /ALT/) ) ) + { + $addr3_dial_skip=0; + $VD_address3=''; + $stmtA="SELECT address3,gmt_offset_now,state,list_id FROM vicidial_list where lead_id='$VD_lead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $epc_countCAMPDATA=0; + while ($sthArows > $epc_countCAMPDATA) + { + @aryA = $sthA->fetchrow_array; + $VD_address3 = "$aryA[0]"; + $VD_address3 =~ s/\D//gi; + $VD_gmt_offset_now = "$aryA[1]"; + $VD_state = "$aryA[2]"; + $VD_list_id = "$aryA[3]"; + $epc_countCAMPDATA++; + } + $sthA->finish(); + if (length($VD_address3)>5) + { + if ($VD_use_internal_dnc =~ /Y/) + { + $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_address3';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VD_alt_dnc_count = "$aryA[0]"; + } + $sthA->finish(); + } + else {$VD_alt_dnc_count=0;} + if ($VD_use_campaign_dnc =~ /Y/) + { + $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_address3' and campaign_id='$VD_campaign_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VD_alt_dnc_count = ($VD_alt_dnc_count + $aryA[0]); + } + $sthA->finish(); + } + if ($VD_alt_dnc_count < 1) + { + $stmtA = "INSERT INTO vicidial_hopper SET lead_id='$VD_lead_id',campaign_id='$VD_campaign_id',status='READY',list_id='$VD_list_id',gmt_offset_now='$VD_gmt_offset_now',state='$VD_state',alt_dial='ADDR3',user='',priority='20';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDH record inserted: |$affected_rows| |$stmtA|"; &agi_output;} + } + else + {$addr3_dial_skip=1;} + } + else + {$addr3_dial_skip=1;} + if ($addr3_dial_skip > 0) + {$VD_alt_dial='ADDR3';} + } + if ( ( ($VD_auto_alt_dial =~ /(EXTENDED_ONLY)/) && ($VD_alt_dial =~ /NONE|MAIN/) ) || ( ($VD_auto_alt_dial =~ /(ALT_AND_EXTENDED)/) && ($VD_alt_dial =~ /ALT/) ) || ( ($VD_auto_alt_dial =~ /ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED/) && ($VD_alt_dial =~ /ADDR3/) ) || ( ($VD_auto_alt_dial =~ /(EXTENDED)/) && ($VD_alt_dial =~ /X/) && ($VD_alt_dial !~ /XLAST/) ) ) + { + if ($VD_alt_dial =~ /ADDR3/) {$Xlast=0;} + else + {$Xlast = $VD_alt_dial;} + $Xlast =~ s/\D//gi; + if (length($Xlast)<1) + {$Xlast=0;} + $VD_altdialx=''; + $stmtA="SELECT gmt_offset_now,state,list_id FROM vicidial_list where lead_id='$VD_lead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $epc_countCAMPDATA=0; + while ($sthArows > $epc_countCAMPDATA) + { + @aryA = $sthA->fetchrow_array; + $VD_gmt_offset_now = "$aryA[1]"; + $VD_state = "$aryA[2]"; + $VD_list_id = "$aryA[3]"; + $epc_countCAMPDATA++; + } + $sthA->finish(); + $alt_dial_phones_count=0; + $stmtA="SELECT count(*) FROM vicidial_list_alt_phones where lead_id='$VD_lead_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $alt_dial_phones_count = "$aryA[0]"; + } + $sthA->finish(); + + while ( ($alt_dial_phones_count > 0) && ($alt_dial_phones_count > $Xlast) ) + { + $Xlast++; + $stmtA="SELECT alt_phone_id,phone_number,active FROM vicidial_list_alt_phones where lead_id='$VD_lead_id' and alt_phone_count='$Xlast';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VD_altdial_id = "$aryA[0]"; + $VD_altdial_phone = "$aryA[1]"; + $VD_altdial_active = "$aryA[2]"; + } + else + {$Xlast=9999999999;} + $sthA->finish(); + + if ($VD_altdial_active =~ /Y/) + { + if ($VD_use_internal_dnc =~ /Y/) + { + $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_altdial_phone';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VD_alt_dnc_count = "$aryA[0]"; + } + $sthA->finish(); + } + else {$VD_alt_dnc_count=0;} + if ($VD_use_campaign_dnc =~ /Y/) + { + $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$VD_campaign_id';"; + if ($AGILOG) {$agi_string = "|$stmtA|"; &agi_output;} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VD_alt_dnc_count = ($VD_alt_dnc_count + $aryA[0]); + } + $sthA->finish(); + } + if ($VD_alt_dnc_count < 1) + { + if ($alt_dial_phones_count eq '$Xlast') + {$Xlast = 'LAST';} + $stmtA = "INSERT INTO vicidial_hopper SET lead_id='$VD_lead_id',campaign_id='$VD_campaign_id',status='READY',list_id='$VD_list_id',gmt_offset_now='$VD_gmt_offset_now',state='$VD_state',alt_dial='X$Xlast',user='',priority='15';"; + $affected_rows = $dbhA->do($stmtA); + if ($AGILOG) {$agi_string = "-- VDH record inserted: |$affected_rows| |$stmtA|X$Xlast|$VD_altdial_id|"; &agi_output;} + $Xlast=9999999999; + } + else + {if ($AGILOG) {$agi_string = "-- VDH alt dial is DNC|X$Xlast|$VD_altdial_phone|"; &agi_output;}} + } + } + } + } + ##### END AUTO ALT PHONE DIAL SECTION ##### + } + + } + + $dbhA->disconnect(); + + } + } + ################################################################### + ##### END call_log process ######################################## + ################################################################### + + + + + + ################################################################### + ##### START VD_hangup process ##################################### + ################################################################### + if ($process =~ /^VD_hangup/) + { + $nothing=0; + } + ################################################################### + ##### END VD_hangup process ####################################### + ################################################################### + + +} + + +VDfastAGI->run( + port=>4577, + user=>'root', + group=>'root', + min_servers=>$VARfastagi_log_min_servers, + max_servers=>$VARfastagi_log_max_servers, + min_spare_servers=>$VARfastagi_log_min_spare_servers, + max_spare_servers=>$VARfastagi_log_max_spare_servers, + max_requests=>$VARfastagi_log_max_requests, + check_for_dead=>$VARfastagi_log_checkfordead, + check_for_waiting=>$VARfastagi_log_checkforwait, + log_file=>$childLOGfile, + log_level=>$log_level + ); +exit; + + + + + +sub agi_output +{ +if ($AGILOG >=2) + { + ### open the log file for writing ### + open(Lout, ">>$AGILOGfile") + || die "Can't open $AGILOGfile: $!\n"; + print Lout "$now_date|$script|$process|$agi_string\n"; + close(Lout); + } + ### send to STDERR writing ### +if ( ($AGILOG == '1') || ($AGILOG == '3') ) + { + print STDERR "$now_date|$script|$process|$agi_string\n"; + } +$agi_string=''; +} diff --git a/agc_2-X/branches/agc_2.0.5/bin/QC_gather_records.pl b/agc_2-X/branches/agc_2.0.5/bin/QC_gather_records.pl new file mode 100644 index 00000000..08f6378d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/QC_gather_records.pl @@ -0,0 +1,575 @@ +#!/usr/bin/perl +# +# QC_gather_records.pl version: 2.0.5 +# +# This script is designed to gather records to be posted to the +# qc_vicidial_list_original table so that it can be processed by the QC system +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 80717-1146 - First version development +# 80721-1627 - functional beta version +# + +use Time::Local; + +$txt = '.txt'; +$US = '_'; +$DS = '-'; +$MT[0] = ''; +$date_override_set=0; + +# default CLI values +$campaign = '---ALL---'; +$pull_statuses = 'SALE-UPSELL'; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) + { + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n"; + print " [--campaign=XXX] = Single campaign/in-group that records will be pulled from.\n"; + print " Default will pull all qc_active campaigns and in-groups\n"; + print " [--pull-statuses=XXX-XXY] = Statuses that are to be pulled. Default SALE and UPSELL\n"; + print " NOTE: To include all statuses in the export, use \"--sale-statuses=---ALL---\"\n"; + print " [--date-override=YYYYMMDDHHMMSS] = Date to force a re-pull from.\n"; + print " Pulls 24 hours of records from the override time/date\n"; + print " [-q] = quiet\n"; + print " [-t] = test\n"; + print " [--debug] = debugging messages\n"; + print " [--debugX] = Super debugging messages\n"; + print "\n"; + + exit; + } + else + { + if ($args =~ /--debug/i) + { + $DB=1; + print "\n----- DEBUG MODE -----\n\n"; + } + if ($args =~ /--debugX/i) + { + $DBX=1; + print "\n----- SUPER DEBUG MODE -----\n\n"; + } + if ($args =~ /-q/i) + { + $q=1; $Q=1; + } + if ($args =~ /--date-override=/i) + { + @data_in = split(/--date-override=/,$args); + $date_override = $data_in[1]; + $date_override =~ s/ .*$//gi; + $date_override =~ s/\D//gi; + if ( (length($date_override)<14) || (length($date_override)>14) ) + { + print "ERROR! Invalid date_override format |$date_override|\n"; + $data_override=''; + } + else + { + $YYYY = substr($date_override, 0, 4); + $MM = substr($date_override, 4, 2); + $MM = ($MM - 1); + $DD = substr($date_override, 6, 2); + $hh = substr($date_override, 8, 2); + $mm = substr($date_override, 10, 2); + $ss = substr($date_override, 12, 2); + $STARTdateSQL = "$YYYY$DS$MM$DS$DD $hh:$mm:$ss"; + $STARTdateEPOCH = timelocal($ss,$mm,$hh,$DD,$MM,$YYYY); + $ENDdateEPOCH = ($STARTdateEPOCH + 86400); + ($EDsec,$EDmin,$EDhour,$EDmday,$EDmon,$EDyear,$EDwday,$EDyday,$EDisdst) = localtime($ENDdateEPOCH); + $EDyear = ($EDyear + 1900); + $EDmon++; + if ($EDmon < 10) {$EDmon = "0$EDmon";} + if ($EDmday < 10) {$EDmday = "0$EDmday";} + if ($EDhour < 10) {$EDhour = "0$EDhour";} + if ($EDmin < 10) {$EDmin = "0$EDmin";} + if ($EDsec < 10) {$EDsec = "0$EDsec";} + $ENDdateSQL = "$EDyear-$EDmon-$EDmday $EDhour:$EDmin:$EDsec"; + + $dateSQL = "and (call_date >= \"$STARTdateSQL\" and call_date < \"$ENDdateSQL\")"; + $date_override_set++; + } + } + if ($args =~ /--campaign=/i) + { + @data_in = split(/--campaign=/,$args); + $campaign = $data_in[1]; + $campaign =~ s/ .*$//gi; + } + else + {$campaign='---ALL---';} + if ($args =~ /--pull-statuses=/i) + { + @data_in = split(/--pull-statuses=/,$args); + $pull_statuses = $data_in[1]; + $pull_statuses =~ s/ .*$//gi; + if ($pull_statuses =~ /---ALL---/) + {if (!$Q) {print "\n----- PULL ALL STATUSES -----\n\n";} } + } + else + {$pull_statuses='---ALL---';} + if ($args =~ /--test/i) + { + $T=1; $TEST=1; + print "\n----- TESTING -----\n\n"; + } + } + } +else + { + print "no command line options set, using defaults.\n"; + } +### end parsing run-time options ### + +if (!$Q) + { + print "\n\n\n\n\n\n\n\n\n\n\n\n-- QC_gather_records.pl --\n\n"; + print "This program is designed to gather records from VICIDIAL campaigns and in-groups and place them into the qc_vicidial_list_original table for processing by the QC system. \n"; + print "\n"; + } + +$secX = time(); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $timestamp = "$year-$mon-$mday $hour:$min:$sec"; + $filedate = "$year$mon$mday"; + $ABIfiledate = "$mon-$mday-$year$us$hour$min$sec"; + $shipdate = "$year-$mon-$mday"; + $datestamp = "$year/$mon/$mday $hour:$min"; + + $four_hours_behind = ($secX -14400); + ($MBsec,$MBmin,$MBhour,$MBmday,$MBmon,$MByear,$MBwday,$MByday,$MBisdst) = localtime($four_hours_behind); + $MByear = ($MByear + 1900); + $MBmon++; + if ($MBmon < 10) {$MBmon = "0$MBmon";} + if ($MBmday < 10) {$MBmday = "0$MBmday";} + if ($MBhour < 10) {$MBhour = "0$MBhour";} + if ($MBmin < 10) {$MBmin = "0$MBmin";} + if ($MBsec < 10) {$MBsec = "0$MBsec";} + $qc_this_pull_time = "$MByear-$MBmon-$MBmday $MBhour:$MBmin:$MBsec"; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP +if (!$VARDB_port) {$VARDB_port='3306';} + + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +$dbhB = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmtA = "SELECT use_non_latin,qc_last_pull_time FROM system_settings;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $non_latin = $aryA[0]; + $qc_last_pull_time = $aryA[1]; + } +$sthA->finish(); +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin > 0) {$affected_rows = $dbhA->do("SET NAMES 'UTF8'");} +if ($date_override_set<1) {$dateSQL = "and (call_date >= \"$qc_last_pull_time\")";} + +##### BEGIN find campaigns or in-groups to query ##### +$CLIcampSQLc=''; +$CLIcampSQLi=''; +$campaignSQL=''; +$ingroupSQL=''; +$pull_campaigns=0; +$pull_ingroups=0; + +if ($campaign !~ /---ALL---/) + { + $CLIcampSQLc = "and campaign_id='$campaign'"; + $CLIcampSQLi = "and group_id='$campaign'"; + } + +$stmtA = "select campaign_id from vicidial_campaigns where qc_enabled='Y' $CLIcampSQLc;"; +if ($DB) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $pull_campaigns) + { + @aryA = $sthA->fetchrow_array; + $campaignSQL .= "'$aryA[0]',"; + $campaigns[$pull_campaigns] = $aryA[0]; + $pull_campaigns++; + } +$sthA->finish(); +if (length($campaignSQL)>2) + {chop($campaignSQL);} +else {$campaignSQL="''";} + +$stmtA = "select group_id from vicidial_inbound_groups where qc_enabled='Y' $CLIcampSQLi;"; +if ($DB) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +while ($sthArows > $pull_ingroups) + { + @aryA = $sthA->fetchrow_array; + $ingroupSQL .= "'$aryA[0]',"; + $ingroups[$pull_ingroups] = $aryA[0]; + $pull_ingroups++; + } +$sthA->finish(); +if (length($ingroupSQL)>2) + {chop($ingroupSQL);} +else {$ingroupSQL="''";} +##### END find campaigns or in-groups to query ##### + + +##### START get lists of statuses to pull for each in-group and campaign ##### +$VCLquerySQL=''; +$VLquerySQL=''; +if ($pull_statuses =~ /---ALL---/) + { + ### if all statuses, loop through each campaign and in-group to grab statuses + $i=0; $j=0; + foreach(@ingroups) + { + $stmtA = "select qc_statuses,qc_shift_id,shift_start_time from vicidial_inbound_groups,vicidial_shifts where group_id='$ingroups[$i]' and qc_shift_id=shift_id;"; + if ($DB) {print "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $aryA[0] =~ s/ -$//gi; + @QCstatuses = split(/ /, $aryA[0]); + $QCs_to_print = $#QCstatuses; + $QCsql = ''; + $o=0; + while ($QCs_to_print > $o) + { + $o++; + $QCsql .= "'$QCstatuses[$o]',"; + } + $QCsql =~ s/,$//gi; + if (length($QCsql)<2) {$QCsql="''";} + + if ($j>0) {$VCLquerySQL .= " or ";} + $VCLquerySQL .= "(vicidial_closer_log.campaign_id='$ingroups[$i]' and vicidial_closer_log.status IN($QCsql))"; + $ingroup_statuses[$i] = $aryA[0]; + $j++; + } + $sthA->finish(); + $i++; + } + + ### if all statuses, loop through each campaign and in-group to grab statuses + $i=0; $j=0; + foreach(@campaigns) + { + $stmtA = "select qc_statuses,qc_shift_id,shift_start_time from vicidial_campaigns,vicidial_shifts where campaign_id='$campaigns[$i]' and qc_shift_id=shift_id;"; + if ($DB) {print "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $aryA[0] =~ s/ -$//gi; + @QCstatuses = split(/ /, $aryA[0]); + $QCs_to_print = $#QCstatuses; + $QCsql = ''; + $o=0; + while ($QCs_to_print > $o) + { + $o++; + $QCsql .= "'$QCstatuses[$o]',"; + } + $QCsql =~ s/,$//gi; + if (length($QCsql)<2) {$QCsql="''";} + + if ($j>0) {$VLquerySQL .= " or ";} + $VLquerySQL .= "(vicidial_log.campaign_id='$campaigns[$i]' and vicidial_log.status IN($QCsql))"; + $campaign_statuses[$i] = $aryA[0]; + $j++; + } + $sthA->finish(); + $i++; + } + $VCLquerySQL = "and ($VCLquerySQL)"; + $VLquerySQL = "and ($VLquerySQL)"; + if ($DB>0) {print "\n$VCLquerySQL\n";} + if ($DB>0) {print "\n$VLquerySQL\n";} + ##### END get lists of statuses to pull for each in-group and campaign ##### + + $pull_statusesSQL=''; + $close_statusesSQL=''; + } +else + { + $pull_statusesSQL = $pull_statuses; + $pull_statusesSQL =~ s/-/','/gi; + $pull_statusesSQL = "'$pull_statusesSQL'"; + $close_statusesSQL = $pull_statusesSQL; + $pull_statusesSQL = " and (vicidial_log.status IN($pull_statusesSQL))"; + $close_statusesSQL = " and (vicidial_closer_log.status IN($close_statusesSQL))"; + } + +##### Construct the queries to pull records for QC ##### +$VCLsql= "SELECT closecallid,lead_id,campaign_id,call_date,length_in_sec,status,user,comments,user_group,term_reason,xfercallid from vicidial_closer_log where campaign_id IN($ingroupSQL) $dateSQL $VCLquerySQL $close_statusesSQL;"; +$VLsql= "SELECT uniqueid,lead_id,campaign_id,call_date,length_in_sec,status,user,comments,user_group,term_reason from vicidial_log where campaign_id IN($campaignSQL) $dateSQL $VLquerySQL $pull_statusesSQL;"; + + +$j=0; +##### Pull records from vicidial_closer_log table +$stmtA = "$VCLsql"; +if ($DB) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$i=0; +while ($sthArows > $i) + { + @aryA = $sthA->fetchrow_array; + $vicidial_id[$j] = $aryA[0]; + $lead_id[$j] = $aryA[1]; + $campaign_id[$j] = $aryA[2]; + $call_date[$j] = $aryA[3]; + $length_in_sec[$j] = $aryA[4]; + $status[$j] = $aryA[5]; + $user[$j] = $aryA[6]; + $call_type[$j] = $aryA[7]; + $user_group[$j] = $aryA[8]; + $term_reason[$j] = $aryA[9]; + $xfercallid[$j] = $aryA[10]; + + $i++; $j++; + } +$sthA->finish(); + +##### Pull records from vicidial_log table +$stmtA = "$VLsql"; +if ($DB) {print "|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$k=0; +while ($sthArows > $k) + { + @aryA = $sthA->fetchrow_array; + $vicidial_id[$j] = $aryA[0]; + $lead_id[$j] = $aryA[1]; + $campaign_id[$j] = $aryA[2]; + $call_date[$j] = $aryA[3]; + $length_in_sec[$j] = $aryA[4]; + $status[$j] = $aryA[5]; + $user[$j] = $aryA[6]; + $call_type[$j] = $aryA[7]; + $user_group[$j] = $aryA[8]; + $term_reason[$j] = $aryA[9]; + $xfercallid[$j] = ''; + + $k++; $j++; + } +$sthA->finish(); + +if ($DB) {print "vicidial_closer_log records found: $i\n";} +if ($DB) {print "vicidial_log records found: $k\n";} +if ($DB) {print " TOTAL: $j\n";} + +$i=0; $j=0; +foreach(@vicidial_id) + { + ### check to see if there is already an entry in the vicidial_qc_list table for this record + $VDIDduplicate=0; + $stmtA = "select count(*) from vicidial_qc_list where vicidial_id='$vicidial_id[$i]';"; + if ($DB) {print "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VDIDduplicate = $aryA[0]; + } + $sthA->finish(); + + if ($VDIDduplicate > 0) + { + $j++; + if ($DB) {print "DUPLICATE: |$vicidial_id[$i]|$i|$j|\n";} + } + else + { + ### grab vicidial_list details + $stmtA = "select vendor_lead_code,source_id,list_id,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments from vicidial_list where lead_id='$lead_id[$i]';"; + if ($DB) {print "|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $vendor_lead_code[$i] = $aryA[0]; + $source_id[$i] = $aryA[1]; + $list_id[$i] = $aryA[2]; + $phone_code[$i] = $aryA[3]; + $phone_number[$i] = $aryA[4]; + $title[$i] = $aryA[5]; + $first_name[$i] = $aryA[6]; + $middle_initial[$i] = $aryA[7]; + $last_name[$i] = $aryA[8]; + $address1[$i] = $aryA[9]; + $address2[$i] = $aryA[10]; + $address3[$i] = $aryA[11]; + $city[$i] = $aryA[12]; + $state[$i] = $aryA[13]; + $province[$i] = $aryA[14]; + $postal_code[$i] = $aryA[15]; + $country_code[$i] = $aryA[16]; + $gender[$i] = $aryA[17]; + $date_of_birth[$i] = $aryA[18]; + $alt_phone[$i] = $aryA[19]; + $email[$i] = $aryA[20]; + $security_phrase[$i] = $aryA[21]; + $comments[$i] = $aryA[22]; + } + $sthA->finish(); + + ### if there is a fronter, look for one in the xfer log by the xfercallid + if (length($xfercallid > 0)) + { + $stmtA = "select user from vicidial_xfer_log where xfercallid='$xfercallid[$i]' limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtB ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $fronter[$i] = $aryA[0]; + } + $sthA->finish(); + } + else + {$fronter[$i]='';} + + ### Insert a record into the vicidial_qc_list table + $stmtA = "INSERT INTO vicidial_qc_list SET "; + $stmtA .= "qc_import_date='$timestamp',"; + $stmtA .= "qc_stage='NEW',"; + $stmtA .= "call_date='$call_date[$i]',"; + $stmtA .= "vicidial_id='$vicidial_id[$i]',"; + $stmtA .= "campaign_group_id='$campaign_id[$i]',"; + $stmtA .= "lead_id='$lead_id[$i]',"; + $stmtA .= "list_id='$list_id[$i]',"; + $stmtA .= "length_in_sec='$length_in_sec[$i]',"; + $stmtA .= "status='$status[$i]',"; + $stmtA .= "call_type='$call_type[$i]',"; + $stmtA .= "term_reason='$term_reason[$i]',"; + $stmtA .= "qc_user='VDQC',"; + $stmtA .= "user='$user[$i]',"; + $stmtA .= "user_group='$user_group[$i]',"; + $stmtA .= "fronter='$fronter[$i]',"; + $stmtA .= "vendor_lead_code='$vendor_lead_code[$i]',"; + $stmtA .= "source_id='$source_id[$i]',"; + $stmtA .= "phone_code='$phone_code[$i]',"; + $stmtA .= "phone_number='$phone_number[$i]',"; + $stmtA .= "title='$title[$i]',"; + $stmtA .= "first_name='$first_name[$i]',"; + $stmtA .= "middle_initial='$middle_initial[$i]',"; + $stmtA .= "last_name='$last_name[$i]',"; + $stmtA .= "address1='$address1[$i]',"; + $stmtA .= "address2='$address2[$i]',"; + $stmtA .= "address3='$address3[$i]',"; + $stmtA .= "city='$city[$i]',"; + $stmtA .= "state='$state[$i]',"; + $stmtA .= "province='$province[$i]',"; + $stmtA .= "postal_code='$postal_code[$i]',"; + $stmtA .= "country_code='$country_code[$i]',"; + $stmtA .= "gender='$gender[$i]',"; + $stmtA .= "date_of_birth='$date_of_birth[$i]',"; + $stmtA .= "alt_phone='$alt_phone[$i]',"; + $stmtA .= "email='$email[$i]',"; + $stmtA .= "security_phrase='$security_phrase[$i]',"; + $stmtA .= "comments='$comments[$i]'"; + $stmtA .= ";"; + $affected_rows = $dbhA->do($stmtA); + $inserted = ($inserted + $affected_rows); + } + $i++; + } +if ($DB) {print "Records Inserted: $inserted out of $i\n";} + +$stmtA = "UPDATE system_settings SET qc_last_pull_time = '$qc_this_pull_time';"; +$affected_rows = $dbhA->do($stmtA); +if ($DB) {print "system_settings update: $qc_this_pull_time\n";} + +if ($DB) {print "DONE\n";} + +exit; + diff --git a/agc_2-X/branches/agc_2.0.5/bin/VICIDIAL_DEDUPE_leads.pl b/agc_2-X/branches/agc_2.0.5/bin/VICIDIAL_DEDUPE_leads.pl new file mode 100644 index 00000000..2b0abe8e --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/VICIDIAL_DEDUPE_leads.pl @@ -0,0 +1,323 @@ +#!/usr/bin/perl +# +# VICIDIAL_DEDUPE_leads.pl version 2.0.5 +# +# DESCRIPTION: +# moves duplicate leads to another list_id +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# /usr/share/astguiclient/VICIDIAL_DEDUPE_leads.pl --debugX --campaign-duplicate=CTF --ignore-list=999 +# +# CHANGES +# 70521-1643 - first build +# + +$secX = time(); + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +$liveupdate=0; + +if (!$VDHLOGfile) {$VDHLOGfile = "$PATHlogs/dupleads.$year-$mon-$mday";} + +print "\n\n\n\n\n\n\n\n\n\n\n\n-- VICIDIAL_DEDUPE_leads.pl --\n\n"; +print "This program is designed to scan all leads for a campaign or entire system that are duplicates and move the newer lead into a different list_id. \n\n"; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n"; + print " [-q] = quiet\n"; + print " [-t] = test\n"; + print " [--live-update] = runs the live UPDATE to move leads, default is report only\n"; + print " [--system-duplicate] = checks for duplicates in entire database\n"; + print " [--campaign-duplicate=1234] = duplicate check witin this campaign\n"; + print " [--ignore-list=999] = ignores the list in duplicate check\n"; + print " [--duplicate-list=998] = list_id that duplicate leads are moved to, default is 998\n"; + print " [-h] = this help screen\n\n"; + print "\n"; + + exit; + } + else + { + if ($args =~ /-debug/i) + { + $DB=1; + print "\n-----DEBUGGING -----\n\n"; + } + if ($args =~ /-debugX/i) + { + $DBX=1; + print "\n----- SUPER-DUPER DEBUGGING -----\n\n"; + } + if ($args =~ /-q/i) + { + $q=1; + } + if ($args =~ /-t/i) + { + $T=1; + $TEST=1; + print "\n----- TESTING -----\n\n"; + } + if ($args =~ /-live-update/i) + { + $liveupdate=1; + print "\n----- RUN LIVE UPDATE -----\n\n"; + } + if ($args =~ /-system-duplicate/i) + { + $sysdup=1; + print "\n----- ENTIRE SYSTEM DUPLICATE CHECK -----\n\n"; + } + if ($args =~ /-campaign-duplicate=/i) + { + @data_in = split(/-campaign-duplicate=/,$args); + $campdup = $data_in[1]; + $campdup =~ s/ .*//gi; + print "\n----- CAMPAIGN DUPLICATE CHECK: $campdup -----\n\n"; + } + else + {$campdup = '';} + + if ($args =~ /--ignore-list=/i) + { + @data_in = split(/--ignore-list=/,$args); + $ignorelist = $data_in[1]; + $ignorelist =~ s/ .*//gi; + print "\n----- LISTID IGNORE: $ignorelist -----\n\n"; + } + else + {$ignorelist = '';} + + if ($args =~ /--duplicate-list=/i) + { + @data_in = split(/--duplicate-list=/,$args); + $duplicatelist = $data_in[1]; + $duplicatelist =~ s/ .*//gi; + print "\n----- LISTID DUPLICATE: $duplicatelist -----\n\n"; + } + else + {$duplicatelist = '998';} + + } +} +else +{ +print "no command line options set\n"; +$args = ""; +$i=0; +$campdup = ''; +$liveupdate=0; +$duplicatelist = '998'; +} +### end parsing run-time options ### + +$US = '_'; +$phone_list = '|'; +$MT[0]=''; + +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +open(out, ">>$VDHLOGfile") || die "Can't open $VDHLOGfile: $!\n"; +print out "\n\nSTARTED DUPLICATE CHECK: $pulldate0|$sysdup: $sysdup|campdup: $campdup|ignorelist: $ignorelist|\n"; +close(out); + +$campSQL=''; +$listSQL=''; +$where='WHERE'; +$and='and'; +if (length($campdup)>0) + { + $stmtA = "select list_id from vicidial_lists where campaign_id='$campdup';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lists .= "'$aryA[0]',"; + $rec_count++; + } + $sthA->finish(); + chop($dup_lists); + $campSQL="list_id IN($dup_lists)"; + if (length($ignorelist)>0) + { + $listSQL=" and list_id NOT IN('$ignorelist')"; + } + + } +else + { + if (length($ignorelist)>0) + { + $listSQL="list_id NOT IN('$ignorelist')"; + } + else + { + $where=''; + $and=''; + } + } + +$stmtA = "select count(*) as tally, phone_number from vicidial_list $where $campSQL $listSQL group by phone_number order by tally desc;"; +if($DBX){print STDERR "\n|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$i=0; +$nonDUP='0'; +while ( ($sthArows > $i) && ($nonDUP=='0') ) + { + @aryA = $sthA->fetchrow_array; + if ($aryA[0] > 1) + { + $dup_count[$i] = "$aryA[0]"; + $dup_list[$i] = "$aryA[1]"; + } + else + { + $nonDUP++; + } + $i++; + } +$sthA->finish(); + +$b=0; +foreach(@dup_list) + { + $dup_limit = ($dup_count[$b] - 1); + $stmtA = "select lead_id,list_id,entry_date from vicidial_list where phone_number='$dup_list[$b]' $and $campSQL $listSQL order by entry_date;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + open(out, ">>$VDHLOGfile") || die "Can't open $VDHLOGfile: $!\n"; + print out "$dup_list[$b]|$dup_count[$b]|"; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + if ($rec_count<1) {print out "$aryA[0]|$aryA[1]|$aryA[2]\n";} + else + { + print out " $aryA[0]|$aryA[1]|$aryA[2]\n"; + $DUP_updates .= "'$aryA[0]',"; + } + $rec_count++; + } + close(out); + $sthA->finish(); + + $b++; + + if ($b =~ /100$/i) {print STDERR "0 $b\r";} + if ($b =~ /200$/i) {print STDERR "+ $b\r";} + if ($b =~ /300$/i) {print STDERR "| $b\r";} + if ($b =~ /400$/i) {print STDERR "\\ $b\r";} + if ($b =~ /500$/i) {print STDERR "- $b\r";} + if ($b =~ /600$/i) {print STDERR "/ $b\r";} + if ($b =~ /700$/i) {print STDERR "| $b\r";} + if ($b =~ /800$/i) {print STDERR "+ $b\r";} + if ($b =~ /900$/i) {print STDERR "0 $b\r";} + if ($b =~ /000$/i) {print "|$b|$phone_number|\n";} + + } +chop($DUP_updates); + +if ($liveupdate>0) + { + $stmtA = "UPDATE vicidial_list set list_id='$duplicatelist' where lead_id IN($DUP_updates);"; + if($DB){print STDERR "\n|$stmtA|\n";} + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + + if($DBX){print STDERR "\nDUP UPDATES|$DUP_updates|\n $affected_rows Leads moved to $duplicatelist\n";} + } +else + { + if($DB){print STDERR "\n|$stmtA|\n";} + } + +$dbhA->disconnect(); + +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secX); +$secZm = ($secZ /60); + +print "script execution time in seconds: $secZ minutes: $secZm\n"; + +exit; + diff --git a/agc_2-X/branches/agc_2.0.5/bin/VICIDIAL_IN_new_leads_file.pl b/agc_2-X/branches/agc_2.0.5/bin/VICIDIAL_IN_new_leads_file.pl new file mode 100644 index 00000000..8d76bac6 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/VICIDIAL_IN_new_leads_file.pl @@ -0,0 +1,1508 @@ +#!/usr/bin/perl +# +# VICIDIAL_IN_new_leads_file.pl version 2.0.5 *DBI-version* +# +# DESCRIPTION: +# script lets you insert leads into the vicidial_list table from a TAB-delimited +# lead file that is in the proper format. (for format see --help) +# +# It is recommended that you run this program on the local Asterisk machine +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# +# CHANGES +# 60615-1543 - Added gmt_offset_now lookup for each lead +# - Added option to force a gmt value(field after COMMENTS field) +# 60616-0958 - Added listID override feature to force all leads into same list +# 60807-1003 - Changed to DBI +# - Changed to use /etc/astguiclient.conf for configs +# 60906-1055 - Added filter of non-digits in alt_phone field +# 60913-1236 - Fixed MySQL bugs and non-debug bug +# - Added duplicate check flag option within same list +# 61127-1132 - Added new DST methods +# 61128-1037 - Added postal codes GMT lookup option +# 70510-1518 - Added campaign and system duplicate check and phonecode override +# 70801-0912 - Added called count and status to import leads format (fields 24 and 25) +# 70815-2128 - Added entry_date to import leads format (field 26) +# 80128-0105 - Fixed bugs in file loading +# 80428-0320 - UTF8 update +# 80713-0023 - Added last_local_call_time field default of 2008-01-01 +# 80730-1607 - Added minicsv format +# 80812-1204 - Added FTP grab options and summary email options +# 80829-2301 - Added multi-alt-phone entry insertion capability +# + +$secX = time(); +$MT[0]=''; +$Ealert=''; + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); +$MT[0]=''; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_host/) && ($CLIREPORT_host < 1) ) + {$VARREPORT_host = $line; $VARREPORT_host =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_user/) && ($CLIREPORT_user < 1) ) + {$VARREPORT_user = $line; $VARREPORT_user =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_pass/) && ($CLIREPORT_pass < 1) ) + {$VARREPORT_pass = $line; $VARREPORT_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_port/) && ($CLIREPORT_port < 1) ) + {$VARREPORT_port = $line; $VARREPORT_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + + +if (!$VDHLOGfile) {$VDHLOGfile = "$PATHlogs/newleads.$year-$mon-$mday";} + +### begin parsing run-time options ### +if (length($ARGV[0])>1) + { + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n"; + print " [-q] = quiet\n"; + print " [-t] = test\n"; + print " [--forcegmt] = forces gmt value of column after comments column\n"; + print " [--debug] = debug output\n"; + print " [--format=standard] = ability to define a format, standard is default, formats allowed shown in examples\n"; + print " [--forcelistid=1234] = overrides the listID given in the file with the 1234\n"; + print " [--forcephonecode=44] = overrides the phone_code given in the lead with the 44\n"; + print " [--duplicate-check] = checks for the same phone number in the same list id before inserting lead\n"; + print " [--duplicate-campaign-check] = checks for the same phone number in the same campaign before inserting lead\n"; + print " [--duplicate-system-check] = checks for the same phone number in the entire system before inserting lead\n"; + print " [--postal-code-gmt] = checks for the time zone based on the postal code given where available\n"; + print " [--ftp-pull] = grabs lead files from a remote FTP server, uses REPORTS FTP login information\n"; + print " [--ftp-dir=leads_in] = remote FTP server directory to grab files from, should have a DONE sub-directory\n"; + print " [--email-list=test@test.com:test2@test.com] = send email results for each file to these addresses\n"; + print " [--email-sender=vicidial@localhost] = sender for the email results\n"; + print " [-h] = this help screen\n\n"; + print "\n"; + print "This script takes in lead files in the following order when they are placed in the $PATHhome/LEADS_IN directory to be imported into the vicidial_list table (examples):\n\n"; + print "standard:\n"; + print "vendor_lead_code|source_code|list_id|phone_code|phone_number|title|first_name|middle|last_name|address1|address2|address3|city|state|province|postal_code|country|gender|date_of_birth|alt_phone|email|security_phrase|COMMENTS|called_count|status|entry_date|multi-alt-entries\n"; + print "3857822|31022|105|01144|1625551212|MRS|B||BURTON|249 MUNDON ROAD|MALDON|ESSEX||||CM9 6PW|UK||||||COMMENTS|2|B|2007-08-09 00:00:00|7275551212_1_work!7275551213_61_sister house!7275551214_44_neighbor\n\n"; + print "minicsv:\n"; + print "address1,city,name,phone_number,state,postal_code\n"; + print "\"105 Fifth St\",\"Steinhatchee\",\"Frank Smith\",\"3525556601\",\"FL\",\"32359\"\n\n"; + + exit; + } + else + { + if ($args =~ /-debug/i) + { + $DB=1; + print "\n----- DEBUGGING -----\n\n"; + } + if ($args =~ /-debugX/i) + { + $DBX=1; + print "\n----- SUPER-DUPER DEBUGGING -----\n\n"; + } + else {$DBX=0;} + + if ($args =~ /-q/i) + { + $q=1; + } + if ($args =~ /-t/i) + { + $T=1; + $TEST=1; + print "\n----- TESTING -----\n\n"; + } + if ($args =~ /-forcegmt/i) + { + $forcegmt=1; + print "\n----- FORCE GMT -----\n\n"; + } + if ($args =~ /-forcelistid=/i) + { + @data_in = split(/-forcelistid=/,$args); + $forcelistid = $data_in[1]; + $forcelistid =~ s/ .*//gi; + print "\n----- FORCE LISTID OVERRIDE: $forcelistid -----\n\n"; + } + else + {$forcelistid = '';} + + if ($args =~ /-format=/i) + { + @data_in = split(/-format=/,$args); + $format = $data_in[1]; + $format =~ s/ .*//gi; + print "\n----- FORMAT OVERRIDE: $format -----\n\n"; + } + else + {$format = 'standard';} + + if ($args =~ /--forcephonecode=/i) + { + @data_in = split(/--forcephonecode=/,$args); + $forcephonecode = $data_in[1]; + $forcephonecode =~ s/ .*//gi; + print "\n----- FORCE PHONECODE OVERRIDE: $forcephonecode -----\n\n"; + } + else + {$forcephonecode = '';} + + if ($args =~ /-duplicate-check/i) + { + $dupcheck=1; + print "\n----- DUPLICATE CHECK -----\n\n"; + } + if ($args =~ /-duplicate-campaign-check/i) + { + $dupcheckcamp=1; + print "\n----- DUPLICATE CAMPAIGN CHECK -----\n\n"; + } + if ($args =~ /-duplicate-system-check/i) + { + $dupchecksys=1; + print "\n----- DUPLICATE SYSTEM CHECK -----\n\n"; + } + if ($args =~ /-postal-code-gmt/i) + { + $postalgmt=1; + print "\n----- POSTAL CODE TIMEZONE -----\n\n"; + } + if ($args =~ /-ftp-pull/i) + { + $ftp_pull=1; + print "\n----- FTP LEAD FILE PULL -----\n\n"; + } + if ($args =~ /--ftp-dir=/i) + { + @data_in = split(/--ftp-dir=/,$args); + $ftp_dir = $data_in[1]; + $ftp_dir =~ s/ .*//gi; + print "\n----- REMOTE FTP DIRECTORY: $ftp_dir -----\n\n"; + } + else + {$ftp_dir = '';} + + if ($args =~ /--email-list=/i) + { + @data_in = split(/--email-list=/,$args); + $email_list = $data_in[1]; + $email_list =~ s/ .*//gi; + $email_list =~ s/:/,/gi; + print "\n----- EMAIL NOTIFICATION: $email_list -----\n\n"; + } + else + {$email_list = '';} + + if ($args =~ /--email-sender=/i) + { + @data_in = split(/--email-sender=/,$args); + $email_sender = $data_in[1]; + $email_sender =~ s/ .*//gi; + $email_sender =~ s/:/,/gi; + print "\n----- EMAIL NOTIFICATION SENDER: $email_sender -----\n\n"; + } + else + {$email_sender = 'vicidial@localhost';} + + } + } +else + { + print "no command line options set\n"; + $args = ""; + $i=0; + $forcelistid = ''; + $format='standard'; + } +### end parsing run-time options ### + +if ($q < 1) + { + print "\n\n\n\n\n\n\n\n\n\n\n\n-- VICIDIAL_IN_new_leads_file.pl --\n\n"; + print "This program is designed to take a tab delimited file and import it into the VICIDIAL system. \n\n"; + } + +$i=0; +$US = '_'; +$phone_list = '|'; + +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmtA = "SELECT use_non_latin FROM system_settings;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $non_latin = "$aryA[0]"; + } +$sthA->finish(); +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin > 0) {$affected_rows = $dbhA->do("SET NAMES 'UTF8'");} + +$suf = '.txt'; +$people_packages_id_update=''; +$dir1 = "$PATHhome/LEADS_IN"; +$dir2 = "$PATHhome/LEADS_IN/DONE"; + + if($DBX){print STDERR "\nLEADS_IN directory: |$dir1|\n";} + +if ($ftp_pull > 0) + { + $i=0; + use Net::FTP; + + $files_copied_count=0; + + $ftp = Net::FTP->new("$VARREPORT_host", Port => "$VARREPORT_port", Debug => "$DBX", Passive => 1) + or die "Can't connect: $@\n"; + $ftp->login("$VARREPORT_user","$VARREPORT_pass") or die "Cannot log in /: $!"; + @FILES = $ftp->dir("$ftp_dir") + or die "Can't get a list of files in $ftp_dir: $!"; + + foreach(@FILES) + { + if ($DBX > 0) {print "$FILES[$i]\n";} + if ($FILES[$i] !~ /^d/i) + { + chomp($FILES[$i]); + @FILEDETAILS = split(/ \d\d:\d\d /, $FILES[$i]); + $FILES[$i] = "$FILEDETAILS[1]"; + $FILES[$i] =~ s/ *$//gi; + + if (length($FILES[$i]) > 4) + { + $GOODfname = $FILES[$i]; + $FILES[$i] =~ s/ /_/gi; + $FILES[$i] =~ s/\(|\)|\||\\|\/|\'|\"|//gi; + $ftp->rename("$ftp_dir/$GOODfname","$ftp_dir/$FILES[$i]"); + $FILEname = $FILES[$i]; + $ftp->get("$ftp_dir/$FILES[$i]", "$dir1/$FILES[$i]"); + + if (!$TEST) {$ftp->rename("$ftp_dir/$FILES[$i]", "$ftp_dir/DONE/$FILES[$i]");} + if ($DB > 0) {print "FTP FILE COPIED: $FILES[$i]\n";} + $files_copied_count++; + } + } + $i++; + } + if (!$q) {print "$ftp_dir - $VARREPORT_host - $#FILES - $files_copied_count\n";} + } + + +$i=0; +@FILES=@MT; +opendir(FILE, "$dir1/"); +@FILES = readdir(FILE); + +foreach(@FILES) + { + $size1 = 0; + $size2 = 0; + $person_id_delete = ''; + $transaction_id_delete = ''; + + if (length($FILES[$i]) > 4) + { + + $size1 = (-s "$dir1/$FILES[$i]"); + if (!$q) {print "$FILES[$i] $size1\n";} + sleep(2); + $size2 = (-s "$dir1/$FILES[$i]"); + if (!$q) {print "$FILES[$i] $size2\n\n";} + + + if ( ($FILES[$i] !~ /^TRANSFERRED/i) && ($size1 eq $size2) && (length($FILES[$i]) > 4)) + { + $GOODfname = $FILES[$i]; + $FILES[$i] =~ s/ /_/gi; + $FILES[$i] =~ s/\(|\)|\||\\|\/|\'|\"|//gi; + rename("$dir1/$GOODfname","$dir1/$FILES[$i]"); + $FILEname = $FILES[$i]; + + `cp -f $dir1/$FILES[$i] $dir2/$source$FILES[$i]`; + + ### open the in file for reading ### + open(infile, "$dir2/$source$FILES[$i]") + || die "Can't open $source$FILES[$i]: $!\n"; + + + ### Grab Server values from the database + $stmtA = "SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $DBSERVER_GMT = $aryA[0]; + if (length($DBSERVER_GMT)>0) {$SERVER_GMT = $DBSERVER_GMT;} + $sthA->finish(); + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + + if ($isdst) {$LOCAL_GMT_OFF++;} + if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + + + $a=0; ### each line of input file counter ### + $b=0; ### status of 'APPROVED' counter ### + $c=0; ### status of 'DECLINED' counter ### + $d=0; ### status of 'REFERRED' counter ### + $e=0; ### status of 'ERROR' counter ### + $f=0; ### number of 'DUPLICATE' counter ### + $g=0; ### number of leads with multi-alt-entries + + $multi_insert_counter=0; + $multistmt=''; + + #if ($DB) + while () + { + @m=@MT; + # print "$a| $number\n"; + $number = $_; + chomp($number); + # $number =~ s/,/\|/gi; + $number =~ s/\t/\|/gi; + $number =~ s/\'|\t|\r|\n|\l//gi; + $number =~ s/\'|\t|\r|\n|\l//gi; + $number =~ s/\",,,,,,,\"/\|\|\|\|\|\|\|/gi; + $number =~ s/\",,,,,,\"/\|\|\|\|\|\|/gi; + $number =~ s/\",,,,,\"/\|\|\|\|\|/gi; + $number =~ s/\",,,,\"/\|\|\|\|/gi; + $number =~ s/\",,,\"/\|\|\|/gi; + $number =~ s/\",,\"/\|\|/gi; + $number =~ s/\",\"/\|/gi; + $number =~ s/\"//gi; + @m = split(/\|/, $number); + + + # This is the format for the minicsv lead files + #"105 Fifth St","Steinhatchee","Frank Smith","3525556601","FL","32359" + if ($format =~ /minicsv/) + { + @name=@MT; + $vendor_lead_code = ''; + $source_code = ''; + $list_id = '995'; + $phone_code = '1'; + $phone_number = $m[3]; chomp($phone_number); $phone_number =~ s/\D//gi; + $USarea = substr($phone_number, 0, 3); + $title = ''; + $full_name = $m[2]; @name = split(/ /, $full_name); + $first_name = $name[1]; chomp($first_name); + $last_name = "$name[0] $name[2]"; chomp($first_name); + $middle_initial = ''; + $address1 = $m[0]; chomp($address1); + $address2 = ''; + $address3 = ''; + $city = $m[1]; chomp($city); + $state = $m[4]; chomp($state); + $province = ''; + $postal_code = $m[5]; chomp($postal_code); + $country = 'USA'; + $gender = 'U'; + $date_of_birth = '0000-00-00'; + $alt_phone = ''; + $email = ''; + $security_phrase = ''; + $comments = ''; + $called_count = 0; + $status = 'NEW'; + } + # This is the format for the standard lead files + #3857822|31022|105|01144|1625551212|MRS|B||BURTON|249 MUNDON ROAD|MALDON|ESSEX||||CM9 6PW|UK||||||COMMENTS + else + { + $vendor_lead_code = $m[0]; chomp($vendor_lead_code); + $source_code = $m[1]; chomp($source_code); $source_id = $source_code; + $list_id = $m[2]; chomp($list_id); + $phone_code = $m[3]; chomp($phone_code); $phone_code =~ s/\D//gi; + $phone_number = $m[4]; chomp($phone_number); $phone_number =~ s/\D//gi; + $USarea = substr($phone_number, 0, 3); + $title = $m[5]; chomp($title); + $first_name = $m[6]; chomp($first_name); + $middle_initial = $m[7]; chomp($middle_initial); + $last_name = $m[8]; chomp($last_name); + $address1 = $m[9]; chomp($address1); + $address2 = $m[10]; chomp($address2); + $address3 = $m[11]; chomp($address3); + $city = $m[12]; chomp($city); + $state = $m[13]; chomp($state); + $province = $m[14]; chomp($province); + $postal_code = $m[15]; chomp($postal_code); + $country = $m[16]; chomp($country); + $gender = $m[17]; + $date_of_birth = $m[18]; + $alt_phone = $m[19]; chomp($alt_phone); $alt_phone =~ s/\D//gi; + $email = $m[20]; + $security_phrase = $m[21]; + $comments = $m[22]; + $called_count = $m[23]; $called_count =~ s/\D|\r|\n|\t//gi; if (length($called_count)<1) {$called_count=0;} + $status = $m[24]; $status =~ s/ |\r|\n|\t//gi; if (length($status)<1) {$status='NEW';} + $insert_date = $m[25]; $insert_date =~ s/\r|\n|\t|[a-zA-Z]//gi; if (length($insert_date)<6) {$insert_date=$pulldate0;} + if ($insert_date =~ /\//) + { + @iD = split(/\//, $insert_date); + $iD[0] = sprintf("%02d", $iD[0]); + $iD[1] = sprintf("%02d", $iD[1]); + $insert_date = "$iD[2]-$iD[0]-$iD[1]"; + } + $multi_alt_phones = $m[26]; + + $map_count=0; + if (length($multi_alt_phones)>4) + { + @map=@MT; @ALTm_phone_code=@MT; @ALTm_phone_number=@MT; @ALTm_phone_note=@MT; + @map = split(/\!/, $multi_alt_phones); + $map_count = ($#map +1); + if ($DBX) {print "multi-al-entry: $a|$map_count|$multi_alt_phones\n";} + $g++; + $r=0; + while ($r < $map_count) + { + @ncn=@MT; + @ncn = split(/\_/, $map[$r]); + print "$ncn[0]|$ncn[1]|$ncn[2]"; + + if (length($forcephonecode) > 0) + {$ALTm_phone_code[$r] = $forcephonecode;} + else + {$ALTm_phone_code[$r] = $ncn[1];} + if (length($ALTm_phone_code[$r]) < 1) + {$ALTm_phone_code[$r]='1';} + $ALTm_phone_number[$r] = $ncn[0]; + $ALTm_phone_note[$r] = $ncn[2]; + $r++; + } + } + } + + if (length($forcelistid) > 0) + { + $list_id = $forcelistid; # set list_id to override value + } + if (length($forcephonecode) > 0) + { + $phone_code = $forcephonecode; # set phone_code to override value + } + + if ($DBX) {print "$a|$phone_number\n";} + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if ($dupchecksys > 0) + { + $dup_lead=0; + $stmtA = "select count(*) from vicidial_list where phone_number='$phone_number';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead = $aryA[0]; + $dup_lead_list=$list_id; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if ($dupcheck > 0) + { + $dup_lead=0; + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id='$list_id' limit 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = $aryA[0]; + $dup_lead++; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if ($dupcheckcamp > 0) + { + $dup_lead=0; + $dup_lists=''; + + $stmtA = "select count(*) from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $ci_recs = $aryA[0]; + $sthA->finish(); + if ($ci_recs > 0) + { + $stmtA = "select campaign_id from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $dup_camp = $aryA[0]; + $sthA->finish(); + + $stmtA = "select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lists .= "'$aryA[0]',"; + $rec_count++; + } + $sthA->finish(); + + chop($dup_lists); + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = "'$aryA[0]',"; + $rec_count++; + $dup_lead=1; + } + $sthA->finish(); + } + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + + if ( (length($phone_number)>6) && ($dup_lead < 1) ) + { + $phone_list .= "$phone_number$US$list_id|"; + # set default values + $modify_date = ""; + $user = ""; + $called_since_last_reset='N'; + $gmt_offset = '0'; + + if ($forcegmt > 0) + { + $gmt_offset = $m[23]; # set GMT offset value to 24th field value + } + else + { + $postalgmt_found=0; + if ( ($postalgmt > 0) && (length($postal_code)>4) ) + { + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[2]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[3]; + $dst_range = $aryA[4]; + $PC_processed++; + $rec_count++; + $postalgmt_found++; + if ($DBX) {print " Postal GMT record found for $postal_code: |$gmt_offset|$dst|$dst_range|\n";} + } + $sthA->finish(); + } + } + if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### MEXICO ### + if ($phone_code =~ /^52$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### AUSTRALIA ### + if ($phone_code =~ /^61$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + } + + ### Find out if DST to raise the gmt offset ### + $AC_GMT_diff = ($area_GMT - $LOCAL_GMT_OFF_STD); + $AC_localtime = ($secX + (3600 * $AC_GMT_diff)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($AC_localtime); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + $AC_processed=0; + + if ( (!$AC_processed) && ($dst_range =~ /SSM-FSN/) ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + &USACAN_dstcalc; + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSA-LSO/) ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + &NA_dstcalc; + if ($DBX) {print " DST: $NA_DST\n";} + if ($NA_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSM-LSO/) ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + &GBR_dstcalc; + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSO-LSM/) ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + &AUS_dstcalc; + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-LSM/) ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + &AUST_dstcalc; + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-TSM/) ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + &NZL_dstcalc; + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /TSO-LSF/) ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + &BZL_dstcalc; + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$gmt_offset++;} + $AC_processed++; + } + if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + + } + + + if ($map_count > 0) + { + $stmtZ = "INSERT INTO vicidial_list values('','$insert_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments','$called_count','2008-01-01 00:00:00');"; + if (!$T) {$affected_rows = $dbhA->do($stmtZ); } # or die "Couldn't execute query: |$stmtZ|\n"; + $lead_id = $dbhA->{'mysql_insertid'}; + if($DB){print STDERR "\n|$affected_rows|$stmtZ|\n";} + $c++; + + $r=0; $s=0; + while ($r < $map_count) + { + $s++; + $stmtZ = "INSERT INTO vicidial_list_alt_phones (lead_id,phone_code,phone_number,alt_phone_note,alt_phone_count) values('$lead_id','$ALTm_phone_code[$r]','$ALTm_phone_number[$r]','$ALTm_phone_note[$r]','$s');"; + if (!$T) {$affected_rows = $dbhA->do($stmtZ); } # or die "Couldn't execute query: |$stmtZ|\n"; + # $alt_phone_id = $dbhA->{'mysql_insertid'}; + if($DB){print STDERR "\n|$affected_rows|$stmtZ|\n";} + $r++; + } + } + else + { + if ($multi_insert_counter > 8) + { + ### insert good lead into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$insert_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments','$called_count','2008-01-01 00:00:00');"; + if (!$T) {$affected_rows = $dbhA->do($stmtZ); } # or die "Couldn't execute query: |$stmtZ|\n"; + if($DB){print STDERR "\n|$affected_rows|$stmtZ|\n";} + + $multistmt=''; + $multi_insert_counter=0; + $c++; + } + else + { + $multistmt .= "('','$insert_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments','$called_count','2008-01-01 00:00:00'),"; + $multi_insert_counter++; + } + } + $b++; + } + else + { + if ($dup_lead > 0) + {print "DUPLICATE: $phone_number|$list_id|$dup_lead_list|$a\n"; $f++;} + else + {print "BAD Home_Phone: $phone_number|$vendor_id|$a\n"; $e++;} + } + + $a++; + + if ($a =~ /100$/i) {print STDERR "0 $a\r";} + if ($a =~ /200$/i) {print STDERR "+ $a\r";} + if ($a =~ /300$/i) {print STDERR "| $a\r";} + if ($a =~ /400$/i) {print STDERR "\\ $a\r";} + if ($a =~ /500$/i) {print STDERR "- $a\r";} + if ($a =~ /600$/i) {print STDERR "/ $a\r";} + if ($a =~ /700$/i) {print STDERR "| $a\r";} + if ($a =~ /800$/i) {print STDERR "+ $a\r";} + if ($a =~ /900$/i) {print STDERR "0 $a\r";} + if ($a =~ /000$/i) {print "$a|$b|$c|$d|$e|$f|$g|$phone_number|\n";} + + } + + if (length($multistmt) > 10) + { + chop($multistmt); + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt;"; + if (!$T) {$affected_rows = $dbhA->do($stmtZ); } # or die "Couldn't execute query: |$stmtZ|\n"; + if($DB){print STDERR "\n|$affected_rows|$stmtZ|\n";} + + $multistmt=''; + $multi_insert_counter=0; + $c++; + } + + + ### open the stats out file for writing ### + open(Sout, ">>$VDHLOGfile") + || die "Can't open $VDHLOGfile: $!\n"; + + + ### close file handler and DB connections ### + $Falert = "\n\nTOTALS FOR $FILEname:\n"; + $Falert .= "Lines in lead file: $a\n"; + $Falert .= "INSERTED: $b\n"; + $Falert .= "INSERT STATEMENTS: $c\n"; + $Falert .= "ERROR: $e\n"; + $Falert .= "MULTI-ALT-PHONE: $g\n"; + if ($f > 0) + {$Falert .= "DUPLICATES: $f\n";} + + print "$Falert"; + print Sout "$Falert"; + $Ealert .= "$Falert"; + + close(infile); + close(Sout); + chmod 0777, "$VDHLOGfile"; + + ### Move file to the DONE directory locally + if (!$T) {`mv -f $dir1/$FILEname $dir2/$FILEname`;} + + } + } + $i++; + } + + +$dbhA->disconnect(); + +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secX); +$secZm = ($secZ /60); + +if ($q < 1) + { + print "script execution time in seconds: $secZ minutes: $secZm\n"; + } + +###### EMAIL SECTION + +if ( (length($Ealert)>5) && (length($email_list) > 3) ) + { + print "Sending email: $email_list\n"; + + use MIME::QuotedPrint; + use MIME::Base64; + use Mail::Sendmail; + + $mailsubject = "VICIDIAL LEAD FILE LOAD $pulldate0"; + + %mail = ( To => "$email_list", + From => "$email_sender", + Subject => "$mailsubject", + Message => "VICIDIAL LEAD FILE LOAD $pulldate0\n\n$Ealert\n" + ); + sendmail(%mail) or die $mail::Sendmail::error; + print "ok. log says:\n", $mail::sendmail::log; ### print mail log for status + } + +exit; + + + + + + + +sub USACAN_dstcalc { +#********************************************************************** +# SSM-FSN +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on Second Sunday March to First Sunday November at 2 am. +# INPUTS: +# mm INTEGER Month. +# dd INTEGER Day of the month. +# ns INTEGER Seconds into the day. +# dow INTEGER Day of week (0=Sunday, to 6=Saturday) +# OPTIONAL INPUT: +# timezone INTEGER hour difference UTC - local standard time +# (DEFAULT is blank) +# make calculations based on UTC time, +# which means shift at 10:00 UTC in April +# and 9:00 UTC in October +# OUTPUT: +# INTEGER 1 = DST, 0 = not DST +# +# S M T W T F S +# 1 2 3 4 5 6 7 +# 8 9 10 11 12 13 14 +#15 16 17 18 19 20 21 +#22 23 24 25 26 27 28 +#29 30 31 +# +# S M T W T F S +# 1 2 3 4 5 6 +# 7 8 9 10 11 12 13 +#14 15 16 17 18 19 20 +#21 22 23 24 25 26 27 +#28 29 30 31 +# +#********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 10) { + $USACAN_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; return 1; + } elsif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } + } else { + $USACAN_DST=0; return 0; + } + } elsif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; return 0; + } elsif ($dd < ($dow+1)) { + $USACAN_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } + } else { + $USACAN_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub NA_dstcalc { +#********************************************************************** +# FSA-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in April and last Sunday in October at 2 am. +#********************************************************************** + + $NA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $NA_DST=0; return 0; + } elsif ($mm >= 5 && $mm <= 9) { + $NA_DST=1; return 1; + } elsif ($mm == 4) { + if ($dd > 7) { + $NA_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } + } else { + $NA_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $NA_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $NA_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } + } else { + $NA_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub GBR_dstcalc { +#********************************************************************** +# LSM-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in March and last Sunday in October at 1 am. +#********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 9) { + $GBR_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $GBR_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } + } else { + $GBR_DST=1; return 1; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $GBR_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } + } else { + $GBR_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub AUS_dstcalc { +#********************************************************************** +# LSO-LSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUS_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUS_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } + } else { + $AUS_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $AUS_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } + } else { + $AUS_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub AUST_dstcalc { +#********************************************************************** +# FSO-LSM +# TASMANIA ONLY +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUST_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUST_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } + } else { + $AUST_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $AUST_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } + } else { + $AUST_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub NZL_dstcalc { +#********************************************************************** +# FSO-TSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and third Sunday in March at 1 am. +#********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $NZL_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; return 1; + } elsif ($dd < ($dow+14)) { + $NZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } + } else { + $NZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $NZL_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } + } else { + $NZL_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub BZL_dstcalc { +#********************************************************************** +# TSO-LSF +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. Brazil +# Based on Third Sunday October to Last Sunday February at 1 am. +#********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; return 1; + } elsif ($mm >= 3 && $mm <= 9) { + $BZL_DST=0; return 0; + } elsif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; return 1; + } elsif ($dd < ($dow+22)) { + $BZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } + } else { + $BZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; return 0; + } elsif ($dd < ($dow+22)) { + $BZL_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } + } else { + $BZL_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc diff --git a/agc_2-X/branches/agc_2.0.5/bin/VICIDIAL_fix_list_statuses.pl b/agc_2-X/branches/agc_2.0.5/bin/VICIDIAL_fix_list_statuses.pl new file mode 100644 index 00000000..d7014726 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/VICIDIAL_fix_list_statuses.pl @@ -0,0 +1,177 @@ +#!/usr/bin/perl +# +# VICIDIAL_fix_lead_statuses.pl version 2.0.5 +# +# DESCRIPTION: +# resets the status in vicidial_list for leads marked in status NOUSE +# Very useful if you manually mess up the list statuses with a SQL query +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 80308-0915 - first build +# + +$secX = time(); + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +$DB=1; + +$liveupdate=0; + +if (!$VDHLOGfile) {$VDHLOGfile = "$PATHlogs/dupleads.$year-$mon-$mday";} + +print "\n\n\n\n\n\n\n\n\n\n\n\n-- VICIDIAL_fix_list_statuses.pl --\n\n"; +print "This program is designed to scan all leads marked NOUSE and set them to their proper status according to the logs. \n\n"; + + +$stmtA = "select lead_id,list_id from vicidial_list where status='NOUSE';"; +if($DBX){print STDERR "\n|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$i=0; +$nonDUP='0'; +while ( ($sthArows > $i) && ($nonDUP=='0') ) + { + @aryA = $sthA->fetchrow_array; + if ($aryA[0] > 1) + { + $lead_id[$i] = "$aryA[0]"; + $list_id[$i] = "$aryA[1]"; + } + $i++; + } +$sthA->finish(); + +$b=0; +foreach(@lead_id) + { + $Nstatus=''; + $Nepoch=0; + $Cstatus=''; + $Cepoch=0; + $stmtA = "select status,start_epoch from vicidial_log where lead_id='$lead_id[$b]' order by call_date desc LIMIT 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $Nstatus = $aryA[0]; + $Nepoch = $aryA[1]; + $rec_count++; + } + $sthA->finish(); + + $stmtA = "select status,start_epoch from vicidial_closer_log where lead_id='$lead_id[$b]' order by closecallid desc LIMIT 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $Cstatus = $aryA[0]; + $Cepoch = $aryA[1]; + $rec_count++; + } + $sthA->finish(); + + if ($Cepoch > $Nepoch) {$NEWstatus = $Cstatus;} + else {$NEWstatus = $Nstatus;} + + $stmtA = "UPDATE vicidial_list set status='$NEWstatus' where lead_id='$lead_id[$b]';"; + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + if($DB){print STDERR "|$b|$lead_id[$b]|$Nstatus|$Cstatus|$list_id[$b]||$stmtA|\n";} + + $b++; + + if ($b =~ /100$/i) {print STDERR "0 $b\r";} + if ($b =~ /200$/i) {print STDERR "+ $b\r";} + if ($b =~ /300$/i) {print STDERR "| $b\r";} + if ($b =~ /400$/i) {print STDERR "\\ $b\r";} + if ($b =~ /500$/i) {print STDERR "- $b\r";} + if ($b =~ /600$/i) {print STDERR "/ $b\r";} + if ($b =~ /700$/i) {print STDERR "| $b\r";} + if ($b =~ /800$/i) {print STDERR "+ $b\r";} + if ($b =~ /900$/i) {print STDERR "0 $b\r";} + if ($b =~ /000$/i) {print "|$b|$lead_id[$b]|$Nstatus|$Cstatus|$list_id[$b]|\n";} + + } +chop($DUP_updates); + + +$dbhA->disconnect(); + +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secX); +$secZm = ($secZ /60); + +print "script execution time in seconds: $secZ minutes: $secZm\n"; + +exit; + diff --git a/agc_2-X/branches/agc_2.0.5/bin/VICIDIAL_fix_status_mismatch.pl b/agc_2-X/branches/agc_2.0.5/bin/VICIDIAL_fix_status_mismatch.pl new file mode 100644 index 00000000..620931e2 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/VICIDIAL_fix_status_mismatch.pl @@ -0,0 +1,180 @@ +#!/usr/bin/perl +# +# VICIDIAL_fix_status_mismatch.pl version 2.0.5 +# +# DESCRIPTION: +# resets the status in vicidial_list for leads marked in status NOUSE +# Very useful if you manually mess up the list statuses with a SQL query +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 80318-0112 - first build +# + +$secX = time(); + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +$DB=1; + +$liveupdate=0; + +if (!$VDHLOGfile) {$VDHLOGfile = "$PATHlogs/dupleads.$year-$mon-$mday";} + +print "\n\n\n\n\n\n\n\n\n\n\n\n-- VICIDIAL_fix_status_mismatch.pl --\n\n"; +print "This program is designed to scan all leads marked A4 and set them to their proper status according to the logs. \n\n"; + + +$stmtA = "select distinct lead_id,status from vicidial_closer_log where status IN('A1','A2','A3','A4') and call_date > '2008-03-01 01:00:00';"; +if($DBX){print STDERR "\n|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$i=0; +$nonDUP='0'; +while ( ($sthArows > $i) && ($nonDUP=='0') ) + { + @aryA = $sthA->fetchrow_array; + if ($aryA[0] > 1) + { + $lead_id[$i] = "$aryA[0]"; + $status[$i] = "$aryA[1]"; + } + $i++; + } +$sthA->finish(); + +$b=0; +foreach(@lead_id) + { + $Nstatus=''; + $Nepoch=0; + $Cstatus=''; + $Cepoch=0; + $stmtA = "select status,start_epoch from vicidial_log where lead_id='$lead_id[$b]' order by call_date desc LIMIT 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $Nstatus = $aryA[0]; + $Nepoch = $aryA[1]; + $rec_count++; + } + $sthA->finish(); + + $stmtA = "select status,start_epoch from vicidial_closer_log where lead_id='$lead_id[$b]' order by closecallid desc LIMIT 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $Cstatus = $aryA[0]; + $Cepoch = $aryA[1]; + $rec_count++; + } + $sthA->finish(); + + if ($Cepoch > $Nepoch) {$NEWstatus = $Cstatus;} + else {$NEWstatus = $Nstatus;} + + if ($Cstatus !~ /$status[$b]/) + { + $stmtA = "UPDATE vicidial_list set status='$Cstatus' where lead_id='$lead_id[$b]';"; + #$affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + if($DB){print STDERR "|$b|$lead_id[$b]|$Nstatus|$Cstatus|$status[$b]||$stmtA|\n";} + $h++; + } + $b++; + + if ($b =~ /100$/i) {print STDERR "0 $b - $h\r";} + if ($b =~ /200$/i) {print STDERR "+ $b - $h\r";} + if ($b =~ /300$/i) {print STDERR "| $b - $h\r";} + if ($b =~ /400$/i) {print STDERR "\\ $b - $h\r";} + if ($b =~ /500$/i) {print STDERR "- $b - $h\r";} + if ($b =~ /600$/i) {print STDERR "/ $b - $h\r";} + if ($b =~ /700$/i) {print STDERR "| $b - $h\r";} + if ($b =~ /800$/i) {print STDERR "+ $b - $h\r";} + if ($b =~ /900$/i) {print STDERR "0 $b - $h\r";} + if ($b =~ /000$/i) {print "|$b|$h|$lead_id[$b]|$Nstatus|$Cstatus|$status[$b]|\n";} + + } +chop($DUP_updates); + + +$dbhA->disconnect(); + +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secX); +$secZm = ($secZ /60); + +print "script execution time in seconds: $secZ minutes: $secZm\n"; + +exit; + diff --git a/agc_2-X/branches/agc_2.0.5/bin/VICIDIAL_last_local_call_time_UPDATE.pl b/agc_2-X/branches/agc_2.0.5/bin/VICIDIAL_last_local_call_time_UPDATE.pl new file mode 100644 index 00000000..4c6e7c54 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/VICIDIAL_last_local_call_time_UPDATE.pl @@ -0,0 +1,188 @@ +#!/usr/bin/perl +# +# VICIDIAL_last_local_call_time_UPDATE.pl version 2.0.5 +# +# DESCRIPTION: +# populates the new last_local_call_time field in the vicidial_list table from +# records in the vicidial_log and vicidial_closer_log table +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# CHANGES +# 80714-0530 - first build +# + +$DB=0; +$liveupdate=0; +$calculate_recycle_counts=1; + +$secX = time(); + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +if (!$VDHLOGfile) {$VDHLOGfile = "$PATHlogs/dupleads.$year-$mon-$mday";} + +print "\n\n\n\n\n\n\n\n\n\n\n\n-- VICIDIAL_last_local_call_time_UPDATE.pl --\n\n"; +print "populates the new last_local_call_time field in the vicidial_list table from records in the vicidial_log and vicidial_closer_log table. \n\n"; + + +$stmtA = "select lead_id,list_id,called_count from vicidial_list limit 10000000;"; +if($DBX){print STDERR "\n|$stmtA|\n";} +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$i=0; +$nonDUP='0'; +while ( ($sthArows > $i) && ($nonDUP=='0') ) + { + @aryA = $sthA->fetchrow_array; + if ($aryA[0] > 1) + { + $lead_id[$i] = "$aryA[0]"; + $list_id[$i] = "$aryA[1]"; + $Ncount[$i] = "$aryA[2]"; + } + $i++; + } +$sthA->finish(); + +$b=0; +foreach(@lead_id) + { + $Ncall_date='2008-01-01 00:00:00'; + $Nepoch=0; + $Ccall_date='2008-01-01 00:00:00'; + $Cepoch=0; + $stmtA = "select call_date,start_epoch from vicidial_log where lead_id='$lead_id[$b]' order by call_date desc LIMIT 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $Ncall_date = $aryA[0]; + $Nepoch = $aryA[1]; + $rec_count++; + } + $sthA->finish(); + + $stmtA = "select call_date,start_epoch from vicidial_closer_log where lead_id='$lead_id[$b]' order by closecallid desc LIMIT 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $Ccall_date = $aryA[0]; + $Cepoch = $aryA[1]; + $rec_count++; + } + $sthA->finish(); + + if ($Cepoch > $Nepoch) {$NEWcall_date = $Ccall_date;} + else {$NEWcall_date = $Ncall_date;} + + if ($calculate_recycle_counts > 0) + { + if ( ($Ncount[$b]==0) or ($Ncount[$b]=='') ) {$Ncount[$b] = 'N';} + if ($Ncount[$b]==1) {$Ncount[$b] = 'Y';} + if ( ($Ncount[$b]>1) && ($Ncount[$b]<11) ) {$Ncount[$b] = ($Ncount[$b] - 1); $Ncount[$b] = "Y$Ncount[$b]";} + if ($Ncount[$b]>10) {$Ncount[$b] = 'Y10';} + $called_since_last_resetSQL = ",called_since_last_reset='$Ncount[$b]'"; + } + else + {$called_since_last_resetSQL = "";} + + $stmtA = "UPDATE vicidial_list set last_local_call_time='$NEWcall_date' $called_since_last_resetSQL where lead_id='$lead_id[$b]';"; + $affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n"; + if($DB){print STDERR "|$b|$lead_id[$b]|$Ncall_date|$Ccall_date|$list_id[$b]|$Ncount[$b]|$stmtA|\n";} + + $b++; + + if ($b =~ /100$/i) {print STDERR "0 $b\r";} + if ($b =~ /200$/i) {print STDERR "+ $b\r";} + if ($b =~ /300$/i) {print STDERR "| $b\r";} + if ($b =~ /400$/i) {print STDERR "\\ $b\r";} + if ($b =~ /500$/i) {print STDERR "- $b\r";} + if ($b =~ /600$/i) {print STDERR "/ $b\r";} + if ($b =~ /700$/i) {print STDERR "| $b\r";} + if ($b =~ /800$/i) {print STDERR "+ $b\r";} + if ($b =~ /900$/i) {print STDERR "0 $b\r";} + if ($b =~ /000$/i) {print "|$b|$lead_id[$b]|$Ncall_date|$Ccall_date|$list_id[$b]|\n";} + + } + + +$dbhA->disconnect(); + +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secX); +$secZm = ($secZ /60); + +print "script execution time in seconds: $secZ minutes: $secZm\n"; + +exit; + diff --git a/agc_2-X/branches/agc_2.0.5/bin/Vtiger_IN_new_accounts_file.pl b/agc_2-X/branches/agc_2.0.5/bin/Vtiger_IN_new_accounts_file.pl new file mode 100644 index 00000000..6a489dc9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/Vtiger_IN_new_accounts_file.pl @@ -0,0 +1,640 @@ +#!/usr/bin/perl +# +# Vtiger_IN_new_accounts_file.pl version 2.0.5 *DBI-version* +# +# DESCRIPTION: +# script lets you insert leads into the vtiger system table from a CSV-formatted +# file that is in the proper format. (for format see --help) +# +# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# +# +# CHANGES +# 90127-1206 - First build +# + +$secX = time(); +$MT[0]=''; +$Ealert=''; + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$NOW_TIME = "$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); +$MT[0]=''; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_host/) && ($CLIREPORT_host < 1) ) + {$VARREPORT_host = $line; $VARREPORT_host =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_user/) && ($CLIREPORT_user < 1) ) + {$VARREPORT_user = $line; $VARREPORT_user =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_pass/) && ($CLIREPORT_pass < 1) ) + {$VARREPORT_pass = $line; $VARREPORT_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_port/) && ($CLIREPORT_port < 1) ) + {$VARREPORT_port = $line; $VARREPORT_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + + +if (!$VDHLOGfile) {$VDHLOGfile = "$PATHlogs/newleads.$year-$mon-$mday";} + +### begin parsing run-time options ### +if (length($ARGV[0])>1) + { + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n"; + print " [-q] = quiet\n"; + print " [-t] = test\n"; + print " [--debug] = debug output\n"; + print " [--format=standard] = ability to define a format, standard is default, formats allowed shown in examples\n"; + print " [--duplicate-system-check] = checks for the same phone number in the entire system before inserting lead\n"; + print " [--duplicate-system-siccode] = checks for the same SIC code in the entire system before inserting lead\n"; + print " [--duplicate-system-website] = checks for the same website in the entire system before inserting lead\n"; + print " [--ftp-pull] = grabs lead files from a remote FTP server, uses REPORTS FTP login information\n"; + print " [--ftp-dir=leads_in] = remote FTP server directory to grab files from, should have a DONE sub-directory\n"; + print " [--email-list=test@test.com:test2@test.com] = send email results for each file to these addresses\n"; + print " [--email-sender=vicidial@localhost] = sender for the email results\n"; + print " [-h] = this help screen\n\n"; + print "\n"; + print "This script takes in account CSV files in the following order when they are placed in the $PATHhome/VTIGER_IN directory to be imported into the vtiger system (examples):\n\n"; + print "standard:\n"; + print "employees,ticker_symbol,sic_code,revenue,account_name,address,po_box,city,state,post_code,phone_number,ownership,fax,email,other_phone,other_email,website\n"; + print "4,C03IMM001,39207955,2,ST MARK CHURCH,1710 W COLLEGE AVE,,CHICAGO,IL,61555,3095551111,PAUL SMITH,3095551212,TEST@VERIZON.NET,7775553333,test@1034.com,bigsite.com\n\n"; + print "minicsv:\n"; + print "business,contact,phone_number,address1,city,state,postal_code\n"; + print "\"CHURCH\",\"Bob Smith\",\"3525556601\",\"105 Fifth St\",\"Steinhatchee\",\"FL\",\"32359\"\n\n"; + + exit; + } + else + { + if ($args =~ /-debug/i) + { + $DB=1; + print "\n----- DEBUGGING -----\n\n"; + } + if ($args =~ /-debugX/i) + { + $DBX=1; + print "\n----- SUPER-DUPER DEBUGGING -----\n\n"; + } + else {$DBX=0;} + + if ($args =~ /-q/i) + { + $q=1; + } + if ($args =~ /-t/i) + { + $T=1; + $TEST=1; + print "\n----- TESTING -----\n\n"; + } + + if ($args =~ /-format=/i) + { + @data_in = split(/-format=/,$args); + $format = $data_in[1]; + $format =~ s/ .*//gi; + print "\n----- FORMAT OVERRIDE: $format -----\n\n"; + } + else + {$format = 'standard';} + + if ($args =~ /-duplicate-system-check/i) + { + $dupchecksys=1; + print "\n----- DUPLICATE SYSTEM CHECK PHONE -----\n\n"; + } + if ($args =~ /-duplicate-system-siccode/i) + { + $dupchecksic=1; + print "\n----- DUPLICATE SYSTEM CHECK SICCODE -----\n\n"; + } + if ($args =~ /-duplicate-system-website/i) + { + $dupcheckweb=1; + print "\n----- DUPLICATE SYSTEM CHECK WEBSITE -----\n\n"; + } + if ($args =~ /-ftp-pull/i) + { + $ftp_pull=1; + print "\n----- FTP LEAD FILE PULL -----\n\n"; + } + if ($args =~ /--ftp-dir=/i) + { + @data_in = split(/--ftp-dir=/,$args); + $ftp_dir = $data_in[1]; + $ftp_dir =~ s/ .*//gi; + print "\n----- REMOTE FTP DIRECTORY: $ftp_dir -----\n\n"; + } + else + {$ftp_dir = '';} + + if ($args =~ /--email-list=/i) + { + @data_in = split(/--email-list=/,$args); + $email_list = $data_in[1]; + $email_list =~ s/ .*//gi; + $email_list =~ s/:/,/gi; + print "\n----- EMAIL NOTIFICATION: $email_list -----\n\n"; + } + else + {$email_list = '';} + + if ($args =~ /--email-sender=/i) + { + @data_in = split(/--email-sender=/,$args); + $email_sender = $data_in[1]; + $email_sender =~ s/ .*//gi; + $email_sender =~ s/:/,/gi; + print "\n----- EMAIL NOTIFICATION SENDER: $email_sender -----\n\n"; + } + else + {$email_sender = 'vicidial@localhost';} + + } + } +else + { + print "no command line options set\n"; + $args = ""; + $i=0; + $forcelistid = ''; + $format='standard'; + } +### end parsing run-time options ### + +if ($q < 1) + { + print "\n\n\n\n\n\n\n\n\n\n\n\n-- Vtiger_IN_new_accounts_file.pl --\n\n"; + print "This program is designed to take a CSV delimited file and import it into the Vtiger system. \n\n"; + } + +$i=0; +$US = '_'; +$phone_list = '|'; + +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmtA = "SELECT use_non_latin,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass FROM system_settings;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $non_latin = "$aryA[0]"; + $vtiger_server_ip = "$aryA[1]"; + $vtiger_dbname = "$aryA[2]"; + $vtiger_login = "$aryA[3]"; + $vtiger_pass = "$aryA[4]"; + } +$sthA->finish(); +##### END SETTINGS LOOKUP ##### +########################################### + +$dbhB = DBI->connect("DBI:mysql:$vtiger_dbname:$vtiger_server_ip:$VARDB_port", "$vtiger_login", "$vtiger_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +if ($non_latin > 0) {$affected_rows = $dbhA->do("SET NAMES 'UTF8'");} + +$suf = '.txt'; +$people_packages_id_update=''; +$dir1 = "$PATHhome/VTIGER_IN"; +$dir2 = "$PATHhome/VTIGER_IN/DONE"; + + if($DBX){print STDERR "\nVTIGER_IN directory: |$dir1|\n";} + +if ($ftp_pull > 0) + { + $i=0; + use Net::FTP; + + $files_copied_count=0; + + $ftp = Net::FTP->new("$VARREPORT_host", Port => "$VARREPORT_port", Debug => "$DBX", Passive => 1) + or die "Can't connect: $@\n"; + $ftp->login("$VARREPORT_user","$VARREPORT_pass") or die "Cannot log in /: $!"; + @FILES = $ftp->dir("$ftp_dir") + or die "Can't get a list of files in $ftp_dir: $!"; + + foreach(@FILES) + { + if ($DBX > 0) {print "$FILES[$i]\n";} + if ($FILES[$i] !~ /^d/i) + { + chomp($FILES[$i]); + @FILEDETAILS = split(/ \d\d:\d\d /, $FILES[$i]); + $FILES[$i] = "$FILEDETAILS[1]"; + $FILES[$i] =~ s/ *$//gi; + + if (length($FILES[$i]) > 4) + { + $GOODfname = $FILES[$i]; + $FILES[$i] =~ s/ /_/gi; + $FILES[$i] =~ s/\(|\)|\||\\|\/|\'|\"|//gi; + $ftp->rename("$ftp_dir/$GOODfname","$ftp_dir/$FILES[$i]"); + $FILEname = $FILES[$i]; + $ftp->get("$ftp_dir/$FILES[$i]", "$dir1/$FILES[$i]"); + + if (!$TEST) {$ftp->rename("$ftp_dir/$FILES[$i]", "$ftp_dir/DONE/$FILES[$i]");} + if ($DB > 0) {print "FTP FILE COPIED: $FILES[$i]\n";} + $files_copied_count++; + } + } + $i++; + } + if (!$q) {print "$ftp_dir - $VARREPORT_host - $#FILES - $files_copied_count\n";} + } + + +$i=0; +@FILES=@MT; +opendir(FILE, "$dir1/"); +@FILES = readdir(FILE); + +foreach(@FILES) + { + $size1 = 0; + $size2 = 0; + $person_id_delete = ''; + $transaction_id_delete = ''; + + if (length($FILES[$i]) > 4) + { + + $size1 = (-s "$dir1/$FILES[$i]"); + if (!$q) {print "$FILES[$i] $size1\n";} + sleep(2); + $size2 = (-s "$dir1/$FILES[$i]"); + if (!$q) {print "$FILES[$i] $size2\n\n";} + + + if ( ($FILES[$i] !~ /^TRANSFERRED/i) && ($size1 eq $size2) && (length($FILES[$i]) > 4)) + { + $GOODfname = $FILES[$i]; + $FILES[$i] =~ s/ /_/gi; + $FILES[$i] =~ s/\(|\)|\||\\|\/|\'|\"|//gi; + rename("$dir1/$GOODfname","$dir1/$FILES[$i]"); + $FILEname = $FILES[$i]; + + `cp -f $dir1/$FILES[$i] $dir2/$source$FILES[$i]`; + + ### open the in file for reading ### + open(infile, "$dir2/$source$FILES[$i]") + || die "Can't open $source$FILES[$i]: $!\n"; + + $a=0; ### each line of input file counter ### + $b=0; ### status of 'APPROVED' counter ### + $c=0; ### status of 'DECLINED' counter ### + $d=0; ### status of 'REFERRED' counter ### + $e=0; ### status of 'ERROR' counter ### + $f=0; ### number of 'DUPLICATE' counter ### + $g=0; ### number of leads with multi-alt-entries + + $multi_insert_counter=0; + $multistmt=''; + + #if ($DB) + while () + { + @m=@MT; + # print "$a| $number\n"; + $number = $_; + chomp($number); + $number =~ s/\t/\|/gi; + $number =~ s/\'|\t|\r|\n|\l//gi; + $number =~ s/\'|\t|\r|\n|\l//gi; + $number =~ s/\",,,,,,,\"/\|\|\|\|\|\|\|/gi; + $number =~ s/\",,,,,,\"/\|\|\|\|\|\|/gi; + $number =~ s/\",,,,,\"/\|\|\|\|\|/gi; + $number =~ s/\",,,,\"/\|\|\|\|/gi; + $number =~ s/\",,,\"/\|\|\|/gi; + $number =~ s/\",,\"/\|\|/gi; + $number =~ s/\",\"/\|/gi; + $number =~ s/\"//gi; + $number =~ s/,/\|/gi; + @m = split(/\|/, $number); + + + # This is the format for the minicsv lead files + # business,contact,phone_number,address1,city,state,postal_code + # "CHURCH","Bob Smith","3525556601","105 Fifth St","Steinhatchee","FL","32359" + if ($format =~ /minicsv/) + { + $employees = '1'; + $ticker_symbol = ''; + $sic_code = ''; + $revenue = ''; + $account_name = $m[0]; chomp($account_name); + if (length($account_name)<1) {$account_name='NONE';} + $address = $m[3]; chomp($address); + $po_box = ''; + $city = $m[4]; chomp($city); + $state = $m[5]; chomp($state); + $post_code = $m[6]; chomp($post_code); + $phone_number = $m[2]; chomp($phone_number); $phone_number =~ s/\D//gi; + $ownership = $m[1]; chomp($ownership); + $other_phone = ''; + $email = ''; + $fax = ''; + $other_email = ''; + $website = ''; + $country = 'USA'; + } + # This is the format for the standard lead files + # employees,ticker_symbol,sic_code,revenue,account_name,address,po_box,city,state,post_code,phone_number,ownership,fax,email,other_phone,other_email,website + # 4,C03IMM001,39207955,2,ST MARK CHURCH,1710 W COLLEGE AVE,,CHICAGO,IL,61555,3095551111,PAUL SMITH,3095551212,TEST@VERIZON.NET,7775553333,test@1034.com,bigsite.com + else + { + $employees = $m[0]; chomp($employees); $employees =~ s/\D//gi; + $ticker_symbol = $m[1]; chomp($ticker_symbol); + $sic_code = $m[2]; chomp($sic_code); + $revenue = $m[3]; chomp($revenue); $revenue =~ s/\D//gi; + $account_name = $m[4]; chomp($account_name); + if (length($account_name)<1) {$account_name='NONE';} + $address = $m[5]; chomp($address); + $po_box = $m[6]; chomp($po_box); + $city = $m[7]; chomp($city); + $state = $m[8]; chomp($state); + $post_code = $m[9]; chomp($post_code); + $phone_number = $m[10]; chomp($phone_number); $phone_number =~ s/\D//gi; + $ownership = $m[11]; chomp($ownership); + $fax = $m[12]; chomp($fax); + $email = $m[13]; chomp($email); + $other_phone = $m[14]; chomp($other_phone); + $other_email = $m[15]; chomp($other_email); + $website = $m[16]; chomp($website); + if (length($website)<3) {$website="$sic_code-$revenue";} + $country = 'USA'; + } + + if ($DBX) {print "$a|$phone_number|$account_name|$website\n";} + + $dup_lead=0; + ##### Check for duplicate phone numbers in vtiger_account table ##### + if ($dupchecksys > 0) + { + $stmtB="SELECT count(*) from vtiger_account where phone='$phone_number';"; + if($DBX){print STDERR "\n|$stmtB|\n";} + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $sthBrows=$sthB->rows; + if ($sthBrows > 0) + { + @aryB = $sthB->fetchrow_array; + $dup_lead = $aryB[0]; + } + $sthB->finish(); + } + ##### Check for duplicate sic code acct ID in vtiger_account table ##### + if ($dupchecksic > 0) + { + $stmtB="SELECT count(*) from vtiger_account where siccode='$sic_code';"; + if($DBX){print STDERR "\n|$stmtB|\n";} + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $sthBrows=$sthB->rows; + if ($sthBrows > 0) + { + @aryB = $sthB->fetchrow_array; + $dup_lead = $aryB[0]; + } + $sthB->finish(); + } + ##### Check for duplicate website in vtiger_account table ##### + if ($dupcheckweb > 0) + { + $stmtB="SELECT count(*) from vtiger_account where website='$website';"; + if($DBX){print STDERR "\n|$stmtB|\n";} + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $sthBrows=$sthB->rows; + if ($sthBrows > 0) + { + @aryB = $sthB->fetchrow_array; + $dup_lead = $aryB[0]; + } + $sthB->finish(); + } + + if ( (length($phone_number)>6) && ($dup_lead < 1) ) + { + $user='6666'; + + #Get logged in user ID + $stmtB="SELECT id from vtiger_users where user_name='$user';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $sthBrows=$sthB->rows; + if ($sthBrows > 0) + { + @aryB = $sthB->fetchrow_array; + $user_id = $aryB[0]; + } + $sthB->finish(); + + # Get current ID from vtiger_crmentity_seq + $stmtB="SELECT id from vtiger_crmentity_seq;"; + if($DBX){print STDERR "\n|$stmtB|\n";} + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $sthBrows=$sthB->rows; + if ($sthBrows > 0) + { + @aryB = $sthB->fetchrow_array; + $crm_id = ($aryB[0] + 1); + } + $sthB->finish(); + + ### update the crm ID ### + $stmtB = "UPDATE vtiger_crmentity_seq SET id = '$crm_id';"; + if (!$T) {$affected_rows = $dbhB->do($stmtB); } # or die "Couldn't execute query: |$stmtB|\n"; + if($DB){print STDERR "\n|$affected_rows|$stmtB|\n";} + + ### insert record into crmentity table ### + $stmtB = "INSERT INTO vtiger_crmentity SET crmid='$crm_id',smcreatorid='$user_id',smownerid='$user_id',modifiedby='$user_id',setype='Accounts',description='',createdtime='$NOW_TIME',modifiedtime='$NOW_TIME', viewedtime='$NOW_TIME';"; + if (!$T) {$affected_rows = $dbhB->do($stmtB); } # or die "Couldn't execute query: |$stmtB|\n"; + if($DB){print STDERR "\n|$affected_rows|$stmtB|\n";} + + ### insert record into vtiger_account table ### + $stmtB = "INSERT INTO vtiger_account SET accountid='$crm_id',accountname='$account_name',account_type='Customer',industry='--None--',annualrevenue='$revenue',rating='--None--',ownership='$ownership',siccode='$sic_code',tickersymbol='$ticker_symbol',phone='$phone_number',otherphone='$other_phone',email1='$email',email2='$other_email',website='$website',fax='$fax',employees='$employees';"; + if (!$T) {$affected_rows = $dbhB->do($stmtB); } # or die "Couldn't execute query: |$stmtB|\n"; + if($DB){print STDERR "\n|$affected_rows|$stmtB|\n";} + + ### insert record into vtiger_accountbillads table ### + $stmtB = "INSERT INTO vtiger_accountbillads SET accountaddressid='$crm_id',bill_city='$city',bill_code='$post_code',bill_country='$country',bill_state='$state',bill_street='$address',bill_pobox='$po_box';"; + if (!$T) {$affected_rows = $dbhB->do($stmtB); } # or die "Couldn't execute query: |$stmtB|\n"; + if($DB){print STDERR "\n|$affected_rows|$stmtB|\n";} + + ### insert record into vtiger_accountscf table ### + $stmtB = "INSERT INTO vtiger_accountscf SET accountid='$crm_id';"; + if (!$T) {$affected_rows = $dbhB->do($stmtB); } # or die "Couldn't execute query: |$stmtB|\n"; + if($DB){print STDERR "\n|$affected_rows|$stmtB|\n";} + + ### insert record into vtiger_accountshipads table ### + $stmtB = "INSERT INTO vtiger_accountshipads SET accountaddressid='$crm_id',ship_city='',ship_code='',ship_country='',ship_state='',ship_street='',ship_pobox='';"; + if (!$T) {$affected_rows = $dbhB->do($stmtB); } # or die "Couldn't execute query: |$stmtB|\n"; + if($DB){print STDERR "\n|$affected_rows|$stmtB|\n";} + + ### insert record into vtiger_tracker table ### + $stmtB = "INSERT INTO vtiger_tracker SET user_id='$user_id',module_name='Accounts',item_id='$crm_id',item_summary='$account_name';"; + if (!$T) {$affected_rows = $dbhB->do($stmtB); } # or die "Couldn't execute query: |$stmtB|\n"; + if($DB){print STDERR "\n|$affected_rows|$stmtB|\n";} + + $b++; + } + else + { + if ($dup_lead > 0) + {print "DUPLICATE: $phone_number|$sic_code|$website|$a\n"; $f++;} + else + {print "BAD Phone Number: $phone_number|$vendor_id|$a\n"; $e++;} + } + + $a++; + + if ($a =~ /100$/i) {print STDERR "0 $a\r";} + if ($a =~ /200$/i) {print STDERR "+ $a\r";} + if ($a =~ /300$/i) {print STDERR "| $a\r";} + if ($a =~ /400$/i) {print STDERR "\\ $a\r";} + if ($a =~ /500$/i) {print STDERR "- $a\r";} + if ($a =~ /600$/i) {print STDERR "/ $a\r";} + if ($a =~ /700$/i) {print STDERR "| $a\r";} + if ($a =~ /800$/i) {print STDERR "+ $a\r";} + if ($a =~ /900$/i) {print STDERR "0 $a\r";} + if ($a =~ /000$/i) {print "$a|$b|$c|$d|$e|$f|$g|$phone_number|\n";} + } + + + + ### open the stats out file for writing ### + open(Sout, ">>$VDHLOGfile") + || die "Can't open $VDHLOGfile: $!\n"; + + + ### close file handler and DB connections ### + $Falert = "\n\nTOTALS FOR $FILEname:\n"; + $Falert .= "Lines in file: $a\n"; + $Falert .= "INSERTED: $b\n"; + $Falert .= "INSERT STATEMENTS: $c\n"; + $Falert .= "ERROR: $e\n"; + $Falert .= "MULTI-ALT-PHONE: $g\n"; + if ($f > 0) + {$Falert .= "DUPLICATES: $f\n";} + + print "$Falert"; + print Sout "$Falert"; + $Ealert .= "$Falert"; + + close(infile); + close(Sout); + chmod 0777, "$VDHLOGfile"; + + ### Move file to the DONE directory locally + if (!$T) {`mv -f $dir1/$FILEname $dir2/$FILEname`;} + + } + } + $i++; + } + + +$dbhA->disconnect(); + +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secX); +$secZm = ($secZ /60); + +if ($q < 1) + { + print "script execution time in seconds: $secZ minutes: $secZm\n"; + } + +###### EMAIL SECTION + +if ( (length($Ealert)>5) && (length($email_list) > 3) ) + { + print "Sending email: $email_list\n"; + + use MIME::QuotedPrint; + use MIME::Base64; + use Mail::Sendmail; + + $mailsubject = "VTIGER ACCOUNT FILE LOAD $pulldate0"; + + %mail = ( To => "$email_list", + From => "$email_sender", + Subject => "$mailsubject", + Message => "VTIGER ACCOUNT FILE LOAD $pulldate0\n\n$Ealert\n" + ); + sendmail(%mail) or die $mail::Sendmail::error; + print "ok. log says:\n", $mail::sendmail::log; ### print mail log for status + } + +exit; + diff --git a/agc_2-X/branches/agc_2.0.5/bin/Vtiger_OUT_sync2VICIDIAL_file.pl b/agc_2-X/branches/agc_2.0.5/bin/Vtiger_OUT_sync2VICIDIAL_file.pl new file mode 100644 index 00000000..edec9726 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/Vtiger_OUT_sync2VICIDIAL_file.pl @@ -0,0 +1,491 @@ +#!/usr/bin/perl +# +# Vtiger_OUT_sync2VICIDIAL_file.pl version 2.0.5 *DBI-version* +# +# DESCRIPTION: +# script exports all accounts from the vtiger system table from a PIPE-formatted +# file that is in the proper format for VICIDIAL. (for format see --help) +# +# Copyright (C) 2009 Matt Florell LICENSE: AGPLv2 +# +# +# CHANGES +# 90128-0319 - First build +# + +$secX = time(); +$MT[0]=''; +$Ealert=''; + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$NOW_TIME = "$year-$mon-$mday $hour:$min:$sec"; +$VDLfile = "Vtiger_account_sync_file_$year$mon$mday$hour$min$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); +$MT[0]=''; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_host/) && ($CLIREPORT_host < 1) ) + {$VARREPORT_host = $line; $VARREPORT_host =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_user/) && ($CLIREPORT_user < 1) ) + {$VARREPORT_user = $line; $VARREPORT_user =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_pass/) && ($CLIREPORT_pass < 1) ) + {$VARREPORT_pass = $line; $VARREPORT_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARREPORT_port/) && ($CLIREPORT_port < 1) ) + {$VARREPORT_port = $line; $VARREPORT_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + + +if (!$VDHLOGfile) {$VDHLOGfile = "$PATHlogs/newleads.$year-$mon-$mday";} + +### begin parsing run-time options ### +if (length($ARGV[0])>1) + { + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n"; + print " [-q] = quiet\n"; + print " [-t] = test\n"; + print " [--debug] = debug output\n"; + print " [--format=standard] = ability to define a format, standard is default, formats allowed shown in examples\n"; + print " [--forcelistid=1234] = overrides the listID given in the file with the 1234\n"; + print " [--duplicate-system-check] = checks for the same phone number in the entire system before inserting lead\n"; + print " [--duplicate-system-vendor] = checks for the same website in the entire system before inserting lead\n"; + print " [--ftp-pull] = grabs lead files from a remote FTP server, uses REPORTS FTP login information\n"; + print " [--ftp-dir=leads_in] = remote FTP server directory to grab files from, should have a DONE sub-directory\n"; + print " [--email-list=test@test.com:test2@test.com] = send email results for each file to these addresses\n"; + print " [--email-sender=vicidial@localhost] = sender for the email results\n"; + print " [-h] = this help screen\n\n"; + print "\n"; + print "This script takes in account CSV files in the following order when they are placed in the $PATHhome/VTIGER_IN directory to be imported into the vtiger system (examples):\n\n"; + print "standard:\n"; + print "vendor_lead_code|source_code|list_id|phone_code|phone_number|title|first_name|middle|last_name|address1|address2|address3|city|state|province|postal_code|country|gender|date_of_birth|alt_phone|email|security_phrase|COMMENTS|called_count|status|entry_date\n"; + print "3857822|31022|99|01144|1625551212|MRS|B||BURTON|249 MUNDON ROAD|MALDON|ESSEX||||CM9 6PW|UK||||||COMMENTS|2|B|2007-08-09 00:00:00|7275551212_1_work!7275551213_61_sister house!7275551214_44_neighbor\n\n"; + + exit; + } + else + { + if ($args =~ /-debug/i) + { + $DB=1; + print "\n----- DEBUGGING -----\n\n"; + } + if ($args =~ /-debugX/i) + { + $DBX=1; + print "\n----- SUPER-DUPER DEBUGGING -----\n\n"; + } + else {$DBX=0;} + + if ($args =~ /-q/i) + { + $q=1; + } + if ($args =~ /-t/i) + { + $T=1; + $TEST=1; + print "\n----- TESTING -----\n\n"; + } + + if ($args =~ /-format=/i) + { + @data_in = split(/-format=/,$args); + $format = $data_in[1]; + $format =~ s/ .*//gi; + print "\n----- FORMAT OVERRIDE: $format -----\n\n"; + } + else + {$format = 'standard';} + + if ($args =~ /-forcelistid=/i) + { + @data_in = split(/-forcelistid=/,$args); + $forcelistid = $data_in[1]; + $forcelistid =~ s/ .*//gi; + print "\n----- FORCE LISTID OVERRIDE: $forcelistid -----\n\n"; + } + else + {$forcelistid = '';} + + if ($args =~ /-duplicate-system-check/i) + { + $dupchecksys=1; + print "\n----- DUPLICATE SYSTEM CHECK PHONE -----\n\n"; + } + if ($args =~ /-duplicate-system-vendor/i) + { + $dupcheckvend=1; + print "\n----- DUPLICATE SYSTEM CHECK VENDOR -----\n\n"; + } + if ($args =~ /-ftp-pull/i) + { + $ftp_pull=1; + print "\n----- FTP LEAD FILE PULL -----\n\n"; + } + if ($args =~ /--ftp-dir=/i) + { + @data_in = split(/--ftp-dir=/,$args); + $ftp_dir = $data_in[1]; + $ftp_dir =~ s/ .*//gi; + print "\n----- REMOTE FTP DIRECTORY: $ftp_dir -----\n\n"; + } + else + {$ftp_dir = '';} + + if ($args =~ /--email-list=/i) + { + @data_in = split(/--email-list=/,$args); + $email_list = $data_in[1]; + $email_list =~ s/ .*//gi; + $email_list =~ s/:/,/gi; + print "\n----- EMAIL NOTIFICATION: $email_list -----\n\n"; + } + else + {$email_list = '';} + + if ($args =~ /--email-sender=/i) + { + @data_in = split(/--email-sender=/,$args); + $email_sender = $data_in[1]; + $email_sender =~ s/ .*//gi; + $email_sender =~ s/:/,/gi; + print "\n----- EMAIL NOTIFICATION SENDER: $email_sender -----\n\n"; + } + else + {$email_sender = 'vicidial@localhost';} + + } + } +else + { + print "no command line options set\n"; + $args = ""; + $i=0; + $forcelistid = ''; + $format='standard'; + } +### end parsing run-time options ### + +if ($q < 1) + { + print "\n\n\n\n\n\n\n\n\n\n\n\n-- Vtiger_OUT_sync2VICIDIAL_file.pl --\n\n"; + print "This program is designed to export a PIPE delimited file of the Accounts from Vtiger and format it for import into the VICIDIAL system. \n\n"; + } + +$i=0; +$US = '_'; +$phone_list = '|'; + +if (!$VARDB_port) {$VARDB_port='3306';} + +use DBI; + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmtA = "SELECT use_non_latin,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass FROM system_settings;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $non_latin = "$aryA[0]"; + $vtiger_server_ip = "$aryA[1]"; + $vtiger_dbname = "$aryA[2]"; + $vtiger_login = "$aryA[3]"; + $vtiger_pass = "$aryA[4]"; + } +$sthA->finish(); +##### END SETTINGS LOOKUP ##### +########################################### + +$dbhB = DBI->connect("DBI:mysql:$vtiger_dbname:$vtiger_server_ip:$VARDB_port", "$vtiger_login", "$vtiger_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +if ($non_latin > 0) {$affected_rows = $dbhA->do("SET NAMES 'UTF8'");} + +$list_id = '999'; +$phone_code = '1'; +$suf = '.txt'; +$people_packages_id_update=''; +$dir1 = "$PATHhome/LEADS_IN"; +$dir2 = "$PATHhome"; + +if($DBX){print STDERR "\nLEADS_IN directory: |$dir1|\n";} + + +$i=0; ### each Account counter ### +$b=0; ### status of 'APPROVED' counter ### +$c=0; ### status of 'DECLINED' counter ### +$d=0; ### status of 'REFERRED' counter ### +$e=0; ### status of 'DUPLICATE' vendor counter ### +$f=0; ### number of 'DUPLICATE' phone counter ### +$g=0; ### number of leads with multi-alt-entries + + +### open the output file for writing ### +open(out, ">$dir2/$VDLfile") + || die "Can't open $VDLfile: $!\n"; + + + + + +### Gather all non-deleted Accounts in Vtiger +$stmtB="SELECT crmid from vtiger_crmentity where setype='Accounts' and deleted='0' order by crmid limit 3000000;"; +$sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; +$sthB->execute or die "executing: $stmtB ", $dbhB->errstr; +$sthBrowsC=$sthB->rows; +$i=0; +while ($sthBrowsC > $i) + { + @aryB = $sthB->fetchrow_array; + $crmid[$i] = $aryB[0]; + $i++; + } +$sthB->finish(); + +### Gather all account info and address info on those accounts, also checking for duplicates in vicidial_list if selected +$i=0; +while ($sthBrowsC > $i) + { + $VL_dup=0; + $VL_phone_dup=0; + + $stmtB="SELECT accountname,ownership,siccode,annualrevenue,tickersymbol,phone,otherphone,fax,email1,website from vtiger_account where accountid='$crmid[$i]';"; + if($DBX){print STDERR "\n|$stmtB|\n";} + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $sthBrows=$sthB->rows; + if ($sthBrows > 0) + { + @aryB = $sthB->fetchrow_array; + $accountname = $aryB[0]; + $ownership = $aryB[1]; + $siccode = $aryB[2]; + $annualrevenue = $aryB[3]; + $tickersymbol = $aryB[4]; + $phone = $aryB[5]; + $otherphone = $aryB[6]; + $fax = $aryB[7]; + $email1 = $aryB[8]; + $website = $aryB[9]; + } + $sthB->finish(); + + $stmtB="SELECT bill_city,bill_code,bill_country,bill_state,bill_street,bill_pobox from vtiger_accountbillads where accountaddressid='$crmid[$i]';"; + if($DBX){print STDERR "\n|$stmtB|\n";} + $sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr; + $sthB->execute or die "executing: $stmtB ", $dbhB->errstr; + $sthBrows=$sthB->rows; + if ($sthBrows > 0) + { + @aryB = $sthB->fetchrow_array; + $bill_city = $aryB[0]; + $bill_code = $aryB[1]; + $bill_country = $aryB[2]; + $bill_state = $aryB[3]; + $bill_street = $aryB[4]; + $bill_pobox = $aryB[5]; + } + $sthB->finish(); + + if ($dupchecksys > 0) + { + $stmtA = "SELECT count(*) FROM vicidial_list where phone_number='$phone';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VL_phone_dup = "$aryA[0]"; + } + $sthA->finish(); + } + if ($dupcheckvend > 0) + { + $stmtA = "SELECT count(*) FROM vicidial_list where vendor_lead_code='$crmid[$i]';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $VL_dup = "$aryA[0]"; + } + $sthA->finish(); + } + + if ($VL_phone_dup > 0) + { + if($DB){print "DUPLICATE PHONE: $phone|$crmid[$i]\n";} + $f++; + $affected_rowsA=0; + ### update the existing vicidial_list entry ### + $stmtA = "UPDATE vicidial_list SET first_name='$accountname',last_name='$ownership',address1='$bill_street',address2='$bill_pobox',city='$bill_city',state='$bill_state',postal_code='$bill_code',country='$bill_country',vendor_lead_code='$crmid[$i]',address3='$fax',alt_phone='$otherphone',email='$email1',province='$website',security_phrase='$tickersymbol',comments='$siccode|$annualrevenue' where phone_number='$phone' limit 1;"; + if (!$T) {$affected_rowsA = $dbhA->do($stmtA); } # or die "Couldn't execute query: |$stmtB|\n"; + if($DB){print STDERR "\n|$affected_rowsA|$stmtA|\n";} + $c = ($affected_rowsA + $c); + } + else + { + if ($VL_dup > 0) + { + if($DB){print "DUPLICATE VENDOR_ID: $crmid[$i]\n";} + $e++; + $affected_rowsA=0; + ### update the existing vicidial_list entry ### + $stmtA = "UPDATE vicidial_list SET first_name='$accountname',last_name='$ownership',address1='$bill_street',address2='$bill_pobox',city='$bill_city',state='$bill_state',postal_code='$bill_code',country_code='$bill_country',phone_number='$phone',address3='$fax',alt_phone='$otherphone',email='$email1',province='$website',security_phrase='$tickersymbol',comments='$siccode $annualrevenue' where vendor_lead_code='$crmid[$i]' limit 1;"; + if (!$T) {$affected_rowsA = $dbhA->do($stmtA); } # or die "Couldn't execute query: |$stmtB|\n"; + if($DB){print STDERR "\n|$affected_rowsA|$stmtA|\n";} + $c = ($affected_rowsA + $c); + } + else + { + ### print the output file in proper format + print out "$crmid[$i]||$list_id|$phone_code|$phone||$accountname||$ownership|$bill_street|$bill_pobox|$fax|$bill_city|$bill_state|$website|$bill_code|$bill_country|||$otherphone|$email1|$ticketsymbol|$siccode $annualrevenue\n"; + $b++; + } + } + + $i++; + + if ($i =~ /10$/i) {print STDERR "0 $i\r";} + if ($i =~ /20$/i) {print STDERR "+ $i\r";} + if ($i =~ /30$/i) {print STDERR "| $i\r";} + if ($i =~ /40$/i) {print STDERR "\\ $i\r";} + if ($i =~ /50$/i) {print STDERR "- $i\r";} + if ($i =~ /60$/i) {print STDERR "/ $i\r";} + if ($i =~ /70$/i) {print STDERR "| $i\r";} + if ($i =~ /80$/i) {print STDERR "+ $i\r";} + if ($i =~ /90$/i) {print STDERR "0 $i\r";} + if ($i =~ /00$/i) {print "$i|$b|$c|$d|$e|$f|$g|$crmid[$i]|$phone_number|\n";} + } + + + + ### open the stats out file for writing ### + open(Sout, ">>$VDHLOGfile") + || die "Can't open $VDHLOGfile: $!\n"; + + + ### close file handler and DB connections ### + $Falert = "\n\nTOTALS FOR $FILEname:\n"; + $Falert .= "Records in System: $i\n"; + $Falert .= "LINES OUTPUTED: $b\n"; + $Falert .= "LIVE VL UPDATE: $c\n"; + $Falert .= "ERROR: $e\n"; +# $Falert .= "MULTI-ALT-PHONE: $g\n"; + if ($e > 0) + {$Falert .= "VENDOR DUPLICATES: $e\n";} + if ($f > 0) + {$Falert .= "PHONE DUPLICATES: $f\n";} + + print "$Falert"; + print Sout "$Falert"; + $Ealert .= "$Falert"; + + close(out); + close(Sout); + chmod 0777, "$VDHLOGfile"; + + ### Move file to the LEADS_IN directory locally + if (!$T) {`mv -f $dir2/$VDLfile $dir1/$VDLfile`;} + + +$dbhA->disconnect(); +$dbhB->disconnect(); + +### calculate time to run script ### +$secY = time(); +$secZ = ($secY - $secX); +$secZm = ($secZ /60); + +if ($q < 1) + { + print "script execution time in seconds: $secZ minutes: $secZm\n"; + } + +###### EMAIL SECTION + +if ( (length($Ealert)>5) && (length($email_list) > 3) ) + { + print "Sending email: $email_list\n"; + + use MIME::QuotedPrint; + use MIME::Base64; + use Mail::Sendmail; + + $mailsubject = "VTIGER ACCOUNT FILE LOAD $pulldate0"; + + %mail = ( To => "$email_list", + From => "$email_sender", + Subject => "$mailsubject", + Message => "VTIGER ACCOUNT FILE LOAD $pulldate0\n\n$Ealert\n" + ); + sendmail(%mail) or die $mail::Sendmail::error; + print "ok. log says:\n", $mail::sendmail::log; ### print mail log for status + } + +exit; + diff --git a/agc_2-X/branches/agc_2.0.5/bin/build_translation_www_files.pl b/agc_2-X/branches/agc_2.0.5/bin/build_translation_www_files.pl new file mode 100644 index 00000000..da454e2b --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/bin/build_translation_www_files.pl @@ -0,0 +1,420 @@ +#!/usr/bin/perl +# +# build_translation_www_files.pl version 2.0.5 +# +# converts web pages to other language +# +# Copyright (C) 2008 Matt Florell LICENSE: AGPLv2 +# +# changes: +# 60808-1029 - Changed to use /etc/astguiclient.conf for configs +# 70402-1305 - Added error log generation for not found phrases +# + +############################################ +# grab variables from /etc/astguiclient.conf + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# +# path to home directory: (assumes it already exists) +$home = $PATHhome; + +# path to web root directory: (assumes it already exists) +$webroot = $PATHweb; + +############################################ + +$secX = time(); + +# constants +$DB=1; # Debug flag, set to 0 for no debug messages, lots of output +$US='_'; +$MT[0]=''; +$language_admin_file = 'language_admin.txt'; +$language_file = 'language.txt'; +$error_file = "language_error.txt"; +$admin_error_file = "language_admin_error.txt"; + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help/i) + { + print "allowed run time options:\n [-t] = test\n [-debug] = verbose debug messages\n[--admin-only] = only translate admin pages\n[--client-only] = only translate client pages\n[--without-en] = only translate non-english\n[--language=] = which language to build, 2 letter code, defaults to es-spanish\n\n"; + + exit; + } + else + { + if ($args =~ /-debug/i) + { + $DB=1; # Debug flag + } + if ($args =~ /--language/i) + { + $LANG=1; + print "\n----- LANGUAGE WEB SCRIPT ONLY BUILD -----\n\n"; + } + if ($args =~ /--language=/i) + { + @data_in = split(/--language=/,$args); + $CLIlanguage = $data_in[1]; + } + else + {$CLIlanguage = 'es';} # default to build all languages + if ($args =~ /-admin-only/i) + { + $admin_only=1; # Admin flag + print "\n----- ADMIN PAGES ONLY BUILD -----\n\n"; + } + if ($args =~ /-client-only/i) + { + $client_only=1; # Client flag + print "\n----- CLIENT PAGES ONLY BUILD -----\n\n"; + } + if ($args =~ /-without-en/i) + { + print "\n----- NON-ENGLISH ONLY BUILD -----\n\n"; + $without_en=1; + } + if ($args =~ /-t/i) + { + $TEST=1; + $T=1; + } + } +} +else +{ +# print "no command line options set\n"; +} +### end parsing run-time options ### + + +if ($LANG) +{ +if ( (!$admin_only) && (!$client_only) ) + {$admin_only=1; $client_only=1;} + +if ($admin_only==1) + { + print "\n----- LANGUAGE BUILD: $CLIlanguage -----\n\n"; + $LANG_FILE_ERROR = "$PATHlogs/$CLIlanguage$US$admin_error_file"; + $LANG_FILE_ADMIN = "./translations/$CLIlanguage$US$language_admin_file"; + open(lang, "$LANG_FILE_ADMIN") || die "can't open $LANG_FILE_ADMIN: $!\n"; + @lang = ; + close(lang); + &translate_pages; + } + +@lang=@MT; +@LANGUAGES=@MT; +@FILES=@MT; +@TRANSLATIONS=@MT; +@TRANSLATIONS_RAW=@MT; + +if ($client_only==1) + { + $LANG_FILE_ERROR = "$PATHlogs/$CLIlanguage$US$error_file"; + $LANG_FILE = "./translations/$CLIlanguage$US$language_file"; + open(lang, "$LANG_FILE") || die "can't open $LANG_FILE: $!\n"; + @lang = ; + close(lang); + &translate_pages; + } +} + +$secy = time(); $secz = ($secy - $secX); $minz = ($secz/60); # calculate script runtime so far +print "\n - process runtime ($secz sec) ($minz minutes)\n"; +print "\n\nDONE and EXITING\n"; + + +exit; + + + +sub translate_pages +{ +#***LANGUAGES*** +#en-English|es-Espaol| +#***FILES*** +#agc/astguiclient.php +#agc/vicidial.php +#***TRANSLATIONS*** +#English|Ingls| +#Spanish|Espaol| + +##### PARSE THE LANGUAGES SETTING FILE ##### +$section=''; +$i=0; +$Lct=0; $Fct=0; $Tct=0; +foreach(@lang) + { + if ($lang[$i] !~ /^\#/) + { + if ($lang[$i] =~ /^\*\*\*/) + { + $section = $lang[$i]; + $section =~ s/\*|\n|\r//gi; + # print "section heading: $section: $lang[$i]"; + } + else + { + if ($section =~ /LANGUAGES/) + { + $LANGUAGES = $lang[$i]; + $Lct++; + } + else + { + if ($section =~ /FILES/) + { + # print "section: $section line: $lang[$i]"; + $FILES[$Fct] = $lang[$i]; + $Fct++; + } + else + { + if ($section =~ /TRANSLATIONS/) + { + # print "section: $section line: $lang[$i]"; + @TRANSlineX = split(/\|/, $lang[$i]); + $ORIGtextX = "$TRANSlineX[0]"; + $lengthX = length($ORIGtextX); + $lengthX = sprintf("%04d",$lengthX); + $TRANSLATIONS_RAW[$Tct] = "$lengthX|$lang[$i]"; + $Tct++; + } + } + } + } + } + $i++; + } + +if ($DB) + { + print "LANGUAGE FILE PARSE RESULTS: $#lang lines in file\n"; + print "LANGUAGES: $LANGUAGES\n"; + print "FILES: $Fct\n"; + print "TRANSLATIONS: $Tct\n"; + } + +#@TRANSLATIONS = sort { length($b) <=> length($a) } @TRANSLATIONS_RAW; +@TRANSLATIONS = sort { $b <=> $a } @TRANSLATIONS_RAW; + +#$k=0; +#foreach(@TRANSLATIONS) +# { +# $length = length($TRANSLATIONS[$k]); +# print "$TRANSLATIONS[$k]|$length|\n"; +# $k++; +# } + +##### LOOP THROUGH THE LANGUAGES +@lang_list = split(/\|/, $LANGUAGES); +@lang_link_list = @lang_list; +$i=0; +$gif = '.gif'; +foreach(@lang_list) + { + if (length($lang_list[$i]) > 2) + { + @lang_detail = split(/-/, $lang_list[$i]); + $lang_abb = $lang_detail[0]; + $lang_name = $lang_detail[1]; + + if ( ($without_en==1) && ($lang_abb =~ /en/) ) + { + print "SKIPPING ENGLISH COPYING: $lang_abb|$i\n\n"; + } + else + { + ##### LOOP THROUGH THE FILES + $Fct=0; + foreach(@FILES) + { + $a=0; + @file_detail = split(/\|/, $FILES[$Fct]); + $file_path = $file_detail[0]; + $file_name = $file_detail[1]; + $file_name =~ s/\t|\r|\n//gi; + $file_passthru = $file_detail[2]; + $file_passthru =~ s/\t|\r|\n//gi; + if (-e "$webroot/$file_path/$file_name") + { + open(file, "$webroot/$file_path/$file_name") || die "can't open $webroot/$file_path/$file_name: $!\n"; + @file = @MT; + @file = ; + close(file); + + print "File exists: ./$file_path/$file_name\n"; + if (-e "$webroot/$file_path$US$lang_abb") + { + print "Lang Directory exists: $webroot/$file_path$US$lang_abb\n"; + } + else + { + `mkdir $webroot/$file_path$US$lang_abb`; + `chmod 0777 $webroot/$file_path$US$lang_abb`; + print "Lang Directory created: $webroot/$file_path$US$lang_abb\n"; + } + + if ($file_passthru < 1) + { + ##### LOOP THROUGH THE TRANSLATIONS + $Tct=0; + foreach(@TRANSLATIONS) + { + @TRANSline = split(/\|/, $TRANSLATIONS[$Tct]); + $ORIGtext = "$TRANSline[1]"; + $TRANStext = "$TRANSline[$i+1]"; + $LINESct=0; + foreach(@file) + { + if ($file[$LINESct] !~ /^\#|^\s*function |'INCALL'|'PAUSED'|'READY'|'NEW'|xmlhttp|ILPV |ILPA |SELECT cmd_line_f|=\"SELECT/) + { + $phrase_found_counter=0; + if ($file[$LINESct] =~ /INTERNATIONALIZATION-LINKS-PLACEHOLDER-VICIDIAL/) + { + $file[$LINESct] =~ s/INTERNATIONALIZATION-LINKS-PLACEHOLDER-VICIDIAL/ILPV/g; + $e=0; + $gif = '.gif'; + foreach(@lang_link_list) + { + if (length($lang_link_list[$e]) > 2) + { + @lang_list_detail = split(/-/, $lang_link_list[$e]); + $lang_list_abb = $lang_list_detail[0]; + $lang_list_name = $lang_list_detail[1]; + if ($lang_list_abb =~ /$lang_abb/) {$list_bgcolor = ' BGCOLOR=\"#CCFFCC\"';} + else {$list_bgcolor = '';} + $file[$LINESct] .= "echo \"
    $lang_list_name $lang_list_name   +- {if $keyid eq '55' || $keyid eq '255'} +- {if $keyaccess eq $APP.LBL_NOT_ACCESSIBLE} +- {$APP.LBL_NOT_ACCESSIBLE} +- {else} +- {$keysalut} +- {/if} +- {*elseif $keyid eq '71' || $keyid eq '72'} ++ {if $keyid eq '1' || $keyid eq 2 || $keyid eq '7' || $keyid eq '9' || $keyid eq '55' || $keyid eq '71' || $keyid eq '72' || $keyid eq '255'} ++   ++ {if $keyid eq '55' || $keyid eq '255'} ++ {if $keyaccess eq $APP.LBL_NOT_ACCESSIBLE} ++ {$APP.LBL_NOT_ACCESSIBLE} ++ {else} ++ {$keysalut} ++ {/if} ++ {*elseif $keyid eq '71' || $keyid eq '72'} + {$keycursymb*} + {/if} + {$keyval} + +- {if $smarty.session.internal_mailer eq 1} ++ {if $smarty.session.internal_mailer eq 1} + {$keyval} + {else} + {$keyval} + {/if} + +- ++ ++ VCcall: {$keyval} ++ ++   + {foreach item=arr from=$keyoptions} +--- ./Smarty/templates/DetailViewUI.tpl 2009-01-26 11:03:34.000000000 -0500 ++++ ./Smarty/templates/DetailViewUI.tpl 2009-01-26 15:03:44.000000000 -0500 +@@ -13,7 +13,7 @@ + -->*} + + +- {if $keyid eq '1' || $keyid eq 2 || $keyid eq '11' || $keyid eq '7' || $keyid eq '9' || $keyid eq '55' || $keyid eq '71' || $keyid eq '72' || $keyid eq '103' || $keyid eq '255'} ++ {if $keyid eq '1' || $keyid eq 2 || $keyid eq '7' || $keyid eq '9' || $keyid eq '55' || $keyid eq '71' || $keyid eq '72' || $keyid eq '103' || $keyid eq '255'} + + {if $keyid eq '55' || $keyid eq '255'} + {if $keyaccess eq $APP.LBL_NOT_ACCESSIBLE} +@@ -46,6 +46,17 @@ + + + ++ VCcall: ++ {$keyval} ++ ++ ++
    \n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + +###################### +# ADD=2 display all busy extensions on a server +###################### +if ($ADD==2) +{ + if (!$field_name) {$field_name = 'busyext';} + if ($format=='table') {echo "
    \n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=3 display all busy outside lines(trunks) on a server +###################### +if ($ADD==3) +{ + if (!$field_name) {$field_name = 'trunk';} + if ($format=='table') {echo "
    \n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=4 display all busy Local lines on a server +###################### +if ($ADD==4) +{ + if (!$field_name) {$field_name = 'local';} + if ($format=='table') {echo "
    \n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + +###################### +# ADD=5 display all agc-usable conferences on a server +###################### +if ($ADD==5) +{ + $pt='pt'; + if (!$field_name) {$field_name = 'conferences';} + if ($format=='table') {echo "
    \n";} + if ($format=='menu') {echo "\n"; + } + if ($format=='textarea') + { + echo "\n";} +} + + + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='table') {echo "\n";} +if ($format=='table') {echo "\n\n\n";} + +exit; + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/api.php b/agc_2-X/branches/agc_2.0.5/www/agc/api.php new file mode 100644 index 00000000..84e462f5 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/agc/api.php @@ -0,0 +1,514 @@ + LICENSE: AGPLv2 +# +# This script is designed as an API(Application Programming Interface) to allow +# other programs to interact with the VICIDIAL Agent screen +# +# required variables: +# - $user +# - $pass +# - $agent_user +# - $function - ('external_hangup','external_status','external_pause') +# - $value +# - $vendor_id +# - $focus +# - $preview +# - $notes +# - $phone_code +# - $search +# - $group_alias +# - $dial_prefix +# - $source - ('vtiger','webform','adminweb') +# - $format - ('text','debug') + +# CHANGELOG: +# 80703-2225 - First build of script +# 90116-1229 - Added external_pause and external_dial functions +# 90118-1051 - Added logging of API functions +# 90128-0229 - Added vendor_id to dial function +# 90303-0723 - Added group alias and dial prefix +# + +$version = '2.0.5-5'; +$build = '90303-0723'; + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["agent_user"])) {$agent_user=$_GET["agent_user"];} + elseif (isset($_POST["agent_user"])) {$agent_user=$_POST["agent_user"];} +if (isset($_GET["function"])) {$function=$_GET["function"];} + elseif (isset($_POST["function"])) {$function=$_POST["function"];} +if (isset($_GET["value"])) {$value=$_GET["value"];} + elseif (isset($_POST["value"])) {$value=$_POST["value"];} +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["focus"])) {$focus=$_GET["focus"];} + elseif (isset($_POST["focus"])) {$focus=$_POST["focus"];} +if (isset($_GET["preview"])) {$preview=$_GET["preview"];} + elseif (isset($_POST["preview"])) {$preview=$_POST["preview"];} +if (isset($_GET["notes"])) {$notes=$_GET["notes"];} + elseif (isset($_POST["notes"])) {$notes=$_POST["notes"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["search"])) {$search=$_GET["search"];} + elseif (isset($_POST["search"])) {$search=$_POST["search"];} +if (isset($_GET["group_alias"])) {$group_alias=$_GET["group_alias"];} + elseif (isset($_POST["group_alias"])) {$group_alias=$_POST["group_alias"];} +if (isset($_GET["dial_prefix"])) {$dial_prefix=$_GET["dial_prefix"];} + elseif (isset($_POST["dial_prefix"])) {$dial_prefix=$_POST["dial_prefix"];} +if (isset($_GET["source"])) {$source=$_GET["source"];} + elseif (isset($_POST["source"])) {$source=$_POST["source"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} + +$group_alias = ereg_replace("[^0-9a-zA-Z]","",$group_alias); +$dial_prefix = ereg_replace("[^0-9a-zA-Z]","",$dial_prefix); + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) +{ +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$agent_user=ereg_replace("[^0-9a-zA-Z]","",$agent_user); +$function = ereg_replace("[^-\_0-9a-zA-Z]","",$function); +$value = ereg_replace("[^-\_0-9a-zA-Z]","",$value); +$vendor_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vendor_id); +$focus = ereg_replace("[^-\_0-9a-zA-Z]","",$focus); +$preview = ereg_replace("[^-\_0-9a-zA-Z]","",$preview); + $notes = ereg_replace("\+"," ",$notes); +$notes = ereg_replace("[^ -\_0-9a-zA-Z]","",$notes); +$phone_code = ereg_replace("[^0-9X]","",$phone_code); +$search = ereg_replace("[^-\_0-9a-zA-Z]","",$search); +$group_alias = ereg_replace("[^0-9a-zA-Z]","",$group_alias); +$dial_prefix = ereg_replace("[^0-9a-zA-Z]","",$dial_prefix); +$source = ereg_replace("[^0-9a-zA-Z]","",$source); +$format = ereg_replace("[^0-9a-zA-Z]","",$format); +} + +### date and fixed variables +$epoch = date("U"); +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$api_script = 'agent'; +$api_logging = 1; + + +################################################################################ +### BEGIN - version - show version and date information for the API +################################################################################ +if ($function == 'version') + { + $data = "VERSION: $version|BUILD: $build|DATE: $NOW_TIME|EPOCH: $StarTtime"; + $result = 'SUCCESS'; + echo "$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } +################################################################################ +### END - version +################################################################################ + + + + + +################################################################################ +### BEGIN - user validation section +################################################################################ + +if ($ACTION == 'LogiNCamPaigns') + { + $skip_user_validation=1; + } +else + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access = '1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + $result = 'ERROR'; + $result_reason = "Invalid Username/Password"; + echo "$result: $result_reason: |$user|$pass|$auth|\n"; + $data = "$user|$pass|$auth"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt="SELECT count(*) from system_settings where vdc_agent_api_active='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + $result = 'ERROR'; + $result_reason = "System API NOT ACTIVE"; + echo "$result: $result_reason\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + # do nothing for now + } + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "";} + $rslt=mysql_query($stmt, $link); + $result = 'SUCCESS'; + $result_reason = "external_hangup function set"; + echo "$result: $result_reason - $value|$agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not logged in"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } +} +################################################################################ +### END - external_hangup +################################################################################ + + + + + +################################################################################ +### BEGIN - external_status - set the dispo code or status for a call and move on +################################################################################ +if ($function == 'external_status') +{ + if ( (strlen($value)<1) || (strlen($agent_user)<1) ) + { + $result = 'ERROR'; + $result_reason = "external_status not valid"; + echo "$result: $result_reason - $value|$agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt = "select count(*) from vicidial_live_agents where user='$agent_user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt="UPDATE vicidial_live_agents set external_status='$value' where user='$agent_user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $result = 'SUCCESS'; + $result_reason = "external_status function set"; + echo "$result: $result_reason - $value|$agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not logged in"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } +} +################################################################################ +### END - external_status +################################################################################ + + + + + +################################################################################ +### BEGIN - external_pause - pause or resume the agent +################################################################################ +if ($function == 'external_pause') +{ + if ( (strlen($value)<1) || (strlen($agent_user)<1) || (!ereg("PAUSE|RESUME",$value)) ) + { + $result = 'ERROR'; + $result_reason = "external_pause not valid"; + echo "$result: $result_reason - $value|$agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt = "select count(*) from vicidial_live_agents where user='$agent_user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + if (ereg("RESUME",$value)) + { + $stmt = "select count(*) from vicidial_live_agents where user='$agent_user' and status IN('READY','QUEUE','INCALL','CLOSER');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $result = 'ERROR'; + $result_reason = "external_pause agent is not paused"; + echo "$result: $result_reason - $value|$agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + $stmt="UPDATE vicidial_live_agents set external_pause='$value!$epoch' where user='$agent_user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $result = 'SUCCESS'; + $result_reason = "external_pause function set"; + echo "$result: $result_reason - $value|$epoch|$agent_user\n"; + $data = "$epoch"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not logged in"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } +} +################################################################################ +### END - external_pause +################################################################################ + + + + + +################################################################################ +### BEGIN - external_dial - place a manual dial phone call +################################################################################ +if ($function == 'external_dial') +{ + $value = ereg_replace("[^0-9]","",$value); + + if ( (strlen($value)<2) || (strlen($agent_user)<2) || (strlen($search)<2) || (strlen($preview)<2) || (strlen($focus)<2) ) + { + $result = 'ERROR'; + $result_reason = "external_dial not valid"; + $data = "$phone_code|$search|$preview|$focus"; + echo "$result: $result_reason - $value|$data|$agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + $stmt = "select count(*) from vicidial_live_agents where user='$agent_user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "select count(*) from vicidial_live_agents where user='$agent_user' and status='PAUSED' and lead_id < 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "select count(*) from vicidial_users where user='$agent_user' and agentcall_manual='1';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + if (strlen($group_alias)>1) + { + $stmt = "select caller_id_number from groups_alias where group_alias_id='$group_alias';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $VDIG_cidnum_ct = mysql_num_rows($rslt); + if ($VDIG_cidnum_ct > 0) + { + $row=mysql_fetch_row($rslt); + $caller_id_number = $row[0]; + if ($caller_id_number < 4) + { + $result = 'ERROR'; + $result_reason = "caller_id_number from group_alias is not valid"; + $data = "$group_alias|$caller_id_number"; + echo "$result: $result_reason - $agent_user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + else + { + $result = 'ERROR'; + $result_reason = "group_alias is not valid"; + $data = "$group_alias"; + echo "$result: $result_reason - $agent_user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + $stmt="UPDATE vicidial_live_agents set external_dial='$value!$phone_code!$search!$preview!$focus!$vendor_id!$epoch!$dial_prefix!$group_alias!$caller_id_number' where user='$agent_user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $result = 'SUCCESS'; + $result_reason = "external_dial function set"; + $data = "$phone_code|$search|$preview|$focus|$vendor_id|$epoch|$dial_prefix|$group_alias|$caller_id_number"; + echo "$result: $result_reason - $value|$agent_user|$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not allowed to place manual dial calls"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not paused"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + else + { + $result = 'ERROR'; + $result_reason = "agent_user is not logged in"; + echo "$result: $result_reason - $agent_user\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } +} +################################################################################ +### END - external_dial +################################################################################ + + + + + +if ($format=='debug') +{ +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +echo "\n"; +echo "\n\n\n"; +} + +exit; + + + + + + +##### FUNCTIONS ##### + +##### Logging ##### +function api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data) +{ +if ($api_logging > 0) + { + $NOW_TIME = date("Y-m-d H:i:s"); +# api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + $stmt="INSERT INTO vicidial_api_log set user='$user',agent_user='$agent_user',function='$function',value='$value',result='$result',result_reason='$result_reason',source='$source',data='$data',api_date='$NOW_TIME',api_script='$api_script';"; + $rslt=mysql_query($stmt, $link); + } +return 1; +} + +?> diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/astguiclient.php b/agc_2-X/branches/agc_2.0.5/www/agc/astguiclient.php new file mode 100644 index 00000000..68dbe761 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/agc/astguiclient.php @@ -0,0 +1,2905 @@ + LICENSE: AGPLv2 +# +# make sure you have added a user to the vicidial_users MySQL table with at least +# user_level 1 or greater to access this page. Also you need to have the login +# and pass of a phone listed in the asterisk.phones table. The page grabs the +# server info and other details from this login and pass +# +# Other scripts that this application depends on: +# - active_list_refresh.php: displays active/live channels and phones +# - manager_send.php: sends Actions to be executed on Asterisk servers +# - live_exten_check.php: checks to see if user's phone is on a live call +# - call_log_display.php: retrieves log of inbound and outbound calls +# - voicemail_check.php: retrieves counts of new and old messages +# - inbound_popup.php: opens upon live_inbound call coming in +# - conf_exten_check.php: checks to see if and calls are in a specific conf +# - park_calls_display.php: retrieves list of parked calls +# - vdc_db_query.php: Changes values in the DB for non-calling records +# +# CHANGES +# 50215-1356 - Proof-of-concept test of XMLHttpRequest for astGUIclient web +# 50323-1411 - First build version display-only +# 50331-1040 - Second-build, added phone login and hangup/hijack display +# 50401-1006 - Trunk/Local Hangup functions enabled +# 50404-1056 - Trunk/Local Hijack functions enabled +# 50404-1459 - Simple live calls display and grabs updated time from server +# 50405-1221 - Reorganized the display and layers, added some images +# 50406-1005 - Added In/Out call log display to MAIN panel +# 50407-1254 - Start/Stop Recording on live calls enabled +# 50422-1101 - Activated Check Voicemail button and new/old messages count +# 50428-1449 - Added dial from log and basic live_inbound call popup +# 50429-1455 - Modified inbound popup code for IE and to add more functions +# 50502-1442 - Added basic method to transfer live calls somewhere else +# 50503-1205 - Added web_client_sessions entry for more security of subscripts +# 50503-1537 - Added basic conferences display +# 50509-1132 - Added conference connected list and hangup/xfer for them +# 50511-1129 - Added registration of conference rooms and added manual dial +# 50523-1342 - Added Conference recording and send DTMF +# 50523-1622 - Added Local Dial window frame for calling local extensions +# 50524-1456 - Added ability to park call and display number of parked calls +# 50524-1600 - Added ability to display and pickup/hangup/xfer parked calls +# 50525-1224 - Added ability to place outbound call from within conferene +# 50531-1225 - Added ability to do dual transfers to meetme rooms from Main +# 50711-1229 - removed HTTP authentication in favor of user/pass vars +# 50711-1610 - Added Zap monitoring to Trunk/Local Action screens +# 50804-1604 - Minor bug fix in inbound_popup functions +# 50818-1715 - Added pretty login section +# 50913-1137 - Added custom outbound_cid from phones table +# 51110-1430 - Fixed non-standard http port issue +# 60103-1421 - Added code for favorite extensions chooser +# 60104-1347 - Added basic layout for favorites editing frame +# 60105-1124 - Finished Favorites frame and added DB submission +# 60112-1622 - Several formatting changes +# 60421-1357 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1103 - Added variable filters to close security holes for login form +# 60829-1528 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +$version = '2.0.1'; +$build = '60829-1528'; + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + + +if ($force_logout) +{ + if( (strlen($_SERVER['user'])>0) or (strlen($_SERVER['pass'])>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "You have now logged out. Thank you\n"; + exit; +} + +$StarTtime = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd-His"); + $month_old = mktime(0, 0, 0, date("m"), date("d")-7, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$US='_'; +$CL=':'; +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./astguiclient_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = $agcPAGE; +$agcDIR = eregi_replace('astguiclient.php','',$agcDIR); + + if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth) or ($relogin == 'YES') ) + { + header ("Content-type: text/html; charset=utf-8"); + + echo "astGUIclient web client: Login\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Login
     
    User Login:
    User Password:
    Phone Login:
    Phone Password:

    VERSION: $version       BUILD: $build
    \n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($user); + $password=strtoupper($pass); + $stmt="SELECT full_name,user_level from vicidial_users where user='$user' and pass='$pass'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + } + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "astGUIclient web client: Phone Login\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    \n"; +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "


    "; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    Phone Login
     
    Phone Login:
    Phone Password:

    VERSION: $version       BUILD: $build
    \n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +$authphone=0; +$stmt="SELECT count(*) from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "astGUIclient web client: Phone Login\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Phone Login
     
    Sorry, your phone login and password are not active in this system, please try again:
     
    Phone Login:
    Phone Password:

    VERSION: $version       BUILD: $build
    \n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { + echo "astGUIclient web client\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $phone_login=$row[6]; + $phone_pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $CaLLerID_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $outbound_cid=$row[65]; + + $local_web_callerID_URL_enc = rawurlencode($local_web_callerID_URL); + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtime$US$session_ext$session_rand"; + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'agc';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','agc','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT count(*) from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_present=$row[0]; + if ($favorites_present > 0) + { + $stmt="SELECT extensions_list from phone_favorites where extension='$extension' and server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favorites_list=$row[0]; + $h=0; + $favorites_listX = eregi_replace("'",'',$favorites_list); + $favorites = explode(',',$favorites_listX); + $favorites_count = count($favorites); + $favorites_listX=''; + + $o=0; + while ($favorites_count > $o) + { + $stmt="SELECT fullname,protocol from phones where extension = '$favorites[$o]' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $favorites_names[$o] = $rowx[0]; + $favorites_listX .= "$rowx[1]/$favorites[$o],"; + $o++; + } + + echo "\n"; + echo "\n"; + } + else + { + echo "\n"; + } + +### gather phone extensions and fullnames for favorites editor ### + $stmt="SELECT extension,fullname from phones where server_ip = '$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $exten_ct = mysql_num_rows($rslt); + $favlistCT=0; + $nofavlistCT=0; + while ($favlistCT < $exten_ct) + { + $row=mysql_fetch_row($rslt); + $favlist[$favlistCT]= "$row[0] - $row[1]"; + $favlistCT++; + } + + } +} + + +?> + + + + + + +\n"; + + +?> + +
    + + + + + + + + + +
    + + +LOGOUT
    \n"; ?> +
    Main PanelActive Lines PanelConferences PanelCheck VoicemailLive Call
    +
    + + +

    Logout
    +
    + + +
    TRUNK HANGUP

    + Active Trunks Menu
    + Hangup Trunk   |   + Hijack Trunk   |   + Listen Trunk   |   + Refresh   |   + Back to Main Window +
    +
    + + +
    LOCAL HANGUP

    + Active Local Menu
    + Hangup Local   |   + Hijack Local   |   + Listen Local   |   + Refresh   |   + Back to Main Window +
    +
    + + + + + + + +
    LIVE CALL TRANSFER
    Channel to be transferred: Channel
    Extensions:
    Extensions Menu
    +
    + Send to selected extension

    + Send to selected vmail box

    + Send to this number:


    + Refresh


    + Back to Main Window

    +
    Conferences:
    (click on a number below to send to a conference)
    Send my channel too
    Conferences Menu
    +
    + + + + + +
    LOCAL Extensions Dial
    Phone calling from: Channel
    Extensions:
    Extensions Menu
    +
    + Call selected extension

    + Call selected vmail box

    + Refresh


    + Back to Main Window

    +
    +
    + + +
    PARKED CALLS:
    + Back to Main Window

    +
    +
    + + + + + + + + + + + + + + + +
      +
    VOICEMAIL     NEW:     OLD:             MANUAL DIAL       DIAL
    PARKED CALLS: 0                LOCAL DIAL EXTENSIONS
    OUTBOUND CALLS:
    INBOUND CALLS:
    astGUIclient web-client VERSION: BUILD:
    + + + + $h) + { + if (strlen($favorites[$h])>1) + { + echo "\n"; + } + $h++; + } +?> + +
    FAVORITES       edit
    $favorites[$h] - $favorites_names[$h]
     
    +
    + + + + + + + +
    FAVORITES

     
    SUBMIT FAVORITES CHANGES - requires logout
    BACK TO MAIN WINDOW - ignore changes made
    +
    + +
    + + + + + + + + + + + + + +
    +STOP | START     Refresh rate: 1000 ms Faster | Slower

    +
    Initializing..
    +
    Active Extensions
    +REFRESH | +ORDER | +
    Outside Lines
    +REFRESH | +ORDER | +
    Local Extensions
    +REFRESH | +ORDER | +
    + Data Goes Here

    +
    + Data Goes Here

    Trunk Action +
    + Data Goes Here

    Local Action +
    +
    + + + + +
    + + +Conferences List + + + +
    +Click on a conference room number on the left for info on that conference +
    + + + +
    + + + + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/call_log_display.php b/agc_2-X/branches/agc_2.0.5/www/agc/call_log_display.php new file mode 100644 index 00000000..5565a08f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/agc/call_log_display.php @@ -0,0 +1,196 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to send the inbound and outbound calls for a specific phone +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +# - $protocol - ('SIP','Zap','IAX2',...) +# - $in_limit - ('10','20','50','100',...) +# - $out_limit - ('10','20','50','100',...) +# +# +# changes +# 50406-1013 - First build of script +# 50407-1452 - Added definable limits +# 50503-1236 - added session_name checking for extra security +# 50610-1158 - Added NULL check on MySQL results to reduced errors +# 50711-1202 - removed HTTP authentication in favor of user/pass vars +# 60323-1550 - added option for showing different number dialed in log +# 60421-1401 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1202 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($in_limit)) {$in_limit="100";} +if (!isset($out_limit)) {$out_limit="100";} +$number_dialed = 'number_dialed'; +#$number_dialed = 'extension'; + +$version = '0.0.8'; +$build = '60619-1202'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalid server_ip: |$server_ip| or Invalid session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalid session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Call Log Display"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten is not valid or protocol $protocol is not valid\n"; + exit; + } + else + { + ##### print outbound calls from the call_log table + $stmt="SELECT uniqueid,start_time,$number_dialed,length_in_sec FROM call_log where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\" order by start_time desc limit $out_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$out_calls_count = mysql_num_rows($rslt);} + echo "$out_calls_count|"; + $loop_count=0; + while ($out_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[3] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + + if ($number_dialed == 'extension') {$row[2] = substr($row[2],-10);} + echo "$row[0] ~$row[1] ~$row[2] ~$call_time_MS|"; + } + echo "\n"; + + ##### print inbound calls from the live_inbound_log table + $stmt="SELECT call_log.uniqueid,live_inbound_log.start_time,live_inbound_log.extension,caller_id,length_in_sec from live_inbound_log,call_log where phone_ext='$exten' and live_inbound_log.server_ip = '$server_ip' and call_log.uniqueid=live_inbound_log.uniqueid order by start_time desc limit $in_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$in_calls_count = mysql_num_rows($rslt);} + echo "$in_calls_count|"; + $loop_count=0; + while ($in_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + + $call_time_M = ($row[4] / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $callerIDnum = $row[3]; $callerIDname = $row[3]; + $callerIDnum = preg_replace("/.*<|>.*/","",$callerIDnum); + $callerIDname = preg_replace("/\"| <\d*>/","",$callerIDname); + + echo "$row[0] ~$row[1] ~$row[2] ~$callerIDnum ~$callerIDname ~$call_time_MS|"; + } + echo "\n"; + + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/conf_exten_check.php b/agc_2-X/branches/agc_2.0.5/www/agc/conf_exten_check.php new file mode 100644 index 00000000..dd338763 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/agc/conf_exten_check.php @@ -0,0 +1,514 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('refresh','register') +# - $client - ('agc','vdc') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $campagentstdisp - ('YES',...) +# + +# changes +# 50509-1054 - First build of script +# 50511-1112 - Added ability to register a conference room +# 50610-1159 - Added NULL check on MySQL results to reduced errors +# 50706-1429 - script changed to not use HTTP login vars, user/pass instead +# 50706-1525 - Added date-time display for vicidial client display +# 50816-1500 - Added random update to vicidial_live_agents table for vdc users +# 51121-1353 - Altered echo statements for several small PHP speed optimizations +# 60410-1424 - Added ability to grab calls-being-placed and agent status +# 60421-1405 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1201 - Added variable filters to close security holes for login form +# 61128-2255 - Added update for manual dial vicidial_live_agents +# 70319-1542 - Added agent disabled display function +# 71122-0205 - Added vicidial_live_agent status output +# 80424-0442 - Added non_latin lookup from system_settings +# 80519-1425 - Added calls-in-queue tally +# 80703-1106 - Added API functionality for Hangup and Dispo +# 81104-0229 - Added mysql error logging capability +# 81104-1409 - Added multi-retry for some vicidial_live_agents table MySQL queries +# 90102-1402 - Added check for system and database time synchronization +# 90120-1720 - Added compatibility for API pause/resume and dial a number +# 90307-1855 - Added shift enforcement to send logout flag if outside of shift hours +# + +$version = '2.0.5-18'; +$build = '90307-1855'; +$mel=1; # Mysql Error Log enabled = 1 +$mysql_log_count=17; +$one_mysql_log=0; + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["client"])) {$client=$_GET["client"];} + elseif (isset($_POST["client"])) {$client=$_POST["client"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campagentstdisp"])) {$campagentstdisp=$_GET["campagentstdisp"];} + elseif (isset($_POST["campagentstdisp"])) {$campagentstdisp=$_POST["campagentstdisp"];} + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03001',$user,$server_ip,$session_name,$one_mysql_log);} +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) +{ +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +} + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($client)) {$client="agc";} + +$Alogin='N'; +$RingCalls='N'; +$DiaLCalls='N'; + +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd_His"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$random = (rand(1000000, 9999999) + 10000000); + + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03002',$user,$server_ip,$session_name,$one_mysql_log);} +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalid server_ip: |$server_ip| or Invalid session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03002',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalid session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Conf Extension Check"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + if ($ACTION == 'refresh') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($conf_exten)<1) + { + $channel_live=0; + echo "Conf Exten $conf_exten is not valid\n"; + exit; + } + else + { + + if ($client == 'vdc') + { + $Acount=0; + $AexternalDEAD=0; + + ### see if the agent has a record in the vicidial_live_agents table + $stmt="SELECT count(*) from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03003',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Acount=$row[0]; + + if ($Acount > 0) + { + $stmt="SELECT status from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03004',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Astatus=$row[0]; + } + # ### find out if external table shows agent should be disabled + # $stmt="SELECT count(*) from another_table where user='$user' and status='DEAD';"; + # if ($DB) {echo "|$stmt|\n";} + # $rslt=mysql_query($stmt, $link); + # $row=mysql_fetch_row($rslt); + # $AexternalDEAD=$row[0]; + + if ($auto_dial_level > 0) + { + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03005',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 5) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9305$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + if ($campagentstdisp == 'YES') + { + ### grab the status of this agent to display + $stmt="SELECT status,campaign_id,closer_campaigns from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03006',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $Alogin=$row[0]; + $Acampaign=$row[1]; + $AccampSQL=$row[2]; + $AccampSQL = ereg_replace(' -','', $AccampSQL); + $AccampSQL = ereg_replace(' ',"','", $AccampSQL); + + ### grab the number of calls being placed from this server and campaign + $stmt="SELECT count(*) from vicidial_auto_calls where status IN('LIVE') and ( (campaign_id='$Acampaign') or (campaign_id IN('$AccampSQL')) );"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03007',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $RingCalls=$row[0]; + if ($RingCalls > 0) {$RingCalls = "Calls in Queue: $RingCalls";} + else {$RingCalls = "Calls in Queue: $RingCalls";} + + ### grab the number of calls being placed from this server and campaign + $stmt="SELECT count(*) from vicidial_auto_calls where status NOT IN('XFER') and ( (campaign_id='$Acampaign') or (campaign_id IN('$AccampSQL')) );"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03008',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $DiaLCalls=$row[0]; + + } + else + { + $Alogin='N'; + $RingCalls='N'; + $DiaLCalls='N'; + } + } + else + { + $Alogin='N'; + $RingCalls='N'; + $DiaLCalls='N'; + + ### update the vicidial_live_agents every second with a new random number so it is shown to be alive + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03009',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 5) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9309$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + } + + ### grab the API hangup and API dispo fields in vicidial_live_agents + $stmt="SELECT external_hangup,external_status,external_pause,external_dial from vicidial_live_agents where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03010',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $external_hangup = $row[0]; + $external_status = $row[1]; + $external_pause = $row[2]; + $external_dial = $row[3]; + if (strlen($external_status)<1) {$external_status = '::::::::::';} + + $web_epoch = date("U"); + $stmt="select UNIX_TIMESTAMP(last_update),UNIX_TIMESTAMP(db_time) from server_updater where server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03014',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $server_epoch = $row[0]; + $db_epoch = $row[1]; + $time_diff = ($server_epoch - $db_epoch); + $web_diff = ($db_epoch - $web_epoch); + + + ##### grab the shift information the agent + $stmt="SELECT user_group,agent_shift_enforcement_override from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03015',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $VU_user_group = $row[0]; + $VU_agent_shift_enforcement_override = $row[1]; + + ### Gather timeclock and shift enforcement restriction settings + $stmt="SELECT shift_enforcement,group_shifts from vicidial_user_groups where user_group='$VU_user_group';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03016',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $shift_enforcement = $row[0]; + $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[1]); + $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; + + ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + $Ashift_logout=0; + if ( ( (ereg("ALL",$shift_enforcement)) and (!ereg("OFF|START",$VU_agent_shift_enforcement_override)) ) or (ereg("ALL",$VU_agent_shift_enforcement_override)) ) + { + $shift_ok=0; + if (strlen($LOGgroup_shiftsSQL) < 3) + {$Ashift_logout++;} + else + { + $HHMM = date("Hi"); + $wday = date("w"); + + $stmt="SELECT shift_id,shift_start_time,shift_length,shift_weekdays from vicidial_shifts where $LOGgroup_shiftsSQL order by shift_id"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'3017',$user,$server_ip,$session_name,$one_mysql_log);} + $shifts_to_print = mysql_num_rows($rslt); + + $o=0; + while ( ($shifts_to_print > $o) and ($shift_ok < 1) ) + { + $rowx=mysql_fetch_row($rslt); + $shift_id = $rowx[0]; + $shift_start_time = $rowx[1]; + $shift_length = $rowx[2]; + $shift_weekdays = $rowx[3]; + + if (eregi("$wday",$shift_weekdays)) + { + $HHshift_length = substr($shift_length,0,2); + $MMshift_length = substr($shift_length,3,2); + $HHshift_start_time = substr($shift_start_time,0,2); + $MMshift_start_time = substr($shift_start_time,2,2); + $HHshift_end_time = ($HHshift_length + $HHshift_start_time); + $MMshift_end_time = ($MMshift_length + $MMshift_start_time); + if ($MMshift_end_time > 59) + { + $MMshift_end_time = ($MMshift_end_time - 60); + $HHshift_end_time++; + } + if ($HHshift_end_time > 23) + {$HHshift_end_time = ($HHshift_end_time - 24);} + $HHshift_end_time = sprintf("%02s", $HHshift_end_time); + $MMshift_end_time = sprintf("%02s", $MMshift_end_time); + $shift_end_time = "$HHshift_end_time$MMshift_end_time"; + + if ( + ( ($HHMM >= $shift_start_time) and ($HHMM < $shift_end_time) ) or + ( ($HHMM < $shift_start_time) and ($HHMM < $shift_end_time) and ($shift_end_time <= $shift_start_time) ) or + ( ($HHMM >= $shift_start_time) and ($HHMM >= $shift_end_time) and ($shift_end_time <= $shift_start_time) ) + ) + {$shift_ok++;} + } + $o++; + } + + if ($shift_ok < 1) + {$Ashift_logout++;} + } + } + + + if ( ( ($time_diff > 8) or ($time_diff < -8) or ($web_diff > 8) or ($web_diff < -8) ) and (eregi("0$",$StarTtime)) ) + {$Alogin='TIME_SYNC';} + if ($Acount < 1) + {$Alogin='DEAD_VLA';} + if ($AexternalDEAD > 0) + {$Alogin='DEAD_EXTERNAL';} + if ($Ashift_logout > 0) + {$Alogin='SHIFT_LOGOUT';} + + echo 'DateTime: ' . $NOW_TIME . '|UnixTime: ' . $StarTtime . '|Logged-in: ' . $Alogin . '|CampCalls: ' . $RingCalls . '|Status: ' . $Astatus . '|DiaLCalls: ' . $DiaLCalls . '|APIHanguP: ' . $external_hangup . '|APIStatuS: ' . $external_status . '|APIPausE: ' . $external_pause . '|APIDiaL: ' . $external_dial . "|\n"; + + } + $total_conf=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03011',$user,$server_ip,$session_name,$one_mysql_log);} + if ($rslt) {$sip_list = mysql_num_rows($rslt);} + # echo "$sip_list|"; + $loop_count=0; + while ($sip_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $ChannelA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and extension = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03012',$user,$server_ip,$session_name,$one_mysql_log);} + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + # echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; $total_conf++; + $row=mysql_fetch_row($rslt); + $ChannelA[$total_conf] = "$row[0]"; + if ($format=='debug') {echo "\n";} + } + } + $channels_list = ($channels_list + $sip_list); + echo "$channels_list|"; + + $counter=0; + $countecho=''; + while($total_conf > $counter) + { + $counter++; + $countecho = "$countecho$ChannelA[$counter] ~"; + # echo "$ChannelA[$counter] ~"; + } + + echo "$countecho\n"; + } + + if ($ACTION == 'register') + { + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($exten)<1) ) + { + $channel_live=0; + echo "Conf Exten $conf_exten is not valid or Exten $exten is not valid\n"; + exit; + } + else + { + $stmt="UPDATE conferences set extension='$exten' where server_ip = '$server_ip' and conf_exten = '$conf_exten';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'03013',$user,$server_ip,$session_name,$one_mysql_log);} + } + echo "Conference $conf_exten has been registered to $exten\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + + +##### MySQL Error Logging ##### +function mysql_error_logging($NOW_TIME,$link,$mel,$stmt,$query_id,$user,$server_ip,$session_name,$one_mysql_log) +{ +$NOW_TIME = date("Y-m-d H:i:s"); +# mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log); +$errno=''; $error=''; +if ( ($mel > 0) or ($one_mysql_log > 0) ) + { + $errno = mysql_errno($link); + if ( ($errno > 0) or ($mel > 1) or ($one_mysql_log > 0) ) + { + $error = mysql_error($link); + $efp = fopen ("./vicidial_mysql_errors.txt", "a"); + fwrite ($efp, "$NOW_TIME|conf_check |$query_id|$errno|$error|$stmt|$user|$server_ip|$session_name|\n"); + fclose($efp); + } + } +$one_mysql_log=0; +return $errno; +} + +?> diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/dbconnect.php b/agc_2-X/branches/agc_2.0.5/www/agc/dbconnect.php new file mode 100644 index 00000000..723d3c59 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/agc/dbconnect.php @@ -0,0 +1,58 @@ + LICENSE: AGPLv2 +# +if ( file_exists("/etc/astguiclient.conf") ) +{ +$DBCagc = file("/etc/astguiclient.conf"); +foreach ($DBCagc as $DBCline) + { + $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); + if (ereg("^PATHlogs", $DBCline)) + {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} + if (ereg("^PATHweb", $DBCline)) + {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} + if (ereg("^VARDB_server", $DBCline)) + {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} + if (ereg("^VARDB_database", $DBCline)) + {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} + if (ereg("^VARDB_user", $DBCline)) + {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} + if (ereg("^VARDB_pass", $DBCline)) + {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} + if (ereg("^VARDB_port", $DBCline)) + {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} + } + +} +else +{ +#defaults for DB connection +$VARDB_server = 'localhost'; +$VARDB_user = 'cron'; +$VARDB_pass = '1234'; +$VARDB_database = '1234'; +$WeBServeRRooT = '/usr/local/apache2/htdocs'; +} + +$link=mysql_connect("$VARDB_server", "$VARDB_user", "$VARDB_pass"); +if (!$link) { + die('MySQL connect ERROR: ' . mysql_error()); +} +mysql_select_db("$VARDB_database",$link); + +$local_DEF = 'Local/'; +$conf_silent_prefix = '7'; +$local_AMP = '@'; +$ext_context = 'demo'; +$recording_exten = '8309'; +$WeBRooTWritablE = '1'; +$non_latin = '0'; # set to 1 for UTF rules, overridden by system_settings +$flag_channels=0; +$flag_string = 'VICIast20'; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/Thumbs.db b/agc_2-X/branches/agc_2.0.5/www/agc/images/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..0249725ec72124817f09f588dd1b892280b6d303 GIT binary patch literal 429568 zcmeF)2V4|cx-k4E2`E8w1|^6}P;$JB1vmgMKnmancmQ62AGi+)0D^!J zAPk5AqJS764oCo!z&$_}kOpJ`SwIeu2NVEZ-~pfrC;`gALqG*k1D*kofX9G3paEzC zPXH}I8_)st09!yGcnTN*Hh>{u1Q-J*fGJ=Gm;)AoC13?u1J40>zz?tk>;VVB5pV*W z0T;j(a05Jm5Wo}g0(=1EarXstRj@U-;GNgNp4))A{V(qT|M3SWQt*lS@xlJ|58m^X zc@SNYwHpNuEZ1y?{G|PQ{C;`yC%>RWP*HxAkDUL})l~ml{4bxkKl+}(wH&g16!0I& zbLWqik32Vi+x=fYyMJrFfAo8QX8)1r(2w$w+l~q#j|p-gkUy5ccm5;e1TOIV^B);I zkTKw|&wpf{fQ%K$81P5We@3t@6M#Jbk?{l>1Ac%0BiH-;^B);AkTKw|&wpg>K*oSS zdj2EVdk-ux4gCK6N5&Ck4ETHJKQeA0W5C}#|B>tdasDIY2r>rzIRBAx0~rJUE9XBl zULei-CoKfsT%G858po7S3fHoGX{FT*1X7yo!rQfOqA}Rnn^jM8qT{ zBslnFIqM@Opqan8%EbRsUAA(MRL3o`*;u4X{ zGfa9rV$K&)@30soKeUjj4(~B?8QA+_UnV6Zr=VoI!F==9ZEhZ3K7Ii~se95gvU2kG z)gC=o*U)^TWoTql~K|B~&n<*%8rmzQ7`ujC%K>1)G6O zb&tfre)uveBliLm47qE+?AagNF~2{xXa8r%{<2?_5F9iVaPZIwKm~lJR*DS|f(^Ed zQo)lP7Ic{(RMp?Q`c_Yzm>w%$*2UTBF&cB?iN!a%r9ppD=5AQViO!ynzfxUJuLWDS z+s-vjb_UnSjA4ax#S!?z_WY%?sQH4?$Kw^LXP@Gr??$9fCE)w33yc134+kq36;$`O z9p|V;9XwmD413o^@RjNxzktnkHGj3)J4!a#!LPXPX7KR!H*eE77m&tpWHxx(G}5j+ zNtxb5lPq$zwrxpXf+GrVOA-f07H4l_N6&q_tzrVn)01(V<|9-g{gSXA;Yp5rrz3!W3qaW@od;ZSM8J6 ziVJn7`x&Y757?;vxUeogGAN@K45UySkD!TpP30O9ZynXZMzue+B;B8R5?vttX(_Vb-p6BqLDY(x zkfj$|)MQr2a;pe>PSZwG)aVRvoVa4zXHN0)!E&mxVfVJkZG~4pW>cBgtDgL2UoGpk z>3gj*NG#Q?da@Lwh0CT>#kV=6-&gryF74wgmFl0p_f$xC^&7lbGi;qc#+>-|axd*; zRox;gmh0!Fml|tI2m37-#5!$hTyxv1CY#!{y#%&P*bt{%3U8#ksXd4(P~NOrq_1Oo zSA56Ra~64cA`(zJKGPfiJ%Ct6PyU%S@k5l~!MynTBiQ|j-#S0z_s{tK_bR6UvG`36 ztLmh?YSwhMf(~y(%d4W#`F+;vlaP!Ik_QRSPH3x9k36FE2K8Azt@j4own|h>s zlCBBz4HY5SjT7AT*s)ki7+TV{af@nGxz83YX4TyasMja^^f?NsVoDBr(%<6N;ql@?d-d5OiS`i(-^@n z?A_;eJ1a?Zsr8o=iO(zQ6}#RAp_W0;DB+BGrPr{C=o4ZTNGZ%HoH3vNoXhT!J+6$}tO z@TvdSV!%-)V%bwZhlOw(5mqSNil4*(YRki)O5s1JU7Kfs#q!pk;=W&2vkP6!6+sQN9=X-%+@nQ{|p0SwZZEqg*gnk&VKMBz zd^5xM_r(4ZZ-2zyAM>B__hVx=ADO58XC~zSBlEZamGWPL-3_1PGU;W+8+&{`+oxEbJf9#eUI)%O6 z@0XRmoK$3Tw+6Qhqbg5dXM7S)w0LFnM9X3@hv)N0mQTF$FXD}RR%_$0RU`7Gw> zcv5&3WfewW_$wyf<818{b(V@__Ky(XSm#oXInIS;CG6{+WpLNV#VyC*%#>Wwe9u;K z$&I;G=RnUsGXF%aAjX{kY!K0)?0Vh<`?!80m^7HnRzx7pLL%c3O!8KAGx>RL%!|=f z3lY7x&ctg`HYJYb)ns?9X(|_12h>%FIPn)z21Hz$sWk>QE+FN6!A?R1#`ZnO?=tMJ zwuW^U$M+Hn>v^~AxEB6WEtx+mx)pe>rS9=DlyxKsANPHCS=y+_xM&$1U0 zroZTQ9gCCi_T4$(j?JmV;7sJA+gF=uQPk0sA+k4Wti>L~WZo^Dh8sfNts9DzV4Y>J zONBB5jl*275gdK$wEX0=P~iF8C_<(wT3*eJP_898fVG*FB^t$f9@cMSu3ygl>QLcI zC>8x{Ev1gsYs6tu{$cr3Q7xUE{O>vrtC#d{iJH=;&<(yjl=+b3x+FPkYc#re@1yow z48>!~%>X6LS=Ba%N{gYr!N`Gpr(DcY#hHq?4X!N%YIayCG*9;KM=XsrdNrQqAx!fN zi&y3*Kld7&US7iK>5$O~m=1A{;NMV{K2>*Jy);LgNiSb7@cQoT7lW23mCGeh8daSS zM$+!&)6UJz@*VmtduRm4bf&WGt(=!V9haHxpX3Xl!0RLCKnrse`Bbdw$+c7%3Nxn} zk6~DR>?|`)DAyD8%9m5eRu3Yk$Fiyn*Q;G0HGcn)p)7uRre39SXe26p8eeHfq|nTJ zY?hlWO4qB1B15&{{yXZ|3ItUc!4F*sQZcz>^;OsO$UGx>kz3H2mgCx{7W%-_OIFT} z2YaO|grSpe3Ws)n zBH^p|@cHf0N-Fa{_Hd!BkT&=7mU~516d0AI0-w6b^ANHi!3`f>dP2l41<|HIGzhrije@;`R{ z#0^t!PtlNvg?(oWPu8HiDo5dqqVd$k#Go0%=~k*xiUH5eaQ!NJeR@-rc5l?;I9ih4 zIod2A&FpZW?=><;p< zrtMX(M$8I$ULlU^!2J4_a+C98N14eut&Je)qZc62LYXV=pd+kk_}n~Va4J$LSEd;E zC4iXAxW3QPxU0mqpw_2T#N%;!$m+y>`SjTPk6R#SMe;#Hazh;YzJn#YTXwviM{gl6a?!I$1B zl?qi6_Yxl`l9-1sIdEa44E6|K#S~T@!j}qNR1Ptz;_AxmV7zw!L1=m8OtP4$Y3bTz zIvoi@PD9yt+X?lYIdwXYj+5Tj5cH_IwUk_@gKHljk7#$zXUXY%FP}b=73z)Yew|w4 zaZLQp7~aAcOV@H28uUEi-Vi=3`2$8A`BC%TRPnbl@G30b~MMKsJyAK2QJ@ z0!2VEfLwPen7;=;03U%epd6?GDuF7X8mIwkfjXcbXaE|4CZHK;0a}4J0J+`{Fz*Dq z0OWX)8eKJpcym0|&q%a0DC!CjcDy27Cuj0R(UcoCC-U zCFFX3_TT^PzyCWU6aLZl59q(AhoyCdJ4nMm9|z=o(VmvIC468U`w}Z#jp=QQ__t(~ zBa*F(1HMi#%tb~YA}5v$2#)Jb*BFJm$_R?aQDGMJbgU_iCvDGR{!_Vj;$%d}kucU$ z%C3d()dSsVE|Mhv*ZFPM*Y}=#-C{h;5>_C1BNkZly7gVwjKR`V5$tc({ch0Wv@UHS z{^A9=9knGnOI&TGP8h$+i))aZQO(WBo*q3;&*vUj+G7@8M}J=wmu_kD$4WBBLH(8- zv--YU81L(~k#n^!O`UlTwcO0ADDD@j>>4?V|73I4NHHf-kEi9N> z`?nV%u?*f)Mzr|C8Yy3yyF#x{iBik#oT%z@H7tXU9oFtNzMbVXZ}+|1n%VH9E0^f- z7+9G&jZ2?0=Cj3iC*<}Y%{z$G9LJqX!DF6OSNly!;o8}9JMXuG(Frcr1z4P>yLQmo zL?5#zLiTw_OjQD-ht{t+3;CsQ9Uz*c1x@M;y4rlG%XhDC*7niiFO#{4DHGR~Lcc!Z z1wA>Om*dD8lMTujLYLa{ZMyeXP=X&Tf7fjqkodJ9CkvCDni`^HhSq31Db-$}Lx(%< z7yS+Q+z%l?@$6gesoL^cM!gzwF%{eZ%BVSM5dL)jrJCQDnIYPvwaUs12#pn+>g3eI zM+qEF}P{(I`r%zu;XkN<7?!=L%1Kb=21Z7}?N!&eclZ5i^_ zbTiwo<@>Th2`-r)pS^Z47?#V#TE`2WL(??qqcilM6E1{&1poCXNA4(q5yxA z?RTFrK2cova-SHufb30(-e4`VS}-C1mME!=9u*Veo;FZ8<^7ownoKB#mt++sz?9&| zz+A$~kGP4pQCR0?(Ix62UT~d=bQAK4{JWoww8B|R$ytuJ*Z8@Wom+g7Q zt;y1dP$!T`v*o71Cl}^?^a$ApFS?X&b)V|OQ}EPBu72%)cD;K!nJ7X=ekmK`MUm@c zWs&H4@|yg?^XQ_YyYgtl-cHusP#bwfcKqkaK5R^W<4%nnhff>&Y!{F=6-&vPbV}pe z_7S&ib#)3`Jq(=-NMJSWPU1(ez&Uq6l({bc?oI(=Joh2Yk=NRr6D(GS)#YqL-)F5p>aSv4h8st@#pd<{NTO+ z%!JH8V}cc220(KX*{uABQvz6`0cytmzHx}!Q&*Jyvn%T>VRj};q#B8Ig9Bl z`GsMh78|H9XKgA>X^lHKd0`<3@V0>T^3JAd1U{~WXm7A}XxoQT&*$Iz53oN(-bp?b z5rnCwMVyPO8P~N{nz7HHswTu=Bc!|2cR+VCM-Of3HOwoe9d)#wq?6{%N!nYTQ!0;M zwah6iudWIqH1hwC!*^4=jsxm`KYUlDDQ+d!iSKU>-&IBq-!;tBi~JA6cjKNQhwldI zxUYqcdxxGXySB9pI#ryfEqp1lX4VdrCn1Zx#&REj*Y%ps zq1PKKIoo?4A;MQ-brx&>DH-J|El=j+FCZcTyR=7n2v68?ywO2DkImxE+-S8cve&{| zQR2vpy71lwK04@ExPV+4?7DzV2Iu;;3K<`_;lv2*IX-!LV`fo#&NGa!M51N2-tPi( z|LmQu=m248Qq*0;x8k3tt*bl-@%{cO6T?B4C^XWSFWGP z=+@25nBrD%lea*O<{h5wFR&ep5uA1vPa&M({!S(~^Ly>q*Pr4ms4A zGa(fEywbBXDk(lWrmx6NBq&?n4iie{$kv{Q$J(Q{OZw^K)Xe~`u_+SO8{M?pF3him za8#_A=33wg|5?GNtKMHknf8vG%rj=p;)g7V`mF*O9~5Lw$ypTz!F4FVuQrJu4Zgg9 zP}I9E`ryx5TtING4>wqM*y?{9!|Sc(e~pV8`iKUyJKiM0(%)4;yY{|va;nCzu?mbO ztIuc+xtWgoJNUm`xcsQU?fzu_{WE_5jNgAge&fK_ItK~O^a-8r;A~JD7mqo=?s{&L zT)=9kE}Y;J^~iJocBDOqM~Y_xY_ye*NV((8@X=oGizOIuxR*I@{o=lv_n=@v@Ozak z^>0SO$~Gx2rBdkm0=<)y<6E=q!FrQ~cc7+=8;rpWpb6ahg!X146{%Cy>jl5p%e+`3 zAgfa>tdBn_Jcy;o{PnYz^`xVJFYbwgC&IMC?JPIw0%E33b(1X}?qEyUPT@e)@zGfB z_085E$YrMIs4pgx=hcHhz|U?Zc!6=enF%U2uSx1G;T)9KZ|+`MvsX@SW84!mO+20( zQ|}S;;5vz@)t{W|7}8-Sbd}i`_!@_9oy%{~?t6*vNPsRytNJY8)7;wB-0_^CX1^rI z(zWs{hb@n0e%Ol}zovUqHzqZp1UZ--2!Sd$+GFkUXoW)i_D?I5Vn=fhth0!t`A0)q z-oxrUG@{fkQ5>=HbuWTdHQ#h|r6sIxO}yyG{beMt$Wq;~k3||O+;4SrvbXKUjup$4lIu;Nn0lpv~1l`gSNinuP;r*-Q1vlQe$TX4IN3J+*8& z(eaDn`p3nV$Bif~UIndteYD3jpV6*L==8qsd3^r^W0-moB_EW)mZ`97Z|CY$X|<#z zpV_O!gk2{y$}!~p&CUFfke8AN_DXDTd`#t|Zc$)) z`!qn66OKz^v0U7ouDnM~nu*Rbqekd5zYgccF1a))eU^SWMGj>XrIN69w}dU;gn`*e%8c-j&x^edoV@UA{JGqg=uA)I)an z*)B~<)u}c-_g;*w{GozoQ~6G2RltmW{hJfIcu7~nTL{Z7LBzMQMj}sJSZc*W6EqFw zEPg_%Aw-{-s?H})HnvFaK*?J(A-BQXUn3^+5gGG`D(x@T`gtnSBrBA^?{q=_``3<_ zAMy9=ze)W4ng985U*Es|{cnf89=4SF=An7!Riu~?)hhRc1JO;xV-MIp?UED{+r?C zd||s!H2C}!{aOj&4zjV@*ecM-Q=nPyi)0;YAvTdwXT4%AQ5WrgG$>G7pa0~>n2z__ zxnAyV*(w@_MZ$Fr_p<2?OLJ=+E&Sf32z0;zhoUQ5q(O%G~s90;Yykfo9m!#OlD;-c^Us~!R~TFdf)wCx*3($pl1=u zXDkZml(t=ZMiEYugG|E>2C&Y#22N~j3O$tPRA%4o1y!I+vtkYxkZWb4FRS+GI;c_{ zR7c`jCUG2zGx~e0+)ZnPx) zv^KOmtU$)-(e3A=-xG8|^L2PZEI3!QexyB7rLp1z-!9>62inCCzTz$BcacMk>WLnn z<#;+3W(9i{RBXy=+fUQW-5n@-gqnM$<|>pL$FV~ZAF2SmG;`8Xq79qI>8QW%DjMF|8g{l9Z3ftZLN)O$Z1R+uO#GFm8G|idiziSj5K1% zrw~@3X?l6isB0nF!_rSE+upMiS{9+e{|m1WfyuHz0L$r)93APJi= z`7UQ5g!Vv&?>WlGRBnYW{-jHn!FQ@bsH6?O`eQ?CBhPli4(Is~w{zVvs;NH@)U$u1 zwqC!0e3Ivy=I&?d(yAAf(%P)0>dv25u*6}0ZtNP%J+%*p9HA$lEb+8^syD%^f`kR0 zCuWTw!x|31TZY;N-65TUi_KhrfmzM7MoL#s7JAskI%&Zv4r}NOz8$s7GL1oW*VBj# zUC$vZf! zJK|-3D{J;^?gRPtNBmd&H_87~{x2Ip{4@Xmr}O`3Y8jc;_VN24_avjmZqIXB|tMz3Wj=zT@-LJm4%>{+ZykH`whb-#%{y)C+97pXHLy*Q)3^dMBx z)o8zdDo&p3Yy?jl;>fMRQ)*FlrP!Re(gnq^<^YYPr5i1zZv-Kgx2aJ{N^7qD>OryV z7wQ0hy0oKoyv2}t1V`~^VrqJ-<36{j!>wlVYMR>Ba!-l;S-w{cql*ocj`Uv!Om5>X z#dL{Or{k4`EYwRZh9-%KDTYj*-(tU^?otyjs*WboFi01mY`vIYvg0Y(YAk1y=_5=H zdGZ{8D-p7tS7KL@Pu9s|W^?rkmC7~rFw*Wdu>ePLKNQSsLy#Vd`%$lDunIymzuun8 zt9Zp$)5l;tE&AC$1TqMkq&`Y~X_lwd`ep;rQ@6p=@!ZByYbXAAp=!bf;+-qkK4Fd* z4T}?B8!A6F#10v_*~j>%r*ww73TWS`RBJl-8Q0L*nvYiB)+bhHop%XNp`i2h|d|XK4cX57Gy&3T2rJUK7XKV z@<;q}_!q?=&i{t|vkr)(qyRDpjf|=PXxae_`23cC=K60aUl**84EUqvBRfpC(0<)Y z?ti}gU&{Tj^8u=?D9*@GM< z7xbA?n%h43@RXyZZ^fzTkyZweT)(_$Np?XyT=W&Z%#u7>@ixcWjp?n+RNvO+WK@Vw zWU=WKeBA8X=*uXkmS}#@H5`{qK2Pt85sA~JkaP_$dF0LbnXh-B&Sdrbd6pf}roMa} z8cFfS35#BnV8Mr#15Y9US?ZgvRWr1_jOyxoLnpSL=~`)$OzrO5_l&jzo2TtsiU;ww zN{eM3Rwe19v3Yq%YBQEo$F=y z$j(v~aSFl6AhuHLK0AZYp@s4HFr6=5lGswL*eglH$hz8#I{oI6@4l~mcXx5fP1Lkw zk$C8waj5hDw<&~Xrw{ur)^ZOvf!--?*(-5VHM0Bzb{b~sI0xw)of|veUHFsK(IeK& zYsJh6hFY6LpAXVCk_Ctc)I&s}Ob8^)QJZLdgyEzq=ycBGASVS=nJYLvOV4a7aO!L} zElxkfm&<2?dKB{7E9A~BD%HwXOw9MsNg{$%%Ic&;S=T?Yl^Zh8f;tnK0YN@C2NeL1 zWr3gr7{Da}6Tkwnfy=-Z00+PY@Bn-OIew4;%n1P^fEXYFNC7f{9H0Ow0V;qRpaEzB z@O&G{HQ+ix4=@0X026QnUN0=NMlfEVBc_yGYx z5D)@{0TDnH5Cg;k2|yB%0`39QfD9lD$N}=eeLw+t04M@VfHHtATLsKj0X5(e@EA}B zGyqND37`dN13G{%paoIF9HFUyvHY0OxT%(h9 zPv5yiL}UGUXo&F~Mtu2Mn#echtxzHC>Wc>JM9yD^=JCW>M>a+8jA4vjKunzW>C9h2 z2Zo5bO!s(Ztscrxa(d-M$Ww6I^da#BbLtc};vg!=ME;JK@O@TnDXe~3vY7VJbNa4oo+&qmwtxROIHDrWqQC(T2Z! zE%M|1rvmNKe~0t`XZ!R2q4sBiR%2DJ8L72P{+zb?c;QKIZJeRRk;%2klW^_x%c_|g zFy)p~{8T_M;muB+iiTPlnM#lKh854cZrmZFrlrlfVX;YI?>yVB zb1IE6PM6KZ)vag{aRgb?JDnToVkfh9-#=dw3!%juvtjU?=x}H2+xPmkI7V+`n~vM> z%^~(`TT*JT#I`(~quvL-JDaoVYvU(z$(oJuuH2=^CVTinM?P0Q)%F^rawMKD;<8IO z4CnZM{1j5BK%e}5-luu1w=i)eyVtdjKVM&w$lP+nqlsbFPFOjhwbpYlM)joyUv?(N zeU7?`Tuz%AA~Ca7c-efY8>77Evv)GEWWma8tlM7r{T(_(=hs{f+fQVsWMQOn1=A?i z9ma0dC730|G5X=>G;pW+VVIP{UifUVsheop!Up@1K+g1ost1MwR@8{}wA1zRwU#6( zRa;tlLR)X-72W_-R(m~pfxXiQl+tqc3<-VwLhr@VhECNrJ!eyI)SF2rS7jBe&>g{@DE zCf_ez8%vP=r8easW0e4?35i77}G}Go3c=GOf((-^u-5E9PRc4a~l*{29&yqI8EkCM`MR}>m z@j7cXKWQ|VGA5RemA%xdP?3enW9R$2AmT|-TN{CvWA^rj0J~+^Y^+iGh>`|8CB~c` zYUVxC4I^uPy|Fjfy{LPgHP_&SPQ{@lpJ>R`dqw4Z_*`2pTS~+1yHfK?-UPI}gAOj# z=FF!>O85)Khuu6Zxa=klxOK5@0Xln9w-6m_aMQevIpPZa zAW^)D%<9j@j%;FT5tc$LKDT-KaA4NVC08R-1XZY4U#<_7tCbt%j+%OjJg&Ixsq0tx zvN-IecDSHQ!Ev3c>ab<)iuqxa+VNuN`P8HGkj;TbmO68p_0<<`nUN1=FBNIDfC03M zX_I$aj={|n+{yuy5v4p$p^J63ry_A<>;=PQtf5p<{x81Jvg}?yQB%~Vv!%Gj#7HvV zRH47!B?i4>yinJ`+|JOZ$GCSis;jA|V8u?~3!!*|y_R0;o)MdoOGd$xqj>*$A*NDB zy;hmBN$N&gnpPEpsA;jY@i@{4W+-XSx|7)$urx%XsYua7D8tG1Wtq~t2|+~E!Alth zGfwNcX#ju0))#5#>G^KbjY10nw*-Ieu+{=zR;@Dqg1LVJ9?%3 z*=@)7Ln`JS*(9c9weD8mGY>ZB&avZ`aLF`ni8sVZuhVkX6W(~|;F85MB^UN+fk^BQ zsKlTlo8FWckQT9eKz((}3R^~&`dxB!>duGx~x0u);J4Sz$pWI-|kZns9y@2?6!_$;uO1WNpU7eMb zq5=83R1-r-#lkwW)?CzO?bGuvotWb_pM2(%(g=1L8~jz_U62oBJEUt5qX+MQweJI$ zE<5v(bd=Fj>WOt8k~@?p7# zoSq2EBgp)v0l~u^mP5RdpoICUx=h+Bwlstgr`shp=Dxl1U6V$v?OmtJft{`X6Vcmn z?NbcbGD&#$LK>Ot=pt@l6@JhT?o4rNLRN9U+x@t2$%YZ`292LHLbkH+r(oSw4GGyU zm(34s9cmeQ^nB={-&e-y)2RO>kNKnh@CM|QezqTe-oO2S^ZsqI2~R2Wg;R~xP4QQm zjEVDuQ2d3fa_7VTk+P+1XH`eNP=;o{Qd6#}_pefV>{10aR!s_R^GZAMvCOwbzOPS) z7bjPdNBIdy%RD)^`6^P_*J(ohUh#IqIA=o7Exv;ZsjjZoSkBeV$0CLT=9AdG4Z4S7 z=8lmejWpxepIjfiep_bYAY=&iQ0(5jfTY2Fc0Zi+!2931hIY(S?Kx)_K7sq~g9!GZ z+tLY3vp!Pz2J!B67xm6m#8;A;NHW(lDE%0G_L;p+)m959X_1$s{o)^kQJe_`Ji2 zMP)&Iq`jWAcUWsuQz+8k0Yzv`bWWYrJ-d<&Zh*7*Hju?kWNLSFPoqz=feJBa$HX*s zn@=-!yj9KLUgDjZbXHcp)CtB>no*u51h7?LSKJsgcrl-nW{&y*aykF0-6r{&rGEQ&{8!w?rn2X4 zjcE#%iEdCQY~$Cxb-lWak6Q-&(4M(=qn1?qyhvX^=)E7@Eyh?{FsGMjWBzKJ$&)Htt0p8m5odz z>qeb-_1(ej_8Qgm4wJ!a@Y@b{dDE&h)fEkmUJncGMD=BCNOUsdN~X0cM!ZTt>nq}a z{UU6dIbAKcn_(j2@2^eJ6LZt(X^%$;!hJ8dqm&Gn*fmhm8x~N_$AS~zOWBW~^x^)h z;0%G5mAI`2Wx`3;QhkMK8oVOc~SOO_Z!;hN2=yxO>bdbY%^C~M#O097m-phrA z-9j6~JNnKh|6-jbql7lx!$b3ywq+LdB<1n@YEQ)!cMJ8&4Iy_O#Fw;VR2bVpY@$`- zamM)lz&kAc{5Lf@)HXS}`jy4DsTPC3)LAAJGN&9za!^@f^IFYB&6%?t@_d(gv3|4p zkR)yFeXp`HU5(S+F6R?(+#3yHPEB8RT{b52zkT4_##}T%gm3G&3%)IvenjBbh0b#6 zq1SV9`eKFC%dVByGPBvepT$jh zr?^L*CA|PA0~*KL>p3hv3`q{mQqM9(mH}he?kA#Ly&juz4S}>6Zjn;9KXK!lV8F8H~;1SH!Dy+ z^>6)O{QrXTgF*Rpzm+fWFDO3;lu!Iy`9IokP2hO^JG9?^KL7v!nf%Ww+HoBGAkUTd z`;_#sB#q<}Kl_(Q5Tg&Gz8XExy(d#Ss>f`g+)xFj&*L<_iVqcy?N%=Z3x?rIxucCY z`kxgw5?M@^G*~X;a`u4l#4E#(TUHU;QqojN0?f~C9)v;l@VV1 zx+X4b9%IWVLNka4_0i)gSbObYkYiv3|1MA6ji#VJgN&Q890uPu!gCLEWKYfErz!~@ z&U;xb4htWW@)D)qimE>=o4BrMM|uIlMmR9_SH5#wNJ`Pr@s~R9I+fl+jV6t8jQFw^ z^`hgxC?ULcN~d;gelK}XSC7YkM&_lP;<3GyFTROXRpP#J=pvhHM&-E>}h@1?~ zM*4^5Bjeq=H+Kh0Mr>^qrur#*sX8o@lmaX7Z^$klhd`Ox8j{TQ3q;hU&&oZ`i(Nz2 zhtUaITr#XqpGBRkY73#JuDqA~u93H;U&)xDhdna&z}QRc=%oUMP52zo0ejkBU6(pp zV*EQg|8YyG?Bj@YljLYZ{vlSmH!aiE1IqRmxOe6?!pm)m^fqDZE_|d}55}E2t9psV z6lc?o4oemALk5yr1P`57bmFTzEQPkp;tS3QwifK_#TQ<=CW|$Es$uJeWyQu!m@+&0 ze2mzko5Jk;9vNm^&&|UoIQ6LNQPlN#!?#ODa}E5P|0K0S?X?# z>u5Q_9}i*KQm&y*+cL8~id7Lu_4*!RdsMC>PO6c8-{&*9iwcYC>}fs*@k4a^lYSex z!?~zg#^1a*`j0dze$;&C*pD#dLzz^^TUIGC?AP@w+0+4;qAz&T~gaP3| z1P}?l2BLsyAO?s9;(&M{0eAzv1rmWIAQ?yjQh_ue9e4+10GU7*kPRTq%mwp2ARj0I z3V|Y^7$^Zsf%m`%;3H55lmit&B~S%a12sS`PzTfl4L~E%1T+IJKr4VOvmMMkfKH$b z_ylwVJwPwe2lN92z#uRL3*dLu8(C{UM*Eq8%>mHk4g;CaYXKNVS*XbQ@Fkl0!%n z4DSNcS5sA{)^6y5?=X6J?({7Vro0&U-Fq~_huHcs#e3=Ao?e;l!XQ-JQr((Uh~$7_ zOt_n?E!c#nX(dfBu0_>8PL{k*b2T<8Mm{ZbAED`bXYoVyfpWyL${T1(b5z&Io$kEI zPX3M--%TyeWZuD>J#|&4ukX+%4Q%CGEPr#o=l@w(IlJl8v- zwK4kq=mT6O%JUhIOI8o&UE02hSw;8HpIr}yE9pLuuh2=lfI!hNAo9XKMazg8x1ySy zsu=oxUF8o@?_0|5D{MQgrce1uUIkt=rI`QjCw95;PN(L(%SK~|)onN>8?i>F)Sk2H zk*!VK-1@{bh)ZzWz0*bYw>Xh!6*-pYC85X!F_lUlHx=|?#>%pem{>0*O ztT^PTAckkIl``VV_aUV`2{E^U&ET3L+;P*i*)ZWs^=mSIlFT)Q#ajpLxf>*r9r2%; z5?O@$MR(+=tn$%QSp70Di+kBzeJxK3{!pnR>HSgG26mB{CR&JH)c|1q+S za_zV@Xoq&Ny^$ntzPdVql22^XIajQKnNG-_oM6E6FkxZ!T`fx}uW)OD!bO2{`7X^v@a$a<_oP{ z+4t6Jrw_hr(*?%_bz zi)h!Aj1czb8lU+Yw8wi0E!>@;oLMtFdRf}HB3ZUpA#c89(DV9Mlanu@k;p2*pUuzU zGU)QPYLTXX_%upCx$(Z8R7Nsv$s&wH@=rkyd$V15e=Xs+aZL1&cC!+tKwx531pZ~i0QxK+9K6xYcV@G-44v7>_r2BHyg4kG7 z9p>4dPiH;m@e({}(F?y*44>N;ce6Gy4R?E@(7D#SKfL_owy$6$?;iOW+97j#X`1Nu z^CA7K^=ONV_FtWZlG5;dt>1mon*BJ{&l7;?pm{sX^ks|Ftw+;X>Nd2~(l0Y9p?1Jr zK)`Hphz_oNbY};2(tFauGS7+56i(m!%wZxd=RJHvMMZgi$aqX)H;OW46WR$jrb@ZX zEXlsE#a+8%Lk1O)R_QgOsS)V6_+p_?w(N6dW3uWMLUy5_tDTmyvaF)9Ntfq{H|SJ! z=SczqLpuYfG=*+&o&V&=2IW=ygB>sMb2SZ5veA;`6T`2HmK8CDxDvh8FTyOgs`cvTIduoc|X%r&`x^{hOqsmJi5KK zP5l}FbGX=&K5qA-GTkHsWz^G}E>c)J-;#2+*gUs5?CO_DCgU-6LbemhOZ#sh8Zp^_ z6|D#^@$`X5?sYxd>r7e{D!$K=JEu^vIjr|Y*1?56`hfAFtOHX4_ua-(2j13vW6z14RxKG|V}0=L?r59=iE zh_>Y1v&u5r_zkj~QmBn`y+-E;Au*kFy zPS=$Wk2pzmbSHu=x{Q9?f{;>+-Aj5FAWx2-dYs zYCrUh$Rx%kyIi57&6e`_kKixJpV!BgetLXs0eXuyS+dxwQU&XabR;9mlz$nT?TKCI z&5UX)Q=T5F1r5IhmAWxZ|3d;Fw^gs4b@SJ5W#8T&@KsJ%Zl`?Ribmo-Bf#-3!IE(#BC(mRPUo#Yx4z^}&@zZTUZ1uOfByXajsKT_f8(#$pX>@RCyhTn!X3R){l=S7Z<<0lry`-(Ao9JbC0_bL z%W>h{)m=nyk_V5l4Bz_`5i#X8eL4gL9=s5a)}c>YE+W-VX&qSQv{ZLo^}f3HUZU=B zGnoZZOf(kxVX0uTyZ{f`hh71pI+4i2qQ;v#7V->}%EpdSpN56Rr2?GzjroPIx<_Ob z{dEoI?XpfsF6`Qbe|W_Qck{bXV5a`%E${2qcQ=CXr0_Jpqt9z$pz=fX*(v(f(R!@f-uejMtwQ# zUO@gTkpFeneXt~ZR#0!v7qN5gBMdh%KhsiBrpzN(XLJ1h6K$=A-0!(4M&|dt9)~Sp zvqUx1Hv}C&gnuZ39}l*>yM$E8?^HD0DqfDhQpnF>mJu(~v*_VQc}wM$LDo~>OAd*u zP6j2*H&!cZjxHna*IUL{X_Rvn1eyiSLJk>C`SX4L(tc^;_N0KRsVGmT-U+cc7eshd z!tfgG7Sf>R#cv(ExeqF@h(sG9&ON1TeR?HX-j928y5@GyT|rpq^~1;%-#2{bPVtmp zAh(j8;vO~G4k47bZV5AFHR@u&yhc1%p>I~|Q*$zckZUlX#jsT4g!GfsarzHMr6yCx z{H1QSJh*^J!UGo5FrRE`H70o(mgt*_;_dAed*o%u8hD&aaQ8b9@pmt>HB%>(4Cdu| zx}7Sx?)zXhy(+&$=wo^#uQsP9^NWv(wx462iyU-0`pJq)#a`cIDY>c6OB}Mhwy-O6 zJKp|(ee7K*+25Vz=V(vEY9?0E%3MnOwdp1;JG&Nx{ERLz`Q{{OLe zCxB44ZR7AqNFpM;ETNP&`;sNemP*JTLS;*`Wn`Gjz9obrlr^#>`;vW$EZH-5LS&h- zPS)>mFYkLl|L=YN?|t9T{XOsdJYQG+T+(ouVdgxK<2o1mlSTAzk6A5TEp0zSk4idu zlID@Clj+M5O0h$q1`Tp2HJ&9XR_`Rl*bXez+Pmj- zmB!|IB%?_Ab*P(9Co(eRhdnG>5TU-X!u6#ajm;?++|Ej!MPnaZb82?6)AdT2H_Hq6 z9;->VD?0h|E~4t_L>A4}p};TqT_K^Iq3<&Jj5k%zFMs|eT;2aRhZ^Gx^K<$Fo@Ujn zi@Gu*qxKYd5sjEyg-om)#wdXpDWDVr!(2e7*ZMD{-bZ zspe{ZTC8eoDed)UT^T!u>kQZLD%<4CQ*H^`zn+cpHeu;Zs_41Wh;}U03=sIVYG8Ed z8tdq^D71KFiFm?VIpzX)JKkE1Zmj+B;(X-%?TKI+PRWqBQl`&~Wl)XX-S-n}Ll4^O zVs1j^#Me1!z=Qw7=UNAgBPkh?7+o=59|pvA2N;d9*Mi<=JA^uJ`=;OKE!;mptz3Tv zTUQoubv~+x4_;S0z9e`+qEMB+UPFJ#ew@ts{n4jpvj-9bizV6uL+e6+N2B>`@(Jf( z+t1X0k?Yq-{^I)mKbn7@MhO4r(fs4@{+aO?wNQJ0_sjSXp}!zL8GPGp07~A!YySB# z#25S}zVKfVe=qK@$M1Or*MAdVGYoe|BWf{8GZM<9C#f&Ier#~Mk=Kvq?tPp|?8JM;`TLFG zX{YX#p^r4}L@t>=NW}+XyT)BZ=k>2u zO4f3C@}^^#B&WV7x8M3CcVb4m;z3N-N+mW_xn20XbU~d^vHlmK=U{Yl%V~1 z!hvcxGmBJwl+>%TC{j)ClF|{|r9~;eW1U|k|QyQ00{(&{5Hz{1UX)@Glfet74w6t`FTQ`p>NnkZs;?#8H zDrwy3^?HGX@k=6lr6mQqJ^X@q>@N3@6%`w>a(*49*2Col7nnXmQ;FF>X1ZKDOlEYo zYfIZ2g^3G$cRr@xuFj6LrG3pWLWoIYIgLRDPDF$-cOz`XF*^~6rz!IDoiYG8{Q@Jm5LaV-l{b#auZKl5g&~+lRnPgYx8flJO#M8G`iK+DznA zsiK(U+Qb#YN7~G*a-KEo+@(;JT;>saa;?i@@jcn zp>S<BV^TtS~La$%dr! z%C@+M<=+kKK11lUWjh&yUUS3c%O5GfDG;07KPyN1&QGfkC2`YL`oJAAqXCzIG3UX9 z8DS#(?#iR9$ICa*Z@-YayK@v*=gPXjd!BDqou6@jZeBoi;FMB*dFG8%}U}DXUn= z>CLoVM9$W?$z4RhQB6EI*0N?I6`6LauuCBNN=ekPq}|KHC{@OFz6cdUQFTsgwF9a% z!|xYsnEXDAeQ!r3fHOZsPSGEi77k3^7 z@_vnDGHtGy$cvKon$JU{S7i=c^mmlrdpKrgoAhr7# zN@0X)ywzMJBE`k?&A7d=XtaCF9a7ZKlq9(iR@N$V0DqN3fy_0E4t-HuGj{=gHJ zDQPdCK?Sm?3E9#(_KkgQ+D`L^D;^1pG~V2o9`;ydAZ8^fY&_LqqR(0$@)edsm9&KJpGV!Dt>j4ZcxS z-6<)K9DLqbQJwq8T?CB{=1xeCk&T2rdBlbM_z6veMI~&R0Eev)Z>jOK+tTYP~W1 zmbDnW%|MemKG{sOl-nys&R=i)q(M(= zoOt)`PcfgyrjMsSi3r#Kl8_}F$ou}b739sQVXg27{{e$Fa2-vqaSC9ne4zy{a?Sg-=Eyw(!R3I}n+Zq--1)(gOE(V=D>0iw3OlNNgK$^yp+25vvR26>@LVZ~L~*C1N0lvBO@WD!yHu^layJM_cRVjAD^ z>lB9Q4~6pQZ{f2G*KivAJ8?AByNEZDU#{e=9Di%0D#xwnRMb?G8|~0l&JLgi3uD+wUdGn3vWI`G9Tqg8SM4})Ktg}?t^H8g(()r!$$A&l!(CUf z8X?YtbjS;`9GB#4SqTL*tmA2>HHzOwO{r#Aw2^Z8_m@`*U$zik)U&s$=`Q-B@^!wk zUel_uRdy}z;NTN>VbzS|+%K;cwc@ojaK?6bDq6*M;tsW)UAhsbvvmKikxbvz;)7#& z`^*`>5r+64=Q2t^X)X-q02{Rufltd)|KkdDT!Z%1n97CzAVus>E^OD8x;91W*LUyq z(AO;T9ZBj#`YLND55}V2Z4FVjh*V|?*rexAL0RI#87*sf|84Tn@qk#(@R~DaB$Xkq z?=y;pGd3dI&Sp=X?V-p@O`d;v;zF^>^PCn+*vICx3G;SxeycJ@gA)JRmQ|qJF0p$) zMqPud|8k85mxM$7t-?zw%6AbvNjpuf-%9Dhn8UkUtw#nSjkt zdh9XkJ@JuT?_YQv9+Iz$XYMRlbj>k9qA%w6E;I;;o#dNP4^Y|EA}HSBE>Nu?!!8+p zK3huh?5#eDk)+QHGdr(GN0o)V2T4g7+T0QYo98+|c&vNp%WBltDwKERZ@xdkp)A@o zZ{cp|ub{N#Kj6cYOz!aTaioe8-gb=gkiT!lnDG&Hs>=dNbcW8S=bmx0Ke5yF!?cu@ zj`@GRM5A5yna_XK)F+;-uY6=){(zNqXzblSEsvawzQ)U^36jq|o&0cx%!QruLP;u~ zzV^OYaZ%TnY>IvrKc>C8@LizT5@V34{=xk$u}bd({ruNC zD50bwrR4dY_Q$pdp4&lE%C7f?kkF@5Vdl#0$iXez99wR^?yX}lXQk758a5U$J~C*! zvM)jCX%T|lsR1^MY1#DSnKLZJlK9@<(va{U#jZtD`kyckw+ZWSC=!sq{$c+_Ba6G9 z(W}e78}E}|O}7wYWtdK8c%fz@L`w|+tDOBe<=_9fetq_TsQxSZk6(WzV1+w$6hK<} zyRN?qK;C)rm+P-$e?fd5h^_kv;;TaZoL}OL{{`_GAvW_Lh;Q+m_!56Xd_9P*{|DlG zLVVX>?*AWM|NF0=fB27%U-(h~|MT^KS)9OIjM#&4*;Kvj8O&+#9Y?S)X61+ccD~C` zT*lR}W5mRYv?G1ob`i+s9oja%_HhT1wJe2x&cWKTvAM38GD}4mgx;34{TaO&u{Q|a z>Gdw+9@{2NkqSXYSfIxjX}8SquM(|Bj@)_J6)ry)t5x_2GdzSE;`q4#O zq}oKaPm-o}=kPN*C$J%j%5BWob<#KmDKTS}NIdL}?ZEIjhJw~mZvWuRb>~KH3N%os4djsF6HFxIZ*PGx{0bU(; zi_%~jwj$B%mQi`r%D0gfQo5bGt{z2rG$#2<@#6z}?V&=s*P1?WjP_-CHpR2|lxvQK z+}hN`_4I|r*-sS~7QYzaQMW%DoIA+npq#}J5$4x+?pf3~z{M=1pvk*&Z%dw5J!89p(GjxLKQkdsAy}IjBW*9s%<+#o)C(DimZ)P7I%nh5UyO1EKajkCIc`@VarYHzwVgMTUUfqJ3f z*XI!vAwiEH1)f@#=;kY<%(AN0F+=#YYHtj9?1C2L|P-m;379;@B9!-^dads$GW^F03}LsswuOM=3a zZNd%-+DbG|d*2)Ls#sjD;ZUux$CtY`fv31Foevr7|FLm%&|Lg<{CfQ$>3^vI@uU42 zpZGF4HT`vF7Pqv#vbwg8|Gu$Xx3@k%A;GW5&p#@HeS}2B`$_(N>cp~sXY-?5?&eW3PNpNnK3qEpIhWjOvz}LA-6b6duXid%zO~g|S}|p}injRa zb~<<3HgEc^`3}L}Ny9Qj6=fnX+{anX7V;ha*vEvyWG#NDLuR5U3_l4uj3xaTmaO4{{xKnID zx2dM_BUCvk%ZVY|i&(z^l%i$kiBKGg#)FcM38BG8F+Ys1xOc7=RnW=yYmeM$HEK)? z*y_=T@g{5Q^QA83F;DMl52$m0PPP*_C}5Zm<~WdQebJqz!dizx^oGNelke|kr_v?4 zOR^CR*N8u9!B|o`W>K&@;aPB^%w7`ECOC)EE_Z ziA5@%+O0ZN?OVwdl*;nsZuuvh_^q?$M>2`$y<1Z1ZlLNF5HBp#I1}!}xbpvOA;B5RGn z!V3D5B4g|0Wt{~dKdP5ZT#}j9Qea6I+4uH)D&slPtf>Pp3O@;r9FkGQT<;++r|d}h zO$(j53u zbeOg6+9LLVsmsbRb(zMUwX!q6#{9(W(xu@kWX9pE-(O}r8P3f+y%{Q7T|TfyLik;W z>12+;oh7^YVA{kme;KN=j&Y}Pp;y*Pb;L4B8QbCV`H>AmQx^Ax8ciZi1|UJrY|FTg zZ3v}b%N=@s`>nr6=Cu6#@1CA+-}BlnB|X32M!gfKA45<60J-+e^3$XC?;UPauUJHhv;1QU1)C&RFnBKyA_ftgb8(`}!^_6Q&m=-x_UDKIryrDA*x*B^g?F=34X(Tg|a;J|nS&H8*dA z2ATm&Ic0Gu{RI*mWBztJm>dZ8`{l5lJ!Rz9W_KSqW zfkyaY*sB9S>ev6|`t^_Y>qq7x)2x5C8%} z5C{e#;4ugVPe2$52NB>Yhy+m}8tjcTdJg9p5DQ*_I1mpKz)SE7B!VQ63{pTUNCU4y zI>-QTKqkln*&qkJ1-alI$OC)v3gBD_ia;?a0i~b}l!N!60#t%3Pz`E8EvN(apaC?3 z51OU=mD$ zY48=yfLZVj?8Tdh^8#1|SbzgdU>U4{Rj>y3Zi|QWcd!9A!4}vCJ75B$ZfcWP;_2(=V{{6Rk>S5Slj*xI45g{=#5p4QN-~s=SAfh6s zJ|?8F|HzN}@BiHTDVpI*f#R;mG!@J>uJg8;P8{^RUTVf0Pa4g*&HD-;lmR1>@g}3Z z=0@S{rj3i95BA1-7uwGgjED9wSI4t-Z=EtrnU(fU&&ZDNu*p@O@nU{E@a}wd^TTk5 z-ZHB$FRvFJ*1X0Ew;&fE-$lGO-BI2}eA9%{`83B(HdP4 z!6X0q4my6Z?OoP|gE23t_<4<4pwemLMiPNC=<)2zR4~taT6n2Ne&7x|N?v*kX3ji% z27AQ&U>A29{Lw2{BiFL?P#f`Ct}fieQM$M9lVjxxuD%(#x{Gl6U}wkYX|kn`_sCS- z)U`<u&*V5VLh3M0xLVD_Eq2jzbQf{XrR_MmW7Z=Fwp=#Nka?OIzLk)> zZO1;Ciq-eN>Y|iJ>n`FU8{v)=esOFU5hP=rrZ%cufPWF* z^g4lhJ3V{&gqup!J8}K)=v&vQJ;&yRQm_&YOgWF_h_^iPN5*F~WfaDYN%Z3D6{FPn zV=x-0l`oT?ZFwhfmP_N41>uTxAT6trfggWpt0@eZXg;-dY8PQ9v5V-6Y;|VKpRQqX z8ngFOsYmiM3kHcE$98V}dNY zS{{CRI?73Q5%#-?4O1uhF-Z2H^JFyk<(cz7xo)4nS^1hR&T-{yiq%cE!;#L%o<6Q~ z&XSUCQ~7+av$0cD$3yz-@XT5fk)6o-cNSgjOuW_i8Gf5bOa9~69}!IO%5Mpv$@yK^ zf1g3y)9}mnN2z~2K7j$mR{jI=^CAAiFY!+!MBp?3`~mZy3HG*fmIc4}{(t&Se4)P} z{$5u|=C&OEqU8z0OUj z*pF7u?lW7_4QKg}@}-5Ivn}CehDE^x1DjBqUBilCLEgC8d5^5^_ z;zcU4@$bj2?PL_MA0F&iN-?>{P}}hC)DR6{8qX|}o3VN-e-|;9w8Khy2 z=dcZ@TGy@U%caWkUvo8CYY*R;)M%*^e9zkKw^Gv~_w@gAH|bUIm80A41~|`1>#RC^ z87}S3yBbHIG~Rq~{51dZs{?g+)U?hvN@m&}S$m9k8mHWEGc1sYY~jYKd8&TSFD% zNk%0zT;_R9zG%5K8!0Y#jrKLDd6I3B;ajsYe5FIJQ^gjaWDM8BtGNRN7Ze||KWv(k zAw8H)K=inT`)O#EDV6-qO|&2E3b(^j@wkF6uB$Gl#c)s}&*rVM`ttW&o=4tp!5QkO ziL%`obGmF!xwFuf5r?)5Vk9O6A8qMuUPUUc*m;grNthgcd?rq%G1fS_)K|6hd{H2m zE_J#Zi7+{8PVQ^%eUf=I9PH>wvvmfmZGz2CXU$EP51kt`dL7oGo~=lJnj|#EBUVW- z@BX)9{jD#R+X>|go9DLfZztt@2-Z7VF}Y+7Wp-K5mV|1S_Ma*+(AZkmdUvERO4}(?((!GMqdgzu{Ar5i)}a~wB3@9h%sz@g#Z;_WZ{dN$~l1TEgj zk2Rw-H}$seV(I6}u%7b!P% zTg>I9*zKt>YqZ1kpxW)IB9S8r!k3b!rhELpU0b0O?|rAvC5}_%YIF`|A{KD_64sag z?VGN7*sCxuWuC8!r&#=FuFfo*K3|}d3rj3t-=Vv`i&*}e5Jx+?NxCMI_umb%`?;a} zJ8yq&|Hl7i+P@$9_rZUc_Ag4wS0e1g)hqfDpARnk;%f*Gm)_EoIkMM2l?wWo=B%0e zEbJ>hUcx~<-M5#2PlpEX2yHp_$w{D;v3|97^wq8#mfrLlmOF#=q)rkTyYtmLQCGYd z3`mZhWp*0uvtzpJFcni`Es!>Z{?F{Q8~vMfT<=3AxxB3gF}`e!(oe>6+}N-rf3$X^Ldr*+2b#dO6!>c`h9?{ zLwQFR$#*_g=1o65*752+wl^~Q+kWOV*b{np19xsbz_u7aZ&Q{yI_eNAgvSQijaCj2 z9Mhz3%)sB}cv*FYtEfS!i*|!ii6Y!OW!w6CF3!H85`n(C<MgGp;Pvmy8f4*m&Noe2PlATfVSq}Bk)E1vG#*z>y$A{Etq^Hk*hxhDU z>fn=k+0j-+TCg55^YCHlwbhBD@CJ;Lrp+2o_ALP_>Z~^5%f`#6<#~M6zU8dmppzFB zwGDDxF+I%eahb)KZM@e@c(^((h^SaanU`lEv^ccMRI}}}?W+4&L)P~5aU@kN)ip0d z4~?Pivuq(hrTxd%r~*q5H`nH}@I>+|)xWRV%lhr4zs+MjvYMDLcJMu0`9QMKVZ!;T z?!Ou#_M`p#as6Cc@w}3$`(M!hxk5ekUt#}C0tCU2 z`scq%{->Q7c#`nH>XiMRTE&0$;a~f2dT=fO&;0%h{{`0{G~pZL0KfP8$2vUMEa3ay zI}{OS2xo8`VgJ)Lq@O?f``^Oof}i5<#ojx9&u5;2`1cfkzNN@taR0U8OYwo<8~+sC zcYN4>>YdG2aLx+5CS5wH*RD6IBv7W%$4crIr00lgNCqRP-;Gezz6Ak?Ie~cgc zx43?{WOPPqmF#s^R-$!U z_DFF-n&BBeX_dgal}&l7rZIypCGqgfk*qKC+~kZdXWn~+C-5hnVyt%=KCqp##f>8z z?+f%~vDO}DLDyFAbS|Hx8@6EPXgP+8n-Y%_yR)B+qF^+hc>C!s+fe@Bf#1AGLUtwGI5xaU?qVVbEzOZU-m)YYvHfw$_X;khS=-Kf@C(lCj7fU3 zj^JA(u1YIK`&0TRYu<^sE~7s;aLjeW@>%T*ug4As(j)VcV|GUxqzi+cO=(T74dv2V zgEEkbjTfnBbR}}~)`dT?wKP9JETrH3s5V{+wTtk;CXH);5<`1ikETUjti;1ZM#^U* z!W8*B7iOA~-7`oWnF=^-9B(q5Ce>)Ti(vF5N3Lt(-;eX#S5=U7mvc{)4Vg3MFCN9) z);So>(2HMBz0qxV<7wW9^r`(y!S<5hB1&F2tl8sMb}AJbPQQOq$)@pbMJ}XxJ6kkw z!t^lGQXQ-JxLnEUl?_{e(Rz${umHb#tW6>Lqsy_z8tiv%2X=Y{*IQA{E?B4f4a!C~ z{~fN_v4kL$x@`v1A6Ao{_A7U>OEFSA5Xdg`(dl07<1e=tO_WJ4Y$nX#MYmh+A{KM? zyVvcS+wK>Jl$egY3C^FIh_kPW5qN^p*^1H-tERwVRSzQDQ)t_EdR?j162F?=ROT2f zCa1*4@Y+~Q4#jF+&@7Xaz^6~JppcvTYy&Y-GHbht=n`4a0+@wfW03=EWIJi?BC1N{ z8v=QebB~|RdF>owLGO6QMDGwc?JW}Ux3@XouI#^;H_oD`sT%c7ySzk)%O}S5E@j~* z8cjp~kcnJ)@qVTgNuSt2U_# zve_T~pMQ(~PZKunK?V72Jj>fM97%nax>9dysLOByYmn$iqUV!}4}BY7=LmO4kr^w` zvdFC&4IG$sE-JZxrImq;Gg4Ogw8MaymOHY1M*dy`64tF-%~IumwPdl~>Cv&p*;&aL zsU#ZyNOv|TCu?Afa;5Y!MJkh1y3G06Q+AAwhVo;R-lkDmU(x?fcJNb)<^THT*XPgP ze4roCpK4mI4lI|5x#J_!gLL!^j7-N*aGyNIBPu2?@jIr;czOHy`uPV0hDSV&jEa8t zJSH(IIVCmib$Z6TyuZ6j(%AoR*WcKn98d6*w_0RC8RX(Fhm7@$mhm&`G8re%7RK&l zW%wX7DCAIUS#(sd0@kN>Wxs{d`!;6V#;Awk@(fG`FcSre9qib zHRX%^#@|h+k2Kd_m&?*hQPS0j8yZT@nM{qb`g_k58#anV2OBT-Y$=dOnXpP&MXh%l z9U2!MAiO}JYkro%!xmjtna37d!Guh!muB1IVzLh?=N)g~mq76`-OxZK_1EXm&c8_i zjr@Pv{wZRAQT$rLXW(o7-p4--;_vM@w0HbiKkx6h4FAzE{O7t%7`O&P0Fz${sSxsrZFaXW z!=6rky%i|@!%by;QnegEPX7|;#d2(;-|8WWi_c;MwAR!FsbwE~5g*VCb1Y|h`2uHR zJsyhbYGg9?FJM;X?DRg}_TgdHvloOr+it_JaDfv#I9q)Da!mz&DUNXB-YbC@hT7hr zDb!cVs$|dR#048Ka!wxGANR#Q+NaV^b+z4phYDLz59_{Q+Pv&Nr0D(H0%3VG0WI3# zC5wJmGW7lPEZ;g#;D<6O`+emD56^sRN^ctbyqeN=F_S}BRAKA=kV8apUsIte)1v4+ zpLK5q1Ga^ZV~V+YpY<2PIBFgx?vc%A|3J#?FLltAD5L0_nEgqwW>{<-hhJ8{Q6m zuD?Ef^}|aatuovL(uv{pdf6Zc4U2wz^zCg|&9eObPb(*hyG!$|B@VaRySVaac6`pN z!{zJFUVEojA@VR-U?H+^W*3pq7PM*~qP=yxuxmwi)wyGTX{q-*b*727a>kQ<`EPWZ zLgrN~p(KoA%W`EnRb-6&^Huo+NW%s9*xJ{ZIA`ia1{vyYS>rm18U@DJb5&cBC;ajLY#m$Dy&JX*n(L4Fpe&?x!?bJF1mi3AoKh(oLyZHmW-- zmrktfZ)#PWC4bi7Nv@np?6WOfG4E%8EXBB}k5QQqbr@I7xn_O;W_c8yv`NRdJ>q=OA{RWeoK%%DM;96P2fTdAU z-&6-o3SoOEVQJ9C_ma&D9p5|39&awxD;|cJbIrD8>ROw^x#KN0yHl~PfvUH|7wQ;t zILR-k5I;Z5DB|Fg;AzH9d{!Q*7e9!yDlO}dy%Jk9Odr0Q&?0dtb!)Sz?t2?lhZIOR z8Y&`#NJ5;y*-2h`6y83B@wQns1+tY;-B*;lJ^)D2*VLH=v(C63wht|Ky z{DJ?o|M3vo059+qcmp5c3;cjT2mnFg83+a;;4ugVPe2$52N56=q=6_94W5Hk5CdYt z3lIn5K>~OQUV%iA1d>4tcn$JFDM$wy;0?$GSs)wafVUtQyaRcl091oQPy~uW2`B^2 zpd7ph6`&GSff~>UYC#>S2MwSRd;m@0BNzcKpcS+MSWXi033P%9&;`0d59kG-K?mpu z7%%_^!4Mb*qW}lSz!yM30P8uxc@j*4Y48=yfLZVj%z=5Z02aX#*ax3S1eW3b6|f4{ zz&iL2wxLt70q0GywfAqZ1AgkL!RN6-=pXAh5W%7qu6qktP!SOy6WUL$ph;rpaD+qn z;Q^X+VXtzlNjXKdu(alm9S7;SM8}Tf_EOWIGSlCem_GVbndyJm|5&HQoLNi3<hiC9D5tplbLnA(AMAJ`Ati=6N8EfmHx3U!LGhH8f*#!Hl6#M9D6ZQ{_KIoMFxTcS^>f)svNG!w--54{mcP_Z=SeKH0M-W zZM$lBXNi%u64uh|^*V^s^@&(tSW;vrr%~pQ)FNd#>U6Cz8b_O-K=-YJBd8X06yux6 zr0B}hQyyXT)cDy|pD!o9gc>|`*c?1~!gYIS5@XiG7JAu=ZgAE~dnU;HEo4XQgiF1$ zn(SY*GHGZV(>td6#J7|^TpM9Y^1yL*abQB{)BK9D@lGJVxqlC%F_@F(6%QUcKb1Qw}c)epYuQM+Oy`-iUq8LM%SL=HDyG zzZDdE2(N`aUE3U?qI^v_LxN}`Qb~K3hN8wh+P;pTbtFjEa>8`pcARpbwFz~fs2!Jh zNH)^k!^A%SmD}xG_Q&{LePmumjd9*aqmDk{Ii#^R?!jSv+X#um`x@~+*U7S5OnR7= ze-%og=(WZ7eG6ucl>DZC@6tU6j@= zOMF#6U-|9L;-`4qns~d9^l`h0+%D%##eMqIQ(R}f;#)i}aYbhKjsNuKeoEu~G_7wU z#%21^qIvhRx0R*EK7zI0;r$DJAN7`M-rDCjE#Ek7yuYi7MJalo+il{IcEd2O2gBF< z@eyg)RErMVs5#cC26Dan#FKB~{3bVc`#SkqhMfJ;YmfW5pQv&BmGg5wJRa&a!*jWx zAwTHFilds@;ENaC(u?yV<3Vo@*)_zyQgBK)`mX1CMgMlpO`T(klD7*9*exYr)yqbY z3tU|@4f=z}fKR47ie4wOs`m)QFz6zciPokRvHbY(iT(aq?xa)^YG8TaJp zaBK9)JZYIaMVKdWF1*4fbpg>Nne&hk)_($Cz#I4gU*HG)K>!E@K_D1}fX5&d?2R$X zfO9yA08c?Ahyu~z8F&t2KrDCx;y^q|058ESkO-1MGDrcbAPu|*>0mETEu1q!7RUxU z;4R1n??4{N2L+%I6oFz;0!l#{CSGy%=?H9tI7d5qtnmpc#AwEua;& zfp+i-bbwCK1-d~G=mmY?Gw25xFaQR@5ZH^g2Io;Q2FAez_yQ)u6qp8I!3>xM-@qK0 z2Mb^kU;z#+fn~4)R>9uarzAok@bLb3umLu~7T5+mU>6|ZHso-EZUCZ<7(VuScNB5> zg0h-2bVmpf*WnLhcL1RXn?vr~`wIsV{3SlHw~`a_K@yVv2gv`~*Kf%Gm(|aH)KC6= z{e&ib>dKr%e8KWAA{4e#8lge**2nXZCeK92Gh%mMrCH}4kqL0;iVk3HRCwgg`=P{y z;?rehjwnuk-eST-qE0#_lWNAC!ScpgyPpdv3$JjGJoM^A$8Fomkmlb^QFpqJcYVBY zH}7pLYh%w?#qFZ%S!#ri4`&Z3x88J`IL$u$O!F^ zk`L&x#{OJ2iR`-Qeg1}(*LU~Q32w%mr+gKnCf1niU0EoRvDbV`EfSB2x;~gnb6pL9 zEx~opE0Mgt!c*zD!`B4s25EMPCXgX*YE`=}^t0y@bIoWzynK-2I)OOS_#WYYd~rTD z$3{Xos`P~4fszOvJDzdItcC2!f|xV3#qr{S!~zCfBaBrI^sX1aWy)L0GuVtUS>kWn znI$&9NevY1>E@2t32L_L(W3L)Hg7(`r_UNTI&q@Hy3g|@C3U-#T-q2L*-)#~J^QJ! zl_kana&wVW#~NES&rN^QY2}?znhJ2Tbut^vIb=A98T80zoOsJ|KDz0!{h>;!rKjAV z2+p!8>7zVxH9Kt>zq&J7%xdp@b~@kcTZ@Y{rweXa6<`*&846W7A1k}}ibrgk58^{N z?@y?A*?q~)?Oe4xM;ER_O`qr6sllVL#a}wv;djMiqc2ox^StdRyqhS)ialj&a5!mH zoqobe$>_F2A={|-gm0}*nCUtsN{uFL)`S9E(5&Vz{)%1NU0^fdTtM90iQ_fdqsZIj zUT0Z*oHlL0-P>5fsH_o(l}R@|zlqpX+*&IlAX*B0oSW}YV)5Qdzqhi8J7}cV&^JZG zH#17{RqA50*Z*!Scl80ckrhH>!g1=`t5#v2fkFAT&+%b#GUre}% zPmmhf{(4Mazppd*B`!72&i1vD%BU$R7t^By3sk3&`JRZ579FB`R28{=wJZ-SSKvUtNIql9$$RRj z!U$zPJ`)NfZ3$2qIn9@C$J$`ER~R|F_&!O>DU!cU))sBLoq>Wa!peTBi#U;z-tH$0 zzU%sl=2l{v&yfcRZv{iZD}WIaGqWNhUH0z zDIxaj4#A^+EZ8KN4_;^Lhdv@I`)m6_zyC-3aW41A^-EnneFH;_8#izLwqgALCjVUv z#fYpW;nHf_10^b$J2>|8-}#^N-~O8dOP7j$5uqH6xm`qr?H4+_D(^6edH1q5)(X0_ zK6i7ad1o|xVYYW|Ez7afYjUanYKRx7g9 zXlLCgCvRhBra6WtCH58MIJO=9Om)XB*KN%6)~LfWo3`F68^*P6qrOg$enZ30-qMHl z3e)## za@kxsQN!tMQ7&>qL}$fxAf{J6s<1m>ljurTX%h-3!uWIJouW`mJl8eLPL?qo+_h5S~iDR1u6 z`;e5H>~mqq4mm1tr6SrW5mUA!MTJ?f2ELa1G(PfdwY(?55rw&=X$a{p^Uvum?$`A8 z=60e>3Z%F0HC0t={vpTF_b!?X>&43{U7f&RrFit*Y4hCdden|mqwf~441?LES~90# zOGZ|;Rc*3Tk!BGE;ujj|ZzO8o67aC^&!D;Buie z&5v9R7L#Yf>#R5>+8AC=a9}U?(o~P4KCgM4{Gm<~bBb~B$TtKRK_J!*ZT0?+8&NnC zU9%*q#yN<&5K(x}P^s;{5ZBv<%a@e0Jv%G7OW*dsu*T5PONUfOy0{SgHl^wiowOW^ zs^TJ_rXl!m8X}|WN{ZD`KcRl+{w?)nBYf)cL~UsyrxUsE6*XSr{C9S>;?;+_CFdL) zT20}=6MSSAYt6~Y*&_UgCi3iJ{k8q6{E@%>sqvdq|M>OipRPL#LkFBmBJfj?)OypWpeDZ}-+;+>0v$pZ|N~*F*dR&|ld*g#PjPKgE@Uul0N5k3jr_ zU+%x~Uld>d55!-G_+!7s|7|nfNd{~bTIy_dhvFUJ=w74GdGn^QY1-!pfsdnIUF zV$YZLWiLP>m*O*$?C=OrO5Q0MU zyA<-3*AhKD3CWk&0fCBF_Ii}X4bmKSyG0sD*5;7=skUrmb+W#>@% zT4Fa~Sv2EIhr0C)%kRcYPHf5<33HHM+s+WCA|+P1d28ZK0&%4+qnwycVU(e(Uqy4s zp}}lUy=i>A@{;l#-fi>hmSWJ^ zP<@=K@8wsiHW!!mjg<~}wMWqAuhXBQX*%^>=NPl;y8Fion+Y*j#qIn%i=uXN%a_k=imA56NpMG!A%ZuG6)5V6X_z4oQt(t8BY z^KDa1fqM4JELGI?)G>)nW~XJf+f@P+5Bl4W&VG|Gh$?c&Dx;adny>{FoZ_k=>DQspCtc{R8O4Y{O_;NdG_1i6FKLu>vMQ>r6&d3W-3?4Gb9L-~U!)6%O zxAq)&Jj7dE93$_?KlkdX21~x7m44^h0j~_-D!aiiPVrWRC7qRb0!aLvWzUT_%PQ|I zbu#`x?A-@6oNeAX{z(WDQ4_rfk?6fML?;L$dWjO9AQ*xXqC_u2kdQ(|k0_&y9xYlB zqZ?g>As7t)muH{sySwl2_wN38_w1g1f4R^3Jh$T<_cfWB=lWjtdnu>kcH^ev+0Um) zD9@>1iKryKjUB{Eh^8}uBC^vBzRnH%6ZzQrdiu~4UNlbZc`G=?T4fuzfscsieC|rk zo{D%TwtgnRwt0Ov>wH-gb>vk^$$P>yEC!j7i3wr}*$VEga&rXl(COs#)hd$2rv7LG03gdvijU7~0(F@LX)3KmdIlKu=AnhYmK6H6TPd2{vlH{+n6He>u|IPHEB-{Wo%$tK|3@6H_+@maY%*Z@YLNV0Q~J zY>Sn~@k=ZHE4w4(Zo-(^+KR_&Tr{d)39f$(K$ikX8pMaB72YA`8K1I%0EA;AAdb&8 zU91MRpLFFKA8*~<2uzC;44`qH{ie1s||O>#!`cPzzGVHWCMk%Mh6%=6p3 z{wZxwpQCK{Sc=dD1H11{@ukVo8vNeQkA08Ej|Y$o&+nj{Kopc`DDQPYtCF1`kz=VK z85DSj`FTQTXWoN2q)Dsf8GMa?tkB!|Fn$-|il__j$@_-xTP2JwgL!QxN|=Kn)Wxk za252@X@_m7gdbYm3Q!iVs`zp@W$G&8kt-fQ944K2>%Om-t+>b%S>Tsr?l3M@)Q~ik z-rJY*Q%xW)jc%^x~Svq^VD*FGH*AT_3WW&+b@X{z#&N>lumu3U%NK98P%EFU?2D zaxqNi`t7`P&&WcWx&;nOck*1|4%6gczbaU}yn(q+bckH~Cpb zVlj$03T-)9KZrG&Sg}Cp#Sz>4#k58H#T+eU3&!xCPdU$f5#7n{QT&&Is@B26I!b?& zXY$2D@5Fs>0Y?qNXWd${vnkLz#woe{`_z^x<{{nVyCK8ostk1kvsYoPq^%vwH`_zl zIG=CgEuIc!7^iC^rA$*@Paq^Pqg~Yx#p~=^3`S{&o?nEj@k^~9rhA(;k|AXpDIdm$ z9$GdOq4-FalVJLVuZF)rJ}>21ns!5`wGyowzfN@3Ciupz_V-aIa?eNWOr#=Q1x&bW zsg&DwdL0g|ta)IR^>qVx+-?S%%|O)W{2Q1HFE`>SMSlna6FWKz_crj>a*y771CmZ> z#frF*tWtWuO`SiDSviCe!&CbNoz*yTZJJW8Qom}LCY94Ch3PLkpK3hm3LSD)61r0zb*bS`>O z#M;FiX=H3qE_{zTn_TB)^!*GFi`-%0fcP9|LaE~}S@B0!Wm$PWGcHDWaYf|$H$=(%@ zlb56!o_nYjR+m@w`2MIkf#9rYM?-04uV9?!hBF_{GRThW3|bEI?8L|yvzW4JK0tT% zaox-`jzDo=$PQ=C@m&vJk3+e@nq^;xOQSPigtIWg)uF;G8qe4REN;W7dBf@b;>OaQ-YGsV;3TDG?r&2nE+wh7jx9D=RBCRmmz9QNPtG!6b*m3!o+)v(fz{61 zd-()9FuUKhmX-AUi^XP*zm1JAv=Tp!nR9(tRq*2u?zhEMu{7zm>K}nohl;SL{-T(e zLY~jbb8B%I>$n^W?9nwwX1)o^>(vU42Z{3yBhq}{ZW+sZ5(2|Di zmCMHr?`sk%DOyvpUU4{wr<_yTt#zgv8qmtB0#mkvJ zG+I1s(wd}gQuvgcFsSut!t%n8ykjj$WyEMkNcQSw+xCC4VC;&=;3ZMpP09t?!pa&QL zMt})m23UYA04u--ume|t)90U(13z;DTmUz~1MmWT06!oA2m(TYFdzbm0%CwTAOT1M zQh+od1IPkU;Pm-M;C=&802BcwKp9X0Q~@ z18|Q9ya68o2KWMgz(c?v2mk^BI1mK&Tl_RnzLw+F=&QUxReVOtr!z$ z&{L)o66d(Fm9619WXGzmcZuF^EiDj0f@9w_afeRv#BO%x=;-o4D?! ziRKpIq>K+-CLeQl-eGz;w77gM1{>6%ajp`$ zvz)OK?>d1{$(#eZO~SraBZkZm4x7T7r!@34N7TIH?-;;}*kkBO6RR~^m+*0|@g*2J zr|GcH-w2&-BcvXQ_GkJneZMtLFYUZmQPIv7Z8@$G8wB_K8h9fWnl^}XJC#=^$d&6a;r3B|3O*?f_&Ou)o}LvNLyw}fHI&sf8-F1t|$_GgL@2Qn^?9#am$ z%di^0a}qzU3oniZdS2FRxRn~J<)0(L%}?mXd@nS0J*rSF%AzR|V@`wBK2uqd_G(z* z?4P#GVV#>V|FYHa=go!Jkr3#tz~~8NSt1WUW159h z`O}m-LjR=sCpplU1tI8fn*SpOaVPHg`6uCjy!_wh|4z$3y}--(tJif<{=47H7x_1o zFAvHe{k?qAe?$4kpnS65=Rbe8A47hPAN(4>{uk#z`nmphtD*Mr4lF|rli-z|R$euC z-2dglm;UrI0uH+F!{6*KyE^HsCev?W}OlfOBJ6 z_9gXE$3f}WQ`c=BUaAf}lZ;nW)_oZ%?Rn@1d!t>yS=1gYy!H^RyCEK1MR*(Zhg_?E zSncwinLRgV^ln5nn};|vw&G)4?35&V$F+( z_emGbiY(cE`|$1P6XCRw0}T{MdtAg6Ee2r=&LJgm7(vD+;l;TXIuf~Gn7!hZ$C{jZ zCr!G-@aJ&BLilyC>2ZQTOU zH;doAE;OexQ#F)BE2SPv&@rIB789bA4qpmj^%tf$>-{|sr!iU34S90-8-?wVQ7DJR z#x0N`ZWW!7sP>1kf{mYJ1wpcL191B+a+0t{vYkin*_aws3*QB#N;^7To@KZxp7&$>;KfJL)>4wzktKOp zXY{*%x56P)Skb+h#|cWfsznKXihp&j)c+~4VeMZBG1sCgivsfzk}noM>cz8Hd3Ow5 zjl5Q1Ld)~B{h$c`l;ZTyo!FlKc{aSC^}pudS^xk1`{#e>-~Z}=Iyibh@bdP7`TG4@ zf79`)vukkZ%kaqP*D>T@+y8n{cG~~cYqp>$dcaz=B8itqQJ>S?lsDeVebAKdz?vxK z5tA&y?bzepc+kdEAuqBp!nAn{x*jD?6!$pMq;qUgT=_$8uhgs|_N5gOi>#jz1aH_t zdVQ%6Ym4sd5Wo~48CWDy?vZm#1YfbH>FDxyZ}ZSVTeRt5B6*BNG}EK+v`=!F*grDt z#^c26@xsZhyM^D+cXSMABn@02P!ue0l_KwLOk`QsKBa&L!=NvQU46SbSF!#u%bX(iKJDkcA>p(ZQzpq^0c^wU* zF)@@!Q6Ce3Ws1*j0fW_d25DGEGp`eC{Xjfs^xGm2k})6MogVg=D(ti^ai~mxl4WQn zi(C0@T-u$k^QE9=I5{aLYjg?PvtJ)fAGsbz1&EZC)LnMwnXfQfw@Ee9{ZQNHz-|Ba zadMYAhqyCYH2plR%>O>R>^)CW3iEedWV7#DR<-&x=+>-MR5TkI4F1 zVf)^wR^6CFQ!9ch>n}&2>oOg(PD9;NS|cLsGlzT9x6SVyqf*y!M*VpXo!9&jVOS=Z zw73X^o?&U4dCU5h(W9$E)ZA^!(dr69oU%I6@koSkd02t&(10NmrxTjM}^wx)&L4o=m9MK{%thdou zOYQvn9gWNJxH^Za_9A>a@%UfHpGV@U;{K0|aR1Tz_htyb;q z8oV46c)d<#S1HqpPDWEbwbao_wy^1y8%Ap0mPbd! zYd!4K`mR7q?dnZVHH)$;Bp$KBB0Xw}4Ks-{%LT-+NSbRiS+B4 z#9JT6i%p|Fw73XwA2qBCBi<{_zIw1HU@lbjw(tW161>{T0w8p>;xTZyfxdR177G z=};xpiER)HEsSZ9w|!023bdAE+|LV~*psw~;VvRhv-Yv}$soeKtgnFsYmXKxe8IiB{(DIz6R>HoB1{z7-<@DTe;S-2N zF;4|adGLIVB-7;Ekvrz&k8mHXSO^*WJD^__<u4vkZe}7cHzOu;Q}1`ahlpMB&U0hy%d4FzR7Mg-U#Q8OP&GJ#7(Na!ouY`sn1A5xw?Jg}JDjs(65aCW!cvE715OZm_ zwg$b_YUI!4Fq?hoY@F~RaZ$#=pEI(oJkh2(JNZy5=A~!yez^F4lPs9Q5}imNxYI6J z`936i=`gc`&4R(-^J2T<&Qh$d8gJ!h7~2wuluX}}+U<(s69_K*osn8B*$<`&aI`Q+ z$^UwRqwa*UBl2zXT!4l~^mpr@#atNZv;T%HrB!aLl?_w;9@=jN_2xsG~vo8o|dL ziyWC}mW%3)-I6_lz{vWH7lonYZ6YQvq7SpqciJ+nzt|Z>8AN(!z>IGNDL=+Gsj}~$ zvsCGgM8g`SFyASOm?GF>f6XO4ZrwdiCK zBP&!xT2TJg-^+glehvmgfX6^6 z5C((;5x^555{Lp$*BHG4_gEkfhzAmYL?8)x3M2z5Kq~MINCVP=4B$EN0>}iifS154 z;5Bgi>>6;-0p0?+z&juh$Oj65LZApJ21G6C=I0=@vlzz8r3dSeDkoL>weVK=gGYC3(NVB_ zT-`;y8YbgeB=WvC(V3QYb?GxV!h~bSdf=k#*?7(A^U^x#jP{h{D_^YQ%wMpojp-}8 z&s;o#)Ed5-JAp(sMaS4SMMJWxq82)C`qvpeqIGf0I~ex2l`zt)bMg8xieC1^kAyqB zQQK$I4~UpJo$-jvwoof*w@R@6P#2~jsumsJ3>64lkPf~7kao-s32$rMe0DW!w}9Wa zuIjxejiq<31uyx^{T?PM8)gbR(RC<{c1sWau&uXIvgO78Klw)erTBeeV`@NQg%#ht_YfR$~m4LbSDJ&B6Wd(k^;S7IJv zFMO$z4J&Pv=ja)C>okE|q%3_PLAte)nHd{4UfvPsWk%IOKE6hKtzkg8bH`qnn$cGO$>dGGCm!c7)Kw|tLs@X*1ff(| z^FbAs5z|gmu+1mxn#`H;wkudOw1@AwSD1y=(LLq}w-d<2g(YUgZSo1k-M#L;qsQ*SDq)D5=GguOU8%ty6s?6#x#ha1bH z?`Q~%jlOlb=vI!r=2h9zyVn!nL;d4u>?6ge#&!~FHExfF@^v=2JCeH7;?;PY*fHf& zl!x|itm0t%pze~h139)>HUKd&SQ)$(7YJ;BRso39mW3twJ%~W+nFeO4l z%R8wLA7S0$xNkl^*B7}?!0-5$oLD|~ihYT?k8oL2DbL>=?O!9)Tj1moJK??R%A+z7hl^CDEBV}S!e;s|i#6M4-{-k$>v|(p-=dsJh|@b+#=S3v zDcYQ0Xn)B#zBi`fZkWv1AD@xEqp~cR5VHZ-2i@z6z1D&hFh!krO%gNt!NhVBjL9Ez zr?;i6=YIIdjyHz-*EF_hvyQ(xs%%-6^vc~esWr_Rf+ppK3p~^Oh-)P+C^nWsln~S1 zR2m{yx^JNs-j=+^8qUU~ zvM#39fl$dHdU$ZO)Ue9LfYl}mF~_cora$bQ>z+JcA@$VS#oC3U2c11g)WSh_W&S-W z>#huRw_{j@N3v^`kLadiBwN*3LHi0h-MgX?R!)!(SGeoGcS2a7mUd`k#cnAo?((uM zL&Jb(#o{Zv@=?))M2d(I(X;Izg@RaGEEm*PMj1u3sH9D3am~z<KXe~a_3r0W7K(i$6Twe^Y-|5hxf2YVDVJI9kFPv z{JU|C_MJqj&V-S%uJ^9;ZT?^bBVk!PIQNm?6h2LM0zr#t8-iIEsb1dI^A#&o*I7Bc zbR?Medad4lKFo|RlNO39XPWrAoaIkCOUQpP|H#k!+w52U{cHW>zjpoOq49=Zjmpy} z)6uB({TqF|ZRjYBF4tN;*|&}Fbz+93!<-*vWO!ioa&Sm2_r=$G!(A^z( zrdYqcifR?gR+Gwq7b|@xYtM<)-x2*%Afc#AAn4K&Bi~cvXZzwHB@5bTJqJaE(?UyJ z;*`VFjgd3o%VbMsfkbMR#rG50t`}y|AtptKdYE$9uqt!NVWD zs_ZK=g-JzG#nuVTz;P<;MN?;aJdIz>e5v43rQt5$D*d!db4N~0tyGTj-WfLA_d?tL z7PQiKkSj6{Z_Z(R*y|J)kM}0lHgrwFf|a%j%6BC!m$yk6%H8j4}(`>eEir z8FY2qNK$xs4xx72B4@Z;$&>B+Rfc4JA7WYaefklGxOExSy2TCjkCB6hAif_AoG7DE zmdZq1kcs_HD4JKEMK6`CN~+OY4%Hpk-bgE4s_xYxs3_XLNbn(~pW(SKM|&1c$CAs) znE%F36(YhnYs3HfvGAF1$fb1(R2HF=7^N7pJ)CDTv&L6bpol$k&Gb-BxBZK6uD#sP z_BiYA04CTg?pupfE_eSbRlDy^?eei}UKPJJ$UpzFLEcB(E$q=yv%w7-`yg&xGw1=V`A`S!@rv6!P+%f_E;8M zo)+gAJ}uNU^tPbrnSHgndXy3-yZ}=+qg3*QqxO*q;Uu%^rvv|-*G3mS-|x)qe)Etr z=%k#ck-mFR9x-wem*HcF%Z2S|yT?B`w%>Va$H|L*e_e%9Z#zv}N__4mKH{x%O#UcNb_h3P92I#gdfe%QDK&hXAfrN$Qd ztK=zAMcAn(`snM>!*HPAM=Y>>B~0-CPWKZ?AnF7%XOA;gVS%JG9+VE4BXp{_(?(Pb z@-8B@FA^HDec5;wJJh#5_j_~uQSex?S)}JWbwLvB-$dO7-VM<6CSN zM>*xL_<+AJe=MN5#p?ZALpy~ng)LD_O{7c=RG_9;*lJK+2}fwTn$Ly4+b6buu9|EG}kMTQEa$kiG`(>TLW+rm?RMO)w!Xv_YV;!i{B!>Ie{5M3p%LwUIL*j!F@%Z6LbxV|Nl6K1&(rNO zLnyi1F)okfDBuHgGZ$w_lE6SlkW7K*QH2PR_RZ3|sAj?He+am2act-wRoCJL8C-r5C{G)Yhs( zD`NUk*ZQxlalgYm8wHcYk?5G%p*a|AL%(Ui-}OPINZ5n-{+b&pt8}Kf&r6a9a4cGJ z<5KOhS2*g0AF|NckTzXJdG{L^pqUSLY$ zx9d;3X8+e82f!SJ0QkO~UV{II@|QvRu;0rU`Ztt+0?Oz4y?o(+Lis%4eUt}IKY-Ks z^sikMpls{k%l}8)U;k+R@jsl*{MXk1AAHkbet)g=zTiXiZ(5Vl)Q+P0(><^kOO#vUHM7_l;@< zg_W+Enw*d5M?sZaPVH1EXmq0QRWpYahchJ1h;UDwQ4TxdD0FK3^@a5j^?l37ZRJpA z8L(XaCCTj%M~Dg@CWY7l3k|AKc1kq{*O5V49_MVEsQYdL-R3qN_>KZg^gobP>rv1r zST)%v*~?eA)(-t-D5vD})+3c*-?KhjS#>4sik*YF)$va{Eu288F!&jms3mi8m4#>7ix4 zT_G34)#gJ~$tF)HY=U%I14C8NwvK2GbX+^trL>%3Z09q}PrLmotkmt^e(t6tQF8&> zifHAc;<1T+!A+D^G|pBX4d=|-9y zDJe#=y>Gih!p6H8L6hwN(btyM#SjBOv^K+}Y&X@|jwG;}t*M>u6Ew@0?Bp&}d3G0h zv-H*DRR5Tl!78_;FJd*(*M~p9^WvV)uqgFyCwQ_YhPQ=AP=CVTEa*h%wkOoNrjK)V z#7BeN0@Z7ANs*Aljo;gMhUO9@B}LKy61q}8P}rW1W$FFpS1YH;-woZno8;pL zjc{cPQ|+puM$I!$dk6h_?w8a5Pyd1M{}ENnmTi2{(&fI&-lOeXrW1-u{0=(WuPizF zD!`&>nKvhphBgQcjuqW_d#jl@t<342SPP_-;|Dp2?K zb#};pxQHX)IOp+-u>I%g5$$}F&)v}7*QVLJZzSL8$EbO+Py&!EcES=p^Q2-o5aMmURpjdkKglw zj=Qgrs*3QGekx4mTPzh=P(5S~eknG^B;r3d*GIN0%b%(pV1-%_8@btff%DN2b0~y= zpDOIrz6!+vM_V6d>*0`rO~5#Un+zw@_psg3$PO|zhFzS}$S)&qB!NAm- zo>}4GzOd@^^2yS*qCeE_gem&gL4tBJdCFPvo|pkj<;Z^ z^B7}b9^;ecL`WoN<1_;b$gN=s+7u0}pkwctSpp)SPrBKcOHM;|y2|=bUwe>X@k(#o z1@x&KWzw`ENxrN6*F5x;R{IOX^>dpzr1(8Tk!y7nAc3+$$26t1&gO=CRh{GsBs}CO zXYnylUAw5#vm5*SJuaMF_xTMC9%1Nq^^fD9l9E&-?Oinzd?5}*R80UF?RY>p0~2N(cGfC*p*PG9#GfE8c^ zPWzFkYtuM@Yru7Y6F7ag9Jrshn|T2~fFC&RM+gE!fG{8ehytKF1Q7=$07*a!kOpJ` zSpW*0KJyN^-vAT0#2X%7~EX}H{f&)qdVXM zcmfXqFTfk{0bqbH;0HVe{DA-<5P$_+PVs;^>e0KQ#|c zr?&?hB{3@POia>n+qoCI1k!5mmjxyyUvulsK>Pxb9U!q)DCWrtL_w+V=262qNZqOrj^V?yDXF8=Nn8c3SugdYtbQKis*Z|BBtF z(9b!m(kIeQxG|#4cm=J%^P*-7c6YHXP4_!{t%;G=(zP-V^rs8_5cQXtM7L^=N*b;? z_*pew4RLu`kTaF%>7!`IJ`Kk6ejwFSs(BLoO8e?8UqL)T7s_*4+!b(VD_K zZkIFZU4*_(BXy9b1hFN%78TA$X8PVP`_h%I88wdv>jW)gGbJ*o#MwqORax6VO-+#( z#6F|r7tn$-V7(0-(72&K`_Hym+BY@=J~!;RzOEl|&39ef0=u~bXtIxoE2+})o6XeW zbC+YhR%AyWalduK%ev=t{B1u9LG)QrapSKpk^OPdJBn*NHi|pcm;T^GaY#?yS1jsPuyQExe|~jqT7gN6l*N2MpTVvr_eNQ>%5F2Nr=u$ zDwf*Gm*i-Rqp+`G2urigC*bC}VmK3Iazp>}HJ#|(mpC#`RC;DiGoCdyVCD%oK!|TW z#M32jx!)9X*M&z!Q~i4vVL{AYRw9Oaq;c&vf!Q41!xT~ved?v?+fX97bG7WXHKcb^ zHq2gnw5BKBqxUH9S;{0&TT@kM1i3dQqq*!B%143;$`somd6!!9FoBNh=6K6i>8eU+ z(;i3*)ZIZ@NXy{$%F^SacYhxKrh4Fz8F(E~C$JYTSf-?{v0|!rhK~tT)2$QSzNRwh zy5Zt7%iS+snBbsH;cy?*J*|;Qx=9r)VFY(|T8oiw-n+TUJ^J1hIo@+Ky;s7atqa-0XR>urBqqgKC#6)P)jrjK`wr&QZgi9|SuBsHj54xSC(>Bi zJP_#k#F{%<1S)N7AM+QL|9!;lPbzQlBbqYwT%qVTvMq06BRlciL~`|(Eg9*%moKW# zCaG~&jNpzXgbJGnCy@4=HLnJ_ceZD%FPoI4yN32xelo+1E&i;(Pxo>BzgT~Z{1fIM zc){mz0|4EVziIw~8^p@fJu9b|=s%%+KJXj`;BPHo9+ZFD$2`5n{t4ytgXbs$e{1=t zZH3c5>**!_PbgmiJVy!mTg!I=Wtab6zRq3zEAE#CA0@mZ_>Y{w{12YL`tAHUaQ=Du zbU9d>EkoNtgm&xLh@i~8`ei1(6+za<(2{?pjS+$mPDaSW*ux{Teh8a_fvBoRFnM)E zaCozEd!V4{SQh(RhlvSh-I7J}RWu%MXeKER*Ca>PN`8^(*S5 z$En{Ay{B62^UBBq~ftOZ?RaMr? z`_)Hl)928N&n0|qw+EEU`DQDJ&LMW6d#7GuEeuFqH=#7pH_Hgr<|)1U{pEua;#5>g zY%U`9yvR}_0r~?6;&DFeEnd$>-K;o9DXwyG!a^;!Cm@sF^|$qf;3V`Fri#EU-zuB!?g-gHKC=S9f&Sv8!&gs2Fv5CM6LtC{EXnElq6Bby_TcZs!7;pl; zQhj9=nx`jT;}YxXS`hlUS~;e_>;&;INpy%8zHr;^+-!e>A~H~x6pM5#uV=a)r!*|B zZTd(Crn&V;PxKOw~)n?z=%?9ERPn_NO&SmG)CVkv)&$7qq)+txa zAn7r-R5@D>(&Yt*e}!8bu4>N4_j-D{kVZ1xwYA_hOuV5#a^+&_69_C;prg0fm*ND{ z!9;KIb<$+QX;9KK6rEoTDj`_9NBgd3*v~`>D)zG^+V~)XugyJdU%#{7fF*ib~ zyZj(RBSEsyQg>UbDu;y)dHuOlQqqfad~DARx4%yakDXfQF?&kAIhY#IO(4M;?c*L9 zHJiJhege6?b0nrVD9z94GX|Ze z!@P3akmx41&@W-@e!vPdNKz7IKtx>A|DG*`p`25GXZ9Knvd-+#e68UO=F!|5kMdMA z=-}}F*1;Ls;9@h@2{ksA72F$~e=L0t6|2_h8Z{mxdD_9DAAN6TY|>+_dH2c~ccswO zK72LyMo#$~pW-PAakNpO1ZK`-(abBG*Q0Iyl~j$_K6K3Dlbz292l$4W^QbW z2+Vc}>;A{{Cr{h6zv|y#<4^y>@uxpoe^utSL1wWcN%p#0v#hclfs43BA3x_4)4MnnjsWcZr<;A{qsw#4c0 zZ`%ltE5;>JdKj+=R((WH3zX1VL>~((A!~*>=bsb8MgcUqwxw_UsfeWGG11s$;sUEsaG3jh7nq3?ElAFP(_CgcS2 zM&T0*=lesFuIwmqMwF#DY^NjUnG5%O#q;zR1N!dn-@-59SZ~TVb*S9)KE9A*`_Q7i zGsg8wzB{Z*KSij@r8GXN>0D5U@dP?|oo0@S#NV=fV6Lt*N#85Qx8M(vc@!(A> zHI5tATer@>!>}!#ts@E)f_0K|uCZOCzQ8m4k^TfydOU#bDjfXCB!d?2sm$U7y@#Kg~yDviMq)|z? zj}YH~^j%rAAc&{wb4D#VFd9+ zI5L%tJD<=42coiF*hs%-Fp^0;axZLEbwR`E!UqKNT*EbsI7S(L5QAsVd^{_T0Tr=h zCdh5qA%@hPtUG3@N~B@sT(*vje;9y-{AK&Mk*v)vdtxj&ElH;$@rJpQHoqXZwQq;% zi;qmorh%ih4(PXyvqeHpff8t<&*AW+i~!#^%gu8m*DDJwtCHT1{%rrg`wy*uAA#2$ z41@ru^UI;&9tMO15x@T~65OMJXdniN1>%5sAOT1Ol7Oc`GLQnK0?&XnARWj6o&zs{ zOdtz5E$SOcz(=47Xa-tcYKW`Q{X1u7 zz&7v$*a3EdJpcpj0|&q%fCY|#W8egUfSilJ^1u9J`_KN3>!1I)|NnIToIx}!92Fkn zEXzJ^pW7;VFV4-*)5#4lEdV#s%+ZPaZn|okNlqS0zSdPe*Hw7w4FR!8)~roJO$_LdP!D{gzMPBjYX!&Kf{IO^Q-aQgMRDO;tl_f?>^9B*YES2&JJcDOW+RqZyvp;t;LxV0Z1 zz0Hp3T^rjND?9eP>Yi1j)<-RS6)bnUGlMtma}IKGyzL_n4#uGaT3 zQ35p{7}~-bwb7dn+R6xg*bm}%WKflRdNkC4!R>xj1-XV17y&76+sqY;_*oCOu$4R`M%7U^T1ma;I$ z$DCWOaAa03{(bGTwjlRtlv|D(RU0^$>*MDECq5c@oi26QMoD)s@r#itw5lQc~S(96>P`N81r>&gEK%eD_Q}#?KtCQVG4jL?+ z7MP3T!^3D83^DSM2WT7A4Dqqnz`o-upW%0j-MSIZM}?cvw33d_!64>Z<)R9bZ}DH2 zCxzHBeLo0-U$_c>+a2-PV|CH6g_2-XQH~?8eX4Gtvp5QE1*>h#Q~TD?bEn2BcPH=L zLF#&_=WKV;jrQH1srsb7_4-b?9xcI1PMgU$9G4ns)n7vHO?|s z-{q#dq~^|;OB22CCb@X_w(qikum&$bH9akw$P=8lAyUul#I>%_SMl^p-975|nL--n z8zDir=^x$+$MQ5%#$=(z+$Mwb4kH?F`90d&yteB&9>{HBnkt$&gcaC0HfEB83GHUr zqoJ)bOw9(8)`sSelCTCo#y3mUVv1K4y|%u1(&5Bw5i1My`q_cZ0eSMXGRCSK_f$;m zSVBCAxlsC;#t%7CmSUcaGNqNzFsWvuSBXthu6UawL zhU=n*UPC?CmC5y~gqFXh&cpw_1)%q7*=byMTx_q`pT%nv-iD+CNeLpRSTklzqNFvP z@?no1{cM-Qv7RnD<7xzv%+lSS-Wjp;&Ku^+`09so>-XV(_9u`Huq|2VP!+Rgve^)o zU6~4J&*;9dQ0`BDHd9E+Gpiz?hv)Tjkox1JS2g^{E3boOr7$m0L=TTI)my?{R>dzN zu=Sm5JH-~qm%uMW{Nj$!bsh`r$l+tJ((WDM?J!{pldzze$1Ub3ke5?nVfP~sc+BNn zpb33Gto{TdU$1fkIXiy>p@q)!k2Wrgy*q)Np7f=383J#qf(8xS2oC$Ly_g#a$|eUmgrrjmEWdt`5aT7cux}V zd3-BR<|vL`?>)c129C$CF~HWMqAgeEWcpTIk5=fB&0cbCKMQHIFD}THNuWT5g zq{oJ9hw1Q*r@S<7wo>p%m{faMPYgWl-rWAof<2h*r5{b^{{=O8aOuJ^ba4s`8ux4C{BMxT$wA& ziJF*M&v?L;^wwcA#+S?OS$r9J1Tkv52D58ZrF&BY%hqIs)!gI|_B`5Vmu0uYs;FI5 zQrvmXOZt3vz4meq zrymfqpY1vLu)><|%fo~_!L zC|yic&%fE^G^swx`m9v?SbXWewf%iiSUIr`rqZtZ$i%EZz%7)IYOtKK<=y(!r+%9? zWwsW1BdI26S{`{qTZ2;R!|d=3$pRF=A=6S|XZJjh^Q(|S=j_OyJxCV)YQyM}cOgvQ z{pvOwbOc8GzrI<+o{Y%hWtL7fR!|f7ZA-@QZ`80Q<99duCq9(Fx=;V^E`Q`P`Mhae zT;)iB<};I){akwmSzmT^wkdtvLFyWG>>)=P&=J0Ps2lZvyOWE;4E!HC2=zw^SI_}4 zEcv(Q{~yD%!U@J6ghT94XrIuoI$Z1DZNCiKNB-Qt_@C7N+5e#ZPH6w~&+SY6N$qR= z2kkFF`@|&h0yutoep|x(`SJYz5kLNK#*dT6&>`}phMQtI`(W?Jt(2`hsm8Myvn9`5 z`PaUapVvl<7J5TI9B*-O*MFO|2R)KXh2Ln{rfu_78#!KaGy@f>S=MPQu5M4I^7M#9&lSU*t-fPR5*Dtu z!wIEK4UoUwy3YQIb`(Rp-KsydvrVudLApVI{d%17aM=Enimv>}&YVrLjAOJ5co?wc ze)$n>GNrQW02`-l%b}iMXtUd-l)U@UsskA(Q_LKbw3TU3*Ge13cINt_@bcn8^uiPj zSxK4lS8cJF`Y^nL=vMLAtx?RUu=%8w6KaMnOI58)=w}VhcNV=CPRNiza^F~c6(cV^53T6v!$~77}G4sxTkOW-HiW@a(n5(zT>ZmVR-Wufjw`mUV~xU)EKd4 zc@^h8y~){gzVEDfD~)36pbhz!LHCIm~fy3CU2FXM-vL!$!A>Hc9r6; z!l#GS@wXaK?eL$2j&)T301pMu>f3h*RVG(oE*)hAG929<%#a zoS~tWKsy!B!*Z|3$F<*;pQoAc4?@hy$$1axCG9E5z1tTWIQm?Zw%1d!IAW@O`h1UB z`{hC-hb5-_u(s|TAsX&vRZ?^j_pJ-jx7n>y}pXhAN+`Dd}i3ne~ipk zFX6WD=b(wjUBWENLtg5uHe2!2Tk+^of%by02zs^WcxjzZ!}IM0C$ip3gqI|=WmO^F zf|RS*^rKq!#CBjd6i}^tSWRDk!DWwdnk{kmvkaFPK^hw(Y()&IPUae@qzU` z6Y`@LsPb*UY^VymTNI7c(NY}HbYaKlRX`T2qF(V=#2qFK{@L&TlqyU?lJV6KFN-75 zco9ex3QE~#&=1CZwCRQ)7c*FRN&js)`4;E8wa;L9oBSGN55YLoH)?Egow*RR$=LiA zQLm+h(C(}-&Y4qZo@MS%@#N%sTv{HXQ92h=H=ahPrTxYdhTqnRYu}zdhrfINnErVF z{K&uiFXxZ2A zBR+nixaD3^m$ZM6?w7?4Idt_gaZNvWa^}ULLcDlx0Na7i9A`9{wcdK_bZz*M8?{#= z^1)}$c-JIyTb}4zM@1@WA6{>pi1g0NjMrb7c_Z&tW;Ees&8p?G+O589GWa{m_^Y)V zICF-wsocZq<^u$XLLI$W%FuhYTM?S z_nrcskK0$$3=O?{XqsHPpTye_k3LXip)pGCJ6SEG-(&*m3b(I#nqV0MNA_u|;_r+~ z!f*8*hSjkJQY`5&r!sZJxr(Fi@4mzpDzlsWU69!l)dHK@hJts4w;(RJ219~p zuUWSzY#nqsW)x|FXg4w-qkDfqt`*lg*VbW99YDAj8kguP2 z)!a&2R>Z-bxDan?$^9BfYuM_6rg*%@=FW9qeWNscl&ZIuZ8dCCg8(V08_m7j?WWiV{U4=V%9D|7j1`6g`pP)gfWq=3mm#{m=VkW_w3D^_yPnv- zeVl23FIRpf4#RL|E72Kqw>yywYccewO5DG$PcKER*g>8DRJ(`u=~)hkdn&z5T9Syf zz2PrP*S;d4N3(hnm-ML~Cpvca%r>p5@A}q6kGn=%V4Sf*&-FTkdam}@Od{^w&jdoo76j6Ug@YpDqhvK#OPEQJZ+O!A)^qWo5m=jL1u zF(N)4>vMp@hxs*xJ?`j0j5=z1>np+@0v!c5MU;3|an1F;Cg|bSZxQN)UGg8f-M%8w z{jhoULy}D{=8Uafx$=t}=n!`7eVe3Z8u(UX=6?!+|6hKSO=Uv^)n8{I>GO%FV`WRb z;aX>kB6s0L_)AmX3-_KA-MiKJ;z-{;lspSg)`j{4)O4`OEY_ z)QNU*Aa+vkAfn#!wGQzke*M>tUvorEDNIj^kDF4VZ9@27$y4Q2FeWnK!h)R3HRJ@e zM`a{agX@F#GIgn6sU|rx_`HXwB0=sn+9aq~H(y&+le;`x{_<38;>(c#>kjKTOO=$Wp~)op1PR`%#>rSM}nQw`ugWqUF7(> zQhiMO%Ray^CDFxYH;J2kCf?XRE(>|4GjZ#-_C5Qof|Zr82p?`n(@WNKbI_4lm#kwi zTJzbImaKa?6=qmsk7z>ferB81bvIY`bE1c>V)}{drmXqrc`sod98K*t#^m1Z7Kb=7whDB-WNy*UJlkP zREgK#9*Eb%1e~!zFxE{^a~*v}+8ng5ziRegXp_@xY>&Ms*;p<~|DX!lR!TkFv0!7` zWBYe-=$1UFuZ_@r%Q884%U7J9VQgh(nOewd4LMtOP?U*HfyH***^Y4 z<2Em<(UeWDn`Ct=Eld_Oxu9v9?TE%cgm2XHflka%QT0!uuNOmK%a4lmKt+}lnP|cs zD1_Ffz9P0r#D%_1qCSa*aqiww3{09ftN(4%^!pcl8|9kienq@@(*E15sqS<4EVAZvpJ!(;T`Nztz7%K~aq69SYTS|MfvJ-4(76foqz*7=dKKaLe|`RZ z`SJYuG5-B8kAD&PFdU}}UVmiJwBCdZv)$SzR#Gt+xEg)XocGz&$=HX_o`tGimhOr9 zXj;VMYnQWPXisZx!i{&5^?R^BV!D5(rej`0Rl)7*k%hgxe9VqVa(PB&Zd~w`=#&%k zWbNLROg8TApR4gu-=Ow7bde3|@o@U$M5DA}Q-4RutJPdyd}NB}<*oE8c2q~Td(YkF zB)>TN?Yr+!_w-fhujv~+jN%G2>wl?J^o8`L^N{OKy30XdUiW63noPev)$Gxl>s7ST zdIn25ZAIZeYb6<+d#`pQxpmA|#P&*8)P9cuCiAO|Jgs>OA;pjM$mNT} zYGbRYQ2t}WQtco6*wV$~pG)NJ#Ja16BAIZdG*iKw=uY-Z~W7QS@;NmIH@bK!~cyA8xW(-xKm+083e*87#lg`G5 z)x|DFtM2vL1wFz$;J&jH5P@BQun+TYKmzuFy?_)Dat_Jiybn+SNIylKop1p zaUcOC!EtZ`NC9ae17v|5Ahe|b=ab+RPz0xe5>N&zKozKgGe8}j1sdQS&;*2QXu(+< zTmXbIgf7qn`rsnC1Pp*7FapNF1Q6n#ggL+~;3_Z!=D-461BCfFD?n(&2F`@}%Im-u z*a3Us0B!(BK$uUx37mloa0Mvf2Hb%M@C07K8=!#?_;9hFemdq*tY^B4@_9AwbEFea z#t-E8Ko5=vb+}f6ox)Qo*`Rt{lXAAl0iWN%(AQR45H#o9!O0RU!G9zDjQRfI&wd9x z3it~*y@;X{BB$ni-mkNpZY3{!vFrDUmG2WZ#>u6n&J;;yMVArZFN^T-DCG)0e0Mhs zZc?l1j?eajabK6I7#C3DmxMl0-JtHxuJx5E@%F?kN%9Gl8iahm{$FU`hJ?As_sFU(s98(YIJL$k3$Had99hc=2 z*Q>!76uWm$hAnv?Y9e0EEjFE7UzQ8Q8*eDhplM|^p5m_>@2``i!0CoOv7t=HKY3%D zV_tae15cP)nUviZH9cuHgb%X1iWjye^Npz!up8WScY1!;X*%+lXq%Q5y?rMx=3BNJy5?7Xrk_$Ee%1E* zcT@h_)(! z_xu0)9sc89xD;GNg>aqntMtEruTJm@?clSUL;u|tegeP$lnU@7!n^p#pYpe_{QV~+ z#GeQ;+kf};mR>I(SpI*{U$ zd#Mxxcn`&X3gF2%pnF~Q@J+amhV`D+qO{R?2;lX7uv(vr$zpMqe8d0ljhNPJ*6|&Y zhhiAb3Z@^Eq#AqoCDKO7?#75h3NKAbQ2n|%w%jWc&txR8q&~Nia0yqNEa+(X{8VYs2XVELlPKI&6!{fF zEMuEFxXIPYgICKm=tH4vdZZ+hpP&@$iy#fd=*w%}@rTBIV&|xnh#zi_dtba(#vW`+ zx+28z(PU>dq?@k=2#$A%HN_)6pbR`VjMi$+JM#tqNJmx`1!txE<=q-I=RM z@hg0-jso{j#<1Xy^7b}JB$niCjAk@ks^S_jt^bPH;~!ihu&SgyJZ3EP2`MqA%qiV} zgK@fpql%*kV=)})nndb-sE?hJdpN*TBiSm3rkdfoO_)U5R;ffXn(F>rgh*g(i|Pd* z`gr=~q)*L{O;KkyO#RkgZ6C$@R(3jI`eZc684IiV4mmJz8wQ>=I>Ch{MB{uYlfA#K zY6!=vj7D=KTQudKLWt2%yMmqp1-f3-w@x&XcQAvZuy(CG9qjq_)&Q~Mgv z*KR!Vk-0O5z9+tjKerNwPneaT>)$q+SXu88`Uk0~&<*@<(Za9S8~nM6usyPFnI=Yq zP5eCTQB9e&psHT z{jL9)0{6oo{l_2qkN?g5$Nn+Nx&)q4(>p6@I(#T>*T;M~W`Dws6WVp;zPh>x@1nKvP=b}l)!+qK{b+VUjkBd z^$FeyjYEzKWNWStiWn)bs>2<6-2%GQiY2$ARitmTZXDpVou>DtobSi3qwgki;sY`a zw(H+Ji=+-3vK(41dT{sh8@BE9&ld(%M=x?w(VVn-QO?dE!*5)4kDNk9j*0zKBu;djn&=7ZF_Cl=l&MZ>c}GJEvZdsO zjZ3#y1XneUiWiYxOP8?Vn8+)VZUb0(7YmvHlzqq!*_?7W!4T)vUQJu;YhnBmv%>t{ z&l#6?e|r8@=APt%l{A<^xXwyeortJ{`M3)4arV7dtFGOvLR*EYUug2rs!{}2EGRX; zQ{fEV=h=g!UA=+#eGa9vy8CO7*|7J;72nC37nm0hHnh&U`toHEUvmUg%v+0_7UX9l z9P~NkK8@nlb5W7i%xM3{+FUBD==-RSlU+F@ILqMd!rX#BB}e9unUcqBbwYL=t@iqg zIC6C#!i!{#vQP9(+e!jb?PYu6BJHe{Ns`4g*{WOSf{7j;8Q~mOJ~ztQF3@%mk;IKJ zoAw7+yXW|iZJim{#0lQ>6!k!+4PLU5vg?lzp7XN^ZQs-N;f;ij-8s^QT_cukJ4kBe zLovj;+ed0gWF>^C1sakv@aP)%d>fZc@v2ApMz7T_T{~r7tX8L9@>Kf#Js+i;N3pr} z5t|&a$=m3nZ;TvsX9e+?hIGA4QQu;K*q7nD9+86E)6IzxQfc85no_$}e(kssf-*&J z|8`rMWnC+c4I6W$GLG`j<^>C@xH})cdGZXAF@-LDe+!~;t5qX#CPFxASPWV)%!ZWc zF6+b^HXhk~z>+k@YD8ZRJADRcS(nsDAs-}n7@LA8Qg4@$g#tV2!^0bUz z>n=tAY6XT8;#cc8QhxQw`~P5_UcR8+wTgtPlBns}76UcLe33Pt>~9acCk;CYvq^s+ ziT;wmzz5@rzryp24#D;#e}N1VHwvj?<;>1qf8p`ZXKAEmS;X-xf$6cYbwb4l-gzNd zk(oVWwnU>cdc~$xF*=k^?6GW7DgADdylg~GhiX(>mEQ1>q?zC~afgNc4KhpO&lF?) z&J#5kkOlaOY!u1LHlnqR;5NM@1+v7FsJL*swR3}(25q^?fo!ZC*5uuSPpMNP5RP>7 z0~GBUJh;sbvZH3APbWWo@gV05_U?!kbhEZ{66=y>adj^@kg%M5bST1taaR7)b1mJR zBy2*v`WFnQL+QzeTI5MW;yB)RQ*&f49Y^A?_0CB$DsQT}f#S{Bd^L&Vr0R6gw1rlI zgH%tpCuPs@NXA`fFO>%7n-YnFU6ab&@AB)ko0y66)B}1Z0^hj2K`=1B?MXzHo3inA zFE~@1A=3ln8|EBA&_j{J8okDo#IUCAszmED7RQr7;~C}%G5D35K9n~`zk z{!u4-_R^%Ag%ek(x@ala%N3qVCH@Sn5$7jC zso77srOWfb_QHMS3S>i>{jL8?`IqVcD*w2D{Qu+rv9&KZQO0e<0mVLAd}pyjBj@Ax z!8>R3agv)HpBZV|T}8h*s!d-Jq~PeMb*@X0JG0JKMOV6YN5=9g%1pa$(SB3JnRu}t zwQ0|PtXaDLa2$;;ijncegFr-Y$X(0n$CT*KuLxxB&JUXQcjZB zu0;p5>ya?`yzJW0^OmySM#3adZ7{{Iw<~0^8dcmj+srtZ1T%`PGVYe}8yQ^s?*|?T zteJ;vMUr}3n6)zQq7uVc5i*^XzGdx$+LIwzbtpy(BH z8{0U~KBAA)^wr)bJ8sYQqNK2MglfRBB`6Cvfsc_kSFEL8a-X1#Uc_A1q=()7*sG`U z2_BDa*7y5X2ub=EKFzXUIJ-vv+_5O{RRi4{Msd4} zV(jYfw_ogTw3e_((fe=cLY{M28syh1p_g?Y=o4FuOCNTNn&g&5P< zpE|ndw`+IMHNRezLs&n2$wUygN_%by`EmD#H+6rv{^!VJQiGV_!a-{@V?~2b`@7~3 z_Dedd70cczd35th5bq^^n3em-b0&mHH=*M9PxE!Z^goSYJ?USe|4D-|{_*_y?)f3| z$LAlu&ASlhUI+)_2jgEI*3j3m`g#5FvHyYg{h@uWpW7Gx68ET>%aQ!gx^nt z_BnrUU+j;!{~v$FK$yRK z0bYVUkPiw#At(aHpahhHGEfdGKqaUG81M>I145g%aIOROpaC?3*We9!3!17y^VgN8mgP#=tn30Fz(}OoNYL2F!vv@CnR= z1+WOP00%yUC9n)uz$#b+c<=?RgAG7vbBk~WUjYJs2L8h1&n=3$b?5uH4%It+MKH)o zSj+F;l(%>`=eIpEJY1jl;o?km^9^SYSHbZEBFa)PNgE?bNaE(~ayZmJ{4@hM$zGuE zBW@pLva7hgfGmun*@<{l(s5?!aM7ht_D{}E?Z2FbeRRKx-^@K~JlpGZgjShBlG%~I z{Xv~?OScL(57~~a^~lwZsR@qtBx5_b*_p3sXzx3v^)T6r$ZkO_{6>wkAVkvxbM2+^qLraSXM)+On$g?5S|Z)Ek58t!cBEHB1wpt!EUGxcxNd!#zL?(WhP{X0%hBCO@$9ZLDA@9YkD0X76N#+~8%x-)m4}n*BgJ1? zF?@5UukV9#Y(;Pc$JL$5)X5rONJaA>ugN1kPvELDacSOMo+_2t`s|^kCvTq2xa<2_ zCZeJ&qPU{1En=ynrRh)kzG9NKZcHddeMRV_v7})Ij{0FMu08Dy8KG$8AmytnF(}!S zid_s|DNmv}Y47~p_@lc@-~6YsI8hFnd$}e1o=t3GUJc&R-9&C&LpfDvkM>?TiE|AQ z!%%xg-Sje4YWJK||02kFOo{GXOX_Rgi=P^lDbpO;j^d4RW@`9aoMK(o?lP?CjJL$g zj;wcOEA#CGm*TCs0!o68oT)ndPC-z#!0{MTU2E%6ju_O39ww6EOrDbvt;c>v)JfSr z_i*y!RJOZP?054)!?WzA{CA|82Y1{z3^h()w7|o1sQdGh9zwOPo1u43ZRJ<6XL+9L zmf7!YpKHau5Sfx-vmkJ_PT^&pz-S5T&5-89mo2^zLWKvGTO=Yk-0+g7*iir687cW- zaiwl&j}V&Ha|Ipri)>Sjck_gzrf!mYd9V??g*CE&n5#$AR2{-^)b;TMENk%EQ_bp~ z+RI(~Kvk?ZwJPbU;z4RE*4o_)WJCotI?H)UFR!nMEX0~+wLTt18BhjD^#t*}@LNUo z7Hm9y+h3Qar5bf^u-4%`33(TLMY-N~j^)N&;ag0)m+^=_TkCij#mVPi5$1Dj>`Rw= zJ~7Yd_U1$)siVVq5aXPQC+R2T3ta0=sqprO?Uy^mk6s@~89!9MQ8MA2dkGunFDA4T z<=AxceM)GfTAucO!!PrPUtN63k`T z6<|}n5BYPL?`y98>Q8?w8o6{ocHI(|Rf0u)8bslIrbtVqXe|sb_nlPeiC`bt@q+_J-~ZzpY{t zwcMc>GFB*8^`t@}e`xWY6#o zBF|xsvxGNgIxCLarW+0!nN(YQiFe4*DlgSmJPsIrv^g5fJOX)g`!jNzgwNFIJm{`hW^LF0Qk5#voYS zhuEb!^36kGc?ZXgol0+>o9@DxC#bw~pRS1yqa8pY4GOT9{wu6UYoy;b-w+>;CvW4c zL)2N^dPA&EB}rk;!`J_SHevqFmeHC}uxWu_64u`Y_K9&z!TZ-qVFIG(Kk-+{UKLEc zV)wEjHD`r$r>=};@^X&KrLCgPqp6#6aQl2K%TnJL8fGiomHtdX%w?&-dj8#2)m*J! z&*-h$kpt6lVdJ^A!z}pVvD{jr11JhpvR3C&)k3Qr0T~r9*|IZ&B8BDm^hGyL zZNFRZX<${X?U?Cn2)EdZ9QBw#c0!QHVdkkwaYVcBP6-wUL+5Mu6~_;$ZSLXVm&-T@$21$t#k=Ar2x7>MF9Av4p zbT2;?Yd&Lmd}#kQ>PL1bSds6y4|s}UU28N1=ZJQ|x(q-Ch{1la8<2oKU@ssAWPlv( z0~CM~Py<##184yqpa%?q5gY|ffElm=HXsdn06RDc4gn6p3Ag|^I1G*eVZaMy03YB7 z0zeQ50TCb%jsa012E>5`kOarU2_OYzfi^e?iePXl~U$|e(bCHi?z{6^$cQ$qN|Iy&3w z@8OR^RhZPC$lo(FK;ZTZUs9KJ&}jJI8AyjjGZ62FhFmv!gv&@R28cKk&)$ za2;!697;pYDKJUO7vrviGVO_jr<};7!lJ_au32tyd-5UUAaREFCGih8;3E zb%1%?}sqhZwQ!4Z~zsL%eOyEJC!+k8}Ol^(r39rsX8LSbi3~c)E`G6z8e<&vcfS zCl`h(w^{Jhy7+DkjW?GG-lTg`v(3CstdggewpHd#-rI;KvAlNy^JphFYZHaL7d$12E4y=DlV^4>481*?a*Xr!+YO(-9L=W9eLeJs4VWTV zzY4}7)+iZyCyE?) zkA($RkU5W7wr|>-Wn7ANo|{W6$&+}mMty_se3WPGLmwkcs|oY&=#&k~0hqwt=S_@K zRP4TP89cfcP%x;sI=iiWZ&1;meCB9~uHm%hLwaomqJzZ;eC$8U7oqPshXuH|-p=T|5%9y2kz3ViIL-qZgujY3}$?`XD(6wfoT1QKDt`qn8UdH=oqtd zXMMoHr;DF8wUN`qeL1M%x;Tkm>X&v~jBH~*a)$W$Z*}3b&9-^m!!|wTp)mZc*IW!d z_5SSI?|*Ve+v{%UW|i{^%yZ|zf2e+|NK9BY_WLI%VFlUMzr`;IG3y`kiy!fe|7QH+ zm*?jsJDt3>hU6&v-f|LY(_>UpUD;HIg$jV&4kgw2OFk(~g^!hsQPJp|pCgn^`PZ6sx&jVaUUgql{e6 zGYV|uB#mhDew0fqVLcAzt+*-5f&}?`S8D4uhsG(lE2$yFlf*A}w8&i<=s7)1C8iU! zt%uwFh~vd=>F14-H|C3cJM+{IwZ6`Je7_OlqdH^CtG>ZATgBP=q_TT?k=Q_yvbIva z#-+@-a{!;oH0F|dh1Km}4=uHPJY&F(?N|^OFjyTT zv%LQ-FDmjK=Pu!f`P6m2wCQ^2`dfDwNlJPjd!KEaJEk^&IR1h!&6wonr?`j@&etr? zE1%>iasT4fh|U`hT`|NkG$q@3lMBzuNwPr_wXRHi^pobxJB+g@K3^l>`-Ozpfy*ea z7^}Fd-04Z20{Q8S5~{oxZByC!Q!W7mkH+!tOQG81tF}0a%nkWXW9)WHj@1R2wHV_b zY)EkyqvUe8&B}TC0J%Qa0qalLb)aJp@bbrYjCBsv z*e*`O1Io0XjbVe6;}cFWVO1jDfkz~yxr7|*4w+bQsBS9ZDE*u(Ira%@N4N0!_TE)t z2~{yzHud|8Ag^G>hN+izRPdOwMOr#Z_HhT#J8G0^Bs;~j28>Ybs7J-jUveTtMJo66 z9x%ixv%&T$M*lmuPx<#Bp-9e4J>smVZX&Z!%}z!+q+7?no-X=n?b0vRaFt=u$w?S_ z*86?id*xq^JpY{MCqy=&NkaAfU)Eaxy4~NeWd3O-@;}ZEBCPu+T<_mq)%=etBN28J zAXKyeXYa=WLD+?cu&(RxS@1ut1}Dsk{IgfxgjYF2<~*T>0HLCQq7noScl5jBFnT4b?shY6>zkDh4WQ zS~_}qdUDGBj0|*)G<5WIU;80GO0;Vi@h;-M#Ke2)_L1$Q`;U*WuMpIG5I^$o_UtA7 zF8}U-I{#(|{45auEfRrUfUqyfZUD9X5qrR1KnlnJIoJm%041OT)PM%i0y;ns7yuz2 z$_SVMA@7I<&IbT1U<2&nAUFg#04LxAgg<*2&OG13?N)z4$ksG0h|P5P{0ki0}tQ{ya3@kXgK?Ty!?W~qT-U$vYOhu`i92WZ{D_d zbar+3eCX{P8=sh*n*KO5`*~@3WpxezW&LX(f}CgvVkb2bH9{T%`)_@=And>OWBl}E z{Pbh|^ke+=A8$YTr;MMjed|XNdhWu6uYRr~_UloM74(e>eSK%>3!A~OPB0R%|5m|@ z99{y`px^HMKjM!+;*bB$_~WKFdYh_a)Vh+-qQF5 zWWWL!ZdZgR`#@CoC_hFqpQGxwE=O1R3hndVSy5rgJ@Y5WjW3K77sV&XGhmgbQp~Q{KN~QZ zqF#*`PjGFXzRe}=SNHj~neV{fTo%(XIT$@^>)|6r-u3#bs5}sK(DRP=3O>9%0WSjGq zIG-iEnx7|n{5k%nkCRc>S43fJsLEZt#ZN+F`#iKu+H4DziaG=)1X7IDJ#0xnEGVk` zd7c|FZ*V=`%Q)c{;pv2{b5!C$=H#6&=d>ugOJ}O!;vkzzJ025C+uWa%_a%$@tl=ri z`;L3RoH&uzQXbgsx?Q!@roUQ@Th>d|d!B{2uVwbla<7O~%IXtyZ01f;;4DH#k9^U_ z#NkQXElvry%vuJ2Mc5{>;jeYA92$LX{=#QAeSJWA{>Ih&idI)#SgJ1P4PHHq-os@^ zKkejci_3mjb-k=7{_uSNP&bX!TtotjJxX<$)$`_L6LLX)VP8DT`}+8aFVZ8HGwSjA z`{gb1Y+WhdUEYT)@L{7{ybE5(`pCBQhR=A>ep=|M=PC}_?!~7EB@1Ke?--`wVo6U?ikoZf zS(lwGYz!1MzkM;5mHfu%Ju_=a)y|-EQ!k%0W_S^*kN@+Ek>B6%2|Ju02EUFl{1QK? z`itKGPy7$eKgmMe`R&j1Pr@(*_D2q=e~eIp3m5_jYyVsI2XvwRxS!h>`Qz>H;Dxpc zKL`JA``4j;PpH>MIF9`Z?Gx4k?gRgB``*yL$j|MwL->n$$G3yj{2ZF;PNwQu8wqh!iMSBuB`Tq2wz4d-1?$QQ&Ti@Wk3&N; z?EO+=el1Ko>bpEHhpYt$>Sho}OLE$Xw0Ilf78y6)aVy1v&W2W-DpCrOW&Br}zt#P6Wwo*`>#qhBEdVGGGo4nlqoMk5C^=f%ifBgB5pYv$%8psd0mPTv0{-Uo5;O zCdT`!#{renExMAujN_(aP>LuzfAH96vc8yu?)6V=&UVMqc#3XgK{skWE_g zrr)z(WbPYw)sOOp8pEMg)TqUJ_rvk52|fOca*ecV4n4wj7JohG2%6;z`L_f$J%^ z+k|LN^i5sLzG@lka8^X5LXqjj0H-HZPJfAyavMkAzJPziXwkNi!=GVhKfRZnhVz&( z1!Be&_Iv&|>hqBcfA7t|sgRFX!P(bKwWOua>JQOxf4E)4ry)C{9R0?; z_D!tep|`njMMB-gCyJAbNa~t-P6mpLw=ZX3syGP)zV-GahgHpAMohZ}F7EPB=eQf$ zQoFAfk;8Wnc8b~b5ebyP{up$|L?-kc#f9h1ZWsPEJb9 zAf`$$L0v-3fv`Qs!ykmp?<@y&;~H+Zu92&spYfuoTt@o!pn~`@!zZ?I!0yVY!clFz&N_deo5|PZ|d7I3FD{z z51H3F8~f4*!)_Or2k@ZML)(>AF5J$r*D@tR*R0~+m#ByRW`MUFgIjD|TNjvz0iNA= z13W822oFKXz~ug?clDoEr2KOKc7U$!Um^a?{3pksZ^2mLHn;=s0$<<<{6PQ+1VJDe z+yfyX6cBQV?!!48M1V-}07QXk5Ca~9SP%!|!6QI;T_T*5z+;dMo`4jP3erG2$N*14 zCLp}#Ih?aVHpl_F;01UI@<2W)0EM6k6oV2_3d#WC8WnJ^1XTb7UV&;*18PAXs0R(8 z5xfR(z+2D+-hpP&0$Ra)K)7x@oI5}#=mOoK2Ydj%pbzwe0Wb)Lz%UpAgx8P3c^piD zNiYSb!ACFyX2Bfz1m?j4AiNF>XB_wpmcTMt0jppQ;K3KL4mQ9hAiQoH&R+py59F`? z7{8s6Qar7stfH!R=D$0B+q#fCAge@@oI`XTSGXy)vJkZ=NOI$p5_tz@gs={6d1vAc z{CN^|_}s~Z&f?WWs2Dv{YU2;}qHcP#{vwy$QX@{ZFkaS;?p`@wxOJ{wJ-~!T-CkDz zE#l?D@k)e?8(V?7dr!hll~m{981=%k(Bq4Oc4h;*-ukz0eeoZ^WlRzxqbTTWM%q_^ zbi2V5vp>EjbT8L?616x+YHv)^4V*hhnsf&94E1E8RjW8u zls$UgV<4d^>>+s&;**oQQP}O3N)>~P>19zt6}%h!GD94_SY&z(N*5J&OfWYl)wnx1 znJ^t1u=^mBaic|9SS903?-L(kbF5tw_h>1{6;Wb6i-d*|DNB+#cf5+GVQ6(rBG%94 z{6Fm72|U#6{y6Ya$(|Hhqq0>(c3CTXl2Bxw%D!g{8Kw={LkJ;TNRmAfm7TILWj90! zGuFv6{+~Iw?m4G>?(cujJ@@syuXBIR>-Fw?PIJD`$2jwSp6~bhJj;xM=-KVuCAVFt zrSFXU?FwVd5x%kil?4+oebw+wzNY8rOAhnKT3+G0NR_KFW7v6iyG$ZOM_SyJ!VbCi zWb?CiwzN(UEC(MJV|C;0$49u(!XgyHsuylAGEW*Vo+Y*AV=7#ew0~%P_stDDmj@&| znVdONfr!ly#NNbj?GN|=(e~#@{UiCGtAA1gYjGO=%U5-4w}+dkXO7D0O6)vC&O9ng zQlR7%9arrh>W#@Y*wow*Myyn-&6n&05w zR~Rf+L3XM4y7Vc&z_PA6`^yzKSw~%p2aiP$-av??3)n9tzk`R(-d zY~F{=+GoZL-N-pFa4l$^qqZblw;7-(F&1638ViTLR>qjFQj$342-EO1epsoorMFWS z&Lm@S2t+)Mb9>?>W9!J0`XJwzNp!)MV!>q>Vet}vttvx|pB@pIOn>+~JvBmFyG;p! zhTGa-?}hoT{*c)Euid{A_w}@cy|ez=9HJ}m?k}?-`=HL!0pDgd{cVoX&wGb*!CS;k z$>z* z`2N>jKdpbYqYBJRfVT{Y?|(i2``^K7c#D{C_%;{o*JDlp*-ZDp?L_wd?~C}mGWr+G z`Zg2q`!b0?pYcB}^VefxMgDyL;ip|lO&}iJTK=y5OBmdHD!})Z_!9l|@kxlYCXwLx z#!rCwJHEyj`!~cVe&;X#f%uOhK0UPe#FzNLAwKaL_Y(NMpT7*^n|#fG{cq3z`mz7d zx4hb4e*d5KMh@EYQ^z?KU%uW%JmLw%>s4^WR^xkDHol0h?j`#igCiLZxy^Ew@}_); zUV9SE^p3=l5xf`Y)@cmZZ{U4zBIlQr2&9k;I{j z|F>uN{&M|Q$cg?X`j03Plt0EV{&$RDTn(y2m+UCQF4UIDF?Pu@o__H_`_8Chx5&gz zA7#x&9|fmiy<+P@5&SLhjNbkR?0ol!@c=U`vz~jRX4g+8^)Kz^6U2yzWDKHQ@H%cz zruMRpd)4jQPd=G0Ml{@1_PDINDAV(#r}@(Uplsd3!`CsJu_ecBnU(U4zOW=avFG*QC1Vs-icN2+VltIs)6XFwDoU%HSuvH7nvqkDqKiP#|vFdwq*K zdnrTYNRZ}j6N(P`f^zB6p};0w#$>`$JQU*yz6zfl{eUFG8_>>((^M^?blBGg~uv)4{lqE6@2Z5(^@V1de3 zs?rBOUNmk0{3fCSU5{*xaTvliD2)E#PObWG_|(f zMAT-cJTj7qI9R!S7>O6)7^5uG97lU@e)w1RZ`S^c?7cQh$5k+cMh ztfjp<$lYD2N*5<7z@KLL^4N8Gx!7xOjjueW{V*YI=+HWI*FO@UzQ*6QCPZjn9Xo1E z`@~9aA5J&P^HI@2fx+OL09%h7hH8zro-52ItjupF82que!(q4Nq|sJJ9=3G^PJhLY z6ZQ(ou5!`nIJdi7B_pnu*J6ZxnPqNWKgNutCs0_)?ZWc++*zb$GxA7bHP)t)Qhh2~ zU|DJrXw8`*aq6wsZC=tS_buf0xgsL9j320uThsf8-=Mj3X>4rwfs40tG1Hrf05th*O1m88I#rh#&Y?o1E@)lnq1k{+ z1S(#A9|OOA)urnQA=%@{csWjQgcLSZa9GRn#9+iavjmcC(OK^&StR-%weRxKJttBd z!+!DP6Q3&y+pmy%%mvxW?Z$Il@RrcUhhs7=`o@(Gdz?4nyEA`0nwK%&m_o--TVwWo*gY z_)(5~napR#(pn};x^}v;{7<>t2BI71^y~-I7 zUm)j#S=KZEgHtE;6mCRaJU1GSG{F16iQ}ya`%pEqQp2yJ)Nw>?ZfE0!*0X|VzKfGQ zRkyAbcccZeJ>g`H6`yTr_IR!2W;yht{+Zk4q!?4Ly7J4e9+$e2#m6{VBUugWW|#4x zE@|+=WCrkG7CB0U*1I2?6G%C z_ozEwS)%*Ch1z*%&h;xkCOgR2r>BxQJVIOau(CORQ5Y(QxDjm$I^()%R*K%bE4^vg z)5g4~8u3CHNmturN0#{dG!A$2iHheBDeW^kw}p)(mn=~PS>=lNm&%Ins%hF4rTUVy z@o87@HRrhuuM30(e^w{XH!lX;TzGB0BnJnU%f6smlF%cAi3eau&Pe4=M5Qp=_iT6N zMfshR-PxQTk!r86RB{PhCND4NmcXzxG3?3)Sz*gMb=W2%@QFMlzNKpBQT6t+N0Add zV!}5OZZD@Nu7B=0h7nTQ8x@*L>zOH) zk685NpQIksx8ZP%Y(pOo#msy>PHto=qopL7?o0w>K(>IbU>hI>+W{FM2NZx3PyuQ{ z96z!HjUyTEQh4;a86zzCQCGhhL%fDP;g?0^I81N*@NzzMhjH{b!hfEeo# z91jCNa0KuJ0U!vD0wEv_M1Uv|1L8meNP=TP3P=MPAPeMxJU9+c0Ad^kI4S}qpbS)i zDo_KbfI2u0G{7043C;p7pbd1uIdC560zGg65X&}zqaiQ?#=rz1!9{QhTn47V444B8 zUAt3wJx-TwcD>wo+s&808`j^MT?2ss4U!8=j~Yq{YHTdcL0 zX5&)+hc}mfgf|i4uJW~&hdAgW(B(~S1gnK4{2|NrTNNCTCGZ;B*nSvqQ8B)WxEYPE zmxjKK4RVJC?H69DO$0h?em#6+`W46gnM<&BIJ_^Q5~^-jVLLzM(ev4HeRo%| ze7@za^PVJg*Py`uPAz1&5j067avY<`NcmgN$d%Y@^6%K87lf26HoXXYcqc+l;J#_+ zow~(b|4%8E_e7FbCf6&u&~8{(TmNUU&%!2x5W@*qDse>xhriER{FeWh`EmXIn1A-a zJAUyCq4Ip?CG;0@M=ErWdgaEUh|0sZOUPwLxDqX}B^$0~a3#j_Ey%HKB2Y1SO+?={{HY4Kh`#%)m!HvV)fF%~r_Ev8CL+R%b`#;a ziI{Ze@0lw34A(r*yAj9LN%u`ey0Dg#hm08Eiy*f09mj+wIl8iGopvE$1dTl>Scx4a zU^vzskrY}=Uhn5t0#I;OrSwy5BDj`02t)8Q5;GUyR$(TNogn7(|LFcdFMeEqKd!(3 z-Ro~dCpVEGWh11H(^GACKPyQ3yT|Qm%yJSqc%j3p#%^$1Vk^32j9B6IWDOs;aXSVgm1NJUl z6#f>KF56?_FX;r!#ix2B+r4h(&e-UsTf~){^F8VgGq}1mU%INZCN|Y(L!j7pa@p#4r-nW|wj}?xQ(}Z_HYb{^GuqlCfDvloOvVGtFB3qor z?y^PI^Do{iB}Mc)itj3P;p+cq8HZnv8vCE;|GRJhYux`*e>ZJ(RYaS7fBnGyS=+V`4@d!I_YMV{V?H745 zvt7aOQoNrq*F~s2C#-7>@ZoD}Fx#ZlZSU^09j+P*r~Po;>R$2UZbQ`BTpCSFdWsjl z&*|+q$333Y=yc4TDd!*Y5EP7dD~%QH7frFCIqDdXf4{}s$%NX~AUjEjihGVP@k*ajwIEM$%-m$qD7-<|(;%ufX4VBr`cb%1MA}q1|7%pP&4a<#+ zHk8E3fbhp~Q;Xt4SKafzm(DhFy{@*(6qY);H!IGura{yz+csX1!oy$?(~FVLnMDj$?{Uu_eqUIe=UZ4rBUH{Q-Ev=U z)?+ep36p_&&7Z-6SCl!FAQ=hIf4hd3kQE{qQR`u1LBqJ`k==!EVPOWjcQ|`=v|xWd ze?dm$3pzTx-tS({V_Z$vAteagJLoFFqUk_ca)aRCL*t-xMPO#EROU+bV1*<=ntP= zn~rt!a?Ll%bY!!kUMmZAKR<@Hl69V_+U0R|RHb#cP>o6YgONdbX0_y%Gm{jO=44Z( zmNsZ6p6-ifek*T$_B;=q-B>!-wb-%Nlo6~vpOiEwd{Eo##;sF_8{gi~=1B`Ew_Lln zu7Pci%6;=}64{$GV$ZAFuHGx&=IZ)M(2dlo>@H_`V{owjl&xdUCd}WfmZhqxINZuV z+Cfv36!^r>E@9^W#2JeK0d-V=etGNle$%&XEaPrrftv{IT}^kn)L~euU{KwS+0Q-Z zbc5?r?+005UUOk+y=9G(g|$Z(9PJr&>k8xOe|ozmmKxO}<4AdwttJrH{4SY}~T zP=}SC?us}&1Gc8t_*GU5*W#n;N>(3UD{*$AD6u~KGxof7agMiU z9{QgOF^iT?dM0v8;uL*DP$|QS!==4yY&~~BtQ$pYmbW|Pl=F^Q35edmbhD;IgR@@s z+>`x2=;3X?Edwn~*#=2g~HVCEFE)Gf9s$ z(>}THk@9{k5&f*iYM%U2Ky|n()iLR)R~NnLF09D!VVNi27ypKxK7vVrw=7iT5i0vg zyJw`h#3q7u{jJpQ=7U>PaA7l*xZTHb@_~hX9*b3OmKZ};zCB(R@}IUT3dB}8=$m*P zmm#)3MJa^dp`Bua0oPP+$BGV#JF>St>R08D=Tu^>Z9E`nM?synZ-DR`Qz|_dM3Xf* zFff2uc~iou=OVh$xawe_#+-7wdTvUioR{z+H~k359+N(;P=X*iURV14tP-aAg#+7Z zUa#w4hI*RA$68kI!#vv=s^v(0mg86BG#?S`So`jN_b60ZGz7}$lgVJ zphBySAfWkBzxTr=ff+kfl%8HKakYEeVqB8vPF_IU>HFI0_k&GyOyZXVaqKZ8vU;i= zg)@vA&&oyKiRwn1lSJt9bBT$`#8!>QCdvKZonv;t+XxrXqXpC^An zy@@E(M`O!mpaWWgv~B|jX`CYBRrE3z)p)7LKeuJuOUTZdM1Rt1)Qjz`2htsDG zI==mUq(5B~%e`~pR#kMEwRQG|`kf6jCBf6Ie00yr>+d9_QLD9_Fp=LxP!-f}A{LJt zp@(3S3r;M?2}fmIZrGJLKIm2vZeF%a|M;7cPDBom&iKB=!w*KS7PEa1DNW5fV}urM zY7RR&Sr3_aJldE+bH41}L|DxQ>=`64dg)*7oU^jLBisE-gFT6PBEJEZ$C>u~+Z5Xm zGQFNU!6`O9$O@Ym7vXar;(ey|y16@MQSzC{cYE?k%iU>2-F35AIk=A_jyy%|b%~51 zMLkEEXXSNLtkFr`csC;DR=KJ+P$uj%H!+bEFSDRMEhp2BQgXL<%T~9|8Zg}QOw-eJ zTgy(aT@0}lMt5o1Z?zX*aa0<2(y6YcjV&f{RQbHrw8_V};db=AhR2|F6@iQ_<3~|h zHpSvJ!Uj~5d-z7F?HK4!pLV*b=6r(k!^HN;>LHeL!fQTitatilMR|ev)fo3d%ih_29W(9fVL~Np<3~>y zkB?0plZne5+?ViKDbm2&;;qJVxPxmp@`!q2Zfr?Y?aUM9+2>sDso?<_Q?sZ|M8@j+ zjA;)_WldpS4LelpQ7*!h>guWr zzf%;Ndu{3RqawOaHBi3_BHzx=Kt<)ppVTJVKYbVH*z_{w_&NC0v zZLQo!@(MFcUj#JHX%r4A%*@SX&wW{qA*?<@GUIP)m0%NdxZEQ-a|-UhE+u2Y4Sioo zmn?FWBRE&IER&}v!y_#?`;g+8=|=B6t%Mb+kFg^Uj2{w+nUBal%xCIJem#fvf1V5V z%iRgT)!)oN>hHf~{^OT>;W#6{?HT#=d~RZ|H*s$7Z_jo9^<3ib%ldW~@csN`Vwp%{ znP2B`|N6W4`^x;SIoTKg#WKGy>o}A{oKK5j$&VuLwfXCx@7pSXKaY+5{`0BAsl@S+ zzxVuq_Io0hV@fRNH-At6_;Y+K=eItO8L^zN^Vxs-d2T>o@J(45)YviM8l<`Ts=|_zrvni^<)U)t){WD z_44xMD)8XXF{ovVKU2)dP-ag<878+X3A6f{lpP z!2-L0@j=p5aUDk`ux=4h;|08awb?n0KLMAKUDCVK&ZG za)M2rIhdiZ=*|((i!O<_6UGvlGnFavoEiOw7vj0Y`8A4s%Y9CklD@GIwx>Q`&(yr# z=0SyE`LZ%iBb7rl*?#SM*Gr+#afm4>W-w$ zT5R8k6Re_njV5Z{O2X?kBz>$-NO_46G2S*k6|;`eyZN4PUQJ%DIPMc)UMc9{jf>O7 zYlsQXFp1H`x%bVCs$P0QXewGT4LLy>IB0V6x+;Q=x|OWdrx95wSWO#H!Eeu4(-Yy@ zUBP|+l%p4Y$U|5nu_D6A4qSvM>Wkp*8*}2+yLhYrNsVFX& z7>Y)8Hc!s z%X)ag!pb2%^jy*1>}=;9Qa!NXCbnW74G#nSEgNfLkWzna&{IdtHZ&=5bpaoUQ8f>U zYE450yRH?IKo9LdZ_~crKb`vz-9L%_oAQr4p*n%;=y&Bm9iZ;H_%;71{%?v;_XpzN zhWLeF<4gRT;_vzc@#7)>#@F>fB>zqEcmIL-xe&kNYy988jq~PD`#1mS|M;)z|5!8e zR{nH)_zb=!2lYCe(2ArJ%?(~9gg98dY|nWrh$$$F7!>nEbDmcB4dBulXO7cjqbq#+ z*_p3JMh6yy*R9~}Ob)6RNwbzdoEa)ZlC)yWL0}9Em6#(8#rVwhmESLTU@Gta^x)Rc zoJwoKT?QyI+|#Vb995mLyz0!FI1vuIq@;r%3+BNQ1#`8>wy^ zBDL)7Z8C& zeF+b60tsoxSymHP{Ri!R4P+-iHc+cElwjtHL| zL2=v4oh?~-|K*U*#WmW1=;g!%1(CY#uv^O!nu2$6WF#Of=#a5)!2JgcT3{);VpH62d zSC@(=>?D{TntdwLUS7Cvjf;&Mlj>t;+u3Z7Y1-PuYpwyO-DGa?uh3ox;klefT0CV{b0Y6CTz>UM=!&M!%C#1%U;Cd2B=p|(=E76S9RtgncP?r-)#gN-Jm*piizBwtX^c%a zT*>1KL{;&rj@~?~cl8*%gJ>j%C03ny)1OkB9$p)Pm*F$iAKwrl8sc9hCOzrW;Hq$gF8H#b#eLH zJKqNvHJqH-Ckn``ADu7GGF?&lSTQM z2hGbC(n&AYt@e|WAFmtWA7U7_#B3shdO7L3jcU(e{Ft6;J{9lKtjXQ8^Wjt-`O(Vf zL17t9di5Xb^Nt2-NMyu7S~k8oVX=RaV+WyAPNu7zBeNpIb#=!>w?5G|x20Rv#VqIB zqt!mJ9kfr^mq?1?+8u7leh5E@3G#CE@4kwrv*Q=DzZ7INpk@`W-((Z9b49+QYRfB9 zMV$o^GgPYB7#~ivM$OCVs+gx-n-hxyA5-g`VsooNnT%T% zuZEqN@A&Bc0@>4ls#+x`THAirb11FM%4=wb8COzUxr3u>wCb{L{oKWu5x91t{l$S? zA;Eart9;V-1kM}h#fEx0_44xZ0i?NiX41MuTME?Ej@QV1xa6__YNVwe^VMUuWFsa# zn+WE0>;0@nAL0==?x)JIS5|3lBHj$(95#mfXv$dKJ?Sjjldh(pNQ)Ft6nKzvNU1PM zonN##Zl!1Jnnl*yar`*HCgw#Q#$!0XYPqK+{k?GCu6JzY^)({n#Z*EKtY?JIbX16< z&f(-@wkFu&UCsv8-1YF8qJ75Is5Nq@;OXq^^;(^N$(B&}i^RyG-ozt#vD@LN+}#s0X3>YkxOr4`>t5u*e; z6+d-pzEqp3FmFn(2#lS*onQFXTj3vf5582X_1V{Hzs{Sjws)+4+HUNq!-*Qy6**!2 zTLw;}n8WH@KdQWz)f{--TUjg5Y+~(xRwMTePK{YtJD|R9ttdX7rz^D4WA$k8y-54w z?jZHWq2$dE#C=7PUsvt=R)6E*e)dQH@W=k$|C{@F|9$^OjWwg8g|r zlb}s5qvk{})Gw8CL~9sv&6`*=`}yJnpu<4vYllH@%5tm0h1E(&4Qtay))^Oci}Lz( zHQLUR-XpaNCbU_`zlnR-9rCo_X4N?A~ zPmgF{%bsZ|#cM1ERa`498ux;nxLT-%vL#lt?H+7x3hr+AX&;ovkp-1Aa@zFzCi$9S z34Rs)iHCxPCs#On-LJ;%$W%UCo|jT~rHLicpQ$QnG%0j{xLKI7$AHf?fBC*pq1PWi zsir}b^l>y8ZU}dGZw$i+OI28)j%;aY;Y!MS>e}NHB{r}zggt|q#>52i%dw*__V@=( zsBcJA$Av`Y)Z@7FH60z~p8v%7pUqTEw^5rBwrr%uq+%t&4ZR=qX zmD}Ex>oD43xnt{>*1kID;8K#22s3A|!!JD{yOzYv7+YDqeKMchG5Q~R!PS?oBkssyA<-JXCiYWS#EzO!Xt5vq=T*o`V?Uaq$&lJqWprWF?#6vCITP#X}R^Y zo7Xk(uvW*Scbf=V)`cgu95y9aO(?r3ZjNB$q}7=BY97A2#DJ|^7Zt45TxAjXTOZWf z9v@i`80V>6Ui=)#{q}CtZqDRTxf6TkW_A?vKa*OV$%C6)%fH{h=KrYw{*w8(zi|Ki z29s@o1e>(!wAylje8o@#YB#0@dO~*|S%;m4$O0S=`2D=IkiI;&je`#T$@&E>e*jr- zoG8gE^Vie#)(lZd9L)ZclQW!TXYCPVwHG;$Eo8aeXDHEN@8#*@!lrlsbHiBXzr5uDqI1UZRe+2!HlGRx9C+%ysH3R3s+0Se;SE>IBW@=sfITY4(r_{_-3W zXBX|l_=SblE9R!O%F_I4!=6_4(5{IL=!QR4ouR9pXI3lMuzfc#F9$DM*FD%<>3xE+ zjKX25Xmj(M`%XBPt2A`3EIp)clP^@;SYH3MrkFJ3*jx#lvVH%Xg#>`#9efb9SsFcm z>*Rh&+gc!#f$v**>V?^!?sjQ7!2v@tcqp|nJiK#0W3Lj54_1An!!Z*4;&azlIH1ly zCk9*OCdzk;8uraSz}rv7JhctHQX{r_*E z|M~9M{`aGZqX?m&9`FCPKghqXf79>>;(vhn$zS6O{rUI^M~EHz2jXKPzQ))1!hb$K z3307@t3MEbJLG-SzsBz!`9ItLvOym`e*Wsl2tu#k06n9Q5pO5(O^cfdwachySm8TR zvbLmgL1jVX_Y}sNOf9bZn!AR0G(}yOtn~=nvkv##))@OU!qq?Do;5uKHNBrqfTXdXc^y5)py*_6@=UCxzX}l81Wgy%bz8={jXbn`{Al7?1^XRa(C(~K zS0o?qn5#`HLTGKPgTG%Lz_=N+Dc zXNrBJRJMrsgQ;V~oeL-wZmDH;h)zSWQD@>N=X_%7y-!}PWG{LNt%(BYAQp>o+41P& z$SJJ#E~~q>1|vB`8f!W>L5J+V9MBvHi*cY|h#>V`BXm^mbmQ2LuhPes1iNz3eYv(2 z8j`GNPiGl!GSLw2c|eVVu554K#I_m!e!ZP?()iD(3ut^!2xmldt;tB=+(fubOL?6; zin7HeWby1ZQ&giqWpKQ7-x&Muyoa(uh5$c9)%LUgr|4X3VL) zMAjI6OVUn}V^Cz{JAoIV$|OkWA7HnOQKIxD6P7egjHH64UZcwJ?W3z7Ro?*{H zCm0?79(8C;wD30l*2k05{+Pyx<@>1P%i}a0KuJ0U!vD0wEv_M1Uv|1L8meNP=U4 z7*iUKGC&r{0eNs7oB$_*0#F1>KpCh2RiFk=0d;U1Xn-?76PyKFKpW_QbKpE6#?yo2 z1)vWMfFUpf#=rz1!9{QhTn47V444B8UpqmNdkKtd-Kpt`(R7V4Hw4t4FjRUJd8u(#^*ff{xMS;oMVZBREqf1i)Psbt!4 zfc(Z1;iK1l7GvIGM;4=5Vcw8!QlVol8QyfbEMebU)cGux%uf=n{nmjY>^Y8y>0?Lv z)}FQ29eeLV+S8t6!%>)2on7hgUU8`Cg%@e3j9`}Ss#|%q)@(7A7yZ@OC4#(-7F^;k zWxVO0J?nyV924@`2+aqxEs=~!WNG)^brcR~oKfwxW+JO}w&Fn4$%Mvj zbkrPL^EyMzH}JQ3Bs`)=o{^6q3^S>$I{%JUR8PjPYp|G5B3s-snj6M}3G-k4vZQVq zidoalk33miKb!u@)K+SkCGVl5V7%H%K?X zy^v2jh)TgDut%M~L|E|-c}UaD@li?ReltCKIr;VDy1MLK4}_n#Dhip=YL>RAYKE~( z--$@v7fvyyOYTo-P-~E@>>1>htjJyck}!9>(%LbQ{a{I_uhhg19E;qKYD*+l!JvCBN4JM0d#IcZe`>ig5TVq!7GShOc!q$ed zo_2y&nf<8jxXlr5cTcdxGkVpB) zam3$`A3g~uoBz`ii02bWew#yC|7-*@aUQY-v4np*lKEQ+-^Z4LlPrm6{^nS0XNc+o z(d~bV{{1*?ML3Q4T=aX+{q~dpRvFgBGJf+X|8@LtW&GA>u=$;3e1Gn7IM0@N?r)6U zM#8>kzx@2aHQSDOz8&%W-~9c#{JsC>#9yTS-i1*9v472f$Nn`NjM4Mvcdt*-w-mqI zSU79cuNZmMT1zwe;$guem=GqL3iIe{5Lb{4mDb4ZD8|bCJe*vX``)Fl@|YmojL9Cx z{5pH)E$RV#=$*r}_U*BwUTofREO#%V7y2M8*iAkauRhAodMlQ#>R33rxWPU(#h3Y! zH1+)?GwB`es~f{ofeV7YDVrR+hdWevUt_ejZhG`o87) zFDLkW_F8RiEB9X0N6FzW-A!$Cr(?ud^mGqpmG4<~t7+;r5JDIk-5GT}AoIW+*X&JW zf}5D(9&z;VP4ZuyE_JgvSurV!SUYp8s#l}-(aKKcorTv8QxhJl`pX`5G2z2Gj!c9u zI^N-6T#~22n+(-nMeiyXvrSWxUrv9S)h@8#&x0b$++2|A2NI@gtwZFcrGN8X?5qT3dKKlT1l3L8RL3E?ddi;rL&!f+~Y z#MybU&5y)nS@1%BS3;N@^Hg+|Nur{n?qwrRY|~R%{!m$A8-Pb**Q%1pWp-!a^{UcS zJC3Z^(z;x+h_mLp8llGJ?A+Y^wt5YB9q}}K<_fw6x|Zkijde(Lr{@{6N{$&~BxRG%)PN^*C}`pbst zrKd>3ZurYv*TM*-4FplG<7DeREGrw^mpIm`BG)0z?J5)4lxz^bOgEg-A@pZSV3iO* zSj+RoOBGnzWenCqlOH+SQ~60E6SfUAN*Yz7N1)$a%0;(2!ibDlrSi35_|sx@t29&c zct&14?7?YaYqGCPj5NTZh_5M1TXpxDS(4?3l)!_;E$4r^UYIIWx{}12_cv?qZ>{dP z=cm{o_3wYA|NH-P|L1{-@#7QYqC-XMQ2lB;(K|=|t@@S!x%x$A-^(quQD1r43*h%M^_{zM$H$!@V?7F8|8w2~fzV$Pina(w(*QT!d zhgRAO`X}w+Y=gmaZrRUyI~SL_+PjBNmzE|DR*!D*U?fK^{EnWXl4QGiY#(MN6vi-< z<0+98N-j>1ZACot2W@j$1b0ljv!o6x>{6aP!2jad;az5Squbb)#m10~GBl$}v?zVt zN+4?gh!x7ob`(iblT2!?-P^X)ZP5Z!IFf7}sr`GgEEL5gTo0sdA!d2ZLu{_(`p{QXe^F`@*(lv;ImB z!G(^utMMZ(HG63>b+>0wY9k@4Q!MAJWG?mc2C9xJAL4RW9u}6$zkB|=%(cre9EtzW zjRfE1`Vm<1$A)c1cJhz;QV1bYlX+Vl&C=H1@&>(QEGuXo_Es+1lr=?u+;Zg)Dhluwt;l@E+Or>4cm z@jZ?^BVlRGmCjl)iVjQ^>ZuDWy0KB3W!mES#VfLB+9+wAM+(+bCKD6e)nmI+ledR?sTn{Wq~Ephgd^gc|*w`rm8xU!L$&jc%F?Ib#>?zgOvyJzm{m zgZx^jTiVL)?{cGuI$fGrr|W09Bi78?lo(Rp4@wgU5&zWx^_x!s-|FwBzsUMYyAbNX zx_=h=H{_qfpphd!BSF{X@0$O!7y2DZU=Ir7OZ3mjN8E*S!oly2F9q?dzpno%_UGf1 zFhT6#KM-FR;zvMxPkf30`S^$kC?^v9-p_9j@!P+~=lHSy<6n0D$ExZfRuuOLg{dH_pI>+z z#Ov?I^svOTNWDlc!(-dohOs7ArZKmR#^ItbU{Y%_H(mgM@sDrQL@+)lQwy)q}}*8%Ej?jtF5OMw(Uz8&+rrfCpL!#a>^=mlMmI!xO=%TO6U3w6*Atc;MZi6W9gjB zh_DsP>d**u1h5+KpZ2v0d_;V&(IND@brw?HHM}!u6}`<+XWha`*~$dHUPfHhls5oP?l?|9ulu4B+lBbhGudV zcJ4m)d~Lfg8kJ{Uezjd?x9Cnu>S-_g0^SL0@u&J1sMtB6yLu#y-lNdNRwKzEUYCkF z9LDq})9)1NO>a-@DBp50ZQeX2*jf0Q06p=txi;}8=cmi2=j&zDd<$diy>Rq{z4=D? z&zH@K0d{@oJ}W$Wys1cF8cPHox5WyrsIl^sGVs$!EcKl$VVJ$SHV(Ux$LxGZlYcY+`FY`E@2d|X_CDb#^uOi6 zSmP{^`j|VzcckKZm*dCQ+|j~-BV$&x#YUoAj>Ya}vkyoJt?k`GV+bQ0>xL*%M+vZ` z`E7sgid$;}-Bi>D-Axv zxAzbA)No+$+YT+VcA~KYnz+^{0G=9sJX`=Lf(4Q2);jxEH($Zh_l? zIKIFSj{e{d2mpZ~2n2%=5DLP;T@Vf;KqR;aqChl=0rx>Hhy(H90Z0JE7)fw^2$Dex zNCjyi9XtXVAQNPP#~>R#0Xg6)$OX?p9>@m;pb!*+Vo(B}gHrGUlmTMgmvF2AmEaY4 z4c>q%Pz`E8EvN(apaC?3Ch!)#1I?fXw1PI!4mv<5=mOoK2N2_ZfMYM{1N~qC41ysr z3`PJ3jDj)n5sZTg@Ci(UDKHH_gBdUj<^UGp05Q%292db7SOzNq559m^um;w_1|Wb< zfS`miJHPw&xB36yKR^C>e)!9-pYsp-7bUj0Ea!ASU7!s5Wfwh;V>zdduopjtrr`BQ z>0{pMHaGGsXt6VOkPdeYhc|MblE{8=_Y9|=GZ=hjlr8LI$42(LZTtk+-@I z>*92dh)O`tT-4=IeFILePh*PQT0CbN_T7}s71+p@x6ou*x5ITcXQWOhQbs7}`wgk# zL|;UW$7g@a&*B~kCW)SORy%KB=BzA#XEm`Dn`-b9{}L-*ZF!-%>&QCeqp9L+IWzrz z4i4$hi%J5x&%fSQp!oR%C-dBK)**&U8%HV>J3eICk<>QhY@{B}tuEY}J59B<&q5WW z^4!Ah;FEb$QU&K7$45m8`w3m*J_y`w_Q=6?4ou7LDHh$kaUU0Z+4h9dyv!DPIy&C3 zTph;${5JrJ0#abw!R!jSfeL#nJGY{dKx(BeFQv8G;o9> zTiYl7hJ7{SouMMWT7`ODXxm!^FG!|%2jXvGK2~esc##Jb_w~C`%fC3dwO)=FPt3sF zp1S~xQO>Kjd%@KHU1N_Wjo> zoWO&K?-M~TJ#kSV-}UFebCbz0*wsA0$8?Dck~^>-A~B=>%RJ6$s3`yc{eQLpq4xWC zSKstM>hCREw~=lq`>$EQW#eo9rlqh6@;5Di&)*!Xv}5R2lVmxd-Plk4;E-gkNC-}TxvtfR z0iUbZDv0779k7_t3*hRoY(vR%;Y{`f*PGsnNKZSrEuW;+sh;8EP*LS)+$cwokF+5oeLc{VH}>DRe%%Gns&5A##r z+B8>3UrW&NynJkQdY5{Pl-KbNQhASZe<${()>3Va%IYbj0Hui6wt_*VbGX1_!{J*p)O%@R9&dqvC_xyHX{wIteOGt8NE5HCZI$btJnd{y zZqRoo!Vb-SugN}P?AClSWAF{Xdq;8wwQ5ebIha%?4|$X|rL_|n+kv9PPMDDacM%~>Xa zoT`V80vB2i9hjibNZxieH+EKz%p>V6o(8+Siq4wlOi;Fmban5ZjO+`&1G(XB;t_d? zs(lGH6$Gh>3EpF3OBAJdsAJE@m{-GsbB}fPC?Bc(Klbhfn(B7%13pbEN@-9Cp+Q2F zDWVdRWN0vj3Yn5AQ-)m$WelNIlrb_SW04`l79n%yY#B0dif!!u?t3`rKIb{>dC$Gh zy`J-)_uPA}Pd`iiF2mpd`d_mon+Kf zPVB0D+C?;7t#!P%<4TUnveUu`#oIPWZu84vW7DCylPBNF&|{!Trh9us>ILlIc58NS z__}iMSc^s9oJ!b%h+`^QGT-!g|lYrDr&`q+VaJ0$#bV& z_2q>95;wDH%iP5z8EYB*%FZ3)s=*khQC~uoX+f*QRJiA>#Hp<2S&@+!&z)jCWyF`OD<^xz&{4F_|q0ws*J zLgUBZHszezRx!A`XA$3yHg$v`{xY1FK*aI zSac5$`)SGp;oaYiZF%$FN4s|jdr7l36#UZg{mn=JG(qCGV{E7xiTao!(HHyM84`ax zo>rLGFeZ=^8*2W#FXTa}6VJ~r-<)t+Ta1nUYp-A1zd8S*<7fZr?H|Tz4EB zT1*(WUpsQo$OXbxGtJ5W<$^9B_NV-R>w^C4 zEY54_v$6S`XF=*5S8A^f_5591ylwQC{+pfuG1u?k&Yu+f*T)}esq<6s1G*vpsqtSA z^gRgwGX5(52b6yWWncXr4N-R3 z?F zOq?E}%`s(m2)*nJk<;uzNL<`;En@p;#} z5lexL7v)?5A1>wgOUgZ~)3-&Ot$C{fjyPXMu}+w0OQX1($5Mih+wq&` z$;6rH8{Ez0n=4FgGw|DC)Ha#=;k=EtZwQ^=xWe#y!g%r2t8s@C0{vjq=Fa8yL8E<> z#jliho9k5i@bdSXA6t3a;I-eK9s5?$aPDSPxn1x%g0K!v1IeO;E-YhSIwX!;E|)ra z>xK4Cm^SZmasN`@x5Lh&Y0ze!ztFsv?#yn7#mpZxH?BRuI96cUyhuBiC6iU)wV`_~ zz(p;EB38z}^-&Q&%V4W?bbQqL?1wu`_X*uo;C#Pzri|{;>Yy+M1yNpOSC{E<%wlq{AsZS4>2FyLeT{rv~Je=~pR&-=%JZvXGv z&?(n`ruCYOdzxHi4W6B^>KaCng&zJ1J{o%&_PZN_jtQ#)Qvr+hx+8pVo+{cM`qXXmvi0u2wYdUVfBk^W` z>O2-$D!snCeV%A;anb*9ib^qIwKOLs_atT0=g5r|x2_|#`CIk12bo(xHS+g)sRxy9 z_WYn7bH%XOaR1B;_7#WQuTMI^=a*sJ@5dXHF)y_s$!u3Z+1=qE@O0kd(c*f~;PVvo z7p^xQE+ zOe}PEQ?o}N%?9<1HT8Lz<&G zBXX^#QukYJewMc34GIQ(u9_M#PEngDVA8p>O5;o8DbWl=40dLKu ze{_+YvrtK$-$IeW0!hlT4;_O;!E_>CUZ@<-30ga`t1;!SV zWgIK#mB^AOo1~T|oo{iBB(cY*v{#H?{-9N9)@E|F$!`u5;J)d?N(PUg$&A77Q&X5Q}B zNH;%?F8fWBG9zl%Y!N(lqUFgx4s81lm0GIpV2zGTRP(Eyq$?F<9x5ijDO_x8u-auw zi!s0@uoRZTa##U$uo9?ai>ndofdSUQT402AupXFT18js%uo;+P3v2}zU4-5QKdo1k`-{5f6X}h=Lf1g9ID|Nsxj=APq8b z7>>YEkcDF)2h@BDh{r(@PJj}e1Z6k{DxeB#pbn?u44j2?paGho1=^qk)V#WgdY}&% z;38ZC126<5xD3W%0;XUF=5Pfp;3`;x6<7l`uPx#=umgK=07r0w>);G7;0kU)fE%E8 zk&erHqwvkZXDk0)e{uTE+5gM+>s!oUd%D?bcJek!9Wi>QtK2Yb4t&|IpT*_b1x!m%*5dub6i;%;ygp!n?a6Io+i^hVHAO7L@)v3jjYhq8;( z-&VU?@=DLjda`eU;C&ye*@(vw`_NZZsw*4gYB|BtL$*r&&l#t z%0Wuiw51p4St-0pZ7wnk&s>B^j?uNzp=j>D zLx%;;3FB%*Ygms`x`f8lP|=$HRM93{EH-4%UDsj_34SlFx3$Qyl~S>WXfKcD?>}g+ zhK}#@Smf_6e(RTietB;u-nGE-N+g^-z{^P2y`3c`M~`SF-%hDLn7VioiZvjruB zE%Bvp+zW56=`*+K$O;zIzy3D1&RmS&fo7@t%j_J_7MG|+gY|EukA{>yu~|cNz4->= z%F0D<)U2mGVodZ*$nl6Xt%m)`p)OgcZ~;38B@~6{Z;(3v%-aS zb=yod^fpu6UL3A3uf9V^?9kUhU;gUmU@yxQP&;)rFQ1@k&Nc8 zDqaU>Ttr?JN3|~8(j305Oucv9qR0FnxD6iQ30`mq?t(Y?fG_xgKLo%%2!tRAhWii# zp+L?10P!J&!y|YMPapy!;VC?WD2Rp_h=n+ahv$$0iSPoFfSNZ2F%@1y8oYvZ$bd}9 zf^5iv*YE~%ArIa{J`_M96u~>7<}E=ig)$&QIlPAosDuwt1=UakAE6fNpdK2a5t^VG zK0ymmbGIS3LkDz17kq|pAVCj&fnMl?ei(qSFbG313?ncKV?fPIMx202_y*r$3Z{Vq zGcXHtFb@l`2tR<@d3h6?tKR~9Ab>Y`f&+xW19${4z!jn(8e-uI+=n0t1}_MMP`Cr( z@DT1o06c~W@PkNr3ce5z{_qS6AP$~G3?x7zBtZ@&LkgtAOGtxPkPaD;30d$O+MyKQ zKrZCLTgZn($c7?#2gOhVWl#@9D2EDQUV`60;s>aLYN&yaPzw#P6d&^$u@Rb}89qS^ zv_cznzz}po7j(lgke~;?Kri$`KMcTE7=#h1gIO4bF(3ms%AG)*gm3U2reGQ?%D%7q+Qkq0TM(U;dMk8$UD)5S`vq zr&ZA)&#~F&*_y3$8~P5*FHLBB>^<{?W|2AG-+pAV!!@T&x@xVEufgbbCTY)m^ETvM zx!!HozK--S+hl!d4sZES-hX^!P@n3sSVTrwM&(aC>!-TA=#b|~%j556ifrx!5B#&4*H5E>Oa{Io7(Idzg20cJzfost$!vob__xW{l!a z&(4e6{r72K@{#Pdvf-*pcEo!8Jc5;KB}pP?w*#-^B}tX%Gvd*U%+mqWI8o)czeQVi z|9cn4}kTiQM~Z7wOqw3C4$ zA;W6!NTJ9mVTp@k5C6F~A`>OOl>Wuehbg*WLsPQWx88}m(c{!Moqo^hYgYa#4t6Pf zTH+m^t(=kH9Gy775a?1x_AGvsS*N;BpQ-xU-M!0%Y*f^LUUwfqzhm~Vo2EqN80AWR zy;{7;wD8xRRS56&f3qoyH!l;%c-YWyR@eOYW2uvjewz^Aa{=Z6|J^PuZhyB6i{Rhy z!t&b!Uw-efRWEog|GGgSW$S78y&p2i@FHzhx%RCkqXOb*@~=-ia@`k28}etkE^BB`^Ef&dKQCescAQdaN$t6sNwyx1&28Xp z;OEcaXVHqy^xZ>zUb!^$%Q1i7Bxc@uiBgyH0`@$|Anw#VMjCRhzMQu=vELZ}eEKP6 zp=a(aALE_AyNc~cWtncdI-a0eV3<2uFj@OzDX}%SBj8qM?wwtZasGAk3a4+yTdL{P z6N+X3a_UMc4*Y0bL+I%W82k3~?)LA0-rfGo`ufq2bkx06f1XS9+u7vQJ?W^|+^@R= z{d)aPpg#V0JpcXP@!vn&Uw>@-OH@o;;-Ks?IeCTSiYNY$`=9@%`ZI#!M>Z&tW~L;^ zoAM^euJDpbzY&|KrhM?dRKQl@vWdNqY*Of9kcaJYl0* zkfWFCoTjpnl5C8ouF|IB<#!mE(#piLX=A=^`dl~fNN%5A->yhn#SAhmYdgQ zIdSTSsMRiVyyX`cqXc|yx{BJr;}{FaIyWK5{*rt#vh)*+q|DGzzr;uMS?M>UCPrLR z1S3A@BV{?g)S>rEMY(={SHp#QD=(jr= zK_hW!Rcc^!PjkR&Ru|blJ>n(n8H`iM9in>hE`gDG%p~9Y(R%JRr$?Co>&Zlzc zLvGSpWf+KQJX%kd$Gr*-S26_rf+s0-|;M2cVc+Q$bqp#ZFehb=8Ajw1SzeH z7pGx&@9t`|u^@cTE*iVTF@AT8O!q~{H;nWIV}j}E9Nj}(Te`?TC+;d@%k-7jhh2Wf zTcsb4%k(65Z6$QeV2zI&HdN}~NVb30ZAqD(Tx^`u7o7e~{GKN!J zhAopE4L(N>W7YVQy1i~Z6aum7dg|TOsPJ;#xJTQ18$2Sq^`{fLMf)$Mi>+SLYjr4n z%Ctw4EIO?UMmFTVHs#5V=?u#R&R)7)wvXN= zgZ8^v+fJz&&wRo{j2joltC*!T&@y&Vy`^M4ci){J>+&JJ0YOgUEQWK(()5Mg8g0uK zch;>gPm=N)I5L_+J26(uxW&9{JYq<8&QgukTlj-UDR_?9`P%Yt)+5Q${K0FD|8_Cd z|LdM~e^YvrpYizyyH&L*ne;D0&%S#YXUrYZf}QcG8yWqN*MD>S59c3$!THCZjhh}W z#M+?=(KVTRM@o%cLp;~X-4NwdavEnFC*o{l8pgTIFq~*RMC|$|eEye{y=Z2ANU3GX z#@$`s8LWKf7ZZw}>nJYz8%;cn7dv-PZtlan#5I*0CL%(Jrd^qDM;cxpc%yw-Anw-s zZJkl~gwR00RNpvrXn-CVWXj*Tne1ziP@VoXN+-na5>G; z$-@^4T_Xfm4!HHJ9cFK{oV)zq!q(1MG<3SY^=r1n7>|aV4zuUcWpb<63FmBgXZP~% zqU4h6OQn~ERvG4`e?0M(PCZS?RU7r%x3ts|5w|h2@=!;__Lm%0n)YZ1j znpJV`fCP8_sB?HwPmhCN%9PXWaPSq$un)I(wz|q|;MC$JlT#VFY2?kpaqpjz)+p&5 zJg`AJHcP&=#C}99tasf;sTUKW)%(AGaL~`*M4O^w#a~%+`;`a#ndmCkXaizG>2>{g z1pj&$wFbKvXVSt>E!M2;&TrVcL#y|25KVN&{VjJ*s;#y<_2o;~=kIb1Qxuc0SD#R> zs_Z=Ja_6qo1Da}^x5w3HR@Zsqm%?B9Aalk*ShSy)LDu@aj3Anh(~EW34=rMBrit0# z?!}M_o%w!QJ06?ZBo8f}d)E3J@e`dTPcJZpaZHcOEbdG&*Jqu#b&ct0t0A%8-5w;I z;we5um)-G{@ka~oug`x<|EBeWv=|3k0!v{TEQb|92PuTO zHo!*M1e<{ww!l_k0ajpxZNLs3zzN%d3%G#?b^tZ+F2voy3wwYM_5wc$fFSGxArOZB zZ~#O=6vRLrB;X)O0yXa;L}`$L!*B$Sf-D>ZIgkehI1Y+%0+iq+D8ngG0aZ`~b)e=x zgLoFsfd*)T7HESGoCjUd1AVvv7vT~ZfFT&cWiSR4Fa>IEbHpoP0aw8itiT#?`u_c9`*jqp(ml&?AkLjT)$Qdr!h9cGbjj1C-2{e?E+r!avq{%iljn5IgA!}+udUszdfS5T9&KOT!ZQLkm*-gd zy)UaSbB($#r=xbKQ*7fE3+XmfXX$4L)Y^}y5z|dIZyOzMT^em5A<`$>Dcv~S^V+{_ zPI~3&Rqos;+;t;ol%y>C6!>U4J`8@|XHb6ep6$8smfjINn)_adozBZ@FnXP>qu4p7 zk{uH3asEw7X|&`$iM<=gSM5qRs)|jy&}(O&8xctgXl*V%r+1K&xhC>%vW9$CZDzTY zgjwLxiB>ZfyTtO#R}utx2pJcoHKvy??c+*w<63O|L9;PWd_s@tBpR~ZGxKR?gvULnMR5=jdKV{QenXs3B^RauS!uRiS8$CI5wQ%NmYJh;tSvzM2 z>+@Ozlcj8N*A%ari=Mq#78piTTD;N!K#lJ6=qT@o=KMX5VWsD+w9Pd_TT7GZuBqyO z(y0!7Y_KPF>r#L5xS0Fe&LLZ4H$NG5-|po|`FmdWqvjZ*mv?ViU(YyMmRE%u_cWDtqfdQf6_CJeH9eMB*1zWwj4r1Pw&sgFZJKU z7kM{=^KApaWy-Gfh}j1DtZCt|O;tQxq8(f0g?jC?KjaKJZIsyc@`Ne22TIMGmRakf zOu0)Mk@;NO<~XfhPw3v;B(hC-mQROo$-6C_`QcneBW;zD)9d$oORLJ#MCIQjk0v-7 z;PgI60Um#o5gwz!Q!6E}H}@}OmkKgzRa)}D?Z{wi(^Ya^N{nwy@FvL_1sQS4gequQ zRZDDtz+_|AnM)obHqRdF%_QEvYIIBU;Wh^A&%Yi%FlxH`rMH8AW57Rp;QYHM&|mAn zyZ@&8@4vnO<0i&}Zh<@81`qHAFSrAD!5gS`kT0Si_(K5PgFpy^V7Lz<5DH=N03Jd( zJc7sY1R@|3p29Pr=8i^;fmn!xcz6y8kO(gz36dcNQsE_}!7E6I49J8m$c7xC=6-{i z3wiJs@}U3J#=B`DogL-IyMreX&_yjG`3T@C1 z9nc9~@EN*+1U>KtdV!j^A8`P_!XOO6FpR(`jKMgNVFD)M8+?Z;m<9^Wz${R6&Lb{R z--aJRgZf|O4;X)}MygMMBL1oIS9z4J@yqzD=pRsi4a%lAZU5Qw&!hZb&tDY#1Iqu1 zvRi*g`8FtD>X-F*;(tK-wJ5voca-mg@?ZY)^KbdIVJ4hr%7@U_*Q#a^xrQf5*Cb54 z$h%ofF@k%e?TJ89?pCoFy2rgrG#c)D3D4&(2@I5>ce9q>sn-e^vGUb-8TBerj&(Or-FZnZ3~3f+%u z179*+Zx-pUX=6N{RWG7uw=K-OEWGu8-H_-6_OW>6d@S3dg7&e*aH4fA4`&CYCzBl5GeO(_aZr8XJRKgw-+nw5W%`v6<_=J>H z=zg)0 zkcnmFJMYXrjybjXn8>&Lvbj7qRHe%?{XvtZ7b_4iC3|@8x{ngity)1QiPk=?b5YuHv( zKDpSDE7JEhKi(2p?;0e>wKteBf=y=1}R>wt8*N*=*8u*<1bYc%S)02IiN-lk;OO zcF*ls`jUI<>hK6@p>O5c6}>(#G2=q#Pd%Kw(B7f6R4IyRIrVy^`@gvVcj2%754kwf zb&{mwp+D~PiK3%}#yziFW0Ib0f`PTQk=c#6Z@lQ%@V(*W?i)Pvx!I3W+%sK5&#`eZ zYuquEwA&!Z?wDrJyBpVCTYE>{_EXBHRn3R|w2br3ZB4EkrQeL%7aY8q^zf64i~NN$@z|j%Y!1?`DdP% z54Jtv++1_N#pP(zwV@&NHre>rPVF`yO@ZxoBkISW(PzjfaaTN5m#-}oH#RXfv%O|# z@8IZk-Tk(Qr`Mgk-a*0lLqfwIJPePDj){$nf1Z%|Dm^1JD?8`)n|H+}rDeqO_Z4;Z z4UJ9BpIZK#ub;pC{p!iiDY)n~=QBGxD7>jn&8XzH6g3_{fO&I)iOQX(z^~z*52Zt%n>x6y4KC$A8KC^A+TQnQGE=!BovEpk zA@LsbmR;eMjRj_m912&jbukVeJXP>{L@cbG1%k$^HpJssmvrilU^W&)Jzt`j49lxXe*C^lXm-2=Ffby+S_U+$M z{zsH=@k{x_e?a-xDBI(Al;4N)H~mt+W8;HsUv7raPvRW$jvoD;;)JXMTUN{CiRSLz0xjJ|o>5GwTfnam??CS~0nvC_0d^IgiX$@L&`FGa9k!oKqP7 z{Kio#=qIyDYW;XmckerskMX|W9~uRmu1~f&M~Sd#4#P}a9g=MfDRsbEWgjGQ8 zJEBKqfHkld7-1c(2PW768(|Y{24>g-TY&{wftqI;_)g z1AMR-_(1>!VIK&AFzg3vei1}b5Cd_LfP)|jQg8^QK?V-P5jYC6a17)?9u(j>D8dO) z0&0F`#8aRGs-Onya2n3QSvUt8pb1)_4LWchbU_dF;R0NQOF+$Sh-d_t!5B=y6wJUJ zu7Cwx1xv63Yp?-ZxCVA$4-Vi6PC(7=jOYTc;06S^0l&82FQPv9bN=Cf-}&vdYw`CF zOJNx-hZR5vD}j3LtVW~<23P}Yff3fhdSHSLun{)FW?+Ubuob8|SP|J^8?XZhaKd)r z0&d`e9k3I20rm5E5%&Ne>;--h06{=67mW}I!+tmbA|MK4AP&?V2N5Mf3J!rZ$iQJZ z0!Kj>j)5G=g901}>gS(8RDzSB45vT^R6z~Y;WV6qvv3YHKohh;8+712=z<>T12y+W z#7kfRhF}Dj!5B=y6wJUJu7Cwx1xv63Yp?-ZxCVA$57gX_h)!@FoWTWL!3_v-1E>>F zmcUY22Fqau&;d2aD#X=54-Bvd)&e7}gZ01!8(<@Bg3Z7TTVN}&04uP;Hed&8ZcfDQ zzy;jE13O?R?1J6E3wwYM_5wc$fFSGxArJ;?z5|FNAPQn24iaz>BtZ%efi%d#VK@Ru zK^BgI9LNJT-*H4mH~~s<5|rT-sDLV{fjXRqGjJBpfd*)T7HESGP;=@c>VZC7fQxVm z48RbK;4&D437CQzn8OvYfU95$)O^;6Hed_azz*!e0UW^zu7fkUfGfBG0dBy5`}pUd z{TILOf0X^XbHbR~IpLyc&Gu{O1hoTF=6~yeq??MT^pgT^hiBg=q-Aco@bb0r+mRek ziIo0U@}9jy<>fqE94ew$Nq<#6EK)O6z`VG_QK7hC(@x8E?^DdOv_}fO<|QrGdb1o0 zGO_4m+S0Q;c6WNd1|8Sl*=FBL@-(sjzA(k#boI6hy)FLrgVLvX3Egg(vui&_Io{Wi z>*n$xJ$Fk@`;hw-ks%YyZ(ble}7)aLgM0f^VzYRhUuX?eA`Ym%X+E#>+GKQ zajx`v{W(|b;hjK(KYKJwwlFy*Gvj7p8oLTxLf|7Km) zwt0KnrTX^_ZxL#{zqkj^v*$JV%pG<)a=6Gv>7Xai%k^^a4=K)=_>!J-1KJIKQ@dy4-tR(5vmbrI+3hdAE;y5evKt zXjeb2?0$LrHh8dntR?iCL}&L2NaPjiJPn5Y_p5H($8zLQsR3z7SgDf zk|&8DH}q1xO(u(47-VHA{jcW-&xD;j5neY!{mJCGPbE^k?F#6Q?2KMcoXT=%C@U+g zmbl6?aeSxi#IX-439q?}%eKj{yckSObF1oN6)EshvE%QIUb7IJ{B%;(E*4-<4 z8mY(h_;PSAo7wK%tgi2aZXOGXmNNrgPcAsloy~nUelA;znQ>!n>+$kICu)a+=igs< zX8y1LI`>4t@aMTF6DzUC&scl&r;g@$i+^U`3A#&udf^sGgY6J#j{KKC|K7w8;1;+8 zwLbAc^aL-s19!n2e83m{z#jtO9t1)V1jBs@flvs82SCjkj`#>3!xM;rNO%g*APS-( z24W!&;^8?YKq9<=BuEBo&Q!#gkOr?H9Wo#jvLG9B;5EE~T*!mBkPih=2u1J?s5wgz zOQ8&iP!8{*0xIDHR6#Y=z(=TsI;e*RXoMzc25Qb0#8zm7cIbdk=z`DC4J7D+FVG8p z&<_Lf6$W7lhJl)M6mbm3feaHc3E$v5Ou;lzU}H`r%2+BF`A2gb|{Q;j?Qv z`<81mw$GC~OBTF6655Q1vo-AZ4y7ihi3$C=dG0J1~U|;Lo7kvQ~ z-9^#8I&)V>xlLs*d+}U%t+AbH2$Nx#a&k%^Vdo5W^|G0{cdSk2d4-j!vz)n1xn83d zj&&>pq}4EjZONL`dI#AyIYAr?_3YmKqV+6YpYXtd0`z2+REW^YpenyOlWAdQaqAb+EF_p7GMQ7*aqyt0i3WMxPTj|2M2HjC%6vO@>~#I!3_v-1729qYmtu~bPKt-?b|AYm{-zIu4HW{@rlaq z_S`f<-g@@3s>YUOH;a;9r#4hRkxm-EB4fe9tP(Z9uQ9S@T-Kyk@dd?S@{uExPNjs% zxeU)8x&_=ke0#kvGmd)N=8D8)1gO=EbUD(9B%j%^Bg?a*pQvR1`~kn7gvKdP`&Vam zV+*dS32VAgW_)b*^exCsHPh4HzRF&#xm7(Y$Tir>FVJX^6R_9*c$AcIZ~NyjMvofm z6nhpfnV-HwJ>&IC*_Q`8Co*@teO&pvr;<2!Wcv@C?${9?VcZ^JY*AII(zcY;m&%^M zp@i{DtC)vJ%sWZ?3w7q_X8j|VH&%@K20Rp8?SX?~4tgxpXpY#~Bt?jsXK1>5?M3cw za+2!n%-|CBmKURwE0!ME!?`Tw=of<>4#wdWZ_BNN%tGzN11x9K+M|gF^8-zeC64+J z7M4z~aE!jhc$#HHg|CT@%Q>=0#EscaZ%6W2xIH!M4PIvJTxPH-EaPsqagwq%1X+hTnE<3l8`ds74zC>UyF{F*gu zAC|mLOeIVCUaMAX@kTYlsHmqj&a{dt^Umb&ivdm+)+C*W7eaR`$g(+d`bXMl_#H13 zbq+t8#7%!l>*wm`*ZL#ozx4V2U!A{o6Ze2y;10LJ13bYC?!aB}1|RSRKk$bDxCem{ z1i^40LLd~V_nQZZ49 zuOJ;Vfckk^h}n<>ui*{kLLR(@d?`&{V)JuVGxF37)D?e#$X)CFaeYB z4XF915T}6xGcXHtFb@l`2tR-Z{l6;PRfGdV$_|V4a`*HHxbrct|FBi#g7ir(`mfUm zozGa!+mfr^?2${AI-c6M9Fu3)ER1eQeQQ*m``~rT@GLXQt1QwxVim=9e75_5V{n=F zhgZaeuTxD?BR`Kv_WV2^d3UYw;dbi?!Qz6<8b7Dej(fXTvEAO_KGqk2W3fofe0>*ro;+N8CPRoReoN06QeuFg-hQp<`{p!C z?5o8y-EDdT-P66<8b=>Ul;+0O7-uXbufWj1WeR)zoV+roh2OTC}O z^JXft!?G>;S+CAjM28oVjYllWJ8Mq*ecOFt!N`L7oKvQ*bYYc+^P1?w7q%=J1L_<4 z_t_-xTrEWF;Z%Xmlin!^3%scaW~+#5Wjju2WtEsWeNS#9szpT&P3%eB(kPe5x%|)> zmnV#|yF}VgnZD4UovS(1C}VEP{K@QK!#%Tn)`m67-?D^EHb1Y^buy1j{+P$KO4>v= z?eqlA8P{R*nJWbr`rBlCR%ZC5GQOz6oIq1G6E|4vDHd0jU-LyJLtHJ)X{(x-BIr0?6#c*#V5 zb`_kHns;e(+ewMm#UY|PCz?E-c*M@?nS7K|ldoTz&vY^%CxOOr_=;!6TD~SJ*Tjw% zM?RehdM|G*5;C-tN@#1)cqiJmZQjACV0e);XidMZ)4A~!YV)FjrJtC}p+7Jk+RV=L zI%w4;!)rpsa_;z!<&o{lV4E zt(q3o$N9fFZmf8k9V$yJxOGd-k@U}m)~V^zf_3x!-8!js%5l=U@kP&*-!~fAGAXmZ zXK&aOcX-pj-u;>W`>d2*#$<^4+s;?Ks!DyoH*sIe)Ob4Wz^W5xDPuhup%NPUfrfte z+*tbIGqARrF7tAtPU>gh5T!%kzA4l?=x4@8dP?#3JnGOq7&O22% zRw0E9{W?aotOZ6xm9|@RC&$I6s=B&>*4bH5Udb%xf3bqjF%Wef;}7zdbd^N2B=^r8u2Rd!-Uy6)A2r>=pQ6FE!izI-k0X^np}J-=SM7XOS) zb!GE59cbH`H9q|*KDRDK&_^ZV886S}ul9u=v^g}bLYG8C*53Aa^prYrL3D@RPJJRpqPq6_sSnY$U_6?n++0$yA};fgyU8@4las-r zu-0WH3I0*To8#RYR{ZNZKU>L}Q2yZnipQmer_!89a}CIQ$tg+~FWzAY4ssi_Ju6ZZ zpeJ2WJI0?PrD)5;R8lcu5O7aHC0BdSq|Lz6a;=We>Hk?>4sj){g4I9|46p{)0wb)0^}qxhU?XgT&A<#>U@NcyE3g4I zH#;H+aKd)r0&d`e9k3I2!EWG%J-`Qhfgc1w5cYu(2*Z9j0Mz`Vh+-fP5^xYCK?)9m zG|0eVI08pO7LI`&$b$kL2SqpmN^laW`A;FLfGVhgI-G_xa2C#i255p7XoC)%2VKwu zeYgM@;Sv}CHMbGsWiSR4FaMyHylQYR=jgpi3HK1weFm47uAVHV^!MEM zH`KKY*(nhsmmz)+Q*cFXDfPiU1^zv9a?M}PoDoX&aXh^G`tzBC94BbL^J`4ykliAm z52+U=Qp{CFv+F*UKGlv^wChcIkbUXfah{oHYfDwiY1O9FOI6brvZNdseYxrc=7qL> z`MHtx*wUwHg@1EUp@gIn(-!N&6f0rAsvb&P&+!=34O%VS0`G>*X?9rq8XKRqPdJS) zqc$*1KTwPHdZ6XX?PVm!iS6O2l)iMglZU=LZ z?m4_wl6CtlcXz$ae>{cWeZ)=5akP@qGJj-8{^aZV7mga%-^EXv<^O|;^uE+R7k=N0 z&A+{W-^4TEEpUh1-~pcC1$W>sc!Ll4f*<%p0NexWbrpmd4EG@fLLm$uz(WX!NAMV) zKmQ+NhZ5DhU93vmz+)Z7V(iSPoFAQ@616<$Ibyn=MdfK14OY{-Gv@CI@r58gsP z6aY1U5#l>2h7u@+G9W@ZyoU;?gbz>!)ldT;p%&_(9vYw#nxGk|`CAZMp$*!h13IA# zK0`N;--h072LXLLdzL;Q)w$D2RbLNWejm1SvQK(jWte z;RqZBSvUrAAP)*~929~2wJ0H;1Z6k{DxeB#pbn?u44j2?paGho1=^qk=Rp_rKp!r^ zMYse8U8;Iy+8lc z_TG{IV0&*C{Z={>!+^R9Qw+GbBK@h^nsG|tELGvmGU+0EIvj1vRq53xGBYlb@P zWWAjg%4$(Z@5H`b_&I;?y+Wlj`TapFYHk*o&vh}o92-yd5XfT{4V@i*vLY&b*IB<0 ziU%zB>ZnFNT+vW`zq;wlh0ozLeFXo`gRdVNJ<@kFQuA=g_IR*1XIU&gxr=DJ*CwTa ztCDG0Ve@z|Gv+`sn$gVe8JfyU8z*{5**U)$JSf+h`^@pyGMjWn+FL!7x4ibQv`BksLCzO3HN2RnBph&m znp2~yhWw&TU705}X+@|?eqY^^s;=Pl@NgA;b>R&<()nXo4jye9zt7?ML6t5oeuU^6 zM`4~b8!P^(?;583D#AQF-+bfioSdLD$Nah3e4pOoxf06FYW=t`@hc9_@XdM?m(dy; zXt6VF$}T^x#f^!yvhCEZujd@!rG3(tR}r^brIyi*U6N{uOwSaWwLW^VYPT{;>*vmI z%e{VDrrW`>0UMs*ZSGXzFQ~oPYqg?&;#wh_vnpM-j#~#u8;gaHj^i~g6^EF1{m{tM zN7av4)s5U-z0`^}<5G#m9-gBLQnDN)xz3h}T}ct_&Xvy2;-Qk7DYXL1#D`atdEUE! zDZx37D*XPkSFS$R@D1>n7Go7kS^rWvh5y;ikwLomU2g^F1!dT-+AnrkR4+-x?uMM# z=)R2j?_N5}c)N?~YW_|~A(4b{Q?)6f6BF;81v6Ha*tE63ze>5cXLNZK58K+6q>Mb* zMBPsmKAoIf4nOyTitn-izG*y0KZCJk3-cAX9T6h$uk00~4YE;bA2kd8hn2Jhhy4wi zf7qJ(wf(f}-_(A(i8|mGxWjGm08j9OJ8&1g!3TW75Bwnj?g90F5`-8G_aOvAAq*bC zLkNdQ@ED#z1VqA9cm`1r4KWZ4aS#vG+zE(@@B)$`8B!n>UP2nYf^^7$Ovr+4$br}J z267<}-aKtdZ7>cVF13uAPm7UjKC;RKX)9F3==R3-{3n;!8A}{24-On z=3xOA;Rn#*{{QFvZ&J^f-oF2bz59U2dhZ(tehDFa?-8OxB6}uTNg^3p6+%MD%1mXC z5DJl%O30oW*~!SvW$$bk;S#R?pQ}^nUeEnJ=bZbz?&ozs|E}|T_v>`>`&`EP{=W0` znf)|3k6K&*ys^23-v08n9>I=-z{UCT`lZW^vkw;!e?P(h<^123|MUUN^>_6%WcST( z-ba_&OjHNaIW;-q`zIj_O;{84n~oa0(?1Viq!qtL$Rd2q$31}8Wxr76m7P<&7G1YI zS|doW$FcErf8OXnEA_PdAoilNusnemlQX4v&YKQ=oS6*du6sIIoF;BF~9sAz3R zH_UHq9%>&yqQqVqrMTrd(CEhS*~hP%X4iBgH@G|}`4u|f`_L zm^kL*SA-!W`8u86=-Pdx&Fl_X2@hYd(^@_#5u7Eq zqv(}aR>_6rK{v)wy_^ofvv=Xqv7ar839z* zWJ$t-+#5K zJ~~$Ry^!Ts#K}ybI)&X+!xb1Ro3N289fPlkPAl9JbPQ^JV)U*^LP?zA757YZ@Wi_b zVp2JI;rYXh{8N;Jj2yQ-+xVxrXd|}}Ibw;fqX(+Q-1-~X>G*d~JRcd3y{p|%mSG{5 zlqW)GJ(aL;k>WDziXWL_Vsy9+ANE^8`4#avelo|WSE;{$xl`WCH1J9g8*f?5yyx>W zsN7(M`krRZ#$5G0NdZezC`|n_)c)20PtJmQ$XH3&F}F=|AhFrAa>yIh|dG@^}oj# z`xD|jL+qg65nl%4r+$zBGyls!&1~~)$KWsh0wjV27YF7`V75davGcFyk8hf^uP3K= zldqF9A7P73@5yyGv_Vvzd{W$eZs~cuZwZTqZ?5Fs&Ak3X;=u@V^j!smO0~>6HFuZT zl3JWnLAxrgQ?IBwrWXD{8j+>>4SxeH0UCGOD5B#%^lO!Lyt(f6gqejb4)%_RCsy)dc^ zM;Gk!=|+qU>xt}*78hDF)lemk-RBC_a+=og7l zw?w=sG{*e`=jLE3nK1dK)%)n)Nu>v>q9s&E?~w>hG#i;Q4s^4=h}tzrg}%GE5zE!O zR^4-&@GNB^Ya$8tb|*o}_0gi4v}fqtGXc%T<*(z^%Bso=y9Jd7wQu zD;rbqF&XvDxrLlZ&YFwOijdE(4)OP65%qr@i=<(gh$rX}P}MGe5|VfvJ(j%H<}~bT z$rt5iFydA>xl&)jcq`qWMkDo-#sqPzcUd*=?kRB&~<$>dYSv>W3$hr{Hm{rhsU~2<;0h8 zP&iF(69ygLSFq!vOmZak1Os;j^^l*(Hg-_b6XjaHvGp*MW_b`(Wm)8wIa!>S>gj_z zlqe@zZc2)_KNG*Uaz^W{$JF>AOc6U)Ic1*Z6DU+s#*IA!^+c3*p%g{WVBr$J`a4dT}dzOGe-l6H>g zBvvD^fmJZqY{Fqga*^KDv_c(zVu(=W4)UwfLsJ`aI*`2TfSUBMU!qQ~>z-#vr%zGa zx2loYF-wVy$$`FEzwuwjESldY_?mV_1b-yH^4ZnU>X(ys`|=f`QdwMzI`sa5IyF~H zxSRs3+>#v}fMO+kBYoqKw8B5y-?Km4-#;{d`PqN{!~NI2zqG&qYW~rk$)<=(^|9Oo za~IGy!t-&+H#tf4iwn}W4;~C^rH83IH0mE%KP+#P?Nk@HCC7~7^`A^=V6qF3D+#jp z=Gs5ja>JkMzCMpqmzZMdc)*SR`_)UhsQtzjyXrT0RIijD4kynYer}3AefjvAm-~n= zgEi9#RlUcPn1tsE25Pcvo$ofa&qa>`R=d z+OOc<5DPy}GbNlD+LI)?m*U((w5u7X9=q1p^_En-|D495?A_L^=8PcrrGxKZUL=-Q zK9J^n)p6+7cCDP0+l*xV#r`K2*Pv_rmZ2oa#d&J|TpVlzn0>+er|oDJ>r(@z@4Ye>t@;tecimlIMNE=Nsf(N9MkY5 zNdr2CT!}~>4hMU(Q+Iq%6g(rEcr4gB%JlxesnJ!LYF>=&I35onlB|6{(d0;k^(>lW zv&zR$wp)KM4-$9N&r$3}b**S7sFYQg7j)$+O(mJDIlkk1cr=TP`09yTJYU^6nd5>D zlHP~WCbou)tyfn^)UPeryBvEO8O<(p0bh%gWus>5_>w7!)hJ!1!T6F?d(*jI?-mndS$Fu$}@x*_b0AS1y)>sOiQ*6VGZ@YZ_?cL!Y?QiVQ_V;J|`){tl z`D^=Yq6MR5Iq}u@7h}(NPrR}&*8S3##}*+qPe<WIOGry&oH*Z)zdi@Lt#Aab9tt5x!DGS+08V&LKs!BKNy+RH!}$cOhq-q1?aZ-qKY^)olsM zOz|ck*2*w0H$Uabg4pAV(UEuCJI?X3`J5p0k+1nYEV%g=6}p9Cx5;{f&)Fm5VHlgI zIyA)ith=q{rcB$oqVIk#^TEVsLe8vt(;|WfTY}muoSq_=?!v5O8j-cTu4Z@&SJbU6 zv=dhRDB8G43bH(_9V5vj5H93EqamQ4%-m#@kgf&#qICexgh~w2|0Z$LFw9e>JTwOo6}Q#M>k% zQ^wpTd)A}(jlEB%)cX><-DDuyzw_iI!V;Nj4?TD0Bcu}^QRH|Gsk2`ZtXUU1qm_eS zX?KH7CKo6c$dwL+_JqO41>3Dkg@Ze9Y{xO|-xlz7B)1>TRAAUwHDAhKTM0^%LC2+E zztj=T8Q!nyZY=T@!Sms&0j)(O5gBh}@;%eapq7=v53pSRUmY6C^X_D);0Wc0<#G{L z+Jk{OXxo>!SH7JX>i^}$5aVA?3|-WJj%<8c$i@6WZ$bXietZ9HzyDDCjY9?dzW^@4 z1NdM+AOM5_yUu(7uEc-@kODG54k!R6paRr@2G9aJKo1xIBVYo|fCaDuHoy)zz(K$X zxBxcRA-M7YUT_#30Y?EJ;0FTW7!U-y){gwX#uOZd*x6SkB^^!tskLT z2$M~+%>U?40``h#fDEJNaPlQH~HmzX9+`2C&b=eGCE=3zOUn`E9=%cq{ zd7<5W#xv7~GP0eBb%75YSb7;48HvZiOjpEQl zT4G39V$;1W@56JZ)Vqq~bAl$L8km9J{<9Ty4_>R<7S3^t<(%=Fifefwu1li8O`>-- znNE&-$W3LO%h0BZFIpR=G!Zfr-*Lv@{lVOl5ZzAdTD?aP%j@Cr6D9{8P+TSzme$kx zkJFP3Gli{--(Rw(HjiRyYL%jTHLN-|rG5P?g0iTC!n&Br<;9`!jLbRo4r|8DV_SaR zkH%@O%Axn(?pES7(H<}yevn}^TrhYHBkg&r8*^gl6R%NEY@@*KQS~+Z8;h96*G~kO zsJPw-vM=$R)7g)7N0>c3oy_VjIG4Py5`SXQV^8x!zw?_*H6r4xa~O?X{-_rI9=Ww&5uqc}=;kVftzhGq zRMYDhjOODTNJ{vG3$7GKGQXtppFSrQj5fqDF;BoxEB!A&t-(=(o77E z++t_+4+TYbHnD%p$l;vw@k9Up;{SSc<1bCjfBWl?{#!V-M?cq}ey%_1>ggL?GBdZh z_SX+4zdux&=6_nh|I7TRi5aS+p-O1AI4)%vZF;eLF|7TCZKlz&6!U)Rdu!>}TZ>OO z4n>DMHJ#aZY8Zv;EtV5r=djgVScKZ&1?H*vp6Fig<4=aoT8zF_Zn3Tif1K37vG9Q9 zekk4|V8edlXy^4l**8A6hGBBEb#&!%{ujCXvagjZvOOnB6`{KKplSLtffb9H&$|N~ z+;>E(ixW4st@5t3(TGuv&J$a3*y^iIW!2g8+wH42XfaI3L+p!@w0pcNhK4Hb=GXce zAJbotwk6ZKO&)zm(bExC_fR0GfadbNMxi_(j;~5fKZ5*i{$`SopU}5CK>IrR;@QB( zTRU#MTH_+g=i?O1`Ue&TyJ**9C1-*Ue^@i$zKra`T`M4uV{AI*b7NS0v_UE}V0o9A zpD8SO@K{6NRok^Tf&9a@Cu`-qqPHG#9jyx|T2+Ki;3PUvoLh8+UWj$BX1RxBalIz_vt+OR0j|%R z3+Aobqu(B@RZT^bp!^Fio8vpYk(ipyL!0fKtwk}{n@Dt}bzi%8NGJ_kdcpJY9Z%b-`NB=@42anvd%4SDQ4cr7KC6rbm2 zPLaKQ(?8{9|2++M3x5;3TeJ{V}Zb|yQ=^Y)MQO6rd}zNJ_4#GWH7(mi6ZteuU| zEb8)`m$H7e-`9V(-+yTQ{nyRhA8O^se{JUe(EjB+um{`^+y(c*ec%rQKp+SL!5{>L zf-n#cBESO>38FwWcnD%ZEQkY-z+(^(54C;_FQ43vWkPzkW{tKeDqjsEkYErDfnhKLM!^^u2NPftOo3@I17^V| zFbC$r0$2n~U>RUztilxq*1$UW3^u?f*aB#<4ZeUKunYD827Cnw82|q#?;rVber#%# zdH2es56Sf;qKG=Cs>f#b*$YCS)^k!a-?Scan|`30VR6on-?mA*Ac=2A^IQF&e<-mC zv*%6Gn|IK6|91AA_Y&gs6W+}lR8`0XJB9j$hqO|sK=wvJ_dBHfe>rC!g+a1?n=?1u z$vz<6rpv0LRftl0=n}2Kf86jb4?U$K4+{=;`h9&W9WiOW$7)dNNBACjPQksa^GrzU zqM#P8sj->FQ8pQuHIc9hA|~Z_qrtjgCe07yc73iMq;5Ph&&DpU$FxuBxz%Qz#^uPe z(i0k)%u!?R32%eo9B005yEz`^#SM96$VBnou@1!b+qK=dzE785v8Q@<#Fpgc1uyg| z#*8bm&h~N3dWl~VZ&9eyNN&uK+*RJ#>`g1jtZpl53AP@iT?f>gMXd&h91&F0Tkhh{ z*P2g{G$1@&?(C?cx6Y#nt)I5C-bJ6Wb+~o0N8`1sx&0zKC(xjNX=g?_EN|Pw;I<@3 z|7%YrbcOr44-UFpzpL=gDUYuR^2VESeNKva*-a~y!4YDjcm*^a2i)5{t*TjfZw1pj zZ|@7BLI{l4Tt<*?N%y=(bXOVQ|>A1FuS0 z-M~NL23K*o#hr)mDBevs!Mb3D`{JA zH`g+rA6FEOYgixy2X12UdM?_8O>9SSpt`tYprE2y`Rh677L+j&f*W$mq=3fru1Ip<*l|? zMQy(LmTh-}Xylh{yJO!nYDIc?%2Qkp_sa{R{2OR%xNntk+BNpU~hp})?j^_2Xt zS2uq=f1Q3lfBz$&zyHzgZ|sZ~7Y>)1Tw$F|SnnWAfBkZPDD$rl=st(h5f0?$=l#3$ zLvjUs&oCS|qoh?N3vvfn7rTz-+K4{AuSGdfH&h?$E5R45%hz#sGnaRDwn?7JE$hr` z*qhnF(Yi}XB_7#NE+Uab#gPK>#ly1VSw|Yh={*aM=HWXEO-hwCt}re130k~ZFhz>l zy=${~wIRvN(<ElW3@6ATd2B{(%6LV};gT-VZ05RWx_(_^JFH8?EyKL;)3>#oSVGpR3-itJ zW-55lgDA!-O1J2GhXu?*sh8-$IhXt*|HNV&`pwtH#5h9cEz`SYaa@ve8&h#m*+KES zOs=zowd2~WBU~DphLXsGHI3$6r_Ru+BW|H>06?l5JCU z68T_Jf`_woEXnb@vE?LvJ=&Wc>aw%ul)X^lx#RQv5NN3c!qm|wQmBEH{+Wo3( zf-$j6{mO;=$Eb*j$Ya+1PPRLB-ab$83T?RQhmJ-Gs`q{VB%}5mZQm5-<}XifU9R-z zNkRi&mMyh$8}DP>0!7Moa}vU4bEDl>Q)`30RAN=m_<8lmk+de)-acj^)4$^@>|Vo= z+a`OV!S(j^y2-rmZMhV;c5|DMY^HVtV%m%R2C2MgG} zY<50~Ns;R1a|Y;t;+$kpQ5Sip$7B z{$K@PFYHVBPl!JX_n8B~HGUn$fBZfEi9aF!7{s3c9r2M6A3I*gzC`|n_~US&1@K!x z|5b?J_B}p3qyWMH<(w<_?Oq)%F?q*cvRRf4JHsb7+&uegi-Mf!wQn z_oJ(W>dd}*bdI`9P~;)woZ&N1$|^~>;Q_{?#%oH*^g+cKw!2ef+9gf$ERv^?3qs0d z@MmkU8Sp$4SrGCE5F5!P-h&v2BtnBi9U~7%D zZ4l5JI+-G0?44;pk*!zP?~NBrs@z~3eRV-d{4sympmG{MF5Xwf8O@Q)p;=@SytSGT zQb^mm@6h>12>F)nrQErIu9zxmx49YN;;N-12zs&AWe%1*Po4y}A+VE_*Nj52laxH) zCMjR2{$-N#gv3lQs~xP1(telABc=x-f=DO|}|vM}42BWUV}^zw;omlc0N) z4kLZNim9|yx9(!M47-`vGo$PNUl9$(PKRSAt==LD?{cNTV##CR-?w^iCeM8D^$gR@ zi}c#@YZaA6NqqWRq8#CCqC;ZURmu_0)T58F_tY>z3+r37{l6J02uJ_oYCvEnSf^>t3OO&uwA}uxr{2BI$D!Jm0 zn295)?KlH?igHh=UfO&`U>BKEM+UKrOsaobWcnwmGrl!eKc2r~(4PHVKl=UaM|Wso z{tw&*_rQJN4+20S2m-+%1cZVx5Dp^10}u(KKs0y=u=7%}aE$|xz+(^(5fYgjDj&R4ko}Pm;%#a2F!v_U=GZK1+WN~0QSBsa9sr`um;w_XRrY_!4^P+ZSV!` zfL*W$FyJdd(84|=E9>h{x13#E-P~{gZ_Gdc2S0zmm`#?1dLL0lX)3MG*0shdC#xiF zM^2Q8VH}N41zWl+kF)jP2*j8nOFPJRT~Xbhmr-&txi;dr_3o$mP%z}$@!Re`N-4Od zA69np*cyk|`$Nr_B?#izlj*SKFEWFjCB{)KsC1`t4*k?^Jz2RWGxmrPdAlmEM;i+y z#&8sg;5K4zd@o&&Lv3|Xq5mK{+S++9Z$gdZ*yK4sTd}&uE*Y(%vd{*WoDTsUp<%UB z{e}*ZC&D(aky(~%1brPtQQmuFF}3$7)Fuc{U;60iH_2-P@?STV@lC>Kr(R%^`f@kG3UVaP2*<;;1Loq-ys~ zeDb=quu5&zFKSBHlw%WQcQ*N2{D-y#hKt3?1xN35=Sdsc(XKb6 z_a-;yCL{y!-TaRQJl}~4^MD;obYD!0SS}6a@uWRI*2@`oIy>(IH~!etMHU$N|Me8* zx99Xf`{l>;+vMl-`{(@SzxVvbj*3oI4;%CIC4160bzJ<~8p!obN0v5n;l6K|a%gEvbt{0z zq0sc6uv^+<XH4@}Y*zLEx zJLsfrp>bkA^AL(W4l18V2Rq)gJ$f~Q;d3Jrv87*q-LRTmF2>C1xxU+noE4MN9YfUz zNF`1pj))sVRVbO7b|TeLX07l=zoLk2Oy7t=S;Yslu1d+x!-q=Mv;3nz8MTP|2BSVI z`yLz6A5cYbqrzt+SWLs@PAJ{iyJVq%?o&-kAf8;-ngd!px3PmMi;vWy)&z$_smXLx zwqwT23U|P4ub?RGLT$;VHxc)ysA|oe+>eP`&4eEcOI5mj(c81IrIfYeRGI94TeQb! zb?>$O4{%V}fB6_*anPaZ-k8shS9J~ZvuLi9KVn|AZ6Dw24^OR>l7}}CbbzP0`Tm(0 zLpR^rd7*-o49zfakqEmshkm<#OMVAKEg80@%`w+}Wuq_b61&-w*;<42d`^(zAHTRGh7a3Y7URULz` zdCMd@zsg?TPTmLaHZlUqxq|-qYuTuR#;r@TZLi{Ym+Vk9LV=UGc2YMBasF9@{Gsww_bTEPF#-}>bjQ~$A5Xt8p+XH)qISD5@CGso@y6= z+nhobGp?5GayqR`wgH!xReR3Ff_L@>Ye zt#;FkkAMLU0atzWT|fDrhRzLk$9R|n@^n9XR6fw+mS%Z2-f8m87WK!5E}FtcIbRXE zkNbA7!GPyDTD>9Zcvq#+%diV)naruIFI7t2(pJHH@KMp-L1A{Rv?Q+d)@fxk^;)LQIB4E zSyE)jwKK=L)x`rJU$?K%!#z#XB-?}OjQqe2GQM8#1H0NNf-ua!h4_)IiRO(rwgN5D zi|a_q0<#0f-J8zm(_?vU!roT7v$I!vzkwf&v0RF8Uy{5PIYIQ>QH?%r0XzL@t@m+f zB9&8hKfZ|Cw}E^q@j3N`*6+ynQ4KL`MUAP5A5 z5D*H&Ksbm14?rY{0@2_hhyk$xJ4f*du8%=HNC1i82}lCT;3-G}sUQucgADKtWP<15 z1$YUvz$=gqazHM?#>j(fJ}3Z%pa>L$5>N`tKsl%YmEaAi0@a`f)PlF54%CAN&d(Z~jK?mprA3zuA20fq`^nrfx5ext%7z9IL7>s~XfW7}XTqnRJm;%#a z2F!v_U=GZK1+WN~z%p0?s{jSoz&iL0Hozv>0%(AZ@dd6sU>EFR{|tNu2$%yBMf~gM zk0#(&ivU9Xru9EU=yX(mUw;z&6XH)o?4{okpB>`&!BQ6XCH^PGpMv`=gWvl3pMd!9 zzsHyO6XH)p?3LdUUj^cee*gNzZxPt~+pmB2|9D9%vL3T{6x4Y|HX6uT}4U)dJ*sGthOIos>G?k4!rCf2hVDU=m z7rhu>SYd2T(KB(@>LhkMxq@jb+im0YyooA5b;Z~rma~H7Dv~0@DbdXGY>(46hOh%^ znmZQZ6}S1eXSSQ8cVe|Lw%mw6+4@?KSQBNmlx?ub|cTc)T^F~@Cey_m0V|^ZoQ?4 zv=2{O+g|#LC>F64JKyZ5&ozK&UukrfwB`_(r>(Md{((?q7%ZbKdS?RIBF8W0`Pn?I zD08=K=!u@2;OoD_gs8AEyK)#2eW#?X26YRjO9H!Sjh%b1NT+Jq5>h5#+?J4sf^|!i zMHUwQQzVr~=vJqk=hl1*eNHS~z*a%q=assG=0c|K6>k_D)@^S_4kXtkHu_H=)p!>o~dL7r%)e=$9_XT+Lwld?j9;rl3_4My>UlctAN_6j}oKFGCxAH_!)KeC!w|(+T@M(h{Goc|i=Pue|EQ zlwf#u(QI%Pxu(RpsTA6|w5wQ-k`KJq zW@o$a?W{@{rn8R^Pa(Y&(-ORTr)p6>LhMvEKmYM+56Q-_h#E~~NkcMaB`%5`N;K!^ z*n7&4f85BD6u7LT$W?pd(U6LR@B^lUy}hgFwA^^#nof>}PnC%aO<6zX6ykqWpw%5~aeBu@{t6*Kf<>_G5 zayEH1Nn9Si?bdz^s}g)3{`%Sw&M4vo>*^6m<_X#%Vmu6Ytd$bT#LR@^30;o+>eN6 zM%~)()ox;5&6*i=L1J_x-%|W;SHR|7^c{Q7N)t}EVF!P8D;x#}mc`GLbGp^z85kbO zK0oOC72%x7 z=_{gM*EP_`DmM@r9^hr;G?DP)ay*ZUBFo9+T#;`(fBWJQ^jm+le>Febzn}fre{=u! zTl;tAd;6F5TiU-_(~xSWO4o7ru-nCV$A^!IdQq#as-a{y9}H$`%Dgp9r(Ch7xo>|E zK^Q*38@!$Hw=HNIEJH+~BWD?_$B&e*2QLb{Q!Mi(PD)FeCmqIph7w#VK}lavhc825L7}9b`Ly6#^H>z+oxukRjR~6=bcTGe`3L^Oy?xUWp$(OK z4-D1#sjLDnFkQcQ8EqZfbnpx9tgS`U&Pg=p&_zuOsiUzR0tjO{SM__^`{k z6Kb(looo_{8p?S?tGGYTi4`A7yTltkZu6pWJ7MX<;3yI~ z;yE2FS$pE04wq+@+K@Z#%$lb&s{RAvRA0;_i4m88CArckI({R*-gT>3k5YmC;fF_d++n)3a;58 z2jqg+AP?k&0#FEwKrtu*rJxLyg9=ay-he7l4QfCwcnj(PHbw(n8$lCj1})$nXa(;< z8)yd|pc8xmU7#EEfL_oC`oTvq0FYo13;}G65x9^@Bj%3@d09DQZgzEQZh<1 zVqyw93QB4kT3T8Xa(V_j8U`vFTAHte2t^!RJUo0nd?I{&A{tU+(%)V;>c`*wT7#e@ zL=Yn`arU`lH{Mg?;U5&*PoKN@M(p#?(_%;26Z-!q+4lAm36Guz zPk*4i8gc+<%|Bzfe#3$KuhFvn5E2;kL{>+8eJ#mM-X2#&#Qp8*1{j2s{p@4$KoWyA@J%{#7{n zaPEHgLf3lVuE>d?+PJ+dYX`T{P4c`l4(EB7a3|5Jl$n8yTnCydZ7<_m@6<6%v5*8K zzU&*^oR8|zsVGJf_$Hh#DT>mcuD}earD-1BY)4w!4aaC!{aOG-{)g%lVzhO3f+i~ zuL#18jNQH)3%BxzMnrBaUgv+oaGne2tW9ZN%Ww^@XqouZMb{Uexczd64Cd&Hbur9+ zoF%TH}6+Ip|_=l8WzAjpCh7_UJ^HHh$AW-g<^( zr1johQIgGrGued)^J*GhELq6k`O2&FJwXR~$UPY|zCDA~^`GFAWaL)#%e0=-o88(K zsjeUW!VJYGS9(l$l`PQ#o5AR?=bv2rO5~1|#}Z+4OE&o9Im-Qgt&AVzhY$asjvpld zg!KnEc$BOHc>MgP^&cbnq7Q#x|2PgOpoHLK|L6;we{dE)7#kb=`YrdliT$R3U;hyL z6XM^7+ogVg55Fb;J&4c#J-+at5Z?oWru~lik0Czk_xL~0Z%If>DV|nRR#8e&!$2B6Q2+{IW(rb9+^mij-8N5D|J4tpH_odm0L3Zil{radm5%t zQfD!HO)!PhN$^P=Ir9~f6t>;p%Fg%|VZ%~lmYTeiCRtaQYC@Me5vbNb;ZafIb~E>X*bvAWXg4diE6 z`s%?;8v$|FG!AvdO$T1N@)N6?J2E~w_i=El&1qA+k3>BDk_Cm1ABs`K3to4J?d!|)`2M!uYAHrnB?ZPU80LJn17I4y43_|f z7s_ro*0-8C`ON#=@N?YmDgy6*SX7Ff?7&C+=oEBkHw?r$TXO{U%&5B`vz2)Tb7+u> z%2AUcHy6_{{w-mj3@3VS@)4_vtox*MBcts&-sQ_a1evs!7$*7&UdXd2|1B$|ue?Il zFCXw)=GQ#RL7d+zDgMT)Bz)hilKjS+P}rsryZ-z6|I_E+&-U+sul*zQ2y#sx5jVYL zk395CJ67w>kKRM=``ZR^vIbiKDjFtJ$Wind|AgF~Ep{jXb&~xm=7TqPuczoLU(=H4HuhGUxAaQNI6Mwi@HR!T zwpG7J;YC#9+jgFI#eu%@gCkjxUXO4*&iH1HAA@1t0|jpOvU#;#4TODWlPOcn_zLMz zZm4}rL8l1J=I>~JNf;2lAFL&WVI)!Kd@UiZ&<6ALh5b!?mI|nqfaJGH995X6)wX!I zh)c$tjK`iv<#)_;(Ep18S3WeJ=4NeAxJ?2r&j*1qW(-~9@BG2+nOwQ&v zWvR5cr*5Jv|IoOQ7b%c}6PH9d&^(1&Imz~7HDaPVxF{k*Y;|bicK#-dV@OF| z_~k*_%jz`QA5lcgwuYRnFA=WgKbzw(v5j|Y2fHi!NBc(&{h^=hr$5(E|5x&lYW#iu zCF64pp6U)PT0>GV`L)InZtO1k)qht7#|rn8hU;WWxQJ;mI|cQQY_2EmII)()@xnsg z*lRls$*sbV>-gw6NKV(Ws=f;G8N52bu327Myc#gb^sY|3$8Nf)FG}71=m&v;P-;Sy z*ra1f4YPp}Tg-Ufo}_Byq6P|>aOP!yH?=6XscxSanu1b2~#N3ZV{VH znA#BSKC`Z|Hy^a$GV*7Kt;BAfNEkk~pYO0Tp0K{ZR!NqlM+B>VxQWEg+M>S8WBzT0 zyd0B~+tOp+r{cZE(7g{1_T}GYxL`xJpNI=Bt0o`xl-#Sg`i94jhk>Yv4~db_l}jUS z*WZ_@A8Hs>$tc=6`t&@-<;IF2ndM1b(LC`b1s|VPb$#@G>&!Z9f`ASEr#)TLxy7{t zsg*nv`aI`TYJxAUoB1o_vFNq6qWYUuQ}j%oVRN5hU2WsgUdK7Phk{Vfg|}bUI-b8gE4sc8 zXYK1ljuw}{&-dltkECKDd%P{#ASDlpRsEf0Zm*};+pg1%P<)&WUF^8BeV*Wx>-SMX zA9+NPVFf$BjZ^JSlm=^hXn1A}_Ut`WSO4oi=ktYRwn{Ibv=PYd9ECl0AJh3uZs-5* z*gfbwJ15huTQ$c&%UEhRx$i>WH55sDbOjG#`6S~`QsQ~|Kiq>6 z-&65uWM?2J!x;JUZESLt%_riUnLU|3BH8DBDCb(ni6dwY=BVbwDQ$P-KBSjD_Ux|V z9M`dw@j||sNJeHhxcJakx@KBW!@+Rs;!gWG#cDBx_04rbv?0^Gc@5>2SF2D^A0Up2$4ud1$DBuJ9KmZ&A zg5Wq10>a<~5CNh<42T2ly(Qr)1*CxtkOgu;9-IUU;1o~P$N|DUfv*YEe?;^FTnAS60K3>z09(fB@`eR%)D`D^}C|KjKP^XK^U zKYaX&_jCODhsK{42s?y1{BsLoi@1g`h2L2qjv*`&*6?rGmnyKu{)Q<(W|yx8YWA-#LvG<~Fpl3YS{15Nxzq{9u_h$j`{jWbyZMfadfAO9-|K^U^cj@pi-|@!Z+*2R! z=ZL-Mr)auA`kCK^ukuy6%P*h(&+{+;w(~D?i|Fx*F!fq_0vX#0QpOljTS1lb%ED`* z5>)ADTVi0oVXXgsk`Nk&GOdwg`jFAHp_n-@JV(87ye`|?<(aL?_%(lt&z~A99x}%a z+|f4Qj`O7nUTcxJmJiZS<3i_5fABw0C`6&MhdLX*8HSD!kDGBzbzN(p8ph*=LeRW4 zIE&)22xM9BVH$42-I?E4&P{*&{+pM^1B#m#6jrOlfn68n%#4UE+8J&fW`;5d_C%O| zc^2n3p2api&e^l8u_av1<=V67dsFgk1`W8hlH=aRb{v)}c>U@cY-{GMptGkw`(D3T zqf)Y6D7mbk<$Q9XUcG+vkqPUE;r9&R3e~U=eMWfG;4CxgEtz>ayqIGuY6|@PaP?wS z$YP;^v!#C5V6zvQ;fuI-nf>%feG{j=keL%J$c_eGd4{TkbGL6;Vkibp$>xd1_fF5{ zT#3^yELIQT91Dx`V^jJ_#8KNllS^k0JIhw=IP57ZPBPyNMAqoA8{KHUt_VkQ6c1CN zqqKda=oeSVsB1A~pK<0$ceLF4>c&b!i)@|hBgSEZ#v1u1JT5(BIoX=Et*w4DvY9K! z@rtTJ`msapr>*MOgiMV*`FjMNO#|duD|(6s$*HfOFi`H7s)~InV3*O6}*ZFh(` zv%8ysJvehS!vaO!obIPMcv67_*88tCXp%#YIG&M1;es?nN=%_gxrGpNcP$X!(R$J- zs!cEHn(~d_!feudT}NTn0Q_^^&AA;bXltLK>d#`skT&FbH9EK*MZQFfV%F+h$+q*n z;LJ~by7`k?;C?(uiA#vzzlR)#0^ipE|LFelpZkY@=FcoHDJ?61TUX!E*wozeuB*GJ zx3B->0P@$uRBP*>H#WD>+h4vS5hS=cu=yL85+RS+`?-Jk=l@kyO45Y^ zHzFXYM9HC5Km-INNd`elBA|$plZYfqk{W1ef<(y(C{YDOBuQw3AV`+1LHRkvPg3~J0D6ZnB<*R3q#ruG!F*XACbjO6*W^KM6zHo~prvGP+! zq2ndlu=oZqCM;OIMN&~iqx&dMS2Zs&qsCRLuXD$eyF~zR%Ezbk+U!k%Tj>po}BxT8eD`^>~X4Sx0Ww@mv{w3 zlT;AQdy^uh`GSNCw>{~lsU!*`UbqBy4|BW$O2`8@&-UsQxAo6^pVLn^Ih;#blgvzC z+vw6zF-t;*kIiay&Tz@x_pG&lnG5?0F>>3@{QH-lC@rv`>%~VlU|Ks)elH1Y)JSW{ zUfONAD{&shy?bLJxIuhKx zAsN4s`;?ukHkve4(2x`DTFWAUHV>F9#8iikH@!<65sF$A(7tkCLjXdt97G^`I_b;o zdpp_Gwi1ix8L|aklkAq;Ol+$PXG2X%Ewbr{>JL1ZAYPg~ieK{Ms-&@6Q=Sp^dqz}P zdZ&CA>^T*_qH!3b9&AEB{zaS^3FX5hNlX)~Q-oE|9;y^bMq481#KYP<%SW;@2w0lx zW$?d3?n4>Iy}CIuM)fSm(cl-vhUO%%2O)Yc(DrKP4a=L6l?}JG!uE=MS~!SeG;rcr z6-?9C<#!ksAM{e4I7hwF5i6}O!-dbIi$=!fZ_N*AS|VFS7Z!T7hJ|j6cX{L<&0;U= z*$J!}C-D-th90dtH;7Zj@KhC{5U2F?^O9faouWxFf0{$X9?uxmiq}dGVYUuHS1%Ko zqM(Dv>#B&s?%pQPao4(D##wv1d|(9&5$7ZtueY{l5#Z79U(QF)XRM@`bidwzVz`@n z41NtufmxcOU4HfwOVl8KCs8JJ(}-MGt+e@d!_3%VeIc1}ggN6Aa`!KJt*E)>XRmQO z`&r2wytoX#um@eyMe!fK}h_Hc^U%tD&jw9s;7c@08 z5FDpvD!APF3>RUmdr-L0r+g}!Ou<+{v8O-$pv&k8P6xxc6^tc9?UN3T*-+K&hP8L( zvXvfZYz*(4xt2Ba71CRJZPzfQT}^qznWskBID1I)Kz`BJOKV4c^Nr9nn|M?WVUTj| zH6_Q8Bz>JAzuUk>iieUNiZh~KJUYa=x-3; z2egv~{HyWVKzxmF^Iu}WL42!kvH#Whav=Wq`L~N;2J+v${|Vv;;%EPY*KY*kAAEcN zhyKm_!GGlWuNw(BPpHkk4DA!avGIYkpVq-{w)p0OL17~qFXGw^QliM@)#xYzsd4Z$ ziJG9dn#{FzjPM-sdQD0kOQ;#CW!iIan)d$+nF|4_8BIj3+*b$~FRi^n=Lc3Z^TKWR zq&hKYRnKy(1TC-TRTuT${dk=nEi%F4;_jL+0@gKKkAgKp6Nc|G4Ayo;qsV{&XV|6` zx4z}-=dzu12G3+W^;xWw@6=1bI%o+i-lFGjqo zdwNf+tt`A~zCw&S(HrgiPvI(aNxT_bj-n-;rSx3KmXfAIS_8K#`c{P7<(4$j?;lB% z7GfU4uIbJ58RVr!UnvnA67X@cJ~o_HeNG6%-*txjFSJ|Em*aR}YYqpC|q z-w;JEg{fb+J6UIwuLHKv#b35_8c66+);;4AXea9A%>9X6Y&Ib)$P;mT%Si%i^OHAr zFyN+;(p1`sey9PVpUkrdpJQ5}T_tr|Pv%-LnFhU}yOMCez0X#1sSkq7T8~)L-pxoe zT8NMPSYv2mcv0^;yV3#Dq1pVd8(X(^M^e)Cbf+A}Oi1uXQ|+4Xm^9kFCUHFAT@1|D zKzNzY=4CIB9WTS(^|kZ5=e!|=2ljKB^f`%qgRPCX4%*$TYbz>@h%L9NETDtr)_17d z)-EKS?8@>{G8C-i&(8#>da!vIzlU(alx|ba$y+xub%{S^09A5& zKL&pLjgeJ?0y1m9b@HTQBR{rqGH2#l-V8-#^Ml)IB&Xie+YEk~(CRI|y{AL9{1Qf1 zm+D)^jdjBaHV!onzl{B)`EG9OXeC(w|499o zjj7t>dUt3j@0U79x|n-gRGo94$yNIC8mB@-@sn7rmv=e2qSfZ5p6C{lyie126L~|t zV>Bbv^}0JU)|u7!xSsSkrW^U$N>s~5}*Q30n`8uKo1-T*Z>BA5nuwC0TuuXoCeMSX90GA z8{h@b0UW@2fD_;XE&y==55NaV0v7>(KmZT~gaBdS5+DMI0%CwTAO&0olmKZ!29O1A z0&>6=;3^;wC;*CpGH?gD2B-kn0aZW^PzP=Rw*U>`KA;KQ2DE^?fHt55=mL6xK41VC z0!Dx_U;>x|4!}LY46p#q0T^HjSOM0+1HcBb1?&KO;341xI08<9GvETa0&V~Ta0fg9 zIN%9*0lq*O@ZzE?UTY)2vokc6Nm6eD-2Myp zX-IoK#S}b=py+gQHVTPLU{kw%n{bT(*ySL)XyOl|h7xn>h|p9j+bUX|FuEjhN{Z?h zCNu0yMcAd*Mi&Z2A%(_MmWFdJjWr^1(vx&VNXLzS@ zhd0$aWctUv0uXUzb^>UWCCp zJxGH%`L0GT%V%%M1R1`zn z6Hhxm(2|S4)BRyAEPDf?=Rz4qv(n-T-h^*yz(L=elANdK>x41Y%VL1l!RYg0^9%uB%_y^@BZssXot;>1u=jOw3-)`Hy0LU=0`%_g5_4rg8=sHK}JQYJe7 zLb+l+|oEmo?JB7)dbPXd4MRhOd3+F1-stVSUkEXx1+`=fm zlIxCTeCEv-o>E)voI03TZ%BZRMO9P>x|=MNeIR|>!J6++)i zN}z+Sp2!dJBF2KRCFKD<)=>rH-RpGk^IGvJxMo-m!%vF~zcC2+G_l zChM;d0;kbxbj~XL7C~QXc9U1It7W>_hPgLqa|^hY$uD_jfMhQ`B;SU6B-NBTB2Jq0 zpe3Pcd1p^P@BL)EogPNf&$*pA2brBpxp;HLpw5vhpv3G9c_9G-q^5DIL)_Ckt#jJ& zHOCC%38;QYf0eA>F0#1N4 z-~zY;Fu)CP2Rr~c;0bsEhwXZU<9~Ag=bw+ie$1c!m_Pe5fA(Yk?2j>jw*Cj1KcoM# z{^U=y{^UwO^7dz^#K*OG{P``Jq4zl8`dM^MJbi{)WB>DbbgF ze@WFT1O=RBzo^*5Kuf>698DI!LV(Q39j%i>hV4QwHPS^Uek8)D7ohlb=W_^haQSc1h#oYp`umINMod~QLN^xdzCt1pVen_q4?0169#ikhG|_Vn zVTfCwMK1Pkrqbx|ml=?X1x-A#t=tzAo{qw)U`)EItwp5SdPU|55zBFVdb4%p1uW_^ z=Z+DD-YV9TExV;xzfTH^fMmZ$bY@f^NF4~xV6)-UUy{pldN}Kikfs_I>24XbRWwn=r9r4qY5i=4y?p+?Pad6ijcB!pv5IzB+qO<+21_C^id!~4FMDh^E6Au8N^dRd zn&q^`ZG23#YkO7)k!2NYwA7XIZ&k@r|D=x9-A>(@A)4($)b>|?g`}RBxs=}#G1QMr z4U;s%+}Zx{6+$Yh!xu1v4v*k1$ZEH7+j4YtC>FX?e$+{@7V<7=$$)+OpZB*~QA+1=kW|p?|#U4aFjL6o4tvMWzN9WGE--gwi5c6&4 zT&^+9O#`wHy|ws^(PBj z&8bwJC}6adK3`Z$(aiM5v8-O(Hxr+`qEvU6B; zO3mv#vn(_!qQ>xm9o%5f+sx=T;jq%vlfB2eQiSaWzi`BgxF-m~*@MonkVuzlFfk^D z@Ccp5a*w}$`B5rKJ=Uh$G=gaaCsTwbEx;5mF4d6hDc;+)2@FIbvBdD?-J_w5FVFmpy{=mMDtsW4oGY8S`(~lK;GP!?+O9!{Xg-DK zpaY#6c5&;SNjJPET{$XFVI%PAF^Em=rXg%@A>sUt?DC6&omP;}De7-nBed8(7h#U+ zV@+GQC~J8#3;jfA{p@Xd)p1LX)z|d-S-3MGpJfK~?bC2z6o~`76*k=M1}j>0Q`bl? zfEg-YEvmy@!}s}{ALqYcmp|~K26F*`AMgn92LgaVAP5KsLV(9WC=dpO0}((Z5Cud7 zhu4!&z%dqx1LA?Fz%w8LNCc9AWFQ4d1)c*hfS17G-~aLWzkdh#|NZqRct3sCU>VB) z`tbP4`V)cQA$~lFKZpNcPgC%Bh@T1KTYZZ!^gF~yg80|J?SJs^<`4gq^G83%zdy#m zKgPd5#=rkRjDLs0`Q(pq{}CC4=|}ySKga$tqgcN^ZLIp18w&%vuNp0({+{oJwt?=V zCG+d>t#hU7V<$eSx!Rr}W+Qh;tKUYiZN0;4q4)ybOCxZ4=u$PbqVEH{v)!h>8DKlm zJ=JbscyYL>h>7OCQrR-n^2X{W=%cFR`x#yk7@ty%zMnFNH1XAdib+@8Vr$zi?(*^l& z>-(Eo)Kzc3cyP-lW;Qn3$dY?_Y^B@qV+~i*>e`hSX^2-3g7iQF*4@-Sgp=xe04I7m zvM}V8jM(?V|JW(f7BD+^{Arr2cCP~Ih;RM9l`ra#$MDg}>Y$unNuC#1r5n@zyC#@+ zq7em#&S;UX`&c`)NK=(aS+{UAFPu78J#&%4D{{r@B(kBRt&!8dEPM?*d}*AxlW~S$h*hFM|T8B;muNasw7AL$)x)C>tDkk-~Zob{`^09{JR@4*RZSQ ze_^v#rJ7i``CSW3YJb;n6y4ybx2WfNZn+TAr4~@Z0h71v$gw1!{nZl5Th8+%F61=M`n+e^y%5BrZwbz7E(Ol z<bpNW0n zMnfga;cQH-5Gz>G$v7a^Xczy7*0^Gu+|Uy&C*93MD>){|L#yzy>P%y2ONx-6 zor0^nPxQrzJvFfCynh7u=t%BGFL!_8IbE{lPP<7Xf_Af4aM^C6Ae$HHFJpP67D3yI!^W`K~H}1A&YtgyDK)d z`e{(FYpVM+FE|9NuG`j{BDUXfi&}y3x}L|0 zJ3S{;#B4>qgy~JLB+n*JtdUryu=W^ssu#!%lCxKqI>yS!Fbc3X^M!6g?pFz5^D!!u zm!3&A1xiw#>8Qhca%uXEzK zRF_XoUXAyZNwh}PW$r4Haaj|sSSouc zDVNI%)3@tNW;GA>#J}$}_X@M7SM0AeLfH`2xHsWg5#(^b=hY!XLD6HVIrT1^Hdiji zr-e)kkOxYqCY<%RU%rDf!W`>{wu3nOB@LuZm^-j3mD2L&v#OAaW`fQXQvHV!5@@-`X_^&f09xB-v6rq z=zo9J_y-T<-j4wI-*WH-;7AA%0mlGhfCM-WoB&P&qyQN}4p0D;02Ocwpay6FT7V9q z2N(cGfC*p*SO6$+8aM--1y}(#fE_poZ~*54PJj#G1}*?R058A?Tm<+50YDHqoI?-> z$4h_+APR^9;(!Do2}l9bfDCXMkOky`E5KDi9#8-j0VO~gxCW>I*8x>P4NwOT~mA20_j0879Mum&CgHh?W) z2OP$C0LO=bBj5x$11^9o00Z0rcfbRH1D=2vfB?J!VerqtdH?Az&i}W9{IlM-{PU&X zA^s$Y|LI%(L6P4f{udB`4ux$KRDNWVHzV{YM$Tj zW=T&uXsD}rFK%7-9p!V*?v-)tY~SHRlH}+3;h43id>?R!#Z;HkZLHgI-t@6^A^3!T zcgLjz*`h`{TS?66!!3FDC=k4r2s<8zln8&eDWKja7L8U-$YF**hFr@DgfP4%}iJd2OaK)xTLs6eEV z-#d#LiSi#mb@ed=ejw{&~v^f<(R@Lu$`i9Jo2!&ut#HHG6pch!QK^@YLO%_n8;s!YsB`s#4pL)sx-(tbwt@ ze$Id3;n?@_S3T%Y{uue^AJ@NslKsm!rH(g!S}=rkGsqCZ zo)aD)B$MwU40JZ1dN1CuS%U7!o!nPYC@5cF9h%9!v;m>Yv9@m+oc5=CeuDYdR&w>S`}e_|%$xsgZ>a#kJU)QKoxT9~j@wg+8q|L!8X54$hUC6h#IM>mtaL7fkKD z^zvRX7Y@JieR`J4R+)ZUg!*$tz;08hBn3uC(qU?xbOhGaxN8$0#oX~YW3em9NN>|>a{c7F!^L;DvCwYz=Vv^pW=1V)>Cb5$x-PhXA##UK0B@K?8 z;vDXY`9RbSF4A2MdZYzMVRJQJ+-OPiF-sa<{l2ja=>5^ns6@B>4s7xe;#85P^$1yg zz9znb)`{&1Bq(!>y|fA?!43^;s~V!FYbJTSvj}fl$jpSM9q1|{D&+sglBs`l zHTu2(I~-5`=>Puj_b>WS&cDYk-9Wq6kwI``%2g*+QBygVTbCS0=ZEe`D-Id54>Be` zo3vT+b%iKqlgw}KJ5I)~g}p>?rk=1_t}iuJWk5Ctn{J(X?U^*fDA3Y2cK7*%x9WWM zTudc+nI?HyqlW5}UbGD|LH?mboLxxsn`ReMEJN`2s{CwSJy#vV1K#jPO{QV!on0_3 zVCs!4;WOr}1-{}FmHn4CZS3tICF`2wTlrTvF1oJZSsWR!>tw<)VxR6Zxr_L0u1VZ} zU;UOsf8OQwR*^2G>q1@fi>Rn>+liJ%Si2o8!N}i>9P2ZgN;C$8D#zUHcU>+EyjtSn zaUFkV|HVf_8R6J2Y0_B@(fmtjjyk@hFftU`BS|gGsbCgQhQ`&7gU?Ro8a&D~<`>%( z)Z;K0!XM#=`;A2hxH==Mm|(|I&>*-v3M{2%S#kjhJl%l>S9f^-*4B_Q5^uR~DBYJk zpKGqYjOA`paSq|<5Xk%i3wCW{yuRtv)aOdFSHVcV;eAPY#}~S+L+uv$N=2kDs|t#8 z6{Xx+Q^FgrE5v(NU`d3`V@2;ug2|J|^)dN4Ht2v>JLm;bCEXS8he*}M+{_n^7gFngmZwnEIppxVOJ8Cugu@#~71J){Uzp;!{wIS$;$H)27wG}q6 z&oNCnHrtsRn5{K-`Wiy9d>J^k{>?Bd74*z>!BE9Hf9Co~{kLMl(W1>Cxkjd#@JF}L`rIe}?9Qu)!-Zb`sVW$-<+zkk-VihJMa zpgu#LjMMWW?>f9{>3u%qxW%T+*jGqyv$}?Isv<)Z#+Xlz(in)>DOK6f z^jrsv5ON&^h13e{?uD^xDcsPu<1UL`-CQxMGZgF2<+YQPd7*1X^O=qIq;#$SFh@FDiPd?>;BM98~pfW z`15AQ#;!n;);L8j!66+BcQS9MB?(p!8xJ>0ZsFz-&d{3|Sv2J7olmqx$y3^z#BphR zYx^vulK*vErN0>?{j>l0-hVj$SikVA^7sF4{_g%?KAh{|-;Rer{fdez_K?4=QE~$` zV_ zezpe7KW@VaRJQrsnlp#*I_y`q^j}qMe)_Bq>({s)w)L~0;6Hv=V!uKDISz#VehK|3YD;d^k{=KuB(1M#=My?%k; zApSEDuoU=L<12&sao^@&{*$ktii~>+4HpleS6Yzq%w)OLM2&D zhMFYV#6od%@o-c8jqaH!Gi&SU8T`D*1;^(A-bzl!hp|23;R+Q`KO-50trE?{| zT`q+|V&>+AitO6Fs8i=p`$SdHe;hBZ>~f0 z;*MG%I{!NQ!2zrIx%9@Cot3#_r14Jhr}Fd4lin9d;yR8U4PZ@v`oL-b$QT`iMP~9R z$qeePEGXB@XaTu5ubZc*q%fDEV2J&JxO z_OO-vIGv;y{+QZ9SNUisrEU)rjn_P%aQOH)uHaM@6{ zlX~0PTy#`!$lbYmCUeBiK_zRK7;UYC#BA4|{qA0|CU*2c z#Bp<91-B-{9<4Ypumv%Br65W@*foAgI@j9GcwVxcXQPO5z*}_6SM+6ZvKFna!};+S z|11;mz5iJJgN)yQ^dEnk`n6jK7OyV82?Ql2|aw zO(dq@^(TxUjM5HW9}_5fk6zgn8DlOkeyaC)=G>~~(BKI!c=eMsgL+~q$0SmRPOq+1 zbP!Gvq#pMk%Rns{9?%pf%hX@g*H7NQ1GOwIvxu>J%TqPZ6nSwaX)|96lkX3{KB>X( z@j)oC+S$T}_lsLTgGfb;$8e(FO@@mUQ}*RW!I%@{bi01if*2st9a#)p@urF_jWj520Eg7s; z^&loUXLGEp#SC1^M5`+ zHPFamE%{&5(%SpCNOZ^%IN!Ipr=}j zAuTmCHREa6uZ)j4@2_7QDFlwSpQ>yehMir3&V753P8ShBX=?YxN%eZ&amm*{z+e7{2&hLqc{#5)Io`=T%($Hg_}^w}$Mtm`oa$qf~58 z+e&m0tDa5KX3+R@R&J69ZLZ3e5C-_9}fCnujzoDvDOy{k0aTVIel zs)&5#zk4LsNcUBDWyZ|Q^^Jo(rkpQe`x;BWAbwa!M;G^N^Usnimx$Lwjpa_(65j2~ zndZ=-#j6pepM77^SjF0V79CKy@LE5cCq4aQ&~q*^ObZDf;R8`S5H1&mMxm zLH;QL1SkXk)%=q&$Ul{S%RdSI2JsU??DAg_-xb97{uW>OH;A7EV!!(Z@xws;>~HZe z{RZ)qLF|fO5I-HnPx%)A`}pnf`TP;qulyLl{b{b>Dlo%Sb762iRQt773KSJ@*E2?(80<8elYNt3%I9{fPvd0d8%4J38p;&0mt(9&J4fyka<{5C z8qx6|U7Uy{@wG9TKRkn{j5FXY+O(Ih7BDJb`ZOJ(Uao<$cbJ()Jgin7Y8_4I$nT=)2E)LKO2rG%<0@Dm(uMe=)S~~mbI292;xRl4_iec-m zK0cl&BOi)rHIv#O_#8V4c4yb$_k7P?Zv;+L_u|B$S|`~|kInW`YI-my-MWiyK+QYO zEM~K)dFd$;$!s^h&5pa2_^`-QhW*vB74IDnmiRptY>`esYW+*1wS*(vT`87X5n5N- zwO6J0ZdH0@>2uBdqEs$2Tr1S4jh9fBZAFy=HJJ`{w`*+*(_)Wt>+4!kUw95HTzlUe0L{1hj=m$x)Vg%2am3<^Ar{xxpS_~#DG3{^fUx* zOhbmJx_vr*PSp~!pA zk*u(8gK3Uq`U|LbQFSraez(k_>7+IBLN`|8jvXyw^eh5PvSJH2-V~*5{KJNde2o$G>J%ZWrfs3g4Gevh#9taakhgAOt5Hi~T&Te> z4?cV@d_wcd$G2>XxQXcoMl#$No+GE>e^PVnFRZ>Jyq_wO=){vSMlws&{x<~yp7 z1ohsaKrcnU(Ef`mF6-3eUX)e`>|M50D_cc_R|Dp4Ly7Yy{euZUFHp*nPm!H zw^iEfoNTR(#HbadFATx^bz^f%*Uo;(Ggi6(_yjww4l1@zJpxaQd`L(XA@iV<0jqek z*Sw^A<%<+)^A}_SYS3WpXi4&!lBeF|0=7}EQw1LzxtkfM^21Wtf|0NxHnum6$8FxI z>yzkaot8V!Y&aVeLy8WCC_DROFnr4xOKfF)XNb#9kxp_LGR^rqH zVPcbnF5;90#x@x)q4vmIbXPX+zw2bdT?c7FP}Xn%Qj?+s=AnPd)^y_GQG>77!Z%(ZDE-qEmWKzdZ{L1_RUs;bAM3& z%~PYg@(dRUKef?|7!sU*3!!xq?QBibiiAcSND8`T8W0*(i0p@qyNsC9ukV^7X`xV@ zhbxJ^^t*Gx(u>Mwwk_|=2&K>C59T2(!F*06cDJ^XsIVNpP}aqhCrnd%)0SaT*ql#% z2GX;BwmnK?f^CP8+(zh(*CK+u#;5$61fRpOy< z%Qz9U==z?^Yh?8hEsEwv+St$tEL!Ju0*#`2QLR9_aX6*7%-6y1{cq}z{`W`!drR~7 z9W8AgUDJDJ_kX%D%h&Ibe?VYRa7c8_li0ZUr_T~zrln`R%6y&mrm*N&-+%apZ-{j( z08?5ArCq$kz&Dst%pg|olNmgc@k!vCD|y}YMZFP+rZ&7ztGep_H*nLeI+TPb4ZZ3_ zPp;`_vMqS1?TW7H(MEpO#+XYpCrHZZo)O(NR7Q11j7h0eT1B0NJ?%m%^$4dEkq|>3 zraS`o&1mnxkUmYu$8!2FLus%lFGu$_-02kFCXs)&r8*fv`I)yIm{+Nd~M z{#LdJuW1bOrd)SRjF08B%0O}M^;CJja( zxg)X{E<>;4?(Dy))S2iE@uK^bW48>p8D3ktz>y%L8I@tVYRECrXa*;^p-_*w<)iuK zD`e<#y&(2@?NFfq7ak6+{`{3wqr+?!eG+jgUHtSUJJ*B9{W{gJ?Hs5_97x4k%y>FU z7Mx&3#+Kh>@!o;oI)nW(l?dO_?UIj)DQp~Z?3Y>G51hHoGMDDnGsfMIQzeUev#>?e zsQpOytyH zWKEL>3RQCDBU8&RSkt8GgSD6x%R;ypX1cXR)kz#zDI8l4rfE;g#K zU?$V)uj;llP5TP5OXjMz%sqR|ln9b>%z7?=qhbAVM=VU(_GlNvgUmxH5@8}=>_mBSj|F-|$ zm6;+6g_}>VQD6<6cx?MRYIoQ5tY7oy44E6pZK%hZoL%`CXm@41XqXzMYqw&6A?>Wu za%D&^FT>!E=n7{f={g16vi-yuoZ1|sd|aXB1?BaKX9vcY5;m%-y*{Oqn_$kRk-&oM z?MFTqWFfs*=vgCTx5;Oer?b_uNJg1NHy@FRg!CPf$TG2rb2*20u>Rs-t zRj5c+?wL_$py!!FYSlktp*Q#(JVEWSZLgH|!mA5PS*hU6xy-x5C$!I~9JjT#KK7a6 zT%_=TYWr40Zh1VxT8DBvrP?S2J z-oT%-W8_FBCW0@MV?zjU>EzxGxKjL;PisQ^a-BCfLJN(q$Gw%jv&b^2)o!smqTtuT zo_gT}`89}u-M~SQp+vOx!rAho-g_ne(k)J98vLBaie&=JgA&!xWw6Q)Vfos*N{g=Xaduw9QfOT+kRa4 zjnu885a6OmxzsM`nadnqvA3y|!@BEpvO9(Q*_D<~2Mi?$a!c8~HQqB76#?hrh15Jc zw^c?TO?AR!U2F+8nL-v0s181liDFXggM>~h=W29_^gLRxqsnqtJlB&og7DE6(T{2r z*XmToj5n?Zh2<#RBsRNcV&l(|1+7@R)wCyvyBu7{5kzwFfW6oox=(wVWq1-XR8dcP zwQEUtHIgT8CR*=xe`~<$zEVm>dW3MmngBJOO@0Rn=h=Li`4nvf8C}FFWl!?JI+vk) z&qo!HJ!){+(!Pgh)WO^26n&4b2SU_lJ-30`Xu2;Fx@2{8*n@8%7u~+77~j188W}N! z-?W_|wVzXUChB<#ht3T>xe6aTv0C?^-*fG+oj3U5d;k4o{Qc|p|0jnKLDsoX0dv@vVEw-lL=JKtq6|@ksQk?g z_Tj2@P-OVuXzg&-{7>h^H9=#4Svvh~4Z$yeet*9XUmLXfm*wF9Mw>skG64)Le(|gS z`_=u2_f&uaPrtIIzkkJt?;@|BQv39=zq6hWy!uX(jVd#>bGyNwNV z;xow@;)FZvX;IB`Z>Wt}XKgPJS^Hw3jhzg6@4fu=Jqt#Z$QfbbV@gxgn>h{G{waC; zrCjn!mjIeib1bQj8D5!MwDK)z8+eSKUUeJlri)ad=6r-D;m?TF&A^sUHM=1d6kCE?l(YGpI?vf>EbE#9=fbJUjznC{Xgzv!Hd>F(Tb2uw z9hX|18J?oo%vv3I6DEu(VwOJbd*wldSd8u9v+d;|Q+K{LMg9ILc}zqDnw8D{O=DQn zo1x2iorae@$XbF9__0--3|D(&*-WEbEg@|CE}A*2LTl}O<%p*bi~4O4mie?sFlVF* zidnj2!ZKi%`J9EB;Ao6RcW`9j&W($W$C_F`yk#R&{YxJK% z%w(He3))NHc*qSFfv*rxAx>cznHdgdg^`NYRLTtR;z_25VELiWN2~P zAKy3&aite#75PC@(&4cJaBEEZ1A5_?IpWkMkD&WUUedjDh>nS|R(ssqW_#hwKK@n; zhPCltuk#+>kr4r92YSv^mxtTt{VQt)tAy!nayv+T<#j(*@xhfby0GAU=BZD{-P0%S zgJ>uR%n-p^OPj&xE3=O^7N4$S^ z6!p*6VIHnBJa*X6SKOukWo@ec%?M8oG(mjW&bQTy|N3)N1LM&Dd5`7c2o(J4{>s+= z(Wp)uGx}X2sfB%{e-)XRg z;4f<9AH5Pu(8Pc6{N=7*V?tAquw4*?x!)#_E+1)n!o8u4zKpGVWo2eMreUW3M$=5? zyluG=k$4;T9Cgg1MNs} zGdyp`k_ZJ%d|mtTrfl>50voZE=4UH*7wpUn-+8~qt1O>zin;<3z=zliCXwVm$8n-d z1GH2QI=XQ2-L|i)e9g<_baYYLL!9iNu0!WUXpS2jSHXt{4MeCRJBFx^nOFU| zRf$N-1tf+|m%3-$<&`MkwdfCp6i@3hbWaN-B0t)bjzCQkC)Wa3CDoxpW^c!{o5V+Q zX5B6Y-=Xy}y1(*_qWP>}xCqOfkP%J_eUO=-Y>TS%N;e$3#npM%cWd^_@lz*G74GB- zC@7s~^1s0mow-5q8Rf-?UCUp(BR+-ISP{}IE6(LJD@n5|RL(SNesv7Aj>)%LCZVu5KMWM&4uMX z0_|6`oAN$q>DGKfvbwgOe05p44yy>%EK=E4n;WlOn=Fz3j9j!Po?@^UIZUQus3SAm zYUqNicwFX7^~u)O*f^yz8|k|zA}=*EQ4%t)@kuB(XE`kv@2@RRI=S7+oKmNQnNQBu ztHPF~xl`7Z&{Z!G=HR0z^)t7&ji-<^6d@EMcuKvOIdeKGoWNscv-C!~Lf1_#CdrgF*MS0l0$n&@)h9xUjks0N``~`J9gnjSwN-q9%F*mX`9a}U ze|BZY9zuH2v&EHC=n4gNbL8L{Hr!4?DMMz67~Hsi<*XNEbzt zE3V;1|4n)7Ppm(a;Xdpre*W?O{0jxwBY%YTe}A^~?|*RryJs76KL1n4<(DDn@mp6V zO{Vgxtq#r@5e-^gTo~e+(kARnF=fZihjbCFqt9G6GJePuo#Qe^Zx`+*JpdQ+knhJy z<>)oqOr&hBo-5gtdKS6D`A#`1k0iB{r%QuSbeiN-zZcoLv|KCq@EFuM1@^jC8(WW! zlX7k!ch(Uux77Cm3c)RBIbk})L!=J{^{a!wLcl^6Vr;Z^1mCSbp~os=(kCzJ>76Tq zH=OX&*E35XK6jn(Mj?S|bW1~`WZ_npv_Z?Kd7CP+g;GQI$JY(;4OEDQ-HQ2EntUnl z^O>68g6@us9DRXTZzgd00_o)$N%=hu?LlpI)R>=B*AsMrn=mX_o&Fem#q*^yi^6q(y6YbY@MjyPA8hCo zChwhw-BK^LMy$Md(Q|m!nSOaD zndY3cRi)WZzEK--k!(tzYCUDJX6pINWOHlw($ralcGuZ!U3^L8Zr9w;uH4>Hv>CK@ zI~THeHT7qDmmmEH(OHL60zOeMeqH|cNB-qkuYdT_fBcF15A#3B_=6n6{inMA=l}Qf z&wt7LALhOfA3s0R{O>;@Ap^Tjean9f{0{M%K>Uy2^8bRrLwq3+zy4c%q2D3?br8Ss zTm1jv@#pRpRD7eQBr%EytOA1utl~^i`&MFkJjL01LAlYQXNPB1FLaT=eqQKP!-gh! zxEr`4?3#f^$cL{@b_UtNopY=T=eMLOlbV=fS}EP4uf-qTv9ZnCaI0e-_El8IC{E0* zh2pfHW2@^7Ibv#A_&z^R>0q3?7hke5+@@K1ORlXV;0F2aCw@!%8FR}`*+v%b>^)$& z5a(wHr!96H8cWSl!7E)?Lv*@Z;|Pj*{vUha0Tor2tz85`1SBIFl%$fg1StVYA|eKq zECLdWBIl?eL2?jK5KsXDNs@EUB3V+AizHDBq$r~Qsh;*t_q09J({I+yn*Vv%`Xp4{ zz0bWDcb#+gx4&J&_x!?UY~T$Sdk6Fudb}t8%jSX0reraoT$eOr)EZf2t5B@I`Cp(k zu2KjD`g7CPq#|2|uN%HyCuyU#mfoTa?(qg1%N2CW$7&vdC%iK7jiar`%Aus0&MC?f zT_1}E7lQO-Z>{6R5}*}qyWTf4{8IAFg6d3QQw$h2BohlKYOb;_D0NW`$8Ri1+mn6QvZ@rpJjxIplOkTJpYq-p=REFWVO?9A)D-0$V3wt#u~_K8sFR z4$ZbWZ|F;m+<#HpL8(eB_=(Y$(DKM>o_4B~EUd&;fIsJ|DoiZ4H9w=+S6-)^E<=lN z%ig<>^5hh+Z}kyb=%i4Iv#XOGaowc(n$ZpK@+)$vnAQ`olyY$W&q9g=aegXi(7ee= zl$nMo9G=kG{k(F>rg^cm`74A0sKbLogO=#LdhY{KB<{ zdJa{kJo?@jF-1q@`HU;Vx*8U4sg`HD8P(!Do*WMp;BUPrznimYv7c=yQwA!hW!DgW z@Opx-Vwpz+P;N_GP8dBwkpxC-CtHPi=|`mMqfmsGEDE zv7_Yp89AFm1(_Q)ktrVMY)8nV!m7XpvAE{bL+K6-?vW?mzREVIj8+l%TL}XNdl-FL zku7lHW6(N0T#X`yDwgM?2@!cW;nG!Hm3&p6a_@WY6=8N!xYB%_C5AMg5Lb0V5eYsP zle#K#C`M_&;}M50d|bqvO1P1D&hypE`}aXZzTCVI;(fXkdP{LTwB*+~xXv9sEq|ff z&gmJ$E}*dKpeK_;e_+fj&pjm3dU84pMnvE35SHYi0RC7)bF{a^Ry|5`IKH&)T)dEz z@x(7IRlHX9OVJ9bgPV!m)zDxqVGSou3Cr^-UX$r!VQjK6dpy2I1xfn~NplMfjoE*9 zaiwg-rzL{UHM@aDT-|wDOG@~Od0!eU$l3=<(|=ML$7bKQ_zts!r5%f*-U{uOE>qp=gLsB@C#PaM2{~9-rgy; zFSLJWbKq6deU#-I-7Xsq_7G_wt zj4~>|6*{&TbTraVRT(-a?}{I>?tU8w)Vdl!5Q`RvoTBYLcI(c+ze61*8-y_OfJ z;|(1OWaSSm#VDggP~zDhskH@2eF?Qkxw-Rky=l38%hlIF^#+ME{+O>|J+K04vqTxnGwQ(#IF?;@m zANsByC-W05eMR!Q7@#I@!fubYDF8aS8&d{(U$>E+NNQv)6Y}Po!cka zH`78-X3*z9Gr@Gt(!Ul`%?=DLMPfrPDEloQsRe8nqQ?cxolGz9Ng*!Lkr>mDF5M<^ zI@>Mm;$f(m7k=oz&J>ESJL%n@%ogWG>!sVGqoXsWFJD%=TzDCA*ELVKBTmV_s_C-d z3l_%txm!2A`(=5{F;OAWnh=Voxt4zD z0j$c4{dT{VmGyXs^=6ALKUdW4m>s|QbMwg=Bsn~f%{_&uE_#inKk&$FPYca5z%68{0+b7uXpMDHVlC}`}ft+PGPP6&OQI8 zhlbTg!;S^ZHvhGHI+g`PhqdrK_xk%5e*4U@cIdHo{;84t_K95uCK&#No$uWpQDBD= zYwLHe?JvB0>t8(|De!itKXA^k?|`P!kNlOC!evDzWfj#c|K9oEb_&Qi7qdR8W=9#` z?X%kUI;(5ZbVcx!%kkFzn-VuWn0#p|NvKaSt_yD0&)FX_9KJh{%W}7oRJ#4q3RpM=uuQ@72M11&Ddz0sa=LXtWsB<`fzJd3kAFur6 z!=ukHoHNJ}+(^D$8fnr{#=RdN==oe_S zm0H{{2{$($U%%=0!0EJp!&o>Sxrhw&{#Dn-WxLzeb&nFBE^m79( zt!M={D2eVL7?)=U&7_2;`}Xs_tKMML*!_3oyGX6#WN&G+H z-yQfb`Z@n4@gMLX1^ie2?Ek`lz<(z2KlZc#AN-R)%|BW9mOL7ml*V|W1e#e``ei%# zD%-4wDAkGU;@W*ZQUn9(Nol8(1e@xv^gv58!b&E%br?j2eauUXtP(C8Yed$xCW*$J zDTeX17D=q*S!)sR4>H3#4{m}&SvyS3O}V^-EW0x#qxH5pY$uJsAd8gO2xqr9QTb8x z52xd73p>Y}nBfO(KFhqw z^Faf25@3nW*mpF&^){sd$ZuSSy7ca3e1$ZDqG5j4BTBq#(yH1H0y|%!qx{~K?uW83 zQHyP46rWCcQ$KVKRP3Ft?H|4#w~peh@I8W~&Xty)t&iDnl*4)ETYj_4wwCKK$6O%lu1(&(-cY9}x`w>(UbK=X zRSQQg6DGHSVm&Yu6VRxCqhD9k0*>Eaq)s)W zJ1)Jd&C2dsXrC5})6oi>)Aoj9&`2th%1_Z}#y;4XTHh+mlc}x!G6M1t%aeAZI*1lQ z#>-EPt+6{en}-)(l6h`qtSRSq+0E=H*|g}K&|a2!$MwoGN)_)@qYD3cgJ{mYO#Q~0 zt&&1U9$!*9yL}DJ+ZE*C8$WoiMeis3DRpWG|0kg+-cL^gqmeT6cQ+sPu+Qh8h?yM@ zf1|7|mgeL<`F==zPQ*QBV$*9WW40}vK9yTL^jY`yL`IvZ``({}L5Fk_Z;)B0I?$g! z^mdMGlOHNpm$+6N+4*2g!LjV-`?shgl=n@#plxYwy*qa@fZT6*)+}p~!KpzRIrEiN zT|I>ph!$$$_D&nBUBAQA=}c8jZXR|KiNPBb`*N;_w=#z}(&Zz0*ETMFf)0M6QND{= znhojX`7EtNGSG;6kL-r5rrq;x5E+=nDkfoYY*?d2pR-kx#D(37`)t6Nc{H3XStg~|KfdH{ zb>lc^0?~{E$E)16G#)yOQ<5T*jqA22j2IW#dt?kzJ8jXh%GjKQokSbv&d1?uD)e_q zE-lB#bFbmdj%sUf_pYW1@|jwzu-#+b_OiRgdTG*oK=#Z)aX$5wTAoE2!(&;mnv6ic zoW*E#tDP&~y{*!MsXF`GadwIw1&B&pKh)BY1>@H|Nge)C@#J$mmc)~pX2m8d{13`2 zd`+Sdw_Uwq4~~nA>z){C7eju9Yyhnd%IXxLz*g-{(u0=vEMO**HPpOx`0~J8;wuE? z8$U;O9R=EKk=qj;PGxbgTw+yo{fvHyf(CfHA=QZWl^W&JTBl4l#u|90mg_zdEOv(t zhJPe`Ixn~gGgC$dgjg<#Eo7yRNu{BxwatxLjBz-uG@o?r z-o?eq=Y)8w$&&q|VX9fCn=`Ya0T6~I61@n3e zP3!K8@j)Bbwl&7y=BNNGq z`I4jxy+z5k_?2sk=s=90Ex8(!_UUPoS8Ht2DxZ{$r+W!|E5Qm)AzS-ER-#m@_PNB9 z>A`I^>0BAv#Q-|eo#-x>wf8DzkE7k!FA57SCbJ(F9I;`H8>F;qs7rO`gqQZxyI*c7 z(!-RV@ExmK3qW4KuI3PU%nvSEKh~2N5g{u{DdVRj$39nd7%;`REo&&M3_e8#Tl?B_ zUMto6W*b}M5Yp3a?oWH)!ubrP@|N_xvcZyzgvcnrxfu4Q%Iu9iqsA?haE}Km4l?m) zABP^B%e?50GU#waPN?0$$jN3MruC0^rHL*eCmtRPHJNvo#_36=Scf5D5eUMzVarb0 znnj+-4;)2h_f)2-o-NmcJp$LGMTM$DAM(0U7J?_QblWj2MFWe;&=X! z`28b)`tRL8`|K@ppgvrE1|cPg z$0d`xqIY4UDu{sM`)DajXXlrm7O2RHFtg9( zx}fuciX{F)a`i_UQ}N;IwNG`sZ1ZNlEP@ymG6}C$YAvZY*Lqf6Xiuv+;2wQS zSJ=lFXFW4`BBClfaLc=F&>5)sfc01A+nr=oOIquN6P64n*CF_a>aDLt68Zny^I$VE5Uh(ljA>-4jy{GYZhReg|3;m}aCCMM#A|PIyn;v!kV7ECE9)NOP8J0;+pa78eU_9a{=?5 zRP_yQORCA@^Xa(>Vx{EbBN>r2lo|o}e#MJ;OuL^jO~@Jc3xl_$4;S`1=%F_YAA{d~ zihOMu6eM>{s~>XwLeGXv{XzEmXXRZMTuD^|d@d`)A1%3yG5fPN%{GLVI=w6$MKEc& z0iux&j$4@4OJAtHc$?#%0H@r_nn9}D>_uZujM2q?%l=MLgz=RJ0hg!?A|x5L1LvAO z5_ZqngdPc3Xla*3h~4#VSTkaa>V1)}kmYHHday)Jcrt2$>=4OLi%k!F@9nRHrj=_}Dw6Y%u~+%hq1A#5{b z;^85+4bYnoxhpI(jFH}XBhdPpfwSsTWn<1s`@WD1;whP&kMH}ZMLtH4aFZQ({II=6Gs(r$POZ-JY7*AIq0^BLj8}6BkBcH zU+yQJm#n?uI)rpe&^J*NJ{)D~#%=oKd}Gd~CN==&c$jkjX+_njPs*~#RG^Q!2EA)Y zixz{Gd+oD$hNQLaM}7V07`9Z%pLkX*9xi@JYptNu+#hUWc@q}{bmf!_BNXEHJ5dxL z^PJ3OyVB+6ROyO16&6(A$+6olUYLGRttl&oK}t?K4WIZhOUhRAP-rjdc{(d|wSARc zUR2qImK-Lt{0*1S%0*tmci(FbR_zH0K)H8zS+D4N_v++k1lCenB3d(G89JEP7x%)N zH=oTuPNe5%)J`ORPNOV2jV!le@E)4v-*Wlc!ZkiPOte{Chfby${JYTp-@J zV#SlD79?k1o!x9HDXj*7I=OXJ!_^}DnwSAy)csLCOD)>cP9vDZ+`H@jGNtDv=|!Fh z)w~nGeBhoiiLpV=HrG+e(131Fmgty?kr8DnwRDkVn!MMpL^HR_8OYunSjcPmcMSf{OUW&|NZ_m&RbydFV#PPtp2AS>_4ymy#Fi+x$wW%zry;i z`*{q%y13u@VFdVp`Llnae}VrT;HMq{JC5IR`Kw=l2L7>pBkUpkFYuoW>@)!UQU3&h zc7t87VUKU0|I^^-|AzYiAN3Fa-_$>BYlKam68j3lUtxf!zo{{u*@rz_&xpA(m>O-a zrdVWJ`L;0Wb4^g|HS%eyfu3p&(2}M}DPBK;RQHEUEdBDxthF4)BtgSJB_Ng;G^C({#^RovRL?$<1Ly!;HOf#k(P^?|1gs<&0F zU-0POSBRqDXZOSI+AlpA0~RsKuaGD0iyU7euNu1Dzd{Hr4wf>-Drv5oa7BkE^zp?{ z)os68N&ww_W)+~p@O1(By7g;SW zvh?QI;HyK2mEg9rXN<9VV|cdI zB`KBQ+?fQVqAGcHW}TgUJkCkB!W6E6^Zdx)rVw@xu!P2?D& z8GyiH7mn9|lAWh`(?57jPmi0YRo$k~WguT+!sIa1Qx1l#VbsuVsTnZoA6|=J!4Kf5 zi$2Hk&xSPR|xK3?JR!bkiW4q3k|AeJK#a-FTBc8u=6pAU`@&Jj0&yK6I3YY zpuNa=Q5XkV>l`r~ANDH3#J%@&J3QM0LeG3s{Ix4(V1=l_(I z-`+Xwv*r1dw!Z&tdHAbMW3~XNxbEth6 zHYdE^Kx=Day+5_tQ|BHAXd+8|lM_xQcbVp2(`wD=F3VJdMkyB1;=mRkI!s|>TN5p9 zWqN88y6xPl^~v#N3EJfat>@0?0>~R;O*$?LDjH(u0Y{{2rmRKMkxzD^eQ87I?)bAj zV^WSu$L?s7-S-FQ=iKbt9T3(00)ReBf=_oK-xv7`M@@x*+L0A#)+$T1O)-ym7j@+k zJ$);y%Jh@DC@s5yhbrAK#8fl){h)?d|W0#p0=EGj)Cm zttFYG7IEIZA>J7db^@`~93!eys}HRBO>P@FG_>hV%Q)>DVyYVV(uNtF(re3J>Mk=h z-=Wf>b))P@5K9C*H5t{zUh6X7GBKu^6#*IM`42=Si0L@GqdCCZd0%(Q80n8WoNd<6 z&hyu!cw}l#a2)a#(kVMl)_$F^5OWiqjY_VWr75WRDB3A~dmxv;I^Z%XPv^aOe3Nk^ zp_+}Kc5^-*(H?lBxSQ*6G1HdrxsP`$ol}^b9n9zaHN?54RVk(BsAm^QBdW7oy@6z; zKWg@oRM%l)vi(C^jdx?~baZsGhUs@cdP`&Gzrgl2*1F<$D1I63xR!g0Ny#-CuJ%LAj8#v>^dHc3`6sgqm=?Yj z{(1dAqq?-n!h4wEY4}WF;n=*ycEU7*2i-2`{% z9B7MJdvN{m?dM|rqN-j`wY1t4mS^$#XY$8RzLI>(KBiE5`$T)12u?-8nVD;(X0D0o ze3X@YMg;Gdr;TIk__EA#YLdq*&bg81_KvSUIX7|cJk3MA&kP%LpsQ3+ABEV{+e(vf zOU0*o+#@D7EN^1VC}QP?H_4-4j*e}pcC@V@y1gVz?O7v4jzJ&tAl2fPQKmz$5w~-z zouj2Wrp(RjqY>f{CWCT%7z*|S3983h3`>0?PWxIony(QeiaWJ)DUp-%LpxWJ;mcPf z@R}_I@qFned#-F1fSq(Xy0)OZMh6W?PY5TEcE(peYo~iDsKvmz#kL@e=0<~R~g^Hr#voON*os2)N$}BhRz8_%p_wjAb`V0KN11dUQTo+Uvc>4YK&jhq4K%l(wo)WmIX%VGRtPvs5|g zpB|Q=_iWvyEM_&A9Zo{`6_Ohh6;4=?&uKFzf@HTqH8{q(YrT9uI5{&zKyQ@1a6A0& zhnO><3-I+ckx;3!i#$Dsfc2POAwia#-R=HiwI%>KvAkFzS~NIJ&D;+oXL+ zyhSmANN6MU)Rd)ENlAC=y=WzV(S|~y$_W!X9`-D@f;n+_lXLC)3GAR&V|K)Nb9UHS zIdV*^dz>UZkj2pIw!Rt|+FYN26-eF$>vU1&L@C2?3GnZIk-NnD_qO7{#qZP~@%u;o z{`bc3y|UT5W>Uj?=*bd&nEJ=uRsNZZVt?!WkJaQkWpS1Rmr+uJgi3`pVoH(mRE z7%(o%UJj~9J;|!GF}DJa5Ake=Z*@?%ER5$-#Ox;Af~57h zUG7L;lSWcbTHl~y+3XWhD;?7@k<0GJPO;EB0va^B?05o7*}C_!!(6A8uKVvn7;mHnN0XhG-9psIY}D9l(pX?;vllUf`&EZD+DG$W#L|1S&FEQH%(s}zR7rQ zt_=ilF2kTFE1cN&?|cp z5pq~rWejfz-4y+0Q+GTWAUn(s=u(uL;elL9KXMFxwhfJ6II33a61>3Z5mhsK<7TZj z?z`4Wb;s*qN-I!|A@o4!A!33Q2nK@(ic}oPX=2J7^vImIdIG?>K53>#w zkP$%!#|tFl#1pKGVAf?iu**|c;q%cpqD#)VN_ZsnPlrt{P^rzQpcJ+2OXMp$ z*Is2{eAHn>W*5?SZo zfG?rnRK5#piuIX@F1r!#;8%=Zlu$Y>kTK0OFSK-azZ#>XP8Vxxe%Z(9W{!s0QDpvE zt6jUyMqdSA_dB6Ypu)kqiF`$syxUui*r;2shhm?s{gxl-OY)HBDGZ~v4_Yo`WEN8< z_M*Luan=O(^)U%wAy-fiV|qFk5u^vg=4Ayk0R|l(A>G6_d($$cf@?C(%yz^A<_(M{ItJhMjKa0`j}l@o({a_`fuMi~I}n zk9lB8(g^TJ^N-9R|2PZo7xobS7x>QycA5bGsDClwf8=NXV*djF?||>-f5N{y@c%9U zEB-I=UjTf!{1g67fPd_I5qp6BcbsE?>C^O=Ux1%~-KU8hf{TNPhl`JQ>=-@}?Zoi{ zuS4)Dj!~W#k|Ut{QNM6O@;_8Rj{XV>tD_LB!*^xB4KiI?(u~in;jeTPKU53m#0y>S zZnB>{X73&zi;VOhNES_Osib|nhfd~w;1;z_mnuiIoId=NGvY(J-Z{f{w?MXO7M^aI zo2Y>{(wt@IuDqhLkU&GewO6L~)&wWCq(Sa7W>>ew#OCaMnNi)O6paa#0h2`sNSnfD zEv|U4^=s+!M+|4Jv5NWC^F7G;xrcXVk;f{IZ!nfAr9d0z0D5X#JU(()cMhM{Rn zN`p~Ri5}+)%h<}Y4yO#=T@LtxO5B>_(Wrjr*i)}?5|B{kCdeMGnw%OQH{NdFwBLg2 z3LL4R;l}8SjD$KQV!(Po*w4J)`&bC+i&YYXlzb(-ssDz{}pkOw;#154>7Cq63RyRV0)NBmZHU zwiMx=3x|{sjIyp-*mejcoYWKckG@#VjuSv~YxoWfmDudUB7<6wr>)4C95r|M&|ngz zrPBRCE~qLz1tsKrh`X){KGr|LP@Szy=igTjaq6wvSr90>U67WZ>rG**wqYu~QaLng zLgzvoNnp3`?4UZ}MI0dY^iGXSE?PeqzQ63D5&9KkDL~ye10|lsC}<8iP3Ro8((}XP z;4A2Wio(#ASewY$@<@jl%o$~(qWOs7R`>4cJ^$RNn`3HpQ6?r7hoQ_`FvF>A6-HUT zdq#4*k1q1G8-Z?RJa$1PCZT3f&e-xrzpoIP!@#-oa;ToxnY*Mm0n4%-gfff!$r(_c z{0IFdbyTN9L*gYwbackEz4w!Azd}k}f(0C>s4v#6N;xQc5HCsGL2oKj#|eliRtXDp zgl!UFKkeTWwJ#2?%AT=2I)~w^+*+n2&aOF~VZp{5QfJh0U6su&gL~P1xPuJU*4nSc z4mTG*HbRZKq%?KaYU%p&6w`r&Q|g3{YQAJyG;LTa?Z%_xP~*qQ^nM#SY1ZtL{JM*~ zvzo#F@9Exu3zpwL|383u`h!2yKy#ySgG1!Ly)V%T+EaA&44hotXV0A%6%&{E17Y$< z|G~EQj`#fo9|wnqM@A9<(^&DZeH9T953OHUIv(}<#Xkvq3V#3^^WjMwbE zE!l<5M<8gdlrc<-zq1Qbxd5u>Du$UfS=$5{n>VFkx(tT3p!c7^_O9exv`rcE9?GuD zvnPL4$8fP1t?z?QK(%Hgag3%rL%i-!&fXN)Dx-}GNfFbk*OTpk5Jnf+4i&857VAII z#;nZd2TYMwi@dGWm3Sg>%5*)HLDhCr)q+F*x%6pv4_o_}p?-dbQcWP%qG#}RdV@}L z%IjPbk7-~hYLV55kd=;&O))St#m60b7mc%Wz`W!k;b>k^Tw&(Cj_%WT=Q+x#fVTMr z#mk;Xu?^(&ef~m9bw#c92;BS+Yj(?G|Sn!YwXb}C8wI<$_+Z4hyH7& z>DkLVX|#aPJ9$o@-9zokm?hs#=L2#Aw8C)c@bfm*a2o~t8JIuCL#^8-4{;&&gmX*b z=P$^LyLNx{JDC?5=|aZeeQXim?D0wmVDZSdcOkRN($a@tuZ$T4?a7a!9}iDs6sPlP zmZkiYiV<(JVWycXCOjk*s*=jweEVf52&PpLqfE$mwQSxW4bJzKbf#^TjUK2OpUi$U zrW7}D$|H!Yq%y&V&+lIO{sm%8`1VW>HsaPBd6~;_tP7Q-9aCL-VYPDE5YTHOnk$(SS!|jq+-=Gd_MNyUADh+4p3>|?gGI>$l6d8=-+j=nm)Ia=3sfnjE5&DkbPbz81v*v6w|7n zxP5obY+}OH+IcG(>e42f(9>qaY-l0jJb>|4_PzU@StcmpRwzZI=J^{jTD_HYd$(S3 z-q^J1aNhn+mGZY}|J$$M;{ShZ{^eVby5BMsu-pzl>;?bK?fEtPfcR3?}-|qM9VYwXwSbN_cr#awpSpTGKW(znSPC!G<5paXx-{tKHVy%34RDaLP zZ|@wI+adHPZGE5HA^g9x_S+F+pREYiCe4raA3h;=U5kV3f?fDh;2%3JL_jI0NoZt8 zbw>EnaccRfR|O43>>@WdXztthouK6qo#8}br#3&$Z2s89#`jOnZ2r;b|6cf(cCBvK zrK)F;wy=e2yk?(b<=`)2#?76yMH$b(>{?HkZOk@_7*GcbcG`F6cq{DeUKih>E5$+e zP#k!mRvC^`sl87}Y4S7QR;-qRw6Qj5LpN%w9Tr8W#sa%d5hnY*j6q+zyJM$YpT^}J z-Y+$hS5+cXU{YhdPq+!6x4u=mW~2kHw*{`od4r z%?W;TxJ|gGnX{C9uJ&kPa1GHYlv&WvH)HHzUAkZWdebeC>-yWKxf7Rzak%pX%3Aa3 zWq7D8+xyP(W?JQ<{gw&iHK0r~mijMN*s35oKo*+gQJ zsZ-lt8Y;Di*+=ZEGo7cc3KjEpLRts!9d*Un^V+p=*dI5I7Qc(`?6mjRVq>~fpnux7JtD%W@8o^`oOL)Lxp*F(w13C7-^L$}c&hVQr!3fJK4cZGRa$Es zhR>y~8a`=ZXoG_TPdlX-yg36V9S!nf=Ev~KWjhFj32^qGcKU?XiWI|pEmw%$+strN z`p&;#H9qzvc;9B-aB+uK@!;~|Yp0s?Q}uTc1X;KvuA%IDB?#5ig=G&yB>0Lqvg$h7 zrmdr{DIJ%wPTg1Z)EKBfyEospDjpXv%LeBkvfz77@hoM~^Xjr)!e$JZ ziOtI=*_=OhkJZGF(S3H^F)e;JA}r&f0#`A|W9CU+olAFQ%SUfy73aWYOeH(sueo#9 z)M!`@)R`NyPIzAFD=zRN**n&Z7Vn>QJ8|Yg!pN1`ZtW4CWaqP5HwRqA)@mh(x6jHj z=5{b|H%g7Zza1xkTw2}p8g?nm;ID3D>3f{m0s;w7X&5U}$T@IEO`v1kY@k6L(e(FC zoHozU(hMbFf$aA zKDBgRHEUcS7ANJP!$Z2MEc!l_%Hb@TUjqlpc0MVJY%K=a#nnm>q55p9A;(hrMgeVq z4`*H?%wgX1NcCPJx$YwO17piA8=9kDA98jSZ7MFt{~*&krBeZhLmY6S^=65Qz#87{ zyagQ$V}Wy0F{$=0RZPmnRw;l9V6rp}(`eZ;#qY{8Bns@$T=y+(#Q zVRk2``P%AB{|6-xBgynUlRn{1&SADuv@6ZEXZ3{_1~fMo{L(mAES=GhUL|$;>EY^) z6a2J7!x+U(R;WP{*+`{~X?4Qu19>?heR^v!ceN`$Hb+EC34MpEbfo{we3?9CvfUk( zusH%6LqJ(u7|+1wDW3A22OaDo_i$xupCMnDVYX%y*(}e8@x20mK0Xbgsk`q2?ASY z8o`biz1N{cie|`MS!TnlrBC=c`FF&(bo6_maWn7qyq+C9PN?=9yqe}K zZv`9*usU;d?cy+G^>l$~(w2ke84ho5>+yENL&J)LE*}w1F)QpJmmkCq2Hc)(M z(5=?Qfl|tOFR=JXiK`-nwJJ=NxO^^I`p!VD%+TkT8%kB85-}Vh#ysq)k#Zxpa`}E7 zV14c8Y%|2}mEz#!Uoh6~dN{?jrJ9TVbG7;6F{T?q(aAyC*uI2zRl+XGt`q*fn2nvd zemlOczs!Eb?>`m4TTWqnwf}l;_xD#j|A@Db)h_-stElg-?XZ<8Vpx0Mt$_H(*Z&?@ z{}MP!{12b`+Z7U4-&_KF{&&}df9v_%iuae*0$5$?3;(o*-;U%eupx=H^M~%iw~>6m z;s&dhj=iUUwRH%Rrs22{h#$aX0Dpi0fIxsCfF}UK03iUO01*I4U?2f}jRc4Shz5uO zcnS~;5D)MY;2FSkfJA_7fENHs0LcI;0IvYv0lWrC1xN!(2Y3UJ0gwrh1@IOi2cQ}t z7a$KHAD{rB7@!cK2%rR@8K4xP44@pK0-zG03ZMp{3!oOD4xk>O0iY3}37`ew13)W4 z8$dfi2f%xPPJnKJVSq7!9)MneK7f9J0f3JHg8)MSBLGN%Q2+$MIKU@>34lp}DS&B! z8Gu=URe(8wd4L6gMSvv$G{7>z3cwn`9>6-lXMha=6u>6H7Qh#PZGasBLOcir1HSG8 z>;oJD8~_{wK)`EM0N7_Q@h`|f7Xp*50Dm<9?g8@84nOCgFZ>Jq7XjaG|AhZ2;J@@| z|C0X#|HVK1{-f8Q3H*=$>|YT4-~MT@2-x^D$8iYmPxl?`8+-f_8}-1yBuM3Bk01Jh ze_B6q|Jv-0N~-o_%@0k!LMZZ+WHk1bFd2$N)wkX)?`fA0m{ymSZZwU37;ZToDm)>Q z%{q}%_x|A>h>#T?GMW4Ewd`pGCgf&-0Oge^Wrs6wLtI^P!U@N7Y%t~;K`b8XpcOgJ z)^q3QV9AdJGI?KKlD(`J+E-t;b?t7tGIXH(a#@zuN#qTBmDC&f7ndWBRb zCZTrIPY$<+(eDO}^J%9*es{SPo^e@>OG>PyN^G!D*LqWXe(U7bSGNP#8>7xcnzuK^ z0mV7c-w1BXK+PE^Vr+ej>f@vNfu6Q0mQ!X@)BN>35+k{rmp+lLf5IEc2lTs$piRt! z7Wh5$YDIH_lsgYCgsm?JUq}y@BPncMVHtg=8|^FvLDm$`&W7$ugnYRupgZhXBRh6u zW9B36O-I~Lmj$J&`_A|1RUXv0Y7o?_K#RGX31ZV_*|@a8R*MSQYVoWLw~6qUD&MT0 zfSYaxuup+qd@`E})FqbqnH0o8+Yl{6J!#y+0p`J#2(!r&jF#t$qlt6;X@A8;vVNqg zKYuBuq%MpbqXB!{;sMWbEz^u+ExJ28y4xs9PXC6Fxp+%<5|;p;u9n3!RQ&=dj(@tI zs^92Khht{*@Df!fv}#SE2CoWecq=1M;q#ar*buMq0up5xFU{=8hP)x2sYgnC*( zLY^IPG|p>l=Y6Ewe>#6q0HkHxBY;9A^3}DPSmJkN1!J?;4iP{UKZ_F-sdNV6Q?9&L zksD|CkhZVbZi^2Gi>BeLhp%hd^bc7qSSdBR|<$yR^8H> zS|dUcUhn%1&y!K*jZ`OQ&lsIyeEPkK`M3G^+aL4qKQ;gU5r6-5{N2l*Eo?yr$iA#qV<~J1;MMIqi6J2FENr%>s+y;VW4-W{=y&HsnQ!^bbL2JXGjy>89_c z-^UitRbB4NWfx^T-ceBc9;Y4eCj#@@5z%38wStq&0~xuzPZkzjC2*L7)A7xjGT*y- zPi~%m`mo{URhyAnZhMm8n6{J>nJ~B2< zE_hO=7I0;;;-fN(V4o!O?q&9YHOF&l1J?Y!Zzwvl6s_VZPe(?E3a;1QJ^koW(NJa5 zsoAM8xHp;Wa5KYdDLSF`(ObT_&dg&~Ei4!XdZf1A>E_T|foyq0pM!Txz$S)G5G7X| ziePSB7p6TH6$2!tvzP5H`n~(0xKx5%1-Y)?AN-VEXMgfMO9~+PyR_( zs-$$oGfwt=@0KZVw#kuW%;gTxoih?z4YsA(#m0Hc-a^%k`v$IUI({k@H3f#No!MP{ zW`n7UYOY4fxA9#8}=P2kc=v3jTnOR z!s?aV-t*?7>g#7a!3Spg5!F%O-c&OguIu9ULH^W@^;hYaZPvJJixTLNMRDS;9FF!R zkFH3?-3%CO)0vl{*;hQciFxETqvmm8ZH>Q#tW@Le5^D5w{8g1VWueO4iK1rf@AV>y zn)0Z(WqGHHHJZ7#v`|Fn+u83~t!>iDl5;MU zyn*xu9lkBlbMcVy7~9(q^{zO1?V8yNR!)_rCI4vXh_m#gj0*4b)PmB!^yo&nwKvCi zP?usV>4{D>om_dxT;DjlqR$eAnrbcm3ORA0n+Ln2iC9kHN-IsYHr`|roggU&DQLJ1FHH-K}k(#^q6`YzR5P!K29TiQZm-`&Mm$05?n|>%Y9MOcTYmM9Y%r&|{ zHemV!kJ)GBr)UmD_t-aEi*fBX52HzJ1uu*)DHl1H)KMA;^Lvi>48;08|DxOkMX(#9 z>ilGky)vi5PVB1(O^&I%!Fe^?U>sH(RjHABxZ&wfXG&3e!;e7%^2w1z^~MLoMjR;XrXNxVU;8tU$>z50akSyM)xy0x*Thp@b^ zzihv(iAaylEf#Jsh>=~(T>EGv>RcX`Gk2Qi zJym@NLfJ0HFDjX5ZUhM1c26pB=u|4rt@Fm&;-%=VW|kO+%U&q&%UfgB_bF1PVpl5N z$YcvwCi;9i>%FeI)CI(?yoK@N($3H0e{2W+Tm0t(`vLzA{8a+TJv^Ke8OXForXg*$n2 z=1%J!Ty0wkxGh9rLG>Ziz4aLtnbSN2bZ7HxY_HCrW<9Z8@J5BTd8cqnwEY%w+}$A> zyt!_oiKtFv!opk&or8;mRyo@jTI(F#cU*{U*((wh6>(k^%S8sL;fm!h_5Qa;!IyYiwle+zxC8S5c{Q zc9O`HkGzLS9w&rEx~(9B&(6u&hRkS{9a|zsb}8nTzD~=vowPhwVc}55sCri3?2-Sx z%7xd40kvFl{b%PxUq9X@N8e<;^(yx`P&%W>rvUoG>>P~}tm4y39Ru^5!E=0gmBqp2C+ z)5ufooR?(oO>ex^RMZVFKN&OAnoagJF5$4TxqzCOV=Fpb|Jl`(Um?$*lH-=%+WB;z z89LJwlq0ap=|iJupkS#)c_)(AkPnA+i+M`8mZ$+Iz~$ch*{nG^hyMvK-{MCG*iZfu zKmPmp@4wVI`)yY1dpS95eoq>^b^N>eC@jnJ*V=2?oRbXpoZro+{pFnBX1}m!UBsUG z54?TLd;Ky4Cl5};D%AbabARg{%PoasE&RiA|Glgzb_|#Pkd^Pj>eFE} z0#CGtDI+jf;U>N+X0 zjg*+_e0RH5!5PwtreSXJ3O8_J;Dv1GJg;UsnVgGyhVbAc8 ztyzU{Hsn=8SGd{boC)kTlO0LySs$9-Mr2ibj$x;#Z?Tb)Q3uz<<%|_#ip%$JluDi> zqFOZ*IMg3=s2-nb=0r=lI#?GHQ3v6Std*N65Fhux?R3+>sVppqScuq%H6iVM@M8Ej z8U$Nx^1aLih`nBO6&LeTS2VpA8}^EubA)?7Pw1M|l)HW2=h#{^D4)UK6Q=n#;QgVR z-VF$}QNAACSHA)E&an%<=sickqsWbKNjl98RvZY`Vwo;J0W~Wze8Ss}@~%-%B3>q% zW&$Odd4q`KWtAXOU_{qdm>e~P3pxT}v+;IxM&cK3&#ak>S=E>lFG9VTz(VS0JQ6La z=W)D>8+V&g0drt-)G9nS41yy{!`pEMd5+Cek;X6Gvg`z;a^>mf-kL79B`D1;_X}xW z{-JX9$i8{E*~q4piw9aOZy6Q&a^g(XG~3V|NinKxM!6owYGqwZjcqebQ`5jxX{)a{ zGAkrHV`D%`P|=lk4^Q4##n@68l!nj>yGlA_--f7q9pBX+MR882ObiSoaYP9pOBWj4}~ndOTqW$ zxGJ*(JQb9y#RrT(9{65IMkiIv4%2v)g9F40_FX$1UCKl?KD{HYIHW17`{WBNH{Nlm zP+&0*S9zMJd78ZUa-R<>c~|ndZ}6C>I614yvS5rqT<++aEZ_E#js`Q_*&#oKo$D@Z zEfLViyx&Bw)55@t5FZ%5i`Zi;7$ z1oe+KpqDmRF_|UN5~X28r2j zD~WT1UD>kv~Lo3rY2rC@9=#LA8K**tpqmCvm29+1)D7ix`ejB;-{l;n`YGI2c zFF1S={^09pU0dqZQ`76Ez1>bgLRZRCtNDscfN4W<^+m_y3?zd)zFiUnmAPJQwq4wc zfeIar(AOmX6aMED&o+bjMdTERS}Acez8o;YG#3~=4Mr&*KS-H5LK2;T z=w3$16{%M*F^v1Q9Mc9gGj3y#0s~DS1)vrg5fjJ1U)Iamf}3mmVO5#;zggg|X_2FH z8LmQ<`mHyS%A+@pQw^E*-6Cz-R6ARrXzS6*vJREHMbu{NHK9u<`#s+kw#+gwglIEYZK$hsmM*W9A5>FBqfmhnV7jukSuEDc~RV=>n=k zF#7(hJNM&WZcKl9C`RXhxaZ%m?Qi_=U$%a7IPEa;Py~2o8re(~%P*G$PgT7S5dD6! z05UHgqajh+-665?5&s^yWJ28b^F>{GyjY;1hw=DyHY~lgaL-tN8U!P;hP5x>A~egO zYShMcq3Fxa3I{t@$Ft-i41)fSC!n?#G5;GSJk`?neiLQm60%)uFvhJh;2HZ`Zp!%t zB%67BP?E}q560mo8TMM18IxSA0t> z>VCod9xUNF;rdXVGko>&&U)_~mp|2Jq7UWLzHTx0>!u5uFQN>PXPZAXHxrSmIiE9f zFz)eoeLYE?0>62rjnY(1t@q$yDj9oBc&HodB@It*T_b3v;p@$x^L4y4IzAg2mU6r* zZ$qLH$V{ci=4Oi}u=ygoDmFFT86a@iI|0@B!hZes^r5eelsG~N=I~$CC2`$sziXhv zl>gBi7i!+hNFc}mIak+Li(>ra+x8s3FQ;U$EZYO%>b3>q@4El9CIi4I841q?>q@4R6wsoR>UWy!nks zRwAF-@zFA-YZ!IN3;4aq&-%vClWFhRn>GsW4y}Lh@xRsjUj-uY6A)n|oao?`L%?3E zJlZ7|1^io_3Fs#^2ELF$>@xpETV*8Q1Kl#ARrAeS3&GUKV;N+l5VpcwN?8tEd_9G6 zJeQOzNV2Wwu5rGOVTiZ;m~7h=LrZdP+TA; zB_k&%KSxAKML|YILPkz@G67P=I*pBugN=iagM&{-NI*#TA73Z$K*VQ2f9HSx*Uaw& z;*ZsbJP$>7j(1!e z%vJ(0uGYMoi~@Z3&9Fs=F(J;ZRbAEQ`XF)WG~^2pqe#ejn{&!6T47!ww1EqOEyn>x zmR|iv_3%rzb(%RLNqoo0Z~{kuFM=Iuh)=#$h08N0(r&dx`zE%%{0=CnW)Y?Cf%esQyN!$$Pyw~T9s z{YNSntBn)G=RJhE{ZBx&!$)(nr6XwiTEuh-l7GS^6+YQOHUd@5?JD>*9t>-=rMz)h zEV29cTIgNFi+A6#1-Y~a-4g56D3Bgo&D~#ds;{TX?GatC-Z}v>SLGbuHffsci>Omd z?@jlZrmN!1d7de-)H+9-Spjl+U8Wk$AgAYFQ&bO(+(D}kRXR#Eg|#=()xvgY_sJZz zZ&e@gaycwNU8vf+&uST+8^Dzi!^4HPLrn2PZE&gs2RF^nn2RTq=M$tWZCG#8@d&l> zCKIw=H)nAnT`}3Mf3{H>jSoqiWKdXA-?Gt&XvS= z?gS$?inopve&)SX;Ji$ajlI21bAh-bcwfv6iF;qTr7}%U;(D?*d0cJ%fT&stFNaMe zBnm9Ec!7&)_KD;3y*4Y9@oqROvw*KSD9>K}l6m+}!2~Ct*`B)B;0LLA`1Gya4+B$I zuF_h@S})i1GQ%!v}^cqbVl&GjZN-ahr)%&VS@R^XLksjF%;mg;ZeP zOhX;c{tU4^C)O7GAgCqBzTd8VqR-=fG4>0KnwUFkfm3V%Dd>X+{vBneo^M8zIM*-t?Igx)vP-d2_juSXe_H^wcb^sQyV`6TqA6@Iivo`L#N zW!aLfbk2t#7SMi&dML^{%3v{p^D}ldXz}Ft`7CX8I1kRzM%6O5#3+#&WYLff-Bj0! z8&1`)UGgc3Xdqmz3;FPwMj(O%v7InE-3I?O&FRRuZWB#nsM8f^V#NcguUayYT&k9l zM}pxV;pYptK8^1dytWq?x<#+QJ3dhS;%X(uz6#;vYsFf%qT0q{?soyW7F$+rY!>kTk{E2!eWoM%k5D~zgC-E+&vhoWo zLlD-Un%j_=rI@E=SFKrfC-`;ZZPP|is>yxH%d#%oir21nlUC&|Z*P!5mr+a^KGn3GPk~)wl70#tFhNg6Y|g+D4V=a_`cCZn{&_0&oE%HQ>5cz zNA1&I?WTKVYLIH}RT3MSWgayoxOoGAWvB)2Jg-G$I%%lj=$B5LSX8Pl;Ok^MMm**RlQMl*QKp9)DBv_0e5Zd6$Ov9ApPTcoExsE#F2Y)VZBPoI zHdvuHhWs)}KR2rJ-ppAC29i zJI>UfBfp>Dzs9dwf6@HeUp;>U0_Ix+Xn)Kf<3G+LxqxX$RPatb| z2godf0V&7d<;O4`QsEf6ALavpFZX@+4C#4^i^YlPX9~` z54>YEe#Z;{*RNk*Iy87nDY%Xb6*&EH6{Hsew7psy{n- zLp1r?O9MO{1CE3YL7vV=J7W!xJ!6zr25oIc*+^J~TEx=9RBovJHbHlik~K%nPnFBY zW;^&1$7LO)W;35MPZ7b5ssVzJGNq|~YdkIYt5!p~L=v#fJTKtlw}Jfnk1v(QYEuxF z81o@-XIe|xvrYOC*7n-BW^l()Ot2TxNTe{en1CS7!lWhBOfi>WJ^mn+U9Ji;7Jjte z2rm*hC*gP)J+kv8gCOC-z6 zu16cu0X=#gg2g{kx_I?6fHj9iS@q+M?l#B|mE>#|L6vNr`Das^p~{XO&)>;vsJYKa zN>f|LESpwW$E!uxu~uKp$$lpd;z(L>hQ*nmhmZ`25?w&k!`AL?KshtmhbpXxXD{&w zj@ISm^wfLj!ARpF^KW(OET!Zs`Xc=4hM+vNeb}E3gvX~H_72V+JQ?*lezHeV*VfY- zE>o(&%_vOJ^W~KARt0A-B^lP9`%L)gyEymPY^4N^B)yc2@2MBIJ5S5aC25hKiTCi+ z(7t`UtXvZmm3CV~hBOW~Y|trR=^rZ)e%4S8d$)P7nGno$y}Z@z_&ssv#<`4!#HE{= zv|i=S(>w^m<4C^(uM!=k@Wf0`S^+^H*xK^Kp{genXp^tr#d}i42y_TUUTys=t`iEr z1#Na>UH1Z|)=!BReR`guHTW7RAU6-m4e!n%;>M10s0tK!ho`gYE+~HqiRb>9Y#g&pJvHw&v;OP+OosDCU7kwUCz&VwJ- zg@lD{PZ$rpvP~wQY_Xu}W=}dWmud;=-J_Zw>+)oOAO}rur$89xbk}tYO}wYd?sIuT z>*RTR8IMY8yX`iry4_M6LG-A&BHfN3ohsGnXXC`5(- zoFx>{uP;lwrLM%Wo4`8&!Xqp_xB9T3&fpE2zOKJm4hPjKs@`~Z`d*BVh?ka
    v1 z&bv5#>4n+Fw}R3)a2v`2ZYTq-krF<0l~L*!iCMh)6!>_ITZ4JkYtP`6?Q5jB?$Jec z;5Y36xJD&1&;|;akA)A!k(7o&_6!*9HUA`_#RjEy{GhJy2ub-S^oK;wVKOLmIStTo%EJHG>#CCIt$Q{6O9tqV!AQu@8}Xgyo)j zI46K9Jc7Pa4kQodn*+9SMguk;HKG>DZeRh)y-c|L!KqdGy;gIyODWp&(A>-X7UETj zB}H68cCvWc)xs4DEbhyFec$)aVIGQK9z3T2eN`dACt$`Fwie%?Z7#x+F#E*0Rg-cdt4I@t<8@ki>qN5CzLn zL*#b2*k$N7hC7MYqnCU??xaR$RtiSwO)Yj&-%=F0$ek|q*aZjV+qj!PgGP4&^$;5Q z-wgEuW0{)eA00d%hHFvu?W*mZSubj>S!#Ittz^{Ix0p87=#%An|hVsZX(iD2i_MekX2h% zg`|EHJg)p^viOC_hw?j<;tD3Wy@k`q_M?I?2y3Vz_L|IzWn_yxoQv&8FBO$mIP-=c zuT1oCQR%8aJ<}X!02T~vm6PmXV(2-_^#pPR!ax~N8N&%kGjde@uyX$nG(`$i$uVFG zdb7#X1>r#)&grMsU8SjNbaXu@Qf{h2k#&ENOqdsntCf}{%#M$xW4laM)a8d~gy?(s zR!akkv$va+ixWNm7M8J9{>tRl@_hpF!CJ}FQtwWaVRbpkS8;^69T{zoZ2MWH0Ohw2 zakn31YJ=RFXz_sH6VNAuLSRY60mu)W&rkpU3C#H2GyLTPqW{K6Xn*q{kKhD``G)?Z zH&FSvi?Kv?>^2}8O5qx2?R+c-YW$8?;f8~}r*t1?W<+qF{$cyauh0LLzxyx$?w|g@ z+dut#{;6Wm4x^GsS%{c?_MiflT>F75)}c%5xHaJ(kGp9EKWXX;9=2cy^$L181aaB zTc(KgkoMy0@cd6c{*}(`32^UXJ)EuvOBenCH*y2oUf0eJs-kMt{QP0S8I5^7ByQ;F zrC^;-%NNk=$@}-KpAFIO6ltW!L7T883Lj;2SNH+cV)l2EiN+Z%4Ny z)9*;JBnC%dRT+Y!!?k(#S8MV*Ke}kzo?6d3G?`YI%Z#AW$eD^B^78+fE=1vC-V@#` z!Qh2=QD5Z>5gm_y&tB{?>qq;PfS?l)ToiHCULWAc9DPR`=%rH%;e*W6B~9POj`Clb z`Cv64v9!^^iWV9|lk?XyhFH8E{8EXPYs?K=bEaRwcXs9K(<4@AsR3f}0$HT~Iz$34 zB}UM9>Qg3x@Wk`K<2)4i}5; zlH|+S)9@PYVKAjiY*_kTay0in6o2G5j)k#ACB4beP!+Laz>hn8JgR|NFoY8jn;~VD+j^z3f&IH^|q9@9k{&j94b7s zaBa|Ki>P>z08NX*FHu8<10@m0NAj!f;3H5!UgGMvF0qNZiD~}W#~=xnJh#`9NrH+w zY$dU4xL65euPv{yY7CVQ5bssLuj_493LklPi!P9AKndh>;9ri2y{>e@u7Oj|<%*bq z?2Bja95E~WiXVy>75HP$+{hwnq!;S<>Y6KQnISb9pR^mzxQKv`-ftq$-PNmnnT^Yn zSgWFY$3S}6ia5&SWdx`uxg`J*jziI>28O`|O(a`lQrPVS_p&QYcPwqHA*FYvq^ishSKj8md?2;41`bN- z@g-l1ob!E4v#bprkuN(}+JWtAq8wK>7|(;Fr+>Eg9f@EQReO6JQoSifyy(@GLY~)% zDwNK;RE_!3dVEgic_)FCCEEQBarQ;*y>JWc5f9;~M z@fYDv+tD1No;{CJx!R2wp3u;}*)J)#hujGT+Ke*NqP>vDJ-phFru`zQ$l}yC=fat9 zxQLf9rEoqcTtF4T@nvkX9IC62`GzfqSOb@Ufq9Npw2z)|UJbmyarvE-)lIT0O(|v| z7^FOg9aD~=`3ek`vOce{wPE@;+8$hs`~DR8_59cS7xn*A|MUI>tOnp5d=dEhqx_TU zK>xw`FZ~CCAVB~F`rlvw4gcj^z&-Xs1m?Jpdyoy^pA1RtqphcMN`ReCyQIZwB23&faH zfW>C;KbqLDdZlE9<*pi#*vV0*EZ#7wUy@*6-c$Iw>B2c;A|OUiz8VocEf{dY*3mLg zNhawMZEL5yj{d;JuiF*IgEu_j}k@RC>snBU^O_|xK%F|+Gr57coN%Tqv++DFA;CZtvyA^YHZ`wCS4p61g?sh|2M zVr5Q0E?{|q7eiif_pk#%#M~3pkZ(ExAyT~j=S>?M;*?A2Qv+T$Cp9?7sDnjLDa*TU zEDAffS;BNFB0b2S8uwWl7)Zoma%&T9(`D>d%+k9`>)8Y>>2rTF}#e2RYW z^df(PXG&8xDHrpN19kH2-$sO9DQ@XVV~C8KB=xjs2*adc^ra3*?P5HuB#~z9iLmL zzLS`n#3j@AY*fXXH6H#L6vb*$okMm5F90#L`xs%+qIFj3<-{!q*i2)_XX9rU)lr?i zWuh@xSa1}QB=ta8M*advC1`;Hl(BwUq{_&kdL)4QagPKgviyr|&(AT#KfZsB|0n=| z`d7sNC<8d3-y=dmAPmkY7PHAeTt)s_%lG{Nn9BU)KdkB7bzt~Q;{F5a@9ksy5#li# zzNxCa0f?tNz|LKPnSd@JJKzquebM;RY~AuqG7mJ1G^<8E4~ z`fR|wZw%#}u;NlwU)`YM&=z$H@uFLTj!;QJp-6TRlwY4bM_M;*`7nj?U6j3moMGiExW(lH1vjn1y9| zF3BqC1eAn)Uncmehe7Ka=wRkhbK}_G8Ysv|y8;b>VnBFw+F|pj@F?nQc+?d>+ZUB0 z5CfHBHOi>Xvt4zCe{{E9gg$<>$t0~+oEuYc5l zv7Lg^@XZc>Z(9ST2hs&8{Z8^SAe4%c{Ko75Sn|hyKMf=QFD>hVG(kVIeiaZ*$4LK6 z>;EYI{R%K#aTypL|8fQHK)mzyj{R{M&)@i+Q>U?UaPj{4^pCvqJ&Y51DD$-Qm<6bx z+nNCF7T)qe6NJq100Rgqms8?k)EK%Bxpw!`JvkE^ry_ScTnq0r_uq5~pW8omeQjJz zCeYO+r#B3F%2e=CA@r_0?m$kgM$*j9Bm!U03nutD&FZ2tgB7oYLn0+O74vR#o?c~K zBgov};J`Fp^aDK#8Jht!$_*|^xpE{+>#-=Js^Gbouj!B*q4;U?qqmFiDwDj~r$`w& zc+0$RvxMFeUuKbs_<%T$oPX4CPQ#{P9Mx<$594D{iaEGCyi|cJP;t*f`chQ5-nedAFs8-xmFy8TMwY|ndho1(HUI4ySb^+s5A=QZWjk)9?u-h|;=}T0QZm{{}RCkKsK*K)& z?VEW`&-`yKl7P~J&pjtK?167Y-r>Q8_0|StvFZbVluE=-chz3IAk6#bntTtFM-}e} z15Tk{q05W_QsLJvseIk0*p^L{j0n;|dk9TLk?NN>4!}yPULCmC%4v499! zZ-1>fa!mGnRSkF;K#6URI`uPClfYby1)BX;V?=Um0O3)Ns05OHC%r}KRh>qDmuQ^v z+scBj`%&w+EP|>ZY4#f>Xq|1=)aR`IQ3@9TaJl9`;c|cO`1puO z28c&Wej*+LIzBpr8v(YFfS<`me(FB4Y&Hi-LK?qvgfNg`s7rw17C%#$V7gBnWAOoW zFK~B%M)wA^-1AZg7)M}V8ApKr#3~s!3~7nOFQg^^b|trtg^o(0JcV952BiSQ2+3~@ zBg@M`Rqn@~C78$fzrVi54|o2e`G>#HpMTx+=MVTNbURN#F!^Cv&kUKU{39Y@Aew`2 zKc86Y5kAeJ)ST}#=ApSLk^Mm)mHW@d&rHU*G5Niwq;KR1OjHwHcI>N9d_lJFNxU!lzXq#S zB`Mogciy`=R`K4PVCj?;`Phzww69)c0E$DtYVf%G(Dw(V7b&?Yj-nZ_)VYzC&kQW( z@rTzcF98%;&?QkQ=jQd>Q4J%los?9dQ@ZyxJnFM z`6$gXzAVQ(aQ{v}j*J8xEy33x9$j3f!aj8=Wz@}E%-w&@=U`{DS4^tnhFr||bQJS5 z7a)A7(mb>njNjv zWW@g}!GXezcT-HQ_)E{0_jUbI0$YoF;&@M4;&oZpJK0@fqHp$2K*?RNXJCl_Wc``V zFNev$-udO@i}n~CBNDrRN}Vj4pAMe%JamSbrl)<3gs_S2&}EWSu(;x%71VfW0#~X(B`8 zpORpie@`e??_Z*}YMDCT;|_R@Z%84&p@R57LR1Afv~T#cII}(v*ZW(nCv(;9{v)QOt1?onnsVR|bw+w1X zldNh^{1Ddn)&Io(?SKA~{f{DlLjM6i32@Q{zAu zn)Fl4s>j!+uRD-EXlHbQL_5ur-7r0Udl)LKM9Crld6%XDkM)VxZya2|Edjk>KkUyO z&DhdtkvVrR<+R_^nTEW&Iuig$RVF{KOLb$?n-*OJy*Fu$M_uBIDlJBR)(W4-)*@QT zxR}~Z<5z)aoYFbXx9ZIl#Cx7K?&amd3(w0)s7v*DMdt>Wr%ym(pE*Y(H8wNVj_T%* zedUjKRDNZTLh3&|0TGBa0icl3^UoaT9UU}=+*2odtak`Hmr0B&4~^cXT1)3>JC(2x z_p!0Eq>XONNuk0EQ4Y;M;4nw`ra3?PTf?Nfem?C7)8ne=3_^Lk%J(9K7zXiat9&A~ zh;*{IcXo~&ZWkyPY84%SB_R84^QgVqw!N4fDp65E$pdPU>N-1(xugGRo{AH_WJDUno z>4TZ-`*_q@pSPA4chei?SHh}d`Syv*fBo|p2h5!>@^zRs^|y7(iMaLUuC<%X+4Qi- z4vQNkib%?4pT(olM2Sf7wx9Z~R7JxK_0(|QqQ{2UtFJ9{JRLL_6Aa1{bOHqZGM2=_Y*ZwaUGC0{X~JBWFK2!Hz@?S3s+qML2Tp!6 zF)HuKh;LU{xtR57d5NtMxU0Ndx@BU$K7w_xbs+e185f`IEfNV;k+HiO!-mQ{TaS zSS21Omsh1I6e!RSXWB~}e5kmm#%Y3X^EsC>vaclXAa$5Bp|if+Np(1-$#@yHjC9#E zNBCzt7pVB86bI!xB$L=4lclU!Qflr;e>6E>(fbL@@vfc6{a6Zpxe8%*ESk{D!014z zOuhJ~-wap10L;I3k;-wox4Cpn66oopE;erUDQQV9=p+BUi89?$kHwv|n`Rg+9N#Il zq-Zv07B>t!*Uqu^qCJcn6TS^1)$w9nqw%)))!iY4?3=>4uh41jffh*F#vIBmP;XH8-c^W8We zlT@K-xTE;=A&WqRwbKcR7pyBoiA-&W&CqQ?<%=g<9G;u>dE-8#8Iwqs45Pg+Vf&>_ z?ZL5?W}X3^4OoUfAKJzMGg)no+rh$8^FBHPap5r}B zNC21dSq?4~;|W-kMmYtFQpUFymT_`)-;b-qz29PA1!5xB+&$#;naHUeL9dO}PS{7qfG^%TLX^`?+s&C7 z2>EgMa7BIfAYV^X4YiqrI%TbDt2X@XqxrMKXZB0SiySU>G-cwCP1%he;~(A)dp&8V zt>#JC0-!<)CiA0`_(+V~s&wAunTy^&JJyg^Vm$$Thv407u++wYO}Pgs+4=N<)^Um= zaEWP?XThhsqV@!5-#ek4PEo$s-sh=JY}SREqzP9#0?{Of7_+2@aJckZl8A7f6pm)g zd$EOSa#ZR|FQU2Ekc)^DP{`cS_9_4r2|+uE$h3Xx59@?VRH2_3Cqw;9_ECx}39v_d+ ze-oP3#z^f?jmm1RK4wn1j-)SsD>jn2Se%8eKkfb`>0RFD$I^XM!^Gi*3+)j+{UMwR z)0_)W7Wt?)6AgE}clDJW(3%MM z*AvrrmtfJ`nIxsPln2`YoMdnHzV3T^qW9TULw0(!9#PJZ-DQ-JHt^85FHm4r4T;uW z@k{434jf-!;rsY>Y;A_uuvgPjCv!J-0*9>VwO`=TdGMj-Y)_Hx=CJLxw5t5q94=^E;dg(*fhZVpP(tyPuZT zUB#uTtvRLj&npC9;}@>~GXH`(gJZh%GBF?iWwjntHU3e(9n)?0{0GvvfcazQK%bo> z@WS-CxdNYUzTxf0)VyC{WWT9b|1;Si@$X=Cyu|4EX7xYoxC8VX*a1BTR^RcQf31LH zL@^zYS(pz$T*p7x@jV02bwEirM$><|njh`#CZHzgf1vC8)#(G;USTx;y3haH{GaFk zp8xW{W&X=F>hMs(s{kI8?|c3UGn6a4Cy&`g8a>F0R4!;af9CNqlfgyCHSPI;3tl=M zm)fKFc(V~@SDbivM4!HA-Be3qsqElkVqysPSr%K)kU${|K4)AU2I{ejh}{>Z*;Ry| zx%;_Y)91U(8SwQaR~{4DcL&58L4$ONo}-*Y^JA++hZGLYa0iyqGthVQOMT=A-OE1F z`9`vZ^>PhWHm5%B(t~${QOQ|e%|k6~Y$2_=T7kRXYxmaKZdiFxb)<jc<6qk7a!T(c-LR8whh^6h! zSbxsgHaUg?F%4toT8ZT9s$>Hn)8SCj&D(}LSh4S0tIozxTH>YbZwka56w*)++yTO) z(5!)v7u*(xK-E%G^7T{IC9>Sn9c@YVLq%@;XnHt)A)jH!^r!|k4X0rPQi<*f-lT*m%wH3xDc<5sppu@gl=3D7Sf3wT_mx zOa?h3JK@&L4hI%HZlfv6kXya}Hv|Q7g(4D;DS_(FZg)x}n#GLrc=YiFpiDKUzWjy- zPuRx!{e01#&(-`^2fN0m$4TZqA+gto_J~{W zL*}gBxhRWoMSMXsB6HiO_|H$DYlgp z)~1ldl9L=HLw`5^-gMOguPv=5-u2n7%EVhf7l^bC+y!FCw?~cMX-HhHO1>EtS-bY7 zN?oF>g5vhr9XwFluuguboyPQs3BDcJCauB8-vtw2;|HAoGJg2mf7sc(y19FJdU^W< z1&4%&JqnMAPk54;l>GEr%FC?moL9Md`LD~$D=Mq1YijG7TUy)NJKlGG7#tcN8HIfu z`+pd}xR9`BsjkB?qB((a-?rWH-4|ySU)_uGRO+eU#$%i*zKp(GFChWrXr3mQpnN|t^}#K1 z=6>{El49B$*`{8HU7DR2tchX{-U569#m6cc37`E0<{6`pS<34X{>d-x$K52x5s4Xx zH{+(qXS$+Iiih3VCOkh#oF}iFgKlUa6+*oUvqf6iAHNxA>#~=Svr15&qehpr+Lqx{ zu!GX!R!!K%?OO3lNL_{8E=xw>zm-0!kU`ygz>>KBJQhzHiST_5EpKG}@{Q0Bv?XUz zHv`ZHb6ht0*h-hJ;d;+ps=Xm6BPiECSSOcnogR zz84K3YVjnjsfh6UBHl^I6v(1a_&AN|iE|rSZkHHWefDnIFvB?g-K;|guT|xUIo|?x zgEAT&&17xf91Ez3799`M7XIc;=jkX&M=_xX0~ZR3RBt)R3=g#TA*(Vn2!okM)ATNP z-*3NMnslfv$%!wyEL+eP0CzLc(l#b%-SueLWzv(@5uKS~mRl@K{ zeP-;z$V!a_4M&)bg!tT`C4YK-&jTA`apNV0gv|^o8GUD`9!*Dda%SdphU7f|A$d|> zs6^IOmZI41i`Q*dEHr%Wi_t|(i4j-%BUN3gKs1~JMC5eC3okxv7nNw>Kv30~Vk9|PeegF=JvgJZu3O|k3UAn4&x$s5% zpddhr=mUSWZm)$h+4BXfpqZ!1+rEIw`;R-#w}U+N<2LL!($c4 z!18u8w9)cLBk=k`zAqI@6^F{{Zkv(y?Ma*qmiR=$c-_sXifUpiSEoggcMBne1tuy1 zuB53P&WFus(Ur(;fZ1E1xTFYt7tt58^tM7z-S?Sjj@?B)_!S|k8`4;V#jA}KC6VqL zG`qdF6$4~QQO7b|JZ#I@jCwnR5Xrtwq9e=^444qjuV|A5sW-vwbnxZq!C0Dm{N43l*z{HGEabRGs_;R*b9 z19oi*;3iywPvD>ODK5Wu@M9EU=9LxwSDGaLg#H6>p#OjycwS&G$v?qJ!4G}B+%q^B8$ z-LT!}+EE?+(qN=p6UcVGfapoMR>S3`nx`iqhgdqV%%%Y1%C%EN8bgZ+D~~mIi$XL5UsZ+GYJre`Rpy3oEl zbNnT1g)cnZTH}@`iS7@MX%MN=HjLvI6_5R=LdIoIK&g9A&E)PO+d#hHM*+5d5j1$Q zyb!^G6-piPXW%@O$+4Ac5hmgHs}JP*>p^;SXs ze)aQ~)%t9s9?6z9%}Zh?X=!dH=aG0FshJehDxSq&EKM{$lg^KB`YB#fTe#J6_1wba ztf3s!)ZHhe#mu)B5gozV(N4Y3^A0XEnPgm_1!`i3$1~8t&{^C&%%ir7|WpNZUx5kW)pXw%LXVt5b|q5#i-;a3IkYVu0k=#qr!^lE1W6X z*!N99UCd7R7PxrgRVSm(hy^+h#|EdY5axl|#ts%XXB$F;l|b&!BwNjRS24*5$@gSO z4!fbl5LGA55;zg==g?2e9EVO3<=zd3?6QYX*T)U3mS4@sRAB8IwDm>NBtL{orRm zgDZUVX;?S;lC0i&98JW(6aG05@rr0%$EXT1@8u6rdMNYZJj7GiU?RAQ-+9#U2+i=( zcZ9X?y&b%_T_20(MKXWA%p-pEgXt;pP+TzdeK1^Y{WA4)qHMW~$HNTVi0Pd9f+D^O zmMkxscN~?&PT9s&s%j)^PtT^m7Cbb#SS`pB;aIY!G}naW_hZ=QV~1Uh-~HU)6FjIU z6H7+Oyg2aebbPj`CJW2(-u@go7M4tT$-T9K0HK>q<7P+xq~yg5U){^6cvYk>KR<`_ zj*2Qj0RB=;U~S)h26YuedsNNItf78L?msviMb}vmWFShefp%mWcNNG!|{su<06B68-8NwhvEao+&4jo*qDGOf< zns|RrS%UK6)HH=Yt3`||DCSH_(so}oi&Bj0_D0z8sW)okU}JM4B`U`ldSSAtHFtf6 z5Cyu3fsp{a8B(p>)dGe%_^MQ;*M}LC@s%a1VmZ_2^`TuCB(aytuzr_x_=ktx*Z2|i zcl`L5j358X{ewn_`gI{o0dhA`J%=PCf=)w#T3wW4c@ng@YxorGqxRdF47@W=YULSvKkPU2~o|~2@;-%1@mMidJFn+W^v4_jTt6EkV zNx)sYb*d}y3`;cH<{*ll!ojHMcz`0N`<@Owti`G;*Fcb}5A#re0m1O)|CESi2Y zwz01CUx=^YBv`7ciNJp1oxKlUz?sJuI()|<-A9e~LzTk)%-fo!Hwb!iKQ&OAlc>BgGp)zUG*oY*he<9?d*@@%eVUmw0TNnKHN>|WD(p}}}5$_e}!**TvAJdt&FU!j28 zqJE`8m3MjAUBjMU=BkXed+i+u!=<~bN-K7>LY&xwR8viBedfng8M6JN1%z7K1KVR2 z^|3^zpIywxSqqucw0Om1nelIBJ9X03kr)zewvaFTNOVNTo>wDF(F&9y%IPHQa;7!3 zRl`@)Gt|GV8zpFPpXdg4nCneoTK44`$6?Cj3o|%t!^~a+c)QGZmLwe4;~_Jb$|3(B zd+!0&RJ!#K2N4iO5tLp91QihJy;&$C22pxdPzY6ekS3_~j(~KfNGH;Z6zKxen}nXw zF+ixH#qVThTx&+1J9oVAx_)#29M^`p7U#F0^BmZFKf5*v$x0-e;*Y>SgUo8^@}d#P zZO6bTh9Ou6C8lDCM((BR8pum;^-E;TM~I`%4#CRu_&7)R91z^HQjF#r4@be)Je#iJ z=Si-d`3RojoD4{UGpSbf5W{CV+bwn)4o`fVmmi{vh@jGSlosS3lgNViEG@obKt0M>c=yn^EO|E~RT5dS`ie;>rZ|3~8A{y(XI+u!Zqb?mGBTi%}# ze;NhiPf@^r;V!Sxu2t8ZZ==rN1~^b0Y|Eiq_$I1VSs!0-1DH_7Hgwb92&IazWn~Rz96}PO^8p31t_FsVPeD z?%u$}=?t*+7H!vt&!18&bsBF<*nAMyc6{9J!ELfV5!lHmNUDHb9ediWy0Lt?O#1ru zN3N#m=N2>$K{=;0SO!ko%x{TloVIzWUYP_gsOf}lQ?`Bq+|Wz9r`^HOC{ehk|&U>jm}M1Mkh0PfTDAd80>>I2;xSbrz|qMtau@+>#^Nn zP-Lo2(Q{V1x7njZ<{mG~wdUX^s1Stn27A=>yB-cj2XPKr_H7Fmt?sw`n~5TQHa)V9 z=JN(cum-viqFOgLMfOs{7xy@P?18^fCJ*Ta{Xn7d?&dFCz~b!{#!QcNbFhQu+4x+F#^R=Ri}N%j zCrDYU#eizMazy1NY)=U3R!!H$?BeQeL8icJ-e~#qLb0}ECVpYbI?(5qtYLLF+P6PI zE^{jz+-!5-^{f4EpPFB_&9`5__>W%#^6;Nf|NXW8K9Jx4Soz(H$=|&S^{HbNK?_CR zw?__l#i3R_vxSObKp6qt*1|;`e~H?l^w}V zRUsZ0ZHBoezw#93y$1R~#^M>qvzT@y6KeFjG%7G1PH!pH6(1OholU2RV`{RdZiqXj zaU|X~+x!SUeaOTo^9|yA6IsF^P{WZ<`tIr?<@S=K3j5i6Zkh8Xb|Yij^TH4sXYPxv zw$}7lELj@K#x5D33Qsl3n3x#IE8hh}k&6BZ#K6qBhH;sC9Jo~elx7p#3kg1kS^H-! zW0j;8&|1RE7kkENPh$@C!>gLcs?h$vwBe7#-s>gf`=4FAUV`4*ryoj3Hh#!>mp+;^#wOe5<#=>e*c zOrRB|RbGpSaOA$`HrS|N8d3uk$wU2>xXs3}6dJ*G9n=X+%(mQ5Ntrdy))&`KoRj9E znW=b!Ue=BppWKI=Rcj8Uu&;r66$ZKL_$%dJPEj~q&^Wv*W@|nxfN4V>i7zmlq(*X; zyz#Q>#faZ-2J{P|9Bp?i`JMe(rss)e+akFsL9gR1Ys#H!)?A;pb}9{cnDfv=#M1h# z%eh%%XNInJU5{|ikBYqWN|Ye?gR7Bv;R1o>d=g!y6C#&g+$Esc`+QMcTwJ-AB1wK5 z;oN;+xn|p_u#|`3YiAWY1(Bq{%TN`X84wmi4GF!8NQ~J{Fe}MMM>Gj*TaKujbG2|; z1rt=tgpN8BCz_uP@Um=GhF!xNO`Ci_KKMm`KRl4%KNSCa@QX^s<&PHOK7H5U`>(x{ z-}Cn3>P(Aqc;EH*{(E@8_fr14N^JnJvy~k?y6DaegU<=3^)WDQMEBAI8rdA$gO!Qt84qh7Z13+^;4GMVM^gFd+wn)5;*@ z+VTmW$2m2JqeQ7irSu=!$S~IOpsbM!?sV6j?%P1}pcUASdqstX#ix7`nl}pGHd{)3 zl5ai5mUqlc4lmC~c|S`+9>MJhG_}$sDb0UfY|iG3(c}DN$r?phGr(O(4eq1Y=-eD< z+;cGA&D|*Wtf`_1sz~Y)d*t3FB^C69y(-`9Ie`VL_NX)Kz5&<_v}3SojoC&R_)Ae& z^*gkyHqHds(bZZ%$cH`GJ0^71iM$+yUb`S%0;O>WIzaDfAecbVEPK<9&XYrmHjHu3 z$(mrHBwiikSZTq&H-Y5C?j}URm)~5FdQ^njN46bm8rG$pu15Q}j@oTBIIuAl2{+Jb zet3v^_9`&^x;*5N7g+zWJ>Gl;7}bbS3erk{>qXGDWR#@QI~6P{(X#$t6(O{Y&0k{i zqY4fW=Cr%EpMho3!;p{PimDp`lj)e{&pir`6yVni6CA5G67zdlC%Jl|jFpY>0<;kt zy~oqZFe$$YpVYV)lCQG@oV-TYI|W(YyJ}AAwUzoR@m^4(Qy^w@>&3!Kft^S}z#5lN zLr*N$!LL@I=`NzN&atxMalMk=F!MqAX!GuKS(eH8w`5TreIg`}Y{Rev+AWx*$y`=5 zU8ot9o7+KI6%LKI*0WOvltzD%JJg=DWXZSXtu)caaDNtxHz zVb7!|oiT$aq>Gd5SAmJ`l;gsKTduu=;E-y`IN7)P)+a9&hEoN-QqrVw47C-J4XOK* zuk%I!;{16B=cif<)$SEG{(H7w#78NqsA*`=vU8j}e?dS{NLWPlFT+d+^`n2NjQuP5 zy8#RID0*ErVaxwPb{p@21A#Xryiw^P<9vv1%@{pJEc@Ysu0Y3pQzu!p@LJ@T$o*C1DY}yG+21D zJj_ur_3%kzecO0+b5B7s<}(QS(P$MpcoovzTB1Jj&{kx1_f#xsJ@?pV1I9B4LMbd9 z0jW5MuEoI

    ~uQ`{Op-Xt~}oKay)_-VevwZi2X2d7|t++Dk(!YnD; zSyLG#1pH!6-)GV~1fCNsU%!}i(riG?1>@DT{hF^dBF;BfF!<831lZao<2HtOkD;(A zjZH7~>V>SuVKw(TN=FQXnEUca_dDUP9_Xn$UiJ!lxyCNR$a1)13+t9EeHT&J3bubR znrPB&*h~oSH^AaodDS9pMn^d8ULYqQIWvov=l}dob;}oFY`V zXXUvJyoO-j&mf6?k(Z>l1JY(SWN>{;TLN!7no3+*#BzVCSiNyP=zEF5*AWGrDL*GC zmxpg!4tFbCRuE5;m5)42Gfh=>R^v)FA*`eUl5Lro6dIHCM;c3~b5Jd#fhPL~x@vkR z$mI}g`|LUP!J(8`Dn(H7V@eXKyP+{NU!*k7?EC&D_!Hs}BEO4&2>k^9Hv#@%;!naq zf&YDgKQB=4fV)I~0)Kaa|Iy$0f6?Cu=jVg`+5d9>%fb2S;QVxOegbp=9zZ`Uf5ZUv zYwiETesAyuFi{mJ;W1p$ydOSgM%!NULM@f^ z&2@zlsTcE_K-2hML;`68oX6W$nyhc5{pNWqDwGpDHH*Il;R9y!o0=d3XiejIi2E^g zL&O|BFDx(BQDf1Le&BX0A6I@v@e@L1xOrFwCVhf#ms2FqqEbt8`Zl+I7$&sIy2W0w_6r_g1e&(y5Vg$v|4oJ_^K(*GdWnCjyEUYeBPK z1W@oESCTjHTuH1eBf}u-eo1-ws-)bpcctDC=>dhFr8de5`i*xPC|8%2M5a$@o5|xE zw}anzvNUJ3(J!(Uo-~e<`QRk_Zac`%MbWnSL*CA?WzE~_9n=*6JU9QQU!P!=(d0(e z(^X{?M7B~KOuS?Jw%V+uLb)n20ujV35R>?M%TirsG$4(z_t%%R@l6kj8RAnzuMn&ADTM5@1ZZY_@RhFCi>5)%!ClmBR4<6$9 zMRBD}!2o4JefVckhxeTqtBc*wVJUctL%A@LWcRIh+Kbi{ zwy4@Acm*s@KZ8pWNMiA_S{zbS$fnvucL3q2*nn12@7c~gqOzFrd}L68$cFro~U-g9MYT)R@#r8-M3hm zyxo*k0`}cI>vG>}Z9a>=r&om^Z1a#@?g29!G%!A%#0o$6QDQnUd01?=j(Ec_c2~Z# zqUQq&B2E!SXxz~|LS`V;i1wMB6qZ|)9duBC+gnqxM5j^~e4C3drrIJ=hs$}BG148m z8M-nWUEks=X!P2gPcG`g01fPcA`|tyk)f7G`<`rS(bk+^WytH!C5n>#Z<1KP_}{Sq zkoehw{`jAn|Gl*@-vG}txRLE4f>(x@-I|0<4;JJhTL?3KWY{Ml$)Tbrw2II{pGL8t zE)UYQJaZ*D)g)en3c&=Qtsl^y-YD;O5azw{UWYd@)MkHSP0|F>Tp#4rz-P84MpzA# zK#z=QUvbQ|w7Fnp-a>7`OQ*5u8M~iYY(}4d2d-=l%x^Z^NwfuLuB*rF%9^R}2@Oi< zJlZ0=_F8xBo#kYNjR%X9-$Sq?Tq-8#*6tPP+OzZS)F|W;!&2xmi@tIGV%k%RKB)#ptteIry9*5?i%zf&V zDfA4%eH$f|YfN{m>eLHEwo~-RrLBBKH=*={tho*hsu0J;@yW&B(in9~x!KKk=xfnH zXU#-$>Sd!o?wnz&0s+&)GlqIX+wa?oyl6yG@$?*iHRhi|8N$f8mU?{#gu%r!SUF!YnH-|A&zUZm-?7)sh3|lv3y>w?O}FR*;a15 zG*ZKp`=Y@1l6?}H*_zfB2Wz?oCq+@yC5akd9geWwwB~fF;*NBoSO@aqPun{elU9(u z`O5|?T~cS5j@o-rwprU)+IUE&vUfme9R1Q2N=Y8uc#rTAnf0QVn|LTpA1(P!E|aEj zzJ8m<)|)jt^5U*Hb;+`$Au-3rmmu-M4&fS_Jp#80wv{Jy*fYv3qNG5o6DT+1a(2|da7)K0;Y)E(blUGYB7toL+h6!1BF{TCgOZLP6z zvEeLCb*EaskmOr1kQH(lVV-Sy>Pl~9rAmP9*1%SD8aJwekIT~MsM68{YGk^0T$4u; zws<0SrFHz>ik|+tvVLZl2J1J&#Hzy2FNwHPy=U|vi<}f@I^|B=lJ-$+cuwj}Z(0Gl z?{W_8suLF*^Ls{_AEuX=9+oJs5^PXZF7{!!K%(V zdRn$cX>{|sMf1JUgUiE(Qg2pD8xxEg^v|N@URW6iOEN<5DyplxcAuC9}$I?cqx%?ZrK< zT@6#Qac>84V6Lj1=tax1vnIR~7Js?~RDkjQ8_)S?Kk_5}58nX%(SW|iUAXRx|84&7 zf5#uk{lCqB;&<`C|91cO1N-5B#(vldK~gnVU75_GC0S{*mM#_?R%XsFH{gD7?^uW` zZ%=+TJ5bHV;Ui%HOaMOuHM$w1iKfga8C0;&yFs}kOW6gq(_))`3_7}!6qHnyUjG^7 zd&v64qBe)`0JpfRQbwM@uJ1&o$+@Cy1^+7jk4snPxqWx8%rF9PQ_@xNChBQq3TXKD?mu$g=-g`zF_<(EAX!WW&^g z$grboGQ&)f-6ixqz!3;9T6@?4x@l_6zD67-TZOCSU;1|~BfKZYvmU;88hF>-R=3=y6w zy;N6V@ovGk@#dp@rPUYr?)FL1&c#|pMfI4$n_wAN(jWttJkLWUVuq_$95X=SHt=eJ z2!u(UKtVURg#eg(Zax|8B$WuaN}=br+>D61r69qPyxEdhsI&iCiXIbJOIc0TzbB2* zyWa6JHFR`D@6}tylhelJ-iJjb=kSLez#(IjE6;-7pyj<$K%UfKj{Vc{&ReHy1)PXt zs2(q9lsV9#V&{M!zDSt9sT_+G#9~rbgu-zbDPPZ^TCeQCd=p*V^y+mR zTgjs~Gk>0!YoHSW=L{WB6175Kl0y1D%wZJ6rrm6eROfSs%?4@ZU~IiDXM>a2ZuyY( zT%!{j5(eem0lA|o5)dK78ah1|5)@pN+G^R0o6%I{Ee;ui4JV6kp3bT&Xn8Bzc~gv@ zc9jYPTX|-$Cj?B0ap&x{64;H&o9yS>AP8P>JJ*o2X5D5@O(Yem5B94eCO=MQVQ)YK zIW>P?Ox7uVL6LrW_LB3Bkg_PQcjTt{16XGFVfd`)#&NNMt6hEI6!wfkDq$)m`kW8% zd!Cw4>zOB^p{Q}=0L>C`IjkOMnK;Y2*?rm|L@~hxNg;T zxO?7#Blb93@Em~{ml1IHm-r#BTgmq@48Gg=hGfy4YQ_eVYQC}~^n3wfIs!8vQmgCwdOz2K(69)T2HZ9ZS@o`;tzRv# z>mBvw>@(Jp8ZL&UxAhofb}zdMvJvrAZ`0% zeRklnls`~(?mZAak@p1YS5$6!v6wTC)A3EhkfYy{Dg%<4{_YluXPEy0CI;=%P)!e* z36c?%_H7vGp4Glg4VE%A%EJA6IF7Od};~gHvZ05ml0H&C)Pzd{imw0Ueay zI5r>o83c!^V%(^n-oD*SP>k9M$bB%h99C19d${Fv1n2pN7Z72PSe9^_>xLcr$s~QO zRE&}NB<%FO>OA6pz^&fp0nTRf(EFt4T&q{{M3?X~LK>Dm!<*2fuHt<#C z)t$6UGb|sj=W~6~v{h^exy4M3`^WnDSLz@c=&=iuM`w<(#;|q9v-v7U%nwr7AxwOW z#Yug}&Xko_#nK=PBEzp*P>4VB$D}J`+E#|;23h+pxGSAaM0Ta)=*6al9zs zu2uu>3_2h^h7IcVSyqB!udlo`%U5!;Sjm2W4^B+oQm;bvjhn#)&;t)}8U=*YR_}2i zept6W{AwZxt_rXPhxoVk{1^TAy<8TY9ny+J{oCvOdVRQxxV9fevIqLJ{c#2d4(-Fg ziH4gUkpn~l5H&z&0HOql z3LqMQ&H_XW5FJ4D05Jf>2oMuM%mA?f!~+m3Kx_c91H=gs2SDclIuFnVfVcn>1&AA< zivV2$=n6o*0Pz9D50C&rf&d8tBn*%UKw4A518 za6fnLx9?x(dHk<`Kd}D}`XByfVVc(uRi+)-e+Ty8f&KUYbNla${6EM)IH>>mFW3JZ zwXf&7Cs;P(Z03H${9 zCr^Vw?!WOD{0aQo0saxc@fZ3D{3QYYkl*DUL8}~F z1@9C1-*3U}%taVYB3}lj*^`Msr;8C4S6mX6aEa}#Sc&p+*_19ag}XI>T;Z-9zGKbG zAY|-X^UMwT6lUL{lO(j5L|tkA3XE{$U5+1L&~~WQCWC4S4Zb>aYRV{{_-UDB*!~6S zldh`hpr>NNnUpZQX-KSog5&tSPz$C0$<@Nk^&g@o67p9c@d&Q(!7nD+h_!P+D=Orq zBA2+J$*Y&@C9j$qxMOoC&-K*gaNC@>3%_`XxN_ws+E&KXMB?qmuosQRF9mQ_Nl{tbsZ5X9}_8n9`;}?1h!&MXKoT zp@kCFQE{`|!TXpXh?K6P(DKJ859(kpoKCS6QrW; zG7^N&P}ZRp4`m%vNk~-~nys>nl@8i4D1h4OGG5ZVeY;=qNN%2l2x}k8NgLByTfTdY9ySgsj1{;cO(*Mn*m4?li15h}7tag*r;L}(``HeOrrx%TrEQfSm1 zyUh}&Wp5!t*yS~q#9|Ze#`IvYgCsk$F{O4uNQi87n9ui#ZWMP_ODKJEB);iq(9w4T z?)(dsiLBje`NFX<@AWxDEW8h8p-}SR1%CO9_~z+XiVDr6p^r2Q%*N<@96p0Mc5f>c z^i@WUGQm+jdOrP5_)pd|KZ6QBVLNTCHx(oT0=K)J%}aEH(jPXRkik#v6H%<9X4J7k zlh5#YV+AVp^qEjWQiyHKTKjQYxmoMBIid{MwO)r88v^+*O2gtAF&?g}D(wm7cn@vj zH#RduJY9vXO)8}rdxAz5+PG^ALOz6EswcE8XAVB`sBZ`SOh6fg_u3Th9*<9TsHdN$ zp3KW#MYNe_J@u)|6e8VuV25M|7-zy@FV$y|Ly#-1O5F!lRvhxFO2LcB_X!X z9)=H(jX`5_?1yfFqaBPZ;#t19ibdaNYNvROwho)=#x@PKL3v~C()I^0J z4ij+65w(kmuHV+H#Nw}P^ydau!Xp}BbWnR1RoJ1!hhH82=w41eJeH7*?H1OaFDxoqiG0^@#q%t~ACl&U$22q*-^vzs z_(9#(iHw_NwahbBd>;5v_c=152=fauuglK#GPm$WMpoz0c<%JO9h)rmmf#yey*3@# zgjw_JUR{j3AKGNZ9j>?=*!GDyy-ocyh|=>_2b2i$3Cq{F{_$ebsWk0{O>hPz`Vg7} za!(z!o$=Dy(wm6p?#EDQR+KaYb0sEK;>>;=jlYr~inYpXt=(GaOw;Mf)4Qm!}@Z-ntgr1X6TL53~)4Qk$4lIUF{ zAK8!9QQC-1Grf7V`c&JEwLpaiBND3kM*$ep`W_ucE4Xsum9tqND<~#ks&nP<@3d0ir`QBjB=la2%rJ|7q@N@?7DJIc(!9?y zCJqxc)ORK=vPLx#8JG=Zt!c{IOgV=wtX2S{QFY?#tK>i-&-~4yy zPpv1>0)u-sp4`R6INN2sg)qU%Av?-FSIc{?D8~pDhJ)2Fqr67x@XKF7(RSzNEbFYDuW_CAXAN-DEHDJzo7@p$H=zf(G)T;kM)T+Yxf;^ICMlnnn?; z!QhwcS-F$SWXlgKEg5U`W;^2^TB@{g5Zs(;0v`@`A?IAGiXZ3^wQ|PaGeHLjIYZ%j z(J7tx(-$Z=sfZ2luch%1r@l8Dc__5)pDsFL7pN}pBW=1&f$<+AmnPL59vxSD5T&a7 zAz7qhbsHKgx=sixZ3*qtvOoAcx?~DwVxbE#{p26{D!O z^HEnh@HAgB8$E7oX_rO7g12Hx8v_iE>kJQ#LT0ezH_OD?$eY(f1z^jw;#e{uZc$<0cA96&*W5d zLSySy2L#W-*7sfNDWhqxl5%xR@VzhPBo_$7dz@k)hc&e8GJ2vvl#Q`dL=#2qXQmCA z=_~%hh#gicuwgbAp;ovRPyKx9e9%*Li!R9{LzPL+(M#oP{V8Uv|8+;?tH;ULf1LCb@BqHTj#CM&I zmBdjvO2d?(z%HVv%6+_c=XgRxL~Syp3w)kyRUSfH7%s~e%4e$v?jyZkdNC-yBh5I! zBuq&>v@4U~#mVM$RpP^2hx@V|#NIo}KZRb|^h65>IE1~DO@}}-1wW|-#HeZ_$RtQF zx>hxol5zzrbjZG2UMHW$mvliC3XC5!tq|(`w9iu4e7AK!c8IlEKTZa_=58`j%z54B zxklv@>%X*?e{VVe(SFwZhsf`v2mY@=_`m+a{*Sq84%e%gNF%hMeJ4r#TSc!{@!`yi z9{rxP74MHN5%~@>GjoU_DH?RJT}-D1rAf`sSXk!>#wA?tQ08VYxlh=NuwgtgQ)^Ej z#YXzVm_#ES6VS}as_b%0ZE)k-t%nnMF6=}fJm5K>L71DBil0GOPGo-uc@}t})pn-x zrr?&=``luTk0hhUk;{!1^WC~~^Pr$OjkgMHe2|6G2P`+7w@27Vo}HEF5(e>)xXNOR z5vXGg^CsrmO6i)%6w*r~i?)|7vAC&|6IIQ^1wKf~1tJtthEZmYbXc~4NiTq|dZ=8Wd_q3+-=MG_zB zi*_xaAOcANOym+*(oFe>&3lI9g6!ut$P)xhT8RBpPvsfU9evgb3Wrj|4t)kaU2I5N zzqC+;q2u@rqLAO?&El&Z^_`iy#fzQk z9ws+^l%T^WqijD$d(e|s#lsH0v66;>15OmaUt~`>Dw&oK;WpkjCP=Ap&2Jj#rL#_+ z*n;u@CCAoV@g;FrDn7Z`x>{piVp)5oIvuS9@b=?Nqha{Yh8;_1*)m6)Mh?AvtT6i6 zPA5?enE&BMiXhmGOEz)qoGaABFNHup3ad+x+U)aT z{&8J6v_H*E{PUH4$qxOxIs(@}t{aE>!z(lZ=I(x**@^2P*Mr0Tfwg`Q57&*Y7l-%V zby@&foOgezzTpQs0iT?K>`q*cr^O$tRd89beK?HouIbM)zJ9O5KOz2b8;Cz>0)MZ# zOXMf;hXDM+zwsCS3H&_({y2GsyDoun5x5_}ex&|665y}+8~=m)l^?EO8N}41?V84@ z(Q?Hn{IbAoQ3DXcl92ToiWb=V{)bOY$?eRKszh8b^wAdV|)81z$IYj}+3!i+y7jZ$~|+6dWqT)jO5 zzBx)N{c35P%v~6|cDa8;b3Mq)nUWKe+nzo|6I7hd#etH7AeY5o)3L^H=K0h!(MiaA zOootWo82DAcsKD&#xv^7Xkt50dDlIrn>C@OYOLT3)&re%mU{ zHLN2nd0n(MO2SSH%ZZss<11BG1h;9IMH0TUA*kCAgl)P)q~3c#-PPAlafCiHw$TSn zynk(K3cw-a9txx>pQ;6+>31*=S%Oj7c6Nwtof*#3dfI9~} z-^&-k-Mgg8UX?uK;jxk~j-h9ev^a|pc=CbYIf2BpUe4%NV78G+yH*_1I9U~4dAf;wpH?HHXW{pXb^|^gRA?#MTfIxKjKjT_By|3&&dElfGht`*J%Bl1@~uF zI=EUN_}{$$Yda1EQUDN!|2E1$*#EIP4wNFEbUz0H!eq=n5-g!D$vX3I7K97+WmAwwTxvF(~wBiAjGH|!{_W_WRj~AbW ze~_W8WyaIzM}+vgUkGT3P3G_`etNAult5=&2Hys`tZuT$h|v)?`P!d%RD5ex+i2f68woo+4R8ph*d6dGMME+K9v zjJS%)M~gR#@p$K13f2_TC6Ogi&Ny}}DjHs@OrGTDkh#OYgvYjW1O~8~G{O{Oy@P;0 zR)nWK(04rQn$afv$7u(#B@p+&;tHsR}Oe4$4^-Y5z$N95CF%S!;>E~4bt2gqSI)#LW69b-fn795l z!|~flSfdkKKWx(^c(I;!_dHKAQIV8toKM&Tw#*UG$I}!9YW_=g@q^dUtVoSu2~o84 ztseXAaUnX#Udm1dG5dn5osLhXTuJ#eOOgO<_NdMJC&UF&Ich{U01XEzxIY$|{ zuw=V&;+$?)+ZGAxoVzb#n&_l2yt}Hdp$mI93M_XC$ z2r~SX^?8kV^(Um}=fKyuk757#_S6KeeWlJPDZLFgAYUYxL-Q3#?xkL8W)AAZ`}fr@ z?(h7U>x=%CIncj9innmkWZU&sB2HL z7Kx_2)ha=B45VNL#g)3GA`ic*fmhb#&CV&NYv!tKw{^8DeBPM5gq-oDnQ8|C2M&uv zoU=6)dsonR^x6AwNhs&AaQ8jFFy0EH3&EesfnhYUT!1q+Mf)?T_UZVZ8pw?pt%Ixy z*%O8>s?5bU6mp5B3cYUI6(}9zieYA7?qG$qDa?DnpB33wc1S#dnME8|s>O0^R7TuJ z-%KDYds9NWMAGdRPDT0@B)!Zi`)mq%s2U869S=ct?$8Rt_NbMAJp}zx8owlcZBZ?a z@fsjK2^aP~+rOmVGp0mQMH&4d2lE0?~INarmKZBkS*I=?hJK|W%nuY|{ z#zdyx4W^TAf@w=>&WFS4s3%*m+0onNDM&jj2~%_ABMMw?&|8R$L74{f>E?W3>i&z| zdCAyzxP4jptT9Ksp<3m~Rd+-8rE5^>KPt13Z?_kG7hTh^(^*#qSx3p4*U)N>Z671o zxm)?Vl1y&m(h6PoV`ONdIMY;KY5leCKwJY;N)kodN)R(b(tT6ClZe&B$= zD-@mNC*hn0nZ2DjT+gqg*K%+C!K!kD5$X&zmENpxiYWDBqIb1B@G^rCKxZj_xkB7d zdSJ40vs{7SFSuo&Ei_Kk-t;41@m?xf@KdXoq(2~h0SWv?{z@Lm-vjyk-_76H8AS2~ z6nh+l0`{3ouLBL&MRLR#zr$3_p6{5wB9n<*#s`n1E9N|KQiRXuQV>bN*~ZktHmm&C zkr%4gjhix=JITD&`9d`*h(ruiHGu9C2;l%0^u;WooAiA$t5iGKwe_8+OMZ3miC94wk#xq*?wnLo{t)2co+ctA&^NWCZR+3OM)(}Xl$ zA)9E&iTL1z>{Ingj8f+pVw-&|C?OZu+x0ocor^U;^^dhK=mb1&^m_dEu*%llFy8LQ z#5a#8J$WDc7VDjB4Vc3GfGLc(K3g9Wz;qJk&VsojhbAm!E2;4Iw9eE$U!Wj7qA)1l z`&zD>-t~~=&LEN9?zKH!h)cg|3tVQtIG?z~`63wTOWwg6WQn~4dVDt2SV)m()*lT- zRkidl0{Sdl2heAMfIegTcAGVtr0FC)USsO-yeaB)Zy^yQp^8GcJTO*IKyZD!oGp6P zc^gVSMLSD}^k@ozkuK2gkqqoerVnvXM*|bwS+l3}?Wd>|#J;ahtN555v#c$y=XnUP%qQXFQeC9n@YYSq3R2pIY8DJL ze6*#!w^*^rBpgBY!I}iY$ENF8?+x?*3R&&82F4HZHt6Egc~|8eMY@L8_gkx>?}BCN z%70Y&{!aeNAIRSylE1t^A^wmJ#2;=0?+bVF{RIBC0RK0?@#p^u{67NxRe$3z@Duni z{f_^^`RB*aKcxOxplP|}Wc%gSdiAoxn2Rh|Y>L{ZS#M;a3ad{?U^IfY0a5zg!Htij ztSoU%C;w3L$5xo*(b#7)NvbflD9B@@bFTs#-Ql% z!->;YqJexGKMg6oe%MC#5K8dKR6cL(z^C@Zr%tauSRM3MQ@=-~a;wxHhWB+^#y7by z?ZPglES4pRqlN*IR)AyL#eC7B5nB-iDHg9xu=jJ z4eeKMcUw~KAZF@SgW)uSr=Qqqk0=V%2H-t|vj(hKmhbi>YE}}U5m;{qjn5!_W1Oey z>y;?3iE?->?sS=Sxf5aXk&7@osJYUB!*C4uvOU!LH6ekIYlq250-w;+kjL^h+EXUL zgl6>Z-9tSKtyq`0<=RW4NTK0M?;~D}rw@U`nq(LF=k?Y8BJ`uit=Jq1_&g1y z9%$(%4@ON)v`S%V|Lc-qZbr_GTazZYIpvh{@s#2jp%X@7n#$;G#B@`TbIuhf2{Fsk zp~-N?+y>+5RbjF7XA9TLTj&n0_1&v<`YN);^wra6wulOC$Byr8_rL1%hMVI!fxGLw zPxSk{zTFKO;I_$s^WN{R829W5-2LBu_J=^8kS)-I*9cg-9gxRl4XhuxdSjr+A1;IF z_iq`O(}V=*9~}SLVFFre`bwx7<;_!y5wwrc+UbBLcjp{S24mwbXnDy_-u$?F)0m_+ zc({c0x$z)D4p4wAmF_$tDXolV%$6Ru-#62{jI6IX{9t~jsG`uDm%F$p>TyP*EX%~* z6(VXF1RY(khu<9Wab#g&%iQH2gC(qJ^fIDufx^{VEpbd?>gccr=UXDv_Y>;eVYe*Gw`YMhd|*oQg$mR=eOA-1W_8o3;&O7;m#S(&dNdbCoYf7}$y2v0SZb+@>Ft z7iIEw)yf*j$kz#JPtQcVWIzUY(l(28<{##62h$*e?gbMxT;DEJ)yxKE)STxDW6y*^ z+Y~CgD=Dil^eh#RDyc@{!HQ#JUKT4ENwJlZoI-IBXi#5%Ts?L)v0!Ur*;|mC2;5_Z z?6*qpoiPtk8rpa}+s8dxK%F)jhdLIj@GgQH`LdBu+AEPHpq_6|`s3LBz|zb6Gf@l9 z7vXc~ZauV$`7riS<+NfA6rZM%K4KYDvp8F3>YUVIK!;hL?5{4IeDA7goo&`TG&DB< zXmlWfw#Cdq#cSYdnct=G^QQ<^vwZxBRF2<4H#hIQk6#-&9vX5LO&B&2LcSoD7&TW& zC#m{glllmoYd2zg^aL-9!qedT0fA*N?8#n%#YKT$lX9w_;dTcHj||<>(T*;Kvp#MO z1p+x4$TLb4#%M1)VL$hiQ0Yc^M|!pyoXbfpDm@uI+13^rr7&hGb&n)esEMAOkZzer zT%je?eqm?`d&b@dzL|zte)g#2@z&U-kcJ({d>f&}u0_gF?Kp^fkIT~+ibr35l4(oxn{A{)Qmhfp`SaTTrrInm*;0wIj2WdugFSWZ z=L+j>CuGI>@Xq;PvL#lTe%{~41TTH(lz2W)-le42ldZyAQdK8F-AkiXi_wr(G1eaM zUZ{6CoBHr-M7dqoIG+7h`AK0v*UMwHda@3@lirE=_t>?bE_$!Jcd?Q`Mo5brHVL5+ z+1lT_#p_I47=KHE}_O4rd?zqPx#3kL=3sJO*(nih`mZZ9UMGUHwC!VD* zGM?$P&tNrYphF3@h^~=@`_ZWBIIj*|&XBcuP@$Ccc*lBJfA(}6c_~S{GvqH7={z??HwvR*`yK`Zp08lZd(iI6E69D5I&JsJtdX&KWeGc7`Ax^b zwvz-YAKBMZIv&EfOhfj#Z29L(3hClZ@0+H2rph#(x2fXeFMgx&e(s^Na~Fo{b!h_| z`f0^dp2D=0&RqNR>u1Z~AG0LCwQO;A{uJ&pf596Tk3BDJXD@aQSncESf8u#6U0Tx!dzO8?d{BClz4xT& zrld7LdXB9Fy*&u`AO5aumcEtGJyIV=`*D)L7e?WTH18 zBkX7Gs}#=}n=73URKCwI*ZdKgu_>W3F#Zcucd->;@4+T*2Ux)R#yj)J;}0rsEtVb1 zUFYn~$X2BY>D%FaCv^%tVsO-*b6W^){-k~<^@YKkMNQArM?@TV_ZG)*4cyU?I}yl7 zb5oYF_#VTx(<(&B(mjf{I*%cbBKL^w!`p(ECuol0^`|%mhO}s`QLHS=`tM);4DxEm zSl%zj+|9f2cy4P`m2ryfSo$=OdnvZp3Uwm@-{Kc(kZm_87`&L{i&xozUA$vSyq=*g zeGBZ?;Gmv()_Yn8K?63CP!GH%k(W1hgL>j3pJ*QbT?)r$wemNH_d=1o>7i!ME+_Uo zF9%ioenbwTeSLFTd|^ zygC|;k6)V?eppRr+OwUusteM!&yE4op$KGpi(LXNg%ONi0@2oy#X-CuLQVP+thW1C zgu680STb~?4|0^8!Jr2mgc#YJGwhv1QoBPiZ`3^yemU%o^h8oO zCR+{@hOiXtS#{%F*=li>XGRRjX0yOF)3y`hYK{T$7rxxy7g;}ppc?llQD%~&>A^Ey z`i%lNeA8NABw=*P=I6TxISzZ&fO9S2>C4ES&!FoA;wQJnMh}Sxpwx#9RksMQt)}Rs z5~X!D=1lfZg(%kyR9Yh~uc+VN|Nq*%5~!w@G#y1nL_rV)W#2_MH$Y^G2(pL}*&zr~ z5s@_l0*Ne96p&p&K^BR!?@>trSrT>x1Ox;gJ4rxxOk@irfw{cy*XPYl&zYX?J~PvO zy3V;t)lKTJd(KU&{`-Ib_f@8Xr6T*DH%p2(C^C+c*B}7F1zx6XIfmh*z?U1r?F2*A zWcqO}cVTeRUOZHD`>b60bZI7s+a3Y&d?`M7%tihh) zTlEJjU=W^`;n3bv`IK0e_E7B$vdz`f66i2_lXU+QH=DMqXvbQkyjj)M=t(HFO^r4F zWTMp|B%_Ndk--i&0CZERUbpl;ExG=a$O9;jp++B6qAm@qa zvZvxcpTifK#5go28Qt>HE_GFN8Lv;vq6@uYH>GaGYVZ}oP@b;q=WiY?l{(kCzddHM zQG(mATxCh~e5)X5sq6_I*?o6~4`x2FlxS}XwsIjHKMomkptpE`7HBOWl+inx!qUZI zb1@hlaC^aQ0zq#H=A};5YbrshQfr;1MR_CR^IvaXl)IRKWaBtESH?0c7e__cFI`g_ zE~HOR=byd5g^74aumr`tf6-mZsVz{!{3-X1;HJc01H)k&#*P~_u`6dEpXYmP?sYmk zz&iPoR+km7?|X3S{V04mnxP7bgyEDTeZeR0J17VrqWHxXJeS9IARYLp*}~60i`x@% z<&y%s))e8UO@%CpP`X>!D=HG)prvU=+UtgJ!FvaHK*-9yUQg;6g`7hKvUDO{1%e5b zr>-Xl9WQ{FURXar()!}3LB!F~b6VyfY=mFKU0Y}uo0ojmJpAU6ZgFRVw$5(6{|E zHbe#bI8x{m-72mXHB{CVe4!6pw3$bt4oqd-+JFX+AS9zd{d{>q!e@Vr!47C4O+-+X zA{|ypQ4j^J_^G;}M z`Hin{6T~!Qprj%6EkZHbC4}2k9dgG-V}I0*pD24p zN_87CyO(-1=rj4wCs2G+m*#ng5+aHw<0uvTj-+{Rq)}EHg`GSi*_)Ty;1#x2 z&RVd%jky~1q9!A^q7ERt(X!T`e6p7?>bWp>&QP&O(U)CLGJ0f0#o>VebrEQ?`g98k}>aClDOW`>wz?k+v#LR~#?oHA-=yTnJ!mC(ub3|a#6>)dxhD-GZ;y{HB|FoP1ehDo~s zems7L!Wpw_Z`3%!vo>a=H>y{XgUFp(%AE50qR-;!J2TgbGz-+Hn)VW0fhqr4l=;NF z6NHaxOOP}{-6o_4BR!fL`O2yoe_{t@{o!(Il#B3U2~qenT4GVUanOWr^IASD@1sw~!3y=0(PXufB5=&OICY|_duY%!>PA(c ze4tU@Xm|cxdEYs^Zt)PUyIlwOai34O^cfg~5GJja9TK!gcW)GG_eS0SQ_YPiGF(JL zMF-kZudLL=I0Mag!iuS{cdTd>4FcA69 z_1s+5u#2vd^2=N`kJ9*8u>DB$^!P;=pFu24h4j7T?q-D+z`OY4Z^P~F`)a=O_%8=k zIW8}{HEJDn^?x*24+pvOZJZm2+0#&v4AOUhCCQJVvb71}a@we38=2_J?|X)$V->a$Q(@6kW_=Y0|UGOD15g>jL0$+lMN8(kwk#%*v`` z*E=j@In|b?%)9s=%}6lc{W4f&xG^&Cg8N>TFf(J9ZURqBE11gQVP+I-h*0*Di7{c> zS4M4(;VOjyZR0{h+ne6k8;>&52q$OOAVcRN{aVLp0u8NAsw%;vlm{_b0w5XsEJ4j; z#{Z>FOdg9|bp>>z>ePCo$;Jw&i^4KOI*P82XtbgZgp>K+;sQBaM*G<7LDP3n+9qq>p=qff9vB3gvRVsy5 zSK~rFq_E|E(7vu?MT&dQA)_jUAgo&bi`X0UoofOGGT%1I_23WsA;pq|zMMkZZdCTB zOZY4WM%A08cTaBx2ja9P9&jMLgP-!+nJ{A=ziNn4)f=Fy0D--XAxA!Xa?tpaA2r7? zK1pvS{PjVQBl}mMRC$&CZeZyx^Mw{U3y-+EJ4f{qj)7a!X zU6}g=du+qv@L(@gVQ@&9|8=^YP~NO-%q1|MU}`jMlwwrKr~cjS&qI@cz>WShN_GVZ z4*_zie-Y~R=drNeJh_Ek3rB5!oNoBM#|mT!(g6-#;LrwCCw9j~0D4>Az`M_{*p(~L za^CF$+U>izTTwGs)vDj!IsGAka>0Pt+dxJh3{b~%0opEqHnVN_%9nQg>XVap_o=@P z*xc>w4t#%iPkR{9`h%X1=n8gp`|m7G--uJY_CbT~T_dYSM0Av;eSuE)`8ZJ5Yy z1%_gO;6)8vj#?leR1i@{>`KXPEYv5?;cTHESNzg1>y*uK6^Rpc>JGDFjs$uLYV@ns zI!pu+j&(HOvk4S3=*ef!$>mH~5RR{IqOti4;&NFB^iCYk6ODuV21_FN>Q%>8dTUrv z*??o>56r>lW|bckb^94c8rH(P25I70)5iG3Uji#9&9N!s{q8l=jm>DTtVBDiIpXdI zYG7--tf*C*0J0mb#J{H8wQ@;zxZ9XfvGUVdpo`LmbFqhK_MyPbwWYzs->g+{3^h4r zScHi6Pu(g6AA?1qIT@@)ZXaF3Z_?1@POWhtOv?9@OLaec+e!RHch9+UE1AJa{}}u} zSExhS90`4#R@UklkvI24@o}IoNuWAq`JV2psTVI}rMUF!ULa-SV{d=|#YxewdJ8$S zaz6R!tt>60>MeMY-BJ~!G`P2j^+vmn?1_C3FW_iilP-8EKo5k!G?>GXG{Jvgm=l|! z={euOmgt4NSKw|TezU1{>b7|PjRy~&J-+IhwK=Em3Aj_K>XzCPEL$4ZhBTpC5#jXaQaV2mn z2Z)4im6lI%1qKK}rOPB>G7(PjQ^WQ(XWmtG&2a1u>1fzkuyo%Raa%zEEd457Gb)(TEK0pPE!$a>B`1pYV-hJF?IcVb~Mj<4;}U??{u<8BJ3SNMZK=X zN2_j{U}HEsV_>5Tk2qpTb|qk)ejIz2<~K?~M^=*5`|N^!Pd2)5dQIqa9U7R1Sfb+R ziPV==l^YO?9L&98Cdb112WE@{$|cCWQCO@m@OD0ev&BJpMWSq=_#OT7(a#*KXW=H^ zh+B2hFSNUbSwtAzS)-M}B;{O+sc> zC34u}ou(7dw!ZGHS>cb1dGm?e70xry(3ERR$6%w40R_Q5Czrlw-Rktp8C8trTTGV! zEPPWSv68<(8C1|_o-S*Z0)PPVD#)X))U0M%NB5Y3+k3Fjarok26#Q(?91g7zIkn$Y z{|BOt$(EUrW9-4Z!To;qPVrm(G}9M_-24G%aF;a=XKdnN!!k{(70tozWr{EIGkdS6 zJ-?RrG*OJ}=n%+V&3g1u6__Rkk8od>s{Y8#4Ah6C1WkV#G8w*c`$$L%=g?@-Tey14 z!CMwbFhAdr;j_xTS`DvCKI5k#{SVeF%B)uPXVM82L%TMaOOI((l6I-ZCn?io+ML7jEB3wBUN}nDD>(5+4)yve}7W~>yzy_B}hI*QEuCtEW zg-u-C0mb2CTNUPAr@)kJ1l~3$xLXiiZ(-w%?P<+tUb78n;pb3=K50p#JkHaTE8qN? z?3r=5jW+p4pUz{!GsEB@EpDU|t>l?JqtzBNy9uUi(-^w3c#XWmj_U%8w`cIR8 z#56Ajlfs*U`IvE>vavoBt6_MXSRzkIN*r%{3cx?UJWg+FUmmj$4Mw2q%@uBc+m_z$ zR^jtf=zKXmRisdp<$Y0FRGal_vlBEk%fwPdcVg6=L}h0SFL>@c&*fc_`Dqo-SPoBkm=8PIY(UV3TsP)Z9bB-hN;>PNRRbS;blHQM;T`?n;ml{N$ z`O&Ro6$qIeCNYc;RvVS#Rn#BY zj!ODr2eXxOdx!!*%V~M&dgc5>hvlus%*ixs!}2$}C3lx|rcwQN1lp;%#Th500v64C zAyMAbH2T4)K?c%!IXu{ISL7Z;J%=V> z1!qc(HRhGoJd77|7xbn`_;uW(b2#}BB3AePPZN_)mD05If@b9S4gZRU3b5lHW-Zvc zt6^N`a(m<()x9VvnM6%=I9gwqkS(yf}e zF%V%}Knd5l6^_iR_-}EBl42W#G?OkwB45hOBsC;l`@E^?Duy;KU^Bi-2b570U;!S1 zDWSq@^@CYfSlQ|;8pBvjutjp0x7VOE+f8OC4Mmk`07B@2%B;^d#4t9rsH?AE8FjEd zi>UN9kF^X#nulo0Wn;ROXfmu3iNxfkJydhz`S(w+e_Kby>4k$&S&3YFySnECpv=@9 z96R{+Mv36nQv+eWhRm7qNw0@g8q}r=c9@i1d$Q8HOQamK7^AwRlZUWcFr*qG^qa={ zsslQ;Xv54*m3!ld`wd$0W&iFE)E@7s4%o?H>_r(wJ`Y+Qyy0NVm z;4c)-ZZ&_d9eBIl+~%_3sl@l=(aa#6+*<+2oP?MmT5S!nN8HG@%)zI7-3`QhA6LbL zHo5iAIkLpvB){zz$$DwUdE_c~^mr^?fxb2Cr9oho&Yo?V8w)7X&%}=mDFnuEe&A#r z6CraXI~_=Nq_&!PobJ&`b4t_QOgdY~KkBuKE^(d%oCQP3^Gnd7oV?b93VlY%yuR}L z&v+7i=!@GM)2uS|32j*Js)f9;uqsX&ld!S_Qr$?=m+c^Sc7%uEF=Nnb<7cP%vi z9y9D`ZCqWg?&3ER)ZNJs_;4@5T(@ib)-G;e%ABu~)ax^F%uL|scxVVJFi$|0i~SH#~ro{O^~)W&D5f*Zyk$8XeO_0FuNS z#@LPN#^DhP3`?(>R!|>9Q{LbD>YMTcwo0#bj#`5}&f&(oDpX|Yst8vba&japK(~et zdCslwhUAKT%(anTZpXi7B~W;LHH^BeeNeA3d^$in*}6&bo(BX3CIhuHI8aZ<+a-9lYEq%H`)TQZHV9E)h>@9aa7cFOcYvtOOh2!<-{-`ggP#$Zd{zix= z;GEoRX3j8LX_jxmCeha?&NC-W=TBv(N_+e)`^#2^qafB_Bki|%{8#+I3E;=y25RoWxhnu7VF>g#`gd{qT~^cHzscGz%JKWi f|1Lx5*QxJ6U<-fw_5Ek8W|t|oZ}%$y3Y-51yS-2? literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_BLINK.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_BLINK.gif new file mode 100644 index 0000000000000000000000000000000000000000..30703a781b7c0372eb9970cc001f1d8f0c5afba1 GIT binary patch literal 2627 zcmb`|dpr{g8^G~tqm7+%G8&ncgSL(eNulWCmRwSjQ)n)Qj@&kkp=}IfvY7k*Hfzdt z$EJ~6q+ANQU&7o*Zi&+6_3HFF?>V3M^Zxlhe?5Obe|$f`$M}NLNo_|qKmqU!2`Db^ z?R``g7x%o3{(Qb~xaEFEkR6?F=RPs?4v*)j`||AU=mRaIR#u)X!WBL~%G1jB)B0v} z&1iE;A3L(i)8<}#8Z$4rwkGFQrCX4jTcwkgXH#)6!>w}b&pEIqVPR-}<^0)8h8joI zfFb|@;J_wGR0DtnsBZ6o?`Hr+x5f|NcX7{hW0!a=JoQ$6g}eI}U$Pv$yj7p$ZK5g{ z*E$8M_t43H&BB>JzFs=uVM7OtbH>Z?W=F7l$GieNJoyh@H7}hh9bW!a6Z&fT%NCJz z4RQezEe<=SHLl6Srk`1e9}?hNK5tA_iOoCVNl^`){en?xj}H{(2!uqz|hE) z0ssOYgwl2mQ^yqYSEj+4fWc8=#pAVWC7EI&3InpLS37M^?iPS`%rqAz(LsygtS?C> z^17gxY8tEf-9(U2f$!G0;q|y2kjTN+@()DQf|k@hbi|tt!+j^oACyqY5P&bsd+E`pYl;02LrjX*emjI`3sHFjDtVX zEN|Yl9GHvk0VJ#F1{xL~J6IBR*G#02pPa8-Bso7P`^e_2GIfNea?%1(AH2Xj;B8LXq<}k^WuX-u3$F1`Mae zGJ~2T9x5nPzIx508kcuTMkd_RLC?0*Y#}ql|MNNUpPXUeIqw080;mAk zch39&!TBf?3isINyijqri@(j;dOf&~!JOoIgG-EC$YaKnO`>B!s7? zJA0eJ@UTd~IG~>t#y^$gN2{&kiSOb&HCG~`O`Kig2r0ji*2uWmoa)FL9!5Meh2K}? zSZZJX#4q1(*HATr&*jA@_bseQLFYT2`g*(ipuiPnf=mZOCkT`Pna7$WWcnw)Qv(A_ za^SwcI_B?)j>KblrZYXN2x8WD2l-A8=XsF4_dL?7V7AQp9HK7IX_M|;8heY{qVDQ#KM)q;swGE@bG^J4Qh&N;knDJV1LSi2 z#!ikZft35rW?g&MLbOV%QrGO+#ZXe4s!{OX5({$Owa;zWKd<%Es?lAu5$#aMde2u3 zVMg!US3taoJrN}1HckRKeP}lL6{@+I|L$bzI?VffC)f`N0 z>t{##B~U3iks2MOC>wXv!&uZy6v-?KXNuS{L0LsbC52_khe*Hjn?(sl zyE)7oBFw6?q`G1dzmn@+CS(6NrYXnc`XhEDv$S2ds}e^jQhdoS^P=_)YO>0@{}>(M z4|2m~Uo@>1FY)_J=HJ{kTAhe=ZR7eNUH)KCT^v>22pN4O!wQJSaF!iWKA*5J(6?z{0jO zM05)vn3rv6S@zsZ14dt) zd`i@b$6^^Xv$JKnf<(Q*;9vcb5lx75J%mGcDoN J{p~X8{u>&T{`3F< literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_BLINK_e.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_BLINK_e.gif new file mode 100644 index 0000000000000000000000000000000000000000..600cef8995d2783ac2eee7fbb1928ba1f98ca006 GIT binary patch literal 780 zcmV+n1M~bxNk%w1VX6Qg0J8u9>D1N1iHggcoV$I0hFV*kVq?&yrhQjfwsUpXu(6L_ zUdEAM)j$~<` zXsWJk>%MR-&vb3ycz!i}@BhG{a7Zi~kH})(hUFe-fsslWFUI- zkS??8lI#Plog^f{XrNc6S8jhkWtc~n3tISyedEYitkSu0gGu;TRc293%K{(9DCib| zk;Dq0swPevW63y$Wek~=+1#LYq2auk*k~`mo}Ky>Y&5g6qMQU~P70e7D?t>fnhyDT z83IhTWn(@Ktm5j_bRjvcrBebcdRtR>UZ|E{W{xS-J`k{0fK=-exKA6jd7jMZkhfpn z-raT9kkA7o2d#W)Ed-l`IlwQ?4{GWq5o43Nb#2`QOh%*>7||fq9K#rL~=%I)vs_3GOHtOi3kVY!$ Kq?CRT0RTI6+hm;p literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_BLINK_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_BLINK_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..600cef8995d2783ac2eee7fbb1928ba1f98ca006 GIT binary patch literal 780 zcmV+n1M~bxNk%w1VX6Qg0J8u9>D1N1iHggcoV$I0hFV*kVq?&yrhQjfwsUpXu(6L_ zUdEAM)j$~<` zXsWJk>%MR-&vb3ycz!i}@BhG{a7Zi~kH})(hUFe-fsslWFUI- zkS??8lI#Plog^f{XrNc6S8jhkWtc~n3tISyedEYitkSu0gGu;TRc293%K{(9DCib| zk;Dq0swPevW63y$Wek~=+1#LYq2auk*k~`mo}Ky>Y&5g6qMQU~P70e7D?t>fnhyDT z83IhTWn(@Ktm5j_bRjvcrBebcdRtR>UZ|E{W{xS-J`k{0fK=-exKA6jd7jMZkhfpn z-raT9kkA7o2d#W)Ed-l`IlwQ?4{GWq5o43Nb#2`QOh%*>7||fq9K#rL~=%I)vs_3GOHtOi3kVY!$ Kq?CRT0RTI6+hm;p literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_BLINK_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_BLINK_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..3670af28aa0d98d290db1bb982da788bc3ded829 GIT binary patch literal 886 zcmZ?wbhEHb>|_vOxXQqAYT}fhgrp;F9cO3EK2THt@$r*i-@e`7xBuIlx7Sv$eS7QH zrA13l_D_6r{KS&1oEH}^o|`qNBR-)lJfb-!?qFlf{EV!I=-B{ta_YGa8>gkDot-i3_LgmhpR zZ2JHI|L)>42C{(SPZqE~9S{lf69e0Shl^PrI#T^7mK2@Lv6_G3`61?$F6(csDccDuo=Fw*EFtMAD zacT}j^Q2j`=ggfqYs$2y`Ae2ATRwSeBZG`4bBm@X%f>BC%v&^@x3Ay9sk^adv*x}Q zo{j5uw{LAfbVT>qx|ZFCHf-8|pnb^N}Y#BSY%tEF}Lb(wTHbalRb z+5T0B?V*n5=dWDgou7#h9A)VOj-I9S2={WlX=Bnn*-$JZ$>#lWJM{K_BNYK|CTCEF`_Aar_eemAQi< zX|(~XWL`qUBHKAqqAFj%PLE&LFg03cg6Qo9dv0vzeR|K9duje^ma=VMrY9{o-fLQ{ zpOKz@plNO;b67}$OkS3c?xv^|x$OC?YmU}#l9k<-&A5=QW0lD<{@g!K?;f5$?!I3> zxLMPuz27=p@=|EVxzf~zw9w4yBJ~@WCNOa>YFHkjruFs8p@fYQUnUDzZ{TS;!1Q55 zs921Q)S(9*szOCd_Df@@hIFx9_{`g(^=`|8ZY8VDLEXD@mq^&khRop9@=#m(MESn# z&L@)tv}Q`ND$GfEIyE9~<d-Y;*sh5G10E0CEgM^Gd literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_OFF.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..5b7e4c758bd5acee9357c1baab87a4c0c4f7b44f GIT binary patch literal 919 zcmV;I18Dq5Nk%w1VX6Qg0K^{v=jZ8=kd(N%y{xRU$;r&~^YpQ?w%gm??d|UQ`T4iE zyw%m%!^6j%oT0L^x8dRAudlR^kCKOnikX?6jEs-Jzr%}*j>yQ&m6e&#&(giU!G(o~ z&CSrIrK|t{|NsC0A^8LW0018VEC2ui0IC2U000I5;3tk`X`X1Ru59bRa4gSsZQppV z?|kq7z@TtQEEns;rRFxUd}r$;QBu z+^>?y*uIgVigl%s3JD(X9tp%6?-`Kq0MPL8`R)7i`aEP9fZ*MONd@Audv}1~J`V^6 zbja{7m^*j?DL%9Z0A4_WkOu5y5DDMJij&a)iSj|pR6-Bj-XRERuY*Z?9st~;^)eq=#5NHO|y{;8v`T6*Yp~_AX)5dpVuPlB81IBLfVTX^@Ch zr^bA3t)gYBmaR;9<|57I=%GM|gnl6b7CZMVfwfMnO6$`pA#ge9^6*XglObe(2DUvCJcO+fs%S?7NBS)P( zFd!Dt?M-}EXDerZ+9V|c@34DlW&O4X*{!F`VtA{SV+09Pfz-Y#t#GlL(;Z*e!QIT> zGo?S@8p(bK{2v{F)icGolTbb#K;{AeF$x$2pML-n7l~sF0OweOqFMHygpiaqpD9wk zWRHGfRriil=(UDZL^uUD$x<*~^G*T)Tog-YA+}bVNsj%tonyTf@CsHWnY80~9e6kj za*$LA&jK=TwckTc?gM3VOO+N0P8veOz)SJyLY$NDTzO8GHED(a}Dej0&%qf|=42CTN~>Z`EED(kGY)@tjmxaK;m1QwhcgsQp*E9|hu7E3Iz t5d_h|s>U|!?6c6?DuDz_RBP=Nwb*8>?Y7)@>+QGThAZy4M)j$~<` zXsWJk>%MR-&vb3ycz!i}@BhG{a7Zi~kH}<_V2CXU%BXZotyYrLA+6X`$Galz<85$YLV3QL|c!TGo<* ziro^*j49TbXG2b7-UyUMFCQK=yhPxF_%~=s7)V#%Wq5 z0RDk^@2;|lJV*{IfRMxDi;bWt2#qn?c*qut*ws)U z#|TnjkVF<)q>nB1aex9$HtFP(P(m3%08v(H<&{`wspXbjGRfR50Tdtr17wzI=9y@w zspgt&w&~`ZaK_1|03x~&=9qHkspp=2_Q@xmF^K8spoA7`Xq-AEs_3GOHtOi3kVY!$ Pq?A@_>7|%{5CH%?p}u%; literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..3b1c464400dafdde5153aac50b724f54656043cf GIT binary patch literal 880 zcmZ?wbhEHb>|_vOxXQqA_3G6rQ>I+FaN+FPvtPb^`ThI%vuDqK{P=PI{{4?1KiTO1ckkZ%_3O`^ zIkR!&#zl)3J%0T7^5x5O=g!@|dv`-a!~FU4A3b_>{rdIt^74ldAO8RU|K!P&4AcOM zKUu)W=zvI&pBUKwJ9KAy=t%XSSW|6xas-}>9{f9#pJZXwI1EGCWSme#iRj?S*`p5DIx30=JP4Gc{aXUv>6d(Mo> z^;y&AE?%;9*`z58#gtW=m6e&-Z(>r}q};T1?KTdL_01cV_cU{_U#qcobK8MK8b{VN z?>w+>!`^*u+om&f9As{0T7PKUzH`TRYRsQ1tInsvq|UCP{^`@!&+4rA)s;Vf=KS-P z^%rlFLVtsH^$!kC4vq8jTutgc-!6Us(9$HR&a-9q@&f{g7`dN6ls@pG#lHHJmYdBE z{#Xru#;vJOo~J$9$E^P9t+%JfQpW$a%p58&+9n_1bd<<{rt(F2TEHT~{#!1NpBx&Q z?+Uo2KKRJOwOFMtOT_!p+|Bdi*hQz#`VzCsfkn{5Vq?SoJ)NIM z3c=)iPW8RK(l(oQ;}VNSkLal6yErg*_RkEdOt`NwuZdG&-YcUC32dw?m$How8w2C2 zzux^NF4@W$At5Z#GW~by!du&uXWp?bWjHtWkK2QkwDPoE*4G&m0~$8J+kfrI?P+4E zQOe4aAH0Y;6+2c?`|RtrB|*B1F$GEbXPc0q50b!O+)Ypty^FBChPJ68B-gh;wR zV)#_DIkD41az;}7nI$cYawR3z&a(-06`h*kBKGq{*>s7OPbRrdGh^gXa?yM`B_u5K z>C}j{l~1R|l)Y4)Chx&;ibdQZ;LyyBWhe3O`4RMHn-;6 d%jfeOepN1Kk$fZhVqu5cDvddUEdneI)&MzUm68Ae literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_ON.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_ON.gif new file mode 100644 index 0000000000000000000000000000000000000000..ad55916d60f2ee323295232f3b9982245ca11034 GIT binary patch literal 919 zcmV;I18Dq5Nk%w1VX6Qg0K^{v*VpTah{Rc0h;nkcq@>a7>-Btmz2V{T!^7eA_4atT@p+OT*`E|ns;rRFxUd}r$;QBu z+^>?y*uIgVigl%s3JD(X9tp%6?-`Kq0MPL8`R)7i`aEP9aNym8Nd@AudxwDFJ`V>5 zbja{7m^*j?DL%9Z0A4_WkOu5?5DDMJij&a)iSj|pR6-Bj-W>>NuY*Z?9st~;^)e`pA#ge9^6*XglObe(2DUzv!cO+fs%S?7NBS)P( zI3O0#?M-}EXDerZ+9V|c@34DlW&O4X*{!F`VtA{S;{yp(fz-Y#t#GlL(;Z*e!QIT> zGo?S@8p(bK{2w8J)icGolTbb#K;{AeF$x$2pML-n7l~sF0OweOqFMHygpiaqpD9wk zWRHGfRriil=(UDZL^uUD$x<*~^G*T)Tog-YA+}bVNsj%tonyTf@CsHWnY80~9e6kj za*$LA&jK=TwckTc?gM3VOO+N0P8veuz)SJyLY$NDTzO8GHED(a}Dema4Cqf}bK2CTN~>Z`EED(kGY)@tjmxaK-*1QnbbgsQp*E9|hu7E3Iz t69mD)s>U|!?6c6?8bJg~RBP=Nwb*8>?Y7)@>+QGThAZy4VwNk%w1VX6Qg0J8u9)YR%(S%|N%*P5Elhlj&*a=3hay;W6xq@>YcV4hrD zk&uwbQBiKItJP>|v;Y79A^8LV00000EC2ui0IC2U000F4@X1N5y*TU5yZ>M)j$~<` zXsWJk>%MR-&vb3ycz!i}@BhG{a7Zi~kH}3xM%BXZotyYBo68xBR0C57SU%!A&SVtk+geDLF92gVX(Ln`J!zSe72ucDU3Me0R zO6iiMN|O{a1~ZV8(z1mP8qVsYETo`j%7S4`Nv-7rQ!;T1z|_ka$Zb*C4Fhm>WFUI- zkS??8lI#Plog@grh@e-cS8jhkWtc~n3tISyedEYitkSu0gGu;TRc293%K{(9DCib| zk;Dq0swPevW63y$Wek~=+1#LYq2auk*k~`mo}Ky>Y&5g6qMQU~P70e7D?t>fnhyDT zSpiJ7Wn(@Ktm5j_bRjvcrBebcdRtR>UZ|E{W{xS-J{YiefK=-exKA6jd7jMZkhfpn z-raT9kkA7o2d#W)tpb~aIlwQ?4{GWq5o43Ob#2`QOh%*>7||fq9K#- literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_ON_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_check_voicemail_ON_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..ae53a393d4be0ee1922ea185cd90843830be8ab8 GIT binary patch literal 881 zcmZ?wbhEHb>|_vOxXQrL(Qza)vZJVI$HRvozJC2xQ?vK=>#sX^-noAL^^zqQ+u9Bt zKKw8tVcx7+XKHKrojv<3D5y9rtbX$3le1=>Eid045z!JKKeMQ4=ZY0qLPKklk`^vr ze6h84MNCY8aBx|E{)|K|No4P z%?uO(#h)x--8vu=*ZfR|6@96C6?&;{U%oRO=_&#Ti0&m)L!4bQEhKC*ZQ?Px9w;> zcv$=Bn&w>x*KOFhzwP7!&O=Pitm_YN+kgJ}F75eKm9_Y_S+&@-wLX2?`dN$RzLwg@ z&m4c=vi#zWQpj)6uKvLx%As-oK39_#&#z1016-MfwfMHozJ5T!iIMyHL*WAft@hQQ zwA^fV@W*PfGP0_iIC1{$ky^HpE4Qal3OMzj`4v45B*>9$oR|&{(t3Rat58 z&ZZ@dOl-T(+Uz>8xJ%UCpW&*-wVkvZ93D%q zrztfp-uvU#?yvrzx|lZ@C@FCGo4;||R(Ra#e7wP`nngZ%%k*!%tW6d@DAyK=j?w4Qk) zS!^s=a5Ln_P4n~B95WaWu`ghmG~Gz!?G~nl^#NCetJblk^f@rUTVXmaT0*SoLAxTK z(IUG=p`{_6OeZe$wyQl$Sy$1^_!Fhu#1H literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_OFF.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..3752fb5ec4186f9563a250d45a9fb8e76187c5d2 GIT binary patch literal 541 zcmZ?wbhEHb%w>>cI3mFC@#Du^w{HFT@#FI4%YXj-xpwW^lP6EkpFjWq|NqyoUw{4j z^}&M&@7}$;d-v}1=g-faIRg}DAO$G?WMO1r5Ma;&X#&~F!1`Z7r7tCOUdF0*Ij{E> z=$tRfyrP{#Hr_vwUI8lJNk*U9{O_hs% zPLDEc7n^cpyUGfa*%Mpa`&lCznfs^ zeh$}qflhuV4vrgD0+V-4xZZgG=+n0R6y?+W+)A7bVbxO`dj&2mzhu)*r?o19pn*<6H4i*TVpB1T;)-Yvv zar_F25Y47W+cIXEhN8Ch$*XFgNN8AL8jk;TOz#U%bKjn0f(l5Q!VEw0}F zaamovNZ?=TrB<%2Q^j)_d{VFLEWE~E%Oq;R-6*2Me#2*P@0Rb%5ll;hG&yEmWI5uH zB{(UhMnZ>kW9v=T=7OzZ_xIVDob_>XSi47KfpfQ<@2)K`FRut*9d~xu*4NkloER9a E0ZDk_tpET3 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_OFF_de.jpg b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_OFF_de.jpg new file mode 100644 index 0000000000000000000000000000000000000000..af13f36317c5f5a59fd932c9e4ed6f6d148e0091 GIT binary patch literal 9634 zcmeHNd0Z1$9)FX`K|(;nAt+rN5sXrS9Gv+Gh}=j(As|a@-5f&*xiA?7@z@G#Eo-$# z1yt4>vADu|RnWH9tM;(12VUTbt;K_?wH~!c_RZuFtnMz`Pyg7@CvWoJyx;MD@Atm* z=Do@M#&XVb1$bnnq^AIcf`Bx50LxYCx5*XiA^;>35DWlt0Sv?wpsx^Ww~;E2C>Njy8iVdaL)juIsqi4T;!~qlv^p;Bc#Gun6NEe0+JgLxw zX#rj|;oPO(ga-$5PTUm*%C8!$%!#=^3RC#KAUfdyV`Rj^lhBEczRKjhNF3{SxbR{R zcu!rhbOJU?_Q?V9;DOYf*YZWn>JNAe{iEt;ebU7oy~Diu=SRZk+u`r%rk~l>hJKyd zG)K4MxV}sregNr>dwE~n=+W<)n+y}ZpUi1gR#s&W=?og$u%Jt~d+yI?F5~yxGBPsF z+v*yQsUjL1yLRK#z5JIcRXhGxa5TL3eah?6pgvu)X~hIl=f@X%&7(^VW53I3<*%OY z|H_y-7q3lBcsX$S`E+UQxY>&^Ek9GYHah*sFMZ=`^V-gOPN<&o>y8ZFrh3nDfeEq8 zHZ@s}Kgi4GF?xpt96j1}qxX)8ck%Jow*oiMZ<~>ympiQBk@QBLmwWLqcS>dogfG|J z9NM|{lCt-m@amuTPv~q7G_P8VZGR}eHNAHGVnruYBvua}^HNmzhZnze*IZLAa=V=V zYI;!kKR%j$<|4M_?Q0q|`}&g07cO6tyzbL@`pGvf8coDr=GjLx=iGeXoMB3pw6{Hy z4m}>)zHR1If23n!{>k(S(>CDd^lZy{OE0tK=~5$tOHK6nbO|+xobevEdG9z8GPKtw zvo2Z`+d@Dg+l?e;?v4f^{taNY=tlC01*L-29O9sdkyh`MG?Of0fmmCyNE$AUgbvT@ z4~twX2?5zB`he6)17Sr)P@;t;T;O0rY@GEgS2;LBl3xf*yG{hj33GEWbxaB14#lW3%B#Y#~o67m^}yfS6FmS+h;ky3i8{Td^BT)X>SWu#S}= z0bJ_<(80_BGN1wqFcoNl8cYWmtSKN*3y-NF8>GO4>;;zn6R}a*6Jg1|!Pt3@%j00c zip^z$r7zQJ;fWX+U2Z7TD^1z*5(T7ehI16S08->Yq;UV!8uThilPMD`!u!(Waf8lA zlWydwitTd3HM&WwR$!)lZKerQNWXq)qztk>VP=p-dQuk_TxwSs89f#q^j_hGR;|0MZ$ym`#~wRVFxuBweTC!qXo;ezeS}l_nQR zVOKVA3Gn-KBqkNsk3*Mfaj8tzkLRwyU^}b=PdBAWC7E)AK}#5Pv9tRrGm8zz$^@-i zWk+g|b?|9+Hf+gIVnwntEe@;9>6j6Jj(WbG-Cx~Ru1Yj$4aPp;a;)~pr#b|%3CJ?& z39Om8p)|V;H(~aPLC9EIIFWwCWy=jXoKU~vyTVIc{H!{8uW|@u0I{uB#G{^d;-aLK zO_1nmSP)>@?iB>CnU!O8jHbp4_8!Ri0)!O6PE4kzw#kOwnd0{|EV z5`YpIfE;e8Trd$7!#WPLiLAk!9(er+4K9cRp@2^qwDw@#yBXHMVhH?W>X}xIyBpSmlGRkyVxxuL63PK}z z(4LN`nG+TWbG%FBZfIqea3Z8R0<83mh0rT;Kl2;IP672>Xl+j@8P8utI>t92bpn z=Z{a$P6mXr6D}uQ143Xx%Ffy4glj+u3`p5IyPR+h2!R19J7<>@t^px1AZ6$5a>6wr z1O}w+oLx@1286(Xl>gV+1>f)3-wI)R_$sIzzVqo5kcV%ZYyo*Xl}e>i=`*JUsk^R6Uos8&Cs`iyGgP$w-4H+4kJd~%z^P;}rxbx7c(WkE6pSOI|uKq5k z^!b>e@3#c~eEv5sKNIuM3cj6pZtM2R@|Gi0YWDd|e@ae;5%sL#x=Wh;hjsfW*H6n% zJtI7OVR87qE}uztQ)*w)%(!&C+W2$8+YO`F_ehdy)AFyM(GTA~vwcj@!V9l4Cv9;9 z5rvPUo4Z>1u2Z+pmS3zp`?@a0?SLlZc2w7_ydml>jbEJZVC@=wAx_-EFHIZq-4SWT z6#bv#3N{uWn}3wYJyq4=o_ga*VMoL{t$zK2w9iw6-&D^%FI|i+hEuBNrRK(#M&XIDM;!w1U8D-KMpzftq-du)sgJJ1BK^R_(2Zs$N6aK(k!$xKIqrK_+LFzxaWj^)dW+8!W`Y(d1+kZ zTij)bYqtE-kjMV8@cjv{pHB)FtUP}B*sHhK|FUiGsY9%dA-Gz5XVt651)WN!STMF@ zaZiV#?TVDw6Ows8wEipK)6|AvWS_4cdZt00(Y@u|57C!%_OT|`0MNI&(F`+*4Fj)_2lH_{QUgj;Nace z-R|!0)6>)E=jY7K%>V!YA^8LV00000EC2ui0Brys000F4@X1N5y*TU5yZ>M)j$~<` zXsWJk>%MR-&vb3yc&_h!@BhG+pwW;38i2>3A;1xv6Jl#P00A71YQs?sIFdIkSb}X` z16C{nu`L<^2n0ZIG)SoOCLl@I8-@!LOGp-C6lD)b4OI_x2ulJ(V}p~64roe5V;5Ig z2W<~tdkzI^aRgYUMP;B445(iZ2Uu8)6Na}A4-2#o2@hMPq_B3gv{eedXvVb}SFm1P zU(X8+Ujvt+To0_$I6ox!O&APSg*RW&Do=v;9?c2C*L;wIg Dj27oH literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_OFF_pl.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_OFF_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..3c42a377208dde6c6b4b0c6f015ebf012adb2c2e GIT binary patch literal 565 zcmZ?wbhEHb%w>>cI3mFC?Af#P=g;52fB(;)Kc7B*dh_PZ&!0apUApw>(W9?lzh1j` z?d8jt@87?_bLY;@n>Wv#IrIPje+E*3;!hSv1_l8J9grrFoeZr16;%3CGUsKiT9@;B zUxCi~lHB_h>)zMA|9@aXfrpM%|A{3{@FZA-2A)(%nK5gSyxZpCa~jT zFZ%?3rQNK2SL?0|9H^bCyjtZf`_yafTW;{5om+ocfR**dBL35lHZfjqzIE^90=d%J zB@4LqBk#Rf6XnJ*rMW_YNyhrh>5H9=v*To2E@VhCFuoFEx^d$%KO@T=mrV+rT=*i7 z2`UTMaX(|YvLQ!_gJFiTM);9Z<`Xk-S!NyyP?*?c_hOT_&&G28Gd&Ul-Lj%SX|psX z5*UJ)PUP}3Y5j2J@w`4u=f53WPxmx3cQl0>nXVLM$ezsLA+oUR_Bzk}S7wX8n!U5! zd{Rj6Z{Pzx8HOr0lV!)vC!{j;OGW4D6r8^{r}3G?4w)CdDGXEOxl+A0B z?$*}U@$vEJ=jY7K%>V!YA^8LV00000EC2ui0B-;b000F4@X1N5y*TU5yZ>M)j^w8_ zO(3Ccz@R~ZGS!=|4K4|@WXHV+Yr?uccnw+wNwcvSFUCoULNF^0ht@&cYG2w!LYtca zyj_PxD=BCftMJ&73v3nZtwHc`JKz<5a9Lg`bYlb$b_0EH6$f-v4_{D14g&xH19TGz z4h9Gf3ptc*51R`PDp{DCoMWj4c@Jl@sHzpWDwbtg4G0Df2x9=Jf4CC@!43p`UTRqc z3kL+8J`M*J&uRjHS;f)Q)j8D)!3dLT4A|YH4#mmd?{U4HZVA-_?cWqo3}=Zb(eOpa z+L1pG{-uG!Cd&agj0n=VCq2Wk)8z5Jp;pFB~1zf zAUP6MO~9G-;f0f1J5S_yS&&3no#j;g$OO9&oJxUk{Fhz&;o06UW8 B$_fAg literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_ON.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_ON.gif new file mode 100644 index 0000000000000000000000000000000000000000..ed8ba2dd6e9d4cceed03fc567c6b3fbbb085561c GIT binary patch literal 793 zcmV+!1LpikNk%w1VQl~&0K^{vva+&SSy|rR-U+KJ@$vEc`ub&MWe{y6A|fK9qN0?P zlloUFB{3p$$!F00QW=3Q;5y)`Vk0Rdl~*h`Nh~jusTfBoL4! zFwe63nk_3LcpqD4d~P}g4gnpD9RUtg5{#0I2o?sDn2ZwwN&*&{7k819695yE7ZC&k zql^-qI}E3!3;>z8xRMo60<#?r8X66ZilCSm7`B)IJP#Kg86F-P9TyJ@i_#t)2htmi z4cZMG+T|J@1`7lbiy9o|8^ep?+6Rmp-iuY)(u)c_4iG?-Mh$@jb{(`Wdgno2HxC0k zkSizcTmS|EJK&?};oG8z(jvCY*C7Hzg&iRO02CN)S_gwC`wev2VSqGy6Eg%0HcSG6 z3X5`TWN5FZw09itku=F~TgsI)3m$AbvLnBw5<_O#O09ze0;lL<!S`I+5a{3Jesfy|s6v$iW>fQALO0!2&}y;u6G!a^?Y>9?oU$ zxS_Mh1c5b@#DrNV(yAUMRYq_@!UM=NB-2za^H<1ssV8cdq+mhVql^X&$k2cuM|+5A z-*vU%hU^VoiQAQAlVR7*I(H5WARs}|$s0W!07)_8Mh?->X^U>ppmUZSGf!tkUfyPk z)U08679O6_X~8^{RDbK)0+o_zM{=bwO{5CQ-@9+^tj literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_ON_de.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_ON_de.gif new file mode 100644 index 0000000000000000000000000000000000000000..957e6fdd814d960c1fc4793fbbce7b431833d9a5 GIT binary patch literal 523 zcmV+m0`&byNk%w1VQl~&0J8u900030|Nmb3X;|rEQrKKf$W=zTPC%zeI+sB-hdM5H zGbm;(97P`xB@qM!1poj4A^8LW000jFEC2ui0Brys000F4@X1N5y*TU5yZ>M)j$~<` zXsWJk>%MR-&vb3yc&_jK<@~XqqX!ZSAI79|$!sPi&ZzYG>`bp%Co;=za)b*7!-y~# z7LM?*Ar33vVg)*_a4_UQyrWSz)RS)wKVf5RV{i(BbU$|uY;a?YVn7>00s;hUmzxTg zc>)HTo1p?fo}_i23!LuFLZQBt7+{+}1Ol-R39F?Jox!`Z z(xj!HmvaiYLI;-vvY^knrOe_#yWvT|M;Sr|m;$%CmY@d5&;ozCr<~UU1x?)q2ojZ` z);LV%bm8knFOtGwL)giBl}X;WQReVTD;KIDKVKNQ8DTf`SY`-OC5hqrz04 z+zqJON|u>fo`8ZZ>)y?~ Nx9{J;gU5&f06Tca>8$_& literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_ON_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_ON_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..041d398fa52f1f7c533744eab7a60320c32633d3 GIT binary patch literal 871 zcmV-t1DO0rNk%w1VQl~&0J8u97#kQ5Qx9)%ZwiMB*x1-cNJh7}x5&uI`T6FEN+ z0+*MU^78Wj{{8^}0RR90A^8LV00000EC2ui0Brys000F4@X1N5y*TU5yZ>M)j$~<` zXu36Q>#EYb%5w`pETZo`&yua4?nlW95k#EvXe${RjD&Pbg))Y&tTu?SPN6%O4qCkm z$y6yAxovbB-6&yBug|~Mync^P*zsdget&9xc64}pK5iIrf&>Q#29uPOk%(!Tnskwt z2X|?6lAechQr+Lg1`$iK$Y)yLh|)8E^l1PND+6tA(<1@rXv-G;Dj7^&;LR8Nh)8q&o{5Kc?CCegF;%Sw8)aXo~a1(ExIrC{# z#y|lWj!byKTEvZQGOp;fspGhi9q_&ODFFh&2?Rf`Z1ZVX$vAHUohg>=+SjyOYtBg* z=;wVZYU;`A6roza%zQN1akR&4)8rlEGQspuhX@J%)01oUBLpKOeQ2+?MR33#4y zjkyRHNj&oQp;G;chvbV3viMkoG0OK21JKwvPfazAR6v$)Npx417J<1XPf3OKrI}j- zuoGTt0%Xf4S12S$G!2ny=bd=wsVABJ$QY+fRf?0*poA7`=%I-AS=w_nJ~K)_kVY!$ zq?A^QO=$^L;K(4wY~$&tpn|%KE}?2es;TO*)Ql2wNKwkGu*NFuthClzMK0ctg&XSs_7C(H0$gXv(QE>?X+Pid&9NZW~=SC+&&Ni06S$%ui^jz literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_ON_pl.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_ON_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..330346eb5280b2bff3db468efa2c50a74be77bd3 GIT binary patch literal 951 zcmV;o14#TwNk%w1VQl~&0M$4E06+}@e;EM3CO|+yfPjDiU=sk(DF6@yyu7>sFbV*# zBLI&b03Zec?=S$LAOKJhe0+QWa2CJ6zX0DY+uPgw`}@nw%M1(*92^`}R8-~V+5W6Y@eT>V`F1bP*9VTlW=fwudlCzgM+NBth2MTU|?XJoSYOC6r-b~1Ox>2 z_4VK1-;a-v)z#G`BqYzz&!wfMb8~aGwY32MGXMYp|Ns9000000000000000000000 z00000A^8LW001}uEC2ui0Brys000L6K%8($EEvAf1~VH7cT~qA{lznWv$hrl^}Vu3eh4n=H7yyuH4?ms&EL2?EB(3J;aZ zjd>GF;prevs~fy^83vMhbL5`eypbg{mb>Xxj)2Ms6oGCKdph@x}%%bN|`k$8@Ja$oTGt6$s#>*Ni(0a{{^va07V@K*sht)5Zb7 zwl_^u+R;V;t-gtQE*d=YW~!uh#$>m1;#%P2=1p`=Q{T1C#^&AQAh-7>eIhrxU6{~D zKcE%$0!T0rsyVMVj+V9Ix1jBwTRBbqNA@!B&NiH*U1IY%uz*{Y;buSp38)@gbMGt5<;1&^Z2PNbe zd-iPd0TwPu#ULjSFgRKQ3}VPsgG}DT;88ir_aspT1Q3CIoiKP1lAz_3o|coEn|5fhZWvAcUNq*m(n?oQQzvCL(Zw z009IbfI|l)Kq{#aj}kxv95_^vDWsr&KtZMmcp51Vqz*yB2L!y36sDH8nX0L!!WwCt ZXXL8uuDtf@>#x8DE9|hu7TZM-06Vv_neYGr literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_ON_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_live_call_ON_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0601666192c90273ff44138e9417135ef69c137 GIT binary patch literal 2750 zcmV;v3PJTpNk%w1VQl~t0QUd@NJvOxVq!i%J_4))ii(O#TS|t8h7_C>tgNhrgoKZe zk3m5}adB}R92^^x8v(olMMXugudifeWC2A1Awwaao}MvNF;-SqC5t6QL_~UedSGB+ zIyyRnf`S0<00II6OG`_foSX*I28f7=mX?+rM;ry>1;WC@3~~%qR8$cW5tNja(b3TW znE(q53t3rN2`dQ=l?|$@s=&a&1J46&Y-}8)95yyKXlQ6oPEIm*G60AG7L68uetsKp z8wJ1xT3T8Q#tVFWd@Cy}8$BBgwhRr(4Fd220~7;*fPh|JUQ$w0GBPqCARrP}5}BEq z1X%=TW@Z5+0VgLXYHDf)d<7$#BNbT{4uuW}O9vTl87Mg@0yP3HPc0u(A1Ej&=;-L? z=H~G5@Bq62^78V^%F6Na@!8qg<>lq=?d?rXP0r5Fd3kxw&CSWl$)u#Dsi~;}cmZ8q zUChkP?(Xi~+}ympy#D_F)z#GsfeMn6lIQ2=sHmvv>FEI70C;$KqN1Yj@9*T~j7{rmg-xVX4;b8~cbbfcrA?Ck8z%gguo_ot_)`uh5j zk&&gPrL?rP0Cxby#KgL~x^{MUv9YmkZf+lzAJ^B{*4EY?lpV9Pv-S1$rlzL1x3{68 zp?7z8a&mHvjEud#z2M;BprD`vc>>4B#{%C1-QC^%{QT6^)b#Z9xw*O1)6>$@(zdp? zZ*Om0TwJ@myO5BO+0(2#l^+4va0h5!Hu&}VczP<`h z3MgzS1iu6uUmFZi35S1`i+)7=9QKsSpvn5g~^m3t$Tfp$I==KM6buC21usU@a?NDL>m?1-v zjG2oR&4>v^r(;8j88K!Q(=m{lW}|?Onne+%u|*_o?Y6BU9r2v(gsg$jL5bmkK%Ja|BTI+N&Y*somc zl&xB4l^`^NR&`y4Ce18k(VwXxWT3t%DCOg@ZWm9EGmo7VYG%>n$NtCEdw-~*yeOpy*JG6M;vU7q^ z8A2zLCCjv?P-Ze|4B>GzLsM(s#W-RA8-Kc3F;U}6(XvBZmnK@PH6?RpYZatXv63p1 zlxC0{Q57g)KmrDgKtM0Oq@rLi3h1!{2_#&jMixL|IAOQ|hND#o9Yi=M15L$2hYWI!@xDA;2}(uiZr7PF|3@DLN)(H{7(!GToJJo4PX&*6C8^W zF~t>23=TLFU(rAVF+?l^$4yAA@)ytyp@qZ+bW+JA2vm@S95zHuLjz8@EOF5PV1dFv zM{rz1#6+MRaWxlc@CG5g%%Vsvft*3hE)rl6F*5^13_}(XXW;@f5xd|*I{zTjw%TMz z38^nQHvj{_<6fWR_+Fa{-r!GZ`RVF^a~#{=LOyxj@yAHn;@KdiBX zf9wExW5}Qeo%ewXw!jzv_{H`9k-guI;R7J_1Lyvsjzerf0xwv=0sip~5Q?yU?;9Z| zK46Uyt}u5Vq+2lmAi#hMWI`FU7@#d8(18>raDlgLAn!2oI|xdFcVY7b2ATH{Dsqr? zW2oRiau=~3n(zbE^FtiI2M-PaAO{Oz0^}Yb#@v0teJ9l62Ugg_8-h`c76^a>G?54~ zEP@W7xCH@t_74wyAR3L7f&-s7JP5|&fn3<#119Od2}Dn5*~1C|i z2ZGz?Kk^{|xT8fZ9V!UtJo7-#Y5*Yt5wOKD6fuf0v;hGI2ml6-5V0e8;S1r2SU9G@ zgNRWeVm=tc5N2qCZu}z%QwT;drVxaGbOUk+5UCHC<}wlZ;0y8iM=(UXg@|Eb0T~cL zJN|Kin9cMb6kzE|p%Jr)@qnp4)#((b08^Pp>>LCTMJjqg(Gr{3kKZwwhSmPDjabN;BKN3xTpaRs8EAW$QBu= zIK>};+gu^^;71+kK@T*bf#4zox69qccG>WU_OgMzY}mwb8IayTl$Q-X7=bf5(S}l? ziV|c911K^f3QJTV1QlS#BP?NwH#is&rbw_U9zhB?z+n<^fUqe5;ot|GV#9BkgoR1* z2v!^z!K~o0B}g#|KDfBWa6mu=B7gt{$iTuEw!|X<@rXB&!o_@;1dQPz13r-A4Le@& zk1fmx1aLwXb9j;@1fqy(G@}oLs6`owkqKhBq70FUL>b2H212;P70#K%8rCp}GL)H{ z5N;SVnF#^sGN_r&WpD+TyX=ZMM`8|hXoH{wy@qA5;Lyuh#+unIW;et+(1R9q8`j*0 zMmze?lU~E5ZE*%e+~-tOHi#I8fd)e;!w`Z9gQ{1J2D}I&)q4N~81@i`R^MgSwZ01) z!Vv3Ohd~g$FoYp^aqB(wTGqYp!!U#~j6OJ9*1m2vuc1xtXVY5R)28+?(m)1Da3&xC EJH5!D-v9sr literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_active_lines.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_active_lines.gif new file mode 100644 index 0000000000000000000000000000000000000000..9f8eaf67dda1a9f7790905c84baa7002dceedefd GIT binary patch literal 886 zcmV-+1Bv`cNk%w1VT%AB0K^{v?)2)>;>P0b+t1;|(&NcDJTz^0XATby8y*^@vzxNQ zs9_z(X~=qPKlL)dxmuW{{BQuLHqst^7rr7=FR;5{NC%=-Rjod>eZH{j??7I z`TO?(007P4!vFvOA^8LW0018VEC2ui0E++~000I5;3tk`X`X1Ru59bRa4gSsZQppV z?>s$mz@TtQEER?)S$Uj7EjlKd22SU=)|T$E^h)4 zXz-u_SO*0jcxiCZfq}*b&lI@&hvtDRjK>`RXygS^pD%tdt(`OWN}$S>-Vk(fV2atT zL@ZRXG6#$ungqMji1er?UcP-gC8SwkPT7lH+Hfu<1JCf+$<4g^-NO_y{Uow;oTbSL_y*3z$9 z9Zy;;A?w zEkM$go<=Z{IA2EYsYv0Iym-*SHVj~7WHE2-X95OpB&ddCu%rXv8c9;Qq6Z^BHjO)P zTB(bhGt$_VJ3+crU>g{iV8H-x+_hFmN8N+KpM4%!XJBhM7o(lI;Atb80`VE7I_6;L z#sC)ZcnC=KiDK#;q#zb%2^pN~>Z^QYK*FG~)@th;ppMYvt-SUs<_E3zDy*%ticrC@ M$i7;E2q6FfJ5czjNB{r; literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_active_lines_el.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_active_lines_el.gif new file mode 100644 index 0000000000000000000000000000000000000000..1bea40dcd0754c269e0f4ad77f133ce23913d9c8 GIT binary patch literal 984 zcmZ?wbhEHb>|l^%xXJ(m|NsC0{rC6Ze}Dh{{Ua?W_4&s~7jMU)C_hbI^*gVwe)#rw z|HZ8dnbDV@oVxV*L&D)26T=FL3{%#IlW`2wUi~#%AAhqZf};qtB;Nz0b6Sh;F-q=pBRf-K+WEnBy3-?4Mo?mc_=?cXD- zz~rN}=J<(|r^1!onI%K#)-%+w<`uO>REvofgx;KZB~p2TXjEH7=ACw)1-ZGE4XO;y z%AIW-TI{T~g;Bf=d?_al96H)lIfS)Bo+@@7ZWmDYnqzU~z@cu5iIN#fN{f&8FZa<% zJg9iq+9~IU>*2DXJ9Eofy=t;gu2q#YGg-f<=J?ALrvJsEYkE1@8H8Bb-s^463}|(k zJx_h%rzHm#_DmGf_WzW4nPH0UH1*GS919j|D;IUs&ut z-*4}(udi=x&OYz==4A832aa|XN{V|b`-NsnSfBrww0WY;t<(Myp`OQo{+Qb7vPr=& zZJ7n@rB3Okp^H4Fodqo-Sv6CSB}mtMvQ3e5^*weaS0ZAuP;Tc+*01fsxf-D%q6|01 zW~PX1t%wxmmO02|a;b%xOP={x;w{CBug1Pf;Xa3^n=Sw8tfZ`^!XOY3)48}af#K=K z>77v)OAlp*rX+|83akm4Wy8qZakEKj-{I-$yzj0}k-m3l#yL-|6CwPptSeYfDCA60 zh|VbQNl3~J^*N->Dj-tGl#<=C_?o#{)WMsgDP6^^%ynWyDLo=*gcGGWb}U=Y_2-0H zKi5pB&Z9Q0ODd0YItwgdOwrvL);cf2ck2q#-fbm~QSU!ktez06uvLPUVPe2dC6iT+ qewKe{Y?-#nGjd^LA*05G`&+m*1spi8q|FZCkj;3VYa|QI1l9n|>Zh{+ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_active_lines_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_active_lines_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..bdefd01514c2e122ca1b6017d3b8deb994f4fc03 GIT binary patch literal 704 zcmV;x0zdsnNk%w1VT%AB0J8u9GdM9!Q%L;%{L2xt zXVc`$`TO?(00960|IOgSA^8LV00000EC2ui0E++~000F4(8)=wy*TU5yZ>M)j$~<` zXsWI(DKKy>&vb3yc&_jKE{KA{Vn{3+kI1BQ$!t2G&cZJ=cv!F4tai)odcWYXI6M#; z#^|(q%^n*W7uV)KXyME92mOp2Gf`fZ+9&u<23WSV}4|pC`SPBgQTmTJ=j$Hu_ z4Q!N_eSaK*la*Wz0h?X~o~vOB1e&3Ph8u{dqFIWpU6h^#Vwjo_#eI+)lDb^Sw8vJ8 z(8j&I)tsuH)6!U&0kl`p*WA|A52P8U%v!Y%#ID*`@D0Mzp7+J`s$JThu=4k2xx4qN z7NvT|_H`miiy%TQw=m>d#|za!0sv%L#FUYv6<6Q?FnxO9PmwEg2NRC8!chSxVHzK^?_)Sb-&+WinGZm+^pAGDlU~QKH@4W?h@`pRoY&J_h^7C1M2x%`6sWsaLIB zhAJyfef%&SL4x*tUP-HX=}E@)L;}3$_X+|G0)!4#jJ9!2y!He>m>Lc6zAPdyyCqtU z^Dci~_o{s>dhC=62Y$_!*3hWyku`N%Y6ol)0NJo->(v^3s#Djy|~H;xXQpVZAl*=KkuePE0%1Y9Ter4kQv=MwQ>K&t<`NMn!4)Ja#Akd zj{pAsyY}qt!#B4sK05yC`}+%zj{f=k=jr?VAHKdh_wexFe}6AMK5^&O)i=A0B!4<<+IfC-1zx^8V}VM{n=keRb{gkB|3WU;ps!t+|a!Zh89UC#TLFdhq}M ze+CAIvkwjdN%DZ=PZqF79S{lf69e0Shp7b`cYLH)EGasfV>SQ6iW0B2Uec3!3r~ku zMm*S1;iEVE{EIDBXXC1O6k$kL1^kOF8GiHV@E9k^H}z(f9Mxp( znKh&A7E^_B!~5A@$vTk=AJWz^NHFU63K}FkEIjo;S0`iMuBip;Gg#L0DSQ=s5NE!O z?c$V<#S52&imhRqVX@H2@pOJnc!lkPqJx}a+F61TjtmS;Qw@)=VcmZ1^>r4r{IgSB z&&_BEV)PRU*ct4g!^|LbD|9g9-8# zMs8_d{VV)<;dUvlgv_3qFZNCNqkqq&qLz zx$+}hcd7fvQ0{yo*>s+|G?#>fVhVEty_kf*cJO)~PLP<>_U`SCd-ZB(*d9nsZ9Kx1 zn6Tu=nHsru0>awM6%r05$**EOB&PHtBS8sZO!a)JqImX>KsWJu^<+olG43zw6a@~#HIYHs|h9mPD z8wG?y0^V#o6ZRpC?TlM=4x3hu!rQISYZf>$-zdB7$*kF;{cgvTY1!{~zF4-J>)oz5 O+g`uht;xd3U=09Zp}lGV literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_astguiclient.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_astguiclient.gif new file mode 100644 index 0000000000000000000000000000000000000000..3037357602871896af76d7e1ba02b910c0256318 GIT binary patch literal 1092 zcmb7<={p;C0LOnciLl1iIc7#!Bcw^$)>$^=Nj#YnS7dQNLp*fVCnhzG@u(-R63-qp zS0aMAT1vH6M4yeuEmR$2&D`QB5~Pl*3fa2slst2fJY+lr0-g%|Qk$?9nD z^7FpsNy*Bt;&5(yYi)6N@oz;*UhU-Y>YJkz0DxMpe%7<}ul%oB9Yg->vG4fq6M(4+ zT&6qL?3bb1cnRaH%JKRH@`I3v(k9l(b~5+62L^{q^?mdtd^iRJe?HZq=Z&}^)`XNopyzNh*?A0a zr4-0OF-E3QwS!aI?;Uim3oi6}_IJUTq~B4$Xcl&8a>wb`w&P)cByJ-YK4l8C?nQg@ zk0bF+bM_DRa0gS7xS%HwXGT`7Dzn(vk+J1-3Em#<-kQch+TcpCQ5!jFV0i(Xv&5Lo zy=@NpoNhMox-{C<*Rn87h9_tancNJk<65g5m)R&vObF7rgzpDrj_{;Bw@+~ zR%A@0*s+N$h+ZcDZS@ULZt8n8+vMFx?7kJbPh3O##gC ziUHi`02JxaVv=O;Hia7-28yr$mS?1dX`8uC=w^(n74TBQXZQG$D@w& zsK;>R3jSOX%{192%n(6A8(ia&7Gn&po%1K^=)W#Ohbquk=5!*9e-S2*?@h}QFwi@A zI&~wsx->30EIyQmLnU%Sr~%rKA06<)%UoZUbsE$yO3aA~p9l&9H7FW4^X>BIJ{m|X zK*&&Y3ReOlZ3J457Rfz7al2kt%8!&p!_`h*(BNOE$^=Nj#YnS7dQNLp*fVCnhzG@u(-R63-qp zS0aMAT1vH6M4yeuEmR$2&D`QB5~Pl*3fa2slst2fJY+lr0-g%|Qk$?9nD z^7FpsNy*Bt;&5(yYi)6N@oz;*UhU-Y>YJkz0DxMpe%7<}ul%oB9Yg->vG4fq6M(4+ zT&6qL?3bb1cnRaH%JKRH@`I3v(k9l(b~5+62L^{q^?mdtd^iRJe?HZq=Z&}^)`XNopyzNh*?A0a zr4-0OF-E3QwS!aI?;Uim3oi6}_IJUTq~B4$Xcl&8a>wb`w&P)cByJ-YK4l8C?nQg@ zk0bF+bM_DRa0gS7xS%HwXGT`7Dzn(vk+J1-3Em#<-kQch+TcpCQ5!jFV0i(Xv&5Lo zy=@NpoNhMox-{C<*Rn87h9_tancNJk<65g5m)R&vObF7rgzpDrj_{;Bw@+~ zR%A@0*s+N$h+ZcDZS@ULZt8n8+vMFx?7kJbPh3O##gC ziUHi`02JxaVv=O;Hia7-28yr$mS?1dX`8uC=w^(n74TBQXZQG$D@w& zsK;>R3jSOX%{192%n(6A8(ia&7Gn&po%1K^=)W#Ohbquk=5!*9e-S2*?@h}QFwi@A zI&~wsx->30EIyQmLnU%Sr~%rKA06<)%UoZUbsE$yO3aA~p9l&9H7FW4^X>BIJ{m|X zK*&&Y3ReOlZ3J457Rfz7al2kt%8!&p!_`h*(BNOE0PFA|ZLn2-`LgKP{8ZycbRq-mdg92{?o zEsSdh3LPB^25JZova_{mvJhzo9km>}#Aw912gbw-5u?M$!5+^EX$KvuXt1)h)zBSj z4!PWHlP#8N;m5lk4bTp}9SgtF&&SHg$sXSF(%!UFfHDq=K>v(Q*GU=rJc zo4E2NV&Mv02cZZ$G@#b*U7Du%_yPMTRE;b*SG!SdQ!k(gnjXR-RZ0yk8(9b-9;lk8 zoQiW=ZNVFrFyFQgzNYqLs|@S6r}U0;oyGC%HN)#P3T*SU0fe-08m4$ya`4|Y&y)d^ zr+1iwwQEsA!zR&yfe5o=dP6g8ZHIthQ@S}=Fk!9;*xIl{5dgy)*=#ba5so$%gwCVy z5hHy}LCby!_fCs_xDD-G>$K%s$OZ!?6a>yzUn3lI)~lP5FEDMoV@i{dC8F*?ci2mk zdksIJo_ozsn6^OhKr9xyK|l%vu+dKcVh%9ZA24=(gFq}lZ6%&xXrQJ5WUURB%rif! zvLHIxm}LtG+#wL68w2p>+ZsWoVG}6rc!kDKPGz-HV0?Lmp$9fO)nRagc`)B$F+wB@ zC?=Z6k51#Q;oS-0d6H2A?eK#UP=)z;V@5;%c1=%x*{0fkC*=oZE~+qaWtLF#1Yc6G zrL_`dZ5(Jqf^86#%X93w15X-TS}108S!onYK=lywVUZr-Qk|c&Ja-+N9_*Nljcv48 z!UP4pq1^)9X++RCWqxU>RjYYvW~0ccx#oDIa(5|kenx<28wE^ILX~ic5(-_VWFqVy zsqFfOo+I#C?6c7J;i(9qMr-XIwQ}@20n$400`Tp)-2yNI1>~k1Ed?Kh002A3 CNw=W@ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_conferences_el.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_conferences_el.gif new file mode 100644 index 0000000000000000000000000000000000000000..91282b42f0a2c1c3e9ac3c46ad19e875232ab130 GIT binary patch literal 861 zcmZ?wbhEHb>|l^%xXJ(m|NsC0_xHDgtmNNc-wIR062rWHe|quf>sv=lLjgV>Lv7X1 z*LE)Iul{^}*W(jw53QcEX>P~o>$|_)-1p_y{x7!=etUHG`{VQ9pIrR$?8=Yl*M7db z{ppx%L z|Nr+7=mxM`NG242vM@3*=rZVlbb|ck!1n(@LxG2mRR4)3MJIEt<_9QuA6gN${>GZJ z({HQxKiDwiP*B>D2%!aqvW!lO2RZ~98F)$@mi%JixfYri##)~fCQ!!^R+PZW8QGJ^ znh`7MDm!K7tl4wsCdqopORK9bUABD1%2lh^tX;Q$!^U;$((*nW^LFmqy_>^bL3K_C zcVu5!sbFD!wGx8>Pi;jLPkmW=V?Iyb`JVV=5k36OT#CC@6`aKOyngd`wpifDPoKYh z{pPIw?$_^~+P<29n7EcqapLUeocStZa$F4 z<()9?^^z&I2g{rkT^gDjJA~7V6dufbe0+kk^-qTdo1UJYVVr&M%+Afv&o6Lp-u87# z)1%AG+BO#(c9lBt`WEb*xAy#W$CfR{>$6v~EO>W+H<||`6>6x3a{$jIgP7`VjlMF~; zbl-Yb;!>}8lV<2-Dfy>CP2MgE7doX)BMlk+Llqte`W4(|KVjlxs8AImT6kvTO{?N~E~o6S|`z)5EAfL7Ls3#L;pcUb*ZIbqP(^I5c2aovrM?(Q=eCn)Zg zF=$~BN?AHd)Z*C@2WLT(%~Kega!QZ7{ows{EJ%5W;H2Q-Y1=3037Lo;U_Eg3UQzhv)BE%4{{8#(*}nDN#M)j$~<` zXsWI(Nic9M&vb3yc&_jKPKX47VL>b!kI1BQ$!t2G(56A~3oRbltai)odcWYXcuXEI zM1!(=&2GEPgOK1&uiNiiL8yT5`~P4CAZdVwhJJA#b8QC)ca4XUTzVdSYX}XQ4G44r znF*3xnSg>Fgle9enVfA3pRA!+qkxGUi)F5x4+;shYzGaXv09LTlpB_1p2EAq3RnsN z2mr*63e(V-2?x*72#(O)(%sVFyW9`sTHfZxy9m?I(9#IxhTsxrayUz4CTpty8c-us3&X84AHDQSfM6w-fEP0< z04Q)-OOX#hfwD;u;j4`=gQapbYvs*@o&p@uR^}LnWGEY$Bj#*ZFGsx`UiB$VCfA(I zyaEH2@L55!!LYO>+5n5RifOZ&wI>GO1$|McW`UT+6Q`{YwvOcr4^vydgyD@E{1sC_ zS#9UV1Z6nbNH`fz?$g!Rk>kC(01Hm*QBzJ==fR zWVpixkn0GkhJO4FqvVobIHe(zP)6B>jW|kaUQzhv)BE%4{{8#(*}nDN#M)j$~<` zXsWI(Nic9M&vb3yc&_jKPKX47VL>b!kI1BQ$!t2G(56A~3oRbltai)odcWYXcuXEI zM1!(=&2GEPgOK1&uiNiiL8yT5`~P4CAZdVwhJJA#b8QC)ca4XUTzVdSYX}XQ4G44r znF*3xnSg>Fgle9enVfA3pRA!+qkxGUi)F5x4+;shYzGaXv09LTlpB_1p2EAq3RnsN z2mr*63e(V-2?x*72#(O)(%sVFyW9`sTHfZxy9m?I(9#IxhTsxrayUz4CTpty8c-us3&X84AHDQSfM6w-fEP0< z04Q)-OOX#hfwD;u;j4`=gQapbYvs*@o&p@uR^}LnWGEY$Bj#*ZFGsx`UiB$VCfA(I zyaEH2@L55!!LYO>+5n5RifOZ&wI>GO1$|McW`UT+6Q`{YwvOcr4^vydgyD@E{1sC_ zS#9UV1Z6nbNH`fz?$g!Rk>kC(01Hm*QBzJ==fR zWVpixkn0GkhJO4FqvVobIHe(zP)6B>jW|kah0?E(a7U%XLpv4q&74>8yX&ZbcPNM z5B~oCqnoo*PFlXT(TIVSL_tfjsKQ@cY1Pf<{QUjk+U)%M{m{qaDJL!E-|ykv?b6ER z`1kt&007Lw;Q#;sA^8LW0018VEC2ui08;=S000I5;3tk`X`X1Ru59bRa4gSsZIc$K z?|kq7z@QLliCHp}jdICsI-k&})H%r%VH=Nj%k6r<;IJ6Hi3P^!w0a$YY1Z&~T=QBG zr~n~$B4l3b%-gDQoMuMb-duU@W|30}LNnYy-Mi7Ja;st1n^Te8;AT-(gF zqTI}o3|qTir7EbYj|UJP3R(=0xXvK`6JupZ2m_gJ0t((A-8dj~Le5GLVKgn`?V zDFkOu9KCJWJPhm-?Zg5AU#dOqfK3*ybMxTQWqY(w%QAWn04CeW1%N3N1He@CfB{}g z2^zV1AQs7h(RcUw-Rhu8m4cN0zzjekKxaFD?H(Bj+Hd5mO2S-PWU8fMhn_;e2=E9p zOjSQ%rt31OS9(95jm}Pu#y%#dv*5k!!w5-?Av;A@$Ai2C2c`|QJU(y7f(FCaQxBLv(Ii{d3opR ztNS&PnW|YrGy)W#JG|H8Z&}k2uLjSN%rf~OL~IO zDSiwPekR9YzgXqO)*voDZUgpncdm1%irBW6P5WSZ^su1VhHITGXBKYIYcE=|hf%=e zRFd74#TtjD6Ax`nW9zi=;5d-4n3kI3W*OMQqZljNc$ewnh7WdCyOvsL7&$$8rpZ|O z)-h4~s6qVxPZw)+((cJ$TDabRiBZxCF1B-`Q5K(T<))gdf6&~c`Df>phBAh0%z_nM f%}W?_0M)j$~<4 z!lJHh>%MR-!$K$wO0MsG@BhHyZ%_j%9>}C}$!t2GP^Thfh+41MtN}F0dcWTRC;%>- zoq`2uJ3DAAq?tF)?(Id2v z(1UVFSY0@<5I#7NjETc}(typwh$K@=B^)Uo zjF{`0L6Hy6Q6OLv(Jf!|B&u^6G)YWss@N6aHxtzZ0v7}@Y&eR^%akmezU+0hqEA4H zLPkt-pa=zJ%&JNXidC&KiyPm??c+|CTyE=bjx}e2XU`^ASGrX-2wt9k2LB;|cI}V7 z!%dk$MKP5sV77vhYGP+_u0(b+zYPk6bEH`ZXy-inX;m9*U{0Z&^Q-#IOE!}oNUhE0 f_L;I0QuFqbYuA}Kw1+GIGWp2z=UJvWhyVaP^xXZL literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_main_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/agc_tab_main_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..b5fc2a5e5136d1fc47a06c48a30a4dbd3920ce58 GIT binary patch literal 541 zcmV+&0^M)j$~<4 z!lJHh>%MR-!$K$wO0MsG@BhHyZ%_j%9>}C}$!t2GP^Thfh+41MtN}F0dcWTRC;%>- zoq`2uJ3DAAq?tF)?(Id2v z(1UVFSY0@<5I#7NjETc}(typwh$K@=B^)Uo zjF{`0L6Hy6Q6OLv(Jf!|B&u^6G)YWss@N6aHxtzZ0v7}@Y&eR^%akmezU+0hqEA4H zLPkt-pa=zJ%&JNXidC&KiyPm??c+|CTyE=bjx}e2XU`^ASGrX-2wt9k2LB;|cI}V7 z!%dk$MKP5sV77vhYGP+_u0(b+zYPk6bEH`ZXy-inX;m9*U{0Z&^Q-#IOE!}oNUhE0 f_L;I0QuFqbYuA}Kw1+GIGWp2z=UJvWhyVaP^xXZL literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/blank.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..3a46969559121702f82e857181bf431069555d91 GIT binary patch literal 43 scmZ?wbhEHbWMp7uXkcJCaNs~11B2pE7Dfgj&;b!383raM7e)qa0KNkTq5uE@ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/br.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/br.gif new file mode 100644 index 0000000000000000000000000000000000000000..423b8a0cc6e0f1370e9f9a9a7249323954c30a27 GIT binary patch literal 397 zcmV;80doFFNk%w1VIBY!0K@08l zZ05uTk+2&7$^o^BC3C4F?zsj4k3(NXQ(0w^7M3~yi96T46Z^#gAPsQ#!vO%0LI9CK z0F6BWjy(XAKLCKEys2>)Ndy`Wi9#W9Gy+g*j%vjL zAB)QX!|x9o3lAR}I&?^70R{~g6B7jr1buE70SQq!h8hPC8BG@mjR*jskrEjf1{n_r zgmfDM7EPxR3Vj3x2nYoP5ErKg7GSQhvKO=j$dMSh2))0-8=0G(z7ojw9_XVR=`^Tv`KO#R~Z(847j7(zn~ r9pQ0+0jekNA|@Qd!$*uG{5sH>5o6?w4k9`Vs9edirAwC;LI40es)CL7 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/de.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/de.gif new file mode 100644 index 0000000000000000000000000000000000000000..4dd34f6a6bbfdbdbfdfb23f49aad444b14ca1981 GIT binary patch literal 162 zcmZ?wbhEHblw%NK*v!E2jDg|*d4^{@7@oy2{J+ca>d996FAK}<=@NL!p2OG?M^s0|PGm%)EXME#b2@8WY E04O>?s{jB1 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/down.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/down.gif new file mode 100644 index 0000000000000000000000000000000000000000..32d0a007e39335e82e173fc5d1045ef81eb224d1 GIT binary patch literal 169 zcmZ?wbhEHb2HoM{iq4)$AGUsXRvwvJPL$185tD~8M&*HX)Vh&S;OpkRMD6}##SOWmv2robY literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/el.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/el.gif new file mode 100644 index 0000000000000000000000000000000000000000..9e79d8bfee73ff55997a1643470b07bf73d5c23c GIT binary patch literal 245 zcmVs;j1#u1!_3va__Z0Askhy1Tp#9Sgw0!o$SH3K0N1P<3y8 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/en.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/en.gif new file mode 100644 index 0000000000000000000000000000000000000000..cb45f5f4e26b8b9f4bb93784217f944c8bb92198 GIT binary patch literal 322 zcmV-I0lof5Nk%w1VIBY!0J8u9Ra%|T4-e#-oCE}9-&a-Y)Y;CulsiDHs6cf)3 z3;pr&|K{V%007JY0RR90A^8LV00000EC2ui03HAo000EfF4pFeUM1`-7j0Pkn6e`vWm23rLv)bU6+f_1DUj;S<8Idce%XnH9 z3{YC3X9d0haQK>#Jfs-{`f3~3EdC1y3kM4fe+&Ub1%D5O27-Va36qqSCLJ9CmYWIBhGT_NHR-64$boy3Ny;>2Ya##uJ6{KZqyPW_ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/es.gif new file mode 100644 index 0000000000000000000000000000000000000000..308ea3cb1fed4dc419f0fbb49c051ded44e42fef GIT binary patch literal 222 zcmZ?wbhEHblw%NK*v!E2I8o}wRL)Ot_+HOVzI%`H%i+LBC9|KO5#6#|=fnlY|8)$v z85r&}F#Jzr_zxuiGbsLKVE_Rg5CJlSfu*}(qwDIuKh8bf^*=$wFDbL`$;vjK3wsK5 z&YL*cRIGbn<9}y2ixT4-N%{SE84s{<^c`E`C&0kMcOm1WV=e;^^Fia)lZ)7|H8RF1 zOz&=LTx7W7`d!Q7KMNAfxN<8zqB&~nI60e|tvJj%*_k@JSQxmbO`kDy)@%kD?fJ5r W3$zz4Ru|@3xoY*Awd=SA8LR5;2;kGE}IHDpba>c-5LnxOg`M> z^8Whz05F{ZF`V8Z5dZ)GA^8LV00000EC2ui03HAo000Dr@UTW}G3x29S3*uGhEio= z9Or?fSenh1rQO%M6D-p;d%va~Z*?Q(f~cXb2t3VbMCQ@SdqjUziV(WQ!eU9TuhrCs zQ&(~p{6u%v->rK*DzmHU`dY4f>*HsAbU1)*f<+E?d>eT#0t}Fm0)dPl1echX00Eqx ToB#?7qNAb;2?MC9sSyA>Do$Bc literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/it.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/it.gif new file mode 100644 index 0000000000000000000000000000000000000000..6c7b17921936a8feb27e9a0cf2c668f07732c6a1 GIT binary patch literal 198 zcmZ?wbhEHblw%NK*v!Ci_1*R3Dn?h{0!hO&eDYV{UHkF=?J*UjBX;mDRX;}1?48FH%GSCwrkils5-`0E4O*Y=?XGf0{}SvQi1>g literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/pl.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..cde0790592ab20556bb06754b81dd7cf5b9e46b3 GIT binary patch literal 276 zcmV+v0qg!pNk%w1VIBY!0K@;sK9K^(ZFa-rn{S4deFq z|M2kt4-fzU|Nj60A^8LV00000EC2ui03HAo000G%peK%`cL4y$p;zg?WRWC>F*9&p z4w%qDg2+Kf^e`$5h-5(+7IO^3B!iep2G86;u*qbS&a7)-5lAErOIS=|I2sj#K(l6x zD40kihzSr?fPpFi4-^Fj6b~taf(adukdYk<3Nw_Fn2sNtoSmMZppT%Vq@ALrsGp~) atRJhbsIRc3va_KMwx|w{n7zK4Apkoeh=KM1 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/pt.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/pt.gif new file mode 100644 index 0000000000000000000000000000000000000000..646b76ac68792d5bb88a7ac96f94cbaccc4da1a3 GIT binary patch literal 208 zcmZ?wbhEHblw%NK*v!CiOF>4aRsMFU-pwiV{TCZ-UE*+NiA&EO$14XfoUb=8uho2) zkZ}04|K`*08K%jMdj3txF;<0617+v zZcjQ=DAB1h($ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/remove.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/remove.gif new file mode 100644 index 0000000000000000000000000000000000000000..89b0521ce1d802a03fc69a7a788f8b57b3d2475e GIT binary patch literal 176 zcmZ?wbhEHbIu<3BU=e;b?syLbQB z*Z)6%{(nZs|1~xLCr%>!PzOYU>||ioT_D)=B!k0Y)v~57>lzR6 ml&qEE3wiUWNQJ+t;D&{aQqvM4!>W}@e$!UC7_~4kSOWmeJT*-K literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/sk.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/sk.gif new file mode 100644 index 0000000000000000000000000000000000000000..fa13224e73aecb9424595f09cde5011adb6cc755 GIT binary patch literal 334 zcmV-U0kQr^Nk%w1VIBY!0K@iE{#z*=_N9W2uZ z8P!Bq)GR-dUylGYspyN9>Yk_LZ+uc`v#k?1-e7OO%;^9)sR22t05+!pI<0#lTG|gD z063`8A2ZGoCjbBcA^8LV00000EC2ui03HAo000Hc;3tk`X`X1Ru59bRX7B~H44cm| zMEOA7hKkTYQFI;xhNlx0I-gJj;Bvtf79PmqkW5G%)UbFA0AMf{z=A=62q+7$<4mvH z%N&k%u@Gzp5psEhgoSu|00;^S5fBO+3k4X3l!Ij!791H36B7jmod^IKn5CwtWf`gt z5(N&g4h0gbw6(UX00bJlyA1%Z01djl#KpV>2^-4G2(1krkIT~2%LyGG*x4HcaoOJA g;2qcC9tz~=-s0%%=<4k6=?voY^!4`l9Sk7=J1xYF1poj5 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/up.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/up.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d55544fb366ab4c9e91ee6b3b697504a7744326 GIT binary patch literal 169 zcmZ?wbhEHb2HoM{iq4&&E7|i2jFi5{Dk=4*6vSihv5Z6<+@~y4TLK{nLt0=4^9fum%9x{xDtu literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_dialnextnumber.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_dialnextnumber.gif new file mode 100644 index 0000000000000000000000000000000000000000..a5a080d6787aa49e59d18da261d38a105816b240 GIT binary patch literal 831 zcmV-F1Hk-8Nk%w1VUYk50K@rJbV{vSuh^`1%k6rj0s`YP5PZ()w0g~MyWjA*d`_>U z1CR*WZ14O3fPsK`dS!787l{`Z3Lgy@3}_Y?5@{C+ZHOIbj}0FQiir#p7Y1h?i;tm@ zmZoP3n24SqvY(V^3Zk}(60@rpo~sFsZG?Mq79I;13(5)=9u{Z_2p+Q^9v5xN4vo+i z9~aq*kqOZX)Dx=Jx@aEJXNe!l;PW2f;vS71@6zIm9uPDN7|IhtX4%{rGX#g;nPd#0 zN&CPr8KyG{*(8JaEu4on=nxoyhejNmcLKxzX>(`~pSVq+;F)}N51TeM89y{rnCDo- znjaK+Fd*@a1bqt}xVyO~nFN6y#Z{PEffzq!YG&d*>Te}bhl(&QNapX})CDP(QLU%8 zLI(s&i}hsqhNaD-9}q0~WDO%zHOVF*kP!8q;d*&Vmi)LTnmJNl>w#UgKxol?h9?>} zjB&GrYikzrsSETjJbsIgUd##jBiWi#sS?}R%@Sjrj6}*~Ihh{=eKO5fkcw@=T8zd= zM&em$v>TQciyrmtciTq=4yxh1jYcp6a~I=rcPA|w0`m}aW!rkp}* JfB_)@06V80bb9~* literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_dialnextnumber_OFF.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_dialnextnumber_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..75bc0e8fed5acb00b66cc6e2319f3c2d499fafd9 GIT binary patch literal 827 zcmV-B1H}ACNk%w1VUYk50K@iHV7~x3}iz z=IiV0A0Hpv+uO3TvgqjOe}8{mTwKS;$L{X#VPRpYsHl2+dObZoR8&;e)z$Iw@$BsE z=jZ2{nVA3p0OjT7A^8LV00000EC2ui0FeL^000I5peBxFX`X1Ru59bR@VP0|wB2~F z?|kq7z@TtQEanyp$6~>0I-k&}bV{vSuh^`1`}_b9i-+PvE}PHjw0g~MyWjA*yxed= z!sEGq&+q&Db$4QJ2p5JI76l&(7YJn*7ZGL`25N;JWQ++P28V_S5*Gqw9f*vcjgzBf z29<@IAFrH|WCfqIhY_%-7n`UCifVy)ZWbN~7YD}$6&@C41Oy(iA08KK#te$h6(1MY zhmHo$1alXxOww{rW^qQ?aF*h!|tEAYYXT9)%%92Q@fF@=vBLR#^MKM2kj73DDy)B z4+0*NiE!@#gLO2~7>n>vD+J4T>1IG5zgL=T^v8eLSR_H+B zs4$%g*`%B)^aFtdoTgPwdd8Rp0uh|D8!XRmNRb@TI2#vgtGup=4*V2qZ!pBcgDYZY zKn)GTJaT)|ZI=%bQHnPEattf;Y1CjCwM|M~GttL)DIw=WaPQ^V3QwyYKwEJ*NJlvZ zfnJkRqEMon_hRE%fPu7nw9EV@Fpi?T?CYKxBd`^d%9B42;PqWbXlm&0+o_zM{=bwNED(Iku=4k;1b4Gx{qKr1`=%bKED(R$@R%+>`m}c6j00M*n F06Sl0hfDwf literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_dialnextnumber_OFF_de.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_dialnextnumber_OFF_de.gif new file mode 100644 index 0000000000000000000000000000000000000000..e9658f35beaeb9266ff4cda81ce3b777c0fbcda3 GIT binary patch literal 1562 zcmX|AX;f236rLB7kfc!Xl}IFDK!t?Ws9-}Y^r1%t1xqX1$Vs44c4RpisZbPAki{;L zsw@g7Bmx3%P)_JUNW@lDiXuWNf`TFt0TF9iY>nw8LGO=w-`x4`z2DqBZ;QV#$5T)U zP>=&aYinytN=iULfJ`PcGc!}ERB>@}ZfX8mKh=5yUhqj@1G4tc-?X zsC`r6G!1UGS}n}4xN#fe_hv*_aH&KLwV#0;5g|#(A;c@%9ve7{wh^ce036-ot>Sk# z08IGH8CHmxt_XrF>V8YfJK1WRWN?Ob&jRqV!(|L6N8Nj1Y3_IjovJI9+{p!aApj)Z zHOZSrxqL8xW{Wmdq70Km++3821u6Azzl!{)BtSOxpV-U5z6`je&{VMlqu7Dbc<$6 zZIA?JCs2oU*m>0P8WaF4LcyrxpCZhS-ok+)i;}RHBCJ^-2*458Z5#jxKV+i-lE^z3 z;H*A)^uQoM2Ms#)0&w&ecH!t~rU@I)5oHdeOh_Za8=nH9QIZ775w39TE)qxBWzj7t`uuDNF8kSzVO~qQKqj!C*)B8_8mh z7!VF$S_DWC>MkX&c&4;_gNJ8Y;G$#b{s}+RDwSRs1O#;Q*g{zdD?r&Tp|bM~Xa7Xj1##8Aa~Kt1 zSB5i>n)&_W#J}_Fg$GqZ(ye7%8z*|irq&oME!dG_K`l5O_z<(C5JMF;fu)Giu?C`5 zI?Z`0p_{nm@mghp;L=0IVPv(&N|pFXCRCtUso>(!9}FwzySPthb|cA|k&j}9?EH^% z3R8k6!5Rv=+I}!XsYH&DSSx5B|A=H0$mZS|ej1O)p`IGAW95NG3w_;ErWBiQlD`~6 zUBt>6pN3tR%D)m8Yb0|73u3@Jt*O|{F?L!=KI@wndhPqFSoxPJm;Y)rHkxqmQ=I!k z7;=;45@{2~FY#3(gGPK$({YD zGLfr0=O0A6l&S!dxYHLYWE5B~7ruCu`y{5CY7DZFgmLly7v~!zirz`Y+xXHJ+DLBd zQIBOwK8IC(`DGe;c!UYQ+Y*>2&wrbREzPmOCE6`SM$GgdV0|6AzAHL0N;3RB*QC{> zCZp1S<|(0spURg!ji2{CZRA;jNo9VAo=3`xOZ!+gO~)UvqM~Kexh9$IJFlyP}?Br-W-ZwmY$~+;DSBFTI$Qx zp}X;Z>|rA_rTdvW2DUI_EOm6|hT~Rk%jAvha_|X7Dr=|P{wuvbw0mIr*q#Q)rqmVt zaBt}|+gVk0f8TLww&>|#H&c9+gr0q`J2~TZukUV{pL%@{Gj#>QM+TrMsy>+9?0=H_c_YqGMke}8|uxw(3JdObZo)z#HhR8;Zt@$BsE z=jZ2{nVA3p0OjT7A^8LV00000EC2ui0FeL^000I5peBxFX`X1Ru59bR@VP}>ZQppV z?|kq7z@TuLgG43}2xrM`I-k&}bV{vSuh?w!BTzs9k&k#xE}PHjw0g~MyWj9}U_$wZ zB^Sb{ak(hsfD#g99S9x>3m*#?iEIiNZU>ELj|XCYV+4PIX>)a89~T}T9|xlroN#?( z3<(LM2#Sntk8KMcmS`3pkRKkX9~}=2sc4>dp`r^GqNoc57ad|29RwW=4$)#Ad5H%W z3VLJAz^h`W(h9f@77f7{-w~qxXlOKW2@{ ziK!<66|;h3j)Cffpo0W}s1l6w;LgLVMI#&k+!_^Y*MmXRMxru@?@+sQ>qd!0rEt}* zP$LtH4Cw3B$X+pD`QkYflF3mISniV^*FT&9>No0`@F0|X9yT{sMBmxT-n80>Nvb5~ixt9a2( zfQ?k$4|l7IL9iIEJFdwr5J(VMuLDB~QTb)1TIAF+BS#G;!=Rc61%7`n9qtoXZl_I4 z;Sv?}U@JqIkq`cvo0K_)vr+dE=7GU4bryETR`k0;0tK%v0K82mLE;Y5Xzr!_D>%u* zz6Oz=daGfgo{;zz+5!p~bX!(D=_g(PaUZxBOnkjKs7@lBY+fLQ=^KF#zH-;{tGv00Dd|`AHbX6naJj2T(S~0Vz6W=%bJdicF-Gnqi1ZidL$r8=e5b zK>!$pD(a}DmTKy$sHRG41qK*UfvT{^D(kGNHc$X60u%t>uDtf@>#x8DE9|hu7HjOW o$o6W%00kJ}KnBo8EA6z@R%`7Kwb*8>?Y7)@>#ei|5D)?YJGt|cMF0Q* literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_dialnextnumber_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_dialnextnumber_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d297820b18336af1e10a01b08f968ba32f21cca GIT binary patch literal 961 zcmZ?wbhEHboX8-=aFv09pP#?8v-8-oW7n=-+rE9fyu7@RkB^?7UQA3(c6Ro&XU|^0 zetrA)?fUxq7cX9H+O+A@r%&(Rz4P|=E-o&9`0(L}4<8mTT)1@U(%|6W{rmSPCMHHi zMC{qK=jF?nTefVeuCA`As5pK4^s85|mMvR$=gytUlPBBS+E!Intyr-lBqZeO)vF&r zeth%h&GYBaXU?3-z`*eI=~Ey{JW%|}0#>X8B0+v)VEgaDk>aW&)qi41(a9XE`4?7P ziAdB`5}a0c`fb(z2OBDU^k$#Wc<1ymvLouljvBx9x8MKRQ+NLT@23WmjNE)&2JIc4 zUEMvsef<+APMSPrY6lNLZ%bQ0r`mk=c1E>ny)5(9*jRd))K+&dUq6kLt(}vzW9_D; zQ)kR-ouH42d^ci|MIhL*4bBNJke#iL}OZUw_xP)2ltj0nXHZ@M>c6GId z22a)W44BmQ)R@{&X&9*MYdmJ$8X#e?AYZPLQ9a;{uzn{A@UCq`ogW-QFtH;CF+w-4w zGjmQ6j28XE(lGz;AzteT#SZ5a-|}%*8+M8KN*w+1l_ely`PD=QHU`r|G3_PO=Exj8 zTw1L;L?+5B?I+w4RW4HGGD_%4M_P zeBG8?x?O*h^tC?%nG!z_%)8KO`uqC&jrB)!SuPtLy3NF4q5736s*z>F_V1_l=4dQh z&&I`bL;8a5=S4Rpw{|g}^)P2Bb>&q!P-Po*FW@K)6;*jcHym!#um+$t*`yjVQJP3z^7DPdVJ zm(ECA^>W!9JE=pg3IPWiS@ou5y;`|q*{WBo)@*zAYW0R=TCdkEoA#lRP1$FIBiEj9 fuU@Y|z^46X!x6FUHycl=tOH-GEv06j{YY_nvLyuu8C`(a^5J1#Q z9p4) zPzk_5CIJ0Jf8*OmHKA@N+RHo2`-r~P{;Tm?+|1l;d%|}4h@9ifNiIq*YbmpKu+|Wo z;@icsM`QgW{A&7Yx`?j)>-oYgq5Eog{x-gRSpJN7)$9G7`@+ zdluoA`8Z_|Ix(&<#$^KpLW3FUCImRy$N=RAK^UBf!^*BtO9RzPzXh=saI3oq^UN2( zFwCh=GGYan1VO<3^^Gcsp;_t%Bh2w5oG_y}|%WoxT&G zbu3P8=qVyseF5r7z&4A0$@b|s2HaO=PgtxB*KtsNxat>D_nmr0MGR~kEFjpI{7cy z5san9STA6#UfbvWX<*Q)=afhWk7KM+1~B=5l*n`u_NAwtiVc7X#`*{wfg3M@;_n&j znmBFxhC`a+NqqJio`imhIIP+L2?qRY90lU(w7OUm^S1l*E=WUn0kv{7*d(5mPUnaO z;qayH1X1xI5rC0|=L-8t65Jzzi;kiDCIFQH2-Sw|o2E>oT5yA!tEG*Z^!fagp0R1E zsFiD2ui`@4ony>Z**0ry&Zu(Pn@UrdV5P`-mS^+HwHNePms#kSU)^?h=%Y>-_ z&aJb2a=F{?UMla9`Ihld@h_k20(1wfyz<%PY!jcG&NJy$aoV539nP((N>L99@yeQc z7>xw9DBF-`rbp#t`GJCD@}q*N_N&3>%+``CRZnLfG5@D>Mt6m%j(_2&qpI;m*)uXE zdwpgo$I?42a=0;CfFd-u<7~5|h*(TB_d38Ew%oJ5vz$Cw{8d4nroGImjMrCJ`}(nk zONpX-^H_kHU}JpYlyrhTo3_H0$dlW?j2wwGFQM)azVVAJvUc6x)7=f3q*okG{pqjW z9yYO8xCaDiq+$iyYfo<`McgdtL<}muOT*vqqi4l`5XrjnyGsKD zDYRPwwufD%zXLRCBgNW?;WNiBe)uK(NwUn+8>A!o1B@bNq^e&cy1#Vm5m)!5fj}Jb zc)lxTA5&5C;PQJ$?(wTlbC8)ozY9s9BcDW!qU>LU#4djzX8T1@?hB$Lq}s?_PIhu> z)G0DNs=;MM!gl*lwqV){=ScC3mP#QFm@2bzg?EyW-BqV(JOx zUo%2BqsX?BmbdJa^KsaL!k8f)VjuOA~BZ&4tKaeT?!_U}A~ z-*)(VFBtFK94H*`+Ttn{k=CqBRcb;q7ff`A7YHYM1hUGBhr4TSuOJi>2`v8)r%Fvi literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_dialnextnumber_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_dialnextnumber_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..ca92716e39e36f01ddbcf492b903cb4d500edf19 GIT binary patch literal 914 zcmV;D18w|ANk%w1VUYk50K@?X zC>8Q&a!Gt57Z(n7gcB2J9Sj}}4<8Q~jc^VZato1blM7~oX9i8{+x9;7k zldK%R`UMhY!;=MttwI^h<}6`BaZ*}&N-~LK{qTyf(IRV3G)+S z*nerE>1cQ2kYh+z0U$Ltiivy3Jb&6xQ(KVi5z(_#k1ByU)93_l3@Bm%v zp;6qK?p&beo4R?q2$;b@kiefzj#5T4h^`UA0{5M<0E@p6ljx+Bu14vlY$&o)qnLI| z$1)rgfWfGwmTKy$sHUpws-`|5fB+A$D(kGY*1GDVtRS$!e7yGR>#x8DE9|hu7HjOW o$R_J+dkYAlKnBo8EA6z@R%`7Kwb*8>?Y7)@>#ej2BoG1sJMyubQ~&?~ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_dialnextnumber_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_dialnextnumber_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..8625b1c99bc27790c1337f10357142f177c95348 GIT binary patch literal 965 zcmV;$13LUiNk%w1VUYk50M!5h4iOG|nR>C^v7^kRzV5yoA{#_iL@6^VQf5+LcVEu` z&e#9fp2nWT^uyBs(s7M(<^Sc{|Jv36)yezGR%}*7R6}lwZsh;ulem*+fM(JE(Zuz{ zkF$?XVospQplgO}wc@o(TuPL=l;Z#5-T&Rq|IMe-r-P(}s@1CB|KB!5Hf@M)mb;cp zT}r;~zT^Mn+5g$k|Idi3hyVZp%>T>)00000000000000000000000000000000000 z00000A^8LV00000EC2ui0FeL^000L6KnUdWDjJW-q;kn@I-k&}bZQ($6e&^!#_f8) z;IMd1E}PHjw7R=ccwiDuY)-G+@A$la&+q&HfPr)+C;+n;6EA#4*Z+;&looU0LKJ0D{yKbKz}x897xdYm@A?y00;$0&e(yV1b`ZY zr>NKrQ>SjyK=uzPfC4_V8UsLJs0y`PC&By_X(qp$N@d6@V1Ph@6#@(hs2LC$qo&3< z{&R%@z<>b&rUiILiXS-w2>?!JF*yK%0~|FTIIB%8S%5VGBb)sAYqMluKZkzF37pKL zcV{4d*3a;w00__)?zgDf0amWW&YXFbo#n8)bGOs2@trZ~icZtuH+DtOt=z?mr7esu zq?wr)>J~5{>Zuvi3M8299U%AOM;D1TP=J76f^j{E)OJa^VgNMN5pW$+1PGuVcc%%k z&{X{_M#F(})fQ7-0H|={6;CrbhyV)(Ok;pjr;TP`ent^DT`4mZfEGO-Hr5tZ*zw~a z09TdN)hP(f09^q<)kk1&s>!$_LeKP=VR^(H)7O9j0F@67;|Pi6RV(OpUyF>47Zm`o zv5?h>I1b323}_+1PIdKY`PmGa83|!BK<#oLoAA9!o^9O(D(Iku20B-vh$gD2qQOWI z!v-!yD(R$@R%+>`m}aW!rkr-_>8Fx{fWZe7n81MysHUpws;su^>Z`EED(kGY)@p02 nCs;s%2pM$H!mq#vE9|hu7HjOW$R?}ovdlIMYzP$?5Ci}_R${Kb literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_grabparkedcall.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_grabparkedcall.gif new file mode 100644 index 0000000000000000000000000000000000000000..a6779255a93d90921769e3400414eb3e2211c1e9 GIT binary patch literal 804 zcmV+<1Ka#ZNk%w1VUYk30K@T z|Ih!bh^hbp0RPPYA^8LV00000EC2ui0FeL?000I5pde;sX`X1Ru59bRa4ehDU>MY< z?|kq7z@TtQEEU z0~1L(4oO@t2@q!ve}4rXX$=<^X@!3Y3~GLbjAx3KXO4i84;Kz+ehD9hj-s7~4G(M% z1s4q!X%?<&erklOYq-AOd`b(7Ry;cry$Y?hG|6qo^e(nmO}^#T8@I)0L?#_0@D!W^`@LC zauq5VL#B-12L=c(AeA|BfdvZ*Jp8n|O_qlSNR`F}msDKKa=?t9Sy$+j%1juknzV+1 z!G&-B(xO4RW@oQ9XXTAsr)`0tnF%Uf`>R(T0!(Q2Vs#)@um{3Pd4m2JLo(oopTcv zwtz(MfdZn5h~T!(Spza~Oko&NCXZ8VK+pg%G%7Tej&T)M!Hd4>q#93l6lvsA+slxgOfXr`&=nryb|=9_TFDd(JL ijud7C804wvo_zM{=bwNED(Iku7Ha6BdlpbY2mm`eFn6Z_ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_grabparkedcall_OFF.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_grabparkedcall_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..74b1f5a1369d2b352e85a76987e28dfbc797e2ca GIT binary patch literal 802 zcmV+-1Ks>bNk%w1VUYk30K@+9y`=IH3?+uPf+va)}Ff9~$?b8~a3sHl2+dObZoR8&;e)z$Iw@$BsE z=jZ2{nVA3p0OjT7A^8LV00000EC2ui0FeL?000I5peBxFX`X1Ru59bR@VPnDwB2~F z?|kq7z@TtQEan=HNTb1NI-k&}bV{vSuh^`1`}_bDjfdkyE}PHjw0g~MyWjA*ybOs* z!sGU$aJdu~WD0$K0v%=v7ZzrNeFX?-e1nQ)h?8WDevb?n3S@i*AA*dan}Z1qX$k@t z2^D4*tY&;?f~aYAcVcZF1RfU#9t5Zs9tM5At{)7+1ZKf~z!zs1z841`ipvDeWzWC9 z9~Iai3B`}Z#*N_~2YntM$z{Op@111Z9=0FUXTVWKz-s zVa1N+`+$JJg`zJZ9Lp9f50#9(d#vFFb~mfC-+&QNY)-XJp@{Eseo8)*e(kC7&QfSBkU%dm9t4$*ZV6Vwio4x(T26BWDddnu7C9s?4{!iM z223{T0+o_zM{=bwNED(Iku7MiC30)zknJ85fv2LJ#7 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_grabparkedcall_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_grabparkedcall_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..21991dd5746c7752dcf53417fbf89ab68d4fc87b GIT binary patch literal 827 zcmV-B1H}ACNk%w1VUYk30K@=H}+>>+64if3mW&=;-J@Jw2$XsCs&O)z#HhR8;Zt@$BsE z=jZ2{nVA3p0OjT7A^8LV00000EC2ui0FeL?000I5peBxFX`X1Ru59bR@VP--ZQppV z?|kq7z@TuLi$Erk2xrM`I-k&}bV{vSuh?w!BVa@*kdJswE}PHjw0g~MyWj9}U?Ta3 zKMsQDaB*7}ab_1D9~BjWf`o`134D4CYzvf&mV}0+rKn4zp~Tb{`$19}S?51Ro3)gB1@69tjH-fCva52n`7h76-`=%LpD0tEPv* z!WG)SuMZ!3e8R7Kc*qJJWDE!C&U(SAAD7kF*&Ym(9gGbtbOBi(c?vEZ`haWGB{B{? z5YS_xn6`q+230y$!2<#d3KCqLl%P+yLKPzaPNXzwrAQAK{vkm2;6O=hz4#nh_(2qb z1|F7qkQTI5t5+XFj?6fz!+~Ff_8^$|!RAy&4Z}RdBWA$@Z52J3OHe_UER=;3&|2{C zLQ_WGdVXao_AShw7COGw_Tj;T4hnb{>!?ue*=~*?;b9B&?IfEgJ?5k20Ulq5baL&g zRI|Z?z(B)}ElcSvS+ox-ymZU!q@m9hLhBm^lYs&PdMiUCgg`-qz@<7^u;Ad-;mKrD zuRc3T!8YV~HR`^cRg3~Y$igDfYq9ZAQPVseGA{pNG93F z0UvcTBpnoR5C8^LR%xY`0C;famRxq}<(FWFDdw1DZdrgM9soe40|pGhg#jJJDd(JX zG5`Rbc;>0+o_zM{=bwNEnx~x%%y~fp1_01N28=f9=%bKED(R$@R%+>`m}aV}qZ5Sy F06SRAboKxM literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_grabparkedcall_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_grabparkedcall_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..19932ad2e14d91f75d5c1f535d625d6217b1e833 GIT binary patch literal 981 zcmV;`11kJSNk%w1VUYk30M!5h4-XHhsHkgeYabsUTwGi(E-p+=OxD)ciHV8E#>Tg| zx9jWc=H}+;=;(icf7{#Jva+&paB!TQobvMW?(Xi7kB{*1@N;u>%gf8*;o(b5OT4_i zczAfKs;cVh>SJSLlarI7p`m+wd+F)vzrVlS+}t@iIa50000000000 z00000A^8LV00000EC2ui0FeL?000L6z{$i$EE41ejE#XMEwws3q!T|&c37-SaGM)np2mk;AtEX1*$xE(+#xQYs3qcVIs6t&01nm71PJ^FcAB%{;ZC63LCwswSxba6KDh#*mT@y` zb7ce#P8GHADnSksgeoZpDR7X%1|jI+>Z`EE8o>*()@tjm zxXKzquDtf@E3XwqP{FUYf*?W+D_o#L4a_#{?6c5DEA6z@R%`9G*k-G3vnOa^Ko9^s D=?t=h literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_grabparkedcall_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_grabparkedcall_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..9acc363a85b980c650f992720c785e1b234646e4 GIT binary patch literal 826 zcmV-A1I7GDNk%w1VUYk30K@RL|vEA;z?#7SV z?|kq7z@TtQEE?P zCKR$ca_}fFauyDCY8M_K6%~Yqhl^;29v%&YZ5AFDXNGcjc?M-441awOa1NJ_nTLs} zsjOy(7Z(Z*ZkCvPw{V<#9j6}u+64;6+L5)2*;4i$q73m*#*3=kFy%Mr~B9ucpq zio(Pd+`zLEAANtsvwa^C$_*W84+`theZ#FEn%CLe9v)okfUFpz3(5f1Yj8o)hh3id zH98Z)!+|~)j&Vb{%n+tk6+A4k(15{4OAG-2eM3~C;>AmbUYhi9LEr*q5)`Dw_Un%V zhaXHGfZ(B-2WmxA#hUe@1ZK{w=kJ?fU0xzncxf0UJ7;8$bhqo%5PP-NU9QP#PTCo;qx?}xQCEBtYu)g;el zSAhz>+E>x>uVz>>)OVQJQVn!~7?P8>ebwplPDoR|gPkD{us5Cr5;*5TAF7e(P)Ijf z)0%oMO&HK@n9w8@L)|Ro&N06|f=x8#0+o_zM{=bwP$S?2?CUI0M?2tbg*qKr1`=%bKED(R$@R%+>`m}c7OMIitH EI~($RE&u=k literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_grabparkedcall_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_grabparkedcall_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..e37d0fb4ed85d38b8ae318b4d77687903f75a284 GIT binary patch literal 985 zcmV;~119`ONk%w1VUYk30M!5h5e^Z%mb-UfcOn}iGbuAwL{(-|X70Z3nR=PsvE9t0 z%>T~+|JVPGagFrD^#9WT#-7G~WPShI|E`O!|Kd|35Q7FD5U@pveE^|JAD1R6|s`l(|GUM2KyO?Y`|@N?rfs|Nq(l|Ih!bh^hbp z0RPPYA^8LV00000EC2ui0FeL?000L6Kng{sD;kf;q;kn@I-k&}bZSIN7Os_K$L)H* z;IMd1E}PHjw7Sb!#C8=EZ%(h<@A$la&+q&HfPr)vGYAY13qOjBjE#L43Y7;4nU6j=EIskOF^o1KV?Jw63D0JM|^ueXY;j0&Zh z2>}5;#?hI%o{9v;0R{;Pq65%2p#usC0008#KM1c1HUd5gHa-BX0tN&Ii^z-U?l(55 zJplM1kl=>_d8oMg@Rm+gfdhZG=<41u1fj1DWBG5CQfB^YeEpqjOP|zdlO94OJ z{m`kCr%xZyekceKZ!v*JFc*XK5g1v5ajSGDKoFR4RGttOgBlfYD(9cjU@o*FDi(mY zkD*<&YlCP2)IUB8RqEGTF`fx#&3fenv0}!r9REa0j#$xRNn361eB%HCxuGwQ#yVg* zaMgHwI7=Yi2U6K>odp+A8}^Ug1Dpjo;MhBO;+#~IjxSy@Czn<<%|x3&s|fTMQg(%M z9cJK6rCC!?-O$uQu2psR)md7F)y`LngjIl7zx6cTOG^Eq)(r#{5Rhw=owW*81q{HS ziel+g94G>jgqIDoyrh;mc*z*dQxE2D{FtM{xDF>PP(?KL*h0vLcHOFON0lHL4X3|I!0F*qn*a(b$+OlFTxm3VI1~@e8 z=%bMOZ~>&0R%+>`kHSEu3MW*W0tqi*D(a}CPT<1?q*e-o1}&7}fe1asD(kGYMi2t6 zxaO+suC+$M>#x8D`>O>JSRgE}9gM(14I6xr!?VyvEA6z@R%`9G*k-Hkw%m3LEekXh H5Ci}_ZMDrc literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer.gif new file mode 100644 index 0000000000000000000000000000000000000000..b4fdfae8fe0eb85e6efbb6b8b98210353b4aa749 GIT binary patch literal 803 zcmV+;1Kj*aNk%w1VUYk30K@e zo12cQ7Y?hev8IKNt%aqzoo#u0W^WfBX~St29tsF)6&@ZIAI;DZ4;~G}9*)vz+sM}q z9)N1#57>^#l;|JB*U1ox7YgB+3-ayR(ayx{&d|xNrT$$2CvMFzKEn3#OY`6X0S~j9 zx!d;8(FX_$0By?$P2C4@YLG#@sO*DBbsir7pb=S2Ap(3P733RsDBQCT;n?Iv1Cq_b zU~YzOlE>}Y#%9$F-L%H2f>Vw~J9;2s;i1Zwp4Oc7aLAhj2D8u@L&G!>S7}C{EzP)z zEL(8PeCk0MbY8rD6)PyXDs9+Hf8wwaJ9-nDz6+&Vs+qNw5(Enl9w_Lbm~26lXPxIS=+0tXge%KRXYYPGJr+hA1S{^o*Y z4jd@Bo}B71;|t-2p9R(2Ce3|m`SXCF1q@nHlQ_9ihsIB)v4NT~;9!^GMt?E#QcAKg z0!~U6c_beJ@+_DJ1JziQ7z7{EhaGCseAvK9+sHH9QmZXhP>0!-cE^xJ7HQ;>NB)uk z2L@!|0+o_zM{=bwNED(Iku7HX)T2p|vw06W$8bglpZ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_OFF.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..e5736ae0d003492fed8edc78dee85dea732dc9e3 GIT binary patch literal 803 zcmV+;1Kj*aNk%w1VUYk30K@X8Z8kPGN=nbq&)M18 zh=_>3zPgTX`X1Ru59bRa4ehCBM8%` z?|kq7z@TtQEE}Y#%9$F-L%H2f>Vw~J9=L&G!>S7}C{EzP)z zEL(8PeCk0MbY8rD6)POLDs9+Hf8wwaJ9-nDz6+&Vs+qNwQUePM7#!fBm~26lXPIS>nfdv*`%KRXYYPGJr+h9E4{w9KC z3lo}B71;|t-2p9R(2Ce3|m`NM#q1q@nHlQ_9ihsIB)v4NT~;9!^GMt?E#QcAKg z0!~U6c_g0$@+_D}0@YZPSOXu@haGCse5k-k+sHH9QmZXhP>0!-cE^xJ7HQ;>NB%;A z1_5;70+o_zM{=bwNED(Iku7HX)T1r!hh06V?Od?)|_ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_OFF_de.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_OFF_de.gif new file mode 100644 index 0000000000000000000000000000000000000000..b30b2013d28035988348092d7b6f3d44051ba793 GIT binary patch literal 1378 zcmX|AYfuwc6g~-r1Y~%u6C?>QD*{1^l=5=g;vz^jRm2EYro7ei8k9_dp^SDC@xfrL zWeey)r9nh1FqjAkwicF$8Y%(wtt-{0TS(J?kQrdF#{Qc^-fLI{Geu&}7Ctjx{L6$*uMad85HK&e!U#p0fx zp2v?LmzS4IB$APlk-@>il9H12^mIQzzln(nkx10r+dDiwoS&cH($WF|-QC>;E8QWx z*>Sgq;Fb_3(ctNK#1R3IOgKu2})mFcSur2sBKR|Uh zB%?HJV{_pPTjc6=I#j>4qYL4;W`sE}BaCgFM;wBcL33E?t?gq5PHX!F(gwif)xB)( z^aL=Eba3R~*YIyHpcV5`k1 CrraIVJ#D!G1rTzI1%)%Rt|+$EX;+@#ayjuF{T+8CrKjkC=r+lOwLMAKoe2E zdyS1b*GRL5+lRScMkfMfq9PP%wDeWL=Ll{99MAx4r$aPAW`wzYjXrz@O1z?v(2I6? zMG{ma0mo41G2tB~0G$ZH!Gzre?#Wk-qm&g%_#A=%tWN}xqHZ$*a#pLE0fz|82PS_t zq6Y>6G&Jbc3t;jULxpO!%-jpj5pzXHAQ}hV2-_TB{}6S?40ByZgCN-6Nc;mfJ;W8$ z4;;}9PhvG{coKS-Ar1~h1OrxnVS?~VSvuFuy0?$7tVl?Lp0)_scWSX>rA7iIqnDNe zSy^xpV5xMHT)$|H_H^JuGw6Q;I67c+I&p=(EswL-JzAxx=s07wLF5zgR0a%zcj~B0 zS$Y4wQ*eRZ&YM@d&aD+!N8iTU^Ed)0=)>!;J}mR!su}I7zt;N$o@Zt+%5>|g^mTNL z`L#iK!q~e|)EE`OFk|=VQ$@WZsU?{nsqz% zc-YCOtuyKhgGs)rXOc`Cxx$BQJ5m|f@AfAZRDokw`P zpY~stM~(|s87at#@8i`^bvFz5jQ#Xk65G-&JG=S&GXME!AH@wsJh|{HULA2(G_N3K zY>Ts!Kb~LmU+UpFcrWWlJ>QU7e}7o<{!wbw_ho71=A63m3Osv2^G~mDnY`(*2Dv>+ zMn0*!Hk!Mu@l9-Iu=XCwX4qNnIMgIL+?EW~I=)2vt~4P^ARglGzr=0+E|=q8HGaZ} zJ6I9Mihk3UnHqB{=J4gI{Z7oM$Gz-is>8p@zWnb}PJDr7ttxTvdoPk4*^j1*7%4&2 z(7uzF-p?Js%G91rED(9_h+xa?;(6!U#$J;QYo`p7F?N?X$<}V^3o_0xj+Cba+gu;G zz&X9>us3|9X>Fp(F)1XgQsUSDB<@6y!79^LI+83o#*MGcP zO;y+4qNp0hy{+!kwN*z#r6$(4WLw>x*VOb4(qz+&qSGdAMyYc7y@q9Bi%X4oA)96! b9(|fN+c@-j&Frnw?CII20h@3fhY$V-uHpkw literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..570a6e5ab1d915650a9360b2f4125dc32b3c006a GIT binary patch literal 693 zcmV;m0!sZyNk%w1VUYk30K@k)K&eGD-!^6WVDJkCG-fL@XL_|boWo3_# zkAs7QmX?+d4h|a|8(&{vdU|@Xv9Y70qu1Bho}Qj@adB;JZ8kPGN=nbq&)M18 zzP`SQh=>3H0L;wHA^8LV00000EC2ui0FeL?000I5U?5^-X`X1Ru59bRa4egfU>IAj z?|kq7z@TtQEE?T zC>3&j&9OK<4Hj({9t?YL9v5j501X}v9cGCi7anwihi`Xz17(?Kl>io%4{U^npKFt6 z91RT*ejbsN5~y(qmZ@x;dZ`Q^rDh0%9E~0b5g(@?5Uvmx5X_Da63iD59?@nJe+}BJ zW`vO+5f`(H4~iVPuV&ZS)Xj+!5Pt>Ly1bpb%V_||*a|2sB;ipk3lTgNz@~^$0fc89 z1ac%v5vW{gCRO_I?*T4B9y|cRg+Sf~1qvZyVbRPrQ*;9tYFXMQcD z7#B?hR}UUI>WkMBE&$l>R^_?CU;zh&Q*qVBL9{_L#T+3UXh>ybo)P|BK+vEM=8Fz& zcJ_=*;kdu+LINP{R}s(#^!`9%Ih!RN2Co?W!{oiZc{jW?5a7VRz5Dm@`*uDB*+@R%qdc3@%^+01PAmKn5U& bDB_4DmT2OMD5j|5iY&J1qKF6}5CQ-@6hbN| literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_OFF_pl.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_OFF_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..50407590ed80ce94e6084cf2f87da80e0c78aec6 GIT binary patch literal 924 zcmZ?wbhEHboX8-+aFv0fzP^6{{{6hXyvvp?b8v9*_4QR#Q`@v@la!RyxpU`wdU~#3 zzkcb`rFrw_9X@=xu&^*HDypccXwsxfPoF-$diCn9TemVZGn<;4TwGl4-MhDV@#3JM zpsK1W6&01-+}w>DH}2cF&&$iJqod>e`SUk#-hBM{@ywYs)6&w6jg1)?7|xtI10*Q{ zia%Mv+I2uA$WIJx{||I-aM6+KKe43fWRBJR3oEWfc%~SMPAWV7wrc-_4HZ6mv(LYH zt8`HzP-5|p8o%|o-~ZTCcmDnF|3#cqGTc0zS{I~fs6S{i)`#L6f_w=!M zGxsrfPMbbkYl_xn#yM(TYU=ZrPgn1lp|yVA=82tx>T8$H=HumWZ9mYVrpck9p~=?4 z$fkLjZT0rcH#9rW&KA5Z*u{Et_sN^LW@~C(XE~v{rBhvV|Fh?pw|rdt>{SQ*<=@9U zTLg_+KHReA&~)kS7I`1LL*z|JL9~m5!!8$wIjj-}x?xI%g5pcL8yp(8rttZnbS?=@ z;hOv-Pt`cVNkl1MY^|tB#2N*!|1OVQI2|T<+*HcHx^1b3fYE^<7R@z+9viux82hy* zyb76;x9afx4`Hhc(iY`hoYZ%u?{9ktLsKiO;71h>gPTT~zoYtWulqHeWe#AqIJ1J` z;kvZ_W~!gL-#j&0^fu_&o$j?7UBXNPYS&gD(qv&3c)V&x_M3=Jr!TL0Id_^ygDY#| zVy#bHn{v5s^!P*+*Z!8+nzrNMH6ib7I^H7dbo0_?Z*;KP$Kd(9WVzFw-Ce64+NVq_ zYA|v2JA0RBZBmxbJBE0<6FdBOoT|*}UmbF~GRy4F#rCgjylV@snP;e)#95tLpx|Z9 z%H%L3cZ2I=o)A`^hy{%=-Y|!1mx=z6^JenV*eUP%M?uuV(|nwt(Qxtgk`;4I>YGILAKUBfkVp|v}wIsv1D4- WtCcI3t$MX;%{D15HVGC+25SJd!h>x9 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..57918268a48e7e057b24d7d1b1502d9e88867e6f GIT binary patch literal 811 zcmV+`1JwLSNk%w1VUYk30M!5h4h{}qUtcLHDMUm>Qc_YI8yn8f&ezx1adC0O!^57Q zp3>6NdU|@JqoaR+f3dN#WMpLJ<>d_x4RUgF)z#J7+S=dW-)n1YR#sMngM;GY;y*t> zPEJl{W@hB%P4$;ruCSy_{llWuNqs;a7#l$2#-QC@_ zwYAaF(QR#QmX?+_Ha5P#zT@NLN=i!4&(GP}*@%dU0002Y%*+4)000000000000000 z00000A^8LV00000EC2ui0FeL?000L6z(~Y1D;kf;q;kn@I-k&}bZXR83>H?!#_f8) z;IMd1E}PHjw7PpRq-+#dZBDP-@A$la&+q&HfPr);Bn$@&204n0jE#_o1KWeilQ$s1ULeysyQ$X zz_E?Xzzi}kH^7m-p4Os^FF4f!0HrcH3VSIS--)0j@HlIP5tw1OmE>&W!8r z@8ac{H_BcE0XPa&BUn#Sg8}CPj01-47qD&oR52(Opi~Y31z-dqAj26ghy;q^$WiPC zLKv*-F<8`Z(McRBN3m4(@*{x%7XSdrXxY4$e%ggG-3w7MVuZVwkU%w)u8b){ z$Pb1nm|9^ao0aug4z9|);(*}{hP1R_Q`tkiOR2V%in`qpb%QNTasmd&zTS0awv(5;NgYvo2x$|>7LRm8M*ive_ii~<5+bbCPKqNsDa>I$*~5qvllxj~t^Pd$H*N&Ae?R|zNDrCCpCr9dP{Rr`B>m3^wTCgAg|8 zfCQvW5aERkPFNv?CTtK$0)`-h*n$WbfS>{j`K74hiY&J1;)^ai009IJz-VKOGSYbC pjy&F&!3Y?X&;bWD6lvsuFI@)TK+lT<$=5`I+qOD1o3f zF)_r?Z&ah1sjjA4T7E7qrA(#{h2rS8ZSmpZJ7luysw%3xn`&*P>g${H^8tW5bB1Ke z1!YaazeSR~QzZKla^lkWaj66_1YO3YHw;997lG|ZQ7$JIvT^voql?OSh7jgMbbCLl z6Iy`Ma8bK{hL4UEMWOoE8@&i403j}}Ma9VtHS@Ee_hI2-1f47Pp~ZM8Y9~6$^@Zg6JYaAZz6scc zb(@8{As(|ysH?@r=TS!h1uF6f*ykUkY}#Ca19pH-C#>6Fu(KcLzS{R)kdYON0 zcS!=a91lByzC0d&4GBOU0XTU007*m)*Z8261xdscT)fM9FF^NNtfRkwzp#81O#~O) zaq&Zx>(sUwUjQzhPL4tU=p-(l6#)1DS!%CH{2f_PuLOXLi(jKbknXFI_rB%DVqByI~LxNuc58{vhrbS~HT_F%x(hTJ`H%k}}JYUUaiYUDxzdT9zM zDS@2;t4b$2SI)Vi7zL|n2K`R}hXPN|5MeRc4sqU+X7^YcZfJc%Q=<7fooXhww%}gR z)yD4X;5c1i@;Aob6OwmR_>sAB3~pdv-?`*g)6KK8V#mGS){F1eGb`AdPJ%J8H0gwN zN8h*RR3n?wP-gIB>5S?6%+d1aad$6dTMw#Kc6EiPzgNMMj<&9mi;D4xHIbNVt9Q|} z$!SXo$3FxJviVa?o1K-P zk;9gm#y%|`{%(22zWLKOcTcy!)n(haigJ{<_iO!%c4F@KqGzn0oYd*cmqTv3OJ3NN zNtia{$Ul{DhcM0N(`jn=FSnond~@<7k=vNz6M`*EN(eok)VxQP!6Ou7+CGgWw0hms z_95lSN)d2xeP&mcE#)k0JgC;ssj-h%YgO{y?3cW%^e_&=2#l|>eN{GTeo%Md#ngj( z65sl5(!ld0L! Se7VixxMU$&I$&TJtos-5>&%k? literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..94d3e225bc9b2b045bd9a2cc6331acd7b9aee2e1 GIT binary patch literal 697 zcmV;q0!IBuNk%w1VUYk30K@ z?|kq7z@TtQEE_M76Bd)7H<|F4t{YS7i$y<4;}#>XpA2h9(IL_ad~@YoNAZ|7MKujhl!zW zmT40Y4-kPKl$HXja|D^IZk~L+4j!jy1ceij9t0F0sUH%s5*HHAkpTkE7Z4uPXaa%{ z+^uMblphoqwT%#s6S}cz+1l36i~;qeBrC zrU^hOQl&;|FtKW+F(3q8g*H3Pq%5 zLRJJwonl0ztz58>95YFB!1r3Kr&x;Qa0)Y$m{>ec`E?oG3`{l9J7 z%$S(n1qHg&(r2ow_7@j7`1(4islDy%i?y)$KY#wJw6y=nkN@AinSp`f|IC>{k`kc! zlLf3@2SkGW#K897q4R@_j#U4NB}FH5tma=>ab<^Rijnk`veR#?_CMHA;iEVE{EJ-W zjSh)2OLx@xt-t;L$DX?L?|=U<;uMwP<>S=q==aO3yKFWOH-BsUfer;t4kaZ`whl%% z&C6`7w_m=Y*>QHZz-56h)|m(FgH_pv)f-h>oHyCgX5a$%UmDqx@+rc@{>zLdKmpj^rTnYgmTCwX9SCC4TqEeQQQL{JUu(jv zkSTeq4$uD(wyJ<_QO?CleMkEKws$ZzwXzC+RN*kVX_Waps?YX%Uc*`D0CtNrD;OTG zOWSXz`kDL9Q`WldbH z^@(d!F4v77hlt|Z-x6EXb{xDWpFbEtNi=npw>W*?26@}6J*J`QPFsUteQgn?7xkREHthi(R4 zv4mhPVIyTP7Gb|n{0tm>gdI4}ym3nIHC9t{V(HK*n8~G8#lg@jbae;sBrOfg#}hjn z9w^x>wUqF5Eo#+#rle3|`D|v!GRb8Q5>pNw;3znz`Fu{vwan*pi=rMhvQ~V1`Fwr@ z+pBa|5uXKz*hOY6c(JI*?A43K6Wp|3E}0UR^>XP9BdbO>*&MG!%NMk1y;`wkTGp$T UE0(Q#wQ9{asaLGxEQ}1+03vaHe*gdg literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_hangupcustomer_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..5841050cb734dbfc845b669493130ba6ef8627f7 GIT binary patch literal 1029 zcmZ?wbhEHboX8-+@Qi^$kc+F_-Q8GTKGfJa&DK^)MC4t6|Nl92{;yyEf7!AxlO`Q2 zFYgTvof#8zrmE_0YwP^@_*!r8zR=Kl@$mwjocT^p|4*O(zir$9xpV&?IdY<+BF5bO zVr}it{QMnxdH+|f`hVt3osZA|)vNz+-THsuz8pu#|0hrWU%WWU+PW?Do3pe3 z&z{}j>lPWe&aM3H_!2tH_uu+Ja%B_zh>cJ?&x6o;LOX{ zXWqU)&BVaS`t|bdyC;61I&yc1BSQy6$*ZOZ1q=ppn_C&AC3bvdPS{d+Pp2!ojM?KT z1H&mvj!O#|1Zud1pK%C0X|!Nsydx>V-jX^&hK1!t@UsawPfgQLW}9hwZW%M916PPj zRPfAZMs?;MmX43|2YPL;nretIh!J35EnrbdIG|{|f`yBTGw1_bkj$I^S!NN}if=|L zWFFrb`u&@BgERw!M8@swDGXc0R@dEbH+{-mXj#;h{Wl)lddljb!1rd;m`N-?W(UrkGfAJoY`3{sJ!;~WOQy|Pt3e+J9hIeEJqnWwWC zt~dWzv%i7!+5Id>3AU-eTT9bLlb=i}_7hN$JaU0wZK2B?Z`0f>7vniEDn~Vc*x8)u zlbyRGPJnO5k`MtkwJ#wd!KyFLCy8CHn9N}RM_@*;`Li9$CjK*zEjIaE^WZSImCDK| zNt1lcUOt%|U}nk4`ou%v=~N%TNYyEdX95_fB{Xq1vumz6aFEM#*~(|La<;vEHapKr zz>!7ZKxX>vqDz&}=hfWHWad>ZxxmC_Et2(OVTanP7mIq#UcFd6!AT z|Ih!bh^hbp0RPPYA^8LV00000EC2ui0FeL?000I5U?FB?X`X1Ru59bRa4egf5d>SV z?|kq7z@TtQEE?T z8V_=PkG}XX2pwk;7Xy8N7Yh&{6c-F;3yEqB2p16vXakmLk!g*Od~|nt2W6pq9twU6 z9+(uV3TUZ*5*`;H2_A+K9ukXawG$T}9-toztQ2R%X}N}{a-(|Cbhc(4x*xm)#b?%L zwYa*xzG>Xg4hjfn47wf>%O1_y)NsZE*0|OJq5L5+RXJ*!gTI+JL@}MluuwM=p zK)4Xg3^O#&^1ZodO5+=1#1t56w;;hV2L)Bu5qp-)RxdRd&7l0?z*d3<-9E%LlhGp^ zjy^x$0tRwr!CMrNEy}eH=Ylji1$_v33un=xJHcgW6PdRySDAyxK}%xqep*4Ea>#>TR;vVVVnA0HnsE-qYLT(`Hk?(Xh$b92kf%RN0kR8&;e)z$Iw@$BsE z=jZ1D005bpndRl>A^8LV00000EC2ui0FeL?000I5peBxFX`X1Ru59bR@VO-vwcU8G z?|kq7z@TtQEansmheE+=I-k&}bV{vSuh^`1`}_Wz}S~ zx4FB$XWPyV2Lxmbxg8S9%-GXz(WUcn9S{Kl5X20r|J0F@b%B;TT&p@HJ0r{&!vhR1 zz#=0op0j&v>gB=MX4tR;h1el5AgsZ_RKuLy;i|<8O~o=MKQyRi00FlTFUvIJn9+_j zo@~68q2*CtwF$=*;ZkQ)5~mJsV_4+kUSesElApRf}Z-A}nAew0)VU@lQ*PLSR zAW2x!vPHx4BwV<(>C<%V0N@}XgX`C@W6PdRySDAyxO3~?&HJ^50)++?@Ibt{@#Dyo tD__pMx%21Hqf0j)Kth2E5-@1r&b_<$@8H9WA5Xr#`Sa+x6Ce-*06SAnAT0m@ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_parkcall_OFF_de.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_parkcall_OFF_de.gif new file mode 100644 index 0000000000000000000000000000000000000000..4ee04ce5372747dde8260f6729c33a72bcce00a1 GIT binary patch literal 1331 zcmX|AX;4#F6h1G3Y!ygfO~pt^tYAX4sYB7hT4<1=LI){gP^4)UEoj4H+E_{v23#uQ z3a?PZB25?sL_mU7u?uU9I)LH=wvam7n&d$kmXYJNis7tb9i{TwY4=eGP0_wsT*7#NtEni?A$v)OC_P*PH2u~-P#RPXc_ z@kWvmd_%D8h{xs8xLgJpg0wNI1%p_x8gOZMIA{`!SwHaHr9(ZPTL^nXKuZs*vuqDa z!+l!{$32nja5zx?wyv89KQ|`sGm9|pJBeZlS1lFen%dU+kdA5V{1a&dU@UH&Zu?mQ zupri3EWAz%FUims54h2;E^3u%X)@;SKLGCD7nP`>04qSPg_l+>ZhVSdO)RAT*{}!aJBj;?L_ciB6ue-IP)_Bv#MgFTS0(; z+2VHkDK4!<9Rbo%k%wTOqmDuu4LD#12y+q$AYe3UXTNjX6%e?X~Jms~V$2Eb?YwE%d)A%c$rL->Mm0$KnC zX`N01455irXt5kvunOHHE`5YcNz@UY2!A6`)Q2X+!=@dT9x;D+N*j zE|)%OU;4}i?Kxm26+!(Iz;VE8j#qe-q2mze6}kFGld&t0?~xX+G*WbuNKJlFCvMZ??Q*RZQk zE?%hS$B$JQVC*5K1lov^Gh?`30b zrPiFOJ}cdl44{ot-YU(=Iek*yNOgJo=tzy>hgunIj$UZ$=F9E%-wkT)4K3CoIp*Tx0_*+<8wJ-~ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_parkcall_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_parkcall_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..110ce6b01a093bac934c742c76f268dfa7e76130 GIT binary patch literal 644 zcmV-~0(<>ONk%w1VUYk30K@+9&~=-b=dzP`S4a&mZhcuY)8sHmuGYikb= z57yS!iHV6HA0OuC=3HD{va+%+E-rt6f48@{$H&L+?(TYedObZo)z#HhR8;Zt@$BsE z=jZ1D005bpndRl>A^8LV00000EC2ui0FeL?000I5peBxFX`X1Ru59bR@VPlvwcU8G z?|kq7z@TtQEan0ZNFcyzI-k&}bV{vSuh^`1`}`0X0fFN~E}PHjw0g~MyWjA*ygYzN z!sEI6(P`-aXcrwH799wHYK4c0YIS#FjAaXb9UhT?f`o>bW{R9=j(D659i$Ir6BibO z31kckeG?xH7YU^c2OSC)WVRg_3m*v=d=zDwp1#1sstOGVg3HRm3w#Z^htrp#ke3k( zAGyH@y2Bk76de(^7n%|1xd{=5qzAdYf(N|EgNpU{AENQ;@Ia7-f9EvSf`tI#K1ST~ zFq-fSfh}I-T1{$4q2Vu0mOiNaKmpx{2^JIo3JPWh*(Q`119k{Dk{mCXDrX9Nneri` zh?jhI7#iV2#t$1OG+6i1lgOeaDZC<dPfKNN8@#aD6AXlbUO?&%h>T2{HD}xFXFg%Q4S_?C&BfZTxwk||)m za6rKVr?_kUPVBf?`gk;ZMHVuZs#>avtK(-+wGGXo4$h!2joZqhXELp zD__pMx%1_b3p}4ry}I@5*t1)w0KkA303O1NA5Xr#`SA=2FgVY?z5Dm@IWA&%eL_{{RLk;D7`cXyAbe@@G#02mm|$|0|LJ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_parkcall_OFF_pl.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_parkcall_OFF_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..c188f0fa4c87215e74c3353d4ca8d362c376c680 GIT binary patch literal 949 zcmZ?wbhEHboX8-+aFv1K`t|F(cJ1Qh<4a9V)z;QNapJ_>xpO@{Ji@}lWMyUh`}<$N ze*Ns(vllO3+`fIgp`l^ZrcL$r^-Gp4dH3$!zJ2?Ae0-{^s$ybdIy*a0pFZ8z*2c@r z+uGV{X=zzpT>R$Eo9EA;uUWI^>eZ_uAt4_>ew;aTCIbV*)2B~?BvpXoPZqE_Iv^6{ zCkD3v4wDKzbfo%EEGasfV>SQ6<95TDHS2DyDLegk-o6JLEY?)?oPV*UO84Ea``m0P z8yRlC|FNg;e0nz{Cp%kROKVF_N2j`o1UD~FCWGSSDT$1VtO?T@)F&~f!w}Y3lFQ9;?6muw0F4(@cq!T$vpO zzdIzI#X5zWvfs{N{j*8u7DE~X!;BBt*2ZZvu=8Ui1CF0M}Xyv?sLK{_arrLTvpjJ z+3xa!Jr?gCYB8y`eQk+)uhh_;;y*+5MCL4}Y^DvFtHU!iolRM{vV0&q>g>0Lt?hhgHu1@^ad;fKt~}!avmn38LWK(^&1x?F(QOBu*{4eFRf>7MeWlbE zwfzyF8^WV5Ua5??p7wU(4{Zj1zCDk5%nlw5kGJJMBOCJAk9B$Ts%@*z9)8rl`he*7 z4_dx&Q!?b-xIY`*(JH+i5+r@^<|hU}m*XWY%O9LR8vcIHqInYWvMdf||7!&mQWT%C zOvtF!O}Q<3%^*$2PPvsqT;j}z&6j2bd|@?}tL#>N(CGDg>E{`VXIh_Ja(*)>;331~ z)K6EFE~Y$B;xPC%P0UVhiAG$nmuJU4iKhxFzV+%)j>H5sKQRdmpWy0t&aY*q=p(=1 zEe+EczSmA%GBy6`mH4tdHImDcZ!9s1pZZATm$Y2cs(=nX% literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_parkcall_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_parkcall_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..25a6a2f2ace8cab78ce6f27644c31bd8aa2e3449 GIT binary patch literal 830 zcmV-E1Ht@9Nk%w1VUYk30M!5hmX?-8L_`}K8(&{v4h{}dQc@`?DWjvKv9Ynv&dz#z zde_(2!^6X#o}SXu(s6Nd<>lqo)z#YC+NYP4 z-{0Te-Q8|(Zpq2XprD|&wY9{=#Hy;QR#sNc&CQdOla!Q{c6N4TWMqPZf@^DQ(b3U1 zHa2Z-ZR6wPN=i!4&(GP}*@%dUzP`Qy007L)%m4rY0000000000000000000000000 z00000A^8LV00000EC2ui0FeL?000L6KnO(hDjJW-q;kn@I-k&}bZWFn5}b}i#_f8) z;IMd1E}PHjw7R=UfMgL?Y)-G+@A$la&+q&HfPr)+BMJ)+2{ww0jE#ursI`u)!i+U7F3AYR z!ndBT0|YcSGywpp3N-8Z_3TnwjpN*sfo> zs;c-2RJ3VZ6$IM~;6TfE{4!2PsZu4vz^rH(Fi;L|3jqL93%;lMr=psQQW6j_R z)7AsT&00LwqAIkc3K~bpbDVY?lu_}f&5l@8hyk@jfKmRnW=t%sARx|wHnpSB0Rt5z z6n)tEMiny{W(W#i8b)$kO9U~95ZH($mT2OMD5j|5iY&H>A_joDC}WBtn6SbJ6HqY2 zjy(40aXw5Ps^XVK7+;(>P6@die4XmwfL%|gX4ki2TBf>+^D!Q+%#N} zUNGGxlQYHl!hD@;O4+|pQ&jWD*A%zk5vv(edFO8c2T^7R7IY?paBE@22f{f60DD)D%F2l8ZQ3a) zyKvICkpOQ}qQ&CWnlqLWC=_r>A31GCBB0IKskM)dRLEW`xRTn$V2$Qi(c0RRO}(EtaVlxE_OQ0YoaYOD-BScV1|OHg{2 z^vT92Px@ZN25?6J9_ian$^C^&DK43}B>$6=U$qtjXz*zh0DE4m@qtH$cwnZp-B*{;CmyKL!8oDb`T z<22?;yk?mvVV$y+>%wsYgB$nRU_38N*YX{2_qjDyCL}>`+ZNcI`=WAQBLUR-r6s_Q zR7eGwJNwx9&I=A+L$HL-p#KTrA$Wt=E!XSXa(Hja;yUz|*N+Lj!U7C!at#PqqzrX5 zRo^@RRE+XKX!Bb(SB?I#v(y3}ZD-gP)|wr}+O{Y#sF9=HE8L6NHu zUNo^^pd@=jKDchx^_& zenB{0T&ffFU4G7g^GrD(i9Q`(l|Hbl(ktd^+@YssX$y4*|J6s$3kFwxd-r(w%Ev!u zPyOq{;eV)ckG)lYuk7<_zi(Wkq=I-8=l4Tm*!yy^x{~0WbQ#({dnGsKXrJHg)|`f( zXjA%EQ6mEpL$S5PNrZ!~=Mmdeiii7rs(8P}Srp^WM}b3Zd`%KudWZXI?vsU zKOGVh_;D5yrXT*Kb@}di;^lFd+Wg|tp!=t~qGHENQ*Y!YruL-EH8vS{cbm&I$Lq}% z+5bE-f2XmLC6_yF5to2-hHj$jWZ>jP^_dN_CpASeDNoL6{Zrb&(c9>2qsx;`*3}fJ XOxD-cHcU1&UYcyERLNfue?MhX2?9|K9)IvEB5;^#A4m|IYva(*IRN zReoiDyOz6mUw07>5$?Y3nR=Nb8zPNyjWa1T#-7H_qs@qIh(tC-?Y`|@N?rfs|Nq(l z|Ih!bh^hbp0RPPYA^8LV00000EC2ui0FeL?000I5;2~;cX`X1Ru59bRa4ee}LJ(W7 z?|kq7z@TtQEE?b zC=znL4e&(vfNB>W9~K@Afoz6|iEMXy31y9D4}KmUlYoPThnZ-Lo@tMInGhbP0A>{z z7K06D5DtD79}pJ}rwyS{@8zR84(_ws$1*2e>YK^6k0<8(_F1BLw> zd6U$rLNErne3^Sy>0N<`!8l?1!0tl0d<0_LIUgby1(bgU4eT}V(QkDe6cz}QYf|Lj%mqmK~DcQ|8N?K%wC!>tP^37rIu zf!kdwi=wk&NI{=>Q0LW?=3y>Ptep7z-Sib{I#&o8HgJeItwcPe5_RZ%W^w~_3L;Q0 zp!tFV2M?g?;^nJ@tOgO@5q_DKf$6@f{}#si8uh!L*$&l?trqgPP-$=iA5J{bC=LcN zC|}OJx%21DCoh0by}I@5*t2WD{!u_m*B!!(A5Xr#dGP@jKse97z5Dm@cBt&|<-GExp=aF9r2};WD^P0<7gi7)5Km*!4AVYjq(Sh`J|<{@@V6OgG(ot^8xwf=%WKYV`r{PKxE%RP2H zM+K1}8w6>uXenWo>CS015>=Kd9RrRH^9GO26P^=_GDRlLL<%N>UjTRrw(o3Dwoiil zKwc`ZE2#r3;6e9;f{zM@zZwQhAU!snpTKwg=n!Rz%zAT!xPfwj!e+4zHHOiqQG37L zqOq71rk08pbBme%4qH+n@r--GGyn?#JOVv+J%SGe5CnlK@UQ+?S#ES-D{wiFJG-?oq+~^mn(CU>& zntG@e^}!A8<8p!y)tWUE!{!@u;tS;Zshc>HIe-P)`cPk{H|k|m`@v`=litQOstHT5 z`#uw<)4iE$^s)D*ze#1w@94@PPM$8uc6So@&cK*AlPI~&DO{E$SPjQ(kQ~*~^N*8- zn)rV5sS7sN+qcRY;n<7J=1Y08mX0LVD(RYf?@1gC@GW6bEnRouhw_uQzkMX=qE|zV z--Z3PkMoZ9w6B)bs3f_uIdeqzDUu>B@v|M?vs(BfyBbqei~HvBdlmuTyLfcJ8iGwu zFOK#iP4hkahTy`gzs++_8ttjSYKgSWW}sed(@1LrN4)M8%l>Lt$Ey~ zBaN|_`rM3_M|#>5LaWlGW5>7B(ukn^&d`p3){ zOPQsz?JN%W_NMLxNXZROegB*Ejo+?L81iwJ>+IZAsj9L(xrpHVU1sHn(Ql?yK0P$A z@kd@w3zm{I#oD;d^?}?XDL>Wmo*oW8NVPBDu_e`$Wwxrc5IiIE*mX1nE)*Ce&e4nW zR^ElO7b1cJW>Z_D=+AP!0$5Ug0X0K&$l4l1rdXTh1k^~~X+vm{pG1(@Rp}jfwK9z5 zTGQj)Feh9Z<|hvz8g$OiHnGcT)Lnba)n#ZZbal6j@!N#!^+Kr+$`f(|hvo|1eYaM7 w+&9K{U2c;Fi7M`+B=9(d$r0W9z!b~9J~+dT@(j&p6nVa%Kk_Ava3JX9KZpanXaE2J literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_parkcall_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_parkcall_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..b37d8358ecee57392eb55c5a6dc6dc04bf9599be GIT binary patch literal 858 zcmV-g1Eu^&Nk%w1VUYk30M!5hcSlDN3JM|=6jd`b?vIaVJw4rph0J<-nOt1|oSgr! zuQMMX^pcXscXy3dRsW`@R5CLEqoe=J%WOeGeM?J*P*90dQh-fO(S3c@fPnvrdueFVvorshK0RaFq0y?Iswv()`#gDNw zGR-o{wz!^@0K$p}GYC7V1*8W%2%`eu2+RTj2-V}@;@lY5-j(j@y?U+$ufdB#mbpWU&P1huWk7N~)H^2a@YN=QWkTGgT zwUQ@^v2r;o1_B);br@9C4S>A=X98V{{7I11jH4S_$;dIoR8RoDcJw4F3jl&{G8W96 z)bW!fkc$kQT5u|r0h=CHP3quS1G0ge)jn{Y?Lq5_V(^ec;**tpeV zD9hRNULE%mhoh*I5h=(qzJVq7_i^h+ z24n~nAUbuc*O0$uhB`nXvdNsLO)}660MvPzQL!4(E#Zo>&1D%7%nSnrKtO2N35ZI8zQxl@4x<1N z*g>)ka1VCq6*Y@2F}x#pi$bEQ;|@X=0ti|}N>Q>OG%U8*B3Lfo!bu1?fI!2IIOeG1 zjy(40KN=1u9_BK@LzxDdm(@R%zvxSZ1l^mRia{0heG-`GN%# ktZ)GfHKeKLnryb|=9_TFDd(JY)@kRRYN7za06_o%J1ez>lK=n! literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_pause.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_pause.gif new file mode 100644 index 0000000000000000000000000000000000000000..3486a1c1a2a6e5ea87f0f093eead6eef02fc5787 GIT binary patch literal 483 zcmV<90UZ8ENk%w1VMYKF0K@QTIzV5!G%%dqYDH|di+W*>?yOuUYHf@M)N?l66?Y`sx{O7Z($`wdZ%AfJ9lthDe?;FT|`Id$+8asag#H zSOF#K7nxwHSW)xPp$a*33>Y}50IJ;qOcgp{i2{%>UqLkoyCkdvYE~6ovmE?+Wa>+7jhyH1&(k?EEem4J~J7Y&w>9t~}UTZd|79u|S0 z4G|I^4^x@4pBAtm4;F=ybZ1|PsHz_dmJS{Z9Ugd?pUi*@ipW%v7ZuizrN5_Rii`{n zksS{nlg_k&xs84hpz6(C+G5;`782~97Z(w?v*vZ3en3^bW++}FVR76w!c&RVtOXLN zcmmaHj463sQdJ2zWn4K13=~xG#7=;v3Y$P+NywM4U>b~DG)lZR#a1i@eHxK+;Hgmr zc99gi1ZKtz!730cuq#>x4FV1cGDw|DwW`&tShH%)>R>CcCYHEpzi9J0%R8&;e)z$Iw z@$BsE=jZ2{nVA3p0OjT7A^8LV00000EC2ui07d{3000F4P{~QFy*TSF7h7N`j$~<` zXbLjJA~0|)&vb3yIQ|TV%RIoKa7Zi~kH}+U0PrQB&}ekod_4_^>;aGf0uBga;Sd}H z2M32EFbF2HgelXR1UR&g@I&or1Jgl(32FreYC(2ua#cTd4sj2F4Gwk%fex1s1P+!D zUw&B#4qZ=FbVzoPfTC|?f0(ZigLhnRoRbDnrdE!4mUj<^ps$;%~S<(%Y7YSm@ yoJq5$&6_xL>NL26K!cw^g9;r=w5ZXeM*$Qth@h#{r%KB#udlbXw7h=(`iT=KQd3j4 zwY9^-!ua_3WMyS{?b_Af-#>Tm+$BqvynFX<-@bh@F)=`0(MHHEXV3y&4h{^5)H(=g*&i{P>Z9fnny%nNOcS1v01w6o0aSjnV;;AU`p% z{Xa0Vz(Yr>|HP6aO&(6Q$rDPv)<&(ru_jDfK!k~LVug?1?DH?SMCC3@VPa{_^jm-X z{f|9$>*Ymw3W{o)TUuM{8VcJ=xTCR~lTT$4mzvz7BAU7W;C&LbQ2DuH~attaw#miQ5u&YdI+uGE6UgBbp%4W44 z)77|D`p*<|sT{dfKd()2Iq&Vq#pg@TA6a(jDc|hNv*oxR>^!~Ytg_(-IZk$VK7#{c z8S#oN5(*Q9IkKa7W~@09c;|@b+_g??Bp4E&^3LmIQR#W86gp8^w!Kv@M_{Xh)3)5D z2TTJ#oKkVOo1xdtW!l)$(7`A_Nh|i$mX(*62P}4as_@W>olD3o|0Voz^ddwYAq<6~PB6ge2I0TnXPQUCw| literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_pause_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_pause_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..3d8c87593dd8ab8e178a906128a9dfdcc3379998 GIT binary patch literal 438 zcmZ?wbhEHbbYl==IKsfNV#SK{x6ca*2wb~%t)RQ0y1Lre*Ec36=J@gB+qZAe&d!#X zm)Fx;#z07+S%D{Ikv?s){Bvm@#)j247h>fPZqGG4u}NV$-w%5 zfofk$=Ddtm>vCT2`yg?oAv#ukPy*1*6dNsk`UlL=c4 z{w=xDl~^q#q}`NVsBIwSa^CBT(N-O8F6WO5UJ1`jGK6@l9i7!mxm+1|U8_Xx3yVv$ zcsXr3z4}DCl}kBFQ`=SDS#u{;F)b+a3rGmzT%N(6lFQaBI|g(L1_;S4t4;8fzSlPQB# zfngwl&6_xL>fFh*r_Y`%3m72Kps3NKNRujE%CxD|0ssO4KtQ#s)vH*uYTe4UE7b@9 EI|81q{{R30 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_pause_pl.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_pause_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0e2066eaa953c99d0b44d9731138f0565162149 GIT binary patch literal 551 zcmZ?wbhEHbbYl==xXQp_>|mVMkT!Gw%ya+GUH^am(*H|`zZ{--Y+hk+A+G>$&-xxI z1*!V^^~=sLa|m$Qbbpg?g75zK`=9=Qn%j{(Y5Sz2{-UUYD3?$dH3PL<|8L#C?&VPxW8&lFQe$LP!^vH?sZ>n$X#3Wlwu1ue&u&)R zA$neQ-}22|s*GD27qsznt`JyOdam>!)2F8&4l}-)c=^S)UVcWGsSOLxp4(IP%ukhp z;Q-^_;;vPqNfRdA*;b);!n2rx@7^}QdA~eWjtDw1@Tl&o+_QN>c&m^ESJN8jwSg=g zZ`$r2%y`6j+(n4*Tjy-gV3muDJ)F6e5+5{QULLU6Yp&PURaaNZY4{jyY&_JlKH+ee ktoODxH#euN7hE{S*m8S&!Q)eNy|=H6-7T)i!pL9^05Sa7MgRZ+ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_pause_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_pause_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..bea56d65628a5056533247952e994e5f4d8d2de8 GIT binary patch literal 989 zcmZ?wbhEHbbYl==_|Cv^^3TcKj@-p(7V``7Z@jxv%S3D6yM5I&t7VjBT*F+0(t{Ez z5;|6Oc*S~6+da+P)qKg>C5()WXa1jI7zLvtF!Vz}@h1z|6FMLglqVQCb}^`O$arj6 zaIl#}SS#klhJ}aQ1(dz!cx+sBw40eR;f_b(Q<&w9ODKjaf%%j); z*I##EzV5zpjd7mFo(>TX8zLK0W>R{Yda~ZK+W*=%L^f@RZI-*1N?l66?Y`sxkLQzm#ZQppV z?|kpu3V~yz7;uirq;kn@I-gLafFLOfKG>{w%k6r<;BYqJXjsMQv|3Fz53bxqWj?oH zCG`0MyLfmYb{}{NcNK(nSQm4Ld4^$aXIvM5a}XYO79I$6dzlp$2$vt37g(ep9-4fq zr5+D?gkX?wU6X+f9u=b=rCJpp3?B>?oxG;TxxgQr$hvH0kz11y7Z;fkyB5_K6CVq% z3msXfyRDfWxTl)iy|U1>lBx0)!I|=+!}1V>8$aZ)P;>?Kllc7@WTb1g8gr{~wF`!Ct zs~4VYz9hI1E6dso!Q!HU#34Y2zkmY^9!$8f;lqdlPdH$QzyYR^BTJr4xw7TUm?c|? Zz&HYi&!9t#9!C>n~0{{>L06T30_^bc` literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_resume_OFF.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_resume_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..0ae4cb9ad8838d1d853f5e494d3f9f5ba5a0753f GIT binary patch literal 533 zcmV+w0_y!oNk%w1VM_oK0K@uYOkx3{;}*4DDJ zvgqjOe}8}5+uIKh4<8>NTwGjzj9tj@_6`HxD!?wL2n8mkfuw__~5EmDg5V#i77ZM)_s|Ouc zq`0b<9kryF*t)M`jzkfE>NzkmY^9!$8fVZRat1b89CXcOga80Le(>@_ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_resume_OFF_de.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_resume_OFF_de.gif new file mode 100644 index 0000000000000000000000000000000000000000..f707e326783ca049b5c4a552bacdb4ec61156f0f GIT binary patch literal 1225 zcmX|AZA@EL7=CYCN~u7*t8A>Hw1kgR6o!Hu8-rX~KsIqyS1Tl)1IA#44;x(?MwpZ# z3WH3zFg_F+kj{~b3K&9-OQGEi<9ljayTKL|3S~ts$`levJ-3(f{y6tJ&w1bHJmZ(pTCJp8 zp})FHMDj_WCX#JOBpxQi!$JW=kPasG!64o5Ca|m1U z@H{HRgLU<*zG&)nI+6a+ol%6J1rrb2LKqKrpd8XoMdi2^4jCWQIYY*Iz#VVRq{PGmQ+y6U067*rn(AL5{-~GA`0A|r-8qHA0 z^hhKu-R<|vKdcGSTLQrNTe9DZ6s%2rAjDMeu&jJQ#=T5+q*8ZmV z*lizHvGxb!wMfOZ7n;L-__h!Ey%ppqR+#9t)wqpJ`=gKnDvpxRaA0*8#R0)}9h zaRJ%@1!hNk)>+6d#3LT`Z_anVagzfQ8cEva8gKE>0j*4kE(@zeOdkYlp?+tyFF*j$Z zOAIHPHQgJlK z>3nh4 zzdeeLJzCrWF;hGrS=m=&72L5J$A3MbFV(0Ezc#;oy;<{RF01F_QkUZr(fnY2!t|d2 zD|mWg81stEI9>GZjgd!ZABQ_I2<;6f#9s1!Vr5qNp_x=B>u)$S8LrDz^BS$fn_>yZXI(+5)D8fyS3nP;kwaTU@^5el38LJY#9Wp(p+aEp z8n7S-gKT034IY4L2^cxBb|{-22ek1DsjpE0e5ArxNjM@_UPK&BxUk{Fh!ZPbY`B0K ly$vEuo=my2<;$2eYo46QF@n#aLyI0wy0q!js7Xfv06Pnd%zgj> literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_resume_OFF_pl.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_resume_OFF_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..3cb532bce5d22a831f7336d7a7ae06548ed4f1c3 GIT binary patch literal 579 zcmZ?wbhEHb^kxuZxXQp#TwH8vY5Dr~>u1lNZQ8Wy#fum9_4Tr{vbS&FK5^p2u3fvX zU%$@B$2WKGTy1UbhK7dJ)YP!Bu>Su3B}HRaJNH+&O;y zxQB;FXJ_Y{HEXV3y&4h{^5)H(=g*&i{P=O^%$W=f3{Rgv1(MVPia%MvM(Kb^ke?XX z{vViF;GrYce_}~dB@eH`j0q)PYopfRSX1UL%EQ6bnBk*0`}~V7RcG~PYsoq$Cak*s z{>PrW^Y4GZGOv3!DHncTFAylQjjP3~%H>6pvN zz^*E!#>lA3!zfV3JC%Kos-T=4pDH&O<9>F=bxV6%+Za^&)ee@c&L|g9-Op7zcgY#K zo2pAXx|g>v+I)P<li->9GolLRm$hVByf7Bnef|7dwsqLPGkz3 z{$}B3)N$z^78UAF)_Zr zzS-H?kDorCIdf)QSzPPv))gyO*xA`_Ikv?s){Bvm@#)j247h>fPZqGG4u}NV$-w%5 zfofk$=Ddtm>vCT2`@nIeo;%e zTkKuKvEk&7z3MCa1(}nJLMDl(v9ocx%$&U|YUWLr3(NOk-V%OYjJ1-jqH4oyQMMMZ z9Wyx&omtxPV%mz$3l4~?a5JybI63LGlTkf?`qfnl@8Ty4Id#OiBxWsk7nQZ|Qn~oR rqnT49Sawy+$xTa7Pd7+rt6+G**gD&y_|=`0o0p%T?~vcdz+epknKqsg literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_resume_de.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_resume_de.gif new file mode 100644 index 0000000000000000000000000000000000000000..a3766538fe99be87a0cef17c032d5f49f66f97b7 GIT binary patch literal 1236 zcmYjQdrX^E6hAF3Ee$pw*A>fS&?0@|+!{xaxww^CbgOeLyj_^MM|o)ndm~}kfn-db zfo}!D2e!aAYD~sMCiBr2*d{OA%0mLO3V{-EfW&M#GRWs`i^TKCy}x_T@0{~H-@V^! z`(BOSapZMCa0x(}r0jawWu>eG)PQl&=%5@<%1M4l%C^hu`|C%jk@WNFrbW}qD<^C3 z)pGr~L197h8Sw=*1uc%2F={MI8Ko)HRQ*t;I;=7+n5L+yQEJpi*~-2y1Au<2pJZx6 z^BV=Da*|g?dOyHU6mbwmNP&i-$Glt{4Mf2=fE7+r9w#kq&+vao50&o@Va$if_C8$a z*({ufMC}!ee0-!R3fDJx^N&a5PJZqZsX>zo z_`2=qr!B%2298m%#l>*_6Tqh6DR%JQCVfY7Ac{!qZZdRTBA$*X6o$IHAMv;6jCVKJ z|NJqB5v|t?8njoX%)Hc|mTP^V%8&Jau@Vn7A5p@e<2|i6Y+osMvp1_EwI$v=;<(J- zZ;gXGWqpzS!=VQ4wYb)tVOiVkuOuNZY}f9YXRt#LHpU8d3y0dWM{XrOnNSP?gd`F{ z&zu-DocNDFTAg{PqfUFw28~Wz48AUVrY7sUaptpkZ_Ulr01yQ1{1?^Vr&0g_ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_resume_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_resume_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..1b096144c2d29f00b803c8f5331b20b2afca3d8b GIT binary patch literal 500 zcmV|Nk%w1VM_oK0J8u9S#Mbs85Gk0(y-jHkF$@KyOwQ;Z8k(UN?l66?Y`sx zu?PYq&vb3yc&_jBGZ-(%V@NC-kI1BQ$s{HUz*uuityZ5=A+d3AI1qzj0uXQn z3`D>IAU+(>>xaQjXU`kM!C|1MyYmQM2Y60UL0e`90A>jfT?lgyY>r-y4PIyt2XdNq zoB@pm4h4N~UOoW<00w1*4_Jposf}_04F(QqLtSB}cxt&1nw$kjxWS^uL|tf$$_c53 zS$UF2fnh_qaBggG!Nb}G;$gUCPorto57Ft^uu>1Ax&zlh(9RTCvO38t7m;r)y%3*_cj?j7$5$8`0W3)Ua?+}|3AL@|7ORk4h9B>Gyl&3Ny>rZPZqEt zIv^6{CkD3v4qX#mbfo%EEGasfBW20L(-yocYW;lW&Z@Sa-oCz$F81m^ZUF^ht{N_dxpM_;859KS zc;+e0(pa{9LT7g$zq$gSI)es-`p%uKwOiDAYZbOK2&)Te9NMM6cG8p{R&^c?UWNrV zJNDFG*tqh<>6%Rk@1I%U!@X01;pTPq*Q?aI)P*0_$f_@?In=K)@o5j&zD2EB&z~Q( zi8`?7Wz~j;dyDHP%Q1F0WXo)`6ZEs0QM$-^Um4H4pBKMh2tDGqqc63_pdj{ypOj10 z>}jhX9I=5O+Gqj^E@%X2GF@z9IrFa;oK<0-0GERBk*8W@zxudaV-S$~g6W z(~8<%({i@0UlUoxD8Li3+pOjG_JYT!=6Y|>i``anvu;HK9_|p< fmdiC5()WXa1jIAPy-0WC1JG0g)g(8Cd@>Q0Ys_oR_g`UC!%$ z1v=+Ta_=iQ%x`-9MoadTVCSDMEXoC4T0jmJ)+q_U|~7G@0rX<7^``^Mtrv6ZyE(h02u*1giu?Cr7ZccB&_< zdAkP-a`1He&8|?LBE;Ai$Qc_a$lc`Zx`d~sq+->&wVm_a%Gp*Q*}Ox2aTgy`T&{nw zU?Mv!m;ID!TSKQ@VLZKP*SYmUmxNeKSc^+nKNDoFcilXNZSU~~nrEK~ajooD;phlz z;nL+i@=3LXRols;*1_Y;4?)4Cquq`MSuTQEkKGuK^EgO&Zd!73vPLlbs+f~PPR#-g F)&Rd2gq#2X literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_senddtmf.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_senddtmf.gif new file mode 100644 index 0000000000000000000000000000000000000000..d19888ad1b70cd3e65fd2d38e46267353bc872bc GIT binary patch literal 567 zcmV-70?7SGNk%w1VO;B-v9K&^oVVU)2Y+{<^TWA|NqkeRYX<)*Z+54 zca3q4#-7F^8zRi3%n=R|nR=NsDKp-(-tNBcW>RMV)&Hb}q+Lo~|KtDdzU}|n|Nqbb zs)(vYHbejb0RPPYA^8LV00000EC2ui09^nQ000I5U?E~;X`X1Ru59bFnh^wAZQppV z?|kq7y@Y|GsT?-Qq;kn@I-k&}^l2bK5(mR)%k6r<;IMd1E{g?>1y*ZryWem!TAdwF z2Az&VvQ^~&5FdU3eH~kW9S9s>et!d75QupWe_ND#ACZU-U~_9@9Uc*(4}77BfuRi( zAE8?w4|xwBk6ou74IYM?u#+CYgaf~Z!lRR&X`f;q4O_yGu3n)Y3auWmh946R57O6L z2p*i+T)MQarys(EW1e+l#R?F7)|=M30MWW!>$cw?0M3!amgfVleZ}%rLq>;<7zqOu za9eciSg3#vB7EED%mcea{{q%Bn2qE*aR^1UDGcMz;TH)FD3mi4&7YuO8%u^_#igdO zMFUAX(A6#FN0!Onh0#a>j|Z8d21p%{>e{wnuNp`VCDWf&3e382B>7<$0Z=2X}qAcN)0m@{kM z%(=7Y&!9U?0Pu(a01l{At6t5zwd>cgW6OSRVE_fv6fWrA&AYen-@t*nU>sHmuGYiqKy zvVVVnA0HpLx3>=u4~dD1E-o&{#>Upx)?8d%?(Xh$b92kf%T!cU)z#JU@$u~J?C0m_ zJv}{{nVA3p0OjT7A^8LV00000EC2ui09^nQ000I5U?z@aX`X1Ru57Cv6s65{ZQppV z?|i=-2Zh0~DH@N+q;kn@I-kwY;9&q9KG>{w%k6r<;IQ}`P%Ns~v3kvJhs$RxSR&wX z5)o{|&VPLN2zne?d>jNFTzh;1SPzAE4SZOUcOQ<04P9_(U>qJ0o(_4Qg?^q45+9ye z9u9U69*kO~91I?Vm#vTE&jH_Fo9to-*tb-pC3=YrKSOgxK z)mgW(s-z#kfnb|*U&09wdDEEFwg}F*S?IIe9|+{()$DwTg-@6rX~p8C`4T}uf^3Lr z5%c7a0R(RNmU&1=h@U@M1FeNb_pRWkgI?CKE#wk`!31%GobCI=3!_L+sj|rYg$Q8C z2Dh}CXo?h;IIw6^sj3Gb3A`n)eI-@IDdTTWy z6||Z$xdFvk(?NoqI%|3$5YHz*Z;Xb%LF=Zl;lpGIBVNq74IBU)0$`X-xw7TUm@{kM z%(=5>3k4VrDA1v_>C>oFt6t5zwd>cd1xzSVVZw#mxO3~?&AYen-@t?aCO{wr06Sl} B4E+EA literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_senddtmf_OFF_de.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_senddtmf_OFF_de.gif new file mode 100644 index 0000000000000000000000000000000000000000..c6b054aebc781307e6f420bc6da099b3f216c099 GIT binary patch literal 1362 zcmX|Ae=yr;7=QE4Z$INZ%(ccfH| zT4F(%wy2hMj-b`F(Qyv98|!8BJ5l3yt#MrTenmZhyzl3EzMtoLKJW9s-=L7=zMsU! z0uS|_YrdqA$^ZApLlk4m2D=RCDi;G+?x2C2B05Cs4FD9lkMLjGZ zq1ftEi!SL9I1F;UxfLN;68-lo)fXVl+foik+31S=I-J^ze4kW=e z)UBst)dsqHy&l%@A9?{Xv?6T5qpsU(|KKdt1^{Ajx!wQN z0|1j)C%PR@$}nw*E9$LM3M%^;>4sp;_*($Xm=AccpcNv4tr@00_Eyj%WV|}N8$qyR zQUk@*Fx0&b0j?+u(h#wK`OX@spb=3fmW#4zm>6ohWKJpeOB4IW1BCK^CImtKNpnt{ z6+vmvNk>@?up5daG6J|gCMFpMQIWls|CA2IJ&ED^RVfYU|*xUpZ&2vEd+#Q?F} zk6>U=00s>@cLg8}+W;R#7H!J*Y6!p; z_|gO*Ar)K%V7XyV>AZ0%P+E}O($#dP7=YUtaoZI>V6cE>WD0F>#OK*?rMgRM{K7&NkIT_)R^rnRqWVi{W```vW_p!w;`$Jm-8RYBR;LG=JLqS^S$a z>QUY$zE$;166*Q9K6BMS+B(Z-B+((xV1u08-MIV^fzIw2cV#m|LI@@@}NNp)$lPC*w=37go= za5poh|ADe}-c)wP*4&u{Zq)C=S?9L8WaT;5s^*IC9%oH7)rqvrZXosJqv*(5k!N`%bHSpxojp2^7BP08z#Kd8Kp2N4N5D?D)aM LT?87920r~Cj-KG4 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_senddtmf_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_senddtmf_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..2d32c5e96ebf85c685d86208da558b548cce8fa2 GIT binary patch literal 563 zcmV-30?hqKNk%w1VO;*nU>Yinz=va;LT z+vw=%e}8|sx3?c3AJ*2^E-o%yTwKS;$L{X#;o;$^sHl2+dObZoR8&;e)z$Iw@$BsE z=jZ2{nVA3p0OjT7A^8LV00000EC2ui09^nQ000I5peBxFX`X1Ru57y<)3nWWZQppV z?|i=-hlIhvDH@N+q;kn@I-kuCpkP=WKG>{w%k6r<;IR0sNHD6`v3kvJhs$THw{WS~ z5o>ybZNCUQSbcX5cUW{61s{TVTX1Mz79J3GjAIoR5^Np>bp#$3iWd%&7YG#|sDY@U zo0MFRa$S)XTL_2*1c??GScDyV9|fKcdvq2Al^-6w9}f-$S+iKD7ap|BpUTW$uxVV8 zlXZ#JrJKPXi4h(Wvl5aB%O8;h7PMLMSkm&=)1RNGkyvr6v!{`nN3uwXQ{>?RLo5z1 zJRlHZA1w(L3dD<)XbV1z`S^VRDB!{|fXW82UMQ%g8zhlgs;LSoZB_#Z5a99Br{!Zc zhag9OisT37$1W}tMzFvXl+1_C2t*8d$%6oOJ7L~)z_eOLs{Jf9SY>n@(u1+Sp<3$! z>eCPEI<_0-hrk1#_tqi<8Wg3c24%q{bwjwY;j?kP9bU|M4V(oW6l9o8xw7TUm@{kM z%(=5>2?GL905G6~>C>oFt6t5zwd>cgU0a9{Is%5*nU>Yinz=va;LT z+vw=%e}8|sx3?c3AJ*2^E-o%yTwKS;$L{X#;o;$^sHl2+dObZoR8&;e)z$Iw@$BsE z=jZ2{nVA3p0OjT7A^8LV00000EC2ui09^nQ000I5peBxFX`X1Ru57y<)3nWWZQppV z?|i=-hlIhvDH@N+q;kn@I-kuCpkP=WKG>{w%k6r<;IR0sNHD6`v3kvJhs$THw{WS~ z5o>ybZNCUQSbcX5cUW{61s{TVTX1Mz79J3GjAIoR5^Np>bp#$3iWd%&7YG#|sDY@U zo0MFRa$S)XTL_2*1c??GScDyV9|fKcdvq2Al^-6w9}f-$S+iKD7ap|BpUTW$uxVV8 zlXZ#JrJKPXi4h(Wvl5aB%O8;h7PMLMSkm&=)1RNGkyvr6v!{`nN3uwXQ{>?RLo5z1 zJRlHZA1w(L3dD<)XbV1z`S^VRDB!{|fXW82UMQ%g8zhlgs;LSoZB_#Z5a99Br{!Zc zhag9OisT37$1W}tMzFvXl+1_C2t*8d$%6oOJ7L~)z_eOLs{Jf9SY>n@(u1+Sp<3$! z>eCPEI<_0-hrk1#_tqi<8Wg3c24%q{bwjwY;j?kP9bU|M4V(oW6l9o8xw7TUm@{kM z%(=5>2?GL905G6~>C>oFt6t5zwd>cgU0a9{Is%5=rPJm%R9E~*v-nDE4)_p*YvwA zb1Ba+4-N<(y*m1${e^0i3Oz!#g|*5AB^pPw?XzeYp}WXfY>W+!1pw5KC_9b!&)a+w zgDCe>iuW9ogiKDz{DFlb6CC=(0=f7Ca6||(Br9?Kqjys#m07}A1Z!LSu+B$6;4;Fm z_2df?o+5;>en(d?#_xhdtX#mD@SDRql%1B&vD0*PjxsqNo#WUW0NZQfTE~q*07tpE zk5_rPID(HyVr`EpwWQrw%aDl=UIHxh-q(W#-Px_UwK&4rYXJkhtlQgcj4!=SK^!I6 zNCY&pVI?6g!{Su*iN!HE>1;==B55;HXWEQFTQ*^$qIObInZV{Roe2zlQ<*5p8FA;1 z333dCv>JB=P-Brn7+4&^)pRg`4+8*kHUa}29KwGe{)ofI2x+a2p@+qh0mc$k=!sSP z@yQbb*RcWI5r9tw^iyP@IBX7=ELkG|p~$~%g#bEy+H8QF_i94mQ&Gjh_I%IS0AqlL zj8B^Zwm8gsa&of3F$muyA;qq&xFg;X@kzL(cL+d8NEh%$Q1+i;^L_U8B`$^S!f_h& zB;K>kldw%$i7^{-0)rcKc^EIr(zQaDyZ1b=RApqt9diX0a z@K!%z`tS`GuOV1NXVCuy@DVuhZ;(v}b0ObVmfF))6?4SXk;^w!Rd*j11*=DTuGCnL zOI$_ihN?~$$A7aiwfAaPpHt9xx6a1@UU&OUh?BD}{lWQy!c*9w{;GgCyPM=Jl73#C@9gk?L56H zPnIUw;1laRMqbqYDVeE`F+VL#>G1J2koF}UMbn<(KIPx@)4laEVF%?VkrmvWr%GG$ zQ=%uD{nzX_=rZA+gMWlUd+tqP>izh2&$8l^c5~fyl4q5xhr*Q5=W(ii?rAs}mhX-y z3tC?9Y}lE-!C=xNu49ZqqieVesYai*aB^_EQX<9Y|VWp?WaLZYJgi7GJB zFjY~!%4n_rb%olxnYZDDxwd4Bdis2s$~awjcCWF43yua?5SOTD8tUteGsec2nVE}? iDV{-KSG7rNzSKHpe17@*tC{D&nRstkM_9RBSoc5WI^R+N literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_senddtmf_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_senddtmf_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..43964df4f736f2dd1fec4b9118f4d4149d4437b6 GIT binary patch literal 564 zcmV-40?YkJNk%w1VO;T z|Ih!bh^hbp0RPPYA^8LV00000EC2ui09^nQ000I5pde;sX`X1Ru59bF)KC=EX5VTmtT=|VU!hK3X2E`j20JLhaG(%384>ucNPekA0EFS5Dy4kwp*$f9=Fb-&Cg-8 zbzhX0c#PPnp2QxE5*`z_6O{_iACw3dw_NmF)%DrdqC}~p^y(8HKakQ$5_hUxBM%TB zZh3G40s;yCZcV6=fF31AUiM|=_wU0%0~eIB4Qyuc0>UofYL(=Itrf{?wj4Z&Fz;8t zE+Vl-9BEP%r9dl1f{8iFg9HmuN7a-F4FN@xnmib2=X0jM2T-wL#0t=Y16N7CEmcUX z>8iI>r+#P$5}v6*2q65__jcJ(qANo=NIQlpoWqC{ubmT4vE#>WB5?qqp|a)6m@{kM z%(=7Y&zvV57!}|^htsH2t6t5zwd>cgW52c_VYCDcxO3~?&AYen-@tT z|Ih!bh^hbp0RPPYA^8LV00000EC2ui09^nQ000I5pde;sX`X1Ru59bF)KC=EX5VTmtT=|VU!hK3X2E`j20JLhaG(%384>ucNPekA0EFS5Dy4kwp*$f9=Fb-&Cg-8 zbzhX0c#PPnp2QxE5*`z_6O{_iACw3dw_NmF)%DrdqC}~p^y(8HKakQ$5_hUxBM%TB zZh3G40s;yCZcV6=fF31AUiM|=_wU0%0~eIB4Qyuc0>UofYL(=Itrf{?wj4Z&Fz;8t zE+Vl-9BEP%r9dl1f{8iFg9HmuN7a-F4FN@xnmib2=X0jM2T-wL#0t=Y16N7CEmcUX z>8iI>r+#P$5}v6*2q65__jcJ(qANo=NIQlpoWqC{ubmT4vE#>WB5?qqp|a)6m@{kM z%(=7Y&zvV57!}|^htsH2t6t5zwd>cgW52c_VYCDcxO3~?&AYen-@tA{!#^zV6JU%y(aRnR=OKQf7^DjmDnFgK2|ePGX2{h(tC-T}oa5T z|Ih!bh^hbp0RPPYA^8LV00000EC2ui0FeL?000I5AR%UCX`X1Ru59bRa4ef!5d>SV z?|kq7z@TtQEE?P zCK7VIVYyr$3m*=CgclGW2!0J`5QPUFf`xvEXOa(#gOZE~7ZC_&e13qHg_j?Vgr*;V zkr8Htl%buUZ+CeHWpEcB3cCplnF$_~9|yt~XBNDE!U(~`hG-rMehR~g9t?$M*4iE( zhYrHM-;~qU*UG)t35(YV-^lRD3k=KUwRn1P*=EYfW_F!f;2{D72FX0o>fiz3Di3R} zaf3K7%|9~>5*#Q74r77@W+Z;F_CXn~i|@Yw{i+zDn%C98&vnbO{cio9MS7%OuhoCOvhFh~HY z=$W+$AQS{@k3mkiYR<(o!!*@HG&x0P{iL@cPg+*F#+9!MFpQ}z`2%5rQX*4k7#?{G zjzJRFNBOMdX%Rs6R|8?0L7-I9Igky9RMj07lNpX#01s#1e6m0U!Z6?v0{Ixc_! zG6Epb!IMx%Ddm(@R%zvxSZ1l^mRxojr3Ic)Pyq&HmTBghXr`&=nryb|=9_TFDW{nS I91sEkJJ-f+VgLXD literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_OFF.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..3ee4ca62464a9aabe253bf236ac4e5d1f24971c0 GIT binary patch literal 778 zcmV+l1NHnzNk%w1VUYk30K@U1UA0O7% z*0;B}YinzXiHTfXTYIkI-k&}bV{vSuh^`1`}_nNj|k*LE}PHjw0g~MyWjA*ybO>` z!eh6>a=9=N9}9hh7Y!c;eF|j_gaaLcgnfo(kqnB0k&6Qt4h3a1_+o29+Dpez!qf|x_!U}zrlrO9tM2}!G|6Rgk;p%9v+4Z zz`Na((bLt)yVM4X)dk(g?#2iS$>X$kcyHHa$i`&3We|99kRZV^53@RW@TbZ{nrhk{ z#yiuG3<3iKhIzASzyKMDAE@ebP&ClP#KZ@5m@c)zHjMkXJq7U8r*wRjn`Mu_=nqoYDv%b^gHQ$Z*p2SU8LK-6hfQD1o2%!70wUSeBHM zuIvyNnW4_D4FeR7`Q!x)*exKqXy7FMII5k~|Q7@6fm<8@=){Q3!H~>rn3>DDd0StlkpnTmN zFbjMR5*A2*35b$kOmnp8;)^iG7-KCFZ~#CCIOeG1jy(40mTBghXr`&=nryb|=9_TFDW{nO I3=jeUJ9?XCO#lD@ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..ff9a3447481573b9d6e54da199c844ad7a754bf2 GIT binary patch literal 788 zcmV+v1MB=pNk%w1VUYk30K@U3x=H~0`>wkZL=;-L%+uO3TvhMEgVPRoA^8LV00000EC2ui0FeL?000I5peBxFX`X1Ru59bR@VPb9wB2~F z?|kq7z@TtQEan^yiNnEZI-k&}bV{vSuh^`1`}_bB4oKreE}PHjw0g~MyWjA*yd04{ z!eg{zVdx+ZbAfRe7jYg49UTIIZG>}aCLWLX$S@d6$Azhf}w1XZjuBQ1qK9e zq;Lm}A08fYmUw6$9kU+{0v53Z9T$KJ7X`rbC3=gSU~201$rkbnfdn0 z7)&xUPbR9_P1^yt0}+s!XVS()xj~R!MK0Udm$zmo7=}I#lg&HEPyu;Urb4 z>5JjOLSo5&NI*aUTEyg5mL+h3VqyX2Xl6#etTpAldxf!f{dctBtOpHeLwzP8V>6oi z88D#0p~i@w<1$oL0RczLgcvNZAo2n>uf)Bb;?A8Uy~L(a0W*6$T!HgD1^9FiUufK- zB#~Y|nV5|6G<)NG7S| zl1w(~0+o^QGo0suRf`d+O7 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_OFF_p.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_OFF_p.gif new file mode 100644 index 0000000000000000000000000000000000000000..91098453b67b6161890cc610023410afa15790d7 GIT binary patch literal 824 zcmZ?wbhEHboX8-+aFv0<($aF*u3aZioY2wCTcBhA#yYIi7R1?>9`~8nS zb?4vz{$HgkBE`kaUDDCn)hQz@%UIMmiLIEiub63)>=f1BSxg=CCQqGSG;^`)Oqn81 z{@I)pWtYjW?%uYIhfkojefz!+S(QU7EUJeOF%+{O+A5>M!N8!xta|YH*5Yf2PZph4 zIeVUgS>@!pO`NQUSr;5Cdba;V(azm%A3v}%b214Yl{v>Oqi|Al!nz1`p-o-_3W5#{ z?Wz102ZE*~+-bIC>D=jjqxa!%b`=fVjt#5s9&GuRclPnrOW}^33!Y6_EX?q5b1&y~ zPM$X3K$ibP>{>Tn8iLQAXOLg+I>mEQhIh=a2)o#n2QwU#?>y02bK---mcq!&TU^uf z&s{5=FsF9z&%V_LEE9b8&0dv}YP+k8MdE{6!7~{a4l9qzPk9=)c3$15TePi@FX5mJ zxAh~F?ZNCUDoPUBRYLhnyZ73h=45z~#JQ#D&$JblJ-2qJY8+J)ny^m&b>ce9OO@^n z3_6@M&6`(s1(k4KIOe-l+MqA$)f(>Pq%w(_E{!=|!hdxHbZ0pUT{;-9w`)SR73ck( z+}$%}DnEtn^;Tvp`08-MgF$7&vl0deU1kQ37LS^{s>$(YKi{@@G^t7mFfy literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_OFF_pl.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_OFF_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..a8d5cbc30fa6a8cb7ccc3382f35606afa1e94dc6 GIT binary patch literal 647 zcmV;20(kvLNk%w1VUYk30K@lp>nVIqN@$BsER8&;e)z#f4-ZUC zOvc8>Jv}|Qx3^qeTU*YI-gE}bP9l4uh^`1%k6rM$&G^7iJT)vnh z>hO6WKfj{`eS1;?Z+vc30eAp$f>H=m3yo`&lv5HD7G-CZoQnw&3I_}T4GN*Ag#iZ+ zb_b>m2MeXA3WZY?rlF%!2N$iTpHc~r01OEV2?=-yb_t!&X_uL1(3B3l01=JMRIuCt z2+mRrth|*7v5p7n;Nk!Wd&2;#Qw|j7j_%dZ(wh5g6xgBp#!FS9a8t-lA(&>t0bd3Jv8;;0X)8l#)c`WcFk z7XztpIx3*a5YoeL7o^_nNJU006T}1B-H=_ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..221057781e3724d1d457e17ae173cc85f590ddc8 GIT binary patch literal 783 zcmV+q1MvJuNk%w1VUYk30M!5hmX?+d4h|a|8?mvmL_|b-dU{`9U!$X=DJdz=&d%4@ z*HTha($dny!^57Qo^f$;<>lqo)z#YC+F4mylarH9PEMeppxxcw-{0SlkB{W!mn;DV04=4w zk-#&r%#*pE(Tu1DEi5!FGBqp(H3QlL#0Ca61*{0c1qQ~!HL|vfEyV4{2igIqGrsu; z258VAph#RRd+Ok|V6~uIHAT~QJ@ht8TLERJmJtvD0D%CCH4qq(Wl9+VXv!2F004lP z$rdvL03bjk9E}+@3`%al2! zSJRuoQCd~DK+u%{Qdi+x(6qITYK^M_O|d|rC}7g1NuBzV3Uz8#ZUG1s$l7($ft!m^ zrL3{A#e%LeWeos80~-yteq{t6ESGN1!qxCj)T@XuP>&QTx4_64v?6237J}`{f+N{Q z0t66LHskS6+Z;===6v)nCu*ZB?#(!L95JWc2+VdQ!vHG*3xX|WH9KNrJ0_zyQgCswI`30I4X){+l9W2oFl+(&wO~}lgHaTd;F zKW92Llh$E7s5NOeMXkg#EvwUNT9lb-;!rbf%idkYdG`C`-sktb&+oau5W}8e_kOzfru_{zh+*9r){8~+qMM4F93313d;LtVjRA} ze8f>wiM19!+fzTQ_%Y*G?;5P%T?KI+c~761c>vUA`>cj2I{ znz@Q)m>o4*Ede_b>U{*BJnC~58h|?jKtO%El-w0`7cOj>x5WJmWhE?p*Md&L;Gj6O zAKnPcGNP>F#)R<$e09^tEX zRa_}>@!#KPs5{qjhPm;$Ygm0v=l3oMrBsVZ5eLrRn`grsYHybZ9USTFY*6=<;%&L9 zWs|bINLD0=v!8+|)kc)Bt?;F0ZLi%_l1qt z1tf{D42LuRz;BZ1ZHc@ze-lTtp}&2%6I;lf%6_;wr^5MY-(^lheS}j$$O%L)$D@%! z!m~T;?i$$MEMXkNmoKh~@_Tt=N^C6Oylyvl9E?BgkVGAt5p7>1ep=MJYsSnBKJa*R zg*edEqEZJ<^bg^ZZ=g zADQQ(eqHjdCN|4cTUMJyHJUX1J+9KYe^780YM%F}E#RGiq)phx(0Qqr{|)Uni}UO7X4)Dc7E<@S8Ar zmZVH{velZ2n|_U>^@b%pDZo?X;wEng4QVF3Kc60*?BUuke{+X7a72$F2w3+o3&lX! literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..26420f78bc548bb5be123300ce508f743678c579 GIT binary patch literal 788 zcmV+v1MB=pNk%w1VUYk30K@ z5zM2^GbuBfdYSIN?q*VE-Lc*O*Z+-ijmDnF|JwhEZHT*;yF@lbT}oa5T z|Ih!bh^hbp0RPPYA^8LV00000EC2ui0FeL?000I5pde;sX`X1Ru59bRa4ehDU>MY< z?|kq7z@TtQEEU z0~1M^?RY3W3=4LHbQc$N9Sj~G1%hyfc93Tl9u0GNdIV-`3hk6v%f#vl2|o1E#_hv}3ikr8!KG;pxit^~ zRcJMi*aK||LVZxcV4^v4-^>{rR-u811d90oNgPG*5SoYuvIRrqftv#hIB%|GB-5aW z2Nx^A?8z}1H%J!~WV3`((X2apa;16rvZA_O7RaePS&@>xVO9;gT%h2=nFSW^skD?v zoUCLs&(u`82q(C13*Z`LaK;{9xRh))sCJ0!2fth?#f6$_Q<`19D8=(|)k9Vfa=DSC zQ~_r&s*uQ<{m=kG0kw+Hxjc*D!o|e}(%syg+L>$1d;1n^{W>sd!XFGH=9XFwL&s@4 z0aT#CLBx&}sm^`asse+Ln8iY1UZLcLZD5OsQ`Nou$$N`atr~_FH@O7peHIA%K7P@; zNKY;eP8_%Ks12>r#~;P4^Nb+UX@;4RGaev-V0MO3vIsF9aA%o#^h~%21jA%h5E>RJ z!bmWwad?s{d)-rja~-1C&jsp0GSD`eskGP`$CaYvjy(3rBQ6{Spuvzt7HQ;>NG7S| zl1w(~rwPdN~mRxq}<(FWFDdw1DmTBge6+BSo0~oaF=9_TFDd(JY S)@kRRc;>0+o^Qq!0suS8{BPa> literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_pl.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_startrecording_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..ef031de9f1d28120898b278ef03c75aa6208799c GIT binary patch literal 823 zcmZ?wbhEHboX8-+aFv05dF;8*9>dJ)*mE1y$xo57|*gUzJUqEoez9vQWC$3}Q z@Tuh66Ks|{y-}E%qoF~K(M8Xm`;zB{#Riglg?BIDU7`MvMV(VP<81bc_x$@3b${zD zY4GabWy|ak^jktGN$r18quLyY3!clF=2f=zv2-p7$fqqmwhGgc;fFZnbrs37T((Mp}aiymlKF*NjQ+<7K>r%Tdo+J!PpH||%m zx8|JLlAj`qQN#A*H7#-*(s)_F*jy^# zT(je^EbIHL>*ua``Q75vz2(x(54svM)EGp3COa`WL@_aNd}Nd_KX>IhZ{4qt6BW2P zeHa*+?s_EfGBIuw=kZyTy5eD*6DPL%%@W$(pEm5 O7UQ(CkRMV<^TWM|Nqth|IPool(}zNZ{oG$$e_rEYli>b|5QU% z|Iz>T#Py_uq}8g`er0}QPGbAX`)pQhxRbcEkF$VgfQfF2|KI;yN?iZq|NrFwPd`u5 zr_n?`H{o1KWar=yPm1CIv>mo5PY057Gy zk-#;t%#*pE(Tu1CFD^DN2sbVUHv`%N#03R62CNCe1_j2!H?p>hFU0M}2igIqHNN== z1#H+Lph#RRd+Ol5UW!-bO}R**C}7g1NuBzV3Uz8#ZUG1w$l7($ft!m^ zrM$851%$3KWeose1Dg%Deh~y7ESGN1!qxCj)T@XuP>&QTzre^Cv?6237J}{Sf+N{Q z0t66LR^#zc+Z;===6v)nCu*ZB?#(!L95JWc2+Vebpa3fY5P~g^x$iPpoC5?@Mr)9q zR~ORhG29yZxWuIJ<3~C`z_a{FxhBx)0HeSE{{RLk;D7`cXyAbe{s#gJ79{B4fftaF zfe0;>P{V~7W~kwY9Cqj};fElGDB_4DmWZJTCyY>m2_eMb;)^iGDC3MY)@b96IOeG1 Ojy%4Y!UhBc0RTHeduROs literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording.gif new file mode 100644 index 0000000000000000000000000000000000000000..6f3bfedef7d3482f2667125fb2e348054fe81098 GIT binary patch literal 758 zcmVT z|Ih!bh^hbp0RPPYA^8LV00000EC2ui0FeL?000I5AR%UCX`X1Ru59bRa4ef!5d>SV z?|kq7z@TtQEE?P zCK7Tza=0`QW(*gDgk~0fe`kV(7HJWL7Y7}IkQWhV5Q`QHXB`cZmu8QIl9Y^Q50)Q- zfU6g02%i_5b9Z?LWpfrD2^S6?lY$Gpg9^jFzYS&=9)k%Ujc2j91W^y~=lRTyd zzY;JIDtap6fb%e8S40sEBhW?)Sn!N<0|#vM9DoW9*dTcq1vHmI=N%A=O?dEA$A=(> zDB_4A?!&k!H+-&Dddnu7HQ;>NG7S| ol1w%kBzChfI11bRE9SDbD@5SDkrWrT_VJCz=FxWr%dhvC47x#&V37^$I8T&J0cE>o_JD4lX z_iOK$W|ih2&2K*694-#8E2vW^sQowiM~EZfBlx`GIlK#D7rdmt1dzBHYKaNV%xV@X zNXsbJlEzRG6S6SD8-PR58hFcu11nss0LcuYwTN@~>;EscQk~|O5OxB7>UN~FUWnQ- zA9dk`6G|b3NZ-)ZiZBX>Wx!)xGnz0TBjRX@G7E>8U}zk&atw`+kT(EqmQA@DZmb1> zx?(xg`CuHoLybnvuf!OBrhz517TtSZ0btL}bV7oybPu#OyF-&Co#Lca1cfvr#-mxx@P;jBD6*2rM(vg)?UsYUhCF{JV2E>m zr*q;p2EN`oF%#n_qaBev5*Y?Vv*V~6y!-UA6_CLY00EYg1)#uV8+N0K-F^V$r_NO@ z!|eEw)e;~jV7$-J$zy^%WB~0502vdU(~8!z+hwR_-je7A#^)`3*Md&r$VgJweRLxj zzXs#iqux1h3+wa1>T`}GD;zt6@r_Ji_x~;h)f?MPUfzlh&<^99(M4!&xyXFGt>qHu zWA4Hc&H5x3s@5klm*U*FN)W+{Pp6O&o|m=s+BtM}FRRr@#)3}M9`JeYTm8I7Do8;u zEgB>zfhYi8WIQ&q-xAOo1YQ<~<(~j#2qiBYsc0XHdG&gc9Jp|g z+-s?=xLLs3ddfBMhYPLWxZvm|H8?rW-aD%8Twq;gN0~5X^j>RSRaXg-;4iy7-K4@P zf;iqs=tR3pN!dr`o(#pF${j`AS=uYl5W0Qd5#77A(cY`uT{uBv->qNN#j;&xnqj&0 zqGT!0N&eHi+Z0Sa#T$$qB~-^6#JNT%W#6KGpU~5@gvlXIOixYP;K2GYI}b0BMsAZF z)tOhYGL&_|Pf5r&a1-T9#eM@GEE+mYpUE9m=d9Vb>Bq*&B@GJcma#rX?h>kNxMV!! zm#2M=`CQR0Q#Fx}{ptt1vs@A;jO%Pq$Y^ozdqxT!HigR0{r1mz?>g5vvIl~c(PLMO zA*&(oHpx;gA~4KIHf?x_Hm6W3-kGn6KVT zSR+gWC#BBy`wrqYjzy$vcS#TSKVt+)3C!%O3WW#3{b4G;yT8A{*Hbl^2@l_n%!O%B z&H}PBIy~Kn%ikNCv{7z4EiM1KOv2>UD5W-wGj^U- zt*(fXRQIM+c?Qy8%Ab6lDg9F0Gsdaz{*_xcv$tK!%ua`IIA$i^ea;Q-O7^%ZAZ?aTgQ!Sjc@l&lH wRad6kymI1w@y-H~$;`VGKiwgGdS$xv{Nk%w1VUYk30K@YinFw zTn`Tqx3{;(#>VF6=IiV0iHV7Se}A&FvgqjO?(XjD>gsxWdObZoR8&;e)z$Iw@$BsE z=jZ2{nVA3p0OjT7A^8LV00000EC2ui0FeL?000I5peBxFX`X1Ru59bR@VPk@wcU8G z?|kq7z@TtQEan~#$)mz)I-k&}bV{vSuh^`1`}_nTkBQ?$E}PHjw0g~MyWjA*ybO>; z!ecpPa8VS<2^WHcWEOmWWr2ehXApxI108^m7Z79(iWUcD9SV?^WR8Q8lZ#{wl^=nB zsuyJio)?;Nb$4QN79Iu{3m%ez2)cp?!MnW*WEUQS1|E!Mxd?*2f69-R9UjZg2%8EX z3m4p*(bFE)%i_x)1<*t%`hfQC&;PW1LPu>sroW+#;hs1Dr;vT7{Q3`w7G3_cAtSVhzBMZ z_`#&4tY|`h_y+fkLj({DWD7`-rD)Q7A$CyAaI-e80S^?&HJMH2IGbgCyG(}bhX%)r zzKpF#^oL;Rh!VB58G(i2n}P`k*Uvfhg+zzHC3&D(Tx%8*H0!NG7S| nl1w%k*r&ga80LJ#}7} literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..2806311fd1ccdfba0fd88e5dd7940e9d2351ef09 GIT binary patch literal 701 zcmV;u0z&;qNk%w1VUYk30K@A^8LV00000EC2ui0FeL?000I5peBxFX`X1Ru59bR@VP}*wcU8G z?|kq7z@TtQEan~&$>YIkI-k&}bV{vSuh^`1`}_zX4?yHYE}PHjw0g~MyWjA*yd02F z!sGd+!|yZ}b7uz~atj1}3KwsC26F}-ie!%vfogSkVu5=M7YrQ=m1To*3kV1a7YZE- zZj5sd1`}l-9-(QMc$yuJAEOJZ2$Ty42?z`hho^#sW)6d^XNQ1f1gsFm9S{%*pMaaD zkqLYU4j;%J2#UkP$qD5N2iw7cxS4t#oSp|C3hCS*kJ1_Nl;BV#GNa58Y_Q8rhkYLw z7?}8BPlF2+{D|APCy}ZJ5IPVr_~B3jh7%$G@mqC>L9d765YV%e>t3G&fM9u01rXW? zbO#1OM99p{#6i5s_#w)tVuxBECKw3G@#zN-DkX|jv~&W-M;9Kk`oQpIxrB1+<&opc z%mD=qc!E``V4{I(M9*A6Kme&3X%P*Sbu~djgN;sWVZGo1!2wTP8$|sINi3PN3DL$; zt1D^G!~f=%#JANgqzkA6rfOKG)Ts-}oHp7+K%die9|yrxX%gjJRRy7CF1nefJ+`bx zeG->4(m8zPl=nG}ZqGq7h7cu?MOf7V0tg&@o7Z@if_>-G^;FmHEHlk;INO>}zrKC? zmjG}GkfFc-{{RLk;D7`cXyAbeCaB;#g8ofVzyMwpK+A*_R%qdc7-p#9h8%Y2;fEkn jXhA0rGJwH}D5j|5iY&J1;)^iGDC3MY)|lc*Apih7IqX2* literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording_OFF_pl.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording_OFF_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..0cf042fca096c3eeebae22c87d37e0d6bc449a7e GIT binary patch literal 839 zcmZ?wbhEHboX8-+aFv1K`t|F(cJ1QhC+i zn>O|L_usyKyS~1D?%cTz4GkV19!r)iiHV6RD=T~V?%lq9`+R(SUcGu%RaMp5*?H{P zvEt(5=g*&8T3W7Iv*zm6t05sFZ{EE5`0?Y+nKKy}7@j_T3M8oo6o0aSjnV;;AU`p% z{Xa0Vz(Yr>|HP7_lQ~xNFD%vwT-mYi#+tIzZ>#n{*ihl4m(JgLl<{)r?)x8hWcsbY z{r<1>w)vjE2^^77}h2UhkCv`Gq1O* z_C{y%WWRay^xkm>tX$m5peiA<<9kSmZhtX@fxHschKjIMs6A6NU1%^Z z!asH6N>dGoYmclLc#f>y+%xsclm=^0-Go<%UcyT_T=@O>#G^RBf{>{9EknEB;Gm=+WqXnwUal>gkVUrLv^&*DwqWhQR! z5+=`h#%UJMUiKX?s+4m0))e0lQF~L!DpgVXfM53SlQ0H(4`|x2GK)p_TqPG6I1G+yJnk{MmhrgP z;@OJFeKy}-B=<;rI4~*-O-Oh$(L-(JlSw{iFP}^faMOG`B}8fFK^7-JfkV?`%3eO5 ap3tWGY(~no%x5z*mfd{HD$c^lU=0A@30r9Z literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0259410348526d42f3ae43c3aa57a7eaa1caad6 GIT binary patch literal 778 zcmV+l1NHnzNk%w1VUYk30M!5hHa0d64i1)(DJdHp8_v$oQc_YxL`2uu z*TciZ($dm#adEM+v7Vluqobqc<>l4Y)!N$H&CSiHr>9m{R>Z`_larHXW@dwfgWcWT z$;ruUYis1>ISV^jcK|Z>Z9Qc*o+wg1SFuLh@pT217f-2Hg3_i8W4QRBS~NY z0D}Jr&^TBCfdgZ`Y6M7t5kU?AkRofSdKOILLr&BriW=oj5rh^6IMyhoNJh(SH2|=) zCY2kFe_Gpx`=^tD1Bx{qwAknit-Kmmfw`jkldMCCpB$bv=?#HYtTJ}W9BJ1njeLp# zfF-LHDp{B6Y6vLRYjQ1lffEd#%CA7-Xn2k8O>E%fUssb`B+L3at1)B&7I)+sThZB8 z6KD9XwX9p~af@YXaGgWDHnkz$R;Wtfn7qe$c_a0k{c%J;)8f zbGUw+8ZBKJiY&J1;)^iGDC3MY)@b96II>7W I0zm)(J7?2Y82|tP literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..94f9de9d67f7767cad0dbf53bd0c8900613cc8f3 GIT binary patch literal 699 zcmV;s0z~~sNk%w1VUYk30K@?!NAsdYQ(a#@(^qjd6{MZi$0wgNSX2T}oa5T z|Ih!bh^hbp0RPPYA^8LV00000EC2ui0FeL?000I5AR%UCX`X1Ru59bRa4ef!5d>SV z?|kq7z@TtQEE?P zBouP}bMg2+4-I>02_AF}2Yw6}aeWAN2p)`Pkr9JycXJppdtcm3)5U!a6l=VY9A_zEhAPdb~c{1hPRtTqMW=Mx~ucZqa zlv6oL9cgq%|M*G0u8+cri9{)=MYvUh0}CLCv)9-a1Apq+{cHyhEkn(5jOUt9zrOuC zyEqKcz`wu${{RLk;D7`cXyAbeCa7RIe^W6c00Or}DB*+@R%qdc7-p#9h8%Y2;e-`9 hfPe)KU|`~jD5j|5iY&J1;)^iGDC3MYqDWE*06UjbG~NIJ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording_pl.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..562822d954771cacfaacdc4c3a91710a8e1d9db1 GIT binary patch literal 876 zcmZ?wbhEHboX8-+aFv1K{lWL=m!B8l6)1=*P>@o%zvaGxy21bJ{}cQYj?Fvv}=LNBkp{Qutn-P3l*c*We^cz1LE z=KVAG&#ao+klyhB{C@`%hyAnm$9l!S-S_tYz&! zU=wseB*;$;Z2u2*PH@qY>OZlh=wy!7{0l3tWO&8uEn8D|`fb(z2OBDU^k$#G?W~n( zWnlMVM~$8T&G$d{)SZ9-`+q~DW=TtHiKduro~A}`U;l&&s zlugl8RF_+w)Ju^S6pYCbEAs;)m*+Z{#7iy9w}a5v0qbxiA|w` z^;`s3%4H$5BDP*e<<^O-ZVIQqY+<4G~dXDh-7-Ms=H=8Je1fnctk@ z5==_4pRTK`q!I8TZPUEdWmYb)GbXL_OKCS-8=`Y0XvyL!My9Ek{2Tmqf>|s!E?_vg zVO7<^EiDJGcKVq0&rRj_eCxa|Pxga%qD6LB&(2q~4tcN3cV*mV^O!NA!C+qYmJ`1Y zKh|ft$+XVN#m-{pCgs!n>Wk{$cr%>6_W0GdH7eJY!q@2vwlpjVd+xS zPeUT4qC_I7tGq?xP|G{h63M707R@IUT$m0iw_d1OaDcIL1 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_stoprecording_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..8a76e8605464cf9539f20a04d82aa76d4450d482 GIT binary patch literal 779 zcmV+m1N8hyNk%w1VUYk30M!5hL^edbmb(!S5qDpAnR=NsDKjD)BJRHKW>RMV&i_?J zRsYxj^uzSsvE9a=#*J}}|I+`=qs;&1|Nq+m|JDDbgQRR$Z2QUk|IPn^W`O_X|MkT6 z$e_r%l(~j$hKX*8|K0zykF(;n;#^8x|Kk7u(f?FKRANqI(WlY4lej-KKmXtVj&hEE zWq#GF)rf6~?Y`|@N?rfs|Nq(l|Ih!bh^hbp0RPPY0000000000000000000000000 z00000A^8LV00000EC2ui0FeL?000L6K#4>nD;kf;q;kn@I-k&}bZR6`5-ZST#_f8) z;IMd1E}PHjw7R=UaAuSeZBDP-@A$la&+q&HfPr)vE(8k@2{($1jE#wort!Oq5%N|HUzti00IO7qOQY^ z0Sz_E%agdC(Tt*tHZKPNHUi23F9HJus|5`=11|;zi?OweFA?bK1rY|UH8(G&Hv|Ca zqZB9#a1X$Ne&x=k>ISXajcK|Z>a*bsSdAJ20w}Pdh+%*N17f-2Hg3_i8xefTBS~NY z0D}Jr*f>}KK?7sGZU|6-5y1`rkRorWdKOILLr&BriW=ojQG^!-INm6w=s?SCHvq7+ zCY76we_Gpx`=^sY1By2qyx8aqt-Kpnfw`jkldMCCpB$bv=?#HYtOs_=9BJ37jeLp# zfF-LHDp{B6ZUiXRYjQ1lffWp%%CA7-Xn2k8O>E%fUssb~B+L3at1)B(7I)+sThZB8 z6KnXbwX72q=Te@W`Kxoh(tC-T}oa5T z|Ih!bh^hbp0RPPYA^8LV00000EC2ui0FeL?000I5AR%UCX`X1Ru59bRa4ef!5d>SV z?|kq7z@TtQEE?P zA`-H^aq0UPe0~QVXcHF}XnhZ67Z7F$h6fF13x0i*mVFB!5SA00aSaC-69{Jy7JU#5 zl%%bbfq!y$c?M;neI5y#79I|L2_B{&3%Utt9v%l~9v2@7x)%x_j?fBzlhLvl&AADS zZw?;U$&(Agzva)#h|q|=znZgndUVZay~7hpbC>2`8g6GG z2z%43AAfCC^MO{qISxPnzys!C(}P_vmoc06?H&V#2P_P;=7-s? zo*%gR83(Qnx1wi!p^=EdS~HQpRLwDIt4>OI(-g4!(102OZd;r6(&)@g2Mc7^UF+l1 z5~F6p4j^S

    84%Xu_5?lg}MDjqjp1no6&#y}cv<^%Iwj9W!T)o%Pzr5xVz|hWF4xvP$HiAfinYTO%W(i@R(RKXZsXbfDkOCWn{wZ z>I{naLr0`*I!>@K4bi>?5U5jI7ud3EIqiKFn|UWR%qdc7-p#9h8%Y2;fElG zC}M>nAtC?*9i*t@iY&J1;)^iGDC3MY)@b96DpFuUDHTkB!H+-&Dddnu7HQ;>NG7S| Ol1w%kNx3{-0E-uE# z#)*lE*4EZ*YisN4>*nU>=;-Kwe}7zDT(YvV?(Xh$b8~undObZoR8&;e)z$Iw@$BsE z=jZ2{nVA3p0OjT7A^8LV00000EC2ui0FeL?000I5peBxFX`X1Ru59bR@VPw{wcU8G z?|kq7z@TtQEan`KiNnEZI-k&}bV{vSuh^`1`}_nJ4#?v}E}PHjw0g~MyWjA*ybPE` z!sGYi!tW#YeFGh45*HR`d<XeKVFW*|NpUbZNDhu$W%A9~gWC z=7@1p4}&t}`ta?OK@SYpQEUuyj?_Gc$+q6C;Mmdv2M#z6W^5V00~Q+i@|aH{aJo2u z-uPi&p-p|(a-@d-dfJZ*!;*PzNr88>cd^_Uw4 z5_|zKQ{dt*eU<&S7iWXb0$WH3CaB<9f(*VP3j`bhkimo$R%qdc7-p#9h8%Y2;fElG zNTC7*2;c<)9i*t@iY&J1;)^iGDC3MY)@b96D_S4{0ToDq!H+-&Dddnu7HQ;>NG7S| Ol1w%kpf};?KPDBO~ir_`7M2ZeAh>^w?d=-gOUW1W}B-o0y zGZt=@hEkDNg({%N2We#>_@FR~;)9@rg^W!gHV_|EDs*7dO@f>sd%r#Voo~OhyEkUj z#<1|zGH{1tfWg7R_V#v#LJ=1iS6^S>*x2ai<|YsbT3cJiVsTejS4l~UUayzSR>^YbGkBNG!7`}_M}zkWS7Ha0psT2WB}049@(Vjl3x zJ1(Hq6t|pmv7jU_ipNC(fFbA%y8VN}c76lU<7_r(5=&aw|8DA}@*GPD^B_cf2k9(H zLuI(1w#>>yQ=83(^gC|$Ap9=q_|j>FalcoHLoqY$9Oi+J8$(V`$Bn;`Hvk%;{ioxW z7+~IZAA#3CHILDaMm(fjCp+2ho9Rp@J)8iT?{mQ&3G#!`fbkf8gmx04j9w`h>q8lP zo16_4XA2(KM1!TcP>sZ?=+c>ZD064x{v;yfLU+3vPNv$ZqoTf~qILp}J$oi#lvZu_ zSQEmfPkKa5;=)?ABS1D183E&ry%l>n0UL|}8ypD)P|)!J)C=%v)wrig~n)sASd>`H~{9I|>1m=(K47d2?#6z^0;(1I=qL z;{Z+rcIfo!FhJwc8p}*3)x02dkGRl)3(aUp)DgZS%)2)Yz!euxql=(e!N~j_mi-cE z!*St==6n)!S?7~*OtGZ(TM)sCujaTQJS%Ijb@jO4=XI$j^$WPynFtBrOx4V4WJ4}` zX?r0j8}2FvXX`#%9}8?0jUB^RqZkFwtv$+|Dr+$?r?%TSOtwHv-$ z6r6r{vZn5j?|s*Q%ipA_@A)Ah;n-o_o6fEu7xCAq4LX%%ept@)#GcCy_s@{quJL0} z?ol#V9W8HC)~<`e0)iB>QXN^u^r`sF-2FH(!84`u$fTEEE zP^%v*f+uTvBoAwqLoD;lEm`Ao~X%7MwF3tY)ap!JjjF-dpG^3*f&pBnv+| ztK6MMl&Y0Amn5|%qx%-}3MNt;7w3PvnHL@7y?@~2gTn>a&g@#bpm=B(he4H7x~)20 znE;f;K5lZ_wp_ycWPst9S5Nw~av4gomiu;V(PJWQh}A;))>Wo!COT7lnZKCIe;w!T ziP1-f%jiT3Da%Tzk_f+weah}|hPwSwFkyFlVy6ni54r=$Br zM^X+2?(o`iintXovNT=Mr(2q}Bj+qFZU6plxu6k|N)RwelGW{heoS*W)G~ItZ{xD@ qE02@p%^I47B$;@MVZ7CFY?)PSESFn+9=(e}Cxc=-b=dva+&VTwKS;$L{X#b8~ZgdU`!QJ*cRtR8&;e)z$Iw@$BsE z=jZ1D005bpndRl>A^8LV00000EC2ui0FeL?000I5peBxFX`X1Ru59bR@VPD1wB2~F z?|kq7z@TtQEan&s2!p|CI-k&}bV{vSuh^`1`}_bB49DU_E}PHjw0g~MyWjA*y!?PP z!eh9>!si?2X%!X`fNvHFfCqvW6$f&Hgl~0sVsU#29S9bGg=H6+7M*Ps7jp-g2&j&4 zpPF!!cyphn3XB8>3I!bnr3r@w1qvUz9k(B-hz1=UoQwqs2NuPMwFw0Th#v_A9RiMr z!@9hq9i<;01Rm$Q7Q)rnh{&&Yv2wE?p9G}W6$GIb9X56QAb?ke2&Xb70BAs2g%8UN zBoLraKnDe%3iKl|ETBV(5Bd3PV*vpg37Pu;6~MP^<1vNvDCLQB?^Ct|7d#aB*Wnw_ z0uf5xv*3?ts1A{K@##RSgF1j806Iz_jOhoQIzyFNNU97UGZLcqJXh}1(+(`nNupQD zUb(baOB&cImdw`!2@GILFqGGY3soON6!7Y6~0h8%Y2;fElG uDB_4DmT2OMD0X?n>xPDgXV0F!c=6))?c19+ZK|)YU$SJ$zJ2?Ae0*YJV&1)bckbM|ii(P=s;Xnh zjyXF!U%q@fGBUEfyu7osbIqDH#l^*zmX=qqUVZcCO-M+{$B!Rp&Ya1>!0`0xQy@tR zQ2faP)~*90L4IOj`+s0^frpM%|A{3=HzTd)UwELoMfD zY_U31;3C1(SmU>R^}8Q?>dwFa9m>nVT;I~#)?QKCRjehVz{Ag1&Y(P1S*clTnlhVW z#q6nET2p2-ELP?%SLQC~RxamSux9yc_L?PAXH+P%O`oZ?Zt1G2&CJtw@7<-PxZ?0+ z<>m$JD+C0ECQQ;&(&SL$xKpmlsHDWIxoFljP0e|?S*I<#t+`F}va)8m;-hJ67#=-i zse5?yTCO7(^W=X^H5$}!a4>1Qv_z+C9ki-hEMgQ=n6QwG^|gy6hd|$fWj0sWx$fG0 zb~0D-!(}fg&v<@&%e1N|iUEQCqR0Nvta``mrI5kz=PSXV&oXB7X@y3SbrCjSOP)ldzRBWwKKz# zWxG_1YcJR=r-g=i95->-WeVILN*w&%lwb*Qepo zrZZ-*-)z3%ru}xym9Xr$TW_S@Uc)BlqtL{v)}sAx$CGKaewwmYNt~c9WzuWyd KEWlBK!5RR44!suu literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_transferconf_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_transferconf_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..ebb69344df2710e3a49d46a4b8be8b7e075b1cee GIT binary patch literal 896 zcmV-`1AqKSNk%w1VUYk30M!5hmX?-ZUtb#=8x9T*qobolL_~UedQwtSDJdz=&d#y1 zvDeqv!^6X#o}O`WanjP#<>lqo)z#YC+Gb{E;^N}u{f9gM)*hprFLW#A|D7 zkB^T|PEMMdnzgmH-{0S-r>B#Xld7t!Zf zN=nbq&)M18h=_>3zPnT`qqG6$0~q?9VC1Fe=SG6MvYF#@)iD=U_porsVsDl4oi0Huwz z0S1!*3a&CMDg`nDmof+{(ULGQ1hSL_x0S%2lC+8j)G{yz1Jls~^wTjj@G=4h1gI+n zF^mmxMu6IY04to)TQQ*9q8Ol=pJvt{WlDZkRwt1MQk(9Cj1J+2%C;%XUik1Hg#Ii;Jz(uD%hl*3=R3;;f0jxRu z8I)rH0#XMQm|?5{v1>hN)Czz=#;pO{2KeeVLx2Dkav{V=BzWwLS^`YKt~DU2BaUek>c8?s(b z=xjQ^*>6Q!x}otMK&9a3PyomU%aEDa*CU9kOkU>fnXL1|g=xV+o(%Ykn8+Du40rBmZ@S&^16cHVT}7?~0BD7CtW^F00+o_zM{=bwPmi2(@~pfEuPEhMVwqKr1` W=%bKED(R$@R%+>`i=I$G5CA(uS(GjS literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_transferconf_de.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_transferconf_de.gif new file mode 100644 index 0000000000000000000000000000000000000000..bb0274cb92a207826f238ed27a13bcd5d5bbc291 GIT binary patch literal 1435 zcmX|AYfw{16yAG7NJvv87Xsl;1qlI58L);*YePjuMywS{o*#F=bM~C?e7k4wnziA< z-|Q#>HlPpyI0E4)9IhLlxi$mGARL154vYzlX)kT(S@RYRO`1_-4P8FE85Eg)CY7OG?l%g_X ziMnJ`fLsV6;_tk66XB1>AiU-fCYDU29EzDn=P*+{dq&MUojuQyHUMx(^-Sk=e*n1g zZthOWWde(S^d*+{cWpi0;gMzz#@=}cfVEqr4I*?5>PM{w7CJ}ud*tpLjN@ZE6rqo4 zwVJY8Ply_D;6(__5IGfEJih^y*f0ri2`xrwLyNIWD|^vJt^Ac*xf9^*g*yTIIC&IL zcbLz3&(lQ^!V9P)qDLg7KtE3(g*G!_13dt%O#uXuF$f!(uW=X(P zOnB#^nY05&1gQWAdwu0kaXk|a}H~<+7TmWzYn_5`}aHmfZ z6EF*)p;@O%04~65OUA|uxB+O6gwQ|;U!jiZM8sFYu7grUMhNH7AShNK60c#=LtHS^ zz)_m{NqmZ$pM=T9Vppw431-}yX^HRxEnUmu-O@QVDR=AvL*1J|^pRQR0!IeOLN6@| zWM+Wf0KAdE==x&T0_{Ptl+K|43BZQHimjEX6x}kmt?$-;mGWAljc4RCwNgR?=fGd| z{Y{m9Cp}gjb6MM5b@P-nW>=)bNX$B5*TA{8Z)JlO!I|Uwo0n>CotNa?af!S{-mZ)| z#gQ7Q+TrpLKSgcAFwWtMor5C`itea7hm^>_eECNn)VUAHmmDnJ%WB#)*!+1#cKyRv zclnB_fq!3-Y~t*Az7zk;L;S4o<5If-&T0JZCy!cP|C3U{q;yFPFG~ zH#B$oHqvePBCogy#e>~@${BuF`QBUkS)vgZBd=}CQOm$&y8^$n(nlruTEEsB#AOOa~ zi|axD2bPdLy=DJ_xh{>cagd zTJFZ~ooKzEbaA3hpKVNS;d&%sEZjraefd@O#mOtL+l-U#)4hIES7+`W_h;I#BPC4R e1jAG(U@e{QvT#V5?q&-crhB-IyeUQ_#-7HFagAnDX5O;i|JDD9ZHPoRM7x%|T}oa5T z|Ih!bh^hbp0RPPYA^8LV00000EC2ui0FeL?000I5pde;sX`X1Ru59bRa4ehKU>IAj z?|kq7z@TtQEEU z1CR*WJXcu$e+qVN6&4bMauy7O3xyUH3w4Eua(H@WbbbvU4HklkXcwFopl}rzb_<&g ztC4b|opY9ZcA}^bj|d752_6Zk42lQ|4j;T8x*w~H3LYMxj|mM67RZaZ3<(H}9}EZ{ z1(Axzy}za&s2?2&9qPRn#n{@5%d&a2b+#X(2&dW=2uM}%;0fG^0>3IqP{oPCKn2Yz zd~l|KL4ke+JU9@Q03ZTm1S3wA_%9$F3k}x)OyC4C!9HIel{K_?i4PrpqPQ)%&>?|9 z58{3%kbp{`g@8v%d7$L$kB3tp+70|LFcO1ePe1JJNeYd_Q)vFAnLrh&I&`9>dU%~_uTtni0suF^K{ zfL88QeKhgil#3Ib0+Uleh)s~7181nH21+Nk%w1VUYk30M!5hpMReq8X)h#?+^_TP(V;HCNN-4V6Tj?-?HD&rq6I% zaR1l;|IYu9a*xKI#`MGV|I+`BagDo{yZ`0?)2Y*lZHQ)4W>rL0|K9)KzTe-+-`%m@ zN<2znQef}G?}clHpMjs5dYRs`-j8&Tq=TftnZJN$fIu@q?Y`~*&;S3~|NrCvs)(vx zN?iZ|0RPPY0000000000000000000000000000000000000000000000000000000 z00000A^8LV00000EC2ui0FeL?000L6z=?20EE9{iEw0g}RFBlHh0+OoR@A$la&+p$yARc~$goTEK3=|=A3@mI{svCyoi7rl2PZ2%EByl9Zbz1e2Agp_Y-A0+P46wl5_oq@1as zm7U9u4-OHGjwUV!CI;7zE&(Pc1umb;kuENp)&-KH)-JIw%O@_5CEb#y0NvpOyRz2U z3S1CylrKQI0-I1p8sNeNH*=y6n49-Vp9_R95L|qbz}zPS0k{pgBrDo92#sD?)AS-7 zw`KJl%F?!Mr7V@^47`A6iDJzEoAN3h0MKufO->XC1gK<9)GQbLUJe*&U}VyzIGqNV z*T5X90Xla+yJ?adPE84vzC7i^DZy^L{(WOU_id!rzwt>X4YDR5+(XwJl1xT z@$!RNrq5T~XTzH>1PC|~PW0dg1y#L&AyM%QyJ0zYf<{o~)sam7IigWG2n19BMqG?+g*jDklXP*EA6cCGD$eE@|I9g$aqG=Ec_`+5?*%p9{=*?K5 zM3%`YA!#WcB@13#376e_znSBZP0#hD*J-I}Gf@G8S(pz-2PhSee@8CEQ$VTNmZd?M zZKBOU0+^GUY7>=2VM-;K(3?L_#hDrcp@pVNoO$jkrz7|gBom%_I+egTYr+?2Z{O^K zKm#Tus#2aNI8`Y}G65jkqmkYeCrgm_lP4x_o|KY=sHUpws;su^>Z`E6nm~*%l$F8* zDCDZ^uDtf@>#x8DE9|hu7HjOVB5?4*t{X^D!3z{fz{0fDR%`9G*k-Hkw%m5>?YH2D pODzc%SRjE37PO!k?z-%@>+ZYo#w+i<^ww+dz4)?w!39A806X^T&B*`& literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_transferconf_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_transferconf_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..f008e92ce2a9964784b496171d52eddc9ad04287 GIT binary patch literal 898 zcmV-|1AY8QNk%w1VUYk30M!5hcVBnAmb)SwA`uP|%%jXzL{*u3neM*sW>RJ|DKr1h z|J||O|JVP|Iw$>;MuY000000000000000000000000000000 z00000A^8LV00000EC2ui0FeL?000L6z{v#jDjJW-q;kn@I-k&}bZYEG6dF+^#_f8) z;IMd1E}PHjw7SbssA7_gY)-G+@A$la&+q&HfPr)z76uFt3N?z0jE#a2LiU2EiIOtorsVuEG?`o0i}(! z00xr*3$8RRECnl=pJvt{WlDZnSwr!ZEk(4q21lCB=C=dVuihR)B=!z#;pO{2Kee#Lx2Dlav{nEKTHO`|Fu;mz0!4+5 zCHRWduUY}USUGj3)~5hSRTp(DStG&R!<9qR>V=BzWwLS^`YKt~>5LiyUei4g8?s(b z=xjQ^*{?-fx}otQK(*lJ&;ZB<(~z0i*CU9kOkU>fnXL1|g=x(|o(y=4n8+Jy40rBmZ@S&^0a)~TokcDL0ceGDtW^F00+o_zM{=bwPm=>ZBMd{Dv#E+nexqKr1` Y=%bKED(R$@R%+>`ih^K50YLx&JE4W7SpWb4 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform.gif new file mode 100644 index 0000000000000000000000000000000000000000..4d5228f315a95554722d2f1f2ba7a652cfbfe1d0 GIT binary patch literal 542 zcmV+(0^$8fNk%w1VUYk30K@(4h=@c)L|t87 z?d|QVs;U400RR90A^8LV00000EC2ui0FeL?000I5;3tk`X`X1Ru59bRa4gSsZQpH$ z?|kpK7{zZ$EYcDOgwYfTh%y?@Q^PPsuR_ID6X=w*+kvRF;0i_7>q0z;8bsjp5~*C0 z0v^Jr;qfp&1p*%$9$P{g9tBYX9sneWicw+<9s(MC1$u;6l>`8N9wLMu8Fn9ZrXz?Q z1ce@~9!`WNh>jl}q>qgx1BrSc2D!6njh}>$uBCRUsUN)=xSs}}rJGk`hzl7Rfq$xr zZXc^7ty0#64W6W=)Va$^%_5eFfEtKm=Nj0cefqkQZ)%Y!G^h}x0D7neuqS|;DQ3;^ zXea>8pr}wK1UieQ%hni(BTJr4xw7TUm=`

    C>oFt6t5zwQJE90)zknJMka$ga7~l literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_OFF.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..64316ced737605d7f1754494f4d37c999f6a11ef GIT binary patch literal 615 zcmV-t0+{_rNk%w1VUYk30K@hg4aqR5uR#sL^OG}}lp{1pz4-XHtw6xOF z(&FOcEiEl+X=&%@=ZA-fe0+S@*VnJFuUlJN#KgoN9v*mjcsx8j(b3UTQc~~l@8jd+ z>FMc~mX-hj0O8@`A^8LV00000EC2ui0FeL?000I5peBxFX`X1Ru59bR@X0O1z}AfY z3b-EN9(}iHyTKnF*TTSN3B0Wz4ejTcz|yzD;@I78rMUfL6VC!WX$_=db7n}=t_c<_ z(2`YVn5Pfl%7hEV@K%Lr*RCmSH;_%hQzhHvB-=IX!Y)Z2FF2eAOQt(wpVFDZWeeA@ z0<9DlaEU-+$~7lZ9Zj?90t0$Jt5G|n^FzEo72lO%hZUoTPv;acc&Bg|Bcn^vBu$%U z*VjbI0`-g-QI`jZ7LHADr>@Lcm&Xvux<>&40+1Hsi6qIE&Nh^d;lXl50hT{&(*n7j z29)m^1r}Z*C_wR^*8)a=B|sbb!`jxcV@EF4Bm#!pxO3~?&AYen-@t^x%21Hqf4Joy}I@5*t2Wj{yeV%0R%FLA5Xr#`Sa-0t6$H)z5Dm@$@2*T06V9> BAbJ1* literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_OFF_de.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_OFF_de.gif new file mode 100644 index 0000000000000000000000000000000000000000..b667ef77fa32c5ebdacd514feecf439e3cd12095 GIT binary patch literal 1426 zcmX|AYfw{16h1d3A;e(tN)!o%I8~wq@C7KNLqi>?mVwd`QVLiiJ|J4pg=(^r4|S&0V2s*ZM6fYn*=>ScEA1hoNv#bv-|Pp z*maRxE5QrO0Q7pj$z;mQ%d=Q4QmHg9E>5G-)YjIr*=(Io*VEH8GBOep5+aw&$HvCW z%E}503;X-~wOVajT3TysE04!3C@9#lVMBL!w^%H;TCGN-aeRDSrBVUF@bEC#tiT1q zgts@rQ4#b>MB+h-c+fJy5OkTFW5OWWuMVhYyWK@%;*a{?EnTiY&Mky}Agrk!>3ool z!tkX{l~X=wX}8;vesjx1gx{GPzGNC30-!9q z^0K)#6o8e?3-Enl=1$b35f5u4(@)&t=ekI7&ntkrJgo=?a@@K&SOIsUfom=Y@YvOv zf|$gKtblkk;Soc4B;d<0Q(y@$IEloGXyuF=D!piUpd%I+csY{s$UQkq5>YusR3=au zvo(PM$?14cWf;JG&*QIg!5MTSz#b$r2m>>Yt2oRB7%%`3<0KG3=7ujTLX)%L=bVgV zn3*1Mr34pI0)?pZ`0}4o0_a2l2EM$55QTEhN?dSmHYJgj5Z!VH0w_?mDFAuz)tJB_ zqRN5d`<`(ER{{>`$`h%fKvbMclc|`s67>-m4B-MZIuYFnU$M@=6IF(Z3#L)C2=~<} z`F3|l6KBoYaOCEC67N~plW;CE@x}z?;KGgj=m^isI%1jg9(VaRYPM#ZH;Fi9OrMW@Y{@^EurCl^@HTq+V<*|+irLdX?DhA0r^ofg~Cu$6OjGH z^4sFN#5s|ILDmE&NU8}tMF~&+ThOOrRTL>7_L&ZAWi1snn`}q_wbd6Q)TA^zVGfU< zm_1|&>b&k9bXiUIwv^VeRI#

    *Er2@eJj5yL3f{F8$sobZ#_-dQG_|hhLatVA4hN z_~o`R`Ihr%K3rx~khY;7ZJpSb7_I%iC*Z`}Ue>-BqrX)9+a7fsxQMZ-iZ5+^Y%Ru) zk%zkHlG@!Z4UM0cc1bQg>3@85uKnMMwBXzhrl z+R53Qeg#O`mJvF6T$r8%aAd7%9Y0f^Sseri@3dvrlXRh_;8bYtGdfeIwp{Iqn6zB$ ziWNTB^-6a?zy35dt{7YJ75XmzM}$*NqpICgH_hiSP3bK+CZ}#0Q&$#a6fdRW_Upec ZS?^5$GihxG_h1`IU09QY(Wq2d|3B>N4paaD literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..75a5619688a3e2a42a61dbbe8fa79b3db34ebd4d GIT binary patch literal 661 zcmV;G0&4w7Nk%w1VUYk30K@{eD*OG`_kp`mGMX%7z%EiEmyw6q=` z9^&HS($doB=jVrqhu7EFudlD=<>h>Qe8a=T@bK`ZrKNaycsx8j(b3UTQc~~l@8jd+ z>FMc~mX-hj0O8@`A^8LV00000EC2ui0FeL?000I5AVq0pX`X1Ru59bRa4etPA_!cr z?|kq7z@TtQEE?< zAQEzY?YQ{;343uD25<=%4sQemW)^;p7ZYlSiGpl*c@brnXBHj^e}SBB9v5&E78Qyf z3?B*}9+C(LYZV?AqiUFXxt^+M9S9x@xF3WU2Zsh19tI8v2Z?=w(;uZD49v}D$H|Bv z2?QPo2CbbQ9So)D>Wm4(3W>G^uK?zwyPCNlo}h$b<17g4V9f)8RO1Z1A~uen2UWhT znF7#Em?~HYZQ*)lKwP0S32t?G*i56V0|Gt&B(Oz}SuuQgc#Z1kr;sOt>P!tYW6LHw zV;&qrd?=A;1!fl&@VwR2jIcBZE_nI?%G1hW7la`!lyhIcO*4s}!+Gu62a^$*3H@Mz z=rsce2p}zbmgzRCLD7iI%C;1(c@+XrXxcT`*L@MsOb9rTE?S~$`@waq6XmOmrs{5N z<}r<@Z4Sm|hSu>wU|7p;d5x*Bm)JAGh7~jWSe4prpTuEyh*C9e)!`D}GZXUXV%6Y; zp{z^qu3^?-_eq~ly}GWL8y;ZT&b_<$@8H9WA5Xr#`Sa-0bDvNESAqf^;>({;zrOwZ v`19-E&%eL_|MOV@Kmh>^kimfnCaB;Nf($n3;DZoGDB*+@R+!)-Apih73uZNM literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_OFF_pl.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_OFF_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..cfbd2d921a91f49f7eed5edfd8e7efdcba91b828 GIT binary patch literal 788 zcmZ?wbhEHboX8-+aFu~!<;s;kJw1GUd`FKSt*fik($czo`SR1JPoF=3{^-%8>({TZ zU%!6)_U$z_HKC!QGBPsB$;s~S?z3jiTDWlGn>TMNDk{9ay?5=})!yEIqS->RuzGki$`wne$}#V2Yd7D*L!bFRAFUf=4YCD^R|!*OUzB}utf)UXqOr+YtMSJ}oPz+yUSp+N(er-cN=g%qa=e+4)TJ~X(j%2@nG zwrjzq$H)Fh%hsMNQtN%PB7=Kkp~bY!c}5d;1Sf6SW+1z;UPxhqisU*q+jW0h&OQ3! z_a-2BcF(NO)80C^&k|bE)$*cfl~Y!jx5bWa<xx-2#m%lAMJa;g6~gygVkG@%*0c%;pof z8rk=s^Ji*LU~HOhFhNI{{eD*OG`_kp`mGMX%7z%EiEmyw6q=` z9^&HS($doB=jVrqhu7EFudlD=<>h>Qe8a=T@bK`ZrKNaycsx8j(b3UTQc~~l@8jd+ z>FMc~mX-hj0O8@`A^8LV00000EC2ui0FeL?000I5AVq0pX`X1Ru59bRa4etPA_!cr z?|kq7z@TtQEE?< zAQEzY?YQ{;343uD25<=%4sQemW)^;p7ZYlSiGpl*c@brnXBHj^e}SBB9v5&E78Qyf z3?B*}9+C(LYZV?AqiUFXxt^+M9S9x@xF3WU2Zsh19tI8v2Z?=w(;uZD49v}D$H|Bv z2?QPo2CbbQ9So)D>Wm4(3W>G^uK?zwyPCNlo}h$b<17g4V9f)8RO1Z1A~uen2UWhT znF7#Em?~HYZQ*)lKwP0S32t?G*i56V0|Gt&B(Oz}SuuQgc#Z1kr;sOt>P!tYW6LHw zV;&qrd?=A;1!fl&@VwR2jIcBZE_nI?%G1hW7la`!lyhIcO*4s}!+Gu62a^$*3H@Mz z=rsce2p}zbmgzRCLD7iI%C;1(c@+XrXxcT`*L@MsOb9rTE?S~$`@waq6XmOmrs{5N z<}r<@Z4Sm|hSu>wU|7p;d5x*Bm)JAGh7~jWSe4prpTuEyh*C9e)!`D}GZXUXV%6Y; zp{z^qu3^?-_eq~ly}GWL8y;ZT&b_<$@8H9WA5Xr#`Sa-0bDvNESAqf^;>({;zrOwZ v`19-E&%eL_|MOV@Kmh>^kimfnCaB;Nf($n3;DZoGDB*+@R+!)-Apih73uZNM literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_de.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_de.gif new file mode 100644 index 0000000000000000000000000000000000000000..24876966bfcf92bbc1b5b58f0288afc73e0de785 GIT binary patch literal 1245 zcmX|AdrVVT82|b%tkiNXT?1`lh?FwGPRNGfuyw$A1jiy(w$NDEps;9Y9Fvg%X>}mc zp>hL^qB9ppm=G3WC@ID99IRMmq|BwsfU)p&1|%6Q!$7)ody(&tbAR9Oe2?Eb-?{H6 zCq^I3t^omD1?cPR(`Yo_-rf@v6YJ~ik&%(b#l>S|W7XBwo12?vvstg#&&|yR1_rjY zv{Y7Bc6WDMES8*{oZjBvt*tGa&6bgoVKf@2r>Co`s^a70wOZ}k+FE;iI{>&`E}V5i zR+1^3RpLJNIQuywvCwoZGz4e}QpO-ZG)R|x4-B!(MUk|$lTTl{R4BEDuo$8&c2wt3 zK1#z5TWZ$D$R&HRpAU?TBmBx3SkMl_*x?NngR=~jo`K;xDrR7K0ciuE`|Ug!_&EZA zmoD@7Ge=7UrqGH-*#@&}`vVLVndaC6;LEqE3!0ESRL2mAoOdomx0FykX zM*{9~3R85@AqbNXz_B}nvPq)=7aRZyZUO;h3@qdl`bcH>FnNocA(!152PFv_ z>#*Qbbn}?v5fXqp0&p?K1g?sZ%22PCJxQt;xT?>c2w+6FO$WHJU(FM^cw80GefJqR zpahVR(&-jJm&!V8mX=IBC7L59pU32@s3STNb|hLl?ga3}d#6wUg*!fHBfM9Z%=PsCb;`G^DO(SdLm6lO#!*k+rmk*k73DR+{(nn$mDy{VhA zb$$0srC3-hN&Yctl*th^#8)-vrkeP^tD&GKQr}@IOAX`m4EQGYL#ObiL&p$WLwE_M z(<_g!glOWzow(`g0cm>DAVFgp37&+Q5(q17uc@y0hox-j?Txxo{M(O}q1wymPY5?& z(uSRcKSl@y4@?yYd~aYrp3(PJ9-lnqdmaBTLfuzy?-v>`k8t>P=dQgwbJ1jET6rD0 zkE{VKnwOHuSC$mznHs{+{`7b2KOA?Cn}a|GtLw&)n(?jE!AgT rdX`(u|Fl!Zd_Adi$eiEWw%mBW=h^aY!>i%) literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..d7590d66ce46679810c1cf0441b664cde042b36c GIT binary patch literal 583 zcmV-N0=WH0Nk%w1VUYk30K@E0aXAR9smac0YXern;&i;29%W|kC9d%1a$!b zcOz&W25ug(9$Ey71ww!Wc?_*KglB0@Qwtse8HydAwQ|P*d5p&&hSVN&pA40X*v)`~ zc>r}&BLsmR*OlLR$chAjtCWqvNrl5w*2}SPiz0wiuN-->HmBOB4;U~|!dAdvpnoD1 zl?b2#%?CAT-YwFg$k~*AID+k{=4uwGPY2h;Rii}k1AuFu-T(+NU|~#$9wQDUQHP^T zH-2^{#IOJ&$QvSYkQ8C8oynAeTCzkVU?xnI$ns!&gD`5iaV5}X{T3 zX+2?wMkHF)2&$l!14E^$v(*~1sCH4QVpYPNNn>qq9TT)G+>WG1B1@he>;Z?%m@{kM z%(=7Y&!9t#9!hg{Y3Yph@jZS0tJY+xu(C1pFcqy`&#%JLesrcP>-P04FRoeV#>aGY zvq}vslPlZy3(5Nr9&%y1T>1X?wDUJrxS7v?x-s$AUS}q5i3tKBUH+St_};JvZ}*#` zSyAJa`S?rXWSP2ocOLF`Ym(ipbWYA>0sH!C2NG4MFU{VfcZ=Ohp!8(cQHGWS?1%2u zUcPQ9t#zkfRcwvWuT@u=7P2bj3VrEFG^lgoJF}xyUZ^Z@e05w~dHbES zyHyYKDK&A+`|a8B@$ret+VSW1?EL)vkh#x>0H&rEfg78%@1NVd`}_L`hr8wd_wD)l nMn)^(0E5!uj_)5HpPui(f8XEVKR&;{e|~@cA8t7oMh0sD7i}lj literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_LB_webform_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..d7590d66ce46679810c1cf0441b664cde042b36c GIT binary patch literal 583 zcmV-N0=WH0Nk%w1VUYk30K@E0aXAR9smac0YXern;&i;29%W|kC9d%1a$!b zcOz&W25ug(9$Ey71ww!Wc?_*KglB0@Qwtse8HydAwQ|P*d5p&&hSVN&pA40X*v)`~ zc>r}&BLsmR*OlLR$chAjtCWqvNrl5w*2}SPiz0wiuN-->HmBOB4;U~|!dAdvpnoD1 zl?b2#%?CAT-YwFg$k~*AID+k{=4uwGPY2h;Rii}k1AuFu-T(+NU|~#$9wQDUQHP^T zH-2^{#IOJ&$QvSYkQ8C8oynAeTCzkVU?xnI$ns!&gD`5iaV5}X{T3 zX+2?wMkHF)2&$l!14E^$v(*~1sCH4QVpYPNNn>qq9TT)G+>WG1B1@he>;Z?%m@{kM z%(=7Y&!9t#9!%-i^U<0Yt_C0RzD+x(KRp!W}C(G2Ae5N+^6UdOwJZ4Oo quxlvrAp`*)0%+XGvExPxAVZ1-sjEa*$p9i`z{62!H!8#Drd?ok z2@{2e$3Ywv3K0MlfB*(`4j3Oj9|UwB8cGBjfdG^fe`yMY01R{jKp0YO7m@%RU=ezM z2pks*2nqlLFGfs4w2?X=5FG#(8~}f+2OX+CL$n4J%*#3iA9ny53IQDu!V0Vu$7&7| z4Gj`>;8LK{ud!x-2OJy_-D_1?Q%N9kSU6u_naB*T#btI{5%dJEH*1KUDz+ xBAnPp-;yRx|_vNxXQrb?p`h;qQu1|7!xzIs_Klqyz%no|2J;@UsrdjzyDoY+N##p zyT-<$wzg^W=l_q4oU(WC|3ioVo0>)%83iv`@c-)7|LN(gTUzey-~T@)W%-pW{|gFs z2L*L#YPy^|_dhpx>*me>)zuvt7#L>G{0}6l4itZ~fX&naksv=Yu>C*Kb<9~us{h22 zqLVpR^Dn$GessXW;l`S>({HQxKiE*=qt`DxvpMld-tPM!cGUQ-zy1ElA6dqL*Z&(D zo0?l{>gr`XI~h2YS!9{>Wf_#2Wo2@vu_!ZiP0#P2H(_Ddj9eL6-n_ZeIdgNk=T7fc zUNmLeyzTRNxJuiy>y?-~S(Rj!rInWD9#fW4Qks2!t?V&b#>H_+niBwZKG$J zmg6?YQ!Xp4*n2PSN|Bb&6FQN0OM0@hh{T`k>@(y987&GJ6qN!KVLa zw)wP?A(GZgOhM$|{BI8+xBx+9Wk2UnK9onV5WIs^f#R znc;TlJvw{6`l~n{W=HTWTX}`E_1fIJmksVG8adQfJdo?vees}KfawrBt9VVq!&Zs3 y6%X5F%3dfxY*%R0c+{b2r_jhM+_K|_vNxXQo~A0IC*EzQfzTUAxHc=2LQP0bZ6R$RV(`NoYK`}XbY=;+wE zaifciOJHE&`Sa&nTU$45*x>H&{_54MmoH!5yLYdwtn9&q2lwyacXD#-?ChL6b!u*I zu9=zH#EBDc-n{wj*)tOp69xu`GiS~KNm>BKpDbWwbwDJ@PYi7T9Zo)R){*Kzv83o^ zj@A4NFD^gY5nyv;P1)(URr?=osPNJ2m*qd=cqDK4{SP~8{MO%o|KrbHhJe@q8ycIM zTWad+WjZ?Al$d3tbEdH3ma}bx8)w%#mTjK zMnjyEn8alV;~?Foxzd{yH!N&yVBmIfd1_E9zodqB1LL==Mh^_ll&+pSy)s1AWQ*!a zw=1tV2bs-^-Mp6h?uIpYXRCjg)(HzfLGMow<(rNMd%E z+A;=46ODR_idd!`UhxUc8yIK5JHFiH)RdJ~3fVXGKDV?}40l7xq?5@{zP`SwsHoG^ z)7aS9qobqG&(G@W>fYYou&}U4M@P`m(20qO;o;%m-`@@n4wjadHa0eGZEcZ}k=fbV z=jZ1%G&BGJ0L;wHA^8LV00000EC2ui0Eqw)000I5pyP04X`X1Ru59bRaQsqD^=x>q z?|kq7z@TtQEDjrmh2q0(I-k&}bV{vSuh{H0Ay8_+;IMd1=6XLF4~FUST$lk%Gu^fr zn1zAoz-Y$jZ60<`7=Z(Q7#W0$9so>+0|lJ}85suy9|UR{1HiYryS=}Ji5V6FACOIuZJ*Qt8HI11Y1jnB z%Ekz|x@e7{q5!4<9(|3yckjJuyuQG%ofsAb1_8DP2Lw1mv*tqqQ34JyArRmbK!N%2 zh?;gvz#3_f7+G*cZ5xJxl(uD)$mHQbXC4Uug!&Lb022W5wy}{(kR(2W0SsWX6(GX} zPR=msyLie;&!3$v2vtgGfKU&*Fh*nKsbfSZwqh+Ucoe8m04skE08p;dn>|8Z1|9n0 zX0{9oLtPl>6RK7Z0T4`WqL*$cT|x2co#s@ZOQ{`&TCIsyq*B4R>H@|PD$PQjgXDce zi$U$BcnkRmdJv_>KCpv#sFeiWguXc9V2Y)Xr8`Go~3nX zHHD?KAV9#z`IKPO%Qpqp7u{Y^F=s(@0oloAkRBK?Fpf+MHppBdZ4B@RhL%_*3?p@D z(%4mhDac?!?2O_MWXz!w$R!2IbrTsh)@b96Rm_Ovjy(3L1s4)Ppuvzt7HQ;>NG7S| ol1w(~|_vNxXQpFEiD}%A0HGHR8>{AZ{I!_7nhEXjuk6bT)uqy#*G^rH*VC_ z)LguH@%i)TU%h&@VZ#O|C#SNqvU~ULUAS=J;lqb*ZEg4O-|y_~ba!{>x zS#ECb#EBDc-n{wz`EwH!69xu`GiS~KNm>BKpDbWwbwDJ@PYi7T9oio|>qzyVSW77k}^tCU5YXbx@Puv_A4##UclTTrNq#v zt7HLVClkx6g;Gm$dgtZLR-C*3@Vtdb+p?$2C^E@#NlVMfNHXQHF(~fazix&S(_ALS zgNtsyx+$~n`pw&`ZrtQrFiq*D5(C2w#qUlM+>8erW-}@>v3Q7`ms`Oz!AK=JxsTZ@ z;&+JQ;xL8<9qIW-Ny)+r!8;kaV^*F@=)BX$Ai{nl%Xo6o#z|6lZAzw|b7=ctz(MI^0ym&SDTV31Xj6>FD1auU_o#1#6A=sZDoSzF*Ds3Y=g#F!KQCxD9cTO)Qm18j_0HQgm2atyt{JaAZ*B8wGMZDL8-aF}iHN z;mhPjA#9AiY7Pds6ij{Nr5ng9R* literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_blindtransfer_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_blindtransfer_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..fdad633a72c62d52421726d166b2b1c4c1fc6604 GIT binary patch literal 758 zcmV+0|lJ}85sxz9|UR{1HiYryS=}Ji5V6FACOIuZJ*Qt8HI11Y1jnB z%Ekw{x@e7{q5!4<9(|3yckjJuyuQG%ofsAb1_8DP2n0Anv*tqqQ34P!ArRmbK!N%2 zh?;gvz#3_f7+G*cZ5xJxl(uD)$mHQbXC4Uug!&Lb022W5wy}{(kR(2W0SsWX6(GX} zPR=msyLie;&!3$v2vtgGfKU&*Fh*nKsbfSZwqh+Ucoe8m04skE08p;dn>|8Z1|9n0 zX0{9oLtPl>6RK7Z0S-)UqL*$cT|x2co#s@ZOQ{`&TCIsyq*B4R>H@|PD$PQjgXDce zi$U$BcnkRmdJv_>KCpv#sFeiWguXc9V2Y)Xr8`Go~3nX zHHD?KAV9#z`IKPO%Qpqp7u{Y^F=s(@0oloAkRBK?Fpf+MHppBdZ4B@RhL%_*3?p@D z(%4mhDac?!?2O_MWXz!w$R!2IbrTsh)@b96Rm_Ovjy(3L1s4rWu)&Z-7HQ;>NG7S| ol1w(~|_vNxXQpFBBJE(UT$lf785hGzyF=FacElFs=B&M%a{M(xbc5$>s@(y z*me>)zuvt7#L>G{0}6l4itZ~fX&naksv=Yu>E)NJnF0?)qi41 z(a9XE`4?UoUn)p&xUr_}^xLZa4>nZz==Dp_WJx-bxBLEw9W{RIZ@>TX=dVD(>;Dan zP0cMebva6%ozgO03_Q6~thq7_IkGa!EWJ{)%F zvQct_0>gGQS+STV%Sp>Rn3zQ}GFEY=SFU8Ct0F7bJ`Dq{aA_t6717l$;p>hvvaZ;~`XFp(SXQq{ z%^T*mXRotz?*7ZVJW%?aAQxN6li9v{vAY+nHQJ{(-C_BDHPe$5S zW%CVRCNG-8#>lJYU~o&p)Hi;b$&!T*y-$v~wQv_6K4|&h^1EB3*{&76j7>+G{DKoQ zFI@~~36S9GKAKV7qqLZ#O+aUpz!xzK$=(GA^Obc}4lzwwb7{7No~HYO39LVama>I~ zTFR!kY&@hWvVOG_!Jyuule@!`TPbptrrVg#Ijy2>`<%HU=_1raO9Za aruA~kl(4LqOJ}65dbw;)*{w_g25SJL^|W)2P!L_}4iqs(7lcN-fbv9aALDKm(O zs+N|!Ha0|UZHNE>0L;w)A^8LV00000EC2ui07L)|000E%@X1N5y*TU5yZ>Od2n?Y} zg+T$pgb=Gh8O38X6eBTwzk`AVU;#L^7P?6TClL@@l7@r%U@WSRtHiNgc)iu#v#fZA z!e)u)K#8XU2j&F}Og_SWAVYzR?|@@~14~0QE7QkIj64=`ZU$>?<}n=fb5&qrX<*e3 zl!y@Kd@EM#DRJa+ql<%lfpngAkyM~47mJy95(8sZA`=TYR}FV#vos@5AtzUI#+=G( qCT9EahOp_9EUp~9JPvm5?5sU~HD1AUO{}-C+_(S0!9((b4AuZE&rgg1 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_channel_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_channel_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..a4fbf1f57848740d610db3eab175d98fc1bb2548 GIT binary patch literal 242 zcmZ?wbhEHbbYb9Q*v!Ci=FERHGnd@lj%m|&@7woIT3V^9YG!u#v#fZA z!e)u)K#8XU2j&F}Og_SWAVYzR?|@@~14~0QE7QkIj64=`ZU$>?<}n=fb5&qrX<*e3 zl!y@Kd@EM#DRJa+ql<%lfpngAkyM~47mJy95(8sZA`=TYR}FV#vos@5AtzUI#+=G( qCT9EahOp_9EUp~9JPvm5?5sU~HD1AUO{}-C+_(S0!9((b4AuZE&rgg1 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_code.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_code.gif new file mode 100644 index 0000000000000000000000000000000000000000..8fb2b8c52d136fe0dde19cb30b348c465b4ea4f1 GIT binary patch literal 247 zcmV|W<*3)8yg~)mb+hHccY`sh={7OvE3;t zGkSWNZEc7)Hbejb0L;w)A^8LV00000EC2ui04o3x000D}@X1N5y*TU5yZ>M)T7}RI z3&jkLP)tT6H_SB8M`k!c12}?5K;a*rKNfoTTK84YzYEC1hRb&x&wS=y1$Mi!o$SH#>c}E06Sd+Tg?Cf literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_dialwithcustomer.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_dialwithcustomer.gif new file mode 100644 index 0000000000000000000000000000000000000000..68697edca82b97cd549e24bb7f031ba0b74c8fba GIT binary patch literal 881 zcmZ?wbhEHboWLN!aFv09i%Zbmy}YXGOiav7d3odh{&ylGN@;1U>gp~T8;34m{(s}f z|E;ZeZEe%$&;P$*!T&2){_oxUKQeMkdirWp)5t@I{$IWN-^eI<|Nj3iEq78c3-v|vry>9ZSD1q%CbGOoa}kbvP^lbJ<|D1vdqOYvOLP{JyRC3Phy(Y+rzwk;^ZP`PFda= z%4@f+=V9!TVO3taY7WzG*}dy#=N(zGsweLZ1`%>8|w3o2x(MeJx;7Vv~I}=lciNXHS(saL?`tWxi5+g1sSVdvo5EO6BeA z1CL~LD|!Vl+1S9yaA(g>!vqD{6@pK;ofK41I>5p7Cq{^&GJj%+`G1#3I_6D|JN{3& zuhy0EK&^4N`Ja0X884nSa1`F1H0kkn#icU6`uTZF+C<~_P6-SAG^KcL!?xC|3tny6 zDV)a6oSo~|JXu(He-it%O`@+q`R08r+s+H~>TKm*z_3X)|clTsF{Cslnbk0M@4^tTAj=Ht2Um3h}N7Um>tPEaL zIylYlHY;&iJbhm9HhsYY&;AVdOqT=4?yf4fV`!Khac}-vsg7fl6l@}I<@DDw2ObF8 zt1MJ#df?#YfCZeEA*Eg=S+#ukRxaan_u9$Grse(4K1`iH&C?etN_co!kx7u+^K&xk5p9{#&5#9KMDWkK@AqX!wX ze|<1xh*=oe6lCXk=;It+k1~M}n`;cNj|*lbq>AK!^esLyEvD?{Q#tKA&1W-G#6BHo zmaJLuY*x;;m(OMw9MgP0r{r4Z^SKq9G#OciV+0P(Z(!4Uv7kjP>&3zjwN)<`^_W>@ I2ryU!0KPqJ;s5{u literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_dialwithcustomer_OFF.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_dialwithcustomer_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..8bf2e44b703b46e4cbd6fccaf960afea356b8fda GIT binary patch literal 881 zcmZ?wbhEHboWLN!aFv09mzOs_K7R4y#Z^^R($dnJnwtCe?d$01aB*?DeEIT<6)SGs zxUq5L#=yY9^XJdszkh$jh7C?mPWSHJd-dwo%a<=7Jb2*l?p{__*4f$F+S)pG>eSra zTr)GXi4!N@ym|B4vu7qICJYP=XU?1flC%JdKUu)W>VQa)pBUKwAK-lItRvNbVoA}- z9IN>kR$PfFv{9M2rtI|Fs{Ic(RQTx4J|FF#Hc?>b{SP~8{MO%o|6@@qO_8<;?}zi9QjhW<|lu?xabNmn$xn>DABAThb;Pw|7cd;HN3YXB)P)US05N%T8f6 zcBbrHx8}*h!uylhpKTI-{mFOVgt)DoYfmg(Z|e5*NN(?m#N};OFWE8}91i$KSh}6e z%t+sw7F4Zx=g``xKC5R>F1@=a+u`Svd#7_AGJa@bkUQ$uwti*s&K*&YFR?LrP3hn? zyW6bDWAXHP!Q1o&3p~3s*gahi9J{-!*p8uLa>Tv)XN5YBO;WIlyp_{m%N%$hXs?n` zq3VW%mjf1XnunBnm1O&1c=v8)#hJJeRaSkz-?l_9`j F4FH_pY;XVo literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_dialwithcustomer_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_dialwithcustomer_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..7ef98a94dd44bdb7586a2095872a72cada57f81f GIT binary patch literal 776 zcmV+j1NZz#Nk%w1VUPe20K@000I5;PY@~X`X1Ru59bRa4egWBS~AX z?|kq7z@TtQEEbsrv%mWFbdRFH=YA8Uzr7$0|drFR9P z9v76FuXs*rO=|)Oj{=+rhX8f~85xYL00ILDe@?sszJ(aU0s&A3(HVDc3myO&$O9jg z0fC%P9?!vv<5Ahqkp-eq7^%R)Zg&Q(7p}+%8LpSXduXvT;A;RKIRx5xSY@izhin(J zf%@j{kwS*!26%v?G0+DCZU9Jgg6zPnO_fMdLZ8sHHuJ;w2*`C7mcrNa3Um5D!Cxr&CnoqiHH>yn4j|?A(bp zUd5lS1SD*5i5G$kE}bA{1RxNlCk*Z4ZFVRUF0xKAI=Z^h!$Bxf<9!vo67X26NW0d< zkdThfnLN9`1yie4Q2|dA8d?>PCn$+}rK!fVic?mO9s(V>^+Dv5l7CM^W=Xksvo!>E z>a7{2^{LOJ{`w@1kJ7zM1oHuH=p?|%Vg`w-m5K7r)Wp>oCCUcuj<>(NRh9$jX8yS+ z>oN!sa9|C;U27mDddn^{7B@HNG3_f z7Z6aO!IMx%Ddm(@R%zvxSZ1l^mRxojWds#WU_l3DmTBghXr`&=nryb|=9_TFDJPmC G002A1=T#*D literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_dialwithcustomer_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_dialwithcustomer_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..1ac7dbbb6fc70ce069c6ec44b09a8fdbad971fd7 GIT binary patch literal 873 zcmZ?wbhEHboWLN!aFu~!+O%o$@$r0oeA3d=K|w)_7cbtpabs0gm8PcVzJ2>TIyzij zTyEUBaryG)6)RS}diCo3`SbVg-770AYinzBcXz*V;ewNs)5C`kJ3Bi!Y}j!B{(Unu zv)tU=i4!N@ym|Ba^XDceCJYP=XU?1flC%JdKUu)W>VQa)pBUKwA2|NlSx2h>#FCl+Ig6nmK%^JEm2SUD7#Wb)aW6`8s6S?A_Y>Q!VZnmu>E5+`@BG^ z@67zQ>o*oMGAV9QnpCJbbLkGHMTaL#pHSSqbZ1d#Zuc^obu*7J&p5}R#C1?+4qG1M zoYj+LZf+@fB>hD38AtyUCbk}?T8pX9uqh3&omv^LTVlSST0Qj?m8|vKJ^k_4o+F#els2r=)X0!wapBt57_4s|x3ufVhQ^6Y zSU9fr&ic~!c6MLkqD8i54Qn?f+<4*j_R04gnbqYBdwU}n+})VT!pk(_i{~XaMkXVx z)-}^|-5J@PT4pV~zD|128le?)SFO>%9dV4KrNH$1%Irib#z^lug^o_1tZYxVbTcf` zDWBstSLqmskniIjK8~xB3m!L}UUS!H|I?Ud#h#w5@6YbL$zX6W@ba^;DKi+@Z{Aib z%E{Df6|QCyXt=O$8Dz4UQUX51&gu6%%sW zXUUbewrOplFOLOk_UnXsDzmImbJF5Ck~E>KM`J+<6Vn0~_U^qZ3eg4|OH87gtv)Fo z*WbL-%}aBQZS$nSITb5-jLd?RA1Q`}Wj>u+rO@_tT1=Vc33<_!3kPSUOv`*WGh^Ax wXR~s)y?i#i;8^4`7LkMmMvjVSE1%D+`S$Yp{026y7Yka%vNYy9GB8*J09;pJhyVZp literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_dialwithcustomer_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_dialwithcustomer_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..d71bca154129935a3575853146678737e8ead24e GIT binary patch literal 776 zcmV+j1NZz#Nk%w1VUPe20K@000I5;3R2eX`X1Ru59bRa4egZQ(0WD z?|kq7z@TtQEEbsrv%mWFbdRFH=XA8Uzr7$0|drFR9P z9v76FuXs*rO=|)Oj{=+qhX8f~85xYL00ILDe@?sszJ(aU0s&A3(HVDc3LXF%$O9jg z0fC%P9?!vv<5Ahqkp-eq7^%R)Zg&T)7p}+%8LpSXduXvb;A;RKIRx5xSY@izhin(J zf%@j{kwS*!26%v?G0=wtZU9Jgg3Q3HO_fMdLZ8sHHuJ;w2*`C7mcrNa3Um5D!Cxr&CnoqiHH>yn4j|?A(bp zUd5lS1SD*5i5G$kE}bA{1RxNlCk*Z4ZFVRUF0xKAI=Z^h!$Bxf<9!vo67X26NW0d< zkdThfnLN9`1yie4Q2|dA8d?>PCn$+}rK!fVic?mO9s(J-^+Dv5l7CM^W=Xksvo!>E z>a7{2^{LOJ{`w@1kJ7zM1oHuH=p?|%Vg`w-m5K7r)Wp>oCCUcuj<>(NRh9$jX8yS+ z>oN!sU|27mDddn^{7B@HNG3_f z7Y;zM!IMx%Ddm(@R%zvxSZ1l^mRxojWdsi>KtTs&mTBghXr`&=nryb|=9_TFDJPmC G0027-y;48` literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_dialwithcustomer_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_dialwithcustomer_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..90ec03f81c903c0b7800dacaff8a7b71609565f7 GIT binary patch literal 873 zcmZ?wbhEHboWLN!aFv0fpkTMVdpQ@EpooZ)t!-LW)tT1TyD>2{`}^O?%NwVqtui(a zUB3K(UEQUP8~@Lr|35NvN=wU~t5^T;-~ZppDA?3A^2(L}hYtNuPhY)v@Bal0{->lY z*VJ?g3hFp_?tgCX*3Fy$tE)RQFfh!V`5#D99Vq@}0h_4w+v|vry>9eRZ?cniKS@v-1*8J+`Tfa$~{W# z%51$e^VhE5Sjfnvv_W}Nq0-EyJCqk4o-A`hY4g&ZMV-0b%VgKhJi(K%tE;LsGz6)D+VZ1mKtaBEIy$`*zchX1+w z1$iLQzb*wR1-#l(<--82< z6IEC^ul3IQ()M@F>{mR(;by=RTUin*)S=--Yw#?et=dVOVfq7-AK_nbmUCr?(kCtGGS zEYT^S<26_57>AJW;~qYatC9;IH=SN{*JuCJm}SMDo~-ZB?z_oga4_)lv#=>M9N2H( zRx9OJ_${($1Cu}x8$&}w#L`WIOYU0CSee#YJ>x0!wVWr6Ext_!5-tsn8fy=qOFk77 za@uFfmA1BNZJ{rZ1#0%|gn25ntT1!Z;yjWxp{qw@fd~`R0v7h}y$TA^1{+IEqMEHf zDIM3}ywc4}bB%5Dq`)~9D|n2|f|MUAhJP_H|qdKxXQp#=I$=Y#ib-7Vk9T`y07n4Rn>~r)DUCi>Cw@DmM#0capQ&B z+EiQHTP-br=FR(e<;ueDr3^3c5NS$=iMZ!;Tui^|#;u*i*+C@cMs4V^ecW zZcSaDJVS0*u9UnyOD>1Jbj}pk9A1VA47@q4@*E2mDb1NMHGj$qcD7vB<r6#H4w1%l^L0xY@3cmwtmxlt z#>nWFEzs1+!1!?+ufRj!7KY*+o+Zxhy-(LRDRHEzNIsI@QNkE-FJuMZY`6bC%*6*) zIt*G?XX@R}kam5bV%(j7Y9ZGP-)Oa2@69Tl-2x9TPimP0C{p4;WY*te0DZc4yz4GC_$XO4CuKDcZ&Ad@M)%x72 zX_8TmOPn75n&M@?;;u`Dw&%Oq-}9xJrTNa}h?PDtnL6|Pr7I1))fyR?R4TXn1TJ0L zT;$cIF(DwWAVAUW8;h6h*SoDxbbdeilezt2H@CQv!K>1hIS$K*_87-u8z3KfR>YbEMTx#w?)d6wj!FbVSX zUCN&4SH^sT$*YV>$5>wGR!Z3c9gdXmj)^=+rv}EpN%`iHHD}|so8})nzsO6Ah$%gp z;38(}KEX|G<&#O39~2o`|qdKxXQo~7Z=CN%PTD{y=TuJ4GoP&ix#!DwK+RGFI%?k;>C-Vm6d^k zf$P_=KYRA<%aLoJfF$jJ;!hT^;W{7^4CzceQ%(0q(Va1n= zJ3_2(tSLMFwrc-_4HZ6mv!y5aF&)X zZda~^j0|%wmyBf26xJLbh6xNjIjk~V3l=HNnJ_hf$_jS2T-N21la{Smq0pPNBX>^z zp6wHNb}!s2lOw?`!@fALJv&eSXwHRPc1HPWIg;}7GjB;Kuw9d3k!PGKasAj!nF}&Z zFLQ6POt^NR>-OWPGv_>EnxJrbiEHwghrHIA@_ZaDjpyd;mN4F_jYwJ1zuAnD(JlEy zVj~0N$8CZP4|!V{igS3DIJfscUE8FWkuJNjPwo*V6q1gIkNq z=cSG_FU>5;cP2-y^nuCLncpuRY1sX&fq_Y-a;s0^(xuHsUQHSk z0@4ZsCMf}M@L88+}z*a-$Ft{&d$z+goNJS-mb2$Ha0eFY;5M{=8un$ z*VorGGcy1H0LseBA^8LV00000EC2ui0E_?-000I5pyOy{X`X1Ru59bRa4buY6>)g3 z?|kq7z@TtQEE*pb4&%dYI-k&}bV{vSuTw!_f$cgQ0Ht?KE}N+e?%4_!I{^U?Moma~ zuMl$DKh8P(c0l7~Fl7f`c9|(VcLV}T zCC*@Hkv=goY0p?1;RDM6RMzFj8eDei<(F8L2j-Y$mRSZE6kM>unryb|=9_TFDd(JY n)@kRRc;|qdKxXQqgl$0bRBg4nXw|)C|EiJ8(kdXTN`lCmWy1BWnT)DEhxA*4F zo9ouCyLRo`+qZAKy1J^Ws$5-Ny}Z1hK7D%i>eX%Awmo_B#n{*ihl4H(Q$jJkyc9-SBYvr(b0{kjK8C zC5Ks_Wg$~vE(;UuqntZ)=XWhN;CLP06T?uf@aQaefIi=53wf_bfr&gKfIPDy;oRDjBTWNz&bW{`FcZ6iCeepQPgZ={G}gvrl{N zti2m8d4w4K=ks+`J>yuep2uvGF@v*7L}lH68^fyR2lHLRRd?=FTz>7<{(>uPr#`DZ z2oC3ozqx>Q!MC%AU4%+4TTeY}V4BRRmG|Yi?*fye3VVf;?+Y9D9-3+@P;s1}xskut zQRT$+?2rDNf5l{0&046(abkji-6tL?%|%OvSkp{>Gv_AU+j}gn)+#7;RnXeNjR(bE z&SD7hx!LnCqAI+Ahgs*O>Nn5(N(pT93Dpr z%E~8`e9kqdOb&3yC~x9v)>qJ(pWs+JuBuGc(G1 zdZ=Y({jst9rl!z+eg4$c{GOiu!osCwWZ8p*QZX_7pP&7_y#2qwLn$eSQBnTR&i%5o zvutcYCno>^0Q{JkA^8LV00000EC2ui0E_?-000I5;PYr?X`X1Ru59bRa4bjAWo>w_ z?|kq7z@TtQEE*vaM&rY5I-k&}bV{vSuhT(5f$cgS0Ht?KE}N+f?%4_!I{^U?Moma~ zuMl$DKh8P(c0l7~Fl7f`c9|(VcLV}T zCC*@Hkv=goY0p?1;RA~RRMzFj8eDei<(F8L2j-Y$mRSZE6->avnryb|=9_TFDd(JY n)@kRRc;|qdKxXQp#=I*W}A|lAeb*rVtNKP)*)^>Vy^y|L95M$$0RaGleQ!muk z{@u9o&$4BI=FR(e<;vefhyL!_GbtkCW^;3dscDd*;mWkMr70`@RvAMCP?DX5J{SP)&_~^}+6?bz!lDGT*haEM3>uN5`XK&8(jhlDpwP$xqOEFBJ#VU1`nXPB){9So_FP@iPpTo7EA$R&! zrUQBG`&n|B6J+G05O3fv zwJrD6wuP~cW*iBf8V(Extm1_h?>*S2E3CrWZ>EyLs+}a=z2{%Al|q5U?EgtBzMr@m zCpY`F*Us9z(UM1q(SJT)N7XZqtNUhOZq z!glJj%7fr=-uRmfSQmUdd)P&&)Ux%|vj(Qgj9PhLj{7b!DXMT*C=p-Ou=mhZOM!~x z{>+U6wXP~Bre}Zj-~1~kvufAEbsQ%q2-tn%kf*qDP5K( zla!9fx2mjsGRfy$W6I=9`zpH7P@d--&FLYwBZ87b2;m$8UM1Tb>s dY!<@oc5~Y)1wLYXFSfP?i7y literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hangupxferline.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hangupxferline.gif new file mode 100644 index 0000000000000000000000000000000000000000..d25a105ae5164b0fcd7dd0f1940a3980842cd26f GIT binary patch literal 803 zcmZ?wbhEHb>|_vNxXQp#=I$=Y#ib-7^183@R8^IcoZO#f%T}bO{@u9oLTzoTt!;?0 z@$~5ETP-br=FR(eEHePCq+d3nLmGNO3KQ#w7+}y{5^Ci$k6a+bMwyp{IeDwNdMOqw>TYjv8lPG zrY>KBA-6MENyyRqqqC9EInn&Nk$}Hak>(h5z}=RsGxko<826y}y{z?%bSH9SQT3G}caXb~9{X zW8+@fdO$46kz>(|C7RZqA@7}Ha@pnxH+Ub^P7VW$Ketr~TD(h?w5JOY8Qw>1lIMZwb|!;cYT& zMQ7RjUm^=av}dPrna$aJ&5+M6y*v3SvUz5I zZO<#iM=l3Xt^cUEfl-|C9#h99?(F;?u?BVC8)gT}^nZq)bSyJ9TM*y(;#io8aba3- zb-TbLhllM7Z9i^TD^1II)Y>r= alL;|_vNxXQo~7Z=CN%PTD{y=Tv!MT-_`XlS&xwOzb;aoMtEfq{X}&d!yU zmFw59KYRA<%a<=(T3YVhxl>wN>gMLQZr!?j_wKc~x8J{i-_g-=%9JVD+1byYJ?ro9 zzkdC?nVFffu`vS!!>LoJfF$jJ;!hT^;W{7^4CzceQ%(0q(;l<@k z3mhzNtSLMFwrc-_4HZ6m{nGsB7?0%bzW-rIjoyuweO;jr}t=Gfd2zoxe+= ze@D-TjU{c_`SP;4$8)(D<)`LI%FEBVD51c1R+d$safZaXocmK{kIOPW=#^(xxP9$D z)AB`kHqQ8b>r~#84*8r*Tz^m868<%>LS*SB8&V z4xU>7QEvjHIO9F0j!WFx`8{F{>O42h4wUKt3_a;sW@@$|zVF4cFcag#wBG7=fkzGx z+ZEb=+^$xdmhq^w;lsrPEYe$EJnA+$rt!GPD=7hb#-;l&dx$YLf+oquCA`%-`__^N0gM5Y;0^cHa6zw=8un$ z*VorGGcy1H0LseBA^8LV00000EC2ui0Eqw)000I5pyOy{X`X1Ru59bRaQs%y^l*5t z?|kq7z@TtQEDjq5j^e{?I-k&}bV{un1ca(~%jG5j%C2}!USP=RwDcRUE;1egz`z6u zJb?l;lX)5lcLRD&0UiiU7aodu7fyUmi5H1k9~d5$i;7JL9+XW59%q&XiJ2d8i+z@< zhg57!R0skA7z7>w9{?T<7;t)zP6M47g{`0gxF3@k7_*LjO_8OImYB@UO#_8=jsmiM z%h(yT%m>yOx}Ixbuv5C+=mwpH1ETI0{{d-1zT}(V<8PojCk3;NH46Q-DP)*rb|BOiUL4NIE1B!vYU_5_N>5?xeI^p&EMNlOdU% z4-D!(u|=trqB9u;@HA(MkFbd!+es05kt7q79vz}O!-p4K$9zdk~+2;_?oCon4m^U?FNpVl6Ug#$<*ghAaj733>Y99?r8GF4HPQA2vo8U zpa$t`ln8+6@uqB~&1Bp8rN)5>CaB;$7~C!B;DZpV@kIm_Y+&Jq7-p#9h8%Y2;fElG kDB_4ALSR7w5_F*AiY&J1;)^iGDC3MY)@b96H--QJJ9*hPPXGV_ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hangupxferline_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hangupxferline_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..f6d9080b113a23fd577b028c7d083301499abe68 GIT binary patch literal 828 zcmZ?wbhEHb>|_vNxXQpFBO{ZPloS#Y!pFy_rKPoU<;vdP-un9bqeqY4ym@oox^>&P zZ+CNZyLRo`+qZA8UcLJC>C>vJDlacDS6A0<+qOM=^r)+=>&cTRg@uK)XV12 zX-A07jWuPb-&XB^u%W_7uU}fspXo^6?)x8h)cCEx{r<cnp@+IWE z7}#^V`Xv-tS>%}~Do9D?NyyqLwY|HLAA~9v2yp+WCc?{E}=5Ag;ZwiwHgZvo<#wSY^IdB4eIbsF}SQQu;BL(b3dzPP+*Gc^z^^7_2lZp&uS4!a=%k|P6|Cw~9zg0d{Te>}P zrpXO&7KesibLR$$IUIWv!p6gVL*oq?t@uPyQ7OHxr3V;d;$xLw0|Pw3C(U$0=$sYuv-|(t z;84*pUl~(W@ma{XRN@FjnD$MP1eIA~7y2eE`>yrKyK1#>j@mBG8tyG`=iO{GObOmu z^fv!~9c#APmqe4iD{Er2m*_J1g)QFxoLjy3#>%FJb(;@n`h9WusBc?n-S^vO)0Z{H z)y0~8(fgPc4n7nx={{iWV>&5dlK@kP=45`2MFJN(oOsGo9K815VVmCkvGGErSnc+J z8pS^0Q{JkA^8LV00000EC2ui0Eqw)000I5;PYr?X`X1Ru59bRaQsG2RBd>! z?|kq7z@TtQEDjw8M&iS4I-k&}bV{uj0)(n|%jGTr%C2}!R$$2JwDcRUDl(n`puhwK zJOTqVlX(^hcLRD&0v-rV7aodu7fyUmi5H1k9~d5$i;7JL9+XW69%q&YiJ2d8i+z@< zhg57!R0shA7z7>w9{?T=7;t)zP6M47g{`0hxF3@k7_*LjO_8OImYB@UO#_8=jsdcL z%h(yT%m>yOx}Ixbuv5C+=mnjG1E1zT}(V<8PojCk3;NH46Q-DP)*rb|BOiUF2NIE1Bg8~nF5_N>5?xeI^p&EMNlOdU% z4-M))u|=trqB9u+@HA(MkFbd!+es05kt7q79vz}O!--UY2Fg5W3-!dN!h%T;HszB{ zKtEjyo(K~fu2IsZn34t<Y99?r8GF3lu882vo8U zpa$t`ln8+6@uqB~&1Bp8rN)5>CaB;$7~C!B;DZpV@r45raA4tu7-p#9h8%Y2;fElG kDB_4AN?^eR6m+2CiY&J1;)^iGDC3MY)@b96H--QJJ0|QfxBvhE literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hangupxferline_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hangupxferline_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..c7d264173c8b9ef83a2031fac39fcfd36474596d GIT binary patch literal 828 zcmZ?wbhEHb>|_vNxXQqwBqCDg?w)FEE6BxVBqw*Os%m<4^y|L9Kg*V_NKO5_apQ&B z+FLCxA;!jk=FR(e<;tXph`)RG{5^E&@BaNao10grrTv*dKgiH9!qjwWN=jQ`;LiMf zXHCt2=g$4zv}torj)S^70|UdK88d(+Er8-r7O=58AQI#!2DbkPjxToBk?KFOr08Uh z)%*)Df*;LrvAMCP?DX5J{SP)&_~`Y^O0qf~$=iMZ!;Tui^|#;u_){ww@cMs4V^ecW zOXnLKGlX(e_hW<>_hT-L?8o&8MtGiT48vu4JubxL#Q zO0@0oJcVu99Y>_5%u|$+x;~F#n#|nI>*q~jl44Liqr~`R zsZ!^4Ud7(rtvTC|vEJLdJ?DkutK2!)?^-bI2-6XBWMgA)neg?P=q`I(pLvJmFGy99AH&oV2l*75A9igQeG$Zd(<=Gz)vbNj9n>(b1c`-=J?N~EB&qV zncC9rfio>`c(XV(?3z0_NX+5bn=5R*%r{g{xtx>N*QM1Sc9>|H z*KfsCdX!URskalqDDOwnOttl_COf)WzG}rMii%30L;w)A^8LV00000EC2ui0OM)j$~<` zXsWJk>rw}F4L-P^01E-1 z3p)?83k3l_(9%1|6U)55i@|5D&J^3W)#yUr65s;F;{Xbn*_aOtdjtoq1v2j(06DYZ zOae>|4(zI+>f68v(IhM~FwlsoSos1_0Mc;d!*>t=BTh*0u)&T4)ZRhTM-rs6kNPfj zeDE({GDSInfNS|}2ZMqbVlrfBljqKoDSzU8pg*w*2M9DURc#qKWnGuuiu;w}!i*IFsL}`EKtXU-+!kEWPjD=^1O^nyS9sar zE`DEDyL$$KTbPaE%#6u5GB~Rllu8sLwL;Bh@sKDrFu-z30e5ExCLr+20#*&OB`Mgl zqXGl`AhmV-F78^mQfm*jAe6#hA*lh!9o)Fp;oJeJ5x)GG7Zo2fDKM~199?F!qiuTs ztU=#;9olPFFMFn|O7 zj0$UuomR?Xq-G}MKx?MJCjcr6BtU5)uf)C}?X=WZYwfkzW~=SC+;;2jx8Q~=?zrTZ KYc2>800283h;Ot2 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_header_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_header_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..a92c2df01aa8d9aea2d97d0d6511661cb01b7cd8 GIT binary patch literal 639 zcmV-_0)YKTNk%w1Vd(%40J8u9%*_97ZHP8DM3$Dj0002KzV4%=%u-TjUtf0)4iT}j z-5VPsdU}~DDKkVwRfveHA^8LV00000EC2ui0OM)j$~<` zXsWJk>%MR-&-6STg7bieaJUSH2q7pI5vYPgP-q#DwJ7M&Uro{;^ zg)#-1DOC}ZaRxM~z(*xGtx;tzLh9w_0;B^JH2o?QTmhj}=y{`Hom7XO{P{&3v2=?SkEDJ={ Z-GvxtsNsejcIe@UAciR7h-gIs06Vm=^J)M9 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_header_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_header_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..a92c2df01aa8d9aea2d97d0d6511661cb01b7cd8 GIT binary patch literal 639 zcmV-_0)YKTNk%w1Vd(%40J8u9%*_97ZHP8DM3$Dj0002KzV4%=%u-TjUtf0)4iT}j z-5VPsdU}~DDKkVwRfveHA^8LV00000EC2ui0OM)j$~<` zXsWJk>%MR-&-6STg7bieaJUSH2q7pI5vYPgP-q#DwJ7M&Uro{;^ zg)#-1DOC}ZaRxM~z(*xGtx;tzLh9w_0;B^JH2o?QTmhj}=y{`Hom7XO{P{&3v2=?SkEDJ={ Z-GvxtsNsejcIe@UAciR7h-gIs06Vm=^J)M9 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive.gif new file mode 100644 index 0000000000000000000000000000000000000000..8382205e6fc8bea086053783549dc60c04626c82 GIT binary patch literal 791 zcmV+y1L*umNk%w1VTk}B0J8u985IxCt$cQ4M~ZY)sEuV{Q99bVg#F~d{Mx2NIVt|? z&a;+m{ok@cHYWf80Q}ULA^8LV00000EC2ui0Eqw~000F4P{~QFy*TU5yZ_(u90y~b zXsWJk>%MR-&+$Vr$fNIk@BhG{a7Zi~kHvrhhip2Z(5O_&lv=OYERmYidcR;NH%u;@ zcjL2qeND69aHBg;uk+^eg~7fvEEZ9I0c>~<4m^fC1OSE(340F-jgx>oi8=y?fRl|2 z1&%ulhI^TY00Te)hNwISpQeKkoSmSIl@9|B1(CC?I)#Up!J-ZT35)=HlC!t6!33*1 zvkrQrI-k3_jt!bW+PgfG#>jiq)S#cfk_5b*z7N2N!HnPr+~7Kr&BE~X{65$o7_gS^ znyw$q0Px7wV2?cq0_24Pl`DZTWz>SiM2O1{k?=z)BJ;0|Vaa z80bjkgHP;qED+G_(gRTzY3g*)AfHVi!2bM6lnb8@MzMJ9lcvj1RA);6?5J1_lC}l| zAo+k+AXmhv4#fWO2^1}$TrF8RLmYl3mVhackFB0|XD|q4Gg%XG0p7t|-eRuLh*AZlrqG zscQ#OJImWukT;OFKLUKR{mT$$Myy^7yb610X_}(&3GcBRw&IV>w^Ma^y7~{~M#cKn zp=}bl;tw)8mA!+J%e_arSMIU?l0Sj>gfx}Jc>$T{1A4rGBMNg5a5I2X)+`7JF@FW~ zlVgurW7L4Z>?hGb#EetkhM%Ef%{0Cs2n|uoyhD>%+~o91Bc+{$o;KmlQX@PbF6PrB zG*Ty?fs*Wk;zT>%WmpdkEp!lj$Oxd8dFat}SUZ#Kh({87@DWOvUdqv9m}H)@WtnJt zab}uqTCrxEaEdWzoOH@rMV)vep#%bcWaa0dfCeh)poA7`=%I)v`o{nT5Kuq^kVY!$ Vq?A@_>7|%vs_CYjcG_tK06Rd}cxV6s literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_OFF.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..3357ed2be1c10e76f3dfc5e992c9356475384dc7 GIT binary patch literal 786 zcmV+t1MU1rNk%w1VTk}B0J8u9d3kw%MR-&+!v5#iQ?h@BhG{a7Zi~kHx_Ohip2Z(5O_&lv=OYERmYidcR;NH%u;@ zcjL2qeND69aHBg;uk+@`M4~>}hx=!E4hB004m$`AiVXughKi5~I|&Yw4*-e}l#q%E z4GxVupN*f22R)RMiKm*CJPr*#1COo`oRF!QmaPYyoPIijgpP+ci=~aUk&~_iiUF;+ z37D+Z4+pT1(9Eitt-F|@Jf98Pwzm$c&chFh0KT|)OIJC z94s9H9I(PI+z4fJ?ATn5j%MOfUbfC@oA!MCx4)AX0Peq zl5eZj8)V>7U$=>XC1#ebB&Bkd`*o6+mq){NpAuPW5X)K2z^2EpK4hrT=g@&e66^a@ zDAdgvK_#?=vxgxd4r6zlw#*r2j50MT4=VICb&zoRiG)c~J4#j@i}N@hOe@czna{a$ z$f*(4-z$O2#{}^D(d_luk^e*!+rqok^(BeFc;}sC7Fc^YB#9wPsdf<~Lg^)2Fk#sz z3w|c)S4={%Amd$twiI>CF62ezmm)2l<_C%)zOs@s;!uZ^htY7-l5YQ$6b>w30qBp3 zVvSf}j((xEoQVjibx$Y~8SvF&yI>RFV>e=$hg)y-(W4zt;KAjWYj_Ffm}H1a=9yZU ziRPM9Sjpy_QK$*$oJkx|zyJ&6spp=2_UY%JfCeh)poA7`D4_rl5C8$JHR|Z2kVY!$ Qq?A@_>7|%vs%ZoOJGAd}TL1t6 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_OFF_de.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_OFF_de.gif new file mode 100644 index 0000000000000000000000000000000000000000..f334afd95cd4d365a031ebe207eca1de4287f43d GIT binary patch literal 585 zcmV-P0=E4}Nk%w1VTk}B0D}Mkd3kw%MR-&+!v5#iQ?h@BhG{a7Zi~kHx_Ohip2Z(5O_&lv=OYERmYidcR;NH%u;@ zcjL2qeND69aHBg;uk+^iJRGm@pZR`)V0Z%#1Ud-~4h{$p2#t@9hmi=2jFCE+Hi``a zj*yKH4h@;1pOuS`ik6R$tf&nGpR)*)jR6e}raGggvxSE~cnAjs0fhhq0S*I{kj#_^ z1G1W!g~tHUpbrDNzNN&|j?&Yyt>oha1^~3r%?O1F-Lg8}r0wIz!b@E{%a8|ppkm~x z0Rc*{OkpCn<3KA~2M(~S<|-AYSf^es3g)cf!AAl1eGrp~@81tT*%C115zgT!g8;=* z%oH#{q6Lv$#!6so$2pme2+;dUtyrj>pkM-+L{P`ho-QAx+*f4>fMUrUc$(Mok;$3g zt|eF`=|Lw^mS%xdSd8VvQr$8gI_s6uwQi;?IVgMfDgkyq_$Wfe$y3)xx*TaFi0YQ! z1ZEu=upv}kfX1g3uCiG15@N`aC(lZ}%n-c*l?`}OBs%g*eu83?0VKP26xz0PBf+h^ z_YmH`gH!D%ym%1c#)TtK?t3|N-OiuejxJrck^%!3Xy4AgyZ7(l!;2qJzP$PK<(Hz) X#lF4!_weJ(pHIKO{rmXyM*sjji+C3f literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_OFF_es-orig.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_OFF_es-orig.gif new file mode 100644 index 0000000000000000000000000000000000000000..638ef859afb2ed25d03b46cf000bbfc80f92055a GIT binary patch literal 1231 zcmV;=1TgzYNk%w1VTk}B0K@FLeQ&2@EkLPA2{-`~#8&fMJGuCA`$-rh$?M{I0tl$4YZ z?|kq7z@TtQEDjw9&f>#tI-k&}bV{vSuh{IB5m0KsOajIL4r2yiG5I;bTn%F=#$D!m zzn;AQlF{ccOaXcs1Rob3Q3f6eP6&DeYfl0NPl9=bOalUW0E`%Zc}xX^O$Y#-2Vizf zUl|#jt_T?buCaz58GIgqhf#+LO#~hS7o)&z9so{005M< zoGX*?!#XF57%^E>u}Q{78;2n%=R`n&1Q9d;dK49K<-ta{4%GV~;20AHEwfAnQ?ZYq zIUeXNLxj)+fdn=!;cD1qfQJLrn7njy(a9%2?h@!JP-xfCFFU{Vq*bd;P$(UlAiXsc z!@gmalsQc`Rh>Jl*lGnRRp1mQuT9cg39F^&-H?Dp0ZXgM4Tuv!6y9xi6hgqbSfBv`)FP9Vk%tVL{Ew|)BU$}BNs z4wIGlz|`DyimdrW3OAc{RvRdXMCKI#Bc`BI(qRy#S71LM5HJdKgKfRqA(C;%D)UUJW70QnQ0Lm&bmqJJc2F`p}& z2z3fmwrv88SF_x9oHu=}*~Fbq4O0v*9A=iHteU~J~0IVS|tyBJs#=7>jOWUYW9^5LucoB4#FbK@W zpEGYq&d$!>-rh$?M}&lgb#-;z+}uJ!LX?!0Y;0`i=H`!&kJs1N zHa0dhGcy1H0LseBA^8LV00000EC2ui0Eqw~000I5pyOm@X`X1Ru59bRaQr?^RBd>! z?|kq7z@TtQEDjr!&EmssI-k&}bV{vSuh{IB5m0KsOu|I~4qpymG5LA8Tm@t3#a-rl zzn;7v!_nt4OaXcv1Roe4Q34(YP6m1aYfk_LPl9=bOa}mY1B@4bc}xX^O$Gy;3Sf3i zUmP5pt_B!9s^E?xqW~H00RL50|R0n2(=s^3b?v} ziqg~`kyxu`w@t240NYHj=}-upg&&`Eqfh~xsZ8za06sXP^U1)yC%yb_8-?b>fdQ1X zoGX*?!#XF57%^E>u}Q{78;2Pv=LA3i1Q9d;dK49K<-ta{6x90w;24txEwfAnQ?ZYq zIUeXNLxj)+0R%QJ;cD3AfCmNCn7njy(a9%2?hxoHP-xfCFFU{Vq*bd;P$(UlAiXv7 z!oFdZlsQc`Rh>Jl*lGnRRp1mQuT9cg39F^&-H?Dp0ZXgM4Tuv!3x9xi6hgqf=Wz#R4KCe&%RSIR!ji;bHbV1}PZ z)f4oAVI~g|b*4r)R@>fBv`)FP9SZ@1CV~hMs5Y&dlkiNs(M>k%tVL{Ew|)BU$}BNs z4wIGlz|`DyimdrW3OAc{RvRdXMCKI#Bc`BI(qRy#S71LM5HJdKg>fS zm~ie01Hg9&HZdBa6^%j$0I)IPh>wOwS=Cz<{_{>wFZD8)n6DYt1YiSk`d<}*2~e6q zi$oa@hlup)(IS^Q5#g_Z{7FgwRVJYnQfTGmN|ZGI0P|63(O^(xoWnK=3LOa`AWUKj z7K00_wCz&Ymt1n7>P2%!WsiGuxR+1?0jYGzQ8smxhk?Q}IR%}0^z*K0q*}Q!8qQLC z?_v2WQouz~?fO|0-c|~kuWKFb5e8Z*J4L630^&%ZppbFM971Kh<}T4TF)b7MHbjOS?NeR^dp`MTV}!QUErZ8wrr*%(8YZd&sJ--U4g2+cdU~Z>~i18gWPq z%vu6?-cn0(itMGd)KS1pZAgT8V7GAJ3D#$wfF3w#*g%sl%Dm_qw_bJtCygwBfP?32 z9|d5r$+=GGow$_29(Xck6n$PPWgc33s`$>^*viDT3QUL>9Th23@TUtpw8zA{<> literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_OFF_pl.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_OFF_pl.gif new file mode 100644 index 0000000000000000000000000000000000000000..5414a7d846d16a2d2992d04b635ceca2fb860f95 GIT binary patch literal 882 zcmV-&1C9JgNk%w1VTk}B0K@f`gmZVcd#NiMDP^Y=r{XqvR~E9dCc87{eC1&BT%uPc z>f7A8X*$r^^0Kmd#P9e1>RYx#7jFZv88ukS_uUOJH50CmQ|+6C7NPd`BFt& zR>UR~V@?HUbl%PBSYB?b_#Bm;6#51xh9)`&bc!~*D4~uZ`EED(kGY$~u7r5lAr7uDtf@>#x8DE9|hu7HjOW I$c6v_J4MxmS^xk5 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..335e635665e8555552db46e1547275437ae845ff GIT binary patch literal 948 zcmZ?wbhEHb>|{`2xXQp_VPTP!lr($xY#AAun>TOr@$qSCX{}qguD-rLBqZeM(WAY+ zy>4!9D_5@EzJ2?(YuDbsecRR5_2|)~r%#`Hd3jyEdUe~jZLY4aRaI3_o;)cmESxrN z+N)Qu%*@R0-Mh!Yz;OBUWgtmAp!kyoY`6}H1o?@9?Y{#@i?fbY|A{3#n{*ihl4*Do)~&v+zn_x%q$YW&vUe*fdoUx9$v{~H>cnpS~@zr zy35+KdnQbr)X+D1+VmN@Q)kYZ+c|sQ!bKGe7B5?#w{*qoMXT1VpSfv&vg3w(ftR{KT%*{ z&XKx)fcy2H_fniZxreyV6-?!jVrIzDnC8&jmbjbA;KzjnbEH|Aw=@=fXk^?__>L`u zBf!CVYZLq302zh%@dp|ORKpH)Jd%|z=4`AidH!1LP&PB0jj?7x!-4;``dd{c81zEt zyT4BBI&5a#$k3iE#3LKl6V;SxV!W=0IWSAQF=q+ifn6rrhRJM~GBsWaIW(5(X)^t> z5`J@uVV_A|!3Q>x8(C}&3=&~xFJ?1wi)=c1jA3S&Ecc?VlYRBJto?qSU7_*_Ph7QV^2G}d zY!<2xQ5y{p_%NN$aJl6!zfG`#(O;E;FGA5SRiTaTZ*ZUCZWV>eRtbt1PTTpv-Nakb z{j%kZ!_gCqJ#+ts9zJb(XwFq$=P1L=+@|lI81+sO+4NAhxQ5eZV$m;Cj|I*$ADN%{ zFy5Vf-hjVsCj-;@z_v$|UtfHbuCnQm<_m>JzN{5;t#Yd}WIOd-Kzm Q^?LmQHtjVV92pp_0jU;(yZ`_I literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_de.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_de.gif new file mode 100644 index 0000000000000000000000000000000000000000..3657790cc26ad3499896f406fb6c263fd83025d6 GIT binary patch literal 577 zcmV-H0>1r6Nk%w1VTk}B0D}Mk85IxCt$cQ4M~ZY)sEuV{Q99bVg#F~d{Mx2NIVt|? z&a;+m{ok@cHYWf80Q}ULA^8LV00930EC2ui0Eqw~000F4P{~QFy*TU5yZ_(u90y~b zXsWJk>%MR-&+$Vr$fNIk@BhG{a7Zi~kHvrhhip2Z(5O_&lv=OYERmYidcR;NH%u;@ zcjL2qeND69aHBg;uk+^iJRGm@pZR`)V1NYx3p#}k2?h@iI*yG2jgJnMlRJFCryJn#_lf6U7|>9!KV^m!zQ6UjU(A9Yr!<$P1!NpH98H_3PNPYv0bjyZ7x?2^45RzP$PK=+moT P&%V9;_weJ#j{pEW4ypvv literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..b064725c50f6ae0e8b8a0adcd4d6e92c19197c74 GIT binary patch literal 1231 zcmV;=1TgzYNk%w1VTk}B0K@&A{{RXy6cgs6>Wmw#I_Djrlv zGyK}7{ob+AuYLaQ)TN7L{MVmSMKS!>o|1c5sg7p-005M< zoGX*?!#XF57%^E>u}Q{78;2n%=R`n&1Q9d;dK49K<-ta{4%GV~;20AHEwfAnQ?ZYq zIUeXNLxj)+fdn=!;cD1qfQJLrn7njy(a9%2?h@!JP-xfCFFU{Vq*bd;P$(UlAiXsc z!@gmalsQc`Rh>Jl*lGnRRp1mQuT9cg39F^&-H?Dp0ZXgM4Tuv!6y9xi6hgqbSfBv`)FP9Vk%tVL{Ew|)BU$}BNs z4wIGlz|`DyimdrW3OAc{RvRdXMCKI#Bc`BI(qRy#S71LM5HJdKgKfRqA(C;%D)UUJW70QnQ0Lm&bmqJJc2F`p}& z2z3fmwrv88SF_x9oHu=}*~Fbq4O0v*9A=iHteU~J~0IVS|tyBJs#=7>jOWUYW9^5LucoB4#FbK@W zp0|f&J zauBd#k+^~jHawW95kLfW91sY2CIB4+e&PoIKzUZN*SP};25b^Z(j>|NDlh(u#^GB! zjTe<{P>^hm!Yb4tsG7C`o`NORlpNR)fWv@(#D+pGsN|bDO3gHCO(%dFSf)(8{!>EH zA-|^zs=`aKfk9M*Rj)8>G7nk;bQhl`fJLn&wS9RFa=j~+ZsH~o>OK<%k0oHVwj3{k z_n_>@sp#O1d~o+5S1Eg&0C1oH+B$8mEmFe?6z`IIn3sGz+XSM=mhgt6+}dO}lc50w zME)jAGy-k~xs|+(`skDc5Z3jKS2$zNsFkhd%=k1n+on%W9*mG~@JH=InNT#vv}wlS zqOIbliY4_Dx}DJ_%Uy@X_slxaJpe$iYiBWb9(_zihCn8C(UK20#L0)=5)^H)30>@w zCC`2XOh+9Q{;l%SP+;8^-d)e-1;H}|SY#eY5H11H67S`Ak#-K^$b?f$d}NW2rI}__ z8I?4tM~Y5HIfivoR_O+mR%V$6m0EWB1(sfhc?g$cmRTK>W~TWBm}+XN1pyXZAm^NP v)@kRRc;>0+o_zM{=bwF6FaZS! literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_hotkeysactive_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..a34409c2c118220ed41aca373a42ef8a2e39d953 GIT binary patch literal 997 zcmZ?wbhEHb>|{`2xXQrLRv1{8?0#xh)rIx7fA4Mlb8DF(AJ^++ebeisjkM&HWJFR! zZEx*p32`@G(VP13?UkF`n}b{pmv*Q8eX{@0^?84;&!1Es@%QPWm3?UuUZ#H^@A-3W z-p<+i|6ZNjJT2$%{Y?&L>duy$3=9l^uFL?ER0oPbS-@uMfJl&^7})+FIKJ3fN2>qC zlA@D2R`V~s_`GRmhTV-dWvAa(?SHVL!bh)PQ^+atNZ#)IA9mFEt-t;L$Ddk(fY<*U z8k?G1YU)}#I=i~d+Om5lOq|rvH+kCh8M#wu&Y9aed)~rD6$=(GTb{Rc#p*??)~uho zZo}qDeT<4b6d9Rz?#N-{RN`V%=1?qPP?X7KU{g|L&)dF(A?NZAj{K9S_v}5wdttxg zkw;GyZ?f|$u`w3#C~{xh%XsWP-=psjF0QO)Ra9b_U&z5xaD-T++5+mr-hHMe5W| zDUX9z9bcD!fcGj_*>k4#%2ENj9n5PPp_T zfp22Hk=k~%{EoED+bnW#gkC&3mdB&=`RCRw!z*l$8kygI7ffh6K0&YU@#&?e4Qw6T z{ALAbX5aU`$>nxeQq_^6Yxd?Pwl&Wiw<*2bDdW+1cG+$21?k2i=C8i_hq`G@Fv7 z9N>0=k#WM+|1v?05ld%FORFTwQvjYUm{QAVmcs zhf_05oAQ|~n1fSHSEkHrdd}z~RMh+L#|c%Y1UGJ(mQtnDE7vG(%38f4C@Eyk7QRne zYj>P0%wD(0>&EN#yUuaF+3+WXp^^QB+Uhr(&X~P^v-yIX_S-F2!mQV_N+t*}a@;9< a{dW6&A{{RXvw~Tgs|>GAbTaM>D96 zW&GNv{ob+AuYLaQ)cn?-{p7#=*Po?}WZAcal6zQEMKP(4X1SYhhH+8;>dv#4Z2jM| zKsF~sIVk`D0Q}ULA^8LV00000EC2ui0Eqw~000I5pyOm@X`X1Ru59bRaQs3K1Z{Y( z?|kq7z@TtQEDj?Q#^S?lI-k&}bV{vSuh{Ih5m0KsOu}UV4qpymG5LA8TnA(5#a-rl zzn;7v)6wTKOaXcw1Roe4Q3D!9s*8>xqW~H00IF40s>+l2(=v_3b?v} ziqg~`kyxu`w@t240NYHj=}-upg&&`Eqfh~xsZ8za06sXP^U1)yC%yb_8-?b>0Rfb> zoGX*?!#XF57%^E>u}Q{78;2Pv=LA3i1Q9d;dK49K<-ta{6x90w;24txEwfAnQ?ZYq zIUeXNLxj)+0R%QJ;cD3AfCmNCn7njy(a9%2?hxoHP-xfCFFU{Vq*bd;P$(UlAiXv7 z!oFdZlsQc`Rh>Jl*lGnRRp1mQuT9cg39F^&-H?Dp0ZXgM52FEzZwaO8hmxYm1%UPS z2tYwyhZ;X5KvdHSPOx2A@g!>Tuv!3x9xi6hgqbS=z#R4KCe&%RSIR!ji;bHbV1}PZ z)f4oAVI~g|b*4r)R@>fBv`)FP9SZ@1CV~hMs5Y&dlkiNs(M>k%tVL{Ew|)BU$}BNs z4wIGlz|`DyimdrW3OAc{RvRdXMCKI#Bc`BI(qRy#S71LM5HJdKg>fS zm~ie01Hg9&HZdBa6^%j$0I)IPh>wOwS=Cz<{_{>wFZD8)n6DYt1YiSk`d<}*4N#gu zi$oa@hlup)(IS^Q5#g_Z{7FgwRVJYnQfTGmN|ZGI0P|63(O^(xoWnK=3LOa`AWUKj z7K00_wCz&Ymt1zB>P2%!WsiGuxR+1?0jYGzQ8smxhk?Q}IR%}0^z*K0q*}Q!8qQLC z?_v2WQouz~?fO|0-c|~kuWKFb5e8Z*J4L630^&%ZppbFM971Kh<}T4TF)b7MHbjOS?NeR^dp`MTV}!QUErZ8wrr*%(8YZd&sJ--U4g2+cdU~Z>~i18gWPq z%vu6?-cn0(itMGd)KS1pZAgT8V7GAJ3D#$wfF3w#*g%sl%Dm_qw_bJtCygwBfP?32 z9|d5r$+=GGow$_29(Xck6n$PPWgc33s`$>^*viDT3QUL>9Th23@TUtpw8~`K{|gFs z2L*MUJNG{~cdMqR%jV7h)zuvt7#L>G{0}6l4itZ~fX&naksv=Yu>E&9yVzMrs{h22 zqLVpR^Dn$OQrOwB?#7z3({HQxKiE*=Qx+l6IkD<&-tPM!cGUQ-zx|$_;n%tMzyCK> zRAnl&$+Idm$V+E+DYME?oWwR^k~~BIG%lXr?z!146MM4SItsYEla&itwgx`hwbHXZ zVD6#xEGCu=g{Em6i}P7nK5#fNEN;sZ=`h&p(7@2H?JmIaq3AxlIWO}jMYj_RHvKP? z7F(A&!&hk0qT4P%eqHlj;W%G@@=nWT>v>PrGT&f$v8`bl6Q97($ROo!&IgK^yMLCH z=`@^MXns|}mZjKX_r$fkbgNHqJis=Q)p1*+R`89`Dg5e10g~HuR5o3@;^}+)^PNL$ zUr8Km9yyp*yrl+?_ zZ)9wLd{U^N<3(@D?sV1(xi==PJLn#Iyi|47u}0+`sV62c6=rB~-Y58ysX!xB+NS8b zaNxf_sdX0$HqBl+vu@d)1DgUQet!3H*eh7kleykjXaWaU#TI!t=@m!jTAb%SaMJF# z>g5Sulh2CVooH8R(@;uPo|f^bv*?MUBdgq&7mvCPj%hsZF}arUxYy#@iexsC1O`VA b2R6+o6I{eHpG@>nTlr*?j~Qo*0E0CEWCuUM literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_internalcloser_OFF.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_internalcloser_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..9d3489fa69695efe455efeb36ae42ac915aae10d GIT binary patch literal 801 zcmZ?wbhEHbtYHvfxXQo~A0IC*Ev>1k$;->TZ{NPEs;b3{7hk@7dButqH*VZ;adFwW zabrhEM_^#!`Sa&DY}oMN!GnAE?zy|WJ2^SEwzj@}`SSk#`>$TTDl04N?ChL6b!u*I zu9=zH#EBDc-n{wj*)tOp69xu`GiS~KNm>BKpDbWwbwDJ@PYi7T4|qRy){*Kzv83o^ zj@A4N8b=a4E7sjuQ+E1o)&2(?DtyWUgxDumoz2^Q|HFL)7w2an`L58R$E5_cbAMbOV;!}7U_u$+}TpR zGF;1)rcGqqJ&j>ac4f7al%n)*MaDHUiZjnK@0C_$nl$6eH5q2bo^xkTWnW?D+IpgZ zM^RCR@#>n_xomf?z3MoA>Fo?9#Y>Za|7Ci>E4}1dgi*Spfn~CC0L#|EN4r*fmIur| zl%B=Jk|EGEZDVmh8_Nfd1ct?JSt2b4TN4g2v}?NxaC|6|XE*0%-lXVuV!@{WWm016 zGH3V-En0Nj>Bp~YzAGH(%TL~Exokb}samER3@^4dENkKw_!$|bJk9w)5p(y?k}{o! za|_L{D%i3FJM5mgc9(AT>5UC+6ImU%HEIRl2%W;Oo);jwJx68Jr7NDkw?E%GwDy(6 zu~yE&buN8D`m3wm624@(wcMO??$ysHX{L;|Cv(_WCuh&L$Uh~m;KO_VfM|MpoAkzm zZI4e1b#uJvE!myUIwAAIgmnkqLywoLuG-e9yd(9*yuh{p-8rx+K;q|jABVky6+M~jZG{3jxGJ{DyGgA$GS}if=Yf-Uzf~_! z@S1#9-0noXLYszCs`9jqN1a7a9v)zp-SXm5x4|)u$2}(3G9LF@JX@j6CX`~p$l<`I Z`DB8NSmu+79%?I}O!6_~Oc7wP1^@>AKm`B* literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_internalcloser_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_internalcloser_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..45bc42903668d2b577952a8946d2bd179c5726c1 GIT binary patch literal 640 zcmV-`0)PESNk%w1VSE4(0K@ zO@aXcXC7+@gt3=;8Mzq@f*84R2ZxDrtBnk~Xt@`ex)*%{xd3{b0itbe9=@~zhEJqq zP6?_@25Z+$1Rj^2XdiK+%XQhUvUc-Jh=G3knylDP_dcZCH1FC1Lip-=8v`YulXFV~ ze#n;~4*>wq`UJqh5yJ;X9MLQgrY{|VMoS?5w&{rB)h2YT9ARJMwTD-qzjNSA-_18QgYhF(xoI#ZNvo_*t1VgC*PnPT-9kKP$lWs4L~!1 zfPkP9ldfqHH(#Rxc@zSL7_=fcR*2+$IA|atS+ESDq(hZ#lP*WDU^S-YtIaB0%}{=j z)^FmlH3#*ol%-2v&VwG$rQ@_R!?tdScRCpWAP+QblRn0o!{<&OP=*G{(!5rkQ_XSu zjsD{?VDfX~IC)AFYEnk9b# literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_internalcloser_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_internalcloser_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..45bc42903668d2b577952a8946d2bd179c5726c1 GIT binary patch literal 640 zcmV-`0)PESNk%w1VSE4(0K@ zO@aXcXC7+@gt3=;8Mzq@f*84R2ZxDrtBnk~Xt@`ex)*%{xd3{b0itbe9=@~zhEJqq zP6?_@25Z+$1Rj^2XdiK+%XQhUvUc-Jh=G3knylDP_dcZCH1FC1Lip-=8v`YulXFV~ ze#n;~4*>wq`UJqh5yJ;X9MLQgrY{|VMoS?5w&{rB)h2YT9ARJMwTD-qzjNSA-_18QgYhF(xoI#ZNvo_*t1VgC*PnPT-9kKP$lWs4L~!1 zfPkP9ldfqHH(#Rxc@zSL7_=fcR*2+$IA|atS+ESDq(hZ#lP*WDU^S-YtIaB0%}{=j z)^FmlH3#*ol%-2v&VwG$rQ@_R!?tdScRCpWAP+QblRn0o!{<&OP=*G{(!5rkQ_XSu zjsD{?VDfX~IC)AFYEnk9b# literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_internalcloser_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_internalcloser_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..d5c05657affed58bd7db42399b8e774277bff82c GIT binary patch literal 640 zcmV-`0)PESNk%w1VSE4(0K@|FN zO@aXcXC7+_gt3=;8Mzq@f*84R35SVttBnk~Xt@`ex)*%{xd3{b0itbe9=@~zhEJqq zP710^2y53&1Rj^2XdiK+%XQhUvUc-Jh=G3knylDP_dcZCH1FC1Lip-=8v`YulXFV~ ze#oaF4*>wq`UJqh5yJ;X9MLQgrY{|VMoS?5w&{rB)h2YT9ARJMwTD-qzjNSA-_18QgYhF(xoI#ZNvo_*t1VgC*PnPT-9kKP$lWs4L~!1 zfPkP9ldfqHH(#Rxc@zSL7_=fcR*2+$IEWx2S+ESDq(hZ#lP*WDU^S-YtIaB0%}{=j z)^FmlH3#*ol%-2v&VwG$rQ@_R!?tdScRCpWAP+QblRn0o!{<&OP=*G{(!5rkQ_XSu zjsD{?VDfX~IC)AFYE|FN zO@aXcXC7+_gt3=;8Mzq@f*84R35SVttBnk~Xt@`ex)*%{xd3{b0itbe9=@~zhEJqq zP710^2y53&1Rj^2XdiK+%XQhUvUc-Jh=G3knylDP_dcZCH1FC1Lip-=8v`YulXFV~ ze#oaF4*>wq`UJqh5yJ;X9MLQgrY{|VMoS?5w&{rB)h2YT9ARJMwTD-qzjNSA-_18QgYhF(xoI#ZNvo_*t1VgC*PnPT-9kKP$lWs4L~!1 zfPkP9ldfqHH(#Rxc@zSL7_=fcR*2+$IEWx2S+ESDq(hZ#lP*WDU^S-YtIaB0%}{=j z)^FmlH3#*ol%-2v&VwG$rQ@_R!?tdScRCpWAP+QblRn0o!{<&OP=*G{(!5rkQ_XSu zjsD{?VDfX~IC)AFYE|_vNxXQrb?p|I{u)Dwi9T%5iTG}cR5v7=zney_+t*v)$ZPTi%&eYXi z+PLxm^5y@HjYH?p|9|!Be^b-Q^z_w6M!{FE{9mx(e@e>o$jB*s_x?Y0=>Pux|65w_ z1O;_yYPy^|_dhpx>*me>)zuvt7#L>G{0}6l4itZ~fX&naksv=Yu>E)7IO?n;)qi41 z(a9XE`4?Uof4-35aAQr`>9TXr8w&d^XwM-mV-OSFT)C5#8TxwJ@)`MLS@KyHDRazSE-RD6xq9m2Ra5df zX0K+-W$Iph zrld6G%9`sJa+ogcxV0zu%JE0+JCsi`^W`$SY$z(uiI|^M!nG?f>^!ek>Si{X1ZIaQ zGr?j9)`ahFi9CQSjq}U)jzOk{CSZ&|Y9QJ2oL)|hUCV;af|H6a@gvRgb`@wm_C+l$Bj4s4oF nCb)=MK4BH~FmUAXF?;!Ba)6uW(|_vNxXQo~A0Iz;>ePMv_VM!ac64+|OG|5NYF1TM1qKFg+_-V^;>9ag zthjvn@{JoeTwGkvpFjWL!2>5JrBKpDbWwbwDJ@PYi7T4|F|o){*Kzv83o^ zj@A4NFN8l`h_Jb_rtI|Fs{Ic(RQTxi%TH!=K9aZl{)Zhke(P_)|M91mG2r$8hQ_Am zmYTX!8HRjzncm*69BCPji85Tdla(0ydfD?C`D9q~Sr#dA&Rs4eox`zu>f%*X@;GO& zX3AyiWz6N0nU~jD+Lm3aD3dR($ksPOiJ4h(I*Z~2uB%Ei$NLWCa4IshDsIfV-o>t{ zIOWQk>lbpEF6_9qC-=(nM{GNkPBHW4GCFN2D$a?RpH#xND=_RluT|=1Hi-mghp24= z#SW|q-`y51OBU9Sb5by1G00*FDASqH@Tj4Rm1{zdrqY80W?at&HcvLbWb{8T$AagA z>4MOXX@<>t*(IG<82EnQvN&+UM>0_GFAGFF#2(CMe#tmVt2g-K0k%o3EH+d8 zdV>yxHrTcX?ECX$Vaq{N@i|^OD@uG*#2==~FkH0wASxaF(@n@tbYk$sszRB9Xb!$D zCBD%i@@z{Ma2!lzaZhhqvf@#f&a&2+Zi8bQ$_h0$6CBwso~?M?XY=jF<9-J=%_kFF k#4J@(asHj9l zMA+Ea>gwvx&(C&tcHiIMLPA2`-rk0WhOn@(;o;$5Utb#=8#XpJZEbCqmX?u`k=fbV z=jZ1%G&BGJ0L;wHA^8LV00000EC2ui0Eqw)000I5Aj5EEX`X1Ru59bRaQsru6K!~| z?|kq7z@TtQEDjrz1>(bOI-k&}bV{vSuh{H0QBi8Y;IMd1=6XK`kD%#k3kuAN$H2^Z zGM@|P)An58A94c$Odfj}7jbh;7=3?DdQEmu0v>>Ec$gms9u;+co{Dr$1Qr$tO&DvO zo)rool?4PIgtGx=OPdy!g#Z`>d$1Ovc8QT502KqCjjnfm0|kgo0>g|J7{9@J+mlUc z7NZ`(2LsO)7Hc1N7yygHp-cb*0Jdx6<`sCrjF+2ca z1-sy>O}0b|)lK6DshbBU1}r2iMA5*7X961k!SSX502)K;>SVxR@53wt7cLC=U?D)r zk+Td864)hI&yjot=p^tVfQ4BrJ&1g`?&C9jiKJpnca z1N~)aObD4O0Jda+4r`4_=F2kpbfUn&Gj|jd;DFPN2T5D|8Inx^1MGK!OLv?U-Y^-E zMgTi<81Ud=u+W2Ig0D1k0frj76drIz@f1u;e6(>2hD;pb!H6Fzl%pSj2y!1DO7ZxC zj|6O_9a()~V8?a#M07_%e2|992ZK!6NmDy5`D2d*46r2=oa|u-T2&5)UyWqMDd(JY zS}{`m}aW!rkr-_ M>8GHE8fpjtJLwc=dH?_b literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_leave3waycall_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_leave3waycall_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..63594d6570eee9c43792a3620cb74e10791af6b6 GIT binary patch literal 816 zcmZ?wbhEHb>|_vNxXQo~A0Iz;>ePMv_VM!ac64+|OG|5NYF1TM1qKFg+_-V^;>9ag zthjvn@{JoeTwGkvpFjWL!2>5JrBKpDbWwbwDJ@PYi7T4|F|o){*Kzv83o^ zj@A4NFN8l`h_Jb_rtI|Fs{Ic(RQTxi%TH!=K9aZl{)Zhke(P_)|M91mG2r$8hQ_Am zmYTX!8HRjzncm*69BCPji85Tdla(0ydfD?C`D9q~Sr#dA&Rs4eox`zu>f%*X@;GO& zX3AyiWz6N0nU~jD+Lm3aD3dR($ksPOiJ4h(I*Z~2uB%Ei$NLWCa4IshDsIfV-o>t{ zIOWQk>lbpEF6_9qC-=(nM{GNkPBHW4GCFN2D$a?RpH#xND=_RluT|=1Hi-mghp24= z#SW|q-`y51OBU9Sb5by1G00*FDASqH@Tj4Rm1{zdrqY80W?at&HcvLbWb{8T$AagA z>4MOXX@<>t*(IG<82EnQvN&+UM>0_GFAGFF#2(CMe#tmVt2g-K0k%o3EH+d8 zdV>yxHrTcX?ECX$Vaq{N@i|^OD@uG*#2==~FkH0wASxaF(@n@tbYk$sszRB9Xb!$D zCBD%i@@z{Ma2!lzaZhhqvf@#f&a&2+Zi8bQ$_h0$6CBwso~?M?XY=jF<9-J=%_kFF k#4J@s(O0Nr>FljGgYy% z|9*bbpP&C(S(Me)|GvKeWMrpjXR9(YQ^LakprHRpM|TtyA}J|EQc{R;aJ$aV|7~rx zv$OvvCqV!J0GXNpA^8LV00000EC2ui0Eqw)000I5pyOy{X`X1Ru59bRaQsfp^Kf{s z?|kq7z@TtQEDjkE1>(bOI-k&}bV{vSuh{H$QBi8Y;IMd1=6XK`kD%#k3kuAN$H2^Z zGM@|P)An58A94c$Odfj}7jbh;7=3?DdQEmu0v>>Ec$gms9u;+co{Dr$1Qr$tO&DvO zo)rlnl?4PIgtGx=OPdy!g#Z`>d$1Ovc8QT502KqCjjnfm0|kgo0>g|J7{9@J+mlUc z7NZ`(2LsO)7Hc1N7yygHp-cb*0Jdx6<`sCrjF+2ca z1-sy>O}0b|)lK6DshbBU1}r2iMA5*7X961k!SR*=02)K;>SVxR@53wt7cLC=U?D)r zk+Td864)hI&yjot=p^tVfQ4BrJ&1g`?&C9jiKJpnca z1N~)aObD4O0Jda+4r`4_=F2kpbdtcoGj|jd;DFPN2T5D|8Inx^1MGK!OLv?U-Y^-E zMgTi<81Ud=u+W2Ig0D1k0frj76drIz@f1u;e6(>2hD;pb!H6Fzl%pSj2y!1DO7ZxC zj|6O_9a()~V8?a#M07_%e2|992ZK!6NmDy5`D2d*46r2=oa|u-T2&5)UyWqMDd(JY zS}{`m}aW!rkr-_ M>8GHE8fpjtJ9O4$D*ylh literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_leave3waycall_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_leave3waycall_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..7bca06f94630a6e8ad47d9e2b5fa7768cac0d2a8 GIT binary patch literal 816 zcmZ?wbhEHb>|_vNxXQrb?p|I{u)Dwi9T%5iTG}cR5v7=zney_+t*v)$ZPTi%&eYXi z+PLxm^5y@HjYH?p|9|!Be^b-Q^z_w6M!{FE{9mx(e@e>o$jB*s_x?Y0=>Pux|65w_ z1O;_yYPy^|_dhpx>*me>)zuvt7#L>G{0}6l4itZ~fX&naksv=Yu>E)7IO?n;)qi41 z(a9XE`4?Uof4-35aAQr`>9TXr8w&d^XwM-mV-OSFT)C5#8TxwJ@)`MLS@KyHDRazSE-RD6xq9m2Ra5df zX0K+-W$Iph zrld6G%9`sJa+ogcxV0zu%JE0+JCsi`^W`$SY$z(uiI|^M!nG?f>^!ek>Si{X1ZIaQ zGr?j9)`ahFi9CQSjq}U)jzOk{CSZ&|Y9QJ2oL)|hUCV;af|H6a@gvRgb`@wm_C+l$Bj4s4oF nCb)=MK4BH~FmUAXF?;!Ba)6uW(FKNY?){&VvV6gU|A!9!zk2n5WaJbhqhM3h$SYU= z2L*L#YPy^|_dhpx>*me>)zuvt7#L>G{0}6l4itZ~fX&naksv=Yu>C)9`k1qhRR4)3 zMJIEt=KGyyHe!rie`8JA>9 z?7EV%Icr-s*D+=06Hk?7GCpx-uzyvWd|D}Q$<1zYh51`b__i%%49GuXV8Zlr>Ew=O zj)(2bGZtnZU&pXCbMKCgF9jGFJslZtx1iGTa8o$4P zczAoIz{BRhzkhsweg8Z#;r(Y|<4|Ce@|fVr!J)R|K@*SJiwDgDZW<3;MA#S^tO0TG BA87yp literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_localcloser_OFF.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_localcloser_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..ed11b7aca56f642f2c94b6f0aaf0dc776759e7c1 GIT binary patch literal 728 zcmZ?wbhEHb%w`Z^xXQo~A0N-l%R6=I)QuZAN=r*?YH9`s23A#7?c2BS#*G^;E-oup zthjvnaz{tU;>C;4pFe;9{{0ObHoScKva_?($;rvx-TmIZdu3&14<0;dZEbz^>Xn(9 zS#ECb#EBDc-n{wj*)tOp69xu`GiS~KNm>BKpDbWwbwDJ@PYi7T9eSTQ>qzyVSWopnQa{mU9&q@x6E11#hcTRo~bx3 zi;q!}Ra#MTi4vDD~f zQq6|QSs~0hoCzFfUYwZnUBOTJ)Vpg8d<+~c9j(R9=a_DBEIA~Ru{glw&=kcBZ4HV( zEH_*XzC3+B?XqcJ^0C~R$CB(;uHg7loY9#-YuYuoNmpM?U}!)7O^1!)fTOfxB_mHr zo<~DN!}<3jUz^S(>ZF~$^~Uq^ABjmDcxBeG2B`QHulHQ-8O&o=YG}P{-vy3}?cN_5 zn0Lu^Z}3==#Nl-G#WL%8H4980eB;T~?wC@MmUq4Jy`P7}l3hJ@msZE`XV>`s{lmlC zl>!T!|Nj2*`Stzt`}hC<&%nmW>d(*5M@L8B-`|OeiLkJ+(9qD~;o;ui-jqodih?0s={*k6}y;ut*mI37MO79tq0HyhsGX#7oH^0ozF4 zNVR7Hz@{E+rUeEc2C&i4#gR;+a!Jlg)k&2f36vSq=JtGBg`w5658yHZ@r*%5D?EmO9BquB8)ZdnKO?_0?1i)0f2{f*`Qc-(hp#! z1{{&tT*r>ohXKAmILnzN*{q~ZS#t9Lby5JEazq)(|Z{ zKrpkx)=eUip_KtqYuT=ZcF+TywS8>Du~f=!0g-+`5GZh=F@pl;@@62qL~N4)*Zi*G z>NU{<23;AT!`yX%G*MoYc^gomUh2f@RI&Wrm4Hm6NP437suGE1FTjHfr}BHa@#Dj- tP?(^hx%21Hqf4Joy}I@5*snK$Ab~-L@8H9WA5Xr#`Sa-0t6v`i06U$v6t(~W literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_localcloser_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_localcloser_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..fbad052dc2e69833d6c28150b84307a91a0a6645 GIT binary patch literal 607 zcmV-l0-*gzNk%w1VQT;o0K@W>d(*5M@L8B-`|OeiLkJ+(9qD~;o;ui-jqodih?0s={*k6}y;ut*mI37MO79tq0HyhsGX#7oH^0ozF4 zNVR7Hz@{E+rUeEc2C&i4#gR;+a!Jlg)k&2f36vSq=JtGBg`w5658yHZ@r*%5D?EmO9BquB8)ZdnKO?_0?1i)0f2{f*`Qc-(hp#! z1{{&tT*r>ohXKAmILnzN*{q~ZS#t9Lby5JEazq)(|Z{ zKrpkx)=eUip_KtqYuT=ZcF+TywS8>Du~f=!0g-+`5GZh=F@pl;@@62qL~N4)*Zi*G z>NU{<23;AT!`yX%G*MoYc^gomUh2f@RI&Wrm4Hm6NP437suGE1FTjHfr}BHa@#Dj- tP?(^hx%21Hqf4Joy}I@5*snK$Ab~-L@8H9WA5Xr#`Sa-0t6v`i06U$v6t(~W literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_localcloser_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_localcloser_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..d36e1944c7976070d7192840703d0a7963d2ebe3 GIT binary patch literal 606 zcmV-k0-^m!Nk%w1VQT;o0K@ z|9X1NTwIwmGgY6T|Dd4%GBQ)u)&JDg|GmBc!ovS#WT(Hs|8Q`-DJeu!Qi#sZ|7~rx zv$OvvCqV!J0GXNpA^8LV00000EC2ui0BZmc000I5U?gc|X`X1Ru59bRF6CGgXWw|P z?|kq7z#!03K`1`Rq;kn@I-k&}bSg~%jMS`l%k3(y*e9cb0R%n^%wieHU@)08(hWy4 z-uN~C%~)dkOBZAW7fEez8A=y*b{JJxM@|GD0vMD57aoO%0+gKsXBnOz03V`zYaRt} z1)548iAoF}0~iAyeF2>qodih@0|QB-k6}y;ut*mJ2br659tX@r*v5D?EmO9KwuB8)ZdnKO?_0?1i)0f2{f*`Qc-(hp!J z1{{&tT*r>o2LZl5ILnzN*{q~ZS#t9Lby5JEazq)(|Z{ zKrpkx)=eUip_KtqYuT=ZcF+TywS8>Du~f=!0g-+`5GZh=af1Tp@@62qL~N4)*Zi*G z>NU}V23;GV!`xMXG*MoYc@t2eUh2f@RI&Wrm4Hm6NP437suGE1FTjHfr}BHa@#Dj- sJTS1Kx%21Hqf4Joy}I@5*sqT{0HK5T@8H9WA5Xr#`Sa-0s}BJHJIMbIl>h($ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_localcloser_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_localcloser_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..d36e1944c7976070d7192840703d0a7963d2ebe3 GIT binary patch literal 606 zcmV-k0-^m!Nk%w1VQT;o0K@ z|9X1NTwIwmGgY6T|Dd4%GBQ)u)&JDg|GmBc!ovS#WT(Hs|8Q`-DJeu!Qi#sZ|7~rx zv$OvvCqV!J0GXNpA^8LV00000EC2ui0BZmc000I5U?gc|X`X1Ru59bRF6CGgXWw|P z?|kq7z#!03K`1`Rq;kn@I-k&}bSg~%jMS`l%k3(y*e9cb0R%n^%wieHU@)08(hWy4 z-uN~C%~)dkOBZAW7fEez8A=y*b{JJxM@|GD0vMD57aoO%0+gKsXBnOz03V`zYaRt} z1)548iAoF}0~iAyeF2>qodih@0|QB-k6}y;ut*mJ2br659tX@r*v5D?EmO9KwuB8)ZdnKO?_0?1i)0f2{f*`Qc-(hp!J z1{{&tT*r>o2LZl5ILnzN*{q~ZS#t9Lby5JEazq)(|Z{ zKrpkx)=eUip_KtqYuT=ZcF+TywS8>Du~f=!0g-+`5GZh=af1Tp@@62qL~N4)*Zi*G z>NU}V23;GV!`xMXG*MoYc@t2eUh2f@RI&Wrm4Hm6NP437suGE1FTjHfr}BHa@#Dj- sJTS1Kx%21Hqf4Joy}I@5*sqT{0HK5T@8H9WA5Xr#`Sa-0s}BJHJIMbIl>h($ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_number.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_number.gif new file mode 100644 index 0000000000000000000000000000000000000000..33f303308b856190585ce243cd5c6585bd7de6eb GIT binary patch literal 480 zcmV<60U!QHNk%w1VR8Tt0J8u98yg~{qs)4GnGOySUtf1bL{(B!X0fr|DJe6)zV3*K zs+N|!Ha0|UZHNE>0L;w)A^8LV00000EC2ui0CE5h000F4@X1N5y*TU5yZ>M)j%4{T z%M=jLN(sUvpi{#HGNUt%6zn?I52&aBb+O07z$hdwf&#;Un;Z(Sr-V@5I0gyHf}teW zdX0f$0vMzkhJ~D`M9Ag1gi|f`BzR zLr$asu|)v~4w^-5-~fjyv}h6JfeV-EmYAF>MEWw&LV&Xl49UPXp&MJcWEjxx!PA7} W$B-jSo=my2<;$2eYu;QU0suSAL%4$g literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_number_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_number_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..6d672accc6b9494df75a7665685349aea7210c73 GIT binary patch literal 416 zcmV;R0bl+{Nk%w1VQv5p0J8u9%*_97ZHNE>05mX^D|zV4%=%wJ!38yg}H4iS2K znNm__L_}4wvE3;tGl+<)A^8LV00000EC2ui0B!&d000F45XecZy*TU5yZ>M)j$~<` zXlf0_WE|?LDAf>;LQ+VCeUpJeMeqv=0=^z#CV2r40YpM^$Qb~IMGgj73mKnf0uguuMeBd!NkTmViRL<~YoZvaXI3 zR}+C)h!l$xL=6ZHj6_il1qhFk01s@FHjV(Q5|A83uLO!hjJGWSM8n1d$__Ti1P-9W zEI6DkOQMMNOp8E5G9Zk2$CBd}TeJoPiJ?5zY61d164b$~w;-RW0qrEb}&;kIPaY+F-tfOt?uiw9VBLDz9KM0~| literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_parkcustomerdial.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_parkcustomerdial.gif new file mode 100644 index 0000000000000000000000000000000000000000..195b1a9032282c3fe36670f53ef490eb05a366a9 GIT binary patch literal 896 zcmZ?wbhEHboXjA=aFv09i%Zbmy9H(@)%_qi&)rXIi>ShWSLj4R%Vr%!7+P! z@4OA0^5!gDJ6Cz@x~(${7xYb4UbQA~^6{QUbq%?BN({XWN-LPJFce(rWm1w=mR6d| zsl+s^-~qd=lF~ex8+o5rykmODz_I)KHsz>R;FAl#sOABQATBHO0 zuW!rad#W+XEa?#k>r=Nmlb>fsxfMJ6*{hlEU15dylbK$8S%wL?OYLXe|N&la5 z=fuvwRK=aIiF+zp!uEyx4idqYK|;wH7flI50)EF5zWhWJy?{_CVnUU-`YpBMD85 z-YoUCe4aRUt|+_9PR0Zo*TMomzpoF{@74Xi`z6s>+2NUdoYESzLnX$$E(&*8F>aM( z;*4p&D$U~2(r3i+#l@E?`)cWoNlY@%w@sPnw9ko`eEVZU3fq|={=WHFZd{!DMYrk1 z%#39#pUE1nd--g30oSMFEJ8I2&*xS=Tlsum&9|4&=Qprvy;#ul&hsF%n2W%nMLlM( ZUM!yAruA~kl(4LqOJ}5MWePA@0|3E^b0h!& literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_parkcustomerdial_OFF.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_parkcustomerdial_OFF.gif new file mode 100644 index 0000000000000000000000000000000000000000..7c2757329221b9c5c8cb424de56c21a5f601e295 GIT binary patch literal 896 zcmZ?wbhEHboXjA=aFv09mzOs_K3-E(bMfNE($dl{E-qD7Rr~hs+qiLKU|?WJN5_pD zH!fekykffcJa{m5>eSra zTr)GXi4!N@ym|B4vu7qICJYP=XU?1flC%JdKUu)W>VQa)pBUKwJNP_x){*Kzv83o^ zj@A4ND@2pO0%#IViC6{)Zhke(P_)|FNg;{Csn!oZ6=5 zme#iR{QAZ`nO+%Iu6#}z>4LsqMs_7;8MZt|8O9zF8 z^7x)=Oj1i)#KHR1WzOX1nNe;9k5A3@7I(jA$il!CFvnatl!NJulT=MG!#wH#Gwz(& zx%nku;xThM*9A2vjE^*QDV_dl;+d`-#3XIzVN$RlDtzYURfP=dlkb==FS@g`nR)9X z8%9Q+GgXiIRx(&HZkSlS(>&#nTjKs!25<8tv-gVbF8a~+MMGxw<$HmvQxsenc;7v% zvVPI_VDFZ;`)6{!g%7qdurRpX^8D(%ckfa&h8wp7bspS$S7P)wW?jWDyHsIJBt8?A43K W6Wp|3E}0UR^>XQqG_6bl25SJM3vzk@ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_parkcustomerdial_OFF_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_parkcustomerdial_OFF_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..ef710c9c52b9504fcc81678712bb63d7f50799f4 GIT binary patch literal 661 zcmV;G0&4w7Nk%w1VUqw50J8u9dU|@()6NTJVmjb zXsWJk>%MR-&veZ`!V)}u@BhG{a7Zi~kI1AlI7sN0(5Q4ut@fJFN5a893?2>y&XM3D z9KdaNaOOG==b*swW}|zDM7w(i@WO6nYFuRxdj?_$foEbqhhkd-Jc9;)2n`O1hIe2H zif#y4J6Z+_2?ht9qzz`AJ*TFqXQl}NaX$kN1g8YIJbAOGwwZqb2?wPJu%?Z{1_lEM zd8WCIJ;4nI57~vw*#ia*3E#e9(zFAjlc}54+go40uk3xU^6O^3uE6%0eqmbJ9RqR; z9DqDN06MyJCf7K8V+1((0!~0VPlb4>3)lltsEG#uB;Diq=Zv%i!+;>XwolI+X~Ryr z8%XM8GfsJsom90jRwZZ?YwD!=fL}*XsH8pENYo<$b7e+0H3@U%%6KiQqHI_SAk9-Y zTj4pDG?hY@To4gxfFNYeIz)|@)Txvyy@_E6xX~u{?$d>71R~1XkCaz|>;Utqw6f$6 zd33lC;0RA*lSmDhLiNG46xdG5p4y?+XqhZQwSwtswTp~ujH**UpaV%T=~kwYMVpo& z*REP(H9D|$iev)<;0)-622Px!-RPLQ@dD;)qe^?oOqyJ11KQjgcMe2 v;e{AxsNsejcIe@UAYKRn0RpVmz=!EFvck3j5OBRVgvv?;L$4! literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_parkcustomerdial_OFF_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_parkcustomerdial_OFF_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..72dee5c09484be2ce4a5a9a274703f47d6492d2a GIT binary patch literal 916 zcmZ?wbhEHboXjA=aFu}}DJe-tMuv}%FC-+SzP|qG(W6>gTHCj8U%7JSx^?Sr-n`k{ z+w11$cJ11=w{PD*efsptlP8ZJJ?iS}a&>j}^77iYZQIqWSF5V3X3w5&VPR2NSU7Fk zv{$cQnVFg0yLXR)f#LGy%RrKLK=CIF*l-;X3Gx#I+kc1lW@jC#{u4`zPUcw6zp%pO z=LQF*d27l}zpdK;U_*tE-t6=D+Kwz{*m?iMjvBx9x8MKRQ+Iy8IzvuvQ*%peTYG+e zW0916A2X|hyaWfMyyQd$26-lyd^Y)+eSHiCtdjDK91467X`yLy&9cWGB{52F+V)4IvbcbS& z60;PuJo~-}Y)os8oZcw8_R{VzYJwRo@8_EM=l${&R%>A7V0>_|reXQP;0B)AVh1Lv zB^+?elrSj~wmi_=$gu4X!!0p)XMF*s{KS^XQw)av3Sul03E4s%|H~xqF#J9Fz+rXx zpD%B(QQN9beNNPP}?_CTy~ZSIC>p%NP4)6ThBraAwmsUQeQW(u#uLhH`&?tl7T$p!n{{ z55CMMKC^z8iZPtJ#=tDWvSV`btc#~-OlGQhb?a^Va^}r8zD@!cd4Da~(8K1(<-S1q z!H=ggXOAZs7Oha&;C?=QqXKJt1oIcxCe{8K%f!s@xtMS=e`8??wp=08z{9q~Ky>4j z^qD4VlUlh#Rc6>fWJ&d`V+%F8>h#m3iJ?fO(rIqGoM=XLhC*j3gT;$N)`nIs-Ak7= zCfsRa&{)-Tv{Rkgf@N~6-QN}GHCL|r1#Qb_0L!w8+0K4caPH9 z@&^xuAK18VYB@2t;@QgOvUlIUd_KQ{?~^;TXimb5g&k_EUM%V{d-Y=R1UIdhOQz^m kF|u;|TsXLFPT8xM%NMk1y;`wkTGp$TE0$?x2{2d#07AEQZvX%Q literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_parkcustomerdial_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_parkcustomerdial_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..accda01c85b5f905d644563725477b017d5950f2 GIT binary patch literal 659 zcmV;E0&M+9Nk%w1VUqw50J8u9rl$WmI9^;_nPz6He}B}!zyHM)X2nw! zOscMI>%MR-&vb3y?lUmJ}YLgz^M z5DsDY`#^gg2lQ~zfVb1XL&E(<3&MP5YhGq|UJV2f2XA6xL4jjk13rTee*|@icRyl_ zZwOjFTn!0bV2%k54QF^jsikmer3nIZK?Du~T>-W}da|Xp4yzBA2?wMIucc#mrFDvW zrMS&Mz^V_bh0EB(scF5P(g_5ilwfz%*&Md}Y1wE%BcK~3rdSJQ&=qK@ha*IJr2k@^WW%t^pi zf{cIE@e+V<7Xl4oJp>rBP+y9aNTs@&tSJFtdqO{pBZwC2W@vPkd5v#Y)jEk)Gs}4_ zO~_febkQ<-)RMAQ{u)#sh8K^wMbUuMeS^-D#xTO(Y@=?d4!EFvck3j4Va~06Po*Dyskh literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_parkcustomerdial_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_parkcustomerdial_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..0101ea9e8939ac0f00b6ccfc170e45c9fb9e029c GIT binary patch literal 916 zcmZ?wbhEHboXjA=aFv0<-Mw5yM2U+_(AG9BCT3=T|2uhkMm{E_<#BG z|7mHfjEzI*&;Nhu(Et7W{~H+vx3t{3a^-(Y%5qcF$OQ}jM@CM$diDR_z5mnGR~HoQ z*3@(f3hFp_?tgCX*3Fy$tE)RQFfh!V`5#D99Vq@}0h_48{c$!AlV+1JNVz$&A}$gV6Sn=h@jX7NU) zrIVyrES|JjCVyw&rgbaUu9)s zFqnaFw#0!+Y6%D2GNr9bge?#BHZpAc!*EM%x$}BKrToN}$Wsi4{mK$75((LtIR2MO z-(mQBlfiLy_@6ItwO)P>+qj^x@7JS*hPffjg*NgkFr4l^y)Hjy7vqKQSa#-{Vdn&Q zzZYW`WMgp2`jvJdY|A8`0uBWQ;fVNOyWYJG&w8|HS;yBRhZCFlGB93830-P6}{EbE`K zI5y}&{O=y6v*iyS2tTlK-PCeoZpE{e%VqDreffNT1K+21R-u}N7YjSoR=rr%WA^IB t;t6hAFPBWwt8!$OauGPRY);v$m&+HlX}wypWLnm%l`EEMWeG4?0|3}ucW?jz literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_seconds.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_XB_seconds.gif new file mode 100644 index 0000000000000000000000000000000000000000..92fc7f2b380b00341c73446d06dec171457d0a9b GIT binary patch literal 352 zcmV-m0iXUyNk%w1VMG890J8u9zP|2ydYKLm5no?-v9aALDKkVwRT~>3qod4HQf7#V zsx~%6ZEc8_mb(A|0L;w)A^8LV00000EC2ui07L)|000F4@X1N5y*TU5yZ<0X49mg* zQmHP}STa{U;9zSA z0@Fh7(kM`JV2c1jNdO23)TG8^2=sAr5(EMd3L{z1#|#@C^U2g?z;~N0^0-zhylwF?FSm#IB?Jp y*1&_`7#tXAK$W3|0un@`XDHCYEa?_HFc3*sh>su*Ly805mX^B?4iR5pcPS||v9aC0zU~_v zB6@n6qod4-h^j!BA^8LV00000EC2ui07L)|000E~5XecZy*TU5yZ>M)jvrzS zLy(Z&z*kR~XgheYDw8W1D_pa6&{Fc<}C4>|#C2@f{|QUOc|X&eX(1_}=V0SYJs1q60M zb$6C}6LxtL2|5D}ri2A4D;*0!69)tV4m30godBFuprtwzq*nl_ssN`F423=&eNq4o zfq-{z2@7#^E)IppwFe8UPJA5C)>f3^Xp1hyVaP7j05mX^B?4iR5pcPS||v9aC0zU~_v zB6@n6qod4-h^j!BA^8LV00000EC2ui07L)|000E~5XecZy*TU5yZ>M)jvrzS zLy(Z&z*kR~XgheYDw8W1D_pa6&{Fc<}C4>|#C2@f{|QUOc|X&eX(1_}=V0SYJs1q60M zb$6C}6LxtL2|5D}ri2A4D;*0!69)tV4m30godBFuprtwzq*nl_ssN`F423=&eNq4o zfq-{z2@7#^E)IppwFe8UPJA5C)>f3^Xp1hyVaP7jk{FC}wc#;SEWueVM398r>czhd3{n)m;0PabB}bd@@=r08VME2)WsEHBqYt-t0r z@zH^*{SW3kn{dxQf4!aKY@Yu0cROs@=ih!>y1YSv!>59ir7YSvY%~i`jd%h{> zer9e)?pf^1R@9#5W}ACjbiF7W!}aU4*_Yqgf9=Ma9ihz355-tSZ?6^QSjM!U%78Z;w3stvNscxG93$>gfs2wj*S)Ub1n zfWgU=4BA^lvNuN02>swH6Q}$1=ply2WsKbn%zJORUulSTP38?~uzV-F!RLtFwhNjY zF8Dpu5eeI+ym5z`aaA?*%d*n7KVu+}0U;X(79e-yuW8gAubIuz9J~YEG4Rz3F=6aJ@Z? c#UqxZFPk69=FB+psC)fEjmP35Ees6S0P-{%DX~%C^jG!Y#>w!6?wFQ?Os6tfSw=re*4{XzVq$b*^hia z6m1NT0c$t|fK(j_A;3U8ht$2b*Rnj_-Ohe}c>Hm_i=)tFg>hDjjKA6{DkPxoR^e_x zul}ZLgci_fxBOxX8heaJy3pK9G&zJ8v`E#7=C#KUgrk`WG%<)KhtaGC&1jJ38Jc*C zreC1(0W>>_7Ut1Q6;k)05e1r?LgPtIo9v=~#i z8k|GxNtqnIgLU--Tn!KNb@fBm@$mqJW!O~ReMbPJUDm5D`$b#_4qhqOCNrJ*UwBfk z1IdsY3jkxxFoLe#82G7Lxxx{=jcyMH-J^c$Xltc}Ht?bic2M@E1gxR#GO;+lIdxtF zX`~*tR?O7ek&GDwY3A@<+Wj!?{s|BqN+_X(0sw{oB|pyIDF9RKkg~giI|9UDk#11T zGe?09hr~;O0}22yhGGB?7A5!sf4IUy$}WGAVU~HVV#yMmf0tUDfV)ukKVt*9BLIi8 zZ==PIT%iV+EL##!(Bj&~LV!da+#2BE8#P1V(C%mPz}_&6V95XjmwYZ7AnqV=YW&sQ-J1xE}n(d6ux3ZZ_Tn^k84{E(=msJt2eZ%hD((`(& zvvcbXoUr&y=X#tz#>=uyt)a=o4$F$X@M!q$ULXV{&E+j?#KFg)15$`_grk_E?AvYT zbTL4%j>%x&1aJ_rI9A@}m+zh8mf^2`yHO;Jc@{W=;-mm++SQvX|{CJH0w}D-|-yc-)qxdLHf6X zOl6Nk|ICz;u`}s9N|6NIR!pe^qkoKvvi#i8siQAeVdl9iVP=E5)mKlvMtHzUP^A;9 zG&g=^dqrm7@pHD361IDR;M3EuY;N+Q<=|lVx7vcn;nZ_B;;{1`$5O*mi7k7EGyMI7 z_a={K6-6YZ`|r6T=4tb7vn+oaeT%p)AahtsL3w{tMPy8FdelF<#Abf+=pUyFOj-)E zVSA!Y;C(alBHef=^U?{=@5HGmy(8tLgVCFKim cPsNm0_r{vCi=W8HO8AoUu`>BCl7#pF19qqXn*aa+ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_tab_script_es.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_tab_script_es.gif new file mode 100644 index 0000000000000000000000000000000000000000..ba4320d4a7ccc7d2131621cc2daf5ef5646cafa4 GIT binary patch literal 916 zcmZ?wbhEHb%w&*bxXQrr|M`Xg|Nk>EFzjAA^Z%cp|6g5mu`}-J+Z}DPpdp9an-Eu|NsB}e|hEq>l^=ne*XXO&;J*f|9^b^|L>pw z&oBP}_~ie)d;h<^{r~R%|Mw66zq(v2~AU`p%{Xfu9;GrYce_~0|$sDWs7gm&bt&LiLLp$;G+p7H! zHdOfN^_%*iT@`dgkKY z-mOOk51(Q`bWnh+k(r6@>V<xe2BRWletwj^At}bY@$Tn>c{fHn(NnTsyf(0L$`U@APZS@wNv-KFeoHEM?3C0u7YJENj6fEL59y<7h z(IX}!VZ)?}&%>6zsY+8|V|w%OT^0xPDkWt;#$t|-caCuIHF>7^W)!Avp7iwCGN0d{ z9?x!?(JJ#{hx$T6HwTXO)-M`c=6&hui{W-?YKqD$be<P5(q*eij;5 zc4S_vgXp3|tWFCqoYbkl> literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_tab_script_ptbr.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_tab_script_ptbr.gif new file mode 100644 index 0000000000000000000000000000000000000000..69e43b796cf4e54e22bffc09ba16377d76657104 GIT binary patch literal 825 zcmZ?wbhEHb%w&*bxXQrr|M`Xg|Nk=p8GnBMe|2s5%9$>9<{j1f?`|A2*3%N?=bPDG zt0XUz7887C=dw^=*SjaS{Qv*&|H~_@W_AC6edGU&%m06V{{Qju|9^k}Kfn0@@1OFV z#Q)#l|9}7B|Hmi)e|-4={lotckN&^E|Nqi-v){{Q^) z|J{9{?PLSRpDbX#Iv^6{CkD3v2O0`Ibfo%EEGasfV>SQ6iW0B2QR{EKPB{IxYX5@` z6+U|Xrv7I;olXec`>>Duo=f<9tPSFh<2^AYc0-Q2^+DzJ8EtGM^VR$(@#Lx(uo+qgLo zAL8e0W<7O^hmE`WAQNlj`3p>3Y{wd}-9F6Lw%lt~3;Ux(yv-aZUthWT`taKahi)+3 zdd>O$3)2&xyWz7{h7JMPlO?5(x#Wr0>=9LU{4%sf@ebu;|eTUkHpQhOg zEIh5X(j{eq9m;}Q7nX9pZH%nx{+1hj;ecAhzW?9EwAQR(TBRf}qNq{upfQ;7{u4K` zwCUQ+Qw0>8=f>O=NOzU*DKSWSeZbZ6)jYOERuUB*ui-; zxHZyLqvu)hX@+fFe5XF&b-Xd-u->e`6-}H<3NI$@d2wLYV}}nyHdomF8_zy@XnB+& z{@g@W&gzZ^hZc?w0o6XH4Ku$h@CY)gTz~g)~|G?A} zzRVh790!Wk&d~xvUYN9TUS!7si(BD zt#4~*#KFLXfO}?PT*}JGeR*{PBvISj+dDTi$;ijHv$3F_nngi9pPZMCiiK5Xe3Ffc zu&t?xAsr74 z2)VkwacyZ1E?6rmC2xI=2r5>%wzQU%j{^b$rK+w;MM0yWofHxd9~>DmE-I0iqB&1& zrlg?@2?lCqV2Ff(nV+Q)4h%0WC=M)Byt=neOGf}7MyjWyC?+BaC{ayccLgU?3oKU$ z1_XO~bm{5o`T641ejE# ztgV?6XM<#@m1V6Usw{I(Bu;ZIuEDJmrF~~r@_hwo`lY$7&oH};)Z1EFc z&{SLheEb{Xp-T!abym6P;fKl5OH?r_SmN)%B{nBVe3eO)5*`s>&g%FQA%d2*ZSTDW zRp4HdKTfm|(eh%IfGB>fTm#%k(})ZHE4zN; ztZ>}6-dd9xd-ojCMkNdQ!$c9{?e<3pU4W5O1Wzb-30v@i0$UhHxU<4NIPkX#3nuu3 z8#=Jz1H){Kh1FOcDd0rJ6;xzGpi6SfZQ% zij;T}0ZtJRu-b%~`LS6hxX?ow6H{seLYA47@l+IzvBrr7EZq~v7Jta#&k_PCIUY?Q zJn^Is>1i^fW|#z!!3idq07C;zSrF3%l$7AW0xnciLjzd^dcp?4Bp`(YQ~VJEQ3C|< zqn>=>BgP+6_%i{DDf%H61q6JNQwn*>Sml*}d=R2PeoRnA2KSs05m7!EKnVs`;Oa*b zEtJsfA2Fb20+^Oumx+A%WbwxY6{fmss}DjXYqkI!>B9vpz(CXmrTXC#9C8UUn+yPs zTP|S;1nGxi8?a>UrO836)oJ?p9}HI>4&utd$fokqPZkq5xt5X7C691~FA< zz{4L@q5y1!`LV$t`uR~2znLgt8xwK>=m$!dEU9W^FWeb{7YkQtFB8IA(gL=Agwe58 ze&DuYUp-gy^F2{O@yF2(Xd*2%JcgwPYWu}JCnXxRIN1*CVX~){l!Op!l9+hs#{e4@ z=m!Kdx{-+yF&+2^Y*9(wA14s_6GfU~jI6bSWaR`#7w3r0@E=Op6UASb6v3AXo}O?I z00|Hlg^rh0&`%RBv`{RZdV9iwT*lfxIFo-MaRm`+eX+w0io*v0YD{>F2^Kdd@g=rl zRG>vdY0Usr5(2pYs?h+7S zNs`RxhbFKf0Bz~tB}&#IUiraSrSk+7u!fH+z%N0p`$G;0aHq5o;R|25%zJ1=iKAJ; z8EFqEekJvnvz_xE2*`sO}3e7&ut;o{a4a#FH3 zCYJoXe7fq|QGQ{ER_ye4bl*IC^}m1rrZ)Ef{qy(l?>~=@-uV9hYi4xHn_JJGoxS_$ z_|1ohufMwX_|?_NpI^Lxc;x!)>rWn^y#4sZtsfu1zPzb$=i>P-2l3TB%t_{1*~2NM1uUp!1n(@LxG2mRR4)3MJIEt=3iJ* z;e{VImjv#8*iqxRUYPI4p1Skri{tdlnwnXp)H3~) z7`l6U`}!wLoHTjL)M@=n{wmYw%$+xXfr_8%f~Cur&r|gkQeLrc{RReQAs_LL+jq

    >?4tw&tk9Gv&APT)Fo zZo;i8(px;Y^>W_g=;P!$bN9-F?h8jciw~TTS8imIw$b?UR*00C9>)WylN(-M+a|S~ ziKDw=vAcV|>Rg9INTzb*Lo*JK-R@~}&x&P>ycl*vrz0*_`b61I&U?SOI zm&Prt&-L3PDCu;M1h>H169yK$D+0YYDfD}EduB2gv^1FJ_3H?p*}@csSi0s^0yn60g? zb8~a%=H~zZ{{R30A^8LV00000EC2ui05kv(000I5AQEt7X`X1Rk|T#$7Rv>qCkTsY z<2rxmi=0j;94>B10fqr-5E@VjBRAj(Iu*(0a>!l=oe0<~iEJ-u$pC%XL@J$l=aFzu z5)8&9LzoCQRviKcA0HPUga91~00#mWh5?0>0|=8JfpK(C3=a`gM|hj zmWqrA1&|v9G?)ev000I70T%^v6$efX7zF|Y02CQe4GyS@2nCFduYVs7IfNYx9RM6d zznTes4+8@Z$$Sap3eO*mxQrFAvDe0u5(O2xEpM6=1S$-eq%4C13>_N8xH8Ba01e(g zENW!U!MzXp4p^FGQB#vgg$h#OfT4mycNYNGh~nUiA|#6f@D(_aOM`)1aOO;CP+*`) zOae?U6hugZB?N>juspC}gT0s-XL|FHBix*E2_pQ&grQD5hJ-YJu&IcUh7KG)47ixD z8v-!{BFO2$;7OfQ8v|fyqQPAULbN^{z%>a07N{8kTr!;V0YFj-N?Hn#Aj5=HR|E#= zQ02gd0I(_{;2;4`EDl{N7%*XAE*yXj5*+vhg8+mA8v=MJU~IPl-@A<+xxu@4aUnp8 n7Z-4s8I%bH7F<9uV1xDR*t2Wj&fPj11u!fq(9q_Bfe-*YMzrL3 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_volume_MUTE_de.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_volume_MUTE_de.gif new file mode 100644 index 0000000000000000000000000000000000000000..b828c5fb233dd85fe86e3238c7e02a6b302a6a10 GIT binary patch literal 1220 zcmX|Ae@t6d6h7})d6cb`%a8&cdqbdwOl&5u6_vD8rkjAMjF33A6DE#OZ9ozTTkMaq zjciePfr+wggMsh|By1s$DB5<81O`kp3nR+5;wTm+3^$2^Q0sktjPu8R-#Pc3?|k>3 z`(E3>Pxr#%bO?u206RFYrnYuvWo2-1Fd&mHEiKj8*Z)2{o1L5cu&1Y|v~+E4ZFzj$ zpPJg$+39`sXtlWb=GfSs>FK|1wrq;>EiANawO9N5m;L?)lDyc`(%aixSy?$hKOYDL z0Dxyq@im3$l&S^-L(wSVLqMLg3n)dfNbqy^PCjwPRB;Pq1*8v* zVxFfz!f7aJpm9loUEB`yJAN9$_=!;{aUElnw2X6j#w_G8Cdc)AVvghb1FQ{zj9c$_ z+(-l1k{7=t?kk-#gT*UKA9fyU`jIn>!JOMG0J8Y%VN4iB4&c_x40+r-2F#K1!eE3G zjv1Q8hvuS`9ug9fss)qth6cX}8s!X1)(c`(azRX}xn<7DXMVzGegGu9aVOw@^Fj`* z9E+kotg->A+HpsKGE6cBZvPCf7EA;zxB;?)0SvHFNL`ITO05T}I)V{l@z1zLN$_T zAV5)PPynga`Wn4n>lO{3BT`{iKHL$X2tBLYJ~9m;MXGf?2tH&t7C#yy3~|GP1IKCN zlh}-kPa^0NIj`j61QGXCN-*A_6>6msKTpJ7X**mBw_N$~PTgwT28Ri%@Jl-gIa!bo zU~Qgr?p&quUI2Cp8NxpSYycu?kG}7c%g#ooCh8g}GVCcu1LVgV~1eSY8e(Z{8AR9cKt%^9)w7~>u@caDM(GS4^J`fq~N0km(e zRlDptqmNV{*BCAKYx^VB1zf?MIwwlJG(2!Zmi$zolrfjBAKns9F$ zfQxB5@iMgsEE*{chEk>!kL|swZ8~GO{N2TZPX{hXPk5sZru$P7Y*$8`ftVbAYr3r@ zEly=gsBM4WeQ@r|eNcNGUpRg!v$3;7#qt9+-x5WVZk6-1@5()2QfjW+X#1_o>3n1F z@y?=SivA93VabuxZ!_Q2tV~w?$~5RDktd#SJsF!jG<$SwqFG-cj{pM^M|%uJ`CYZ; zbM4it+gZAKMaSzL6Vm|^H<@2(W|x^DsdCQSlwWYv+gx~{#>GhWB~~)_P@jvD&@{aG EKka^nF8}}l literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_volume_UNMUTE.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_volume_UNMUTE.gif new file mode 100644 index 0000000000000000000000000000000000000000..b3937d136bf7655b0b616171e5682094b08bd25e GIT binary patch literal 624 zcmV-$0+0PiNk%w1VKe{_0K@FJ4yiM_qOfq{WmR#xur?)LWf zb8~a8t*!t6{{R30A^8LV00000EC2ui05kv(000I5VDoTfX`X1Rl1A&kPxg4pHYMJc z)OteD8=Z$hs7;DLkJ6`H2A>;Z&~q_B9Dzy!TPRclmqNr*2!I`j1Gb`8JKl~l{E{^X z7KaWZpy^-+3=$In9}pP~5eN+e4j&W&5ey##3WyVx79W})3=Wc-4Rv=14FD5-et;1h zgb;)Z6AcZG9|sqjl$Mna76J?p7PkNx4+?h+8wHXEr+t5ctc8RP6^ot>9e@nE5tknl z9vBQ72^S0nN(2%Y7abIu%&5;2(S{7z0<#Pa7#so=3MzFINZbg_La_r6A}AP80fU1HrUh6@?Epgn1P2V1zyRUP?*$wT zEFkOQ$dLsIh#*+tgZcs@ zdoPuhsGe)cgIMSUXliO&U0p3HDY4mXTU%Q$m&;@_c|0DU&ld~^dwYBRe!o;IRjE{C zV`HtYtzNHpadB~JX(Gst1 zT!85MefyILyS!0{pD1s}sp!t+5tSS3P4(U^=B64p#)%f)3UQ(#~U8i7ad&O~#mf@;o} z@n@)J%6eyfU^V}_Yrjp zPab7WU<0@#0Ex10GIXw7tHvc^OZ2}CJ&tSHE@mvv132?Y48%Y(1zo^P+Rd;aY=DKF z&m99ixwh20vSNu=;(J62FH-!4JK__er&JkkJQ*=kY~zbyA`ar4nvGyDF}!vJF^&5q zcC*|ku@e$?MU|Mq;VVWF#$j2uRvdSGF6pbjhGw`mT?MbUZ}o*WG;k8T)xa@590%Cw zUv@seCBSD& zM3yEwtNxvC<3(gv!Cf6)Zxbe|yPQ8g;E(Sw@UPt6Ft}$EWE1W=;w_Olie9+srHP0i z2CEG-6IVtSZX2qNqw2lRrg63Wh1C2=_7UpK2KHC@95{OGv+2QJBy?{)8!<&EUP2)IU=``2%Jn1yo@0nRS z%KuTWTi}u8H@}@2scvehBm!^TrTyNyxL${aFJHbhef~(o@nvf%_3;3|=#aUPhUfnW{l>mgI5;?LY-|@4yXooaQ&UqG78aP8 znA_Xiy}aJOzP{Ad+lYvWd3kxXw6yH(?C9v|_V)Izt*!3v?yjz`@9*#T_xE&kbOQjl z=jZ3<=H~zZ{{R30A^8LV00000EC2ui02}}h000HyAOUG)X`W~aA&^JCFqO@8?alA( zHCopFzz%0f98NG5#{qb}^n$=5aY9ifltGLWAn1C(00{DoH2+r z9v^c>Gf-Qc831x}02T;&hzSD^1Xvb(J_3Uq0uu*^h-MBR1qv1&k52<{aRv+%5}1h# zsSy*PkUxTP034_q1Oy3r2^Rf>792oG zPe1?wLQ+E*$^#NnS}hju@D^k9^cf2r81G{l5eN+x00UOIK(HV|fDtYXEEwTI2mm`& CYKtWR literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_volume_down_off.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_volume_down_off.gif new file mode 100644 index 0000000000000000000000000000000000000000..9bd1b04fbc675d9bb4b6c59d0cf0ecd48b230922 GIT binary patch literal 343 zcmV-d0jT~*Nk%w1VH^Mt0K@fA$jHdPzP`7&x8L92!otFBZEeHD!K=!hPQp+T)u4H^Ll(y=5G07wuA1t>P?G+HrXPy&ra=78}q zoF8ZhqgGc05nmaD2LT2W06`peHx_*x4Hp6fgOvvW9S9aqi$(+vY6uLHl$CP;lMjlF zI239RACd(N3kQT60}f+)ISptAM*<8Ba{&RdWJNbP69^j&Iv3Iq6U3-btT`00NFNXZ p5)*jIEga_O=;<6C0N&^w4-pg?^z|4T`1$zs4;uIR4-A9=06QvQkmmpZ literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_volume_up.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_volume_up.gif new file mode 100644 index 0000000000000000000000000000000000000000..8aa17f195edf9fda7dc19f79af61b7427d9f5f07 GIT binary patch literal 377 zcmV-<0fzoZNk%w1VH^Mt0K@88 zcH_6Vx3{;<%*@l%)9C2vq@<)478dU9?Yq0XX=!P*v$K19d++b>va+)G_xF5!eAfT~ z=H}+-=jZ?b{{R30A^8LV00000EC2ui02}}h000H{Ab?n8X=!Mho*GMP6yjxcZQt~q zUD@nSnha;iSu8l6q%!%qKpYtefN{B0f0J0t!HE0fQS{4-x>2oDqot4FCiHjY4jgaG9H& zb_O045EK}sK?{PY2Lqa{t(pt~6SNYQsBc^f2?-I45wjY>!5A6?Th-P9149ygb_4_r z2@@0olSJlT4^7-0vl9XUR)FS6UP%`OeGdc_00tS-9wZ1HIH!t1gKRRm@g$ZUN XnyEmsB1JO{DqvtRK_deJApih702q*} literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_volume_up_off.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vdc_volume_up_off.gif new file mode 100644 index 0000000000000000000000000000000000000000..2e78579afcd215a133314d1270981224f8b847c8 GIT binary patch literal 379 zcmV->0fhcXNk%w1VH^Mt0K@mBSzP`TH)YP)Fvb?;!mX?;Ps;c7R;@;lg-{0SAYHGp3!Q_u(i!}4b0ef z1CO_Lz)nEW`52E!%p|ax3=9~I#usFa7)Yc=;)n<|kU?QH{Q)N&P64@yS_&BlBQQuP z1_1+Am`EoCM*;>41Q{6!5FP;y1QH27KMVwEX#`jo6o#4(0t5pB19yo(5R{Y?9~T3f zhFt&+1q}vbJ_3EF9CoU#aSW;k6bG~yE4XPM3<(1R4u*&#!Uq&n3LX{L*w-EgK>-MH z3JMxe91@U0=vfPG-g4sx5(5}|X6Qv(Mi`(03jz%T3@l6maG{{V3sDj(+`yp2h64pK Z$S}Y`oQ8`SGiuaezyQYw9^r)m06TZNn5F;# literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/images/vtc_tab_vicidial.gif b/agc_2-X/branches/agc_2.0.5/www/agc/images/vtc_tab_vicidial.gif new file mode 100644 index 0000000000000000000000000000000000000000..89234c9a26fae5b36752e5957085ec64c17098af GIT binary patch literal 1802 zcmV+l2leJX-GGAL&GA}ED$AM9mVGj)n03Spj z9T^8GR4`suzwErb>bSn^yJ)Xr41ejE# ztgV?brGlrIWUaNSNG&#THZ4f5z^$-?Xqb94$jBg=WN87(3P67bX93k`0GStFFH7D_ zU4Ie^XXP^;!ReZ4f~b}hA%60HESNB1^L`pIe-Qb8=q!=31Eq!-F$D^Mx$;K{zIjem z330-Jg@IsX&M@c^uu=>`ni%B!A>`76e>*6lATaOCg-a<6GMPEE291Uz@+DAZARd+j ze{i%(;bIjGF7hH^0+~rczArZ}HOWU{fl8M0Tv~E)kS0x=ICZM(@WoGtG9U_qNwJCo zzA!-lFEPb*0873mmrUgIQRZsPmy`_D5#v>aVK8>W&fA$PjXV>7f`CzYWEBXOKlsV* zqp6JEc_t)OqVOPJJ-=B2lZi>QfCxArK1{eNB%c5pDc($#=J>Za05*g&P-XEUj!@(_oOqUuZtTBO5RG1Jb z4`ZK{;e#Jvpa;xn@)^fT1tW&FlN1#G&%xvl^~&kx>h;m#}*B2ArD*wp8TX$3;N-KCbnK;#%Cz%@Z4z`<4B1Y zHT(xhQN@A>fT9Crk^@U2T;zm2L-1f*)0j-b(sF-%rj)~+%s|yV1pLcxmy|eAG!q4g z5l+$tVo=r>ab02nK3o*lgFJj>VHW{aWCF1tTmS)tlUS&DXeS_4oX-O!N2+lL9vXe8 zC7MzaL0MrSeF*?LabN}+yb^Fg7G;HSxg`eVB=F!PtS+U4n~?sGJRD@wE?`2Gup^Hp z+&}>ZH!PF+A9DMFh3u3R5zh*|X*zl@N52V8b8w5I?XX%2V@@0;JAHok}bK z3YGE-SdKR^d1ygje;`8+Y=Z@KI6xi~x|bhxkOLw~U<&ENg1(3#4?*FKb}vGSCT;|! zOW>d&Ug6ON^AV9skU&{q&;kceMu4qlV+ZmGKqZ2pECTpI3+a+aq5hzQCw zNHBs5R%wL3WC8#uSfvV1fU(cnzzP$1!33 LICENSE: AGPLv2 +# +# This script is designed to open up when a live_inbound call comes in giving the user +# options of what to do with the call or options to lookup the callerID on various web sites +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $uniqueid - ('1234567890.123456',...) +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $vmail_box - ('101','1234',...) +# - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $voicemail_dump_exten - ('85026666666666') +# - $local_web_callerID_URL_enc - ( rawurlencoded custom callerid lookup URL) +# +# +# changes +# 50428-1500 - First build of script display only +# 50429-1241 - some formatting, hangup and Vmail redirect, 30s timeout on actions, and CID web lookup links +# 50503-1244 - added session_name checking for extra security +# 50711-1203 - removed HTTP authentication in favor of user/pass vars +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["voicemail_dump_exten"])) {$voicemail_dump_exten=$_GET["voicemail_dump_exten"];} + elseif (isset($_POST["voicemail_dump_exten"])) {$voicemail_dump_exten=$_POST["voicemail_dump_exten"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_GET["local_web_callerID_URL_enc"];} + elseif (isset($_POST["local_web_callerID_URL_enc"])) {$local_web_callerID_URL_enc=$_POST["local_web_callerID_URL_enc"];} +if (isset($_GET["local_web_callerID_URL_enc"])) {$local_web_callerID_URL = rawurldecode($local_web_callerID_URL_enc);} + else {$local_web_callerID_URL = '';} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.6'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +$DO = '-1'; +if ( (eregi("^Zap",$channel)) and (!eregi("-",$channel)) ) {$channel = "$channel$DO";} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalid server_ip: |$server_ip| or Invalid session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalid session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +$forever_stop=0; +$user_abb = "$user$user$user$user"; +while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + +echo "\n"; +echo "\n"; +echo "\n"; +?> + + +LIVE INBOUND CALL"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "

    LIVE INBOUND CALL

    \n"; +echo "$NOW_TIME

    \n"; +} + + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if (strlen($uniqueid)<9) + { + $channel_live=0; + echo "Uniqueid $uniqueid is not valid\n"; + exit; + } + else + { + $stmt="SELECT * FROM live_inbound where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $channels_list = mysql_num_rows($rslt); + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); +# echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; +# Zap/73|"V.I.C.I. MARKET" <7275338730>|2005-04-28 14:01:21|7274514936|Inbound direct to Matt||||| + if ($format=='debug') {echo "\n";} + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Channel: $row[1]
    CallerID: $row[3]
    \n"; + + $phone = eregi_replace(".*\<","",$row[3]); + $phone = eregi_replace("\>.*","",$phone); + $NPA = substr($phone, 0, 3); + $NXX = substr($phone, 3, 3); + $XXXX = substr($phone, 6, 4); + $D='-'; + echo "GOOGLE - \n"; + echo "ANYWHO - \n"; + echo "SWITCHBOARD - \n"; + echo "VERIZON - \n"; + echo "WHITEPAGES - \n"; + echo "411.COM - \n"; + echo "411.COM - \n"; + + $local_web_callerID_QUERY_STRING =''; + $local_web_callerID_QUERY_STRING.="?callerID_areacode=$NPA"; + $local_web_callerID_QUERY_STRING.="&callerID_prefix=$NXX"; + $local_web_callerID_QUERY_STRING.="&callerID_last4=$XXXX"; + $local_web_callerID_QUERY_STRING.="&callerID_Time=$row[6]"; + $local_web_callerID_QUERY_STRING.="&callerID_Channel=$row[1]"; + $local_web_callerID_QUERY_STRING.="&callerID_uniqueID=$row[0]"; + $local_web_callerID_QUERY_STRING.="&callerID_phone_ext=$row[5]"; + $local_web_callerID_QUERY_STRING.="&callerID_server_ip=$row[2]"; + $local_web_callerID_QUERY_STRING.="&callerID_extension=$row[4]"; + $local_web_callerID_QUERY_STRING.="&callerID_inbound_number=$row[8]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_a=$row[9]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_b=$row[10]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_c=$row[11]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_d=$row[12]"; + $local_web_callerID_QUERY_STRING.="&callerID_comment_e=$row[13]"; + echo "CUSTOM - \n"; + + echo "
    Number Dialed: $row[8]
    Notes: $row[9]|$row[10]|$row[11]|$row[12]|$row[13]|
    \n"; + echo "HANGUP - \n"; + echo "SEND TO MY VOICEMAIL\n"; + echo "
    \n"; + + + $stmt="UPDATE live_inbound set acknowledged='Y' where server_ip = '$server_ip' and uniqueid = '$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + + } + + + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/live_exten_check.php b/agc_2-X/branches/agc_2.0.5/www/agc/live_exten_check.php new file mode 100644 index 00000000..a7e0ec66 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/agc/live_exten_check.php @@ -0,0 +1,278 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to send whether the client channel is live and to what channel it is connected +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +# - $protocol - ('SIP','Zap','IAX2',...) +# +# +# changes +# 50404-1249 - First build of script +# 50406-1402 - added connected trunk lookup +# 50428-1452 - added live_inbound check for exten on 2nd line of output +# 50503-1233 - added session_name checking for extra security +# 50524-1429 - added parked calls count +# 50610-1204 - Added NULL check on MySQL results to reduced errors +# 50711-1204 - removed HTTP authentication in favor of user/pass vars +# 60103-1541 - added favorite extens status display +# 60421-1359 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1203 - Added variable filters to close security holes for login form +# 60825-1029 - Fixed translation variable issue ChannelA +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["favorites_count"])) {$favorites_count=$_GET["favorites_count"];} + elseif (isset($_POST["favorites_count"])) {$favorites_count=$_POST["favorites_count"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '2.0.1'; +$build = '60825-1029'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalid server_ip: |$server_ip| or Invalid session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalid session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Live Extension Check"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + +echo "DateTime: $NOW_TIME|"; +echo "UnixTime: $StarTtime|"; + +$stmt="SELECT count(*) FROM parked_channels where server_ip = '$server_ip';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +echo "$row[0]|"; + + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten is not valid or protocol $protocol is not valid\n"; + exit; + } + else + { + $stmt="SELECT channel,extension FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$exten%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$channels_list = mysql_num_rows($rslt);} + echo "$channels_list|"; + $loop_count=0; + while ($channels_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + $ChanneLA[$loop_count] = "$row[0]"; + $ChanneLB[$loop_count] = "$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + $counter=0; + while($loop_count > $counter) + { + $counter++; + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "ChannelA: $ChanneLA[$counter] ~"; + echo "ChannelB: $ChanneLB[$counter] ~"; + echo "ChannelBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel_data = '$ChanneLA[$counter]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "ChannelA: $ChanneLA[$counter] ~"; + echo "ChannelB: $ChanneLB[$counter] ~"; + echo "ChannelBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "ChannelA: $ChanneLA[$counter] ~"; + echo "ChannelB: $ChanneLB[$counter] ~"; + echo "ChannelBtrunk: $row[0]|"; + } + else + { + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and channel LIKE \"$ChanneLB[$counter]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($rslt) {$trunk_count = mysql_num_rows($rslt);} + if ($trunk_count>0) + { + $row=mysql_fetch_row($rslt); + echo "Conversation: $counter ~"; + echo "ChannelA: $ChanneLA[$counter] ~"; + echo "ChannelB: $ChanneLB[$counter] ~"; + echo "ChannelBtrunk: $row[0]|"; + } + else + { + echo "Conversation: $counter ~"; + echo "ChannelA: $ChanneLA[$counter] ~"; + echo "ChannelB: $ChanneLB[$counter] ~"; + echo "ChannelBtrunk: $ChanneLA[$counter]|"; + } + } + } + } + } + +echo "\n"; + +### check for live_inbound entry +$stmt="select * from live_inbound where server_ip = '$server_ip' and phone_ext = '$exten' and acknowledged='N';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); +if ($rslt) {$channels_list = mysql_num_rows($rslt);} + if ($channels_list>0) + { + $row=mysql_fetch_row($rslt); + $LIuniqueid = "$row[0]"; + $LIchannel = "$row[1]"; + $LIcallerid = "$row[3]"; + $LIdatetime = "$row[6]"; + echo "$LIuniqueid|$LIchannel|$LIcallerid|$LIdatetime|$row[8]|$row[9]|$row[10]|$row[11]|$row[12]|$row[13]|"; + if ($format=='debug') {echo "\n";} + } + +echo "\n"; + + +### if favorites are present do a lookup to see if any are active +if ($favorites_count > 0) + { + $favorites = explode(',',$favorites_list); + $h=0; + $favs_print=''; + while ($favorites_count > $h) + { + $fav_extension = explode('/',$favorites[$h]); + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$favorites[$h]%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $favs_print .= "$fav_extension[1]: $row[0] ~"; + $h++; + } + echo "$favs_print\n"; + } + +if ($format=='debug') {echo "\n";} + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/manager_send.php b/agc_2-X/branches/agc_2.0.5/www/agc/manager_send.php new file mode 100644 index 00000000..5a460f95 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/agc/manager_send.php @@ -0,0 +1,1943 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to insert records into the vicidial_manager table to signal Actions to an asterisk server +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $ACTION - ('Originate','Redirect','Hangup','Command','Monitor','StopMonitor','SysCIDOriginate','RedirectName','RedirectNameVmail','MonitorConf','StopMonitorConf','RedirectXtra','RedirectXtraCX','RedirectVD','HangupConfDial','VolumeControl','OriginateVDRelogin') +# - $queryCID - ('CN012345678901234567',...) +# - $format - ('text','debug') +# - $channel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $exten - ('1234','913125551212',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $filename - ('20050406-125623_44444',...) +# - $extenName - ('phone100',...) +# - $parkedby - ('phone100',...) +# - $extrachannel - ('Zap/41-1','SIP/test101-1jut','IAX2/iaxy@iaxy',...) +# - $auto_dial_level - ('0','1','1.1',...) +# - $campaign - ('CLOSER','TESTCAMP',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('1234',...) +# - $seconds - ('32',...) +# - $outbound_cid - ('3125551212','0000000000',...) +# - $agent_log_id - ('123456',...) +# - $call_server_ip - ('10.10.10.15',...) +# - $CalLCID - ('VD01234567890123456',...) +# - $stage - ('UP','DOWN','2NDXfeR') +# - $session_id - ('8600051') +# - $FROMvdc - ('YES','NO') +# - $agentchannel - ('SIP/cc101-g7yr','Zap/1-1',...) +# - $usegroupalias - ('0','1') +# - $account - ('DEFAULT',...) +# - $agent_dialed_number - ('1','') +# - $agent_dialed_type - ('MANUAL_OVERRIDE','MANUAL_DIALNOW','MANUAL_PREVIEW',...) +# +# CHANGELOG: +# 50401-1002 - First build of script, Hangup function only +# 50404-1045 - Redirect basic function enabled +# 50406-1522 - Monitor basic function enabled +# 50407-1647 - Monitor and StopMonitor full functions enabled +# 50422-1120 - basic Originate function enabled +# 50428-1451 - basic SysCIDOriginate function enabled for checking voicemail +# 50502-1539 - basic RedirectName and RedirectNameVmail added +# 50503-1227 - added session_name checking for extra security +# 50523-1341 - added Conference call start/stop recording +# 50523-1421 - added OriginateName and OriginateNameVmail for local calls +# 50524-1602 - added RedirectToPark and RedirectFromPark +# 50531-1203 - added RedirecXtra for dual channel redirection +# 50630-1100 - script changed to not use HTTP login vars, user/pass instead +# 50804-1148 - Added RedirectVD for VICIDIAL blind redirection with logging +# 50815-1204 - Added NEXTAVAILABLE to RedirectXtra function +# 50903-2343 - Added HangupConfDial function to hangup in-dial channels in conf +# 50913-1057 - Added outbound_cid set if present to originate call +# 51020-1556 - Added agent_log_id framework for detailed agent activity logging +# 51118-1204 - Fixed Blind transfer bug from VICIDIAL when in manual dial mode +# 51129-1014 - Added ability to accept calls from other VICIDIAL servers +# 51129-1253 - Fixed Hangups of other agents channels in VICIDIAL AD +# 60310-2022 - Fixed NEXTAVAILABLE bug in leave-3way-call redirect function +# 60421-1413 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1158 - Added variable filters to close security holes for login form +# 60809-1544 - Added direct transfers to leave-3ways in consultative transfers +# 61004-1526 - Added parsing of volume control command and lookup or number +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61201-1115 - Added user to MonitorConf for recording_log +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70226-1251 - Added Mute/UnMute to conference volume control +# 70320-1502 - Added option to allow retry of leave-3way-call and debug logging +# 70322-1636 - Added sipsak display ability +# 80331-1433 - Added second transfer try for VICIDIAL transfers on manual dial calls +# 80402-0121 - Fixes for manual dial transfers on some systems +# 80424-0442 - Added non_latin lookup from system_settings +# 80707-2325 - Added vicidial_id to recording_log for tracking of vicidial or closer log to recording +# 80915-1755 - Rewrote leave-3way functions for external calling +# 81011-1404 - Fixed bugs in leave3way when transferring a manual dial call +# 81020-1459 - Fixed bugs in queue_log logging +# 81104-0203 - Added mysql error logging capability +# 90303-1144 - Fixed manual dial live hangup bug +# 90304-1334 - Added account and usegroupalias and user campaign/in-group specific variables +# 90305-1040 - Added agent_dialed_number and type for user_call_log feature +# + +$version = '2.0.5-38'; +$build = '90305-1040'; +$mel=1; # Mysql Error Log enabled = 1 +$mysql_log_count=83; +$one_mysql_log=0; + +require("dbconnect.php"); + +### These are variable assignments for PHP globals off +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["queryCID"])) {$queryCID=$_GET["queryCID"];} + elseif (isset($_POST["queryCID"])) {$queryCID=$_POST["queryCID"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["filename"])) {$filename=$_GET["filename"];} + elseif (isset($_POST["filename"])) {$filename=$_POST["filename"];} +if (isset($_GET["extenName"])) {$extenName=$_GET["extenName"];} + elseif (isset($_POST["extenName"])) {$extenName=$_POST["extenName"];} +if (isset($_GET["parkedby"])) {$parkedby=$_GET["parkedby"];} + elseif (isset($_POST["parkedby"])) {$parkedby=$_POST["parkedby"];} +if (isset($_GET["extrachannel"])) {$extrachannel=$_GET["extrachannel"];} + elseif (isset($_POST["extrachannel"])) {$extrachannel=$_POST["extrachannel"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["secondS"])) {$secondS=$_GET["secondS"];} + elseif (isset($_POST["secondS"])) {$secondS=$_POST["secondS"];} +if (isset($_GET["outbound_cid"])) {$outbound_cid=$_GET["outbound_cid"];} + elseif (isset($_POST["outbound_cid"])) {$outbound_cid=$_POST["outbound_cid"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["call_server_ip"])) {$call_server_ip=$_GET["call_server_ip"];} + elseif (isset($_POST["call_server_ip"])) {$call_server_ip=$_POST["call_server_ip"];} +if (isset($_GET["CalLCID"])) {$CalLCID=$_GET["CalLCID"];} + elseif (isset($_POST["CalLCID"])) {$CalLCID=$_POST["CalLCID"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["allow_sipsak_messages"])) {$allow_sipsak_messages=$_GET["allow_sipsak_messages"];} + elseif (isset($_POST["allow_sipsak_messages"])) {$allow_sipsak_messages=$_POST["allow_sipsak_messages"];} +if (isset($_GET["session_id"])) {$session_id=$_GET["session_id"];} + elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} +if (isset($_GET["FROMvdc"])) {$FROMvdc=$_GET["FROMvdc"];} + elseif (isset($_POST["FROMvdc"])) {$FROMvdc=$_POST["FROMvdc"];} +if (isset($_GET["agentchannel"])) {$agentchannel=$_GET["agentchannel"];} + elseif (isset($_POST["agentchannel"])) {$agentchannel=$_POST["agentchannel"];} +if (isset($_GET["usegroupalias"])) {$usegroupalias=$_GET["usegroupalias"];} + elseif (isset($_POST["usegroupalias"])) {$usegroupalias=$_POST["usegroupalias"];} +if (isset($_GET["account"])) {$account=$_GET["account"];} + elseif (isset($_POST["account"])) {$account=$_POST["account"];} +if (isset($_GET["agent_dialed_number"])) {$agent_dialed_number=$_GET["agent_dialed_number"];} + elseif (isset($_POST["agent_dialed_number"])) {$agent_dialed_number=$_POST["agent_dialed_number"];} +if (isset($_GET["agent_dialed_type"])) {$agent_dialed_type=$_GET["agent_dialed_type"];} + elseif (isset($_POST["agent_dialed_type"])) {$agent_dialed_type=$_POST["agent_dialed_type"];} + + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02001',$user,$server_ip,$session_name,$one_mysql_log);} +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) +{ +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$secondS = ereg_replace("[^0-9]","",$secondS); +} + +# default optional vars if not set +if (!isset($ACTION)) {$ACTION="Originate";} +if (!isset($format)) {$format="alert";} +if (!isset($ext_priority)) {$ext_priority="1";} + +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$NOWnum = date("YmdHis"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02002',$user,$server_ip,$session_name,$one_mysql_log);} +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalid server_ip: |$server_ip| or Invalid session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02003',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalid session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Manager Send: "; +if ($ACTION=="Originate") {echo "Originate";} +if ($ACTION=="Redirect") {echo "Redirect";} +if ($ACTION=="RedirectName") {echo "RedirectName";} +if ($ACTION=="Hangup") {echo "Hangup";} +if ($ACTION=="Command") {echo "Command";} +if ($ACTION==99999) {echo "HELP";} +echo "\n"; +echo "\n"; +echo "\n"; +} + + + + + +###################### +# ACTION=SysCIDOriginate - insert Originate Manager statement allowing small CIDs for system calls +###################### +if ($ACTION=="SysCIDOriginate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<1) ) + { + echo "Exten $exten is not valid or queryCID $queryCID is not valid, Originate command not inserted\n"; + } + else + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02004',$user,$server_ip,$session_name,$one_mysql_log);} + echo "Originate command sent for Exten $exten Channel $channel on $server_ip\n"; + } +} + + + +###################### +# ACTION=Originate, OriginateName, OriginateNameVmail - insert Originate Manager statement +###################### +if ($ACTION=="OriginateName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "extenName $extenName must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "\nOriginateName Action not sent\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02005',$user,$server_ip,$session_name,$one_mysql_log);} + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "extenName $extenName must be set\n"; + echo "exten $exten must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "\nOriginateNameVmail Action not sent\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02006',$user,$server_ip,$session_name,$one_mysql_log);} + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Originate"; + } + } +} + +if ($ACTION=="OriginateVDRelogin") +{ + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $CIDdate = date("ymdHis"); + $DS='-'; + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $queryCID = "$SIPSAK_prefix$campaign$DS$CIDdate"; + + } + $ACTION="Originate"; +} + +if ($ACTION=="Originate") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($ext_context)<1) or (strlen($queryCID)<10) ) + { + echo "Exten $exten is not valid or queryCID $queryCID is not valid, Originate command not inserted\n"; + } + else + { + if (strlen($outbound_cid)>1) + {$outCID = "\"$queryCID\" <$outbound_cid>";} + else + {$outCID = "$queryCID";} + if ( ($usegroupalias > 0) and (strlen($account)>1) ) + { + $RAWaccount = $account; + $account = "Account: $account"; + $variable = "Variable: usegroupalias=1"; + } + else + {$account=''; $variable='';} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $outCID','$account','$variable','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02007',$user,$server_ip,$session_name,$one_mysql_log);} + echo "Originate command sent for Exten $exten Channel $channel on $server_ip |$account|$variable|\n"; + + if ($agent_dialed_number > 0) + { + $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$exten','$channel','0','$outbound_cid','$RAWaccount')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00192',$user,$server_ip,$session_name,$one_mysql_log);} + } + } +} + + + +###################### +# ACTION=HangupConfDial - find the Local channel that is in the conference and needs to be hung up +###################### +if ($ACTION=="HangupConfDial") +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "conference $exten is not valid or ext_context $ext_context or queryCID $queryCID is not valid, Hangup command not inserted\n"; + } + else + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $hangup_channel_prefix = "$local_DEF$exten$local_AMP$ext_context"; + + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02008',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row > 0) + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02009',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + $channel=$rowx[0]; + $ACTION="Hangup"; + $queryCID = eregi_replace("^.","G",$queryCID); # GTvdcW... + } + } +} + + + +###################### +# ACTION=Hangup - insert Hangup Manager statement +###################### +if ($ACTION=="Hangup") +{ +$stmt="UPDATE vicidial_live_agents SET external_hangup='0' where user='$user';"; + if ($format=='debug') {echo "\n";} +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02010',$user,$server_ip,$session_name,$one_mysql_log);} + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) ) + { + $channel_live=0; + echo "Channel $channel is not valid or queryCID $queryCID is not valid, Hangup command not inserted\n"; + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + +# $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $row=mysql_fetch_row($rslt); +# if ($row[0]==0) +# { +# $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; +# if ($format=='debug') {echo "\n";} +# $rslt=mysql_query($stmt, $link); +# $rowx=mysql_fetch_row($rslt); +# if ($rowx[0]==0) +# { +# $channel_live=0; +# echo "Channel $channel is not live on $call_server_ip, Hangup command not inserted\n"; +# } +# } + if ( ($auto_dial_level > 0) and (strlen($CalLCID)>2) and (strlen($exten)>2) and ($secondS > 0)) + { + $stmt="SELECT count(*) FROM vicidial_auto_calls where channel='$channel' and callerid='$CalLCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02011',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + echo "Call $CalLCID $channel is not live on $call_server_ip, Checking Live Channel...\n"; + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel' and extension LIKE \"%$exten\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02012',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $channel_live=0; + echo "Channel $channel is not live on $call_server_ip, Hangup command not inserted $rowx[0]\n$stmt\n"; + } + else + { + echo "$stmt\n"; + } + } + } + if ( ($auto_dial_level < 1) and (strlen($stage)>2) and (strlen($channel)>2) and (strlen($exten)>2) ) + { + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel' and extension NOT LIKE \"%$exten%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02083',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $channel_live=0; + echo "Channel $channel in use by another agent on $call_server_ip, Hangup command not inserted $rowx[0]\n$stmt\n"; + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|MDCHU|$user|$channel|$call_server_ip|$exten|\n"); + fclose($fp); + } + } + else + { + echo "$stmt\n"; + } + } + + if ($channel_live==1) + { + if ( (strlen($CalLCID)>15) and ($secondS > 0)) + { + $stmt="SELECT count(*) FROM vicidial_auto_calls where callerid='$CalLCID';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02013',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + if ($format=='debug') {echo "\n";} + if ($rowx[0] > 0) + { + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02014',$user,$server_ip,$session_name,$one_mysql_log);} + if ($format=='debug') {echo "\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt="SELECT count(*) from queue_log where call_id='$CalLCID' and verb='CONNECT';"; + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02015',$user,$server_ip,$session_name,$one_mysql_log);} + $VAC_cn_ct = mysql_num_rows($rslt); + if ($VAC_cn_ct > 0) + { + $row=mysql_fetch_row($rslt); + $caller_connect = $row[0]; + } + if ($format=='debug') {echo "\n";} + if ($caller_connect > 0) + { + ### grab call lead information needed for QM logging + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where callerid='$CalLCID' order by call_time limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02016',$user,$server_ip,$session_name,$one_mysql_log);} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + if ($format=='debug') {echo "\n";} + + $CLstage = preg_replace("/.*-/",'',$CLstage); + if (strlen($CLstage) < 1) {$CLstage=0;} + + $stmt="SELECT count(*) from queue_log where call_id='$CalLCID' and verb='COMPLETECALLER' and queue='$CLcampaign_id';"; + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02017',$user,$server_ip,$session_name,$one_mysql_log);} + $VAC_cc_ct = mysql_num_rows($rslt); + if ($VAC_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $caller_complete = $row[0]; + } + if ($format=='debug') {echo "\n";} + + if ($caller_complete < 1) + { + $time_id=0; + $stmt="SELECT time_id from queue_log where call_id='$CalLCID' and verb='ENTERQUEUE' and queue='$CLcampaign_id';"; + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02018',$user,$server_ip,$session_name,$one_mysql_log);} + $VAC_eq_ct = mysql_num_rows($rslt); + if ($VAC_eq_ct > 0) + { + $row=mysql_fetch_row($rslt); + $time_id = $row[0]; + } + $StarTtime = date("U"); + if ($time_id > 100000) + {$secondS = ($StarTtime - $time_id);} + + if ($format=='debug') {echo "\n";} + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$CalLCID',queue='$CLcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$secondS',data3='1',serverid='$queuemetrics_log_id';"; + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'02019',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + if ($format=='debug') {echo "\n";} + } + } + } + } + } + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Hangup','$queryCID','Channel: $channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02020',$user,$server_ip,$session_name,$one_mysql_log);} + echo "Hangup command sent for Channel $channel on $call_server_ip\n"; + } + } +} + + + +###################### +# ACTION=Redirect, RedirectName, RedirectNameVmail, RedirectToPark, RedirectFromPark, RedirectVD, RedirectXtra, RedirectXtraCX +# - insert Redirect Manager statement using extensions name +###################### +if ($ACTION=="RedirectVD") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($campaign)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($uniqueid)<2) or (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "exten $exten must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "auto_dial_level $auto_dial_level must be set\n"; + echo "campaign $campaign must be set\n"; + echo "uniqueid $uniqueid must be set\n"; + echo "lead_id $lead_id must be set\n"; + echo "\nRedirectVD Action not sent\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "select count(*) from vicidial_campaigns where campaign_id='$campaign' and campaign_allow_inbound='Y';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02021',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where lead_id='$lead_id' order by start_epoch desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02022',$user,$server_ip,$session_name,$one_mysql_log);} + } + if ($auto_dial_level < 1) + { + $stmt = "UPDATE vicidial_log set end_epoch='$StarTtime', length_in_sec='$secondS',status='XFER' where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02023',$user,$server_ip,$session_name,$one_mysql_log);} + } + else + { + $stmt = "DELETE from vicidial_auto_calls where uniqueid='$uniqueid';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02024',$user,$server_ip,$session_name,$one_mysql_log);} + } + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectToPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($parkedby)<1) ) + { + $channel_live=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "exten $exten must be set\n"; + echo "extenName $extenName must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "parkedby $parkedby must be set\n"; + echo "\nRedirectToPark Action not sent\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "INSERT INTO parked_channels values('$channel','$server_ip','','$extenName','$parkedby','$NOW_TIME');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02025',$user,$server_ip,$session_name,$one_mysql_log);} + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectFromPark") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "exten $exten must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "\nRedirectFromPark Action not sent\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt = "DELETE FROM parked_channels where server_ip='$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02026',$user,$server_ip,$session_name,$one_mysql_log);} + $ACTION="Redirect"; + } +} + +if ($ACTION=="RedirectName") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "extenName $extenName must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "\nRedirectName Action not sent\n"; + } + else + { + $stmt="SELECT dialplan_number FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02027',$user,$server_ip,$session_name,$one_mysql_log);} + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + $ACTION="Redirect"; + } + } +} + +if ($ACTION=="RedirectNameVmail") +{ + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($extenName)<1) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "extenName $extenName must be set\n"; + echo "exten $exten must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "\nRedirectNameVmail Action not sent\n"; + } + else + { + $stmt="SELECT voicemail_id FROM phones where server_ip = '$server_ip' and extension='$extenName';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02028',$user,$server_ip,$session_name,$one_mysql_log);} + $name_count = mysql_num_rows($rslt); + if ($name_count>0) + { + $row=mysql_fetch_row($rslt); + $exten = "$exten$row[0]"; + $ACTION="Redirect"; + } + } +} + + + + + + +if ($ACTION=="RedirectXtraCXNeW") +{ + $DBout=''; + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "ExtraChannel $extrachannel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "exten $exten must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "\nRedirect Action not sent\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if (ereg("NEXTAVAILABLE",$exten)) + { + $stmtA="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtA, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'02029',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0] > 1) + { + $stmtB="UPDATE vicidial_conferences set extension='$protocol/$extension$NOWnum', leave_3way='0' where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtB, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtB,'02030',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmtC="SELECT conf_exten from vicidial_conferences where server_ip='$server_ip' and extension='$protocol/$extension$NOWnum' and conf_exten != '$session_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtC, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtC,'02031',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + + if ( (ereg("^8300",$extension)) and ($protocol == 'Local') ) + { + $extension = "$extension$user"; + } + + $stmtD="UPDATE vicidial_conferences set extension='$protocol/$extension' where server_ip='$server_ip' and conf_exten='$exten' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtD, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtD,'02032',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmtE="UPDATE vicidial_conferences set leave_3way='1', leave_3way_datetime='$NOW_TIME', extension='3WAY_$user' where server_ip='$server_ip' and conf_exten='$session_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtE, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtE,'02033',$user,$server_ip,$session_name,$one_mysql_log);} + + $queryCID = "CXAR24$NOWnum"; + $stmtF="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $agentchannel','Context: $ext_context','Exten: $exten','Priority: 1','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtF, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtF,'02034',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmtG="UPDATE vicidial_live_agents set conf_exten='$exten' where server_ip='$server_ip' and user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtG, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtG,'02035',$user,$server_ip,$session_name,$one_mysql_log);} + + if ($auto_dial_level < 1) + { + $stmtH = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and callerid LIKE \"M%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtH, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtH,'02036',$user,$server_ip,$session_name,$one_mysql_log);} + } + + // $fp = fopen ("./vicidial_debug_3way.txt", "a"); + // fwrite ($fp, "$NOW_TIME|$filename|\n|$stmtA|\n|$stmtB|\n|$stmtC|\n|$stmtD|\n|$stmtE|\n|$stmtF|\n|$stmtG|\n|$stmtH|\n\n"); + // fclose($fp); + + echo "NeWSessioN|$exten|\n"; + echo "|$stmtG|\n"; + + exit; + } + else + { + $channel_liveX=0; + echo "Cannot find empty vicidial_conference on $server_ip, Redirect command not inserted\n|$stmt|"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Cannot find empty conference on $server_ip";} + } + } + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02037',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02038',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Channel $channel is not live on $call_server_ip, Redirect command not inserted\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel is not live on $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02039',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02040',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Channel $channel is not live on $server_ip, Redirect command not inserted\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel is not live on $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + $stmt="SELECT count(*) FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02041',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $channel_liveY=0; + echo "No Local agent to send call to, Redirect command not inserted\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + } + else + { + $stmt="SELECT server_ip,conf_exten,user FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02042',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + $dest_server_ip = $rowx[0]; + $dest_session_id = $rowx[1]; + $dest_user = $rowx[2]; + $S='*'; + + $D_s_ip = explode('.', $dest_server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$dest_session_id$S$lead_id$S$dest_user$S$phone_code$S$phone_number$S$campaign$S"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02043',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','$queryCID','Channel: $extrachannel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02044',$user,$server_ip,$session_name,$one_mysql_log);} + + echo "RedirectXtraCX command sent for Channel $channel on $call_server_ip and \nHungup $extrachannel on $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel on $call_server_ip, Hungup $extrachannel on $server_ip";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel on $server_ip";} + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } +} + + + + + + + + + + +if ($ACTION=="RedirectXtraNeW") +{ + if ($channel=="$extrachannel") + {$ACTION="Redirect";} + else + { + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($session_id)<3) or ( ( (strlen($extrachannel)<3) or (strlen($exten)<1) ) and (!ereg("NEXTAVAILABLE",$exten)) ) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "ExtraChannel $extrachannel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "exten $exten must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "session_id $session_id must be set\n"; + echo "\nRedirect Action not sent\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|$session_id|\n"); + fclose($fp); + } + } + } + else + { + if (ereg("NEXTAVAILABLE",$exten)) + { + $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02045',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0] > 1) + { + $stmt="UPDATE vicidial_conferences set extension='$protocol/$extension$NOWnum', leave_3way='0' where server_ip='$server_ip' and ((extension='') or (extension is null)) and conf_exten != '$session_id' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02046',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="SELECT conf_exten from vicidial_conferences where server_ip='$server_ip' and extension='$protocol/$extension$NOWnum' and conf_exten != '$session_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02047',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $exten = $row[0]; + + $stmt="UPDATE vicidial_conferences set extension='$protocol/$extension' where server_ip='$server_ip' and conf_exten='$exten' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02048',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_conferences set leave_3way='1', leave_3way_datetime='$NOW_TIME', extension='3WAY_$user' where server_ip='$server_ip' and conf_exten='$session_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02049',$user,$server_ip,$session_name,$one_mysql_log);} + + $queryCID = "CXAR23$NOWnum"; + $stmtB="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $agentchannel','Context: $ext_context','Exten: $exten','Priority: 1','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmtB, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02050',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_live_agents set conf_exten='$exten' where server_ip='$server_ip' and user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02051',$user,$server_ip,$session_name,$one_mysql_log);} + + if ($auto_dial_level < 1) + { + $stmt = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and callerid LIKE \"M%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02052',$user,$server_ip,$session_name,$one_mysql_log);} + } + + echo "NeWSessioN|$exten|\n"; + echo "|$stmtB|\n"; + + exit; + } + else + { + $channel_liveX=0; + echo "Cannot find empty vicidial_conference on $server_ip, Redirect command not inserted\n|$stmt|"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Cannot find empty conference on $server_ip";} + } + } + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02053',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02054',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Channel $channel is not live on $call_server_ip, Redirect command not inserted\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel is not live on $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02055',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02056',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Channel $channel is not live on $server_ip, Redirect command not inserted\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel is not live on $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + if ( ($server_ip=="$call_server_ip") or (strlen($call_server_ip)<7) ) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','ExtraChannel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02057',$user,$server_ip,$session_name,$one_mysql_log);} + + echo "RedirectXtra command sent for Channel $channel and \nExtraChannel $extrachannel\n to $exten on $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten on $server_ip";} + } + else + { + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$exten"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02058',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02059',$user,$server_ip,$session_name,$one_mysql_log);} + + echo "RedirectXtra command sent for Channel $channel on $call_server_ip and \nExtraChannel $extrachannel\n to $exten on $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } + } +} + + + + + + + +/* +if ($ACTION=="RedirectXtraCX") +{ + $DBout=''; + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "ExtraChannel $extrachannel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "exten $exten must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "\nRedirect Action not sent\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Channel $channel is not live on $call_server_ip, Redirect command not inserted\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel is not live on $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Channel $channel is not live on $server_ip, Redirect command not inserted\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel is not live on $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + $stmt="SELECT count(*) FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $channel_liveY=0; + echo "No Local agent to send call to, Redirect command not inserted\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "No Local agent to send call to";} + } + else + { + $stmt="SELECT server_ip,conf_exten,user FROM vicidial_live_agents where lead_id='$lead_id' and user!='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $dest_server_ip = $rowx[0]; + $dest_session_id = $rowx[1]; + $dest_user = $rowx[2]; + $S='*'; + + $D_s_ip = explode('.', $dest_server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$dest_session_id$S$lead_id$S$dest_user$S$phone_code$S$phone_number$S$campaign$S"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','$queryCID','Channel: $extrachannel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtraCX command sent for Channel $channel on $call_server_ip and \nHungup $extrachannel on $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel on $call_server_ip, Hungup $extrachannel on $server_ip";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Changed to Redirect: $channel on $server_ip";} + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDCXC|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } +} + + + +###### BEGIN OLD LEAVE-3-WAY FOR EXTERNAL CALLS - DEPRICATED AND WILL BE DELETED SOON ##### +if ($ACTION=="RedirectXtra") +{ + if ($channel=="$extrachannel") + {$ACTION="Redirect";} + else + { + $row=''; $rowx=''; + $channel_liveX=1; + $channel_liveY=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) or (strlen($extrachannel)<3) ) + { + $channel_liveX=0; + $channel_liveY=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "ExtraChannel $extrachannel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "exten $exten must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "\nRedirect Action not sent\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$$channel|$extrachannel|$queryCID|$exten|$ext_context|ext_priority|\n"); + fclose($fp); + } + } + } + else + { + if (ereg("NEXTAVAILABLE",$exten)) + { + $stmt="SELECT conf_exten FROM conferences where server_ip='$server_ip' and ((extension='') or (extension is null)) limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if (strlen($row[0]) > 3) + { + $stmt="UPDATE conferences set extension='$user' where server_ip='$server_ip' and conf_exten='$row[0]';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $exten = $row[0]; + } + else + { + $channel_liveX=0; + echo "Cannot find empty conference on $server_ip, Redirect command not inserted\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "Cannot find empty conference on $server_ip";} + } + } + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + + $stmt="SELECT count(*) FROM live_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$call_server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveX=0; + echo "Channel $channel is not live on $call_server_ip, Redirect command not inserted\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel is not live on $call_server_ip";} + } + } + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0]==0) && (!ereg("SECOND",$filename)) ) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$extrachannel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_liveY=0; + echo "Channel $channel is not live on $server_ip, Redirect command not inserted\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel is not live on $server_ip";} + } + } + if ( ($channel_liveX==1) && ($channel_liveY==1) ) + { + if ( ($server_ip=="$call_server_ip") or (strlen($call_server_ip)<7) ) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','ExtraChannel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra command sent for Channel $channel and \nExtraChannel $extrachannel\n to $exten on $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel and $extrachannel to $exten on $server_ip";} + } + else + { + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $dest_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$exten"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$call_server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $dest_dialstring','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $extrachannel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + + echo "RedirectXtra command sent for Channel $channel on $call_server_ip and \nExtraChannel $extrachannel\n to $exten on $server_ip\n"; + if (ereg("SECOND|FIRST|DEBUG",$filename)) {$DBout .= "$channel/$call_server_ip and $extrachannel/$server_ip to $exten";} + } + } + else + { + if ($channel_liveX==1) + {$ACTION="Redirect"; $server_ip = $call_server_ip;} + if ($channel_liveY==1) + {$ACTION="Redirect"; $channel=$extrachannel;} + + } + + if (ereg("SECOND|FIRST|DEBUG",$filename)) + { + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|RDX|$filename|$user|$campaign|$DBout|\n"); + fclose($fp); + } + } + + } + } +} +###### END OLD LEAVE-3-WAY FOR EXTERNAL CALLS - DEPRICATED AND WILL BE DELETED SOON ##### +*/ + +if ($ACTION=="Redirect") +{ + ### for manual dial VICIDIAL calls send the second attempt to transfer the call + if ($stage=="2NDXfeR") + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $hangup_channel_prefix = "$local_DEF$session_id$local_AMP$ext_context"; + + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02060',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row > 0) + { + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$hangup_channel_prefix%\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02061',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + $channel=$rowx[0]; + $channel = eregi_replace("1$","2",$channel); + $queryCID = eregi_replace("^.","Q",$queryCID); + } + } + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($exten)<1) or (strlen($ext_context)<1) or (strlen($ext_priority)<1) ) + { + $channel_live=0; + echo "One of these variables is not valid:\n"; + echo "Channel $channel must be greater than 2 characters\n"; + echo "queryCID $queryCID must be greater than 14 characters\n"; + echo "exten $exten must be set\n"; + echo "ext_context $ext_context must be set\n"; + echo "ext_priority $ext_priority must be set\n"; + echo "\nRedirect Action not sent\n"; + } + else + { + if (strlen($call_server_ip)>6) {$server_ip = $call_server_ip;} + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02062',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02063',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Channel $channel is not live on $server_ip, Redirect command not inserted\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Redirect','$queryCID','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','CallerID: $queryCID','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02064',$user,$server_ip,$session_name,$one_mysql_log);} + + echo "Redirect command sent for Channel $channel on $server_ip\n"; + } + } +} + + + +###################### +# ACTION=Monitor or Stop Monitor - insert Monitor/StopMonitor Manager statement to start recording on a channel +###################### +if ( ($ACTION=="Monitor") || ($ACTION=="StopMonitor") ) +{ + if ($ACTION=="StopMonitor") + {$SQLfile = "";} + else + {$SQLfile = "File: $filename";} + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($channel)<3) or (strlen($queryCID)<15) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Channel $channel is not valid or queryCID $queryCID is not valid or filename: $filename is not valid, $ACTION command not inserted\n"; + } + else + { + $stmt="SELECT count(*) FROM live_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02065',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0]==0) + { + $stmt="SELECT count(*) FROM live_sip_channels where server_ip = '$server_ip' and channel='$channel';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02066',$user,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + if ($rowx[0]==0) + { + $channel_live=0; + echo "Channel $channel is not live on $server_ip, $ACTION command not inserted\n"; + } + } + if ($channel_live==1) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','$ACTION','$queryCID','Channel: $channel','$SQLfile','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02067',$user,$server_ip,$session_name,$one_mysql_log);} + + if ($ACTION=="Monitor") + { + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02068',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02069',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + } + else + { + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02070',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02071',$user,$server_ip,$session_name,$one_mysql_log);} + } + + } + echo "$ACTION command sent for Channel $channel on $server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n"; + } + } +} + + + + + + +###################### +# ACTION=MonitorConf or StopMonitorConf - insert Monitor/StopMonitor Manager statement to start recording on a conference +###################### +if ( ($ACTION=="MonitorConf") || ($ACTION=="StopMonitorConf") ) +{ + $row=''; $rowx=''; + $channel_live=1; + $uniqueidSQL=''; + + if ( (strlen($exten)<3) or (strlen($channel)<4) or (strlen($filename)<15) ) + { + $channel_live=0; + echo "Channel $channel is not valid or exten $exten is not valid or filename: $filename is not valid, $ACTION command not inserted\n"; + } + else + { + + $VDvicidial_id=''; + + if ($ACTION=="MonitorConf") + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$filename','Channel: $channel','Context: $ext_context','Exten: $exten','Priority: $ext_priority','Callerid: $filename','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02072',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','$server_ip','$exten','$NOW_TIME','$StarTtime','$filename','$lead_id','$user')"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02073',$user,$server_ip,$session_name,$one_mysql_log);} + $RLaffected_rows = mysql_affected_rows($link); + if ($RLaffected_rows > 0) + { + $recording_id = mysql_insert_id($link); + } + + if ($FROMvdc=='YES') + { + ##### get call type from vicidial_live_agents table + $VLA_inOUT='NONE'; + $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02074',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VLA_inOUT_ct = mysql_num_rows($rslt); + if ($VLA_inOUT_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VLA_inOUT = $row[0]; + } + if ($VLA_inOUT == 'INBOUND') + { + $four_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-4,date("i"),date("s"),date("m"),date("d"),date("Y"))); + + ##### look for the vicidial ID in the vicidial_closer_log table + $stmt="SELECT closecallid FROM vicidial_closer_log where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by closecallid desc limit 1;"; + } + else + { + ##### look for the vicidial ID in the vicidial_log table + $stmt="SELECT uniqueid FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02075',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDvicidial_id = $row[0]; + + $stmt = "UPDATE recording_log SET vicidial_id='$VDvicidial_id' where recording_id='$recording_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02076',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + } + + ##### StopMonitorConf steps ##### + else + { + if ($uniqueid=='IN') + { + $four_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-4,date("i"),date("s"),date("m"),date("d"),date("Y"))); + + ### find the value to put in the vicidial_id field if this was an inbound call + $stmt="SELECT closecallid from vicidial_closer_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02077',$user,$server_ip,$session_name,$one_mysql_log);} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueidSQL = ",vicidial_id='$row[0]'"; + } + } + else + { + if (strlen($uniqueid) > 8) + {$uniqueidSQL = ",vicidial_id='$uniqueid'";} + } + + $stmt="SELECT recording_id,start_epoch FROM recording_log where filename='$filename'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02078',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $rec_count = mysql_num_rows($rslt); + if ($rec_count>0) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt = "UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' $uniqueidSQL where filename='$filename'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02079',$user,$server_ip,$session_name,$one_mysql_log);} + } + + # find and hang up all recordings going on in this conference # and extension = '$exten' + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$channel%\" and channel LIKE \"%,1\";"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02080',$user,$server_ip,$session_name,$one_mysql_log);} + # $rec_count = intval(mysql_num_rows($rslt) / 2); + $rec_count = mysql_num_rows($rslt); + $h=0; + while ($rec_count>$h) + { + $rowx=mysql_fetch_row($rslt); + $HUchannel[$h] = $rowx[0]; + $h++; + } + $i=0; + while ($h>$i) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$i','Channel: $HUchannel[$i]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02081',$user,$server_ip,$session_name,$one_mysql_log);} + $i++; + } + + } + echo "$ACTION command sent for Channel $channel on $server_ip\nFilename: $filename\nRecorDing_ID: $recording_id\n RECORDING WILL LAST UP TO 60 MINUTES\n"; + } +} + + + + + +###################### +# ACTION=VolumeControl - raise or lower the volume of a meetme participant +###################### +if ($ACTION=="VolumeControl") +{ + if ( (strlen($exten)<1) or (strlen($channel)<1) or (strlen($stage)<1) or (strlen($queryCID)<1) ) + { + echo "Conference $exten, Stage $stage is not valid or queryCID $queryCID is not valid, Originate command not inserted\n"; + } + else + { + $participant_number='XXYYXXYYXXYYXX'; + if (eregi('UP',$stage)) {$vol_prefix='4';} + if (eregi('DOWN',$stage)) {$vol_prefix='3';} + if (eregi('UNMUTE',$stage)) {$vol_prefix='2';} + if (eregi('MUTING',$stage)) {$vol_prefix='1';} + $local_DEF = 'Local/'; + $local_AMP = '@'; + $volume_local_channel = "$local_DEF$participant_number$vol_prefix$exten$local_AMP$ext_context"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $volume_local_channel','Context: $ext_context','Exten: 8300','Priority: 1','Callerid: $queryCID','','','','$channel','$exten');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'02082',$user,$server_ip,$session_name,$one_mysql_log);} + echo "Volume command sent for Conference $exten, Stage $stage Channel $channel on $server_ip\n"; + } +} + + + + + + + + + + + + +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +if ($format=='debug') {echo "\n";} +if ($format=='debug') {echo "\n\n\n";} + +exit; + + +##### MySQL Error Logging ##### +function mysql_error_logging($NOW_TIME,$link,$mel,$stmt,$query_id,$user,$server_ip,$session_name,$one_mysql_log) +{ +$NOW_TIME = date("Y-m-d H:i:s"); +# mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log); +$errno=''; $error=''; +if ( ($mel > 0) or ($one_mysql_log > 0) ) + { + $errno = mysql_errno($link); + if ( ($errno > 0) or ($mel > 1) or ($one_mysql_log > 0) ) + { + $error = mysql_error($link); + $efp = fopen ("./vicidial_mysql_errors.txt", "a"); + fwrite ($efp, "$NOW_TIME|manager_send|$query_id|$errno|$error|$stmt|$user|$server_ip|$session_name|\n"); + fclose($efp); + } + } +$one_mysql_log=0; +return $errno; +} + +?> diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/park_calls_display.php b/agc_2-X/branches/agc_2.0.5/www/agc/park_calls_display.php new file mode 100644 index 00000000..d02fc886 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/agc/park_calls_display.php @@ -0,0 +1,146 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to send the details on the parked calls on the server +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $exten - ('cc101','testphone','49-1','1234','913125551212',...) +# - $protocol - ('SIP','Zap','IAX2',...) +# +# +# changes +# 50524-1515 - First build of script +# 50711-1208 - removed HTTP authentication in favor of user/pass vars +# 60421-1111 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1205 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} +if (!isset($park_limit)) {$park_limit="1000";} + +$version = '0.0.4'; +$build = '60619-1205'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0) ) + { + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) { + echo "Invalid server_ip: |$server_ip| or Invalid session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalid session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Parked Calls Display"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($exten)<1) or (strlen($protocol)<3) ) + { + $channel_live=0; + echo "Exten $exten is not valid or protocol $protocol is not valid\n"; + exit; + } + else + { + ##### print parked calls from the parked_channels table + $stmt="SELECT * from parked_channels where server_ip = '$server_ip' order by parked_time limit $park_limit;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $park_calls_count = mysql_num_rows($rslt); + echo "$park_calls_count\n"; + $loop_count=0; + while ($park_calls_count>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0] ~$row[2] ~$row[3] ~$row[4] ~$row[5]|"; + } + echo "\n"; + } + + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/timeclock.php b/agc_2-X/branches/agc_2.0.5/www/agc/timeclock.php new file mode 100644 index 00000000..29a9f8e3 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/agc/timeclock.php @@ -0,0 +1,455 @@ + LICENSE: AGPLv2 +# +# CHANGELOG +# 80523-0134 - First Build +# 80524-0225 - Changed event_date to DATETIME, added timestamp field and tcid_link field +# 80525-2351 - Added an audit log that is not to be editable +# 80602-0641 - Fixed status update bug +# + +$version = '2.0.5-4'; +$build = '80602-0641'; + +$StarTtimE = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); + $last_action_date = $NOW_TIME; + +$US='_'; +$CL=':'; +$AT='@'; +$DS='-'; +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = eregi_replace('timeclock.php','',$agcPAGE); + + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["VD_login"])) {$VD_login=$_GET["VD_login"];} + elseif (isset($_POST["VD_login"])) {$VD_login=$_POST["VD_login"];} +if (isset($_GET["VD_pass"])) {$VD_pass=$_GET["VD_pass"];} + elseif (isset($_POST["VD_pass"])) {$VD_pass=$_POST["VD_pass"];} +if (isset($_GET["VD_campaign"])) {$VD_campaign=$_GET["VD_campaign"];} + elseif (isset($_POST["VD_campaign"])) {$VD_campaign=$_POST["VD_campaign"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["commit"])) {$commit=$_GET["commit"];} + elseif (isset($_POST["commit"])) {$commit=$_POST["commit"];} +if (isset($_GET["referrer"])) {$referrer=$_GET["referrer"];} + elseif (isset($_POST["referrer"])) {$referrer=$_POST["referrer"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} + +if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } +if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); + $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); + $VD_campaign=ereg_replace("[^0-9a-zA-Z_]","",$VD_campaign); + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $stage=ereg_replace("[^0-9a-zA-Z]","",$stage); + $commit=ereg_replace("[^0-9a-zA-Z]","",$commit); + $referrer=ereg_replace("[^0-9a-zA-Z]","",$referrer); + +require("dbconnect.php"); + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,admin_home_url FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $welcomeURL = $row[1]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +if ( ($stage == 'login') or ($stage == 'logout') ) + { + ### see if user/pass exist for this user in vicidial_users table + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $valid_user=$row[0]; + print "\n"; + + if ($valid_user < 1) + { + ### NOT A VALID USER/PASS + $VDdisplayMESSAGE = "The user and password you entered are not active in the system
    Please try again:"; + + echo"\n"; + echo"VICIDIAL: Timeclock\n"; + echo"\n"; + echo"\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

    $VDdisplayMESSAGE

    "; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Timeclock
     
    User Login:
    User Password:
     

    VERSION: $version       BUILD: $build
    \n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + + exit; + } + else + { + ### VALID USER/PASS, CONTINUE + + ### get name and group for this user + $stmt="SELECT full_name,user_group from vicidial_users where user='$user' and pass='$pass';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + $user_group = $row[1]; + print "\n"; + + ### get vicidial_timeclock_status record count for this user + $stmt="SELECT count(*) from vicidial_timeclock_status where user='$user';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $vts_count = $row[0]; + + $last_action_sec=99; + + if ($vts_count > 0) + { + ### vicidial_timeclock_status record found, grab status and date of last activity + $stmt="SELECT status,event_epoch from vicidial_timeclock_status where user='$user';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $status = $row[0]; + $event_epoch = $row[1]; + $last_action_date = date("Y-m-d H:i:s", $event_epoch); + $last_action_sec = ($StarTtimE - $event_epoch); + if ($last_action_sec > 0) + { + $totTIME_H = ($last_action_sec / 3600); + $totTIME_H_int = round($totTIME_H, 2); + $totTIME_H_int = intval("$totTIME_H"); + $totTIME_M = ($totTIME_H - $totTIME_H_int); + $totTIME_M = ($totTIME_M * 60); + $totTIME_M_int = round($totTIME_M, 2); + $totTIME_M_int = intval("$totTIME_M"); + $totTIME_S = ($totTIME_M - $totTIME_M_int); + $totTIME_S = ($totTIME_S * 60); + $totTIME_S = round($totTIME_S, 0); + if (strlen($totTIME_H_int) < 1) {$totTIME_H_int = "0";} + if ($totTIME_M_int < 10) {$totTIME_M_int = "0$totTIME_M_int";} + if ($totTIME_S < 10) {$totTIME_S = "0$totTIME_S";} + $totTIME_HMS = "$totTIME_H_int:$totTIME_M_int:$totTIME_S"; + } + else + { + $totTIME_HMS='0:00:00'; + } + + print "\n"; + } + else + { + ### No vicidial_timeclock_status record found, insert one + $stmt="INSERT INTO vicidial_timeclock_status set status='START', user='$user', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $status='START'; + $totTIME_HMS='0:00:00'; + $affected_rows = mysql_affected_rows($link); + print "\n"; + } + if ( ($last_action_sec < 30) and ($status != 'START') ) + { + ### You cannot log in or out within 30 seconds of your last login/logout + $VDdisplayMESSAGE = "You cannot log in or out within 30 seconds of your last login or logout"; + + echo"\n"; + echo"VICIDIAL: Timeclock\n"; + echo"\n"; + echo"\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

    $VDdisplayMESSAGE

    "; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Timeclock
     
    User Login:
    User Password:
     

    VERSION: $version       BUILD: $build
    \n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + + exit; + } + + if ($commit == 'YES') + { + if ( ( ($status=='AUTOLOGOUT') or ($status=='START') or ($status=='LOGOUT') ) and ($stage=='login') ) + { + $VDdisplayMESSAGE = "You have now logged-in"; + $LOGtimeMESSAGE = "You logged in at $NOW_TIME"; + + ### Add a record to the timeclock log + $stmt="INSERT INTO vicidial_timeclock_log set event='LOGIN', user='$user', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip', event_date='$NOW_TIME';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $timeclock_id = mysql_insert_id($link); + print "\n"; + + ### Update the user's timeclock status record + $stmt="UPDATE vicidial_timeclock_status set status='LOGIN', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + ### Add a record to the timeclock audit log + $stmt="INSERT INTO vicidial_timeclock_audit_log set timeclock_id='$timeclock_id', event='LOGIN', user='$user', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip', event_date='$NOW_TIME';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + } + + if ( ($status=='LOGIN') and ($stage=='logout') ) + { + $VDdisplayMESSAGE = "You have now logged-out"; + $LOGtimeMESSAGE = "You logged out at $NOW_TIME
    Amount of time you were logged-in: $totTIME_HMS"; + + ### Add a record to the timeclock log + $stmt="INSERT INTO vicidial_timeclock_log set event='LOGOUT', user='$user', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip', login_sec='$last_action_sec', event_date='$NOW_TIME';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + $timeclock_id = mysql_insert_id($link); + print "\n"; + + ### Update last login record in the timeclock log + $stmt="UPDATE vicidial_timeclock_log set login_sec='$last_action_sec',tcid_link='$timeclock_id' where event='LOGIN' and user='$user' order by timeclock_id desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + ### Update the user's timeclock status record + $stmt="UPDATE vicidial_timeclock_status set status='LOGOUT', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip' where user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + ### Add a record to the timeclock audit log + $stmt="INSERT INTO vicidial_timeclock_audit_log set timeclock_id='$timeclock_id', event='LOGOUT', user='$user', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip', login_sec='$last_action_sec', event_date='$NOW_TIME';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + + ### Update last login record in the timeclock audit log + $stmt="UPDATE vicidial_timeclock_audit_log set login_sec='$last_action_sec',tcid_link='$timeclock_id' where event='LOGIN' and user='$user' order by timeclock_id desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "\n"; + } + + if ( ( ( ($status=='AUTOLOGOUT') or ($status=='START') or ($status=='LOGOUT') ) and ($stage=='logout') ) or ( ($status=='LOGIN') and ($stage=='login') ) ) + {echo "ERROR: timeclock log entry already made: $status|$stage"; exit;} + + if ($referrer=='agent') + {$BACKlink = "
    BACK to Agent Login Screen";} + if ($referrer=='admin') + {$BACKlink = "BACK to Administration";} + if ($referrer=='welcome') + {$BACKlink = "BACK to Welcome Screen";} + + echo"\n"; + echo"VICIDIAL: Timeclock\n"; + echo"\n"; + echo"\n"; + echo "\n"; + echo "

    $VDdisplayMESSAGE

    "; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Timeclock
     
    $LOGtimeMESSAGE
     
    $BACKlink
     

    VERSION: $version       BUILD: $build
    \n"; + echo "\n\n"; + echo "\n\n"; + + exit; + } + + + + + if ( ($status=='AUTOLOGOUT') or ($status=='START') or ($status=='LOGOUT') ) + { + $VDdisplayMESSAGE = "Time since you were last logged-in: $totTIME_HMS"; + $log_action = 'login'; + $button_name = 'LOGIN'; + $LOGtimeMESSAGE = "You last logged-out at: $last_action_date

    Click LOGIN below to log-in"; + } + if ($status=='LOGIN') + { + $VDdisplayMESSAGE = "Amount of time you have been logged-in: $totTIME_HMS"; + $log_action = 'logout'; + $button_name = 'LOGOUT'; + $LOGtimeMESSAGE = "You logged-in at: $last_action_date
    Amount of time you have been logged-in: $totTIME_HMS

    Click LOGOUT below to log-out"; + } + + echo"\n"; + echo"VICIDIAL: Timeclock\n"; + echo"\n"; + echo"\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

    $VDdisplayMESSAGE

    "; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Timeclock
     
    $LOGtimeMESSAGE
     
     

    VERSION: $version       BUILD: $build
    \n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + + exit; + } + + + + } + +else + { + echo"\n"; + echo"VICIDIAL: Timeclock\n"; + echo"\n"; + echo"\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

    $VDdisplayMESSAGE

    "; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Timeclock
     
    User Login:
    User Password:
     

    VERSION: $version       BUILD: $build
    \n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/vdc_db_query.php b/agc_2-X/branches/agc_2.0.5/www/agc/vdc_db_query.php new file mode 100644 index 00000000..5a5d59f5 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/agc/vdc_db_query.php @@ -0,0 +1,3955 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to send whether the meetme conference has live channels connected and which they are +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $ACTION - ('regCLOSER','manDiaLnextCALL','manDiaLskip','manDiaLonly','manDiaLlookCALL','manDiaLlogCALL','userLOGout','updateDISPO','VDADpause','VDADready','VDADcheckINCOMING','UpdatEFavoritEs','CalLBacKLisT','CalLBacKCounT','PauseCodeSubmit','LogiNCamPaigns','alt_phone_change','AlertControl') +# - $stage - ('start','finish','lookup','new') +# - $closer_choice - ('CL_TESTCAMP_L CL_OUT123_L -') +# - $conf_exten - ('8600011',...) +# - $exten - ('123test',...) +# - $ext_context - ('default','demo',...) +# - $ext_priority - ('1','2',...) +# - $campaign - ('testcamp',...) +# - $dial_timeout - ('60','26',...) +# - $dial_prefix - ('9','8',...) +# - $campaign_cid - ('3125551212','0000000000',...) +# - $MDnextCID - ('M06301413000000002',...) +# - $uniqueid - ('1120232758.2406800',...) +# - $lead_id - ('36524',...) +# - $list_id - ('101','123456',...) +# - $length_in_sec - ('12',...) +# - $phone_code - ('1',...) +# - $phone_number - ('3125551212',...) +# - $channel - ('Zap/12-1',...) +# - $start_epoch - ('1120236911',...) +# - $vendor_lead_code - ('1234test',...) +# - $title - ('Mr.',...) +# - $first_name - ('Bob',...) +# - $middle_initial - ('L',...) +# - $last_name - ('Wilson',...) +# - $address1 - ('1324 Main St.',...) +# - $address2 - ('Apt. 12',...) +# - $address3 - ('co Robert Wilson',...) +# - $city - ('Chicago',...) +# - $state - ('IL',...) +# - $province - ('NA',...) +# - $postal_code - ('60054',...) +# - $country_code - ('USA',...) +# - $gender - ('M',...) +# - $date_of_birth - ('1970-01-01',...) +# - $alt_phone - ('3125551213',...) +# - $email - ('bob@bob.com',...) +# - $security_phrase - ('Hello',...) +# - $comments - ('Good Customer',...) +# - $auto_dial_level - ('0','1','1.2',...) +# - $VDstop_rec_after_each_call - ('0','1') +# - $conf_silent_prefix - ('7','8','5',...) +# - $extension - ('123','user123','25-1',...) +# - $protocol - ('Zap','SIP','IAX2',...) +# - $user_abb - ('1234','6666',...) +# - $preview - ('YES','NO',...) +# - $called_count - ('0','1','2',...) +# - $agent_log_id - ('123456',...) +# - $agent_log - ('NO',...) +# - $favorites_list - (",'cc160','cc100'",...) +# - $CallBackDatETimE - ('2006-04-21 14:30:00',...) +# - $recipient - ('ANYONE,'USERONLY') +# - $callback_id - ('12345','12346',...) +# - $use_internal_dnc - ('Y','N') +# - $use_campaign_dnc - ('Y','N') +# - $omit_phone_code - ('Y','N') +# - $no_delete_sessions - ('0','1') +# - $LogouTKicKAlL - ('0','1'); +# - $closer_blended = ('0','1'); +# - $inOUT = ('IN','OUT'); +# - $manual_dial_filter = ('NONE','CAMPLISTS','DNC','CAMPLISTS_DNC') +# - $agentchannel = ('Zap/1-1','SIP/testing-6ry4i3',...) +# - $conf_dialed = ('0','1') +# - $leaving_threeway = ('0','1') +# - $blind_transfer = ('0','1') +# - $usegroupalias - ('0','1') +# - $account - ('DEFAULT',...) +# - $agent_dialed_number - ('1','') +# - $agent_dialed_type - ('MANUAL_OVERRIDE','MANUAL_DIALNOW','MANUAL_PREVIEW',...) +# +# CHANGELOG: +# 50629-1044 - First build of script +# 50630-1422 - Added manual dial action and MD channel lookup +# 50701-1451 - Added dial log for start and end of vicidial calls +# 50705-1239 - Added call disposition update +# 50804-1627 - Fixed updateDispo to update vicidial_log entry +# 50816-1605 - Added VDADpause/ready for auto dialing +# 50816-1811 - Added basic autodial call pickup functions +# 50817-1005 - Altered logging functions to accomodate auto_dialing +# 50818-1305 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1411 - Added hangup of agent phone after Logout +# 50901-1315 - Fixed CLOSER IN-GROUP Web Form bug +# 50902-1507 - Fixed CLOSER log length_in_sec bug +# 50902-1730 - Added functions for manual preview dialing and revert +# 50913-1214 - Added agent random update to leadupdate +# 51020-1421 - Added agent_log_id framework for detailed agent activity logging +# 51021-1717 - Allows for multi-line comments (changes \n to !N in database) +# 51111-1046 - Added vicidial_agent_log lead_id earlier for manual dial +# 51121-1445 - Altered echo statements for several small PHP speed optimizations +# 51122-1328 - Fixed UserLogout issue not removing conference reservation +# 51129-1012 - Added ability to accept calls from other VICIDIAL servers +# 51129-1729 - Changed manual dial to use the '/n' flag for calls +# 51221-1154 - Added SCRIPT id lookup and sending to vicidial.php for display +# 60105-1059 - Added Updating of astguiclient favorites in the DB +# 60208-1617 - Added dtmf buttons output per call +# 60213-1521 - Added closer_campaigns update to vicidial_users +# 60215-1036 - Added Callback date-time entry into vicidial_callbacks table +# 60413-1541 - Added USERONLY Callback listings output - CalLBacKLisT +# - Added USERONLY Callback count output - CalLBacKCounT +# 60414-1140 - Added Callback lead lookup for manual dialing +# 60419-1517 - After CALLBK is sent to agent, update callback record to INACTIVE +# 60421-1419 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60427-1236 - Fixed closer_choice error for CLOSER campaigns +# 60609-1148 - Added ability to check for manual dial numbers in DNC +# 60619-1117 - Added variable filters to close security holes for login form +# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic +# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing +# 60821-1647 - Added ability to not delete sessions at logout +# 60906-1124 - Added lookup and sending of callback data for CALLBK calls +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70115-1733 - Added alt_dial functionality in auto-dial modes +# 70118-1501 - Added user_group to vicidial_log,_agent_log,_closer_log,_callbacks +# 70123-1357 - Fixed bug that would not update vicidial_closer_log status to dispo +# 70202-1438 - Added pause code submit function +# 70203-0930 - Added dialed_number to lead info output +# 70203-1030 - Added dialed_label to lead info output +# 70206-1126 - Added INBOUND status for inbound/closer calls in vicidial_live_agents +# 70212-1253 - Fixed small issue with CXFER +# 70213-1431 - Added QueueMetrics PAUSE/UNPAUSE/AGENTLOGIN/AGENTLOGOFF actions +# 70214-1231 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1210 - Added queuemetrics COMPLETEAGENT action +# 70216-1051 - Fixed double call complete queuemetrics logging +# 70222-1616 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70309-1034 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70319-1544 - Added agent disable update customer data function +# 70322-1545 - Added sipsak display ability +# 70413-1253 - Fixed bug for outbound call time in CLOSER-type blended campaigns +# 70424-1100 - Fixed bug for fronter/closer calls that would delete vdac records +# 70802-1729 - Fixed bugs with pause_sec and wait_sec under certain call handling +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71029-1855 - removed campaign_id naming restrictions for CLOSER-type campaigns +# 71030-2047 - added hopper priority for auto alt dial entries +# 71116-1011 - added calls_today count updating of the vicidial_live_agents upon INCALL +# 71120-1520 - added LogiNCamPaigns to show only allowed campaigns for agents upon login +# 71125-1751 - Added inbound-group default inbound group sending to vicidial.php +# 71129-2025 - restricted callbacks count and list to campaign only +# 71223-0318 - changed logging of closer calls +# 71226-1117 - added option to kick all calls from conference upon logout +# 80116-1032 - added user_closer_log logging in regCLOSER +# 80125-1213 - fixed vicidial_log bug when call is from closer +# 80317-2051 - Added in-group recording settings +# 80402-0121 - Fixes for manual dial transfers on some systems, removed /n persist flag +# 80424-0442 - Added non_latin lookup from system_settings +# 80430-1006 - Added term_reason for vicidial_log and vicidial_closer_log +# 80430-1957 - Changed to leave lead_id in vicidial_live_agents record until after dispo +# 80630-2153 - Added queue_log logging for Manual dial calls +# 80703-0139 - Added alter customer phone permissions +# 80707-2325 - Added vicidial_id to recording_log for tracking of vicidial or closer log to recording +# 80713-0624 - Added vicidial_list.last_local_call_time field +# 80717-1604 - Modified logging function to use inOUT to determine call direction and place to log +# 80719-1147 - Changed recording conf prefix +# 80815-1019 - Added manual dial list restriction option +# 80831-0545 - Added extended alt dial number info display support +# 80909-1710 - Added support for campaign-specific DNC lists +# 81010-1048 - Added support for hangup of all channels except for agent channel after attempting a 3way call +# 81011-1404 - Fixed bugs in leave3way when transferring a manual dial call +# 81020-1459 - Fixed bugs in queue_log logging +# 81104-0134 - Added mysql error logging capability +# 81104-1617 - Added multi-retry for some vicidial_live_agents table MySQL queries +# 81106-0410 - Added force_timeclock_login option to LoginCampaigns function +# 81107-0424 - Added carryover of script and presets for in-group calls from campaign settings +# 81110-0058 - Changed Pause time to start new vicidial_agent_log on every pause +# 81110-1512 - Added hangup_all_non_reserved to fix non-Hangup bug +# 81111-1630 - Added another hangup fix for non-hangup +# 81114-0126 - More vicidial_agent_log bug fixes +# 81119-1809 - webform backslash fix +# 81124-2212 - Fixes blind transfer bug +# 81126-1522 - Fixed callback comments bug +# 81211-0420 - Fixed Manual dial agent_log bug +# 90120-1718 - Added external pause and dial option +# 90126-1759 - Fixed QM section that wasn't qualified and added agent alert option +# 90128-0231 - Added vendor_lead_code to manual dial lead lookup +# 90304-1335 - Added support for group aliases and agent-specific variables for campaigns and in-groups +# 90305-1041 - Added agent_dialed_number and type for user_call_log feature +# 90307-1735 - Added Shift enforcement and manager override features +# + +$version = '2.0.5-103'; +$build = '90307-1735'; +$mel=1; # Mysql Error Log enabled = 1 +$mysql_log_count=193; +$one_mysql_log=0; + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["ACTION"])) {$ACTION=$_GET["ACTION"];} + elseif (isset($_POST["ACTION"])) {$ACTION=$_POST["ACTION"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["closer_choice"])) {$closer_choice=$_GET["closer_choice"];} + elseif (isset($_POST["closer_choice"])) {$closer_choice=$_POST["closer_choice"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["exten"])) {$exten=$_GET["exten"];} + elseif (isset($_POST["exten"])) {$exten=$_POST["exten"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["ext_priority"])) {$ext_priority=$_GET["ext_priority"];} + elseif (isset($_POST["ext_priority"])) {$ext_priority=$_POST["ext_priority"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["dial_timeout"])) {$dial_timeout=$_GET["dial_timeout"];} + elseif (isset($_POST["dial_timeout"])) {$dial_timeout=$_POST["dial_timeout"];} +if (isset($_GET["dial_prefix"])) {$dial_prefix=$_GET["dial_prefix"];} + elseif (isset($_POST["dial_prefix"])) {$dial_prefix=$_POST["dial_prefix"];} +if (isset($_GET["campaign_cid"])) {$campaign_cid=$_GET["campaign_cid"];} + elseif (isset($_POST["campaign_cid"])) {$campaign_cid=$_POST["campaign_cid"];} +if (isset($_GET["MDnextCID"])) {$MDnextCID=$_GET["MDnextCID"];} + elseif (isset($_POST["MDnextCID"])) {$MDnextCID=$_POST["MDnextCID"];} +if (isset($_GET["uniqueid"])) {$uniqueid=$_GET["uniqueid"];} + elseif (isset($_POST["uniqueid"])) {$uniqueid=$_POST["uniqueid"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["length_in_sec"])) {$length_in_sec=$_GET["length_in_sec"];} + elseif (isset($_POST["length_in_sec"])) {$length_in_sec=$_POST["length_in_sec"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["start_epoch"])) {$start_epoch=$_GET["start_epoch"];} + elseif (isset($_POST["start_epoch"])) {$start_epoch=$_POST["start_epoch"];} +if (isset($_GET["dispo_choice"])) {$dispo_choice=$_GET["dispo_choice"];} + elseif (isset($_POST["dispo_choice"])) {$dispo_choice=$_POST["dispo_choice"];} +if (isset($_GET["vendor_lead_code"])) {$vendor_lead_code=$_GET["vendor_lead_code"];} + elseif (isset($_POST["vendor_lead_code"])) {$vendor_lead_code=$_POST["vendor_lead_code"];} +if (isset($_GET["title"])) {$title=$_GET["title"];} + elseif (isset($_POST["title"])) {$title=$_POST["title"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["middle_initial"])) {$middle_initial=$_GET["middle_initial"];} + elseif (isset($_POST["middle_initial"])) {$middle_initial=$_POST["middle_initial"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["gender"])) {$gender=$_GET["gender"];} + elseif (isset($_POST["gender"])) {$gender=$_POST["gender"];} +if (isset($_GET["date_of_birth"])) {$date_of_birth=$_GET["date_of_birth"];} + elseif (isset($_POST["date_of_birth"])) {$date_of_birth=$_POST["date_of_birth"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["security_phrase"])) {$security_phrase=$_GET["security_phrase"];} + elseif (isset($_POST["security_phrase"])) {$security_phrase=$_POST["security_phrase"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_GET["VDstop_rec_after_each_call"];} + elseif (isset($_POST["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_POST["VDstop_rec_after_each_call"];} +if (isset($_GET["conf_silent_prefix"])) {$conf_silent_prefix=$_GET["conf_silent_prefix"];} + elseif (isset($_POST["conf_silent_prefix"])) {$conf_silent_prefix=$_POST["conf_silent_prefix"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["user_abb"])) {$user_abb=$_GET["user_abb"];} + elseif (isset($_POST["user_abb"])) {$user_abb=$_POST["user_abb"];} +if (isset($_GET["preview"])) {$preview=$_GET["preview"];} + elseif (isset($_POST["preview"])) {$preview=$_POST["preview"];} +if (isset($_GET["called_count"])) {$called_count=$_GET["called_count"];} + elseif (isset($_POST["called_count"])) {$called_count=$_POST["called_count"];} +if (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];} + elseif (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];} +if (isset($_GET["agent_log"])) {$agent_log=$_GET["agent_log"];} + elseif (isset($_POST["agent_log"])) {$agent_log=$_POST["agent_log"];} +if (isset($_GET["favorites_list"])) {$favorites_list=$_GET["favorites_list"];} + elseif (isset($_POST["favorites_list"])) {$favorites_list=$_POST["favorites_list"];} +if (isset($_GET["CallBackDatETimE"])) {$CallBackDatETimE=$_GET["CallBackDatETimE"];} + elseif (isset($_POST["CallBackDatETimE"])) {$CallBackDatETimE=$_POST["CallBackDatETimE"];} +if (isset($_GET["recipient"])) {$recipient=$_GET["recipient"];} + elseif (isset($_POST["recipient"])) {$recipient=$_POST["recipient"];} +if (isset($_GET["callback_id"])) {$callback_id=$_GET["callback_id"];} + elseif (isset($_POST["callback_id"])) {$callback_id=$_POST["callback_id"];} +if (isset($_GET["use_internal_dnc"])) {$use_internal_dnc=$_GET["use_internal_dnc"];} + elseif (isset($_POST["use_internal_dnc"])) {$use_internal_dnc=$_POST["use_internal_dnc"];} +if (isset($_GET["use_campaign_dnc"])) {$use_campaign_dnc=$_GET["use_campaign_dnc"];} + elseif (isset($_POST["use_campaign_dnc"])) {$use_campaign_dnc=$_POST["use_campaign_dnc"];} +if (isset($_GET["omit_phone_code"])) {$omit_phone_code=$_GET["omit_phone_code"];} + elseif (isset($_POST["omit_phone_code"])) {$omit_phone_code=$_POST["omit_phone_code"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["LogouTKicKAlL"])) {$LogouTKicKAlL=$_GET["LogouTKicKAlL"];} + elseif (isset($_POST["LogouTKicKAlL"])) {$LogouTKicKAlL=$_POST["LogouTKicKAlL"];} +if (isset($_GET["closer_blended"])) {$closer_blended=$_GET["closer_blended"];} + elseif (isset($_POST["closer_blended"])) {$closer_blended=$_POST["closer_blended"];} +if (isset($_GET["inOUT"])) {$inOUT=$_GET["inOUT"];} + elseif (isset($_POST["inOUT"])) {$inOUT=$_POST["inOUT"];} +if (isset($_GET["manual_dial_filter"])) {$manual_dial_filter=$_GET["manual_dial_filter"];} + elseif (isset($_POST["manual_dial_filter"])) {$manual_dial_filter=$_POST["manual_dial_filter"];} +if (isset($_GET["alt_dial"])) {$alt_dial=$_GET["alt_dial"];} + elseif (isset($_POST["alt_dial"])) {$alt_dial=$_POST["alt_dial"];} +if (isset($_GET["agentchannel"])) {$agentchannel=$_GET["agentchannel"];} + elseif (isset($_POST["agentchannel"])) {$agentchannel=$_POST["agentchannel"];} +if (isset($_GET["conf_dialed"])) {$conf_dialed=$_GET["conf_dialed"];} + elseif (isset($_POST["conf_dialed"])) {$conf_dialed=$_POST["conf_dialed"];} +if (isset($_GET["leaving_threeway"])) {$leaving_threeway=$_GET["leaving_threeway"];} + elseif (isset($_POST["leaving_threeway"])) {$leaving_threeway=$_POST["leaving_threeway"];} +if (isset($_GET["hangup_all_non_reserved"])) {$hangup_all_non_reserved=$_GET["hangup_all_non_reserved"];} + elseif (isset($_POST["hangup_all_non_reserved"])) {$hangup_all_non_reserved=$_POST["hangup_all_non_reserved"];} +if (isset($_GET["blind_transfer"])) {$blind_transfer=$_GET["blind_transfer"];} + elseif (isset($_POST["blind_transfer"])) {$blind_transfer=$_POST["blind_transfer"];} +if (isset($_GET["usegroupalias"])) {$usegroupalias=$_GET["usegroupalias"];} + elseif (isset($_POST["usegroupalias"])) {$usegroupalias=$_POST["usegroupalias"];} +if (isset($_GET["account"])) {$account=$_GET["account"];} + elseif (isset($_POST["account"])) {$account=$_POST["account"];} +if (isset($_GET["agent_dialed_number"])) {$agent_dialed_number=$_GET["agent_dialed_number"];} + elseif (isset($_POST["agent_dialed_number"])) {$agent_dialed_number=$_POST["agent_dialed_number"];} +if (isset($_GET["agent_dialed_type"])) {$agent_dialed_type=$_GET["agent_dialed_type"];} + elseif (isset($_POST["agent_dialed_type"])) {$agent_dialed_type=$_POST["agent_dialed_type"];} + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +$txt = '.txt'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$agents='@agents'; + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,timeclock_end_of_day FROM system_settings;"; +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log);} +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $timeclock_end_of_day = $row[1]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) +{ +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); +$length_in_sec = ereg_replace("[^0-9]","",$length_in_sec); +$phone_code = ereg_replace("[^0-9]","",$phone_code); +$phone_number = ereg_replace("[^0-9]","",$phone_number); +} + +# default optional vars if not set +if (!isset($format)) {$format="text";} + if ($format == 'debug') {$DB=1;} +if (!isset($ACTION)) {$ACTION="refresh";} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +if ($ACTION == 'LogiNCamPaigns') + { + $skip_user_validation=1; + } +else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00002',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalid server_ip: |$server_ip| or Invalid session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00003',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalid session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } +} + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDiaL Database Query Script"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + + +################################################################################ +### LogiNCamPaigns - generates an HTML SELECT list of allowed campaigns for a +### specific agent on the login screen +################################################################################ +if ($ACTION == 'LogiNCamPaigns') + { + if ( (strlen($user)<1) ) + { + echo "\n"; + exit; + } + else + { + $stmt="SELECT user_group,user_level,agent_shift_enforcement_override,shift_override_flag from vicidial_users where user='$user' and pass='$pass'"; + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00004',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $VU_user_group = $row[0]; + $VU_user_level = $row[1]; + $VU_agent_shift_enforcement_override = $row[2]; + $VU_shift_override_flag = $row[3]; + + $LOGallowed_campaignsSQL=''; + + $stmt="SELECT allowed_campaigns,forced_timeclock_login,shift_enforcement,group_shifts from vicidial_user_groups where user_group='$VU_user_group';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00005',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $forced_timeclock_login = $row[1]; + $shift_enforcement = $row[2]; + $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[3]); + $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; + if ( (!eregi("ALL-CAMPAIGNS",$row[0])) ) + { + $LOGallowed_campaignsSQL = eregi_replace(' -','',$row[0]); + $LOGallowed_campaignsSQL = eregi_replace(' ',"','",$LOGallowed_campaignsSQL); + $LOGallowed_campaignsSQL = "and campaign_id IN('$LOGallowed_campaignsSQL')"; + } + + $show_campaign_list=1; + ### CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + { + $last_agent_event=''; + $HHMM = date("Hi"); + $HHteod = substr($timeclock_end_of_day,0,2); + $MMteod = substr($timeclock_end_of_day,2,2); + + if ($HHMM < $timeclock_end_of_day) + {$EoD = mktime($HHteod, $MMteod, 10, date("m"), date("d")-1, date("Y"));} + else + {$EoD = mktime($HHteod, $MMteod, 10, date("m"), date("d"), date("Y"));} + + $EoDdate = date("Y-m-d H:i:s", $EoD); + + ##### grab timeclock logged-in time for each user ##### + $stmt="SELECT event from vicidial_timeclock_log where user='$user' and event_epoch >= '$EoD' order by timeclock_id desc limit 1;"; + if ($DB>0) {echo "|$stmt|";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00184',$user,$server_ip,$session_name,$one_mysql_log);} + $events_to_parse = mysql_num_rows($rslt); + if ($events_to_parse > 0) + { + $rowx=mysql_fetch_row($rslt); + $last_agent_event = $rowx[0]; + } + if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + {$show_campaign_list=0;} + } + } + + ### CHECK TO SEE IF AGENT IS WITHIN THEIR SHIFT IF RESTRICTED, IF NOT, OUTPUT ERROR + if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + { + $shift_ok=0; + if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) + { + $VDdisplayMESSAGE = "ERROR: There are no Shifts enabled for your user group\n"; + $VDloginDISPLAY=1; + } + else + { + $HHMM = date("Hi"); + $wday = date("w"); + + $stmt="SELECT shift_id,shift_start_time,shift_length,shift_weekdays from vicidial_shifts where $LOGgroup_shiftsSQL order by shift_id"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00193',$user,$server_ip,$session_name,$one_mysql_log);} + $shifts_to_print = mysql_num_rows($rslt); + + $o=0; + while ( ($shifts_to_print > $o) and ($shift_ok < 1) ) + { + $rowx=mysql_fetch_row($rslt); + $shift_id = $rowx[0]; + $shift_start_time = $rowx[1]; + $shift_length = $rowx[2]; + $shift_weekdays = $rowx[3]; + + if (eregi("$wday",$shift_weekdays)) + { + $HHshift_length = substr($shift_length,0,2); + $MMshift_length = substr($shift_length,3,2); + $HHshift_start_time = substr($shift_start_time,0,2); + $MMshift_start_time = substr($shift_start_time,2,2); + $HHshift_end_time = ($HHshift_length + $HHshift_start_time); + $MMshift_end_time = ($MMshift_length + $MMshift_start_time); + if ($MMshift_end_time > 59) + { + $MMshift_end_time = ($MMshift_end_time - 60); + $HHshift_end_time++; + } + if ($HHshift_end_time > 23) + {$HHshift_end_time = ($HHshift_end_time - 24);} + $HHshift_end_time = sprintf("%02s", $HHshift_end_time); + $MMshift_end_time = sprintf("%02s", $MMshift_end_time); + $shift_end_time = "$HHshift_end_time$MMshift_end_time"; + + if ( + ( ($HHMM >= $shift_start_time) and ($HHMM < $shift_end_time) ) or + ( ($HHMM < $shift_start_time) and ($HHMM < $shift_end_time) and ($shift_end_time <= $shift_start_time) ) or + ( ($HHMM >= $shift_start_time) and ($HHMM >= $shift_end_time) and ($shift_end_time <= $shift_start_time) ) + ) + {$shift_ok++;} + } + $o++; + } + + if ( ($shift_ok < 1) and ($VU_shift_override_flag < 1) ) + { + $VDdisplayMESSAGE = "ERROR: You are not allowed to log in outside of your shift\n"; + $VDloginDISPLAY=1; + } + } + if ($VDloginDISPLAY > 0) + { + $loginDATE = date("Ymd"); + $VDdisplayMESSAGE.= "

    MANAGER OVERRIDE:
    \n"; + $VDdisplayMESSAGE.= "
    \n"; + $VDdisplayMESSAGE.= "\n"; + $VDdisplayMESSAGE.= "\n"; + $VDdisplayMESSAGE.= "\n"; + $VDdisplayMESSAGE.= "\n"; + $VDdisplayMESSAGE.= "Manager Login:
    \n"; + $VDdisplayMESSAGE.= "Manager Password:
    \n"; + $VDdisplayMESSAGE.= "




    \n"; + echo "$VDdisplayMESSAGE"; + exit; + } + } + + if ($show_campaign_list > 0) + { + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns where active='Y' $LOGallowed_campaignsSQL order by campaign_id"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00006',$user,$server_ip,$session_name,$one_mysql_log);} + $camps_to_print = mysql_num_rows($rslt); + + echo "\n"; + } + else + { + echo "\n"; + } + exit; + } + + + +################################################################################ +### regCLOSER - update the vicidial_live_agents table to reflect the closer +### inbound choices made upon login +################################################################################ +if ($ACTION == 'regCLOSER') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($closer_choice)<1) || (strlen($user)<1) ) + { + $channel_live=0; + echo "Group Choice $closer_choice is not valid\n"; + exit; + } + else + { + if ($closer_choice == "MGRLOCK-") + { + $stmt="SELECT closer_campaigns FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00007',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $closer_choice =$row[0]; + + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00008',$user,$server_ip,$session_name,$one_mysql_log);} + } + else + { + $stmt="UPDATE vicidial_live_agents set closer_campaigns='$closer_choice' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00009',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_users set closer_campaigns='$closer_choice' where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00010',$user,$server_ip,$session_name,$one_mysql_log);} + } + + $stmt="INSERT INTO vicidial_user_closer_log set user='$user',campaign_id='$campaign',event_date='$NOW_TIME',blended='$closer_blended',closer_campaigns='$closer_choice';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00011',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="DELETE FROM vicidial_live_inbound_agents where user='$user';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00012',$user,$server_ip,$session_name,$one_mysql_log);} + + $in_groups_pre = preg_replace('/-$/','',$closer_choice); + $in_groups = explode(" ",$in_groups_pre); + $in_groups_ct = count($in_groups); + $k=1; + while ($k < $in_groups_ct) + { + if (strlen($in_groups[$k])>1) + { + $stmt="SELECT group_weight,calls_today FROM vicidial_inbound_group_agents where user='$user' and group_id='$in_groups[$k]';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00013',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $viga_ct = mysql_num_rows($rslt); + if ($viga_ct > 0) + { + $row=mysql_fetch_row($rslt); + $group_weight = $row[0]; + $calls_today = $row[1]; + } + else + { + $group_weight = 0; + $calls_today = 0; + } + $stmt="INSERT INTO vicidial_live_inbound_agents set user='$user',group_id='$in_groups[$k]',group_weight='$group_weight',calls_today='$calls_today',last_call_time='$NOW_TIME',last_call_finish='$NOW_TIME';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00014',$user,$server_ip,$session_name,$one_mysql_log);} + } + $k++; + } + + } + echo "Closer In Group Choice $closer_choice has been registered to user $user\n"; +} + + +################################################################################ +### manDiaLnextCALL - for manual VICIDiaL dialing this will grab the next lead +### in the campaign, reserve it, send data back to client and +### place the call by inserting into vicidial_manager +################################################################################ +if ($ACTION == 'manDiaLnextCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) ) + { + $channel_live=0; + echo "HOPPER EMPTY\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context is not valid\n"; + exit; + } + else + { + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00015',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### check if this is a callback, if it is, skip the grabbing of a new lead and mark the callback as INACTIVE + if ( (strlen($callback_id)>0) and (strlen($lead_id)>0) ) + { + $affected_rows=1; + $CBleadIDset=1; + + $stmt = "UPDATE vicidial_callbacks set status='INACTIVE' where callback_id='$callback_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00016',$user,$server_ip,$session_name,$one_mysql_log);} + } + else + { + if (strlen($phone_number)>3) + { + if (ereg("DNC",$manual_dial_filter)) + { + $stmt="SELECT count(*) FROM vicidial_dnc where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00017',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + echo "DNC NUMBER\n"; + exit; + } + $stmt="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00018',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + echo "DNC NUMBER\n"; + exit; + } + } + if (ereg("CAMPLISTS",$manual_dial_filter)) + { + $stmt="SELECT list_id,active from vicidial_lists where campaign_id='$campaign'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00019',$user,$server_ip,$session_name,$one_mysql_log);} + $lists_to_parse = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_parse > $o) + { + $rowx=mysql_fetch_row($rslt); + if (ereg("Y", $rowx[1])) {$active_lists++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_lists++;} + $o++; + } + $camp_lists = eregi_replace(".$","",$camp_lists); + + $stmt="SELECT count(*) FROM vicidial_list where phone_number='$phone_number' and list_id IN($camp_lists);"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00020',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + + if ($row[0] < 1) + { + echo "NUMBER NOT IN CAMPLISTS\n"; + exit; + } + } + if ($stage=='lookup') + { + if (strlen($vendor_lead_code)>0) + { + $stmt="SELECT lead_id FROM vicidial_list where vendor_lead_code='$vendor_lead_code' order by modify_date desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00021',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $man_leadID_ct = mysql_num_rows($rslt); + if ( ($man_leadID_ct > 0) and (strlen($phone_number) > 5) ) + {$override_phone++;} + } + else + { + $stmt="SELECT lead_id FROM vicidial_list where phone_number='$phone_number' order by modify_date desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00021',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $man_leadID_ct = mysql_num_rows($rslt); + } + if ($man_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $affected_rows=1; + $lead_id =$row[0]; + $CBleadIDset=1; + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME',vendor_lead_code='$vendor_lead_code';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00022',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='QUEUE',user='$user',called_since_last_reset='Y',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00023',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $lead_id = mysql_insert_id($link); + $CBleadIDset=1; + } + } + else + { + ### grab the next lead in the hopper for this campaign and reserve it for the user + $stmt = "UPDATE vicidial_hopper set status='QUEUE', user='$user' where campaign_id='$campaign' and status='READY' order by priority desc,hopper_id LIMIT 1"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00024',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + } + } + + if ($affected_rows > 0) + { + if (!$CBleadIDset) + { + ##### grab the lead_id of the reserved user in vicidial_hopper + $stmt="SELECT lead_id FROM vicidial_hopper where campaign_id='$campaign' and status='QUEUE' and user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00025',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $hopper_leadID_ct = mysql_num_rows($rslt); + if ($hopper_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + } + } + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00026',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $called_since_last_reset = trim("$row[9]"); + $phone_code = trim("$row[10]"); + if ($override_phone < 1) + {$phone_number = trim("$row[11]");} + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + } + + $called_count++; + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00027',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # generate callerID for unique identifier in xfer_log file + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|M + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|M|$MqueryCID|\n"); + fclose($fp); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00028',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + $stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00029',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $server_ct = mysql_num_rows($rslt); + if ($server_ct > 0) + { + $row=mysql_fetch_row($rslt); + $local_gmt = $row[0]; + } + $LLCT_DATE_offset = ($local_gmt - $gmt_offset_now); + $LLCT_DATE = date("Y-m-d H:i:s", mktime(date("H")-$LLCT_DATE_offset,date("i"),date("s"),date("m"),date("d"),date("Y"))); + + if (ereg('Y',$called_since_last_reset)) + { + $called_since_last_reset = ereg_replace('Y','',$called_since_last_reset); + if (strlen($called_since_last_reset) < 1) {$called_since_last_reset = 0;} + $called_since_last_reset++; + $called_since_last_reset = "Y$called_since_last_reset"; + } + else {$called_since_last_reset = 'Y';} + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='$called_since_last_reset', called_count='$called_count',user='$user',last_local_call_time='$LLCT_DATE' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00030',$user,$server_ip,$session_name,$one_mysql_log);} + + if (!$CBleadIDset) + { + ### delete the lead from the hopper + $stmt = "DELETE FROM vicidial_hopper where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00031',$user,$server_ip,$session_name,$one_mysql_log);} + } + + $stmt="UPDATE vicidial_agent_log set lead_id='$lead_id',comments='MANUAL' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00032',$user,$server_ip,$session_name,$one_mysql_log);} + + ### if preview dialing, do not send the call + if ( (strlen($preview)<1) || ($preview == 'NO') ) + { + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + # $Local_persist = '/n'; + $Local_persist = ''; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + + if ( ($usegroupalias > 0) and (strlen($account)>1) ) + { + $RAWaccount = $account; + $account = "Account: $account"; + $variable = "Variable: usegroupalias=1"; + } + else + {$account=''; $variable='';} + + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00033',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00034',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00035',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update calls_today count in vicidial_campaign_agents + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00036',$user,$server_ip,$session_name,$one_mysql_log);} + + if ($agent_dialed_number > 0) + { + $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$phone_number','$Ndialstring','$lead_id','$CCID','$RAWaccount')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00191',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00037',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # UNPAUSEALL + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00038',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # ENTERQUEUE + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='ENTERQUEUE',data2='$phone_number',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00039',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CONNECT + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00040',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $MqueryCID . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= "MAIN\n"; + $LeaD_InfO .= $source_id . "\n"; + + echo $LeaD_InfO; + + } + else + { + echo "HOPPER EMPTY\n"; + } + } +} + + +################################################################################ +### alt_phone_change - change alt phone numbers to active and inactive +### +################################################################################ +if ($ACTION == 'alt_phone_change') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($stage)<1) || (strlen($called_count)<1) || (strlen($lead_id)<1) || (strlen($phone_number)<1) ) + { + $channel_live=0; + echo "ALT PHONE NUMBER STATUS NOT CHANGED\n"; + echo "$phone_number $stage $lead_id or $called_count is not valid\n"; + exit; + } + else + { + $stmt = "UPDATE vicidial_list_alt_phones set active='$stage' where lead_id='$lead_id' and phone_number='$phone_number' and alt_phone_count='$called_count';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00041',$user,$server_ip,$session_name,$one_mysql_log);} + + echo "ALT PHONE NUMBER STATUS CHANGED\n"; + } +} + + +################################################################################ +### AlertControl - change the agent alert setting in vicidial_users +### +################################################################################ +if ($ACTION == 'AlertControl') +{ + if (strlen($stage)<1) + { + $channel_live=0; + echo "AGENT ALERT SETTING NOT CHANGED\n"; + echo "$stage is not valid\n"; + exit; + } + else + { + if (ereg('ON',$stage)) {$stage = '1';} + else {$stage = '0';} + + $stmt = "UPDATE vicidial_users set alert_enabled='$stage' where user='$user' and pass='$pass';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'000185',$user,$server_ip,$session_name,$one_mysql_log);} + + echo "AGENT ALERT SETTING CHANGED $stage\n"; + } +} + + +################################################################################ +### manDiaLskip - for manual VICIDiaL dialing this skips the lead that was +### previewed in the step above and puts it back in orig status +################################################################################ +if ($ACTION == 'manDiaLskip') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($stage)<1) || (strlen($called_count)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "LEAD NOT REVERTED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context is not valid\n"; + exit; + } + else + { + $called_count = ($called_count - 1); + ### flag the lead as called and change it's status to INCALL + $stmt = "UPDATE vicidial_list set status='$stage', called_count='$called_count',user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00042',$user,$server_ip,$session_name,$one_mysql_log);} + + + echo "LEAD REVERTED\n"; + } +} + + +################################################################################ +### manDiaLonly - for manual VICIDiaL dialing this sends the call that was +### previewed in the step above +################################################################################ +if ($ACTION == 'manDiaLonly') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($conf_exten)<1) || (strlen($campaign)<1) || (strlen($ext_context)<1) || (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo " CALL NOT PLACED\n"; + echo "Conf Exten $conf_exten or campaign $campaign or ext_context $ext_context is not valid\n"; + exit; + } + else + { + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00043',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### prepare variables to place manual call from VICIDiaL + $CCID_on=0; $CCID=''; + $local_DEF = 'Local/'; + $local_AMP = '@'; + $Local_out_prefix = '9'; + $Local_dial_timeout = '60'; + $Local_persist = '/n'; + if ($dial_timeout > 4) {$Local_dial_timeout = $dial_timeout;} + $Local_dial_timeout = ($Local_dial_timeout * 1000); + if (strlen($dial_prefix) > 0) {$Local_out_prefix = "$dial_prefix";} + if (strlen($campaign_cid) > 6) {$CCID = "$campaign_cid"; $CCID_on++;} + if (eregi("x",$dial_prefix)) {$Local_out_prefix = '';} + + $PADlead_id = sprintf("%09s", $lead_id); + while (strlen($PADlead_id) > 9) {$PADlead_id = substr("$PADlead_id", 0, -1);} + + # Create unique calleridname to track the call: MmmddhhmmssLLLLLLLLL + $MqueryCID = "M$CIDdate$PADlead_id"; + if ($CCID_on) {$CIDstring = "\"$MqueryCID\" <$CCID>";} + else {$CIDstring = "$MqueryCID";} + + if ( ($usegroupalias > 0) and (strlen($account)>1) ) + { + $RAWaccount = $account; + $account = "Account: $account"; + $variable = "Variable: usegroupalias=1"; + } + else + {$account=''; $variable='';} + + ### whether to omit phone_code or not + if (eregi('Y',$omit_phone_code)) + {$Ndialstring = "$Local_out_prefix$phone_number";} + else + {$Ndialstring = "$Local_out_prefix$phone_code$phone_number";} + ### insert the call action into the vicidial_manager table to initiate the call + # $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $conf_exten','Context: $ext_context','Channel: $local_DEF$Local_out_prefix$phone_code$phone_number$local_AMP$ext_context','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','','','','');"; + $stmt = "INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$MqueryCID','Exten: $Ndialstring','Context: $ext_context','Channel: $local_DEF$conf_exten$local_AMP$ext_context$Local_persist','Priority: 1','Callerid: $CIDstring','Timeout: $Local_dial_timeout','$account','$variable','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00044',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$server_ip','$campaign','XFER','$lead_id','$MqueryCID','$phone_code','$phone_number','$NOW_TIME','OUT')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00045',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',callerid='$MqueryCID',lead_id='$lead_id',comments='MANUAL',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00046',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9046$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00047',$user,$server_ip,$session_name,$one_mysql_log);} + + echo "$MqueryCID\n"; + + if ($agent_dialed_number > 0) + { + $stmt = "INSERT INTO user_call_log (user,call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id) values('$user','$NOW_TIME','$agent_dialed_type','$server_ip','$phone_number','$Ndialstring','$lead_id','$CCID','$RAWaccount')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00192',$user,$server_ip,$session_name,$one_mysql_log);} + } + + + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00048',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # UNPAUSEALL + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='UNPAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00049',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # ENTERQUEUE + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='NONE',verb='ENTERQUEUE',data2='$phone_number',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00050',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + # CONNECT + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MqueryCID',queue='$campaign',agent='Agent/$user',verb='CONNECT',data1='0',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00051',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + } +} + + +################################################################################ +### manDiaLlookCALL - for manual VICIDiaL dialing this will attempt to look up +### the trunk channel that the call was placed on +################################################################################ +if ($ACTION == 'manDiaLlookCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; +if (strlen($MDnextCID)<18) + { + echo "NO\n"; + echo "MDnextCID $MDnextCID is not valid\n"; + exit; + } +else + { + ##### look for the channel in the UPDATED vicidial_manager record of the call initiation + $stmt="SELECT uniqueid,channel FROM vicidial_manager where callerid='$MDnextCID' and server_ip='$server_ip' and status IN('UPDATED','DEAD') LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00052',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $uniqueid =$row[0]; + $channel =$row[1]; + echo "$uniqueid\n$channel"; + + $wait_sec=0; + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00053',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',wait_epoch='$StarTtime',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00054',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt="UPDATE vicidial_auto_calls set uniqueid='$uniqueid',channel='$channel' where callerid='$MDnextCID';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00055',$user,$server_ip,$session_name,$one_mysql_log);} + } + else + { + echo "NO\n"; + } + } +} + + + +################################################################################ +### manDiaLlogCALL - for manual VICIDiaL logging of calls places record in +### vicidial_log and then sends process to call_log entry +################################################################################ +if ($ACTION == 'manDiaLlogCaLL') +{ + $MT[0]=''; + $row=''; $rowx=''; + $vidSQL=''; + $VDterm_reason=''; + +if ($stage == "start") + { + if ( (strlen($uniqueid)<1) || (strlen($lead_id)<1) || (strlen($list_id)<1) || (strlen($phone_number)<1) || (strlen($campaign)<1) ) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|VL_LOG_0|$uniqueid|$lead_id|$user|$list_id|$campaign|$start_epoch|$phone_number|$agent_log_id|\n"); + fclose($fp); + + echo "LOG NOT ENTERED\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id or list_id: $list_id or phone_number: $phone_number or campaign: $campaign is not valid\n"; + exit; + } + else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00056',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### insert log into vicidial_log for manual VICIDiaL call + $stmt="INSERT INTO vicidial_log (uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,comments,processed,user_group,alt_dial) values('$uniqueid','$lead_id','$list_id','$campaign','$NOW_TIME','$StarTtime','INCALL','$phone_code','$phone_number','$user','MANUAL','N','$user_group','$alt_dial');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00057',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "VICIDiaL_LOG Inserted: $uniqueid|$channel|$NOW_TIME\n"; + echo "$StarTtime\n"; + } + else + { + echo "LOG NOT ENTERED\n"; + } + + $stmt = "UPDATE vicidial_auto_calls SET uniqueid='$uniqueid' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00058',$user,$server_ip,$session_name,$one_mysql_log);} + + # ##### insert log into call_log for manual VICIDiaL call + # $stmt = "INSERT INTO call_log (uniqueid,channel,server_ip,extension,number_dialed,caller_code,start_time,start_epoch) values('$uniqueid','$channel','$server_ip','$exten','$phone_code$phone_number','MD $user $lead_id','$NOW_TIME','$StarTtime')"; + # if ($DB) {echo "$stmt\n";} + # $rslt=mysql_query($stmt, $link); + # $affected_rows = mysql_affected_rows($link); + + # if ($affected_rows > 0) + # { + # echo "CALL_LOG Inserted: $uniqueid|$channel|$NOW_TIME"; + # } + # else + # { + # echo "LOG NOT ENTERED\n"; + # } + } + } + +if ($stage == "end") + { + ##### get call type from vicidial_live_agents table + $VLA_inOUT='NONE'; + $stmt="SELECT comments FROM vicidial_live_agents where user='$user' order by last_update_time desc limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00059',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VLA_inOUT_ct = mysql_num_rows($rslt); + if ($VLA_inOUT_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VLA_inOUT = $row[0]; + } + + if ( (strlen($uniqueid)<1) and ($VLA_inOUT == 'INBOUND') ) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND_LOG_0|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$start_epoch|$phone_number|$agent_log_id|\n"); + fclose($fp); + $uniqueid='6666.1'; + } + if ( (strlen($uniqueid)<1) or (strlen($lead_id)<1) ) + { + echo "LOG NOT ENTERED\n"; + echo "uniqueid $uniqueid or lead_id: $lead_id is not valid\n"; + exit; + } + else + { + $term_reason='NONE'; + if ($start_epoch < 1000) + { + if ($VLA_inOUT == 'INBOUND') + { + $four_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-4,date("i"),date("s"),date("m"),date("d"),date("Y"))); + + ##### look for the start epoch in the vicidial_closer_log table + $stmt="SELECT start_epoch,term_reason,closecallid,campaign_id FROM vicidial_closer_log where phone_number='$phone_number' and lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by closecallid desc limit 1;"; + $VDIDselect = "VDCL_LID $lead_id $phone_number $user $four_hours_ago"; + } + else + { + ##### look for the start epoch in the vicidial_log table + $stmt="SELECT start_epoch,term_reason,uniqueid,campaign_id FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; + $VDIDselect = "VDL_UIDLID $uniqueid $lead_id"; + } + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00060',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch = $row[0]; + $VDterm_reason = $row[1]; + $VDvicidial_id = $row[2]; + $VDcampaign_id = $row[3]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + + if ( ($length_in_sec < 1) and ($VLA_inOUT == 'INBOUND') ) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND_LOG_1|$uniqueid|$lead_id|$user|$inOUT|$length_in_sec|$VDterm_reason|$VDvicidial_id|$start_epoch|\n"); + fclose($fp); + + ##### start epoch in the vicidial_log table, couldn't find one in vicidial_closer_log + $stmt="SELECT start_epoch,term_reason,campaign_id FROM vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00061',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VM_mancall_ct = mysql_num_rows($rslt); + if ($VM_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $start_epoch = $row[0]; + $VDterm_reason = $row[1]; + $VDcampaign_id = $row[2]; + $length_in_sec = ($StarTtime - $start_epoch); + } + else + { + $length_in_sec = 0; + } + } + } + else {$length_in_sec = ($StarTtime - $start_epoch);} + + if (strlen($VDcampaign_id)<1) {$VDcampaign_id = $campaign;} + + $four_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-4,date("i"),date("s"),date("m"),date("d"),date("Y"))); + + if ($VLA_inOUT == 'INBOUND') + { + $stmt = "UPDATE vicidial_closer_log set end_epoch='$StarTtime', length_in_sec='$length_in_sec' where lead_id='$lead_id' and user='$user' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00062',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + echo "$uniqueid\n$channel\n"; + } + else + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND_LOG_2|$uniqueid|$lead_id|$user|$inOUT|$length_in_sec|$VDterm_reason|$VDvicidial_id|$start_epoch|\n"); + fclose($fp); + } + } + + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00063',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + } + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ($auto_dial_level > 0) + { + ### check to see if campaign has alt_dial enabled + $stmt="SELECT auto_alt_dial FROM vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00064',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_alt_dial =$row[0]; + } + else {$auto_alt_dial = 'NONE';} + if (eregi("(ALT_ONLY|ADDR3_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED|EXTENDED_ONLY)",$auto_alt_dial)) + { + ### check to see if lead should be alt_dialed + if (strlen($alt_dial)<2) {$alt_dial = 'NONE';} + + if ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("(ALT_ONLY|ALT_AND_ADDR3|ALT_AND_EXTENDED)",$auto_alt_dial)) ) + { + $alt_dial_skip=0; + $stmt="SELECT alt_phone,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00065',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_phone = $row[0]; + $alt_phone = eregi_replace("[^0-9]","",$alt_phone); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$alt_phone = '';} + if (strlen($alt_phone)>5) + { + if (ereg("Y",$use_internal_dnc)) + { + $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$alt_phone';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00066',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VLAP_dnc_ct = mysql_num_rows($rslt); + if ($VLAP_dnc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_alt_dnc_count = $row[0]; + } + } + else {$VD_alt_dnc_count=0;} + if (ereg("Y",$use_campaign_dnc)) + { + $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$alt_phone' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00067',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VLAP_cdnc_ct = mysql_num_rows($rslt); + if ($VLAP_cdnc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_alt_dnc_count = ($VD_alt_dnc_count + $row[0]); + } + } + if ($VD_alt_dnc_count < 1) + { + ### insert record into vicidial_hopper for alt_phone call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ALT',user='',priority='25';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00068',$user,$server_ip,$session_name,$one_mysql_log);} + } + else + {$alt_dial_skip=1;} + } + else + {$alt_dial_skip=1;} + if ($alt_dial_skip > 0) + {$alt_dial='ALT';} + } + + if ( ( (eregi("(ALT)",$alt_dial)) and (eregi("ALT_AND_ADDR3",$auto_alt_dial)) ) or ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("ADDR3_ONLY",$auto_alt_dial)) ) ) + { + $addr3_dial_skip=0; + $stmt="SELECT address3,gmt_offset_now,state FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00069',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VAC_mancall_ct = mysql_num_rows($rslt); + if ($VAC_mancall_ct > 0) + { + $row=mysql_fetch_row($rslt); + $address3 = $row[0]; + $address3 = eregi_replace("[^0-9]","",$address3); + $gmt_offset_now = $row[1]; + $state = $row[2]; + } + else {$address3 = '';} + if (strlen($address3)>5) + { + if (ereg("Y",$use_internal_dnc)) + { + $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$address3';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00070',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VLAP_dnc_ct = mysql_num_rows($rslt); + if ($VLAP_dnc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_alt_dnc_count = $row[0]; + } + } + else {$VD_alt_dnc_count=0;} + if (ereg("Y",$use_campaign_dnc)) + { + $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$address3' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00071',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VLAP_cdnc_ct = mysql_num_rows($rslt); + if ($VLAP_cdnc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_alt_dnc_count = ($VD_alt_dnc_count + $row[0]); + } + } + if ($VD_alt_dnc_count < 1) + { + ### insert record into vicidial_hopper for address3 call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$list_id',gmt_offset_now='$gmt_offset_now',state='$state',alt_dial='ADDR3',user='',priority='20';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00072',$user,$server_ip,$session_name,$one_mysql_log);} + } + else + {$addr3_dial_skip=1;} + } + else + {$addr3_dial_skip=1;} + if ($addr3_dial_skip > 0) + {$alt_dial='ADDR3';} + } + + # $fp = fopen ("./alt_multi_log.txt", "a"); + # fwrite ($fp, "$NOW_TIME|PRE-X|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid|$stmt|$auto_alt_dial|$alt_dial\n"); + # fclose($fp); + + if ( ( ( (eregi("(NONE|MAIN)",$alt_dial)) and (eregi("EXTENDED_ONLY",$auto_alt_dial)) ) or ( (eregi("(ALT)",$alt_dial)) and (eregi("(ALT_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(ADDR3)",$alt_dial)) and (eregi("(ADDR3_AND_EXTENDED|ALT_AND_ADDR3_AND_EXTENDED)",$auto_alt_dial)) ) or ( (eregi("(X)",$alt_dial)) and (eregi("EXTENDED",$auto_alt_dial)) ) ) and (!eregi("LAST",$alt_dial)) ) + { + if (eregi("(ADDR3)",$alt_dial)) {$Xlast=0;} + else + {$Xlast = ereg_replace("[^0-9]","",$alt_dial);} + if (strlen($Xlast)<1) + {$Xlast=0;} + $VD_altdialx=''; + + $stmt="SELECT gmt_offset_now,state,list_id FROM vicidial_list where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00073',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VL_deailts_ct = mysql_num_rows($rslt); + if ($VL_deailts_ct > 0) + { + $row=mysql_fetch_row($rslt); + $EA_gmt_offset_now = $row[0]; + $EA_state = $row[1]; + $EA_list_id = $row[2]; + } + $alt_dial_phones_count=0; + $stmt="SELECT count(*) FROM vicidial_list_alt_phones where lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00074',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VLAP_ct = mysql_num_rows($rslt); + if ($VLAP_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_dial_phones_count = $row[0]; + } + while ( ($alt_dial_phones_count > 0) and ($alt_dial_phones_count > $Xlast) ) + { + $Xlast++; + $stmt="SELECT alt_phone_id,phone_number,active FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Xlast';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00075',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VLAP_detail_ct = mysql_num_rows($rslt); + if ($VLAP_detail_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_altdial_id = $row[0]; + $VD_altdial_phone = $row[1]; + $VD_altdial_active = $row[2]; + } + else + {$Xlast=9999999999;} + + if (ereg("Y",$VD_altdial_active)) + { + if (ereg("Y",$use_internal_dnc)) + { + $stmtA="SELECT count(*) FROM vicidial_dnc where phone_number='$VD_altdial_phone';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00076',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VLAP_dnc_ct = mysql_num_rows($rslt); + if ($VLAP_dnc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_alt_dnc_count = $row[0]; + } + } + else {$VD_alt_dnc_count=0;} + if (ereg("Y",$use_campaign_dnc)) + { + $stmtA="SELECT count(*) FROM vicidial_campaign_dnc where phone_number='$VD_altdial_phone' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmtA,'00077',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VLAP_cdnc_ct = mysql_num_rows($rslt); + if ($VLAP_cdnc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VD_alt_dnc_count = ($VD_alt_dnc_count + $row[0]); + } + } + if ($VD_alt_dnc_count < 1) + { + if ($alt_dial_phones_count == $Xlast) + {$Xlast = 'LAST';} + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$campaign',status='HOLD',list_id='$EA_list_id',gmt_offset_now='$EA_gmt_offset_now',state='$EA_state',alt_dial='X$Xlast',user='',priority='15';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00078',$user,$server_ip,$session_name,$one_mysql_log);} + $Xlast=9999999999; + } + } + } + } + } + + if ($enable_queuemetrics_logging > 0) + { + ### grab call lead information needed for QM logging + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id' order by call_time limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00079',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/.*-/",'',$CLstage); + if (strlen($CLstage) < 1) {$CLstage=0;} + + $stmt="SELECT count(*) from queue_log where call_id='$MDnextCID' and verb='COMPLETECALLER' and queue='$VDcampaign_id';"; + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00080',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VAC_cc_ct = mysql_num_rows($rslt); + if ($VAC_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $caller_complete = $row[0]; + } + + if ($caller_complete < 1) + { + $term_reason='AGENT'; + } + else + { + $term_reason='CALLER'; + } + + } + + ### delete call record from vicidial_auto_calls + $stmt = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and campaign_id='$VDcampaign_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00081',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00082',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9082$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00083',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + } + } + } + else + { + if ($enable_queuemetrics_logging > 0) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT auto_call_id,lead_id,phone_number,status,campaign_id,phone_code,alt_dial,stage,callerid,uniqueid from vicidial_auto_calls where lead_id='$lead_id' order by call_time desc limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00084',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_call_id = $row[0]; + $CLlead_id = $row[1]; + $CLphone_number = $row[2]; + $CLstatus = $row[3]; + $CLcampaign_id = $row[4]; + $CLphone_code = $row[5]; + $CLalt_dial = $row[6]; + $CLstage = $row[7]; + $CLcallerid = $row[8]; + $CLuniqueid = $row[9]; + } + + $CLstage = preg_replace("/XFER|CLOSER|-/",'',$CLstage); + if ($CLstage < 0.25) {$CLstage=0;} + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00085',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + } + + # $stmt = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and campaign_id='$campaign' and uniqueid='$uniqueid';"; + $stmt = "DELETE from vicidial_auto_calls where lead_id='$lead_id' and campaign_id='$VDcampaign_id' and callerid LIKE \"M%\";"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00086',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt = "UPDATE vicidial_live_agents set status='PAUSED',uniqueid=0,callerid='',channel='',call_server_ip='',last_call_finish='$NOW_TIME',comments='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00087',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9087$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + if ($enable_queuemetrics_logging > 0) + { + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00088',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + } + } + } + + if ( ($VLA_inOUT == 'AUTO') or ($VLA_inOUT == 'MANUAL') ) + { + $SQLterm = "term_reason='$term_reason',"; + + if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT term_reason,uniqueid from vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id' order by call_date desc limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00089',$user,$server_ip,$session_name,$one_mysql_log);} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDterm_reason = $row[0]; + $VDvicidial_id = $row[1]; + $VDIDselect = "VDL_UIDLID $uniqueid $lead_id"; + } + if (ereg("CALLER",$VDterm_reason)) + { + $SQLterm = ""; + } + else + { + $SQLterm = "term_reason='AGENT',"; + } + } + + ### check to see if the vicidial_log record exists, if not, insert it + $stmt="SELECT count(*) from vicidial_log where uniqueid='$uniqueid' and lead_id='$lead_id';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00186',$user,$server_ip,$session_name,$one_mysql_log);} + $VAC_vld_ct = mysql_num_rows($rslt); + if ($VAC_vld_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VLD_count = $row[0]; + if ($VLD_count < 1) + { + ##### insert log into vicidial_log for manual VICIDiaL call + $stmt="INSERT INTO vicidial_log (uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,status,phone_code,phone_number,user,comments,processed,user_group,alt_dial) values('$uniqueid','$lead_id','$list_id','$campaign','$NOW_TIME','$StarTtime','DONEM','$phone_code','$phone_number','$user','MANUAL','N','$user_group','$alt_dial');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00057',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "VICIDiaL_LOG Inserted: $uniqueid|$channel|$NOW_TIME\n"; + echo "$StarTtime\n"; + } + else + { + echo "LOG NOT ENTERED\n"; + } + } + } + + ##### update the duration and end time in the vicidial_log table + $stmt="UPDATE vicidial_log set $SQLterm end_epoch='$StarTtime', length_in_sec='$length_in_sec' where uniqueid='$uniqueid' and lead_id='$lead_id' and user='$user' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00090',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + + if ($affected_rows > 0) + { + echo "$uniqueid\n$channel\n"; + } + else + { + echo "LOG NOT ENTERED\n\n"; + } + } + else + { + $SQLterm = "term_reason='$term_reason'"; + $QL_term=''; + + if ( (ereg("NONE",$term_reason)) or (ereg("NONE",$VDterm_reason)) or (strlen($VDterm_reason) < 1) ) + { + ### check to see if lead should be alt_dialed + $stmt="SELECT term_reason,closecallid from vicidial_closer_log where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00091',$user,$server_ip,$session_name,$one_mysql_log);} + $VAC_qm_ct = mysql_num_rows($rslt); + if ($VAC_qm_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDterm_reason = $row[0]; + $VDvicidial_id = $row[1]; + $VDIDselect = "VDCL_LID4HOUR $lead_id $four_hours_ago"; + } + if (ereg("CALLER",$VDterm_reason)) + { + $SQLterm = ""; + } + else + { + $SQLterm = "term_reason='AGENT'"; + $QL_term = 'COMPLETEAGENT'; + } + } + + if (strlen($SQLterm) > 0) + { + ##### update the duration and end time in the vicidial_log table + $stmt="UPDATE vicidial_closer_log set $SQLterm where lead_id='$lead_id' and call_date > \"$four_hours_ago\" order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00092',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + } + + if ($enable_queuemetrics_logging > 0) + { + if ( (strlen($QL_term) > 0) and ($leaving_threeway > 0) ) + { + $stmt="SELECT count(*) from queue_log where call_id='$MDnextCID' and verb='COMPLETEAGENT' and queue='$VDcampaign_id';"; + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00093',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VAC_cc_ct = mysql_num_rows($rslt); + if ($VAC_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $agent_complete = $row[0]; + } + if ($agent_complete < 1) + { + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$VDcampaign_id',agent='Agent/$user',verb='COMPLETEAGENT',data1='$CLstage',data2='$length_in_sec',data3='1',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00094',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + } + } + } + } + } + + echo $VDstop_rec_after_each_call . '|' . $extension . '|' . $conf_silent_prefix . '|' . $conf_exten . '|' . $user_abb . "|\n"; + + ##### if VICIDiaL call and hangup_after_each_call activated, find all recording + ##### channels and hang them up while entering info into recording_log and + ##### returning filename/recordingID + if ($VDstop_rec_after_each_call == 1) + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $total_rec=0; + $total_hangup=0; + $loop_count=0; + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and extension = '$conf_exten' order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00095',$user,$server_ip,$session_name,$one_mysql_log);} + if ($rslt) {$rec_list = mysql_num_rows($rslt);} + while ($rec_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/Local\/$conf_silent_prefix$conf_exten\@/i",$row[0])) + { + $rec_channels[$total_rec] = "$row[0]"; + $total_rec++; + } + else + { + # if (preg_match("/$agentchannel/i",$row[0])) + if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + { + $donothing=1; + } + else + { + $hangup_channels[$total_hangup] = "$row[0]"; + $total_hangup++; + } + } + if ($format=='debug') {echo "\n";} + $loop_count++; + } + + $loop_count=0; + $stmt="SELECT channel FROM live_channels where server_ip = '$server_ip' and extension = '$conf_exten' order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00184',$user,$server_ip,$session_name,$one_mysql_log);} + if ($rslt) {$rec_list = mysql_num_rows($rslt);} + while ($rec_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + if (preg_match("/Local\/$conf_silent_prefix$conf_exten\@/i",$row[0])) + { + $rec_channels[$total_rec] = "$row[0]"; + $total_rec++; + } + else + { + # if (preg_match("/$agentchannel/i",$row[0])) + if ( ($agentchannel == "$row[0]") or (ereg('ASTblind',$row[0])) ) + { + $donothing=1; + } + else + { + $hangup_channels[$total_hangup] = "$row[0]"; + $total_hangup++; + } + } + if ($format=='debug') {echo "\n";} + $loop_count++; + } + + + ### if a conference call or 3way call was attempted, then hangup all channels except for the agentchannel + if ( ( ($conf_dialed > 0) or ($hangup_all_non_reserved > 0) ) and ($leaving_threeway < 1) and ($blind_transfer < 1) ) + { + $loop_count=0; + while($loop_count < $total_hangup) + { + if (strlen($hangup_channels[$loop_count])>5) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','CH12346$StarTtime$loop_count','Channel: $hangup_channels[$loop_count]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00096',$user,$server_ip,$session_name,$one_mysql_log);} + } + $loop_count++; + } + } + + $total_recFN=0; + $loop_count=0; + $filename=$MT; # not necessary : and cmd_line_f LIKE \"%_$user_abb\" + $stmt="SELECT cmd_line_f FROM vicidial_manager where server_ip='$server_ip' and action='Originate' and cmd_line_b = 'Channel: $local_DEF$conf_silent_prefix$conf_exten$local_AMP$ext_context' order by entry_date desc limit $total_rec;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00097',$user,$server_ip,$session_name,$one_mysql_log);} + if ($rslt) {$recFN_list = mysql_num_rows($rslt);} + while ($recFN_list>$loop_count) + { + $row=mysql_fetch_row($rslt); + $filename[$total_recFN] = preg_replace("/Callerid: /i","",$row[0]); + if ($format=='debug') {echo "\n";} + $total_recFN++; + $loop_count++; + } + + $loop_count=0; + while($loop_count < $total_rec) + { + if (strlen($rec_channels[$loop_count])>5) + { + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','RH12345$StarTtime$loop_count','Channel: $rec_channels[$loop_count]','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00098',$user,$server_ip,$session_name,$one_mysql_log);} + + echo "REC_STOP|$rec_channels[$loop_count]|$filename[$loop_count]|"; + if (strlen($filename)>2) + { + $stmt="SELECT recording_id,start_epoch,vicidial_id,lead_id FROM recording_log where filename='$filename[$loop_count]'"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00099',$user,$server_ip,$session_name,$one_mysql_log);} + if ($rslt) {$fn_count = mysql_num_rows($rslt);} + if ($fn_count) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $start_time = $row[1]; + $vicidial_id = $row[2]; + $RClead_id = $row[3]; + + if ( (strlen($RClead_id)<1) or ($RClead_id < 1) or ($RClead_id=='NULL') ) + {$lidSQL = ",lead_id='$lead_id'";} + if (strlen($vicidial_id)<1) + {$vidSQL = ",vicidial_id='$VDvicidial_id'";} + else + { + if ( (ereg('.',$vicidial_id)) and ($VLA_inOUT == 'INBOUND') ) + { + if (!ereg('.',$VDvicidial_id)) + {$vidSQL = ",vicidial_id='$VDvicidial_id'";} + + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND_LOG_3|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$length_in_sec|$VDterm_reason|$VDvicidial_id|$vicidial_id|$start_epoch|$recording_id|\n"); + fclose($fp); + } + } + $length_in_sec = ($StarTtime - $start_time); + $length_in_min = ($length_in_sec / 60); + $length_in_min = sprintf("%8.2f", $length_in_min); + + $stmt="UPDATE recording_log set end_time='$NOW_TIME',end_epoch='$StarTtime',length_in_sec=$length_in_sec,length_in_min='$length_in_min' $vidSQL $lidSQL where filename='$filename[$loop_count]' and end_epoch is NULL;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00100',$user,$server_ip,$session_name,$one_mysql_log);} + + echo "$recording_id|$length_in_min|"; + + # $fp = fopen ("./recording_debug_$NOW_DATE$txt", "a"); + # fwrite ($fp, "$NOW_TIME|RECORD_LOG|$filename[$loop_count]|$uniqueid|$lead_id|$user|$inOUT|$VLA_inOUT|$length_in_sec|$VDterm_reason|$VDvicidial_id|$VDvicidial_id|$vicidial_id|$start_epoch|$recording_id|$VDIDselect|\n"); + # fclose($fp); + } + else {echo "||";} + } + else {echo "||";} + echo "\n"; + } + $loop_count++; + } + } + + + $talk_sec=0; + $talk_epochSQL=''; + $StarTtime = date("U"); + $stmt = "select talk_epoch,talk_sec,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00101',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + { + $talk_epochSQL=",talk_epoch='$StarTtime'"; + $row[0]=$row[2]; + } + $talk_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set talk_sec='$talk_sec',dispo_epoch='$StarTtime' $talk_epochSQL where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00102',$user,$server_ip,$session_name,$one_mysql_log);} + + } +} + + +################################################################################ +### VDADREcheckINCOMING - for auto-dial VICIDiaL dialing this will recheck for +### calls to see if the channel has updated +################################################################################ +if ($ACTION == 'VDADREcheckINCOMING') +{ + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) || (strlen($lead_id)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Campaign $campaign is not valid\n"; + echo "lead_id $lead_id is not valid\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00103',$user,$server_ip,$session_name,$one_mysql_log);} + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + } + } +} + + +################################################################################ +### VDADcheckINCOMING - for auto-dial VICIDiaL dialing this will check for calls +### in the vicidial_live_agents table in QUEUE status, then +### lookup the lead info and pass it back to vicidial.php +################################################################################ +if ($ACTION == 'VDADcheckINCOMING') +{ + $VDCL_ingroup_recording_override = ''; + $VDCL_ingroup_rec_filename = ''; + $Ctype = 'A'; + $MT[0]=''; + $row=''; $rowx=''; + $channel_live=1; + $alt_phone_code=''; + $alt_phone_number=''; + $alt_phone_note=''; + $alt_phone_active=''; + $alt_phone_count=''; + + if ( (strlen($campaign)<1) || (strlen($server_ip)<1) ) + { + $channel_live=0; + echo "0\n"; + echo "Campaign $campaign is not valid\n"; + exit; + } + else + { + ### grab the call and lead info from the vicidial_live_agents table + $stmt = "SELECT lead_id,uniqueid,callerid,channel,call_server_ip,comments FROM vicidial_live_agents where server_ip = '$server_ip' and user='$user' and campaign_id='$campaign' and status='QUEUE';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00104',$user,$server_ip,$session_name,$one_mysql_log);} + $queue_leadID_ct = mysql_num_rows($rslt); + + if ($queue_leadID_ct > 0) + { + $row=mysql_fetch_row($rslt); + $lead_id =$row[0]; + $uniqueid =$row[1]; + $callerid =$row[2]; + $channel =$row[3]; + $call_server_ip =$row[4]; + $VLAcomments=$row[5]; + + if (strlen($call_server_ip)<7) {$call_server_ip = $server_ip;} + echo "1\n" . $lead_id . '|' . $uniqueid . '|' . $callerid . '|' . $channel . '|' . $call_server_ip . "|\n"; + + ##### grab number of calls today in this campaign and increment + $stmt="SELECT calls_today FROM vicidial_live_agents WHERE user='$user' and campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00105',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vla_cc_ct = mysql_num_rows($rslt); + if ($vla_cc_ct > 0) + { + $row=mysql_fetch_row($rslt); + $calls_today =$row[0]; + } + else + {$calls_today ='0';} + $calls_today++; + + ### update the agent status to INCALL in vicidial_live_agents + $stmt = "UPDATE vicidial_live_agents set status='INCALL',last_call_time='$NOW_TIME',calls_today='$calls_today',external_hangup=0,external_status='',external_pause='',external_dial='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00106',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9106$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt = "UPDATE vicidial_campaign_agents set calls_today='$calls_today' where user='$user' and campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00107',$user,$server_ip,$session_name,$one_mysql_log);} + + ##### grab the data from vicidial_list for the lead_id + $stmt="SELECT * FROM vicidial_list where lead_id='$lead_id' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00108',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $list_lead_ct = mysql_num_rows($rslt); + if ($list_lead_ct > 0) + { + $row=mysql_fetch_row($rslt); + # $lead_id = trim("$row[0]"); + $dispo = trim("$row[3]"); + $tsr = trim("$row[4]"); + $vendor_id = trim("$row[5]"); + $source_id = trim("$row[6]"); + $list_id = trim("$row[7]"); + $gmt_offset_now = trim("$row[8]"); + $phone_code = trim("$row[10]"); + $phone_number = trim("$row[11]"); + $title = trim("$row[12]"); + $first_name = trim("$row[13]"); + $middle_initial = trim("$row[14]"); + $last_name = trim("$row[15]"); + $address1 = trim("$row[16]"); + $address2 = trim("$row[17]"); + $address3 = trim("$row[18]"); + $city = trim("$row[19]"); + $state = trim("$row[20]"); + $province = trim("$row[21]"); + $postal_code = trim("$row[22]"); + $country_code = trim("$row[23]"); + $gender = trim("$row[24]"); + $date_of_birth = trim("$row[25]"); + $alt_phone = trim("$row[26]"); + $email = trim("$row[27]"); + $security = trim("$row[28]"); + $comments = stripslashes(trim("$row[29]")); + $called_count = trim("$row[30]"); + } + + ##### if lead is a callback, grab the callback comments + $CBentry_time = ''; + $CBcallback_time = ''; + $CBuser = ''; + $CBcomments = ''; + if (ereg("CALLBK",$dispo)) + { + $stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00109',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $cb_record_ct = mysql_num_rows($rslt); + if ($cb_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $CBentry_time = trim("$row[0]"); + $CBcallback_time = trim("$row[1]"); + $CBuser = trim("$row[2]"); + $CBcomments = trim("$row[3]"); + } + } + + ### update the lead status to INCALL + $stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00110',$user,$server_ip,$session_name,$one_mysql_log);} + + ### update the log status to INCALL + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00111',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + + + $stmt = "select campaign_id,phone_number,alt_dial,call_type from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00112',$user,$server_ip,$session_name,$one_mysql_log);} + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group =$row[0]; + $dialed_number =$row[1]; + $dialed_label =$row[2]; + $call_type =$row[3]; + } + else + { + $dialed_number = $phone_number; + $dialed_label = 'MAIN'; + if (preg_match('/^M|^V/',$callerid)) + { + $call_type = 'OUT'; + $VDADchannel_group = $campaign; + } + else + { + $call_type = 'IN'; + $stmt = "select campaign_id from vicidial_closer_log where lead_id = '$lead_id' order by call_date desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00183',$user,$server_ip,$session_name,$one_mysql_log);} + $VDCL_mvac_ct = mysql_num_rows($rslt); + if ($VDCL_mvac_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDADchannel_group =$row[0]; + } + } + if ($WeBRooTWritablE > 0) + { + $fp = fopen ("./vicidial_debug.txt", "a"); + fwrite ($fp, "$NOW_TIME|INBND|$callerid|$user|$user_group|$list_id|$lead_id|$phone_number|$uniqueid|$VDADchannel_group|$call_type|\n"); + fclose($fp); + } + } + + if ( ($call_type=='OUT') or ($call_type=='OUTBALANCE') ) + { + $stmt = "UPDATE vicidial_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00113',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00114',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_campaign_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + $VDCL_default_xfer_group = $row[6]; + if (strlen($VDCL_default_xfer_group)<2) {$VDCL_default_xfer_group='X';} + } + echo "|||||$VDCL_campaign_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|X|X||||\n|\n"; + + $stmt = "select phone_number,alt_dial from vicidial_auto_calls where callerid = '$callerid' order by call_time desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00115',$user,$server_ip,$session_name,$one_mysql_log);} + $VDAC_cid_ct = mysql_num_rows($rslt); + if ($VDAC_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dialed_number =$row[0]; + $dialed_label =$row[1]; + } + else + { + $dialed_number = $phone_number; + $dialed_label = 'MAIN'; + } + if (ereg('X',$dialed_label)) + { + if (ereg('LAST',$dialed_label)) + { + $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' order by alt_phone_count desc limit 1;"; + } + else + { + $Talt_dial = ereg_replace("[^0-9]","",$dialed_label); + $stmt = "SELECT phone_code,phone_number,alt_phone_note,active,alt_phone_count FROM vicidial_list_alt_phones where lead_id='$lead_id' and alt_phone_count='$Talt_dial';"; + } + + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00116',$user,$server_ip,$session_name,$one_mysql_log);} + $VLAP_ct = mysql_num_rows($rslt); + if ($VLAP_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alt_phone_code = $row[0]; + $alt_phone_number = $row[1]; + $alt_phone_note = $row[2]; + $alt_phone_active = $row[3]; + $alt_phone_count = $row[4]; + } + } + } + else + { + ### update the vicidial_closer_log user to INCALL + $stmt = "UPDATE vicidial_closer_log set user='$user', comments='AUTO', list_id='$list_id', status='INCALL', user_group='$user_group' where lead_id='$lead_id' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00117',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt = "select count(*) from vicidial_log where lead_id='$lead_id' and uniqueid='$uniqueid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00118',$user,$server_ip,$session_name,$one_mysql_log);} + $VDL_cid_ct = mysql_num_rows($rslt); + if ($VDL_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_front_VDlog =$row[0]; + } + + $stmt = "select group_name,group_color,web_form_address,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_xfer_group,ingroup_recording_override,ingroup_rec_filename,default_group_alias from vicidial_inbound_groups where group_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00119',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_name = $row[0]; + $VDCL_group_color = $row[1]; + $VDCL_group_web = stripslashes($row[2]); + $VDCL_fronter_display = $row[3]; + $VDCL_ingroup_script = $row[4]; + $VDCL_get_call_launch = $row[5]; + $VDCL_xferconf_a_dtmf = $row[6]; + $VDCL_xferconf_a_number = $row[7]; + $VDCL_xferconf_b_dtmf = $row[8]; + $VDCL_xferconf_b_number = $row[9]; + $VDCL_default_xfer_group = $row[10]; + $VDCL_ingroup_recording_override = $row[11]; + $VDCL_ingroup_rec_filename = $row[12]; + $VDCL_default_group_alias = $row[13]; + + + $stmt = "select campaign_script,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias from vicidial_campaigns where campaign_id='$campaign';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00181',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidOR_ct = mysql_num_rows($rslt); + if ($VDIG_cidOR_ct > 0) + { + $row=mysql_fetch_row($rslt); + if ( ( (ereg('NONE',$VDCL_ingroup_script)) and (strlen($VDCL_ingroup_script) < 5) ) or (strlen($VDCL_ingroup_script) < 1) ) + {$VDCL_ingroup_script = $row[0];} + if (strlen($VDCL_xferconf_a_dtmf) < 1) + {$VDCL_xferconf_a_dtmf = $row[1];} + if (strlen($VDCL_xferconf_a_number) < 1) + {$VDCL_xferconf_a_number = $row[2];} + if (strlen($VDCL_xferconf_b_dtmf) < 1) + {$VDCL_xferconf_b_dtmf = $row[3];} + if (strlen($VDCL_xferconf_b_number) < 1) + {$VDCL_xferconf_b_number = $row[4];} + if (strlen($VDCL_default_group_alias) < 1) + {$VDCL_default_group_alias = $row[5];} + } + + $stmt = "select group_web_vars from vicidial_inbound_group_agents where group_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00188',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidgwv_ct = mysql_num_rows($rslt); + if ($VDIG_cidgwv_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + + if (strlen($VDCL_group_web_vars) < 1) + { + $stmt = "select group_web_vars from vicidial_campaign_agents where campaign_id='$campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00189',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set comments='INBOUND' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00120',$user,$server_ip,$session_name,$one_mysql_log);} + + $Ctype = 'I'; + } + else + { + $stmt = "select campaign_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,default_group_alias from vicidial_campaigns where campaign_id='$VDADchannel_group';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00121',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cid_ct = mysql_num_rows($rslt); + if ($VDIG_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_ingroup_script = $row[0]; + $VDCL_get_call_launch = $row[1]; + $VDCL_xferconf_a_dtmf = $row[2]; + $VDCL_xferconf_a_number = $row[3]; + $VDCL_xferconf_b_dtmf = $row[4]; + $VDCL_xferconf_b_number = $row[5]; + $VDCL_default_group_alias = $row[6]; + } + + $stmt = "select group_web_vars from vicidial_campaign_agents where campaign_id='$VDADchannel_group' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00190',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_group_web_vars = $row[0]; + } + } + + $VDCL_caller_id_number=''; + if (strlen($VDCL_default_group_alias)>1) + { + $stmt = "select caller_id_number from groups_alias where group_alias_id='$VDCL_default_group_alias';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00187',$user,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidnum_ct = mysql_num_rows($rslt); + if ($VDIG_cidnum_ct > 0) + { + $row=mysql_fetch_row($rslt); + $VDCL_caller_id_number = $row[0]; + } + } + + ### if web form is set then send on to vicidial.php for override of WEB_FORM address + if ( (strlen($VDCL_group_web)>5) or (strlen($VDCL_group_name)>0) ) {echo "$VDCL_group_web|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|\n";} + else {echo "X|$VDCL_group_name|$VDCL_group_color|$VDCL_fronter_display|$VDADchannel_group|$VDCL_ingroup_script|$VDCL_get_call_launch|$VDCL_xferconf_a_dtmf|$VDCL_xferconf_a_number|$VDCL_xferconf_b_dtmf|$VDCL_xferconf_b_number|$VDCL_default_xfer_group|$VDCL_ingroup_recording_override|$VDCL_ingroup_rec_filename|$VDCL_default_group_alias|$VDCL_caller_id_number|$VDCL_group_web_vars|\n";} + + $stmt = "SELECT full_name from vicidial_users where user='$tsr';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00122',$user,$server_ip,$session_name,$one_mysql_log);} + $VDU_cid_ct = mysql_num_rows($rslt); + if ($VDU_cid_ct > 0) + { + $row=mysql_fetch_row($rslt); + $fronter_full_name = $row[0]; + echo $fronter_full_name . '|' . $tsr . "\n"; + } + else {echo '|' . $tsr . "\n";} + } + + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + + $LeaD_InfO = $callerid . "\n"; + $LeaD_InfO .= $lead_id . "\n"; + $LeaD_InfO .= $dispo . "\n"; + $LeaD_InfO .= $tsr . "\n"; + $LeaD_InfO .= $vendor_id . "\n"; + $LeaD_InfO .= $list_id . "\n"; + $LeaD_InfO .= $gmt_offset_now . "\n"; + $LeaD_InfO .= $phone_code . "\n"; + $LeaD_InfO .= $phone_number . "\n"; + $LeaD_InfO .= $title . "\n"; + $LeaD_InfO .= $first_name . "\n"; + $LeaD_InfO .= $middle_initial . "\n"; + $LeaD_InfO .= $last_name . "\n"; + $LeaD_InfO .= $address1 . "\n"; + $LeaD_InfO .= $address2 . "\n"; + $LeaD_InfO .= $address3 . "\n"; + $LeaD_InfO .= $city . "\n"; + $LeaD_InfO .= $state . "\n"; + $LeaD_InfO .= $province . "\n"; + $LeaD_InfO .= $postal_code . "\n"; + $LeaD_InfO .= $country_code . "\n"; + $LeaD_InfO .= $gender . "\n"; + $LeaD_InfO .= $date_of_birth . "\n"; + $LeaD_InfO .= $alt_phone . "\n"; + $LeaD_InfO .= $email . "\n"; + $LeaD_InfO .= $security . "\n"; + $LeaD_InfO .= $comments . "\n"; + $LeaD_InfO .= $called_count . "\n"; + $LeaD_InfO .= $CBentry_time . "\n"; + $LeaD_InfO .= $CBcallback_time . "\n"; + $LeaD_InfO .= $CBuser . "\n"; + $LeaD_InfO .= $CBcomments . "\n"; + $LeaD_InfO .= $dialed_number . "\n"; + $LeaD_InfO .= $dialed_label . "\n"; + $LeaD_InfO .= $source_id . "\n"; + $LeaD_InfO .= $alt_phone_code . "\n"; + $LeaD_InfO .= $alt_phone_number . "\n"; + $LeaD_InfO .= $alt_phone_note . "\n"; + $LeaD_InfO .= $alt_phone_active . "\n"; + $LeaD_InfO .= $alt_phone_count . "\n"; + + echo $LeaD_InfO; + + + + $wait_sec=0; + $StarTtime = date("U"); + $stmt = "select wait_epoch,wait_sec from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00123',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $wait_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec',talk_epoch='$StarTtime',lead_id='$lead_id' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00124',$user,$server_ip,$session_name,$one_mysql_log);} + + ### If CALLBK, change vicidial_callback record to INACTIVE + if (eregi("CALLBK|CBHOLD", $dispo)) + { + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='$lead_id' and status NOT IN('INACTIVE','DEAD','ARCHIVE');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00125',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ##### check if system is set to generate logfile for transfers + $stmt="SELECT enable_agc_xfer_log FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00126',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $enable_agc_xfer_log_ct = mysql_num_rows($rslt); + if ($enable_agc_xfer_log_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_agc_xfer_log =$row[0]; + } + + if ( ($WeBRooTWritablE > 0) and ($enable_agc_xfer_log > 0) ) + { + # DATETIME|campaign|lead_id|phone_number|user|type + # 2007-08-22 11:11:11|TESTCAMP|65432|3125551212|1234|A + $fp = fopen ("./xfer_log.txt", "a"); + fwrite ($fp, "$NOW_TIME|$campaign|$lead_id|$phone_number|$user|$Ctype|$callerid|$uniqueid\n"); + fclose($fp); + } + + } + else + { + echo "0\n"; + # echo "No calls in QUEUE for $user on $server_ip\n"; + exit; + } + } +} + + +################################################################################ +### userLOGout - Logs the user out of VICIDiaL client, deleting db records and +### inserting into vicidial_user_log +################################################################################ +if ($ACTION == 'userLOGout') +{ + $MT[0]=''; + $row=''; $rowx=''; +if ( (strlen($campaign)<1) || (strlen($conf_exten)<1) ) + { + echo "NO\n"; + echo "campaign $campaign or conf_exten $conf_exten is not valid\n"; + exit; + } +else + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00127',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + ##### Insert a LOGOUT record into the user log + $stmt="INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$user','LOGOUT','$campaign','$NOW_TIME','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00128',$user,$server_ip,$session_name,$one_mysql_log);} + $vul_insert = mysql_affected_rows($link); + + if ($no_delete_sessions < 1) + { + ##### Remove the reservation on the vicidial_conferences meetme room + $stmt="UPDATE vicidial_conferences set extension='' where server_ip='$server_ip' and conf_exten='$conf_exten';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00129',$user,$server_ip,$session_name,$one_mysql_log);} + $vc_remove = mysql_affected_rows($link); + } + + ##### Delete the vicidial_live_agents record for this session + $stmt="DELETE from vicidial_live_agents where server_ip='$server_ip' and user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00130',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9130$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + $vla_delete = mysql_affected_rows($link); + + ##### Delete the vicidial_live_inbound_agents records for this session + $stmt="DELETE from vicidial_live_inbound_agents where user ='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00131',$user,$server_ip,$session_name,$one_mysql_log);} + $vlia_delete = mysql_affected_rows($link); + + ##### Delete the web_client_sessions + $stmt="DELETE from web_client_sessions where server_ip='$server_ip' and session_name ='$session_name';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00132',$user,$server_ip,$session_name,$one_mysql_log);} + $wcs_delete = mysql_affected_rows($link); + + ##### Hangup the client phone + $stmt="SELECT channel FROM live_sip_channels where server_ip = '$server_ip' and channel LIKE \"$protocol/$extension%\" order by channel desc;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00133',$user,$server_ip,$session_name,$one_mysql_log);} + if ($rslt) + { + $row=mysql_fetch_row($rslt); + $agent_channel = "$row[0]"; + if ($format=='debug') {echo "\n";} + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Hangup','ULGH3459$StarTtime','Channel: $agent_channel','','','','','','','','','');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00134',$user,$server_ip,$session_name,$one_mysql_log);} + } + + if ($LogouTKicKAlL > 0) + { + $local_DEF = 'Local/5555'; + $local_AMP = '@'; + $kick_local_channel = "$local_DEF$conf_exten$local_AMP$ext_context"; + $queryCID = "ULGH3458$StarTtime"; + + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$queryCID','Channel: $kick_local_channel','Context: $ext_context','Exten: 8300','Priority: 1','Callerid: $queryCID','','','','$channel','$exten');"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00135',$user,$server_ip,$session_name,$one_mysql_log);} + } + + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,talk_epoch,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00136',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ( ($VDpr_ct > 0) and (strlen($row[3]<5)) and (strlen($row[4]<5)) ) + { + $row=mysql_fetch_row($rslt); + $pause_sec = (($StarTtime - $row[0]) + $row[1]); + + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00137',$user,$server_ip,$session_name,$one_mysql_log);} + } + + if ($vla_delete > 0) + { + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00138',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_message = 'LOGGED OUT'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_message\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + # $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='PAUSE',serverid='1';"; + # if ($DB) {echo "$stmt\n";} + # + # $rslt=mysql_query($stmt, $linkB); + # $affected_rows = mysql_affected_rows($linkB); + + $stmt = "SELECT time_id FROM queue_log where agent='Agent/$user' and verb='AGENTLOGIN' order by time_id desc limit 1;"; + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00139',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + echo "$stmt\n"; + $li_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $li_conf_ct) + { + $row=mysql_fetch_row($rslt); + $logintime = $row[0]; + $i++; + } + + $time_logged_in = ($StarTtime - $logintime); + if ($time_logged_in > 1000000) {$time_logged_in=1;} + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='AGENTLOGOFF',data1='$user$agents',data2='$time_logged_in',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00140',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + echo "$vul_insert|$vc_remove|$vla_delete|$wcs_delete|$agent_channel|$vlia_delete\n"; + } +} + + +################################################################################ +### updateDISPO - update the vicidial_list table to reflect the agent choice of +### call disposition for that leand +################################################################################ +if ($ACTION == 'updateDISPO') +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($dispo_choice)<1) || (strlen($lead_id)<1) ) + { + echo "Dispo Choice $dispo or lead_id $lead_id is not valid\n"; + exit; + } + else + { + ### update the comments in vicidial_live_agents record + $stmt = "UPDATE vicidial_live_agents set lead_id=0,external_hangup=0,external_status='' where user='$user' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00141',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9141$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt="UPDATE vicidial_list set status='$dispo_choice', user='$user' where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00142',$user,$server_ip,$session_name,$one_mysql_log);} + + $stmt = "select count(*) from vicidial_inbound_groups where group_id='$stage';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00143',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt = "UPDATE vicidial_closer_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by closecallid desc limit 1;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00144',$user,$server_ip,$session_name,$one_mysql_log);} + } + else + { + $stmt="UPDATE vicidial_log set status='$dispo_choice' where lead_id='$lead_id' and user='$user' order by uniqueid desc limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00145',$user,$server_ip,$session_name,$one_mysql_log);} + } + + if ( ($use_internal_dnc=='Y') and ($dispo_choice=='DNC') ) + { + $stmt = "select phone_number from vicidial_list where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00146',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $stmt="INSERT INTO vicidial_dnc (phone_number) values('$row[0]');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00147',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + } + if ( ($use_campaign_dnc=='Y') and ($dispo_choice=='DNC') ) + { + $stmt = "select phone_number from vicidial_list where lead_id='$lead_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00148',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $stmt="INSERT INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$row[0]','$campaign');"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00149',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + } + } + + $dispo_sec=0; + $dispo_epochSQL=''; + $StarTtime = date("U"); + $stmt = "select dispo_epoch,dispo_sec,talk_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00150',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + if ( (eregi("NULL",$row[0])) or ($row[0] < 1000) ) + { + $dispo_epochSQL=",dispo_epoch='$StarTtime'"; + $row[0]=$row[2]; + } + $dispo_sec = (($StarTtime - $row[0]) + $row[1]); + } + $stmt="UPDATE vicidial_agent_log set dispo_sec='$dispo_sec',status='$dispo_choice' $dispo_epochSQL where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00151',$user,$server_ip,$session_name,$one_mysql_log);} + + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00152',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + + if ($auto_dial_level < 1) + { + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group) values('$user','$server_ip','$NOW_TIME','$campaign','$StarTtime','0','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00153',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + } + + ### CALLBACK ENTRY + if ( ($dispo_choice == 'CBHOLD') and (strlen($CallBackDatETimE)>10) ) + { + $comments = eregi_replace('"','',$comments); + $comments = eregi_replace("'",'',$comments); + $comments = eregi_replace(';','',$comments); + $comments = eregi_replace("\\\\",' ',$comments); + $stmt="INSERT INTO vicidial_callbacks (lead_id,list_id,campaign_id,status,entry_time,callback_time,user,recipient,comments,user_group) values('$lead_id','$list_id','$campaign','ACTIVE','$NOW_TIME','$CallBackDatETimE','$user','$recipient','$comments','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00154',$user,$server_ip,$session_name,$one_mysql_log);} + } + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00155',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + + if ( ($auto_dial_level > 0) and (ereg(" $dispo_choice ",$row[0])) ) + { + $stmt = "select count(*) from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00156',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE vicidial_hopper set status='READY' where lead_id='$lead_id' and status='HOLD' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00157',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + else + { + $stmt="DELETE from vicidial_hopper where lead_id='$lead_id' and status='HOLD';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00158',$user,$server_ip,$session_name,$one_mysql_log);} + } + + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00159',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + if (strlen($stage) < 2) + {$stage = $campaign;} + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='$MDnextCID',queue='$stage',agent='Agent/$user',verb='CALLSTATUS',data1='$dispo_choice',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00160',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + + echo 'Lead ' . $lead_id . ' has been changed to ' . $dispo_choice . " Status\nNext agent_log_id:\n" . $agent_log_id . "\n"; +} + +################################################################################ +### updateLEAD - update the vicidial_list table to reflect the values that are +### in the agents screen at time of call hangup +################################################################################ +if ($ACTION == 'updateLEAD') +{ + $MT[0]=''; + $row=''; $rowx=''; + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + if ( (strlen($phone_number)<1) || (strlen($lead_id)<1) ) + { + echo "phone_number $phone_number or lead_id $lead_id is not valid\n"; + exit; + } + else + { + + $stmt = "SELECT disable_alter_custdata,disable_alter_custphone FROM vicidial_campaigns where campaign_id='$campaign'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00161',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $dac_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $dac_conf_ct) + { + $row=mysql_fetch_row($rslt); + $disable_alter_custdata = $row[0]; + $disable_alter_custphone = $row[1]; + $i++; + } + if ( (ereg('Y',$disable_alter_custdata)) or (ereg('Y',$disable_alter_custphone)) ) + { + if (ereg('Y',$disable_alter_custdata)) + { + $DO_NOT_UPDATE=1; + $DO_NOT_UPDATE_text=' NOT'; + } + if (ereg('Y',$disable_alter_custphone)) + { + $DO_NOT_UPDATEphone=1; + } + $stmt = "SELECT alter_custdata_override,alter_custphone_override FROM vicidial_users where user='$user'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00162',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $aco_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $aco_conf_ct) + { + $row=mysql_fetch_row($rslt); + $alter_custdata_override = $row[0]; + $alter_custphone_override = $row[1]; + $i++; + } + if (ereg('ALLOW_ALTER',$alter_custdata_override)) + { + $DO_NOT_UPDATE=0; + $DO_NOT_UPDATE_text=''; + } + if (ereg('ALLOW_ALTER',$alter_custphone_override)) + { + $DO_NOT_UPDATEphone=0; + } + } + + if ($DO_NOT_UPDATE < 1) + { + $comments = eregi_replace("\r",'',$comments); + $comments = eregi_replace("\n",'!N',$comments); + $comments = eregi_replace("--AMP--",'&',$comments); + $comments = eregi_replace("--QUES--",'?',$comments); + $comments = eregi_replace("--POUND--",'#',$comments); + + $phoneSQL=''; + if ($DO_NOT_UPDATEphone < 1) + {$phoneSQL = ",phone_number='$phone_number'";} + + $stmt="UPDATE vicidial_list set vendor_lead_code='" . mysql_real_escape_string($vendor_lead_code) . "', title='" . mysql_real_escape_string($title) . "', first_name='" . mysql_real_escape_string($first_name) . "', middle_initial='" . mysql_real_escape_string($middle_initial) . "', last_name='" . mysql_real_escape_string($last_name) . "', address1='" . mysql_real_escape_string($address1) . "', address2='" . mysql_real_escape_string($address2) . "', address3='" . mysql_real_escape_string($address3) . "', city='" . mysql_real_escape_string($city) . "', state='" . mysql_real_escape_string($state) . "', province='" . mysql_real_escape_string($province) . "', postal_code='" . mysql_real_escape_string($postal_code) . "', country_code='" . mysql_real_escape_string($country_code) . "', gender='" . mysql_real_escape_string($gender) . "', date_of_birth='" . mysql_real_escape_string($date_of_birth) . "', alt_phone='" . mysql_real_escape_string($alt_phone) . "', email='" . mysql_real_escape_string($email) . "', security_phrase='" . mysql_real_escape_string($security_phrase) . "', comments='" . mysql_real_escape_string($comments) . "' $phoneSQL where lead_id='$lead_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00163',$user,$server_ip,$session_name,$one_mysql_log);} + } + + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set random_id='$random' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00164',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9164$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + } + echo "Lead $lead_id information has$DO_NOT_UPDATE_text been updated\n"; +} + + +################################################################################ +### VDADpause - update the vicidial_live_agents table to show that the agent is +### or ready now active and ready to take calls +################################################################################ +if ( ($ACTION == 'VDADpause') || ($ACTION == 'VDADready') ) +{ + $MT[0]=''; + $row=''; $rowx=''; + if ( (strlen($stage)<2) || (strlen($server_ip)<1) ) + { + echo "stage $stage is not valid\n"; + exit; + } + else + { + $random = (rand(1000000, 9999999) + 10000000); + $stmt="UPDATE vicidial_live_agents set uniqueid=0,callerid='',channel='', random_id='$random',comments='' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00165',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9165$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + + $stmt="UPDATE vicidial_live_agents set status='$stage' where user='$user' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {$errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00166',$user,$server_ip,$session_name,$one_mysql_log);} + $retry_count=0; + while ( ($errno > 0) and ($retry_count < 9) ) + { + $rslt=mysql_query($stmt, $link); + $one_mysql_log=1; + $errno = mysql_error_logging($NOW_TIME,$link,$mel,$stmt,"9166$retry_count",$user,$server_ip,$session_name,$one_mysql_log); + $one_mysql_log=0; + $retry_count++; + } + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00167',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ($enable_queuemetrics_logging > 0) + { + if ( (ereg('READY',$stage)) or (ereg('CLOSER',$stage)) ) {$QMstatus='UNPAUSEALL';} + if (ereg('PAUSE',$stage)) {$QMstatus='PAUSEALL';} + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00182',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='NONE',agent='Agent/$user',verb='$QMstatus',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00168',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + + $pause_sec=0; + $stmt = "select pause_epoch,pause_sec,wait_epoch,wait_sec,dispo_epoch from vicidial_agent_log where agent_log_id='$agent_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00169',$user,$server_ip,$session_name,$one_mysql_log);} + $VDpr_ct = mysql_num_rows($rslt); + if ($VDpr_ct > 0) + { + $row=mysql_fetch_row($rslt); + $dispo_epoch = $row[4]; + $wait_sec=0; + if ($row[2] > 0) + { + $wait_sec = (($StarTtime - $row[2]) + $row[3]); + } + if ( (eregi("NULL",$row[4])) or ($row[4] < 1000) ) + {$pause_sec = (($StarTtime - $row[0]) + $row[1]);} + else + {$pause_sec = (($row[4] - $row[0]) + $row[1]);} + + } + if ($ACTION == 'VDADready') + { + if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + { + $stmt="UPDATE vicidial_agent_log set pause_sec='$pause_sec',wait_epoch='$StarTtime' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00170',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + if ($ACTION == 'VDADpause') + { + if ( (eregi("NULL",$dispo_epoch)) or ($dispo_epoch < 1000) ) + { + $stmt="UPDATE vicidial_agent_log set wait_sec='$wait_sec' where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00171',$user,$server_ip,$session_name,$one_mysql_log);} + } + + $agent_log = 'NEW_ID'; + } + + if ($agent_log == 'NEW_ID') + { + $user_group=''; + $stmt="SELECT user_group FROM vicidial_users where user='$user' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00182',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $ug_record_ct = mysql_num_rows($rslt); + if ($ug_record_ct > 0) + { + $row=mysql_fetch_row($rslt); + $user_group = trim("$row[0]"); + } + + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group) values('$user','$server_ip','$NOW_TIME','$campaign','$StarTtime','0','$StarTtime','$user_group');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00153',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + } + } + echo 'Agent ' . $user . ' is now in status ' . $stage . "\nNext agent_log_id:\n$agent_log_id\n"; +} + + +################################################################################ +### UpdatEFavoritEs - update the astguiclient favorites list for this extension +################################################################################ +if ($ACTION == 'UpdatEFavoritEs') +{ + $row=''; $rowx=''; + $channel_live=1; + if ( (strlen($favorites_list)<1) || (strlen($user)<1) || (strlen($exten)<1) ) + { + echo "favorites list $favorites_list is not valid\n"; + exit; + } + else + { + $stmt = "select count(*) from phone_favorites where extension='$exten' and server_ip='$server_ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00172',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + + if ($row[0] > 0) + { + $stmt="UPDATE phone_favorites set extensions_list=\"$favorites_list\" where extension='$exten' and server_ip='$server_ip';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00173',$user,$server_ip,$session_name,$one_mysql_log);} + } + else + { + $stmt="INSERT INTO phone_favorites values('$exten','$server_ip',\"$favorites_list\");"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00174',$user,$server_ip,$session_name,$one_mysql_log);} + } + } + echo "Favorites list has been updated to $favorites_list for $exten\n"; +} + + +################################################################################ +### PauseCodeSubmit - Update vicidial_agent_log with pause code +################################################################################ +if ($ACTION == 'PauseCodeSubmit') +{ + $row=''; $rowx=''; + if ( (strlen($status)<1) || (strlen($agent_log_id)<1) ) + { + echo "agent_log_id $agent_log_id or pause_code $status is not valid\n"; + exit; + } + else + { + $stmt="UPDATE vicidial_agent_log set sub_status=\"$status\" where agent_log_id='$agent_log_id';"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00175',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + ############################################# + ##### START QUEUEMETRICS LOGGING LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,allow_sipsak_messages FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00176',$user,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $allow_sipsak_messages = $row[6]; + $i++; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'BK-'; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$status\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + } + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtime',call_id='NONE',queue='$campaign',agent='Agent/$user',verb='PAUSEREASON',serverid='$queuemetrics_log_id',data1='$status';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'00177',$user,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + + mysql_close($linkB); + } + } + } +echo " Pause Code has been updated to $status for $agent_log_id\n"; +} + + +################################################################################ +### CalLBacKLisT - List the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKLisT') +{ +$stmt = "select callback_id,lead_id,campaign_id,status,entry_time,callback_time,comments from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD') order by callback_time;"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00178',$user,$server_ip,$session_name,$one_mysql_log);} +if ($rslt) {$callbacks_count = mysql_num_rows($rslt);} +echo "$callbacks_count\n"; +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $row=mysql_fetch_row($rslt); + $callback_id[$loop_count] = $row[0]; + $lead_id[$loop_count] = $row[1]; + $campaign_id[$loop_count] = $row[2]; + $status[$loop_count] = $row[3]; + $entry_time[$loop_count] = $row[4]; + $callback_time[$loop_count] = $row[5]; + $comments[$loop_count] = $row[6]; + $loop_count++; + } +$loop_count=0; + while ($callbacks_count>$loop_count) + { + $stmt = "select first_name,last_name,phone_number from vicidial_list where lead_id='$lead_id[$loop_count]';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00179',$user,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + + echo "$row[0] ~$row[1] ~$row[2] ~$callback_id[$loop_count] ~$lead_id[$loop_count] ~$campaign_id[$loop_count] ~$status[$loop_count] ~$entry_time[$loop_count] ~$callback_time[$loop_count] ~$comments[$loop_count]\n"; + $loop_count++; + } + +} + + +################################################################################ +### CalLBacKCounT - send the count of the USERONLY callbacks for an agent +################################################################################ +if ($ACTION == 'CalLBacKCounT') +{ +$stmt = "select count(*) from vicidial_callbacks where recipient='USERONLY' and user='$user' and campaign_id='$campaign' and status NOT IN('INACTIVE','DEAD');"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00180',$user,$server_ip,$session_name,$one_mysql_log);} +$row=mysql_fetch_row($rslt); +$cbcount=$row[0]; + +echo "$cbcount"; +} + + + + +if ($format=='debug') +{ +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +echo "\n"; +echo "\n\n\n"; +} + +exit; + + + + + +##### MySQL Error Logging ##### +function mysql_error_logging($NOW_TIME,$link,$mel,$stmt,$query_id,$user,$server_ip,$session_name,$one_mysql_log) +{ +$NOW_TIME = date("Y-m-d H:i:s"); +# mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00001',$user,$server_ip,$session_name,$one_mysql_log); +$errno=''; $error=''; +if ( ($mel > 0) or ($one_mysql_log > 0) ) + { + $errno = mysql_errno($link); + if ( ($errno > 0) or ($mel > 1) or ($one_mysql_log > 0) ) + { + $error = mysql_error($link); + $efp = fopen ("./vicidial_mysql_errors.txt", "a"); + fwrite ($efp, "$NOW_TIME|vdc_db_query|$query_id|$errno|$error|$stmt|$user|$server_ip|$session_name|\n"); + fclose($efp); + } + } +$one_mysql_log=0; +return $errno; +} + +?> diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/vicidial.php b/agc_2-X/branches/agc_2.0.5/www/agc/vicidial.php new file mode 100644 index 00000000..4a7f7897 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/agc/vicidial.php @@ -0,0 +1,8608 @@ + LICENSE: AGPLv2 +# +# Other scripts that this application depends on: +# - vdc_db_query.php: Updates information in the database +# - manager_send.php: Sends manager actions to the DB for execution +# - conf_exten_check.php: time sync and status updater, calls in queue +# +# CHANGELOG +# 50607-1426 - First Build of VICIDIAL web client basic login process finished +# 50628-1620 - Added some basic formatting and worked on process flow +# 50628-1715 - Startup variables mapped to javascript variables +# 50629-1303 - Added Login Closer in-groups selection box and vla update +# 50629-1530 - Rough layout for customer info form section and button links +# 50630-1453 - Rough Manual Dial/Hangup with customer info displayed +# 50701-1450 - Added vicidial_log entries on dial and hangup +# 50701-1634 - Added Logout function +# 50705-1259 - Added call disposition functionality +# 50705-1432 - Added lead info DB update function +# 50705-1658 - Added web form functionality +# 50706-1043 - Added call park and pickup functions +# 50706-1234 - Added Start/Stop Recording functionality +# 50706-1614 - Added conference channels display option +# 50711-1333 - Removed call check redundancy and fixed a span bug +# 50727-1424 - Added customer channel and participant present sensing/alerts +# 50804-1057 - Added SendDTMF function and reconfigured the transfer span +# 50804-1224 - Added Local and Internal Closer transfer functions +# 50804-1628 - Added Blind transfer, activated LIVE CALL image and fixed bugs +# 50804-1808 - Added button images for left buttons +# 50815-1151 - Added 3Way calling functions to Transfer-conf frame +# 50815-1602 - Added images and buttons for xfer functions +# 50816-1813 - Added basic autodial outbound call pickup functions +# 50817-1113 - Fixes to auto_dialing call receipt +# 50817-1234 - Added inbound call receipt capability +# 50817-1541 - Added customer time display +# 50817-1541 - Added customer time display +# 50818-1327 - Added stop-all-recordings-after-each-vicidial-call option +# 50818-1703 - Added pretty login section +# 50825-1200 - Modified form field lengths, added double-click dispositions +# 50831-1603 - Fixed customer time bug and fronter display bug for CLOSER +# 50901-1314 - Fixed CLOSER IN-GROUP Web Form bug +# 50903-0904 - Added preview-lead code for manual dialing +# 50904-0016 - Added ability to hangup manual dials before pickup +# 50906-1319 - Added override for filters on xfer calls, fixed login display bug +# 50909-1243 - Added hotkeys functionality for quick dispoing in auto-dial mode +# 50912-0958 - Modified hotkeys function, agent must have user_level >= 5 to use +# 50913-1212 - Added campaign_cid to 3rd party calls +# 50923-1546 - Modified to work with language translation +# 50926-1656 - Added campaign pull-down at login of active campaigns +# 50928-1633 - Added manual dial alternate number dial option +# 50930-1538 - Added session_id empty login failure and fixed 2 minor bugs +# 51004-1656 - Fixed recording filename bug and new Spanish translation +# 51020-1103 - Added campaign-specific recording control abilities +# 51020-1352 - Added Basic vicidial_agent_log framework +# 51021-1050 - Fixed custtime display and disable Enter/Return keypresses +# 51021-1718 - Allows for multi-line comments (changes \n to !N in database) +# 51110-1432 - Fixed non-standard http port issue +# 51111-1047 - Added vicidial_agent_log lead_id earlier for manual dial +# 51118-1305 - Activate multi-line comments from $multi_line_comments var +# 51118-1313 - Move Transfer DIV to a floating span to preserve 800x600 view +# 51121-1506 - Small PHP optimizations in many scripts and disabled globalize +# 51129-1010 - Added ability to accept calls from other VICIDIAL servers +# 51129-1254 - Fixed Hangups of other agents channels when customer hangs up +# 51208-1732 - Created user-first login that looks for default phone info +# 51219-1526 - Added variable framework for campaign and in-group scripts +# 51221-1200 - Added SCRIPT tab, layout and functionality +# 51221-1714 - Added auto-switch-to-SCRIPT-tab and auto-webform-popup +# 51222-1605 - Added VMail message blind transfer button to xfer-conf frame +# 51229-1028 - Added checks on web_form_address to allow for var in the DB value +# 60117-1312 - Added Transfer-conf frame toggle on button press +# 60208-1152 - Added DTMF-xfernumber preset links to xfer-conf frame +# 60213-1129 - Added vicidial_users.hotkeys_active for any user hotkeys +# 60213-1210 - Added ability to sort routing of calls by user_level +# 60214-0932 - Initial Callback calendar display framework +# 60214-1407 - Added ability to minimize the dispo screen to see info below +# 60215-1104 - Added ANYONE scheduled callbacks functionality +# 60410-1116 - Added persistant pause after dispo option and change dispo text +# - Added web form submit that opens new window with dispo on submit +# - Added PREVIOUS CALLBACK in customer info to flag callbacks +# - Added link to try to hangup the call again in the dispo screen +# - Added link noone-in-session screen to call agent phone again +# - Added link customer-hungup screen to go straight to dispo screen +# 60410-1532 - Added agent status and campaign calls dialing display option +# 60411-1547 - Add ability to set callback as USERONLY and some basic formatting +# 60413-1752 - Add basic USERONLY callback frame and listings +# 60414-1039 - Changed manual dial preview and alt dial checkboxes to spans +# - Added beta-level USERONLY callback functionality +# - Added beta-level manual dialing with lead insertion functionality +# 60415-1534 - Fixed manual dial lead preview and fixed manuald dial override bug +# 60417-1108 - Added capability to do alt-number-dialing in auto-dial mode +# - Changed several permissions to database-defined +# 60419-1529 - Prevent manual dial or callbacks when alt-dial lead not finished +# 60420-1647 - Fixed DiaLDiaLAltPhonE error, Call Agent Again DialControl error +# 60421-1229 - Check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60424-1005 - Fixed Alt phone disabled bug for callbacks and manual dials +# 60426-1058 - Added vicidial_user setting for default blended check for CLOSER +# 60501-1008 - Added option to manual dial screen to manually lookup phone number +# 60503-1653 - Fixed agentonly_callback not-defined bug in scheduled callbacks screen +# 60504-1032 - Fixed manual dial display bug and transfer dispo alert bug +# - Fixed recording filename display to not overrun 25 characters +# 60510-1051 - Added Wrapup timer and wrapup message on wrapup screen after dispo +# 60608-1453 - Added CLOSER campaign allowable in-groups limitations +# 60609-1123 - Added add-number-to-DNC-list function and manual dial check DNC +# 60619-1047 - Added variable filters to close security holes for login form +# 60804-1710 - fixed scheduled CALLBK for other languages build +# 60808-1145 - Added consultative transfers with customer data +# 60808-2232 - Added campaign name to pulldown for login screen +# 60809-1603 - Added option to locally transfer consult xfers +# 60809-1732 - Added recheck of transferred channels before customer gone mesg +# 60810-1011 - Fixed CXFER leave 3way call bugs +# 60816-1602 - Added ALLCALLS recording delay option allcalls_delay +# 60816-1716 - Fixed customer time display bug and client DST setting +# 60821-1555 - Added option to omit phone_code on dialout of leads +# 60821-1628 - Added ALLFORCE recording option +# 60821-1643 - Added no_delete_sessions option to not delete sessions +# 60822-0512 - Changed phone number fields to be maxlength of 12 +# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php +# 60906-1152 - Added Previous CallBack info display span +# 60906-1715 - Allow for Local phone extension conferences +# 61004-1729 - Add ability to control volume per channel in "calls in this session" +# 61122-1341 - Added vicidial_user_groups allowed_campaigns restrictions +# 61122-1523 - Added more SCRIPT variables +# 61128-2229 - Added vicidial_live_agents and vicidial_auto_calls manual dial entries +# 61130-1617 - Added lead_id to MonitorConf for recording_log +# 61221-1212 - Changed width to 760 to better fit 800x600 screens, widened SCRIPT +# 70109-1128 - Fixed wrapup timer bug +# 70109-1635 - Added option for HotKeys automatically dialing next number in manual mode +# - Added option for alternate number dialing with hotkeys +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70118-1517 - Added vicidial_agent_log and vicidial_user_log logging of user_group +# 70201-1249 - Added FAST DIAL option for manually dialing, added UTF8 compatible code +# 70201-1703 - Fixed cursor bug for most text input fields +# 70202-1453 - Added first portions of Agent Pause Codes +# 70203-0108 - Finished Agent Pause Codes functionality +# 70203-0930 - Added dialed_number to webform output +# 70203-1010 - Added dialed_label to webform output +# 70206-1201 - Fixed allow_closers bug +# 70206-1332 - Added vicidial_recording_override users setting function +# 70212-1252 - Fixed small issue with CXFER +# 70213-1018 - Changed CXFER and AXFER to update customer information before transfer +# 70214-1233 - Added queuemetrics_log_id field for server_id in queue_log +# 70215-1240 - Added queuemetrics_log_id field for server_id in queue_log +# 70222-1617 - Changed queue_log PAUSE/UNPAUSE to PAUSEALL/UNPAUSEALL +# 70226-1252 - Added Mute/UnMute to agent screen +# 70309-1035 - Allow amphersands and questions marks in comments to pass through +# 70313-1052 - Allow pound signs(hash) in comments to pass through +# 70316-1406 - Moved the MUTE button to be accessible during a transfer/conf +# 70319-1446 - Added agent-deactive-display and disable customer info update functions +# 70319-1626 - Added option to allow agent logins to campaigns with no leads in the hopper +# 70320-1501 - Added option to allow retry of leave-3way-call from dispo screen +# 70322-1545 - Added sipsak display ability +# 70510-1319 - Added onUnload force Logout +# 70806-1530 - Added Presets Dial links above agent mute button +# 70823-2118 - Fixed XMLHTTPRequest, HotKeys and Scheduled Callbacks issues with MSIE +# 70828-1443 - Added source_id to output of SCRIPTtab-IFRAME and WEBFORM +# 71022-1427 - Added formatting of the customer phone number in the main status bar +# 71029-1848 - Changed CLOSER-type campaign to not use campaign_id restrictions +# 71101-1204 - Fixed bug in callback calendar with DST +# 71116-0957 - Added campaign_weight and calls_today to the vla table insertion +# 71120-1719 - Added XMLHTPRequest lookup of allowable campaigns for agents during login +# 71122-0256 - Added auto-pause notification +# 71125-1751 - Changed Transfer section to allow for selection of in-groups to send calls to +# 71127-0408 - Added height and width settings for easier modification of screen size +# 71129-2025 - restricted callbacks count and list to campaign only +# 71223-0318 - changed logging of closer calls +# 71226-1117 - added option to kick all calls from conference upon logout +# 80109-1510 - added gender select list +# 80116-1032 - added option on CLOSER-type campaigns to change in-groups when paused +# 80317-2106 - added recording override options for inbound group calls +# 80331-1433 - Added second transfer try for VICIDIAL transfers/hangups on manual dial calls +# 80402-0121 - Fixes for manual dial transfers on some systems +# 80407-2112 - Work on adding phone login load balancing across servers +# 80416-0559 - Added ability to log computer_ip at login, set the $PhoneSComPIP variable +# 80428-0413 - UTF8 changes and testing +# 80505-0054 - Added multi-phones load-balanced alias option +# 80507-0932 - Fixed Script display bug (+ instead of space) +# 80519-1425 - Added calls in queue display +# 80523-1630 - Added Timeclock links +# 80625-0047 - Added U option for gender, added date/phone display options +# 80630-2210 - Added queue_log entries for Manual Dial +# 80703-0139 - Added alter customer phone permissions +# 80703-1106 - Added API functionality for Hangup and Dispo, added Agent Display Queue Count +# 80707-2325 - Added vicidial_id to recording_log for tracking of vicidial or closer log to recording +# 80709-0358 - Added Default alt phone dial hard-code option +# 80719-1147 - Changed recording and senddtmf conf prefix +# 80815-1014 - Added manual dial list restriction option +# 80823-2123 - Fixed form scroll for IE, added copy to clipboard(IE-only feature) +# 80831-0548 - Added Extended alt-dial-phone display information for non-manual calls +# 80909-1717 - Added support for campaign-specific DNC lists +# 80915-1754 - Rewrote leave-3way functions for external calling +# 81002-1908 - Fixed double-login bug in some conditions +# 81007-0945 - Added three_way_call_cid option for outbound 3way calls +# 81010-1047 - Fixed conf calling prefix to use settings, other 3way improvements +# 81011-1403 - Fixed bugs in leave3way when transferring a manual dial call +# 81012-1729 - Added INBOUND_MAN dial method to allow manual list dialing and inbound calls +# 81013-1644 - Fixed bug in leave 3way for manual dial fronters +# 81015-0405 - Fixed bug related to hangups on 3way calls +# 81016-0703 - Changed leave 3way to allow function at any time transfer-conf is available +# 81020-1501 - Fixed bugs in queue_log logging +# 81023-0411 - Added compatibility for dial-in agents using AGI, bug fixes +# 81030-0403 - Added option to force Pause Codes on PAUSE +# 81103-1427 - Added 3way call dial prefix +# 81104-0140 - Added mysql error logging capability +# 81104-1618 - Changed MySQL queries logging +# 81106-0411 - Changedthe campaign login list behaviour +# 81110-0057 - Changed Pause time to start new vicidial_agent_log on every pause +# 81110-1514 - Added hangup_all_non_reserved to fix non-Hangup bug +# 81119-1811 - webform backslash fix +# 81124-2213 - Fixes blind transfer bug +# 81209-1617 - Added campaign web form target option and web form address variables +# 81211-0422 - Fixed Manual dial agent_log bug +# 90102-1402 - Added time sync check notification +# 90115-0619 - Added ability to send Local Closer to AGENTDIRECT agent_only +# 90120-1719 - Added API pause/resume and number dial functionality +# 90126-2302 - Added Vtiger login option and agent alert option +# 90128-0230 - Added vendor_lead_code to API dial and manuald dial with lookup +# 90202-0148 - Added option to disable BLENDED checkbox +# 90209-0132 - Changed tab images and color scheme +# 90303-1145 - Fixed rare manual dial live hangup bug +# 90304-1333 - Added user-specific web vars option +# 90305-0917 - Added prefix-choice and group-alias options for calls coming from API +# 90307-1736 - Added Shift enforcement and manager override features +# + +$version = '2.0.5-201'; +$build = '90307-1736'; +$mel=1; # Mysql Error Log enabled = 1 +$mysql_log_count=60; +$one_mysql_log=0; + +require("dbconnect.php"); + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["VD_login"])) {$VD_login=$_GET["VD_login"];} + elseif (isset($_POST["VD_login"])) {$VD_login=$_POST["VD_login"];} +if (isset($_GET["VD_pass"])) {$VD_pass=$_GET["VD_pass"];} + elseif (isset($_POST["VD_pass"])) {$VD_pass=$_POST["VD_pass"];} +if (isset($_GET["VD_campaign"])) {$VD_campaign=$_GET["VD_campaign"];} + elseif (isset($_POST["VD_campaign"])) {$VD_campaign=$_POST["VD_campaign"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} +if (isset($_GET["MGR_override"])) {$MGR_override=$_GET["MGR_override"];} + elseif (isset($_POST["MGR_override"])) {$MGR_override=$_POST["MGR_override"];} + if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } + if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + if (isset($VD_campaign)) + { + $VD_campaign = strtoupper($VD_campaign); + $VD_campaign = eregi_replace(" ",'',$VD_campaign); + } + if (!isset($flag_channels)) + { + $flag_channels=0; + $flag_string=''; + } + +### security strip all non-alphanumeric characters out of the variables ### + $DB=ereg_replace("[^0-9a-z]","",$DB); + $phone_login=ereg_replace("[^\,0-9a-zA-Z]","",$phone_login); + $phone_pass=ereg_replace("[^0-9a-zA-Z]","",$phone_pass); + $VD_login=ereg_replace("[^0-9a-zA-Z]","",$VD_login); + $VD_pass=ereg_replace("[^0-9a-zA-Z]","",$VD_pass); + $VD_campaign = ereg_replace("[^-\_0-9a-zA-Z]","",$VD_campaign); + + +$forever_stop=0; + +if ($force_logout) +{ + echo "You have now logged out. Thank you\n"; + exit; +} + +$isdst = date("I"); +$StarTtimE = date("U"); +$NOW_TIME = date("Y-m-d H:i:s"); +$tsNOW_TIME = date("YmdHis"); +$FILE_TIME = date("Ymd-His"); +$loginDATE = date("Ymd"); +$CIDdate = date("ymdHis"); + $month_old = mktime(11, 0, 0, date("m"), date("d")-2, date("Y")); + $past_month_date = date("Y-m-d H:i:s",$month_old); + $minutes_old = mktime(date("H"), date("i")-2, date("s"), date("m"), date("d"), date("Y")); + $past_minutes_date = date("Y-m-d H:i:s",$minutes_old); + + +$random = (rand(1000000, 9999999) + 10000000); + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,webroot_writable,timeclock_end_of_day,vtiger_url,enable_vtiger_integration,outbound_autodial_active FROM system_settings;"; +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01001',$VD_login,$server_ip,$session_name,$one_mysql_log);} +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $vdc_header_date_format = $row[1]; + $vdc_customer_date_format = $row[2]; + $vdc_header_phone_format = $row[3]; + $WeBRooTWritablE = $row[4]; + $timeclock_end_of_day = $row[5]; + $vtiger_url = $row[6]; + $enable_vtiger_integration = $row[7]; + $outbound_autodial_active = $row[8]; + + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + + +##### DEFINABLE SETTINGS AND OPTIONS +########################################### +$conf_silent_prefix = '5'; # vicidial_conferences prefix to enter silently and muted for recording +$dtmf_silent_prefix = '7'; # vicidial_conferences prefix to enter silently +$HKuser_level = '5'; # minimum vicidial user_level for HotKeys +$campaign_login_list = '1'; # show drop-down list of campaigns at login +$manual_dial_preview = '1'; # allow preview lead option when manual dial +$multi_line_comments = '1'; # set to 1 to allow multi-line comment box +$user_login_first = '0'; # set to 1 to have the vicidial_user login before the phone login +$view_scripts = '1'; # set to 1 to show the SCRIPTS tab +$dispo_check_all_pause = '0'; # set to 1 to allow for persistent pause after dispo +$callholdstatus = '1'; # set to 1 to show calls on hold count +$agentcallsstatus = '0'; # set to 1 to show agent status and call dialed count + $campagentstatctmax = '3'; # Number of seconds for campaign call and agent stats +$show_campname_pulldown = '1'; # set to 1 to show campaign name on login pulldown +$webform_sessionname = '1'; # set to 1 to include the session_name in webform URL +$local_consult_xfers = '1'; # set to 1 to send consultative transfers from original server +$clientDST = '1'; # set to 1 to check for DST on server for agent time +$no_delete_sessions = '0'; # set to 1 to not delete sessions at logout +$volumecontrol_active = '1'; # set to 1 to allow agents to alter volume of channels +$PreseT_DiaL_LinKs = '0'; # set to 1 to show a DIAL link for Dial Presets +$LogiNAJAX = '1'; # set to 1 to do lookups on campaigns for login +$HidEMonitoRSessionS = '1'; # set to 1 to hide remote monitoring channels from "session calls" +$hangup_all_non_reserved= '1'; # set to 1 to force hangup all non-reserved channels upon Hangup Customer +$LogouTKicKAlL = '1'; # set to 1 to hangup all calls in session upon agent logout +$PhoneSComPIP = '1'; # set to 1 to log computer IP to phone if blank, set to 2 to force log each login +$DefaulTAlTDiaL = '0'; # set to 1 to enable ALT DIAL by default if enabled for the campaign +$AgentAlert_allowed = '1'; # set to 1 to allow Agent alert option +$disable_blended_checkbox='0'; # set to 1 to disable the BLENDED checkbox from the in-group chooser screen + +$TEST_all_statuses = '0'; # TEST variable allows all statuses in dispo screen + +$BROWSER_HEIGHT = 500; # set to the minimum browser height, default=500 +$BROWSER_WIDTH = 770; # set to the minimum browser width, default=770 +$MAIN_COLOR = '#CCCCCC'; # old default is E0C2D6 +$SCRIPT_COLOR = '#E6E6E6'; # old default is FFE7D0 + +# options now set in DB: +#$alt_phone_dialing = '1'; # allow agents to call alt phone numbers +#$scheduled_callbacks = '1'; # set to 1 to allow agent to choose scheduled callbacks +# $agentonly_callbacks = '1'; # set to 1 to allow agent to choose agent-only scheduled callbacks +#$agentcall_manual = '1'; # set to 1 to allow agent to make manual calls during autodial session + +### SCREEN WIDTH AND HEIGHT CALCULATIONS ### +### DO NOT EDIT! ### +$MASTERwidth=($BROWSER_WIDTH - 340); +$MASTERheight=($BROWSER_HEIGHT - 200); +if ($MASTERwidth < 430) {$MASTERwidth = '430';} +if ($MASTERheight < 300) {$MASTERheight = '300';} + +$CAwidth = ($MASTERwidth + 340); # 770 - cover all (none-in-session, customer hunngup, etc...) +$MNwidth = ($MASTERwidth + 330); # 760 - main frame +$XFwidth = ($MASTERwidth + 320); # 750 - transfer/conference +$HCwidth = ($MASTERwidth + 310); # 740 - hotkeys and callbacks +$AMwidth = ($MASTERwidth + 270); # 700 - agent mute and preset-dial links +$SCwidth = ($MASTERwidth + 230); # 670 - live call seconds counter +$SSwidth = ($MASTERwidth + 176); # 606 - scroll script +$SDwidth = ($MASTERwidth + 170); # 600 - scroll script, customer data and calls-in-session +$HKwidth = ($MASTERwidth + 70); # 500 - Hotkeys button +$HSwidth = ($MASTERwidth + 1); # 431 - Header spacer + +$HKheight = ($MASTERheight + 105); # 405 - HotKey active Button +$AMheight = ($MASTERheight + 100); # 400 - Agent mute and preset dial links +$MBheight = ($MASTERheight + 65); # 365 - Manual Dial Buttons +$CBheight = ($MASTERheight + 50); # 350 - Agent Callback, pause code, volume control Buttons and agent status +$SSheight = ($MASTERheight + 31); # 331 - script content +$HTheight = ($MASTERheight + 10); # 310 - transfer frame, callback comments and hotkey +$BPheight = ($MASTERheight - 250); # 50 - bottom buffer + + +$US='_'; +$CL=':'; +$AT='@'; +$DS='-'; +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +if (($server_port == '80') or ($server_port == '443') ) {$server_port='';} +else {$server_port = "$CL$server_port";} +$agcPAGE = "$HTTPprotocol$server_name$server_port$script_name"; +$agcDIR = eregi_replace('vicidial.php','',$agcPAGE); + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 +echo "\n"; +echo "\n"; +echo "\n"; + +if ($campaign_login_list > 0) +{ +$camp_form_code = "\n"; +} +else +{ +$camp_form_code = "\n"; +} + + +if ($LogiNAJAX > 0) +{ +?> + + + +VICIDIAL web client: Re-Login\n"; +echo "\n"; +echo "\n"; +echo " Timeclock
    \n"; +echo "\n"; +echo "\n"; +echo "
    \n"; +echo "
    \n"; +echo "\n"; +echo "


    "; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    Re-Login
     
    Phone Login:
    Phone Password:
    User Login:
    User Password:
    Campaign: $camp_form_code
      \n"; +echo "

    VERSION: $version       BUILD: $build
    \n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} + +if ($user_login_first == 1) +{ + if ( (strlen($VD_login)<1) or (strlen($VD_pass)<1) or (strlen($VD_campaign)<1) ) + { + echo "VICIDIAL web client: Campaign Login\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
    \n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "
    \n"; + echo "\n"; + #echo "\n"; + #echo "\n"; + echo "

    User Login

    "; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Campaign Login
     
    User Login:
    User Password:
    Campaign: $camp_form_code
      \n"; + echo "

    VERSION: $version       BUILD: $build
    \n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + else + { + if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) + { + $stmt="SELECT phone_login,phone_pass from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01005',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $phone_login=$row[0]; + $phone_pass=$row[1]; + + echo "VICIDIAL web client: Login\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
    \n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "
    \n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Login
     
    Phone Login:
    Phone Password:
    User Login:
    User Password:
    Campaign: $camp_form_code
      \n"; + echo "

    VERSION: $version       BUILD: $build
    \n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + + } + } +} + +if ( (strlen($phone_login)<2) or (strlen($phone_pass)<2) ) +{ +echo "VICIDIAL web client: Phone Login\n"; +echo "\n"; +echo "\n"; +echo " Timeclock
    \n"; +echo "\n"; +echo "\n"; +echo "
    \n"; +echo "
    \n"; +echo "\n"; +echo "


    "; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo ""; +echo "\n"; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    Phone Login
     
    Phone Login:
    Phone Password:
      \n"; +echo "

    VERSION: $version       BUILD: $build
    \n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; +exit; +} +else +{ +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./vicidial_auth_entries.txt", "a");} +$VDloginDISPLAY=0; + + if ( (strlen($VD_login)<2) or (strlen($VD_pass)<2) or (strlen($VD_campaign)<2) ) + { + $VDloginDISPLAY=1; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$VD_login' and pass='$VD_pass' and user_level > 0 and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01006',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if($auth>0) + { + $login=strtoupper($VD_login); + $password=strtoupper($VD_pass); + ##### grab the full name of the agent + $stmt="SELECT full_name,user_level,hotkeys_active,agent_choose_ingroups,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,closer_default_blended,user_group,vicidial_recording_override,alter_custphone_override,alert_enabled,agent_shift_enforcement_override,shift_override_flag from vicidial_users where user='$VD_login' and pass='$VD_pass'"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01007',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $LOGfullname = $row[0]; + $user_level = $row[1]; + $VU_hotkeys_active = $row[2]; + $VU_agent_choose_ingroups = $row[3]; + $VU_scheduled_callbacks = $row[4]; + $agentonly_callbacks = $row[5]; + $agentcall_manual = $row[6]; + $VU_vicidial_recording = $row[7]; + $VU_vicidial_transfers = $row[8]; + $VU_closer_default_blended = $row[9]; + $VU_user_group = $row[10]; + $VU_vicidial_recording_override = $row[11]; + $VU_alter_custphone_override = $row[12]; + $VU_alert_enabled = $row[13]; + $VU_agent_shift_enforcement_override = $row[14]; + $VU_shift_override_flag = $row[15]; + + if ($VU_alert_enabled > 0) {$VU_alert_enabled = 'ON';} + else {$VU_alert_enabled = 'OFF';} + + ### Gather timeclock and shift enforcement restriction settings + $stmt="SELECT forced_timeclock_login,shift_enforcement,group_shifts from vicidial_user_groups where user_group='$VU_user_group';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01052',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $forced_timeclock_login = $row[0]; + $shift_enforcement = $row[1]; + $LOGgroup_shiftsSQL = eregi_replace(' ','',$row[2]); + $LOGgroup_shiftsSQL = eregi_replace(' ',"','",$LOGgroup_shiftsSQL); + $LOGgroup_shiftsSQL = "shift_id IN('$LOGgroup_shiftsSQL')"; + + ### BEGIN - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + if ( (ereg('Y',$forced_timeclock_login)) or ( (ereg('ADMIN_EXEMPT',$forced_timeclock_login)) and ($VU_user_level < 8) ) ) + { + $last_agent_event=''; + $HHMM = date("Hi"); + $HHteod = substr($timeclock_end_of_day,0,2); + $MMteod = substr($timeclock_end_of_day,2,2); + + if ($HHMM < $timeclock_end_of_day) + {$EoD = mktime($HHteod, $MMteod, 10, date("m"), date("d")-1, date("Y"));} + else + {$EoD = mktime($HHteod, $MMteod, 10, date("m"), date("d"), date("Y"));} + + $EoDdate = date("Y-m-d H:i:s", $EoD); + + ##### grab timeclock logged-in time for each user ##### + $stmt="SELECT event from vicidial_timeclock_log where user='$VD_login' and event_epoch >= '$EoD' order by timeclock_id desc limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01053',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $events_to_parse = mysql_num_rows($rslt); + if ($events_to_parse > 0) + { + $rowx=mysql_fetch_row($rslt); + $last_agent_event = $rowx[0]; + } + if ($DB>0) {echo "|$stmt|$events_to_parse|$last_agent_event|";} + if ( (strlen($last_agent_event)<2) or (ereg('LOGOUT',$last_agent_event)) ) + { + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "YOU MUST LOG IN TO THE TIMECLOCK FIRST
    "; + } + } + ### END - CHECK TO SEE IF AGENT IS LOGGED IN TO TIMECLOCK, IF NOT, OUTPUT ERROR + + ### BEGIN - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + if ( ( (ereg("START|ALL",$shift_enforcement)) and (!ereg("OFF",$VU_agent_shift_enforcement_override)) ) or (ereg("START|ALL",$VU_agent_shift_enforcement_override)) ) + { + $shift_ok=0; + if ( (strlen($LOGgroup_shiftsSQL) < 3) and ($VU_shift_override_flag < 1) ) + { + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "ERROR: There are no Shifts enabled for your user group
    "; + } + else + { + $HHMM = date("Hi"); + $wday = date("w"); + + $stmt="SELECT shift_id,shift_start_time,shift_length,shift_weekdays from vicidial_shifts where $LOGgroup_shiftsSQL order by shift_id"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01056',$user,$server_ip,$session_name,$one_mysql_log);} + $shifts_to_print = mysql_num_rows($rslt); + + $o=0; + while ( ($shifts_to_print > $o) and ($shift_ok < 1) ) + { + $rowx=mysql_fetch_row($rslt); + $shift_id = $rowx[0]; + $shift_start_time = $rowx[1]; + $shift_length = $rowx[2]; + $shift_weekdays = $rowx[3]; + + if (eregi("$wday",$shift_weekdays)) + { + $HHshift_length = substr($shift_length,0,2); + $MMshift_length = substr($shift_length,3,2); + $HHshift_start_time = substr($shift_start_time,0,2); + $MMshift_start_time = substr($shift_start_time,2,2); + $HHshift_end_time = ($HHshift_length + $HHshift_start_time); + $MMshift_end_time = ($MMshift_length + $MMshift_start_time); + if ($MMshift_end_time > 59) + { + $MMshift_end_time = ($MMshift_end_time - 60); + $HHshift_end_time++; + } + if ($HHshift_end_time > 23) + {$HHshift_end_time = ($HHshift_end_time - 24);} + $HHshift_end_time = sprintf("%02s", $HHshift_end_time); + $MMshift_end_time = sprintf("%02s", $MMshift_end_time); + $shift_end_time = "$HHshift_end_time$MMshift_end_time"; + + if ( + ( ($HHMM >= $shift_start_time) and ($HHMM < $shift_end_time) ) or + ( ($HHMM < $shift_start_time) and ($HHMM < $shift_end_time) and ($shift_end_time <= $shift_start_time) ) or + ( ($HHMM >= $shift_start_time) and ($HHMM >= $shift_end_time) and ($shift_end_time <= $shift_start_time) ) + ) + {$shift_ok++;} + } + $o++; + } + + if ( ($shift_ok < 1) and ($VU_shift_override_flag < 1) ) + { + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "ERROR: You are not allowed to log in outside of your shift
    "; + } + } + if ( ($shift_ok < 1) and ($VU_shift_override_flag < 1) and ($VDloginDISPLAY > 0) ) + { + $VDdisplayMESSAGE.= "

    MANAGER OVERRIDE:
    \n"; + $VDdisplayMESSAGE.= "
    \n"; + $VDdisplayMESSAGE.= "\n"; + $VDdisplayMESSAGE.= "\n"; + $VDdisplayMESSAGE.= "\n"; + $VDdisplayMESSAGE.= "\n"; + $VDdisplayMESSAGE.= "\n"; + $VDdisplayMESSAGE.= "\n"; + $VDdisplayMESSAGE.= "\n"; + $VDdisplayMESSAGE.= "Manager Login:
    \n"; + $VDdisplayMESSAGE.= "Manager Password:
    \n"; + $VDdisplayMESSAGE.= "
    \n"; + } + } + ### END - CHECK TO SEE IF SHIFT ENFORCEMENT IS ENABLED AND AGENT IS OUTSIDE OF THEIR SHIFTS, IF SO, OUTPUT ERROR + + + + + + + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|GOOD|$date|$VD_login|$VD_pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + $user_abb = "$VD_login$VD_login$VD_login$VD_login"; + while ( (strlen($user_abb) > 4) and ($forever_stop < 200) ) + {$user_abb = eregi_replace("^.","",$user_abb); $forever_stop++;} + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$VU_user_group';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01008',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns =$row[0]; + + if ( (!eregi(" $VD_campaign ",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) + { + echo "VICIDIAL web client: VICIDIAL Campaign Login\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
    \n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "Sorry, you are not allowed to login to this campaign: $VD_campaign\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Login: \n
    "; + echo "Password:
    \n"; + echo "Campaign: $camp_form_code
    \n"; + echo "   \n"; + echo "\n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + ##### check to see that the campaign is active + $stmt="SELECT count(*) FROM vicidial_campaigns where campaign_id='$VD_campaign' and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01009',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $CAMPactive=$row[0]; + if($CAMPactive>0) + { + if ($TEST_all_statuses > 0) {$selectableSQL = '';} + else {$selectableSQL = "selectable='Y' and";} + $VARstatuses=''; + $VARstatusnames=''; + ##### grab the statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_statuses WHERE $selectableSQL status != 'NEW' order by status limit 50;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01010',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VD_statuses_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $VD_statuses_ct) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + } + + ##### grab the campaign-specific statuses that can be used for dispositioning by an agent + $stmt="SELECT status,status_name FROM vicidial_campaign_statuses WHERE $selectableSQL status != 'NEW' and campaign_id='$VD_campaign' order by status limit 80;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01011',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VD_statuses_camp = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $statuses[$i] =$row[0]; + $status_names[$i] =$row[1]; + $VARstatuses = "$VARstatuses'$statuses[$i]',"; + $VARstatusnames = "$VARstatusnames'$status_names[$i]',"; + $i++; + $j++; + } + $VD_statuses_ct = ($VD_statuses_ct+$VD_statuses_camp); + $VARstatuses = substr("$VARstatuses", 0, -1); + $VARstatusnames = substr("$VARstatusnames", 0, -1); + + ##### grab the campaign-specific HotKey statuses that can be used for dispositioning by an agent + $stmt="SELECT hotkey,status,status_name FROM vicidial_campaign_hotkeys WHERE selectable='Y' and status != 'NEW' and campaign_id='$VD_campaign' order by hotkey limit 9;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01012',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $HK_statuses_camp = mysql_num_rows($rslt); + $w=0; + $HKboxA=''; + $HKboxB=''; + $HKboxC=''; + while ($w < $HK_statuses_camp) + { + $row=mysql_fetch_row($rslt); + $HKhotkey[$w] =$row[0]; + $HKstatus[$w] =$row[1]; + $HKstatus_name[$w] =$row[2]; + $HKhotkeys = "$HKhotkeys'$HKhotkey[$w]',"; + $HKstatuses = "$HKstatuses'$HKstatus[$w]',"; + $HKstatusnames = "$HKstatusnames'$HKstatus_name[$w]',"; + if ($w < 3) + {$HKboxA = "$HKboxA $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
    ";} + if ( ($w >= 3) and ($w < 6) ) + {$HKboxB = "$HKboxB $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
    ";} + if ($w >= 6) + {$HKboxC = "$HKboxC $HKhotkey[$w] - $HKstatus[$w] - $HKstatus_name[$w]
    ";} + $w++; + } + $HKhotkeys = substr("$HKhotkeys", 0, -1); + $HKstatuses = substr("$HKstatuses", 0, -1); + $HKstatusnames = substr("$HKstatusnames", 0, -1); + + ##### grab the campaign settings + $stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,use_campaign_dnc,three_way_call_cid,dial_method,three_way_dial_prefix,web_form_target,vtiger_screen_login,agent_allow_group_alias,default_group_alias FROM vicidial_campaigns where campaign_id = '$VD_campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01013',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $park_ext = $row[0]; + $park_file_name = $row[1]; + $web_form_address = stripslashes($row[2]); + $allow_closers = $row[3]; + $auto_dial_level = $row[4]; + $dial_timeout = $row[5]; + $dial_prefix = $row[6]; + $campaign_cid = $row[7]; + $campaign_vdad_exten = $row[8]; + $campaign_rec_exten = $row[9]; + $campaign_recording = $row[10]; + $campaign_rec_filename = $row[11]; + $campaign_script = $row[12]; + $get_call_launch = $row[13]; + $campaign_am_message_exten = $row[14]; + $xferconf_a_dtmf = $row[15]; + $xferconf_a_number = $row[16]; + $xferconf_b_dtmf = $row[17]; + $xferconf_b_number = $row[18]; + $alt_number_dialing = $row[19]; + $VC_scheduled_callbacks = $row[20]; + $wrapup_seconds = $row[21]; + $wrapup_message = $row[22]; + $closer_campaigns = $row[23]; + $use_internal_dnc = $row[24]; + $allcalls_delay = $row[25]; + $omit_phone_code = $row[26]; + $agent_pause_codes_active = $row[27]; + $no_hopper_leads_logins = $row[28]; + $campaign_allow_inbound = $row[29]; + $manual_dial_list_id = $row[30]; + $default_xfer_group = $row[31]; + $xfer_groups = $row[32]; + $disable_alter_custphone = $row[33]; + $display_queue_count = $row[34]; + $manual_dial_filter = $row[35]; + $CopY_tO_ClipboarD = $row[36]; + $use_campaign_dnc = $row[37]; + $three_way_call_cid = $row[38]; + $dial_method = $row[39]; + $three_way_dial_prefix = $row[40]; + $web_form_target = $row[41]; + $vtiger_screen_login = $row[42]; + $agent_allow_group_alias = $row[43]; + $default_group_alias = $row[44]; + + $default_group_alias_cid=''; + if (strlen($default_group_alias)>1) + { + $stmt = "select caller_id_number from groups_alias where group_alias_id='$default_group_alias';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01055',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidnum_ct = mysql_num_rows($rslt); + if ($VDIG_cidnum_ct > 0) + { + $row=mysql_fetch_row($rslt); + $default_group_alias_cid = $row[0]; + } + } + + $stmt = "select group_web_vars from vicidial_campaign_agents where campaign_id='$VD_campaign' and user='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01056',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $VDIG_cidogwv = mysql_num_rows($rslt); + if ($VDIG_cidogwv > 0) + { + $row=mysql_fetch_row($rslt); + $default_web_vars = $row[0]; + } + + if ( (!ereg('DISABLED',$VU_vicidial_recording_override)) and ($VU_vicidial_recording > 0) ) + { + $campaign_recording = $VU_vicidial_recording_override; + print "\n"; + } + if ( ($VC_scheduled_callbacks=='Y') and ($VU_scheduled_callbacks=='1') ) + {$scheduled_callbacks='1';} + if ($VU_vicidial_recording=='0') + {$campaign_recording='NEVER';} + if ($VU_alter_custphone_override=='ALLOW_ALTER') + {$disable_alter_custphone='N';} + if (strlen($three_way_dial_prefix) < 1) + {$three_way_dial_prefix = $dial_prefix ;} + if ($alt_number_dialing=='Y') + {$alt_phone_dialing='1';} + else + { + $alt_phone_dialing='0'; + $DefaulTAlTDiaL='0'; + } + if ($display_queue_count=='N') + {$callholdstatus='0';} + if ( ($dial_method == 'INBOUND_MAN') or ($outbound_autodial_active < 1) ) + {$VU_closer_default_blended=0;} + + $closer_campaigns = preg_replace("/^ | -$/","",$closer_campaigns); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + if ( (ereg('Y',$agent_pause_codes_active)) or (ereg('FORCE',$agent_pause_codes_active)) ) + { + ##### grab the pause codes for this campaign + $stmt="SELECT pause_code,pause_code_name FROM vicidial_pause_codes WHERE campaign_id='$VD_campaign' order by pause_code limit 50;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01014',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VD_pause_codes = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_pause_codes) + { + $row=mysql_fetch_row($rslt); + $pause_codes[$i] =$row[0]; + $pause_code_names[$i] =$row[1]; + $VARpause_codes = "$VARpause_codes'$pause_codes[$i]',"; + $VARpause_code_names = "$VARpause_code_names'$pause_code_names[$i]',"; + $i++; + $j++; + } + $VD_pause_codes_ct = ($VD_pause_codes_ct+$VD_pause_codes); + $VARpause_codes = substr("$VARpause_codes", 0, -1); + $VARpause_code_names = substr("$VARpause_code_names", 0, -1); + } + + ##### grab the inbound groups to choose from if campaign contains CLOSER + $VARingroups="''"; + if ($campaign_allow_inbound == 'Y') + { + $VARingroups=''; + $stmt="select group_id from vicidial_inbound_groups where active = 'Y' and group_id IN($closer_campaigns) order by group_id limit 60;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01015',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $closer_ct = mysql_num_rows($rslt); + $INgrpCT=0; + while ($INgrpCT < $closer_ct) + { + $row=mysql_fetch_row($rslt); + $closer_groups[$INgrpCT] =$row[0]; + $VARingroups = "$VARingroups'$closer_groups[$INgrpCT]',"; + $INgrpCT++; + } + $VARingroups = substr("$VARingroups", 0, -1); + } + + ##### grab the allowable inbound groups to choose from for transfer options + $xfer_groups = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groups = preg_replace("/ /","','",$xfer_groups); + $xfer_groups = "'$xfer_groups'"; + $VARxfergroups="''"; + if ($allow_closers == 'Y') + { + $VARxfergroups=''; + $stmt="select group_id,group_name from vicidial_inbound_groups where active = 'Y' and group_id IN($xfer_groups) order by group_id limit 60;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01016',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $xfer_ct = mysql_num_rows($rslt); + $XFgrpCT=0; + while ($XFgrpCT < $xfer_ct) + { + $row=mysql_fetch_row($rslt); + $VARxfergroups = "$VARxfergroups'$row[0]',"; + $VARxfergroupsnames = "$VARxfergroupsnames'$row[1]',"; + if ($row[0] == "$default_xfer_group") {$default_xfer_group_name = $row[1];} + $XFgrpCT++; + } + $VARxfergroups = substr("$VARxfergroups", 0, -1); + $VARxfergroupsnames = substr("$VARxfergroupsnames", 0, -1); + } + + if (ereg('Y',$agent_allow_group_alias)) + { + ##### grab the active group aliases + $stmt="SELECT group_alias_id,group_alias_name,caller_id_number FROM groups_alias WHERE active='Y' order by group_alias_id limit 1000;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01054',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $VD_group_aliases = mysql_num_rows($rslt); + $j=0; + while ($j < $VD_group_aliases) + { + $row=mysql_fetch_row($rslt); + $group_alias_id[$i] = $row[0]; + $group_alias_name[$i] = $row[1]; + $caller_id_number[$i] = $row[2]; + $VARgroup_alias_ids = "$VARgroup_alias_ids'$group_alias_id[$i]',"; + $VARgroup_alias_names = "$VARgroup_alias_names'$group_alias_name[$i]',"; + $VARcaller_id_numbers = "$VARcaller_id_numbers'$caller_id_number[$i]',"; + $i++; + $j++; + } + $VD_group_aliases_ct = ($VD_group_aliases_ct+$VD_group_aliases); + $VARgroup_alias_ids = substr("$VARgroup_alias_ids", 0, -1); + $VARgroup_alias_names = substr("$VARgroup_alias_names", 0, -1); + $VARcaller_id_numbers = substr("$VARcaller_id_numbers", 0, -1); + } + + ##### grab the number of leads in the hopper for this campaign + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id = '$VD_campaign' and status='READY';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01017',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $campaign_leads_to_call = $row[0]; + print "\n"; + + } + else + { + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "Campaign not active, please try again
    "; + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "vdweb|FAIL|$date|$VD_login|$VD_pass|$ip|$browser|\n"); + fclose($fp); + } + $VDloginDISPLAY=1; + $VDdisplayMESSAGE = "Login incorrect, please try again
    "; + } + } + if ($VDloginDISPLAY) + { + echo "VICIDIAL web client: Campaign Login\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
    \n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

    $VDdisplayMESSAGE

    "; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Campaign Login
     
    User Login:
    User Password:
    Campaign: $camp_form_code
      \n"; + echo "

    VERSION: $version       BUILD: $build
    \n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + +# code for parsing load-balanced agent phone allocation where agent interface +# will send multiple phones-table logins so that the script can determine the +# server that has the fewest agents logged into it. +# login: ca101,cb101,cc101 + $alias_found=0; +$stmt="select count(*) from phones_alias where alias_id = '$phone_login';"; +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01018',$VD_login,$server_ip,$session_name,$one_mysql_log);} +$alias_ct = mysql_num_rows($rslt); +if ($alias_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alias_found = "$row[0]"; + } +if ($alias_found > 0) + { + $stmt="select alias_name,logins_list from phones_alias where alias_id = '$phone_login' limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01019',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $alias_ct = mysql_num_rows($rslt); + if ($alias_ct > 0) + { + $row=mysql_fetch_row($rslt); + $alias_name = "$row[0]"; + $phone_login = "$row[1]"; + } + } + +$pa=0; +if ( (eregi(',',$phone_login)) and (strlen($phone_login) > 2) ) + { + $phoneSQL = "("; + $phones_auto = explode(',',$phone_login); + $phones_auto_ct = count($phones_auto); + while($pa < $phones_auto_ct) + { + if ($pa > 0) + {$phoneSQL .= " or ";} + $desc = ($phones_auto_ct - $pa); # traverse in reverse order + $phoneSQL .= "(login='$phones_auto[$desc]' and pass='$phone_pass')"; + $pa++; + } + $phoneSQL .= ")"; + } +else {$phoneSQL = "login='$phone_login' and pass='$phone_pass'";} + +$authphone=0; +$stmt="SELECT count(*) from phones where $phoneSQL and active = 'Y';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01020',$VD_login,$server_ip,$session_name,$one_mysql_log);} +$row=mysql_fetch_row($rslt); +$authphone=$row[0]; +if (!$authphone) + { + echo "VICIDIAL web client: Phone Login Error\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
    \n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "


    "; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Login Error
     
    Sorry, your phone login and password are not active in this system, please try again:
     
    Phone Login:
    Phone Password:

    VERSION: $version       BUILD: $build
    \n"; + echo "\n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } +else + { +### go through the entered phones to figure out which server has fewest agents +### logged in and use that phone login account + if ($pa > 0) + { + $pb=0; + $pb_login=''; + $pb_server_ip=''; + $pb_count=0; + $pb_log=''; + while($pb < $phones_auto_ct) + { + ### find the server_ip of each phone_login + $stmtx="SELECT server_ip from phones where login = '$phones_auto[$pb]';"; + if ($DB) {echo "|$stmtx|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmtx, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01021',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $rowx=mysql_fetch_row($rslt); + + ### get number of agents logged in to each server + $stmt="SELECT count(*) from vicidial_live_agents where server_ip = '$rowx[0]';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01022',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + + ### find out whether the server is set to active + $stmt="SELECT count(*) from servers where server_ip = '$rowx[0]' and active='Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01023',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $rowy=mysql_fetch_row($rslt); + + ### find out whether the server_updater is running + $stmt="SELECT count(*) from server_updater where server_ip = '$rowx[0]' and last_update > '$past_minutes_date';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01024',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $rowz=mysql_fetch_row($rslt); + + $pb_log .= "$phones_auto[$pb]|$rowx[0]|$row[0]|$rowy[0]|$rowz[0]| "; + + if ( ($rowy[0] > 0) && ($rowz[0] > 0) ) + { + if ( ($pb_count >= $row[0]) || (strlen($pb_server_ip) < 4) ) + { + $pb_count=$row[0]; + $pb_server_ip=$rowx[0]; + $phone_login=$phones_auto[$pb]; + } + } + $pb++; + } + echo "\n"; + } + echo "VICIDIAL web client\n"; + $stmt="SELECT * from phones where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01025',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $extension=$row[0]; + $dialplan_number=$row[1]; + $voicemail_id=$row[2]; + $phone_ip=$row[3]; + $computer_ip=$row[4]; + $server_ip=$row[5]; + $login=$row[6]; + $pass=$row[7]; + $status=$row[8]; + $active=$row[9]; + $phone_type=$row[10]; + $fullname=$row[11]; + $company=$row[12]; + $picture=$row[13]; + $messages=$row[14]; + $old_messages=$row[15]; + $protocol=$row[16]; + $local_gmt=$row[17]; + $ASTmgrUSERNAME=$row[18]; + $ASTmgrSECRET=$row[19]; + $login_user=$row[20]; + $login_pass=$row[21]; + $login_campaign=$row[22]; + $park_on_extension=$row[23]; + $conf_on_extension=$row[24]; + $VICIDiaL_park_on_extension=$row[25]; + $VICIDiaL_park_on_filename=$row[26]; + $monitor_prefix=$row[27]; + $recording_exten=$row[28]; + $voicemail_exten=$row[29]; + $voicemail_dump_exten=$row[30]; + $ext_context=$row[31]; + $dtmf_send_extension=$row[32]; + $call_out_number_group=$row[33]; + $client_browser=$row[34]; + $install_directory=$row[35]; + $local_web_callerID_URL=$row[36]; + $VICIDiaL_web_URL=$row[37]; + $AGI_call_logging_enabled=$row[38]; + $user_switching_enabled=$row[39]; + $conferencing_enabled=$row[40]; + $admin_hangup_enabled=$row[41]; + $admin_hijack_enabled=$row[42]; + $admin_monitor_enabled=$row[43]; + $call_parking_enabled=$row[44]; + $updater_check_enabled=$row[45]; + $AFLogging_enabled=$row[46]; + $QUEUE_ACTION_enabled=$row[47]; + $CallerID_popup_enabled=$row[48]; + $voicemail_button_enabled=$row[49]; + $enable_fast_refresh=$row[50]; + $fast_refresh_rate=$row[51]; + $enable_persistant_mysql=$row[52]; + $auto_dial_next_number=$row[53]; + $VDstop_rec_after_each_call=$row[54]; + $DBX_server=$row[55]; + $DBX_database=$row[56]; + $DBX_user=$row[57]; + $DBX_pass=$row[58]; + $DBX_port=$row[59]; + $outbound_cid=$row[65]; + $enable_sipsak_messages=$row[66]; + + if ($PhoneSComPIP == '1') + { + if (strlen($computer_ip) < 4) + { + $stmt="UPDATE phones SET computer_ip='$ip' where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01026',$VD_login,$server_ip,$session_name,$one_mysql_log);} + } + } + if ($PhoneSComPIP == '2') + { + $stmt="UPDATE phones SET computer_ip='$ip' where login='$phone_login' and pass='$phone_pass' and active = 'Y';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01027',$VD_login,$server_ip,$session_name,$one_mysql_log);} + } + if ($clientDST) + { + $local_gmt = ($local_gmt + $isdst); + } + if ($protocol == 'EXTERNAL') + { + $protocol = 'Local'; + $extension = "$dialplan_number$AT$ext_context"; + } + $SIP_user = "$protocol/$extension"; + $SIP_user_DiaL = "$protocol/$extension"; + if ( (ereg('8300',$dialplan_number)) and (strlen($dialplan_number)<5) and ($protocol == 'Local') ) + { + $SIP_user = "$protocol/$extension$VD_login"; + } + + $stmt="SELECT asterisk_version from servers where server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01028',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $asterisk_version=$row[0]; + + # If a park extension is not set, use the default one + if ( (strlen($park_ext)>0) && (strlen($park_file_name)>0) ) + { + $VICIDiaL_park_on_extension = "$park_ext"; + $VICIDiaL_park_on_filename = "$park_file_name"; + print "\n"; + } + print "\n"; + + # If a web form address is not set, use the default one + if (strlen($web_form_address)>0) + { + $VICIDiaL_web_form_address = "$web_form_address"; + print "\n"; + } + else + { + $VICIDiaL_web_form_address = "$VICIDiaL_web_URL"; + print "\n"; + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + } + $VICIDiaL_web_form_address_enc = rawurlencode($VICIDiaL_web_form_address); + + # If closers are allowed on this campaign + if ($allow_closers=="Y") + { + $VICIDiaL_allow_closers = 1; + print "\n"; + } + else + { + $VICIDiaL_allow_closers = 0; + print "\n"; + } + + + $session_ext = eregi_replace("[^a-z0-9]", "", $extension); + if (strlen($session_ext) > 10) {$session_ext = substr($session_ext, 0, 10);} + $session_rand = (rand(1,9999999) + 10000000); + $session_name = "$StarTtimE$US$session_ext$session_rand"; + + if ($webform_sessionname) + {$webform_sessionname = "&session_name=$session_name";} + else + {$webform_sessionname = '';} + + $stmt="DELETE from web_client_sessions where start_time < '$past_month_date' and extension='$extension' and server_ip = '$server_ip' and program = 'vicidial';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01029',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + $stmt="INSERT INTO web_client_sessions values('$extension','$server_ip','vicidial','$NOW_TIME','$session_name');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01030',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + if ( ($campaign_allow_inbound == 'Y') || ($campaign_leads_to_call > 0) || (ereg('Y',$no_hopper_leads_logins)) ) + { + ### insert an entry into the user log for the login event + $stmt = "INSERT INTO vicidial_user_log (user,event,campaign_id,event_date,event_epoch,user_group) values('$VD_login','LOGIN','$VD_campaign','$NOW_TIME','$StarTtimE','$VU_user_group')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01031',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + ##### check to see if the user has a conf extension already, this happens if they previously exited uncleanly + $stmt="SELECT conf_exten FROM vicidial_conferences where extension='$SIP_user' and server_ip = '$server_ip' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01032',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $prev_login_ct = mysql_num_rows($rslt); + $i=0; + while ($i < $prev_login_ct) + { + $row=mysql_fetch_row($rslt); + $session_id =$row[0]; + $i++; + } + if ($prev_login_ct > 0) + {print "\n";} + else + { + ##### grab the next available vicidial_conference room and reserve it + $stmt="SELECT count(*) FROM vicidial_conferences where server_ip='$server_ip' and ((extension='') or (extension is null));"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01033',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + $stmt="UPDATE vicidial_conferences set extension='$SIP_user', leave_3way='0' where server_ip='$server_ip' and ((extension='') or (extension is null)) limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01034',$VD_login,$server_ip,$session_name,$one_mysql_log);} + + $stmt="SELECT conf_exten from vicidial_conferences where server_ip='$server_ip' and ( (extension='$SIP_user') or (extension='$user') );"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01035',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $row=mysql_fetch_row($rslt); + $session_id = $row[0]; + } + print "\n"; + } + + ### mark leads that were not dispositioned during previous calls as ERI + $stmt="UPDATE vicidial_list set status='ERI', user='' where status IN('QUEUE','INCALL') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01036',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_hopper where status IN('QUEUE','INCALL','DONE') and user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01037',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01038',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + print "\n"; + + $stmt="DELETE from vicidial_live_inbound_agents where user ='$VD_login';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01039',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + print "\n"; + + # print "You have logged in as user: $VD_login on phone: $SIP_user to campaign: $VD_campaign
    \n"; + $VICIDiaL_is_logged_in=1; + + ### set the callerID for manager middleware-app to connect the phone to the user + $SIqueryCID = "S$CIDdate$session_id"; + + ############################################# + ##### START SYSTEM_SETTINGS LOOKUP ##### + $stmt = "SELECT enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_log_id,vicidial_agent_disable,allow_sipsak_messages FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01040',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $qm_conf_ct = mysql_num_rows($rslt); + if ($qm_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_queuemetrics_logging = $row[0]; + $queuemetrics_server_ip = $row[1]; + $queuemetrics_dbname = $row[2]; + $queuemetrics_login = $row[3]; + $queuemetrics_pass = $row[4]; + $queuemetrics_log_id = $row[5]; + $vicidial_agent_disable = $row[6]; + $allow_sipsak_messages = $row[7]; + } + ##### END QUEUEMETRICS LOGGING LOOKUP ##### + ########################################### + + if ( ($enable_sipsak_messages > 0) and ($allow_sipsak_messages > 0) and (eregi("SIP",$protocol)) ) + { + $SIPSAK_prefix = 'LIN-'; + print "\n"; + passthru("/usr/local/bin/sipsak -M -O desktop -B \"$SIPSAK_prefix$VD_campaign\" -r 5060 -s sip:$extension@$phone_ip > /dev/null"); + $SIqueryCID = "$SIPSAK_prefix$VD_campaign$DS$CIDdate"; + } + + ### insert a NEW record to the vicidial_manager table to be processed + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Originate','$SIqueryCID','Channel: $SIP_user_DiaL','Context: $ext_context','Exten: $session_id','Priority: 1','Callerid: $SIqueryCID','','','','','');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01041',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($auto_dial_level > 0) + { + print "\n"; + + ##### grab the campaign_weight and number of calls today on that campaign for the agent + $stmt="SELECT campaign_weight,calls_today FROM vicidial_campaign_agents where user='$VD_login' and campaign_id = '$VD_campaign';"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01042',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $vca_ct = mysql_num_rows($rslt); + if ($vca_ct > 0) + { + $row=mysql_fetch_row($rslt); + $campaign_weight = $row[0]; + $calls_today = $row[1]; + $i++; + } + else + { + $campaign_weight = '0'; + $calls_today = '0'; + $stmt="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) values('$VD_login','$VD_campaign','0','0','$calls_today');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01043',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + print "\n"; + } + $closer_chooser_string=''; + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,closer_campaigns,user_level,campaign_weight,calls_today) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$closer_chooser_string','$user_level','$campaign_weight','$calls_today');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01044',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'01045',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'01046',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + + + if ($campaign_allow_inbound == 'Y') + { + print "\n"; + } + } + else + { + print "\n"; + + $stmt="INSERT INTO vicidial_live_agents (user,server_ip,conf_exten,extension,status,lead_id,campaign_id,uniqueid,callerid,channel,random_id,last_call_time,last_update_time,last_call_finish,user_level) values('$VD_login','$server_ip','$session_id','$SIP_user','PAUSED','','$VD_campaign','','','','$random','$NOW_TIME','$tsNOW_TIME','$NOW_TIME','$user_level');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01047',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + print "\n"; + + if ($enable_queuemetrics_logging > 0) + { + $linkB=mysql_connect("$queuemetrics_server_ip", "$queuemetrics_login", "$queuemetrics_pass"); + mysql_select_db("$queuemetrics_dbname", $linkB); + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='$VD_campaign',agent='Agent/$VD_login',verb='AGENTLOGIN',data1='$VD_login@agents',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'01048',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + $stmt = "INSERT INTO queue_log SET partition='P01',time_id='$StarTtimE',call_id='NONE',queue='NONE',agent='Agent/$VD_login',verb='PAUSEALL',serverid='$queuemetrics_log_id';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkB); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$linkB,$mel,$stmt,'01049',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($linkB); + print "\n"; + + mysql_close($linkB); + mysql_select_db("$VARDB_database", $link); + } + } + } + else + { + echo "VICIDIAL web client: VICIDIAL Campaign Login\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
    \n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "Sorry, there are no leads in the hopper for this campaign\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Login: \n
    "; + echo "Password:
    \n"; + echo "Campaign: $camp_form_code
    \n"; + echo "   \n"; + echo "\n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + if (strlen($session_id) < 1) + { + echo "VICIDIAL web client: VICIDIAL Campaign Login\n"; + echo "\n"; + echo "\n"; + echo " Timeclock
    \n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "Sorry, there are no available sessions\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Login: \n
    "; + echo "Password:
    \n"; + echo "Campaign: $camp_form_code
    \n"; + echo "   \n"; + echo "\n"; + echo "
    \n\n"; + echo "\n\n"; + echo "\n\n"; + exit; + } + + if (ereg('MSIE',$browser)) + { + $useIE=1; + print "\n"; + } + else + { + $useIE=0; + print "\n"; + } + + $StarTtimE = date("U"); + $NOW_TIME = date("Y-m-d H:i:s"); + ##### Agent is going to log in so insert the vicidial_agent_log entry now + $stmt="INSERT INTO vicidial_agent_log (user,server_ip,event_time,campaign_id,pause_epoch,pause_sec,wait_epoch,user_group,sub_status) values('$VD_login','$server_ip','$NOW_TIME','$VD_campaign','$StarTtimE','0','$StarTtimE','$VU_user_group','LOGIN');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01050',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $affected_rows = mysql_affected_rows($link); + $agent_log_id = mysql_insert_id($link); + print "\n"; + + $stmt="UPDATE vicidial_users SET shift_override_flag='0' where user='$VD_login' and shift_override_flag='1';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01057',$VD_login,$server_ip,$session_name,$one_mysql_log);} + $VUaffected_rows = mysql_affected_rows($link); + + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $server_ip_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S"; + + ##### grab the datails of all active scripts in the system + $stmt="SELECT script_id,script_name,script_text FROM vicidial_scripts WHERE active='Y' order by script_id limit 100;"; + $rslt=mysql_query($stmt, $link); + if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01051',$VD_login,$server_ip,$session_name,$one_mysql_log);} + if ($DB) {echo "$stmt\n";} + $MM_scripts = mysql_num_rows($rslt); + $e=0; + while ($e < $MM_scripts) + { + $row=mysql_fetch_row($rslt); + $MMscriptid[$e] =$row[0]; + $MMscriptname[$e] = urlencode($row[1]); + $MMscripttext[$e] = urlencode($row[2]); + $MMscriptids = "$MMscriptids'$MMscriptid[$e]',"; + $MMscriptnames = "$MMscriptnames'$MMscriptname[$e]',"; + $MMscripttexts = "$MMscripttexts'$MMscripttext[$e]',"; + $e++; + } + $MMscriptids = substr("$MMscriptids", 0, -1); + $MMscriptnames = substr("$MMscriptnames", 0, -1); + $MMscripttexts = substr("$MMscripttexts", 0, -1); + + } +} + +################################################################ +### BEGIN - build the callback calendar (12 months) ### +################################################################ +define ('ADAY', (60*60*24)); +$CdayARY = getdate(); +$Cmon = $CdayARY['mon']; +$Cyear = $CdayARY['year']; +$CTODAY = date("Y-m"); +$CTODAYmday = date("j"); +$CINC=0; + +$Cmonths = Array('January','February','March','April','May','June', + 'July','August','September','October','November','December'); +$Cdays = Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); + +$CCAL_OUT = ''; + +$CCAL_OUT .= ""; + +while ($CINC < 12) +{ +if ( ($CINC == 0) || ($CINC == 4) ||($CINC == 8) ) + {$CCAL_OUT .= "";} + +$CCAL_OUT .= ""; + +if ( ($CINC == 3) || ($CINC == 7) ||($CINC == 11) ) + {$CCAL_OUT .= "";} +$CINC++; +} + +$CCAL_OUT .= "
    "; + +$CYyear = $Cyear; +$Cmonth= ($Cmon + $CINC); +if ($Cmonth > 12) + { + $Cmonth = ($Cmonth - 12); + $CYyear++; + } +$Cstart= mktime(11,0,0,$Cmonth,1,$CYyear); +$CfirstdayARY = getdate($Cstart); +#echo "|$Cmon|$Cmonth|$CINC|\n"; +$CPRNTDAY = date("Y-m", $Cstart); + +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; +$CCAL_OUT .= ""; + +foreach($Cdays as $Cday) +{ + $CDCLR="#ffffff"; +$CCAL_OUT .= ""; +} + +for( $Ccount=0;$Ccount<(6*7);$Ccount++) +{ + $Cdayarray = getdate($Cstart); + if((($Ccount) % 7) == 0) + { + if($Cdayarray['mon'] != $CfirstdayARY['mon']) + break; + $CCAL_OUT .= ""; + } + if($Ccount < $CfirstdayARY['wday'] || $Cdayarray['mon'] != $Cmonth) + { + $CCAL_OUT .= ""; + } + else + { + if( ($Cdayarray['mday'] == $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + else + { + $CDCLR="#ffffff"; + if ( ($Cdayarray['mday'] < $CTODAYmday) and ($CPRNTDAY == $CTODAY) ) + { + $CDCLR="#CCCCCC"; + $CBL = ''; + $CEL = ''; + } + else + { + $CPRNTmday = $Cdayarray['mday']; + if ($CPRNTmday < 10) {$CPRNTmday = "0$CPRNTmday";} + $CBL = ""; + $CEL = ""; + } + + $CCAL_OUT .= ""; + $Cstart += ADAY; + } + } +} +$CCAL_OUT .= ""; +$CCAL_OUT .= "
    "; +$CCAL_OUT .= "
    "; +$CCAL_OUT .= "$CfirstdayARY[month] $CfirstdayARY[year]"; +$CCAL_OUT .= "
    "; +$CCAL_OUT .= "
    "; +$CCAL_OUT .= "
    "; +$CCAL_OUT .= "$Cday"; +$CCAL_OUT .= "
    "; +$CCAL_OUT .= "
     "; + $CCAL_OUT .= "
    "; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
    "; + $CCAL_OUT .= "
    "; + $CCAL_OUT .= "
    "; + $CCAL_OUT .= "$CBL$Cdayarray[mday]$CEL"; + $CCAL_OUT .= "
    "; + $CCAL_OUT .= "
    "; +$CCAL_OUT .= "
    "; + +#echo "$CCAL_OUT\n"; +################################################################ +### END - build the callback calendar (12 months) ### +################################################################ + + +?> + + + + +\n"; + + +?> + +
    + + MARGINWIDTH=0 MARGINHEIGHT=0 LEFTMARGIN=0 TOPMARGIN=0 VALIGN=TOP ALIGN=LEFT> +
    + + + +     + + 0) {echo "GROUPS     \n";} ?> +LOGOUT\n"; ?> +
    +
    + + + height=30> + + + + + +
    VICIDIALSCRIPT VALIGN=MIDDLE ALIGN=CENTER>   LIVE     session ID:     Live Call
    +
    + + + + + height=>

    VICIDIAL
    +
    + + +MANUAL DIAL       FAST DIAL
    +
    + + +X ACTIVE CALLBACKS
    +
    + + +
    +
    + + seconds: +     + + + + D1 - DIAL\n"; + echo "
    \n"; + echo "D2 - DIAL\n"; + } + else {echo "
    \n";} + ?> +

    +
    +
    + + + height=460>
    CALLBACKS FOR AGENT :
    Click on a callback below to call the customer back now. If you click on a record below to call it, it will be removed from the list. +
    +
    +
      + Refresh +                 + Go Back +
    +
    + + + height=460>
    NEW MANUAL DIAL LEAD FOR :

    Enter information below for the new lead you wish to call. +
    + \n"; + } + ?> + Note: all new manual dial leads will go into list

    + + + + + + + + + + + + + + + +
    Dial Code:   (This is usually a 1 in the USA-Canada)
    Phone Number: +   (12 digits max - digits only) +
    Search Existing Leads:   (This option if checked will attempt to find the phone number in the system before inserting it as a new lead)
    +

    +     +
    +

    If you want to dial a number and have it NOT be added as a new lead, enter in the exact dialstring that you want to call in the Dial Override field below. To hangup this call you will have to open the CALLS IN THIS SESSION link at the bottom of the screen and hang it up by clicking on its channel link there.
     
    Dial Override:   (digits only please) +
    +
    + Dial Now +                 + Preview Call +                 + Go Back +
    +
    + + + +
    +
    + + + + +Your Status:
    Calls Dialing: +
    + + + + + > + +
    +
    + + Transfer - Conference            
    + + + LOCAL CLOSER + Hangup Xfer Line + Hangup Both Lines + +
    + + Number to call   + + DIAL OVERRIDE   + LEAVE 3-WAY CALL + Dial Blind Transfer + D1 + D2 + +
    + + seconds   + channel + Dial With Customer + Park Customer Dial + Blind Transfer VMail Message +
    +
    +
    +
    + + + + height=70> + +
    Lead Dispositioned As:

    + -
    +
    +
    + + + height=70> + + + + +
    Disposition Hot Keys: + When active, simply press the keyboard key for the desired disposition for this call. The call will then be hungup and dispositioned automatically:
    + + + + + +
    +
    + + + height=70> + + + + + + +
    Previous Callback Information: close
    +
    +
    +
    +
    + +
    +
    + + + height=70> + + + + + + +
    Extended Alt Phone Information: minimize
    +
    +
    +
    +
    + +
    +
    + + + + + +
    maximize
    Alt Phone Info
    +
    + + + height=500>
    Noone is in your session:
    + Go Back +

    + Call Agent Again +
    +
    + + + height=500>
    Customer has hung up:
    + Go Back +

    + Finish and Disposition Call + +
    +
    + + + height=550>
    Call Wrapup: seconds remaining in wrapup

    + +

    + Finish Wrapup and Move On + +
    +
    + + + height=500>
    Your session has been disabled
    LOGOUT

    Go Back +
    +
    + + + height=500>
    There is a time synchronization problem with your system, please tell your system administrator


    Go Back +
    +
    + + + height=500>

    LOGOUT
    +
    + + +
    +
    + + +
     
    +
    + + + height=47>
    Any changes made to the customer information below at this time will not be comitted, You must change customer information before you Hangup the call.
    +
    + + + height=460>
    DISPOSITION CALL :       Hangup Again       minimize
    + End-of-call Disposition Selection +
    + PAUSE AGENT DIALING
    + CLEAR FORM | + SUBMIT +

    + WEB FORM SUBMIT +

      +
    +
    + + + height=460>
    SELECT A PAUSE CODE :
    + Pause Code Selection + +

      +
    +
    + + + height=460>
    SELECT A GROUP ALIAS :
    + Group Alias Selection + +

      +
    +
    + + + + + + height=460>
    Select a CallBack Date :
    + + + Select a Date Below   +     + Hour: +   + Minutes: +   + +  
    + MY CALLBACK ONLY
    ";} + ?> + CB Comments:

    + + SUBMIT

    + +

      +
    +
    + + + height=460>
    CLOSER INBOUND GROUP SELECTION
    + Closer Inbound Group Selection +
    + 0) and ($disable_blended_checkbox < 1) ) + { + ?> + BLENDED CALLING(outbound activated)
    + + RESET | + SUBMIT +



      +
    +
    + + + + Channel + Channel + MY CALLBACK ONLY
    ";} + if ( ($outbound_autodial_active < 1) or ($disable_blended_checkbox > 0) ) + {echo " BLENDED CALLING
    ";} + ?> +
    + + + + height=>
    VICIDIAL SCRIPT
    +
    + + + 0) && ( ($user_level>=$HKuser_level) or ($VU_hotkeys_active > 0) ) ) { ?> +HOT KEYS INACTIVE + + + + +> + + + + +
    VICIDIAL web-client version:     BUILD:               Server:              
    +Show conference call channel information

     
    +
    + 0) ) + {echo "Alert is ON";} +else + {echo "Alert is OFF";} +?> +
    + + + +
    +
    + + + + + id="MainTable"> + + + + + + + + + + + + + + + +
    STATUS:
    +
    +Dial Next Number
    + LEAD PREVIEW
    + ALT PHONE DIAL
    + + +RECORDING FILE:
    +
    +
    +RECORD ID:
    +
    + +Start Recording
    +
    +Web Form
    +
    +Park Call
    +Transfer - Conference
    +
    +Hangup Customer
    +
    +
    Send DTMF

    +
    +
    +
    align=left valign=top> + + + + + + + + + + +
    + + + + + + + +
      Customer Time:   Channel:
    Customer Information:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Title:   First:   MI:   Last:
    Address1:
    Address2: Address3:
    City: State: PostCode:
    Province: Vendor ID: Gender:
    Phone: +                     "; + echo ""; + } +else + { + echo ""; + } +?> + +DialCode: Alt. Phone:
    Show: Email:
    Comments: + +\n";} +else + {echo "\n";} +?> + +
    +
    + +
    +
    > + 
    + + + + + + + 0) or ($one_mysql_log > 0) ) + { + $errno = mysql_errno($link); + if ( ($errno > 0) or ($mel > 1) or ($one_mysql_log > 0) ) + { + $error = mysql_error($link); + $efp = fopen ("./vicidial_mysql_errors.txt", "a"); + fwrite ($efp, "$NOW_TIME|vicidial |$query_id|$errno|$error|$stmt|$user|$server_ip|$session_name|\n"); + fclose($efp); + } + } +$one_mysql_log=0; +return $errno; +} + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/vicidial_redirect.php b/agc_2-X/branches/agc_2.0.5/www/agc/vicidial_redirect.php new file mode 100644 index 00000000..ff921c72 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/agc/vicidial_redirect.php @@ -0,0 +1,46 @@ + LICENSE: AGPLv2 +# +# CHANGELOG +# 71202-1546 - First Build +# + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["VD_login"])) {$VD_login=$_GET["VD_login"];} + elseif (isset($_POST["VD_login"])) {$VD_login=$_POST["VD_login"];} +if (isset($_GET["VD_pass"])) {$VD_pass=$_GET["VD_pass"];} + elseif (isset($_POST["VD_pass"])) {$VD_pass=$_POST["VD_pass"];} +if (isset($_GET["VD_campaign"])) {$VD_campaign=$_GET["VD_campaign"];} + elseif (isset($_POST["VD_campaign"])) {$VD_campaign=$_POST["VD_campaign"];} +if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];} + elseif (isset($_POST["relogin"])) {$relogin=$_POST["relogin"];} + +if (!isset($phone_login)) + { + if (isset($_GET["pl"])) {$phone_login=$_GET["pl"];} + elseif (isset($_POST["pl"])) {$phone_login=$_POST["pl"];} + } +if (!isset($phone_pass)) + { + if (isset($_GET["pp"])) {$phone_pass=$_GET["pp"];} + elseif (isset($_POST["pp"])) {$phone_pass=$_POST["pp"];} + } + +$URL = "http://192.168.1.60/agc/vicidial.php?phone_login=$phone_login&phone_pass=$phone_pass&DB=$DB&VD_login=$VD_login&VD_pass=$VD_pass&VD_campaign=$VD_campaign&relogin=$relogin"; + +echo"VICIDIAL\n"; +echo"\n"; +echo"\n"; +echo"\n"; +echo"\n"; +echo"click here to continue. . .\n"; +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/www/agc/voicemail_check.php b/agc_2-X/branches/agc_2.0.5/www/agc/voicemail_check.php new file mode 100644 index 00000000..9720a614 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/agc/voicemail_check.php @@ -0,0 +1,140 @@ + LICENSE: AGPLv2 +# +# This script is designed purely to check whether the voicemail box on the server defined has new and old messages +# This script depends on the server_ip being sent and also needs to have a valid user/pass from the vicidial_users table +# +# required variables: +# - $server_ip +# - $session_name +# - $user +# - $pass +# optional variables: +# - $format - ('text','debug') +# - $vmail_box - ('101','1234',...) +# +# +# changes +# 50422-1147 - First build of script +# 50503-1241 - added session_name checking for extra security +# 50711-1201 - removed HTTP authentication in favor of user/pass vars +# 60421-1147 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1204 - Added variable filters to close security holes for login form +# + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_name"])) {$session_name=$_GET["session_name"];} + elseif (isset($_POST["session_name"])) {$session_name=$_POST["session_name"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["vmail_box"])) {$vmail_box=$_GET["vmail_box"];} + elseif (isset($_POST["vmail_box"])) {$vmail_box=$_POST["vmail_box"];} + +$user=ereg_replace("[^0-9a-zA-Z]","",$user); +$pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + +# default optional vars if not set +if (!isset($format)) {$format="text";} + +$version = '0.0.5'; +$build = '60619-1204'; +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($user)<2) or (strlen($pass)<2) or ($auth==0)) + { + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + + if( (strlen($server_ip)<6) or (!isset($server_ip)) or ( (strlen($session_name)<12) or (!isset($session_name)) ) ) + { + echo "Invalid server_ip: |$server_ip| or Invalid session_name: |$session_name|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from web_client_sessions where session_name='$session_name' and server_ip='$server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $SNauth=$row[0]; + if($SNauth==0) + { + echo "Invalid session_name: |$session_name|$server_ip|\n"; + exit; + } + else + { + # do nothing for now + } + } + } + +if ($format=='debug') +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "Voicemail Check"; +echo "\n"; +echo "\n"; +echo "\n"; +} + + $MT[0]=''; + $row=''; $rowx=''; + if (strlen($vmail_box)<1) + { + $channel_live=0; + echo "voicemail box $vmail_box is not valid\n"; + exit; + } + else + { + $stmt="SELECT messages,old_messages FROM phones where server_ip='$server_ip' and voicemail_id='$vmail_box' limit 1;"; + if ($format=='debug') {echo "\n";} + $rslt=mysql_query($stmt, $link); + $vmails_list = mysql_num_rows($rslt); + $loop_count=0; + while ($vmails_list>$loop_count) + { + $loop_count++; + $row=mysql_fetch_row($rslt); + echo "$row[0]|$row[1]"; + if ($format=='debug') {echo "\n";} + } + } + + +if ($format=='debug') + { + $ENDtime = date("U"); + $RUNtime = ($ENDtime - $StarTtime); + echo "\n"; + echo "\n\n\n"; + } + +exit; + +?> diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_CLOSER_service_level.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_CLOSER_service_level.php new file mode 100644 index 00000000..d8b49a94 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_CLOSER_service_level.php @@ -0,0 +1,956 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 80509-0943 - First build +# 80510-1500 - Added fixed scale hold time graph +# 80519-0413 - rewrote time intervals code and stats gathering code +# 80528-2320 - fixed small calculation bugs and display bugs, added more shifts +# 90310-2117 - Added admin header +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +if (strlen($shift)<2) {$shift='ALL';} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} + +$stmt="select group_id from vicidial_inbound_groups;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: VDAD Closer Service Level Stats\n"; + + $short_header=1; + + require("admin_header.php"); + +echo "
    "; + +echo "
    \n"; +echo "\n"; +echo " to \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFY | REPORTS \n"; +echo "
    \n\n"; + +echo "
    \n\n";
    +
    +
    +if (!$group)
    +{
    +echo "\n\n";
    +echo "PLEASE SELECT AN IN-GROUP AND DATE RANGE ABOVE AND CLICK SUBMIT\n";
    +}
    +
    +else
    +{
    +### FOR SHIFTS IT IS BEST TO STICK TO 15-MINUTE INCREMENTS FOR START TIMES ###
    +
    +if ($shift == 'AM') 
    +	{
    +#	$time_BEGIN=$AM_shift_BEGIN;
    +#	$time_END=$AM_shift_END;
    +#	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
    +#	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}   
    +	if (strlen($time_END) < 6) {$time_END = "11:59:59";}
    +#	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "12:00:00";}   
    +#	if (strlen($time_END) < 6) {$time_END = "11:59:59";}
    +	}
    +if ($shift == 'PM') 
    +	{
    +#	$time_BEGIN=$PM_shift_BEGIN;
    +#	$time_END=$PM_shift_END;
    +#	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
    +#	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "12:00:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +	}
    +if ($shift == 'ALL') 
    +	{
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +	}
    +if ($shift == 'DAYTIME') 
    +	{
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "08:45:00";}
    +	if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +	}
    +if ($shift == '10AM-6PM') 
    +	{
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "10:00:00";}
    +	if (strlen($time_END) < 6) {$time_END = "17:59:59";}
    +	}
    +if ($shift == '9AM-1AM') 
    +	{
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "09:00:00";}
    +	if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +	}
    +if ($shift == '845-1745') 
    +	{
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "08:45:00";}
    +	if (strlen($time_END) < 6) {$time_END = "17:44:59";}
    +	}
    +if ($shift == '1745-100') 
    +	{
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "17:45:00";}
    +	if (strlen($time_END) < 6) {$time_END = "00:59:59";}
    +	}
    +
    +$query_date_BEGIN = "$query_date $time_BEGIN";   
    +$query_date_END = "$end_date $time_END";
    +
    +$SQdate_ARY =	explode(' ',$query_date_BEGIN);
    +$SQday_ARY =	explode('-',$SQdate_ARY[0]);
    +$SQtime_ARY =	explode(':',$SQdate_ARY[1]);
    +$EQdate_ARY =	explode(' ',$query_date_END);
    +$EQday_ARY =	explode('-',$EQdate_ARY[0]);
    +$EQtime_ARY =	explode(':',$EQdate_ARY[1]);
    +
    +$SQepochDAY = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]);
    +$SQepoch = mktime($SQtime_ARY[0], $SQtime_ARY[1], $SQtime_ARY[2], $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]);
    +$EQepoch = mktime($EQtime_ARY[0], $EQtime_ARY[1], $EQtime_ARY[2], $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]);
    +
    +$SQsec = ( ($SQtime_ARY[0] * 3600) + ($SQtime_ARY[1] * 60) + ($SQtime_ARY[2] * 1) );
    +$EQsec = ( ($EQtime_ARY[0] * 3600) + ($EQtime_ARY[1] * 60) + ($EQtime_ARY[2] * 1) );
    +
    +$DURATIONsec = ($EQepoch - $SQepoch);
    +$DURATIONday = intval( ($DURATIONsec / 86400) + 1 );
    +
    +	if ( ($EQsec < $SQsec) and ($DURATIONday < 1) )
    +		{
    +		$EQepoch = ($SQepochDAY + ($EQsec + 86400) );
    +		$query_date_END = date("Y-m-d H:i:s", $EQepoch);
    +		$DURATIONday++;
    +		}
    +
    +echo "VICIDIAL: Closer Service-Level Stats                      $NOW_TIME\n";
    +echo "\n";
    +echo "Time range $DURATIONday days: $query_date_BEGIN to $query_date_END\n\n";
    +#echo "Time range day sec: $SQsec - $EQsec   Day range in epoch: $SQepoch - $EQepoch   Start: $SQepochDAY\n";
    +
    +$d=0;
    +while ($d < $DURATIONday)
    +	{
    +	$dSQepoch = ($SQepoch + ($d * 86400) );
    +	$dEQepoch = ($SQepochDAY + ($EQsec + ($d * 86400) ) );
    +
    +	if ($EQsec < $SQsec)
    +		{
    +		$dEQepoch = ($dEQepoch + 86400);
    +		}
    +
    +	$daySTART[$d] = date("Y-m-d H:i:s", $dSQepoch);
    +	$dayEND[$d] = date("Y-m-d H:i:s", $dEQepoch);
    +
    +	$d++;
    +	}
    +
    +##########################################################################
    +#########  CALCULATE ALL OF THE 15-MINUTE PERIODS NEEDED FOR ALL DAYS ####
    +
    +### BUILD HOUR:MIN DISPLAY ARRAY ###
    +$i=0;
    +$h=4;
    +$j=0;
    +$Zhour=1;
    +$active_time=0;
    +$hour =		($SQtime_ARY[0] - 1);
    +$startSEC = ($SQsec - 900);
    +$endSEC =	($SQsec - 1);
    +if ($SQtime_ARY[1] > 14) 
    +	{
    +	$h=1;
    +	$hour++;
    +	if ($hour < 10) {$hour = "0$hour";}
    +	}
    +if ($SQtime_ARY[1] > 29) {$h=2;}
    +if ($SQtime_ARY[1] > 44) {$h=3;}
    +while ($i < 96)
    +	{
    +	$startSEC = ($startSEC + 900);
    +	$endSEC = ($endSEC + 900);
    +	$time = '      ';
    +	if ($h >= 4)
    +		{
    +		$hour++;
    +		if ($Zhour == '00') 
    +			{
    +			$startSEC=0;
    +			$endSEC=899;
    +			}
    +		$h=0;
    +		if ($hour < 10) {$hour = "0$hour";}
    +		$Stime="$hour:00";
    +		$Etime="$hour:15";
    +		$time = "+$Stime-$Etime+";
    +		}
    +	if ($h == 1)
    +		{
    +		$Stime="$hour:15";
    +		$Etime="$hour:30";
    +		$time = " $Stime-$Etime ";
    +		}
    +	if ($h == 2)
    +		{
    +		$Stime="$hour:30";
    +		$Etime="$hour:45";
    +		$time = " $Stime-$Etime ";
    +		}
    +	if ($h == 3)
    +		{
    +		$Zhour=$hour;
    +		$Zhour++;
    +		if ($Zhour < 10) {$Zhour = "0$Zhour";}
    +		if ($Zhour == 24) {$Zhour = "00";}
    +		$Stime="$hour:45";
    +		$Etime="$Zhour:00";
    +		$time = " $Stime-$Etime ";
    +		if ($Zhour == '00') 
    +			{$hour = ($Zhour - 1);}
    +		}
    +
    +	if ( ( ($startSEC >= $SQsec) and ($endSEC <= $EQsec) and ($EQsec > $SQsec) ) or 
    +		( ($startSEC >= $SQsec) and ($EQsec < $SQsec) ) or 
    +		( ($endSEC <= $EQsec) and ($EQsec < $SQsec) ) )
    +		{
    +		$HMdisplay[$j] =	$time;
    +		$HMstart[$j] =		$Stime;
    +		$HMend[$j] =		$Etime;
    +		$HMSepoch[$j] =		$startSEC;
    +		$HMEepoch[$j] =		$endSEC;
    +
    +		$j++;
    +		}
    +
    +	$h++;
    +	$i++;
    +	}
    +
    +$TOTintervals = $j;
    +
    +
    +### GRAB ALL RECORDS WITHIN RANGE FROM THE DATABASE ###
    +$stmt="select queue_seconds,UNIX_TIMESTAMP(call_date),length_in_sec,status from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "';";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$records_to_grab = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $records_to_grab)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$qs[$i] = $row[0];
    +	$dt[$i] = 0;
    +	$ut[$i] = ($row[1] - $SQepochDAY);
    +	while($ut[$i] >= 86400) 
    +		{
    +		$ut[$i] = ($ut[$i] - 86400);
    +		$dt[$i]++;
    +		}
    +	if ( ($ut[$i] <= $EQsec) and ($EQsec < $SQsec) )
    +		{
    +		$dt[$i] = ($dt[$i] - 1);
    +		}
    +	$ls[$i] = $row[2];
    +	$st[$i] = $row[3];
    +
    +#	echo "$qs[$i] $dt[$i] $ut[$i] $ls[$i] $st[$i]\n";
    +
    +	$i++;
    +	}
    +
    +### PARSE THROUGH ALL RECORDS AND GENERATE STATS ###
    +$MT[0]='0';
    +$totCALLS=0;
    +$totDROPS=0;
    +$totQUEUE=0;
    +$totCALLSsec=0;
    +$totDROPSsec=0;
    +$totQUEUEsec=0;
    +$totCALLSmax=0;
    +$totDROPSmax=0;
    +$totQUEUEmax=0;
    +$totCALLSdate=$MT;
    +$totDROPSdate=$MT;
    +$totQUEUEdate=$MT;
    +$qrtCALLS=$MT;
    +$qrtDROPS=$MT;
    +$qrtQUEUE=$MT;
    +$qrtCALLSsec=$MT;
    +$qrtDROPSsec=$MT;
    +$qrtQUEUEsec=$MT;
    +$qrtCALLSavg=$MT;
    +$qrtDROPSavg=$MT;
    +$qrtQUEUEavg=$MT;
    +$qrtCALLSmax=$MT;
    +$qrtDROPSmax=$MT;
    +$qrtQUEUEmax=$MT;
    +$j=0;
    +while ($j < $TOTintervals)
    +	{
    +	$jd__0[$j]=0; $jd_20[$j]=0; $jd_40[$j]=0; $jd_60[$j]=0; $jd_80[$j]=0; $jd100[$j]=0; $jd120[$j]=0; $jd121[$j]=0;
    +	$Phd__0[$j]=0; $Phd_20[$j]=0; $Phd_40[$j]=0; $Phd_60[$j]=0; $Phd_80[$j]=0; $Phd100[$j]=0; $Phd120[$j]=0; $Phd121[$j]=0;
    +	$qrtCALLS[$j]=0; $qrtCALLSsec[$j]=0; $qrtCALLSmax[$j]=0;
    +	$qrtDROPS[$j]=0; $qrtDROPSsec[$j]=0; $qrtDROPSmax[$j]=0;
    +	$qrtQUEUE[$j]=0; $qrtQUEUEsec[$j]=0; $qrtQUEUEmax[$j]=0;
    +	$i=0;
    +	while ($i < $records_to_grab)
    +		{
    +		if ( ($ut[$i] >= $HMSepoch[$j]) and ($ut[$i] <= $HMEepoch[$j]) )
    +			{
    +			$totCALLS++;
    +			$totCALLSsec = ($totCALLSsec + $ls[$i]);
    +			$totCALLSsecDATE[$dtt] = ($totCALLSsecDATE[$dtt] + $ls[$i]);
    +			$qrtCALLS[$j]++;
    +			$qrtCALLSsec[$j] = ($qrtCALLSsec[$j] + $ls[$i]);
    +			$dtt = $dt[$i];
    +			$totCALLSdate[$dtt]++;
    +			if ($totCALLSmax < $ls[$i]) {$totCALLSmax = $ls[$i];}
    +			if ($qrtCALLSmax[$j] < $ls[$i]) {$qrtCALLSmax[$j] = $ls[$i];}
    +			if (ereg('DROP',$st[$i])) 
    +				{
    +				$totDROPS++;
    +				$totDROPSsec = ($totDROPSsec + $ls[$i]);
    +				$totDROPSsecDATE[$dtt] = ($totDROPSsecDATE[$dtt] + $ls[$i]);
    +				$qrtDROPS[$j]++;
    +				$qrtDROPSsec[$j] = ($qrtDROPSsec[$j] + $ls[$i]);
    +				$totDROPSdate[$dtt]++;
    +				if ($totDROPSmax < $ls[$i]) {$totDROPSmax = $ls[$i];}
    +				if ($qrtDROPSmax[$j] < $ls[$i]) {$qrtDROPSmax[$j] = $ls[$i];}
    +				}
    +			if ($qs[$i] > 0) 
    +				{
    +				$totQUEUE++;
    +				$totQUEUEsec = ($totQUEUEsec + $qs[$i]);
    +				$totQUEUEsecDATE[$dtt] = ($totQUEUEsecDATE[$dtt] + $qs[$i]);
    +				$qrtQUEUE[$j]++;
    +				$qrtQUEUEsec[$j] = ($qrtQUEUEsec[$j] + $qs[$i]);
    +				$totQUEUEdate[$dtt]++;
    +				if ($totQUEUEmax < $qs[$i]) {$totQUEUEmax = $qs[$i];}
    +				if ($qrtQUEUEmax[$j] < $qs[$i]) {$qrtQUEUEmax[$j] = $qs[$i];}
    +				}
    +
    +			if ($qs[$i] == 0) {$hd__0[$j]++;}
    +			if ( ($qs[$i] > 0) and ($qs[$i] <= 20) ) {$hd_20[$j]++;}
    +			if ( ($qs[$i] > 20) and ($qs[$i] <= 40) ) {$hd_40[$j]++;}
    +			if ( ($qs[$i] > 40) and ($qs[$i] <= 60) ) {$hd_60[$j]++;}
    +			if ( ($qs[$i] > 60) and ($qs[$i] <= 80) ) {$hd_80[$j]++;}
    +			if ( ($qs[$i] > 80) and ($qs[$i] <= 100) ) {$hd100[$j]++;}
    +			if ( ($qs[$i] > 100) and ($qs[$i] <= 120) ) {$hd120[$j]++;}
    +			if ($qs[$i] > 120) {$hd121[$j]++;}
    +
    +			}
    +		
    +		$i++;
    +		}
    +
    +	$j++;
    +	}
    +
    +
    +
    +
    +###################################################
    +### TOTALS SUMMARY SECTION ###
    +echo "+-------------------------------------------+--------+--------+--------+--------+--------+--------+--------+--------+----------+--------+\n";
    +echo "|                                           |        |        |        |        |        |  AVG   |  AVG   |        |  TOTAL   |  AVG   |\n";
    +echo "| SHIFT                                     |        |        |  AVG   |        |        | HOLD(s)| HOLD(s)|        | CALLTIME |CALLTIME|\n";
    +echo "| DATE-TIME RANGE                           | DROPS  | DROP % | DROP(s)| HOLD   | HOLD % |  HOLD  | TOTAL  | CALLS  | MIN:SEC  |SECONDS |\n";
    +echo "+-------------------------------------------+--------+--------+--------+--------+--------+--------+--------+--------+----------+--------+\n";
    +
    +$d=0;
    +while ($d < $DURATIONday)
    +	{
    +	if ($totDROPSdate[$d] < 1) {$totDROPSdate[$d]=0;}
    +	if ($totQUEUEdate[$d] < 1) {$totQUEUEdate[$d]=0;}
    +	if ($totCALLSdate[$d] < 1) {$totCALLSdate[$d]=0;}
    +
    +	if ($totDROPSdate[$d] > 0)
    +		{$totDROPSpctDATE[$d] = ( ($totDROPSdate[$d] / $totCALLSdate[$d]) * 100);}
    +	else {$totDROPSpctDATE[$d] = 0;}
    +	$totDROPSpctDATE[$d] = round($totDROPSpctDATE[$d], 2);
    +	if ($totQUEUEdate[$d] > 0)
    +		{$totQUEUEpctDATE[$d] = ( ($totQUEUEdate[$d] / $totCALLSdate[$d]) * 100);}
    +	else {$totQUEUEpctDATE[$d] = 0;}
    +	$totQUEUEpctDATE[$d] = round($totQUEUEpctDATE[$d], 2);
    +
    +	if ($totDROPSsecDATE[$d] > 0)
    +		{$totDROPSavgDATE[$d] = ($totDROPSsecDATE[$d] / $totDROPSdate[$d]);}
    +	else {$totDROPSavgDATE[$d] = 0;}
    +	if ($totQUEUEsecDATE[$d] > 0)
    +		{$totQUEUEavgDATE[$d] = ($totQUEUEsecDATE[$d] / $totQUEUEdate[$d]);}
    +	else {$totQUEUEavgDATE[$d] = 0;}
    +	if ($totQUEUEsecDATE[$d] > 0)
    +		{$totQUEUEtotDATE[$d] = ($totQUEUEsecDATE[$d] / $totCALLSdate[$d]);}
    +	else {$totQUEUEtotDATE[$d] = 0;}
    +
    +	if ($totCALLSsecDATE[$d] > 0)
    +		{
    +		$totCALLSavgDATE[$d] = ($totCALLSsecDATE[$d] / $totCALLSdate[$d]);
    +
    +		$totTIME_M = ($totCALLSsecDATE[$d] / 60);
    +		$totTIME_M_int = round($totTIME_M, 2);
    +		$totTIME_M_int = intval("$totTIME_M");
    +		$totTIME_S = ($totTIME_M - $totTIME_M_int);
    +		$totTIME_S = ($totTIME_S * 60);
    +		$totTIME_S = round($totTIME_S, 0);
    +		if ($totTIME_S < 10) {$totTIME_S = "0$totTIME_S";}
    +		$totTIME_MS = "$totTIME_M_int:$totTIME_S";
    +		$totTIME_MS =		sprintf("%8s", $totTIME_MS);
    +		}
    +	else 
    +		{
    +		$totCALLSavgDATE[$d] = 0;
    +		$totTIME_MS='        ';
    +		}
    +
    +	$totCALLSavgDATE[$d] =	sprintf("%6.0f", $totCALLSavgDATE[$d]);
    +	$totDROPSavgDATE[$d] =	sprintf("%7.2f", $totDROPSavgDATE[$d]);
    +	$totQUEUEavgDATE[$d] =	sprintf("%7.2f", $totQUEUEavgDATE[$d]);
    +	$totQUEUEtotDATE[$d] =	sprintf("%7.2f", $totQUEUEtotDATE[$d]);
    +	$totDROPSpctDATE[$d] =	sprintf("%6.2f", $totDROPSpctDATE[$d]);
    +	$totQUEUEpctDATE[$d] =	sprintf("%6.2f", $totQUEUEpctDATE[$d]);
    +	$totDROPSdate[$d] =	sprintf("%6s", $totDROPSdate[$d]);
    +	$totQUEUEdate[$d] =	sprintf("%6s", $totQUEUEdate[$d]);
    +	$totCALLSdate[$d] =	sprintf("%6s", $totCALLSdate[$d]);
    +
    +	echo "| $daySTART[$d] - $dayEND[$d] | $totDROPSdate[$d] | $totDROPSpctDATE[$d]%|$totDROPSavgDATE[$d] | $totQUEUEdate[$d] | $totQUEUEpctDATE[$d]%|$totQUEUEavgDATE[$d] |$totQUEUEtotDATE[$d] | $totCALLSdate[$d] | $totTIME_MS | $totCALLSavgDATE[$d] |\n";
    +	$d++;
    +	}
    +
    +	if ($totDROPS > 0)
    +		{$totDROPSpct = ( ($totDROPS / $totCALLS) * 100);}
    +	else {$totDROPSpct = 0;}
    +	$totDROPSpct = round($totDROPSpct, 2);
    +	if ($totQUEUE > 0)
    +		{$totQUEUEpct = ( ($totQUEUE / $totCALLS) * 100);}
    +	else {$totQUEUEpct = 0;}
    +	$totQUEUEpct = round($totQUEUEpct, 2);
    +
    +	if ($totDROPSsec > 0)
    +		{$totDROPSavg = ($totDROPSsec / $totDROPS);}
    +	else {$totDROPSavg = 0;}
    +	if ($totQUEUEsec > 0)
    +		{$totQUEUEavg = ($totQUEUEsec / $totQUEUE);}
    +	else {$totQUEUEavg = 0;}
    +	if ($totQUEUEsec > 0)
    +		{$totQUEUEtot = ($totQUEUEsec / $totCALLS);}
    +	else {$totQUEUEtot = 0;}
    +
    +if ($totCALLSsec > 0)
    +	{
    +	$totCALLSavg = ($totCALLSsec / $totCALLS);
    +
    +	$totTIME_M = ($totCALLSsec / 60);
    +	$totTIME_M_int = round($totTIME_M, 2);
    +	$totTIME_M_int = intval("$totTIME_M");
    +	$totTIME_S = ($totTIME_M - $totTIME_M_int);
    +	$totTIME_S = ($totTIME_S * 60);
    +	$totTIME_S = round($totTIME_S, 0);
    +	if ($totTIME_S < 10) {$totTIME_S = "0$totTIME_S";}
    +	$totTIME_MS = "$totTIME_M_int:$totTIME_S";
    +	$totTIME_MS =		sprintf("%9s", $totTIME_MS);
    +	}
    +else 
    +	{
    +	$totCALLSavg = 0;
    +	$totTIME_MS='         ';
    +	}
    +
    +
    +	$FtotCALLSavg =	sprintf("%6.0f", $totCALLSavg);
    +	$FtotDROPSavg =	sprintf("%7.2f", $totDROPSavg);
    +	$FtotQUEUEavg =	sprintf("%7.2f", $totQUEUEavg);
    +	$FtotQUEUEtot =	sprintf("%7.2f", $totQUEUEtot);
    +	$FtotDROPSpct =	sprintf("%6.2f", $totDROPSpct);
    +	$FtotQUEUEpct =	sprintf("%6.2f", $totQUEUEpct);
    +	$FtotDROPS =	sprintf("%6s", $totDROPS);
    +	$FtotQUEUE =	sprintf("%6s", $totQUEUE);
    +	$FtotCALLS =	sprintf("%6s", $totCALLS);
    +
    +echo "+-------------------------------------------+--------+--------+--------+--------+--------+--------+--------+--------+----------+--------+\n";
    +echo "|                                    TOTALS | $FtotDROPS | $FtotDROPSpct%|$FtotDROPSavg | $FtotQUEUE | $FtotQUEUEpct%|$FtotQUEUEavg |$FtotQUEUEtot | $FtotCALLS |$totTIME_MS | $FtotCALLSavg |\n";
    +echo "+-------------------------------------------+--------+--------+--------+--------+--------+--------+--------+--------+----------+--------+\n";
    +
    +
    +	## FORMAT OUTPUT ##
    +	$i=0;
    +	$hi_hour_count=0;
    +	$hi_hold_count=0;
    +
    +	while ($i < $TOTintervals)
    +		{
    +
    +		if ($qrtCALLS[$i] > 0)
    +			{$qrtCALLSavg[$i] = ($qrtCALLSsec[$i] / $qrtCALLS[$i]);}
    +		else {$qrtCALLSavg[$i] = 0;}
    +		if ($qrtDROPS[$i] > 0)
    +			{$qrtDROPSavg[$i] = ($qrtDROPSsec[$i] / $qrtDROPS[$i]);}
    +		else {$qrtDROPSavg[$i] = 0;}
    +		if ($qrtQUEUE[$i] > 0)
    +			{$qrtQUEUEavg[$i] = ($qrtQUEUEsec[$i] / $qrtQUEUE[$i]);}
    +		else {$qrtQUEUEavg[$i] = 0;}
    +
    +		if ($qrtCALLS[$i] > $hi_hour_count) {$hi_hour_count = $qrtCALLS[$i];}
    +		if ($qrtQUEUEavg[$i] > $hi_hold_count) {$hi_hold_count = $qrtQUEUEavg[$i];}
    +
    +		$qrtQUEUEavg[$i] = round($qrtQUEUEavg[$i], 0);
    +		if (strlen($qrtQUEUEavg[$i])<1) {$qrtQUEUEavg[$i]=0;}
    +		$qrtQUEUEmax[$i] = round($qrtQUEUEmax[$i], 0);
    +		if (strlen($qrtQUEUEmax[$i])<1) {$qrtQUEUEmax[$i]=0;}
    +
    +		$i++;
    +		}
    +
    +if ($hi_hour_count < 1)
    +	{$hour_multiplier = 0;}
    +else
    +	{$hour_multiplier = (20 / $hi_hour_count);}
    +if ($hi_hold_count < 1)
    +	{$hold_multiplier = 0;}
    +else
    +	{$hold_multiplier = (20 / $hi_hold_count);}
    +
    +
    +
    +
    +###################################################################
    +#########  HOLD TIME, CALL AND DROP STATS 15-MINUTE INCREMENTS ####
    +
    +echo "\n";
    +echo "---------- HOLD TIME, CALL AND DROP STATS\n";
    +
    +echo "";
    +
    +echo "";
    +echo "\n";
    +echo "GRAPH IN 15 MINUTE INCREMENTS OF AVERAGE HOLD TIME FOR CALLS TAKEN INTO THIS IN-GROUP\n";
    +
    +
    +$k=1;
    +$Mk=0;
    +$call_scale = '0';
    +while ($k <= 22) 
    +	{
    +	if ( ($k < 1) or ($hour_multiplier <= 0) )
    +		{$scale_num = 20;}
    +	else
    +		{
    +		$TMPscale_num=(23 / $hour_multiplier);
    +		$TMPscale_num = round($TMPscale_num, 0);
    +		$scale_num=($k / $hour_multiplier);
    +		$scale_num = round($scale_num, 0);
    +		}
    +	$tmpscl = "$call_scale$TMPscale_num";
    +
    +	if ( ($Mk >= 4) or (strlen($tmpscl)==23) )
    +		{
    +		$Mk=0;
    +		$LENscale_num = (strlen($scale_num));
    +		$k = ($k + $LENscale_num);
    +		$call_scale .= "$scale_num";
    +		}
    +	else
    +		{
    +		$call_scale .= " ";
    +		$k++;   $Mk++;
    +		}
    +	}
    +$k=1;
    +$Mk=0;
    +$hold_scale = '0';
    +while ($k <= 22) 
    +	{
    +	if ( ($k < 1) or ($hold_multiplier <= 0) )
    +		{$scale_num = 20;}
    +	else
    +		{
    +		$TMPscale_num=(23 / $hold_multiplier);
    +		$TMPscale_num = round($TMPscale_num, 0);
    +		$scale_num=($k / $hold_multiplier);
    +		$scale_num = round($scale_num, 0);
    +		}
    +	$tmpscl = "$hold_scale$TMPscale_num";
    +
    +	if ( ($Mk >= 4) or (strlen($tmpscl)==23) )
    +		{
    +		$Mk=0;
    +		$LENscale_num = (strlen($scale_num));
    +		$k = ($k + $LENscale_num);
    +		$hold_scale .= "$scale_num";
    +		}
    +	else
    +		{
    +		$hold_scale .= " ";
    +		$k++;   $Mk++;
    +		}
    +	}
    +
    +
    +echo "+-------------+-----------------------+-------+-------+  +-----------------------+-------+-------+\n";
    +echo "|    TIME     |  AVG HOLD TIME (sec)  | (in seconds)  |  |    CALLS HANDLED      |       |       |\n";
    +echo "| 15 MIN INT  |$hold_scale| AVG   | MAX   |  |$call_scale| DROPS | TOTAL |\n";
    +echo "+-------------+-----------------------+-------+-------+  +-----------------------+-------+-------+\n";
    +
    +$i=0;
    +while ($i < $TOTintervals)
    +	{
    +	$char_counter=0;
    +	### BEGIN HOLD TIME TOTALS GRAPH ###
    +		$Ghour_count = $qrtCALLS[$i];
    +	if ($Ghour_count > 0) {$no_lines_yet=0;}
    +
    +	$Gavg_hold = $qrtQUEUEavg[$i];
    +	if ($Gavg_hold < 1) 
    +		{
    +		if ($i < 0)
    +			{
    +			$do_nothing=1;
    +			}
    +		else
    +			{
    +			$TOT_lines++;
    +			$qrtQUEUEavg[$i] =	sprintf("%5s", $qrtQUEUEavg[$i]);
    +			$qrtQUEUEmax[$i] =	sprintf("%5s", $qrtQUEUEmax[$i]);
    +			echo "|$HMdisplay[$i]|";
    +			$k=0;   while ($k <= 22) {echo " ";   $k++;}
    +			echo "| $qrtQUEUEavg[$i] | $qrtQUEUEmax[$i] |";
    +			}
    +		}
    +	else
    +		{
    +		$TOT_lines++;
    +		$no_lines_yet=0;
    +		$Xavg_hold = ($Gavg_hold * $hold_multiplier);
    +		$Yavg_hold = (19 - $Xavg_hold);
    +
    +		$qrtQUEUEavg[$i] =	sprintf("%5s", $qrtQUEUEavg[$i]);
    +		$qrtQUEUEmax[$i] =	sprintf("%5s", $qrtQUEUEmax[$i]);
    +
    +		echo "|$HMdisplay[$i]|";
    +		$k=0;   while ($k <= $Xavg_hold) {echo "*";   $k++;   $char_counter++;}
    +		if ($char_counter >= 22) {echo "H";   $char_counter++;}
    +		else {echo "*H";   $char_counter++;   $char_counter++;}
    +		$k=0;   while ($k <= $Yavg_hold) {echo " ";   $k++;   $char_counter++;}
    +			while ($char_counter <= 22) {echo " ";   $char_counter++;}
    +		echo "| $qrtQUEUEavg[$i] | $qrtQUEUEmax[$i] |";
    +		}
    +	### END HOLD TIME TOTALS GRAPH ###
    +
    +	$char_counter=0;
    + 	### BEGIN CALLS TOTALS GRAPH ###
    +	$Ghour_count = $qrtCALLS[$i];
    +	if ($Ghour_count < 1) 
    +		{
    +		if ($i < 0)
    +			{
    +			$do_nothing=1;
    +			}
    +		else
    +			{
    +			$qrtCALLS[$i] =	sprintf("%5s", $qrtCALLS[$i]);
    +			echo "  |";
    +			$k=0;   while ($k <= 22) {echo " ";   $k++;}
    +			echo "| $qrtCALLS[$i] |     0 |\n";
    +			}
    +		}
    +	else
    +		{
    +		$no_lines_yet=0;
    +		$Xhour_count = ($Ghour_count * $hour_multiplier);
    +		$Yhour_count = (19 - $Xhour_count);
    +
    +		$Gdrop_count = $qrtDROPS[$i];
    +		if ($Gdrop_count < 1) 
    +			{
    +			$qrtCALLS[$i] =	sprintf("%5s", $qrtCALLS[$i]);
    +
    +			echo "  |";
    +			$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
    +			if ($char_counter > 21) {echo "C";   $char_counter++;}
    +			else {echo "*C";   $char_counter++;   $char_counter++;}
    +			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
    +				while ($char_counter <= 22) {echo " ";   $char_counter++;}
    +			echo "|     0 | $qrtCALLS[$i] |\n";
    +			}
    +		else
    +			{
    +			$Xdrop_count = ($Gdrop_count * $hour_multiplier);
    +
    +		#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
    +
    +			$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
    +
    +			$qrtCALLS[$i] =	sprintf("%5s", $qrtCALLS[$i]);
    +			$qrtDROPS[$i] =	sprintf("%5s", $qrtDROPS[$i]);
    +
    +			echo "  |";
    +			$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
    +			echo "D";   $char_counter++;
    +			$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
    +			echo "C";   $char_counter++;
    +			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
    +				while ($char_counter <= 22) {echo " ";   $char_counter++;}
    +			echo "| $qrtDROPS[$i] | $qrtCALLS[$i] |\n";
    +			}
    +		}
    +	### END CALLS TOTALS GRAPH ###
    +
    +	$i++;
    +	}
    +
    +
    +if ($totQUEUEsec > 0)
    +	{$totQUEUEavgRAW = ($totCALLS / $totQUEUEsec);}
    +else
    +	{$totQUEUEavgRAW = 0;}
    +$totQUEUEavg =	sprintf("%5s", $totQUEUEavg); 
    +	while (strlen($totQUEUEavg)>5) {$totQUEUEavg = ereg_replace(".$",'',$totQUEUEavg);}
    +$totQUEUEmax =	sprintf("%5s", $totQUEUEmax);
    +	while (strlen($totQUEUEmax)>5) {$totQUEUEmax = ereg_replace(".$",'',$totQUEUEmax);}
    +$totDROPS =	sprintf("%5s", $totDROPS);
    +$totCALLS =	sprintf("%5s", $totCALLS);
    +
    +
    +echo "+-------------+-----------------------+-------+-------+  +-----------------------+-------+-------+\n";
    +echo "| TOTAL                               | $totQUEUEavg | $totQUEUEmax |  |                       | $totDROPS | $totCALLS |\n";
    +echo "+-------------------------------------+-------+-------+  +-----------------------+-------+-------+\n";
    +
    +
    +
    +
    +##############################
    +#########  CALL HOLD TIME BREAKDOWN IN SECONDS, 15-MINUTE INCREMENT
    +
    +
    +echo "\n";
    +echo "---------- CALL HOLD TIME BREAKDOWN IN SECONDS\n";
    +echo "+-------------+-------+-----------------------------------------+ +------+--------------------------------+\n";
    +echo "|    TIME     |       |  % OF CALLS GROUPED BY HOLD TIME (SEC)  | |   AVERAGE TIME BEFORE ANSWER (SEC)    |\n";
    +echo "| 15 MIN INT  | CALLS |    0   20   40   60   80  100  120 120+ | | AVG  |0   20   40   60   80  100  120 |\n";
    +echo "+-------------+-------+-----------------------------------------+ +------+--------------------------------+\n";
    +
    +$APhd__0=0; $APhd_20=0; $APhd_40=0; $APhd_60=0; $APhd_80=0; $APhd100=0; $APhd120=0; $APhd121=0;
    +$h=0;
    +while ($h < $TOTintervals)
    +	{
    +	$Aavg_hold[$h] = $qrtQUEUEavg[$h]; 
    +	if ($hd__0[$h] > 0) {$Phd__0[$h] = round( ( ($hd__0[$h] / $qrtCALLS[$h]) * 100) );}
    +		else {$Phd__0[$h]=0;}
    +	if ($hd_20[$h] > 0) {$Phd_20[$h] = round( ( ($hd_20[$h] / $qrtCALLS[$h]) * 100) );}
    +		else {$Phd_20[$h]=0;}
    +	if ($hd_40[$h] > 0) {$Phd_40[$h] = round( ( ($hd_40[$h] / $qrtCALLS[$h]) * 100) );}
    +		else {$Phd_40[$h]=0;}
    +	if ($hd_60[$h] > 0) {$Phd_60[$h] = round( ( ($hd_60[$h] / $qrtCALLS[$h]) * 100) );}
    +		else {$Phd_60[$h]=0;}
    +	if ($hd_80[$h] > 0) {$Phd_80[$h] = round( ( ($hd_80[$h] / $qrtCALLS[$h]) * 100) );}
    +		else {$Phd_80[$h]=0;}
    +	if ($hd100[$h] > 0) {$Phd100[$h] = round( ( ($hd100[$h] / $qrtCALLS[$h]) * 100) );}
    +		else {$Phd100[$h]=0;}
    +	if ($hd120[$h] > 0) {$Phd120[$h] = round( ( ($hd120[$h] / $qrtCALLS[$h]) * 100) );}
    +		else {$Phd120[$h]=0;}
    +	if ($hd121[$h] > 0) {$Phd121[$h] = round( ( ($hd121[$h] / $qrtCALLS[$h]) * 100) );}
    +		else {$Phd121[$h]=0;}
    +		while (strlen($qrtQUEUEavg[$h])>4) {$qrtQUEUEavg[$h] = ereg_replace(".$",'',$qrtQUEUEavg[$h]);}
    +	$hd__0[$h] =	sprintf("%4s", $hd__0[$h]);
    +	$hd_20[$h] =	sprintf("%4s", $hd_20[$h]);
    +	$hd_40[$h] =	sprintf("%4s", $hd_40[$h]);
    +	$hd_60[$h] =	sprintf("%4s", $hd_60[$h]);
    +	$hd_80[$h] =	sprintf("%4s", $hd_80[$h]);
    +	$hd100[$h] =	sprintf("%4s", $hd100[$h]);
    +	$hd120[$h] =	sprintf("%4s", $hd120[$h]);
    +	$hd121[$h] =	sprintf("%4s", $hd121[$h]);
    +	$Phd__0[$h] =	sprintf("%4s", $Phd__0[$h]);
    +	$Phd_20[$h] =	sprintf("%4s", $Phd_20[$h]);
    +	$Phd_40[$h] =	sprintf("%4s", $Phd_40[$h]);
    +	$Phd_60[$h] =	sprintf("%4s", $Phd_60[$h]);
    +	$Phd_80[$h] =	sprintf("%4s", $Phd_80[$h]);
    +	$Phd100[$h] =	sprintf("%4s", $Phd100[$h]);
    +	$Phd120[$h] =	sprintf("%4s", $Phd120[$h]);
    +	$Phd121[$h] =	sprintf("%4s", $Phd121[$h]);
    +
    +	$ALLcalls = ($ALLcalls + $qrtCALLS[$h]);
    +	$ALLhd__0 = ($ALLhd__0 + $hd__0[$h]);
    +	$ALLhd_20 = ($ALLhd_20 + $hd_20[$h]);
    +	$ALLhd_40 = ($ALLhd_40 + $hd_40[$h]);
    +	$ALLhd_60 = ($ALLhd_60 + $hd_60[$h]);
    +	$ALLhd_80 = ($ALLhd_80 + $hd_80[$h]);
    +	$ALLhd100 = ($ALLhd100 + $hd100[$h]);
    +	$ALLhd120 = ($ALLhd120 + $hd120[$h]);
    +	$ALLhd121 = ($ALLhd121 + $hd121[$h]);
    +
    +	if ( ($Aavg_hold[$h] < 1) or ($Aavg_hold[$h] > 119) )
    +		{
    +		if ($Aavg_hold[$h] < 1)		{$qrtQUEUEavg_scale[$h] = '                                ';}
    +		if ($Aavg_hold[$h] > 119)	{$qrtQUEUEavg_scale[$h] = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';}
    +		}
    +	else
    +		{
    +		$qrtQUEUEavg_val[$h] = ( (32 / 120) * $Aavg_hold[$h] );
    +		$k=0;
    +		$blank=0;
    +		while ($k < 32)
    +			{
    +			if ($k <= $qrtQUEUEavg_val[$h]) 
    +				{
    +				if ($k < 1) {$qrtQUEUEavg_scale[$h] .= '';}
    +				$qrtQUEUEavg_scale[$h] .= 'x';
    +				}
    +			else 
    +				{
    +				if ( ($k > 0) and ($blank < 1) ) {$qrtQUEUEavg_scale[$h] .= '';}
    +				$qrtQUEUEavg_scale[$h] .= ' ';
    +				$blank++;
    +				}
    +			$k++;
    +			if ( ($k > 31) and ($blank < 1) ) {$qrtQUEUEavg_scale[$h] .= '';}
    +			}
    +		}
    +
    +	$Aavg_hold[$h] = sprintf("%4s", $Aavg_hold[$h]);
    +	while (strlen($Aavg_hold[$h])>4) {$Aavg_hold[$h] = ereg_replace("^.",'',$Aavg_hold[$h]);}
    +
    +	echo "|$HMdisplay[$h]| $qrtCALLS[$h] | $Phd__0[$h] $Phd_20[$h] $Phd_40[$h] $Phd_60[$h] $Phd_80[$h] $Phd100[$h] $Phd120[$h] $Phd121[$h] | | $Aavg_hold[$h] |$qrtQUEUEavg_scale[$h]|\n";
    +	
    +	$h++;
    +	}
    +
    +if ($ALLhd__0 > 0) {$APhd__0 = round( ( ($ALLhd__0 / $ALLcalls) * 100) );}
    +if ($ALLhd_20 > 0) {$APhd_20 = round( ( ($ALLhd_20 / $ALLcalls) * 100) );}
    +if ($ALLhd_40 > 0) {$APhd_40 = round( ( ($ALLhd_40 / $ALLcalls) * 100) );}
    +if ($ALLhd_60 > 0) {$APhd_60 = round( ( ($ALLhd_60 / $ALLcalls) * 100) );}
    +if ($ALLhd_80 > 0) {$APhd_80 = round( ( ($ALLhd_80 / $ALLcalls) * 100) );}
    +if ($ALLhd100 > 0) {$APhd100 = round( ( ($ALLhd100 / $ALLcalls) * 100) );}
    +if ($ALLhd120 > 0) {$APhd120 = round( ( ($ALLhd120 / $ALLcalls) * 100) );}
    +if ($ALLhd121 > 0) {$APhd121 = round( ( ($ALLhd121 / $ALLcalls) * 100) );}
    +
    +$ALLcalls =	sprintf("%5s", $ALLcalls);
    +$APhd__0 =	sprintf("%4s", $APhd__0);
    +$APhd_20 =	sprintf("%4s", $APhd_20);
    +$APhd_40 =	sprintf("%4s", $APhd_40);
    +$APhd_60 =	sprintf("%4s", $APhd_60);
    +$APhd_80 =	sprintf("%4s", $APhd_80);
    +$APhd100 =	sprintf("%4s", $APhd100);
    +$APhd120 =	sprintf("%4s", $APhd120);
    +$APhd121 =	sprintf("%4s", $APhd121);
    +
    +	while (strlen($totQUEUEavg)>4) {$totQUEUEavg = ereg_replace(".$",'',$totQUEUEavg);}
    +
    +echo "+-------------+-------+-----------------------------------------+ +------+--------------------------------+\n";
    +echo "| TOTAL       | $ALLcalls | $APhd__0 $APhd_20 $APhd_40 $APhd_60 $APhd_80 $APhd100 $APhd120 $APhd121 | | $totQUEUEavg |\n";
    +echo "+-------------+-------+-----------------------------------------+ +------+\n";
    +
    +$ENDtime = date("U");
    +$RUNtime = ($ENDtime - $STARTtime);
    +echo "\nRun Time: $RUNtime seconds\n";
    +}
    +
    +
    +
    +?>
    +
    +
    + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_CLOSERstats.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_CLOSERstats.php new file mode 100644 index 00000000..4801c4ed --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_CLOSERstats.php @@ -0,0 +1,1508 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 60619-1714 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 60905-1326 - Added queue time stats +# 71008-1436 - Added shift to be defined in dbconnect.php +# 71025-0021 - Added status breakdown +# 71218-1155 - Added end_date for multi-day reports +# 80430-1920 - Added Customer hangup cause stats +# 80709-0331 - Added time stats to call statuses +# 80722-2149 - Added Status Category stats +# 81015-0705 - Added IVR calls count +# 81024-0037 - Added multi-select inbound-groups +# 81105-2118 - Added Answered calls 15-minute breakdown +# 81109-2340 - Added custom indicators section +# 90116-1040 - Rewrite of the 15-minute sections to speed it up and allow multi-day calculations +# 90310-2037 - Admin header +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$MT[0]='0'; +if (strlen($shift)<2) {$shift='ALL';} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$stmt = "SELECT local_gmt FROM servers where active='Y' limit 1;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$gmt_conf_ct = mysql_num_rows($rslt); +if ($gmt_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $local_gmt = $row[0]; + $epoch_offset = ($local_gmt * 3600); + } + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} + +$stmt="select group_id from vicidial_inbound_groups;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; + $LISTgroups[$i]='---NONE---'; + $i++; + $groups_to_print++; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTgroups[$i] =$row[0]; + $i++; + } + +$i=0; +$group_string='|'; +$group_ct = count($group); +while($i < $group_ct) + { + $group_string .= "$group[$i]|"; + $group_SQL .= "'$group[$i]',"; + $groupQS .= "&group[]=$group[$i]"; + $i++; + } +if ( (ereg("--NONE--",$group_string) ) or ($group_ct < 1) ) + { + $group_SQL = "''"; +# $group_SQL = "group_id IN('')"; + } +else + { + $group_SQL = eregi_replace(",$",'',$group_SQL); +# $group_SQL = "group_id IN($group_SQL)"; + } + + +$stmt="select vsc_id,vsc_name from vicidial_status_categories;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$statcats_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $statcats_to_print) + { + $row=mysql_fetch_row($rslt); + $vsc_id[$i] = $row[0]; + $vsc_name[$i] = $row[1]; + $vsc_count[$i] = 0; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: VDAD Closer Stats\n"; + +$short_header=1; + +require("admin_header.php"); + +echo "
    "; + +if ($DB > 0) + { + echo "
    \n"; + echo "$group_ct|$group_string|$group_SQL\n"; + echo "
    \n"; + echo "$shift|$query_date|$end_date\n"; + echo "
    \n"; + } + +echo "
    \n"; +echo "\n"; +echo "
    \n"; +echo "\n"; +echo "Date Range:
    \n"; +echo "\n"; +echo " to \n"; +echo "
    \n"; +echo "Inbound Groups: \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           "; +echo "MODIFY | "; +echo "REPORTS | "; +echo "IVR REPORT \n"; +echo "\n"; + +echo "
    \n"; + +#echo "\n"; +echo "Shift: \n"; +echo "   \n"; +echo "
    \n"; +echo "
    \n\n"; + +echo "
    \n\n";
    +
    +
    +if ($groups_to_print < 1)
    +{
    +echo "\n\n";
    +echo "PLEASE SELECT AN IN-GROUP AND DATE RANGE ABOVE AND CLICK SUBMIT\n";
    +}
    +
    +else
    +{
    +if ($shift == 'AM') 
    +	{
    +	$time_BEGIN=$AM_shift_BEGIN;
    +	$time_END=$AM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
    +	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
    +	}
    +if ($shift == 'PM') 
    +	{
    +	$time_BEGIN=$PM_shift_BEGIN;
    +	$time_END=$PM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
    +	}
    +if ($shift == 'ALL') 
    +	{
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +	}
    +$query_date_BEGIN = "$query_date $time_BEGIN";   
    +$query_date_END = "$end_date $time_END";
    +
    +
    +
    +echo "VICIDIAL: Auto-dial Closer Stats: $group_string          $NOW_TIME\n";
    +
    +
    +
    +
    +
    +
    +if ($group_ct > 1)
    +	{
    +	echo "\n";
    +	echo "---------- MULTI-GROUP BREAKDOWN:\n";
    +	echo "+----------------------+---------+---------+---------+---------+\n";
    +	echo "| IN-GROUP             | CALLS   | DROPS   | DROP %  | IVR     |\n";
    +	echo "+----------------------+---------+---------+---------+---------+\n";
    +
    +	$i=0;
    +	while($i < $group_ct)
    +		{
    +		$stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='$group[$i]';";
    +		$rslt=mysql_query($stmt, $link);
    +		if ($DB) {echo "$stmt\n";}
    +		$row=mysql_fetch_row($rslt);
    +
    +		$stmt="select count(*) from live_inbound_log where start_time >= '$query_date_BEGIN' and start_time <= '$query_date_END' and comment_a='$group[$i]' and comment_b='START';";
    +		$rslt=mysql_query($stmt, $link);
    +		if ($DB) {echo "$stmt\n";}
    +		$rowx=mysql_fetch_row($rslt);
    +
    +		$stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='$group[$i]' and status IN('DROP','XDROP') and (length_in_sec <= 49999 or length_in_sec is null);";
    +		$rslt=mysql_query($stmt, $link);
    +		if ($DB) {echo "$stmt\n";}
    +		$rowy=mysql_fetch_row($rslt);
    +
    +		$groupDISPLAY =	sprintf("%20s", $group[$i]);
    +		$gTOTALcalls =	sprintf("%7s", $row[0]);
    +		$gIVRcalls =	sprintf("%7s", $rowx[0]);
    +		$gDROPcalls =	sprintf("%7s", $rowy[0]);
    +		if ( ($gDROPcalls < 1) or ($gTOTALcalls < 1) )
    +			{$gDROPpercent = '0';}
    +		else
    +			{
    +			$gDROPpercent = (($gDROPcalls / $gTOTALcalls) * 100);
    +			$gDROPpercent = round($gDROPpercent, 2);
    +			}
    +		$gDROPpercent =	sprintf("%6s", $gDROPpercent);
    +
    +		echo "| $groupDISPLAY | $gTOTALcalls | $gDROPcalls | $gDROPpercent% | $gIVRcalls |\n";
    +		$i++;
    +		}
    +
    +	echo "+----------------------+---------+---------+---------+---------+\n";
    +
    +	}
    +
    +
    +echo "\n";
    +echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
    +echo "---------- TOTALS\n";
    +
    +$stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id IN($group_SQL);";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +
    +$stmt="select count(*),sum(queue_seconds) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id IN($group_SQL) and status NOT IN('DROP','XDROP','HXFER','QVMAIL','HOLDTO','LIVE','QUEUE');";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$rowy=mysql_fetch_row($rslt);
    +
    +$stmt="select count(*) from live_inbound_log where start_time >= '$query_date_BEGIN' and start_time <= '$query_date_END' and comment_a IN($group_SQL) and comment_b='START';";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$rowx=mysql_fetch_row($rslt);
    +
    +$TOTALcalls =	sprintf("%10s", $row[0]);
    +$IVRcalls =	sprintf("%10s", $rowx[0]);
    +$TOTALsec =		$row[1];
    +if ( ($row[0] < 1) or ($TOTALsec < 1) )
    +	{$average_call_seconds = '         0';}
    +else
    +	{
    +	$average_call_seconds = ($TOTALsec / $row[0]);
    +	$average_call_seconds = round($average_call_seconds, 0);
    +	$average_call_seconds =	sprintf("%10s", $average_call_seconds);
    +	}
    +$ANSWEREDcalls  =	sprintf("%10s", $rowy[0]);
    +if ( ($ANSWEREDcalls < 1) or ($TOTALcalls < 1) )
    +	{$ANSWEREDpercent = '0';}
    +else
    +	{
    +	$ANSWEREDpercent = (($ANSWEREDcalls / $TOTALcalls) * 100);
    +	$ANSWEREDpercent = round($ANSWEREDpercent, 0);
    +	}
    +if ( ($rowy[0] < 1) or ($ANSWEREDcalls < 1) )
    +	{$average_answer_seconds = '         0';}
    +else
    +	{
    +	$average_answer_seconds = ($rowy[1] / $rowy[0]);
    +	$average_answer_seconds = round($average_answer_seconds, 2);
    +	$average_answer_seconds =	sprintf("%10s", $average_answer_seconds);
    +	}
    +
    +
    +echo "Total calls taken in to this In-Group:        $TOTALcalls\n";
    +echo "Average Call Length for all Calls:            $average_call_seconds seconds\n";
    +echo "Answered Calls:                               $ANSWEREDcalls  $ANSWEREDpercent%\n";
    +echo "Average queue time for Answered Calls:        $average_answer_seconds seconds\n";
    +echo "Calls taken into the IVR for this In-Group:   $IVRcalls\n";
    +
    +
    +echo "\n";
    +echo "---------- DROPS\n";
    +
    +$stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id IN($group_SQL) and status IN('DROP','XDROP') and (length_in_sec <= 49999 or length_in_sec is null);";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +
    +$DROPcalls =	sprintf("%10s", $row[0]);
    +if ( ($DROPcalls < 1) or ($TOTALcalls < 1) )
    +	{$DROPpercent = '0';}
    +else
    +	{
    +	$DROPpercent = (($DROPcalls / $TOTALcalls) * 100);
    +	$DROPpercent = round($DROPpercent, 0);
    +	}
    +
    +if ( ($row[0] < 1) or ($row[1] < 1) )
    +	{
    +	$average_hold_seconds = '         0';
    +	}
    +else
    +	{
    +	$average_hold_seconds = ($row[1] / $row[0]);
    +	$average_hold_seconds = round($average_hold_seconds, 0);
    +	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
    +	}
    +if ( ($ANSWEREDcalls < 1) or ($DROPcalls < 1) )
    +	{$DROP_ANSWEREDpercent = '0';}
    +else
    +	{
    +	$DROP_ANSWEREDpercent = (($DROPcalls / $ANSWEREDcalls) * 100);
    +	$DROP_ANSWEREDpercent = round($DROP_ANSWEREDpercent, 0);
    +	}
    +
    +echo "Total DROP Calls:                             $DROPcalls  $DROPpercent%               drop/answered: $DROP_ANSWEREDpercent%\n";
    +echo "Average hold time for DROP Calls:             $average_hold_seconds seconds\n";
    +
    +
    +
    +
    +if (strlen($group_SQL)>3)
    +	{
    +	$stmt = "SELECT answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two from vicidial_inbound_groups where group_id IN($group_SQL) order by answer_sec_pct_rt_stat_one desc limit 1;";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$Sanswer_sec_pct_rt_stat_one = $row[0];
    +	$Sanswer_sec_pct_rt_stat_two = $row[1];
    +
    +	$stmt = "SELECT count(*) from vicidial_closer_log where campaign_id IN($group_SQL) and call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and queue_seconds <= $Sanswer_sec_pct_rt_stat_one;";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$answer_sec_pct_rt_stat_one = $row[0];
    +
    +	$stmt = "SELECT count(*) from vicidial_closer_log where campaign_id IN($group_SQL) and call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and queue_seconds <= $Sanswer_sec_pct_rt_stat_two;";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$answer_sec_pct_rt_stat_two = $row[0];
    +
    +	if ( ($ANSWEREDcalls > 0) and ($answer_sec_pct_rt_stat_one > 0) and ($answer_sec_pct_rt_stat_two > 0) )
    +		{
    +		$PCTanswer_sec_pct_rt_stat_one = (($answer_sec_pct_rt_stat_one / $ANSWEREDcalls) * 100);
    +		$PCTanswer_sec_pct_rt_stat_one = round($PCTanswer_sec_pct_rt_stat_one, 0);
    +		#$PCTanswer_sec_pct_rt_stat_one = sprintf("%10s", $PCTanswer_sec_pct_rt_stat_one);
    +		$PCTanswer_sec_pct_rt_stat_two = (($answer_sec_pct_rt_stat_two / $ANSWEREDcalls) * 100);
    +		$PCTanswer_sec_pct_rt_stat_two = round($PCTanswer_sec_pct_rt_stat_two, 0);
    +		#$PCTanswer_sec_pct_rt_stat_two = sprintf("%10s", $PCTanswer_sec_pct_rt_stat_two);
    +		}
    +	}
    +echo "\n";
    +echo "---------- CUSTOM INDICATORS\n";
    +echo "GDE (Answered/Total calls taken in to this In-Group):  $ANSWEREDpercent%\n";
    +echo "ACR (Dropped/Answered):                                $DROP_ANSWEREDpercent%\n";
    +echo "TMR1 (Answered within $Sanswer_sec_pct_rt_stat_one seconds/Answered):            $PCTanswer_sec_pct_rt_stat_one%\n";
    +echo "TMR2 (Answered within $Sanswer_sec_pct_rt_stat_two seconds/Answered):            $PCTanswer_sec_pct_rt_stat_two%\n";
    +
    +
    +# GET LIST OF ALL STATUSES and create SQL from human_answered statuses
    +$q=0;
    +$stmt = "SELECT status,status_name,human_answered,category from vicidial_statuses;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$statuses_to_print = mysql_num_rows($rslt);
    +$p=0;
    +while ($p < $statuses_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$status[$q] =			$row[0];
    +	$status_name[$q] =		$row[1];
    +	$human_answered[$q] =	$row[2];
    +	$category[$q] =			$row[3];
    +	$statname_list["$status[$q]"] = "$status_name[$q]";
    +	$statcat_list["$status[$q]"] = "$category[$q]";
    +	$q++;
    +	$p++;
    +	}
    +$stmt = "SELECT status,status_name,human_answered,category from vicidial_campaign_statuses;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$statuses_to_print = mysql_num_rows($rslt);
    +$p=0;
    +while ($p < $statuses_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$status[$q] =			$row[0];
    +	$status_name[$q] =		$row[1];
    +	$human_answered[$q] =	$row[2];
    +	$category[$q] =			$row[3];
    +	$statname_list["$status[$q]"] = "$status_name[$q]";
    +	$statcat_list["$status[$q]"] = "$category[$q]";
    +	$q++;
    +	$p++;
    +	}
    +
    +##############################
    +#########  CALL QUEUE STATS
    +echo "\n";
    +echo "---------- QUEUE STATS\n";
    +
    +$stmt="select count(*),sum(queue_seconds) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id IN($group_SQL) and (queue_seconds > 0);";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +
    +$QUEUEcalls =	sprintf("%10s", $row[0]);
    +if ( ($QUEUEcalls < 1) or ($TOTALcalls < 1) )
    +	{$QUEUEpercent = '0';}
    +else
    +	{
    +	$QUEUEpercent = (($QUEUEcalls / $TOTALcalls) * 100);
    +	$QUEUEpercent = round($QUEUEpercent, 0);
    +	}
    +
    +if ( ($row[0] < 1) or ($row[1] < 1) )
    +	{$average_queue_seconds = '         0';}
    +else
    +	{
    +	$average_queue_seconds = ($row[1] / $row[0]);
    +	$average_queue_seconds = round($average_queue_seconds, 2);
    +	$average_queue_seconds = sprintf("%10.2f", $average_queue_seconds);
    +	}
    +
    +if ( ($TOTALcalls < 1) or ($row[1] < 1) )
    +	{$average_total_queue_seconds = '         0';}
    +else
    +	{
    +	$average_total_queue_seconds = ($row[1] / $TOTALcalls);
    +	$average_total_queue_seconds = round($average_total_queue_seconds, 2);
    +	$average_total_queue_seconds = sprintf("%10.2f", $average_total_queue_seconds);
    +	}
    +
    +echo "Total Calls That entered Queue:               $QUEUEcalls  $QUEUEpercent%\n";
    +echo "Average QUEUE Length for queue calls:         $average_queue_seconds seconds\n";
    +echo "Average QUEUE Length across all calls:        $average_total_queue_seconds seconds\n";
    +
    +
    +
    +##############################
    +#########  CALL HOLD TIME BREAKDOWN IN SECONDS
    +
    +$TOTALcalls = 0;
    +
    +echo "\n";
    +echo "---------- CALL HOLD TIME BREAKDOWN IN SECONDS\n";
    +echo "+-------------------------------------------------------------------------------------------+------------+\n";
    +echo "|     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
    +echo "+-------------------------------------------------------------------------------------------+------------+\n";
    +
    +$stmt="select count(*),queue_seconds from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) group by queue_seconds;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$reasons_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $reasons_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +
    +	$TOTALcalls = ($TOTALcalls + $row[0]);
    +
    +	if ($row[1] == 0) {$hd_0 = ($hd_0 + $row[0]);}
    +	if ( ($row[1] > 0) and ($row[1] <= 5) ) {$hd_5 = ($hd_5 + $row[0]);}
    +	if ( ($row[1] > 5) and ($row[1] <= 10) ) {$hd10 = ($hd10 + $row[0]);}
    +	if ( ($row[1] > 10) and ($row[1] <= 15) ) {$hd15 = ($hd15 + $row[0]);}
    +	if ( ($row[1] > 15) and ($row[1] <= 20) ) {$hd20 = ($hd20 + $row[0]);}
    +	if ( ($row[1] > 20) and ($row[1] <= 25) ) {$hd25 = ($hd25 + $row[0]);}
    +	if ( ($row[1] > 25) and ($row[1] <= 30) ) {$hd30 = ($hd30 + $row[0]);}
    +	if ( ($row[1] > 30) and ($row[1] <= 35) ) {$hd35 = ($hd35 + $row[0]);}
    +	if ( ($row[1] > 35) and ($row[1] <= 40) ) {$hd40 = ($hd40 + $row[0]);}
    +	if ( ($row[1] > 40) and ($row[1] <= 45) ) {$hd45 = ($hd45 + $row[0]);}
    +	if ( ($row[1] > 45) and ($row[1] <= 50) ) {$hd50 = ($hd50 + $row[0]);}
    +	if ( ($row[1] > 50) and ($row[1] <= 55) ) {$hd55 = ($hd55 + $row[0]);}
    +	if ( ($row[1] > 55) and ($row[1] <= 60) ) {$hd60 = ($hd60 + $row[0]);}
    +	if ( ($row[1] > 60) and ($row[1] <= 90) ) {$hd90 = ($hd90 + $row[0]);}
    +	if ($row[1] > 90) {$hd99 = ($hd99 + $row[0]);}
    +	$i++;
    +	}
    +
    +$hd_0 =	sprintf("%5s", $hd_0);
    +$hd_5 =	sprintf("%5s", $hd_5);
    +$hd10 =	sprintf("%5s", $hd10);
    +$hd15 =	sprintf("%5s", $hd15);
    +$hd20 =	sprintf("%5s", $hd20);
    +$hd25 =	sprintf("%5s", $hd25);
    +$hd30 =	sprintf("%5s", $hd30);
    +$hd35 =	sprintf("%5s", $hd35);
    +$hd40 =	sprintf("%5s", $hd40);
    +$hd45 =	sprintf("%5s", $hd45);
    +$hd50 =	sprintf("%5s", $hd50);
    +$hd55 =	sprintf("%5s", $hd55);
    +$hd60 =	sprintf("%5s", $hd60);
    +$hd90 =	sprintf("%5s", $hd90);
    +$hd99 =	sprintf("%5s", $hd99);
    +
    +$TOTALcalls =		sprintf("%10s", $TOTALcalls);
    +
    +echo "| $hd_0 $hd_5 $hd10 $hd15 $hd20 $hd25 $hd30 $hd35 $hd40 $hd45 $hd50 $hd55 $hd60 $hd90 $hd99 | $TOTALcalls |\n";
    +echo "+-------------------------------------------------------------------------------------------+------------+\n";
    +
    +
    +
    +##############################
    +#########  CALL DROP TIME BREAKDOWN IN SECONDS
    +
    +$BDdropCALLS = 0;
    +
    +echo "\n";
    +echo "---------- CALL DROP TIME BREAKDOWN IN SECONDS\n";
    +echo "+-------------------------------------------------------------------------------------------+------------+\n";
    +echo "|     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
    +echo "+-------------------------------------------------------------------------------------------+------------+\n";
    +
    +$stmt="select count(*),queue_seconds from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) and status IN('DROP','XDROP') group by queue_seconds;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$reasons_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $reasons_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +
    +	$BDdropCALLS = ($BDdropCALLS + $row[0]);
    +
    +	if ($row[1] == 0) {$dd_0 = ($dd_0 + $row[0]);}
    +	if ( ($row[1] > 0) and ($row[1] <= 5) ) {$dd_5 = ($dd_5 + $row[0]);}
    +	if ( ($row[1] > 5) and ($row[1] <= 10) ) {$dd10 = ($dd10 + $row[0]);}
    +	if ( ($row[1] > 10) and ($row[1] <= 15) ) {$dd15 = ($dd15 + $row[0]);}
    +	if ( ($row[1] > 15) and ($row[1] <= 20) ) {$dd20 = ($dd20 + $row[0]);}
    +	if ( ($row[1] > 20) and ($row[1] <= 25) ) {$dd25 = ($dd25 + $row[0]);}
    +	if ( ($row[1] > 25) and ($row[1] <= 30) ) {$dd30 = ($dd30 + $row[0]);}
    +	if ( ($row[1] > 30) and ($row[1] <= 35) ) {$dd35 = ($dd35 + $row[0]);}
    +	if ( ($row[1] > 35) and ($row[1] <= 40) ) {$dd40 = ($dd40 + $row[0]);}
    +	if ( ($row[1] > 40) and ($row[1] <= 45) ) {$dd45 = ($dd45 + $row[0]);}
    +	if ( ($row[1] > 45) and ($row[1] <= 50) ) {$dd50 = ($dd50 + $row[0]);}
    +	if ( ($row[1] > 50) and ($row[1] <= 55) ) {$dd55 = ($dd55 + $row[0]);}
    +	if ( ($row[1] > 55) and ($row[1] <= 60) ) {$dd60 = ($dd60 + $row[0]);}
    +	if ( ($row[1] > 60) and ($row[1] <= 90) ) {$dd90 = ($dd90 + $row[0]);}
    +	if ($row[1] > 90) {$dd99 = ($dd99 + $row[0]);}
    +	$i++;
    +	}
    +
    +$dd_0 =	sprintf("%5s", $dd_0);
    +$dd_5 =	sprintf("%5s", $dd_5);
    +$dd10 =	sprintf("%5s", $dd10);
    +$dd15 =	sprintf("%5s", $dd15);
    +$dd20 =	sprintf("%5s", $dd20);
    +$dd25 =	sprintf("%5s", $dd25);
    +$dd30 =	sprintf("%5s", $dd30);
    +$dd35 =	sprintf("%5s", $dd35);
    +$dd40 =	sprintf("%5s", $dd40);
    +$dd45 =	sprintf("%5s", $dd45);
    +$dd50 =	sprintf("%5s", $dd50);
    +$dd55 =	sprintf("%5s", $dd55);
    +$dd60 =	sprintf("%5s", $dd60);
    +$dd90 =	sprintf("%5s", $dd90);
    +$dd99 =	sprintf("%5s", $dd99);
    +
    +$BDdropCALLS =		sprintf("%10s", $BDdropCALLS);
    +
    +echo "| $dd_0 $dd_5 $dd10 $dd15 $dd20 $dd25 $dd30 $dd35 $dd40 $dd45 $dd50 $dd55 $dd60 $dd90 $dd99 | $BDdropCALLS |\n";
    +echo "+-------------------------------------------------------------------------------------------+------------+\n";
    +
    +
    +
    +
    +##############################
    +#########  CALL ANSWERED TIME AND PERCENT BREAKDOWN IN SECONDS
    +
    +$BDansweredCALLS = 0;
    +
    +echo "\n";
    +echo "           CALL ANSWERED TIME AND PERCENT BREAKDOWN IN SECONDS\n";
    +echo "          +-------------------------------------------------------------------------------------------+------------+\n";
    +echo "          |     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
    +echo "----------+-------------------------------------------------------------------------------------------+------------+\n";
    +
    +$stmt="select count(*),queue_seconds from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) and status NOT IN('DROP','XDROP','HXFER','QVMAIL','HOLDTO','LIVE','QUEUE') group by queue_seconds;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$reasons_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $reasons_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +
    +	$BDansweredCALLS = ($BDansweredCALLS + $row[0]);
    +	
    +	### Get interval totals
    +	if ($row[1] == 0) {$ad_0 = ($ad_0 + $row[0]);}
    +	if ( ($row[1] > 0) and ($row[1] <= 5) ) {$ad_5 = ($ad_5 + $row[0]);}
    +	if ( ($row[1] > 5) and ($row[1] <= 10) ) {$ad10 = ($ad10 + $row[0]);}
    +	if ( ($row[1] > 10) and ($row[1] <= 15) ) {$ad15 = ($ad15 + $row[0]);}
    +	if ( ($row[1] > 15) and ($row[1] <= 20) ) {$ad20 = ($ad20 + $row[0]);}
    +	if ( ($row[1] > 20) and ($row[1] <= 25) ) {$ad25 = ($ad25 + $row[0]);}
    +	if ( ($row[1] > 25) and ($row[1] <= 30) ) {$ad30 = ($ad30 + $row[0]);}
    +	if ( ($row[1] > 30) and ($row[1] <= 35) ) {$ad35 = ($ad35 + $row[0]);}
    +	if ( ($row[1] > 35) and ($row[1] <= 40) ) {$ad40 = ($ad40 + $row[0]);}
    +	if ( ($row[1] > 40) and ($row[1] <= 45) ) {$ad45 = ($ad45 + $row[0]);}
    +	if ( ($row[1] > 45) and ($row[1] <= 50) ) {$ad50 = ($ad50 + $row[0]);}
    +	if ( ($row[1] > 50) and ($row[1] <= 55) ) {$ad55 = ($ad55 + $row[0]);}
    +	if ( ($row[1] > 55) and ($row[1] <= 60) ) {$ad60 = ($ad60 + $row[0]);}
    +	if ( ($row[1] > 60) and ($row[1] <= 90) ) {$ad90 = ($ad90 + $row[0]);}
    +	if ($row[1] > 90) {$ad99 = ($ad99 + $row[0]);}
    +	$i++;
    +	}
    +
    +### Calculate cumulative totals
    +$Cad_0 =$ad_0;
    +$Cad_5 =($Cad_0 + $ad_5);
    +$Cad10 =($Cad_5 + $ad10);
    +$Cad15 =($Cad10 + $ad15);
    +$Cad20 =($Cad15 + $ad20);
    +$Cad25 =($Cad20 + $ad25);
    +$Cad30 =($Cad25 + $ad30);
    +$Cad35 =($Cad30 + $ad35);
    +$Cad40 =($Cad35 + $ad40);
    +$Cad45 =($Cad40 + $ad45);
    +$Cad50 =($Cad45 + $ad50);
    +$Cad55 =($Cad50 + $ad55);
    +$Cad60 =($Cad55 + $ad60);
    +$Cad90 =($Cad60 + $ad90);
    +$Cad99 =($Cad90 + $ad99);
    +
    +### Calculate interval percentages
    +$pad_0=0; $pad_5=0; $pad10=0; $pad15=0; $pad20=0; $pad25=0; $pad30=0; $pad35=0; $pad40=0; $pad45=0; $pad50=0; $pad55=0; $pad60=0; $pad90=0; $pad99=0; 
    +$pCad_0=0; $pCad_5=0; $pCad10=0; $pCad15=0; $pCad20=0; $pCad25=0; $pCad30=0; $pCad35=0; $pCad40=0; $pCad45=0; $pCad50=0; $pCad55=0; $pCad60=0; $pCad90=0; $pCad99=0; 
    +if ( ($BDansweredCALLS > 0) and ($TOTALcalls > 0) )
    +	{
    +	if ($ad_0 > 0) {$pad_0 = (($ad_0 / $TOTALcalls) * 100);	$pad_0 = round($pad_0, 0);}
    +	if ($ad_5 > 0) {$pad_5 = (($ad_5 / $TOTALcalls) * 100);	$pad_5 = round($pad_5, 0);}
    +	if ($ad10 > 0) {$pad10 = (($ad10 / $TOTALcalls) * 100);	$pad10 = round($pad10, 0);}
    +	if ($ad15 > 0) {$pad15 = (($ad15 / $TOTALcalls) * 100);	$pad15 = round($pad15, 0);}
    +	if ($ad20 > 0) {$pad20 = (($ad20 / $TOTALcalls) * 100);	$pad20 = round($pad20, 0);}
    +	if ($ad25 > 0) {$pad25 = (($ad25 / $TOTALcalls) * 100);	$pad25 = round($pad25, 0);}
    +	if ($ad30 > 0) {$pad30 = (($ad30 / $TOTALcalls) * 100);	$pad30 = round($pad30, 0);}
    +	if ($ad35 > 0) {$pad35 = (($ad35 / $TOTALcalls) * 100);	$pad35 = round($pad35, 0);}
    +	if ($ad40 > 0) {$pad40 = (($ad40 / $TOTALcalls) * 100);	$pad40 = round($pad40, 0);}
    +	if ($ad45 > 0) {$pad45 = (($ad45 / $TOTALcalls) * 100);	$pad45 = round($pad45, 0);}
    +	if ($ad50 > 0) {$pad50 = (($ad50 / $TOTALcalls) * 100);	$pad50 = round($pad50, 0);}
    +	if ($ad55 > 0) {$pad55 = (($ad55 / $TOTALcalls) * 100);	$pad55 = round($pad55, 0);}
    +	if ($ad60 > 0) {$pad60 = (($ad60 / $TOTALcalls) * 100);	$pad60 = round($pad60, 0);}
    +	if ($ad90 > 0) {$pad90 = (($ad90 / $TOTALcalls) * 100);	$pad90 = round($pad90, 0);}
    +	if ($ad99 > 0) {$pad99 = (($ad99 / $TOTALcalls) * 100);	$pad99 = round($pad99, 0);}
    +
    +	if ($Cad_0 > 0) {$pCad_0 = (($Cad_0 / $TOTALcalls) * 100);	$pCad_0 = round($pCad_0, 0);}
    +	if ($Cad_5 > 0) {$pCad_5 = (($Cad_5 / $TOTALcalls) * 100);	$pCad_5 = round($pCad_5, 0);}
    +	if ($Cad10 > 0) {$pCad10 = (($Cad10 / $TOTALcalls) * 100);	$pCad10 = round($pCad10, 0);}
    +	if ($Cad15 > 0) {$pCad15 = (($Cad15 / $TOTALcalls) * 100);	$pCad15 = round($pCad15, 0);}
    +	if ($Cad20 > 0) {$pCad20 = (($Cad20 / $TOTALcalls) * 100);	$pCad20 = round($pCad20, 0);}
    +	if ($Cad25 > 0) {$pCad25 = (($Cad25 / $TOTALcalls) * 100);	$pCad25 = round($pCad25, 0);}
    +	if ($Cad30 > 0) {$pCad30 = (($Cad30 / $TOTALcalls) * 100);	$pCad30 = round($pCad30, 0);}
    +	if ($Cad35 > 0) {$pCad35 = (($Cad35 / $TOTALcalls) * 100);	$pCad35 = round($pCad35, 0);}
    +	if ($Cad40 > 0) {$pCad40 = (($Cad40 / $TOTALcalls) * 100);	$pCad40 = round($pCad40, 0);}
    +	if ($Cad45 > 0) {$pCad45 = (($Cad45 / $TOTALcalls) * 100);	$pCad45 = round($pCad45, 0);}
    +	if ($Cad50 > 0) {$pCad50 = (($Cad50 / $TOTALcalls) * 100);	$pCad50 = round($pCad50, 0);}
    +	if ($Cad55 > 0) {$pCad55 = (($Cad55 / $TOTALcalls) * 100);	$pCad55 = round($pCad55, 0);}
    +	if ($Cad60 > 0) {$pCad60 = (($Cad60 / $TOTALcalls) * 100);	$pCad60 = round($pCad60, 0);}
    +	if ($Cad90 > 0) {$pCad90 = (($Cad90 / $TOTALcalls) * 100);	$pCad90 = round($pCad90, 0);}
    +	if ($Cad99 > 0) {$pCad99 = (($Cad99 / $TOTALcalls) * 100);	$pCad99 = round($pCad99, 0);}
    +
    +	if ($Cad_0 > 0) {$ApCad_0 = (($Cad_0 / $BDansweredCALLS) * 100);	$ApCad_0 = round($ApCad_0, 0);}
    +	if ($Cad_5 > 0) {$ApCad_5 = (($Cad_5 / $BDansweredCALLS) * 100);	$ApCad_5 = round($ApCad_5, 0);}
    +	if ($Cad10 > 0) {$ApCad10 = (($Cad10 / $BDansweredCALLS) * 100);	$ApCad10 = round($ApCad10, 0);}
    +	if ($Cad15 > 0) {$ApCad15 = (($Cad15 / $BDansweredCALLS) * 100);	$ApCad15 = round($ApCad15, 0);}
    +	if ($Cad20 > 0) {$ApCad20 = (($Cad20 / $BDansweredCALLS) * 100);	$ApCad20 = round($ApCad20, 0);}
    +	if ($Cad25 > 0) {$ApCad25 = (($Cad25 / $BDansweredCALLS) * 100);	$ApCad25 = round($ApCad25, 0);}
    +	if ($Cad30 > 0) {$ApCad30 = (($Cad30 / $BDansweredCALLS) * 100);	$ApCad30 = round($ApCad30, 0);}
    +	if ($Cad35 > 0) {$ApCad35 = (($Cad35 / $BDansweredCALLS) * 100);	$ApCad35 = round($ApCad35, 0);}
    +	if ($Cad40 > 0) {$ApCad40 = (($Cad40 / $BDansweredCALLS) * 100);	$ApCad40 = round($ApCad40, 0);}
    +	if ($Cad45 > 0) {$ApCad45 = (($Cad45 / $BDansweredCALLS) * 100);	$ApCad45 = round($ApCad45, 0);}
    +	if ($Cad50 > 0) {$ApCad50 = (($Cad50 / $BDansweredCALLS) * 100);	$ApCad50 = round($ApCad50, 0);}
    +	if ($Cad55 > 0) {$ApCad55 = (($Cad55 / $BDansweredCALLS) * 100);	$ApCad55 = round($ApCad55, 0);}
    +	if ($Cad60 > 0) {$ApCad60 = (($Cad60 / $BDansweredCALLS) * 100);	$ApCad60 = round($ApCad60, 0);}
    +	if ($Cad90 > 0) {$ApCad90 = (($Cad90 / $BDansweredCALLS) * 100);	$ApCad90 = round($ApCad90, 0);}
    +	if ($Cad99 > 0) {$ApCad99 = (($Cad99 / $BDansweredCALLS) * 100);	$ApCad99 = round($ApCad99, 0);}
    +	}
    +
    +### Format variables
    +$ad_0 = sprintf("%5s", $ad_0);
    +$ad_5 = sprintf("%5s", $ad_5);
    +$ad10 = sprintf("%5s", $ad10);
    +$ad15 = sprintf("%5s", $ad15);
    +$ad20 = sprintf("%5s", $ad20);
    +$ad25 = sprintf("%5s", $ad25);
    +$ad30 = sprintf("%5s", $ad30);
    +$ad35 = sprintf("%5s", $ad35);
    +$ad40 = sprintf("%5s", $ad40);
    +$ad45 = sprintf("%5s", $ad45);
    +$ad50 = sprintf("%5s", $ad50);
    +$ad55 = sprintf("%5s", $ad55);
    +$ad60 = sprintf("%5s", $ad60);
    +$ad90 = sprintf("%5s", $ad90);
    +$ad99 = sprintf("%5s", $ad99);
    +$Cad_0 = sprintf("%5s", $Cad_0);
    +$Cad_5 = sprintf("%5s", $Cad_5);
    +$Cad10 = sprintf("%5s", $Cad10);
    +$Cad15 = sprintf("%5s", $Cad15);
    +$Cad20 = sprintf("%5s", $Cad20);
    +$Cad25 = sprintf("%5s", $Cad25);
    +$Cad30 = sprintf("%5s", $Cad30);
    +$Cad35 = sprintf("%5s", $Cad35);
    +$Cad40 = sprintf("%5s", $Cad40);
    +$Cad45 = sprintf("%5s", $Cad45);
    +$Cad50 = sprintf("%5s", $Cad50);
    +$Cad55 = sprintf("%5s", $Cad55);
    +$Cad60 = sprintf("%5s", $Cad60);
    +$Cad90 = sprintf("%5s", $Cad90);
    +$Cad99 = sprintf("%5s", $Cad99);
    +$pad_0 = sprintf("%4s", $pad_0) . '%';
    +$pad_5 = sprintf("%4s", $pad_5) . '%';
    +$pad10 = sprintf("%4s", $pad10) . '%';
    +$pad15 = sprintf("%4s", $pad15) . '%';
    +$pad20 = sprintf("%4s", $pad20) . '%';
    +$pad25 = sprintf("%4s", $pad25) . '%';
    +$pad30 = sprintf("%4s", $pad30) . '%';
    +$pad35 = sprintf("%4s", $pad35) . '%';
    +$pad40 = sprintf("%4s", $pad40) . '%';
    +$pad45 = sprintf("%4s", $pad45) . '%';
    +$pad50 = sprintf("%4s", $pad50) . '%';
    +$pad55 = sprintf("%4s", $pad55) . '%';
    +$pad60 = sprintf("%4s", $pad60) . '%';
    +$pad90 = sprintf("%4s", $pad90) . '%';
    +$pad99 = sprintf("%4s", $pad99) . '%';
    +$pCad_0 = sprintf("%4s", $pCad_0) . '%';
    +$pCad_5 = sprintf("%4s", $pCad_5) . '%';
    +$pCad10 = sprintf("%4s", $pCad10) . '%';
    +$pCad15 = sprintf("%4s", $pCad15) . '%';
    +$pCad20 = sprintf("%4s", $pCad20) . '%';
    +$pCad25 = sprintf("%4s", $pCad25) . '%';
    +$pCad30 = sprintf("%4s", $pCad30) . '%';
    +$pCad35 = sprintf("%4s", $pCad35) . '%';
    +$pCad40 = sprintf("%4s", $pCad40) . '%';
    +$pCad45 = sprintf("%4s", $pCad45) . '%';
    +$pCad50 = sprintf("%4s", $pCad50) . '%';
    +$pCad55 = sprintf("%4s", $pCad55) . '%';
    +$pCad60 = sprintf("%4s", $pCad60) . '%';
    +$pCad90 = sprintf("%4s", $pCad90) . '%';
    +$pCad99 = sprintf("%4s", $pCad99) . '%';
    +$ApCad_0 = sprintf("%4s", $ApCad_0) . '%';
    +$ApCad_5 = sprintf("%4s", $ApCad_5) . '%';
    +$ApCad10 = sprintf("%4s", $ApCad10) . '%';
    +$ApCad15 = sprintf("%4s", $ApCad15) . '%';
    +$ApCad20 = sprintf("%4s", $ApCad20) . '%';
    +$ApCad25 = sprintf("%4s", $ApCad25) . '%';
    +$ApCad30 = sprintf("%4s", $ApCad30) . '%';
    +$ApCad35 = sprintf("%4s", $ApCad35) . '%';
    +$ApCad40 = sprintf("%4s", $ApCad40) . '%';
    +$ApCad45 = sprintf("%4s", $ApCad45) . '%';
    +$ApCad50 = sprintf("%4s", $ApCad50) . '%';
    +$ApCad55 = sprintf("%4s", $ApCad55) . '%';
    +$ApCad60 = sprintf("%4s", $ApCad60) . '%';
    +$ApCad90 = sprintf("%4s", $ApCad90) . '%';
    +$ApCad99 = sprintf("%4s", $ApCad99) . '%';
    +
    +$BDansweredCALLS =		sprintf("%10s", $BDansweredCALLS);
    +
    +### Format and output
    +$answeredTOTALs = "$ad_0 $ad_5 $ad10 $ad15 $ad20 $ad25 $ad30 $ad35 $ad40 $ad45 $ad50 $ad55 $ad60 $ad90 $ad99 | $BDansweredCALLS |";
    +$answeredCUMULATIVE = "$Cad_0 $Cad_5 $Cad10 $Cad15 $Cad20 $Cad25 $Cad30 $Cad35 $Cad40 $Cad45 $Cad50 $Cad55 $Cad60 $Cad90 $Cad99 | $BDansweredCALLS |";
    +$answeredINT_PERCENT = "$pad_0 $pad_5 $pad10 $pad15 $pad20 $pad25 $pad30 $pad35 $pad40 $pad45 $pad50 $pad55 $pad60 $pad90 $pad99 |            |";
    +$answeredCUM_PERCENT = "$pCad_0 $pCad_5 $pCad10 $pCad15 $pCad20 $pCad25 $pCad30 $pCad35 $pCad40 $pCad45 $pCad50 $pCad55 $pCad60 $pCad90 $pCad99 |            |";
    +$answeredCUM_ANS_PERCENT = "$ApCad_0 $ApCad_5 $ApCad10 $ApCad15 $ApCad20 $ApCad25 $ApCad30 $ApCad35 $ApCad40 $ApCad45 $ApCad50 $ApCad55 $ApCad60 $ApCad90 $ApCad99 |            |";
    +echo "INTERVAL  | $answeredTOTALs\n";
    +echo "INT %     | $answeredINT_PERCENT\n";
    +echo "CUMULATIVE| $answeredCUMULATIVE\n";
    +echo "CUM %     | $answeredCUM_PERCENT\n";
    +echo "CUM ANS % | $answeredCUM_ANS_PERCENT\n";
    +echo "----------+-------------------------------------------------------------------------------------------+------------+\n";
    +
    +
    +
    +
    +
    +##############################
    +#########  CALL HANGUP REASON STATS
    +
    +$TOTALcalls = 0;
    +
    +echo "\n";
    +echo "---------- CALL HANGUP REASON STATS\n";
    +echo "+----------------------+------------+\n";
    +echo "| HANGUP REASON        | CALLS      |\n";
    +echo "+----------------------+------------+\n";
    +
    +$stmt="select count(*),term_reason from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) group by term_reason;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$reasons_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $reasons_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +
    +	$TOTALcalls = ($TOTALcalls + $row[0]);
    +
    +	$REASONcount =	sprintf("%10s", $row[0]);while(strlen($REASONcount)>10) {$REASONcount = substr("$REASONcount", 0, -1);}
    +	$reason =	sprintf("%-20s", $row[1]);while(strlen($reason)>20) {$reason = substr("$reason", 0, -1);}
    +#	if (ereg("NONE",$reason)) {$reason = 'NO ANSWER           ';}
    +
    +	echo "| $reason | $REASONcount |\n";
    +
    +	$i++;
    +	}
    +
    +$TOTALcalls =		sprintf("%10s", $TOTALcalls);
    +
    +echo "+----------------------+------------+\n";
    +echo "| TOTAL:               | $TOTALcalls |\n";
    +echo "+----------------------+------------+\n";
    +
    +
    +
    +
    +##############################
    +#########  CALL STATUS STATS
    +
    +$TOTALcalls = 0;
    +
    +echo "\n";
    +echo "---------- CALL STATUS STATS\n";
    +echo "+--------+----------------------+----------------------+------------+------------+----------+----------+\n";
    +echo "| STATUS | DESCRIPTION          | CATEGORY             | CALLS      | TOTAL TIME | AVG TIME |CALLS/HOUR|\n";
    +echo "+--------+----------------------+----------------------+------------+------------+----------+----------+\n";
    +
    +
    +## get counts and time totals for all statuses in this campaign
    +$stmt="select count(*),status,sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) group by status;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$statuses_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $statuses_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +
    +	$STATUScount =	$row[0];
    +	$RAWstatus =	$row[1];
    +	$r=0;  $foundstat=0;
    +	while ($r < $statcats_to_print)
    +		{
    +		if ( ($statcat_list[$RAWstatus] == "$vsc_id[$r]") and ($foundstat < 1) )
    +			{
    +			$vsc_count[$r] = ($vsc_count[$r] + $STATUScount);
    +			}
    +		$r++;
    +		}
    +
    +	$TOTALcalls =	($TOTALcalls + $row[0]);
    +	if ( ($STATUScount < 1) or ($TOTALsec < 1) )
    +		{$STATUSrate = 0;}
    +	else
    +		{$STATUSrate =	($STATUScount / ($TOTALsec / 3600) );}
    +	$STATUSrate =	sprintf("%.2f", $STATUSrate);
    +
    +	$STATUShours_H =	($row[2] / 3600);
    +	$STATUShours_H_int = round($STATUShours_H, 2);
    +	$STATUShours_H_int = intval("$STATUShours_H_int");
    +	$STATUShours_M = ($STATUShours_H - $STATUShours_H_int);
    +	$STATUShours_M = ($STATUShours_M * 60);
    +	$STATUShours_M_int = round($STATUShours_M, 2);
    +	$STATUShours_M_int = intval("$STATUShours_M_int");
    +	$STATUShours_S = ($STATUShours_M - $STATUShours_M_int);
    +	$STATUShours_S = ($STATUShours_S * 60);
    +	$STATUShours_S = round($STATUShours_S, 0);
    +	if ($STATUShours_S < 10) {$STATUShours_S = "0$STATUShours_S";}
    +	if ($STATUShours_M_int < 10) {$STATUShours_M_int = "0$STATUShours_M_int";}
    +	$STATUShours = "$STATUShours_H_int:$STATUShours_M_int:$STATUShours_S";
    +
    +	$STATUSavg_H =	(($row[2] / 3600) / $STATUScount);
    +	$STATUSavg_H_int = round($STATUSavg_H, 2);
    +	$STATUSavg_H_int = intval("$STATUSavg_H_int");
    +	$STATUSavg_M = ($STATUSavg_H - $STATUSavg_H_int);
    +	$STATUSavg_M = ($STATUSavg_M * 60);
    +	$STATUSavg_M_int = round($STATUSavg_M, 2);
    +	$STATUSavg_M_int = intval("$STATUSavg_M_int");
    +	$STATUSavg_S = ($STATUSavg_M - $STATUSavg_M_int);
    +	$STATUSavg_S = ($STATUSavg_S * 60);
    +	$STATUSavg_S = round($STATUSavg_S, 0);
    +	if ($STATUSavg_S < 10) {$STATUSavg_S = "0$STATUSavg_S";}
    +	if ($STATUSavg_M_int < 10) {$STATUSavg_M_int = "0$STATUSavg_M_int";}
    +	$STATUSavg = "$STATUSavg_H_int:$STATUSavg_M_int:$STATUSavg_S";
    +
    +	$STATUScount =	sprintf("%10s", $row[0]);while(strlen($STATUScount)>10) {$STATUScount = substr("$STATUScount", 0, -1);}
    +	$status =	sprintf("%-6s", $row[1]);while(strlen($status)>6) {$status = substr("$status", 0, -1);}
    +	$STATUShours =	sprintf("%10s", $STATUShours);while(strlen($STATUShours)>10) {$STATUShours = substr("$STATUShours", 0, -1);}
    +	$STATUSavg =	sprintf("%8s", $STATUSavg);while(strlen($STATUSavg)>8) {$STATUSavg = substr("$STATUSavg", 0, -1);}
    +	$STATUSrate =	sprintf("%8s", $STATUSrate);while(strlen($STATUSrate)>8) {$STATUSrate = substr("$STATUSrate", 0, -1);}
    +
    +	if ($non_latin < 1)
    +		{
    +		$status_name =	sprintf("%-20s", $statname_list[$RAWstatus]); 
    +		while(strlen($status_name)>20) {$status_name = substr("$status_name", 0, -1);}	
    +		$statcat =	sprintf("%-20s", $statcat_list[$RAWstatus]); 
    +		while(strlen($statcat)>20) {$statcat = substr("$statcat", 0, -1);}	
    +		}
    +	else
    +		{
    +		$status_name =	sprintf("%-60s", $statname_list[$RAWstatus]); 
    +		while(mb_strlen($status_name,'utf-8')>20) {$status_name = mb_substr("$status_name", 0, -1,'utf-8');}	
    +		$statcat =	sprintf("%-60s", $statcat_list[$RAWstatus]); 
    +		while(mb_strlen($statcat,'utf-8')>20) {$statcat = mb_substr("$statcat", 0, -1,'utf-8');}	
    +		}
    +
    +
    +	echo "| $status | $status_name | $statcat | $STATUScount | $STATUShours | $STATUSavg | $STATUSrate |\n";
    +
    +	$i++;
    +	}
    +
    +if ($TOTALcalls < 1)
    +	{
    +	$TOTALhours =	'0:00:00';
    +	$TOTALavg =		'0:00:00';
    +	$TOTALrate =	'0.00';
    +	}
    +else
    +	{
    +	if ( ($TOTALcalls < 1) or ($TOTALsec < 1) )
    +		{$TOTALrate = 0;}
    +	else
    +		{$TOTALrate =	($TOTALcalls / ($TOTALsec / 3600) );}
    +	$TOTALrate =	sprintf("%.2f", $TOTALrate);
    +
    +	$TOTALhours_H =	($TOTALsec / 3600);
    +	$TOTALhours_H_int = round($TOTALhours_H, 2);
    +	$TOTALhours_H_int = intval("$TOTALhours_H_int");
    +	$TOTALhours_M = ($TOTALhours_H - $TOTALhours_H_int);
    +	$TOTALhours_M = ($TOTALhours_M * 60);
    +	$TOTALhours_M_int = round($TOTALhours_M, 2);
    +	$TOTALhours_M_int = intval("$TOTALhours_M_int");
    +	$TOTALhours_S = ($TOTALhours_M - $TOTALhours_M_int);
    +	$TOTALhours_S = ($TOTALhours_S * 60);
    +	$TOTALhours_S = round($TOTALhours_S, 0);
    +	if ($TOTALhours_S < 10) {$TOTALhours_S = "0$TOTALhours_S";}
    +	if ($TOTALhours_M_int < 10) {$TOTALhours_M_int = "0$TOTALhours_M_int";}
    +	$TOTALhours = "$TOTALhours_H_int:$TOTALhours_M_int:$TOTALhours_S";
    +
    +	$TOTALavg_H =	(($TOTALsec / 3600) / $TOTALcalls);
    +	$TOTALavg_H_int = round($TOTALavg_H, 2);
    +	$TOTALavg_H_int = intval("$TOTALavg_H_int");
    +	$TOTALavg_M = ($TOTALavg_H - $TOTALavg_H_int);
    +	$TOTALavg_M = ($TOTALavg_M * 60);
    +	$TOTALavg_M_int = round($TOTALavg_M, 2);
    +	$TOTALavg_M_int = intval("$TOTALavg_M_int");
    +	$TOTALavg_S = ($TOTALavg_M - $TOTALavg_M_int);
    +	$TOTALavg_S = ($TOTALavg_S * 60);
    +	$TOTALavg_S = round($TOTALavg_S, 0);
    +	if ($TOTALavg_S < 10) {$TOTALavg_S = "0$TOTALavg_S";}
    +	if ($TOTALavg_M_int < 10) {$TOTALavg_M_int = "0$TOTALavg_M_int";}
    +	$TOTALavg = "$TOTALavg_H_int:$TOTALavg_M_int:$TOTALavg_S";
    +	}
    +$TOTALcalls =	sprintf("%10s", $TOTALcalls);
    +$TOTALhours =	sprintf("%10s", $TOTALhours);while(strlen($TOTALhours)>10) {$TOTALhours = substr("$TOTALhours", 0, -1);}
    +$TOTALavg =	sprintf("%8s", $TOTALavg);while(strlen($TOTALavg)>8) {$TOTALavg = substr("$TOTALavg", 0, -1);}
    +$TOTALrate =	sprintf("%8s", $TOTALrate);while(strlen($TOTALrate)>8) {$TOTALrate = substr("$TOTALrate", 0, -1);}
    +
    +echo "+--------+----------------------+----------------------+------------+------------+----------+----------+\n";
    +echo "| TOTAL:                                               | $TOTALcalls | $TOTALhours | $TOTALavg | $TOTALrate |\n";
    +echo "+------------------------------------------------------+------------+------------+----------+----------+\n";
    +
    +
    +##############################
    +#########  STATUS CATEGORY STATS
    +
    +echo "\n";
    +echo "---------- CUSTOM STATUS CATEGORY STATS\n";
    +echo "+----------------------+------------+--------------------------------+\n";
    +echo "| CATEGORY             | CALLS      | DESCRIPTION                    |\n";
    +echo "+----------------------+------------+--------------------------------+\n";
    +
    +$TOTCATcalls=0;
    +$r=0;
    +while ($r < $statcats_to_print)
    +	{
    +	if ($vsc_id[$r] != 'UNDEFINED')
    +		{
    +		$TOTCATcalls = ($TOTCATcalls + $vsc_count[$r]);
    +		$category =	sprintf("%-20s", $vsc_id[$r]); while(strlen($category)>20) {$category = substr("$category", 0, -1);}
    +		$CATcount =	sprintf("%10s", $vsc_count[$r]); while(strlen($CATcount)>10) {$CATcount = substr("$CATcount", 0, -1);}
    +		$CATname =	sprintf("%-30s", $vsc_name[$r]); while(strlen($CATname)>30) {$CATname = substr("$CATname", 0, -1);}
    +
    +		echo "| $category | $CATcount | $CATname |\n";
    +		}
    +
    +	$r++;
    +	}
    +
    +$TOTCATcalls =	sprintf("%10s", $TOTCATcalls); while(strlen($TOTCATcalls)>10) {$TOTCATcalls = substr("$TOTCATcalls", 0, -1);}
    +
    +echo "+----------------------+------------+--------------------------------+\n";
    +echo "| TOTAL                | $TOTCATcalls |\n";
    +echo "+----------------------+------------+\n";
    +
    +
    +##############################
    +#########  USER STATS
    +
    +$TOTagents=0;
    +$TOTcalls=0;
    +$TOTtime=0;
    +$TOTavg=0;
    +
    +echo "\n";
    +echo "---------- AGENT STATS\n";
    +echo "+--------------------------+------------+----------+--------+\n";
    +echo "| AGENT                    | CALLS      | TIME M   | AVRG M |\n";
    +echo "+--------------------------+------------+----------+--------+\n";
    +
    +$stmt="select vicidial_closer_log.user,full_name,count(*),sum(length_in_sec),avg(length_in_sec) from vicidial_closer_log,vicidial_users where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($group_SQL) and vicidial_closer_log.user is not null and length_in_sec is not null and length_in_sec > 0 and vicidial_closer_log.user=vicidial_users.user group by vicidial_closer_log.user;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$users_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $users_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +
    +	$TOTcalls = ($TOTcalls + $row[2]);
    +	$TOTtime = ($TOTtime + $row[3]);
    +
    +	$user =			sprintf("%-6s", $row[0]);
    +	$full_name =	sprintf("%-15s", $row[1]); while(strlen($full_name)>15) {$full_name = substr("$full_name", 0, -1);}
    +	$USERcalls =	sprintf("%10s", $row[2]);
    +	$USERtotTALK =	$row[3];
    +	$USERavgTALK =	$row[4];
    +
    +	$USERtotTALK_M = ($USERtotTALK / 60);
    +	$USERtotTALK_M_int = round($USERtotTALK_M, 2);
    +	$USERtotTALK_M_int = intval("$USERtotTALK_M_int");
    +	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
    +	$USERtotTALK_S = ($USERtotTALK_S * 60);
    +	$USERtotTALK_S = round($USERtotTALK_S, 0);
    +	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
    +	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
    +	$USERtotTALK_MS = eregi_replace('-','',$USERtotTALK_MS);
    +	$USERtotTALK_MS =		sprintf("%8s", $USERtotTALK_MS);
    +
    +	$USERavgTALK_M = ($USERavgTALK / 60);
    +	$USERavgTALK_M_int = round($USERavgTALK_M, 2);
    +	$USERavgTALK_M_int = intval("$USERavgTALK_M_int");
    +	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
    +	$USERavgTALK_S = ($USERavgTALK_S * 60);
    +	$USERavgTALK_S = round($USERavgTALK_S, 0);
    +	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
    +	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
    +	$USERavgTALK_MS = eregi_replace('-','',$USERavgTALK_MS);
    +	$USERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
    +
    +	echo "| $user - $full_name | $USERcalls | $USERtotTALK_MS | $USERavgTALK_MS |\n";
    +
    +	$i++;
    +	}
    +
    +if ($TOTcalls < 1) {$TOTcalls = 0; $TOTavg=0;}
    +else
    +	{
    +	$TOTavg = ($TOTtime / $TOTcalls);
    +	$TOTavg = round($TOTavg, 0);
    +	$TOTavg_M = ($TOTavg / 60);
    +	$TOTavg_M_int = round($TOTavg_M, 2);
    +	$TOTavg_M_int = intval("$TOTavg_M_int");
    +	$TOTavg_S = ($TOTavg_M - $TOTavg_M_int);
    +	$TOTavg_S = ($TOTavg_S * 60);
    +	$TOTavg_S = round($TOTavg_S, 0);
    +	if ($TOTavg_S < 10) {$TOTavg_S = "0$TOTavg_S";}
    +	$TOTavg_MS = "$TOTavg_M_int:$TOTavg_S";
    +	$TOTavg =		sprintf("%6s", $TOTavg_MS);
    +	}
    +
    +$TOTtime_M = ($TOTtime / 60);
    +$TOTtime_M_int = round($TOTtime_M, 2);
    +$TOTtime_M_int = intval("$TOTtime_M_int");
    +$TOTtime_S = ($TOTtime_M - $TOTtime_M_int);
    +$TOTtime_S = ($TOTtime_S * 60);
    +$TOTtime_S = round($TOTtime_S, 0);
    +if ($TOTtime_S < 10) {$TOTtime_S = "0$TOTtime_S";}
    +$TOTtime_MS = "$TOTtime_M_int:$TOTtime_S";
    +$TOTtime =		sprintf("%6s", $TOTtime_MS);
    +
    +$TOTagents =		sprintf("%10s", $i);
    +$TOTcalls =			sprintf("%10s", $TOTcalls);
    +$TOTtime =			sprintf("%8s", $TOTtime);
    +$TOTavg =			sprintf("%6s", $TOTavg);
    +
    +echo "+--------------------------+------------+----------+--------+\n";
    +echo "| TOTAL Agents: $TOTagents | $TOTcalls | $TOTtime | $TOTavg |\n";
    +echo "+--------------------------+------------+----------+--------+\n";
    +
    +
    +##############################
    +#########  TIME STATS
    +
    +echo "\n";
    +echo "---------- TIME STATS\n";
    +
    +echo "\n";
    +
    +
    +##############################
    +#########  15-minute increment breakdowns of total calls and drops, then answered table
    +$BDansweredCALLS = 0;
    +$stmt="SELECT status,queue_seconds,UNIX_TIMESTAMP(call_date),call_date from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id IN($group_SQL);";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$calls_to_print = mysql_num_rows($rslt);
    +$j=0;
    +while ($j < $calls_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$Cstatus[$j] =	$row[0];
    +	$Cqueue[$j] =	$row[1];
    +	$Cepoch[$j] =	$row[2];
    +	$Cdate[$j] =	$row[3];
    +	$Crem[$j] = ( ($Cepoch[$j] + $epoch_offset) % 86400); # find the remainder(Modulus) of seconds since start of the day
    +#	echo "|$Cepoch[$j]|$Crem[$j]|$Cdate[$j]|\n";
    +	$j++;
    +	}
    +
    +### Loop through all call records and gather stats for total call/drop report and answered report
    +$j=0;
    +while ($j < $calls_to_print)
    +	{
    +	$i=0; $sec=0; $sec_end=900;
    +	while ($i <= 96)
    +		{
    +		if ( ($Crem[$j] >= $sec) and ($Crem[$j] < $sec_end) ) 
    +			{
    +			$Ftotal[$i]++;
    +			if (ereg("DROP",$Cstatus[$j])) {$Fdrop[$i]++;}
    +			if (!ereg("DROP|XDROP|HXFER|QVMAIL|HOLDTO|LIVE|QUEUE",$Cstatus[$j]))
    +				{
    +				$BDansweredCALLS++;
    +				$Fanswer[$i]++;
    +
    +				if ($Cqueue[$j] == 0)								{$adB_0[$i]++;}
    +				if ( ($Cqueue[$j] > 0) and ($Cqueue[$j] <= 5) )		{$adB_5[$i]++;}
    +				if ( ($Cqueue[$j] > 5) and ($Cqueue[$j] <= 10) )	{$adB10[$i]++;}
    +				if ( ($Cqueue[$j] > 10) and ($Cqueue[$j] <= 15) )	{$adB15[$i]++;}
    +				if ( ($Cqueue[$j] > 15) and ($Cqueue[$j] <= 20) )	{$adB20[$i]++;}
    +				if ( ($Cqueue[$j] > 20) and ($Cqueue[$j] <= 25) )	{$adB25[$i]++;}
    +				if ( ($Cqueue[$j] > 25) and ($Cqueue[$j] <= 30) )	{$adB30[$i]++;}
    +				if ( ($Cqueue[$j] > 30) and ($Cqueue[$j] <= 35) )	{$adB35[$i]++;}
    +				if ( ($Cqueue[$j] > 35) and ($Cqueue[$j] <= 40) )	{$adB40[$i]++;}
    +				if ( ($Cqueue[$j] > 40) and ($Cqueue[$j] <= 45) )	{$adB45[$i]++;}
    +				if ( ($Cqueue[$j] > 45) and ($Cqueue[$j] <= 50) )	{$adB50[$i]++;}
    +				if ( ($Cqueue[$j] > 50) and ($Cqueue[$j] <= 55) )	{$adB55[$i]++;}
    +				if ( ($Cqueue[$j] > 55) and ($Cqueue[$j] <= 60) )	{$adB60[$i]++;}
    +				if ( ($Cqueue[$j] > 60) and ($Cqueue[$j] <= 90) )	{$adB90[$i]++;}
    +				if ($Cqueue[$j] > 90)								{$adB99[$i]++;}
    +				}
    +
    +			}
    +		$sec = ($sec + 900);
    +		$sec_end = ($sec_end + 900);
    +		$i++;
    +		}
    +	$j++;
    +	}	##### END going through all records
    +
    +
    +
    +
    +
    +
    +
    +##### 15-minute total and drops graph
    +$hi_hour_count=0;
    +$last_full_record=0;
    +$i=0;
    +$h=0;
    +while ($i <= 96)
    +	{
    +	$hour_count[$i] = $Ftotal[$i];
    +	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
    +	if ($hour_count[$i] > 0) {$last_full_record = $i;}
    +	$drop_count[$i] = $Fdrop[$i];
    +	$i++;
    +	}
    +
    +if ($hi_hour_count < 1)
    +	{$hour_multiplier = 0;}
    +else
    +	{
    +	$hour_multiplier = (100 / $hi_hour_count);
    +	#$hour_multiplier = round($hour_multiplier, 0);
    +	}
    +
    +echo "\n";
    +echo "GRAPH IN 15 MINUTE INCREMENTS OF TOTAL CALLS TAKEN INTO THIS IN-GROUP\n";
    +
    +$k=1;
    +$Mk=0;
    +$call_scale = '0';
    +while ($k <= 102) 
    +	{
    +	if ($Mk >= 5) 
    +		{
    +		$Mk=0;
    +		if ( ($k < 1) or ($hour_multiplier <= 0) )
    +			{$scale_num = 100;}
    +		else
    +			{
    +			$scale_num=($k / $hour_multiplier);
    +			$scale_num = round($scale_num, 0);
    +			}
    +		$LENscale_num = (strlen($scale_num));
    +		$k = ($k + $LENscale_num);
    +		$call_scale .= "$scale_num";
    +		}
    +	else
    +		{
    +		$call_scale .= " ";
    +		$k++;   $Mk++;
    +		}
    +	}
    +
    +
    +echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
    +#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | DROPS | TOTAL |\n";
    +echo "| HOUR |$call_scale| DROPS | TOTAL |\n";
    +echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
    +
    +$ZZ = '00';
    +$i=0;
    +$h=4;
    +$hour= -1;
    +$no_lines_yet=1;
    +
    +while ($i <= 96)
    +	{
    +	$char_counter=0;
    +	$time = '      ';
    +	if ($h >= 4) 
    +		{
    +		$hour++;
    +		$h=0;
    +		if ($hour < 10) {$hour = "0$hour";}
    +		$time = "+$hour$ZZ+";
    +		}
    +	if ($h == 1) {$time = "   15 ";}
    +	if ($h == 2) {$time = "   30 ";}
    +	if ($h == 3) {$time = "   45 ";}
    +	$Ghour_count = $hour_count[$i];
    +	if ($Ghour_count < 1) 
    +		{
    +		if ( ($no_lines_yet) or ($i > $last_full_record) )
    +			{
    +			$do_nothing=1;
    +			}
    +		else
    +			{
    +			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
    +			echo "|$time|";
    +			$k=0;   while ($k <= 102) {echo " ";   $k++;}
    +			echo "| $hour_count[$i] |\n";
    +			}
    +		}
    +	else
    +		{
    +		$no_lines_yet=0;
    +		$Xhour_count = ($Ghour_count * $hour_multiplier);
    +		$Yhour_count = (99 - $Xhour_count);
    +
    +		$Gdrop_count = $drop_count[$i];
    +		if ($Gdrop_count < 1) 
    +			{
    +			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
    +
    +			echo "|$time|";
    +			$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
    +			echo "*X";   $char_counter++;
    +			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
    +				while ($char_counter <= 101) {echo " ";   $char_counter++;}
    +			echo "| 0     | $hour_count[$i] |\n";
    +
    +			}
    +		else
    +			{
    +			$Xdrop_count = ($Gdrop_count * $hour_multiplier);
    +
    +		#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
    +
    +			$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
    +
    +			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
    +			$drop_count[$i] =	sprintf("%-5s", $drop_count[$i]);
    +
    +			echo "|$time|";
    +			$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
    +			echo "D";   $char_counter++;
    +			$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
    +			echo "X";   $char_counter++;
    +			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
    +				while ($char_counter <= 102) {echo " ";   $char_counter++;}
    +			echo "| $drop_count[$i] | $hour_count[$i] |\n";
    +			}
    +		}
    +	
    +	
    +	$i++;
    +	$h++;
    +	}
    +
    +echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n\n";
    +
    +
    +
    +
    +
    +
    +##### Answered wait time breakdown
    +echo "\n";
    +echo "---------- CALL ANSWERED TIME BREAKDOWN IN SECONDS\n";
    +echo "+------+-------------------------------------------------------------------------------------------+------------+\n";
    +echo "| HOUR |     0     5    10    15    20    25    30    35    40    45    50    55    60    90   +90 | TOTAL      |\n";
    +echo "+------+-------------------------------------------------------------------------------------------+------------+\n";
    +
    +$ZZ = '00';
    +$i=0;
    +$h=4;
    +$hour= -1;
    +$no_lines_yet=1;
    +while ($i <= 96)
    +	{
    +	$char_counter=0;
    +	$time = '      ';
    +	if ($h >= 4) 
    +		{
    +		$hour++;
    +		$h=0;
    +		if ($hour < 10) {$hour = "0$hour";}
    +		$time = "+$hour$ZZ+";
    +		$SQLtime = "$hour:$ZZ:00";
    +		$SQLtimeEND = "$hour:15:00";
    +		}
    +	if ($h == 1) {$time = "   15 ";   $SQLtime = "$hour:15:00";   $SQLtimeEND = "$hour:30:00";}
    +	if ($h == 2) {$time = "   30 ";   $SQLtime = "$hour:30:00";   $SQLtimeEND = "$hour:45:00";}
    +	if ($h == 3) 
    +		{
    +		$time = "   45 ";
    +		$SQLtime = "$hour:45:00";
    +		$hourEND = ($hour + 1);
    +		if ($hourEND < 10) {$hourEND = "0$hourEND";}
    +		if ($hourEND > 23) {$SQLtimeEND = "23:59:59";}
    +		else {$SQLtimeEND = "$hourEND:00:00";}
    +		}
    +
    +
    +	if (strlen($adB_0[$i]) < 1)  {$adB_0[$i]='-';}
    +	if (strlen($adB_5[$i]) < 1)  {$adB_5[$i]='-';}
    +	if (strlen($adB10[$i]) < 1)  {$adB10[$i]='-';}
    +	if (strlen($adB15[$i]) < 1)  {$adB15[$i]='-';}
    +	if (strlen($adB20[$i]) < 1)  {$adB20[$i]='-';}
    +	if (strlen($adB25[$i]) < 1)  {$adB25[$i]='-';}
    +	if (strlen($adB30[$i]) < 1)  {$adB30[$i]='-';}
    +	if (strlen($adB35[$i]) < 1)  {$adB35[$i]='-';}
    +	if (strlen($adB40[$i]) < 1)  {$adB40[$i]='-';}
    +	if (strlen($adB45[$i]) < 1)  {$adB45[$i]='-';}
    +	if (strlen($adB50[$i]) < 1)  {$adB50[$i]='-';}
    +	if (strlen($adB55[$i]) < 1)  {$adB55[$i]='-';}
    +	if (strlen($adB60[$i]) < 1)  {$adB60[$i]='-';}
    +	if (strlen($adB90[$i]) < 1)  {$adB90[$i]='-';}
    +	if (strlen($adB99[$i]) < 1)  {$adB99[$i]='-';}
    +	if (strlen($Fanswer[$i]) < 1)  {$Fanswer[$i]='0';}
    +
    +	$adB_0[$i] = sprintf("%5s", $adB_0[$i]);
    +	$adB_5[$i] = sprintf("%5s", $adB_5[$i]);
    +	$adB10[$i] = sprintf("%5s", $adB10[$i]);
    +	$adB15[$i] = sprintf("%5s", $adB15[$i]);
    +	$adB20[$i] = sprintf("%5s", $adB20[$i]);
    +	$adB25[$i] = sprintf("%5s", $adB25[$i]);
    +	$adB30[$i] = sprintf("%5s", $adB30[$i]);
    +	$adB35[$i] = sprintf("%5s", $adB35[$i]);
    +	$adB40[$i] = sprintf("%5s", $adB40[$i]);
    +	$adB45[$i] = sprintf("%5s", $adB45[$i]);
    +	$adB50[$i] = sprintf("%5s", $adB50[$i]);
    +	$adB55[$i] = sprintf("%5s", $adB55[$i]);
    +	$adB60[$i] = sprintf("%5s", $adB60[$i]);
    +	$adB90[$i] = sprintf("%5s", $adB90[$i]);
    +	$adB99[$i] = sprintf("%5s", $adB99[$i]);
    +	$Fanswer[$i] = sprintf("%10s", $Fanswer[$i]);
    +
    +	echo "|$time| $adB_0[$i] $adB_5[$i] $adB10[$i] $adB15[$i] $adB20[$i] $adB25[$i] $adB30[$i] $adB35[$i] $adB40[$i] $adB45[$i] $adB50[$i] $adB55[$i] $adB60[$i] $adB90[$i] $adB99[$i] | $Fanswer[$i] |\n";
    +
    +	$i++;
    +	$h++;
    +	}
    +
    +$BDansweredCALLS =		sprintf("%10s", $BDansweredCALLS);
    +
    +echo "+------+-------------------------------------------------------------------------------------------+------------+\n";
    +echo "|TOTALS|                                                                                           | $BDansweredCALLS |\n";
    +echo "+------+-------------------------------------------------------------------------------------------+------------+\n";
    +
    +
    +
    +$ENDtime = date("U");
    +$RUNtime = ($ENDtime - $STARTtime);
    +echo "\nRun Time: $RUNtime seconds\n";
    +}
    +
    +
    +
    +
    +?>
    +
    +
    + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_IVRfilter.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_IVRfilter.php new file mode 100644 index 00000000..177a072d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_IVRfilter.php @@ -0,0 +1,248 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 81030-0432 - First build +# 90310-2054 - Admin header +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} + +$i=0; + +?> + + + + + +\n"; +echo "VICIDIAL: VDL IVR Filter Stats\n"; + + $short_header=1; + + require("admin_header.php"); + +echo "
    "; + +echo "
    \n"; +echo "\n"; +echo "
    \n"; +echo "\n"; +echo "Date Range:
    \n"; +echo "\n"; +echo " to \n"; +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "           "; +echo "ADMIN | "; +echo "REPORTS\n"; +echo "\n"; + +echo "
    \n"; + +echo "   \n"; +echo "
    \n"; +echo "
    \n\n"; + +echo "
    \n\n";
    +
    +$shift = 'ALL';
    +
    +if ($shift == 'AM') 
    +	{
    +	$time_BEGIN=$AM_shift_BEGIN;
    +	$time_END=$AM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
    +	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
    +	}
    +if ($shift == 'PM') 
    +	{
    +	$time_BEGIN=$PM_shift_BEGIN;
    +	$time_END=$PM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
    +	}
    +if ($shift == 'ALL') 
    +	{
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +	}
    +$query_date_BEGIN = "$query_date $time_BEGIN";   
    +$query_date_END = "$end_date $time_END";
    +
    +
    +
    +echo "VDL: IVR Filter Stats:           $NOW_TIME\n";
    +
    +
    +echo "\n";
    +echo "+----------------------+---------+---------+---------+\n";
    +echo "| CATEGORY             | CALLS   | UNIQUE  |      %  |\n";
    +echo "+----------------------+---------+---------+---------+\n";
    +
    +
    +$stmtA="select count(*),count(distinct caller_id) from live_inbound_log where start_time >= '$query_date_BEGIN' and start_time <= '$query_date_END' and comment_a='INBOUND_IVR_FILTER' and comment_b='CLEAN';";
    +$rsltA=mysql_query($stmtA, $link);
    +if ($DB) {echo "$stmtA\n";}
    +$rowA=mysql_fetch_row($rsltA);
    +
    +$stmtB="select count(*),count(distinct caller_id) from live_inbound_log where start_time >= '$query_date_BEGIN' and start_time <= '$query_date_END' and comment_a='INBOUND_IVR_FILTER' and comment_b='NOT_FOUND';";
    +$rsltB=mysql_query($stmtB, $link);
    +if ($DB) {echo "$stmtB\n";}
    +$rowB=mysql_fetch_row($rsltB);
    +
    +$stmtC="select count(*),count(distinct caller_id) from live_inbound_log where start_time >= '$query_date_BEGIN' and start_time <= '$query_date_END' and comment_a='INBOUND_IVR_FILTER' and comment_b='EXISTING' and comment_c='DNC';";
    +$rsltC=mysql_query($stmtC, $link);
    +if ($DB) {echo "$stmtC\n";}
    +$rowC=mysql_fetch_row($rsltC);
    +
    +$stmtD="select count(*),count(distinct caller_id) from live_inbound_log where start_time >= '$query_date_BEGIN' and start_time <= '$query_date_END' and comment_a='INBOUND_IVR_FILTER' and comment_b='EXISTING' and comment_c='SALE';";
    +$rsltD=mysql_query($stmtD, $link);
    +if ($DB) {echo "$stmtD\n";}
    +$rowD=mysql_fetch_row($rsltD);
    +
    +$stmtE="select count(*),count(distinct caller_id) from live_inbound_log where start_time >= '$query_date_BEGIN' and start_time <= '$query_date_END' and comment_a='INBOUND_IVR_FILTER' and comment_b='EXISTING' and comment_c='ARCHIVE';";
    +$rsltE=mysql_query($stmtE, $link);
    +if ($DB) {echo "$stmtE\n";}
    +$rowE=mysql_fetch_row($rsltE);
    +
    +
    +$total = ($rowA[0] + $rowB[0] + $rowC[0] + $rowD[0] + $rowE[0]);
    +$Utotal = ($rowA[1] + $rowB[1] + $rowC[1] + $rowD[1] + $rowE[1]);
    +
    +$agent =	sprintf("%7s", $rowA[0]);
    +$Uagent =	sprintf("%7s", $rowA[1]);
    +if ( ($Utotal < 1) or ($rowA[1] < 1) )
    +	{$UagentPERCENT = '0';}
    +else
    +	{$UagentPERCENT = (($rowA[1] / $Utotal) * 100);   $UagentPERCENT = round($UagentPERCENT, 2);}
    +$UagentPERCENT =	sprintf("%6s", $UagentPERCENT);
    +
    +$ntfnd =	sprintf("%7s", $rowB[0]);
    +$Untfnd =	sprintf("%7s", $rowB[1]);
    +if ( ($Utotal < 1) or ($rowB[1] < 1) )
    +	{$UntfndPERCENT = '0';}
    +else
    +	{$UntfndPERCENT = (($rowB[1] / $Utotal) * 100);   $UntfndPERCENT = round($UntfndPERCENT, 2);}
    +$UntfndPERCENT =	sprintf("%6s", $UntfndPERCENT);
    +
    +$prdnc =	sprintf("%7s", $rowC[0]);
    +$Uprdnc =	sprintf("%7s", $rowC[1]);
    +if ( ($Utotal < 1) or ($rowC[1] < 1) )
    +	{$UprdncPERCENT = '0';}
    +else
    +	{$UprdncPERCENT = (($rowC[1] / $Utotal) * 100);   $UprdncPERCENT = round($UprdncPERCENT, 2);}
    +$UprdncPERCENT =	sprintf("%6s", $UprdncPERCENT);
    +
    +$psale =	sprintf("%7s", $rowD[0]);
    +$Upsale =	sprintf("%7s", $rowD[1]);
    +if ( ($Utotal < 1) or ($rowD[1] < 1) )
    +	{$UpsalePERCENT = '0';}
    +else
    +	{$UpsalePERCENT = (($rowD[1] / $Utotal) * 100);   $UpsalePERCENT = round($UpsalePERCENT, 2);}
    +$UpsalePERCENT =	sprintf("%6s", $UpsalePERCENT);
    +
    +$archv =	sprintf("%7s", $rowE[0]);
    +$Uarchv =	sprintf("%7s", $rowE[1]);
    +if ( ($Utotal < 1) or ($rowE[1] < 1) )
    +	{$UarchvPERCENT = '0';}
    +else
    +	{$UarchvPERCENT = (($rowE[1] / $Utotal) * 100);   $UarchvPERCENT = round($UarchvPERCENT, 2);}
    +$UarchvPERCENT =	sprintf("%6s", $UarchvPERCENT);
    +
    +$total =	sprintf("%7s", $total);
    +$Utotal =	sprintf("%7s", $Utotal);
    +
    +
    +echo "| CALL SENT TO AGENT   | $agent | $Uagent | $UagentPERCENT% |\n";
    +echo "| CALLERID NOT FOUND   | $ntfnd | $Untfnd | $UntfndPERCENT% |\n";
    +echo "| PREVIOUS DNC         | $prdnc | $Uprdnc | $UprdncPERCENT% |\n";
    +echo "| PREVIOUS SALE        | $psale | $Upsale | $UpsalePERCENT% |\n";
    +echo "| ARCHIVE ONLY         | $archv | $Uarchv | $UarchvPERCENT% |\n";
    +echo "+----------------------+---------+---------+---------+\n";
    +echo "|               TOTALS:| $total | $Utotal |\n";
    +echo "+----------------------+---------+---------+\n";
    +
    +
    +
    +
    +$ENDtime = date("U");
    +$RUNtime = ($ENDtime - $STARTtime);
    +echo "\nRun Time: $RUNtime seconds\n";
    +
    +
    +
    +
    +?>
    +
    +
    + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_IVRstats.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_IVRstats.php new file mode 100644 index 00000000..67037e61 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_IVRstats.php @@ -0,0 +1,684 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 81026-2026 - First build +# 81107-0341 - Added time range and option and 15-minute increment graph +# 81107-1148 - Added average times and totals +# 81108-0922 - Added no-callerID and unique caller counts +# 90310-2056 - Admin header +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +if (strlen($shift)<2) {$shift='ALL';} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = "$NOW_DATE 00:00:00";} +if (!isset($end_date)) {$end_date = "$NOW_DATE 23:23:59";} + +$stmt="select group_id from vicidial_inbound_groups;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; + $LISTgroups[$i]='---NONE---'; + $i++; + $groups_to_print++; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTgroups[$i] =$row[0]; + $i++; + } + +$i=0; +$group_string='|'; +$group_ct = count($group); +while($i < $group_ct) + { + $group_string .= "$group[$i]|"; + $group_SQL .= "'$group[$i]',"; + $groupQS .= "&group[]=$group[$i]"; + $i++; + } +if ( (ereg("--NONE--",$group_string) ) or ($group_ct < 1) ) + { + $group_SQL = "''"; +# $group_SQL = "group_id IN('')"; + } +else + { + $group_SQL = eregi_replace(",$",'',$group_SQL); +# $group_SQL = "group_id IN($group_SQL)"; + } + + +$stmt="select vsc_id,vsc_name from vicidial_status_categories;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$statcats_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $statcats_to_print) + { + $row=mysql_fetch_row($rslt); + $vsc_id[$i] = $row[0]; + $vsc_name[$i] = $row[1]; + $vsc_count[$i] = 0; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: IVR Stats\n"; + + $short_header=1; + + require("admin_header.php"); + +echo "
    "; + +if ($DB > 0) + { + echo "
    \n"; + echo "$group_ct|$group_string|$group_SQL\n"; + echo "
    \n"; + echo "$shift|$query_date|$end_date\n"; + echo "
    \n"; + } + +echo "
    \n"; +echo "\n"; +echo "
    \n"; +echo "\n"; +echo "Date Range:
    \n"; +echo "\n"; +echo " to \n"; +echo "
    \n"; +echo "Inbound Groups: \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           "; +echo "MODIFY | "; +echo "REPORTS | "; +echo "CLOSER REPORT \n"; +echo "\n"; + +echo "
    \n"; + +#echo "\n"; +echo "Shift: \n"; +echo "   \n"; +echo "
    \n"; +echo "
    \n\n"; + +echo "
    \n\n";
    +
    +
    +if ($groups_to_print < 1)
    +{
    +echo "\n\n";
    +echo "PLEASE SELECT AN IN-GROUP AND DATE RANGE ABOVE AND CLICK SUBMIT\n";
    +}
    +
    +else
    +{
    +
    +
    +echo "VICIDIAL: IVR Stats: $group_string          $NOW_TIME\n";
    +
    +
    +
    +
    +
    +
    +$TOTALcalls=0;
    +$NOCALLERIDcalls=0;
    +$UNIQUEcallers=0;
    +$totFLOWivr_time=0;
    +$totFLOWtotal_time=0;
    +
    +##### Grab all records for the IVR for the specified time period
    +$stmt="select uniqueid,extension,start_time,comment_a,comment_b,comment_d,UNIX_TIMESTAMP(start_time),phone_ext from live_inbound_log where start_time >= '$query_date_BEGIN' and start_time <= '$query_date_END' and comment_a IN($group_SQL) order by uniqueid,start_time;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$logs_to_print = mysql_num_rows($rslt);
    +$p=0;
    +while ($p < $logs_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$uniqueid[$p] =		$row[0];
    +	$extension[$p] =	$row[1];
    +	$start_time[$p] =	$row[2];
    +	$comment_a[$p] =	$row[3];
    +	$comment_b[$p] =	$row[4];
    +	$comment_d[$p] =	$row[5];
    +	$epoch[$p] =		$row[6];
    +	$phone_ext[$p] =	$row[7];
    +	$p++;
    +	}
    +
    +### create the call flow of all calls by uniqueid
    +$last_uniqueid='';
    +$first_epoch='';
    +$last_epoch='';
    +$p=0;
    +$r=-1;
    +while ($p < $logs_to_print)
    +	{
    +	if ($DB > 0) {echo "$p|$uniqueid[$p]|$comment_b[$p]";}
    +	if ($last_uniqueid === "$uniqueid[$p]")
    +		{
    +		$unique_calls[$r] .= "----------$comment_b[$p]";
    +		if ($DB > 0) {echo "   $r|$unique_calls[$r]\n";}
    +		$last_epoch[$r]=$epoch[$p];
    +		}
    +	else
    +		{
    +		$r++;
    +		$caller_id[$r]=$phone_ext[$p];
    +		if (strlen($phone_ext[$p])<2)
    +			{$NOCALLERIDcalls++;}
    +		else
    +			{
    +			if (!ereg("_$phone_ext[$p]_",$unique_callerIDs))
    +				{
    +				$unique_callerIDs .= "_$phone_ext[$p]_";
    +				$UNIQUEcallers++;
    +				}
    +			}
    +		$first_epoch[$r]=$epoch[$p];
    +		$last_epoch[$r]=$epoch[$p];
    +		$unique_calls[$r] = $comment_b[$p];
    +		$FLOWuniqueid[$r] = "$uniqueid[$p]";
    +		$last_uniqueid = "$uniqueid[$p]";
    +		if ($DB > 0) {echo "   $r|$unique_calls[$r]\n";}
    +		}
    +	$p++;
    +	}
    +
    +### sort call flows for counting
    +$RAWunique_calls = $unique_calls;
    +if ($logs_to_print > 0)
    +	{sort($unique_calls);}
    +
    +
    +### count each unique call flow
    +$last_Suniqueid='';
    +$p=-1;
    +$s=0;
    +while ($s <= $r)
    +	{
    +	if ($DB > 0) {echo "$s|$unique_calls[$s]\n";}
    +	if ($last_Suniqueid === "$unique_calls[$s]")
    +		{
    +		$STunique_calls_count[$p]++;
    +		}
    +	else
    +		{
    +		$p++;
    +		$STunique_calls[$p] = $unique_calls[$s];
    +		$last_Suniqueid = "$unique_calls[$s]";
    +		$STunique_calls_count[$p]=1;
    +		}
    +	$s++;
    +	}
    +
    +
    +### put call flows and counts together for sorting again
    +$TOTALcalls=0;
    +$s=0;
    +while ($s <= $p)
    +	{
    +	$TOTALcalls = ($TOTALcalls + $STunique_calls_count[$s]);
    +	$STunique_calls_count[$s] = sprintf("%07s", $STunique_calls_count[$s]);
    +	$FLOWunique_calls[$s] = "$STunique_calls_count[$s]__________$STunique_calls[$s]";
    +	$s++;
    +	}
    +
    +#### PRINT TOTAL CALLS INTO THIS IVR
    +echo "\n";
    +echo "Calls taken into this IVR:   $TOTALcalls\n";
    +echo "Calls with no CallerID:      $NOCALLERIDcalls\n";
    +echo "Unique Callers:              $UNIQUEcallers\n";
    +echo "\n";
    +
    +### sort call flows for counting
    +if ($p > 0)
    +	{rsort($FLOWunique_calls);}
    +
    +
    +### put call flows and counts together for sorting again
    +$RUC_ct = count($RAWunique_calls);
    +$s=0;
    +while ($s <= $p)
    +	{
    +	$FLOWsummary = explode('__________',$FLOWunique_calls[$s]);
    +	$FLOWsummary[0] = ($FLOWsummary[0] + 0);
    +
    +	$t=0;
    +	while ($t < $RUC_ct)
    +		{
    +		if ($FLOWsummary[1] === "$RAWunique_calls[$t]")
    +			{
    +			$FLOWunique_calls_list[$s] .= "'$FLOWuniqueid[$t]',";
    +			if ($last_epoch[$t] <= $first_epoch[$t]) {$last_epoch[$t] = ($first_epoch[$t] + 5);}
    +			else {$last_epoch[$t] = ($last_epoch[$t] + 10);}
    +			$FLOWivr_time[$s] = ($FLOWivr_time[$s] + ($last_epoch[$t] - $first_epoch[$t]));
    +			}
    +		$t++;
    +		}
    +
    +	$s++;
    +	}
    +
    +
    +### put call flows and counts together for sorting again
    +$s=0;
    +
    +echo "+--------+--------+--------+--------+------+------+\n";
    +echo "|        |        | QUEUE  | QUEUE  | IVR  | TOTAL|\n";
    +echo "| IVR    | QUEUE  | DROP   | DROP   | AVG  | AVG  |\n";
    +echo "| CALLS  | CALLS  | CALLS  | PERCENT| TIME | TIME | CALL PATH\n";
    +echo "+--------+--------+--------+--------+------+------+------------\n";
    +
    +while ($s <= $p)
    +	{
    +	$vcl_statuses = $MT;
    +	$FLOWdrop[$s]=0;
    +	$FLOWtotal[$s]=0;
    +	$FLOWdropPCT[$s]=0;
    +	$FLOWsummary = explode('__________',$FLOWunique_calls[$s]);
    +	$FLOWsummary[0] = ($FLOWsummary[0] + 0);
    +
    +	$FLOWunique_calls_list[$s] = preg_replace("/,$/","",$FLOWunique_calls_list[$s]);
    +
    +
    +	##### Grab all records for the IVR for the specified time period
    +	$stmt="select status,length_in_sec from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id IN($group_SQL) and uniqueid IN($FLOWunique_calls_list[$s]);";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$vcl_statuses_to_print = mysql_num_rows($rslt);
    +	$w=0;
    +	while ($w < $vcl_statuses_to_print)
    +		{
    +		$row=mysql_fetch_row($rslt);
    +		$vcl_statuses[$w] =		$row[0];
    +		if ( (ereg("DROP",$vcl_statuses[$w])) or (ereg("XDROP",$vcl_statuses[$w])) )
    +			{$FLOWdrop[$s]++;}
    +		$FLOWclose_time[$s] = ($FLOWclose_time[$s] + $row[1]);
    +		$FLOWtotal[$s]++;
    +		$w++;
    +		}
    +	if ( ($FLOWtotal[$s] > 0) and ($FLOWdrop[$s] > 0) )
    +		{
    +		$FLOWdropPCT[$s] = ( ($FLOWdrop[$s] / $FLOWtotal[$s]) * 100);
    +		$FLOWdropPCT[$s] = round($FLOWdropPCT[$s], 2);
    +		}
    +	$FLOWsummary[0] =	sprintf("%6s", $FLOWsummary[0]);
    +	$FLOWtotal[$s] =	sprintf("%6s", $FLOWtotal[$s]);
    +	$FLOWdrop[$s] =		sprintf("%6s", $FLOWdrop[$s]);
    +	$FLOWdropPCT[$s] =	sprintf("%6s", $FLOWdropPCT[$s]);
    +	$FLOWsummary[1] = ereg_replace('----------',' / ',$FLOWsummary[1]);
    +	$FLOWtotal_time[$s] = ($FLOWivr_time[$s] + $FLOWclose_time[$s]);
    +
    +	$avgFLOWivr_time[$s] = ($FLOWivr_time[$s] / $FLOWsummary[0]);
    +	$avgFLOWivr_time[$s] = round($avgFLOWivr_time[$s], 0);
    +	$avgFLOWivr_time[$s] = sprintf("%4s", $avgFLOWivr_time[$s]);
    +	$avgFLOWtotal_time[$s] = ($FLOWtotal_time[$s] / $FLOWsummary[0]);
    +	$avgFLOWtotal_time[$s] = round($avgFLOWtotal_time[$s], 0);
    +	$avgFLOWtotal_time[$s] = sprintf("%4s", $avgFLOWtotal_time[$s]);
    +
    +	$totFLOWtotal_time = ($totFLOWtotal_time + $FLOWtotal_time[$s]);
    +	$totFLOWivr_time = ($totFLOWivr_time + $FLOWivr_time[$s]);
    +	$totFLOWtotal = ($totFLOWtotal + $FLOWtotal[$s]);
    +	$totFLOWdrop = ($totFLOWdrop + $FLOWdrop[$s]);
    +
    +	echo "| $FLOWsummary[0] | $FLOWtotal[$s] | $FLOWdrop[$s] | $FLOWdropPCT[$s]%| $avgFLOWivr_time[$s] | $avgFLOWtotal_time[$s] | $FLOWsummary[1]\n";
    +
    +	$s++;
    +	}
    +$TOTALcalls = sprintf("%6s", $TOTALcalls);
    +$totFLOWtotal = sprintf("%6s", $totFLOWtotal);
    +$totFLOWdrop = sprintf("%6s", $totFLOWdrop);
    +if ( ($totFLOWivr_time > 0) and ($TOTALcalls > 0) )
    +	{$TavgFLOWivr_time = ($totFLOWivr_time / $TOTALcalls);}
    +$TavgFLOWivr_time = round($TavgFLOWivr_time, 0);
    +$TavgFLOWivr_time = sprintf("%4s", $TavgFLOWivr_time);
    +if ( ($totFLOWtotal_time > 0) and ($TOTALcalls > 0) )
    +	{$TavgFLOWtotal_time = ($totFLOWtotal_time / $TOTALcalls);}
    +$TavgFLOWtotal_time = round($TavgFLOWtotal_time, 0);
    +$TavgFLOWtotal_time = sprintf("%4s", $TavgFLOWtotal_time);
    +if ( ($totFLOWtotal < 1) or ($totFLOWdrop < 1) )
    +	{$totFLOWdropPCT = '0';}
    +else
    +	{
    +	$totFLOWdropPCT = (($totFLOWdrop / $totFLOWtotal) * 100);
    +	$totFLOWdropPCT = round($totFLOWdropPCT, 0);
    +	}
    +$totFLOWdropPCT = sprintf("%5s", $totFLOWdropPCT);
    +
    +echo "+--------+--------+--------+--------+------+------+------------\n";
    +echo "| $TOTALcalls | $totFLOWtotal | $totFLOWdrop | $totFLOWdropPCT% | $TavgFLOWivr_time | $TavgFLOWtotal_time |\n";
    +echo "+--------+--------+--------+--------+------+------+\n";
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +##############################
    +#########  TIME STATS
    +
    +echo "\n";
    +echo "---------- TIME STATS\n";
    +
    +echo "\n";
    +
    +$hi_hour_count=0;
    +$last_full_record=0;
    +$i=0;
    +$h=0;
    +while ($i <= 96)
    +	{
    +	$stmt="select count(*) from live_inbound_log where start_time >= '$query_date $h:00:00' and start_time <= '$query_date $h:14:59' and comment_a IN($group_SQL) and comment_b='START';";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$hour_count[$i] = $row[0];
    +	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
    +	if ($hour_count[$i] > 0) {$last_full_record = $i;}
    +	$i++;
    +
    +
    +	$stmt="select count(*) from live_inbound_log where start_time >= '$query_date $h:15:00' and start_time <= '$query_date $h:29:59' and comment_a IN($group_SQL) and comment_b='START';";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$hour_count[$i] = $row[0];
    +	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
    +	if ($hour_count[$i] > 0) {$last_full_record = $i;}
    +	$i++;
    +
    +	$stmt="select count(*) from live_inbound_log where start_time >= '$query_date $h:30:00' and start_time <= '$query_date $h:44:59' and comment_a IN($group_SQL) and comment_b='START';";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$hour_count[$i] = $row[0];
    +	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
    +	if ($hour_count[$i] > 0) {$last_full_record = $i;}
    +	$i++;
    +
    +	$stmt="select count(*) from live_inbound_log where start_time >= '$query_date $h:45:00' and start_time <= '$query_date $h:59:59' and comment_a IN($group_SQL) and comment_b='START';";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$hour_count[$i] = $row[0];
    +	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
    +	if ($hour_count[$i] > 0) {$last_full_record = $i;}
    +	$i++;
    +	$h++;
    +	}
    +
    +if ($hi_hour_count < 1)
    +	{$hour_multiplier = 0;}
    +else
    +	{
    +	$hour_multiplier = (100 / $hi_hour_count);
    +	#$hour_multiplier = round($hour_multiplier, 0);
    +	}
    +
    +echo "\n";
    +echo "GRAPH IN 15 MINUTE INCREMENTS OF TOTAL CALLS TAKEN INTO THIS IVR\n";
    +
    +$k=1;
    +$Mk=0;
    +$call_scale = '0';
    +while ($k <= 102) 
    +	{
    +	if ($Mk >= 5) 
    +		{
    +		$Mk=0;
    +		if ( ($k < 1) or ($hour_multiplier <= 0) )
    +			{$scale_num = 100;}
    +		else
    +			{
    +			$scale_num=($k / $hour_multiplier);
    +			$scale_num = round($scale_num, 0);
    +			}
    +		$LENscale_num = (strlen($scale_num));
    +		$k = ($k + $LENscale_num);
    +		$call_scale .= "$scale_num";
    +		}
    +	else
    +		{
    +		$call_scale .= " ";
    +		$k++;   $Mk++;
    +		}
    +	}
    +
    +
    +echo "+------+-------------------------------------------------------------------------------------------------------+-------+\n";
    +#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | TOTAL |\n";
    +echo "| HOUR |$call_scale| TOTAL |\n";
    +echo "+------+-------------------------------------------------------------------------------------------------------+-------+\n";
    +
    +$ZZ = '00';
    +$i=0;
    +$h=4;
    +$hour= -1;
    +$no_lines_yet=1;
    +
    +while ($i <= 96)
    +	{
    +	$char_counter=0;
    +	$time = '      ';
    +	if ($h >= 4) 
    +		{
    +		$hour++;
    +		$h=0;
    +		if ($hour < 10) {$hour = "0$hour";}
    +		$time = "+$hour$ZZ+";
    +		}
    +	if ($h == 1) {$time = "   15 ";}
    +	if ($h == 2) {$time = "   30 ";}
    +	if ($h == 3) {$time = "   45 ";}
    +	$Ghour_count = $hour_count[$i];
    +	if ($Ghour_count < 1) 
    +		{
    +		if ( ($no_lines_yet) or ($i > $last_full_record) )
    +			{
    +			$do_nothing=1;
    +			}
    +		else
    +			{
    +			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
    +			echo "|$time|";
    +			$k=0;   while ($k <= 102) {echo " ";   $k++;}
    +			echo "| $hour_count[$i] |\n";
    +			}
    +		}
    +	else
    +		{
    +		$no_lines_yet=0;
    +		$Xhour_count = ($Ghour_count * $hour_multiplier);
    +		$Yhour_count = (99 - $Xhour_count);
    +
    +		$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
    +
    +		echo "|$time|";
    +		$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
    +		echo "*X";   $char_counter++;
    +		$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
    +			while ($char_counter <= 101) {echo " ";   $char_counter++;}
    +		echo "| $hour_count[$i] |\n";
    +		}
    +	
    +	
    +	$i++;
    +	$h++;
    +	}
    +
    +
    +echo "+------+-------------------------------------------------------------------------------------------------------+-------+\n\n";
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +$ENDtime = date("U");
    +$RUNtime = ($ENDtime - $STARTtime);
    +echo "\nRun Time: $RUNtime seconds\n";
    +}
    +
    +
    +
    +?>
    +
    +
    + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_VDADstats.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_VDADstats.php new file mode 100644 index 00000000..5def1941 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_VDADstats.php @@ -0,0 +1,1011 @@ + LICENSE: AGPLv2 +# +# CHANGES +# 60619-1718 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 61215-1139 - Added drop percentage of answered and round-2 decimal +# 71008-1436 - Added shift to be defined in dbconnect.php +# 71218-1155 - Added end_date for multi-day reports +# 80430-1920 - Added Customer hangup cause stats +# 80620-0031 - Fixed human answered calculation for drop perfentage +# 80709-0230 - Added time stats to call statuses +# 80717-2118 - Added calls/hour out of agent login time in status summary +# 80722-2049 - Added Status Category stats +# 81109-2341 - Added Productivity Rating +# 90225-1140 - Changed to multi-campaign capability +# 90310-2034 - Admin header +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["agent_hours"])) {$agent_hours=$_GET["agent_hours"];} + elseif (isset($_POST["agent_hours"])) {$agent_hours=$_POST["agent_hours"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +if (strlen($shift)<2) {$shift='ALL';} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 7 and view_reports='1';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} + +$stmt="select campaign_id from vicidial_campaigns;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$campaigns_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $campaigns_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + +$i=0; +$group_string='|'; +$group_ct = count($group); +while($i < $group_ct) + { + $group_string .= "$group[$i]|"; + $group_SQL .= "'$group[$i]',"; + $groupQS .= "&group[]=$group[$i]"; + $i++; + } +if ( (ereg("--ALL--",$group_string) ) or ($group_ct < 1) ) + {$group_SQL = "";} +else + { + $group_SQL = eregi_replace(",$",'',$group_SQL); + $group_SQLand = "and campaign_id IN($group_SQL)"; + $group_SQL = "where campaign_id IN($group_SQL)"; + } + +$stmt="select vsc_id,vsc_name from vicidial_status_categories;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$statcats_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $statcats_to_print) + { + $row=mysql_fetch_row($rslt); + $vsc_id[$i] = $row[0]; + $vsc_name[$i] = $row[1]; + $vsc_count[$i] = 0; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: VDAD Stats\n"; + +$short_header=1; + +require("admin_header.php"); + +echo "
    "; + +echo "
    \n"; +echo "
    Dates:
    "; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    to
    \n"; +echo "
    Campaigns:
    "; +echo "\n"; +echo "
    Shift:
    "; +echo "

    \n"; +echo "\n"; +echo "
            "; +echo ""; +if (strlen($group[0]) > 1) + { + echo " MODIFY | \n"; + echo " REPORTS \n"; + } +else + { + echo " CAMPAIGNS | \n"; + echo " REPORTS \n"; + } +echo "
    "; +echo "
    \n\n"; + +echo "
    \n\n";
    +
    +
    +if (strlen($group[0]) < 1)
    +{
    +echo "\n\n";
    +echo "PLEASE SELECT A CAMPAIGN AND DATE ABOVE AND CLICK SUBMIT\n";
    +}
    +
    +else
    +{
    +if ($shift == 'AM') 
    +	{
    +	$time_BEGIN=$AM_shift_BEGIN;
    +	$time_END=$AM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
    +	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
    +	}
    +if ($shift == 'PM') 
    +	{
    +	$time_BEGIN=$PM_shift_BEGIN;
    +	$time_END=$PM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
    +	}
    +if ($shift == 'ALL') 
    +	{
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +	}
    +$query_date_BEGIN = "$query_date $time_BEGIN";   
    +$query_date_END = "$end_date $time_END";
    +
    +
    +
    +echo "VICIDIAL: Auto-dial Stats                             $NOW_TIME\n";
    +
    +echo "\n";
    +echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
    +echo "---------- TOTALS\n";
    +
    +$stmt="select count(*),sum(length_in_sec) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' $group_SQLand;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +
    +$TOTALcalls =	sprintf("%10s", $row[0]);
    +$TOTALsec =		$row[1];
    +if ( ($row[0] < 1) or ($TOTALsec < 1) )
    +	{$average_hold_seconds = '         0';}
    +else
    +	{
    +	$average_hold_seconds = ($TOTALsec / $row[0]);
    +	$average_hold_seconds = round($average_hold_seconds, 2);
    +	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
    +	}
    +echo "Total Calls placed from this Campaign:        $TOTALcalls\n";
    +echo "Average Call Length for all Calls in seconds: $average_hold_seconds\n";
    +
    +
    +echo "\n";
    +echo "---------- DROPS\n";
    +
    +$stmt="select count(*),sum(length_in_sec) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' $group_SQLand and status='DROP' and (length_in_sec <= 6000 or length_in_sec is null);";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +$DROPcalls =	sprintf("%10s", $row[0]);
    +$DROPcallsRAW =	$row[0];
    +$DROPseconds =	$row[1];
    +
    +
    +# GET LIST OF ALL STATUSES and create SQL from human_answered statuses
    +$q=0;
    +$stmt = "SELECT status,status_name,human_answered,category from vicidial_statuses;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$statuses_to_print = mysql_num_rows($rslt);
    +$p=0;
    +while ($p < $statuses_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$status[$q] =			$row[0];
    +	$status_name[$q] =		$row[1];
    +	$human_answered[$q] =	$row[2];
    +	$category[$q] =			$row[3];
    +	$statname_list["$status[$q]"] = "$status_name[$q]";
    +	$statcat_list["$status[$q]"] = "$category[$q]";
    +	if ($human_answered[$q]=='Y')
    +		{$camp_ANS_STAT_SQL .=	 "'$row[0]',";}
    +	$q++;
    +	$p++;
    +	}
    +
    +$stmt = "SELECT distinct status,status_name,human_answered,category from vicidial_campaign_statuses $group_SQL;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$statuses_to_print = mysql_num_rows($rslt);
    +$p=0;
    +while ($p < $statuses_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$status[$q] =			$row[0];
    +	$status_name[$q] =		$row[1];
    +	$human_answered[$q] =	$row[2];
    +	$category[$q] =			$row[3];
    +	$statname_list["$status[$q]"] = "$status_name[$q]";
    +	$statcat_list["$status[$q]"] = "$category[$q]";
    +	if ($human_answered[$q]=='Y')
    +		{$camp_ANS_STAT_SQL .=	 "'$row[0]',";}
    +	$q++;
    +	$p++;
    +	}
    +$camp_ANS_STAT_SQL = eregi_replace(",$",'',$camp_ANS_STAT_SQL);
    +
    +
    +$stmt="select count(*) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' $group_SQLand and status IN($camp_ANS_STAT_SQL);";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +$ANSWERcalls =	$row[0];
    +
    +if ( ($DROPcalls < 1) or ($TOTALcalls < 1) )
    +	{$DROPpercent = '0';}
    +else
    +	{
    +	$DROPpercent = (($DROPcallsRAW / $TOTALcalls) * 100);
    +	$DROPpercent = round($DROPpercent, 2);
    +	}
    +
    +if ( ($DROPcalls < 1) or ($ANSWERcalls < 1) )
    +	{$DROPANSWERpercent = '0';}
    +else
    +	{
    +	$DROPANSWERpercent = (($DROPcallsRAW / $ANSWERcalls) * 100);
    +	$DROPANSWERpercent = round($DROPANSWERpercent, 2);
    +	}
    +
    +if ( ($DROPseconds < 1) or ($DROPcallsRAW < 1) )
    +	{$average_hold_seconds = '         0';}
    +else
    +	{
    +	$average_hold_seconds = ($DROPseconds / $DROPcallsRAW);
    +	$average_hold_seconds = round($average_hold_seconds, 2);
    +	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
    +	}
    +
    +echo "Total DROP Calls:                             $DROPcalls  $DROPpercent%\n";
    +echo "Percent of DROP Calls taken out of Answers:   $DROPcalls / $ANSWERcalls  $DROPANSWERpercent%\n";
    +echo "Average Length for DROP Calls in seconds:     $average_hold_seconds\n";
    +
    +
    +$stmt = "select closer_campaigns from vicidial_campaigns $group_SQL;";
    +$rslt=mysql_query($stmt, $link);
    +$ccamps_to_print = mysql_num_rows($rslt);
    +$c=0;
    +while ($ccamps_to_print > $c)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$closer_campaigns = $row[0];
    +	$closer_campaigns = preg_replace("/^ | -$/","",$closer_campaigns);
    +	$closer_campaigns = preg_replace("/ /","','",$closer_campaigns);
    +	$closer_campaignsSQL .= "'$closer_campaigns',";
    +	$c++;
    +	}
    +$closer_campaignsSQL = eregi_replace(",$",'',$closer_campaignsSQL);
    +
    +$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id IN($closer_campaignsSQL) and status NOT IN('DROP','XDROP','HXFER','QVMAIL','HOLDTO','LIVE','QUEUE');";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +$TOTALanswers = ($row[0] + $ANSWERcalls);
    +
    +
    +$stmt = "SELECT sum(wait_sec + talk_sec + dispo_sec) from vicidial_agent_log where event_time >= '$query_date_BEGIN' and event_time <= '$query_date_END' $group_SQLand;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +$agent_non_pause_sec = $row[0];
    +
    +if ($agent_non_pause_sec > 0)
    +	{
    +	$AVG_ANSWERagent_non_pause_sec = (($TOTALanswers / $agent_non_pause_sec) * 60);
    +	$AVG_ANSWERagent_non_pause_sec = round($AVG_ANSWERagent_non_pause_sec, 2);
    +	}
    +else
    +	{$AVG_ANSWERagent_non_pause_sec=0;}
    +$AVG_ANSWERagent_non_pause_sec = sprintf("%10s", $AVG_ANSWERagent_non_pause_sec);
    +
    +echo "Productivity Rating:                          $AVG_ANSWERagent_non_pause_sec\n";
    +
    +
    +
    +
    +echo "\n";
    +echo "---------- AUTO-DIAL NO ANSWERS\n";
    +
    +$stmt="select count(*),sum(length_in_sec) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' $group_SQLand and status IN('NA','B') and (length_in_sec <= 60 or length_in_sec is null);";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +
    +$NAcalls =	sprintf("%10s", $row[0]);
    +if ( ($NAcalls < 1) or ($TOTALcalls < 1) )
    +	{$NApercent = '0';}
    +else
    +	{
    +	$NApercent = (($NAcalls / $TOTALcalls) * 100);
    +	$NApercent = round($NApercent, 2);
    +	}
    +
    +if ( ($row[0] < 1) or ($row[1] < 1) )
    +	{$average_na_seconds = '         0';}
    +else
    +	{
    +	$average_na_seconds = ($row[1] / $row[0]);
    +	$average_na_seconds = round($average_na_seconds, 2);
    +	$average_na_seconds =	sprintf("%10s", $average_na_seconds);
    +	}
    +
    +echo "Total NA calls -Busy,Disconnect,RingNoAnswer: $NAcalls  $NApercent%\n";
    +echo "Average Call Length for NA Calls in seconds:  $average_na_seconds\n";
    +
    +
    +##############################
    +#########  CALL HANGUP REASON STATS
    +
    +$TOTALcalls = 0;
    +
    +echo "\n";
    +echo "---------- CALL HANGUP REASON STATS\n";
    +echo "+----------------------+------------+\n";
    +echo "| HANGUP REASON        | CALLS      |\n";
    +echo "+----------------------+------------+\n";
    +
    +$stmt="select count(*),term_reason from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' $group_SQLand group by term_reason;";
    +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$reasons_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $reasons_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +
    +	$TOTALcalls = ($TOTALcalls + $row[0]);
    +
    +	$REASONcount =	sprintf("%10s", $row[0]);while(strlen($REASONcount)>10) {$REASONcount = substr("$REASONcount", 0, -1);}
    +	$reason =	sprintf("%-20s", $row[1]);while(strlen($reason)>20) {$reason = substr("$reason", 0, -1);}
    +	if (ereg("NONE",$reason))	{$reason = 'NO ANSWER           ';}
    +	if (ereg("CALLER",$reason)) {$reason = 'CUSTOMER            ';}
    +
    +	echo "| $reason | $REASONcount |\n";
    +
    +	$i++;
    +	}
    +
    +$TOTALcalls =		sprintf("%10s", $TOTALcalls);
    +
    +echo "+----------------------+------------+\n";
    +echo "| TOTAL:               | $TOTALcalls |\n";
    +echo "+----------------------+------------+\n";
    +
    +
    +
    +
    +
    +##############################
    +#########  CALL STATUS STATS
    +
    +$TOTALcalls = 0;
    +
    +echo "\n";
    +echo "---------- CALL STATUS STATS\n";
    +echo "+--------+----------------------+----------------------+------------+----------------------------------+----------+\n";
    +echo "|        |                      |                      |            |      CALL TIME                   |AGENT TIME|\n";
    +echo "| STATUS | DESCRIPTION          | CATEGORY             | CALLS      | TOTAL TIME | AVG TIME |CALLS/HOUR|CALLS/HOUR|\n";
    +echo "+--------+----------------------+----------------------+------------+------------+----------+----------+----------+\n";
    +
    +
    +## Pull the count of agent seconds for the total tally
    +$stmt="SELECT sum(pause_sec + wait_sec + talk_sec + dispo_sec) from vicidial_agent_log where event_time >= '$query_date_BEGIN' and event_time <= '$query_date_END' $group_SQLand and pause_sec<36000 and wait_sec<36000 and talk_sec<36000 and dispo_sec<36000;";
    +$rslt=mysql_query($stmt, $link);
    +$Ctally_to_print = mysql_num_rows($rslt);
    +if ($Ctally_to_print > 0) 
    +	{
    +	$rowx=mysql_fetch_row($rslt);
    +	$AGENTsec = "$rowx[0]";
    +	}
    +
    +
    +## get counts and time totals for all statuses in this campaign
    +$stmt="select count(*),status,sum(length_in_sec) from vicidial_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END'  $group_SQLand group by status;";
    +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$statuses_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $statuses_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +
    +	$STATUScount =	$row[0];
    +	$RAWstatus =	$row[1];
    +	$r=0;
    +	while ($r < $statcats_to_print)
    +		{
    +		if ($statcat_list[$RAWstatus] == "$vsc_id[$r]")
    +			{
    +			$vsc_count[$r] = ($vsc_count[$r] + $STATUScount);
    +			}
    +		$r++;
    +		}
    +	if ($AGENTsec < 1) {$AGENTsec=1;}
    +	$TOTALcalls =	($TOTALcalls + $row[0]);
    +	$STATUSrate =	($STATUScount / ($TOTALsec / 3600) );
    +		$STATUSrate =	sprintf("%.2f", $STATUSrate);
    +	$AGENTrate =	($STATUScount / ($AGENTsec / 3600) );
    +		$AGENTrate =	sprintf("%.2f", $AGENTrate);
    +
    +	$STATUShours_H =	($row[2] / 3600);
    +	$STATUShours_H_int = round($STATUShours_H, 2);
    +	$STATUShours_H_int = intval("$STATUShours_H_int");
    +	$STATUShours_M = ($STATUShours_H - $STATUShours_H_int);
    +	$STATUShours_M = ($STATUShours_M * 60);
    +	$STATUShours_M_int = round($STATUShours_M, 2);
    +	$STATUShours_M_int = intval("$STATUShours_M_int");
    +	$STATUShours_S = ($STATUShours_M - $STATUShours_M_int);
    +	$STATUShours_S = ($STATUShours_S * 60);
    +	$STATUShours_S = round($STATUShours_S, 0);
    +	if ($STATUShours_S < 10) {$STATUShours_S = "0$STATUShours_S";}
    +	if ($STATUShours_M_int < 10) {$STATUShours_M_int = "0$STATUShours_M_int";}
    +	$STATUShours = "$STATUShours_H_int:$STATUShours_M_int:$STATUShours_S";
    +
    +	$STATUSavg_H =	(($row[2] / 3600) / $STATUScount);
    +	$STATUSavg_H_int = round($STATUSavg_H, 2);
    +	$STATUSavg_H_int = intval("$STATUSavg_H_int");
    +	$STATUSavg_M = ($STATUSavg_H - $STATUSavg_H_int);
    +	$STATUSavg_M = ($STATUSavg_M * 60);
    +	$STATUSavg_M_int = round($STATUSavg_M, 2);
    +	$STATUSavg_M_int = intval("$STATUSavg_M_int");
    +	$STATUSavg_S = ($STATUSavg_M - $STATUSavg_M_int);
    +	$STATUSavg_S = ($STATUSavg_S * 60);
    +	$STATUSavg_S = round($STATUSavg_S, 0);
    +	if ($STATUSavg_S < 10) {$STATUSavg_S = "0$STATUSavg_S";}
    +	if ($STATUSavg_M_int < 10) {$STATUSavg_M_int = "0$STATUSavg_M_int";}
    +	$STATUSavg = "$STATUSavg_H_int:$STATUSavg_M_int:$STATUSavg_S";
    +
    +	$STATUScount =	sprintf("%10s", $row[0]);while(strlen($STATUScount)>10) {$STATUScount = substr("$STATUScount", 0, -1);}
    +	$status =	sprintf("%-6s", $row[1]);while(strlen($status)>6) {$status = substr("$status", 0, -1);}
    +	$STATUShours =	sprintf("%10s", $STATUShours);while(strlen($STATUShours)>10) {$STATUShours = substr("$STATUShours", 0, -1);}
    +	$STATUSavg =	sprintf("%8s", $STATUSavg);while(strlen($STATUSavg)>8) {$STATUSavg = substr("$STATUSavg", 0, -1);}
    +	$STATUSrate =	sprintf("%8s", $STATUSrate);while(strlen($STATUSrate)>8) {$STATUSrate = substr("$STATUSrate", 0, -1);}
    +	$AGENTrate =	sprintf("%8s", $AGENTrate);while(strlen($AGENTrate)>8) {$AGENTrate = substr("$AGENTrate", 0, -1);}
    +
    +	if ($non_latin < 1)
    +		{
    +		$status_name =	sprintf("%-20s", $statname_list[$RAWstatus]); 
    +		while(strlen($status_name)>20) {$status_name = substr("$status_name", 0, -1);}	
    +		$statcat =	sprintf("%-20s", $statcat_list[$RAWstatus]); 
    +		while(strlen($statcat)>20) {$statcat = substr("$statcat", 0, -1);}	
    +		}
    +	else
    +		{
    +		$status_name =	sprintf("%-60s", $statname_list[$RAWstatus]); 
    +		while(mb_strlen($status_name,'utf-8')>20) {$status_name = mb_substr("$status_name", 0, -1,'utf-8');}	
    +		$statcat =	sprintf("%-60s", $statcat_list[$RAWstatus]); 
    +		while(mb_strlen($statcat,'utf-8')>20) {$statcat = mb_substr("$statcat", 0, -1,'utf-8');}	
    +		}
    +
    +	echo "| $status | $status_name | $statcat | $STATUScount | $STATUShours | $STATUSavg | $STATUSrate | $AGENTrate |\n";
    +
    +	$i++;
    +	}
    +
    +if ($TOTALcalls < 1)
    +	{
    +	$TOTALhours =	'0:00:00';
    +	$TOTALavg =		'0:00:00';
    +	$TOTALrate =	'0.00';
    +	}
    +else
    +	{
    +	$TOTALrate =	($TOTALcalls / ($TOTALsec / 3600) );
    +		$TOTALrate =	sprintf("%.2f", $TOTALrate);
    +	$aTOTALrate =	($TOTALcalls / ($AGENTsec / 3600) );
    +		$aTOTALrate =	sprintf("%.2f", $aTOTALrate);
    +
    +	$aTOTALhours_H =	($AGENTsec / 3600);
    +	$aTOTALhours_H_int = round($aTOTALhours_H, 2);
    +	$aTOTALhours_H_int = intval("$aTOTALhours_H_int");
    +	$aTOTALhours_M = ($aTOTALhours_H - $aTOTALhours_H_int);
    +	$aTOTALhours_M = ($aTOTALhours_M * 60);
    +	$aTOTALhours_M_int = round($aTOTALhours_M, 2);
    +	$aTOTALhours_M_int = intval("$aTOTALhours_M_int");
    +	$aTOTALhours_S = ($aTOTALhours_M - $aTOTALhours_M_int);
    +	$aTOTALhours_S = ($aTOTALhours_S * 60);
    +	$aTOTALhours_S = round($aTOTALhours_S, 0);
    +	if ($aTOTALhours_S < 10) {$aTOTALhours_S = "0$aTOTALhours_S";}
    +	if ($aTOTALhours_M_int < 10) {$aTOTALhours_M_int = "0$aTOTALhours_M_int";}
    +	$aTOTALhours = "$aTOTALhours_H_int:$aTOTALhours_M_int:$aTOTALhours_S";
    +
    +	$TOTALhours_H =	($TOTALsec / 3600);
    +	$TOTALhours_H_int = round($TOTALhours_H, 2);
    +	$TOTALhours_H_int = intval("$TOTALhours_H_int");
    +	$TOTALhours_M = ($TOTALhours_H - $TOTALhours_H_int);
    +	$TOTALhours_M = ($TOTALhours_M * 60);
    +	$TOTALhours_M_int = round($TOTALhours_M, 2);
    +	$TOTALhours_M_int = intval("$TOTALhours_M_int");
    +	$TOTALhours_S = ($TOTALhours_M - $TOTALhours_M_int);
    +	$TOTALhours_S = ($TOTALhours_S * 60);
    +	$TOTALhours_S = round($TOTALhours_S, 0);
    +	if ($TOTALhours_S < 10) {$TOTALhours_S = "0$TOTALhours_S";}
    +	if ($TOTALhours_M_int < 10) {$TOTALhours_M_int = "0$TOTALhours_M_int";}
    +	$TOTALhours = "$TOTALhours_H_int:$TOTALhours_M_int:$TOTALhours_S";
    +
    +	$TOTALavg_H =	(($TOTALsec / 3600) / $TOTALcalls);
    +	$TOTALavg_H_int = round($TOTALavg_H, 2);
    +	$TOTALavg_H_int = intval("$TOTALavg_H_int");
    +	$TOTALavg_M = ($TOTALavg_H - $TOTALavg_H_int);
    +	$TOTALavg_M = ($TOTALavg_M * 60);
    +	$TOTALavg_M_int = round($TOTALavg_M, 2);
    +	$TOTALavg_M_int = intval("$TOTALavg_M_int");
    +	$TOTALavg_S = ($TOTALavg_M - $TOTALavg_M_int);
    +	$TOTALavg_S = ($TOTALavg_S * 60);
    +	$TOTALavg_S = round($TOTALavg_S, 0);
    +	if ($TOTALavg_S < 10) {$TOTALavg_S = "0$TOTALavg_S";}
    +	if ($TOTALavg_M_int < 10) {$TOTALavg_M_int = "0$TOTALavg_M_int";}
    +	$TOTALavg = "$TOTALavg_H_int:$TOTALavg_M_int:$TOTALavg_S";
    +	}
    +$TOTALcalls =	sprintf("%10s", $TOTALcalls);
    +$TOTALhours =	sprintf("%10s", $TOTALhours);while(strlen($TOTALhours)>10) {$TOTALhours = substr("$TOTALhours", 0, -1);}
    +$aTOTALhours =	sprintf("%10s", $aTOTALhours);while(strlen($aTOTALhours)>10) {$aTOTALhours = substr("$aTOTALhours", 0, -1);}
    +$TOTALavg =	sprintf("%8s", $TOTALavg);while(strlen($TOTALavg)>8) {$TOTALavg = substr("$TOTALavg", 0, -1);}
    +$TOTALrate =	sprintf("%8s", $TOTALrate);while(strlen($TOTALrate)>8) {$TOTALrate = substr("$TOTALrate", 0, -1);}
    +$aTOTALrate =	sprintf("%8s", $aTOTALrate);while(strlen($aTOTALrate)>8) {$aTOTALrate = substr("$aTOTALrate", 0, -1);}
    +
    +echo "+--------+----------------------+----------------------+------------+------------+----------+----------+----------+\n";
    +echo "| TOTAL:                                               | $TOTALcalls | $TOTALhours | $TOTALavg | $TOTALrate |          |\n";
    +echo "|   AGENT TIME                                                      | $aTOTALhours |                     | $aTOTALrate |\n";
    +echo "+------------------------------------------------------+------------+------------+---------------------+----------+\n";
    +
    +
    +
    +##############################
    +#########  STATUS CATEGORY STATS
    +
    +echo "\n";
    +echo "---------- CUSTOM STATUS CATEGORY STATS\n";
    +echo "+----------------------+------------+--------------------------------+\n";
    +echo "| CATEGORY             | CALLS      | DESCRIPTION                    |\n";
    +echo "+----------------------+------------+--------------------------------+\n";
    +
    +
    +$TOTCATcalls=0;
    +$r=0;
    +while ($r < $statcats_to_print)
    +	{
    +	if ($vsc_id[$r] != 'UNDEFINED')
    +		{
    +		$TOTCATcalls = ($TOTCATcalls + $vsc_count[$r]);
    +		$category =	sprintf("%-20s", $vsc_id[$r]); while(strlen($category)>20) {$category = substr("$category", 0, -1);}
    +		$CATcount =	sprintf("%10s", $vsc_count[$r]); while(strlen($CATcount)>10) {$CATcount = substr("$CATcount", 0, -1);}
    +		$CATname =	sprintf("%-30s", $vsc_name[$r]); while(strlen($CATname)>30) {$CATname = substr("$CATname", 0, -1);}
    +
    +		echo "| $category | $CATcount | $CATname |\n";
    +		}
    +	$r++;
    +	}
    +
    +$TOTCATcalls =	sprintf("%10s", $TOTCATcalls); while(strlen($TOTCATcalls)>10) {$TOTCATcalls = substr("$TOTCATcalls", 0, -1);}
    +
    +echo "+----------------------+------------+--------------------------------+\n";
    +echo "| TOTAL                | $TOTCATcalls |\n";
    +echo "+----------------------+------------+\n";
    +
    +
    +
    +##############################
    +#########  USER STATS
    +
    +$TOTagents=0;
    +$TOTcalls=0;
    +$TOTtime=0;
    +$TOTavg=0;
    +
    +echo "\n";
    +echo "---------- AGENT STATS\n";
    +echo "+--------------------------+------------+----------+--------+\n";
    +echo "| AGENT                    | CALLS      | TIME M   | AVRG M |\n";
    +echo "+--------------------------+------------+----------+--------+\n";
    +
    +$stmt="select vicidial_log.user,full_name,count(*),sum(length_in_sec),avg(length_in_sec) from vicidial_log,vicidial_users where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' $group_SQLand and vicidial_log.user is not null and length_in_sec is not null and length_in_sec > 0 and vicidial_log.user=vicidial_users.user group by vicidial_log.user;";
    +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$users_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $users_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +
    +	$TOTcalls = ($TOTcalls + $row[2]);
    +	$TOTtime = ($TOTtime + $row[3]);
    +
    +	$user =	sprintf("%-6s", $row[0]);while(strlen($user)>6) {$user = substr("$user", 0, -1);}
    +	if ($non_latin < 1)
    +	{
    + 	 $full_name =	sprintf("%-15s", $row[1]); while(strlen($full_name)>15) {$full_name = substr("$full_name", 0, -1);}	
    +	}
    +	else
    +	{
    +	 $full_name =	sprintf("%-45s", $row[1]); while(mb_strlen($full_name,'utf-8')>15) {$full_name = mb_substr("$full_name", 0, -1,'utf-8');}	
    +	}
    +	$USERcalls =	sprintf("%10s", $row[2]);
    +	$USERtotTALK =	$row[3];
    +	$USERavgTALK =	$row[4];
    +
    +	$USERtotTALK_M = ($USERtotTALK / 60);
    +	$USERtotTALK_M_int = round($USERtotTALK_M, 2);
    +	$USERtotTALK_M_int = intval("$USERtotTALK_M_int");
    +	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
    +	$USERtotTALK_S = ($USERtotTALK_S * 60);
    +	$USERtotTALK_S = round($USERtotTALK_S, 0);
    +	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
    +	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
    +	$USERtotTALK_MS =		sprintf("%6s", $USERtotTALK_MS);
    +
    +	$USERavgTALK_M = ($USERavgTALK / 60);
    +	$USERavgTALK_M_int = round($USERavgTALK_M, 2);
    +	$USERavgTALK_M_int = intval("$USERavgTALK_M_int");
    +	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
    +	$USERavgTALK_S = ($USERavgTALK_S * 60);
    +	$USERavgTALK_S = round($USERavgTALK_S, 0);
    +	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
    +	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
    +	$USERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
    +
    +	echo "| $user - $full_name | $USERcalls |   $USERtotTALK_MS | $USERavgTALK_MS |\n";
    +
    +	$i++;
    +	}
    +
    +if (!$TOTcalls) {$TOTcalls = 1;}
    +$TOTavg = ($TOTtime / $TOTcalls);
    +$TOTavg = round($TOTavg, 0);
    +$TOTavg_M = ($TOTavg / 60);
    +$TOTavg_M_int = round($TOTavg_M, 2);
    +$TOTavg_M_int = intval("$TOTavg_M_int");
    +$TOTavg_S = ($TOTavg_M - $TOTavg_M_int);
    +$TOTavg_S = ($TOTavg_S * 60);
    +$TOTavg_S = round($TOTavg_S, 0);
    +if ($TOTavg_S < 10) {$TOTavg_S = "0$TOTavg_S";}
    +$TOTavg_MS = "$TOTavg_M_int:$TOTavg_S";
    +$TOTavg =		sprintf("%6s", $TOTavg_MS);
    +
    +$TOTtime_M = ($TOTtime / 60);
    +$TOTtime_M_int = round($TOTtime_M, 2);
    +$TOTtime_M_int = intval("$TOTtime_M_int");
    +$TOTtime_S = ($TOTtime_M - $TOTtime_M_int);
    +$TOTtime_S = ($TOTtime_S * 60);
    +$TOTtime_S = round($TOTtime_S, 0);
    +if ($TOTtime_S < 10) {$TOTtime_S = "0$TOTtime_S";}
    +$TOTtime_MS = "$TOTtime_M_int:$TOTtime_S";
    +$TOTtime =		sprintf("%6s", $TOTtime_MS);
    +
    +$TOTagents =		sprintf("%10s", $i);
    +$TOTcalls =			sprintf("%10s", $TOTcalls);
    +$TOTtime =			sprintf("%8s", $TOTtime);
    +$TOTavg =			sprintf("%6s", $TOTavg);
    +
    +$stmt="select avg(wait_sec) from vicidial_agent_log where event_time >= '$query_date_BEGIN' and event_time <= '$query_date_END' $group_SQLand;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +
    +$AVGwait = $row[0];
    +$AVGwait_M = ($AVGwait / 60);
    +$AVGwait_M_int = round($AVGwait_M, 2);
    +$AVGwait_M_int = intval("$AVGwait_M_int");
    +$AVGwait_S = ($AVGwait_M - $AVGwait_M_int);
    +$AVGwait_S = ($AVGwait_S * 60);
    +$AVGwait_S = round($AVGwait_S, 0);
    +if ($AVGwait_S < 10) {$AVGwait_S = "0$AVGwait_S";}
    +$AVGwait_MS = "$AVGwait_M_int:$AVGwait_S";
    +$AVGwait =		sprintf("%6s", $AVGwait_MS);
    +
    +echo "+--------------------------+------------+----------+--------+\n";
    +echo "| TOTAL Agents: $TOTagents | $TOTcalls | $TOTtime | $TOTavg |\n";
    +echo "+--------------------------+------------+----------+--------+\n";
    +echo "| Average Wait time between calls                    $AVGwait |\n";
    +echo "+-----------------------------------------------------------+\n";
    +
    +##############################
    +#########  TIME STATS
    +
    +echo "\n";
    +echo "---------- TIME STATS\n";
    +
    +echo "\n";
    +
    +$hi_hour_count=0;
    +$last_full_record=0;
    +$i=0;
    +$h=0;
    +while ($i <= 96)
    +	{
    +	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' $group_SQLand;";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$hour_count[$i] = $row[0];
    +	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
    +	if ($hour_count[$i] > 0) {$last_full_record = $i;}
    +	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:00:00' and call_date <= '$query_date $h:14:59' $group_SQLand and status='DROP';";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$drop_count[$i] = $row[0];
    +	$i++;
    +
    +
    +	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' $group_SQLand;";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$hour_count[$i] = $row[0];
    +	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
    +	if ($hour_count[$i] > 0) {$last_full_record = $i;}
    +	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:15:00' and call_date <= '$query_date $h:29:59' $group_SQLand and status='DROP';";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$drop_count[$i] = $row[0];
    +	$i++;
    +
    +	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' $group_SQLand;";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$hour_count[$i] = $row[0];
    +	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
    +	if ($hour_count[$i] > 0) {$last_full_record = $i;}
    +	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:30:00' and call_date <= '$query_date $h:44:59' $group_SQLand and status='DROP';";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$drop_count[$i] = $row[0];
    +	$i++;
    +
    +	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' $group_SQLand;";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$hour_count[$i] = $row[0];
    +	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
    +	if ($hour_count[$i] > 0) {$last_full_record = $i;}
    +	$stmt="select count(*) from vicidial_log where call_date >= '$query_date $h:45:00' and call_date <= '$query_date $h:59:59' $group_SQLand and status='DROP';";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$drop_count[$i] = $row[0];
    +	$i++;
    +	$h++;
    +	}
    +
    +if ($hi_hour_count < 1)
    +	{$hour_multiplier = 0;}
    +else
    +	{
    +	$hour_multiplier = (100 / $hi_hour_count);
    +	#$hour_multiplier = round($hour_multiplier, 0);
    +	}
    +
    +echo "\n";
    +echo "GRAPH IN 15 MINUTE INCREMENTS OF TOTAL CALLS PLACED FROM THIS CAMPAIGN\n";
    +
    +$k=1;
    +$Mk=0;
    +$call_scale = '0';
    +while ($k <= 102) 
    +	{
    +	if ($Mk >= 5) 
    +		{
    +		$Mk=0;
    +		if ( ($k < 1) or ($hour_multiplier <= 0) )
    +			{$scale_num = 100;}
    +		else
    +			{
    +			$scale_num=($k / $hour_multiplier);
    +			$scale_num = round($scale_num, 0);
    +			}
    +		$LENscale_num = (strlen($scale_num));
    +		$k = ($k + $LENscale_num);
    +		$call_scale .= "$scale_num";
    +		}
    +	else
    +		{
    +		$call_scale .= " ";
    +		$k++;   $Mk++;
    +		}
    +	}
    +
    +
    +echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
    +#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | DROPS | TOTAL |\n";
    +echo "| HOUR |$call_scale| DROPS | TOTAL |\n";
    +echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
    +
    +$ZZ = '00';
    +$i=0;
    +$h=4;
    +$hour= -1;
    +$no_lines_yet=1;
    +
    +while ($i <= 96)
    +	{
    +	$char_counter=0;
    +	$time = '      ';
    +	if ($h >= 4) 
    +		{
    +		$hour++;
    +		$h=0;
    +		if ($hour < 10) {$hour = "0$hour";}
    +		$time = "+$hour$ZZ+";
    +		}
    +	if ($h == 1) {$time = "   15 ";}
    +	if ($h == 2) {$time = "   30 ";}
    +	if ($h == 3) {$time = "   45 ";}
    +	$Ghour_count = $hour_count[$i];
    +	if ($Ghour_count < 1) 
    +		{
    +		if ( ($no_lines_yet) or ($i > $last_full_record) )
    +			{
    +			$do_nothing=1;
    +			}
    +		else
    +			{
    +			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
    +			echo "|$time|";
    +			$k=0;   while ($k <= 102) {echo " ";   $k++;}
    +			echo "| $hour_count[$i] |\n";
    +			}
    +		}
    +	else
    +		{
    +		$no_lines_yet=0;
    +		$Xhour_count = ($Ghour_count * $hour_multiplier);
    +		$Yhour_count = (99 - $Xhour_count);
    +
    +		$Gdrop_count = $drop_count[$i];
    +		if ($Gdrop_count < 1) 
    +			{
    +			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
    +
    +			echo "|$time|";
    +			$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
    +			echo "*X";   $char_counter++;
    +			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
    +				while ($char_counter <= 101) {echo " ";   $char_counter++;}
    +			echo "| 0     | $hour_count[$i] |\n";
    +
    +			}
    +		else
    +			{
    +			$Xdrop_count = ($Gdrop_count * $hour_multiplier);
    +
    +		#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
    +
    +			$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
    +
    +			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
    +			$drop_count[$i] =	sprintf("%-5s", $drop_count[$i]);
    +
    +			echo "|$time|";
    +			$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
    +			echo "D";   $char_counter++;
    +			$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
    +			echo "X";   $char_counter++;
    +			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
    +				while ($char_counter <= 102) {echo " ";   $char_counter++;}
    +			echo "| $drop_count[$i] | $hour_count[$i] |\n";
    +			}
    +		}
    +	
    +	
    +	$i++;
    +	$h++;
    +	}
    +
    +
    +echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
    +
    +
    +
    +
    +
    +
    +$ENDtime = date("U");
    +$RUNtime = ($ENDtime - $STARTtime);
    +echo "\nRun Time: $RUNtime seconds\n";
    +
    +}
    +
    +
    +
    +?>
    +
    +
    + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_VICIDIAL_hopperlist.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_VICIDIAL_hopperlist.php new file mode 100644 index 00000000..1e6a59ce --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_VICIDIAL_hopperlist.php @@ -0,0 +1,169 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 60619-1654 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 70115-1614 - Added ALT field for vicidial_hopper alt_dial column +# 71029-0852 - Added list_id to the output +# 71030-2118 - Added priority to display +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and modify_campaigns='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($server_ip)) {$server_ip = '10.10.10.15';} + +$stmt="select campaign_id,campaign_name from vicidial_campaigns order by campaign_id;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$campaigns_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $campaigns_to_print) + { + $row=mysql_fetch_row($rslt); + $campaign_id[$i] =$row[0]; + $campaign_name[$i] =$row[1]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Hopper List\n"; +echo "
    \n"; +#echo "\n"; +#echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFY \n"; +echo "
    \n\n"; + +echo "
    \n\n";
    +
    +
    +if (!$group)
    +{
    +echo "\n\n";
    +echo "PLEASE SELECT A CAMPAIGN ABOVE AND CLICK SUBMIT\n";
    +}
    +
    +else
    +{
    +
    +
    +echo "VICIDIAL: Live Current Hopper List                      $NOW_TIME\n";
    +
    +echo "\n";
    +echo "---------- TOTALS\n";
    +
    +$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +
    +$TOTALcalls =	sprintf("%10s", $row[0]);
    +
    +echo "Total leads in hopper right now:       $TOTALcalls\n";
    +
    +
    +##############################
    +#########  LEAD STATS
    +
    +echo "\n";
    +echo "---------- LEADS IN HOPPER\n";
    +echo "+------+--------+-----------+------------+------------+-------+--------+-------+--------+-------+\n";
    +echo "|ORDER |PRIORITY| LEAD ID   | LIST ID    | PHONE NUM  | STATE | STATUS | COUNT | GMT    | ALT   |\n";
    +echo "+------+--------+-----------+------------+------------+-------+--------+-------+--------+-------+\n";
    +
    +$stmt="select vicidial_hopper.lead_id,phone_number,vicidial_hopper.state,vicidial_list.status,called_count,vicidial_hopper.gmt_offset_now,hopper_id,alt_dial,vicidial_hopper.list_id,vicidial_hopper.priority from vicidial_hopper,vicidial_list where vicidial_hopper.campaign_id='" . mysql_real_escape_string($group) . "' and vicidial_hopper.lead_id=vicidial_list.lead_id order by priority desc,hopper_id limit 2000;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$users_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $users_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +
    +	$FMT_i =		sprintf("%-4s", $i);
    +	$lead_id =		sprintf("%-9s", $row[0]);
    +	$phone_number =	sprintf("%-10s", $row[1]);
    +	$state =		sprintf("%-5s", $row[2]);
    +	$status =		sprintf("%-6s", $row[3]);
    +	$count =		sprintf("%-5s", $row[4]);
    +	$gmt =			sprintf("%-6s", $row[5]);
    +	$hopper_id =	sprintf("%-6s", $row[6]);
    +	$alt_dial =		sprintf("%-5s", $row[7]);
    +	$list_id =		sprintf("%-10s", $row[8]);
    +	$priority =		sprintf("%-6s", $row[9]);
    +
    +if ($DB) {echo "| $FMT_i | $priority | $lead_id | $list_id | $phone_number | $state | $status | $count | $gmt | $hopper_id |\n";}
    +else {echo "| $FMT_i | $priority | $lead_id | $list_id | $phone_number | $state | $status | $count | $gmt | $alt_dial |\n";}
    +
    +	$i++;
    +	}
    +
    +echo "+------+--------+-----------+------------+------------+-------+--------+-------+--------+-------+\n";
    +
    +
    +}
    +
    +
    +
    +?>
    +
    + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_admin_log_display.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_admin_log_display.php new file mode 100644 index 00000000..410b73e0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_admin_log_display.php @@ -0,0 +1,118 @@ + LICENSE: AGPLv2 +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$query_date = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$query_date); + +# AST GUI database administration +# AST_admin_log_display.php +# +# CHANGES +# 50325-0932 - First build +# 51123-1443 - removed globals=on requirement +# 60421-1229 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60620-1044 - Added variable filtering to eliminate SQL injection attack threat +# + +$version = '0.0.4'; +$build = '60620-1044'; + +$STARTtime = date("U"); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 8 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDIAL ADMIN LOG DISPLAY"; +echo "\n"; + +# Fri, 25 Mar 2005 + +$DAY_DATE = date("j"); +if ($DAY_DATE < 10) +# {$GREP_DATE = date("D, j M Y");} + {$GREP_DATE = date("D, 0j M Y");} +else + {$GREP_DATE = date("D, j M Y");} + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!$query_date) {$query_date = $GREP_DATE;} + +$Gquery_date = eregi_replace(" ",'\ ',$query_date); +echo "\n"; + +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "
    \n\n"; + +echo "
    \n\n";
    +
    +
    +echo "VICIDIAL ADMIN CHANGE LOG                             $NOW_TIME\n";
    +
    +#passthru("grep $Gquery_date /home/www/htdocs/vicidial/admin_changes_log.txt");
    +passthru("grep $Gquery_date $WeBServeRRooT/vicidial/admin_changes_log.txt");
    +
    +
    +?>
    +
    + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_days_detail.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_days_detail.php new file mode 100644 index 00000000..a679c978 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_days_detail.php @@ -0,0 +1,601 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 90206-2202 - First build +# 90225-1051 - Added CSV download option +# 90310-0752 - Added admin header +# + + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} + elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +if (strlen($shift)<2) {$shift='ALL';} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$MT[0]=''; +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} + +$stmt="select campaign_id from vicidial_campaigns;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$campaigns_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $campaigns_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + +$i=0; +$group_string='|'; +$group_ct = count($group); +while($i < $group_ct) + { + $group_string .= "$group[$i]|"; + $group_SQL .= "'$group[$i]',"; + $groupQS .= "&group[]=$group[$i]"; + $i++; + } +if ( (ereg("--ALL--",$group_string) ) or ($group_ct < 1) ) + {$group_SQL = "";} +else + { + $group_SQL = eregi_replace(",$",'',$group_SQL); + $group_SQL = "and campaign_id IN($group_SQL)"; + } + +$customer_interactive_statuses=''; +$stmt="select status from vicidial_statuses where human_answered='Y';"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$statha_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $statha_to_print) + { + $row=mysql_fetch_row($rslt); + $customer_interactive_statuses .= "|$row[0]"; + $i++; + } +$stmt="select status from vicidial_campaign_statuses where human_answered='Y';"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$statha_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $statha_to_print) + { + $row=mysql_fetch_row($rslt); + $customer_interactive_statuses .= "|$row[0]"; + $i++; + } +if (strlen($customer_interactive_statuses)>0) + {$customer_interactive_statuses .= '|';} + +#$customer_interactive_statuses = '|NI|DNC|CALLBK|AP|SALE|COMP|HAP1|HAP2|HBED|DIED|'; +#$customer_interactive_statuses = '|NI|DNC|CALLBK|XFER|C2|B7|B8|C1|'; + +$LINKbase = "$PHP_SELF?query_date=$query_date&end_date=$end_date&shift=$shift&DB=$DB&user=$user$groupQS"; + +if ($file_download < 1) + { + ?> + + + + + + \n"; + echo "VICIDIAL: Agent Days Status\n"; + echo ""; + + $short_header=1; + + require("admin_header.php"); + + echo "\n"; + echo "\n"; + echo "
    \n";
    +	}
    +
    +if (strlen($group[0]) < 1)
    +	{
    +	echo "\n";
    +	echo "PLEASE SELECT A USER AND DATE-TIME ABOVE AND CLICK SUBMIT\n";
    +	echo " NOTE: stats taken from shift specified\n";
    +	}
    +
    +else
    +	{
    +	if ($shift == 'AM') 
    +		{
    +		$time_BEGIN=$AM_shift_BEGIN;
    +		$time_END=$AM_shift_END;
    +		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
    +		if (strlen($time_END) < 6) {$time_END = "15:15:00";}
    +		}
    +	if ($shift == 'PM') 
    +		{
    +		$time_BEGIN=$PM_shift_BEGIN;
    +		$time_END=$PM_shift_END;
    +		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
    +		if (strlen($time_END) < 6) {$time_END = "23:15:00";}
    +		}
    +	if ($shift == 'ALL') 
    +		{
    +		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
    +		if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +		}
    +	$query_date_BEGIN = "$query_date $time_BEGIN";   
    +	$query_date_END = "$end_date $time_END";
    +
    +	if (strlen($user_group)>0) {$ugSQL="and vicidial_agent_log.user_group='$user_group'";}
    +	else {$ugSQL='';}
    +
    +	if ($file_download < 1)
    +		{
    +		echo "VICIDIAL: Agent Days Detail: $user                     $NOW_TIME\n";
    +
    +		echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
    +		echo "---------- AGENT Details -------------\n\n";
    +		}
    +	else
    +		{
    +		$file_output .= "VICIDIAL: Agent Days Detail: $user                     $NOW_TIME\n";
    +		$file_output .= "Time range: $query_date_BEGIN to $query_date_END\n\n";
    +		}
    +
    +	$statuses='-';
    +	$statusesTXT='';
    +	$statusesHEAD='';
    +	$statusesHTML='';
    +	$statusesFILE='';
    +	$statusesARY[0]='';
    +	$j=0;
    +	$dates='-';
    +	$datesARY[0]='';
    +	$date_namesARY[0]='';
    +	$k=0;
    +
    +	$stmt="select date_format(event_time, '%Y-%m-%d') as date,count(*) as calls,status from vicidial_users,vicidial_agent_log where event_time <= '$query_date_END' and event_time >= '$query_date_BEGIN' and vicidial_users.user=vicidial_agent_log.user and vicidial_agent_log.user='$user' $group_SQL $user_group_SQL group by date,status order by date,status desc limit 500000;";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$rows_to_print = mysql_num_rows($rslt);
    +	$i=0;
    +	while ($i < $rows_to_print)
    +		{
    +		$row=mysql_fetch_row($rslt);
    +
    +		if ( ($row[1] > 0) and (strlen($row[2]) > 0) )
    +			{
    +			$date[$i] =			$row[0];
    +			$calls[$i] =		$row[1];
    +			$status[$i] =		$row[2];
    +			if ( (!eregi("-$status[$i]-", $statuses)) and (strlen($status[$i])>0) )
    +				{
    +				$statusesTXT = sprintf("%8s", $status[$i]);
    +				$statusesHEAD .= "----------+";
    +				$statusesHTML .= " $statusesTXT |";
    +				$statusesFILE .= "$statusesTXT,";
    +				$statuses .= "$status[$i]-";
    +				$statusesARY[$j] = $status[$i];
    +				$j++;
    +				}
    +			if (!eregi("-$date[$i]-", $dates))
    +				{
    +				$dates .= "$date[$i]-";
    +				$datesARY[$k] = $date[$i];
    +				$k++;
    +				}
    +			}
    +		$i++;
    +		}
    +
    +	if ($file_download < 1)
    +		{
    +		echo "CALL STATS BREAKDOWN:\n";
    +		echo "+------------+--------+--------+--------+$statusesHEAD\n";
    +		echo "| DATE       | CALLS  | CIcalls| DNC/CI%|$statusesHTML\n";
    +		echo "+------------+--------+--------+--------+$statusesHEAD\n";
    +		}
    +	else
    +		{
    +		$file_output .= "DATE,CALLS,CIcalls,DNC-CI%,$statusesFILE\n";
    +		}
    +
    +	### BEGIN loop through each user ###
    +	$m=0;
    +	$CIScountTOT=0;
    +	$DNCcountTOT=0;
    +	while ($m < $k)
    +		{
    +		$Sdate=$datesARY[$m];
    +		$Scalls=$calls[$m];
    +		$SstatusesHTML='';
    +		$SstatusesFILE='';
    +		$CIScount=0;
    +		$DNCcount=0;
    +
    +		### BEGIN loop through each status ###
    +		$n=0;
    +		while ($n < $j)
    +			{
    +			$Sstatus=$statusesARY[$n];
    +			$SstatusTXT='';
    +			### BEGIN loop through each stat line ###
    +			$i=0; $status_found=0;
    +			while ($i < $rows_to_print)
    +				{
    +	#			if ( (eregi("$date[$i]", $Sdate)) and ($Sstatus=="$status[$i]") )
    +				if ( ($Sdate=="$date[$i]") and ($Sstatus=="$status[$i]") )
    +					{
    +					$Scalls =		($Scalls + $calls[$i]);
    +					if (eregi("\|$status[$i]\|",$customer_interactive_statuses))
    +						{
    +						$CIScount =	($CIScount + $calls[$i]);
    +						$CIScountTOT =	($CIScountTOT + $calls[$i]);
    +						}
    +					if (eregi("DNC", $status[$i]))
    +						{
    +						$DNCcount =	($DNCcount + $calls[$i]);
    +						$DNCcountTOT =	($DNCcountTOT + $calls[$i]);
    +						}
    +					$SstatusTXT = sprintf("%8s", $calls[$i]);
    +					$SstatusesHTML .= " $SstatusTXT |";
    +					$SstatusesFILE .= "$SstatusTXT,";
    +					$status_found++;
    +					}
    +				$i++;
    +				}
    +			if ($status_found < 1)
    +				{
    +				$SstatusesHTML .= "        0 |";
    +				}
    +			### END loop through each stat line ###
    +			$n++;
    +			}
    +		### END loop through each status ###
    +		$TOTcalls=($TOTcalls + $Scalls);
    +
    +		$RAWdate = $Sdate;
    +		$RAWcalls = $Scalls;
    +		$RAWcis = $CIScount;
    +		$Scalls =	sprintf("%6s", $Scalls);
    +		$CIScount =	sprintf("%6s", $CIScount);
    +
    +		$Sdate =		sprintf("%-10s", $Sdate);
    +			while(strlen($Suser)>10) {$Suser = substr("$Sdate", 0, -1);}
    +
    +		if ( ($DNCcount < 1) or ($CIScount < 1) )
    +			{$DNCcountPCTs=0;}
    +		else
    +			{
    +			$DNCcountPCTs = ( ($DNCcount / $CIScount) * 100);
    +			}
    +		$RAWdncPCT = $DNCcountPCTs;
    +	#	$DNCcountPCTs = round($DNCcountPCTs,2);
    +		$DNCcountPCTs = round($DNCcountPCTs);
    +		$rawDNCcountPCTs = $DNCcountPCTs;
    +	#	$DNCcountPCTs = sprintf("%3.2f", $DNCcountPCTs);
    +		$DNCcountPCTs = sprintf("%6s", $DNCcountPCTs);
    +
    +		if ($file_download < 1)
    +			{
    +			$Toutput = "| $Sdate | $Scalls | $CIScount | $DNCcountPCTs%|$SstatusesHTML\n";
    +			}
    +		else
    +			{
    +			$fileToutput = "$RAWdate,$RAWcalls,$RAWcis,$rawDNCcountPCTs%,$SstatusesFILE\n";
    +			}
    +
    +		$TOPsorted_output[$m] = $Toutput;
    +		$TOPsorted_outputFILE[$m] = $fileToutput;
    +
    +		if ($stage == 'ID')
    +			{
    +			$TOPsort[$m] =	'' . sprintf("%08s", $RAWdate) . '-----' . $m . '-----' . sprintf("%020s", $RAWdate);
    +			$TOPsortTALLY[$m]=$RAWcalls;
    +			}
    +		if ($stage == 'CALLS')
    +			{
    +			$TOPsort[$m] =	'' . sprintf("%08s", $RAWcalls) . '-----' . $m . '-----' . sprintf("%020s", $RAWdate);
    +			$TOPsortTALLY[$m]=$RAWcalls;
    +			}
    +		if ($stage == 'TIME')
    +			{
    +			$TOPsort[$m] =	'' . sprintf("%08s", $Stime) . '-----' . $m . '-----' . sprintf("%020s", $RAWdate);
    +			$TOPsortTALLY[$m]=$Stime;
    +			}
    +		if ($stage == 'CI')
    +			{
    +			$TOPsort[$m] =	'' . sprintf("%08s", $RAWcis) . '-----' . $m . '-----' . sprintf("%020s", $RAWdate);
    +			$TOPsortTALLY[$m]=$RAWcis;
    +			}
    +		if ($stage == 'DNCCI')
    +			{
    +			$TOPsort[$m] =	'' . sprintf("%08s", $RAWdncPCT) . '-----' . $m . '-----' . sprintf("%020s", $RAWdate);
    +			$TOPsortTALLY[$m]=$RAWdncPCT;
    +			}
    +		if (!ereg("ID|TIME|CALLS|CI|DNCCI",$stage))
    +			{
    +			if ($file_download < 1)
    +				{echo "$Toutput";}
    +			else
    +				{$file_output .= "$fileToutput";}
    +			}
    +
    +		if ($TOPsortMAX < $TOPsortTALLY[$m]) {$TOPsortMAX = $TOPsortTALLY[$m];}
    +
    +		$m++;
    +		}
    +	### END loop through each user ###
    +
    +	$TOT_AGENTS = sprintf("%4s", $m);
    +
    +
    +	### BEGIN sort through output to display properly ###
    +	if (ereg("ID|TIME|CALLS|CI|DNCCI",$stage))
    +		{
    +		if (ereg("ID",$stage))
    +			{sort($TOPsort, SORT_NUMERIC);}
    +		if (ereg("TIME|CALLS|CI|DNCCI",$stage))
    +			{rsort($TOPsort, SORT_NUMERIC);}
    +
    +		$m=0;
    +		while ($m < $k)
    +			{
    +			$sort_split = explode("-----",$TOPsort[$m]);
    +			$i = $sort_split[1];
    +			$sort_order[$m] = "$i";
    +			if ($file_download < 1)
    +				{echo "$TOPsorted_output[$i]";}
    +			else
    +				{$file_output .= "$TOPsorted_outputFILE[$i]";}
    +			$m++;
    +			}
    +		}
    +	### END sort through output to display properly ###
    +
    +
    +
    +	###### LAST LINE FORMATTING ##########
    +	### BEGIN loop through each status ###
    +	$SUMstatusesHTML='';
    +	$n=0;
    +	while ($n < $j)
    +		{
    +		$Scalls=0;
    +		$Sstatus=$statusesARY[$n];
    +		$SUMstatusTXT='';
    +		### BEGIN loop through each stat line ###
    +		$i=0; $status_found=0;
    +		while ($i < $rows_to_print)
    +			{
    +			if ($Sstatus=="$status[$i]")
    +				{
    +				$Scalls =		($Scalls + $calls[$i]);
    +				$status_found++;
    +				}
    +			$i++;
    +			}
    +		### END loop through each stat line ###
    +		if ($status_found < 1)
    +			{
    +			$SUMstatusesHTML .= "        0 |";
    +			}
    +		else
    +			{
    +			$SUMstatusTXT = sprintf("%8s", $Scalls);
    +			$SUMstatusesHTML .= " $SUMstatusTXT |";
    +			$SUMstatusesFILE .= "$SUMstatusTXT,";
    +			}
    +		$n++;
    +		}
    +	### END loop through each status ###
    +
    +	$TOTcalls = sprintf("%7s", $TOTcalls);
    +	$CIScountTOT = sprintf("%7s", $CIScountTOT);
    +	if ( ($DNCcountTOT < 1) or ($CIScountTOT < 1) )
    +		{$DNCcountPCT=0;}
    +	else
    +		{
    +		$DNCcountPCT = ( ($DNCcountTOT / $CIScountTOT) * 100);
    +		}
    +	#$DNCcountPCT = round($DNCcountPCT,2);
    +	$DNCcountPCT = round($DNCcountPCT);
    +	#$DNCcountPCT = sprintf("%3.2f", $DNCcountPCT);
    +	$DNCcountPCT = sprintf("%6s", $DNCcountPCT);
    +
    +
    +	if ($file_download < 1)
    +		{
    +		echo "+------------+--------+--------+--------+$statusesHEAD\n";
    +		echo "| TOTALS     | $TOTcalls| $CIScountTOT| $DNCcountPCT%|$SUMstatusesHTML\n";
    +		echo "+------------+--------+--------+--------+$statusesHEAD\n";
    +
    +		echo "\n\n
    "; + } + else + { + $file_output .= "TOTALS,$TOTcalls,$CIScountTOT,$DNCcountPCT%,$SUMstatusesFILE\n"; + } + } + + +if ($file_download > 0) + { + $US='_'; + $FILE_TIME = date("Ymd-His"); + $CSVfilename = "AGENT_DAYS_$user$US$FILE_TIME.csv"; + + // We'll be outputting a TXT file + header('Content-type: application/octet-stream'); + + // It will be called LIST_101_20090209-121212.txt + header("Content-Disposition: attachment; filename=\"$CSVfilename\""); + header('Expires: 0'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Pragma: public'); + ob_clean(); + flush(); + + echo "$file_output"; + + exit; + } + + + + +echo "
    \n"; +echo "
    Dates:
    "; +echo "\n"; +echo "\n"; +echo "
    to
    \n"; +echo "
    Campaigns:
    "; +echo "\n"; +echo "
    User:
    "; +echo "\n"; +echo "
    Shift:
    "; +echo "

    \n"; +echo "\n"; +echo "
            "; +echo ""; +if (strlen($user) > 1) + { + echo " DOWNLOAD | \n"; + echo " USER | \n"; + echo " USER STATS | \n"; + } +else + {echo " USERS | \n";} +echo "REPORTS \n"; +echo "
    "; + +echo "
    \n\n"; + +echo "
    \n"; +echo "\n"; +echo "
    \n\n\n\n\n\n\n\n\n\n";
    +
    +$m=0;
    +while ($m < $k)
    +	{
    +	$sort_split = explode("-----",$TOPsort[$m]);
    +	$i = $sort_split[1];
    +	$sort_order[$m] = "$i";
    +
    +	if ( ($TOPsortTALLY[$i] < 1) or ($TOPsortMAX < 1) )
    +		{echo "              \n";}
    +	else
    +		{
    +		echo "              ";
    +		$TOPsortPLOT = ( ($TOPsortTALLY[$i] / $TOPsortMAX) * 120 );
    +		$h=0;
    +		while ($h <= $TOPsortPLOT)
    +			{
    +			echo " ";
    +			$h++;
    +			}
    +		echo "\n";
    +		}
    +	$m++;
    +	}
    +
    +echo "\n";
    +
    +?>
    +
    +
    diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_disposition.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_disposition.php
    new file mode 100644
    index 00000000..2601135f
    --- /dev/null
    +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_disposition.php
    @@ -0,0 +1,237 @@
    +    LICENSE: AGPLv2
    +#
    +# CHANGES
    +#
    +# 70201-1213 - First build - from Marin Blu
    +#
    +
    +require("dbconnect.php");
    +
    +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
    +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
    +$PHP_SELF=$_SERVER['PHP_SELF'];
    +if (isset($_GET["group"]))				{$group=$_GET["group"];}
    +	elseif (isset($_POST["group"]))		{$group=$_POST["group"];}
    +if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
    +	elseif (isset($_POST["query_date"]))		{$query_date=$_POST["query_date"];}
    +if (isset($_GET["shift"]))				{$shift=$_GET["shift"];}
    +	elseif (isset($_POST["shift"]))		{$shift=$_POST["shift"];}
    +if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
    +	elseif (isset($_POST["submit"]))		{$submit=$_POST["submit"];}
    +if (isset($_GET["SUBMIT"]))				{$SUBMIT=$_GET["SUBMIT"];}
    +	elseif (isset($_POST["SUBMIT"]))		{$SUBMIT=$_POST["SUBMIT"];}
    +
    +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
    +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
    +
    +	$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6;";
    +	if ($DB) {echo "|$stmt|\n";}
    +	$rslt=mysql_query($stmt, $link);
    +	$row=mysql_fetch_row($rslt);
    +	$auth=$row[0];
    +
    +  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
    +	{
    +    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
    +    Header("HTTP/1.0 401 Unauthorized");
    +    echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
    +    exit;
    +	}
    +
    +$NOW_DATE = date("Y-m-d");
    +$NOW_TIME = date("Y-m-d H:i:s");
    +$STARTtime = date("U");
    +if (!isset($group)) {$group = '';}
    +if (!isset($begin_date)) {$begin_date =  $NOW_DATE;}
    +if (!isset($end_date)) {$end_date =  $NOW_DATE;}
    +
    +$stmt="select campaign_id from vicidial_campaigns;";
    +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$campaigns_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $campaigns_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$groups[$i] =$row[0];
    +	$i++;
    +	}
    +?>
    +
    +
    +
    +
    +
    +\n";
    +echo "VICIDIAL: Agent Disposition\n";
    +echo "
    \n"; +echo "Date - From: to \n"; +echo "  \n"; +echo "\n"; +echo "\n"; +echo "           MODIFY | REPORTS \n"; +echo "\n\n"; + +echo "
    \n";
    +
    +
    +if (!$group)
    +{
    +echo "\n";
    +echo "PLEASE SELECT A SERVER AND DATE ABOVE AND CLICK SUBMIT\n";
    +}
    +
    +else
    +{
    +
    +echo "VICIDIAL: Agent Disposition                             $NOW_TIME\n";
    +
    +echo "Time range: $begin_date to $end_date \n\n";
    +echo "---------- Disposition Details -------------\n\n";
    +
    +echo "+-----------------+------------+--------+--------+--------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+\n";
    +echo "| USER NAME       | ID         | CALLS  | TALK   | TALKAVG| A    | B    |CALLBK|CBHOLD| DEC  | DC   | DNC  | DROP |INCALL| LB   | N    | NA   | NI   | NP   | NQ   |QUEUE | SALE | XFER |\n";
    +echo "+-----------------+------------+--------+--------+--------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+\n";
    +
    +$stmt="select count(*) as calls,sum(length_in_sec) as talk,full_name,vicidial_users.user,avg(length_in_sec) from vicidial_users,vicidial_log where call_date >= '$begin_date 00:00:01' and call_date <= '$end_date 23:59:59'  and vicidial_users.user=vicidial_log.user and campaign_id='" . mysql_real_escape_string($group) . "' group by full_name order by calls desc limit 1000;";
    +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$rows_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $rows_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$TOTcalls=($TOTcalls + $row[0]);
    +	$TOTtotTALK=($TOTtotTALK + $row[1]);
    +	$calls[$i] =	sprintf("%-6s", $row[0]);
    +	$full_name[$i]=	sprintf("%-15s", $row[2]); while(strlen($full_name[$i])>15) {$full_name[$i] = substr("$full_name[$i]", 0, -1);}
    +	$user[$i] =		sprintf("%-10s", $row[3]); while(strlen($user[$i])>10) {$user[$i] = substr("$user[$i]", 0, -1);}
    +	$USERtotTALK =	$row[1];
    +	$USERavgTALK =	$row[4];
    +
    +	$USERtotTALK_M = ($USERtotTALK / 60);
    +	$USERtotTALK_M = round($USERtotTALK_M, 2);
    +	$USERtotTALK_M_int = intval("$USERtotTALK_M");
    +	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
    +	$USERtotTALK_S = ($USERtotTALK_S * 60);
    +	$USERtotTALK_S = round($USERtotTALK_S, 0);
    +	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
    +	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
    +	$pfUSERtotTALK_MS[$i] =		sprintf("%6s", $USERtotTALK_MS);
    +
    +	$USERavgTALK_M = ($USERavgTALK / 60);
    +	$USERavgTALK_M = round($USERavgTALK_M, 2);
    +	$USERavgTALK_M_int = intval("$USERavgTALK_M");
    +	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
    +	$USERavgTALK_S = ($USERavgTALK_S * 60);
    +	$USERavgTALK_S = round($USERavgTALK_S, 0);
    +	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
    +	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
    +	$pfUSERavgTALK_MS[$i] =		sprintf("%6s", $USERavgTALK_MS);
    +	$i++;
    +	}
    +	
    +$k=0;
    +
    +while($k < $i)
    +	
    +	{
    +	$ctA[$k]="0   "; $ctB[$k]="0   "; $ctDC[$k]="0   "; $ctDNC[$k]="0   "; $ctN[$k]="0   "; $ctNI[$k]="0   "; $ctSALE[$k]="0   ";  $ctINCALL[$k]="0   ";  $ctDROP[$k]="0   ";  $ctQUEUE[$k]="0   ";  $ctNP[$k]="0   ";   $ctDEC[$k]="0   ";  $ctNQ[$k]="0   ";  $ctNA[$k]="0   ";   $ctXFER[$k]="0   "; $ctLB[$k]="0   ";  $ctCALLBK[$k]="0   "; $ctCBHOLD[$k]="0   ";
    +	$stmt="select count(*),status from vicidial_log where call_date >= '$begin_date 00:00:01' and call_date <= '$end_date 23:59:59'  and user='$user[$k]' and campaign_id='" . mysql_real_escape_string($group) . "' group by status;";
    +	if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$rows_to_print = mysql_num_rows($rslt);
    +	$m=0;
    +	while ($m < $rows_to_print)
    +		{
    +		$row=mysql_fetch_row($rslt);
    +		if ($row[1] == 'A') {$ctA[$k]=sprintf("%-4s", $row[0]);		$TOT_A = ($TOT_A + $row[0]);}
    +		if ($row[1] == 'B') {$ctB[$k]=sprintf("%-4s", $row[0]);		$TOT_B = ($TOT_B + $row[0]);}
    +		if ($row[1] == 'DC') {$ctDC[$k]=sprintf("%-4s", $row[0]);	$TOT_DC = ($TOT_DC + $row[0]);}
    +		if ($row[1] == 'DNC') {$ctDNC[$k]=sprintf("%-4s", $row[0]);	$TOT_DNC = ($TOT_DNC + $row[0]);}
    +		if ($row[1] == 'N') {$ctN[$k]=sprintf("%-4s", $row[0]);		$TOT_N = ($TOT_N + $row[0]);}
    +		if ($row[1] == 'NI') {$ctNI[$k]=sprintf("%-4s", $row[0]);	$TOT_NI = ($TOT_NI + $row[0]);}
    +		if ($row[1] == 'SALE') {$ctSALE[$k]=sprintf("%-4s", $row[0]);	$TOT_SALE = ($TOT_SALE + $row[0]);}
    +		if ($row[1] == 'INCALL') {$ctINCALL[$k]=sprintf("%-4s", $row[0]);	$TOT_INCALL = ($TOT_INCALL + $row[0]);}
    +		if ($row[1] == 'DROP') {$ctDROP[$k]=sprintf("%-4s", $row[0]);	$TOT_DROP = ($TOT_DROP + $row[0]);}
    +		if ($row[1] == 'QUEUE') {$ctQUEUE[$k]=sprintf("%-4s", $row[0]);	$TOT_QUEUE = ($TOT_QUEUE + $row[0]);}
    +		if ($row[1] == 'NP') {$ctNP[$k]=sprintf("%-4s", $row[0]);	$TOT_NP = ($TOT_NP + $row[0]);}
    +		if ($row[1] == 'DEC') {$ctDEC[$k]=sprintf("%-4s", $row[0]);	$TOT_DEC = ($TOT_DEC + $row[0]);}
    +		if ($row[1] == 'NQ') {$ctNQ[$k]=sprintf("%-4s", $row[0]);	$TOT_NQ = ($TOT_NQ + $row[0]);}
    +		if ($row[1] == 'NA') {$ctNA[$k]=sprintf("%-4s", $row[0]);	$TOT_NA = ($TOT_NA + $row[0]);}
    +		if ($row[1] == 'XFER') {$ctXFER[$k]=sprintf("%-4s", $row[0]);	$TOT_XFER = ($TOT_XFER + $row[0]);}
    +		if ($row[1] == 'LB') {$ctLB[$k]=sprintf("%-4s", $row[0]);	$TOT_LB = ($TOT_LB + $row[0]);}
    +		if ($row[1] == 'CALLBK') {$ctCALLBK[$k]=sprintf("%-4s", $row[0]);	$TOT_CALLBK = ($TOT_CALLBK + $row[0]);}
    +		if ($row[1] == 'CBHOLD') {$ctCBHOLD[$k]=sprintf("%-4s", $row[0]);	$TOT_CBHOLD = ($TOT_CBHOLD + $row[0]);}
    +		$m++;
    +		}
    +	echo "| $full_name[$k] | $user[$k] | $calls[$k] | $pfUSERtotTALK_MS[$k] | $pfUSERavgTALK_MS[$k] | $ctA[$k] | $ctB[$k] | $ctCALLBK[$k] | $ctCBHOLD[$k] | $ctDEC[$k] | $ctDC[$k] | $ctDNC[$k] | $ctDROP[$k] | $ctINCALL[$k] | $ctLB[$k] | $ctN[$k] | $ctNA[$k] | $ctNI[$k] | $ctNP[$k] | $ctNQ[$k] | $ctQUEUE[$k] | $ctSALE[$k] | $ctXFER[$k] | \n";
    +
    +	$k++;
    +	}
    +
    +	$TOTcalls =	sprintf("%-7s", $TOTcalls);
    +
    +	$TOTtotTALK_M = ($TOTtotTALK / 60);
    +	$TOTtotTALK_M = round($TOTtotTALK_M, 2);
    +	$TOTtotTALK_M_int = intval("$TOTtotTALK_M");
    +	$TOTtotTALK_S = ($TOTtotTALK_M - $TOTtotTALK_M_int);
    +	$TOTtotTALK_S = ($TOTtotTALK_S * 60);
    +	$TOTtotTALK_S = round($TOTtotTALK_S, 0);
    +	if ($TOTtotTALK_S < 10) {$TOTtotTALK_S = "0$TOTtotTALK_S";}
    +	$TOTtotTALK_MS = "$TOTtotTALK_M_int:$TOTtotTALK_S";
    +	$TOTtotTALK_MS =		sprintf("%7s", $TOTtotTALK_MS);
    +		while(strlen($TOTtotTALK_MS)>7) {$TOTtotTALK_MS = substr("$TOTtotTALK_MS", 0, -1);}
    +
    +	$TOT_A = sprintf("%-5s", $TOT_A);
    +	$TOT_B = sprintf("%-5s", $TOT_B);
    +	$TOT_DC = sprintf("%-5s", $TOT_DC);
    +	$TOT_DNC = sprintf("%-5s", $TOT_DNC);
    +	$TOT_N = sprintf("%-5s", $TOT_N);
    +	$TOT_NI = sprintf("%-5s", $TOT_NI);
    +	$TOT_SALE = sprintf("%-5s", $TOT_SALE);
    +	$TOT_INCALL = sprintf("%-5s", $TOT_INCALL);
    +	$TOT_DROP = sprintf("%-5s", $TOT_DROP); 
    +	$TOT_QUEUE = sprintf("%-5s", $TOT_QUEUE);
    +	$TOT_NP = sprintf("%-5s", $TOT_NP);
    +	$TOT_DEC = sprintf("%-5s", $TOT_DEC);
    +	$TOT_NQ = sprintf("%-5s", $TOT_NQ);
    +	$TOT_NA = sprintf("%-5s", $TOT_NA);
    +	$TOT_XFER = sprintf("%-5s", $TOT_XFER);
    +	$TOT_LB= sprintf("%-5s", $TOT_LB);
    +	$TOT_CALLBK = sprintf("%-5s", $TOT_CALLBK);
    +	$TOT_CBHOLD = sprintf("%-5s", $TOT_CBHOLD);
    +
    +echo "+-----------------+------------+--------+--------+--------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+\n";
    +echo "|  TOTALS                      | $TOTcalls| $TOTtotTALK_MS|        | $TOT_A| $TOT_B| $TOT_CALLBK| $TOT_CBHOLD| $TOT_DEC| $TOT_DC| $TOT_DNC| $TOT_DROP| $TOT_INCALL| $TOT_LB| $TOT_N| $TOT_NA| $TOT_NI| $TOT_NP| $TOT_NQ| $TOT_QUEUE| $TOT_SALE| $TOT_XFER|\n";
    +echo "+-----------------+------------+--------+--------+--------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+\n";
    +echo "\n";
    +
    +}
    +?>
    +
    \ No newline at end of file
    diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_performance.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_performance.php
    new file mode 100644
    index 00000000..306d449e
    --- /dev/null
    +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_performance.php
    @@ -0,0 +1,257 @@
    +    LICENSE: AGPLv2
    +#
    +# CHANGES
    +#
    +# 60619-1711 - Added variable filtering to eliminate SQL injection attack threat
    +#            - Added required user/pass to gain access to this page
    +# 70201-1203 - Added non_latin UTF8 output code, widened USER ID to 8 chars
    +#
    +
    +require("dbconnect.php");
    +
    +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
    +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
    +$PHP_SELF=$_SERVER['PHP_SELF'];
    +if (isset($_GET["group"]))				{$group=$_GET["group"];}
    +	elseif (isset($_POST["group"]))		{$group=$_POST["group"];}
    +if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
    +	elseif (isset($_POST["query_date"]))		{$query_date=$_POST["query_date"];}
    +if (isset($_GET["shift"]))				{$shift=$_GET["shift"];}
    +	elseif (isset($_POST["shift"]))		{$shift=$_POST["shift"];}
    +if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
    +	elseif (isset($_POST["submit"]))		{$submit=$_POST["submit"];}
    +if (isset($_GET["SUBMIT"]))				{$SUBMIT=$_GET["SUBMIT"];}
    +	elseif (isset($_POST["SUBMIT"]))		{$SUBMIT=$_POST["SUBMIT"];}
    +
    +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
    +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
    +
    +	$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
    +	if ($DB) {echo "|$stmt|\n";}
    +	if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");}
    +	$rslt=mysql_query($stmt, $link);
    +	$row=mysql_fetch_row($rslt);
    +	$auth=$row[0];
    +
    +  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
    +	{
    +    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
    +    Header("HTTP/1.0 401 Unauthorized");
    +    echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
    +    exit;
    +	}
    +
    +$NOW_DATE = date("Y-m-d");
    +$NOW_TIME = date("Y-m-d H:i:s");
    +$STARTtime = date("U");
    +if (!isset($group)) {$group = '';}
    +if (!isset($query_date)) {$query_date = $NOW_DATE;}
    +
    +$stmt="select campaign_id from vicidial_campaigns;";
    +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$campaigns_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $campaigns_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$groups[$i] =$row[0];
    +	$i++;
    +	}
    +?>
    +
    +
    +
    +
    +
    +\n";
    +echo "VICIDIAL: Agent Performance\n";
    +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFY | REPORTS \n"; +echo "
    \n\n"; + +echo "
    \n";
    +
    +
    +if (!$group)
    +{
    +echo "\n";
    +echo "PLEASE SELECT A SERVER AND DATE-TIME ABOVE AND CLICK SUBMIT\n";
    +echo " NOTE: stats taken from 6 hour shift specified\n";
    +}
    +
    +else
    +{
    +if ($shift == 'AM') 
    +	{
    +	$query_date_BEGIN = "$query_date 08:45:00";   
    +	$query_date_END = "$query_date 15:33:00";
    +	$time_BEGIN = "08:45:00";   
    +	$time_END = "15:33:00";
    +	}
    +if ($shift == 'PM') 
    +	{
    +	$query_date_BEGIN = "$query_date 15:33:00";   
    +	$query_date_END = "$query_date 23:15:00";
    +	$time_BEGIN = "15:33:00";   
    +	$time_END = "23:15:00";
    +	}
    +
    +echo "VICIDIAL: Agent Performance                             $NOW_TIME\n";
    +
    +echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
    +echo "---------- AGENTS Details -------------\n\n";
    +
    +echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
    +echo "| USER NAME       | ID       | CALLS  | TALK   | TALKAVG| A    | B    | DC   | DNC  | N    | NI   | SALE |\n";
    +echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
    +
    +$stmt="select count(*) as calls,sum(length_in_sec) as talk,full_name,vicidial_users.user,avg(length_in_sec) from vicidial_users,vicidial_log where call_date <= '$query_date_END' and call_date >= '$query_date_BEGIN' and vicidial_users.user=vicidial_log.user and campaign_id='" . mysql_real_escape_string($group) . "' group by full_name order by calls desc limit 1000;";
    +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$rows_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $rows_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$TOTcalls=($TOTcalls + $row[0]);
    +	$TOTtotTALK=($TOTtotTALK + $row[1]);
    +	$calls[$i] =	sprintf("%-6s", $row[0]);
    +
    +	if ($non_latin < 1)
    +	{
    +   	 $full_name[$i]=	sprintf("%-15s", $row[2]); 
    +	 while(strlen($full_name[$i])>15) {$full_name[$i] = substr("$full_name[$i]", 0, -1);}
    +
    +	 $user[$i] =		sprintf("%-6s", $row[3]);
    +        while(strlen($user[$i])>6) {$user[$i] = substr("$user[$i]", 0, -1);}
    +       }
    +	else
    +	{	
    +        $full_name[$i]=	sprintf("%-45s", $row[2]); 
    +	 while(mb_strlen($full_name[$i],'utf-8')>15) {$full_name[$i] = mb_substr("$full_name[$i]", 0, -1,'utf-8');}
    +
    + 	 $user[$i] =		sprintf("%-18s", $row[3]);
    +	 while(mb_strlen($user[$i],'utf-8')>6) {$user[$i] = mb_substr("$user[$i]", 0, -1,'utf-8');}
    +	}
    +
    +	$user[$i] =		sprintf("%-8s", $row[3]);
    +	$USERtotTALK =	$row[1];
    +	$USERavgTALK =	$row[4];
    +
    +	$USERtotTALK_M = ($USERtotTALK / 60);
    +	$USERtotTALK_M = round($USERtotTALK_M, 2);
    +	$USERtotTALK_M_int = intval("$USERtotTALK_M");
    +	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
    +	$USERtotTALK_S = ($USERtotTALK_S * 60);
    +	$USERtotTALK_S = round($USERtotTALK_S, 0);
    +	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
    +	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
    +	$pfUSERtotTALK_MS[$i] =		sprintf("%6s", $USERtotTALK_MS);
    +
    +	$USERavgTALK_M = ($USERavgTALK / 60);
    +	$USERavgTALK_M = round($USERavgTALK_M, 2);
    +	$USERavgTALK_M_int = intval("$USERavgTALK_M");
    +	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
    +	$USERavgTALK_S = ($USERavgTALK_S * 60);
    +	$USERavgTALK_S = round($USERavgTALK_S, 0);
    +	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
    +	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
    +	$pfUSERavgTALK_MS[$i] =		sprintf("%6s", $USERavgTALK_MS);
    +	$i++;
    +	}
    +
    +$k=0;
    +while($k < $i)
    +	{
    +	$ctA[$k]="0   "; $ctB[$k]="0   "; $ctDC[$k]="0   "; $ctDNC[$k]="0   "; $ctN[$k]="0   "; $ctNI[$k]="0   "; $ctSALE[$k]="0   "; 
    +	$stmt="select count(*),status from vicidial_log where call_date <= '$query_date_END' and call_date >= '$query_date_BEGIN' and user='$user[$k]' and campaign_id='" . mysql_real_escape_string($group) . "' group by status;";
    +	if ($non_latin > 0)
    +	{
    +	$rslt=mysql_query("SET NAMES 'UTF8'");
    +	}
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$rows_to_print = mysql_num_rows($rslt);
    +	$m=0;
    +	while ($m < $rows_to_print)
    +		{
    +		$row=mysql_fetch_row($rslt);
    +		if ($row[1] == 'A') {$ctA[$k]=sprintf("%-4s", $row[0]);		$TOT_A = ($TOT_A + $row[0]);}
    +		if ($row[1] == 'B') {$ctB[$k]=sprintf("%-4s", $row[0]);		$TOT_B = ($TOT_B + $row[0]);}
    +		if ($row[1] == 'DC') {$ctDC[$k]=sprintf("%-4s", $row[0]);	$TOT_DC = ($TOT_DC + $row[0]);}
    +		if ($row[1] == 'DNC') {$ctDNC[$k]=sprintf("%-4s", $row[0]);	$TOT_DNC = ($TOT_DNC + $row[0]);}
    +		if ($row[1] == 'N') {$ctN[$k]=sprintf("%-4s", $row[0]);		$TOT_N = ($TOT_N + $row[0]);}
    +		if ($row[1] == 'NI') {$ctNI[$k]=sprintf("%-4s", $row[0]);	$TOT_NI = ($TOT_NI + $row[0]);}
    +		if (($row[1] == 'SALE') || ($row[1] == 'XFER') ) {$ctSALE[$k]=sprintf("%-4s", $row[0]);	$TOT_SALE = ($TOT_SALE + $row[0]);}
    +		$m++;
    +		}
    +	echo "| $full_name[$k] | $user[$k] | $calls[$k] | $pfUSERtotTALK_MS[$k] | $pfUSERavgTALK_MS[$k] | $ctA[$k] | $ctB[$k] | $ctDC[$k] | $ctDNC[$k] | $ctN[$k] | $ctNI[$k] | $ctSALE[$k] |\n";
    +
    +
    +
    +	$k++;
    +	}
    +
    +	$TOTcalls =	sprintf("%-7s", $TOTcalls);
    +
    +	$TOTtotTALK_M = ($TOTtotTALK / 60);
    +	$TOTtotTALK_M = round($TOTtotTALK_M, 2);
    +	$TOTtotTALK_M_int = intval("$TOTtotTALK_M");
    +	$TOTtotTALK_S = ($TOTtotTALK_M - $TOTtotTALK_M_int);
    +	$TOTtotTALK_S = ($TOTtotTALK_S * 60);
    +	$TOTtotTALK_S = round($TOTtotTALK_S, 0);
    +	if ($TOTtotTALK_S < 10) {$TOTtotTALK_S = "0$TOTtotTALK_S";}
    +	$TOTtotTALK_MS = "$TOTtotTALK_M_int:$TOTtotTALK_S";
    +	$TOTtotTALK_MS =		sprintf("%7s", $TOTtotTALK_MS);
    +		while(strlen($TOTtotTALK_MS)>7) {$TOTtotTALK_MS = substr("$TOTtotTALK_MS", 0, -1);}
    +
    +	$TOT_A = sprintf("%-5s", $TOT_A);
    +	$TOT_B = sprintf("%-5s", $TOT_B);
    +	$TOT_DC = sprintf("%-5s", $TOT_DC);
    +	$TOT_DNC = sprintf("%-5s", $TOT_DNC);
    +	$TOT_N = sprintf("%-5s", $TOT_N);
    +	$TOT_NI = sprintf("%-5s", $TOT_NI);
    +	$TOT_SALE = sprintf("%-5s", $TOT_SALE);
    +
    +echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
    +echo "|  TOTALS                    | $TOTcalls| $TOTtotTALK_MS|        | $TOT_A| $TOT_B| $TOT_DC| $TOT_DNC| $TOT_N| $TOT_NI| $TOT_SALE|\n";
    +echo "+-----------------+----------+--------+--------+--------+------+------+------+------+------+------+------+\n";
    +
    +echo "\n";
    +
    +}
    +
    +
    +
    +?>
    +
    +
    \ No newline at end of file
    diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_performance_detail.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_performance_detail.php
    new file mode 100644
    index 00000000..34c01be5
    --- /dev/null
    +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_performance_detail.php
    @@ -0,0 +1,943 @@
    +    LICENSE: AGPLv2
    +#
    +# CHANGES
    +#
    +# 71119-2359 - First build
    +# 71121-0144 - Replace existing AST_agent_performance_detail.php script with this one
    +#            - Fixed zero division bug
    +# 71218-1155 - added end_date for multi-day reports
    +# 80428-0144 - UTF8 cleanup
    +# 80712-1007 - tally bug fixes and time display change
    +# 81030-0346 - Added pause code stats
    +# 81030-1924 - Added total non-pause and total logged-in time to pause code section
    +# 81108-0716 - fixed user same-name bug
    +# 81110-0056 - fixed pause code display bug
    +# 90310-2039 - Admin header
    +#
    +
    +require("dbconnect.php");
    +
    +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
    +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
    +$PHP_SELF=$_SERVER['PHP_SELF'];
    +if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
    +	elseif (isset($_POST["query_date"]))	{$query_date=$_POST["query_date"];}
    +if (isset($_GET["end_date"]))				{$end_date=$_GET["end_date"];}
    +	elseif (isset($_POST["end_date"]))		{$end_date=$_POST["end_date"];}
    +if (isset($_GET["group"]))					{$group=$_GET["group"];}
    +	elseif (isset($_POST["group"]))			{$group=$_POST["group"];}
    +if (isset($_GET["user_group"]))				{$user_group=$_GET["user_group"];}
    +	elseif (isset($_POST["user_group"]))	{$user_group=$_POST["user_group"];}
    +if (isset($_GET["shift"]))					{$shift=$_GET["shift"];}
    +	elseif (isset($_POST["shift"]))			{$shift=$_POST["shift"];}
    +if (isset($_GET["stage"]))					{$stage=$_GET["stage"];}
    +	elseif (isset($_POST["stage"]))			{$stage=$_POST["stage"];}
    +if (isset($_GET["DB"]))						{$DB=$_GET["DB"];}
    +	elseif (isset($_POST["DB"]))			{$DB=$_POST["DB"];}
    +if (isset($_GET["submit"]))					{$submit=$_GET["submit"];}
    +	elseif (isset($_POST["submit"]))		{$submit=$_POST["submit"];}
    +if (isset($_GET["SUBMIT"]))					{$SUBMIT=$_GET["SUBMIT"];}
    +	elseif (isset($_POST["SUBMIT"]))		{$SUBMIT=$_POST["SUBMIT"];}
    +
    +
    +if (strlen($shift)<2) {$shift='ALL';}
    +
    +$LINKbase = "$PHP_SELF?query_date=$query_date&end_date=$end_date&group=$group&user_group=$user_group&shift=$shift&DB=$DB";
    +
    +#############################################
    +##### START SYSTEM_SETTINGS LOOKUP #####
    +$stmt = "SELECT use_non_latin FROM system_settings;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$qm_conf_ct = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $qm_conf_ct)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$non_latin =					$row[0];
    +	$i++;
    +	}
    +##### END SETTINGS LOOKUP #####
    +###########################################
    +
    +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
    +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
    +
    +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
    +if ($DB) {echo "|$stmt|\n";}
    +if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");}
    +$rslt=mysql_query($stmt, $link);
    +$row=mysql_fetch_row($rslt);
    +$auth=$row[0];
    +
    +  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
    +	{
    +    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
    +    Header("HTTP/1.0 401 Unauthorized");
    +    echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
    +    exit;
    +	}
    +
    +$MT[0]='';
    +$NOW_DATE = date("Y-m-d");
    +$NOW_TIME = date("Y-m-d H:i:s");
    +$STARTtime = date("U");
    +if (!isset($group)) {$group = '';}
    +if (!isset($query_date)) {$query_date = $NOW_DATE;}
    +if (!isset($end_date)) {$end_date = $NOW_DATE;}
    +
    +$stmt="select campaign_id from vicidial_campaigns;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$campaigns_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $campaigns_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$groups[$i] =$row[0];
    +	$i++;
    +	}
    +$stmt="select user_group from vicidial_user_groups;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$user_groups_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $user_groups_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$user_groups[$i] =$row[0];
    +	$i++;
    +	}
    +?>
    +
    +
    +
    +
    +
    +\n";
    +echo "VICIDIAL: Agent Performance\n";
    +
    +	$short_header=1;
    +
    +	require("admin_header.php");
    +
    +echo "
    "; + +echo "
    \n"; +echo "\n"; +echo "\n"; +echo " to \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFY | REPORTS \n"; +echo "
    \n\n"; + +echo "
    \n";
    +
    +
    +if (!$group)
    +{
    +echo "\n";
    +echo "PLEASE SELECT A CAMPAIGN AND DATE-TIME ABOVE AND CLICK SUBMIT\n";
    +echo " NOTE: stats taken from shift specified\n";
    +}
    +
    +else
    +{
    +if ($shift == 'AM') 
    +	{
    +	$time_BEGIN=$AM_shift_BEGIN;
    +	$time_END=$AM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
    +	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
    +	}
    +if ($shift == 'PM') 
    +	{
    +	$time_BEGIN=$PM_shift_BEGIN;
    +	$time_END=$PM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
    +	}
    +if ($shift == 'ALL') 
    +	{
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +	}
    +$query_date_BEGIN = "$query_date $time_BEGIN";   
    +$query_date_END = "$end_date $time_END";
    +
    +if (strlen($user_group)>0) {$ugSQL="and vicidial_agent_log.user_group='$user_group'";}
    +else {$ugSQL='';}
    +
    +echo "VICIDIAL: Agent Performance Detail                        $NOW_TIME\n";
    +
    +echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
    +echo "---------- AGENTS Details -------------\n\n";
    +
    +
    +
    +
    +
    +$statuses='-';
    +$statusesTXT='';
    +$statusesHEAD='';
    +$statusesHTML='';
    +$statusesARY[0]='';
    +$j=0;
    +$users='-';
    +$usersARY[0]='';
    +$user_namesARY[0]='';
    +$k=0;
    +
    +$stmt="select count(*) as calls,sum(talk_sec) as talk,full_name,vicidial_users.user,sum(pause_sec),sum(wait_sec),sum(dispo_sec),status from vicidial_users,vicidial_agent_log where event_time <= '$query_date_END' and event_time >= '$query_date_BEGIN' and vicidial_users.user=vicidial_agent_log.user and campaign_id='" . mysql_real_escape_string($group) . "' and pause_sec<36000 and wait_sec<36000 and talk_sec<36000 and dispo_sec<36000 $ugSQL group by user,full_name,status order by full_name,user,status desc limit 500000;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$rows_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $rows_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +#	$row[0] = ($row[0] - 1);	# subtract 1 for login/logout event compensation
    +	
    +	$calls[$i] =		$row[0];
    +	$talk_sec[$i] =		$row[1];
    +	$full_name[$i] =	$row[2];
    +	$user[$i] =			$row[3];
    +	$pause_sec[$i] =	$row[4];
    +	$wait_sec[$i] =		$row[5];
    +	$dispo_sec[$i] =	$row[6];
    +	$status[$i] =		$row[7];
    +	if ( (!eregi("-$status[$i]-", $statuses)) and (strlen($status[$i])>0) )
    +		{
    +		$statusesTXT = sprintf("%8s", $status[$i]);
    +		$statusesHEAD .= "----------+";
    +		$statusesHTML .= " $statusesTXT |";
    +		$statuses .= "$status[$i]-";
    +		$statusesARY[$j] = $status[$i];
    +		$j++;
    +		}
    +	if (!eregi("-$user[$i]-", $users))
    +		{
    +		$users .= "$user[$i]-";
    +		$usersARY[$k] = $user[$i];
    +		$user_namesARY[$k] = $full_name[$i];
    +		$k++;
    +		}
    +
    +	$i++;
    +	}
    +
    +echo "CALL STATS BREAKDOWN:\n";
    +echo "+-----------------+----------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
    +echo "| USER NAME       | ID       | CALLS  | TIME    | PAUSE  | PAUSAVG| WAIT   | WAITAVG| TALK   | TALKAVG| DISPO  | DISPAVG|$statusesHTML\n";
    +echo "+-----------------+----------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
    +
    +
    +### BEGIN loop through each user ###
    +$m=0;
    +while ($m < $k)
    +	{
    +	$Suser=$usersARY[$m];
    +	$Sfull_name=$user_namesARY[$m];
    +	$Stime=0;
    +	$Scalls=0;
    +	$Stalk_sec=0;
    +	$Spause_sec=0;
    +	$Swait_sec=0;
    +	$Sdispo_sec=0;
    +	$SstatusesHTML='';
    +
    +	### BEGIN loop through each status ###
    +	$n=0;
    +	while ($n < $j)
    +		{
    +		$Sstatus=$statusesARY[$n];
    +		$SstatusTXT='';
    +		### BEGIN loop through each stat line ###
    +		$i=0; $status_found=0;
    +		while ($i < $rows_to_print)
    +			{
    +			if ( ($Suser=="$user[$i]") and ($Sstatus=="$status[$i]") )
    +				{
    +				$Scalls =		($Scalls + $calls[$i]);
    +				$Stalk_sec =	($Stalk_sec + $talk_sec[$i]);
    +				$Spause_sec =	($Spause_sec + $pause_sec[$i]);
    +				$Swait_sec =	($Swait_sec + $wait_sec[$i]);
    +				$Sdispo_sec =	($Sdispo_sec + $dispo_sec[$i]);
    +				$SstatusTXT = sprintf("%8s", $calls[$i]);
    +				$SstatusesHTML .= " $SstatusTXT |";
    +				$status_found++;
    +				}
    +			$i++;
    +			}
    +		if ($status_found < 1)
    +			{
    +			$SstatusesHTML .= "        0 |";
    +			}
    +		### END loop through each stat line ###
    +		$n++;
    +		}
    +	### END loop through each status ###
    +	$Stime = ($Stalk_sec + $Spause_sec + $Swait_sec + $Sdispo_sec);
    +	$TOTcalls=($TOTcalls + $Scalls);
    +	$TOTtime=($TOTtime + $Stime);
    +	$TOTtotTALK=($TOTtotTALK + $Stalk_sec);
    +	$TOTtotWAIT=($TOTtotWAIT + $Swait_sec);
    +	$TOTtotPAUSE=($TOTtotPAUSE + $Spause_sec);
    +	$TOTtotDISPO=($TOTtotDISPO + $Sdispo_sec);
    +	$Stime = ($Stalk_sec + $Spause_sec + $Swait_sec + $Sdispo_sec);
    +	if ( ($Scalls > 0) and ($Stalk_sec > 0) ) {$Stalk_avg = ($Stalk_sec/$Scalls);}
    +		else {$Stalk_avg=0;}
    +	if ( ($Scalls > 0) and ($Spause_sec > 0) ) {$Spause_avg = ($Spause_sec/$Scalls);}
    +		else {$Spause_avg=0;}
    +	if ( ($Scalls > 0) and ($Swait_sec > 0) ) {$Swait_avg = ($Swait_sec/$Scalls);}
    +		else {$Swait_avg=0;}
    +	if ( ($Scalls > 0) and ($Sdispo_sec > 0) ) {$Sdispo_avg = ($Sdispo_sec/$Scalls);}
    +		else {$Sdispo_avg=0;}
    +
    +	$RAWuser = $Suser;
    +	$RAWcalls = $Scalls;
    +	$Scalls =	sprintf("%6s", $Scalls);
    +
    +	if ($non_latin < 1)
    +		{
    +		 $Sfull_name=	sprintf("%-15s", $Sfull_name); 
    +			while(strlen($Sfull_name)>15) {$Sfull_name = substr("$Sfull_name", 0, -1);}
    +		 $Suser =		sprintf("%-8s", $Suser);
    +			while(strlen($Suser)>8) {$Suser = substr("$Suser", 0, -1);}
    +		}
    +	else
    +		{	
    +			$Sfull_name=	sprintf("%-45s", $Sfull_name); 
    +		 while(mb_strlen($Sfull_name,'utf-8')>15) {$Sfull_name = mb_substr("$Sfull_name", 0, -1,'utf-8');}
    +
    +			$Suser =	sprintf("%-24s", $Suser);
    +		 while(mb_strlen($Suser,'utf-8')>8) {$Suser = mb_substr("$Suser", 0, -1,'utf-8');}
    +		}
    +
    +	$USERtime_M = ($Stime / 60);
    +	$USERtime_M_int = round($USERtime_M, 2);
    +	$USERtime_M_int = intval("$USERtime_M_int");
    +	$USERtime_S = ($USERtime_M - $USERtime_M_int);
    +	$USERtime_S = ($USERtime_S * 60);
    +	$USERtime_S = round($USERtime_S, 0);
    +	if ($USERtime_S < 10) {$USERtime_S = "0$USERtime_S";}
    +	$USERtime_MS = "$USERtime_M_int:$USERtime_S";
    +	$pfUSERtime_MS =		sprintf("%7s", $USERtime_MS);
    +
    +	$USERtotTALK_M = ($Stalk_sec / 60);
    +	$USERtotTALK_M_int = round($USERtotTALK_M, 2);
    +	$USERtotTALK_M_int = intval("$USERtotTALK_M_int");
    +	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
    +	$USERtotTALK_S = ($USERtotTALK_S * 60);
    +	$USERtotTALK_S = round($USERtotTALK_S, 0);
    +	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
    +	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
    +	$pfUSERtotTALK_MS =		sprintf("%6s", $USERtotTALK_MS);
    +
    +	$USERavgTALK_M = ($Stalk_avg / 60);
    +	$USERavgTALK_M_int = round($USERavgTALK_M, 2);
    +	$USERavgTALK_M_int = intval("$USERavgTALK_M_int");
    +	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
    +	$USERavgTALK_S = ($USERavgTALK_S * 60);
    +	$USERavgTALK_S = round($USERavgTALK_S, 0);
    +	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
    +	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
    +	$pfUSERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
    +
    +	$USERtotPAUSE_M = ($Spause_sec / 60);
    +	$USERtotPAUSE_M_int = round($USERtotPAUSE_M, 2);
    +	$USERtotPAUSE_M_int = intval("$USERtotPAUSE_M_int");
    +	$USERtotPAUSE_S = ($USERtotPAUSE_M - $USERtotPAUSE_M_int);
    +	$USERtotPAUSE_S = ($USERtotPAUSE_S * 60);
    +	$USERtotPAUSE_S = round($USERtotPAUSE_S, 0);
    +	if ($USERtotPAUSE_S < 10) {$USERtotPAUSE_S = "0$USERtotPAUSE_S";}
    +	$USERtotPAUSE_MS = "$USERtotPAUSE_M_int:$USERtotPAUSE_S";
    +	$pfUSERtotPAUSE_MS =		sprintf("%6s", $USERtotPAUSE_MS);
    +	$PAUSEtotal[$m] = $pfUSERtotPAUSE_MS;
    +
    +	$USERavgPAUSE_M = ($Spause_avg / 60);
    +	$USERavgPAUSE_M_int = round($USERavgPAUSE_M, 2);
    +	$USERavgPAUSE_M_int = intval("$USERavgPAUSE_M_int");
    +	$USERavgPAUSE_S = ($USERavgPAUSE_M - $USERavgPAUSE_M_int);
    +	$USERavgPAUSE_S = ($USERavgPAUSE_S * 60);
    +	$USERavgPAUSE_S = round($USERavgPAUSE_S, 0);
    +	if ($USERavgPAUSE_S < 10) {$USERavgPAUSE_S = "0$USERavgPAUSE_S";}
    +	$USERavgPAUSE_MS = "$USERavgPAUSE_M_int:$USERavgPAUSE_S";
    +	$pfUSERavgPAUSE_MS =		sprintf("%6s", $USERavgPAUSE_MS);
    +
    +	$USERtotWAIT_M = ($Swait_sec / 60);
    +	$USERtotWAIT_M_int = round($USERtotWAIT_M, 2);
    +	$USERtotWAIT_M_int = intval("$USERtotWAIT_M_int");
    +	$USERtotWAIT_S = ($USERtotWAIT_M - $USERtotWAIT_M_int);
    +	$USERtotWAIT_S = ($USERtotWAIT_S * 60);
    +	$USERtotWAIT_S = round($USERtotWAIT_S, 0);
    +	if ($USERtotWAIT_S < 10) {$USERtotWAIT_S = "0$USERtotWAIT_S";}
    +	$USERtotWAIT_MS = "$USERtotWAIT_M_int:$USERtotWAIT_S";
    +	$pfUSERtotWAIT_MS =		sprintf("%6s", $USERtotWAIT_MS);
    +
    +	$USERavgWAIT_M = ($Swait_avg / 60);
    +	$USERavgWAIT_M_int = round($USERavgWAIT_M, 2);
    +	$USERavgWAIT_M_int = intval("$USERavgWAIT_M_int");
    +	$USERavgWAIT_S = ($USERavgWAIT_M - $USERavgWAIT_M_int);
    +	$USERavgWAIT_S = ($USERavgWAIT_S * 60);
    +	$USERavgWAIT_S = round($USERavgWAIT_S, 0);
    +	if ($USERavgWAIT_S < 10) {$USERavgWAIT_S = "0$USERavgWAIT_S";}
    +	$USERavgWAIT_MS = "$USERavgWAIT_M_int:$USERavgWAIT_S";
    +	$pfUSERavgWAIT_MS =		sprintf("%6s", $USERavgWAIT_MS);
    +	
    +	$USERtotDISPO_M = ($Sdispo_sec / 60);
    +	$USERtotDISPO_M_int = round($USERtotDISPO_M, 2);
    +	$USERtotDISPO_M_int = intval("$USERtotDISPO_M_int");
    +	$USERtotDISPO_S = ($USERtotDISPO_M - $USERtotDISPO_M_int);
    +	$USERtotDISPO_S = ($USERtotDISPO_S * 60);
    +	$USERtotDISPO_S = round($USERtotDISPO_S, 0);
    +	if ($USERtotDISPO_S < 10) {$USERtotDISPO_S = "0$USERtotDISPO_S";}
    +	$USERtotDISPO_MS = "$USERtotDISPO_M_int:$USERtotDISPO_S";
    +	$pfUSERtotDISPO_MS =		sprintf("%6s", $USERtotDISPO_MS);
    +
    +	$USERavgDISPO_M = ($Sdispo_avg / 60);
    +	$USERavgDISPO_M_int = round($USERavgDISPO_M, 2);
    +	$USERavgDISPO_M_int = intval("$USERavgDISPO_M_int");
    +	$USERavgDISPO_S = ($USERavgDISPO_M - $USERavgDISPO_M_int);
    +	$USERavgDISPO_S = ($USERavgDISPO_S * 60);
    +	$USERavgDISPO_S = round($USERavgDISPO_S, 0);
    +	if ($USERavgDISPO_S < 10) {$USERavgDISPO_S = "0$USERavgDISPO_S";}
    +	$USERavgDISPO_MS = "$USERavgDISPO_M_int:$USERavgDISPO_S";
    +	$pfUSERavgDISPO_MS =		sprintf("%6s", $USERavgDISPO_MS);
    +
    +	$Toutput = "| $Sfull_name | $Suser | $Scalls | $pfUSERtime_MS | $pfUSERtotPAUSE_MS | $pfUSERavgPAUSE_MS | $pfUSERtotWAIT_MS | $pfUSERavgWAIT_MS | $pfUSERtotTALK_MS | $pfUSERavgTALK_MS | $pfUSERtotDISPO_MS | $pfUSERavgDISPO_MS |$SstatusesHTML\n";
    +
    +	$TOPsorted_output[$m] = $Toutput;
    +
    +	if ($stage == 'ID')
    +		{$TOPsort[$m] =	'' . sprintf("%08s", $RAWuser) . '-----' . $m . '-----' . sprintf("%020s", $RAWuser);}
    +	if ($stage == 'CALLS')
    +		{$TOPsort[$m] =	'' . sprintf("%08s", $RAWcalls) . '-----' . $m . '-----' . sprintf("%020s", $RAWuser);}
    +	if ($stage == 'TIME')
    +		{$TOPsort[$m] =	'' . sprintf("%08s", $Stime) . '-----' . $m . '-----' . sprintf("%020s", $RAWuser);}
    +	if (!ereg("ID|TIME|CALLS",$stage))
    +		{echo "$Toutput";}
    +
    +	$m++;
    +	}
    +### END loop through each user ###
    +
    +
    +
    +### BEGIN sort through output to display properly ###
    +if (ereg("ID|TIME|CALLS",$stage))
    +	{
    +	if (ereg("ID",$stage))
    +		{sort($TOPsort, SORT_NUMERIC);}
    +	if (ereg("TIME|CALLS",$stage))
    +		{rsort($TOPsort, SORT_NUMERIC);}
    +
    +	$m=0;
    +	while ($m < $k)
    +		{
    +		$sort_split = explode("-----",$TOPsort[$m]);
    +		$i = $sort_split[1];
    +		$sort_order[$m] = "$i";
    +		echo "$TOPsorted_output[$i]";
    +		$m++;
    +		}
    +	}
    +### END sort through output to display properly ###
    +
    +
    +
    +###### LAST LINE FORMATTING ##########
    +### BEGIN loop through each status ###
    +$SUMstatusesHTML='';
    +$n=0;
    +while ($n < $j)
    +	{
    +	$Scalls=0;
    +	$Sstatus=$statusesARY[$n];
    +	$SUMstatusTXT='';
    +	### BEGIN loop through each stat line ###
    +	$i=0; $status_found=0;
    +	while ($i < $rows_to_print)
    +		{
    +		if ($Sstatus=="$status[$i]")
    +			{
    +			$Scalls =		($Scalls + $calls[$i]);
    +			$status_found++;
    +			}
    +		$i++;
    +		}
    +	### END loop through each stat line ###
    +	if ($status_found < 1)
    +		{
    +		$SUMstatusesHTML .= "        0 |";
    +		}
    +	else
    +		{
    +		$SUMstatusTXT = sprintf("%8s", $Scalls);
    +		$SUMstatusesHTML .= " $SUMstatusTXT |";
    +		}
    +	$n++;
    +	}
    +### END loop through each status ###
    +
    +
    +	$TOTcalls =	sprintf("%7s", $TOTcalls);
    +	$TOT_AGENTS = sprintf("%-4s", $m);
    +
    +	$TOTtime_M = ($TOTtime / 60);
    +	$TOTtime_M_int = round($TOTtime_M, 2);
    +	$TOTtime_M_int = intval("$TOTtime_M_int");
    +	$TOTtime_S = ($TOTtime_M - $TOTtime_M_int);
    +	$TOTtime_S = ($TOTtime_S * 60);
    +	$TOTtime_S = round($TOTtime_S, 0);
    +	if ($TOTtime_S < 10) {$TOTtime_S = "0$TOTtime_S";}
    +	$TOTtime_MS = "$TOTtime_M_int:$TOTtime_S";
    +	$TOTtime_MS =		sprintf("%8s", $TOTtime_MS);
    +		while(strlen($TOTtime_MS)>8) {$TOTtime_MS = substr("$TOTtime_MS", 0, -1);}
    +
    +	$TOTtotTALK_M = ($TOTtotTALK / 60);
    +	$TOTtotTALK_M_int = round($TOTtotTALK_M, 2);
    +	$TOTtotTALK_M_int = intval("$TOTtotTALK_M_int");
    +	$TOTtotTALK_S = ($TOTtotTALK_M - $TOTtotTALK_M_int);
    +	$TOTtotTALK_S = ($TOTtotTALK_S * 60);
    +	$TOTtotTALK_S = round($TOTtotTALK_S, 0);
    +	if ($TOTtotTALK_S < 10) {$TOTtotTALK_S = "0$TOTtotTALK_S";}
    +	$TOTtotTALK_MS = "$TOTtotTALK_M_int:$TOTtotTALK_S";
    +	$TOTtotTALK_MS =		sprintf("%8s", $TOTtotTALK_MS);
    +		while(strlen($TOTtotTALK_MS)>8) {$TOTtotTALK_MS = substr("$TOTtotTALK_MS", 0, -1);}
    +
    +	if ($TOTtotDISPO < 1) {$TOTtotDISPO_M = '0';}
    +	else {$TOTtotDISPO_M = ($TOTtotDISPO / 60);}
    +	$TOTtotDISPO_M_int = round($TOTtotDISPO_M, 2);
    +	$TOTtotDISPO_M_int = intval("$TOTtotDISPO_M_int");
    +	$TOTtotDISPO_S = ($TOTtotDISPO_M - $TOTtotDISPO_M_int);
    +	$TOTtotDISPO_S = ($TOTtotDISPO_S * 60);
    +	$TOTtotDISPO_S = round($TOTtotDISPO_S, 0);
    +	if ($TOTtotDISPO_S < 10) {$TOTtotDISPO_S = "0$TOTtotDISPO_S";}
    +	$TOTtotDISPO_MS = "$TOTtotDISPO_M_int:$TOTtotDISPO_S";
    +	$TOTtotDISPO_MS =		sprintf("%8s", $TOTtotDISPO_MS);
    +		while(strlen($TOTtotDISPO_MS)>8) {$TOTtotDISPO_MS = substr("$TOTtotDISPO_MS", 0, -1);}
    +
    +	if ($TOTtotPAUSE < 1) {$TOTtotPAUSE_M = '0';}
    +	else {$TOTtotPAUSE_M = ($TOTtotPAUSE / 60);}
    +	$TOTtotPAUSE_M_int = round($TOTtotPAUSE_M, 2);
    +	$TOTtotPAUSE_M_int = intval("$TOTtotPAUSE_M_int");
    +	$TOTtotPAUSE_S = ($TOTtotPAUSE_M - $TOTtotPAUSE_M_int);
    +	$TOTtotPAUSE_S = ($TOTtotPAUSE_S * 60);
    +	$TOTtotPAUSE_S = round($TOTtotPAUSE_S, 0);
    +	if ($TOTtotPAUSE_S < 10) {$TOTtotPAUSE_S = "0$TOTtotPAUSE_S";}
    +	$TOTtotPAUSE_MS = "$TOTtotPAUSE_M_int:$TOTtotPAUSE_S";
    +	$TOTtotPAUSE_MS =		sprintf("%8s", $TOTtotPAUSE_MS);
    +		while(strlen($TOTtotPAUSE_MS)>8) {$TOTtotPAUSE_MS = substr("$TOTtotPAUSE_MS", 0, -1);}
    +
    +	if ($TOTtotWAIT < 1) {$TOTtotWAIT_M = '0';}
    +	else {$TOTtotWAIT_M = ($TOTtotWAIT / 60);}
    +	$TOTtotWAIT_M_int = round($TOTtotWAIT_M, 2);
    +	$TOTtotWAIT_M_int = intval("$TOTtotWAIT_M_int");
    +	$TOTtotWAIT_S = ($TOTtotWAIT_M - $TOTtotWAIT_M_int);
    +	$TOTtotWAIT_S = ($TOTtotWAIT_S * 60);
    +	$TOTtotWAIT_S = round($TOTtotWAIT_S, 0);
    +	if ($TOTtotWAIT_S < 10) {$TOTtotWAIT_S = "0$TOTtotWAIT_S";}
    +	$TOTtotWAIT_MS = "$TOTtotWAIT_M_int:$TOTtotWAIT_S";
    +	$TOTtotWAIT_MS =		sprintf("%8s", $TOTtotWAIT_MS);
    +		while(strlen($TOTtotWAIT_MS)>8) {$TOTtotWAIT_MS = substr("$TOTtotWAIT_MS", 0, -1);}
    +
    +	if ($TOTtotTALK < 1) {$TOTavgTALK_M = '0';}
    +	else {$TOTavgTALK_M = ( ($TOTtotTALK / $TOTcalls) / 60);}
    +	$TOTavgTALK_M_int = round($TOTavgTALK_M, 2);
    +	$TOTavgTALK_M_int = intval("$TOTavgTALK_M_int");
    +	$TOTavgTALK_S = ($TOTavgTALK_M - $TOTavgTALK_M_int);
    +	$TOTavgTALK_S = ($TOTavgTALK_S * 60);
    +	$TOTavgTALK_S = round($TOTavgTALK_S, 0);
    +	if ($TOTavgTALK_S < 10) {$TOTavgTALK_S = "0$TOTavgTALK_S";}
    +	$TOTavgTALK_MS = "$TOTavgTALK_M_int:$TOTavgTALK_S";
    +	$TOTavgTALK_MS =		sprintf("%6s", $TOTavgTALK_MS);
    +		while(strlen($TOTavgTALK_MS)>6) {$TOTavgTALK_MS = substr("$TOTavgTALK_MS", 0, -1);}
    +
    +	if ($TOTtotDISPO < 1) {$TOTavgDISPO_M = '0';}
    +	else {$TOTavgDISPO_M = ( ($TOTtotDISPO / $TOTcalls) / 60);}
    +	$TOTavgDISPO_M_int = round($TOTavgDISPO_M, 2);
    +	$TOTavgDISPO_M_int = intval("$TOTavgDISPO_M_int");
    +	$TOTavgDISPO_S = ($TOTavgDISPO_M - $TOTavgDISPO_M_int);
    +	$TOTavgDISPO_S = ($TOTavgDISPO_S * 60);
    +	$TOTavgDISPO_S = round($TOTavgDISPO_S, 0);
    +	if ($TOTavgDISPO_S < 10) {$TOTavgDISPO_S = "0$TOTavgDISPO_S";}
    +	$TOTavgDISPO_MS = "$TOTavgDISPO_M_int:$TOTavgDISPO_S";
    +	$TOTavgDISPO_MS =		sprintf("%6s", $TOTavgDISPO_MS);
    +		while(strlen($TOTavgDISPO_MS)>6) {$TOTavgDISPO_MS = substr("$TOTavgDISPO_MS", 0, -1);}
    +
    +	if ($TOTtotPAUSE < 1) {$TOTavgPAUSE_M = '0';}
    +	else {$TOTavgPAUSE_M = ( ($TOTtotPAUSE / $TOTcalls) / 60);}
    +	$TOTavgPAUSE_M_int = round($TOTavgPAUSE_M, 2);
    +	$TOTavgPAUSE_M_int = intval("$TOTavgPAUSE_M_int");
    +	$TOTavgPAUSE_S = ($TOTavgPAUSE_M - $TOTavgPAUSE_M_int);
    +	$TOTavgPAUSE_S = ($TOTavgPAUSE_S * 60);
    +	$TOTavgPAUSE_S = round($TOTavgPAUSE_S, 0);
    +	if ($TOTavgPAUSE_S < 10) {$TOTavgPAUSE_S = "0$TOTavgPAUSE_S";}
    +	$TOTavgPAUSE_MS = "$TOTavgPAUSE_M_int:$TOTavgPAUSE_S";
    +	$TOTavgPAUSE_MS =		sprintf("%6s", $TOTavgPAUSE_MS);
    +		while(strlen($TOTavgPAUSE_MS)>6) {$TOTavgPAUSE_MS = substr("$TOTavgPAUSE_MS", 0, -1);}
    +
    +	if ($TOTtotWAIT < 1) {$TOTavgWAIT_M = '0';}
    +	else {$TOTavgWAIT_M = ( ($TOTtotWAIT / $TOTcalls) / 60);}
    +	$TOTavgWAIT_M_int = round($TOTavgWAIT_M, 2);
    +	$TOTavgWAIT_M_int = intval("$TOTavgWAIT_M_int");
    +	$TOTavgWAIT_S = ($TOTavgWAIT_M - $TOTavgWAIT_M_int);
    +	$TOTavgWAIT_S = ($TOTavgWAIT_S * 60);
    +	$TOTavgWAIT_S = round($TOTavgWAIT_S, 0);
    +	if ($TOTavgWAIT_S < 10) {$TOTavgWAIT_S = "0$TOTavgWAIT_S";}
    +	$TOTavgWAIT_MS = "$TOTavgWAIT_M_int:$TOTavgWAIT_S";
    +	$TOTavgWAIT_MS =		sprintf("%6s", $TOTavgWAIT_MS);
    +		while(strlen($TOTavgWAIT_MS)>6) {$TOTavgWAIT_MS = substr("$TOTavgWAIT_MS", 0, -1);}
    +
    +
    +echo "+-----------------+----------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
    +echo "|  TOTALS        AGENTS:$TOT_AGENTS | $TOTcalls| $TOTtime_MS|$TOTtotPAUSE_MS| $TOTavgPAUSE_MS |$TOTtotWAIT_MS| $TOTavgWAIT_MS |$TOTtotTALK_MS| $TOTavgTALK_MS |$TOTtotDISPO_MS| $TOTavgDISPO_MS |$SUMstatusesHTML\n";
    +echo "+----------------------------+--------+---------+--------+--------+--------+--------+--------+--------+--------+--------+$statusesHEAD\n";
    +
    +echo "\n\n";
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +$sub_statuses='-';
    +$sub_statusesTXT='';
    +$sub_statusesHEAD='';
    +$sub_statusesHTML='';
    +$sub_statusesARY=$MT;
    +$j=0;
    +$PCusers='-';
    +$PCusersARY=$MT;
    +$PCuser_namesARY=$MT;
    +$k=0;
    +$stmt="select full_name,vicidial_users.user,sum(pause_sec),sub_status,sum(wait_sec + talk_sec + dispo_sec) from vicidial_users,vicidial_agent_log where event_time <= '$query_date_END' and event_time >= '$query_date_BEGIN' and vicidial_users.user=vicidial_agent_log.user and campaign_id='" . mysql_real_escape_string($group) . "' and pause_sec<36000 $ugSQL group by user,full_name,sub_status order by user,full_name,sub_status desc limit 100000;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$subs_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $subs_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$PCfull_name[$i] =	$row[0];
    +	$PCuser[$i] =		$row[1];
    +	$PCpause_sec[$i] =	$row[2];
    +	$sub_status[$i] =	$row[3];
    +	$PCnon_pause_sec[$i] =	$row[4];
    +
    +#	echo "$sub_status[$i]|$PCpause_sec[$i]\n";
    +#	if ( (!eregi("-$sub_status[$i]-", $sub_statuses)) and (strlen($sub_status[$i])>0) )
    +	if (!eregi("-$sub_status[$i]-", $sub_statuses))
    +		{
    +		$sub_statusesTXT = sprintf("%8s", $sub_status[$i]);
    +		$sub_statusesHEAD .= "----------+";
    +		$sub_statusesHTML .= " $sub_statusesTXT |";
    +		$sub_statuses .= "$sub_status[$i]-";
    +		$sub_statusesARY[$j] = $sub_status[$i];
    +		$j++;
    +		}
    +	if (!eregi("-$PCuser[$i]-", $PCusers))
    +		{
    +		$PCusers .= "$PCuser[$i]-";
    +		$PCusersARY[$k] = $PCuser[$i];
    +		$PCuser_namesARY[$k] = $PCfull_name[$i];
    +		$k++;
    +		}
    +
    +	$i++;
    +	}
    +
    +echo "PAUSE CODE BREAKDOWN:\n";
    +echo "+-----------------+----------+--------+--------+--------+  +$sub_statusesHEAD\n";
    +echo "| USER NAME       | ID       | TOTAL  |NONPAUSE| PAUSE  |  |$sub_statusesHTML\n";
    +echo "+-----------------+----------+--------+--------+--------+  +$sub_statusesHEAD\n";
    +
    +
    +### BEGIN loop through each user ###
    +$m=0;
    +$Suser_ct = count($usersARY);
    +$TOTtotNONPAUSE = 0;
    +$TOTtotTOTAL = 0;
    +
    +while ($m < $k)
    +	{
    +	$d=0;
    +	while ($d < $Suser_ct)
    +		{
    +		if ($usersARY[$d] === "$PCusersARY[$m]")
    +			{$pcPAUSEtotal = $PAUSEtotal[$d];}
    +		$d++;
    +		}
    +	$Suser=$PCusersARY[$m];
    +	$Sfull_name=$PCuser_namesARY[$m];
    +	$Spause_sec=0;
    +	$Snon_pause_sec=0;
    +	$Stotal_sec=0;
    +	$SstatusesHTML='';
    +
    +	### BEGIN loop through each status ###
    +	$n=0;
    +	while ($n < $j)
    +		{
    +		$Sstatus=$sub_statusesARY[$n];
    +		$SstatusTXT='';
    +		### BEGIN loop through each stat line ###
    +		$i=0; $status_found=0;
    +		while ($i < $subs_to_print)
    +			{
    +			if ( ($Suser=="$PCuser[$i]") and ($Sstatus=="$sub_status[$i]") )
    +				{
    +				$Spause_sec =	($Spause_sec + $PCpause_sec[$i]);
    +				$Snon_pause_sec =	($Snon_pause_sec + $PCnon_pause_sec[$i]);
    +				$Stotal_sec =	($Stotal_sec + $PCnon_pause_sec[$i] + $PCpause_sec[$i]);
    +
    +				$USERcodePAUSE_M = ($PCpause_sec[$i] / 60);
    +				$USERcodePAUSE_M_int = round($USERcodePAUSE_M, 2);
    +				$USERcodePAUSE_M_int = intval("$USERcodePAUSE_M_int");
    +				$USERcodePAUSE_S = ($USERcodePAUSE_M - $USERcodePAUSE_M_int);
    +				$USERcodePAUSE_S = ($USERcodePAUSE_S * 60);
    +				$USERcodePAUSE_S = round($USERcodePAUSE_S, 0);
    +				if ($USERcodePAUSE_S < 10) {$USERcodePAUSE_S = "0$USERcodePAUSE_S";}
    +				$USERcodePAUSE_MS = "$USERcodePAUSE_M_int:$USERcodePAUSE_S";
    +				$pfUSERcodePAUSE_MS =		sprintf("%6s", $USERcodePAUSE_MS);
    +
    +				$SstatusTXT = sprintf("%8s", $pfUSERcodePAUSE_MS);
    +				$SstatusesHTML .= " $SstatusTXT |";
    +				$status_found++;
    +				}
    +			$i++;
    +			}
    +		if ($status_found < 1)
    +			{
    +			$SstatusesHTML .= "        0 |";
    +			}
    +		### END loop through each stat line ###
    +		$n++;
    +		}
    +	### END loop through each status ###
    +	$TOTtotPAUSE=($TOTtotPAUSE + $Spause_sec);
    +
    +	if ($non_latin < 1)
    +		{
    +		$Sfull_name=	sprintf("%-15s", $Sfull_name); 
    +		while(strlen($Sfull_name)>15) {$Sfull_name = substr("$Sfull_name", 0, -1);}
    +		$Suser =		sprintf("%-8s", $Suser);
    +		while(strlen($Suser)>8) {$Suser = substr("$Suser", 0, -1);}
    +		}
    +	else
    +		{
    +		$Sfull_name=	sprintf("%-45s", $Sfull_name); 
    +		while(mb_strlen($Sfull_name,'utf-8')>15) {$Sfull_name = mb_substr("$Sfull_name", 0, -1,'utf-8');}
    +
    +		$Suser =	sprintf("%-24s", $Suser);
    +		while(mb_strlen($Suser,'utf-8')>8) {$Suser = mb_substr("$Suser", 0, -1,'utf-8');}
    +		}
    +
    +	$TOTtotNONPAUSE = ($TOTtotNONPAUSE + $Snon_pause_sec);
    +	$TOTtotTOTAL = ($TOTtotTOTAL + $Stotal_sec);
    +
    +	$USERtotPAUSE_M = ($Spause_sec / 60);
    +	$USERtotPAUSE_M_int = round($USERtotPAUSE_M, 2);
    +	$USERtotPAUSE_M_int = intval("$USERtotPAUSE_M_int");
    +	$USERtotPAUSE_S = ($USERtotPAUSE_M - $USERtotPAUSE_M_int);
    +	$USERtotPAUSE_S = ($USERtotPAUSE_S * 60);
    +	$USERtotPAUSE_S = round($USERtotPAUSE_S, 0);
    +	if ($USERtotPAUSE_S < 10) {$USERtotPAUSE_S = "0$USERtotPAUSE_S";}
    +	$USERtotPAUSE_MS = "$USERtotPAUSE_M_int:$USERtotPAUSE_S";
    +	$pfUSERtotPAUSE_MS =		sprintf("%6s", $USERtotPAUSE_MS);
    +
    +	$USERtotNONPAUSE_M = ($Snon_pause_sec / 60);
    +	$USERtotNONPAUSE_M_int = round($USERtotNONPAUSE_M, 2);
    +	$USERtotNONPAUSE_M_int = intval("$USERtotNONPAUSE_M_int");
    +	$USERtotNONPAUSE_S = ($USERtotNONPAUSE_M - $USERtotNONPAUSE_M_int);
    +	$USERtotNONPAUSE_S = ($USERtotNONPAUSE_S * 60);
    +	$USERtotNONPAUSE_S = round($USERtotNONPAUSE_S, 0);
    +	if ($USERtotNONPAUSE_S < 10) {$USERtotNONPAUSE_S = "0$USERtotNONPAUSE_S";}
    +	$USERtotNONPAUSE_MS = "$USERtotNONPAUSE_M_int:$USERtotNONPAUSE_S";
    +	$pfUSERtotNONPAUSE_MS =		sprintf("%6s", $USERtotNONPAUSE_MS);
    +
    +	$USERtotTOTAL_M = ($Stotal_sec / 60);
    +	$USERtotTOTAL_M_int = round($USERtotTOTAL_M, 2);
    +	$USERtotTOTAL_M_int = intval("$USERtotTOTAL_M_int");
    +	$USERtotTOTAL_S = ($USERtotTOTAL_M - $USERtotTOTAL_M_int);
    +	$USERtotTOTAL_S = ($USERtotTOTAL_S * 60);
    +	$USERtotTOTAL_S = round($USERtotTOTAL_S, 0);
    +	if ($USERtotTOTAL_S < 10) {$USERtotTOTAL_S = "0$USERtotTOTAL_S";}
    +	$USERtotTOTAL_MS = "$USERtotTOTAL_M_int:$USERtotTOTAL_S";
    +	$pfUSERtotTOTAL_MS =		sprintf("%6s", $USERtotTOTAL_MS);
    +
    +	$BOTTOMoutput = "| $Sfull_name | $Suser | $pfUSERtotTOTAL_MS | $pfUSERtotNONPAUSE_MS | $pfUSERtotPAUSE_MS |  |$SstatusesHTML\n";
    +
    +	$BOTTOMsorted_output[$m] = $BOTTOMoutput;
    +
    +#	if (!ereg("ID|TIME|CALLS",$stage))
    +#		{
    +		echo "$BOTTOMoutput";
    +#		}
    +
    +	$m++;
    +	}
    +### END loop through each user ###
    +
    +
    +
    +### BEGIN sort through output to display properly ###
    +#if (ereg("ID|TIME|CALLS",$stage))
    +#	{
    +#	$n=0;
    +#	while ($n <= $m)
    +#		{
    +#		$i = $sort_order[$m];
    +#		echo "$BOTTOMsorted_output[$i]";
    +#		$m--;
    +#		}
    +#	}
    +### END sort through output to display properly ###
    +
    +
    +
    +###### LAST LINE FORMATTING ##########
    +### BEGIN loop through each status ###
    +$SUMstatusesHTML='';
    +$TOTtotPAUSE=0;
    +$n=0;
    +while ($n < $j)
    +	{
    +	$Scalls=0;
    +	$Sstatus=$sub_statusesARY[$n];
    +	$SUMstatusTXT='';
    +	### BEGIN loop through each stat line ###
    +	$i=0; $status_found=0;
    +	while ($i < $subs_to_print)
    +		{
    +		if ($Sstatus=="$sub_status[$i]")
    +			{
    +			$Scalls =		($Scalls + $PCpause_sec[$i]);
    +			$status_found++;
    +			}
    +		$i++;
    +		}
    +	### END loop through each stat line ###
    +	if ($status_found < 1)
    +		{
    +		$SUMstatusesHTML .= "        0 |";
    +		}
    +	else
    +		{
    +		$TOTtotPAUSE = ($TOTtotPAUSE + $Scalls);
    +
    +		$USERsumstatPAUSE_M = ($Scalls / 60);
    +		$USERsumstatPAUSE_M_int = round($USERsumstatPAUSE_M, 2);
    +		$USERsumstatPAUSE_M_int = intval("$USERsumstatPAUSE_M_int");
    +		$USERsumstatPAUSE_S = ($USERsumstatPAUSE_M - $USERsumstatPAUSE_M_int);
    +		$USERsumstatPAUSE_S = ($USERsumstatPAUSE_S * 60);
    +		$USERsumstatPAUSE_S = round($USERsumstatPAUSE_S, 0);
    +		if ($USERsumstatPAUSE_S < 10) {$USERsumstatPAUSE_S = "0$USERsumstatPAUSE_S";}
    +		$USERsumstatPAUSE_MS = "$USERsumstatPAUSE_M_int:$USERsumstatPAUSE_S";
    +		$pfUSERsumstatPAUSE_MS =		sprintf("%6s", $USERsumstatPAUSE_MS);
    +
    +		$SUMstatusTXT = sprintf("%8s", $pfUSERsumstatPAUSE_MS);
    +		$SUMstatusesHTML .= " $SUMstatusTXT |";
    +		}
    +	$n++;
    +	}
    +### END loop through each status ###
    +
    +	$TOT_AGENTS = sprintf("%-4s", $m);
    +
    +	$TOTtotPAUSE_M = ($TOTtotPAUSE / 60);
    +	$TOTtotPAUSE_M_int = round($TOTtotPAUSE_M, 2);
    +	$TOTtotPAUSE_M_int = intval("$TOTtotPAUSE_M_int");
    +	$TOTtotPAUSE_S = ($TOTtotPAUSE_M - $TOTtotPAUSE_M_int);
    +	$TOTtotPAUSE_S = ($TOTtotPAUSE_S * 60);
    +	$TOTtotPAUSE_S = round($TOTtotPAUSE_S, 0);
    +	if ($TOTtotPAUSE_S < 10) {$TOTtotPAUSE_S = "0$TOTtotPAUSE_S";}
    +	$TOTtotPAUSE_MS = "$TOTtotPAUSE_M_int:$TOTtotPAUSE_S";
    +	$TOTtotPAUSE_MS =		sprintf("%8s", $TOTtotPAUSE_MS);
    +		while(strlen($TOTtotPAUSE_MS)>8) {$TOTtotPAUSE_MS = substr("$TOTtotPAUSE_MS", 0, -1);}
    +
    +	$TOTtotNONPAUSE_M = ($TOTtotNONPAUSE / 60);
    +	$TOTtotNONPAUSE_M_int = round($TOTtotNONPAUSE_M, 2);
    +	$TOTtotNONPAUSE_M_int = intval("$TOTtotNONPAUSE_M_int");
    +	$TOTtotNONPAUSE_S = ($TOTtotNONPAUSE_M - $TOTtotNONPAUSE_M_int);
    +	$TOTtotNONPAUSE_S = ($TOTtotNONPAUSE_S * 60);
    +	$TOTtotNONPAUSE_S = round($TOTtotNONPAUSE_S, 0);
    +	if ($TOTtotNONPAUSE_S < 10) {$TOTtotNONPAUSE_S = "0$TOTtotNONPAUSE_S";}
    +	$TOTtotNONPAUSE_MS = "$TOTtotNONPAUSE_M_int:$TOTtotNONPAUSE_S";
    +	$TOTtotNONPAUSE_MS =		sprintf("%8s", $TOTtotNONPAUSE_MS);
    +		while(strlen($TOTtotNONPAUSE_MS)>8) {$TOTtotNONPAUSE_MS = substr("$TOTtotNONPAUSE_MS", 0, -1);}
    +
    +	$TOTtotTOTAL_M = ($TOTtotTOTAL / 60);
    +	$TOTtotTOTAL_M_int = round($TOTtotTOTAL_M, 2);
    +	$TOTtotTOTAL_M_int = intval("$TOTtotTOTAL_M_int");
    +	$TOTtotTOTAL_S = ($TOTtotTOTAL_M - $TOTtotTOTAL_M_int);
    +	$TOTtotTOTAL_S = ($TOTtotTOTAL_S * 60);
    +	$TOTtotTOTAL_S = round($TOTtotTOTAL_S, 0);
    +	if ($TOTtotTOTAL_S < 10) {$TOTtotTOTAL_S = "0$TOTtotTOTAL_S";}
    +	$TOTtotTOTAL_MS = "$TOTtotTOTAL_M_int:$TOTtotTOTAL_S";
    +	$TOTtotTOTAL_MS =		sprintf("%8s", $TOTtotTOTAL_MS);
    +		while(strlen($TOTtotTOTAL_MS)>8) {$TOTtotTOTAL_MS = substr("$TOTtotTOTAL_MS", 0, -1);}
    +
    +
    +
    +echo "+-----------------+----------+--------+--------+--------+  +$sub_statusesHEAD\n";
    +echo "|  TOTALS        AGENTS:$TOT_AGENTS |$TOTtotTOTAL_MS|$TOTtotNONPAUSE_MS|$TOTtotPAUSE_MS|  |$SUMstatusesHTML\n";
    +echo "+----------------------------+--------+--------+--------+  +$sub_statusesHEAD\n";
    +
    +echo "\n\n";
    +
    +}
    +
    +
    +?>
    +
    +
    + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_status_detail.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_status_detail.php new file mode 100644 index 00000000..a576d08e --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_status_detail.php @@ -0,0 +1,665 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 90206-1554 - First build +# 90225-2252 - Added CSV download option +# 90310-2030 - Admin header +# + + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["file_download"])) {$file_download=$_GET["file_download"];} + elseif (isset($_POST["file_download"])) {$file_download=$_POST["file_download"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +if (strlen($shift)<2) {$shift='ALL';} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$MT[0]=''; +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} + +$stmt="select campaign_id from vicidial_campaigns;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$campaigns_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $campaigns_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +$stmt="select user_group from vicidial_user_groups;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$user_groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $user_groups_to_print) + { + $row=mysql_fetch_row($rslt); + $user_groups[$i] =$row[0]; + $i++; + } + +$i=0; +$group_string='|'; +$group_ct = count($group); +while($i < $group_ct) + { + $group_string .= "$group[$i]|"; + $group_SQL .= "'$group[$i]',"; + $groupQS .= "&group[]=$group[$i]"; + $i++; + } +if ( (ereg("--ALL--",$group_string) ) or ($group_ct < 1) ) + {$group_SQL = "";} +else + { + $group_SQL = eregi_replace(",$",'',$group_SQL); + $group_SQL = "and campaign_id IN($group_SQL)"; + } + +$i=0; +$user_group_string='|'; +$user_group_ct = count($user_group); +while($i < $user_group_ct) + { + $user_group_string .= "$user_group[$i]|"; + $user_group_SQL .= "'$user_group[$i]',"; + $user_groupQS .= "&user_group[]=$user_group[$i]"; + $i++; + } +if ( (ereg("--ALL--",$user_group_string) ) or ($user_group_ct < 1) ) + {$user_group_SQL = "";} +else + { + $user_group_SQL = eregi_replace(",$",'',$user_group_SQL); + $user_group_SQL = "and vicidial_agent_log.user_group IN($user_group_SQL)"; + } + +if ($DB) {echo "$user_group_string|$user_group_ct|$user_groupQS|$i
    ";} + +$stmt="select vsc_id,vsc_name from vicidial_status_categories;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$statcats_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $statcats_to_print) + { + $row=mysql_fetch_row($rslt); + $vsc_id[$i] = $row[0]; + $vsc_name[$i] = $row[1]; + $vsc_count[$i] = 0; + $i++; + } + +$customer_interactive_statuses=''; +$stmt="select status from vicidial_statuses where human_answered='Y';"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$statha_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $statha_to_print) + { + $row=mysql_fetch_row($rslt); + $customer_interactive_statuses .= "|$row[0]"; + $i++; + } +$stmt="select status from vicidial_campaign_statuses where human_answered='Y';"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$statha_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $statha_to_print) + { + $row=mysql_fetch_row($rslt); + $customer_interactive_statuses .= "|$row[0]"; + $i++; + } +if (strlen($customer_interactive_statuses)>0) + {$customer_interactive_statuses .= '|';} + +#$customer_interactive_statuses = '|NI|DNC|CALLBK|AP|SALE|COMP|HAP1|HAP2|HBED|DIED|'; +#$customer_interactive_statuses = '|NI|DNC|CALLBK|XFER|C2|B7|B8|C1|'; + +$LINKbase = "$PHP_SELF?query_date=$query_date&end_date=$end_date$groupQS$user_groupQS&shift=$shift&DB=$DB"; + +if ($file_download < 1) + { + ?> + + + + + + \n"; + echo "VICIDIAL: Agent Days Status\n"; + echo ""; + + $short_header=1; + + require("admin_header.php"); + + echo "\n"; + echo "\n"; + echo "
    \n";
    +	}
    +
    +if ( (strlen($group[0]) < 1) or (strlen($user_group[0]) < 1) )
    +	{
    +	echo "\n";
    +	echo "PLEASE SELECT A CAMPAIGN OR USER GROUP AND DATE-TIME ABOVE AND CLICK SUBMIT\n";
    +	echo " NOTE: stats taken from shift specified\n";
    +	}
    +
    +else
    +	{
    +	if ($shift == 'AM') 
    +		{
    +		$time_BEGIN=$AM_shift_BEGIN;
    +		$time_END=$AM_shift_END;
    +		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
    +		if (strlen($time_END) < 6) {$time_END = "15:15:00";}
    +		}
    +	if ($shift == 'PM') 
    +		{
    +		$time_BEGIN=$PM_shift_BEGIN;
    +		$time_END=$PM_shift_END;
    +		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
    +		if (strlen($time_END) < 6) {$time_END = "23:15:00";}
    +		}
    +	if ($shift == 'ALL') 
    +		{
    +		if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
    +		if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +		}
    +	$query_date_BEGIN = "$query_date $time_BEGIN";   
    +	$query_date_END = "$end_date $time_END";
    +
    +	if (strlen($user_group)>0) {$ugSQL="and vicidial_agent_log.user_group='$user_group'";}
    +	else {$ugSQL='';}
    +
    +	if ($file_download < 1)
    +		{
    +		echo "VICIDIAL: Agent Status Detail                     $NOW_TIME\n";
    +
    +		echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
    +		echo "---------- AGENT Details -------------\n\n";
    +		}
    +	else
    +		{
    +		$file_output .= "VICIDIAL: Agent Status Detail                     $NOW_TIME\n";
    +		$file_output .= "Time range: $query_date_BEGIN to $query_date_END\n\n";
    +		}
    +
    +	$statuses='-';
    +	$statusesTXT='';
    +	$statusesHEAD='';
    +	$statusesHTML='';
    +	$statusesFILE='';
    +	$statusesARY[0]='';
    +	$j=0;
    +	$users='-';
    +	$usersARY[0]='';
    +	$user_namesARY[0]='';
    +	$k=0;
    +
    +	$stmt="select count(*) as calls,full_name,vicidial_users.user,status from vicidial_users,vicidial_agent_log where event_time <= '$query_date_END' and event_time >= '$query_date_BEGIN' and vicidial_users.user=vicidial_agent_log.user $group_SQL $user_group_SQL group by user,full_name,status order by full_name,user,status desc limit 500000;";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$rows_to_print = mysql_num_rows($rslt);
    +	$i=0;
    +	while ($i < $rows_to_print)
    +		{
    +		$row=mysql_fetch_row($rslt);
    +
    +		if ( ($row[0] > 0) and (strlen($row[3]) > 0) )
    +			{
    +			$calls[$i] =		$row[0];
    +			$full_name[$i] =	$row[1];
    +			$user[$i] =			$row[2];
    +			$status[$i] =		$row[3];
    +			if ( (!eregi("-$status[$i]-", $statuses)) and (strlen($status[$i])>0) )
    +				{
    +				$statusesTXT = sprintf("%8s", $status[$i]);
    +				$statusesHEAD .= "----------+";
    +				$statusesHTML .= " $statusesTXT |";
    +				$statusesFILE .= "$statusesTXT,";
    +				$statuses .= "$status[$i]-";
    +				$statusesARY[$j] = $status[$i];
    +				$j++;
    +				}
    +			if (!eregi("-$user[$i]-", $users))
    +				{
    +				$users .= "$user[$i]-";
    +				$usersARY[$k] = $user[$i];
    +				$user_namesARY[$k] = $full_name[$i];
    +				$k++;
    +				}
    +			}
    +		$i++;
    +		}
    +
    +	if ($file_download < 1)
    +		{
    +		echo "CALL STATS BREAKDOWN:\n";
    +		echo "+-----------------+----------+--------+--------+--------+$statusesHEAD\n";
    +		echo "| USER NAME       | ID       | CALLS  | CIcalls| DNC/CI%|$statusesHTML\n";
    +		echo "+-----------------+----------+--------+--------+--------+$statusesHEAD\n";
    +		}
    +	else
    +		{
    +		$file_output .= "USER,ID,CALLS,CIcalls,DNC-CI%,$statusesFILE\n";
    +		}
    +
    +
    +	### BEGIN loop through each user ###
    +	$m=0;
    +	$CIScountTOT=0;
    +	$DNCcountTOT=0;
    +	while ($m < $k)
    +		{
    +		$Suser=$usersARY[$m];
    +		$Sfull_name=$user_namesARY[$m];
    +		$Scalls=$calls[$m];
    +		$SstatusesHTML='';
    +		$SstatusesFILE='';
    +		$CIScount=0;
    +		$DNCcount=0;
    +
    +		### BEGIN loop through each status ###
    +		$n=0;
    +		while ($n < $j)
    +			{
    +			$Sstatus=$statusesARY[$n];
    +			$SstatusTXT='';
    +			### BEGIN loop through each stat line ###
    +			$i=0; $status_found=0;
    +			while ($i < $rows_to_print)
    +				{
    +				if ( ($Suser=="$user[$i]") and ($Sstatus=="$status[$i]") )
    +					{
    +					$Scalls =		($Scalls + $calls[$i]);
    +					if (eregi("\|$status[$i]\|",$customer_interactive_statuses))
    +						{
    +						$CIScount =	($CIScount + $calls[$i]);
    +						$CIScountTOT =	($CIScountTOT + $calls[$i]);
    +						}
    +					if (eregi("DNC", $status[$i]))
    +						{
    +						$DNCcount =	($DNCcount + $calls[$i]);
    +						$DNCcountTOT =	($DNCcountTOT + $calls[$i]);
    +						}
    +					$SstatusTXT = sprintf("%8s", $calls[$i]);
    +					$SstatusesHTML .= " $SstatusTXT |";
    +					$SstatusesFILE .= "$SstatusTXT,";
    +					$status_found++;
    +					}
    +				$i++;
    +				}
    +			if ($status_found < 1)
    +				{
    +				$SstatusesHTML .= "        0 |";
    +				}
    +			### END loop through each stat line ###
    +			$n++;
    +			}
    +		### END loop through each status ###
    +		$TOTcalls=($TOTcalls + $Scalls);
    +
    +		$RAWuser = $Suser;
    +		$RAWcalls = $Scalls;
    +		$RAWcis = $CIScount;
    +		$Scalls =	sprintf("%6s", $Scalls);
    +		$CIScount =	sprintf("%6s", $CIScount);
    +
    +		if ($non_latin < 1)
    +			{
    +			 $Sfull_name=	sprintf("%-15s", $Sfull_name); 
    +				while(strlen($Sfull_name)>15) {$Sfull_name = substr("$Sfull_name", 0, -1);}
    +			 $Suser =		sprintf("%-8s", $Suser);
    +				while(strlen($Suser)>8) {$Suser = substr("$Suser", 0, -1);}
    +			}
    +		else
    +			{	
    +				$Sfull_name=	sprintf("%-45s", $Sfull_name); 
    +			 while(mb_strlen($Sfull_name,'utf-8')>15) {$Sfull_name = mb_substr("$Sfull_name", 0, -1,'utf-8');}
    +
    +				$Suser =	sprintf("%-24s", $Suser);
    +			 while(mb_strlen($Suser,'utf-8')>8) {$Suser = mb_substr("$Suser", 0, -1,'utf-8');}
    +			}
    +
    +		if ( ($DNCcount < 1) or ($CIScount < 1) )
    +			{$DNCcountPCTs=0;}
    +		else
    +			{
    +			$DNCcountPCTs = ( ($DNCcount / $CIScount) * 100);
    +			}
    +		$RAWdncPCT = $DNCcountPCTs;
    +	#	$DNCcountPCTs = round($DNCcountPCTs,2);
    +		$DNCcountPCTs = round($DNCcountPCTs);
    +		$rawDNCcountPCTs = $DNCcountPCTs;
    +	#	$DNCcountPCTs = sprintf("%3.2f", $DNCcountPCTs);
    +		$DNCcountPCTs = sprintf("%6s", $DNCcountPCTs);
    +
    +		if ($file_download < 1)
    +			{
    +			$Toutput = "| $Sfull_name | $Suser | $Scalls | $CIScount | $DNCcountPCTs%|$SstatusesHTML\n";
    +			}
    +		else
    +			{
    +			$fileToutput = "$Sfull_name,$RAWuser,$RAWcalls,$RAWcis,$rawDNCcountPCTs%,$SstatusesFILE\n";
    +			}
    +
    +		$TOPsorted_output[$m] = $Toutput;
    +		$TOPsorted_outputFILE[$m] = $fileToutput;
    +
    +		if ($stage == 'ID')
    +			{
    +			$TOPsort[$m] =	'' . sprintf("%08s", $RAWuser) . '-----' . $m . '-----' . sprintf("%020s", $RAWuser);
    +			$TOPsortTALLY[$m]=$RAWcalls;
    +			}
    +		if ($stage == 'CALLS')
    +			{
    +			$TOPsort[$m] =	'' . sprintf("%08s", $RAWcalls) . '-----' . $m . '-----' . sprintf("%020s", $RAWuser);
    +			$TOPsortTALLY[$m]=$RAWcalls;
    +			}
    +		if ($stage == 'TIME')
    +			{
    +			$TOPsort[$m] =	'' . sprintf("%08s", $Stime) . '-----' . $m . '-----' . sprintf("%020s", $RAWuser);
    +			$TOPsortTALLY[$m]=$Stime;
    +			}
    +		if ($stage == 'CI')
    +			{
    +			$TOPsort[$m] =	'' . sprintf("%08s", $RAWcis) . '-----' . $m . '-----' . sprintf("%020s", $RAWuser);
    +			$TOPsortTALLY[$m]=$RAWcis;
    +			}
    +		if ($stage == 'DNCCI')
    +			{
    +			$TOPsort[$m] =	'' . sprintf("%08s", $RAWdncPCT) . '-----' . $m . '-----' . sprintf("%020s", $RAWuser);
    +			$TOPsortTALLY[$m]=$RAWdncPCT;
    +			}
    +		if (!ereg("ID|TIME|CALLS|CI|DNCCI",$stage))
    +			if ($file_download < 1)
    +				{echo "$Toutput";}
    +			else
    +				{$file_output .= "$fileToutput";}
    +
    +		if ($TOPsortMAX < $TOPsortTALLY[$m]) {$TOPsortMAX = $TOPsortTALLY[$m];}
    +
    +		$m++;
    +		}
    +	### END loop through each user ###
    +
    +	$TOT_AGENTS = sprintf("%4s", $m);
    +
    +
    +	### BEGIN sort through output to display properly ###
    +	if (ereg("ID|TIME|CALLS|CI|DNCCI",$stage))
    +		{
    +		if (ereg("ID",$stage))
    +			{sort($TOPsort, SORT_NUMERIC);}
    +		if (ereg("TIME|CALLS|CI|DNCCI",$stage))
    +			{rsort($TOPsort, SORT_NUMERIC);}
    +
    +		$m=0;
    +		while ($m < $k)
    +			{
    +			$sort_split = explode("-----",$TOPsort[$m]);
    +			$i = $sort_split[1];
    +			$sort_order[$m] = "$i";
    +			if ($file_download < 1)
    +				{echo "$TOPsorted_output[$i]";}
    +			else
    +				{$file_output .= "$TOPsorted_outputFILE[$i]";}
    +			$m++;
    +			}
    +		}
    +	### END sort through output to display properly ###
    +
    +
    +
    +	###### LAST LINE FORMATTING ##########
    +	### BEGIN loop through each status ###
    +	$SUMstatusesHTML='';
    +	$n=0;
    +	while ($n < $j)
    +		{
    +		$Scalls=0;
    +		$Sstatus=$statusesARY[$n];
    +		$SUMstatusTXT='';
    +		### BEGIN loop through each stat line ###
    +		$i=0; $status_found=0;
    +		while ($i < $rows_to_print)
    +			{
    +			if ($Sstatus=="$status[$i]")
    +				{
    +				$Scalls =		($Scalls + $calls[$i]);
    +				$status_found++;
    +				}
    +			$i++;
    +			}
    +		### END loop through each stat line ###
    +		if ($status_found < 1)
    +			{
    +			$SUMstatusesHTML .= "        0 |";
    +			}
    +		else
    +			{
    +			$SUMstatusTXT = sprintf("%8s", $Scalls);
    +			$SUMstatusesHTML .= " $SUMstatusTXT |";
    +			$SUMstatusesFILE .= "$SUMstatusTXT,";
    +			}
    +		$n++;
    +		}
    +	### END loop through each status ###
    +
    +	$TOTcalls = sprintf("%7s", $TOTcalls);
    +	$CIScountTOT = sprintf("%7s", $CIScountTOT);
    +	$DNCcountPCT = ( ($DNCcountTOT / $CIScountTOT) * 100);
    +	$DNCcountPCT = round($DNCcountPCT,2);
    +	$DNCcountPCT = sprintf("%3.2f", $DNCcountPCT);
    +	if ( ($DNCcountTOT < 1) or ($CIScountTOT < 1) )
    +		{$DNCcountPCT=0;}
    +	else
    +		{
    +		$DNCcountPCT = ( ($DNCcountTOT / $CIScountTOT) * 100);
    +		}
    +	#$DNCcountPCT = round($DNCcountPCT,2);
    +	$DNCcountPCT = round($DNCcountPCT);
    +	#$DNCcountPCT = sprintf("%3.2f", $DNCcountPCT);
    +	$DNCcountPCT = sprintf("%6s", $DNCcountPCT);
    +
    +	if ($file_download < 1)
    +		{
    +		echo "+-----------------+----------+--------+--------+--------+$statusesHEAD\n";
    +		echo "|  TOTALS        AGENTS:$TOT_AGENTS | $TOTcalls| $CIScountTOT| $DNCcountPCT%|$SUMstatusesHTML\n";
    +		echo "+----------------------------+--------+--------+--------+$statusesHEAD\n";
    +
    +		echo "\n\n
    "; + } + else + { + $file_output .= "TOTALS,$TOT_AGENTS,$TOTcalls,$CIScountTOT,$DNCcountPCT%,$SUMstatusesFILE\n"; + } + } + +if ($file_download > 0) + { + $FILE_TIME = date("Ymd-His"); + $CSVfilename = "AGENT_STATUS$US$FILE_TIME.csv"; + + // We'll be outputting a TXT file + header('Content-type: application/octet-stream'); + + // It will be called LIST_101_20090209-121212.txt + header("Content-Disposition: attachment; filename=\"$CSVfilename\""); + header('Expires: 0'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Pragma: public'); + ob_clean(); + flush(); + + echo "$file_output"; + + exit; + } + + +echo "
    \n"; +echo "
    Dates:
    "; +echo "\n"; +echo "\n"; +echo "
    to
    \n"; +echo "
    Campaigns:
    "; +echo "\n"; +echo "
    User Groups:
    "; +echo "\n"; +echo "
    Shift:
    "; +echo "

    \n"; +echo "\n"; +echo "
            "; + +echo "          \n"; +echo " DOWNLOAD | \n"; +echo " REPORTS \n"; +echo "\n"; +echo "
    "; + +echo "
    \n\n"; + +echo "
    \n"; +echo "\n"; +echo "
    \n\n\n\n\n\n\n\n\n\n";
    +
    +$m=0;
    +while ($m < $k)
    +	{
    +	$sort_split = explode("-----",$TOPsort[$m]);
    +	$i = $sort_split[1];
    +	$sort_order[$m] = "$i";
    +
    +	if ( ($TOPsortTALLY[$i] < 1) or ($TOPsortMAX < 1) )
    +		{echo "                              \n";}
    +	else
    +		{
    +		echo "                              ";
    +		$TOPsortPLOT = ( ($TOPsortTALLY[$i] / $TOPsortMAX) * 110 );
    +		$h=0;
    +		while ($h <= $TOPsortPLOT)
    +			{
    +			echo " ";
    +			$h++;
    +			}
    +		echo "\n";
    +		}
    +	$m++;
    +	}
    +
    +echo "\n";
    +
    +?>
    +
    +
    \ No newline at end of file
    diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_time_sheet.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_time_sheet.php
    new file mode 100644
    index 00000000..06450ffb
    --- /dev/null
    +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_time_sheet.php
    @@ -0,0 +1,409 @@
    +    LICENSE: AGPLv2
    +#
    +# CHANGES
    +#
    +# 60619-1729 - Added variable filtering to eliminate SQL injection attack threat
    +#            - Added required user/pass to gain access to this page
    +# 80624-0132 - Added vicidial_timeclock entries
    +# 90310-0745 - Added admin header
    +#
    +
    +require("dbconnect.php");
    +
    +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
    +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
    +$PHP_SELF=$_SERVER['PHP_SELF'];
    +if (isset($_GET["agent"]))				{$agent=$_GET["agent"];}
    +	elseif (isset($_POST["agent"]))		{$agent=$_POST["agent"];}
    +if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
    +	elseif (isset($_POST["query_date"]))	{$query_date=$_POST["query_date"];}
    +if (isset($_GET["calls_summary"]))			{$calls_summary=$_GET["calls_summary"];}
    +	elseif (isset($_POST["calls_summary"]))	{$calls_summary=$_POST["calls_summary"];}
    +if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
    +	elseif (isset($_POST["submit"]))	{$submit=$_POST["submit"];}
    +if (isset($_GET["SUBMIT"]))				{$SUBMIT=$_GET["SUBMIT"];}
    +	elseif (isset($_POST["SUBMIT"]))	{$SUBMIT=$_POST["SUBMIT"];}
    +
    +$user=$agent;
    +
    +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
    +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
    +
    +	$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
    +	if ($DB) {echo "|$stmt|\n";}
    +	$rslt=mysql_query($stmt, $link);
    +	$row=mysql_fetch_row($rslt);
    +	$auth=$row[0];
    +
    +  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
    +	{
    +    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
    +    Header("HTTP/1.0 401 Unauthorized");
    +    echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
    +    exit;
    +	}
    +
    +$NOW_DATE = date("Y-m-d");
    +$NOW_TIME = date("Y-m-d H:i:s");
    +$STARTtime = date("U");
    +if (!isset($query_date)) {$query_date = $NOW_DATE;}
    +
    +?>
    +
    +
    +
    +
    +
    +\n";
    +echo "VICIDIAL: Agent Time Sheet";
    +
    +
    +##### BEGIN Set variables to make header show properly #####
    +$ADD =					'3';
    +$hh =					'users';
    +$LOGast_admin_access =	'1';
    +$ADMIN =				'admin.php';
    +$page_width='770';
    +$section_width='750';
    +$header_font_size='3';
    +$subheader_font_size='2';
    +$subcamp_font_size='2';
    +$header_selected_bold='<b>';
    +$header_nonselected_bold='';
    +$users_color =		'#FFFF99';
    +$users_font =		'BLACK';
    +$users_color =		'#E6E6E6';
    +$subcamp_color =	'#C6C6C6';
    +##### END Set variables to make header show properly #####
    +
    +require("admin_header.php");
    +
    +echo "<TABLE WIDTH=$page_width BGCOLOR=\"#F0F5FE\" cellpadding=2 cellspacing=0><TR BGCOLOR=\"#F0F5FE\"><TD>\n";
    +
    +echo "Agent Time Sheet for: $user\n";
    +echo "<BR>\n";
    +echo "<FORM ACTION=\"$PHP_SELF\" METHOD=GET>   \n";
    +echo "Date: <INPUT TYPE=TEXT NAME=query_date SIZE=19 MAXLENGTH=19 VALUE=\"$query_date\">\n";
    +echo "User ID: <INPUT TYPE=TEXT NAME=agent SIZE=10 MAXLENGTH=20 VALUE=\"$agent\">\n";
    +echo "<INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=SUBMIT>\n";
    +echo "</FORM>\n\n";
    +
    +echo "<PRE><FONT SIZE=3>\n";
    +
    +
    +if (!$agent)
    +{
    +echo "\n";
    +echo "PLEASE SELECT AN AGENT ID AND DATE-TIME ABOVE AND CLICK SUBMIT\n";
    +echo " NOTE: stats taken from available agent log data\n";
    +}
    +
    +else
    +{
    +$query_date_BEGIN = "$query_date 00:00:00";   
    +$query_date_END = "$query_date 23:59:59";
    +$time_BEGIN = "00:00:00";   
    +$time_END = "23:59:59";
    +
    +$stmt="select full_name from vicidial_users where user='$agent';";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +$full_name = $row[0];
    +
    +echo "VICIDIAL: Agent Time Sheet                             $NOW_TIME\n";
    +
    +echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
    +echo "---------- AGENT TIME SHEET: $agent - $full_name -------------\n\n";
    +
    +if ($calls_summary)
    +	{
    +	$stmt="select count(*) as calls,sum(talk_sec) as talk,avg(talk_sec),sum(pause_sec),avg(pause_sec),sum(wait_sec),avg(wait_sec),sum(dispo_sec),avg(dispo_sec) from vicidial_agent_log where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' and pause_sec<48800 and wait_sec<48800 and talk_sec<48800 and dispo_sec<48800 limit 1;";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +
    +	$TOTAL_TIME = ($row[1] + $row[3] + $row[5] + $row[7]);
    +
    +		$TOTAL_TIME_H = ($TOTAL_TIME / 3600);
    +		$TOTAL_TIME_H = round($TOTAL_TIME_H, 2);
    +		$TOTAL_TIME_H_int = intval("$TOTAL_TIME_H");
    +		$TOTAL_TIME_M = ($TOTAL_TIME_H - $TOTAL_TIME_H_int);
    +		$TOTAL_TIME_M = ($TOTAL_TIME_M * 60);
    +		$TOTAL_TIME_M = round($TOTAL_TIME_M, 2);
    +		$TOTAL_TIME_M_int = intval("$TOTAL_TIME_M");
    +		$TOTAL_TIME_S = ($TOTAL_TIME_M - $TOTAL_TIME_M_int);
    +		$TOTAL_TIME_S = ($TOTAL_TIME_S * 60);
    +		$TOTAL_TIME_S = round($TOTAL_TIME_S, 0);
    +		if ($TOTAL_TIME_S < 10) {$TOTAL_TIME_S = "0$TOTAL_TIME_S";}
    +		if ($TOTAL_TIME_M_int < 10) {$TOTAL_TIME_M_int = "0$TOTAL_TIME_M_int";}
    +		$TOTAL_TIME_HMS = "$TOTAL_TIME_H_int:$TOTAL_TIME_M_int:$TOTAL_TIME_S";
    +		$pfTOTAL_TIME_HMS =		sprintf("%8s", $TOTAL_TIME_HMS);
    +
    +		$TALK_TIME_H = ($row[1] / 3600);
    +		$TALK_TIME_H = round($TALK_TIME_H, 2);
    +		$TALK_TIME_H_int = intval("$TALK_TIME_H");
    +		$TALK_TIME_M = ($TALK_TIME_H - $TALK_TIME_H_int);
    +		$TALK_TIME_M = ($TALK_TIME_M * 60);
    +		$TALK_TIME_M = round($TALK_TIME_M, 2);
    +		$TALK_TIME_M_int = intval("$TALK_TIME_M");
    +		$TALK_TIME_S = ($TALK_TIME_M - $TALK_TIME_M_int);
    +		$TALK_TIME_S = ($TALK_TIME_S * 60);
    +		$TALK_TIME_S = round($TALK_TIME_S, 0);
    +		if ($TALK_TIME_S < 10) {$TALK_TIME_S = "0$TALK_TIME_S";}
    +		if ($TALK_TIME_M_int < 10) {$TALK_TIME_M_int = "0$TALK_TIME_M_int";}
    +		$TALK_TIME_HMS = "$TALK_TIME_H_int:$TALK_TIME_M_int:$TALK_TIME_S";
    +		$pfTALK_TIME_HMS =		sprintf("%8s", $TALK_TIME_HMS);
    +
    +		$PAUSE_TIME_H = ($row[3] / 3600);
    +		$PAUSE_TIME_H = round($PAUSE_TIME_H, 2);
    +		$PAUSE_TIME_H_int = intval("$PAUSE_TIME_H");
    +		$PAUSE_TIME_M = ($PAUSE_TIME_H - $PAUSE_TIME_H_int);
    +		$PAUSE_TIME_M = ($PAUSE_TIME_M * 60);
    +		$PAUSE_TIME_M = round($PAUSE_TIME_M, 2);
    +		$PAUSE_TIME_M_int = intval("$PAUSE_TIME_M");
    +		$PAUSE_TIME_S = ($PAUSE_TIME_M - $PAUSE_TIME_M_int);
    +		$PAUSE_TIME_S = ($PAUSE_TIME_S * 60);
    +		$PAUSE_TIME_S = round($PAUSE_TIME_S, 0);
    +		if ($PAUSE_TIME_S < 10) {$PAUSE_TIME_S = "0$PAUSE_TIME_S";}
    +		if ($PAUSE_TIME_M_int < 10) {$PAUSE_TIME_M_int = "0$PAUSE_TIME_M_int";}
    +		$PAUSE_TIME_HMS = "$PAUSE_TIME_H_int:$PAUSE_TIME_M_int:$PAUSE_TIME_S";
    +		$pfPAUSE_TIME_HMS =		sprintf("%8s", $PAUSE_TIME_HMS);
    +
    +		$WAIT_TIME_H = ($row[5] / 3600);
    +		$WAIT_TIME_H = round($WAIT_TIME_H, 2);
    +		$WAIT_TIME_H_int = intval("$WAIT_TIME_H");
    +		$WAIT_TIME_M = ($WAIT_TIME_H - $WAIT_TIME_H_int);
    +		$WAIT_TIME_M = ($WAIT_TIME_M * 60);
    +		$WAIT_TIME_M = round($WAIT_TIME_M, 2);
    +		$WAIT_TIME_M_int = intval("$WAIT_TIME_M");
    +		$WAIT_TIME_S = ($WAIT_TIME_M - $WAIT_TIME_M_int);
    +		$WAIT_TIME_S = ($WAIT_TIME_S * 60);
    +		$WAIT_TIME_S = round($WAIT_TIME_S, 0);
    +		if ($WAIT_TIME_S < 10) {$WAIT_TIME_S = "0$WAIT_TIME_S";}
    +		if ($WAIT_TIME_M_int < 10) {$WAIT_TIME_M_int = "0$WAIT_TIME_M_int";}
    +		$WAIT_TIME_HMS = "$WAIT_TIME_H_int:$WAIT_TIME_M_int:$WAIT_TIME_S";
    +		$pfWAIT_TIME_HMS =		sprintf("%8s", $WAIT_TIME_HMS);
    +
    +		$WRAPUP_TIME_H = ($row[7] / 3600);
    +		$WRAPUP_TIME_H = round($WRAPUP_TIME_H, 2);
    +		$WRAPUP_TIME_H_int = intval("$WRAPUP_TIME_H");
    +		$WRAPUP_TIME_M = ($WRAPUP_TIME_H - $WRAPUP_TIME_H_int);
    +		$WRAPUP_TIME_M = ($WRAPUP_TIME_M * 60);
    +		$WRAPUP_TIME_M = round($WRAPUP_TIME_M, 2);
    +		$WRAPUP_TIME_M_int = intval("$WRAPUP_TIME_M");
    +		$WRAPUP_TIME_S = ($WRAPUP_TIME_M - $WRAPUP_TIME_M_int);
    +		$WRAPUP_TIME_S = ($WRAPUP_TIME_S * 60);
    +		$WRAPUP_TIME_S = round($WRAPUP_TIME_S, 0);
    +		if ($WRAPUP_TIME_S < 10) {$WRAPUP_TIME_S = "0$WRAPUP_TIME_S";}
    +		if ($WRAPUP_TIME_M_int < 10) {$WRAPUP_TIME_M_int = "0$WRAPUP_TIME_M_int";}
    +		$WRAPUP_TIME_HMS = "$WRAPUP_TIME_H_int:$WRAPUP_TIME_M_int:$WRAPUP_TIME_S";
    +		$pfWRAPUP_TIME_HMS =		sprintf("%8s", $WRAPUP_TIME_HMS);
    +
    +		$TALK_AVG_M = ($row[2] / 60);
    +		$TALK_AVG_M = round($TALK_AVG_M, 2);
    +		$TALK_AVG_M_int = intval("$TALK_AVG_M");
    +		$TALK_AVG_S = ($TALK_AVG_M - $TALK_AVG_M_int);
    +		$TALK_AVG_S = ($TALK_AVG_S * 60);
    +		$TALK_AVG_S = round($TALK_AVG_S, 0);
    +		if ($TALK_AVG_S < 10) {$TALK_AVG_S = "0$TALK_AVG_S";}
    +		$TALK_AVG_MS = "$TALK_AVG_M_int:$TALK_AVG_S";
    +		$pfTALK_AVG_MS =		sprintf("%6s", $TALK_AVG_MS);
    +
    +		$PAUSE_AVG_M = ($row[4] / 60);
    +		$PAUSE_AVG_M = round($PAUSE_AVG_M, 2);
    +		$PAUSE_AVG_M_int = intval("$PAUSE_AVG_M");
    +		$PAUSE_AVG_S = ($PAUSE_AVG_M - $PAUSE_AVG_M_int);
    +		$PAUSE_AVG_S = ($PAUSE_AVG_S * 60);
    +		$PAUSE_AVG_S = round($PAUSE_AVG_S, 0);
    +		if ($PAUSE_AVG_S < 10) {$PAUSE_AVG_S = "0$PAUSE_AVG_S";}
    +		$PAUSE_AVG_MS = "$PAUSE_AVG_M_int:$PAUSE_AVG_S";
    +		$pfPAUSE_AVG_MS =		sprintf("%6s", $PAUSE_AVG_MS);
    +
    +		$WAIT_AVG_M = ($row[6] / 60);
    +		$WAIT_AVG_M = round($WAIT_AVG_M, 2);
    +		$WAIT_AVG_M_int = intval("$WAIT_AVG_M");
    +		$WAIT_AVG_S = ($WAIT_AVG_M - $WAIT_AVG_M_int);
    +		$WAIT_AVG_S = ($WAIT_AVG_S * 60);
    +		$WAIT_AVG_S = round($WAIT_AVG_S, 0);
    +		if ($WAIT_AVG_S < 10) {$WAIT_AVG_S = "0$WAIT_AVG_S";}
    +		$WAIT_AVG_MS = "$WAIT_AVG_M_int:$WAIT_AVG_S";
    +		$pfWAIT_AVG_MS =		sprintf("%6s", $WAIT_AVG_MS);
    +
    +		$WRAPUP_AVG_M = ($row[8] / 60);
    +		$WRAPUP_AVG_M = round($WRAPUP_AVG_M, 2);
    +		$WRAPUP_AVG_M_int = intval("$WRAPUP_AVG_M");
    +		$WRAPUP_AVG_S = ($WRAPUP_AVG_M - $WRAPUP_AVG_M_int);
    +		$WRAPUP_AVG_S = ($WRAPUP_AVG_S * 60);
    +		$WRAPUP_AVG_S = round($WRAPUP_AVG_S, 0);
    +		if ($WRAPUP_AVG_S < 10) {$WRAPUP_AVG_S = "0$WRAPUP_AVG_S";}
    +		$WRAPUP_AVG_MS = "$WRAPUP_AVG_M_int:$WRAPUP_AVG_S";
    +		$pfWRAPUP_AVG_MS =		sprintf("%6s", $WRAPUP_AVG_MS);
    +
    +	echo "TOTAL CALLS TAKEN: $row[0]\n";
    +	echo "TALK TIME:               $pfTALK_TIME_HMS     AVERAGE: $pfTALK_AVG_MS\n";
    +	echo "PAUSE TIME:              $pfPAUSE_TIME_HMS     AVERAGE: $pfPAUSE_AVG_MS\n";
    +	echo "WAIT TIME:               $pfWAIT_TIME_HMS     AVERAGE: $pfWAIT_AVG_MS\n";
    +	echo "WRAPUP TIME:             $pfWRAPUP_TIME_HMS     AVERAGE: $pfWRAPUP_AVG_MS\n";
    +	echo "----------------------------------------------------------------\n";
    +	echo "TOTAL ACTIVE AGENT TIME: $pfTOTAL_TIME_HMS\n";
    +
    +	echo "\n";
    +	}
    +else
    +	{
    +	echo "<a href=\"$PHP_SELF?calls_summary=1&agent=$agent&query_date=$query_date\">Call Activity Summary</a>\n\n";
    +
    +	}
    +
    +$stmt="select event_time,UNIX_TIMESTAMP(event_time) from vicidial_agent_log where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' order by event_time limit 1;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +
    +echo "FIRST LOGIN:          $row[0]\n";
    +$start = $row[1];
    +
    +$stmt="select event_time,UNIX_TIMESTAMP(event_time) from vicidial_agent_log where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' order by event_time desc limit 1;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +
    +echo "LAST LOG ACTIVITY:    $row[0]\n";
    +$end = $row[1];
    +
    +$login_time = ($end - $start);
    +	$LOGIN_TIME_H = ($login_time / 3600);
    +	$LOGIN_TIME_H = round($LOGIN_TIME_H, 2);
    +	$LOGIN_TIME_H_int = intval("$LOGIN_TIME_H");
    +	$LOGIN_TIME_M = ($LOGIN_TIME_H - $LOGIN_TIME_H_int);
    +	$LOGIN_TIME_M = ($LOGIN_TIME_M * 60);
    +	$LOGIN_TIME_M = round($LOGIN_TIME_M, 2);
    +	$LOGIN_TIME_M_int = intval("$LOGIN_TIME_M");
    +	$LOGIN_TIME_S = ($LOGIN_TIME_M - $LOGIN_TIME_M_int);
    +	$LOGIN_TIME_S = ($LOGIN_TIME_S * 60);
    +	$LOGIN_TIME_S = round($LOGIN_TIME_S, 0);
    +	if ($LOGIN_TIME_S < 10) {$LOGIN_TIME_S = "0$LOGIN_TIME_S";}
    +	if ($LOGIN_TIME_M_int < 10) {$LOGIN_TIME_M_int = "0$LOGIN_TIME_M_int";}
    +	$LOGIN_TIME_HMS = "$LOGIN_TIME_H_int:$LOGIN_TIME_M_int:$LOGIN_TIME_S";
    +	$pfLOGIN_TIME_HMS =		sprintf("%8s", $LOGIN_TIME_HMS);
    +
    +echo "-----------------------------------------\n";
    +echo "TOTAL LOGGED-IN TIME:    $pfLOGIN_TIME_HMS\n";
    +
    +
    +### timeclock records
    +
    +
    +##### vicidial_timeclock log records for user #####
    +
    +$total_login_time=0;
    +$SQday_ARY =	explode('-',$query_date_BEGIN);
    +$EQday_ARY =	explode('-',$query_date_END);
    +$SQepoch = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]);
    +$EQepoch = mktime(23, 59, 59, $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]);
    +
    +echo "\n";
    +
    +echo "<B>TIMECLOCK LOGIN/LOGOUT TIME:</B>\n";
    +echo "<TABLE width=550 cellspacing=0 cellpadding=1>\n";
    +echo "<tr><td><font size=2>ID </td><td><font size=2>EDIT </td><td align=right><font size=2>EVENT </td><td align=right><font size=2> DATE</td><td align=right><font size=2> IP ADDRESS</td><td align=right><font size=2> GROUP</td><td align=right><font size=2>HOURS:MINUTES</td></tr>\n";
    +
    +	$stmt="SELECT event,event_epoch,user_group,login_sec,ip_address,timeclock_id,manager_user from vicidial_timeclock_log where user='$agent' and event_epoch >= '$SQepoch'  and event_epoch <= '$EQepoch';";
    +	if ($DB>0) {echo "|$stmt|";}
    +	$rslt=mysql_query($stmt, $link);
    +	$events_to_print = mysql_num_rows($rslt);
    +
    +	$total_logs=0;
    +	$o=0;
    +	while ($events_to_print > $o) {
    +		$row=mysql_fetch_row($rslt);
    +		if ( ($row[0]=='START') or ($row[0]=='LOGIN') )
    +			{$bgcolor='bgcolor="#B9CBFD"';} 
    +		else
    +			{$bgcolor='bgcolor="#9BB9FB"';}
    +
    +		$TC_log_date = date("Y-m-d H:i:s", $row[1]);
    +
    +		$manager_edit='';
    +		if (strlen($row[6])>0) {$manager_edit = ' * ';}
    +
    +		if (ereg("LOGIN", $row[0]))
    +			{
    +			$login_sec='';
    +			echo "<tr $bgcolor><td><font size=2><A HREF=\"./timeclock_edit.php?timeclock_id=$row[5]\">$row[5]</A></td>";
    +			echo "<td align=right><font size=2>$manager_edit</td>";
    +			echo "<td align=right><font size=2>$row[0]</td>";
    +			echo "<td align=right><font size=2> $TC_log_date</td>\n";
    +			echo "<td align=right><font size=2> $row[4]</td>\n";
    +			echo "<td align=right><font size=2> $row[2]</td>\n";
    +			echo "<td align=right><font size=2> </td></tr>\n";
    +			}
    +		if (ereg("LOGOUT", $row[0]))
    +			{
    +			$login_sec = $row[3];
    +			$total_login_time = ($total_login_time + $login_sec);
    +			$event_hours = ($login_sec / 3600);
    +			$event_hours_int = round($event_hours, 2);
    +			$event_hours_int = intval("$event_hours_int");
    +			$event_minutes = ($event_hours - $event_hours_int);
    +			$event_minutes = ($event_minutes * 60);
    +			$event_minutes_int = round($event_minutes, 0);
    +			if ($event_minutes_int < 10) {$event_minutes_int = "0$event_minutes_int";}
    +			echo "<tr $bgcolor><td><font size=2><A HREF=\"./timeclock_edit.php?timeclock_id=$row[5]\">$row[5]</A></td>";
    +			echo "<td align=right><font size=2>$manager_edit</td>";
    +			echo "<td align=right><font size=2>$row[0]</td>";
    +			echo "<td align=right><font size=2> $TC_log_date</td>\n";
    +			echo "<td align=right><font size=2> $row[4]</td>\n";
    +			echo "<td align=right><font size=2> $row[2]</td>\n";
    +			echo "<td align=right><font size=2> $event_hours_int:$event_minutes_int";
    +			if ($DB) {echo " - $total_login_time - $login_sec";}
    +			echo "</td></tr>\n";
    +			}
    +		$o++;
    +	}
    +if (strlen($login_sec)<1)
    +	{
    +	$login_sec = ($STARTtime - $row[1]);
    +	$total_login_time = ($total_login_time + $login_sec);
    +		if ($DB) {echo "LOGIN ONLY - $total_login_time - $login_sec";}
    +	}
    +$total_login_hours = ($total_login_time / 3600);
    +$total_login_hours_int = round($total_login_hours, 2);
    +$total_login_hours_int = intval("$total_login_hours_int");
    +$total_login_minutes = ($total_login_hours - $total_login_hours_int);
    +$total_login_minutes = ($total_login_minutes * 60);
    +$total_login_minutes_int = round($total_login_minutes, 0);
    +if ($total_login_minutes_int < 10) {$total_login_minutes_int = "0$total_login_minutes_int";}
    +
    +	if ($DB) {echo " - $total_login_time - $login_sec";}
    +
    +echo "<tr><td align=right><font size=2> </td>";
    +echo "<td align=right><font size=2> </td>\n";
    +echo "<td align=right><font size=2> </td>\n";
    +echo "<td align=right><font size=2> </td>\n";
    +echo "<td align=right><font size=2><font size=2>TOTAL </td>\n";
    +echo "<td align=right><font size=2> $total_login_hours_int:$total_login_minutes_int  </td></tr>\n";
    +
    +echo "</TABLE>\n";
    +
    +
    +
    +}
    +
    +
    +
    +?>
    +
    +</BODY></HTML>
    \ No newline at end of file
    diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_time_sheet_archive.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_time_sheet_archive.php
    new file mode 100644
    index 00000000..0120f0ea
    --- /dev/null
    +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_agent_time_sheet_archive.php
    @@ -0,0 +1,286 @@
    +<? 
    +# AST_agent_time_sheet_archive.php
    +# 
    +# Copyright (C) 2008  Matt Florell <vicidial@gmail.com>    LICENSE: AGPLv2
    +#
    +# CHANGES
    +#
    +# 60619-1721 - Added variable filtering to eliminate SQL injection attack threat
    +#            - Added required user/pass to gain access to this page
    +#
    +
    +require("dbconnect.php");
    +
    +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
    +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
    +$PHP_SELF=$_SERVER['PHP_SELF'];
    +if (isset($_GET["agent"]))				{$agent=$_GET["agent"];}
    +	elseif (isset($_POST["agent"]))		{$agent=$_POST["agent"];}
    +if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
    +	elseif (isset($_POST["query_date"]))		{$query_date=$_POST["query_date"];}
    +if (isset($_GET["calls_summary"]))				{$calls_summary=$_GET["calls_summary"];}
    +	elseif (isset($_POST["calls_summary"]))		{$calls_summary=$_POST["calls_summary"];}
    +if (isset($_GET["submit"]))				{$submit=$_GET["submit"];}
    +	elseif (isset($_POST["submit"]))		{$submit=$_POST["submit"];}
    +if (isset($_GET["SUBMIT"]))				{$SUBMIT=$_GET["SUBMIT"];}
    +	elseif (isset($_POST["SUBMIT"]))		{$SUBMIT=$_POST["SUBMIT"];}
    +
    +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
    +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
    +
    +	$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
    +	if ($DB) {echo "|$stmt|\n";}
    +	$rslt=mysql_query($stmt, $link);
    +	$row=mysql_fetch_row($rslt);
    +	$auth=$row[0];
    +
    +  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
    +	{
    +    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
    +    Header("HTTP/1.0 401 Unauthorized");
    +    echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
    +    exit;
    +	}
    +
    +$NOW_DATE = date("Y-m-d");
    +$NOW_TIME = date("Y-m-d H:i:s");
    +$STARTtime = date("U");
    +if (!isset($query_date)) {$query_date = $NOW_DATE;}
    +
    +?>
    +
    +<HTML>
    +<HEAD>
    +<STYLE type="text/css">
    +<!--
    +   .green {color: white; background-color: green}
    +   .red {color: white; background-color: red}
    +   .blue {color: white; background-color: blue}
    +   .purple {color: white; background-color: purple}
    +-->
    + </STYLE>
    +
    +<? 
    +echo "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=utf-8\">\n";
    +echo "<TITLE>VICIDIAL: Agent Time Sheet\n";
    +echo "VICIDIAL ADMIN: Agent Time Sheet\n";
    +echo " - User Stats\n";
    +echo " - User Status\n";
    +echo " - Modify User\n";
    +echo "
    \n"; +echo "
      \n"; +echo "Date: \n"; +echo "User ID: \n"; +echo "\n"; +echo "
    \n\n"; + +echo "
    \n";
    +
    +
    +if (!$agent)
    +{
    +echo "\n";
    +echo "PLEASE SELECT AN AGENT ID AND DATE-TIME ABOVE AND CLICK SUBMIT\n";
    +echo " NOTE: stats taken from available agent log data\n";
    +}
    +
    +else
    +{
    +$query_date_BEGIN = "$query_date 00:00:00";   
    +$query_date_END = "$query_date 23:59:59";
    +$time_BEGIN = "00:00:00";   
    +$time_END = "23:59:59";
    +
    +$stmt="select full_name from vicidial_users where user='$agent';";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +$full_name = $row[0];
    +
    +echo "VICIDIAL: Agent Time Sheet                             $NOW_TIME\n";
    +
    +echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
    +echo "---------- AGENT TIME SHEET: $agent - $full_name -------------\n\n";
    +
    +if ($calls_summary)
    +	{
    +	$stmt="select count(*) as calls,sum(talk_sec) as talk,avg(talk_sec),sum(pause_sec),avg(pause_sec),sum(wait_sec),avg(wait_sec),sum(dispo_sec),avg(dispo_sec) from vicidial_agent_log_archive where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' and pause_sec<48800 and wait_sec<48800 and talk_sec<48800 and dispo_sec<48800 limit 1;";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +
    +	$TOTAL_TIME = ($row[1] + $row[3] + $row[5] + $row[7]);
    +
    +		$TOTAL_TIME_H = ($TOTAL_TIME / 3600);
    +		$TOTAL_TIME_H = round($TOTAL_TIME_H, 2);
    +		$TOTAL_TIME_H_int = intval("$TOTAL_TIME_H");
    +		$TOTAL_TIME_M = ($TOTAL_TIME_H - $TOTAL_TIME_H_int);
    +		$TOTAL_TIME_M = ($TOTAL_TIME_M * 60);
    +		$TOTAL_TIME_M = round($TOTAL_TIME_M, 2);
    +		$TOTAL_TIME_M_int = intval("$TOTAL_TIME_M");
    +		$TOTAL_TIME_S = ($TOTAL_TIME_M - $TOTAL_TIME_M_int);
    +		$TOTAL_TIME_S = ($TOTAL_TIME_S * 60);
    +		$TOTAL_TIME_S = round($TOTAL_TIME_S, 0);
    +		if ($TOTAL_TIME_S < 10) {$TOTAL_TIME_S = "0$TOTAL_TIME_S";}
    +		if ($TOTAL_TIME_M_int < 10) {$TOTAL_TIME_M_int = "0$TOTAL_TIME_M_int";}
    +		$TOTAL_TIME_HMS = "$TOTAL_TIME_H_int:$TOTAL_TIME_M_int:$TOTAL_TIME_S";
    +		$pfTOTAL_TIME_HMS =		sprintf("%8s", $TOTAL_TIME_HMS);
    +
    +		$TALK_TIME_H = ($row[1] / 3600);
    +		$TALK_TIME_H = round($TALK_TIME_H, 2);
    +		$TALK_TIME_H_int = intval("$TALK_TIME_H");
    +		$TALK_TIME_M = ($TALK_TIME_H - $TALK_TIME_H_int);
    +		$TALK_TIME_M = ($TALK_TIME_M * 60);
    +		$TALK_TIME_M = round($TALK_TIME_M, 2);
    +		$TALK_TIME_M_int = intval("$TALK_TIME_M");
    +		$TALK_TIME_S = ($TALK_TIME_M - $TALK_TIME_M_int);
    +		$TALK_TIME_S = ($TALK_TIME_S * 60);
    +		$TALK_TIME_S = round($TALK_TIME_S, 0);
    +		if ($TALK_TIME_S < 10) {$TALK_TIME_S = "0$TALK_TIME_S";}
    +		if ($TALK_TIME_M_int < 10) {$TALK_TIME_M_int = "0$TALK_TIME_M_int";}
    +		$TALK_TIME_HMS = "$TALK_TIME_H_int:$TALK_TIME_M_int:$TALK_TIME_S";
    +		$pfTALK_TIME_HMS =		sprintf("%8s", $TALK_TIME_HMS);
    +
    +		$PAUSE_TIME_H = ($row[3] / 3600);
    +		$PAUSE_TIME_H = round($PAUSE_TIME_H, 2);
    +		$PAUSE_TIME_H_int = intval("$PAUSE_TIME_H");
    +		$PAUSE_TIME_M = ($PAUSE_TIME_H - $PAUSE_TIME_H_int);
    +		$PAUSE_TIME_M = ($PAUSE_TIME_M * 60);
    +		$PAUSE_TIME_M = round($PAUSE_TIME_M, 2);
    +		$PAUSE_TIME_M_int = intval("$PAUSE_TIME_M");
    +		$PAUSE_TIME_S = ($PAUSE_TIME_M - $PAUSE_TIME_M_int);
    +		$PAUSE_TIME_S = ($PAUSE_TIME_S * 60);
    +		$PAUSE_TIME_S = round($PAUSE_TIME_S, 0);
    +		if ($PAUSE_TIME_S < 10) {$PAUSE_TIME_S = "0$PAUSE_TIME_S";}
    +		if ($PAUSE_TIME_M_int < 10) {$PAUSE_TIME_M_int = "0$PAUSE_TIME_M_int";}
    +		$PAUSE_TIME_HMS = "$PAUSE_TIME_H_int:$PAUSE_TIME_M_int:$PAUSE_TIME_S";
    +		$pfPAUSE_TIME_HMS =		sprintf("%8s", $PAUSE_TIME_HMS);
    +
    +		$WAIT_TIME_H = ($row[5] / 3600);
    +		$WAIT_TIME_H = round($WAIT_TIME_H, 2);
    +		$WAIT_TIME_H_int = intval("$WAIT_TIME_H");
    +		$WAIT_TIME_M = ($WAIT_TIME_H - $WAIT_TIME_H_int);
    +		$WAIT_TIME_M = ($WAIT_TIME_M * 60);
    +		$WAIT_TIME_M = round($WAIT_TIME_M, 2);
    +		$WAIT_TIME_M_int = intval("$WAIT_TIME_M");
    +		$WAIT_TIME_S = ($WAIT_TIME_M - $WAIT_TIME_M_int);
    +		$WAIT_TIME_S = ($WAIT_TIME_S * 60);
    +		$WAIT_TIME_S = round($WAIT_TIME_S, 0);
    +		if ($WAIT_TIME_S < 10) {$WAIT_TIME_S = "0$WAIT_TIME_S";}
    +		if ($WAIT_TIME_M_int < 10) {$WAIT_TIME_M_int = "0$WAIT_TIME_M_int";}
    +		$WAIT_TIME_HMS = "$WAIT_TIME_H_int:$WAIT_TIME_M_int:$WAIT_TIME_S";
    +		$pfWAIT_TIME_HMS =		sprintf("%8s", $WAIT_TIME_HMS);
    +
    +		$WRAPUP_TIME_H = ($row[7] / 3600);
    +		$WRAPUP_TIME_H = round($WRAPUP_TIME_H, 2);
    +		$WRAPUP_TIME_H_int = intval("$WRAPUP_TIME_H");
    +		$WRAPUP_TIME_M = ($WRAPUP_TIME_H - $WRAPUP_TIME_H_int);
    +		$WRAPUP_TIME_M = ($WRAPUP_TIME_M * 60);
    +		$WRAPUP_TIME_M = round($WRAPUP_TIME_M, 2);
    +		$WRAPUP_TIME_M_int = intval("$WRAPUP_TIME_M");
    +		$WRAPUP_TIME_S = ($WRAPUP_TIME_M - $WRAPUP_TIME_M_int);
    +		$WRAPUP_TIME_S = ($WRAPUP_TIME_S * 60);
    +		$WRAPUP_TIME_S = round($WRAPUP_TIME_S, 0);
    +		if ($WRAPUP_TIME_S < 10) {$WRAPUP_TIME_S = "0$WRAPUP_TIME_S";}
    +		if ($WRAPUP_TIME_M_int < 10) {$WRAPUP_TIME_M_int = "0$WRAPUP_TIME_M_int";}
    +		$WRAPUP_TIME_HMS = "$WRAPUP_TIME_H_int:$WRAPUP_TIME_M_int:$WRAPUP_TIME_S";
    +		$pfWRAPUP_TIME_HMS =		sprintf("%8s", $WRAPUP_TIME_HMS);
    +
    +		$TALK_AVG_M = ($row[2] / 60);
    +		$TALK_AVG_M = round($TALK_AVG_M, 2);
    +		$TALK_AVG_M_int = intval("$TALK_AVG_M");
    +		$TALK_AVG_S = ($TALK_AVG_M - $TALK_AVG_M_int);
    +		$TALK_AVG_S = ($TALK_AVG_S * 60);
    +		$TALK_AVG_S = round($TALK_AVG_S, 0);
    +		if ($TALK_AVG_S < 10) {$TALK_AVG_S = "0$TALK_AVG_S";}
    +		$TALK_AVG_MS = "$TALK_AVG_M_int:$TALK_AVG_S";
    +		$pfTALK_AVG_MS =		sprintf("%6s", $TALK_AVG_MS);
    +
    +		$PAUSE_AVG_M = ($row[4] / 60);
    +		$PAUSE_AVG_M = round($PAUSE_AVG_M, 2);
    +		$PAUSE_AVG_M_int = intval("$PAUSE_AVG_M");
    +		$PAUSE_AVG_S = ($PAUSE_AVG_M - $PAUSE_AVG_M_int);
    +		$PAUSE_AVG_S = ($PAUSE_AVG_S * 60);
    +		$PAUSE_AVG_S = round($PAUSE_AVG_S, 0);
    +		if ($PAUSE_AVG_S < 10) {$PAUSE_AVG_S = "0$PAUSE_AVG_S";}
    +		$PAUSE_AVG_MS = "$PAUSE_AVG_M_int:$PAUSE_AVG_S";
    +		$pfPAUSE_AVG_MS =		sprintf("%6s", $PAUSE_AVG_MS);
    +
    +		$WAIT_AVG_M = ($row[6] / 60);
    +		$WAIT_AVG_M = round($WAIT_AVG_M, 2);
    +		$WAIT_AVG_M_int = intval("$WAIT_AVG_M");
    +		$WAIT_AVG_S = ($WAIT_AVG_M - $WAIT_AVG_M_int);
    +		$WAIT_AVG_S = ($WAIT_AVG_S * 60);
    +		$WAIT_AVG_S = round($WAIT_AVG_S, 0);
    +		if ($WAIT_AVG_S < 10) {$WAIT_AVG_S = "0$WAIT_AVG_S";}
    +		$WAIT_AVG_MS = "$WAIT_AVG_M_int:$WAIT_AVG_S";
    +		$pfWAIT_AVG_MS =		sprintf("%6s", $WAIT_AVG_MS);
    +
    +		$WRAPUP_AVG_M = ($row[8] / 60);
    +		$WRAPUP_AVG_M = round($WRAPUP_AVG_M, 2);
    +		$WRAPUP_AVG_M_int = intval("$WRAPUP_AVG_M");
    +		$WRAPUP_AVG_S = ($WRAPUP_AVG_M - $WRAPUP_AVG_M_int);
    +		$WRAPUP_AVG_S = ($WRAPUP_AVG_S * 60);
    +		$WRAPUP_AVG_S = round($WRAPUP_AVG_S, 0);
    +		if ($WRAPUP_AVG_S < 10) {$WRAPUP_AVG_S = "0$WRAPUP_AVG_S";}
    +		$WRAPUP_AVG_MS = "$WRAPUP_AVG_M_int:$WRAPUP_AVG_S";
    +		$pfWRAPUP_AVG_MS =		sprintf("%6s", $WRAPUP_AVG_MS);
    +
    +	echo "TOTAL CALLS TAKEN: $row[0]\n";
    +	echo "TALK TIME:               $pfTALK_TIME_HMS     AVERAGE: $pfTALK_AVG_MS\n";
    +	echo "PAUSE TIME:              $pfPAUSE_TIME_HMS     AVERAGE: $pfPAUSE_AVG_MS\n";
    +	echo "WAIT TIME:               $pfWAIT_TIME_HMS     AVERAGE: $pfWAIT_AVG_MS\n";
    +	echo "WRAPUP TIME:             $pfWRAPUP_TIME_HMS     AVERAGE: $pfWRAPUP_AVG_MS\n";
    +	echo "----------------------------------------------------------------\n";
    +	echo "TOTAL ACTIVE AGENT TIME: $pfTOTAL_TIME_HMS\n";
    +
    +	echo "\n";
    +	}
    +else
    +	{
    +	echo "Call Activity Summary\n\n";
    +
    +	}
    +
    +$stmt="select event_time,UNIX_TIMESTAMP(event_time) from vicidial_agent_log_archive where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' order by event_time limit 1;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +
    +echo "FIRST LOGIN:          $row[0]\n";
    +$start = $row[1];
    +
    +$stmt="select event_time,UNIX_TIMESTAMP(event_time) from vicidial_agent_log_archive where event_time <= '" . mysql_real_escape_string($query_date_END) . "' and event_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and user='" . mysql_real_escape_string($agent) . "' order by event_time desc limit 1;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +
    +echo "LAST LOG ACTIVITY:    $row[0]\n";
    +$end = $row[1];
    +
    +$login_time = ($end - $start);
    +	$LOGIN_TIME_H = ($login_time / 3600);
    +	$LOGIN_TIME_H = round($LOGIN_TIME_H, 2);
    +	$LOGIN_TIME_H_int = intval("$LOGIN_TIME_H");
    +	$LOGIN_TIME_M = ($LOGIN_TIME_H - $LOGIN_TIME_H_int);
    +	$LOGIN_TIME_M = ($LOGIN_TIME_M * 60);
    +	$LOGIN_TIME_M = round($LOGIN_TIME_M, 2);
    +	$LOGIN_TIME_M_int = intval("$LOGIN_TIME_M");
    +	$LOGIN_TIME_S = ($LOGIN_TIME_M - $LOGIN_TIME_M_int);
    +	$LOGIN_TIME_S = ($LOGIN_TIME_S * 60);
    +	$LOGIN_TIME_S = round($LOGIN_TIME_S, 0);
    +	if ($LOGIN_TIME_S < 10) {$LOGIN_TIME_S = "0$LOGIN_TIME_S";}
    +	if ($LOGIN_TIME_M_int < 10) {$LOGIN_TIME_M_int = "0$LOGIN_TIME_M_int";}
    +	$LOGIN_TIME_HMS = "$LOGIN_TIME_H_int:$LOGIN_TIME_M_int:$LOGIN_TIME_S";
    +	$pfLOGIN_TIME_HMS =		sprintf("%8s", $LOGIN_TIME_HMS);
    +
    +echo "-----------------------------------------\n";
    +echo "TOTAL LOGGED-IN TIME:    $pfLOGIN_TIME_HMS\n";
    +
    +}
    +
    +
    +
    +?>
    +
    +
    \ No newline at end of file
    diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_inboundEXTstats.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_inboundEXTstats.php
    new file mode 100644
    index 00000000..2df59f5d
    --- /dev/null
    +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_inboundEXTstats.php
    @@ -0,0 +1,400 @@
    +    LICENSE: AGPLv2
    +#
    +# CHANGES
    +# 60421-1450 - check GET/POST vars lines with isset to not trigger PHP NOTICES
    +# 60620-1322 - Added variable filtering to eliminate SQL injection attack threat
    +#            - Added required user/pass to gain access to this page
    +#
    +
    +require("dbconnect.php");
    +
    +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
    +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
    +$PHP_SELF=$_SERVER['PHP_SELF'];
    +if (isset($_GET["group"]))					{$group=$_GET["group"];}
    +	elseif (isset($_POST["group"]))			{$group=$_POST["group"];}
    +if (isset($_GET["query_date"]))				{$query_date=$_GET["query_date"];}
    +	elseif (isset($_POST["query_date"]))	{$query_date=$_POST["query_date"];}
    +if (isset($_GET["server_ip"]))				{$server_ip=$_GET["server_ip"];}
    +	elseif (isset($_POST["server_ip"]))		{$server_ip=$_POST["server_ip"];}
    +if (isset($_GET["submit"]))					{$submit=$_GET["submit"];}
    +	elseif (isset($_POST["submit"]))		{$submit=$_POST["submit"];}
    +if (isset($_GET["SUBMIT"]))					{$SUBMIT=$_GET["SUBMIT"];}
    +	elseif (isset($_POST["SUBMIT"]))		{$SUBMIT=$_POST["SUBMIT"];}
    +
    +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
    +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
    +
    +	$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';";
    +	if ($DB) {echo "|$stmt|\n";}
    +	$rslt=mysql_query($stmt, $link);
    +	$row=mysql_fetch_row($rslt);
    +	$auth=$row[0];
    +
    +  if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth))
    +	{
    +    Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\"");
    +    Header("HTTP/1.0 401 Unauthorized");
    +    echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n";
    +    exit;
    +	}
    +
    +
    +$NOW_DATE = date("Y-m-d");
    +$NOW_TIME = date("Y-m-d H:i:s");
    +$STARTtime = date("U");
    +if (!isset($query_date)) {$query_date = $NOW_DATE;}
    +if (!isset($server_ip)) {$server_ip = '10.10.11.20';}
    +
    +$stmt="select extension,full_number,inbound_name from inbound_numbers where server_ip='" . mysql_real_escape_string($server_ip) . "';";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$inbound_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $inbound_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$inbound[$i] =$row[0];
    +	$fullnum[$i] =$row[1];
    +	$inbname[$i] =$row[2];
    +	$i++;
    +	}
    +?>
    +
    +
    +
    +
    +
    +\n";
    +#echo"\n";
    +echo "ASTERISK: Inbound Calls Stats\n";
    +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    \n\n"; + +echo "
    \n\n";
    +
    +
    +if (!$group)
    +{
    +echo "\n\n";
    +echo "PLEASE SELECT A NUMBER AND DATE ABOVE AND CLICK SUBMIT\n";
    +}
    +
    +else
    +{
    +
    +
    +echo "ASTERISK: Inbound Calls Stats                      $NOW_TIME\n";
    +
    +echo "\n";
    +echo "---------- TOTALS\n";
    +
    +$extenSQL = "and extension='" . mysql_real_escape_string($group) . "'";
    +if (eregi("\*",$group))
    +	{$extenSQL = "and extension LIKE \"%$group\"";}
    +$stmt="select count(*),sum(length_in_sec) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +
    +$TOTALcalls =	sprintf("%10s", $row[0]);
    +$average_hold_seconds = ($row[1] / $row[0]);
    +$average_hold_seconds = round($average_hold_seconds, 0);
    +$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
    +
    +echo "Total Calls That came into this number:       $TOTALcalls\n";
    +echo "Average Call Length(seconds) for all Calls:   $average_hold_seconds\n";
    +
    +echo "\n";
    +echo "---------- DROPS\n";
    +
    +$stmt="select count(*),sum(length_in_sec) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +
    +$DROPcalls =	sprintf("%10s", $row[0]);
    +$DROPpercent = (($DROPcalls / $TOTALcalls) * 100);
    +$DROPpercent = round($DROPpercent, 0);
    +
    +if ($row[0])
    +	{
    +	$average_hold_seconds = ($row[1] / $row[0]);
    +	$average_hold_seconds = round($average_hold_seconds, 0);
    +	$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
    +	}
    +else {$DROPpercent=0;   $average_hold_seconds=0;}
    +echo "Total DROP Calls:   (less than 10 seconds)    $DROPcalls  $DROPpercent%\n";
    +echo "Average Call Length(seconds) for DROP Calls:  $average_hold_seconds\n";
    +
    +
    +##############################
    +#########  CALLS STATS
    +
    +echo "\n";
    +echo "---------- CALL LISTINGS\n";
    +echo "+----------------------+----------------------+--------+---------------------+\n";
    +echo "| CALLERID             | CALLERIDNAME         | LENGTH | DATE TIME           |\n";
    +echo "+----------------------+----------------------+--------+---------------------+\n";
    +
    +$stmt="select number_dialed,caller_code,length_in_sec,start_time from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$users_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $users_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +
    +	$CID =			sprintf("%-20s", $row[0]);
    +	$CIDname =		sprintf("%-20s", $row[1]); while(strlen($full_name)>15) {$full_name = substr("$full_name", 0, -1);}
    +	$datetime =		sprintf("%-19s", $row[3]);
    +	$USERavgTALK =	$row[2];
    +
    +	$USERavgTALK_M = ($USERavgTALK / 60);
    +	$USERavgTALK_M = round($USERavgTALK_M, 2);
    +	$USERavgTALK_M_int = intval("$USERavgTALK_M");
    +	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
    +	$USERavgTALK_S = ($USERavgTALK_S * 60);
    +	$USERavgTALK_S = round($USERavgTALK_S, 0);
    +	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
    +	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
    +	$USERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
    +
    +	echo "| $CID | $CIDname | $USERavgTALK_MS | $datetime |\n";
    +
    +	$i++;
    +	}
    +
    +echo "+----------------------+----------------------+--------+---------------------+\n";
    +
    +##############################
    +#########  TIME STATS
    +
    +if ($output == 'FULL')
    +	{
    +
    +	echo "\n";
    +	echo "---------- TIME STATS\n";
    +
    +	echo "\n";
    +
    +	$hi_hour_count=0;
    +	$last_full_record=0;
    +	$i=0;
    +	$h=0;
    +	while ($i <= 96)
    +		{
    +		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:00:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:14:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
    +		$rslt=mysql_query($stmt, $link);
    +		if ($DB) {echo "$stmt\n";}
    +		$row=mysql_fetch_row($rslt);
    +		$hour_count[$i] = $row[0];
    +		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
    +		if ($hour_count[$i] > 0) {$last_full_record = $i;}
    +		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:00:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:14:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
    +		$rslt=mysql_query($stmt, $link);
    +		if ($DB) {echo "$stmt\n";}
    +		$row=mysql_fetch_row($rslt);
    +		$drop_count[$i] = $row[0];
    +		$i++;
    +
    +
    +		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:15:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:29:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
    +		$rslt=mysql_query($stmt, $link);
    +		if ($DB) {echo "$stmt\n";}
    +		$row=mysql_fetch_row($rslt);
    +		$hour_count[$i] = $row[0];
    +		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
    +		if ($hour_count[$i] > 0) {$last_full_record = $i;}
    +		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:15:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:29:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
    +		$rslt=mysql_query($stmt, $link);
    +		if ($DB) {echo "$stmt\n";}
    +		$row=mysql_fetch_row($rslt);
    +		$drop_count[$i] = $row[0];
    +		$i++;
    +
    +		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:30:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:44:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
    +		$rslt=mysql_query($stmt, $link);
    +		if ($DB) {echo "$stmt\n";}
    +		$row=mysql_fetch_row($rslt);
    +		$hour_count[$i] = $row[0];
    +		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
    +		if ($hour_count[$i] > 0) {$last_full_record = $i;}
    +		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:30:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:44:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
    +		$rslt=mysql_query($stmt, $link);
    +		if ($DB) {echo "$stmt\n";}
    +		$row=mysql_fetch_row($rslt);
    +		$drop_count[$i] = $row[0];
    +		$i++;
    +
    +		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:45:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL ;";
    +		$rslt=mysql_query($stmt, $link);
    +		if ($DB) {echo "$stmt\n";}
    +		$row=mysql_fetch_row($rslt);
    +		$hour_count[$i] = $row[0];
    +		if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
    +		if ($hour_count[$i] > 0) {$last_full_record = $i;}
    +		$stmt="select count(*) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " $h:45:00' and start_time <= '" . mysql_real_escape_string($query_date) . " $h:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' $extenSQL and (length_in_sec <= 10 or length_in_sec is null);";
    +		$rslt=mysql_query($stmt, $link);
    +		if ($DB) {echo "$stmt\n";}
    +		$row=mysql_fetch_row($rslt);
    +		$drop_count[$i] = $row[0];
    +		$i++;
    +		$h++;
    +		}
    +
    +	$hour_multiplier = (100 / $hi_hour_count);
    +	#$hour_multiplier = round($hour_multiplier, 0);
    +
    +	echo "\n";
    +	echo "GRAPH IN 15 MINUTE INCREMENTS OF TOTAL CALLS\n";
    +
    +	$k=1;
    +	$Mk=0;
    +	$call_scale = '0';
    +	while ($k <= 102) 
    +		{
    +		if ($Mk >= 5) 
    +			{
    +			$Mk=0;
    +			$scale_num=($k / $hour_multiplier);
    +			$scale_num = round($scale_num, 0);
    +			$LENscale_num = (strlen($scale_num));
    +			$k = ($k + $LENscale_num);
    +			$call_scale .= "$scale_num";
    +			}
    +		else
    +			{
    +			$call_scale .= " ";
    +			$k++;   $Mk++;
    +			}
    +		}
    +
    +
    +	echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
    +	#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | DROPS | TOTAL |\n";
    +	echo "| HOUR |$call_scale| DROPS | TOTAL |\n";
    +	echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
    +
    +	$ZZ = '00';
    +	$i=0;
    +	$h=4;
    +	$hour= -1;
    +	$no_lines_yet=1;
    +
    +	while ($i <= 96)
    +		{
    +		$char_counter=0;
    +		$time = '      ';
    +		if ($h >= 4) 
    +			{
    +			$hour++;
    +			$h=0;
    +			if ($hour < 10) {$hour = "0$hour";}
    +			$time = "+$hour$ZZ+";
    +			}
    +		if ($h == 1) {$time = "   15 ";}
    +		if ($h == 2) {$time = "   30 ";}
    +		if ($h == 3) {$time = "   45 ";}
    +		$Ghour_count = $hour_count[$i];
    +		if ($Ghour_count < 1) 
    +			{
    +			if ( ($no_lines_yet) or ($i > $last_full_record) )
    +				{
    +				$do_nothing=1;
    +				}
    +			else
    +				{
    +				$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
    +				echo "|$time|";
    +				$k=0;   while ($k <= 102) {echo " ";   $k++;}
    +				echo "| $hour_count[$i] |\n";
    +				}
    +			}
    +		else
    +			{
    +			$no_lines_yet=0;
    +			$Xhour_count = ($Ghour_count * $hour_multiplier);
    +			$Yhour_count = (99 - $Xhour_count);
    +
    +			$Gdrop_count = $drop_count[$i];
    +			if ($Gdrop_count < 1) 
    +				{
    +				$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
    +
    +				echo "|$time|";
    +				$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
    +				echo "*X";   $char_counter++;
    +				$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
    +					while ($char_counter <= 101) {echo " ";   $char_counter++;}
    +				echo "| 0     | $hour_count[$i] |\n";
    +
    +				}
    +			else
    +				{
    +				$Xdrop_count = ($Gdrop_count * $hour_multiplier);
    +
    +			#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
    +
    +				$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
    +
    +				$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
    +				$drop_count[$i] =	sprintf("%-5s", $drop_count[$i]);
    +
    +				echo "|$time|";
    +				$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
    +				echo "D";   $char_counter++;
    +				$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
    +				echo "X";   $char_counter++;
    +				$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
    +					while ($char_counter <= 102) {echo " ";   $char_counter++;}
    +				echo "| $drop_count[$i] | $hour_count[$i] |\n";
    +				}
    +			}
    +		
    +		
    +		$i++;
    +		$h++;
    +		}
    +
    +
    +	echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
    +
    +
    +	}
    +
    +
    +
    +
    +}
    +
    +
    +
    +?>
    +
    + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_inboundEXTstats_department.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_inboundEXTstats_department.php new file mode 100644 index 00000000..57546931 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_inboundEXTstats_department.php @@ -0,0 +1,195 @@ + LICENSE: AGPLv2 +# +# CHANGES +# 70201-1710 - First Build +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_query_date"])) {$end_query_date=$_GET["end_query_date"];} + elseif (isset($_POST["end_query_date"])) {$end_query_date=$_POST["end_query_date"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_query_date)) {$end_query_date = $NOW_DATE;} +if (!isset($server_ip)) {$server_ip = '10.10.11.20';} + +$stmt="select distinct department from inbound_numbers;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$dept_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $dept_to_print) + { + $row=mysql_fetch_row($rslt); + $dept[$i] =$row[0]; + $i++; + } + +?> + + + + + +\n"; +#echo"\n"; +echo "ASTERISK: Inbound Calls Stats - By Department\n"; +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    \n\n"; + +echo "
    \n\n";
    +
    +
    +if (!$group)
    +{
    +echo "\n\n";
    +echo "PLEASE SELECT A DEPARTMENT AND DATE RANGE ABOVE AND CLICK SUBMIT\n";
    +}
    +
    +else
    +{
    +$extSQL='';
    +$stmt="select extension from inbound_numbers where department='$group';";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$inbound_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $inbound_to_print)
    +	{
    +	if (strlen($extSQL)> 1) {$extSQL .= ",";}
    +	$row=mysql_fetch_row($rslt);
    +	$extensions[$i] =$row[0];
    +	$extSQL .= "'$extensions[$i]'";
    +	$i++;
    +	}
    +
    +echo "ASTERISK: Inbound Calls Stats For $group   from $query_date to $end_query_date\n";
    +
    +echo "\n";
    +echo "---------- TOTALS\n";
    +echo "\n";
    +
    +echo "+----------------------+------------+------------+\n";
    +echo "| NUMBER               | CALLS      | AVG TIME   |\n";
    +echo "+----------------------+------------+------------+\n";
    +
    +$k=0;
    +while ($k < $inbound_to_print)
    +	{
    +	$stmt="select count(*),sum(length_in_sec) from call_log where start_time >= '" . mysql_real_escape_string($query_date) . " 00:00:01' and start_time <= '" . mysql_real_escape_string($end_query_date) . " 23:59:59' and server_ip='" . mysql_real_escape_string($server_ip) . "' and extension='$extensions[$k]' ;";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +
    +	$extensions[$k] = sprintf("%20s", $extensions[$k]);
    +	$TOTALcalls =	sprintf("%10s", $row[0]);
    +	if ( ($row[0]<1) or ($row[1]<1) )
    +		{
    +		$average_hold_seconds = "         0";
    +		}
    +	else
    +		{
    +		$average_hold_seconds = ($row[1] / $row[0]);
    +		$average_hold_seconds = round($average_hold_seconds, 0);
    +		$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
    +		}
    +
    +	$calls = ($TOTALcalls + $calls);
    +	$seconds = ($row[1] + $seconds);
    +
    +	echo "| $extensions[$k] | $TOTALcalls | $average_hold_seconds |\n";
    +	$k++;
    +	}
    +
    +$calls =	sprintf("%10s", $calls);
    +$seconds = ($seconds / $calls);
    +$seconds = round($seconds, 0);
    +$seconds =	sprintf("%5s", $seconds);
    +echo "+----------------------+------------+------------+\n";
    +echo "| TOTALS               | $calls | AVG: $seconds |\n";
    +echo "+----------------------+------------+------------+\n";
    +
    +
    +}
    +
    +
    +
    +?>
    +
    + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_parkstats.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_parkstats.php new file mode 100644 index 00000000..593b4e83 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_parkstats.php @@ -0,0 +1,396 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 60619-1717 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="select distinct channel_group from park_log;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Park Stats\n"; +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFY | REPORTS \n"; +echo "
    \n\n"; + +echo "
    \n\n";
    +
    +
    +if (!$group)
    +{
    +echo "\n\n";
    +echo "PLEASE SELECT A GROUP AND DATE ABOVE AND CLICK SUBMIT\n";
    +}
    +
    +else
    +{
    +
    +
    +echo "VICIDIAL: Park Stats                             $NOW_TIME\n";
    +
    +echo "\n";
    +echo "---------- TOTALS\n";
    +
    +$stmt="select count(*),sum(parked_sec) from park_log where parked_time >= '$query_date 00:00:01' and parked_time <= '$query_date 23:59:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "';";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +
    +$TOTALcalls =	sprintf("%10s", $row[0]);
    +$average_hold_seconds = ($row[1] / $row[0]);
    +$average_hold_seconds = round($average_hold_seconds, 0);
    +$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
    +
    +echo "Total Calls taken in this Group:              $TOTALcalls\n";
    +echo "Average Hold Time(seconds) for all Calls:     $average_hold_seconds\n";
    +
    +echo "\n";
    +echo "---------- DROPS\n";
    +
    +$stmt="select count(*),sum(parked_sec) from park_log where parked_time >= '$query_date 00:00:01' and parked_time <= '$query_date 23:59:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "' and (talked_sec < 5 or talked_sec is null);";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +
    +$DROPcalls =	sprintf("%10s", $row[0]);
    +$DROPpercent = (($DROPcalls / $TOTALcalls) * 100);
    +$DROPpercent = round($DROPpercent, 0);
    +
    +$average_hold_seconds = ($row[1] / $row[0]);
    +$average_hold_seconds = round($average_hold_seconds, 0);
    +$average_hold_seconds =	sprintf("%10s", $average_hold_seconds);
    +
    +echo "Total Dropped Calls:                          $DROPcalls  $DROPpercent%\n";
    +echo "Average Hold Time(seconds) for Dropped Calls: $average_hold_seconds\n";
    +
    +
    +##############################
    +#########  USER STATS
    +
    +echo "\n";
    +echo "---------- USER STATS\n";
    +echo "+--------------------------+------------+--------+--------+\n";
    +echo "| USER                     | CALLS      | TIME M | AVRG M |\n";
    +echo "+--------------------------+------------+--------+--------+\n";
    +
    +$stmt="select park_log.user,full_name,count(*),sum(talked_sec),avg(talked_sec) from park_log,vicidial_users where parked_time >= '$query_date 00:00:01' and parked_time <= '$query_date 23:59:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "' and park_log.user is not null and talked_sec is not null and talked_sec > 4 and park_log.user=vicidial_users.user group by park_log.user;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$users_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $users_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +
    +	$user =			sprintf("%-6s", $row[0]);
    +	$full_name =	sprintf("%-15s", $row[1]); while(strlen($full_name)>15) {$full_name = substr("$full_name", 0, -1);}
    +	$USERcalls =	sprintf("%10s", $row[2]);
    +	$USERtotTALK =	$row[3];
    +	$USERavgTALK =	$row[4];
    +
    +	$USERtotTALK_M = ($USERtotTALK / 60);
    +	$USERtotTALK_M = round($USERtotTALK_M, 2);
    +	$USERtotTALK_M_int = intval("$USERtotTALK_M");
    +	$USERtotTALK_S = ($USERtotTALK_M - $USERtotTALK_M_int);
    +	$USERtotTALK_S = ($USERtotTALK_S * 60);
    +	$USERtotTALK_S = round($USERtotTALK_S, 0);
    +	if ($USERtotTALK_S < 10) {$USERtotTALK_S = "0$USERtotTALK_S";}
    +	$USERtotTALK_MS = "$USERtotTALK_M_int:$USERtotTALK_S";
    +	$USERtotTALK_MS =		sprintf("%6s", $USERtotTALK_MS);
    +
    +	$USERavgTALK_M = ($USERavgTALK / 60);
    +	$USERavgTALK_M = round($USERavgTALK_M, 2);
    +	$USERavgTALK_M_int = intval("$USERavgTALK_M");
    +	$USERavgTALK_S = ($USERavgTALK_M - $USERavgTALK_M_int);
    +	$USERavgTALK_S = ($USERavgTALK_S * 60);
    +	$USERavgTALK_S = round($USERavgTALK_S, 0);
    +	if ($USERavgTALK_S < 10) {$USERavgTALK_S = "0$USERavgTALK_S";}
    +	$USERavgTALK_MS = "$USERavgTALK_M_int:$USERavgTALK_S";
    +	$USERavgTALK_MS =		sprintf("%6s", $USERavgTALK_MS);
    +
    +	echo "| $user - $full_name | $USERcalls | $USERtotTALK_MS | $USERavgTALK_MS |\n";
    +
    +	$i++;
    +	}
    +
    +echo "+--------------------------+------------+--------+--------+\n";
    +
    +##############################
    +#########  TIME STATS
    +
    +echo "\n";
    +echo "---------- TIME STATS\n";
    +
    +echo "\n";
    +
    +$hi_hour_count=0;
    +$last_full_record=0;
    +$i=0;
    +$h=0;
    +while ($i <= 96)
    +	{
    +	$stmt="select count(*) from park_log where parked_time >= '$query_date $h:00:00' and parked_time <= '$query_date $h:14:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "';";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$hour_count[$i] = $row[0];
    +	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
    +	if ($hour_count[$i] > 0) {$last_full_record = $i;}
    +	$stmt="select count(*) from park_log where parked_time >= '$query_date $h:00:00' and parked_time <= '$query_date $h:14:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "' and (talked_sec < 5 or talked_sec is null);";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$drop_count[$i] = $row[0];
    +	$i++;
    +
    +
    +	$stmt="select count(*) from park_log where parked_time >= '$query_date $h:15:00' and parked_time <= '$query_date $h:29:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "';";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$hour_count[$i] = $row[0];
    +	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
    +	if ($hour_count[$i] > 0) {$last_full_record = $i;}
    +	$stmt="select count(*) from park_log where parked_time >= '$query_date $h:15:00' and parked_time <= '$query_date $h:29:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "' and (talked_sec < 5 or talked_sec is null);";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$drop_count[$i] = $row[0];
    +	$i++;
    +
    +	$stmt="select count(*) from park_log where parked_time >= '$query_date $h:30:00' and parked_time <= '$query_date $h:44:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "';";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$hour_count[$i] = $row[0];
    +	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
    +	if ($hour_count[$i] > 0) {$last_full_record = $i;}
    +	$stmt="select count(*) from park_log where parked_time >= '$query_date $h:30:00' and parked_time <= '$query_date $h:44:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "' and (talked_sec < 5 or talked_sec is null);";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$drop_count[$i] = $row[0];
    +	$i++;
    +
    +	$stmt="select count(*) from park_log where parked_time >= '$query_date $h:45:00' and parked_time <= '$query_date $h:59:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "';";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$hour_count[$i] = $row[0];
    +	if ($hour_count[$i] > $hi_hour_count) {$hi_hour_count = $hour_count[$i];}
    +	if ($hour_count[$i] > 0) {$last_full_record = $i;}
    +	$stmt="select count(*) from park_log where parked_time >= '$query_date $h:45:00' and parked_time <= '$query_date $h:59:59' and status ='HUNGUP' and channel_group='" . mysql_real_escape_string($group) . "' and (talked_sec < 5 or talked_sec is null);";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$row=mysql_fetch_row($rslt);
    +	$drop_count[$i] = $row[0];
    +	$i++;
    +	$h++;
    +	}
    +
    +$hour_multiplier = (100 / $hi_hour_count);
    +#$hour_multiplier = round($hour_multiplier, 0);
    +
    +echo "\n";
    +echo "GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP\n";
    +
    +$k=1;
    +$Mk=0;
    +$call_scale = '0';
    +while ($k <= 102) 
    +	{
    +	if ($Mk >= 5) 
    +		{
    +		$Mk=0;
    +		$scale_num=($k / $hour_multiplier);
    +		$scale_num = round($scale_num, 0);
    +		$LENscale_num = (strlen($scale_num));
    +		$k = ($k + $LENscale_num);
    +		$call_scale .= "$scale_num";
    +		}
    +	else
    +		{
    +		$call_scale .= " ";
    +		$k++;   $Mk++;
    +		}
    +	}
    +
    +
    +echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
    +#echo "| HOUR | GRAPH IN 15 MINUTE INCREMENTS OF TOTAL INCOMING CALLS FOR THIS GROUP                                  | DROPS | TOTAL |\n";
    +echo "| HOUR |$call_scale| DROPS | TOTAL |\n";
    +echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
    +
    +$ZZ = '00';
    +$i=0;
    +$h=4;
    +$hour= -1;
    +$no_lines_yet=1;
    +
    +while ($i <= 96)
    +	{
    +	$char_counter=0;
    +	$time = '      ';
    +	if ($h >= 4) 
    +		{
    +		$hour++;
    +		$h=0;
    +		if ($hour < 10) {$hour = "0$hour";}
    +		$time = "+$hour$ZZ+";
    +		}
    +	if ($h == 1) {$time = "   15 ";}
    +	if ($h == 2) {$time = "   30 ";}
    +	if ($h == 3) {$time = "   45 ";}
    +	$Ghour_count = $hour_count[$i];
    +	if ($Ghour_count < 1) 
    +		{
    +		if ( ($no_lines_yet) or ($i > $last_full_record) )
    +			{
    +			$do_nothing=1;
    +			}
    +		else
    +			{
    +			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
    +			echo "|$time|";
    +			$k=0;   while ($k <= 102) {echo " ";   $k++;}
    +			echo "| $hour_count[$i] |\n";
    +			}
    +		}
    +	else
    +		{
    +		$no_lines_yet=0;
    +		$Xhour_count = ($Ghour_count * $hour_multiplier);
    +		$Yhour_count = (99 - $Xhour_count);
    +
    +		$Gdrop_count = $drop_count[$i];
    +		if ($Gdrop_count < 1) 
    +			{
    +			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
    +
    +			echo "|$time|";
    +			$k=0;   while ($k <= $Xhour_count) {echo "*";   $k++;   $char_counter++;}
    +			echo "*X";   $char_counter++;
    +			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
    +				while ($char_counter <= 101) {echo " ";   $char_counter++;}
    +			echo "| 0     | $hour_count[$i] |\n";
    +
    +			}
    +		else
    +			{
    +			$Xdrop_count = ($Gdrop_count * $hour_multiplier);
    +
    +		#	if ($Xdrop_count >= $Xhour_count) {$Xdrop_count = ($Xdrop_count - 1);}
    +
    +			$XXhour_count = ( ($Xhour_count - $Xdrop_count) - 1 );
    +
    +			$hour_count[$i] =	sprintf("%-5s", $hour_count[$i]);
    +			$drop_count[$i] =	sprintf("%-5s", $drop_count[$i]);
    +
    +			echo "|$time|";
    +			$k=0;   while ($k <= $Xdrop_count) {echo ">";   $k++;   $char_counter++;}
    +			echo "D";   $char_counter++;
    +			$k=0;   while ($k <= $XXhour_count) {echo "*";   $k++;   $char_counter++;}
    +			echo "X";   $char_counter++;
    +			$k=0;   while ($k <= $Yhour_count) {echo " ";   $k++;   $char_counter++;}
    +				while ($char_counter <= 102) {echo " ";   $char_counter++;}
    +			echo "| $drop_count[$i] | $hour_count[$i] |\n";
    +			}
    +		}
    +	
    +	
    +	$i++;
    +	$h++;
    +	}
    +
    +
    +echo "+------+-------------------------------------------------------------------------------------------------------+-------+-------+\n";
    +
    +
    +
    +
    +
    +
    +
    +}
    +
    +
    +
    +?>
    +
    + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_server_performance.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_server_performance.php new file mode 100644 index 00000000..87916f90 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_server_performance.php @@ -0,0 +1,343 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 60619-1732 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 70417-1106 - Changed time frame to be definable per time range on a single day +# - Fixed vertical scaling issues +# 80118-1508 - Fixed horizontal scale marking issues +# 90310-2151 - Added admin header +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["begin_query_time"])) {$begin_query_time=$_GET["begin_query_time"];} + elseif (isset($_POST["begin_query_time"])) {$begin_query_time=$_POST["begin_query_time"];} +if (isset($_GET["end_query_time"])) {$end_query_time=$_GET["end_query_time"];} + elseif (isset($_POST["end_query_time"])) {$end_query_time=$_POST["end_query_time"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1' and modify_servers='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +# path from root to where ploticus files will be stored +$PLOTroot = "vicidial/ploticus"; +$DOCroot = "$WeBServeRRooT/$PLOTroot/"; + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); + +if (!isset($begin_query_time)) {$begin_query_time = "$NOW_DATE 09:00:00";} +if (!isset($end_query_time)) {$end_query_time = "$NOW_DATE 15:30:00";} +if (!isset($group)) {$group = '';} + +$stmt="select server_ip from servers;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$servers_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $servers_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: Server Performance\n"; + + $short_header=1; + + require("admin_header.php"); + +echo "
    "; + + +echo "
    \n"; +echo "Date/Time Range: \n"; +echo "to \n"; +echo "Server: \n"; +echo "\n"; +echo "             REPORTS \n"; +echo "
    \n\n"; + +echo "
    \n";
    +
    +
    +if (!$group)
    +{
    +echo "\n";
    +echo "PLEASE SELECT A SERVER AND DATE/TIME RANGE ABOVE AND CLICK SUBMIT\n";
    +}
    +
    +else
    +{
    +
    +$query_date_BEGIN = $begin_query_time;   
    +$query_date_END = $end_query_time;
    +
    +
    +echo "VICIDIAL: Server Performance                             $NOW_TIME\n";
    +
    +echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
    +echo "---------- TOTALS, PEAKS and AVERAGES\n";
    +
    +$stmt="select AVG(sysload),AVG(channels_total),MAX(sysload),MAX(channels_total),MAX(processes) from server_performance where start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and server_ip='" . mysql_real_escape_string($group) . "';";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +$AVGload =	sprintf("%10s", $row[0]);
    +$AVGchannels =	sprintf("%10s", $row[1]);
    +$HIGHload =	$row[2];
    +	$HIGHmulti = intval($HIGHload / 100);
    +$HIGHchannels =	$row[3];
    +$HIGHprocesses =$row[4];
    +if ($row[2] > $row[3]) {$HIGHlimit = $row[2];}
    +else {$HIGHlimit = $row[3];}
    +if ($HIGHlimit < $row[4]) {$HIGHlimit = $row[4];}
    +
    +$stmt="select AVG(cpu_user_percent),AVG(cpu_system_percent),AVG(cpu_idle_percent) from server_performance where start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and server_ip='" . mysql_real_escape_string($group) . "';";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +$AVGcpuUSER =	sprintf("%10s", $row[0]);
    +$AVGcpuSYSTEM =	sprintf("%10s", $row[1]);
    +$AVGcpuIDLE =	sprintf("%10s", $row[2]);
    +
    +$stmt="select count(*),SUM(length_in_min) from call_log where extension NOT IN('8365','8366','8367') and  start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' and server_ip='" . mysql_real_escape_string($group) . "';";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +$TOTALcalls =	sprintf("%10s", $row[0]);
    +$OFFHOOKtime =	sprintf("%10s", $row[1]);
    +
    +
    +echo "Total Calls in/out on this server:        $TOTALcalls\n";
    +echo "Total Off-Hook time on this server (min): $OFFHOOKtime\n";
    +echo "Average/Peak channels in use for server:  $AVGchannels / $HIGHchannels\n";
    +echo "Average/Peak load for server:             $AVGload / $HIGHload\n";
    +echo "Average USER process cpu percentage:      $AVGcpuUSER %\n";
    +echo "Average SYSTEM process cpu percentage:    $AVGcpuSYSTEM %\n";
    +echo "Average IDLE process cpu percentage:      $AVGcpuIDLE %\n";
    +
    +echo "\n";
    +echo "---------- LINE GRAPH:\n";
    +
    +
    +
    +##############################
    +#########  Graph stats
    +
    +$DAT = '.dat';
    +$HTM = '.htm';
    +$PNG = '.png';
    +$filedate = date("Y-m-d_His");
    +$DATfile = "$group$query_date$shift$filedate$DAT";
    +$HTMfile = "$group$query_date$shift$filedate$HTM";
    +$PNGfile = "$group$query_date$shift$filedate$PNG";
    +
    +$HTMfp = fopen ("$DOCroot/$HTMfile", "a");
    +$DATfp = fopen ("$DOCroot/$DATfile", "a");
    +
    +$stmt="select DATE_FORMAT(start_time,'%Y-%m-%d.%H:%i:%s') as timex,sysload,processes,channels_total,live_recordings,cpu_user_percent,cpu_system_percent from server_performance where server_ip='" . mysql_real_escape_string($group) . "' and start_time <= '" . mysql_real_escape_string($query_date_END) . "' and start_time >= '" . mysql_real_escape_string($query_date_BEGIN) . "' order by timex limit 99999;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$rows_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $rows_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	if ($i<1) {$time_BEGIN = $row[0];}
    +	$time_END = $row[0];
    +	$row[5] = intval(($row[5] + $row[6]) * $HIGHmulti);
    +	$row[6] = intval($row[6] * $HIGHmulti);
    +	if ($rows_to_print > 9999)
    +		{
    +		if ($rows_to_print <= 19999)
    +			{
    +			if (preg_match("/0$|2$|4$|6$|8$/",$i))
    +				{
    +				fwrite ($DATfp, "$row[5]\t$row[6]\t$row[0]\t$row[1]\t$row[2]\t$row[3]\n");
    +				}
    +			}
    +		if ( ($rows_to_print > 19999) and ($rows_to_print <= 49999) )
    +			{
    +			if (preg_match("/0$|5$/",$i))
    +				{
    +				fwrite ($DATfp, "$row[5]\t$row[6]\t$row[0]\t$row[1]\t$row[2]\t$row[3]\n");
    +				}
    +			}
    +		if ( ($rows_to_print > 49999) and ($rows_to_print <= 99999) )
    +			{
    +			if (preg_match("/0$/",$i))
    +				{
    +				fwrite ($DATfp, "$row[5]\t$row[6]\t$row[0]\t$row[1]\t$row[2]\t$row[3]\n");
    +				}
    +			}
    +		}
    +	else
    +		{
    +		fwrite ($DATfp, "$row[5]\t$row[6]\t$row[0]\t$row[1]\t$row[2]\t$row[3]\n");
    +		}
    +	$i++;
    +	}
    +fclose($DATfp);
    +
    +$rows_to_max = ($rows_to_print + 100);
    +
    +$time_scale_abb = '5 minutes';
    +$time_scale_tick = '1 minute';
    +if ($i > 1000) {$time_scale_abb = '10 minutes';   $time_scale_tick = '2 minutes';}
    +if ($i > 1500) {$time_scale_abb = '15 minutes';   $time_scale_tick = '3 minutes';}
    +if ($i > 2000) {$time_scale_abb = '20 minutes';   $time_scale_tick = '4 minutes';}
    +if ($i > 3000) {$time_scale_abb = '30 minutes';   $time_scale_tick = '5 minutes';}
    +if ($i > 4000) {$time_scale_abb = '40 minutes';   $time_scale_tick = '10 minutes';}
    +if ($i > 5000) {$time_scale_abb = '60 minutes';   $time_scale_tick = '15 minutes';}
    +if ($i > 6000) {$time_scale_abb = '90 minutes';   $time_scale_tick = '15 minutes';}
    +if ($i > 7000) {$time_scale_abb = '120 minutes';   $time_scale_tick = '30 minutes';}
    +
    +print "rows: $i   tick: $time_scale_abb   scale: $time_scale_tick\n";
    +
    +$HTMcontent  = '';
    +$HTMcontent .= "#proc page\n";
    +$HTMcontent .= "#if @DEVICE in png,gif\n";
    +$HTMcontent .= "   scale: 0.6\n";
    +$HTMcontent .= "\n";
    +$HTMcontent .= "#endif\n";
    +$HTMcontent .= "#proc getdata\n";
    +$HTMcontent .= "file: $DOCroot/$DATfile\n";
    +$HTMcontent .= "fieldnames: userproc sysproc datetime load processes channels\n";
    +$HTMcontent .= "\n";
    +$HTMcontent .= "#proc areadef\n";
    +$HTMcontent .= "title: Server $group   $query_date_BEGIN to $query_date_END\n";
    +$HTMcontent .= "titledetails: size=14  align=C\n";
    +$HTMcontent .= "rectangle: 1 1 12 7\n";
    +$HTMcontent .= "xscaletype: datetime yyyy-mm-dd.hh:mm:ss\n";
    +$HTMcontent .= "xrange: $time_BEGIN $time_END\n";
    +$HTMcontent .= "yrange: 0 $HIGHlimit\n";
    +$HTMcontent .= "\n";
    +$HTMcontent .= "#proc xaxis\n";
    +$HTMcontent .= "stubs: inc $time_scale_abb\n";
    +$HTMcontent .= "minorticinc: $time_scale_tick\n";
    +$HTMcontent .= "stubformat: hh:mma\n";
    +$HTMcontent .= "\n";
    +$HTMcontent .= "#proc yaxis\n";
    +$HTMcontent .= "stubs: inc 50\n";
    +$HTMcontent .= "grid: color=yellow\n";
    +$HTMcontent .= "gridskip: min\n";
    +$HTMcontent .= "ticincrement: 100 1000\n";
    +$HTMcontent .= "\n";
    +$HTMcontent .= "#proc lineplot\n";
    +$HTMcontent .= "xfield: datetime\n";
    +$HTMcontent .= "yfield: userproc\n";
    +$HTMcontent .= "linedetails: color=purple width=.5\n";
    +$HTMcontent .= "fill: lavender\n";
    +$HTMcontent .= "legendlabel: user proc%\n";
    +$HTMcontent .= "maxinpoints: $rows_to_max\n";
    +$HTMcontent .= "\n";
    +$HTMcontent .= "#proc lineplot\n";
    +$HTMcontent .= "xfield: datetime\n";
    +$HTMcontent .= "yfield: sysproc\n";
    +$HTMcontent .= "linedetails: color=yelloworange width=.5\n";
    +$HTMcontent .= "fill: dullyellow\n";
    +$HTMcontent .= "legendlabel: system proc%\n";
    +$HTMcontent .= "maxinpoints: $rows_to_max\n";
    +$HTMcontent .= "\n";
    +$HTMcontent .= "#proc curvefit\n";
    +$HTMcontent .= "xfield: datetime\n";
    +$HTMcontent .= "yfield: load\n";
    +$HTMcontent .= "linedetails: color=blue width=.5\n";
    +$HTMcontent .= "legendlabel: load\n";
    +$HTMcontent .= "maxinpoints: $rows_to_max\n";
    +$HTMcontent .= "\n";
    +$HTMcontent .= "#proc curvefit\n";
    +$HTMcontent .= "xfield: datetime\n";
    +$HTMcontent .= "yfield: processes\n";
    +$HTMcontent .= "linedetails: color=red width=.5\n";
    +$HTMcontent .= "legendlabel: processes\n";
    +$HTMcontent .= "maxinpoints: $rows_to_max\n";
    +$HTMcontent .= "\n";
    +$HTMcontent .= "#proc curvefit\n";
    +$HTMcontent .= "xfield: datetime\n";
    +$HTMcontent .= "yfield: channels\n";
    +$HTMcontent .= "linedetails: color=green width=.5\n";
    +$HTMcontent .= "legendlabel: channels\n";
    +$HTMcontent .= "maxinpoints: $rows_to_max\n";
    +$HTMcontent .= "\n";
    +$HTMcontent .= "#proc legend\n";
    +$HTMcontent .= "location: max-1 max\n";
    +$HTMcontent .= "seglen: 0.2\n";
    +$HTMcontent .= "\n";
    +
    +fwrite ($HTMfp, "$HTMcontent");
    +fclose($HTMfp);
    +
    +
    +passthru("/usr/local/bin/pl -png $DOCroot/$HTMfile -o $DOCroot/$PNGfile");
    +
    +sleep(1);
    +
    +echo "
    "; +echo "\n"; +echo "\n"; + + +echo ""; + +} + + + +?> + +
    + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_timeonVDAD.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_timeonVDAD.php new file mode 100644 index 00000000..2f2433b8 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_timeonVDAD.php @@ -0,0 +1,444 @@ + LICENSE: AGPLv2 +# +# live real-time stats for the VICIDIAL Auto-Dialer +# +# CHANGES +# +# 60620-1037 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 61114-2004 - Changed to display CLOSER and DEFAULT, added trunk shortage +# 80422-0305 - Added phone login to display, lower font size to 2 +# 81013-2227 - Fixed Remote Agent display bug +# 90310-1945 - Admin header +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];} + elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["closer_display"])) {$closer_display=$_GET["closer_display"];} + elseif (isset($_POST["closer_display"])) {$closer_display=$_POST["closer_display"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +$epochSIXhoursAGO = ($STARTtime - 21600); +$timeSIXhoursAGO = date("Y-m-d H:i:s",$epochSIXhoursAGO); + +$reset_counter++; + +if ($reset_counter > 7) + { + $reset_counter=0; + + $stmt="update park_log set status='HUNGUP' where hangup_time is not null;"; +# $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + + if ($DB) + { + $stmt="delete from park_log where grab_time < '$timeSIXhoursAGO' and (hangup_time is null or hangup_time='');"; +# $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + } + } + +?> + + + +\n"; +echo " + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On VDAD\n"; + +$short_header=1; + +require("admin_header.php"); + +echo "
    "; + +echo "
    ";
    +
    +###################################################################################
    +###### SERVER INFORMATION
    +###################################################################################
    +
    +$stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats where server_ip='" . mysql_real_escape_string($server_ip) . "';";
    +$rslt=mysql_query($stmt, $link);
    +$row=mysql_fetch_row($rslt);
    +$balanceSHORT = $row[0];
    +
    +echo "SERVER: $server_ip\n";
    +
    +
    +
    +###################################################################################
    +###### TIME ON SYSTEM
    +###################################################################################
    +
    +if ($closer_display>0) {$closer_display_reverse=0;   $closer_reverse_link='DEFAULT';}
    +else {$closer_display_reverse=1;   $closer_reverse_link='CLOSER';}
    +
    +echo "VICIDIAL: Agents Time On Calls           $NOW_TIME    $closer_reverse_link | REPORTS\n\n";
    +
    +if ($closer_display>0)
    +{
    +echo "+------------+------------+--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
    +echo "| STATION    | PHONE      | USER   | SESSIONID | CHANNEL             | STATUS | CALLTIME | MINUTES | CAMPAIGN     | FRONT  |\n";
    +echo "+------------+------------+--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
    +}
    +else
    +{
    +echo "+------------+------------+--------+-----------+---------------------+--------+----------+---------+\n";
    +echo "| STATION    | PHONE      | USER   | SESSIONID | CHANNEL             | STATUS | CALLTIME | MINUTES |\n";
    +echo "+------------+------------+--------+-----------+---------------------+--------+----------+---------+\n";
    +}
    +
    +$stmt="select extension,user,conf_exten,channel,status,last_call_time,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),uniqueid,lead_id from vicidial_live_agents where status NOT IN('PAUSED') and server_ip='" . mysql_real_escape_string($server_ip) . "' order by extension;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$talking_to_print = mysql_num_rows($rslt);
    +	if ($talking_to_print > 0)
    +	{
    +	$i=0;
    +	while ($i < $talking_to_print)
    +		{
    +		$row=mysql_fetch_row($rslt);
    +		$Sextension[$i] =		$row[0];
    +		$Suser[$i] =			$row[1];
    +		$Ssessionid[$i] =		$row[2];
    +		$Schannel[$i] =			$row[3];
    +		$Sstatus[$i] =			$row[4];
    +		$Sstart_time[$i] =		$row[5];
    +		$Scall_time[$i] =		$row[6];
    +		$Sfinish_time[$i] =		$row[7];
    +		$Suniqueid[$i] =		$row[8];
    +		$Slead_id[$i] =			$row[9];
    +		$i++;
    +		}
    +
    +	$i=0;
    +	while ($i < $talking_to_print)
    +		{
    +		$phone[$i]='          ';
    +		if (eregi("R/",$Sextension[$i])) 
    +			{
    +			$protocol = 'EXTERNAL';
    +			$dialplan = eregi_replace('R/',"",$Sextension[$i]);
    +			$dialplan = eregi_replace("\@.*",'',$dialplan);
    +			$exten = "dialplan_number='$dialplan'";
    +			}
    +		if (eregi("Local/",$Sextension[$i])) 
    +			{
    +			$protocol = 'EXTERNAL';
    +			$dialplan = eregi_replace('Local/',"",$Sextension[$i]);
    +			$dialplan = eregi_replace("\@.*",'',$dialplan);
    +			$exten = "dialplan_number='$dialplan'";
    +			}
    +		if (eregi('SIP/',$Sextension[$i])) 
    +			{
    +			$protocol = 'SIP';
    +			$dialplan = eregi_replace('SIP/',"",$Sextension[$i]);
    +			$dialplan = eregi_replace("-.*",'',$dialplan);
    +			$exten = "extension='$dialplan'";
    +			}
    +		if (eregi('IAX2/',$Sextension[$i])) 
    +			{
    +			$protocol = 'IAX2';
    +			$dialplan = eregi_replace('IAX2/',"",$Sextension[$i]);
    +			$dialplan = eregi_replace("-.*",'',$dialplan);
    +			$exten = "extension='$dialplan'";
    +			}
    +		if (eregi('Zap/',$Sextension[$i])) 
    +			{
    +			$protocol = 'Zap';
    +			$dialplan = eregi_replace('Zap/',"",$Sextension[$i]);
    +			$exten = "extension='$dialplan'";
    +			}
    +
    +		$stmt="select login from phones where server_ip='" . mysql_real_escape_string($server_ip) . "' and $exten and protocol='$protocol';";
    +		$rslt=mysql_query($stmt, $link);
    +		$row=mysql_fetch_row($rslt);
    +		$login = $row[0];
    +
    +		$phone[$i] =			sprintf("%-10s", $login);
    +
    +		if (eregi("READY|PAUSED|CLOSER",$Sstatus[$i]))
    +			{
    +			$Schannel[$i]='';
    +			$Sstart_time[$i]='- WAIT -';
    +			$Scall_time[$i]=$Sfinish_time[$i];
    +			}
    +		$extension[$i] = eregi_replace('Local/',"",$Sextension[$i]);
    +		$extension[$i] =		sprintf("%-10s", $extension[$i]);
    +			while(strlen($extension[$i])>10) {$extension[$i] = substr("$extension[$i]", 0, -1);}
    +		$user[$i] =				sprintf("%-6s", $Suser[$i]);
    +		$sessionid[$i] =		sprintf("%-9s", $Ssessionid[$i]);
    +		$channel[$i] =			sprintf("%-19s", $Schannel[$i]);
    +			$cc[$i]=0;
    +		while ( (strlen($channel[$i]) > 19) and ($cc[$i] < 100) )
    +			{
    +			$channel[$i] = eregi_replace(".$","",$channel[$i]);   
    +			$cc[$i]++;
    +			if (strlen($channel[$i]) <= 19) {$cc[$i]=101;}
    +			}
    +		$status[$i] =			sprintf("%-6s", $Sstatus[$i]);
    +		$start_time[$i] =		sprintf("%-8s", $Sstart_time[$i]);
    +			$cd[$i]=0;
    +		while ( (strlen($start_time[$i]) > 8) and ($cd[$i] < 100) )
    +			{
    +			$start_time[$i] = eregi_replace("^.","",$start_time[$i]);   
    +			$cd[$i]++;
    +			if (strlen($start_time[$i]) <= 8) {$cd[$i]=101;}
    +			}
    +		$uniqueid[$i] =			$Suniqueid[$i];
    +		$lead_id[$i] =			$Slead_id[$i];
    +		$closer[$i] =			$Suser[$i];
    +		$call_time_S[$i] = ($STARTtime - $Scall_time[$i]);
    +
    +		$call_time_M[$i] = ($call_time_S[$i] / 60);
    +		$call_time_M[$i] = round($call_time_M[$i], 2);
    +		$call_time_M_int[$i] = intval("$call_time_M[$i]");
    +		$call_time_SEC[$i] = ($call_time_M[$i] - $call_time_M_int[$i]);
    +		$call_time_SEC[$i] = ($call_time_SEC[$i] * 60);
    +		$call_time_SEC[$i] = round($call_time_SEC[$i], 0);
    +		if ($call_time_SEC[$i] < 10) {$call_time_SEC[$i] = "0$call_time_SEC[$i]";}
    +		$call_time_MS[$i] = "$call_time_M_int[$i]:$call_time_SEC[$i]";
    +		$call_time_MS[$i] =		sprintf("%7s", $call_time_MS[$i]);
    +
    +		if ($closer_display<1)
    +			{
    +			$G = '';		$EG = '';
    +			if ($call_time_M_int[$i] >= 5) {$G=''; $EG='';}
    +			if ($call_time_M_int[$i] >= 10) {$G=''; $EG='';}
    +			if (eregi("PAUSED",$Sstatus[$i])) 
    +				{
    +				if ($call_time_M_int >= 1) 
    +					{$i++; continue;} 
    +				else
    +					{$G=''; $EG='';}
    +				}
    +			$agentcount++;
    +			echo "| $G$extension[$i]$EG | $G$phone[$i]$EG | $G$user[$i]$EG | $G$sessionid[$i]$EG | $G$channel[$i]$EG | $G$status[$i]$EG | $G$start_time[$i]$EG | $G$call_time_MS[$i]$EG |\n";
    +			}
    +		$i++;
    +		}
    +
    +		if ($closer_display>0)
    +		{
    +
    +			$ext_count = $i;
    +			$i=0;
    +		while ($i < $ext_count)
    +			{
    +
    +			$stmt="select campaign_id from vicidial_auto_calls where lead_id='$lead_id[$i]' and server_ip='" . mysql_real_escape_string($server_ip) . "';";
    +			$rslt=mysql_query($stmt, $link);
    +			if ($DB) {echo "$stmt\n";}
    +			$camp_to_print = mysql_num_rows($rslt);
    +			if ($camp_to_print > 0)
    +				{
    +				$row=mysql_fetch_row($rslt);
    +				$campaign = sprintf("%-12s", $row[0]);
    +				$camp_color = $row[0];
    +				}
    +			else
    +				{$campaign = 'DEAD        ';   	$camp_color = 'DEAD';}
    +			if (eregi("READY|PAUSED|CLOSER",$status[$i]))
    +				{$campaign = '            ';   	$camp_color = '';}
    +
    +			$stmt="select user from vicidial_xfer_log where lead_id='$lead_id[$i]' and closer='$closer[$i]' order by call_date desc limit 1;";
    +			$rslt=mysql_query($stmt, $link);
    +			if ($DB) {echo "$stmt\n";}
    +			$xfer_to_print = mysql_num_rows($rslt);
    +			if ($xfer_to_print > 0)
    +				{
    +				$row=mysql_fetch_row($rslt);
    +				$fronter = sprintf("%-6s", $row[0]);
    +				}
    +			else
    +				{$fronter = '      ';}
    +
    +			$G = '';		$EG = '';
    +			$G=""; $EG='';
    +		#	if ($call_time_M_int[$i] >= 5) {$G=''; $EG='';}
    +		#	if ($call_time_M_int[$i] >= 10) {$G=''; $EG='';}
    +
    +			echo "| $G$extension[$i]$EG | $G$phone[$i]$EG | $G$user[$i]$EG | $G$sessionid[$i]$EG | $G$channel[$i]$EG | $G$status[$i]$EG | $G$start_time[$i]$EG | $G$call_time_MS[$i]$EG | $G$campaign$EG | $G$fronter$EG |\n";
    +
    +			$i++;
    +			}
    +		echo "+------------+------------+--------+-----------+---------------------+--------+----------+---------+--------------+--------+\n";
    +		echo "  $i agents logged in on server $server_ip\n\n";
    +	#	echo "             - 5 minutes or more on call\n";
    +	#	echo "             - Over 10 minutes on call\n";
    +		}
    +	else
    +		{
    +		echo "+------------+------------+--------+-----------+---------------------+--------+----------+---------+\n";
    +		echo "  $agentcount agents logged in on server $server_ip\n\n";
    +
    +		echo "             - Paused agents\n";
    +		echo "             - 5 minutes or more on call\n";
    +		echo "             - Over 10 minutes on call\n";
    +		}
    +
    +	}
    +	else
    +	{
    +	echo "**************************************************************************************\n";
    +	echo "**************************************************************************************\n";
    +	echo "********************************* NO AGENTS ON CALLS *********************************\n";
    +	echo "**************************************************************************************\n";
    +	echo "**************************************************************************************\n";
    +	}
    +
    +
    +###################################################################################
    +###### OUTBOUND CALLS
    +###################################################################################
    +#echo "\n\n";
    +echo "----------------------------------------------------------------------------------------";
    +echo "\n\n";
    +echo "VICIDIAL: Time On VDAD            TRUNK SHORT: $balanceSHORT              $NOW_TIME\n\n";
    +echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
    +echo "| CHANNEL             | STATUS | CAMPAIGN     | PHONE NUMBER       | CALLTIME | MINUTES |\n";
    +echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
    +
    +$stmt="select channel,status,campaign_id,phone_code,phone_number,call_time,UNIX_TIMESTAMP(call_time) from vicidial_auto_calls where status NOT IN('XFER') and server_ip='" . mysql_real_escape_string($server_ip) . "' order by auto_call_id desc;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$parked_to_print = mysql_num_rows($rslt);
    +	if ($parked_to_print > 0)
    +	{
    +	$i=0;
    +	while ($i < $parked_to_print)
    +		{
    +		$row=mysql_fetch_row($rslt);
    +
    +		$channel =			sprintf("%-19s", $row[0]);
    +			$cc=0;
    +		while ( (strlen($channel) > 19) and ($cc < 100) )
    +			{
    +			$channel = eregi_replace(".$","",$channel);   
    +			$cc++;
    +			if (strlen($channel) <= 19) {$cc=101;}
    +			}
    +		$start_time =		sprintf("%-8s", $row[5]);
    +			$cd=0;
    +		while ( (strlen($start_time) > 8) and ($cd < 100) )
    +			{
    +			$start_time = eregi_replace("^.","",$start_time);   
    +			$cd++;
    +			if (strlen($start_time) <= 8) {$cd=101;}
    +			}
    +		$status =			sprintf("%-6s", $row[1]);
    +		$campaign =			sprintf("%-12s", $row[2]);
    +			$all_phone = "$row[3]$row[4]";
    +		$number_dialed =	sprintf("%-18s", $all_phone);
    +		$call_time_S = ($STARTtime - $row[6]);
    +
    +		$call_time_M = ($call_time_S / 60);
    +		$call_time_M = round($call_time_M, 2);
    +		$call_time_M_int = intval("$call_time_M");
    +		$call_time_SEC = ($call_time_M - $call_time_M_int);
    +		$call_time_SEC = ($call_time_SEC * 60);
    +		$call_time_SEC = round($call_time_SEC, 0);
    +		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
    +		$call_time_MS = "$call_time_M_int:$call_time_SEC";
    +		$call_time_MS =		sprintf("%7s", $call_time_MS);
    +		$G = '';		$EG = '';
    +		if (eregi("LIVE",$status)) {$G=''; $EG='';}
    +	#	if ($call_time_M_int >= 6) {$G=''; $EG='';}
    +
    +		echo "| $G$channel$EG | $G$status$EG | $G$campaign$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
    +
    +		$i++;
    +		}
    +
    +		echo "+---------------------+--------+--------------+--------------------+----------+---------+\n";
    +		echo "  $i calls being placed on server $server_ip\n\n";
    +
    +		echo "             - LIVE CALL WAITING\n";
    +	#	echo "             - Over 5 minutes on hold\n";
    +
    +		}
    +	else
    +	{
    +	echo "***************************************************************************************\n";
    +	echo "***************************************************************************************\n";
    +	echo "******************************* NO LIVE CALLS WAITING *********************************\n";
    +	echo "***************************************************************************************\n";
    +	echo "***************************************************************************************\n";
    +	}
    +
    +
    +?>
    +
    +
    + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_timeonVDADall.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_timeonVDADall.php new file mode 100644 index 00000000..f63dd914 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_timeonVDADall.php @@ -0,0 +1,1662 @@ + LICENSE: AGPLv2 +# +# live real-time stats for the VICIDIAL Auto-Dialer all servers +# +# STOP=4000, SLOW=40, GO=4 seconds refresh interval +# +# CHANGELOG: +# 50406-0920 - Added Paused agents < 1 min +# 51130-1218 - Modified layout and info to show all servers in a vicidial system +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60511-1343 - Added leads and drop info at the top of the screen +# 60608-1539 - Fixed CLOSER tallies for active calls +# 60619-1658 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 60626-1453 - Added display of system load to bottom (Angelito Manansala) +# 60901-1123 - Changed display elements at the top of the screen +# 60905-1342 - Fixed non INCALL|QUEUE timer column +# 61002-1642 - Added TRUNK SHORT/FILL stats +# 61101-1318 - Added SIP and IAX Listen and Barge links option +# 61101-1647 - Added Usergroup column and user name option as well as sorting +# 61102-1155 - Made display of columns more modular, added ability to hide server info +# 61215-1131 - Added answered calls and drop percent taken from answered calls +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70123-1151 - Added non_latin options for substr in display variables, thanks Marin Blu +# 70206-1140 - Added call-type statuses to display(A-Auto, M-Manual, I-Inbound/Closer) +# 70619-1339 - Added Status Category tally display +# 71029-1900 - Changed CLOSER-type to not require campaign_id restriction +# 80227-0418 - Added priority to waiting calls display +# 80311-1550 - Added calls_today on all agents and wait time/in-group for inbound calls +# 80422-0033 - Added phonediaplay option, allow for toggle-sorting on sortable fields +# 80422-1001 - Fixed sort by phone login +# 80424-0515 - Added non_latin lookup from system_settings +# 80525-1040 - Added IVR status display and summary for inbound calls +# 80619-2047 - Added DISPO status for post-call-work while paused +# 80704-0543 - Added DEAD status for agents INCALL with no live call +# 80822-1222 - Added option for display of customer phone number +# 81011-0335 - Fixed remote agent display bug +# 81022-1500 - Added inbound call stats display option +# 81029-1023 - Changed drop percent calculation for multi-stat reports +# 81029-1706 - Added pause code display if enabled per campaign +# 81108-2337 - Added inbound-only section +# 90105-1153 - Changed monitor links to use 0 prefix instead of 6 +# 90202-0108 - Changed options to pop-out frame, added outbound_autodial_active option +# 90310-0906 - Added admin header +# + +$version = '2.0.5-36'; +$build = '90310-0906'; + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["RR"])) {$RR=$_GET["RR"];} + elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];} +if (isset($_GET["inbound"])) {$inbound=$_GET["inbound"];} + elseif (isset($_POST["inbound"])) {$inbound=$_POST["inbound"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["usergroup"])) {$usergroup=$_GET["usergroup"];} + elseif (isset($_POST["usergroup"])) {$usergroup=$_POST["usergroup"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["adastats"])) {$adastats=$_GET["adastats"];} + elseif (isset($_POST["adastats"])) {$adastats=$_POST["adastats"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["SIPmonitorLINK"])) {$SIPmonitorLINK=$_GET["SIPmonitorLINK"];} + elseif (isset($_POST["SIPmonitorLINK"])) {$SIPmonitorLINK=$_POST["SIPmonitorLINK"];} +if (isset($_GET["IAXmonitorLINK"])) {$IAXmonitorLINK=$_GET["IAXmonitorLINK"];} + elseif (isset($_POST["IAXmonitorLINK"])) {$IAXmonitorLINK=$_POST["IAXmonitorLINK"];} +if (isset($_GET["UGdisplay"])) {$UGdisplay=$_GET["UGdisplay"];} + elseif (isset($_POST["UGdisplay"])) {$UGdisplay=$_POST["UGdisplay"];} +if (isset($_GET["UidORname"])) {$UidORname=$_GET["UidORname"];} + elseif (isset($_POST["UidORname"])) {$UidORname=$_POST["UidORname"];} +if (isset($_GET["orderby"])) {$orderby=$_GET["orderby"];} + elseif (isset($_POST["orderby"])) {$orderby=$_POST["orderby"];} +if (isset($_GET["SERVdisplay"])) {$SERVdisplay=$_GET["SERVdisplay"];} + elseif (isset($_POST["SERVdisplay"])) {$SERVdisplay=$_POST["SERVdisplay"];} +if (isset($_GET["CALLSdisplay"])) {$CALLSdisplay=$_GET["CALLSdisplay"];} + elseif (isset($_POST["CALLSdisplay"])) {$CALLSdisplay=$_POST["CALLSdisplay"];} +if (isset($_GET["PHONEdisplay"])) {$PHONEdisplay=$_GET["PHONEdisplay"];} + elseif (isset($_POST["PHONEdisplay"])) {$PHONEdisplay=$_POST["PHONEdisplay"];} +if (isset($_GET["CUSTPHONEdisplay"])) {$CUSTPHONEdisplay=$_GET["CUSTPHONEdisplay"];} + elseif (isset($_POST["CUSTPHONEdisplay"])) {$CUSTPHONEdisplay=$_POST["CUSTPHONEdisplay"];} +if (isset($_GET["with_inbound"])) {$with_inbound=$_GET["with_inbound"];} + elseif (isset($_POST["with_inbound"])) {$with_inbound=$_POST["with_inbound"];} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,outbound_autodial_active FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $outbound_autodial_active = $row[1]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if (!isset($RR)) {$RR=40;} +if (!isset($group)) {$group='';} +if (!isset($usergroup)) {$usergroup='';} +if (!isset($UGdisplay)) {$UGdisplay=0;} # 0=no, 1=yes +if (!isset($UidORname)) {$UidORname=0;} # 0=id, 1=name +if (!isset($orderby)) {$orderby='timeup';} +if (!isset($SERVdisplay)) {$SERVdisplay=1;} # 0=no, 1=yes +if (!isset($CALLSdisplay)) {$CALLSdisplay=1;} # 0=no, 1=yes +if (!isset($PHONEdisplay)) {$PHONEdisplay=0;} # 0=no, 1=yes +if (!isset($CUSTPHONEdisplay)) {$CUSTPHONEdisplay=0;} # 0=no, 1=yes +if (!isset($PAUSEcodes)) {$PAUSEcodes='N';} # 0=no, 1=yes +if (!isset($with_inbound)) + { + if ($outbound_autodial_active > 0) + {$with_inbound='N';} # N=no, Y=yes, O=only + else + {$with_inbound='O';} # N=no, Y=yes, O=only + } +$ingroup_detail=''; + +if (strlen($group)>1) {$groups[0] = $group; $RR=40;} +else {$group = $groups[0];} + +function get_server_load($windows = false) { +$os = strtolower(PHP_OS); +if(strpos($os, "win") === false) { +if(file_exists("/proc/loadavg")) { +$load = file_get_contents("/proc/loadavg"); +$load = explode(' ', $load); +return $load[0]; +} +elseif(function_exists("shell_exec")) { +$load = explode(' ', `uptime`); +return $load[count($load)-1]; +} +else { +return false; +} +} +elseif($windows) { +if(class_exists("COM")) { +$wmi = new COM("WinMgmts:\\\\."); +$cpus = $wmi->InstancesOf("Win32_Processor"); + +$cpuload = 0; +$i = 0; +while ($cpu = $cpus->Next()) { +$cpuload += $cpu->LoadPercentage; +$i++; +} + +$cpuload = round($cpuload / $i, 2); +return "$cpuload%"; +} +else { +return false; +} +} +} + +$load_ave = get_server_load(true); + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$NOW_DAY = date("Y-m-d"); +$NOW_HOUR = date("H:i:s"); +$STARTtime = date("U"); +$epochSIXhoursAGO = ($STARTtime - 21600); +$timeSIXhoursAGO = date("Y-m-d H:i:s",$epochSIXhoursAGO); + +$stmt="select campaign_id,campaign_name from vicidial_campaigns where active='Y';"; +$rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; + $LISTgroups[$i]='ALL-ACTIVE'; + $i++; + $groups_to_print++; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTgroups[$i] =$row[0]; + $LISTnames[$i] =$row[1]; + $i++; + } + +$i=0; +$group_string='|'; +$group_ct = count($groups); +while($i < $group_ct) + { + $group_string .= "$groups[$i]|"; + $group_SQL .= "'$groups[$i]',"; + $groupQS .= "&groups[]=$groups[$i]"; + $i++; + } +if ( (ereg("--NONE--",$group_string) ) or ($group_ct < 1) ) + { + $group_SQL = "''"; +# $group_SQL = "group_id IN('')"; + } +else + { + $group_SQL = eregi_replace(",$",'',$group_SQL); +# $group_SQL = "group_id IN($group_SQL)"; + } + +#if ( (eregi('ALL-ACTIVE',$group_string)) and ($with_inbound=='O') and ($outbound_autodial_active > 0) ) +# {$with_inbound='N';} + +$stmt="select * from vicidial_user_groups;"; +$rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$usergroups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $usergroups_to_print) + { + $row=mysql_fetch_row($rslt); + $usergroups[$i] =$row[0]; + $i++; + } + +if (!isset($RR)) {$RR=4;} + +$NFB = ''; +$NFE = ''; +$F=''; $FG=''; $B=''; $BG=''; + +$select_list = ""; +$select_list .= ""; +$select_list .= "
    Select Campaigns:
    "; +$select_list .= ""; +$select_list .= "
    (To select more than 1 campaign, hold down the Ctrl key and click)"; +$select_list .= "
    "; +$select_list .= "Close Panel

    "; + +if ($UGdisplay > 0) + { + $select_list .= "Select User Group:
    "; + $select_list .= "

    "; + } + +$select_list .= "   Inbound:
    "; +$select_list .= "   "; +$select_list .= ""; +$select_list .= "VERSION: $version   BUILD: $build"; +$select_list .= "
    "; + +$open_list = "
    Choose Report Display Options
    "; + +?> + + + + + + +\n"; + +$stmt = "select count(*) from vicidial_campaigns where campaign_id IN($group_SQL) and campaign_allow_inbound='Y';"; +$rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $campaign_allow_inbound = $row[0]; + +echo "\n"; +echo"\n"; +echo "VICIDIAL: Time On VDAD Campaign: $group\n"; + + $short_header=1; + + require("admin_header.php"); + +echo "
    "; + +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDIAL Real-Time                                                                          \n"; +echo "\n"; +echo "
    \n"; +echo "Choose Report Display Options"; +echo "
    \n"; +echo "
    \n"; +echo "STOP | "; +echo "SLOW | "; +echo "GO"; +if (eregi('ALL-ACTIVE',$group_string)) + { + echo "       MODIFY | \n"; + } +else + { + echo "       MODIFY | \n"; + } +echo "SUMMARY \n"; +echo "\n\n"; + + +if (!$group) {echo "

    please select a campaign from the pulldown above
    \n"; exit;} +else +{ +$multi_drop=0; + +##### INBOUND ONLY ### +if (ereg('O',$with_inbound)) + { + $multi_drop++; + $stmt = "select closer_campaigns from vicidial_campaigns where campaign_id IN($group_SQL);"; + $rslt=mysql_query($stmt, $link); + $ccamps_to_print = mysql_num_rows($rslt); + while ($ccamps_to_print > $c) + { + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/^ | -$/","",$closer_campaigns); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaignsSQL .= "'$closer_campaigns',"; + $c++; + } + $closer_campaignsSQL = eregi_replace(",$",'',$closer_campaignsSQL); + if ($DB > 0) {echo "\n|$closer_campaigns|$closer_campaignsSQL|$stmt|\n";} + + if ($adastats>1) + { + $stmtB="select calls_today,drops_today,answers_today,status_category_1,status_category_count_1,status_category_2,status_category_count_2,status_category_3,status_category_count_3,status_category_4,status_category_count_4,hold_sec_stat_one,hold_sec_stat_two,hold_sec_answer_calls,hold_sec_drop_calls,hold_sec_queue_calls,campaign_id from vicidial_campaign_stats where campaign_id IN ($closer_campaignsSQL);"; + + if ($DB > 0) {echo "\n|$stmtB|\n";} + + $r=0; + $rslt=mysql_query($stmtB, $link); + $ingroups_to_print = mysql_num_rows($rslt); + if ($ingroups_to_print > 0) + {$ingroup_detail .= "";} + while ($ingroups_to_print > $r) + { + $row=mysql_fetch_row($rslt); + $callsTODAY = $row[0]; + $dropsTODAY = $row[1]; + $answersTODAY = $row[2]; + $VSCcat1 = $row[3]; + $VSCcat1tally = $row[4]; + $VSCcat2 = $row[5]; + $VSCcat2tally = $row[6]; + $VSCcat3 = $row[7]; + $VSCcat3tally = $row[8]; + $VSCcat4 = $row[9]; + $VSCcat4tally = $row[10]; + $hold_sec_stat_one = $row[11]; + $hold_sec_stat_two = $row[12]; + $hold_sec_answer_calls = $row[13]; + $hold_sec_drop_calls = $row[14]; + $hold_sec_queue_calls = $row[15]; + $ingroupdetail = $row[16]; + if ( ($dropsTODAY > 0) and ($answersTODAY > 0) ) + { + $drpctTODAY = ( ($dropsTODAY / $answersTODAY) * 100); + $drpctTODAY = round($drpctTODAY, 2); + $drpctTODAY = sprintf("%01.2f", $drpctTODAY); + } + else + {$drpctTODAY=0;} + + if ($callsTODAY > 0) + { + $AVGhold_sec_queue_calls = ($hold_sec_queue_calls / $callsTODAY); + $AVGhold_sec_queue_calls = round($AVGhold_sec_queue_calls, 0); + } + else + {$AVGhold_sec_queue_calls=0;} + + if ($dropsTODAY > 0) + { + $AVGhold_sec_drop_calls = ($hold_sec_drop_calls / $dropsTODAY); + $AVGhold_sec_drop_calls = round($AVGhold_sec_drop_calls, 0); + } + else + {$AVGhold_sec_drop_calls=0;} + + if ($answersTODAY > 0) + { + $PCThold_sec_stat_one = ( ($hold_sec_stat_one / $answersTODAY) * 100); + $PCThold_sec_stat_one = round($PCThold_sec_stat_one, 2); + $PCThold_sec_stat_one = sprintf("%01.2f", $PCThold_sec_stat_one); + $PCThold_sec_stat_two = ( ($hold_sec_stat_two / $answersTODAY) * 100); + $PCThold_sec_stat_two = round($PCThold_sec_stat_two, 2); + $PCThold_sec_stat_two = sprintf("%01.2f", $PCThold_sec_stat_two); + $AVGhold_sec_answer_calls = ($hold_sec_answer_calls / $answersTODAY); + $AVGhold_sec_answer_calls = round($AVGhold_sec_answer_calls, 0); + if ($agent_non_pause_sec > 0) + { + $AVG_ANSWERagent_non_pause_sec = (($answersTODAY / $agent_non_pause_sec) * 60); + $AVG_ANSWERagent_non_pause_sec = round($AVG_ANSWERagent_non_pause_sec, 2); + $AVG_ANSWERagent_non_pause_sec = sprintf("%01.2f", $AVG_ANSWERagent_non_pause_sec); + } + else + {$AVG_ANSWERagent_non_pause_sec=0;} + } + else + { + $PCThold_sec_stat_one=0; + $PCThold_sec_stat_two=0; + $AVGhold_sec_answer_calls=0; + $AVG_ANSWERagent_non_pause_sec=0; + } + + if (ereg("0$|2$|4$|6$|8$",$r)) {$bgcolor='#E6E6E6';} + else {$bgcolor='white';} + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + $ingroup_detail .= ""; + + $r++; + } + + if ($ingroups_to_print > 0) + {$ingroup_detail .= "
            $ingroupdetail   CALLS TODAY:  $callsTODAY    TMA 1:  $PCThold_sec_stat_one%     Average Hold time for Answered Calls:  $AVGhold_sec_answer_calls  
    DROPS TODAY:  $dropsTODAY    TMA 2:  $PCThold_sec_stat_two%     Average Hold time for Dropped Calls:  $AVGhold_sec_drop_calls  
    ANSWERS TODAY:  $answersTODAY    DROP PERCENT:  $drpctTODAY%    Average Hold time for All Calls:  $AVGhold_sec_queue_calls  
    ";} + + } + + $stmt="select agent_pause_codes_active from vicidial_campaigns where campaign_id IN($group_SQL);"; + + $stmtB="select sum(calls_today),sum(drops_today),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(hold_sec_stat_one),sum(hold_sec_stat_two),sum(hold_sec_answer_calls),sum(hold_sec_drop_calls),sum(hold_sec_queue_calls) from vicidial_campaign_stats where campaign_id IN ($closer_campaignsSQL);"; + + if (eregi('ALL-ACTIVE',$group_string)) + { + $stmtB="select sum(calls_today),sum(drops_today),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4),sum(hold_sec_stat_one),sum(hold_sec_stat_two),sum(hold_sec_answer_calls),sum(hold_sec_drop_calls),sum(hold_sec_queue_calls) from vicidial_campaign_stats;"; + } + + $stmtC="select agent_non_pause_sec from vicidial_campaign_stats where campaign_id IN($group_SQL);"; + + + if ($DB > 0) {echo "\n|$stmt|$stmtB|$stmtC|\n";} + + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $agent_pause_codes_active = $row[0]; + + $rslt=mysql_query($stmtC, $link); + $row=mysql_fetch_row($rslt); + $agent_non_pause_sec = $row[0]; + + $rslt=mysql_query($stmtB, $link); + $row=mysql_fetch_row($rslt); + $callsTODAY = $row[0]; + $dropsTODAY = $row[1]; + $answersTODAY = $row[2]; + $VSCcat1 = $row[3]; + $VSCcat1tally = $row[4]; + $VSCcat2 = $row[5]; + $VSCcat2tally = $row[6]; + $VSCcat3 = $row[7]; + $VSCcat3tally = $row[8]; + $VSCcat4 = $row[9]; + $VSCcat4tally = $row[10]; + $hold_sec_stat_one = $row[11]; + $hold_sec_stat_two = $row[12]; + $hold_sec_answer_calls = $row[13]; + $hold_sec_drop_calls = $row[14]; + $hold_sec_queue_calls = $row[15]; + if ( ($dropsTODAY > 0) and ($answersTODAY > 0) ) + { + $drpctTODAY = ( ($dropsTODAY / $answersTODAY) * 100); + $drpctTODAY = round($drpctTODAY, 2); + $drpctTODAY = sprintf("%01.2f", $drpctTODAY); + } + else + {$drpctTODAY=0;} + + if ($callsTODAY > 0) + { + $AVGhold_sec_queue_calls = ($hold_sec_queue_calls / $callsTODAY); + $AVGhold_sec_queue_calls = round($AVGhold_sec_queue_calls, 0); + } + else + {$AVGhold_sec_queue_calls=0;} + + if ($dropsTODAY > 0) + { + $AVGhold_sec_drop_calls = ($hold_sec_drop_calls / $dropsTODAY); + $AVGhold_sec_drop_calls = round($AVGhold_sec_drop_calls, 0); + } + else + {$AVGhold_sec_drop_calls=0;} + + if ($answersTODAY > 0) + { + $PCThold_sec_stat_one = ( ($hold_sec_stat_one / $answersTODAY) * 100); + $PCThold_sec_stat_one = round($PCThold_sec_stat_one, 2); + $PCThold_sec_stat_one = sprintf("%01.2f", $PCThold_sec_stat_one); + $PCThold_sec_stat_two = ( ($hold_sec_stat_two / $answersTODAY) * 100); + $PCThold_sec_stat_two = round($PCThold_sec_stat_two, 2); + $PCThold_sec_stat_two = sprintf("%01.2f", $PCThold_sec_stat_two); + $AVGhold_sec_answer_calls = ($hold_sec_answer_calls / $answersTODAY); + $AVGhold_sec_answer_calls = round($AVGhold_sec_answer_calls, 0); + if ($agent_non_pause_sec > 0) + { + $AVG_ANSWERagent_non_pause_sec = (($answersTODAY / $agent_non_pause_sec) * 60); + $AVG_ANSWERagent_non_pause_sec = round($AVG_ANSWERagent_non_pause_sec, 2); + $AVG_ANSWERagent_non_pause_sec = sprintf("%01.2f", $AVG_ANSWERagent_non_pause_sec); + } + else + {$AVG_ANSWERagent_non_pause_sec=0;} + } + else + { + $PCThold_sec_stat_one=0; + $PCThold_sec_stat_two=0; + $AVGhold_sec_answer_calls=0; + $AVG_ANSWERagent_non_pause_sec=0; + } + + echo "
    "; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + +##### NOT INBOUND ONLY ### +else + { + if (eregi('ALL-ACTIVE',$group_string)) + { + $multi_drop++; + $stmt="select avg(auto_dial_level),min(dial_status_a),min(dial_status_b),min(dial_status_c),min(dial_status_d),min(dial_status_e),min(lead_order),min(lead_filter_id),sum(hopper_level),min(dial_method),avg(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),min(available_only_ratio_tally),min(adaptive_latest_server_time),min(local_call_time),avg(dial_timeout),min(dial_statuses),max(agent_pause_codes_active) from vicidial_campaigns;"; + + $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4) from vicidial_campaign_stats;"; + } + else + { + if ($DB > 0) {echo "\n|$with_inbound|$campaign_allow_inbound|\n";} + + if ( (ereg('Y',$with_inbound)) and ($campaign_allow_inbound > 0) ) + { + $multi_drop++; + $stmt = "select distinct closer_campaigns from vicidial_campaigns where campaign_id IN($group_SQL);"; + $rslt=mysql_query($stmt, $link); + $ccamps_to_print = mysql_num_rows($rslt); + $c=0; + while ($ccamps_to_print > $c) + { + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/^ | -$/","",$closer_campaigns); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaignsSQL .= "'$closer_campaigns',"; + $c++; + } + $closer_campaignsSQL = eregi_replace(",$",'',$closer_campaignsSQL); + if ($DB > 0) {echo "\n|$closer_campaigns|$closer_campaignsSQL|$stmt|\n";} + + $stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses,agent_pause_codes_active from vicidial_campaigns where campaign_id IN ($group_SQL,$closer_campaignsSQL);"; + + $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4) from vicidial_campaign_stats where campaign_id IN ($group_SQL,$closer_campaignsSQL);"; + } + else + { + $stmt="select avg(auto_dial_level),max(dial_status_a),max(dial_status_b),max(dial_status_c),max(dial_status_d),max(dial_status_e),max(lead_order),max(lead_filter_id),max(hopper_level),max(dial_method),max(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),max(available_only_ratio_tally),max(adaptive_latest_server_time),max(local_call_time),max(dial_timeout),max(dial_statuses),max(agent_pause_codes_active) from vicidial_campaigns where campaign_id IN($group_SQL);"; + + $stmtB="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today),max(status_category_1),sum(status_category_count_1),max(status_category_2),sum(status_category_count_2),max(status_category_3),sum(status_category_count_3),max(status_category_4),sum(status_category_count_4) from vicidial_campaign_stats where campaign_id IN($group_SQL);"; + } + } + if ($DB > 0) {echo "\n|$stmt|$stmtB|\n";} + + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $DIALlev = $row[0]; + $DIALstatusA = $row[1]; + $DIALstatusB = $row[2]; + $DIALstatusC = $row[3]; + $DIALstatusD = $row[4]; + $DIALstatusE = $row[5]; + $DIALorder = $row[6]; + $DIALfilter = $row[7]; + $HOPlev = $row[8]; + $DIALmethod = $row[9]; + $maxDIALlev = $row[10]; + $DROPmax = $row[11]; + $targetDIFF = $row[12]; + $ADAintense = $row[13]; + $ADAavailonly = $row[14]; + $TAPERtime = $row[15]; + $CALLtime = $row[16]; + $DIALtimeout = $row[17]; + $DIALstatuses = $row[18]; + $DIALstatuses = (preg_replace("/ -$|^ /","",$DIALstatuses)); + $DIALstatuses = (ereg_replace(' ',', ',$DIALstatuses)); + $agent_pause_codes_active = $row[19]; + + + $stmt="select count(*) from vicidial_hopper where campaign_id IN($group_SQL);"; + if (eregi('ALL-ACTIVE',$group_string)) + { + $stmt="select count(*) from vicidial_hopper;"; + } + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VDhop = $row[0]; + + $rslt=mysql_query($stmtB, $link); + $row=mysql_fetch_row($rslt); + $DAleads = $row[0]; + $callsTODAY = $row[1]; + $dropsTODAY = $row[2]; + $drpctTODAY = $row[3]; + $diffONEMIN = $row[4]; + $agentsONEMIN = $row[5]; + $balanceFILL = $row[6]; + $answersTODAY = $row[7]; + if ($multi_drop > 0) + { + if ( ($dropsTODAY > 0) and ($answersTODAY > 0) ) + { + $drpctTODAY = ( ($dropsTODAY / $answersTODAY) * 100); + $drpctTODAY = round($drpctTODAY, 2); + $drpctTODAY = sprintf("%01.2f", $drpctTODAY); + } + else + {$drpctTODAY=0;} + } + $VSCcat1 = $row[8]; + $VSCcat1tally = $row[9]; + $VSCcat2 = $row[10]; + $VSCcat2tally = $row[11]; + $VSCcat3 = $row[12]; + $VSCcat3tally = $row[13]; + $VSCcat4 = $row[14]; + $VSCcat4tally = $row[15]; + + if ( ($diffONEMIN != 0) and ($agentsONEMIN > 0) ) + { + $diffpctONEMIN = ( ($diffONEMIN / $agentsONEMIN) * 100); + $diffpctONEMIN = sprintf("%01.2f", $diffpctONEMIN); + } + else {$diffpctONEMIN = '0.00';} + + $stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats where campaign_id IN($group_SQL);"; + if (eregi('ALL-ACTIVE',$group_string)) + { + $stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats;"; + } + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $balanceSHORT = $row[0]; + + echo "
    CALLS TODAY:  $callsTODAY    TMA 1:  $PCThold_sec_stat_one%     Average Hold time for Answered Calls:  $AVGhold_sec_answer_calls   TIME:   $NOW_TIME
    DROPS TODAY:  $dropsTODAY    TMA 2:  $PCThold_sec_stat_two%     Average Hold time for Dropped Calls:  $AVGhold_sec_drop_calls  
    ANSWERS TODAY:  $answersTODAY    (Agent non-pause time / Answers)Average Hold time for All Calls:  $AVGhold_sec_queue_calls  
    DROP PERCENT:  $drpctTODAY%    PRODUCTIVITY:  $AVG_ANSWERagent_non_pause_sec    
    "; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + if ($adastats>1) + { + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo ""; + echo ""; + echo ""; + + + echo ""; + echo ""; + echo ""; + } + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "
    DIAL LEVEL:  $DIALlev    TRUNK SHORT/FILL:  $balanceSHORT / $balanceFILL     FILTER:  $DIALfilter   TIME:   $NOW_TIME
    - min   MAX LEVEL:  $maxDIALlev   DROPPED MAX:  $DROPmax%    TARGET DIFF:  $targetDIFF     INTENSITY:  $ADAintense    
    DIAL TIMEOUT:  $DIALtimeout  TAPER TIME:  $TAPERtime  LOCAL TIME:  $CALLtime  AVAIL ONLY:  $ADAavailonly  
    DIALABLE LEADS:  $DAleads     CALLS TODAY:  $callsTODAY     AVG AGENTS:  $agentsONEMIN     DIAL METHOD:  $DIALmethod    
    HOPPER LEVEL:  $HOPlev     DROPPED / ANSWERED:  $dropsTODAY / $answersTODAY   DL DIFF:  $diffONEMIN     STATUSES:  $DIALstatuses    
    LEADS IN HOPPER:  $VDhop     DROPPED PERCENT:  "; + if ($drpctTODAY >= $DROPmax) + {echo "$drpctTODAY%";} + else + {echo "$drpctTODAY%";} + echo "    DIFF:  $diffpctONEMIN%     ORDER:  $DIALorder    
    "; +if ( (!eregi('NULL',$VSCcat1)) and (strlen($VSCcat1)>0) ) + {echo "$VSCcat1:   $VSCcat1tally       \n";} +if ( (!eregi('NULL',$VSCcat2)) and (strlen($VSCcat2)>0) ) + {echo "$VSCcat2:   $VSCcat2tally       \n";} +if ( (!eregi('NULL',$VSCcat3)) and (strlen($VSCcat3)>0) ) + {echo "$VSCcat3:   $VSCcat3tally       \n";} +if ( (!eregi('NULL',$VSCcat4)) and (strlen($VSCcat4)>0) ) + {echo "$VSCcat4:   $VSCcat4tally       \n";} +echo "
    "; + +echo "$ingroup_detail"; + +if ($adastats<2) + { + echo "+ VIEW MORE"; + } +else + { + echo "+ VIEW LESS"; + } +if ($UGdisplay>0) + { + echo "       HIDE USER GROUP"; + } +else + { + echo "       VIEW USER GROUP"; + } +if ($UidORname>0) + { + echo "       SHOW AGENT ID"; + } +else + { + echo "       SHOW AGENT NAME"; + } +if ($SERVdisplay>0) + { + echo "       HIDE SERVER INFO"; + } +else + { + echo "       SHOW SERVER INFO"; + } +if ($CALLSdisplay>0) + { + echo "       HIDE WAITING CALLS"; + } +else + { + echo "       SHOW WAITING CALLS"; + } +if ($PHONEdisplay>0) + { + echo "       HIDE PHONES"; + } +else + { + echo "       SHOW PHONES"; + } +if ($CUSTPHONEdisplay>0) + { + echo "       HIDE CUSTPHONES"; + } +else + { + echo "       SHOW CUSTPHONES"; + } +echo "
    "; + +echo "\n\n"; +} +################################################################################### +###### INBOUND/OUTBOUND CALLS +################################################################################### +if ($campaign_allow_inbound > 0) + { + $stmt="select closer_campaigns from vicidial_campaigns where campaign_id IN($group_SQL);"; + $rslt=mysql_query($stmt, $link); + $ccamps_to_print = mysql_num_rows($rslt); + $c=0; + while ($ccamps_to_print > $c) + { + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/^ | -$/","",$closer_campaigns); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaignsSQL .= "'$closer_campaigns',"; + $c++; + } + $closer_campaignsSQL = eregi_replace(",$",'',$closer_campaignsSQL); + + $stmtB="from vicidial_auto_calls where status NOT IN('XFER') and ( (call_type='IN' and campaign_id IN($closer_campaignsSQL)) or (campaign_id IN($group_SQL) and call_type IN('OUT','OUTBALANCE')) ) order by queue_priority desc,campaign_id,call_time;"; + } +else + { + if (eregi('ALL-ACTIVE',$group_string)) {$UgroupSQL = '';} + else {$UgroupSQL = " and campaign_id IN($group_SQL)";} + + $stmtB="from vicidial_auto_calls where status NOT IN('XFER') $UgroupSQL order by queue_priority desc,campaign_id,call_time;"; + } +if ($CALLSdisplay > 0) + { + $stmtA = "SELECT status,campaign_id,phone_number,server_ip,UNIX_TIMESTAMP(call_time),call_type,queue_priority"; + } +else + { + $stmtA = "SELECT status"; + } + + +$k=0; +$stmt = "$stmtA $stmtB"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$parked_to_print = mysql_num_rows($rslt); + if ($parked_to_print > 0) + { + $i=0; + $out_total=0; + $out_ring=0; + $out_live=0; + $in_ivr=0; + while ($i < $parked_to_print) + { + $row=mysql_fetch_row($rslt); + + if (eregi("LIVE",$row[0])) + { + $out_live++; + + if ($CALLSdisplay > 0) + { + $CDstatus[$k] = $row[0]; + $CDcampaign_id[$k] = $row[1]; + $CDphone_number[$k] = $row[2]; + $CDserver_ip[$k] = $row[3]; + $CDcall_time[$k] = $row[4]; + $CDcall_type[$k] = $row[5]; + $CDqueue_priority[$k] = $row[6]; + $k++; + } + } + else + { + if (eregi("IVR",$row[0])) + { + $in_ivr++; + + if ($CALLSdisplay > 0) + { + $CDstatus[$k] = $row[0]; + $CDcampaign_id[$k] = $row[1]; + $CDphone_number[$k] = $row[2]; + $CDserver_ip[$k] = $row[3]; + $CDcall_time[$k] = $row[4]; + $CDcall_type[$k] = $row[5]; + $CDqueue_priority[$k] = $row[6]; + $k++; + } + } + if (eregi("CLOSER",$row[0])) + {$nothing=1;} + else + {$out_ring++;} + } + + $out_total++; + $i++; + } + + ##### MIDI alert audio file test ##### + # $test_midi=1; + # if ($test_midi > 0) + # { + # # echo ""; + # # echo ""; + # echo ""; + # echo " "; + # echo " "; + # echo " "; + # echo " "; + # echo " alt : test.mid"; + # echo ""; + # } + + if ($out_live > 0) {$F=''; $FG='';} + if ($out_live > 4) {$F=''; $FG='';} + if ($out_live > 9) {$F=''; $FG='';} + if ($out_live > 14) {$F=''; $FG='';} + + if ($campaign_allow_inbound > 0) + {echo "$NFB$out_total$NFE current active calls      \n";} + else + {echo "$NFB$out_total$NFE calls being placed       \n";} + + echo "$NFB$out_ring$NFE calls ringing         \n"; + echo "$NFB$F  $out_live $FG$NFE calls waiting for agents       \n"; + echo "$NFB  $in_ivr$NFE calls in IVR       \n"; + } + else + { + echo " NO LIVE CALLS WAITING \n"; + } + + + +################################################################################### +###### CALLS WAITING +################################################################################### + +$Cecho = ''; +$Cecho .= "VICIDIAL: Calls Waiting $NOW_TIME\n"; +$Cecho .= "+--------+--------------+--------------+-----------------+---------+------------+----------+\n"; +$Cecho .= "| STATUS | CAMPAIGN | PHONE NUMBER | SERVER_IP | DIALTIME| CALL TYPE | PRIORITY |\n"; +$Cecho .= "+--------+--------------+--------------+-----------------+---------+------------+----------+\n"; + +$p=0; +while($p<$k) + { + $Cstatus = sprintf("%-6s", $CDstatus[$p]); + $Ccampaign_id = sprintf("%-12s", $CDcampaign_id[$p]); + $Cphone_number = sprintf("%-12s", $CDphone_number[$p]); + $Cserver_ip = sprintf("%-15s", $CDserver_ip[$p]); + $Ccall_type = sprintf("%-10s", $CDcall_type[$p]); + $Cqueue_priority = sprintf("%8s", $CDqueue_priority[$p]); + + $Ccall_time_S = ($STARTtime - $CDcall_time[$p]); + $Ccall_time_M = ($Ccall_time_S / 60); + $Ccall_time_M = round($Ccall_time_M, 2); + $Ccall_time_M_int = intval("$Ccall_time_M"); + $Ccall_time_SEC = ($Ccall_time_M - $Ccall_time_M_int); + $Ccall_time_SEC = ($Ccall_time_SEC * 60); + $Ccall_time_SEC = round($Ccall_time_SEC, 0); + if ($Ccall_time_SEC < 10) {$Ccall_time_SEC = "0$Ccall_time_SEC";} + $Ccall_time_MS = "$Ccall_time_M_int:$Ccall_time_SEC"; + $Ccall_time_MS = sprintf("%7s", $Ccall_time_MS); + + $G = ''; $EG = ''; + if ($CDcall_type[$p] == 'IN') + { + $G=""; $EG=''; + } + $Cecho .= "| $G$Cstatus$EG | $G$Ccampaign_id$EG | $G$Cphone_number$EG | $G$Cserver_ip$EG | $G$Ccall_time_MS$EG | $G$Ccall_type$EG | $G$Cqueue_priority$EG |\n"; + + $p++; + } +$Cecho .= "+--------+--------------+--------------+-----------------+---------+------------+----------+\n"; + +if ($p<1) + {$Cecho='';} + +################################################################################### +###### AGENT TIME ON SYSTEM +################################################################################### + +$agent_incall=0; +$agent_ready=0; +$agent_paused=0; +$agent_dead=0; +$agent_total=0; + +$phoneord=$orderby; +$userord=$orderby; +$groupord=$orderby; +$timeord=$orderby; +$campaignord=$orderby; + +if ($phoneord=='phoneup') {$phoneord='phonedown';} + else {$phoneord='phoneup';} +if ($userord=='userup') {$userord='userdown';} + else {$userord='userup';} +if ($groupord=='groupup') {$groupord='groupdown';} + else {$groupord='groupup';} +if ($timeord=='timeup') {$timeord='timedown';} + else {$timeord='timeup';} +if ($campaignord=='campaignup') {$campaignord='campaigndown';} + else {$campaignord='campaignup';} + +$Aecho = ''; +$Aecho .= "VICIDIAL: Agents Time On Calls Campaign: $group_string $NOW_TIME\n"; + + +$HDbegin = "+"; +$HTbegin = "|"; +$HDstation = "------------+"; +$HTstation = " STATION |"; +$HDphone = "------------+"; +$HTphone = " PHONE |"; +$HDuser = "--------------------+"; +$HTuser = " USER |"; +$HDusergroup = "--------------+"; +$HTusergroup = " USER GROUP |"; +$HDsessionid = "------------------+"; +$HTsessionid = " SESSIONID |"; +$HDbarge = "-------+"; +$HTbarge = " BARGE |"; +$HDstatus = "----------+"; +$HTstatus = " STATUS |"; +$HDcustphone = "------------+"; +$HTcustphone = " CUST PHONE |"; +$HDserver_ip = "-----------------+"; +$HTserver_ip = " SERVER IP |"; +$HDcall_server_ip = "-----------------+"; +$HTcall_server_ip = " CALL SERVER IP |"; +$HDtime = "---------+"; +$HTtime = " MM:SS |"; +$HDcampaign = "------------+"; +$HTcampaign = " CAMPAIGN |"; +$HDcalls = "-------+"; +$HTcalls = " CALLS |"; +$HDpause = ''; +$HTpause = ''; + +if (!ereg("N",$agent_pause_codes_active)) + { + $HDstatus = "----------"; + $HTstatus = " STATUS "; + $HDpause = "-------+"; + $HTpause = " PAUSE |"; + } +if ($PHONEdisplay < 1) + { + $HDphone = ''; + $HTphone = ''; + } +if ($CUSTPHONEdisplay < 1) + { + $HDcustphone = ''; + $HTcustphone = ''; + } +if ($UGdisplay < 1) + { + $HDusergroup = ''; + $HTusergroup = ''; + } +if ( ($SIPmonitorLINK<1) && ($IAXmonitorLINK<1) ) + { + $HDsessionid = "-----------+"; + $HTsessionid = " SESSIONID |"; + } +if ( ($SIPmonitorLINK<2) && ($IAXmonitorLINK<2) ) + { + $HDbarge = ''; + $HTbarge = ''; + } +if ($SERVdisplay < 1) + { + $HDserver_ip = ''; + $HTserver_ip = ''; + $HDcall_server_ip = ''; + $HTcall_server_ip = ''; + } + + + +$Aline = "$HDbegin$HDstation$HDphone$HDuser$HDusergroup$HDsessionid$HDbarge$HDstatus$HDpause$HDcustphone$HDserver_ip$HDcall_server_ip$HDtime$HDcampaign$HDcalls\n"; +$Bline = "$HTbegin$HTstation$HTphone$HTuser$HTusergroup$HTsessionid$HTbarge$HTstatus$HTpause$HTcustphone$HTserver_ip$HTcall_server_ip$HTtime$HTcampaign$HTcalls\n"; +$Aecho .= "$Aline"; +$Aecho .= "$Bline"; +$Aecho .= "$Aline"; + +if ($orderby=='timeup') {$orderSQL='vicidial_live_agents.status,last_call_time';} +if ($orderby=='timedown') {$orderSQL='vicidial_live_agents.status desc,last_call_time desc';} +if ($orderby=='campaignup') {$orderSQL='vicidial_live_agents.campaign_id,vicidial_live_agents.status,last_call_time';} +if ($orderby=='campaigndown') {$orderSQL='vicidial_live_agents.campaign_id desc,vicidial_live_agents.status desc,last_call_time desc';} +if ($orderby=='groupup') {$orderSQL='user_group,vicidial_live_agents.status,last_call_time';} +if ($orderby=='groupdown') {$orderSQL='user_group desc,vicidial_live_agents.status desc,last_call_time desc';} +if ($orderby=='phoneup') {$orderSQL='extension,server_ip';} +if ($orderby=='phonedown') {$orderSQL='extension desc,server_ip desc';} +if ($UidORname > 0) + { + if ($orderby=='userup') {$orderSQL='full_name,status,last_call_time';} + if ($orderby=='userdown') {$orderSQL='full_name desc,status desc,last_call_time desc';} + } +else + { + if ($orderby=='userup') {$orderSQL='vicidial_live_agents.user';} + if ($orderby=='userdown') {$orderSQL='vicidial_live_agents.user desc';} + } + +if (eregi('ALL-ACTIVE',$group_string)) {$UgroupSQL = '';} +else {$UgroupSQL = " and vicidial_live_agents.campaign_id IN($group_SQL)";} +if (strlen($usergroup)<1) {$usergroupSQL = '';} +else {$usergroupSQL = " and user_group='" . mysql_real_escape_string($usergroup) . "'";} + +$stmt="select extension,vicidial_live_agents.user,conf_exten,vicidial_live_agents.status,vicidial_live_agents.server_ip,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),call_server_ip,vicidial_live_agents.campaign_id,vicidial_users.user_group,vicidial_users.full_name,vicidial_live_agents.comments,vicidial_live_agents.calls_today,vicidial_live_agents.callerid,lead_id from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user $UgroupSQL $usergroupSQL order by $orderSQL;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + while ($i < $talking_to_print) + { + $row=mysql_fetch_row($rslt); + + $Aextension[$i] = $row[0]; + $Auser[$i] = $row[1]; + $Asessionid[$i] = $row[2]; + $Astatus[$i] = $row[3]; + $Aserver_ip[$i] = $row[4]; + $Acall_time[$i] = $row[5]; + $Acall_finish[$i] = $row[6]; + $Acall_server_ip[$i] = $row[7]; + $Acampaign_id[$i] = $row[8]; + $Auser_group[$i] = $row[9]; + $Afull_name[$i] = $row[10]; + $Acomments[$i] = $row[11]; + $Acalls_today[$i] = $row[12]; + $Acallerid[$i] = $row[13]; + $Alead_id[$i] = $row[14]; + + $i++; + } + +$callerids=''; +$pausecode=''; +$stmt="select callerid,lead_id,phone_number from vicidial_auto_calls;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$calls_to_list = mysql_num_rows($rslt); + if ($calls_to_list > 0) + { + $i=0; + while ($i < $calls_to_list) + { + $row=mysql_fetch_row($rslt); + $callerids .= "$row[0]|"; + $VAClead_ids[$i] = $row[1]; + $VACphones[$i] = $row[2]; + $i++; + } + } + +### Lookup phone logins + $i=0; + while ($i < $talking_to_print) + { + if (eregi("R/",$Aextension[$i])) + { + $protocol = 'EXTERNAL'; + $dialplan = eregi_replace('R/',"",$Aextension[$i]); + $dialplan = eregi_replace("\@.*",'',$dialplan); + $exten = "dialplan_number='$dialplan'"; + } + if (eregi("Local/",$Aextension[$i])) + { + $protocol = 'EXTERNAL'; + $dialplan = eregi_replace('Local/',"",$Aextension[$i]); + $dialplan = eregi_replace("\@.*",'',$dialplan); + $exten = "dialplan_number='$dialplan'"; + } + if (eregi('SIP/',$Aextension[$i])) + { + $protocol = 'SIP'; + $dialplan = eregi_replace('SIP/',"",$Aextension[$i]); + $dialplan = eregi_replace("-.*",'',$dialplan); + $exten = "extension='$dialplan'"; + } + if (eregi('IAX2/',$Aextension[$i])) + { + $protocol = 'IAX2'; + $dialplan = eregi_replace('IAX2/',"",$Aextension[$i]); + $dialplan = eregi_replace("-.*",'',$dialplan); + $exten = "extension='$dialplan'"; + } + if (eregi('Zap/',$Aextension[$i])) + { + $protocol = 'Zap'; + $dialplan = eregi_replace('Zap/',"",$Aextension[$i]); + $exten = "extension='$dialplan'"; + } + + $stmt="select login from phones where server_ip='$Aserver_ip[$i]' and $exten and protocol='$protocol';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $phones_to_print = mysql_num_rows($rslt); + if ($phones_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $Alogin[$i] = "$row[0]-----$i"; + } + else + { + $Alogin[$i] = "$Aextension[$i]-----$i"; + } + $i++; + } + +### Sort by phone if selected + if ($orderby=='phoneup') + { + sort($Alogin); + } + if ($orderby=='phonedown') + { + rsort($Alogin); + } + +### Run through the loop to display agents + $j=0; + $agentcount=0; + while ($j < $talking_to_print) + { + $n=0; + $custphone=''; + while ($n < $calls_to_list) + { + if ( (ereg("$VAClead_ids[$n]", $Alead_id[$j])) and (strlen($VAClead_ids[$n]) == strlen($Alead_id[$j])) ) + {$custphone = $VACphones[$n];} + $n++; + } + + $phone_split = explode("-----",$Alogin[$j]); + $i = $phone_split[1]; + + if (eregi("READY|PAUSED",$Astatus[$i])) + { + $Acall_time[$i]=$Acall_finish[$i]; + + if ($Alead_id[$i] > 0) + { + $Astatus[$i] = 'DISPO'; + $Lstatus = 'DISPO'; + $status = ' DISPO'; + } + } + if ($non_latin < 1) + { + $extension = eregi_replace('Local/',"",$Aextension[$i]); + $extension = sprintf("%-10s", $extension); + while(strlen($extension)>10) {$extension = substr("$extension", 0, -1);} + } + else + { + $extension = eregi_replace('Local/',"",$Aextension[$i]); + $extension = sprintf("%-40s", $extension); + while(mb_strlen($extension, 'utf-8')>10) {$extension = mb_substr("$extension", 0, -1,'utf8');} + } + + $phone = sprintf("%-10s", $phone_split[0]); + $custphone = sprintf("%-10s", $custphone); + $Luser = $Auser[$i]; + $user = sprintf("%-18s", $Auser[$i]); + $Lsessionid = $Asessionid[$i]; + $sessionid = sprintf("%-9s", $Asessionid[$i]); + $Lstatus = $Astatus[$i]; + $status = sprintf("%-6s", $Astatus[$i]); + $server_ip = sprintf("%-15s", $Aserver_ip[$i]); + $call_server_ip = sprintf("%-15s", $Acall_server_ip[$i]); + $campaign_id = sprintf("%-10s", $Acampaign_id[$i]); + $comments= $Acomments[$i]; + $calls_today = sprintf("%-5s", $Acalls_today[$i]); + + if (!ereg("N",$agent_pause_codes_active)) + {$pausecode=' ';} + else + {$pausecode='';} + + if (eregi("INCALL",$Lstatus)) + { + ### temporarily deactivate DEAD calls display until bug is fixed + if (!ereg("$Acallerid[$i]\|",$callerids)) + { + $Astatus[$i] = 'DEAD'; + $Lstatus = 'DEAD'; + $status = ' DEAD '; + } + + if ( (eregi("AUTO",$comments)) or (strlen($comments)<1) ) + {$CM='A';} + else + { + if (eregi("INBOUND",$comments)) + {$CM='I';} + else + {$CM='M';} + } + } + else {$CM=' ';} + + if ($UGdisplay > 0) + { + if ($non_latin < 1) + { + $user_group = sprintf("%-12s", $Auser_group[$i]); + while(strlen($user_group)>12) {$user_group = substr("$user_group", 0, -1);} + } + else + { + $user_group = sprintf("%-40s", $Auser_group[$i]); + while(mb_strlen($user_group, 'utf-8')>12) {$user_group = mb_substr("$user_group", 0, -1,'utf8');} + } + } + if ($UidORname > 0) + { + if ($non_latin < 1) + { + $user = sprintf("%-18s", $Afull_name[$i]); + while(strlen($user)>18) {$user = substr("$user", 0, -1);} + } + else + { + $user = sprintf("%-40s", $Afull_name[$i]); + while(mb_strlen($user, 'utf-8')>18) {$user = mb_substr("$user", 0, -1,'utf8');} + } + } + if (!eregi("INCALL|QUEUE",$Astatus[$i])) + {$call_time_S = ($STARTtime - $Acall_finish[$i]);} + else + {$call_time_S = ($STARTtime - $Acall_time[$i]);} + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + if ($Lstatus=='INCALL') + { + if ($call_time_S >= 10) {$G=''; $EG='';} + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + # if ($call_time_M_int >= 10) {$G=''; $EG='';} + } + if ($Lstatus=='DEAD') + { + if ($call_time_M_int >= 360) + {$j++; continue;} + else + { + $agent_dead++; $agent_total++; + $G=''; $EG=''; + if ($call_time_S >= 10) {$G=''; $EG='';} + } + } + if ($Lstatus=='DISPO') + { + if ($call_time_M_int >= 360) + {$j++; continue;} + else + { + $agent_paused++; $agent_total++; + $G=''; $EG=''; + if ($call_time_S >= 10) {$G=''; $EG='';} + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + } + } + if ($Lstatus=='PAUSED') + { + if (!ereg("N",$agent_pause_codes_active)) + { + $stmtC="select sub_status from vicidial_agent_log where user='$Luser' order by agent_log_id desc limit 1;"; + $rsltC=mysql_query($stmtC,$link); + $rowC=mysql_fetch_row($rsltC); + $pausecode = sprintf("%-6s", $rowC[0]); + $pausecode = "$pausecode "; + } + else + {$pausecode='';} + + if ($call_time_M_int >= 360) + {$j++; continue;} + else + { + $agent_paused++; $agent_total++; + $G=''; $EG=''; + if ($call_time_S >= 10) {$G=''; $EG='';} + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + } + } +# if ( (strlen($Acall_server_ip[$i])> 4) and ($Acall_server_ip[$i] != "$Aserver_ip[$i]") ) +# {$G=''; $EG='';} + + if ( (eregi("INCALL",$status)) or (eregi("QUEUE",$status)) ) {$agent_incall++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) {$agent_ready++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) + { + $G=''; $EG=''; + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + } + + $L=''; + $R=''; + if ($SIPmonitorLINK>0) {$L=" LISTEN"; $R='';} + if ($IAXmonitorLINK>0) {$L=" LISTEN"; $R='';} + if ($SIPmonitorLINK>1) {$R=" | BARGE";} + if ($IAXmonitorLINK>1) {$R=" | BARGE";} + + if ($CUSTPHONEdisplay > 0) {$CP = " $G$custphone$EG |";} + else {$CP = "";} + + if ($UGdisplay > 0) {$UGD = " $G$user_group$EG |";} + else {$UGD = "";} + + if ($SERVdisplay > 0) {$SVD = "$G$server_ip$EG | $G$call_server_ip$EG | ";} + else {$SVD = "";} + + if ($PHONEdisplay > 0) {$phoneD = "$G$phone$EG | ";} + else {$phoneD = "";} + + $vac_stage=''; + $vac_campaign=''; + $INGRP=''; + if ($CM == 'I') + { + $stmt="select campaign_id,stage from vicidial_auto_calls where callerid='$Acallerid[$i]' LIMIT 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ingrp_to_print = mysql_num_rows($rslt); + if ($ingrp_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $vac_campaign = sprintf("%-20s", $row[0]); + $row[1] = eregi_replace(".*-",'',$row[1]); + $vac_stage = sprintf("%-4s", $row[1]); + } + + $INGRP = " $G$vac_stage$EG $G$vac_campaign$EG "; + } + + $agentcount++; + + $Aecho .= "| $G$extension$EG |$phoneD $G$user$EG |$UGD $G$sessionid$EG$L$R | $G$status$EG $CM $pausecode| $CP$SVD$G$call_time_MS$EG | $G$campaign_id$EG | $G$calls_today$EG |$INGRP\n"; + + $j++; + } + + $Aecho .= "$Aline"; + $Aecho .= " $agentcount agents logged in on all servers\n"; + $Aecho .= " System Load Average: $load_ave\n\n"; + + # $Aecho .= " - Balanced call\n"; + $Aecho .= " - Agent waiting for call\n"; + $Aecho .= " - Agent waiting for call > 1 minute\n"; + $Aecho .= " - Agent waiting for call > 5 minutes\n"; + $Aecho .= " - Agent on call > 10 seconds\n"; + $Aecho .= " - Agent on call > 1 minute\n"; + $Aecho .= " - Agent on call > 5 minutes\n"; + $Aecho .= " - Agent Paused > 10 seconds\n"; + $Aecho .= " - Agent Paused > 1 minute\n"; + $Aecho .= " - Agent Paused > 5 minutes\n"; + $Aecho .= " - Agent on a dead call\n"; + + if ($agent_ready > 0) {$B=''; $BG='';} + if ($agent_ready > 4) {$B=''; $BG='';} + if ($agent_ready > 9) {$B=''; $BG='';} + if ($agent_ready > 14) {$B=''; $BG='';} + + + echo "\n
    \n"; + + echo "$NFB$agent_total$NFE agents logged in         \n"; + echo "$NFB$agent_incall$NFE agents in calls       \n"; + echo "$NFB$B  $agent_ready $BG$NFE agents waiting       \n"; + echo "$NFB$agent_paused$NFE paused agents       \n"; + echo "$NFB$agent_dead$NFE agents in dead calls      \n"; + + echo "
    ";
    +		echo "";
    +		echo "$Cecho";
    +		echo "$Aecho";
    +	}
    +	else
    +	{
    +	echo " NO AGENTS ON CALLS \n";
    +	echo "
    $Cecho";
    +	}
    +
    +?>
    +
    +
    + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_timeonVDADallREC.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_timeonVDADallREC.php new file mode 100644 index 00000000..94fde5bb --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_timeonVDADallREC.php @@ -0,0 +1,943 @@ + LICENSE: AGPLv2 +# +# live real-time stats for the VICIDIAL Auto-Dialer all servers +# +# STOP=4000, SLOW=40, GO=4 seconds refresh interval +# +# CHANGELOG: +# 50406-0920 - Added Paused agents < 1 min (Chris Doyle) +# 51130-1218 - Modified layout and info to show all servers in a vicidial system +# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60511-1343 - Added leads and drop info at the top of the screen +# 60608-1539 - Fixed CLOSER tallies for active calls +# 60619-1658 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 60626-1453 - Added display of system load to bottom (Angelito Manansala) +# 60901-1123 - Changed display elements at the top of the screen +# 60905-1342 - Fixed non INCALL|QUEUE timer column +# 61002-1642 - Added TRUNK SHORT/FILL stats +# 61101-1318 - Added SIP and IAX Listen and Barge links option +# 61101-1647 - Added Usergroup column and user name option as well as sorting +# 61102-1155 - Made display of columns more modular, added ability to hide server info +# 61215-1131 - Added answered calls and drop percent taken from answered calls +# 70111-1600 - Added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70123-1151 - Added non_latin options for substr in display variables, thanks Marin Blu +# 70206-1140 - Added call-type statuses to display(A-Auto, M-Manual, I-Inbound/Closer) +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["RR"])) {$RR=$_GET["RR"];} + elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["usergroup"])) {$usergroup=$_GET["usergroup"];} + elseif (isset($_POST["usergroup"])) {$usergroup=$_POST["usergroup"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["adastats"])) {$adastats=$_GET["adastats"];} + elseif (isset($_POST["adastats"])) {$adastats=$_POST["adastats"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["SIPmonitorLINK"])) {$SIPmonitorLINK=$_GET["SIPmonitorLINK"];} + elseif (isset($_POST["SIPmonitorLINK"])) {$SIPmonitorLINK=$_POST["SIPmonitorLINK"];} +if (isset($_GET["IAXmonitorLINK"])) {$IAXmonitorLINK=$_GET["IAXmonitorLINK"];} + elseif (isset($_POST["IAXmonitorLINK"])) {$IAXmonitorLINK=$_POST["IAXmonitorLINK"];} +if (isset($_GET["UGdisplay"])) {$UGdisplay=$_GET["UGdisplay"];} + elseif (isset($_POST["UGdisplay"])) {$UGdisplay=$_POST["UGdisplay"];} +if (isset($_GET["UidORname"])) {$UidORname=$_GET["UidORname"];} + elseif (isset($_POST["UidORname"])) {$UidORname=$_POST["UidORname"];} +if (isset($_GET["orderby"])) {$orderby=$_GET["orderby"];} + elseif (isset($_POST["orderby"])) {$orderby=$_POST["orderby"];} +if (isset($_GET["SERVdisplay"])) {$SERVdisplay=$_GET["SERVdisplay"];} + elseif (isset($_POST["SERVdisplay"])) {$SERVdisplay=$_POST["SERVdisplay"];} + +if (isset($_GET["RECmonitorLINK"])) {$RECmonitorLINK=$_GET["RECmonitorLINK"];} + elseif (isset($_POST["RECmonitorLINK"])) {$RECmonitorLINK=$_POST["RECmonitorLINK"];} + +if (!isset($RR)) {$gRRroup=4;} +if (!isset($group)) {$group='';} +if (!isset($usergroup)) {$usergroup='';} +if (!isset($UGdisplay)) {$UGdisplay=0;} # 0=no, 1=yes +if (!isset($UidORname)) {$UidORname=0;} # 0=id, 1=name +if (!isset($orderby)) {$orderby='timeup';} +if (!isset($SERVdisplay)) {$SERVdisplay=1;} # 0=no, 1=yes + +function get_server_load($windows = false) { +$os = strtolower(PHP_OS); +if(strpos($os, "win") === false) { +if(file_exists("/proc/loadavg")) { +$load = file_get_contents("/proc/loadavg"); +$load = explode(' ', $load); +return $load[0]; +} +elseif(function_exists("shell_exec")) { +$load = explode(' ', `uptime`); +return $load[count($load)-1]; +} +else { +return false; +} +} +elseif($windows) { +if(class_exists("COM")) { +$wmi = new COM("WinMgmts:\\\\."); +$cpus = $wmi->InstancesOf("Win32_Processor"); + +$cpuload = 0; +$i = 0; +while ($cpu = $cpus->Next()) { +$cpuload += $cpu->LoadPercentage; +$i++; +} + +$cpuload = round($cpuload / $i, 2); +return "$cpuload%"; +} +else { +return false; +} +} +} + +$load_ave = get_server_load(true); + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + + $stmt="SELECT vicidial_recording from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} + if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $authrec=$row[0]; + if ($authrec=='1') {$RECmonitorLINK = 1;} else {$RECmonitorLINK = 0;} + + +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd-His"); +$NOW_DAY = date("Y-m-d"); +$NOW_HOUR = date("H:i:s"); +$STARTtime = date("U"); +$epochSIXhoursAGO = ($STARTtime - 21600); +$timeSIXhoursAGO = date("Y-m-d H:i:s",$epochSIXhoursAGO); + +$stmt="select campaign_id from vicidial_campaigns where active='Y';"; +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + +$stmt="select * from vicidial_user_groups;"; +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$usergroups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $usergroups_to_print) + { + $row=mysql_fetch_row($rslt); + $usergroups[$i] =$row[0]; + $i++; + } + +if (!isset($RR)) {$RR=4;} + +$NFB = ''; +$NFE = ''; +$F=''; $FG=''; $B=''; $BG=''; + +?> + + + + + + + + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On VDAD Campaign: $group\n"; +echo "
    \n"; +echo "VICIDIAL Campaign: \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +if ($UGdisplay > 0) + { + echo "\n"; + } +echo "         \n"; +echo "STOP | "; +echo "SLOW | "; +echo "GO"; +echo "       MODIFY | \n"; +echo "SUMMARY | \n"; +echo "REPORTS \n"; +echo "\n\n"; + + +if (!$group) {echo "

    please select a campaign from the pulldown above
    \n"; exit;} +else +{ +$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; + +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select avg(auto_dial_level),min(dial_status_a),min(dial_status_b),min(dial_status_c),min(dial_status_d),min(dial_status_e),min(lead_order),min(lead_filter_id),sum(hopper_level),min(dial_method),avg(adaptive_maximum_level),avg(adaptive_dropped_percentage),avg(adaptive_dl_diff_target),avg(adaptive_intensity),min(available_only_ratio_tally),min(adaptive_latest_server_time),min(local_call_time),avg(dial_timeout),min(dial_statuses) from vicidial_campaigns;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DIALlev = $row[0]; +$DIALstatusA = $row[1]; +$DIALstatusB = $row[2]; +$DIALstatusC = $row[3]; +$DIALstatusD = $row[4]; +$DIALstatusE = $row[5]; +$DIALorder = $row[6]; +$DIALfilter = $row[7]; +$HOPlev = $row[8]; +$DIALmethod = $row[9]; +$maxDIALlev = $row[10]; +$DROPmax = $row[11]; +$targetDIFF = $row[12]; +$ADAintense = $row[13]; +$ADAavailonly = $row[14]; +$TAPERtime = $row[15]; +$CALLtime = $row[16]; +$DIALtimeout = $row[17]; +$DIALstatuses = $row[18]; + $DIALstatuses = (preg_replace("/ -$|^ /","",$DIALstatuses)); + $DIALstatuses = (ereg_replace(' ',', ',$DIALstatuses)); + +$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select count(*) from vicidial_hopper;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VDhop = $row[0]; + +$stmt="select dialable_leads,calls_today,drops_today,drops_answers_today_pct,differential_onemin,agents_average_onemin,balance_trunk_fill,answers_today from vicidial_campaign_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select sum(dialable_leads),sum(calls_today),sum(drops_today),avg(drops_answers_today_pct),avg(differential_onemin),avg(agents_average_onemin),sum(balance_trunk_fill),sum(answers_today) from vicidial_campaign_stats;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DAleads = $row[0]; +$callsTODAY = $row[1]; +$dropsTODAY = $row[2]; +$drpctTODAY = $row[3]; +$diffONEMIN = $row[4]; +$agentsONEMIN = $row[5]; +$balanceFILL = $row[6]; +$answersTODAY = $row[7]; +if ( ($diffONEMIN != 0) and ($agentsONEMIN > 0) ) + { + $diffpctONEMIN = ( ($diffONEMIN / $agentsONEMIN) * 100); + $diffpctONEMIN = sprintf("%01.2f", $diffpctONEMIN); + } +else {$diffpctONEMIN = '0.00';} + +$stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($group=='XXXX-ALL-ACTIVE-XXXX') + { + $stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$balanceSHORT = $row[0]; + +echo "
    "; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +if ($adastats>1) + { + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo "
    DIAL LEVEL:  $DIALlev    TRUNK SHORT/FILL:  $balanceSHORT / $balanceFILL     FILTER:  $DIALfilter   TIME:   $NOW_TIME
    - min   MAX LEVEL:  $maxDIALlev   DROPPED MAX:  $DROPmax%    TARGET DIFF:  $targetDIFF     INTENSITY:  $ADAintense    
    DIAL TIMEOUT:  $DIALtimeout  TAPER TIME:  $TAPERtime  LOCAL TIME:  $CALLtime  AVAIL ONLY:  $ADAavailonly  
    DIALABLE LEADS:  $DAleads     CALLS TODAY:  $callsTODAY     AVG AGENTS:  $agentsONEMIN     DIAL METHOD:  $DIALmethod    
    HOPPER LEVEL:  $HOPlev     DROPPED / ANSWERED:  $dropsTODAY / $answersTODAY   DL DIFF:  $diffONEMIN     STATUSES:  $DIALstatuses    
    LEADS IN HOPPER:  $VDhop     DROPPED PERCENT:  $drpctTODAY%    DIFF:  $diffpctONEMIN%     ORDER:  $DIALorder    
    "; + +if ($adastats<2) + { + echo "+ VIEW MORE SETTINGS"; + } +if ($UGdisplay>0) + { + echo "       HIDE USER GROUP"; + } +else + { + echo "       VIEW USER GROUP"; + } +if ($UidORname>0) + { + echo "       SHOW AGENT ID"; + } +else + { + echo "       SHOW AGENT NAME"; + } +if ($SERVdisplay>0) + { + echo "       HIDE SERVER INFO"; + } +else + { + echo "       SHOW SERVER INFO"; + } +echo "
    "; + +echo "\n\n"; +} +################################################################################### +###### OUTBOUND CALLS +################################################################################### +if (eregi("(CLOSER|BLEND|INBND|_C$|_B$|_I$)",$group)) + { + $stmt="select closer_campaigns from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} + if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = preg_replace("/^ | -$/","",$row[0]); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') and ( (call_type='IN' and campaign_id IN($closer_campaigns)) or (campaign_id='" . mysql_real_escape_string($group) . "' and call_type='OUT') );"; + } +else + { + if ($group=='XXXX-ALL-ACTIVE-XXXX') {$groupSQL = '';} + else {$groupSQL = " and campaign_id='" . mysql_real_escape_string($group) . "'";} + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') $groupSQL;"; + } +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$parked_to_print = mysql_num_rows($rslt); + if ($parked_to_print > 0) + { + $i=0; + $out_total=0; + $out_ring=0; + $out_live=0; + while ($i < $parked_to_print) + { + $row=mysql_fetch_row($rslt); + + if (eregi("LIVE",$row[0])) + {$out_live++;} + else + { + if (eregi("CLOSER",$row[0])) + {$nothing=1;} + else + {$out_ring++;} + } + $out_total++; + $i++; + } + + if ($out_live > 0) {$F=''; $FG='';} + if ($out_live > 4) {$F=''; $FG='';} + if ($out_live > 9) {$F=''; $FG='';} + if ($out_live > 14) {$F=''; $FG='';} + + if (eregi("(CLOSER|BLEND|INBND|_C$|_B$|_I$)",$group)) + {echo "$NFB$out_total$NFE current active calls      \n";} + else + {echo "$NFB$out_total$NFE calls being placed       \n";} + + echo "$NFB$out_ring$NFE calls ringing         \n"; + echo "$NFB$F  $out_live $FG$NFE calls waiting for agents       \n"; + } + else + { + echo " NO LIVE CALLS WAITING \n"; + } + + +################################################################################### +###### TIME ON SYSTEM +################################################################################### + +$agent_incall=0; +$agent_ready=0; +$agent_paused=0; +$agent_total=0; + +$Aecho = ''; +$Aecho .= "VICIDIAL: Agents Time On Calls Campaign: $group $NOW_TIME\n\n"; + + +$HDbegin = "+"; +$HTbegin = "|"; +$HDstation = "------------+"; +$HTstation = " STATION |"; +$HDuser = "--------------------+"; +$HTuser = " USER |"; +$HDusergroup = "--------------+"; +$HTusergroup = " USER GROUP |"; +$HDsessionid = "------------------+"; +$HTsessionid = " SESSIONID |"; +$HDbarge = "-------+"; +$HTbarge = " BARGE |"; +$HDrec = "---------+"; +$HTrec = " MONITOR |"; +$HDstatus = "----------+"; +$HTstatus = " STATUS |"; +$HDserver_ip = "-----------------+"; +$HTserver_ip = " SERVER IP |"; +$HDcall_server_ip = "-----------------+"; +$HTcall_server_ip = " CALL SERVER IP |"; +$HDtime = "---------+"; +$HTtime = " MM:SS |"; +$HDcampaign = "------------+"; +$HTcampaign = " CAMPAIGN |"; + +if ($UGdisplay < 1) + { + $HDusergroup = ''; + $HTusergroup = ''; + } +if ( ($SIPmonitorLINK<1) && ($IAXmonitorLINK<1) ) + { + $HDsessionid = "-----------+"; + $HTsessionid = " SESSIONID |"; + } +if ( ($SIPmonitorLINK<2) && ($IAXmonitorLINK<2) ) + { + $HDbarge = ''; + $HTbarge = ''; + } +if ($SERVdisplay < 1) + { + $HDserver_ip = ''; + $HTserver_ip = ''; + $HDcall_server_ip = ''; + $HTcall_server_ip = ''; + } + +if ( ($RECmonitorLINK<1) ) +{ + $HDrec = ''; + $HTrec = ''; +} + +$Aline = "$HDbegin$HDstation$HDuser$HDusergroup$HDsessionid$HDbarge$HDstatus$HDrec$HDserver_ip$HDcall_server_ip$HDtime$HDcampaign\n"; +$Bline = "$HTbegin$HTstation$HTuser$HTusergroup$HTsessionid$HTbarge$HTstatus$HTrec$HTserver_ip$HTcall_server_ip$HTtime$HTcampaign\n"; + +$Aecho .= "$Aline"; +$Aecho .= "$Bline"; +$Aecho .= "$Aline"; + +if ($orderby=='timeup') {$orderSQL='status,last_call_time';} +if ($orderby=='timedown') {$orderSQL='status desc,last_call_time desc';} +if ($orderby=='campaignup') {$orderSQL='campaign_id,status,last_call_time';} +if ($orderby=='campaigndown') {$orderSQL='campaign_id desc,status desc,last_call_time desc';} +if ($orderby=='groupup') {$orderSQL='user_group,status,last_call_time';} +if ($orderby=='groupdown') {$orderSQL='user_group desc,status desc,last_call_time desc';} +if ($UidORname > 0) + { + if ($orderby=='userup') {$orderSQL='full_name,status,last_call_time';} + if ($orderby=='userdown') {$orderSQL='full_name desc,status desc,last_call_time desc';} + } +else + { + if ($orderby=='userup') {$orderSQL='vicidial_live_agents.user';} + if ($orderby=='userdown') {$orderSQL='vicidial_live_agents.user desc';} + } + +if ($group=='XXXX-ALL-ACTIVE-XXXX') {$groupSQL = '';} +else {$groupSQL = " and campaign_id='" . mysql_real_escape_string($group) . "'";} +if (strlen($usergroup)<1) {$usergroupSQL = '';} +else {$usergroupSQL = " and user_group='" . mysql_real_escape_string($usergroup) . "'";} + +$stmt="select extension,vicidial_live_agents.user,conf_exten,status,server_ip,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),call_server_ip,campaign_id,vicidial_users.user_group,vicidial_users.full_name,vicidial_live_agents.comments,lead_id,vicidial_users.pass from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user $groupSQL $usergroupSQL order by $orderSQL;"; + +#$stmt="select extension,vicidial_live_agents.user,conf_exten,status,server_ip,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),call_server_ip,campaign_id,vicidial_users.user_group,vicidial_users.full_name from vicidial_live_agents,vicidial_users where vicidial_live_agents.user=vicidial_users.user and campaign_id='" . mysql_real_escape_string($group) . "' order by $orderSQL;"; + +if ($non_latin > 0) +{ +$rslt=mysql_query("SET NAMES 'UTF8'"); +} +if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} $rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + $agentcount=0; + while ($i < $talking_to_print) + { + $row=mysql_fetch_row($rslt); + if (eregi("READY|PAUSED",$row[3])) + { + $row[5]=$row[6]; + } + if ($non_latin < 1) + { + $extension = eregi_replace('Local/',"",$row[0]); + $extension = eregi_replace('IAX2/',"",$row[0]); + $extension = sprintf("%-10s", $extension); + while(strlen($extension)>10) {$extension = substr("$extension", 0, -1);} + } + else + { + $extension = eregi_replace('Local/',"",$row[0]); + $extension = eregi_replace('IAX2/',"",$row[0]); + $extension = sprintf("%-40s", $extension); + while(mb_strlen($extension, 'utf-8')>10) {$extension = mb_substr("$extension", 0, -1,'utf8');} + } + + $Luser = $row[1]; + $user = sprintf("%-18s", $row[1]); + $Lsessionid = $row[2]; + $sessionid = sprintf("%-9s", $row[2]); + $Lstatus = $row[3]; + $status = sprintf("%-6s", $row[3]); + $Lserver_ip = $row[4]; + $server_ip = sprintf("%-15s", $row[4]); + $call_server_ip = sprintf("%-15s", $row[7]); + $campaign_id = sprintf("%-10s", $row[8]); + $comments= $row[11]; + + $lead_id = $row[12]; + $user_pass = $row[13]; + + + if (eregi("INCALL",$Lstatus)) + { + if ( (eregi("AUTO",$comments)) or (strlen($comments)<1) ) + {$CM='A';} + else + { + if (eregi("INBOUND",$comments)) + {$CM='I';} + else + {$CM='M';} + } + } + else {$CM=' ';} + + if ($UGdisplay > 0) + { + if ($non_latin < 1) + { + $user_group = sprintf("%-12s", $row[9]); + while(strlen($user_group)>12) {$user_group = substr("$user_group", 0, -1);} + } + else + { + $user_group = sprintf("%-40s", $row[9]); + while(mb_strlen($user_group, 'utf-8')>12) {$user_group = mb_substr("$user_group", 0, -1,'utf8');} + } + } + if ($UidORname > 0) + { + if ($non_latin < 1) + { + $user = sprintf("%-18s", $row[10]); + while(strlen($user)>18) {$user = substr("$user", 0, -1);} + } + else + { + $user = sprintf("%-40s", $row[10]); + while(mb_strlen($user, 'utf-8')>18) {$user = mb_substr("$user", 0, -1,'utf8');} + } + } + if (!eregi("INCALL|QUEUE",$row[3])) + {$call_time_S = ($STARTtime - $row[6]);} + else + {$call_time_S = ($STARTtime - $row[5]);} + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + if ($Lstatus=='INCALL') + { + if ($call_time_S >= 10) {$G=''; $EG='';} + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + # if ($call_time_M_int >= 10) {$G=''; $EG='';} + } + if (eregi("PAUSED",$row[3])) + { + if ($call_time_M_int >= 30) + {$i++; continue;} + else + { + $agent_paused++; $agent_total++; + $G=''; $EG=''; + if ($call_time_S >= 10) {$G=''; $EG='';} + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + } + } +# if ( (strlen($row[7])> 4) and ($row[7] != "$row[4]") ) +# {$G=''; $EG='';} + + if ( (eregi("INCALL",$status)) or (eregi("QUEUE",$status)) ) {$agent_incall++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) {$agent_ready++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) + { + $G=''; $EG=''; + if ($call_time_M_int >= 1) {$G=''; $EG='';} + if ($call_time_M_int >= 5) {$G=''; $EG='';} + } + + $L=''; + $R=''; + $LL=''; + $EXTF='6'; + $servip= str_replace('.','',$Lserver_ip); + if ($SIPmonitorLINK>0) {$L=" LISTEN"; $R='';} + if ($IAXmonitorLINK>0) {$L=" LISTEN"; $R='';} + if ($SIPmonitorLINK>1) {$R=" | BARGE";} + if ($IAXmonitorLINK>1) {$R=" | BARGE";} + + + if ($RECmonitorLINK>0) + { + + $stmt="select session_name from web_client_sessions where server_ip ='$server_ip' and extension ='$extension' limit 1;"; + if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} + $rslta=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $sess = mysql_num_rows($rslta); + + if ($sess > 0) + { + $row=mysql_fetch_row($rslta); + $sessionname = $row[0]; + } else + { + $sessionname = ""; + } + + + $stmt="select end_time,channel,extension,lead_id,user,server_ip,filename from recording_log where server_ip ='$server_ip' and user ='$Luser';"; + if ($non_latin > 0) {$rslta=mysql_query("SET NAMES 'UTF8'");} + $rslta=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $rec_channels = mysql_num_rows($rslta); + + if ($rec_channels > 0) + { + $ii=0; + while ($ii < $rec_channels) + { + $row=mysql_fetch_row($rslta); + $pos=strpos($row[1], $Lsessionid); + + if ($pos===false) + { + $LL=" Rec "; + } + else + { + if(is_null($row[0])) { + $LL=" Stop"; + } + else + { + $LL=" Rec "; + } + } + + $ii++; + } + } + else + { + $LL=" Rec "; + + } + } + + + if ($UGdisplay > 0) {$UGD = " $G$user_group$EG |";} + else {$UGD = "";} + + if ($SERVdisplay > 0) {$SVD = "$G$server_ip$EG | $G$call_server_ip$EG | ";} + else {$SVD = "";} + + $agentcount++; + + $Aecho .= "| $G$extension$EG | $G$user$EG |$UGD $G$sessionid$EG$L$R | $G$status$EG $CM | $LL | $SVD$G$call_time_MS$EG | $G$campaign_id$EG |\n"; + + $i++; + } + + $Aecho .= "$Aline"; + $Aecho .= " $agentcount agents logged in on all servers\n"; + $Aecho .= " System Load Average: $load_ave\n\n"; + + # $Aecho .= " - Balanced call\n"; + $Aecho .= " - Agent waiting for call\n"; + $Aecho .= " - Agent waiting for call > 1 minute\n"; + $Aecho .= " - Agent waiting for call > 5 minutes\n"; + $Aecho .= " - Agent on call > 10 seconds\n"; + $Aecho .= " - Agent on call > 1 minute\n"; + $Aecho .= " - Agent on call > 5 minutes\n"; + $Aecho .= " - Agent Paused > 10 seconds\n"; + $Aecho .= " - Agent Paused > 1 minute\n"; + $Aecho .= " - Agent Paused > 5 minutes\n"; + + if ($agent_ready > 0) {$B=''; $BG='';} + if ($agent_ready > 4) {$B=''; $BG='';} + if ($agent_ready > 9) {$B=''; $BG='';} + if ($agent_ready > 14) {$B=''; $BG='';} + + + echo "\n
    \n"; + + echo "$NFB$agent_total$NFE agents logged in         \n"; + echo "$NFB$agent_incall$NFE agents in calls       \n"; + echo "$NFB$B  $agent_ready $BG$NFE agents waiting       \n"; + echo "$NFB$agent_paused$NFE paused agents       \n"; + + echo "
    ";
    +		echo "";
    +		echo "$Aecho";
    +	}
    +	else
    +	{
    +	echo " NO AGENTS ON CALLS \n";
    +	}
    +
    +?>
    +
    + + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_timeonVDADallSUMMARY.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_timeonVDADallSUMMARY.php new file mode 100644 index 00000000..2682ab0f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_timeonVDADallSUMMARY.php @@ -0,0 +1,456 @@ + LICENSE: AGPLv2 +# +# Summary for all campaigns live real-time stats for the VICIDIAL Auto-Dialer all servers +# +# STOP=4000, SLOW=40, GO=4 seconds refresh interval +# +# changes: +# 61102-1616 - first build +# 61215-1131 - added answered calls and drop percent taken from answered calls +# 70111-1600 - added ability to use BLEND/INBND/*_C/*_B/*_I as closer campaigns +# 70619-1339 - Added Status Category tally display +# 71029-1900 - Changed CLOSER-type to not require campaign_id restriction +# 80525-1040 - Added IVR status summary display for inbound calls +# 90310-2119 - Added admin header +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["RR"])) {$RR=$_GET["RR"];} + elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["adastats"])) {$adastats=$_GET["adastats"];} + elseif (isset($_POST["adastats"])) {$adastats=$_POST["adastats"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +if (!isset($RR)) {$gRRroup=4;} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); + +$stmt="select campaign_id from vicidial_campaigns where active='Y';"; +$rslt=mysql_query($stmt, $link); +if (!isset($DB)) {$DB=0;} +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + +if (!isset($RR)) {$RR=4;} + +?> + + + + + +\n"; +echo "VICIDIAL: Realtime All Campaigns Summary\n"; + + $short_header=1; + + require("admin_header.php"); + +echo "
    "; + +echo "VICIDIAL: Realtime All Campaigns Summary           \n"; +echo "STOP | "; +echo "SLOW | "; +echo "GO "; +echo "       \n"; +if ($adastats<2) + { + echo "+ VIEW MORE SETTINGS"; + } +else + { + echo "- VIEW LESS SETTINGS"; + } +echo "       REPORTS"; +echo "

    \n\n"; + +$k=0; +while($k<$groups_to_print) +{ +$NFB = ''; +$NFE = ''; +$F=''; $FG=''; $B=''; $BG=''; + +$group = $groups[$k]; +echo "$group   -   "; +echo "Modify\n"; + + +$stmt = "select count(*) from vicidial_campaigns where campaign_id='$group' and campaign_allow_inbound='Y';"; +$rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $campaign_allow_inbound = $row[0]; + +$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout,dial_statuses from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DIALlev = $row[0]; +$DIALstatusA = $row[1]; +$DIALstatusB = $row[2]; +$DIALstatusC = $row[3]; +$DIALstatusD = $row[4]; +$DIALstatusE = $row[5]; +$DIALorder = $row[6]; +$DIALfilter = $row[7]; +$HOPlev = $row[8]; +$DIALmethod = $row[9]; +$maxDIALlev = $row[10]; +$DROPmax = $row[11]; +$targetDIFF = $row[12]; +$ADAintense = $row[13]; +$ADAavailonly = $row[14]; +$TAPERtime = $row[15]; +$CALLtime = $row[16]; +$DIALtimeout = $row[17]; +$DIALstatuses = $row[18]; + $DIALstatuses = (preg_replace("/ -$|^ /","",$DIALstatuses)); + $DIALstatuses = (ereg_replace(' ',', ',$DIALstatuses)); + +$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$VDhop = $row[0]; + +$stmt="select dialable_leads,calls_today,drops_today,drops_answers_today_pct,differential_onemin,agents_average_onemin,balance_trunk_fill,answers_today,status_category_1,status_category_count_1,status_category_2,status_category_count_2,status_category_3,status_category_count_3,status_category_4,status_category_count_4 from vicidial_campaign_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$DAleads = $row[0]; +$callsTODAY = $row[1]; +$dropsTODAY = $row[2]; +$drpctTODAY = $row[3]; +$diffONEMIN = $row[4]; +$agentsONEMIN = $row[5]; +$balanceFILL = $row[6]; +$answersTODAY = $row[7]; +$VSCcat1 = $row[8]; +$VSCcat1tally = $row[9]; +$VSCcat2 = $row[10]; +$VSCcat2tally = $row[11]; +$VSCcat3 = $row[12]; +$VSCcat3tally = $row[13]; +$VSCcat4 = $row[14]; +$VSCcat4tally = $row[15]; + +if ( ($diffONEMIN != 0) and ($agentsONEMIN > 0) ) + { + $diffpctONEMIN = ( ($diffONEMIN / $agentsONEMIN) * 100); + $diffpctONEMIN = sprintf("%01.2f", $diffpctONEMIN); + } +else {$diffpctONEMIN = '0.00';} + +$stmt="select sum(local_trunk_shortage) from vicidial_campaign_server_stats where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$balanceSHORT = $row[0]; + +echo "
    "; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +if ($adastats>1) + { + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo "
    DIAL LEVEL:  $DIALlev    TRUNK SHORT/FILL:  $balanceSHORT / $balanceFILL     FILTER:  $DIALfilter   TIME:   $NOW_TIME
      MAX LEVEL:  $maxDIALlev   DROPPED MAX:  $DROPmax%    TARGET DIFF:  $targetDIFF     INTENSITY:  $ADAintense    
    DIAL TIMEOUT:  $DIALtimeout  TAPER TIME:  $TAPERtime  LOCAL TIME:  $CALLtime  AVAIL ONLY:  $ADAavailonly  
    DIALABLE LEADS:  $DAleads     CALLS TODAY:  $callsTODAY     AVG AGENTS:  $agentsONEMIN     DIAL METHOD:  $DIALmethod    
    HOPPER LEVEL:  $HOPlev     DROPPED / ANSWERED:  $dropsTODAY / $answersTODAY   DL DIFF:  $diffONEMIN     STATUSES:  $DIALstatuses    
    LEADS IN HOPPER:  $VDhop     DROPPED PERCENT:  "; +if ($drpctTODAY >= $DROPmax) + {echo "$drpctTODAY%";} +else + {echo "$drpctTODAY%";} +echo "    DIFF:  $diffpctONEMIN%     ORDER:  $DIALorder    
    "; +if ( (!eregi('NULL',$VSCcat1)) and (strlen($VSCcat1)>0) ) + {echo "$VSCcat1:   $VSCcat1tally       \n";} +if ( (!eregi('NULL',$VSCcat2)) and (strlen($VSCcat2)>0) ) + {echo "$VSCcat2:   $VSCcat2tally       \n";} +if ( (!eregi('NULL',$VSCcat3)) and (strlen($VSCcat3)>0) ) + {echo "$VSCcat3:   $VSCcat3tally       \n";} +if ( (!eregi('NULL',$VSCcat4)) and (strlen($VSCcat4)>0) ) + {echo "$VSCcat4:   $VSCcat4tally       \n";} +echo "
    "; + +### Header finish + + + + + +################################################################################ +### START calculating calls/agents +################################################################################ + +################################################################################ +###### OUTBOUND CALLS +################################################################################ +if ($campaign_allow_inbound > 0) + { + $stmt="select closer_campaigns from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = preg_replace("/^ | -$/","",$row[0]); + $closer_campaigns = preg_replace("/ /","','",$closer_campaigns); + $closer_campaigns = "'$closer_campaigns'"; + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') and ( (call_type='IN' and campaign_id IN($closer_campaigns)) or (campaign_id='" . mysql_real_escape_string($group) . "' and call_type='OUT') );"; + } +else + { + if ($group=='XXXX-ALL-ACTIVE-XXXX') {$groupSQL = '';} + else {$groupSQL = " and campaign_id='" . mysql_real_escape_string($group) . "'";} + + $stmt="select status from vicidial_auto_calls where status NOT IN('XFER') $groupSQL;"; + } +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$parked_to_print = mysql_num_rows($rslt); + if ($parked_to_print > 0) + { + $i=0; + $out_total=0; + $out_ring=0; + $out_live=0; + $in_ivr=0; + while ($i < $parked_to_print) + { + $row=mysql_fetch_row($rslt); + + if (eregi("LIVE",$row[0])) + {$out_live++;} + else + { + if (eregi("IVR",$row[0])) + {$in_ivr++;} + if (eregi("CLOSER",$row[0])) + {$nothing=1;} + else + {$out_ring++;} + } + $out_total++; + $i++; + } + + if ($out_live > 0) {$F=''; $FG='';} + if ($out_live > 4) {$F=''; $FG='';} + if ($out_live > 9) {$F=''; $FG='';} + if ($out_live > 14) {$F=''; $FG='';} + + if ($campaign_allow_inbound > 0) + {echo "$NFB$out_total$NFE current active calls      \n";} + else + {echo "$NFB$out_total$NFE calls being placed       \n";} + + echo "$NFB$out_ring$NFE calls ringing         \n"; + echo "$NFB$F  $out_live $FG$NFE calls waiting for agents       \n"; + echo "$NFB  $in_ivr$NFE calls in IVR       \n"; + } + else + { + echo " NO LIVE CALLS WAITING \n"; + } + + +################################################################################### +###### TIME ON SYSTEM +################################################################################### + +$agent_incall=0; +$agent_ready=0; +$agent_paused=0; +$agent_total=0; + +$stmt="select extension,user,conf_exten,status,server_ip,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish),call_server_ip,campaign_id from vicidial_live_agents where campaign_id='" . mysql_real_escape_string($group) . "';"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + $agentcount=0; + while ($i < $talking_to_print) + { + $row=mysql_fetch_row($rslt); + if (eregi("READY|PAUSED",$row[3])) + { + $row[5]=$row[6]; + } + $Lstatus = $row[3]; + $status = sprintf("%-6s", $row[3]); + if (!eregi("INCALL|QUEUE",$row[3])) + {$call_time_S = ($STARTtime - $row[6]);} + else + {$call_time_S = ($STARTtime - $row[5]);} + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + if (eregi("PAUSED",$row[3])) + { + if ($call_time_M_int >= 30) + {$i++; continue;} + else + { + $agent_paused++; $agent_total++; + } + } + + if ( (eregi("INCALL",$status)) or (eregi("QUEUE",$status)) ) {$agent_incall++; $agent_total++;} + if ( (eregi("READY",$status)) or (eregi("CLOSER",$status)) ) {$agent_ready++; $agent_total++;} + $agentcount++; + + + $i++; + } + + if ($agent_ready > 0) {$B=''; $BG='';} + if ($agent_ready > 4) {$B=''; $BG='';} + if ($agent_ready > 9) {$B=''; $BG='';} + if ($agent_ready > 14) {$B=''; $BG='';} + + echo "\n
    \n"; + + echo "$NFB$agent_total$NFE agents logged in         \n"; + echo "$NFB$agent_incall$NFE agents in calls       \n"; + echo "$NFB$B  $agent_ready $BG$NFE agents waiting       \n"; + echo "$NFB$agent_paused$NFE paused agents       \n"; + + echo "
    ";
    +		echo "";
    +	}
    +	else
    +	{
    +	echo " NO AGENTS ON CALLS
    \n"; + } + +################################################################################ +### END calculating calls/agents +################################################################################ + + + + + +echo "
    "; + +echo "\n\n"; +$k++; +} + +?> + +
    + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_timeonpark.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_timeonpark.php new file mode 100644 index 00000000..043108e9 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/AST_timeonpark.php @@ -0,0 +1,219 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 60620-1042 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];} + elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +$timeONEhoursAGO = ($STARTtime - 3600); +$epochHALFhoursAGO = ($STARTtime - 1860); +$timeONEhoursAGO = date("Y-m-d H:i:s",$timeONEhoursAGO); +$timeHALFhoursAGO = date("Y-m-d H:i:s",$epochHALFhoursAGO); + +$reset_counter++; + +if ($reset_counter > 7) + { + $reset_counter=0; + + $stmt="update park_log set status='HUNGUP' where hangup_time is not null;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + + if ($DB) + { + $stmt="delete from park_log where status='TALKING' and grab_time < '$timeONEhoursAGO' and (hangup_time is null or hangup_time='');"; + $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + + $stmt="delete from park_log where status='PARKED' and parked_time < '$timeHALFhoursAGO' and (hangup_time is null or hangup_time='');"; + $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + + } + } + +?> + + + + + +\n"; +echo"\n"; +echo "VICIDIAL: Time On Park\n"; +echo "
    \n\n";
    +
    +echo "VICIDIAL: Time On Park         $NOW_TIME    REPORTS\n\n";
    +echo "+------------+-----------------+---------------------+---------+\n";
    +echo "| CHANNEL    | GROUP           | START TIME          | MINUTES |\n";
    +echo "+------------+-----------------+---------------------+---------+\n";
    +
    +#$link=mysql_connect("localhost", "cron", "1234");
    +# $linkX=mysql_connect("localhost", "cron", "1234");
    +#mysql_select_db("asterisk");
    +
    +$stmt="select extension,user,channel,channel_group,parked_time,UNIX_TIMESTAMP(parked_time) from park_log where status ='PARKED' and server_ip='" . mysql_real_escape_string($server_ip) . "' order by uniqueid;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$parked_to_print = mysql_num_rows($rslt);
    +	if ($parked_to_print > 0)
    +	{
    +	$i=0;
    +	while ($i < $parked_to_print)
    +		{
    +		$row=mysql_fetch_row($rslt);
    +
    +		$channel =			sprintf("%-10s", $row[2]);
    +		$number_dialed =	sprintf("%-15s", $row[3]);
    +		$start_time =		sprintf("%-19s", $row[4]);
    +		$call_time_S = ($STARTtime - $row[5]);
    +
    +		$call_time_M = ($call_time_S / 60);
    +		$call_time_M = round($call_time_M, 2);
    +		$call_time_M_int = intval("$call_time_M");
    +		$call_time_SEC = ($call_time_M - $call_time_M_int);
    +		$call_time_SEC = ($call_time_SEC * 60);
    +		$call_time_SEC = round($call_time_SEC, 0);
    +		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
    +		$call_time_MS = "$call_time_M_int:$call_time_SEC";
    +		$call_time_MS =		sprintf("%7s", $call_time_MS);
    +		$G = '';		$EG = '';
    +		if ($call_time_M_int >= 1) {$G=''; $EG='';}
    +		if ($call_time_M_int >= 6) {$G=''; $EG='';}
    +
    +		echo "| $G$channel$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
    +
    +		$i++;
    +		}
    +
    +		echo "+------------+-----------------+---------------------+---------+\n";
    +		echo "  $i callers waiting on server $server_ip\n\n";
    +
    +		echo "             - 1 minute or more on hold\n";
    +		echo "             - Over 5 minutes on hold\n";
    +
    +		}
    +	else
    +	{
    +	echo "****************************************************************\n";
    +	echo "****************************************************************\n";
    +	echo "******************** NO LIVE CALLS WAITING *********************\n";
    +	echo "****************************************************************\n";
    +	echo "****************************************************************\n";
    +	}
    +
    +###################################################################################
    +###### TIME ON INBOUND CALLS
    +###################################################################################
    +echo "\n\n";
    +echo "----------------------------------------------------------------------------------------";
    +echo "\n\n";
    +echo "VICIDIAL: Agents Time On Inbound Calls                             $NOW_TIME\n\n";
    +echo "+------------|--------+------------+-----------------+---------------------+---------+\n";
    +echo "| STATION    | USER   | CHANNEL    | GROUP           | START TIME          | MINUTES |\n";
    +echo "+------------|--------+------------+-----------------+---------------------+---------+\n";
    +
    +
    +$stmt="select extension,user,channel,channel_group,grab_time,UNIX_TIMESTAMP(grab_time) from park_log where status ='TALKING' and server_ip='" . mysql_real_escape_string($server_ip) . "' order by uniqueid;";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$talking_to_print = mysql_num_rows($rslt);
    +	if ($talking_to_print > 0)
    +	{
    +	$i=0;
    +	while ($i < $talking_to_print)
    +		{
    +		$row=mysql_fetch_row($rslt);
    +
    +		$extension =		sprintf("%-10s", $row[0]);
    +		$user =				sprintf("%-6s", $row[1]);
    +		$channel =			sprintf("%-10s", $row[2]);
    +		$number_dialed =	sprintf("%-15s", $row[3]);
    +		$start_time =		sprintf("%-19s", $row[4]);
    +		$call_time_S = ($STARTtime - $row[5]);
    +
    +		$call_time_M = ($call_time_S / 60);
    +		$call_time_M = round($call_time_M, 2);
    +		$call_time_M_int = intval("$call_time_M");
    +		$call_time_SEC = ($call_time_M - $call_time_M_int);
    +		$call_time_SEC = ($call_time_SEC * 60);
    +		$call_time_SEC = round($call_time_SEC, 0);
    +		if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";}
    +		$call_time_MS = "$call_time_M_int:$call_time_SEC";
    +		$call_time_MS =		sprintf("%7s", $call_time_MS);
    +		$G = '';		$EG = '';
    +		if ($call_time_M_int >= 12) {$G=''; $EG='';}
    +		if ($call_time_M_int >= 31) {$G=''; $EG='';}
    +
    +		echo "| $G$extension$EG | $G$user$EG | $G$channel$EG | $G$number_dialed$EG | $G$start_time$EG | $G$call_time_MS$EG |\n";
    +
    +		$i++;
    +		}
    +
    +		echo "+------------|--------+------------+-----------------+---------------------+---------+\n";
    +		echo "  $i agents on calls on server $server_ip\n\n";
    +
    +		echo "             - 12 minutes or more on call\n";
    +		echo "             - Over 30 minutes on call\n";
    +
    +	}
    +	else
    +	{
    +	echo "**************************************************************************************\n";
    +	echo "**************************************************************************************\n";
    +	echo "********************************* NO AGENTS ON CALLS *********************************\n";
    +	echo "**************************************************************************************\n";
    +	echo "**************************************************************************************\n";
    +	}
    +
    +
    +?>
    +
    + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/admin.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/admin.php new file mode 100644 index 00000000..bd2e5dcd --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/admin.php @@ -0,0 +1,20243 @@ + LICENSE: AGPLv2 +# + +require("dbconnect.php"); + +###################################################################################################### +###################################################################################################### +####### static variable settings for display options +###################################################################################################### +###################################################################################################### + +$page_width='770'; +$section_width='750'; +$header_font_size='3'; +$subheader_font_size='2'; +$subcamp_font_size='2'; +$header_selected_bold=''; +$header_nonselected_bold=''; +$users_color = '#FFFF99'; +$campaigns_color = '#FFCC99'; +$lists_color = '#FFCCCC'; +$ingroups_color = '#CC99FF'; +$remoteagent_color ='#CCFFCC'; +$usergroups_color = '#CCFFFF'; +$scripts_color = '#99FFCC'; +$filters_color = '#CCCCCC'; +$admin_color = '#FF99FF'; +$reports_color = '#99FF33'; + $times_color = '#FF33FF'; + $shifts_color = '#FF33FF'; + $phones_color = '#FF33FF'; + $conference_color = '#FF33FF'; + $server_color = '#FF33FF'; + $templates_color = '#FF33FF'; + $carriers_color = '#FF33FF'; + $settings_color = '#FF33FF'; + $status_color = '#FF33FF'; +$subcamp_color = '#FF9933'; +$users_font = 'BLACK'; +$campaigns_font = 'BLACK'; +$lists_font = 'BLACK'; +$ingroups_font = 'BLACK'; +$remoteagent_font = 'BLACK'; +$usergroups_font = 'BLACK'; +$scripts_font = 'BLACK'; +$filters_font = 'BLACK'; +$admin_font = 'BLACK'; +$reports_font = 'BLACK'; + $times_font = 'BLACK'; + $phones_font = 'BLACK'; + $conference_font = 'BLACK'; + $server_font = 'BLACK'; + $settings_font = 'BLACK'; + $status_font = 'BLACK'; +$subcamp_font = 'BLACK'; + +### comment this section out for colorful section headings +$users_color = '#E6E6E6'; +$campaigns_color = '#E6E6E6'; +$lists_color = '#E6E6E6'; +$ingroups_color = '#E6E6E6'; +$remoteagent_color ='#E6E6E6'; +$usergroups_color = '#E6E6E6'; +$scripts_color = '#E6E6E6'; +$filters_color = '#E6E6E6'; +$admin_color = '#E6E6E6'; +$reports_color = '#E6E6E6'; + $times_color = '#C6C6C6'; + $shifts_color = '#C6C6C6'; + $phones_color = '#C6C6C6'; + $conference_color = '#C6C6C6'; + $server_color = '#C6C6C6'; + $templates_color = '#C6C6C6'; + $carriers_color = '#C6C6C6'; + $settings_color = '#C6C6C6'; + $status_color = '#C6C6C6'; +$subcamp_color = '#C6C6C6'; +### + + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; + +###################################################################################################### +###################################################################################################### +####### Form variable declaration +###################################################################################################### +###################################################################################################### + + +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["active"])) {$active=$_GET["active"];} + elseif (isset($_POST["active"])) {$active=$_POST["active"];} +if (isset($_GET["adaptive_dl_diff_target"])) {$adaptive_dl_diff_target=$_GET["adaptive_dl_diff_target"];} + elseif (isset($_POST["adaptive_dl_diff_target"])) {$adaptive_dl_diff_target=$_POST["adaptive_dl_diff_target"];} +if (isset($_GET["adaptive_dropped_percentage"])) {$adaptive_dropped_percentage=$_GET["adaptive_dropped_percentage"];} + elseif (isset($_POST["adaptive_dropped_percentage"])){$adaptive_dropped_percentage=$_POST["adaptive_dropped_percentage"];} +if (isset($_GET["adaptive_intensity"])) {$adaptive_intensity=$_GET["adaptive_intensity"];} + elseif (isset($_POST["adaptive_intensity"])) {$adaptive_intensity=$_POST["adaptive_intensity"];} +if (isset($_GET["adaptive_latest_server_time"])) {$adaptive_latest_server_time=$_GET["adaptive_latest_server_time"];} + elseif (isset($_POST["adaptive_latest_server_time"])){$adaptive_latest_server_time=$_POST["adaptive_latest_server_time"];} +if (isset($_GET["adaptive_maximum_level"])) {$adaptive_maximum_level=$_GET["adaptive_maximum_level"];} + elseif (isset($_POST["adaptive_maximum_level"])) {$adaptive_maximum_level=$_POST["adaptive_maximum_level"];} +if (isset($_GET["SUB"])) {$SUB=$_GET["SUB"];} + elseif (isset($_POST["SUB"])) {$SUB=$_POST["SUB"];} +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["admin_hangup_enabled"])) {$admin_hangup_enabled=$_GET["admin_hangup_enabled"];} + elseif (isset($_POST["admin_hangup_enabled"])) {$admin_hangup_enabled=$_POST["admin_hangup_enabled"];} +if (isset($_GET["admin_hijack_enabled"])) {$admin_hijack_enabled=$_GET["admin_hijack_enabled"];} + elseif (isset($_POST["admin_hijack_enabled"])) {$admin_hijack_enabled=$_POST["admin_hijack_enabled"];} +if (isset($_GET["admin_monitor_enabled"])) {$admin_monitor_enabled=$_GET["admin_monitor_enabled"];} + elseif (isset($_POST["admin_monitor_enabled"])) {$admin_monitor_enabled=$_POST["admin_monitor_enabled"];} +if (isset($_GET["AFLogging_enabled"])) {$AFLogging_enabled=$_GET["AFLogging_enabled"];} + elseif (isset($_POST["AFLogging_enabled"])) {$AFLogging_enabled=$_POST["AFLogging_enabled"];} +if (isset($_GET["agent_choose_ingroups"])) {$agent_choose_ingroups=$_GET["agent_choose_ingroups"];} + elseif (isset($_POST["agent_choose_ingroups"])) {$agent_choose_ingroups=$_POST["agent_choose_ingroups"];} +if (isset($_GET["agentcall_manual"])) {$agentcall_manual=$_GET["agentcall_manual"];} + elseif (isset($_POST["agentcall_manual"])) {$agentcall_manual=$_POST["agentcall_manual"];} +if (isset($_GET["agentonly_callbacks"])) {$agentonly_callbacks=$_GET["agentonly_callbacks"];} + elseif (isset($_POST["agentonly_callbacks"])) {$agentonly_callbacks=$_POST["agentonly_callbacks"];} +if (isset($_GET["AGI_call_logging_enabled"])) {$AGI_call_logging_enabled=$_GET["AGI_call_logging_enabled"];} + elseif (isset($_POST["AGI_call_logging_enabled"])) {$AGI_call_logging_enabled=$_POST["AGI_call_logging_enabled"];} +if (isset($_GET["agi_output"])) {$agi_output=$_GET["agi_output"];} + elseif (isset($_POST["agi_output"])) {$agi_output=$_POST["agi_output"];} +if (isset($_GET["allcalls_delay"])) {$allcalls_delay=$_GET["allcalls_delay"];} + elseif (isset($_POST["allcalls_delay"])) {$allcalls_delay=$_POST["allcalls_delay"];} +if (isset($_GET["allow_closers"])) {$allow_closers=$_GET["allow_closers"];} + elseif (isset($_POST["allow_closers"])) {$allow_closers=$_POST["allow_closers"];} +if (isset($_GET["alt_number_dialing"])) {$alt_number_dialing=$_GET["alt_number_dialing"];} + elseif (isset($_POST["alt_number_dialing"])) {$alt_number_dialing=$_POST["alt_number_dialing"];} +if (isset($_GET["alter_agent_interface_options"])) {$alter_agent_interface_options=$_GET["alter_agent_interface_options"];} + elseif (isset($_POST["alter_agent_interface_options"])) {$alter_agent_interface_options=$_POST["alter_agent_interface_options"];} +if (isset($_GET["am_message_exten"])) {$am_message_exten=$_GET["am_message_exten"];} + elseif (isset($_POST["am_message_exten"])) {$am_message_exten=$_POST["am_message_exten"];} +if (isset($_GET["amd_send_to_vmx"])) {$amd_send_to_vmx=$_GET["amd_send_to_vmx"];} + elseif (isset($_POST["amd_send_to_vmx"])) {$amd_send_to_vmx=$_POST["amd_send_to_vmx"];} +if (isset($_GET["answer_transfer_agent"])) {$answer_transfer_agent=$_GET["answer_transfer_agent"];} + elseif (isset($_POST["answer_transfer_agent"])) {$answer_transfer_agent=$_POST["answer_transfer_agent"];} +if (isset($_GET["ast_admin_access"])) {$ast_admin_access=$_GET["ast_admin_access"];} + elseif (isset($_POST["ast_admin_access"])) {$ast_admin_access=$_POST["ast_admin_access"];} +if (isset($_GET["ast_delete_phones"])) {$ast_delete_phones=$_GET["ast_delete_phones"];} + elseif (isset($_POST["ast_delete_phones"])) {$ast_delete_phones=$_POST["ast_delete_phones"];} +if (isset($_GET["asterisk_version"])) {$asterisk_version=$_GET["asterisk_version"];} + elseif (isset($_POST["asterisk_version"])) {$asterisk_version=$_POST["asterisk_version"];} +if (isset($_GET["ASTmgrSECRET"])) {$ASTmgrSECRET=$_GET["ASTmgrSECRET"];} + elseif (isset($_POST["ASTmgrSECRET"])) {$ASTmgrSECRET=$_POST["ASTmgrSECRET"];} +if (isset($_GET["ASTmgrUSERNAME"])) {$ASTmgrUSERNAME=$_GET["ASTmgrUSERNAME"];} + elseif (isset($_POST["ASTmgrUSERNAME"])) {$ASTmgrUSERNAME=$_POST["ASTmgrUSERNAME"];} +if (isset($_GET["ASTmgrUSERNAMElisten"])) {$ASTmgrUSERNAMElisten=$_GET["ASTmgrUSERNAMElisten"];} + elseif (isset($_POST["ASTmgrUSERNAMElisten"])) {$ASTmgrUSERNAMElisten=$_POST["ASTmgrUSERNAMElisten"];} +if (isset($_GET["ASTmgrUSERNAMEsend"])) {$ASTmgrUSERNAMEsend=$_GET["ASTmgrUSERNAMEsend"];} + elseif (isset($_POST["ASTmgrUSERNAMEsend"])) {$ASTmgrUSERNAMEsend=$_POST["ASTmgrUSERNAMEsend"];} +if (isset($_GET["ASTmgrUSERNAMEupdate"])) {$ASTmgrUSERNAMEupdate=$_GET["ASTmgrUSERNAMEupdate"];} + elseif (isset($_POST["ASTmgrUSERNAMEupdate"])) {$ASTmgrUSERNAMEupdate=$_POST["ASTmgrUSERNAMEupdate"];} +if (isset($_GET["attempt_delay"])) {$attempt_delay=$_GET["attempt_delay"];} + elseif (isset($_POST["attempt_delay"])) {$attempt_delay=$_POST["attempt_delay"];} +if (isset($_GET["attempt_maximum"])) {$attempt_maximum=$_GET["attempt_maximum"];} + elseif (isset($_POST["attempt_maximum"])) {$attempt_maximum=$_POST["attempt_maximum"];} +if (isset($_GET["auto_dial_level"])) {$auto_dial_level=$_GET["auto_dial_level"];} + elseif (isset($_POST["auto_dial_level"])) {$auto_dial_level=$_POST["auto_dial_level"];} +if (isset($_GET["auto_dial_next_number"])) {$auto_dial_next_number=$_GET["auto_dial_next_number"];} + elseif (isset($_POST["auto_dial_next_number"])) {$auto_dial_next_number=$_POST["auto_dial_next_number"];} +if (isset($_GET["available_only_ratio_tally"])) {$available_only_ratio_tally=$_GET["available_only_ratio_tally"];} + elseif (isset($_POST["available_only_ratio_tally"])){$available_only_ratio_tally=$_POST["available_only_ratio_tally"];} +if (isset($_GET["call_out_number_group"])) {$call_out_number_group=$_GET["call_out_number_group"];} + elseif (isset($_POST["call_out_number_group"])) {$call_out_number_group=$_POST["call_out_number_group"];} +if (isset($_GET["call_parking_enabled"])) {$call_parking_enabled=$_GET["call_parking_enabled"];} + elseif (isset($_POST["call_parking_enabled"])) {$call_parking_enabled=$_POST["call_parking_enabled"];} +if (isset($_GET["call_time_comments"])) {$call_time_comments=$_GET["call_time_comments"];} + elseif (isset($_POST["call_time_comments"])) {$call_time_comments=$_POST["call_time_comments"];} +if (isset($_GET["call_time_id"])) {$call_time_id=$_GET["call_time_id"];} + elseif (isset($_POST["call_time_id"])) {$call_time_id=$_POST["call_time_id"];} +if (isset($_GET["call_time_name"])) {$call_time_name=$_GET["call_time_name"];} + elseif (isset($_POST["call_time_name"])) {$call_time_name=$_POST["call_time_name"];} +if (isset($_GET["CallerID_popup_enabled"])) {$CallerID_popup_enabled=$_GET["CallerID_popup_enabled"];} + elseif (isset($_POST["CallerID_popup_enabled"])) {$CallerID_popup_enabled=$_POST["CallerID_popup_enabled"];} +if (isset($_GET["campaign_cid"])) {$campaign_cid=$_GET["campaign_cid"];} + elseif (isset($_POST["campaign_cid"])) {$campaign_cid=$_POST["campaign_cid"];} +if (isset($_GET["campaign_detail"])) {$campaign_detail=$_GET["campaign_detail"];} + elseif (isset($_POST["campaign_detail"])) {$campaign_detail=$_POST["campaign_detail"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["campaign_name"])) {$campaign_name=$_GET["campaign_name"];} + elseif (isset($_POST["campaign_name"])) {$campaign_name=$_POST["campaign_name"];} +if (isset($_GET["campaign_rec_exten"])) {$campaign_rec_exten=$_GET["campaign_rec_exten"];} + elseif (isset($_POST["campaign_rec_exten"])) {$campaign_rec_exten=$_POST["campaign_rec_exten"];} +if (isset($_GET["campaign_rec_filename"])) {$campaign_rec_filename=$_GET["campaign_rec_filename"];} + elseif (isset($_POST["campaign_rec_filename"])) {$campaign_rec_filename=$_POST["campaign_rec_filename"];} +if (isset($_GET["ingroup_rec_filename"])) {$ingroup_rec_filename=$_GET["ingroup_rec_filename"];} + elseif (isset($_POST["ingroup_rec_filename"])) {$ingroup_rec_filename=$_POST["ingroup_rec_filename"];} +if (isset($_GET["campaign_recording"])) {$campaign_recording=$_GET["campaign_recording"];} + elseif (isset($_POST["campaign_recording"])) {$campaign_recording=$_POST["campaign_recording"];} +if (isset($_GET["campaign_vdad_exten"])) {$campaign_vdad_exten=$_GET["campaign_vdad_exten"];} + elseif (isset($_POST["campaign_vdad_exten"])) {$campaign_vdad_exten=$_POST["campaign_vdad_exten"];} +if (isset($_GET["change_agent_campaign"])) {$change_agent_campaign=$_GET["change_agent_campaign"];} + elseif (isset($_POST["change_agent_campaign"])) {$change_agent_campaign=$_POST["change_agent_campaign"];} +if (isset($_GET["client_browser"])) {$client_browser=$_GET["client_browser"];} + elseif (isset($_POST["client_browser"])) {$client_browser=$_POST["client_browser"];} +if (isset($_GET["closer_default_blended"])) {$closer_default_blended=$_GET["closer_default_blended"];} + elseif (isset($_POST["closer_default_blended"])) {$closer_default_blended=$_POST["closer_default_blended"];} +if (isset($_GET["company"])) {$company=$_GET["company"];} + elseif (isset($_POST["company"])) {$company=$_POST["company"];} +if (isset($_GET["computer_ip"])) {$computer_ip=$_GET["computer_ip"];} + elseif (isset($_POST["computer_ip"])) {$computer_ip=$_POST["computer_ip"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["conf_on_extension"])) {$conf_on_extension=$_GET["conf_on_extension"];} + elseif (isset($_POST["conf_on_extension"])) {$conf_on_extension=$_POST["conf_on_extension"];} +if (isset($_GET["conferencing_enabled"])) {$conferencing_enabled=$_GET["conferencing_enabled"];} + elseif (isset($_POST["conferencing_enabled"])) {$conferencing_enabled=$_POST["conferencing_enabled"];} +if (isset($_GET["CoNfIrM"])) {$CoNfIrM=$_GET["CoNfIrM"];} + elseif (isset($_POST["CoNfIrM"])) {$CoNfIrM=$_POST["CoNfIrM"];} +if (isset($_GET["ct_default_start"])) {$ct_default_start=$_GET["ct_default_start"];} + elseif (isset($_POST["ct_default_start"])) {$ct_default_start=$_POST["ct_default_start"];} +if (isset($_GET["ct_default_stop"])) {$ct_default_stop=$_GET["ct_default_stop"];} + elseif (isset($_POST["ct_default_stop"])) {$ct_default_stop=$_POST["ct_default_stop"];} +if (isset($_GET["ct_friday_start"])) {$ct_friday_start=$_GET["ct_friday_start"];} + elseif (isset($_POST["ct_friday_start"])) {$ct_friday_start=$_POST["ct_friday_start"];} +if (isset($_GET["ct_friday_stop"])) {$ct_friday_stop=$_GET["ct_friday_stop"];} + elseif (isset($_POST["ct_friday_stop"])) {$ct_friday_stop=$_POST["ct_friday_stop"];} +if (isset($_GET["ct_monday_start"])) {$ct_monday_start=$_GET["ct_monday_start"];} + elseif (isset($_POST["ct_monday_start"])) {$ct_monday_start=$_POST["ct_monday_start"];} +if (isset($_GET["ct_monday_stop"])) {$ct_monday_stop=$_GET["ct_monday_stop"];} + elseif (isset($_POST["ct_monday_stop"])) {$ct_monday_stop=$_POST["ct_monday_stop"];} +if (isset($_GET["ct_saturday_start"])) {$ct_saturday_start=$_GET["ct_saturday_start"];} + elseif (isset($_POST["ct_saturday_start"])) {$ct_saturday_start=$_POST["ct_saturday_start"];} +if (isset($_GET["ct_saturday_stop"])) {$ct_saturday_stop=$_GET["ct_saturday_stop"];} + elseif (isset($_POST["ct_saturday_stop"])) {$ct_saturday_stop=$_POST["ct_saturday_stop"];} +if (isset($_GET["ct_sunday_start"])) {$ct_sunday_start=$_GET["ct_sunday_start"];} + elseif (isset($_POST["ct_sunday_start"])) {$ct_sunday_start=$_POST["ct_sunday_start"];} +if (isset($_GET["ct_sunday_stop"])) {$ct_sunday_stop=$_GET["ct_sunday_stop"];} + elseif (isset($_POST["ct_sunday_stop"])) {$ct_sunday_stop=$_POST["ct_sunday_stop"];} +if (isset($_GET["ct_thursday_start"])) {$ct_thursday_start=$_GET["ct_thursday_start"];} + elseif (isset($_POST["ct_thursday_start"])) {$ct_thursday_start=$_POST["ct_thursday_start"];} +if (isset($_GET["ct_thursday_stop"])) {$ct_thursday_stop=$_GET["ct_thursday_stop"];} + elseif (isset($_POST["ct_thursday_stop"])) {$ct_thursday_stop=$_POST["ct_thursday_stop"];} +if (isset($_GET["ct_tuesday_start"])) {$ct_tuesday_start=$_GET["ct_tuesday_start"];} + elseif (isset($_POST["ct_tuesday_start"])) {$ct_tuesday_start=$_POST["ct_tuesday_start"];} +if (isset($_GET["ct_tuesday_stop"])) {$ct_tuesday_stop=$_GET["ct_tuesday_stop"];} + elseif (isset($_POST["ct_tuesday_stop"])) {$ct_tuesday_stop=$_POST["ct_tuesday_stop"];} +if (isset($_GET["ct_wednesday_start"])) {$ct_wednesday_start=$_GET["ct_wednesday_start"];} + elseif (isset($_POST["ct_wednesday_start"])) {$ct_wednesday_start=$_POST["ct_wednesday_start"];} +if (isset($_GET["ct_wednesday_stop"])) {$ct_wednesday_stop=$_GET["ct_wednesday_stop"];} + elseif (isset($_POST["ct_wednesday_stop"])) {$ct_wednesday_stop=$_POST["ct_wednesday_stop"];} +if (isset($_GET["DBX_database"])) {$DBX_database=$_GET["DBX_database"];} + elseif (isset($_POST["DBX_database"])) {$DBX_database=$_POST["DBX_database"];} +if (isset($_GET["DBX_pass"])) {$DBX_pass=$_GET["DBX_pass"];} + elseif (isset($_POST["DBX_pass"])) {$DBX_pass=$_POST["DBX_pass"];} +if (isset($_GET["DBX_port"])) {$DBX_port=$_GET["DBX_port"];} + elseif (isset($_POST["DBX_port"])) {$DBX_port=$_POST["DBX_port"];} +if (isset($_GET["DBX_server"])) {$DBX_server=$_GET["DBX_server"];} + elseif (isset($_POST["DBX_server"])) {$DBX_server=$_POST["DBX_server"];} +if (isset($_GET["DBX_user"])) {$DBX_user=$_GET["DBX_user"];} + elseif (isset($_POST["DBX_user"])) {$DBX_user=$_POST["DBX_user"];} +if (isset($_GET["DBY_database"])) {$DBY_database=$_GET["DBY_database"];} + elseif (isset($_POST["DBY_database"])) {$DBY_database=$_POST["DBY_database"];} +if (isset($_GET["DBY_pass"])) {$DBY_pass=$_GET["DBY_pass"];} + elseif (isset($_POST["DBY_pass"])) {$DBY_pass=$_POST["DBY_pass"];} +if (isset($_GET["DBY_port"])) {$DBY_port=$_GET["DBY_port"];} + elseif (isset($_POST["DBY_port"])) {$DBY_port=$_POST["DBY_port"];} +if (isset($_GET["DBY_server"])) {$DBY_server=$_GET["DBY_server"];} + elseif (isset($_POST["DBY_server"])) {$DBY_server=$_POST["DBY_server"];} +if (isset($_GET["DBY_user"])) {$DBY_user=$_GET["DBY_user"];} + elseif (isset($_POST["DBY_user"])) {$DBY_user=$_POST["DBY_user"];} +if (isset($_GET["delete_call_times"])) {$delete_call_times=$_GET["delete_call_times"];} + elseif (isset($_POST["delete_call_times"])) {$delete_call_times=$_POST["delete_call_times"];} +if (isset($_GET["delete_campaigns"])) {$delete_campaigns=$_GET["delete_campaigns"];} + elseif (isset($_POST["delete_campaigns"])) {$delete_campaigns=$_POST["delete_campaigns"];} +if (isset($_GET["delete_filters"])) {$delete_filters=$_GET["delete_filters"];} + elseif (isset($_POST["delete_filters"])) {$delete_filters=$_POST["delete_filters"];} +if (isset($_GET["delete_ingroups"])) {$delete_ingroups=$_GET["delete_ingroups"];} + elseif (isset($_POST["delete_ingroups"])) {$delete_ingroups=$_POST["delete_ingroups"];} +if (isset($_GET["delete_lists"])) {$delete_lists=$_GET["delete_lists"];} + elseif (isset($_POST["delete_lists"])) {$delete_lists=$_POST["delete_lists"];} +if (isset($_GET["delete_remote_agents"])) {$delete_remote_agents=$_GET["delete_remote_agents"];} + elseif (isset($_POST["delete_remote_agents"])) {$delete_remote_agents=$_POST["delete_remote_agents"];} +if (isset($_GET["delete_scripts"])) {$delete_scripts=$_GET["delete_scripts"];} + elseif (isset($_POST["delete_scripts"])) {$delete_scripts=$_POST["delete_scripts"];} +if (isset($_GET["delete_user_groups"])) {$delete_user_groups=$_GET["delete_user_groups"];} + elseif (isset($_POST["delete_user_groups"])) {$delete_user_groups=$_POST["delete_user_groups"];} +if (isset($_GET["delete_users"])) {$delete_users=$_GET["delete_users"];} + elseif (isset($_POST["delete_users"])) {$delete_users=$_POST["delete_users"];} +if (isset($_GET["dial_method"])) {$dial_method=$_GET["dial_method"];} + elseif (isset($_POST["dial_method"])) {$dial_method=$_POST["dial_method"];} +if (isset($_GET["dial_prefix"])) {$dial_prefix=$_GET["dial_prefix"];} + elseif (isset($_POST["dial_prefix"])) {$dial_prefix=$_POST["dial_prefix"];} +if (isset($_GET["dial_status_a"])) {$dial_status_a=$_GET["dial_status_a"];} + elseif (isset($_POST["dial_status_a"])) {$dial_status_a=$_POST["dial_status_a"];} +if (isset($_GET["dial_status_b"])) {$dial_status_b=$_GET["dial_status_b"];} + elseif (isset($_POST["dial_status_b"])) {$dial_status_b=$_POST["dial_status_b"];} +if (isset($_GET["dial_status_c"])) {$dial_status_c=$_GET["dial_status_c"];} + elseif (isset($_POST["dial_status_c"])) {$dial_status_c=$_POST["dial_status_c"];} +if (isset($_GET["dial_status_d"])) {$dial_status_d=$_GET["dial_status_d"];} + elseif (isset($_POST["dial_status_d"])) {$dial_status_d=$_POST["dial_status_d"];} +if (isset($_GET["dial_status_e"])) {$dial_status_e=$_GET["dial_status_e"];} + elseif (isset($_POST["dial_status_e"])) {$dial_status_e=$_POST["dial_status_e"];} +if (isset($_GET["dial_timeout"])) {$dial_timeout=$_GET["dial_timeout"];} + elseif (isset($_POST["dial_timeout"])) {$dial_timeout=$_POST["dial_timeout"];} +if (isset($_GET["dialplan_number"])) {$dialplan_number=$_GET["dialplan_number"];} + elseif (isset($_POST["dialplan_number"])) {$dialplan_number=$_POST["dialplan_number"];} +if (isset($_GET["drop_call_seconds"])) {$drop_call_seconds=$_GET["drop_call_seconds"];} + elseif (isset($_POST["drop_call_seconds"])) {$drop_call_seconds=$_POST["drop_call_seconds"];} +if (isset($_GET["drop_exten"])) {$drop_exten=$_GET["drop_exten"];} + elseif (isset($_POST["drop_exten"])) {$drop_exten=$_POST["drop_exten"];} +if (isset($_GET["drop_action"])) {$drop_action=$_GET["drop_action"];} + elseif (isset($_POST["drop_action"])) {$drop_action=$_POST["drop_action"];} +if (isset($_GET["dtmf_send_extension"])) {$dtmf_send_extension=$_GET["dtmf_send_extension"];} + elseif (isset($_POST["dtmf_send_extension"])) {$dtmf_send_extension=$_POST["dtmf_send_extension"];} +if (isset($_GET["enable_fast_refresh"])) {$enable_fast_refresh=$_GET["enable_fast_refresh"];} + elseif (isset($_POST["enable_fast_refresh"])) {$enable_fast_refresh=$_POST["enable_fast_refresh"];} +if (isset($_GET["enable_persistant_mysql"])) {$enable_persistant_mysql=$_GET["enable_persistant_mysql"];} + elseif (isset($_POST["enable_persistant_mysql"])) {$enable_persistant_mysql=$_POST["enable_persistant_mysql"];} +if (isset($_GET["ext_context"])) {$ext_context=$_GET["ext_context"];} + elseif (isset($_POST["ext_context"])) {$ext_context=$_POST["ext_context"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["fast_refresh_rate"])) {$fast_refresh_rate=$_GET["fast_refresh_rate"];} + elseif (isset($_POST["fast_refresh_rate"])) {$fast_refresh_rate=$_POST["fast_refresh_rate"];} +if (isset($_GET["force_logout"])) {$force_logout=$_GET["force_logout"];} + elseif (isset($_POST["force_logout"])) {$force_logout=$_POST["force_logout"];} +if (isset($_GET["fronter_display"])) {$fronter_display=$_GET["fronter_display"];} + elseif (isset($_POST["fronter_display"])) {$fronter_display=$_POST["fronter_display"];} +if (isset($_GET["full_name"])) {$full_name=$_GET["full_name"];} + elseif (isset($_POST["full_name"])) {$full_name=$_POST["full_name"];} +if (isset($_GET["fullname"])) {$fullname=$_GET["fullname"];} + elseif (isset($_POST["fullname"])) {$fullname=$_POST["fullname"];} +if (isset($_GET["get_call_launch"])) {$get_call_launch=$_GET["get_call_launch"];} + elseif (isset($_POST["get_call_launch"])) {$get_call_launch=$_POST["get_call_launch"];} +if (isset($_GET["group_color"])) {$group_color=$_GET["group_color"];} + elseif (isset($_POST["group_color"])) {$group_color=$_POST["group_color"];} +if (isset($_GET["group_id"])) {$group_id=$_GET["group_id"];} + elseif (isset($_POST["group_id"])) {$group_id=$_POST["group_id"];} +if (isset($_GET["group_name"])) {$group_name=$_GET["group_name"];} + elseif (isset($_POST["group_name"])) {$group_name=$_POST["group_name"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["XFERgroups"])) {$XFERgroups=$_GET["XFERgroups"];} + elseif (isset($_POST["XFERgroups"])) {$XFERgroups=$_POST["XFERgroups"];} +if (isset($_GET["HKstatus"])) {$HKstatus=$_GET["HKstatus"];} + elseif (isset($_POST["HKstatus"])) {$HKstatus=$_POST["HKstatus"];} +if (isset($_GET["hopper_level"])) {$hopper_level=$_GET["hopper_level"];} + elseif (isset($_POST["hopper_level"])) {$hopper_level=$_POST["hopper_level"];} +if (isset($_GET["hotkey"])) {$hotkey=$_GET["hotkey"];} + elseif (isset($_POST["hotkey"])) {$hotkey=$_POST["hotkey"];} +if (isset($_GET["hotkeys_active"])) {$hotkeys_active=$_GET["hotkeys_active"];} + elseif (isset($_POST["hotkeys_active"])) {$hotkeys_active=$_POST["hotkeys_active"];} +if (isset($_GET["install_directory"])) {$install_directory=$_GET["install_directory"];} + elseif (isset($_POST["install_directory"])) {$install_directory=$_POST["install_directory"];} +if (isset($_GET["lead_filter_comments"])) {$lead_filter_comments=$_GET["lead_filter_comments"];} + elseif (isset($_POST["lead_filter_comments"])) {$lead_filter_comments=$_POST["lead_filter_comments"];} +if (isset($_GET["lead_filter_id"])) {$lead_filter_id=$_GET["lead_filter_id"];} + elseif (isset($_POST["lead_filter_id"])) {$lead_filter_id=$_POST["lead_filter_id"];} +if (isset($_GET["lead_filter_name"])) {$lead_filter_name=$_GET["lead_filter_name"];} + elseif (isset($_POST["lead_filter_name"])) {$lead_filter_name=$_POST["lead_filter_name"];} +if (isset($_GET["lead_filter_sql"])) {$lead_filter_sql=$_GET["lead_filter_sql"];} + elseif (isset($_POST["lead_filter_sql"])) {$lead_filter_sql=$_POST["lead_filter_sql"];} +if (isset($_GET["lead_order"])) {$lead_order=$_GET["lead_order"];} + elseif (isset($_POST["lead_order"])) {$lead_order=$_POST["lead_order"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["list_name"])) {$list_name=$_GET["list_name"];} + elseif (isset($_POST["list_name"])) {$list_name=$_POST["list_name"];} +if (isset($_GET["load_leads"])) {$load_leads=$_GET["load_leads"];} + elseif (isset($_POST["load_leads"])) {$load_leads=$_POST["load_leads"];} +if (isset($_GET["local_call_time"])) {$local_call_time=$_GET["local_call_time"];} + elseif (isset($_POST["local_call_time"])) {$local_call_time=$_POST["local_call_time"];} +if (isset($_GET["local_gmt"])) {$local_gmt=$_GET["local_gmt"];} + elseif (isset($_POST["local_gmt"])) {$local_gmt=$_POST["local_gmt"];} +if (isset($_GET["local_web_callerID_URL"])) {$local_web_callerID_URL=$_GET["local_web_callerID_URL"];} + elseif (isset($_POST["local_web_callerID_URL"])) {$local_web_callerID_URL=$_POST["local_web_callerID_URL"];} +if (isset($_GET["login"])) {$login=$_GET["login"];} + elseif (isset($_POST["login"])) {$login=$_POST["login"];} +if (isset($_GET["login_campaign"])) {$login_campaign=$_GET["login_campaign"];} + elseif (isset($_POST["login_campaign"])) {$login_campaign=$_POST["login_campaign"];} +if (isset($_GET["login_pass"])) {$login_pass=$_GET["login_pass"];} + elseif (isset($_POST["login_pass"])) {$login_pass=$_POST["login_pass"];} +if (isset($_GET["login_user"])) {$login_user=$_GET["login_user"];} + elseif (isset($_POST["login_user"])) {$login_user=$_POST["login_user"];} +if (isset($_GET["max_vicidial_trunks"])) {$max_vicidial_trunks=$_GET["max_vicidial_trunks"];} + elseif (isset($_POST["max_vicidial_trunks"])) {$max_vicidial_trunks=$_POST["max_vicidial_trunks"];} +if (isset($_GET["modify_call_times"])) {$modify_call_times=$_GET["modify_call_times"];} + elseif (isset($_POST["modify_call_times"])) {$modify_call_times=$_POST["modify_call_times"];} +if (isset($_GET["modify_leads"])) {$modify_leads=$_GET["modify_leads"];} + elseif (isset($_POST["modify_leads"])) {$modify_leads=$_POST["modify_leads"];} +if (isset($_GET["monitor_prefix"])) {$monitor_prefix=$_GET["monitor_prefix"];} + elseif (isset($_POST["monitor_prefix"])) {$monitor_prefix=$_POST["monitor_prefix"];} +if (isset($_GET["next_agent_call"])) {$next_agent_call=$_GET["next_agent_call"];} + elseif (isset($_POST["next_agent_call"])) {$next_agent_call=$_POST["next_agent_call"];} +if (isset($_GET["number_of_lines"])) {$number_of_lines=$_GET["number_of_lines"];} + elseif (isset($_POST["number_of_lines"])) {$number_of_lines=$_POST["number_of_lines"];} +if (isset($_GET["old_campaign_id"])) {$old_campaign_id=$_GET["old_campaign_id"];} + elseif (isset($_POST["old_campaign_id"])) {$old_campaign_id=$_POST["old_campaign_id"];} +if (isset($_GET["old_conf_exten"])) {$old_conf_exten=$_GET["old_conf_exten"];} + elseif (isset($_POST["old_conf_exten"])) {$old_conf_exten=$_POST["old_conf_exten"];} +if (isset($_GET["old_extension"])) {$old_extension=$_GET["old_extension"];} + elseif (isset($_POST["old_extension"])) {$old_extension=$_POST["old_extension"];} +if (isset($_GET["old_server_id"])) {$old_server_id=$_GET["old_server_id"];} + elseif (isset($_POST["old_server_id"])) {$old_server_id=$_POST["old_server_id"];} +if (isset($_GET["old_server_ip"])) {$old_server_ip=$_GET["old_server_ip"];} + elseif (isset($_POST["old_server_ip"])) {$old_server_ip=$_POST["old_server_ip"];} +if (isset($_GET["OLDuser_group"])) {$OLDuser_group=$_GET["OLDuser_group"];} + elseif (isset($_POST["OLDuser_group"])) {$OLDuser_group=$_POST["OLDuser_group"];} +if (isset($_GET["omit_phone_code"])) {$omit_phone_code=$_GET["omit_phone_code"];} + elseif (isset($_POST["omit_phone_code"])) {$omit_phone_code=$_POST["omit_phone_code"];} +if (isset($_GET["outbound_cid"])) {$outbound_cid=$_GET["outbound_cid"];} + elseif (isset($_POST["outbound_cid"])) {$outbound_cid=$_POST["outbound_cid"];} +if (isset($_GET["park_ext"])) {$park_ext=$_GET["park_ext"];} + elseif (isset($_POST["park_ext"])) {$park_ext=$_POST["park_ext"];} +if (isset($_GET["park_file_name"])) {$park_file_name=$_GET["park_file_name"];} + elseif (isset($_POST["park_file_name"])) {$park_file_name=$_POST["park_file_name"];} +if (isset($_GET["park_on_extension"])) {$park_on_extension=$_GET["park_on_extension"];} + elseif (isset($_POST["park_on_extension"])) {$park_on_extension=$_POST["park_on_extension"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_ip"])) {$phone_ip=$_GET["phone_ip"];} + elseif (isset($_POST["phone_ip"])) {$phone_ip=$_POST["phone_ip"];} +if (isset($_GET["phone_login"])) {$phone_login=$_GET["phone_login"];} + elseif (isset($_POST["phone_login"])) {$phone_login=$_POST["phone_login"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["phone_pass"])) {$phone_pass=$_GET["phone_pass"];} + elseif (isset($_POST["phone_pass"])) {$phone_pass=$_POST["phone_pass"];} +if (isset($_GET["phone_type"])) {$phone_type=$_GET["phone_type"];} + elseif (isset($_POST["phone_type"])) {$phone_type=$_POST["phone_type"];} +if (isset($_GET["picture"])) {$picture=$_GET["picture"];} + elseif (isset($_POST["picture"])) {$picture=$_POST["picture"];} +if (isset($_GET["protocol"])) {$protocol=$_GET["protocol"];} + elseif (isset($_POST["protocol"])) {$protocol=$_POST["protocol"];} +if (isset($_GET["QUEUE_ACTION_enabled"])) {$QUEUE_ACTION_enabled=$_GET["QUEUE_ACTION_enabled"];} + elseif (isset($_POST["QUEUE_ACTION_enabled"])) {$QUEUE_ACTION_enabled=$_POST["QUEUE_ACTION_enabled"];} +if (isset($_GET["recording_exten"])) {$recording_exten=$_GET["recording_exten"];} + elseif (isset($_POST["recording_exten"])) {$recording_exten=$_POST["recording_exten"];} +if (isset($_GET["remote_agent_id"])) {$remote_agent_id=$_GET["remote_agent_id"];} + elseif (isset($_POST["remote_agent_id"])) {$remote_agent_id=$_POST["remote_agent_id"];} +if (isset($_GET["reset_hopper"])) {$reset_hopper=$_GET["reset_hopper"];} + elseif (isset($_POST["reset_hopper"])) {$reset_hopper=$_POST["reset_hopper"];} +if (isset($_GET["reset_list"])) {$reset_list=$_GET["reset_list"];} + elseif (isset($_POST["reset_list"])) {$reset_list=$_POST["reset_list"];} +if (isset($_GET["safe_harbor_exten"])) {$safe_harbor_exten=$_GET["safe_harbor_exten"];} + elseif (isset($_POST["safe_harbor_exten"])) {$safe_harbor_exten=$_POST["safe_harbor_exten"];} +if (isset($_GET["drop_action"])) {$drop_action=$_GET["drop_action"];} + elseif (isset($_POST["drop_action"])) {$drop_action=$_POST["drop_action"];} +if (isset($_GET["scheduled_callbacks"])) {$scheduled_callbacks=$_GET["scheduled_callbacks"];} + elseif (isset($_POST["scheduled_callbacks"])) {$scheduled_callbacks=$_POST["scheduled_callbacks"];} +if (isset($_GET["script_comments"])) {$script_comments=$_GET["script_comments"];} + elseif (isset($_POST["script_comments"])) {$script_comments=$_POST["script_comments"];} +if (isset($_GET["script_id"])) {$script_id=$_GET["script_id"];} + elseif (isset($_POST["script_id"])) {$script_id=$_POST["script_id"];} +if (isset($_GET["script_name"])) {$script_name=$_GET["script_name"];} + elseif (isset($_POST["script_name"])) {$script_name=$_POST["script_name"];} +if (isset($_GET["script_text"])) {$script_text=$_GET["script_text"];} + elseif (isset($_POST["script_text"])) {$script_text=$_POST["script_text"];} +if (isset($_GET["selectable"])) {$selectable=$_GET["selectable"];} + elseif (isset($_POST["selectable"])) {$selectable=$_POST["selectable"];} +if (isset($_GET["server_description"])) {$server_description=$_GET["server_description"];} + elseif (isset($_POST["server_description"])) {$server_description=$_POST["server_description"];} +if (isset($_GET["server_id"])) {$server_id=$_GET["server_id"];} + elseif (isset($_POST["server_id"])) {$server_id=$_POST["server_id"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["state_call_time_state"])) {$state_call_time_state=$_GET["state_call_time_state"];} + elseif (isset($_POST["state_call_time_state"])) {$state_call_time_state=$_POST["state_call_time_state"];} +if (isset($_GET["state_rule"])) {$state_rule=$_GET["state_rule"];} + elseif (isset($_POST["state_rule"])) {$state_rule=$_POST["state_rule"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["status_name"])) {$status_name=$_GET["status_name"];} + elseif (isset($_POST["status_name"])) {$status_name=$_POST["status_name"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["sys_perf_log"])) {$sys_perf_log=$_GET["sys_perf_log"];} + elseif (isset($_POST["sys_perf_log"])) {$sys_perf_log=$_POST["sys_perf_log"];} +if (isset($_GET["telnet_host"])) {$telnet_host=$_GET["telnet_host"];} + elseif (isset($_POST["telnet_host"])) {$telnet_host=$_POST["telnet_host"];} +if (isset($_GET["telnet_port"])) {$telnet_port=$_GET["telnet_port"];} + elseif (isset($_POST["telnet_port"])) {$telnet_port=$_POST["telnet_port"];} +if (isset($_GET["updater_check_enabled"])) {$updater_check_enabled=$_GET["updater_check_enabled"];} + elseif (isset($_POST["updater_check_enabled"])) {$updater_check_enabled=$_POST["updater_check_enabled"];} +if (isset($_GET["use_internal_dnc"])) {$use_internal_dnc=$_GET["use_internal_dnc"];} + elseif (isset($_POST["use_internal_dnc"])) {$use_internal_dnc=$_POST["use_internal_dnc"];} +if (isset($_GET["use_campaign_dnc"])) {$use_campaign_dnc=$_GET["use_campaign_dnc"];} + elseif (isset($_POST["use_campaign_dnc"])) {$use_campaign_dnc=$_POST["use_campaign_dnc"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} +if (isset($_GET["user_level"])) {$user_level=$_GET["user_level"];} + elseif (isset($_POST["user_level"])) {$user_level=$_POST["user_level"];} +if (isset($_GET["user_start"])) {$user_start=$_GET["user_start"];} + elseif (isset($_POST["user_start"])) {$user_start=$_POST["user_start"];} +if (isset($_GET["user_switching_enabled"])) {$user_switching_enabled=$_GET["user_switching_enabled"];} + elseif (isset($_POST["user_switching_enabled"])) {$user_switching_enabled=$_POST["user_switching_enabled"];} +if (isset($_GET["vd_server_logs"])) {$vd_server_logs=$_GET["vd_server_logs"];} + elseif (isset($_POST["vd_server_logs"])) {$vd_server_logs=$_POST["vd_server_logs"];} +if (isset($_GET["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_GET["VDstop_rec_after_each_call"];} + elseif (isset($_POST["VDstop_rec_after_each_call"])) {$VDstop_rec_after_each_call=$_POST["VDstop_rec_after_each_call"];} +if (isset($_GET["VICIDIAL_park_on_extension"])) {$VICIDIAL_park_on_extension=$_GET["VICIDIAL_park_on_extension"];} + elseif (isset($_POST["VICIDIAL_park_on_extension"])) {$VICIDIAL_park_on_extension=$_POST["VICIDIAL_park_on_extension"];} +if (isset($_GET["VICIDIAL_park_on_filename"])) {$VICIDIAL_park_on_filename=$_GET["VICIDIAL_park_on_filename"];} + elseif (isset($_POST["VICIDIAL_park_on_filename"])) {$VICIDIAL_park_on_filename=$_POST["VICIDIAL_park_on_filename"];} +if (isset($_GET["vicidial_recording"])) {$vicidial_recording=$_GET["vicidial_recording"];} + elseif (isset($_POST["vicidial_recording"])) {$vicidial_recording=$_POST["vicidial_recording"];} +if (isset($_GET["vicidial_transfers"])) {$vicidial_transfers=$_GET["vicidial_transfers"];} + elseif (isset($_POST["vicidial_transfers"])) {$vicidial_transfers=$_POST["vicidial_transfers"];} +if (isset($_GET["VICIDIAL_web_URL"])) {$VICIDIAL_web_URL=$_GET["VICIDIAL_web_URL"];} + elseif (isset($_POST["VICIDIAL_web_URL"])) {$VICIDIAL_web_URL=$_POST["VICIDIAL_web_URL"];} +if (isset($_GET["voicemail_button_enabled"])) {$voicemail_button_enabled=$_GET["voicemail_button_enabled"];} + elseif (isset($_POST["voicemail_button_enabled"])) {$voicemail_button_enabled=$_POST["voicemail_button_enabled"];} +if (isset($_GET["voicemail_dump_exten"])) {$voicemail_dump_exten=$_GET["voicemail_dump_exten"];} + elseif (isset($_POST["voicemail_dump_exten"])) {$voicemail_dump_exten=$_POST["voicemail_dump_exten"];} +if (isset($_GET["voicemail_ext"])) {$voicemail_ext=$_GET["voicemail_ext"];} + elseif (isset($_POST["voicemail_ext"])) {$voicemail_ext=$_POST["voicemail_ext"];} +if (isset($_GET["voicemail_exten"])) {$voicemail_exten=$_GET["voicemail_exten"];} + elseif (isset($_POST["voicemail_exten"])) {$voicemail_exten=$_POST["voicemail_exten"];} +if (isset($_GET["voicemail_id"])) {$voicemail_id=$_GET["voicemail_id"];} + elseif (isset($_POST["voicemail_id"])) {$voicemail_id=$_POST["voicemail_id"];} +if (isset($_GET["web_form_address"])) {$web_form_address=$_GET["web_form_address"];} + elseif (isset($_POST["web_form_address"])) {$web_form_address=$_POST["web_form_address"];} +if (isset($_GET["wrapup_message"])) {$wrapup_message=$_GET["wrapup_message"];} + elseif (isset($_POST["wrapup_message"])) {$wrapup_message=$_POST["wrapup_message"];} +if (isset($_GET["wrapup_seconds"])) {$wrapup_seconds=$_GET["wrapup_seconds"];} + elseif (isset($_POST["wrapup_seconds"])) {$wrapup_seconds=$_POST["wrapup_seconds"];} +if (isset($_GET["xferconf_a_dtmf"])) {$xferconf_a_dtmf=$_GET["xferconf_a_dtmf"];} + elseif (isset($_POST["xferconf_a_dtmf"])) {$xferconf_a_dtmf=$_POST["xferconf_a_dtmf"];} +if (isset($_GET["xferconf_a_number"])) {$xferconf_a_number=$_GET["xferconf_a_number"];} + elseif (isset($_POST["xferconf_a_number"])) {$xferconf_a_number=$_POST["xferconf_a_number"];} +if (isset($_GET["xferconf_b_dtmf"])) {$xferconf_b_dtmf=$_GET["xferconf_b_dtmf"];} + elseif (isset($_POST["xferconf_b_dtmf"])) {$xferconf_b_dtmf=$_POST["xferconf_b_dtmf"];} +if (isset($_GET["xferconf_b_number"])) {$xferconf_b_number=$_GET["xferconf_b_number"];} + elseif (isset($_POST["xferconf_b_number"])) {$xferconf_b_number=$_POST["xferconf_b_number"];} +if (isset($_GET["vicidial_balance_active"])) {$vicidial_balance_active=$_GET["vicidial_balance_active"];} + elseif (isset($_POST["vicidial_balance_active"])) {$vicidial_balance_active=$_POST["vicidial_balance_active"];} +if (isset($_GET["balance_trunks_offlimits"])) {$balance_trunks_offlimits=$_GET["balance_trunks_offlimits"];} + elseif (isset($_POST["balance_trunks_offlimits"])) {$balance_trunks_offlimits=$_POST["balance_trunks_offlimits"];} +if (isset($_GET["dedicated_trunks"])) {$dedicated_trunks=$_GET["dedicated_trunks"];} + elseif (isset($_POST["dedicated_trunks"])) {$dedicated_trunks=$_POST["dedicated_trunks"];} +if (isset($_GET["trunk_restriction"])) {$trunk_restriction=$_GET["trunk_restriction"];} + elseif (isset($_POST["trunk_restriction"])) {$trunk_restriction=$_POST["trunk_restriction"];} +if (isset($_GET["campaigns"])) {$campaigns=$_GET["campaigns"];} + elseif (isset($_POST["campaigns"])) {$campaigns=$_POST["campaigns"];} +if (isset($_GET["dial_level_override"])) {$dial_level_override=$_GET["dial_level_override"];} + elseif (isset($_POST["dial_level_override"])) {$dial_level_override=$_POST["dial_level_override"];} +if (isset($_GET["concurrent_transfers"])) {$concurrent_transfers=$_GET["concurrent_transfers"];} + elseif (isset($_POST["concurrent_transfers"])) {$concurrent_transfers=$_POST["concurrent_transfers"];} +if (isset($_GET["auto_alt_dial"])) {$auto_alt_dial=$_GET["auto_alt_dial"];} + elseif (isset($_POST["auto_alt_dial"])) {$auto_alt_dial=$_POST["auto_alt_dial"];} +if (isset($_GET["modify_users"])) {$modify_users=$_GET["modify_users"];} + elseif (isset($_POST["modify_users"])) {$modify_users=$_POST["modify_users"];} +if (isset($_GET["modify_campaigns"])) {$modify_campaigns=$_GET["modify_campaigns"];} + elseif (isset($_POST["modify_campaigns"])) {$modify_campaigns=$_POST["modify_campaigns"];} +if (isset($_GET["modify_lists"])) {$modify_lists=$_GET["modify_lists"];} + elseif (isset($_POST["modify_lists"])) {$modify_lists=$_POST["modify_lists"];} +if (isset($_GET["modify_scripts"])) {$modify_scripts=$_GET["modify_scripts"];} + elseif (isset($_POST["modify_scripts"])) {$modify_scripts=$_POST["modify_scripts"];} +if (isset($_GET["modify_filters"])) {$modify_filters=$_GET["modify_filters"];} + elseif (isset($_POST["modify_filters"])) {$modify_filters=$_POST["modify_filters"];} +if (isset($_GET["modify_ingroups"])) {$modify_ingroups=$_GET["modify_ingroups"];} + elseif (isset($_POST["modify_ingroups"])) {$modify_ingroups=$_POST["modify_ingroups"];} +if (isset($_GET["modify_usergroups"])) {$modify_usergroups=$_GET["modify_usergroups"];} + elseif (isset($_POST["modify_usergroups"])) {$modify_usergroups=$_POST["modify_usergroups"];} +if (isset($_GET["modify_remoteagents"])) {$modify_remoteagents=$_GET["modify_remoteagents"];} + elseif (isset($_POST["modify_remoteagents"])) {$modify_remoteagents=$_POST["modify_remoteagents"];} +if (isset($_GET["modify_servers"])) {$modify_servers=$_GET["modify_servers"];} + elseif (isset($_POST["modify_servers"])) {$modify_servers=$_POST["modify_servers"];} +if (isset($_GET["view_reports"])) {$view_reports=$_GET["view_reports"];} + elseif (isset($_POST["view_reports"])) {$view_reports=$_POST["view_reports"];} +if (isset($_GET["agent_pause_codes_active"])) {$agent_pause_codes_active=$_GET["agent_pause_codes_active"];} + elseif (isset($_POST["agent_pause_codes_active"])) {$agent_pause_codes_active=$_POST["agent_pause_codes_active"];} +if (isset($_GET["pause_code"])) {$pause_code=$_GET["pause_code"];} + elseif (isset($_POST["pause_code"])) {$pause_code=$_POST["pause_code"];} +if (isset($_GET["pause_code_name"])) {$pause_code_name=$_GET["pause_code_name"];} + elseif (isset($_POST["pause_code_name"])) {$pause_code_name=$_POST["pause_code_name"];} +if (isset($_GET["billable"])) {$billable=$_GET["billable"];} + elseif (isset($_POST["billable"])) {$billable=$_POST["billable"];} +if (isset($_GET["campaign_description"])) {$campaign_description=$_GET["campaign_description"];} + elseif (isset($_POST["campaign_description"])) {$campaign_description=$_POST["campaign_description"];} +if (isset($_GET["campaign_stats_refresh"])) {$campaign_stats_refresh=$_GET["campaign_stats_refresh"];} + elseif (isset($_POST["campaign_stats_refresh"])){$campaign_stats_refresh=$_POST["campaign_stats_refresh"];} +if (isset($_GET["list_description"])) {$list_description=$_GET["list_description"];} + elseif (isset($_POST["list_description"])) {$list_description=$_POST["list_description"];} +if (isset($_GET["vicidial_recording_override"])) {$vicidial_recording_override=$_GET["vicidial_recording_override"];} + elseif (isset($_POST["vicidial_recording_override"])) {$vicidial_recording_override=$_POST["vicidial_recording_override"];} +if (isset($_GET["use_non_latin"])) {$use_non_latin=$_GET["use_non_latin"];} + elseif (isset($_POST["use_non_latin"])) {$use_non_latin=$_POST["use_non_latin"];} +if (isset($_GET["webroot_writable"])) {$webroot_writable=$_GET["webroot_writable"];} + elseif (isset($_POST["webroot_writable"])) {$webroot_writable=$_POST["webroot_writable"];} +if (isset($_GET["enable_queuemetrics_logging"])) {$enable_queuemetrics_logging=$_GET["enable_queuemetrics_logging"];} + elseif (isset($_POST["enable_queuemetrics_logging"])) {$enable_queuemetrics_logging=$_POST["enable_queuemetrics_logging"];} +if (isset($_GET["queuemetrics_server_ip"])) {$queuemetrics_server_ip=$_GET["queuemetrics_server_ip"];} + elseif (isset($_POST["queuemetrics_server_ip"])) {$queuemetrics_server_ip=$_POST["queuemetrics_server_ip"];} +if (isset($_GET["queuemetrics_dbname"])) {$queuemetrics_dbname=$_GET["queuemetrics_dbname"];} + elseif (isset($_POST["queuemetrics_dbname"])) {$queuemetrics_dbname=$_POST["queuemetrics_dbname"];} +if (isset($_GET["queuemetrics_login"])) {$queuemetrics_login=$_GET["queuemetrics_login"];} + elseif (isset($_POST["queuemetrics_login"])) {$queuemetrics_login=$_POST["queuemetrics_login"];} +if (isset($_GET["queuemetrics_pass"])) {$queuemetrics_pass=$_GET["queuemetrics_pass"];} + elseif (isset($_POST["queuemetrics_pass"])) {$queuemetrics_pass=$_POST["queuemetrics_pass"];} +if (isset($_GET["queuemetrics_url"])) {$queuemetrics_url=$_GET["queuemetrics_url"];} + elseif (isset($_POST["queuemetrics_url"])) {$queuemetrics_url=$_POST["queuemetrics_url"];} +if (isset($_GET["queuemetrics_log_id"])) {$queuemetrics_log_id=$_GET["queuemetrics_log_id"];} + elseif (isset($_POST["queuemetrics_log_id"])) {$queuemetrics_log_id=$_POST["queuemetrics_log_id"];} +if (isset($_GET["dial_status"])) {$dial_status=$_GET["dial_status"];} + elseif (isset($_POST["dial_status"])) {$dial_status=$_POST["dial_status"];} +if (isset($_GET["queuemetrics_eq_prepend"])) {$queuemetrics_eq_prepend=$_GET["queuemetrics_eq_prepend"];} + elseif (isset($_POST["queuemetrics_eq_prepend"])) {$queuemetrics_eq_prepend=$_POST["queuemetrics_eq_prepend"];} +if (isset($_GET["vicidial_agent_disable"])) {$vicidial_agent_disable=$_GET["vicidial_agent_disable"];} + elseif (isset($_POST["vicidial_agent_disable"])) {$vicidial_agent_disable=$_POST["vicidial_agent_disable"];} +if (isset($_GET["disable_alter_custdata"])) {$disable_alter_custdata=$_GET["disable_alter_custdata"];} + elseif (isset($_POST["disable_alter_custdata"])) {$disable_alter_custdata=$_POST["disable_alter_custdata"];} +if (isset($_GET["alter_custdata_override"])) {$alter_custdata_override=$_GET["alter_custdata_override"];} + elseif (isset($_POST["alter_custdata_override"])) {$alter_custdata_override=$_POST["alter_custdata_override"];} +if (isset($_GET["no_hopper_leads_logins"])) {$no_hopper_leads_logins=$_GET["no_hopper_leads_logins"];} + elseif (isset($_POST["no_hopper_leads_logins"])) {$no_hopper_leads_logins=$_POST["no_hopper_leads_logins"];} +if (isset($_GET["enable_sipsak_messages"])) {$enable_sipsak_messages=$_GET["enable_sipsak_messages"];} + elseif (isset($_POST["enable_sipsak_messages"])) {$enable_sipsak_messages=$_POST["enable_sipsak_messages"];} +if (isset($_GET["allow_sipsak_messages"])) {$allow_sipsak_messages=$_GET["allow_sipsak_messages"];} + elseif (isset($_POST["allow_sipsak_messages"])) {$allow_sipsak_messages=$_POST["allow_sipsak_messages"];} +if (isset($_GET["admin_home_url"])) {$admin_home_url=$_GET["admin_home_url"];} + elseif (isset($_POST["admin_home_url"])) {$admin_home_url=$_POST["admin_home_url"];} +if (isset($_GET["list_order_mix"])) {$list_order_mix=$_GET["list_order_mix"];} + elseif (isset($_POST["list_order_mix"])) {$list_order_mix=$_POST["list_order_mix"];} +if (isset($_GET["vcl_id"])) {$vcl_id=$_GET["vcl_id"];} + elseif (isset($_POST["vcl_id"])) {$vcl_id=$_POST["vcl_id"];} +if (isset($_GET["vcl_name"])) {$vcl_name=$_GET["vcl_name"];} + elseif (isset($_POST["vcl_name"])) {$vcl_name=$_POST["vcl_name"];} +if (isset($_GET["list_mix_container"])) {$list_mix_container=$_GET["list_mix_container"];} + elseif (isset($_POST["list_mix_container"])) {$list_mix_container=$_POST["list_mix_container"];} +if (isset($_GET["mix_method"])) {$mix_method=$_GET["mix_method"];} + elseif (isset($_POST["mix_method"])) {$mix_method=$_POST["mix_method"];} +if (isset($_GET["human_answered"])) {$human_answered=$_GET["human_answered"];} + elseif (isset($_POST["human_answered"])) {$human_answered=$_POST["human_answered"];} +if (isset($_GET["category"])) {$category=$_GET["category"];} + elseif (isset($_POST["category"])) {$category=$_POST["category"];} +if (isset($_GET["vsc_id"])) {$vsc_id=$_GET["vsc_id"];} + elseif (isset($_POST["vsc_id"])) {$vsc_id=$_POST["vsc_id"];} +if (isset($_GET["vsc_name"])) {$vsc_name=$_GET["vsc_name"];} + elseif (isset($_POST["vsc_name"])) {$vsc_name=$_POST["vsc_name"];} +if (isset($_GET["vsc_description"])) {$vsc_description=$_GET["vsc_description"];} + elseif (isset($_POST["vsc_description"])) {$vsc_description=$_POST["vsc_description"];} +if (isset($_GET["tovdad_display"])) {$tovdad_display=$_GET["tovdad_display"];} + elseif (isset($_POST["tovdad_display"])) {$tovdad_display=$_POST["tovdad_display"];} +if (isset($_GET["mix_container_item"])) {$mix_container_item=$_GET["mix_container_item"];} + elseif (isset($_POST["mix_container_item"])) {$mix_container_item=$_POST["mix_container_item"];} +if (isset($_GET["enable_agc_xfer_log"])) {$enable_agc_xfer_log=$_GET["enable_agc_xfer_log"];} + elseif (isset($_POST["enable_agc_xfer_log"])) {$enable_agc_xfer_log=$_POST["enable_agc_xfer_log"];} +if (isset($_GET["after_hours_action"])) {$after_hours_action=$_GET["after_hours_action"];} + elseif (isset($_POST["after_hours_action"])) {$after_hours_action=$_POST["after_hours_action"];} +if (isset($_GET["after_hours_message_filename"])) {$after_hours_message_filename=$_GET["after_hours_message_filename"];} + elseif (isset($_POST["after_hours_message_filename"])) {$after_hours_message_filename=$_POST["after_hours_message_filename"];} +if (isset($_GET["after_hours_exten"])) {$after_hours_exten=$_GET["after_hours_exten"];} + elseif (isset($_POST["after_hours_exten"])) {$after_hours_exten=$_POST["after_hours_exten"];} +if (isset($_GET["after_hours_voicemail"])) {$after_hours_voicemail=$_GET["after_hours_voicemail"];} + elseif (isset($_POST["after_hours_voicemail"])) {$after_hours_voicemail=$_POST["after_hours_voicemail"];} +if (isset($_GET["welcome_message_filename"])) {$welcome_message_filename=$_GET["welcome_message_filename"];} + elseif (isset($_POST["welcome_message_filename"])) {$welcome_message_filename=$_POST["welcome_message_filename"];} +if (isset($_GET["moh_context"])) {$moh_context=$_GET["moh_context"];} + elseif (isset($_POST["moh_context"])) {$moh_context=$_POST["moh_context"];} +if (isset($_GET["onhold_prompt_filename"])) {$onhold_prompt_filename=$_GET["onhold_prompt_filename"];} + elseif (isset($_POST["onhold_prompt_filename"])) {$onhold_prompt_filename=$_POST["onhold_prompt_filename"];} +if (isset($_GET["prompt_interval"])) {$prompt_interval=$_GET["prompt_interval"];} + elseif (isset($_POST["prompt_interval"])) {$prompt_interval=$_POST["prompt_interval"];} +if (isset($_GET["agent_alert_exten"])) {$agent_alert_exten=$_GET["agent_alert_exten"];} + elseif (isset($_POST["agent_alert_exten"])) {$agent_alert_exten=$_POST["agent_alert_exten"];} +if (isset($_GET["agent_alert_delay"])) {$agent_alert_delay=$_GET["agent_alert_delay"];} + elseif (isset($_POST["agent_alert_delay"])) {$agent_alert_delay=$_POST["agent_alert_delay"];} +if (isset($_GET["group_rank"])) {$group_rank=$_GET["group_rank"];} + elseif (isset($_POST["group_rank"])) {$group_rank=$_POST["group_rank"];} +if (isset($_GET["campaign_allow_inbound"])) {$campaign_allow_inbound=$_GET["campaign_allow_inbound"];} + elseif (isset($_POST["campaign_allow_inbound"])) {$campaign_allow_inbound=$_POST["campaign_allow_inbound"];} +if (isset($_GET["manual_dial_list_id"])) {$manual_dial_list_id=$_GET["manual_dial_list_id"];} + elseif (isset($_POST["manual_dial_list_id"])) {$manual_dial_list_id=$_POST["manual_dial_list_id"];} +if (isset($_GET["campaign_rank"])) {$campaign_rank=$_GET["campaign_rank"];} + elseif (isset($_POST["campaign_rank"])) {$campaign_rank=$_POST["campaign_rank"];} +if (isset($_GET["source_campaign_id"])) {$source_campaign_id=$_GET["source_campaign_id"];} + elseif (isset($_POST["source_campaign_id"])) {$source_campaign_id=$_POST["source_campaign_id"];} +if (isset($_GET["source_user_id"])) {$source_user_id=$_GET["source_user_id"];} + elseif (isset($_POST["source_user_id"])) {$source_user_id=$_POST["source_user_id"];} +if (isset($_GET["source_group_id"])) {$source_group_id=$_GET["source_group_id"];} + elseif (isset($_POST["source_group_id"])) {$source_group_id=$_POST["source_group_id"];} +if (isset($_GET["default_xfer_group"])) {$default_xfer_group=$_GET["default_xfer_group"];} + elseif (isset($_POST["default_xfer_group"])) {$default_xfer_group=$_POST["default_xfer_group"];} +if (isset($_GET["qc_enabled"])) {$qc_enabled=$_GET["qc_enabled"];} + elseif (isset($_POST["qc_enabled"])) {$qc_enabled=$_POST["qc_enabled"];} +if (isset($_GET["qc_user_level"])) {$qc_user_level=$_GET["qc_user_level"];} + elseif (isset($_POST["qc_user_level"])) {$qc_user_level=$_POST["qc_user_level"];} +if (isset($_GET["qc_pass"])) {$qc_pass=$_GET["qc_pass"];} + elseif (isset($_POST["qc_pass"])) {$qc_pass=$_POST["qc_pass"];} +if (isset($_GET["qc_finish"])) {$qc_finish=$_GET["qc_finish"];} + elseif (isset($_POST["qc_finish"])) {$qc_finish=$_POST["qc_finish"];} +if (isset($_GET["qc_commit"])) {$qc_commit=$_GET["qc_commit"];} + elseif (isset($_POST["qc_commit"])) {$qc_commit=$_POST["qc_commit"];} +if (isset($_GET["qc_campaigns"])) {$qc_campaigns=$_GET["qc_campaigns"];} + elseif (isset($_POST["qc_campaigns"])) {$qc_campaigns=$_POST["qc_campaigns"];} +if (isset($_GET["qc_groups"])) {$qc_groups=$_GET["qc_groups"];} + elseif (isset($_POST["qc_groups"])) {$qc_groups=$_POST["qc_groups"];} +if (isset($_GET["queue_priority"])) {$queue_priority=$_GET["queue_priority"];} + elseif (isset($_POST["queue_priority"])) {$queue_priority=$_POST["queue_priority"];} +if (isset($_GET["drop_inbound_group"])) {$drop_inbound_group=$_GET["drop_inbound_group"];} + elseif (isset($_POST["drop_inbound_group"])) {$drop_inbound_group=$_POST["drop_inbound_group"];} +if (isset($_GET["qc_statuses"])) {$qc_statuses=$_GET["qc_statuses"];} + elseif (isset($_POST["qc_statuses"])) {$qc_statuses=$_POST["qc_statuses"];} +if (isset($_GET["qc_lists"])) {$qc_lists=$_GET["qc_lists"];} + elseif (isset($_POST["qc_lists"])) {$qc_lists=$_POST["qc_lists"];} +if (isset($_GET["qc_get_record_launch"])) {$qc_get_record_launch=$_GET["qc_get_record_launch"];} + elseif (isset($_POST["qc_get_record_launch"])) {$qc_get_record_launch=$_POST["qc_get_record_launch"];} +if (isset($_GET["qc_show_recording"])) {$qc_show_recording=$_GET["qc_show_recording"];} + elseif (isset($_POST["qc_show_recording"])) {$qc_show_recording=$_POST["qc_show_recording"];} +if (isset($_GET["qc_shift_id"])) {$qc_shift_id=$_GET["qc_shift_id"];} + elseif (isset($_POST["qc_shift_id"])) {$qc_shift_id=$_POST["qc_shift_id"];} +if (isset($_GET["qc_web_form_address"])) {$qc_web_form_address=$_GET["qc_web_form_address"];} + elseif (isset($_POST["qc_web_form_address"])) {$qc_web_form_address=$_POST["qc_web_form_address"];} +if (isset($_GET["qc_script"])) {$qc_script=$_GET["qc_script"];} + elseif (isset($_POST["qc_script"])) {$qc_script=$_POST["qc_script"];} +if (isset($_GET["ingroup_recording_override"])) {$ingroup_recording_override=$_GET["ingroup_recording_override"];} + elseif (isset($_POST["ingroup_recording_override"])) {$ingroup_recording_override=$_POST["ingroup_recording_override"];} +if (isset($_GET["code"])) {$code=$_GET["code"];} + elseif (isset($_POST["code"])) {$code=$_POST["code"];} +if (isset($_GET["code_name"])) {$code_name=$_GET["code_name"];} + elseif (isset($_POST["code_name"])) {$code_name=$_POST["code_name"];} +if (isset($_GET["afterhours_xfer_group"])) {$afterhours_xfer_group=$_GET["afterhours_xfer_group"];} + elseif (isset($_POST["afterhours_xfer_group"])) {$afterhours_xfer_group=$_POST["afterhours_xfer_group"];} +if (isset($_GET["alias_id"])) {$alias_id=$_GET["alias_id"];} + elseif (isset($_POST["alias_id"])) {$alias_id=$_POST["alias_id"];} +if (isset($_GET["alias_name"])) {$alias_name=$_GET["alias_name"];} + elseif (isset($_POST["alias_name"])) {$alias_name=$_POST["alias_name"];} +if (isset($_GET["logins_list"])) {$logins_list=$_GET["logins_list"];} + elseif (isset($_POST["logins_list"])) {$logins_list=$_POST["logins_list"];} +if (isset($_GET["shift_id"])) {$shift_id=$_GET["shift_id"];} + elseif (isset($_POST["shift_id"])) {$shift_id=$_POST["shift_id"];} +if (isset($_GET["shift_name"])) {$shift_name=$_GET["shift_name"];} + elseif (isset($_POST["shift_name"])) {$shift_name=$_POST["shift_name"];} +if (isset($_GET["shift_start_time"])) {$shift_start_time=$_GET["shift_start_time"];} + elseif (isset($_POST["shift_start_time"])) {$shift_start_time=$_POST["shift_start_time"];} +if (isset($_GET["shift_length"])) {$shift_length=$_GET["shift_length"];} + elseif (isset($_POST["shift_length"])) {$shift_length=$_POST["shift_length"];} +if (isset($_GET["shift_weekdays"])) {$shift_weekdays=$_GET["shift_weekdays"];} + elseif (isset($_POST["shift_weekdays"])) {$shift_weekdays=$_POST["shift_weekdays"];} +if (isset($_GET["group_shifts"])) {$group_shifts=$_GET["group_shifts"];} + elseif (isset($_POST["group_shifts"])) {$group_shifts=$_POST["group_shifts"];} +if (isset($_GET["timeclock_end_of_day"])) {$timeclock_end_of_day=$_GET["timeclock_end_of_day"];} + elseif (isset($_POST["timeclock_end_of_day"])) {$timeclock_end_of_day=$_POST["timeclock_end_of_day"];} +if (isset($_GET["survey_first_audio_file"])) {$survey_first_audio_file=$_GET["survey_first_audio_file"];} + elseif (isset($_POST["survey_first_audio_file"])) {$survey_first_audio_file=$_POST["survey_first_audio_file"];} +if (isset($_GET["survey_dtmf_digits"])) {$survey_dtmf_digits=$_GET["survey_dtmf_digits"];} + elseif (isset($_POST["survey_dtmf_digits"])) {$survey_dtmf_digits=$_POST["survey_dtmf_digits"];} +if (isset($_GET["survey_ni_digit"])) {$survey_ni_digit=$_GET["survey_ni_digit"];} + elseif (isset($_POST["survey_ni_digit"])) {$survey_ni_digit=$_POST["survey_ni_digit"];} +if (isset($_GET["survey_opt_in_audio_file"])) {$survey_opt_in_audio_file=$_GET["survey_opt_in_audio_file"];} + elseif (isset($_POST["survey_opt_in_audio_file"])) {$survey_opt_in_audio_file=$_POST["survey_opt_in_audio_file"];} +if (isset($_GET["survey_ni_audio_file"])) {$survey_ni_audio_file=$_GET["survey_ni_audio_file"];} + elseif (isset($_POST["survey_ni_audio_file"])) {$survey_ni_audio_file=$_POST["survey_ni_audio_file"];} +if (isset($_GET["survey_method"])) {$survey_method=$_GET["survey_method"];} + elseif (isset($_POST["survey_method"])) {$survey_method=$_POST["survey_method"];} +if (isset($_GET["survey_no_response_action"])) {$survey_no_response_action=$_GET["survey_no_response_action"];} + elseif (isset($_POST["survey_no_response_action"])) {$survey_no_response_action=$_POST["survey_no_response_action"];} +if (isset($_GET["survey_ni_status"])) {$survey_ni_status=$_GET["survey_ni_status"];} + elseif (isset($_POST["survey_ni_status"])) {$survey_ni_status=$_POST["survey_ni_status"];} +if (isset($_GET["survey_response_digit_map"])) {$survey_response_digit_map=$_GET["survey_response_digit_map"];} + elseif (isset($_POST["survey_response_digit_map"])) {$survey_response_digit_map=$_POST["survey_response_digit_map"];} +if (isset($_GET["survey_xfer_exten"])) {$survey_xfer_exten=$_GET["survey_xfer_exten"];} + elseif (isset($_POST["survey_xfer_exten"])) {$survey_xfer_exten=$_POST["survey_xfer_exten"];} +if (isset($_GET["survey_camp_record_dir"])) {$survey_camp_record_dir=$_GET["survey_camp_record_dir"];} + elseif (isset($_POST["survey_camp_record_dir"])) {$survey_camp_record_dir=$_POST["survey_camp_record_dir"];} +if (isset($_GET["add_timeclock_log"])) {$add_timeclock_log=$_GET["add_timeclock_log"];} + elseif (isset($_POST["add_timeclock_log"])) {$add_timeclock_log=$_POST["add_timeclock_log"];} +if (isset($_GET["modify_timeclock_log"])) {$modify_timeclock_log=$_GET["modify_timeclock_log"];} + elseif (isset($_POST["modify_timeclock_log"])) {$modify_timeclock_log=$_POST["modify_timeclock_log"];} +if (isset($_GET["delete_timeclock_log"])) {$delete_timeclock_log=$_GET["delete_timeclock_log"];} + elseif (isset($_POST["delete_timeclock_log"])) {$delete_timeclock_log=$_POST["delete_timeclock_log"];} +if (isset($_GET["phone_numbers"])) {$phone_numbers=$_GET["phone_numbers"];} + elseif (isset($_POST["phone_numbers"])) {$phone_numbers=$_POST["phone_numbers"];} +if (isset($_GET["vdc_header_date_format"])) {$vdc_header_date_format=$_GET["vdc_header_date_format"];} + elseif (isset($_POST["vdc_header_date_format"])) {$vdc_header_date_format=$_POST["vdc_header_date_format"];} +if (isset($_GET["vdc_customer_date_format"])) {$vdc_customer_date_format=$_GET["vdc_customer_date_format"];} + elseif (isset($_POST["vdc_customer_date_format"])) {$vdc_customer_date_format=$_POST["vdc_customer_date_format"];} +if (isset($_GET["vdc_header_phone_format"])) {$vdc_header_phone_format=$_GET["vdc_header_phone_format"];} + elseif (isset($_POST["vdc_header_phone_format"])) {$vdc_header_phone_format=$_POST["vdc_header_phone_format"];} +if (isset($_GET["disable_alter_custphone"])) {$disable_alter_custphone=$_GET["disable_alter_custphone"];} + elseif (isset($_POST["disable_alter_custphone"])) {$disable_alter_custphone=$_POST["disable_alter_custphone"];} +if (isset($_GET["alter_custphone_override"])) {$alter_custphone_override=$_GET["alter_custphone_override"];} + elseif (isset($_POST["alter_custphone_override"])) {$alter_custphone_override=$_POST["alter_custphone_override"];} +if (isset($_GET["vdc_agent_api_access"])) {$vdc_agent_api_access=$_GET["vdc_agent_api_access"];} + elseif (isset($_POST["vdc_agent_api_access"])) {$vdc_agent_api_access=$_POST["vdc_agent_api_access"];} +if (isset($_GET["vdc_agent_api_active"])) {$vdc_agent_api_active=$_GET["vdc_agent_api_active"];} + elseif (isset($_POST["vdc_agent_api_active"])) {$vdc_agent_api_active=$_POST["vdc_agent_api_active"];} +if (isset($_GET["display_queue_count"])) {$display_queue_count=$_GET["display_queue_count"];} + elseif (isset($_POST["display_queue_count"])) {$display_queue_count=$_POST["display_queue_count"];} +if (isset($_GET["sale_category"])) {$sale_category=$_GET["sale_category"];} + elseif (isset($_POST["sale_category"])) {$sale_category=$_POST["sale_category"];} +if (isset($_GET["dead_lead_category"])) {$dead_lead_category=$_GET["dead_lead_category"];} + elseif (isset($_POST["dead_lead_category"])) {$dead_lead_category=$_POST["dead_lead_category"];} +if (isset($_GET["manual_dial_filter"])) {$manual_dial_filter=$_GET["manual_dial_filter"];} + elseif (isset($_POST["manual_dial_filter"])) {$manual_dial_filter=$_POST["manual_dial_filter"];} +if (isset($_GET["agent_clipboard_copy"])) {$agent_clipboard_copy=$_GET["agent_clipboard_copy"];} + elseif (isset($_POST["agent_clipboard_copy"])) {$agent_clipboard_copy=$_POST["agent_clipboard_copy"];} +if (isset($_GET["agent_extended_alt_dial"])) {$agent_extended_alt_dial=$_GET["agent_extended_alt_dial"];} + elseif (isset($_POST["agent_extended_alt_dial"])) {$agent_extended_alt_dial=$_POST["agent_extended_alt_dial"];} +if (isset($_GET["play_place_in_line"])) {$play_place_in_line=$_GET["play_place_in_line"];} + elseif (isset($_POST["play_place_in_line"])) {$play_place_in_line=$_POST["play_place_in_line"];} +if (isset($_GET["play_estimate_hold_time"])) {$play_estimate_hold_time=$_GET["play_estimate_hold_time"];} + elseif (isset($_POST["play_estimate_hold_time"])) {$play_estimate_hold_time=$_POST["play_estimate_hold_time"];} +if (isset($_GET["hold_time_option"])) {$hold_time_option=$_GET["hold_time_option"];} + elseif (isset($_POST["hold_time_option"])) {$hold_time_option=$_POST["hold_time_option"];} +if (isset($_GET["hold_time_option_seconds"])) {$hold_time_option_seconds=$_GET["hold_time_option_seconds"];} + elseif (isset($_POST["hold_time_option_seconds"])) {$hold_time_option_seconds=$_POST["hold_time_option_seconds"];} +if (isset($_GET["hold_time_option_exten"])) {$hold_time_option_exten=$_GET["hold_time_option_exten"];} + elseif (isset($_POST["hold_time_option_exten"])) {$hold_time_option_exten=$_POST["hold_time_option_exten"];} +if (isset($_GET["hold_time_option_voicemail"])) {$hold_time_option_voicemail=$_GET["hold_time_option_voicemail"];} + elseif (isset($_POST["hold_time_option_voicemail"])) {$hold_time_option_voicemail=$_POST["hold_time_option_voicemail"];} +if (isset($_GET["hold_time_option_xfer_group"])) {$hold_time_option_xfer_group=$_GET["hold_time_option_xfer_group"];} + elseif (isset($_POST["hold_time_option_xfer_group"])) {$hold_time_option_xfer_group=$_POST["hold_time_option_xfer_group"];} +if (isset($_GET["hold_time_option_callback_filename"])) {$hold_time_option_callback_filename=$_GET["hold_time_option_callback_filename"];} + elseif (isset($_POST["hold_time_option_callback_filename"])) {$hold_time_option_callback_filename=$_POST["hold_time_option_callback_filename"];} +if (isset($_GET["hold_time_option_callback_list_id"])) {$hold_time_option_callback_list_id=$_GET["hold_time_option_callback_list_id"];} + elseif (isset($_POST["hold_time_option_callback_list_id"])) {$hold_time_option_callback_list_id=$_POST["hold_time_option_callback_list_id"];} +if (isset($_GET["hold_recall_xfer_group"])) {$hold_recall_xfer_group=$_GET["hold_recall_xfer_group"];} + elseif (isset($_POST["hold_recall_xfer_group"])) {$hold_recall_xfer_group=$_POST["hold_recall_xfer_group"];} +if (isset($_GET["no_delay_call_route"])) {$no_delay_call_route=$_GET["no_delay_call_route"];} + elseif (isset($_POST["no_delay_call_route"])) {$no_delay_call_route=$_POST["no_delay_call_route"];} +if (isset($_GET["play_welcome_message"])) {$play_welcome_message=$_GET["play_welcome_message"];} + elseif (isset($_POST["play_welcome_message"])) {$play_welcome_message=$_POST["play_welcome_message"];} +if (isset($_GET["did_id"])) {$did_id=$_GET["did_id"];} + elseif (isset($_POST["did_id"])) {$did_id=$_POST["did_id"];} +if (isset($_GET["source_did"])) {$source_did=$_GET["source_did"];} + elseif (isset($_POST["source_did"])) {$source_did=$_POST["source_did"];} +if (isset($_GET["did_pattern"])) {$did_pattern=$_GET["did_pattern"];} + elseif (isset($_POST["did_pattern"])) {$did_pattern=$_POST["did_pattern"];} +if (isset($_GET["did_description"])) {$did_description=$_GET["did_description"];} + elseif (isset($_POST["did_description"])) {$did_description=$_POST["did_description"];} +if (isset($_GET["did_active"])) {$did_active=$_GET["did_active"];} + elseif (isset($_POST["did_active"])) {$did_active=$_POST["did_active"];} +if (isset($_GET["did_route"])) {$did_route=$_GET["did_route"];} + elseif (isset($_POST["did_route"])) {$did_route=$_POST["did_route"];} +if (isset($_GET["exten_context"])) {$exten_context=$_GET["exten_context"];} + elseif (isset($_POST["exten_context"])) {$exten_context=$_POST["exten_context"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["user_unavailable_action"])) {$user_unavailable_action=$_GET["user_unavailable_action"];} + elseif (isset($_POST["user_unavailable_action"])) {$user_unavailable_action=$_POST["user_unavailable_action"];} +if (isset($_GET["user_route_settings_ingroup"])) {$user_route_settings_ingroup=$_GET["user_route_settings_ingroup"];} + elseif (isset($_POST["user_route_settings_ingroup"])) {$user_route_settings_ingroup=$_POST["user_route_settings_ingroup"];} +if (isset($_GET["call_handle_method"])) {$call_handle_method=$_GET["call_handle_method"];} + elseif (isset($_POST["call_handle_method"])) {$call_handle_method=$_POST["call_handle_method"];} +if (isset($_GET["agent_search_method"])) {$agent_search_method=$_GET["agent_search_method"];} + elseif (isset($_POST["agent_search_method"])) {$agent_search_method=$_POST["agent_search_method"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["modify_inbound_dids"])) {$modify_inbound_dids=$_GET["modify_inbound_dids"];} + elseif (isset($_POST["modify_inbound_dids"])) {$modify_inbound_dids=$_POST["modify_inbound_dids"];} +if (isset($_GET["delete_inbound_dids"])) {$delete_inbound_dids=$_GET["delete_inbound_dids"];} + elseif (isset($_POST["delete_inbound_dids"])) {$delete_inbound_dids=$_POST["delete_inbound_dids"];} +if (isset($_GET["three_way_call_cid"])) {$three_way_call_cid=$_GET["three_way_call_cid"];} + elseif (isset($_POST["three_way_call_cid"])) {$three_way_call_cid=$_POST["three_way_call_cid"];} +if (isset($_GET["three_way_dial_prefix"])) {$three_way_dial_prefix=$_GET["three_way_dial_prefix"];} + elseif (isset($_POST["three_way_dial_prefix"])) {$three_way_dial_prefix=$_POST["three_way_dial_prefix"];} +if (isset($_GET["forced_timeclock_login"])) {$forced_timeclock_login=$_GET["forced_timeclock_login"];} + elseif (isset($_POST["forced_timeclock_login"])) {$forced_timeclock_login=$_POST["forced_timeclock_login"];} +if (isset($_GET["answer_sec_pct_rt_stat_one"])) {$answer_sec_pct_rt_stat_one=$_GET["answer_sec_pct_rt_stat_one"];} + elseif (isset($_POST["answer_sec_pct_rt_stat_one"])) {$answer_sec_pct_rt_stat_one=$_POST["answer_sec_pct_rt_stat_one"];} +if (isset($_GET["answer_sec_pct_rt_stat_two"])) {$answer_sec_pct_rt_stat_two=$_GET["answer_sec_pct_rt_stat_two"];} + elseif (isset($_POST["answer_sec_pct_rt_stat_two"])) {$answer_sec_pct_rt_stat_two=$_POST["answer_sec_pct_rt_stat_two"];} +if (isset($_GET["list_active_change"])) {$list_active_change=$_GET["list_active_change"];} + elseif (isset($_POST["list_active_change"])) {$list_active_change=$_POST["list_active_change"];} +if (isset($_GET["web_form_target"])) {$web_form_target=$_GET["web_form_target"];} + elseif (isset($_POST["web_form_target"])) {$web_form_target=$_POST["web_form_target"];} +if (isset($_GET["alt_server_ip"])) {$alt_server_ip=$_GET["alt_server_ip"];} + elseif (isset($_POST["alt_server_ip"])) {$alt_server_ip=$_POST["alt_server_ip"];} +if (isset($_GET["recording_web_link"])) {$recording_web_link=$_GET["recording_web_link"];} + elseif (isset($_POST["recording_web_link"])) {$recording_web_link=$_POST["recording_web_link"];} +if (isset($_GET["enable_vtiger_integration"])) {$enable_vtiger_integration=$_GET["enable_vtiger_integration"];} + elseif (isset($_POST["enable_vtiger_integration"])) {$enable_vtiger_integration=$_POST["enable_vtiger_integration"];} +if (isset($_GET["vtiger_server_ip"])) {$vtiger_server_ip=$_GET["vtiger_server_ip"];} + elseif (isset($_POST["vtiger_server_ip"])) {$vtiger_server_ip=$_POST["vtiger_server_ip"];} +if (isset($_GET["vtiger_dbname"])) {$vtiger_dbname=$_GET["vtiger_dbname"];} + elseif (isset($_POST["vtiger_dbname"])) {$vtiger_dbname=$_POST["vtiger_dbname"];} +if (isset($_GET["vtiger_login"])) {$vtiger_login=$_GET["vtiger_login"];} + elseif (isset($_POST["vtiger_login"])) {$vtiger_login=$_POST["vtiger_login"];} +if (isset($_GET["vtiger_pass"])) {$vtiger_pass=$_GET["vtiger_pass"];} + elseif (isset($_POST["vtiger_pass"])) {$vtiger_pass=$_POST["vtiger_pass"];} +if (isset($_GET["vtiger_url"])) {$vtiger_url=$_GET["vtiger_url"];} + elseif (isset($_POST["vtiger_url"])) {$vtiger_url=$_POST["vtiger_url"];} +if (isset($_GET["vtiger_search_category"])) {$vtiger_search_category=$_GET["vtiger_search_category"];} + elseif (isset($_POST["vtiger_search_category"])) {$vtiger_search_category=$_POST["vtiger_search_category"];} +if (isset($_GET["vtiger_create_call_record"])) {$vtiger_create_call_record=$_GET["vtiger_create_call_record"];} + elseif (isset($_POST["vtiger_create_call_record"])) {$vtiger_create_call_record=$_POST["vtiger_create_call_record"];} +if (isset($_GET["vtiger_create_lead_record"])) {$vtiger_create_lead_record=$_GET["vtiger_create_lead_record"];} + elseif (isset($_POST["vtiger_create_lead_record"])) {$vtiger_create_lead_record=$_POST["vtiger_create_lead_record"];} +if (isset($_GET["vtiger_screen_login"])) {$vtiger_screen_login=$_GET["vtiger_screen_login"];} + elseif (isset($_POST["vtiger_screen_login"])) {$vtiger_screen_login=$_POST["vtiger_screen_login"];} +if (isset($_GET["qc_features_active"])) {$qc_features_active=$_GET["qc_features_active"];} + elseif (isset($_POST["qc_features_active"])) {$qc_features_active=$_POST["qc_features_active"];} +if (isset($_GET["outbound_autodial_active"])) {$outbound_autodial_active=$_GET["outbound_autodial_active"];} + elseif (isset($_POST["outbound_autodial_active"])) {$outbound_autodial_active=$_POST["outbound_autodial_active"];} +if (isset($_GET["cpd_amd_action"])) {$cpd_amd_action=$_GET["cpd_amd_action"];} + elseif (isset($_POST["cpd_amd_action"])) {$cpd_amd_action=$_POST["cpd_amd_action"];} +if (isset($_GET["download_lists"])) {$download_lists=$_GET["download_lists"];} + elseif (isset($_POST["download_lists"])) {$download_lists=$_POST["download_lists"];} +if (isset($_GET["active_asterisk_server"])) {$active_asterisk_server=$_GET["active_asterisk_server"];} + elseif (isset($_POST["active_asterisk_server"])) {$active_asterisk_server=$_POST["active_asterisk_server"];} +if (isset($_GET["generate_vicidial_conf"])) {$generate_vicidial_conf=$_GET["generate_vicidial_conf"];} + elseif (isset($_POST["generate_vicidial_conf"])) {$generate_vicidial_conf=$_POST["generate_vicidial_conf"];} +if (isset($_GET["rebuild_conf_files"])) {$rebuild_conf_files=$_GET["rebuild_conf_files"];} + elseif (isset($_POST["rebuild_conf_files"])) {$rebuild_conf_files=$_POST["rebuild_conf_files"];} +if (isset($_GET["template_id"])) {$template_id=$_GET["template_id"];} + elseif (isset($_POST["template_id"])) {$template_id=$_POST["template_id"];} +if (isset($_GET["conf_override"])) {$conf_override=$_GET["conf_override"];} + elseif (isset($_POST["conf_override"])) {$conf_override=$_POST["conf_override"];} +if (isset($_GET["template_name"])) {$template_name=$_GET["template_name"];} + elseif (isset($_POST["template_name"])) {$template_name=$_POST["template_name"];} +if (isset($_GET["template_contents"])) {$template_contents=$_GET["template_contents"];} + elseif (isset($_POST["template_contents"])) {$template_contents=$_POST["template_contents"];} +if (isset($_GET["carrier_id"])) {$carrier_id=$_GET["carrier_id"];} + elseif (isset($_POST["carrier_id"])) {$carrier_id=$_POST["carrier_id"];} +if (isset($_GET["carrier_name"])) {$carrier_name=$_GET["carrier_name"];} + elseif (isset($_POST["carrier_name"])) {$carrier_name=$_POST["carrier_name"];} +if (isset($_GET["registration_string"])) {$registration_string=$_GET["registration_string"];} + elseif (isset($_POST["registration_string"])) {$registration_string=$_POST["registration_string"];} +if (isset($_GET["account_entry"])) {$account_entry=$_GET["account_entry"];} + elseif (isset($_POST["account_entry"])) {$account_entry=$_POST["account_entry"];} +if (isset($_GET["globals_string"])) {$globals_string=$_GET["globals_string"];} + elseif (isset($_POST["globals_string"])) {$globals_string=$_POST["globals_string"];} +if (isset($_GET["dialplan_entry"])) {$dialplan_entry=$_GET["dialplan_entry"];} + elseif (isset($_POST["dialplan_entry"])) {$dialplan_entry=$_POST["dialplan_entry"];} +if (isset($_GET["group_alias_id"])) {$group_alias_id=$_GET["group_alias_id"];} + elseif (isset($_POST["group_alias_id"])) {$group_alias_id=$_POST["group_alias_id"];} +if (isset($_GET["group_alias_name"])) {$group_alias_name=$_GET["group_alias_name"];} + elseif (isset($_POST["group_alias_name"])) {$group_alias_name=$_POST["group_alias_name"];} +if (isset($_GET["caller_id_number"])) {$caller_id_number=$_GET["caller_id_number"];} + elseif (isset($_POST["caller_id_number"])) {$caller_id_number=$_POST["caller_id_number"];} +if (isset($_GET["caller_id_name"])) {$caller_id_name=$_GET["caller_id_name"];} + elseif (isset($_POST["caller_id_name"])) {$caller_id_name=$_POST["caller_id_name"];} +if (isset($_GET["agent_allow_group_alias"])) {$agent_allow_group_alias=$_GET["agent_allow_group_alias"];} + elseif (isset($_POST["agent_allow_group_alias"])) {$agent_allow_group_alias=$_POST["agent_allow_group_alias"];} +if (isset($_GET["default_group_alias"])) {$default_group_alias=$_GET["default_group_alias"];} + elseif (isset($_POST["default_group_alias"])) {$default_group_alias=$_POST["default_group_alias"];} +if (isset($_GET["outbound_calls_per_second"])) {$outbound_calls_per_second=$_GET["outbound_calls_per_second"];} + elseif (isset($_POST["outbound_calls_per_second"])) {$outbound_calls_per_second=$_POST["outbound_calls_per_second"];} +if (isset($_GET["shift_enforcement"])) {$shift_enforcement=$_GET["shift_enforcement"];} + elseif (isset($_POST["shift_enforcement"])) {$shift_enforcement=$_POST["shift_enforcement"];} +if (isset($_GET["agent_shift_enforcement_override"])) {$agent_shift_enforcement_override=$_GET["agent_shift_enforcement_override"];} + elseif (isset($_POST["agent_shift_enforcement_override"])) {$agent_shift_enforcement_override=$_POST["agent_shift_enforcement_override"];} +if (isset($_GET["manager_shift_enforcement_override"])) {$manager_shift_enforcement_override=$_GET["manager_shift_enforcement_override"];} + elseif (isset($_POST["manager_shift_enforcement_override"])) {$manager_shift_enforcement_override=$_POST["manager_shift_enforcement_override"];} +if (isset($_GET["export_reports"])) {$export_reports=$_GET["export_reports"];} + elseif (isset($_POST["export_reports"])) {$export_reports=$_POST["export_reports"];} + + + if (isset($script_id)) {$script_id= strtoupper($script_id);} + if (isset($lead_filter_id)) {$lead_filter_id = strtoupper($lead_filter_id);} + +if (strlen($dial_status) > 0) + { + $ADD='28'; + $status = $dial_status; + } + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,enable_queuemetrics_logging,enable_vtiger_integration,qc_features_active,outbound_autodial_active FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $SSenable_queuemetrics_logging = $row[1]; + $SSenable_vtiger_integration = $row[2]; + $SSqc_features_active = $row[3]; + $SSoutbound_autodial_active = $row[4]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +###################################################################################################### +###################################################################################################### +####### Form variable filtering for security and data integrity +###################################################################################################### +###################################################################################################### + +if ($non_latin < 1) +{ +### DIGITS ONLY ### +$adaptive_dropped_percentage = ereg_replace("[^0-9]","",$adaptive_dropped_percentage); +$adaptive_latest_server_time = ereg_replace("[^0-9]","",$adaptive_latest_server_time); +$admin_hangup_enabled = ereg_replace("[^0-9]","",$admin_hangup_enabled); +$admin_hijack_enabled = ereg_replace("[^0-9]","",$admin_hijack_enabled); +$admin_monitor_enabled = ereg_replace("[^0-9]","",$admin_monitor_enabled); +$AFLogging_enabled = ereg_replace("[^0-9]","",$AFLogging_enabled); +$agent_choose_ingroups = ereg_replace("[^0-9]","",$agent_choose_ingroups); +$agentcall_manual = ereg_replace("[^0-9]","",$agentcall_manual); +$agentonly_callbacks = ereg_replace("[^0-9]","",$agentonly_callbacks); +$AGI_call_logging_enabled = ereg_replace("[^0-9]","",$AGI_call_logging_enabled); +$allcalls_delay = ereg_replace("[^0-9]","",$allcalls_delay); +$alter_agent_interface_options = ereg_replace("[^0-9]","",$alter_agent_interface_options); +$am_message_exten = ereg_replace("[^0-9]","",$am_message_exten); +$answer_transfer_agent = ereg_replace("[^0-9]","",$answer_transfer_agent); +$ast_admin_access = ereg_replace("[^0-9]","",$ast_admin_access); +$ast_delete_phones = ereg_replace("[^0-9]","",$ast_delete_phones); +$attempt_delay = ereg_replace("[^0-9]","",$attempt_delay); +$attempt_maximum = ereg_replace("[^0-9]","",$attempt_maximum); +$auto_dial_next_number = ereg_replace("[^0-9]","",$auto_dial_next_number); +$balance_trunks_offlimits = ereg_replace("[^0-9]","",$balance_trunks_offlimits); +$call_parking_enabled = ereg_replace("[^0-9]","",$call_parking_enabled); +$CallerID_popup_enabled = ereg_replace("[^0-9]","",$CallerID_popup_enabled); +$campaign_detail = ereg_replace("[^0-9]","",$campaign_detail); +$campaign_rec_exten = ereg_replace("[^0-9]","",$campaign_rec_exten); +$campaign_vdad_exten = ereg_replace("[^0-9]","",$campaign_vdad_exten); +$change_agent_campaign = ereg_replace("[^0-9]","",$change_agent_campaign); +$closer_default_blended = ereg_replace("[^0-9]","",$closer_default_blended); +$conf_exten = ereg_replace("[^0-9]","",$conf_exten); +$conf_on_extension = ereg_replace("[^0-9]","",$conf_on_extension); +$conferencing_enabled = ereg_replace("[^0-9]","",$conferencing_enabled); +$ct_default_start = ereg_replace("[^0-9]","",$ct_default_start); +$ct_default_stop = ereg_replace("[^0-9]","",$ct_default_stop); +$ct_friday_start = ereg_replace("[^0-9]","",$ct_friday_start); +$ct_friday_stop = ereg_replace("[^0-9]","",$ct_friday_stop); +$ct_monday_start = ereg_replace("[^0-9]","",$ct_monday_start); +$ct_monday_stop = ereg_replace("[^0-9]","",$ct_monday_stop); +$ct_saturday_start = ereg_replace("[^0-9]","",$ct_saturday_start); +$ct_saturday_stop = ereg_replace("[^0-9]","",$ct_saturday_stop); +$ct_sunday_start = ereg_replace("[^0-9]","",$ct_sunday_start); +$ct_sunday_stop = ereg_replace("[^0-9]","",$ct_sunday_stop); +$ct_thursday_start = ereg_replace("[^0-9]","",$ct_thursday_start); +$ct_thursday_stop = ereg_replace("[^0-9]","",$ct_thursday_stop); +$ct_tuesday_start = ereg_replace("[^0-9]","",$ct_tuesday_start); +$ct_tuesday_stop = ereg_replace("[^0-9]","",$ct_tuesday_stop); +$ct_wednesday_start = ereg_replace("[^0-9]","",$ct_wednesday_start); +$ct_wednesday_stop = ereg_replace("[^0-9]","",$ct_wednesday_stop); +$DBX_port = ereg_replace("[^0-9]","",$DBX_port); +$DBY_port = ereg_replace("[^0-9]","",$DBY_port); +$dedicated_trunks = ereg_replace("[^0-9]","",$dedicated_trunks); +$delete_call_times = ereg_replace("[^0-9]","",$delete_call_times); +$delete_campaigns = ereg_replace("[^0-9]","",$delete_campaigns); +$delete_filters = ereg_replace("[^0-9]","",$delete_filters); +$delete_ingroups = ereg_replace("[^0-9]","",$delete_ingroups); +$delete_lists = ereg_replace("[^0-9]","",$delete_lists); +$delete_remote_agents = ereg_replace("[^0-9]","",$delete_remote_agents); +$delete_scripts = ereg_replace("[^0-9]","",$delete_scripts); +$delete_user_groups = ereg_replace("[^0-9]","",$delete_user_groups); +$delete_users = ereg_replace("[^0-9]","",$delete_users); +$dial_timeout = ereg_replace("[^0-9]","",$dial_timeout); +$dialplan_number = ereg_replace("[^0-9]","",$dialplan_number); +$drop_call_seconds = ereg_replace("[^0-9]","",$drop_call_seconds); +$enable_fast_refresh = ereg_replace("[^0-9]","",$enable_fast_refresh); +$enable_persistant_mysql = ereg_replace("[^0-9]","",$enable_persistant_mysql); +$fast_refresh_rate = ereg_replace("[^0-9]","",$fast_refresh_rate); +$hopper_level = ereg_replace("[^0-9]","",$hopper_level); +$hotkey = ereg_replace("[^0-9]","",$hotkey); +$hotkeys_active = ereg_replace("[^0-9]","",$hotkeys_active); +$list_id = ereg_replace("[^0-9]","",$list_id); +$load_leads = ereg_replace("[^0-9]","",$load_leads); +$max_vicidial_trunks = ereg_replace("[^0-9]","",$max_vicidial_trunks); +$modify_call_times = ereg_replace("[^0-9]","",$modify_call_times); +$modify_users = ereg_replace("[^0-9]","",$modify_users); +$modify_campaigns = ereg_replace("[^0-9]","",$modify_campaigns); +$modify_lists = ereg_replace("[^0-9]","",$modify_lists); +$modify_scripts = ereg_replace("[^0-9]","",$modify_scripts); +$modify_filters = ereg_replace("[^0-9]","",$modify_filters); +$modify_ingroups = ereg_replace("[^0-9]","",$modify_ingroups); +$modify_usergroups = ereg_replace("[^0-9]","",$modify_usergroups); +$modify_remoteagents = ereg_replace("[^0-9]","",$modify_remoteagents); +$modify_servers = ereg_replace("[^0-9]","",$modify_servers); +$view_reports = ereg_replace("[^0-9]","",$view_reports); +$modify_leads = ereg_replace("[^0-9]","",$modify_leads); +$monitor_prefix = ereg_replace("[^0-9]","",$monitor_prefix); +$number_of_lines = ereg_replace("[^0-9]","",$number_of_lines); +$old_conf_exten = ereg_replace("[^0-9]","",$old_conf_exten); +$outbound_cid = ereg_replace("[^0-9]","",$outbound_cid); +$park_ext = ereg_replace("[^0-9]","",$park_ext); +$park_on_extension = ereg_replace("[^0-9]","",$park_on_extension); +$phone_number = ereg_replace("[^0-9]","",$phone_number); +$QUEUE_ACTION_enabled = ereg_replace("[^0-9]","",$QUEUE_ACTION_enabled); +$recording_exten = ereg_replace("[^0-9]","",$recording_exten); +$remote_agent_id = ereg_replace("[^0-9]","",$remote_agent_id); +$telnet_port = ereg_replace("[^0-9]","",$telnet_port); +$updater_check_enabled = ereg_replace("[^0-9]","",$updater_check_enabled); +$user_level = ereg_replace("[^0-9]","",$user_level); +$user_start = ereg_replace("[^0-9]","",$user_start); +$user_switching_enabled = ereg_replace("[^0-9]","",$user_switching_enabled); +$VDstop_rec_after_each_call = ereg_replace("[^0-9]","",$VDstop_rec_after_each_call); +$VICIDIAL_park_on_extension = ereg_replace("[^0-9]","",$VICIDIAL_park_on_extension); +$vicidial_recording = ereg_replace("[^0-9]","",$vicidial_recording); +$vicidial_transfers = ereg_replace("[^0-9]","",$vicidial_transfers); +$voicemail_button_enabled = ereg_replace("[^0-9]","",$voicemail_button_enabled); +$voicemail_dump_exten = ereg_replace("[^0-9]","",$voicemail_dump_exten); +$voicemail_ext = ereg_replace("[^0-9]","",$voicemail_ext); +$voicemail_exten = ereg_replace("[^0-9]","",$voicemail_exten); +$voicemail_id = ereg_replace("[^0-9]","",$voicemail_id); +$wrapup_seconds = ereg_replace("[^0-9]","",$wrapup_seconds); +$use_non_latin = ereg_replace("[^0-9]","",$use_non_latin); +$webroot_writable = ereg_replace("[^0-9]","",$webroot_writable); +$enable_queuemetrics_logging = ereg_replace("[^0-9]","",$enable_queuemetrics_logging); +$enable_sipsak_messages = ereg_replace("[^0-9]","",$enable_sipsak_messages); +$allow_sipsak_messages = ereg_replace("[^0-9]","",$allow_sipsak_messages); +$mix_container_item = ereg_replace("[^0-9]","",$mix_container_item); +$prompt_interval = ereg_replace("[^0-9]","",$prompt_interval); +$agent_alert_delay = ereg_replace("[^0-9]","",$agent_alert_delay); +$manual_dial_list_id = ereg_replace("[^0-9]","",$manual_dial_list_id); +$qc_user_level = ereg_replace("[^0-9]","",$qc_user_level); +$qc_pass = ereg_replace("[^0-9]","",$qc_pass); +$qc_finish = ereg_replace("[^0-9]","",$qc_finish); +$qc_commit = ereg_replace("[^0-9]","",$qc_commit); +$shift_start_time = ereg_replace("[^0-9]","",$shift_start_time); +$timeclock_end_of_day = ereg_replace("[^0-9]","",$timeclock_end_of_day); +$survey_xfer_exten = ereg_replace("[^0-9]","",$survey_xfer_exten); +$add_timeclock_log = ereg_replace("[^0-9]","",$add_timeclock_log); +$modify_timeclock_log = ereg_replace("[^0-9]","",$modify_timeclock_log); +$delete_timeclock_log = ereg_replace("[^0-9]","",$delete_timeclock_log); +$vdc_agent_api_access = ereg_replace("[^0-9]","",$vdc_agent_api_access); +$vdc_agent_api_active = ereg_replace("[^0-9]","",$vdc_agent_api_active); +$hold_time_option_seconds = ereg_replace("[^0-9]","",$hold_time_option_seconds); +$hold_time_option_callback_list_id = ereg_replace("[^0-9]","",$hold_time_option_callback_list_id); +$did_id = ereg_replace("[^0-9]","",$did_id); +$source_did = ereg_replace("[^0-9]","",$source_did); +$modify_inbound_dids = ereg_replace("[^0-9]","",$modify_inbound_dids); +$delete_inbound_dids = ereg_replace("[^0-9]","",$delete_inbound_dids); +$answer_sec_pct_rt_stat_one = ereg_replace("[^0-9]","",$answer_sec_pct_rt_stat_one); +$answer_sec_pct_rt_stat_two = ereg_replace("[^0-9]","",$answer_sec_pct_rt_stat_two); +$enable_vtiger_integration = ereg_replace("[^0-9]","",$enable_vtiger_integration); +$qc_features_active = ereg_replace("[^0-9]","",$qc_features_active); +$outbound_autodial_active = ereg_replace("[^0-9]","",$outbound_autodial_active); +$download_lists = ereg_replace("[^0-9]","",$download_lists); +$caller_id_number = ereg_replace("[^0-9]","",$caller_id_number); +$outbound_calls_per_second = ereg_replace("[^0-9]","",$outbound_calls_per_second); +$manager_shift_enforcement_override = ereg_replace("[^0-9]","",$manager_shift_enforcement_override); +$export_reports = ereg_replace("[^0-9]","",$export_reports); + +### DIGITS and COLONS +$shift_length = ereg_replace("[^\:0-9]","",$shift_length); + +### DIGITS and HASHES and STARS +$survey_dtmf_digits = ereg_replace("[^\#\*0-9]","",$survey_dtmf_digits); +$survey_ni_digit = ereg_replace("[^\#\*0-9]","",$survey_ni_digit); + +### DIGITS and DASHES +$group_rank = ereg_replace("[^-0-9]","",$group_rank); +$campaign_rank = ereg_replace("[^-0-9]","",$campaign_rank); +$queue_priority = ereg_replace("[^-0-9]","",$queue_priority); + +### DIGITS and NEWLINES +$phone_numbers = ereg_replace("[^\n0-9]","",$phone_numbers); + +### Y or N ONLY ### +$active = ereg_replace("[^NY]","",$active); +$allow_closers = ereg_replace("[^NY]","",$allow_closers); +$reset_hopper = ereg_replace("[^NY]","",$reset_hopper); +$amd_send_to_vmx = ereg_replace("[^NY]","",$amd_send_to_vmx); +$alt_number_dialing = ereg_replace("[^NY]","",$alt_number_dialing); +$selectable = ereg_replace("[^NY]","",$selectable); +$reset_list = ereg_replace("[^NY]","",$reset_list); +$fronter_display = ereg_replace("[^NY]","",$fronter_display); +$use_internal_dnc = ereg_replace("[^NY]","",$use_internal_dnc); +$use_campaign_dnc = ereg_replace("[^NY]","",$use_campaign_dnc); +$omit_phone_code = ereg_replace("[^NY]","",$omit_phone_code); +$available_only_ratio_tally = ereg_replace("[^NY]","",$available_only_ratio_tally); +$sys_perf_log = ereg_replace("[^NY]","",$sys_perf_log); +$vicidial_balance_active = ereg_replace("[^NY]","",$vicidial_balance_active); +$vd_server_logs = ereg_replace("[^NY]","",$vd_server_logs); +$campaign_stats_refresh = ereg_replace("[^NY]","",$campaign_stats_refresh); +$disable_alter_custdata = ereg_replace("[^NY]","",$disable_alter_custdata); +$no_hopper_leads_logins = ereg_replace("[^NY]","",$no_hopper_leads_logins); +$human_answered = ereg_replace("[^NY]","",$human_answered); +$tovdad_display = ereg_replace("[^NY]","",$tovdad_display); +$campaign_allow_inbound = ereg_replace("[^NY]","",$campaign_allow_inbound); +$disable_alter_custphone = ereg_replace("[^NY]","",$disable_alter_custphone); +$display_queue_count = ereg_replace("[^NY]","",$display_queue_count); +$qc_show_recording = ereg_replace("[^NY]","",$qc_show_recording); +$sale_category = ereg_replace("[^NY]","",$sale_category); +$dead_lead_category = ereg_replace("[^NY]","",$dead_lead_category); +$agent_extended_alt_dial = ereg_replace("[^NY]","",$agent_extended_alt_dial); +$play_place_in_line = ereg_replace("[^NY]","",$play_place_in_line); +$play_estimate_hold_time = ereg_replace("[^NY]","",$play_estimate_hold_time); +$no_delay_call_route = ereg_replace("[^NY]","",$no_delay_call_route); +$did_active = ereg_replace("[^NY]","",$did_active); +$active_asterisk_server = ereg_replace("[^NY]","",$active_asterisk_server); +$generate_vicidial_conf = ereg_replace("[^NY]","",$generate_vicidial_conf); +$rebuild_conf_files = ereg_replace("[^NY]","",$rebuild_conf_files); +$agent_allow_group_alias = ereg_replace("[^NY]","",$agent_allow_group_alias); + +$qc_enabled = ereg_replace("[^0-9NY]","",$qc_enabled); + + +### ALPHA-NUMERIC ONLY ### +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$script_id = ereg_replace("[^0-9a-zA-Z]","",$script_id); +$submit = ereg_replace("[^0-9a-zA-Z]","",$submit); +$campaign_cid = ereg_replace("[^0-9a-zA-Z]","",$campaign_cid); +$get_call_launch = ereg_replace("[^0-9a-zA-Z]","",$get_call_launch); +$campaign_recording = ereg_replace("[^0-9a-zA-Z]","",$campaign_recording); +$ADD = ereg_replace("[^0-9a-zA-Z]","",$ADD); +$dial_prefix = ereg_replace("[^0-9a-zA-Z]","",$dial_prefix); +$state_call_time_state = ereg_replace("[^0-9a-zA-Z]","",$state_call_time_state); +$scheduled_callbacks = ereg_replace("[^0-9a-zA-Z]","",$scheduled_callbacks); +$concurrent_transfers = ereg_replace("[^0-9a-zA-Z]","",$concurrent_transfers); +$billable = ereg_replace("[^0-9a-zA-Z]","",$billable); +$pause_code = ereg_replace("[^0-9a-zA-Z]","",$pause_code); +$vicidial_recording_override = ereg_replace("[^0-9a-zA-Z]","",$vicidial_recording_override); +$ingroup_recording_override = ereg_replace("[^0-9a-zA-Z]","",$ingroup_recording_override); +$queuemetrics_log_id = ereg_replace("[^0-9a-zA-Z]","",$queuemetrics_log_id); +$after_hours_exten = ereg_replace("[^0-9a-zA-Z]","",$after_hours_exten); +$after_hours_voicemail = ereg_replace("[^0-9a-zA-Z]","",$after_hours_voicemail); +$qc_script = ereg_replace("[^0-9a-zA-Z]","",$qc_script); +$code = ereg_replace("[^0-9a-zA-Z]","",$code); +$survey_no_response_action = ereg_replace("[^0-9a-zA-Z]","",$survey_no_response_action); +$survey_ni_status = ereg_replace("[^0-9a-zA-Z]","",$survey_ni_status); +$qc_get_record_launch = ereg_replace("[^0-9a-zA-Z]","",$qc_get_record_launch); +$agent_pause_codes_active = ereg_replace("[^0-9a-zA-Z]","",$agent_pause_codes_active); +$three_way_dial_prefix = ereg_replace("[^0-9a-zA-Z]","",$three_way_dial_prefix); +$shift_enforcement = ereg_replace("[^0-9a-zA-Z]","",$shift_enforcement); +$agent_shift_enforcement_override = ereg_replace("[^0-9a-zA-Z]","",$agent_shift_enforcement_override); + +### DIGITS and Dots +$server_ip = ereg_replace("[^\.0-9]","",$server_ip); +$auto_dial_level = ereg_replace("[^\.0-9]","",$auto_dial_level); +$adaptive_maximum_level = ereg_replace("[^\.0-9]","",$adaptive_maximum_level); +$phone_ip = ereg_replace("[^\.0-9]","",$phone_ip); +$old_server_ip = ereg_replace("[^\.0-9]","",$old_server_ip); +$computer_ip = ereg_replace("[^\.0-9]","",$computer_ip); +$queuemetrics_server_ip = ereg_replace("[^\.0-9]","",$queuemetrics_server_ip); +$vtiger_server_ip = ereg_replace("[^\.0-9]","",$vtiger_server_ip); + +### ALPHA-NUMERIC and spaces and hash and star and comma +$xferconf_a_dtmf = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$xferconf_a_dtmf); +$xferconf_b_dtmf = ereg_replace("[^ \,\*\#0-9a-zA-Z]","",$xferconf_b_dtmf); + +### ALPHACAPS-NUMERIC +$xferconf_a_number = ereg_replace("[^0-9A-Z]","",$xferconf_a_number); +$xferconf_b_number = ereg_replace("[^0-9A-Z]","",$xferconf_b_number); + +### ALPHA-NUMERIC and underscore and dash +$agi_output = ereg_replace("[^-\_0-9a-zA-Z]","",$agi_output); +$ASTmgrSECRET = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrSECRET); +$ASTmgrUSERNAME = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAME); +$ASTmgrUSERNAMElisten = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAMElisten); +$ASTmgrUSERNAMEsend = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAMEsend); +$ASTmgrUSERNAMEupdate = ereg_replace("[^-\_0-9a-zA-Z]","",$ASTmgrUSERNAMEupdate); +$call_time_id = ereg_replace("[^-\_0-9a-zA-Z]","",$call_time_id); +$campaign_id = ereg_replace("[^-\_0-9a-zA-Z]","",$campaign_id); +$CoNfIrM = ereg_replace("[^-\_0-9a-zA-Z]","",$CoNfIrM); +$DBX_database = ereg_replace("[^-\_0-9a-zA-Z]","",$DBX_database); +$DBX_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$DBX_pass); +$DBX_user = ereg_replace("[^-\_0-9a-zA-Z]","",$DBX_user); +$DBY_database = ereg_replace("[^-\_0-9a-zA-Z]","",$DBY_database); +$DBY_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$DBY_pass); +$DBY_user = ereg_replace("[^-\_0-9a-zA-Z]","",$DBY_user); +$dial_method = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_method); +$dial_status_a = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_a); +$dial_status_b = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_b); +$dial_status_c = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_c); +$dial_status_d = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_d); +$dial_status_e = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status_e); +$ext_context = ereg_replace("[^-\_0-9a-zA-Z]","",$ext_context); +$group_id = ereg_replace("[^-\_0-9a-zA-Z]","",$group_id); +$lead_filter_id = ereg_replace("[^-\_0-9a-zA-Z]","",$lead_filter_id); +$local_call_time = ereg_replace("[^-\_0-9a-zA-Z]","",$local_call_time); +$login = ereg_replace("[^-\_0-9a-zA-Z]","",$login); +$login_campaign = ereg_replace("[^-\_0-9a-zA-Z]","",$login_campaign); +$login_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$login_pass); +$login_user = ereg_replace("[^-\_0-9a-zA-Z]","",$login_user); +$next_agent_call = ereg_replace("[^-\_0-9a-zA-Z]","",$next_agent_call); +$old_campaign_id = ereg_replace("[^-\_0-9a-zA-Z]","",$old_campaign_id); +$old_server_id = ereg_replace("[^-\_0-9a-zA-Z]","",$old_server_id); +$OLDuser_group = ereg_replace("[^-\_0-9a-zA-Z]","",$OLDuser_group); +$park_file_name = ereg_replace("[^-\_0-9a-zA-Z]","",$park_file_name); +$pass = ereg_replace("[^-\_0-9a-zA-Z]","",$pass); +$phone_login = ereg_replace("[^-\_0-9a-zA-Z]","",$phone_login); +$phone_pass = ereg_replace("[^-\_0-9a-zA-Z]","",$phone_pass); +$PHP_AUTH_PW = ereg_replace("[^-\_0-9a-zA-Z]","",$PHP_AUTH_PW); +$PHP_AUTH_USER = ereg_replace("[^-\_0-9a-zA-Z]","",$PHP_AUTH_USER); +$protocol = ereg_replace("[^-\_0-9a-zA-Z]","",$protocol); +$server_id = ereg_replace("[^-\_0-9a-zA-Z]","",$server_id); +$stage = ereg_replace("[^-\_0-9a-zA-Z]","",$stage); +$state_rule = ereg_replace("[^-\_0-9a-zA-Z]","",$state_rule); +$status = ereg_replace("[^-\_0-9a-zA-Z]","",$status); +$trunk_restriction = ereg_replace("[^-\_0-9a-zA-Z]","",$trunk_restriction); +$user = ereg_replace("[^-\_0-9a-zA-Z]","",$user); +$user_group = ereg_replace("[^-\_0-9a-zA-Z]","",$user_group); +$VICIDIAL_park_on_filename = ereg_replace("[^-\_0-9a-zA-Z]","",$VICIDIAL_park_on_filename); +$auto_alt_dial = ereg_replace("[^-\_0-9a-zA-Z]","",$auto_alt_dial); +$dial_status = ereg_replace("[^-\_0-9a-zA-Z]","",$dial_status); +$queuemetrics_eq_prepend = ereg_replace("[^-\_0-9a-zA-Z]","",$queuemetrics_eq_prepend); +$vicidial_agent_disable = ereg_replace("[^-\_0-9a-zA-Z]","",$vicidial_agent_disable); +$alter_custdata_override = ereg_replace("[^-\_0-9a-zA-Z]","",$alter_custdata_override); +$list_order_mix = ereg_replace("[^-\_0-9a-zA-Z]","",$list_order_mix); +$vcl_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vcl_id); +$mix_method = ereg_replace("[^-\_0-9a-zA-Z]","",$mix_method); +$category = ereg_replace("[^-\_0-9a-zA-Z]","",$category); +$vsc_id = ereg_replace("[^-\_0-9a-zA-Z]","",$vsc_id); +$moh_context = ereg_replace("[^-\_0-9a-zA-Z]","",$moh_context); +$agent_alert_exten = ereg_replace("[^-\_0-9a-zA-Z]","",$agent_alert_exten); +$source_campaign_id = ereg_replace("[^-\_0-9a-zA-Z]","",$source_campaign_id); +$source_user_id = ereg_replace("[^-\_0-9a-zA-Z]","",$source_user_id); +$source_group_id = ereg_replace("[^-\_0-9a-zA-Z]","",$source_group_id); +$default_xfer_group = ereg_replace("[^-\_0-9a-zA-Z]","",$default_xfer_group); +$drop_exten = ereg_replace("[^-\_0-9a-zA-Z]","",$drop_exten); +$safe_harbor_exten = ereg_replace("[^-\_0-9a-zA-Z]","",$safe_harbor_exten); +$drop_action = ereg_replace("[^-\_0-9a-zA-Z]","",$drop_action); +$drop_inbound_group = ereg_replace("[^-\_0-9a-zA-Z]","",$drop_inbound_group); +$afterhours_xfer_group = ereg_replace("[^-\_0-9a-zA-Z]","",$afterhours_xfer_group); +$after_hours_action = ereg_replace("[^-\_0-9a-zA-Z]","",$after_hours_action); +$alias_id = ereg_replace("[^-\_0-9a-zA-Z]","",$alias_id); +$shift_id = ereg_replace("[^-\_0-9a-zA-Z]","",$shift_id); +$qc_shift_id = ereg_replace("[^-\_0-9a-zA-Z]","",$qc_shift_id); +$survey_first_audio_file = ereg_replace("[^-\_0-9a-zA-Z]","",$survey_first_audio_file); +$survey_opt_in_audio_file = ereg_replace("[^-\_0-9a-zA-Z]","",$survey_opt_in_audio_file); +$survey_ni_audio_file = ereg_replace("[^-\_0-9a-zA-Z]","",$survey_ni_audio_file); +$survey_method = ereg_replace("[^-\_0-9a-zA-Z]","",$survey_method); +$alter_custphone_override = ereg_replace("[^-\_0-9a-zA-Z]","",$alter_custphone_override); +$manual_dial_filter = ereg_replace("[^-\_0-9a-zA-Z]","",$manual_dial_filter); +$agent_clipboard_copy = ereg_replace("[^-\_0-9a-zA-Z]","",$agent_clipboard_copy); +$hold_time_option = ereg_replace("[^-\_0-9a-zA-Z]","",$hold_time_option); +$hold_time_option_xfer_group = ereg_replace("[^-\_0-9a-zA-Z]","",$hold_time_option_xfer_group); +$hold_recall_xfer_group = ereg_replace("[^-\_0-9a-zA-Z]","",$hold_recall_xfer_group); +$play_welcome_message = ereg_replace("[^-\_0-9a-zA-Z]","",$play_welcome_message); +$did_route = ereg_replace("[^-\_0-9a-zA-Z]","",$did_route); +$user_unavailable_action = ereg_replace("[^-\_0-9a-zA-Z]","",$user_unavailable_action); +$user_route_settings_ingroup = ereg_replace("[^-\_0-9a-zA-Z]","",$user_route_settings_ingroup); +$call_handle_method = ereg_replace("[^-\_0-9a-zA-Z]","",$call_handle_method); +$agent_search_method = ereg_replace("[^-\_0-9a-zA-Z]","",$agent_search_method); +$hold_time_option_voicemail = ereg_replace("[^-\_0-9a-zA-Z]","",$hold_time_option_voicemail); +$hold_time_option_callback_filename = ereg_replace("[^-\_0-9a-zA-Z]","",$hold_time_option_callback_filename); +$exten_context = ereg_replace("[^-\_0-9a-zA-Z]","",$exten_context); +$three_way_call_cid = ereg_replace("[^-\_0-9a-zA-Z]","",$three_way_call_cid); +$web_form_target = ereg_replace("[^-\_0-9a-zA-Z]","",$web_form_target); +$recording_web_link = ereg_replace("[^-\_0-9a-zA-Z]","",$recording_web_link); +$vtiger_search_category = ereg_replace("[^-\_0-9a-zA-Z]","",$vtiger_search_category); +$vtiger_create_call_record = ereg_replace("[^-\_0-9a-zA-Z]","",$vtiger_create_call_record); +$vtiger_create_lead_record = ereg_replace("[^-\_0-9a-zA-Z]","",$vtiger_create_lead_record); +$vtiger_screen_login = ereg_replace("[^-\_0-9a-zA-Z]","",$vtiger_screen_login); +$cpd_amd_action = ereg_replace("[^-\_0-9a-zA-Z]","",$cpd_amd_action); +$template_id = ereg_replace("[^-\_0-9a-zA-Z]","",$template_id); +$carrier_id = ereg_replace("[^-\_0-9a-zA-Z]","",$carrier_id); +$group_alias_id = ereg_replace("[^-\_0-9a-zA-Z]","",$group_alias_id); +$default_group_alias = ereg_replace("[^-\_0-9a-zA-Z]","",$default_group_alias); + +### ALPHA-NUMERIC and underscore and dash and comma +$logins_list = ereg_replace("[^-\,\_0-9a-zA-Z]","",$logins_list); +$forced_timeclock_login = ereg_replace("[^-\,\_0-9a-zA-Z]","",$forced_timeclock_login); + +### ALPHA-NUMERIC and spaces +$lead_order = ereg_replace("[^ 0-9a-zA-Z]","",$lead_order); +### ALPHA-NUMERIC and hash +$group_color = ereg_replace("[^\#0-9a-zA-Z]","",$group_color); +### ALPHA-NUMERIC and hash and star and dot and underscore +$hold_time_option_exten = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$hold_time_option_exten); +$did_pattern = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$did_pattern); +$voicemail_ext = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$voicemail_ext); +$phone = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$phone); +$phone_code = ereg_replace("[^\*\#\.\_0-9a-zA-Z]","",$phone_code); + +### ALPHA-NUMERIC and spaces dots, commas, dashes, underscores +$adaptive_dl_diff_target = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$adaptive_dl_diff_target); +$adaptive_intensity = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$adaptive_intensity); +$asterisk_version = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$asterisk_version); +$call_time_comments = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$call_time_comments); +$call_time_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$call_time_name); +$campaign_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$campaign_name); +$campaign_rec_filename = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$campaign_rec_filename); +$ingroup_rec_filename = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$ingroup_rec_filename); +$company = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$company); +$full_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$full_name); +$fullname = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$fullname); +$group_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$group_name); +$HKstatus = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$HKstatus); +$lead_filter_comments = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$lead_filter_comments); +$lead_filter_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$lead_filter_name); +$list_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$list_name); +$local_gmt = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$local_gmt); +$phone_type = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$phone_type); +$picture = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$picture); +$script_comments = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$script_comments); +$script_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$script_name); +$server_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$server_description); +$status = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$status); +$status_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$status_name); +$wrapup_message = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$wrapup_message); +$pause_code_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$pause_code_name); +$campaign_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$campaign_description); +$list_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$list_description); +$vcl_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vcl_name); +$vsc_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vsc_name); +$vsc_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$vsc_description); +$code_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$code_name); +$alias_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$alias_name); +$shift_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$shift_name); +$did_description = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$did_description); +$alt_server_ip = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$alt_server_ip); +$template_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$template_name); +$carrier_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$carrier_name); +$group_alias_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$group_alias_name); +$caller_id_name = ereg_replace("[^ \.\,-\_0-9a-zA-Z]","",$caller_id_name); + +### ALPHA-NUMERIC and underscore and dash and slash and at and dot +$call_out_number_group = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$call_out_number_group); +$client_browser = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$client_browser); +$DBX_server = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$DBX_server); +$DBY_server = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$DBY_server); +$dtmf_send_extension = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$dtmf_send_extension); +$extension = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$extension); +$install_directory = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$install_directory); +$old_extension = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$old_extension); +$telnet_host = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$telnet_host); +$queuemetrics_dbname = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_dbname); +$queuemetrics_login = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_login); +$queuemetrics_pass = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$queuemetrics_pass); +$after_hours_message_filename = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$after_hours_message_filename); +$welcome_message_filename = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$welcome_message_filename); +$onhold_prompt_filename = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$onhold_prompt_filename); +$email = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$email); +$vtiger_dbname = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$vtiger_dbname); +$vtiger_login = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$vtiger_login); +$vtiger_pass = ereg_replace("[^-\.\:\/\@\_0-9a-zA-Z]","",$vtiger_pass); + +### ALPHA-NUMERIC and underscore and dash and slash and at and space and colon +$vdc_header_date_format = ereg_replace("[^- \:\/\_0-9a-zA-Z]","",$vdc_header_date_format); +$vdc_customer_date_format = ereg_replace("[^- \:\/\_0-9a-zA-Z]","",$vdc_customer_date_format); + +### ALPHA-NUMERIC and underscore and dash and at and space and parantheses +$vdc_header_phone_format = ereg_replace("[^- \(\)\_0-9a-zA-Z]","",$vdc_header_phone_format); + +### remove semi-colons ### +$lead_filter_sql = ereg_replace(";","",$lead_filter_sql); +$list_mix_container = ereg_replace(";","",$list_mix_container); +$survey_response_digit_map = ereg_replace(";","",$survey_response_digit_map); +$survey_camp_record_dir = ereg_replace(";","",$survey_camp_record_dir); +$conf_override = ereg_replace(";","",$conf_override); +$template_contents = ereg_replace(";","",$template_contents); +$registration_string = ereg_replace(";","",$registration_string); +$account_entry = ereg_replace(";","",$account_entry); +$globals_string = ereg_replace(";","",$globals_string); +$dialplan_entry = ereg_replace(";","",$dialplan_entry); + +### VARIABLES TO BE mysql_real_escape_string ### +# $web_form_address +# $queuemetrics_url +# $admin_home_url +# $qc_web_form_address +# $vtiger_url + +### VARIABLES not filtered at all ### +# $script_text + +} # end of non_latin + + +##### END VARIABLE FILTERING FOR SECURITY ##### + + +# AST GUI database administration +# admin.php +# +# CHANGELOG: +# 50315-1110 - Added Custom Campaign Statuses +# 50317-1438 - Added Fronter Display var to inbound groups +# 50322-1355 - Added custom callerID per campaign +# 50517-1356 - Added user_groups sections and user_group to vicidial_users +# 50517-1440 - Added ability to logout (must click OK with empty user/pass) +# 50602-1622 - Added lead loader pages to load new files into vicidial_list +# 50620-1351 - Added custom vdad transfer AGI extension per campaign +# 50810-1414 - modified in groups to kick out spaces and dashes +# 50908-2136 - Added Custom Campaign HotKeys +# 50914-0950 - Fixed user search by user_group +# 50926-1358 - Modified to allow for language translation +# 50926-1615 - Added WeBRooTWritablE write controls +# 51020-1008 - Added editable web address and park ext - NEW dial campaigns +# 51020-1056 - Added fields and help for campaign recording control +# 51123-1335 - Altered code to function in php globals=off +# 51208-1038 - Added user_level changes, function controls and default user phones +# 51208-1556 - Added deletion of users/lists/campaigns/in groups/remote agents +# 51213-1706 - Added add/delete/modify vicidial scripts +# 51214-1737 - Added preview of vicidial script in popup window +# 51219-1225 - Added campaign and ingroups script selector and get_call_launch field +# 51222-1055 - Added am_message_exten to campaigns to allow for AM Message button +# 51222-1125 - Fixed new vicidial_campaigns default values not being assigned bug +# 51222-1156 - Added LOG OUT ALL AGENTS ON THIS CAMPAIGN button to campaign screen +# 60204-0659 - Fixed hopper reset bug +# 60207-1413 - Added AMD send to voicemail extension and xfer-conf dtmf presets +# 60213-1100 - Added several vicidial_users permissions fields +# 60215-1319 - Added On-hold CallBacks display and links +# 60227-1226 - Fixed vicidial_inbound_groups insert bug +# 60413-1308 - Fixed list display to have 1 row/status: count and time zone tables +# - Added status name in selected dial statuses in campaign screen +# 60417-1416 - Added vicidial_lead_filters sections +# - Changed the header links to color-coded sectional with sublinks below +# - Added filter name and script name to campaign and in-group modify sections +# - Added callback and alt dial options to campaigns section +# - Added callback, alt dial and other options to users section +# 60419-1628 - Alter Callbacks display to include status and LIVE listings, reordered +# 60421-1441 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60425-2355 - Added agent options to vicidial_users, reformatted user page +# 60502-1627 - Added drop_call_seconds and safe_harbor_ fields to campaign screen +# 60503-1228 - Added drop_call_seconds and drop_ fields to inbound groups screen +# 60505-1117 - Added initial framework for new local_call_times tables and definitions +# 60506-1033 - More revisions to the local_call_time section +# 60508-1354 - Finished call_times and state_call_times sections +# - Added modify/delete options for call_times +# 60509-1311 - Functionalize campaign dialable leads calculation +# - Change state_call_times selection from call_times to only allow one per state +# - Added dialable leads count popup to campaign screen if auto-calc is disabled +# - Added test dialable leads count popup to filter screen +# 60510-1050 - Added Wrapup seconds and Wrapup message to campaigns screen +# 60608-1401 - Added allowable inbound_groups checkboxes to CLOSER campaign detail screen +# 60609-1051 - Added add-to-dnc in LISTS section +# 60613-1415 - Added lead recycling options to campaign detail screen +# 60619-1523 - Added variable filtering to eliminate SQL injection attack threat +# 60622-1216 - Fixed HotKey addition form issues and variable filtering +# 60623-1159 - Fixed Scheduled Callbacks over-filtering bug and filter_sql bug +# 60808-1147 - Changed filtering for and added instructions for consutative transfers +# 60816-1552 - Added allcalls_delay start delay for recordings in vicidial.php +# 60817-2226 - Fixed bug that would not allow lead recycling of non-selectable statuses +# 60821-1543 - Added option to Omit Phone Code while dialing in vicidial +# 60821-1625 - Added ALLFORCE recording option for campaign_recording +# 60823-1154 - Added fields for adaptive dialing +# 60824-1326 - Added adaptive_latest_target_gmt for ADAPT_TAPERED dial method +# 60825-1205 - Added adaptive_intensity for ADAPT_ dial methods +# 60828-1019 - Changed adaptive_latest_target_gmt to adaptive_latest_server_time +# 60828-1115 - Added adaptive_dl_diff_target and changed intensity dropdown +# 60927-1246 - Added astguiclient/admin.php functions under SERVERS tab +# 61002-1402 - Added fields for vicidial balance trunk controls +# 61003-1123 - Added functions for vicidial_server_trunks records +# 61109-1022 - Added Emergency VDAC Jam Clear function to Campaign Detail screen +# 61110-1502 - Add ability to select NONE in dial statuses, new list_id must not be < 100 +# 61122-1228 - Added user group campaign restrictions +# 61122-1535 - Changed script_text to unfiltered and added more variables to SCRIPTS +# 61129-1028 - Added headers to Users and Phones with clickable order-by titles +# 70108-1405 - Added ADAPT OVERRIDE to allow for forced dial_level changes in ADAPT dial methods +# - Screen width definable at top of script, merged server_stats into this script +# 70109-1638 - Added ALTPH2 and ADDR3 hotkey options for alt number dialing with HotKeys +# 70109-1716 - Added concurrent_transfers option to vicidial_campaigns +# 70115-1152 - Aded (CLOSER|BLEND|INBND|_C$|_B$|_I$) options for CLOSER-type campaigns +# 70115-1532 - Added auto_alt_dial field to campaign screen for auto-dialing of alt numbers +# 70116-1200 - Added auto_alt_dial_status functionality to campaign screen +# 70117-1235 - Added header formatting variables at top of script +# - Moved Call Times and Phones/Server functions to Admin section +# 70118-1706 - Added new user group displays and links +# 70123-1519 - Added user permission settings for all sections +# 70124-1346 - Fixed spelling errors and formatting consistency +# 70202-1120 - Added agent_pause_codes section to campaigns +# 70205-1204 - Added memo, last dialed, timestamp and stats-refresh fields to vicidial_campaigns/lists +# 70206-1323 - Added user setting for vicidial_recording_override +# 70212-1412 - Added system settings section +# 70214-1226 - Added QueueMetrics Log ID field to system settings section +# 70219-1102 - Changed campaign dial statuses to be one string allowing for high limit +# 70223-0957 - Added queuemetrics_eq_prepend for custom ENTERQUEUE prepending of a field +# 70302-1111 - Fixed small bug in dialable leads calculation +# 70314-1133 - Added insert selection on script forms +# 70319-1423 - Added Alter Customer Data and agent disable display functions +# 70319-1625 - Added option to allow agents to login to outbound campaigns with no leads in the hopper +# 70322-1455 - Added sipsak messages parameters +# 70402-1157 - Added HOME link and entry to system_settings table, added QM link on reports section +# 70516-1628 - Started reformatting campaigns to use submenus to break up options +# 70529-1653 - Added help for list mix +# 70530-1354 - Added human_answered field to statuses, added system status modification +# 70530-1714 - Added lists for all campaign subsections +# 70531-1631 - Development on List mix admin interface +# 70601-1629 - More development on List mix admin interface, formatting, and added some javascript +# 70602-1300 - More development on List mix admin interface, more javascript +# 70608-1459 - Added option to set LIVE Callbacks to INACTIVE after one month +# 70612-1451 - Added Callback INACTIVE link for after one week, sort by user/group/entrydate +# 70614-0231 - Added Status Categories, ability to Modify Statuses, moved system statuses to sub-section +# 70623-1008 - List Mix section now allows modification of list mix entries +# 70629-1721 - List Mix section adding and removing of list entries active +# 70706-1636 - List Mix section cleanup and more error-checking +# 70908-0941 - Added agc logile enable system_settings +# 71020-1934 - Added inbound groups options: on-hold music, messages, call_times +# 71022-1343 - Added inbound group ranks for users +# 71029-1710 - Added option for campaign to be inbound and/or blended with no restrictions on the campaign_id name +# - Added 5th NEW and 6th NEW to the dial order options +# 71030-2010 - Added Manual Dial List ID field to campaigns table +# 71103-2207 - Added inbound_group_rank and fewest_calls to the inbound groups call order options +# 71113-1521 - Added campaign_rank to agent options +# - Added ability to Copy a campaign's setting to a new campaign +# 71113-2225 - Added ability to copy user and in-group settings to new users and in-groups +# 71116-0942 - Added campaign_rank and fewest_calls as methods for agent call routing +# 71122-1135 - Added default transfer group for campaigns and inbound groups +# 71125-1751 - Added allowable transfer groups to campaign detail screen +# 80107-1204 - Started framework for new QC section +# 80112-0242 - Added more options for lead order +# 80211-1901 - Added DB Schema Version to system settings display +# 80224-1334 - Added Queue Priority to in-groups and campaigns +# 80302-0232 - added drop_action and transfer to in-group for both in-groups and outbound +# 80310-1504 - added QC settings section to campaign screen +# 80317-2037 - Added Recording override settings to in-groups +# 80414-1505 - More work on QC, added vicidial_qc_codes +# 80424-0442 - Added non_latin system_settings lookup at top to override dbconnect setting +# 80505-0333 - Added phones_alias sections to allow for load-balanced-phone-logins +# 80512-1529 - Added auto-generate of User ID feature +# 80515-1345 - Added Shifts sub-section to Admin section +# 80528-0001 - Added campaign survey sub-section +# 80528-1102 - Added user timeclock edit options +# 80608-1304 - Changed add-to-DNC to allow for multiple entries per submission +# 80625-0032 - Added time/phone display format options to system settings +# 80703-0124 - Added alter cust phone and api settings +# 80715-1130 - Added Recycle leads limit count +# 80719-1351 - Changed QC settings in campaigns and In-Groups +# 80809-2305 - Added Sale and Dead Lead categories to status categories page +# 80815-1036 - Added manual dial filter to capaigns +# 80823-2124 - Added copy to clipboard campaign option +# 80829-2359 - Added EXTENDED auto_alt_dial options +# 80831-0406 - Added agent screen extended alt-dial option to campaigns +# 80909-0553 - Added campaign-specific DNC list option and add +# 81002-1101 - Added more in-group options and new DID section and user options +# 81007-0936 - Added three_way_call_cid option to campaigns +# 81012-1725 - Added INBOUND_MAN dial method allowing for manual list dialing with inbound calls +# 81030-0348 - Added campaign pause code force option +# 81030-2228 - Fixed DIDs creation issue +# 81103-1408 - Added 3way call dial prefix option +# 81107-1551 - Added Stats Percent of Calls Answered Within X seconds fields to in-groups +# 81118-0933 - Changed lists listing with links and more options +# 81119-0715 - Added ability to bulk enable/disable lists from modify campaign screen +# 81209-1538 - Added web_form_target to campaign screen +# 81210-1430 - Added http server IP and recording link options to servers +# 81222-0500 - Reformatted all listings to same format changed to field selects instead of * +# 81228-2300 - Added fields for vtiger integration and active vicidial_user display +# 90101-1216 - Added options for user synchronization with vtiger +# 90112-0335 - Added vtiger_create_lead_record and vtiger_create_lead_record options +# 90115-0502 - Activated AGENT DID routing option +# 90126-2256 - Added vtiger_screen_login campaign option and user agent alert option +# 90201-1503 - Added option to disable the viewing of inactive QC features +# 90202-0112 - Added option to disable outbound autodialing(or list dialing) +# 90202-0444 - Added cpd_amd_action option for processing of AMD messages +# 90209-1339 - Added download_lists option to allow downloading of lists +# 90210-1042 - Added options for auto-generation of asterisk conf files +# 90301-2026 - Added Vtiger group synchronization +# 90302-2046 - Changed Section heading to be on the left side of the screen +# 90303-0631 - Added web vars to agent campaign and in-group settings +# 90303-2047 - Added group aliases and default group aliases +# 90306-1214 - Added shift enforcement and server/system calls per second options +# 90308-0956 - Added server statistics +# 90309-0059 - Changed logging to admin_server_log +# 90310-2203 - Added export_reports option for call activity report data exports +# +# make sure you have added a user to the vicidial_users MySQL table with at least user_level 8 to access this page the first time + +$admin_version = '2.0.5-172'; +$build = '90310-2203'; + +$STARTtime = date("U"); +$SQLdate = date("Y-m-d H:i:s"); +$REPORTdate = date("Y-m-d"); +$MT[0]=''; +$US='_'; +$active_lists=0; +$inactive_lists=0; + +$month_old = mktime(0, 0, 0, date("m")-1, date("d"), date("Y")); +$past_month_date = date("Y-m-d H:i:s",$month_old); +$week_old = mktime(0, 0, 0, date("m"), date("d")-7, date("Y")); +$past_week_date = date("Y-m-d H:i:s",$week_old); + +if ($force_logout) +{ + if( (strlen($PHP_AUTH_USER)>0) or (strlen($PHP_AUTH_PW)>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "You have now logged out. Thank you\n"; + exit; +} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and active='Y';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or ($auth<1)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT * from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfull_name =$row[3]; + $LOGuser_level =$row[4]; + $LOGuser_group =$row[5]; + $LOGdelete_users =$row[8]; + $LOGdelete_user_groups =$row[9]; + $LOGdelete_lists =$row[10]; + $LOGdelete_campaigns =$row[11]; + $LOGdelete_ingroups =$row[12]; + $LOGdelete_remote_agents =$row[13]; + $LOGload_leads =$row[14]; + $LOGcampaign_detail =$row[15]; + $LOGast_admin_access =$row[16]; + $LOGast_delete_phones =$row[17]; + $LOGdelete_scripts =$row[18]; + $LOGdelete_filters =$row[29]; + $LOGalter_agent_interface =$row[30]; + $LOGdelete_call_times =$row[32]; + $LOGmodify_call_times =$row[33]; + $LOGmodify_users =$row[34]; + $LOGmodify_campaigns =$row[35]; + $LOGmodify_lists =$row[36]; + $LOGmodify_scripts =$row[37]; + $LOGmodify_filters =$row[38]; + $LOGmodify_ingroups =$row[39]; + $LOGmodify_usergroups =$row[40]; + $LOGmodify_remoteagents =$row[41]; + $LOGmodify_servers =$row[42]; + $LOGview_reports =$row[43]; + $LOGmodify_dids =$row[56]; + $LOGdelete_dids =$row[57]; + $LOGmanager_shift_enforcement_override=$row[61]; + $LOGexport_reports =$row[64]; + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$LOGuser_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGallowed_campaigns =$row[0]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|XXXX|$ip|$browser|$LOGfull_name|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +###################################################################################################### +###################################################################################################### +####### Header settings +###################################################################################################### +###################################################################################################### + + +header ("Content-type: text/html; charset=utf-8"); +echo "\n"; +echo "\n"; +echo "\n"; +echo "VICIDIAL ADMIN: "; + +if (!isset($ADD)) {$ADD=0;} + +if ($ADD=="1") {$hh='users'; echo "Add New User";} +if ($ADD=="1A") {$hh='users'; echo "Copy User";} +if ($ADD==11) {$hh='campaigns'; $sh='basic'; echo "Add New Campaign";} +if ($ADD==12) {$hh='campaigns'; $sh='basic'; echo "Copy Campaign";} +if ($ADD==111) {$hh='lists'; echo "Add New List";} +if ($ADD==121) {$hh='lists'; echo "Add New DNC";} +if ($ADD==1111) {$hh='ingroups'; echo "Add New In-Group";} +if ($ADD==1211) {$hh='ingroups'; echo "Copy In-Group";} +if ($ADD==1311) {$hh='ingroups'; echo "Add New DID";} +if ($ADD==1411) {$hh='ingroups'; echo "Copy DID";} +if ($ADD==11111) {$hh='remoteagent'; echo "Add New Remote Agents";} +if ($ADD==111111) {$hh='usergroups'; echo "Add New Users Group";} +if ($ADD==1111111) {$hh='scripts'; echo "Add New Script";} +if ($ADD==11111111) {$hh='filters'; echo "Add New Filter";} +if ($ADD==111111111) {$hh='admin'; $sh='times'; echo "Add New Call Time";} +if ($ADD==131111111) {$hh='admin'; $sh='shifts'; echo "Add New Shift";} +if ($ADD==1111111111) {$hh='admin'; $sh='times'; echo "Add New State Call Time";} +if ($ADD==11111111111) {$hh='admin'; $sh='phones'; echo "ADD NEW PHONE";} +if ($ADD==12111111111) {$hh='admin'; $sh='phones'; echo "ADD NEW PHONE ALIAS";} +if ($ADD==13111111111) {$hh='admin'; $sh='phones'; echo "ADD NEW GROUP ALIAS";} +if ($ADD==111111111111) {$hh='admin'; $sh='server'; echo "ADD NEW SERVER";} +if ($ADD==131111111111) {$hh='admin'; $sh='templates'; echo "ADD NEW CONF TEMPLATE";} +if ($ADD==141111111111) {$hh='admin'; $sh='carriers'; echo "ADD NEW CARRIER";} +if ($ADD==1111111111111) {$hh='admin'; $sh='conference'; echo "ADD NEW CONFERENCE";} +if ($ADD==11111111111111) {$hh='admin'; $sh='conference'; echo "ADD NEW VICIDIAL CONFERENCE";} +if ($ADD=='2') {$hh='users'; echo "New User Addition";} +if ($ADD=='2A') {$hh='users'; echo "New Copied User Addition";} +if ($ADD==20) {$hh='campaigns'; $sh='basic'; echo "New Copied Campaign Addition";} +if ($ADD==21) {$hh='campaigns'; $sh='basic'; echo "New Campaign Addition";} +if ($ADD==22) {$hh='campaigns'; $sh='status'; echo "New Campaign Status Addition";} +if ($ADD==23) {$hh='campaigns'; $sh='hotkey'; echo "New Campaign HotKey Addition";} +if ($ADD==25) {$hh='campaigns'; $sh='recycle'; echo "New Campaign Lead Recycle Addition";} +if ($ADD==26) {$hh='campaigns'; $sh='autoalt'; echo "New Auto Alt Dial Status";} +if ($ADD==27) {$hh='campaigns'; $sh='pause'; echo "New Agent Pause Code";} +if ($ADD==28) {$hh='campaigns'; $sh='dialstat'; echo "Campaign Dial Status Added";} +if ($ADD==29) {$hh='campaigns'; $sh='listmix'; echo "Campaign List Mix Added";} +if ($ADD==211) {$hh='lists'; echo "New List Addition";} +if ($ADD==2111) {$hh='ingroups'; echo "New In-Group Addition";} +if ($ADD==2011) {$hh='ingroups'; echo "New Copied In-Group Addition";} +if ($ADD==2311) {$hh='ingroups'; echo "New DID Addition";} +if ($ADD==2411) {$hh='ingroups'; echo "New Copied DID Addition";} +if ($ADD==21111) {$hh='remoteagent'; echo "New Remote Agents Addition";} +if ($ADD==211111) {$hh='usergroups'; echo "New Users Group Addition";} +if ($ADD==2111111) {$hh='scripts'; echo "New Script Addition";} +if ($ADD==21111111) {$hh='filters'; echo "New Filter Addition";} +if ($ADD==211111111) {$hh='admin'; $sh='times'; echo "New Call Time Addition";} +if ($ADD==231111111) {$hh='admin'; $sh='shifts'; echo "New Shift Addition";} +if ($ADD==2111111111) {$hh='admin'; $sh='times'; echo "New State Call Time Addition";} +if ($ADD==21111111111) {$hh='admin'; $sh='phones'; echo "ADDING NEW PHONE";} +if ($ADD==22111111111) {$hh='admin'; $sh='phones'; echo "ADDING NEW PHONE ALIAS";} +if ($ADD==23111111111) {$hh='admin'; $sh='phones'; echo "ADDING NEW GROUP ALIAS";} +if ($ADD==211111111111) {$hh='admin'; $sh='server'; echo "ADDING NEW SERVER";} +if ($ADD==221111111111) {$hh='admin'; $sh='server'; echo "ADDING NEW SERVER VICIDIAL TRUNK RECORD";} +if ($ADD==231111111111) {$hh='admin'; $sh='templates'; echo "ADDING NEW CONF TEMPLATE";} +if ($ADD==241111111111) {$hh='admin'; $sh='carriers'; echo "ADDING NEW CARRIER";} +if ($ADD==2111111111111) {$hh='admin'; $sh='conference'; echo "ADDING NEW CONFERENCE";} +if ($ADD==21111111111111) {$hh='admin'; $sh='conference'; echo "ADDING NEW VICIDIAL CONFERENCE";} +if ($ADD==221111111111111) {$hh='admin'; $sh='status'; echo "ADDING VICIDIAL SYSTEM STATUSES";} +if ($ADD==231111111111111) {$hh='admin'; $sh='status'; echo "ADDING VICIDIAL STATUS CATEGORY";} +if ($ADD==241111111111111) {$hh='admin'; $sh='status'; echo "ADDING VICIDIAL QC STATUS CODE";} +if ($ADD==3) {$hh='users'; echo "Modify User";} +if ($ADD==30) {$hh='campaigns'; echo "Campaign Not Allowed";} +if ($ADD==31) + { + $hh='campaigns'; $sh='detail'; echo "Modify Campaign - Detail - $campaign_id"; + if ($SUB==22) {echo " - Statuses";} + if ($SUB==23) {echo " - HotKeys";} + if ($SUB==25) {echo " - Lead Recycle Entries";} + if ($SUB==26) {echo " - Auto Alt Dial Statuses";} + if ($SUB==27) {echo " - Agent Pause Codes";} + if ($SUB==28) {echo " - QC";} + if ($SUB==29) {echo " - List Mixes";} + if ($SUB=='20A') {echo " - Survey";} + } +if ($ADD==34) + { + $hh='campaigns'; $sh='basic'; echo "Modify Campaign - Basic View - $campaign_id"; + if ($SUB==22) {echo " - Statuses";} + if ($SUB==23) {echo " - HotKeys";} + if ($SUB==25) {echo " - Lead Recycle Entries";} + if ($SUB==26) {echo " - Auto Alt Dial Statuses";} + if ($SUB==27) {echo " - Agent Pause Codes";} + if ($SUB==28) {echo " - QC";} + if ($SUB==29) {echo " - List Mixes";} + if ($SUB=='20A') {echo " - Survey";} + } +if ($ADD==32) {$hh='campaigns'; $sh='status'; echo "Campaign Statuses";} +if ($ADD==33) {$hh='campaigns'; $sh='hotkey'; echo "Campaign HotKeys";} +if ($ADD==35) {$hh='campaigns'; $sh='recycle'; echo "Campaign Lead Recycle Entries";} +if ($ADD==36) {$hh='campaigns'; $sh='autoalt'; echo "Campaign Auto Alt Dial Statuses";} +if ($ADD==37) {$hh='campaigns'; $sh='pause'; echo "Campaign Agent Pause Codes";} +if ($ADD==38) {$hh='campaigns'; $sh='dialstat'; echo "Campaign Dial Statuses";} +if ($ADD==39) {$hh='campaigns'; $sh='listmix'; echo "Campaign List Mixes";} +if ($ADD==311) {$hh='lists'; echo "Modify List";} +if ($ADD==3111) {$hh='ingroups'; echo "Modify In-Group";} +if ($ADD==3311) {$hh='ingroups'; echo "Modify DID";} +if ($ADD==31111) {$hh='remoteagent'; echo "Modify Remote Agents";} +if ($ADD==311111) {$hh='usergroups'; echo "Modify Users Groups";} +if ($ADD==3111111) {$hh='scripts'; echo "Modify Script";} +if ($ADD==31111111) {$hh='filters'; echo "Modify Filter";} +if ($ADD==311111111) {$hh='admin'; $sh='times'; echo "Modify Call Time";} +if ($ADD==321111111) {$hh='admin'; $sh='times'; echo "Modify Call Time State Definitions List";} +if ($ADD==331111111) {$hh='admin'; $sh='shifts'; echo "Modify Shift";} +if ($ADD==3111111111) {$hh='admin'; $sh='times'; echo "Modify State Call Time";} +if ($ADD==31111111111) {$hh='admin'; $sh='phones'; echo "MODIFY PHONE";} +if ($ADD==32111111111) {$hh='admin'; $sh='phones'; echo "MODIFY PHONE ALIAS";} +if ($ADD==33111111111) {$hh='admin'; $sh='phones'; echo "MODIFY GROUP ALIAS";} +if ($ADD==311111111111) {$hh='admin'; $sh='server'; echo "MODIFY SERVER";} +if ($ADD==331111111111) {$hh='admin'; $sh='templates'; echo "MODIFY CONF TEMPLATE";} +if ($ADD==341111111111) {$hh='admin'; $sh='carriers'; echo "MODIFY CARRIER";} +if ($ADD==3111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY CONFERENCE";} +if ($ADD==31111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY VICIDIAL CONFERENCE";} +if ($ADD==311111111111111) {$hh='admin'; $sh='settings'; echo "MODIFY VICIDIAL SYSTEM SETTINGS";} +if ($ADD==321111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL SYSTEM STATUSES";} +if ($ADD==331111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL STATUS CATEGORY";} +if ($ADD==341111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL QC STATUS CODE";} +if ($ADD=="4A") {$hh='users'; echo "Modify User - Admin";} +if ($ADD=="4B") {$hh='users'; echo "Modify User - Admin";} +if ($ADD==4) {$hh='users'; echo "Modify User";} +if ($ADD==41) {$hh='campaigns'; $sh='detail'; echo "Modify Campaign";} +if ($ADD==42) {$hh='campaigns'; $sh='status'; echo "Modify Campaign Status";} +if ($ADD==43) {$hh='campaigns'; $sh='hotkey'; echo "Modify Campaign HotKey";} +if ($ADD==44) {$hh='campaigns'; $sh='basic'; echo "Modify Campaign - Basic View";} +if ($ADD==45) {$hh='campaigns'; $sh='recycle'; echo "Modify Campaign Lead Recycle";} +if ($ADD==47) {$hh='campaigns'; $sh='pause'; echo "Modify Agent Pause Code";} +if ($ADD==48) {$hh='campaigns'; $sh='qc'; echo "Modify Campaign QC Settings";} +if ($ADD==49) {$hh='campaigns'; $sh='listmix'; echo "Modify Campaign List Mix";} +if ($ADD=='40A') {$hh='campaigns'; $sh='survey'; echo "Modify Campaign Survey";} +if ($ADD==411) {$hh='lists'; echo "Modify List";} +if ($ADD==4111) {$hh='ingroups'; echo "Modify In-Group";} +if ($ADD==4311) {$hh='ingroups'; echo "Modify DID";} +if ($ADD==41111) {$hh='remoteagent'; echo "Modify Remote Agents";} +if ($ADD==411111) {$hh='usergroups'; echo "Modify Users Groups";} +if ($ADD==4111111) {$hh='scripts'; echo "Modify Script";} +if ($ADD==41111111) {$hh='filters'; echo "Modify Filter";} +if ($ADD==411111111) {$hh='admin'; $sh='times'; echo "Modify Call Time";} +if ($ADD==431111111) {$hh='admin'; $sh='shifts'; echo "Modify Shift";} +if ($ADD==4111111111) {$hh='admin'; $sh='times'; echo "Modify State Call Time";} +if ($ADD==41111111111) {$hh='admin'; $sh='phones'; echo "MODIFY PHONE";} +if ($ADD==42111111111) {$hh='admin'; $sh='phones'; echo "MODIFY PHONE ALIAS";} +if ($ADD==43111111111) {$hh='admin'; $sh='phones'; echo "MODIFY GROUP ALIAS";} +if ($ADD==411111111111) {$hh='admin'; $sh='server'; echo "MODIFY SERVER";} +if ($ADD==421111111111) {$hh='admin'; $sh='server'; echo "MODIFY SERVER VICIDIAL TRUNK RECORD";} +if ($ADD==431111111111) {$hh='admin'; $sh='templates'; echo "MODIFY CONF TEMPLATE";} +if ($ADD==441111111111) {$hh='admin'; $sh='carriers'; echo "MODIFY CARRIER";} +if ($ADD==4111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY CONFERENCE";} +if ($ADD==41111111111111) {$hh='admin'; $sh='conference'; echo "MODIFY VICIDIAL CONFERENCE";} +if ($ADD==411111111111111) {$hh='admin'; $sh='settings'; echo "MODIFY VICIDIAL SYSTEM SETTINGS";} +if ($ADD==421111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL SYSTEM STATUSES";} +if ($ADD==431111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL STATUS CATEGORIES";} +if ($ADD==441111111111111) {$hh='admin'; $sh='status'; echo "MODIFY VICIDIAL QC STATUS CODE";} +if ($ADD==5) {$hh='users'; echo "Delete User";} +if ($ADD==51) {$hh='campaigns'; $sh='detail'; echo "Delete Campaign";} +if ($ADD==52) {$hh='campaigns'; $sh='detail'; echo "Logout Agents";} +if ($ADD==53) {$hh='campaigns'; $sh='detail'; echo "Emergency VDAC Jam Clear";} +if ($ADD==511) {$hh='lists'; echo "Delete List";} +if ($ADD==5111) {$hh='ingroups'; echo "Delete In-Group";} +if ($ADD==5311) {$hh='ingroups'; echo "Delete DID";} +if ($ADD==51111) {$hh='remoteagent'; echo "Delete Remote Agents";} +if ($ADD==511111) {$hh='usergroups'; echo "Delete Users Group";} +if ($ADD==5111111) {$hh='scripts'; echo "Delete Script";} +if ($ADD==51111111) {$hh='filters'; echo "Delete Filter";} +if ($ADD==511111111) {$hh='admin'; $sh='times'; echo "Delete Call Time";} +if ($ADD==531111111) {$hh='admin'; $sh='shifts'; echo "Delete Shift";} +if ($ADD==5111111111) {$hh='admin'; $sh='times'; echo "Delete State Call Time";} +if ($ADD==51111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} +if ($ADD==52111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE ALIAS";} +if ($ADD==53111111111) {$hh='admin'; $sh='phones'; echo "DELETE GROUP ALIAS";} +if ($ADD==511111111111) {$hh='admin'; $sh='server'; echo "DELETE SERVER";} +if ($ADD==531111111111) {$hh='admin'; $sh='templates'; echo "DELETE CONF TEMPLATE";} +if ($ADD==541111111111) {$hh='admin'; $sh='carriers'; echo "DELETE CARRIER";} +if ($ADD==5111111111111) {$hh='admin'; $sh='conference'; echo "DELETE CONFERENCE";} +if ($ADD==51111111111111) {$hh='admin'; $sh='conference'; echo "DELETE VICIDIAL CONFERENCE";} +if ($ADD==6) {$hh='users'; echo "Delete User";} +if ($ADD==61) {$hh='campaigns'; $sh='detail'; echo "Delete Campaign";} +if ($ADD==62) {$hh='campaigns'; $sh='detail'; echo "Logout Agents";} +if ($ADD==63) {$hh='campaigns'; $sh='detail'; echo "Emergency VDAC Jam Clear";} +if ($ADD==65) {$hh='campaigns'; $sh='recycle'; echo "Delete Lead Recycle";} +if ($ADD==66) {$hh='campaigns'; $sh='autoalt'; echo "Delete Auto Alt Dial Status";} +if ($ADD==67) {$hh='campaigns'; $sh='pause'; echo "Delete Agent Pause Code";} +if ($ADD==68) {$hh='campaigns'; $sh='dialstat'; echo "Campaign Dial Status Removed";} +if ($ADD==69) {$hh='campaigns'; $sh='listmix'; echo "Campaign List Mix Removed";} +if ($ADD==611) {$hh='lists'; echo "Delete List";} +if ($ADD==6111) {$hh='ingroups'; echo "Delete In-Group";} +if ($ADD==6311) {$hh='ingroups'; echo "Delete DID";} +if ($ADD==61111) {$hh='remoteagent'; echo "Delete Remote Agents";} +if ($ADD==611111) {$hh='usergroups'; echo "Delete Users Group";} +if ($ADD==6111111) {$hh='scripts'; echo "Delete Script";} +if ($ADD==61111111) {$hh='filters'; echo "Delete Filter";} +if ($ADD==611111111) {$hh='admin'; $sh='times'; echo "Delete Call Time";} +if ($ADD==631111111) {$hh='admin'; $sh='shifts'; echo "Delete Shift";} +if ($ADD==6111111111) {$hh='admin'; $sh='times'; echo "Delete State Call Time";} +if ($ADD==61111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE";} +if ($ADD==62111111111) {$hh='admin'; $sh='phones'; echo "DELETE PHONE ALIAS";} +if ($ADD==63111111111) {$hh='admin'; $sh='phones'; echo "DELETE GROUP ALIAS";} +if ($ADD==611111111111) {$hh='admin'; $sh='server'; echo "DELETE SERVER";} +if ($ADD==621111111111) {$hh='admin'; $sh='server'; echo "DELETE SERVER VICIDIAL TRUNK RECORD";} +if ($ADD==621111111111) {$hh='admin'; $sh='templates'; echo "DELETE CONF TEMPLATE";} +if ($ADD==621111111111) {$hh='admin'; $sh='carriers'; echo "DELETE CARRIER";} +if ($ADD==6111111111111) {$hh='admin'; $sh='conference'; echo "DELETE CONFERENCE";} +if ($ADD==61111111111111) {$hh='admin'; $sh='conference'; echo "DELETE VICIDIAL CONFERENCE";} +if ($ADD==73) {$hh='campaigns'; echo "Dialable Lead Count";} +if ($ADD==7111111) {$hh='scripts'; echo "Preview Script";} +if ($ADD==700000000000000) {$hh='reports'; echo "VICIDIAL ADMIN CHANGE LOG";} +if ($ADD==710000000000000) {$hh='reports'; echo "VICIDIAL USER ADMIN CHANGE LOG";} +if ($ADD==720000000000000) {$hh='reports'; echo "VICIDIAL SECTION ADMIN CHANGE LOG";} +if ($ADD==730000000000000) {$hh='reports'; echo "VICIDIAL DETAIL ADMIN CHANGE LOG";} +if ($ADD==0) {$hh='users'; echo "Users List";} +if ($ADD==8) {$hh='users'; echo "CallBacks Within Agent";} +if ($ADD==81) {$hh='campaigns'; $sh='list'; echo "CallBacks Within Campaign";} +if ($ADD==811) {$hh='lists'; echo "CallBacks Within List";} +if ($ADD==8111) {$hh='usergroups'; echo "CallBacks Within User Group";} +if ($ADD==10) {$hh='campaigns'; $sh='list'; echo "Campaigns";} +if ($ADD==100) {$hh='lists'; echo "Lists";} +if ($ADD==1000) {$hh='ingroups'; echo "In-Groups";} +if ($ADD==1300) {$hh='ingroups'; echo "DIDs";} +if ($ADD==10000) {$hh='remoteagent'; echo "Remote Agents";} +if ($ADD==100000) {$hh='usergroups'; echo "User Groups";} +if ($ADD==1000000) {$hh='scripts'; echo "Scripts";} +if ($ADD==10000000) {$hh='filters'; echo "Filters";} +if ($ADD==100000000) {$hh='admin'; $sh='times'; echo "Call Times";} +if ($ADD==130000000) {$hh='admin'; $sh='shifts'; echo "Shifts";} +if ($ADD==1000000000) {$hh='admin'; $sh='times'; echo "State Call Times";} +if ($ADD==10000000000) {$hh='admin'; $sh='phones'; echo "PHONE LIST";} +if ($ADD==12000000000) {$hh='admin'; $sh='phones'; echo "PHONE ALIAS LIST";} +if ($ADD==13000000000) {$hh='admin'; $sh='phones'; echo "GROUP ALIAS LIST";} +if ($ADD==100000000000) {$hh='admin'; $sh='server'; echo "SERVER LIST";} +if ($ADD==130000000000) {$hh='admin'; $sh='templates'; echo "CONF TEMPLATE LIST";} +if ($ADD==140000000000) {$hh='admin'; $sh='carriers'; echo "CARRIER LIST";} +if ($ADD==1000000000000) {$hh='admin'; $sh='conference'; echo "CONFERENCE LIST";} +if ($ADD==10000000000000) {$hh='admin'; $sh='conference'; echo "VICIDIAL CONFERENCE LIST";} +if ($ADD==550) {$hh='users'; echo "Search Form";} +if ($ADD==551) {$hh='users'; echo "SEARCH PHONES";} +if ($ADD==660) {$hh='users'; echo "Search Results";} +if ($ADD==661) {$hh='users'; echo "SEARCH PHONES RESULTS";} +if ($ADD==99999) {$hh='users'; echo "HELP";} +if ($ADD==999999) {$hh='reports'; echo "REPORTS";} + +if ( ($ADD>9) && ($ADD < 99998) ) + { + ##### get scripts listing for dynamic pulldown + $stmt="SELECT script_id,script_name from vicidial_scripts order by script_id"; + $rslt=mysql_query($stmt, $link); + $scripts_to_print = mysql_num_rows($rslt); + $scripts_list="<option value=\"\">NONE</option>\n"; + + $o=0; + while ($scripts_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $scripts_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $scriptname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + ##### get filters listing for dynamic pulldown + $stmt="SELECT lead_filter_id,lead_filter_name,lead_filter_sql from vicidial_lead_filters order by lead_filter_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + $filters_list="<option value=\"\">NONE</option>\n"; + + $o=0; + while ($filters_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $filters_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $filtername_list["$rowx[0]"] = "$rowx[1]"; + $filtersql_list["$rowx[0]"] = "$rowx[2]"; + $o++; + } + + ##### get call_times listing for dynamic pulldown + $stmt="SELECT call_time_id,call_time_name from vicidial_call_times order by call_time_id"; + $rslt=mysql_query($stmt, $link); + $times_to_print = mysql_num_rows($rslt); + + $o=0; + while ($times_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $call_times_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $call_timename_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + } + +if ( ( (strlen($ADD)>4) && ($ADD < 99998) ) or ($ADD==3) or (($ADD>20) and ($ADD<70)) or ($ADD=="4A") or ($ADD=="4B") or (strlen($ADD)==12) ) + { + ##### get server listing for dynamic pulldown + $stmt="SELECT server_ip,server_description from servers order by server_ip"; + $rslt=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rslt); + $servers_list=''; + + $o=0; + while ($servers_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $servers_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + ##### BEGIN get campaigns listing for rankings ##### + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + $campaigns_value=''; + $RANKcampaigns_list="<tr><td>CAMPAIGN</td><td>     RANK</td><td>     CALLS</td><td ALIGN=CENTER>WEB VARS</td></tr>\n"; + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $campaign_id_values[$o] = $rowx[0]; + $campaign_name_values[$o] = $rowx[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + $group_web_vars=''; + $campaign_web=''; + $stmt="SELECT campaign_rank,calls_today,group_web_vars from vicidial_campaign_agents where user='$user' and campaign_id='$campaign_id_values[$o]'"; + $rslt=mysql_query($stmt, $link); + $ranks_to_print = mysql_num_rows($rslt); + if ($ranks_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $SELECT_campaign_rank = $row[0]; + $calls_today = $row[1]; + $group_web_vars = $row[2]; + } + else + {$calls_today=0; $SELECT_campaign_rank=0; $group_web_vars='';} + if ( ($ADD=="4A") or ($ADD=="4B") ) + { + if (isset($_GET["RANK_$campaign_id_values[$o]"])) {$campaign_rank=$_GET["RANK_$campaign_id_values[$o]"];} + elseif (isset($_POST["RANK_$campaign_id_values[$o]"])) {$campaign_rank=$_POST["RANK_$campaign_id_values[$o]"];} + if (isset($_GET["WEB_$campaign_id_values[$o]"])) {$campaign_web=$_GET["WEB_$campaign_id_values[$o]"];} + elseif (isset($_POST["WEB_$campaign_id_values[$o]"])) {$campaign_web=$_POST["WEB_$campaign_id_values[$o]"];} + if ($non_latin < 1) + { + $campaign_rank = ereg_replace("[^-\_0-9]","",$campaign_rank); + $campaign_web = preg_replace("/;|\"|\'/","",$campaign_web); + } + + if ($ranks_to_print > 0) + { + $stmt="UPDATE vicidial_campaign_agents set campaign_rank='$campaign_rank', campaign_weight='$campaign_rank', group_web_vars='$campaign_web' where campaign_id='$campaign_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO vicidial_campaign_agents set campaign_rank='$campaign_rank', campaign_weight='$campaign_rank', campaign_id='$campaign_id_values[$o]', user='$user', group_web_vars='$campaign_web';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_live_agents set campaign_weight='$campaign_rank' where campaign_id='$campaign_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else {$campaign_rank = $SELECT_campaign_rank;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + # disable non user-group allowable campaign ranks + $stmt="SELECT user_group from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Ruser_group = $row[0]; + + $stmt="SELECT allowed_campaigns from vicidial_user_groups where user_group='$Ruser_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_campaigns = $row[0]; + $allowed_campaigns = preg_replace("/ -$/","",$allowed_campaigns); + $UGcampaigns = explode(" ", $allowed_campaigns); + + $p=0; $RANK_camp_active=0; $CR_disabled = ''; + if (eregi('-ALL-CAMPAIGNS-',$allowed_campaigns)) + {$RANK_camp_active++;} + else + { + $UGcampaign_ct = count($UGcampaigns); + while ($p < $UGcampaign_ct) + { + if ($campaign_id_values[$o] == $UGcampaigns[$p]) + {$RANK_camp_active++;} + $p++; + } + } + if ($RANK_camp_active < 1) {$CR_disabled = 'DISABLED';} + + $RANKcampaigns_list .= "<tr $bgcolor><td>"; + $campaigns_list .= "<a href=\"$PHP_SELF?ADD=31&campaign_id=$campaign_id_values[$o]\">$campaign_id_values[$o]</a> - $campaign_name_values[$o] <BR>\n"; + $RANKcampaigns_list .= "<a href=\"$PHP_SELF?ADD=31&campaign_id=$campaign_id_values[$o]\">$campaign_id_values[$o]</a> - $campaign_name_values[$o] </td>"; + $RANKcampaigns_list .= "<td>     <select size=1 name=RANK_$campaign_id_values[$o] $CR_disabled>\n"; + $h="9"; + while ($h>=-9) + { + $RANKcampaigns_list .= "<option value=\"$h\""; + if ($h==$campaign_rank) + {$RANKcampaigns_list .= " SELECTED";} + $RANKcampaigns_list .= ">$h</option>"; + $h--; + } + if ( (strlen($campaign_web) < 1) and (strlen($group_web_vars) > 0) ) + {$campaign_web=$group_web_vars;} + $RANKcampaigns_list .= "</select></td>\n"; + $RANKcampaigns_list .= "<td align=right>     $calls_today</td>\n"; + $RANKcampaigns_list .= "<td>     <input type=text size=25 maxlength=255 name=WEB_$campaign_id_values[$o] value=\"$campaign_web\"></td></tr>\n"; + $o++; + } + ##### END get campaigns listing for rankings ##### + + + ##### BEGIN get inbound groups listing for checkboxes ##### + $xfer_groupsSQL=''; + if ( (($ADD>20) and ($ADD<70)) and ($ADD!=41) or ( ($ADD==41) and (eregi('list_activation', $stage))) ) + { + $stmt="SELECT closer_campaigns,xfer_groups from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + $xfer_groups = $row[1]; + $xfer_groups = preg_replace("/ -$/","",$xfer_groups); + $XFERgroups = explode(" ", $xfer_groups); + $xfer_groupsSQL = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groupsSQL = preg_replace("/ /","','",$xfer_groupsSQL); + $xfer_groupsSQL = "WHERE group_id IN('$xfer_groupsSQL')"; + } + if ($ADD==41) + { + $p=0; + $XFERgroup_ct = count($XFERgroups); + while ($p < $XFERgroup_ct) + { + $xfer_groups .= " $XFERgroups[$p]"; + $p++; + } + $xfer_groupsSQL = preg_replace("/^ | -$/","",$xfer_groups); + $xfer_groupsSQL = preg_replace("/ /","','",$xfer_groupsSQL); + $xfer_groupsSQL = "WHERE group_id IN('$xfer_groupsSQL')"; + } + + if ( (($ADD==31111) or ($ADD==31111)) and (count($groups)<1) ) + { + $stmt="SELECT closer_campaigns from vicidial_remote_agents where remote_agent_id='$remote_agent_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + } + + if ($ADD==3) + { + $stmt="SELECT closer_campaigns from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups order by group_id"; +# $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') order by group_id"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $groups_list=''; + $groups_value=''; + $XFERgroups_list=''; + $RANKgroups_list="<tr><td>INBOUND GROUP</td><td>     RANK</td><td>     CALLS</td><td ALIGN=CENTER>WEB VARS</td></tr>\n"; + + $o=0; + while ($groups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $group_id_values[$o] = $rowx[0]; + $group_name_values[$o] = $rowx[1]; + $o++; + } + + $o=0; + while ($groups_to_print > $o) + { + $group_web_vars=''; + $group_web=''; + $stmt="SELECT group_rank,calls_today,group_web_vars from vicidial_inbound_group_agents where user='$user' and group_id='$group_id_values[$o]'"; + $rslt=mysql_query($stmt, $link); + $ranks_to_print = mysql_num_rows($rslt); + if ($ranks_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $SELECT_group_rank = $row[0]; + $calls_today = $row[1]; + $group_web_vars = $row[2]; + } + else + {$calls_today=0; $SELECT_group_rank=0;} + if ( ($ADD=="4A") or ($ADD=="4B") ) + { + if (isset($_GET["RANK_$group_id_values[$o]"])) {$group_rank=$_GET["RANK_$group_id_values[$o]"];} + elseif (isset($_POST["RANK_$group_id_values[$o]"])) {$group_rank=$_POST["RANK_$group_id_values[$o]"];} + if (isset($_GET["WEB_$group_id_values[$o]"])) {$group_web=$_GET["WEB_$group_id_values[$o]"];} + elseif (isset($_POST["WEB_$group_id_values[$o]"])) {$group_web=$_POST["WEB_$group_id_values[$o]"];} + + if ($non_latin < 1) + { + $group_rank = ereg_replace("[^-\_0-9]","",$group_rank); + $group_web = preg_replace("/;|\"|\'/","",$group_web); + } + + if ($ranks_to_print > 0) + { + $stmt="UPDATE vicidial_inbound_group_agents set group_rank='$group_rank', group_weight='$group_rank', group_web_vars='$group_web' where group_id='$group_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else + { + $stmt="INSERT INTO vicidial_inbound_group_agents set group_rank='$group_rank', group_weight='$group_rank', group_id='$group_id_values[$o]', user='$user', group_web_vars='$group_web';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="UPDATE vicidial_live_inbound_agents set group_weight='$group_rank' where group_id='$group_id_values[$o]' and user='$user';"; + $rslt=mysql_query($stmt, $link); + } + else {$group_rank = $SELECT_group_rank;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $groups_list .= "<input type=\"checkbox\" name=\"groups[]\" value=\"$group_id_values[$o]\""; + $XFERgroups_list .= "<input type=\"checkbox\" name=\"XFERgroups[]\" value=\"$group_id_values[$o]\""; + $RANKgroups_list .= "<tr $bgcolor><td><input type=\"checkbox\" name=\"groups[]\" value=\"$group_id_values[$o]\""; + $p=0; + $group_ct = count($groups); + while ($p < $group_ct) + { + if ($group_id_values[$o] == $groups[$p]) + { + $groups_list .= " CHECKED"; + $RANKgroups_list .= " CHECKED"; + $groups_value .= " $group_id_values[$o]"; + } + $p++; + } + $p=0; + $XFERgroup_ct = count($XFERgroups); + while ($p < $XFERgroup_ct) + { + if ($group_id_values[$o] == $XFERgroups[$p]) + { + $XFERgroups_list .= " CHECKED"; + $XFERgroups_value .= " $group_id_values[$o]"; + } + $p++; + } + $stmt="SELECT queue_priority from vicidial_inbound_groups where group_id='$group_id_values[$o]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VIG_priority = $row[0]; + + $groups_list .= "> <a href=\"$PHP_SELF?ADD=3111&group_id=$group_id_values[$o]\">$group_id_values[$o]</a> - $group_name_values[$o] - $VIG_priority <BR>\n"; + $XFERgroups_list .= "> <a href=\"$PHP_SELF?ADD=3111&group_id=$group_id_values[$o]\">$group_id_values[$o]</a> - $group_name_values[$o] <BR>\n"; + $RANKgroups_list .= "> <a href=\"$PHP_SELF?ADD=3111&group_id=$group_id_values[$o]\">$group_id_values[$o]</a> - $group_name_values[$o] </td>"; + $RANKgroups_list .= "<td>     <select size=1 name=RANK_$group_id_values[$o]>\n"; + $h="9"; + while ($h>=-9) + { + $RANKgroups_list .= "<option value=\"$h\""; + if ($h==$group_rank) + {$RANKgroups_list .= " SELECTED";} + $RANKgroups_list .= ">$h</option>"; + $h--; + } + if ( (strlen($group_web) < 1) and (strlen($group_web_vars) > 0) ) + {$group_web=$group_web_vars;} + $RANKgroups_list .= "</select></td>\n"; + $RANKgroups_list .= "<td align=right>     $calls_today</td>\n"; + $RANKgroups_list .= "<td>     <input type=text size=25 maxlength=255 name=WEB_$group_id_values[$o] value=\"$group_web\"></td></tr>\n"; + $o++; + } + if (strlen($groups_value)>2) {$groups_value .= " -";} + if (strlen($XFERgroups_value)>2) {$XFERgroups_value .= " -";} + } + ##### END get inbound groups listing for checkboxes ##### + + + ##### BEGIN get campaigns listing for checkboxes ##### + if ( ($ADD==211111) or ($ADD==311111) or ($ADD==411111) or ($ADD==511111) or ($ADD==611111) ) + { + if ( ($ADD==211111) or ($ADD==311111) or ($ADD==511111) or ($ADD==611111) ) + { + $stmt="SELECT allowed_campaigns,qc_allowed_campaigns,qc_allowed_inbound_groups from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $allowed_campaigns = $row[0]; + $qc_allowed_campaigns = $row[1]; + $qc_allowed_inbound_groups = $row[2]; + $allowed_campaigns = preg_replace("/ -$/","",$allowed_campaigns); + $campaigns = explode(" ", $allowed_campaigns); + $qc_allowed_campaigns = preg_replace("/ -$/","",$qc_allowed_campaigns); + $qc_campaigns = explode(" ", $qc_allowed_campaigns); + $qc_allowed_inbound_groups = preg_replace("/ -$/","",$qc_allowed_inbound_groups); + $qc_groups = explode(" ", $qc_allowed_inbound_groups); + } + + $campaigns_value=''; + $campaigns_list='<B><input type="checkbox" name="campaigns[]" value="-ALL-CAMPAIGNS-"'; + $qc_campaigns_value=''; + $qc_campaigns_list='<B><input type="checkbox" name="qc_campaigns[]" value="-ALL-CAMPAIGNS-"'; + $qc_groups_value=''; + $qc_groups_list='<B><input type="checkbox" name="qc_groups[]" value="-ALL-GROUPS-"'; + $p=0; + while ($p<100) + { + if (eregi('ALL-CAMPAIGNS',$campaigns[$p])) + { + $campaigns_list.=" CHECKED"; + $campaigns_value .= " -ALL-CAMPAIGNS- -"; + } + if (eregi('ALL-CAMPAIGNS',$qc_campaigns[$p])) + { + $qc_campaigns_list.=" CHECKED"; + $qc_campaigns_value .= " -ALL-CAMPAIGNS- -"; + } + if (eregi('ALL-GROUPS',$qc_groups[$p])) + { + $qc_groups_list.=" CHECKED"; + $qc_groups_value .= " -ALL-GROUPS- -"; + } + $p++; + } + $campaigns_list.="> ALL-CAMPAIGNS - USERS CAN VIEW ANY CAMPAIGN</B><BR>\n"; + $qc_campaigns_list.="> ALL-CAMPAIGNS - USERS CAN QC ANY CAMPAIGN</B><BR>\n"; + $qc_groups_list.="> ALL-GROUPS - USERS CAN QC ANY INBOUND GROUP</B><BR>\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaign_id_value = $rowx[0]; + $campaign_name_value = $rowx[1]; + $campaigns_list .= "<input type=\"checkbox\" name=\"campaigns[]\" value=\"$campaign_id_value\""; + $qc_campaigns_list .= "<input type=\"checkbox\" name=\"qc_campaigns[]\" value=\"$campaign_id_value\""; + $p=0; + while ($p<100) + { + if ($campaign_id_value == $campaigns[$p]) + { + # echo "<!-- X $p|$campaign_id_value|$campaigns[$p]| -->"; + $campaigns_list .= " CHECKED"; + $campaigns_value .= " $campaign_id_value"; + } + if ($campaign_id_value == $qc_campaigns[$p]) + { + $qc_campaigns_list .= " CHECKED"; + $qc_campaigns_value .= " $campaign_id_value"; + } + # echo "<!-- O $p|$campaign_id_value|$campaigns[$p]| -->"; + $p++; + } + $campaigns_list .= "> $campaign_id_value - $campaign_name_value<BR>\n"; + $qc_campaigns_list .= "> $campaign_id_value - $campaign_name_value<BR>\n"; + $o++; + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') order by group_id"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + + $o=0; + while ($groups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $group_id_value = $rowx[0]; + $group_name_value = $rowx[1]; + $qc_groups_list .= "<input type=\"checkbox\" name=\"qc_groups[]\" value=\"$group_id_value\""; + $p=0; + while ($p<100) + { + if ($group_id_value == $qc_groups[$p]) + { + $qc_groups_list .= " CHECKED"; + $qc_groups_value .= " $group_id_value"; + } + $p++; + } + $qc_groups_list .= "> $group_id_value - $group_name_value<BR>\n"; + $o++; + } + + if (strlen($campaigns_value)>2) {$campaigns_value .= " -";} + if (strlen($qc_campaigns_value)>2) {$qc_campaigns_value .= " -";} + if (strlen($qc_groups_value)>2) {$qc_groups_value .= " -";} + } + ##### END get campaigns listing for checkboxes ##### + + + if ( (strlen($ADD)==11) or (strlen($ADD)>12) or ( ($ADD > 1299) and ($ADD < 9999) ) ) + { + ##### get server listing for dynamic pulldown + $stmt="SELECT server_ip,server_description from servers order by server_ip"; + $rsltx=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rsltx); + $servers_list=''; + + $o=0; + while ($servers_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $servers_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + } + + + +$NWB = "   <a href=\"javascript:openNewWindow('$PHP_SELF?ADD=99999"; +$NWE = "')\"><IMG SRC=\"help.gif\" WIDTH=20 HEIGHT=20 BORDER=0 ALT=\"HELP\" ALIGN=TOP></A>"; + + +###################################################################################################### +###################################################################################################### +####### 9 series, HELP screen +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=99999 display the HELP SCREENS +###################### + +if ($ADD==99999) +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    \n"; +echo "
    VICIDIAL ADMIN: HELP


    \n"; + +?> +VICIDIAL_USERS TABLE

    + +
    +User ID - This field is where you put the VICIDIAL users ID number, can be up to 8 digits in length, Must be at least 2 characters in length. + +
    +
    +
    +Password - This field is where you put the VICIDIAL users password. Must be at least 2 characters in length. + +
    +
    +
    +Full Name - This field is where you put the VICIDIAL users full name. Must be at least 2 characters in length. + +
    +
    +
    +User Level - This menu is where you select the VICIDIAL users user level. Must be a level of 1 to log into VICIDIAL, Must be level greater than 2 to log in as a closer, Must be user level 8 or greater to get into admin web section. + +
    +
    +
    +User Group - This menu is where you select the VICIDIAL users group that this user will belong to. This does not have any restrictions at this time, this is just to subdivide users and allow for future features based upon it. + +
    +
    +
    +Phone Login - Here is where you can set a default phone login value for when the user logs into vicidial.php. This value will populate the phone_login automatically when the user logs in with their user-pass-campaign in the vicidial.php login screen. + +
    +
    +
    +Phone Pass - Here is where you can set a default phone pass value for when the user logs into vicidial.php. This value will populate the phone_pass automatically when the user logs in with their user-pass-campaign in the vicidial.php login screen. + +
    +
    +
    +Active - This field defines whether the user is active in the system and can use VICIDIAL resources. Default is Y + +
    +
    +
    +Hot Keys Active - This option if set to 1 allows the user to use the Hot Keys quick-dispositioning function in vicidial.php. + +
    +
    +
    +Agent Choose Ingroups - This option if set to 1 allows the user to choose the ingroups that they will receive calls from when they login to a CLOSER or INBOUND campaign. Otherwise the Manager will need to set this in their user detail screen of the admin page. + +
    +
    +
    +Scheduled Callbacks - This option allows an agent to disposition a call as CALLBK and choose the data and time at which the lead will be re-activated. + +
    +
    +
    +Agent-Only Callbacks - This option allows an agent to set a callback so that they are the only Agent that can call the customer back. This also allows the agent to see their callback listings and call them back any time they want to. + +
    +
    +
    +Agent Call Manual - This option allows an agent to manually enter a new lead into the system and call them. This also allows the calling of any phone number from their vicidial screen and puts that call into their session. Use this option with caution. + +
    +
    +
    +Vicidial Recording - This option can prevent an agent from doing any recordings after they log in to vicidial. This option must be on for vicidial to follow the campaign recording session. + +
    +
    +
    +Vicidial Transfers - This option can prevent an agent from opening the transfer - conference session of vicidial. If this is disabled, the agent cannot third party call or blind transfer any calls. + + 0) + { + ?> +
    +
    +
    + Closer Default Blended - This option simply defaults the Blended checkbox on a CLOSER login screen. + + +
    +
    +
    +VICIDIAL Recording Override - This option will override whatever the option is in the campaign for recording. DISABLED will not override the campaign recording setting. NEVER will disable recording on the client. ONDEMAND is the default and allows the agent to start and stop recording as needed. ALLCALLS will start recording on the client whenever a call is sent to an agent. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. For ALLCALLS and ALLFORCE there is an option to use the Recording Delay to cut down on very short recordings and recude system load. + +
    +
    +
    +Agent Shift Enforcement Override - This setting will override whatever the users user group has set for Shift Enforcement. DISABLED will use the user group setting. OFF will not enforce shifts at all. START will only enforce the login time but will not affect an agent that is running over their shift time if they are already logged in. ALL will enforce shift start time and will log an agent out after they run over the end of their shift time. Default is DISABLED. + +
    +
    +
    +Alert Enabled - This field shows whether the agent has web browser alerts enabled for when calls come into their vicidial.php session. Default is 0 for NO. + +
    +
    +
    +Campaign Ranks - In this section you can define the rank an agent will have for each campaign. These ranks can be used to allow for preferred call routing when Next Agent Call is set to campaign_rank. Also in this section are the WEB VARs for each campaign. These allow each agent to have a different variable string that can be added to the WEB FORM or SCRIPT tab URLs by simply putting --A--web_vars--B-- as you would put any other field. + +
    +
    +
    +Inbound Groups - Here is where you select the inbound groups you want to receive calls from if you have selected the CLOSER campaign. You will also be able to set the rank, or skill level, in this section for each of the inbound groups as well as being able to see the number of calls received from each inbound group for this specific agent. Also in this section is the ability to give the agent a rank for each inbound group. These ranks can be used for preferred call routing when that option is selected in the in-group screen. Also in this section are the WEB VARs for each campaign. These allow each agent to have a different variable string that can be added to the WEB FORM or SCRIPT tab URLs by simply putting --A--web_vars--B-- as you would put any other field. + +
    +
    +
    +Agent Alter Customer Data Override - This option will override whatever the option is in the campaign for altering of customer data. NOT_ACTIVE will use whatever setting is present for the campaign. ALLOW_ALTER will always allow for the agent to alter the customer data, no matter what the campaign setting is. Default is NOT_ACTIVE. + +
    +
    +
    +Agent Alter Customer Phone Override - This option will override whatever the option is in the campaign for altering of customer phone number. NOT_ACTIVE will use whatever setting is present for the campaign. ALLOW_ALTER will always allow for the agent to alter the customer phone number, no matter what the campaign setting is. Default is NOT_ACTIVE. + +
    +
    +
    +Alter Agent Interface Options - This option if set to 1 allows the administrative user to modify the Agents interface options in admin.php. + +
    +
    +
    +Delete Users - This option if set to 1 allows the user to delete other users of equal or lesser user level from the system. + +
    +
    +
    +Delete User Groups - This option if set to 1 allows the user to delete user groups from the system. + +
    +
    +
    +Delete Lists - This option if set to 1 allows the user to delete vicidial lists from the system. + +
    +
    +
    +Delete Campaigns - This option if set to 1 allows the user to delete vicidial campaigns from the system. + +
    +
    +
    +Delete In-Groups - This option if set to 1 allows the user to delete vicidial In-Groups from the system. + +
    +
    +
    +Delete Remote Agents - This option if set to 1 allows the user to delete vicidial remote agents from the system. + + 0) + { + ?> +
    +
    +
    + Load Leads - This option if set to 1 allows the user to load vicidial leads into the vicidial_list table by way of the web based lead loader. + + +
    +
    +
    +Campaign Detail - This option if set to 1 allows the user to view and modify the campaign detail screen elements. + +
    +
    +
    +AGC Admin Access - This option if set to 1 allows the user to login to the astGUIclient admin pages. + +
    +
    +
    +AGC Delete Phones - This option if set to 1 allows the user to delete phone entries in the astGUIclient admin pages. + +
    +
    +
    +Delete Scripts - This option if set to 1 allows the user to delete Campaign scripts in the script modification screen. + +
    +
    +
    +Modify Leads - This option if set to 1 allows the user to modify leads in the admin section lead search results page. + +
    +
    +
    +Change Agent Campaign - This option if set to 1 allows the user to alter the campaign that an agent is logged into while they are logged into it. + + 0) + { + ?> +
    +
    +
    + Delete Filters - This option allows the user to be able to delete vicidial lead filters from the system. + + +
    +
    +
    +Delete Call Times - This option allows the user to be able to delete vicidial call times records and vicidial state call times records from the system. + +
    +
    +
    +Modify Call Times - This option allows the user to view and modify the call times and state call times records. A user doesn't need this option enabled if they only need to change the call times option on the campaigns screen. + +
    +
    +
    +Modify Sections - These options allow the user to view and modify each sections records. If set to 0, the user will be able to see the section list, but not the detail or modification screen of a record in that section. + +
    +
    +
    +View Reports - This option allows the user to view the VICIDIAL reports. + + 0) + { + ?> +
    +
    +
    + QC Enabled - This option allows the user to log in to the Quality Control agent screen. + +
    +
    +
    + QC User Level - This setting defines what the agent Quality Control user level is. This will dictate the level of functionality for the agent in the QC section:
    + 1 - Modify Nothing
    + 2 - Modify Nothing Except Status
    + 3 - Modify All Fields
    + 4 - Verify First Round of QC
    + 5 - View QC Statistics
    + 6 - Ability to Modify FINISHed records
    + 7 - Manager Level
    + +
    +
    +
    + QC Record Pass - This option allows the agent to specify that a record has passed the first round of QC after reviewing the record. + +
    +
    +
    + QC Record Finish - This option allows the agent to specify that a record has finished the second round of QC after reviewing the passed record. + +
    +
    +
    + QC Record Commit - This option allows the agent to specify that a record has been committed in QC. It can no longer be modified by anyone. + + +
    +
    +
    +Add Timeclock Log Record - This option allows the user to add records to the timeclock log. + +
    +
    +
    +Modify Timeclock Log Record - This option allows the user to modify records in the timeclock log. + +
    +
    +
    +Delete Timeclock Log Record - This option allows the user to delete records in the timeclock log. + +
    +
    +
    +Agent API Access - This option allows the account to be used with the vicidial agent API commands. + +
    +
    +
    +Manager Shift Enforcement Override - This setting if set to 1 will allow a manager to enter their user and password on an agent screen to override the shift restrictions on an agent session if the agent is trying to log in outside of their shift. Default is 0. + +
    +
    +
    +Download Lists - This setting if set to 1 will allow a manager to click on the download list link at the bottom of a list modification screen to export the entire contents of a list to a flat data file. Default is 0. + +
    +
    +
    +Export Reports - This setting if set to 1 will allow a manager to access the export call reports on the REPORTS screen. Default is 0. For the Export Calls Report, the following field order is used for exports:
    call_date,phone_number,status,user,full_name,campaign_id/in-group,vendor_lead_code,source_id,list_id,gmt_offset_now,phone_code,phone_number,title,first_name,middle_initial,last_name,address1,address2,address3,city,state,province,postal_code,country_code,gender,date_of_birth,alt_phone,email,security_phrase,comments,length_in_sec,user_group,alt_dial/queue_seconds + + + + + + +



    + +VICIDIAL_CAMPAIGNS TABLE

    +
    +
    +Campaign ID - This is the short name of the campaign, it is not editable after initial submission, cannot contain spaces and must be between 2 and 8 characters in length. + +
    +
    +
    +Campaign Name - This is the description of the campaign, it must be between 6 and 40 characters in length. + +
    +
    +
    +Campaign Description - This is a memo field for the campaign, it is optional and can be a maximum of 255 characters in length. + +
    +
    +
    +Campaign Change Date - This is the last time that the settings for this campaign were modified in any way. + +
    +
    +
    +Last Campaign Login Date - This is the last time that an agent was logged into this campaign. + +
    +
    +
    +Campaign Stats Refresh - This checkbox will allow you to force a vicidial stats refresh, even if the campaign is not active. + +
    +
    +
    +Active - This is where you set the campaign to Active or Inactive. If Inactive, noone can log into it. + +
    +
    +
    +Park Extension - This is where you can customize the on-hold music for VICIDIAL. Make sure the extension is in place in the extensions.conf and that it points to the filename below. + +
    +
    +
    +Park File Name - This is where you can customize the on-hold music for VICIDIAL. Make sure the filename is 10 characters in length or less and that the file is in place in the /var/lib/asterisk/sounds directory. + +
    +
    +
    +Web Form - This is where you can set the custom web page that will be opened when the user clicks on the WEB FORM button. To customize the query string after the web form, simply begin the web form with VAR and then the URL that you want to use, replacing the variables with the variable names that you want to use --A--phone_number--B-- just like in the SCRIPTS tab section. + +
    +
    +
    +Web Form Target- This is where you can set the custom web page frame that the web form will be opened in when the user clicks on the WEB FORM button. Default is _blank. + +
    +
    +
    +Allow Closers - This is where you can set whether the users of this campaign will have the option to send the call to a closer. + +
    +
    +
    +Default Transfer Group - This field is the default In-Group that will be automatically selected when the agent goes to the transfer-conference frame in their agent interface. + +
    +
    +
    +Allowed Transfer Groups - With these checkbox listings you can select the groups that agents in this campaign can transfer calls to. Allow Closers must be enabled for this option to show up. + + 0) + { + ?> +
    +
    +
    + Allow Inbound and Blended - This is where you can set whether the users of this campaign will have the option to take inbound calls with this campaign. If you want to do blended inbound and outbound then this must be set to Y. If you only want to do outbound dialing on this campaign set this to N. Default is N. + +
    +
    +
    + Dial Status - This is where you set the statuses that you are wanting to dial on within the lists that are active for the campaign below. To add another status to dial, select it from the drop-down list and click ADD. To remove one of the dial statuses, click on the REMOVE link next to the status you want to remove. + +
    +
    +
    + List Order - This menu is where you select how the leads that match the statuses selected above will be put in the lead hopper: +
      - DOWN: select the first leads loaded into the vicidial_list table +
      - UP: select the last leads loaded into the vicidial_list table +
      - UP PHONE: select the highest phone number and works its way down +
      - DOWN PHONE: select the lowest phone number and works its way up +
      - UP LAST NAME: starts with last names starting with Z and works its way down +
      - DOWN LAST NAME: starts with last names starting with A and works its way up +
      - UP COUNT: starts with most called leads and works its way down +
      - DOWN COUNT: starts with least called leads and works its way up +
      - DOWN COUNT 2nd NEW: starts with least called leads and works its way up inserting a NEW lead in every other lead - Must NOT have NEW selected in the dial statuses +
      - DOWN COUNT 3nd NEW: starts with least called leads and works its way up inserting a NEW lead in every third lead - Must NOT have NEW selected in the dial statuses +
      - DOWN COUNT 4th NEW: starts with least called leads and works its way up inserting a NEW lead in every forth lead - Must NOT have NEW selected in the dial statuses + +
    +
    +
    + Hopper Level - This is how many leads the VDhopper script tries to keep in the vicidial_hopper table for this campaign. If running VDhopper script every minute, make this slightly greater than the number of leads you go through in a minute. + +
    +
    +
    + Lead Filter - This is a method of filtering your leads using a fragment of a SQL query. Use this feature with caution, it is easy to stop dialing accidentally with the slightest alteration to the SQL statement. Default is NONE. + +
    +
    +
    + Force Reset of Hopper - This allows you to wipe out the hopper contents upon form submission. It should be filled again when the VDhopper script runs. + +
    +
    +
    + Dial Method - This field is the way to define how dialing is to take place. If MANUAL then the auto_dial_level will be locked at 0 unless Dial Method is changed. If RATIO then the normal dialing a number of lines for Active agents. ADAPT_HARD_LIMIT will dial predictively up to the dropped percentage and then not allow aggressive dialing once the drop limit is reached until the percentage goes down again. ADAPT_TAPERED allows for running over the dropped percentage in the first half of the shift -as defined by call_time selected for campaign- and gets more strict as the shift goes on. ADAPT_AVERAGE tries to maintain an average or the dropped percentage not imposing hard limits as aggressively as the other two methods. You cannot change the Auto Dial Level if you are in any of the ADAPT dial methods. Only the Dialer can change the dial level when in predictive dialing mode. INBOUND_MAN allows the agent to place manual dial calls from a campaign list while being able to take inbound calls between manual dial calls. + +
    +
    +
    + Auto Dial Level - This is where you set how many lines VICIDIAL should use per active agent. zero 0 means auto dialing is off and the agents will click to dial each number. Otherwise VICIDIAL will keep dialing lines equal to active agents multiplied by the dial level to arrive at how many lines this campaign on each server should allow. The ADAPT OVERRIDE checkbox allows you to force a new dial level even though the dial method is in an ADAPT mode. This is useful if there is a dramatic shift in the quality of leads and you want to drastically change the dial_level manually. + +
    +
    +
    + Available Only Tally - This field if set to Y will leave out INCALL and QUEUE status agents when calculating the number of calls to dial when not in MANUAL dial mode. Default is N. + +
    +
    +
    + Drop Percentage Limit - This field is where you set the limit of the percentage of dropped calls you would like while using an adaptive-predictive dial method, not MANUAL or RATIO. + +
    +
    +
    + Maximum Adapt Dial Level - This field is where you set the limit of the limit to the numbr of lines you would like dialed per agent while using an adaptive-predictive dial method, not MANUAL or RATIO. This number can be higher than the Auto Dial Level if your hardware will support it. Value must be a positive number greater than one and can have decimal places Default 3.0. + +
    +
    +
    + Latest Server Time - This field is only used by the ADAPT_TAPERED dial method. You should enter in the hour and minute that you will stop calling on this campaign, 2100 would mean that you will stop dialing this campaign at 9PM server time. This allows the Tapered algorithm to decide how aggressively to dial by how long you have until you will be finished calling. + +
    +
    +
    + Adapt Intensity Modifier - This field is used to adjust the predictive intensity either higher or lower. The higher a positive number you select, the greater the dialer will increase the call pacing when it goes up and the slower the dialer will decrease the call pacing when it goes down. The lower the negative number you select here, the slower the dialer will increase the call pacing and the faster the dialer will lower the call pacing when it goes down. Default is 0. This field is not used by the MANUAL or RATIO dial methods. + +
    +
    +
    + Dial Level Difference Target - This field is used to define whether you want to target having a specific number of agents waiting for calls or calls waiting for agents. For example if you would always like to have on average one agent free to take calls immediately you would set this to -1, if you would like to target always having one call on hold waiting for an agent you would set this to 1. Default is 0. This field is not used by the MANUAL or RATIO dial methods. + +
    +
    +
    + Concurrent Transfers - This setting is used to define the number of calls that can be sent to agents at the same time. It is recommended that this setting is left at AUTO. This field is not used by the MANUAL dial method. + +
    +
    +
    + Queue Priority - This setting is used to define the order in which the calls from this outbound campaign should be answered in relation to the inbound calls if this campaign is in blended mode. + +
    +
    +
    + Auto Alt-Number Dialing - This setting is used to automatically dial alternate number fields while dialing in the RATIO and ADAPT dial methods when there is no contact at the main phone number for a lead, the NA, B, DC and N statuses. This setting is not used by the MANUAL dial method. EXTENDED alternate numbers are numbers loaded into the system outside of the standard lead information screen. Using EXTENDED you can have hundreds of phone numbers for a single customer record. + +
    +
    +
    + Dial Timeout - If defined, calls that would normally hang up after the timeout defined in extensions.conf would instead timeout at this amount of seconds if it is less than the extensions.conf timeout. This allows for quickly changing dial timeouts from server to server and limiting the effects to a single campaign. If you are having a lot of Answering Machine or Voicemail calls you may want to try changing this value to between 21-26 and see if results improve. + +
    +
    +
    + Campaign VDAD extension - This field allows for a custom VDAD transfer extension. This allows you to use different call handling methods depending upon your campaign. + - 8364 - same as 8368 + - 8365 - Will send the call only to an agent on the same server as the call is on + - 8366 - Used for press-1 and survey campaigns + - 8367 - Will try to first send the call to an agent on the local server, then it will look on other servers + - 8368 - DEFAULT Will send the call to the next available agent no matter what server they are on + - 8369 - Used for Answering Machine Detection after that, same behavior as 8368 + - 8373 - Used for Answering Machine Detection after that same behavior as 8366 + +
    +
    +
    + Answering Machine Message - This field is for entering in an extension to blind transfer calls to when the agent gets an answering machine and clicks on the Answering Machine Message button in the transfer conference frame. You must set this exten up in the dial plan - extensions.conf - and make sure it plays an audio file then hangs up. + +
    +
    +
    + AMD send to vm exten - This menu allows you to define whether a message is left on an answering machine when it is detected. the call will be immediately forwarded to the Answering-Machine-Message extension if AMD is active and it is determined that the call is an answering machine. + +
    +
    +
    + CPD AMD Action - If you are using the Sangoma ParaXip Call Progress Detection software then you will want to enable this setting either setting it to DISPO which will disposition the call as AA and hang it up if the call is being processed and has not been sent to an agent yet or MESSAGE which will send the call to the defined Answering Machine Message for this campaign. Default is DISABLED. + +
    +
    +
    + Agent Alt Num Dialing - This option allows an agent to manually dial the alternate phone number or address3 field after the main number has been called. + +
    +
    +
    + Drop Call Seconds - The number of seconds from the time the customer line is picked up until the call is considered a DROP, only applies to outbound calls. + +
    +
    +
    + Drop Action - This menu allows you to choose what happens to a call when it has been waiting for longer than what is set in the Drop Call Seconds field. HANGUP will simply hang up the call, MESSAGE will send the call the Drop Exten that you have defined below, VOICEMAIL will send the call to the voicemail box that you have defined below and IN_GROUP will send the call to the Inbound Group that is defined below + +
    +
    +
    + Safe Harbor Exten - This is the dial plan extension that the desired Safe Harbor audio file is located at on your server. + +
    +
    +
    + Voicemail - If defined, calls that would normally DROP would instead be directed to this voicemail box to hear and leave a message. + +
    +
    +
    + Drop Transfer Group - If Drop Action is set to IN_GROUP, the call will be sent to this inbound group if it reaches Drop Call Seconds. + +
    +
    +
    + Allow No-Hopper-Leads Logins - If set to Y, allows agents to login to the campaign even if there are no leads loaded into the hopper for that campaign. This function is not needed in CLOSER-type campaigns. Default is N. + +
    +
    +
    + List Order Mix - Overrides the Lead Order and Dial Status fields. Will use the List and status parameters for the selected List Mix entry in the List Mix sub section instead. Default is DISABLED. + +
    +
    +
    + List Mix ID - ID of the list mix. Must be from 2-20 characters in length with no spaces or other special punctuation. + +
    +
    +
    + List Mix Name - Descriptive name of the list mix. Must be from 2-50 characters in length. + +
    +
    +
    + List Mix Detail - The composition of the List Mix entry. Contains the List ID, mix order, percentages and statuses that make up this List Mix. The percentages always have to add up to 100, and the lists all have to be active and set to the campaign for the order mix entry to be Activated. + +
    +
    +
    + List Mix Method - The method of mixing all of the parts of the List Mix Detail together. EVEN_MIX will mix leads from each part interleaved with the other parts, like this 1,2,3,1,2,3,1,2,3. IN_ORDER will put the leads in the order in which they are listed in the List Mix Detail screen 1,1,1,2,2,2,3,3,3. RANDOM will put them in RANDOM order 1,3,2,1,1,3,2,1,3. Default is IN_ORDER. + +
    +
    +
    + Agent Screen Extended Alt Dial - This feature allows for agents to access extended alternate phone numbers for leads beyond the standard Alt Phone and Address3 fields that can be used in VICIDIAL for phone numbers beyond the main phone number. The Extended phone numbers can be dialed automatically using the Auto-Alt-Dial feature in VICIDIAL Campaign settings, but enabling this Agent Screen feature will also allow for the agent to call these numbers from their agent screen as well as edit their information. + +
    +
    +
    + Survey First Audio File - This is the audio filename that is played as soon as the customer picks up the phone when running a survey campaign. + +
    +
    +
    + Survey DTMF Digits - This field is where you define the digits that a customer can press as an option on a survey campaign. valid dtmf digits are 0123456789*# + +
    +
    +
    + Survey Not Interested Digit - This field is where you define the customer digit pressed that will show they are Not Interested. + +
    +
    +
    + Survey Not Interested Status - This field is where you select the status to be used for Not Interested. If DNC is used and the campaign is set to use DNC then the phone number will be automatically added to the VICIDIAL internal DNC list and possibly the campaign-specific DNC list. + +
    +
    +
    + Survey Opt-in Audio File - This is the audio filename that is played when the customer has opted-in to the survey, not opted-out or not responded if the no-response-action is set to OPTOUT. After this audio file is played, the Survey Method action is taken. + +
    +
    +
    + Survey Not Interested Audio File - This is the audio filename that is played when the customer has opted-out of the survey, not opted-in or not responded if the no-response-action is set to OPTIN. After this audio file is played, the call will be hung up. + +
    +
    +
    + Survey Method - This option defines what happens to a call after the customer has opted-in. AGENT_XFER will send the call to the next available agent. VOICEMAIL will send the call to the voicemail box that is specified in the Voicemail field. EXTENSION will send the customer to the extension defined in the Survey Xfer Extension field. HANGUP will hang up the customer. CAMPREC_60_WAV will send the customer to have a recording made with their response, this recording will be placed in a folder named as the campaign inside of the Survey Campaign Recording Directory. + +
    +
    +
    + Survey No-Response Action - This is where you define what will happen if there is no response to the survey question. OPTIN will only send the call on to the Survey Method if the customer presses a dtmf digit. OPTOUT will send the customer on to the Survey Method even if they do not press a dtmf digit. + +
    +
    +
    + Survey Response Digit Map - This is the section where you can define a description to go with each dtmf digit option that the customer may select. + +
    +
    +
    + Survey Xfer Extension - If the Survey Method of EXTENSION is selected then the customer call would be directed to this dialplan extension. + +
    +
    +
    + Survey Campaign Recording Directory - If the Survey Method of CAMPREC_60_WAV is selected then the customer response will be recorded and placed in a directory named after the campaign inside of this directory. + + + +
    +
    +
    +Next Agent Call - This determines which agent receives the next call that is available: +
      - random: orders by the random update value in the vicidial_live_agents table +
      - oldest_call_start: orders by the last time an agent was sent a call. Results in agents receiving about the same number of calls overall. +
      - oldest_call_finish: orders by the last time an agent finished a call. AKA agent waiting longest receives first call. +
      - overall_user_level: orders by the user_level of the agent as defined in the vicidial_users table a higher user_level will receive more calls. +
      - campaign_rank: orders by the rank given to the agent for the campaign. Highest to Lowest. +
      - fewest_calls: orders by the number of calls received by an agent for that specific inbound group. Least calls first. + +
    +
    +
    +Local Call Time - This is where you set during which hours you would like to dial, as determined by the local time in the are in which you are calling. This is controlled by area code and is adjusted for Daylight Savings time if applicable. General Guidelines in the USA for Business to Business is 9am to 5pm and Business to Consumer calls is 9am to 9pm. + +
    +
    +
    +Dial Prefix - This field allows for more easily changing a path of dialing to go out through a different method without doing a reload in Asterisk. Default is 9 based upon a 91NXXNXXXXXX in the dial plan - extensions.conf. + +
    +
    +
    +Omit Phone Code - This field allows you to leave out the phone_code field while dialing within VICIDIAL. For instance if you are dialing in the UK from the UK you would have 44 in as your phone_code field for all leads, but you just want to dial 10 digits in your dial plan extensions.conf to place calls instead of 44 then 10 digits. Default is N. + +
    +
    +
    +Campaign CallerID - This field allows for the sending of a custom callerid number on the outbound calls. This is the number that would show up on the callerid of the person you are calling. The default is UNKNOWN. If you are using T1 or E1s to dial out this option is only available if you are using PRIs - ISDN T1s or E1s - that have the custom callerid feature turned on, this will not work with Robbed-bit service -RBS- circuits. This will also work through most VOIP -SIP or IAX trunks- providers that allow dynamic outbound callerID. The custom callerID only applies to calls placed for the VICIDIAL campaign directly, any 3rd party calls or transfers will not send the custom callerID. NOTE: Sometimes putting UNKNOWN or PRIVATE in the field will yield the sending of your default callerID number by your carrier with the calls. You may want to test this and put 0000000000 in the callerid field instead if you do not want to send you CallerID. + +
    +
    +
    +Campaign Rec extension - This field allows for a custom recording extension to be used with VICIDIAL. This allows you to use different extensions depending upon how long you want to allow a maximum recording and what type of codec you want to record in. The default exten is 8309 which if you follow the SCRATCH_INSTALL examples will record in the WAV format for upto one hour. Another option included in the examples is 8310 which will record in GSM format for upto one hour. + +
    +
    +
    +Campaign Recording - This menu allows you to choose what level of recording is allowed on this campaign. NEVER will disable recording on the client. ONDEMAND is the default and allows the agent to start and stop recording as needed. ALLCALLS will start recording on the client whenever a call is sent to an agent. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. For ALLCALLS and ALLFORCE there is an option to use the Recording Delay to cut down on very short recordings and recude system load. + +
    +
    +
    +Campaign Rec Filename - This field allows you to customize the name of the recording when Campaign recording is ONDEMAND or ALLCALLS. The allowed variables are CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT. The default is FULLDATE_AGENT and would look like this 20051020-103108_6666. Another example is CAMPAIGN_TINYDATE_CUSTPHONE which would look like this TESTCAMP_51020103108_3125551212. 50 char max. + +
    +
    +
    +Recording Delay - For ALLCALLS and ALLFORCE recording only. This setting will delay the starting of the recording on all calls for the number of seconds specified in this field. Default is 0. + +
    +
    +
    +Campaign Script - This menu allows you to choose the script that will appear on the agents screen for this campaign. Select NONE to show no script for this campaign. + +
    +
    +
    +Get Call Launch - This menu allows you to choose whether you want to auto-launch the web-form page in a separate window, auto-switch to the SCRIPT tab or do nothing when a call is sent to the agent for this campaign. + +
    +
    +
    +Xfer-Conf DTMF - These four fields allow for you to have two sets of Transfer Conference and DTMF presets. When the call or campaign is loaded, the vicidial.php script will show two buttons on the transfer-conference frame and auto-populate the number-to-dial and the send-dtmf fields when pressed. If you want to allow Consultative Transfers, a fronter to a closer, you can place CXFER as one of the number-to-dial presets and the proper dial string will be sent to do a Local Consultative Transfer, then the agent can just LEAVE-3WAY-CALL and move on to their next call. If you want to allow Blind transfers of customers to a VICIDIAL AGI script for logging or an IVR, then place AXFER in the number-to-dial field. You can also specify an custom extension after the AXFER or CXFER, for instance if you want to do Internal Consultative transfers instead of Local you would put CXFER90009 in the number-to-dial field. + +
    +
    +
    +Scheduled Callbacks - This option allows an agent to disposition a call as CALLBK and choose the data and time at which the lead will be re-activated. + +
    +
    +
    +Wrap Up Seconds - The number of seconds to force an agent to wait before allowing them to receive or dial another call. The timer begins as soon as an agent hangs up on their customer - or in the case of alternate number dialing when the agent finishes the lead - Default is 0 seconds. If the timer runs out before the agent has dispositioned the call, the agent still will NOT move on to the next call until they select a disposition. + +
    +
    +
    +Wrap Up Message - This is a campaign-specific message to be displayed on the wrap up screen if wrap up seconds is set. + +
    +
    +
    +Use Internal DNC List - This defines whether this campaign is to filter leads against the Internal DNC list. If it is set to Y, the hopper will look for each phone number in the DNC list before placing it in the hopper. If it is in the DNC list then it will change that lead status to DNCL so it cannot be dialed. Default is N. + +
    +
    +
    +Use Campaign DNC List - This defines whether this campaign is to filter leads against a DNC list that is specific to that campaign only. If it is set to Y, the hopper will look for each phone number in the campaign-specific DNC list before placing it in the hopper. If it is in the campaign-specific DNC list then it will change that lead status to DNCC so it cannot be dialed. Default is N. + +
    +
    +
    +Allowed Inbound Groups - For CLOSER campaigns only. Here is where you select the inbound groups you want agents in this CLOSER campaign to be able to take calls from. It is important for BLENDED inbound-outbound campaigns only to select the inbound groups that are used for agents in this campaign. The calls coming into the inbound groups selected here will be counted as active calls for a blended campaign even if all agents in the campaign are not logged in to receive calls from all of those selected inbound groups. + +
    +
    +
    +Agent Pause Codes Active - Allows agents to select a pause code when they click on the PAUSE button in vicidial.php. Pause codes are definable per campaign at the bottom of the campaign view detail screen and they are stored in the vicidial_agent_log table. Default is N. FORCE will force the agents to choose a PAUSE code if they click on the PAUSE button. + +
    +
    +
    +Disable Alter Customer Data - If set to Y, does not change any of the customer data record when an agent dispositions the call. Default is N. + +
    +
    +
    +Disable Alter Customer Phone - If set to Y, does not change the customer phone number when an agent dispositions the call. Default is Y. + +
    +
    +
    +Agent Display Queue Count - If set to Y, when a customer is waiting for an agent, the Queue Calls display at the top of the agent screen will turn red and show the number of waiting calls. Default is Y. + +
    +
    +
    +Manual Dial List ID - The default list_id to be used when an agent placces a manual call and a new lead record is created in vicidial_list. Default is 999. This field can contain digits only. + +
    +
    +
    +Manual Dial Filter - This allows you to filter the calls that agents make in manual dial mode for this campaign by any combination of the following: DNC - to kick out, CAMPAIGNLISTS - the number must be within the lists for the campaign, NONE - no filter on manual dial or fast dial lists. + +
    +
    +
    +Agent Screen Clipboard Copy - THIS FEATURE IS CURRENTLY ONLY ENABLED FOR INTERNET EXPLORER. This feature allows you to select a field that will be copied to the computer clipboard of the agent computer upon a call being sent to an agent. Common uses for this are to allow for easy pasting of account numbers or phone numbers into legacy client applications on the agent computer. + +
    +
    +
    +3-Way Call Outbound CallerID - This defines what is sent out as the outbound callerID number from 3-way calls placed by the agent, CAMPAIGN uses the custom campaign callerID, CUSTOMER uses the number of the customer that is active on the agents screen and AGENT_PHONE uses the callerID for the phone that the agent is logged into. AGENT_CHOOSE allows the agent to choose which callerID to use for 3-way calls from a list of choices. + +
    +
    +
    +3-Way Call Dial Prefix - This defines what is used as the dial prefix for 3-way calls, default is empty so the campaign dial prefix is used, passthru so you can hear ringing is 88. + + 0) + { + ?> +
    +
    +
    + QC Enabled - Setting this field to Y allows for the agent Quality Control features to work. Default is N. + +
    +
    +
    + QC Statuses - This area is where you select which statuses of leads should be gone over by the QC system. Place a check next to the status that you want QC to review. + +
    +
    +
    + QC Shift - This is the shift timeframe used to pull QC records for a campaign. The days of the week are ignored for these functions. + +
    +
    +
    + QC Get Record Launch- This allows one of the following actions to be triggered upon a QC agent receiving a new record. + +
    +
    +
    + QC Show Recording - This allows for a recording that may be linked with the QC record to be display in the QC agent screen. + +
    +
    +
    + QC WebForm Address - This is the website address that a QC agent can go to when clicking on the WEBFORM link in the QC screen. + +
    +
    +
    + QC Script - This is the script that can be used by QC agents in the SCRIPT tab in the QC screen. + + +
    +
    +
    +Vtiger Search Category - If Vtiger integration is enabled in the system settings then this setting will define where the vtiger_search.php page will search for the phone number that was entered. There are 4 options that can be used in this field: LEAD- This option will search through the Vtiger leads only, ACCOUNT- This option will search through the Vtiger accounts and all contacts and sub-contacts for the phone number, VENDOR- This option will only search through the Vtiger vendors, ACCTID- This option works only for accounts and it will take the vicidial vendor_lead_code field and try to search for the Vtiger account ID. If unsuccessful it will try any other methods listed that you have selected. Multiple options can be used for each search, but on large databases this is not recommended. Default is LEAD. + +
    +
    +
    +Vtiger Create Call Record - If Vtiger integration is enabled in the system settings then this setting will define whether a new Vtiger activity record is created for the call when the agent goes to the vtiger_search page. Default is Y. + +
    +
    +
    +Vtiger Create Lead Record - If Vtiger integration is enabled in the system settings and Vtiger Search Category includes LEAD then this setting will define whether a new Vtiger lead record is created when the agent goes to the vtiger_search page and no record is found to have the call phone number. Default is Y. + +
    +
    +
    +Vtiger Screen Login - If Vtiger integration is enabled in the system settings then this setting will define whether the user is logged into the Vtiger interface automatically when they login to VICIDIAL. Default is Y. + +
    +
    +
    +Group Alias Allowed - If you want to allow your agents to use group aliases then you need to set this to Y. Group Aliases are explained more in the Admin section, they allow agents to select different callerIDs for outbound manual calls that they may place. Default is N. + +
    +
    +
    +Default Group Alias - If you have allowed Group Aliases then this is the group alias that is selected first by default when the agent chooses to use a Group Alias for an outbound manual call. Default is NONE or empty. + + + + + +



    + +VICIDIAL_LISTS TABLE

    +
    +
    +List ID - This is the numerical name of the list, it is not editable after initial submission, must contain only numbers and must be between 2 and 8 characters in length. Must be a number greater than 100. + +
    +
    +
    +List Name - This is the description of the list, it must be between 2 and 20 characters in length. + +
    +
    +
    +List Description - This is the memo field for the list, it is optional. + +
    +
    +
    +List Change Date - This is the last time that the settings for this list were modified in any way. + +
    +
    +
    +List Last Call Date - This is the last time that lead was dialed from this list. + +
    +
    +
    +Campaign - This is the campaign that this list belongs to. A list can only be dialed on a single campaign at one time. + +
    +
    +
    +Active - This defines whether the list is to be dialed on or not. + +
    +
    +
    +Reset Lead-Called-Status for this list - This resets all leads in this list to N for "not called since last reset" and means that any lead can now be called if it is the right status as defined in the campaign screen. + +
    +
    +
    +VICIDIAL DNC List - This Do Not Call list contains every lead that has been set to a status of DNC in the system. Through the LISTS - ADD NUMBER TO DNC page you are able to manually add numbers to this list so that they will not be called by campaigns that use the internal DNC list. There is also the option to add leads to the campaign-specific DNC lists for those campaigns that have them. + + + +



    + +VICIDIAL_INBOUND_GROUPS TABLE

    +
    +
    +Group ID - This is the short name of the inbound group, it is not editable after initial submission, must not contain any spaces and must be between 2 and 20 characters in length. + +
    +
    +
    +Group Name - This is the description of the group, it must be between 2 and 30 characters in length. Cannot include dashes, plusses or spaces . + +
    +
    +
    +Group Color - This is the color that displays in the VICIDIAL client app when a call comes in on this group. It must be between 2 and 7 characters long. If this is a hex color definition you must remember to put a # at the beginning of the string or VICIDIAL will not work properly. + +
    +
    +
    +Active - This determines whether this group show up in the selection box when a VICIDIAL agent logs in. + +
    +
    +
    +Web Form - This is the custom address that clicking on the WEB FORM button in VICIDIAL will take you to for calls that come in on this group. + +
    +
    +
    +Next Agent Call - This determines which agent receives the next call that is available: +
      - random: orders by the random update value in the vicidial_live_agents table +
      - oldest_call_start: orders by the last time an agent was sent a call. Results in agents receiving about the same number of calls overall. +
      - oldest_call_finish: orders by the last time an agent finished a call. AKA agent waiting longest receives first call. +
      - overall_user_level: orders by the user_level of the agent as defined in the vicidial_users table a higher user_level will receive more calls. +
      - inbound_group_rank: orders by the rank given to the agent for the specific inbound group. Highest to Lowest. +
      - fewest_calls: orders by the number of calls received by an agent for that specific inbound group. Least calls first. +
      - campaign_rank: orders by the rank given to the agent for the campaign. Highest to Lowest. +
      - fewest_calls_campaign: orders by the number of calls received by an agent for the campaign. Least calls first. +
    + +
    +
    +
    +Queue Priority - This setting is used to define the order in which the calls from this inbound group should be answered in relation to calls from other inbound groups. + +
    +
    +Fronter Display - This field determines whether the inbound VICIDIAL agent would have the fronter name - if there is one - displayed in the Status field when the call comes to the agent. + +
    +
    +
    +Campaign Script - This menu allows you to choose the script that will appear on the agents screen for this campaign. Select NONE to show no script for this campaign. + +
    +
    +
    +Get Call Launch - This menu allows you to choose whether you want to auto-launch the web-form page in a separate window, auto-switch to the SCRIPT tab or do nothing when a call is sent to the agent for this campaign. + +
    +
    +
    +Xfer-Conf DTMF - These four fields allow for you to have two sets of Transfer Conference and DTMF presets. When the call or campaign is loaded, the vicidial.php script will show two buttons on the transfer-conference frame and auto-populate the number-to-dial and the send-dtmf fields when pressed. If you want to allow Consultative Transfers, a fronter to a closer, you can place CXFER as one of the number-to-dial presets and the proper dial string will be sent to do a Local Consultative Transfer, then the agent can just LEAVE-3WAY-CALL and move on to their next call. If you want to allow Blind transfers of customers to a VICIDIAL AGI script for logging or an IVR, then place AXFER in the number-to-dial field. You can also specify an custom extension after the AXFER or CXFER, for instance if you want to do Internal Consultative transfers instead of Local you would put CXFER90009 in the number-to-dial field. + +
    +
    +
    +Drop Call Seconds - The number of seconds a call will stay in queue before being considered a DROP. + +
    +
    +
    +Drop Action - This menu allows you to choose what happens to a call when it has been waiting for longer than what is set in the Drop Call Seconds field. HANGUP will simply hang up the call, MESSAGE will send the call the Drop Exten that you have defined below, VOICEMAIL will send the call to the voicemail box that you have defined below and IN_GROUP will send the call to the Inbound Group that is defined below. + +
    +
    +
    +Drop Exten - If Drop Action is set to MESSAGE, this is the dial plan extension that the call will be sent to if it reaches Drop Call Seconds. + +
    +
    +
    +Voicemail - If Drop Action is set to VOICEMAIL, the call DROP would instead be directed to this voicemail box to hear and leave a message. + +
    +
    +
    +Drop Transfer Group - If Drop Action is set to IN_GROUP, the call will be sent to this inbound group if it reaches Drop Call Seconds. + +
    +
    +
    +Call Time - This is the call time scheme to use for this inbound group. Keep in mind that the time is based on the server time. Default is 24hours. + +
    +
    +
    +After Hours Action - The action to perform if it is after hours as defined in the call time for this inbound group. HANGUP will immediately hangup the call, MESSASGE will play the file in the After Hours Message Filenam field, EXTENSION will send the call to the After Hours Extension in the dialplan and VOICEMAIL will send the call to the voicemail box listed in the After Hours Voicemail field, IN_GROUP will send the call to the inbound group selected in the After Hours Transfer Group select list. Default is MESSAGE. + +
    +
    +
    +After Hours Message Filename - The audio file located on the server to be played if the Action is set to MESSAGE. Default is vm-goodbye + +
    +
    +
    +After Hours Extension - The dialplan extension to send the call to if the Action is set to EXTENSION. Default is 8300. + +
    +
    +
    +After Hours Voicemail - The voicemail box to send the call to if the Action is set to VOICEMAIL. + +
    +
    +
    +After Hours Transfer Group - If After Hours Action is set to IN_GROUP, the call will be sent to this inbound group if it enters the in-group outside of the call time scheme defined for the in-group. + +
    +
    +
    +Welcome Message Filename - The audio file located on the server to be played when the call comes in. If set to ---NONE--- then no message will be played. Default is ---NONE--- + +
    +
    +
    +Play Welcome Message - These settings select when to play the defined welcome message, ALWAYS will play it every time, NEVER will never play it, IF_WAIT_ONLY will only play the welcome message if the call does not immediately go to an agent, and YES_UNLESS_NODELAY will always play the welcome message unless the NO_DELAY setting is enabled. Default is ALWAYS. + +
    +
    +
    +Music On Hold Context - The music on hold context to use when the customer is placed on hold. Default is default. + +
    +
    +
    +On Hold Prompt Filename - The audio file located on the server to be played at a regular interval when the customer is on hold. Default is generic_hold. This audio file MUST be 9 seconds or less in length. + +
    +
    +
    +On Hold Prompt Interval - The length of time in seconds to wait before playing the on hold prompt. Default is 60. To disable the On Hold Prompt, set the interval to 0. + +
    +
    +
    +Play Place in Line - This defines whether the caller will hear their place in line when they enter the queue as well as when they hear the announcemend. Default is N. + +
    +
    +
    +Play Estimated Hold Time - This defines whether the caller will hear the estimated hold time before they are transferred to an agent. Default is N. + +
    +
    +
    +Hold Time Option - This allows you to specify the routing of the call if the estimated hold time is over the amount of seconds specified below. Default is NONE. + +
    +
    +
    +Hold Time Option Seconds - If Hold Time Option is set to anything but NONE, this is the number of seconds of estimated hold time that will trigger the hold time option. Default is 360 seconds. + +
    +
    +
    +Hold Time Option Extension - If Hold Time Option is set to EXTENSION, this is the dialplan extension that the call will be sent to if the estimated hold time exceeds the Hold Time Option Seconds. + +
    +
    +
    +Hold Time Option Voicemail - If Hold Time Option is set to VOICEMAIL, this is the voicemail box that the call will be sent to if the estimated hold time exceeds the Hold Time Option Seconds. + +
    +
    +
    +Hold Time Option Transfer In-Group - If Hold Time Option is set to IN_GROUP, this is the inbound group that the call will be sent to if the estimated hold time exceeds the Hold Time Option Seconds. + +
    +
    +
    +Hold Time Option Callback Filename - If Hold Time Option is set to CALLERID_CALLBACK, this is the filename prompt that is played before the call is logged as a new lead to the list ID specified below if the estimated hold time exceeds the Hold Time Option Seconds. + +
    +
    +
    +Hold Time Option Callback List ID - If Hold Time Option is set to CALLERID_CALLBACK, this is the List ID the call is added to as a new lead if the estimated hold time exceeds the Hold Time Option Seconds. + +
    +
    +
    +Agent Alert Extension - The extension to send into the agent session to announce that a call is coming to the agent. This extension should have a Playback of an audio file. To not use this function set this to X. Default is X. + +
    +
    +
    +Agent Alert Delay - The length of time in milliseconds to wait before sending the call to the agent after playing the on Agent Alert Extension. Default is 1000. + +
    +
    +
    +Default Transfer Group - This field is the default In-Group that will be automatically selected when the agent goes to the transfer-conference frame in their agent interface. + +
    +
    +
    +In-Group Recording Override - This field allows for the overriding of the campaign call recording setting. This setting can be overridden by the vicidial_user recording override setting. DISABLED will not override the campaign recording setting. NEVER will disable recording on the client. ONDEMAND is the default and allows the agent to start and stop recording as needed. ALLCALLS will start recording on the client whenever a call is sent to an agent. ALLFORCE will start recording on the client whenever a call is sent to an agent giving the agent no option to stop recording. + +
    +
    +
    +In-Group Recording Filename - This field will override the Campaign Recording Filenaming Scheme unless it is set to NONE. The allowed variables are CAMPAIGN CUSTPHONE FULLDATE TINYDATE EPOCH AGENT. The default is FULLDATE_AGENT and would look like this 20051020-103108_6666. Another example is CAMPAIGN_TINYDATE_CUSTPHONE which would look like this TESTCAMP_51020103108_3125551212. 50 char max. Default is NONE. + + 0) + { + ?> +
    +
    +
    + QC Enabled - Setting this field to Y allows for the agent Quality Control features to work. Default is N. + +
    +
    +
    + QC Statuses - This area is where you select which statuses of leads should be gone over by the QC system. Place a check next to the status that you want QC to review. + +
    +
    +
    + QC Shift - This is the shift timeframe used to pull QC records for an inbound_group. The days of the week are ignored for these functions. + +
    +
    +
    + QC Get Record Launch- This allows one of the following actions to be triggered upon a QC agent receiving a new record. + +
    +
    +
    + QC Show Recording - This allows for a recording that may be linked with the QC record to be display in the QC agent screen. + +
    +
    +
    + QC WebForm Address - This is the website address that a QC agent can go to when clicking on the WEBFORM link in the QC screen. + +
    +
    +
    + QC Script - This is the script that can be used by QC agents in the SCRIPT tab in the QC screen. + + +
    +
    +
    +Hold Recall Transfer In-Group - If a customer calls back to this in-group more than once and this is not set to NONE, then the call will automatically be sent on to the In-Group selected in this field. Default is NONE. + +
    +
    +
    +No Delay Call Route - Setting this to Y will remove all wait times and audio prompts and attempt to send the call right to an agent. Does not override welcome message or on hold prompt settings. Default is N. + +
    +
    +
    +Stats Percent of Calls Answered Within X seconds - This field allows you to set the number of hold seconds that the realtime stats display will use to calculate the percentage of answered calls that were answered within X number of seconds on hold. + +
    +
    +
    +Default Group Alias - If you have allowed Group Aliases for the campaign that the agent is logged into then this is the group alias that is selected first by default on a call coming in from this inbound group when the agent chooses to use a Group Alias for an outbound manual call. Default is NONE or empty. + + + + + +



    + +VICIDIAL_INBOUND_DIDS TABLE

    +
    +
    +
    +DID Extension - This is the number, extension or DID that will trigger this entry and that you will route within the system using this function. There is a reserved default DID that you can use which is just the word -default- without the dashes, that will allos you to send any call that does not match any other existing patterns to the default DID. + +
    +
    +
    +DID Description - This is the description of the DID routing entry. + +
    +
    +
    +DID Active - This the field where you set the DID entry to active or not. Default is Y. + +
    +
    +
    +DID Route - This the type of route that you set the DID to use. EXTEN will send calls to the extension entered below, VOICEMAIL will send calls directly to the voicemail box entered below, AGENT will send calls to a VICIDIAL agent if they are logged in, PHONE will send the call to a phones entry selected below, IN_GROUP will send calls directly to the specified inbound group. Default is EXTEN. + +
    +
    +
    +Extension - If EXTEN is selected as the DID Route, then this is the dialplan extension that calls will be sent to. Default is 9998811112, no-service. + +
    +
    +
    +Extension Context - If EXTEN is selected as the DID Route, then this is the dialplan context that calls will be sent to. Default is default. + +
    +
    +
    +Voicemail Box - If VOICEMAIL is selected as the DID Route, then this is the voicemail box that calls will be sent to. Default is empty. + +
    +
    +
    +Phone Extension - If PHONE is selected as the DID Route, then this is the phone extension that calls will be sent to. + +
    +
    +
    +Phone Server IP - If PHONE is selected as the DID Route, then this is the server IP for the phone extension that calls will be sent to. + +
    +
    +
    +User Agent - If AGENT is selected as the DID Route, then this is the VICIDIAL Agent that calls will be sent to. + +
    +
    +
    +User Unavailable Action - If AGENT is selected as the DID Route, and the user is not logged in or available, then this is the route that the calls will take. + +
    +
    +
    +User Route Settings In-Group - If AGENT is selected as the DID Route, then this is the In-Group that will be used for the queue settings as the caller is waiting to be sent to the agent. Default is AGENTDIRECT. + +
    +
    +
    +In-Group ID - If IN_GROUP is selected as the DID Route, then this is the In-Group that calls will be sent to. + +
    +
    +
    +In-Group Call Handle Method - If IN_GROUP is selected as the DID Route, then this is the call handling method used for these calls. CID will add a new lead record with every call using the CallerID as the phone number, CIDLOOKUP will attempt to lookup the phone number by the CallerID in the entire system, CIDLOOKUPRL will attampt to lookup the phone number by the CallerID in only one specified list, CIDLOOKUPRC will attampt to lookup the phone number by the CallerID in all of the lists that belong to the specified campaign, CLOSER is specified for VICIDIAL Closer calls, ANI will add a new lead record with every call using the ANI as the phone number, ANILOOKUP will attempt to lookup the phone number by the ANI in the entire system, ANILOOKUPRL will attampt to lookup the phone number by the ANI in only one specified list, XDIGITID will prompt the caller for an X digit code before the call will be put into the queue. Default is CID. + +
    +
    +
    +In-Group Agent Search Method - If IN_GROUP is selected as the DID Route, then this is the agent search method to be used by the inbound group, LO is Load-Balanced-Overflow and will try to send the call to an agent on the local server before trying to send it to an agent on another server, LB is Load-Balanced and will try to send the call to the next agent no matter what server they are on, SO is Server-Only and will only try to send the calls to agents on the server that the call came in on. Default is LB. + +
    +
    +
    +In-Group List ID - If IN_GROUP is selected as the DID Route, then this is the List ID that leads may be searched through and that leads will be inserted into if necessary. + +
    +
    +
    +In-Group Campaign ID - If IN_GROUP is selected as the DID Route, then this is the Campaign ID that leads may be searched for in if the call handle method is CIDLOOKUPRC. + +
    +
    +
    +In-Group Phone Code - If IN_GROUP is selected as the DID Route, then this is the Phone Code used if a new lead is created. + + + + +



    + +VICIDIAL_REMOTE_AGENTS TABLE

    +
    +
    +User ID Start - This is the starting User ID that is used when the remote agent entries are inserted into the system. If the Number of Lines is set higher than 1, this number is incremented by one until each line has an entry. Make sure you create a new VICIDIAL user account with a user level of 4 or great if you want them to be able to use the vdremote.php page for remote web access of this account. + +
    +
    +
    +Number of Lines - This defines how many remote agent entries the system creates, and determines how many lines it thinks it can safely send to the number below. + +
    +
    +
    +Server IP - A remote agent entry is only good for one specific server, here is where you select which server you want. + +
    +
    +
    +External Extension - This is the number that you want the calls forwarded to. Make sure that it is a full dial plan number and that if you need a 9 at the beginning you put it in here. Test by dialing this number from a phone on the system. + +
    +
    +
    +Status - Here is where you turn the remote agent on and off. As soon as the agent is Active the system assumes that it can send calls to it. It may take up to 30 seconds once you change the status to Inactive to stop receiving calls. + +
    +
    +
    +Campaign - Here is where you select the campaign that these remote agents will be logged into. Inbound needs to use the CLOSER campaign and select the inbound campaigns below that you want to receive calls from. + +
    +
    +
    +Inbound Groups - Here is where you select the inbound groups you want to receive calls from if you have selected the CLOSER campaign. + + +



    + +VICIDIAL_CAMPAIGN_LISTS

    +
    +
    +The lists within this campaign are listed here, whether they are active is denoted by the Y or N and you can go to the list screen by clicking on the list ID in the first column. + + +



    + +VICIDIAL_CAMPAIGN_STATUSES TABLE

    +
    +
    +Through the use of custom campaign statuses, you can have statuses that only exist for a specific campaign. The Status must be 1-8 characters in length, the description must be 2-30 characters in length and Selectable defines whether it shows up in VICIDIAL as a disposition. The human_answered field is used when calculating the drop percentage, or abandon rate. Setting human_answered to Y will use this status when counting the human-answered calls. The Category option allows you to group several statuses into a catogy that can be used for statistical analysis. + + + + 0) + { + ?> +



    + + VICIDIAL_CAMPAIGN_HOTKEYS TABLE

    +
    +
    + Through the use of custom campaign hot keys, agents that use the vicidial web-client can hang up and disposition calls just by pressing a single key on their keyboard. There are two special HotKey options that you can use in conjunction with Alternate Phone number dialing, ALTPH2 - Alternate Phone Hot Dial and ADDR3-----Address3 Hot Dial allow an agent to use a hotkey to hang up their call, stay on the same lead, and dial another contact number from that lead. + + + + + +



    + + VICIDIAL_LEAD_RECYCLE TABLE

    +
    +
    + Through the use of lead recycling, you can call specific statuses of leads again at a specified interval without resetting the entire list. Lead recycling is campaign-specific and does not have to be a selected dialable status in your campaign. The attempt delay field is the number of seconds until the lead can be placed back in the hopper, this number must be at least 120 seconds. The attempt maximum field is the maximum number of times that a lead of this status can be attempted before the list needs to be reset, this number can be from 1 to 10. You can activate and deactivate a lead recycle entry with the provided links. + + + + + +



    + + VICIDIAL AUTO ALT DIAL STATUSES

    +
    +
    + If the Auto Alt-Number Dialing field is set, then the leads that are dispositioned under these auto alt dial statuses will have their alt_phone and-or address3 fields dialed after any of these no-answer statuses are set. + + + + + +



    + +VICIDIAL AGENT PAUSE CODES

    +
    +
    +If the Agent Pause Codes Active field is set to active then the agents will be able to select from these pause codes when they click on the PAUSE button on their screens. This data is then stored in the vicidial agent log. The Pause code must contain only letters and numbers and be less than 7 characters long. The pause code name can be no longer than 30 characters. + + + + + +



    + +VICIDIAL_USER_GROUPS TABLE

    +
    +
    +User Group - This is the short name of a Vicidial User group, try not to use any spaces or punctuation for this field. max 20 characters, minimum of 2 characters. + +
    +
    +
    +Group Name - This is the description of the vicidial user group max of 40 characters. + +
    +
    +
    +Force Timeclock Login - This option allows you to not let an agent log in to the VICIDIAL agent interface if they have not logged into the timeclock. Default is N. There is an option to exempt admin users, levels 8 and 9. + +
    +
    +
    +Shift Enforcement - This setting allows you to restrict agent logins based upon the shifts that are selected below. OFF will not enforce shifts at all. START will only enforce the login time but will not affect an agent that is running over their shift time if they are already logged in. ALL will enforce shift start time and will log an agent out after they run over the end of their shift time. Default is OFF. + +
    +
    +
    +Group Shifts - This is a selectable list of shifts that can restrict the agents login time on the system. + +
    +
    +
    +Allowed Campaigns - This is a selectable list of Campaigns to which members of this user group can log in to. The ALL-CAMPAIGNS option allows the users in this group to see and log in to any campaign on the system. + + 0) + { + ?> +
    +
    +
    + QC Allowed Campaigns - This is a selectable list of Campaigns which members of this user group will be able to QC. The ALL-CAMPAIGNS option allows the users in this group to QC any campaign on the system. + +
    +
    +
    + QC Allowed Inbound Groups - This is a selectable list of Inbound Groups which members of this user group will be able to QC. The ALL-GROUPS option allows the users in this user group to QC any inbound group on the system. + + + + + +



    + +VICIDIAL_SCRIPTS TABLE

    +
    +
    +Script ID - This is the short name of a Vicidial Script. This needs to be a unique identifier. Try not to use any spaces or punctuation for this field. max 10 characters, minimum of 2 characters. + +
    +
    +Script Name - This is the title of a Vicidial Script. This is a short summary of the script. max 50 characters, minimum of 2 characters. There should be no spaces or punctuation of any kind in theis field. + +
    +
    +Script Comments - This is where you can place comments for a Vicidial Script such as -changed to free upgrade on Sept 23-. max 255 characters, minimum of 2 characters. + +
    +
    +Script Text - This is where you place the content of a Vicidial Script. Minimum of 2 characters. You can have customer information be auto-populated in this script using "--A--field--B--" where field is one of the following fieldnames: vendor_lead_code, source_id, list_id, gmt_offset_now, called_since_last_reset, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments, lead_id, campaign, phone_login, group, channel_group, SQLdate, epoch, uniqueid, customer_zap_channel, server_ip, SIPexten, session_id. For example, this sentence would print the persons name in it----

    Hello, can I speak with --A--first_name--B-- --A--last_name--B-- please? Well hello --A--title--B-- --A--last_name--B-- how are you today?

    This would read----

    Hello, can I speak with John Doe please? Well hello Mr. Doe how are you today?

    You can also use an iframe to load a separate window within the SCRIPT tab, here is an example with prepopulated variables: + +
    +<iframe src="http://astguiclient.sf.net/test_VICIDIAL_output.php?lead_id=--A--lead_id--B--&vendor_id=--A--vendor_lead_code--B--&list_id=--A--list_id--B--&gmt_offset_now=--A--gmt_offset_now--B--&phone_code=--A--phone_code--B--&phone_number=--A--phone_number--B--&title=--A--title--B--&first_name=--A--first_name--B--&middle_initial=--A--middle_initial--B--&last_name=--A--last_name--B--&address1=--A--address1--B--&address2=--A--address2--B--&address3=--A--address3--B--&city=--A--city--B--&state=--A--state--B--&province=--A--province--B--&postal_code=--A--postal_code--B--&country_code=--A--country_code--B--&gender=--A--gender--B--&date_of_birth=--A--date_of_birth--B--&alt_phone=--A--alt_phone--B--&email=--A--email--B--&security_phrase=--A--security_phrase--B--&comments=--A--comments--B--&user=--A--user--B--&campaign=--A--campaign--B--&phone_login=--A--phone_login--B--&fronter=--A--fronter--B--&closer=--A--user--B--&group=--A--group--B--&channel_group=--A--group--B--&SQLdate=--A--SQLdate--B--&epoch=--A--epoch--B--&uniqueid=--A--uniqueid--B--&customer_zap_channel=--A--customer_zap_channel--B--&server_ip=--A--server_ip--B--&SIPexten=--A--SIPexten--B--&session_id=--A--session_id--B--&phone=--A--phone--B--" style="width:580;height:290;background-color:transparent;" scrolling="auto" frameborder="0" allowtransparency="true" id="popupFrame" name="popupFrame" width="460" height="290" STYLE="z-index:17"> +</iframe> +
    + +
    +
    +
    +Active - This determines whether this script can be selected to be used by a campaign. + + + + + + 0) + { + ?> +



    + + VICIDIAL_LEAD_FILTERS TABLE

    +
    +
    + Filter ID - This is the short name of a Vicidial Lead Filter. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 10 characters, minimum of 2 characters. + +
    +
    + Filter Name - This is a more descriptive name of the Filter. This is a short summary of the filter. max 30 characters, minimum of 2 characters. + +
    +
    + Filter Comments - This is where you can place comments for a Vicidial Filter such as -calls all California leads-. max 255 characters, minimum of 2 characters. + +
    +
    + Filter SQL - This is where you place the SQL query fragment that you want to filter by. do not begin or end with an AND, that will be added by the hopper cron script automatically. an example SQL query that would work here is- called_count > 4 and called_count < 8 -. + + + + + +



    + +VICIDIAL_CALL TIMES TABLE

    +
    +
    +Call Time ID - This is the short name of a Vicidial Call Time Definition. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 10 characters, minimum of 2 characters. + +
    +
    +Call Time Name - This is a more descriptive name of the Call Time Definition. This is a short summary of the Call Time definition. max 30 characters, minimum of 2 characters. + +
    +
    +Call Time Comments - This is where you can place comments for a Vicidial Call Time Definition such as -10am to 4pm with extra call state restrictions-. max 255 characters. + +
    +
    +Default Start and Stop Times - This is the default time that calling will be allowed to be started or stopped within this call time definition if the day-of-the-week start time is not defined. 0 is midnight. To prevent calling completely set this field to 2400 and set the Default Stop time to 2400. To allow calling 24 hours a day set the start time to 0 and the stop time to 2400. + +
    +
    +Weekday Start and Stop Times - These are the custom times per day that can be set for the call time definition. same rules apply as with the Default start and stop times. + +
    +
    +State Call Time Definitions - This is the list of State specific call time definitions that are followed in this Call Time Definition. + +
    +
    +State Call Time State - This is the two letter code for the state that this calling time definition is for. For this to be in effect the local call time that is set in the campaign must have this state call time record in it as well as all of the leads having two letter state codes in them. + + + + +



    + +VICIDIAL_SHIFTS TABLE

    +
    +
    +Shift ID - This is the short name of a Vicidial Shift Definition. This needs to be a unique identifier. Do not use any spaces or punctuation for this field. max 20 characters, minimum of 2 characters. + +
    +
    +Shift Name - This is a more descriptive name of the Shift Definition. This is a short summary of the Shift definition. max 50 characters, minimum of 2 characters. + +
    +
    +Shift Start Time - This is the time that the campaign shift begins. Must only be numbers, 9:30 AM would be 0930 and 5:00 PM would be 1700. + +
    +
    +Shift Length - This is the time in Hours and Minutes that the campaign shift lasts. 8 hours would be 08:00 and 7 hours and 30 minutes would be 07:30. + +
    +
    +Shift Weekdays - In this section you should choose the days of the week that this shift is active. + + + + 0) + { + ?> + +



    + + VICIDIAL LIST LOADER FUNCTIONALITY

    +
    +
    + The VICIDIAL basic web-based lead loader is designed simply to take a lead file - up to 8MB in size - that is either tab or pipe delimited and load it into the vicidial_list table. The lead loader allows for field choosing and TXT- Plain Text, CSV- Comma Separated Values and XLS- Excel file formats. The lead loader does not do data validation, but it does allow you to check for duplicates in itself, within the campaign or within the entire system. Also, make sure that you have created the list that these leads are to be under so that you can use them. Here is a list of the fields in their proper order for the lead files: +
      +
    1. Vendor Lead Code - shows up in the Vendor ID field of the GUI +
    2. Source Code - internal use only for admins and DBAs +
    3. List ID - the list number that these leads will show up under +
    4. Phone Code - the prefix for the phone number - 1 for US, 01144 for UK, 01161 for AUS, etc +
    5. Phone Number - must be at least 8 digits long +
    6. Title - title of the customer - Mr. Ms. Mrs, etc... +
    7. First Name +
    8. Middle Initial +
    9. Last Name +
    10. Address Line 1 +
    11. Address Line 2 +
    12. Address Line 3 +
    13. City +
    14. State - limited to 2 characters +
    15. Province +
    16. Postal Code +
    17. Country +
    18. Gender +
    19. Date of Birth +
    20. Alternate Phone Number +
    21. Email Address +
    22. Security Phrase +
    23. Comments +
    + +
    NOTES: The Excel Lead loader functionality is enabled by a series of perl scripts and needs to have a properly configured /etc/astguiclient.conf file in place on the web server. Also, a couple perl modules must be loaded for it to work as well - OLE-Storage_Lite and Spreadsheet-ParseExcel. You can check for runtime errors in these by looking at your apache error_log file. Also, for duplication checks against gampaign lists, the list that has new leads going into it does need to be created in the system before you start to load the leads. + + + + +



    + + + + + + +PHONES TABLE

    +
    +
    +Phone extension - This field is where you put the phones name as it appears to Asterisk not including the protocol or slash at the beginning. For Example: for the SIP phone SIP/test101 the Phone extension would be test101. Also, for IAX2 phones make sure you use the full phones name: IAX2/IAXphone1@IAXphone1 would be IAXphone1@IAXphone1. For Zap phones make sure you put the full channel: Zap/25-1 would be 25-1. Another note, make sure you set the Protocol below correctly for your type of phone. + +
    +
    +
    +Dial Plan Number - This field is for the number you dial to have the phone ring. This number is defined in the extensions.conf file of your Asterisk server + +
    +
    +
    +Voicemail Box - This field is for the voicemail box that the messages go to for the user of this phone. We use this to check for voicemail messages and for the user to be able to use the VOICEMAIL button on astGUIclient app. + +
    +
    +
    +Outbound CallerID - This field is where you would enter the callerID number that you would like to appear on outbound calls placed form the astguiclient web-client. This does not work on RBS, non-PRI, T1/E1s. + +
    +
    +
    +Phone IP address - This field is for the phone's IP address if it is a VOIP phone. This is an optional field + +
    +
    +
    +Computer IP address - This field is for the user's computer IP address. This is an optional field + +
    +
    +
    +Server IP - This menu is where you select which server the phone is active on. + +
    +
    +
    +Login - The login used for the phone user to login to the client applications. + +
    +
    +
    +Password - The password used for the phone user to login to the client applications. + +
    +
    +
    +Status - The status of the phone in the system, ACTIVE and ADMIN allow for GUI clients to work. ADMIN allows access to this administrative web site. All other statuses do not allow GUI or Admin web access. + +
    +
    +
    +Active Account - Whether the phone is active to put it in the list in the GUI client. + +
    +
    +
    +Phone Type - Purely for administrative notes. + +
    +
    +
    +Full Name - Used by the GUIclient in the list of active phones. + +
    +
    +
    +Company - Purely for administrative notes. + +
    +
    +
    +Picture - Not yet Implemented. + +
    +
    +
    +New Messages - Number of new voicemail messages for this phone on the Asterisk server. + +
    +
    +
    +Old Messages - Number of old voicemail messages for this phone on the Asterisk server. + +
    +
    +
    +Client Protocol - The protocol that the phone uses to connect to the Asterisk server: SIP, IAX2, Zap . Also, there is EXTERNAL for remote dial numbers or speed dial numbers that you want to list as phones. + +
    +
    +
    +Local GMT - The difference from Greenwich Mean time, or ZULU time where the phone is located. DO NOT ADJUST FOR DAYLIGHT SAVINGS TIME. This is used by the VICIDIAL campaign to accurately display the time and customer time. + +
    +
    +
    +Manager Login - This is the login that the GUI clients for this phone will use to access the Database where the server data resides. + +
    +
    +
    +Manager Secret - This is the password that the GUI clients for this phone will use to access the Database where the server data resides. + +
    +
    +
    +VICIDIAL Default User - This is to place a default value in the VICIDIAL user field whenever this phone user opens the astVICIDIAL client app. Leave blank for no user. + +
    +
    +
    +VICIDIAL Default Pass - This is to place a default value in the VICIDIAL password field whenever this phone user opens the astVICIDIAL client app. Leave blank for no pass. + +
    +
    +
    +VICIDIAL Default Campaign - This is to place a default value in the VICIDIAL campaign field whenever this phone user opens the astVICIDIAL client app. Leave blank for no campaign. + +
    +
    +
    +Park Exten - This is the default Parking extension for the client apps. Verify that a different one works before you change this. + +
    +
    +
    +Conf Exten - This is the default Conference park extension for the client apps. Verify that a different one works before you change this. + +
    +
    +
    +VICIDIAL Park Exten - This is the default Parking extension for VICIDIAL client app. Verify that a different one works before you change this. + +
    +
    +
    +VICIDIAL Park File - This is the default VICIDIAL park extension file name for the client apps. Verify that a different one works before you change this. limited to 10 characters. + +
    +
    +
    +Monitor Prefix - This is the dial plan prefix for monitoring of Zap channels automatically within the astGUIclient app. Only change according to the extensions.conf ZapBarge extensions records. + +
    +
    +
    +Recording Exten - This is the dial plan extension for the recording extension that is used to drop into meetme conferences to record them. It usually lasts upto one hour if not stopped. verify with extensions.conf file before changing. + +
    +
    +
    +VMAIL Main Exten - This is the dial plan extension going to check your voicemail. verify with extensions.conf file before changing. + +
    +
    +
    +VMAIL Dump Exten - This is the dial plan prefix used to send calls directly to a user's voicemail from a live call in the astGUIclient app. verify with extensions.conf file before changing. + +
    +
    +
    +Exten Context - This is the dial plan context that this phone primarily uses. It is assumed that all numbers dialed by the client apps are using this context so it is a good idea to make sure this is the most wide context possible. verify with extensions.conf file before changing. + +
    +
    +
    +DTMF send Channel - This is the channel string used to send DTMF sounds into meetme conferences from the client apps. Verify the exten and context with the extensions.conf file. + +
    +
    +
    +Outbound Call Group - This is the channel group that outbound calls from this phone are placed out of. There are a couple routines in the client apps that use this. For Zap channels you want to use something like Zap/g2 , for IAX2 trunks you would want to use the full IAX prefix like IAX2/VICItest1:secret@10.10.10.15:4569. Verify the trunks with the extensions.conf file, it is usually what you have defined as the TRUNK global variable at the top of the file. + +
    +
    +
    +Browser Location - This is applicable to only UNIX/LINUX clients, the absolute path to Mozilla or Firefox browser on the machine. verify this by launching it manually. + +
    +
    +
    +Install Directory - This is the place where the astGUIclient and astVICIDIAL scripts are located on your machine. For Win32 it should be something like C:\AST_VICI and for UNIX it should be something like /usr/local/perl_TK. verify this manually. + +
    +
    +
    +CallerID URL - This is the web address of the page used to do custom callerID lookups. default testing address is: http://astguiclient.sf.net/test_callerid_output.php + +
    +
    +
    +VICIDIAL Default URL - This is the web address of the page used to do custom VICIDIAL Web Form queries. default testing address is: http://astguiclient.sf.net/test_VICIDIAL_output.php + +
    +
    +
    +Call Logging - This is set to true if the call_log.agi file is in place in the extensions.conf file for all outbound and hang up 'h' extensions to log all calls. This should always be 1 because it is manditory for many astGUIclient and VICIDIAL features to work properly. + +
    +
    +
    +User Switching - Set to true to allow user to switch to another user account. NOTE: If user switches they can initiate recording on the new user's phone conversation + +
    +
    +
    +Conferencing - Set to true to allow user to start conference calls with upto six external lines. + +
    +
    +
    +Admin Hang Up - Set to true to allow user to be able to hang up any line at will through astGUIclient. Good idea only to enable this for Admin users. + +
    +
    +
    +Admin Hijack - Set to true to allow user to be able to grab and redirect to their extension any line at will through astGUIclient. Good idea only to enable this for Admin users. But is very useful for Managers. + +
    +
    +
    +Admin Monitor - Set to true to allow user to be able to grab and redirect to their extension any line at will through astGUIclient. Good idea only to enable this for Admin users. But is very useful for Managers and as a training tool. + +
    +
    +
    +Call Park - Set to true to allow user to be able to park calls on astGUIclient hold to be picked up by any other astGUIclient user on the system. Calls stay on hold for upto a half hour then hang up. Usually enabled for all. + +
    +
    +
    +Updater Check - Set to true to display a popup warning that the updater time has not changed in 20 seconds. Useful for Admin users. + +
    +
    +
    +AF Logging - Set to true to log many actions of astGUIclient usage to a text file on the user's computer. + +
    +
    +
    +Queue Enabled - Set to true to have client apps use the Asterisk Central Queue system. Required for VICIDIAL and recommended for all users. + +
    +
    +
    +CallerID Popup - Set to true to allow for numbers defined in the extensions.conf file to send CallerID popup screens to astGUIclient users. + +
    +
    +
    +VMail Button - Set to true to display the VOICEMAIL button and the messages count display on astGUIclient. + +
    +
    +
    +Fast Refresh - Set to true to enable a new rate of refresh of call information for the astGUIclient. Default disabled rate is 1000 ms ,1 second. Can increase system load if you lower this number. + +
    +
    +
    +Fast Refresh Rate - in milliseconds. Only used if Fast Refresh is enabled. Default disabled rate is 1000 ms ,1 second. Can increase system load if you lower this number. + +
    +
    +
    +Persistant MySQL - If enabled the astGUIclient connection will remain connected instead of connecting every second. Useful if you have a fast refresh rate set. It will increase the number of connections on your MySQL machine. + +
    +
    +
    +Auto Dial Next Number - If enabled the VICIDIAL client will dial the next number on the list automatically upon disposition of a call unless they selected to "Stop Dialing" on the disposition screen. + +
    +
    +
    +Stop Rec after each call - If enabled the VICIDIAL client will stop whatever recording is going on after each call has been dispositioned. Useful if you are doing a lot of recording or you are using a web form to trigger recording. + +
    +
    +
    +Enable SIPSAK Messages - If enabled the server will send messages to the SIP phone to display on the phone LCD display when logged into VICIDIAL. Feature only works with SIP phones and requires sipsak application to be installed on the web server. Default is 0. + +
    +
    +
    +DBX Server - The MySQL database server that this user should be connecting to. + +
    +
    +
    +DBX Database - The MySQL database that this user should be connecting to. Default is asterisk. + +
    +
    +
    +DBX User - The MySQL user login that this user should be using when connecting. Default is cron. + +
    +
    +
    +DBX Pass - The MySQL user password that this user should be using when connecting. Default is 1234. + +
    +
    +
    +DBX Port - The MySQL TCP port that this user should be using when connecting. Default is 3306. + +
    +
    +
    +DBY Server - The MySQL database server that this user should be connecting to. Secondary server, not used currently. + +
    +
    +
    +DBY Database - The MySQL database that this user should be connecting to. Default is asterisk. Secondary server, not used currently. + +
    +
    +
    +DBY User - The MySQL user login that this user should be using when connecting. Default is cron. Secondary server, not used currently. + +
    +
    +
    +DBY Pass - The MySQL user password that this user should be using when connecting. Default is 1234. Secondary server, not used currently. + +
    +
    +
    +DBY Port - The MySQL TCP port that this user should be using when connecting. Default is 3306. Secondary server, not used currently. + +
    +
    +
    +Alias ID - The ID of the alias used to allow for phone load balanced logins. no spaces or other special characters allowed. Must be between 2 and 20 characters in length. + +
    +
    +
    +Alias Name - The name used to describe a phones alias, Must be between 2 and 50 characters in length. + +
    +
    +
    +Phones Logins List - The comma separated list of phone logins used when an agent logs in using phone load balanced logins. The Agent application will find the active server with the fewest agents logged into it and place a call from that server to the agent upon login. + +
    +
    +
    +Phones Email - The email address associated with this phone entry. This is used for voicemail settings. + +
    +
    +
    +Template ID - This is the conf file template ID that this phone entry will use for its Asterisk settings. Default is --NONE--. + +
    +
    +
    +Conf Override Settings - If populated, and the Template ID is set to --NONE-- then the contents of this field are used as the conf file entries for this phone. generate_vicidial_conf for this phones server must be set to Y for this to work. This field should NOT contain the [extension] line, that will be automatically generated. + +
    +
    +
    +Group Alias ID - The ID of the group alias used by agents to dial out calls from the VICIDIAL agent interface with different Caller IDs. no spaces or other special characters allowed. Must be between 2 and 20 characters in length. + +
    +
    +
    +Group Alias Name - The name used to describe a group alias, Must be between 2 and 50 characters in length. + +
    +
    +
    +Caller ID Number - The Caller ID number used in this Group Alias. Must be digits only. + +
    +
    +
    +Caller ID Name - The Caller ID name that can be sent out with this Group Alias. As far as we know this will only work in Canada on PRI circuits and using an IAX loop trunk through Asterisk. + + + + +



    + +SERVERS TABLE

    +
    +
    +Server ID - This field is where you put the Asterisk servers name, doesnt have to be an official domain sub, just a nickname to identify the server to Admin users. + +
    +
    +
    +Server Description - The field where you use a small phrase to describe the Asterisk server. + +
    +
    +
    +Server IP Address - The field where you put the Network IP address of the Asterisk server. + +
    +
    +
    +Active - Set whether the Asterisk server is active or inactive. + +
    +
    +
    +System Load - These two statistics show the loadavg of a system times 100 and the CPU usage percentage of the server and is updated every minute. The loadavg should on average be below 100 multiplied by the number of CPU cores your system has, for optimal performance. The CPU usage percentage should stay below 50 for optimal performance. + +
    +
    +
    +Live Channels - This field shows the current number of Asterisk channels that are live on the system right now. It is important to note that the number of Asterisk channels is usually much higher than the number of actual calls on a system. This field is updated once every minute. + +
    +
    +
    +Disk Usage - This field will show the disk usage for every partition on this server. This field is updated once every minute. + +
    +
    +
    +Asterisk Version - Set the version of Asterisk that you have installed on this server. Examples: '1.2', '1.0.8', '1.0.7', 'CVS_HEAD', 'REALLY OLD', etc... This is used because versions 1.0.8 and 1.0.9 have a different method of dealing with Local/ channels, a bug that has been fixed in CVS v1.0, and need to be treated differently when handling their Local/ channels. Also, current CVS_HEAD and the 1.2 release tree uses different manager and command output so it must be treated differently as well. + +
    +
    +
    +Max VICIDIAL Trunks - This field will determine the maximum number of lines that the VICIDIAL auto-dialer will attempt to call on this server. If you want to dedicate two full PRI T1s to VICIDIALing on a server then you would set this to 46. Default is 96. + +
    +
    +
    +Max Calls per Second - This setting determines the maximum number of calls that can be placed by the outbound auto-dialing script on this server per second. Must be from 1 to 100. Default is 20. + +
    +
    +
    +Telnet Host - This is the address or name of the Asterisk server and is how the manager applications connect to it from where they are running. If they are running on the Asterisk server, then the default of 'localhost' is fine. + +
    +
    +
    +Telnet Port - This is the port of the Asterisk server Manager connection and is how the manager applications connect to it from where they are running. The default of '5038' is fine for a standard install. + +
    +
    +
    +Manager User - The username or login used to connect genericly to the Asterisk server manager. Default is 'cron' + +
    +
    +
    +Manager Secret - The secret or password used to connect genericly to the Asterisk server manager. Default is '1234' + +
    +
    +
    +Manager Update User - The username or login used to connect to the Asterisk server manager optimized for the Update scripts. Default is 'updatecron' and assumes the same secret as the generic user. + +
    +
    +
    +Manager Listen User - The username or login used to connect to the Asterisk server manager optimized for scripts that only listen for output. Default is 'listencron' and assumes the same secret as the generic user. + +
    +
    +
    +Manager Send User - The username or login used to connect to the Asterisk server manager optimized for scripts that only send Actions to the manager. Default is 'sendcron' and assumes the same secret as the generic user. + +
    +
    +
    +Server GMT offset - The difference in hours from GMT time not adjusted for Daylight-Savings-Time of the server. Default is '-5' + +
    +
    +
    +VMail Dump Exten - The extension prefix used on this server to send calls directly through agc to a specific voicemail box. Default is '85026666666666' + +
    +
    +
    +VICIDIAL AD extension - The default extension if none is present in the campaign to send calls to for VICIDIAL auto dialing. Default is '8365' + +
    +
    +
    +Default Context - The default dial plan context used for scripts that operate for this server. Default is 'default' + +
    +
    +
    +System Performance - Setting this option to Y will enable logging of system performance stats for the server machine including system load, system processes and Asterisk channels in use. Default is N. + +
    +
    +
    +Server Logs - Setting this option to Y will enable logging of all VICIDIAL related scripts to their text log files. Setting this to N will stop writing logs to files for these processes, also the screen logging of asterisk will be disabled if this is set to N when Asterisk is started. Default is Y. + +
    +
    +
    +AGI Output - Setting this option to NONE will disable output from all VICIDIAL related AGI scripts. Setting this to STDERR will send the AGI output to the Asterisk CLI. Setting this to FILE will send the output to a file in the logs directory. Setting this to BOTH will send output to both the Asterisk CLI and a log file. Default is FILE. + +
    +
    +
    +VICIDIAL Balance Dialing - Setting this field to Y will allow the server to place balance calls for campaigns in VICIDIAL so that the defined dial level can be met even if there are no agents logged into that campaign on this server. Default is N. + +
    +
    +
    +VICIDIAL Balance Offlimits - This setting defines the number of trunks to not allow VICIDIAL balance dialing to use. For example if you have 40 max vicidial trunks and balance offlimits is set to 10 you will only be able to use 30 trunk lines for VICIDIAL balance dialing. Default is 0. + +
    +
    +
    +Recording Web Link - This setting allows you to override the default of the display of the recording link in the admin web pages. Default is SERVER_IP. + +
    +
    +
    +Alternate Recording Server IP - This setting is where you can put a server IP or other machine name that can be used in place of the server_ip in the links to recordings within the admin web pages. Default is empty. + +
    +
    +
    +Active Asterisk Server - If Asterisk is not running on this server, or if VICIDIAL should not be using this server, or if are only using this server for other scripts like the hopper loading script you would want to set this to N. Default is Y. + +
    +
    +
    +Generate conf files - If you would like the system to auto-generate asterisk conf files based upon the phones entries, carrier entries and load balancing setup within VICIDIAL then set this to Y. Default is Y. + +
    +
    +
    +Rebuild conf files - If you want to force a rebuilding of the Asterisk conf files or if any of the phones or carrier entries have changed then this should be set to Y. After the conf files have been generated and Asterisk has been reloaded then this will be changed to N. Default is Y. + + + + + +



    + +vicidial_conf_templates TABLE

    +
    +
    +Template ID - This field needs to be at least 2 characters in length and no more than 15 characters in length, no spaces. This is the ID that will be used to identify the conf template throughout the system. + +
    +
    +
    +Template Name - This is the descriptive name of the conf file template entry. + +
    +
    +
    +Template Contents - This field is where you can enter in the specific settings to be used by all phones and-or carriers that are set to use this conf template. Fields that should NOT be included in this box are: secret, accountcode, account, username and mailbox. + + + + + +



    + +vicidial_server_carriers TABLE

    +
    +
    +Carrier ID - This field needs to be at least 2 characters in length and no more than 15 characters in length, no spaces. This is the ID that will be used to identify the carrier for this specific entry throughout the system. + +
    +
    +
    +Carrier Name - This is the descriptive name of the carrier entry. + +
    +
    +
    +Registration String - This field is where you can enter in the exact string needed in the IAX or SIP configuration file to register to the provider. Optional but highly recommended if your carrier allows registration. + +
    +
    +
    +Template ID - This optional field allows you to choose a conf file template for this carrier entry. + +
    +
    +
    +Account Entry - This field is used if you have not selected a template to use, and it is where you can enter in the specific account settings to be used for this carrier. If you will be taking in inbound calls from this carrier trunk you might want to set the context=trunkinbound within this field so that you can use the DID handling process within VICIDIAL. + +
    +
    +
    +Protocol - This field allows you to define the protocol to use for the carrier entry. Currently only IAX and SIP are supported. + +
    +
    +
    +Globals String - This optional field allows you to define a global variable to use for the carrier in the dialplan. + +
    +
    +
    +Dialplan Entry - This optional field allows you to define a set of dialplan entries to use for this carrier. + +
    +
    +
    +Server IP - This is the server that this specific carrier record is associated with. + +
    +
    +
    +Active - This defines whether the carrier will be included in the auto-generated conf files or not. + + + + + +



    + +CONFERENCES TABLE

    +
    +
    +Conference Number - This field is where you put the meetme conference dialpna number. It is also recommended that the meetme number in meetme.conf matches this number for each entry. This is for the conferences in astGUIclient and is used for leave-3way-call functionality in VICIDIAL. + +
    +
    +
    +Server IP - The menu where you select the Asterisk server that this conference will be on. + + + + + 0) + { + ?> +



    + + VICIDIAL_SERVER_TRUNKS TABLE

    +
    +
    + VICIDIAL Server Trunks allows you to restrict the outgoing lines that are used on this server for campaign dialing on a per-campaign basis. You have the option to reserve a specific number of lines to be used by only one campaign as well as allowing that campaign to run over its reserved lines into whatever lines remain open, as long at the total lines used by vicidial on this server is less than the Max VICIDIAL Trunks setting. Not having any of these records will allow the campaign that dials the line first to have as many lines as it can get under the Max VICIDIAL Trunks setting. + + + + + +



    + +SYSTEM_SETTINGS TABLE

    +
    +
    +Use Non-Latin - This option allows you to default the web display script to use UTF8 characters and not do any latin-character-family regular expression filtering or display formatting. Default is 0. + +
    +
    +
    +Webroot Writable - This setting allows you to define whether temp files and authentication files should be placed in the webroot on your web server. Default is 1. + +
    +
    +
    +VICIDIAL Agent Disable Display - This field is used to select when to show an agent when their session has been disabled by the system, a manager action or by an external measure. The NOT_ACTIVE setting will disable the message on the agents screen. The LIVE_AGENT setting will only display the disabled message when the agents vicidial_auto_calls record has been removed, such as during a force logout or emergency logout. + +
    +
    +
    +Allow SIPSAK Messages - If set to 1, this will allow the phones table setting to work properly, the server will send messages to the SIP phone to display on the phone LCD display when logged into VICIDIAL. This feature only works with SIP phones and requires sipsak application to be installed on the web server. Default is 0. + +
    +
    +
    +Agent API Active - If set to 1, this will allow the Agent API interface to function. Default is 0. + +
    +
    +
    +Admin Home URL - This is the URL or web site address that you will go to if you click on the HOME link at the top of the admin.php page. + +
    +
    +
    +Enable Agent Transfer Logfile - This option will log to a text logfile on the webserver every time a call is transferred to an agent. Default is 0, disabled. + +
    +
    +
    +Timeclock End Of Day - This setting defines when all users are to be auto logged out of the timeclock system. Only runs once a day. must be only 4 digits 2 digit hour and 2 digit minutes in 24 hour time. Default is 0000. + +
    +
    +
    +Timeclock Last Auto Logout - This field displays the date of the last auto-logout. + +
    +
    +
    +Agent Screen Header Date Format - This menu allows you to choose the format of the date that shows up at the top of the VICIDIAL agent screen. The options for this setting are: default is MS_DASH_24HR
    +MS_DASH_24HR 2008-06-24 23:59:59 - Default date format with year month day followed by 24 hour time
    +US_SLASH_24HR 06/24/2008 23:59:59 - USA date format with month day year followed by 24 hour time
    +EU_SLASH_24HR 24/06/2008 23:59:59 - European date format with day month year followed by 24 hour time
    +AL_TEXT_24HR JUN 24 23:59:59 - Text date format with abbreviated month day followed by 24 hour time
    +MS_DASH_AMPM 2008-06-24 11:59:59 PM - Default date format with year month day followed by 12 hour time
    +US_SLASH_AMPM 06/24/2008 11:59:59 PM - USA date format with month day year followed by 12 hour time
    +EU_SLASH_AMPM 24/06/2008 11:59:59 PM - European date format with day month year followed by 12 hour time
    +AL_TEXT_AMPM JUN 24 11:59:59 PM - Text date format with abbreviated month day followed by 12 hour time
    + +
    +
    +
    +Agent Screen Customer Date Format - This menu allows you to choose the format of the customer time zone date that shows up at the top of the Customer Information section of the VICIDIAL agent screen. The options for this setting are: default is AL_TEXT_AMPM
    +MS_DASH_24HR 2008-06-24 23:59:59 - Default date format with year month day followed by 24 hour time
    +US_SLASH_24HR 06/24/2008 23:59:59 - USA date format with month day year followed by 24 hour time
    +EU_SLASH_24HR 24/06/2008 23:59:59 - European date format with day month year followed by 24 hour time
    +AL_TEXT_24HR JUN 24 23:59:59 - Text date format with abbreviated month day followed by 24 hour time
    +MS_DASH_AMPM 2008-06-24 11:59:59 PM - Default date format with year month day followed by 12 hour time
    +US_SLASH_AMPM 06/24/2008 11:59:59 PM - USA date format with month day year followed by 12 hour time
    +EU_SLASH_AMPM 24/06/2008 11:59:59 PM - European date format with day month year followed by 12 hour time
    +AL_TEXT_AMPM JUN 24 11:59:59 PM - Text date format with abbreviated month day followed by 12 hour time
    + +
    +
    +
    +Agent Screen Customer Phone Format - This menu allows you to choose the format of the customer phone number that shows up in the status section of the VICIDIAL agent screen. The options for this setting are: default is US_PARN
    +US_DASH 000-000-0000 - USA dash separated phone number
    +US_PARN (000)000-0000 - USA dash separated number with area code in parenthesis
    +MS_NODS 0000000000 - No formatting
    +UK_DASH 00 0000-0000 - UK dash separated phone number with space after city code
    +AU_SPAC 000 000 000 - Australia space separated phone number
    +IT_DASH 0000-000-000 - Italy dash separated phone number
    +FR_SPAC 00 00 00 00 00 - France space separated phone number
    + +
    +
    +
    +Agent interface API Access Active - This option allows you to enable or disable the agent interface API. Default is 0. + +
    +
    +
    +QC Features Active - This option allows you to enable or disable the QC or Quality Control features. Default is 0 for inactive. + +
    +
    +
    +Outbound Auto-Dial Active - This option allows you to enable or disable outbound auto-dialing within VICIDIAL, setting this field to 0 will remove the LISTS and FILTERS sections and many fields from the Campaign Modification screens. Manual entry dialing will still be allowable from within the agent screen, but no list dialing will be possible. Default is 1 for active. + +
    +
    +
    +Max FILL Calls per Second - This setting determines the maximum number of calls that can be placed by the auto-FILL outbound auto-dialing script on for all servers, per second. Must be from 1 to 200. Default is 40. + +
    +
    +
    +Enable QueueMetrics Logging - This setting allows you to define whether VICIDIAL will insert log entries into the queue_log database table as Asterisk Queues activity does. QueueMetrics is a standalone, closed-source statistical analysis program. You must have QueueMetrics already installed and configured before enabling this feature. Default is 0. + +
    +
    +
    +QueueMetrics Server IP - This is the IP address of the database for your QueueMetrics installation. + +
    +
    +
    +QueueMetrics Database Name - This is the database name for your QueueMetrics database. + +
    +
    +
    +QueueMetrics Database Login - This is the user name used to log in to your QueueMetrics database. + +
    +
    +
    +QueueMetrics Database Password - This is the password used to log in to your QueueMetrics database. + +
    +
    +
    +QueueMetrics URL - This is the URL or web site address used to get to your QueueMetrics installation. + +
    +
    +
    +QueueMetrics Log ID - This is the server ID that all VICIDIAL logs going into the QueueMetrics database will use as an identifier for each record. + +
    +
    +
    +QueueMetrics EnterQueue Prepend - This field is used to allow for prepending of one of the vicidial_list data fields in front of the phone number of the customer for customized QueueMetrics reports. Default is NONE to not populate anything. + +
    +
    +
    +Enable Vtiger Integration - This setting allows you to enable Vtiger integration with VICIDIAL. Currently links to Vtiger admin and search as well as user replication are the only integration features available. Default is 0. + +
    +
    +
    +Vtiger DB Server IP - This is the IP address of the database for your Vtiger installation. + +
    +
    +
    +Vtiger Database Name - This is the database name for your Vtiger database. + +
    +
    +
    +Vtiger Database Login - This is the user name used to log in to your Vtiger database. + +
    +
    +
    +Vtiger Database Password - This is the password used to log in to your Vtiger database. + +
    +
    +
    +Vtiger URL - This is the URL or web site address used to get to your Vtiger installation. + + +



    + +VICIDIAL_STATUSES TABLE

    +
    +
    +Through the use of system statuses, you can have statuses that exist for campaign and in-group. The Status must be 1-6 characters in length, the description must be 2-30 characters in length and Selectable defines whether it shows up in VICIDIAL as an agent disposition. The human_answered field is used when calculating the drop percentage, or abandon rate. Setting human_answered to Y will use this status when counting the human-answered calls. The Category option allows you to group several statuses into a catogy that can be used for statistical analysis. + + +



    + +VICIDIAL_STATUS_CATEGORIES TABLE

    +
    +
    +Through the use of system status categories, you can group together statuses to allow for statistical analysis on a group of statuses. The Category ID must be 2-20 characters in length with no spaces, the name must be 2-50 characters in length, the description is optional and TimeonVDAD Display defines whether that status will be one of the upto 4 statuses that can be calculated and displayed on the Time On VDAD Real-Time report. The Sale Category and Dead Lead Category are both used by the List Suggestion system when analyzing list statistics. + + + 0) + { + ?> +



    + + VICIDIAL QC STATUS CODES

    +
    +
    + The Quality Control-QC system within VICIDIAL has its own set of status codes separate from those within the call handling functions of VICIDIAL. QC statuse codes must be between 2 and 8 characters in length and contain no special characters like a space or colon. The QC status code description must be between 2 and 30 characters in length. + + + + +







    +







    +THE END +
    +\n"; + echo "\n"; + echo "\n"; + echo ""; + + $stmt="SELECT dial_statuses,local_call_time,lead_filter_id from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $dial_statuses = $row[0]; + $local_call_time = $row[1]; + if ($lead_filter_id=='') + { + $lead_filter_id = $row[2]; + if ($lead_filter_id=='') + { + $lead_filter_id='NONE'; + } + } + + $stmt="SELECT list_id,active,list_name from vicidial_lists where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + if (ereg("Y", $rowx[1])) {$camp_lists .= "'$rowx[0]',";} + } + $camp_lists = eregi_replace(".$","",$camp_lists); + + $filterSQL = $filtersql_list[$lead_filter_id]; + $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); + if (strlen($filterSQL)>4) + {$fSQL = "and $filterSQL";} + else + {$fSQL = '';} + + + echo "

    \n"; + echo "Show Dialable Leads Count -

    \n"; + echo "CAMPAIGN: $campaign_id
    \n"; + echo "LISTS: $camp_lists
    \n"; + echo "STATUSES: $dial_statuses
    \n"; + echo "FILTER: $lead_filter_id
    \n"; + echo "CALL TIME: $local_call_time

    \n"; + + ### call function to calculate and print dialable leads + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$fSQL); + + echo "

    \n"; + echo "\n"; + + exit; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=7111111 view sample script with test variables +###################### + +if ($ADD==7111111) + { + ##### TEST VARIABLES ##### + $vendor_lead_code = 'VENDOR:LEAD;CODE'; + $list_id = 'LISTID'; + $gmt_offset_now = 'GMTOFFSET'; + $phone_code = '1'; + $phone_number = '7275551212'; + $title = 'Mr.'; + $first_name = 'JOHN'; + $middle_initial = 'Q'; + $last_name = 'PUBLIC'; + $address1 = '1234 Main St.'; + $address2 = 'Apt. 3'; + $address3 = 'ADDRESS3'; + $city = 'CHICAGO'; + $state = 'IL'; + $province = 'PROVINCE'; + $postal_code = '33760'; + $country_code = 'USA'; + $gender = 'M'; + $date_of_birth = '1970-01-01'; + $alt_phone = '3125551212'; + $email = 'test@test.com'; + $security_phrase = 'SECUTIRY'; + $comments = 'COMMENTS FIELD'; + $RGfullname = 'JOE AGENT'; + $RGuser = '6666'; + $RGlead_id = '1234'; + $RGcampaign = 'TESTCAMP'; + $RGphone_login = 'gs102'; + $RGgroup = 'TESTCAMP'; + $RGchannel_group = 'TESTCAMP'; + $RGSQLdate = date("Y-m-d H:i:s"); + $RGepoch = date("U"); + $RGuniqueid = '1163095830.4136'; + $RGcustomer_zap_channel = 'Zap/1-1'; + $RGserver_ip = '10.10.10.15'; + $RGSIPexten = 'SIP/gs102'; + $RGsession_id = '8600051'; + + echo "\n"; + echo "\n"; + echo "\n"; + echo ""; + + $stmt="SELECT * from vicidial_scripts where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $script_name = $row[1]; + $script_text = $row[3]; + + if (eregi("iframe src",$script_text)) + { + $vendor_lead_code = eregi_replace(' ','+',$vendor_lead_code); + $list_id = eregi_replace(' ','+',$list_id); + $gmt_offset_now = eregi_replace(' ','+',$gmt_offset_now); + $phone_code = eregi_replace(' ','+',$phone_code); + $phone_number = eregi_replace(' ','+',$phone_number); + $title = eregi_replace(' ','+',$title); + $first_name = eregi_replace(' ','+',$first_name); + $middle_initial = eregi_replace(' ','+',$middle_initial); + $last_name = eregi_replace(' ','+',$last_name); + $address1 = eregi_replace(' ','+',$address1); + $address2 = eregi_replace(' ','+',$address2); + $address3 = eregi_replace(' ','+',$address2); + $city = eregi_replace(' ','+',$city); + $state = eregi_replace(' ','+',$state); + $province = eregi_replace(' ','+',$province); + $postal_code = eregi_replace(' ','+',$postal_code); + $country_code = eregi_replace(' ','+',$country_code); + $gender = eregi_replace(' ','+',$gender); + $date_of_birth = eregi_replace(' ','+',$date_of_birth); + $alt_phone = eregi_replace(' ','+',$alt_phone); + $email = eregi_replace(' ','+',$email); + $security_phrase = eregi_replace(' ','+',$security_phrase); + $comments = eregi_replace(' ','+',$comments); + $RGfullname = eregi_replace(' ','+',$RGfullname); + $RGuser = eregi_replace(' ','+',$RGuser); + $RGlead_id = eregi_replace(' ','+',$RGlead_id); + $RGcampaign = eregi_replace(' ','+',$RGcampaign); + $RGphone_login = eregi_replace(' ','+',$RGphone_login); + $RGgroup = eregi_replace(' ','+',$RGgroup); + $RGchannel_group = eregi_replace(' ','+',$RGchannel_group); + $RGSQLdate = eregi_replace(' ','+',$RGSQLdate); + $RGepoch = eregi_replace(' ','+',$RGepoch); + $RGuniqueid = eregi_replace(' ','+',$RGuniqueid); + $RGcustomer_zap_channel = eregi_replace(' ','+',$RGcustomer_zap_channel); + $RGserver_ip = eregi_replace(' ','+',$RGserver_ip); + $RGSIPexten = eregi_replace(' ','+',$RGSIPexten); + $RGsession_id = eregi_replace(' ','+',$RGsession_id); + } + + $script_text = eregi_replace('--A--vendor_lead_code--B--',"$vendor_lead_code",$script_text); + $script_text = eregi_replace('--A--list_id--B--',"$list_id",$script_text); + $script_text = eregi_replace('--A--gmt_offset_now--B--',"$gmt_offset_now",$script_text); + $script_text = eregi_replace('--A--phone_code--B--',"$phone_code",$script_text); + $script_text = eregi_replace('--A--phone_number--B--',"$phone_number",$script_text); + $script_text = eregi_replace('--A--title--B--',"$title",$script_text); + $script_text = eregi_replace('--A--first_name--B--',"$first_name",$script_text); + $script_text = eregi_replace('--A--middle_initial--B--',"$middle_initial",$script_text); + $script_text = eregi_replace('--A--last_name--B--',"$last_name",$script_text); + $script_text = eregi_replace('--A--address1--B--',"$address1",$script_text); + $script_text = eregi_replace('--A--address2--B--',"$address2",$script_text); + $script_text = eregi_replace('--A--address3--B--',"$address3",$script_text); + $script_text = eregi_replace('--A--city--B--',"$city",$script_text); + $script_text = eregi_replace('--A--state--B--',"$state",$script_text); + $script_text = eregi_replace('--A--province--B--',"$province",$script_text); + $script_text = eregi_replace('--A--postal_code--B--',"$postal_code",$script_text); + $script_text = eregi_replace('--A--country_code--B--',"$country_code",$script_text); + $script_text = eregi_replace('--A--gender--B--',"$gender",$script_text); + $script_text = eregi_replace('--A--date_of_birth--B--',"$date_of_birth",$script_text); + $script_text = eregi_replace('--A--alt_phone--B--',"$alt_phone",$script_text); + $script_text = eregi_replace('--A--email--B--',"$email",$script_text); + $script_text = eregi_replace('--A--security_phrase--B--',"$security_phrase",$script_text); + $script_text = eregi_replace('--A--comments--B--',"$comments",$script_text); + $script_text = eregi_replace('--A--fullname--B--',"$RGfullname",$script_text); + $script_text = eregi_replace('--A--fronter--B--',"$RGuser",$script_text); + $script_text = eregi_replace('--A--user--B--',"$RGuser",$script_text); + $script_text = eregi_replace('--A--lead_id--B--',"$RGlead_id",$script_text); + $script_text = eregi_replace('--A--campaign--B--',"$RGcampaign",$script_text); + $script_text = eregi_replace('--A--phone_login--B--',"$RGphone_login",$script_text); + $script_text = eregi_replace('--A--group--B--',"$RGgroup",$script_text); + $script_text = eregi_replace('--A--channel_group--B--',"$RGchannel_group",$script_text); + $script_text = eregi_replace('--A--SQLdate--B--',"$RGSQLdate",$script_text); + $script_text = eregi_replace('--A--epoch--B--',"$RGepoch",$script_text); + $script_text = eregi_replace('--A--uniqueid--B--',"$RGuniqueid",$script_text); + $script_text = eregi_replace('--A--customer_zap_channel--B--',"$RGcustomer_zap_channel",$script_text); + $script_text = eregi_replace('--A--server_ip--B--',"$RGserver_ip",$script_text); + $script_text = eregi_replace('--A--SIPexten--B--',"$RGSIPexten",$script_text); + $script_text = eregi_replace('--A--session_id--B--',"$RGsession_id",$script_text); + $script_text = eregi_replace("\n","
    ",$script_text); + + + echo ""; + + echo "Preview Script: $script_id
    \n"; + echo "
    \n"; + echo "
    $script_name
    \n"; + echo "$script_text\n"; + echo "
    \n"; + + echo "\n"; + + exit; + } + + +$ADMIN=$PHP_SELF; +require("admin_header.php"); + + + + + +###################################################################################################### +###################################################################################################### +####### 1 series, ADD NEW forms for inserting new records into the database +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=1 display the ADD NEW USER FORM SCREEN +###################### + +if ($ADD=="1") + { + if ($LOGmodify_users==1) + { + echo "
    \n"; + echo ""; + + echo "
    ADD A NEW USER
    \n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$NWB#vicidial_users-user_group$NWE\n"; + echo "\n"; + echo "
    User Number: $NWB#vicidial_users-user$NWE
    Password: $NWB#vicidial_users-pass$NWE
    Full Name: $NWB#vicidial_users-full_name$NWE
    User Level: $NWB#vicidial_users-user_level$NWE
    User Group:
    Phone Login: $NWB#vicidial_users-phone_login$NWE
    Phone Pass: $NWB#vicidial_users-phone_pass$NWE
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=1A display the COPY USER FORM SCREEN +###################### + +if ($ADD=="1A") + { + if ($LOGmodify_users==1) + { + echo "
    \n"; + echo ""; + + echo "
    COPY USER\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + + if ($LOGuser_level==9) {$levelMAX=10;} + else {$levelMAX=$LOGuser_level;} + + echo "\n"; + echo "\n"; + echo "
    User Number: $NWB#vicidial_users-user$NWE
    Password: $NWB#vicidial_users-pass$NWE
    Full Name: $NWB#vicidial_users-full_name$NWE
    Source User: $NWB#vicidial_users-user$NWE
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=11 display the ADD NEW CAMPAIGN FORM SCREEN +###################### + +if ($ADD==11) + { + if ($LOGmodify_campaigns==1) + { + echo "
    \n"; + echo ""; + + echo "
    ADD A NEW CAMPAIGN\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + if ($SSoutbound_autodial_active > 0) + { + echo "\n"; + echo "\n"; + echo "\n"; + } + echo "\n"; + echo "\n"; + if ($SSoutbound_autodial_active > 0) + { + echo "\n"; + } + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Campaign ID: $NWB#vicidial_campaigns-campaign_id$NWE
    Campaign Name: $NWB#vicidial_campaigns-campaign_name$NWE
    Campaign Description: $NWB#vicidial_campaigns-campaign_description$NWE
    Active: $NWB#vicidial_campaigns-active$NWE
    Park Extension: $NWB#vicidial_campaigns-park_ext$NWE
    Park Filename: $NWB#vicidial_campaigns-park_file_name$NWE
    Web Form: $NWB#vicidial_campaigns-web_form_address$NWE
    Allow Closers: $NWB#vicidial_campaigns-allow_closers$NWE
    Hopper Level: $NWB#vicidial_campaigns-hopper_level$NWE
    Auto Dial Level: (0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE
    Next Agent Call: $NWB#vicidial_campaigns-next_agent_call$NWE
    Local Call Time: $NWB#vicidial_campaigns-local_call_time$NWE
    Voicemail: $NWB#vicidial_campaigns-voicemail_ext$NWE
    Script: $NWB#vicidial_campaigns-campaign_script$NWE
    Get Call Launch: $NWB#vicidial_campaigns-get_call_launch$NWE
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=12 display the COPY CAMPAIGN FORM SCREEN +###################### + +if ($ADD==12) + { + if ($LOGmodify_campaigns==1) + { + echo "
    \n"; + echo ""; + + echo "
    COPY A CAMPAIGN\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "
    Campaign ID: $NWB#vicidial_campaigns-campaign_id$NWE
    Campaign Name: $NWB#vicidial_campaigns-campaign_name$NWE
    Source Campaign: $NWB#vicidial_campaigns-campaign_id$NWE
    NOTE: Copying a campaign will copy all settings from the master campaign you select, but it will not copy a campaign-specific DNC list if there was one on the selected master campaign.
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=111 display the ADD NEW LIST FORM SCREEN +###################### + +if ($ADD==111) + { + if ($LOGmodify_lists==1) + { + echo "
    \n"; + echo ""; + + echo "
    ADD A NEW LIST\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    List ID: (digits only)$NWB#vicidial_lists-list_id$NWE
    List Name: $NWB#vicidial_lists-list_name$NWE
    List Description: $NWB#vicidial_lists-list_description$NWE
    Campaign: $NWB#vicidial_lists-campaign_id$NWE
    Active: $NWB#vicidial_lists-active$NWE
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=121 display the ADD NUMBER TO DNC FORM SCREEN and add a new number +###################### + +if ($ADD==121) + { + echo "
    \n"; + echo ""; + + $campaigns_list = "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns where use_campaign_dnc='Y' order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "\n"; + $o++; + } + + if (strlen($phone_numbers) > 2) + { + $PN = explode("\n",$phone_numbers); + $PNct = count($PN); + $p=0; + while ($p < $PNct) + { + if (ereg('SYSTEM_INTERNAL',$campaign_id)) + { + $stmt="SELECT count(*) from vicidial_dnc where phone_number='$PN[$p]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    DNC NOT ADDED - This phone number is already in the Do Not Call List: $PN[$p]\n";} + else + { + $stmt="INSERT INTO vicidial_dnc (phone_number) values('$PN[$p]');"; + $rslt=mysql_query($stmt, $link); + + echo "
    DNC ADDED: $PN[$p]\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LISTS', event_type='ADD', record_id='$PN[$p]', event_code='ADMIN ADD NUMBER TO DNC LIST', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number='$PN[$p]' and campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    DNC NOT ADDED - This phone number is already in the Do Not Call List: $PN[$p] $campaign_id\n";} + else + { + $stmt="INSERT INTO vicidial_campaign_dnc (phone_number,campaign_id) values('$PN[$p]','$campaign_id');"; + $rslt=mysql_query($stmt, $link); + + echo "
    DNC ADDED: $PN[$p] $campaign_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LISTS', event_type='ADD', record_id='$PN[$p]', event_code='ADMIN ADD NUMBER TO CAMPAIGN DNC LIST $campaign_id', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $p++; + } + } + + echo "
    ADD NUMBERS TO THE DNC LIST\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    List:
    Phone Numbers:

    (one phone number per line only)
    $NWB#vicidial_list-dnc$NWE
    \n"; + } + + +###################### +# ADD=1111 display the ADD NEW INBOUND GROUP SCREEN +###################### + +if ($ADD==1111) + { + if ($LOGmodify_ingroups==1) + { + echo "
    \n"; + echo ""; + + echo "
    ADD A NEW INBOUND GROUP\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Group ID: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
    Group Name: $NWB#vicidial_inbound_groups-group_name$NWE
    Group Color: $NWB#vicidial_inbound_groups-group_color$NWE
    Active: $NWB#vicidial_inbound_groups-active$NWE
    Web Form: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Voicemail: $NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Next Agent Call: $NWB#vicidial_inbound_groups-next_agent_call$NWE
    Fronter Display: $NWB#vicidial_inbound_groups-fronter_display$NWE
    Script: $NWB#vicidial_inbound_groups-ingroup_script$NWE
    Get Call Launch: $NWB#vicidial_inbound_groups-get_call_launch$NWE
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=1211 display the COPY INBOUND GROUP SCREEN +###################### + +if ($ADD==1211) + { + if ($LOGmodify_ingroups==1) + { + echo "
    \n"; + echo ""; + + echo "
    COPY INBOUND GROUP\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
    Group ID: (no spaces)$NWB#vicidial_inbound_groups-group_id$NWE
    Group Name: $NWB#vicidial_inbound_groups-group_name$NWE
    Source Group ID: $NWB#vicidial_inbound_groups-group_id$NWE
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=1311 display the ADD NEW DID SCREEN +###################### + +if ($ADD==1311) + { + if ($LOGmodify_dids==1) + { + echo "
    \n"; + echo ""; + + echo "
    ADD A NEW DID\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    DID Extension: (no spaces or dashes)$NWB#vicidial_inbound_dids-did_pattern$NWE
    DID Description: $NWB#vicidial_inbound_dids-did_description$NWE
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=1411 display the COPY DID SCREEN +###################### + +if ($ADD==1411) + { + if ($LOGmodify_dids==1) + { + echo "
    \n"; + echo ""; + + echo "
    COPY DID\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
    DID Extension: (no spaces or dashes)$NWB#vicidial_inbound_dids-did_pattern$NWE
    DID Description: $NWB#vicidial_inbound_dids-did_description$NWE
    Source DID: $NWB#vicidial_inbound_dids-did_pattern$NWE
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=11111 display the ADD NEW REMOTE AGENTS SCREEN +###################### + +if ($ADD==11111) + { + if ($LOGmodify_remoteagents==1) + { + echo "
    \n"; + echo ""; + + echo "
    ADD NEW REMOTE AGENTS\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    User ID Start: (numbers only, incremented)$NWB#vicidial_remote_agents-user_start$NWE
    Number of Lines: (numbers only)$NWB#vicidial_remote_agents-number_of_lines$NWE
    Server IP: $NWB#vicidial_remote_agents-server_ip$NWE
    External Extension: (dial plan number dialed to reach agents)$NWB#vicidial_remote_agents-conf_exten$NWE
    Status: $NWB#vicidial_remote_agents-status$NWE
    Campaign: $NWB#vicidial_remote_agents-campaign_id$NWE
    Inbound Groups: \n"; + echo "$groups_list"; + echo "$NWB#vicidial_remote_agents-closer_campaigns$NWE
    \n"; + echo "NOTE: It can take up to 30 seconds for changes submitted on this screen to go live\n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=111111 display the ADD NEW USERS GROUP SCREEN +###################### + +if ($ADD==111111) + { + if ($LOGmodify_usergroups==1) + { + echo "
    \n"; + echo ""; + + echo "
    ADD NEW USERS GROUP\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Group: (no spaces or punctuation)$NWB#vicidial_user_groups-user_group$NWE
    Description: (description of group)$NWB#vicidial_user_groups-group_name$NWE
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=1111111 display the ADD NEW SCRIPT SCREEN +###################### + +if ($ADD==1111111) + { + if ($LOGmodify_scripts==1) + { + echo "
    \n"; + echo ""; + + echo "
    ADD NEW SCRIPT\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Script ID: (no spaces or punctuation)$NWB#vicidial_scripts-script_id$NWE
    Script Name: (title of the script)$NWB#vicidial_scripts-script_name$NWE
    Script Comments: $NWB#vicidial_scripts-script_comments$NWE
    Active: $NWB#vicidial_scripts-active$NWE
    Script Text: "; + # BEGIN Insert Field + echo ""; + echo "
    "; + # END Insert Field + echo " $NWB#vicidial_scripts-script_text$NWE
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=11111111 display the ADD NEW FILTER SCREEN +###################### + +if ($ADD==11111111) + { + if ($LOGmodify_filters==1) + { + echo "
    \n"; + echo ""; + + echo "
    ADD NEW FILTER\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Filter ID: (no spaces or punctuation)$NWB#vicidial_lead_filters-lead_filter_id$NWE
    Filter Name: (short description of the filter)$NWB#vicidial_lead_filters-lead_filter_name$NWE
    Filter Comments: $NWB#vicidial_lead_filters-lead_filter_comments$NWE
    Filter SQL: $NWB#vicidial_lead_filters-lead_filter_sql$NWE
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=111111111 display the ADD NEW CALL TIME SCREEN +###################### + +if ($ADD==111111111) + { + if ($LOGmodify_call_times==1) + { + echo "
    \n"; + echo ""; + + echo "
    ADD NEW CALL TIME\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "
    Call Time ID: (no spaces or punctuation)$NWB#vicidial_call_times-call_time_id$NWE
    Call Time Name: (short description of the call time)$NWB#vicidial_call_times-call_time_name$NWE
    Call Time Comments: $NWB#vicidial_call_times-call_time_comments$NWE
    Day and time options will appear once you have created the Call Time Definition
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=1111111111 display the ADD NEW STATE CALL TIME SCREEN +###################### + +if ($ADD==1111111111) + { + if ($LOGmodify_call_times==1) + { + echo "
    \n"; + echo ""; + + echo "
    ADD NEW STATE CALL TIME\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "
    State Call Time ID: (no spaces or punctuation)$NWB#vicidial_call_times-call_time_id$NWE
    State Call Time State: (no spaces or punctuation)$NWB#vicidial_call_times-state_call_time_state$NWE
    State Call Time Name: (short description of the call time)$NWB#vicidial_call_times-call_time_name$NWE
    State Call Time Comments: $NWB#vicidial_call_times-call_time_comments$NWE
    Day and time options will appear once you have created the Call Time Definition
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=131111111 display the ADD NEW SHIFT SCREEN +###################### + +if ($ADD==131111111) + { + if ($LOGmodify_call_times==1) + { + echo "
    \n"; + echo ""; + + echo "
    ADD NEW SHIFT\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Shift ID: (no spaces or punctuation)$NWB#vicidial_shifts-shift_id$NWE
    Shift Name: (short description of the shift)$NWB#vicidial_shifts-shift_name$NWE
    Shift Start Time: \n"; + echo "   Shift End Time: \n"; + echo " $NWB#vicidial_shifts-shift_start_time$NWE
    Shift Length: $NWB#vicidial_shifts-shift_length$NWE
    Shift Weekdays:
    $NWB#vicidial_shifts-shift_weekdays$NWE
    \n"; + echo "Sunday
    \n"; + echo "Monday
    \n"; + echo "Tuesday
    \n"; + echo "Wednesday
    \n"; + echo "Thursday
    \n"; + echo "Friday
    \n"; + echo "Saturday
    \n"; + echo "
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=11111111111 display the ADD NEW PHONE SCREEN +###################### + +if ($ADD==11111111111) + { + if ($LOGast_admin_access==1) + { + echo "
    \n"; + echo ""; + + echo "
    ADD A NEW PHONE\n"; + echo "\n"; + echo "
    \n"; + + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Phone extension: $NWB#phones-extension$NWE
    Dial Plan Number: (digits only)$NWB#phones-dialplan_number$NWE
    Voicemail Box: (digits only)$NWB#phones-voicemail_id$NWE
    Outbound CallerID: (digits only)$NWB#phones-outbound_cid$NWE
    Phone IP address: (optional)$NWB#phones-phone_ip$NWE
    Computer IP address: (optional)$NWB#phones-computer_ip$NWE
    Server IP: $NWB#phones-server_ip$NWE
    Login: $NWB#phones-login$NWE
    Password: $NWB#phones-pass$NWE
    Status: $NWB#phones-status$NWE
    Active Account: $NWB#phones-active$NWE
    Phone Type: $NWB#phones-phone_type$NWE
    Full Name: $NWB#phones-fullname$NWE
    Company: $NWB#phones-company$NWE
    Picture: $NWB#phones-picture$NWE
    Client Protocol: $NWB#phones-protocol$NWE
    Local GMT: (Do NOT Adjust for DST)$NWB#phones-local_gmt$NWE
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=12111111111 display the ADD NEW PHONE ALIAS SCREEN +###################### + +if ($ADD==12111111111) + { + if ($LOGast_admin_access==1) + { + echo "
    \n"; + echo ""; + + echo "
    ADD A NEW PHONE ALIAS\n"; + echo "\n"; + echo "
    \n"; + + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "
    Alias ID: $NWB#phones-alias_id$NWE
    Alias Name: $NWB#phones-alias_name$NWE
    Phone Logins List: (comma separated)$NWB#phones-logins_list$NWE
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=13111111111 display the ADD NEW GROUP ALIAS SCREEN +###################### + +if ($ADD==13111111111) + { + if ($LOGast_admin_access==1) + { + echo "
    \n"; + echo ""; + + echo "
    ADD A NEW GROUP ALIAS\n"; + echo "\n"; + echo "
    \n"; + + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "
    Group Alias ID: $NWB#phones-group_alias_id$NWE
    Group Alias Name: $NWB#phones-group_alias_name$NWE
    CallerID Number: $NWB#phones-caller_id_number$NWE
    CallerID Name: $NWB#phones-caller_id_name$NWE
    Active:
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=111111111111 display the ADD NEW SERVER SCREEN +###################### + +if ($ADD==111111111111) + { + if ($LOGmodify_servers==1) + { + echo "
    \n"; + echo ""; + + echo "
    ADD A NEW SERVER\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Server ID: $NWB#servers-server_id$NWE
    Server Description: $NWB#servers-server_description$NWE
    Server IP Address: $NWB#servers-server_ip$NWE
    Active: $NWB#servers-active$NWE
    Asterisk Version: $NWB#servers-asterisk_version$NWE
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=131111111111 display the ADD NEW CONF TEMPLATE SCREEN +###################### + +if ($ADD==131111111111) + { + if ($LOGmodify_servers==1) + { + echo "
    \n"; + echo ""; + + echo "
    ADD NEW CONF TEMPLATE\n"; + echo "\n"; + echo "
    \n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Template ID: $NWB#vicidial_conf_templates-template_id$NWE
    Template Name: $NWB#vicidial_conf_templates-template_name$NWE
    Template Contents: $NWB#vicidial_conf_templates-template_contents$NWE
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=141111111111 display the ADD NEW CARRIER SCREEN +###################### + +if ($ADD==141111111111) + { + if ($LOGmodify_servers==1) + { + echo "
    \n"; + echo ""; + + echo "
    ADD NEW CARRIER\n"; + echo "\n"; + echo "
    \n"; + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
    Carrier ID: $NWB#vicidial_server_carriers-carrier_id$NWE
    Carrier Name: $NWB#vicidial_server_carriers-carrier_name$NWE
    Registration String: $NWB#vicidial_server_carriers-registration_string$NWE
    Template ID: $NWB#vicidial_server_carriers-template_id$NWE
    Account Entry: $NWB#vicidial_server_carriers-account_entry$NWE
    Protocol: $NWB#vicidial_server_carriers-protocol$NWE
    Globals String: $NWB#vicidial_server_carriers-globals_string$NWE
    Dialplan Entry: $NWB#vicidial_server_carriers-dialplan_entry$NWE
    Server IP: $NWB#vicidial_server_carriers-server_ip$NWE
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=1111111111111 display the ADD NEW CONFERENCE SCREEN +###################### + +if ($ADD==1111111111111) + { + if ($LOGast_admin_access==1) + { + echo "
    \n"; + echo ""; + + echo "
    ADD A NEW CONFERENCE\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Conference Number: (digits only)$NWB#conferences-conf_exten$NWE
    Server IP: $NWB#conferences-server_ip$NWE
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + +###################### +# ADD=11111111111111 display the ADD NEW VICIDIAL CONFERENCE SCREEN +###################### + +if ($ADD==11111111111111) + { + if ($LOGast_admin_access==1) + { + echo "
    \n"; + echo ""; + + echo "
    ADD A NEW VICIDIAL CONFERENCE\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Conference Number: (digits only)$NWB#conferences-conf_exten$NWE
    Server IP: $NWB#conferences-server_ip$NWE
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + + +###################################################################################################### +###################################################################################################### +####### 2 series, validates form data and inserts the new record into the database +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=2 adds the new user to the system +###################### + +if ($ADD=="2") + { + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    USER NOT ADDED - there is already a user in the system with this user number\n";} + else + { + if (ereg('AUTOGENERA',$user)) + { + $user = 'AUTOGENERA'; + } + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or ( (strlen($user) > 10) and (!ereg('AUTOGENERA',$user)) ) ) + { + echo "
    USER NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    user id must be between 2 and 10 characters long\n"; + echo "
    full name and password must be at least 2 characters long\n"; + } + else + { + if (ereg('AUTOGENERA',$user)) + { + $new_user=0; + $auto_user_add_value=0; + while ($new_user < 2) + { + if ($new_user < 1) + { + $stmt = "SELECT auto_user_add_value FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + $ss_auav_ct = mysql_num_rows($rslt); + if ($ss_auav_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_user_add_value = $row[0]; + } + $new_user++; + } + $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + { + $new_user++; + } + else + { + echo "\n"; + $auto_user_add_value = ($auto_user_add_value + 7); + } + } + $user = $auto_user_add_value; + echo "
    user_id has been auto-generated: $user
    \n"; + + $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; + $rslt=mysql_query($stmt, $link); + } + echo "
    USER ADDED: $user\n"; + + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass) values('$user','$pass','$full_name','$user_level','$user_group','$phone_login','$phone_pass');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERS', event_type='ADD', record_id='$user', event_code='ADMIN ADD USER', event_sql=\"$SQL_log\", event_notes='user: $user';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; + } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# + + if ($enable_vtiger_integration > 0) + { + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + $user_name = $user; + $user_password = $pass; + $last_name = $full_name; + $is_admin = 'off'; + $roleid = 'H5'; + $status = 'Active'; + $groupid = '1'; + if ($user_level >= 7) {$roleid = 'H3';} + if ($user_level >= 8) {$roleid = 'H4';} + if ($user_level >= 9) {$roleid = 'H2';} + if ($user_level >= 9) {$is_admin = 'on';} + $salt = substr($user_name, 0, 2); + $salt = '$1$' . $salt . '$'; + $encrypted_password = crypt($user_password, $salt); + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_groups_seq to use as groupid + $stmt="SELECT id from vtiger_groups_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_groups_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### + + ###################################### + ##### BEGIN Add/Update user info in Vtiger + $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + ### user exists in vtiger, update it + if ($found_count > 0) + { + $stmt="SELECT id from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $userid = $row[0]; + + $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $usergroupcount = $row[0]; + + $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + if ($usergroupcount < 1) + { + $stmt="SELECT user_group FROM vicidial_user_groups;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_groups_ct = mysql_num_rows($rslt); + $k=0; + $VD_groups_list=''; + while ($k < $VD_groups_ct) + { + $row=mysql_fetch_row($rslt); + $VD_groups_list .= "'$row[0]',"; + $k++; + } + $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + + $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + } + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW USER RECORD IN VTIGER + $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $userid = mysql_insert_id($linkV); + + $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW USER RECORD IN VTIGER + } + ##### END Add/Update user info in Vtiger + ###################################### + } + ### END vtiger integration + } + } + + $ADD=3; + } + +###################### +# ADD=2A adds the copied new user to the system +###################### + +if ($ADD=="2A") + { + echo ""; + $stmt="SELECT count(*) from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    USER NOT ADDED - there is already a user in the system with this user number\n";} + else + { + if ( (strlen($user) < 2) or (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user) > 10) ) + { + echo "
    USER NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    user id must be between 2 and 10 characters long\n"; + echo "
    full name and password must be at least 2 characters long\n"; + echo "\n"; + } + else + { + if (ereg('AUTOGEN',$user)) + { + $new_user=0; + $auto_user_add_value=0; + while ($new_user < 2) + { + if ($new_user < 1) + { + $stmt = "SELECT auto_user_add_value FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + $ss_auav_ct = mysql_num_rows($rslt); + if ($ss_auav_ct > 0) + { + $row=mysql_fetch_row($rslt); + $auto_user_add_value = $row[0]; + } + $new_user++; + } + $stmt = "SELECT count(*) FROM vicidial_users where user='$auto_user_add_value';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + { + $new_user++; + } + else + { + echo "\n"; + $auto_user_add_value = ($auto_user_add_value + 7); + } + } + $user = $auto_user_add_value; + echo "
    user_id has been auto-generated: $user
    \n"; + + $stmt="UPDATE system_settings SET auto_user_add_value='$user';"; + $rslt=mysql_query($stmt, $link); + } + $stmt="INSERT INTO vicidial_users (user,pass,full_name,user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports) SELECT \"$user\",\"$pass\",\"$full_name\",user_level,user_group,phone_login,phone_pass,delete_users,delete_user_groups,delete_lists,delete_campaigns,delete_ingroups,delete_remote_agents,load_leads,campaign_detail,ast_admin_access,ast_delete_phones,delete_scripts,modify_leads,hotkeys_active,change_agent_campaign,agent_choose_ingroups,closer_campaigns,scheduled_callbacks,agentonly_callbacks,agentcall_manual,vicidial_recording,vicidial_transfers,delete_filters,alter_agent_interface_options,closer_default_blended,delete_call_times,modify_call_times,modify_users,modify_campaigns,modify_lists,modify_scripts,modify_filters,modify_ingroups,modify_usergroups,modify_remoteagents,modify_servers,view_reports,vicidial_recording_override,alter_custdata_override,qc_enabled,qc_user_level,qc_pass,qc_finish,qc_commit,add_timeclock_log,modify_timeclock_log,delete_timeclock_log,alter_custphone_override,vdc_agent_api_access,modify_inbound_dids,delete_inbound_dids,active,alert_enabled,download_lists,agent_shift_enforcement_override,manager_shift_enforcement_override,export_reports from vicidial_users where user=\"$source_user_id\";"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_inbound_group_agents (user,group_id,group_rank,group_weight,calls_today) SELECT \"$user\",group_id,group_rank,group_weight,\"0\" from vicidial_inbound_group_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_agents (user,campaign_id,campaign_rank,campaign_weight,calls_today) SELECT \"$user\",campaign_id,campaign_rank,campaign_weight,\"0\" from vicidial_campaign_agents where user=\"$source_user_id\";"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERS', event_type='COPY', record_id='$user', event_code='ADMIN COPY USER', event_sql=\"$SQL_log\", event_notes='user: $user';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; + } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# + + if ($enable_vtiger_integration > 0) + { + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + $user_name = $user; + $user_password = $pass; + $last_name = $full_name; + $is_admin = 'off'; + $roleid = 'H5'; + $status = 'Active'; + $groupid = '1'; + if ($user_level >= 7) {$roleid = 'H3';} + if ($user_level >= 8) {$roleid = 'H4';} + if ($user_level >= 9) {$roleid = 'H2';} + if ($user_level >= 9) {$is_admin = 'on';} + $salt = substr($user_name, 0, 2); + $salt = '$1$' . $salt . '$'; + $encrypted_password = crypt($user_password, $salt); + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_groups_seq to use as groupid + $stmt="SELECT id from vtiger_groups_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_groups_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### + + ###################################### + ##### BEGIN Add/Update user info in Vtiger + $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + ### user exists in vtiger, update it + if ($found_count > 0) + { + $stmt="SELECT id from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $userid = $row[0]; + + $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $usergroupcount = $row[0]; + + $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + if ($usergroupcount < 1) + { + $stmt="SELECT user_group FROM vicidial_user_groups;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_groups_ct = mysql_num_rows($rslt); + $k=0; + $VD_groups_list=''; + while ($k < $VD_groups_ct) + { + $row=mysql_fetch_row($rslt); + $VD_groups_list .= "'$row[0]',"; + $k++; + } + $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + + $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + } + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW USER RECORD IN VTIGER + $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $userid = mysql_insert_id($linkV); + + $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW USER RECORD IN VTIGER + } + ##### END Add/Update user info in Vtiger + ###################################### + } + ### END vtiger integration + + echo "
    USER COPIED: $user copied from $source_user_id\n"; + echo "

    \n"; + echo "Click here to go to the user record\n"; + echo "

    \n"; + + } + } + exit; + } + +###################### +# ADD=21 adds the new campaign to the system +###################### + +if ($ADD==21) + { + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN NOT ADDED - there is already a campaign in the system with this ID\n";} + else + { + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN NOT ADDED - there is already an inbound group in the system with this ID\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 6) or (strlen($campaign_name) > 40) ) + { + echo "
    CAMPAIGN NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    campaign ID must be between 2 and 8 characters in length\n"; + echo "
    campaign name must be between 6 and 40 characters in length\n"; + } + else + { + echo "
    CAMPAIGN ADDED: $campaign_id\n"; + + $stmt="INSERT INTO vicidial_campaigns (campaign_id,campaign_name,campaign_description,active,dial_status_a,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,campaign_script,get_call_launch,campaign_changedate,campaign_stats_refresh,list_order_mix) values('$campaign_id','$campaign_name','$campaign_description','$active','NEW','DOWN','$park_ext','$park_file_name','" . mysql_real_escape_string($web_form_address) . "','$allow_closers','$hopper_level','$auto_dial_level','$next_agent_call','$local_call_time','$voicemail_ext','$script_id','$get_call_launch','$SQLdate','Y','DISABLED');"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADD CAMPAIGN', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + $ADD=31; + } + +###################### +# ADD=20 adds copied new campaign to the system +###################### + +if ($ADD==20) + { + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN NOT ADDED - there is already a campaign in the system with this ID\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($campaign_id) > 8) or (strlen($campaign_name) < 2) or (strlen($source_campaign_id) < 2) or (strlen($source_campaign_id) > 8) ) + { + echo "
    CAMPAIGN NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    campaign ID must be between 2 and 8 characters in length\n"; + echo "
    source campaign ID must be between 2 and 8 characters in length\n"; + } + else + { + echo "
    CAMPAIGN COPIED: $campaign_id copied from $source_campaign_id\n"; + + $stmt="INSERT INTO vicidial_campaigns (campaign_name,campaign_id,active,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,list_order_mix,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias) SELECT \"$campaign_name\",\"$campaign_id\",\"N\",dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,park_ext,park_file_name,web_form_address,allow_closers,hopper_level,auto_dial_level,next_agent_call,local_call_time,voicemail_ext,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,amd_send_to_vmx,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,lead_filter_id,drop_call_seconds,drop_action,safe_harbor_exten,display_dialable_count,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,dial_method,available_only_ratio_tally,adaptive_dropped_percentage,adaptive_maximum_level,adaptive_latest_server_time,adaptive_intensity,adaptive_dl_diff_target,concurrent_transfers,auto_alt_dial,auto_alt_dial_statuses,agent_pause_codes_active,campaign_description,campaign_changedate,campaign_stats_refresh,campaign_logindate,dial_statuses,disable_alter_custdata,no_hopper_leads_logins,\"DISABLED\",campaign_allow_inbound,manual_dial_list_id,default_xfer_group,queue_priority,drop_inbound_group,qc_enabled,qc_statuses,qc_lists,qc_web_form_address,qc_script,survey_first_audio_file,survey_dtmf_digits,survey_ni_digit,survey_opt_in_audio_file,survey_ni_audio_file,survey_method,survey_no_response_action,survey_ni_status,survey_response_digit_map,survey_xfer_exten,survey_camp_record_dir,disable_alter_custphone,display_queue_count,qc_get_record_launch,qc_show_recording,qc_shift_id,manual_dial_filter,agent_clipboard_copy,agent_extended_alt_dial,use_campaign_dnc,three_way_call_cid,three_way_dial_prefix,web_form_target,vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record,vtiger_screen_login,cpd_amd_action,agent_allow_group_alias,default_group_alias from vicidial_campaigns where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$campaign_id');"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category) SELECT status,status_name,selectable,\"$campaign_id\",human_answered,category from vicidial_campaign_statuses where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_campaign_hotkeys (status,hotkey,status_name,selectable,campaign_id) SELECT status,hotkey,status_name,selectable,\"$campaign_id\" from vicidial_campaign_hotkeys where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_lead_recycle (status,attempt_delay,attempt_maximum,active,campaign_id) SELECT status,attempt_delay,attempt_maximum,active,\"$campaign_id\" from vicidial_lead_recycle where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + $stmtA="INSERT INTO vicidial_pause_codes (pause_code,pause_code_name,billable,campaign_id) SELECT pause_code,pause_code_name,billable,\"$campaign_id\" from vicidial_pause_codes where campaign_id='$source_campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='COPY', record_id='$campaign_id', event_code='ADMIN COPY CAMPAIGN', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=31; + } + +###################### +# ADD=22 adds the new campaign status to the system +###################### + +if ($ADD==22) + { + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN STATUS NOT ADDED - there is already a campaign-status in the system with this name\n";} + else + { + $stmt="SELECT count(*) from vicidial_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN STATUS NOT ADDED - there is already a global-status in the system with this name\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($status_name) < 2) ) + { + echo "
    CAMPAIGN STATUS NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    status must be between 1 and 8 characters in length\n"; + echo "
    status name must be between 2 and 30 characters in length\n"; + } + else + { + echo "
    CAMPAIGN STATUS ADDED: $campaign_id - $status\n"; + + $stmt="INSERT INTO vicidial_campaign_statuses (status,status_name,selectable,campaign_id,human_answered,category) values('$status','$status_name','$selectable','$campaign_id','$human_answered','$category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_STATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADD CAMPAIGN STATUS', event_sql=\"$SQL_log\", event_notes='Status: $status';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + $SUB=22; + $ADD=31; + } + + +###################### +# ADD=23 adds the new campaign hotkey to the system +###################### + +if ($ADD==23) + { + $HKstatus_data = explode('-----',$HKstatus); + $status = $HKstatus_data[0]; + $status_name = $HKstatus_data[1]; + + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_hotkeys where campaign_id='$campaign_id' and hotkey='$hotkey' and hotkey='$hotkey';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN HOT KEY NOT ADDED - there is already a campaign-hotkey in the system with this hotkey\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) + { + echo "
    CAMPAIGN HOT KEY NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    hotkey must be a single character between 1 and 9 \n"; + echo "
    status must be between 1 and 8 characters in length\n"; + } + else + { + echo "
    CAMPAIGN HOT KEY ADDED: $campaign_id - $status - $hotkey\n"; + + $stmt="INSERT INTO vicidial_campaign_hotkeys values('$status','$hotkey','$status_name','$selectable','$campaign_id');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_HOTKEY', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADD CAMPAIGN HOTKEY', event_sql=\"$SQL_log\", event_notes='Status: $status|HotKey: $hotkey';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $SUB=23; + $ADD=31; + } + + +###################### +# ADD=25 adds the new campaign lead recycle entry to the system +###################### + +if ($ADD==25) + { + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN LEAD RECYCLE NOT ADDED - there is already a lead-recycle for this campaign with this status\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_delay >= 43200) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) + { + echo "
    CAMPAIGN LEAD RECYCLE NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    status must be between 1 and 6 characters in length\n"; + echo "
    attempt delay must be at least 120 seconds and less than 43200 seconds or 12 hours\n"; + echo "
    maximum attempts must be from 1 to 10\n"; + } + else + { + echo "
    CAMPAIGN LEAD RECYCLE ADDED: $campaign_id - $status - $attempt_delay\n"; + + $stmt="INSERT INTO vicidial_lead_recycle(campaign_id,status,attempt_delay,attempt_maximum,active) values('$campaign_id','$status','$attempt_delay','$attempt_maximum','$active');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_RECYCLE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADD CAMPAIGN LEAD RECYCLE', event_sql=\"$SQL_log\", event_notes='Status: $status';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $SUB=25; + $ADD=31; + } + + +###################### +# ADD=26 adds the new auto alt dial status to the campaign +###################### + +if ($ADD==26) + { + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    AUTO ALT DIAL STATUS NOT ADDED - there is already an entry for this campaign with this status\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
    AUTO ALT DIAL STATUS NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    status must be between 1 and 6 characters in length\n"; + } + else + { + echo "
    AUTO ALT DIAL STATUS ADDED: $campaign_id - $status\n"; + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if (strlen($row[0])<2) {$row[0] = ' -';} + $auto_alt_dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_ALTDIAL', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADD CAMPAIGN ALT DIAL', event_sql=\"$SQL_log\", event_notes='Status: $auto_alt_dial_statuses';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $SUB=26; + $ADD=31; + } + + +###################### +# ADD=27 adds the new campaign agent pause code entry to the system +###################### + +if ($ADD==27) + { + echo ""; + $stmt="SELECT count(*) from vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    AGENT PAUSE CODE NOT ADDED - there is already an entry for this campaign with this pause code\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) + { + echo "
    AGENT PAUSE CODE NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    pause code must be between 1 and 6 characters in length\n"; + echo "
    pause code name must be between 2 and 30 characters in length\n"; + } + else + { + echo "
    AGENT PAUSE CODE ADDED: $campaign_id - $pause_code - $pause_code_name\n"; + + $stmt="INSERT INTO vicidial_pause_codes(campaign_id,pause_code,pause_code_name,billable) values('$campaign_id','$pause_code','$pause_code_name','$billable');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PAUSECODE', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADD CAMPAIGN PAUSE CODE', event_sql=\"$SQL_log\", event_notes='Pause Code: $pause_code';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $SUB=27; + $ADD=31; + } + + +###################### +# ADD=28 adds new status to the campaign dial statuses +###################### + +if ($ADD==28) + { + $status = eregi_replace("-----.*",'',$status); + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CAMPAIGN DIAL STATUS NOT ADDED - there is already an entry for this campaign with this status\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
    CAMPAIGN DIAL STATUS NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    status must be between 1 and 6 characters in length\n"; + } + else + { + echo "
    CAMPAIGN DIAL STATUS ADDED: $campaign_id - $status\n"; + + $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + if (strlen($row[0])<2) {$row[0] = ' -';} + $dial_statuses = " $status$row[0]"; + $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_DIALSTATUS', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADD CAMPAIGN DIAL STATUS', event_sql=\"$SQL_log\", event_notes='Status: $statuses';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + #$SUB=28; + $ADD=31; + } + + +###################### +# ADD=211 adds the new list to the system +###################### + +if ($ADD==211) + { + echo ""; + $stmt="SELECT count(*) from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    LIST NOT ADDED - there is already a list in the system with this ID\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($list_name) < 2) or ($list_id < 100) or (strlen($list_id) > 8) ) + { + echo "
    LIST NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    List ID must be between 2 and 8 characters in length\n"; + echo "
    List name must be at least 2 characters in length\n"; + echo "
    List ID must be greater than 100\n"; + } + else + { + echo "
    LIST ADDED: $list_id\n"; + + $stmt="INSERT INTO vicidial_lists (list_id,list_name,campaign_id,active,list_description,list_changedate) values('$list_id','$list_name','$campaign_id','$active','$list_description','$SQLdate');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LISTS', event_type='ADD', record_id='$list_id', event_code='ADMIN ADD LIST', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=311; + } + + + +###################### +# ADD=2111 adds the new inbound group to the system +###################### + +if ($ADD==2111) + { + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUP NOT ADDED - there is already a group in the system with this ID\n";} + else + { + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUP NOT ADDED - there is already a campaign in the system with this ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_color) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    GROUP NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    Group ID must be between 2 and 20 characters in length and contain no ' -+'.\n"; + echo "
    Group name and group color must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch) values('$group_id','$group_name','$group_color','$active','" . mysql_real_escape_string($web_form_address) . "','$voicemail_ext','$next_agent_call','$fronter_display','$script_id','$get_call_launch');"; + $rslt=mysql_query($stmt, $link); + + $stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');"; + $rslt=mysql_query($stmtA, $link); + + echo "
    GROUP ADDED: $group_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='ADD', record_id='$group_id', event_code='ADMIN ADD INBOUND GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + $ADD=3111; + } + + +###################### +# ADD=2011 adds copied inbound group to the system +###################### + +if ($ADD==2011) + { + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUP NOT ADDED - there is already a group in the system with this ID\n";} + else + { + if ( (strlen($group_id) < 2) or (strlen($group_name) < 2) or (strlen($group_id) > 20) or (eregi(' ',$group_id)) or (eregi("\-",$group_id)) or (eregi("\+",$group_id)) ) + { + echo "
    GROUP NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    Group ID must be between 2 and 20 characters in length and contain no ' -+'.\n"; + echo "
    Group name and group color must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_groups (group_id,group_name,group_color,active,web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias) SELECT \"$group_id\",\"$group_name\",group_color,\"N\",web_form_address,voicemail_ext,next_agent_call,fronter_display,ingroup_script,get_call_launch,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,drop_call_seconds,drop_action,drop_exten,call_time_id,after_hours_action,after_hours_message_filename,after_hours_exten,after_hours_voicemail,welcome_message_filename,moh_context,onhold_prompt_filename,prompt_interval,agent_alert_exten,agent_alert_delay,default_xfer_group,queue_priority,drop_inbound_group,ingroup_recording_override,ingroup_rec_filename,afterhours_xfer_group,qc_enabled,qc_statuses,qc_shift_id,qc_get_record_launch,qc_show_recording,qc_web_form_address,qc_script,play_place_in_line,play_estimate_hold_time,hold_time_option,hold_time_option_seconds,hold_time_option_exten,hold_time_option_voicemail,hold_time_option_xfer_group,hold_time_option_callback_filename,hold_time_option_callback_list_id,hold_recall_xfer_group,no_delay_call_route,play_welcome_message,answer_sec_pct_rt_stat_one,answer_sec_pct_rt_stat_two,default_group_alias from vicidial_inbound_groups where group_id=\"$source_group_id\";"; + $rslt=mysql_query($stmt, $link); + + echo "
    GROUP ADDED: $group_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='COPY', record_id='$group_id', event_code='ADMIN COPY INBOUND GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=3111; + } + + +###################### +# ADD=2311 adds the new did to the system +###################### + +if ($ADD==2311) + { + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    DID NOT ADDED - there is already a DID in the system with this ID\n";} + else + { + $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    DID NOT ADDED - there is already a DID in the system with this extension\n";} + else + { + if ( (strlen($did_pattern) < 2) or (eregi(' ',$did_pattern)) or (eregi('-',$did_pattern)) or (eregi("\+",$did_pattern)) ) + { + echo "
    DID NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description) values('$did_pattern','$did_description');"; + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $did_id = $row[0]; + + echo "
    DID ADDED: $did_pattern $did_description - $did_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='ADD', record_id='$did_id', event_code='ADMIN ADD DID', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + $ADD=3311; + } + + +###################### +# ADD=2411 adds copied did to the system +###################### + +if ($ADD==2411) + { + echo ""; + $stmt="SELECT count(*) from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    DID NOT ADDED - there is already a DID in the system with this extension\n";} + else + { + if ( (strlen($source_did) < 1) or (strlen($did_pattern) < 1) or (eregi(' ',$source_did)) or (eregi(' ',$did_pattern)) or (eregi("\+",$source_did)) ) + { + echo "
    DID NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    DID Extension must be between 2 and 20 characters in length and contain no ' -+'.\n"; + } + else + { + $stmt="INSERT INTO vicidial_inbound_dids (did_pattern,did_description,did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code) SELECT \"$did_pattern\",\"$did_description\",did_active,did_route,extension,exten_context,voicemail_ext,phone,server_ip,user,user_unavailable_action,user_route_settings_ingroup,group_id,call_handle_method,agent_search_method,list_id,campaign_id,phone_code from vicidial_inbound_dids where did_id=\"$source_did\";"; + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT did_id from vicidial_inbound_dids where did_pattern='$did_pattern';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $did_id = $row[0]; + + echo "
    DID ADDED: $did_pattern - $did_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='COPY', record_id='$did_id', event_code='ADMIN COPY DID', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=3311; + } + + +###################### +# ADD=21111 adds new remote agents to the system +###################### + +if ($ADD==21111) + { + echo ""; + $stmt="SELECT count(*) from vicidial_remote_agents where server_ip='$server_ip' and user_start='$user_start';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    REMOTE AGENTS NOT ADDED - there is already a remote agents entry starting with this userID\n";} + else + { + if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) + { + echo "
    REMOTE AGENTS NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    User ID start and external extension must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_remote_agents values('','$user_start','$number_of_lines','$server_ip','$conf_exten','$status','$campaign_id','$groups_value');"; + $rslt=mysql_query($stmt, $link); + + echo "
    REMOTE AGENTS ADDED: $user_start\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='REMOTEAGENTS', event_type='ADD', record_id='$user_start', event_code='ADMIN ADD REMOTE AGENT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=10000; + } + +###################### +# ADD=211111 adds new user group to the system +###################### + +if ($ADD==211111) + { + echo ""; + $stmt="SELECT count(*) from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    USER GROUP NOT ADDED - there is already a user group entry with this name\n";} + else + { + if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) + { + echo "
    USER GROUP NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    Group name and description must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_user_groups(user_group,group_name,allowed_campaigns) values('$user_group','$group_name','-ALL-CAMPAIGNS-');"; + $rslt=mysql_query($stmt, $link); + + echo "
    USER GROUP ADDED: $user_group\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERGROUPS', event_type='ADD', record_id='$user_group', event_code='ADMIN ADD USER GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; + } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# + + if ($enable_vtiger_integration > 0) + { + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_groups_seq to use as groupid + $stmt="SELECT id from vtiger_groups_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_groups_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='$group_name';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### + } + } + } + $ADD=100000; + } + +###################### +# ADD=2111111 adds new script to the system +###################### + +if ($ADD==2111111) + { + echo ""; + $stmt="SELECT count(*) from vicidial_scripts where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    SCRIPT NOT ADDED - there is already a script entry with this name\n";} + else + { + if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + { + echo "
    SCRIPT NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    Script name, description and text must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_scripts values('$script_id','$script_name','$script_comments','$script_text','$active');"; + $rslt=mysql_query($stmt, $link); + + echo "
    SCRIPT ADDED: $script_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SCRIPTS', event_type='ADD', record_id='$script_id', event_code='ADMIN ADD SCRIPT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=1000000; + } + + +###################### +# ADD=21111111 adds new filter to the system +###################### + +if ($ADD==21111111) + { + echo ""; + $stmt="SELECT count(*) from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    FILTER NOT ADDED - there is already a filter entry with this ID\n";} + else + { + if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + { + echo "
    FILTER NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    Filter ID, name and SQL must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_lead_filters SET lead_filter_id='$lead_filter_id',lead_filter_name='$lead_filter_name',lead_filter_comments='$lead_filter_comments',lead_filter_sql='$lead_filter_sql';"; + $rslt=mysql_query($stmt, $link); + + echo "
    FILTER ADDED: $lead_filter_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTERS', event_type='ADD', record_id='$lead_filter_id', event_code='ADMIN ADD FILTER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=10000000; + } + + +###################### +# ADD=211111111 adds new call time definition to the system +###################### + +if ($ADD==211111111) + { + echo ""; + $stmt="SELECT count(*) from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CALL TIME DEFINITION NOT ADDED - there is already a call time entry with this ID\n";} + else + { + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) + { + echo "
    CALL TIME DEFINITION NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    Call Time ID and name must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_call_times SET call_time_id='$call_time_id',call_time_name='$call_time_name',call_time_comments='$call_time_comments';"; + $rslt=mysql_query($stmt, $link); + + echo "
    CALL TIME ADDED: $call_time_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=311111111; + } + + +###################### +# ADD=2111111111 adds new state call time definition to the system +###################### + +if ($ADD==2111111111) + { + echo ""; + $stmt="SELECT count(*) from vicidial_state_call_times where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    STATE CALL TIME DEFINITION NOT ADDED - there is already a call time entry with this ID\n";} + else + { + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) + { + echo "
    STATE CALL TIME DEFINITION NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    State Call Time ID, name and state must be at least 2 characters in length\n"; + } + else + { + $stmt="INSERT INTO vicidial_state_call_times SET state_call_time_id='$call_time_id',state_call_time_name='$call_time_name',state_call_time_comments='$call_time_comments',state_call_time_state='$state_call_time_state';"; + $rslt=mysql_query($stmt, $link); + + echo "
    STATE CALL TIME ADDED: $call_time_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES_STATE', event_type='ADD', record_id='$call_time_id', event_code='ADMIN ADD STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=3111111111; + } + + +###################### +# ADD=231111111 adds new shift definition to the system +###################### + +if ($ADD==231111111) + { + echo ""; + $stmt="SELECT count(*) from vicidial_shifts where shift_id='$shift_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    SHIFT DEFINITION NOT ADDED - there is already a shift entry with this ID\n";} + else + { + $shift_length_test = eregi_replace(':','',$shift_length); + if ( (strlen($shift_id) < 2) or (strlen($shift_name) < 2) or (strlen($shift_start_time) < 4) or (strlen($shift_start_time) > 4) or (strlen($shift_length) < 5) or (strlen($shift_length) > 5) or ($shift_start_time > 2359) or ($shift_length_test > 2400) ) + { + echo "
    SHIFT DEFINITION NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    Shift ID and name must be at least 2 characters in length\n"; + echo "
    Shift Start Time must be 4 digits in length and be a valid time\n"; + echo "
    Shift Length must be 5 characters in length and be 24 hours or less\n"; + } + else + { + $p=0; + $shift_weekdays_ct = count($shift_weekdays); + while ($p <= $shift_weekdays_ct) + { + $SHIFT_weekdays .= "$shift_weekdays[$p]"; + $p++; + } + $stmt="INSERT INTO vicidial_shifts SET shift_id='$shift_id',shift_name='$shift_name',shift_start_time='$shift_start_time',shift_length='$shift_length',shift_weekdays='$SHIFT_weekdays';"; + $rslt=mysql_query($stmt, $link); + + echo "
    SHIFT ADDED: $shift_id\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SHIFTS', event_type='ADD', record_id='$shift_id', event_code='ADMIN ADD SHIFT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=331111111; + } + + +###################### +# ADD=21111111111 adds new phone to the system +###################### + +if ($ADD==21111111111) + { + echo ""; + $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    PHONE NOT ADDED - there is already a Phone in the system with this extension/server\n";} + else + { + $stmt="SELECT count(*) from phones where login='$login';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    PHONE NOT ADDED - there is already a Phone in the system with this login\n";} + else + { + $stmt="SELECT count(*) from phones_alias where alias_id='$login';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    PHONE NOT ADDED - there is already a Phone alias in the system with this login\n";} + else + { + if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) + {echo "
    PHONE NOT ADDED - Please go back and look at the data you entered\n";} + else + { + echo "
    PHONE ADDED\n"; + + $stmt="INSERT INTO phones (extension,dialplan_number,voicemail_id,phone_ip,computer_ip,server_ip,login,pass,status,active,phone_type,fullname,company,picture,protocol,local_gmt,outbound_cid) values('$extension','$dialplan_number','$voicemail_id','$phone_ip','$computer_ip','$server_ip','$login','$pass','$status','$active','$phone_type','$fullname','$company','$picture','$protocol','$local_gmt','$outbound_cid');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONES', event_type='ADD', record_id='$extension', event_code='ADMIN ADD PHONE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } + $ADD=31111111111; + } + + +###################### +# ADD=22111111111 adds new phone alias to the system +###################### + +if ($ADD==22111111111) + { + echo ""; + $stmt="SELECT count(*) from phones_alias where alias_id='$alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    PHONE ALIAS NOT ADDED - there is already a Phone Alias in the system with this ID\n";} + else + { + $stmt="SELECT count(*) from phones where login='$alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    PHONE ALIAS NOT ADDED - there is already a Phone Login in the system with this ID\n";} + else + { + if ( (strlen($alias_id) < 1) or (strlen($alias_name) < 2) ) + {echo "
    PHONE ALIAS NOT ADDED - Please go back and look at the data you entered\n";} + else + { + echo "
    PHONE ALIAS ADDED\n"; + + $stmt="INSERT INTO phones_alias (alias_id,alias_name,logins_list) values('$alias_id','$alias_name','$logins_list');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONEALIASES', event_type='ADD', record_id='$alias_id', event_code='ADMIN ADD PHONE ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + $ADD=32111111111; + } + + +###################### +# ADD=23111111111 adds new group alias to the system +###################### + +if ($ADD==23111111111) + { + echo ""; + $stmt="SELECT count(*) from groups_alias where group_alias_id='$group_alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    GROUP ALIAS NOT ADDED - there is already a Phone Alias in the system with this ID\n";} + else + { + if (preg_match("/AGENT_PHONE|CUSTOMER|CAMPAIGN|NONE/",'',$group_alias_id)) + {echo "
    GROUP ALIAS NOT ADDED - you cannot use reserved words in group aliases\n";} + else + { + if ( (strlen($group_alias_id) < 1) or (strlen($group_alias_name) < 2) ) + {echo "
    GROUP ALIAS NOT ADDED - Please go back and look at the data you entered\n";} + else + { + echo "
    GROUP ALIAS ADDED\n"; + + $stmt="INSERT INTO groups_alias (group_alias_id,group_alias_name,caller_id_number,caller_id_name,active) values('$group_alias_id','$group_alias_name','$caller_id_number','$caller_id_name','$active');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='GROUPALIASES', event_type='ADD', record_id='$group_alias_id', event_code='ADMIN ADD GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + $ADD=33111111111; + } + + +###################### +# ADD=211111111111 adds new server to the system +###################### + +if ($ADD==211111111111) + { + echo ""; + $stmt="SELECT count(*) from servers where server_id='$server_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    SERVER NOT ADDED - there is already a server in the system with this ID\n";} + else + { + if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) + {echo "
    SERVER NOT ADDED - Please go back and look at the data you entered\n";} + else + { + echo "
    SERVER ADDED\n"; + + $stmt="INSERT INTO servers (server_id,server_description,server_ip,active,asterisk_version) values('$server_id','$server_description','$server_ip','$active','$asterisk_version');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS', event_type='ADD', record_id='$server_id', event_code='ADMIN ADD SERVER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=311111111111; + } + + +###################### +# ADD=221111111111 adds the new vicidial server trunk record to the system +###################### + +if ($ADD==221111111111) + { + echo ""; + $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $MAXvicidial_trunks = $rowx[0]; + + $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); + + if ($SUMvicidial_trunks > $MAXvicidial_trunks) + { + echo "
    VICIDIAL SERVER TRUNK RECORD NOT ADDED - the number of vicidial trunks is too high: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + } + else + { + $stmt="SELECT count(*) from vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    VICIDIAL SERVER TRUNK RECORD NOT ADDED - there is already a server-trunk record for this campaign\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) + { + echo "
    VICIDIAL SERVER TRUNK RECORD NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    campaign must be between 3 and 8 characters in length\n"; + echo "
    server_ip delay must be at least 7 characters\n"; + echo "
    trunks must be a digit from 0 to 9999\n"; + } + else + { + echo "
    VICIDIAL SERVER TRUNK RECORD ADDED: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; + + $stmt="INSERT INTO vicidial_server_trunks(server_ip,campaign_id,dedicated_trunks,trunk_restriction) values('$server_ip','$campaign_id','$dedicated_trunks','$trunk_restriction');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS_TRUNK', event_type='ADD', record_id='$server_ip', event_code='ADMIN ADD SERVER TRUNK', event_sql=\"$SQL_log\", event_notes='campaign: $campaign_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + $ADD=311111111111; + } + + +###################### +# ADD=231111111111 adds new conf template to the system +###################### + +if ($ADD==231111111111) + { + echo ""; + $stmt="SELECT count(*) from vicidial_conf_templates where template_id='$template_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CONF TEMPLATE NOT ADDED - there is already a template in the system with this ID\n";} + else + { + if (strlen($template_id) < 2) + {echo "
    CONF TEMPLATE NOT ADDED - Please go back and look at the data you entered\n";} + else + { + echo "
    CONF TEMPLATE ADDED\n"; + + $stmt="INSERT INTO vicidial_conf_templates (template_id,template_name,template_contents) values('$template_id','$template_name','$template_contents');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONFTEMPLATES', event_type='ADD', record_id='$template_id', event_code='ADMIN ADD CONF TEMPLATE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=331111111111; + } + + +###################### +# ADD=241111111111 adds new server carrier to the system +###################### + +if ($ADD==241111111111) + { + echo ""; + $stmt="SELECT count(*) from vicidial_server_carriers where carrier_id='$carrier_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CARRIER NOT ADDED - there is already a carrier in the system with this ID\n";} + else + { + if ( (strlen($carrier_id) < 2) or (strlen($server_ip) < 7) ) + {echo "
    CARRIER NOT ADDED - Please go back and look at the data you entered\n";} + else + { + echo "
    CARRIER ADDED\n"; + + $stmt="INSERT INTO vicidial_server_carriers (carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active) values('$carrier_id','$carrier_name','$registration_string','$template_id','$account_entry','$protocol','$globals_string','$dialplan_entry','$server_ip','N');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='ADD', record_id='$carrier_id', event_code='ADMIN ADD CARRIER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=341111111111; + } + + +###################### +# ADD=2111111111111 adds new conference to the system +###################### + +if ($ADD==2111111111111) + { + echo ""; + $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    CONFERENCE NOT ADDED - there is already a conference in the system with this ID and server\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
    CONFERENCE NOT ADDED - Please go back and look at the data you entered\n";} + else + { + echo "
    CONFERENCE ADDED\n"; + + $stmt="INSERT INTO conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } + } + $ADD=3111111111111; + } + + +###################### +# ADD=21111111111111 adds new vicidial conference to the system +###################### + +if ($ADD==21111111111111) + { + echo ""; + $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    VICIDIAL CONFERENCE NOT ADDED - there is already a vicidial conference in the system with this ID and server\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
    VICIDIAL CONFERENCE NOT ADDED - Please go back and look at the data you entered\n";} + else + { + echo "
    VICIDIAL CONFERENCE ADDED\n"; + + $stmt="INSERT INTO vicidial_conferences (conf_exten,server_ip) values('$conf_exten','$server_ip');"; + $rslt=mysql_query($stmt, $link); + } + } + $ADD=31111111111111; + } + + +###################### +# ADD=221111111111111 adds the new system status to the system +###################### + +if ($ADD==221111111111111) + { + echo ""; + $stmt="SELECT count(*) from vicidial_campaign_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    SYSTEM STATUS NOT ADDED - there is already a campaign-status in the system with this name: $row[0]\n";} + else + { + $stmt="SELECT count(*) from vicidial_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    SYSTEM STATUS NOT ADDED - there is already a global-status in the system with this name\n";} + else + { + if ( (strlen($status) < 1) or (strlen($status_name) < 2) ) + { + echo "
    SYSTEM STATUS NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    status must be between 1 and 8 characters in length\n"; + echo "
    status name must be between 2 and 30 characters in length\n"; + } + else + { + echo "
    SYSTEM STATUS ADDED: $status_name - $status\n"; + + $stmt="INSERT INTO vicidial_statuses (status,status_name,selectable,human_answered,category) values('$status','$status_name','$selectable','$human_answered','$category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SYSTEMSTATUSES', event_type='ADD', record_id='$status', event_code='ADMIN ADD SYSTEM STATUS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + $ADD=321111111111111; + } + + +###################### +# ADD=231111111111111 adds the new status category to the system +###################### + +if ($ADD==231111111111111) + { + echo ""; + $stmt="SELECT count(*) from vicidial_status_categories where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    STATUS CATEGORY NOT ADDED - there is already a status category in the system with this ID: $row[0]\n";} + else + { + if ( (strlen($vsc_id) < 2) or (strlen($vsc_id) > 20) or (strlen($vsc_name) < 2) ) + { + echo "
    STATUS CATEGORY NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    ID must be between 2 and 20 characters in length\n"; + echo "
    name name must be between 2 and 50 characters in length\n"; + } + else + { + echo "
    STATUS CATEGORY ADDED: $vsc_id - $vsc_name\n"; + + $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + { + $tovdad_display = 'N'; + echo "
    ERROR: There are already 4 Status Categories set to TimeOnVDAD Display\n"; + } + + $stmt="INSERT INTO vicidial_status_categories (vsc_id,vsc_name,vsc_description,tovdad_display,sale_category,dead_lead_category) values('$vsc_id','$vsc_name','$vsc_description','$tovdad_display','$sale_category','$dead_lead_category');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSCATEGORIES', event_type='ADD', record_id='$vsc_id', event_code='ADMIN ADD STATUS CATEGORY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=331111111111111; + } + + + +###################### +# ADD=241111111111111 adds the new qc status code to the system +###################### + +if ($ADD==241111111111111) + { + echo ""; + $stmt="SELECT count(*) from vicidial_qc_codes where code='$code';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + {echo "
    QC STATUS CODE NOT ADDED - there is already a qc status code in the system with this name: $row[0]\n";} + else + { + if ( (strlen($code) < 1) or (strlen($code_name) < 2) ) + { + echo "
    QC STATUS CODE NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    code must be between 1 and 8 characters in length\n"; + echo "
    code name must be between 2 and 30 characters in length\n"; + } + else + { + echo "
    QC STATUS CODE ADDED: $code_name - $code\n"; + + $stmt="INSERT INTO vicidial_qc_codes (code,code_name) values('$code','$code_name');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='QCSTATUSES', event_type='ADD', record_id='$code', event_code='ADMIN ADD QC STATUS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + $ADD=341111111111111; + } + + + +###################################################################################################### +###################################################################################################### +####### 4 series, record modifications submitted and DB is modified, then on to 3 series forms below +###################################################################################################### +###################################################################################################### + + + +###################### +# ADD=4A submit user modifications to the system - ADMIN +###################### + +if ($ADD=="4A") +{ + if ($LOGmodify_users==1) + { + echo ""; + + if ( (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_level) < 1) ) + { + echo "
    USER NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    Password and Full Name each need ot be at least 2 characters in length\n"; + } + else + { + if ($SSoutbound_autodial_active < 1) + { + $closer_default_blended = '0'; + $delete_filters = '0'; + $load_leads = '0'; + } + echo "
    USER MODIFIED - ADMIN: $user\n"; + + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',delete_users='$delete_users',delete_user_groups='$delete_user_groups',delete_lists='$delete_lists',delete_campaigns='$delete_campaigns',delete_ingroups='$delete_ingroups',delete_remote_agents='$delete_remote_agents',load_leads='$load_leads',campaign_detail='$campaign_detail',ast_admin_access='$ast_admin_access',ast_delete_phones='$ast_delete_phones',delete_scripts='$delete_scripts',modify_leads='$modify_leads',hotkeys_active='$hotkeys_active',change_agent_campaign='$change_agent_campaign',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',delete_filters='$delete_filters',alter_agent_interface_options='$alter_agent_interface_options',closer_default_blended='$closer_default_blended',delete_call_times='$delete_call_times',modify_call_times='$modify_call_times',modify_users='$modify_users',modify_campaigns='$modify_campaigns',modify_lists='$modify_lists',modify_scripts='$modify_scripts',modify_filters='$modify_filters',modify_ingroups='$modify_ingroups',modify_usergroups='$modify_usergroups',modify_remoteagents='$modify_remoteagents',modify_servers='$modify_servers',view_reports='$view_reports',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',add_timeclock_log='$add_timeclock_log',modify_timeclock_log='$modify_timeclock_log',delete_timeclock_log='$delete_timeclock_log',alter_custphone_override='$alter_custphone_override',vdc_agent_api_access='$vdc_agent_api_access',modify_inbound_dids='$modify_inbound_dids',delete_inbound_dids='$delete_inbound_dids',active='$active',download_lists='$download_lists',agent_shift_enforcement_override='$agent_shift_enforcement_override',manager_shift_enforcement_override='$manager_shift_enforcement_override',export_reports='$export_reports' where user='$user';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERS', event_type='MODIFY', record_id='$user', event_code='ADMIN MODIFY USER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; + } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# + + if ($enable_vtiger_integration > 0) + { + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + $user_name = $user; + $user_password = $pass; + $last_name = $full_name; + $is_admin = 'off'; + $roleid = 'H5'; + $status = 'Active'; + $groupid = '1'; + if ($user_level >= 7) {$roleid = 'H3';} + if ($user_level >= 8) {$roleid = 'H4';} + if ($user_level >= 9) {$roleid = 'H2';} + if ($user_level >= 9) {$is_admin = 'on';} + $salt = substr($user_name, 0, 2); + $salt = '$1$' . $salt . '$'; + $encrypted_password = crypt($user_password, $salt); + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_groups_seq to use as groupid + $stmt="SELECT id from vtiger_groups_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_groups_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### + + ###################################### + ##### BEGIN Add/Update user info in Vtiger + $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + ### user exists in vtiger, update it + if ($found_count > 0) + { + $stmt="SELECT id from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $userid = $row[0]; + + $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $usergroupcount = $row[0]; + + $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + if ($usergroupcount < 1) + { + $stmt="SELECT user_group FROM vicidial_user_groups;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_groups_ct = mysql_num_rows($rslt); + $k=0; + $VD_groups_list=''; + while ($k < $VD_groups_ct) + { + $row=mysql_fetch_row($rslt); + $VD_groups_list .= "'$row[0]',"; + $k++; + } + $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + + $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + } + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW USER RECORD IN VTIGER + $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $userid = mysql_insert_id($linkV); + + $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW USER RECORD IN VTIGER + } + ##### END Add/Update user info in Vtiger + ###################################### + } + ### END vtiger integration + + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=3; # go to user modification below +} + + +###################### +# ADD=4B submit user modifications to the system - ADMIN +###################### + +if ($ADD=="4B") +{ + if ($LOGmodify_users==1) + { + echo ""; + + if ( (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_level) < 1) ) + { + echo "
    USER NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    Password and Full Name each need ot be at least 2 characters in length\n"; + } + else + { + if ($SSoutbound_autodial_active < 1) + { + $closer_default_blended = '0'; + $delete_filters = '0'; + $load_leads = '0'; + } + echo "
    USER MODIFIED - ADMIN: $user\n"; + + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',hotkeys_active='$hotkeys_active',agent_choose_ingroups='$agent_choose_ingroups',closer_campaigns='$groups_value',scheduled_callbacks='$scheduled_callbacks',agentonly_callbacks='$agentonly_callbacks',agentcall_manual='$agentcall_manual',vicidial_recording='$vicidial_recording',vicidial_transfers='$vicidial_transfers',closer_default_blended='$closer_default_blended',vicidial_recording_override='$vicidial_recording_override',alter_custdata_override='$alter_custdata_override',qc_enabled='$qc_enabled',qc_user_level='$qc_user_level',qc_pass='$qc_pass',qc_finish='$qc_finish',qc_commit='$qc_commit',alter_custphone_override='$alter_custphone_override',active='$active',agent_shift_enforcement_override='$agent_shift_enforcement_override' where user='$user';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERS', event_type='MODIFY', record_id='$user', event_code='ADMIN MODIFY USER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; + } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# + + if ($enable_vtiger_integration > 0) + { + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + $user_name = $user; + $user_password = $pass; + $last_name = $full_name; + $is_admin = 'off'; + $roleid = 'H5'; + $status = 'Active'; + $groupid = '1'; + if ($user_level >= 7) {$roleid = 'H3';} + if ($user_level >= 8) {$roleid = 'H4';} + if ($user_level >= 9) {$roleid = 'H2';} + if ($user_level >= 9) {$is_admin = 'on';} + $salt = substr($user_name, 0, 2); + $salt = '$1$' . $salt . '$'; + $encrypted_password = crypt($user_password, $salt); + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_groups_seq to use as groupid + $stmt="SELECT id from vtiger_groups_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_groups_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### + + ###################################### + ##### BEGIN Add/Update user info in Vtiger + $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + ### user exists in vtiger, update it + if ($found_count > 0) + { + $stmt="SELECT id from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $userid = $row[0]; + + $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $usergroupcount = $row[0]; + + $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + if ($usergroupcount < 1) + { + $stmt="SELECT user_group FROM vicidial_user_groups;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_groups_ct = mysql_num_rows($rslt); + $k=0; + $VD_groups_list=''; + while ($k < $VD_groups_ct) + { + $row=mysql_fetch_row($rslt); + $VD_groups_list .= "'$row[0]',"; + $k++; + } + $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + + $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + } + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW USER RECORD IN VTIGER + $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $userid = mysql_insert_id($linkV); + + $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW USER RECORD IN VTIGER + } + ##### END Add/Update user info in Vtiger + ###################################### + } + ### END vtiger integration + + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=3; # go to user modification below +} + + + +###################### +# ADD=4 submit user modifications to the system +###################### + +if ($ADD==4) +{ + if ($LOGmodify_users==1) + { + echo ""; + + if ( (strlen($pass) < 2) or (strlen($full_name) < 2) or (strlen($user_level) < 1) ) + { + echo "
    USER NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    Password and Full Name each need ot be at least 2 characters in length\n"; + } + else + { + echo "
    USER MODIFIED: $user\n"; + + $stmt="UPDATE vicidial_users set pass='$pass',full_name='$full_name',user_level='$user_level',user_group='$user_group',phone_login='$phone_login',phone_pass='$phone_pass',active='$active' where user='$user';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERS', event_type='MODIFY', record_id='$user', event_code='ADMIN MODIFY USER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; + } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# + + if ($enable_vtiger_integration > 0) + { + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + $user_name = $user; + $user_password = $pass; + $last_name = $full_name; + $is_admin = 'off'; + $roleid = 'H5'; + $status = 'Active'; + $groupid = '1'; + if ($user_level >= 7) {$roleid = 'H3';} + if ($user_level >= 8) {$roleid = 'H4';} + if ($user_level >= 9) {$roleid = 'H2';} + if ($user_level >= 9) {$is_admin = 'on';} + $salt = substr($user_name, 0, 2); + $salt = '$1$' . $salt . '$'; + $encrypted_password = crypt($user_password, $salt); + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_groups_seq to use as groupid + $stmt="SELECT id from vtiger_groups_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_groups_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### + + ###################################### + ##### BEGIN Add/Update user info in Vtiger + $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + ### user exists in vtiger, update it + if ($found_count > 0) + { + $stmt="SELECT id from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $userid = $row[0]; + + $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $usergroupcount = $row[0]; + + $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + if ($usergroupcount < 1) + { + $stmt="SELECT user_group FROM vicidial_user_groups;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $VD_groups_ct = mysql_num_rows($rslt); + $k=0; + $VD_groups_list=''; + while ($k < $VD_groups_ct) + { + $row=mysql_fetch_row($rslt); + $VD_groups_list .= "'$row[0]',"; + $k++; + } + $VD_groups_list = preg_replace("/.$/",'',$VD_groups_list); + + $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN(SELECT groupid from vtiger_groups where groupname IN($VD_groups_list));"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + } + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW USER RECORD IN VTIGER + $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $userid = mysql_insert_id($linkV); + + $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW USER RECORD IN VTIGER + } + ##### END Add/Update user info in Vtiger + ###################################### + } + ### END vtiger integration + + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=3; # go to user modification below +} + +###################### +# ADD=41 submit campaign modifications to the system - DETAIL +###################### + +if ($ADD==41) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ($SSoutbound_autodial_active < 1) + { + $adaptive_dl_diff_target = '0'; + $adaptive_dropped_percentage = '99'; + $adaptive_intensity = '0'; + $adaptive_latest_server_time = '2359'; + $adaptive_maximum_level = '1.0'; + $agent_extended_alt_dial = 'N'; + $alt_number_dialing = 'N'; + $am_message_exten = '8300'; + $amd_send_to_vmx = 'N'; + $auto_alt_dial = 'N'; + $auto_dial_level = '1.0'; + $available_only_ratio_tally = 'Y'; + $campaign_allow_inbound = 'Y'; + $campaign_vdad_exten = '8368'; + $concurrent_transfers = 'AUTO'; + $dial_method = 'RATIO'; + $dial_status = ''; + $dial_timeout = '60'; + $drop_action = 'HANGUP'; + $drop_call_seconds = '5'; + $drop_inbound_group = '---NONE---'; + $force_reset_hopper = 'N'; + $hopper_level = '5'; + $lead_filter_id = 'NONE'; + $lead_order = 'DOWN'; + $list_order_mix = 'DISABLED'; + $no_hopper_leads_logins = 'Y'; + $queue_priority = '50'; + $safe_harbor_exten = '8300'; + $survey_camp_record_dir = '/home/survey'; + $survey_dtmf_digits = '1238'; + $survey_first_audio_file = 'US_pol_survey_hello'; + $survey_method = 'AGENT_XFER'; + $survey_ni_audio_file = ''; + $survey_ni_digit = '8'; + $survey_ni_status = 'NI'; + $survey_no_response_action = 'OPTIN'; + $survey_opt_in_audio_file = 'US_pol_survey_transfer'; + $survey_response_digit_map = '1-DEMOCRAT|2-REPUBLICAN|3-INDEPENDANT|8-OPTOUT|X-NO RESPONSE|'; + $survey_xfer_exten = '8300'; + $voicemail_ext = ''; + $cpd_amd_action = 'DISABLED'; + } + if (ereg('list_activation',$stage)) + { + $p=0; + echo "
    ACTIVE LISTS CHANGED"; + $list_active_change_ct = count($list_active_change); + while ($p < $list_active_change_ct) + { + $LIST_ACTIVATE .= "'$list_active_change[$p]',"; + $p++; + } + + $stmt = "UPDATE vicidial_lists SET active='Y' where list_id IN($LIST_ACTIVATE'') and campaign_id='$campaign_id';"; + $stmtB = "UPDATE vicidial_lists SET active='N' where list_id NOT IN($LIST_ACTIVATE'') and campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $rslt=mysql_query($stmtB, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|$stmtB|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN ACTIVE LISTS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + if ($DB > 0) {echo "|$stmt|\n|$stmtB|\n";} + } + else + { + if ( (strlen($campaign_name) < 6) or (strlen($active) < 1) ) + { + echo "
    CAMPAIGN NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    the campaign name needs to be at least 6 characters in length\n"; + echo "
    |$campaign_name|$active|\n"; + } + else + { + echo "
    CAMPAIGN MODIFIED: $campaign_id\n"; + + if ($dial_method == 'MANUAL') + { + $auto_dial_level='0'; + $adlSQL = "auto_dial_level='0',"; + } + else + { + if ($dial_level_override > 0) + { + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + else + { + if ($dial_method == 'RATIO') + { + if ($auto_dial_level < 1) {$auto_dial_level = "1.0";} + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + else + { + $adlSQL = ""; + if ($auto_dial_level < 1) + { + $auto_dial_level = "1.0"; + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + } + } + } + if ( (!ereg("DISABLED",$list_order_mix)) and ($hopper_level < 100) ) + {$hopper_level='100';} + + $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', $adlSQL next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='" . mysql_real_escape_string($web_form_address) . "', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number',xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message',closer_campaigns='$groups_value',use_internal_dnc='$use_internal_dnc',allcalls_delay='$allcalls_delay',omit_phone_code='$omit_phone_code',dial_method='$dial_method',available_only_ratio_tally='$available_only_ratio_tally',adaptive_dropped_percentage='$adaptive_dropped_percentage',adaptive_maximum_level='$adaptive_maximum_level',adaptive_latest_server_time='$adaptive_latest_server_time',adaptive_intensity='$adaptive_intensity',adaptive_dl_diff_target='$adaptive_dl_diff_target',concurrent_transfers='$concurrent_transfers',auto_alt_dial='$auto_alt_dial',agent_pause_codes_active='$agent_pause_codes_active',campaign_description='$campaign_description',campaign_changedate='$SQLdate',campaign_stats_refresh='$campaign_stats_refresh',disable_alter_custdata='$disable_alter_custdata',no_hopper_leads_logins='$no_hopper_leads_logins',list_order_mix='$list_order_mix',campaign_allow_inbound='$campaign_allow_inbound',manual_dial_list_id='$manual_dial_list_id',default_xfer_group='$default_xfer_group',xfer_groups='$XFERgroups_value',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',disable_alter_custphone='$disable_alter_custphone',display_queue_count='$display_queue_count',manual_dial_filter='$manual_dial_filter',agent_clipboard_copy='$agent_clipboard_copy',agent_extended_alt_dial='$agent_extended_alt_dial',use_campaign_dnc='$use_campaign_dnc',three_way_call_cid='$three_way_call_cid',three_way_dial_prefix='$three_way_dial_prefix',web_form_target='$web_form_target',vtiger_search_category='$vtiger_search_category',vtiger_create_call_record='$vtiger_create_call_record',vtiger_create_lead_record='$vtiger_create_lead_record',vtiger_screen_login='$vtiger_screen_login',cpd_amd_action='$cpd_amd_action',agent_allow_group_alias='$agent_allow_group_alias',default_group_alias='$default_group_alias' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + if ($reset_hopper == 'Y') + { + echo "
    RESETTING CAMPAIGN LEAD HOPPER\n"; + echo "
    - Wait 1 minute before dialing next number\n"; + $stmt="DELETE from vicidial_hopper where campaign_id='$campaign_id' and status IN('READY','QUEUE','DONE');"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='RESET', record_id='$campaign_id', event_code='ADMIN RESET CAMPAIGN LEAD HOPPER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=42 modify/delete campaign status in the system +###################### + +if ($ADD==42) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
    CAMPAIGN STATUS NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    the campaign id needs to be at least 2 characters in length\n"; + echo "
    the campaign status needs to be at least 1 characters in length\n"; + } + else + { + if (ereg('delete',$stage)) + { + echo "
    CUSTOM CAMPAIGN STATUS DELETED: $campaign_id - $status\n"; + + $stmt="DELETE FROM vicidial_campaign_statuses where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="DELETE FROM vicidial_campaign_hotkeys where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_STATUS', event_type='DELETE', record_id='$campaign_id', event_code='ADMIN DELETE CAMPAIGN STATUS', event_sql=\"$SQL_log\", event_notes='Status: $status';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + if (ereg('modify',$stage)) + { + echo "
    CUSTOM CAMPAIGN STATUS MODIFIED: $campaign_id - $status\n"; + + $stmt="UPDATE vicidial_campaign_statuses SET status_name='$status_name',selectable='$selectable',human_answered='$human_answered',category='$category' where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_STATUS', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN STATUS', event_sql=\"$SQL_log\", event_notes='Status: $status';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$SUB=22; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=43 delete campaign hotkey in the system +###################### + +if ($ADD==43) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or (strlen($hotkey) < 1) ) + { + echo "
    CAMPAIGN HOT KEY NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    the campaign id needs to be at least 2 characters in length\n"; + echo "
    the campaign status needs to be at least 1 characters in length\n"; + echo "
    the campaign hotkey needs to be at least 1 characters in length\n"; + } + else + { + echo "
    CUSTOM CAMPAIGN HOT KEY DELETED: $campaign_id - $status - $hotkey\n"; + + $stmt="DELETE FROM vicidial_campaign_hotkeys where campaign_id='$campaign_id' and status='$status' and hotkey='$hotkey';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_HOTKEY', event_type='DELETE', record_id='$campaign_id', event_code='ADMIN DELETE CAMPAIGN HOTKEY', event_sql=\"$SQL_log\", event_notes='Status: $status|HotKey: $hotkey';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$SUB=23; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=44 submit campaign modifications to the system - Basic View +###################### + +if ($ADD==44) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ($SSoutbound_autodial_active < 1) + { + $adaptive_dl_diff_target = '0'; + $adaptive_dropped_percentage = '99'; + $adaptive_intensity = '0'; + $adaptive_latest_server_time = '2359'; + $adaptive_maximum_level = '1.0'; + $agent_extended_alt_dial = 'N'; + $alt_number_dialing = 'N'; + $am_message_exten = '8300'; + $amd_send_to_vmx = 'N'; + $auto_alt_dial = 'N'; + $auto_dial_level = '1.0'; + $available_only_ratio_tally = 'Y'; + $campaign_allow_inbound = 'Y'; + $campaign_vdad_exten = '8368'; + $concurrent_transfers = 'AUTO'; + $dial_method = 'RATIO'; + $dial_status = ''; + $dial_timeout = '60'; + $drop_action = 'HANGUP'; + $drop_call_seconds = '5'; + $drop_inbound_group = '---NONE---'; + $force_reset_hopper = 'N'; + $hopper_level = '5'; + $lead_filter_id = 'NONE'; + $lead_order = 'DOWN'; + $list_order_mix = 'DISABLED'; + $no_hopper_leads_logins = 'Y'; + $queue_priority = '50'; + $safe_harbor_exten = '8300'; + $voicemail_ext = ''; + } + if (ereg('list_activation',$stage)) + { + $p=0; + echo "
    ACTIVE LISTS CHANGED"; + $list_active_change_ct = count($list_active_change); + while ($p < $list_active_change_ct) + { + $LIST_ACTIVATE .= "'$list_active_change[$p]',"; + $p++; + } + + $stmt = "UPDATE vicidial_lists SET active='Y' where list_id IN($LIST_ACTIVATE'') and campaign_id='$campaign_id';"; + $stmtB = "UPDATE vicidial_lists SET active='N' where list_id NOT IN($LIST_ACTIVATE'') and campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $rslt=mysql_query($stmtB, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|$stmtB|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN ACTIVE LISTS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + if ($DB > 0) {echo "|$stmt|\n|$stmtB|\n";} + } + else + { + + if ( (strlen($campaign_name) < 6) or (strlen($active) < 1) ) + { + echo "
    CAMPAIGN NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    the campaign name needs to be at least 6 characters in length\n"; + } + else + { + echo "
    CAMPAIGN MODIFIED: $campaign_id\n"; + + if ($dial_method == 'RATIO') + { + if ($auto_dial_level < 1) {$auto_dial_level = "1.0";} + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + else + { + if ($dial_method == 'MANUAL') + { + $auto_dial_level='0'; + $adlSQL = "auto_dial_level='0',"; + } + else + { + $adlSQL = ""; + if ($auto_dial_level < 1) + { + $auto_dial_level = "1.0"; + $adlSQL = "auto_dial_level='$auto_dial_level',"; + } + } + } + if ( (!ereg("DISABLED",$list_order_mix)) and ($hopper_level < 100) ) + {$hopper_level='100';} + + $stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',hopper_level='$hopper_level', $adlSQL lead_filter_id='$lead_filter_id',dial_method='$dial_method',adaptive_intensity='$adaptive_intensity',campaign_changedate='$SQLdate',list_order_mix='$list_order_mix' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + if ($reset_hopper == 'Y') + { + echo "
    RESETTING CAMPAIGN LEAD HOPPER\n"; + echo "
    - Wait 1 minute before dialing next number\n"; + $stmt="DELETE from vicidial_hopper where campaign_id='$campaign_id' and status IN('READY','QUEUE','DONE');;"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='RESET', record_id='$campaign_id', event_code='ADMIN RESET CAMPAIGN LEAD HOPPER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=34; # go to campaign modification form below +} + +###################### +# ADD=45 modify campaign lead recycle in the system +###################### + +if ($ADD==45) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) or ($attempt_delay < 120) or ($attempt_delay >= 43200) or ($attempt_maximum < 1) or ($attempt_maximum > 10) ) + { + echo "
    CAMPAIGN LEAD RECYCLE NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    status must be between 1 and 6 characters in length\n"; + echo "
    attempt delay must be at least 120 seconds and less than 43200 seconds or 12 hours\n"; + echo "
    maximum attempts must be from 1 to 10\n"; + } + else + { + echo "
    CAMPAIGN LEAD MODIFIED: $campaign_id - $status - $attempt_delay\n"; + + $stmt="UPDATE vicidial_lead_recycle SET attempt_delay='$attempt_delay',attempt_maximum='$attempt_maximum',active='$active' where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_RECYCLE', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN LEAD RECYCLE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$SUB=25; +$ADD=31; # go to campaign modification form below +} + +###################### +# ADD=47 modify agent pause code in the system +###################### + +if ($ADD==47) +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) or (strlen($pause_code) > 6) or (strlen($pause_code_name) < 2) ) + { + echo "
    AGENT PAUSE CODE NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    pause_code must be between 1 and 6 characters in length\n"; + echo "
    pause_code name must be between 2 and 30 characters in length\n"; + } + else + { + echo "
    AGENT PAUSE CODE MODIFIED: $campaign_id - $pause_code - $pause_code_name\n"; + + $stmt="UPDATE vicidial_pause_codes SET pause_code_name='$pause_code_name',billable='$billable' where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PAUSECODE', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN PAUSE CODE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$SUB=27; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=48 modify campaign QC settings in the system +###################### +if ($ADD==48) +{ + if ( ($LOGmodify_campaigns==1) and ($SSqc_features_active) ) + { + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
    QC SETTINGS NOT MODIFIED - Please go back and look at the data you entered\n"; + } + else + { + $p=0; + $qc_statuses_ct = count($qc_statuses); + while ($p < $qc_statuses_ct) + { + $QC_statuses .= " $qc_statuses[$p]"; + $p++; + } + $p=0; + $qc_lists_ct = count($qc_lists); + while ($p < $qc_lists_ct) + { + $QC_lists .= " $qc_lists[$p]"; + $p++; + } + + if (strlen($QC_statuses)>0) {$QC_statuses .= " -";} + if (strlen($QC_lists)>0) {$QC_lists .= " -";} + + echo "
    QC SETTINGS MODIFIED: $campaign_id\n"; + + $stmt="UPDATE vicidial_campaigns SET qc_enabled='$qc_enabled',qc_statuses='$QC_statuses',qc_lists='$QC_lists',qc_web_form_address='$qc_web_form_address',qc_script='$qc_script',qc_get_record_launch='$qc_get_record_launch',qc_show_recording='$qc_show_recording',qc_shift_id='$qc_shift_id' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_QC', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN QC SETTINGS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$SUB=28; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=40A modify campaign survey settings in the system +###################### + +if ($ADD=='40A') +{ + if ($LOGmodify_campaigns==1) + { + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
    SURVEY SETTINGS NOT MODIFIED - Please go back and look at the data you entered\n"; + } + else + { + echo "
    SURVEY SETTINGS MODIFIED: $campaign_id\n"; + + $stmt="UPDATE vicidial_campaigns SET survey_first_audio_file='$survey_first_audio_file',survey_dtmf_digits='$survey_dtmf_digits',survey_ni_digit='$survey_ni_digit',survey_opt_in_audio_file='$survey_opt_in_audio_file',survey_ni_audio_file='$survey_ni_audio_file',survey_method='$survey_method',survey_no_response_action='$survey_no_response_action',survey_ni_status='$survey_ni_status',survey_response_digit_map='$survey_response_digit_map',survey_xfer_exten='$survey_xfer_exten',survey_camp_record_dir='$survey_camp_record_dir',voicemail_ext='$voicemail_ext' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_SURVEY', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN SURVEY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$SUB='20A'; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=49 modify campaign list mix in the system +###################### + +if ($ADD==49) +{ + if ($LOGmodify_campaigns==1) + { + ##### MODIFY a list mix container entry ##### + if ($stage=='MODIFY') + { + echo ""; + + $Flist_mix_container = "list_mix_container_$vcl_id"; + $Fmix_method = "mix_method_$vcl_id"; + $Fstatus = "status_$vcl_id"; + $Fvcl_name = "vcl_name_$vcl_id"; + + if (isset($_GET[$Flist_mix_container])) {$list_mix_container=$_GET[$Flist_mix_container];} + elseif (isset($_POST[$Flist_mix_container])) {$list_mix_container=$_POST[$Flist_mix_container];} + if (isset($_GET[$Fmix_method])) {$mix_method=$_GET[$Fmix_method];} + elseif (isset($_POST[$Fmix_method])) {$mix_method=$_POST[$Fmix_method];} + if (isset($_GET[$Fstatus])) {$status=$_GET[$Fstatus];} + elseif (isset($_POST[$Fstatus])) {$status=$_POST[$Fstatus];} + if (isset($_GET[$Fvcl_name])) {$vcl_name=$_GET[$Fvcl_name];} + elseif (isset($_POST[$Fvcl_name])) {$vcl_name=$_POST[$Fvcl_name];} + $list_mix_container = preg_replace("/:$/","",$list_mix_container); + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($list_mix_container) < 6) or (strlen($vcl_name) < 2) ) + { + echo "
    LIST MIX NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    vcl_id must be between 1 and 20 characters in length\n"; + echo "
    vcl_name name must be between 2 and 30 characters in length\n"; + } + else + { + $stmt="UPDATE vicidial_campaigns_list_mix SET vcl_name='$vcl_name',mix_method='$mix_method',list_mix_container='$list_mix_container' where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_LISTMIX', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN LIST MIX', event_sql=\"$SQL_log\", event_notes='List Mix: $vcl_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    LIST MIX MODIFIED: $campaign_id - $vcl_id - $vcl_name\n"; + } + } + + ##### ADD a list mix container entry ##### + if ($stage=='ADD') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($list_id) < 1) ) + { + echo "
    LIST MIX NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    vcl_id must be between 1 and 20 characters in length\n"; + echo "
    list_id must be at least 2 characters in length\n"; + } + else + { + $stmt="SELECT list_mix_container from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $OLDlist_mix_container = $row[0]; + $NEWlist_mix_container = "$OLDlist_mix_container:$list_id|10|0| -|"; + + $stmt="UPDATE vicidial_campaigns_list_mix SET list_mix_container='$NEWlist_mix_container' where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_LISTMIX', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN LIST MIX', event_sql=\"$SQL_log\", event_notes='List Mix: $vcl_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    LIST MIX MODIFIED: $campaign_id - $vcl_id - $list_id\n"; + } + } + + ##### REMOVE a list mix container entry ##### + if ($stage=='REMOVE') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($list_id) < 1) ) + { + echo "
    LIST MIX NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    vcl_id must be between 1 and 20 characters in length\n"; + echo "
    list_id must be at least 2 characters in length\n"; + } + else + { + $stmt="SELECT list_mix_container from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $MIXentries = $MT; + $MIXentries = explode(":", $row[0]); + $Ms_to_print = (count($MIXentries) - 0); + + if ($Ms_to_print < 2) + { + echo "
    LIST MIX NOT MODIFIED: You cannot delete the last list_id entry from a list mix\n"; + } + else + { + $MIXdetailsPCT = explode('|', $MIXentries[$mix_container_item]); + $MIXpercentPCT = $MIXdetailsPCT[2]; + + $q=0; + while ($Ms_to_print > $q) + { + if ( ($mix_container_item > $q) or ($mix_container_item < $q) ) + { + if ( ($q==0) and ($mix_container_item > 0) ) + { + $MIXdetailsONE = explode('|', $MIXentries[$q]); + $MIXpercentONE = ($MIXdetailsONE[2] + $MIXpercentPCT); + $NEWlist_mix_container .= "$MIXdetailsONE[0]|$MIXdetailsONE[1]|$MIXpercentONE|$MIXdetailsONE[3]|:"; + } + else + { + if ( ($q==1) and ($mix_container_item < 1) ) + { + $MIXdetailsONE = explode('|', $MIXentries[$q]); + $MIXpercentONE = ($MIXdetailsONE[2] + $MIXpercentPCT); + $NEWlist_mix_container .= "$MIXdetailsONE[0]|$MIXdetailsONE[1]|$MIXpercentONE|$MIXdetailsONE[3]|:"; + } + else + { + $NEWlist_mix_container .= "$MIXentries[$q]:"; + } + } + } + $q++; + } + $NEWlist_mix_container = preg_replace("/.$/",'',$NEWlist_mix_container); + + $stmt="UPDATE vicidial_campaigns_list_mix SET list_mix_container='$NEWlist_mix_container' where campaign_id='$campaign_id' and vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_LISTMIX', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN LIST MIX', event_sql=\"$SQL_log\", event_notes='List Mix: $vcl_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    LIST MIX MODIFIED: $campaign_id - $vcl_id - $list_id - $mix_container_item\n"; + } + } + } + + ##### ADD a NEW list mix ##### + if ($stage=='NEWMIX') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) or (strlen($vcl_name) < 2) ) + { + echo "
    LIST MIX NOT ADDED - Please go back and look at the data you entered\n"; + echo "
    vcl_id must be between 1 and 20 characters in length\n"; + echo "
    vcl_name must be at least 2 characters in length\n"; + } + else + { + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where vcl_id='$vcl_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] > 0) + { + echo "
    LIST MIX NOT ADDED - There is already a list mix with this ID in the system\n"; + } + else + { + $stmt="INSERT INTO vicidial_campaigns_list_mix SET list_mix_container='$list_id|1|100| $status -|',campaign_id='$campaign_id',vcl_id='$vcl_id',vcl_name='$vcl_name',mix_method='$mix_method',status='INACTIVE';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_LISTMIX', event_type='ADD', record_id='$campaign_id', event_code='ADMIN ADD CAMPAIGN LIST MIX', event_sql=\"$SQL_log\", event_notes='List Mix: $vcl_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    LIST MIX ADDED: $campaign_id - $vcl_id - $vcl_name\n"; + } + } + } + + ##### DELETE an existing list mix ##### + if ($stage=='DELMIX') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) ) + { + echo "
    LIST MIX NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    vcl_id must be between 1 and 20 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_campaigns_list_mix where vcl_id='$vcl_id' and campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_LISTMIX', event_type='DELETE', record_id='$campaign_id', event_code='ADMIN DELETE CAMPAIGN LIST MIX', event_sql=\"$SQL_log\", event_notes='List Mix: $vcl_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    LIST MIX DELETED: $campaign_id - $vcl_id - $vcl_name\n"; + } + } + + ##### Set list mix entry to active ##### + if ($stage=='SETACTIVE') + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($vcl_id) < 1) ) + { + echo "
    LIST MIX NOT ACTIVATED - Please go back and look at the data you entered\n"; + echo "
    vcl_id must be between 1 and 20 characters in length\n"; + } + else + { + $stmt="UPDATE vicidial_campaigns_list_mix SET status='INACTIVE' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_campaigns_list_mix SET status='ACTIVE' where vcl_id='$vcl_id' and campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_LISTMIX', event_type='MODIFY', record_id='$campaign_id', event_code='ADMIN MODIFY CAMPAIGN LIST MIX ACTIVE', event_sql=\"$SQL_log\", event_notes='List Mix: $vcl_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    LIST MIX ACTIVATED: $campaign_id - $vcl_id - $vcl_name\n"; + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$SUB=29; +$ADD=31; # go to campaign modification form below +} + + +###################### +# ADD=411 submit list modifications to the system +###################### + +if ($ADD==411) +{ + if ($LOGmodify_lists==1) + { + echo ""; + + if ( (strlen($list_name) < 2) or (strlen($campaign_id) < 2) ) + { + echo "
    LIST NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    list name must be at least 2 characters in length\n"; + } + else + { + echo "
    LIST MODIFIED: $list_id\n"; + + $stmt="UPDATE vicidial_lists set list_name='$list_name',campaign_id='$campaign_id',active='$active',list_description='$list_description',list_changedate='$SQLdate' where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LISTS', event_type='MODIFY', record_id='$list_id', event_code='ADMIN MODIFY LIST', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + if ($reset_list == 'Y') + { + echo "
    RESETTING LIST-CALLED-STATUS\n"; + $stmtB="UPDATE vicidial_list set called_since_last_reset='N' where list_id='$list_id';"; + $rslt=mysql_query($stmtB, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LISTS', event_type='RESET', record_id='$list_id', event_code='ADMIN RESET LIST', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + if ($campaign_id != "$old_campaign_id") + { + echo "
    REMOVING LIST HOPPER LEADS FROM OLD CAMPAIGN HOPPER ($old_campaign_id)\n"; + $stmtC="DELETE from vicidial_hopper where list_id='$list_id' and campaign_id='$old_campaign_id';"; + $rslt=mysql_query($stmtC, $link); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=311; # go to list modification form below +} + + +###################### +# ADD=4111 modify in-group info in the system +###################### + +if ($ADD==4111) +{ + if ($LOGmodify_ingroups==1) + { + echo ""; + + if ( (strlen($group_name) < 2) or (strlen($group_color) < 2) ) + { + echo "
    GROUP NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    group name and group color must be at least 2 characters in length\n"; + } + else + { + $p=0; + $qc_statuses_ct = count($qc_statuses); + while ($p < $qc_statuses_ct) + { + $QC_statuses .= " $qc_statuses[$p]"; + $p++; + } + $p=0; + $qc_lists_ct = count($qc_lists); + while ($p < $qc_lists_ct) + { + $QC_lists .= " $qc_lists[$p]"; + $p++; + } + + if (strlen($QC_statuses)>0) {$QC_statuses .= " -";} + if (strlen($QC_lists)>0) {$QC_lists .= " -";} + + echo "
    GROUP MODIFIED: $group_id\n"; + + $stmt="UPDATE vicidial_inbound_groups set group_name='$group_name', group_color='$group_color', active='$active', web_form_address='" . mysql_real_escape_string($web_form_address) . "', voicemail_ext='$voicemail_ext', next_agent_call='$next_agent_call', fronter_display='$fronter_display', ingroup_script='$script_id', get_call_launch='$get_call_launch', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',drop_action='$drop_action',drop_call_seconds='$drop_call_seconds',drop_exten='$drop_exten',call_time_id='$call_time_id',after_hours_action='$after_hours_action',after_hours_message_filename='$after_hours_message_filename',after_hours_exten='$after_hours_exten',after_hours_voicemail='$after_hours_voicemail',welcome_message_filename='$welcome_message_filename',moh_context='$moh_context',onhold_prompt_filename='$onhold_prompt_filename',prompt_interval='$prompt_interval',agent_alert_exten='$agent_alert_exten',agent_alert_delay='$agent_alert_delay',default_xfer_group='$default_xfer_group',queue_priority='$queue_priority',drop_inbound_group='$drop_inbound_group',ingroup_recording_override='$ingroup_recording_override',ingroup_rec_filename='$ingroup_rec_filename',afterhours_xfer_group='$afterhours_xfer_group',qc_enabled='$qc_enabled',qc_statuses='$QC_statuses',qc_shift_id='$qc_shift_id',qc_get_record_launch='$qc_get_record_launch',qc_show_recording='$qc_show_recording',qc_web_form_address='$qc_web_form_address',qc_script='$qc_script',play_place_in_line='$play_place_in_line',play_estimate_hold_time='$play_estimate_hold_time',hold_time_option='$hold_time_option',hold_time_option_seconds='$hold_time_option_seconds',hold_time_option_exten='$hold_time_option_exten',hold_time_option_voicemail='$hold_time_option_voicemail',hold_time_option_xfer_group='$hold_time_option_xfer_group',hold_time_option_callback_filename='$hold_time_option_callback_filename',hold_time_option_callback_list_id='$hold_time_option_callback_list_id',hold_recall_xfer_group='$hold_recall_xfer_group',no_delay_call_route='$no_delay_call_route',play_welcome_message='$play_welcome_message',answer_sec_pct_rt_stat_one='$answer_sec_pct_rt_stat_one',answer_sec_pct_rt_stat_two='$answer_sec_pct_rt_stat_two',default_group_alias='$default_group_alias' where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='MODIFY', record_id='$group_id', event_code='ADMIN MODIFY INGROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=3111; # go to in-group modification form below +} + + + +###################### +# ADD=4311 modify did info in the system +###################### + +if ($ADD==4311) +{ + if ($LOGmodify_dids==1) + { + echo ""; + + if ( (strlen($did_id) < 1) or (strlen($did_pattern) < 1) ) + { + echo "
    DID NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    did_extension must be at least 1 character in length\n"; + } + else + { + echo "
    DID MODIFIED: $did_pattern\n"; + + $stmt="UPDATE vicidial_inbound_dids set did_pattern='$did_pattern',did_description='$did_description',did_active='$did_active',did_route='$did_route',extension='$extension',exten_context='$exten_context',voicemail_ext='$voicemail_ext',phone='$phone',server_ip='$server_ip',user='$user',user_unavailable_action='$user_unavailable_action',user_route_settings_ingroup='$user_route_settings_ingroup',group_id='$group_id',call_handle_method='$call_handle_method',agent_search_method='$agent_search_method',list_id='$list_id',campaign_id='$campaign_id',phone_code='$phone_code' where did_id='$did_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='MODIFY', record_id='$did_id', event_code='ADMIN MODIFY DID', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=3311; # go to did modification form below +} + + + +###################### +# ADD=41111 modify remote agents info in the system +###################### + +if ($ADD==41111) +{ + if ($LOGmodify_remoteagents==1) + { + echo ""; + + if ( (strlen($server_ip) < 2) or (strlen($user_start) < 2) or (strlen($campaign_id) < 2) or (strlen($conf_exten) < 2) ) + { + echo "
    REMOTE AGENTS NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    User ID Start and External Extension must be at least 2 characters in length\n"; + } + else + { + $stmt="UPDATE vicidial_remote_agents set user_start='$user_start', number_of_lines='$number_of_lines', server_ip='$server_ip', conf_exten='$conf_exten', status='$status', campaign_id='$campaign_id', closer_campaigns='$groups_value' where remote_agent_id='$remote_agent_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
    REMOTE AGENTS MODIFIED\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='REMOTEAGENTS', event_type='MODIFY', record_id='$remote_agent_id', event_code='ADMIN MODIFY REMOTE AGENT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=31111; # go to remote agents modification form below +} + + + +###################### +# ADD=411111 modify user group info in the system +###################### + +if ($ADD==411111) +{ + if ($LOGmodify_usergroups==1) + { + echo ""; + + if ( (strlen($user_group) < 2) or (strlen($group_name) < 2) ) + { + echo "
    USER GROUP NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    Group name and description must be at least 2 characters in length\n"; + } + else + { + $p=0; + $GROUP_shifts=' '; + $group_shifts_ct = count($group_shifts); + while ($p <= $group_shifts_ct) + { + $GROUP_shifts .= "$group_shifts[$p] "; + $p++; + } + $stmt="UPDATE vicidial_user_groups set user_group='$user_group', group_name='$group_name',allowed_campaigns='$campaigns_value',qc_allowed_campaigns='$qc_campaigns_value',qc_allowed_inbound_groups='$qc_groups_value',group_shifts='$GROUP_shifts',forced_timeclock_login='$forced_timeclock_login',shift_enforcement='$shift_enforcement' where user_group='$OLDuser_group';"; + $rslt=mysql_query($stmt, $link); + + echo "
    USER GROUP MODIFIED\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERGROUPS', event_type='MODIFY', record_id='$user_group', event_code='ADMIN MODIFY USER GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + ############################################################### + ##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + $stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $ss_conf_ct = mysql_num_rows($rslt); + if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; + } + ##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### + ############################################################# + + if ($enable_vtiger_integration > 0) + { + ### connect to your vtiger database + $linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); + if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} + echo 'Connected successfully'; + mysql_select_db("$vtiger_dbname", $linkV); + + ###################################### + ##### BEGIN Add/Update group info in Vtiger + $stmt="SELECT count(*) from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $group_found_count = $row[0]; + + ### group exists in vtiger, update it + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$user_group';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + + $stmtA = "UPDATE vtiger_groups SET description='$group_name' where groupid='$groupid';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + # Get next available id from vtiger_groups_seq to use as groupid + $stmt="SELECT id from vtiger_groups_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_groups_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$user_group',description='$group_name';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #### END CREATE NEW GROUP RECORD IN VTIGER + } + ##### END Add/Update group info in Vtiger + ###################################### + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=311111; # go to user group modification form below +} + +###################### +# ADD=4111111 modify script in the system +###################### + +if ($ADD==4111111) +{ + if ($LOGmodify_scripts==1) + { + echo "\n"; + echo "\n"; + echo ""; + + if ( (strlen($script_id) < 2) or (strlen($script_name) < 2) or (strlen($script_text) < 2) ) + { + echo "
    SCRIPT NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    Script name, description and text must be at least 2 characters in length\n"; + } + else + { + $stmt="UPDATE vicidial_scripts set script_name='$script_name', script_comments='$script_comments', script_text='$script_text', active='$active' where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
    SCRIPT MODIFIED\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SCRIPTS', event_type='MODIFY', record_id='$script_id', event_code='ADMIN MODIFY SCRIPT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=3111111; # go to script modification form below +} + + +###################### +# ADD=41111111 modify filter in the system +###################### + +if ($ADD==41111111) +{ + if ($LOGmodify_filters==1) + { + echo ""; + + if ( (strlen($lead_filter_id) < 2) or (strlen($lead_filter_name) < 2) or (strlen($lead_filter_sql) < 2) ) + { + echo "
    FILTER NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    Filter ID, name and SQL must be at least 2 characters in length\n"; + } + else + { + $stmt="UPDATE vicidial_lead_filters set lead_filter_name='$lead_filter_name', lead_filter_comments='$lead_filter_comments', lead_filter_sql='$lead_filter_sql' where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
    FILTER MODIFIED\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTERS', event_type='MODIFY', record_id='$lead_filter_id', event_code='ADMIN MODIFY FILTER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=31111111; # go to filter modification form below +} + + +###################### +# ADD=411111111 modify call time in the system +###################### + +if ($ADD==411111111) +{ + if ($LOGmodify_call_times==1) + { + echo ""; + + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) ) + { + echo "
    CALL TIME NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    Call Time ID and name must be at least 2 characters in length\n"; + } + else + { + $ct_default_start = preg_replace('/\D/', '', $ct_default_start); + $ct_default_stop = preg_replace('/\D/', '', $ct_default_stop); + $ct_sunday_start = preg_replace('/\D/', '', $ct_sunday_start); + $ct_sunday_stop = preg_replace('/\D/', '', $ct_sunday_stop); + $ct_monday_start = preg_replace('/\D/', '', $ct_monday_start); + $ct_monday_stop = preg_replace('/\D/', '', $ct_monday_stop); + $ct_tuesday_start = preg_replace('/\D/', '', $ct_tuesday_start); + $ct_tuesday_stop = preg_replace('/\D/', '', $ct_tuesday_stop); + $ct_wednesday_start = preg_replace('/\D/', '', $ct_wednesday_start); + $ct_wednesday_stop = preg_replace('/\D/', '', $ct_wednesday_stop); + $ct_thursday_start = preg_replace('/\D/', '', $ct_thursday_start); + $ct_thursday_stop = preg_replace('/\D/', '', $ct_thursday_stop); + $ct_friday_start = preg_replace('/\D/', '', $ct_friday_start); + $ct_friday_stop = preg_replace('/\D/', '', $ct_friday_stop); + $ct_saturday_start = preg_replace('/\D/', '', $ct_saturday_start); + $ct_saturday_stop = preg_replace('/\D/', '', $ct_saturday_stop); + $stmt="UPDATE vicidial_call_times set call_time_name='$call_time_name', call_time_comments='$call_time_comments', ct_default_start='$ct_default_start', ct_default_stop='$ct_default_stop', ct_sunday_start='$ct_sunday_start', ct_sunday_stop='$ct_sunday_stop', ct_monday_start='$ct_monday_start', ct_monday_stop='$ct_monday_stop', ct_tuesday_start='$ct_tuesday_start', ct_tuesday_stop='$ct_tuesday_stop', ct_wednesday_start='$ct_wednesday_start', ct_wednesday_stop='$ct_wednesday_stop', ct_thursday_start='$ct_thursday_start', ct_thursday_stop='$ct_thursday_stop', ct_friday_start='$ct_friday_start', ct_friday_stop='$ct_friday_stop', ct_saturday_start='$ct_saturday_start', ct_saturday_stop='$ct_saturday_stop' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
    CALL TIME MODIFIED\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=311111111; # go to call time modification form below +} + + +###################### +# ADD=4111111111 modify state call time in the system +###################### + +if ($ADD==4111111111) +{ + if ($LOGmodify_call_times==1) + { + echo ""; + + if ( (strlen($call_time_id) < 2) or (strlen($call_time_name) < 2) or (strlen($state_call_time_state) < 2) ) + { + echo "
    STATE CALL TIME NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    State Call Time ID, name and state must be at least 2 characters in length\n"; + } + else + { + $ct_default_start = preg_replace('/\D/', '', $ct_default_start); + $ct_default_stop = preg_replace('/\D/', '', $ct_default_stop); + $ct_sunday_start = preg_replace('/\D/', '', $ct_sunday_start); + $ct_sunday_stop = preg_replace('/\D/', '', $ct_sunday_stop); + $ct_monday_start = preg_replace('/\D/', '', $ct_monday_start); + $ct_monday_stop = preg_replace('/\D/', '', $ct_monday_stop); + $ct_tuesday_start = preg_replace('/\D/', '', $ct_tuesday_start); + $ct_tuesday_stop = preg_replace('/\D/', '', $ct_tuesday_stop); + $ct_wednesday_start = preg_replace('/\D/', '', $ct_wednesday_start); + $ct_wednesday_stop = preg_replace('/\D/', '', $ct_wednesday_stop); + $ct_thursday_start = preg_replace('/\D/', '', $ct_thursday_start); + $ct_thursday_stop = preg_replace('/\D/', '', $ct_thursday_stop); + $ct_friday_start = preg_replace('/\D/', '', $ct_friday_start); + $ct_friday_stop = preg_replace('/\D/', '', $ct_friday_stop); + $ct_saturday_start = preg_replace('/\D/', '', $ct_saturday_start); + $ct_saturday_stop = preg_replace('/\D/', '', $ct_saturday_stop); + $stmt="UPDATE vicidial_state_call_times set state_call_time_name='$call_time_name', state_call_time_comments='$call_time_comments', sct_default_start='$ct_default_start', sct_default_stop='$ct_default_stop', sct_sunday_start='$ct_sunday_start', sct_sunday_stop='$ct_sunday_stop', sct_monday_start='$ct_monday_start', sct_monday_stop='$ct_monday_stop', sct_tuesday_start='$ct_tuesday_start', sct_tuesday_stop='$ct_tuesday_stop', sct_wednesday_start='$ct_wednesday_start', sct_wednesday_stop='$ct_wednesday_stop', sct_thursday_start='$ct_thursday_start', sct_thursday_stop='$ct_thursday_stop', sct_friday_start='$ct_friday_start', sct_friday_stop='$ct_friday_stop', sct_saturday_start='$ct_saturday_start', sct_saturday_stop='$ct_saturday_stop', state_call_time_state='$state_call_time_state' where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
    STATE CALL TIME MODIFIED\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='MODIFY', record_id='$call_time_id', event_code='ADMIN MODIFY STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=3111111111; # go to state call time modification form below +} + + +###################### +# ADD=431111111 modify shift in the system +###################### + +if ($ADD==431111111) +{ + if ($LOGmodify_call_times==1) + { + echo ""; + + $shift_length_test = eregi_replace(':','',$shift_length); + if ( (strlen($shift_id) < 2) or (strlen($shift_name) < 2) or (strlen($shift_start_time) < 4) or (strlen($shift_start_time) > 4) or (strlen($shift_length) < 5) or (strlen($shift_length) > 5) or ($shift_start_time > 2359) or ($shift_length_test > 2400) ) + { + echo "
    SHIFT DEFINITION NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    Shift ID and name must be at least 2 characters in length\n"; + echo "
    Shift Start Time must be 4 digits in length and be a valid time\n"; + echo "
    Shift Length must be 5 characters in length and be 24 hours or less\n"; + } + else + { + $p=0; + $shift_weekdays_ct = count($shift_weekdays); + while ($p <= $shift_weekdays_ct) + { + $SHIFT_weekdays .= "$shift_weekdays[$p]"; + $p++; + } + $shift_start_time = preg_replace('/\D/', '', $shift_start_time); + $stmt="UPDATE vicidial_shifts set shift_name='$shift_name', shift_start_time='$shift_start_time', shift_length='$shift_length', shift_weekdays='$SHIFT_weekdays' where shift_id='$shift_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
    SHIFT MODIFIED\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SHIFTS', event_type='MODIFY', record_id='$shift_id', event_code='ADMIN MODIFY SHIFT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=331111111; # go to shift modification form below +} + + +###################### +# ADD=41111111111 modify phone record in the system +###################### + +if ($ADD==41111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from phones where extension='$extension' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ( ($extension != $old_extension) or ($server_ip != $old_server_ip) ) ) + {echo "
    PHONE NOT MODIFIED - there is already a Phone in the system with this extension/server\n";} + else + { + if ( (strlen($extension) < 1) or (strlen($server_ip) < 7) or (strlen($dialplan_number) < 1) or (strlen($voicemail_id) < 1) or (strlen($login) < 1) or (strlen($pass) < 1)) + {echo "
    PHONE NOT MODIFIED - Please go back and look at the data you entered\n";} + else + { + echo "
    PHONE MODIFIED: $extension\n"; + + $stmt="UPDATE phones set extension='$extension', dialplan_number='$dialplan_number', voicemail_id='$voicemail_id', phone_ip='$phone_ip', computer_ip='$computer_ip', server_ip='$server_ip', login='$login', pass='$pass', status='$status', active='$active', phone_type='$phone_type', fullname='$fullname', company='$company', picture='$picture', protocol='$protocol', local_gmt='$local_gmt', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', login_user='$login_user', login_pass='$login_pass', login_campaign='$login_campaign', park_on_extension='$park_on_extension', conf_on_extension='$conf_on_extension', VICIDIAL_park_on_extension='$VICIDIAL_park_on_extension', VICIDIAL_park_on_filename='$VICIDIAL_park_on_filename', monitor_prefix='$monitor_prefix', recording_exten='$recording_exten', voicemail_exten='$voicemail_exten', voicemail_dump_exten='$voicemail_dump_exten', ext_context='$ext_context', dtmf_send_extension='$dtmf_send_extension', call_out_number_group='$call_out_number_group', client_browser='$client_browser', install_directory='$install_directory', local_web_callerID_URL='" . mysql_real_escape_string($local_web_callerID_URL) . "', VICIDIAL_web_URL='" . mysql_real_escape_string($VICIDIAL_web_URL) . "', AGI_call_logging_enabled='$AGI_call_logging_enabled', user_switching_enabled='$user_switching_enabled', conferencing_enabled='$conferencing_enabled', admin_hangup_enabled='$admin_hangup_enabled', admin_hijack_enabled='$admin_hijack_enabled', admin_monitor_enabled='$admin_monitor_enabled', call_parking_enabled='$call_parking_enabled', updater_check_enabled='$updater_check_enabled', AFLogging_enabled='$AFLogging_enabled', QUEUE_ACTION_enabled='$QUEUE_ACTION_enabled', CallerID_popup_enabled='$CallerID_popup_enabled', voicemail_button_enabled='$voicemail_button_enabled', enable_fast_refresh='$enable_fast_refresh', fast_refresh_rate='$fast_refresh_rate', enable_persistant_mysql='$enable_persistant_mysql', auto_dial_next_number='$auto_dial_next_number', VDstop_rec_after_each_call='$VDstop_rec_after_each_call', DBX_server='$DBX_server', DBX_database='$DBX_database', DBX_user='$DBX_user', DBX_pass='$DBX_pass', DBX_port='$DBX_port', DBY_server='$DBY_server', DBY_database='$DBY_database', DBY_user='$DBY_user', DBY_pass='$DBY_pass', DBY_port='$DBY_port', outbound_cid='$outbound_cid', enable_sipsak_messages='$enable_sipsak_messages', email='$email', template_id='$template_id', conf_override='$conf_override' where extension='$old_extension' and server_ip='$old_server_ip';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONES', event_type='MODIFY', record_id='$extension', event_code='ADMIN MODIFY PHONE', event_sql=\"$SQL_log\", event_notes='Server IP: $server_ip';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=31111111111; # go to phone modification form below +} + + +###################### +# ADD=42111111111 modify phone alias record in the system +###################### + +if ($ADD==42111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from phones_alias where alias_id='$alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( (strlen($alias_id) < 1) or (strlen($alias_name) < 2) ) + {echo "
    PHONE ALIAS NOT MODIFIED - Please go back and look at the data you entered\n";} + else + { + echo "
    PHONE ALIAS MODIFIED: $alias_id\n"; + + $stmt="UPDATE phones_alias set alias_name='$alias_name', logins_list='$logins_list' where alias_id='$alias_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONEALIASES', event_type='MODIFY', record_id='$alias_id', event_code='ADMIN MODIFY PHONE ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=32111111111; # go to phone alias modification form below +} + + +###################### +# ADD=43111111111 modify group alias record in the system +###################### + +if ($ADD==43111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from groups_alias where group_alias_id='$group_alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( (strlen($group_alias_id) < 1) or (strlen($group_alias_name) < 2) ) + {echo "
    GROUP ALIAS NOT MODIFIED - Please go back and look at the data you entered\n";} + else + { + echo "
    GROUP ALIAS MODIFIED: $alias_id\n"; + + $stmt="UPDATE groups_alias set group_alias_name='$group_alias_name', caller_id_number='$caller_id_number', caller_id_name='$caller_id_name', active='$active' where group_alias_id='$group_alias_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='GROUPALIASES', event_type='MODIFY', record_id='$group_alias_id', event_code='ADMIN MODIFY GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=33111111111; # go to group alias modification form below +} + + +###################### +# ADD=411111111111 modify server record in the system +###################### + +if ($ADD==411111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + $stmt="SELECT count(*) from servers where server_id='$server_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ($server_id != $old_server_id) ) + {echo "
    SERVER NOT MODIFIED - there is already a server in the system with this server_id\n";} + else + { + $stmt="SELECT count(*) from servers where server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ($server_ip != $old_server_ip) ) + {echo "
    SERVER NOT MODIFIED - there is already a server in the system with this server_ip\n";} + else + { + if ( (strlen($server_id) < 1) or (strlen($server_ip) < 7) ) + {echo "
    SERVER NOT MODIFIED - Please go back and look at the data you entered\n";} + else + { + echo "
    SERVER MODIFIED: $server_ip\n"; + + $stmt="UPDATE servers set server_id='$server_id',server_description='$server_description',server_ip='$server_ip',active='$active',asterisk_version='$asterisk_version', max_vicidial_trunks='$max_vicidial_trunks', telnet_host='$telnet_host', telnet_port='$telnet_port', ASTmgrUSERNAME='$ASTmgrUSERNAME', ASTmgrSECRET='$ASTmgrSECRET', ASTmgrUSERNAMEupdate='$ASTmgrUSERNAMEupdate', ASTmgrUSERNAMElisten='$ASTmgrUSERNAMElisten', ASTmgrUSERNAMEsend='$ASTmgrUSERNAMEsend', local_gmt='$local_gmt', voicemail_dump_exten='$voicemail_dump_exten', answer_transfer_agent='$answer_transfer_agent', ext_context='$ext_context', sys_perf_log='$sys_perf_log', vd_server_logs='$vd_server_logs', agi_output='$agi_output', vicidial_balance_active='$vicidial_balance_active',balance_trunks_offlimits='$balance_trunks_offlimits',recording_web_link='$recording_web_link',alt_server_ip='$alt_server_ip',active_asterisk_server='$active_asterisk_server',generate_vicidial_conf='$generate_vicidial_conf',rebuild_conf_files='$rebuild_conf_files',outbound_calls_per_second='$outbound_calls_per_second' where server_id='$old_server_id';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y';"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS', event_type='MODIFY', record_id='$server_id', event_code='ADMIN MODIFY SERVER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=311111111111; # go to server modification form below +} + + +###################### +# ADD=421111111111 modify vicidial server trunks record in the system +###################### + +if ($ADD==421111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + $stmt="SELECT max_vicidial_trunks from servers where server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $MAXvicidial_trunks = $rowx[0]; + + $stmt="SELECT sum(dedicated_trunks) from vicidial_server_trunks where server_ip='$server_ip' and campaign_id !='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $SUMvicidial_trunks = ($rowx[0] + $dedicated_trunks); + + if ($SUMvicidial_trunks > $MAXvicidial_trunks) + { + echo "
    VICIDIAL SERVER TRUNK RECORD NOT ADDED - the number of vicidial trunks is too high: $SUMvicidial_trunks / $MAXvicidial_trunks\n"; + } + else + { + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) or (strlen($dedicated_trunks) < 1) or (strlen($trunk_restriction) < 1) ) + { + echo "
    VICIDIAL SERVER TRUNK RECORD NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    campaign must be between 3 and 8 characters in length\n"; + echo "
    server_ip delay must be at least 7 characters\n"; + echo "
    trunks must be a digit from 0 to 9999\n"; + } + else + { + echo "
    VICIDIAL SERVER TRUNK RECORD MODIFIED: $campaign_id - $server_ip - $dedicated_trunks - $trunk_restriction\n"; + + $stmt="UPDATE vicidial_server_trunks SET dedicated_trunks='$dedicated_trunks',trunk_restriction='$trunk_restriction' where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERTRUNKS', event_type='MODIFY', record_id='$server_ip', event_code='ADMIN MODIFY SERVER TRUNK', event_sql=\"$SQL_log\", event_notes='Campaign: $campaign_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=311111111111; # go to server modification form below +} + + +###################### +# ADD=431111111111 modify conf template record in the system +###################### '$template_id','$template_name','$template_contents' + +if ($ADD==431111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + if ( (strlen($template_id) < 1) or (strlen($template_name) < 1) ) + {echo "
    CONF TEMPLATE NOT MODIFIED - Please go back and look at the data you entered\n";} + else + { + echo "
    CONF TEMPLATE MODIFIED: $template_id\n"; + + $stmt="UPDATE vicidial_conf_templates set template_name='$template_name',template_contents='$template_contents' where template_id='$template_id';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y';"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONFTEMPLATES', event_type='MODIFY', record_id='$template_id', event_code='ADMIN MODIFY CONF TEMPLATE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=331111111111; # go to conf template modification form below +} + + +###################### +# ADD=441111111111 modify carrier record in the system +###################### + +if ($ADD==441111111111) +{ + if ($LOGmodify_servers==1) + { + echo ""; + + if ( (strlen($carrier_id) < 1) or (strlen($server_ip) < 7) or (strlen($protocol) < 1) ) + {echo "
    CARRIER NOT MODIFIED - Please go back and look at the data you entered\n";} + else + { + echo "
    CARRIER MODIFIED: $carrier_id\n"; + + $stmt="UPDATE vicidial_server_carriers set carrier_name='$carrier_name',registration_string='$registration_string',template_id='$template_id',account_entry='$account_entry',protocol='$protocol',globals_string='$globals_string',dialplan_entry='$dialplan_entry',server_ip='$server_ip',active='$active' where carrier_id='$carrier_id';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$server_ip';"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='MODIFY', record_id='$carrier_id', event_code='ADMIN MODIFY CARRIER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=341111111111; # go to carrier modification form below +} + + +###################### +# ADD=4111111111111 modify conference record in the system +###################### + +if ($ADD==4111111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ( ($conf_exten != $old_conf_exten) or ($server_ip != $old_server_ip) ) ) + {echo "
    CONFERENCE NOT MODIFIED - there is already a Conference in the system with this extension-server\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
    CONFERENCE NOT MODIFIED - Please go back and look at the data you entered\n";} + else + { + echo "
    CONFERENCE MODIFIED: $conf_exten\n"; + + $stmt="UPDATE conferences set conf_exten='$conf_exten',server_ip='$server_ip',extension='$extension' where conf_exten='$old_conf_exten';"; + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=3111111111111; # go to conference modification form below +} + + +###################### +# ADD=41111111111111 modify vicidial conference record in the system +###################### + +if ($ADD==41111111111111) +{ + if ($LOGast_admin_access==1) + { + echo ""; + + $stmt="SELECT count(*) from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 0) && ( ($conf_exten != $old_conf_exten) or ($server_ip != $old_server_ip) ) ) + {echo "
    VICIDIAL CONFERENCE NOT MODIFIED - there is already a Conference in the system with this extension-server\n";} + else + { + if ( (strlen($conf_exten) < 1) or (strlen($server_ip) < 7) ) + {echo "
    VICIDIAL CONFERENCE NOT MODIFIED - Please go back and look at the data you entered\n";} + else + { + echo "
    VICIDIAL CONFERENCE MODIFIED: $conf_exten\n"; + + $stmt="UPDATE vicidial_conferences set conf_exten='$conf_exten',server_ip='$server_ip',extension='$extension' where conf_exten='$old_conf_exten';"; + $rslt=mysql_query($stmt, $link); + + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=31111111111111; # go to vicidial conference modification form below +} + + + +###################### +# ADD=411111111111111 modify vicidial system settings +###################### + +if ($ADD==411111111111111) + { + if ($LOGmodify_servers==1) + { + echo ""; + + echo "
    VICIDIAL SYSTEM SETTINGS MODIFIED\n"; + + $stmt="UPDATE system_settings set use_non_latin='$use_non_latin',webroot_writable='$webroot_writable',enable_queuemetrics_logging='$enable_queuemetrics_logging',queuemetrics_server_ip='$queuemetrics_server_ip',queuemetrics_dbname='$queuemetrics_dbname',queuemetrics_login='$queuemetrics_login',queuemetrics_pass='$queuemetrics_pass',queuemetrics_url='$queuemetrics_url',queuemetrics_log_id='$queuemetrics_log_id',queuemetrics_eq_prepend='$queuemetrics_eq_prepend',vicidial_agent_disable='$vicidial_agent_disable',allow_sipsak_messages='$allow_sipsak_messages',admin_home_url='$admin_home_url',enable_agc_xfer_log='$enable_agc_xfer_log',timeclock_end_of_day='$timeclock_end_of_day',vdc_header_date_format='$vdc_header_date_format',vdc_customer_date_format='$vdc_customer_date_format',vdc_header_phone_format='$vdc_header_phone_format',vdc_agent_api_active='$vdc_agent_api_active',enable_vtiger_integration='$enable_vtiger_integration',vtiger_server_ip='$vtiger_server_ip',vtiger_dbname='$vtiger_dbname',vtiger_login='$vtiger_login',vtiger_pass='$vtiger_pass',vtiger_url='$vtiger_url',qc_features_active='$qc_features_active',outbound_autodial_active='$outbound_autodial_active',outbound_calls_per_second='$outbound_calls_per_second';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SYSTEMSETTINGS', event_type='MODIFY', record_id='system_settings', event_code='ADMIN MODIFY SYSTEM SETTINGS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + $ADD=311111111111111; # go to vicidial system settings form below + } + + +###################### +# ADD=421111111111111 modify/delete system status in the system +###################### + +if ($ADD==421111111111111) + { + if ($LOGmodify_servers==1) + { + echo ""; + + if (ereg('delete',$stage)) + { + if ( (strlen($status) < 1) or (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$status)) ) + { + echo "
    SYSTEM STATUS NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    the system status cannot be a reserved status: B,NA,DNC,NA,DROP,INCALL,QUEUE,NEW\n"; + echo "
    the system status needs to be at least 1 characters in length\n"; + } + else + { + echo "
    SYSTEM STATUS DELETED: $status\n"; + + $stmt="DELETE FROM vicidial_statuses where status='$status';"; + $rslt=mysql_query($stmt, $link); + + $stmtA="DELETE FROM vicidial_campaign_hotkeys where status='$status';"; + $rslt=mysql_query($stmtA, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SYSTEMSTATUSES', event_type='DELETE', record_id='$status', event_code='ADMIN DELETE SYSTEM STATUS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + if (ereg('modify',$stage)) + { + if ( (strlen($status) < 1) or (strlen($status_name) < 2) ) + { + echo "
    SYSTEM STATUS NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    the system status needs to be at least 1 characters in length\n"; + echo "
    the system status name needs to be at least 1 characters in length\n"; + } + else + { + echo "
    SYSTEM STATUS MODIFIED: $status\n"; + + $stmt="UPDATE vicidial_statuses SET status_name='$status_name',selectable='$selectable',human_answered='$human_answered',category='$category' where status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SYSTEMSTATUSES', event_type='MODIFY', record_id='$status', event_code='ADMIN MODIFY SYSTEM STATUS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + $ADD=321111111111111; # go to system settings modification form below + } + + +###################### +# ADD=431111111111111 modify/delete status category in the system +###################### + +if ($ADD==431111111111111) + { + if ($LOGmodify_servers==1) + { + echo ""; + + if ( (strlen($vsc_id) < 2) or (preg_match("/^UNDEFINED$/i",$vsc_id)) ) + { + echo "
    STATUS CATEGORY NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    the status category cannot be a reserved category: UNDEFINED\n"; + echo "
    the status category needs to be at least 2 characters in length\n"; + } + else + { + if (ereg('delete',$stage)) + { + echo "
    STATUS CATEGORY DELETED: $vsc_id\n"; + + $stmt="DELETE FROM vicidial_status_categories where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSCATEGORIES', event_type='DELETE', record_id='$vsc_id', event_code='ADMIN DELETE STATUS CATEGORY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + if (ereg('modify',$stage)) + { + echo "
    STATUS CATEGORY MODIFIED: $vsc_id\n"; + + $stmt="SELECT count(*) from vicidial_status_categories where tovdad_display='Y' and vsc_id NOT IN('$vsc_id');"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ( ($row[0] > 3) and (ereg('Y',$tovdad_display)) ) + { + $tovdad_display = 'N'; + echo "
    ERROR: There are already 4 Status Categories set to TimeOnVDAD Display\n"; + } + + $stmt="UPDATE vicidial_status_categories SET vsc_name='$vsc_name',vsc_description='$vsc_description',tovdad_display='$tovdad_display',sale_category='$sale_category',dead_lead_category='$dead_lead_category' where vsc_id='$vsc_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='STATUSCATEGORIES', event_type='MODIFY', record_id='$vsc_id', event_code='ADMIN MODIFY STATUS CATEGORY', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + $ADD=331111111111111; # go to system settings modification form below + } + + +###################### +# ADD=441111111111111 modify/delete qc status code in the system +###################### + +if ($ADD==441111111111111) +{ + if ( ($LOGmodify_servers==1) and ($SSqc_features_active > 0) ) + { + echo ""; + + if (ereg('delete',$stage)) + { + if ( (strlen($code) < 1) or (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$code)) ) + { + echo "
    QC STATUS CODE NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    the qc status code cannot be a reserved status: B,NA,DNC,NA,DROP,INCALL,QUEUE,NEW\n"; + echo "
    the qc status code needs to be at least 1 characters in length\n"; + } + else + { + echo "
    QC STATUS CODE DELETED: $code\n"; + + $stmt="DELETE FROM vicidial_qc_codes where code='$code';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='QCCODES', event_type='DELETE', record_id='$vsc_id', event_code='ADMIN DELETE QC CODES', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + if (ereg('modify',$stage)) + { + if ( (strlen($code) < 1) or (strlen($code_name) < 2) ) + { + echo "
    QC STATUS CODE NOT MODIFIED - Please go back and look at the data you entered\n"; + echo "
    the qc status code needs to be at least 1 characters in length\n"; + echo "
    the qc status code name needs to be at least 1 characters in length\n"; + } + else + { + echo "
    QC STATUS CODE MODIFIED: $code\n"; + + $stmt="UPDATE vicidial_qc_codes SET code_name='$code_name' where code='$code';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='QCCODES', event_type='MODIFY', record_id='$vsc_id', event_code='ADMIN MODIFY QC CODES', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +$ADD=341111111111111; # go to qc status code modification form below +} + + + + +###################################################################################################### +###################################################################################################### +####### 5 series, delete records confirmation +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=5 confirmation before deletion of user +###################### + +if ($ADD==5) +{ + echo ""; + + if ( (strlen($user) < 2) or ($LOGdelete_users < 1) ) + { + echo "
    USER NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    User be at least 2 characters in length\n"; + } + else + { + echo "
    USER DELETION CONFIRMATION: $user\n"; + echo "

    Click here to delete user $user


    \n"; + } + +$ADD='3'; # go to user modification below +} + +###################### +# ADD=51 confirmation before deletion of campaign +###################### + +if ($ADD==51) +{ + echo ""; + + if ( (strlen($campaign_id) < 2) or ($LOGdelete_campaigns < 1) ) + { + echo "
    CAMPAIGN NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Campaign_id be at least 2 characters in length\n"; + } + else + { + echo "
    CAMPAIGN DELETION CONFIRMATION: $campaign_id\n"; + echo "

    Click here to delete campaign $campaign_id


    \n"; + } + +$ADD='31'; # go to campaign modification below +} + +###################### +# ADD=52 confirmation before logging all agents out of campaign of campaign +###################### + +if ($ADD==52) +{ + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
    AGENTS NOT LOGGED OUT OF CAMPAIGN - Please go back and look at the data you entered\n"; + echo "
    Campaign_id be at least 2 characters in length\n"; + } + else + { + echo "
    AGENT LOGOUT CONFIRMATION: $campaign_id\n"; + echo "

    Click here to log all agents out of $campaign_id


    \n"; + } + +$ADD='31'; # go to campaign modification below +} + +###################### +# ADD=53 confirmation before Emergency VDAC Jam Clear - deletes oldest LIVE vicidial_auto_call record +###################### + +if ($ADD==53) +{ + if (eregi('IN',$stage)) + {$group_id=$campaign_id;} + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
    VDAC NOT CLEARED FOR CAMPAIGN - Please go back and look at the data you entered\n"; + echo "
    Campaign_id be at least 2 characters in length\n"; + } + else + { + echo "
    VDAC CLEAR CONFIRMATION: $campaign_id\n"; + echo "

    Click here to delete the oldest LIVE record in VDAC for $campaign_id


    \n"; + } + +# go to campaign modification below +if (eregi('IN',$stage)) + {$ADD='3111';} +else + {$ADD='31';} +} + +###################### +# ADD=511 confirmation before deletion of list +###################### + +if ($ADD==511) +{ + echo ""; + + if ( (strlen($list_id) < 2) or ($LOGdelete_lists < 1) ) + { + echo "
    LIST NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    List_id be at least 2 characters in length\n"; + } + else + { + echo "
    LIST DELETION CONFIRMATION: $list_id\n"; + echo "

    Click here to delete list and all of its leads $list_id


    \n"; + } + +$ADD='311'; # go to campaign modification below +} + +###################### +# ADD=5111 confirmation before deletion of in-group +###################### + +if ($ADD==5111) +{ + echo ""; + + if ( (strlen($group_id) < 2) or ($LOGdelete_ingroups < 1) ) + { + echo "
    IN-GROUP NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Group_id be at least 2 characters in length\n"; + } + else + { + echo "
    IN-GROUP DELETION CONFIRMATION: $group_id\n"; + echo "

    Click here to delete in-group $group_id


    \n"; + } + +$ADD='3111'; # go to in-group modification below +} + +###################### +# ADD=5311 confirmation before deletion of did +###################### + +if ($ADD==5311) +{ + echo ""; + + if ( (strlen($did_id) < 1) or ($LOGdelete_dids < 1) ) + { + echo "
    DID NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    did_id be at least 1 characters in length\n"; + } + else + { + echo "
    DID DELETION CONFIRMATION: $group_id\n"; + echo "

    Click here to delete DID $did_id


    \n"; + } + +$ADD='3311'; # go to did modification below +} + +###################### +# ADD=51111 confirmation before deletion of remote agent record +###################### + +if ($ADD==51111) +{ + echo ""; + + if ( (strlen($remote_agent_id) < 1) or ($LOGdelete_remote_agents < 1) ) + { + echo "
    REMOTE AGENT NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Remote_agent_id be at least 2 characters in length\n"; + } + else + { + echo "
    REMOTE AGENT DELETION CONFIRMATION: $remote_agent_id\n"; + echo "

    Click here to delete remote agent $remote_agent_id


    \n"; + } + +$ADD='31111'; # go to remote agent modification below +} + +###################### +# ADD=511111 confirmation before deletion of user group record +###################### + +if ($ADD==511111) +{ + echo ""; + + if ( (strlen($user_group) < 2) or ($LOGdelete_user_groups < 1) ) + { + echo "
    USER GROUP NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    User_group be at least 2 characters in length\n"; + } + else + { + echo "
    USER GROUP DELETION CONFIRMATION: $user_group\n"; + echo "

    Click here to delete user group $user_group


    \n"; + } + +$ADD='311111'; # go to user group modification below +} + +###################### +# ADD=5111111 confirmation before deletion of script record +###################### + +if ($ADD==5111111) +{ + echo ""; + + if ( (strlen($script_id) < 2) or ($LOGdelete_scripts < 1) ) + { + echo "
    SCRIPT NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Script_id must be at least 2 characters in length\n"; + } + else + { + echo "
    SCRIPT DELETION CONFIRMATION: $script_id\n"; + echo "

    Click here to delete script $script_id


    \n"; + } + +$ADD='3111111'; # go to script modification below +} + +###################### +# ADD=51111111 confirmation before deletion of filter record +###################### + +if ($ADD==51111111) +{ + echo ""; + + if ( (strlen($lead_filter_id) < 2) or ($LOGdelete_filters < 1) ) + { + echo "
    FILTER NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Filter ID must be at least 2 characters in length\n"; + } + else + { + echo "
    FILTER DELETION CONFIRMATION: $lead_filter_id\n"; + echo "

    Click here to delete filter $lead_filter_id


    \n"; + } + +$ADD='31111111'; # go to filter modification below +} + +###################### +# ADD=511111111 confirmation before deletion of call time record +###################### + +if ($ADD==511111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
    CALL TIME NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Call Time ID must be at least 2 characters in length\n"; + } + else + { + echo "
    CALL TIME DELETION CONFIRMATION: $call_time_id\n"; + echo "

    Click here to delete call time $call_time_id


    \n"; + } + +$ADD='311111111'; # go to call time modification below +} + +###################### +# ADD=5111111111 confirmation before deletion of state call time record +###################### + +if ($ADD==5111111111) +{ + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
    STATE CALL TIME NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Call Time ID must be at least 2 characters in length\n"; + } + else + { + echo "
    STATE CALL TIME DELETION CONFIRMATION: $call_time_id\n"; + echo "

    Click here to delete state call time $call_time_id


    \n"; + } + +$ADD='3111111111'; # go to state call time modification below +} + +###################### +# ADD=531111111 confirmation before deletion of shift record +###################### + +if ($ADD==531111111) +{ + echo ""; + + if ( (strlen($shift_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
    SHIFT NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Shift ID must be at least 2 characters in length\n"; + } + else + { + echo "
    SHIFT DELETION CONFIRMATION: $shift_id\n"; + echo "

    Click here to delete shift $shift_id


    \n"; + } + +$ADD='331111111'; # go to call time modification below +} + +###################### +# ADD=51111111111 confirmation before deletion of phone record +###################### + +if ($ADD==51111111111) +{ + echo ""; + + if ( (strlen($extension) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
    PHONE NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Extension be at least 2 characters in length\n"; + echo "
    Server IP be at least 7 characters in length\n"; + } + else + { + echo "
    PHONE DELETION CONFIRMATION: $extension - $server_ip\n"; + echo "

    Click here to delete phone $extension - $server_ip


    \n"; + } +$ADD='31111111111'; # go to phone modification below +} + + +###################### +# ADD=52111111111 confirmation before deletion of phone alias record +###################### + +if ($ADD==52111111111) +{ + echo ""; + + if ( (strlen($alias_id) < 1) or ($LOGast_delete_phones < 1) ) + { + echo "
    PHONE ALIAS NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Alias ID must be at least 2 characters in length\n"; + } + else + { + echo "
    PHONE ALIAS DELETION CONFIRMATION: $alias_id\n"; + echo "

    Click here to delete phone alias $alias_id


    \n"; + } +$ADD='32111111111'; # go to phone alias modification below +} + + +###################### +# ADD=53111111111 confirmation before deletion of group alias record +###################### + +if ($ADD==53111111111) +{ + echo ""; + + if ( (strlen($group_alias_id) < 1) or ($LOGast_delete_phones < 1) ) + { + echo "
    GROUP ALIAS NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Group Alias ID must be at least 2 characters in length\n"; + } + else + { + echo "
    GROUP ALIAS DELETION CONFIRMATION: $group_alias_id\n"; + echo "

    Click here to delete group alias $group_alias_id


    \n"; + } +$ADD='33111111111'; # go to group alias modification below +} + + +###################### +# ADD=511111111111 confirmation before deletion of server record +###################### + +if ($ADD==511111111111) +{ + echo ""; + + if ( (strlen($server_id) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
    SERVER NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Server ID be at least 2 characters in length\n"; + echo "
    Server IP be at least 7 characters in length\n"; + } + else + { + echo "
    SERVER DELETION CONFIRMATION: $server_id - $server_ip\n"; + echo "

    Click here to delete phone $server_id - $server_ip


    \n"; + } +$ADD='311111111111'; # go to server modification below +} + + +###################### +# ADD=531111111111 confirmation before deletion of conf template record +###################### + +if ($ADD==531111111111) +{ + echo ""; + + if (strlen($template_id) < 2) + { + echo "
    CONF TEMPLATE NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Template ID be at least 2 characters in length\n"; + } + else + { + echo "
    CONF TEMPLATE DELETION CONFIRMATION: $template_id - $template_name\n"; + echo "

    Click here to delete conf template $template_id - $template_name


    \n"; + } +$ADD='331111111111'; # go to conf template modification below +} + + +###################### +# ADD=541111111111 confirmation before deletion of carrier record +###################### + +if ($ADD==541111111111) +{ + echo ""; + + if (strlen($carrier_id) < 2) + { + echo "
    CARRIER NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Carrier ID be at least 2 characters in length\n"; + } + else + { + echo "
    CARRIER DELETION CONFIRMATION: $carrier_id - $carrier_name\n"; + echo "

    Click here to delete carrier $carrier_id - $carrier_name


    \n"; + } +$ADD='341111111111'; # go to carrier modification below +} + + +###################### +# ADD=5111111111111 confirmation before deletion of conference record +###################### + +if ($ADD==5111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
    CONFERENCE NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Conference must be at least 2 characters in length\n"; + echo "
    Server IP be at least 7 characters in length\n"; + } + else + { + echo "
    CONFERENCE DELETION CONFIRMATION: $conf_exten - $server_ip\n"; + echo "

    Click here to delete phone $conf_exten - $server_ip


    \n"; + } +$ADD='3111111111111'; # go to conference modification below +} + + +###################### +# ADD=51111111111111 confirmation before deletion of vicidial conference record +###################### + +if ($ADD==51111111111111) +{ + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($LOGast_delete_phones < 1) ) + { + echo "
    VICIDIAL CONFERENCE NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Conference must be at least 2 characters in length\n"; + echo "
    Server IP be at least 7 characters in length\n"; + } + else + { + echo "
    VICIDIAL CONFERENCE DELETION CONFIRMATION: $conf_exten - $server_ip\n"; + echo "

    Click here to delete phone $conf_exten - $server_ip


    \n"; + } +$ADD='31111111111111'; # go to vicidial conference modification below +} + + + +###################################################################################################### +###################################################################################################### +####### 6 series, delete records +###################################################################################################### +###################################################################################################### + + +###################### +# ADD=6 delete user record +###################### + +if ($ADD==6) + { + echo ""; + + if ( ( strlen($user) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_users < 1) ) + { + echo "
    USER NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    User be at least 2 characters in length\n"; + } + else + { + $stmtA="DELETE from vicidial_users where user='$user' limit 1;"; + $rslt=mysql_query($stmtA, $link); + + $stmt="DELETE from vicidial_campaign_agents where user='$user';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_inbound_group_agents where user='$user';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERS', event_type='DELETE', record_id='$user', event_code='ADMIN DELETE USER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    USER DELETION COMPLETED: $user\n"; + echo "

    \n"; + } + + $ADD='0'; # go to user list + } + +###################### +# ADD=61 delete campaign record +###################### + +if ($ADD==61) + { + echo ""; + + if ( ( strlen($campaign_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_campaigns < 1) ) + { + echo "
    CAMPAIGN NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Campaign_id be at least 2 characters in length\n"; + } + else + { + $stmtA="DELETE from vicidial_campaigns where campaign_id='$campaign_id' limit 1;"; + $rslt=mysql_query($stmtA, $link); + + $stmt="DELETE from vicidial_campaign_agents where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_live_agents where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_statuses where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_hotkeys where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_callbacks where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_stats where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_lead_recycle where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_server_stats where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_server_trunks where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_pause_codes where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaigns_list_mix where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
    REMOVING LIST HOPPER LEADS FROM OLD CAMPAIGN HOPPER ($campaign_id)\n"; + $stmt="DELETE from vicidial_hopper where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='DELETE', record_id='$campaign_id', event_code='ADMIN DELETE CAMPAIGN', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    CAMPAIGN DELETION COMPLETED: $campaign_id\n"; + echo "

    \n"; + } + + $ADD='10'; # go to campaigns list + } + +###################### +# ADD=62 Logout all agents from a campaign +###################### + +if ($ADD==62) + { + if ($LOGmodify_campaigns==1) + { + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
    AGENTS NOT LOGGED OUT OF CAMPAIGN - Please go back and look at the data you entered\n"; + echo "
    Campaign_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_live_agents where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='LOGOUT', record_id='$campaign_id', event_code='ADMIN LOGOUT CAMPAIGN AGENTS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    AGENT LOGOUT COMPLETED: $campaign_id\n"; + echo "

    \n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + $ADD='31'; # go to campaign modification below + } + + +###################### +# ADD=63 Emergency VDAC Jam Clear +###################### + +if ($ADD==63) + { + if ($LOGmodify_campaigns==1) + { + if (eregi('IN',$stage)) + {$group_id=$campaign_id;} + echo ""; + + if (strlen($campaign_id) < 2) + { + echo "
    VDAC NOT CLEARED FOR CAMPAIGN - Please go back and look at the data you entered\n"; + echo "
    Campaign_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_auto_calls where status='LIVE' and campaign_id='$campaign_id' order by call_time limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGNS', event_type='RESET', record_id='$campaign_id', event_code='ADMIN RESET CAMPAIGN JAM', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    LAST VDAC RECORD CLEARED FOR CAMPAIGN: $campaign_id\n"; + echo "

    \n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + # go to campaign modification below + if (eregi('IN',$stage)) + {$ADD='3111';} + else + {$ADD='31';} + } + + +###################### +# ADD=65 delete campaign lead recycle in the system +###################### + +if ($ADD==65) + { + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
    CAMPAIGN LEAD RECYCLE NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    status must be between 1 and 6 characters in length\n"; + echo "
    attempt delay must be at least 120 seconds\n"; + echo "
    maximum attempts must be from 1 to 10\n"; + } + else + { + echo "
    CAMPAIGN LEAD RECYCLE DELETED: $campaign_id - $status - $attempt_delay\n"; + + $stmt="DELETE FROM vicidial_lead_recycle where campaign_id='$campaign_id' and status='$status';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_RECYCLE', event_type='DELETE', record_id='$campaign_id', event_code='ADMIN DELETE CAMPAIGN LEAD RECYCLE', event_sql=\"$SQL_log\", event_notes='Status: $status';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + $SUB=25; + $ADD=31; # go to campaign modification form below + } + + +###################### +# ADD=66 delete auto alt dial status from the campaign +###################### + +if ($ADD==66) + { + if ($LOGmodify_campaigns==1) + { + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and auto_alt_dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + {echo "
    AUTO ALT DIAL STATUS NOT DELETED - this auto alt dial status is not in this campaign\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
    AUTO ALT DIAL STATUS NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    status must be between 1 and 6 characters in length\n"; + } + else + { + echo "
    AUTO ALT DIAL STATUS DELETED: $campaign_id - $status\n"; + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + $auto_alt_dial_statuses = eregi_replace(" $status "," ",$row[0]); + $stmt="UPDATE vicidial_campaigns set auto_alt_dial_statuses='$auto_alt_dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_ALTDIALS', event_type='DELETE', record_id='$campaign_id', event_code='ADMIN DELETE CAMPAIGN ALT DIAL', event_sql=\"$SQL_log\", event_notes='Status: $status';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + $SUB=26; + $ADD=31; # go to campaign modification form below + } + +###################### +# ADD=67 delete agent pause code in the system +###################### + +if ($ADD==67) + { + if ($LOGmodify_campaigns==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($pause_code) < 1) ) + { + echo "
    CAMPAIGN PAUSE CODE NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    pause code must be between 1 and 6 characters in length\n"; + } + else + { + echo "
    CAMPAIGN PAUSE CODE DELETED: $campaign_id - $pause_code\n"; + + $stmt="DELETE FROM vicidial_pause_codes where campaign_id='$campaign_id' and pause_code='$pause_code';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_PAUSECODES', event_type='DELETE', record_id='$campaign_id', event_code='ADMIN DELETE CAMPAIGN PAUSE CODE', event_sql=\"$SQL_log\", event_notes='Status: $pause_code';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + $SUB=27; + $ADD=31; # go to campaign modification form below + } + + +###################### +# ADD=68 remove campaign dial status +###################### + +if ($ADD==68) + { + if ($LOGmodify_campaigns==1) + { + echo ""; + $stmt="SELECT count(*) from vicidial_campaigns where campaign_id='$campaign_id' and dial_statuses LIKE \"% $status %\";"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if ($row[0] < 1) + {echo "
    CAMPAIGN DIAL STATUS NOT REMOVED - this dial status is not selected for this campaign\n";} + else + { + if ( (strlen($campaign_id) < 2) or (strlen($status) < 1) ) + { + echo "
    CAMPAIGN DIAL STATUS NOT REMOVED - Please go back and look at the data you entered\n"; + echo "
    status must be between 1 and 6 characters in length\n"; + } + else + { + echo "
    CAMPAIGN DIAL STATUS REMOVED: $campaign_id - $status\n"; + + $stmt="SELECT dial_statuses from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + $dial_statuses = eregi_replace(" $status "," ",$row[0]); + $stmt="UPDATE vicidial_campaigns set dial_statuses='$dial_statuses' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CAMPAIGN_DIALSTATUSES', event_type='DELETE', record_id='$campaign_id', event_code='ADMIN DELETE CAMPAIGN DIAL STATUS', event_sql=\"$SQL_log\", event_notes='Status: $status';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + #$SUB=28; + $ADD=31; # go to campaign modification form below + } + +###################### +# ADD=611 delete list record and all leads within it +###################### + +if ($ADD==611) + { + echo ""; + + if ( ( strlen($list_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_lists < 1) ) + { + echo "
    LIST NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    List_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_lists where list_id='$list_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + echo "
    REMOVING LIST HOPPER LEADS FROM OLD CAMPAIGN HOPPER ($list_id)\n"; + $stmt="DELETE from vicidial_hopper where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + echo "
    REMOVING LIST LEADS FROM VICIDIAL_LIST TABLE\n"; + $stmt="DELETE from vicidial_list where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LISTS', event_type='DELETE', record_id='$list_id', event_code='ADMIN DELETE LIST', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    LIST DELETION COMPLETED: $list_id\n"; + echo "

    \n"; + } + + $ADD='100'; # go to lists list + } + +###################### +# ADD=6111 delete in-group record +###################### + +if ($ADD==6111) + { + echo ""; + + if ( (strlen($group_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_ingroups < 1) ) + { + echo "
    IN-GROUP NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Group_id be at least 2 characters in length\n"; + } + else + { + $stmtA="DELETE from vicidial_inbound_groups where group_id='$group_id' and group_id NOT IN('AGENTDIRECT') limit 1;"; + $rslt=mysql_query($stmtA, $link); + + $stmt="DELETE from vicidial_inbound_group_agents where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_live_inbound_agents where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_campaign_stats where campaign_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='INGROUPS', event_type='DELETE', record_id='$group_id', event_code='ADMIN DELETE INGROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    IN-GROUP DELETION COMPLETED: $group_id\n"; + echo "

    \n"; + } + + $ADD='1000'; # go to in-group list + } + +###################### +# ADD=6311 delete did record +###################### + +if ($ADD==6311) + { + echo ""; + + if ( (strlen($did_id) < 1) or ($CoNfIrM != 'YES') or ($LOGdelete_dids < 1) ) + { + echo "
    DID NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    did_id be at least 1 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_inbound_dids where did_id='$did_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='DIDS', event_type='DELETE', record_id='$did_id', event_code='ADMIN DELETE DID', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    DID DELETION COMPLETED: $did_id\n"; + echo "

    \n"; + } + + $ADD='1300'; # go to did list + } + +###################### +# ADD=61111 delete remote agent record +###################### + +if ($ADD==61111) + { + echo ""; + + if ( (strlen($remote_agent_id) < 1) or ($CoNfIrM != 'YES') or ($LOGdelete_remote_agents < 1) ) + { + echo "
    REMOTE AGENT NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Remote_agent_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_remote_agents where remote_agent_id='$remote_agent_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='REMOTEAGENTS', event_type='DELETE', record_id='$remote_agent_id', event_code='ADMIN DELETE REMOTE AGENT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    REMOTE AGENT DELETION COMPLETED: $remote_agent_id\n"; + echo "

    \n"; + } + + $ADD='10000'; # go to remote agents list + } + +###################### +# ADD=611111 delete user group record +###################### + +if ($ADD==611111) + { + echo ""; + + if ( (strlen($user_group) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_user_groups < 1) ) + { + echo "
    USER GROUP NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    User_group be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_user_groups where user_group='$user_group' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERGROUPS', event_type='DELETE', record_id='$user_group', event_code='ADMIN DELETE USER GROUP', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    USER GROUP DELETION COMPLETED: $user_group\n"; + echo "

    \n"; + } + + $ADD='100000'; # go to user group list + } + +###################### +# ADD=6111111 delete script record +###################### + +if ($ADD==6111111) + { + echo ""; + + if ( (strlen($script_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_scripts < 1) ) + { + echo "
    SCRIPT NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Script_id be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_scripts where script_id='$script_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SCRIPTS', event_type='DELETE', record_id='$script_id', event_code='ADMIN DELETE SCRIPT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    SCRIPT DELETION COMPLETED: $script_id\n"; + echo "

    \n"; + } + + $ADD='1000000'; # go to script list + } + + +###################### +# ADD=61111111 delete filter record +###################### + +if ($ADD==61111111) + { + echo ""; + + if ( (strlen($lead_filter_id) < 2) or ($CoNfIrM != 'YES') or ($LOGdelete_filters < 1) ) + { + echo "
    FILTER NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Filter ID must be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_lead_filters where lead_filter_id='$lead_filter_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='FILTERS', event_type='DELETE', record_id='$lead_filter_id', event_code='ADMIN DELETE FILTERS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    FILTER DELETION COMPLETED: $lead_filter_id\n"; + echo "

    \n"; + } + + $ADD='10000000'; # go to filter list + } + + +###################### +# ADD=611111111 delete call times record +###################### + +if ($ADD==611111111) + { + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
    CALL TIME NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Call Time ID must be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_call_times where call_time_id='$call_time_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='DELETE', record_id='$call_time_id', event_code='ADMIN DELETE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    CALL TIME DELETION COMPLETED: $call_time_id\n"; + echo "

    \n"; + } + + $ADD='100000000'; # go to call times list + } + + +###################### +# ADD=6111111111 delete state call times record +###################### + +if ($ADD==6111111111) + { + echo ""; + + if ( (strlen($call_time_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
    STATE CALL TIME NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Call Time ID must be at least 2 characters in length\n"; + } + else + { + $stmtA="DELETE from vicidial_state_call_times where state_call_time_id='$call_time_id' limit 1;"; + $rslt=mysql_query($stmtA, $link); + + $stmt="SELECT call_time_id,ct_state_call_times from vicidial_call_times where ct_state_call_times LIKE \"%|$call_time_id|%\" order by call_time_id;"; + $rslt=mysql_query($stmt, $link); + $sct_to_print = mysql_num_rows($rslt); + $sct_list=''; + + $o=0; + while ($sct_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $sct_ids[$o] = "$rowx[0]"; + $sct_states[$o] = "$rowx[1]"; + $o++; + } + $o=0; + while ($sct_to_print > $o) + { + $sct_states[$o] = eregi_replace("\|$call_time_id\|",'|',$sct_states[$o]); + $stmt="UPDATE vicidial_call_times set ct_state_call_times='$sct_states[$o]' where call_time_id='$sct_ids[$o]';"; + $rslt=mysql_query($stmt, $link); + echo "$stmt\n"; + echo "State Rule Removed: $sct_ids[$o]
    \n"; + $o++; + } + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CALLTIMES', event_type='DELETE', record_id='$call_time_id', event_code='ADMIN DELETE STATE CALL TIME', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    STATE CALL TIME DELETION COMPLETED: $call_time_id\n"; + echo "

    \n"; + } + + $ADD='1000000000'; # go to call times list + } + + +###################### +# ADD=631111111 delete shift record +###################### + +if ($ADD==631111111) + { + echo ""; + + if ( (strlen($shift_id) < 2) or ($LOGdelete_call_times < 1) ) + { + echo "
    SHIFT NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Shift ID must be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_shifts where shift_id='$shift_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SHIFTS', event_type='DELETE', record_id='$shift_id', event_code='ADMIN DELETE SHIFT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    SHIFT DELETION COMPLETED: $shift_id\n"; + echo "

    \n"; + } + + $ADD='130000000'; # go to shifts list + } + + +###################### +# ADD=61111111111 delete phone record +###################### + +if ($ADD==61111111111) + { + echo ""; + + if ( (strlen($extension) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
    PHONE NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Extension be at least 2 characters in length\n"; + echo "
    Server IP be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from phones where extension='$extension' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONES', event_type='DELETE', record_id='$extension', event_code='ADMIN DELETE PHONE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    PHONE DELETION COMPLETED: $extension - $server_ip\n"; + echo "

    \n"; + } + $ADD='10000000000'; # go to phone list + } + + +###################### +# ADD=62111111111 delete phone alias record +###################### + +if ($ADD==62111111111) + { + echo ""; + + if ( (strlen($alias_id) < 2) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
    PHONE ALIAS NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Alias ID must be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from phones_alias where alias_id='$alias_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='PHONEALIASES', event_type='DELETE', record_id='$alias_id', event_code='ADMIN DELETE PHONE ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    PHONE ALIAS DELETION COMPLETED: $alias_id\n"; + echo "

    \n"; + } + $ADD='12000000000'; # go to phone alias list + } + + +###################### +# ADD=63111111111 delete group alias record +###################### + +if ($ADD==63111111111) + { + echo ""; + + if ( (strlen($group_alias_id) < 2) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
    GROUP ALIAS NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Group Alias ID must be at least 2 characters in length\n"; + } + else + { + $stmt="DELETE from groups_alias where group_alias_id='$group_alias_id' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='GROUPALIASES', event_type='DELETE', record_id='$group_alias_id', event_code='ADMIN DELETE GROUP ALIAS', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    GROUP ALIAS DELETION COMPLETED: $group_alias_id\n"; + echo "

    \n"; + } + $ADD='13000000000'; # go to group alias list + } + + +###################### +# ADD=611111111111 delete server record +###################### + +if ($ADD==611111111111) + { + echo ""; + + if ( (strlen($server_id) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
    SERVER NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Server ID be at least 2 characters in length\n"; + echo "
    Server IP be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from servers where server_id='$server_id' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmtA|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERS', event_type='DELETE', record_id='$server_id', event_code='ADMIN DELETE SERVER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    SERVER DELETION COMPLETED: $server_id - $server_ip\n"; + echo "

    \n"; + } + $ADD='100000000000'; # go to server list + } + + +###################### +# ADD=621111111111 delete vicidial server trunk record in the system +###################### + +if ($ADD==621111111111) + { + if ($LOGmodify_servers==1) + { + echo ""; + + if ( (strlen($campaign_id) < 2) or (strlen($server_ip) < 7) ) + { + echo "
    VICIDIAL SERVER TRUNK RECORD NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    campaign must be between 3 and 8 characters in length\n"; + echo "
    server_ip delay must be at least 7 characters\n"; + } + else + { + echo "
    VICIDIAL SERVER TRUNK RECORD DELETED: $campaign_id - $server_ip\n"; + + $stmt="DELETE FROM vicidial_server_trunks where campaign_id='$campaign_id' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='SERVERTRUNKS', event_type='DELETE', record_id='$server_ip', event_code='ADMIN DELETE SERVER TRUNK', event_sql=\"$SQL_log\", event_notes='Campaign: $campaign_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + $ADD=311111111111; # go to server modification form below + } + + +###################### +# ADD=631111111111 delete conf template record +###################### + +if ($ADD==631111111111) + { + echo ""; + + if ( (strlen($template_id) < 2) or ($CoNfIrM != 'YES') ) + { + echo "
    CONF TEMPLATE NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Template ID be at least 2 characters in length\n"; + } + else + { + $stmt="UPDATE phones SET template_id='' where template_id='$template_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE vicidial_server_carriers SET template_id='' where template_id='$template_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y';"; + $rslt=mysql_query($stmt, $link); + + $stmt="DELETE from vicidial_conf_templates where template_id='$template_id';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONFTEMPLATES', event_type='DELETE', record_id='$template_id', event_code='ADMIN DELETE CONF TEMPLATE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    CONF TEMPLATE DELETION COMPLETED: $server_id - $server_ip\n"; + echo "

    \n"; + } + $ADD='130000000000'; # go to conf template list + } + + +###################### +# ADD=641111111111 delete carrier record +###################### + +if ($ADD==641111111111) + { + echo ""; + + if ( (strlen($carrier_id) < 2) or ($CoNfIrM != 'YES') ) + { + echo "
    CARRIER NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Carrier ID be at least 2 characters in length\n"; + } + else + { + $stmt="SELECT server_ip from vicidial_server_carriers where carrier_id='$carrier_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $CARRIERserver_ip = $row[0]; + + $stmt="DELETE from vicidial_server_carriers where carrier_id='$carrier_id';"; + $rslt=mysql_query($stmt, $link); + + $stmt="UPDATE servers SET rebuild_conf_files='Y' where generate_vicidial_conf='Y' and active_asterisk_server='Y' and server_ip='$CARRIERserver_ip';"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CARRIERS', event_type='DELETE', record_id='$carrier_id', event_code='ADMIN DELETE CARRIER', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    CARRIER DELETION COMPLETED: $carrier_id\n"; + echo "

    \n"; + } + $ADD='140000000000'; # go to carrier list + } + + +###################### +# ADD=6111111111111 delete conference record +###################### + +if ($ADD==6111111111111) + { + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
    CONFERENCE NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Conference be at least 2 characters in length\n"; + echo "
    Server IP be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from conferences where conf_exten='$conf_exten' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONFERENCES', event_type='DELETE', record_id='$conf_exten', event_code='ADMIN DELETE CONFERENCE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    CONFERENCE DELETION COMPLETED: $conf_exten - $server_ip\n"; + echo "

    \n"; + } + $ADD='1000000000000'; # go to conference list + } + + +###################### +# ADD=61111111111111 delete vicidial conference record +###################### + +if ($ADD==61111111111111) + { + echo ""; + + if ( (strlen($conf_exten) < 2) or (strlen($server_ip) < 7) or ($CoNfIrM != 'YES') or ($LOGast_delete_phones < 1) ) + { + echo "
    VICIDIAL CONFERENCE NOT DELETED - Please go back and look at the data you entered\n"; + echo "
    Conference be at least 2 characters in length\n"; + echo "
    Server IP be at least 7 characters in length\n"; + } + else + { + $stmt="DELETE from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip' limit 1;"; + $rslt=mysql_query($stmt, $link); + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$SQLdate', user='$PHP_AUTH_USER', ip_address='$ip', event_section='CONFERENCES', event_type='DELETE', record_id='$conf_exten', event_code='ADMIN DELETE CONFERENCE', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    VICIDIAL CONFERENCE DELETION COMPLETED: $conf_exten - $server_ip\n"; + echo "

    \n"; + } + $ADD='10000000000000'; # go to vicidial conference list + } + + + + + +###################################################################################################### +###################################################################################################### +####### 3 series, record modification forms +###################################################################################################### +###################################################################################################### + + + + +###################### +# ADD=3 modify user info in the system +###################### + +if ($ADD==3) +{ + if ($LOGmodify_users==1) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT * from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $user_level = $row[4]; + $user_group = $row[5]; + $phone_login = $row[6]; + $phone_pass = $row[7]; + $delete_users = $row[8]; + $delete_user_groups = $row[9]; + $delete_lists = $row[10]; + $delete_campaigns = $row[11]; + $delete_ingroups = $row[12]; + $delete_remote_agents = $row[13]; + $load_leads = $row[14]; + $campaign_detail = $row[15]; + $ast_admin_access = $row[16]; + $ast_delete_phones = $row[17]; + $delete_scripts = $row[18]; + $modify_leads = $row[19]; + $hotkeys_active = $row[20]; + $change_agent_campaign =$row[21]; + $agent_choose_ingroups =$row[22]; + $scheduled_callbacks = $row[24]; + $agentonly_callbacks = $row[25]; + $agentcall_manual = $row[26]; + $vicidial_recording = $row[27]; + $vicidial_transfers = $row[28]; + $delete_filters = $row[29]; + $alter_agent_interface_options =$row[30]; + $closer_default_blended = $row[31]; + $delete_call_times = $row[32]; + $modify_call_times = $row[33]; + $modify_users = $row[34]; + $modify_campaigns = $row[35]; + $modify_lists = $row[36]; + $modify_scripts = $row[37]; + $modify_filters = $row[38]; + $modify_ingroups = $row[39]; + $modify_usergroups = $row[40]; + $modify_remoteagents = $row[41]; + $modify_servers = $row[42]; + $view_reports = $row[43]; + $vicidial_recording_override = $row[44]; + $alter_custdata_override = $row[45]; + $qc_enabled = $row[46]; + $qc_user_level = $row[47]; + $qc_pass = $row[48]; + $qc_finish = $row[49]; + $qc_commit = $row[50]; + $add_timeclock_log = $row[51]; + $modify_timeclock_log = $row[52]; + $delete_timeclock_log = $row[53]; + $alter_custphone_override = $row[54]; + $vdc_agent_api_access = $row[55]; + $modify_inbound_dids = $row[56]; + $delete_inbound_dids = $row[57]; + $active = $row[58]; + $alert_enabled = $row[59]; + $download_lists = $row[60]; + $agent_shift_enforcement_override = $row[61]; + $manager_shift_enforcement_override = $row[62]; + $export_reports = $row[64]; + + if ( ($user_level >= $LOGuser_level) and ($LOGuser_level < 9) ) + { + echo "
    You do not have permissions to modify this user: $row[1]\n"; + } + else + { + echo "
    MODIFY A USERS RECORD: $row[1]\n"; + if ($LOGuser_level > 8) + {echo "\n";} + else + { + if ($LOGalter_agent_interface == "1") + {echo "\n";} + else + {echo "\n";} + } + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + if ( ($LOGuser_level > 8) or ($LOGalter_agent_interface == "1") ) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + if ($SSoutbound_autodial_active > 0) + { + echo "\n"; + } + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + if ($SSqc_features_active > 0) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + } + if ($LOGuser_level > 8) + { + echo "\n"; + +#9BB9FB +#B9CBFD + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + if ($SSoutbound_autodial_active > 0) + { + echo "\n"; + echo "\n"; + } + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + } + echo "\n"; + echo "
    User Number: $row[1]$NWB#vicidial_users-user$NWE
    Password: $NWB#vicidial_users-pass$NWE
    Full Name: $NWB#vicidial_users-full_name$NWE
    User Level: $NWB#vicidial_users-user_level$NWE
    User Group: $NWB#vicidial_users-user_group$NWE
    Phone Login: $NWB#vicidial_users-phone_login$NWE
    Phone Pass: $NWB#vicidial_users-phone_pass$NWE
    Active: $NWB#vicidial_users-active$NWE
    AGENT INTERFACE OPTIONS:
    Agent Choose Ingroups: $NWB#vicidial_users-agent_choose_ingroups$NWE
    Hot Keys Active: $NWB#vicidial_users-hotkeys_active$NWE
    Scheduled Callbacks: $NWB#vicidial_users-scheduled_callbacks$NWE
    Agent-Only Callbacks: $NWB#vicidial_users-agentonly_callbacks$NWE
    Agent Call Manual: $NWB#vicidial_users-agentcall_manual$NWE
    Vicidial Recording: $NWB#vicidial_users-vicidial_recording$NWE
    Vicidial Transfers: $NWB#vicidial_users-vicidial_transfers$NWE
    Closer Default Blended: $NWB#vicidial_users-closer_default_blended$NWE
    VICIDIAL Recording Override: $NWB#vicidial_users-vicidial_recording_override$NWE
    Agent Alter Customer Data Override: $NWB#vicidial_users-alter_custdata_override$NWE
    Agent Alter Customer Phone Override: $NWB#vicidial_users-alter_custphone_override$NWE
    Agent Shift Enforcement Override: $NWB#vicidial_users-agent_shift_enforcement_override$NWE
    Alert Enabled: $alert_enabled $NWB#vicidial_users-alert_enabled$NWE
    Campaign Ranks: $NWB#vicidial_users-campaign_ranks$NWE
    \n"; + echo "\n"; + echo "$RANKcampaigns_list"; + echo "
    \n"; + echo "
    Inbound Groups: $NWB#vicidial_users-closer_campaigns$NWE
    \n"; + echo "\n"; + echo "$RANKgroups_list"; + echo "
    \n"; + echo "
    QC Enabled: $NWB#vicidial_users-qc_enabled$NWE
    QC User Level: $NWB#vicidial_users-qc_user_level$NWE
    QC Pass: $NWB#vicidial_users-qc_pass$NWE
    QC Finish: $NWB#vicidial_users-qc_finish$NWE
    QC Commit: $NWB#vicidial_users-qc_commit$NWE
    ADMIN INTERFACE OPTIONS:
    View Reports: $NWB#vicidial_users-view_reports$NWE
    Alter Agent Interface Options: $NWB#vicidial_users-alter_agent_interface_options$NWE
    Modify Users: $NWB#vicidial_users-modify_sections$NWE
    Change Agent Campaign: $NWB#vicidial_users-change_agent_campaign$NWE
    Delete Users: $NWB#vicidial_users-delete_users$NWE
    Modify User Groups: $NWB#vicidial_users-modify_sections$NWE
    Delete User Groups: $NWB#vicidial_users-delete_user_groups$NWE
    Modify Lists: $NWB#vicidial_users-modify_sections$NWE
    Delete Lists: $NWB#vicidial_users-delete_lists$NWE
    Load Leads: $NWB#vicidial_users-load_leads$NWE
    Modify Leads: $NWB#vicidial_users-modify_leads$NWE
    Download Lists: $NWB#vicidial_users-modify_leads$NWE
    Export Reports: $NWB#vicidial_users-export_reports$NWE
    Modify Campaigns: $NWB#vicidial_users-modify_sections$NWE
    Campaign Detail: $NWB#vicidial_users-campaign_detail$NWE
    Delete Campaigns: $NWB#vicidial_users-delete_campaigns$NWE
    Modify In-Groups: $NWB#vicidial_users-modify_sections$NWE
    Delete In-Groups: $NWB#vicidial_users-delete_ingroups$NWE
    Modify DIDs: $NWB#vicidial_users-modify_sections$NWE
    Delete DIDs: $NWB#vicidial_users-delete_ingroups$NWE
    Modify Remote Agents: $NWB#vicidial_users-modify_sections$NWE
    Delete Remote Agents: $NWB#vicidial_users-delete_remote_agents$NWE
    Modify Scripts: $NWB#vicidial_users-modify_sections$NWE
    Delete Scripts: $NWB#vicidial_users-delete_scripts$NWE
    Modify Filters: $NWB#vicidial_users-modify_sections$NWE
    Delete Filters: $NWB#vicidial_users-delete_filters$NWE
    AGC Admin Access: $NWB#vicidial_users-ast_admin_access$NWE
    AGC Delete Phones: $NWB#vicidial_users-ast_delete_phones$NWE
    Modify Call Times: $NWB#vicidial_users-modify_call_times$NWE
    Delete Call Times: $NWB#vicidial_users-delete_call_times$NWE
    Modify Servers: $NWB#vicidial_users-modify_sections$NWE
    Agent API Access: $NWB#vicidial_users-vdc_agent_api_access$NWE
    Add Timeclock Log Record: $NWB#vicidial_users-add_timeclock_log$NWE
    Modify Timeclock Log Record: $NWB#vicidial_users-modify_timeclock_log$NWE
    Delete Timeclock Log Record: $NWB#vicidial_users-delete_timeclock_log$NWE
    Manager Shift Enforcement Override: $NWB#vicidial_users-manager_shift_enforcement_override$NWE
    \n"; + + if ($LOGdelete_users > 0) + { + echo "

    DELETE THIS USER\n"; + } + echo "

    Click here for user time sheet\n"; + echo "

    Click here for user status\n"; + echo "

    Click here for user stats\n"; + echo "

    Click here for user multiple day status detail report\n"; + echo "

    Click here for user CallBack Holds\n"; + if ($LOGuser_level >= 9) + { + echo "

    Click here to see Admin chages to this record
    \n"; + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=31 modify campaign info in the system - Detail view +###################### + +if ( ($LOGcampaign_detail < 1) and ($ADD==31) ) {$ADD=34;} # send to Basic if not allowed + +if ( ($ADD==31) and ( (!eregi("$campaign_id",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) ) + {$ADD=30;} # send to not allowed screen if not in vicidial_user_groups allowed_campaigns list + +if ($ADD==31) +{ + if ($LOGmodify_campaigns==1) + { + if ($stage=='show_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='Y' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + if ($stage=='hide_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='N' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT enable_vtiger_integration,vtiger_url from system_settings;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration_LU = $row[0]; + $vtiger_url_LU = $row[1]; + + $stmt="SELECT * from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $campaign_name = $row[1]; + $dial_status_a = $row[3]; + $dial_status_b = $row[4]; + $dial_status_c = $row[5]; + $dial_status_d = $row[6]; + $dial_status_e = $row[7]; + $lead_order = $row[8]; + $web_form_address = stripslashes($row[11]); + $allow_closers = $row[12]; + $hopper_level = $row[13]; + $auto_dial_level = $row[14]; + $next_agent_call = $row[15]; + $local_call_time = $row[16]; + $voicemail_ext = $row[17]; + $dial_timeout = $row[18]; + $dial_prefix = $row[19]; + $campaign_cid = $row[20]; + $campaign_vdad_exten = $row[21]; + $campaign_rec_exten = $row[22]; + $campaign_recording = $row[23]; + $campaign_rec_filename = $row[24]; + $script_id = $row[25]; + $get_call_launch = $row[26]; + $am_message_exten = $row[27]; + $amd_send_to_vmx = $row[28]; + $xferconf_a_dtmf = $row[29]; + $xferconf_a_number = $row[30]; + $xferconf_b_dtmf = $row[31]; + $xferconf_b_number = $row[32]; + $alt_number_dialing = $row[33]; + $scheduled_callbacks = $row[34]; + $lead_filter_id = $row[35]; + if ($lead_filter_id=='') {$lead_filter_id='NONE';} + $drop_call_seconds = $row[36]; + $drop_action = $row[37]; + $safe_harbor_exten = $row[38]; + $display_dialable_count = $row[39]; + $wrapup_seconds = $row[40]; + $wrapup_message = $row[41]; + # $closer_campaigns = $row[42]; + $use_internal_dnc = $row[43]; + $allcalls_delay = $row[44]; + $omit_phone_code = $row[45]; + $dial_method = $row[46]; + $available_only_ratio_tally = $row[47]; + $adaptive_dropped_percentage = $row[48]; + $adaptive_maximum_level = $row[49]; + $adaptive_latest_server_time = $row[50]; + $adaptive_intensity = $row[51]; + $adaptive_dl_diff_target = $row[52]; + $concurrent_transfers = $row[53]; + $auto_alt_dial = $row[54]; + $auto_alt_dial_statuses = $row[55]; + $agent_pause_codes_active = $row[56]; + $campaign_description = $row[57]; + $campaign_changedate = $row[58]; + $campaign_stats_refresh = $row[59]; + $campaign_logindate = $row[60]; + $dial_statuses = $row[61]; + $disable_alter_custdata = $row[62]; + $no_hopper_leads_logins = $row[63]; + $list_order_mix = $row[64]; + $campaign_allow_inbound = $row[65]; + $manual_dial_list_id = $row[66]; + $default_xfer_group = $row[67]; + $queue_priority = $row[69]; + $drop_inbound_group = $row[70]; + $qc_enabled = $row[71]; + $qc_statuses = $row[72]; + $qc_lists = $row[73]; + $qc_shift_id = $row[74]; + $qc_get_record_launch = $row[75]; + $qc_show_recording = $row[76]; + $qc_web_form_address = stripslashes($row[77]); + $qc_script = $row[78]; + $survey_first_audio_file = $row[79]; + $survey_dtmf_digits = $row[80]; + $survey_ni_digit = $row[81]; + $survey_opt_in_audio_file = $row[82]; + $survey_ni_audio_file = $row[83]; + $survey_method = $row[84]; + $survey_no_response_action = $row[85]; + $survey_ni_status = $row[86]; + $survey_response_digit_map = $row[87]; + $survey_xfer_exten = $row[88]; + $survey_camp_record_dir = $row[89]; + $disable_alter_custphone = $row[90]; + $display_queue_count = $row[91]; + $manual_dial_filter = $row[92]; + $agent_clipboard_copy = $row[93]; + $agent_extended_alt_dial = $row[94]; + $use_campaign_dnc = $row[95]; + $three_way_call_cid = $row[96]; + $three_way_dial_prefix = $row[97]; + $web_form_target = $row[98]; + $vtiger_search_category = $row[99]; + $vtiger_create_call_record = $row[100]; + $vtiger_create_lead_record = $row[101]; + $vtiger_screen_login = $row[102]; + $cpd_amd_action = $row[103]; + $agent_allow_group_alias = $row[104]; + $default_group_alias = $row[105]; + + if (ereg("DISABLED",$list_order_mix)) + {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} + else + {$DEFlistDISABLE = 'disabled'; $DEFstatusDISABLED=1;} + + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE'"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $mixes_list="\n"; + $mixname_list["DISABLED"] = "DISABLED"; + } + else + { + ##### get list_mix listings for dynamic pulldown + $stmt="SELECT vcl_id,vcl_name from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE' limit 1"; + $rslt=mysql_query($stmt, $link); + $mixes_to_print = mysql_num_rows($rslt); + $mixes_list="\n"; + + $o=0; + while ($mixes_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $mixes_list .= "\n"; + $mixname_list["ACTIVE"] = "$rowx[0] - $rowx[1]"; + $o++; + } + } + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) -1); + + $qc_statuses = preg_replace("/^ | -$/","",$qc_statuses); + $QCstatuses = explode(" ", $qc_statuses); + $QCs_to_print = (count($QCstatuses) -0); + + $qc_lists = preg_replace("/^ | -$/","",$qc_lists); + $QClists = explode(" ", $qc_lists); + $QCL_to_print = (count($QClists) -0); + + ##### get status listings for dynamic pulldown + $stmt="SELECT * from vicidial_statuses order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $statuses_list=''; + $dial_statuses_list=''; + $qc_statuses_list=''; + $survey_ni_status_list=''; + + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + if ($rowx[0] != 'CBHOLD') + { + $dial_statuses_list .= "\n"; + if ($survey_ni_status == $rowx[0]) + { + $survey_ni_status_list .= "\n"; + } + else + { + $survey_ni_status_list .= "\n"; + } + } + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + + $qc_statuses_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + if ($rowx[0] != 'CBHOLD') {$dial_statuses_list .= "\n";} + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + + $qc_statuses_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "\n";} + else + {$Dgroups_menu .= "\n";} + + + ##### get in-groups listings for dynamic transfer group pulldown list menu + $stmt="SELECT group_id,group_name from vicidial_inbound_groups $xfer_groupsSQL order by group_id"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "\n";} + else + {$Xgroups_menu .= "\n";} + + + if ($SUB<1) {$camp_detail_color=$subcamp_color;} + else {$camp_detail_color=$campaigns_color;} + if ($SUB==22) {$camp_statuses_color=$subcamp_color;} + else {$camp_statuses_color=$campaigns_color;} + if ($SUB==23) {$camp_hotkeys_color=$subcamp_color;} + else {$camp_hotkeys_color=$campaigns_color;} + if ($SUB==25) {$camp_recycle_color=$subcamp_color;} + else {$camp_recycle_color=$campaigns_color;} + if ($SUB==26) {$camp_autoalt_color=$subcamp_color;} + else {$camp_autoalt_color=$campaigns_color;} + if ($SUB==27) {$camp_pause_color=$subcamp_color;} + else {$camp_pause_color=$campaigns_color;} + if ($SUB==28) {$camp_qc_color=$subcamp_color;} + else {$camp_qc_color=$campaigns_color;} + if ($SUB==29) {$camp_listmix_color=$subcamp_color;} + else {$camp_listmix_color=$campaigns_color;} + if ($SUB=='20A') {$camp_survey_color=$subcamp_color;} + else {$camp_survey_color=$campaigns_color;} + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + if ($SSoutbound_autodial_active > 0) + { + echo ""; + echo ""; + echo ""; + echo ""; + } + echo ""; + if ($SSqc_features_active > 0) + { + echo ""; + } + if ($SSoutbound_autodial_active < 1) + { + echo "\n"; + } + echo "\n"; + echo "
    $row[0]: Basic Detail StatusesHotKeysLead RecyclingAuto Alt DialList MixSurveyPause CodesQC Real-Time
    \n"; + + echo "
    \n"; + echo ""; + + echo "
    \n"; + + if ($SUB < 1) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + if ($SSoutbound_autodial_active > 0) + { + echo "\n"; + + $o=0; + while ($Ds_to_print > $o) + { + $o++; + $Dstatus = $Dstatuses[$o]; + + echo "\n"; + } + else + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "REMOVE\n"; + } + } + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + } + + echo "\n"; + + echo "\n"; + + if ($SSoutbound_autodial_active > 0) + { + echo "\n"; + } + echo "\n"; + + echo "\n"; + + echo "\n"; + + if ($SSoutbound_autodial_active > 0) + { + echo "\n"; + } + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + if ($SSoutbound_autodial_active > 0) + { + echo "\n"; + + echo "\n"; + } + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + if ($SSoutbound_autodial_active > 0) + { + echo "\n"; + } + echo "\n"; + + if ($SSoutbound_autodial_active > 0) + { + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + } + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + + if ($SSoutbound_autodial_active > 0) + { + echo "\n"; + } + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + if ($SSoutbound_autodial_active > 0) + { + echo "\n"; + } + echo "\n"; + + echo "\n"; + + echo "\n"; + + if ($agent_allow_group_alias == 'Y') + { + ##### get groups_alias listings for dynamic default group alias pulldown list menu + $stmt="SELECT group_alias_id,group_alias_name from groups_alias where active='Y' order by group_alias_id"; + $rslt=mysql_query($stmt, $link); + $group_alias_to_print = mysql_num_rows($rslt); + $group_alias_menu=''; + $group_alias_selected=0; + $o=0; + while ($group_alias_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $group_alias_menu .= "\n"; + $o++; + } + + echo "\n"; + } + + if ($SSenable_vtiger_integration > 0) + { + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + } + else + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + if ($campaign_allow_inbound == 'Y') + { + echo "\n"; + } + + echo "\n"; + + if ($allow_closers == 'Y') + { + echo "\n"; + } + + echo "\n"; + echo "
    Campaign ID: $row[0]$NWB#vicidial_campaigns-campaign_id$NWE
    Campaign Name: $NWB#vicidial_campaigns-campaign_name$NWE
    Campaign Description: $NWB#vicidial_campaigns-campaign_description$NWE
    Campaign Change Date: $campaign_changedate   $NWB#vicidial_campaigns-campaign_changedate$NWE
    Campaign Login Date: $campaign_logindate   $NWB#vicidial_campaigns-campaign_logindate$NWE
    Active: $NWB#vicidial_campaigns-active$NWE
    Park Extension: - Filename: $NWB#vicidial_campaigns-park_ext$NWE
    Web Form: $NWB#vicidial_campaigns-web_form_address$NWE
    Web Form Target: $NWB#vicidial_campaigns-web_form_target$NWE
    Allow Closers: $NWB#vicidial_campaigns-allow_closers$NWE
    Allow Inbound and Blended: $NWB#vicidial_campaigns-campaign_allow_inbound$NWE
    Dial Status $o: \n"; + + if ($DEFstatusDISABLED > 0) + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "REMOVE
    Add A Dial Status:   \n"; + echo "     $NWB#vicidial_campaigns-dial_status$NWE
    List Order: $NWB#vicidial_campaigns-lead_order$NWE
    List Mix: $NWB#vicidial_campaigns-list_order_mix$NWE
    Lead Filter: $NWB#vicidial_campaigns-lead_filter_id$NWE
    Hopper Level: $NWB#vicidial_campaigns-hopper_level$NWE
    Force Reset of Hopper: $NWB#vicidial_campaigns-force_reset_hopper$NWE
    Dial Method: $NWB#vicidial_campaigns-dial_method$NWE
    Auto Dial Level: (0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE       ADAPT OVERRIDE
    Available Only Tally: $NWB#vicidial_campaigns-available_only_ratio_tally$NWE
    Drop Percentage Limit: % $NWB#vicidial_campaigns-adaptive_dropped_percentage$NWE
    Maximum Adapt Dial Level: number only $NWB#vicidial_campaigns-adaptive_maximum_level$NWE
    Latest Server Time: 4 digits only $NWB#vicidial_campaigns-adaptive_latest_server_time$NWE
    Adapt Intensity Modifier: $NWB#vicidial_campaigns-adaptive_intensity$NWE
    Dial Level Difference Target: $NWB#vicidial_campaigns-adaptive_dl_diff_target$NWE
    Concurrent Transfers: $NWB#vicidial_campaigns-concurrent_transfers$NWE
    Queue Priority: $NWB#vicidial_campaigns-queue_priority$NWE
    Auto Alt-Number Dialing: $NWB#vicidial_campaigns-auto_alt_dial$NWE
    Next Agent Call: $NWB#vicidial_campaigns-next_agent_call$NWE
    Local Call Time: $NWB#vicidial_campaigns-local_call_time$NWE
    Dial Timeout: in seconds$NWB#vicidial_campaigns-dial_timeout$NWE
    Dial Prefix: for 91NXXNXXXXXX value would be 9, for no dial prefix use X$NWB#vicidial_campaigns-dial_prefix$NWE
    Omit Phone Code: $NWB#vicidial_campaigns-omit_phone_code$NWE
    Campaign CallerID: $NWB#vicidial_campaigns-campaign_cid$NWE
    Campaign VDAD exten: $NWB#vicidial_campaigns-campaign_vdad_exten$NWE
    Campaign Rec exten: $NWB#vicidial_campaigns-campaign_rec_exten$NWE
    Campaign Recording: $NWB#vicidial_campaigns-campaign_recording$NWE
    Campaign Rec Filename: $NWB#vicidial_campaigns-campaign_rec_filename$NWE
    Recording Delay: in seconds$NWB#vicidial_campaigns-allcalls_delay$NWE
    Script: $NWB#vicidial_campaigns-campaign_script$NWE
    Get Call Launch: $NWB#vicidial_campaigns-get_call_launch$NWE
    Answering Machine Message: $NWB#vicidial_campaigns-am_message_exten$NWE
    AMD Send to VM exten: $NWB#vicidial_campaigns-amd_send_to_vmx$NWE
    CPD AMD Action: $NWB#vicidial_campaigns-cpd_amd_action$NWE
    Transfer-Conf DTMF 1: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
    Transfer-Conf Number 1: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
    Transfer-Conf DTMF 2: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
    Transfer-Conf Number 2: $NWB#vicidial_campaigns-xferconf_a_dtmf$NWE
    Alt Number Dialing: $NWB#vicidial_campaigns-alt_number_dialing$NWE
    Scheduled Callbacks: $NWB#vicidial_campaigns-scheduled_callbacks$NWE
    Drop Call Seconds: $NWB#vicidial_campaigns-drop_call_seconds$NWE
    Drop Action: $NWB#vicidial_campaigns-drop_action$NWE
    Safe Harbor Exten: $NWB#vicidial_campaigns-safe_harbor_exten$NWE
    Voicemail: $NWB#vicidial_campaigns-voicemail_ext$NWE
    Drop Transfer Group: $NWB#vicidial_campaigns-drop_inbound_group$NWE
    Wrap Up Seconds: $NWB#vicidial_campaigns-wrapup_seconds$NWE
    Wrap Up Message: $NWB#vicidial_campaigns-wrapup_message$NWE
    Use Internal DNC List: $NWB#vicidial_campaigns-use_internal_dnc$NWE
    Use Campaign DNC List: $NWB#vicidial_campaigns-use_campaign_dnc$NWE
    Agent Pause Codes Active: $NWB#vicidial_campaigns-agent_pause_codes_active$NWE
    Campaign Stats Refresh: $NWB#vicidial_campaigns-campaign_stats_refresh$NWE
    Disable Alter Customer Data: $NWB#vicidial_campaigns-disable_alter_custdata$NWE
    Disable Alter Customer Phone: $NWB#vicidial_campaigns-disable_alter_custphone$NWE
    Allow No-Hopper-Leads Logins: $NWB#vicidial_campaigns-no_hopper_leads_logins$NWE
    Agent Display Queue Count: $NWB#vicidial_campaigns-display_queue_count$NWE
    Manual Dial List ID: $NWB#vicidial_campaigns-manual_dial_list_id$NWE
    Manual Dial Filter: $NWB#vicidial_campaigns-manual_dial_filter$NWE
    Agent Screen Clipboard Copy: $NWB#vicidial_campaigns-agent_clipboard_copy$NWE
    Agent Screen Extended Alt Dial: $NWB#vicidial_campaigns-agent_extended_alt_dial$NWE
    3-Way Call Outbound CallerID: $NWB#vicidial_campaigns-three_way_call_cid$NWE
    3-Way Call Dial Prefix: $NWB#vicidial_campaigns-three_way_dial_prefix$NWE
    Group Alias Allowed: $NWB#vicidial_campaigns-agent_allow_group_alias$NWE
    Default Group Alias: $NWB#vicidial_campaigns-default_group_alias$NWE
    Vtiger Search Category: $NWB#vicidial_campaigns-vtiger_search_category$NWE
    Vtiger Create Call Record: $NWB#vicidial_campaigns-vtiger_create_call_record$NWE
    Vtiger Create Lead Record: $NWB#vicidial_campaigns-vtiger_create_lead_record$NWE
    Vtiger Screen Login: $NWB#vicidial_campaigns-vtiger_screen_login$NWE
    Allowed Inbound Groups:
    "; + echo " $NWB#vicidial_campaigns-closer_campaigns$NWE
    \n"; + echo "$groups_list"; + echo "
    Default Transfer Group: $NWB#vicidial_campaigns-default_xfer_group$NWE
    Allowed Transfer Groups:
    "; + echo " $NWB#vicidial_campaigns-xfer_groups$NWE
    \n"; + echo "$XFERgroups_list"; + echo "
    \n"; + + echo "
    \n"; + + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + if ($SSoutbound_autodial_active > 0) + { + echo "
    LISTS WITHIN THIS CAMPAIGN:   $NWB#vicidial_campaign_lists$NWE\n"; + + echo "
    \n"; + echo ""; + + $LISTlink='stage=LISTIDDOWN'; + $TALLYlink='stage=TALLYDOWN'; + $ACTIVElink='stage=ACTIVEDOWN'; + $CAMPAIGNlink='stage=CAMPAIGNDOWN'; + $CALLDATElink='stage=CALLDATEDOWN'; + $SQLorder='order by list_id'; + if (eregi("LISTIDUP",$stage)) {$SQLorder='order by list_id asc'; $LISTlink='stage=LISTIDDOWN';} + if (eregi("LISTIDDOWN",$stage)) {$SQLorder='order by list_id desc'; $LISTlink='stage=LISTIDUP';} + if (eregi("TALLYUP",$stage)) {$SQLorder='order by tally asc'; $TALLYlink='stage=TALLYDOWN';} + if (eregi("TALLYDOWN",$stage)) {$SQLorder='order by tally desc'; $TALLYlink='stage=TALLYUP';} + if (eregi("ACTIVEUP",$stage)) {$SQLorder='order by active asc'; $ACTIVElink='stage=ACTIVEDOWN';} + if (eregi("ACTIVEDOWN",$stage)) {$SQLorder='order by active desc'; $ACTIVElink='stage=ACTIVEUP';} + if (eregi("CAMPAIGNUP",$stage)) {$SQLorder='order by campaign_id asc'; $CAMPAIGNlink='stage=CAMPAIGNDOWN';} + if (eregi("CAMPAIGNDOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPAIGNlink='stage=CAMPAIGNUP';} + if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} + if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' group by list_id $SQLorder"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + + $o=0; + while ($lists_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o++; + } + + echo "\n"; + echo "
    LIST IDLIST NAMEDESCRIPTIONLEADS COUNTACTIVELAST CALL DATEMODIFY
    $row[0] $row[1] $row[2] $row[3] $row[4]"; + + if (ereg('Y',$row[4])) + { + $active_lists++; + $camp_lists .= "'$row[0]',"; + echo ""; + } + else + { + $inactive_lists++; + echo ""; + echo " $row[5]MODIFY

    \n"; + + echo "
    \n"; + + $filterSQL = $filtersql_list[$lead_filter_id]; + $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); + if (strlen($filterSQL)>4) + {$fSQL = "and $filterSQL";} + else + {$fSQL = '';} + + $camp_lists = eregi_replace(".$","",$camp_lists); + echo "This campaign has $active_lists active lists and $inactive_lists inactive lists

    \n"; + + if ($display_dialable_count == 'Y') + { + ### call function to calculate and print dialable leads + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$fSQL); + echo " - HIDE

    "; + } + else + { + echo "Popup Dialable Leads Count"; + echo " - SHOW

    "; + } + + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id='$campaign_id' and status IN('READY')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $hopper_leads = "$rowx[0]"; + + echo "This campaign has $hopper_leads leads in the dial hopper

    \n"; + echo "Click here to see what leads are in the hopper right now

    \n"; + echo "Click here to see a VDAD report for this campaign

    \n"; + } + echo "Click here to see all CallBack Holds in this campaign

    \n"; + if ($LOGuser_level >= 9) + { + echo "

    Click here to see Admin chages to this campaign
    \n"; + } + echo "
    \n"; + } + + + ##### CAMPAIGN CUSTOM STATUSES ##### + if ($SUB==22) + { + + ##### get status category listings for dynamic pulldown + $stmt="SELECT vsc_id,vsc_name from vicidial_status_categories order by vsc_id desc"; + $rslt=mysql_query($stmt, $link); + $cats_to_print = mysql_num_rows($rslt); + $cats_list=""; + + $o=0; + while ($cats_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $cats_list .= "\n"; + $catsname_list["$rowx[0]"] = substr($rowx[1],0,20); + $o++; + } + + + echo "
    \n"; + echo "
    CUSTOM STATUSES WITHIN THIS CAMPAIGN:   $NWB#vicidial_campaign_statuses$NWE
    \n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AScategory = $rowx[5]; + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
    STATUSDESCRIPTIONSELECTABLEHUMAN ANSWERDELETE
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
    \n"; + echo "\n"; + echo "         \n"; + echo "   \n"; + echo "DELETE\n"; + echo "
    \n"; + + echo "
    ADD NEW CUSTOM CAMPAIGN STATUS
    \n"; + echo "\n"; + echo "\n"; + echo "Status:   \n"; + echo "Description:   \n"; + echo "Selectable:   \n"; + echo "Human Answer:   \n"; + echo "Category: \n"; + echo "  
    \n"; + echo "
    \n"; + + echo "

    \n"; + } + + ##### CAMPAIGN HOTKEYS ##### + if ($SUB==23) + { + echo "
    CUSTOM HOT KEYS WITHIN THIS CAMPAIGN:   $NWB#vicidial_campaign_hotkeys$NWE
    \n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_campaign_hotkeys where campaign_id='$campaign_id' order by hotkey"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + + } + + echo "
    HOT KEYSTATUSDESCRIPTIONDELETE
    $rowx[1]$rowx[0]$rowx[2]DELETE
    \n"; + + echo "
    ADD NEW CUSTOM CAMPAIGN HOT KEY
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Hotkey:   \n"; + echo "Status:   \n"; + echo "
    \n"; + echo "

    \n"; + } + + ##### CAMPAIGN LEAD RECYCLING ##### + if ($SUB==25) + { + ### display counts on leads that have hit the limit in this campaign + $stmt="SELECT list_id,active,list_name from vicidial_lists where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $camp_lists=''; + $o=0; + while ($lists_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + if (ereg("Y", $rowx[1])) {$camp_lists .= "'$rowx[0]',";} + $o++; + } + $camp_lists = eregi_replace(".$","",$camp_lists); + + $stmt="SELECT * from vicidial_lead_recycle where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $recycle_to_print = mysql_num_rows($rslt); + $o=0; + while ($recycle_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $RECYCLE_status[$o] = $rowx[2]; + $RECYCLE_delay[$o] = $rowx[3]; + $RECYCLE_attempt[$o] = $rowx[4]; + $RECYCLE_active[$o] = $rowx[5]; + $RECYCLE_count[$o] = "'Y','Y1','Y2','Y3','Y4','Y5','Y6','Y7','Y8','Y9','Y10'"; + if ($RECYCLE_attempt[$o]==1) {$RECYCLE_count[$o] = "'Y1','Y2','Y3','Y4','Y5','Y6','Y7','Y8','Y9','Y10'";} + if ($RECYCLE_attempt[$o]==2) {$RECYCLE_count[$o] = "'Y2','Y3','Y4','Y5','Y6','Y7','Y8','Y9','Y10'";} + if ($RECYCLE_attempt[$o]==3) {$RECYCLE_count[$o] = "'Y3','Y4','Y5','Y6','Y7','Y8','Y9','Y10'";} + if ($RECYCLE_attempt[$o]==4) {$RECYCLE_count[$o] = "'Y4','Y5','Y6','Y7','Y8','Y9','Y10'";} + if ($RECYCLE_attempt[$o]==5) {$RECYCLE_count[$o] = "'Y5','Y6','Y7','Y8','Y9','Y10'";} + if ($RECYCLE_attempt[$o]==6) {$RECYCLE_count[$o] = "'Y6','Y7','Y8','Y9','Y10'";} + if ($RECYCLE_attempt[$o]==7) {$RECYCLE_count[$o] = "'Y7','Y8','Y9','Y10'";} + if ($RECYCLE_attempt[$o]==8) {$RECYCLE_count[$o] = "'Y8','Y9','Y10'";} + if ($RECYCLE_attempt[$o]==9) {$RECYCLE_count[$o] = "'Y9','Y10'";} + if ($RECYCLE_attempt[$o]>9) {$RECYCLE_count[$o] = "'Y10'";} + $o++; + } + $o=0; + + echo "

    LEAD RECYCLING WITHIN THIS CAMPAIGN:   $NWB#vicidial_lead_recycle$NWE
    \n"; + echo "\n"; + echo "\n"; + + while ($recycle_to_print > $o) + { + $recycle_limit=0; + if (strlen($camp_lists) > 2) + { + $stmt="SELECT count(*) from vicidial_list where status='$RECYCLE_status[$o]' and list_id IN($camp_lists) and called_since_last_reset IN($RECYCLE_count[$o]);"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $counts_to_print = mysql_num_rows($rslt); + if ($counts_to_print > 0) + { + $rowx=mysql_fetch_row($rslt); + $recycle_limit = $rowx[0]; + } + } + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + $o++; + } + + echo "
    STATUSATTEMPT DELAYATTEMPT MAXIMUMLEADS AT LIMITACTIVE DELETE
      $RECYCLE_status[$o]
    \n"; + echo "\n"; + echo "\n"; + echo "
    $recycle_limit   DELETE
    \n"; + + echo "
    ADD NEW CAMPAIGN LEAD RECYCLE
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Status:   \n"; + echo "Attempt Delay: \n"; + echo "Attempt Maximum: \n"; + echo "
    \n"; + + echo "

    \n"; + echo "
    \n"; + echo "* Lead counts taken from active lists in the campaign only.\n"; + } + + ##### CAMPAIGN AUTO-ALT-NUMBER DIALING ##### + if ($SUB==26) + { + echo "

    AUTO ALT NUMBER DIALING FOR THIS CAMPAIGN:   $NWB#vicidial_auto_alt_dial_statuses$NWE
    \n"; + echo "\n"; + echo "\n"; + + $auto_alt_dial_statuses = preg_replace("/ -$/","",$auto_alt_dial_statuses); + $AADstatuses = explode(" ", $auto_alt_dial_statuses); + $AADs_to_print = (count($AADstatuses) -1); + + $o=0; + while ($AADs_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + $o++; + + echo "\n"; + echo "\n"; + } + + echo "
    STATUSESDELETE
    $AADstatuses[$o]DELETE
    \n"; + + echo "
    ADD NEW AUTO ALT NUMBER DIALING STATUS
    \n"; + echo "\n"; + echo "\n"; + echo "Status:   \n"; + echo "
    \n"; + + echo "

    \n"; + } + + ##### CAMPAIGN PAUSE CODES ##### + if ($SUB==27) + { + echo "

    AGENT PAUSE CODES FOR THIS CAMPAIGN:   $NWB#vicidial_pause_codes$NWE
    \n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_pause_codes where campaign_id='$campaign_id' order by pause_code"; + $rslt=mysql_query($stmt, $link); + $pause_codes_to_print = mysql_num_rows($rslt); + $o=0; + while ($pause_codes_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
    PAUSE CODESBILLABLEMODIFYDELETE
    $rowx[0]\n"; + echo "\n"; + echo "\n"; + echo "  \n"; + echo "
    DELETE
    \n"; + + echo "
    ADD NEW AGENT PAUSE CODE
    \n"; + echo "\n"; + echo "\n"; + echo "Pause Code: \n"; + echo "Pause Code Name: \n"; + echo "   Billable: \n"; + echo "
    \n"; + + echo "

    \n"; + } + + ##### CAMPAIGN QC SETTINGS ##### + if ( ($SUB==28) and ($SSqc_features_active > 0) ) + { + $stmt="SELECT list_id,list_name,active from vicidial_lists where campaign_id='$campaign_id'"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $qc_lists_list=''; + + $p=0; + while ($lists_to_print > $p) + { + $rowx=mysql_fetch_row($rslt); + $qc_lists_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + $QCscripts_list .= "\n"; + $scriptname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + ##### get shifts listings for pulldown + $stmt="SELECT shift_id,shift_name from vicidial_shifts order by shift_id"; + $rslt=mysql_query($stmt, $link); + $shifts_to_print = mysql_num_rows($rslt); + $QCshifts_list=""; + $o=0; + while ($shifts_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $QCshifts_list .= "\n"; + $shiftname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + echo "

    QC SETTINGS FOR THIS CAMPAIGN:
    \n"; + echo "
    \n"; + echo "\n"; + echo "\n"; +# echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "QC Enabled: $NWB#vicidial_campaigns-qc_enabled$NWE
    QC Statuses:
    $NWB#vicidial_campaigns-qc_statuses$NWE
    $qc_statuses_list
    QC Lists:
    $NWB#vicidial_campaigns-qc_lists$NWE
    $qc_lists_list
    QC WebForm: $NWB#vicidial_campaigns-qc_web_form_address$NWE
    QC Script: $NWB#vicidial_campaigns-qc_script$NWE
    QC Shift: $NWB#vicidial_campaigns-qc_shift_id$NWE
    QC Get Record Launch: $NWB#vicidial_campaigns-qc_get_record_launch$NWE
    QC Show Recording: $NWB#vicidial_campaigns-qc_show_recording$NWE
    \n"; + echo "

    \n"; + } + + ##### CAMPAIGN SURVEY SETTINGS ##### + if ($SUB=='20A') + { + + echo "

    SURVEY SETTINGS FOR THIS CAMPAIGN:
    \n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "
    \n"; + echo "\n"; + + echo "
    Survey First Audio File: $NWB#vicidial_campaigns-survey_first_audio_file$NWE
    Survey DTMF Digits: $NWB#vicidial_campaigns-survey_dtmf_digits$NWE
    Survey Not Interested Digit: $NWB#vicidial_campaigns-survey_ni_digit$NWE
    Survey Opt-in Audio File: $NWB#vicidial_campaigns-survey_opt_in_audio_file$NWE
    Survey Not Interested Audio File: $NWB#vicidial_campaigns-survey_ni_audio_file$NWE
    Survey Method: $NWB#vicidial_campaigns-survey_method$NWE
    Survey No-Response Action: $NWB#vicidial_campaigns-survey_no_response_action$NWE
    Survey Not Interested Status: $NWB#vicidial_campaigns-survey_ni_status$NWE
    Survey Response Digit Map: $NWB#vicidial_campaigns-survey_response_digit_map$NWE
    Survey Survey Xfer Extension: $NWB#vicidial_campaigns-survey_xfer_exten$NWE
    Survey Campaign Recording Directory: $NWB#vicidial_campaigns-survey_camp_record_dir$NWE
    Voicemail: $NWB#vicidial_campaigns-voicemail_ext$NWE
    \n"; + echo "

    \n"; + } + + + if ($SUB < 1) + { + echo "

    \n"; + echo "
    LOG ALL AGENTS OUT OF THIS CAMPAIGN

    \n"; + echo "EMERGENCY VDAC CLEAR FOR THIS CAMPAIGN

    \n"; + + if ($LOGdelete_campaigns > 0) + { + echo "

    DELETE THIS CAMPAIGN\n"; + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=34 modify campaign info in the system - Basic View +###################### + +if ( ($ADD==34) and ( (!eregi("$campaign_id",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) ) + {$ADD=30;} # send to not allowed screen if not in vicidial_user_groups allowed_campaigns list + +if ($ADD==34) +{ + if ($LOGmodify_campaigns==1) + { + if ($stage=='show_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='Y' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + if ($stage=='hide_dialable') + { + $stmt="UPDATE vicidial_campaigns set display_dialable_count='N' where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + } + + $stmt="SELECT * from vicidial_campaigns where campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $dial_status_a = $row[3]; + $dial_status_b = $row[4]; + $dial_status_c = $row[5]; + $dial_status_d = $row[6]; + $dial_status_e = $row[7]; + $lead_order = $row[8]; + $hopper_level = $row[13]; + $auto_dial_level = $row[14]; + $next_agent_call = $row[15]; + $local_call_time = $row[16]; + $voicemail_ext = $row[17]; + $dial_timeout = $row[18]; + $dial_prefix = $row[19]; + $campaign_cid = $row[20]; + $campaign_vdad_exten = $row[21]; + $script_id = $row[25]; + $get_call_launch = $row[26]; + $lead_filter_id = $row[35]; + if ($lead_filter_id=='') {$lead_filter_id='NONE';} + $display_dialable_count = $row[39]; + $dial_method = $row[46]; + $adaptive_intensity = $row[51]; + $campaign_description = $row[57]; + $campaign_changedate = $row[58]; + $campaign_stats_refresh = $row[59]; + $campaign_logindate = $row[60]; + $dial_statuses = $row[61]; + $list_order_mix = $row[64]; + $default_xfer_group = $row[67]; + $campaign_allow_inbound = $row[65]; + $default_xfer_group = $row[67]; + + if (ereg("DISABLED",$list_order_mix)) + {$DEFlistDISABLE = ''; $DEFstatusDISABLED=0;} + else + {$DEFlistDISABLE = 'disabled'; $DEFstatusDISABLED=1;} + + $stmt="SELECT * from vicidial_statuses order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $statuses_list=''; + $dial_statuses_list=''; + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + if ($rowx[0] != 'CBHOLD') {$dial_statuses_list .= "\n";} + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + $o++; + } + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $Cstatuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($Cstatuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $statuses_list .= "\n"; + if ($rowx[0] != 'CBHOLD') {$dial_statuses_list .= "\n";} + $statname_list["$rowx[0]"] = "$rowx[1]"; + $LRstatuses_list .= "\n"; + if (eregi("Y",$rowx[2])) + {$HKstatuses_list .= "\n";} + $o++; + } + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) -1); + + $stmt="SELECT count(*) from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE'"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] < 1) + { + $mixes_list="\n"; + $mixname_list["DISABLED"] = "DISABLED"; + } + else + { + ##### get list_mix listings for dynamic pulldown + $stmt="SELECT vcl_id,vcl_name from vicidial_campaigns_list_mix where campaign_id='$campaign_id' and status='ACTIVE' limit 1"; + $rslt=mysql_query($stmt, $link); + $mixes_to_print = mysql_num_rows($rslt); + $mixes_list="\n"; + + $o=0; + while ($mixes_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $mixes_list .= "\n"; + $mixname_list["ACTIVE"] = "$rowx[0] - $rowx[1]"; + $o++; + } + } + + if ($SUB<1) {$camp_detail_color=$subcamp_color;} + else {$camp_detail_color=$campaigns_color;} + if ($SUB==22) {$camp_statuses_color=$subcamp_color;} + else {$camp_statuses_color=$campaigns_color;} + if ($SUB==23) {$camp_hotkeys_color=$subcamp_color;} + else {$camp_hotkeys_color=$campaigns_color;} + if ($SUB==25) {$camp_recycle_color=$subcamp_color;} + else {$camp_recycle_color=$campaigns_color;} + if ($SUB==26) {$camp_autoalt_color=$subcamp_color;} + else {$camp_autoalt_color=$campaigns_color;} + if ($SUB==27) {$camp_pause_color=$subcamp_color;} + else {$camp_pause_color=$campaigns_color;} + if ($SUB==29) {$camp_listmix_color=$subcamp_color;} + else {$camp_listmix_color=$campaigns_color;} + echo "\n"; + echo ""; + echo ""; + echo ""; + if ($SSoutbound_autodial_active > 0) + { + echo ""; + } + echo "\n"; + echo "\n"; + if ($SSoutbound_autodial_active < 1) + { + echo ""; + } + echo "
    $row[0]: Basic View Detail View List Mix Real-Time Screen  
    \n"; + + if ($SUB < 1) + { + echo "
    \n"; + echo ""; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + if ($SSoutbound_autodial_active > 0) + { + echo "\n"; + + $o=0; + while ($Ds_to_print > $o) + { + $o++; + $Dstatus = $Dstatuses[$o]; + + echo "\n"; + } + else + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "REMOVE\n"; + } + } + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + } + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
    Campaign ID: $row[0]$NWB#vicidial_campaigns-campaign_id$NWE
    Campaign Name: $NWB#vicidial_campaigns-campaign_name$NWE
    Campaign Description: $row[57]$NWB#vicidial_campaigns-campaign_description$NWE
    Campaign Change Date: $campaign_changedate   $NWB#vicidial_campaigns-campaign_changedate$NWE
    Campaign Login Date: $campaign_logindate   $NWB#vicidial_campaigns-campaign_logindate$NWE
    Active: $NWB#vicidial_campaigns-active$NWE
    Park Extension: $row[9] - $row[10]$NWB#vicidial_campaigns-park_ext$NWE
    Web Form: $row[11]$NWB#vicidial_campaigns-web_form_address$NWE
    Allow Closers: $row[12] $NWB#vicidial_campaigns-allow_closers$NWE
    Default Transfer Group: $default_xfer_group $NWB#vicidial_campaigns-default_xfer_group$NWE
    Allow Inbound and Blended: $campaign_allow_inbound $NWB#vicidial_campaigns-campaign_allow_inbound$NWE
    Dial Status $o: \n"; + if ($DEFstatusDISABLED > 0) + { + echo "$Dstatus - $statname_list[$Dstatus]         \n"; + echo "REMOVE
    Add A Dial Status:   \n"; + echo "     $NWB#vicidial_campaigns-dial_status$NWE
    List Order: $NWB#vicidial_campaigns-lead_order$NWE
    List Mix: $NWB#vicidial_campaigns-list_order_mix$NWE
    Lead Filter: $NWB#vicidial_campaigns-lead_filter_id$NWE
    Hopper Level: $NWB#vicidial_campaigns-hopper_level$NWE
    Force Reset of Hopper: $NWB#vicidial_campaigns-force_reset_hopper$NWE
    Dial Method: $NWB#vicidial_campaigns-dial_method$NWE
    Auto Dial Level: (0 = off)$NWB#vicidial_campaigns-auto_dial_level$NWE
    Adapt Intensity Modifier: $NWB#vicidial_campaigns-adaptive_intensity$NWE
    Script: $script_id
    Get Call Launch: $get_call_launch
    \n"; + + echo "
    \n"; + + if ($SSoutbound_autodial_active > 0) + { + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    LISTS WITHIN THIS CAMPAIGN:   $NWB#vicidial_campaign_lists$NWE\n"; + + echo "
    \n"; + echo ""; + + $LISTlink='stage=LISTIDDOWN'; + $TALLYlink='stage=TALLYDOWN'; + $ACTIVElink='stage=ACTIVEDOWN'; + $CAMPAIGNlink='stage=CAMPAIGNDOWN'; + $CALLDATElink='stage=CALLDATEDOWN'; + $SQLorder='order by list_id'; + if (eregi("LISTIDUP",$stage)) {$SQLorder='order by list_id asc'; $LISTlink='stage=LISTIDDOWN';} + if (eregi("LISTIDDOWN",$stage)) {$SQLorder='order by list_id desc'; $LISTlink='stage=LISTIDUP';} + if (eregi("TALLYUP",$stage)) {$SQLorder='order by tally asc'; $TALLYlink='stage=TALLYDOWN';} + if (eregi("TALLYDOWN",$stage)) {$SQLorder='order by tally desc'; $TALLYlink='stage=TALLYUP';} + if (eregi("ACTIVEUP",$stage)) {$SQLorder='order by active asc'; $ACTIVElink='stage=ACTIVEDOWN';} + if (eregi("ACTIVEDOWN",$stage)) {$SQLorder='order by active desc'; $ACTIVElink='stage=ACTIVEUP';} + if (eregi("CAMPAIGNUP",$stage)) {$SQLorder='order by campaign_id asc'; $CAMPAIGNlink='stage=CAMPAIGNDOWN';} + if (eregi("CAMPAIGNDOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPAIGNlink='stage=CAMPAIGNUP';} + if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} + if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id and campaign_id='$campaign_id' group by list_id $SQLorder"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + + $o=0; + while ($lists_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o++; + } + + echo "\n"; + echo "
    LIST IDLIST NAMEDESCRIPTIONLEADS COUNTACTIVELAST CALL DATEMODIFY
    $row[0] $row[1] $row[2] $row[3] $row[4]"; + + if (ereg('Y',$row[4])) + { + $active_lists++; + $camp_lists .= "'$row[0]',"; + echo ""; + } + else + { + $inactive_lists++; + echo ""; + echo " $row[5]MODIFY

    \n"; + echo "
    \n"; + + $filterSQL = $filtersql_list[$lead_filter_id]; + $filterSQL = eregi_replace("^and|and$|^or|or$","",$filterSQL); + if (strlen($filterSQL)>4) + {$fSQL = "and $filterSQL";} + else + {$fSQL = '';} + + $camp_lists = eregi_replace(".$","",$camp_lists); + echo "This campaign has $active_lists active lists and $inactive_lists inactive lists

    \n"; + + + if ($display_dialable_count == 'Y') + { + ### call function to calculate and print dialable leads + dialable_leads($DB,$link,$local_call_time,$dial_statuses,$camp_lists,$fSQL); + echo " - HIDE

    "; + } + else + { + echo "Popup Dialable Leads Count"; + echo " - SHOW

    "; + } + + + + $stmt="SELECT count(*) FROM vicidial_hopper where campaign_id='$campaign_id' and status IN('READY')"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $hopper_leads = "$rowx[0]"; + + echo "This campaign has $hopper_leads leads in the dial hopper

    \n"; + echo "Click here to see what leads are in the hopper right now

    \n"; + echo "Click here to see a VDAD report for this campaign

    \n"; + } + echo "Click here to see all CallBack Holds in this campaign

    \n"; + if ($LOGuser_level >= 9) + { + echo "

    Click here to see Admin chages to this campaign
    \n"; + } + + echo "
    \n"; + + echo "
    \n"; + + ### list of agent rank or skill-level for this campaign + echo "
    \n"; + echo "
    AGENT RANKS FOR THIS CAMPAIGN:
    \n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT user,campaign_rank,calls_today from vicidial_campaign_agents where campaign_id='$campaign_id'"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
    USER     RANK     CALLS TODAY
    $rowx[0]$rowx[1]$rowx[2]

    \n"; + + + echo "
    LOG ALL AGENTS OUT OF THIS CAMPAIGN

    \n"; + + + if ($LOGdelete_campaigns > 0) + { + echo "

    DELETE THIS CAMPAIGN\n"; + } + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=31 or 34 and SUB=29 for list mixes +###################### +if ( ( ($ADD==34) or ($ADD==31) ) and ( (!eregi("$campaign_id",$LOGallowed_campaigns)) and (!eregi("ALL-CAMPAIGNS",$LOGallowed_campaigns)) ) ) + {$ADD=30;} # send to not allowed screen if not in vicidial_user_groups allowed_campaigns list + +if ( ($ADD==34) or ($ADD==31) ) +{ + if ($LOGmodify_campaigns==1) + { + ##### CAMPAIGN LIST MIX SETTINGS ##### + if ($SUB==29) + { + ##### get list_id listings for dynamic pulldown + $stmt="SELECT list_id,list_name from vicidial_lists where campaign_id='$campaign_id' order by list_id"; + $rslt=mysql_query($stmt, $link); + $mixlists_to_print = mysql_num_rows($rslt); + $mixlists_list=""; + + $o=0; + while ($mixlists_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $mixlists_list .= "\n"; + $mixlistsname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + + echo "

    LIST MIXES FOR THIS CAMPAIGN:   $NWB#vicidial_campaigns-list_order_mix$NWE
    \n"; + + echo "

    Experimental Feature in development!!! NON-FUNCTIONAL
    \n"; + + + $stmt="SELECT * from vicidial_campaigns_list_mix where campaign_id='$campaign_id' order by status, vcl_id"; + $rslt=mysql_query($stmt, $link); + $listmixes = mysql_num_rows($rslt); + $o=0; + while ($listmixes > $o) + { + $rowx=mysql_fetch_row($rslt); + $vcl_id=$rowx[0]; + $o++; + + if ($o < 2) + {$tablecolor='bgcolor="#99FF99"'; $bgcolor='bgcolor="#CCFFCC"';} + else + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$tablecolor='bgcolor="#B9CBFD"'; $bgcolor='bgcolor="#9BB9FB"';} + else + {$tablecolor='bgcolor="#9BB9FB"'; $bgcolor='bgcolor="#B9CBFD"';} + } + echo "
    \n"; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + } + else + {echo "$rowx[5]\n";} + echo "\n"; + echo "\n"; + +# list_id|order|percent|statuses|:list_id|order|percent|statuses|:... +# 101|1|40| A B NA -|:102|2|25| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -| +# INSERT INTO vicidial_campaigns_list_mix values('TESTMIX','TESTCAMP List Mix','TESTCAMP','101|1|40| A B NA -|:102|2|25| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -|','IN_ORDER','ACTIVE'); +# INSERT INTO vicidial_campaigns_list_mix values('TESTMIX2','TESTCAMP List Mix2','TESTCAMP','101|1|20| A B -|:102|2|45| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -|','IN_ORDER','ACTIVE'); +# INSERT INTO vicidial_campaigns_list_mix values('TESTMIX3','TESTCAMP List Mix3','TESTCAMP','101|1|30| A NA -|:102|2|35| NEW -|:103|3|30| DROP CALLBK -|:101|4|5| DROP -|','IN_ORDER','ACTIVE'); + + $MIXentries = $MT; + $MIXentries = explode(":", $rowx[3]); + $Ms_to_print = (count($MIXentries) - 0); + $q=0; + while ($Ms_to_print > $q) + { + $MIXdetails = explode('|', $MIXentries[$q]); + $MIXdetailsLIST = $MIXdetails[0]; + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) - 0); + $Dsql = ''; + $r=0; + while ($Ds_to_print > $r) + { + $r++; + $Dsql .= "'$Dstatuses[$r]',"; + } + $Dsql = preg_replace("/,$/","",$Dsql); + + echo "\n"; + + echo "\n"; + + echo "\n"; + + + echo "\n"; + echo "\n"; + + + echo "\n"; + + + $q++; + + } + + + + + echo "\n"; + + echo "\n"; + + + echo "\n"; + + if ($q > 9) {$AE_disabled = 'DISABLED';} + else {$AE_disabled = '';} + echo "\n"; + echo "
    \n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$vcl_id:\n"; + echo "\n"; + echo "     DELETE LIST MIX
    Status: \n"; + if ($rowx[5]=='INACTIVE') + { + echo "$rowx[5]\n"; + echo "SET TO ACTIVEMethod:\n"; + echo "
    LIST IDPRIORITY% MIXSTATUSES
    \n"; + echo "\n"; + echo "List: $MIXdetailsLIST   REMOVE\n"; + + + + echo " \n"; + echo "ADD   \n"; + echo "REMOVE\n"; + echo "
    \n"; + echo "Difference %: \n"; + echo "   \n"; + echo "\n"; + echo "
    \n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "List:
    \n"; + echo "
    \n"; + } + + + echo "

    ADD NEW LIST MIX
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Mix ID: Mix Name: Mix Method: "; + echo "
    List: Dial Status:  
    \n"; + + echo "
    \n"; + + } + } +} + + +###################### +# ADD=30 campaign not allowed +###################### + +if ($ADD==30) +{ +echo "
    \n"; + echo ""; +echo "You do not have permission to view campaign $campaign_id\n"; +} + + +###################### +# ADD=32 display all campaign statuses +###################### +if ($ADD==32) +{ +echo "
    \n"; + echo ""; + +echo "
    CUSTOM CAMPAIGN STATUSES LISTINGS:\n"; +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
    CAMPAIGNNAMESTATUSESMODIFY
    $campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT status from vicidial_campaign_statuses where campaign_id='$campaigns_id_list[$o]' order by status"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY STATUSES
    \n"; +} + + +###################### +# ADD=33 display all campaign hotkeys +###################### +if ($ADD==33) +{ +echo "
    \n"; + echo ""; + +echo "
    CAMPAIGN HOTKEYS LISTINGS:\n"; +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
    CAMPAIGNNAMEHOTKEYSMODIFY
    $campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT status from vicidial_campaign_hotkeys where campaign_id='$campaigns_id_list[$o]' order by status"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY HOTKEYS
    \n"; +} + + +###################### +# ADD=35 display all campaign lead recycle entries +###################### +if ($ADD==35) +{ +echo "
    \n"; + echo ""; + +echo "
    CAMPAIGN LEAD RECYCLE LISTINGS:\n"; +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
    CAMPAIGNNAMELEAD RECYCLESMODIFY
    $campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT status from vicidial_lead_recycle where campaign_id='$campaigns_id_list[$o]' order by status"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY LEAD RECYCLES
    \n"; +} + + +###################### +# ADD=36 display all campaign auto-alt dial entries +###################### +if ($ADD==36) +{ +echo "
    \n"; + echo ""; + +echo "
    CAMPAIGN LEAD AUTO-ALT DIAL LISTINGS:\n"; +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
    CAMPAIGNNAMEAUTO-ALT DIALMODIFY
    $campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT auto_alt_dial_statuses from vicidial_campaigns where campaign_id='$campaigns_id_list[$o]';"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if (strlen($row[0])<3) + {echo "NONE";} + echo "MODIFY AUTO-ALT DIAL
    \n"; +} + + +###################### +# ADD=37 display all campaign agent pause codes +###################### +if ($ADD==37) +{ +echo "
    \n"; + echo ""; + +echo "
    CAMPAIGN AGENT PAUSE CODE LISTINGS:\n"; +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
    CAMPAIGNNAMEPAUSE CODESMODIFY
    $campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT pause_code from vicidial_pause_codes where campaign_id='$campaigns_id_list[$o]' order by pause_code;"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY PAUSE CODES
    \n"; +} + + +###################### +# ADD=39 display all campaign list mixes +###################### +if ($ADD==39) +{ +echo "
    \n"; + echo ""; + +echo "
    CAMPAIGN LIST MIX LISTINGS:\n"; +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $campaigns_id_list[$o] = $row[0]; + $campaigns_name_list[$o] = $row[1]; + $o++; + } + + $o=0; + while ($campaigns_to_print > $o) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
    CAMPAIGNNAMELIST MIXMODIFY
    $campaigns_id_list[$o] $campaigns_name_list[$o] "; + + $stmt="SELECT vcl_id from vicidial_campaigns_list_mix where campaign_id='$campaigns_id_list[$o]' order by status,vcl_id;"; + $rslt=mysql_query($stmt, $link); + $campstatus_to_print = mysql_num_rows($rslt); + $p=0; + while ( ($campstatus_to_print > $p) and ($p < 10) ) + { + $row=mysql_fetch_row($rslt); + echo "$row[0] "; + $p++; + } + if ($p<1) + {echo "NONE";} + echo "MODIFY LIST MIX
    \n"; +} + + + + + +###################### +# ADD=311 modify list info in the system +###################### + +if ($ADD==311) +{ + if ($LOGmodify_lists==1) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT * from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $campaign_id = $row[2]; + $active = $row[3]; + $list_description = $row[4]; + $list_changedate = $row[5]; + $list_lastcalldate = $row[6]; + + # grab names of global statuses and statuses in the selected campaign + $stmt="SELECT * from vicidial_statuses order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($statuses_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $statuses_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + $stmt="SELECT * from vicidial_campaign_statuses where campaign_id='$campaign_id' order by status"; + $rslt=mysql_query($stmt, $link); + $Cstatuses_to_print = mysql_num_rows($rslt); + + $o=0; + while ($Cstatuses_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $statuses_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + # end grab status names + + + echo "
    MODIFY A LISTS RECORD: $row[0]
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    List ID: $row[0]$NWB#vicidial_lists-list_id$NWE
    List Name: $NWB#vicidial_lists-list_name$NWE
    List Description: $NWB#vicidial_lists-list_description$NWE
    Campaign: $NWB#vicidial_lists-campaign_id$NWE
    Active: $NWB#vicidial_lists-active$NWE
    Reset Lead-Called-Status for this list: $NWB#vicidial_lists-reset_list$NWE
    List Change Date: $list_changedate   $NWB#vicidial_lists-list_changedate$NWE
    List Last Call Date: $list_lastcalldate   $NWB#vicidial_lists-list_lastcalldate$NWE
    \n"; + + echo "
    \n"; + echo "
    STATUSES WITHIN THIS LIST:
    \n"; + echo "\n"; + echo "\n"; + + $leads_in_list = 0; + $leads_in_list_N = 0; + $leads_in_list_Y = 0; + $stmt="SELECT status,called_since_last_reset,count(*) from vicidial_list where list_id='$list_id' group by status,called_since_last_reset order by status,called_since_last_reset"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + + $o=0; + $lead_list['count'] = 0; + $lead_list['Y_count'] = 0; + $lead_list['N_count'] = 0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + + $lead_list['count'] = ($lead_list['count'] + $rowx[2]); + if ($rowx[1] == 'N') + { + $since_reset = 'N'; + $since_resetX = 'Y'; + } + else + { + $since_reset = 'Y'; + $since_resetX = 'N'; + } + $lead_list[$since_reset][$rowx[0]] = ($lead_list[$since_reset][$rowx[0]] + $rowx[2]); + $lead_list[$since_reset.'_count'] = ($lead_list[$since_reset.'_count'] + $rowx[2]); + #If opposite side is not set, it may not in the future so give it a value of zero + if (!isset($lead_list[$since_resetX][$rowx[0]])) + { + $lead_list[$since_resetX][$rowx[0]]=0; + } + $o++; + } + + $o=0; + if ($lead_list['count'] > 0) + { + while (list($dispo,) = each($lead_list[$since_reset])) + { + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + if ($dispo == 'CBHOLD') + { + $CLB=""; + $CLE=""; + } + else + { + $CLB=''; + $CLE=''; + } + + echo "\n"; + $o++; + } + } + + echo "\n"; + echo "\n"; + + echo "
    STATUSSTATUS NAMECALLEDNOT CALLED
    $CLB$dispo$CLE$statuses_list[$dispo]".$lead_list['Y'][$dispo]."".$lead_list['N'][$dispo]."
    SUBTOTALS$lead_list[Y_count]$lead_list[N_count]
    TOTAL$lead_list[count]

    \n"; + unset($lead_list); + + + echo "
    \n"; + echo "
    TIME ZONES WITHIN THIS LIST:
    \n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT gmt_offset_now,called_since_last_reset,count(*) from vicidial_list where list_id='$list_id' group by gmt_offset_now,called_since_last_reset order by gmt_offset_now,called_since_last_reset"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + + $o=0; + $plus='+'; + $lead_list['count'] = 0; + $lead_list['Y_count'] = 0; + $lead_list['N_count'] = 0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + + $lead_list['count'] = ($lead_list['count'] + $rowx[2]); + if ($rowx[1] == 'N') + { + $since_reset = 'N'; + $since_resetX = 'Y'; + } + else + { + $since_reset = 'Y'; + $since_resetX = 'N'; + } + $lead_list[$since_reset][$rowx[0]] = ($lead_list[$since_reset][$rowx[0]] + $rowx[2]); + $lead_list[$since_reset.'_count'] = ($lead_list[$since_reset.'_count'] + $rowx[2]); + #If opposite side is not set, it may not in the future so give it a value of zero + if (!isset($lead_list[$since_resetX][$rowx[0]])) + { + $lead_list[$since_resetX][$rowx[0]]=0; + } + $o++; + } + + if ($lead_list['count'] > 0) + { + while (list($tzone,) = each($lead_list[$since_reset])) + { + $LOCALzone=3600 * $tzone; + $LOCALdate=gmdate("D M Y H:i", time() + $LOCALzone); + + if ($tzone >= 0) {$DISPtzone = "$plus$tzone";} + else {$DISPtzone = "$tzone";} + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + } + + echo "\n"; + echo "\n"; + + echo "
    GMT OFFSET NOW (local time)CALLEDNOT CALLED
    ".$DISPtzone."     ($LOCALdate)".$lead_list['Y'][$tzone]."".$lead_list['N'][$tzone]."
    SUBTOTALS$lead_list[Y_count]$lead_list[N_count]
    TOTAL$lead_list[count]

    \n"; + unset($lead_list); + + + + $leads_in_list = 0; + $leads_in_list_N = 0; + $leads_in_list_Y = 0; + $stmt="SELECT status,called_count,count(*) from vicidial_list where list_id='$list_id' group by status,called_count order by status,called_count"; + $rslt=mysql_query($stmt, $link); + $status_called_to_print = mysql_num_rows($rslt); + + $o=0; + $sts=0; + $first_row=1; + $all_called_first=1000; + $all_called_last=0; + while ($status_called_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $leads_in_list = ($leads_in_list + $rowx[2]); + $count_statuses[$o] = "$rowx[0]"; + $count_called[$o] = "$rowx[1]"; + $count_count[$o] = "$rowx[2]"; + $all_called_count[$rowx[1]] = ($all_called_count[$rowx[1]] + $rowx[2]); + + if ( (strlen($status[$sts]) < 1) or ($status[$sts] != "$rowx[0]") ) + { + if ($first_row) {$first_row=0;} + else {$sts++;} + $status[$sts] = "$rowx[0]"; + $status_called_first[$sts] = "$rowx[1]"; + if ($status_called_first[$sts] < $all_called_first) {$all_called_first = $status_called_first[$sts];} + } + $leads_in_sts[$sts] = ($leads_in_sts[$sts] + $rowx[2]); + $status_called_last[$sts] = "$rowx[1]"; + if ($status_called_last[$sts] > $all_called_last) {$all_called_last = $status_called_last[$sts];} + + $o++; + } + + + + + echo "
    \n"; + echo "
    CALLED COUNTS WITHIN THIS LIST:
    \n"; + echo "\n"; + echo ""; + $first = $all_called_first; + while ($first <= $all_called_last) + { + if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#AFEEEE"';} + else{$AB='bgcolor="#E0FFFF"';} + echo ""; + $first++; + } + echo "\n"; + + $sts=0; + $statuses_called_to_print = count($status); + while ($statuses_called_to_print > $sts) + { + $Pstatus = $status[$sts]; + if (eregi("1$|3$|5$|7$|9$", $sts)) + {$bgcolor='bgcolor="#B9CBFD"'; $AB='bgcolor="#9BB9FB"';} + else + {$bgcolor='bgcolor="#9BB9FB"'; $AB='bgcolor="#B9CBFD"';} + # echo "$status[$sts]|$status_called_first[$sts]|$status_called_last[$sts]|$leads_in_sts[$sts]|\n"; + # echo "$status[$sts]|"; + echo ""; + + $first = $all_called_first; + while ($first <= $all_called_last) + { + if (eregi("1$|3$|5$|7$|9$", $sts)) + { + if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#9BB9FB"';} + else{$AB='bgcolor="#B9CBFD"';} + } + else + { + if (eregi("0$|2$|4$|6$|8$", $first)) {$AB='bgcolor="#9BB9FB"';} + else{$AB='bgcolor="#B9CBFD"';} + } + + $called_printed=0; + $o=0; + while ($status_called_to_print > $o) + { + if ( ($count_statuses[$o] == "$Pstatus") and ($count_called[$o] == "$first") ) + { + $called_printed++; + echo ""; + } + + + $o++; + } + if (!$called_printed) + {echo "";} + $first++; + } + echo "\n\n"; + + $sts++; + } + + echo ""; + $first = $all_called_first; + while ($first <= $all_called_last) + { + if (eregi("1$|3$|5$|7$|9$", $first)) {$AB='bgcolor="#AFEEEE"';} + else{$AB='bgcolor="#E0FFFF"';} + echo ""; + $first++; + } + echo "\n"; + + echo "
    STATUSSTATUS NAME$firstSUBTOTAL
    $Pstatus$statuses_list[$Pstatus] $count_count[$o]  $leads_in_sts[$sts]
    TOTAL$all_called_count[$first]$leads_in_list

    \n"; + + + + + + echo "
    \n"; + + echo "

    Click here to see all CallBack Holds in this list

    \n"; + echo "

    Click here to download this list

    \n"; + + if ($LOGdelete_lists > 0) + { + echo "

    DELETE THIS LIST\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Click here to see Admin chages to this list
    \n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + + +###################### +# ADD=3111 modify in-group info in the system +###################### + +if ($ADD==3111) +{ + if ($LOGmodify_ingroups==1) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT * from vicidial_inbound_groups where group_id='$group_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $group_name = $row[1]; + $group_color = $row[2]; + $active = $row[3]; + $web_form_address = stripslashes($row[4]); + $voicemail_ext = $row[5]; + $next_agent_call = $row[6]; + $fronter_display = $row[7]; + $script_id = $row[8]; + $get_call_launch = $row[9]; + $xferconf_a_dtmf = $row[10]; + $xferconf_a_number = $row[11]; + $xferconf_b_dtmf = $row[12]; + $xferconf_b_number = $row[13]; + $drop_call_seconds = $row[14]; + $drop_action = $row[15]; + $drop_exten = $row[16]; + $call_time_id = $row[17]; + $after_hours_action = $row[18]; + $after_hours_message_filename = $row[19]; + $after_hours_exten = $row[20]; + $after_hours_voicemail = $row[21]; + $welcome_message_filename = $row[22]; + $moh_context = $row[23]; + $onhold_prompt_filename = $row[24]; + $prompt_interval = $row[25]; + $agent_alert_exten = $row[26]; + $agent_alert_delay = $row[27]; + $default_xfer_group = $row[28]; + $queue_priority = $row[29]; + $drop_inbound_group = $row[30]; + $ingroup_recording_override = $row[31]; + $ingroup_rec_filename = $row[32]; + $afterhours_xfer_group = $row[33]; + $qc_enabled = $row[34]; + $qc_statuses = $row[35]; + $qc_shift_id = $row[36]; + $qc_get_record_launch = $row[37]; + $qc_show_recording = $row[38]; + $qc_web_form_address = stripslashes($row[39]); + $qc_script = $row[40]; + $play_place_in_line = $row[41]; + $play_estimate_hold_time = $row[42]; + $hold_time_option = $row[43]; + $hold_time_option_seconds = $row[44]; + $hold_time_option_exten = $row[45]; + $hold_time_option_voicemail = $row[46]; + $hold_time_option_xfer_group = $row[47]; + $hold_time_option_callback_filename = $row[48]; + $hold_time_option_callback_list_id = $row[49]; + $hold_recall_xfer_group = $row[50]; + $no_delay_call_route = $row[51]; + $play_welcome_message = $row[52]; + $answer_sec_pct_rt_stat_one = $row[53]; + $answer_sec_pct_rt_stat_two = $row[54]; + $default_group_alias = $row[55]; + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') order by group_id"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $Dgroups_menu=''; + $Dgroups_selected=0; + $Agroups_menu=''; + $Agroups_selected=0; + $Hgroups_menu=''; + $Hgroups_selected=0; + $Tgroups_menu=''; + $Tgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "\n"; + $Dgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + if ($group_id!=$rowx[0]) + { + $Agroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Tgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + $Hgroups_menu .= "value=\"$rowx[0]\">$rowx[0] - $rowx[1]\n"; + } + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "\n";} + else + {$Xgroups_menu .= "\n";} + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "\n";} + else + {$Dgroups_menu .= "\n";} + if ($Agroups_selected < 1) + {$Agroups_menu .= "\n";} + else + {$Agroups_menu .= "\n";} + if ($Tgroups_selected < 1) + {$Tgroups_menu .= "\n";} + else + {$Tgroups_menu .= "\n";} + if ($Hgroups_selected < 1) + {$Hgroups_menu .= "\n";} + else + {$Hgroups_menu .= "\n";} + + + echo "
    MODIFY A GROUPS RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + ##### get groups_alias listings for dynamic default group alias pulldown list menu + $stmt="SELECT group_alias_id,group_alias_name from groups_alias where active='Y' order by group_alias_id"; + $rslt=mysql_query($stmt, $link); + $group_alias_to_print = mysql_num_rows($rslt); + $group_alias_menu=''; + $group_alias_selected=0; + $o=0; + while ($group_alias_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $group_alias_menu .= "\n"; + $o++; + } + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + if ($SSqc_features_active > 0) + { + echo "\n"; + echo "\n"; + + ##### get status listings for dynamic pulldown + $qc_statuses = preg_replace("/^ | -$/","",$qc_statuses); + $QCstatuses = explode(" ", $qc_statuses); + $QCs_to_print = (count($QCstatuses) -0); + $stmt="SELECT * from vicidial_statuses where status NOT IN('QUEUE','INCALL') order by status"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $qc_statuses_list=''; + + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $qc_statuses_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + if (!ereg("\"$rowx[0]\"",$qc_statuses_list)) + { + $qc_statuses_list .= " $o) + { + $rowx=mysql_fetch_row($rslt); + $QCscripts_list .= "\n"; + $scriptname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + ##### get shifts listings for pulldown + $stmt="SELECT shift_id,shift_name from vicidial_shifts order by shift_id"; + $rslt=mysql_query($stmt, $link); + $shifts_to_print = mysql_num_rows($rslt); + $QCshifts_list=""; + $o=0; + while ($shifts_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $QCshifts_list .= "\n"; + $shiftname_list["$rowx[0]"] = "$rowx[1]"; + $o++; + } + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
    Group ID: $row[0]$NWB#vicidial_inbound_groups-group_id$NWE
    Group Name: $NWB#vicidial_inbound_groups-group_name$NWE
    Group Color: $NWB#vicidial_inbound_groups-group_color$NWE
    Active: $NWB#vicidial_inbound_groups-active$NWE
    Web Form: $NWB#vicidial_inbound_groups-web_form_address$NWE
    Next Agent Call: $NWB#vicidial_inbound_groups-next_agent_call$NWE
    Queue Priority: $NWB#vicidial_inbound_groups-queue_priority$NWE
    Fronter Display: $NWB#vicidial_inbound_groups-fronter_display$NWE
    Script: $NWB#vicidial_inbound_groups-ingroup_script$NWE
    Get Call Launch: $NWB#vicidial_inbound_groups-get_call_launch$NWE
    Transfer-Conf DTMF 1: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
    Transfer-Conf Number 1: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
    Transfer-Conf DTMF 2: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
    Transfer-Conf Number 2: $NWB#vicidial_inbound_groups-xferconf_a_dtmf$NWE
    Drop Call Seconds: $NWB#vicidial_inbound_groups-drop_call_seconds$NWE
    Drop Action: $NWB#vicidial_inbound_groups-drop_action$NWE
    Drop Exten: $NWB#vicidial_inbound_groups-drop_exten$NWE
    Voicemail: $NWB#vicidial_inbound_groups-voicemail_ext$NWE
    Drop Transfer Group: $NWB#vicidial_inbound_groups-drop_inbound_group$NWE
    Call Time: $NWB#vicidial_inbound_groups-call_time_id$NWE
    After Hours Action: $NWB#vicidial_inbound_groups-after_hours_action$NWE
    After Hours Message Filename: $NWB#vicidial_inbound_groups-after_hours_message_filename$NWE
    After Hours Extension: $NWB#vicidial_inbound_groups-after_hours_exten$NWE
    After Hours Voicemail: $NWB#vicidial_inbound_groups-after_hours_voicemail$NWE
    After Hours Transfer Group: $NWB#vicidial_inbound_groups-afterhours_xfer_group$NWE
    Welcome Message Filename: $NWB#vicidial_inbound_groups-welcome_message_filename$NWE
    Play Welcome Message: $NWB#vicidial_inbound_groups-play_welcome_message$NWE
    Music On Hold Context: $NWB#vicidial_inbound_groups-moh_context$NWE
    On Hold Prompt Filename: $NWB#vicidial_inbound_groups-onhold_prompt_filename$NWE
    On Hold Prompt Interval: $NWB#vicidial_inbound_groups-prompt_interval$NWE
    Play Place in Line: $NWB#vicidial_inbound_groups-play_place_in_line$NWE
    Play Estimated Hold Time: $NWB#vicidial_inbound_groups-play_estimate_hold_time$NWE
    Hold Time Option: $NWB#vicidial_inbound_groups-hold_time_option$NWE
    Hold Time Option Seconds: $NWB#vicidial_inbound_groups-hold_time_option_seconds$NWE
    Hold Time Option Extension: $NWB#vicidial_inbound_groups-hold_time_option_exten$NWE
    Hold Time Option Voicemail: $NWB#vicidial_inbound_groups-hold_time_option_voicemail$NWE
    Hold Time Option Transfer In-Group: $NWB#vicidial_inbound_groups-hold_time_option_xfer_group$NWE
    Hold Time Option Callback Filename: $NWB#vicidial_inbound_groups-hold_time_option_callback_filename$NWE
    Hold Time Option Callback List ID: $NWB#vicidial_inbound_groups-hold_time_option_callback_list_id$NWE
    Agent Alert Extension: $NWB#vicidial_inbound_groups-agent_alert_exten$NWE
    Agent Alert Delay: $NWB#vicidial_inbound_groups-agent_alert_delay$NWE
    Default Transfer Group: $NWB#vicidial_inbound_groups-default_xfer_group$NWE
    Default Group Alias: $NWB#vicidial_inbound_groups-default_group_alias$NWE
    Hold Recall Transfer In-Group: $NWB#vicidial_inbound_groups-hold_recall_xfer_group$NWE
    No Delay Call Route: $NWB#vicidial_inbound_groups-no_delay_call_route$NWE
    In-Group Recording Override: $NWB#vicidial_inbound_groups-ingroup_recording_override$NWE
    In-Group Recording Filename: $NWB#vicidial_inbound_groups-ingroup_rec_filename$NWE
    Stats Percent of Calls Answered Within X seconds 1: $NWB#vicidial_inbound_groups-answer_sec_pct_rt_stat_one$NWE
    Stats Percent of Calls Answered Within X seconds 2: $NWB#vicidial_inbound_groups-answer_sec_pct_rt_stat_one$NWE
     
    Inbound Group QC Settings:
    QC Enabled: $NWB#vicidial_inbound_groups-qc_enabled$NWE
    QC Statuses:
    $NWB#vicidial_inbound_groups-qc_statuses$NWE
    $qc_statuses_list
    QC WebForm: $NWB#vicidial_inbound_groups-qc_web_form_address$NWE
    QC Script: $NWB#vicidial_inbound_groups-qc_script$NWE
    QC Shift: $NWB#vicidial_inbound_groups-qc_shift_id$NWE
    QC Get Record Launch: $NWB#vicidial_inbound_groups-qc_get_record_launch$NWE
    QC Show Recording: $NWB#vicidial_inbound_groups-qc_show_recording$NWE
    \n"; + echo "

    \n"; + + + ### list of agent rank or skill-level for this inbound group + echo "
    \n"; + echo "
    AGENT RANKS FOR THIS INBOUND GROUP:
    \n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT user,group_rank,calls_today from vicidial_inbound_group_agents where group_id='$group_id'"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($users_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
    USER     RANK     CALLS TODAY
    $rowx[0]$rowx[1]$rowx[2]

    \n"; + + echo "

    \n"; + + echo "
    Click here to see a report for this inbound group

    \n"; + + echo "
    \n"; + + if ($LOGdelete_ingroups > 0) + { + echo "

    EMERGENCY VDAC CLEAR FOR THIS IN-GROUP

    \n"; + echo "

    DELETE THIS IN-GROUP\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Click here to see Admin chages to this In-Group\n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + + +###################### +# ADD=3311 modify did info in the system +###################### + +if ($ADD==3311) +{ + if ($LOGmodify_dids==1) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT * from vicidial_inbound_dids where did_id='$did_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $did_id = $row[0]; + $did_pattern = $row[1]; + $did_description = $row[2]; + $did_active = $row[3]; + $did_route = $row[4]; + $extension = $row[5]; + $exten_context = $row[6]; + $voicemail_ext = $row[7]; + $phone = $row[8]; + $server_ip = $row[9]; + $user = $row[10]; + $user_unavailable_action = $row[11]; + $user_route_settings_ingroup = $row[12]; + $group_id = $row[13]; + $call_handle_method = $row[14]; + $agent_search_method = $row[15]; + $list_id = $row[16]; + $campaign_id = $row[17]; + $phone_code = $row[18]; + + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + $o=0; + while ($campaigns_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "\n"; + $o++; + } + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $Xgroups_to_print = mysql_num_rows($rslt); + $Xgroups_menu=''; + $Xgroups_selected=0; + $o=0; + while ($Xgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Xgroups_menu .= "\n"; + $o++; + } + if ($Xgroups_selected < 1) + {$Xgroups_menu .= "\n";} + else + {$Xgroups_menu .= "\n";} + + + ##### get in-groups listings for dynamic pulldown + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where group_id NOT IN('AGENTDIRECT') order by group_id"; + $rslt=mysql_query($stmt, $link); + $Dgroups_to_print = mysql_num_rows($rslt); + $Dgroups_menu=''; + $Dgroups_selected=0; + $o=0; + while ($Dgroups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Dgroups_menu .= "\n"; + $o++; + } + if ($Dgroups_selected < 1) + {$Dgroups_menu .= "\n";} + else + {$Dgroups_menu .= "\n";} + + + echo "
    MODIFY A DID RECORD: $row[0]
    \n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "
    DID Extension: $NWB#vicidial_inbound_dids-did_pattern$NWE
    DID Description: $NWB#vicidial_inbound_dids-did_description$NWE
    Active: $NWB#vicidial_inbound_dids-did_active$NWE
    DID Route: $NWB#vicidial_inbound_dids-did_route$NWE
    Extension: $NWB#vicidial_inbound_dids-extension$NWE
    Extension Context: $NWB#vicidial_inbound_dids-exten_context$NWE
    Voicemail Box: $NWB#vicidial_inbound_dids-voicemail_ext$NWE
    Phone Extension: $NWB#vicidial_inbound_dids-phone$NWE
    Server IP: $NWB#vicidial_inbound_dids-server_ip$NWE
    User Agent: $NWB#vicidial_inbound_dids-user$NWE
    User Unavailable Action: $NWB#vicidial_inbound_dids-user_unavailable_action$NWE
    User Route Settings In-Group: $NWB#vicidial_inbound_dids-user_route_settings_ingroup$NWE
    In-Group ID: $NWB#vicidial_inbound_dids-group_id$NWE
    In-Group Call Handle Method: $NWB#vicidial_inbound_dids-call_handle_method$NWE
    In-Group Agent Search Method: $NWB#vicidial_inbound_dids-agent_search_method$NWE
    In-Group List ID: $NWB#vicidial_inbound_dids-list_id$NWE
    In-Group Campaign ID: $NWB#vicidial_inbound_dids-campaign_id$NWE
    In-Group Phone Code: $NWB#vicidial_inbound_dids-phone_code$NWE
    \n"; + echo "

    \n"; + + + + if ($LOGdelete_dids > 0) + { + echo "

    DELETE THIS DID\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Click here to see Admin chages to this DID
    \n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + + +###################### +# ADD=31111 modify remote agents info in the system +###################### + +if ($ADD==31111) +{ + if ($LOGmodify_remoteagents==1) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT * from vicidial_remote_agents where remote_agent_id='$remote_agent_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id = $row[0]; + $user_start = $row[1]; + $number_of_lines = $row[2]; + $server_ip = $row[3]; + $conf_exten = $row[4]; + $status = $row[5]; + $campaign_id = $row[6]; + + echo "
    MODIFY A REMOTE AGENTS ENTRY: $row[0]
    \n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    User ID Start: (numbers only, incremented)$NWB#vicidial_remote_agents-user_start$NWE
    Number of Lines: (numbers only)$NWB#vicidial_remote_agents-number_of_lines$NWE
    Server IP: $NWB#vicidial_remote_agents-server_ip$NWE
    External Extension: (dial plan number dialed to reach agents)$NWB#vicidial_remote_agents-conf_exten$NWE
    Status: $NWB#vicidial_remote_agents-status$NWE
    Campaign: $NWB#vicidial_remote_agents-campaign_id$NWE
    Inbound Groups: \n"; + echo "$groups_list"; + echo "$NWB#vicidial_remote_agents-closer_campaigns$NWE
    \n"; + echo "NOTE: It can take up to 30 seconds for changes submitted on this screen to go live\n"; + + + if ($LOGdelete_remote_agents > 0) + { + echo "

    DELETE THIS REMOTE AGENT\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Click here to see Admin chages to this remote agent
    \n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=311111 modify user group info in the system +###################### + +if ($ADD==311111) +{ + if ($LOGmodify_usergroups==1) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT * from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $user_group = $row[0]; + $group_name = $row[1]; + $GROUP_shifts = $row[5]; + $forced_timeclock_login = $row[6]; + $shift_enforcement = $row[7]; + + echo ""; + + echo "
    MODIFY A USERS GROUP ENTRY\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + + echo "\n"; + + if ($SSqc_features_active > 0) + { + echo "\n"; + echo "\n"; + } + + echo "\n"; + echo "
    Group: (no spaces or punctuation)$NWB#vicidial_user_groups-user_group$NWE
    Description: (description of group)$NWB#vicidial_user_groups-group_name$NWE
    Force Timeclock Login: $NWB#vicidial_user_groups-forced_timeclock_login$NWE
    Shift Enforcement: $NWB#vicidial_user_groups-shift_enforcement$NWE
    Allowed Campaigns:
    $NWB#vicidial_user_groups-allowed_campaigns$NWE
    \n"; + echo "$campaigns_list
     "; + echo "
    Group Shifts:
    $NWB#vicidial_user_groups-group_shifts$NWE
    \n"; + $stmt="SELECT shift_id,shift_name from vicidial_shifts order by shift_id"; + $rslt=mysql_query($stmt, $link); + $shifts_to_print = mysql_num_rows($rslt); + $o=0; + while ($shifts_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $shift_id_value = $rowx[0]; + $shift_name_value = $rowx[1]; + echo " $shift_id_value - $shift_name_value
    \n"; + $o++; + } + echo "
     
    QC Allowed Campaigns:
    $NWB#vicidial_user_groups-qc_allowed_campaigns$NWE
    \n"; + echo "$qc_campaigns_list"; + echo "
     
    QC Allowed Inbound Groups:
    $NWB#vicidial_user_groups-qc_allowed_inbound_groups$NWE
    \n"; + echo "$qc_groups_list"; + echo "
     
    \n"; + + + ### list of users in this user group + + $active_confs = 0; + $stmt="SELECT user,full_name,user_level,active from vicidial_users where user_group='$user_group'"; + $rsltx=mysql_query($stmt, $link); + $users_to_print = mysql_num_rows($rsltx); + + echo "
    \n"; + echo "
    USERS WITHIN THIS USER GROUP: $users_to_print
    \n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($users_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
    USERFULL NAMELEVELACTIVE
    $rowx[0]$rowx[1]$rowx[2]$rowx[3]

    \n"; + + + + echo "

    Click here to see all CallBack Holds in this user group

    \n"; + echo "

    Click here to see the Timeclock Status for this user group

    \n"; + + if ($LOGdelete_user_groups > 0) + { + echo "

    DELETE THIS USER GROUP\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Click here to see Admin chages to this user group
    \n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=3111111 modify script info in the system +###################### + +if ($ADD==3111111) +{ + if ($LOGmodify_scripts==1) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo ""; + + $stmt="SELECT * from vicidial_scripts where script_id='$script_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $script_name = $row[1]; + $script_comments = $row[2]; + $script_text = $row[3]; + $active = $row[4]; + echo ""; + + echo "
    MODIFY A SCRIPT\n"; + echo "\n"; + echo "\n"; + echo "
    Script ID: $script_id$NWB#vicidial_scripts-script_name$NWE
    Script Name: (title of the script)$NWB#vicidial_scripts-script_name$NWE
    Script Comments: $NWB#vicidial_scripts-script_comments$NWE
    Active: $NWB#vicidial_scripts-active$NWE
    Script Text:

    Preview Script
    "; + # BEGIN Insert Field + echo ""; + echo "
    "; + # END Insert Field + echo " $NWB#vicidial_scripts-script_text$NWE
    \n"; + + if ($LOGdelete_scripts > 0) + { + echo "

    DELETE THIS SCRIPT\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Click here to see Admin chages to this script
    \n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=31111111 modify filter info in the system +###################### + +if ($ADD==31111111) +{ + if ($LOGmodify_filters==1) + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo ""; + + $stmt="SELECT * from vicidial_lead_filters where lead_filter_id='$lead_filter_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $lead_filter_name = $row[1]; + $lead_filter_comments = $row[2]; + $lead_filter_sql = $row[3]; + echo ""; + + echo "
    MODIFY A FILTER\n"; + echo "\n"; + echo "\n"; + echo "
    Filter ID: $lead_filter_id$NWB#vicidial_lead_filters-lead_filter_id$NWE
    Filter Name: (short description of the filter)$NWB#vicidial_lead_filters-lead_filter_name$NWE
    Filter Comments: $NWB#vicidial_lead_filters-lead_filter_comments$NWE
    Filter SQL: $NWB#vicidial_lead_filters-lead_filter_sql$NWE
    \n"; + + ##### get campaigns listing for dynamic pulldown + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "\n"; + $o++; + } + + echo "

    "; + echo "
    TEST ON CAMPAIGN:
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + if ($LOGdelete_filters > 0) + { + echo "

    DELETE THIS FILTER\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Click here to see Admin chages to this filter\n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=321111111 modify call time definition info in the system +###################### + +if ($ADD==321111111) +{ +if ($LOGmodify_call_times==1) +{ + +if ( ($stage=="ADD") and (strlen($state_rule)>0) ) + { + $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_state_call_times = $row[0]; + + if (eregi("\|$",$ct_state_call_times)) + {$ct_state_call_times = "$ct_state_call_times$state_rule\|";} + else + {$ct_state_call_times = "$ct_state_call_times\|$state_rule\|";} + $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + echo "State Rule Added: $state_rule
    \n"; + } +if ( ($stage=="REMOVE") and (strlen($state_rule)>0) ) + { + $stmt="SELECT ct_state_call_times from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $ct_state_call_times = $row[0]; + + $ct_state_call_times = eregi_replace("\|$state_rule\|",'|',$ct_state_call_times); + $stmt="UPDATE vicidial_call_times set ct_state_call_times='$ct_state_call_times' where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + echo "State Rule Removed: $state_rule
    \n"; + } + +$ADD=311111111; +} +else +{ +echo "You are not authorized to view this page. Please go back."; +} + +} + + +###################### +# ADD=311111111 modify call time definition info in the system +###################### + +if ($ADD==311111111) +{ + +if ($LOGmodify_call_times==1) +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +$ct_srs=1; +$b=0; +$srs_SQL =''; +if (strlen($ct_state_call_times)>2) + { + $state_rules = explode('|',$ct_state_call_times); + $ct_srs = ((count($state_rules)) - 1); + } +echo "\n"; +echo "\n"; +while($ct_srs >= $b) + { + if (strlen($state_rules[$b])>0) + { + $stmt="SELECT state_call_time_state,state_call_time_name from vicidial_state_call_times where state_call_time_id='$state_rules[$b]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + echo "\n"; + $srs_SQL .= "'$state_rules[$b]',"; + $srs_state_SQL .= "'$row[0]',"; + } + $b++; + } +if (strlen($srs_SQL)>2) + { + $srs_SQL = "$srs_SQL''"; + $srs_state_SQL = "$srs_state_SQL''"; + $srs_SQL = "where state_call_time_id NOT IN($srs_SQL) and state_call_time_state NOT IN($srs_state_SQL)"; + } +else + {$srs_SQL='';} +$stmt="SELECT state_call_time_id,state_call_time_name from vicidial_state_call_times $srs_SQL order by state_call_time_id;"; +$rslt=mysql_query($stmt, $link); +$sct_to_print = mysql_num_rows($rslt); +$sct_list=''; + +$o=0; +while ($sct_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $sct_list .= "\n"; + $o++; +} +echo "\n"; +echo "\n"; + +echo "
    \n"; + echo ""; + + $stmt="SELECT * from vicidial_call_times where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $call_time_name = $row[1]; + $call_time_comments = $row[2]; + $ct_default_start = $row[3]; + $ct_default_stop = $row[4]; + $ct_sunday_start = $row[5]; + $ct_sunday_stop = $row[6]; + $ct_monday_start = $row[7]; + $ct_monday_stop = $row[8]; + $ct_tuesday_start = $row[9]; + $ct_tuesday_stop = $row[10]; + $ct_wednesday_start = $row[11]; + $ct_wednesday_stop = $row[12]; + $ct_thursday_start = $row[13]; + $ct_thursday_stop = $row[14]; + $ct_friday_start = $row[15]; + $ct_friday_stop = $row[16]; + $ct_saturday_start = $row[17]; + $ct_saturday_stop = $row[18]; + $ct_state_call_times = $row[19]; + +echo ""; + +echo "
    MODIFY A CALL TIME\n"; +echo "\n"; +echo "\n"; +echo "
    Call Time ID: $call_time_id$NWB#vicidial_call_times-call_time_id$NWE
    Call Time Name: (short description of the call time)$NWB#vicidial_call_times-call_time_name$NWE
    Call Time Comments: $NWB#vicidial_call_times-call_time_comments$NWE
    Default Start: Default Stop: $NWB#vicidial_call_times-ct_default_start$NWE
    Sunday Start: Sunday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
    Monday Start: Monday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
    Tuesday Start: Tuesday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
    Wednesday Start: Wednesday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
    Thursday Start: Thursday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
    Friday Start: Friday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
    Saturday Start: Saturday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
    Active State Call Time Definitions for this Record:  
    $state_rules[$b] - REMOVE $row[0] - $row[1]
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "Add state call time rule:


    \n"; +echo "CAMPAIGNS USING THIS CALL TIME:
    \n"; +echo "\n"; + + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns where local_call_time='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + +echo "
    $row[0] $row[1]
    \n"; +echo "INBOUND GROUPS USING THIS CALL TIME:
    \n"; +echo "\n"; + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups where call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + +echo "
    $row[0] $row[1]
    \n"; +echo "

    \n"; + +if ($LOGdelete_call_times > 0) + { + echo "

    DELETE THIS CALL TIME DEFINITION\n"; + } +if ($LOGuser_level >= 9) + { + echo "

    Click here to see Admin chages to this call time\n"; + } +} +else +{ +echo "You are not authorized to view this page. Please go back."; +} + +} + + +###################### +# ADD=3111111111 modify state call time definition info in the system +###################### + +if ($ADD==3111111111) +{ + +if ($LOGmodify_call_times==1) +{ +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +echo "\n"; +echo "
    \n"; + echo ""; + + $stmt="SELECT * from vicidial_state_call_times where state_call_time_id='$call_time_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $state_call_time_state =$row[1]; + $call_time_name = $row[2]; + $call_time_comments = $row[3]; + $ct_default_start = $row[4]; + $ct_default_stop = $row[5]; + $ct_sunday_start = $row[6]; + $ct_sunday_stop = $row[7]; + $ct_monday_start = $row[8]; + $ct_monday_stop = $row[9]; + $ct_tuesday_start = $row[10]; + $ct_tuesday_stop = $row[11]; + $ct_wednesday_start = $row[12]; + $ct_wednesday_stop = $row[13]; + $ct_thursday_start = $row[14]; + $ct_thursday_stop = $row[15]; + $ct_friday_start = $row[16]; + $ct_friday_stop = $row[17]; + $ct_saturday_start = $row[18]; + $ct_saturday_stop = $row[19]; + +echo ""; + +echo "
    MODIFY A STATE CALL TIME
    \n"; +echo "\n"; +echo "\n"; +echo "
    Call Time ID: $call_time_id$NWB#vicidial_call_times-call_time_id$NWE
    State Call Time State: $NWB#vicidial_call_times-state_call_time_state$NWE
    State Call Time Name: (short description of the call time)$NWB#vicidial_call_times-call_time_name$NWE
    State Call Time Comments: $NWB#vicidial_call_times-call_time_comments$NWE
    Default Start: Default Stop: $NWB#vicidial_call_times-ct_default_start$NWE
    Sunday Start: Sunday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
    Monday Start: Monday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
    Tuesday Start: Tuesday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
    Wednesday Start: Wednesday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
    Thursday Start: Thursday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
    Friday Start: Friday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE
    Saturday Start: Saturday Stop: $NWB#vicidial_call_times-ct_sunday_start$NWE


    \n"; +echo "CALL TIMES USING THIS STATE CALL TIME:
    \n"; +echo "\n"; + + $stmt="SELECT call_time_id,call_time_name from vicidial_call_times where ct_state_call_times LIKE \"%|$call_time_id|%\";"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + +echo "
    $row[0] $row[1]
    \n"; +echo "

    \n"; + +if ($LOGdelete_call_times > 0) + { + echo "

    DELETE THIS STATE CALL TIME DEFINITION\n"; + } + +} +else +{ +echo "You are not authorized to view this page. Please go back."; +} + +} + + + +###################### +# ADD=331111111 modify shift definition info in the system +###################### + +if ($ADD==331111111) +{ + +if ($LOGmodify_call_times==1) +{ +echo "
    \n"; + echo ""; + + $stmt="SELECT * from vicidial_shifts where shift_id='$shift_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $shift_name = $row[1]; + $shift_start_time = $row[2]; + $shift_length = $row[3]; + $shift_weekdays = $row[4]; + + $shift_start_hour = substr($shift_start_time,0,2); + $shift_start_min = substr($shift_start_time,2,2); + $shift_length_hour = substr($shift_length,0,2); + $shift_length_min = substr($shift_length,3,2); + $shift_end_hour = ($shift_start_hour + $shift_length_hour); + $shift_end_min = ($shift_start_min + $shift_length_min); + if ($shift_end_min >=60) + { + $shift_end_min = ($shift_end_min - 60); + $shift_end_hour++; + } + if ($shift_end_hour >=24) + { + $shift_end_hour = ($shift_end_hour - 24); + } + $shift_end_hour = sprintf("%02s", $shift_end_hour); + $shift_end_min = sprintf("%02s", $shift_end_min); + $shift_end = "$shift_end_hour$shift_end_min"; + +echo ""; + +echo "
    MODIFY A SHIFT\n"; +echo "\n"; +echo "\n"; +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    Shift ID: $shift_id
    Shift Name: (short description of the shift)$NWB#vicidial_shifts-shift_name$NWE
    Shift Start Time: \n"; +echo "   Shift End Time: \n"; +echo " $NWB#vicidial_shifts-shift_start_time$NWE
    Shift Length: $NWB#vicidial_shifts-shift_length$NWE
    Shift Weekdays:
    $NWB#vicidial_shifts-shift_weekdays$NWE
    \n"; +echo "Sunday
    \n"; +echo "Monday
    \n"; +echo "Tuesday
    \n"; +echo "Wednesday
    \n"; +echo "Thursday
    \n"; +echo "Friday
    \n"; +echo "Saturday
    \n"; +echo "
    \n"; + +echo "


    \n"; +echo "USER GROUPS USING THIS SHIFT:
    \n"; +echo "\n"; + + + $stmt="SELECT user_group,group_name from vicidial_user_groups where group_shifts LIKE\"% $shift_id %\";"; + $rslt=mysql_query($stmt, $link); + $camps_to_print = mysql_num_rows($rslt); + $o=0; + while ($camps_to_print > $o) { + $row=mysql_fetch_row($rslt); + echo "\n"; + $o++; + } + + +echo "
    $row[0] $row[1]
    \n"; +echo "

    \n"; + +if ($LOGdelete_call_times > 0) + { + echo "

    DELETE THIS SHIFT DEFINITION\n"; + } +if ($LOGuser_level >= 9) + { + echo "

    Click here to see Admin chages to this shift\n"; + } +} +else +{ +echo "You are not authorized to view this page. Please go back."; +} + +} + + +###################### +# ADD=31111111111 modify phone record in the system +###################### + +if ($ADD==31111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT * from phones where extension='$extension' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + echo "
    MODIFY A PHONE RECORD: $row[1]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "
    Phone extension: $NWB#phones-extension$NWE
    Dial Plan Number: (digits only)$NWB#phones-dialplan_number$NWE
    Voicemail Box: (digits only)$NWB#phones-voicemail_id$NWE
    Outbound CallerID: (digits only)$NWB#phones-outbound_cid$NWE
    Phone IP address: (optional)$NWB#phones-phone_ip$NWE
    Computer IP address: (optional)$NWB#phones-computer_ip$NWE
    Server IP: $NWB#phones-server_ip$NWE
    Login: $NWB#phones-login$NWE
    Password: $NWB#phones-pass$NWE
    Status: $NWB#phones-status$NWE
    Active Account: $NWB#phones-active$NWE
    Phone Type: $NWB#phones-phone_type$NWE
    Full Name: $NWB#phones-fullname$NWE
    Email: $NWB#phones-email$NWE
    Company: $NWB#phones-company$NWE
    Picture: $NWB#phones-picture$NWE
    New Messages: $row[14]$NWB#phones-messages$NWE
    Old Messages: $row[15]$NWB#phones-old_messages$NWE
    Client Protocol: $NWB#phones-protocol$NWE
    Local GMT: (Do NOT Adjust for DST)$NWB#phones-local_gmt$NWE
    Manager Login: $NWB#phones-ASTmgrUSERNAME$NWE
    Manager Secret: $NWB#phones-ASTmgrSECRET$NWE
    VICIDIAL Default User: $NWB#phones-login_user$NWE
    VICIDIAL Default Pass: $NWB#phones-login_pass$NWE
    VICIDIAL Default Campaign: $NWB#phones-login_campaign$NWE
    Park Exten: $NWB#phones-park_on_extension$NWE
    Conf Exten: $NWB#phones-conf_on_extension$NWE
    VICIDIAL Park Exten: $NWB#phones-VICIDIAL_park_on_extension$NWE
    VICIDIAL Park File: $NWB#phones-VICIDIAL_park_on_filename$NWE
    Monitor Prefix: $NWB#phones-monitor_prefix$NWE
    Recording Exten: $NWB#phones-recording_exten$NWE
    VMailMain Exten: $NWB#phones-voicemail_exten$NWE
    VMailDump Exten: $NWB#phones-voicemail_dump_exten$NWE
    Exten Context: $NWB#phones-ext_context$NWE
    DTMFSend Channel: $NWB#phones-dtmf_send_extension$NWE
    Outbound Call Group: $NWB#phones-call_out_number_group$NWE
    Browser Location: $NWB#phones-client_browser$NWE
    Install Directory: $NWB#phones-install_directory$NWE
    CallerID URL: $NWB#phones-local_web_callerID_URL$NWE
    VICIDIAL Default URL: $NWB#phones-VICIDIAL_web_URL$NWE
    Call Logging: $NWB#phones-AGI_call_logging_enabled$NWE
    User Switching: $NWB#phones-user_switching_enabled$NWE
    Conferencing: $NWB#phones-conferencing_enabled$NWE
    Admin Hang Up: $NWB#phones-admin_hangup_enabled$NWE
    Admin Hijack: $NWB#phones-admin_hijack_enabled$NWE
    Admin Monitor: $NWB#phones-admin_monitor_enabled$NWE
    Call Park: $NWB#phones-call_parking_enabled$NWE
    Updater Check: $NWB#phones-updater_check_enabled$NWE
    AF Logging: $NWB#phones-AFLogging_enabled$NWE
    Queue Enabled: $NWB#phones-QUEUE_ACTION_enabled$NWE
    CallerID Popup: $NWB#phones-CallerID_popup_enabled$NWE
    VMail Button: $NWB#phones-voicemail_button_enabled$NWE
    Fast Refresh: $NWB#phones-enable_fast_refresh$NWE
    Fast Refresh Rate: (in ms)$NWB#phones-fast_refresh_rate$NWE
    Persistant MySQL: $NWB#phones-enable_persistant_mysql$NWE
    Auto Dial Next Number: $NWB#phones-auto_dial_next_number$NWE
    Stop Rec after each call: $NWB#phones-VDstop_rec_after_each_call$NWE
    Enable SIPSAK Messages: $NWB#phones-enable_sipsak_messages$NWE
    DBX Server: (Primary DB Server)$NWB#phones-DBX_server$NWE
    DBX Database: (Primary Server Database)$NWB#phones-DBX_database$NWE
    DBX User: (Primary DB Login)$NWB#phones-DBX_user$NWE
    DBX Pass: (Primary DB Secret)$NWB#phones-DBX_pass$NWE
    DBX Port: (Primary DB Port)$NWB#phones-DBX_port$NWE
    DBY Server: (Secondary DB Server)$NWB#phones-DBY_server$NWE
    DBY Database: (Secondary Server Database)$NWB#phones-DBY_database$NWE
    DBY User: (Secondary DB Login)$NWB#phones-DBY_user$NWE
    DBY Pass: (Secondary DB Secret)$NWB#phones-DBY_pass$NWE
    DBY Port: (Secondary DB Port)$NWB#phones-DBY_port$NWE
    Template ID: $NWB#phones-template_id$NWE
    Conf Override: $NWB#phones-conf_override$NWE
    \n"; + + echo "

    Click here for phone stats\n"; + + if ($LOGast_delete_phones > 0) + { + echo "

    DELETE THIS PHONE\n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=32111111111 modify phone alias record in the system +###################### + +if ($ADD==32111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT * from phones_alias where alias_id='$alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + echo "
    MODIFY A PHONE ALIAS RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Alias ID: $row[0] $NWB#phones-alias_id$NWE
    Alias Name: $NWB#phones-alias_name$NWE
    Phones Logins List: (comma separated)$NWB#phones-logins_list$NWE
    \n"; + + + ### list of phones in this phones alias + $phone_alias_SQL = ereg_replace(',',"','",$row[2]); + + echo "
    \n"; + echo "
    PHONES WITHIN THIS PHONES ALIAS:
    \n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT login,extension,server_ip,protocol,phone_ip from phones where login IN ('$phone_alias_SQL');"; + if ($DB) {echo "|$stmt|";} + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + + $o=0; + while ($lists_to_print > $o) { + $rowx=mysql_fetch_row($rsltx); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
    LOGINEXTENSIONSERVERPROTOCOLIP
    $rowx[0]$rowx[1]$rowx[2]$rowx[3]$rowx[4]

    \n"; + + if ($LOGast_delete_phones > 0) + { + echo "

    DELETE THIS PHONE ALIAS\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Click here to see Admin chages to this phone alias
    \n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=33111111111 modify group alias record in the system +###################### + +if ($ADD==33111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT group_alias_id,group_alias_name,caller_id_number,caller_id_name,active from groups_alias where group_alias_id='$group_alias_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + + echo "
    MODIFY A GROUP ALIAS RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Group Alias ID: $row[0] $NWB#phones-group_alias_id$NWE
    Group Alias Name: $NWB#phones-group_alias_name$NWE
    CallerID Number: $NWB#phones-caller_id_number$NWE
    CallerID Name: $NWB#phones-caller_id_name$NWE
    Active:
    \n"; + + + if ($LOGast_delete_phones > 0) + { + echo "

    DELETE THIS GROUP ALIAS\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Click here to see Admin chages to this group alias
    \n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=311111111111 modify server record in the system +###################### + +if ($ADD==311111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT server_id,server_description,server_ip,active,asterisk_version,max_vicidial_trunks,telnet_host,telnet_port,ASTmgrUSERNAME,ASTmgrSECRET,ASTmgrUSERNAMEupdate,ASTmgrUSERNAMElisten,ASTmgrUSERNAMEsend,local_gmt,voicemail_dump_exten,answer_transfer_agent,ext_context,sys_perf_log,vd_server_logs,agi_output,vicidial_balance_active,balance_trunks_offlimits,recording_web_link,alt_server_ip,active_asterisk_server,generate_vicidial_conf,rebuild_conf_files,outbound_calls_per_second,sysload,channels_total,cpu_idle_percent,disk_usage from servers where server_id='$server_id' or server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $server_id = $row[0]; + $server_description = $row[1]; + $server_ip = $row[2]; + $active = $row[3]; + $asterisk_version = $row[4]; + $max_vicidial_trunks = $row[5]; + $telnet_host = $row[6]; + $telnet_port = $row[7]; + $ASTmgrUSERNAME = $row[8]; + $ASTmgrSECRET = $row[9]; + $ASTmgrUSERNAMEupdate = $row[10]; + $ASTmgrUSERNAMElisten = $row[11]; + $ASTmgrUSERNAMEsend = $row[12]; + $local_gmt = $row[13]; + $voicemail_dump_exten = $row[14]; + $answer_transfer_agent = $row[15]; + $ext_context = $row[16]; + $sys_perf_log = $row[17]; + $vd_server_logs = $row[18]; + $agi_output = $row[19]; + $vicidial_balance_active = $row[20]; + $balance_trunks_offlimits = $row[21]; + $recording_web_link = $row[22]; + $alt_server_ip = $row[23]; + $active_asterisk_server = $row[24]; + $generate_vicidial_conf = $row[25]; + $rebuild_conf_files = $row[26]; + $outbound_calls_per_second = $row[27]; + $sysload = $row[28]; + $channels_total = $row[29]; + $cpu_idle_percent = $row[30]; + $disk_usage = $row[31]; + + $cpu = (100 - $cpu_idle_percent); + $disk_usage = preg_replace("/ /"," - ",$disk_usage); + $disk_usage = preg_replace("/\|/","%     ",$disk_usage); + + echo "
    MODIFY A SERVER RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
    Server ID: $NWB#servers-server_id$NWE
    Server Description: $NWB#servers-server_description$NWE
    Server IP Address: $NWB#servers-server_ip$NWE
    Active: $NWB#servers-active$NWE
    System Load: $sysload - $cpu%   $NWB#servers-sysload$NWE
    Live Channels: $channels_total   $NWB#servers-channels_total$NWE
    Disk Usage: $disk_usage   $NWB#servers-disk_usage$NWE
    Asterisk Version: $NWB#servers-asterisk_version$NWE
    Max VICIDIAL Trunks: $NWB#servers-max_vicidial_trunks$NWE
    Max Calls per Second: $NWB#servers-outbound_calls_per_second$NWE
    VICIDIAL Balance Dialing: $NWB#servers-vicidial_balance_active$NWE
    VICIDIAL Balance Offlimits: $NWB#servers-balance_trunks_offlimits$NWE
    Telnet Host: $NWB#servers-telnet_host$NWE
    Telnet Port: $NWB#servers-telnet_port$NWE
    Manager User: $NWB#servers-ASTmgrUSERNAME$NWE
    Manager Secret: $NWB#servers-ASTmgrSECRET$NWE
    Manager Update User: $NWB#servers-ASTmgrUSERNAMEupdate$NWE
    Manager Listen User: $NWB#servers-ASTmgrUSERNAMElisten$NWE
    Manager Send User: $NWB#servers-ASTmgrUSERNAMEsend$NWE
    Local GMT: (Do NOT Adjust for DST)$NWB#servers-local_gmt$NWE
    VMail Dump Exten: $NWB#servers-voicemail_dump_exten$NWE
    VICIDIAL AD extension: $NWB#servers-answer_transfer_agent$NWE
    Default Context: $NWB#servers-ext_context$NWE
    System Performance: $NWB#servers-sys_perf_log$NWE
    Server Logs: $NWB#servers-vd_server_logs$NWE
    AGI Output: $NWB#servers-agi_output$NWE
    Recording Web Link: $NWB#servers-recording_web_link$NWE
    Alternate Recording Server IP: $NWB#servers-alt_server_ip$NWE
    Active Asterisk Server: $NWB#servers-active_asterisk_server$NWE
    Generate conf files: $NWB#servers-generate_vicidial_conf$NWE
    Rebuild conf files: $NWB#servers-rebuild_conf_files$NWE
    \n"; + + + ### vicidial server trunk records for this server + echo "

    VICIDIAL TRUNKS FOR THIS SERVER:   $NWB#vicidial_server_trunks$NWE
    \n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_server_trunks where server_ip='$server_ip' order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $recycle_to_print = mysql_num_rows($rslt); + $o=0; + while ($recycle_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
    CAMPAIGN TRUNKS RESTRICTION DELETE
    $rowx[1]
    \n"; + echo "\n"; + echo "\n"; + echo "
    DELETE
    \n"; + + echo "
    ADD NEW SERVER VICIDIAL TRUNK RECORD
    \n"; + echo "\n"; + echo "\n"; + echo "TRUNKS:
    \n"; + echo "CAMPAIGN:
    \n"; + echo "RESTRICTION:
    \n"; + echo "
    \n"; + + echo "

    \n"; + + + ### list of carriers on this server + echo "
    \n"; + echo "
    CARRIERS WITHIN THIS SERVER:
    \n"; + echo "\n"; + echo "\n"; + + $active_carriers = 0; + $inactive_carriers = 0; + $stmt="SELECT carrier_id,carrier_name,registration_string,active from vicidial_server_carriers where server_ip='$row[2]'"; + $rsltx=mysql_query($stmt, $link); + $carriers_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($carriers_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + if (ereg("Y", $rowx[3])) {$active_carriers++;} + if (ereg("N", $rowx[3])) {$inactive_carriers++;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
    CARRIER IDNAMEREGISTRATIONACTIVE
    $rowx[0]$rowx[1]$rowx[2]$rowx[3]

    \n"; + + + ### list of phones on this server + echo "
    \n"; + echo "
    PHONES WITHIN THIS SERVER:
    \n"; + echo "\n"; + echo "\n"; + + $active_phones = 0; + $inactive_phones = 0; + $stmt="SELECT extension,active,fullname from phones where server_ip='$row[2]'"; + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + if (ereg("Y", $rowx[1])) {$active_phones++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_phones++;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
    EXTENSIONNAMEACTIVE
    $rowx[0]$rowx[2]$rowx[1]

    \n"; + + + ### list of conferences on this server + echo "
    \n"; + echo "
    CONFERENCES WITHIN THIS SERVER:
    \n"; + echo "\n"; + echo "\n"; + + $active_confs = 0; + $stmt="SELECT conf_exten,extension from conferences where server_ip='$row[2]'"; + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + $active_confs++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
    CONFERENCEEXTENSION
    $rowx[0]$rowx[2]

    \n"; + + + ### list of vicidial conferences on this server + echo "
    \n"; + echo "
    VICIDIAL CONFERENCES WITHIN THIS SERVER:
    \n"; + echo "\n"; + echo "\n"; + + $active_vdconfs = 0; + $stmt="SELECT conf_exten,extension from vicidial_conferences where server_ip='$row[2]'"; + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + $active_vdconfs++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
    VD CONFERENCEEXTENSION
    $rowx[0]$rowx[2]

    \n"; + + + echo "
    \n"; + + $camp_lists = eregi_replace(".$","",$camp_lists); + echo "This server has $active_carriers active carriers and $inactive_carriers inactive carriers

    \n"; + echo "This server has $active_phones active phones and $inactive_phones inactive phones

    \n"; + echo "This server has $active_confs active conferences

    \n"; + echo "This server has $active_vdconfs active vicidial conferences

    \n"; + echo "
    \n"; + if ($LOGast_delete_phones > 0) + { + echo "

    DELETE THIS SERVER\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Click here to see Admin chages to this server
    \n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=331111111111 modify conf template record in the system +###################### + +if ($ADD==331111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT template_id,template_name,template_contents from vicidial_conf_templates where template_id='$template_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $template_id = $row[0]; + $template_name = $row[1]; + $template_contents = $row[2]; + + echo "
    MODIFY A CONF TEMPLATE RECORD: $row[0]
    \n"; + echo "\n"; + echo "\n"; + + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Template ID: $template_id
    Template Name: $NWB#vicidial_conf_templates-template_name$NWE
    Template Contents: $NWB#vicidial_conf_templates-template_contents$NWE
    \n"; + + echo "
    \n"; + + ### list of phones using this conf template + echo "
    \n"; + echo "
    PHONES USING THIS CONF TEMPLATE:
    \n"; + echo "\n"; + echo "\n"; + + $active_phones = 0; + $inactive_phones = 0; + $stmt="SELECT extension,active,fullname,server_ip from phones where template_id='$template_id'"; + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + if (ereg("Y", $rowx[1])) {$active_phones++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_phones++;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
    EXTENSIONNAMESERVERACTIVE
    $rowx[0]$rowx[2]$rowx[3]$rowx[1]

    \n"; + + ### list of carriers using this conf template + echo "
    \n"; + echo "
    CARRIERS USING THIS CONF TEMPLATE:
    \n"; + echo "\n"; + echo "\n"; + + $active_phones = 0; + $inactive_phones = 0; + $stmt="SELECT carrier_id,active,carrier_name,server_ip from vicidial_server_carriers where template_id='$template_id'"; + $rsltx=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rsltx); + $camp_lists=''; + + $o=0; + while ($lists_to_print > $o) + { + $rowx=mysql_fetch_row($rsltx); + $o++; + if (ereg("Y", $rowx[1])) {$active_phones++; $camp_lists .= "'$rowx[0]',";} + if (ereg("N", $rowx[1])) {$inactive_phones++;} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + } + + echo "
    CARRIERNAMESERVERACTIVE
    $rowx[0]$rowx[2]$rowx[3]$rowx[1]

    \n"; + + + + if ($LOGast_delete_phones > 0) + { + echo "

    DELETE THIS CONF TEMPLATE\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Click here to see Admin chages to this conf template
    \n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=341111111111 modify carrier record in the system +###################### + +if ($ADD==341111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT carrier_id,carrier_name,registration_string,template_id,account_entry,protocol,globals_string,dialplan_entry,server_ip,active from vicidial_server_carriers where carrier_id='$carrier_id';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $carrier_id = $row[0]; + $carrier_name = $row[1]; + $registration_string = $row[2]; + $template_id = $row[3]; + $account_entry = $row[4]; + $protocol = $row[5]; + $globals_string = $row[6]; + $dialplan_entry = $row[7]; + $server_ip = $row[8]; + $active = $row[9]; + + echo "
    MODIFY A CARRIER RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Carrier ID: $carrier_id
    Carrier Name: $NWB#vicidial_server_carriers-carrier_name$NWE
    Registration String: $NWB#vicidial_server_carriers-registration_string$NWE
    Template ID: $NWB#vicidial_server_carriers-template_id$NWE
    Account Entry: $NWB#vicidial_server_carriers-account_entry$NWE
    Protocol: $NWB#vicidial_server_carriers-protocol$NWE
    Globals String: $NWB#vicidial_server_carriers-globals_string$NWE
    Dialplan Entry: $NWB#vicidial_server_carriers-dialplan_entry$NWE
    Server IP: $NWB#vicidial_server_carriers-server_ip$NWE
    Active: $NWB#vicidial_server_carriers-active$NWE
    \n"; + + echo "
    \n"; + if ($LOGast_delete_phones > 0) + { + echo "

    DELETE THIS CARRIER\n"; + } + if ($LOGuser_level >= 9) + { + echo "

    Click here to see Admin chages to this carrier
    \n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=3111111111111 modify conference record in the system +###################### + +if ($ADD==3111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT * from conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $conf_exten = $row[0]; + $server_ip = $row[1]; + + echo "
    MODIFY A CONFERENCE RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Conference: $NWB#conferences-conf_exten$NWE
    Server IP: $NWB#conferences-server_ip$NWE
    Current Extension:
    \n"; + + echo "
    \n"; + if ($LOGast_delete_phones > 0) + { + echo "

    DELETE THIS CONFERENCE\n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + +###################### +# ADD=31111111111111 modify vicidial conference record in the system +###################### + +if ($ADD==31111111111111) +{ + if ($LOGast_admin_access==1) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT * from vicidial_conferences where conf_exten='$conf_exten' and server_ip='$server_ip';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $conf_exten = $row[0]; + $server_ip = $row[1]; + + echo "
    MODIFY A VICIDIAL CONFERENCE RECORD: $row[0]\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    Conference: $NWB#conferences-conf_exten$NWE
    Server IP: $NWB#conferences-server_ip$NWE
    Current Extension:
    \n"; + + echo "
    \n"; + if ($LOGast_delete_phones > 0) + { + echo "

    DELETE THIS VICIDIAL CONFERENCE\n"; + } + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + + +###################### +# ADD=311111111111111 modify vicidial system settings +###################### + +if ($ADD==311111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT version,install_date,use_non_latin,webroot_writable,enable_queuemetrics_logging,queuemetrics_server_ip,queuemetrics_dbname,queuemetrics_login,queuemetrics_pass,queuemetrics_url,queuemetrics_log_id,queuemetrics_eq_prepend,vicidial_agent_disable,allow_sipsak_messages,admin_home_url,enable_agc_xfer_log,db_schema_version,auto_user_add_value,timeclock_end_of_day,timeclock_last_reset_date,vdc_header_date_format,vdc_customer_date_format,vdc_header_phone_format,vdc_agent_api_active,qc_last_pull_time,enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url,qc_features_active,outbound_autodial_active,outbound_calls_per_second from system_settings;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $version = $row[0]; + $install_date = $row[1]; + $use_non_latin = $row[2]; + $webroot_writable = $row[3]; + $enable_queuemetrics_logging = $row[4]; + $queuemetrics_server_ip = $row[5]; + $queuemetrics_dbname = $row[6]; + $queuemetrics_login = $row[7]; + $queuemetrics_pass = $row[8]; + $queuemetrics_url = $row[9]; + $queuemetrics_log_id = $row[10]; + $queuemetrics_eq_prepend = $row[11]; + $vicidial_agent_disable = $row[12]; + $allow_sipsak_messages = $row[13]; + $admin_home_url = $row[14]; + $enable_agc_xfer_log = $row[15]; + $db_schema_version = $row[16]; + $auto_user_add_value = $row[17]; + $timeclock_end_of_day = $row[18]; + $timeclock_last_reset_date = $row[19]; + $vdc_header_date_format = $row[20]; + $vdc_customer_date_format = $row[21]; + $vdc_header_phone_format = $row[22]; + $vdc_agent_api_active = $row[23]; + $qc_last_pull_time = $row[24]; + $enable_vtiger_integration = $row[25]; + $vtiger_server_ip = $row[26]; + $vtiger_dbname = $row[27]; + $vtiger_login = $row[28]; + $vtiger_pass = $row[29]; + $vtiger_url = $row[30]; + $qc_features_active = $row[31]; + $outbound_autodial_active = $row[32]; + $outbound_calls_per_second = $row[33]; + + echo "
    MODIFY VICIDIAL SYSTEM SETTINGS\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "
    Version: $version
    DB Schema Version: $db_schema_version
    Auto User-add Value: $auto_user_add_value
    Install Date: $install_date
    Use Non-Latin: $NWB#settings-use_non_latin$NWE
    Webroot Writable: $NWB#settings-webroot_writable$NWE
    VICIDIAL Agent Disable Display: $NWB#settings-vicidial_agent_disable$NWE
    Allow SIPSAK Messages: $NWB#settings-allow_sipsak_messages$NWE
    Admin Home URL: $NWB#settings-admin_home_url$NWE
    Enable Agent Transfer Logfile: $NWB#settings-enable_agc_xfer_log$NWE
    Timeclock End Of Day: $NWB#settings-timeclock_end_of_day$NWE
    Timeclock Last Auto Logout: $timeclock_last_reset_date
    QC Last Pull Time: $qc_last_pull_time
    Agent Screen Header Date Format: $NWB#settings-vdc_header_date_format$NWE
    Agent Screen Customer Date Format: $NWB#settings-vdc_customer_date_format$NWE
    Agent Screen Customer Phone Format: $NWB#settings-vdc_header_phone_format$NWE
    Agent API Active: $NWB#settings-vdc_agent_api_active$NWE
    QC Features Active: $NWB#settings-qc_features_active$NWE
    Outbound Auto-Dial Active: $NWB#settings-outbound_autodial_active$NWE
    Max FILL Calls per Second: $NWB#settings-outbound_calls_per_second$NWE
    Enable QueueMetrics Logging: $NWB#settings-enable_queuemetrics_logging$NWE
    QueueMetrics Server IP: $NWB#settings-queuemetrics_server_ip$NWE
    QueueMetrics DB Name: $NWB#settings-queuemetrics_dbname$NWE
    QueueMetrics DB Login: $NWB#settings-queuemetrics_login$NWE
    QueueMetrics DB Password: $NWB#settings-queuemetrics_pass$NWE
    QueueMetrics URL: $NWB#settings-queuemetrics_url$NWE
    QueueMetrics Log ID: $NWB#settings-queuemetrics_log_id$NWE
    QueueMetrics EnterQueue Prepend: $NWB#settings-queuemetrics_eq_prepend$NWE
    Enable Vtiger Integration: $NWB#settings-enable_vtiger_integration$NWE\n"; + echo "   Click here to Synchronize users with Vtiger\n"; + echo "
    Vtiger DB Server IP: $NWB#settings-vtiger_server_ip$NWE
    Vtiger DB Name: $NWB#settings-vtiger_dbname$NWE
    Vtiger DB Login: $NWB#settings-vtiger_login$NWE
    Vtiger DB Password: $NWB#settings-vtiger_pass$NWE
    Vtiger URL: $NWB#settings-vtiger_url$NWE
    \n"; + echo "\n"; + if ($LOGuser_level >= 9) + { + echo "

    Click here to see Admin chages to the system settings
    \n"; + } + + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + + + + + +###################### +# ADD=321111111111111 modify vicidial system statuses +###################### + +if ($ADD==321111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
    \n"; + echo ""; + + echo "
    \n"; + echo "VICIDIAL STATUSES WITHIN THIS SYSTEM:   $NWB#vicidial_statuses$NWE
    \n"; + echo "\n"; + echo "\n"; + + ##### get status category listings for dynamic pulldown + $stmt="SELECT vsc_id,vsc_name from vicidial_status_categories order by vsc_id desc"; + $rslt=mysql_query($stmt, $link); + $cats_to_print = mysql_num_rows($rslt); + $cats_list=""; + + $o=0; + while ($cats_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $cats_list .= "\n"; + $catsname_list["$rowx[0]"] = substr($rowx[1],0,20); + $o++; + } + + + $stmt="SELECT * from vicidial_statuses order by status;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $AScategory = $rowx[4]; + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "
    STATUSDESCRIPTIONSELECT-
    ABLE
    HUMAN
    ANSWER
    CATEGORYMODIFY/DELETE
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
    \n"; + echo "\n"; + echo "         \n"; + echo "   \n"; + + if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) + { + echo "DELETE\n"; + } + else + { + echo "DELETE\n"; + } + echo "
    \n"; + + echo "
    ADD NEW SYSTEM STATUS
    \n"; + echo "\n"; + echo "Status:   \n"; + echo "Description:
    \n"; + echo "Selectable:   \n"; + echo "Human Answer:   \n"; + echo "Category: \n"; + echo "  
    \n"; + echo "
    \n"; + + echo "

    \n"; + + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + + + + +###################### +# ADD=331111111111111 modify vicidial status categories +###################### + +if ($ADD==331111111111111) +{ + if ($LOGmodify_servers==1) + { + echo "
    \n"; + echo ""; + + echo "
    \n"; + echo "VICIDIAL STATUS CATEGORIES:   $NWB#vicidial_status_categories$NWE
    \n"; + echo "\n"; + echo "\n"; + + $stmt="SELECT * from vicidial_status_categories order by vsc_id;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $Avsc_id[$o] = $rowx[0]; + $Avsc_name[$o] = $rowx[1]; + $Avsc_description[$o] = $rowx[2]; + $Atovdad_display[$o] = $rowx[3]; + $Asale_category[$o] = $rowx[4]; + $Adead_lead_category[$o] = $rowx[5]; + $o++; + } + $p=0; + while ($o > $p) + { + if (eregi("1$|3$|5$|7$|9$", $p)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $CATstatuses=''; + $stmt="SELECT status from vicidial_statuses where category='$Avsc_id[$p]' order by status;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $q=0; + while ($statuses_to_print > $q) + { + $rowx=mysql_fetch_row($rslt); + $CATstatuses.=" $rowx[0]"; + $q++; + } + $stmt="SELECT status from vicidial_campaign_statuses where category='$Avsc_id[$p]' order by status;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $q=0; + while ($statuses_to_print > $q) + { + $rowx=mysql_fetch_row($rslt); + $CATstatuses.=" $rowx[0]"; + $q++; + } + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $p++; + } + + echo "
    CATEGORYNAMESTATUSES IN THIS CATEGORY
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$Avsc_id[$p]
    \n"; + echo "$CATstatuses"; + echo "
    TO VDAD Display:     Sale Category:     Dead Lead Category:  
    Description:
            \n"; + echo "   DELETE
     
    \n"; + + echo "
    ADD NEW STATUS CATEGORY
    \n"; + echo "\n"; + echo "Category ID:   \n"; + echo "Name:  
    \n"; + echo "TimeOnVDAD Display:   \n"; + echo "Sale Category:   \n"; + echo "Dead Lead Category:  
    \n"; + echo "Description:   \n"; + echo "
    \n"; + + echo "

    \n"; + + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + + + + +###################### +# ADD=341111111111111 modify vicidial QC status code +###################### + +if ($ADD==341111111111111) +{ + if ( ($LOGmodify_servers==1) and ($SSqc_features_active > 0) ) + { + echo "
    \n"; + echo ""; + + echo "
    \n"; + echo "VICIDIAL QC STATUS CODES WITHIN THIS SYSTEM:   $NWB#vicidial_qc_status_codes$NWE
    \n"; + echo "\n"; + echo "\n"; + + ##### go through each QC status code + $stmt="SELECT count(*) from vicidial_qc_codes;"; + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + if ($rowx[0] > 0) + { + $stmt="SELECT code,code_name from vicidial_qc_codes order by code;"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); + $o=0; + while ($statuses_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $o++; + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + } + } + echo "
    STATUS CODEDESCRIPTIONMODIFY/DELETE
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "$rowx[0]
            \n"; + echo "   \n"; + + if (preg_match("/^B$|^NA$|^DNC$|^NA$|^DROP$|^INCALL$|^QUEUE$|^NEW$/i",$rowx[0])) + { + echo "DELETE\n"; + } + else + { + echo "DELETE\n"; + } + echo "
    \n"; + + echo "
    ADD NEW QC STATUS CODE
    \n"; + echo "\n"; + echo "Status:   \n"; + echo "Description:
    \n"; + echo "
    \n"; + + echo "

    \n"; + + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } +} + + + + + + +###################### +# ADD=550 search form +###################### + +if ($ADD==550) +{ +echo "
    \n"; +echo ""; + +echo "
    SEARCH FOR A USER
    \n"; +echo "\n"; +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +echo "\n"; +echo "
    User Number:
    Full Name:
    User Level:
    User Group:
    \n"; + +} + +###################### +# ADD=660 user search results +###################### + +if ($ADD==660) +{ +echo "
    \n"; + echo ""; + + $SQL = ''; + if ($user) {$SQL .= " user LIKE \"%$user%\" and";} + if ($full_name) {$SQL .= " full_name LIKE \"%$full_name%\" and";} + if ($user_level > 0) {$SQL .= " user_level LIKE \"%$user_level%\" and";} + if ($user_group) {$SQL .= " user_group = '$user_group' and";} + $SQL = eregi_replace(" and$", "", $SQL); + if (strlen($SQL)>5) {$SQL = "where $SQL";} + + $stmt="SELECT * from vicidial_users $SQL order by full_name desc;"; +# echo "\n|$stmt|\n"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + +echo "
    SEARCH RESULTS:\n"; +echo "
    \n"; + + $o=0; + while ($people_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + $o++; + } + +echo "
    $row[1]$row[3]$row[4]$row[5]MODIFY | STATS | STATUS | TIME
    \n"; + +} + + +###################################################################################################### +###################################################################################################### +####### 8 series, Callback lists +###################################################################################################### +###################################################################################################### + +###################### +# ADD=8 find all callbacks on hold by a User +###################### +if ($ADD==8) +{ + if ($LOGmodify_users==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user='$user' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
    User($user) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user='$user' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
    User($user) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } +$CBinactiveLINK = "
    Remove LIVE Callbacks older than one month for this user
    Remove LIVE Callbacks older than one week for this user
    "; + +echo ""; + + $CBquerySQLwhere = "and user='$user'"; + +echo "
    USER CALLBACK HOLD LISTINGS: $user\n"; +$oldADD = "ADD=8&user=$user"; +$ADD='82'; +} + +###################### +# ADD=81 find all callbacks on hold within a Campaign +###################### +if ($ADD==81) +{ + if ($LOGmodify_campaigns==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where campaign_id='$campaign_id' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
    campaign($campaign_id) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where campaign_id='$campaign_id' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
    campaign($campaign_id) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } +$CBinactiveLINK = "
    Remove LIVE Callbacks older than one month for this campaign
    Remove LIVE Callbacks older than one week for this campaign
    "; + +echo ""; + + $CBquerySQLwhere = "and campaign_id='$campaign_id'"; + +echo "
    CAMPAIGN CALLBACK HOLD LISTINGS: $campaign_id\n"; +$oldADD = "ADD=81&campaign_id=$campaign_id"; +$ADD='82'; +} + +###################### +# ADD=811 find all callbacks on hold within a List +###################### +if ($ADD==811) +{ + if ($LOGmodify_lists==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where list_id='$list_id' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
    list($list_id) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where list_id='$list_id' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
    list($list_id) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } +$CBinactiveLINK = "
    Remove LIVE Callbacks older than one month for this list
    Remove LIVE Callbacks older than one week for this list
    "; + +echo ""; + + $CBquerySQLwhere = "and list_id='$list_id'"; + +echo "
    LIST CALLBACK HOLD LISTINGS: $list_id\n"; +$oldADD = "ADD=811&list_id=$list_id"; +$ADD='82'; +} + +###################### +# ADD=8111 find all callbacks on hold within a user group +###################### +if ($ADD==8111) +{ + if ($LOGmodify_usergroups==1) + { + if ($SUB==89) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user_group='$user_group' and status='LIVE' and callback_time < '$past_month_date';"; + $rslt=mysql_query($stmt, $link); + echo "
    user group($user_group) callback listings LIVE for more than one month have been made INACTIVE\n"; + } + if ($SUB==899) + { + $stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user_group='$user_group' and status='LIVE' and callback_time < '$past_week_date';"; + $rslt=mysql_query($stmt, $link); + echo "
    user group($user_group) callback listings LIVE for more than one week have been made INACTIVE\n"; + } + } + $CBinactiveLINK = "
    Remove LIVE Callbacks older than one month for this user group
    Remove LIVE Callbacks older than one week for this user group
    "; + + echo ""; + + $CBquerySQLwhere = "and user_group='$user_group'"; + +echo "
    USER GROUP CALLBACK HOLD LISTINGS: $list_id\n"; +$oldADD = "ADD=8111&user_group=$user_group"; +$ADD='82'; +} + +###################### +# ADD=82 display all callbacks on hold +###################### +if ($ADD==82) +{ + +$USERlink='stage=USERIDDOWN'; +$GROUPlink='stage=GROUPDOWN'; +$ENDATElink='stage=ENDATEDOWN'; +$SQLorder='order by '; +if (eregi("USERIDDOWN",$stage)) {$SQLorder='order by user desc,'; $USERlink='stage=USERIDUP';} +if (eregi("GROUPDOWN",$stage)) {$SQLorder='order by user_group desc,'; $NAMElink='stage=NAMEUP';} +if (eregi("ENDATEDOWN",$stage)) {$SQLorder='order by entry_time desc,'; $LEVELlink='stage=LEVELUP';} + + $stmt="SELECT * from vicidial_callbacks where status IN('ACTIVE','LIVE') $CBquerySQLwhere $SQLorder recipient,status desc,callback_time"; + $rslt=mysql_query($stmt, $link); + $cb_to_print = mysql_num_rows($rslt); + +echo "
    \n"; +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + $o=0; + while ($cb_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + +echo "
    LEADLIST CAMPAIGNENTRY DATECALLBACK DATEUSERRECIPIENTSTATUSGROUP
    $row[1]$row[2]$row[3]$row[5]$row[6]$row[8]$row[9]$row[4]$row[11]
    \n"; + +echo "$CBinactiveLINK"; +} + + + +###################################################################################################### +###################################################################################################### +####### 0 series, displays and searches +###################################################################################################### +###################################################################################################### + +###################### +# ADD=0 display all active users +###################### +if ($ADD==0) + { + echo "
    \n"; + echo ""; + echo "
    USER LISTINGS: "; + if (ereg('display_all',$status)) + { + $SQLstatus = ''; + echo "   show only active users\n"; + } + else + { + $SQLstatus = "where active='Y'"; + echo "   show all users\n"; + } + + $USERlink='stage=USERIDDOWN'; + $NAMElink='stage=NAMEDOWN'; + $LEVELlink='stage=LEVELDOWN'; + $GROUPlink='stage=GROUPDOWN'; + $SQLorder='order by full_name'; + if (eregi("USERIDUP",$stage)) {$SQLorder='order by user asc'; $USERlink='stage=USERIDDOWN';} + if (eregi("USERIDDOWN",$stage)) {$SQLorder='order by user desc'; $USERlink='stage=USERIDUP';} + if (eregi("NAMEUP",$stage)) {$SQLorder='order by full_name asc'; $NAMElink='stage=NAMEDOWN';} + if (eregi("NAMEDOWN",$stage)) {$SQLorder='order by full_name desc'; $NAMElink='stage=NAMEUP';} + if (eregi("LEVELUP",$stage)) {$SQLorder='order by user_level asc'; $LEVELlink='stage=LEVELDOWN';} + if (eregi("LEVELDOWN",$stage)) {$SQLorder='order by user_level desc'; $LEVELlink='stage=LEVELUP';} + if (eregi("GROUPUP",$stage)) {$SQLorder='order by user_group asc'; $GROUPlink='stage=GROUPDOWN';} + if (eregi("GROUPDOWN",$stage)) {$SQLorder='order by user_group desc'; $GROUPlink='stage=GROUPUP';} + $stmt="SELECT user,full_name,user_level,user_group,active from vicidial_users $SQLstatus $SQLorder"; + $rslt=mysql_query($stmt, $link); + $people_to_print = mysql_num_rows($rslt); + + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($people_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    USER IDFULL NAMELEVELGROUPACTIVELINKS
    $row[0]$row[1]$row[2]$row[3]$row[4]
    MODIFY | STATS | STATUS | TIME
    \n"; + } + +###################### +# ADD=10 display all campaigns +###################### +if ($ADD==10) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT campaign_id,campaign_name,active,dial_method,auto_dial_level,lead_order,dial_statuses from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + + echo "
    CAMPAIGN LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + if ($SSoutbound_autodial_active > 0) + { + echo ""; + echo ""; + echo ""; + echo ""; + } + echo "\n"; + + $o=0; + while ($campaigns_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + if ($SSoutbound_autodial_active > 0) + { + echo ""; + echo ""; + echo ""; + echo ""; + } + echo "\n"; + $o++; + } + + echo "
    CAMPAIGN ID
    NAME
    ACTIVE   DIAL METHOD   LEVEL   LEAD ORDER   DIAL STATUSES   MODIFY
    $row[0]   $row[1]   $row[2]   $row[3]   $row[4]   $row[5]   $row[6]MODIFY
    \n"; + } + + +###################### +# ADD=100 display all lists +###################### +if ($ADD==100) + { + echo "
    \n"; + echo ""; + + $LISTlink='stage=LISTIDDOWN'; + $TALLYlink='stage=TALLYDOWN'; + $ACTIVElink='stage=ACTIVEDOWN'; + $CAMPAIGNlink='stage=CAMPAIGNDOWN'; + $CALLDATElink='stage=CALLDATEDOWN'; + $SQLorder='order by list_id'; + if (eregi("LISTIDUP",$stage)) {$SQLorder='order by list_id asc'; $LISTlink='stage=LISTIDDOWN';} + if (eregi("LISTIDDOWN",$stage)) {$SQLorder='order by list_id desc'; $LISTlink='stage=LISTIDUP';} + if (eregi("TALLYUP",$stage)) {$SQLorder='order by tally asc'; $TALLYlink='stage=TALLYDOWN';} + if (eregi("TALLYDOWN",$stage)) {$SQLorder='order by tally desc'; $TALLYlink='stage=TALLYUP';} + if (eregi("ACTIVEUP",$stage)) {$SQLorder='order by active asc'; $ACTIVElink='stage=ACTIVEDOWN';} + if (eregi("ACTIVEDOWN",$stage)) {$SQLorder='order by active desc'; $ACTIVElink='stage=ACTIVEUP';} + if (eregi("CAMPAIGNUP",$stage)) {$SQLorder='order by campaign_id asc'; $CAMPAIGNlink='stage=CAMPAIGNDOWN';} + if (eregi("CAMPAIGNDOWN",$stage)) {$SQLorder='order by campaign_id desc'; $CAMPAIGNlink='stage=CAMPAIGNUP';} + if (eregi("CALLDATEUP",$stage)) {$SQLorder='order by list_lastcalldate asc'; $CALLDATElink='stage=CALLDATEDOWN';} + if (eregi("CALLDATEDOWN",$stage)) {$SQLorder='order by list_lastcalldate desc'; $CALLDATElink='stage=CALLDATEUP';} + $stmt="SELECT vls.list_id,list_name,list_description,count(*) as tally,active,list_lastcalldate,campaign_id from vicidial_lists vls,vicidial_list vl where vls.list_id=vl.list_id group by list_id $SQLorder"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + + echo "
    LIST LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + + $lists_printed = ''; + $o=0; + while ($lists_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $lists_printed .= "'$row[0]',"; + $o++; + } + + $stmt="SELECT list_id,list_name,list_description,0,active,list_lastcalldate,campaign_id from vicidial_lists where list_id NOT IN($lists_printed'');"; + $rslt=mysql_query($stmt, $link); + $lists_to_print = mysql_num_rows($rslt); + $o=0; + while ($lists_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    LIST IDLIST NAMEDESCRIPTIONLEADS COUNTACTIVELAST CALL DATECAMPAIGNMODIFY
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[5] $row[6]MODIFY
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[5] $row[6]MODIFY
    \n"; + } + + + +###################### +# ADD=1000 display all inbound groups +###################### +if ($ADD==1000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT group_id,group_name,queue_priority,active,call_time_id,group_color from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $ingroups_to_print = mysql_num_rows($rslt); + + echo "
    INBOUND GROUP LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + + $o=0; + while ($ingroups_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    IN-GROUPNAMEPRIORITYACTIVETIMECOLORMODIFY
    $row[0] $row[1] $row[2] $row[3] $row[4]  MODIFY
    \n"; + } + + +###################### +# ADD=1300 display all inbound dids +###################### +if ($ADD==1300) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT did_id,did_pattern,did_description,did_active,did_route from vicidial_inbound_dids order by did_pattern"; + $rslt=mysql_query($stmt, $link); + $dids_to_print = mysql_num_rows($rslt); + + echo "
    INBOUND GROUP LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + + $o=0; + while ($dids_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    #DIDDESCRIPTIONACTIVEROUTEMODIFY
    $row[0] $row[1] $row[2] $row[3] $row[4]MODIFY
    \n"; + } + + +###################### +# ADD=10000 display all remote agents +###################### +if ($ADD==10000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT remote_agent_id,user_start,number_of_lines,server_ip,conf_exten,status,campaign_id from vicidial_remote_agents order by server_ip,campaign_id,user_start"; + $rslt=mysql_query($stmt, $link); + $remoteagents_to_print = mysql_num_rows($rslt); + + echo "
    REMOTE AGENTS LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($remoteagents_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    USERLINESSERVER   CONF-EXTEN   STATUS   CAMPAIGN   MODIFY
    $row[1] $row[2] $row[3] $row[4] $row[5] $row[6]MODIFY
    \n"; + } + + +###################### +# ADD=100000 display all user groups +###################### +if ($ADD==100000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT user_group,group_name,forced_timeclock_login from vicidial_user_groups order by user_group"; + $rslt=mysql_query($stmt, $link); + $usergroups_to_print = mysql_num_rows($rslt); + + echo "
    USER GROUPS LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($usergroups_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    USER GROUPGROUP NAMEFORCE TIMECLOCK   MODIFY
    $row[0] $row[1] $row[2]MODIFY
    \n"; + } + + +###################### +# ADD=1000000 display all scripts +###################### +if ($ADD==1000000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT script_id,script_name,active from vicidial_scripts order by script_id"; + $rslt=mysql_query($stmt, $link); + $scripts_to_print = mysql_num_rows($rslt); + + echo "
    SCRIPTS LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($scripts_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    SCRIPT IDSCRIPT NAMEACTIVE   MODIFY
    $row[0] $row[1] $row[2]MODIFY
    \n"; + } + + +###################### +# ADD=10000000 display all filters +###################### +if ($ADD==10000000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT lead_filter_id,lead_filter_name from vicidial_lead_filters order by lead_filter_id"; + $rslt=mysql_query($stmt, $link); + $filters_to_print = mysql_num_rows($rslt); + + echo "
    LEAD FILTER LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($filters_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    SCRIPT IDSCRIPT NAMEMODIFY
    $row[0] $row[1]MODIFY
    \n"; + } + + +###################### +# ADD=100000000 display all call times +###################### +if ($ADD==100000000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT call_time_id,call_time_name,ct_default_start,ct_default_stop from vicidial_call_times order by call_time_id"; + $rslt=mysql_query($stmt, $link); + $calltimes_to_print = mysql_num_rows($rslt); + + echo "
    CALL TIME LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($calltimes_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    CALLTIME IDCALLTIME NAMEDEFAULT STARTDEFAULT STOPMODIFY
    $row[0] $row[1] $row[2] $row[3] MODIFY
    \n"; + } + +###################### +# ADD=1000000000 display all state call times +###################### +if ($ADD==1000000000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT state_call_time_id,state_call_time_state,state_call_time_name,sct_default_start,sct_default_stop from vicidial_state_call_times order by state_call_time_id"; + $rslt=mysql_query($stmt, $link); + $statecalltimes_to_print = mysql_num_rows($rslt); + + echo "
    STATE CALL TIME LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + + $o=0; + while ($statecalltimes_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    CALLTIME IDCALLTIME STATECALLTIME NAMEDEFAULT STARTDEFAULT STOPMODIFY
    $row[0] $row[1] $row[2] $row[3] $row[4] MODIFY
    \n"; + } + +###################### +# ADD=130000000 display all shifts +###################### +if ($ADD==130000000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT shift_id,shift_name,shift_start_time,shift_length,shift_weekdays from vicidial_shifts order by shift_id"; + $rslt=mysql_query($stmt, $link); + $shifts_to_print = mysql_num_rows($rslt); + + echo "
    SHIFT LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($shifts_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    SHIFT IDSHIFT NAMESHIFT STARTSHIFT LENGTHWEEKDAYSMODIFY
    $row[0] $row[1] $row[2] $row[3] $row[4] MODIFY
    \n"; + } + +###################### +# ADD=10000000000 display all phones +###################### +if ($ADD==10000000000) + { + echo "
    \n"; + echo ""; + + $EXTENlink='stage=EXTENDOWN'; + $PROTOlink='stage=PROTODOWN'; + $SERVERlink='stage=SERVERDOWN'; + $STATUSlink='stage=STATUSDOWN'; + $SQLorder='order by extension,server_ip'; + if (eregi("EXTENUP",$stage)) {$SQLorder='order by extension asc'; $EXTENlink='stage=EXTENDOWN';} + if (eregi("EXTENDOWN",$stage)) {$SQLorder='order by extension desc'; $EXTENlink='stage=EXTENUP';} + if (eregi("PROTOUP",$stage)) {$SQLorder='order by protocol asc'; $PROTOlink='stage=PROTODOWN';} + if (eregi("PROTODOWN",$stage)) {$SQLorder='order by protocol desc'; $PROTOlink='stage=PROTOUP';} + if (eregi("SERVERUP",$stage)) {$SQLorder='order by server_ip asc'; $SERVERlink='stage=SERVERDOWN';} + if (eregi("SERVERDOWN",$stage)) {$SQLorder='order by server_ip desc'; $SERVERlink='stage=SERVERUP';} + if (eregi("STATUSUP",$stage)) {$SQLorder='order by status asc'; $STATUSlink='stage=STATUSDOWN';} + if (eregi("STATUSDOWN",$stage)) {$SQLorder='order by status desc'; $STATUSlink='stage=STATUSUP';} + $stmt="SELECT extension,protocol,server_ip,dialplan_number,voicemail_id,status,fullname,messages,old_messages from phones $SQLorder"; + $rslt=mysql_query($stmt, $link); + $phones_to_print = mysql_num_rows($rslt); + + echo "
    PHONE LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($phones_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo " + + + + + + + + "; + echo "\n"; + $o++; + } + + echo "
    EXTENPROTOSERVERDIAL PLANSTATUSNAMEVMAILLINKS
    $row[0]$row[1]$row[2]$row[3]$row[4]$row[5]$row[6]$row[7]$row[8]MODIFY | STATS
    \n"; + } + +###################### +# ADD=12000000000 display all phones alias +###################### +if ($ADD==12000000000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT alias_id,alias_name,logins_list from phones_alias order by alias_id;"; + $rslt=mysql_query($stmt, $link); + $phonealias_to_print = mysql_num_rows($rslt); + + echo "
    PHONE ALIAS LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($phonealias_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    ALIAS IDALIAS NAMEPHONE LOGINS LISTMODIFY
    $row[0]$row[1]$row[2]MODIFY
    \n"; + } + +###################### +# ADD=13000000000 display all group alias +###################### +if ($ADD==13000000000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT group_alias_id,group_alias_name,caller_id_number,caller_id_name,active from groups_alias order by group_alias_id;"; + $rslt=mysql_query($stmt, $link); + $phonealias_to_print = mysql_num_rows($rslt); + + echo "
    GROUP ALIAS LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($phonealias_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    GROUP ALIAS IDGROUP ALIAS NAMECID NUMBERCID NAMEACTIVEMODIFY
    $row[0]$row[1]$row[2]$row[3]$row[4]MODIFY
    \n"; + } + +###################### +# ADD=100000000000 display all servers +###################### +if ($ADD==100000000000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT server_id,server_description,server_ip,active,asterisk_version,max_vicidial_trunks,local_gmt from servers order by server_id"; + $rslt=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rslt); + + echo "
    SERVER LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($servers_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    SERVER IDNAMESERVER IPACTIVEASTERISKTRUNKSGMTMODIFY
    $row[0]$row[1]$row[2]$row[3]$row[4]$row[5]$row[6]MODIFY
    \n"; + } + +###################### +# ADD=130000000000 display all conf templates +###################### +if ($ADD==130000000000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT template_id,template_name from vicidial_conf_templates order by template_id"; + $rslt=mysql_query($stmt, $link); + $templates_to_print = mysql_num_rows($rslt); + + echo "
    CONF TEMPLATE LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($templates_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    Template IDTemplate NameMODIFY
    $row[0]$row[1]MODIFY
    \n"; + } + +###################### +# ADD=140000000000 display all carriers +###################### +if ($ADD==140000000000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT carrier_id,carrier_name,server_ip,protocol,registration_string,active from vicidial_server_carriers order by carrier_id"; + $rslt=mysql_query($stmt, $link); + $carriers_to_print = mysql_num_rows($rslt); + + echo "
    CARRIER LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($carriers_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    Carrier IDCarrier NameServer IPProtocolRegistrationActiveMODIFY
    $row[0]$row[1]$row[2]$row[3]$row[4]$row[5]MODIFY
    \n"; + } + +###################### +# ADD=1000000000000 display all conferences +###################### +if ($ADD==1000000000000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT conf_exten,server_ip,extension from conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $conferences_to_print = mysql_num_rows($rslt); + + echo "
    CONFERENCE LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($conferences_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    CONFERENCESERVER IPEXTENSIONMODIFY
    $row[0]$row[1]$row[2]MODIFY
    \n"; + } + +###################### +# ADD=10000000000000 display all vicidial conferences +###################### +if ($ADD==10000000000000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT conf_exten,server_ip,extension from vicidial_conferences order by conf_exten"; + $rslt=mysql_query($stmt, $link); + $vicidialconf_to_print = mysql_num_rows($rslt); + + echo "
    VICIDIAL CONFERENCE LISTINGS:\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + + $o=0; + while ($vicidialconf_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo "\n"; + $o++; + } + + echo "
    CONFERENCESERVER IPEXTENSIONMODIFY
    $row[0] $row[1] $row[2]MODIFY
    \n"; + } + + + + + +###################### +# ADD=700000000000000 view all activity in the admin log +###################### + +if ($ADD==700000000000000) + { + echo "
    \n"; + echo ""; + + if ($stage > 9999) + { + $next_limit = ($stage + 10000); + $limitSQL = "10000 offset $stage"; + } + else + { + $next_limit = "10000"; + $limitSQL = "10000"; + } + + $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code from vicidial_admin_log order by event_date desc limit $limitSQL;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + echo "
    ADMIN CHANGE LOG: (Last 10000 records)\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $logs_printed = ''; + $o=0; + while ($logs_to_print > $o) + { + $row=mysql_fetch_row($rslt); + if (eregi("USER|AGENT",$row[4])) {$record_link = "ADD=3&user=$row[6]";} + if (eregi('CAMPAIGN',$row[4])) {$record_link = "ADD=31&campaign_id=$row[6]";} + if (eregi('LIST',$row[4])) {$record_link = "ADD=311&list_id=$row[6]";} + if (eregi('SCRIPT',$row[4])) {$record_link = "ADD=3111111&script_id=$row[6]";} + if (eregi('FILTER',$row[4])) {$record_link = "ADD=31111111&lead_filter_id=$row[6]";} + if (eregi('INGROUP',$row[4])) {$record_link = "ADD=3111&group_id=$row[6]";} + if (eregi('DID',$row[4])) {$record_link = "ADD=3311&did_id=$row[6]";} + if (eregi('USERGROUP',$row[4])) {$record_link = "ADD=311111&user_group=$row[6]";} + if (eregi('REMOTEAGENT',$row[4])) {$record_link = "ADD=31111&remote_agent_id=$row[6]";} + if (eregi('PHONE',$row[4])) {$record_link = "ADD=10000000000";} + if (eregi('CALLTIME',$row[4])) {$record_link = "ADD=311111111&call_time_id=$row[6]";} + if (eregi('SHIFT',$row[4])) {$record_link = "ADD=331111111&shift_id=$row[6]";} + if (eregi('CONFTEMPLATE',$row[4])) {$record_link = "ADD=331111111111&template_id=$row[6]";} + if (eregi('CARRIER',$row[4])) {$record_link = "ADD=341111111111&carrier_id=$row[6]";} + if (eregi('SERVER',$row[4])) {$record_link = "ADD=311111111111&server_id=$row[6]";} + if (eregi('CONFERENCE',$row[4])) {$record_link = "ADD=1000000000000";} + if (eregi('SYSTEM',$row[4])) {$record_link = "ADD=311111111111111";} + if (eregi('CATEGOR',$row[4])) {$record_link = "ADD=331111111111111";} + if (eregi('GROUPALIAS',$row[4])) {$record_link = "ADD=33111111111&group_alias_id=$row[6]";} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $logs_printed .= "'$row[0]',"; + $o++; + } + echo "
    IDDATE TIMEUSERIPSECTIONTYPERECORD IDDESCRIPTIONGOTO
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[5] $row[6] $row[7] GOTO


    \n"; + echo "NEXT\n"; + echo "
    \n"; + } + + +###################### +# ADD=710000000000000 view all activity in the admin log made by one user +###################### + +if ($ADD==710000000000000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT full_name from vicidial_users where user='$stage';"; + $rslt=mysql_query($stmt, $link); + $names_to_print = mysql_num_rows($rslt); + if ($names_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $user_name = $row[0]; + } + + $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code from vicidial_admin_log where user='$stage' order by event_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + echo "
    ADMIN CHANGE LOG: Changes made by $stage - $user_name\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $logs_printed = ''; + $o=0; + while ($logs_to_print > $o) + { + $row=mysql_fetch_row($rslt); + + if (eregi("USER|AGENT",$row[4])) {$record_link = "ADD=3&user=$row[6]";} + if (eregi('CAMPAIGN',$row[4])) {$record_link = "ADD=31&campaign_id=$row[6]";} + if (eregi('LIST',$row[4])) {$record_link = "ADD=311&list_id=$row[6]";} + if (eregi('SCRIPT',$row[4])) {$record_link = "ADD=3111111&script_id=$row[6]";} + if (eregi('FILTER',$row[4])) {$record_link = "ADD=31111111&lead_filter_id=$row[6]";} + if (eregi('INGROUP',$row[4])) {$record_link = "ADD=3111&group_id=$row[6]";} + if (eregi('DID',$row[4])) {$record_link = "ADD=3311&did_id=$row[6]";} + if (eregi('USERGROUP',$row[4])) {$record_link = "ADD=311111&user_group=$row[6]";} + if (eregi('REMOTEAGENT',$row[4])) {$record_link = "ADD=31111&remote_agent_id=$row[6]";} + if (eregi('PHONE',$row[4])) {$record_link = "ADD=10000000000";} + if (eregi('CALLTIME',$row[4])) {$record_link = "ADD=311111111&call_time_id=$row[6]";} + if (eregi('SHIFT',$row[4])) {$record_link = "ADD=331111111&shift_id=$row[6]";} + if (eregi('CONFTEMPLATE',$row[4])) {$record_link = "ADD=331111111111&template_id=$row[6]";} + if (eregi('CARRIER',$row[4])) {$record_link = "ADD=341111111111&carrier_id=$row[6]";} + if (eregi('SERVER',$row[4])) {$record_link = "ADD=311111111111&server_id=$row[6]";} + if (eregi('CONFERENCE',$row[4])) {$record_link = "ADD=1000000000000";} + if (eregi('SYSTEM',$row[4])) {$record_link = "ADD=311111111111111";} + if (eregi('CATEGOR',$row[4])) {$record_link = "ADD=331111111111111";} + if (eregi('GROUPALIAS',$row[4])) {$record_link = "ADD=33111111111&group_alias_id=$row[6]";} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $logs_printed .= "'$row[0]',"; + $o++; + } + echo "
    IDDATE TIMEUSERIPSECTIONTYPERECORD IDDESCRIPTIONGOTO
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[5] $row[6] $row[7] GOTO


    \n"; + echo "\n"; + echo "
    \n"; + } + + +###################### +# ADD=720000000000000 view all activity in the admin log made to one section/value +###################### + +if ($ADD==720000000000000) + { + echo "\n"; +echo "
    \n"; + echo ""; + + $stmt="SELECT admin_log_id,event_date,user,ip_address,event_section,event_type,record_id,event_code from vicidial_admin_log where event_section='$category' and record_id='$stage' order by event_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + echo "
    ADMIN CHANGE LOG: Section Records - $category - $stage\n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $logs_printed = ''; + $o=0; + while ($logs_to_print > $o) + { + $row=mysql_fetch_row($rslt); + + if (eregi("USER|AGENT",$row[4])) {$record_link = "ADD=3&user=$row[6]";} + if (eregi('CAMPAIGN',$row[4])) {$record_link = "ADD=31&campaign_id=$row[6]";} + if (eregi('LIST',$row[4])) {$record_link = "ADD=311&list_id=$row[6]";} + if (eregi('SCRIPT',$row[4])) {$record_link = "ADD=3111111&script_id=$row[6]";} + if (eregi('FILTER',$row[4])) {$record_link = "ADD=31111111&lead_filter_id=$row[6]";} + if (eregi('INGROUP',$row[4])) {$record_link = "ADD=3111&group_id=$row[6]";} + if (eregi('DID',$row[4])) {$record_link = "ADD=3311&did_id=$row[6]";} + if (eregi('USERGROUP',$row[4])) {$record_link = "ADD=311111&user_group=$row[6]";} + if (eregi('REMOTEAGENT',$row[4])) {$record_link = "ADD=31111&remote_agent_id=$row[6]";} + if (eregi('PHONE',$row[4])) {$record_link = "ADD=10000000000";} + if (eregi('CALLTIME',$row[4])) {$record_link = "ADD=311111111&call_time_id=$row[6]";} + if (eregi('SHIFT',$row[4])) {$record_link = "ADD=331111111&shift_id=$row[6]";} + if (eregi('CONFTEMPLATE',$row[4])) {$record_link = "ADD=331111111111&template_id=$row[6]";} + if (eregi('CARRIER',$row[4])) {$record_link = "ADD=341111111111&carrier_id=$row[6]";} + if (eregi('SERVER',$row[4])) {$record_link = "ADD=311111111111&server_id=$row[6]";} + if (eregi('CONFERENCE',$row[4])) {$record_link = "ADD=1000000000000";} + if (eregi('SYSTEM',$row[4])) {$record_link = "ADD=311111111111111";} + if (eregi('CATEGOR',$row[4])) {$record_link = "ADD=331111111111111";} + if (eregi('GROUPALIAS',$row[4])) {$record_link = "ADD=33111111111&group_alias_id=$row[6]";} + + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + $logs_printed .= "'$row[0]',"; + $o++; + } + echo "
    IDDATE TIMEUSERIPSECTIONTYPERECORD IDDESCRIPTIONGOTO
    $row[0] $row[1] $row[2] $row[3] $row[4] $row[5] $row[6] $row[7] GOTO


    \n"; + echo "\n"; + echo "
    \n"; + } + + +###################### +# ADD=730000000000000 detail view of one admin log entry +###################### + +if ($ADD==730000000000000) + { + echo "
    \n"; + echo ""; + + $stmt="SELECT admin_log_id,event_date,val.user,ip_address,event_section,event_type,record_id,event_code,event_notes,event_sql,full_name from vicidial_admin_log val, vicidial_users vu where admin_log_id='$stage' and val.user=vu.user;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + if ($logs_to_print > 0) + { + $row=mysql_fetch_row($rslt); + echo "
    ADMIN CHANGE LOG: Record Detail - $stage

    \n"; + echo "
    \n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + $row[9] = eregi_replace("',","' ,",$row[9]); + echo ""; + echo ""; + echo "\n"; + echo "
    ID: $row[0]
    DATE TIME: $row[1]
    USER: $row[2] - $row[10]
    IP: $row[3]
    SECTION: $row[4]
    TYPE: $row[5]
    RECORD ID: $row[6]
    DESCRIPTION: $row[7]
    NOTES: $row[8]
    SQL:

    $row[9]



    \n"; + echo "\n"; + echo "
    \n"; + } + } + + +###################### +# ADD=999999 display reports section +###################### +if ($ADD==999999) + { + if ($LOGview_reports==1) + { + echo "
    \n"; + echo ""; + + $stmt="select server_id,server_description,server_ip,active,sysload,channels_total,cpu_idle_percent,disk_usage from servers;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $servers_to_print = mysql_num_rows($rslt); + $i=0; + while ($i < $servers_to_print) + { + $row=mysql_fetch_row($rslt); + $server_id[$i] = $row[0]; + $server_description[$i] = $row[1]; + $server_ip[$i] = $row[2]; + $active[$i] = $row[3]; + $sysload[$i] = $row[4]; + $channels_total[$i] = $row[5]; + $cpu_idle_percent[$i] = $row[6]; + $disk_usage[$i] = $row[7]; + $i++; + } + + $stmt="SELECT queuemetrics_url,vtiger_url from system_settings;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $queuemetrics_url_LU = $row[0]; + $vtiger_url_LU = $row[1]; + + ?> + + + + + + VICIDIAL: Server Stats and Reports + VICIDIAL: Server Stats and Reports

    + +
    
    +		
    +		 $o)
    +			{
    +			$cpu = (100 - $cpu_idle_percent[$o]);
    +			$disk = '';
    +			$disk_ary = explode('|',$disk_usage[$o]);
    +			$disk_ary_ct = count($disk_ary);
    +			$k=0;
    +			while ($k < $disk_ary_ct)
    +				{
    +				$disk_ary[$k] = preg_replace("/^\d* /","",$disk_ary[$k]);
    +				if ($k<1) {$disk = "$disk_ary[$k]";}
    +				else
    +					{
    +					if ($disk_ary[$k] > $disk) {$disk = "$disk_ary[$k]";}
    +					}
    +				$k++;
    +				}
    +			$disk = "$disk%";
    +			echo "\n";
    +			echo "\n";
    +			echo "\n";
    +			echo "\n";
    +			echo "\n";
    +			echo "\n";
    +			echo "\n";
    +			echo "\n";
    +			echo "\n";
    +			echo "\n";
    +			echo "\n";
    +			$o++;
    +			}
    +
    +		echo "
    SERVERDESCRIPTIONIPACTLOADCHANDISKOUTBOUNDINBOUND
    $server_id[$o]$server_description[$o]$server_ip[$o]$active[$o]$sysload[$o] - $cpu%$channels_total[$o]$diskLINKLINK
    \n"; + } + else + { + echo "You do not have permission to view this page\n"; + exit; + } + } + + + + + +echo "
    \n"; +echo "
    \n"; + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "
    \n"; +echo "

    "; +echo "VERSION: $admin_version
    "; +echo "BUILD: $build
    \n"; + +?> + +
    +
    + + + +1) + { + if (strlen($dial_statuses)>2) + { + $g=0; + $p='13'; + $GMT_gmt[0] = ''; + $GMT_hour[0] = ''; + $GMT_day[0] = ''; + while ($p > -13) + { + $pzone=3600 * $p; + $pmin=(gmdate("i", time() + $pzone)); + $phour=( (gmdate("G", time() + $pzone)) * 100); + $pday=gmdate("w", time() + $pzone); + $tz = sprintf("%.2f", $p); + $GMT_gmt[$g] = "$tz"; + $GMT_day[$g] = "$pday"; + $GMT_hour[$g] = ($phour + $pmin); + $p = ($p - 0.25); + $g++; + } + + $stmt="SELECT * FROM vicidial_call_times where call_time_id='$local_call_time';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rslt); + $Gct_default_start = "$rowx[3]"; + $Gct_default_stop = "$rowx[4]"; + $Gct_sunday_start = "$rowx[5]"; + $Gct_sunday_stop = "$rowx[6]"; + $Gct_monday_start = "$rowx[7]"; + $Gct_monday_stop = "$rowx[8]"; + $Gct_tuesday_start = "$rowx[9]"; + $Gct_tuesday_stop = "$rowx[10]"; + $Gct_wednesday_start = "$rowx[11]"; + $Gct_wednesday_stop = "$rowx[12]"; + $Gct_thursday_start = "$rowx[13]"; + $Gct_thursday_stop = "$rowx[14]"; + $Gct_friday_start = "$rowx[15]"; + $Gct_friday_stop = "$rowx[16]"; + $Gct_saturday_start = "$rowx[17]"; + $Gct_saturday_stop = "$rowx[18]"; + $Gct_state_call_times = "$rowx[19]"; + + $ct_states = ''; + $ct_state_gmt_SQL = ''; + $ct_srs=0; + $b=0; + if (strlen($Gct_state_call_times)>2) + { + $state_rules = explode('|',$Gct_state_call_times); + $ct_srs = ((count($state_rules)) - 2); + } + while($ct_srs >= $b) + { + if (strlen($state_rules[$b])>1) + { + $stmt="SELECT * from vicidial_state_call_times where state_call_time_id='$state_rules[$b]';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Gstate_call_time_id = "$row[0]"; + $Gstate_call_time_state = "$row[1]"; + $Gsct_default_start = "$row[4]"; + $Gsct_default_stop = "$row[5]"; + $Gsct_sunday_start = "$row[6]"; + $Gsct_sunday_stop = "$row[7]"; + $Gsct_monday_start = "$row[8]"; + $Gsct_monday_stop = "$row[9]"; + $Gsct_tuesday_start = "$row[10]"; + $Gsct_tuesday_stop = "$row[11]"; + $Gsct_wednesday_start = "$row[12]"; + $Gsct_wednesday_stop = "$row[13]"; + $Gsct_thursday_start = "$row[14]"; + $Gsct_thursday_stop = "$row[15]"; + $Gsct_friday_start = "$row[16]"; + $Gsct_friday_stop = "$row[17]"; + $Gsct_saturday_start = "$row[18]"; + $Gsct_saturday_stop = "$row[19]"; + + $ct_states .="'$Gstate_call_time_state',"; + + $r=0; + $state_gmt=''; + while($r < $g) + { + if ($GMT_day[$r]==0) #### Sunday local time + { + if (($Gsct_sunday_start==0) and ($Gsct_sunday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_sunday_start) and ($GMT_hour[$r]<$Gsct_sunday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==1) #### Monday local time + { + if (($Gsct_monday_start==0) and ($Gsct_monday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_monday_start) and ($GMT_hour[$r]<$Gsct_monday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==2) #### Tuesday local time + { + if (($Gsct_tuesday_start==0) and ($Gsct_tuesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_tuesday_start) and ($GMT_hour[$r]<$Gsct_tuesday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==3) #### Wednesday local time + { + if (($Gsct_wednesday_start==0) and ($Gsct_wednesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_wednesday_start) and ($GMT_hour[$r]<$Gsct_wednesday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==4) #### Thursday local time + { + if (($Gsct_thursday_start==0) and ($Gsct_thursday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_thursday_start) and ($GMT_hour[$r]<$Gsct_thursday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==5) #### Friday local time + { + if (($Gsct_friday_start==0) and ($Gsct_friday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_friday_start) and ($GMT_hour[$r]<$Gsct_friday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==6) #### Saturday local time + { + if (($Gsct_saturday_start==0) and ($Gsct_saturday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_saturday_start) and ($GMT_hour[$r]<$Gsct_saturday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + $r++; + } + $state_gmt = "$state_gmt'99'"; + $ct_state_gmt_SQL .= "or (state='$Gstate_call_time_state' and gmt_offset_now IN($state_gmt)) "; + } + + $b++; + } + if (strlen($ct_states)>2) + { + $ct_states = eregi_replace(",$",'',$ct_states); + $ct_statesSQL = "and state NOT IN($ct_states)"; + } + else + { + $ct_statesSQL = ""; + } + + $r=0; + $default_gmt=''; + while($r < $g) + { + if ($GMT_day[$r]==0) #### Sunday local time + { + if (($Gct_sunday_start==0) and ($Gct_sunday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_sunday_start) and ($GMT_hour[$r]<$Gct_sunday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==1) #### Monday local time + { + if (($Gct_monday_start==0) and ($Gct_monday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_monday_start) and ($GMT_hour[$r]<$Gct_monday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==2) #### Tuesday local time + { + if (($Gct_tuesday_start==0) and ($Gct_tuesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_tuesday_start) and ($GMT_hour[$r]<$Gct_tuesday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==3) #### Wednesday local time + { + if (($Gct_wednesday_start==0) and ($Gct_wednesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_wednesday_start) and ($GMT_hour[$r]<$Gct_wednesday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==4) #### Thursday local time + { + if (($Gct_thursday_start==0) and ($Gct_thursday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_thursday_start) and ($GMT_hour[$r]<$Gct_thursday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==5) #### Friday local time + { + if (($Gct_friday_start==0) and ($Gct_friday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_friday_start) and ($GMT_hour[$r]<$Gct_friday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==6) #### Saturday local time + { + if (($Gct_saturday_start==0) and ($Gct_saturday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gct_default_start) and ($GMT_hour[$r]<$Gct_default_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gct_saturday_start) and ($GMT_hour[$r]<$Gct_saturday_stop) ) + {$default_gmt.="'$GMT_gmt[$r]',";} + } + } + $r++; + } + + $default_gmt = "$default_gmt'99'"; + $all_gmtSQL = "(gmt_offset_now IN($default_gmt) $ct_statesSQL) $ct_state_gmt_SQL"; + + + $dial_statuses = preg_replace("/ -$/","",$dial_statuses); + $Dstatuses = explode(" ", $dial_statuses); + $Ds_to_print = (count($Dstatuses) - 0); + $Dsql = ''; + $o=0; + while ($Ds_to_print > $o) + { + $o++; + $Dsql .= "'$Dstatuses[$o]',"; + } + $Dsql = preg_replace("/,$/","",$Dsql); + + $stmt="SELECT count(*) FROM vicidial_list where called_since_last_reset='N' and status IN($Dsql) and list_id IN($camp_lists) and ($all_gmtSQL) $fSQL"; + #$DB=1; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $rslt_rows = mysql_num_rows($rslt); + if ($rslt_rows) + { + $rowx=mysql_fetch_row($rslt); + $active_leads = "$rowx[0]"; + } + else {$active_leads = '0';} + + echo "|$DB|\n"; + echo "This campaign has $active_leads leads to be dialed in those lists\n"; + } + else + { + echo "no dial statuses selected for this campaign\n"; + } + } + else + { + echo "no active lists selected for this campaign\n"; + } + } +else + { + echo "no active lists selected for this campaign\n"; + } +##### END calculate what gmt_offset_now values are within the allowed local_call_time setting ### +} +?> diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/admin_header.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/admin_header.php new file mode 100644 index 00000000..0d28ac51 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/admin_header.php @@ -0,0 +1,932 @@ + LICENSE: AGPLv2 +# + +# CHANGES +# 90310-0709 - First Build + + +######################### SMALL HTML HEADER BEGIN ####################################### +if($short_header) + { + ?> +
    + + + + + + + + + + + + +
        Users     Campaigns     Lists     Scripts     Filters     In-Groups     User Groups     Remote Agents     Admin     Reports  
    + 0) + { + if ($hh=='lists') + {$lists_hh="bgcolor=\"$lists_color\""; $lists_fc="$lists_font"; $lists_bold="$header_selected_bold";} + else {$lists_hh=''; $lists_fc='WHITE'; $lists_bold="$header_nonselected_bold";} + } +if ($hh=='ingroups') + {$ingroups_hh="bgcolor=\"$ingroups_color\""; $ingroups_fc="$ingroups_font"; $ingroups_bold="$header_selected_bold";} + else {$ingroups_hh=''; $ingroups_fc='WHITE'; $ingroups_bold="$header_nonselected_bold";} +if ($hh=='remoteagent') + {$remoteagent_hh="bgcolor=\"$remoteagent_color\""; $remoteagent_fc="$remoteagent_font"; $remoteagent_bold="$header_selected_bold";} + else {$remoteagent_hh=''; $remoteagent_fc='WHITE'; $remoteagent_bold="$header_nonselected_bold";} +if ($hh=='usergroups') + {$usergroups_hh="bgcolor=\"$usergroups_color\""; $usergroups_fc="$usergroups_font"; $usergroups_bold="$header_selected_bold";} + else {$usergroups_hh=''; $usergroups_fc='WHITE'; $usergroups_bold="$header_nonselected_bold";} +if ($hh=='scripts') + {$scripts_hh="bgcolor=\"$scripts_color\""; $scripts_fc="$scripts_font"; $scripts_bold="$header_selected_bold";} + else {$scripts_hh=''; $scripts_fc='WHITE'; $scripts_bold="$header_nonselected_bold";} +if ($SSoutbound_autodial_active > 0) + { + if ($hh=='filters') + {$filters_hh="bgcolor=\"$filters_color\""; $filters_fc="$filters_font"; $filters_bold="$header_selected_bold";} + else {$filters_hh=''; $filters_fc='WHITE'; $filters_bold="$header_nonselected_bold";} + } +if ($hh=='admin') + {$admin_hh="bgcolor=\"$admin_color\""; $admin_fc="$admin_font"; $admin_bold="$header_selected_bold";} + else {$admin_hh=''; $admin_fc='WHITE'; $admin_bold="$header_nonselected_bold";} +if ($hh=='reports') + {$reports_hh="bgcolor=\"$reports_color\""; $reports_fc="$reports_font"; $reports_bold="$header_selected_bold";} + else {$reports_hh=''; $reports_fc='WHITE'; $reports_bold="$header_nonselected_bold";} + +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +$stmt="SELECT admin_home_url from system_settings;"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$admin_home_url_LU = $row[0]; + +?> +
    + + + + +\r\n"; + print " \r\n"; + } + $rec_count++; + } +$sthA->finish(); + +exit; diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/listloader_super.pl b/agc_2-X/branches/agc_2.0.5/www/vicidial/listloader_super.pl new file mode 100644 index 00000000..3af97f37 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/listloader_super.pl @@ -0,0 +1,1104 @@ +#!/usr/bin/perl +# +# listloader_super.pl version 2.0.5 +# +# Copyright (C) 2008 Matt Florell,Joe Johnson LICENSE: AGPLv2 +# +# +# CHANGES +# 60616-1548 - Added listID override feature to force all leads into same list +# - Added gmt_offset_now lookup for each lead +# 60811-1232 - Changed to DBI +# 60811-1329 - changed to use /etc/astguiclient.conf for configs +# 60906-1056 - added filter of non-digits in alt_phone field +# 61110-1229 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1207 - added postal code GMT lookup and duplicate check options +# 70205-1703 - Defaulted phone_code to 1 if not populated +# 70417-1059 - Fixed default phone_code bug +# 70510-1518 - Added campaign and system duplicate check and phonecode override +# 80428-0144 - UTF8 cleanup +# 80713-0023 - added last_local_call_time field default of 2008-01-01 +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n [-forcelistid=1234] = overrides the listID given in the file with the 1234\n [-h] = this help screen\n\n"; + + exit; + } + else + { + if ($args =~ /-duplicate-check/i) + {$dupcheck=1;} + if ($args =~ /-duplicate-campaign-check/i) + {$dupcheckcamp=1;} + if ($args =~ /-duplicate-system-check/i) + {$dupchecksys=1;} + if ($args =~ /-postal-code-gmt/i) + {$postalgmt=1;} + if ($args =~ /--forcelistid=/i) + { + @data_in = split(/--forcelistid=/,$args); + $forcelistid = $data_in[1]; + $forcelistid =~ s/ .*//gi; + print "\n----- FORCE LISTID OVERRIDE: $forcelistid -----\n\n"; + } + else + {$forcelistid = '';} + + if ($args =~ /--forcephonecode=/i) + { + @data_in = split(/--forcephonecode=/,$args); + $forcephonecode = $data_in[1]; + $forcephonecode =~ s/ .*//gi; + print "\n----- FORCE PHONECODE OVERRIDE: $forcephonecode -----\n\n"; + } + else + {$forcephonecode = '';} + + if ($args =~ /--lead-file=/i) + { + @data_in = split(/--lead-file=/,$args); + $lead_file = $data_in[1]; + $lead_file =~ s/ .*//gi; + # print "\n----- LEAD FILE: $lead_file -----\n\n"; + } + else + {$lead_file = './vicidial_temp_file.xls';} + } +} +### end parsing run-time options ### + +use Spreadsheet::ParseExcel; +use Time::Local; +use DBI; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +$vars=$ARGV[0]; +@xls_fields=split(/\,/, $vars); + +$|=0; +$secX = time(); + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$pulldate="$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmtA = "SELECT use_non_latin FROM system_settings;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $non_latin = "$aryA[0]"; + } +$sthA->finish(); +##### END SETTINGS LOOKUP ##### +########################################### + + +if ($non_latin > 0) {$affected_rows = $dbhA->do("SET NAMES 'UTF8'");} + +### Grab Server values from the database +$stmtA = "SELECT local_gmt FROM servers where server_ip = '$server_ip';"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBSERVER_GMT = "$aryA[0]"; + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + $rec_count++; + } +$sthA->finish(); + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +if ($isdst) {$LOCAL_GMT_OFF++;} +if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + + + +$total=0; $good=0; $bad=0; +open(STMT_FILE, "> $PATHlogs/listloader_stmts.txt"); + +$oBook = Spreadsheet::ParseExcel::Workbook->Parse("$lead_file"); +my($iR, $iC, $oWkS, $oWkC); + +foreach $oWkS (@{$oBook->{Worksheet}}) { + for($iR = 0 ; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++) { + + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user = ""; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[0]]; + if ($oWkC) {$vendor_lead_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[1]]; + if ($oWkC) {$source_code=$oWkC->Value; } + $source_id=$source_code; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[2]]; + if ($oWkC) {$list_id=$oWkC->Value; } + $gmt_offset = '0'; + $called_since_last_reset='N'; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[3]]; + if ($oWkC) {$phone_code=$oWkC->Value; } + $phone_code=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[4]]; + if ($oWkC) {$phone_number=$oWkC->Value; } + $phone_number=~s/[^0-9]//g; + $USarea = substr($phone_number, 0, 3); + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[5]]; + if ($oWkC) {$title=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[6]]; + if ($oWkC) {$first_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[7]]; + if ($oWkC) {$middle_initial=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[8]]; + if ($oWkC) {$last_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[9]]; + if ($oWkC) {$address1=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[10]]; + if ($oWkC) {$address2=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[11]]; + if ($oWkC) {$address3=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[12]]; + if ($oWkC) {$city=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[13]]; + if ($oWkC) {$state=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[14]]; + if ($oWkC) {$province=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[15]]; + if ($oWkC) {$postal_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[16]]; + if ($oWkC) {$country_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[17]]; + if ($oWkC) {$gender=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[18]]; + if ($oWkC) {$date_of_birth=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[19]]; + if ($oWkC) {$alt_phone=$oWkC->Value; } + $alt_phone=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[20]]; + if ($oWkC) {$email=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[21]]; + if ($oWkC) {$security_phrase=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][$xls_fields[22]]; + if ($oWkC) {$comments=$oWkC->Value; } + $comments=~s/^\s*(.*?)\s*$/$1/; + + + + if (length($forcelistid) > 0) + { + $list_id = $forcelistid; # set list_id to override value + } + if (length($forcephonecode) > 0) + { + $phone_code = $forcephonecode; # set phone_code to override value + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if ($dupchecksys > 0) + { + $dup_lead=0; + $stmtA = "select count(*) from vicidial_list where phone_number='$phone_number';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead = $aryA[0]; + $dup_lead_list=$list_id; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if ($dupcheck > 0) + { + $dup_lead=0; + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id='$list_id' limit 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = $aryA[0]; + $dup_lead++; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if ($dupcheckcamp > 0) + { + $dup_lead=0; + $dup_lists=''; + + $stmtA = "select count(*) from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $ci_recs = $aryA[0]; + $sthA->finish(); + if ($ci_recs > 0) + { + $stmtA = "select campaign_id from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $dup_camp = $aryA[0]; + $sthA->finish(); + + $stmtA = "select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lists .= "'$aryA[0]',"; + $rec_count++; + } + $sthA->finish(); + + chop($dup_lists); + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = "'$aryA[0]',"; + $rec_count++; + $dup_lead=1; + } + $sthA->finish(); + } + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + + if ( (length($phone_number)>6) && ($dup_lead < 1) ) + { + $phone_list .= "$phone_number$US$list_id|"; + $postalgmt_found=0; + if (length($phone_code)<1) {$phone_code = '1';} + + if ( ($postalgmt > 0) && (length($postal_code)>4) ) + { + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[2]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[3]; + $dst_range = $aryA[4]; + $PC_processed++; + $rec_count++; + $postalgmt_found++; + if ($DBX) {print " Postal GMT record found for $postal_code: |$gmt_offset|$dst|$dst_range|\n";} + } + $sthA->finish(); + } + } + if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### MEXICO ### + if ($phone_code =~ /^52$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### AUSTRALIA ### + if ($phone_code =~ /^61$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + } + + ### Find out if DST to raise the gmt offset ### + $AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); + $AC_localtime = ($secX + (3600 * $AC_GMT_diff)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($AC_localtime); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + $AC_processed=0; + + if ( (!$AC_processed) && ($dst_range =~ /SSM-FSN/) ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + &USACAN_dstcalc; + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSA-LSO/) ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + &NA_dstcalc; + if ($DBX) {print " DST: $NA_DST\n";} + if ($NA_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSM-LSO/) ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + &GBR_dstcalc; + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSO-LSM/) ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + &AUS_dstcalc; + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-LSM/) ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + &AUST_dstcalc; + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-TSM/) ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + &NZL_dstcalc; + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /TSO-LSF/) ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + &BZL_dstcalc; + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$area_GMT++;} + $AC_processed++; + } + if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00');"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00'),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "
    record $total BAD- PHONE: $phone_number ROW: |$row[0]| $dup_lead_list\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + sleep(1); +# flush(); + } + } +} + +if ($multi_insert_counter > 0) { + $stmtZ = "INSERT INTO vicidial_list values ".substr($multistmt, 0, -1).";"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; +} + +print "

    Done
    GOOD: $good       BAD: $bad       TOTAL: $total"; + +exit; + + + + + + +sub USACAN_dstcalc { +#********************************************************************** +# SSM-FSN +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on Second Sunday March to First Sunday November at 2 am. +# INPUTS: +# mm INTEGER Month. +# dd INTEGER Day of the month. +# ns INTEGER Seconds into the day. +# dow INTEGER Day of week (0=Sunday, to 6=Saturday) +# OPTIONAL INPUT: +# timezone INTEGER hour difference UTC - local standard time +# (DEFAULT is blank) +# make calculations based on UTC time, +# which means shift at 10:00 UTC in April +# and 9:00 UTC in October +# OUTPUT: +# INTEGER 1 = DST, 0 = not DST +# +# S M T W T F S +# 1 2 3 4 5 6 7 +# 8 9 10 11 12 13 14 +#15 16 17 18 19 20 21 +#22 23 24 25 26 27 28 +#29 30 31 +# +# S M T W T F S +# 1 2 3 4 5 6 +# 7 8 9 10 11 12 13 +#14 15 16 17 18 19 20 +#21 22 23 24 25 26 27 +#28 29 30 31 +# +#********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 10) { + $USACAN_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; return 1; + } elsif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } + } else { + $USACAN_DST=0; return 0; + } + } elsif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; return 0; + } elsif ($dd < ($dow+1)) { + $USACAN_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } + } else { + $USACAN_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub NA_dstcalc { +#********************************************************************** +# FSA-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in April and last Sunday in October at 2 am. +#********************************************************************** + + $NA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $NA_DST=0; return 0; + } elsif ($mm >= 5 && $mm <= 9) { + $NA_DST=1; return 1; + } elsif ($mm == 4) { + if ($dd > 7) { + $NA_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } + } else { + $NA_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $NA_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $NA_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } + } else { + $NA_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub GBR_dstcalc { +#********************************************************************** +# LSM-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in March and last Sunday in October at 1 am. +#********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 9) { + $GBR_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $GBR_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } + } else { + $GBR_DST=1; return 1; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $GBR_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } + } else { + $GBR_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub AUS_dstcalc { +#********************************************************************** +# LSO-LSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUS_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUS_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } + } else { + $AUS_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $AUS_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } + } else { + $AUS_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub AUST_dstcalc { +#********************************************************************** +# FSO-LSM +# TASMANIA ONLY +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUST_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUST_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } + } else { + $AUST_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $AUST_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } + } else { + $AUST_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub NZL_dstcalc { +#********************************************************************** +# FSO-TSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and third Sunday in March at 1 am. +#********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $NZL_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; return 1; + } elsif ($dd < ($dow+14)) { + $NZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } + } else { + $NZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $NZL_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } + } else { + $NZL_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub BZL_dstcalc { +#********************************************************************** +# TSO-LSF +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. Brazil +# Based on Third Sunday October to Last Sunday February at 1 am. +#********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; return 1; + } elsif ($mm >= 3 && $mm <= 9) { + $BZL_DST=0; return 0; + } elsif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; return 1; + } elsif ($dd < ($dow+22)) { + $BZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } + } else { + $BZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; return 0; + } elsif ($dd < ($dow+22)) { + $BZL_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } + } else { + $BZL_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/log_test.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/log_test.php new file mode 100644 index 00000000..806c90bc --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/log_test.php @@ -0,0 +1,37 @@ + LICENSE: AGPLv2 +# + + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$ext_context = 'demo'; +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + +$fp = fopen ("./closer_SQL_updates.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + fwrite ($fp, "CLOSER SQL UPDATE|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + + + +exit; + + + +?> + + +Hello + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/loud.mid b/agc_2-X/branches/agc_2.0.5/www/vicidial/loud.mid new file mode 100644 index 0000000000000000000000000000000000000000..e44094b88b18a04582c02e7abae832a8cec8ed87 GIT binary patch literal 160 zcmeYb$w*;fU|?flWME=A;2Tnu4dmG}{AXqj$t=l9W%$p;<(!{ekYAiyq+rGHpOG^t zH8-&+yBNd?Wad;q!01}+DN2_E&$3=Kenc|$c&wgPMv0|NkLW-E#S literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/loud_phone.mid b/agc_2-X/branches/agc_2.0.5/www/vicidial/loud_phone.mid new file mode 100644 index 0000000000000000000000000000000000000000..f5d9c4f75449ea48543d2ae70908035fbc0a8bd6 GIT binary patch literal 159 zcmeYb$w*;fU|?flWME=A;2Tnu4dmG}{AXqj$t=l9W%$p;<(!{ekYAiyq+rGHpOG^t zH8-&+yBNd?Wad;q!01}+DN2_E&$3=Kenc|$c&wgPMv0{}SOD~bRB literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/new_listloader_superL.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/new_listloader_superL.php new file mode 100644 index 00000000..32cf6850 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/new_listloader_superL.php @@ -0,0 +1,2054 @@ + LICENSE: AGPLv2 +# +# AST GUI lead loader from formatted file +# +# CHANGES +# 50602-1640 - First version created by Joe Johnson +# 51128-1108 - Removed PHP global vars requirement +# 60113-1603 - Fixed a few bugs in Excel import +# 60421-1624 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60616-1240 - added listID override +# 60616-1604 - added gmt lookup for each lead +# 60619-1651 - Added variable filtering to eliminate SQL injection attack threat +# 60822-1121 - fixed for nonwritable directories +# 60906-1100 - added filter of non-digits in alt_phone field +# 61110-1222 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1149 - added postal code GMT lookup and duplicate check options +# 70417-1059 - Fixed default phone_code bug +# 70510-1518 - Added campaign and system duplicate check and phonecode override +# 80428-0417 - UTF8 changes +# 80514-1030 - removed filesize limit and raised number of errors to be displayed +# 80713-0023 - added last_local_call_time field default of 2008-01-01 +# 81011-2009 - a few bug fixes +# 90309-1831 - Added admin_log logging +# 90310-2128 - Added admin header +# +# make sure vicidial_list exists and that your file follows the formatting correctly. This page does not dedupe or do any other lead filtering actions yet at this time. + +$version = '2.0.5-29'; +$build = '90310-2128'; + + +require("dbconnect.php"); + +### links used for testing +#$link=mysql_connect("10.10.10.15", "cron", "1234"); +#mysql_select_db("asterisk"); +#$WeBServeRRooT = '/home/www/htdocs'; + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +$leadfile=$_FILES["leadfile"]; + $LF_orig = $_FILES['leadfile']['name']; + $LF_path = $_FILES['leadfile']['tmp_name']; +if (isset($_GET["submit_file"])) {$submit_file=$_GET["submit_file"];} + elseif (isset($_POST["submit_file"])) {$submit_file=$_POST["submit_file"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["leadfile_name"])) {$leadfile_name=$_GET["leadfile_name"];} + elseif (isset($_POST["leadfile_name"])) {$leadfile_name=$_POST["leadfile_name"];} +if (isset($_FILES["leadfile"])) {$leadfile_name=$_FILES["leadfile"]['name'];} +if (isset($_GET["file_layout"])) {$file_layout=$_GET["file_layout"];} + elseif (isset($_POST["file_layout"])) {$file_layout=$_POST["file_layout"];} +if (isset($_GET["OK_to_process"])) {$OK_to_process=$_GET["OK_to_process"];} + elseif (isset($_POST["OK_to_process"])) {$OK_to_process=$_POST["OK_to_process"];} +if (isset($_GET["vendor_lead_code_field"])) {$vendor_lead_code_field=$_GET["vendor_lead_code_field"];} + elseif (isset($_POST["vendor_lead_code_field"])) {$vendor_lead_code_field=$_POST["vendor_lead_code_field"];} +if (isset($_GET["source_id_field"])) {$source_id_field=$_GET["source_id_field"];} + elseif (isset($_POST["source_id_field"])) {$source_id_field=$_POST["source_id_field"];} +if (isset($_GET["list_id_field"])) {$list_id_field=$_GET["list_id_field"];} + elseif (isset($_POST["list_id_field"])) {$list_id_field=$_POST["list_id_field"];} +if (isset($_GET["phone_code_field"])) {$phone_code_field=$_GET["phone_code_field"];} + elseif (isset($_POST["phone_code_field"])) {$phone_code_field=$_POST["phone_code_field"];} +if (isset($_GET["phone_number_field"])) {$phone_number_field=$_GET["phone_number_field"];} + elseif (isset($_POST["phone_number_field"])) {$phone_number_field=$_POST["phone_number_field"];} +if (isset($_GET["title_field"])) {$title_field=$_GET["title_field"];} + elseif (isset($_POST["title_field"])) {$title_field=$_POST["title_field"];} +if (isset($_GET["first_name_field"])) {$first_name_field=$_GET["first_name_field"];} + elseif (isset($_POST["first_name_field"])) {$first_name_field=$_POST["first_name_field"];} +if (isset($_GET["middle_initial_field"])) {$middle_initial_field=$_GET["middle_initial_field"];} + elseif (isset($_POST["middle_initial_field"])) {$middle_initial_field=$_POST["middle_initial_field"];} +if (isset($_GET["last_name_field"])) {$last_name_field=$_GET["last_name_field"];} + elseif (isset($_POST["last_name_field"])) {$last_name_field=$_POST["last_name_field"];} +if (isset($_GET["address1_field"])) {$address1_field=$_GET["address1_field"];} + elseif (isset($_POST["address1_field"])) {$address1_field=$_POST["address1_field"];} +if (isset($_GET["address2_field"])) {$address2_field=$_GET["address2_field"];} + elseif (isset($_POST["address2_field"])) {$address2_field=$_POST["address2_field"];} +if (isset($_GET["address3_field"])) {$address3_field=$_GET["address3_field"];} + elseif (isset($_POST["address3_field"])) {$address3_field=$_POST["address3_field"];} +if (isset($_GET["city_field"])) {$city_field=$_GET["city_field"];} + elseif (isset($_POST["city_field"])) {$city_field=$_POST["city_field"];} +if (isset($_GET["state_field"])) {$state_field=$_GET["state_field"];} + elseif (isset($_POST["state_field"])) {$state_field=$_POST["state_field"];} +if (isset($_GET["province_field"])) {$province_field=$_GET["province_field"];} + elseif (isset($_POST["province_field"])) {$province_field=$_POST["province_field"];} +if (isset($_GET["postal_code_field"])) {$postal_code_field=$_GET["postal_code_field"];} + elseif (isset($_POST["postal_code_field"])) {$postal_code_field=$_POST["postal_code_field"];} +if (isset($_GET["country_code_field"])) {$country_code_field=$_GET["country_code_field"];} + elseif (isset($_POST["country_code_field"])) {$country_code_field=$_POST["country_code_field"];} +if (isset($_GET["gender_field"])) {$gender_field=$_GET["gender_field"];} + elseif (isset($_POST["gender_field"])) {$gender_field=$_POST["gender_field"];} +if (isset($_GET["date_of_birth_field"])) {$date_of_birth_field=$_GET["date_of_birth_field"];} + elseif (isset($_POST["date_of_birth_field"])) {$date_of_birth_field=$_POST["date_of_birth_field"];} +if (isset($_GET["alt_phone_field"])) {$alt_phone_field=$_GET["alt_phone_field"];} + elseif (isset($_POST["alt_phone_field"])) {$alt_phone_field=$_POST["alt_phone_field"];} +if (isset($_GET["email_field"])) {$email_field=$_GET["email_field"];} + elseif (isset($_POST["email_field"])) {$email_field=$_POST["email_field"];} +if (isset($_GET["security_phrase_field"])) {$security_phrase_field=$_GET["security_phrase_field"];} + elseif (isset($_POST["security_phrase_field"])) {$security_phrase_field=$_POST["security_phrase_field"];} +if (isset($_GET["comments_field"])) {$comments_field=$_GET["comments_field"];} + elseif (isset($_POST["comments_field"])) {$comments_field=$_POST["comments_field"];} +if (isset($_GET["list_id_override"])) {$list_id_override=$_GET["list_id_override"];} + elseif (isset($_POST["list_id_override"])) {$list_id_override=$_POST["list_id_override"];} + $list_id_override = (preg_replace("/\D/","",$list_id_override)); +if (isset($_GET["lead_file"])) {$lead_file=$_GET["lead_file"];} + elseif (isset($_POST["lead_file"])) {$lead_file=$_POST["lead_file"];} +if (isset($_GET["dupcheck"])) {$dupcheck=$_GET["dupcheck"];} + elseif (isset($_POST["dupcheck"])) {$dupcheck=$_POST["dupcheck"];} +if (isset($_GET["postalgmt"])) {$postalgmt=$_GET["postalgmt"];} + elseif (isset($_POST["postalgmt"])) {$postalgmt=$_POST["postalgmt"];} +if (isset($_GET["phone_code_override"])) {$phone_code_override=$_GET["phone_code_override"];} + elseif (isset($_POST["phone_code_override"])) {$phone_code_override=$_POST["phone_code_override"];} + $phone_code_override = (preg_replace("/\D/","",$phone_code_override)); + +# $country_field=$_GET["country_field"]; if (!$country_field) {$country_field=$_POST["country_field"];} + + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) +{ +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$list_id_override = ereg_replace("[^0-9]","",$list_id_override); +} + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) {$fp = fopen ("./project_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-LEAD-LOADER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 + header ("Pragma: no-cache"); // HTTP/1.0 + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT load_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGload_leads =$row[0]; + + if ($LOGload_leads < 1) + { + echo "You do not have permissions to load leads\n"; + exit; + } + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + + +$script_name = getenv("SCRIPT_NAME"); +$server_name = getenv("SERVER_NAME"); +$server_port = getenv("SERVER_PORT"); +if (eregi("443",$server_port)) {$HTTPprotocol = 'https://';} + else {$HTTPprotocol = 'http://';} +$admDIR = "$HTTPprotocol$server_name$script_name"; +$admDIR = eregi_replace('new_listloader_superL.php','',$admDIR); +$admSCR = 'admin.php'; +$NWB = "   \"HELP\""; + +$secX = date("U"); +$hour = date("H"); +$min = date("i"); +$sec = date("s"); +$mon = date("m"); +$mday = date("d"); +$year = date("Y"); +$isdst = date("I"); +$Shour = date("H"); +$Smin = date("i"); +$Ssec = date("s"); +$Smon = date("m"); +$Smday = date("d"); +$Syear = date("Y"); +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + ### Grab Server GMT value from the database + $stmt="SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $rslt=mysql_query($stmt, $link); + $gmt_recs = mysql_num_rows($rslt); + if ($gmt_recs > 0) + { + $row=mysql_fetch_row($rslt); + $DBSERVER_GMT = "$row[0]"; + if (strlen($DBSERVER_GMT)>0) {$SERVER_GMT = $DBSERVER_GMT;} + if ($isdst) {$SERVER_GMT++;} + } + else + { + $SERVER_GMT = date("O"); + $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = ($SERVER_GMT + 0); + $SERVER_GMT = ($SERVER_GMT / 100); + } + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +#if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + + +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +function macfontfix($fontsize) { + + $browser = getenv("HTTP_USER_AGENT"); + $pctype = explode("(", $browser); + if (ereg("Mac",$pctype[1])) { + /* Browser is a Mac. If not Netscape 6, raise fonts */ + + $blownbrowser = explode('/', $browser); + $ver = explode(' ', $blownbrowser[1]); + $ver = $ver[0]; + if ($ver >= 5.0) return $fontsize; else return ($fontsize+2); + + } else return $fontsize; /* Browser is not a Mac - don't touch fonts */ +} + +echo "\n"; + +?> + + + +VICIDIAL ADMIN: Lead Loader + + + +
    +VICIDIAL logo +ADMINISTRATION
    + + + + 1) { + ?> + >>>>>>> + + + + 1) + { + if ($sh=='basic') {$sh='list';} + if ($sh=='detail') {$sh='list';} + if ($sh=='dialstat') {$sh='list';} + + if ($sh=='list') {$list_sh="bgcolor=\"$subcamp_color\""; $list_fc="$subcamp_font";} + else {$list_sh=''; $list_fc='BLACK';} + if ($sh=='status') {$status_sh="bgcolor=\"$subcamp_color\""; $status_fc="$subcamp_font";} + else {$status_sh=''; $status_fc='BLACK';} + if ($sh=='hotkey') {$hotkey_sh="bgcolor=\"$subcamp_color\""; $hotkey_fc="$subcamp_font";} + else {$hotkey_sh=''; $hotkey_fc='BLACK';} + if ($sh=='recycle') {$recycle_sh="bgcolor=\"$subcamp_color\""; $recycle_fc="$subcamp_font";} + else {$recycle_sh=''; $recycle_fc='BLACK';} + if ($sh=='autoalt') {$autoalt_sh="bgcolor=\"$subcamp_color\""; $autoalt_fc="$subcamp_font";} + else {$autoalt_sh=''; $autoalt_fc='BLACK';} + if ($sh=='pause') {$pause_sh="bgcolor=\"$subcamp_color\""; $pause_fc="$subcamp_font";} + else {$pause_sh=''; $pause_fc='BLACK';} + if ($sh=='listmix') {$listmix_sh="bgcolor=\"$subcamp_color\""; $listmix_fc="$subcamp_font";} + else {$listmix_sh=''; $listmix_fc='BLACK';} + + ?> + > + + > + + > + + 0) + { + ?> + > + + > + + > + + + > + + + + 0) + { + ?> + + 1) { + ?> + >>>>> + + + + 1) + { + ?> + >> + + + 0) + { + ?> + + 1) + { + ?> + >> + + + + 1) + { + ?> + >>>>>> + + + + 1) + { + ?> + >>>> + + + + 1) + { + ?> + >> + + + + 1) + { + if ($sh=='times') {$times_sh="bgcolor=\"$times_color\""; $times_fc="$times_font";} # pink + else {$times_sh=''; $times_fc='BLACK';} + if ($sh=='shifts') {$shifts_sh="bgcolor=\"$shifts_color\""; $shifts_fc="$shifts_font";} # pink + else {$shifts_sh=''; $shifts_fc='BLACK';} + if ($sh=='templates') {$templates_sh="bgcolor=\"$templates_color\""; $templates_fc="$templates_font";} # pink + else {$templates_sh=''; $templates_fc='BLACK';} + if ($sh=='carriers') {$carriers_sh="bgcolor=\"$carriers_color\""; $carriers_fc="$carriers_font";} # pink + else {$carriers_sh=''; $carriers_fc='BLACK';} + if ($sh=='phones') {$phones_sh="bgcolor=\"$server_color\""; $phones_fc="$phones_font";} # pink + else {$phones_sh=''; $phones_fc='BLACK';} + if ($sh=='server') {$server_sh="bgcolor=\"$server_color\""; $server_fc="$server_font";} # pink + else {$server_sh=''; $server_fc='BLACK';} + if ($sh=='conference') {$conference_sh="bgcolor=\"$server_color\""; $conference_fc="$server_font";} # pink + else {$conference_sh=''; $conference_fc='BLACK';} + if ($sh=='settings') {$settings_sh="bgcolor=\"$settings_color\""; $settings_fc="$settings_font";} # pink + else {$settings_sh=''; $settings_fc='BLACK';} + if ($sh=='status') {$status_sh="bgcolor=\"$status_color\""; $status_fc="$status_font";} # pink + else {$status_sh=''; $status_fc='BLACK';} + + ?> + > + + > + > + > + > + > + > + > + > + + + + +
    WIDTH=160> + SIZE=>Users +
    +   >Show Users +
    +   >Add A New User +
    +   >Copy User +
    +   >Search For A User +
    +   >User Stats +
    +   >User Status +
    +   >Time Sheet
    > + SIZE=>Campaigns +
    >   SIZE=>Campaigns Main
    >   SIZE=>Statuses
    >   SIZE=>HotKeys
    >   SIZE=>Lead Recycle
    >   SIZE=>Auto-Alt Dial
    >   SIZE=>List Mix
    >   SIZE=>Pause Codes
    > SIZE=>Lists
      + > Show Lists +
      + > Add A New List +
      + > Search For A Lead +
      + > Add Number To DNC +
      + > Load New Leads +
    > + SIZE=> Scripts +
      + > Show Scripts +
      + > Add A New Script +
    > SIZE=> Filters
      + > Show Filters +
      + > Add A New Filter +
    > + SIZE=> In-Groups +
      + > Show In-Groups +
      + > Add A New In-Group +
      + > Copy In-Group +
      + > Show DIDs +
      + > Add A New DID +
      + > Copy DID +
    > + SIZE=> User Groups +
      + > Show User Groups +
      + > Add A New User Group +
      + > Group Hourly Report +
      + > Bulk Group Change +
    > + SIZE=> Remote Agents +
      + > Show Remote Agents +
      + > Add New Remote Agents +
    > + SIZE=> Admin +
    COLSPAN=2>   + SIZE=> Call Times
    >   + SIZE=> Shifts
    >   + SIZE=> Phones
    >   + SIZE=> Templates
    >   + SIZE=> Carriers
    >   + SIZE=> Servers
    >   + SIZE=> Conferences
    >   + SIZE=> System Settings
    >   + SIZE=> System Statuses
    > + SIZE=> Reports +
    +
    BGCOLOR=#D9E6FE> + + + HEIGHT=15> + + + + + + + + + + + + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + 1) { + ?> + > + 1) and (strlen($admin_hh) > 1) ) { + ?> + > + 1) and (strlen($admin_hh) > 1) ) { + ?> + > + 1) and (strlen($admin_hh) > 1) ) { + ?> + > + 1) { + ?> + > + 1) and (!eregi('campaign',$hh) ) ) { + ?> + > + + > + \n"; + echo "You are not authorized to view this page. Please go back.\n"; + } + +if (strlen($reports_hh) > 1) { + ?> +> + + + + +"; + $call_log .= ""; + $call_log .= ""; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + $call_log .= "\n"; + + $campaign_id = $row[3]; + } + + ##### grab vicidial_agent_log records ##### + $stmt="select * from vicidial_agent_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by agent_log_id desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $Alogs_to_print = mysql_num_rows($rslt); + + $y=0; + $agent_log = ''; + $Alog_campaign = ''; + while ($Alogs_to_print > $y) + { + $row=mysql_fetch_row($rslt); + if (strlen($Alog_campaign)<1) {$Alog_campaign = $row[5];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + $agent_log .= ""; + $agent_log .= ""; + $agent_log .= ""; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + $agent_log .= "\n"; + + $campaign_id = $row[5]; + } + + ##### grab vicidial_closer_log records ##### + $stmt="select * from vicidial_closer_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by closecallid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $Clogs_to_print = mysql_num_rows($rslt); + + $y=0; + $closer_log = ''; + $Clog_campaign = ''; + while ($Clogs_to_print > $y) + { + $row=mysql_fetch_row($rslt); + if (strlen($Clog_campaign)<1) {$Clog_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $y)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $y++; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= ""; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + $closer_log .= "\n"; + + $campaign_id = $row[3]; + } + + ##### grab vicidial_list data for lead ##### + $stmt="SELECT * from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_id = "$row[0]"; + $dispo = "$row[3]"; + $tsr = "$row[4]"; + $vendor_id = "$row[5]"; + $list_id = "$row[7]"; + $gmt_offset_now = "$row[8]"; + $phone_code = "$row[10]"; + $phone_number = "$row[11]"; + $title = "$row[12]"; + $first_name = "$row[13]"; # + $middle_initial = "$row[14]"; + $last_name = "$row[15]"; # + $address1 = "$row[16]"; # + $address2 = "$row[17]"; # + $address3 = "$row[18]"; # + $city = "$row[19]"; # + $state = "$row[20]"; # + $province = "$row[21]"; # + $postal_code = "$row[22]"; # + $country_code = "$row[23]"; # + $gender = "$row[24]"; + $date_of_birth = "$row[25]"; + $alt_phone = "$row[26]"; # + $email = "$row[27]"; # + $security = "$row[28]"; # + $comments = "$row[29]"; # + + echo "
    Call information: $first_name $last_name - $phone_number

    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    HOME | Timeclock | Logout  
    >   > Show Campaigns     |     > Add A New Campaign     |     > Copy Campaign     |     > Real-Time Campaigns Summary
      > Show Call Times  | > Add A New Call Time  | > Show State Call Times  | > Add A New State Call Time
      > Show Shifts  | > Add A New Shift
      > Show Phones  | > Add A New Phone  | > Phone Alias List  | > Add A New Phone Alias  | > Group Alias List  | > Add A New Group Alias
      > Show Conferences   |   > Add A New Conference   |   > Show VICIDIAL Conferences   |   > Add A New VICIDIAL Conference
      > Show Servers   |   > Add A New Server
      > Show Templates   |   > Add A New Template
      > Show Carriers   |   > Add A New Carrier
      > System Settings
      > System Statuses   |   > Status Categories   |   > QC Status Codes
      >User Stats   |   >User Status   |   >Time Sheet   |   >Days Status
    >  
    + LICENSE: AGPLv2 +# +# CHANGES +# +# 60419-1705 - Added ability to change lead callback record from USERONLY to ANYONE or USERONLY-user +# 60421-1459 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60609-1112 - Added DNC list addition if status changed to DNC +# 60619-1539 - Added variable filtering to eliminate SQL injection attack threat +# 61130-1639 - Added recording_log lookup and list for this lead_id +# 61201-1136 - Added recording_log user(TSR) display and link +# 70305-1133 - Changed to default CHECKED modify logs upon status change +# 70424-1128 - Added campaign-specific statuses, reformatted recordings list +# 70702-1259 - Added recording location link and truncation +# 70906-2132 - Added closer_log records display +# 80428-0144 - UTF8 cleanup +# 80501-0454 - Added Hangup Reason to logs display +# 80516-0936 - Cleanup of logging changes, added vicidial_agent_log display +# 80701-0832 - Changed to allow for altering of main phone number +# 80805-2106 - Changed comments to TEXTAREA +# 81210-1529 - Added server recording display options +# 90309-1829 - Added admin_log logging +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["old_phone"])) {$old_phone=$_GET["old_phone"];} + elseif (isset($_POST["old_phone"])) {$old_phone=$_POST["old_phone"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];} + elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];} + elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];} + elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];} + elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];} +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["security"])) {$security=$_GET["security"];} + elseif (isset($_POST["security"])) {$security=$_POST["security"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["CBchangeUSERtoANY"])) {$CBchangeUSERtoANY=$_GET["CBchangeUSERtoANY"];} + elseif (isset($_POST["CBchangeUSERtoANY"])) {$CBchangeUSERtoANY=$_POST["CBchangeUSERtoANY"];} +if (isset($_GET["CBchangeUSERtoUSER"])) {$CBchangeUSERtoUSER=$_GET["CBchangeUSERtoUSER"];} + elseif (isset($_POST["CBchangeUSERtoUSER"])) {$CBchangeUSERtoUSER=$_POST["CBchangeUSERtoUSER"];} +if (isset($_GET["CBchangeANYtoUSER"])) {$CBchangeANYtoUSER=$_GET["CBchangeANYtoUSER"];} + elseif (isset($_POST["CBchangeANYtoUSER"])) {$CBchangeANYtoUSER=$_POST["CBchangeANYtoUSER"];} +if (isset($_GET["callback_id"])) {$callback_id=$_GET["callback_id"];} + elseif (isset($_POST["callback_id"])) {$callback_id=$_POST["callback_id"];} +if (isset($_GET["CBuser"])) {$CBuser=$_GET["CBuser"];} + elseif (isset($_POST["CBuser"])) {$CBuser=$_POST["CBuser"];} +if (isset($_GET["modify_logs"])) {$modify_logs=$_GET["modify_logs"];} + elseif (isset($_POST["modify_logs"])) {$modify_logs=$_POST["modify_logs"];} +if (isset($_GET["modify_closer_logs"])) {$modify_closer_logs=$_GET["modify_closer_logs"];} + elseif (isset($_POST["modify_closer_logs"])) {$modify_closer_logs=$_POST["modify_closer_logs"];} +if (isset($_GET["modify_agent_logs"])) {$modify_agent_logs=$_GET["modify_agent_logs"];} + elseif (isset($_POST["modify_agent_logs"])) {$modify_agent_logs=$_POST["modify_agent_logs"];} +if (isset($_GET["add_closer_record"])) {$add_closer_record=$_GET["add_closer_record"];} + elseif (isset($_POST["add_closer_record"])) {$add_closer_record=$_POST["add_closer_record"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $old_phone = ereg_replace("[^0-9]","",$old_phone); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $alt_phone = ereg_replace("[^0-9]","",$alt_phone); + } +if (strlen($phone_number)<6) {$phone_number=$old_phone;} + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and modify_leads='1';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name,modify_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + + + +VICIDIAL ADMIN: Lead record modification + + +
    +VICIDIAL ADMIN: Lead record modification
    \n"; + +if ($end_call > 0) +{ + + ### update the lead record in the vicidial_list table + $stmt="UPDATE vicidial_list set status='" . mysql_real_escape_string($status) . "',first_name='" . mysql_real_escape_string($first_name) . "',last_name='" . mysql_real_escape_string($last_name) . "',address1='" . mysql_real_escape_string($address1) . "',address2='" . mysql_real_escape_string($address2) . "',address3='" . mysql_real_escape_string($address3) . "',city='" . mysql_real_escape_string($city) . "',state='" . mysql_real_escape_string($state) . "',province='" . mysql_real_escape_string($province) . "',postal_code='" . mysql_real_escape_string($postal_code) . "',country_code='" . mysql_real_escape_string($country_code) . "',alt_phone='" . mysql_real_escape_string($alt_phone) . "',phone_number='$phone_number',email='" . mysql_real_escape_string($email) . "',security_phrase='" . mysql_real_escape_string($security) . "',comments='" . mysql_real_escape_string($comments) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "information modified

    \n"; + echo "\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY LEAD', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + if ( ($dispo != $status) and ($dispo == 'CBHOLD') ) + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status='ACTIVE';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + if ( ($dispo != $status) and ($dispo == 'CALLBK') ) + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record inactivated: $lead_id
    \n"; + } + + if ( ($dispo != $status) and ($status == 'DNC') ) + { + ### add lead to the internal DNC list + $stmt="INSERT INTO vicidial_dnc (phone_number) values('" . mysql_real_escape_string($phone_number) . "');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    Lead added to DNC List: $lead_id - $phone_number
    \n"; + } + ### update last record in vicidial_log table + if (($dispo != $status) and ($modify_logs > 0)) + { + $stmt="UPDATE vicidial_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by call_date desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + ### update last record in vicidial_closer_log table + if (($dispo != $status) and ($modify_closer_logs > 0)) + { + $stmt="UPDATE vicidial_closer_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by call_date desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + ### update last record in vicidial_agent_log table + if (($dispo != $status) and ($modify_agent_logs > 0)) + { + $stmt="UPDATE vicidial_agent_log set status='" . mysql_real_escape_string($status) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by agent_log_id desc limit 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + if ($add_closer_record > 0) + { + ### insert a NEW record to the vicidial_closer_log table + $stmt="INSERT INTO vicidial_closer_log (lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed) values('" . mysql_real_escape_string($lead_id) . "','" . mysql_real_escape_string($list_id) . "','" . mysql_real_escape_string($campaign_id) . "','" . mysql_real_escape_string($parked_time) . "','$NOW_TIME','$STARTtime','1','" . mysql_real_escape_string($status) . "','" . mysql_real_escape_string($phone_code) . "','" . mysql_real_escape_string($phone_number) . "','$PHP_AUTH_USER','" . mysql_real_escape_string($comments) . "','Y')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + +} +else +{ + + if ($CBchangeUSERtoANY == 'YES') + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set recipient='ANYONE' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record changed to ANYONE
    \n"; + } + if ($CBchangeUSERtoUSER == 'YES') + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record user changed to $CBuser
    \n"; + } + if ($CBchangeANYtoUSER == 'YES') + { + ### inactivate vicidial_callbacks record for this lead + $stmt="UPDATE vicidial_callbacks set user='" . mysql_real_escape_string($CBuser) . "',recipient='USERONLY' where callback_id='" . mysql_real_escape_string($callback_id) . "';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "
    vicidial_callback record changed to USERONLY, user: $CBuser
    \n"; + } + + + + $stmt="SELECT count(*) from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_count = $row[0]; + + if ($lead_count > 0) + { + + ##### grab vicidial_log records ##### + $stmt="select * from vicidial_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by uniqueid desc limit 500;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + $call_log = ''; + $log_campaign = ''; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (strlen($log_campaign)<1) {$log_campaign = $row[3];} + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + $call_log .= "
    $u$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1] $row[15]
    $y$row[3] $row[5] $row[1] $row[7] $row[9] $row[11] $row[13]   $row[14]   $row[15]   $row[17]
    $y$row[4] $row[7] $row[8] $row[11] $row[3] $row[2] $row[1]   $row[14]   $row[17]
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
    Vendor ID: $vendor_id     Lead ID: $lead_id
    Fronter: $tsr     List ID: $list_id
    First Name:   \n"; + echo " Last Name:
    Address 1 :
    Address 2 :
    Address 3 :
    City :
    State:   \n"; + echo " Postal Code:
    Province :
    Country :
    Main Phone :
    Alt Phone :
    Email :
    Security :
    Comments :
    Disposition: (with $log_campaign statuses)
    Modify vicidial log
    Modify agent log
    Modify closer log
    Add closer log record
    \n"; + echo "


    \n"; + + if ( ($dispo == 'CALLBK') or ($dispo == 'CBHOLD') ) + { + ### find any vicidial_callback records for this lead + $stmt="select * from vicidial_callbacks where lead_id='" . mysql_real_escape_string($lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $CB_to_print = mysql_num_rows($rslt); + $rowx=mysql_fetch_row($rslt); + + if ($CB_to_print>0) + { + if ($rowx[9] == 'USERONLY') + { + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "

    \n"; + + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UserID: \n"; + echo "

    \n"; + } + else + { + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "New Callback Owner UserID: \n"; + echo "

    \n"; + } + } + else + { + echo "
    No Callback records found
    \n"; + } + } + + + + + + + } + else + { + echo "lead lookup FAILED for lead_id $lead_id       $NOW_TIME\n

    \n"; +# echo "Close this window\n

    \n"; + } + + + +echo "

    \n"; + +echo "
    \n"; + +echo "CALLS TO THIS LEAD:\n"; +echo "\n"; +echo "\n"; + + echo "$call_log\n"; + +echo "
    # DATE/TIME LENGTH STATUS TSR CAMPAIGN LIST LEAD HANGUP REASON
    \n"; +echo "

    \n"; + +echo "CLOSER RECORDS FOR THIS LEAD:\n"; +echo "\n"; +echo "\n"; + + echo "$closer_log\n"; + +echo "
    # DATE/TIME LENGTH STATUS TSR CAMPAIGN LIST LEAD WAIT HANGUP REASON
    \n"; +echo "

    \n"; + + +echo "AGENT LOG RECORDS FOR THIS LEAD:\n"; +echo "\n"; +echo "\n"; + + echo "$agent_log\n"; + +echo "
    # DATE/TIME CAMPAIGN TSR PAUSE WAIT TALK DISPO STATUS GROUP SUB
    \n"; +echo "

    \n"; + + +echo "RECORDINGS FOR THIS LEAD:\n"; +echo "\n"; +echo "\n"; + +$stmt="select * from recording_log where lead_id='" . mysql_real_escape_string($lead_id) . "' order by recording_id desc limit 500;"; +$rslt=mysql_query($stmt, $link); +$logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $location = $row[11]; + + if (strlen($location)>2) + { + $URLserver_ip = $location; + $URLserver_ip = eregi_replace('http://','',$URLserver_ip); + $URLserver_ip = eregi_replace('https://','',$URLserver_ip); + $URLserver_ip = eregi_replace("\/.*",'',$URLserver_ip); + $stmt="select count(*) from servers where server_ip='$URLserver_ip';"; + $rsltx=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rsltx); + + if ($rowx[0] > 0) + { + $stmt="select recording_web_link,alt_server_ip from servers where server_ip='$URLserver_ip';"; + $rsltx=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rsltx); + + if (eregi("ALT_IP",$rowx[0])) + { + $location = eregi_replace($URLserver_ip, $rowx[1], $location); + } + } + } + + if (strlen($location)>30) + {$locat = substr($location,0,27); $locat = "$locat...";} + else + {$locat = $location;} + if (eregi("http",$location)) + {$location = "$locat";} + else + {$location = $locat;} + $u++; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo ""; + echo "\n"; + + } + + +echo "
    # LEADDATE/TIME SECONDS   RECIDFILENAMELOCATIONTSR
    $u $row[12] $row[4] $row[8] $row[0]   $row[10] $location $row[13]
    \n"; + + + + +} + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n\n"; + + +echo "\n\n\n


    \nscript runtime: $RUNtime seconds
    "; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/admin_search_lead.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/admin_search_lead.php new file mode 100644 index 00000000..dc6453d3 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/admin_search_lead.php @@ -0,0 +1,296 @@ + LICENSE: AGPLv2 +# +# AST GUI database administration search for lead info +# admin_modify_lead.php +# +# this is the administration lead information modifier screen, the administrator +# just needs to enter the leadID and then they can view and modify the information +# in the record for that lead +# +# changes: +# 60620-1055 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# - Changed results to multi-record +# 80710-0023 - Added searching by list, user, status +# 90121-0500 - Added filter for phone to remove non-digits +# 90309-1828 - Added admin_log logging +# 90310-2146 - Added admin header +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); +$phone = ereg_replace("[^0-9]","",$phone); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and modify_leads='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +if ($WeBRooTWritablE > 0) + {$fp = fopen ("./project_auth_entries.txt", "a");} + +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name,modify_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname =$row[0]; + $LOGmodify_leads =$row[1]; + + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?> + + + +VICIDIAL ADMIN: Lead Search +<? + +##### BEGIN Set variables to make header show properly ##### +$ADD = '100'; +$hh = 'lists'; +$LOGast_admin_access = '1'; +$SSoutbound_autodial_active = '1'; +$ADMIN = 'admin.php'; +$page_width='770'; +$section_width='750'; +$header_font_size='3'; +$subheader_font_size='2'; +$subcamp_font_size='2'; +$header_selected_bold='<b>'; +$header_nonselected_bold=''; +$lists_color = '#FFFF99'; +$lists_font = 'BLACK'; +$lists_color = '#E6E6E6'; +$subcamp_color = '#C6C6C6'; +##### END Set variables to make header show properly ##### + +require("admin_header.php"); + + + + + +echo " Lead search: $vendor_id $phone $lead_id $status $list_id $user<BR>\n"; + + +if ( (!$vendor_id) and (!$phone) and (!$lead_id) and ( (strlen($status)<1) and (strlen($list_id)<1) and (strlen($user)<1) )) + { + echo date("l F j, Y G:i:s A"); + echo "\n<br><br><center>\n"; + echo "<form method=post name=search action=\"$PHP_SELF\">\n"; + echo "<input type=hidden name=DB value=\"$DB\">\n"; + echo "<b>Please enter a:<br> Vendor ID(vendor lead code): <input type=text name=vendor_id size=10 maxlength=10> or \n"; + echo "<br><b>a Home Phone Number: <input type=text name=phone size=20 maxlength=16> or\n"; + echo "<br><b>a lead ID: <input type=text name=lead_id size=10 maxlength=10> or\n"; + echo "<br><b>status: <input type=text name=status size=7 maxlength=6>   \n"; + echo "<b>list ID: <input type=text name=list_id size=15 maxlength=14>   \n"; + echo "<b>user: <input type=text name=user size=15 maxlength=20> <br><br>\n"; + echo "<input type=submit name=submit value=SUBMIT></b>\n"; + echo "</form>\n</center>\n"; + echo "</body></html>\n"; + exit; + } + +else + { + + if ($vendor_id) + { + $stmt="SELECT * from vicidial_list where vendor_lead_code='" . mysql_real_escape_string($vendor_id) . "' order by modify_date desc limit 1000"; + } + else + { + if ($phone) + { + $stmt="SELECT * from vicidial_list where phone_number='" . mysql_real_escape_string($phone) . "' order by modify_date desc limit 1000"; + } + else + { + if ($lead_id) + { + $stmt="SELECT * from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "' order by modify_date desc limit 1000"; + } + else + { + if ( (strlen($status)>0) or (strlen($list_id)>0) or (strlen($user)>0) ) + { + $statusSQL = ''; + $list_idSQL = ''; + $userSQL = ''; + if (strlen($status)>0) + { + $statusSQL = "status='" . mysql_real_escape_string($status) . "'"; $SQLctA++; + } + if (strlen($list_id)>0) + { + if ($SQLctA > 0) {$andA = 'and';} + $list_idSQL = "$andA list_id='" . mysql_real_escape_string($list_id) . "'"; $SQLctB++; + } + if (strlen($user)>0) + { + if ( ($SQLctA > 0) or ($SQLctB > 0) ) {$andB = 'and';} + $userSQL = "$andB user='" . mysql_real_escape_string($user) . "'"; + } + $stmt="SELECT * from vicidial_list where $statusSQL $list_idSQL $userSQL order by modify_date desc limit 1000"; + } + else + { + print "ERROR: you must search for something! Go back and search for something"; + exit; + } + } + } + } + if ($DB) + { + echo "\n\n$stmt\n\n"; + } + + $rslt=mysql_query($stmt, $link); + $results_to_print = mysql_num_rows($rslt); + if ($results_to_print < 1) + { + echo date("l F j, Y G:i:s A"); + echo "\n<br><br><center>\n"; + echo "<b>The search variables you entered are not active in the system</b><br><br>\n"; + echo "<b>Please go back and double check the information you entered and submit again</b>\n"; + echo "</center>\n"; + echo "</body></html>\n"; + exit; + } + else + { + echo "<b>RESULTS: $results_to_print</b><BR><BR>\n"; + echo "<TABLE BGCOLOR=WHITE CELLPADDING=1 CELLSPACING=0>\n"; + echo "<TR BGCOLOR=BLACK>\n"; + echo "<TD ALIGN=LEFT><FONT FACE=\"ARIAL,HELVETICA\" COLOR=WHITE><B>#</B></FONT></TD>\n"; + echo "<TD ALIGN=CENTER><FONT FACE=\"ARIAL,HELVETICA\" COLOR=WHITE><B>LEAD ID</B></FONT></TD>\n"; + echo "<TD ALIGN=CENTER><FONT FACE=\"ARIAL,HELVETICA\" COLOR=WHITE><B>STATUS</B></FONT></TD>\n"; + echo "<TD ALIGN=CENTER><FONT FACE=\"ARIAL,HELVETICA\" COLOR=WHITE><B>VENDOR ID</B></FONT></TD>\n"; + echo "<TD ALIGN=CENTER><FONT FACE=\"ARIAL,HELVETICA\" COLOR=WHITE><B>LAST AGENT</B></FONT></TD>\n"; + echo "<TD ALIGN=CENTER><FONT FACE=\"ARIAL,HELVETICA\" COLOR=WHITE><B>LIST ID</B></FONT></TD>\n"; + echo "<TD ALIGN=CENTER><FONT FACE=\"ARIAL,HELVETICA\" COLOR=WHITE><B>PHONE</B></FONT></TD>\n"; + echo "<TD ALIGN=CENTER><FONT FACE=\"ARIAL,HELVETICA\" COLOR=WHITE><B>NAME</B></FONT></TD>\n"; + echo "<TD ALIGN=CENTER><FONT FACE=\"ARIAL,HELVETICA\" COLOR=WHITE><B>CITY</B></FONT></TD>\n"; + echo "<TD ALIGN=CENTER><FONT FACE=\"ARIAL,HELVETICA\" COLOR=WHITE><B>SECURITY</B></FONT></TD>\n"; + echo "<TD ALIGN=CENTER><FONT FACE=\"ARIAL,HELVETICA\" COLOR=WHITE><B>LAST CALL</B></FONT></TD>\n"; + echo "</TR>\n"; + $o=0; + while ($results_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $o++; + $search_lead = $row[0]; + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo "<TR $bgcolor>\n"; + echo "<TD ALIGN=LEFT><FONT FACE=\"ARIAL,HELVETICA\" SIZE=1>$o</FONT></TD>\n"; + echo "<TD ALIGN=CENTER><FONT FACE=\"ARIAL,HELVETICA\" SIZE=1><a href=\"admin_modify_lead.php?lead_id=$row[0]\" target=\"_blank\">$row[0]</a></FONT></TD>\n"; + echo "<TD ALIGN=CENTER><FONT FACE=\"ARIAL,HELVETICA\" SIZE=1>$row[3]</FONT></TD>\n"; + echo "<TD ALIGN=CENTER><FONT FACE=\"ARIAL,HELVETICA\" SIZE=1>$row[5]</FONT></TD>\n"; + echo "<TD ALIGN=CENTER><FONT FACE=\"ARIAL,HELVETICA\" SIZE=1>$row[4]</FONT></TD>\n"; + echo "<TD ALIGN=CENTER><FONT FACE=\"ARIAL,HELVETICA\" SIZE=1>$row[7]</FONT></TD>\n"; + echo "<TD ALIGN=CENTER><FONT FACE=\"ARIAL,HELVETICA\" SIZE=1>$row[11]</FONT></TD>\n"; + echo "<TD ALIGN=CENTER><FONT FACE=\"ARIAL,HELVETICA\" SIZE=1>$row[13] $row[15]</FONT></TD>\n"; + echo "<TD ALIGN=CENTER><FONT FACE=\"ARIAL,HELVETICA\" SIZE=1>$row[19]</FONT></TD>\n"; + echo "<TD ALIGN=CENTER><FONT FACE=\"ARIAL,HELVETICA\" SIZE=1>$row[28]</FONT></TD>\n"; + echo "<TD ALIGN=CENTER><FONT FACE=\"ARIAL,HELVETICA\" SIZE=1>$row[31]</FONT></TD>\n"; + echo "</TR>\n"; + } + echo "</TABLE>\n"; + } + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='SEARCH', record_id='$search_lead', event_code='ADMIN MODIFY LEAD', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + } + + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n<br><br><br>\n<a href=\"$PHP_SELF\">NEW SEARCH</a>"; + + +echo "\n\n\n<br><br><br>\nscript runtime: $RUNtime seconds"; + + +?> + + + +</body> +</html> diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/call_report_export.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/call_report_export.php new file mode 100644 index 00000000..d8da88bb --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/call_report_export.php @@ -0,0 +1,513 @@ +<? +# call_report_export.php +# +# displays options to select for downloading of leads and their vicidial_log +# and/or vicidial_closer_log information by status, list_id and date range. +# downloads to a flat text file that is tab delimited +# +# Copyright (C) 2009 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 +# +# CHANGES +# +# 90310-2247 - First build +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["run_export"])) {$run_export=$_GET["run_export"];} + elseif (isset($_POST["run_export"])) {$run_export=$_POST["run_export"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +if (strlen($shift)<2) {$shift='ALL';} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and export_reports='1';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { +# Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); +# Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password or no export report permission: |$PHP_AUTH_USER|\n"; + exit; + } + + +##### START RUN THE EXPORT AND OUTPUT FLAT DATA FILE ##### +if ($run_export > 0) + { + $US='_'; + $MT[0]=''; + $ip = getenv("REMOTE_ADDR"); + $NOW_DATE = date("Y-m-d"); + $NOW_TIME = date("Y-m-d H:i:s"); + $FILE_TIME = date("Ymd-His"); + $STARTtime = date("U"); + if (!isset($group)) {$group = '';} + if (!isset($query_date)) {$query_date = $NOW_DATE;} + if (!isset($end_date)) {$end_date = $NOW_DATE;} + + $campaign_ct = count($campaign); + $group_ct = count($group); + $user_group_ct = count($user_group); + $list_ct = count($list_id); + $status_ct = count($status); + $campaign_string='|'; + $group_string='|'; + $user_group_string='|'; + $list_string='|'; + $status_string='|'; + + $i=0; + while($i < $campaign_ct) + { + $campaign_string .= "$campaign[$i]|"; + $campaign_SQL .= "'$campaign[$i]',"; + $i++; + } + if ( (ereg("--NONE--",$campaign_string) ) or ($campaign_ct < 1) ) + { + $campaign_SQL = "campaign_id IN('')"; + $RUNcampaign=0; + } + else + { + $campaign_SQL = eregi_replace(",$",'',$campaign_SQL); + $campaign_SQL = "and vl.campaign_id IN($campaign_SQL)"; + $RUNcampaign++; + } + + $i=0; + while($i < $group_ct) + { + $group_string .= "$group[$i]|"; + $group_SQL .= "'$group[$i]',"; + $i++; + } + if ( (ereg("--NONE--",$group_string) ) or ($group_ct < 1) ) + { + $group_SQL = "''"; + $group_SQL = "campaign_id IN('')"; + $RUNgroup=0; + } + else + { + $group_SQL = eregi_replace(",$",'',$group_SQL); + $group_SQL = "and vl.campaign_id IN($group_SQL)"; + $RUNgroup++; + } + + $i=0; + while($i < $user_group_ct) + { + $user_group_string .= "$user_group[$i]|"; + $user_group_SQL .= "'$user_group[$i]',"; + $i++; + } + if ( (ereg("--ALL--",$user_group_string) ) or ($user_group_ct < 1) ) + { + $user_group_SQL = ""; + } + else + { + $user_group_SQL = eregi_replace(",$",'',$user_group_SQL); + $user_group_SQL = "and vl.user_group IN($user_group_SQL)"; + } + + $i=0; + while($i < $list_ct) + { + $list_string .= "$list_id[$i]|"; + $list_SQL .= "'$list_id[$i]',"; + $i++; + } + if ( (ereg("--ALL--",$list_string) ) or ($list_ct < 1) ) + { + $list_SQL = ""; + } + else + { + $list_SQL = eregi_replace(",$",'',$list_SQL); + $list_SQL = "and vi.list_id IN($list_SQL)"; + } + + $i=0; + while($i < $status_ct) + { + $status_string .= "$status[$i]|"; + $status_SQL .= "'$status[$i]',"; + $i++; + } + if ( (ereg("--ALL--",$status_string) ) or ($status_ct < 1) ) + { + $status_SQL = ""; + } + else + { + $status_SQL = eregi_replace(",$",'',$status_SQL); + $status_SQL = "and vl.status IN($status_SQL)"; + } + + + if ($DB > 0) + { + echo "<BR>\n"; + echo "$campaign_ct|$campaign_string|$campaign_SQL\n"; + echo "<BR>\n"; + echo "$group_ct|$group_string|$group_SQL\n"; + echo "<BR>\n"; + echo "$user_group_ct|$user_group_string|$user_group_SQL\n"; + echo "<BR>\n"; + echo "$list_ct|$list_string|$list_SQL\n"; + echo "<BR>\n"; + echo "$status_ct|$status_string|$status_SQL\n"; + echo "<BR>\n"; + exit; + } + + + if ($RUNcampaign > 0) + { + $export_campaign_rows=''; + $stmt = "SELECT vl.call_date,vl.phone_number,vl.status,vl.user,vu.full_name,vl.campaign_id,vi.vendor_lead_code,vi.source_id,vi.list_id,vi.gmt_offset_now,vi.phone_code,vi.phone_number,vi.title,vi.first_name,vi.middle_initial,vi.last_name,vi.address1,vi.address2,vi.address3,vi.city,vi.state,vi.province,vi.postal_code,vi.country_code,vi.gender,vi.date_of_birth,vi.alt_phone,vi.email,vi.security_phrase,vi.comments,vl.length_in_sec,vl.user_group,vl.alt_dial from vicidial_users vu,vicidial_log vl,vicidial_list vi where vl.call_date >= '$query_date' and vl.call_date <= '$end_date' and vu.user=vl.user and vi.lead_id=vl.lead_id $list_SQL $campaign_SQL $user_group_SQL $status_SQL order by vl.call_date limit 100000;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $outbound_to_print = mysql_num_rows($rslt); + if ($outbound_to_print < 1) + { + echo "There are no outbound calls during this time period for these parameters\n"; + exit; + } + else + { + $i=0; + while ($i < $outbound_to_print) + { + $row=mysql_fetch_row($rslt); + + $export_campaign_rows .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\r\n"; + $i++; + } + } + } + + if ($RUNgroup > 0) + { + $export_group_rows=''; + $stmtA = "SELECT vl.call_date,vl.phone_number,vl.status,vl.user,vu.full_name,vl.campaign_id,vi.vendor_lead_code,vi.source_id,vi.list_id,vi.gmt_offset_now,vi.phone_code,vi.phone_number,vi.title,vi.first_name,vi.middle_initial,vi.last_name,vi.address1,vi.address2,vi.address3,vi.city,vi.state,vi.province,vi.postal_code,vi.country_code,vi.gender,vi.date_of_birth,vi.alt_phone,vi.email,vi.security_phrase,vi.comments,vl.length_in_sec,vl.user_group,vl.queue_seconds from vicidial_users vu,vicidial_closer_log vl,vicidial_list vi where vl.call_date >= '$query_date' and vl.call_date <= '$end_date' and vu.user=vl.user and vi.lead_id=vl.lead_id $list_SQL $group_SQL $user_group_SQL $status_SQL order by vl.call_date limit 100000;"; + $rslt=mysql_query($stmtA, $link); + if ($DB) {echo "$stmt\n";} + $inbound_to_print = mysql_num_rows($rslt); + if ($inbound_to_print < 1) + { + echo "There are no inbound calls during this time period for these parameters\n"; + exit; + } + else + { + $i=0; + while ($i < $inbound_to_print) + { + $row=mysql_fetch_row($rslt); + + $export_group_rows .= "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\t$row[32]\r\n"; + $i++; + } + } + } + + + if ( ($outbound_to_print > 0) or ($inbound_to_print > 0) ) + { + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|$stmtA|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='EXPORT', record_id='', event_code='ADMIN EXPORT CALLS REPORT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $TXTfilename = "EXPORT_CALL_REPORT_$FILE_TIME.txt"; + + // We'll be outputting a TXT file + header('Content-type: application/octet-stream'); + + // It will be called LIST_101_20090209-121212.txt + header("Content-Disposition: attachment; filename=\"$TXTfilename\""); + header('Expires: 0'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Pragma: public'); + ob_clean(); + flush(); + + echo "$export_campaign_rows$export_group_rows"; + } + else + { + echo "There are no calls during this time period for these parameters\n"; + exit; + } + } +##### END RUN THE EXPORT AND OUTPUT FLAT DATA FILE ##### + + +else + { + $NOW_DATE = date("Y-m-d"); + $NOW_TIME = date("Y-m-d H:i:s"); + $STARTtime = date("U"); + if (!isset($group)) {$group = '';} + if (!isset($query_date)) {$query_date = $NOW_DATE;} + if (!isset($end_date)) {$end_date = $NOW_DATE;} + + $stmt="select campaign_id from vicidial_campaigns;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $campaigns_to_print = mysql_num_rows($rslt); + $i=0; + $LISTcampaigns[$i]='---NONE---'; + $i++; + $campaigns_to_print++; + while ($i < $campaigns_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTcampaigns[$i] =$row[0]; + $i++; + } + + $stmt="select group_id from vicidial_inbound_groups;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $groups_to_print = mysql_num_rows($rslt); + $i=0; + $LISTgroups[$i]='---NONE---'; + $i++; + $groups_to_print++; + while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTgroups[$i] =$row[0]; + $i++; + } + + $stmt="select user_group from vicidial_user_groups;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $user_groups_to_print = mysql_num_rows($rslt); + $i=0; + $LISTuser_groups[$i]='---ALL---'; + $i++; + $user_groups_to_print++; + while ($i < $user_groups_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTuser_groups[$i] =$row[0]; + $i++; + } + + $stmt="select list_id from vicidial_lists;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $lists_to_print = mysql_num_rows($rslt); + $i=0; + $LISTlists[$i]='---ALL---'; + $i++; + $lists_to_print++; + while ($i < $lists_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTlists[$i] =$row[0]; + $i++; + } + + $stmt="select status from vicidial_statuses;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $statuses_to_print = mysql_num_rows($rslt); + $i=0; + $LISTstatus[$i]='---ALL---'; + $i++; + $statuses_to_print++; + while ($i < $statuses_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTstatus[$i] =$row[0]; + $i++; + } + + $stmt="select distinct status from vicidial_campaign_statuses;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $Cstatuses_to_print = mysql_num_rows($rslt); + $j=0; + while ($j < $Cstatuses_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTstatus[$i] =$row[0]; + $i++; + $j++; + } + $statuses_to_print = ($statuses_to_print + $Cstatuses_to_print); + + echo "<HTML><HEAD>\n"; + + + echo "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=utf-8\">\n"; + echo "<TITLE>VICIDIAL: Export Calls Report"; + + ##### BEGIN Set variables to make header show properly ##### + $ADD = '100'; + $hh = 'lists'; + $LOGast_admin_access = '1'; + $SSoutbound_autodial_active = '1'; + $ADMIN = 'admin.php'; + $page_width='770'; + $section_width='750'; + $header_font_size='3'; + $subheader_font_size='2'; + $subcamp_font_size='2'; + $header_selected_bold='<b>'; + $header_nonselected_bold=''; + $lists_color = '#FFFF99'; + $lists_font = 'BLACK'; + $lists_color = '#E6E6E6'; + $subcamp_color = '#C6C6C6'; + ##### END Set variables to make header show properly ##### + + require("admin_header.php"); + + + echo "<CENTER><BR>\n"; + echo "<FONT SIZE=3 FACE=\"Arial,Helvetica\"><B>Export Calls Report</B></FONT><BR><BR>\n"; + echo "<FORM ACTION=\"$PHP_SELF\" METHOD=GET>\n"; + echo "<INPUT TYPE=HIDDEN NAME=DB VALUE=\"$DB\">"; + echo "<INPUT TYPE=HIDDEN NAME=run_export VALUE=\"1\">"; + echo "<TABLE BORDER=0 CELLSPACING=8><TR><TD ALIGN=LEFT VALIGN=TOP ROWSPAN=3>\n"; + + echo "<font class=\"select_bold\"><B>Date Range:</B></font><BR><CENTER>\n"; + echo "<INPUT TYPE=TEXT NAME=query_date SIZE=10 MAXLENGTH=10 VALUE=\"$query_date\">"; + echo "<BR>to<BR>\n"; + echo "<INPUT TYPE=TEXT NAME=end_date SIZE=10 MAXLENGTH=10 VALUE=\"$end_date\">\n"; + + echo "</TD><TD ALIGN=LEFT VALIGN=TOP ROWSPAN=2>\n"; + echo "<font class=\"select_bold\"><B>Campaigns:</B></font><BR><CENTER>\n"; + echo "<SELECT SIZE=15 NAME=campaign[] multiple>\n"; + $o=0; + while ($campaigns_to_print > $o) + { + if (ereg("\|$LISTcampaigns[$o]\|",$campaign_string)) + {echo "<option selected value=\"$LISTcampaigns[$o]\">$LISTcampaigns[$o]</option>\n";} + else + {echo "<option value=\"$LISTcampaigns[$o]\">$LISTcampaigns[$o]</option>\n";} + $o++; + } + echo "</SELECT>\n"; + + echo "</TD><TD ALIGN=LEFT VALIGN=TOP ROWSPAN=3>\n"; + echo "<font class=\"select_bold\"><B>Inbound Groups:</B></font><BR><CENTER>\n"; + echo "<SELECT SIZE=15 NAME=group[] multiple>\n"; + $o=0; + while ($groups_to_print > $o) + { + if (ereg("\|$LISTgroups[$o]\|",$group_string)) + {echo "<option selected value=\"$LISTgroups[$o]\">$LISTgroups[$o]</option>\n";} + else + {echo "<option value=\"$LISTgroups[$o]\">$LISTgroups[$o]</option>\n";} + $o++; + } + echo "</SELECT>\n"; + echo "</TD><TD ALIGN=LEFT VALIGN=TOP ROWSPAN=3>\n"; + echo "<font class=\"select_bold\"><B>Lists:</B></font><BR><CENTER>\n"; + echo "<SELECT SIZE=15 NAME=list_id[] multiple>\n"; + $o=0; + while ($lists_to_print > $o) + { + if (ereg("\|$LISTlists[$o]\|",$list_string)) + {echo "<option selected value=\"$LISTlists[$o]\">$LISTlists[$o]</option>\n";} + else + {echo "<option value=\"$LISTlists[$o]\">$LISTlists[$o]</option>\n";} + $o++; + } + echo "</SELECT>\n"; + echo "</TD><TD ALIGN=LEFT VALIGN=TOP ROWSPAN=3>\n"; + echo "<font class=\"select_bold\"><B>Statuses:</B></font><BR><CENTER>\n"; + echo "<SELECT SIZE=15 NAME=status[] multiple>\n"; + $o=0; + while ($statuses_to_print > $o) + { + if (ereg("\|$LISTstatus[$o]\|",$list_string)) + {echo "<option selected value=\"$LISTstatus[$o]\">$LISTstatus[$o]</option>\n";} + else + {echo "<option value=\"$LISTstatus[$o]\">$LISTstatus[$o]</option>\n";} + $o++; + } + echo "</SELECT>\n"; + echo "</TD><TD ALIGN=LEFT VALIGN=TOP ROWSPAN=3>\n"; + echo "<font class=\"select_bold\"><B>User Groups:</B></font><BR><CENTER>\n"; + echo "<SELECT SIZE=15 NAME=user_group[] multiple>\n"; + $o=0; + while ($user_groups_to_print > $o) + { + if (ereg("\|$LISTuser_groups[$o]\|",$user_group_string)) + {echo "<option selected value=\"$LISTuser_groups[$o]\">$LISTuser_groups[$o]</option>\n";} + else + {echo "<option value=\"$LISTuser_groups[$o]\">$LISTuser_groups[$o]</option>\n";} + $o++; + } + echo "</SELECT>\n"; + + echo "</TD></TR><TR></TD><TD ALIGN=LEFT VALIGN=TOP COLSPAN=2>\n"; + + echo "</TD></TR><TR></TD><TD ALIGN=LEFT VALIGN=TOP COLSPAN=3>\n"; + echo "<INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=SUBMIT>\n"; + echo "</TD></TR></TABLE>\n"; + echo "</FORM>\n\n"; + + } +exit; + +?> \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/closer-fronter_popup.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/closer-fronter_popup.php new file mode 100644 index 00000000..38221d59 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/closer-fronter_popup.php @@ -0,0 +1,516 @@ +<? +# closer-fronter_popup.php +# +# Copyright (C) 2008 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 +# +# this is the closer popup of a specific call that starts recording the call and allows you to go and fetch info on that caller in the local CRM system. +# CHANGES +# +# 60620-1020 - Added variable filtering to eliminate SQL injection attack threat +# 61201-1114 - Added lead_id and user to recording_log entry +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];} + elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["channel_group"])) {$channel_group=$_GET["channel_group"];} + elseif (isset($_POST["channel_group"])) {$channel_group=$_POST["channel_group"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["customer_zap_channel"])) {$customer_zap_channel=$_GET["customer_zap_channel"];} + elseif (isset($_POST["customer_zap_channel"])) {$customer_zap_channel=$_POST["customer_zap_channel"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];} + elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];} + elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["security"])) {$security=$_GET["security"];} + elseif (isset($_POST["security"])) {$security=$_POST["security"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_id"])) {$session_id=$_GET["session_id"];} + elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];} + elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +#$DB = '1'; # DEBUG override +$US = '_'; +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$REC_TIME = date("Ymd-His"); +$FILE_datetime = $STARTtime; +$parked_time = $STARTtime; + +# $ext_context = 'default'; defined in dbconnect file + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-CLOSER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($user); + $password=strtoupper($pass); + $stmt="SELECT full_name from vicidial_users where user='$user' and pass='$pass'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $fullname = $row[0]; + fwrite ($fp, "VD_CLOSER|GOOD|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + + if ( (strlen($customer_zap_channel)>2) and (eregi('zap',$customer_zap_channel)) ) + { + echo "\n<!-- zap channel: $customer_zap_channel -->\n"; + echo "\n<!-- session_id: $session_id -->\n"; + + } + else + { + echo "Bad channel: $customer_zap_channel\n"; + echo "Make sure the Zap channel is live and try again\n"; + exit; + } + + } + else + { + fwrite ($fp, "VD_CLOSER|FAIL|$date|$user|$pass|$ip|$browser|\n"); + fclose($fp); + } + } + +echo "<html>\n"; +echo "<head>\n"; +echo "<title>VICIDIAL FRONTER-CLOSER: Popup\n"; +echo "\n"; + +if (eregi('CL_UNIV',$channel_group)) + { + ?> + + \n"; + echo "function WaitFirefix() {setTimeout(document.forms[0].search_phone.focus(), 1000)}\n"; + echo "\n"; + } +?> + + +
    + + 0) +{ + +# $stmt="DELETE from parked_channels where server_ip='$server_ip' and parked_time='$parked_time' and channel='$channel' LIMIT 1"; +# if ($DB) {echo "|$stmt|\n";} +# $rslt=mysql_query($stmt, $link); + + $DTqueryCID = "RZ$FILE_datetime$user"; + + ### insert a NEW record to the vicidial_manager table to be processed + + $channel = $customer_zap_channel; + $channel = eregi_replace('Zap/', "", $channel); + $SIPexten = eregi_replace('SIP/', "", $SIPexten); + $filename = "$REC_TIME$US$SIPexten"; + +# $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Monitor','$DTqueryCID','Channel: Zap/$channel','File: $filename','Callerid: $DTqueryCID','','','','','','','')"; +# if ($DB) {echo "|$stmt|\n";} +# $rslt=mysql_query($stmt, $link); + + # Local/78600098@demo-6617,2 + + $stmt = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','" . mysql_real_escape_string($server_ip) . "','','Originate','$DTqueryCID','Channel: $local_DEF$conf_silent_prefix" . mysql_real_escape_string($session_id) . "$local_AMP$ext_context','Context: $ext_context','Exten: $recording_exten','Priority: 1','Callerid: " . mysql_real_escape_string($filename) . "','','','','','')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('Zap/" . mysql_real_escape_string($channel) . "','" . mysql_real_escape_string($server_ip) . "','SIP/" . mysql_real_escape_string($SIPexten) . "','$NOW_TIME','$STARTtime','" . mysql_real_escape_string($filename) . "','$lead_id','$user')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='" . mysql_real_escape_string($filename) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + + echo "Recording command sent for channel $channel - $filename - $recording_id       $NOW_TIME\n

    \n"; + + $stmt="SELECT full_name from vicidial_users where user='" . mysql_real_escape_string($user) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + + echo "Call Referred by: $user - $full_name\n

    \n"; + + $url = "http://10.10.99.2/vicidial/closer_dispo.php?lead_id=$lead_id&channel=$channel&server_ip=$server_ip&extension=$SIPexten&call_began=$STARTtime&parked_time=$parked_time&DB=$DB"; + + echo "View Customer Info and Disposition Call\n

    \n"; + + + +# $stmt="UPDATE park_log set grab_time='$NOW_TIME',status='TALKING',extension='$extension',user='$user' where parked_time='$parked_time' and server_ip='$server_ip' and channel='$channel'"; +# if ($DB) {echo "|$stmt|\n";} +# $fp = fopen ("./closer_SQL_updates.txt", "a"); +# fwrite ($fp, "$date|$user|$stmt|\n"); +# fclose($fp); +# $rslt=mysql_query($stmt, $link); + +########################################################################################### +####### HERE IS WHERE YOU DEFINE DIFFERENT CONTENTS DEPENDING UPON THE CHANNEL_GROUP PREFIX +########################################################################################### +if (eregi('CL_TEST',$channel_group)) + { + echo "GALLERIA TEST CLOSER GROUP: $channel_group\n"; + + $stmt="SELECT user,phone_number from vicidial_list where lead_id='" . mysql_real_escape_string($parked_by) . "';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $fronter=$row[0]; + $search_phone=$row[1]; + + + ?> +
    + + + + + + + + + + + + + + + +
    COF MW Customer Search
    Phone number
    +
    +

    + +
    + + + + + + + + + + + + + + + +
    COF MW Customer Search
    Phone number
    +
    +

    + -- INTERNAL CALL GALLERIA FRONT --
    \n"; + $group_color='#99FF99'; + } + if (eregi('CL_GALLER2',$channel_group)) + { + echo "
    -- TouchAsia CALL Simple Escapes FRONT --
    \n"; + $group_color='#FF9999'; + } + if (eregi('CL_GALLER3',$channel_group)) + { + echo "
    -- DebitSupplies CALL Simple Escapes FRONT --
    \n"; + $group_color='#FF9999'; + } + if (eregi('CL_GALLER4',$channel_group)) + { + echo "
    -- Vishnu CALL Simple Escapes FRONT --
    \n"; + $group_color='#FF9999'; + } + + + ?> +
    + + + + + + + + + + + + + + + +
    COF MW Customer Search
    Phone number
    +
    +

    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    New Search
    Reservation Number:
    Confirmation #:
    Phone #:


    Back
    + +
    + + + Close this window\n

    \n"; +} +else +{ + echo "Record command FAILED for channel $channel       $NOW_TIME\n

    \n"; + echo "Please go back and try again\n

    \n"; +# echo "
    \n"; +} + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n\n"; + + +echo "\n\n\n


    \nscript runtime: $RUNtime seconds
    "; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/closer-fronter_popup2.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/closer-fronter_popup2.php new file mode 100644 index 00000000..f9b540de --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/closer-fronter_popup2.php @@ -0,0 +1,431 @@ + LICENSE: AGPLv2 +# +# this is the closer popup of a specific call that starts recording the call and allows you to go and fetch info on that caller in the local CRM system. +# CHANGES +# +# 60620-1025 - Added variable filtering to eliminate SQL injection attack threat +# 61201-1114 - Added lead_id and user to recording_log entry +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];} + elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["channel_group"])) {$channel_group=$_GET["channel_group"];} + elseif (isset($_POST["channel_group"])) {$channel_group=$_POST["channel_group"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["customer_zap_channel"])) {$customer_zap_channel=$_GET["customer_zap_channel"];} + elseif (isset($_POST["customer_zap_channel"])) {$customer_zap_channel=$_POST["customer_zap_channel"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];} + elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];} + elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["security"])) {$security=$_GET["security"];} + elseif (isset($_POST["security"])) {$security=$_POST["security"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_id"])) {$session_id=$_GET["session_id"];} + elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];} + elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +#$DB = '1'; # DEBUG override +$US = '_'; +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$REC_TIME = date("Ymd-His"); +$FILE_datetime = $STARTtime; +$parked_time = $STARTtime; + +# $ext_context = 'default'; defined in dbconnect file +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and user_level > 0;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if (!$auth) + { + if ( (strlen($PHP_AUTH_USER)>1) and ( (eregi("tsr",$PHP_AUTH_PW)) or (eregi("sales",$PHP_AUTH_PW)) ) ) + { + $auth=1; + $user = $PHP_AUTH_USER; + $pass = $PHP_AUTH_PW; + } + } + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($user)<2) or (strlen($pass)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-CLOSER - $user - $PHP_AUTH_USER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$user|$pass|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($user); + $password=strtoupper($pass); + $stmt="SELECT full_name from vicidial_users where user='$user' and pass='$pass'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $fullname = $row[0]; + fwrite ($fp, "VD_CLOSER|GOOD|$date|$user|$pass|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + + if ( (strlen($customer_zap_channel)>2) and ( (eregi('zap',$customer_zap_channel)) or (eregi('iax',$customer_zap_channel)) ) ) + { + echo "\n\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + } + else + { + echo "Bad channel: $customer_zap_channel\n"; + echo "Make sure the Zap channel is live and try again\n"; + exit; + } + + } + else + { + fwrite ($fp, "VD_CLOSER|FAIL|$date|$user|$pass|$ip|$browser|\n"); + fclose($fp); + } + } + +echo "\n"; +echo "\n"; +echo "VICIDIAL FRONTER-CLOSER: Popup\n"; +echo "\n"; + +if (eregi('CL_UNIV',$channel_group)) + { + ?> + + \n"; + echo "function WaitFirefix() {setTimeout(document.forms[0].search_phone.focus(), 1000)}\n"; + echo "\n"; + } +?> + + +
    + + 0) +{ + +# $stmt="DELETE from parked_channels where server_ip='$server_ip' and parked_time='$parked_time' and channel='$channel' LIMIT 1"; +# if ($DB) {echo "|$stmt|\n";} +# $rslt=mysql_query($stmt, $link); + + $DTqueryCID = "RZ$FILE_datetime$user"; + + ### insert a NEW record to the vicidial_manager table to be processed + + $channel = $customer_zap_channel; +# $channel = eregi_replace('Zap/', "", $channel); + $SIPexten = eregi_replace('SIP/', "", $SIPexten); + $filename = "$REC_TIME$US$SIPexten"; + +# $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Monitor','$DTqueryCID','Channel: Zap/$channel','File: $filename','Callerid: $DTqueryCID','','','','','','','')"; +# if ($DB) {echo "|$stmt|\n";} +# $rslt=mysql_query($stmt, $link); + + # Local/78600098@demo-6617,2 + + $stmt = "INSERT INTO vicidial_manager values('','','$SQLdate','NEW','N','" . mysql_real_escape_string($server_ip) . "','','Originate','$DTqueryCID','Channel: $local_DEF$conf_silent_prefix" . mysql_real_escape_string($session_id) . "$local_AMP$ext_context','Context: $ext_context','Exten: $recording_exten','Priority: 1','Callerid: " . mysql_real_escape_string($filename) . "','','','','','')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename,lead_id,user) values('$channel','" . mysql_real_escape_string($server_ip) . "','SIP/" . mysql_real_escape_string($SIPexten) . "','$NOW_TIME','$STARTtime','" . mysql_real_escape_string($filename) . "','$lead_id','$user')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT recording_id FROM recording_log where filename='" . mysql_real_escape_string($filename) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + + echo "Recording command sent for channel $channel - $filename - $recording_id       $NOW_TIME\n

    \n"; + + $stmt="SELECT full_name from vicidial_users where user='" . mysql_real_escape_string($fronter) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + + echo "Call Referred by: $fronter - $full_name\n

    \n"; + + $url = "http://10.10.10.196/vicidial/closer_dispo.php?lead_id=$lead_id&channel=$channel&server_ip=$server_ip&extension=$SIPexten&call_began=$STARTtime&parked_time=$parked_time&DB=$DB"; + + echo "View Customer Info and Disposition Call\n

    \n"; + + + $stmt="SELECT group_name,group_color from vicidial_inbound_groups where group_id='" . mysql_real_escape_string($channel_group) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $group_name = $row[0]; + $group_color = $row[1]; + + echo "
    \n"; + echo "
    $channel_group - $group_name

    \n\n"; + +########################################################################################### +####### HERE IS WHERE YOU DEFINE DIFFERENT CONTENTS DEPENDING UPON THE CHANNEL_GROUP PREFIX +########################################################################################### + +if (eregi('CL',$channel_group)) + { + if (strlen($phone) > 9) {$search_phone = $phone;} + if ( (strlen($search_phone) < 10) or (strlen($fronter) < 1) ) + { + echo "\n"; + $stmt="SELECT user,phone_number from vicidial_list where lead_id='$parked_by';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + if (strlen($fronter) < 1) {$fronter=$row[0];} + if (strlen($search_phone) < 10) {$search_phone=$row[1];} + } + + ?> +
    + + + + + + + + + + + + + + + +
    COF MW Customer Search
    Phone number
    +
    +

    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    New Search
    Reservation Number:
    Confirmation #:
    Phone #:


    Back
    + +
    + + + Close this window\n

    \n"; +} +else +{ + echo "Record command FAILED for channel $channel       $NOW_TIME\n

    \n"; + echo "Please go back and try again\n

    \n"; +# echo "
    \n"; +} + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n\n"; + + +echo "\n\n\n


    \nscript runtime: $RUNtime seconds
    "; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/closer.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/closer.php new file mode 100644 index 00000000..a8f40c47 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/closer.php @@ -0,0 +1,353 @@ + LICENSE: AGPLv2 +# +# the purpose of this script and webpage is to allow for remote or local users of the system to log in and grab phone calls that are coming inbound into the Asterisk server and being put in the parked_channels table while they hear a soundfile for a limited amount of time before being forwarded on to either a set extension or a voicemail box. This gives remote or local agents a way to grab calls without tying up their phone lines all day. The agent sees the refreshing screen of calls on park and when they want to take one they just click on it, and a small window opens that will allow them to grab the call and/or look up more information on the caller through the callerID that is given(if available) +# CHANGES +# +# 60620-1032 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["group_selected"])) {$group_selected=$_GET["group_selected"];} + elseif (isset($_POST["group_selected"])) {$group_selected=$_POST["group_selected"];} +if (isset($_GET["dialplan_number"])) {$dialplan_number=$_GET["dialplan_number"];} + elseif (isset($_POST["dialplan_number"])) {$dialplan_number=$_POST["dialplan_number"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["groupselect"])) {$groupselect=$_GET["groupselect"];} + elseif (isset($_POST["groupselect"])) {$groupselect=$_POST["groupselect"];} +if (isset($_GET["PHONE_LOGIN"])) {$PHONE_LOGIN=$_GET["PHONE_LOGIN"];} + elseif (isset($_POST["PHONE_LOGIN"])) {$PHONE_LOGIN=$_POST["PHONE_LOGIN"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["channel_group"])) {$channel_group=$_GET["channel_group"];} + elseif (isset($_POST["channel_group"])) {$channel_group=$_POST["channel_group"];} +if (isset($_GET["debugvars"])) {$debugvars=$_GET["debugvars"];} + elseif (isset($_POST["debugvars"])) {$debugvars=$_POST["debugvars"];} +if (isset($_GET["parked_by"])) {$parked_by=$_GET["parked_by"];} + elseif (isset($_POST["parked_by"])) {$parked_by=$_POST["parked_by"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$popup_page = './closer_popup.php'; + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 2;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-CLOSER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $fullname = $row[0]; + fwrite ($fp, "VD_CLOSER|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + + } + else + { + fwrite ($fp, "VD_CLOSER|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + + +$color_class[0] = 'green'; +$color_class[1] = 'red'; +$color_class[2] = 'blue'; +$color_class[3] = 'purple'; +$color_class[4] = 'orange'; +$color_class[5] = 'green'; +$color_class[6] = 'red'; +$color_class[7] = 'blue'; +$color_class[8] = 'purple'; +$color_class[9] = 'orange'; +?> + + + + + +VICIDIAL CLOSER: Main + + +
    + + 0) + { + $stmt="SELECT dialplan_number,server_ip from phones where extension='" . mysql_real_escape_string($extension) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $dialplan_number=$row[0]; + $server_ip=$row[1]; + + if (!$group_selected) + { + $stmt="select distinct channel_group from park_log;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $groups_to_print = mysql_num_rows($rslt); + $i=0; + while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + echo "
    Please select the groups you want to pick calls up from:
    \n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Inbound Call Groups:
    \n"; + $o=0; + while ($groups_to_print > $o) + { + $group_form_print = sprintf("%-20s", $groups[$o]); + echo "$group_form_print
    \n"; + $o++; + } + echo "
    \n"; + echo "\n"; + echo "


    \n"; + } + else + { + $o=0; + while($o < $group_selected) + { + $form_groups = "$form_groups&groupselect[$o]=$groupselect[$o]"; + $o++; + } + + $stmt="INSERT INTO vicidial_user_log values('','" . mysql_real_escape_string($user) . "','LOGIN','CLOSER','$NOW_TIME','$STARTtime');"; + $rslt=mysql_query($stmt, $link); + + echo "\n"; + echo"\n"; + + echo "extension found, forwarding you to closer page, please wait 3 seconds...
    \n"; + } + + } + else + { + echo "The extension you entered does not exist, please try again
    \n"; + echo "
    Please enter your phone_ID: \n"; + echo "\n"; + echo "phone station ID:   \n"; + echo "\n"; + echo "


    \n"; + } + + } + else + { + echo "
    Please enter your phone_ID: \n"; + echo "\n"; + echo "phone station ID:   \n"; + echo "\n"; + echo "


    \n"; + } + +exit; + +} + +$o=0; +while($o < $group_selected) +{ + $listen_groups = "$listen_groups     $groupselect[$o]"; + $form_groups = "$form_groups&groupselect[$o]=$groupselect[$o]"; + $o++; +} + + +echo "\n"; +echo"\n"; + +#CHANNEL SERVER CHANNEL_GROUP EXTENSION PARKED_BY PARKED_TIME +#---------------------------------------------------------------------------------------------- +#Zap/73-1 10.10.11.11 IN_800_TPP_CS TPPpark 7275338730 2004-04-22 12:41:00 + + + +echo "$NOW_TIME           $PHP_AUTH_USER - $fullname - CALLS SENT TO: $dialplan_number

    \n"; + +echo "Click on the channel below that you would like to have directed to your phone
    \n"; + +echo "
    \n";
    +echo "CHANNEL    SERVER        CHANNEL_GROUP   EXTENSION    PARKED_BY            PARKED_TIME         \n";
    +echo "---------------------------------------------------------------------------------------------- \n";
    +
    +
    +
    +
    +
    +$stmt="SELECT count(*) from parked_channels where server_ip='" . mysql_real_escape_string($server_ip) . "'";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +$parked_count = $row[0];
    +	if ($parked_count > 0)
    +	{
    +	$stmt="SELECT * from parked_channels where server_ip='" . mysql_real_escape_string($server_ip) . "' and channel_group LIKE \"CL_%\" order by channel_group,parked_time";
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$parked_to_print = mysql_num_rows($rslt);
    +	$i=0;
    +	while ($i < $parked_to_print)
    +		{
    +		$row=mysql_fetch_row($rslt);
    +		$channel =			sprintf("%-11s", $row[0]);
    +		$server =			sprintf("%-14s", $row[1]);
    +		$channel_group =	sprintf("%-16s", $row[2]);
    +		$park_extension =	sprintf("%-13s", $row[3]);
    +		$parked_by =		sprintf("%-21s", $row[4]);
    +		$parked_time =		sprintf("%-19s", $row[5]);
    +
    +		$G='';   $EG='';
    +		$o=0;
    +		$with_color=0;
    +		while($o < $group_selected)
    +			{
    +				if (eregi("$groupselect[$o]",$channel_group))
    +					{
    +					$G=""; $EG='';
    +					$with_color++;
    +					}
    +				$o++;
    +			}
    +		if ($with_color)
    +			{
    +			if (eregi('CL_GAL',$row[2]))
    +				{
    +				echo "$G$channel$server$channel_group$park_extension                     $parked_time $EG\n";
    +				}
    +			else
    +				{
    +				echo "$G$channel$server$channel_group$park_extension$parked_by$parked_time $EG\n";
    +				}
    +			}
    +#	
    +		$i++;
    +		}
    +
    +	}
    +	else
    +	{
    +	echo "********************************************************************************************** \n";
    +	echo "********************************************************************************************** \n";
    +	echo "*************************************** NO PARKED CALLS ************************************** \n";
    +	echo "********************************************************************************************** \n";
    +	echo "********************************************************************************************** \n";
    +	}
    +
    +echo "  \n\n";
    +echo "looking for calls on these groups:\n";
    +$o=0;
    +while($o < $group_selected)
    +{
    +	$group_print =		sprintf("%-20s", $groupselect[$o]);
    +	echo "             - $group_print\n";
    +	$o++;
    +}
    +
    +
    +$ENDtime = date("U");
    +
    +$RUNtime = ($ENDtime - $STARTtime);
    +
    +echo "
    \n\n\n


    \n\n"; + + +echo "\n\n\n


    \nscript runtime: $RUNtime seconds
    "; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/closer_dispo.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/closer_dispo.php new file mode 100644 index 00000000..099addb4 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/closer_dispo.php @@ -0,0 +1,331 @@ + LICENSE: AGPLv2 +# +# this is the closer disposition screen of a call that has been grabbed. This +# allows the closer to modify customer information and disposition the call +# +# CHANGES +# +# 60619-1641 - Added variable filtering to eliminate SQL injection attack threat +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];} + elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];} + elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];} + elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];} + elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];} +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["security"])) {$security=$_GET["security"];} + elseif (isset($_POST["security"])) {$security=$_POST["security"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$ext_context = 'demo'; +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 2;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-CLOSER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $fullname = $row[0]; + fwrite ($fp, "VD_CLOSER|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + + } + else + { + fwrite ($fp, "VD_CLOSER|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +?> + + +VICIDIAL CLOSER: Call Disposition +\n"; +?> + + +
    + + 0) +{ + +$call_length = ($STARTtime - $call_began); + + ### insert a NEW record to the vicidial_closer_log table + $stmt="INSERT INTO vicidial_closer_log (lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed) values('" . mysql_real_escape_string($lead_id) . "','" . mysql_real_escape_string($list_id) . "','" . mysql_real_escape_string($campaign_id) . "','" . mysql_real_escape_string($parked_time) . "','" . mysql_real_escape_string($call_began) . "','$STARTtime','" . mysql_real_escape_string($call_length) . "','" . mysql_real_escape_string($status) . "','" . mysql_real_escape_string($phone_code) . "','" . mysql_real_escape_string($phone_number) . "','$PHP_AUTH_USER','" . mysql_real_escape_string($comments) . "','Y')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + ### update the lead record in the vicidial_list table + $stmt="UPDATE vicidial_list set status='" . mysql_real_escape_string($status) . "',first_name='" . mysql_real_escape_string($first_name) . "',last_name='" . mysql_real_escape_string($last_name) . "',address1='" . mysql_real_escape_string($address1) . "',address2='" . mysql_real_escape_string($address2) . "',address3='" . mysql_real_escape_string($address3) . "',city='" . mysql_real_escape_string($city) . "',state='" . mysql_real_escape_string($state) . "',province='" . mysql_real_escape_string($province) . "',postal_code='" . mysql_real_escape_string($postal_code) . "',country_code='" . mysql_real_escape_string($country_code) . "',alt_phone='" . mysql_real_escape_string($alt_phone) . "',email='" . mysql_real_escape_string($email) . "',security_phrase='" . mysql_real_escape_string($security) . "',comments='" . mysql_real_escape_string($comments) . "' where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $stmt="SELECT count(*) from live_channels where server_ip='$server_ip' and channel='" . mysql_real_escape_string($channel) . "' and extension like \"%" . mysql_real_escape_string($extension) . "%\""; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $parked_count = $row[0]; + + if ($parked_count > 0) + { + + $DTqueryCID = "RR$FILE_datetime$PHP_AUTH_USER"; + + ### insert a NEW record to the vicidial_manager table to be processed + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','" . mysql_real_escape_string($server_ip) . "','','Hangup','$DTqueryCID','Channel: " . mysql_real_escape_string($channel) . "','','','','','','','','','')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Hangup command sent for channel $channel       $NOW_TIME\n

    \n"; + + echo "\n"; + } + else + { + echo "Hangup command FAILED for channel $channel       $NOW_TIME\n

    \n"; + echo "
    \n"; + } +} +else +{ + $stmt="SELECT count(*) from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_count = $row[0]; + + if ($lead_count > 0) + { + + $stmt="SELECT * from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_id = "$row[0]"; + $tsr = "$row[4]"; + $vendor_id = "$row[5]"; + $list_id = "$row[7]"; + $campaign_id = "$row[8]"; + $phone_code = "$row[10]"; + $phone_number = "$row[11]"; + $title = "$row[12]"; + $first_name = "$row[13]"; # + $middle_initial = "$row[14]"; + $last_name = "$row[15]"; # + $address1 = "$row[16]"; # + $address2 = "$row[17]"; # + $address3 = "$row[18]"; # + $city = "$row[19]"; # + $state = "$row[20]"; # + $province = "$row[21]"; # + $postal_code = "$row[22]"; # + $country_code = "$row[23]"; # + $gender = "$row[24]"; + $date_of_birth = "$row[25]"; + $alt_phone = "$row[26]"; # + $email = "$row[27]"; # + $security = "$row[28]"; # + $comments = "$row[29]"; # + + echo "
    Call information: $first_name $last_name - $phone_number

    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
    Vendor ID: $vendor_id     Campaign ID: $campaign_id
    Fronter: $tsr     List ID: $list_id
    First Name:   \n"; + echo " Last Name:
    Address 1 :
    Address 2 :
    Address 3 :
    City :
    State:   \n"; + echo " Postal Code:
    Province :
    Country :
    Alt Phone :
    Email :
    Security :
    Comments :
    Disposition:
    \n"; + echo "


    \n"; + + } + else + { + echo "lead lookup FAILED for lead_id $lead_id       $NOW_TIME\n

    \n"; +# echo "Close this window\n

    \n"; + } + + + + + + +} + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n\n"; + + +echo "\n\n\n


    \nscript runtime: $RUNtime seconds
    "; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/closer_popup.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/closer_popup.php new file mode 100644 index 00000000..3533f4e7 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/closer_popup.php @@ -0,0 +1,455 @@ + LICENSE: AGPLv2 +# +# this is the closer popup of a specific call that grabs the call and allows you +# to go and fetch info on that caller in the local CRM system. +# +# CHANGES +# +# 60620-1029 - Added variable filtering to eliminate SQL injection attack threat +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["group_selected"])) {$group_selected=$_GET["group_selected"];} + elseif (isset($_POST["group_selected"])) {$group_selected=$_POST["group_selected"];} +if (isset($_GET["dialplan_number"])) {$dialplan_number=$_GET["dialplan_number"];} + elseif (isset($_POST["dialplan_number"])) {$dialplan_number=$_POST["dialplan_number"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["groupselect"])) {$groupselect=$_GET["groupselect"];} + elseif (isset($_POST["groupselect"])) {$groupselect=$_POST["groupselect"];} +if (isset($_GET["PHONE_LOGIN"])) {$PHONE_LOGIN=$_GET["PHONE_LOGIN"];} + elseif (isset($_POST["PHONE_LOGIN"])) {$PHONE_LOGIN=$_POST["PHONE_LOGIN"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["channel_group"])) {$channel_group=$_GET["channel_group"];} + elseif (isset($_POST["channel_group"])) {$channel_group=$_POST["channel_group"];} +if (isset($_GET["debugvars"])) {$debugvars=$_GET["debugvars"];} + elseif (isset($_POST["debugvars"])) {$debugvars=$_POST["debugvars"];} +if (isset($_GET["parked_by"])) {$parked_by=$_GET["parked_by"];} + elseif (isset($_POST["parked_by"])) {$parked_by=$_POST["parked_by"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + +#$DB=1; +$US = '_'; +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$REC_TIME = date("Ymd-His"); +$FILE_datetime = $STARTtime; + +$ext_context = 'demo'; + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 2;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-CLOSER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $fullname = $row[0]; + fwrite ($fp, "VD_CLOSER|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + + } + else + { + fwrite ($fp, "VD_CLOSER|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +echo "\n"; +echo "\n"; +echo "VICIDIAL CLOSER: Popup\n"; +echo "\n"; + +if (eregi('CL_UNIV',$channel_group)) + { + ?> + + \n"; + echo "function WaitFirefix() {setTimeout(document.forms[0].search_phone.focus(), 1000)}\n"; + echo "\n"; + } +?> + + +
    + + 0) +{ + $stmt="DELETE from parked_channels where server_ip='" . mysql_real_escape_string($server_ip) . "' and parked_time='" . mysql_real_escape_string($parked_time) . "' and channel='" . mysql_real_escape_string($channel) . "' LIMIT 1"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + + #$monitor_channel = eregi_replace('Zap/', "", $channel); + $monitor_channel = eregi_replace('-1', "", $channel); + $SIPexten = $extension; + $filename = "$REC_TIME$US$SIPexten"; + $DTqueryCID = "RR$FILE_datetime$PHP_AUTH_USER"; + +# $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','$server_ip','','Monitor','$DTqueryCID','Channel: $monitor_channel','File: $filename','Callerid: $DTqueryCID','','','','','','','')"; +# if ($DB) {echo "|$stmt|\n";} +# $rslt=mysql_query($stmt, $link); + +# $stmt = "INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename) values('$monitor_channel','$server_ip','SIP/$SIPexten','$NOW_TIME','$STARTtime','$filename')"; +# if ($DB) {echo "|$stmt|\n";} +# $rslt=mysql_query($stmt, $link); + +# $stmt="SELECT recording_id FROM recording_log where filename='$filename'"; +# $rslt=mysql_query($stmt, $link); +# if ($DB) {echo "$stmt\n";} +# $row=mysql_fetch_row($rslt); +# $recording_id = $row[0]; + +# echo "Recording command sent for channel $channel - $filename - $recording_id
    \n"; + + ### insert a NEW record to the vicidial_manager table to be processed + $stmt="INSERT INTO vicidial_manager values('','','$NOW_TIME','NEW','N','" . mysql_real_escape_string($server_ip) . "','','Redirect','$DTqueryCID','Exten: $dialplan_number','Channel: " . mysql_real_escape_string($channel) . "','Context: $ext_context','Priority: 1','Callerid: $DTqueryCID','','','','','')"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Redirect command sent for channel $channel       $NOW_TIME\n

    \n"; + + $stmt="SELECT full_name from vicidial_users where user='" . mysql_real_escape_string($parked_by) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + + echo "Call Referred by: $parked_by - $full_name\n

    \n"; + + $url = "http://10.10.10.196/vicidial/closer_dispo.php?lead_id=$parked_by&channel=$channel&server_ip=$server_ip&extension=$extension&call_began=$STARTtime&parked_time=$parked_time&DB=$DB"; + + echo "View Customer Info and Disposition Call\n

    \n"; + + + + $stmt="UPDATE park_log set grab_time='$NOW_TIME',status='TALKING',extension='" . mysql_real_escape_string($extension) . "',user='$PHP_AUTH_USER' where parked_time='" . mysql_real_escape_string($parked_time) . "' and server_ip='" . mysql_real_escape_string($server_ip) . "' and channel='" . mysql_real_escape_string($channel) . "'"; + if ($DB) {echo "|$stmt|\n";} + $fp = fopen ("./closer_SQL_updates.txt", "a"); + fwrite ($fp, "$date|$PHP_AUTH_USER|$stmt|\n"); + fclose($fp); + + + $rslt=mysql_query($stmt, $link); + +########################################################################################### +####### HERE IS WHERE YOU DEFINE DIFFERENT CONTENTS DEPENDING UPON THE CHANNEL_GROUP PREFIX +########################################################################################### +if (eregi('CL_TEST',$channel_group)) + { + echo "GALLERIA TEST CLOSER GROUP: $channel_group\n"; + + $stmt="SELECT user,phone_number from vicidial_list where lead_id='" . mysql_real_escape_string($parked_by) . "';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $fronter=$row[0]; + $search_phone=$row[1]; + + + ?> +
    + + + + + + + + + + + + + + + +
    COF MW Customer Search
    Phone number
    +
    +

    + +
    + + + + + + + + + + + + + + + +
    COF MW Customer Search
    Phone number
    +
    +

    + -- INTERNAL CALL GALLERIA FRONT --
    \n"; + $group_color='#99FF99'; + } + if (eregi('CL_GALLER2',$channel_group)) + { + echo "
    -- TouchAsia CALL Simple Escapes FRONT --
    \n"; + $group_color='#FF9999'; + } + if (eregi('CL_GALLER3',$channel_group)) + { + echo "
    -- DebitSupplies CALL Simple Escapes FRONT --
    \n"; + $group_color='#FF9999'; + } + if (eregi('CL_GALLER4',$channel_group)) + { + echo "
    -- Vishnu CALL Simple Escapes FRONT --
    \n"; + $group_color='#FF9999'; + } + + + ?> +
    + + + + + + + + + + + + + + + +
    COF MW Customer Search
    Phone number
    +
    +

    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    New Search
    Reservation Number:
    Confirmation #:
    Phone #:


    Back
    + +
    + + + Close this window\n

    \n"; +} +else +{ + echo "Redirect command FAILED for channel $channel       $NOW_TIME\n

    \n"; + echo "
    \n"; +} + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n\n"; + + +echo "\n\n\n


    \nscript runtime: $RUNtime seconds
    "; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/count.htm b/agc_2-X/branches/agc_2.0.5/www/vicidial/count.htm new file mode 100644 index 00000000..51f8a361 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/count.htm @@ -0,0 +1 @@ + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/dbconnect.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/dbconnect.php new file mode 100644 index 00000000..dae8cc7a --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/dbconnect.php @@ -0,0 +1,60 @@ + LICENSE: AGPLv2 +# +if ( file_exists("/etc/astguiclient.conf") ) +{ +$DBCagc = file("/etc/astguiclient.conf"); +foreach ($DBCagc as $DBCline) + { + $DBCline = preg_replace("/ |>|\n|\r|\t|\#.*|;.*/","",$DBCline); + if (ereg("^PATHlogs", $DBCline)) + {$PATHlogs = $DBCline; $PATHlogs = preg_replace("/.*=/","",$PATHlogs);} + if (ereg("^PATHweb", $DBCline)) + {$WeBServeRRooT = $DBCline; $WeBServeRRooT = preg_replace("/.*=/","",$WeBServeRRooT);} + if (ereg("^VARDB_server", $DBCline)) + {$VARDB_server = $DBCline; $VARDB_server = preg_replace("/.*=/","",$VARDB_server);} + if (ereg("^VARDB_database", $DBCline)) + {$VARDB_database = $DBCline; $VARDB_database = preg_replace("/.*=/","",$VARDB_database);} + if (ereg("^VARDB_user", $DBCline)) + {$VARDB_user = $DBCline; $VARDB_user = preg_replace("/.*=/","",$VARDB_user);} + if (ereg("^VARDB_pass", $DBCline)) + {$VARDB_pass = $DBCline; $VARDB_pass = preg_replace("/.*=/","",$VARDB_pass);} + if (ereg("^VARDB_port", $DBCline)) + {$VARDB_port = $DBCline; $VARDB_port = preg_replace("/.*=/","",$VARDB_port);} + } + +} +else +{ +#defaults for DB connection +$VARDB_server = 'localhost'; +$VARDB_user = 'cron'; +$VARDB_pass = '1234'; +$VARDB_database = '1234'; +$WeBServeRRooT = '/usr/local/apache2/htdocs'; +} + +$link=mysql_connect("$VARDB_server", "$VARDB_user", "$VARDB_pass"); +if (!$link) { + die('MySQL connect ERROR: ' . mysql_error()); +} +mysql_select_db("$VARDB_database"); + +$local_DEF = 'Local/'; +$conf_silent_prefix = '7'; +$local_AMP = '@'; +$ext_context = 'demo'; +$recording_exten = '8309'; +$WeBRooTWritablE = '1'; +$non_latin = '0'; # set to 1 for UTF rules +$AM_shift_BEGIN = '03:45:00'; +$AM_shift_END = '17:45:00'; +$PM_shift_BEGIN = '17:45:01'; +$PM_shift_END = '23:59:59'; +$admin_qc_enabled = '0'; +?> diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/fcstats.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/fcstats.php new file mode 100644 index 00000000..99880305 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/fcstats.php @@ -0,0 +1,600 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 70813-1526 - First Build +# 71008-1436 - Added shift to be defined in dbconnect.php +# 71217-1128 - Changed method for calculating stats +# 71228-1140 - added percentages, cross-day start/stop +# 80328-1139 - adapted for basic fronter/closer stats +# 90310-2132 - Added admin header +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +if (strlen($shift)<2) {$shift='ALL';} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = 'CL_TEST_L';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} + +$stmt="select group_id from vicidial_inbound_groups;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } +?> + + + + + +\n"; +echo "VICIDIAL: In-Group Fronter-Closer Stats\n"; + + $short_header=1; + + require("admin_header.php"); + +echo "
    "; + +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "           MODIFY | REPORTS \n"; +echo "
    \n\n"; + +echo "
    \n\n";
    +
    +
    +if (!$group)
    +{
    +echo "\n\n";
    +echo "PLEASE SELECT AN IN-GROUP AND DATE ABOVE THEN CLICK SUBMIT\n";
    +}
    +
    +else
    +{
    +#	$time_BEGIN=$AM_shift_BEGIN;
    +#	$time_END=$AM_shift_END;
    +#$query_date_BEGIN = "$query_date $time_BEGIN";   
    +#$query_date_END = "$query_date $time_END";
    +
    +$Cqdate = explode('-',$query_date);
    +
    +if ($shift == 'AM') 
    +	{
    +	$query_date_BEGIN = date("Y-m-d H:i:s", mktime(1, 0, 0, $Cqdate[1], $Cqdate[2], $Cqdate[0]));
    +	$query_date_END = date("Y-m-d H:i:s", mktime(17, 45, 0, $Cqdate[1], $Cqdate[2], $Cqdate[0]));
    +	}
    +if ($shift == 'PM') 
    +	{
    +	$query_date_BEGIN = date("Y-m-d H:i:s", mktime(17, 45, 1, $Cqdate[1], $Cqdate[2], $Cqdate[0]));
    +	$query_date_END = date("Y-m-d H:i:s", mktime(24, 59, 59, $Cqdate[1], $Cqdate[2], $Cqdate[0]));
    +	}
    +if ($shift == 'ALL') 
    +	{
    +	$query_date_BEGIN = date("Y-m-d H:i:s", mktime(1, 0, 0, $Cqdate[1], $Cqdate[2], $Cqdate[0]));
    +	$query_date_END = date("Y-m-d H:i:s", mktime(24, 59, 59, $Cqdate[1], $Cqdate[2], $Cqdate[0]));
    +	}
    +
    +echo "VICIDIAL: In-Group Fronter-Closer Stats                      $NOW_TIME\n";
    +
    +echo "\n";
    +echo "---------- TOTALS FOR $query_date_BEGIN to $query_date_END\n";
    +
    +$stmt="select count(*) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "' and status = 'SALE';";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +$A1_points = ($row[0] * 1);
    +$A1_points =	sprintf("%10s", $A1_points);
    +$A1_tally =	sprintf("%10s", $row[0]);
    +
    +$TOT_tally = ($A1_tally + $A2_tally + $A3_tally + $A4_tally);
    +$TOT_points = ($A1_points + $A2_points + $A3_points + $A4_points);
    +$TOT_tally =	sprintf("%10s", $TOT_tally);
    +$TOT_points =	sprintf("%10s", $TOT_points);
    +
    +echo "STATUS   CUSTOMERS\n";
    +echo "SALES:   $A1_tally\n";
    +
    +echo "\n";
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +##############################
    +#########  FRONTER STATS
    +
    +$TOTagents=0;
    +$TOTcalls=0;
    +$TOTsales=0;
    +$totA1=0;
    +$totA2=0;
    +$totA3=0;
    +$totA4=0;
    +$totA5=0;
    +$totA6=0;
    +$totA7=0;
    +$totA8=0;
    +$totA9=0;
    +$totDROP=0;
    +$totOTHER=0;
    +
    +echo "\n";
    +echo "---------- FRONTER STATS\n";
    +echo "+--------------------------+-------+--------+--------+------+------+------+\n";
    +echo "| AGENT                    |SUCCESS| XFERS  |SUCCESS%| SALE | DROP |OTHER |\n";
    +echo "+--------------------------+-------+--------+--------+------+------+------+\n";
    +
    +#$stmt="select vicidial_xfer_log.user,full_name,count(*) from vicidial_xfer_log,vicidial_users where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' and vicidial_xfer_log.user is not null and vicidial_xfer_log.user=vicidial_users.user group by vicidial_xfer_log.user;";
    +$stmt="select user,count(distinct lead_id) from vicidial_xfer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' and user is not null group by user;";
    +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$users_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $users_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +
    +	$TOTcalls = ($TOTcalls + $row[1]);
    +
    +	$userRAW[$i]=$row[0];
    +	$user[$i] =	sprintf("%-6s", $row[0]);while(strlen($user[$i])>6) {$user[$i] = substr("$user[$i]", 0, -1);}
    +	$USERcallsRAW[$i] =	$row[1];
    +	$USERcalls[$i] =	sprintf("%6s", $row[1]);
    +
    +	$i++;
    +	}
    +
    +$i=0;
    +while ($i < $users_to_print)
    +	{
    +	$stmt="select full_name from vicidial_users where user='$userRAW[$i]';";
    +	if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$names_to_print = mysql_num_rows($rslt);
    +	if ($names_to_print > 0)
    +		{
    +		$row=mysql_fetch_row($rslt);
    +		if ($non_latin < 1)
    +			{
    +			 $full_name[$i] =	sprintf("%-15s", $row[0]); while(strlen($full_name[$i])>15) {$full_name[$i] = substr("$full_name[$i]", 0, -1);}	
    +			}
    +		else
    +			{
    +			 $full_name[$i] =	sprintf("%-45s", $row[0]); while(mb_strlen($full_name[$i],'utf-8')>15) {$full_name[$i] = mb_substr("$full_name[$i]", 0, -1,'utf-8');}	
    +			}
    +		}
    +	else
    +		{$full_name[$i] = '               ';}
    +
    +	$A1=0; $A2=0; $A3=0; $A4=0; $A5=0; $A6=0; $A7=0; $A8=0; $A9=0; $DROP=0; $OTHER=0; $sales=0; 
    +	$stmt="select vc.status,count(distinct vc.lead_id) from vicidial_xfer_log vx, vicidial_closer_log vc where vx.call_date >= '$query_date_BEGIN' and vx.call_date <= '$query_date_END' and vc.call_date >= '$query_date_BEGIN' and vc.call_date <= '$query_date_END' and  vc.campaign_id='" . mysql_real_escape_string($group) . "' and vx.campaign_id='" . mysql_real_escape_string($group) . "' and vx.user='$userRAW[$i]' and vc.lead_id=vx.lead_id and vc.xfercallid=vx.xfercallid group by vc.status;";
    +	if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$lead_ids_to_print = mysql_num_rows($rslt);
    +	$j=0;
    +	while ($j < $lead_ids_to_print)
    +		{
    +		$row=mysql_fetch_row($rslt);
    +		$recL=0;
    +		if ( ($row[0]=='SALE') and ($recL < 1) ) {$A1=$row[1]; $recL++; $sales=($sales + $row[1]);}
    +	#	if ( ($row[0]=='A2') and ($recL < 1) ) {$A2=$row[1]; $recL++; $sales=($sales + $row[1]);}
    +	#	if ( ($row[0]=='A3') and ($recL < 1) ) {$A3=$row[1]; $recL++; $sales=($sales + $row[1]);}
    +	#	if ( ($row[0]=='A4') and ($recL < 1) ) {$A4=$row[1]; $recL++; $sales=($sales + $row[1]);}
    +	#	if ( ($row[0]=='A5') and ($recL < 1) ) {$A5=$row[1]; $recL++;}
    +	#	if ( ($row[0]=='A6') and ($recL < 1) ) {$A6=$row[1]; $recL++;}
    +	#	if ( ($row[0]=='A7') and ($recL < 1) ) {$A7=$row[1]; $recL++;}
    +	#	if ( ($row[0]=='A8') and ($recL < 1) ) {$A8=$row[1]; $recL++;}
    +	#	if ( ($row[0]=='A9') and ($recL < 1) ) {$A9=$row[1]; $recL++;}
    +		if ( ($row[0]=='DROP') and ($recL < 1) ) {$DROP=$row[1]; $recL++;}
    +		if ($recL < 1) {$OTHER=($row[1] + $OTHER); $recL++;}
    +		$j++;
    +		}
    +
    +	$totA1 = ($totA1 + $A1);
    +	$totA2 = ($totA2 + $A2);
    +	$totA3 = ($totA3 + $A3);
    +	$totA4 = ($totA4 + $A4);
    +	$totA5 = ($totA5 + $A5);
    +	$totA6 = ($totA6 + $A6);
    +	$totA7 = ($totA7 + $A7);
    +	$totA8 = ($totA8 + $A8);
    +	$totA9 = ($totA9 + $A9);
    +	$totDROP = ($totDROP + $DROP);
    +	$totOTHER = ($totOTHER + $OTHER);
    +	$TOTsales = ($TOTsales + $sales);
    +
    +	if ( ($USERcallsRAW[$i] > 0) and ($sales > 0) ) {$Spct = ( ($sales / $USERcallsRAW[$i]) * 100);}
    +		else {$Spct=0;}
    +	$Spct = round($Spct, 2);
    +	$Spct =	sprintf("%01.2f", $Spct);
    +	
    +
    +	$A1 =	sprintf("%4s", $A1);
    +	$A2 =	sprintf("%4s", $A2);
    +	$A3 =	sprintf("%4s", $A3);
    +	$A4 =	sprintf("%4s", $A4);
    +	$A5 =	sprintf("%4s", $A5);
    +	$A6 =	sprintf("%4s", $A6);
    +	$A7 =	sprintf("%4s", $A7);
    +	$A8 =	sprintf("%4s", $A8);
    +	$A9 =	sprintf("%4s", $A9);
    +	$DROP =	sprintf("%4s", $DROP);
    +	$OTHER =	sprintf("%4s", $OTHER);
    +	$sales =	sprintf("%5s", $sales);
    +	$Spct =	sprintf("%6s", $Spct);
    +
    +	echo "| $user[$i] - $full_name[$i] | $sales | $USERcalls[$i] | $Spct%| $A1 | $DROP | $OTHER |\n";
    +
    +	$i++;
    +	}
    +
    +
    +if ( ($TOTcalls > 0) and ($TOTsales > 0) ) {$totSpct = ( ($TOTsales / $TOTcalls) * 100);}
    +	else {$totSpct=0;}
    +$totSpct = round($totSpct, 2);
    +$totSpct =	sprintf("%01.2f", $totSpct);
    +$totSpct =	sprintf("%6s", $totSpct);
    +	
    +$TOTagents =	sprintf("%6s", $i);
    +$TOTcalls =		sprintf("%6s", $TOTcalls);
    +$TOTsales =		sprintf("%5s", $TOTsales);
    +$totA1 =		sprintf("%5s", $totA1);
    +$totA2 =		sprintf("%5s", $totA2);
    +$totA3 =		sprintf("%5s", $totA3);
    +$totA4 =		sprintf("%5s", $totA4);
    +$totA5 =		sprintf("%5s", $totA5);
    +$totA6 =		sprintf("%5s", $totA6);
    +$totA7 =		sprintf("%5s", $totA7);
    +$totA8 =		sprintf("%5s", $totA8);
    +$totA9 =		sprintf("%5s", $totA9);
    +$totDROP =		sprintf("%5s", $totDROP);
    +$totOTHER =		sprintf("%5s", $totOTHER);
    +
    +
    +$stmt="select avg(queue_seconds) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and campaign_id='" . mysql_real_escape_string($group) . "';";
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$row=mysql_fetch_row($rslt);
    +
    +$AVGwait = $row[0];
    +$AVGwait_M = ($AVGwait / 60);
    +$AVGwait_M = round($AVGwait_M, 2);
    +$AVGwait_M_int = intval("$AVGwait_M");
    +$AVGwait_S = ($AVGwait_M - $AVGwait_M_int);
    +$AVGwait_S = ($AVGwait_S * 60);
    +$AVGwait_S = round($AVGwait_S, 0);
    +if ($AVGwait_S < 10) {$AVGwait_S = "0$AVGwait_S";}
    +$AVGwait_MS = "$AVGwait_M_int:$AVGwait_S";
    +$AVGwait =		sprintf("%6s", $AVGwait_MS);
    +
    +
    +echo "+--------------------------+-------+--------+--------+------+------+------+\n";
    +echo "| TOTAL FRONTERS: $TOTagents   | $TOTsales | $TOTcalls | $totSpct%|$totA1 |$totDROP |$totOTHER |\n";
    +echo "+--------------------------+-------+--------+--------+------+------+------+\n";
    +echo "|                          Average time in Queue for customers:    $AVGwait |\n";
    +echo "+--------------------------+-------+--------+--------+------+------+------+\n";
    +
    +
    +
    +
    +
    +##############################
    +#########  CLOSER STATS
    +
    +$TOTagents=0;
    +$TOTcalls=0;
    +$totA1=0;
    +$totA2=0;
    +$totA3=0;
    +$totA4=0;
    +$totA5=0;
    +$totA6=0;
    +$totA7=0;
    +$totA8=0;
    +$totA9=0;
    +$totDROP=0;
    +$totOTHER=0;
    +$TOTsales=0;
    +
    +echo "\n";
    +echo "---------- CLOSER STATS\n";
    +echo "+--------------------------+--------+------+------+------+------+-------+\n";
    +echo "| AGENT                    | CALLS  | SALE | DROP |OTHER | SALE | CONV %|\n";
    +echo "+--------------------------+--------+------+------+------+------+-------+\n";
    +
    +$stmt="select user,count(*) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' and user is not null group by user;";
    +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
    +$rslt=mysql_query($stmt, $link);
    +if ($DB) {echo "$stmt\n";}
    +$users_to_print = mysql_num_rows($rslt);
    +$i=0;
    +while ($i < $users_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +
    +	$TOTcalls = ($TOTcalls + $row[1]);
    +	$userRAW[$i]=$row[0];
    +	$user[$i] =	sprintf("%-6s", $row[0]);while(strlen($user[$i])>6) {$user[$i] = substr("$user[$i]", 0, -1);}
    +	$USERcalls[$i] =	sprintf("%6s", $row[1]);
    +	$USERcallsRAW[$i] =	$row[1];
    +
    +	$i++;
    +	}
    +
    +$i=0;
    +while ($i < $users_to_print)
    +	{
    +	$stmt="select full_name from vicidial_users where user='$userRAW[$i]';";
    +	if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$names_to_print = mysql_num_rows($rslt);
    +	if ($names_to_print > 0)
    +		{
    +		$row=mysql_fetch_row($rslt);
    +		if ($non_latin < 1)
    +			{
    +			 $full_name[$i] =	sprintf("%-15s", $row[0]); while(strlen($full_name[$i])>15) {$full_name[$i] = substr("$full_name[$i]", 0, -1);}	
    +			}
    +		else
    +			{
    +			 $full_name[$i] =	sprintf("%-45s", $row[0]); while(mb_strlen($full_name[$i],'utf-8')>15) {$full_name[$i] = mb_substr("$full_name[$i]", 0, -1,'utf-8');}	
    +			}
    +		}
    +	else
    +		{$full_name[$i] = '               ';}
    +
    +	$A1=0; $A2=0; $A3=0; $A4=0; $A5=0; $A6=0; $A7=0; $A8=0; $A9=0; $DROP=0; $OTHER=0; $sales=0; $uTOP=0; $uBOT=0; $points=0;
    +	$stmt="select status,count(*) from vicidial_closer_log where call_date >= '$query_date_BEGIN' and call_date <= '$query_date_END' and  campaign_id='" . mysql_real_escape_string($group) . "' and user='$userRAW[$i]' group by status;";
    +	if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");}
    +	$rslt=mysql_query($stmt, $link);
    +	if ($DB) {echo "$stmt\n";}
    +	$lead_ids_to_print = mysql_num_rows($rslt);
    +	$j=0;
    +	while ($j < $lead_ids_to_print)
    +		{
    +		$row=mysql_fetch_row($rslt);
    +		$recL=0;
    +		if ( ($row[0]=='SALE') and ($recL < 1) ) 
    +			{
    +			$A1=$row[1]; $recL++; 
    +			$sales=($sales + $row[1]);
    +			$points = ($points + ($row[1] * 1) );
    +			}
    +		if ( ($row[0]=='A2') and ($recL < 1) ) 
    +			{
    +			$A2=$row[1]; $recL++; 
    +			$sales=($sales + $row[1]); 
    +			$uTOP=($uTOP + $row[1]);
    +			$points = ($points + ($row[1] * 2) );
    +			}
    +		if ( ($row[0]=='A3') and ($recL < 1) ) 
    +			{
    +			$A3=$row[1]; $recL++; 
    +			$sales=($sales + $row[1]); 
    +			$uBOT=($uBOT + $row[1]);
    +			$points = ($points + ($row[1] * 2) );
    +			}
    +		if ( ($row[0]=='A4') and ($recL < 1) ) 
    +			{
    +			$A4=$row[1]; $recL++; 
    +			$sales=($sales + $row[1]); 
    +			$uTOP=($uTOP + $row[1]); 
    +			$uBOT=($uBOT + $row[1]);
    +			$points = ($points + ($row[1] * 3) );
    +			}
    +#		if ( ($row[0]=='A5') and ($recL < 1) ) {$A5=$row[1]; $recL++;}
    +#		if ( ($row[0]=='A6') and ($recL < 1) ) {$A6=$row[1]; $recL++;}
    +#		if ( ($row[0]=='A7') and ($recL < 1) ) {$A7=$row[1]; $recL++;}
    +#		if ( ($row[0]=='A8') and ($recL < 1) ) {$A8=$row[1]; $recL++;}
    +#		if ( ($row[0]=='A9') and ($recL < 1) ) {$A9=$row[1]; $recL++;}
    +		if ( ($row[0]=='DROP') and ($recL < 1) ) {$DROP=$row[1]; $recL++;}
    +		if ($recL < 1) {$OTHER=($row[1] + $OTHER); $recL++;}
    +		
    +		$j++;
    +		}
    +
    +	$totA1 = ($totA1 + $A1);	$TOTsales = ($TOTsales + $A1);
    +	$totA2 = ($totA2 + $A2);	$TOTsales = ($TOTsales + $A2);	$totTOP = ($totTOP + $A2);
    +	$totA3 = ($totA3 + $A3);	$TOTsales = ($TOTsales + $A3);	$totBOT = ($totBOT + $A3);
    +	$totA4 = ($totA4 + $A4);	$TOTsales = ($TOTsales + $A4);	$totTOP = ($totTOP + $A4);	$totBOT = ($totBOT + $A4);
    +	$totA5 = ($totA5 + $A5);
    +	$totA6 = ($totA6 + $A6);
    +	$totA7 = ($totA7 + $A7);
    +	$totA8 = ($totA8 + $A8);
    +	$totA9 = ($totA9 + $A9);
    +	$totDROP = ($totDROP + $DROP);
    +	$totOTHER = ($totOTHER + $OTHER);
    +	$totPOINTS = ($totPOINTS + $points);
    +
    +	if ( ($USERcallsRAW[$i] > 0) and ($sales > 0) ) {$Cpct = ( ($sales / ( ($USERcallsRAW[$i] - 0) - $DROP) ) * 100);}
    +		else {$Cpct=0;}
    +	$Cpct = round($Cpct, 2);
    +	$Cpct =	sprintf("%01.2f", $Cpct);
    +	$Cpct =	sprintf("%6s", $Cpct);
    +
    +	if ( ($sales > 0) and ($uTOP > 0) ) {$TOP = ( ($uTOP / $sales) * 100);}
    +		else {$TOP=0;}
    +	$TOP = round($TOP, 0);
    +	$TOP =	sprintf("%01.0f", $TOP);
    +	$TOP =	sprintf("%3s", $TOP);
    +
    +	if ( ($sales > 0) and ($uBOT > 0) ) {$BOT = ( ($uBOT / $sales) * 100);}
    +		else {$BOT=0;}
    +	$BOT = round($BOT, 0);
    +	$BOT =	sprintf("%01.0f", $BOT);
    +	$BOT =	sprintf("%3s", $BOT);
    +
    +	if ( ($USERcallsRAW[$i] > 0) and ($points > 0) ) {$ppc = ($points / ( ($USERcallsRAW[$i] - 0) - $DROP) );}
    +		else {$ppc=0;}
    +	$ppc = round($ppc, 2);
    +	$ppc =	sprintf("%01.2f", $ppc);
    +	$ppc =	sprintf("%4s", $ppc);
    +
    +
    +	$A1 =	sprintf("%4s", $A1);
    +	$A2 =	sprintf("%4s", $A2);
    +	$A3 =	sprintf("%4s", $A3);
    +	$A4 =	sprintf("%4s", $A4);
    +	$A5 =	sprintf("%4s", $A5);
    +	$A6 =	sprintf("%4s", $A6);
    +	$A7 =	sprintf("%4s", $A7);
    +	$A8 =	sprintf("%4s", $A8);
    +	$A9 =	sprintf("%4s", $A9);
    +	$DROP =	sprintf("%4s", $DROP);
    +	$OTHER =	sprintf("%4s", $OTHER);
    +	$sales =	sprintf("%4s", $sales);
    +
    +	echo "| $user[$i] - $full_name[$i] | $USERcalls[$i] | $A1 | $DROP | $OTHER | $sales |$Cpct%|\n";
    +
    +	$i++;
    +	}
    +
    +
    +if ( ($TOTcalls > 0) and ($TOTsales > 0) ) {$totCpct = ( ($TOTsales / ( ($TOTcalls - 0) - $totDROP) ) * 100);}
    +	else {$totCpct=0;}
    +$totCpct = round($totCpct, 2);
    +$totCpct =	sprintf("%01.2f", $totCpct);
    +$totCpct =	sprintf("%6s", $totCpct);
    +		
    +if ( ($TOTcalls > 0) and ($totPOINTS > 0) ) {$ppc = ($totPOINTS / ( ($TOTcalls - $totOTHER) - $totDROP) );}
    +	else {$ppc=0;}
    +$ppc = round($ppc, 2);
    +$ppc =	sprintf("%01.2f", $ppc);
    +$ppc =	sprintf("%4s", $ppc);
    +		
    +if ( ($TOTsales > 0) and ($totTOP > 0) ) {$TOP = ( ($totTOP / $TOTsales) * 100);}
    +	else {$TOP=0;}
    +$TOP = round($TOP, 0);
    +$TOP =	sprintf("%01.0f", $TOP);
    +$TOP =	sprintf("%3s", $TOP);
    +
    +if ( ($TOTsales > 0) and ($totBOT > 0) ) {$BOT = ( ($totBOT / $TOTsales) * 100);}
    +	else {$BOT=0;}
    +$BOT = round($BOT, 0);
    +$BOT =	sprintf("%01.0f", $BOT);
    +$BOT =	sprintf("%3s", $BOT);
    +
    +$TOTagents =	sprintf("%6s", $i);
    +$TOTcalls =		sprintf("%6s", $TOTcalls);
    +$totA1 =		sprintf("%5s", $totA1);
    +$totA2 =		sprintf("%5s", $totA2);
    +$totA3 =		sprintf("%5s", $totA3);
    +$totA4 =		sprintf("%5s", $totA4);
    +$totA5 =		sprintf("%5s", $totA5);
    +$totA6 =		sprintf("%5s", $totA6);
    +$totA7 =		sprintf("%5s", $totA7);
    +$totA8 =		sprintf("%5s", $totA8);
    +$totA9 =		sprintf("%5s", $totA9);
    +$totDROP =		sprintf("%5s", $totDROP);
    +$totOTHER =		sprintf("%5s", $totOTHER);
    +$TOTsales =		sprintf("%5s", $TOTsales);
    +
    +echo "+--------------------------+--------+------+------+------+------+-------+\n";
    +echo "| TOTAL CLOSERS:  $TOTagents   | $TOTcalls |$totA1 |$totDROP |$totOTHER |$TOTsales |$totCpct%|\n";
    +echo "+--------------------------+--------+------+------+------+------+-------+\n";
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +$ENDtime = date("U");
    +$RUNtime = ($ENDtime - $STARTtime);
    +if ($DB) {echo "\nRun Time: $RUNtime seconds\n";}
    +}
    +
    +
    +
    +
    +
    +?>
    +
    +
    + + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/group_hourly_stats.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/group_hourly_stats.php new file mode 100644 index 00000000..4c2086c1 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/group_hourly_stats.php @@ -0,0 +1,274 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 60620-1014 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 90310-2138 - Added admin header +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["date_with_hour"])) {$date_with_hour=$_GET["date_with_hour"];} + elseif (isset($_POST["date_with_hour"])) {$date_with_hour=$_POST["date_with_hour"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$date_with_hour_default = date("Y-m-d H"); +$date_no_hour_default = $TODAY; + +if (!isset($date_with_hour)) {$date_with_hour = $date_with_hour_default;} + $date_no_hour = $date_with_hour; + $date_no_hour = eregi_replace(" ([0-9]{2})",'',$date_no_hour); +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + +# $stmt="SELECT full_name from vicidial_users where user='$user';"; +# $rslt=mysql_query($stmt, $link); +# $row=mysql_fetch_row($rslt); +# $full_name = $row[0]; + + } + + + + +?> + + + +VICIDIAL ADMIN: Group Hourly Stats +<? + +##### BEGIN Set variables to make header show properly ##### +$ADD = '311111'; +$hh = 'usergroups'; +$LOGast_admin_access = '1'; +$ADMIN = 'admin.php'; +$page_width='770'; +$section_width='750'; +$header_font_size='3'; +$subheader_font_size='2'; +$subcamp_font_size='2'; +$header_selected_bold='<b>'; +$header_nonselected_bold=''; +$usergroups_color = '#FFFF99'; +$usergroups_font = 'BLACK'; +$usergroups_color = '#E6E6E6'; +$subcamp_color = '#C6C6C6'; +##### END Set variables to make header show properly ##### + +require("admin_header.php"); + +?> + + +<CENTER> +<TABLE WIDTH=620 BGCOLOR=#D9E6FE cellpadding=2 cellspacing=0><TR BGCOLOR=#015B91><TD ALIGN=LEFT><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>   Group Hourly Stats <? echo $group ?></TD><TD ALIGN=RIGHT><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>   </TD></TR> + + + + +<? + +if ( ($group) and ($status) and ($date_with_hour) ) +{ +$stmt="SELECT user,full_name from vicidial_users where user_group = '" . mysql_real_escape_string($group) . "' order by full_name desc;"; + if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); +$tsrs_to_print = mysql_num_rows($rslt); + $o=0; + while($o < $tsrs_to_print) + { + $row=mysql_fetch_row($rslt); + $VDuser[$o] = "$row[0]"; + $VDname[$o] = "$row[1]"; + $o++; + } + + $o=0; + while($o < $tsrs_to_print) + { + $stmt="select count(*) from vicidial_log where call_date >= '" . mysql_real_escape_string($date_with_hour) . ":00:00' and call_date <= '" . mysql_real_escape_string($date_with_hour) . ":59:59' and user='$VDuser[$o]';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VDtotal[$o] = "$row[0]"; + + $stmt="select count(*) from vicidial_log where call_date >= '" . mysql_real_escape_string($date_no_hour) . " 00:00:00' and call_date <= '" . mysql_real_escape_string($date_no_hour) . " 23:59:59' and user='$VDuser[$o]' and status='" . mysql_real_escape_string($status) . "';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VDday[$o] = "$row[0]"; + + $stmt="select count(*) from vicidial_log where call_date >= '" . mysql_real_escape_string($date_with_hour) . ":00:00' and call_date <= '" . mysql_real_escape_string($date_with_hour) . ":59:59' and user='$VDuser[$o]' and status='" . mysql_real_escape_string($status) . "';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $VDcount[$o] = "$row[0]"; + $o++; + } + +echo "<TR><TD ALIGN=LEFT COLSPAN=2>\n"; + +echo "<br><center>\n"; + +echo "<B>TSR HOUR COUNTS: <a href=\"./admin.php?ADD=3111&group_id=$group\">$group</a> | $status | $date_with_hour | $date_no_hour</B>\n"; + +echo "<center><TABLE width=600 cellspacing=0 cellpadding=1>\n"; +echo "<tr><td><font size=2>TSR </td><td align=left><font size=2>ID </td><td align=right><font size=2>   $status</td><td align=right><font size=2>   TOTAL CALLS</td><td align=right><font size=2>   $status DAY</td><td align=right><font size=2>     </td></tr>\n"; + + $day_calls=0; + $hour_calls=0; + $total_calls=0; + $o=0; + while($o < $tsrs_to_print) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo "<tr $bgcolor><td><font size=2>$VDuser[$o]</td>"; + echo "<td align=left><font size=2> $VDname[$o]</td>\n"; + echo "<td align=right><font size=2> $VDcount[$o]</td>\n"; + echo "<td align=right><font size=2> $VDtotal[$o]</td>\n"; + echo "<td align=right><font size=2> $VDday[$o]</td>\n"; + echo "<td align=right><font size=1><a href=\"./admin.php?ADD=3&user=$VDuser[$o]\">MODIFY</a> | <a href=\"./user_stats.php?user=$VDuser[$o]\">STATS</a></td></tr>\n"; + $total_calls = ($total_calls + $VDtotal[$o]); + $hour_calls = ($hour_calls + $VDcount[$o]); + $day_calls = ($day_calls + $VDday[$o]); + + $o++; + } + +echo "<tr><td><font size=2>TOTAL </td><td align=right><font size=2> $status </td><td align=right><font size=2> $hour_calls</td><td align=right><font size=2> $total_calls</td><td align=right><font size=2> $day_calls</td></tr>\n"; + + +} + +echo "</TABLE></center>\n"; +echo "<br><br>\n"; + + + echo "<br>Please enter the group you want to get hourly stats for: <form action=$PHP_SELF method=POST>\n"; + echo "<input type=hidden name=DB value=$DB>\n"; + echo "group: <select size=1 name=group>\n"; + + $stmt="SELECT * from vicidial_user_groups order by user_group"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $o=0; + $groups_list=''; + while ($groups_to_print > $o) { + $rowx=mysql_fetch_row($rslt); + if ($group == $group) + {$groups_list .= "<option selected value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n";} + else + {$groups_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n";} + $o++; + } + echo "$groups_list</select><br>\n"; + echo "status: <input type=text name=status size=10 maxlength=10 value=\"$status\">   (example: XFER)<br>\n"; + echo "date with hour: <input type=text name=date_with_hour size=14 maxlength=13 value=\"$date_with_hour\">   (example: 2004-06-25 14)<br>\n"; + echo "<input type=submit name=submit value=SUBMIT>\n"; + echo "<BR><BR><BR>\n"; + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n<br><br><br>\n\n"; + + +echo "<font size=0>\n\n\n<br><br><br>\nscript runtime: $RUNtime seconds</font>"; + + +?> + + +</TD></TR></TABLE> +</body> +</html> + +<? + +exit; + + + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/help.gif b/agc_2-X/branches/agc_2.0.5/www/vicidial/help.gif new file mode 100644 index 0000000000000000000000000000000000000000..5575d7c8761954a943a67f99265cc408edfeca37 GIT binary patch literal 492 zcmV<I0Tcd5Nk%w1VH5xq0M$PLeSLc$OnKAd`Kz(HQ&Us?{QP8OWU8sDlarEKT3W~5 z`-6glU|?WLNl7p;FZTBK`uh6v^77W!)z8k&%gf8SxVXc^!3_-!oST}tyS@JY|G>@K zrlzK7XlVcc{(zdZkfy!h=k1@f#?ad1KW2>Z^Y)^mqV4VLXlQ0|jj7+?-?g=~@9*#a z|NoMak9c=?>FMXq%*)5e#og%my1BWCh=?#*gAYJ&zrMYsqoV%*{r~>|{{H^||Nj6p zX13G(A^8LW002J#EC2ui02BZe000L6z@KnPEE<W5LC0~qI64QxQAkS=YBWhK_i7Mm z3L}SMdgxlcUIB(%7&t{5Bc{`ZKp#-3K0z2NLjnmL1w0}?h=?f~5EcLlQa=L(1wA2% zHzYTR8#@me4Ff_Q2s}L?h$A~Ch#zS<C>=r$6g+ktoje(cAZZc{4nh|!Jvux)X@@=m zC21-y7sABGX&Z<(B|AJC&(S}$JRWB|DXBdgJUkNs!9S#?9v(X*xM}G+D<}p+2b5_V z8b~1O;i1q87Yz;w5oDsk4s-&2^x#n-!huJTe#ntg$k2xm+8(U%L!-zT3@08O+Yv#+ i0XJ}rR3Wh7fCU;Dx+Ew$Wrh+7CQhJ)nL_kP5CA(E_TC-< literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/high_pitch.mid b/agc_2-X/branches/agc_2.0.5/www/vicidial/high_pitch.mid new file mode 100644 index 0000000000000000000000000000000000000000..40b32750a630e3b9f4ec80e5c1518c6e73af5dde GIT binary patch literal 832 zcmdtfy-LGS7{>9ZNo{Juy<^uRsIybRxr35Hmk_~#QcERukF>o2NqZsToO1z1y%16F z<M<B_Vpk^}9`YnV-n{u3CD&JyI;5q|C@IELI8;55YOZa%a#Tlsku23xpCv;z)F;V@ zJIT%cZ7v`5PNtK)=`1e>$MUV+vwU({jAzZsX&COs^5^Y#(C^A$1fB&sVSC-_tB!_x zRjj%f>oF_kFo!wJMf>`|9Ja<RW-*Id>>ab%3Nx6&3}&JOy<rBcviRr$Uy=oxXY5H! yt;vd1Db8_87G$1&Jx8;zxo?$~Tl3}CJpN-IXYNnW^FH6-=O4b`FaM7}ls*By2M`|s literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/list_download.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/list_download.php new file mode 100644 index 00000000..acd472d6 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/list_download.php @@ -0,0 +1,130 @@ +<? +# list_download.php +# +# downloads the entire contents of a vicidial list ID to a flat text file +# that is tab delimited +# +# Copyright (C) 2009 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 +# +# CHANGES +# +# 90209-1310 - First build +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +if (strlen($shift)<2) {$shift='ALL';} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and download_lists='1';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { +# Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); +# Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password or no list download permission: |$PHP_AUTH_USER|\n"; + exit; + } + +$stmt="select count(*) from vicidial_list where list_id='$list_id';"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$count_to_print = mysql_num_rows($rslt); +if ($count_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $leads_count =$row[0]; + $i++; + } + +if ($leads_count < 1) + { + echo "There are no leads in list_id: $list_id\n"; + exit; + } + +$US='_'; +$MT[0]=''; +$ip = getenv("REMOTE_ADDR"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_TIME = date("Ymd-His"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} + +### LOG INSERTION Admin Log Table ### +$SQL_log = "$stmt|$stmtA|"; +$SQL_log = ereg_replace(';','',$SQL_log); +$SQL_log = addslashes($SQL_log); +$stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='EXPORT', record_id='$list_id', event_code='ADMIN EXPORT LIST', event_sql=\"$SQL_log\", event_notes='';"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); + + +$TXTfilename = "LIST_$list_id$US$FILE_TIME.txt"; + +// We'll be outputting a TXT file +header('Content-type: application/octet-stream'); + +// It will be called LIST_101_20090209-121212.txt +header("Content-Disposition: attachment; filename=\"$TXTfilename\""); +header('Expires: 0'); +header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); +header('Pragma: public'); +ob_clean(); +flush(); + +$stmt="select * from vicidial_list where list_id='$list_id';"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$leads_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $leads_to_print) + { + $row=mysql_fetch_row($rslt); + + echo "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$row[4]\t$row[5]\t$row[6]\t$row[7]\t$row[8]\t$row[9]\t$row[10]\t$row[11]\t$row[12]\t$row[13]\t$row[14]\t$row[15]\t$row[16]\t$row[17]\t$row[18]\t$row[19]\t$row[20]\t$row[21]\t$row[22]\t$row[23]\t$row[24]\t$row[25]\t$row[26]\t$row[27]\t$row[28]\t$row[29]\t$row[30]\t$row[31]\r\n"; + + $i++; + } + +exit; + +?> \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/listloader.pl b/agc_2-X/branches/agc_2.0.5/www/vicidial/listloader.pl new file mode 100644 index 00000000..b8f9e064 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/listloader.pl @@ -0,0 +1,1102 @@ +#!/usr/bin/perl +# +# listloader.pl version 2.0.5 +# +# Copyright (C) 2008 Matt Florell,Joe Johnson <vicidial@gmail.com> LICENSE: AGPLv2 +# +# +# CHANGES +# 60616-1548 - Added listID override feature to force all leads into same list +# - Added gmt_offset_now lookup for each lead +# 60811-1232 - Changed to DBI +# 60811-1329 - changed to use /etc/astguiclient.conf for configs +# 60822-1121 - fixed for nonwritable directories +# 60906-1058 - added filter of non-digits in alt_phone field +# 61110-1229 - added new USA-Canada DST scheme and Brazil DST scheme +# 61128-1215 - added postal code GMT lookup and duplicate check options +# 70205-1703 - Defaulted phone_code to 1 if not populated +# 70417-1059 - Fixed default phone_code bug +# 70510-1518 - Added campaign and system duplicate check and phonecode override +# 80428-0144 - UTF8 cleanup +# 80713-0023 - added last_local_call_time field default of 2008-01-01 +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n [-forcelistid=1234] = overrides the listID given in the file with the 1234\n [-h] = this help screen\n\n"; + + exit; + } + else + { + if ($args =~ /-duplicate-check/i) + {$dupcheck=1;} + if ($args =~ /-duplicate-campaign-check/i) + {$dupcheckcamp=1;} + if ($args =~ /-duplicate-system-check/i) + {$dupchecksys=1;} + if ($args =~ /-postal-code-gmt/i) + {$postalgmt=1;} + if ($args =~ /--forcelistid=/i) + { + @data_in = split(/--forcelistid=/,$args); + $forcelistid = $data_in[1]; + $forcelistid =~ s/ .*//gi; + print "\n----- FORCE LISTID OVERRIDE: $forcelistid -----\n\n"; + } + else + {$forcelistid = '';} + + if ($args =~ /--forcephonecode=/i) + { + @data_in = split(/--forcephonecode=/,$args); + $forcephonecode = $data_in[1]; + $forcephonecode =~ s/ .*//gi; + print "\n----- FORCE PHONECODE OVERRIDE: $forcephonecode -----\n\n"; + } + else + {$forcephonecode = '';} + + if ($args =~ /--lead-file=/i) + { + @data_in = split(/--lead-file=/,$args); + $lead_file = $data_in[1]; + $lead_file =~ s/ .*//gi; + # print "\n----- LEAD FILE: $lead_file -----\n\n"; + } + else + {$lead_file = './vicidial_temp_file.xls';} + } +} +### end parsing run-time options ### + + +use Spreadsheet::ParseExcel; +use Time::Local; +use DBI; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = <conf>; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +$|=0; +$secX = time(); + +($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); +$year = ($year + 1900); +$mon++; +if ($hour < 10) {$hour = "0$hour";} +if ($min < 10) {$min = "0$min";} +if ($sec < 10) {$sec = "0$sec";} +if ($mon < 10) {$mon = "0$mon";} +if ($mday < 10) {$mday = "0$mday";} +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$pulldate="$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmtA = "SELECT use_non_latin FROM system_settings;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $non_latin = "$aryA[0]"; + } +$sthA->finish(); +##### END SETTINGS LOOKUP ##### +########################################### + + +if ($non_latin > 0) {$affected_rows = $dbhA->do("SET NAMES 'UTF8'");} + + ### Grab Server values from the database + $stmtA = "SELECT local_gmt FROM servers where server_ip = '$server_ip';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $DBSERVER_GMT = "$aryA[0]"; + if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;} + $rec_count++; + } + $sthA->finish(); + + $LOCAL_GMT_OFF = $SERVER_GMT; + $LOCAL_GMT_OFF_STD = $SERVER_GMT; + +if ($isdst) {$LOCAL_GMT_OFF++;} +if ($DB) {print "SEED TIME $secX : $year-$mon-$mday $hour:$min:$sec LOCAL GMT OFFSET NOW: $LOCAL_GMT_OFF\n";} + + + +$total=0; $good=0; $bad=0; +print "<center><font face='arial, helvetica' size=3 color='#009900'><B>Processing Excel file...\n"; +open(STMT_FILE, "> $PATHlogs/listloader_stmts.txt"); + +$oBook = Spreadsheet::ParseExcel::Workbook->Parse("$lead_file"); +my($iR, $iC, $oWkS, $oWkC); + +foreach $oWkS (@{$oBook->{Worksheet}}) { + for($iR = 0 ; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++) { + + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user = ""; + $oWkC = $oWkS->{Cells}[$iR][0]; + if ($oWkC) {$vendor_lead_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][1]; + if ($oWkC) {$source_code=$oWkC->Value; } + $source_id=$source_code; + $oWkC = $oWkS->{Cells}[$iR][2]; + if ($oWkC) {$list_id=$oWkC->Value; } + $gmt_offset = '0'; + $called_since_last_reset='N'; + $oWkC = $oWkS->{Cells}[$iR][3]; + if ($oWkC) {$phone_code=$oWkC->Value; } + $phone_code=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][4]; + if ($oWkC) {$phone_number=$oWkC->Value; } + $phone_number=~s/[^0-9]//g; + $USarea = substr($phone_number, 0, 3); + $oWkC = $oWkS->{Cells}[$iR][5]; + if ($oWkC) {$title=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][6]; + if ($oWkC) {$first_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][7]; + if ($oWkC) {$middle_initial=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][8]; + if ($oWkC) {$last_name=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][9]; + if ($oWkC) {$address1=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][10]; + if ($oWkC) {$address2=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][11]; + if ($oWkC) {$address3=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][12]; + if ($oWkC) {$city=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][13]; + if ($oWkC) {$state=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][14]; + if ($oWkC) {$province=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][15]; + if ($oWkC) {$postal_code=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][16]; + if ($oWkC) {$country=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][17]; + if ($oWkC) {$gender=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][18]; + if ($oWkC) {$date_of_birth=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][19]; + if ($oWkC) {$alt_phone=$oWkC->Value; } + $alt_phone=~s/[^0-9]//g; + $oWkC = $oWkS->{Cells}[$iR][20]; + if ($oWkC) {$email=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][21]; + if ($oWkC) {$security_phrase=$oWkC->Value; } + $oWkC = $oWkS->{Cells}[$iR][22]; + if ($oWkC) {$comments=$oWkC->Value; } + $comments=~s/^\s*(.*?)\s*$/$1/; + + if (length($forcelistid) > 0) + { + $list_id = $forcelistid; # set list_id to override value + } + if (length($forcephonecode) > 0) + { + $phone_code = $forcephonecode; # set phone_code to override value + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if ($dupchecksys > 0) + { + $dup_lead=0; + $stmtA = "select count(*) from vicidial_list where phone_number='$phone_number';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead = $aryA[0]; + $dup_lead_list=$list_id; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if ($dupcheck > 0) + { + $dup_lead=0; + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id='$list_id' limit 1;"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + if ($sthArows > 0) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = $aryA[0]; + $dup_lead++; + } + $sthA->finish(); + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if ($dupcheckcamp > 0) + { + $dup_lead=0; + $dup_lists=''; + + $stmtA = "select count(*) from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $ci_recs = $aryA[0]; + $sthA->finish(); + if ($ci_recs > 0) + { + $stmtA = "select campaign_id from vicidial_lists where list_id='$list_id';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + @aryA = $sthA->fetchrow_array; + $dup_camp = $aryA[0]; + $sthA->finish(); + + $stmtA = "select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lists .= "'$aryA[0]',"; + $rec_count++; + } + $sthA->finish(); + + chop($dup_lists); + $stmtA = "select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $dup_lead_list = "'$aryA[0]',"; + $rec_count++; + $dup_lead=1; + } + $sthA->finish(); + } + if ($dup_lead < 1) + { + if ($phone_list =~ /\|$phone_number$US$list_id\|/) + {$dup_lead++;} + } + } + + if ( (length($phone_number)>6) && ($dup_lead < 1) ) + { + $phone_list .= "$phone_number$US$list_id|"; + $postalgmt_found=0; + if (length($phone_code)<1) {$phone_code = '1';} + + if ( ($postalgmt > 0) && (length($postal_code)>4) ) + { + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[2]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[3]; + $dst_range = $aryA[4]; + $PC_processed++; + $rec_count++; + $postalgmt_found++; + if ($DBX) {print " Postal GMT record found for $postal_code: |$gmt_offset|$dst|$dst_range|\n";} + } + $sthA->finish(); + } + } + if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =~ /^1$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### MEXICO ### + if ($phone_code =~ /^52$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### AUSTRALIA ### + if ($phone_code =~ /^61$/) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $stmtA = "select * from vicidial_phone_codes where country_code='$phone_code';"; + if($DBX){print STDERR "\n|$stmtA|\n";} + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $gmt_offset = $aryA[4]; $gmt_offset =~ s/\+| //gi; + $dst = $aryA[5]; + $dst_range = $aryA[6]; + $PC_processed++; + $rec_count++; + } + $sthA->finish(); + } + } + + ### Find out if DST to raise the gmt offset ### + $AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); + $AC_localtime = ($secX + (3600 * $AC_GMT_diff)); + ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($AC_localtime); + $year = ($year + 1900); + $mon++; + if ($mon < 10) {$mon = "0$mon";} + if ($mday < 10) {$mday = "0$mday";} + if ($hour < 10) {$hour = "0$hour";} + if ($min < 10) {$min = "0$min";} + if ($sec < 10) {$sec = "0$sec";} + $dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + + $AC_processed=0; + + if ( (!$AC_processed) && ($dst_range =~ /SSM-FSN/) ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + &USACAN_dstcalc; + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSA-LSO/) ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + &NA_dstcalc; + if ($DBX) {print " DST: $NA_DST\n";} + if ($NA_DST) {$area_GMT++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSM-LSO/) ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + &GBR_dstcalc; + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /LSO-LSM/) ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + &AUS_dstcalc; + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-LSM/) ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + &AUST_dstcalc; + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /FSO-TSM/) ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + &NZL_dstcalc; + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + if ( (!$AC_processed) && ($dst_range =~ /TSO-LSF/) ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + &BZL_dstcalc; + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$area_GMT++;} + $AC_processed++; + } + if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00');"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00'),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 10000) {print "<BR></b><font size=1 color=red>record $total BAD- PHONE: $phone_number ROW: |$row[0]| $dup_lead_list</font><b>\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print "<script language='JavaScript1.2'>ShowProgress($good, $bad, $total, $dup_lead, $postalgmt_found)</script>"; + sleep(1); +# flush(); + } + } +} + +if ($multi_insert_counter > 0) { + $stmtZ = "INSERT INTO vicidial_list values ".substr($multistmt, 0, -1).";"; + $affected_rows = $dbhA->do($stmtZ); + print STMT_FILE $stmtZ."\r\n"; +} + +print "<BR><BR>Done</B> GOOD: $good       BAD: $bad       TOTAL: $total</font></center>"; + +exit; + + + + + + +sub USACAN_dstcalc { +#********************************************************************** +# SSM-FSN +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on Second Sunday March to First Sunday November at 2 am. +# INPUTS: +# mm INTEGER Month. +# dd INTEGER Day of the month. +# ns INTEGER Seconds into the day. +# dow INTEGER Day of week (0=Sunday, to 6=Saturday) +# OPTIONAL INPUT: +# timezone INTEGER hour difference UTC - local standard time +# (DEFAULT is blank) +# make calculations based on UTC time, +# which means shift at 10:00 UTC in April +# and 9:00 UTC in October +# OUTPUT: +# INTEGER 1 = DST, 0 = not DST +# +# S M T W T F S +# 1 2 3 4 5 6 7 +# 8 9 10 11 12 13 14 +#15 16 17 18 19 20 21 +#22 23 24 25 26 27 28 +#29 30 31 +# +# S M T W T F S +# 1 2 3 4 5 6 +# 7 8 9 10 11 12 13 +#14 15 16 17 18 19 20 +#21 22 23 24 25 26 27 +#28 29 30 31 +# +#********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 10) { + $USACAN_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; return 1; + } elsif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $USACAN_DST=0; return 0; + } else { + $USACAN_DST=1; return 1; + } + } + } else { + $USACAN_DST=0; return 0; + } + } elsif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; return 0; + } elsif ($dd < ($dow+1)) { + $USACAN_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $USACAN_DST=1; return 1; + } else { + $USACAN_DST=0; return 0; + } + } + } else { + $USACAN_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub NA_dstcalc { +#********************************************************************** +# FSA-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in April and last Sunday in October at 2 am. +#********************************************************************** + + $NA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $NA_DST=0; return 0; + } elsif ($mm >= 5 && $mm <= 9) { + $NA_DST=1; return 1; + } elsif ($mm == 4) { + if ($dd > 7) { + $NA_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 7200) { + $NA_DST=0; return 0; + } else { + $NA_DST=1; return 1; + } + } + } else { + $NA_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $NA_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $NA_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 7200) { + $NA_DST=1; return 1; + } else { + $NA_DST=0; return 0; + } + } + } else { + $NA_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub GBR_dstcalc { +#********************************************************************** +# LSM-LSO +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in March and last Sunday in October at 1 am. +#********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; return 0; + } elsif ($mm >= 4 && $mm <= 9) { + $GBR_DST=1; return 1; + } elsif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $GBR_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=0; return 0; + } else { + $GBR_DST=1; return 1; + } + } + } else { + $GBR_DST=1; return 1; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $GBR_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=1; return 1; + } else { + $GBR_DST=0; return 0; + } + } + } else { + $GBR_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub AUS_dstcalc { +#********************************************************************** +# LSO-LSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on last Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUS_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUS_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=1; return 1; + } else { + $AUS_DST=0; return 0; + } + } + } else { + $AUS_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; return 0; + } elsif ($dd < ($dow+25)) { + $AUS_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=0; return 0; + } else { + $AUS_DST=1; return 1; + } + } + } else { + $AUS_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub AUST_dstcalc { +#********************************************************************** +# FSO-LSM +# TASMANIA ONLY +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and last Sunday in March at 1 am. +#********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $AUST_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; return 1; + } elsif ($dd < ($dow+25)) { + $AUST_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUST_DST=1; return 1; + } else { + $AUST_DST=0; return 0; + } + } + } else { + $AUST_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $AUST_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $AUST_DST=0; return 0; + } else { + $AUST_DST=1; return 1; + } + } + } else { + $AUST_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + + +sub NZL_dstcalc { +#********************************************************************** +# FSO-TSM +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. +# Based on first Sunday in October and third Sunday in March at 1 am. +#********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; return 1; + } elsif ($mm >= 4 && $mm <= 9) { + $NZL_DST=0; return 0; + } elsif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; return 1; + } elsif ($dd < ($dow+14)) { + $NZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $NZL_DST=1; return 1; + } else { + $NZL_DST=0; return 0; + } + } + } else { + $NZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd >= 8) { + $NZL_DST=1; return 1; + } elsif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 && $ns < (7200+$timezone*3600)) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } else { + if ($dow == 0 && $ns < 3600) { + $NZL_DST=0; return 0; + } else { + $NZL_DST=1; return 1; + } + } + } else { + $NZL_DST=0; return 0; + } + } # end of month checks +} # end of subroutine dstcalc + + + + +sub BZL_dstcalc { +#********************************************************************** +# TSO-LSF +# This is returns 1 if Daylight Savings Time is in effect and 0 if +# Standard time is in effect. Brazil +# Based on Third Sunday October to Last Sunday February at 1 am. +#********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; return 1; + } elsif ($mm >= 3 && $mm <= 9) { + $BZL_DST=0; return 0; + } elsif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; return 1; + } elsif ($dd < ($dow+22)) { + $BZL_DST=1; return 1; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=1; return 1; + } else { + $BZL_DST=0; return 0; + } + } + } else { + $BZL_DST=0; return 0; + } + } elsif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; return 0; + } elsif ($dd < ($dow+22)) { + $BZL_DST=0; return 0; + } elsif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=0; return 0; + } else { + $BZL_DST=1; return 1; + } + } + } else { + $BZL_DST=1; return 1; + } + } # end of month checks +} # end of subroutine dstcalc diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/listloaderMAIN.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/listloaderMAIN.php new file mode 100644 index 00000000..555c4b0d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/listloaderMAIN.php @@ -0,0 +1,86 @@ +<? +# listloaderMAIN.php +# +# Copyright (C) 2008 Matt Florell,Joe Johnson <vicidial@gmail.com> LICENSE: AGPLv2 +# +# this is the main frame page for the lead loading section. This is where you +# would upload a file and have it inserted into vicidial_list +# +# changes: +# 60620-1149 - Added variable filtering to eliminate SQL injection attack threat +# 60822-1105 - fixed for nonwritable directories +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; +if ($DB) {echo "|$stmt|\n";} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + +if ($WeBRooTWritablE > 0) {$fp = fopen ("./project_auth_entries.txt", "a");} +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-LEAD-LOADER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT load_leads from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGload_leads =$row[0]; + + if ($LOGload_leads < 1) + { + echo "You do not have permissions to load leads\n"; + exit; + } + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($WeBRooTWritablE > 0) + { + fwrite ($fp, "LIST_LOAD|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +?><HTML> +<HEAD> +<TITLE>VICIDIAL: Lead Loader Module + + + + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/listloader_rowdisplay.pl b/agc_2-X/branches/agc_2.0.5/www/vicidial/listloader_rowdisplay.pl new file mode 100644 index 00000000..bbfc8170 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/listloader_rowdisplay.pl @@ -0,0 +1,153 @@ +#!/usr/bin/perl +# +# listloader_rowdisplay.pl version 2.0.5 +# +# Copyright (C) 2008 Matt Florell,Joe Johnson LICENSE: AGPLv2 +# +# +# CHANGES +# +# 60811-1232 - Changed to DBI +# 60811-1329 - changed to use /etc/astguiclient.conf for configs +# + +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + if ($args =~ /--help|-h/i) + { + print "allowed run time options:\n [-forcelistid=1234] = overrides the listID given in the file with the 1234\n [-h] = this help screen\n\n"; + + exit; + } + else + { + if ($args =~ /-duplicate-check/i) + {$dupcheck=1;} + if ($args =~ /-postal-code-gmt/i) + {$postalgmt=1;} + if ($args =~ /--lead-file=/i) + { + @data_in = split(/--lead-file=/,$args); + $lead_file = $data_in[1]; + $lead_file =~ s/ .*//gi; + # print "\n----- LEAD FILE: $lead_file -----\n\n"; + } + else + {$lead_file = './vicidial_temp_file.xls';} + } +} +### end parsing run-time options ### + +use Spreadsheet::ParseExcel; +use Time::Local; +use DBI; + + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + + +$oBook = Spreadsheet::ParseExcel::Workbook->Parse("$lead_file"); +my($iR, $iC, $oWkS, $oWkC); +$var_str=""; + +foreach $oWkS (@{$oBook->{Worksheet}}) { + for(my $iC = $oWkS->{MinCol} ; defined $oWkS->{MaxCol} && $iC <= $oWkS->{MaxCol} ; $iC++) { + $oWkC = $oWkS->{Cells}[0][$iC]; + if ($oWkC) { + $var_str.=$oWkC->Value."|"; + } else { + $var_str.="|"; + } + } +} + +@xls_row=split(/\|/, $var_str); + + +$stmtA = "select vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments from vicidial_list limit 1;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + my $names = $sthA->{'NAME'}; + my $numFields = $sthA->{'NUM_OF_FIELDS'}; + for (my $i = 0; $i < $numFields; $i++) + { + # printf("%s%s", $i ? "," : "", $$names[$i]); + # printf("%s%s", $i ? "," : "", $$ref[$i]); + + $field_name=uc($$names[$i]); + $field_name=~s/\_/ /g; + print "
    ".$field_name.": \r\n"; + print " \r\n"; + print "
    "; +?> + + +
    method=post onSubmit="ParseFileName()" enctype="multipart/form-data"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Load leads from this file:
    List ID Override: (numbers only or leave blank for values in the file)
    Phone Code Override: (numbers only or leave blank for values in the file)
    File layout to use:Standard VICIDIAL    Custom layout
    Lead Duplicate Check:
    Lead Time Zone Lookup:
            
            BACK TO ADMINLIST LOADER-     VERSION:     BUILD:    
    + + +document.forms[0].leadfile.disabled=true;document.forms[0].list_id_override.disabled=true;document.forms[0].phone_code_override.disabled=true; document.forms[0].submit_file.disabled=true; document.forms[0].reload_page.disabled=true;"; + flush(); + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + + if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) { + # copy($leadfile, "./vicidial_temp_file.txt"); + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + { + $stmt_file=fopen("listloader_stmts.txt", "w"); + } + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + + if (count($field_check)>=5) { + flush(); + $file=fopen("$lead_file", "r"); + print "
    Processing $delim_name-delimited file...\n"; + + if (strlen($list_id_override)>0) + { + print "

    LIST ID OVERRIDE FOR THIS FILE: $list_id_override

    "; + } + + if (strlen($phone_code_override)>0) + { + print "

    PHONE CODE OVERRIDE FOR THIS FILE: $phone_code_override

    "; + } + + while (!feof($file)) { + $record++; + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + + if (strlen($buffer)>0) { + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[$vendor_lead_code_field]; + $source_code = $row[$source_id_field]; + $source_id=$source_code; + $list_id = $row[$list_id_field]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[$phone_code_field]); + $phone_number = eregi_replace("[^0-9]", "", $row[$phone_number_field]); + $USarea = substr($phone_number, 0, 3); + $title = $row[$title_field]; + $first_name = $row[$first_name_field]; + $middle_initial = $row[$middle_initial_field]; + $last_name = $row[$last_name_field]; + $address1 = $row[$address1_field]; + $address2 = $row[$address2_field]; + $address3 = $row[$address3_field]; + $city =$row[$city_field]; + $state = $row[$state_field]; + $province = $row[$province_field]; + $postal_code = $row[$postal_code_field]; + $country_code = $row[$country_code_field]; + $gender = $row[$gender_field]; + $date_of_birth = $row[$date_of_birth_field]; + $alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]); + $email = $row[$email_field]; + $security_phrase = $row[$security_phrase_field]; + $comments = trim($row[$comments_field]); + + if (strlen($list_id_override)>0) + { + # print "

    LIST ID OVERRIDE FOR THIS FILE: $list_id_override

    "; + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + $dup_lead_list = $list_id; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00');"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00'),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 1000000) {print "
    record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead $dup_lead_list\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

    Done
    GOOD: $good       BAD: $bad       TOTAL: $total
    "; + + } else { + print "
    ERROR: The file does not have the required number of fields to process it.
    "; + } + } else if (!eregi(".csv", $leadfile_name)) { + # copy($leadfile, "./vicidial_temp_file.xls"); + $file=fopen("$lead_file", "r"); + + print "
    Processing Excel file... \n"; + if (strlen($list_id_override)>0) + { + print "

    LIST ID OVERRIDE FOR THIS FILE: $list_id_override

    \n"; + } + if (strlen($phone_code_override)>0) + { + print "

    PHONE CODE OVERRIDE FOR THIS FILE: $phone_code_override

    \n"; + } + # print "|$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override --lead_file=$lead_file|"; + $dupcheckCLI=''; $postalgmtCLI=''; + if (eregi("DUPLIST",$dupcheck)) {$dupcheckCLI='--duplicate-check';} + if (eregi("DUPCAMP",$dupcheck)) {$dupcheckCLI='--duplicate-campaign-check';} + if (eregi("DUPSYS",$dupcheck)) {$dupcheckCLI='--duplicate-system-check';} + if (eregi("POSTAL",$postalgmt)) {$postalgmtCLI='--postal-code-gmt';} + passthru("$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override --forcephonecode=$phone_code_override --lead-file=$lead_file $postalgmtCLI $dupcheckCLI"); + } else { + # copy($leadfile, "./vicidial_temp_file.csv"); + $file=fopen("$lead_file", "r"); + + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + print "
    Processing CSV file... \n"; + if (strlen($list_id_override)>0) + { + print "

    LIST ID OVERRIDE FOR THIS FILE: $list_id_override

    "; + } + + if (strlen($phone_code_override)>0) + { + print "

    PHONE CODE OVERRIDE FOR THIS FILE: $phone_code_override

    "; + } + + while($row=fgetcsv($file, 1000, ",")) { + + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[$vendor_lead_code_field]; + $source_code = $row[$source_id_field]; + $source_id=$source_code; + $list_id = $row[$list_id_field]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[$phone_code_field]); + $phone_number = eregi_replace("[^0-9]", "", $row[$phone_number_field]); + $USarea = substr($phone_number, 0, 3); + $title = $row[$title_field]; + $first_name = $row[$first_name_field]; + $middle_initial = $row[$middle_initial_field]; + $last_name = $row[$last_name_field]; + $address1 = $row[$address1_field]; + $address2 = $row[$address2_field]; + $address3 = $row[$address3_field]; + $city =$row[$city_field]; + $state = $row[$state_field]; + $province = $row[$province_field]; + $postal_code = $row[$postal_code_field]; + $country_code = $row[$country_code_field]; + $gender = $row[$gender_field]; + $date_of_birth = $row[$date_of_birth_field]; + $alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]); + $email = $row[$email_field]; + $security_phrase = $row[$security_phrase_field]; + $comments = trim($row[$comments_field]); + + if (strlen($list_id_override)>0) + { + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00');"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00'),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 1000000) {print "
    record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + print "

    Done
    GOOD: $good       BAD: $bad       TOTAL: $total
    "; + } + print ""; + } + +if ($leadfile) { + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + + ### LOG INSERTION Admin Log Table ### + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LISTS', event_type='LOAD', record_id='$list_id_override', event_code='ADMIN LOAD LIST', event_sql='', event_notes='File Name: $leadfile_name';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + if ($file_layout=="standard") { + + print ""; + flush(); + + if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) { + + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"); + $lead_file = "./vicidial_temp_file.txt"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.txt"); + $lead_file = "/tmp/vicidial_temp_file.txt"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + + if (count($field_check)>=5) { + flush(); + $file=fopen("$lead_file", "r"); + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + print "
    Processing $delim_name-delimited file... ($tab_count|$pipe_count)\n"; + if (strlen($list_id_override)>0) + { + print "

    LIST ID OVERRIDE FOR THIS FILE: $list_id_override

    "; + } + if (strlen($phone_code_override)>0) + { + print "

    PHONE CODE OVERRIDE FOR THIS FILE: $phone_code_override

    \n"; + } + while (!feof($file)) { + $record++; + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + + if (strlen($buffer)>0) { + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[0]; + $source_code = $row[1]; + $source_id=$source_code; + $list_id = $row[2]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[3]); + $phone_number = eregi_replace("[^0-9]", "", $row[4]); + $USarea = substr($phone_number, 0, 3); + $title = $row[5]; + $first_name = $row[6]; + $middle_initial = $row[7]; + $last_name = $row[8]; + $address1 = $row[9]; + $address2 = $row[10]; + $address3 = $row[11]; + $city =$row[12]; + $state = $row[13]; + $province = $row[14]; + $postal_code = $row[15]; + $country_code = $row[16]; + $gender = $row[17]; + $date_of_birth = $row[18]; + $alt_phone = eregi_replace("[^0-9]", "", $row[19]); + $email = $row[20]; + $security_phrase = $row[21]; + $comments = trim($row[22]); + + if (strlen($list_id_override)>0) + { + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00');"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00'),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 1000000) {print "
    record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

    Done
    GOOD: $good       BAD: $bad       TOTAL: $total
    "; + + } else { + print "
    ERROR: The file does not have the required number of fields to process it.
    "; + } + } else if (!eregi(".csv", $leadfile_name)) + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.xls"); + $lead_file = "/tmp/vicidial_temp_file.xls"; + } + $file=fopen("$lead_file", "r"); + + # echo "|$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override --lead-file=$lead_file|"; + $dupcheckCLI=''; $postalgmtCLI=''; + if (eregi("DUPLIST",$dupcheck)) {$dupcheckCLI='--duplicate-check';} + if (eregi("DUPCAMP",$dupcheck)) {$dupcheckCLI='--duplicate-campaign-check';} + if (eregi("DUPSYS",$dupcheck)) {$dupcheckCLI='--duplicate-system-check';} + if (eregi("POSTAL",$postalgmt)) {$postalgmtCLI='--postal-code-gmt';} + passthru("$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override --forcephonecode=$phone_code_override --lead-file=$lead_file $postalgmtCLI $dupcheckCLI"); + + } + else + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.csv"); + $lead_file = "/tmp/vicidial_temp_file.csv"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + print "
    Processing CSV file... \n"; + + if (strlen($list_id_override)>0) + { + print "

    LIST ID OVERRIDE FOR THIS FILE: $list_id_override

    "; + } + if (strlen($phone_code_override)>0) + { + print "

    PHONE CODE OVERRIDE FOR THIS FILE: $phone_code_override

    "; + } + + while($row=fgetcsv($file, 1000, ",")) { + $pulldate=date("Y-m-d H:i:s"); + $entry_date = "$pulldate"; + $modify_date = ""; + $status = "NEW"; + $user =""; + $vendor_lead_code = $row[0]; + $source_code = $row[1]; + $source_id=$source_code; + $list_id = $row[2]; + $gmt_offset = '0'; + $called_since_last_reset='N'; + $phone_code = eregi_replace("[^0-9]", "", $row[3]); + $phone_number = eregi_replace("[^0-9]", "", $row[4]); + $USarea = substr($phone_number, 0, 3); + $title = $row[5]; + $first_name = $row[6]; + $middle_initial = $row[7]; + $last_name = $row[8]; + $address1 = $row[9]; + $address2 = $row[10]; + $address3 = $row[11]; + $city =$row[12]; + $state = $row[13]; + $province = $row[14]; + $postal_code = $row[15]; + $country_code = $row[16]; + $gender = $row[17]; + $date_of_birth = $row[18]; + $alt_phone = eregi_replace("[^0-9]", "", $row[19]); + $email = $row[20]; + $security_phrase = $row[21]; + $comments = trim($row[22]); + + if (strlen($list_id_override)>0) + { + $list_id = $list_id_override; + } + if (strlen($phone_code_override)>0) + { + $phone_code = $phone_code_override; + } + + ##### Check for duplicate phone numbers in vicidial_list table for all lists in a campaign ##### + if (eregi("DUPCAMP",$dupcheck)) + { + $dup_lead=0; + $dup_lists=''; + $stmt="select campaign_id from vicidial_lists where list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $ci_recs = mysql_num_rows($rslt); + if ($ci_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_camp = $row[0]; + + $stmt="select list_id from vicidial_lists where campaign_id='$dup_camp';"; + $rslt=mysql_query($stmt, $link); + $li_recs = mysql_num_rows($rslt); + if ($li_recs > 0) + { + $L=0; + while ($li_recs > $L) + { + $row=mysql_fetch_row($rslt); + $dup_lists .= "'$row[0]',"; + $L++; + } + $dup_lists = eregi_replace(",$",'',$dup_lists); + + $stmt="select list_id from vicidial_list where phone_number='$phone_number' and list_id IN($dup_lists) limit 1;"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + } + } + + ##### Check for duplicate phone numbers in vicidial_list table entire database ##### + if (eregi("DUPSYS",$dupcheck)) + { + $dup_lead=0; + $stmt="select list_id from vicidial_list where phone_number='$phone_number';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $dup_lead=1; + $row=mysql_fetch_row($rslt); + $dup_lead_list = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + ##### Check for duplicate phone numbers in vicidial_list table for one list_id ##### + if (eregi("DUPLIST",$dupcheck)) + { + $dup_lead=0; + $stmt="select count(*) from vicidial_list where phone_number='$phone_number' and list_id='$list_id';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $dup_lead = $row[0]; + } + if ($dup_lead < 1) + { + if (eregi("$phone_number$US$list_id",$phone_list)) + {$dup_lead++; $dup++;} + } + } + + if ( (strlen($phone_number)>6) and ($dup_lead<1) ) + { + if (strlen($phone_code)<1) {$phone_code = '1';} + + $US='_'; + $phone_list .= "$phone_number$US$list_id|"; + + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + + if ($multi_insert_counter > 8) { + ### insert good deal into pending_transactions table ### + $stmtZ = "INSERT INTO vicidial_list values$multistmt('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00');"; + $rslt=mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + $multistmt=''; + $multi_insert_counter=0; + + } else { + $multistmt .= "('','$entry_date','$modify_date','$status','$user','$vendor_lead_code','$source_id','$list_id','$gmt_offset','$called_since_last_reset','$phone_code','$phone_number','$title','$first_name','$middle_initial','$last_name','$address1','$address2','$address3','$city','$state','$province','$postal_code','$country_code','$gender','$date_of_birth','$alt_phone','$email','$security_phrase','$comments',0,'2008-01-01 00:00:00'),"; + $multi_insert_counter++; + } + + $good++; + } else { + if ($bad < 1000000) {print "
    record $total BAD- PHONE: $phone_number ROW: |$row[0]| DUP: $dup_lead\n";} + $bad++; + } + $total++; + if ($total%100==0) { + print ""; + usleep(1000); + flush(); + } + } + if ($multi_insert_counter!=0) { + $stmtZ = "INSERT INTO vicidial_list values".substr($multistmt, 0, -1).";"; + mysql_query($stmtZ, $link); + if ($WeBRooTWritablE > 0) + {fwrite($stmt_file, $stmtZ."\r\n");} + } + + print "

    Done
    GOOD: $good       BAD: $bad       TOTAL: $total
    "; + + } + print ""; + + } else { + print "
    "; + flush(); + print "\r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + + $rslt=mysql_query("select vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments from vicidial_list limit 1", $link); + + + if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.txt"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.txt"); + $lead_file = "/tmp/vicidial_temp_file.txt"; + } + $file=fopen("$lead_file", "r"); + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + $buffer=fgets($file, 4096); + $tab_count=substr_count($buffer, "\t"); + $pipe_count=substr_count($buffer, "|"); + + if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";} + $field_check=explode($delimiter, $buffer); + flush(); + $file=fopen("$lead_file", "r"); + print "
    Processing $delim_name-delimited file...\n"; + + if (strlen($list_id_override)>0) + { + print "

    LIST ID OVERRIDE FOR THIS FILE: $list_id_override

    "; + } + if (strlen($phone_code_override)>0) + { + print "

    PHONE CODE OVERRIDE FOR THIS FILE: $phone_code_override

    "; + } + $buffer=rtrim(fgets($file, 4096)); + $buffer=stripslashes($buffer); + $row=explode($delimiter, eregi_replace("[\'\"]", "", $buffer)); + + for ($i=0; $i\n"; + } else { + print "
    \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + } + + } + } + else if (!eregi(".csv", $leadfile_name)) + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.xls"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.xls"); + $lead_file = "/tmp/vicidial_temp_file.xls"; + } + + # echo "|$WeBServeRRooT/vicidial/listloader_rowdisplay.pl --lead-file=$lead_file|"; + $dupcheckCLI=''; $postalgmtCLI=''; + if (eregi("DUPLIST",$dupcheck)) {$dupcheckCLI='--duplicate-check';} + if (eregi("DUPCAMP",$dupcheck)) {$dupcheckCLI='--duplicate-campaign-check';} + if (eregi("DUPSYS",$dupcheck)) {$dupcheckCLI='--duplicate-system-check';} + if (eregi("POSTAL",$postalgmt)) {$postalgmtCLI='--postal-code-gmt';} + passthru("$WeBServeRRooT/vicidial/listloader_rowdisplay.pl --lead-file=$lead_file $postalgmtCLI $dupcheckCLI"); + } + else + { + if ($WeBRooTWritablE > 0) + { + copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"); + $lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.csv"; + } + else + { + copy($LF_path, "/tmp/vicidial_temp_file.csv"); + $lead_file = "/tmp/vicidial_temp_file.csv"; + } + $file=fopen("$lead_file", "r"); + + if ($WeBRooTWritablE > 0) + {$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");} + + print "
    Processing CSV file... \n"; + + if (strlen($list_id_override)>0) + { + print "

    LIST ID OVERRIDE FOR THIS FILE: $list_id_override

    "; + } + if (strlen($phone_code_override)>0) + { + print "

    PHONE CODE OVERRIDE FOR THIS FILE: $phone_code_override

    "; + } + + $total=0; $good=0; $bad=0; $dup=0; $post=0; $phone_list=''; + $row=fgetcsv($file, 1000, ","); + for ($i=0; $i\n"; + } else { + print "
    \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + } + } + } + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print " \r\n"; + print "
    VICIDIAL ColumnFile data
    ".strtoupper(eregi_replace("_", " ", mysql_field_name($rslt, $i))).":
    ".strtoupper(eregi_replace("_", " ", mysql_field_name($rslt, $i))).":
            
    \r\n"; + # } + print ""; + } +#} else if (filesize($leadfile)>8388608) { +# print "
    ERROR: File exceeds the 8MB limit.
    "; +} +?> + + + + + + + + +4) ) + { + if (preg_match('/^1$/', $phone_code)) + { + $stmt="select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[3]; + $dst_range = $row[4]; + $PC_processed++; + $postalgmt_found++; + $post++; + } + } + } +if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =='1') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### MEXICO ### + if ($phone_code =='52') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### AUSTRALIA ### + if ($phone_code =='61') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $PC_processed++; + $stmt="select * from vicidial_phone_codes where country_code='$phone_code';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + } + +### Find out if DST to raise the gmt offset ### +$AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); +$AC_localtime = mktime(($Shour + $AC_GMT_diff), $Smin, $Ssec, $Smon, $Smday, $Syear); + $hour = date("H",$AC_localtime); + $min = date("i",$AC_localtime); + $sec = date("s",$AC_localtime); + $mon = date("m",$AC_localtime); + $mday = date("d",$AC_localtime); + $wday = date("w",$AC_localtime); + $year = date("Y",$AC_localtime); +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + +$AC_processed=0; +if ( (!$AC_processed) and ($dst_range == 'SSM-FSN') ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + #********************************************************************** + # SSM-FSN + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on Second Sunday March to First Sunday November at 2 am. + # INPUTS: + # mm INTEGER Month. + # dd INTEGER Day of the month. + # ns INTEGER Seconds into the day. + # dow INTEGER Day of week (0=Sunday, to 6=Saturday) + # OPTIONAL INPUT: + # timezone INTEGER hour difference UTC - local standard time + # (DEFAULT is blank) + # make calculations based on UTC time, + # which means shift at 10:00 UTC in April + # and 9:00 UTC in October + # OUTPUT: + # INTEGER 1 = DST, 0 = not DST + # + # S M T W T F S + # 1 2 3 4 5 6 7 + # 8 9 10 11 12 13 14 + #15 16 17 18 19 20 21 + #22 23 24 25 26 27 28 + #29 30 31 + # + # S M T W T F S + # 1 2 3 4 5 6 + # 7 8 9 10 11 12 13 + #14 15 16 17 18 19 20 + #21 22 23 24 25 26 27 + #28 29 30 31 + # + #********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; + } elseif ($mm >= 4 and $mm <= 10) { + $USACAN_DST=1; + } elseif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; + } elseif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } + } else { + $USACAN_DST=0; + } + } elseif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; + } elseif ($dd < ($dow+1)) { + $USACAN_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } else { # local time calculations + if ($ns < 7200) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } + } else { + $USACAN_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'FSA-LSO') ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + #********************************************************************** + # FSA-LSO + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in April and last Sunday in October at 2 am. + #********************************************************************** + + $USA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $USA_DST=0; + } elseif ($mm >= 5 and $mm <= 9) { + $USA_DST=1; + } elseif ($mm == 4) { + if ($dd > 7) { + $USA_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $USA_DST=0; + } else { + $USA_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $USA_DST=0; + } else { + $USA_DST=1; + } + } + } else { + $USA_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $USA_DST=1; + } elseif ($dd < ($dow+25)) { + $USA_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USA_DST=1; + } else { + $USA_DST=0; + } + } else { # local time calculations + if ($ns < 7200) { + $USA_DST=1; + } else { + $USA_DST=0; + } + } + } else { + $USA_DST=0; + } + } # end of month checks + + if ($DBX) {print " DST: $USA_DST\n";} + if ($USA_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'LSM-LSO') ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in March and last Sunday in October at 1 am. + #********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; + } elseif ($mm >= 4 and $mm <= 9) { + $GBR_DST=1; + } elseif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; + } elseif ($dd < ($dow+25)) { + $GBR_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } + } else { + $GBR_DST=1; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; + } elseif ($dd < ($dow+25)) { + $GBR_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } + } else { + $GBR_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } +if ( (!$AC_processed) and ($dst_range == 'LSO-LSM') ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUS_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; + } elseif ($dd < ($dow+25)) { + $AUS_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } + } else { + $AUS_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; + } elseif ($dd < ($dow+25)) { + $AUS_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } + } else { + $AUS_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'FSO-LSM') ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + #********************************************************************** + # TASMANIA ONLY + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUST_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; + } elseif ($dd < ($dow+25)) { + $AUST_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } + } else { + $AUST_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $AUST_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } + } else { + $AUST_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } +if ( (!$AC_processed) and ($dst_range == 'FSO-TSM') ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and third Sunday in March at 1 am. + #********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $NZL_DST=0; + } elseif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; + } elseif ($dd < ($dow+14)) { + $NZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } else { # local time calculations + if ($ns < 3600) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } + } else { + $NZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $NZL_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } + } else { + $NZL_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'TSO-LSF') ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + #********************************************************************** + # TSO-LSF + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. Brazil + # Based on Third Sunday October to Last Sunday February at 1 am. + #********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; + } elseif ($mm >= 3 and $mm <= 9) { + $BZL_DST=0; + } elseif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; + } elseif ($dd < ($dow+22)) { + $BZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } + } else { + $BZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; + } elseif ($dd < ($dow+22)) { + $BZL_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } + } else { + $BZL_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$gmt_offset++;} + $AC_processed++; + } + +if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + +return $gmt_offset; +} + +?> +
    diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/non_agent_api.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/non_agent_api.php new file mode 100644 index 00000000..2d525f39 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/non_agent_api.php @@ -0,0 +1,1419 @@ + LICENSE: AGPLv2 +# +# This script is designed as an API(Application Programming Interface) to allow +# other programs to interact with all non-agent-screen VICIDIAL functions +# +# required variables: +# - $user +# - $pass +# - $function - ('add_lead','version') +# - $source - ('vtiger','webform','adminweb') +# - $format - ('text','debug') + +# CHANGELOG: +# 80724-0021 - First build of script +# 80801-0047 - Added gmt lookup and hopper insert time validation +# 80909-2012 - Added support for campaign-specific DNC lists +# 80910-0020 - Added support for multi-alt-phones, added version function +# 90118-1056 - Added logging of API functions +# + +$version = '2.0.5-5'; +$build = '90118-1056'; + +require("dbconnect.php"); + +### If you have globals turned off uncomment these lines +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["function"])) {$function=$_GET["function"];} + elseif (isset($_POST["function"])) {$function=$_POST["function"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["vendor_lead_code"])) {$vendor_lead_code=$_GET["vendor_lead_code"];} + elseif (isset($_POST["vendor_lead_code"])) {$vendor_lead_code=$_POST["vendor_lead_code"];} +if (isset($_GET["source_id"])) {$source_id=$_GET["source_id"];} + elseif (isset($_POST["source_id"])) {$source_id=$_POST["source_id"];} +if (isset($_GET["gmt_offset_now"])) {$gmt_offset_now=$_GET["gmt_offset_now"];} + elseif (isset($_POST["gmt_offset_now"])) {$gmt_offset_now=$_POST["gmt_offset_now"];} +if (isset($_GET["title"])) {$title=$_GET["title"];} + elseif (isset($_POST["title"])) {$title=$_POST["title"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["middle_initial"])) {$middle_initial=$_GET["middle_initial"];} + elseif (isset($_POST["middle_initial"])) {$middle_initial=$_POST["middle_initial"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["gender"])) {$gender=$_GET["gender"];} + elseif (isset($_POST["gender"])) {$gender=$_POST["gender"];} +if (isset($_GET["date_of_birth"])) {$date_of_birth=$_GET["date_of_birth"];} + elseif (isset($_POST["date_of_birth"])) {$date_of_birth=$_POST["date_of_birth"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["security_phrase"])) {$security_phrase=$_GET["security_phrase"];} + elseif (isset($_POST["security_phrase"])) {$security_phrase=$_POST["security_phrase"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["dnc_check"])) {$dnc_check=$_GET["dnc_check"];} + elseif (isset($_POST["dnc_check"])) {$dnc_check=$_POST["dnc_check"];} +if (isset($_GET["campaign_dnc_check"])) {$campaign_dnc_check=$_GET["campaign_dnc_check"];} + elseif (isset($_POST["campaign_dnc_check"])) {$campaign_dnc_check=$_POST["campaign_dnc_check"];} +if (isset($_GET["add_to_hopper"])) {$add_to_hopper=$_GET["add_to_hopper"];} + elseif (isset($_POST["add_to_hopper"])) {$add_to_hopper=$_POST["add_to_hopper"];} +if (isset($_GET["hopper_priority"])) {$hopper_priority=$_GET["hopper_priority"];} + elseif (isset($_POST["hopper_priority"])) {$hopper_priority=$_POST["hopper_priority"];} +if (isset($_GET["hopper_local_call_time_check"])) {$hopper_local_call_time_check=$_GET["hopper_local_call_time_check"];} + elseif (isset($_POST["hopper_local_call_time_check"])) {$hopper_local_call_time_check=$_POST["hopper_local_call_time_check"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["multi_alt_phones"])) {$multi_alt_phones=$_GET["multi_alt_phones"];} + elseif (isset($_POST["multi_alt_phones"])) {$multi_alt_phones=$_POST["multi_alt_phones"];} +if (isset($_GET["source"])) {$source=$_GET["source"];} + elseif (isset($_POST["source"])) {$source=$_POST["source"];} + + +header ("Content-type: text/html; charset=utf-8"); +header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 +header ("Pragma: no-cache"); // HTTP/1.0 + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +if ($non_latin < 1) + { + $user=ereg_replace("[^0-9a-zA-Z]","",$user); + $pass=ereg_replace("[^0-9a-zA-Z]","",$pass); + $function = ereg_replace("[^-\_0-9a-zA-Z]","",$function); + $format = ereg_replace("[^0-9a-zA-Z]","",$format); + $list_id = ereg_replace("[^0-9]","",$list_id); + $phone_code = ereg_replace("[^0-9]","",$phone_code); + $phone_number = ereg_replace("[^0-9]","",$phone_number); + $vendor_lead_code = ereg_replace(";","",$vendor_lead_code); + $vendor_lead_code = ereg_replace("\+"," ",$vendor_lead_code); + $source_id = ereg_replace(";","",$source_id); + $source_id = ereg_replace("\+"," ",$source_id); + $gmt_offset_now = ereg_replace("-\_\.0-9","",$gmt_offset_now); + $title = ereg_replace("[^- \_\.0-9a-zA-Z]","",$title); + $first_name = ereg_replace("[^- \+\_\.0-9a-zA-Z]","",$first_name); + $first_name = ereg_replace("\+"," ",$first_name); + $middle_initial = ereg_replace("[^0-9a-zA-Z]","",$middle_initial); + $last_name = ereg_replace("[^- \+\_\.0-9a-zA-Z]","",$last_name); + $last_name = ereg_replace("\+"," ",$last_name); + $address1 = ereg_replace("[^- \+\.\:\/\@\_0-9a-zA-Z]","",$address1); + $address2 = ereg_replace("[^- \+\.\:\/\@\_0-9a-zA-Z]","",$address2); + $address3 = ereg_replace("[^- \+\.\:\/\@\_0-9a-zA-Z]","",$address3); + $address1 = ereg_replace("\+"," ",$address1); + $address2 = ereg_replace("\+"," ",$address2); + $address3 = ereg_replace("\+"," ",$address3); + $city = ereg_replace("[^- \+\.\:\/\@\_0-9a-zA-Z]","",$city); + $city = ereg_replace("\+"," ",$city); + $state = ereg_replace("[^- 0-9a-zA-Z]","",$state); + $province = ereg_replace("[^- \+\.\_0-9a-zA-Z]","",$province); + $province = ereg_replace("\+"," ",$province); + $postal_code = ereg_replace("[^- \+0-9a-zA-Z]","",$postal_code); + $postal_code = ereg_replace("\+"," ",$postal_code); + $country_code = ereg_replace("[^A-Z]","",$country_code); + $gender = ereg_replace("[^A-Z]","",$gender); + $date_of_birth = ereg_replace("[^-0-9]","",$date_of_birth); + $alt_phone = ereg_replace("[^- \+\_\.0-9a-zA-Z]","",$alt_phone); + $alt_phone = ereg_replace("\+"," ",$alt_phone); + $email = ereg_replace("[^- \+\.\:\/\@\_0-9a-zA-Z]","",$email); + $email = ereg_replace("\+"," ",$email); + $security_phrase = ereg_replace("[^- \+\.\:\/\@\_0-9a-zA-Z]","",$security_phrase); + $security_phrase = ereg_replace("\+"," ",$security_phrase); + $comments = ereg_replace(";","",$comments); + $comments = ereg_replace("\+"," ",$comments); + $dnc_check = ereg_replace("[^A-Z]","",$dnc_check); + $campaign_dnc_check = ereg_replace("[^A-Z]","",$campaign_dnc_check); + $add_to_hopper = ereg_replace("[^A-Z]","",$add_to_hopper); + $hopper_priority = ereg_replace("-0-9","",$hopper_priority); + $hopper_local_call_time_check = ereg_replace("[^A-Z]","",$hopper_local_call_time_check); + $campaign_id = ereg_replace("[^-\_0-9a-zA-Z]","",$campaign_id); + $multi_alt_phones = ereg_replace("[^- \+\!\:\_0-9a-zA-Z]","",$multi_alt_phones); + $multi_alt_phones = ereg_replace("\+"," ",$multi_alt_phones); + $source = ereg_replace("[^0-9a-zA-Z]","",$source); + } + +if (strlen($list_id)<1) {$list_id='999';} +if (strlen($phone_code)<1) {$phone_code='1';} +$USarea = substr($phone_number, 0, 3); +if (strlen($hopper_priority)<1) {$hopper_priority=0;} +if (strlen($gender)<1) {$gender='U';} + +$StarTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$CIDdate = date("mdHis"); +$ENTRYdate = date("YmdHis"); +$MT[0]=''; +$postalgmt=''; +$api_script = 'non-agent'; +$api_logging = 1; + + +$secX = date("U"); +$hour = date("H"); +$min = date("i"); +$sec = date("s"); +$mon = date("m"); +$mday = date("d"); +$year = date("Y"); +$isdst = date("I"); +$Shour = date("H"); +$Smin = date("i"); +$Ssec = date("s"); +$Smon = date("m"); +$Smday = date("d"); +$Syear = date("Y"); +$pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; +$inSD = $pulldate0; +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + +### Grab Server GMT value from the database +$stmt="SELECT local_gmt FROM servers where active='Y' limit 1;"; +if ($non_latin > 0) {$rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$gmt_recs = mysql_num_rows($rslt); +if ($gmt_recs > 0) + { + $row=mysql_fetch_row($rslt); + $DBSERVER_GMT = "$row[0]"; + if (strlen($DBSERVER_GMT)>0) {$SERVER_GMT = $DBSERVER_GMT;} + if ($isdst) {$SERVER_GMT++;} + } +else + { + $SERVER_GMT = date("O"); + $SERVER_GMT = eregi_replace("\+","",$SERVER_GMT); + $SERVER_GMT = ($SERVER_GMT + 0); + $SERVER_GMT = ($SERVER_GMT / 100); + } + +$LOCAL_GMT_OFF = $SERVER_GMT; +$LOCAL_GMT_OFF_STD = $SERVER_GMT; + + + + + +################################################################################ +### version - show version and date information for the API +################################################################################ +if ($function == 'version') + { + $data = "VERSION: $version|BUILD: $build|DATE: $NOW_TIME|EPOCH: $StarTtime"; + $result = 'SUCCESS'; + echo "$data\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + + + + +################################################################################ +### add_lead - inserts a lead into the vicidial_list table +################################################################################ +if ($function == 'add_lead') + { + if(strlen($source)<2) + { + $result = 'ERROR'; + $result_reason = "Invalid Source"; + echo "$result: $result_reason - $source\n"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + echo "ERROR: Invalid Source: |$source|\n"; + exit; + } + else + { + $stmt="SELECT count(*) from vicidial_users where user='$user' and pass='$pass' and vdc_agent_api_access='1' and modify_leads='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $modify_leads=$row[0]; + + if ($modify_leads < 1) + { + $result = 'ERROR'; + $result_reason = "add_lead USER DOES NOT HAVE PERMISSION TO ADD LEADS TO THE SYSTEM"; + echo "$result: $result_reason: |$user|$modify_leads|\n"; + $data = "$modify_leads"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + if ( (strlen($phone_number)<6) || (strlen($phone_number)>16) ) + { + $result = 'ERROR'; + $result_reason = "add_lead INVALID PHONE NUMBER"; + echo "$result: $result_reason - $phone_number|$user\n"; + $data = "$phone_number"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + else + { + if ($dnc_check == 'Y') + { + $stmt="SELECT count(*) from vicidial_dnc where phone_number='$phone_number';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $dnc_found=$row[0]; + + if ($dnc_found > 0) + { + $result = 'ERROR'; + $result_reason = "add_lead PHONE NUMBER IN DNC"; + echo "$result: $result_reason - $phone_number|$user\n"; + $data = "$phone_number"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + if ($campaign_dnc_check == 'Y') + { + $stmt="SELECT count(*) from vicidial_campaign_dnc where phone_number='$phone_number' and campaign_id='$campaign_id';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $dnc_found=$row[0]; + + if ($dnc_found > 0) + { + $result = 'ERROR'; + $result_reason = "add_lead PHONE NUMBER IN CAMPAIGN DNC"; + echo "$result: $result_reason - $phone_number|$campaign_id|$user\n"; + $data = "$phone_number|$campaign_id"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + exit; + } + } + + ### get current gmt_offset of the phone_number + $gmt_offset = lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code); + + + ### insert a new lead in the system with this phone number + $stmt = "INSERT INTO vicidial_list SET phone_code='$phone_code',phone_number='$phone_number',list_id='$list_id',status='NEW',user='$user',vendor_lead_code='$vendor_lead_code',source_id='$source_id',gmt_offset_now='$gmt_offset',title='$title',first_name='$first_name',middle_initial='$middle_initial',last_name='$last_name',address1='$address1',address2='$address2',address3='$address3',city='$city',state='$state',province='$province',postal_code='$postal_code',country_code='$country_code',gender='$gender',date_of_birth='$date_of_birth',alt_phone='$alt_phone',email='$email',security_phrase='$security_phrase',comments='$comments',called_since_last_reset='N',entry_date='$ENTRYdate',last_local_call_time='$NOW_TIME';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + if ($affected_rows > 0) + { + $lead_id = mysql_insert_id($link); + + $result = 'SUCCESS'; + $result_reason = "add_lead LEAD HAS BEEN ADDED"; + echo "$result: $result_reason - $phone_number|$list_id|$lead_id|$gmt_offset|$user\n"; + $data = "$phone_number|$list_id|$lead_id|$gmt_offset"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + + if (strlen($multi_alt_phones) > 5) + { + $map=$MT; $ALTm_phone_code=$MT; $ALTm_phone_number=$MT; $ALTm_phone_note=$MT; + $map = explode('!', $multi_alt_phones); + $map_count = count($map); + if ($DB) {echo "multi-al-entry: $a|$map_count|$multi_alt_phones\n";} + $g++; + $r=0; $s=0; $inserted_alt_phones=0; + while ($r < $map_count) + { + $s++; + $ncn=$MT; + $ncn = explode('_', $map[$r]); + print "$ncn[0]|$ncn[1]|$ncn[2]"; + + if (strlen($forcephonecode) > 0) + {$ALTm_phone_code[$r] = $forcephonecode;} + else + {$ALTm_phone_code[$r] = $ncn[1];} + if (strlen($ALTm_phone_code[$r]) < 1) + {$ALTm_phone_code[$r]='1';} + $ALTm_phone_number[$r] = $ncn[0]; + $ALTm_phone_note[$r] = $ncn[2]; + $stmt = "INSERT INTO vicidial_list_alt_phones (lead_id,phone_code,phone_number,alt_phone_note,alt_phone_count) values('$lead_id','$ALTm_phone_code[$r]','$ALTm_phone_number[$r]','$ALTm_phone_note[$r]','$s');"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $Zaffected_rows = mysql_affected_rows($link); + $inserted_alt_phones = ($inserted_alt_phones + $Zaffected_rows); + $r++; + } + $result = 'NOTICE'; + $result_reason = "add_lead MULTI-ALT-PHONE NUMBERS LOADED"; + echo "$result: $result_reason - $inserted_alt_phones|$lead_id|$user\n"; + $data = "$inserted_alt_phones|$lead_id"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + + if ($add_to_hopper == 'Y') + { + $dialable=1; + + $stmt="SELECT local_call_time,vicidial_campaigns.campaign_id from vicidial_campaigns,vicidial_lists where list_id='$list_id' and vicidial_campaigns.campaign_id=vicidial_lists.campaign_id;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $local_call_time=$row[0]; + $VD_campaign_id=$row[1]; + + if ($hopper_local_call_time_check == 'Y') + { + ### call function to determine if lead is dialable + $dialable = dialable_gmt($DB,$link,$local_call_time,$gmt_offset,$state); + } + if ($dialable < 1) + { + $result = 'NOTICE'; + $result_reason = "add_lead NOT ADDED TO HOPPER, OUTSIDE OF LOCAL TIME"; + echo "$result: $result_reason - $phone_number|$lead_id|$gmt_offset|$dialable|$user\n"; + $data = "$phone_number|$lead_id|$gmt_offset|$dialable"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + else + { + ### code to insert into hopper goes here + + ### insert record into vicidial_hopper for alt_phone call attempt + $stmt = "INSERT INTO vicidial_hopper SET lead_id='$lead_id',campaign_id='$VD_campaign_id',status='READY',list_id='$list_id',gmt_offset_now='$gmt_offset',state='$state',user='',priority='$hopper_priority';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $Haffected_rows = mysql_affected_rows($link); + if ($Haffected_rows > 0) + { + $hopper_id = mysql_insert_id($link); + + $result = 'NOTICE'; + $result_reason = "add_lead ADDED TO HOPPER"; + echo "$result: $result_reason - $phone_number|$lead_id|$hopper_id|$user\n"; + $data = "$phone_number|$lead_id|$hopper_id"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + else + { + $result = 'NOTICE'; + $result_reason = "add_lead NOT ADDED TO HOPPER"; + echo "$result: $result_reason - $phone_number|$lead_id|$stmt|$user\n"; + $data = "$phone_number|$lead_id|$stmt"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + } + else + { + $result = 'ERROR'; + $result_reason = "add_lead LEAD HAS NOT BEEN ADDED"; + echo "$result: $result_reason - $phone_number|$list_id|$stmt|$user\n"; + $data = "$phone_number|$list_id|$stmt"; + api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + } + } + } + exit; + } + } + + + +$result = 'ERROR'; +$result_reason = "NO FUNCTION SPECIFIED"; +echo "$result: $result_reason\n"; +api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + + + + + + + + + +if ($format=='debug') +{ +$ENDtime = date("U"); +$RUNtime = ($ENDtime - $StarTtime); +echo "\n"; +echo "\n\n\n"; +} + +exit; + + + + + + + +##### FUNCTIONS ##### + +##### LOOKUP GMT, FINDS THE CURRENT GMT OFFSET FOR A PHONE NUMBER ##### + +function lookup_gmt($phone_code,$USarea,$state,$LOCAL_GMT_OFF_STD,$Shour,$Smin,$Ssec,$Smon,$Smday,$Syear,$postalgmt,$postal_code) +{ +require("dbconnect.php"); + +$postalgmt_found=0; +if ( (eregi("POSTAL",$postalgmt)) && (strlen($postal_code)>4) ) + { + if (preg_match('/^1$/', $phone_code)) + { + $stmt="select * from vicidial_postal_codes where country_code='$phone_code' and postal_code LIKE \"$postal_code%\";"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[2]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[3]; + $dst_range = $row[4]; + $PC_processed++; + $postalgmt_found++; + $post++; + } + } + } +if ($postalgmt_found < 1) + { + $PC_processed=0; + ### UNITED STATES ### + if ($phone_code =='1') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### MEXICO ### + if ($phone_code =='52') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and areacode='$USarea';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### AUSTRALIA ### + if ($phone_code =='61') + { + $stmt="select * from vicidial_phone_codes where country_code='$phone_code' and state='$state';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + ### ALL OTHER COUNTRY CODES ### + if (!$PC_processed) + { + $PC_processed++; + $stmt="select * from vicidial_phone_codes where country_code='$phone_code';"; + $rslt=mysql_query($stmt, $link); + $pc_recs = mysql_num_rows($rslt); + if ($pc_recs > 0) + { + $row=mysql_fetch_row($rslt); + $gmt_offset = $row[4]; $gmt_offset = eregi_replace("\+","",$gmt_offset); + $dst = $row[5]; + $dst_range = $row[6]; + $PC_processed++; + } + } + } + +### Find out if DST to raise the gmt offset ### +$AC_GMT_diff = ($gmt_offset - $LOCAL_GMT_OFF_STD); +$AC_localtime = mktime(($Shour + $AC_GMT_diff), $Smin, $Ssec, $Smon, $Smday, $Syear); + $hour = date("H",$AC_localtime); + $min = date("i",$AC_localtime); + $sec = date("s",$AC_localtime); + $mon = date("m",$AC_localtime); + $mday = date("d",$AC_localtime); + $wday = date("w",$AC_localtime); + $year = date("Y",$AC_localtime); +$dsec = ( ( ($hour * 3600) + ($min * 60) ) + $sec ); + +$AC_processed=0; +if ( (!$AC_processed) and ($dst_range == 'SSM-FSN') ) + { + if ($DBX) {print " Second Sunday March to First Sunday November\n";} + #********************************************************************** + # SSM-FSN + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on Second Sunday March to First Sunday November at 2 am. + # INPUTS: + # mm INTEGER Month. + # dd INTEGER Day of the month. + # ns INTEGER Seconds into the day. + # dow INTEGER Day of week (0=Sunday, to 6=Saturday) + # OPTIONAL INPUT: + # timezone INTEGER hour difference UTC - local standard time + # (DEFAULT is blank) + # make calculations based on UTC time, + # which means shift at 10:00 UTC in April + # and 9:00 UTC in October + # OUTPUT: + # INTEGER 1 = DST, 0 = not DST + # + # S M T W T F S + # 1 2 3 4 5 6 7 + # 8 9 10 11 12 13 14 + #15 16 17 18 19 20 21 + #22 23 24 25 26 27 28 + #29 30 31 + # + # S M T W T F S + # 1 2 3 4 5 6 + # 7 8 9 10 11 12 13 + #14 15 16 17 18 19 20 + #21 22 23 24 25 26 27 + #28 29 30 31 + # + #********************************************************************** + + $USACAN_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 11) { + $USACAN_DST=0; + } elseif ($mm >= 4 and $mm <= 10) { + $USACAN_DST=1; + } elseif ($mm == 3) { + if ($dd > 13) { + $USACAN_DST=1; + } elseif ($dd >= ($dow+8)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $USACAN_DST=0; + } else { + $USACAN_DST=1; + } + } + } else { + $USACAN_DST=0; + } + } elseif ($mm == 11) { + if ($dd > 7) { + $USACAN_DST=0; + } elseif ($dd < ($dow+1)) { + $USACAN_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } else { # local time calculations + if ($ns < 7200) { + $USACAN_DST=1; + } else { + $USACAN_DST=0; + } + } + } else { + $USACAN_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $USACAN_DST\n";} + if ($USACAN_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'FSA-LSO') ) + { + if ($DBX) {print " First Sunday April to Last Sunday October\n";} + #********************************************************************** + # FSA-LSO + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in April and last Sunday in October at 2 am. + #********************************************************************** + + $USA_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 4 || $mm > 10) { + $USA_DST=0; + } elseif ($mm >= 5 and $mm <= 9) { + $USA_DST=1; + } elseif ($mm == 4) { + if ($dd > 7) { + $USA_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $USA_DST=0; + } else { + $USA_DST=1; + } + } else { + if ($dow == 0 and $ns < 7200) { + $USA_DST=0; + } else { + $USA_DST=1; + } + } + } else { + $USA_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $USA_DST=1; + } elseif ($dd < ($dow+25)) { + $USA_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (7200+($timezone-1)*3600)) { + $USA_DST=1; + } else { + $USA_DST=0; + } + } else { # local time calculations + if ($ns < 7200) { + $USA_DST=1; + } else { + $USA_DST=0; + } + } + } else { + $USA_DST=0; + } + } # end of month checks + + if ($DBX) {print " DST: $USA_DST\n";} + if ($USA_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'LSM-LSO') ) + { + if ($DBX) {print " Last Sunday March to Last Sunday October\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in March and last Sunday in October at 1 am. + #********************************************************************** + + $GBR_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $GBR_DST=0; + } elseif ($mm >= 4 and $mm <= 9) { + $GBR_DST=1; + } elseif ($mm == 3) { + if ($dd < 25) { + $GBR_DST=0; + } elseif ($dd < ($dow+25)) { + $GBR_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=0; + } else { + $GBR_DST=1; + } + } + } else { + $GBR_DST=1; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $GBR_DST=1; + } elseif ($dd < ($dow+25)) { + $GBR_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } else { # local time calculations + if ($ns < 3600) { + $GBR_DST=1; + } else { + $GBR_DST=0; + } + } + } else { + $GBR_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $GBR_DST\n";} + if ($GBR_DST) {$gmt_offset++;} + $AC_processed++; + } +if ( (!$AC_processed) and ($dst_range == 'LSO-LSM') ) + { + if ($DBX) {print " Last Sunday October to Last Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on last Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUS_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUS_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUS_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUS_DST=1; + } elseif ($dd < ($dow+25)) { + $AUS_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=1; + } else { + $AUS_DST=0; + } + } + } else { + $AUS_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 25) { + $AUS_DST=0; + } elseif ($dd < ($dow+25)) { + $AUS_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } else { # local time calculations + if ($ns < 3600) { + $AUS_DST=0; + } else { + $AUS_DST=1; + } + } + } else { + $AUS_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $AUS_DST\n";} + if ($AUS_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'FSO-LSM') ) + { + if ($DBX) {print " First Sunday October to Last Sunday March\n";} + #********************************************************************** + # TASMANIA ONLY + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and last Sunday in March at 1 am. + #********************************************************************** + + $AUST_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $AUST_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $AUST_DST=0; + } elseif ($mm == 3) { + if ($dd < 25) { + $AUST_DST=1; + } elseif ($dd < ($dow+25)) { + $AUST_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } else { # local time calculations + if ($ns < 3600) { + $AUST_DST=1; + } else { + $AUST_DST=0; + } + } + } else { + $AUST_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $AUST_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $AUST_DST=0; + } else { + $AUST_DST=1; + } + } + } else { + $AUST_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $AUST_DST\n";} + if ($AUST_DST) {$gmt_offset++;} + $AC_processed++; + } +if ( (!$AC_processed) and ($dst_range == 'FSO-TSM') ) + { + if ($DBX) {print " First Sunday October to Third Sunday March\n";} + #********************************************************************** + # This is s 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. + # Based on first Sunday in October and third Sunday in March at 1 am. + #********************************************************************** + + $NZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 3 || $mm > 10) { + $NZL_DST=1; + } elseif ($mm >= 4 and $mm <= 9) { + $NZL_DST=0; + } elseif ($mm == 3) { + if ($dd < 14) { + $NZL_DST=1; + } elseif ($dd < ($dow+14)) { + $NZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } else { # local time calculations + if ($ns < 3600) { + $NZL_DST=1; + } else { + $NZL_DST=0; + } + } + } else { + $NZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd > 7) { + $NZL_DST=1; + } elseif ($dd >= ($dow+1)) { + if ($timezone) { + if ($dow == 0 and $ns < (7200+$timezone*3600)) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } else { + if ($dow == 0 and $ns < 3600) { + $NZL_DST=0; + } else { + $NZL_DST=1; + } + } + } else { + $NZL_DST=0; + } + } # end of month checks + if ($DBX) {print " DST: $NZL_DST\n";} + if ($NZL_DST) {$gmt_offset++;} + $AC_processed++; + } + +if ( (!$AC_processed) and ($dst_range == 'TSO-LSF') ) + { + if ($DBX) {print " Third Sunday October to Last Sunday February\n";} + #********************************************************************** + # TSO-LSF + # This is returns 1 if Daylight Savings Time is in effect and 0 if + # Standard time is in effect. Brazil + # Based on Third Sunday October to Last Sunday February at 1 am. + #********************************************************************** + + $BZL_DST=0; + $mm = $mon; + $dd = $mday; + $ns = $dsec; + $dow= $wday; + + if ($mm < 2 || $mm > 10) { + $BZL_DST=1; + } elseif ($mm >= 3 and $mm <= 9) { + $BZL_DST=0; + } elseif ($mm == 2) { + if ($dd < 22) { + $BZL_DST=1; + } elseif ($dd < ($dow+22)) { + $BZL_DST=1; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=1; + } else { + $BZL_DST=0; + } + } + } else { + $BZL_DST=0; + } + } elseif ($mm == 10) { + if ($dd < 22) { + $BZL_DST=0; + } elseif ($dd < ($dow+22)) { + $BZL_DST=0; + } elseif ($dow == 0) { + if ($timezone) { # UTC calculations + if ($ns < (3600+($timezone-1)*3600)) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } else { # local time calculations + if ($ns < 3600) { + $BZL_DST=0; + } else { + $BZL_DST=1; + } + } + } else { + $BZL_DST=1; + } + } # end of month checks + if ($DBX) {print " DST: $BZL_DST\n";} + if ($BZL_DST) {$gmt_offset++;} + $AC_processed++; + } + +if (!$AC_processed) + { + if ($DBX) {print " No DST Method Found\n";} + if ($DBX) {print " DST: 0\n";} + $AC_processed++; + } + +return $gmt_offset; +} + + + + + +##### DETERMINE IF LEAD IS DIALABLE ##### +function dialable_gmt($DB,$link,$local_call_time,$gmt_offset,$state) +{ +$dialable=0; + +$pzone=3600 * $gmt_offset; +$pmin=(gmdate("i", time() + $pzone)); +$phour=( (gmdate("G", time() + $pzone)) * 100); +$pday=gmdate("w", time() + $pzone); +$tz = sprintf("%.2f", $p); +$GMT_gmt = "$tz"; +$GMT_day = "$pday"; +$GMT_hour = ($phour + $pmin); + +$stmt="SELECT * FROM vicidial_call_times where call_time_id='$local_call_time';"; +if ($DB) {echo "$stmt\n";} +$rslt=mysql_query($stmt, $link); +$rowx=mysql_fetch_row($rslt); +$Gct_default_start = "$rowx[3]"; +$Gct_default_stop = "$rowx[4]"; +$Gct_sunday_start = "$rowx[5]"; +$Gct_sunday_stop = "$rowx[6]"; +$Gct_monday_start = "$rowx[7]"; +$Gct_monday_stop = "$rowx[8]"; +$Gct_tuesday_start = "$rowx[9]"; +$Gct_tuesday_stop = "$rowx[10]"; +$Gct_wednesday_start = "$rowx[11]"; +$Gct_wednesday_stop = "$rowx[12]"; +$Gct_thursday_start = "$rowx[13]"; +$Gct_thursday_stop = "$rowx[14]"; +$Gct_friday_start = "$rowx[15]"; +$Gct_friday_stop = "$rowx[16]"; +$Gct_saturday_start = "$rowx[17]"; +$Gct_saturday_stop = "$rowx[18]"; +$Gct_state_call_times = "$rowx[19]"; + +if ($GMT_day==0) #### Sunday local time + { + if (($Gct_sunday_start==0) and ($Gct_sunday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_sunday_start) and ($GMT_hour<$Gct_sunday_stop) ) + {$dialable=1;} + } + } +if ($GMT_day==1) #### Monday local time + { + if (($Gct_monday_start==0) and ($Gct_monday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_monday_start) and ($GMT_hour<$Gct_monday_stop) ) + {$dialable=1;} + } + } +if ($GMT_day==2) #### Tuesday local time + { + if (($Gct_tuesday_start==0) and ($Gct_tuesday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_tuesday_start) and ($GMT_hour<$Gct_tuesday_stop) ) + {$dialable=1;} + } + } +if ($GMT_day==3) #### Wednesday local time + { + if (($Gct_wednesday_start==0) and ($Gct_wednesday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_wednesday_start) and ($GMT_hour<$Gct_wednesday_stop) ) + {$dialable=1;} + } + } +if ($GMT_day==4) #### Thursday local time + { + if (($Gct_thursday_start==0) and ($Gct_thursday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_thursday_start) and ($GMT_hour<$Gct_thursday_stop) ) + {$dialable=1;} + } + } +if ($GMT_day==5) #### Friday local time + { + if (($Gct_friday_start==0) and ($Gct_friday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_friday_start) and ($GMT_hour<$Gct_friday_stop) ) + {$dialable=1;} + } + } +if ($GMT_day==6) #### Saturday local time + { + if (($Gct_saturday_start==0) and ($Gct_saturday_stop==0)) + { + if ( ($GMT_hour>=$Gct_default_start) and ($GMT_hour<$Gct_default_stop) ) + {$dialable=1;} + } + else + { + if ( ($GMT_hour>=$Gct_saturday_start) and ($GMT_hour<$Gct_saturday_stop) ) + {$dialable=1;} + } + } + +return $dialable; +} + +/* + $ct_states = ''; + $ct_state_gmt_SQL = ''; + $ct_srs=0; + $b=0; + if (strlen($Gct_state_call_times)>2) + { + $state_rules = explode('|',$Gct_state_call_times); + $ct_srs = ((count($state_rules)) - 2); + } + while($ct_srs >= $b) + { + if ( (strlen($state_rules[$b])>1) and (strlen($state)>1) ) + { + $stmt="SELECT * from vicidial_state_call_times where state_call_time_id='$state_rules[$b]' and state_call_time_state='$state';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $Gstate_call_time_id = "$row[0]"; + $Gstate_call_time_state = "$row[1]"; + $Gsct_default_start = "$row[4]"; + $Gsct_default_stop = "$row[5]"; + $Gsct_sunday_start = "$row[6]"; + $Gsct_sunday_stop = "$row[7]"; + $Gsct_monday_start = "$row[8]"; + $Gsct_monday_stop = "$row[9]"; + $Gsct_tuesday_start = "$row[10]"; + $Gsct_tuesday_stop = "$row[11]"; + $Gsct_wednesday_start = "$row[12]"; + $Gsct_wednesday_stop = "$row[13]"; + $Gsct_thursday_start = "$row[14]"; + $Gsct_thursday_stop = "$row[15]"; + $Gsct_friday_start = "$row[16]"; + $Gsct_friday_stop = "$row[17]"; + $Gsct_saturday_start = "$row[18]"; + $Gsct_saturday_stop = "$row[19]"; + + $ct_states .="'$Gstate_call_time_state',"; + + $r=0; + $state_gmt=''; + while($r < $g) + { + if ($GMT_day[$r]==0) #### Sunday local time + { + if (($Gsct_sunday_start==0) and ($Gsct_sunday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_sunday_start) and ($GMT_hour[$r]<$Gsct_sunday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==1) #### Monday local time + { + if (($Gsct_monday_start==0) and ($Gsct_monday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_monday_start) and ($GMT_hour[$r]<$Gsct_monday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==2) #### Tuesday local time + { + if (($Gsct_tuesday_start==0) and ($Gsct_tuesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_tuesday_start) and ($GMT_hour[$r]<$Gsct_tuesday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==3) #### Wednesday local time + { + if (($Gsct_wednesday_start==0) and ($Gsct_wednesday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_wednesday_start) and ($GMT_hour[$r]<$Gsct_wednesday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==4) #### Thursday local time + { + if (($Gsct_thursday_start==0) and ($Gsct_thursday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_thursday_start) and ($GMT_hour[$r]<$Gsct_thursday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==5) #### Friday local time + { + if (($Gsct_friday_start==0) and ($Gsct_friday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_friday_start) and ($GMT_hour[$r]<$Gsct_friday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + if ($GMT_day[$r]==6) #### Saturday local time + { + if (($Gsct_saturday_start==0) and ($Gsct_saturday_stop==0)) + { + if ( ($GMT_hour[$r]>=$Gsct_default_start) and ($GMT_hour[$r]<$Gsct_default_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + else + { + if ( ($GMT_hour[$r]>=$Gsct_saturday_start) and ($GMT_hour[$r]<$Gsct_saturday_stop) ) + {$state_gmt.="'$GMT_gmt[$r]',";} + } + } + $r++; + } + $state_gmt = "$state_gmt'99'"; + $ct_state_gmt_SQL .= "or (state='$Gstate_call_time_state' and gmt_offset_now IN($state_gmt)) "; + } + + $b++; + } + if (strlen($ct_states)>2) + { + $ct_states = eregi_replace(",$",'',$ct_states); + $ct_statesSQL = "and state NOT IN($ct_states)"; + } + else + { + $ct_statesSQL = ""; + } + +*/ + + + + +##### Logging ##### +function api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data) +{ +if ($api_logging > 0) + { + $NOW_TIME = date("Y-m-d H:i:s"); +# api_log($link,$api_logging,$api_script,$user,$agent_user,$function,$value,$result,$result_reason,$source,$data); + $stmt="INSERT INTO vicidial_api_log set user='$user',agent_user='$agent_user',function='$function',value='$value',result='$result',result_reason='$result_reason',source='$source',data='$data',api_date='$NOW_TIME',api_script='$api_script';"; + $rslt=mysql_query($stmt, $link); + } +return 1; +} + +?> diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/phone_stats.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/phone_stats.php new file mode 100644 index 00000000..8a3f186d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/phone_stats.php @@ -0,0 +1,245 @@ + LICENSE: AGPLv2 +# +# +# changes: +# 60620-1333 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# 60927-1548 - Changed to vicidial_users for authentication +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["begin_date"])) {$begin_date=$_GET["begin_date"];} + elseif (isset($_POST["begin_date"])) {$begin_date=$_POST["begin_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["full_name"])) {$full_name=$_GET["full_name"];} + elseif (isset($_POST["full_name"])) {$full_name=$_POST["full_name"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$admin_page = './admin.php'; + +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and view_reports='1';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-ASTERISK\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "ASTERISK|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + + ##### get server listing for dynamic pulldown + $stmt="SELECT fullname from phones where server_ip='$server_ip' and extension='$extension'"; + $rsltx=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rsltx); + $fullname = $row[0]; + } + else + { + fwrite ($fp, "ASTERISK|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +?> + + +VICIDIAL ADMIN: Phone Stats + + +
    + + + + + + + +\n"; +echo "
      VICIDIAL ADMIN: Administration  
      LIST ALL PHONES | ADD A NEW PHONE | SEARCH FOR A PHONE | ADD A SERVER | LIST ALL SERVERS
      SHOW ALL CONFERENCES | ADD A NEW CONFERENCE
      \n"; + +echo "
    \n"; +echo "\n"; +echo "\n"; +echo " to \n"; +echo "  \n"; +echo "\n"; + + +echo "           $user - $full_name\n"; + +echo "
    \n"; + + + $stmt="SELECT count(*),channel_group, sum(length_in_sec) from call_log where extension='" . mysql_real_escape_string($extension) . "' and server_ip='" . mysql_real_escape_string($server_ip) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' group by channel_group order by channel_group"; + $rslt=mysql_query($stmt, $link); + $statuses_to_print = mysql_num_rows($rslt); +# echo "|$stmt|\n"; + +echo "
    \n"; + +echo "CALL TIME AND CHANNELS:\n"; + +echo "
    \n"; +echo "\n"; + + $total_calls=0; + $o=0; + while ($statuses_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $call_seconds = $row[2]; + $call_hours = ($call_seconds / 3600); + $call_hours = round($call_hours, 2); + $call_hours_int = intval("$call_hours"); + $call_minutes = ($call_hours - $call_hours_int); + $call_minutes = ($call_minutes * 60); + $call_minutes_int = round($call_minutes, 0); + if ($call_minutes_int < 10) {$call_minutes_int = "0$call_minutes_int";} + + echo ""; + echo "\n"; + echo "\n"; + $total_calls = ($total_calls + $row[0]); + + $call_seconds=0; + $o++; + } + + $stmt="SELECT sum(length_in_sec) from call_log where extension='" . mysql_real_escape_string($extension) . "' and server_ip='" . mysql_real_escape_string($server_ip) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59'"; + $rslt=mysql_query($stmt, $link); + $counts_to_print = mysql_num_rows($rslt); + $row=mysql_fetch_row($rslt); + $call_seconds = $row[0]; + $call_hours = ($call_seconds / 3600); + $call_hours = round($call_hours, 2); + $call_hours_int = intval("$call_hours"); + $call_minutes = ($call_hours - $call_hours_int); + $call_minutes = ($call_minutes * 60); + $call_minutes_int = round($call_minutes, 0); + if ($call_minutes_int < 10) {$call_minutes_int = "0$call_minutes_int";} +# echo "|$stmt|\n"; + +echo "\n"; +echo "
    CHANNEL GROUP COUNT HOURS:MINUTES
    $row[1] $row[0] $call_hours_int:$call_minutes_int
    TOTAL CALLS $total_calls $call_hours_int:$call_minutes_int
    \n"; +echo "

    \n"; + +echo "
    \n"; + +echo "LAST 1000 CALLS FOR DATE RANGE:\n"; +echo "\n"; +echo "\n"; + + $stmt="SELECT number_dialed,channel_group,start_time,length_in_min from call_log where extension='" . mysql_real_escape_string($extension) . "' and server_ip='" . mysql_real_escape_string($server_ip) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' LIMIT 1000"; + $rslt=mysql_query($stmt, $link); + $events_to_print = mysql_num_rows($rslt); +# echo "|$stmt|\n"; + + $total_calls=0; + $o=0; + $event_start_seconds=''; + $event_stop_seconds=''; + while ($events_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + echo ""; + echo "\n"; + echo "\n"; + echo "\n"; + + + $call_seconds=0; + $o++; + } + + +echo "
    NUMBER CHANNEL GROUP DATE LENGTH(MIN.)
    $row[0] $row[1] $row[2] $row[3]
    \n"; + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n\n"; + + +echo "\n\n\n


    \nscript runtime: $RUNtime seconds
    "; + + +?> + + +
    + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/quick.mid b/agc_2-X/branches/agc_2.0.5/www/vicidial/quick.mid new file mode 100644 index 0000000000000000000000000000000000000000..99406b01b5a4b43f3e3fb6e24424f15500f7162d GIT binary patch literal 137 zcmeYb$w*;fU|<7cMur2vAw}6hRw2U%1qOx)dt4<7 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/record_conf_1_hour.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/record_conf_1_hour.php new file mode 100644 index 00000000..e6499b60 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/record_conf_1_hour.php @@ -0,0 +1,156 @@ + LICENSE: AGPLv2 +# +# grab: $server_ip $station $session_id +# +# CHANGES +# +# 60620-1011 - Added variable filtering to eliminate SQL injection attack threat +# - Added required user/pass to gain access to this page +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["station"])) {$station=$_GET["station"];} + elseif (isset($_POST["station"])) {$station=$_POST["station"];} +if (isset($_GET["session_id"])) {$session_id=$_GET["session_id"];} + elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} +if (isset($_GET["NEW_RECORDING"])) {$NEW_RECORDING=$_GET["NEW_RECORDING"];} + elseif (isset($_POST["NEW_RECORDING"])) {$NEW_RECORDING=$_POST["NEW_RECORDING"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$MYSQL_datetime = date("Y-m-d H:i:s"); +$FILE_datetime = date("Ymd-His_"); +$secX = $STARTtime; + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + + $stmt="SELECT full_name from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + + } + + + + +?> + + +VICIDIAL RECORD CONFERENCE: 1 hour +\n"; +?> + + +
    + + 8) && (strlen($session_id) > 3) && (strlen($station) > 3) ) + { + $local_DEF = 'Local/'; + $local_AMP = '@'; + $conf_silent_prefix = '7'; + $ext_context = 'demo'; + + $stmt="INSERT INTO vicidial_manager values('','','$MYSQL_datetime','NEW','N','" . mysql_real_escape_string($server_ip) . "','','Originate','RB$FILE_datetime" . mysql_real_escape_string($station) . "','Channel: $local_DEF$conf_silent_prefix" . mysql_real_escape_string($session_id) . "$local_AMP$ext_context','Context: $ext_context','Exten: 8309','Priority: 1','Callerid: $FILE_datetime" . mysql_real_escape_string($station) . "','','','','','')"; + echo "|$stmt|\n

    \n"; + $rslt=mysql_query($stmt, $link); + + $stmt="INSERT INTO recording_log (channel,server_ip,extension,start_time,start_epoch,filename) values('" . mysql_real_escape_string($session_id) . "','" . mysql_real_escape_string($server_ip) . "','" . mysql_real_escape_string($station) . "','$MYSQL_datetime','$secX','$FILE_datetime" . mysql_real_escape_string($station) . "')"; + echo "|$stmt|\n

    \n"; + $rslt=mysql_query($stmt, $link); + + echo "Recording started\n

    \n"; + echo "Back to main recording screen\n

    \n"; + } + else + { + echo "ERROR!!!! Not all info entered properly\n

    \n"; + echo "|$server_ip| |$session_id| |$station|\n

    \n"; + echo "Back to main recording screen\n

    \n"; + } +} +else +{ +echo "
    Start recording a conference for 1 hour: \n"; +echo "\n"; +echo "server_ip: | \n"; +echo "session_id: | \n"; +echo "station: | \n"; +echo "\n"; +echo "


    \n"; + + + +} +?> + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/recording_lookup.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/recording_lookup.php new file mode 100644 index 00000000..80a63cc0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/recording_lookup.php @@ -0,0 +1,170 @@ + LICENSE: AGPLv2 +# + +# CHANGES +# 71015-0845 - First build +# 71112-1347 - added GSM option +# + +$STARTtime = date("U"); +$TODAYstart = date("H/i/s 00:00:00"); + +$linkAST=mysql_connect("10.10.10.15", "cron", "1234"); +mysql_select_db("asterisk"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["QUERY_recid"])) {$QUERY_recid=$_GET["QUERY_recid"];} + elseif (isset($_POST["QUERY_recid"])) {$QUERY_recid=$_POST["QUERY_recid"];} + +$web_server = '1.1.1.1'; +$US='_'; + + if( (eregi("VDC",$PHP_AUTH_USER)) or (eregi("VDC",$PHP_AUTH_PW)) ) + { +# $package=''; + } + else + { + Header("WWW-Authenticate: Basic realm=\"VICI-VERIF\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + + $fp = fopen ("/usr/local/apache2/htdocs/vicidial/auth_entries.txt", "a"); + $date = date("r"); + $ip = getenv("REMOTE_ADDR"); + $browser = getenv("HTTP_USER_AGENT"); + fwrite ($fp, "AUTH|VDC |$date|$username|$passwd|$ip|$QUERY_recid|$browser|\n"); + fclose($fp); + +?> + + +Recording ID Lookup: + + + +
    \n"; + +#echo "
    \n"; + +if (strlen($QUERY_recid)<10) +{ +echo "Please enter a recording ID(customer phone number) below:\n"; +} +else +{ +$logs_to_print=0; +echo "searching for: $QUERY_recid\n"; +echo "
    \n";
    +
    +	$stmt="select recording_id,lead_id,user,filename,location,start_time,length_in_sec from recording_log where filename LIKE \"%$QUERY_recid%\" order by recording_id desc LIMIT 1;";
    +	$rslt=mysql_query($stmt, $linkAST);
    +	$logs_to_print = mysql_num_rows($rslt);
    +#echo "|$stmt|";
    +
    +$u=0;
    +if ($logs_to_print)
    +	{
    +	$row=mysql_fetch_row($rslt);
    +	$phone = $QUERY_recid;
    +	$recording_id = $row[0]; 
    +	$lead_id =		$row[1]; 
    +	$user =			$row[2];
    +	$filename =		$row[3];
    +	$location =		$row[4];
    +	$start_time =	$row[5];
    +	$length_in_sec = $row[6];
    +		$AUDname =	explode("/",$location);
    +		$AUDnamect =	(count($AUDname)) - 1;
    +
    +	
    +	eregi_replace('10.10.10.16','10.10.10.16',$AUDname[$AUDnamect]);
    +
    +	echo "Call Date/Time:        $start_time\n";
    +	echo "Recording Length:      $length_in_sec\n";
    +	echo "Phone Number:          $phone\n";
    +	echo "Recording ID:          $recording_id\n";
    +	echo "Agent:                 $user\n";
    +#	echo "filename:              $filename\n";
    +#	echo "Location:              $location\n";
    +#	echo "AUDname:               $AUDname[$AUDnamect]\n";
    +	echo "Unique ID:             $lead_id\n";
    +
    +$fileGSM=$AUDname[$AUDnamect];
    +$locationGSM=$location;
    +$fileGSM = eregi_replace('.wav','.gsm',$fileGSM);
    +if (!eregi('gsm',$locationGSM))
    +{
    +$locationGSM = eregi_replace('10.10.10.16','10.10.10.16/GSM',$locationGSM);
    +$locationGSM = eregi_replace('.wav','.gsm',$locationGSM);
    +}
    +	passthru("/usr/local/apache2/htdocs/vicidial/wget --output-document=/usr/local/apache2/htdocs/vicidial/temp/$AUDname[$AUDnamect] $location\n");
    +	passthru("/usr/local/apache2/htdocs/vicidial/wget --output-document=/usr/local/apache2/htdocs/vicidial/temp/$fileGSM $locationGSM\n");
    +
    +	echo "Link Uncompressed WAV: $AUDname[$AUDnamect]\n";
    +	echo "Link Compressed GSM:   $fileGSM\n";
    +
    +	}
    +
    +else
    +	{
    +	echo "ERROR:        $QUERY_recid\n";
    +	}
    +
    +
    +echo "
    \n"; + +} + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n\n"; +echo "\n"; +echo "\n"; +echo "\n"; + + +echo "\n\n\n


    \nscript runtime: $RUNtime seconds"; + + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/recording_lookup_DIRECT.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/recording_lookup_DIRECT.php new file mode 100644 index 00000000..5db6f1e0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/recording_lookup_DIRECT.php @@ -0,0 +1,143 @@ + LICENSE: AGPLv2 +# + +# CHANGES +# 71112-1409 - First Build +# + +$STARTtime = date("U"); +$TODAYstart = date("H/i/s 00:00:00"); + +$linkAST=mysql_connect("10.10.10.15", "cron", "1234"); +mysql_select_db("asterisk"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["format"])) {$format=$_GET["format"];} + elseif (isset($_POST["format"])) {$format=$_POST["format"];} +if (isset($_GET["auth"])) {$auth=$_GET["auth"];} + elseif (isset($_POST["auth"])) {$auth=$_POST["auth"];} + +$US='_'; + + if(eregi("VDC1234593JH654398722",$auth)) + {$nothing=1;} + else + { + echo "auth code: |$auth|\n"; + exit; + } + + $fp = fopen ("/usr/local/apache2/htdocs/vicidial/auth_entries.txt", "a"); + $date = date("r"); + $ip = getenv("REMOTE_ADDR"); + $browser = getenv("HTTP_USER_AGENT"); + fwrite ($fp, "AUTH|VDC |$date|$auth|$ip|$phone|$format|$browser|\n"); + fclose($fp); + +if (strlen($format)<3) {$format='WAV';} +if ( (strlen($phone)<10) or (strlen($phone)>10) ) + { + echo "\n"; + echo "\n"; + echo "Recording ID Lookup: \n"; + echo "\n"; + echo "\n"; + echo "

    \n"; + echo "You need to use only a 10-digit phone number
    \n"; + echo "recording_lookup_DIRECT.php?format=WAV&phone=7275551212&auth=VDC1234593JH654398722\n
    "; + exit; + } +else + { + $stmt="select recording_id,filename,location,start_time from recording_log where filename LIKE \"%$phone%\" order by recording_id desc LIMIT 1;"; + $rslt=mysql_query($stmt, $linkAST); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + if ($logs_to_print) + { + $row=mysql_fetch_row($rslt); + $recording_id = $row[0]; + $filename = $row[1]; + $location = $row[2]; + $start_time = $row[3]; + $AUDname = explode("/",$location); + $AUDnamect = (count($AUDname)) - 1; + + eregi_replace('10.10.10.16','10.10.10.16',$AUDname[$AUDnamect]); + + $fileGSM=$AUDname[$AUDnamect]; + $locationGSM=$location; + $fileGSM = eregi_replace('.wav','.gsm',$fileGSM); + if (!eregi('gsm',$locationGSM)) + { + $locationGSM = eregi_replace('10.10.10.16','10.10.10.16/GSM',$locationGSM); + $locationGSM = eregi_replace('.wav','.gsm',$locationGSM); + } + if ($format == 'WAV') + { + exec("/usr/local/apache2/htdocs/vicidial/wget --output-document=/usr/local/apache2/htdocs/vicidial/temp/$AUDname[$AUDnamect] $location\n"); + + $AUDIOfile = "/usr/local/apache2/htdocs/vicidial/temp/$AUDname[$AUDnamect]"; + $AUDIOfilename = "$AUDname[$AUDnamect]"; + // We'll be outputting a PDF + header('Content-type: audio/wav'); + // It will be named properly + header("Content-Disposition: attachment; filename=\"$AUDIOfilename\""); + // The PDF source is in original.pdf + readfile($AUDIOfile); + } + + if ($format == 'GSM') + { + passthru("/usr/local/apache2/htdocs/vicidial/wget --output-document=/usr/local/apache2/htdocs/vicidial/temp/$fileGSM $locationGSM\n"); + + $AUDIOfile = "/usr/local/apache2/htdocs/vicidial/temp/$fileGSM"; + $AUDIOfilename = "$fileGSM"; + // We'll be outputting a PDF + header('Content-type: audio/gsm'); + // It will be named properly + header("Content-Disposition: attachment; filename=\"$AUDIOfilename\""); + // The PDF source is in original.pdf + readfile($AUDIOfile); + } + } + + else + { + echo "ERROR: $phone|$format\n"; + } + + } +?> diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/remote_dispo.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/remote_dispo.php new file mode 100644 index 00000000..c8a18df0 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/remote_dispo.php @@ -0,0 +1,329 @@ + LICENSE: AGPLv2 +# +# this is the remote agent disposition screen for calls sent to remote agents. +# This allows the remote agent to modify customer information and disposition +# the call +# +# CHANGES +# +# 60619-1626 - Added variable filtering to eliminate SQL injection attack threat +# + + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];} + elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["channel_group"])) {$channel_group=$_GET["channel_group"];} + elseif (isset($_POST["channel_group"])) {$channel_group=$_POST["channel_group"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["customer_zap_channel"])) {$customer_zap_channel=$_GET["customer_zap_channel"];} + elseif (isset($_POST["customer_zap_channel"])) {$customer_zap_channel=$_POST["customer_zap_channel"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];} + elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];} + elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["security"])) {$security=$_GET["security"];} + elseif (isset($_POST["security"])) {$security=$_POST["security"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_id"])) {$session_id=$_GET["session_id"];} + elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];} + elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$FILE_datetime = $STARTtime; + +$ext_context = 'demo'; +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 2;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICIDIAL-CLOSER\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + $fullname = $row[0]; + fwrite ($fp, "VD_CLOSER|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + + } + else + { + fwrite ($fp, "VD_CLOSER|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +?> + + +VICIDIAL REMOTE: Call Disposition +\n"; +?> + + +
    + +"; + +if ($end_call > 0) +{ + +$call_length = ($STARTtime - $call_began); + + ### insert a NEW record to the vicidial_closer_log table + $stmt="UPDATE vicidial_closer_log set end_epoch='$STARTtime', length_in_sec='" . mysql_real_escape_string($call_length) . "', status='" . mysql_real_escape_string($status) . "', user='$PHP_AUTH_USER' where lead_id='" . mysql_real_escape_string($lead_id) . "' order by start_epoch desc limit 1;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + ### update the lead record in the vicidial_list table + $stmt="UPDATE vicidial_list set status='" . mysql_real_escape_string($status) . "',first_name='" . mysql_real_escape_string($first_name) . "',last_name='" . mysql_real_escape_string($last_name) . "',address1='" . mysql_real_escape_string($address1) . "',address2='" . mysql_real_escape_string($address2) . "',address3='" . mysql_real_escape_string($address3) . "',city='" . mysql_real_escape_string($city) . "',state='" . mysql_real_escape_string($state) . "',province='" . mysql_real_escape_string($province) . "',postal_code='" . mysql_real_escape_string($postal_code) . "',country_code='" . mysql_real_escape_string($country_code) . "',alt_phone='" . mysql_real_escape_string($alt_phone) . "',email='" . mysql_real_escape_string($email) . "',security_phrase='" . mysql_real_escape_string($security) . "',comments='" . mysql_real_escape_string($comments) . "',user='$PHP_AUTH_USER' where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + echo "Call has been dispositioned       $NOW_TIME\n

    \n"; + + echo "
    \n"; + +} +else +{ + $stmt="SELECT count(*) from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_count = $row[0]; + + if ($lead_count > 0) + { + + $stmt="SELECT * from vicidial_list where lead_id='" . mysql_real_escape_string($lead_id) . "'"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $lead_id = "$row[0]"; + $tsr = "$row[4]"; + $vendor_id = "$row[5]"; + $list_id = "$row[7]"; + $campaign_id = "$row[8]"; + $phone_code = "$row[10]"; + $phone_number = "$row[11]"; + $title = "$row[12]"; + $first_name = "$row[13]"; # + $middle_initial = "$row[14]"; + $last_name = "$row[15]"; # + $address1 = "$row[16]"; # + $address2 = "$row[17]"; # + $address3 = "$row[18]"; # + $city = "$row[19]"; # + $state = "$row[20]"; # + $province = "$row[21]"; # + $postal_code = "$row[22]"; # + $country_code = "$row[23]"; # + $gender = "$row[24]"; + $date_of_birth = "$row[25]"; + $alt_phone = "$row[26]"; # + $email = "$row[27]"; # + $security = "$row[28]"; # + $comments = "$row[29]"; # + + echo "
    Call information: $first_name $last_name - $phone_number

    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + echo "\n"; + echo "
    Vendor ID: $vendor_id     Campaign ID: $campaign_id
    Fronter: $tsr     List ID: $list_id
    First Name:   \n"; + echo " Last Name:
    Address 1 :
    Address 2 :
    Address 3 :
    City :
    State:   \n"; + echo " Postal Code:
    Province :
    Country :
    Alt Phone :
    Email :
    Security :
    Comments :
    Disposition:
    \n"; + echo "


    \n"; + + } + else + { + echo "lead lookup FAILED for lead_id $lead_id       $NOW_TIME\n

    \n"; +# echo "Close this window\n

    \n"; + } + + + + + + +} + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n\n"; + + +echo "\n\n\n


    \nscript runtime: $RUNtime seconds
    "; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/short_long.mid b/agc_2-X/branches/agc_2.0.5/www/vicidial/short_long.mid new file mode 100644 index 0000000000000000000000000000000000000000..f10433c2b53dd2f7574f71cb17c1074da4e1df4b GIT binary patch literal 226 zcmXYr&1%9>5QUG4q}8>HEN5jc6b!|cD}OeE4gNHXc3U#!2Cv={qgE_f>#9pL;h$xF?Bn(1_|%!Z$pDat3a$>6-!*sR~p zmJ90BT;-ZZJMp<%yEDG0$0+JiY~FIsTs+WFYg*=+Dz~&`vFtg8TlkH;3ht#|_rhDa zS5Kg>i+}u7@IlPlq(@i+tZb`KSQaVI+8~6zIpYTd*yaG&$vOIxl71l(-@ZM`)yH2X F@C#<`LWckV literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/sph_report.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/sph_report.php new file mode 100644 index 00000000..78a4144e --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/sph_report.php @@ -0,0 +1,567 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 80502-0857 - First build +# 80506-0228 - Added user field to search by +# + +require("dbconnect.php"); + +##### Pull values from posted form variables ##### +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["role"])) {$role=$_GET["role"];} + elseif (isset($_POST["role"])) {$role=$_POST["role"];} +if (isset($_GET["order"])) {$order=$_GET["order"];} + elseif (isset($_POST["order"])) {$order=$_POST["order"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +if (strlen($shift)<2) {$shift='ALL';} +if (strlen($role)<2) {$role='ALL';} +if (strlen($order)<2) {$order='sales_down';} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} + +$stmt="select campaign_id from vicidial_campaigns;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$campaigns_to_print = mysql_num_rows($rslt); +$i=0; + $LISTcampaigns[$i]='---NONE---'; + $i++; + $campaigns_to_print++; +while ($i < $campaigns_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTcampaigns[$i] =$row[0]; + $i++; + } + +$stmt="select group_id from vicidial_inbound_groups;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; + $LISTgroups[$i]='---NONE---'; + $i++; + $groups_to_print++; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTgroups[$i] =$row[0]; + $i++; + } + +$stmt="select user_group from vicidial_user_groups;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$user_groups_to_print = mysql_num_rows($rslt); +$i=0; + $LISTuser_groups[$i]='---ALL---'; + $i++; + $user_groups_to_print++; +while ($i < $user_groups_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTuser_groups[$i] =$row[0]; + $i++; + } + +##### START HTML ##### +?> + + + + + + + +VICIDIAL: Agent SPH Report + + + + 0) + { + echo "
    \n"; + echo "$campaign_ct|$campaign_string|$campaign_SQL\n"; + echo "
    \n"; + echo "$group_ct|$group_string|$group_SQL\n"; + echo "
    \n"; + echo "$user_group_ct|$user_group_string|$user_group_SQL\n"; + echo "
    \n"; + echo "$role|$role_SQL\n"; + echo "
    \n"; + + } + +echo "
    \n"; +echo "
    \n"; +echo ""; +echo "
    \n"; + +echo "Date Range:
    \n"; +echo ""; +echo "
    to
    \n"; +echo "\n"; +/* +echo "
    \n"; +echo "Campaigns:
    \n"; +echo "\n"; +*/ +echo "
    \n"; +echo "Inbound Groups:
    \n"; +echo "\n"; +echo "
    \n"; +echo "User Groups:
    \n"; +echo "\n"; +echo "
    \n"; +echo "Shift:
    \n"; +echo " \n"; + +echo "
    \n"; +echo "Role:
    \n"; +echo " \n"; + +echo "
    \n"; +echo "     REPORTS \n"; + +echo "
    \n"; +echo "Order:
    \n"; +echo "
    \n"; + +echo "
    \n"; +echo "User:
    \n"; +echo "\n"; + +echo "
    \n"; +echo "\n"; +echo "
    \n"; +echo "
    \n\n"; + +echo "
    \n";
    +
    +
    +if ($group_ct < 1)
    +{
    +echo "\n";
    +echo "PLEASE SELECT AN IN-GROUP AND DATE RANGE ABOVE AND CLICK SUBMIT\n";
    +echo " NOTE: stats taken from shift specified\n";
    +}
    +
    +else
    +{
    +/*
    +if ($shift == 'AM') 
    +	{
    +	$time_BEGIN=$AM_shift_BEGIN;
    +	$time_END=$AM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "03:45:00";}   
    +	if (strlen($time_END) < 6) {$time_END = "15:15:00";}
    +	}
    +if ($shift == 'PM') 
    +	{
    +	$time_BEGIN=$PM_shift_BEGIN;
    +	$time_END=$PM_shift_END;
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "15:15:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:15:00";}
    +	}
    +if ($shift == 'ALL') 
    +	{
    +	if (strlen($time_BEGIN) < 6) {$time_BEGIN = "00:00:00";}
    +	if (strlen($time_END) < 6) {$time_END = "23:59:59";}
    +	}
    +$query_date_BEGIN = "$query_date $time_BEGIN";   
    +$query_date_END = "$end_date $time_END";
    +
    +if (strlen($user_group)>0) {$ugSQL="and vicidial_agent_log.user_group='$user_group'";}
    +else {$ugSQL='';}
    +*/
    +
    +echo "VICIDIAL: Agent SPH Report                        $NOW_TIME\n";
    +
    +echo "Time range: $query_date to $end_date\n\n";
    +echo "---------- AGENTS SPH DETAILS -------------\n
    \n"; + +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +$order_SQL=''; +if ($order == 'sph_up') {$order_SQL = "order by full_name,campaign_group_id,role";} +if ($order == 'sph_down') {$order_SQL = "order by full_name,campaign_group_id,role";} +if ($order == 'hours_up') {$order_SQL = "order by login";} +if ($order == 'hours_down') {$order_SQL = "order by login desc";} +if ($order == 'sales_up') {$order_SQL = "order by sales, sph desc";} +if ($order == 'sales_down') {$order_SQL = "order by sales desc, sph";} +if ($order == 'calls_up') {$order_SQL = "order by calls";} +if ($order == 'calls_down') {$order_SQL = "order by calls desc";} +if ($order == 'user_up') {$order_SQL = "order by vicidial_users.user";} +if ($order == 'user_down') {$order_SQL = "order by vicidial_users.user desc";} +if ($order == 'name_up') {$order_SQL = "order by full_name";} +if ($order == 'name_down') {$order_SQL = "order by full_name desc";} + +if (strlen($user) > 0) {$user_SQL = "and vicidial_agent_sph.user='$user'";} +else {$user_SQL='';} + +$stmt="select vicidial_users.user,full_name,role,campaign_group_id,sum(login_sec) as login,sum(calls) as calls,sum(sales) as sales,avg(sph) as sph from vicidial_users,vicidial_agent_sph where stat_date >= '$query_date' and stat_date <= '$end_date' and shift='$shift' and vicidial_users.user=vicidial_agent_sph.user and campaign_group_id IN($group_SQL) $role_SQL $user_SQL group by vicidial_users.user,campaign_group_id,role $order_SQL limit 100000;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$rows_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $rows_to_print) + { + $dbHOURS=0; $dbSPH=0; + $row=mysql_fetch_row($rslt); + $user_id[$i] = $row[0]; + $full_name[$i] = $row[1]; + $roleX[$i] = $row[2]; + $group[$i] = $row[3]; + $login_sec[$i] = $row[4]; $TOTlogin_sec = ($TOTlogin_sec + $row[4]); + $calls[$i] = $row[5]; $TOTcalls = ($TOTcalls + $row[5]); + $sales[$i] = $row[6]; $TOTsales = ($TOTsales + $row[6]); + + if ($login_sec[$i] > 0) + { + $dbHOURS = ($login_sec[$i] / 3600); + if ($sales[$i] > 0) + { + $dbSPH = ( $sales[$i] / $dbHOURS ); + $dbSPH = round($dbSPH, 2); + $dbSPH = sprintf("%01.2f", $dbSPH); + } + else + {$dbSPH='0.00';} + $dbHOURS = round($dbHOURS, 2); + $dbHOURS = sprintf("%01.2f", $dbHOURS); + } + else + {$dbHOURS='0.00';} + + $sph[$i] = $dbSPH; + $hours[$i] = $dbHOURS; + + $sphSORT[$i] = "$dbSPH-----$i"; + $hoursSORT[$i] = "$dbHOURS-----$i"; + + $i++; + } + +### Sort by sph if selected +if ($order == 'sph_up') + { + sort($sphSORT, SORT_NUMERIC); + } +if ($order == 'sph_down') + { + rsort($sphSORT, SORT_NUMERIC); + } + +$j=0; +while ($j < $rows_to_print) + { + + $sph_split = explode("-----",$sphSORT[$j]); + $i = $sph_split[1]; + + if (eregi("1$|3$|5$|7$|9$", $j)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + + $j++; + } + + +if ($TOTlogin_sec > 0) + { + $TOTdbHOURS = ($TOTlogin_sec / 3600); + if ($TOTsales > 0) + { + $TOTdbSPH = ( $TOTsales / $TOTdbHOURS ); + $TOTdbSPH = round($TOTdbSPH, 2); + $TOTdbSPH = sprintf("%01.2f", $TOTdbSPH); + } + else + {$TOTdbSPH='0.00';} + $TOTdbHOURS = round($TOTdbHOURS, 0); + $TOTdbHOURS = sprintf("%01.0f", $TOTdbHOURS); + } +else + {$TOTdbHOURS='0.00';} + +$TOTsph = $TOTdbSPH; +$TOThours = $TOTdbHOURS; + + +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; + +echo "
    #  USER    NAME    ROLE    GROUP    CALLS    HOURS    SALES    SPH  
    $j$user_id[$i] $full_name[$i] $roleX[$i] $group[$i] $calls[$i] $hours[$i] $sales[$i] $sph[$i]
    TOTALS $TOTcalls $TOThours $TOTsales $TOTsph
    \n"; + +/* + $TOTavgWAIT_M = ( ($TOTtotWAIT / $TOTcalls) / 60); + $TOTavgWAIT_M = round($TOTavgWAIT_M, 2); + $TOTavgWAIT_M_int = intval("$TOTavgWAIT_M"); + $TOTavgWAIT_S = ($TOTavgWAIT_M - $TOTavgWAIT_M_int); + $TOTavgWAIT_S = ($TOTavgWAIT_S * 60); + $TOTavgWAIT_S = round($TOTavgWAIT_S, 0); + if ($TOTavgWAIT_S < 10) {$TOTavgWAIT_S = "0$TOTavgWAIT_S";} + $TOTavgWAIT_MS = "$TOTavgWAIT_M_int:$TOTavgWAIT_S"; + $TOTavgWAIT_MS = sprintf("%6s", $TOTavgWAIT_MS); + while(strlen($TOTavgWAIT_MS)>6) {$TOTavgWAIT_MS = substr("$TOTavgWAIT_MS", 0, -1);} +*/ + + +echo "\n"; + +} + + +?> +
    + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/spreadsheet_sales_viewer.pl b/agc_2-X/branches/agc_2.0.5/www/vicidial/spreadsheet_sales_viewer.pl new file mode 100644 index 00000000..4ba2e3d6 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/spreadsheet_sales_viewer.pl @@ -0,0 +1,384 @@ +#!/usr/bin/perl +# +# spreadsheet_sales_viewer.pl version 2.0.5 +# +# Copyright (C) 2008 Joe Johnson,Matt Florell LICENSE: AGPLv2 +# +# +# CHANGES +# 70521-1734 - First build +# 70522-1554 - Changed to use DBI instead of Net::MySQL +# + +use Spreadsheet::WriteExcel; +use Time::Local; +use DBI; + +# default path to astguiclient configuration file: +$PATHconf = '/etc/astguiclient.conf'; + +open(conf, "$PATHconf") || die "can't open $PATHconf: $!\n"; +@conf = ; +close(conf); +$i=0; +foreach(@conf) + { + $line = $conf[$i]; + $line =~ s/ |>|\n|\r|\t|\#.*|;.*//gi; + if ( ($line =~ /^PATHhome/) && ($CLIhome < 1) ) + {$PATHhome = $line; $PATHhome =~ s/.*=//gi;} + if ( ($line =~ /^PATHlogs/) && ($CLIlogs < 1) ) + {$PATHlogs = $line; $PATHlogs =~ s/.*=//gi;} + if ( ($line =~ /^PATHagi/) && ($CLIagi < 1) ) + {$PATHagi = $line; $PATHagi =~ s/.*=//gi;} + if ( ($line =~ /^PATHweb/) && ($CLIweb < 1) ) + {$PATHweb = $line; $PATHweb =~ s/.*=//gi;} + if ( ($line =~ /^PATHsounds/) && ($CLIsounds < 1) ) + {$PATHsounds = $line; $PATHsounds =~ s/.*=//gi;} + if ( ($line =~ /^PATHmonitor/) && ($CLImonitor < 1) ) + {$PATHmonitor = $line; $PATHmonitor =~ s/.*=//gi;} + if ( ($line =~ /^VARserver_ip/) && ($CLIserver_ip < 1) ) + {$VARserver_ip = $line; $VARserver_ip =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_server/) && ($CLIDB_server < 1) ) + {$VARDB_server = $line; $VARDB_server =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_database/) && ($CLIDB_database < 1) ) + {$VARDB_database = $line; $VARDB_database =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_user/) && ($CLIDB_user < 1) ) + {$VARDB_user = $line; $VARDB_user =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_pass/) && ($CLIDB_pass < 1) ) + {$VARDB_pass = $line; $VARDB_pass =~ s/.*=//gi;} + if ( ($line =~ /^VARDB_port/) && ($CLIDB_port < 1) ) + {$VARDB_port = $line; $VARDB_port =~ s/.*=//gi;} + $i++; + } + +# Customized Variables +$server_ip = $VARserver_ip; # Asterisk server IP + +if (!$VARDB_port) {$VARDB_port='3306';} + +$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass") + or die "Couldn't connect to database: " . DBI->errstr; + +$list_ids=$ARGV[0]; +$sales_number=$ARGV[1]; +$timestamp=$ARGV[2]; +$forc=$ARGV[3]; +$now=$ARGV[4]; +$dcampaign=$ARGV[5]; + +$list_id_clause="and v.list_id in ("; +@lists=split(/\,/, $list_ids); +for ($i=0; $i0)) { $list_id_clause.="$lists[$i], "; } +} +$list_id_clause=substr($list_id_clause, 0, -2); +$list_id_clause.=")"; + + +if ($sales_number==0) {undef $sales_number;} + + +$xl = Spreadsheet::WriteExcel->new("$PATHweb/vicidial/vicidial_closer_report_$now.xls"); +$xlsheet = $xl->add_worksheet(); +$xlsheet->set_landscape(); +$rptheader = $xl->add_format(); # Add a format +$rptheader->set_bold(); +$rptheader->set_size('8'); +$rptheader->set_color('10'); +$rptheader->set_align('center'); + +$rptheaderLEFT = $xl->add_format(); # Add a format +$rptheaderLEFT->set_bold(); +$rptheaderLEFT->set_size('8'); +$rptheaderLEFT->set_color('10'); +$rptheaderLEFT->set_align('left'); + +$normcell = $xl->add_format(); # Add a format +$normcell->set_size('8'); +$normcell->set_align('center'); +$normcell->set_bg_color('22'); + +$boldcell = $xl->add_format(); # Add a format +$boldcell->set_bold(); +$boldcell->set_size('8'); +$boldcell->set_align('center'); +$boldcell->set_bg_color('22'); + +$dollarformat = $xl->add_format(); # Add a format +$dollarformat->set_size('8'); +$dollarformat->set_num_format('$0.00'); + +$intformat = $xl->add_format(); # Add a format +$intformat->set_size('8'); +$intformat->set_num_format('0'); + +$numberformat = $xl->add_format(); # Add a format +$numberformat->set_size('8'); +$numberformat->set_num_format('0.00'); + +$pformat = $xl->add_format(); # Add a format +$pformat->set_size('8'); +$pformat->set_num_format('0.00%'); + +$p2format = $xl->add_format(); # Add a format +$p2format->set_size('8'); +$p2format->set_num_format('0%'); + +$statcell = $xl->add_format(num_format => '@'); # Add a format +$statcell->set_size('8'); + +$countcell = $xl->add_format(); # Add a format +$countcell->set_size('8'); +$countcell->set_bg_color('35'); + +$terminateheader = $xl->add_format(); # Add a format +$terminateheader->set_bold(); +$terminateheader->set_size('8'); +$terminateheader->set_color('10'); +$terminateheader->set_num_format('0.00'); + +$xlsheet->write("B1", "Closer stats", $rptheader); +$xlsheet->write("D1", "$dcampaign", $rptheaderLEFT); +$xlsheet->write("F1", "$list_ids", $rptheaderLEFT); +$xlsheet->write("A2", "Closer Name", $rptheader); +$xlsheet->write("B2", "# of calls", $rptheader); +$xlsheet->write("C2", "# of sales", $rptheader); +$xlsheet->write("D2", "Sales percentage", $rptheader); +$xlsheet->write("E2", "Calls per hour", $rptheader); +$xlsheet->write("F2", "Sales per hour", $rptheader); +$xlsheet->write("G2", "Total time in system", $rptheader); + +%closers=(); +%fronters=(); + + + +# Non-transfer +$sales=0; +$stmtA = "select v.status, u.full_name, u.user from vicidial_users u, vicidial_list v, vicidial_log vl where vl.call_date>='$timestamp' and vl.call_date<='$now' and vl.lead_id=v.lead_id $list_id_clause and vl.user=u.user;"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + if (length($sales_number)==0 || $sales<$sales_number) + { + $closers{"$aryA[1]"}[0]++; + $fronters{"$aryA[1]"}[0]++; + if ($aryA[0] eq "SALE") + { + $sales++; + $closers{"$aryA[1]"}[1]++; + $fronters{"$aryA[1]"}[1]++; + } + } + $closers{"$aryA[1]"}[2]=$aryA[2]; + $fronters{"$aryA[1]"}[2]=$aryA[2]; + $rec_count++; + } +$sthA->finish(); + + +if ($forc eq "F") { + %closers=(); + + $sales=0; + $stmtA = "select v.status, u.full_name, u.user from vicidial_list v, vicidial_users u, vicidial_xfer_log vl where vl.call_date>='$timestamp' and vl.call_date<='$now' and vl.lead_id=v.lead_id $list_id_clause and vl.closer=u.user;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + if (!$sales_number || $sales<$sales_number) + { + $closers{"$aryA[1]"}[0]++; + if ($aryA[0] eq "SALE") + { + $sales++; + $closers{"$aryA[1]"}[1]++; + } + } + $closers{"$aryA[1]"}[2]=$aryA[2]; + $rec_count++; + } + $sthA->finish(); +} + + +$x=3; +$grand_total_time=0; +foreach $closername (sort(keys(%closers))) +{ + $closers{$closername}[0]+=0; + $closers{$closername}[1]+=0; + + $stmtA = "select sum(pause_sec+wait_sec+talk_sec), sec_to_time(sum(pause_sec+wait_sec+talk_sec)) from vicidial_agent_log where user=".$closers{$closername}[2]." and event_time>='$timestamp' and event_time<='$now' and pause_sec<28800 and wait_sec<28800 and talk_sec<28800;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $hours=($aryA[0]/3600); + $grand_total_time+=$aryA[0]; + $total_time=$aryA[1]; + $rec_count++; + } + $sthA->finish(); + $xlsheet->write("A$x", "$closername", $normcell); + $xlsheet->write("B$x", "=$closers{$closername}[0]+0", $intformat); + $xlsheet->write("C$x", "=$closers{$closername}[1]+0", $intformat); + $xlsheet->write("D$x", "=C$x/B$x", $pformat); + $xlsheet->write("E$x", "=B$x/$hours", $numberformat); + $xlsheet->write("F$x", "=C$x/$hours", $numberformat); + $xlsheet->write("G$x", "$total_time", $normcell); + $x++; +} +$hours=($grand_total_time/3600); + +$stmtA = "select sec_to_time($grand_total_time)"; +$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; +$sthA->execute or die "executing: $stmtA ", $dbhA->errstr; +$sthArows=$sthA->rows; +$rec_count=0; +while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $grand_total_time=$aryA[0]; + $rec_count++; + } +$sthA->finish(); + + +$y=($x+1); +$xlsheet->write("A$y", "Grand Total", $boldcell); +$xlsheet->write("B$y", "=SUM(B3:B$x)", $intformat); +$xlsheet->write("C$y", "=SUM(C3:C$x)", $intformat); +$xlsheet->write("D$y", "=C$y/B$y", $pformat); +$xlsheet->write("E$y", "=B$y/$hours", $numberformat); +$xlsheet->write("F$y", "=C$y/$hours", $numberformat); +$xlsheet->write("G$y", "$grand_total_time", $normcell); +$xl->close(); + + +if ($forc eq "F") { + $xl = Spreadsheet::WriteExcel->new("$PATHweb/vicidial/vicidial_fronter_report_$now.xls"); + $xlsheet = $xl->add_worksheet(); + $xlsheet->set_landscape(); + $rptheader = $xl->add_format(); # Add a format + $rptheader->set_bold(); + $rptheader->set_size('8'); + $rptheader->set_color('10'); + $rptheader->set_align('center'); + + $normcell = $xl->add_format(); # Add a format + $normcell->set_size('8'); + $normcell->set_align('center'); + $normcell->set_bg_color('22'); + + $boldcell = $xl->add_format(); # Add a format + $boldcell->set_bold(); + $boldcell->set_size('8'); + $boldcell->set_align('center'); + $boldcell->set_bg_color('22'); + + $dollarformat = $xl->add_format(); # Add a format + $dollarformat->set_size('8'); + $dollarformat->set_num_format('$0.00'); + + $intformat = $xl->add_format(); # Add a format + $intformat->set_size('8'); + $intformat->set_num_format('0'); + + $numberformat = $xl->add_format(); # Add a format + $numberformat->set_size('8'); + $numberformat->set_num_format('0.00'); + + $pformat = $xl->add_format(); # Add a format + $pformat->set_size('8'); + $pformat->set_num_format('0.00%'); + + $statcell = $xl->add_format(num_format => '@'); # Add a format + $statcell->set_size('8'); + + $countcell = $xl->add_format(); # Add a format + $countcell->set_size('8'); + $countcell->set_bg_color('35'); + + $terminateheader = $xl->add_format(); # Add a format + $terminateheader->set_bold(); + $terminateheader->set_size('8'); + $terminateheader->set_color('10'); + $terminateheader->set_num_format('0.00'); + + $xlsheet->write("D1", "Fronter stats", $rptheader); + $xlsheet->write("A2", "Fronter Name", $rptheader); + $xlsheet->write("B2", "# of calls", $rptheader); + $xlsheet->write("C2", "# of sales", $rptheader); + $xlsheet->write("D2", "Sales percentage", $rptheader); + $xlsheet->write("E2", "Calls per hour", $rptheader); + $xlsheet->write("F2", "Sales per hour", $rptheader); + $xlsheet->write("G2", "Total time in system", $rptheader); + + $x=3; + $grand_total_time=0; + foreach $tsrname (sort(keys(%fronters))) { + $fronters{$tsrname}[0]+=0; + $fronters{$tsrname}[1]+=0; + $stmtA = "select sum(pause_sec+wait_sec+talk_sec), sec_to_time(sum(pause_sec+wait_sec+talk_sec)) from vicidial_agent_log where user=".$fronters{$tsrname}[2]." and event_time>='$timestamp' and event_time<='$now' and pause_sec<28800 and wait_sec<28800 and talk_sec<28800;"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $hours=($aryA[0]/3600); + $grand_total_time+=$aryA[0]; + $total_time=$aryA[1]; + $rec_count++; + } + $sthA->finish(); + + $xlsheet->write("A$x", "$tsrname", $normcell); + $xlsheet->write("B$x", "=$fronters{$tsrname}[0]+0", $intformat); + $xlsheet->write("C$x", "=$fronters{$tsrname}[1]+0", $intformat); + $xlsheet->write("D$x", "=C$x/B$x", $pformat); + $xlsheet->write("E$x", "=B$x/$hours", $numberformat); + $xlsheet->write("F$x", "=C$x/$hours", $numberformat); + $xlsheet->write("G$x", "$total_time", $normcell); + $x++; + } + $hours=($grand_total_time/3600); + + $stmtA = "select sec_to_time($grand_total_time)"; + $sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr; + $sthA->execute or die "executing: $stmtA ", $dbhA->errstr; + $sthArows=$sthA->rows; + $rec_count=0; + while ($sthArows > $rec_count) + { + @aryA = $sthA->fetchrow_array; + $grand_total_time=$aryA[0]; + $rec_count++; + } + $sthA->finish(); + + $y=($x+1); + $xlsheet->write("A$y", "Grand Total", $boldcell); + $xlsheet->write("B$y", "=SUM(B3:B$x)", $intformat); + $xlsheet->write("C$y", "=SUM(C3:C$x)", $intformat); + $xlsheet->write("D$y", "=C$y/B$y", $pformat); + $xlsheet->write("E$y", "=B$y/$hours", $numberformat); + $xlsheet->write("F$y", "=C$y/$hours", $numberformat); + $xlsheet->write("G$y", "$grand_total_time", $normcell); + + $xl->close(); +} + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/timeclock_edit.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/timeclock_edit.php new file mode 100644 index 00000000..ae4508bf --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/timeclock_edit.php @@ -0,0 +1,478 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 80624-1342 - First build +# 80701-1323 - functional beta version done +# 90310-2109 - Added admin header +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["oldLOGINepoch"])) {$oldLOGINepoch=$_GET["oldLOGINepoch"];} + elseif (isset($_POST["oldLOGINepoch"])) {$oldLOGINepoch=$_POST["oldLOGINepoch"];} +if (isset($_GET["oldLOGOUTepoch"])) {$oldLOGOUTepoch=$_GET["oldLOGOUTepoch"];} + elseif (isset($_POST["oldLOGOUTepoch"])) {$oldLOGOUTepoch=$_POST["oldLOGOUTepoch"];} +if (isset($_GET["oldLOGINdate"])) {$oldLOGINdate=$_GET["oldLOGINdate"];} + elseif (isset($_POST["oldLOGINdate"])) {$oldLOGINdate=$_POST["oldLOGINdate"];} +if (isset($_GET["oldLOGOUTdate"])) {$oldLOGOUTdate=$_GET["oldLOGOUTdate"];} + elseif (isset($_POST["oldLOGOUTdate"])) {$oldLOGOUTdate=$_POST["oldLOGOUTdate"];} +if (isset($_GET["LOGINepoch"])) {$LOGINepoch=$_GET["LOGINepoch"];} + elseif (isset($_POST["LOGINepoch"])) {$LOGINepoch=$_POST["LOGINepoch"];} +if (isset($_GET["LOGOUTepoch"])) {$LOGOUTepoch=$_GET["LOGOUTepoch"];} + elseif (isset($_POST["LOGOUTepoch"])) {$LOGOUTepoch=$_POST["LOGOUTepoch"];} +if (isset($_GET["notes"])) {$notes=$_GET["notes"];} + elseif (isset($_POST["notes"])) {$notes=$_POST["notes"];} +if (isset($_GET["LOGINevent_id"])) {$LOGINevent_id=$_GET["LOGINevent_id"];} + elseif (isset($_POST["LOGINevent_id"])) {$LOGINevent_id=$_POST["LOGINevent_id"];} +if (isset($_GET["LOGOUTevent_id"])) {$LOGOUTevent_id=$_GET["LOGOUTevent_id"];} + elseif (isset($_POST["LOGOUTevent_id"])) {$LOGOUTevent_id=$_POST["LOGOUTevent_id"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["timeclock_id"])) {$timeclock_id=$_GET["timeclock_id"];} + elseif (isset($_POST["timeclock_id"])) {$timeclock_id=$_POST["timeclock_id"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,webroot_writable FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $webroot_writable = $row[1]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$StarTtimE = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$ip = getenv("REMOTE_ADDR"); +$invalid_record=0; + +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and view_reports='1';"; + if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name,modify_timeclock_log from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname = $row[0]; + $modify_timeclock_log = $row[1]; + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + + $stmt="SELECT full_name,user_group from vicidial_users where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + $user_group = $row[1]; + + $stmt="SELECT event,tcid_link from vicidial_timeclock_log where timeclock_id='" . mysql_real_escape_string($timeclock_id) . "';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $tc_logs_to_print = mysql_num_rows($rslt); + if ($tc_logs_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $event = $row[0]; + $tcid_link = $row[1]; + } + if (ereg("LOGIN",$event)) + { + $LOGINevent_id = $timeclock_id; + $LOGOUTevent_id = $tcid_link; + if ( (ereg('NULL',$LOGOUTevent_id)) or (strlen($LOGOUTevent_id)<1) ) + {$invalid_record++;} + } + if (ereg("LOGOUT",$event)) + { + $LOGOUTevent_id = $timeclock_id; + $stmt="SELECT timeclock_id from vicidial_timeclock_log where tcid_link='" . mysql_real_escape_string($timeclock_id) . "';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $tc_logs_to_print = mysql_num_rows($rslt); + if ($tc_logs_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $LOGINevent_id = $row[0]; + } + if ( (ereg('NULL',$LOGOUTevent_id)) or (strlen($LOGOUTevent_id)<1) ) + {$invalid_record++;} + } + if (strlen($LOGOUTevent_id)<1) + {$invalid_record++;} + + ### + if ($invalid_record < 1) + { + $stmt="SELECT event_epoch,event_date,login_sec,event,user,user_group,ip_address,shift_id,notes,manager_user,manager_ip,event_datestamp from vicidial_timeclock_log where timeclock_id='$LOGINevent_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $tc_logs_to_print = mysql_num_rows($rslt); + if ($tc_logs_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $LOGINevent_epoch = $row[0]; + $LOGINevent_date = $row[1]; + $LOGINlogin_sec = $row[2]; + $LOGINevent = $row[3]; + $LOGINuser = $row[4]; + $LOGINuser_group = $row[5]; + $LOGINip_address = $row[6]; + $LOGINshift_id = $row[7]; + $LOGINnotes = $row[8]; + $LOGINmanager_user = $row[9]; + $LOGINmanager_ip = $row[10]; + $LOGINevent_datestamp = $row[11]; + } + $stmt="SELECT event_epoch,event_date,login_sec,event,user,user_group,ip_address,shift_id,notes,manager_user,manager_ip,event_datestamp from vicidial_timeclock_log where timeclock_id='$LOGOUTevent_id';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $tc_logs_to_print = mysql_num_rows($rslt); + if ($tc_logs_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $LOGOUTevent_epoch = $row[0]; + $LOGOUTevent_date = $row[1]; + $LOGOUTlogin_sec = $row[2]; + $LOGOUTevent = $row[3]; + $LOGOUTuser = $row[4]; + $LOGOUTuser_group = $row[5]; + $LOGOUTip_address = $row[6]; + $LOGOUTshift_id = $row[7]; + $LOGOUTnotes = $row[8]; + $LOGOUTmanager_user = $row[9]; + $LOGOUTmanager_ip = $row[10]; + $LOGOUTevent_datestamp =$row[11]; + } + + $user=$LOGINuser; + } + } + + + +?> + + + +VICIDIAL ADMIN: Timeclock Record Edit +<? + +##### BEGIN Set variables to make header show properly ##### +$ADD = '3'; +$hh = 'users'; +$TCedit_javascript = '1'; +$LOGast_admin_access = '1'; +$ADMIN = 'admin.php'; +$page_width='770'; +$section_width='750'; +$header_font_size='3'; +$subheader_font_size='2'; +$subcamp_font_size='2'; +$header_selected_bold='<b>'; +$header_nonselected_bold=''; +$users_color = '#FFFF99'; +$users_font = 'BLACK'; +$users_color = '#E6E6E6'; +$subcamp_color = '#C6C6C6'; +##### END Set variables to make header show properly ##### + +require("admin_header.php"); + +?> + + +<CENTER> +<TABLE WIDTH=720 BGCOLOR=#D9E6FE cellpadding=2 cellspacing=0><TR BGCOLOR=#015B91><TD ALIGN=LEFT><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Timeclock Record Edit for <? echo $user ?></TD><TD ALIGN=RIGHT>   </TD></TR> + +<? + +echo "<TR BGCOLOR=\"#F0F5FE\"><TD ALIGN=LEFT COLSPAN=2><FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=3><B>   \n"; + + + + + +##### BEGIN TIMECLOCK RECORD MODIFY ##### + +if ( ($invalid_record < 1) or (strlen($timeclock_id)<1) ) +{ + +if ($stage == "edit_TC_log") + { + $log_time = ($LOGOUTepoch - $LOGINepoch); + $NEXTevent_epoch = $StarTtimE; + $PREVevent_epoch = 0; + + $stmt="SELECT event_epoch,timeclock_id from vicidial_timeclock_log where timeclock_id > '$LOGOUTevent_id' and user='$user' order by timeclock_id limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $tc_logs_to_print = mysql_num_rows($rslt); + if ($tc_logs_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $NEXTevent_epoch = $row[0]; + $NEXTevent_id = $row[1]; + } + $stmt="SELECT event_epoch,timeclock_id from vicidial_timeclock_log where timeclock_id < '$LOGINevent_id' and user='$user' order by timeclock_id desc limit 1;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $tc_logs_to_print = mysql_num_rows($rslt); + if ($tc_logs_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $PREVevent_epoch = $row[0]; + $PREVevent_id = $row[1]; + } + + if ( ($LOGINepoch <= $PREVevent_epoch) || ($LOGOUTepoch >= $NEXTevent_epoch) ) + { + echo "ERROR- There is a problem with the data that you entered, please go back<BR>\n"; + echo "A timeclock session cannot overlap another timeclock session<BR>\n"; + echo "$LOGINepoch<BR>\n"; + echo "$LOGOUTepoch<BR>\n"; + echo "$LOGINevent_id<BR>\n"; + echo "$LOGOUTevent_id<BR>\n"; + echo "$LOGINuser<BR>\n"; + echo "$PREVevent_epoch<BR>\n"; + echo "$PREVevent_id<BR>\n"; + echo "$NEXTevent_epoch<BR>\n"; + echo "$NEXTevent_id<BR>\n"; + exit; + } + if ( ($LOGINepoch > $StarTtimE) || ($LOGOUTepoch > $StarTtimE) || ($log_time > 86400) || ($log_time < 1) ) + { + echo "ERROR- There is a problem with the data that you entered, please go back<BR>\n"; + echo "$LOGINepoch<BR>\n"; + echo "$LOGOUTepoch<BR>\n"; + echo "$notes<BR>\n"; + echo "$LOGINevent_id<BR>\n"; + echo "$LOGOUTevent_id<BR>\n"; + echo "$LOGINuser<BR>\n"; + exit; + } + else + { + $LOGINdatetime = date("Y-m-d H:i:s", $LOGINepoch); + $LOGOUTdatetime = date("Y-m-d H:i:s", $LOGOUTepoch); + + ### update LOGIN record in the timeclock log + $stmtA="UPDATE vicidial_timeclock_log set event_epoch='$LOGINepoch', event_date='$LOGINdatetime', manager_user='$PHP_AUTH_USER', manager_ip='$ip', notes='Manager MODIFY', login_sec='$log_time' where timeclock_id='$LOGINevent_id';"; + if ($DB) {echo "$stmtA\n";} + $rslt=mysql_query($stmtA, $link); + $affected_rows = mysql_affected_rows($link); + $timeclock_id = mysql_insert_id($link); + print "<!-- UPDATE vicidial_timeclock_log record updated for $user: |$affected_rows|$timeclock_id| -->\n"; + + ### Add a record to the vicidial_admin_log + $SQL_log = "$stmtA|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='TIMECLOCK', event_type='MODIFY', record_id='$LOGINevent_id', event_code='MANAGER MODIFY TIMECLOCK LOG', event_sql=\"$SQL_log\", event_notes='user: $user|$oldLOGINepoch|$oldLOGINdate|sec: $log_time|';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "<!-- NEW vicidial_admin_log record inserted for $PHP_AUTH_USER: |$affected_rows| -->\n"; + + ### update LOGOUT record in the timeclock log + $stmtB="UPDATE vicidial_timeclock_log set event_epoch='$LOGOUTepoch', event_date='$LOGOUTdatetime', manager_user='$PHP_AUTH_USER', manager_ip='$ip', notes='Manager MODIFY', login_sec='$log_time' where timeclock_id='$LOGOUTevent_id';"; + if ($DB) {echo "$stmtB\n";} + $rslt=mysql_query($stmtB, $link); + $affected_rows = mysql_affected_rows($link); + $timeclock_id = mysql_insert_id($link); + print "<!-- UPDATE vicidial_timeclock_log record updated for $user: |$affected_rows|$timeclock_id| -->\n"; + + ### Add a record to the vicidial_admin_log + $SQL_log = "$stmtB|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='TIMECLOCK', event_type='MODIFY', record_id='$LOGOUTevent_id', event_code='MANAGER MODIFY TIMECLOCK LOG', event_sql=\"$SQL_log\", event_notes='user: $user|$oldLOGOUTepoch|$oldLOGOUTdate|sec: $log_time|';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "<!-- NEW vicidial_admin_log record inserted for $PHP_AUTH_USER: |$affected_rows| -->\n"; + + echo "The timeclock session has been updated. <A HREF=\"$PHP_SELF?timeclock_id=$LOGINevent_id\">Click here to view</A>.<BR>\n"; + exit; + } + } +##### END TIMECLOCK RECORD MODIFY ##### + + + + +echo "\n<BR>"; + +if ($modify_timeclock_log > 0) + { +# $LOGINevent_id = $timeclock_id; +# $LOGOUTevent_id = $tcid_link; + + $event_hours = ($LOGINlogin_sec / 3600); + $event_hours_int = round($event_hours, 2); + $event_hours_int = intval("$event_hours_int"); + $event_minutes = ($event_hours - $event_hours_int); + $event_minutes = ($event_minutes * 60); + $event_minutes_int = round($event_minutes, 0); + if ($event_minutes_int < 10) {$event_minutes_int = "0$event_minutes_int";} + + $stmt="SELECT full_name from vicidial_users where user='$LOGINuser';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + + echo "<BR><BR>\n"; + echo "<form action=$PHP_SELF method=POST name=edit_log id=edit_log>\n"; + echo "<input type=hidden name=DB value=\"$DB\">\n"; + echo "<input type=hidden name=user value=\"$user\">\n"; + echo "<input type=hidden name=stage value=edit_TC_log>\n"; + echo "<input type=hidden name=oldLOGINepoch id=oldLOGINepoch value=\"$LOGINevent_epoch\">\n"; + echo "<input type=hidden name=oldLOGOUTepoch id=oldLOGOUTepoch value=\"$LOGOUTevent_epoch\">\n"; + echo "<input type=hidden name=oldLOGINdate id=oldLOGINdate value=\"$LOGINevent_date\">\n"; + echo "<input type=hidden name=oldLOGOUTdate id=oldLOGOUTdate value=\"$LOGOUTevent_date\">\n"; + echo "<input type=hidden name=LOGINepoch id=LOGINepoch value=\"$LOGINevent_epoch\">\n"; + echo "<input type=hidden name=LOGOUTepoch id=LOGOUTepoch value=\"$LOGOUTevent_epoch\">\n"; + echo "<input type=hidden name=LOGINevent_id id=LOGINevent_id value=\"$LOGINevent_id\">\n"; + echo "<input type=hidden name=LOGOUTevent_id id=LOGOUTevent_id value=\"$LOGOUTevent_id\">\n"; + echo "<input type=hidden name=stage value=edit_TC_log>\n"; + echo "<TABLE BORDER=0><TR><TD COLSPAN=3 ALIGN=LEFT>\n"; + echo "        USER: $LOGINuser ($full_name)         \n"; + echo "HOURS: <span name=login_time id=login_time> $event_hours_int:$event_minutes_int </span>\n"; + echo "</TD></TR>\n"; + echo "<TR><TD>\n"; + echo "<TABLE BORDER=0>\n"; + echo "<TR><TD ALIGN=RIGHT>LOGIN TIME: </TD><TD ALIGN=RIGHT><input type=text name=LOGINbegin_date id=LOGINbegin_date value=\"$LOGINevent_date\" size=20 maxlength=20 onchange=\"calculate_hours();\"></TD></TR>\n"; + echo "<TR><TD ALIGN=RIGHT>TIMECLOCK ID: </TD><TD ALIGN=RIGHT>$LOGINevent_id</TD></TR>\n"; + echo "<TR><TD ALIGN=RIGHT>USER GROUP: </TD><TD ALIGN=RIGHT>$LOGINuser_group</TD></TR>\n"; + echo "<TR><TD ALIGN=RIGHT>IP ADDRESS: </TD><TD ALIGN=RIGHT>$LOGINip_address</TD></TR>\n"; + echo "<TR><TD ALIGN=RIGHT>MANAGER USER: </TD><TD ALIGN=RIGHT>$LOGINmanager_user</TD></TR>\n"; + echo "<TR><TD ALIGN=RIGHT>MANAGER IP: </TD><TD ALIGN=RIGHT>$LOGINmanager_ip</TD></TR>\n"; + echo "<TR><TD ALIGN=RIGHT>NOTES: </TD><TD ALIGN=RIGHT>$LOGINnotes</TD></TR>\n"; + echo "<TR><TD ALIGN=RIGHT>LAST CHANGE: </TD><TD ALIGN=RIGHT>$LOGINevent_datestamp</TD></TR>\n"; + echo "</TABLE>\n"; + + echo "</TD><TD>         \n"; + echo "</TD><TD>\n"; + echo "<TABLE BORDER=0>\n"; + echo "<TR><TD ALIGN=RIGHT>LOGOUT TIME: </TD><TD ALIGN=RIGHT><input type=text name=LOGOUTbegin_date id=LOGOUTbegin_date value=\"$LOGOUTevent_date\" size=20 maxlength=20 onchange=\"calculate_hours();\"></TD></TR>\n"; + echo "<TR><TD ALIGN=RIGHT>TIMECLOCK ID: </TD><TD ALIGN=RIGHT>$LOGOUTevent_id</TD></TR>\n"; + echo "<TR><TD ALIGN=RIGHT>USER GROUP: </TD><TD ALIGN=RIGHT>$LOGOUTuser_group</TD></TR>\n"; + echo "<TR><TD ALIGN=RIGHT>IP ADDRESS: </TD><TD ALIGN=RIGHT>$LOGOUTip_address</TD></TR>\n"; + echo "<TR><TD ALIGN=RIGHT>MANAGER USER: </TD><TD ALIGN=RIGHT>$LOGOUTmanager_user</TD></TR>\n"; + echo "<TR><TD ALIGN=RIGHT>MANAGER IP: </TD><TD ALIGN=RIGHT>$LOGOUTmanager_ip</TD></TR>\n"; + echo "<TR><TD ALIGN=RIGHT>NOTES: </TD><TD ALIGN=RIGHT>$LOGOUTnotes</TD></TR>\n"; + echo "<TR><TD ALIGN=RIGHT>LAST CHANGE: </TD><TD ALIGN=RIGHT>$LOGOUTevent_datestamp</TD></TR>\n"; + echo "</TABLE>\n"; + echo "</TD></TR>\n"; + + echo "<TR><TD COLSPAN=3 ALIGN=LEFT>\n"; + echo "NEW NOTES: <input type=text name=notes value='' size=80 maxlength=255>\n"; + echo "</TD></TR>\n"; + echo "<TR><TD COLSPAN=3 ALIGN=CENTER>\n"; + echo "<input type=button name=go_submit id=go_submit value=SUBMIT onclick=\"run_submit();\"><BR></form>\n"; + echo "</TD></TR></TABLE>\n"; + echo "<BR><BR>\n"; + } + + +echo "<a href=\"./AST_agent_time_sheet.php?agent=$user\">VICIDIAL Time Sheet</a>\n"; +echo " - <a href=\"./user_stats.php?user=$user\">User Stats</a>\n"; +echo " - <a href=\"./admin.php?ADD=3&user=$user\">Modify User</a>\n"; + +echo "</B></TD></TR>\n"; +echo "<TR><TD ALIGN=LEFT COLSPAN=2>\n"; + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $StarTtimE); + +echo "\n\n\n<br><br><br>\n\n"; + + +echo "<font size=0>\n\n\n<br><br><br>\nscript runtime: $RUNtime seconds</font>"; + +echo "|$stage|$group|"; + +} +else +{ + +echo "ERROR! You cannot edit this timeclock record: $timeclock_id\n"; +} +?> + + +</TD></TR><TABLE> +</body> +</html> + +<? + +exit; + + + +?> + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/timeclock_report.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/timeclock_report.php new file mode 100644 index 00000000..1c67b95d --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/timeclock_report.php @@ -0,0 +1,359 @@ +<? +# timeclock_report.php +# +# Copyright (C) 2009 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 +# +# CHANGES +# +# 80529-0055 - First build +# 80617-1416 - Fixed totals tally bug +# 80707-0754 - Fixed groups bug, changed formatting +# 90310-2059 - Added admin header +# + +require("dbconnect.php"); + +##### Pull values from posted form variables ##### +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];} + elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} +if (isset($_GET["shift"])) {$shift=$_GET["shift"];} + elseif (isset($_POST["shift"])) {$shift=$_POST["shift"];} +if (isset($_GET["order"])) {$order=$_GET["order"];} + elseif (isset($_POST["order"])) {$order=$_POST["order"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +if (strlen($shift)<2) {$shift='ALL';} +if (strlen($order)<2) {$order='hours_down';} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,webroot_writable FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $webroot_writable = $row[1]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 6 and view_reports='1';"; +if ($DB) {echo "|$stmt|\n";} +if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");} +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$auth=$row[0]; + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$STARTtime = date("U"); +if (!isset($group)) {$group = '';} +if (!isset($query_date)) {$query_date = $NOW_DATE;} +if (!isset($end_date)) {$end_date = $NOW_DATE;} + +$stmt="select user_group from vicidial_user_groups;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$user_groups_to_print = mysql_num_rows($rslt); +$i=0; + $LISTuser_groups[$i]='---ALL---'; + $i++; + $user_groups_to_print++; +while ($i < $user_groups_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTuser_groups[$i] =$row[0]; + $i++; + } + +##### START HTML ##### +?> + +<HTML> +<HEAD> + +<style type="text/css"> +<!-- + div.scroll_callback {height: 300px; width: 620px; overflow: scroll;} + div.scroll_list {height: 400px; width: 140px; overflow: scroll;} + div.scroll_script {height: 331px; width: 600px; background: #FFF5EC; overflow: scroll; font-size: 12px; font-family: sans-serif;} + div.text_input {overflow: auto; font-size: 10px; font-family: sans-serif;} + .body_text {font-size: 13px; font-family: sans-serif;} + .preview_text {font-size: 13px; font-family: sans-serif; background: #CCFFCC} + .preview_text_red {font-size: 13px; font-family: sans-serif; background: #FFCCCC} + .body_small {font-size: 11px; font-family: sans-serif;} + .body_tiny {font-size: 10px; font-family: sans-serif;} + .log_text {font-size: 11px; font-family: monospace;} + .log_text_red {font-size: 11px; font-family: monospace; font-weight: bold; background: #FF3333} + .sd_text {font-size: 16px; font-family: sans-serif; font-weight: bold;} + .sh_text {font-size: 14px; font-family: sans-serif; font-weight: bold;} + .sb_text {font-size: 12px; font-family: sans-serif;} + .sk_text {font-size: 11px; font-family: sans-serif;} + .skb_text {font-size: 13px; font-family: sans-serif; font-weight: bold;} + .ON_conf {font-size: 11px; font-family: monospace; color: black; background: #FFFF99} + .OFF_conf {font-size: 11px; font-family: monospace; color: black; background: #FFCC77} + .cust_form {font-family: sans-serif; font-size: 10px; overflow: auto} + + .select_bold {font-size: 14px; font-family: sans-serif; font-weight: bold;} + .header_white {font-size: 14px; font-family: sans-serif; font-weight: bold; color: white} + .data_records {font-size: 12px; font-family: sans-serif; color: black} + .data_records_fix {font-size: 12px; font-family: monospace; color: black} + .data_records_fix_small {font-size: 9px; font-family: monospace; color: black} + +--> +</style> + +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> +<TITLE>VICIDIAL: User Timeclock Report + +<? + +##### BEGIN Set variables to make header show properly ##### +$ADD = '311111'; +$hh = 'usergroups'; +$LOGast_admin_access = '1'; +$ADMIN = 'admin.php'; +$page_width='770'; +$section_width='750'; +$header_font_size='3'; +$subheader_font_size='2'; +$subcamp_font_size='2'; +$header_selected_bold='<b>'; +$header_nonselected_bold=''; +$usergroups_color = '#FFFF99'; +$usergroups_font = 'BLACK'; +$usergroups_color = '#E6E6E6'; +$subcamp_color = '#C6C6C6'; +##### END Set variables to make header show properly ##### + +require("admin_header.php"); + + + +$user_group_ct = count($user_group); +$user_group_string='|'; + +$i=0; +while($i < $user_group_ct) + { + $user_group_string .= "$user_group[$i]|"; + $user_group_SQL .= "'$user_group[$i]',"; + $i++; + } +if ( (ereg("--ALL--",$user_group_string) ) or ($user_group_ct < 1) ) + { + $user_group_SQL = ""; + } +else + { + $user_group_SQL = eregi_replace(",$",'',$user_group_SQL); + $user_group_SQL = "and vicidial_timeclock_log.user_group IN($user_group_SQL)"; + } + +if ($DB > 0) + { + echo "<BR>\n"; + echo "$user_group_ct|$user_group_string|$user_group_SQL\n"; + echo "<BR>\n"; + } + +echo "<CENTER>\n"; +echo "<FORM ACTION=\"$PHP_SELF\" METHOD=GET>\n"; +echo "<INPUT TYPE=HIDDEN NAME=DB VALUE=\"$DB\">"; +echo "<TABLE BORDER=0 CELLSPACING=6><TR><TD ALIGN=LEFT VALIGN=TOP>\n"; + +echo "<font class=\"select_bold\"><B>Date Range:</B></font><BR><CENTER>\n"; +echo "<INPUT TYPE=TEXT NAME=query_date SIZE=10 MAXLENGTH=10 VALUE=\"$query_date\">"; +echo "<BR>to<BR>\n"; +echo "<INPUT TYPE=TEXT NAME=end_date SIZE=10 MAXLENGTH=10 VALUE=\"$end_date\">\n"; +echo "</TD><TD ALIGN=LEFT VALIGN=TOP>\n"; +echo "<font class=\"select_bold\"><B>User Groups:</B></font><BR><CENTER>\n"; +echo "<SELECT SIZE=5 NAME=user_group[] multiple>\n"; + $o=0; + while ($user_groups_to_print > $o) + { + if (ereg("\|$LISTuser_groups[$o]\|",$user_group_string)) + {echo "<option selected value=\"$LISTuser_groups[$o]\">$LISTuser_groups[$o]</option>\n";} + else + {echo "<option value=\"$LISTuser_groups[$o]\">$LISTuser_groups[$o]</option>\n";} + $o++; + } +echo "</SELECT>\n"; + +echo "</TD></TD><TD ALIGN=LEFT VALIGN=TOP>\n"; +echo "<font class=\"select_bold\"><B>Order:</B></font><BR>\n"; +echo "<SELECT SIZE=1 NAME=order>\n"; +echo "<option selected value=\"$order\">$order</option>\n"; +echo "<option value=\"\">--</option>\n"; +echo "<option>hours_up</option>\n"; +echo "<option>hours_down</option>\n"; +echo "<option>user_up</option>\n"; +echo "<option>user_down</option>\n"; +echo "<option>name_up</option>\n"; +echo "<option>name_down</option>\n"; +echo "<option>group_up</option>\n"; +echo "<option>group_down</option>\n"; +echo "</SELECT><BR><CENTER>\n"; + +echo "</TD><TD ALIGN=LEFT VALIGN=TOP>\n"; +echo "<font class=\"select_bold\"><B>User:</B></font><BR>\n"; +echo "<INPUT TYPE=text NAME=user SIZE=7 MAXLENGTH=20 VALUE=\"$user\">\n"; + +echo "<BR><BR><INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=SUBMIT>\n"; +echo "</TD></TD><TD ALIGN=LEFT VALIGN=TOP>\n"; +echo "</TD><TD ALIGN=CENTER VALIGN=TOP ROWSPAN=3>\n"; +echo "<FONT class=\"select_bold\" COLOR=BLACK SIZE=2>     <a href=\"./admin.php?ADD=999999\">REPORTS</a> </FONT>\n"; + +echo "</TD></TR></TABLE>\n"; +echo "</FORM>\n\n"; + +echo "<PRE><FONT SIZE=3>\n"; + + +echo "VICIDIAL: User Timeclock Report $NOW_TIME\n"; + +echo "Time range: $query_date to $end_date\n\n"; +echo "---------- USER TIMECLOCK DETAILS -------------\n"; +echo "These totals do NOT include any active sessions\n</PRE>\n"; + +echo "<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=3><TR BGCOLOR=BLACK>\n"; +echo "<TD ALIGN=CENTER><FONT class=\"header_white\">#</TD>\n"; +echo "<TD ALIGN=CENTER><FONT class=\"header_white\">  USER  </TD>\n"; +echo "<TD ALIGN=CENTER><FONT class=\"header_white\">  NAME  </TD>\n"; +echo "<TD ALIGN=CENTER><FONT class=\"header_white\">  GROUP  </TD>\n"; +echo "<TD ALIGN=CENTER><FONT class=\"header_white\">  HOURS  </TD>\n"; +echo "</TR>\n"; + +$order_SQL=''; +if ($order == 'hours_up') {$order_SQL = "order by login";} +if ($order == 'hours_down') {$order_SQL = "order by login desc";} +if ($order == 'user_up') {$order_SQL = "order by vicidial_users.user";} +if ($order == 'user_down') {$order_SQL = "order by vicidial_users.user desc";} +if ($order == 'name_up') {$order_SQL = "order by full_name";} +if ($order == 'name_down') {$order_SQL = "order by full_name desc";} +if ($order == 'group_up') {$order_SQL = "order by vicidial_timeclock_log.user_group";} +if ($order == 'group_down') {$order_SQL = "order by vicidial_timeclock_log.user_group desc";} + +if (strlen($user) > 0) {$user_SQL = "and vicidial_timeclock_log.user='$user'";} +else {$user_SQL='';} + +$stmt="select vicidial_users.user,full_name,sum(login_sec) as login,vicidial_timeclock_log.user_group from vicidial_users,vicidial_timeclock_log where event IN('LOGIN','START') and event_date >= '$query_date 00:00:00' and event_date <= '$end_date 23:59:59' and vicidial_users.user=vicidial_timeclock_log.user $user_SQL $user_group_SQL group by vicidial_users.user,vicidial_timeclock_log.user_group $order_SQL limit 100000;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$rows_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $rows_to_print) + { + $dbHOURS=0; + $row=mysql_fetch_row($rslt); + $user_id[$i] = $row[0]; + $full_name[$i] = $row[1]; + $login_sec[$i] = $row[2]; $TOTlogin_sec = ($TOTlogin_sec + $row[2]); + $u_group[$i] = $row[3]; + + if ($login_sec[$i] > 0) + { + $dbHOURS = ($login_sec[$i] / 3600); + $dbHOURS = round($dbHOURS, 2); + $dbHOURS = sprintf("%01.2f", $dbHOURS); + } + else + {$dbHOURS='0.00';} + + $hours[$i] = $dbHOURS; + $hoursSORT[$i] = "$dbHOURS-----$i"; + + $i++; + } + + +$j=0; +while ($j < $rows_to_print) + { + + $hours_split = explode("-----",$hoursSORT[$j]); + $i = $hours_split[1]; + + if (eregi("1$|3$|5$|7$|9$", $j)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + echo "<TR $bgcolor>\n"; + echo "<TD ALIGN=LEFT><FONT class=\"data_records_fix_small\">$j</TD>\n"; + echo "<TD><FONT class=\"data_records\"><A HREF=\"user_status.php?user=$user_id[$i]\">$user_id[$i]</A> </TD>\n"; + echo "<TD><FONT class=\"data_records\">$full_name[$i] </TD>\n"; + echo "<TD><FONT class=\"data_records\">$u_group[$i] </TD>\n"; + echo "<TD ALIGN=RIGHT><FONT class=\"data_records_fix\"> $hours[$i]</TD>\n"; + echo "</TR>\n"; + + $j++; + } + + +if ($TOTlogin_sec > 0) + { + $TOTdbHOURS = ($TOTlogin_sec / 3600); + $TOTdbHOURS = round($TOTdbHOURS, 0); + $TOTdbHOURS = sprintf("%01.0f", $TOTdbHOURS); + } +else + {$TOTdbHOURS='0.00';} + +$TOThours = $TOTdbHOURS; + + +echo "<TR BGCOLOR=#E6E6E6>\n"; +echo "<TD ALIGN=LEFT COLSPAN=4><FONT class=\"data_records\">TOTALS</TD>\n"; +echo "<TD ALIGN=RIGHT><FONT class=\"data_records_fix\"> $TOThours</TD>\n"; +echo "</TR>\n"; + +echo "</TABLE>\n"; + +echo "\n"; + +/* + $TOTavgWAIT_M = ( ($TOTtotWAIT / $TOTcalls) / 60); + $TOTavgWAIT_M = round($TOTavgWAIT_M, 2); + $TOTavgWAIT_M_int = intval("$TOTavgWAIT_M"); + $TOTavgWAIT_S = ($TOTavgWAIT_M - $TOTavgWAIT_M_int); + $TOTavgWAIT_S = ($TOTavgWAIT_S * 60); + $TOTavgWAIT_S = round($TOTavgWAIT_S, 0); + if ($TOTavgWAIT_S < 10) {$TOTavgWAIT_S = "0$TOTavgWAIT_S";} + $TOTavgWAIT_MS = "$TOTavgWAIT_M_int:$TOTavgWAIT_S"; + $TOTavgWAIT_MS = sprintf("%6s", $TOTavgWAIT_MS); + while(strlen($TOTavgWAIT_MS)>6) {$TOTavgWAIT_MS = substr("$TOTavgWAIT_MS", 0, -1);} +*/ +?> +</CENTER> +</BODY></HTML> diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/timeclock_status.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/timeclock_status.php new file mode 100644 index 00000000..7876b189 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/timeclock_status.php @@ -0,0 +1,548 @@ +<? +# timeclock_status.php +# +# Copyright (C) 2009 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 +# +# CHANGES +# +# 80602-0201 - First Build +# 80603-1500 - formatting changes +# 90310-2103 - Added admin header +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["begin_date"])) {$begin_date=$_GET["begin_date"];} + elseif (isset($_POST["begin_date"])) {$begin_date=$_POST["begin_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["user_group"])) {$user_group=$_GET["user_group"];} + elseif (isset($_POST["user_group"])) {$user_group=$_POST["user_group"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,webroot_writable,timeclock_end_of_day FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $webroot_writable = $row[1]; + $timeclock_end_of_day = $row[2]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$HHMM = date("Hi"); +$HHteod = substr($timeclock_end_of_day,0,2); +$MMteod = substr($timeclock_end_of_day,2,2); + +if ($HHMM < $timeclock_end_of_day) + {$EoD = mktime($HHteod, $MMteod, 10, date("m"), date("d")-1, date("Y"));} +else + {$EoD = mktime($HHteod, $MMteod, 10, date("m"), date("d"), date("Y"));} + +$EoDdate = date("Y-m-d H:i:s", $EoD); + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and view_reports='1';"; + if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + + } + + +$stmt="select user_group from vicidial_user_groups;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$user_groups_to_print = mysql_num_rows($rslt); + $i=0; + $user_groups_to_print++; +while ($i < $user_groups_to_print) + { + $row=mysql_fetch_row($rslt); + $LISTuser_groups[$i] =$row[0]; + if ($row[0]==$user_group) + {$FORMuser_groups.="<option value=\"$row[0]\" SELECTED>$row[0]</option>";} + else + {$FORMuser_groups.="<option value=\"$row[0]\">$row[0]</option>";} + $i++; + } + +if (strlen($user_group) > 0) + { + $stmt="SELECT group_name from vicidial_user_groups where user_group='$user_group';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $group_name = $row[0]; + } + +?> +<html> +<head> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> +<title>VICIDIAL ADMIN: Timeclock Status +<? + +##### BEGIN Set variables to make header show properly ##### +$ADD = '311111'; +$hh = 'usergroups'; +$LOGast_admin_access = '1'; +$ADMIN = 'admin.php'; +$page_width='770'; +$section_width='750'; +$header_font_size='3'; +$subheader_font_size='2'; +$subcamp_font_size='2'; +$header_selected_bold='<b>'; +$header_nonselected_bold=''; +$usergroups_color = '#FFFF99'; +$usergroups_font = 'BLACK'; +$usergroups_color = '#E6E6E6'; +$subcamp_color = '#C6C6C6'; +##### END Set variables to make header show properly ##### + +require("admin_header.php"); + + + +?> +<CENTER> +<TABLE WIDTH=750 BGCOLOR=#D9E6FE cellpadding=2 cellspacing=0><TR BGCOLOR=#015B91><TD ALIGN=LEFT> +<FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>Timeclock Status for <? echo $user_group ?></TD><TD ALIGN=RIGHT>             +<? +echo "<a href=\"./timeclock_report.php\"><FONT FACE=\"ARIAL,HELVETICA\" COLOR=WHITE SIZE=2><B>TIMECLOCK REPORT</a> | "; +echo "<a href=\"./admin.php?ADD=311111&user_group=$user_group\"><FONT FACE=\"ARIAL,HELVETICA\" COLOR=WHITE SIZE=2><B>USER GROUP</a>\n"; +?> +</TD></TR> + + + + +<? + +echo "<TR BGCOLOR=\"#F0F5FE\"><TD ALIGN=LEFT COLSPAN=2><FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2><B>   \n"; + +echo "<form action=$PHP_SELF method=POST>\n"; +echo "<input type=hidden name=DB value=\"$DB\">\n"; +echo "<select size=1 name=user_group>$FORMuser_groups</select>"; +echo "<input type=submit name=submit value=submit>\n"; + +echo "</B></TD></TR>\n"; +echo "<TR><TD ALIGN=LEFT COLSPAN=2>\n"; +echo "<br><center>\n"; + +if (strlen($user_group) < 1) + { + exit; + } + + +##### grab all users in this user_group ##### +$stmt="SELECT user,full_name from vicidial_users where user_group='" . mysql_real_escape_string($user_group) . "' order by full_name;"; +if ($DB>0) {echo "|$stmt|";} +$rslt=mysql_query($stmt, $link); +$users_to_print = mysql_num_rows($rslt); +$o=0; +while ($users_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $users[$o] = $row[0]; + $full_name[$o] = $row[1]; + $Vevent_time[$o] = ''; + $Vevent_epoch[$o] = 0; + $Vcampaign[$o] = ''; + $Tevent_epoch[$o] = ''; + $Tevent_date[$o] = ''; + $Tstatus[$o] = ''; + $Tip_address[$o] = ''; + $Tlogin_time[$o] = ''; + $Tlogin_sec[$o] = 0; + + $o++; + } + +$o=0; +while ($users_to_print > $o) + { + $total_login_time = 0; + ##### grab timeclock status record for this user ##### + $stmt="SELECT event_epoch,event_date,status,ip_address from vicidial_timeclock_status where user='$users[$o]' and event_epoch >= '$EoD';"; + if ($DB>0) {echo "|$stmt|";} + $rslt=mysql_query($stmt, $link); + $stats_to_print = mysql_num_rows($rslt); + if ($stats_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $Tevent_epoch[$o] = $row[0]; + $Tevent_date[$o] = $row[1]; + $Tstatus[$o] = $row[2]; + $Tip_address[$o] = $row[3]; + + if ( ($row[2]=='START') or ($row[2]=='LOGIN') ) + {$bgcolor[$o]='bgcolor="#B9CBFD"';} + else + {$bgcolor[$o]='bgcolor="#9BB9FB"';} + } + + ##### grab timeclock logged-in time for each user ##### + $stmt="SELECT event,event_epoch,login_sec from vicidial_timeclock_log where user='$users[$o]' and event_epoch >= '$EoD';"; + if ($DB>0) {echo "|$stmt|";} + $rslt=mysql_query($stmt, $link); + $logs_to_parse = mysql_num_rows($rslt); + $p=0; + while ($logs_to_parse > $p) + { + $row=mysql_fetch_row($rslt); + if ( (ereg("LOGIN", $row[0])) or (ereg("START", $row[0])) ) + { + $login_sec=''; + $Tevent_time[$o] = date("Y-m-d H:i:s", $row[1]); + } + if (ereg("LOGOUT", $row[0])) + { + $login_sec = $row[2]; + $total_login_time = ($total_login_time + $login_sec); + } + $p++; + } + if ( (strlen($login_sec)<1) and ($logs_to_parse > 0) ) + { + $login_sec = ($STARTtime - $row[1]); + $total_login_time = ($total_login_time + $login_sec); + } + if ($logs_to_parse > 0) + { + $total_login_hours = ($total_login_time / 3600); + $total_login_hours_int = round($total_login_hours, 2); + $total_login_hours_int = intval("$total_login_hours"); + $total_login_minutes = ($total_login_hours - $total_login_hours_int); + $total_login_minutes = ($total_login_minutes * 60); + $total_login_minutes_int = round($total_login_minutes, 0); + if ($total_login_minutes_int < 10) {$total_login_minutes_int = "0$total_login_minutes_int";} + + $Tlogin_time[$o] = "$total_login_hours_int:$total_login_minutes_int"; + $Tlogin_sec[$o] = $total_login_time; + } + else + { + $total_login_time = 0; + $Tlogin_time[$o] = "0:00"; + $Tlogin_sec[$o] = $total_login_time; + } + + if ($DB>0) {echo "|$Tlogin_sec[$o]|$Tlogin_time[$o]|";} + + ##### grab vicidial_agent_log records in this user_group ##### + $stmt="SELECT event_time,UNIX_TIMESTAMP(event_time),campaign_id from vicidial_agent_log where user='$users[$o]' and event_time >= '$EoDdate' order by agent_log_id desc limit 1;"; + if ($DB>0) {echo "|$stmt|";} + $rslt=mysql_query($stmt, $link); + $vals_to_print = mysql_num_rows($rslt); + if ($vals_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $Vevent_time[$o] = $row[0]; + $Vevent_epoch[$o] = $row[1]; + $Vcampaign[$o] = $row[2]; + } + + $o++; + } + + +##### print each user that has any activity for today ##### +echo "<br>\n"; +echo "<center>\n"; + +echo "<TABLE width=720 cellspacing=0 cellpadding=1>\n"; +echo "<TR>\n"; +echo "<TD bgcolor=\"#99FF33\">     </TD><TD align=left> TC Logged in and VICI active</TD>\n"; # bright green +echo "<TD bgcolor=\"#FFFF33\">     </TD><TD align=left> TC Logged in only</TD>\n"; # bright yellow +echo "<TD bgcolor=\"#FF6666\">     </TD><TD align=left> VICI active only</TD>\n"; # bright red +echo "</TR><TR>\n"; +echo "<TD bgcolor=\"#66CC66\">     </TD><TD align=left> TC Logged out and VICI active</TD>\n"; # dull green +echo "<TD bgcolor=\"#CCCC00\">     </TD><TD align=left> TC Logged out only</TD>\n"; # dull yellow +echo "<TD>     </TD><TD align=left>   </TD>\n"; +echo "</TR></TABLE><BR>\n"; + +echo "<B>USER STATUS FOR USER GROUP: $user_group</B>\n"; +echo "<TABLE width=700 cellspacing=0 cellpadding=1>\n"; +echo "<tr><td><font size=2># </td><td><font size=2>USER </td><td align=left><font size=2>NAME </td><td align=right><font size=2> IP ADDRESS</td><td align=right><font size=2> TC TIME</td><td align=right><font size=2>TC LOGIN</td><td align=right><font size=2> VICI LAST LOG</td><td align=right><font size=2> VICI CAMPAIGN</td></tr>\n"; + +$o=0; +$s=0; +while ($users_to_print > $o) + { + if ( ($Tlogin_sec[$o] > 0) or (strlen($Vevent_time[$o]) > 0) ) + { + if ( ($Tstatus[$o]=='START') or ($Tstatus[$o]=='LOGIN') ) + { + if ($Tlogin_sec[$o] > 0) + {$bgcolor[$o]='bgcolor="#FFFF33"';} # yellow + if ( ($Tlogin_sec[$o] > 0) and (strlen($Vevent_time[$o]) > 0) ) + {$bgcolor[$o]='bgcolor="#99FF33"';} # green + } + else + { + if ($Tlogin_sec[$o] > 0) + {$bgcolor[$o]='bgcolor="#CCCC00"';} # yellow + if (strlen($Vevent_time[$o]) > 0) + {$bgcolor[$o]='bgcolor="#FF6666"';} # red + if ( ($Tlogin_sec[$o] > 0) and (strlen($Vevent_time[$o]) > 0) ) + {$bgcolor[$o]='bgcolor="#66CC66"';} # green + } + + echo "<tr $bgcolor[$o]>"; + echo "<td><font size=1>$s</td>"; + echo "<td><font size=2><a href=\"./user_status.php?user=$users[$o]\">$users[$o]</a></td>"; + echo "<td><font size=2>$full_name[$o]</td>"; + echo "<td><font size=2>$Tip_address[$o]</td>"; + echo "<td align=right><font size=2>$Tlogin_time[$o]</td>"; + echo "<td align=right><font size=2>$Tevent_time[$o]</td>"; + echo "<td align=right><font size=2>$Vevent_time[$o]</td>"; + echo "<td align=right><font size=2>$Vcampaign[$o]</td>"; + echo "</tr>"; + + if (strlen($Tstatus[$o])>0) + {$TOTlogin_sec = ($TOTlogin_sec + $Tlogin_sec[$o]);} + + $s++; + } + $o++; + } + + + +$total_login_hours = ($TOTlogin_sec / 3600); +$total_login_hours_int = round($total_login_hours, 2); +$total_login_hours_int = intval("$total_login_hours"); +$total_login_minutes = ($total_login_hours - $total_login_hours_int); +$total_login_minutes = ($total_login_minutes * 60); +$total_login_minutes_int = round($total_login_minutes, 0); +if ($total_login_minutes_int < 10) {$total_login_minutes_int = "0$total_login_minutes_int";} + +echo "<tr bgcolor=white>"; +echo "<td colspan=4><font size=2>TOTALS</td>"; +echo "<td align=right><font size=2>$total_login_hours_int:$total_login_minutes_int</td>"; +echo "<td align=right><font size=2></td>"; +echo "<td align=right><font size=2></td>"; +echo "<td align=right><font size=2></td>"; +echo "</tr>"; +echo "</table>"; + + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n<br><br><br>\n\n"; + + +echo "<font size=0>\n\n\n<br><br><br>\nscript runtime: $RUNtime seconds</font>"; + + +?> + + +</TD></TR><TABLE> +</body> +</html> + +<? +exit; + + + + + + + + + + + +##### vicidial_timeclock log records for user ##### + +$SQday_ARY = explode('-',$begin_date); +$EQday_ARY = explode('-',$end_date); +$SQepoch = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); +$EQepoch = mktime(23, 59, 59, $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); + +echo "<br><br>\n"; + +echo "<center>\n"; + +echo "<B>TIMECLOCK LOGIN/LOGOUT TIME:</B>\n"; +echo "<TABLE width=550 cellspacing=0 cellpadding=1>\n"; +echo "<tr><td><font size=2>ID </td><td><font size=2>EDIT </td><td align=right><font size=2>EVENT </td><td align=right><font size=2> DATE</td><td align=right><font size=2> IP ADDRESS</td><td align=right><font size=2> GROUP</td><td align=right><font size=2>HOURS:MINUTES</td></tr>\n"; + + $stmt="SELECT event,event_epoch,user_group,login_sec,ip_address,timeclock_id,manager_user from vicidial_timeclock_log where user='" . mysql_real_escape_string($user) . "' and event_epoch >= '$SQepoch' and event_epoch <= '$EQepoch';"; + if ($DB>0) {echo "|$stmt|";} + $rslt=mysql_query($stmt, $link); + $events_to_print = mysql_num_rows($rslt); + + $total_logs=0; + $o=0; + while ($events_to_print > $o) { + $row=mysql_fetch_row($rslt); + if ( ($row[0]=='START') or ($row[0]=='LOGIN') ) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $TC_log_date = date("Y-m-d H:i:s", $row[1]); + + $manager_edit=''; + if (strlen($row[6])>0) {$manager_edit = ' * ';} + + if (ereg("LOGIN", $row[0])) + { + $login_sec=''; + echo "<tr $bgcolor><td><font size=2>$row[5]</td>"; + echo "<td align=right><font size=2>$manager_edit</td>"; + echo "<td align=right><font size=2>$row[0]</td>"; + echo "<td align=right><font size=2> $TC_log_date</td>\n"; + echo "<td align=right><font size=2> $row[4]</td>\n"; + echo "<td align=right><font size=2> $row[2]</td>\n"; + echo "<td align=right><font size=2> </td></tr>\n"; + } + if (ereg("LOGOUT", $row[0])) + { + $login_sec = $row[3]; + $total_login_time = ($total_login_time + $login_sec); + $event_hours = ($login_sec / 3600); + $event_hours_int = round($event_hours, 2); + $event_hours_int = intval("$event_hours_int"); + $event_minutes = ($event_hours - $event_hours_int); + $event_minutes = ($event_minutes * 60); + $event_minutes_int = round($event_minutes, 0); + if ($event_minutes_int < 10) {$event_minutes_int = "0$event_minutes_int";} + echo "<tr $bgcolor><td><font size=2>$row[5]</td>"; + echo "<td align=right><font size=2>$manager_edit</td>"; + echo "<td align=right><font size=2>$row[0]</td>"; + echo "<td align=right><font size=2> $TC_log_date</td>\n"; + echo "<td align=right><font size=2> $row[4]</td>\n"; + echo "<td align=right><font size=2> $row[2]</td>\n"; + echo "<td align=right><font size=2> $event_hours_int:$event_minutes_int</td></tr>\n"; + } + $o++; + } +if (strlen($login_sec)<1) + { + $login_sec = ($STARTtime - $row[1]); + $total_login_time = ($total_login_time + $login_sec); + } +$total_login_hours = ($total_login_time / 3600); +$total_login_hours_int = round($total_login_hours, 2); +$total_login_hours_int = intval("$total_login_hours"); +$total_login_minutes = ($total_login_hours - $total_login_hours_int); +$total_login_minutes = ($total_login_minutes * 60); +$total_login_minutes_int = round($total_login_minutes, 0); +if ($total_login_minutes_int < 10) {$total_login_minutes_int = "0$total_login_minutes_int";} + +echo "<tr><td align=right><font size=2> </td>"; +echo "<td align=right><font size=2> </td>\n"; +echo "<td align=right><font size=2> </td>\n"; +echo "<td align=right><font size=2> </td>\n"; +echo "<td align=right><font size=2><font size=2>TOTAL </td>\n"; +echo "<td align=right><font size=2> $total_login_hours_int:$total_login_minutes_int </td></tr>\n"; + +echo "</TABLE></center>\n"; + + + + + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n<br><br><br>\n\n"; + + +echo "<font size=0>\n\n\n<br><br><br>\nscript runtime: $RUNtime seconds</font>"; + + +?> + + +</TD></TR><TABLE> +</body> +</html> + +<? + +exit; + + + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/up_down.mid b/agc_2-X/branches/agc_2.0.5/www/vicidial/up_down.mid new file mode 100644 index 0000000000000000000000000000000000000000..f3c944a3823c039f978c5e6a1864dac0fd9fb831 GIT binary patch literal 401 zcmYk0K}!Nb7=~YW&8(oplgBwlLC{n};bk}T5R_oLgbN+A98}y~*~thxY-G0}#A9{v zCoJ;|q*JHpCxrArrVkY9@bJyc%)HN6a2hoL3B+JxRB(b8rE_RAneX~6-)z^RjkWc| z4YtF1h86tFrYA(O$qqb^m74X&jbtSuMQ|%>(6NP*xUL2*$+FO=W@5YtU5UqybQ0P% zs9A4e>Zp(-enbU`7!c9jsEA0=k@kraX+-lOeqbY7w9!8c`2*1}(<ElurR;{i-RPb^ z-Tm)(sekUc?O(N^NT5jYvCkC=6bTdw6bZ&8P$U>QA%7%hvqG5|OlHqiBv2CpEc;~H zvM-1Z@wsBzK=!rI%_kryJWs-2wd`MjKQAFQ#1QyG(LfIGv_<x9`qJwP$+nRxi>mb7 LvfRPTx8wW)efo4* literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/user_group_bulk_change.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/user_group_bulk_change.php new file mode 100644 index 00000000..69ba1be8 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/user_group_bulk_change.php @@ -0,0 +1,269 @@ +<? +# user_group_bulk_change.php +# +# Copyright (C) 2009 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 +# +# CHANGES +# 81119-0918 - First build +# 90309-1830 - Added admin_log logging +# 90310-2144 - Added admin header +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["old_group"])) {$old_group=$_GET["old_group"];} + elseif (isset($_POST["old_group"])) {$old_group=$_POST["old_group"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,webroot_writable FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $webroot_writable = $row[1]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$StarTtimE = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$ip = getenv("REMOTE_ADDR"); + +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and view_reports='1';"; + if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name,change_agent_campaign,modify_timeclock_log from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname = $row[0]; + $change_agent_campaign = $row[1]; + $modify_timeclock_log = $row[2]; + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + } + +$stmt="select * from vicidial_user_groups order by user_group desc;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] = $row[0]; + $group_names[$i] = $row[1]; + $i++; + } + + + +?> +<html> +<head> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> +<title>VICIDIAL ADMIN: User Group Bulk Change +<? + +##### BEGIN Set variables to make header show properly ##### +$ADD = '311111'; +$hh = 'usergroups'; +$LOGast_admin_access = '1'; +$ADMIN = 'admin.php'; +$page_width='770'; +$section_width='750'; +$header_font_size='3'; +$subheader_font_size='2'; +$subcamp_font_size='2'; +$header_selected_bold='<b>'; +$header_nonselected_bold=''; +$usergroups_color = '#FFFF99'; +$usergroups_font = 'BLACK'; +$usergroups_color = '#E6E6E6'; +$subcamp_color = '#C6C6C6'; +##### END Set variables to make header show properly ##### + +require("admin_header.php"); + + + + +?> + +<CENTER> +<TABLE WIDTH=620 BGCOLOR=#D9E6FE cellpadding=2 cellspacing=0><TR BGCOLOR=#015B91><TD ALIGN=LEFT><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>   User Group Bulk Change</TD><TD ALIGN=RIGHT><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B>   </TD></TR> + + + + +<? + +echo "<TR BGCOLOR=\"#F0F5FE\"><TD ALIGN=LEFT COLSPAN=2><FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=3><B>   \n"; + +##### GROUP CHANGE FOR ALL USERS IN A USER GROUP ##### +if ($stage == "one_user_group_change") + { + $stmt="UPDATE vicidial_users set user_group='" . mysql_real_escape_string($group) . "' where user_group='" . mysql_real_escape_string($old_group) . "';"; + $rslt=mysql_query($stmt, $link); + + echo "All User Group $old_group Users changed to the $group User Group<BR>\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERGROUPS', event_type='MODIFY', record_id='$group', event_code='ADMIN BULK USER GROUP CHANGE', event_sql=\"$SQL_log\", event_notes='Old Group: $old_group';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + exit; + } + +##### GROUP CHANGE FOR ALL USERS IN THE SYSTEM EXCEPT FOR LEVEL > 6 AND ADMIN GROUP ##### +if ($stage == "all_user_group_change") + { + $stmt="UPDATE vicidial_users set user_group='" . mysql_real_escape_string($group) . "' where user_group!='ADMIN' and user_group < 7;"; + $rslt=mysql_query($stmt, $link); + + echo "All non-Admin Users changed to the $group User Group<BR>\n"; + + ### LOG INSERTION Admin Log Table ### + $SQL_log = "$stmt|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='USERGROUPS', event_type='MODIFY', record_id='$group', event_code='ADMIN BULK USER GROUP CHANGE', event_sql=\"$SQL_log\", event_notes='ALL NON-ADMIN;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + exit; + } + +### one user_group change +echo "<form action=$PHP_SELF method=POST>\n"; +echo "<input type=hidden name=DB value=\"$DB\">\n"; +echo "<input type=hidden name=stage value=\"one_user_group_change\">\n"; +echo "Change Users in this group: <SELECT SIZE=1 NAME=old_group>\n"; +$o=0; +while ($groups_to_print > $o) + { + echo "<option value=\"$groups[$o]\">$groups[$o] - $group_names[$o]</option>\n"; + $o++; + } +echo "</SELECT>\n"; +echo "<BR>   to this group: <SELECT SIZE=1 NAME=group>\n"; +$o=0; +while ($groups_to_print > $o) + { + echo "<option value=\"$groups[$o]\">$groups[$o] - $group_names[$o]</option>\n"; + $o++; + } +echo "</SELECT>\n"; +echo "<BR><CENTER><input type=submit name=submit value=SUBMIT></CENTER><BR></form>\n"; + +echo "\n<BR><BR><BR>"; + + + +### all user_group change +echo "<form action=$PHP_SELF method=POST>\n"; +echo "<input type=hidden name=DB value=\"$DB\">\n"; +echo "<input type=hidden name=stage value=\"all_user_group_change\">\n"; +echo "Change ALL non-Admin Users to this group: <BR><SELECT SIZE=1 NAME=group>\n"; +$o=0; +while ($groups_to_print > $o) + { + echo "<option value=\"$groups[$o]\">$groups[$o] - $group_names[$o]</option>\n"; + $o++; + } +echo "</SELECT>\n"; +echo "<BR><CENTER><input type=submit name=submit value=SUBMIT></CENTER><BR></form>\n"; + +echo "\n<BR>"; + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $StarTtimE); + +echo "\n\n\n<br><br><br>\n\n"; + + +echo "<font size=0>\n\n\n<br><br><br>\nscript runtime: $RUNtime seconds</font>"; + +echo "|$stage|$group|"; + +?> + + +</TD></TR><TABLE> +</body> +</html> + +<? + +exit; + + + +?> + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/user_stats.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/user_stats.php new file mode 100644 index 00000000..9d997613 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/user_stats.php @@ -0,0 +1,690 @@ +<? +# user_stats.php +# +# Copyright (C) 2009 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 +# +# CHANGES +# +# 60619-1743 - Added variable filtering to eliminate SQL injection attack threat +# 61201-1136 - Added recordings display and changed calls to time range with 10000 limit +# 70118-1605 - Added user group column to login/out and calls lists +# 70702-1231 - Added recording location link and truncation +# 80117-0316 - Added vicidial_user_closer_log entries to display +# 80501-0506 - Added Hangup Reason to logs display +# 80523-2012 - Added vicidial timeclock records display +# 80617-1402 - Fixed timeclock total logged-in time +# 81210-1634 - Added server recording display options +# 90208-0504 - Added link to multi-day report and fixed call status summary section +# 90305-1226 - Added user_call_log manual dial logs +# 90310-0734 - Added admin header +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["begin_date"])) {$begin_date=$_GET["begin_date"];} + elseif (isset($_POST["begin_date"])) {$begin_date=$_POST["begin_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); + +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and view_reports='1';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + + $stmt="SELECT full_name from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + + } + + + + +?> +<html> +<head> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> +<title>VICIDIAL ADMIN: User Stats +<? + + +##### BEGIN Set variables to make header show properly ##### +$ADD = '3'; +$hh = 'users'; +$LOGast_admin_access = '1'; +$ADMIN = 'admin.php'; +$page_width='770'; +$section_width='750'; +$header_font_size='3'; +$subheader_font_size='2'; +$subcamp_font_size='2'; +$header_selected_bold='<b>'; +$header_nonselected_bold=''; +$users_color = '#FFFF99'; +$users_font = 'BLACK'; +$users_color = '#E6E6E6'; +$subcamp_color = '#C6C6C6'; +##### END Set variables to make header show properly ##### + +require("admin_header.php"); + + + +?> +<TABLE WIDTH=770 BGCOLOR=#E6E6E6 cellpadding=2 cellspacing=0><TR BGCOLOR=#E6E6E6><TD ALIGN=LEFT><FONT FACE="ARIAL,HELVETICA" SIZE=2><B>   User Stats for <? echo $user ?></TD><TD ALIGN=RIGHT><FONT FACE="ARIAL,HELVETICA" SIZE=2>   </TD></TR> + + + + +<? + +echo "<TR BGCOLOR=\"#F0F5FE\"><TD ALIGN=LEFT COLSPAN=2><FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2><B>   \n"; + +echo "<form action=$PHP_SELF method=POST>\n"; +echo "<input type=hidden name=DB value=\"$DB\">\n"; +echo "<input type=text name=begin_date value=\"$begin_date\" size=10 maxsize=10> to \n"; +echo "<input type=text name=end_date value=\"$end_date\" size=10 maxsize=10>  \n"; +if (strlen($user)>1) + {echo "<input type=hidden name=user value=\"$user\">\n";} +else + {echo "<input type=text name=user size=12 maxlength=10>\n";} +echo "<input type=submit name=submit value=submit>\n"; + + +echo "           $user - $full_name<BR><BR>\n"; + +echo "<center>\n"; +echo "<a href=\"./AST_agent_time_sheet.php?agent=$user\">VICIDIAL Time Sheet</a>\n"; +echo " | <a href=\"./user_status.php?user=$user\">User Status</a>\n"; +echo " | <a href=\"./admin.php?ADD=3&user=$user\">Modify User</a>\n"; +echo " | <a href=\"./AST_agent_days_detail.php?user=$user&query_date=$begin_date&end_date=$end_date&group[]=--ALL--&shift=ALL\">User multiple day status detail report</a>"; +echo "</center>\n"; + + +echo "</B></TD></TR>\n"; +echo "<TR><TD ALIGN=LEFT COLSPAN=2>\n"; + +echo "<br><center>\n"; + +##### vicidial agent talk time and status ##### + +echo "<B>VICIDIAL TALK TIME AND STATUS:</B>\n"; + +echo "<center><TABLE width=300 cellspacing=0 cellpadding=1>\n"; +echo "<tr><td><font size=2>STATUS</td><td align=right><font size=2>COUNT</td><td align=right><font size=2>HOURS:MINUTES</td></tr>\n"; + +$stmt="SELECT count(*),status, sum(length_in_sec) from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' group by status order by status"; +$rslt=mysql_query($stmt, $link); +$VLstatuses_to_print = mysql_num_rows($rslt); +$total_calls=0; +$o=0; $p=0; +while ($VLstatuses_to_print > $o) + { + $row=mysql_fetch_row($rslt); + $counts[$p] = $row[0]; + $status[$p] = $row[1]; + $call_sec[$p] = $row[2]; + $p++; + $o++; + } + +$stmt="SELECT count(*),status, sum(length_in_sec) from vicidial_closer_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' group by status order by status"; +$rslt=mysql_query($stmt, $link); +$VCLstatuses_to_print = mysql_num_rows($rslt); +$o=0; +while ($VCLstatuses_to_print > $o) + { + $status_match=0; + $r=0; + $row=mysql_fetch_row($rslt); + while ($VLstatuses_to_print > $r) + { + if ($status[$r] == $row[1]) + { + $counts[$r] = ($counts[$r] + $row[0]); + $call_sec[$r] = ($call_sec[$r] + $row[2]); + $status_match++; + } + $r++; + } + if ($status_match < 1) + { + $counts[$p] = $row[0]; + $status[$p] = $row[1]; + $call_sec[$p] = $row[2]; + $VLstatuses_to_print++; + $p++; + } + $o++; + } + +$o=0; +$total_sec=0; +while ($o < $p) + { + if (eregi("1$|3$|5$|7$|9$", $o)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $call_seconds = $call_sec[$o]; + $call_hours = ($call_seconds / 3600); + $call_hours_int = round($call_hours, 2); + $call_hours_int = intval("$call_hours_int"); + $call_minutes = ($call_hours - $call_hours_int); + $call_minutes = ($call_minutes * 60); + $call_minutes_int = round($call_minutes, 0); + if ($call_minutes_int < 10) {$call_minutes_int = "0$call_minutes_int";} + + echo "<tr $bgcolor><td><font size=2>$status[$o]</td>"; + echo "<td align=right><font size=2> $counts[$o]</td>\n"; + echo "<td align=right><font size=2> $call_hours_int:$call_minutes_int</td></tr>\n"; + $total_calls = ($total_calls + $counts[$o]); + $total_sec = ($total_sec + $call_sec[$o]); + $call_seconds=0; + $o++; + } + +$call_seconds = $total_sec; +$call_hours = ($call_seconds / 3600); +$call_hours_int = round($call_hours, 2); +$call_hours_int = intval("$call_hours_int"); +$call_minutes = ($call_hours - $call_hours_int); +$call_minutes = ($call_minutes * 60); +$call_minutes_int = round($call_minutes, 0); +if ($call_minutes_int < 10) {$call_minutes_int = "0$call_minutes_int";} + +echo "<tr><td><font size=2>TOTAL CALLS </td><td align=right><font size=2> $total_calls</td><td align=right><font size=2> $call_hours_int:$call_minutes_int</td></tr>\n"; +echo "</TABLE></center>\n"; + + +##### Login and Logout time from vicidial agent interface ##### + +echo "<br><br>\n"; + +echo "<center>\n"; + +echo "<B>VICIDIAL AGENT LOGIN/LOGOUT TIME:</B>\n"; +echo "<TABLE width=500 cellspacing=0 cellpadding=1>\n"; +echo "<tr><td><font size=2>EVENT </td><td align=right><font size=2> DATE</td><td align=right><font size=2> CAMPAIGN</td><td align=right><font size=2> GROUP</td><td align=right><font size=2>HOURS:MINUTES</td></tr>\n"; + + $stmt="SELECT event,event_epoch,event_date,campaign_id,user_group from vicidial_user_log where user='" . mysql_real_escape_string($user) . "' and event_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and event_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59'"; + $rslt=mysql_query($stmt, $link); + $events_to_print = mysql_num_rows($rslt); + + $total_calls=0; + $o=0; + $event_start_seconds=''; + $event_stop_seconds=''; + while ($events_to_print > $o) { + $row=mysql_fetch_row($rslt); + if (eregi("LOGIN", $row[0])) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + if (ereg("LOGIN", $row[0])) + { + $event_start_seconds = $row[1]; + echo "<tr $bgcolor><td><font size=2>$row[0]</td>"; + echo "<td align=right><font size=2> $row[2]</td>\n"; + echo "<td align=right><font size=2> $row[3]</td>\n"; + echo "<td align=right><font size=2> $row[4]</td>\n"; + echo "<td align=right><font size=2> </td></tr>\n"; + } + if (ereg("LOGOUT", $row[0])) + { + if ($event_start_seconds) + { + $event_stop_seconds = $row[1]; + $event_seconds = ($event_stop_seconds - $event_start_seconds); + $total_login_time = ($total_login_time + $event_seconds); + $event_hours = ($event_seconds / 3600); + $event_hours_int = round($event_hours, 2); + $event_hours_int = intval("$event_hours_int"); + $event_minutes = ($event_hours - $event_hours_int); + $event_minutes = ($event_minutes * 60); + $event_minutes_int = round($event_minutes, 0); + if ($event_minutes_int < 10) {$event_minutes_int = "0$event_minutes_int";} + echo "<tr $bgcolor><td><font size=2>$row[0]</td>"; + echo "<td align=right><font size=2> $row[2]</td>\n"; + echo "<td align=right><font size=2> $row[3]</td>\n"; + echo "<td align=right><font size=2> $row[4]</td>\n"; + echo "<td align=right><font size=2> $event_hours_int:$event_minutes_int</td></tr>\n"; + $event_start_seconds=''; + $event_stop_seconds=''; + } + else + { + echo "<tr $bgcolor><td><font size=2>$row[0]</td>"; + echo "<td align=right><font size=2> $row[2]</td>\n"; + echo "<td align=right><font size=2> $row[3]</td>\n"; + echo "<td align=right><font size=2> </td></tr>\n"; + } + } + + $total_calls = ($total_calls + $row[0]); + + $call_seconds=0; + $o++; + } + +$total_login_hours = ($total_login_time / 3600); +$total_login_hours_int = round($total_login_hours, 2); +$total_login_hours_int = intval("$total_login_hours_int"); +$total_login_minutes = ($total_login_hours - $total_login_hours_int); +$total_login_minutes = ($total_login_minutes * 60); +$total_login_minutes_int = round($total_login_minutes, 0); +if ($total_login_minutes_int < 10) {$total_login_minutes_int = "0$total_login_minutes_int";} + +echo "<tr><td><font size=2>TOTAL</td>"; +echo "<td align=right><font size=2> </td>\n"; +echo "<td align=right><font size=2> </td>\n"; +echo "<td align=right><font size=2> </td>\n"; +echo "<td align=right><font size=2> $total_login_hours_int:$total_login_minutes_int</td></tr>\n"; + +echo "</TABLE></center>\n"; + + + + + +##### vicidial_timeclock log records for user ##### + +$total_login_time=0; +$SQday_ARY = explode('-',$begin_date); +$EQday_ARY = explode('-',$end_date); +$SQepoch = mktime(0, 0, 0, $SQday_ARY[1], $SQday_ARY[2], $SQday_ARY[0]); +$EQepoch = mktime(23, 59, 59, $EQday_ARY[1], $EQday_ARY[2], $EQday_ARY[0]); + +echo "<br><br>\n"; + +echo "<center>\n"; + +echo "<B>TIMECLOCK LOGIN/LOGOUT TIME:</B>\n"; +echo "<TABLE width=550 cellspacing=0 cellpadding=1>\n"; +echo "<tr><td><font size=2>ID </td><td><font size=2>EDIT </td><td align=right><font size=2>EVENT </td><td align=right><font size=2> DATE</td><td align=right><font size=2> IP ADDRESS</td><td align=right><font size=2> GROUP</td><td align=right><font size=2>HOURS:MINUTES</td></tr>\n"; + + $stmt="SELECT event,event_epoch,user_group,login_sec,ip_address,timeclock_id,manager_user from vicidial_timeclock_log where user='" . mysql_real_escape_string($user) . "' and event_epoch >= '$SQepoch' and event_epoch <= '$EQepoch';"; + if ($DB>0) {echo "|$stmt|";} + $rslt=mysql_query($stmt, $link); + $events_to_print = mysql_num_rows($rslt); + + $total_logs=0; + $o=0; + while ($events_to_print > $o) { + $row=mysql_fetch_row($rslt); + if ( ($row[0]=='START') or ($row[0]=='LOGIN') ) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $TC_log_date = date("Y-m-d H:i:s", $row[1]); + + $manager_edit=''; + if (strlen($row[6])>0) {$manager_edit = ' * ';} + + if (ereg("LOGIN", $row[0])) + { + $login_sec=''; + echo "<tr $bgcolor><td><font size=2><A HREF=\"./timeclock_edit.php?timeclock_id=$row[5]\">$row[5]</A></td>"; + echo "<td align=right><font size=2>$manager_edit</td>"; + echo "<td align=right><font size=2>$row[0]</td>"; + echo "<td align=right><font size=2> $TC_log_date</td>\n"; + echo "<td align=right><font size=2> $row[4]</td>\n"; + echo "<td align=right><font size=2> $row[2]</td>\n"; + echo "<td align=right><font size=2> </td></tr>\n"; + } + if (ereg("LOGOUT", $row[0])) + { + $login_sec = $row[3]; + $total_login_time = ($total_login_time + $login_sec); + $event_hours = ($login_sec / 3600); + $event_hours_int = round($event_hours, 2); + $event_hours_int = intval("$event_hours_int"); + $event_minutes = ($event_hours - $event_hours_int); + $event_minutes = ($event_minutes * 60); + $event_minutes_int = round($event_minutes, 0); + if ($event_minutes_int < 10) {$event_minutes_int = "0$event_minutes_int";} + echo "<tr $bgcolor><td><font size=2><A HREF=\"./timeclock_edit.php?timeclock_id=$row[5]\">$row[5]</A></td>"; + echo "<td align=right><font size=2>$manager_edit</td>"; + echo "<td align=right><font size=2>$row[0]</td>"; + echo "<td align=right><font size=2> $TC_log_date</td>\n"; + echo "<td align=right><font size=2> $row[4]</td>\n"; + echo "<td align=right><font size=2> $row[2]</td>\n"; + echo "<td align=right><font size=2> $event_hours_int:$event_minutes_int"; + if ($DB) {echo " - $total_login_time - $login_sec";} + echo "</td></tr>\n"; + } + $o++; + } +if (strlen($login_sec)<1) + { + $login_sec = ($STARTtime - $row[1]); + $total_login_time = ($total_login_time + $login_sec); + if ($DB) {echo "LOGIN ONLY - $total_login_time - $login_sec";} + } +$total_login_hours = ($total_login_time / 3600); +$total_login_hours_int = round($total_login_hours, 2); +$total_login_hours_int = intval("$total_login_hours_int"); +$total_login_minutes = ($total_login_hours - $total_login_hours_int); +$total_login_minutes = ($total_login_minutes * 60); +$total_login_minutes_int = round($total_login_minutes, 0); +if ($total_login_minutes_int < 10) {$total_login_minutes_int = "0$total_login_minutes_int";} + + if ($DB) {echo " - $total_login_time - $login_sec";} + +echo "<tr><td align=right><font size=2> </td>"; +echo "<td align=right><font size=2> </td>\n"; +echo "<td align=right><font size=2> </td>\n"; +echo "<td align=right><font size=2> </td>\n"; +echo "<td align=right><font size=2><font size=2>TOTAL </td>\n"; +echo "<td align=right><font size=2> $total_login_hours_int:$total_login_minutes_int </td></tr>\n"; + +echo "</TABLE></center>\n"; + + +##### closer in-group selection logs ##### + +echo "<br><br>\n"; + +echo "<center>\n"; + +echo "<B>CLOSER IN-GROUP SELECTION LOGS:</B>\n"; +echo "<TABLE width=670 cellspacing=0 cellpadding=1>\n"; +echo "<tr><td><font size=1># </td><td><font size=2>DATE/TIME </td><td align=left><font size=2> CAMPAIGN</td><td align=left><font size=2>BLEND</td><td align=left><font size=2> GROUPS</td></tr>\n"; + + $stmt="select * from vicidial_user_closer_log where user='" . mysql_real_escape_string($user) . "' and event_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and event_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by event_date desc limit 1000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + echo "<tr $bgcolor>"; + echo "<td><font size=1>$u</td>"; + echo "<td><font size=2>$row[2]</td>"; + echo "<td align=left><font size=2> $row[1]</td>\n"; + echo "<td align=left><font size=2> $row[3]</td>\n"; + echo "<td align=left><font size=2> $row[4] </td>\n"; + echo "</tr>\n"; + + } + + +echo "</TABLE><BR><BR>\n"; + + +##### vicidial agent outbound calls for this time period ##### + +echo "<B>OUTBOUND CALLS FOR THIS TIME PERIOD: (10000 record limit)</B>\n"; +echo "<TABLE width=670 cellspacing=0 cellpadding=1>\n"; +echo "<tr><td><font size=1># </td><td><font size=2>DATE/TIME </td><td align=left><font size=2>LENGTH</td><td align=left><font size=2> STATUS</td><td align=left><font size=2> PHONE</td><td align=right><font size=2> CAMPAIGN</td><td align=right><font size=2> GROUP</td><td align=right><font size=2> LIST</td><td align=right><font size=2> LEAD</td><td align=right><font size=2> HANGUP REASON</td></tr>\n"; + + $stmt="select * from vicidial_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + echo "<tr $bgcolor>"; + echo "<td><font size=1>$u</td>"; + echo "<td><font size=2>$row[4]</td>"; + echo "<td align=left><font size=2> $row[7]</td>\n"; + echo "<td align=left><font size=2> $row[8]</td>\n"; + echo "<td align=left><font size=2> $row[10] </td>\n"; + echo "<td align=right><font size=2> $row[3] </td>\n"; + echo "<td align=right><font size=2> $row[14] </td>\n"; + echo "<td align=right><font size=2> $row[2] </td>\n"; + echo "<td align=right><font size=2> <A HREF=\"admin_modify_lead.php?lead_id=$row[1]\" target=\"_blank\">$row[1]</A> </td>\n"; + echo "<td align=right><font size=2> $row[15] </td></tr>\n"; + + } + + +echo "</TABLE><BR><BR>\n"; + + +##### vicidial agent inbound calls for this time period ##### + +echo "<B>INBOUND/CLOSER CALLS FOR THIS TIME PERIOD: (10000 record limit)</B>\n"; +echo "<TABLE width=670 cellspacing=0 cellpadding=1>\n"; +echo "<tr><td><font size=1># </td><td><font size=2>DATE/TIME </td><td align=left><font size=2>LENGTH</td><td align=left><font size=2> STATUS</td><td align=left><font size=2> PHONE</td><td align=right><font size=2> CAMPAIGN</td><td align=right><font size=2> WAIT (S)</td><td align=right><font size=2> LIST</td><td align=right><font size=2> LEAD</td><td align=right><font size=2> HANGUP REASON</td></tr>\n"; + + $stmt="select * from vicidial_closer_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + echo "<tr $bgcolor>"; + echo "<td><font size=1>$u</td>"; + echo "<td><font size=2>$row[4]</td>"; + echo "<td align=left><font size=2> $row[7]</td>\n"; + echo "<td align=left><font size=2> $row[8]</td>\n"; + echo "<td align=left><font size=2> $row[10] </td>\n"; + echo "<td align=right><font size=2> $row[3] </td>\n"; + echo "<td align=right><font size=2> $row[14] </td>\n"; + echo "<td align=right><font size=2> $row[2] </td>\n"; + echo "<td align=right><font size=2> <A HREF=\"admin_modify_lead.php?lead_id=$row[1]\" target=\"_blank\">$row[1]</A> </td>\n"; + echo "<td align=right><font size=2> $row[17] </td></tr>\n"; + + } + + +echo "</TABLE></center><BR><BR>\n"; + + +##### vicidial recordings for this time period ##### + +echo "<B>RECORDINGS FOR THIS TIME PERIOD: (10000 record limit)</B>\n"; +echo "<TABLE width=750 cellspacing=0 cellpadding=1>\n"; +echo "<tr><td><font size=1># </td><td align=left><font size=2> LEAD</td><td><font size=2>DATE/TIME </td><td align=left><font size=2>SECONDS </td><td align=left><font size=2>   RECID</td><td align=center><font size=2>FILENAME</td><td align=center><font size=2>LOCATION   </td></tr>\n"; + + $stmt="select * from recording_log where user='" . mysql_real_escape_string($user) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by recording_id desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) + { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $location = $row[11]; + + if (strlen($location)>2) + { + $URLserver_ip = $location; + $URLserver_ip = eregi_replace('http://','',$URLserver_ip); + $URLserver_ip = eregi_replace('https://','',$URLserver_ip); + $URLserver_ip = eregi_replace("\/.*",'',$URLserver_ip); + $stmt="select count(*) from servers where server_ip='$URLserver_ip';"; + $rsltx=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rsltx); + + if ($rowx[0] > 0) + { + $stmt="select recording_web_link,alt_server_ip from servers where server_ip='$URLserver_ip';"; + $rsltx=mysql_query($stmt, $link); + $rowx=mysql_fetch_row($rsltx); + + if (eregi("ALT_IP",$rowx[0])) + { + $location = eregi_replace($URLserver_ip, $rowx[1], $location); + } + } + } + + if (strlen($location)>30) + {$locat = substr($location,0,27); $locat = "$locat...";} + else + {$locat = $location;} + if (eregi("http",$location)) + {$location = "<a href=\"$location\">$locat</a>";} + else + {$location = $locat;} + $u++; + echo "<tr $bgcolor>"; + echo "<td><font size=1>$u</td>"; + echo "<td align=left><font size=2> <A HREF=\"admin_modify_lead.php?lead_id=$row[12]\" target=\"_blank\">$row[12]</A> </td>"; + echo "<td align=left><font size=2> $row[4] </td>\n"; + echo "<td align=left><font size=2> $row[8] </td>\n"; + echo "<td align=left><font size=2> $row[0] </td>\n"; + echo "<td align=center><font size=2> $row[10] </td>\n"; + echo "<td align=right><font size=2> $location   </td>\n"; + echo "</tr>\n"; + + } + + +echo "</TABLE><BR><BR>\n"; + + +##### vicidial agent outbound user manual calls for this time period ##### + +echo "<B>MANUAL OUTBOUND CALLS FOR THIS TIME PERIOD: (10000 record limit)</B>\n"; +echo "<TABLE width=750 cellspacing=0 cellpadding=1>\n"; +echo "<tr><td><font size=1># </td><td><font size=2>DATE/TIME </td><td align=left><font size=2> CALL TYPE</td><td align=left><font size=2> SERVER</td><td align=left><font size=2> PHONE</td><td align=right><font size=2> DIALED</td><td align=right><font size=2> LEAD</td><td align=right><font size=2> CALLERID</td><td align=right><font size=2> ALIAS</td></tr>\n"; + + $stmt="select call_date,call_type,server_ip,phone_number,number_dialed,lead_id,callerid,group_alias_id from user_call_log where user='" . mysql_real_escape_string($user) . "' and call_date >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and call_date <= '" . mysql_real_escape_string($end_date) . " 23:59:59' order by call_date desc limit 10000;"; + $rslt=mysql_query($stmt, $link); + $logs_to_print = mysql_num_rows($rslt); + + $u=0; + while ($logs_to_print > $u) { + $row=mysql_fetch_row($rslt); + if (eregi("1$|3$|5$|7$|9$", $u)) + {$bgcolor='bgcolor="#B9CBFD"';} + else + {$bgcolor='bgcolor="#9BB9FB"';} + + $u++; + echo "<tr $bgcolor>"; + echo "<td><font size=1>$u</td>"; + echo "<td><font size=2>$row[0]</td>"; + echo "<td align=left><font size=2> $row[1]</td>\n"; + echo "<td align=left><font size=2> $row[2]</td>\n"; + echo "<td align=left><font size=2> $row[3] </td>\n"; + echo "<td align=right><font size=2> $row[4] </td>\n"; + echo "<td align=right><font size=2> <A HREF=\"admin_modify_lead.php?lead_id=$row[5]\" target=\"_blank\">$row[5]</A> </td>\n"; + echo "<td align=right><font size=2> $row[6] </td>\n"; + echo "<td align=right><font size=2> $row[7] </td></tr>\n"; + + } + + +echo "</TABLE><BR><BR>\n"; + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n<br><br><br>\n\n"; + + +echo "<font size=0>\n\n\n<br><br><br>\nscript runtime: $RUNtime seconds</font>"; + + +?> + + +</TD></TR><TABLE> +</body> +</html> + +<? + +exit; + + + +?> + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/user_status.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/user_status.php new file mode 100644 index 00000000..ea20ef2f --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/user_status.php @@ -0,0 +1,507 @@ +<? +# user_status.php +# +# Copyright (C) 2009 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 +# +# CHANGES +# +# 60619-1738 - Added variable filtering to eliminate SQL injection attack threat +# 80603-1452 - Added manager timeclock force login/logout of user +# 81118-1034 - Disabled change campaign because it does not work +# 90208-0511 - Added link to user multi-day status report +# 90310-0741 - Added admin header +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["begin_date"])) {$begin_date=$_GET["begin_date"];} + elseif (isset($_POST["begin_date"])) {$begin_date=$_POST["begin_date"];} +if (isset($_GET["end_date"])) {$end_date=$_GET["end_date"];} + elseif (isset($_POST["end_date"])) {$end_date=$_POST["end_date"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["stage"])) {$stage=$_GET["stage"];} + elseif (isset($_POST["stage"])) {$stage=$_POST["stage"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin,webroot_writable FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$qm_conf_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $qm_conf_ct) + { + $row=mysql_fetch_row($rslt); + $non_latin = $row[0]; + $webroot_writable = $row[1]; + $i++; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$StarTtimE = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$ip = getenv("REMOTE_ADDR"); + +if (!isset($begin_date)) {$begin_date = $TODAY;} +if (!isset($end_date)) {$end_date = $TODAY;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and view_reports='1';"; + if ($non_latin > 0) { $rslt=mysql_query("SET NAMES 'UTF8'");} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $stmt="SELECT full_name,change_agent_campaign,modify_timeclock_log from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname = $row[0]; + $change_agent_campaign = $row[1]; + $modify_timeclock_log = $row[2]; + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + } + else + { + if ($webroot_writable > 0) + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + } + + $stmt="SELECT full_name,user_group from vicidial_users where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + $user_group = $row[1]; + + $stmt="SELECT * from vicidial_live_agents where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $agents_to_print = mysql_num_rows($rslt); + $i=0; + while ($i < $agents_to_print) + { + $row=mysql_fetch_row($rslt); + $Aserver_ip = $row[2]; + $Asession_id = $row[3]; + $Aextension = $row[4]; + $Astatus = $row[5]; + $Acampaign = $row[7]; + $Alast_call = $row[14]; + $Acl_campaigns = $row[15]; + $i++; + } + + $stmt="SELECT event_date,status,ip_address from vicidial_timeclock_status where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $tc_logs_to_print = mysql_num_rows($rslt); + if ($tc_logs_to_print > 0) + { + $row=mysql_fetch_row($rslt); + $Tevent_date = $row[0]; + $Tstatus = $row[1]; + $Tip_address = $row[2]; + $i++; + } + + } + +$stmt="select * from vicidial_campaigns;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$groups_to_print = mysql_num_rows($rslt); +$i=0; +while ($i < $groups_to_print) + { + $row=mysql_fetch_row($rslt); + $groups[$i] =$row[0]; + $i++; + } + + + +?> +<html> +<head> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> +<title>VICIDIAL ADMIN: User Status +<? + + +##### BEGIN Set variables to make header show properly ##### +$ADD = '3'; +$hh = 'users'; +$LOGast_admin_access = '1'; +$ADMIN = 'admin.php'; +$page_width='770'; +$section_width='750'; +$header_font_size='3'; +$subheader_font_size='2'; +$subcamp_font_size='2'; +$header_selected_bold='<b>'; +$header_nonselected_bold=''; +$users_color = '#FFFF99'; +$users_font = 'BLACK'; +$users_color = '#E6E6E6'; +$subcamp_color = '#C6C6C6'; +##### END Set variables to make header show properly ##### + +require("admin_header.php"); + + + +?> +<TABLE WIDTH=<? echo $page_width ?> BGCOLOR=#E6E6E6 cellpadding=2 cellspacing=0><TR BGCOLOR=#E6E6E6><TD ALIGN=LEFT><FONT FACE="ARIAL,HELVETICA" SIZE=2><B>   User Status for <? echo $user ?></TD><TD ALIGN=RIGHT><FONT FACE="ARIAL,HELVETICA" SIZE=2><B>   </TD></TR> + + + + +<? + +echo "<TR BGCOLOR=\"#F0F5FE\"><TD ALIGN=LEFT COLSPAN=2><FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=3><B>   \n"; + +##### EMERGENCY CAMPAIGN CHANGE FOR AN AGENT ##### +if ($stage == "live_campaign_change") + { + $stmt="UPDATE vicidial_live_agents set campaign_id='" . mysql_real_escape_string($group) . "' where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + + echo "Agent $user - $full_name changed to $group campaign<BR>\n"; + + exit; + } + +##### EMERGENCY LOGOUT OF AN AGENT ##### +if ($stage == "log_agent_out") + { + $stmt="DELETE from vicidial_live_agents where user='" . mysql_real_escape_string($user) . "';"; + $rslt=mysql_query($stmt, $link); + + echo "Agent $user - $full_name has been emergency logged out, make sure they close their web browser<BR>\n"; + + exit; + } + + + + + +##### BEGIN TIMECLOCK LOGOUT OF A USER ##### +if ( ( ($stage == "tc_log_user_OUT") or ($stage == "tc_log_user_IN") ) and ($modify_timeclock_log > 0) ) + { + ### get vicidial_timeclock_status record count for this user + $stmt="SELECT count(*) from vicidial_timeclock_status where user='$user';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $vts_count = $row[0]; + + $LOG_run=0; + $last_action_sec=99; + + if ($vts_count > 0) + { + ### vicidial_timeclock_status record found, grab status and date of last activity + $stmt="SELECT status,event_epoch from vicidial_timeclock_status where user='$user';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $status = $row[0]; + $event_epoch = $row[1]; + $last_action_date = date("Y-m-d H:i:s", $event_epoch); + $last_action_sec = ($StarTtimE - $event_epoch); + + if ($last_action_sec > 0) + { + $totTIME_H = ($last_action_sec / 3600); + $totTIME_H_int = round($totTIME_H, 2); + $totTIME_H_int = intval("$totTIME_H"); + $totTIME_M = ($totTIME_H - $totTIME_H_int); + $totTIME_M = ($totTIME_M * 60); + $totTIME_M_int = round($totTIME_M, 2); + $totTIME_M_int = intval("$totTIME_M"); + $totTIME_S = ($totTIME_M - $totTIME_M_int); + $totTIME_S = ($totTIME_S * 60); + $totTIME_S = round($totTIME_S, 0); + if (strlen($totTIME_H_int) < 1) {$totTIME_H_int = "0";} + if ($totTIME_M_int < 10) {$totTIME_M_int = "0$totTIME_M_int";} + if ($totTIME_S < 10) {$totTIME_S = "0$totTIME_S";} + $totTIME_HMS = "$totTIME_H_int:$totTIME_M_int:$totTIME_S"; + } + else + { + $totTIME_HMS='0:00:00'; + } + } + + else + { + ### No vicidial_timeclock_status record found, insert one + $stmt="INSERT INTO vicidial_timeclock_status set status='START', user='$user', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $status='START'; + $totTIME_HMS='0:00:00'; + $affected_rows = mysql_affected_rows($link); + print "<!-- NEW vicidial_timeclock_status record inserted for $user: |$affected_rows| -->\n"; + } + + + ##### Run timeclock login queries ##### + if ( ( ($status=='AUTOLOGOUT') or ($status=='START') or ($status=='LOGOUT') ) and ($stage == "tc_log_user_IN") ) + { + ### Add a record to the timeclock log + $stmtA="INSERT INTO vicidial_timeclock_log set event='LOGIN', user='$user', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip', event_date='$NOW_TIME', manager_user='$PHP_AUTH_USER', manager_ip='$ip', notes='Manager LOGIN of user from user status page';"; + if ($DB) {echo "$stmtA\n";} + $rslt=mysql_query($stmtA, $link); + $affected_rows = mysql_affected_rows($link); + $timeclock_id = mysql_insert_id($link); + print "<!-- NEW vicidial_timeclock_log record inserted for $user: |$affected_rows|$timeclock_id| -->\n"; + + ### Update the user's timeclock status record + $stmtB="UPDATE vicidial_timeclock_status set status='LOGIN', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip' where user='$user';"; + if ($DB) {echo "$stmtB\n";} + $rslt=mysql_query($stmtB, $link); + $affected_rows = mysql_affected_rows($link); + print "<!-- vicidial_timeclock_status record updated for $user: |$affected_rows| -->\n"; + + ### Add a record to the timeclock audit log + $stmtC="INSERT INTO vicidial_timeclock_audit_log set timeclock_id='$timeclock_id', event='LOGIN', user='$user', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip', event_date='$NOW_TIME';"; + if ($DB) {echo "$stmtC\n";} + $rslt=mysql_query($stmtC, $link); + $affected_rows = mysql_affected_rows($link); + print "<!-- NEW vicidial_timeclock_audit_log record inserted for $user: |$affected_rows| -->\n"; + + ### Add a record to the vicidial_admin_log + $SQL_log = "$stmtA|$stmtB|$stmtC|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='TIMECLOCK', event_type='LOGIN', record_id='$user', event_code='USER FORCED LOGIN FROM STATUS PAGE', event_sql=\"$SQL_log\", event_notes='Timeclock ID: $timeclock_id|';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "<!-- NEW vicidial_admin_log record inserted for $PHP_AUTH_USER: |$affected_rows| -->\n"; + + $LOG_run++; + $VDdisplayMESSAGE = "You have now logged-in the user: $user - $full_name"; + } + + ##### Run timeclock logout queries ##### + if ( ( ($status=='LOGIN') or ($status=='START') ) and ($stage == "tc_log_user_OUT") ) + { + ### Add a record to the timeclock log + $stmtA="INSERT INTO vicidial_timeclock_log set event='LOGOUT', user='$user', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip', login_sec='$last_action_sec', event_date='$NOW_TIME', manager_user='$PHP_AUTH_USER', manager_ip='$ip', notes='Manager LOGOUT of user from user status page';"; + if ($DB) {echo "$stmtA\n";} + $rslt=mysql_query($stmtA, $link); + $affected_rows = mysql_affected_rows($link); + $timeclock_id = mysql_insert_id($link); + print "<!-- NEW vicidial_timeclock_log record inserted for $user: |$affected_rows|$timeclock_id| -->\n"; + + ### Update last login record in the timeclock log + $stmtB="UPDATE vicidial_timeclock_log set login_sec='$last_action_sec',tcid_link='$timeclock_id' where event='LOGIN' and user='$user' order by timeclock_id desc limit 1;"; + if ($DB) {echo "$stmtB\n";} + $rslt=mysql_query($stmtB, $link); + $affected_rows = mysql_affected_rows($link); + print "<!-- vicidial_timeclock_log record updated for $user: |$affected_rows| -->\n"; + + ### Update the user's timeclock status record + $stmtC="UPDATE vicidial_timeclock_status set status='LOGOUT', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip' where user='$user';"; + if ($DB) {echo "$stmtC\n";} + $rslt=mysql_query($stmtC, $link); + $affected_rows = mysql_affected_rows($link); + print "<!-- vicidial_timeclock_status record updated for $user: |$affected_rows| -->\n"; + + ### Add a record to the timeclock audit log + $stmtD="INSERT INTO vicidial_timeclock_audit_log set timeclock_id='$timeclock_id', event='LOGOUT', user='$user', user_group='$user_group', event_epoch='$StarTtimE', ip_address='$ip', login_sec='$last_action_sec', event_date='$NOW_TIME';"; + if ($DB) {echo "$stmtD\n";} + $rslt=mysql_query($stmtD, $link); + $affected_rows = mysql_affected_rows($link); + print "<!-- NEW vicidial_timeclock_audit_log record inserted for $user: |$affected_rows| -->\n"; + + ### Update last login record in the timeclock audit log + $stmtE="UPDATE vicidial_timeclock_audit_log set login_sec='$last_action_sec',tcid_link='$timeclock_id' where event='LOGIN' and user='$user' order by timeclock_id desc limit 1;"; + if ($DB) {echo "$stmtE\n";} + $rslt=mysql_query($stmtE, $link); + $affected_rows = mysql_affected_rows($link); + print "<!-- vicidial_timeclock_audit_log record updated for $user: |$affected_rows| -->\n"; + + ### Add a record to the vicidial_admin_log + $SQL_log = "$stmtA|$stmtB|$stmtC|$stmtD|$stmtE|"; + $SQL_log = ereg_replace(';','',$SQL_log); + $SQL_log = addslashes($SQL_log); + $stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='TIMECLOCK', event_type='LOGOUT', record_id='$user', event_code='USER FORCED LOGOUT FROM STATUS PAGE', event_sql=\"$SQL_log\", event_notes='User login time: $last_action_sec|Timeclock ID: $timeclock_id|';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $link); + $affected_rows = mysql_affected_rows($link); + print "<!-- NEW vicidial_admin_log record inserted for $PHP_AUTH_USER: |$affected_rows| -->\n"; + + $LOG_run++; + $VDdisplayMESSAGE = "You have now logged-out the user: $user - $full_name<BR>Amount of time user was logged-in: $totTIME_HMS"; + } + + if ($LOG_run < 1) + {$VDdisplayMESSAGE = "ERROR: timeclock log problem, could not process: $status|$stage";} + + echo "$VDdisplayMESSAGE\n"; + + exit; + } + +##### END TIMECLOCK LOGOUT OF A USER ##### + +if ($agents_to_print > 0) + { + echo "<BR>\n"; + echo "$user - $full_name \n"; + echo "       GROUP: $user_group <BR>\n"; + + echo "<TABLE CELLPADDING=0 CELLSPACING=0>"; + echo "<TR><TD ALIGN=RIGHT>Agent Logged in at server:</TD><TD ALIGN=LEFT>   $Aserver_ip</TD></TR>\n"; + echo "<TR><TD ALIGN=RIGHT>in session:</TD><TD ALIGN=LEFT>   $Asession_id</TD></TR>\n"; + echo "<TR><TD ALIGN=RIGHT>from phone:</TD><TD ALIGN=LEFT>   $Aextension</TD></TR>\n"; + echo "<TR><TD ALIGN=RIGHT>Agent is in campaign:</TD><TD ALIGN=LEFT>   $Acampaign</TD></TR>\n"; + echo "<TR><TD ALIGN=RIGHT>status:</TD><TD ALIGN=LEFT>   $Astatus</TD></TR>\n"; + echo "<TR><TD ALIGN=RIGHT>hungup last call at:</TD><TD ALIGN=LEFT>   $Alast_call</TD></TR>\n"; + echo "<TR><TD ALIGN=RIGHT>Closer groups:</TD><TD ALIGN=LEFT>   $Acl_campaigns</TD></TR>\n"; + echo "</TABLE>\n<BR>\n"; + + + if ($change_agent_campaign > 0) + { + echo "<form action=$PHP_SELF method=POST>\n"; + echo "<input type=hidden name=DB value=\"$DB\">\n"; + echo "<input type=hidden name=user value=\"$user\">\n"; + echo "<input type=hidden name=stage value=\"live_campaign_change\">\n"; + echo "Current Campaign: <SELECT SIZE=1 NAME=group>\n"; + $o=0; + while ($groups_to_print > $o) + { + if ($groups[$o] == "$Acampaign") {echo "<option selected value=\"$groups[$o]\">$groups[$o]</option>\n";} + else {echo "<option value=\"$groups[$o]\">$groups[$o]</option>\n";} + $o++; + } + echo "</SELECT>\n"; + echo "<input type=submit name=submit value=CHANGE disabled><BR></form>\n"; + + + echo "<form action=$PHP_SELF method=POST>\n"; + echo "<input type=hidden name=DB value=\"$DB\">\n"; + echo "<input type=hidden name=user value=\"$user\">\n"; + echo "<input type=hidden name=stage value=\"log_agent_out\">\n"; + echo "<input type=submit name=submit value=\"EMERGENCY LOG AGENT OUT\"><BR></form>\n"; + } + } + +else + { + echo "Agent is not logged in to VICIDIAL\n<BR>"; + } + +echo "\n<BR>"; + +if ( ($Tstatus == "LOGIN") or ($Tstatus == "START") ) + { + echo "User $user($full_name) - is logged in to the timeclock. <BR>Login time: $Tevent_date from $Tip_address<BR>\n"; + $TC_log_change_stage = 'tc_log_user_OUT'; + $TC_log_change_button = 'TIMECLOCK LOG THIS USER OUT'; + } +else + { + echo "User $user($full_name) - is NOT logged in to the timeclock. <BR>Last logout time: $Tevent_date from $Tip_address<BR>\n"; + $TC_log_change_stage = 'tc_log_user_IN'; + $TC_log_change_button = 'TIMECLOCK LOG THIS USER IN'; + } + +if ($modify_timeclock_log > 0) + { + echo "<BR><BR>\n"; + echo "<form action=$PHP_SELF method=POST>\n"; + echo "<input type=hidden name=DB value=\"$DB\">\n"; + echo "<input type=hidden name=user value=\"$user\">\n"; + echo "<input type=hidden name=stage value=\"$TC_log_change_stage\">\n"; + echo "<input type=submit name=submit value=\"$TC_log_change_button\"><BR></form>\n"; + echo "<BR><BR>\n"; + } + + +$REPORTdate = date("Y-m-d"); +echo "<center>\n"; +echo "<a href=\"./AST_agent_time_sheet.php?agent=$user\">VICIDIAL Time Sheet</a>\n"; +echo " | <a href=\"./user_stats.php?user=$user\">User Stats</a>\n"; +echo " | <a href=\"./admin.php?ADD=3&user=$user\">Modify User</a>\n"; +echo " | <a href=\"./AST_agent_days_detail.php?user=$user&query_date=$REPORTdate&end_date=$REPORTdate&group[]=--ALL--&shift=ALL\">User multiple day status detail report</a>"; +echo "</center>\n"; + +echo "</B></TD></TR>\n"; +echo "<TR><TD ALIGN=LEFT COLSPAN=2>\n"; + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $StarTtimE); + +echo "\n\n\n<br><br><br>\n\n"; + + +echo "<font size=0>\n\n\n<br><br><br>\nscript runtime: $RUNtime seconds</font>"; + +echo "|$stage|$group|"; + +?> + + +</TD></TR><TABLE> +</body> +</html> + +<? + +exit; + + + +?> + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/vdremote.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/vdremote.php new file mode 100644 index 00000000..260c78c1 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/vdremote.php @@ -0,0 +1,604 @@ +<? +# vdremote.php +# +# make sure you have added a user to the vicidial_users MySQL table with at +# least user_level 4 to access this page the first time +# +# Copyright (C) 2008 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2 +# +# Changes +# 50307-1721 - First version +# 51123-1502 - removed requirement of PHP Globals=on +# 60421-1229 - check GET/POST vars lines with isset to not trigger PHP NOTICES +# 60619-1603 - Added variable filtering to eliminate SQL injection attack threat +# + +$version = '1.1.12'; +$build = '60619-1603'; + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["ADD"])) {$ADD=$_GET["ADD"];} + elseif (isset($_POST["ADD"])) {$ADD=$_POST["ADD"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["force_logout"])) {$force_logout=$_GET["force_logout"];} + elseif (isset($_POST["force_logout"])) {$force_logout=$_POST["force_logout"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["remote_agent_id"])) {$remote_agent_id=$_GET["remote_agent_id"];} + elseif (isset($_POST["remote_agent_id"])) {$remote_agent_id=$_POST["remote_agent_id"];} +if (isset($_GET["user_start"])) {$user_start=$_GET["user_start"];} + elseif (isset($_POST["user_start"])) {$user_start=$_POST["user_start"];} +if (isset($_GET["number_of_lines"])) {$number_of_lines=$_GET["number_of_lines"];} + elseif (isset($_POST["number_of_lines"])) {$number_of_lines=$_POST["number_of_lines"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["conf_exten"])) {$conf_exten=$_GET["conf_exten"];} + elseif (isset($_POST["conf_exten"])) {$conf_exten=$_POST["conf_exten"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["groups"])) {$groups=$_GET["groups"];} + elseif (isset($_POST["groups"])) {$groups=$_POST["groups"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +if (!isset($force_logout)) {$force_logout = 0;} + +if ($force_logout) +{ + if( (strlen($PHP_AUTH_USER)>0) or (strlen($PHP_AUTH_PW)>0) ) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + } + echo "You have now logged out. Thank you\n"; + exit; +} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + + +$popup_page = './closer_popup.php'; +$STARTtime = date("U"); +$NOW_DATE = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +if (!isset($query_date)) {$query_date = $NOW_DATE;} + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 3;"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + header ("Content-type: text/html; charset=utf-8"); + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + + $stmt="SELECT count(*) from vicidial_remote_agents where user_start='$PHP_AUTH_USER';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $authx=$row[0]; + + if($authx>0) + { + $stmt="SELECT remote_agent_id,server_ip,number_of_lines from vicidial_remote_agents where user_start='$PHP_AUTH_USER';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id=$row[0]; + $server_ip=$row[1]; + if (!$number_of_lines) {$number_of_lines=$row[2];} + + fwrite ($fp, "VDremote|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VDremote|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + echo "This remote agent does not exist: |$PHP_AUTH_USER|\n"; + exit; + } + } + else + { + fwrite ($fp, "VDremote|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + } + +echo "<html>\n"; +echo "<head>\n"; +echo "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=utf-8\">\n"; +if ($ADD==61111) + { + echo"<META HTTP-EQUIV=Refresh CONTENT=\"5; URL=$PHP_SELF?ADD=61111&user=$user&DB=$DB\">\n"; + } +echo "<!-- VERSION: $version BUILD: $build -->\n"; +?> +<STYLE type="text/css"> +<!-- + .green {color: white; background-color: green} + .red {color: white; background-color: red} + .blue {color: white; background-color: blue} + .purple {color: white; background-color: purple} + .yellow {color: black; background-color: yellow} + .orange {color: black; background-color: orange} +--> + </STYLE> +<? +echo "<title>VICIDIAL REMOTE AGENTS: $LOGfullname - $PHP_AUTH_USER "; + +if (!$ADD) {$ADD="31111";} +if ($ADD==31111) {echo "Modify Remote Agents";} +if ($ADD==41111) {echo "Modify Remote Agents";} +if ($ADD==61111) {echo "Remote Agent Status";} +if ($ADD==71111) {echo "Remote Agent Closer Stats";} + + +if (strlen($ADD)>4) + { + ##### get server listing for dynamic pulldown + $stmt="SELECT server_ip,server_description from servers order by server_ip"; + $rslt=mysql_query($stmt, $link); + $servers_to_print = mysql_num_rows($rslt); + $servers_list=''; + + $o=0; + while ($servers_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $servers_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + ##### get campaigns listing for dynamic pulldown + $stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; + $rslt=mysql_query($stmt, $link); + $campaigns_to_print = mysql_num_rows($rslt); + $campaigns_list=''; + + $o=0; + while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "<option value=\"$rowx[0]\">$rowx[0] - $rowx[1]</option>\n"; + $o++; + } + + ##### get inbound groups listing for checkboxes + if ( (($ADD==31111) or ($ADD==31111)) and (count($groups)<1) ) + { + $stmt="SELECT closer_campaigns from vicidial_remote_agents where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $closer_campaigns = $row[0]; + $closer_campaigns = preg_replace("/ -$/","",$closer_campaigns); + $groups = explode(" ", $closer_campaigns); + } + + $stmt="SELECT group_id,group_name from vicidial_inbound_groups order by group_id"; + $rslt=mysql_query($stmt, $link); + $groups_to_print = mysql_num_rows($rslt); + $groups_list=''; + $groups_value=''; + + $o=0; + while ($groups_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $group_id_value = $rowx[0]; + $group_name_value = $rowx[1]; + $groups_list .= "<input type=\"checkbox\" name=\"groups[]\" value=\"$group_id_value\""; + $p=0; + while ($p<50) + { + if ($group_id_value == $groups[$p]) + { + $groups_list .= " CHECKED"; + $groups_value .= " $group_id_value"; + } + $p++; + } + $groups_list .= "> $group_id_value - $group_name_value<BR>\n"; + $o++; + } + if (strlen($groups_value)>2) {$groups_value .= " -";} + } + +?> + + + +
    + + + + +
      VICIDIAL REMOTE AGENTS:   Logout  
      MODIFY | ">STATUS | ">INBOUND STATS
    +"; + + $stmt="SELECT * from vicidial_remote_agents where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id = $row[0]; + $user_start = $row[1]; + $number_of_lines = $row[2]; + $server_ip = $row[3]; + $conf_exten = $row[4]; + $status = $row[5]; + $campaign_id = $row[6]; + +echo "
    MODIFY A REMOTE AGENTS ENTRY: $row[0]
    \n"; +echo "\n"; +echo "\n"; +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    User ID Start: $user_start
    Number of Lines: (numbers only)
    Server IP: $row[3]
    External Extension: (number dialed to reach agents [i.e. 913125551212])
    Status:
    Campaign: $campaign_id
    Inbound Groups: \n"; +echo "$groups_list"; +echo "
    \n"; +echo "NOTE: It can take up to 30 seconds for changes submitted on this screen to go live\n"; + +} + + + + +###################### +# ADD=41111 modify remote agents info in the system +###################### + +if ($ADD==41111) +{ + echo ""; + + if ( (strlen($number_of_lines) < 1) or (strlen($conf_exten) < 2) ) + {echo "
    REMOTE AGENTS NOT MODIFIED - Please go back and look at the data you entered\n";} + else + { + $stmt="UPDATE vicidial_remote_agents set number_of_lines='" . mysql_real_escape_string($number_of_lines) . "', conf_exten='" . mysql_real_escape_string($conf_exten) . "', status='" . mysql_real_escape_string($status) . "', closer_campaigns='" . mysql_real_escape_string($groups_value) . "' where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + +# echo "$stmt\n"; + echo "
    REMOTE AGENTS MODIFIED\n"; + + ### LOG CHANGES TO LOG FILE ### + $fp = fopen ("./admin_changes_log.txt", "a"); + fwrite ($fp, "$date|MODIFY REMOTE AGENTS ENTRY |$PHP_AUTH_USER|$ip|$stmt|\n"); + fclose($fp); + + } + + $stmt="SELECT * from vicidial_remote_agents where remote_agent_id='" . mysql_real_escape_string($remote_agent_id) . "';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $remote_agent_id = $row[0]; + $user_start = $row[1]; + $number_of_lines = $row[2]; + $server_ip = $row[3]; + $conf_exten = $row[4]; + $status = $row[5]; + $campaign_id = $row[6]; + +echo "
    MODIFY A REMOTE AGENTS ENTRY: $row[0]\n"; +echo "\n"; +echo "\n"; +echo "
    \n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    User ID Start: $user_start
    Number of Lines: (numbers only)
    Server IP: $row[3]
    External Extension: (number dialed to reach agents [i.e. 913125551212])
    Status:
    Campaign: $campaign_id
    Inbound Groups: \n"; +echo "$groups_list"; +echo "
    \n"; +echo "NOTE: It can take up to 30 seconds for changes submitted on this screen to go live\n"; + +} + + + + +###################### +# ADD=61111 status of remote agent in the system and active calls and queue +###################### + +if ($ADD==61111) +{ + echo "
    ";
    +
    +	 if ( (strlen($server_ip) < 2) or (strlen($user) < 2) )
    +		{echo "
    REMOTE AGENTS ERROR - Please go back and look at the data you entered\n";} + else + { + + $users_list = ''; + $k=0; + while($k < $number_of_lines) + { + $nextuser=($user + $k); + $users_list .= "'" . mysql_real_escape_string($nextuser) . "',"; + $k++; + } + $users_list = preg_replace("/.$/","",$users_list); + + echo "VICIDIAL: Remote Agent Time On Calls $NOW_TIME\n\n"; + echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n"; + echo "| STATION | USER | LEADID | CHANNEL | STATUS | START TIME | MINUTES |\n"; + echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n"; + + + $stmt="select extension,user,lead_id,channel,status,last_call_time,UNIX_TIMESTAMP(last_call_time),UNIX_TIMESTAMP(last_call_finish) from vicidial_live_agents where status NOT IN('PAUSED') and server_ip='" . mysql_real_escape_string($server_ip) . "' and user IN($users_list) order by extension;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + while ($i < $talking_to_print) + { + $leadlink=0; + $row=mysql_fetch_row($rslt); + if (eregi("READY|PAUSED",$row[4])) + { + $row[3]=''; + $row[5]=' - WAITING - '; + $row[6]=$row[7]; + } + $extension = sprintf("%-10s", $row[0]); + $user = sprintf("%-6s", $row[1]); + $leadid = sprintf("%-12s", $row[2]); + if ($row[2] > 0) + { + $leadidLINK=$row[2]; + $leadlink++; + if ( eregi("QUEUE",$row[4]) ) {$row[6]=$STARTtime;} + $leadid = "$leadid"; + } + $channel = sprintf("%-10s", $row[3]); + $cc=0; + while ( (strlen($channel) > 10) and ($cc < 100) ) + { + $channel = eregi_replace(".$","",$channel); + $cc++; + if (strlen($channel) <= 10) {$cc=101;} + } + $status = sprintf("%-6s", $row[4]); + $start_time = sprintf("%-19s", $row[5]); + $call_time_S = ($STARTtime - $row[6]); + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + if ($call_time_M_int >= 5) {$G=''; $EG='';} + if ($call_time_M_int >= 10) {$G=''; $EG='';} + + echo "| $G$extension$EG | $G$user$EG | $G$leadid$EG | $G$channel$EG | $G$status$EG | $G$start_time$EG | $G$call_time_MS$EG |\n"; + + $i++; + } + + echo "+------------|--------+--------------+------------+--------+---------------------+---------+\n"; + echo " $i agents logged in on server $server_ip\n\n"; + + echo " - 5 minutes or more on call\n"; + echo " - Over 10 minutes on call\n"; + + } + else + { + echo "**************************************************************************************\n"; + echo "********************************* NO AGENTS ON CALLS *********************************\n"; + echo "**************************************************************************************\n"; + } + } + +echo "
    \n\n"; + +} + + +###################### +# ADD=71111 stats for remote agents from closer logs(vicidial_closer_log) +###################### + +if ($ADD==71111) +{ + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n\n"; + echo "
    ";
    +
    +	 if ( (strlen($server_ip) < 2) or (strlen($user) < 2) )
    +		{echo "
    REMOTE AGENTS ERROR - Please go back and look at the data you entered\n";} + else + { + + $users_list = ''; + $k=0; + while($k < $number_of_lines) + { + $nextuser=($user + $k); + $users_list .= "'$nextuser',"; + $k++; + } + $users_list = preg_replace("/.$/","",$users_list); + + $stmt="select count(*),sum(length_in_sec) from vicidial_closer_log where call_date >= '$query_date 00:00:01' and call_date <= '$query_date 23:59:59' and user IN($users_list);"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $in_calls = $row[0]; + $in_time = $row[1]; + $in_time_M = ($in_time / 60); + $in_time_M = round($in_time_M, 2); + $in_time_M_int = intval("$in_time_M"); + $in_time_SEC = ($in_time_M - $in_time_M_int); + $in_time_SEC = ($in_time_SEC * 60); + $in_time_SEC = round($in_time_SEC, 0); + if ($in_time_SEC < 10) {$in_time_SEC = "0$in_time_SEC";} + $in_time_MS = "$in_time_M_int:$in_time_SEC"; + $in_time_MS = sprintf("%7s", $in_time_MS); + + echo "VICIDIAL: Remote Agent inbound stats $NOW_TIME\n\n"; + echo "\n"; + echo "Total calls taken $query_date: $in_calls\n"; + echo "Total talk time on $query_date: $in_time_MS (minutes:seconds)\n"; + echo "\n"; + echo "\n"; + echo "Call list for $query_date:\n"; + echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n"; + echo "| USER | LEADID | GROUP | PHONE NUM | STATUS | CALL TIME | MINUTES |\n"; + echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n"; + + + $stmt="select user,lead_id,campaign_id,phone_number,status,call_date,length_in_sec from vicidial_closer_log where call_date >= '$query_date 00:00:01' and call_date <= '$query_date 23:59:59' and user IN($users_list) order by call_date;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $talking_to_print = mysql_num_rows($rslt); + if ($talking_to_print > 0) + { + $i=0; + while ($i < $talking_to_print) + { + $row=mysql_fetch_row($rslt); + $user = sprintf("%-8s", $row[0]); + $leadid = sprintf("%-10s", $row[1]); + $group = sprintf("%-14s", $row[2]); + $phone = sprintf("%-10s", $row[3]); + $status = sprintf("%-6s", $row[4]); + $start_time = sprintf("%-19s", $row[5]); + $call_time_S = $row[6]; + + $call_time_M = ($call_time_S / 60); + $call_time_M = round($call_time_M, 2); + $call_time_M_int = intval("$call_time_M"); + $call_time_SEC = ($call_time_M - $call_time_M_int); + $call_time_SEC = ($call_time_SEC * 60); + $call_time_SEC = round($call_time_SEC, 0); + if ($call_time_SEC < 10) {$call_time_SEC = "0$call_time_SEC";} + $call_time_MS = "$call_time_M_int:$call_time_SEC"; + $call_time_MS = sprintf("%7s", $call_time_MS); + $G = ''; $EG = ''; + # if ($call_time_M_int >= 5) {$G=''; $EG='';} + # if ($call_time_M_int >= 10) {$G=''; $EG='';} + + echo "| $G$user$EG | $G$leadid$EG | $G$group$EG | $G$phone$EG | $G$status$EG | $G$start_time$EG | $G$call_time_MS$EG |\n"; + + $i++; + } + + echo "+----------+------------+----------------+------------+--------+---------------------+---------+\n"; + # echo " $i agents logged in on server $server_ip\n\n"; + + # echo " - 5 minutes or more on call\n"; + # echo " - Over 10 minutes on call\n"; + + } + else + { + echo "**************************************************************************************\n"; + echo "********************************* NO CALLS ON THIS DAY *******************************\n"; + echo "**************************************************************************************\n"; + } + } + +echo "
    \n\n"; + +} + + + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n


    \n\n"; + + +echo "\n\n\n


    \nscript runtime: $RUNtime seconds
    "; + + +?> + + +
    + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/vicidial_admin_web_logo.gif b/agc_2-X/branches/agc_2.0.5/www/vicidial/vicidial_admin_web_logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..8c5a9d22408e80c7343f613b839cec0561e0d599 GIT binary patch literal 2483 zcmV;k2~74!Nk%w1VX6Qv0M$PL;^yo)b)AT#xu&?t)!O1EY?!^t)adN+KzW`QW|qs; z-Q3~mScaw#CRhFb{(76V1znQy^Y)LMvZ=`0!_3!Dfub&WrStXp?eOzvoW052=tq5^ zVT`GqvcwEvlVNa?l&!$|`us9RaCD`@`1$*3kgP0knp>5)eu|}+ywb+d+O56JiL=Z? zQ+vD9;MfT~D|uz{}0sItR!fS&*V z{{dT(A^8LW002J#EC2ui0IC2j000L6z@KnPEE0Oe`11K0wFQS$P~Xv z5GAz8#|NT6CKS-e00>DZ3o!sZC?7WCJU$bgCOFqIII30<8xQg&31KEP@()`T2R{D) z*^qbu5#!%K1Iwxz^cT!!mjpwL!Tqw0lPJc0a z7SIsk#fu0U+`SXvz#on+5E%3$EE!M<7#>wfp6k(WF2*1DDz!+1h71%A0-J!!`APr+ z{w|dGp~DA-icn8r@zCMl3of(Y#w|kJqXQ6Yf0ot;Xors)NSBI`KtX{46)|KFHdvTS z1pxlw@(zKcg$M#MyoLlCqXQR_I|W1+lDsAdBBTXHoe&lr0Ki^K-CzS$4jAJ@3@)HU z8+n~c(F_I*1@J=x6U5a2%>?yaVFGSGz#sq@5O9FuLN6>c1V0`vprKrJ0W=^4BV1R} zQZ^89K?)}X$$|?b;F3;M6-ME~0~h#1z%m6)5J3bJxM;-&==pHLO>T{HfWBM&<^@IeSJ3~EHENLpcn3jR3oz@%JwAb?m3B#FfaZY^YhWH4%LC8fLy z;Xw*MNT6v_FF5f3DX5}aX6+Mg<;DTDTTsPki(V9PYEa8T@W7Y`@s#SW0L_?y3m5dj zR|72^lEV_n)}{mm9wcCKs+uu0O_&@bQK!WT&}&3al|5%{7E1#B4-C&bs;EEGKud6j zqiBGEo5I4N!O2BLoToqmFtE!29XwD$h|K^jW0(jq;PeKmCV)T*m<#|y2?4C-LDLLy zaP$uW3`W8OscLZ^ne}+NkZ4BCJl2dB0C1qDOodl=&+UF>Ed(YApukJ7!~g>T10X=L z0RJenArDhtaMci7gRsB_uQ(9H1q7tx=#&u*P!E>=M6lZzZWEv(1F|jzUE65BO`w4- z&@F)jDKO#x^QcLBP=NugI!D0K#rfkoHO%_6`i3RI=aD}oykJ5C#rv>22Tl4Q4H(j@ zoE`%Z2%x=|^RiwV+_1||yX|?Cni+|RVX(jg2T;qv3W%*9K(-M``hy2EWa&=`d0Buf ze2|t33?>3CdjPAJ28N6U>;VZ_!OMJLx+Ay^0OXrnMP^q!h^4PW2w-2U1W zrZ6P`paW;|hXGKa6@%nYWEV6TY8Li^80_qd5(|@xMwP20Y(P{1$d$hU){aU3LjkXH zLA=mFhqfB^uo1PQlu*AOE357CJ% zOwPdF{s^K+iy44V7%0In{Z&eYfGt}l`lS})Wsn2lpn3->;+e+h2y&S#DKt<)2!z8f zEIu=F@8XXb_4o^33U6!vb7m4E7K7n+D+2!!Lj+%DxtEPilz|*Vj#dz?rUYi59~?rV zn0GvZ?8zUG^W^_}Vn!d3KtD>@r$tv6%(1W%43=EpKdy&_3l2yJ5x^APL~u=V;xeKC zVM1N#W*|yO6oY^myhzrB?FDLaX44@OKKdRM<)(K@zZBmV}6!EZ< z!Zb6f`=b&DQW+8`^9N`10T6%C)0qNwj`$pAK^&mCG3ZOF4+>>dr&Apro$Cf4kOd2L zV1XQDU;-K74@`d`Q!SA#qgy-_2T~WwA5=7&N}x$&wOBGH3gZDGP--$G>r^o1ATJ17 z$_KO(3s+bXPr?*J0Q_g!BT&;-MCB6>G_-+Ku0Wd#-HZY>M3d*#lndQj9sx25pw6~2 z1r9LRxhm2E9xMO=1o)7I%$WeX0AOQAkQTL6!BuwVVx41I&Jpe?7H3j(Y|=#kjuH*x zfI7~#QbdTG6jien8Hm6=u#wGR!O}Z?WtRiCZRZ?)@VM+5=ctgI!DiA@50`{4pJb5M z1pUFX^qSNNL@@vj=fCMm_2{|x;R2mi+I`x58W130_ z5C8-m*gyql@EC(^DNF*W9s$zng%LSNp6{&-amVGG4{Z1b7xA!u%_*)D_^(6(+zbF% zwb>ukmW*w@@jpV4h*^X#vto_Q9U%?p2nWv~iTN$@JaPcy?r#S$xWFFJZQvdeZ0Exw zbW-j(K!6FCXaEvm6-i3~umkki1FUv+3|_#4>e>3cOVl)qIG}=J7u!47Eolc7U~CmA z-~|XK0t8N=fd;t`2RN9VIgB&_95fpT1JGvVv`s(^C}0K!U;qVFfP)pdV+O?rckTkv zfdxdMWD$t62}+=Ve!Dvt-7a>^&X9lt82sP`5Vi*pj&MyE;IA5xo7^;zf~qc@;Rdg% x)JpIG0X%>MCg4QD55AU>XB-I|@A${FwxNda58*tMgv@77^P1cI=06Am06X*l3Nioy literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/vicidial_admin_web_logo_small.gif b/agc_2-X/branches/agc_2.0.5/www/vicidial/vicidial_admin_web_logo_small.gif new file mode 100644 index 0000000000000000000000000000000000000000..95738d4993772c4b98576b2ea0ad92d8872f9648 GIT binary patch literal 1011 zcmVAla~+vV)I(cs(T>$%I=kFLa;z}El& z{{dT(A^8LW002J#EC2ui07n28000L6z@KnPEEuUw&43308x|-K7$5?Ji4!AU_)u^F1pyZpE(CDlqt7-3dk$P1UdJ%Ehw^g!nBm~W zJCAomxQ++Ghk*$9P=pAuA;#*jxCS6OAz%*znG9%S7+7KvQC3M{%p%GVB3LlP22fp4 zfe#Oa_XB^`iNF8>5Fio%093CifKXw}@Z{4TK#50Q1Rij=g$W95;1B@)8Nd{01hDW- zg-MX|igZKhBnn4+FwlSqA;|)X11!G4RT&6K=Sl}P-nhaGDL{n)Zhc+w$_hm2WQaZZ zFaSd=*C6P?BOTPig$Eq~!_0&eFeVWS7Np?N4o(#j0Fgcr&_bB>1V95dKA^ee2|Q3( zzz1e1fEg|Y#N-1BAwXII0US8cr~rKyQ2;0d5s}nu$dEwIJ~ox=Kvlg7@Q4pA6z4+( zCtNw0016Ot164PLN`wk%Xn+$DBDkP|1|zuH00{~xkb_-3kf4D8zSMJo0t+b6K?Mec h5P=I9XpxKyHsD|oKnx_T-~a$5j8VnB^db=i06VT0p|t=2 literal 0 HcmV?d00001 diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/vicidial_sales_viewer.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/vicidial_sales_viewer.php new file mode 100644 index 00000000..21e65a96 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/vicidial_sales_viewer.php @@ -0,0 +1,236 @@ + LICENSE: AGPLv2 +# +# CHANGES +# 80310-1500 - first build +# 90310-2135 - Added admin header +# + +if (isset($_GET["dcampaign"])) {$dcampaign=$_GET["dcampaign"];} + elseif (isset($_POST["dcampaign"])) {$dcampaign=$_POST["dcampaign"];} +if (isset($_GET["submit_report"])) {$submit_report=$_GET["submit_report"];} + elseif (isset($_POST["submit_report"])) {$submit_report=$_POST["submit_report"];} +if (isset($_GET["list_ids"])) {$list_ids=$_GET["list_ids"];} + elseif (isset($_POST["list_ids"])) {$list_ids=$_POST["list_ids"];} +if (isset($_GET["sales_number"])) {$sales_number=$_GET["sales_number"];} + elseif (isset($_POST["sales_number"])) {$sales_number=$_POST["sales_number"];} +if (isset($_GET["sales_time_frame"])) {$sales_time_frame=$_GET["sales_time_frame"];} + elseif (isset($_POST["sales_time_frame"])) {$sales_time_frame=$_POST["sales_time_frame"];} +if (isset($_GET["forc"])) {$forc=$_GET["forc"];} + elseif (isset($_POST["forc"])) {$forc=$_POST["forc"];} + +?> + + +VICIDIAL recent sales lookup + + + + + +
    "; +?> + +
    + + + + + + + + + + + + + + + + + + + + + +
    Vicidial OUTBOUND recent sales report               Back to Admin +
    + + + + + + + + + + +
    Select a VICIDIAL campaign:
    Select list ID(s) # (optional):
    +
    View sales made within the last OR...View the last sales**
    (If you enter values in both fields, the results will be limited by the first criteria met)
    Campaign is:    Transfer  Non-transfer
    ** - sorted by call date
    +
    +0)) { $list_id_clause.="$lists[$i], "; } + } + $list_id_clause=substr($list_id_clause, 0, -2); + $list_id_clause.=")"; + + if ($sales_number && $sales_number>0) { + $sales_number=eregi_replace("[^0-9]", "", $sales_number); + $limit_clause="limit $sales_number"; + } else { + $sales_number=0; + $limit_clause=""; + } + if ($sales_time_frame && $sales_time_frame>0) { + $hours=$sales_time_frame/60; + $timestamp=date("YmdHis", mktime(date("H"),(date("i")-$sales_time_frame),date("s"),date("m"),date("d"),date("Y"))); + } else { + $timestamp=date("YmdHis", mktime(date("H"),date("i"),date("s"),date("m"),(date("d")-1),date("Y"))); + $hours=24; + } + print "
    "; + print ""; + $i=0; + + $dfile=fopen("discover_stmts.txt", "w"); + if ($forc=="C") { + $stmt="select v.first_name, v.last_name, v.phone_number, vl.call_date, v.lead_id, u.full_name from vicidial_users u, vicidial_list v, vicidial_log vl where vl.call_date>='$timestamp' and vl.lead_id=v.lead_id and v.status='SALE' $list_id_clause and vl.user=u.user order by call_date desc $limit_clause"; + } else { + $stmt="select v.first_name, v.last_name, v.phone_number, vl.call_date, v.lead_id, vl.user, vl.closer from vicidial_list v, vicidial_xfer_log vl where vl.call_date>='$timestamp' and vl.lead_id=v.lead_id and v.status='SALE' $list_id_clause order by call_date desc $limit_clause"; + } + fwrite($dfile, "$stmt\n"); + $rslt=mysql_query($stmt, $link); + $q=0; + print "\n"; + print "\n"; + print "\t\n"; + print "\t\n"; + print "\t\n"; + print "\t\n"; + print "\t\n"; + print "\n"; + while ($row=mysql_fetch_row($rslt)) { + $rec_stmt="select max(recording_id) from recording_log where lead_id='$row[4]'"; + $rec_rslt=mysql_query($rec_stmt, $link); + $rec_row=mysql_fetch_row($rec_rslt); + + if ($forc=="F") { + $rep_stmt="select full_name from vicidial_users where user='$row[5]'"; + $rep_rslt=mysql_query($rep_stmt, $link); + $fr_row=mysql_fetch_array($rep_rslt); + + $rep_stmt="select full_name from vicidial_users where user='$row[6]'"; + $rep_rslt=mysql_query($rep_stmt, $link); + $cl_row=mysql_fetch_array($rep_rslt); + + $rep_name="$fr_row[full_name]/$cl_row[full_name]"; + } else { + $rep_name=$row[5]; + } + + if ($i%2==0) {$bgcolor="#999999";} else {$bgcolor="#CCCCCC";} + print "\n"; + print "\t\n"; + print "\t\n"; + print "\t\n"; + print "\t\n"; + print "\t\n"; + print "\n"; + flush(); + } + print "
    Last ".mysql_num_rows($rslt)." sales made
    Sales Rep(s)Customer NamePhoneRecording IDTimestamp
    $rep_name$row[0] $row[1]$row[2]$rec_row[0]$row[3]
    "; + passthru("$WeBServeRRooT/vicidial/spreadsheet_sales_viewer.pl $list_ids $sales_number $timestamp $forc $now $dcampaign"); +# print "\n\n
    $WeBServeRRooT/vicidial/spreadsheet_sales_viewer.pl $list_ids $sales_number $timestamp $forc $now $dcampaign
    \n"; + flush(); + print ""; + if ($forc=="F") { + print ""; + } + print ""; + print "
    View complete Excel fronter report for this shiftView complete Excel sales report for this shift
    "; +} +?> + +
    + + + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/voice_lab.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/voice_lab.php new file mode 100644 index 00000000..b72981ce --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/voice_lab.php @@ -0,0 +1,312 @@ + LICENSE: AGPLv2 +# +# +# CHANGES +# +# 61220-1050 - First Build +# 70115-1246 - Added ability to define an exten to play +# + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["message"])) {$message=$_GET["message"];} + elseif (isset($_POST["message"])) {$message=$_POST["message"];} +if (isset($_GET["session_id"])) {$session_id=$_GET["session_id"];} + elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} +if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];} + elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];} +if (isset($_GET["NEW_VOICE_LAB"])) {$NEW_VOICE_LAB=$_GET["NEW_VOICE_LAB"];} + elseif (isset($_POST["NEW_VOICE_LAB"])) {$NEW_VOICE_LAB=$_POST["NEW_VOICE_LAB"];} +if (isset($_GET["KILL_VOICE_LAB"])) {$KILL_VOICE_LAB=$_GET["KILL_VOICE_LAB"];} + elseif (isset($_POST["KILL_VOICE_LAB"])) {$KILL_VOICE_LAB=$_POST["KILL_VOICE_LAB"];} +if (isset($_GET["PLAY_MESSAGE"])) {$PLAY_MESSAGE=$_GET["PLAY_MESSAGE"];} + elseif (isset($_POST["PLAY_MESSAGE"])) {$PLAY_MESSAGE=$_POST["PLAY_MESSAGE"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW); + +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$MYSQL_datetime = date("Y-m-d H:i:s"); +$FILE_datetime = date("Ymd-His_"); +$secX = $STARTtime; + +$local_DEF = 'Local/'; +$local_AMP = '@'; +$ext_context = 'demo'; + + $stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7;"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $auth=$row[0]; + +$fp = fopen ("./project_auth_entries.txt", "a"); +$date = date("r"); +$ip = getenv("REMOTE_ADDR"); +$browser = getenv("HTTP_USER_AGENT"); + + if( (strlen($PHP_AUTH_USER)<2) or (strlen($PHP_AUTH_PW)<2) or (!$auth)) + { + Header("WWW-Authenticate: Basic realm=\"VICI-PROJECTS\""); + Header("HTTP/1.0 401 Unauthorized"); + echo "Invalid Username/Password: |$PHP_AUTH_USER|$PHP_AUTH_PW|\n"; + exit; + } + else + { + + if($auth>0) + { + $office_no=strtoupper($PHP_AUTH_USER); + $password=strtoupper($PHP_AUTH_PW); + $stmt="SELECT full_name from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW'"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $LOGfullname=$row[0]; + fwrite ($fp, "VICIDIAL|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n"); + fclose($fp); + } + else + { + fwrite ($fp, "VICIDIAL|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n"); + fclose($fp); + } + + $stmt="SELECT full_name from vicidial_users where user='$user';"; + $rslt=mysql_query($stmt, $link); + $row=mysql_fetch_row($rslt); + $full_name = $row[0]; + + } + + +##### get server listing for dynamic pulldown +$stmt="SELECT server_ip,server_description from servers order by server_ip"; +$rslt=mysql_query($stmt, $link); +$servers_to_print = mysql_num_rows($rslt); +$servers_list=''; + +$o=0; +while ($servers_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $servers_list .= "\n"; + $o++; + } + +##### get campaigns listing for dynamic pulldown +$stmt="SELECT campaign_id,campaign_name from vicidial_campaigns order by campaign_id"; +$rslt=mysql_query($stmt, $link); +$campaigns_to_print = mysql_num_rows($rslt); +$campaigns_list=''; + +$o=0; +while ($campaigns_to_print > $o) + { + $rowx=mysql_fetch_row($rslt); + $campaigns_list .= "\n"; + $o++; + } + + + + +?> + + +VICIDIAL VOICE LAB: Admin +\n"; +?> + + +
    + + 0) +{ + if ( (strlen($server_ip) > 6) && (strlen($session_id) > 6) && (strlen($campaign_id) > 2) ) + { + echo "


    TO START YOUR VOICE LAB, DIAL 9$session_id ON YOUR PHONE NOW
    \n"; + + echo "
    or, you can enter an extension that you want played below
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Message Extension\n"; + echo "\n"; + echo "



    \n"; + + $S='*'; + $D_s_ip = explode('.', $server_ip); + if (strlen($D_s_ip[0])<2) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[0])<3) {$D_s_ip[0] = "0$D_s_ip[0]";} + if (strlen($D_s_ip[1])<2) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[1])<3) {$D_s_ip[1] = "0$D_s_ip[1]";} + if (strlen($D_s_ip[2])<2) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[2])<3) {$D_s_ip[2] = "0$D_s_ip[2]";} + if (strlen($D_s_ip[3])<2) {$D_s_ip[3] = "0$D_s_ip[3]";} + if (strlen($D_s_ip[3])<3) {$D_s_ip[3] = "0$D_s_ip[3]";} + $remote_dialstring = "$D_s_ip[0]$S$D_s_ip[1]$S$D_s_ip[2]$S$D_s_ip[3]$S$session_id"; + + $thirty_minutes_old = mktime(date("H"), date("i"), date("s")-30, date("m"), date("d"), date("Y")); + $past_thirty = date("Y-m-d H:i:s",$thirty_minutes_old); + + $stmt="SELECT conf_exten,server_ip,user from vicidial_live_agents where last_update_time > '$past_thirty' and campaign_id='$campaign_id';"; + $rslt=mysql_query($stmt, $link); + $agents_to_loop = mysql_num_rows($rslt); + $agents_sessions[0]=''; + $agents_servers[0]=''; + $agents_users[0]=''; + + $o=0; + while ($agents_to_loop > $o) + { + $rowx=mysql_fetch_row($rslt); + $agents_sessions[$o] = "$rowx[0]"; + $agents_servers[$o] = "$rowx[1]"; + $agents_users[$o] = "$rowx[2]"; + $o++; + } + + $o=0; + while ($agents_to_loop > $o) + { + if ($agents_servers[$o] == "$server_ip") + {$dial_string = $session_id;} + else + {$dial_string = $remote_dialstring;} + + $stmt="INSERT INTO vicidial_manager values('','','$MYSQL_datetime','NEW','N','$agents_servers[$o]','','Originate','VL$FILE_datetime$o','Channel: $local_DEF$dial_string$local_AMP$ext_context','Context: $ext_context','Exten: $agents_sessions[$o]','Priority: 1','Callerid: VL$FILE_datetime$o','','','','','')"; + echo "|$stmt|\n

    \n"; + $rslt=mysql_query($stmt, $link); + + echo "LOGGED IN USER $agents_users[$o] at session $agents_sessions[$o] on server $agents_servers[$o]\n"; + + $o++; + } + + + + echo "
    Kill a Voice Lab Session: 8600900
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "



    \n"; + } + else + { + echo "ERROR!!!! Not all info entered properly\n

    \n"; + echo "|$server_ip| |$session_id| |$campaign_id|\n

    \n"; + echo "Back to main voicelab screen\n

    \n"; + } +} +else +{ + if ($PLAY_MESSAGE > 0) + { + if ( (strlen($server_ip) > 6) && (strlen($session_id) > 6) && (strlen($campaign_id) > 2) && (strlen($message) > 0) ) + { + echo "


    TO START YOUR VOICE LAB, DIAL 9$session_id ON YOUR PHONE NOW
    \n"; + + echo "
    or, you can enter an extension that you want played below
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "Message Extension\n"; + echo "\n"; + echo "



    \n"; + + $nn='99'; + $n='9'; + + $stmt="INSERT INTO vicidial_manager values('','','$MYSQL_datetime','NEW','N','$server_ip','','Originate','VL$FILE_datetime$nn','Channel: $local_DEF$n$session_id$local_AMP$ext_context','Context: $ext_context','Exten: $message','Priority: 1','Callerid: VL$FILE_datetime$nn','','','','','')"; + echo "|$stmt|\n

    \n"; + $rslt=mysql_query($stmt, $link); + + echo "MESSAGE $message played at session $session_id on server $server_ip\n"; + + echo "
    Kill a Voice Lab Session: 8600900
    \n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "



    \n"; + } + else + { + echo "ERROR!!!! Not all info entered properly\n

    \n"; + echo "|$server_ip| |$session_id| |$campaign_id|\n

    \n"; + echo "Back to main voicelab screen\n

    \n"; + } + } +else + { + echo "
    Start a Voice Lab Session: 8600900
    \n"; + echo "\n"; + echo "\n"; + echo "Your Server: \n"; + echo "
    \n"; + echo "Campaign: "; + echo "
    \n"; + echo "\n"; + echo "



    \n"; + + + echo "
    Kill a Voice Lab Session: 8600900
    \n"; + echo "\n"; + echo "\n"; + echo "Your Server: \n"; + echo "
    \n"; + echo "Campaign: "; + echo "
    \n"; + echo "\n"; + echo "



    \n"; + } +} + + +if ($KILL_VOICE_LAB > 1) +{ + if ( (strlen($server_ip) > 6) && (strlen($session_id) > 6) && (strlen($campaign_id) > 2) ) + { + $kill_dial_string = "5555$session_id"; + $hangup_exten='8300'; + $stmt="INSERT INTO vicidial_manager values('','','$MYSQL_datetime','NEW','N','$server_ip','','Originate','VLK$FILE_datetime','Channel: $local_DEF$kill_dial_string$local_AMP$ext_context','Context: $ext_context','Exten: $hangup_exten','Priority: 1','Callerid: VLK$FILE_datetime','','','','','')"; + echo "|$stmt|\n

    \n"; + $rslt=mysql_query($stmt, $link); + + echo "VOICELAB SESSION KILLED: $session_id at $server_ip | $KILL_VOICE_LAB\n"; + } + else + { + echo "ERROR!!!! Not all info entered properly\n

    \n"; + echo "|$server_ip| |$session_id| |$campaign_id|\n

    \n"; + echo "Back to main voicelab screen\n

    \n"; + } + +} + +?> + + \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/vtiger_search.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/vtiger_search.php new file mode 100644 index 00000000..5e9c9761 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/vtiger_search.php @@ -0,0 +1,788 @@ + LICENSE: AGPLv2 +# +# This page does a search against a standard vtiger CRM system. If the record +# is not present, it will create a new one and send the agent's screen to that new page. +# +# This code is tested against vtiger 5.0.4 +# +# CHANGES +# 60719-1615 - First version +# 60801-2304 - Added mysql debug and auto-forward +# 60802-1111 - Added insertion of not-found record into vtiger system +# 71220-0000 - Modified by I. Taushanov for VTiger 5.03- search/create lead +# 80120-1934 - Added changes for compatibility with vtiger 5.0.3 +# 81229-1017 - Added usage of system_settings connection settings for vtiger database +# 81229-1441 - Added options for searching by ACCTID, ACCOUNT, VENDOR and LEAD +# 90111-1451 - Added logging of call as activity for account/lead +# 90112-0336 - Added create call and create lead options +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; +if (isset($_GET["address1"])) {$address1=$_GET["address1"];} + elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];} +if (isset($_GET["address2"])) {$address2=$_GET["address2"];} + elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];} +if (isset($_GET["address3"])) {$address3=$_GET["address3"];} + elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];} +if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];} + elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];} +if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];} + elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];} +if (isset($_GET["campaign"])) {$campaign=$_GET["campaign"];} + elseif (isset($_POST["campaign"])) {$campaign=$_POST["campaign"];} +if (isset($_GET["channel"])) {$channel=$_GET["channel"];} + elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];} +if (isset($_GET["channel_group"])) {$channel_group=$_GET["channel_group"];} + elseif (isset($_POST["channel_group"])) {$channel_group=$_POST["channel_group"];} +if (isset($_GET["city"])) {$city=$_GET["city"];} + elseif (isset($_POST["city"])) {$city=$_POST["city"];} +if (isset($_GET["comments"])) {$comments=$_GET["comments"];} + elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];} +if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];} + elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];} +if (isset($_GET["customer_zap_channel"])) {$customer_zap_channel=$_GET["customer_zap_channel"];} + elseif (isset($_POST["customer_zap_channel"])) {$customer_zap_channel=$_POST["customer_zap_channel"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];} + elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];} +if (isset($_GET["email"])) {$email=$_GET["email"];} + elseif (isset($_POST["email"])) {$email=$_POST["email"];} +if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];} + elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];} +if (isset($_GET["extension"])) {$extension=$_GET["extension"];} + elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];} +if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];} + elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];} +if (isset($_GET["group"])) {$group=$_GET["group"];} + elseif (isset($_POST["group"])) {$group=$_POST["group"];} +if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];} + elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];} +if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];} + elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];} +if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];} + elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];} +if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];} + elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];} +if (isset($_GET["pass"])) {$pass=$_GET["pass"];} + elseif (isset($_POST["pass"])) {$pass=$_POST["pass"];} +if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];} + elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];} +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} + elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];} +if (isset($_GET["phone"])) {$phone=$_GET["phone"];} + elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];} +if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];} + elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];} +if (isset($_GET["province"])) {$province=$_GET["province"];} + elseif (isset($_POST["province"])) {$province=$_POST["province"];} +if (isset($_GET["security"])) {$security=$_GET["security"];} + elseif (isset($_POST["security"])) {$security=$_POST["security"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];} + elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];} +if (isset($_GET["session_id"])) {$session_id=$_GET["session_id"];} + elseif (isset($_POST["session_id"])) {$session_id=$_POST["session_id"];} +if (isset($_GET["state"])) {$state=$_GET["state"];} + elseif (isset($_POST["state"])) {$state=$_POST["state"];} +if (isset($_GET["status"])) {$status=$_GET["status"];} + elseif (isset($_POST["status"])) {$status=$_POST["status"];} +if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];} + elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + elseif (isset($_POST["user"])) {$user=$_POST["user"];} +if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];} + elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];} +if (isset($_GET["submit"])) {$submit=$_GET["submit"];} + elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];} +if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];} + elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];} + +#$DB = '1'; # DEBUG override +$US = '_'; +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$HHMMnow = date("H:i"); +$minute_old = mktime(date("H"), date("i")+5, date("s"), date("m"), date("d"), date("Y")); +$HHMMend = date("H:i",$minute_old); +$NOW_TIME = date("Y-m-d H:i:s"); +$REC_TIME = date("Ymd-His"); +$FILE_datetime = $STARTtime; +$parked_time = $STARTtime; + +############################################################### +##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### +$stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$ss_conf_ct = mysql_num_rows($rslt); +if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; + } +##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### +############################################################# + + +echo "\n"; +echo "\n"; +echo "VICIDIAL Vtiger Lookup\n"; +echo "\n"; + + +if ($enable_vtiger_integration < 1) + { + echo "ERROR! - Vtiger integration is disabled in the VICIDIAL system_settings"; + exit; + } + +$stmt = "SELECT vtiger_search_category,vtiger_create_call_record,vtiger_create_lead_record FROM vicidial_campaigns where campaign_id='$campaign';"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$vtc_conf_ct = mysql_num_rows($rslt); +if ($vtc_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $vtiger_search_category = $row[0]; + $vtiger_create_call_record = $row[1]; + $vtiger_create_lead_record = $row[2]; + } +if (strlen($vtiger_search_category)<1) + {$vtiger_search_category = 'LEAD';} + +### connect to your vtiger database +$linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); +if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} +echo 'Connected successfully'; +mysql_select_db("$vtiger_dbname", $linkV); + +# Methods of searching for records: +# +# ACCTID: +# $stmt="SELECT count(*) from vtiger_account where accountid='$vendor_id';"; +# +# ACCOUNT: +# $stmt="SELECT count(*) from vtiger_account where phone='$phone' or otherphone='$phone' or fax='$phone';"; +# $stmt="SELECT count(*) from vtiger_contactdetails where phone='$phone' or mobile='$phone' or fax='$phone';"; +# $stmt="SELECT count(*) from vtiger_contactsubdetails where homephone='$phone' or otherphone='$phone' or assistantphone='$phone';"; +# +# VENDOR: +# $stmt="SELECT count(*) from vtiger_vendor where phone='$phone';"; +# +# LEAD: +# $stmt="SELECT count(*) from vtiger_leadaddress where phone='$phone' or mobile='$phone' or fax='$phone';"; + +$lead_search=0; $account_search=0; $vendor_search=0; $acctid_search=0; + +if (ereg('ACCTID',$vtiger_search_category)) {$acctid_search=1;} +if (ereg('ACCOUNT',$vtiger_search_category)) {$account_search=1;} +if (ereg('VENDOR',$vtiger_search_category)) {$vendor_search=1;} +if (ereg('LEAD',$vtiger_search_category)) {$lead_search=1;} + + + + + +########################################################################## +##### BEGIN - ACCTID - Search in the account records for accountid number +########################################################################## +if ($acctid_search > 0) + { + $stmt="SELECT count(*) from vtiger_account where accountid='$vendor_id';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + if ($DB) {echo "
    \nACCTID|$vendor_id|$found_count|\n";} + + if ($found_count < 1) + { + echo "\n"; + } + else + { + if (ereg('Y',$vtiger_create_call_record)) + { + ### Log the call in Vtiger + + #Get logged in user ID + $stmt="SELECT id from vtiger_users where user_name='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $user_id = $row[0]; + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Get next aviable id from vtiger_crmentity_seq to use as activityid in vtiger_crmentity + $stmt="SELECT id from vtiger_crmentity_seq ;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $activityid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next aviable crmid with 1 so next record gets proper id + $stmt="UPDATE vtiger_crmentity_seq SET id = '$activityid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #Insert values into vtiger_salesmanactivityrel + $stmt = "INSERT INTO vtiger_salesmanactivityrel SET smid='$user_id',activityid='$activityid';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "|$leadid|\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #Insert values into vtiger_seactivityrel + $stmt = "INSERT INTO vtiger_seactivityrel SET crmid='$vendor_id',activityid='$activityid';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "|$leadid|\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #Insert values into vtiger_crmentity + $stmt = "INSERT INTO vtiger_crmentity (crmid, smcreatorid, smownerid, modifiedby, setype, description, createdtime, modifiedtime, viewedtime, status, version, presence, deleted) VALUES ('$activityid', '$user_id', '$user_id','$user_id', 'Calendar', 'VICIDIAL Call user $user', '$NOW_TIME', '$NOW_TIME', '$NOW_TIME', NULL, '0', '1', '0');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "|$leadid|\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #Insert values into vtiger_activity + $stmt = "INSERT INTO vtiger_activity SET activityid='$activityid',subject='VICIDIAL Account call $vendor_id',activitytype='Call',date_start='$TODAY',due_date='$TODAY',time_start='$HHMMnow',time_end='$HHMMend',sendnotification='0',duration_hours='0',duration_minutes='1',status='',eventstatus='Held',priority='Medium',location='VICIDIAL User $user',notime='0',visibility='Public',recurringtype='--None--';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "|$leadid|\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # http://mysite.com/vtigercrm/index.php?module=Calendar&action=EditView&return_module=Accounts&return_action=DetailView&record=16&activity_mode=Events&return_id=9&parenttab=Sales + $account_URL = "$vtiger_url/index.php?module=Calendar&action=EditView&return_module=Accounts&return_action=DetailView&record=$activityid&activity_mode=Events&return_id=$vendor_id&parenttab=Sales"; + } + else + { + # http://mysite.com/vtigercrm/index.php?module=Accounts&action=DetailView&record=2&parenttab=Sales + $account_URL = "$vtiger_url/index.php?module=Accounts&action=DetailView&record=$vendor_id&parenttab=Sales"; + } + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + + echo "
    ";
    +		echo "account found! ACCTID\n";
    +		echo "accountid:   $vendor_id\n";
    +		echo "

    "; + exit; + } + } +########################################################################## +##### END - ACCTID - Search in the account records for accountid number +########################################################################## + + +########################################################################## +##### BEGIN - ACCOUNT - Search in the account records for phone number +########################################################################## +if ($account_search > 0) + { + $stmt="SELECT count(*) from vtiger_account where phone='$phone' or otherphone='$phone' or fax='$phone';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + if ($DB) {echo "
    \nACCOUNT|$phone|$found_count|vtiger_account\n";} + + if ($found_count < 1) + { + echo "\n"; + + $stmt="SELECT count(*) from vtiger_contactdetails where phone='$phone' or mobile='$phone' or fax='$phone';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + if ($DB) {echo "
    \nACCOUNT|$phone|$found_count|vtiger_contactdetails\n";} + + if ($found_count < 1) + { + echo "\n"; + + $stmt="SELECT count(*) from vtiger_contactsubdetails where homephone='$phone' or otherphone='$phone' or assistantphone='$phone';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + if ($DB) {echo "
    \nACCOUNT|$phone|$found_count|vtiger_contactsubdetails\n";} + + if ($found_count < 1) + { + echo "\n"; + } + else + { + # find vtiger_contact + $stmt="SELECT contactsubscriptionid from vtiger_contactsubdetails where homephone='$phone' or otherphone='$phone' or assistantphone='$phone';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $contactid = $row[0]; + + # find vtiger_account + $stmt="SELECT accountid from vtiger_contactdetails where contactid='$contactid';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $accountid = $row[0]; + } + } + else + { + # find vtiger_account + $stmt="SELECT accountid from vtiger_contactdetails where phone='$phone' or mobile='$phone' or fax='$phone';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $accountid = $row[0]; + } + } + else + { + # find vtiger_account + $stmt="SELECT accountid from vtiger_account where phone='$phone' or otherphone='$phone' or fax='$phone';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $accountid = $row[0]; + } + if (strlen($accountid) > 0) + { + if (ereg('Y',$vtiger_create_call_record)) + { + ### Log the call in Vtiger + + #Get logged in user ID + $stmt="SELECT id from vtiger_users where user_name='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $user_id = $row[0]; + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Get next aviable id from vtiger_crmentity_seq to use as activityid in vtiger_crmentity + $stmt="SELECT id from vtiger_crmentity_seq ;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $activityid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next aviable crmid with 1 so next record gets proper id + $stmt="UPDATE vtiger_crmentity_seq SET id = '$activityid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #Insert values into vtiger_salesmanactivityrel + $stmt = "INSERT INTO vtiger_salesmanactivityrel SET smid='$user_id',activityid='$activityid';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "|$leadid|\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #Insert values into vtiger_seactivityrel + $stmt = "INSERT INTO vtiger_seactivityrel SET crmid='$accountid',activityid='$activityid';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "|$leadid|\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #Insert values into vtiger_crmentity + $stmt = "INSERT INTO vtiger_crmentity (crmid, smcreatorid, smownerid, modifiedby, setype, description, createdtime, modifiedtime, viewedtime, status, version, presence, deleted) VALUES ('$activityid', '$user_id', '$user_id','$user_id', 'Calendar', 'VICIDIAL Call user $user', '$NOW_TIME', '$NOW_TIME', '$NOW_TIME', NULL, '0', '1', '0');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "|$leadid|\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #Insert values into vtiger_activity + $stmt = "INSERT INTO vtiger_activity SET activityid='$activityid',subject='VICIDIAL Account call $phone',activitytype='Call',date_start='$TODAY',due_date='$TODAY',time_start='$HHMMnow',time_end='$HHMMend',sendnotification='0',duration_hours='0',duration_minutes='1',status='',eventstatus='Held',priority='Medium',location='VICIDIAL User $user',notime='0',visibility='Public',recurringtype='--None--';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "|$leadid|\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # http://mysite.com/vtigercrm/index.php?module=Calendar&action=EditView&return_module=Accounts&return_action=DetailView&record=16&activity_mode=Events&return_id=9&parenttab=Sales + $account_URL = "$vtiger_url/index.php?module=Calendar&action=EditView&return_module=Accounts&return_action=DetailView&record=$activityid&activity_mode=Events&return_id=$accountid&parenttab=Sales"; + } + else + { + # http://mysite.com/vtigercrm/index.php?module=Accounts&action=DetailView&record=2&parenttab=Sales + $account_URL = "$vtiger_url/index.php?module=Accounts&action=DetailView&record=$accountid&parenttab=Sales"; + } + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + + echo "
    ";
    +		echo "account found! ACCOUNT\n";
    +		echo "accountid:   $accountid\n";
    +		echo "phone:       $phone\n";
    +		echo "

    "; + exit; + } + } +########################################################################## +##### END - ACCOUNT - Search in the account records for phone number +########################################################################## + + +########################################################################## +##### BEGIN - VENDOR - Search in the vendor records for phone number +########################################################################## +if ($vendor_search > 0) + { + $stmt="SELECT count(*) from vtiger_vendor where phone='$phone';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + if ($DB) {echo "
    \nVENDOR|$phone|$found_count|\n";} + + if ($found_count < 1) + { + echo "\n"; + } + else + { + # find vtiger_vendor + $stmt="SELECT vendorid from vtiger_vendor where phone='$phone';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $vendorid = $row[0]; + + # http://mysite.com/vtigercrm/index.php?module=Vendors&action=DetailView&record=2&parenttab=Inventory + $account_URL = "$vtiger_url/index.php?module=Vendors&action=DetailView&record=$vendorid&parenttab=Inventory"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + + echo "
    ";
    +		echo "account found! VENDOR\n";
    +		echo "vendorid:   $vendorid\n";
    +		echo "phone:       $phone\n";
    +		echo "

    "; + exit; + } + } +########################################################################## +##### END - VENDOR - Search in the vendor records for phone number +########################################################################## + + +########################################################################## +##### BEGIN - LEAD - Search in the leads records for phone number +########################################################################## +if ($lead_search > 0) + { + $stmt="SELECT count(*) from vtiger_leadaddress where phone='$phone' or mobile='$phone' or fax='$phone';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + if ($DB) {echo "
    \nLEAD|$phone|$found_count|\n";} + + if ($found_count < 1) + { + echo "\n"; + if (ereg('Y',$vtiger_create_lead_record)) + { + echo "\n"; + echo "\n"; + echo "
    \n"; + echo "$phone not found, creating account...\n"; + + $DB=1; + + #Get logged in user ID + if ($DB) {echo "
    ";}
    +			$stmt="SELECT id from vtiger_users where user_name='$user';";
    +			if ($DB) {echo "$stmt\n";}
    +			$rslt=mysql_query($stmt, $linkV);
    +			$row=mysql_fetch_row($rslt);
    +			$user_id = $row[0];
    +			if (!$rslt) {die('Could not execute: ' . mysql_error());}
    +			
    +			#Vtiger no longer use auto increment for vtiger_crmentity crmid, vtiger_crmentity_seq is used instead to list next aviable entity ID
    +			# Get next aviable id to use as  crmid in vtiger_crmentity	
    +			$stmt="SELECT id from vtiger_crmentity_seq ;";
    +			if ($DB) {echo "$stmt\n";}
    +			$rslt=mysql_query($stmt, $linkV);
    +			$row=mysql_fetch_row($rslt);
    +			$leadid = ($row[0] + 1);
    +			if (!$rslt) {die('Could not execute: ' . mysql_error());}
    +
    +			# Increase 	next aviable crmid with 1 so next record gets proper id
    +			$stmt="UPDATE vtiger_crmentity_seq SET id = '$leadid';";
    +			if ($DB) {echo "$stmt\n";}
    +			$rslt=mysql_query($stmt, $linkV);
    +			if (!$rslt) {die('Could not execute: ' . mysql_error());}
    +			
    +			#Insert values into vtiger_crmentity
    +			$stmt = "INSERT INTO vtiger_crmentity (crmid, smcreatorid, smownerid, modifiedby, setype, description, createdtime, modifiedtime, viewedtime, status, version, presence, deleted) VALUES ('$leadid', '$user_id', '$user_id','$user_id', 'Leads', '(Memo)', '$NOW_TIME', '$NOW_TIME', '$NOW_TIME', NULL, '0', '1', '0');";
    +			if ($DB) {echo "|$stmt|\n";}
    +			$rslt=mysql_query($stmt, $linkV);
    +			if ($DB) {echo "|$leadid|\n";}
    +			if (!$rslt) {die('Could not execute: ' . mysql_error());}
    +
    +			#Insert values into vtiger_leaddetails	
    +			$stmt = "INSERT INTO vtiger_leaddetails (leadid,firstname,lastname,company) values('$leadid','$first_name','$last_name','$first_name $last_name');";
    +			if ($DB) {echo "|$stmt|\n";}
    +			$rslt=mysql_query($stmt, $linkV);
    +			if (!$rslt) {die('Could not execute: ' . mysql_error());}
    +
    +			#Insert values into vtiger_leaddetails
    +			$stmt = "INSERT INTO vtiger_leadaddress (leadaddressid,city,code,state,country,phone,mobile,lane) values('$leadid','$city','$postal_code','$province','$country','$phone','$alt_phone','$address1 $address2');";
    +			if ($DB) {echo "|$stmt|\n";}
    +			$rslt=mysql_query($stmt, $linkV);
    +			if (!$rslt) {die('Could not execute: ' . mysql_error());}
    +
    +			#Insert values into vtiger_leadsubdetails	
    +			$stmt = "INSERT INTO vtiger_leadsubdetails (leadsubscriptionid) VALUES ('$leadid');";
    +			if ($DB) {echo "|$stmt|\n";}
    +			$rslt=mysql_query($stmt, $linkV);
    +			if (!$rslt) {die('Could not execute: ' . mysql_error());}
    +			
    +			#Insert values into vtiger_leadscf, these are custom created fields example	
    +			$stmt = "INSERT INTO vtiger_leadscf (leadid) VALUES ('$leadid');";
    +			if ($DB) {echo "|$stmt|\n";}
    +			$rslt=mysql_query($stmt, $linkV);
    +			if (!$rslt) {die('Could not execute: ' . mysql_error());}
    +
    +			if ($DB) {echo "DONE creating lead records\n";}
    +
    +			if (ereg('Y',$vtiger_create_call_record))
    +				{
    +				### Log the call in Vtiger
    +
    +				#Get logged in user ID
    +				$stmt="SELECT id from vtiger_users where user_name='$user';";
    +				if ($DB) {echo "$stmt\n";}
    +				$rslt=mysql_query($stmt, $linkV);
    +				$row=mysql_fetch_row($rslt);
    +				$user_id = $row[0];
    +				if (!$rslt) {die('Could not execute: ' . mysql_error());}
    +				
    +				# Get next aviable id from vtiger_crmentity_seq to use as activityid in vtiger_crmentity	
    +				$stmt="SELECT id from vtiger_crmentity_seq ;";
    +				if ($DB) {echo "$stmt\n";}
    +				$rslt=mysql_query($stmt, $linkV);
    +				$row=mysql_fetch_row($rslt);
    +				$activityid = ($row[0] + 1);
    +				if (!$rslt) {die('Could not execute: ' . mysql_error());}
    +
    +				# Increase next aviable crmid with 1 so next record gets proper id
    +				$stmt="UPDATE vtiger_crmentity_seq SET id = '$activityid';";
    +				if ($DB) {echo "$stmt\n";}
    +				$rslt=mysql_query($stmt, $linkV);
    +				if (!$rslt) {die('Could not execute: ' . mysql_error());}
    +				
    +				#Insert values into vtiger_salesmanactivityrel
    +				$stmt = "INSERT INTO vtiger_salesmanactivityrel SET smid='$user_id',activityid='$activityid';";
    +				if ($DB) {echo "|$stmt|\n";}
    +				$rslt=mysql_query($stmt, $linkV);
    +				if ($DB) {echo "|$leadid|\n";}
    +				if (!$rslt) {die('Could not execute: ' . mysql_error());}
    +				
    +				#Insert values into vtiger_seactivityrel
    +				$stmt = "INSERT INTO vtiger_seactivityrel SET crmid='$leadid',activityid='$activityid';";
    +				if ($DB) {echo "|$stmt|\n";}
    +				$rslt=mysql_query($stmt, $linkV);
    +				if ($DB) {echo "|$leadid|\n";}
    +				if (!$rslt) {die('Could not execute: ' . mysql_error());}
    +				
    +				#Insert values into vtiger_crmentity
    +				$stmt = "INSERT INTO vtiger_crmentity (crmid, smcreatorid, smownerid, modifiedby, setype, description, createdtime, modifiedtime, viewedtime, status, version, presence, deleted) VALUES ('$activityid', '$user_id', '$user_id','$user_id', 'Calendar', 'VICIDIAL Call user $user', '$NOW_TIME', '$NOW_TIME', '$NOW_TIME', NULL, '0', '1', '0');";
    +				if ($DB) {echo "|$stmt|\n";}
    +				$rslt=mysql_query($stmt, $linkV);
    +				if ($DB) {echo "|$leadid|\n";}
    +				if (!$rslt) {die('Could not execute: ' . mysql_error());}
    +
    +				#Insert values into vtiger_activity
    +				$stmt = "INSERT INTO vtiger_activity SET activityid='$activityid',subject='VICIDIAL Lead call $phone',activitytype='Call',date_start='$TODAY',due_date='$TODAY',time_start='$HHMMnow',time_end='$HHMMend',sendnotification='0',duration_hours='0',duration_minutes='1',status='',eventstatus='Held',priority='Medium',location='VICIDIAL user $user',notime='0',visibility='Public',recurringtype='--None--';";
    +				if ($DB) {echo "|$stmt|\n";}
    +				$rslt=mysql_query($stmt, $linkV);
    +				if ($DB) {echo "|$leadid|\n";}
    +				if (!$rslt) {die('Could not execute: ' . mysql_error());}
    +
    +
    +				# http://mysite.com/vtigercrm/index.php?module=Calendar&action=EditView&return_module=Accounts&return_action=DetailView&record=16&activity_mode=Events&return_id=9&parenttab=Sales
    +				$account_URL = "$vtiger_url/index.php?module=Calendar&action=EditView&return_module=Leads&return_action=DetailView&record=$activityid&activity_mode=Events&return_id=$leadid&parenttab=Sales";
    +				}
    +			else
    +				{
    +				# http://mysite.com/vtigercrm/index.php?module=Accounts&action=EditView&record=2&parenttab=Sales
    +				$account_URL = "$vtiger_url/index.php?module=Leads&action=EditView&record=$leadid&parenttab=Sales";
    +				}
    +
    +			echo "\n";
    +			echo "\n";
    +			echo "\n";
    +			echo "
    \n"; + + echo "
    ";
    +			echo "account created! LEAD\n";
    +			echo "leadid:   $leadid\n";
    +			echo "phone:       $phone\n";
    +			echo "

    "; + exit; + } + } + else + { + $stmt="SELECT leadaddressid from vtiger_leadaddress where phone='$phone' or mobile='$phone' or fax='$phone';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + $row=mysql_fetch_row($rslt); + $leadid = $row[0]; + + if (ereg('Y',$vtiger_create_call_record)) + { + ### Log the call in Vtiger + + #Get logged in user ID + $stmt="SELECT id from vtiger_users where user_name='$user';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $user_id = $row[0]; + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Get next aviable id from vtiger_crmentity_seq to use as activityid in vtiger_crmentity + $stmt="SELECT id from vtiger_crmentity_seq ;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $activityid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + # Increase next aviable crmid with 1 so next record gets proper id + $stmt="UPDATE vtiger_crmentity_seq SET id = '$activityid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #Insert values into vtiger_salesmanactivityrel + $stmt = "INSERT INTO vtiger_salesmanactivityrel SET smid='$user_id',activityid='$activityid';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "|$leadid|\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #Insert values into vtiger_seactivityrel + $stmt = "INSERT INTO vtiger_seactivityrel SET crmid='$leadid',activityid='$activityid';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "|$leadid|\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #Insert values into vtiger_crmentity + $stmt = "INSERT INTO vtiger_crmentity (crmid, smcreatorid, smownerid, modifiedby, setype, description, createdtime, modifiedtime, viewedtime, status, version, presence, deleted) VALUES ('$activityid', '$user_id', '$user_id','$user_id', 'Calendar', 'VICIDIAL Call user $user', '$NOW_TIME', '$NOW_TIME', '$NOW_TIME', NULL, '0', '1', '0');"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "|$leadid|\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + #Insert values into vtiger_activity + $stmt = "INSERT INTO vtiger_activity SET activityid='$activityid',subject='VICIDIAL Lead call $phone',activitytype='Call',date_start='$TODAY',due_date='$TODAY',time_start='$HHMMnow',time_end='$HHMMend',sendnotification='0',duration_hours='0',duration_minutes='1',status='',eventstatus='Held',priority='Medium',location='VICIDIAL user $user',notime='0',visibility='Public',recurringtype='--None--';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "|$leadid|\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + + # http://mysite.com/vtigercrm/index.php?module=Calendar&action=EditView&return_module=Accounts&return_action=DetailView&record=16&activity_mode=Events&return_id=9&parenttab=Sales + $account_URL = "$vtiger_url/index.php?module=Calendar&action=EditView&return_module=Leads&return_action=DetailView&record=$activityid&activity_mode=Events&return_id=$leadid&parenttab=Sales"; + } + else + { + # http://mysite.com/vtigercrm/index.php?module=Accounts&action=DetailView&record=2&parenttab=Sales + $account_URL = "$vtiger_url/index.php?module=Leads&action=DetailView&record=$leadid&parenttab=Sales"; + } + echo "\n"; + echo "\n"; + echo "\n"; + echo "
    \n"; + + echo "
    ";
    +		echo "lead found! LEAD\n";
    +		echo "leadid:   $leadid\n";
    +		echo "phone:       $phone\n";
    +		echo "

    "; + exit; + } + } +########################################################################## +##### END - LEAD - Search in the leads records for phone number +########################################################################## + + + + +$ENDtime = date("U"); + +$RUNtime = ($ENDtime - $STARTtime); + +echo "\n\n\n
    $phone NOT FOUND

    \n\n"; +echo "Click here to go to the Vtiger home page\n"; + +# echo "\n\n\n


    \nscript runtime: $RUNtime seconds
    "; + + +?> + + + + + + + + + + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/vtiger_user.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/vtiger_user.php new file mode 100644 index 00000000..695c1622 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/vtiger_user.php @@ -0,0 +1,316 @@ + LICENSE: AGPLv2 +# +# CHANGES +# 81231-1307 - First build +# 90228-2152 - Added Groups support +# + +header ("Content-type: text/html; charset=utf-8"); + +require("dbconnect.php"); + +$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER']; +$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW']; +$PHP_SELF=$_SERVER['PHP_SELF']; + + +#$DB = '1'; # DEBUG override +$US = '_'; +$STARTtime = date("U"); +$TODAY = date("Y-m-d"); +$NOW_TIME = date("Y-m-d H:i:s"); +$REC_TIME = date("Ymd-His"); +$FILE_datetime = $STARTtime; +$parked_time = $STARTtime; + +############################################################### +##### START SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### +$stmt = "SELECT enable_vtiger_integration,vtiger_server_ip,vtiger_dbname,vtiger_login,vtiger_pass,vtiger_url FROM system_settings;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$ss_conf_ct = mysql_num_rows($rslt); +if ($ss_conf_ct > 0) + { + $row=mysql_fetch_row($rslt); + $enable_vtiger_integration = $row[0]; + $vtiger_server_ip = $row[1]; + $vtiger_dbname = $row[2]; + $vtiger_login = $row[3]; + $vtiger_pass = $row[4]; + $vtiger_url = $row[5]; + } +##### END SYSTEM_SETTINGS VTIGER CONNECTION INFO LOOKUP ##### +############################################################# + +echo "\n"; +echo "\n"; +echo "VICIDIAL Vtiger user synchronization utility\n"; +echo "\n"; + +if ($enable_vtiger_integration < 1) + { + echo "ERROR! - Vtiger integration is disabled in the VICIDIAL system_settings"; + exit; + } + +##### grab the existing user_groups in the vicidial_user_groups table +$stmt="SELECT user_group,group_name FROM vicidial_user_groups;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$VD_groups_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $VD_groups_ct) + { + $row=mysql_fetch_row($rslt); + $UGid[$i] = $row[0]; + $UGname[$i] = $row[1]; + $i++; + } + +##### grab the existing users in the vicidial_users table +$stmt="SELECT user,pass,full_name,user_level,active,user_group FROM vicidial_users;"; +$rslt=mysql_query($stmt, $link); +if ($DB) {echo "$stmt\n";} +$VD_users_ct = mysql_num_rows($rslt); +$i=0; +while ($i < $VD_users_ct) + { + $row=mysql_fetch_row($rslt); + $user[$i] = $row[0]; + $pass[$i] = $row[1]; + $full_name[$i] = $row[2]; while (strlen($full_name[$i])>30) {$full_name[$i] = eregi_replace(".$",'',$full_name[$i]);} + $user_level[$i] = $row[3]; + $active[$i] = $row[4]; + $user_group[$i] = $row[5]; + $i++; + } + + +### connect to your vtiger database +$linkV=mysql_connect("$vtiger_server_ip", "$vtiger_login","$vtiger_pass"); +if (!$linkV) {die("Could not connect: $vtiger_server_ip|$vtiger_dbname|$vtiger_login|$vtiger_pass" . mysql_error());} +echo "Connected successfully\n
    \n"; +mysql_select_db("$vtiger_dbname", $linkV); + + +########################## +### BEGIN Group export +$i=0; +while ($i < $VD_groups_ct) + { + $VTgroup_name = $UGid[$i]; + $VTgroup_description = $UGname[$i]; + + $stmt="SELECT count(*) from vtiger_groups where groupname='$VTgroup_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $group_found_count = $row[0]; + + ### group exists in vtiger, grab groupid, update description + if ($group_found_count > 0) + { + $stmt="SELECT groupid from vtiger_groups where groupname='$VTgroup_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $groupid = $row[0]; + $VTugID[$i] = $groupid; + + $stmtA = "UPDATE vtiger_groups SET description='$VTgroup_description' where groupid='$groupid';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + echo "GROUP- $VTgroup_name: $groupid
    \n"; + echo "
    \n"; + } + + ### group doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW GROUP RECORD IN VTIGER + + # Get next available id from vtiger_groups_seq to use as groupid + $stmt="SELECT id from vtiger_groups_seq;"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + $row=mysql_fetch_row($rslt); + $groupid = ($row[0] + 1); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $VTugID[$i] = $groupid; + + # Increase next available groupid with 1 so next record gets proper id + $stmt="UPDATE vtiger_groups_seq SET id = '$groupid';"; + if ($DB) {echo "$stmt\n";} + $rslt=mysql_query($stmt, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtA = "INSERT INTO vtiger_groups SET groupid='$groupid',groupname='$VTgroup_name',description='$VTgroup_description';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + echo "GROUP- $VTgroup_name: $groupid
    \n"; + echo "
    \n"; + #### END CREATE NEW GROUP RECORD IN VTIGER + } + $i++; + } +### END Group export +########################## + + + +########################## +### BEGIN User export +$i=0; +while ($i < $VD_users_ct) + { + $user_name = $user[$i]; + $VUgroup = $user_group[$i]; + $user_password = $pass[$i]; + $last_name = $full_name[$i]; + $is_admin = 'off'; + $roleid = 'H5'; + $status = 'Active'; + $groupid = '1'; + if ($user_level[$i] >= 7) {$roleid = 'H4';} + if ($user_level[$i] >= 8) {$roleid = 'H3';} + if ($user_level[$i] >= 9) {$roleid = 'H2';} + if ($user_level[$i] >= 9) {$is_admin = 'on';} + if (ereg('N',$active[$i])) {$status = 'Inactive';} + $salt = substr($user_name, 0, 2); + $salt = '$1$' . $salt . '$'; + $encrypted_password = crypt($user_password, $salt); + $i++; + + $j=0; + $all_VICIDIAL_groups_SQL=''; + while ($j < $VD_groups_ct) + { + if ( (eregi("$UGid[$j]",$VUgroup)) and ( (strlen($UGid[$j]))==(strlen($VUgroup)) ) ) + { + $groupid = $VTugID[$j]; + $VTgroup_name = $UGid[$j]; + $VTgroup_description = $UGname[$j]; + } + else + {$all_VICIDIAL_groups_SQL .= "'$VTugID[$j]',";} + $j++; + } + $all_VICIDIAL_groups_SQL = preg_replace("/.$/",'',$all_VICIDIAL_groups_SQL); + + $stmt="SELECT count(*) from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $found_count = $row[0]; + + ### user exists in vtiger, update it + if ($found_count > 0) + { + $stmt="SELECT id from vtiger_users where user_name='$user_name';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $userid = $row[0]; + + $stmt="SELECT count(*) from vtiger_users2group WHERE userid='$userid' and groupid='$groupid';"; + $rslt=mysql_query($stmt, $linkV); + if ($DB) {echo "$stmt\n";} + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $row=mysql_fetch_row($rslt); + $usergroupcount = $row[0]; + + $stmtA = "UPDATE vtiger_users SET user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status' where id='$userid';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtB = "UPDATE vtiger_user2role SET roleid='$roleid' where userid='$userid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + if ($usergroupcount < 1) + { + $stmtC = "DELETE FROM vtiger_users2group WHERE userid='$userid' and groupid IN($all_VICIDIAL_groups_SQL);"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + } + else + {$stmtC='';} + + echo "$user_name: $userid
    \n"; + echo "$stmtA
    \n"; + echo "$stmtB
    \n"; + echo "$stmtC
    \n"; + echo "$stmtD
    \n"; + echo "
    \n"; + + } + + ### user doesn't exist in vtiger, insert it + else + { + #### BEGIN CREATE NEW USER RECORD IN VTIGER + $stmtA = "INSERT INTO vtiger_users SET user_name='$user_name',user_password='$encrypted_password',last_name='$last_name',is_admin='$is_admin',status='$status',date_format='yyyy-mm-dd',first_name='',reports_to_id='',description='',title='',department='',phone_home='',phone_mobile='',phone_work='',phone_other='',phone_fax='',email1='',email2='',yahoo_id='',signature='',address_street='',address_city='',address_state='',address_country='',address_postalcode='',user_preferences='',imagename='';"; + if ($DB) {echo "|$stmtA|\n";} + $rslt=mysql_query($stmtA, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + $userid = mysql_insert_id($linkV); + + $stmtB = "INSERT INTO vtiger_user2role SET userid='$userid',roleid='$roleid';"; + if ($DB) {echo "|$stmtB|\n";} + $rslt=mysql_query($stmtB, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtC = "INSERT INTO vtiger_users2group SET userid='$userid',groupid='$groupid';"; + if ($DB) {echo "|$stmtC|\n";} + $rslt=mysql_query($stmtC, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + $stmtD = "UPDATE vtiger_users_seq SET id='$userid';"; + if ($DB) {echo "|$stmtD|\n";} + $rslt=mysql_query($stmtD, $linkV); + if (!$rslt) {die('Could not execute: ' . mysql_error());} + + echo "$user_name:
    \n"; + echo "$stmtA
    \n"; + echo "$stmtB
    \n"; + echo "$stmtC
    \n"; + echo "$stmtD
    \n"; + echo "
    \n"; + #### END CREATE NEW USER RECORD IN VTIGER + } + + + } +### END User export +########################## + + + + + +echo "DONE\n"; + +exit; + + diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/web_form_forward.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/web_form_forward.php new file mode 100644 index 00000000..af108fc3 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/web_form_forward.php @@ -0,0 +1,37 @@ + LICENSE: AGPLv2 +# +# You will need to customize this to your needs +# +# CHANGELOG: +# 80626-1121 - First Build +# + +if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];} +if (isset($_GET["source_id"])) {$source_id=$_GET["source_id"];} +if (isset($_GET["user"])) {$user=$_GET["user"];} + +require("dbconnect.php"); + +$stmt="SELECT full_name from vicidial_users where user='$user';"; +$rslt=mysql_query($stmt, $link); +$row=mysql_fetch_row($rslt); +$fullname=$row[0]; + +$URL = "http://astguiclient.sf.net/test.php?userid=$user&phone=$phone_number&Rep=$fullname&source_id=$source_id"; + +header("Location: $URL"); +#exit; +echo"\n"; +echo"Group1\n"; +echo"\n"; +echo"\n"; +echo"\n"; +echo"\n"; +echo"click here to continue. . .\n"; +echo"\n"; + + +?> diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/welcome.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/welcome.php new file mode 100644 index 00000000..4f88dfc2 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/welcome.php @@ -0,0 +1,26 @@ + LICENSE: AGPLv2 +# + +echo "VICIDIAL Welcome\n"; +echo "\n"; +echo "\n"; +echo "




    "; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    Welcome
     
    Agent Login
     
    Timeclock
     
    Administration
     
    \n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; + +?> \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/welcome_demo.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/welcome_demo.php new file mode 100644 index 00000000..b16994c1 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/welcome_demo.php @@ -0,0 +1,76 @@ + LICENSE: GPLv2 +# +header ("Content-type: text/html; charset=utf-8"); + +echo "VICIDIAL Welcome\n"; +echo "\n"; +echo "\n"; +echo "



    "; +echo ""; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    Welcome! Bienvenue!   Willkommen! Benvenuto! Υποδοχή!
     
    \n"; + +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    "; +echo "   English Agent Login"; +echo "
    "; +echo "   Spanish Agent Login"; +echo "
    "; +echo "   German Agent Login"; +echo "
    "; +echo "   Italian Agent Login"; +echo "
    "; +echo "   Greek Agent Login"; +echo "
    "; +echo "   French Agent Login"; +echo "
    "; +echo "   Brazillian Portuguese Agent Login"; +echo "
    "; +echo "   Portuguese Agent Login"; +echo "
    "; +echo "   Polish Agent Login"; +echo "
    "; +echo "   Slovak Agent Login"; +echo "
    \n"; + +echo "
    \n"; + +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    "; +echo "   English Administration"; +echo "
    "; +echo "   Spanish Administration"; +echo "
    "; +echo "   German Administration"; +echo "
    "; +echo "   Italian Administration"; +echo "
    "; +echo "   Greek Administration"; +echo "
    \n"; +echo "
     
    \n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; + +?> \ No newline at end of file diff --git a/agc_2-X/branches/agc_2.0.5/www/vicidial/welcome_languages.php b/agc_2-X/branches/agc_2.0.5/www/vicidial/welcome_languages.php new file mode 100644 index 00000000..3c2e38c2 --- /dev/null +++ b/agc_2-X/branches/agc_2.0.5/www/vicidial/welcome_languages.php @@ -0,0 +1,76 @@ + LICENSE: GPLv2 +# +header ("Content-type: text/html; charset=utf-8"); + +echo "VICIDIAL Welcome\n"; +echo "\n"; +echo "\n"; +echo "



    "; +echo ""; +echo ""; +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    Welcome! Bienvenue!   Willkommen! Benvenuto! Υποδοχή!
     
    \n"; + +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    "; +echo "   English Agent Login"; +echo "
    "; +echo "   Spanish Agent Login"; +echo "
    "; +echo "   German Agent Login"; +echo "
    "; +echo "   Italian Agent Login"; +echo "
    "; +echo "   Greek Agent Login"; +echo "
    "; +echo "   French Agent Login"; +echo "
    "; +echo "   Brazillian Portuguese Agent Login"; +echo "
    "; +echo "   Portuguese Agent Login"; +echo "
    "; +echo "   Polish Agent Login"; +echo "
    "; +echo "   Slovak Agent Login"; +echo "
    \n"; + +echo "
    \n"; + +echo ""; +echo "\n"; +echo "\n"; +echo "\n"; +echo "\n"; +echo "
    "; +echo "   English Administration"; +echo "
    "; +echo "   Spanish Administration"; +echo "
    "; +echo "   German Administration"; +echo "
    "; +echo "   Italian Administration"; +echo "
    "; +echo "   Greek Administration"; +echo "
    \n"; +echo "
     
    \n"; +echo "\n\n"; +echo "\n\n"; +echo "\n\n"; + +?> \ No newline at end of file